[
  {
    "path": ".clang-format",
    "content": "---\nBasedOnStyle: Google\nAllowShortIfStatementsOnASingleLine: false\nAllowShortLoopsOnASingleLine: false\nIndentCaseLabels: false\nAccessModifierOffset: -1\n"
  },
  {
    "path": ".dockerignore",
    "content": "Dockerfile*\nbuild\n.*.swp\ndocker/Dockerfile*\n"
  },
  {
    "path": ".github/actions/build-container/action.yml",
    "content": "name: \"Build/Push container\"\ndescription: \"Build a BCC CI container and push it when not a pull-request.\"\n\ninputs:\n  os_distro:\n    description: \"OS Disctribution. Ex: ubuntu\"\n    required: true\n  os_version:\n    description: \"Version of the OS. Ex: 24.04\"\n    required: true\n  os_nick:\n    description: \"Nickname of the OS. Ex: noble\"\n    required: true\n  llvm_versions:\n    description: \"Space separated list of llvm versions to install in the container. Only supported for Ubuntu containers.\"\n    type: string\n    default: \"15\"\n  registry:\n    description: \"Registry where to push images\"\n    default: ghcr.io\n  password:\n    description: \"Password used to log into the docker registry.\"\n  push:\n    description: \"Whether or not to push the build image\"\n    type: boolean\n    default: false\n\nruns:\n  using: \"composite\"\n  steps:\n    # Login against registry except on PR\n    # https://github.com/docker/login-action\n    - name: Log into registry ${{ inputs.registry }}\n      if: ${{ inputs.push == 'true' && github.event_name != 'pull_request' }}\n\n      uses: docker/login-action@v2\n      with:\n        registry: ${{ inputs.registry }}\n        username: ${{ github.actor }}\n        password: ${{ inputs.password }}\n\n    - name: Build and push\n      uses: docker/build-push-action@v3\n      with:\n        push: ${{ inputs.push == 'true' && github.event_name != 'pull_request' }}\n        build-args: |\n          VERSION=${{ inputs.os_version }}\n          SHORTNAME=${{ inputs.os_nick }}\n          LLVM_VERSION=${{ inputs.llvm_versions }}\n        file: docker/build/Dockerfile.${{ inputs.os_distro }}\n        tags: ${{ inputs.registry }}/${{ github.repository }}:${{ inputs.os_distro }}-${{ inputs.os_version }}\n\n"
  },
  {
    "path": ".github/scripts/check_links.py",
    "content": "#! /usr/bin/env python3\n\nimport re\nimport requests\nimport os\nfrom pathlib import Path\n\nheaders = {\n    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'\n}\ntimeout = 10\n\nlinks_file = Path('LINKS.md')\ncontent = links_file.read_text(encoding='utf-8')\n\nlink_pattern = re.compile(r'\\[([^\\]]+)\\]\\(([^)]+)\\)')\nlinks = link_pattern.findall(content)\n\nbroken_links = []\nfor text, url in links:\n    try:\n        print(f\"Checking: {url}\")\n        response = requests.head(url, headers=headers, timeout=timeout, allow_redirects=True)\n        \n        if response.status_code >= 400:\n            response = requests.get(url, headers=headers, timeout=timeout, allow_redirects=True)\n            \n        if response.status_code >= 400:\n            broken_links.append((text, url, response.status_code))\n    except Exception as e:\n        broken_links.append((text, url, str(e)))\n\nif broken_links:\n    report = \"# Broken Links Report\\n\\n\"\n    report += \"The following links in LINKS.md are broken:\\n\\n\"\n    report += \"| Link Text | URL | Error |\\n\"\n    report += \"|-----------|-----|-------|\\n\"\n    \n    for text, url, error in broken_links:\n        report += f\"| {text} | {url} | {error} |\\n\"\n        \n    with open(os.environ['GITHUB_OUTPUT'], 'a') as f:\n        delimiter = \"_REPORT_DELIMITER_\"\n        f.write(f\"broken_links=true\\n\")\n        f.write(f\"report<<{delimiter}\\n{report}\\n{delimiter}\\n\")\nelse:\n    with open(os.environ['GITHUB_OUTPUT'], 'a') as f:\n        f.write(\"broken_links=false\\n\")"
  },
  {
    "path": ".github/workflows/bcc-test.yml",
    "content": "name: BCC Build and tests\n\non:\n  push:\n    branches:\n      - master\n  pull_request:\n\nenv:\n  # Use docker.io for Docker Hub if empty\n  REGISTRY: ghcr.io\n  # github.repository as <account>/<repo>\n  IMAGE_NAME: ${{ github.repository }}\n\npermissions:\n  contents: read # to fetch code (actions/checkout)\n  pull-requests: read # to read pull requests (dorny/paths-filter)\n\njobs:\n  test_bcc:\n    runs-on: ubuntu-24.04\n    strategy:\n      matrix:\n        os: [{distro: \"ubuntu\", version: \"24.04\", nick: noble}]\n        llvm_version: [15, 17, 19]\n        env:\n        - TYPE: Debug\n          PYTHON_TEST_LOGFILE: critical.log\n          RW_ENGINE_ENABLED: ON\n        - TYPE: Debug\n          PYTHON_TEST_LOGFILE: critical.log\n          RW_ENGINE_ENABLED: OFF\n        - TYPE: Release\n          PYTHON_TEST_LOGFILE: critical.log\n          RW_ENGINE_ENABLED: ON\n    steps:\n    - uses: actions/checkout@v4\n    - uses: dorny/paths-filter@v3\n      id: changes\n      with:\n        filters: |\n          docker:\n            - 'docker/build/**'\n    - name: System info\n      run: |\n        uname -a\n        ip addr\n    - name: Pull docker container\n      if: steps.changes.outputs.docker == 'false'\n      run: |\n        docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }}\n    - name: Build docker container\n      if: steps.changes.outputs.docker == 'true'\n      uses: ./.github/actions/build-container\n      with:\n        os_distro: ${{ matrix.os.distro }}\n        os_version: ${{ matrix.os.version }}\n        os_nick: ${{ matrix.os.nick }}\n        llvm_versions: ${{ matrix.llvm_version }}\n    - name: Tag docker container\n      run: |\n        docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }} bcc-docker\n    - name: Run bcc build - llvm-${{ matrix.llvm_version }}\n      env: ${{ matrix.env }}\n      run: |\n        /bin/bash -c \\\n                   \"docker run --privileged \\\n                   --pid=host \\\n                   -v $(pwd):/bcc \\\n                   -v /sys/kernel/debug:/sys/kernel/debug:rw \\\n                   -v /lib/modules:/lib/modules:ro \\\n                   -v /usr/src:/usr/src:ro \\\n                   -v /usr/include/linux:/usr/include/linux:ro \\\n                   bcc-docker \\\n                   /bin/bash -c \\\n                   'mkdir -p /bcc/build && cd /bcc/build && \\\n                    LLVM_ROOT=/usr/lib/llvm-${{ matrix.llvm_version }} cmake -DCMAKE_BUILD_TYPE=${TYPE} -DENABLE_LLVM_NATIVECODEGEN=${RW_ENGINE_ENABLED} .. && make -j9'\"\n    - name: Run bcc's cc tests\n      env: ${{ matrix.env }}\n      # tests are wrapped with `script` as a hack to get a TTY as github actions doesn't provide this\n      # see https://github.com/actions/runner/issues/241\n      run: |\n        script -e -c /bin/bash -c \\\n        \"docker run -ti \\\n                    --privileged \\\n                    --network=host \\\n                    --pid=host \\\n                    -v $(pwd):/bcc \\\n                    -v /sys/kernel/debug:/sys/kernel/debug:rw \\\n                    -v /lib/modules:/lib/modules:ro \\\n                    -v /usr/src:/usr/src:ro \\\n                    -e CTEST_OUTPUT_ON_FAILURE=1 \\\n                    bcc-docker \\\n                    /bin/bash -c \\\n                    '/bcc/build/tests/wrapper.sh \\\n                        c_test_all sudo /bcc/build/tests/cc/test_libbcc'\"\n\n    - name: Run all tests\n      env: ${{ matrix.env }}\n      run: |\n        script -e -c /bin/bash -c \\\n        \"docker run -ti \\\n                    --privileged \\\n                    --network=host \\\n                    --pid=host \\\n                    -v $(pwd):/bcc \\\n                    -v /sys/kernel/debug:/sys/kernel/debug:rw \\\n                    -v /lib/modules:/lib/modules:ro \\\n                    -v /usr/src:/usr/src:ro \\\n                    -e CTEST_OUTPUT_ON_FAILURE=1 \\\n                    bcc-docker \\\n                    /bin/bash -c \\\n                    'cd /bcc/build && \\\n                     make test PYTHON_TEST_LOGFILE=$PYTHON_TEST_LOGFILE ARGS=-V'\"\n\n    - name: Check critical tests\n      env: ${{ matrix.env }}\n      run: |\n        critical_count=$(grep @mayFail tests/python/critical.log | wc -l)\n        echo \"There were $critical_count critical tests skipped with @mayFail:\"\n        grep -A2 @mayFail tests/python/critical.log\n\n    - uses: actions/upload-artifact@v4\n      with:\n        name: critical-tests-${{ matrix.env['TYPE'] }}-${{ matrix.os.version }}\n        path: tests/python/critical.log\n        overwrite: true\n\n  test_bcc_fedora:\n    runs-on: ubuntu-24.04\n    strategy:\n      matrix:\n        os: [{distro: \"fedora\", version: \"38\", nick: \"f38\"}]\n        env:\n        - TYPE: Debug\n          PYTHON_TEST_LOGFILE: critical.log\n        - TYPE: Release\n          PYTHON_TEST_LOGFILE: critical.log\n    steps:\n    - uses: actions/checkout@v4\n    - uses: dorny/paths-filter@v3\n      id: changes\n      with:\n        filters: |\n          docker:\n            - 'docker/build/**'\n    - name: System info\n      run: |\n        uname -a\n        ip addr\n    - name: Pull docker container\n      if: steps.changes.outputs.docker == 'false'\n      run: |\n        docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }}\n    - name: Build docker container\n      if: steps.changes.outputs.docker == 'true'\n      uses: ./.github/actions/build-container\n      with:\n        os_distro: ${{ matrix.os.distro }}\n        os_version: ${{ matrix.os.version }}\n        os_nick: ${{ matrix.os.nick }}\n    - name: Tag docker container\n      run: |\n        docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }} bcc-docker\n    - name: Run bcc build\n      env: ${{ matrix.env }}\n      run: |\n        /bin/bash -c \\\n                   \"docker run --privileged \\\n                   --pid=host \\\n                   -v $(pwd):/bcc \\\n                   -v /sys/kernel/debug:/sys/kernel/debug:rw \\\n                   -v /lib/modules:/lib/modules:ro \\\n                   -v /usr/src:/usr/src:ro \\\n                   -v /usr/include/linux:/usr/include/linux:ro \\\n                   bcc-docker \\\n                   /bin/bash -c \\\n                   'mkdir -p /bcc/build && cd /bcc/build && \\\n                    cmake -DCMAKE_BUILD_TYPE=${TYPE} -DENABLE_LLVM_SHARED=ON -DRUN_LUA_TESTS=OFF .. && make -j9'\"\n    - name: Run libbpf-tools build\n      env: ${{ matrix.env }}\n      run: |\n        /bin/bash -c \\\n                   \"docker run --privileged \\\n                   --pid=host \\\n                   -v $(pwd):/bcc \\\n                   -v /sys/kernel/debug:/sys/kernel/debug:rw \\\n                   -v /lib/modules:/lib/modules:ro \\\n                   -v /usr/src:/usr/src:ro \\\n                   -v /usr/include/linux:/usr/include/linux:ro \\\n                   bcc-docker \\\n                   /bin/bash -c \\\n                   'cd /bcc/libbpf-tools && make -j9'\"\n\n    - name: Run bcc's cc tests\n      env: ${{ matrix.env }}\n      # tests are wrapped with `script` as a hack to get a TTY as github actions doesn't provide this\n      # see https://github.com/actions/runner/issues/241\n      run: |\n        script -e -c /bin/bash -c \\\n        \"docker run -ti \\\n                    --privileged \\\n                    --network=host \\\n                    --pid=host \\\n                    -v $(pwd):/bcc \\\n                    -v /sys/kernel/debug:/sys/kernel/debug:rw \\\n                    -v /lib/modules:/lib/modules:ro \\\n                    -v /usr/src:/usr/src:ro \\\n                    -e CTEST_OUTPUT_ON_FAILURE=1 \\\n                    bcc-docker \\\n                    /bin/bash -c \\\n                    '/bcc/build/tests/wrapper.sh \\\n                        c_test_all sudo /bcc/build/tests/cc/test_libbcc'\"\n\n    - name: Run all tests\n      env: ${{ matrix.env }}\n      run: |\n        script -e -c /bin/bash -c \\\n        \"docker run -ti \\\n                    --privileged \\\n                    --network=host \\\n                    --pid=host \\\n                    -v $(pwd):/bcc \\\n                    -v /sys/kernel/debug:/sys/kernel/debug:rw \\\n                    -v /lib/modules:/lib/modules:ro \\\n                    -v /usr/src:/usr/src:ro \\\n                    -e CTEST_OUTPUT_ON_FAILURE=1 \\\n                    bcc-docker \\\n                    /bin/bash -c \\\n                    'cd /bcc/build && \\\n                     make test PYTHON_TEST_LOGFILE=$PYTHON_TEST_LOGFILE ARGS=-V'\"\n\n    - name: Check critical tests\n      env: ${{ matrix.env }}\n      run: |\n        critical_count=$(grep @mayFail tests/python/critical.log | wc -l)\n        echo \"There were $critical_count critical tests skipped with @mayFail:\"\n        grep -A2 @mayFail tests/python/critical.log\n\n\n# To debug weird issues, you can add this step to be able to SSH to the test environment\n#     https://github.com/marketplace/actions/debugging-with-tmate\n#    - name: Setup tmate session\n#      uses: mxschmitt/action-tmate@v1\n"
  },
  {
    "path": ".github/workflows/check_links.yml",
    "content": "name: Check Broken Links\n\non:\n  schedule:\n    # First day of month at 00:00 in every 2nd month\n    - cron: '0 0 1 */2 *'\n  workflow_dispatch:     \n\njobs:\n  check-links:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      \n      - name: Set up Python\n        uses: actions/setup-python@v4\n        with:\n          python-version: '3.10'\n          \n      - name: Install dependencies\n        run: |\n          python -m pip install --upgrade pip\n          pip install requests\n          \n      - name: Check links in LINKS.md\n        id: link-check\n        run: python .github/scripts/check_links.py\n        \n      - name: Create issue for broken links\n        if: steps.link-check.outputs.broken_links == 'true'\n        uses: actions/github-script@v6\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          script: |\n            const report = `${{ steps.link-check.outputs.report }}`;\n            await github.rest.issues.create({\n              owner: context.repo.owner,\n              repo: context.repo.repo,\n              title: 'Broken links detected in LINKS.md',\n              body: report,\n              labels: ['documentation']\n            });"
  },
  {
    "path": ".github/workflows/publish-build-containers.yml",
    "content": "name: Publish Build Containers\n\non:\n  # We want to update this image regularly and when updating master\n  schedule:\n    - cron: '00 18 * * *'\n  push:\n    branches:\n      - master\n  pull_request:\n    paths:\n      - 'docker/build/**'\n\npermissions: {}\n\njobs:\n\n  publish_ghcr:\n    permissions:\n      contents: read # to fetch code (actions/checkout)\n      packages: write # to push container\n    name: Publish To GitHub Container Registry\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        os: [\n          {distro: \"ubuntu\", version: \"24.04\", nick: noble, installed_llvm_versions: \"15 17 19\"},\n          {distro: \"fedora\", version: \"38\", nick: \"f38\", installed_llvm_versions: \"this is not used\"},\n        ]\n\n    steps:\n\n    - uses: actions/checkout@v4\n\n    - name: Build and push\n      uses: ./.github/actions/build-container\n      with:\n        os_distro: ${{ matrix.os.distro }}\n        os_version: ${{ matrix.os.version }}\n        os_nick: ${{ matrix.os.nick }}\n        llvm_versions: ${{ matrix.os.installed_llvm_versions }}\n        password: ${{ secrets.GITHUB_TOKEN }}\n        push: true\n"
  },
  {
    "path": ".github/workflows/publish.yml",
    "content": "name: Publish Build Artifacts\n\non:\n  push:\n    branches:\n      - master\n  pull_request:\n\npermissions:\n  contents: read # to fetch code (actions/checkout)\n\njobs:\n  # Optionally publish container images to custom docker repository,\n  # guarded by presence of all required github secrets.\n  # GitHub secrets can be configured as follows:\n  #   - DOCKER_IMAGE = docker.io/myorg/bcc\n  #   - DOCKER_USERNAME = username\n  #   - DOCKER_PASSWORD = password\n  publish_dockerhub:\n    name: Publish To Dockerhub\n    runs-on: ubuntu-latest\n    steps:\n\n    - uses: actions/checkout@v1\n\n    - name: Initialize workflow variables\n      id: vars\n      shell: bash\n      run: |\n          if [ -n \"${DOCKER_IMAGE}\" ] && \\\n             [ -n \"${DOCKER_USERNAME}\" ] && \\\n             [ -n \"${DOCKER_PASSWORD}\" ];then\n            echo \"Custom docker credentials set, will push an image\"\n            echo ::set-output name=DOCKER_PUBLISH::true\n          else\n            echo \"Custom docker credentials not, skipping\"\n          fi\n      env:\n        DOCKER_IMAGE: ${{ secrets.DOCKER_IMAGE }}\n        DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}\n        DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}\n\n    - name: Build container image and publish to registry\n      id: publish-registry\n      uses: elgohr/Publish-Docker-Github-Action@v5\n      if: ${{ steps.vars.outputs.DOCKER_PUBLISH }}\n      with:\n        name: ${{ secrets.DOCKER_IMAGE }}\n        username: ${{ secrets.DOCKER_USERNAME }}\n        password: ${{ secrets.DOCKER_PASSWORD }}\n        workdir: .\n        dockerfile: Dockerfile.ubuntu\n        snapshot: true\n        cache: ${{ github.event_name != 'schedule' }}\n"
  },
  {
    "path": ".gitignore",
    "content": "# Editor's files\n*.swp\n*.swo\n*.pyc\n.idea\n*~\n\n# Build artifacts\n/build/\ncmake-build-debug\ndebian/**/*.log\n*critical.log\nobj-x86_64-linux-gnu\nexamples/cgroupid/cgroupid\n\n# Output from docker builds\nscripts/docker/output/\n/output/\n\n# UAPI header generated for libbpf package-based builds\nsrc/cc/compat/linux/bpf.h\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"src/cc/libbpf\"]\n\tpath = src/cc/libbpf\n\turl = https://github.com/libbpf/libbpf.git\n[submodule \"libbpf-tools/bpftool\"]\n\tpath = libbpf-tools/bpftool\n\turl = https://github.com/libbpf/bpftool\n[submodule \"libbpf-tools/blazesym\"]\n\tpath = libbpf-tools/blazesym\n\turl = https://github.com/libbpf/blazesym\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: python\nmatrix:\n  include:\n    - name: \"Check helpers on Python 2.7\"\n      python: 2.7\n      script: ./scripts/check-helpers.sh\n    - name: \"Python style check on Python 2.7\"\n      python: 2.7\n      script: ./scripts/py-style-check.sh\n    - name: \"flake8 lint on Python 2.7\"      \n      python: 2.7\n      script: flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics\n    - name: \"flake8 lint on Python 3.7\"\n      dist: xenial  # required for Python >= 3.7\n      python: 3.7\n      script: flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics\n  allow_failures:\n    - name: \"Check helpers on Python 2.7\"\nbefore_install: pip install --upgrade pip\ninstall: pip install flake8\n"
  },
  {
    "path": "CMakeLists.txt",
    "content": "# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\ncmake_minimum_required(VERSION 3.12)\ncmake_policy(SET CMP0074 NEW)\n\nproject(bcc)\nif(NOT CMAKE_BUILD_TYPE)\n  set(CMAKE_BUILD_TYPE Release)\nendif()\n\nif(CMAKE_SANITIZE_TYPE)\n  add_compile_options(-fsanitize=${CMAKE_SANITIZE_TYPE})\n  add_link_options(-fsanitize=${CMAKE_SANITIZE_TYPE})\nendif()\n\nif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)\n  set(CMAKE_INSTALL_PREFIX \"/usr\" CACHE PATH \"path to install\" FORCE)\nendif()\n\nenable_testing()\n\nexecute_process(COMMAND git config --global --add safe.directory ${CMAKE_CURRENT_SOURCE_DIR}\n                WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n                RESULT_VARIABLE CONFIG_RESULT)\nif(CONFIG_RESULT AND NOT CONFIG_RESULT EQUAL 0)\n  message(WARNING \"Failed to add root source directory to safe.directory\")\nendif()\n\n# populate submodule blazesym\nif(NOT NO_BLAZESYM)\n  execute_process(COMMAND git config --global --add safe.directory ${CMAKE_CURRENT_SOURCE_DIR}/libbpf-tools/blazesym\n                  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n                  RESULT_VARIABLE CONFIG_RESULT)\n  if(CONFIG_RESULT AND NOT CONFIG_RESULT EQUAL 0)\n    message(WARNING \"Failed to add blazesym source directory to safe.directory\")\n  endif()\n\n  execute_process(COMMAND git submodule update --init --recursive -- libbpf-tools/blazesym\n                  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n                  RESULT_VARIABLE UPDATE_RESULT)\n  if(UPDATE_RESULT AND NOT UPDATE_RESULT EQUAL 0)\n    message(WARNING \"Failed to update submodule blazesym\")\n  endif()\nendif()\n\n# populate submodules (libbpf)\nif(NOT CMAKE_USE_LIBBPF_PACKAGE)\n  execute_process(COMMAND git config --global --add safe.directory ${CMAKE_CURRENT_SOURCE_DIR}/src/cc/libbpf\n                  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n                  RESULT_VARIABLE CONFIG_RESULT)\n  if(CONFIG_RESULT AND NOT CONFIG_RESULT EQUAL 0)\n    message(WARNING \"Failed to add libbpf source directory to safe.directory\")\n  endif()\n  execute_process(COMMAND git config --global --add safe.directory ${CMAKE_CURRENT_SOURCE_DIR}/libbpf-tools/bpftool\n                  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n                  RESULT_VARIABLE CONFIG_RESULT)\n  if(CONFIG_RESULT AND NOT CONFIG_RESULT EQUAL 0)\n    message(WARNING \"Failed to add bpftool source directory to safe.directory\")\n  endif()\n\n  if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/cc/libbpf/src)\n    execute_process(COMMAND git submodule update --init --recursive\n                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n                    RESULT_VARIABLE UPDATE_RESULT)\n    if(UPDATE_RESULT AND NOT UPDATE_RESULT EQUAL 0)\n      message(WARNING \"Failed to update submodule libbpf\")\n    endif()\n  else()\n    execute_process(COMMAND git diff --shortstat ${CMAKE_CURRENT_SOURCE_DIR}/src/cc/libbpf/\n                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n                    OUTPUT_VARIABLE DIFF_STATUS)\n    if(\"${DIFF_STATUS}\" STREQUAL \"\")\n      execute_process(COMMAND git submodule update --init --recursive\n                      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}\n                      RESULT_VARIABLE UPDATE_RESULT)\n      if(UPDATE_RESULT AND NOT UPDATE_RESULT EQUAL 0)\n        message(WARNING \"Failed to update submodule libbpf\")\n      endif()\n    else()\n      message(WARNING \"submodule libbpf dirty, so no sync\")\n    endif()\n  endif()\nendif()\n\n# It's possible to use other kernel headers with\n# KERNEL_INCLUDE_DIRS build variable, like:\n#  $ cd <kernel-dir>\n#  $ make INSTALL_HDR_PATH=/tmp/headers headers_install\n#  $ cd <bcc-dir>\n#  $ cmake -DKERNEL_INCLUDE_DIRS=/tmp/headers/include/ ...\ninclude_directories(${KERNEL_INCLUDE_DIRS})\n\noption(ENABLE_NO_PIE \"Build bcc-lua without PIE\" ON)\n\ninclude(cmake/GetGitRevisionDescription.cmake)\ninclude(cmake/version.cmake)\ninclude(CMakeDependentOption)\ninclude(GNUInstallDirs)\ninclude(CheckCXXCompilerFlag)\ninclude(cmake/FindCompilerFlag.cmake)\n\noption(ENABLE_LLVM_NATIVECODEGEN \"Enable use of llvm nativecodegen module (needed by rw-engine)\" ON)\noption(ENABLE_RTTI \"Enable compiling with real time type information\" OFF)\noption(ENABLE_LLVM_SHARED \"Enable linking LLVM as a shared library\" OFF)\noption(ENABLE_CLANG_JIT \"Enable Loading BPF through Clang Frontend\" ON)\noption(ENABLE_USDT \"Enable User-level Statically Defined Tracing\" ON)\noption(ENABLE_EXAMPLES \"Build examples\" ON)\noption(ENABLE_MAN \"Build man pages\" ON)\noption(ENABLE_TESTS \"Build tests\" ON)\noption(RUN_LUA_TESTS \"Run lua tests\" ON)\noption(ENABLE_LIBDEBUGINFOD \"Use libdebuginfod as a source of debug symbols\" ON)\nCMAKE_DEPENDENT_OPTION(ENABLE_CPP_API \"Enable C++ API\" ON \"ENABLE_USDT\" OFF)\n\nset(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)\n\nif(ENABLE_TESTS)\n  find_package(KernelHeaders)\nendif()\n\nif(CMAKE_USE_LIBBPF_PACKAGE)\n  find_package(LibBpf)\nendif()\n\nif(NOT PYTHON_ONLY)\n  find_package(LLVM REQUIRED CONFIG)\n  message(STATUS \"Found LLVM: ${LLVM_INCLUDE_DIRS} ${LLVM_PACKAGE_VERSION} (Use LLVM_ROOT envronment variable for another version of LLVM)\")\n\n  if(ENABLE_CLANG_JIT)\n    find_package(BISON)\n    find_package(FLEX)\n    find_package(LibElf REQUIRED)\n    find_package(LibDebuginfod)\n    find_package(LibLzma)\n    if(CLANG_DIR)\n      set(CMAKE_FIND_ROOT_PATH \"${CLANG_DIR}\")\n      include_directories(\"${CLANG_DIR}/include\")\n    endif()\n\n    # clang is linked as a library, but the library path searching is\n    # primitively supported, unlike libLLVM\n    set(CLANG_SEARCH \"/opt/local/llvm/lib;${LLVM_LIBRARY_DIRS}\")\n    find_library(libclangAnalysis NAMES clangAnalysis clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangAST NAMES clangAST clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangBasic NAMES clangBasic clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangCodeGen NAMES clangCodeGen clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangDriver NAMES clangDriver clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangEdit NAMES clangEdit clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangFrontend NAMES clangFrontend clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangLex NAMES clangLex clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangParse NAMES clangParse clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangRewrite NAMES clangRewrite clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangSema NAMES clangSema clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangSerialization NAMES clangSerialization clang-cpp HINTS ${CLANG_SEARCH})\n    find_library(libclangASTMatchers NAMES clangASTMatchers clang-cpp HINTS ${CLANG_SEARCH})\n\n    if(${LLVM_PACKAGE_VERSION} VERSION_EQUAL 15 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 15)\n      find_library(libclangSupport NAMES clangSupport clang-cpp HINTS ${CLANG_SEARCH})\n    endif()\n\n    if(${LLVM_PACKAGE_VERSION} VERSION_EQUAL 18 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 18)\n      find_library(libclangAPINotes NAMES clangAPINotes clang-cpp HINTS ${CLANG_SEARCH})\n    endif()\n\n    find_library(libclang-shared libclang-cpp.so HINTS ${CLANG_SEARCH})\n\n    if(libclangBasic STREQUAL \"libclangBasic-NOTFOUND\")\n      message(FATAL_ERROR \"Unable to find clang libraries\")\n    endif()\n\n    FOREACH(DIR ${LLVM_INCLUDE_DIRS})\n      include_directories(\"${DIR}/../tools/clang/include\")\n    ENDFOREACH()\n\n  endif(ENABLE_CLANG_JIT)\n\n  # Set to a string path if system places kernel lib directory in\n  # non-default location.\n  if(NOT DEFINED BCC_KERNEL_MODULES_DIR)\n    set(BCC_KERNEL_MODULES_DIR \"/lib/modules\")\n  endif()\n\n  if(NOT DEFINED BCC_PROG_TAG_DIR)\n    set(BCC_PROG_TAG_DIR \"/var/tmp/bcc\")\n  endif()\n\n  # As reported in issue #735, GCC 6 has some behavioral problems when\n  # dealing with -isystem. Hence, skip the warning optimization\n  # altogether on that compiler.\n  option(USINGISYSTEM \"using -isystem\" ON)\n  execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)\n  if(USINGISYSTEM AND GCC_VERSION VERSION_LESS 6.0)\n    # iterate over all available directories in LLVM_INCLUDE_DIRS to\n    # generate a correctly tokenized list of parameters\n    foreach(ONE_LLVM_INCLUDE_DIR ${LLVM_INCLUDE_DIRS})\n      set(CXX_ISYSTEM_DIRS \"${CXX_ISYSTEM_DIRS} -isystem ${ONE_LLVM_INCLUDE_DIR}\")\n    endforeach()\n  endif()\n\n  set(CMAKE_CXX_STANDARD_REQUIRED ON)\n  if(${LLVM_PACKAGE_VERSION} VERSION_EQUAL 16 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 16)\n    set(CMAKE_CXX_STANDARD 17)\n  else()\n    set(CMAKE_CXX_STANDARD 14)\n  endif()\n\nendif(NOT PYTHON_ONLY)\n\nset(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -Wall\")\nset(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -Wall ${CXX_ISYSTEM_DIRS}\")\n\nadd_subdirectory(src)\nadd_subdirectory(introspection)\n\nif(ENABLE_CLANG_JIT)\n  if(ENABLE_EXAMPLES)\n    add_subdirectory(examples)\n  endif(ENABLE_EXAMPLES)\n\n  if(ENABLE_MAN)\n    add_subdirectory(man)\n  endif(ENABLE_MAN)\n\n  if(ENABLE_TESTS)\n    add_subdirectory(tests)\n  endif(ENABLE_TESTS)\n\n  add_subdirectory(tools)\nendif(ENABLE_CLANG_JIT)\n\nif(NOT TARGET uninstall)\n  configure_file(\n    \"${CMAKE_CURRENT_SOURCE_DIR}/cmake/CmakeUninstall.cmake.in\"\n    \"${CMAKE_CURRENT_BINARY_DIR}/CmakeUninstall.cmake\"\n    IMMEDIATE @ONLY)\n\n  add_custom_target(uninstall\n    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/CmakeUninstall.cmake)\nendif()\n"
  },
  {
    "path": "CODEOWNERS",
    "content": "# This file should be kept up to date with the list of maintainers responsible\n# for the different subdirectories within BCC. One of these people SHOULD\n# review code that touches the respective areas, and MUST review it if the\n# change is substantial or API-breaking.\n\n# see https://help.github.com/articles/about-codeowners/ for syntax\n\n# Miscellaneous\n* @chenhengqi @ekyooo @yonghong-song @brendangregg\n\n# Documentation\n/docs/ @chenhengqi @ekyooo @yonghong-song @brendangregg\n/man/ @chenhengqi @ekyooo @yonghong-song @brendangregg\n\n# Tools\n/tools/ @chenhengqi @ekyooo @yonghong-song @brendangregg\n\n# Compiler, C API\n/src/cc/ @chenhengqi @ekyooo @yonghong-song @brendangregg\n\n# Python API\n/src/python/ @chenhengqi @ekyooo @yonghong-song @brendangregg\n\n# Tests\n/tests/ @chenhengqi @ekyooo @yonghong-song @brendangregg\n"
  },
  {
    "path": "CONTRIBUTING-SCRIPTS.md",
    "content": "# Contributing bcc/eBPF scripts\n\nIf you want to contribute scripts to bcc, or improve your own bcc programs, great! Please read this first.\n\n_(Written by Brendan Gregg.)_\n\n## Type of script\n\nbcc has 2 types of scripts, in different directories:\n\n- **/examples**: intended as short examples of bcc & eBPF code. You should focus on keeping it short, neat, and documented (code comments). A submission can just be the example code.\n- **/tools**: intended as production safe performance and troubleshooting tools. You should focus on it being useful, tested, low overhead, documented (incl. all caveats), and easy to use. A submission should involve 4 changes: the tool, a man page, an example file, and an addition to README.md. Follow [my lead](https://github.com/brendangregg/bcc/commit/9fa156273b395cfc5505f0fff5d6b7b1396f7daa), and see the checklist below. These are run in mission critical environments as root (tech companies, financial institutions, government agencies), so if spending hours testing isn't for you, please submit your idea as an issue instead, or chat with us on irc.\n\nMore detail for each below.\n\n## Examples\n\nThese are grouped into subdirectories (networking, tracing). Your example can either be a Python program with embedded C (eg, tracing/strlen_count.py), or separate Python and C files (eg, tracing/vfsreadlat.*).\n\nAs said earlier: keep it short, neat, and documented (code comments).\n\n## Tools\n\nA checklist for bcc tool development:\n\n1. **Research the topic landscape**. Learn the existing tools and metrics (incl. from /proc). Determine what real world problems exist and need solving. We have too many tools and metrics as it is, we don't need more \"I guess that's useful\" tools, we need more \"ah-hah! I couldn't do this before!\" tools. Consider asking other developers about your idea. Many of us can be found in IRC, in the #iovisor channel on irc.oftc.net. There's also the mailing list (see the README.md), and github for issues.\n1. **Create a known workload for testing**. This might involving writing a 10 line C program, using a micro-benchmark, or just improvising at the shell. If you don't know how to create a workload, learn! Figuring this out will provide invaluable context and details that you may have otherwise overlooked. Sometimes it's easy, and I'm able to just use dd(1) from /dev/urandom or a disk device to /dev/null. It lets me set the I/O size, count, and provides throughput statistics for cross-checking my tool output. But other times I need a micro-benchmark, or some C.\n1. **Write the tool to solve the problem and no more**. Unix philosophy: do one thing and do it well. netstat doesn't have an option to dump packets, tcpdump-style. They are two different tools.\n1. **Check your tool correctly measures your known workload**. If possible, run a prime number of events (eg, 23) and check that the numbers match. Try other workload variations.\n1. **Use other observability tools to perform a cross-check or sanity check**. Eg, imagine you write a PCI bus tool that shows current throughput is 28 Gbytes/sec. How could you sanity test that? Well, what PCI devices are there? Disks and network cards? Measure their throughput (iostat, nicstat, sar), and check if is in the ballpark of 28 Gbytes/sec (which would include PCI frame overheads). Ideally, your numbers match.\n1. **Measure the overhead of the tool**. If you are running a micro-benchmark, how much slower is it with the tool running. Is more CPU consumed? Try to determine the worst case: run the micro-benchmark so that CPU headroom is exhausted, and then run the bcc tool. Can overhead be lowered?\n1. **Test again, and stress test**. You want to discover and fix all the bad things before others hit them.\n1. **Consider command line options**. Should it have -p for filtering on a PID? -T for timestamps? -i for interval? See other tools for examples, and copy the style: the usage message should list example usage at the end. Remember to keep the tool doing one thing and doing it well. Also, if there's one option that seems to be the common case, perhaps it should just be the first argument and not need a switch (no -X). A special case of this is *stat tools, like iostat/vmstat/etc, where the convention is [interval [count]].\n1. **Concise, intuitive, self-explanatory output**. The default output should meet the common need concisely. Leave much less useful fields and data to be shown with options: -v for verbose, etc. Consider including a startup message that's self-explanatory, eg \"Tracing block I/O. Output every 1 seconds. Ctrl-C to end.\".\n1. **Default output <80 chars wide**. Try hard to keep the output less than 80 characters wide, especially the default output of the tool. That way, the output not only fits on the smallest reasonable terminal, it also fits well in slide decks, blog posts, articles, and printed material, all of which help education and adoption. Publishers of technical books often have templates they require books to conform to: it may not be an option to shrink or narrow the font to fit your output.\n1. **Short tool name**. Follow the style of the other tools, which follow the style of other /usr/bin utilities. They are short and easy to type. No underscores.\n1. **Use pep8 to check Python style**: pep8 --show-source --ignore=E123,E125,E126,E127,E128,E302 filename . Note that it misses some things, like consistent usage, so you'll still need to double check your script.\n1. **Make sure your script is Python3-ready**: Adding `from __future__ import absolute_import, division, print_function, unicode_literals` helps make your script Python3-ready.\n1. **Write an _example.txt file**. Copy the style in tools/biolatency_example.txt: start with an intro sentence, then have examples, and finish with the USAGE message. Explain everything: the first example should explain what we are seeing, even if this seems obvious. For some people it won't be obvious. Also explain why we are running the tool: what problems it's solving. It can take a long time (hours) to come up with good examples, but it's worth it. These will get copied around (eg, presentations, articles).\n1. **Read your example.txt file**. Does this sound too niche or convoluted? Are you spending too much time explaining caveats? These can be hints that perhaps you should fix your tool, or abandon it! Perhaps it better belongs as an /example, and not a tool. I've abandoned many tools at this stage.\n1. **Write a man page**. Either ROFF (.8), markdown (.md), or plain text (.txt): so long as it documents the important sections, particularly columns (fields) and caveats. These go under man/man8. See the other examples. Include a section on overhead, and pull no punches. It's better for end users to know about high overhead beforehand, than to discover it the hard way. Also explain caveats. Don't assume those will be obvious to tool users.\n1. **Read your man page**. For ROFF: nroff -man filename. Like before, this exercise is like saying something out loud. Does it sound too niche or convoluted? Again, hints that you might need to go back and fix things, or abandon it.\n1. **Spell check your documentation**. Use a spell checker like aspell to check your document quality before committing.\n1. **Add an entry to README.md**.\n1. **Add a smoke test** to [test_tools_smoke.py](https://github.com/iovisor/bcc/blob/master/tests/python/test_tools_smoke.py), which serves as a basic check that your tool still works when we make changes to the core library.\n1. If you made it this far, pull request!\n"
  },
  {
    "path": "FAQ.txt",
    "content": "Q: while running 'make test' I'm seeing:\n   'ImportError: No module named pyroute2'\nA: Install pyroute2:\n   git clone https://github.com/svinota/pyroute2.git\n   cd pyroute2; sudo make install\n\nQ: hello_world.py fails with:\n   OSError: libbcc.so: cannot open shared object file: No such file or directory\nA: make sure to 'make install' and add the directory\n   where libbcc.so was installed into your LD_LIBRARY_PATH\n   export LD_LIBRARY_PATH=$(dirname `find /usr -name libbcc.so`):$LD_LIBRARY_PATH\n\nQ: hello_world.py fails with:\n   ImportError: No module named bcc\nA: checkout \"sudo make install\" output to find out bpf package installation site,\n   add it to the PYTHONPATH env variable before running the program.\n   export PYTHONPATH=$(dirname `find /usr/lib -name bcc`):$PYTHONPATH\n\nQ: hello_world.py still fails with:\n   bpf: Operation not permitted\n   Exception: Failed to load BPF program hello\nA: sudo\n\nQ: hello_world.py fails with\n   bpf: Failed to load program: Operation not permitted\n   despite running as root, and strace shows each `bpf()` system call failing with an EPERM.\nA: The so-called Kernel lockdown might be the root cause. Try disabling it with the so-called\n   sysrq mechanism:\n       echo 1 > /proc/sys/kernel/sysrq\n       echo x > /proc/sysrq-trigger\n   Also see https://github.com/iovisor/bcc/issues/2525\n\n   If you have Secure Boot enabled you need to press Alt-PrintScr-x on the keyboard instead:\n   ```\n   This sysrq operation is disabled from userspace.\n   sysrq: Disabling Secure Boot restrictions\n   Lifting lockdown\n   ```\n\nQ: How do I fulfill the Linux kernel version requirement?\nA: You need to obtain a recent version of the Linux source code\n   (please look at the README for the exact version), enable the\n   configuration options listed in the README file, install the image,\n   modules and headers, update your bootloader and reboot into the new\n   kernel.\n\n   If you want to compile your own kernel, you can fetch the sources\n   from kernel.org or through your Linux distribution.\n   To install, you need all of the following:\n      make install\n      make modules_install\n      make headers_install INSTALL_HDR_PATH=/usr/local/\n\nQ: hello_world.py fails with:\n   ImportError: No module named past.builtins\nA: sudo pip install future\n\nQ: Running one of the bcc tools produces an import error:\n   Traceback (most recent call last):\n   File \"./execsnoop\", line 20, in <module>\n     from bcc import BPF\n   ImportError: No module named bcc\nA: Make sure the python bcc bindings package (python2-bcc) is installed.\n"
  },
  {
    "path": "INSTALL.md",
    "content": "# Installing BCC\n\n* [Kernel Configuration](#kernel-configuration)\n* [Packages](#packages)\n  - [Debian](#debian---binary)\n  - [Ubuntu](#ubuntu---binary)\n  - [Fedora](#fedora---binary)\n  - [Arch](#arch---binary)\n  - [Gentoo](#gentoo---portage)\n  - [openSUSE](#opensuse---binary)\n  - [RHEL](#rhel---binary)\n  - [Amazon Linux 1](#amazon-linux-1---binary)\n  - [Amazon Linux 2](#amazon-linux-2---binary)\n  - [Alpine](#alpine---binary)\n  - [WSL](#wslwindows-subsystem-for-linux---binary)\n* [Source](#source)\n  - [libbpf Submodule](#libbpf-submodule)\n  - [Debian](#debian---source)\n  - [Ubuntu](#ubuntu---source)\n  - [Fedora](#fedora---source)\n  - [openSUSE](#opensuse---source)\n  - [Centos](#centos---source)\n  - [Amazon Linux 1](#amazon-linux-1---source)\n  - [Amazon Linux 2](#amazon-linux-2---source)\n  - [Alpine](#alpine---source)\n  - [Arch](#arch---source)\n* [Older Instructions](#older-instructions)\n\n## Kernel Configuration\n\nIn general, to use these features, a Linux kernel version 4.1 or newer is\nrequired. In addition, the kernel should have been compiled with the following\nflags set:\n\n```\nCONFIG_BPF=y\nCONFIG_BPF_SYSCALL=y\n# [optional, for tc filters]\nCONFIG_NET_CLS_BPF=m\n# [optional, for tc actions]\nCONFIG_NET_ACT_BPF=m\nCONFIG_BPF_JIT=y\n# [for Linux kernel versions 4.1 through 4.6]\nCONFIG_HAVE_BPF_JIT=y\n# [for Linux kernel versions 4.7 and later]\nCONFIG_HAVE_EBPF_JIT=y\n# [optional, for kprobes]\nCONFIG_BPF_EVENTS=y\n# Need kernel headers through /sys/kernel/kheaders.tar.xz\nCONFIG_IKHEADERS=y\n```\n\nThere are a few optional kernel flags needed for running bcc networking examples on vanilla kernel:\n\n```\nCONFIG_NET_SCH_SFQ=m\nCONFIG_NET_ACT_POLICE=m\nCONFIG_NET_ACT_GACT=m\nCONFIG_DUMMY=m\nCONFIG_VXLAN=m\n```\n\nKernel compile flags can usually be checked by looking at `/proc/config.gz` or\n`/boot/config-<kernel-version>`.\n\n# Packages\n\n## Debian - Binary\n\n`bcc` and its tools are available in the standard Debian main repository, from the source package [bpfcc](https://packages.debian.org/source/sid/bpfcc) under the names `bpfcc-tools`, `python3-bpfcc`, `libbpfcc` and `libbpfcc-dev`.\n\nTo install:\n\n```bash\necho deb http://cloudfront.debian.net/debian sid main >> /etc/apt/sources.list\nsudo apt-get install -y bpfcc-tools libbpfcc libbpfcc-dev linux-headers-$(uname -r)\n```\n\n## Ubuntu - Binary\n\nVersions of bcc are available in the standard Ubuntu\nUniverse repository, as well in iovisor's PPA. The Ubuntu packages have slightly different names: where iovisor\npackages use `bcc` in the name (e.g. `bcc-tools`), Ubuntu packages use `bpfcc` (e.g.\n`bpfcc-tools`).\n\nCurrently, BCC packages for both the Ubuntu Universe, and the iovisor builds are outdated. This is a known and tracked in:\n- [Universe - Ubuntu Launchpad](https://bugs.launchpad.net/ubuntu/+source/bpfcc/+bug/1848137)\n- [iovisor - BCC GitHub Issues](https://github.com/iovisor/bcc/issues/2678)\nCurrently, [building from source](#ubuntu---source) is currently the only way to get up to date packaged version of bcc.\n\n**Ubuntu Packages**\nSource packages and the binary packages produced from them can be\nfound at [packages.ubuntu.com](https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=bpfcc&searchon=sourcenames).\n\n```bash\nsudo apt-get install bpfcc-tools linux-headers-$(uname -r)\n```\n\nThe tools are installed in `/sbin` (`/usr/sbin` in Ubuntu 18.04) with a `-bpfcc` extension. Try running `sudo opensnoop-bpfcc`.\n\n**_Note_**: the Ubuntu packages have different names but the package contents, in most cases, conflict\nand as such _cannot_ be installed alongside upstream packages. Should one choose to use\nUbuntu's packages instead of the upstream iovisor packages (or vice-versa), the\nconflicting packages will need to be removed.\n\nThe iovisor packages _do_ declare they provide the Ubuntu packages and as such may be\nused to satisfy dependencies. For example, should one attempt to install package `foo`\nwhich declares a dependency on `libbpfcc` while the upstream `libbcc` package is installed,\n`foo` should install without trouble as `libbcc` declares that it provides `libbpfcc`.\nThat said, one should always test such a configuration in case of version incompatibilities.\n\n**iovisor packages (Upstream Stable and Signed Packages)**\n\n```bash\nsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4052245BD4284CDD\necho \"deb https://repo.iovisor.org/apt/$(lsb_release -cs) $(lsb_release -cs) main\" | sudo tee /etc/apt/sources.list.d/iovisor.list\nsudo apt-get update\nsudo apt-get install bcc-tools libbcc-examples linux-headers-$(uname -r)\n```\nTools will be installed under /usr/share/bcc/tools.\n\n**Upstream Nightly Packages**\n\n```bash\necho \"deb [trusted=yes] https://repo.iovisor.org/apt/xenial xenial-nightly main\" | sudo tee /etc/apt/sources.list.d/iovisor.list\nsudo apt-get update\nsudo apt-get install bcc-tools libbcc-examples linux-headers-$(uname -r)\n```\n(replace `xenial` with `artful` or `bionic` as appropriate)\n\n## Fedora - Binary\n\n### Fedora 30 and newer\n\nAs of Fedora 30, bcc binaries are available in the standard repository.\nYou can install them via\n\n```bash\nsudo dnf install bcc\n```\n\n**Note**: if you keep getting `Failed to load program: Operation not permitted` when\ntrying to run the `hello_world.py` example as root then you might need to lift\nthe so-called kernel lockdown (cf.\n[FAQ](https://github.com/iovisor/bcc/blob/c00d10d4552f647491395e326d2e4400f3a0b6c5/FAQ.txt#L24),\n[background article](https://gehrcke.de/2019/09/running-an-ebpf-program-may-require-lifting-the-kernel-lockdown)).\n\n\n### Fedora 29 and older\n\nEnsure that you are running a 4.2+ kernel with `uname -r`. If not, install a 4.2+ kernel from\nhttp://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug, for example:\n\n```bash\nsudo dnf config-manager --add-repo=http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo\nsudo dnf update\n# reboot\n```\n\n**Nightly Packages**\n\nNightly bcc binary packages for Fedora 25, 26, 27, and 28 are hosted at\n`https://repo.iovisor.org/yum/nightly/f{25,26,27}`.\n\nTo install:\n```bash\necho -e '[iovisor]\\nbaseurl=https://repo.iovisor.org/yum/nightly/f27/$basearch\\nenabled=1\\ngpgcheck=0' | sudo tee /etc/yum.repos.d/iovisor.repo\nsudo dnf install bcc-tools kernel-headers kernel-devel\n```\n\n**Stable and Signed Packages**\n\nStable bcc binary packages for Fedora 25, 26, 27, and 28 are hosted at\n`https://repo.iovisor.org/yum/main/f{25,26,27}`.\n\n```bash\necho -e '[iovisor]\\nbaseurl=https://repo.iovisor.org/yum/main/f27/$basearch\\nenabled=1' | sudo tee /etc/yum.repos.d/iovisor.repo\nsudo dnf install bcc-tools kernel-devel-$(uname -r) kernel-headers-$(uname -r)\n```\n\n## Arch - Binary\n\nbcc is available in the standard Arch repos, so it can be installed with the `pacman` command:\n```\n# pacman -S bcc bcc-tools python-bcc\n```\n\n## Gentoo - Portage\n\nFirst of all, upgrade the kernel of your choice to a recent version. For example:\n```\nemerge sys-kernel/gentoo-sources\n```\nThen, configure the kernel enabling the features you need. Please consider the following as a starting point:\n```\nCONFIG_BPF=y\nCONFIG_BPF_SYSCALL=y\nCONFIG_NET_CLS_BPF=m\nCONFIG_NET_ACT_BPF=m\nCONFIG_BPF_JIT=y\nCONFIG_BPF_EVENTS=y\n```\nFinally, you can install bcc with:\n```\nemerge dev-util/bcc\n```\nThe appropriate dependencies (e.g., ```clang```, ```llvm``` with BPF backend) will be pulled automatically.\n\n## openSUSE - Binary\n\nFor openSUSE Leap 42.2 (and later) and Tumbleweed, bcc is already included in the official repo. Just install\nthe packages with zypper.\n\n```bash\nsudo zypper ref\nsudo zypper in bcc-tools bcc-examples\n```\n\n## RHEL - Binary\n\nFor RHEL 7.6, bcc is already included in the official yum repository as bcc-tools. As part of the install, the following dependencies are installed: bcc.x86_64 0:0.6.1-2.el7 ,llvm-private.x86_64 0:6.0.1-2.el7 ,python-bcc.x86_64 0:0.6.1-2.el7,python-netaddr.noarch 0:0.7.5-9.el7\n\n```\nyum install bcc-tools\n```\n\n## Amazon Linux 1 - Binary\nUse case 1. Install BCC for latest kernel available in repo:\n   Tested on Amazon Linux AMI release 2018.03 (kernel 4.14.88-72.73.amzn1.x86_64)\n```\nsudo yum update kernel\nsudo yum install bcc\nsudo reboot\n```\n\nUse case 2. Install BCC for your AMI's default kernel (no reboot required):\n   Tested on Amazon Linux AMI release 2018.03 (kernel 4.14.77-70.59.amzn1.x86_64)\n```\nsudo yum install kernel-headers-$(uname -r | cut -d'.' -f1-5)\nsudo yum install kernel-devel-$(uname -r | cut -d'.' -f1-5)\nsudo yum install bcc\n```\n\n## Amazon Linux 2 - Binary\nUse case 1. Install BCC for your AMI's default kernel (no reboot required):\n   Tested on Amazon Linux AMI release 2021.11 (kernel 5.10.75-79.358.amzn2.x86_64)\n```\nsudo amazon-linux-extras install BCC\n```\n\n## Alpine - Binary\n\nAs of Alpine 3.11, bcc binaries are available in the community repository:\n\n```\nsudo apk add bcc-tools bcc-doc\n```\n\nThe tools are installed in `/usr/share/bcc/tools`.\n\n**Python Compatibility**\n\nThe binary packages include bindings for Python 3 only. The Python-based tools assume that a `python` binary is available at `/usr/bin/python`, but that may not be true on recent versions of Alpine. If you encounter errors like `<tool-name>: not found`, you can try creating a symlink to the Python 3.x binary like so:\n\n```\nsudo ln -s $(which python3) /usr/bin/python\n```\n\n**Containers**\n\nAlpine Linux is often used as a base system for containers. `bcc` can be used in such an environment by launching the container in privileged mode with kernel modules available through bind mounts:\n\n```\nsudo docker run --rm -it --privileged \\\n  -v /lib/modules:/lib/modules:ro \\\n  -v /sys:/sys:ro \\\n  -v /usr/src:/usr/src:ro \\\n  alpine:3.12\n```\n\n## WSL(Windows Subsystem for Linux) - Binary\n\n### Install dependencies\nThe compiling depends on the headers and lib of linux kernel module which was not found in wsl distribution packages repo. We have to compile the kernel module manually.\n```bash\napt-get install flex bison libssl-dev libelf-dev dwarves bc\n```\n### Install packages\n\nFirst, you will need to checkout the WSL2 Linux kernel git repository:\n```\nKERNEL_VERSION=$(uname -r | cut -d '.' -f 1-2 | xargs -I {} echo \"{}.y\")\ngit clone --depth 1 https://github.com/microsoft/WSL2-Linux-Kernel.git -b linux-msft-wsl-$KERNEL_VERSION\ncd WSL2-Linux-Kernel\n```\n\nThen compile and install:\n```\ncp Microsoft/config-wsl .config\nmake oldconfig && make prepare\nmake scripts\nmake modules\nsudo make modules_install\n````\n\nAfter install the module you will need to change the name of the directory to remove the '+' at the end\n\n````\nmv /lib/modules/$KERNEL_VERSION-microsoft-standard-WSL2+/ /lib/modules/$KERNEL_VERSION-microsoft-standard-WSL2\n````\n\nThen you can install bcc tools package according your distribution.\n\nIf you met some problems, try to\n```\nsudo mount -t debugfs debugfs /sys/kernel/debug\n```\n\n# Source\n\n## libbpf Submodule\n\nSince release v0.10.0, bcc starts to leverage libbpf repo (https://github.com/libbpf/libbpf)\nto provide wrapper functions to the kernel for bpf syscalls, uapi headers bpf.h/btf.h etc.\nUnfortunately, the default github release source code does not contain libbpf submodule\nsource code and this will cause build issues.\n\nTo alleviate this problem, starting at release v0.11.0, source code with corresponding\nlibbpf submodule codes will be released as well. See https://github.com/iovisor/bcc/releases.\n\n## Debian - Source\n### sid\n#### Repositories\n\n`/etc/apt/sources.list` should include the `non-free` repository and look something like this:\n\n```\ndeb http://deb.debian.org/debian sid main contrib non-free\ndeb-src http://deb.debian.org/debian sid main contrib non-free\n```\n\n#### Install Build Dependencies\n```\n# Before you begin\napt-get update\n# According to https://packages.debian.org/source/sid/bpfcc,\n# BCC build dependencies:\nsudo apt-get install arping bison clang-format cmake dh-python \\\n  dpkg-dev pkg-kde-tools ethtool flex inetutils-ping iperf \\\n  libbpf-dev libclang-dev libclang-cpp-dev libedit-dev libelf-dev \\\n  libfl-dev libzip-dev linux-libc-dev llvm-dev libluajit-5.1-dev \\\n  luajit python3-netaddr python3-pyroute2 python3-setuptools python3 \\\n  zip libpolly-19-dev\n```\n\n#### Install and compile BCC\n```\ngit clone https://github.com/iovisor/bcc.git\nmkdir bcc/build; cd bcc/build\ncmake ..\nmake\nsudo make install\n```\n\n## Ubuntu - Source\n\nTo build the toolchain from source, one needs:\n* LLVM 3.7.1 or newer, compiled with BPF support (default=on)\n* Clang, built from the same tree as LLVM\n* cmake (>=3.1), gcc (>=4.7), flex, bison\n* LuaJIT, if you want Lua support\n* Optional tools used in some examples: arping, netperf, and iperf\n\n### Install build dependencies\n```\n# For Focal (20.04.1 LTS)\nsudo apt install -y zip bison build-essential cmake flex git libedit-dev \\\n  libllvm12 llvm-12-dev libclang-12-dev python zlib1g-dev libelf-dev libfl-dev python3-setuptools \\\n  liblzma-dev arping netperf iperf\n\n# For Hirsute (21.04) or Impish (21.10)\nsudo apt install -y zip bison build-essential cmake flex git libedit-dev \\\n  libllvm12 llvm-12-dev libclang-12-dev python3 zlib1g-dev libelf-dev libfl-dev python3-setuptools \\\n  liblzma-dev arping netperf iperf\n\n# For Jammy (22.04)\nsudo apt install -y zip bison build-essential cmake flex git libedit-dev \\\n  libllvm14 llvm-14-dev libclang-14-dev python3 zlib1g-dev libelf-dev libfl-dev python3-setuptools \\\n  liblzma-dev libdebuginfod-dev arping netperf iperf\n\n# For Lunar Lobster (23.04)\nsudo apt install -y zip bison build-essential cmake flex git libedit-dev \\\n  libllvm15 llvm-15-dev libclang-15-dev python3 zlib1g-dev libelf-dev libfl-dev python3-setuptools \\\n  liblzma-dev libdebuginfod-dev arping netperf iperf libpolly-15-dev\n\n# For Mantic Minotaur (23.10)\nsudo apt install -y zip bison build-essential cmake flex git libedit-dev \\\n  libllvm16 llvm-16-dev libclang-16-dev python3 zlib1g-dev libelf-dev libfl-dev python3-setuptools \\\n  liblzma-dev libdebuginfod-dev arping netperf iperf libpolly-16-dev\n\n# For Noble Numbat (24.04)\nsudo apt install -y zip bison build-essential cmake flex git libedit-dev \\\n  libllvm18 llvm-18-dev libclang-18-dev python3 zlib1g-dev libelf-dev libfl-dev python3-setuptools \\\n  liblzma-dev libdebuginfod-dev arping netperf iperf libpolly-18-dev\n\n# For other versions\nsudo apt-get -y install zip bison build-essential cmake flex git libedit-dev \\\n  libllvm3.7 llvm-3.7-dev libclang-3.7-dev python zlib1g-dev libelf-dev python3-setuptools \\\n  liblzma-dev arping netperf iperf\n\n# For Lua support\nsudo apt-get -y install luajit luajit-5.1-dev\n```\n\n### Install and compile BCC\n\n```\ngit clone https://github.com/iovisor/bcc.git\nmkdir bcc/build; cd bcc/build\ncmake ..\nmake\nsudo make install\ncmake -DPYTHON_CMD=python3 .. # build python3 binding\npushd src/python/\nmake\nsudo make install\npopd\n```\n\n## CentOS-8.5 - Source\nsuppose you're running with root or add sudo first\n\n### Install build dependencies\n```\ndnf install -y bison cmake ethtool flex git iperf3 libstdc++-devel python3-netaddr python3-pip gcc gcc-c++ make zlib-devel elfutils-libelf-devel\n# dnf install -y luajit luajit-devel ## if use luajit, will report some lua function(which in lua5.3) undefined problem\ndnf install -y clang clang-devel llvm llvm-devel llvm-static ncurses-devel\ndnf -y install netperf\npip3 install pyroute2\nln -s /usr/bin/python3 /usr/bin/python\n```\n### Install and Compile bcc\n```\ngit clone https://github.com/iovisor/bcc.git\n\nmkdir bcc-build\ncd bcc-build/\n\n## here llvm should always link shared library\ncmake ../bcc -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_LLVM_SHARED=1\nmake -j10\nmake install\n\n```\nafter install, you may add bcc directory to your $PATH, which you can add to ~/.bashrc\n```\nbcctools=/usr/share/bcc/tools\nbccexamples=/usr/share/bcc/examples\nexport PATH=$bcctools:$bccexamples:$PATH\n```\n### let path take effect\n```\nsource ~/.bashrc\n```\nthen run\n```\nhello_world.py\n```\nOr\n```\ncd /usr/share/bcc/examples\n./hello_world.py\n./tracing/bitehist.py\n\ncd /usr/share/bcc/tools\n./bitesize\n\n```\n\n## Fedora - Source\n\n### Install build dependencies\n\n```\nsudo dnf install -y bison cmake ethtool flex git iperf libstdc++-static \\\n  python-netaddr python-pip gcc gcc-c++ make zlib-devel \\\n  elfutils-libelf-devel python-cachetools\nsudo dnf install -y luajit luajit-devel  # for Lua support\nsudo dnf install -y \\\n  http://repo.iovisor.org/yum/extra/mageia/cauldron/x86_64/netperf-2.7.0-1.mga6.x86_64.rpm\nsudo pip install pyroute2\n```\n\n### Install binary clang\n\n```\n# FC22\nwget http://llvm.org/releases/3.7.1/clang+llvm-3.7.1-x86_64-fedora22.tar.xz\nsudo tar xf clang+llvm-3.7.1-x86_64-fedora22.tar.xz -C /usr/local --strip 1\n\n# FC23\nwget http://llvm.org/releases/3.9.0/clang+llvm-3.9.0-x86_64-fedora23.tar.xz\nsudo tar xf clang+llvm-3.9.0-x86_64-fedora23.tar.xz -C /usr/local --strip 1\n\n# FC24 and FC25\nsudo dnf install -y clang clang-devel llvm llvm-devel llvm-static ncurses-devel\n```\n\n### Install and compile BCC\n```\ngit clone https://github.com/iovisor/bcc.git\nmkdir bcc/build; cd bcc/build\ncmake ..\nmake\nsudo make install\n```\n\n## openSUSE - Source\n\n### Install build dependencies\n\n```\nsudo zypper in bison cmake flex gcc gcc-c++ git libelf-devel libstdc++-devel \\\n  llvm-devel clang-devel pkg-config python-devel python-setuptools python3-devel \\\n  python3-setuptools\nsudo zypper in luajit-devel       # for lua support in openSUSE Leap 42.2 or later\nsudo zypper in lua51-luajit-devel # for lua support in openSUSE Tumbleweed\n```\n\n### Install and compile BCC\n```\ngit clone https://github.com/iovisor/bcc.git\nmkdir bcc/build; cd bcc/build\ncmake -DLUAJIT_INCLUDE_DIR=`pkg-config --variable=includedir luajit` \\ # for lua support\n      -DENABLE_LLVM_SHARED=1 ..\nmake\nsudo make install\ncmake -DPYTHON_CMD=python3 .. # build python3 binding\npushd src/python/\nmake\nsudo make install\npopd\n```\n\n## Centos - Source\n\nFor Centos 7.6 only\n\n### Install build dependencies\n\n```\nsudo yum install -y epel-release\nsudo yum update -y\nsudo yum groupinstall -y \"Development tools\"\nsudo yum install -y elfutils-libelf-devel cmake3 git bison flex ncurses-devel\nsudo yum install -y luajit luajit-devel  # for Lua support\n```\n\n### Install and compile LLVM\n\nYou could compile LLVM from source code\n\n```\ncurl -LO https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/llvm-10.0.1.src.tar.xz\ncurl -LO https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/clang-10.0.1.src.tar.xz\ntar -xf clang-10.0.1.src.tar.xz\ntar -xf llvm-10.0.1.src.tar.xz\n\nmkdir clang-build\nmkdir llvm-build\n\ncd llvm-build\ncmake3 -G \"Unix Makefiles\" -DLLVM_TARGETS_TO_BUILD=\"BPF;X86\" \\\n  -DCMAKE_BUILD_TYPE=Release ../llvm-10.0.1.src\nmake\nsudo make install\n\ncd ../clang-build\ncmake3 -G \"Unix Makefiles\" -DLLVM_TARGETS_TO_BUILD=\"BPF;X86\" \\\n  -DCMAKE_BUILD_TYPE=Release ../clang-10.0.1.src\nmake\nsudo make install\ncd ..\n```\n\nor install from centos-release-scl\n\n```\nyum install -y centos-release-scl\nyum-config-manager --enable rhel-server-rhscl-7-rpms\nyum install -y devtoolset-7 llvm-toolset-10 llvm-toolset-10-llvm-devel llvm-toolset-10-llvm-static llvm-toolset-10-clang-devel\nsource scl_source enable devtoolset-7 llvm-toolset-10\n```\n\nFor permanently enable scl environment, please check https://access.redhat.com/solutions/527703.\n\n### Install and compile BCC\n\n```\ngit clone https://github.com/iovisor/bcc.git\nmkdir bcc/build; cd bcc/build\ncmake3 ..\nmake\nsudo make install\n```\n\n## Amazon Linux 1 - Source\n\nTested on Amazon Linux AMI release 2018.03 (kernel 4.14.47-56.37.amzn1.x86_64)\n\n### Install packages required for building\n```\n# enable epel to get iperf, luajit, luajit-devel, cmake3 (cmake3 is required to support c++11)\nsudo yum-config-manager --enable epel\n\nsudo yum install -y bison cmake3 ethtool flex git iperf libstdc++-static python-netaddr python-cachetools gcc gcc-c++ make zlib-devel elfutils-libelf-devel\nsudo yum install -y luajit luajit-devel\nsudo yum install -y http://repo.iovisor.org/yum/extra/mageia/cauldron/x86_64/netperf-2.7.0-1.mga6.x86_64.rpm\nsudo pip install pyroute2\nsudo yum install -y ncurses-devel\n```\n\n### Install clang 3.7.1 pre-built binaries\n```\nwget http://releases.llvm.org/3.7.1/clang+llvm-3.7.1-x86_64-fedora22.tar.xz\ntar xf clang*\n(cd clang* && sudo cp -R * /usr/local/)\n```\n\n### Build bcc\n```\ngit clone https://github.com/iovisor/bcc.git\npushd .\nmkdir bcc/build; cd bcc/build\ncmake3 ..\ntime make\nsudo make install\npopd\n```\n\n### Setup required to run the tools\n```\nsudo yum -y install kernel-devel-$(uname -r)\nsudo mount -t debugfs debugfs /sys/kernel/debug\n```\n\n### Test\n```\nsudo /usr/share/bcc/tools/execsnoop\n```\n\n## Amazon Linux 2 - Source\n\n```\n# enable epel to get iperf, luajit, luajit-devel, cmake3 (cmake3 is required to support c++11)\nsudo yum-config-manager --enable epel\n\nsudo yum install -y bison cmake3 ethtool flex git iperf libstdc++-static python-netaddr python-cachetools gcc gcc-c++ make zlib-devel elfutils-libelf-devel\nsudo yum install -y luajit luajit-devel\nsudo yum install -y http://repo.iovisor.org/yum/extra/mageia/cauldron/x86_64/netperf-2.7.0-1.mga6.x86_64.rpm\nsudo pip install pyroute2\nsudo yum install -y ncurses-devel\n```\n\n### Install clang\n```\nyum install -y clang llvm llvm-devel llvm-static clang-devel clang-libs\n```\n\n### Build bcc\n```\ngit clone https://github.com/iovisor/bcc.git\npushd .\nmkdir bcc/build; cd bcc/build\ncmake3 ..\ntime make\nsudo make install\npopd\n```\n\n### Setup required to run the tools\n```\nsudo yum -y install kernel-devel-$(uname -r)\nsudo mount -t debugfs debugfs /sys/kernel/debug\n```\n\n### Test\n```\nsudo /usr/share/bcc/tools/execsnoop\n```\n\n## Alpine - Source\n\n### Install packages required for building\n\n```\nsudo apk add tar git build-base iperf linux-headers llvm10-dev llvm10-static \\\n  clang-dev clang-static cmake python3 flex-dev bison luajit-dev elfutils-dev \\\n  zlib-dev\n```\n\n### Build bcc\n\n```\ngit clone https://github.com/iovisor/bcc.git\nmkdir bcc/build; cd bcc/build\n# python2 can be substituted here, depending on your environment\ncmake -DPYTHON_CMD=python3 ..\nmake && sudo make install\n\n# Optional, but needed if you don't have /usr/bin/python on your system\nln -s $(which python3) /usr/bin/python\n```\n\n### Test\n\n```\nsudo /usr/share/bcc/tools/execsnoop\n```\n\n## Arch - Source\n\n### Install dependencies\n\n```\npacman -S cmake clang llvm flex bison python\n```\n\n### Build bcc\n\n```\ngit clone https://github.com/iovisor/bcc.git\npushd .\nmkdir bcc/build\ncd bcc/build\ncmake -DENABLE_LLVM_SHARED=on .. -DPYTHON_CMD=python3 # for python3 support\nmake -j$(nproc)\nsudo make install\ncd src/python\nmake -j$(nproc)\nsudo make install\npopd\n```\n\n# Older Instructions\n\n## Build LLVM and Clang development libs\n\n```\ngit clone https://github.com/llvm/llvm-project.git\nmkdir -p llvm-project/llvm/build/install\ncd llvm-project/llvm/build\ncmake -G \"Ninja\" -DLLVM_TARGETS_TO_BUILD=\"BPF;X86\" \\\n  -DLLVM_ENABLE_PROJECTS=\"clang\" \\\n  -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install ..\nninja && ninja install\nexport PATH=$PWD/install/bin:$PATH\n```\n"
  },
  {
    "path": "LICENSE.txt",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"{}\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright {yyyy} {name of copyright owner}\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "LINKS.md",
    "content": "- 2019-12-06: [My learnings on Linux BPF container performance engineering](https://medium.com/@aimvec/my-learnings-on-linux-bpf-container-performance-engineering-3eb424b73d56)\n- 2019-11-21: [Debugging network stalls on Kubernetes](https://github.blog/2019-11-21-debugging-network-stalls-on-kubernetes)\n- 2019-11-12: [bcc-tools brings dynamic kernel tracing to Red Hat Enterprise Linux 8.1](https://www.redhat.com/en/blog/bcc-tools-brings-dynamic-kernel-tracing-red-hat-enterprise-linux-81)\n- 2018-05-03: [Linux System Monitoring with eBPF](https://www.heinrichhartmann.com/pdf/Heinrich%20Hartmann%20-%20Linux%20System%20Monitoring%20with%20eBPF.pdf)\n- 2018-02-22: [Some advanced BCC topics](https://lwn.net/Articles/747640)\n- 2018-01-23: [BPFd: Running BCC tools remotely across systems and architectures](https://lwn.net/Articles/744522)\n- 2017-12-22: [An introduction to the BPF Compiler Collection](https://lwn.net/Articles/742082)\n- 2017-09-13: [Performance Analysis Superpowers with Linux BPF](https://www.slideshare.net/brendangregg/ossna-2017-performance-analysis-superpowers-with-linux-bpf)\n- 2017-07-28: [Tracing a packet journey using Linux tracepoints, perf and eBPF](https://blog.yadutaf.fr/2017/07/28/tracing-a-packet-journey-using-linux-tracepoints-perf-ebpf/)\n- 2017-07-13: [Performance Superpowers with Enhanced BPF](https://www.usenix.org/conference/atc17/program/presentation/gregg-superpowers)\n- 2017-06-28: [The BSD Packet Filter](https://speakerdeck.com/tuxology/the-bsd-packet-filter)\n- 2017-03-04: [Linux 4.x Tracing: Performance Analysis with bcc/BPF](https://www.slideshare.net/brendangregg/linux-4x-tracing-performance-analysis-with-bccbpf)\n- 2017-02-05: [gobpf - utilizing eBPF from Go](https://fosdem.org/2017/schedule/event/go_bpf/attachments/slides/1681/export/events/attachments/go_bpf/slides/1681/gobpf_utilizing_eBPF_from_Go_FOSDEM_2017.pdf)\n- 2017-01-31: [Golang bcc/BPF Function Tracing](http://www.brendangregg.com/blog/2017-01-31/golang-bcc-bpf-function-tracing.html)\n- 2017-01-18: [BPF: Tracing and more](https://www.slideshare.net/brendangregg/bpf-tracing-and-more)\n- 2016-12-09: [Linux 4.x Tracing Tools: Using BPF Superpowers](https://www.slideshare.net/brendangregg/linux-4x-tracing-tools-using-bpf-superpowers)\n- 2016-11-30: [Introducing gobpf - Using eBPF from Go](https://kinvolk.io/blog/2016/11/ebpf-gobpf)\n- 2016-11-30: [Linux bcc/BPF tcplife: TCP Lifespans](http://www.brendangregg.com/blog/2016-11-30/linux-bcc-tcplife.html)\n- 2016-10-27: [DTrace for Linux 2016](http://www.brendangregg.com/blog/2016-10-27/dtrace-for-linux-2016.html)\n- 2016-10-21: [Linux 4.9's Efficient BPF-based Profiler](http://www.brendangregg.com/blog/2016-10-21/linux-efficient-profiler.html)\n- 2016-10-15: [Linux bcc tcptop](http://www.brendangregg.com/blog/2016-10-15/linux-bcc-tcptop.html)\n- 2016-10-12: [Linux bcc/BPF Node.js USDT Tracing](http://www.brendangregg.com/blog/2016-10-12/linux-bcc-nodejs-usdt.html)\n- 2016-10-08: [Linux bcc/BPF Run Queue (Scheduler) Latency](http://www.brendangregg.com/blog/2016-10-08/linux-bcc-runqlat.html)\n- 2016-10-06: [Linux bcc ext4 Latency Tracing](http://www.brendangregg.com/blog/2016-10-06/linux-bcc-ext4dist-ext4slower.html)\n- 2016-10-04: [Installing bcc to evaluate BPF and Postgres](https://www.gregburek.com/2016/10/04/installing-bcc-to-evaluate-bpf-and-postgres)\n- 2016-10-04: [Linux MySQL Slow Query Tracing with bcc/BPF](http://www.brendangregg.com/blog/2016-10-04/linux-bcc-mysqld-qslower.html)\n- 2016-10-01: [Linux bcc Tracing Security Capabilities](http://www.brendangregg.com/blog/2016-10-01/linux-bcc-security-capabilities.html)\n- 2016-09-23: [BCC – Dynamic Tracing Tools for Linux Performance Monitoring, Networking and More](http://www.tecmint.com/bcc-best-linux-performance-monitoring-tools/)\n- 2016-08-22: [BoF - What Can BPF Do For You?](https://events.static.linuxfound.org/sites/events/files/slides/iovisor-lc-bof-2016.pdf)\n- 2016-07-03: [Linux debugging tools I love](https://jvns.ca/blog/2016/07/03/debugging-tools-i-love)\n- 2016-06-14: [Ubuntu Xenial bcc/BPF](http://www.brendangregg.com/blog/2016-06-14/ubuntu-xenial-bcc-bpf.html)\n- 2016-05-26: [Linux BPF/bcc for Oracle Tracing](https://db-blog.web.cern.ch/blog/luca-canali/2016-05-linux-bpfbcc-oracle-tracing)\n- 2016-03-30: [How to turn any syscall into an event: Introducing eBPF Kernel probes](https://blog.yadutaf.fr/2016/03/30/turn-any-syscall-into-event-introducing-ebpf-kernel-probes)\n- 2016-03-28: [Linux BPF/bcc Road Ahead, March 2016](http://www.brendangregg.com/blog/2016-03-28/linux-bpf-bcc-road-ahead-2016.html)\n- 2016-03-05: [Linux BPF Superpowers](http://www.brendangregg.com/blog/2016-03-05/linux-bpf-superpowers.html)\n- 2016-03-02: [Linux BPF Superpowers](https://www.slideshare.net/brendangregg/linux-bpf-superpowers)\n- 2016-02-08: [Linux eBPF/bcc uprobes](http://www.brendangregg.com/blog/2016-02-08/linux-ebpf-bcc-uprobes.html)\n- 2016-02-05: [Who is waking the waker? (Linux chain graph prototype)](http://www.brendangregg.com/blog/2016-02-05/ebpf-chaingraph-prototype.html)\n- 2016-02-01: [Linux Wakeup and Off-Wake Profiling](http://www.brendangregg.com/blog/2016-02-01/linux-wakeup-offwake-profiling.html)\n- 2016-01-20: [Linux eBPF Off-CPU Flame Graph](http://www.brendangregg.com/blog/2016-01-20/ebpf-offcpu-flame-graph.html)\n- 2016-01-18: [Linux eBPF Stack Trace Hack](http://www.brendangregg.com/blog/2016-01-18/ebpf-stack-trace-hack.html)\n- 2015-10-31: [tcpconnect and tcpaccept for Linux (bcc)](http://www.brendangregg.com/blog/2015-10-31/tcpconnect-tcpaccept-bcc.html)\n- 2015-09-22: [bcc: Taming Linux 4.3+ Tracing Superpowers](http://www.brendangregg.com/blog/2015-09-22/bcc-linux-4.3-tracing.html)\n"
  },
  {
    "path": "QUICKSTART.md",
    "content": "# Quick Start Guide\n\nA Docker container is provided for user to try out [bcc](https://github.com/iovisor/bcc).\n\nFrom your host shell:\n```bash\ndocker run -it --rm \\\n  --privileged \\\n  -v /lib/modules:/lib/modules:ro \\\n  -v /usr/src:/usr/src:ro \\\n  -v /etc/localtime:/etc/localtime:ro \\\n  --workdir /usr/share/bcc/tools \\\n  zlim/bcc\n```\n\nNow, from the container shell, you can try the various pre-installed bcc tools.\n\nFor examples, please refer to the [tutorial](docs/tutorial.md#1-general-performance).\n\nIf you wish to install bcc on your host, please refer to [INSTALL.md](INSTALL.md).\n"
  },
  {
    "path": "README.md",
    "content": "![BCC Logo](images/logo2.png)\n# BPF Compiler Collection (BCC)\n\nBCC is a toolkit for creating efficient kernel tracing and manipulation\nprograms, and includes several useful tools and examples. It makes use of\nextended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature\nthat was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1\nand above.\n\neBPF was [described by](https://lkml.org/lkml/2015/4/14/232) Ingo Molnár as:\n\n> One of the more interesting features in this cycle is the ability to attach eBPF programs (user-defined, sandboxed bytecode executed by the kernel) to kprobes. This allows user-defined instrumentation on a live kernel image that can never crash, hang or interfere with the kernel negatively.\n\nBCC makes BPF programs easier to write, with kernel instrumentation in C\n(and includes a C wrapper around LLVM), and front-ends in Python and lua.\nIt is suited for many tasks, including performance analysis and network\ntraffic control.\n\n## Screenshot\n\nThis example traces a disk I/O kernel function, and populates an in-kernel\npower-of-2 histogram of the I/O size. For efficiency, only the histogram\nsummary is returned to user-level.\n\n```Shell\n# ./bitehist.py\nTracing... Hit Ctrl-C to end.\n^C\n     kbytes          : count     distribution\n       0 -> 1        : 3        |                                      |\n       2 -> 3        : 0        |                                      |\n       4 -> 7        : 211      |**********                            |\n       8 -> 15       : 0        |                                      |\n      16 -> 31       : 0        |                                      |\n      32 -> 63       : 0        |                                      |\n      64 -> 127      : 1        |                                      |\n     128 -> 255      : 800      |**************************************|\n```\n\nThe above output shows a bimodal distribution, where the largest mode of\n800 I/O was between 128 and 255 Kbytes in size.\n\nSee the source: [bitehist.py](examples/tracing/bitehist.py). What this traces,\nwhat this stores, and how the data is presented, can be entirely customized.\nThis shows only some of many possible capabilities.\n\n## Installing\n\nSee [INSTALL.md](INSTALL.md) for installation steps on your platform.\n\n## FAQ\n\nSee [FAQ.txt](FAQ.txt) for the most common troubleshoot questions.\n\n## Reference guide\n\nSee [docs/reference_guide.md](docs/reference_guide.md) for the reference guide to the bcc and bcc/BPF APIs.\n\n## Contents\n\nSome of these are single files that contain both C and Python, others have a\npair of .c and .py files, and some are directories of files.\n\n### Tracing\n\n#### Examples\n\n- examples/tracing/[bitehist.py](examples/tracing/bitehist.py): Block I/O size histogram. [Examples](examples/tracing/bitehist_example.txt).\n- examples/tracing/[disksnoop.py](examples/tracing/disksnoop.py): Trace block device I/O latency. [Examples](examples/tracing/disksnoop_example.txt).\n- examples/[hello_world.py](examples/hello_world.py): Prints \"Hello, World!\" for new processes.\n- examples/tracing/[mysqld_query.py](examples/tracing/mysqld_query.py): Trace MySQL server queries using USDT probes. [Examples](examples/tracing/mysqld_query_example.txt).\n- examples/tracing/[nodejs_http_server.py](examples/tracing/nodejs_http_server.py): Trace Node.js HTTP server requests using USDT probes. [Examples](examples/tracing/nodejs_http_server_example.txt).\n- examples/tracing/[stacksnoop](examples/tracing/stacksnoop.py): Trace a kernel function and print all kernel stack traces. [Examples](examples/tracing/stacksnoop_example.txt).\n- tools/[statsnoop](tools/statsnoop.py): Trace stat() syscalls. [Examples](tools/statsnoop_example.txt).\n- examples/tracing/[task_switch.py](examples/tracing/task_switch.py): Count task switches with from and to PIDs.\n- examples/tracing/[tcpv4connect.py](examples/tracing/tcpv4connect.py): Trace TCP IPv4 active connections. [Examples](examples/tracing/tcpv4connect_example.txt).\n- examples/tracing/[trace_fields.py](examples/tracing/trace_fields.py): Simple example of printing fields from traced events.\n- examples/tracing/[undump.py](examples/tracing/undump.py): Dump UNIX socket packets. [Examples](examples/tracing/undump_example.txt)\n- examples/tracing/[urandomread.py](examples/tracing/urandomread.py): A kernel tracepoint example, which traces random:urandom_read. [Examples](examples/tracing/urandomread_example.txt).\n- examples/tracing/[vfsreadlat.py](examples/tracing/vfsreadlat.py) examples/tracing/[vfsreadlat.c](examples/tracing/vfsreadlat.c): VFS read latency distribution. [Examples](examples/tracing/vfsreadlat_example.txt).\n- examples/tracing/[kvm_hypercall.py](examples/tracing/kvm_hypercall.py): Conditional static kernel tracepoints for KVM entry, exit and hypercall [Examples](examples/tracing/kvm_hypercall.txt).\n\n#### Tools\n<center><a href=\"images/bcc_tracing_tools_2019.png\"><img src=\"images/bcc_tracing_tools_2019.png\" border=0 width=700></a></center>\n\n\n- tools/[argdist](tools/argdist.py): Display function parameter values as a histogram or frequency count. [Examples](tools/argdist_example.txt).\n- tools/[bashreadline](tools/bashreadline.py): Print entered bash commands system wide. [Examples](tools/bashreadline_example.txt).\n- tools/[bpflist](tools/bpflist.py): Display processes with active BPF programs and maps. [Examples](tools/bpflist_example.txt).\n- tools/[capable](tools/capable.py): Trace security capability checks. [Examples](tools/capable_example.txt).\n- tools/[compactsnoop](tools/compactsnoop.py): Trace compact zone events with PID and latency. [Examples](tools/compactsnoop_example.txt).\n- tools/[criticalstat](tools/criticalstat.py): Trace and report long atomic critical sections in the kernel. [Examples](tools/criticalstat_example.txt)\n- tools/[deadlock](tools/deadlock.py): Detect potential deadlocks on a running process. [Examples](tools/deadlock_example.txt).\n- tools/[drsnoop](tools/drsnoop.py): Trace direct reclaim events with PID and latency. [Examples](tools/drsnoop_example.txt).\n- tools/[funccount](tools/funccount.py): Count kernel function calls. [Examples](tools/funccount_example.txt).\n- tools/[inject](tools/inject.py): Targeted error injection with call chain and predicates [Examples](tools/inject_example.txt).\n- tools/[klockstat](tools/klockstat.py): Traces kernel mutex lock events and display locks statistics. [Examples](tools/klockstat_example.txt).\n- tools/[opensnoop](tools/opensnoop.py): Trace open() syscalls. [Examples](tools/opensnoop_example.txt).\n- tools/[readahead](tools/readahead.py): Show performance of read-ahead cache [Examples](tools/readahead_example.txt).\n- tools/[reset-trace](tools/reset-trace.sh): Reset the state of tracing. Maintenance tool only. [Examples](tools/reset-trace_example.txt).\n- tools/[stackcount](tools/stackcount.py): Count kernel function calls and their stack traces. [Examples](tools/stackcount_example.txt).\n- tools/[syncsnoop](tools/syncsnoop.py): Trace sync() syscall. [Examples](tools/syncsnoop_example.txt).\n- tools/[threadsnoop](tools/threadsnoop.py): List new thread creation. [Examples](tools/threadsnoop_example.txt).\n- tools/[tplist](tools/tplist.py): Display kernel tracepoints or USDT probes and their formats. [Examples](tools/tplist_example.txt).\n- tools/[trace](tools/trace.py): Trace arbitrary functions, with filters. [Examples](tools/trace_example.txt).\n- tools/[ttysnoop](tools/ttysnoop.py): Watch live output from a tty or pts device. [Examples](tools/ttysnoop_example.txt).\n- tools/[ucalls](tools/lib/ucalls.py): Summarize method calls or Linux syscalls in high-level languages. [Examples](tools/lib/ucalls_example.txt).\n- tools/[uflow](tools/lib/uflow.py): Print a method flow graph in high-level languages. [Examples](tools/lib/uflow_example.txt).\n- tools/[ugc](tools/lib/ugc.py): Trace garbage collection events in high-level languages. [Examples](tools/lib/ugc_example.txt).\n- tools/[uobjnew](tools/lib/uobjnew.py): Summarize object allocation events by object type and number of bytes allocated. [Examples](tools/lib/uobjnew_example.txt).\n- tools/[ustat](tools/lib/ustat.py): Collect events such as GCs, thread creations, object allocations, exceptions and more in high-level languages. [Examples](tools/lib/ustat_example.txt).\n- tools/[uthreads](tools/lib/uthreads.py): Trace thread creation events in Java and raw pthreads. [Examples](tools/lib/uthreads_example.txt).\n\n##### Memory and Process Tools\n\n- tools/[execsnoop](tools/execsnoop.py): Trace new processes via exec() syscalls. [Examples](tools/execsnoop_example.txt).\n- tools/[exitsnoop](tools/exitsnoop.py): Trace process termination (exit and fatal signals). [Examples](tools/exitsnoop_example.txt).\n- tools/[killsnoop](tools/killsnoop.py): Trace signals issued by the kill() syscall. [Examples](tools/killsnoop_example.txt).\n- tools/[kvmexit](tools/kvmexit.py): Display the exit_reason and its statistics of each vm exit. [Examples](tools/kvmexit_example.txt).\n- tools/[memleak](tools/memleak.py): Display outstanding memory allocations to find memory leaks. [Examples](tools/memleak_example.txt).\n- tools/[numasched](tools/numasched.py): Track the migration of processes between NUMAs. [Examples](tools/numasched_example.txt).\n- tools/[oomkill](tools/oomkill.py): Trace the out-of-memory (OOM) killer. [Examples](tools/oomkill_example.txt).\n- tools/[pidpersec](tools/pidpersec.py): Count new processes (via fork). [Examples](tools/pidpersec_example.txt).\n- tools/[rdmaucma](tools/rdmaucma.py): Trace RDMA Userspace Connection Manager Access events. [Examples](tools/rdmaucma_example.txt).\n- tools/[shmsnoop](tools/shmsnoop.py): Trace System V shared memory syscalls. [Examples](tools/shmsnoop_example.txt).\n- tools/[slabratetop](tools/slabratetop.py): Kernel SLAB/SLUB memory cache allocation rate top. [Examples](tools/slabratetop_example.txt).\n\n##### Performance and Time Tools\n\n- tools/[dbslower](tools/dbslower.py): Trace MySQL/PostgreSQL queries slower than a threshold. [Examples](tools/dbslower_example.txt).\n- tools/[dbstat](tools/dbstat.py): Summarize MySQL/PostgreSQL query latency as a histogram. [Examples](tools/dbstat_example.txt).\n- tools/[funcinterval](tools/funcinterval.py): Time interval between the same function as a histogram. [Examples](tools/funcinterval_example.txt).\n- tools/[funclatency](tools/funclatency.py): Time functions and show their latency distribution. [Examples](tools/funclatency_example.txt).\n- tools/[funcslower](tools/funcslower.py): Trace slow kernel or user function calls. [Examples](tools/funcslower_example.txt).\n- tools/[hardirqs](tools/hardirqs.py):  Measure hard IRQ (hard interrupt) event time. [Examples](tools/hardirqs_example.txt).\n- tools/[mysqld_qslower](tools/mysqld_qslower.py): Trace MySQL server queries slower than a threshold. [Examples](tools/mysqld_qslower_example.txt).\n- tools/[ppchcalls](tools/ppchcalls.py): Summarize ppc hcall counts and latencies. [Examples](tools/ppchcalls_example.txt).\n- tools/[softirqs](tools/softirqs.py):  Measure soft IRQ (soft interrupt) event time. [Examples](tools/softirqs_example.txt).\n- tools/[softirqslower](tools/softirqslower.py): Trace slow soft IRQ (interrupt). [Examples](tools/softirqslower_example.txt).\n- tools/[syscount](tools/syscount.py): Summarize syscall counts and latencies. [Examples](tools/syscount_example.txt).\n\n##### CPU and Scheduler Tools\n\n- tools/[cpudist](tools/cpudist.py): Summarize on- and off-CPU time per task as a histogram. [Examples](tools/cpudist_example.txt)\n- tools/[cpuunclaimed](tools/cpuunclaimed.py): Sample CPU run queues and calculate unclaimed idle CPU. [Examples](tools/cpuunclaimed_example.txt)\n- tools/[llcstat](tools/llcstat.py): Summarize CPU cache references and misses by process. [Examples](tools/llcstat_example.txt).\n- tools/[offcputime](tools/offcputime.py): Summarize off-CPU time by kernel stack trace. [Examples](tools/offcputime_example.txt).\n- tools/[offwaketime](tools/offwaketime.py): Summarize blocked time by kernel off-CPU stack and waker stack. [Examples](tools/offwaketime_example.txt).\n- tools/[profile](tools/profile.py): Profile CPU usage by sampling stack traces at a timed interval. [Examples](tools/profile_example.txt).\n- tools/[runqlat](tools/runqlat.py): Run queue (scheduler) latency as a histogram. [Examples](tools/runqlat_example.txt).\n- tools/[runqlen](tools/runqlen.py): Run queue length as a histogram. [Examples](tools/runqlen_example.txt).\n- tools/[runqslower](tools/runqslower.py): Trace long process scheduling delays. [Examples](tools/runqslower_example.txt).\n- tools/[wakeuptime](tools/wakeuptime.py): Summarize sleep to wakeup time by waker kernel stack. [Examples](tools/wakeuptime_example.txt).\n- tools/[wqlat](tools/wqlat.py): Summarize work waiting latency on workqueue. [Examples](tools/wqlat_example.txt).\n\n##### Network and Sockets Tools\n\n- tools/[gethostlatency](tools/gethostlatency.py): Show latency for getaddrinfo/gethostbyname[2] calls. [Examples](tools/gethostlatency_example.txt).\n- tools/[bindsnoop](tools/bindsnoop.py): Trace IPv4 and IPv6 bind() system calls (bind()). [Examples](tools/bindsnoop_example.txt).\n- tools/[netqtop](tools/netqtop.py) tools/[netqtop.c](tools/netqtop.c): Trace and display packets distribution on NIC queues. [Examples](tools/netqtop_example.txt).\n- tools/[sofdsnoop](tools/sofdsnoop.py): Trace FDs passed through unix sockets. [Examples](tools/sofdsnoop_example.txt).\n- tools/[solisten](tools/solisten.py): Trace TCP socket listen. [Examples](tools/solisten_example.txt).\n- tools/[sslsniff](tools/sslsniff.py): Sniff OpenSSL written and read data. [Examples](tools/sslsniff_example.txt).\n- tools/[tcpaccept](tools/tcpaccept.py): Trace TCP passive connections (accept()). [Examples](tools/tcpaccept_example.txt).\n- tools/[tcpconnect](tools/tcpconnect.py): Trace TCP active connections (connect()). [Examples](tools/tcpconnect_example.txt).\n- tools/[tcpconnlat](tools/tcpconnlat.py): Trace TCP active connection latency (connect()). [Examples](tools/tcpconnlat_example.txt).\n- tools/[tcpdrop](tools/tcpdrop.py): Trace kernel-based TCP packet drops with details. [Examples](tools/tcpdrop_example.txt).\n- tools/[tcplife](tools/tcplife.py): Trace TCP sessions and summarize lifespan. [Examples](tools/tcplife_example.txt).\n- tools/[tcpretrans](tools/tcpretrans.py): Trace TCP retransmits and TLPs. [Examples](tools/tcpretrans_example.txt).\n- tools/[tcprtt](tools/tcprtt.py): Trace TCP round trip time. [Examples](tools/tcprtt_example.txt).\n- tools/[tcpstates](tools/tcpstates.py): Trace TCP session state changes with durations. [Examples](tools/tcpstates_example.txt).\n- tools/[tcpsubnet](tools/tcpsubnet.py): Summarize and aggregate TCP send by subnet. [Examples](tools/tcpsubnet_example.txt).\n- tools/[tcpsynbl](tools/tcpsynbl.py): Show TCP SYN backlog. [Examples](tools/tcpsynbl_example.txt).\n- tools/[tcptop](tools/tcptop.py): Summarize TCP send/recv throughput by host. Top for TCP. [Examples](tools/tcptop_example.txt).\n- tools/[tcptracer](tools/tcptracer.py): Trace TCP established connections (connect(), accept(), close()). [Examples](tools/tcptracer_example.txt).\n- tools/[tcpcong](tools/tcpcong.py): Trace TCP socket congestion control status duration. [Examples](tools/tcpcong_example.txt).\n- tools/[mptcpify](tools/mptcpify.py): Force applications to use MPTCP instead of TCP. [Examples](tools/mptcpify_example.txt).\n\n##### Storage and Filesystems Tools\n\n- tools/[bitesize](tools/bitesize.py): Show per process I/O size histogram. [Examples](tools/bitesize_example.txt).\n- tools/[cachestat](tools/cachestat.py): Trace page cache hit/miss ratio. [Examples](tools/cachestat_example.txt).\n- tools/[cachetop](tools/cachetop.py): Trace page cache hit/miss ratio by processes. [Examples](tools/cachetop_example.txt).\n- tools/[dcsnoop](tools/dcsnoop.py): Trace directory entry cache (dcache) lookups. [Examples](tools/dcsnoop_example.txt).\n- tools/[dcstat](tools/dcstat.py): Directory entry cache (dcache) stats. [Examples](tools/dcstat_example.txt).\n- tools/[biolatency](tools/biolatency.py): Summarize block device I/O latency as a histogram. [Examples](tools/biolatency_example.txt).\n- tools/[biotop](tools/biotop.py): Top for disks: Summarize block device I/O by process. [Examples](tools/biotop_example.txt).\n- tools/[biopattern](tools/biopattern.py): Identify random/sequential disk access patterns. [Examples](tools/biopattern_example.txt).\n- tools/[biosnoop](tools/biosnoop.py): Trace block device I/O with PID and latency. [Examples](tools/biosnoop_example.txt).\n- tools/[dirtop](tools/dirtop.py): File reads and writes by directory. Top for directories. [Examples](tools/dirtop_example.txt).\n- tools/[filelife](tools/filelife.py): Trace the lifespan of short-lived files. [Examples](tools/filelife_example.txt).\n- tools/[filegone](tools/filegone.py): Trace why file gone (deleted or renamed). [Examples](tools/filegone_example.txt).\n- tools/[fileslower](tools/fileslower.py): Trace slow synchronous file reads and writes. [Examples](tools/fileslower_example.txt).\n- tools/[filetop](tools/filetop.py): File reads and writes by filename and process. Top for files. [Examples](tools/filetop_example.txt).\n- tools/[mdflush](tools/mdflush.py): Trace md flush events. [Examples](tools/mdflush_example.txt).\n- tools/[mountsnoop](tools/mountsnoop.py): Trace mount and umount syscalls system-wide. [Examples](tools/mountsnoop_example.txt).\n- tools/[virtiostat](tools/virtiostat.py): Show VIRTIO device IO statistics. [Examples](tools/virtiostat_example.txt).\n\n###### Filesystems Tools\n\n- tools/[btrfsdist](tools/btrfsdist.py): Summarize btrfs operation latency distribution as a histogram. [Examples](tools/btrfsdist_example.txt).\n- tools/[btrfsslower](tools/btrfsslower.py): Trace slow btrfs operations. [Examples](tools/btrfsslower_example.txt).\n- tools/[ext4dist](tools/ext4dist.py): Summarize ext4 operation latency distribution as a histogram. [Examples](tools/ext4dist_example.txt).\n- tools/[ext4slower](tools/ext4slower.py): Trace slow ext4 operations. [Examples](tools/ext4slower_example.txt).\n- tools/[nfsslower](tools/nfsslower.py): Trace slow NFS operations. [Examples](tools/nfsslower_example.txt).\n- tools/[nfsdist](tools/nfsdist.py): Summarize NFS operation latency distribution as a histogram. [Examples](tools/nfsdist_example.txt).\n- tools/[vfscount](tools/vfscount.py): Count VFS calls. [Examples](tools/vfscount_example.txt).\n- tools/[vfsstat](tools/vfsstat.py): Count some VFS calls, with column output. [Examples](tools/vfsstat_example.txt).\n- tools/[xfsdist](tools/xfsdist.py): Summarize XFS operation latency distribution as a histogram. [Examples](tools/xfsdist_example.txt).\n- tools/[xfsslower](tools/xfsslower.py): Trace slow XFS operations. [Examples](tools/xfsslower_example.txt).\n- tools/[zfsdist](tools/zfsdist.py): Summarize ZFS operation latency distribution as a histogram. [Examples](tools/zfsdist_example.txt).\n- tools/[zfsslower](tools/zfsslower.py): Trace slow ZFS operations. [Examples](tools/zfsslower_example.txt).\n\n### Networking\n\nExamples:\n\n- examples/networking/[distributed_bridge/](examples/networking/distributed_bridge): Distributed bridge example.\n- examples/networking/[http_filter/](examples/networking/http_filter): Simple HTTP filter example.\n- examples/networking/[simple_tc.py](examples/networking/simple_tc.py): Simple traffic control example.\n- examples/networking/[simulation.py](examples/networking/simulation.py): Simulation helper.\n- examples/networking/neighbor_sharing/[tc_neighbor_sharing.py](examples/networking/neighbor_sharing/tc_neighbor_sharing.py) examples/networking/neighbor_sharing/[tc_neighbor_sharing.c](examples/networking/neighbor_sharing/tc_neighbor_sharing.c): Per-IP classification and rate limiting.\n- examples/networking/[tunnel_monitor/](examples/networking/tunnel_monitor): Efficiently monitor traffic flows.\n- examples/networking/vlan_learning/[vlan_learning.py](examples/networking/vlan_learning/vlan_learning.py) examples/[vlan_learning.c](examples/networking/vlan_learning/vlan_learning.c): Demux Ethernet traffic into worker veth+namespaces.\n\n### BPF Introspection\n\nTools that help to introspect BPF programs.\n\n- introspection/[bps.c](introspection/bps.c): List all BPF programs loaded into the kernel. 'ps' for BPF programs. [Examples](introspection/bps_example.txt).\n\n## Motivation\n\nBPF guarantees that the programs loaded into the kernel cannot crash, and\ncannot run forever, but yet BPF is general purpose enough to perform many\narbitrary types of computation. Currently, it is possible to write a program in\nC that will compile into a valid BPF program, yet it is vastly easier to\nwrite a C program that will compile into invalid BPF (C is like that). The user\nwon't know until trying to run the program whether it was valid or not.\n\nWith a BPF-specific frontend, one should be able to write in a language and\nreceive feedback from the compiler on the validity as it pertains to a BPF\nbackend. This toolkit aims to provide a frontend that can only create valid BPF\nprograms while still harnessing its full flexibility.\n\nFurthermore, current integrations with BPF have a kludgy workflow, sometimes\ninvolving compiling directly in a linux kernel source tree. This toolchain aims\nto minimize the time that a developer spends getting BPF compiled, and instead\nfocus on the applications that can be written and the problems that can be\nsolved with BPF.\n\nThe features of this toolkit include:\n* End-to-end BPF workflow in a shared library\n  * A modified C language for BPF backends\n  * Integration with llvm-bpf backend for JIT\n  * Dynamic (un)loading of JITed programs\n  * Support for BPF kernel hooks: socket filters, tc classifiers,\n      tc actions, and kprobes\n* Bindings for Python\n* Examples for socket filters, tc classifiers, and kprobes\n* Self-contained tools for tracing a running system\n\nIn the future, more bindings besides python will likely be supported. Feel free\nto add support for the language of your choice and send a pull request!\n\n## Tutorials\n\n- [docs/tutorial.md](docs/tutorial.md): Using bcc tools to solve performance, troubleshooting, and networking issues.\n- [docs/tutorial_bcc_python_developer.md](docs/tutorial_bcc_python_developer.md): Developing new bcc programs using the Python interface.\n\n### Networking\n\nAt Red Hat Summit 2015, BCC was presented as part of a [session on BPF](http://www.devnation.org/#7784f1f7513e8542e4db519e79ff5eec).\nA multi-host vxlan environment is simulated and a BPF program used to monitor\none of the physical interfaces. The BPF program keeps statistics on the inner\nand outer IP addresses traversing the interface, and the userspace component\nturns those statistics into a graph showing the traffic distribution at\nmultiple granularities. See the code [here](examples/networking/tunnel_monitor).\n\n## Contributing\n\nAlready pumped up to commit some code? Here are some resources to join the\ndiscussions in the [IOVisor](https://www.iovisor.org/) community and see\nwhat you want to work on.\n\n* _Mailing List:_ https://lists.iovisor.org/mailman/listinfo/iovisor-dev\n* _IRC:_ #iovisor at irc.oftc.net\n* _BCC Issue Tracker:_ [Github Issues](https://github.com/iovisor/bcc/issues)\n* _A guide for contributing scripts:_ [CONTRIBUTING-SCRIPTS.md](CONTRIBUTING-SCRIPTS.md)\n\n## External links\n\nLooking for more information on BCC and how it's being used? You can find links to other BCC content on the web in [LINKS.md](LINKS.md).\n"
  },
  {
    "path": "SPECS/Dockerfile.fedora",
    "content": "# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nFROM fedora:rawhide\n\nMAINTAINER Brenden Blanco <bblanco@plumgrid.com>\n\nRUN dnf -y install bison cmake flex gcc gcc-c++ git libxml2-devel make python2-devel rpm-build wget zlib-devel\n\nWORKDIR /root\n\nRUN wget http://llvm.org/releases/3.7.1/{cfe,llvm}-3.7.1.src.tar.xz\n\nRUN tar -xf llvm-3.7.1.src.tar.xz && mkdir llvm-3.7.1.src/tools/clang && tar -xf cfe-3.7.1.src.tar.xz -C llvm-3.7.1.src/tools/clang --strip 1 && mkdir llvm-3.7.1.src/build\nRUN cd llvm-3.7.1.src/build && cmake .. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=\"X86;BPF\" -DCMAKE_INSTALL_PREFIX=/usr\nRUN cd llvm-3.7.1.src/build && make -j8\n\nCOPY . bcc\nWORKDIR /root/bcc\nRUN PATH=/root/llvm-3.7.1.src/build/bin:$PATH ./scripts/build-rpm.sh\n"
  },
  {
    "path": "SPECS/bcc+clang.spec",
    "content": "%define debug_package %{nil}\n%define _unpackaged_files_terminate_build 0\n%define llvmver 7.0.1\n\nName:           bcc\nVersion:        @REVISION@\nRelease:        @GIT_REV_COUNT@\nSummary:        BPF Compiler Collection (BCC)\n\nGroup:          Development/Languages\nLicense:        ASL 2.0\nURL:            https://github.com/iovisor/bcc\nSource0:        https://github.com/iovisor/bcc/archive/v%{version}.tar.gz\nSource1:        http://llvm.org/releases/%{llvmver}/llvm-%{llvmver}.src.tar.xz\nSource2:        http://llvm.org/releases/%{llvmver}/cfe-%{llvmver}.src.tar.xz\n\nBuildArch:      x86_64\nBuildRequires:  bison, cmake >= 2.8.7, flex, gcc, gcc-c++, libxml2-devel, python3-devel, elfutils-libelf-devel-static\n\n%description\nPython bindings for BPF Compiler Collection (BCC). Control a BPF program from\nuserspace.\n\n\n%prep\n%setup -T -b 1 -n llvm-%{llvmver}.src\nmkdir tools/clang\ntar -xvvJf %{_sourcedir}/cfe-%{llvmver}.src.tar.xz -C tools/clang --strip 1\n%setup -D -n bcc\n\n%build\n\nexport LD_LIBRARY_PATH=\"%{_builddir}/usr/lib64\"\nexport PATH=\"%{_builddir}/usr/bin\":$PATH\n\n# build llvm\npushd %{_builddir}/llvm-%{llvmver}.src\nmkdir build\ncd build\ncmake .. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=\"X86;BPF\" -DCMAKE_INSTALL_PREFIX=/usr\nmake %{?_smp_mflags}\nmake install DESTDIR=\"%{_builddir}\"\npopd\n\nmkdir build\npushd build\ncmake .. -DREVISION_LAST=%{version} -DREVISION=%{version} -DCMAKE_INSTALL_PREFIX=/usr\nmake %{?_smp_mflags}\npopd\n\n%install\npushd build\nmake install/strip DESTDIR=%{buildroot}\n\n%changelog\n* Fri Jul 03 2015 Brenden Blanco <bblanco@plumgrid.com> - 0.1.1-2\n- Initial RPM Release\n\n%package -n libbcc\nSummary: Shared Library for BPF Compiler Collection (BCC)\nRequires: elfutils-libelf\n%description -n libbcc\nShared Library for BPF Compiler Collection (BCC)\n\n%package -n libbcc-examples\nSummary: Examples for BPF Compiler Collection (BCC)\nRequires: libbcc\n%description -n libbcc-examples\nExamples for BPF Compiler Collection (BCC)\n\n%package -n python-bcc\nSummary: Python bindings for BPF Compiler Collection (BCC)\nRequires: libbcc\n%description -n python-bcc\nPython bindings for BPF Compiler Collection (BCC)\n\n%package -n bcc-tools\nSummary: Command line tools for BPF Compiler Collection (BCC)\nRequires: python-bcc\n%description -n bcc-tools\nCommand line tools for BPF Compiler Collection (BCC)\n\n%files -n python-bcc\n%{python_sitelib}/bcc*\n\n%files -n libbcc\n/usr/lib64/*\n/usr/include/bcc/*\n\n%files -n libbcc-examples\n/usr/share/bcc/examples/*\n%exclude /usr/share/bcc/examples/*.pyc\n%exclude /usr/share/bcc/examples/*.pyo\n%exclude /usr/share/bcc/examples/*/*.pyc\n%exclude /usr/share/bcc/examples/*/*.pyo\n%exclude /usr/share/bcc/examples/*/*/*.pyc\n%exclude /usr/share/bcc/examples/*/*/*.pyo\n\n%files -n bcc-tools\n/usr/share/bcc/introspection/*\n/usr/share/bcc/tools/*\n/usr/share/bcc/man/*\n"
  },
  {
    "path": "SPECS/bcc.spec",
    "content": "%bcond_with local_clang_static\n#lua jit not available for some architectures\n%ifarch ppc64 aarch64 ppc64le\n%{!?with_lua: %global with_lua 0}\n%else\n%{!?with_lua: %global with_lua 1}\n%endif\n\n# use --with shared to only link against libLLVM.so\n%if 0%{?fedora} >= 28 || 0%{?rhel} > 7\n%bcond_without llvm_shared\n%else\n%bcond_with llvm_shared\n%endif\n\n# Build with debuginfod support for Fedora >= 32\n%if 0%{?fedora} >= 32\n%bcond_without libdebuginfod\n%else\n%bcond_with libdebuginfod\n%endif\n\n%global __python3\n%global python_bcc\n%global python_cmds,python3\n\n%define debug_package %{nil}\n%define _unpackaged_files_terminate_build 0\n\n\nName:           bcc\nVersion:        @REVISION@\nRelease:        @GIT_REV_COUNT@\nSummary:        BPF Compiler Collection (BCC)\n\nGroup:          Development/Languages\nLicense:        ASL 2.0\nURL:            https://github.com/iovisor/bcc\nSource0:        bcc.tar.gz\n\nExclusiveArch: x86_64 ppc64 aarch64 ppc64le\nBuildRequires: bison cmake >= 2.8.7 flex make\nBuildRequires: gcc gcc-c++ elfutils-libelf-devel-static\n%if %{with libdebuginfod}\nBuildRequires: elfutils-debuginfod-client-devel\n%endif\nBuildRequires: python3-devel\n%if %{with_lua}\nBuildRequires: luajit luajit-devel\n%endif\n%if %{without local_clang_static}\nBuildRequires: llvm-devel\nBuildRequires: clang-devel\n%if %{without llvm_shared}\nBuildRequires: llvm-static\n%endif\n%endif\nBuildRequires: pkgconfig ncurses-devel\n\n%description\nPython bindings for BPF Compiler Collection (BCC). Control a BPF program from\nuserspace.\n\n%if %{with_lua}\n%global lua_include `pkg-config --variable=includedir luajit`\n%global lua_libs `pkg-config --variable=libdir luajit`/lib`pkg-config --variable=libname luajit`.so\n%global lua_config -DLUAJIT_INCLUDE_DIR=%{lua_include} -DLUAJIT_LIBRARIES=%{lua_libs}\n%endif\n\n%prep\n%setup -q -n bcc\n\n%build\n\nmkdir build\npushd build\ncmake .. -DREVISION_LAST=%{version} -DREVISION=%{version} \\\n      -DCMAKE_INSTALL_PREFIX=/usr \\\n      %{?lua_config} \\\n      -DPYTHON_CMD=\"%{python_cmds}\" \\\n      %{?with_llvm_shared:-DENABLE_LLVM_SHARED=1}\nmake %{?_smp_mflags}\npopd\n\n%install\npushd build\nmake install/strip DESTDIR=%{buildroot}\n# mangle shebangs\nfind %{buildroot}/usr/share/bcc/{tools,examples} -type f -exec \\\n    sed -i -e '1 s|^#!/usr/bin/python$|#!'%{__python}'|' \\\n           -e '1 s|^#!/usr/bin/env python$|#!'%{__python}'|' {} \\;\n\n%package -n libbcc\nSummary: Shared Library for BPF Compiler Collection (BCC)\nRequires: elfutils-libelf\n%if %{with libdebuginfod}\nRequires: elfutils-debuginfod-client\n%endif\n%description -n libbcc\nShared Library for BPF Compiler Collection (BCC)\n\n%package -n python-bcc\nSummary: Python3 bindings for BPF Compiler Collection (BCC)\nRequires: libbcc = %{version}-%{release}\n%{?python_provide:%python_provide python-bcc}\n%description -n python-bcc\nPython bindings for BPF Compiler Collection (BCC)\n\n%if %{with_lua}\n%package -n bcc-lua\nSummary: Standalone tool to run BCC tracers written in Lua\nRequires: libbcc = %{version}-%{release}\n%description -n bcc-lua\nStandalone tool to run BCC tracers written in Lua\n%endif\n\n%package -n libbcc-examples\nSummary: Examples for BPF Compiler Collection (BCC)\nRequires: %{python_bcc} = %{version}-%{release}\n%if %{with_lua}\nRequires: bcc-lua = %{version}-%{release}\n%endif\n%description -n libbcc-examples\nExamples for BPF Compiler Collection (BCC)\n\n%package -n bcc-tools\nSummary: Command line tools for BPF Compiler Collection (BCC)\nRequires: %{python_bcc} = %{version}-%{release}\n%description -n bcc-tools\nCommand line tools for BPF Compiler Collection (BCC)\n\n%files -n libbcc\n/usr/lib64/*\n/usr/include/bcc/*\n\n%files -n python-bcc\n%{python3_sitelib}/bcc*\n\n%if %{with_lua}\n%files -n bcc-lua\n/usr/bin/bcc-lua\n%endif\n\n%files -n libbcc-examples\n/usr/share/bcc/examples/*\n%exclude /usr/share/bcc/examples/*.pyc\n%exclude /usr/share/bcc/examples/*.pyo\n%exclude /usr/share/bcc/examples/*/*.pyc\n%exclude /usr/share/bcc/examples/*/*.pyo\n%exclude /usr/share/bcc/examples/*/*/*.pyc\n%exclude /usr/share/bcc/examples/*/*/*.pyo\n\n%files -n bcc-tools\n/usr/share/bcc/introspection/*\n/usr/share/bcc/tools/*\n/usr/share/bcc/man/*\n\n%post -n libbcc -p /sbin/ldconfig\n\n%postun -n libbcc -p /sbin/ldconfig\n\n%changelog\n* Wed Jul 18 2018 Brenden Blanco <bblanco@gmail.com> - 0.6.0-1\n- Make python3 the default when possible\n- Add with llvm_shared conditional\n- Add python2/python3 package targets\n\n* Mon Nov 21 2016 William Cohen <wcohen@redhat.com> - 0.2.0-1\n- Revise bcc.spec to address rpmlint issues and build properly in Fedora koji.\n\n* Mon Apr 04 2016 Vicent Marti <vicent@github.com> - 0.1.4-1\n- Add bcc-lua package\n\n* Sun Nov 29 2015 Brenden Blanco <bblanco@plumgrid.com> - 0.1.3-1\n- Add bcc-tools package\n\n* Mon Oct 12 2015 Brenden Blanco <bblanco@plumgrid.com> - 0.1.2-1\n- Add better version numbering into libbcc.so\n\n* Fri Jul 03 2015 Brenden Blanco <bblanco@plumgrid.com> - 0.1.1-2\n- Initial RPM Release\n"
  },
  {
    "path": "cmake/CmakeUninstall.cmake.in",
    "content": "# SPDX-License-Identifier: GPL-2.0-or-later\n# Copyright (C) 2022 Rong Tao\n#\nfunction(UninstallManifest manifest)\nif(NOT EXISTS \"${manifest}\")\n  message(FATAL_ERROR \"Cannot find install manifest: ${manifest}\")\nendif()\n\nfile(READ \"${manifest}\" files)\nstring(REGEX REPLACE \"\\n\" \";\" files \"${files}\")\nforeach(file ${files})\n  message(STATUS \"Uninstalling $ENV{DESTDIR}${file}\")\n  if(IS_SYMLINK \"$ENV{DESTDIR}${file}\" OR EXISTS \"$ENV{DESTDIR}${file}\")\n    execute_process(\n      COMMAND @CMAKE_COMMAND@ -E remove \"$ENV{DESTDIR}${file}\"\n      OUTPUT_VARIABLE rm_out\n      RESULT_VARIABLE rm_retval\n      )\n    if(NOT \"${rm_retval}\" STREQUAL 0)\n      message(FATAL_ERROR \"Problem when removing $ENV{DESTDIR}${file}\")\n    endif()\n  else(IS_SYMLINK \"$ENV{DESTDIR}${file}\" OR EXISTS \"$ENV{DESTDIR}${file}\")\n    message(STATUS \"File $ENV{DESTDIR}${file} does not exist.\")\n  endif()\nendforeach()\nendfunction()\n\nUninstallManifest(\"@CMAKE_BINARY_DIR@/install_manifest.txt\")\nUninstallManifest(\"@CMAKE_BINARY_DIR@/install_manifest_python_bcc.txt\")\n"
  },
  {
    "path": "cmake/FindCompilerFlag.cmake",
    "content": "# Copyright (c) 2017 Facebook, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nif (ENABLE_NO_PIE)\n\nset(_backup_c_flags \"${CMAKE_REQUIRED_FLAGS}\")\nset(CMAKE_REQUIRED_FLAGS \"-no-pie\")\nCHECK_CXX_SOURCE_COMPILES(\"int main() {return 0;}\"\n\t\t\t  HAVE_NO_PIE_FLAG)\nif (HAVE_NO_PIE_FLAG)\n\tset(COMPILER_NOPIE_FLAG \"-no-pie\")\nelse()\n\tset(COMPILER_NOPIE_FLAG \"\")\nendif()\nset(CMAKE_REQUIRED_FLAGS \"${_backup_c_flags}\")\n\nendif(ENABLE_NO_PIE)\n\n# check whether reallocarray availability\n# this is used to satisfy reallocarray usage under src/cc/libbpf/\nCHECK_CXX_SOURCE_COMPILES(\n\"\n#define _GNU_SOURCE\n#include <stdlib.h>\n\nint main(void)\n{\n        return !!reallocarray(NULL, 1, 1);\n}\n\" HAVE_REALLOCARRAY_SUPPORT)\n"
  },
  {
    "path": "cmake/FindKernelHeaders.cmake",
    "content": "# Find the kernel headers for the running kernel release\n# This is used to find a \"linux/version.h\" matching the running kernel.\n\nexecute_process(\n        COMMAND uname -r\n        OUTPUT_VARIABLE KERNEL_RELEASE\n        OUTPUT_STRIP_TRAILING_WHITESPACE\n)\n\n# Find the headers\nfind_path(KERNELHEADERS_DIR\n        include/linux/user.h\n        PATHS\n        # RedHat derivatives\n        /usr/src/kernels/${KERNEL_RELEASE}\n        # Debian derivatives\n        /usr/src/linux-headers-${KERNEL_RELEASE}\n        )\n\nmessage(STATUS \"Kernel release: ${KERNEL_RELEASE}\")\nmessage(STATUS \"Kernel headers: ${KERNELHEADERS_DIR}\")\n\nif (KERNELHEADERS_DIR)\n    set(KERNELHEADERS_INCLUDE_DIRS\n            ${KERNELHEADERS_DIR}/include/generated/uapi\n            CACHE PATH \"Kernel headers include dirs\"\n            )\n    set(KERNELHEADERS_FOUND 1 CACHE STRING \"Set to 1 if kernel headers were found\")\n    include_directories(${KERNELHEADERS_INCLUDE_DIRS})\nelse (KERNELHEADERS_DIR)\n    set(KERNELHEADERS_FOUND 0 CACHE STRING \"Set to 1 if kernel headers were found\")\nendif (KERNELHEADERS_DIR)\n\nmark_as_advanced(KERNELHEADERS_FOUND)\n\n"
  },
  {
    "path": "cmake/FindLibBpf.cmake",
    "content": "# - Try to find libbpf\n# Once done this will define\n#\n#  LIBBPF_FOUND            - system has libbpf\n#  LIBBPF_INCLUDE_DIR      - the libbpf include directory\n#  LIBBPF_STATIC_LIBRARIES - the libbpf source directory\n#  LIBBPF_LIBRARIES        - link these to use libbpf\n\n#if (LIBBPF_LIBRARIES AND LIBBPF_INCLUDE_DIR AND LIBBPF_STATIC_LIBRARIES)\n#  set (LibBpf_FIND_QUIETLY TRUE)\n#endif (LIBBPF_LIBRARIES AND LIBBPF_INCLUDE_DIR AND LIBBPF_STATIC_LIBRARIES)\n\n# You'll need following packages to be installed (Fedora names):\n# libbpf\n# libbpf-static\n# libbpf-devel\n\nfind_path (LIBBPF_INCLUDE_DIR\n  NAMES\n    bpf/bpf.h\n    bpf/btf.h\n    bpf/libbpf.h\n\n  PATHS\n    /usr/include\n    /usr/local/include\n    /opt/local/include\n    /sw/include\n    ENV CPATH)\n\nfind_library (LIBBPF_LIBRARIES\n  NAMES\n    bpf\n  PATHS\n    /usr/lib\n    /usr/local/lib\n    /opt/local/lib\n    /sw/lib\n    ENV LIBRARY_PATH\n    ENV LD_LIBRARY_PATH)\nif(LIBBPF_LIBRARIES)\nlist(APPEND PATHS LIBBPF_LIBRARIES)\nendif()\n\nfind_library (LIBBPF_STATIC_LIBRARIES\n  NAMES\n    libbpf.a\n  PATHS\n    /usr/lib\n    /usr/local/lib\n    /opt/local/lib\n    /sw/lib\n    ENV LIBRARY_PATH\n    ENV LD_LIBRARY_PATH)\nif(LIBBPF_STATIC_LIBRARIES)\nlist(APPEND PATHS LIBBPF_STATIC_LIBRARIES)\nendif()\n\nif(LIBBPF_STATIC_LIBRARIES OR LIBBPF_LIBRARIES)\ninclude (FindPackageHandleStandardArgs)\n\n# handle the QUIETLY and REQUIRED arguments and set LIBBPF_FOUND to TRUE if all listed variables are TRUE\nFIND_PACKAGE_HANDLE_STANDARD_ARGS(LibBpf \"Please install the libbpf development package\"\n  ${PATHS}\n  LIBBPF_INCLUDE_DIR)\n\nmark_as_advanced(LIBBPF_INCLUDE_DIR ${PATHS})\nelse()\nmessage(Please install the libbpf development package)\nendif()\n"
  },
  {
    "path": "cmake/FindLibDebuginfod.cmake",
    "content": "# - Try to find libdebuginfod\n# Once done this will define\n#\n#  LIBDEBUGINFOD_FOUND - system has libdebuginfod\n#  LIBDEBUGINFOD_INCLUDE_DIRS - the libdebuginfod include directory\n#  LIBDEBUGINFOD_LIBRARIES - Link these to use libdebuginfod\n#  LIBDEBUGINFOD_DEFINITIONS - Compiler switches required for using libdebuginfod\n\n\nif (LIBDEBUGINFOD_LIBRARIES AND LIBDEBUGINFOD_INCLUDE_DIRS)\n    set (LibDebuginfod_FIND_QUIETLY TRUE)\nendif (LIBDEBUGINFOD_LIBRARIES AND LIBDEBUGINFOD_INCLUDE_DIRS)\n\nfind_path (LIBDEBUGINFOD_INCLUDE_DIRS\n  NAMES\n    elfutils/debuginfod.h\n  PATHS\n    /usr/include\n    /usr/include/libelf\n    /usr/include/elfutils\n    /usr/local/include\n    /usr/local/include/libelf\n    /usr/local/include/elfutils\n    /opt/local/include\n    /opt/local/include/libelf\n    /opt/local/include/elfutils\n    /sw/include\n    /sw/include/libelf\n    /sw/include/elfutils\n    ENV CPATH)\n\nfind_library (LIBDEBUGINFOD_LIBRARIES\n  NAMES\n    debuginfod\n  PATHS\n    /usr/lib\n    /usr/local/lib\n    /opt/local/lib\n    /sw/lib\n    ENV LIBRARY_PATH\n    ENV LD_LIBRARY_PATH)\n\ninclude (FindPackageHandleStandardArgs)\n\n\n# handle the QUIETLY and REQUIRED arguments and set LIBDEBUGINFOD_FOUND to TRUE if all listed variables are TRUE\nFIND_PACKAGE_HANDLE_STANDARD_ARGS(LibDebuginfod DEFAULT_MSG\n  LIBDEBUGINFOD_LIBRARIES\n  LIBDEBUGINFOD_INCLUDE_DIRS)\n\nif (LIBDEBUGINFOD_FOUND AND ENABLE_LIBDEBUGINFOD)\n  add_definitions(-DHAVE_LIBDEBUGINFOD)\nendif (LIBDEBUGINFOD_FOUND AND ENABLE_LIBDEBUGINFOD)\n\nmark_as_advanced(LIBDEBUGINFOD_INCLUDE_DIRS LIBDEBUGINFOD_LIBRARIES)\n"
  },
  {
    "path": "cmake/FindLibElf.cmake",
    "content": "# - Try to find libelf\n# Once done this will define\n#\n#  LIBELF_FOUND - system has libelf\n#  LIBELF_INCLUDE_DIRS - the libelf include directory\n#  LIBELF_LIBRARIES - Link these to use libelf\n#  LIBELF_DEFINITIONS - Compiler switches required for using libelf\n#\n#  Copyright (c) 2008 Bernhard Walle <bernhard.walle@gmx.de>\n#\n#  Redistribution and use is allowed according to the terms of the New\n#  BSD license.\n#  For details see the accompanying COPYING-CMAKE-SCRIPTS file.\n#\n\n\nif (LIBELF_LIBRARIES AND LIBELF_INCLUDE_DIRS)\n  set (LibElf_FIND_QUIETLY TRUE)\nendif (LIBELF_LIBRARIES AND LIBELF_INCLUDE_DIRS)\n\nfind_path (LIBELF_INCLUDE_DIRS\n  NAMES\n    libelf.h\n  PATHS\n    /usr/include\n    /usr/include/libelf\n    /usr/local/include\n    /usr/local/include/libelf\n    /opt/local/include\n    /opt/local/include/libelf\n    /sw/include\n    /sw/include/libelf\n    ENV CPATH)\n\nfind_library (LIBELF_LIBRARIES\n  NAMES\n    elf\n  PATHS\n    /usr/lib\n    /usr/local/lib\n    /opt/local/lib\n    /sw/lib\n    ENV LIBRARY_PATH\n    ENV LD_LIBRARY_PATH)\n\ninclude (FindPackageHandleStandardArgs)\n\n\n# handle the QUIETLY and REQUIRED arguments and set LIBELF_FOUND to TRUE if all listed variables are TRUE\nFIND_PACKAGE_HANDLE_STANDARD_ARGS(LibElf DEFAULT_MSG\n  LIBELF_LIBRARIES\n  LIBELF_INCLUDE_DIRS)\n\nSET(CMAKE_REQUIRED_LIBRARIES elf)\nINCLUDE(CheckCXXSourceCompiles)\nCHECK_CXX_SOURCE_COMPILES(\"#include <libelf.h>\nint main() {\n  Elf *e = (Elf*)0;\n  size_t sz;\n  elf_getshdrstrndx(e, &sz);\n  return 0;\n}\" ELF_GETSHDRSTRNDX)\n\nmark_as_advanced(LIBELF_INCLUDE_DIRS LIBELF_LIBRARIES ELF_GETSHDRSTRNDX)\n"
  },
  {
    "path": "cmake/FindLibLzma.cmake",
    "content": "# - Try to find liblzma\n# Once done this will define\n#\n#  LIBLZMA_FOUND - system has liblzma\n#  LIBLZMA_INCLUDE_DIRS - the liblzma include directory\n#  LIBLZMA_LIBRARIES - Link these to use liblzma\n\nif (LIBLZMA_LIBRARIES AND LIBLZMA_INCLUDE_DIRS)\n    set (LibLzma_FIND_QUIETLY TRUE)\nendif (LIBLZMA_LIBRARIES AND LIBLZMA_INCLUDE_DIRS)\n\nfind_path (LIBLZMA_INCLUDE_DIRS\n  NAMES\n    lzma.h\n  PATHS\n    /usr/include\n    /usr/local/include\n    /opt/local/include\n    /sw/include\n    ENV CPATH)\n\nfind_library (LIBLZMA_LIBRARIES\n  NAMES\n    lzma\n  PATHS\n    /usr/lib\n    /usr/local/lib\n    /opt/local/lib\n    /sw/lib\n    ENV LIBRARY_PATH\n    ENV LD_LIBRARY_PATH)\n\ninclude (FindPackageHandleStandardArgs)\n\n\n# handle the QUIETLY and REQUIRED arguments and set LIBLZMA_FOUND to TRUE if all listed variables are TRUE\nFIND_PACKAGE_HANDLE_STANDARD_ARGS(LibLzma DEFAULT_MSG\n  LIBLZMA_LIBRARIES\n  LIBLZMA_INCLUDE_DIRS)\n\nif (LIBLZMA_FOUND)\n  add_definitions(-DHAVE_LIBLZMA)\nendif (LIBLZMA_FOUND)\n\nmark_as_advanced(LIBLZMA_INCLUDE_DIRS LIBLZMA_LIBRARIES)\n"
  },
  {
    "path": "cmake/FindLuaJIT.cmake",
    "content": "# Locate Lua library\n# This module defines\n#  LUAJIT_FOUND, if false, do not try to link to Lua\n#  LUAJIT_LIBRARIES\n#  LUAJIT_INCLUDE_DIR, where to find lua.h\n#\n# Note that the expected include convention is\n#  #include \"lua.h\"\n# and not\n#  #include <lua/lua.h>\n# This is because, the lua location is not standardized and may exist\n# in locations other than lua/\n\n#=============================================================================\n# Copyright 2007-2009 Kitware, Inc.\n#\n# Distributed under the OSI-approved BSD License (the \"License\");\n# see accompanying file Copyright.txt for details.\n#\n# This software is distributed WITHOUT ANY WARRANTY; without even the\n# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See the License for more information.\n#=============================================================================\n# (To distributed this file outside of CMake, substitute the full\n#  License text for the above reference.)\n#\n# ################\n# 2010 - modified for cronkite to find luajit instead of lua, as it was before.\n#\n\nFIND_PATH(LUAJIT_INCLUDE_DIR lua.h\n  HINTS\n  $ENV{LUAJIT_DIR}\n  PATH_SUFFIXES luajit-2.0 luajit2.0 luajit luajit-2.1\n  PATHS\n  ~/Library/Frameworks\n  /Library/Frameworks\n  /usr/local\n  /usr\n  /sw # Fink\n  /opt/local # DarwinPorts\n  /opt/csw # Blastwave\n  /opt\n)\n\nFIND_LIBRARY(LUAJIT_LIBRARY\n  NAMES libluajit-51.a libluajit-5.1.a libluajit.a libluajit-5.1.so\n  HINTS\n  $ENV{LUAJIT_DIR}\n  PATH_SUFFIXES lib64 lib\n  PATHS\n  ~/Library/Frameworks\n  /Library/Frameworks\n  /usr/local\n  /usr\n  /sw\n  /opt/local\n  /opt/csw\n  /opt\n)\n\nIF(LUAJIT_LIBRARY)\n  IF(UNIX AND NOT APPLE)\n    FIND_LIBRARY(LUAJIT_MATH_LIBRARY m)\n\tFIND_LIBRARY(LUAJIT_DL_LIBRARY dl)\n\tSET( LUAJIT_LIBRARIES \"${LUAJIT_LIBRARY};${LUAJIT_DL_LIBRARY};${LUAJIT_MATH_LIBRARY}\" CACHE STRING \"Lua Libraries\")\n  ELSE(UNIX AND NOT APPLE)\n    SET( LUAJIT_LIBRARIES \"${LUAJIT_LIBRARY}\" CACHE STRING \"Lua Libraries\")\n  ENDIF(UNIX AND NOT APPLE)\nENDIF(LUAJIT_LIBRARY)\n\nINCLUDE(FindPackageHandleStandardArgs)\n# handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE if\n# all listed variables are TRUE\nFIND_PACKAGE_HANDLE_STANDARD_ARGS(LuaJIT  DEFAULT_MSG  LUAJIT_LIBRARIES LUAJIT_INCLUDE_DIR)\n\nMARK_AS_ADVANCED(LUAJIT_INCLUDE_DIR LUAJIT_LIBRARIES LUAJIT_LIBRARY LUAJIT_MATH_LIBRARY)\n"
  },
  {
    "path": "cmake/GetGitRevisionDescription.cmake",
    "content": "# - Returns a version string from Git\n#\n# These functions force a re-configure on each git commit so that you can\n# trust the values of the variables in your build system.\n#\n#  get_git_head_revision(<refspecvar> <hashvar> [<additional arguments to git describe> ...])\n#\n# Returns the refspec and sha hash of the current head revision\n#\n#  git_describe(<var> [<additional arguments to git describe> ...])\n#\n# Returns the results of git describe on the source tree, and adjusting\n# the output so that it tests false if an error occurs.\n#\n#  git_get_exact_tag(<var> [<additional arguments to git describe> ...])\n#\n# Returns the results of git describe --exact-match on the source tree,\n# and adjusting the output so that it tests false if there was no exact\n# matching tag.\n#\n# Requires CMake 2.6 or newer (uses the 'function' command)\n#\n# Original Author:\n# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>\n# http://academic.cleardefinition.com\n# Iowa State University HCI Graduate Program/VRAC\n#\n# Copyright Iowa State University 2009-2010.\n# Distributed under the Boost Software License, Version 1.0.\n# (See accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nif(__get_git_revision_description)\n\treturn()\nendif()\nset(__get_git_revision_description YES)\n\n# We must run the following at \"include\" time, not at function call time,\n# to find the path to this module rather than the path to a calling list file\nget_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)\n\nfunction(get_git_head_revision _refspecvar _hashvar)\n\tset(GIT_PARENT_DIR \"${CMAKE_SOURCE_DIR}\")\n\tset(GIT_DIR \"${GIT_PARENT_DIR}/.git\")\n\twhile(NOT EXISTS \"${GIT_DIR}\")\t# .git dir not found, search parent directories\n\t\tset(GIT_PREVIOUS_PARENT \"${GIT_PARENT_DIR}\")\n\t\tget_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH)\n\t\tif(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT)\n\t\t\t# We have reached the root directory, we are not in git\n\t\t\tset(${_refspecvar} \"GITDIR-NOTFOUND\" PARENT_SCOPE)\n\t\t\tset(${_hashvar} \"GITDIR-NOTFOUND\" PARENT_SCOPE)\n\t\t\treturn()\n\t\tendif()\n\t\tset(GIT_DIR \"${GIT_PARENT_DIR}/.git\")\n\tendwhile()\n\tset(GIT_DATA \"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data\")\n\tif(NOT EXISTS \"${GIT_DATA}\")\n\t\tfile(MAKE_DIRECTORY \"${GIT_DATA}\")\n\tendif()\n\n\tif(NOT EXISTS \"${GIT_DIR}/HEAD\")\n\t\treturn()\n\tendif()\n\tset(HEAD_FILE \"${GIT_DATA}/HEAD\")\n\tconfigure_file(\"${GIT_DIR}/HEAD\" \"${HEAD_FILE}\" COPYONLY)\n\n\tconfigure_file(\"${_gitdescmoddir}/GetGitRevisionDescription.cmake.in\"\n\t\t\"${GIT_DATA}/grabRef.cmake\"\n\t\t@ONLY)\n\tinclude(\"${GIT_DATA}/grabRef.cmake\")\n\n\tset(${_refspecvar} \"${HEAD_REF}\" PARENT_SCOPE)\n\tset(${_hashvar} \"${HEAD_HASH}\" PARENT_SCOPE)\nendfunction()\n\nfunction(git_describe _var)\n\tif(NOT GIT_FOUND)\n\t\tfind_package(Git QUIET)\n\tendif()\n\tget_git_head_revision(refspec hash)\n\tif(NOT GIT_FOUND)\n\t\tset(${_var} \"GIT-NOTFOUND\" PARENT_SCOPE)\n\t\treturn()\n\tendif()\n\tif(NOT hash)\n\t\tset(${_var} \"HEAD-HASH-NOTFOUND\" PARENT_SCOPE)\n\t\treturn()\n\tendif()\n\n\t# TODO sanitize\n\t#if((${ARGN}\" MATCHES \"&&\") OR\n\t#\t(ARGN MATCHES \"||\") OR\n\t#\t(ARGN MATCHES \"\\\\;\"))\n\t#\tmessage(\"Please report the following error to the project!\")\n\t#\tmessage(FATAL_ERROR \"Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}\")\n\t#endif()\n\n\t#message(STATUS \"Arguments to execute_process: ${ARGN}\")\n\n\texecute_process(COMMAND\n\t\t\"${GIT_EXECUTABLE}\"\n\t\tdescribe\n\t\t${hash}\n\t\t${ARGN}\n\t\tWORKING_DIRECTORY\n\t\t\"${CMAKE_SOURCE_DIR}\"\n\t\tRESULT_VARIABLE\n\t\tres\n\t\tOUTPUT_VARIABLE\n\t\tout\n\t\tERROR_QUIET\n\t\tOUTPUT_STRIP_TRAILING_WHITESPACE)\n\tif(NOT res EQUAL 0)\n\t\tset(out \"${out}-${res}-NOTFOUND\")\n\tendif()\n\n\tset(${_var} \"${out}\" PARENT_SCOPE)\nendfunction()\n\nfunction(git_get_exact_tag _var)\n\tgit_describe(out --exact-match ${ARGN})\n\tset(${_var} \"${out}\" PARENT_SCOPE)\nendfunction()\n"
  },
  {
    "path": "cmake/GetGitRevisionDescription.cmake.in",
    "content": "#\n# Internal file for GetGitRevisionDescription.cmake\n#\n# Requires CMake 2.6 or newer (uses the 'function' command)\n#\n# Original Author:\n# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>\n# http://academic.cleardefinition.com\n# Iowa State University HCI Graduate Program/VRAC\n#\n# Copyright Iowa State University 2009-2010.\n# Distributed under the Boost Software License, Version 1.0.\n# (See accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nset(HEAD_HASH)\n\nfile(READ \"@HEAD_FILE@\" HEAD_CONTENTS LIMIT 1024)\n\nstring(STRIP \"${HEAD_CONTENTS}\" HEAD_CONTENTS)\nif(HEAD_CONTENTS MATCHES \"ref\")\n\t# named branch\n\tstring(REPLACE \"ref: \" \"\" HEAD_REF \"${HEAD_CONTENTS}\")\n\tif(EXISTS \"@GIT_DIR@/${HEAD_REF}\")\n\t\tconfigure_file(\"@GIT_DIR@/${HEAD_REF}\" \"@GIT_DATA@/head-ref\" COPYONLY)\n\telseif(EXISTS \"@GIT_DIR@/logs/${HEAD_REF}\")\n\t\tconfigure_file(\"@GIT_DIR@/logs/${HEAD_REF}\" \"@GIT_DATA@/head-ref\" COPYONLY)\n\t\tset(HEAD_HASH \"${HEAD_REF}\")\n\tendif()\nelse()\n\t# detached HEAD\n\tconfigure_file(\"@GIT_DIR@/HEAD\" \"@GIT_DATA@/head-ref\" COPYONLY)\nendif()\n\nif(NOT HEAD_HASH)\n\tfile(READ \"@GIT_DATA@/head-ref\" HEAD_HASH LIMIT 1024)\n\tstring(STRIP \"${HEAD_HASH}\" HEAD_HASH)\nendif()\n"
  },
  {
    "path": "cmake/bump_version.cmake",
    "content": "# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nconfigure_file(SPECS/Dockerfile.el6.in SPECS/Dockerfile.el6 @ONLY)\nconfigure_file(SPECS/Dockerfile.el7.in SPECS/Dockerfile.el7 @ONLY)\nconfigure_file(SPECS/Dockerfile.f22.in SPECS/Dockerfile.f22 @ONLY)\nconfigure_file(SPECS/bcc.el6.spec.in SPECS/bcc.el6.spec @ONLY)\nconfigure_file(SPECS/bcc.el7.spec.in SPECS/bcc.el7.spec @ONLY)\nconfigure_file(SPECS/bcc.f22.spec.in SPECS/bcc.f22.spec @ONLY)\nconfigure_file(scripts/build-deb.sh.in scripts/build-deb.sh @ONLY)\n"
  },
  {
    "path": "cmake/clang_libs.cmake",
    "content": "if(ENABLE_LLVM_SHARED)\nset(llvm_libs \"LLVM\")\nelse()\nset(llvm_raw_libs bitwriter bpfcodegen debuginfodwarf irreader linker\n  mcjit objcarcopts option passes lto bpfasmparser bpfdisassembler)\nif(ENABLE_LLVM_NATIVECODEGEN)\nset(llvm_raw_libs ${llvm_raw_libs} nativecodegen)\nendif()\nlist(FIND LLVM_AVAILABLE_LIBS \"LLVMCoverage\" _llvm_coverage)\nif (${_llvm_coverage} GREATER -1)\n  list(APPEND llvm_raw_libs coverage)\nendif()\nlist(FIND LLVM_AVAILABLE_LIBS \"LLVMCoroutines\" _llvm_coroutines)\nif (${_llvm_coroutines} GREATER -1)\n  list(APPEND llvm_raw_libs coroutines)\nendif()\nlist(FIND LLVM_AVAILABLE_LIBS \"LLVMFrontendOpenMP\" _llvm_frontendOpenMP)\nif (${_llvm_frontendOpenMP} GREATER -1)\n  list(APPEND llvm_raw_libs frontendopenmp)\nendif()\nif (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 15 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 15)\n  list(APPEND llvm_raw_libs windowsdriver)\nendif()\nif (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 16 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 16)\n  list(APPEND llvm_raw_libs frontendhlsl)\nendif()\nif (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 18 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 18)\n  list(APPEND llvm_raw_libs frontenddriver)\nendif()\n\nllvm_map_components_to_libnames(_llvm_libs ${llvm_raw_libs})\nllvm_expand_dependencies(llvm_libs ${_llvm_libs})\nendif()\n\nif(ENABLE_LLVM_SHARED AND NOT libclang-shared STREQUAL \"libclang-shared-NOTFOUND\")\nset(clang_libs ${libclang-shared})\nelse()\n# order is important\nset(clang_libs\n  ${libclangFrontend}\n  ${libclangSerialization}\n  ${libclangDriver}\n  ${libclangASTMatchers})\n\nlist(APPEND clang_libs\n  ${libclangParse}\n  ${libclangSema}\n  ${libclangCodeGen}\n  ${libclangAnalysis}\n  ${libclangRewrite}\n  ${libclangEdit}\n  ${libclangAST}\n  ${libclangLex})\n\n# if (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 15 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 15)\n  list(APPEND clang_libs ${libclangSupport})\n# endif()\n\nif (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 18 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 18)\n  list(APPEND clang_libs ${libclangAPINotes})\nendif()\n\nlist(APPEND clang_libs\n  ${libclangBasic})\nendif()\n\n# prune unused llvm static library stuff when linking into the new .so\nset(_exclude_flags)\nforeach(_lib ${clang_libs})\n  get_filename_component(_lib ${_lib} NAME)\n  set(_exclude_flags \"${_exclude_flags} -Wl,--exclude-libs=${_lib}\")\nendforeach(_lib)\nset(clang_lib_exclude_flags \"${_exclude_flags}\")\n\nset(_exclude_flags)\nforeach(_lib ${llvm_libs})\n  get_filename_component(_lib ${_lib} NAME)\n  set(_exclude_flags \"${_exclude_flags} -Wl,--exclude-libs=lib${_lib}.a\")\nendforeach(_lib)\nset(llvm_lib_exclude_flags \"${_exclude_flags}\")\n"
  },
  {
    "path": "cmake/static_libstdc++.cmake",
    "content": "# only turn on static-libstdc++ if also linking statically against clang\nstring(REGEX MATCH \".*[.]a$\" LIBCLANG_ISSTATIC \"${libclangBasic}\")\n# if gcc 4.9 or higher is used, static libstdc++ is a good option\nif (CMAKE_COMPILER_IS_GNUCC AND LIBCLANG_ISSTATIC AND (NOT ENABLE_LLVM_SHARED OR libclang-shared STREQUAL \"libclang-shared-NOTFOUND\"))\n  execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)\n  if (GCC_VERSION VERSION_GREATER 4.9 OR GCC_VERSION VERSION_EQUAL 4.9)\n    execute_process(COMMAND ${CMAKE_C_COMPILER} -print-libgcc-file-name OUTPUT_VARIABLE GCC_LIB)\n    get_filename_component(GCC_DIR \"${GCC_LIB}\" DIRECTORY)\n    find_library(GCC_LIBSTDCPP libstdc++.a PATHS \"${GCC_DIR}\" NO_DEFAULT_PATH)\n    if (GCC_LIBSTDCPP)\n      message(STATUS \"Using static-libstdc++\")\n      set(CMAKE_SHARED_LINKER_FLAGS \"${CMAKE_SHARED_LINKER_FLAGS} -static-libstdc++\")\n    endif()\n  endif()\nendif()\n"
  },
  {
    "path": "cmake/version.cmake",
    "content": "# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\nif(NOT REVISION)\n  get_git_head_revision(GIT_REFSPEC GIT_SHA1)\n  string(SUBSTRING \"${GIT_SHA1}\" 0 8 GIT_SHA1_SHORT)\n  git_describe(GIT_DESCRIPTION)\n  git_describe(GIT_TAG_LAST \"--abbrev=0\" \"--tags\")\n  if(GIT_TAG_LAST MATCHES \"-NOTFOUND\")\n    set(REVISION \"0.0.0+${GIT_SHA1_SHORT}\")\n    message(STATUS \"No valid Git tag found, using fallback 0.0.0+${GIT_SHA1_SHORT}\")\n  else()\n    git_get_exact_tag(GIT_TAG_EXACT)\n    string(SUBSTRING \"${GIT_TAG_LAST}+${GIT_SHA1_SHORT}\" 1 -1 REVISION)\n    if(GIT_TAG_EXACT)\n      string(SUBSTRING \"${GIT_TAG_EXACT}\" 1 -1 REVISION)\n      message(STATUS \"Currently on Git tag ${GIT_TAG_EXACT}\")\n    else ()\n      message(STATUS \"Latest recognized Git tag is ${GIT_TAG_LAST}\")\n      set(GIT_TAG_EXACT \"\")\n    endif()\n  endif()\n  message(STATUS \"Git HEAD is ${GIT_SHA1}\")\n  # rpm/deb packaging uses this, only works on whole tag numbers\n  if(NOT REVISION_LAST)\n    string(SUBSTRING \"${GIT_TAG_LAST}\" 1 -1 REVISION_LAST)\n  endif()\nelse()\n  set(REVISION_LAST \"${REVISION}\")\nendif()\n\nif (REVISION MATCHES \"^([0-9]+)\\\\.([0-9]+)\\\\.([0-9]+)\")\n    set(REVISION_MAJOR ${CMAKE_MATCH_1})\n    set(REVISION_MINOR ${CMAKE_MATCH_2})\n    set(REVISION_PATCH ${CMAKE_MATCH_3})\nelse()\n  message(WARNING \"Could not extract major/minor/patch from revision ${REVISION}\" )\nendif()\n# strip leading 'v', and make unique for the tag\nmessage(STATUS \"Revision is ${REVISION} (major ${REVISION_MAJOR}, minor ${REVISION_MINOR}, patch ${REVISION_PATCH})\")\n"
  },
  {
    "path": "debian/bcc-lua.install",
    "content": "usr/bin/bcc-lua\n"
  },
  {
    "path": "debian/bcc-tools.install",
    "content": "usr/share/bcc/introspection/*\nusr/share/bcc/tools/*\nusr/share/bcc/man/*\n"
  },
  {
    "path": "debian/changelog",
    "content": "bcc (0.36.1-1) unstable; urgency=low\n\n  * Bug Fixes\n    Sync BCC with libbpf submodule update (afb8b17) (#5455, #5460)\n    libbpf-tools: Sync blazesym submodule and migrate tools to new C API (#5458)\n\nbcc (0.36.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.18\n\n  * New Tools\n    tools/softirqslower: New tool to trace slow software interrupt handlers (#5356)\n\n  * Enhanced Functionality\n    libbpf-tools/opensnoop: Added full-path support with `-F` option (#5323, #5333)\n    libbpf-tools/filelife: Added full-path support (#5347, ab8e0616)\n    libbpf-tools: Introduced path helpers (ab8e0616)\n    libbpf-tools/trace_helpers: Added str_loadavg() and str_timestamp() common functions (694de9f9)\n    libbpf-tools/filetop: Added directory filter capability (#5300)\n    libbpf-tools/runqslower: Added `-c` option to filter by process name prefix (673911cf)\n    libbpf-tools/runqlat: Dynamically size pid/pidns histogram map (#5342)\n    libbpf-tools/fsdist, fsslower: Added support for fuse filesystem (9691c568)\n    libbpf-tools/tcptop: Major refactoring using fentry/fexit for better performance (75bb73a5, e2c79176, d786eaa3, da3a4746)\n    tools/opensnoop: Added full-path support with `-F` option (#5334, #5339)\n    tools/kvmexit: Added AMD processor support and parallel post-processing (13a4e5a4, c2af2eea)\n    tools/offwaketime: Added raw tracepoint support to reduce overhead (380ee018)\n    Python uprobe API: Added functionality to detach all uprobes for a binary (#5325)\n    Python API: Added support for executing a program and tracing it (#5362)\n\n  * Bug Fixes\n    libbpf-tools/filelife: Fixed wrong full-path handling (#5347)\n    libbpf-tools/filelife: Fixed problem when using perf-buffer (ec8415b2)\n    libbpf-tools/funclatency: Delete the element from the `starts` map after it has been used (06ce1345)\n    libbpf-tools/offcputime: Fixed min/max_block_ns unit conversion error (#5327, d507a53e)\n    libbpf-tools/syncsnoop: Added support for sync_file_range2 and arm_sync_file_range() (42879217)\n    libbpf-tools/ksnoop: Fixed two invalid access to map value (#5361)\n    libbpf-tools/klockstat: Allows kprobe fallback to work with lock debugging (#5359)\n    libbpf-tools/biotop: Fixed segmentation fault with musl libc build (52d2d098)\n    libbpf-tools/syscall_helpers, Python BCC: Updated syscall list (add file_getattr/file_setattr) (b63d7e38, a9c6650e)\n    tools/tcpaccept: Fixed on recent kernels (c208d0e6)\n    tools/tcpconnect: Fixed iov field for DNS with Linux>=6.4 (#5382)\n    tools/javaobjnew: Use MIN macro instead of min function (fb8910a8)\n    tools/biolatency, biosnoop, biotop: Use TRACEPOINT_PROBE() for tracepoints (#5366)\n    Various tools: Don't use the old bpf_probe_read() helper (1cc15c3d)\n    CC: Support versioned SONAME in shared library resolution (beb1fe40, c3512104)\n    Python TCP: Added state2str() and applied to tools (bfa05d28)\n    s390 architecture: Prevent invalid mem access when reading PAGE_OFFSET (d8595ee3)\n\n  * Build & Test Fixes\n    Fixed build failure with clang21 (#5369)\n    Fixed build for LLVM 23 by avoiding deprecated TargetRegistry overloads (#5401)\n    ci: Make version.cmake handle shallow clone (2232b7eb)\n    ci: Various test fixes for proper CI operation (blk probes, rss_stat, kmalloc, btrfs/f2fs) (a4991816, c3385476, 6b7dd5de, ea5cf836)\n    tests: Added coverage for versioned SONAME resolution (c3512104)\n    Removed luajit options to ensure no errors (26eaf13b)\n\n  * Doc update, other bug fixes and tools improvement\n\nbcc (0.35.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.14\n  * New bcc tools: mptcp: enable mptcp for tcp traffic\n  * tools/biosnoop: Fix biosnoop pattern option\n  * Allow cmake run out of the source tree\n  * Fix for test bpf_stack_id when running on custom image in yocto\n  * libbpf-tools/map_helpers: Add bpf_map_lookup_and_delete_batch to dump_hash\n  * libbpf-tools/biotop: Use dump_hash for map processing\n  * uninstall: use execute_process() instead of exec_program()\n  * clang: Fix pointer dereference on big-endian machines\n  * ci: Upgrade to ubuntu 24.04\n  * doc update, other bug fixes and example improvement.\n\nbcc (0.34.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.13\n  * Bump cmake minimum version to 3.12\n  * statsnoop: Display syscall name with -s\n  * readahead: Fix incorrect page accessed count since kernel 5.16\n  * libbpf-tools/opensnoop: Add new fields\n  * libbpf-tools: hardirqs/softirqs: Fix logarithmic calculation issue\n  * libbpf-tools/hardirqs: have better default display and add CPU column\n  * libbpf-tools/klockstat: Better stack dump and summary info\n  * libbpf-tools/sigsnoop: Support real-time signals and thread comm\n  * libbpf-tools/statsnoop: Support more syscalls\n  * libbpf-tools/memleak: Some fixes and better messages\n  * tools/opensnoop: Add new fields and fix bad mode value\n  * tools/profile: Prioritize using the cpu-cycles hardware event\n  * tools/tcpdrop: Add support for dumping TCP drop reasons\n  * Fix event name too long error in python source\n  * doc update, other bug fixes and example improvement.\n\nbcc (0.33.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.12\n  * Add new bcc tool numasched\n  * syms: Initialize ModulePath::fd_ to invalid FD\n  * libbpf-tools/memleak: Fix off-by-one error\n  * libbpf-tools/slabratetop: Fix failed to create kprobe error\n  * libbpf_tools/profile: Support PID namespace mapping\n  * libbpf-tools/mountsnoop: Support fsopen,fsconfig,fsmount,move_mount syscalls\n  * tools/oomkill: get application level stack trace\n  * tools/profile: Add additional information to backtrace\n  * tools/mountsnoop: Fix fsmount printing wrong flags\n  * tools/compactsnoop: Add aarch64 support\n  * doc update, other bug fixes and tools improvement.\n\nbcc (0.32.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.11.\n  * bcc tool update: wakeuptime, readahead, shmsnoop, offcputime, cachestat, cachetop, hardirqs\n  * libbpf tool update: futexctn, profile, readhead, softirqs, hardirqs\n  * Multiple enhancements for memleak, better error path checking, adding mremap uprobe\n  * Support get pid/tgid in pid namespaces (cpudist, profile)\n  * multiple pid filtering support: profile, offcputime\n  * detect whether elf binary is PIE even if the binary is marked as DYN\n  * Fix several compilation issues with llvm20\n  * doc update, other bug fixes and tools improvement.\n\nbcc (0.31.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.9.\n  * Add support for bcachefs to fsdist and fsslower tools\n  * libbpf tool update: memleak, syncsnoop, numamove, syscount, vfsstat, tcptop, capable, syncsnoop, sigsnoop, etc.\n  * bcc tool update: biolatency, biosnoop, biotop, vfsstat, kvmexit, sslsniff, swapin, etc.\n  * build: Remove llvm-dev dependency from libbcc\n  * build: Remove dependency on LLVM header from libbcc packages\n  * usdt: Fix bare register dereference on aarch64\n  * Extend `bcc_proc` API which allows to limit search to specific pid\n  * Fix several flaky tests.\n  * doc update, other bug fixes and tools improvement.\n\n -- Yonghong Song <ys114321@gmail.com>  Sat, 27 Jul 2024 17:00:00 +0000\n\nbcc (0.30.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.8.\n  * Set minimum supported llvm version to 12, and add llvm17 test.\n  * Add workqueue latency observation tool.\n  * libbpf tool update: f2fsslower, opensnoop, futexctn, bindsnoop, ksnoop, klockstat, offcputime, etc.\n  * bcc tool update: memleak, ttysnoop, bashreadline, tcpdrop, execsnoop, etc.\n  * allow more flexible perf event options with new perf_custom_event_open() python API.\n  * Fix userspace stack unwinding on powerpc.\n  * add bpf_prog_test_run_opts() python API.\n  * several deb package related changes.\n  * Fix btf_type_tag issue with llvm 15.\n  * Fix several flaky tests.\n  * classify tools into different sub-categories.\n  * doc update, other bug fixes and tools improvement.\n\n -- Yonghong Song <ys114321@gmail.com>  Thu, 24 Mar 2024 17:00:00 +0000\n\nbcc (0.29.1-1) unstable; urgency=low\n\n  * Fix Ubuntu 22.04 deb build\n  * Fix Ubuntu 22.04 Docker image build\n\n -- Adrian Vladu <avladu@cloudbasesolutions.com>  Thu, 14 Dec 2023 17:00:00 +0000\n\nbcc (0.29.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.6.\n  * new bcc tools: rdmaucma\n  * new libbpf tools: f2fs, futexctn\n  * bcc tool update: tcpstates, statsnoop, runqlat, bio tools, tcptop, slabratetop, tcprtt, etc.\n  * libbpf tool update: tcprtt, tcppktlat, bio tools, execsnoop, bindsnoop, exitsnoop, etc.\n  * s390x support for libbpf-tools\n  * examples for perf/ipc\n  * expose pid parameter in bpf_open_perf_event\n  * allow for installing python as a non-system package\n  * ci improvement: deprecate ubuntu 18.04 and allow multiple llvm versions\n  * ci improvement: reitre fedora 34/26 and use fedora 38.\n  * fix misaligned pointer accesses in some ringbuf using libbpf-tools\n  * some new  enhancement for powerpc and riscv.\n  * consolidate tools into different categories: filesystem/storage, networking, cpu and scheduling, etc.\n  * doc update, other bug fixes and tools improvement\n\n -- Yonghong Song <ys114321@gmail.com>  Thu, 6 Dec 2023 17:00:00 +0000\n\nbcc (0.28.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.3.\n  * new libbpf tool: tcppktlat.\n  * bcc tool updates: funcslower, wakeuptime, profile, offcputime, deadlock, funccount, argdist, kvmexit, runqlen and cpuunclaimed.\n  * libbpf tool update: memleak, tcprtt, tcpconnlat, funclatency, syscount, cpufreq, biosnoop.\n  * support ringbuf_query for bcc tools.\n  * handle '[uprobes]' memory mapped file properly during stack tracing.\n  * Fix maximum allowed index for print_linear_hist for bcc tools.\n  * add module kfunc/kretfunc support.\n  * clang rewriter: initialize only the requested parameters\n  * filter with available_filter_functions to make multi-functions kprobes more robust for both bcc and libbpf tools.\n  * doc update, other bug fixes and tools improvement\n\n -- Yonghong Song <ys114321@gmail.com>  Wed, 28 Jun 2023 17:00:00 +0000\n\nbcc (0.27.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.2\n  * bcc tool updates for ttysnoop, slabratetop, readahead, nfsslower, cpudist, cachetop, cachestat, etc.\n  * libbpf-tools updates for mdflush, drsnoop, statsnoop, ttysnoop, softirqs, wakeuptime, cachestat, numamove, etc.\n  * fix for incomplete static libraries\n  * implement zip archive support\n  * upgrade to use c++14 standard\n  * new libbpf-tools: memleak\n  * add loongarch support in libbpft-tools\n  * doc update, bug fixes and other tools improvement\n\n -- Yonghong Song <ys114321@gmail.com>  Wed, 02 Apr 2023 17:00:00 +0000\n\nbcc (0.26.0-1) unstable; urgency=low\n\n  * Support for kernel up to 6.1\n  * bcc tool updates for biosnoop, opensnoop, biopattern, killsnoop, runqslower, offcputime, wakeuptime, etc.\n  * libbpf-tools updates for klockstat, sigsnoop, hardirqs, softirqs, opensnoop, statsnoop, offcputime, tcplife, cpufreq, cpudist, etc.\n  * new libbpf-tools: tcptop, tcpstates, biotop, capable\n  * ci: add support for fedora 36 container and new workflow for containers\n  * doc update, bug fixes and other tools improvement\n\n -- Yonghong Song <ys114321@gmail.com>  Wed, 10 Aug 2022 17:00:00 +0000\n\nbcc (0.25.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.19\n  * bcc tool updates for oomkill.py, biolatpcts.py, sslsniff.py, tcpaccept.py, etc.\n  * libbpf tool updates for klockstat, opensnoop, tcpconnect, etc.\n  * new bcc tools: tcpcong\n  * new libbpf tools: tcpsynbl, mdflush, oomkill, sigsnoop\n  * usdt: support xmm registers as args for x64\n  * bpftool as a submodule now\n  * remove uses of libbpf deprecated APIs\n  * use new llvm pass manager\n  * support cgroup filtering libbpf tools\n  * fix shared lib module offset <-> global addr conversion\n  * riscv support\n  * LoongArch support\n  * doc update, bug fixes and other tools improvement\n\n -- Yonghong Song <ys114321@gmail.com>  Wed, 10 Aug 2022 17:00:00 +0000\n\nbcc (0.24.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.16\n  * bcc tools: update for trace.py, sslsniff.py, tcptop.py, hardirqs.py, etc.\n  * new libbpf tools: bashreadline\n  * allow specify wakeup_events for perf buffer\n  * support BPF_MAP_TYPE_{INODE, TASK}_STORAGE maps\n  * remove all deprecated libbpf function usage\n  * remove P4/B language support\n  * major test infra change, using github actions now\n  * doc update, bug fixes and other tools improvement\n\n -- Yonghong Song <ys114321@gmail.com>  Wed, 14 Jan 2022 17:00:00 +0000\n\nbcc (0.23.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.15\n  * bcc tools: update for kvmexit.py, tcpv4connect.py, cachetop.py, cachestat.py, etc.\n  * libbpf tools: update for update for mountsnoop, ksnoop, gethostlatency, etc.\n  * fix renaming of task_struct->state\n  * get pid namespace properly for a number of tools\n  * initial work for more libbpf utilization (less section names)\n  * doc update, bug fixes and other tools improvement\n\n -- Yonghong Song <ys114321@gmail.com>  Wed, 15 Nov 2021 17:00:00 +0000\n\nbcc (0.22.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.14\n  * add ipv4/ipv6 filter support for tcp trace tools\n  * add python interface to attach raw perf events\n  * fix tcpstates for incorrect display of dport\n  * new options for bcc tools runqslower, argdist\n  * new libbpf-tools: filetop, exitsnoop, tcprtt\n  * doc update, bug fixes and other tools improvement\n\n -- Yonghong Song <ys114321@gmail.com>  Wed, 15 Sep 2021 17:00:00 +0000\n\nbcc (0.21.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.13\n  * support for debug information from libdebuginfod\n  * finished support for map elements items_*_batch() APIs\n  * add atomic_increment() API\n  * support attach_func() and detach_func() in python\n  * fix displaying PID instead of TID for many tools\n  * new tools: kvmexit.py\n  * new libbpf-tools: gethostlatency, statsnoop, fsdist and solisten\n  * fix tools ttysnoop/readahead for newer kernels\n  * doc update and bug fixes\n\n -- Yonghong Song <ys114321@gmail.com>  Mon, 16 Jul 2021 17:00:00 +0000\n\nbcc (0.20.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.12\n  * Some basic support for MIPS\n  * added bpf_map_lookup_batch and bpf_map_delete_batch support\n  * tools/funclatency.py support nested or recursive functions\n  * tools/biolatency.py can optionally print out average/total value\n  * fix possible marco HAVE_BUILTIN_BSWAP redefine warning for kernel >= 5.10.\n  * new tools: virtiostat\n  * new libbpf-tools: ext4dist\n  * doc update and bug fixes\n\n -- Yonghong Song <ys114321@gmail.com>  Mon, 5 May 2021 17:00:00 +0000\n\nbcc (0.19.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.11\n  * allow BCC as a cmake subproject\n  * add LPORT support in tcpconnlat and tcpconnect\n  * added bpf_map_lookup_and_delete_batch support\n  * new tools: virtiostat\n  * new libbpf-tools: cpufreq, funclatency, cachestat\n  * add install target to libbpf-tools\n  * a few lua fixes\n  * doc update and bug fixes\n\n -- Yonghong Song <ys114321@gmail.com>  Mon, 19 Mar 2021 17:00:00 +0000\n\nbcc (0.18.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.10\n  * add bpf kfunc/kretfunc C++ example\n  * add PT_REGS_PARMx_SYSCALL helper macro\n  * biolatency: allow json output\n  * biolatpcts: support measuring overall latencies between two events\n  * fix build when ENABLE_CLANG_JIT is disabled\n  * doc update and bug fixes\n\n -- Yonghong Song <ys114321@gmail.com>  Mon, 4 Jan 2021 17:00:00 +0000\n\nbcc (0.17.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.9\n  * usdt: add uprobe refcnt support\n  * use newer llvm/clang versions in debian packaging if possible\n  * add bpf iterator C++ support\n  * new bcc tools: tcprtt, netqtop, swapin, tcpsynbl, threadsnoop\n  * tcpconnect: add DNS correlation to connect tracking\n  * new libbpf-tools: llcstat, numamove, runqlen, runqlat, softirgs, hardirqs\n  * doc update, bug fixes and some additional arguments for tools\n\n -- Yonghong Song <ys114321@gmail.com>  Thu, 29 Oct 2020 17:00:00 +0000\n\nbcc (0.16.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.8\n  * trace.py: support kprobe/uprobe func offset\n  * support raw perf config for perf_event_open in python\n  * add BPFQueueStackTable support\n  * added Ringbuf support support\n  * libbpf-tools: readahead, biosnoop, bitesize, tcpconnlat, biopattern, biostacks\n  * bug fixes and some additional arguments for tools\n\n -- Yonghong Song <ys114321@gmail.com>  Sat, 22 Aug 2020 17:00:00 +0000\n\nbcc (0.15.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.7\n  * new tools: funcinterval.py, dirtop.py\n  * support lsm bpf programs\n  * support multiple pid/tids for offwaketime\n  * usdt: add helpers to set semaphore values\n  * turn off x86 jump table optimization during jit compilation\n  * add support to use bpf_probe_read[_str_}{_user,kernel} in all bpf\n  *    programs, fail back to old bpf_probe_read[_str] for old kernels\n  * tools: add filtering by mount namespace\n  * libbpf-tools: cpudist, syscount, execsnoop, vfsstat\n  * lots of bug fixes and a few additional arguments for tools\n\n -- Yonghong Song <ys114321@gmail.com>  Mon, 19 Jun 2020 17:00:00 +0000\n\nbcc (0.14.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.6\n  * new tools: biolatpcts.py\n  * libbpf-tools: tools based on CORE and libbpf library directly\n  * add --cgroupmap to various tools, filtering based cgroup\n  * support kfunc (faster kprobe) for vfsstat, klockstat and opensnoop\n  * lots of bug fixes and a few additional arguments for tools\n\n -- Yonghong Song <ys114321@gmail.com>  Mon, 20 Apr 2020 17:00:00 +0000\n\nbcc (0.13.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.5\n  * bindsnoop tool to track tcp/udp bind information\n  * added compile-once run-everywhere based libbpf-tools, currently\n    only runqslower is implemented.\n  * new map support: sockhash, sockmap, sk_storage, cgroup_storage\n  * enable to run github actions on the diff\n  * cgroupmap based cgroup filtering for opensnoop, execsnoop and bindsnoop.\n  * lots of bug fixes.\n\n -- Yonghong Song <ys114321@gmail.com>  Wed, 19 Feb 2020 17:00:00 +0000\n\nbcc (0.12.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.4\n  * klockstat tool to track kernel mutex lock statistics\n  * cmake option CMAKE_USE_LIBBPF_PACKAGE to build a bcc shared library\n    linking with distro libbpf_static.a\n  * new map.lookup_or_try_init() API to remove hidden return in\n    map.lookup_or_init()\n  * BPF_ARRAY_OF_MAPS and BPF_HASH_OF_MAPS support\n  * support symbol offset for uprobe in both C++ and python API,\n    kprobe already has the support\n  * bug fixes for trace.py, tcpretrans.py, runqslower.py, etc.\n\n -- Yonghong Song <ys114321@gmail.com>  Tue, 10 Dec 2019 17:00:00 +0000\n\nbcc (0.11.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.3\n  * Corresponding libbpf submodule release is v0.0.5\n  * Fix USDT issue with multi-threaded applications\n  * Fixed the early return behavior of lookup_or_init\n  * Support for nic hardware offload\n  * Fixed and Enabled Travis CI\n  * A lot of tools change with added new options, etc.\n\n -- Yonghong Song <ys114321@gmail.com>  Tue, 03 Oct 2019 17:00:00 +0000\n\nbcc (0.10.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.1\n  * corresponding libbpf submodule release is v0.0.3\n  * support for reading kernel headers from /proc\n  * libbpf.{a,so} renamed to libcc_bpf.{a,so}\n  * new common options for some tools\n  * new tool: drsnoop\n  * s390 USDT support\n\n -- Brenden Blanco <bblanco@gmail.com>  Tue, 28 May 2019 17:00:00 +0000\n\nbcc (0.9.0-1) unstable; urgency=low\n\n  * Adds support for BTF\n  * Uses libbpf common library to wrap syscall API\n  * Many bugfixes and new tools\n\n -- Brenden Blanco <bblanco@gmail.com>  Thu, 07 Mar 2019 17:00:00 +0000\n\nbcc (0.8.0-1) unstable; urgency=low\n\n  * Support for kernel up to 5.0\n\n -- Brenden Blanco <bblanco@gmail.com>  Fri, 11 Jan 2019 17:00:00 +0000\n\nbcc (0.7.0-1) unstable; urgency=low\n\n  * Support for kernel up to 4.18\n\n -- Brenden Blanco <bblanco@gmail.com>  Tue, 04 Sep 2018 17:00:00 +0000\n\nbcc (0.6.1-1) unstable; urgency=low\n\n  * Build support for Fedora 28 and Ubuntu 18.04\n  * Add option to change license\n  * Optimizations for some uses of bpf_probe_reads\n\n -- Brenden Blanco <bblanco@gmail.com>  Mon, 23 Jul 2018 17:00:00 +0000\n\nbcc (0.6.0-1) unstable; urgency=low\n\n  * Support for kernel up to 4.17\n  * Many bugfixes\n  * Many new tools\n  * Improved python3 support\n\n -- Brenden Blanco <bblanco@gmail.com>  Wed, 13 Jun 2018 17:00:00 +0000\n\nbcc (0.5.0-1) unstable; urgency=low\n\n  * Support for USDT in ARM64\n  * Bugfixes for 4.14 in some tools\n  * Fixes for smoke test failures\n  * Runtime memory usage reductions\n\n -- Brenden Blanco <bblanco@gmail.com>  Wed, 29 Nov 2017 17:00:00 +0000\n\nbcc (0.4.0-1) unstable; urgency=low\n\n  * Bugfixes\n  * Support for kernel up to 4.14\n\n -- Brenden Blanco <bblanco@gmail.com>  Fri, 20 Oct 2017 17:00:00 +0000\n\nbcc (0.3.0-1) unstable; urgency=low\n\n  * Many bugfixes\n  * Many tools converted to perf ring buffer\n  * New utilities in tools/\n   * capable, cpuunclaimed, dbslower, dbstat, deadlock_detector, llcstat,\n     mountsnoop, runqlen, slabratetop, syscount, tcplife, tcptop, ttysnoop,\n     ucalls, uflow, ugc, uobjnew, ustat, uthreads\n  * New C++ API\n  * Support for kernel up to 4.10\n\n -- Brenden Blanco <bblanco@gmail.com>  Thu, 09 Mar 2017 19:08:08 +0000\n\nbcc (0.2.0-1) unstable; urgency=low\n\n  * Add many new utilities in tools/\n  * Support for USDT\n  * Support for lua\n  * Many utilities converted to perf ring buffer\n  * Support for tracepoints\n\n -- Brenden Blanco <bblanco@plumgrid.com>  Thu, 08 Sep 2016 17:05:28 -0700\n\nbcc (0.1.8-1) unstable; urgency=low\n\n  * Add many new utilities in tools/\n   * wakeuptime, offwaketime, argdist, {xfs,zfs,ext4}{slower,dist}, others\n  * Support for bpf_perf_event()\n  * Support for public tables shared between programs\n  * Support for up to 4.4 features\n  * Remove external file dependencies from clang lib\n\n -- Brenden Blanco <bblanco@plumgrid.com>  Mon, 23 Feb 2016 00:41:00 +0000\n\nbcc (0.1.7-1) unstable; urgency=low\n\n  * Tracing features and bugfixes\n  * Built against LLVM 3.8 HEAD\n\n -- Brenden Blanco <bblanco@plumgrid.com>  Mon, 12 Oct 2015 16:47:09 +0000\n\nbcc (0.1.6-1) unstable; urgency=low\n\n  * Stability fixes\n  * Improvements to python API\n  * Tracing features\n  * Support for kernel 4.2 features\n\n -- Brenden Blanco <bblanco@plumgrid.com>  Wed, 02 Sep 2015 16:23:19 +0000\n\nbcc (0.1.5-1) unstable; urgency=low\n\n  * Initial release\n\n -- Brenden Blanco <bblanco@plumgrid.com>  Mon, 06 Jul 2015 18:04:28 +0000\n"
  },
  {
    "path": "debian/compat",
    "content": "9\n"
  },
  {
    "path": "debian/control",
    "content": "Source: bcc\nMaintainer: Brenden Blanco <bblanco@plumgrid.com>\nSection: misc\nPriority: optional\nStandards-Version: 3.9.5\nBuild-Depends: debhelper (>= 9), cmake,\n    libllvm12,\n    llvm-12-dev,\n    libclang-12-dev,\n    clang-format-12,\n    libelf-dev, bison, flex, libfl-dev, libedit-dev, zlib1g-dev, git,\n    python3, python3-netaddr, python3-pyroute2, python3-setuptools, python3-pip,\n    luajit,\n    libluajit-5.1-dev, arping, inetutils-ping | iputils-ping, iperf, netperf,\n    ethtool, devscripts, dh-python, zip\n# add 'libdebuginfod-dev' to Build-Depends for libdebuginfod support\nHomepage: https://github.com/iovisor/bcc\n\nPackage: libbcc\nArchitecture: any\nProvides: libbpfcc, libbpfcc-dev\nConflicts: libbpfcc, libbpfcc-dev\nDepends: libc6, libstdc++6, libelf1\n# add 'libdebuginfod1' to Depends if built with libdebuginfod support\nDescription: Shared Library for BPF Compiler Collection (BCC)\n Shared Library for BPF Compiler Collection to control BPF programs\n from userspace.\n\nPackage: libbcc-examples\nArchitecture: any\nDepends: libbcc (= ${binary:Version})\nDescription: Examples for BPF Compiler Collection (BCC)\n\nPackage: python-bcc\nArchitecture: all\nProvides: python-bpfcc\nDepends: libbcc (= ${binary:Version}), python3, binutils\nDescription: Python3 wrappers for BPF Compiler Collection (BCC)\n\nPackage: bcc-tools\nArchitecture: all\nProvides: bpfcc-tools\nConflicts: bpfcc-tools\nDepends: python-bcc (= ${binary:Version})\nDescription: Command line tools for BPF Compiler Collection (BCC)\n\nPackage: bcc-lua\nArchitecture: all\nProvides: bpfcc-lua\nConflicts: bpfcc-lua\nDepends: libbcc (= ${binary:Version})\nDescription: Standalone tool to run BCC tracers written in Lua\n"
  },
  {
    "path": "debian/copyright",
    "content": "Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\nUpstream-Name: bcc\nSource: https://github.com/iovisor/bcc\n\nFiles: *\nCopyright: 2015 PLUMgrid, Inc.\nLicense: Apache-2.0\n"
  },
  {
    "path": "debian/docs",
    "content": "FAQ.txt\nLICENSE.txt\nREADME.md\n"
  },
  {
    "path": "debian/libbcc-examples.install",
    "content": "usr/share/bcc/examples/*\n"
  },
  {
    "path": "debian/libbcc.install",
    "content": "usr/include/bcc/*\nusr/lib/*/libbcc*\nusr/lib/*/pkgconfig/libbcc.pc\n"
  },
  {
    "path": "debian/python-bcc.install",
    "content": "usr/lib/python3*\n"
  },
  {
    "path": "debian/rules",
    "content": "#!/usr/bin/make -f\n# -*- makefile -*-\n\n# Uncomment this to turn on verbose mode.\n#export DH_VERBOSE=1\n\nDEBIAN_VERSION := $(shell dpkg-parsechangelog | sed -rne \"s,^Version: (.*),\\1,p\")\nDEBIAN_REVISION := $(shell dpkg-parsechangelog | sed -rne \"s,^Version: ([0-9.]+)(~|-)(.*),\\3,p\")\nUPSTREAM_VERSION := $(shell dpkg-parsechangelog | sed -rne \"s,^Version: ([0-9.]+)(~|-)(.*),\\1,p\")\n\n%:\n\tdh $@ --buildsystem=cmake --parallel --with python3\n\n# tests cannot be run in parallel\noverride_dh_auto_test:\n\tdh_auto_test -O--buildsystem=cmake -O--no-parallel\n\n# FIXME: LLVM_DEFINITIONS is broken somehow in LLVM cmake upstream\noverride_dh_auto_configure:\n\tdh_auto_configure -- -DREVISION_LAST=$(UPSTREAM_VERSION) -DREVISION=$(UPSTREAM_VERSION) -DLLVM_DEFINITIONS=\"-D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS\" -DPYTHON_CMD=\"python3\"\n"
  },
  {
    "path": "debian/source/format",
    "content": "3.0 (quilt)\n"
  },
  {
    "path": "docker/Dockerfile.debian",
    "content": "FROM debian:stretch\n\nMAINTAINER Brenden Blanco <bblanco@gmail.com>\n\nRUN DEBIAN_RELEASE=stretch && \\\n    # Adding non-free repo for netperf\n    echo \"deb http://deb.debian.org/debian ${DEBIAN_RELEASE} non-free\" > \\\n        /etc/apt/sources.list.d/debian-non-free.list && \\\n    apt-get -qq update && \\\n    apt-get -y install pbuilder aptitude\n\nCOPY ./ /root/bcc\n\nWORKDIR /root/bcc\n\nRUN /usr/lib/pbuilder/pbuilder-satisfydepends && \\\n    ./scripts/build-deb.sh\n"
  },
  {
    "path": "docker/Dockerfile.ubuntu",
    "content": "ARG OS_TAG=22.04\nFROM ubuntu:${OS_TAG} as builder\n\nARG OS_TAG\nARG BUILD_TYPE=release\nARG DEBIAN_FRONTEND=noninteractive\n\nMAINTAINER Brenden Blanco <bblanco@gmail.com>\n\nRUN apt-get -qq update && \\\n    apt-get -y install pbuilder aptitude\n\nCOPY ./ /root/bcc\n\nWORKDIR /root/bcc\n\nRUN /usr/lib/pbuilder/pbuilder-satisfydepends && \\\n    ./scripts/build-deb.sh ${BUILD_TYPE}\n\nFROM ubuntu:${OS_TAG}\n\nCOPY --from=builder /root/bcc/*.deb /root/bcc/\n\nRUN \\\n  apt-get update -y && \\\n  DEBIAN_FRONTEND=noninteractive apt-get install -y python3 python3-pip python-is-python3 binutils libelf1 kmod llvm-12-dev && \\\n  pip3 install dnslib cachetools pyelftools  && \\\n  dpkg -i /root/bcc/*.deb && \\\n  apt-get clean\n"
  },
  {
    "path": "docker/build/Dockerfile.fedora",
    "content": "# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nARG VERSION=\"34\"\nFROM fedora:${VERSION}\n\nARG RUBY_INSTALL_VERSION=\"0.8.4\"\nENV RUBY_INSTALL_VERSION=$RUBY_INSTALL_VERSION\n\nARG RUBY_VERSION=\"3.1.2\"\nENV RUBY_VERSION=$RUBY_VERSION\n\nMAINTAINER Dave Marchevsky <davemarchevsky@fb.com>\n\nRUN dnf -y install \\\n\tbison \\\n\tcmake \\\n\tflex \\\n\tgcc \\\n\tgcc-c++ \\\n\tgit \\\n\tlibxml2-devel \\\n\tmake \\\n\trpm-build \\\n\twget \\\n\tzlib-devel \\\n\tllvm \\\n\tllvm-devel \\\n\tclang-devel \\\n\telfutils-debuginfod-client-devel \\\n#\telfutils-libelf-devel-static \\\n\telfutils-libelf-devel \\\n\tpython3-devel \\\n\tlibstdc++ \\\n\tlibstdc++-devel \\\n\tsystemtap-sdt-devel\n\nRUN dnf -y install \\\n\tpython3 \\\n\tpython3-pip\n\nRUN dnf -y install \\\n       rust \\\n       cargo\n\nRUN if [[ ! -e /usr/bin/python && -e /usr/bin/python3 ]]; then \\\n        ln -s $(readlink /usr/bin/python3) /usr/bin/python; \\\n    fi\n\nRUN dnf -y install \\\n\tprocps \\\n\tiputils \\\n\tnet-tools \\\n\thostname \\\n\tiproute \\\n\tbpftool \\\n\tiperf \\\n\tnetperf \\\n\tpython3-pyroute2 \\\n\tpython3-netaddr \\\n\tpython3-dnslib \\\n\tpython3-cachetools \\\n\tpython3-pyelftools\n\nRUN wget -O ruby-install-${RUBY_INSTALL_VERSION}.tar.gz \\\n         https://github.com/postmodern/ruby-install/archive/v${RUBY_INSTALL_VERSION}.tar.gz && \\\n    tar -xzvf ruby-install-${RUBY_INSTALL_VERSION}.tar.gz && \\\n    cd ruby-install-${RUBY_INSTALL_VERSION}/ && \\\n    make install && \\\n    cd .. && \\\n    rm -rf ruby-install-${RUBY_INSTALL_VERSION}*\n\nRUN ruby-install --system ruby ${RUBY_VERSION} -c -- --enable-dtrace\n\n"
  },
  {
    "path": "docker/build/Dockerfile.ubuntu",
    "content": "ARG VERSION=\"24.04\"\nFROM ubuntu:${VERSION}\n\nARG LLVM_VERSION=\"15\"\nENV LLVM_VERSION=$LLVM_VERSION\n\nARG SHORTNAME=\"noble\"\n\nARG RUBY_INSTALL_VERSION=\"0.8.4\"\nENV RUBY_INSTALL_VERSION=$RUBY_INSTALL_VERSION\n\nARG RUBY_VERSION=\"3.3.6\"\nENV RUBY_VERSION=$RUBY_VERSION\n\nRUN /bin/bash -c 'apt-get update && apt-get install -y curl gnupg &&\\\n    llvmRepository=\"\\n\\\ndeb http://apt.llvm.org/${SHORTNAME}/ llvm-toolchain-${SHORTNAME} main\\n\\\ndeb-src http://apt.llvm.org/${SHORTNAME}/ llvm-toolchain-${SHORTNAME} main\\n\" && \\\necho -e $llvmRepository >> /etc/apt/sources.list && \\\nread -ra versions <<<\"${LLVM_VERSION}\" && \\\nfor version in ${versions[@]}; \\\ndo \\\n    llvmRepository=\"\\n\\\ndeb http://apt.llvm.org/${SHORTNAME}/ llvm-toolchain-${SHORTNAME}-${version} main\\n\\\ndeb-src http://apt.llvm.org/${SHORTNAME}/ llvm-toolchain-${SHORTNAME}-${version} main\\n\" &&\\\n    echo -e $llvmRepository >> /etc/apt/sources.list; done && \\\n    curl -L https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -'\n\nARG DEBIAN_FRONTEND=\"noninteractive\"\nENV TZ=\"Etc/UTC\"\n\nRUN /bin/bash -c 'apt-get install -y \\\n      util-linux \\\n      bison \\\n      binutils-dev \\\n      cmake \\\n      flex \\\n      g++ \\\n      git \\\n      kmod \\\n      wget \\\n      libelf-dev \\\n      zlib1g-dev \\\n      libiberty-dev \\\n      liblzma-dev \\\n      libbfd-dev \\\n      libedit-dev \\\n      systemtap-sdt-dev \\\n      sudo \\\n      iproute2 \\\n      python3 \\\n      python3-pip \\\n      ethtool \\\n      arping \\\n      netperf \\\n      iperf \\\n      iputils-ping \\\n      bridge-utils \\\n      libtinfo6 \\\n      libtinfo-dev \\\n      libzstd-dev \\\n      xz-utils \\\n      zip && \\\n      read -ra versions <<<\"${LLVM_VERSION}\" && \\\nfor version in ${versions[@]}; \\\ndo \\\n    apt-get install -y \\\n      clang-${version} \\\n      libclang-${version}-dev \\\n      libclang-common-${version}-dev \\\n      libclang1-${version} \\\n      llvm-${version} \\\n      llvm-${version}-dev \\\n      llvm-${version}-runtime \\\n      libllvm${version} && \\\n      if [ \"${version}\" -ge \"15\" ]; \\\n      then \\\n        apt-get install -y libpolly-${version}-dev; \\\n      fi; \\\ndone \\\n&& \\\n      apt-get -y clean'\n\nRUN apt-get install -y python3-setuptools \\\n      python3-pyroute2 \\\n      python3-netaddr \\\n      python3-dnslib \\\n      python3-cachetools \\\n      python3-pyelftools\n\n# FIXME this is faster than building from source, but it seems there is a bug\n# in probing libruby.so rather than ruby binary\n#RUN apt-get update -qq && \\\n#    apt-get install -y software-properties-common && \\\n#    apt-add-repository ppa:brightbox/ruby-ng && \\\n#    apt-get update -qq && apt-get install -y ruby2.6 ruby2.6-dev\n\nRUN wget -O ruby-install-${RUBY_INSTALL_VERSION}.tar.gz \\\n         https://github.com/postmodern/ruby-install/archive/v${RUBY_INSTALL_VERSION}.tar.gz && \\\n    tar -xzvf ruby-install-${RUBY_INSTALL_VERSION}.tar.gz && \\\n    cd ruby-install-${RUBY_INSTALL_VERSION}/ && \\\n    make install && \\\n    cd .. && \\\n    rm -rf ruby-install-${RUBY_INSTALL_VERSION}*\n\nRUN ruby-install --system ruby ${RUBY_VERSION} -c -- --enable-dtrace\nRUN if [ ! -f \"/usr/bin/python\" ]; then ln -s /bin/python3 /usr/bin/python; fi\nRUN if [ ! -f \"/usr/local/bin/python\" ]; then ln -s /usr/bin/python3 /usr/local/bin/python; fi\n"
  },
  {
    "path": "docs/kernel-versions.md",
    "content": "# BPF Features by Linux Kernel Version\n\n## eBPF support\n\nKernel version | Commit\n---------------|-------\n3.15 | [`bd4cf0ed331a`](https://github.com/torvalds/linux/commit/bd4cf0ed331a275e9bf5a49e6d0fd55dffc551b8)\n\n## JIT compiling\n\nThe list of supported architectures for your kernel can be retrieved with:\n\n    git grep HAVE_EBPF_JIT arch/\n\nFeature / Architecture | Kernel version | Commit\n-----------------------|----------------|-------\nx86\\_64                            | 3.16 | [`622582786c9e`](https://github.com/torvalds/linux/commit/622582786c9e041d0bd52bde201787adeab249f8)\nARM64                              | 3.18 | [`e54bcde3d69d`](https://github.com/torvalds/linux/commit/e54bcde3d69d40023ae77727213d14f920eb264a)\ns390                               | 4.1  | [`054623105728`](https://github.com/torvalds/linux/commit/054623105728b06852f077299e2bf1bf3d5f2b0b)\nConstant blinding for JIT machines | 4.7  | [`4f3446bb809f`](https://github.com/torvalds/linux/commit/4f3446bb809f20ad56cadf712e6006815ae7a8f9)\nPowerPC64                          | 4.8  | [`156d0e290e96`](https://github.com/torvalds/linux/commit/156d0e290e969caba25f1851c52417c14d141b24)\nConstant blinding - PowerPC64      | 4.9  | [`b7b7013cac55`](https://github.com/torvalds/linux/commit/b7b7013cac55d794940bd9cb7b7c55c9dececac4)\nSparc64                            | 4.12 | [`7a12b5031c6b`](https://github.com/torvalds/linux/commit/7a12b5031c6b947cc13918237ae652b536243b76)\nMIPS                               | 4.13 | [`f381bf6d82f0`](https://github.com/torvalds/linux/commit/f381bf6d82f032b7410185b35d000ea370ac706b)\nARM32                              | 4.14 | [`39c13c204bb1`](https://github.com/torvalds/linux/commit/39c13c204bb1150d401e27d41a9d8b332be47c49)\nx86\\_32                            | 4.18 | [`03f5781be2c7`](https://github.com/torvalds/linux/commit/03f5781be2c7b7e728d724ac70ba10799cc710d7)\nRISC-V RV64G                       | 5.1  | [`2353ecc6f91f`](https://github.com/torvalds/linux/commit/2353ecc6f91fd15b893fa01bf85a1c7a823ee4f2)\nRISC-V RV32G                       | 5.7  | [`5f316b65e99f`](https://github.com/torvalds/linux/commit/5f316b65e99f109942c556dc8790abd4c75bcb34)\nPowerPC32                          | 5.13 | [`51c66ad849a7`](https://github.com/torvalds/linux/commit/51c66ad849a703d9bbfd7704c941827aed0fd9fd)\nLoongArch                          | 6.1  | [`5dc615520c4d`](https://github.com/torvalds/linux/commit/5dc615520c4dfb358245680f1904bad61116648e)\n\n## Main features\n\nSeveral (but not all) of these _main features_ translate to an eBPF program type.\nThe list of such program types supported in your kernel can be found in file\n[`include/uapi/linux/bpf.h`](https://github.com/torvalds/linux/blob/master/include/uapi/linux/bpf.h):\n\n    git grep -W 'bpf_prog_type {' include/uapi/linux/bpf.h\n\nFeature | Kernel version | Commit\n--------|----------------|-------\n`AF_PACKET` (libpcap/tcpdump, `cls_bpf` classifier, netfilter's `xt_bpf`, team driver's load-balancing mode…) | 3.15 | [`bd4cf0ed331a`](https://github.com/torvalds/linux/commit/bd4cf0ed331a275e9bf5a49e6d0fd55dffc551b8)\nKernel helpers | 3.15 | [`bd4cf0ed331a`](https://github.com/torvalds/linux/commit/bd4cf0ed331a275e9bf5a49e6d0fd55dffc551b8)\n`bpf()` syscall | 3.18 | [`99c55f7d47c0`](https://github.com/torvalds/linux/commit/99c55f7d47c0dc6fc64729f37bf435abf43f4c60)\nMaps (_a.k.a._ Tables; details below) | 3.18 | [`99c55f7d47c0`](https://github.com/torvalds/linux/commit/99c55f7d47c0dc6fc64729f37bf435abf43f4c60)\nBPF attached to sockets | 3.19 | [`89aa075832b0`](https://github.com/torvalds/linux/commit/89aa075832b0da4402acebd698d0411dcc82d03e)\nBPF attached to `kprobes` | 4.1 | [`2541517c32be`](https://github.com/torvalds/linux/commit/2541517c32be2531e0da59dfd7efc1ce844644f5)\n`cls_bpf` / `act_bpf` for `tc` | 4.1 | [`e2e9b6541dd4`](https://github.com/torvalds/linux/commit/e2e9b6541dd4b31848079da80fe2253daaafb549)\nTail calls | 4.2 | [`04fd61ab36ec`](https://github.com/torvalds/linux/commit/04fd61ab36ec065e194ab5e74ae34a5240d992bb)\nNon-root programs on sockets | 4.4 | [`1be7f75d1668`](https://github.com/torvalds/linux/commit/1be7f75d1668d6296b80bf35dcf6762393530afc)\nPersistent maps and programs (virtual FS) | 4.4 | [`b2197755b263`](https://github.com/torvalds/linux/commit/b2197755b2633e164a439682fb05a9b5ea48f706)\n`tc`'s `direct-action` (`da`) mode | 4.4 | [`045efa82ff56`](https://github.com/torvalds/linux/commit/045efa82ff563cd4e656ca1c2e354fa5bf6bbda4)\n`tc`'s `clsact` qdisc | 4.5 | [`1f211a1b929c`](https://github.com/torvalds/linux/commit/1f211a1b929c804100e138c5d3d656992cfd5622)\nBPF attached to tracepoints | 4.7 | [`98b5c2c65c29`](https://github.com/torvalds/linux/commit/98b5c2c65c2951772a8fc661f50d675e450e8bce)\nDirect packet access | 4.7 | [`969bf05eb3ce`](https://github.com/torvalds/linux/commit/969bf05eb3cedd5a8d4b7c346a85c2ede87a6d6d)\nXDP (see below) | 4.8 | [`6a773a15a1e8`](https://github.com/torvalds/linux/commit/6a773a15a1e8874e5eccd2f29190c31085912c95)\nBPF attached to perf events | 4.9 | [`0515e5999a46`](https://github.com/torvalds/linux/commit/0515e5999a466dfe6e1924f460da599bb6821487)\nHardware offload for `tc`'s `cls_bpf` | 4.9 | [`332ae8e2f6ec`](https://github.com/torvalds/linux/commit/332ae8e2f6ecda5e50c5c62ed62894963e3a83f5)\nVerifier exposure and internal hooks | 4.9 | [`13a27dfc6697`](https://github.com/torvalds/linux/commit/13a27dfc669724564aafa2699976ee756029fed2)\nBPF attached to cgroups for socket filtering | 4.10 | [`0e33661de493`](https://github.com/torvalds/linux/commit/0e33661de493db325435d565a4a722120ae4cbf3)\nLightweight tunnel encapsulation | 4.10 | [`3a0af8fd61f9`](https://github.com/torvalds/linux/commit/3a0af8fd61f90920f6fa04e4f1e9a6a73c1b4fd2)\n**e**BPF support for `xt_bpf` module (iptables) | 4.10 | [`2c16d6033264`](https://github.com/torvalds/linux/commit/2c16d60332643e90d4fa244f4a706c454b8c7569)\nBPF program tag | 4.10 | [`7bd509e311f4`](https://github.com/torvalds/linux/commit/7bd509e311f408f7a5132fcdde2069af65fa05ae)\nTracepoints to debug BPF | 4.11 (removed in 4.18) | [`a67edbf4fb6d`](https://github.com/torvalds/linux/commit/a67edbf4fb6deadcfe57a04a134abed4a5ba3bb5) [`4d220ed0f814`](https://github.com/torvalds/linux/commit/4d220ed0f8140c478ab7b0a14d96821da639b646)\nTesting / benchmarking BPF programs | 4.12 | [`1cf1cae963c2`](https://github.com/torvalds/linux/commit/1cf1cae963c2e6032aebe1637e995bc2f5d330f4)\nBPF programs and maps IDs | 4.13 | [`dc4bb0e23561`](https://github.com/torvalds/linux/commit/dc4bb0e2356149aee4cdae061936f3bbdd45595c)\nBPF support for `sock_ops` | 4.13 | [`40304b2a1567`](https://github.com/torvalds/linux/commit/40304b2a1567fecc321f640ee4239556dd0f3ee0)\nBPF support for skbs on sockets | 4.14 | [`b005fd189cec`](https://github.com/torvalds/linux/commit/b005fd189cec9407b700599e1e80e0552446ee79)\nbpftool utility in kernel sources | 4.15 | [`71bb428fe2c1`](https://github.com/torvalds/linux/commit/71bb428fe2c19512ac671d5ee16ef3e73e1b49a8)\nBPF attached to cgroups as device controller | 4.15 | [`ebc614f68736`](https://github.com/torvalds/linux/commit/ebc614f687369f9df99828572b1d85a7c2de3d92)\nbpf2bpf function calls | 4.16 |  [`cc8b0b92a169`](https://github.com/torvalds/linux/commit/cc8b0b92a1699bc32f7fec71daa2bfc90de43a4d)\nBPF used for monitoring socket RX/TX data | 4.17 | [`4f738adba30a`](https://github.com/torvalds/linux/commit/4f738adba30a7cfc006f605707e7aee847ffefa0)\nBPF attached to raw tracepoints | 4.17 | [`c4f6699dfcb8`](https://github.com/torvalds/linux/commit/c4f6699dfcb8558d138fe838f741b2c10f416cf9)\nBPF attached to `bind()` system call | 4.17 | [`4fbac77d2d09`](https://github.com/torvalds/linux/commit/4fbac77d2d092b475dda9eea66da674369665427) [`aac3fc320d94`](https://github.com/torvalds/linux/commit/aac3fc320d9404f2665a8b1249dc3170d5fa3caf)\nBPF attached to `connect()` system call | 4.17 | [`d74bad4e74ee`](https://github.com/torvalds/linux/commit/d74bad4e74ee373787a9ae24197c17b7cdc428d5)\nBPF Type Format (BTF) | 4.18 | [`69b693f0aefa`](https://github.com/torvalds/linux/commit/69b693f0aefa0ed521e8bd02260523b5ae446ad7)\nAF_XDP | 4.18 |  [`fbfc504a24f5`](https://github.com/torvalds/linux/commit/fbfc504a24f53f7ebe128ab55cb5dba634f4ece8)\nbpfilter | 4.18 |  [`d2ba09c17a06`](https://github.com/torvalds/linux/commit/d2ba09c17a0647f899d6c20a11bab9e6d3382f07)\nEnd.BPF action for seg6local LWT | 4.18 |  [`004d4b274e2a`](https://github.com/torvalds/linux/commit/004d4b274e2a1a895a0e5dc66158b90a7d463d44)\nBPF attached to LIRC devices | 4.18 |  [`f4364dcfc86d`](https://github.com/torvalds/linux/commit/f4364dcfc86df7c1ca47b256eaf6b6d0cdd0d936)\nPass map values to map helpers | 4.18 | [`d71962f3e627`](https://github.com/torvalds/linux/commit/d71962f3e627b5941804036755c844fabfb65ff5)\nBPF socket reuseport | 4.19 | [`2dbb9b9e6df6`](https://github.com/torvalds/linux/commit/2dbb9b9e6df67d444fbe425c7f6014858d337adf)\nBPF flow dissector | 4.20 | [`d58e468b1112`](https://github.com/torvalds/linux/commit/d58e468b1112dcd1d5193c0a89ff9f98b5a3e8b9)\nBPF 1M insn limit | 5.2 | [`c04c0d2b968a`](https://github.com/torvalds/linux/commit/c04c0d2b968ac45d6ef020316808ef6c82325a82)\nBPF cgroup sysctl | 5.2 | [`7b146cebe30c`](https://github.com/torvalds/linux/commit/7b146cebe30cb481b0f70d85779da938da818637)\nBPF raw tracepoint writable | 5.2 | [`9df1c28bb752`](https://github.com/torvalds/linux/commit/9df1c28bb75217b244257152ab7d788bb2a386d0)\nBPF bounded loop | 5.3 | [`2589726d12a1`](https://github.com/torvalds/linux/commit/2589726d12a1b12eaaa93c7f1ea64287e383c7a5)\nBPF trampoline | 5.5 | [`fec56f5890d9`](https://github.com/torvalds/linux/commit/fec56f5890d93fc2ed74166c397dc186b1c25951)\nBPF LSM hook | 5.7 | [`fc611f47f218`](https://github.com/torvalds/linux/commit/fc611f47f2188ade2b48ff6902d5cce8baac0c58) [`641cd7b06c91`](https://github.com/torvalds/linux/commit/641cd7b06c911c5935c34f24850ea18690649917)\nBPF iterator | 5.8 | [`180139dca8b3`](https://github.com/torvalds/linux/commit/180139dca8b38c858027b8360ee10064fdb2fbf7)\nBPF socket lookup hook | 5.9 | [`e9ddbb7707ff`](https://github.com/torvalds/linux/commit/e9ddbb7707ff5891616240026062b8c1e29864ca)\nSleepable BPF programs | 5.10 | [`1e6c62a88215`](https://github.com/torvalds/linux/commit/1e6c62a8821557720a9b2ea9617359b264f2f67c)\nMixing bpf2bpf function calls and tailcalls (x86\\_64) | 5.10 | [`e411901c0b77`](https://github.com/torvalds/linux/commit/e411901c0b775a3ae7f3e2505f8d2d90ac696178)\nMixing bpf2bpf function calls and tailcalls (arm64) | 6.0 | [`d4609a5d8c70`](https://github.com/torvalds/linux/commit/d4609a5d8c70d21b4a3f801cf896a3c16c613fe1)\nMixing bpf2bpf function calls and tailcalls (s390) | 6.3 | [`dd691e847d28`](https://github.com/torvalds/linux/commit/dd691e847d28ac5f8b8e3005be44fd0e46722809)\nMixing bpf2bpf function calls and tailcalls (loongarch) | 6.4 | [`bb035ef0cc91`](https://github.com/torvalds/linux/commit/bb035ef0cc91e115faa80187ac8886a7f1914d06)\n\n\n### Program types\n\nProgram type | Kernel version | Commit | Enum\n-------------|----------------|--------|-----\nSocket filter                  | 3.19 | [`ddd872bc3098`](https://github.com/torvalds/linux/commit/ddd872bc3098f9d9abe1680a6b2013e59e3337f7) | BPF_PROG_TYPE_SOCKET_FILTER\nKprobe                         | 4.1  | [`2541517c32be`](https://github.com/torvalds/linux/commit/2541517c32be2531e0da59dfd7efc1ce844644f5) | BPF_PROG_TYPE_KPROBE\ntraffic control (TC)           | 4.1  | [`96be4325f443`](https://github.com/torvalds/linux/commit/96be4325f443dbbfeb37d2a157675ac0736531a1) | BPF_PROG_TYPE_SCHED_CLS\ntraffic control (TC)           | 4.1  | [`94caee8c312d`](https://github.com/torvalds/linux/commit/94caee8c312d96522bcdae88791aaa9ebcd5f22c) | BPF_PROG_TYPE_SCHED_ACT\nTracepoint                     | 4.7  | [`98b5c2c65c29`](https://github.com/torvalds/linux/commit/98b5c2c65c2951772a8fc661f50d675e450e8bce) | BPF_PROG_TYPE_TRACEPOINT\nXDP                            | 4.8  | [`6a773a15a1e8`](https://github.com/torvalds/linux/commit/6a773a15a1e8874e5eccd2f29190c31085912c95) | BPF_PROG_TYPE_XDP\nPerf event                     | 4.9  | [`0515e5999a46`](https://github.com/torvalds/linux/commit/0515e5999a466dfe6e1924f460da599bb6821487) | BPF_PROG_TYPE_PERF_EVENT\ncgroup socket filtering        | 4.10 | [`0e33661de493`](https://github.com/torvalds/linux/commit/0e33661de493db325435d565a4a722120ae4cbf3) | BPF_PROG_TYPE_CGROUP_SKB\ncgroup sock modification       | 4.10 | [`610236587600`](https://github.com/torvalds/linux/commit/61023658760032e97869b07d54be9681d2529e77) | BPF_PROG_TYPE_CGROUP_SOCK\nlightweight tunnel (IN)        | 4.10 | [`3a0af8fd61f9`](https://github.com/torvalds/linux/commit/3a0af8fd61f90920f6fa04e4f1e9a6a73c1b4fd2) | BPF_PROG_TYPE_LWT_IN\nlightweight tunnel (OUT)       | 4.10 | [`3a0af8fd61f9`](https://github.com/torvalds/linux/commit/3a0af8fd61f90920f6fa04e4f1e9a6a73c1b4fd2) | BPF_PROG_TYPE_LWT_OUT\nlightweight tunnel (XMIT)      | 4.10 | [`3a0af8fd61f9`](https://github.com/torvalds/linux/commit/3a0af8fd61f90920f6fa04e4f1e9a6a73c1b4fd2) | BPF_PROG_TYPE_LWT_XMIT\ncgroup sock ops (per conn)     | 4.13 | [`40304b2a1567`](https://github.com/torvalds/linux/commit/40304b2a1567fecc321f640ee4239556dd0f3ee0) | BPF_PROG_TYPE_SOCK_OPS\nstream parser / stream verdict | 4.14 | [`b005fd189cec`](https://github.com/torvalds/linux/commit/b005fd189cec9407b700599e1e80e0552446ee79) | BPF_PROG_TYPE_SK_SKB\ncgroup device manager          | 4.15 | [`ebc614f68736`](https://github.com/torvalds/linux/commit/ebc614f687369f9df99828572b1d85a7c2de3d92) | BPF_PROG_TYPE_CGROUP_DEVICE\nsocket msg verdict             | 4.17 | [`4f738adba30a`](https://github.com/torvalds/linux/commit/4f738adba30a7cfc006f605707e7aee847ffefa0) | BPF_PROG_TYPE_SK_MSG\nRaw tracepoint                 | 4.17 | [`c4f6699dfcb8`](https://github.com/torvalds/linux/commit/c4f6699dfcb8558d138fe838f741b2c10f416cf9) | BPF_PROG_TYPE_RAW_TRACEPOINT\nsocket binding                 | 4.17 | [`4fbac77d2d09`](https://github.com/torvalds/linux/commit/4fbac77d2d092b475dda9eea66da674369665427) | BPF_PROG_TYPE_CGROUP_SOCK_ADDR\nLWT seg6local                  | 4.18 | [`004d4b274e2a`](https://github.com/torvalds/linux/commit/004d4b274e2a1a895a0e5dc66158b90a7d463d44) | BPF_PROG_TYPE_LWT_SEG6LOCAL\nlirc devices                   | 4.18 | [`f4364dcfc86d`](https://github.com/torvalds/linux/commit/f4364dcfc86df7c1ca47b256eaf6b6d0cdd0d936) | BPF_PROG_TYPE_LIRC_MODE2\nlookup SO_REUSEPORT socket     | 4.19 | [`2dbb9b9e6df6`](https://github.com/torvalds/linux/commit/2dbb9b9e6df67d444fbe425c7f6014858d337adf) | BPF_PROG_TYPE_SK_REUSEPORT\nflow dissector                 | 4.20 | [`d58e468b1112`](https://github.com/torvalds/linux/commit/d58e468b1112dcd1d5193c0a89ff9f98b5a3e8b9) | BPF_PROG_TYPE_FLOW_DISSECTOR\ncgroup sysctl                  | 5.2  | [`7b146cebe30c`](https://github.com/torvalds/linux/commit/7b146cebe30cb481b0f70d85779da938da818637) | BPF_PROG_TYPE_CGROUP_SYSCTL\nwritable raw tracepoints       | 5.2  | [`9df1c28bb752`](https://github.com/torvalds/linux/commit/9df1c28bb75217b244257152ab7d788bb2a386d0) | BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE\ncgroup getsockopt/setsockopt   | 5.3  | [`0d01da6afc54`](https://github.com/torvalds/linux/commit/0d01da6afc5402f60325c5da31b22f7d56689b49) | BPF_PROG_TYPE_CGROUP_SOCKOPT\nTracing (BTF/BPF trampoline)   | 5.5  | [`f1b9509c2fb0`](https://github.com/torvalds/linux/commit/f1b9509c2fb0ef4db8d22dac9aef8e856a5d81f6) | BPF_PROG_TYPE_TRACING\nstruct ops                     | 5.6  | [`27ae7997a661`](https://github.com/torvalds/linux/commit/27ae7997a66174cb8afd6a75b3989f5e0c1b9e5a) | BPF_PROG_TYPE_STRUCT_OPS\nextensions                     | 5.6  | [`be8704ff07d2`](https://github.com/torvalds/linux/commit/be8704ff07d2374bcc5c675526f95e70c6459683) | BPF_PROG_TYPE_EXT\nLSM                            | 5.7  | [`fc611f47f218`](https://github.com/torvalds/linux/commit/fc611f47f2188ade2b48ff6902d5cce8baac0c58) | BPF_PROG_TYPE_LSM\nlookup listening socket        | 5.9  | [`e9ddbb7707ff`](https://github.com/torvalds/linux/commit/e9ddbb7707ff5891616240026062b8c1e29864ca) | BPF_PROG_TYPE_SK_LOOKUP\nAllow executing syscalls       | 5.15 | [`79a7f8bdb159`](https://github.com/torvalds/linux/commit/79a7f8bdb159d9914b58740f3d31d602a6e4aca8) | BPF_PROG_TYPE_SYSCALL\n\n## Maps (_a.k.a._ Tables, in BCC lingo)\n\n### Map types\n\nThe list of map types supported in your kernel can be found in file\n[`include/uapi/linux/bpf.h`](https://github.com/torvalds/linux/blob/master/include/uapi/linux/bpf.h):\n\n    git grep -W 'bpf_map_type {' include/uapi/linux/bpf.h\n\n Map type | Kernel version | Commit | Enum\n----------|----------------|--------|------\nHash                            | 3.19 | [`0f8e4bd8a1fc`](https://github.com/torvalds/linux/commit/0f8e4bd8a1fc8c4185f1630061d0a1f2d197a475) | BPF_MAP_TYPE_HASH\nArray                           | 3.19 | [`28fbcfa08d8e`](https://github.com/torvalds/linux/commit/28fbcfa08d8ed7c5a50d41a0433aad222835e8e3) | BPF_MAP_TYPE_ARRAY\nProg array                      | 4.2  | [`04fd61ab36ec`](https://github.com/torvalds/linux/commit/04fd61ab36ec065e194ab5e74ae34a5240d992bb) | BPF_MAP_TYPE_PROG_ARRAY\nPerf events                     | 4.3  | [`ea317b267e9d`](https://github.com/torvalds/linux/commit/ea317b267e9d03a8241893aa176fba7661d07579) | BPF_MAP_TYPE_PERF_EVENT_ARRAY\nPer-CPU hash                    | 4.6  | [`824bd0ce6c7c`](https://github.com/torvalds/linux/commit/824bd0ce6c7c43a9e1e210abf124958e54d88342) | BPF_MAP_TYPE_PERCPU_HASH\nPer-CPU array                   | 4.6  | [`a10423b87a7e`](https://github.com/torvalds/linux/commit/a10423b87a7eae75da79ce80a8d9475047a674ee) | BPF_MAP_TYPE_PERCPU_ARRAY\nStack trace                     | 4.6  | [`d5a3b1f69186`](https://github.com/torvalds/linux/commit/d5a3b1f691865be576c2bffa708549b8cdccda19) | BPF_MAP_TYPE_STACK_TRACE\ncgroup array                    | 4.8  | [`4ed8ec521ed5`](https://github.com/torvalds/linux/commit/4ed8ec521ed57c4e207ad464ca0388776de74d4b) | BPF_MAP_TYPE_CGROUP_ARRAY\nLRU hash                        | 4.10 | [`29ba732acbee`](https://github.com/torvalds/linux/commit/29ba732acbeece1e34c68483d1ec1f3720fa1bb3) [`3a08c2fd7634`](https://github.com/torvalds/linux/commit/3a08c2fd763450a927d1130de078d6f9e74944fb) | BPF_MAP_TYPE_LRU_HASH\nLRU per-CPU hash                | 4.10 | [`8f8449384ec3`](https://github.com/torvalds/linux/commit/8f8449384ec364ba2a654f11f94e754e4ff719e0) [`961578b63474`](https://github.com/torvalds/linux/commit/961578b63474d13ad0e2f615fcc2901c5197dda6) | BPF_MAP_TYPE_LRU_PERCPU_HASH\nLPM trie (longest-prefix match) | 4.11 | [`b95a5c4db09b`](https://github.com/torvalds/linux/commit/b95a5c4db09bc7c253636cb84dc9b12c577fd5a0) | BPF_MAP_TYPE_LPM_TRIE\nArray of maps                   | 4.12 | [`56f668dfe00d`](https://github.com/torvalds/linux/commit/56f668dfe00dcf086734f1c42ea999398fad6572) | BPF_MAP_TYPE_ARRAY_OF_MAPS\nHash of maps                    | 4.12 | [`bcc6b1b7ebf8`](https://github.com/torvalds/linux/commit/bcc6b1b7ebf857a9fe56202e2be3361131588c15) | BPF_MAP_TYPE_HASH_OF_MAPS\nNetdevice references (array)    | 4.14 | [`546ac1ffb70d`](https://github.com/torvalds/linux/commit/546ac1ffb70d25b56c1126940e5ec639c4dd7413) | BPF_MAP_TYPE_DEVMAP\nSocket references (array)       | 4.14 | [`174a79ff9515`](https://github.com/torvalds/linux/commit/174a79ff9515f400b9a6115643dafd62a635b7e6) | BPF_MAP_TYPE_SOCKMAP\nCPU references                  | 4.15 | [`6710e1126934`](https://github.com/torvalds/linux/commit/6710e1126934d8b4372b4d2f9ae1646cd3f151bf) | BPF_MAP_TYPE_CPUMAP\nAF_XDP socket (XSK) references  | 4.18 | [`fbfc504a24f5`](https://github.com/torvalds/linux/commit/fbfc504a24f53f7ebe128ab55cb5dba634f4ece8) | BPF_MAP_TYPE_XSKMAP\nSocket references (hashmap)     | 4.18 | [`81110384441a`](https://github.com/torvalds/linux/commit/81110384441a59cff47430f20f049e69b98c17f4) | BPF_MAP_TYPE_SOCKHASH\ncgroup storage                  | 4.19 | [`de9cbbaadba5`](https://github.com/torvalds/linux/commit/de9cbbaadba5adf88a19e46df61f7054000838f6) | BPF_MAP_TYPE_CGROUP_STORAGE\nreuseport sockarray             | 4.19 | [`5dc4c4b7d4e8`](https://github.com/torvalds/linux/commit/5dc4c4b7d4e8115e7cde96a030f98cb3ab2e458c) | BPF_MAP_TYPE_REUSEPORT_SOCKARRAY\npercpu cgroup storage           | 4.20 | [`b741f1630346`](https://github.com/torvalds/linux/commit/b741f1630346defcbc8cc60f1a2bdae8b3b0036f) | BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE\nqueue                           | 4.20 | [`f1a2e44a3aec`](https://github.com/torvalds/linux/commit/f1a2e44a3aeccb3ff18d3ccc0b0203e70b95bd92) | BPF_MAP_TYPE_QUEUE\nstack                           | 4.20 | [`f1a2e44a3aec`](https://github.com/torvalds/linux/commit/f1a2e44a3aeccb3ff18d3ccc0b0203e70b95bd92) | BPF_MAP_TYPE_STACK\nsocket local storage            | 5.2  | [`6ac99e8f23d4`](https://github.com/torvalds/linux/commit/6ac99e8f23d4b10258406ca0dd7bffca5f31da9d) | BPF_MAP_TYPE_SK_STORAGE\nNetdevice references (hashmap)  | 5.4  | [`6f9d451ab1a3`](https://github.com/torvalds/linux/commit/6f9d451ab1a33728adb72d7ff66a7b374d665176) | BPF_MAP_TYPE_DEVMAP_HASH\nstruct ops                      | 5.6  | [`85d33df357b6`](https://github.com/torvalds/linux/commit/85d33df357b634649ddbe0a20fd2d0fc5732c3cb) | BPF_MAP_TYPE_STRUCT_OPS\nring buffer                     | 5.8  | [`457f44363a88`](https://github.com/torvalds/linux/commit/457f44363a8894135c85b7a9afd2bd8196db24ab) | BPF_MAP_TYPE_RINGBUF\ninode storage                   | 5.10 | [`8ea636848aca`](https://github.com/torvalds/linux/commit/8ea636848aca35b9f97c5b5dee30225cf2dd0fe6) | BPF_MAP_TYPE_INODE_STORAGE\ntask storage                    | 5.11 | [`4cf1bc1f1045`](https://github.com/torvalds/linux/commit/4cf1bc1f10452065a29d576fc5693fc4fab5b919) | BPF_MAP_TYPE_TASK_STORAGE\nBloom filter                    | 5.16 | [`9330986c0300`](https://github.com/torvalds/linux/commit/9330986c03006ab1d33d243b7cfe598a7a3c1baa) | BPF_MAP_TYPE_BLOOM_FILTER\nuser ringbuf                    | 6.1  | [`583c1f420173`](https://github.com/torvalds/linux/commit/583c1f420173f7d84413a1a1fbf5109d798b4faa) | BPF_MAP_TYPE_USER_RINGBUF\n\n### Map userspace API\n\nSome (but not all) of these *API features* translate to a subcommand beginning with `BPF_MAP_`.\nThe list of subcommands supported in your kernel can be found in file\n[`include/uapi/linux/bpf.h`](https://github.com/torvalds/linux/blob/master/include/uapi/linux/bpf.h):\n\n    git grep -W 'bpf_cmd {' include/uapi/linux/bpf.h\n\nFeature | Kernel version | Commit\n--------|----------------|-------\nBasic operations (lookup, update, delete, `GET_NEXT_KEY`) | 3.18 | [`db20fd2b0108`](https://github.com/torvalds/linux/commit/db20fd2b01087bdfbe30bce314a198eefedcc42e)\nPass flags to `UPDATE_ELEM` | 3.19 | [`3274f52073d8`](https://github.com/torvalds/linux/commit/3274f52073d88b62f3c5ace82ae9d48546232e72)\nPre-alloc map memory by default | 4.6 | [`6c9059817432`](https://github.com/torvalds/linux/commit/6c90598174322b8888029e40dd84a4eb01f56afe)\nPass `NULL` to `GET_NEXT_KEY` | 4.12 | [`8fe45924387b`](https://github.com/torvalds/linux/commit/8fe45924387be6b5c1be59a7eb330790c61d5d10)\nCreation: select NUMA node | 4.14 | [`96eabe7a40aa`](https://github.com/torvalds/linux/commit/96eabe7a40aa17e613cf3db2c742ee8b1fc764d0)\nRestrict access from syscall side | 4.15 | [`6e71b04a8224`](https://github.com/torvalds/linux/commit/6e71b04a82248ccf13a94b85cbc674a9fefe53f5)\nCreation: specify map name | 4.15 | [`ad5b177bd73f`](https://github.com/torvalds/linux/commit/ad5b177bd73f5107d97c36f56395c4281fb6f089)\n`LOOKUP_AND_DELETE_ELEM` | 4.20 | [`bd513cd08f10`](https://github.com/torvalds/linux/commit/bd513cd08f10cbe28856f99ae951e86e86803861)\nCreation: `BPF_F_ZERO_SEED` | 5.0 | [`96b3b6c9091d`](https://github.com/torvalds/linux/commit/96b3b6c9091d23289721350e32c63cc8749686be)\n`BPF_F_LOCK` flag for lookup / update | 5.1 | [`96049f3afd50`](https://github.com/torvalds/linux/commit/96049f3afd50fe8db69fa0068cdca822e747b1e4)\nRestrict access from BPF side | 5.2 | [`591fe9888d78`](https://github.com/torvalds/linux/commit/591fe9888d7809d9ee5c828020b6c6ae27c37229)\n`FREEZE` | 5.2 | [`87df15de441b`](https://github.com/torvalds/linux/commit/87df15de441bd4add7876ef584da8cabdd9a042a)\nmmap() support for array maps | 5.5 | [`fc9702273e2e`](https://github.com/torvalds/linux/commit/fc9702273e2edb90400a34b3be76f7b08fa3344b)\n`LOOKUP_BATCH` | 5.6 | [`cb4d03ab499d`](https://github.com/torvalds/linux/commit/cb4d03ab499d4c040f4ab6fd4389d2b49f42b5a5)\n`UPDATE_BATCH`, `DELETE_BATCH` | 5.6 | [`aa2e93b8e58e`](https://github.com/torvalds/linux/commit/aa2e93b8e58e18442edfb2427446732415bc215e)\n`LOOKUP_AND_DELETE_BATCH` | 5.6 | [`057996380a42`](https://github.com/torvalds/linux/commit/057996380a42bb64ccc04383cfa9c0ace4ea11f0)\n`LOOKUP_AND_DELETE_ELEM` support for hash maps | 5.14 | [`3e87f192b405`](https://github.com/torvalds/linux/commit/3e87f192b405960c0fe83e0925bd0dadf4f8cf43)\n\n## XDP\n\nAn approximate list of drivers or components supporting XDP programs for your\nkernel can be retrieved with:\n\n    git grep -l XDP_SETUP_PROG drivers/\n\nFeature / Driver | Kernel version | Commit\n-----------------|----------------|-------\nXDP core architecture | 4.8 | [`6a773a15a1e8`](https://github.com/torvalds/linux/commit/6a773a15a1e8874e5eccd2f29190c31085912c95)\nAction: drop | 4.8 | [`6a773a15a1e8`](https://github.com/torvalds/linux/commit/6a773a15a1e8874e5eccd2f29190c31085912c95)\nAction: pass on to stack | 4.8 | [`6a773a15a1e8`](https://github.com/torvalds/linux/commit/6a773a15a1e8874e5eccd2f29190c31085912c95)\nAction: direct forwarding (on same port) | 4.8 | [`6ce96ca348a9`](https://github.com/torvalds/linux/commit/6ce96ca348a9e949f8c43f4d3e98db367d93cffd)\nDirect packet data write | 4.8 | [`4acf6c0b84c9`](https://github.com/torvalds/linux/commit/4acf6c0b84c91243c705303cd9ff16421914150d)\nMellanox `mlx4` driver | 4.8 | [`47a38e155037`](https://github.com/torvalds/linux/commit/47a38e155037f417c5740e24ccae6482aedf4b68)\nMellanox `mlx5` driver | 4.9 | [`86994156c736`](https://github.com/torvalds/linux/commit/86994156c736978d113e7927455d4eeeb2128b9f)\nNetronome `nfp` driver | 4.10 | [`ecd63a0217d5`](https://github.com/torvalds/linux/commit/ecd63a0217d5f1e8a92f7516f5586d1177b95de2)\nQLogic (Cavium) `qed*` drivers | 4.10 | [`496e05170958`](https://github.com/torvalds/linux/commit/496e051709588f832d7a6a420f44f8642b308a87)\n`virtio_net` driver | 4.10 | [`f600b6905015`](https://github.com/torvalds/linux/commit/f600b690501550b94e83e07295d9c8b9c4c39f4e)\nBroadcom `bnxt_en` driver | 4.11 | [`c6d30e8391b8`](https://github.com/torvalds/linux/commit/c6d30e8391b85e00eb544e6cf047ee0160ee9938)\nIntel `ixgbe*` drivers | 4.12 | [`924708081629`](https://github.com/torvalds/linux/commit/9247080816297de4e31abb684939c0e53e3a8a67)\nCavium `thunderx` driver | 4.12 | [`05c773f52b96`](https://github.com/torvalds/linux/commit/05c773f52b96ef3fbc7d9bfa21caadc6247ef7a8)\nGeneric XDP | 4.12 | [`b5cdae3291f7`](https://github.com/torvalds/linux/commit/b5cdae3291f7be7a34e75affe4c0ec1f7f328b64)\nIntel `i40e` driver | 4.13 | [`0c8493d90b6b`](https://github.com/torvalds/linux/commit/0c8493d90b6bb0f5c4fe9217db8f7203f24c0f28)\nAction: redirect | 4.14 | [`6453073987ba`](https://github.com/torvalds/linux/commit/6453073987ba392510ab6c8b657844a9312c67f7)\nSupport for tap | 4.14 | [`761876c857cb`](https://github.com/torvalds/linux/commit/761876c857cb2ef8489fbee01907151da902af91)\nSupport for veth | 4.14 | [`d445516966dc`](https://github.com/torvalds/linux/commit/d445516966dcb2924741b13b27738b54df2af01a)\nIntel `ixgbevf` driver | 4.17 | [`c7aec59657b6`](https://github.com/torvalds/linux/commit/c7aec59657b60f3a29fc7d3274ebefd698879301)\nFreescale `dpaa2` driver | 5.0 | [`7e273a8ebdd3`](https://github.com/torvalds/linux/commit/7e273a8ebdd3b83f94eb8b49fc8ee61464f47cc2)\nSocionext `netsec` driver | 5.3 | [`ba2b232108d3`](https://github.com/torvalds/linux/commit/ba2b232108d3c2951bab02930a00f23b0cffd5af)\nTI `cpsw` driver | 5.3 | [`9ed4050c0d75`](https://github.com/torvalds/linux/commit/9ed4050c0d75768066a07cf66eef4f8dc9d79b52)\nIntel `ice` driver |5.5| [`efc2214b6047`](https://github.com/torvalds/linux/commit/efc2214b6047b6f5b4ca53151eba62521b9452d6)\nSolarflare `sfc` driver | 5.5 | [`eb9a36be7f3e`](https://github.com/torvalds/linux/commit/eb9a36be7f3ec414700af9a616f035eda1f1e63e)\nMarvell `mvneta` driver | 5.5 | [`0db51da7a8e9`](https://github.com/torvalds/linux/commit/0db51da7a8e99f0803ec3a8e25c1a66234a219cb)\nMicrosoft `hv_netvsc` driver | 5.6 | [`351e1581395f`](https://github.com/torvalds/linux/commit/351e1581395fcc7fb952bbd7dda01238f69968fd)\nAmazon `ena` driver | 5.6 | [`838c93dc5449`](https://github.com/torvalds/linux/commit/838c93dc5449e5d6378bae117b0a65a122cf7361)\n`xen-netfront` driver | 5.9 | [`6c5aa6fc4def`](https://github.com/torvalds/linux/commit/6c5aa6fc4defc2a0977a2c59e4710d50fa1e834c)\nMarvell `mvpp2` driver | 5.9 | [`07dd0a7aae7f`](https://github.com/torvalds/linux/commit/07dd0a7aae7f72af7cec18909581c2bb570edddc)\nIntel `igb` driver | 5.10 | [`9cbc948b5a20`](https://github.com/torvalds/linux/commit/9cbc948b5a20c9c054d9631099c0426c16da546b)\nFreescale `dpaa` driver | 5.11 | [`86c0c196cbe4`](https://github.com/torvalds/linux/commit/86c0c196cbe48f844721783d9162e46bc35c0c5a)\nIntel `igc` driver | 5.13 | [`26575105d6ed`](https://github.com/torvalds/linux/commit/26575105d6ed8e2a8e43bd008fc7d98b75b90d5c)\nFreescale `enetc` driver | 5.13 | [`d1b15102dd16`](https://github.com/torvalds/linux/commit/d1b15102dd16adc17fd5e4db8a485e6459f98906)\nSTMicro `stmmac` driver | 5.13 | [`5fabb01207a2`](https://github.com/torvalds/linux/commit/5fabb01207a2d3439a6abe1d08640de9c942945f)\n`bonding` driver | 5.15 | [`9e2ee5c7e7c3`](https://github.com/torvalds/linux/commit/9e2ee5c7e7c35d195e2aa0692a7241d47a433d1e)\nMarvell `otx2` | 5.16 | [`06059a1a9a4a`](https://github.com/torvalds/linux/commit/06059a1a9a4a58f139352c65b02989ea6077091a)\nMicrosoft `mana` driver | 5.17 | [`ed5356b53f07`](https://github.com/torvalds/linux/commit/ed5356b53f070dea5dff5a01b740561cb8222199)\nFungible `fun` driver | 5.18 | [`db37bc177dae`](https://github.com/torvalds/linux/commit/db37bc177dae89cef6fc37bdbe6b223929f70245)\nAquantia `atlantic` driver | 5.19 | [`0d14657f4083`](https://github.com/torvalds/linux/commit/0d14657f40830243266f972766f1e4d00436e648)\nMediatek `mtk` driver | 6.0 | [`7c26c20da5d4`](https://github.com/torvalds/linux/commit/7c26c20da5d420cde55618263be4aa2f6de53056)\nFreescale `fec_enet` driver | 6.2 | [`6d6b39f180b8`](https://github.com/torvalds/linux/commit/6d6b39f180b83dfe1e938382b68dd1e6cb51363c)\nMicrochip `lan966x` driver | 6.2 | [`6a2159be7604`](https://github.com/torvalds/linux/commit/6a2159be7604f5cdd7f574f4e0922f61e63c3f16)\nEngleder `tsnep` driver | 6.3 | [`d24bc0bcbbff`](https://github.com/torvalds/linux/commit/d24bc0bcbbfff74c00d92d0630ef99e8d91ef37a)\nGoogle `gve` driver | 6.4 | [`2e80aeae9f80`](https://github.com/torvalds/linux/commit/2e80aeae9f807ac7e967dea7633abea5829c6531)\nVMware `vmxnet3` driver | 6.6 | [`54f00cce1178`](https://github.com/torvalds/linux/commit/54f00cce11786742bd11e5e68c3bf85e6dc048c9)\n\n## Helpers\n\nThe list of helpers supported in your kernel can be found in file\n[`include/uapi/linux/bpf.h`](https://github.com/torvalds/linux/blob/master/include/uapi/linux/bpf.h):\n\n    git grep '\tFN(' include/uapi/linux/bpf.h\n\nAlphabetical order\n\nHelper | Kernel version | License | Commit |\n-------|----------------|---------|--------|\n`BPF_FUNC_bind()` | 4.17 |  | [`d74bad4e74ee`](https://github.com/torvalds/linux/commit/d74bad4e74ee373787a9ae24197c17b7cdc428d5) |\n`BPF_FUNC_bprm_opts_set()` | 5.11 |  | [`3f6719c7b62f`](https://github.com/torvalds/linux/commit/3f6719c7b62f0327c9091e26d0da10e65668229e)\n`BPF_FUNC_btf_find_by_name_kind()` | 5.14 |  | [`3d78417b60fb`](https://github.com/torvalds/linux/commit/3d78417b60fba249cc555468cb72d96f5cde2964)\n`BPF_FUNC_cgrp_storage_delete()` | 6.2 | | [`c4bcfb38a95e`](https://github.com/torvalds/linux/commit/c4bcfb38a95edb1021a53f2d0356a78120ecfbe4)\n`BPF_FUNC_cgrp_storage_get()` | 6.2 | | [`c4bcfb38a95e`](https://github.com/torvalds/linux/commit/c4bcfb38a95edb1021a53f2d0356a78120ecfbe4)\n`BPF_FUNC_check_mtu()` | 5.12 |  | [`34b2021cc616`](https://github.com/torvalds/linux/commit/34b2021cc61642d61c3cf943d9e71925b827941b)\n`BPF_FUNC_clone_redirect()` | 4.2 |  | [`3896d655f4d4`](https://github.com/torvalds/linux/commit/3896d655f4d491c67d669a15f275a39f713410f8)\n`BPF_FUNC_copy_from_user()` | 5.10 |  | [`07be4c4a3e7a`](https://github.com/torvalds/linux/commit/07be4c4a3e7a0db148e44b16c5190e753d1c8569)\n`BPF_FUNC_copy_from_user_task()` | 5.18 | GPL | [`376040e47334`](https://github.com/torvalds/linux/commit/376040e47334c6dc6a939a32197acceb00fe4acf)\n`BPF_FUNC_csum_diff()` | 4.6 |  | [`7d672345ed29`](https://github.com/torvalds/linux/commit/7d672345ed295b1356a5d9f7111da1d1d7d65867)\n`BPF_FUNC_csum_level()` | 5.7 |  | [`7cdec54f9713`](https://github.com/torvalds/linux/commit/7cdec54f9713256bb170873a1fc5c75c9127c9d2)\n`BPF_FUNC_csum_update()` | 4.9 |  | [`36bbef52c7eb`](https://github.com/torvalds/linux/commit/36bbef52c7eb646ed6247055a2acd3851e317857)\n`BPF_FUNC_current_task_under_cgroup()` | 4.9 |  | [`60d20f9195b2`](https://github.com/torvalds/linux/commit/60d20f9195b260bdf0ac10c275ae9f6016f9c069)\n`BPF_FUNC_d_path()` | 5.10 |  | [`6e22ab9da793`](https://github.com/torvalds/linux/commit/6e22ab9da79343532cd3cde39df25e5a5478c692)\n`BPF_FUNC_dynptr_data()` | 5.19 |  | [`34d4ef5775f7`](https://github.com/torvalds/linux/commit/34d4ef5775f776ec4b0d53a02d588bf3195cada6)\n`BPF_FUNC_dynptr_from_mem()` | 5.19 |  | [`263ae152e962`](https://github.com/torvalds/linux/commit/263ae152e96253f40c2c276faad8629e096b3bad)\n`BPF_FUNC_dynptr_read()` | 5.19 |  | [`13bbbfbea759`](https://github.com/torvalds/linux/commit/13bbbfbea7598ea9f8d9c3d73bf053bb57f9c4b2)\n`BPF_FUNC_dynptr_write()` | 5.19 |  | [`13bbbfbea759`](https://github.com/torvalds/linux/commit/13bbbfbea7598ea9f8d9c3d73bf053bb57f9c4b2)\n`BPF_FUNC_fib_lookup()` | 4.18 | GPL | [`87f5fc7e48dd`](https://github.com/torvalds/linux/commit/87f5fc7e48dd3175b30dd03b41564e1a8e136323)\n`BPF_FUNC_find_vma()` | 5.17 | | [`7c7e3d31e785`](https://github.com/torvalds/linux/commit/7c7e3d31e7856a8260a254f8c71db416f7f9f5a1)\n`BPF_FUNC_for_each_map_elem()` | 5.13 | | [`69c087ba6225`](https://github.com/torvalds/linux/commit/69c087ba6225b574afb6e505b72cb75242a3d844)\n`BPF_FUNC_get_attach_cookie()` | 5.15 |  | [`7adfc6c9b315`](https://github.com/torvalds/linux/commit/7adfc6c9b315e174cf8743b21b7b691c8766791b)\n`BPF_FUNC_get_branch_snapshot()` | 5.16 | GPL | [`856c02dbce4f`](https://github.com/torvalds/linux/commit/856c02dbce4f8d6a5644083db22c11750aa11481)\n`BPF_FUNC_get_current_ancestor_cgroup_id()` | 5.6 |  | [`b4490c5c4e02`](https://github.com/torvalds/linux/commit/b4490c5c4e023f09b7d27c9a9d3e7ad7d09ea6bf)\n`BPF_FUNC_get_cgroup_classid()` | 4.3 |  | [`8d20aabe1c76`](https://github.com/torvalds/linux/commit/8d20aabe1c76cccac544d9fcc3ad7823d9e98a2d)\n`BPF_FUNC_get_current_cgroup_id()` | 4.18 |  | [`bf6fa2c893c5`](https://github.com/torvalds/linux/commit/bf6fa2c893c5237b48569a13fa3c673041430b6c)\n`BPF_FUNC_get_current_comm()` | 4.2 |  | [`ffeedafbf023`](https://github.com/torvalds/linux/commit/ffeedafbf0236f03aeb2e8db273b3e5ae5f5bc89)\n`BPF_FUNC_get_current_pid_tgid()` | 4.2 |  | [`ffeedafbf023`](https://github.com/torvalds/linux/commit/ffeedafbf0236f03aeb2e8db273b3e5ae5f5bc89)\n`BPF_FUNC_get_current_task()` | 4.8 | GPL | [`606274c5abd8`](https://github.com/torvalds/linux/commit/606274c5abd8e245add01bc7145a8cbb92b69ba8)\n`BPF_FUNC_get_current_task_btf()` | 5.11 | GPL | [`3ca1032ab7ab`](https://github.com/torvalds/linux/commit/3ca1032ab7ab010eccb107aa515598788f7d93bb)\n`BPF_FUNC_get_current_uid_gid()` | 4.2 |  | [`ffeedafbf023`](https://github.com/torvalds/linux/commit/ffeedafbf0236f03aeb2e8db273b3e5ae5f5bc89)\n`BPF_FUNC_get_func_arg()` | 5.17 |  | [`f92c1e183604`](https://github.com/torvalds/linux/commit/f92c1e183604c20ce00eb889315fdaa8f2d9e509)\n`BPF_FUNC_get_func_arg_cnt()` | 5.17 |  | [`f92c1e183604`](https://github.com/torvalds/linux/commit/f92c1e183604c20ce00eb889315fdaa8f2d9e509)\n`BPF_FUNC_get_func_ip()` | 5.15 |  | [`5d8b583d04ae`](https://github.com/torvalds/linux/commit/5d8b583d04aedb3bd5f6d227a334c210c7d735f9)\n`BPF_FUNC_get_func_ret()` | 5.17 |  | [`f92c1e183604`](https://github.com/torvalds/linux/commit/f92c1e183604c20ce00eb889315fdaa8f2d9e509)\n`BPF_FUNC_get_retval()` | 5.18 |  | [`b44123b4a3dc`](https://github.com/torvalds/linux/commit/b44123b4a3dcad4664d3a0f72c011ffd4c9c4d93)\n`BPF_FUNC_get_hash_recalc()` | 4.8 |  | [`13c5c240f789`](https://github.com/torvalds/linux/commit/13c5c240f789bbd2bcacb14a23771491485ae61f)\n`BPF_FUNC_get_listener_sock()` | 5.1 |  | [`dbafd7ddd623`](https://github.com/torvalds/linux/commit/dbafd7ddd62369b2f3926ab847cbf8fc40e800b7)\n`BPF_FUNC_get_local_storage()` | 4.19 |  | [`cd3394317653`](https://github.com/torvalds/linux/commit/cd3394317653837e2eb5c5d0904a8996102af9fc)\n`BPF_FUNC_get_netns_cookie()` | 5.7 |  | [`f318903c0bf4`](https://github.com/torvalds/linux/commit/f318903c0bf42448b4c884732df2bbb0ef7a2284)\n`BPF_FUNC_get_ns_current_pid_tgid()` | 5.7 |  | [`b4490c5c4e02`](https://github.com/torvalds/linux/commit/b4490c5c4e023f09b7d27c9a9d3e7ad7d09ea6bf)\n`BPF_FUNC_get_numa_node_id()` | 4.10 |  | [`2d0e30c30f84`](https://github.com/torvalds/linux/commit/2d0e30c30f84d08dc16f0f2af41f1b8a85f0755e)\n`BPF_FUNC_get_prandom_u32()` | 4.1 |  | [`03e69b508b6f`](https://github.com/torvalds/linux/commit/03e69b508b6f7c51743055c9f61d1dfeadf4b635)\n`BPF_FUNC_get_route_realm()` | 4.4 |  | [`c46646d0484f`](https://github.com/torvalds/linux/commit/c46646d0484f5d08e2bede9b45034ba5b8b489cc)\n`BPF_FUNC_get_smp_processor_id()` | 4.1 |  | [`c04167ce2ca0`](https://github.com/torvalds/linux/commit/c04167ce2ca0ecaeaafef006cb0d65cf01b68e42)\n`BPF_FUNC_get_socket_cookie()` | 4.12 |  | [`91b8270f2a4d`](https://github.com/torvalds/linux/commit/91b8270f2a4d1d9b268de90451cdca63a70052d6)\n`BPF_FUNC_get_socket_uid()` | 4.12 |  | [`6acc5c291068`](https://github.com/torvalds/linux/commit/6acc5c2910689fc6ee181bf63085c5efff6a42bd)\n`BPF_FUNC_get_stack()` | 4.18 | GPL | [`de2ff05f48af`](https://github.com/torvalds/linux/commit/de2ff05f48afcde816ff4edb217417f62f624ab5)\n`BPF_FUNC_get_stackid()` | 4.6 | GPL | [`d5a3b1f69186`](https://github.com/torvalds/linux/commit/d5a3b1f691865be576c2bffa708549b8cdccda19)\n`BPF_FUNC_get_task_stack()` | 5.9 | | [`fa28dcb82a38`](https://github.com/torvalds/linux/commit/fa28dcb82a38f8e3993b0fae9106b1a80b59e4f0)\n`BPF_FUNC_getsockopt()` | 4.15 |  | [`cd86d1fd2102`](https://github.com/torvalds/linux/commit/cd86d1fd21025fdd6daf23d1288da405e7ad0ec6)\n`BPF_FUNC_ima_file_hash()` | 5.18 |  | [`174b16946e39`](https://github.com/torvalds/linux/commit/174b16946e39ebd369097e0f773536c91a8c1a4c)\n`BPF_FUNC_ima_inode_hash()` | 5.11 |  | [`27672f0d280a`](https://github.com/torvalds/linux/commit/27672f0d280a3f286a410a8db2004f46ace72a17)\n`BPF_FUNC_inode_storage_delete()` | 5.10 |  | [`8ea636848aca`](https://github.com/torvalds/linux/commit/8ea636848aca35b9f97c5b5dee30225cf2dd0fe6)\n`BPF_FUNC_inode_storage_get()` | 5.10 |  | [`8ea636848aca`](https://github.com/torvalds/linux/commit/8ea636848aca35b9f97c5b5dee30225cf2dd0fe6)\n`BPF_FUNC_jiffies64()` | 5.5 |  | [`5576b991e9c1`](https://github.com/torvalds/linux/commit/5576b991e9c1a11d2cc21c4b94fc75ec27603896)\n`BPF_FUNC_kallsyms_lookup_name()` | 5.16 | | [`d6aef08a872b`](https://github.com/torvalds/linux/commit/d6aef08a872b9e23eecc92d0e92393473b13c497)\n`BPF_FUNC_kptr_xchg()` | 5.19 | | [`c0a5a21c25f3`](https://github.com/torvalds/linux/commit/c0a5a21c25f37c9fd7b36072f9968cdff1e4aa13)\n`BPF_FUNC_ktime_get_boot_ns()` | 5.8 | | [`71d19214776e`](https://github.com/torvalds/linux/commit/71d19214776e61b33da48f7c1b46e522c7f78221)\n`BPF_FUNC_ktime_get_coarse_ns()` | 5.11 | | [`d05512618056`](https://github.com/torvalds/linux/commit/d055126180564a57fe533728a4e93d0cb53d49b3)\n`BPF_FUNC_ktime_get_ns()` | 4.1 | | [`d9847d310ab4`](https://github.com/torvalds/linux/commit/d9847d310ab4003725e6ed1822682e24bd406908)\n`BPF_FUNC_ktime_get_tai_ns()` | 6.1 |  | [`c8996c98f703`](https://github.com/torvalds/linux/commit/c8996c98f703b09afe77a1d247dae691c9849dc1)\n`BPF_FUNC_l3_csum_replace()` | 4.1 |  | [`91bc4822c3d6`](https://github.com/torvalds/linux/commit/91bc4822c3d61b9bb7ef66d3b77948a4f9177954)\n`BPF_FUNC_l4_csum_replace()` | 4.1 |  | [`91bc4822c3d6`](https://github.com/torvalds/linux/commit/91bc4822c3d61b9bb7ef66d3b77948a4f9177954)\n`BPF_FUNC_load_hdr_opt()` | 5.10 |  | [`0813a841566f`](https://github.com/torvalds/linux/commit/0813a841566f0962a5551be7749b43c45f0022a0)\n`BPF_FUNC_loop()` | 5.17 |  | [`e6f2dd0f8067`](https://github.com/torvalds/linux/commit/e6f2dd0f80674e9d5960337b3e9c2a242441b326)\n`BPF_FUNC_lwt_push_encap()` | 4.18 |  | [`fe94cc290f53`](https://github.com/torvalds/linux/commit/fe94cc290f535709d3c5ebd1e472dfd0aec7ee79)\n`BPF_FUNC_lwt_seg6_action()` | 4.18 |  | [`fe94cc290f53`](https://github.com/torvalds/linux/commit/fe94cc290f535709d3c5ebd1e472dfd0aec7ee79)\n`BPF_FUNC_lwt_seg6_adjust_srh()` | 4.18 |  | [`fe94cc290f53`](https://github.com/torvalds/linux/commit/fe94cc290f535709d3c5ebd1e472dfd0aec7ee79)\n`BPF_FUNC_lwt_seg6_store_bytes()` | 4.18 |  | [`fe94cc290f53`](https://github.com/torvalds/linux/commit/fe94cc290f535709d3c5ebd1e472dfd0aec7ee79)\n`BPF_FUNC_map_delete_elem()` | 3.19 |  | [`d0003ec01c66`](https://github.com/torvalds/linux/commit/d0003ec01c667b731c139e23de3306a8b328ccf5)\n`BPF_FUNC_map_lookup_elem()` | 3.19 |  | [`d0003ec01c66`](https://github.com/torvalds/linux/commit/d0003ec01c667b731c139e23de3306a8b328ccf5)\n`BPF_FUNC_map_lookup_percpu_elem()` | 5.19 |  | [`07343110b293`](https://github.com/torvalds/linux/commit/07343110b293456d30393e89b86c4dee1ac051c8)\n`BPF_FUNC_map_peek_elem()` | 4.20 |  | [`f1a2e44a3aec`](https://github.com/torvalds/linux/commit/f1a2e44a3aeccb3ff18d3ccc0b0203e70b95bd92)\n`BPF_FUNC_map_pop_elem()` | 4.20 |  | [`f1a2e44a3aec`](https://github.com/torvalds/linux/commit/f1a2e44a3aeccb3ff18d3ccc0b0203e70b95bd92)\n`BPF_FUNC_map_push_elem()` | 4.20 |  | [`f1a2e44a3aec`](https://github.com/torvalds/linux/commit/f1a2e44a3aeccb3ff18d3ccc0b0203e70b95bd92)\n`BPF_FUNC_map_update_elem()` | 3.19 |  | [`d0003ec01c66`](https://github.com/torvalds/linux/commit/d0003ec01c667b731c139e23de3306a8b328ccf5)\n`BPF_FUNC_msg_apply_bytes()` | 4.17 |  | [`2a100317c9eb`](https://github.com/torvalds/linux/commit/2a100317c9ebc204a166f16294884fbf9da074ce)\n`BPF_FUNC_msg_cork_bytes()` | 4.17 |  | [`91843d540a13`](https://github.com/torvalds/linux/commit/91843d540a139eb8070bcff8aa10089164436deb)\n`BPF_FUNC_msg_pop_data()` | 5.0 |  | [`7246d8ed4dcc`](https://github.com/torvalds/linux/commit/7246d8ed4dcce23f7509949a77be15fa9f0e3d28)\n`BPF_FUNC_msg_pull_data()` | 4.17 |  | [`015632bb30da`](https://github.com/torvalds/linux/commit/015632bb30daaaee64e1bcac07570860e0bf3092)\n`BPF_FUNC_msg_push_data()` | 4.20 |  | [`6fff607e2f14`](https://github.com/torvalds/linux/commit/6fff607e2f14bd7c63c06c464a6f93b8efbabe28)\n`BPF_FUNC_msg_redirect_hash()` | 4.18 |  | [`81110384441a`](https://github.com/torvalds/linux/commit/81110384441a59cff47430f20f049e69b98c17f4)\n`BPF_FUNC_msg_redirect_map()` | 4.17 |  | [`4f738adba30a`](https://github.com/torvalds/linux/commit/4f738adba30a7cfc006f605707e7aee847ffefa0)\n`BPF_FUNC_per_cpu_ptr()` | 5.10 |  | [`eaa6bcb71ef6`](https://github.com/torvalds/linux/commit/eaa6bcb71ef6ed3dc18fc525ee7e293b06b4882b) |\n`BPF_FUNC_perf_event_output()` | 4.4 | GPL | [`a43eec304259`](https://github.com/torvalds/linux/commit/a43eec304259a6c637f4014a6d4767159b6a3aa3)\n`BPF_FUNC_perf_event_read()` | 4.3 | GPL | [`35578d798400`](https://github.com/torvalds/linux/commit/35578d7984003097af2b1e34502bc943d40c1804)\n`BPF_FUNC_perf_event_read_value()` | 4.15 | GPL | [`908432ca84fc`](https://github.com/torvalds/linux/commit/908432ca84fc229e906ba164219e9ad0fe56f755)\n`BPF_FUNC_perf_prog_read_value()` | 4.15 | GPL | [`4bebdc7a85aa`](https://github.com/torvalds/linux/commit/4bebdc7a85aa400c0222b5329861e4ad9252f1e5)\n`BPF_FUNC_probe_read()` | 4.1 | GPL | [`2541517c32be`](https://github.com/torvalds/linux/commit/2541517c32be2531e0da59dfd7efc1ce844644f5)\n`BPF_FUNC_probe_read_kernel()` | 5.5 | GPL | [`6ae08ae3dea2`](https://github.com/torvalds/linux/commit/6ae08ae3dea2cfa03dd3665a3c8475c2d429ef47)\n`BPF_FUNC_probe_read_kernel_str()` | 5.5 | GPL | [`6ae08ae3dea2`](https://github.com/torvalds/linux/commit/6ae08ae3dea2cfa03dd3665a3c8475c2d429ef47)\n`BPF_FUNC_probe_read_user()` | 5.5 | GPL | [`6ae08ae3dea2`](https://github.com/torvalds/linux/commit/6ae08ae3dea2cfa03dd3665a3c8475c2d429ef47)\n`BPF_FUNC_probe_read_user_str()` | 5.5 | GPL | [`6ae08ae3dea2`](https://github.com/torvalds/linux/commit/6ae08ae3dea2cfa03dd3665a3c8475c2d429ef47)\n`BPF_FUNC_probe_read_str()` | 4.11 | GPL | [`a5e8c07059d0`](https://github.com/torvalds/linux/commit/a5e8c07059d0f0b31737408711d44794928ac218)\n`BPF_FUNC_probe_write_user()` | 4.8 | GPL | [`96ae52279594`](https://github.com/torvalds/linux/commit/96ae52279594470622ff0585621a13e96b700600)\n`BPF_FUNC_rc_keydown()` | 4.18 | GPL | [`f4364dcfc86d`](https://github.com/torvalds/linux/commit/f4364dcfc86df7c1ca47b256eaf6b6d0cdd0d936)\n`BPF_FUNC_rc_pointer_rel()` | 5.0 | GPL | [`01d3240a04f4`](https://github.com/torvalds/linux/commit/01d3240a04f4c09392e13c77b54d4423ebce2d72)\n`BPF_FUNC_rc_repeat()` | 4.18 | GPL | [`f4364dcfc86d`](https://github.com/torvalds/linux/commit/f4364dcfc86df7c1ca47b256eaf6b6d0cdd0d936)\n`BPF_FUNC_read_branch_records()` | 5.6 | GPL | [`fff7b64355ea`](https://github.com/torvalds/linux/commit/fff7b64355eac6e29b50229ad1512315bc04b44e)\n`BPF_FUNC_redirect()` | 4.4 |  | [`27b29f63058d`](https://github.com/torvalds/linux/commit/27b29f63058d26c6c1742f1993338280d5a41dc6)\n`BPF_FUNC_redirect_map()` | 4.14 |  | [`97f91a7cf04f`](https://github.com/torvalds/linux/commit/97f91a7cf04ff605845c20948b8a80e54cbd3376)\n`BPF_FUNC_redirect_neigh()` | 5.10 |  | [`b4ab31414970`](https://github.com/torvalds/linux/commit/b4ab31414970a7a03a5d55d75083f2c101a30592)\n`BPF_FUNC_redirect_peer()` | 5.10 |  | [`9aa1206e8f48`](https://github.com/torvalds/linux/commit/9aa1206e8f48222f35a0c809f33b2f4aaa1e2661)\n`BPF_FUNC_reserve_hdr_opt()` | 5.10 |  | [`0813a841566f`](https://github.com/torvalds/linux/commit/0813a841566f0962a5551be7749b43c45f0022a0)\n`BPF_FUNC_ringbuf_discard()` | 5.8 |  | [`457f44363a88`](https://github.com/torvalds/linux/commit/457f44363a8894135c85b7a9afd2bd8196db24ab)\n`BPF_FUNC_ringbuf_discard_dynptr()` | 5.19 |  | [`bc34dee65a65`](https://github.com/torvalds/linux/commit/bc34dee65a65e9c920c420005b8a43f2a721a458)\n`BPF_FUNC_ringbuf_output()` | 5.8 |  | [`457f44363a88`](https://github.com/torvalds/linux/commit/457f44363a8894135c85b7a9afd2bd8196db24ab)\n`BPF_FUNC_ringbuf_query()` | 5.8 |  | [`457f44363a88`](https://github.com/torvalds/linux/commit/457f44363a8894135c85b7a9afd2bd8196db24ab)\n`BPF_FUNC_ringbuf_reserve()` | 5.8 |  | [`457f44363a88`](https://github.com/torvalds/linux/commit/457f44363a8894135c85b7a9afd2bd8196db24ab)\n`BPF_FUNC_ringbuf_reserve_dynptr()` | 5.19 |  | [`bc34dee65a65`](https://github.com/torvalds/linux/commit/bc34dee65a65e9c920c420005b8a43f2a721a458)\n`BPF_FUNC_ringbuf_submit()` | 5.8 |  | [`457f44363a88`](https://github.com/torvalds/linux/commit/457f44363a8894135c85b7a9afd2bd8196db24ab)\n`BPF_FUNC_ringbuf_submit_dynptr()` | 5.19 |  | [`bc34dee65a65`](https://github.com/torvalds/linux/commit/bc34dee65a65e9c920c420005b8a43f2a721a458)\n`BPF_FUNC_send_signal()` | 5.3 |  | [`8b401f9ed244`](https://github.com/torvalds/linux/commit/8b401f9ed2441ad9e219953927a842d24ed051fc)\n`BPF_FUNC_send_signal_thread()` | 5.5 |  | [`8482941f0906`](https://github.com/torvalds/linux/commit/8482941f09067da42f9c3362e15bfb3f3c19d610)\n`BPF_FUNC_seq_printf()` | 5.7 | GPL | [`492e639f0c22`](https://github.com/torvalds/linux/commit/492e639f0c222784e2e0f121966375f641c61b15)\n`BPF_FUNC_seq_printf_btf()` | 5.10 | | [`eb411377aed9`](https://github.com/torvalds/linux/commit/eb411377aed9e27835e77ee0710ee8f4649958f3)\n`BPF_FUNC_seq_write()` | 5.7 | GPL | [`492e639f0c22`](https://github.com/torvalds/linux/commit/492e639f0c222784e2e0f121966375f641c61b15)\n`BPF_FUNC_set_hash()` | 4.13 |  | [`ded092cd73c2`](https://github.com/torvalds/linux/commit/ded092cd73c2c56a394b936f86897f29b2e131c0)\n`BPF_FUNC_set_hash_invalid()` | 4.9 |  | [`7a4b28c6cc9f`](https://github.com/torvalds/linux/commit/7a4b28c6cc9ffac50f791b99cc7e46106436e5d8)\n`BPF_FUNC_set_retval()` | 5.18 |  | [`b44123b4a3dc`](https://github.com/torvalds/linux/commit/b44123b4a3dcad4664d3a0f72c011ffd4c9c4d93)\n`BPF_FUNC_setsockopt()` | 4.13 |  | [`8c4b4c7e9ff0`](https://github.com/torvalds/linux/commit/8c4b4c7e9ff0447995750d9329949fa082520269)\n`BPF_FUNC_sk_ancestor_cgroup_id()` | 5.7 |  | [`f307fa2cb4c9`](https://github.com/torvalds/linux/commit/f307fa2cb4c935f7f1ff0aeb880c7b44fb9a642b)\n`BPF_FUNC_sk_assign()` | 5.6 |  | [`cf7fbe660f2d`](https://github.com/torvalds/linux/commit/cf7fbe660f2dbd738ab58aea8e9b0ca6ad232449)\n`BPF_FUNC_sk_cgroup_id()` | 5.7 |  | [`f307fa2cb4c9`](https://github.com/torvalds/linux/commit/f307fa2cb4c935f7f1ff0aeb880c7b44fb9a642b)\n`BPF_FUNC_sk_fullsock()` | 5.1 |  | [`46f8bc92758c`](https://github.com/torvalds/linux/commit/46f8bc92758c6259bcf945e9216098661c1587cd)\n`BPF_FUNC_sk_lookup_tcp()` | 4.20 |  | [`6acc9b432e67`](https://github.com/torvalds/linux/commit/6acc9b432e6714d72d7d77ec7c27f6f8358d0c71)\n`BPF_FUNC_sk_lookup_udp()` | 4.20 |  | [`6acc9b432e67`](https://github.com/torvalds/linux/commit/6acc9b432e6714d72d7d77ec7c27f6f8358d0c71)\n`BPF_FUNC_sk_redirect_hash()` | 4.18 |  | [`81110384441a`](https://github.com/torvalds/linux/commit/81110384441a59cff47430f20f049e69b98c17f4)\n`BPF_FUNC_sk_redirect_map()` | 4.14 |  | [`174a79ff9515`](https://github.com/torvalds/linux/commit/174a79ff9515f400b9a6115643dafd62a635b7e6)\n`BPF_FUNC_sk_release()` | 4.20 |  | [`6acc9b432e67`](https://github.com/torvalds/linux/commit/6acc9b432e6714d72d7d77ec7c27f6f8358d0c71)\n`BPF_FUNC_sk_select_reuseport()` | 4.19 |  | [`2dbb9b9e6df6`](https://github.com/torvalds/linux/commit/2dbb9b9e6df67d444fbe425c7f6014858d337adf)\n`BPF_FUNC_sk_storage_delete()` | 5.2 |  | [`6ac99e8f23d4`](https://github.com/torvalds/linux/commit/6ac99e8f23d4b10258406ca0dd7bffca5f31da9d)\n`BPF_FUNC_sk_storage_get()` | 5.2 |  | [`6ac99e8f23d4`](https://github.com/torvalds/linux/commit/6ac99e8f23d4b10258406ca0dd7bffca5f31da9d)\n`BPF_FUNC_skb_adjust_room()` | 4.13 |  | [`2be7e212d541`](https://github.com/torvalds/linux/commit/2be7e212d5419a400d051c84ca9fdd083e5aacac)\n`BPF_FUNC_skb_ancestor_cgroup_id()` | 4.19 |  | [`7723628101aa`](https://github.com/torvalds/linux/commit/7723628101aaeb1d723786747529b4ea65c5b5c5)\n`BPF_FUNC_skb_change_head()` | 4.10 |  | [`3a0af8fd61f9`](https://github.com/torvalds/linux/commit/3a0af8fd61f90920f6fa04e4f1e9a6a73c1b4fd2)\n`BPF_FUNC_skb_change_proto()` | 4.8 |  | [`6578171a7ff0`](https://github.com/torvalds/linux/commit/6578171a7ff0c31dc73258f93da7407510abf085)\n`BPF_FUNC_skb_change_tail()` | 4.9 |  | [`5293efe62df8`](https://github.com/torvalds/linux/commit/5293efe62df81908f2e90c9820c7edcc8e61f5e9)\n`BPF_FUNC_skb_change_type()` | 4.8 |  | [`d2485c4242a8`](https://github.com/torvalds/linux/commit/d2485c4242a826fdf493fd3a27b8b792965b9b9e)\n`BPF_FUNC_skb_cgroup_classid()` | 5.10 |  | [`b426ce83baa7`](https://github.com/torvalds/linux/commit/b426ce83baa7dff947fb354118d3133f2953aac8)\n`BPF_FUNC_skb_cgroup_id()` | 4.18 |  | [`cb20b08ead40`](https://github.com/torvalds/linux/commit/cb20b08ead401fd17627a36f035c0bf5bfee5567)\n`BPF_FUNC_skb_ecn_set_ce()` | 5.1 |  | [`f7c917ba11a6`](https://github.com/torvalds/linux/commit/f7c917ba11a67632a8452ea99fe132f626a7a2cc)\n`BPF_FUNC_skb_get_tunnel_key()` | 4.3 |  | [`d3aa45ce6b94`](https://github.com/torvalds/linux/commit/d3aa45ce6b94c65b83971257317867db13e5f492)\n`BPF_FUNC_skb_get_tunnel_opt()` | 4.6 |  | [`14ca0751c96f`](https://github.com/torvalds/linux/commit/14ca0751c96f8d3d0f52e8ed3b3236f8b34d3460)\n`BPF_FUNC_skb_get_xfrm_state()` | 4.18 |  | [`12bed760a78d`](https://github.com/torvalds/linux/commit/12bed760a78da6e12ac8252fec64d019a9eac523)\n`BPF_FUNC_skb_load_bytes()` | 4.5 |  | [`05c74e5e53f6`](https://github.com/torvalds/linux/commit/05c74e5e53f6cb07502c3e6a820f33e2777b6605)\n`BPF_FUNC_skb_load_bytes_relative()` | 4.18 |  | [`4e1ec56cdc59`](https://github.com/torvalds/linux/commit/4e1ec56cdc59746943b2acfab3c171b930187bbe)\n`BPF_FUNC_skb_output()` | 5.5 |  | [`a7658e1a4164`](https://github.com/torvalds/linux/commit/a7658e1a4164ce2b9eb4a11aadbba38586e93bd6)\n`BPF_FUNC_skb_pull_data()` | 4.9 |  | [`36bbef52c7eb`](https://github.com/torvalds/linux/commit/36bbef52c7eb646ed6247055a2acd3851e317857)\n`BPF_FUNC_skb_set_tstamp()` | 5.18 |  | [`9bb984f28d5b`](https://github.com/torvalds/linux/commit/9bb984f28d5bcb917d35d930fcfb89f90f9449fd)\n`BPF_FUNC_skb_set_tunnel_key()` | 4.3 |  | [`d3aa45ce6b94`](https://github.com/torvalds/linux/commit/d3aa45ce6b94c65b83971257317867db13e5f492)\n`BPF_FUNC_skb_set_tunnel_opt()` | 4.6 |  | [`14ca0751c96f`](https://github.com/torvalds/linux/commit/14ca0751c96f8d3d0f52e8ed3b3236f8b34d3460)\n`BPF_FUNC_skb_store_bytes()` | 4.1 |  | [`91bc4822c3d6`](https://github.com/torvalds/linux/commit/91bc4822c3d61b9bb7ef66d3b77948a4f9177954)\n`BPF_FUNC_skb_under_cgroup()` | 4.8 |  | [`4a482f34afcc`](https://github.com/torvalds/linux/commit/4a482f34afcc162d8456f449b137ec2a95be60d8)\n`BPF_FUNC_skb_vlan_pop()` | 4.3 |  | [`4e10df9a60d9`](https://github.com/torvalds/linux/commit/4e10df9a60d96ced321dd2af71da558c6b750078)\n`BPF_FUNC_skb_vlan_push()` | 4.3 |  | [`4e10df9a60d9`](https://github.com/torvalds/linux/commit/4e10df9a60d96ced321dd2af71da558c6b750078)\n`BPF_FUNC_skc_lookup_tcp()` | 5.2 |  | [`edbf8c01de5a`](https://github.com/torvalds/linux/commit/edbf8c01de5a104a71ed6df2bf6421ceb2836a8e)\n`BPF_FUNC_skc_to_mctcp_sock()` | 5.19 |  | [`3bc253c2e652`](https://github.com/torvalds/linux/commit/3bc253c2e652cf5f12cd8c00d80d8ec55d67d1a7)\n`BPF_FUNC_skc_to_tcp_sock()` | 5.9 |  | [`478cfbdf5f13`](https://github.com/torvalds/linux/commit/478cfbdf5f13dfe09cfd0b1cbac821f5e27f6108)\n`BPF_FUNC_skc_to_tcp_request_sock()` | 5.9 |  | [`478cfbdf5f13`](https://github.com/torvalds/linux/commit/478cfbdf5f13dfe09cfd0b1cbac821f5e27f6108)\n`BPF_FUNC_skc_to_tcp_timewait_sock()` | 5.9 |  | [`478cfbdf5f13`](https://github.com/torvalds/linux/commit/478cfbdf5f13dfe09cfd0b1cbac821f5e27f6108)\n`BPF_FUNC_skc_to_tcp6_sock()` | 5.9 |  | [`af7ec1383361`](https://github.com/torvalds/linux/commit/af7ec13833619e17f03aa73a785a2f871da6d66b)\n`BPF_FUNC_skc_to_udp6_sock()` | 5.9 |  | [`0d4fad3e57df`](https://github.com/torvalds/linux/commit/0d4fad3e57df2bf61e8ffc8d12a34b1caf9b8835)\n`BPF_FUNC_skc_to_unix_sock()` | 5.16 |  | [`9eeb3aa33ae0`](https://github.com/torvalds/linux/commit/9eeb3aa33ae005526f672b394c1791578463513f)\n`BPF_FUNC_snprintf()` | 5.13 | | [`7b15523a989b`](https://github.com/torvalds/linux/commit/7b15523a989b63927c2bb08e9b5b0bbc10b58bef)\n`BPF_FUNC_snprintf_btf()` | 5.10 | | [`c4d0bfb45068`](https://github.com/torvalds/linux/commit/c4d0bfb45068d853a478b9067a95969b1886a30f)\n`BPF_FUNC_sock_from_file()` | 5.11 |  | [`4f19cab76136`](https://github.com/torvalds/linux/commit/4f19cab76136e800a3f04d8c9aa4d8e770e3d3d8)\n`BPF_FUNC_sock_hash_update()` | 4.18 |  | [`81110384441a`](https://github.com/torvalds/linux/commit/81110384441a59cff47430f20f049e69b98c17f4)\n`BPF_FUNC_sock_map_update()` | 4.14 |  | [`174a79ff9515`](https://github.com/torvalds/linux/commit/174a79ff9515f400b9a6115643dafd62a635b7e6)\n`BPF_FUNC_spin_lock()` | 5.1 |  | [`d83525ca62cf`](https://github.com/torvalds/linux/commit/d83525ca62cf8ebe3271d14c36fb900c294274a2)\n`BPF_FUNC_spin_unlock()` | 5.1 |  | [`d83525ca62cf`](https://github.com/torvalds/linux/commit/d83525ca62cf8ebe3271d14c36fb900c294274a2)\n`BPF_FUNC_store_hdr_opt()` | 5.10 |  | [`0813a841566f`](https://github.com/torvalds/linux/commit/0813a841566f0962a5551be7749b43c45f0022a0)\n`BPF_FUNC_strncmp()` | 5.17 |  | [`c5fb19937455`](https://github.com/torvalds/linux/commit/c5fb19937455095573a19ddcbff32e993ed10e35)\n`BPF_FUNC_strtol()` | 5.2 |  | [`d7a4cb9b6705`](https://github.com/torvalds/linux/commit/d7a4cb9b6705a89937d12c8158a35a3145dc967a)\n`BPF_FUNC_strtoul()` | 5.2 |  | [`d7a4cb9b6705`](https://github.com/torvalds/linux/commit/d7a4cb9b6705a89937d12c8158a35a3145dc967a)\n`BPF_FUNC_sys_bpf()` | 5.14 |  | [`79a7f8bdb159`](https://github.com/torvalds/linux/commit/79a7f8bdb159d9914b58740f3d31d602a6e4aca8)\n`BPF_FUNC_sys_close()` | 5.14 |  | [`3abea089246f`](https://github.com/torvalds/linux/commit/3abea089246f76c1517b054ddb5946f3f1dbd2c0)\n`BPF_FUNC_sysctl_get_current_value()` | 5.2 |  | [`1d11b3016cec`](https://github.com/torvalds/linux/commit/1d11b3016cec4ed9770b98e82a61708c8f4926e7)\n`BPF_FUNC_sysctl_get_name()` | 5.2 |  | [`808649fb787d`](https://github.com/torvalds/linux/commit/808649fb787d918a48a360a668ee4ee9023f0c11)\n`BPF_FUNC_sysctl_get_new_value()` | 5.2 |  | [`4e63acdff864`](https://github.com/torvalds/linux/commit/4e63acdff864654cee0ac5aaeda3913798ee78f6)\n`BPF_FUNC_sysctl_set_new_value()` | 5.2 |  | [`4e63acdff864`](https://github.com/torvalds/linux/commit/4e63acdff864654cee0ac5aaeda3913798ee78f6)\n`BPF_FUNC_tail_call()` | 4.2 |  | [`04fd61ab36ec`](https://github.com/torvalds/linux/commit/04fd61ab36ec065e194ab5e74ae34a5240d992bb)\n`BPF_FUNC_task_pt_regs()` | 5.15 | GPL | [`dd6e10fbd9f`](https://github.com/torvalds/linux/commit/dd6e10fbd9fb86a571d925602c8a24bb4d09a2a7)\n`BPF_FUNC_task_storage_delete()` | 5.11 |  | [`4cf1bc1f1045`](https://github.com/torvalds/linux/commit/4cf1bc1f10452065a29d576fc5693fc4fab5b919)\n`BPF_FUNC_task_storage_get()` | 5.11 |  | [`4cf1bc1f1045`](https://github.com/torvalds/linux/commit/4cf1bc1f10452065a29d576fc5693fc4fab5b919)\n`BPF_FUNC_tcp_check_syncookie()` | 5.2 |  | [`399040847084`](https://github.com/torvalds/linux/commit/399040847084a69f345e0a52fd62f04654e0fce3)\n`BPF_FUNC_tcp_gen_syncookie()` | 5.3 |  | [`70d66244317e`](https://github.com/torvalds/linux/commit/70d66244317e958092e9c971b08dd5b7fd29d9cb#diff-05da4bf36c7fbcd176254e1615d98b28)\n`BPF_FUNC_tcp_raw_check_syncookie_ipv4()` | 6.0 |  | [`33bf9885040c`](https://github.com/torvalds/linux/commit/33bf9885040c399cf6a95bd33216644126728e14)\n`BPF_FUNC_tcp_raw_check_syncookie_ipv6()` | 6.0 |  | [`33bf9885040c`](https://github.com/torvalds/linux/commit/33bf9885040c399cf6a95bd33216644126728e14)\n`BPF_FUNC_tcp_raw_gen_syncookie_ipv4()` | 6.0 |  | [`33bf9885040c`](https://github.com/torvalds/linux/commit/33bf9885040c399cf6a95bd33216644126728e14)\n`BPF_FUNC_tcp_raw_gen_syncookie_ipv6()` | 6.0 |  | [`33bf9885040c`](https://github.com/torvalds/linux/commit/33bf9885040c399cf6a95bd33216644126728e14)\n`BPF_FUNC_tcp_send_ack()` | 5.5 | | [`206057fe020a`](https://github.com/torvalds/linux/commit/206057fe020ac5c037d5e2dd6562a9bd216ec765)\n`BPF_FUNC_tcp_sock()` | 5.1 |  | [`655a51e536c0`](https://github.com/torvalds/linux/commit/655a51e536c09d15ffa3603b1b6fce2b45b85a1f)\n`BPF_FUNC_this_cpu_ptr()` | 5.10 |  | [`63d9b80dcf2c`](https://github.com/torvalds/linux/commit/63d9b80dcf2c67bc5ade61cbbaa09d7af21f43f1) |\n`BPF_FUNC_timer_init()` | 5.15 |  | [`b00628b1c7d5`](https://github.com/torvalds/linux/commit/b00628b1c7d595ae5b544e059c27b1f5828314b4)\n`BPF_FUNC_timer_set_callback()` | 5.15 |  | [`b00628b1c7d5`](https://github.com/torvalds/linux/commit/b00628b1c7d595ae5b544e059c27b1f5828314b4)\n`BPF_FUNC_timer_start()` | 5.15 |  | [`b00628b1c7d5`](https://github.com/torvalds/linux/commit/b00628b1c7d595ae5b544e059c27b1f5828314b4)\n`BPF_FUNC_timer_cancel()` | 5.15 |  | [`b00628b1c7d5`](https://github.com/torvalds/linux/commit/b00628b1c7d595ae5b544e059c27b1f5828314b4)\n`BPF_FUNC_trace_printk()` | 4.1 | GPL | [`9c959c863f82`](https://github.com/torvalds/linux/commit/9c959c863f8217a2ff3d7c296e8223654d240569)\n`BPF_FUNC_trace_vprintk()` | 5.16 | GPL | [`10aceb629e19`](https://github.com/torvalds/linux/commit/10aceb629e198429c849d5e995c3bb1ba7a9aaa3)\n`BPF_FUNC_user_ringbuf_drain()` | 6.1 | | [`205715673844`](https://github.com/torvalds/linux/commit/20571567384428dfc9fe5cf9f2e942e1df13c2dd)\n`BPF_FUNC_xdp_adjust_head()` | 4.10 |  | [`17bedab27231`](https://github.com/torvalds/linux/commit/17bedab2723145d17b14084430743549e6943d03)\n`BPF_FUNC_xdp_adjust_meta()` | 4.15 |  | [`de8f3a83b0a0`](https://github.com/torvalds/linux/commit/de8f3a83b0a0fddb2cf56e7a718127e9619ea3da)\n`BPF_FUNC_xdp_adjust_tail()` | 4.18 |  | [`b32cc5b9a346`](https://github.com/torvalds/linux/commit/b32cc5b9a346319c171e3ad905e0cddda032b5eb)\n`BPF_FUNC_xdp_get_buff_len()` | 5.18 |  | [`0165cc817075`](https://github.com/torvalds/linux/commit/0165cc817075cf701e4289838f1d925ff1911b3e)\n`BPF_FUNC_xdp_load_bytes()` | 5.18 |  | [`3f364222d032`](https://github.com/torvalds/linux/commit/3f364222d032eea6b245780e845ad213dab28cdd)\n`BPF_FUNC_xdp_store_bytes()` | 5.18 |  | [`3f364222d032`](https://github.com/torvalds/linux/commit/3f364222d032eea6b245780e845ad213dab28cdd)\n`BPF_FUNC_xdp_output()` | 5.6 | GPL | [`d831ee84bfc9`](https://github.com/torvalds/linux/commit/d831ee84bfc9173eecf30dbbc2553ae81b996c60)\n`BPF_FUNC_override_return()` | 4.16 | GPL | [`9802d86585db`](https://github.com/torvalds/linux/commit/9802d86585db91655c7d1929a4f6bbe0952ea88e)\n`BPF_FUNC_sock_ops_cb_flags_set()` | 4.16 |  | [`b13d88072172`](https://github.com/torvalds/linux/commit/b13d880721729384757f235166068c315326f4a1)\n\nNote: GPL-only BPF helpers require a GPL-compatible license. The current licenses considered GPL-compatible by the kernel are:\n\n* GPL\n* GPL v2\n* GPL and additional rights\n* Dual BSD/GPL\n* Dual MIT/GPL\n* Dual MPL/GPL\n\nCheck the list of GPL-compatible licenses in your [kernel source code](https://github.com/torvalds/linux/blob/master/include/linux/license.h).\n\n## Program Types\nThe list of program types and supported helper functions can be retrieved with:\n\n    git grep -W 'func_proto(enum bpf_func_id func_id' kernel/ net/ drivers/\n\n|Program Type| Helper Functions|\n|------------|-----------------|\n|`BPF_PROG_TYPE_SOCKET_FILTER`|`BPF_FUNC_skb_load_bytes()` <br> `BPF_FUNC_skb_load_bytes_relative()` <br> `BPF_FUNC_get_socket_cookie()` <br> `BPF_FUNC_get_socket_uid()` <br> `BPF_FUNC_perf_event_output()` <br> `Base functions`|\n|`BPF_PROG_TYPE_KPROBE`|`BPF_FUNC_perf_event_output()` <br> `BPF_FUNC_get_stackid()` <br> `BPF_FUNC_get_stack()` <br> `BPF_FUNC_perf_event_read_value()` <br> `BPF_FUNC_override_return()` <br> `Tracing functions`|\n|`BPF_PROG_TYPE_SCHED_CLS` <br> `BPF_PROG_TYPE_SCHED_ACT`|`BPF_FUNC_skb_store_bytes()` <br> `BPF_FUNC_skb_load_bytes()` <br> `BPF_FUNC_skb_load_bytes_relative()` <br> `BPF_FUNC_skb_pull_data()` <br> `BPF_FUNC_csum_diff()` <br> `BPF_FUNC_csum_update()` <br> `BPF_FUNC_l3_csum_replace()` <br> `BPF_FUNC_l4_csum_replace()` <br> `BPF_FUNC_clone_redirect()` <br> `BPF_FUNC_get_cgroup_classid()` <br> `BPF_FUNC_skb_vlan_push()` <br> `BPF_FUNC_skb_vlan_pop()` <br> `BPF_FUNC_skb_change_proto()` <br> `BPF_FUNC_skb_change_type()` <br> `BPF_FUNC_skb_adjust_room()` <br> `BPF_FUNC_skb_change_tail()` <br> `BPF_FUNC_skb_get_tunnel_key()` <br> `BPF_FUNC_skb_set_tunnel_key()` <br> `BPF_FUNC_skb_get_tunnel_opt()` <br> `BPF_FUNC_skb_set_tunnel_opt()` <br> `BPF_FUNC_redirect()` <br> `BPF_FUNC_get_route_realm()` <br> `BPF_FUNC_get_hash_recalc()` <br> `BPF_FUNC_set_hash_invalid()` <br> `BPF_FUNC_set_hash()` <br> `BPF_FUNC_perf_event_output()` <br> `BPF_FUNC_get_smp_processor_id()` <br> `BPF_FUNC_skb_under_cgroup()` <br> `BPF_FUNC_get_socket_cookie()` <br> `BPF_FUNC_get_socket_uid()` <br> `BPF_FUNC_fib_lookup()` <br> `BPF_FUNC_skb_get_xfrm_state()` <br> `BPF_FUNC_skb_cgroup_id()` <br> `Base functions`|\n|`BPF_PROG_TYPE_TRACEPOINT`|`BPF_FUNC_perf_event_output()` <br> `BPF_FUNC_get_stackid()` <br> `BPF_FUNC_get_stack()` <br> `BPF_FUNC_d_path()` <br> `Tracing functions`|\n|`BPF_PROG_TYPE_XDP`| `BPF_FUNC_perf_event_output()` <br> `BPF_FUNC_get_smp_processor_id()` <br> `BPF_FUNC_csum_diff()` <br> `BPF_FUNC_xdp_adjust_head()` <br> `BPF_FUNC_xdp_adjust_meta()` <br> `BPF_FUNC_redirect()` <br> `BPF_FUNC_redirect_map()` <br> `BPF_FUNC_xdp_adjust_tail()` <br> `BPF_FUNC_fib_lookup()` <br> `Base functions`|\n|`BPF_PROG_TYPE_PERF_EVENT`| `BPF_FUNC_perf_event_output()` <br> `BPF_FUNC_get_stackid()` <br> `BPF_FUNC_get_stack()` <br> `BPF_FUNC_perf_prog_read_value()` <br> `Tracing functions`|\n|`BPF_PROG_TYPE_CGROUP_SKB`|`BPF_FUNC_skb_load_bytes()` <br> `BPF_FUNC_skb_load_bytes_relative()` <br> `BPF_FUNC_get_socket_cookie()` <br> `BPF_FUNC_get_socket_uid()` <br> `Base functions`|\n|`BPF_PROG_TYPE_CGROUP_SOCK`|`BPF_FUNC_get_current_uid_gid()` <br> `Base functions`|\n|`BPF_PROG_TYPE_LWT_IN`|`BPF_FUNC_lwt_push_encap()` <br> `LWT functions` <br> `Base functions`|\n|`BPF_PROG_TYPE_LWT_OUT`| `LWT functions` <br> `Base functions`|\n|`BPF_PROG_TYPE_LWT_XMIT`| `BPF_FUNC_skb_get_tunnel_key()` <br> `BPF_FUNC_skb_set_tunnel_key()` <br> `BPF_FUNC_skb_get_tunnel_opt()` <br> `BPF_FUNC_skb_set_tunnel_opt()` <br> `BPF_FUNC_redirect()` <br> `BPF_FUNC_clone_redirect()` <br> `BPF_FUNC_skb_change_tail()` <br> `BPF_FUNC_skb_change_head()` <br> `BPF_FUNC_skb_store_bytes()` <br> `BPF_FUNC_csum_update()` <br> `BPF_FUNC_l3_csum_replace()` <br> `BPF_FUNC_l4_csum_replace()` <br> `BPF_FUNC_set_hash_invalid()` <br> `LWT functions`|\n|`BPF_PROG_TYPE_SOCK_OPS`|`BPF_FUNC_setsockopt()` <br> `BPF_FUNC_getsockopt()` <br> `BPF_FUNC_sock_ops_cb_flags_set()` <br> `BPF_FUNC_sock_map_update()` <br> `BPF_FUNC_sock_hash_update()` <br> `BPF_FUNC_get_socket_cookie()` <br> `Base functions`|\n|`BPF_PROG_TYPE_SK_SKB`|`BPF_FUNC_skb_store_bytes()` <br> `BPF_FUNC_skb_load_bytes()` <br> `BPF_FUNC_skb_pull_data()` <br> `BPF_FUNC_skb_change_tail()` <br> `BPF_FUNC_skb_change_head()` <br> `BPF_FUNC_get_socket_cookie()` <br> `BPF_FUNC_get_socket_uid()` <br> `BPF_FUNC_sk_redirect_map()` <br> `BPF_FUNC_sk_redirect_hash()` <br> `BPF_FUNC_sk_lookup_tcp()` <br> `BPF_FUNC_sk_lookup_udp()` <br> `BPF_FUNC_sk_release()` <br> `Base functions`|\n|`BPF_PROG_TYPE_CGROUP_DEVICE`|`BPF_FUNC_map_lookup_elem()` <br> `BPF_FUNC_map_update_elem()` <br> `BPF_FUNC_map_delete_elem()` <br> `BPF_FUNC_get_current_uid_gid()` <br> `BPF_FUNC_trace_printk()`|\n|`BPF_PROG_TYPE_SK_MSG`|`BPF_FUNC_msg_redirect_map()` <br> `BPF_FUNC_msg_redirect_hash()` <br> `BPF_FUNC_msg_apply_bytes()` <br> `BPF_FUNC_msg_cork_bytes()` <br> `BPF_FUNC_msg_pull_data()` <br> `BPF_FUNC_msg_push_data()` <br> `BPF_FUNC_msg_pop_data()` <br> `Base functions`|\n|`BPF_PROG_TYPE_RAW_TRACEPOINT`|`BPF_FUNC_perf_event_output()` <br> `BPF_FUNC_get_stackid()` <br> `BPF_FUNC_get_stack()` <br> `BPF_FUNC_skb_output()` <br> `Tracing functions`|\n|`BPF_PROG_TYPE_CGROUP_SOCK_ADDR`|`BPF_FUNC_get_current_uid_gid()` <br> `BPF_FUNC_bind()` <br> `BPF_FUNC_get_socket_cookie()` <br> `Base functions`|\n|`BPF_PROG_TYPE_LWT_SEG6LOCAL`|`BPF_FUNC_lwt_seg6_store_bytes()` <br> `BPF_FUNC_lwt_seg6_action()` <br> `BPF_FUNC_lwt_seg6_adjust_srh()` <br> `LWT functions`|\n|`BPF_PROG_TYPE_LIRC_MODE2`|`BPF_FUNC_rc_repeat()` <br> `BPF_FUNC_rc_keydown()` <br> `BPF_FUNC_rc_pointer_rel()` <br> `BPF_FUNC_map_lookup_elem()` <br> `BPF_FUNC_map_update_elem()` <br> `BPF_FUNC_map_delete_elem()` <br> `BPF_FUNC_ktime_get_ns()` <br> `BPF_FUNC_tail_call()` <br> `BPF_FUNC_get_prandom_u32()` <br> `BPF_FUNC_trace_printk()`|\n|`BPF_PROG_TYPE_SK_REUSEPORT`|`BPF_FUNC_sk_select_reuseport()` <br> `BPF_FUNC_skb_load_bytes()` <br> `BPF_FUNC_load_bytes_relative()` <br> `Base functions`|\n|`BPF_PROG_TYPE_FLOW_DISSECTOR`|`BPF_FUNC_skb_load_bytes()` <br> `Base functions`|\n\n|Function Group| Functions|\n|------------------|-------|\n|`Base functions`| `BPF_FUNC_map_lookup_elem()` <br> `BPF_FUNC_map_update_elem()` <br> `BPF_FUNC_map_delete_elem()` <br> `BPF_FUNC_map_peek_elem()` <br> `BPF_FUNC_map_pop_elem()` <br> `BPF_FUNC_map_push_elem()` <br> `BPF_FUNC_get_prandom_u32()` <br> `BPF_FUNC_get_smp_processor_id()` <br> `BPF_FUNC_get_numa_node_id()` <br> `BPF_FUNC_tail_call()` <br> `BPF_FUNC_ktime_get_boot_ns()` <br> `BPF_FUNC_ktime_get_ns()` <br> `BPF_FUNC_trace_printk()` <br> `BPF_FUNC_spin_lock()` <br> `BPF_FUNC_spin_unlock()` |\n|`Tracing functions`|`BPF_FUNC_map_lookup_elem()` <br> `BPF_FUNC_map_update_elem()` <br> `BPF_FUNC_map_delete_elem()` <br> `BPF_FUNC_probe_read()` <br> `BPF_FUNC_ktime_get_boot_ns()` <br> `BPF_FUNC_ktime_get_ns()` <br> `BPF_FUNC_tail_call()` <br> `BPF_FUNC_get_current_pid_tgid()` <br> `BPF_FUNC_get_current_task()` <br> `BPF_FUNC_get_current_uid_gid()` <br> `BPF_FUNC_get_current_comm()` <br> `BPF_FUNC_trace_printk()` <br> `BPF_FUNC_get_smp_processor_id()` <br> `BPF_FUNC_get_numa_node_id()` <br> `BPF_FUNC_perf_event_read()` <br> `BPF_FUNC_probe_write_user()` <br> `BPF_FUNC_current_task_under_cgroup()` <br> `BPF_FUNC_get_prandom_u32()` <br> `BPF_FUNC_probe_read_str()` <br> `BPF_FUNC_get_current_cgroup_id()` <br> `BPF_FUNC_send_signal()` <br> `BPF_FUNC_probe_read_kernel()` <br> `BPF_FUNC_probe_read_kernel_str()` <br> `BPF_FUNC_probe_read_user()` <br> `BPF_FUNC_probe_read_user_str()` <br> `BPF_FUNC_send_signal_thread()` <br> `BPF_FUNC_get_ns_current_pid_tgid()` <br> `BPF_FUNC_xdp_output()` <br> `BPF_FUNC_get_task_stack()`|\n|`LWT functions`|  `BPF_FUNC_skb_load_bytes()` <br> `BPF_FUNC_skb_pull_data()` <br> `BPF_FUNC_csum_diff()` <br> `BPF_FUNC_get_cgroup_classid()` <br> `BPF_FUNC_get_route_realm()` <br> `BPF_FUNC_get_hash_recalc()` <br> `BPF_FUNC_perf_event_output()` <br> `BPF_FUNC_get_smp_processor_id()` <br> `BPF_FUNC_skb_under_cgroup()`|\n"
  },
  {
    "path": "docs/kernel_config.md",
    "content": "# Kernel Configuration for BPF Features\n\n## BPF Related Kernel Configurations\n\n| Functionalities | Kernel Configuration | Description |\n|:----------------|:---------------------|:------------|\n| **Basic** | CONFIG_BPF_SYSCALL | Enable the bpf() system call |\n|  | CONFIG_BPF_JIT | BPF programs are normally handled by a BPF interpreter. This option allows the kernel to generate native code when a program is loaded into the kernel. This will significantly speed-up processing of BPF programs |\n|  | CONFIG_HAVE_BPF_JIT | Enable BPF Just In Time compiler |\n|  | CONFIG_HAVE_EBPF_JIT | Extended BPF JIT (eBPF) |\n|  | CONFIG_HAVE_CBPF_JIT | Classic BPF JIT (cBPF) |\n|  | CONFIG_MODULES | Enable to build loadable kernel modules |\n|  | CONFIG_BPF | BPF VM interpreter |\n|  | CONFIG_BPF_EVENTS | Allow the user to attach BPF programs to kprobe, uprobe, and tracepoint events |\n|  | CONFIG_PERF_EVENTS | Kernel performance events and counters |\n|  | CONFIG_HAVE_PERF_EVENTS | Enable perf events |\n|  | CONFIG_PROFILING | Enable the extended profiling support mechanisms used by profilers |\n| **BTF** | CONFIG_DEBUG_INFO_BTF | Generate deduplicated BTF type information from DWARF debug info |\n| | CONFIG_PAHOLE_HAS_SPLIT_BTF | Generate BTF for each selected kernel module |\n| | CONFIG_DEBUG_INFO_BTF_MODULES | Generate compact split BTF type information for kernel modules |\n| **Security** | CONFIG_BPF_JIT_ALWAYS_ON | Enable BPF JIT and removes BPF interpreter to avoid speculative execution |\n| | CONFIG_BPF_UNPRIV_DEFAULT_OFF | Disable unprivileged BPF by default by setting |\n| **Cgroup** | CONFIG_CGROUP_BPF | Support for BPF programs attached to cgroups |\n| **Network** | CONFIG_BPFILTER | BPF based packet filtering framework (BPFILTER) |\n| | CONFIG_BPFILTER_UMH | This builds bpfilter kernel module with embedded user mode helper |\n| | CONFIG_NET_CLS_BPF | BPF-based classifier - to classify packets based on programmable BPF (JIT'ed) filters as an alternative to ematches |\n| | CONFIG_NET_ACT_BPF | Execute BPF code on packets. The BPF code will decide if the packet should be dropped or not |\n| | CONFIG_BPF_STREAM_PARSER | Enable this to allow a TCP stream parser to be used with BPF_MAP_TYPE_SOCKMAP |\n| | CONFIG_LWTUNNEL_BPF | Allow to run BPF programs as a nexthop action following a route lookup for incoming and outgoing packets |\n| | CONFIG_NETFILTER_XT_MATCH_BPF | BPF matching applies a linux socket filter to each packet and accepts those for which the filter returns non-zero |\n| | CONFIG_IPV6_SEG6_BPF | To support  BPF seg6local hook. bpf: Add IPv6 Segment Routing helpersy. [Reference](https://github.com/torvalds/linux/commit/fe94cc290f535709d3c5ebd1e472dfd0aec7ee7) |\n| **kprobes** | CONFIG_KPROBE_EVENTS | This allows the user to add tracing events (similar to tracepoints) on the fly via the ftrace interface |\n|  | CONFIG_KPROBES | Enable kprobes-based dynamic events |\n|  | CONFIG_HAVE_KPROBES | Check if krpobes enabled |\n|  | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API | This symbol should be selected by an architecture if it supports the API needed to access registers and stack entries from pt_regs. For example the kprobes-based event tracer needs this API. |\n|  | CONFIG_KPROBES_ON_FTRACE | Have kprobes on function tracer if arch supports full passing of pt_regs to function tracing |\n| **kprobe multi** | CONFIG_FPROBE | Enable fprobe to attach the probe on multiple functions at once |\n| **kprobe override** | CONFIG_BPF_KPROBE_OVERRIDE | Enable BPF programs to override a kprobed function |\n| **uprobes** | CONFIG_UPROBE_EVENTS | Enable uprobes-based dynamic events |\n|  | CONFIG_ARCH_SUPPORTS_UPROBES | Arch specific uprobes support |\n|  | CONFIG_UPROBES | Uprobes is the user-space counterpart to kprobes: they enable instrumentation applications (such as 'perf probe') to establish unintrusive probes in user-space binaries and libraries, by executing handler functions when the probes are hit by user-space applications. |\n|  | CONFIG_MMU | MMU-based virtualised addressing space support by paged memory management |\n| **Tracepoints** | CONFIG_TRACEPOINTS | Enable inserting tracepoints in the kernel and connect to proble functions |\n|  | CONFIG_HAVE_SYSCALL_TRACEPOINTS | Enable syscall enter/exit tracing |\n| **Raw Tracepoints** | Same as Tracepoints | |\n| **LSM** | CONFIG_BPF_LSM | Enable instrumentation of the security hooks with BPF programs for implementing dynamic MAC and Audit Policies |\n| **LIRC** | CONFIG_BPF_LIRC_MODE2 | Allow attaching BPF programs to a lirc device |\n\n"
  },
  {
    "path": "docs/reference_guide.md",
    "content": "# bcc Reference Guide\n\nIntended for search (Ctrl-F) and reference. For tutorials, start with [tutorial.md](tutorial.md).\n\nThis guide is incomplete. If something feels missing, check the bcc and kernel source. And if you confirm we're missing something, please send a pull request to fix it, and help out everyone.\n\n## Contents\n\n- [BPF C](#bpf-c)\n    - [Events & Arguments](#events--arguments)\n        - [1. kprobes](#1-kprobes)\n        - [2. kretprobes](#2-kretprobes)\n        - [3. Tracepoints](#3-tracepoints)\n        - [4. uprobes](#4-uprobes)\n        - [5. uretprobes](#5-uretprobes)\n        - [6. USDT probes](#6-usdt-probes)\n        - [7. Raw Tracepoints](#7-raw-tracepoints)\n        - [8. system call tracepoints](#8-system-call-tracepoints)\n        - [9. kfuncs](#9-kfuncs)\n        - [10. kretfuncs](#10-kretfuncs)\n        - [11. lsm probes](#11-lsm-probes)\n        - [12. bpf iterators](#12-bpf-iterators)\n    - [Data](#data)\n        - [1. bpf_probe_read_kernel()](#1-bpf_probe_read_kernel)\n        - [2. bpf_probe_read_kernel_str()](#2-bpf_probe_read_kernel_str)\n        - [3. bpf_ktime_get_ns()](#3-bpf_ktime_get_ns)\n        - [4. bpf_get_current_pid_tgid()](#4-bpf_get_current_pid_tgid)\n        - [5. bpf_get_current_uid_gid()](#5-bpf_get_current_uid_gid)\n        - [6. bpf_get_current_comm()](#6-bpf_get_current_comm)\n        - [7. bpf_get_current_task()](#7-bpf_get_current_task)\n        - [8. bpf_log2l()](#8-bpf_log2l)\n        - [9. bpf_get_prandom_u32()](#9-bpf_get_prandom_u32)\n        - [10. bpf_probe_read_user()](#10-bpf_probe_read_user)\n        - [11. bpf_probe_read_user_str()](#11-bpf_probe_read_user_str)\n        - [12. bpf_get_ns_current_pid_tgid()](#12-bpf_get_ns_current_pid_tgid)\n    - [Debugging](#debugging)\n        - [1. bpf_override_return()](#1-bpf_override_return)\n    - [Output](#output)\n        - [1. bpf_trace_printk()](#1-bpf_trace_printk)\n        - [2. BPF_PERF_OUTPUT](#2-bpf_perf_output)\n        - [3. perf_submit()](#3-perf_submit)\n        - [4. perf_submit_skb()](#4-perf_submit_skb)\n        - [5. BPF_RINGBUF_OUTPUT](#5-bpf_ringbuf_output)\n        - [6. ringbuf_output()](#6-ringbuf_output)\n        - [7. ringbuf_reserve()](#7-ringbuf_reserve)\n        - [8. ringbuf_submit()](#8-ringbuf_submit)\n        - [9. ringbuf_discard()](#9-ringbuf_discard)\n    - [Maps](#maps)\n        - [1. BPF_TABLE](#1-bpf_table)\n        - [2. BPF_HASH](#2-bpf_hash)\n        - [3. BPF_ARRAY](#3-bpf_array)\n        - [4. BPF_HISTOGRAM](#4-bpf_histogram)\n        - [5. BPF_STACK_TRACE](#5-bpf_stack_trace)\n        - [6. BPF_PERF_ARRAY](#6-bpf_perf_array)\n        - [7. BPF_PERCPU_HASH](#7-bpf_percpu_hash)\n        - [8. BPF_PERCPU_ARRAY](#8-bpf_percpu_array)\n        - [9. BPF_LPM_TRIE](#9-bpf_lpm_trie)\n        - [10. BPF_PROG_ARRAY](#10-bpf_prog_array)\n        - [11. BPF_DEVMAP](#11-bpf_devmap)\n        - [12. BPF_CPUMAP](#12-bpf_cpumap)\n        - [13. BPF_XSKMAP](#13-bpf_xskmap)\n        - [14. BPF_ARRAY_OF_MAPS](#14-bpf_array_of_maps)\n        - [15. BPF_HASH_OF_MAPS](#15-bpf_hash_of_maps)\n        - [16. BPF_STACK](#16-bpf_stack)\n        - [17. BPF_QUEUE](#17-bpf_queue)\n        - [18. BPF_SOCKHASH](#18-bpf_sockhash)\n        - [19. map.lookup()](#19-maplookup)\n        - [20. map.lookup_or_try_init()](#20-maplookup_or_try_init)\n        - [21. map.delete()](#21-mapdelete)\n        - [22. map.update()](#22-mapupdate)\n        - [23. map.insert()](#23-mapinsert)\n        - [24. map.increment()](#24-mapincrement)\n        - [25. map.get_stackid()](#25-mapget_stackid)\n        - [26. map.perf_read()](#26-mapperf_read)\n        - [27. map.call()](#27-mapcall)\n        - [28. map.redirect_map()](#28-mapredirect_map)\n        - [29. map.push()](#29-mappush)\n        - [30. map.pop()](#30-mappop)\n        - [31. map.peek()](#31-mappeek)\n        - [32. map.sock_hash_update()](#32-mapsock_hash_update)\n        - [33. map.msg_redirect_hash()](#33-mapmsg_redirect_hash)\n        - [34. map.sk_redirect_hash()](#34-mapsk_redirect_hash)\n    - [Licensing](#licensing)\n    - [Rewriter](#rewriter)\n\n- [bcc Python](#bcc-python)\n    - [Initialization](#initialization)\n        - [1. BPF](#1-bpf)\n        - [2. USDT](#2-usdt)\n    - [Events](#events)\n        - [1. attach_kprobe()](#1-attach_kprobe)\n        - [2. attach_kretprobe()](#2-attach_kretprobe)\n        - [3. attach_tracepoint()](#3-attach_tracepoint)\n        - [4. attach_uprobe()](#4-attach_uprobe)\n        - [5. attach_uretprobe()](#5-attach_uretprobe)\n        - [6. USDT.enable_probe()](#6-usdtenable_probe)\n        - [7. attach_raw_tracepoint()](#7-attach_raw_tracepoint)\n        - [8. attach_raw_socket()](#8-attach_raw_socket)\n        - [9. attach_xdp()](#9-attach_xdp)\n        - [10. attach_func()](#10-attach_func)\n        - [11. detach_func()](#11-detach_func)\n        - [12. detach_kprobe()](#12-detach_kprobe)\n        - [13. detach_kretprobe()](#13-detach_kretprobe)\n    - [Debug Output](#debug-output)\n        - [1. trace_print()](#1-trace_print)\n        - [2. trace_fields()](#2-trace_fields)\n    - [Output APIs](#output-apis)\n        - [1. perf_buffer_poll()](#1-perf_buffer_poll)\n        - [2. ring_buffer_poll()](#2-ring_buffer_poll)\n        - [3. ring_buffer_consume()](#3-ring_buffer_consume)\n    - [Map APIs](#map-apis)\n        - [1. get_table()](#1-get_table)\n        - [2. open_perf_buffer()](#2-open_perf_buffer)\n        - [3. items()](#3-items)\n        - [4. values()](#4-values)\n        - [5. clear()](#5-clear)\n        - [6. items_lookup_and_delete_batch()](#6-items_lookup_and_delete_batch)\n        - [7. items_lookup_batch()](#7-items_lookup_batch)\n        - [8. items_delete_batch()](#8-items_delete_batch)\n        - [9. items_update_batch()](#9-items_update_batch)\n        - [10. print_log2_hist()](#10-print_log2_hist)\n        - [11. print_linear_hist()](#11-print_linear_hist)\n        - [12. open_ring_buffer()](#12-open_ring_buffer)\n        - [13. push()](#13-push)\n        - [14. pop()](#14-pop)\n        - [15. peek()](#15-peek)\n    - [Helpers](#helpers)\n        - [1. ksym()](#1-ksym)\n        - [2. ksymname()](#2-ksymname)\n        - [3. sym()](#3-sym)\n        - [4. num_open_kprobes()](#4-num_open_kprobes)\n        - [5. get_syscall_fnname()](#5-get_syscall_fnname)\n\n- [BPF Errors](#bpf-errors)\n    - [1. Invalid mem access](#1-invalid-mem-access)\n    - [2. Cannot call GPL only function from proprietary program](#2-cannot-call-gpl-only-function-from-proprietary-program)\n\n- [Environment Variables](#Environment-Variables)\n    - [1. kernel source directory](#1-kernel-source-directory)\n    - [2. kernel version overriding](#2-kernel-version-overriding)\n\n# BPF C\n\nThis section describes the C part of a bcc program.\n\n## Events & Arguments\n\n### 1. kprobes\n\nSyntax: kprobe__*kernel_function_name*\n\n```kprobe__``` is a special prefix that creates a kprobe (dynamic tracing of a kernel function call) for the kernel function name provided as the remainder. You can also use kprobes by declaring a normal C function, then using the Python ```BPF.attach_kprobe()``` (covered later) to associate it with a kernel function.\n\nArguments are specified on the function declaration: kprobe__*kernel_function_name*(struct pt_regs *ctx [, *argument1* ...])\n\nFor example:\n\n```C\nint kprobe__tcp_v4_connect(struct pt_regs *ctx, struct sock *sk) {\n    [...]\n}\n```\n\nThis instruments the tcp_v4_connect() kernel function using a kprobe, with the following arguments:\n\n- ```struct pt_regs *ctx```: Registers and BPF context.\n- ```struct sock *sk```: First argument to tcp_v4_connect().\n\nThe first argument is always ```struct pt_regs *```, the remainder are the arguments to the function (they don't need to be specified, if you don't intend to use them).\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/4afa96a71c5dbfc4c507c3355e20baa6c184a3a8/examples/tracing/tcpv4connect.py#L28) ([output](https://github.com/iovisor/bcc/blob/5bd0eb21fd148927b078deb8ac29fff2fb044b66/examples/tracing/tcpv4connect_example.txt#L8)),\n[code](https://github.com/iovisor/bcc/commit/310ab53710cfd46095c1f6b3e44f1dbc8d1a41d8#diff-8cd1822359ffee26e7469f991ce0ef00R26) ([output](https://github.com/iovisor/bcc/blob/3b9679a3bd9b922c736f6061dc65cb56de7e0250/examples/tracing/bitehist_example.txt#L6))\n<!--- I can't add search links here, since github currently cannot handle partial-word searches needed for \"kprobe__\" --->\n\n### 2. kretprobes\n\nSyntax: kretprobe__*kernel_function_name*\n\n```kretprobe__``` is a special prefix that creates a kretprobe (dynamic tracing of a kernel function return) for the kernel function name provided as the remainder. You can also use kretprobes by declaring a normal C function, then using the Python ```BPF.attach_kretprobe()``` (covered later) to associate it with a kernel function.\n\nReturn value is available as ```PT_REGS_RC(ctx)```, given a function declaration of: kretprobe__*kernel_function_name*(struct pt_regs *ctx)\n\nFor example:\n\n```C\nint kretprobe__tcp_v4_connect(struct pt_regs *ctx)\n{\n    int ret = PT_REGS_RC(ctx);\n    [...]\n}\n```\n\nThis instruments the return of the tcp_v4_connect() kernel function using a kretprobe, and stores the return value in ```ret```.\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/4afa96a71c5dbfc4c507c3355e20baa6c184a3a8/examples/tracing/tcpv4connect.py#L38) ([output](https://github.com/iovisor/bcc/blob/5bd0eb21fd148927b078deb8ac29fff2fb044b66/examples/tracing/tcpv4connect_example.txt#L8))\n\n### 3. Tracepoints\n\nSyntax: TRACEPOINT_PROBE(*category*, *event*)\n\nThis is a macro that instruments the tracepoint defined by *category*:*event*.\n\nThe tracepoint name is `<category>:<event>`.\nThe probe function name is `tracepoint__<category>__<event>`.\n\nArguments are available in an ```args``` struct, which are the tracepoint arguments. One way to list these is to cat the relevant format file under /sys/kernel/debug/tracing/events/*category*/*event*/format.\n\nThe ```args``` struct can be used in place of ``ctx`` in each functions requiring a context as an argument. This includes notably [perf_submit()](#3-perf_submit).\n\nFor example:\n\n```C\nTRACEPOINT_PROBE(random, urandom_read) {\n    // args is from /sys/kernel/debug/tracing/events/random/urandom_read/format\n    bpf_trace_printk(\"%d\\\\n\", args->got_bits);\n    return 0;\n}\n```\n\nThis instruments the tracepoint `random:urandom_read tracepoint`, and prints the tracepoint argument ```got_bits```.\nWhen using Python API, this probe is automatically attached to the right tracepoint target.\nFor C++, this tracepoint probe can be attached by specifying the tracepoint target and function name explicitly:\n`BPF::attach_tracepoint(\"random:urandom_read\", \"tracepoint__random__urandom_read\")`\nNote the name of the probe function defined above is `tracepoint__random__urandom_read`.\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/a4159da8c4ea8a05a3c6e402451f530d6e5a8b41/examples/tracing/urandomread.py#L19) ([output](https://github.com/iovisor/bcc/commit/e422f5e50ecefb96579b6391a2ada7f6367b83c4#diff-41e5ecfae4a3b38de5f4e0887ed160e5R10)),\n[search /examples](https://github.com/iovisor/bcc/search?q=TRACEPOINT_PROBE+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=TRACEPOINT_PROBE+path%3Atools&type=Code)\n\n### 4. uprobes\n\nThese are instrumented by declaring a normal function in C, then associating it as a uprobe probe in Python via ```BPF.attach_uprobe()``` (covered later).\n\nArguments can be examined using ```PT_REGS_PARM``` macros.\n\nFor example:\n\n```C\nint count(struct pt_regs *ctx) {\n    char buf[64];\n    bpf_probe_read_user(&buf, sizeof(buf), (void *)PT_REGS_PARM1(ctx));\n    bpf_trace_printk(\"%s %d\", buf, PT_REGS_PARM2(ctx));\n    return(0);\n}\n```\n\nThis reads the first argument as a string, and then prints it with the second argument as an integer.\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/4afa96a71c5dbfc4c507c3355e20baa6c184a3a8/examples/tracing/strlen_count.py#L26)\n\n### 5. uretprobes\n\nThese are instrumented by declaring a normal function in C, then associating it as a uretprobe probe in Python via ```BPF.attach_uretprobe()``` (covered later).\n\nReturn value is available as ```PT_REGS_RC(ctx)```, given a function declaration of: *function_name*(struct pt_regs *ctx)\n\nFor example:\n\n```C\nBPF_HISTOGRAM(dist);\nint count(struct pt_regs *ctx) {\n    dist.increment(PT_REGS_RC(ctx));\n    return 0;\n}\n```\n\nThis increments the bucket in the ```dist``` histogram that is indexed by the return value.\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/4afa96a71c5dbfc4c507c3355e20baa6c184a3a8/examples/tracing/strlen_hist.py#L39) ([output](https://github.com/iovisor/bcc/blob/4afa96a71c5dbfc4c507c3355e20baa6c184a3a8/examples/tracing/strlen_hist.py#L15)),\n[code](https://github.com/iovisor/bcc/blob/4afa96a71c5dbfc4c507c3355e20baa6c184a3a8/tools/bashreadline.py) ([output](https://github.com/iovisor/bcc/commit/aa87997d21e5c1a6a20e2c96dd25eb92adc8e85d#diff-2fd162f9e594206f789246ce97d62cf0R7))\n\n### 6. USDT probes\n\nThese are User Statically-Defined Tracing (USDT) probes, which may be placed in some applications or libraries to provide a user-level equivalent of tracepoints. The primary BPF method provided for USDT support method is ```enable_probe()```. USDT probes are instrumented by declaring a normal function in C, then associating it as a USDT probe in Python via ```USDT.enable_probe()```.\n\nArguments can be read via: bpf_usdt_readarg(*index*, ctx, &addr)\n\nFor example:\n\n```C\nint do_trace(struct pt_regs *ctx) {\n    uint64_t addr;\n    char path[128];\n    bpf_usdt_readarg(6, ctx, &addr);\n    bpf_probe_read_user(&path, sizeof(path), (void *)addr);\n    bpf_trace_printk(\"path:%s\\\\n\", path);\n    return 0;\n};\n```\n\nThis reads the sixth USDT argument, and then pulls it in as a string to ```path```.\n\nWhen initializing USDTs via the third argument of ```BPF::init``` in the C API, if any USDT fails to ```init```, entire ```BPF::init``` will fail. If you're OK with some USDTs failing to ```init```, use ```BPF::init_usdt``` before calling ```BPF::init```.\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/commit/4f88a9401357d7b75e917abd994aa6ea97dda4d3#diff-04a7cad583be5646080970344c48c1f4R24),\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_usdt_readarg+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_usdt_readarg+path%3Atools&type=Code)\n\n### 7. Raw Tracepoints\n\nSyntax: RAW_TRACEPOINT_PROBE(*event*)\n\nThis is a macro that instruments the raw tracepoint defined by *event*.\n\nThe argument is a pointer to struct ```bpf_raw_tracepoint_args```, which is defined in [bpf.h](https://github.com/iovisor/bcc/blob/master/src/cc/compat/linux/virtual_bpf.h).  The struct field ```args``` contains all parameters of the raw tracepoint where you can found at linux tree [include/trace/events](https://github.com/torvalds/linux/tree/master/include/trace/events)\ndirectory.\n\nFor example:\n```C\nRAW_TRACEPOINT_PROBE(sched_switch)\n{\n    // TP_PROTO(bool preempt, struct task_struct *prev, struct task_struct *next)\n    struct task_struct *prev = (struct task_struct *)ctx->args[1];\n    struct task_struct *next= (struct task_struct *)ctx->args[2];\n    s32 prev_tgid, next_tgid;\n\n    bpf_probe_read_kernel(&prev_tgid, sizeof(prev->tgid), &prev->tgid);\n    bpf_probe_read_kernel(&next_tgid, sizeof(next->tgid), &next->tgid);\n    bpf_trace_printk(\"%d -> %d\\\\n\", prev_tgid, next_tgid);\n}\n```\n\nThis instruments the sched:sched_switch tracepoint, and prints the prev and next tgid.\n\nExamples in situ:\n[search /tools](https://github.com/iovisor/bcc/search?q=RAW_TRACEPOINT_PROBE+path%3Atools&type=Code)\n\n### 8. system call tracepoints\n\nSyntax: ```syscall__SYSCALLNAME```\n\n```syscall__``` is a special prefix that creates a kprobe for the system call name provided as the remainder. You can use it by declaring a normal C function, then using the Python ```BPF.get_syscall_fnname(SYSCALLNAME)``` and ```BPF.attach_kprobe()``` to associate it.\n\nArguments are specified on the function declaration: ```syscall__SYSCALLNAME(struct pt_regs *ctx, [, argument1 ...])```.\n\nFor example:\n```C\nint syscall__execve(struct pt_regs *ctx,\n    const char __user *filename,\n    const char __user *const __user *__argv,\n    const char __user *const __user *__envp)\n{\n    [...]\n}\n```\n\nThis instruments the execve system call.\n\nThe first argument is always ```struct pt_regs *```, the remainder are the arguments to the function (they don't need to be specified, if you don't intend to use them).\n\nCorresponding Python code:\n```Python\nb = BPF(text=bpf_text)\nexecve_fnname = b.get_syscall_fnname(\"execve\")\nb.attach_kprobe(event=execve_fnname, fn_name=\"syscall__execve\")\n```\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/552658edda09298afdccc8a4b5e17311a2d8a771/tools/execsnoop.py#L101) ([output](https://github.com/iovisor/bcc/blob/552658edda09298afdccc8a4b5e17311a2d8a771/tools/execsnoop_example.txt#L8))\n\n### 9. kfuncs\n\nSyntax: KFUNC_PROBE(*function*, typeof(arg1) arg1, typeof(arg2) arge ...)\n        MODULE_KFUNC_PROBE(*module*, *function*, typeof(arg1) arg1, typeof(arg2) arge ...)\n\nThis is a macro that instruments the kernel function via trampoline\n*before* the function is executed. It's defined by *function* name and\nthe function arguments defined as *argX*.\n\nFor example:\n```C\nKFUNC_PROBE(do_sys_open, int dfd, const char *filename, int flags, int mode)\n{\n    ...\n```\n\nThis instruments the do_sys_open kernel function and make its arguments\naccessible as standard argument values.\n\nExamples in situ:\n[search /tools](https://github.com/iovisor/bcc/search?q=KFUNC_PROBE+path%3Atools&type=Code)\n\n### 10. kretfuncs\n\nSyntax: KRETFUNC_PROBE(*event*, typeof(arg1) arg1, typeof(arg2) arge ..., int ret)\n        MODULE_KRETFUNC_PROBE(*module*, *function*, typeof(arg1) arg1, typeof(arg2) arge ...)\n\nThis is a macro that instruments the kernel function via trampoline\n*after* the function is executed. It's defined by *function* name and\nthe function arguments defined as *argX*.\n\nThe last argument of the probe is the return value of the instrumented function.\n\nFor example:\n```C\nKRETFUNC_PROBE(do_sys_open, int dfd, const char *filename, int flags, int mode, int ret)\n{\n    ...\n```\n\nThis instruments the do_sys_open kernel function and make its arguments\naccessible as standard argument values together with its return value.\n\nExamples in situ:\n[search /tools](https://github.com/iovisor/bcc/search?q=KRETFUNC_PROBE+path%3Atools&type=Code)\n\n\n### 11. LSM Probes\n\nSyntax: LSM_PROBE(*hook*, typeof(arg1) arg1, typeof(arg2) arg2 ...)\n\nThis is a macro that instruments an LSM hook as a BPF program. It can be\nused to audit security events and implement MAC security policies in BPF.\nIt is defined by specifying the hook name followed by its arguments.\n\nHook names can be found in\n[include/linux/security.h](https://github.com/torvalds/linux/blob/v5.15/include/linux/security.h#L260)\nby taking functions like `security_hookname` and taking just the `hookname` part.\nFor example, `security_bpf` would simply become `bpf`.\n\nUnlike other BPF program types, the return value specified in an LSM probe\nmatters. A return value of 0 allows the hook to succeed, whereas\nany non-zero return value will cause the hook to fail and deny the\nsecurity operation.\n\nThe following example instruments a hook that denies all future BPF operations:\n```C\nLSM_PROBE(bpf, int cmd, union bpf_attr *attr, unsigned int size)\n{\n    return -EPERM;\n}\n```\n\nThis instruments the `security_bpf` hook and causes it to return `-EPERM`.\nChanging `return -EPERM` to `return 0` would cause the BPF program\nto allow the operation instead.\n\nLSM probes require at least a 5.7+ kernel with the following configuation options set:\n- `CONFIG_BPF_LSM=y`\n- `CONFIG_LSM` comma separated string must contain \"bpf\" (for example,\n  `CONFIG_LSM=\"lockdown,yama,bpf\"`)\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=LSM_PROBE+path%3Atests&type=Code)\n\n### 12. BPF ITERATORS\n\nSyntax: BPF_ITER(target)\n\nThis is a macro to define a program signature for a bpf iterator program. The argument *target* specifies what to iterate for the program.\n\nCurrently, kernel does not have interface to discover what targets are supported. A good place to find what is supported is in [tools/testing/selftests/bpf/prog_test/bpf_iter.c](https://github.com/torvalds/linux/blob/master/tools/testing/selftests/bpf/prog_tests/bpf_iter.c) and some sample bpf iter programs are in [tools/testing/selftests/bpf/progs](https://github.com/torvalds/linux/tree/master/tools/testing/selftests/bpf/progs) with file name prefix *bpf_iter*.\n\nThe following example defines a program for target *task*, which traverses all tasks in the kernel.\n```C\nBPF_ITER(task)\n{\n  struct seq_file *seq = ctx->meta->seq;\n  struct task_struct *task = ctx->task;\n\n  if (task == (void *)0)\n    return 0;\n\n  ... task->pid, task->tgid, task->comm, ...\n  return 0;\n}\n```\n\nBPF iterators are introduced in 5.8 kernel for task, task_file, bpf_map, netlink_sock and ipv6_route . In 5.9, support is added to tcp/udp sockets and bpf map element (hashmap, arraymap and sk_local_storage_map) traversal.\n\n## Data\n\n### 1. bpf_probe_read_kernel()\n\nSyntax: ```int bpf_probe_read_kernel(void *dst, int size, const void *src)```\n\nReturn: 0 on success\n\nThis copies size bytes from kernel address space to the BPF stack, so that BPF can later operate on it. For safety, all kernel memory reads must pass through bpf_probe_read_kernel(). This happens automatically in some cases, such as dereferencing kernel variables, as bcc will rewrite the BPF program to include the necessary bpf_probe_read_kernel().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_probe_read_kernel+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_probe_read_kernel+path%3Atools&type=Code)\n\n### 2. bpf_probe_read_kernel_str()\n\nSyntax: ```int bpf_probe_read_kernel_str(void *dst, int size, const void *src)```\n\nReturn:\n  - \\> 0 length of the string including the trailing NULL on success\n  - \\< 0 error\n\nThis copies a `NULL` terminated string from kernel address space to the BPF stack, so that BPF can later operate on it. In case the string length is smaller than size, the target is not padded with further `NULL` bytes. In case the string length is larger than size, just `size - 1` bytes are copied and the last byte is set to `NULL`.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_probe_read_kernel_str+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_probe_read_kernel_str+path%3Atools&type=Code)\n\n### 3. bpf_ktime_get_ns()\n\nSyntax: ```u64 bpf_ktime_get_ns(void)```\n\nReturn: u64 number of nanoseconds. Starts at system boot time but stops during suspend.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_ktime_get_ns+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_ktime_get_ns+path%3Atools&type=Code)\n\n### 4. bpf_get_current_pid_tgid()\n\nSyntax: ```u64 bpf_get_current_pid_tgid(void)```\n\nReturn: ```current->tgid << 32 | current->pid```\n\nReturns the process ID in the lower 32 bits (kernel's view of the PID, which in user space is usually presented as the thread ID), and the thread group ID in the upper 32 bits (what user space often thinks of as the PID). By directly setting this to a u32, we discard the upper 32 bits.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_get_current_pid_tgid+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_get_current_pid_tgid+path%3Atools&type=Code)\n\n### 5. bpf_get_current_uid_gid()\n\nSyntax: ```u64 bpf_get_current_uid_gid(void)```\n\nReturn: ```current_gid << 32 | current_uid```\n\nReturns the user ID and group IDs.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_get_current_uid_gid+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_get_current_uid_gid+path%3Atools&type=Code)\n\n### 6. bpf_get_current_comm()\n\nSyntax: ```bpf_get_current_comm(char *buf, int size_of_buf)```\n\nReturn: 0 on success\n\nPopulates the first argument address with the current process name. It should be a pointer to a char array of at least size TASK_COMM_LEN, which is defined in linux/sched.h. For example:\n\n```C\n#include <linux/sched.h>\n\nint do_trace(struct pt_regs *ctx) {\n    char comm[TASK_COMM_LEN];\n    bpf_get_current_comm(&comm, sizeof(comm));\n[...]\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_get_current_comm+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_get_current_comm+path%3Atools&type=Code)\n\n### 7. bpf_get_current_task()\n\nSyntax: ```bpf_get_current_task()```\n\nReturn: current task as a pointer to struct task_struct.\n\nReturns a pointer to the current task's task_struct object. This helper can be used to compute the on-CPU time for a process, identify kernel threads, get the current CPU's run queue, or retrieve many other pieces of information.\n\nWith Linux 4.13, due to issues with field randomization, you may need two #define directives before the includes:\n```C\n#define randomized_struct_fields_start  struct {\n#define randomized_struct_fields_end    };\n#include <linux/sched.h>\n\nint do_trace(void *ctx) {\n    struct task_struct *t = (struct task_struct *)bpf_get_current_task();\n[...]\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_get_current_task+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_get_current_task+path%3Atools&type=Code)\n\n### 8. bpf_log2l()\n\nSyntax: ```unsigned int bpf_log2l(unsigned long v)```\n\nReturns the log-2 of the provided value. This is often used to create indexes for histograms, to construct power-of-2 histograms.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_log2l+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_log2l+path%3Atools&type=Code)\n\n### 9. bpf_get_prandom_u32()\n\nSyntax: ```u32 bpf_get_prandom_u32()```\n\nReturns a pseudo-random u32.\n\nExample in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_get_prandom_u32+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_get_prandom_u32+path%3Atools&type=Code)\n\n### 10. bpf_probe_read_user()\n\nSyntax: ```int bpf_probe_read_user(void *dst, int size, const void *src)```\n\nReturn: 0 on success\n\nThis attempts to safely read size bytes from user address space to the BPF stack, so that BPF can later operate on it. For safety, all user address space memory reads must pass through bpf_probe_read_user().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_probe_read_user+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_probe_read_user+path%3Atools&type=Code)\n\n### 11. bpf_probe_read_user_str()\n\nSyntax: ```int bpf_probe_read_user_str(void *dst, int size, const void *src)```\n\nReturn:\n  - \\> 0 length of the string including the trailing NULL on success\n  - \\< 0 error\n\nThis copies a `NULL` terminated string from user address space to the BPF stack, so that BPF can later operate on it. In case the string length is smaller than size, the target is not padded with further `NULL` bytes. In case the string length is larger than size, just `size - 1` bytes are copied and the last byte is set to `NULL`.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_probe_read_user_str+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_probe_read_user_str+path%3Atools&type=Code)\n\n\n### 12. bpf_get_ns_current_pid_tgid()\n\nSyntax: ```u32 bpf_get_ns_current_pid_tgid(u64 dev, u64 ino, struct bpf_pidns_info* nsdata, u32 size)```\n\nValues for *pid* and *tgid* as seen from the current *namespace* will be returned in *nsdata*.\n\nReturn 0 on success, or one of the following in case of failure:\n\n- **-EINVAL** if dev and inum supplied don't match dev_t and inode number with nsfs of current task, or if dev conversion to dev_t lost high bits.\n\n- **-ENOENT** if pidns does not exists for the current task.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_get_ns_current_pid_tgid+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_get_ns_current_pid_tgid+path%3Atools&type=Code)\n\n\n## Debugging\n\n### 1. bpf_override_return()\n\nSyntax: ```int bpf_override_return(struct pt_regs *, unsigned long rc)```\n\nReturn: 0 on success\n\nWhen used in a program attached to a function entry kprobe, causes the\nexecution of the function to be skipped, immediately returning `rc` instead.\nThis is used for targeted error injection.\n\nbpf_override_return will only work when the kprobed function is whitelisted to\nallow error injections. Whitelisting entails tagging a function with\n`ALLOW_ERROR_INJECTION()` in the kernel source tree; see `io_ctl_init` for\nan example. If the kprobed function is not whitelisted, the bpf program will\nfail to attach with ` ioctl(PERF_EVENT_IOC_SET_BPF): Invalid argument`\n\n\n```C\nint kprobe__io_ctl_init(void *ctx) {\n\tbpf_override_return(ctx, -ENOMEM);\n\treturn 0;\n}\n```\n\n## Output\n\n### 1. bpf_trace_printk()\n\nSyntax: ```int bpf_trace_printk(const char *fmt, ...)```\n\nReturn: 0 on success\n\nA simple kernel facility for printf() to the common trace_pipe (/sys/kernel/debug/tracing/trace_pipe). This is ok for some quick examples, but has limitations: 3 args max, 1 %s only, and trace_pipe is globally shared, so concurrent programs will have clashing output. A better interface is via BPF_PERF_OUTPUT(). Note that calling this helper is made simpler than the original kernel version, which has ```fmt_size``` as the second parameter.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=bpf_trace_printk+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=bpf_trace_printk+path%3Atools&type=Code)\n\n### 2. BPF_PERF_OUTPUT\n\nSyntax: ```BPF_PERF_OUTPUT(name)```\n\nCreates a BPF table for pushing out custom event data to user space via a perf ring buffer. This is the preferred method for pushing per-event data to user space.\n\nFor example:\n\n```C\nstruct data_t {\n    u32 pid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\nBPF_PERF_OUTPUT(events);\n\nint hello(struct pt_regs *ctx) {\n    struct data_t data = {};\n\n    data.pid = bpf_get_current_pid_tgid();\n    data.ts = bpf_ktime_get_ns();\n    bpf_get_current_comm(&data.comm, sizeof(data.comm));\n\n    events.perf_submit(ctx, &data, sizeof(data));\n\n    return 0;\n}\n```\n\nThe output table is named ```events```, and data is pushed to it via ```events.perf_submit()```.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_PERF_OUTPUT+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_PERF_OUTPUT+path%3Atools&type=Code)\n\n### 3. perf_submit()\n\nSyntax: ```int perf_submit((void *)ctx, (void *)data, u32 data_size)```\n\nReturn: 0 on success\n\nA method of a BPF_PERF_OUTPUT table, for submitting custom event data to user space. See the BPF_PERF_OUTPUT entry. (This ultimately calls bpf_perf_event_output().)\n\nThe ```ctx``` parameter is provided in [kprobes](#1-kprobes) or [kretprobes](#2-kretprobes). For ```SCHED_CLS``` or ```SOCKET_FILTER``` programs, the ```struct __sk_buff *skb``` must be used instead.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=perf_submit+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=perf_submit+path%3Atools&type=Code)\n\n### 4. perf_submit_skb()\n\nSyntax: ```int perf_submit_skb((void *)ctx, u32 packet_size, (void *)data, u32 data_size)```\n\nReturn: 0 on success\n\nA method of a BPF_PERF_OUTPUT table available in networking program types, for submitting custom event data to user space, along with the first ```packet_size``` bytes of the packet buffer. See the BPF_PERF_OUTPUT entry. (This ultimately calls bpf_perf_event_output().)\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=perf_submit_skb+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=perf_submit_skb+path%3Atools&type=Code)\n\n### 5. BPF_RINGBUF_OUTPUT\n\nSyntax: ```BPF_RINGBUF_OUTPUT(name, page_cnt)```\n\nCreates a BPF table for pushing out custom event data to user space via a ringbuf ring buffer.\n```BPF_RINGBUF_OUTPUT``` has several advantages over ```BPF_PERF_OUTPUT```, summarized as follows:\n\n- Buffer is shared across all CPUs, meaning no per-CPU allocation\n- Supports two APIs for BPF programs\n    - ```map.ringbuf_output()``` works like ```map.perf_submit()``` (covered in [ringbuf_output](#6-ringbuf_output))\n    - ```map.ringbuf_reserve()```/```map.ringbuf_submit()```/```map.ringbuf_discard()```\n      split the process of reserving buffer space and submitting events into two steps\n      (covered in [ringbuf_reserve](#7-ringbuf_reserve), [ringbuf_submit](#8-ringbuf_submit), [ringbuf_discard](#9-ringbuf_discard))\n- BPF APIs do not require access to a CPU ctx argument\n- Superior performance and latency in userspace thanks to a shared ring buffer manager\n- Supports two ways of consuming data in userspace\n\nStarting in Linux 5.8, this should be the preferred method for pushing per-event data to user space.\n\nExample of both APIs:\n\n```C\nstruct data_t {\n    u32 pid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\n\n// Creates a ringbuf called events with 8 pages of space, shared across all CPUs\nBPF_RINGBUF_OUTPUT(events, 8);\n\nint first_api_example(struct pt_regs *ctx) {\n    struct data_t data = {};\n\n    data.pid = bpf_get_current_pid_tgid();\n    data.ts = bpf_ktime_get_ns();\n    bpf_get_current_comm(&data.comm, sizeof(data.comm));\n\n    events.ringbuf_output(&data, sizeof(data), 0 /* flags */);\n\n    return 0;\n}\n\nint second_api_example(struct pt_regs *ctx) {\n    struct data_t *data = events.ringbuf_reserve(sizeof(struct data_t));\n    if (!data) { // Failed to reserve space\n        return 1;\n    }\n\n    data->pid = bpf_get_current_pid_tgid();\n    data->ts = bpf_ktime_get_ns();\n    bpf_get_current_comm(&data->comm, sizeof(data->comm));\n\n    events.ringbuf_submit(data, 0 /* flags */);\n\n    return 0;\n}\n```\n\nThe output table is named ```events```. Data is allocated via ```events.ringbuf_reserve()``` and pushed to it via ```events.ringbuf_submit()```.\n\nExamples in situ: <!-- TODO -->\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_RINGBUF_OUTPUT+path%3Aexamples&type=Code),\n\n### 6. ringbuf_output()\n\nSyntax: ```int ringbuf_output((void *)data, u64 data_size, u64 flags)```\n\nReturn: 0 on success\n\nFlags:\n - ```BPF_RB_NO_WAKEUP```: Do not sent notification of new data availability\n - ```BPF_RB_FORCE_WAKEUP```: Send notification of new data availability unconditionally\n\nA method of the BPF_RINGBUF_OUTPUT table, for submitting custom event data to user space. This method works like ```perf_submit()```,\nalthough it does not require a ctx argument.\n\nExamples in situ: <!-- TODO -->\n[search /examples](https://github.com/iovisor/bcc/search?q=ringbuf_output+path%3Aexamples&type=Code),\n\n### 7. ringbuf_reserve()\n\nSyntax: ```void* ringbuf_reserve(u64 data_size)```\n\nReturn: Pointer to data struct on success, NULL on failure\n\nA method of the BPF_RINGBUF_OUTPUT table, for reserving space in the ring buffer and simultaenously\nallocating a data struct for output. Must be used with one of ```ringbuf_submit``` or ```ringbuf_discard```.\n\nExamples in situ: <!-- TODO -->\n[search /examples](https://github.com/iovisor/bcc/search?q=ringbuf_reserve+path%3Aexamples&type=Code),\n\n### 8. ringbuf_submit()\n\nSyntax: ```void ringbuf_submit((void *)data, u64 flags)```\n\nReturn: Nothing, always succeeds\n\nFlags:\n - ```BPF_RB_NO_WAKEUP```: Do not sent notification of new data availability\n - ```BPF_RB_FORCE_WAKEUP```: Send notification of new data availability unconditionally\n\nA method of the BPF_RINGBUF_OUTPUT table, for submitting custom event data to user space. Must be preceded by a call to\n```ringbuf_reserve()``` to reserve space for the data.\n\nExamples in situ: <!-- TODO -->\n[search /examples](https://github.com/iovisor/bcc/search?q=ringbuf_submit+path%3Aexamples&type=Code),\n\n### 9. ringbuf_discard()\n\nSyntax: ```void ringbuf_discard((void *)data, u64 flags)```\n\nReturn: Nothing, always succeeds\n\nFlags:\n - ```BPF_RB_NO_WAKEUP```: Do not sent notification of new data availability\n - ```BPF_RB_FORCE_WAKEUP```: Send notification of new data availability unconditionally\n\nA method of the BPF_RINGBUF_OUTPUT table, for discarding custom event data; userspace\nignores the data associated with the discarded event. Must be preceded by a call to\n```ringbuf_reserve()``` to reserve space for the data.\n\nExamples in situ: <!-- TODO -->\n[search /examples](https://github.com/iovisor/bcc/search?q=ringbuf_submit+path%3Aexamples&type=Code),\n\n### 10. ringbuf_query()\n\nSyntax: ```u64 ringbuf_query(u64 flags)```\n\nReturn: Requested value, or 0, if flags are not recognized\n\nFlags:\n - ```BPF_RB_AVAIL_DATA```: Amount of data not yet consumed\n - ```BPF_RB_RING_SIZE```: The size of ring buffer\n - ```BPF_RB_CONS_POS```: Consumer position\n - ```BPF_RB_PROD_POS```: Producer(s) position\n\nA method of the BPF_RINGBUF_OUTPUT table, for getting various properties of ring buffer. Returned values are momentarily snapshots of ring buffer state and could be off by the time helper returns, so this should be used only for debugging/reporting reasons or for implementing various heuristics, that take into account highly-changeable nature of some of those characteristics.\n\nExamples in situ: <!-- TODO -->\n[search /examples](https://github.com/iovisor/bcc/search?q=ringbuf_query+path%3Aexamples&type=Code),\n\n## Maps\n\nMaps are BPF data stores, and are the basis for higher level object types including tables, hashes, and histograms.\n\n### 1. BPF_TABLE\n\nSyntax: ```BPF_TABLE(_table_type, _key_type, _leaf_type, _name, _max_entries)```\n\nCreates a map named ```_name```. Most of the time this will be used via higher-level macros, like BPF_HASH, BPF_ARRAY, BPF_HISTOGRAM, etc.\n\n`BPF_F_TABLE` is a variant that takes a flag in the last parameter. `BPF_TABLE(...)` is actually a wrapper to `BPF_F_TABLE(..., 0 /* flag */)`.\n\nMethods (covered later): map.lookup(), map.lookup_or_try_init(), map.delete(), map.update(), map.insert(), map.increment().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_TABLE+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_TABLE+path%3Atools&type=Code)\n\n#### Pinned Maps\n\nSyntax: ```BPF_TABLE_PINNED(_table_type, _key_type, _leaf_type, _name, _max_entries, \"/sys/fs/bpf/xyz\")```\n\nCreate a new map if it doesn't exist and pin it to the bpffs as a FILE, otherwise use the map that was pinned to the bpffs. The type information is not enforced and the actual map type depends on the map that got pinned to the location.\n\nFor example:\n\n```C\nBPF_TABLE_PINNED(\"hash\", u64, u64, ids, 1024, \"/sys/fs/bpf/ids\");\n```\n\n### 2. BPF_HASH\n\nSyntax: ```BPF_HASH(name [, key_type [, leaf_type [, size]]])```\n\nCreates a hash map (associative array) named ```name```, with optional parameters.\n\nDefaults: ```BPF_HASH(name, key_type=u64, leaf_type=u64, size=10240)```\n\nFor example:\n\n```C\nBPF_HASH(start, struct request *);\n```\n\nThis creates a hash named ```start``` where the key is a ```struct request *```, and the value defaults to u64. This hash is used by the disksnoop.py example for saving timestamps for each I/O request, where the key is the pointer to struct request, and the value is the timestamp.\n\nThis is a wrapper macro for `BPF_TABLE(\"hash\", ...)`.\n\nMethods (covered later): map.lookup(), map.lookup_or_try_init(), map.delete(), map.update(), map.insert(), map.increment().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_HASH+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_HASH+path%3Atools&type=Code)\n\n### 3. BPF_ARRAY\n\nSyntax: ```BPF_ARRAY(name [, leaf_type [, size]])```\n\nCreates an int-indexed array which is optimized for fastest lookup and update, named ```name```, with optional parameters.\n\nDefaults: ```BPF_ARRAY(name, leaf_type=u64, size=10240)```\n\nFor example:\n\n```C\nBPF_ARRAY(counts, u64, 32);\n```\n\nThis creates an array named ```counts``` where with 32 buckets and 64-bit integer values. This array is used by the funccount.py example for saving call count of each function.\n\nThis is a wrapper macro for `BPF_TABLE(\"array\", ...)`.\n\nMethods (covered later): map.lookup(), map.update(), map.increment(). Note that all array elements are pre-allocated with zero values and can not be deleted.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_ARRAY+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_ARRAY+path%3Atools&type=Code)\n\n### 4. BPF_HISTOGRAM\n\nSyntax: ```BPF_HISTOGRAM(name [, key_type [, size ]])```\n\nCreates a histogram map named ```name```, with optional parameters.\n\nDefaults: ```BPF_HISTOGRAM(name, key_type=int, size=64)```\n\nFor example:\n\n```C\nBPF_HISTOGRAM(dist);\n```\n\nThis creates a histogram named ```dist```, which defaults to 64 buckets indexed by keys of type int.\n\nThis is a wrapper macro for `BPF_TABLE(\"histgram\", ...)`.\n\nMethods (covered later): map.increment().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_HISTOGRAM+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_HISTOGRAM+path%3Atools&type=Code)\n\n### 5. BPF_STACK_TRACE\n\nSyntax: ```BPF_STACK_TRACE(name, max_entries)```\n\nCreates stack trace map named ```name```, with a maximum entry count provided. These maps are used to store stack traces.\n\nFor example:\n\n```C\nBPF_STACK_TRACE(stack_traces, 1024);\n```\n\nThis creates stack trace map named ```stack_traces```, with a maximum number of stack trace entries of 1024.\n\nThis is a wrapper macro for `BPF_TABLE(\"stacktrace\", ...)`.\n\nMethods (covered later): map.get_stackid().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_STACK_TRACE+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_STACK_TRACE+path%3Atools&type=Code)\n\n### 6. BPF_PERF_ARRAY\n\nSyntax: ```BPF_PERF_ARRAY(name, max_entries)```\n\nCreates perf array named ```name```, with a maximum entry count provided, which must be equal to the number of system cpus. These maps are used to fetch hardware performance counters.\n\nFor example:\n\n```C\ntext=\"\"\"\nBPF_PERF_ARRAY(cpu_cycles, NUM_CPUS);\n\"\"\"\nb = bcc.BPF(text=text, cflags=[\"-DNUM_CPUS=%d\" % multiprocessing.cpu_count()])\nb[\"cpu_cycles\"].open_perf_event(b[\"cpu_cycles\"].HW_CPU_CYCLES)\n```\n\nThis creates a perf array named ```cpu_cycles```, with number of entries equal to the number of cpus/cores. The array is configured so that later calling map.perf_read() will return a hardware-calculated counter of the number of cycles elapsed from some point in the past. Only one type of hardware counter may be configured per table at a time.\n\nMethods (covered later): map.perf_read().\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=BPF_PERF_ARRAY+path%3Atests&type=Code)\n\n### 7. BPF_PERCPU_HASH\n\nSyntax: ```BPF_PERCPU_HASH(name [, key_type [, leaf_type [, size]]])```\n\nCreates NUM_CPU int-indexed hash maps (associative arrays) named ```name```, with optional parameters. Each CPU will have a separate copy of this array. The copies are not kept synchronized in any way.\n\nNote that due to limits defined in the kernel (in linux/mm/percpu.c), the ```leaf_type``` cannot have a size of more than 32KB.\nIn other words, ```BPF_PERCPU_HASH``` elements cannot be larger than 32KB in size.\n\n\nDefaults: ```BPF_PERCPU_HASH(name, key_type=u64, leaf_type=u64, size=10240)```\n\nFor example:\n\n```C\nBPF_PERCPU_HASH(start, struct request *);\n```\n\nThis creates NUM_CPU hashes named ```start``` where the key is a ```struct request *```, and the value defaults to u64.\n\nThis is a wrapper macro for `BPF_TABLE(\"percpu_hash\", ...)`.\n\nMethods (covered later): map.lookup(), map.lookup_or_try_init(), map.delete(), map.update(), map.insert(), map.increment().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_PERCPU_HASH+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_PERCPU_HASH+path%3Atools&type=Code)\n\n\n### 8. BPF_PERCPU_ARRAY\n\nSyntax: ```BPF_PERCPU_ARRAY(name [, leaf_type [, size]])```\n\nCreates NUM_CPU int-indexed arrays which are optimized for fastest lookup and update, named ```name```, with optional parameters. Each CPU will have a separate copy of this array. The copies are not kept synchronized in any way.\n\nNote that due to limits defined in the kernel (in linux/mm/percpu.c), the ```leaf_type``` cannot have a size of more than 32KB.\nIn other words, ```BPF_PERCPU_ARRAY``` elements cannot be larger than 32KB in size.\n\n\nDefaults: ```BPF_PERCPU_ARRAY(name, leaf_type=u64, size=10240)```\n\nFor example:\n\n```C\nBPF_PERCPU_ARRAY(counts, u64, 32);\n```\n\nThis creates NUM_CPU arrays named ```counts``` where with 32 buckets and 64-bit integer values.\n\nThis is a wrapper macro for `BPF_TABLE(\"percpu_array\", ...)`.\n\nMethods (covered later): map.lookup(), map.update(), map.increment(). Note that all array elements are pre-allocated with zero values and can not be deleted.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_PERCPU_ARRAY+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_PERCPU_ARRAY+path%3Atools&type=Code)\n\n### 9. BPF_LPM_TRIE\n\nSyntax: `BPF_LPM_TRIE(name [, key_type [, leaf_type [, size]]])`\n\nCreates a longest prefix match trie map named `name`, with optional parameters.\n\nDefaults: `BPF_LPM_TRIE(name, key_type=u64, leaf_type=u64, size=10240)`\n\nFor example:\n\n```c\nBPF_LPM_TRIE(trie, struct key_v6);\n```\n\nThis creates an LPM trie map named `trie` where the key is a `struct key_v6`, and the value defaults to u64.\n\nThis is a wrapper macro to `BPF_F_TABLE(\"lpm_trie\", ..., BPF_F_NO_PREALLOC)`.\n\nMethods (covered later): map.lookup(), map.lookup_or_try_init(), map.delete(), map.update(), map.insert(), map.increment().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_LPM_TRIE+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF_LPM_TRIE+path%3Atools&type=Code)\n\n### 10. BPF_PROG_ARRAY\n\nSyntax: ```BPF_PROG_ARRAY(name, size)```\n\nThis creates a program array named ```name``` with ```size``` entries. Each entry of the array is either a file descriptor to a bpf program or ```NULL```. The array acts as a jump table so that bpf programs can \"tail-call\" other bpf programs.\n\nThis is a wrapper macro for `BPF_TABLE(\"prog\", ...)`.\n\nMethods (covered later): map.call().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_PROG_ARRAY+path%3Aexamples&type=Code),\n[search /tests](https://github.com/iovisor/bcc/search?q=BPF_PROG_ARRAY+path%3Atests&type=Code),\n[assign fd](https://github.com/iovisor/bcc/blob/master/examples/networking/tunnel_monitor/monitor.py#L24-L26)\n\n### 11. BPF_DEVMAP\n\nSyntax: ```BPF_DEVMAP(name, size)```\n\nThis creates a device map named ```name``` with ```size``` entries. Each entry of the map is an `ifindex` to a network interface. This map is only used in XDP.\n\nFor example:\n```C\nBPF_DEVMAP(devmap, 10);\n```\n\nMethods (covered later): map.redirect_map().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_DEVMAP+path%3Aexamples&type=Code),\n\n### 12. BPF_CPUMAP\n\nSyntax: ```BPF_CPUMAP(name, size)```\n\nThis creates a cpu map named ```name``` with ```size``` entries. The index of the map represents the CPU id and each entry is the size of the ring buffer allocated for the CPU. This map is only used in XDP.\n\nFor example:\n```C\nBPF_CPUMAP(cpumap, 16);\n```\n\nMethods (covered later): map.redirect_map().\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_CPUMAP+path%3Aexamples&type=Code),\n\n### 13. BPF_XSKMAP\n\nSyntax: ```BPF_XSKMAP(name, size [, \"/sys/fs/bpf/xyz\"])```\n\nThis creates a xsk map named ```name``` with ```size``` entries and pin it to the bpffs as a FILE. Each entry represents one NIC's queue id. This map is only used in XDP to redirect packet to an AF_XDP socket. If the AF_XDP socket is binded to a queue which is different than the current packet's queue id, the packet will be dropped. For kernel v5.3 and latter, `lookup` method is available and can be used to check whether and AF_XDP socket is available for the current packet's queue id. More details at [AF_XDP](https://www.kernel.org/doc/html/latest/networking/af_xdp.html).\n\nFor example:\n```C\nBPF_XSKMAP(xsks_map, 8);\n```\n\nMethods (covered later): map.redirect_map(). map.lookup()\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF_XSKMAP+path%3Aexamples&type=Code),\n\n### 14. BPF_ARRAY_OF_MAPS\n\nSyntax: ```BPF_ARRAY_OF_MAPS(name, inner_map_name, size)```\n\nThis creates an array map with a map-in-map type (BPF_MAP_TYPE_HASH_OF_MAPS) map named ```name``` with ```size``` entries. The inner map meta data is provided by map ```inner_map_name``` and can be most of array or hash maps except ```BPF_MAP_TYPE_PROG_ARRAY```, ```BPF_MAP_TYPE_CGROUP_STORAGE``` and ```BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE```.\n\nFor example:\n```C\nBPF_TABLE(\"hash\", int, int, ex1, 1024);\nBPF_TABLE(\"hash\", int, int, ex2, 1024);\nBPF_ARRAY_OF_MAPS(maps_array, \"ex1\", 10);\n```\n\n### 15. BPF_HASH_OF_MAPS\n\nSyntax: ```BPF_HASH_OF_MAPS(name, key_type, inner_map_name, size)```\n\nThis creates a hash map with a map-in-map type (BPF_MAP_TYPE_HASH_OF_MAPS) map named ```name``` with ```size``` entries. The inner map meta data is provided by map ```inner_map_name``` and can be most of array or hash maps except ```BPF_MAP_TYPE_PROG_ARRAY```, ```BPF_MAP_TYPE_CGROUP_STORAGE``` and ```BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE```.\n\nFor example:\n```C\nBPF_ARRAY(ex1, int, 1024);\nBPF_ARRAY(ex2, int, 1024);\nBPF_HASH_OF_MAPS(maps_hash, struct custom_key, \"ex1\", 10);\n```\n\n### 16. BPF_STACK\n\nSyntax: ```BPF_STACK(name, leaf_type, max_entries[, flags])```\n\nCreates a stack named ```name``` with value type ```leaf_type``` and max entries ```max_entries```.\nStack and Queue maps are only available from Linux 4.20+.\n\nFor example:\n\n```C\nBPF_STACK(stack, struct event, 10240);\n```\n\nThis creates a stack named ```stack``` where the value type is ```struct event```, that holds up to 10240 entries.\n\nMethods (covered later): map.push(), map.pop(), map.peek().\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=BPF_STACK+path%3Atests&type=Code),\n\n### 17. BPF_QUEUE\n\nSyntax: ```BPF_QUEUE(name, leaf_type, max_entries[, flags])```\n\nCreates a queue named ```name``` with value type ```leaf_type``` and max entries ```max_entries```.\nStack and Queue maps are only available from Linux 4.20+.\n\nFor example:\n\n```C\nBPF_QUEUE(queue, struct event, 10240);\n```\n\nThis creates a queue named ```queue``` where the value type is ```struct event```, that holds up to 10240 entries.\n\nMethods (covered later): map.push(), map.pop(), map.peek().\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=BPF_QUEUE+path%3Atests&type=Code),\n\n### 18. BPF_SOCKHASH\n\nSyntax: ```BPF_SOCKHASH(name[, key_type [, max_entries)```\n\nCreates a hash named ```name```, with optional parameters. sockhash is only available from Linux 4.18+.\n\nDefault: ```BPF_SOCKHASH(name, key_type=u32, max_entries=10240)```\n\nFor example:\n\n```C\nstruct sock_key {\n  u32 remote_ip4;\n  u32 local_ip4;\n  u32 remote_port;\n  u32 local_port;\n};\nBPF_HASH(skh, struct sock_key, 65535);\n```\n\nThis creates a hash named ```skh``` where the key is a ```struct sock_key```.\n\nA sockhash is a BPF map type that holds references to sock structs. Then with a new sk/msg redirect bpf helper BPF programs can use the map to redirect skbs/msgs between sockets (```map.sk_redirect_hash()/map.msg_redirect_hash()```).\n\nThe difference between ```BPF_SOCKHASH``` and ```BPF_SOCKMAP``` is that ```BPF_SOCKMAP``` is implemented based on an array, and enforces keys to be four bytes. While ```BPF_SOCKHASH``` is implemented based on hash table, and the type of key can be specified freely.\n\nMethods (covered later): map.sock_hash_update(), map.msg_redirect_hash(), map.sk_redirect_hash().\n\n[search /tests](https://github.com/iovisor/bcc/search?q=BPF_SOCKHASH+path%3Atests&type=Code)\n\n### 19. map.lookup()\n\nSyntax: ```*val map.lookup(&key)```\n\nLookup the key in the map, and return a pointer to its value if it exists, else NULL. We pass the key in as an address to a pointer.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=lookup+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=lookup+path%3Atools&type=Code)\n\n### 20. map.lookup_or_try_init()\n\nSyntax: ```*val map.lookup_or_try_init(&key, &zero)```\n\nLookup the key in the map, and return a pointer to its value if it exists, else initialize the key's value to the second argument. This is often used to initialize values to zero. If the key cannot be inserted (e.g. the map is full) then NULL is returned.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=lookup_or_try_init+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=lookup_or_try_init+path%3Atools&type=Code)\n\nNote: The old map.lookup_or_init() may cause return from the function, so lookup_or_try_init() is recommended as it\ndoes not have this side effect.\n\n### 21. map.delete()\n\nSyntax: ```map.delete(&key)```\n\nDelete the key from the hash.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=delete+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=delete+path%3Atools&type=Code)\n\n### 22. map.update()\n\nSyntax: ```map.update(&key, &val)```\n\nAssociate the value in the second argument to the key, overwriting any previous value.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=update+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=update+path%3Atools&type=Code)\n\n### 23. map.insert()\n\nSyntax: ```map.insert(&key, &val)```\n\nAssociate the value in the second argument to the key, only if there was no previous value.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=insert+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=insert+path%3Atools&type=Code)\n\n### 24. map.increment()\n\nSyntax: ```map.increment(key[, increment_amount])```\n\nIncrements the key's value by `increment_amount`, which defaults to 1. Used for histograms.\n\n```map.increment()``` are not atomic. In the concurrency case. If you want more accurate results, use ```map.atomic_increment()``` instead of ```map.increment()```. The overhead of ```map.increment()``` and ```map.atomic_increment()``` is similar.\n\nNote. When using ```map.atomic_increment()``` to operate on a BPF map of type ```BPF_MAP_TYPE_HASH```, ```map.atomic_increment()``` does not guarantee the atomicity of the operation when the specified key does not exist.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=increment+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=increment+path%3Atools&type=Code)\n\n### 25. map.get_stackid()\n\nSyntax: ```int map.get_stackid(void *ctx, u64 flags)```\n\nThis walks the stack found via the struct pt_regs in ```ctx```, saves it in the stack trace map, and returns a unique ID for the stack trace.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=get_stackid+path%3Aexamples&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=get_stackid+path%3Atools&type=Code)\n\n### 26. map.perf_read()\n\nSyntax: ```u64 map.perf_read(u32 cpu)```\n\nThis returns the hardware performance counter as configured in [5. BPF_PERF_ARRAY](#5-bpf_perf_array)\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=perf_read+path%3Atests&type=Code)\n\n### 27. map.call()\n\nSyntax: ```void map.call(void *ctx, int index)```\n\nThis invokes ```bpf_tail_call()``` to tail-call the bpf program which the ```index``` entry in [BPF_PROG_ARRAY](#10-bpf_prog_array) points to. A tail-call is different from the normal call. It reuses the current stack frame after jumping to another bpf program and never goes back. If the ```index``` entry is empty, it won't jump anywhere and the program execution continues as normal.\n\nFor example:\n\n```C\nBPF_PROG_ARRAY(prog_array, 10);\n\nint tail_call(void *ctx) {\n    bpf_trace_printk(\"Tail-call\\n\");\n    return 0;\n}\n\nint do_tail_call(void *ctx) {\n    bpf_trace_printk(\"Original program\\n\");\n    prog_array.call(ctx, 2);\n    return 0;\n}\n```\n\n```Python\nb = BPF(src_file=\"example.c\")\ntail_fn = b.load_func(\"tail_call\", BPF.KPROBE)\nprog_array = b.get_table(\"prog_array\")\nprog_array[c_int(2)] = c_int(tail_fn.fd)\nb.attach_kprobe(event=\"some_kprobe_event\", fn_name=\"do_tail_call\")\n```\n\nThis assigns ```tail_call()``` to ```prog_array[2]```. In the end of ```do_tail_call()```, ```prog_array.call(ctx, 2)``` tail-calls ```tail_call()``` and executes it.\n\n**NOTE:** To prevent infinite loop, the maximum number of tail-calls is 32 ([```MAX_TAIL_CALL_CNT```](https://github.com/torvalds/linux/search?l=C&q=MAX_TAIL_CALL_CNT+path%3Ainclude%2Flinux&type=Code)).\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?l=C&q=call+path%3Aexamples&type=Code),\n[search /tests](https://github.com/iovisor/bcc/search?l=C&q=call+path%3Atests&type=Code)\n\n### 28. map.redirect_map()\n\nSyntax: ```int map.redirect_map(int index, int flags)```\n\nThis redirects the incoming packets based on the ```index``` entry. If the map is [BPF_DEVMAP](#11-bpf_devmap), the packet will be sent to the transmit queue of the network interface that the entry points to. If the map is [BPF_CPUMAP](#12-bpf_cpumap), the packet will be sent to the ring buffer of the ```index``` CPU and be processed by the CPU later. If the map is [BPF_XSKMAP](#13-bpf_xskmap), the packet will be sent to the AF_XDP socket attached to the queue.\n\nIf the packet is redirected successfully, the function will return XDP_REDIRECT. Otherwise, it will return XDP_ABORTED to discard the packet.\n\nFor example:\n```C\nBPF_DEVMAP(devmap, 1);\n\nint redirect_example(struct xdp_md *ctx) {\n    return devmap.redirect_map(0, 0);\n}\nint xdp_dummy(struct xdp_md *ctx) {\n    return XDP_PASS;\n}\n```\n\n```Python\nip = pyroute2.IPRoute()\nidx = ip.link_lookup(ifname=\"eth1\")[0]\n\nb = bcc.BPF(src_file=\"example.c\")\n\ndevmap = b.get_table(\"devmap\")\ndevmap[c_uint32(0)] = c_int(idx)\n\nin_fn = b.load_func(\"redirect_example\", BPF.XDP)\nout_fn = b.load_func(\"xdp_dummy\", BPF.XDP)\nb.attach_xdp(\"eth0\", in_fn, 0)\nb.attach_xdp(\"eth1\", out_fn, 0)\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?l=C&q=redirect_map+path%3Aexamples&type=Code),\n\n### 29. map.push()\n\nSyntax: ```int map.push(&val, int flags)```\n\nPush an element onto a Stack or Queue table.\nPassing BPF_EXIST as a flag causes the Queue or Stack to discard the oldest element if it is full.\nReturns 0 on success, negative error on failure.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=push+path%3Atests&type=Code),\n\n### 30. map.pop()\n\nSyntax: ```int map.pop(&val)```\n\nPop an element from a Stack or Queue table. ```*val``` is populated with the result.\nUnlike peeking, popping removes the element.\nReturns 0 on success, negative error on failure.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=pop+path%3Atests&type=Code),\n\n### 31. map.peek()\n\nSyntax: ```int map.peek(&val)```\n\nPeek an element at the head of a Stack or Queue table. ```*val``` is populated with the result.\nUnlike popping, peeking does not remove the element.\nReturns 0 on success, negative error on failure.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=peek+path%3Atests&type=Code),\n\n### 32. map.sock_hash_update()\n\nSyntax: ```int map.sock_hash_update(struct bpf_sock_ops *skops, &key, int flags)```\n\nAdd an entry to, or update a sockhash map referencing sockets. The skops is used as a new value for the entry associated to key. flags is one of:\n\n```\nBPF_NOEXIST: The entry for key must not exist in the map.\nBPF_EXIST: The entry for key must already exist in the map.\nBPF_ANY: No condition on the existence of the entry for key.\n```\n\nIf the map has eBPF programs (parser and verdict), those will be inherited by the socket being added. If the socket is already attached to eBPF programs, this results in an error.\n\nReturn 0 on success, or a negative error in case of failure.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=sock_hash_update+path%3Atests&type=Code),\n\n### 33. map.msg_redirect_hash()\n\nSyntax: ```int map.msg_redirect_hash(struct sk_msg_buff *msg, void *key, u64 flags)```\n\nThis helper is used in programs implementing policies at the socket level. If the message msg is allowed to pass (i.e. if the verdict eBPF program returns SK_PASS), redirect it to the socket referenced by map (of type BPF_MAP_TYPE_SOCKHASH) using hash key. Both ingress and egress interfaces can be used for redirection. The BPF_F_INGRESS value in flags is used to make the distinction (ingress path is selected if the flag is present, egress path otherwise). This is the only flag supported for now.\n\nReturn SK_PASS on success, or SK_DROP on error.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=msg_redirect_hash+path%3Atests&type=Code),\n\n### 34. map.sk_redirect_hash()\n\nSyntax: ```int map.sk_redirect_hash(struct sk_buff *skb, void *key, u64 flags)```\n\nThis helper is used in programs implementing policies at the skb socket level. If the sk_buff skb is allowed to pass (i.e. if the verdict eBPF program returns SK_PASS), redirect it to the socket referenced by map (of  type  BPF_MAP_TYPE_SOCKHASH) using hash key. Both ingress and egress interfaces can be used for redirection. The BPF_F_INGRESS value in flags is used to make the distinction (ingress path is selected if the flag is present, egress otherwise). This is the only flag supported for now.\n\nReturn SK_PASS on success, or SK_DROP on error.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=sk_redirect_hash+path%3Atests&type=Code),\n\n## Licensing\n\nDepending on which [BPF helpers](kernel-versions.md#helpers) are used, a GPL-compatible license is required.\n\nThe special BCC macro `BPF_LICENSE` specifies the license of the BPF program. You can set the license as a comment in your source code, but the kernel has a special interface to specify it programmatically. If you need to use GPL-only helpers, it is recommended to specify the macro in your C code so that the kernel can understand it:\n\n```C\n// SPDX-License-Identifier: GPL-2.0+\n#define BPF_LICENSE GPL\n```\n\nOtherwise, the kernel may reject loading your program (see the [error description](#2-cannot-call-gpl-only-function-from-proprietary-program) below). Note that it supports multiple words and quotes are not necessary:\n\n```C\n// SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause\n#define BPF_LICENSE Dual BSD/GPL\n```\n\nCheck the [BPF helpers reference](kernel-versions.md#helpers) to see which helpers are GPL-only and what the kernel understands as GPL-compatible.\n\n**If the macro is not specified, BCC will automatically define the license of the program as GPL.**\n\n## Rewriter\n\nOne of jobs for rewriter is to turn implicit memory accesses to explicit ones using kernel helpers. Recent kernel introduced a config option ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE which will be set for architectures whose user address space and kernel address are disjoint. x86 and arm has this config option set while s390 does not. If ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE is not set, the bpf old helper `bpf_probe_read()` will not be available. Some existing users may have implicit memory accesses to access user memory, so using `bpf_probe_read_kernel()` will cause their application to fail. Therefore, for non-s390, the rewriter will use `bpf_probe_read()` for these implicit memory accesses. For s390, `bpf_probe_read_kernel()` is used as default and users should use `bpf_probe_read_user()` explicitly when accessing user memories.\n\n# bcc Python\n\n## Initialization\n\nConstructors.\n\n### 1. BPF\n\nSyntax: ```BPF({text=BPF_program | src_file=filename} [, usdt_contexts=[USDT_object, ...]] [, cflags=[arg1, ...]] [, debug=int])```\n\nCreates a BPF object. This is the main object for defining a BPF program, and interacting with its output.\n\nExactly one of `text` or `src_file` must be supplied (not both).\n\nThe `cflags` specifies additional arguments to be passed to the compiler, for example `-DMACRO_NAME=value` or `-I/include/path`.  The arguments are passed as an array, with each element being an additional argument.  Note that strings are not split on whitespace, so each argument must be a different element of the array, e.g. `[\"-include\", \"header.h\"]`.\n\nThe `debug` flags control debug output, and can be or'ed together:\n- `DEBUG_LLVM_IR = 0x1` compiled LLVM IR\n- `DEBUG_BPF = 0x2` loaded BPF bytecode and register state on branches\n- `DEBUG_PREPROCESSOR = 0x4` pre-processor result\n- `DEBUG_SOURCE = 0x8` ASM instructions embedded with source\n- `DEBUG_BPF_REGISTER_STATE = 0x10` register state on all instructions in addition to DEBUG_BPF\n- `DEBUG_BTF = 0x20` print the messages from the `libbpf` library.\n\nExamples:\n\n```Python\n# define entire BPF program in one line:\nBPF(text='int do_trace(void *ctx) { bpf_trace_printk(\"hit!\\\\n\"); return 0; }');\n\n# define program as a variable:\nprog = \"\"\"\nint hello(void *ctx) {\n    bpf_trace_printk(\"Hello, World!\\\\n\");\n    return 0;\n}\n\"\"\"\nb = BPF(text=prog)\n\n# source a file:\nb = BPF(src_file = \"vfsreadlat.c\")\n\n# include a USDT object:\nu = USDT(pid=int(pid))\n[...]\nb = BPF(text=bpf_text, usdt_contexts=[u])\n\n# add include paths:\nu = BPF(text=prog, cflags=[\"-I/path/to/include\"])\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=BPF+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=BPF+path%3Atools+language%3Apython&type=Code)\n\n### 2. USDT\n\nSyntax: ```USDT({pid=pid | path=path})```\n\nCreates an object to instrument User Statically-Defined Tracing (USDT) probes. Its primary method is ```enable_probe()```.\n\nArguments:\n\n- pid: attach to this process ID.\n- path: instrument USDT probes from this binary path.\n\nExamples:\n\n```Python\n# include a USDT object:\nu = USDT(pid=int(pid))\n[...]\nb = BPF(text=bpf_text, usdt_contexts=[u])\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=USDT+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=USDT+path%3Atools+language%3Apython&type=Code)\n\n## Events\n\n### 1. attach_kprobe()\n\nSyntax: ```BPF.attach_kprobe(event=\"event\", fn_name=\"name\")```\n\nInstruments the kernel function ```event()``` using kernel dynamic tracing of the function entry, and attaches our C defined function ```name()``` to be called when the kernel function is called.\n\nFor example:\n\n```Python\nb.attach_kprobe(event=\"sys_clone\", fn_name=\"do_trace\")\n```\n\nThis will instrument the kernel ```sys_clone()``` function, which will then run our BPF defined ```do_trace()``` function each time it is called.\n\nYou can call attach_kprobe() more than once, and attach your BPF function to multiple kernel functions.\nYou can also call attach_kprobe() more than once to attach multiple BPF functions to the same kernel function.\n\nSee the previous kprobes section for how to instrument arguments from BPF.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=attach_kprobe+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=attach_kprobe+path%3Atools+language%3Apython&type=Code)\n\n### 2. attach_kretprobe()\n\nSyntax: ```BPF.attach_kretprobe(event=\"event\", fn_name=\"name\" [, maxactive=int])```\n\nInstruments the return of the kernel function ```event()``` using kernel dynamic tracing of the function return, and attaches our C defined function ```name()``` to be called when the kernel function returns.\n\nFor example:\n\n```Python\nb.attach_kretprobe(event=\"vfs_read\", fn_name=\"do_return\")\n```\n\nThis will instrument the kernel ```vfs_read()``` function, which will then run our BPF defined ```do_return()``` function each time it is called.\n\nYou can call attach_kretprobe() more than once, and attach your BPF function to multiple kernel function returns.\nYou can also call attach_kretprobe() more than once to attach multiple BPF functions to the same kernel function return.\n\nWhen a kretprobe is installed on a kernel function, there is a limit on how many parallel calls it can catch. You can change that limit with ```maxactive```. See the kprobes documentation for its default value.\n\nSee the previous kretprobes section for how to instrument the return value from BPF.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=attach_kretprobe+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=attach_kretprobe+path%3Atools+language%3Apython&type=Code)\n\n### 3. attach_tracepoint()\n\nSyntax: ```BPF.attach_tracepoint(tp=\"tracepoint\", fn_name=\"name\")```\n\nInstruments the kernel tracepoint described by ```tracepoint```, and when hit, runs the BPF function ```name()```.\n\nThis is an explicit way to instrument tracepoints. The ```TRACEPOINT_PROBE``` syntax, covered in the earlier tracepoints section, is an alternate method with the advantage of auto-declaring an ```args``` struct containing the tracepoint arguments. With ```attach_tracepoint()```, the tracepoint arguments need to be declared in the BPF program.\n\nFor example:\n\n```Python\n# define BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\n\nstruct urandom_read_args {\n    // from /sys/kernel/debug/tracing/events/random/urandom_read/format\n    u64 __unused__;\n    u32 got_bits;\n    u32 pool_left;\n    u32 input_left;\n};\n\nint printarg(struct urandom_read_args *args) {\n    bpf_trace_printk(\"%d\\\\n\", args->got_bits);\n    return 0;\n};\n\"\"\"\n\n# load BPF program\nb = BPF(text=bpf_text)\nb.attach_tracepoint(\"random:urandom_read\", \"printarg\")\n```\n\nNotice how the first argument to ```printarg()``` is now our defined struct.\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/a4159da8c4ea8a05a3c6e402451f530d6e5a8b41/examples/tracing/urandomread-explicit.py#L41),\n[search /examples](https://github.com/iovisor/bcc/search?q=attach_tracepoint+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=attach_tracepoint+path%3Atools+language%3Apython&type=Code)\n\n### 4. attach_uprobe()\n\nSyntax: ```BPF.attach_uprobe(name=\"location\", sym=\"symbol\", fn_name=\"name\" [, sym_off=int])```, ```BPF.attach_uprobe(name=\"location\", sym_re=\"regex\", fn_name=\"name\")```, ```BPF.attach_uprobe(name=\"location\", addr=int, fn_name=\"name\"), BPF.attach_uprobe(name=\"location\", sym=\"symbol\", fn_name=\"name\", [, pid=int])```\n\n\nInstruments the user-level function ```symbol()``` from either the library or binary named by ```location``` using user-level dynamic tracing of the function entry, and attach our C defined function ```name()``` to be called whenever the user-level function is called. If ```sym_off``` is given, the function is attached to the offset within the symbol.\n\nThe real address ```addr``` may be supplied in place of ```sym```, in which case ```sym``` must be set to its default value. If the file is a non-PIE executable, ```addr``` must be a virtual address, otherwise it must be an offset relative to the file load address.\n\nInstead of a symbol name, a regular expression can be provided in ```sym_re```. The uprobe will then attach to symbols that match the provided regular expression.\n\nUprobes can be attached to a specific process by passing `pid` to `attach_uprobe`.\nBy default `pid` is set to -1, indicating the `uprobe` will be attached to all processes.\nFor libraries, the uprobe will attach to the version of the library used by the process if `pid` was given.\nFor how `pid` is used, see examples in [funcinterval](https://github.com/iovisor/bcc/blob/78423e1667db202012bbb032c567589175a2796c/tools/funcinterval.py#L155-L156).\n\nLibraries can be given in the name argument without the lib prefix, with a versioned SONAME (c.so.6), or with the full path (/usr/lib/...). Binaries can be given only with the full path (/bin/sh).\n\nFor example:\n\n```Python\nb.attach_uprobe(name=\"c\", sym=\"strlen\", fn_name=\"count\")\n```\n\nThis will instrument ```strlen()``` function from libc, and call our BPF function ```count()``` when it is called. Note how the \"lib\" in \"libc\" is not necessary to specify.\n\nOther examples:\n\n```Python\nb.attach_uprobe(name=\"c\", sym=\"getaddrinfo\", fn_name=\"do_entry\")\nb.attach_uprobe(name=\"/usr/bin/python\", sym=\"main\", fn_name=\"do_main\")\n```\n\nYou can call attach_uprobe() more than once, and attach your BPF function to multiple user-level functions.\n\nSee the previous uprobes section for how to instrument arguments from BPF.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=attach_uprobe+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=attach_uprobe+path%3Atools+language%3Apython&type=Code)\n\n### 5. attach_uretprobe()\n\nSyntax: ```BPF.attach_uretprobe(name=\"location\", sym=\"symbol\", fn_name=\"name\")```\n\nInstruments the return of the user-level function ```symbol()``` from either the library or binary named by ```location``` using user-level dynamic tracing of the function return, and attach our C defined function ```name()``` to be called whenever the user-level function returns.\n\nFor example:\n\n```Python\nb.attach_uretprobe(name=\"c\", sym=\"strlen\", fn_name=\"count\")\n```\n\nThis will instrument ```strlen()``` function from libc, and call our BPF function ```count()``` when it returns.\n\nOther examples:\n\n```Python\nb.attach_uretprobe(name=\"c\", sym=\"getaddrinfo\", fn_name=\"do_return\")\nb.attach_uretprobe(name=\"/usr/bin/python\", sym=\"main\", fn_name=\"do_main\")\n```\n\nYou can call attach_uretprobe() more than once, and attach your BPF function to multiple user-level functions.\n`BPF.attach_uretprobe` can also be used for a specific process.\n\nSee the previous uretprobes section for how to instrument the return value from BPF.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=attach_uretprobe+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=attach_uretprobe+path%3Atools+language%3Apython&type=Code)\n\n### 6. USDT.enable_probe()\n\nSyntax: ```USDT.enable_probe(probe=probe, fn_name=name)```\n\nAttaches a BPF C function ```name``` to the USDT probe ```probe```.\n\nExample:\n\n```Python\n# enable USDT probe from given PID\nu = USDT(pid=int(pid))\nu.enable_probe(probe=\"http__server__request\", fn_name=\"do_trace\")\n```\n\nTo check if your binary has USDT probes, and what they are, you can run ```readelf -n binary``` and check the stap debug section.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=enable_probe+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=enable_probe+path%3Atools+language%3Apython&type=Code)\n\n### 7. attach_raw_tracepoint()\n\nSyntax: ```BPF.attach_raw_tracepoint(tp=\"tracepoint\", fn_name=\"name\")```\n\nInstruments the kernel raw tracepoint described by ```tracepoint``` (```event``` only, no ```category```), and when hit, runs the BPF function ```name()```.\n\nThis is an explicit way to instrument tracepoints. The ```RAW_TRACEPOINT_PROBE``` syntax, covered in the earlier raw tracepoints section, is an alternate method.\n\nFor example:\n\n```Python\nb.attach_raw_tracepoint(\"sched_switch\", \"do_trace\")\n```\n\nExamples in situ:\n[search /tools](https://github.com/iovisor/bcc/search?q=attach_raw_tracepoint+path%3Atools+language%3Apython&type=Code)\n\n### 8. attach_raw_socket()\n\nSyntax: ```BPF.attach_raw_socket(fn, dev)```\n\nAttaches a BPF function to the specified network interface.\n\nThe ```fn``` must be the type of ```BPF.function``` and the bpf_prog type needs to be ```BPF_PROG_TYPE_SOCKET_FILTER```  (```fn=BPF.load_func(func_name, BPF.SOCKET_FILTER)```)\n\n```fn.sock``` is a non-blocking raw socket that was created and bound to ```dev```.\n\nAll network packets processed by ```dev``` are copied to the ```recv-q``` of ```fn.sock``` after being processed by bpf_prog. Try to recv packet form ```fn.sock``` with rev/recvfrom/recvmsg. Note that if the ```recv-q``` is not read in time after the ```recv-q``` is full, the copied packets will be discarded.\n\nWe can use this feature to capture network packets just like ```tcpdump```.\n\nWe can use ```ss --bpf --packet -p``` to observe ```fn.sock```.\n\nExample:\n\n```Python\nBPF.attach_raw_socket(bpf_func, ifname)\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=attach_raw_socket+path%3Aexamples+language%3Apython&type=Code)\n### 9. attach_xdp()\nSyntax: ```BPF.attach_xdp(dev=\"device\", fn=b.load_func(\"fn_name\",BPF.XDP), flags)```\n\nInstruments the network driver described by ```dev``` , and then receives the packet, run the BPF function ```fn_name()``` with flags.\n\nHere is a list of optional flags.\n\n```Python\n# from xdp_flags uapi/linux/if_link.h\nXDP_FLAGS_UPDATE_IF_NOEXIST = (1 << 0)\nXDP_FLAGS_SKB_MODE = (1 << 1)\nXDP_FLAGS_DRV_MODE = (1 << 2)\nXDP_FLAGS_HW_MODE = (1 << 3)\nXDP_FLAGS_REPLACE = (1 << 4)\n```\n\nYou can use flags like this ```BPF.attach_xdp(dev=\"device\", fn=b.load_func(\"fn_name\",BPF.XDP), flags=BPF.XDP_FLAGS_UPDATE_IF_NOEXIST)```\n\nThe default value of flags is 0. This means if there is no xdp program with `device`, the fn will run with that device. If there is an xdp program running with device, the old program will be replaced with new fn program.\n\nCurrently, bcc does not support XDP_FLAGS_REPLACE flag. The following are the descriptions of other flags.\n\n#### 1. XDP_FLAGS_UPDATE_IF_NOEXIST\nIf an XDP program is already attached to the specified driver, attaching the XDP program again will fail.\n\n#### 2. XDP_FLAGS_SKB_MODE\nDriver doesn’t have support for XDP, but the kernel fakes it.\nXDP program works, but there’s no real performance benefit because packets are handed to kernel stack anyways which then emulates XDP – this is usually supported with generic network drivers used in home computers, laptops, and virtualized HW.\n\n#### 3. XDP_FLAGS_DRV_MODE\nA driver has XDP support and can hand then to XDP without kernel stack interaction – Few drivers can support it and those are usually for enterprise HW.\n\n#### 4. XDP_FLAGS_HW_MODE\nXDP can be loaded and executed directly on the NIC – just a handful of NICs can do that.\n\n\nFor example:\n\n```Python\nb.attach_xdp(dev=\"ens1\", fn=b.load_func(\"do_xdp\", BPF.XDP))\n```\n\nThis will instrument the network device ```ens1``` , which will then run our BPF defined ```do_xdp()``` function each time it receives packets.\n\nDon't forget to call ```b.remove_xdp(\"ens1\")``` at the end!\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=attach_xdp+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=attach_xdp+path%3Atools+language%3Apython&type=Code)\n\n### 10. attach_func()\n\nSyntax: ```BPF.attach_func(fn, attachable_fd, attach_type [, flags])```\n\nAttaches a BPF function of the specified type to a particular ```attachable_fd```. if the ```attach_type``` is ```BPF_FLOW_DISSECTOR```, the function is expected to attach to current net namespace and ```attachable_fd``` must be 0.\n\nFor example:\n\n```Python\nb.attach_func(fn, cgroup_fd, BPFAttachType.CGROUP_SOCK_OPS)\nb.attach_func(fn, map_fd, BPFAttachType.SK_MSG_VERDICT)\n```\n\nNote. When attached to \"global\" hooks (xdp, tc, lwt, cgroup). If the \"BPF function\" is no longer needed after the program terminates, be sure to call `detach_func` when the program exits.\n\nExamples in situ:\n\n[search /examples](https://github.com/iovisor/bcc/search?q=attach_func+path%3Aexamples+language%3Apython&type=Code),\n\n### 11. detach_func()\n\nSyntax: ```BPF.detach_func(fn, attachable_fd, attach_type)```\n\nDetaches a BPF function of the specified type.\n\nFor example:\n\n```Python\nb.detach_func(fn, cgroup_fd, BPFAttachType.CGROUP_SOCK_OPS)\nb.detach_func(fn, map_fd, BPFAttachType.SK_MSG_VERDICT)\n```\n\nExamples in situ:\n\n[search /examples](https://github.com/iovisor/bcc/search?q=detach_func+path%3Aexamples+language%3Apython&type=Code),\n\n### 12. detach_kprobe()\n\nSyntax: ```BPF.detach_kprobe(event=\"event\", fn_name=\"name\")```\n\nDetach a kprobe handler function of the specified event.\n\nFor example:\n\n```Python\nb.detach_kprobe(event=\"__page_cache_alloc\", fn_name=\"trace_func_entry\")\n```\n\n### 13. detach_kretprobe()\n\nSyntax: ```BPF.detach_kretprobe(event=\"event\", fn_name=\"name\")```\n\nDetach a kretprobe handler function of the specified event.\n\nFor example:\n\n```Python\nb.detach_kretprobe(event=\"__page_cache_alloc\", fn_name=\"trace_func_return\")\n```\n\n## Debug Output\n\n### 1. trace_print()\n\nSyntax: ```BPF.trace_print(fmt=\"fields\")```\n\nThis method continually reads the globally shared /sys/kernel/debug/tracing/trace_pipe file and prints its contents. This file can be written to via BPF and the bpf_trace_printk() function, however, that method has limitations, including a lack of concurrent tracing support. The BPF_PERF_OUTPUT mechanism, covered earlier, is preferred.\n\nArguments:\n\n- ```fmt```: optional, and can contain a field formatting string. It defaults to ```None```.\n\nExamples:\n\n```Python\n# print trace_pipe output as-is:\nb.trace_print()\n\n# print PID and message:\nb.trace_print(fmt=\"{1} {5}\")\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=trace_print+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=trace_print+path%3Atools+language%3Apython&type=Code)\n\n### 2. trace_fields()\n\nSyntax: ```BPF.trace_fields(nonblocking=False)```\n\nThis method reads one line from the globally shared /sys/kernel/debug/tracing/trace_pipe file and returns it as fields. This file can be written to via BPF and the bpf_trace_printk() function, however, that method has limitations, including a lack of concurrent tracing support. The BPF_PERF_OUTPUT mechanism, covered earlier, is preferred.\n\nArguments:\n\n- ```nonblocking```: optional, defaults to ```False```. When set to ```True```, the program will not block waiting for input.\n\nExamples:\n\n```Python\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        continue\n    [...]\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=trace_fields+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=trace_fields+path%3Atools+language%3Apython&type=Code)\n\n## Output APIs\n\nNormal output from a BPF program is either:\n\n- per-event: using PERF_EVENT_OUTPUT, open_perf_buffer(), and perf_buffer_poll().\n- map summary: using items(), or print_log2_hist(), covered in the Maps section.\n\n### 1. perf_buffer_poll()\n\nSyntax: ```BPF.perf_buffer_poll(timeout=T)```\n\nThis polls from all open perf ring buffers, calling the callback function that was provided when calling open_perf_buffer for each entry.\n\nThe timeout parameter is optional and measured in milliseconds. In its absence, polling continues indefinitely.\n\nExample:\n\n```Python\n# loop with callback to print_event\nb[\"events\"].open_perf_buffer(print_event)\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit();\n```\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/v0.9.0/examples/tracing/hello_perf_output.py#L55),\n[search /examples](https://github.com/iovisor/bcc/search?q=perf_buffer_poll+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=perf_buffer_poll+path%3Atools+language%3Apython&type=Code)\n\n### 2. ring_buffer_poll()\n\nSyntax: ```BPF.ring_buffer_poll(timeout=T)```\n\nThis polls from all open ringbuf ring buffers, calling the callback function that was provided when calling open_ring_buffer for each entry.\n\nThe timeout parameter is optional and measured in milliseconds. In its absence, polling continues until\nthere is no more data or the callback returns a negative value.\n\nExample:\n\n```Python\n# loop with callback to print_event\nb[\"events\"].open_ring_buffer(print_event)\nwhile 1:\n    try:\n        b.ring_buffer_poll(30)\n    except KeyboardInterrupt:\n        exit();\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=ring_buffer_poll+path%3Aexamples+language%3Apython&type=Code),\n\n### 3. ring_buffer_consume()\n\nSyntax: ```BPF.ring_buffer_consume()```\n\nThis consumes from all open ringbuf ring buffers, calling the callback function that was provided when calling open_ring_buffer for each entry.\n\nUnlike ```ring_buffer_poll```, this method **does not poll for data** before attempting to consume.\nThis reduces latency at the expense of higher CPU consumption. If you are unsure which to use,\nuse ```ring_buffer_poll```.\n\nExample:\n\n```Python\n# loop with callback to print_event\nb[\"events\"].open_ring_buffer(print_event)\nwhile 1:\n    try:\n        b.ring_buffer_consume()\n    except KeyboardInterrupt:\n        exit();\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=ring_buffer_consume+path%3Aexamples+language%3Apython&type=Code),\n\n## Map APIs\n\nMaps are BPF data stores, and are used in bcc to implement a table, and then higher level objects on top of tables, including hashes and histograms.\n\n### 1. get_table()\n\nSyntax: ```BPF.get_table(name)```\n\nReturns a table object. This is no longer used, as tables can now be read as items from BPF. Eg: ```BPF[name]```.\n\nExamples:\n\n```Python\ncounts = b.get_table(\"counts\")\n\ncounts = b[\"counts\"]\n```\n\nThese are equivalent.\n\n### 2. open_perf_buffer()\n\nSyntax: ```table.open_perf_buffer(callback, page_cnt=N, lost_cb=None)```\n\nThis operates on a table as defined in BPF as BPF_PERF_OUTPUT(), and associates the callback Python function ```callback``` to be called when data is available in the perf ring buffer. This is part of the recommended mechanism for transferring per-event data from kernel to user space. The size of the perf ring buffer can be specified via the ```page_cnt``` parameter, which must be a power of two number of pages and defaults to 8. If the callback is not processing data fast enough, some submitted data may be lost. ```lost_cb``` will be called to log / monitor the lost count. If ```lost_cb``` is the default ```None``` value, it will just print a line of message to ```stderr```.\n\nExample:\n\n```Python\n# process event\ndef print_event(cpu, data, size):\n    event = ct.cast(data, ct.POINTER(Data)).contents\n    [...]\n\n# loop with callback to print_event\nb[\"events\"].open_perf_buffer(print_event)\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n```\n\nNote that the data structure transferred will need to be declared in C in the BPF program. For example:\n\n```C\n// define output data structure in C\nstruct data_t {\n    u32 pid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\nBPF_PERF_OUTPUT(events);\n[...]\n```\n\nIn Python, you can either let bcc generate the data structure from C declaration automatically (recommended):\n\n```Python\ndef print_event(cpu, data, size):\n    event = b[\"events\"].event(data)\n[...]\n```\n\nor define it manually:\n\n```Python\n# define output data structure in Python\nTASK_COMM_LEN = 16    # linux/sched.h\nclass Data(ct.Structure):\n    _fields_ = [(\"pid\", ct.c_ulonglong),\n                (\"ts\", ct.c_ulonglong),\n                (\"comm\", ct.c_char * TASK_COMM_LEN)]\n\ndef print_event(cpu, data, size):\n    event = ct.cast(data, ct.POINTER(Data)).contents\n[...]\n```\n\nExamples in situ:\n[code](https://github.com/iovisor/bcc/blob/v0.9.0/examples/tracing/hello_perf_output.py#L52),\n[search /examples](https://github.com/iovisor/bcc/search?q=open_perf_buffer+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=open_perf_buffer+path%3Atools+language%3Apython&type=Code)\n\n### 3. items()\n\nSyntax: ```table.items()```\n\nReturns an array of the keys in a table. This can be used with BPF_HASH maps to fetch, and iterate, over the keys.\n\nExample:\n\n```Python\n# print output\nprint(\"%10s %s\" % (\"COUNT\", \"STRING\"))\ncounts = b.get_table(\"counts\")\nfor k, v in sorted(counts.items(), key=lambda counts: counts[1].value):\n    print(\"%10d \\\"%s\\\"\" % (v.value, k.c.encode('string-escape')))\n```\n\nThis example also uses the ```sorted()``` method to sort by value.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=items+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=items+path%3Atools+language%3Apython&type=Code)\n\n### 4. values()\n\nSyntax: ```table.values()```\n\nReturns an array of the values in a table.\n\n### 5. clear()\n\nSyntax: ```table.clear()```\n\nClears the table: deletes all entries.\n\nExample:\n\n```Python\n# print map summary every second:\nwhile True:\n    time.sleep(1)\n    print(\"%-8s\\n\" % time.strftime(\"%H:%M:%S\"), end=\"\")\n    dist.print_log2_hist(sym + \" return:\")\n    dist.clear()\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=clear+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=clear+path%3Atools+language%3Apython&type=Code)\n\n### 6. items_lookup_and_delete_batch()\n\nSyntax: ```table.items_lookup_and_delete_batch()```\n\nReturns an array of the keys in a table with a single call to BPF syscall. This can be used with BPF_HASH maps to fetch, and iterate, over the keys. It also clears the table: deletes all entries.\nYou should rather use table.items_lookup_and_delete_batch() than table.items() followed by table.clear(). It requires kernel v5.6.\n\nExample:\n\n```Python\n# print call rate per second:\nprint(\"%9s-%9s-%8s-%9s\" % (\"PID\", \"COMM\", \"fname\", \"counter\"))\nwhile True:\n    for k, v in sorted(b['map'].items_lookup_and_delete_batch(), key=lambda kv: (kv[0]).pid):\n        print(\"%9s-%9s-%8s-%9d\" % (k.pid, k.comm, k.fname, v.counter))\n    sleep(1)\n```\n\n### 7. items_lookup_batch()\n\nSyntax: ```table.items_lookup_batch()```\n\nReturns an array of the keys in a table with a single call to BPF syscall. This can be used with BPF_HASH maps to fetch, and iterate, over the keys.\nYou should rather use table.items_lookup_batch() than table.items(). It requires kernel v5.6.\n\nExample:\n\n```Python\n# print current value of map:\nprint(\"%9s-%9s-%8s-%9s\" % (\"PID\", \"COMM\", \"fname\", \"counter\"))\nwhile True:\n    for k, v in sorted(b['map'].items_lookup_batch(), key=lambda kv: (kv[0]).pid):\n        print(\"%9s-%9s-%8s-%9d\" % (k.pid, k.comm, k.fname, v.counter))\n```\n\n### 8. items_delete_batch()\n\nSyntax: ```table.items_delete_batch(keys)```\n\nIt clears all entries of a BPF_HASH map when keys is None. It is more efficient than table.clear() since it generates only one system call. You can delete a subset of a map by giving an array of keys as parameter. Those keys and their associated values will be deleted. It requires kernel v5.6.\n\nArguments:\n\n- keys is optional and by default is None.\n\n\n\n### 9. items_update_batch()\n\nSyntax: ```table.items_update_batch(keys, values)```\n\nUpdate all the provided keys with new values. The two arguments must be the same length and within the map limits (between 1 and the maximum entries). It requires kernel v5.6.\n\nArguments:\n\n- keys is the list of keys to be updated\n- values is the list containing the new values.\n\n\n### 10. print_log2_hist()\n\nSyntax: ```table.print_log2_hist(val_type=\"value\", section_header=\"Bucket ptr\", section_print_fn=None)```\n\nPrints a table as a log2 histogram in ASCII. The table must be stored as log2, which can be done using the BPF function ```bpf_log2l()```.\n\nArguments:\n\n- val_type: optional, column header.\n- section_header: if the histogram has a secondary key, multiple tables will print and section_header can be used as a header description for each.\n- section_print_fn: if section_print_fn is not None, it will be passed the bucket value.\n\nExample:\n\n```Python\nb = BPF(text=\"\"\"\nBPF_HISTOGRAM(dist);\n\nint kprobe__blk_account_io_done(struct pt_regs *ctx, struct request *req)\n{\n\tdist.increment(bpf_log2l(req->__data_len / 1024));\n\treturn 0;\n}\n\"\"\")\n[...]\n\nb[\"dist\"].print_log2_hist(\"kbytes\")\n```\n\nOutput:\n\n```\n     kbytes          : count     distribution\n       0 -> 1        : 3        |                                      |\n       2 -> 3        : 0        |                                      |\n       4 -> 7        : 211      |**********                            |\n       8 -> 15       : 0        |                                      |\n      16 -> 31       : 0        |                                      |\n      32 -> 63       : 0        |                                      |\n      64 -> 127      : 1        |                                      |\n     128 -> 255      : 800      |**************************************|\n```\n\nThis output shows a multi-modal distribution, with the largest mode of 128->255 kbytes and a count of 800.\n\nThis is an efficient way to summarize data, as the summarization is performed in-kernel, and only the count column is passed to user space.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=print_log2_hist+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=print_log2_hist+path%3Atools+language%3Apython&type=Code)\n\n### 11. print_linear_hist()\n\nSyntax: ```table.print_linear_hist(val_type=\"value\", section_header=\"Bucket ptr\", section_print_fn=None)```\n\nPrints a table as a linear histogram in ASCII. This is intended to visualize small integer ranges, eg, 0 to 100.\n\nArguments:\n\n- val_type: optional, column header.\n- section_header: if the histogram has a secondary key, multiple tables will print and section_header can be used as a header description for each.\n- section_print_fn: if section_print_fn is not None, it will be passed the bucket value.\n\nExample:\n\n```Python\nb = BPF(text=\"\"\"\nBPF_HISTOGRAM(dist);\n\nint kprobe__blk_account_io_done(struct pt_regs *ctx, struct request *req)\n{\n\tdist.increment(req->__data_len / 1024);\n\treturn 0;\n}\n\"\"\")\n[...]\n\nb[\"dist\"].print_linear_hist(\"kbytes\")\n```\n\nOutput:\n\n```\n     kbytes        : count     distribution\n        0          : 3        |******                                  |\n        1          : 0        |                                        |\n        2          : 0        |                                        |\n        3          : 0        |                                        |\n        4          : 19       |****************************************|\n        5          : 0        |                                        |\n        6          : 0        |                                        |\n        7          : 0        |                                        |\n        8          : 4        |********                                |\n        9          : 0        |                                        |\n        10         : 0        |                                        |\n        11         : 0        |                                        |\n        12         : 0        |                                        |\n        13         : 0        |                                        |\n        14         : 0        |                                        |\n        15         : 0        |                                        |\n        16         : 2        |****                                    |\n[...]\n```\n\nThis is an efficient way to summarize data, as the summarization is performed in-kernel, and only the values in the count column are passed to user space.\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=print_linear_hist+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=print_linear_hist+path%3Atools+language%3Apython&type=Code)\n\n### 12. open_ring_buffer()\n\nSyntax: ```table.open_ring_buffer(callback, ctx=None)```\n\nThis operates on a table as defined in BPF as BPF_RINGBUF_OUTPUT(), and associates the callback Python function ```callback``` to be called when data is available in the ringbuf ring buffer. This is part of the new (Linux 5.8+) recommended mechanism for transferring per-event data from kernel to user space. Unlike perf buffers, ringbuf sizes are specified within the BPF program, as part of the ```BPF_RINGBUF_OUTPUT``` macro. If the callback is not processing data fast enough, some submitted data may be lost. In this case, the events should be polled more frequently and/or the size of the ring buffer should be increased.\n\nExample:\n\n```Python\n# process event\ndef print_event(ctx, data, size):\n    event = ct.cast(data, ct.POINTER(Data)).contents\n    [...]\n\n# loop with callback to print_event\nb[\"events\"].open_ring_buffer(print_event)\nwhile 1:\n    try:\n        b.ring_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n```\n\nNote that the data structure transferred will need to be declared in C in the BPF program. For example:\n\n```C\n// define output data structure in C\nstruct data_t {\n    u32 pid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\nBPF_RINGBUF_OUTPUT(events, 8);\n[...]\n```\n\nIn Python, you can either let bcc generate the data structure from C declaration automatically (recommended):\n\n```Python\ndef print_event(ctx, data, size):\n    event = b[\"events\"].event(data)\n[...]\n```\n\nor define it manually:\n\n```Python\n# define output data structure in Python\nTASK_COMM_LEN = 16    # linux/sched.h\nclass Data(ct.Structure):\n    _fields_ = [(\"pid\", ct.c_ulonglong),\n                (\"ts\", ct.c_ulonglong),\n                (\"comm\", ct.c_char * TASK_COMM_LEN)]\n\ndef print_event(ctx, data, size):\n    event = ct.cast(data, ct.POINTER(Data)).contents\n[...]\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=open_ring_buffer+path%3Aexamples+language%3Apython&type=Code),\n\n### 13. push()\n\nSyntax: ```table.push(leaf, flags=0)```\n\nPush an element onto a Stack or Queue table. Raises an exception if the operation does not succeed.\nPassing QueueStack.BPF_EXIST as a flag causes the Queue or Stack to discard the oldest element if it is full.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=push+path%3Atests+language%3Apython&type=Code),\n\n### 14. pop()\n\nSyntax: ```leaf = table.pop()```\n\nPop an element from a Stack or Queue table. Unlike ```peek()```, ```pop()```\nremoves the element from the table before returning it.\nRaises a KeyError exception if the operation does not succeed.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=pop+path%3Atests+language%3Apython&type=Code),\n\n### 15. peek()\n\nSyntax: ```leaf = table.peek()```\n\nPeek the element at the head of a Stack or Queue table. Unlike ```pop()```, ```peek()```\ndoes not remove the element from the table. Raises an exception if the operation does not succeed.\n\nExamples in situ:\n[search /tests](https://github.com/iovisor/bcc/search?q=peek+path%3Atests+language%3Apython&type=Code),\n\n## Helpers\n\nSome helper methods provided by bcc. Note that since we're in Python, we can import any Python library and their methods, including, for example, the libraries: argparse, collections, ctypes, datetime, re, socket, struct, subprocess, sys, and time.\n\n### 1. ksym()\n\nSyntax: ```BPF.ksym(addr)```\n\nTranslate a kernel memory address into a kernel function name, which is returned.\n\nExample:\n\n```Python\nprint(\"kernel function: \" + b.ksym(addr))\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=ksym+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=ksym+path%3Atools+language%3Apython&type=Code)\n\n### 2. ksymname()\n\nSyntax: ```BPF.ksymname(name)```\n\nTranslate a kernel name into an address. This is the reverse of ksym. Returns -1 when the function name is unknown.\n\nExample:\n\n```Python\nprint(\"kernel address: %x\" % b.ksymname(\"vfs_read\"))\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=ksymname+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=ksymname+path%3Atools+language%3Apython&type=Code)\n\n### 3. sym()\n\nSyntax: ```BPF.sym(addr, pid, show_module=False, show_offset=False)```\n\nTranslate a memory address into a function name for a pid, which is returned. A pid of less than zero will access the kernel symbol cache. The `show_module` and `show_offset` parameters control whether the module in which the symbol lies should be displayed, and whether the instruction offset from the beginning of the symbol should be displayed. These extra parameters default to `False`.\n\nExample:\n\n```Python\nprint(\"function: \" + b.sym(addr, pid))\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=sym+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=sym+path%3Atools+language%3Apython&type=Code)\n\n### 4. num_open_kprobes()\n\nSyntax: ```BPF.num_open_kprobes()```\n\nReturns the number of open k[ret]probes. Can be useful for scenarios where event_re is used while attaching and detaching probes. Excludes perf_events readers.\n\nExample:\n\n```Python\nb.attach_kprobe(event_re=pattern, fn_name=\"trace_count\")\nmatched = b.num_open_kprobes()\nif matched == 0:\n    print(\"0 functions matched by \\\"%s\\\". Exiting.\" % args.pattern)\n    exit()\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=num_open_kprobes+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=num_open_kprobes+path%3Atools+language%3Apython&type=Code)\n\n### 5. get_syscall_fnname()\n\nSyntax: ```BPF.get_syscall_fnname(name : str)```\n\nReturn the corresponding kernel function name of the syscall. This helper function will try different prefixes and use the right one to concatenate with the syscall name. Note that the return value may vary in different versions of linux kernel and sometimes it will causing trouble. (see [#2590](https://github.com/iovisor/bcc/issues/2590))\n\nExample:\n\n```Python\nprint(\"The function name of %s in kernel is %s\" % (\"clone\", b.get_syscall_fnname(\"clone\")))\n# sys_clone or __x64_sys_clone or ...\n```\n\nExamples in situ:\n[search /examples](https://github.com/iovisor/bcc/search?q=get_syscall_fnname+path%3Aexamples+language%3Apython&type=Code),\n[search /tools](https://github.com/iovisor/bcc/search?q=get_syscall_fnname+path%3Atools+language%3Apython&type=Code)\n\n# BPF Errors\n\nSee the \"Understanding eBPF verifier messages\" section in the kernel source under Documentation/networking/filter.txt.\n\n## 1. Invalid mem access\n\nThis can be due to trying to read memory directly, instead of operating on memory on the BPF stack. All kernel memory reads must be passed via bpf_probe_read_kernel() to copy kernel memory into the BPF stack, which can be automatic by the bcc rewriter in some cases of simple dereferencing. bpf_probe_read_kernel() does all the required checks.\n\nExample:\n\n```\nbpf: Permission denied\n0: (bf) r6 = r1\n1: (79) r7 = *(u64 *)(r6 +80)\n2: (85) call 14\n3: (bf) r8 = r0\n[...]\n23: (69) r1 = *(u16 *)(r7 +16)\nR7 invalid mem access 'inv'\n\nTraceback (most recent call last):\n  File \"./tcpaccept\", line 179, in <module>\n    b = BPF(text=bpf_text)\n  File \"/usr/lib/python2.7/dist-packages/bcc/__init__.py\", line 172, in __init__\n    self._trace_autoload()\n  File \"/usr/lib/python2.7/dist-packages/bcc/__init__.py\", line 612, in _trace_autoload\n    fn = self.load_func(func_name, BPF.KPROBE)\n  File \"/usr/lib/python2.7/dist-packages/bcc/__init__.py\", line 212, in load_func\n    raise Exception(\"Failed to load BPF program %s\" % func_name)\nException: Failed to load BPF program kretprobe__inet_csk_accept\n```\n\n## 2. Cannot call GPL only function from proprietary program\n\nThis error happens when a GPL-only helper is called from a non-GPL BPF program. To fix this error, do not use GPL-only helpers from a proprietary BPF program, or relicense the BPF program under a GPL-compatible license. Check which [BPF helpers](https://github.com/iovisor/bcc/blob/master/docs/kernel-versions.md#helpers) are GPL-only, and what licenses are considered GPL-compatible.\n\nExample calling `bpf_get_stackid()`, a GPL-only BPF helper, from a proprietary program (`#define BPF_LICENSE Proprietary`):\n\n```\nbpf: Failed to load program: Invalid argument\n[...]\n8: (85) call bpf_get_stackid#27\ncannot call GPL only function from proprietary program\n```\n\n# Environment Variables\n\n## 1. Kernel source directory\n\neBPF program compilation needs kernel sources or kernel headers with headers\ncompiled. In case your kernel sources are at a non-standard location where BCC\ncannot find then, it's possible to provide BCC the absolute path of the location\nby setting `BCC_KERNEL_SOURCE` to it.\n\n## 2. Kernel version overriding\n\nBy default, BCC stores the `LINUX_VERSION_CODE` in the generated eBPF object\nwhich is then passed along to the kernel when the eBPF program is loaded.\nSometimes this is quite inconvenient especially when the kernel is slightly\nupdated such as an LTS kernel release. Its extremely unlikely the slight\nmismatch would cause any issues with the loaded eBPF program. By setting\n`BCC_LINUX_VERSION_CODE` to the version of the kernel that's running, the check\nfor verifying the kernel version can be bypassed. This is needed for programs\nthat use kprobes. This needs to be encoded in the format: `(VERSION * 65536) +\n(PATCHLEVEL * 256) + SUBLEVEL`. For example, if the running kernel is `4.9.10`,\nthen can set `export BCC_LINUX_VERSION_CODE=264458` to override the kernel\nversion check successfully.\n"
  },
  {
    "path": "docs/special_filtering.md",
    "content": "# Special Filtering\n\nSome tools have special filtering capabitilies, the main use case is to trace\nprocesses running in containers, but those mechanisms are generic and could\nbe used in other cases as well.\n\n## Filtering by cgroups\n\nSome tools have an option to filter by cgroup by referencing a pinned BPF hash\nmap managed externally.\n\nExamples of commands:\n\n```\n# ./opensnoop --cgroupmap /sys/fs/bpf/test01\n# ./execsnoop --cgroupmap /sys/fs/bpf/test01\n# ./tcpconnect --cgroupmap /sys/fs/bpf/test01\n# ./tcpaccept --cgroupmap /sys/fs/bpf/test01\n# ./tcptracer --cgroupmap /sys/fs/bpf/test01\n```\n\nThe commands above will only display results from processes that belong to one\nof the cgroups whose id, returned by `bpf_get_current_cgroup_id()`, is in the\npinned BPF hash map.\n\nThe BPF hash map can be created by:\n\n```\n# bpftool map create /sys/fs/bpf/test01 type hash key 8 value 8 entries 128 \\\n        name cgroupset flags 0\n```\n\nTo get a shell in a new cgroup, you can use:\n\n```\n# systemd-run --pty --unit test bash\n```\n\nThe shell will be running in the cgroup\n`/sys/fs/cgroup/unified/system.slice/test.service`.\n\nThe cgroup id can be discovered using the `name_to_handle_at()` system call. In\nthe examples/cgroupid, you will find an example of program to get the cgroup\nid.\n\n```\n# cd examples/cgroupid\n# make\n# ./cgroupid hex /sys/fs/cgroup/unified/system.slice/test.service\n```\n\nor, using Docker:\n\n```\n# cd examples/cgroupid\n# docker build -t cgroupid .\n# docker run --rm --privileged -v /sys/fs/cgroup:/sys/fs/cgroup \\\n\tcgroupid cgroupid hex /sys/fs/cgroup/unified/system.slice/test.service\n```\n\nThis prints the cgroup id as a hexadecimal string in the host endianness such\nas `77 16 00 00 01 00 00 00`.\n\n```\n# FILE=/sys/fs/bpf/test01\n# CGROUPID_HEX=\"77 16 00 00 01 00 00 00\"\n# bpftool map update pinned $FILE key hex $CGROUPID_HEX value hex 00 00 00 00 00 00 00 00 any\n```\n\nNow that the shell started by systemd-run has its cgroup id in the BPF hash\nmap, bcc tools will display results from this shell. Cgroups can be added and\nremoved from the BPF hash map without restarting the bcc tool.\n\nThis feature is useful for integrating bcc tools in external projects.\n\n## Filtering by mount namespace\n\nThe BPF hash map can be created by:\n\n```\n# bpftool map create /sys/fs/bpf/mnt_ns_set type hash key 8 value 4 entries 128 \\\n        name mnt_ns_set flags 0\n```\n\nExecute the `execsnoop` tool filtering only the mount namespaces\nin `/sys/fs/bpf/mnt_ns_set`:\n\n```\n# tools/execsnoop.py --mntnsmap /sys/fs/bpf/mnt_ns_set\n```\n\nStart a terminal in a new mount namespace:\n\n```\n# unshare -m bash\n```\n\nUpdate the hash map with the mount namespace ID of the terminal above:\n\n```\nFILE=/sys/fs/bpf/mnt_ns_set\nif [ $(printf '\\1' | od -dAn) -eq 1 ]; then\n HOST_ENDIAN_CMD=tac\nelse\n  HOST_ENDIAN_CMD=cat\nfi\n\nNS_ID_HEX=\"$(printf '%016x' $(stat -Lc '%i' /proc/self/ns/mnt) | sed 's/.\\{2\\}/&\\n/g' | $HOST_ENDIAN_CMD)\"\nbpftool map update pinned $FILE key hex $NS_ID_HEX value hex 00 00 00 00 any\n```\n\nExecute a command in this terminal:\n\n```\n# ping kinvolk.io\n```\n\nYou'll see how on the `execsnoop` terminal you started above the call is logged:\n\n```\n# tools/execsnoop.py --mntnsmap /sys/fs/bpf/mnt_ns_set\n[sudo] password for mvb:\nPCOMM            PID    PPID   RET ARGS\nping             8096   7970     0 /bin/ping kinvolk.io\n```\n"
  },
  {
    "path": "docs/tutorial.md",
    "content": "# bcc Tutorial\n\nThis tutorial covers how to use [bcc](https://github.com/iovisor/bcc) tools to quickly solve performance, troubleshooting, and networking issues. If you want to develop new bcc tools, see [tutorial_bcc_python_developer.md](tutorial_bcc_python_developer.md) for that tutorial.\n\nIt is assumed for this tutorial that bcc is already installed, and you can run tools like execsnoop successfully. See [INSTALL.md](../INSTALL.md). This uses enhancements added to the Linux 4.x series.\n\n## Observability\n\nSome quick wins.\n\n### 0. Before bcc\n\nBefore using bcc, you should start with the Linux basics. One reference is the [Linux Performance Analysis in 60,000 Milliseconds](https://netflixtechblog.com/linux-performance-analysis-in-60-000-milliseconds-accc10403c55) post, which covers these commands:\n\n1. uptime\n1. dmesg | tail\n1. vmstat 1\n1. mpstat -P ALL 1\n1. pidstat 1\n1. iostat -xz 1\n1. free -m\n1. sar -n DEV 1\n1. sar -n TCP,ETCP 1\n1. top\n\n### 1. General Performance\n\nHere is a generic checklist for performance investigations with bcc, first as a list, then in detail:\n\n1. execsnoop\n1. opensnoop\n1. ext4slower (or btrfs\\*, xfs\\*, zfs\\*)\n1. biolatency\n1. biosnoop\n1. cachestat\n1. tcpconnect\n1. tcpaccept\n1. tcpretrans\n1. runqlat\n1. profile\n\nThese tools may be installed on your system under /usr/share/bcc/tools, or you can run them from the bcc github repo under /tools where they have a .py extension. Browse the 50+ tools available for more analysis options.\n\n#### 1.1 execsnoop\n\n```\n# ./execsnoop\nPCOMM            PID    RET ARGS\nsupervise        9660     0 ./run\nsupervise        9661     0 ./run\nmkdir            9662     0 /bin/mkdir -p ./main\nrun              9663     0 ./run\n[...]\n```\n\nexecsnoop prints one line of output for each new process. Check for short-lived processes. These can consume CPU resources, but not show up in most monitoring tools that periodically take snapshots of which processes are running.\n\nIt works by tracing exec(), not the fork(), so it will catch many types of new processes but not all (eg, it won't see an application launching working processes, that doesn't exec() anything else).\n\nMore [examples](../tools/execsnoop_example.txt).\n\n#### 1.2. opensnoop\n\n```\n# ./opensnoop\nPID    COMM               FD ERR PATH\n1565   redis-server        5   0 /proc/1565/stat\n1565   redis-server        5   0 /proc/1565/stat\n1565   redis-server        5   0 /proc/1565/stat\n1603   snmpd               9   0 /proc/net/dev\n1603   snmpd              11   0 /proc/net/if_inet6\n1603   snmpd              -1   2 /sys/class/net/eth0/device/vendor\n1603   snmpd              11   0 /proc/sys/net/ipv4/neigh/eth0/retrans_time_ms\n1603   snmpd              11   0 /proc/sys/net/ipv6/neigh/eth0/retrans_time_ms\n1603   snmpd              11   0 /proc/sys/net/ipv6/conf/eth0/forwarding\n[...]\n```\n\nopensnoop prints one line of output for each open() syscall, including details.\n\nFiles that are opened can tell you a lot about how applications work: identifying their data files, config files, and log files. Sometimes applications can misbehave, and perform poorly, when they are constantly attempting to read files that do not exist. opensnoop gives you a quick look.\n\nMore [examples](../tools/opensnoop_example.txt).\n\n#### 1.3. ext4slower (or btrfs\\*, xfs\\*, zfs\\*)\n\n```\n# ./ext4slower\nTracing ext4 operations slower than 10 ms\nTIME     COMM           PID    T BYTES   OFF_KB   LAT(ms) FILENAME\n06:35:01 cron           16464  R 1249    0          16.05 common-auth\n06:35:01 cron           16463  R 1249    0          16.04 common-auth\n06:35:01 cron           16465  R 1249    0          16.03 common-auth\n06:35:01 cron           16465  R 4096    0          10.62 login.defs\n06:35:01 cron           16464  R 4096    0          10.61 login.defs\n```\n\next4slower traces the ext4 file system and times common operations, and then only prints those that exceed a threshold.\n\nThis is great for identifying or exonerating one type of performance issue: show individually slow disk i/O via the file system. Disks process I/O asynchronously, and it can be difficult to associate latency at that layer with the latency applications experience. Tracing higher up in the kernel stack, at the VFS -> file system interface, will more closely match what an application suffers. Use this tool to identify if file system latency exceeds a given threshold.\n\nSimilar tools exist in bcc for other file systems: btrfsslower, xfsslower, and zfsslower. There is also fileslower, which works at the VFS layer and traces everything (although at some higher overhead).\n\nMore [examples](../tools/ext4slower_example.txt).\n\n#### 1.4. biolatency\n\n```\n# ./biolatency\nTracing block device I/O... Hit Ctrl-C to end.\n^C\n     usecs           : count     distribution\n       0 -> 1        : 0        |                                      |\n       2 -> 3        : 0        |                                      |\n       4 -> 7        : 0        |                                      |\n       8 -> 15       : 0        |                                      |\n      16 -> 31       : 0        |                                      |\n      32 -> 63       : 0        |                                      |\n      64 -> 127      : 1        |                                      |\n     128 -> 255      : 12       |********                              |\n     256 -> 511      : 15       |**********                            |\n     512 -> 1023     : 43       |*******************************       |\n    1024 -> 2047     : 52       |**************************************|\n    2048 -> 4095     : 47       |**********************************    |\n    4096 -> 8191     : 52       |**************************************|\n    8192 -> 16383    : 36       |**************************            |\n   16384 -> 32767    : 15       |**********                            |\n   32768 -> 65535    : 2        |*                                     |\n   65536 -> 131071   : 2        |*                                     |\n```\n\nbiolatency traces disk I/O latency (time from device issue to completion), and when the tool ends (Ctrl-C, or a given interval), it prints a histogram summary of the latency.\n\nThis is great for understanding disk I/O latency beyond the average times given by tools like iostat. I/O latency outliers will be visible at the end of the distribution, as well as multi-mode distributions.\n\nMore [examples](../tools/biolatency_example.txt).\n\n#### 1.5. biosnoop\n\n```\n# ./biosnoop\nTIME(s)        COMM           PID    DISK    T  SECTOR    BYTES   LAT(ms)\n0.000004001    supervise      1950   xvda1   W  13092560  4096       0.74\n0.000178002    supervise      1950   xvda1   W  13092432  4096       0.61\n0.001469001    supervise      1956   xvda1   W  13092440  4096       1.24\n0.001588002    supervise      1956   xvda1   W  13115128  4096       1.09\n1.022346001    supervise      1950   xvda1   W  13115272  4096       0.98\n1.022568002    supervise      1950   xvda1   W  13188496  4096       0.93\n[...]\n```\n\nbiosnoop prints a line of output for each disk I/O, with details including latency (time from device issue to completion).\n\nThis allows you to examine disk I/O in more detail, and look for time-ordered patterns (eg, reads queueing behind writes). Note that the output will be verbose if your system performs disk I/O at a high rate.\n\nMore [examples](../tools/biosnoop_example.txt).\n\n#### 1.6. cachestat\n\n```\n# ./cachestat\n    HITS   MISSES  DIRTIES  READ_HIT% WRITE_HIT%   BUFFERS_MB  CACHED_MB\n    1074       44       13      94.9%       2.9%            1        223\n    2195      170        8      92.5%       6.8%            1        143\n     182       53       56      53.6%       1.3%            1        143\n   62480    40960    20480      40.6%      19.8%            1        223\n       7        2        5      22.2%      22.2%            1        223\n     348        0        0     100.0%       0.0%            1        223\n[...]\n```\n\ncachestat prints a one line summary every second (or every custom interval) showing statistics from the file system cache.\n\nUse this to identify a low cache hit ratio, and a high rate of misses: which gives one lead for performance tuning.\n\nMore [examples](../tools/cachestat_example.txt).\n\n#### 1.7. tcpconnect\n\n```\n# ./tcpconnect\nPID    COMM         IP SADDR            DADDR            DPORT\n1479   telnet       4  127.0.0.1        127.0.0.1        23\n1469   curl         4  10.201.219.236   54.245.105.25    80\n1469   curl         4  10.201.219.236   54.67.101.145    80\n1991   telnet       6  ::1              ::1              23\n2015   ssh          6  fe80::2000:bff:fe82:3ac fe80::2000:bff:fe82:3ac 22\n[...]\n```\n\ntcpconnect prints one line of output for every active TCP connection (eg, via connect()), with details including source and destination addresses.\n\nLook for unexpected connections that may point to inefficiencies in application configuration, or an intruder.\n\nMore [examples](../tools/tcpconnect_example.txt).\n\n#### 1.8. tcpaccept\n\n```\n# ./tcpaccept\nPID    COMM         IP RADDR            LADDR            LPORT\n907    sshd         4  192.168.56.1     192.168.56.102   22\n907    sshd         4  127.0.0.1        127.0.0.1        22\n5389   perl         6  1234:ab12:2040:5020:2299:0:5:0 1234:ab12:2040:5020:2299:0:5:0 7001\n[...]\n```\n\ntcpaccept prints one line of output for every passive TCP connection (eg, via accept()), with details including source and destination addresses.\n\nLook for unexpected connections that may point to inefficiencies in application configuration, or an intruder.\n\nMore [examples](../tools/tcpaccept_example.txt).\n\n#### 1.9. tcpretrans\n\n```\n# ./tcpretrans\nTIME     PID    IP LADDR:LPORT          T> RADDR:RPORT          STATE\n01:55:05 0      4  10.153.223.157:22    R> 69.53.245.40:34619   ESTABLISHED\n01:55:05 0      4  10.153.223.157:22    R> 69.53.245.40:34619   ESTABLISHED\n01:55:17 0      4  10.153.223.157:22    R> 69.53.245.40:22957   ESTABLISHED\n[...]\n```\n\ntcprerans prints one line of output for every TCP retransmit packet, with details including source and destination addresses, and kernel state of the TCP connection.\n\nTCP retransmissions cause latency and throughput issues. For ESTABLISHED retransmits, look for patterns with networks. For SYN_SENT, this may point to target kernel CPU saturation and kernel packet drops.\n\nMore [examples](../tools/tcpretrans_example.txt).\n\n#### 1.10. runqlat\n\n```\n# ./runqlat\nTracing run queue latency... Hit Ctrl-C to end.\n^C\n     usecs               : count     distribution\n         0 -> 1          : 233      |***********                             |\n         2 -> 3          : 742      |************************************    |\n         4 -> 7          : 203      |**********                              |\n         8 -> 15         : 173      |********                                |\n        16 -> 31         : 24       |*                                       |\n        32 -> 63         : 0        |                                        |\n        64 -> 127        : 30       |*                                       |\n       128 -> 255        : 6        |                                        |\n       256 -> 511        : 3        |                                        |\n       512 -> 1023       : 5        |                                        |\n      1024 -> 2047       : 27       |*                                       |\n      2048 -> 4095       : 30       |*                                       |\n      4096 -> 8191       : 20       |                                        |\n      8192 -> 16383      : 29       |*                                       |\n     16384 -> 32767      : 809      |****************************************|\n     32768 -> 65535      : 64       |***                                     |\n```\n\nrunqlat times how long threads were waiting on the CPU run queues, and prints this as a histogram.\n\nThis can help quantify time lost waiting for a turn on CPU, during periods of CPU saturation.\n\nMore [examples](../tools/runqlat_example.txt).\n\n#### 1.11. profile\n\n```\n# ./profile\nSampling at 49 Hertz of all threads by user + kernel stack... Hit Ctrl-C to end.\n^C\n    00007f31d76c3251 [unknown]\n    47a2c1e752bf47f7 [unknown]\n    -                sign-file (8877)\n        1\n\n    ffffffff813d0af8 __clear_user\n    ffffffff813d5277 iov_iter_zero\n    ffffffff814ec5f2 read_iter_zero\n    ffffffff8120be9d __vfs_read\n    ffffffff8120c385 vfs_read\n    ffffffff8120d786 sys_read\n    ffffffff817cc076 entry_SYSCALL_64_fastpath\n    00007fc5652ad9b0 read\n    -                dd (25036)\n        4\n\n    0000000000400542 func_a\n    0000000000400598 main\n    00007f12a133e830 __libc_start_main\n    083e258d4c544155 [unknown]\n    -                func_ab (13549)\n        5\n\n[...]\n\n    ffffffff8105eb66 native_safe_halt\n    ffffffff8103659e default_idle\n    ffffffff81036d1f arch_cpu_idle\n    ffffffff810bba5a default_idle_call\n    ffffffff810bbd07 cpu_startup_entry\n    ffffffff8104df55 start_secondary\n    -                swapper/1 (0)\n        75\n```\n\nprofile is a CPU profiler, which takes samples of stack traces at timed intervals, and prints a summary of unique stack traces and a count of their occurrence.\n\nUse this tool to understand the code paths that are consuming CPU resources.\n\nMore [examples](../tools/profile_example.txt).\n\n### 2. Observability with Generic Tools\n\nIn addition to the above tools for performance tuning, below is a checklist for bcc generic tools, first as a list, and in detail:\n\n1. trace\n1. argdist\n1. funccount\n\nThese generic tools may be useful to provide visibility to solve your specific problems.\n\n#### 2.1. trace\n\n##### Example 1\n\nSuppose you want to track file ownership change. There are three syscalls, `chown`, `fchown` and `lchown` which users can use to change file ownership. The corresponding syscall entry is `SyS_[f|l]chown`.  The following command can be used to print out syscall parameters and the calling process user id. You can use `id` command to find the uid of a particular user.\n\n```\n$ trace.py \\\n  'p::SyS_chown \"file = %s, to_uid = %d, to_gid = %d, from_uid = %d\", arg1, arg2, arg3, $uid' \\\n  'p::SyS_fchown \"fd = %d, to_uid = %d, to_gid = %d, from_uid = %d\", arg1, arg2, arg3, $uid' \\\n  'p::SyS_lchown \"file = %s, to_uid = %d, to_gid = %d, from_uid = %d\", arg1, arg2, arg3, $uid'\nPID    TID    COMM         FUNC             -\n1269255 1269255 python3.6    SyS_lchown       file = /tmp/dotsync-usisgezu/tmp, to_uid = 128203, to_gid = 100, from_uid = 128203\n1269441 1269441 zstd         SyS_chown        file = /tmp/dotsync-vic7ygj0/dotsync-package.zst, to_uid = 128203, to_gid = 100, from_uid = 128203\n1269255 1269255 python3.6    SyS_lchown       file = /tmp/dotsync-a40zd7ev/tmp, to_uid = 128203, to_gid = 100, from_uid = 128203\n1269442 1269442 zstd         SyS_chown        file = /tmp/dotsync-gzp413o_/dotsync-package.zst, to_uid = 128203, to_gid = 100, from_uid = 128203\n1269255 1269255 python3.6    SyS_lchown       file = /tmp/dotsync-whx4fivm/tmp/.bash_profile, to_uid = 128203, to_gid = 100, from_uid = 128203\n```\n\n##### Example 2\n\nSuppose you want to count nonvoluntary context switches (`nvcsw`) in your bpf based performance monitoring tools and you do not know what is the proper method. `/proc/<pid>/status` already tells you the number (`nonvoluntary_ctxt_switches`) for a pid and you can use `trace.py` to do a quick experiment to verify your method. With kernel source code, the `nvcsw` is counted at file `linux/kernel/sched/core.c` function `__schedule` and under condition\n```\n!(!preempt && prev->state) // i.e., preempt || !prev->state\n```\n\nThe `__schedule` function is marked as `notrace`, and the best place to evaluate the above condition seems in `sched/sched_switch` tracepoint called inside function `__schedule` and defined in `linux/include/trace/events/sched.h`. `trace.py` already has `args` being the pointer to the tracepoint `TP_STRUCT__entry`.  The above condition in function `__schedule` can be represented as\n```\nargs->prev_state == TASK_STATE_MAX || args->prev_state == 0\n```\n\nThe below command can be used to count the involuntary context switches (per process or per pid) and compare to `/proc/<pid>/status` or `/proc/<pid>/task/<task_id>/status` for correctness, as in typical cases, involuntary context switches are not very common.\n```\n$ trace.py -p 1134138 't:sched:sched_switch (args->prev_state == TASK_STATE_MAX || args->prev_state == 0)'\nPID    TID    COMM         FUNC\n1134138 1134140 contention_test sched_switch\n1134138 1134142 contention_test sched_switch\n...\n$ trace.py -L 1134140 't:sched:sched_switch (args->prev_state == TASK_STATE_MAX || args->prev_state == 0)'\nPID    TID    COMM         FUNC\n1134138 1134140 contention_test sched_switch\n1134138 1134140 contention_test sched_switch\n...\n```\n\n##### Example 3\n\nThis example is related to issue [1231](https://github.com/iovisor/bcc/issues/1231) and [1516](https://github.com/iovisor/bcc/issues/1516) where uprobe does not work at all in certain cases. First, you can do a `strace` as below\n\n```\n$ strace trace.py 'r:bash:readline \"%s\", retval'\n...\nperf_event_open(0x7ffd968212f0, -1, 0, -1, 0x8 /* PERF_FLAG_??? */) = -1 EIO (Input/output error)\n...\n```\n\nThe `perf_event_open` syscall returns `-EIO`. Digging into kernel uprobe related codes in `/kernel/trace` and `/kernel/events` directories to search `EIO`, the function `uprobe_register` is the most suspicious. Let us find whether this function is called or not and what is the return value if it is called. In one terminal using the following command to print out the return value of uprobe_register,\n```\n$ trace.py 'r::uprobe_register \"ret = %d\", retval'\n```\nIn another terminal run the same bash uretprobe tracing example, and you should get\n```\n$ trace.py 'r::uprobe_register \"ret = %d\", retval'\nPID    TID    COMM         FUNC             -\n1041401 1041401 python2.7    uprobe_register  ret = -5\n```\n\nThe `-5` error code is EIO. This confirms that the following code in function `uprobe_register` is the most suspicious culprit.\n```\n if (!inode->i_mapping->a_ops->readpage && !shmem_mapping(inode->i_mapping))\n        return -EIO;\n```\nThe `shmem_mapping` function is defined as\n```\nbool shmem_mapping(struct address_space *mapping)\n{\n        return mapping->a_ops == &shmem_aops;\n}\n```\n\nTo confirm the theory, find what is `inode->i_mapping->a_ops` with the following command\n```\n$ trace.py -I 'linux/fs.h' 'p::uprobe_register(struct inode *inode) \"a_ops = %llx\", inode->i_mapping->a_ops'\nPID    TID    COMM         FUNC             -\n814288 814288 python2.7    uprobe_register  a_ops = ffffffff81a2adc0\n^C$ grep ffffffff81a2adc0 /proc/kallsyms\nffffffff81a2adc0 R empty_aops\n```\n\nThe kernel symbol `empty_aops` does not have `readpage` defined and hence the above suspicious condition is true. Further examining the kernel source code shows that `overlayfs` does not provide its own `a_ops` while some other file systems (e.g., ext4) define their own `a_ops` (e.g., `ext4_da_aops`), and `ext4_da_aops` defines `readpage`. Hence, uprobe works fine on ext4 while not on overlayfs.\n\nMore [examples](../tools/trace_example.txt).\n\n#### 2.2. argdist\n\nMore [examples](../tools/argdist_example.txt).\n\n#### 2.3. funccount\n\nMore [examples](../tools/funccount_example.txt).\n\n## Networking\n\nTo do.\n"
  },
  {
    "path": "docs/tutorial_bcc_python_developer.md",
    "content": "# bcc Python Developer Tutorial\n\nThis tutorial is about developing [bcc](https://github.com/iovisor/bcc) tools and programs using the Python interface. There are two parts: observability then networking. Snippets are taken from various programs in bcc: see their files for licences.\n\nAlso see the bcc developer's [reference_guide.md](reference_guide.md), and a tutorial for end-users of tools: [tutorial.md](tutorial.md). There is also a lua interface for bcc.\n\n## Observability\n\nThis observability tutorial contains 17 lessons, and 46 enumerated things to learn.\n\n### Lesson 1. Hello World\n\nStart by running [examples/hello_world.py](../examples/hello_world.py), while running some commands (eg, \"ls\") in another session. It should print \"Hello, World!\" for new processes. If not, start by fixing bcc: see [INSTALL.md](../INSTALL.md).\n\n```\n# ./examples/hello_world.py\n            bash-13364 [002] d... 24573433.052937: : Hello, World!\n            bash-13364 [003] d... 24573436.642808: : Hello, World!\n[...]\n```\n\nHere's the code for hello_world.py:\n\n```Python\nfrom bcc import BPF\nBPF(text='int kprobe__sys_clone(void *ctx) { bpf_trace_printk(\"Hello, World!\\\\n\"); return 0; }').trace_print()\n```\n\nThere are six things to learn from this:\n\n1. ```text='...'```: This defines a BPF program inline. The program is written in C.\n\n1. ```kprobe__sys_clone()```: This is a short-cut for kernel dynamic tracing via kprobes. If the C function begins with ``kprobe__``, the rest is treated as a kernel function name to instrument, in this case, ```sys_clone()```.\n\n1. ```void *ctx```: ctx has arguments, but since we aren't using them here, we'll just cast it to ```void *```.\n\n1. ```bpf_trace_printk()```: A simple kernel facility for printf() to the common trace_pipe (/sys/kernel/debug/tracing/trace_pipe). This is ok for some quick examples, but has limitations: 3 args max, 1 %s only, and trace_pipe is globally shared, so concurrent programs will have clashing output. A better interface is via BPF_PERF_OUTPUT(), covered later.\n\n1. ```return 0;```: Necessary formality (if you want to know why, see [#139](https://github.com/iovisor/bcc/issues/139)).\n\n1. ```.trace_print()```: A bcc routine that reads trace_pipe and prints the output.\n\n### Lesson 2. sys_sync()\n\nWrite a program that traces the sys_sync() kernel function. Print \"sys_sync() called\" when it runs. Test by running ```sync``` in another session while tracing. The hello_world.py program has everything you need for this.\n\nImprove it by printing \"Tracing sys_sync()... Ctrl-C to end.\" when the program first starts. Hint: it's just Python.\n\n### Lesson 3. hello_fields.py\n\nThis program is in [examples/tracing/hello_fields.py](../examples/tracing/hello_fields.py). Sample output (run commands in another session):\n\n```\n# ./examples/tracing/hello_fields.py\nTIME(s)            COMM             PID    MESSAGE\n24585001.174885999 sshd             1432   Hello, World!\n24585001.195710000 sshd             15780  Hello, World!\n24585001.991976000 systemd-udevd    484    Hello, World!\n24585002.276147000 bash             15787  Hello, World!\n```\n\nCode:\n\n```Python\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# define BPF program\nprog = \"\"\"\nint hello(void *ctx) {\n    bpf_trace_printk(\"Hello, World!\\\\n\");\n    return 0;\n}\n\"\"\"\n\n# load BPF program\nb = BPF(text=prog)\nb.attach_kprobe(event=b.get_syscall_fnname(\"clone\"), fn_name=\"hello\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"MESSAGE\"))\n\n# format output\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        continue\n    except KeyboardInterrupt:\n        exit()\n    printb(b\"%-18.9f %-16s %-6d %s\" % (ts, task, pid, msg))\n```\n\nThis is similar to hello_world.py, and traces new processes via sys_clone() again, but has a few more things to learn:\n\n1. ```prog =```: This time we declare the C program as a variable, and later refer to it. This is useful if you want to add some string substitutions based on command line arguments.\n\n1. ```hello()```: Now we're just declaring a C function, instead of the ```kprobe__``` shortcut. We'll refer to this later. All C functions declared in the BPF program are expected to be executed on a probe, hence they all need to take a ```pt_reg* ctx``` as first argument. If you need to define some helper function that will not be executed on a probe, they need to be defined as ```static inline``` in order to be inlined by the compiler. Sometimes you would also need to add ```_always_inline``` function attribute to it.\n\n1. ```b.attach_kprobe(event=b.get_syscall_fnname(\"clone\"), fn_name=\"hello\")```: Creates a kprobe for the kernel clone system call function, which will execute our defined hello() function. You can call attach_kprobe() more than once, and attach your C function to multiple kernel functions.\n\n1. ```b.trace_fields()```: Returns a fixed set of fields from trace_pipe. Similar to trace_print(), this is handy for hacking, but for real tooling we should switch to BPF_PERF_OUTPUT().\n\n### Lesson 4. sync_timing.py\n\nRemember the days of sysadmins typing ```sync``` three times on a slow console before ```reboot```, to give the first asynchronous sync time to complete? Then someone thought ```sync;sync;sync``` was clever, to run them all on one line, which became industry practice despite defeating the original purpose! And then sync became synchronous, so more reasons it was silly. Anyway.\n\nThe following example times how quickly the ```do_sync``` function is called, and prints output if it has been called more recently than one second ago. A ```sync;sync;sync``` will print output for the 2nd and 3rd sync's:\n\n```\n# ./examples/tracing/sync_timing.py\nTracing for quick sync's... Ctrl-C to end\nAt time 0.00 s: multiple syncs detected, last 95 ms ago\nAt time 0.10 s: multiple syncs detected, last 96 ms ago\n```\n\nThis program is [examples/tracing/sync_timing.py](../examples/tracing/sync_timing.py):\n\n```Python\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n\nBPF_HASH(last);\n\nint do_trace(struct pt_regs *ctx) {\n    u64 ts, *tsp, delta, key = 0;\n\n    // attempt to read stored timestamp\n    tsp = last.lookup(&key);\n    if (tsp != NULL) {\n        delta = bpf_ktime_get_ns() - *tsp;\n        if (delta < 1000000000) {\n            // output if time is less than 1 second\n            bpf_trace_printk(\"%d\\\\n\", delta / 1000000);\n        }\n        last.delete(&key);\n    }\n\n    // update stored timestamp\n    ts = bpf_ktime_get_ns();\n    last.update(&key, &ts);\n    return 0;\n}\n\"\"\")\n\nb.attach_kprobe(event=b.get_syscall_fnname(\"sync\"), fn_name=\"do_trace\")\nprint(\"Tracing for quick sync's... Ctrl-C to end\")\n\n# format output\nstart = 0\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, ms) = b.trace_fields()\n        if start == 0:\n            start = ts\n        ts = ts - start\n        printb(b\"At time %.2f s: multiple syncs detected, last %s ms ago\" % (ts, ms))\n    except KeyboardInterrupt:\n        exit()\n```\n\nThings to learn:\n\n1. ```bpf_ktime_get_ns()```: Returns the time as nanoseconds.\n1. ```BPF_HASH(last)```: Creates a BPF map object that is a hash (associative array), called \"last\". We didn't specify any further arguments, so it defaults to key and value types of u64.\n1. ```key = 0```: We'll only store one key/value pair in this hash, where the key is hardwired to zero.\n1. ```last.lookup(&key)```: Lookup the key in the hash, and return a pointer to its value if it exists, else NULL. We pass the key in as an address to a pointer.\n1. ```if (tsp != NULL) {```: The verifier requires that pointer values derived from a map lookup must be checked for a null value before they can be dereferenced and used.\n1. ```last.delete(&key)```: Delete the key from the hash. This is currently required because of [a kernel bug in `.update()`](https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a6ed3ea65d9868fdf9eff84e6fe4f666b8d14b02) (fixed in 4.8.10).\n1. ```last.update(&key, &ts)```: Associate the value in the 2nd argument to the key, overwriting any previous value. This records the timestamp.\n\n### Lesson 5. sync_count.py\n\nModify the sync_timing.py program (prior lesson) to store the count of all kernel sync system calls (both fast and slow), and print it with the output. This count can be recorded in the BPF program by adding a new key index to the existing hash.\n\n### Lesson 6. disksnoop.py\n\nBrowse the [examples/tracing/disksnoop.py](../examples/tracing/disksnoop.py) program to see what is new. Here is some sample output:\n\n```\n# ./disksnoop.py\nTIME(s)            T  BYTES    LAT(ms)\n16458043.436012    W  4096        3.13\n16458043.437326    W  4096        4.44\n16458044.126545    R  4096       42.82\n16458044.129872    R  4096        3.24\n[...]\n```\n\nAnd a code snippet:\n\n```Python\n[...]\nREQ_WRITE = 1\t\t# from include/linux/blk_types.h\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n#include <linux/blk-mq.h>\n\nBPF_HASH(start, struct request *);\n\nvoid trace_start(struct pt_regs *ctx, struct request *req) {\n\t// stash start timestamp by request ptr\n\tu64 ts = bpf_ktime_get_ns();\n\n\tstart.update(&req, &ts);\n}\n\nvoid trace_completion(struct pt_regs *ctx, struct request *req) {\n\tu64 *tsp, delta;\n\n\ttsp = start.lookup(&req);\n\tif (tsp != 0) {\n\t\tdelta = bpf_ktime_get_ns() - *tsp;\n\t\tbpf_trace_printk(\"%d %x %d\\\\n\", req->__data_len,\n\t\t    req->cmd_flags, delta / 1000);\n\t\tstart.delete(&req);\n\t}\n}\n\"\"\")\nif BPF.get_kprobe_functions(b'blk_start_request'):\n        b.attach_kprobe(event=\"blk_start_request\", fn_name=\"trace_start\")\nb.attach_kprobe(event=\"blk_mq_start_request\", fn_name=\"trace_start\")\n\nif BPF.get_kprobe_functions(b'__blk_account_io_done'):\n    # __blk_account_io_done is available before kernel v6.4.\n    b.attach_kprobe(event=\"__blk_account_io_done\", fn_name=\"trace_completion\")\nelif BPF.get_kprobe_functions(b'blk_account_io_done'):\n    # blk_account_io_done is traceable (not inline) before v5.16.\n    b.attach_kprobe(event=\"blk_account_io_done\", fn_name=\"trace_completion\")\nelse:\n    b.attach_kprobe(event=\"blk_mq_end_request\", fn_name=\"trace_completion\")\n[...]\n```\n\nThings to learn:\n\n1. ```REQ_WRITE```: We're defining a kernel constant in the Python program because we'll use it there later. If we were using REQ_WRITE in the BPF program, it should just work (without needing to be defined) with the appropriate #includes.\n1. ```trace_start(struct pt_regs *ctx, struct request *req)```: This function will later be attached to kprobes. The arguments to kprobe functions are ```struct pt_regs *ctx```, for registers and BPF context, and then the actual arguments to the function. We'll attach this to blk_start_request(), where the first argument is ```struct request *```.\n1. ```start.update(&req, &ts)```: We're using the pointer to the request struct as a key in our hash. What? This is commonplace in tracing. Pointers to structs turn out to be great keys, as they are unique: two structs can't have the same pointer address. (Just be careful about when it gets free'd and reused.) So what we're really doing is tagging the request struct, which describes the disk I/O, with our own timestamp, so that we can time it. There's two common keys used for storing timestamps: pointers to structs, and, thread IDs (for timing function entry to return).\n1. ```req->__data_len```: We're dereferencing members of ```struct request```. See its definition in the kernel source for what members are there. bcc actually rewrites these expressions to be a series of ```bpf_probe_read_kernel()``` calls. Sometimes bcc can't handle a complex dereference, and you need to call ```bpf_probe_read_kernel()``` directly.\n1. ```if BPF.get_kprobe_functions(b'__blk_account_io_done'):...```: Different functions are attached here depending on kernel versions. Legacy functions ```__blk_account_io_done``` and  ```blk_account_io_done``` are not available on newer kernels, so instead, we use ```blk_mq_end_request``` as a workaround.\n\nThis is a pretty interesting program, and if you can understand all the code, you'll understand many important basics. We're still using the bpf_trace_printk() hack, so let's fix that next.\n\n### Lesson 7. hello_perf_output.py\n\nLet's finally stop using bpf_trace_printk() and use the proper BPF_PERF_OUTPUT() interface. This will also mean we stop getting the free trace_field() members like PID and timestamp, and will need to fetch them directly. Sample output while commands are run in another session:\n\n```\n# ./hello_perf_output.py\nTIME(s)            COMM             PID    MESSAGE\n0.000000000        bash             22986  Hello, perf_output!\n0.021080275        systemd-udevd    484    Hello, perf_output!\n0.021359520        systemd-udevd    484    Hello, perf_output!\n0.021590610        systemd-udevd    484    Hello, perf_output!\n[...]\n```\n\nCode is [examples/tracing/hello_perf_output.py](../examples/tracing/hello_perf_output.py):\n\n```Python\nfrom bcc import BPF\n\n# define BPF program\nprog = \"\"\"\n#include <linux/sched.h>\n\n// define output data structure in C\nstruct data_t {\n    u32 pid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\nBPF_PERF_OUTPUT(events);\n\nint hello(struct pt_regs *ctx) {\n    struct data_t data = {};\n\n    data.pid = bpf_get_current_pid_tgid();\n    data.ts = bpf_ktime_get_ns();\n    bpf_get_current_comm(&data.comm, sizeof(data.comm));\n\n    events.perf_submit(ctx, &data, sizeof(data));\n\n    return 0;\n}\n\"\"\"\n\n# load BPF program\nb = BPF(text=prog)\nb.attach_kprobe(event=b.get_syscall_fnname(\"clone\"), fn_name=\"hello\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"MESSAGE\"))\n\n# process event\nstart = 0\ndef print_event(cpu, data, size):\n    global start\n    event = b[\"events\"].event(data)\n    if start == 0:\n            start = event.ts\n    time_s = (float(event.ts - start)) / 1000000000\n    print(\"%-18.9f %-16s %-6d %s\" % (time_s, event.comm, event.pid,\n        \"Hello, perf_output!\"))\n\n# loop with callback to print_event\nb[\"events\"].open_perf_buffer(print_event)\nwhile 1:\n    b.perf_buffer_poll()\n```\n\nThings to learn:\n\n1. ```struct data_t```: This defines the C struct we'll use to pass data from kernel to user space.\n1. ```BPF_PERF_OUTPUT(events)```: This names our output channel \"events\".\n1. ```struct data_t data = {};```: Create an empty data_t struct that we'll then populate.\n1. ```bpf_get_current_pid_tgid()```: Returns the process ID in the lower 32 bits (kernel's view of the PID, which in user space is usually presented as the thread ID), and the thread group ID in the upper 32 bits (what user space often thinks of as the PID). By directly setting this to a u32, we discard the upper 32 bits. Should you be presenting the PID or the TGID? For a multi-threaded app, the TGID will be the same, so you need the PID to differentiate them, if that's what you want. It's also a question of expectations for the end user.\n1. ```bpf_get_current_comm()```: Populates the first argument address with the current process name.\n1. ```events.perf_submit()```: Submit the event for user space to read via a perf ring buffer.\n1. ```def print_event()```: Define a Python function that will handle reading events from the ```events``` stream.\n1. ```b[\"events\"].event(data)```: Now get the event as a Python object, auto-generated from the C declaration.\n1. ```b[\"events\"].open_perf_buffer(print_event)```: Associate the Python ```print_event``` function with the ```events``` stream.\n1. ```while 1: b.perf_buffer_poll()```: Block waiting for events.\n\n### Lesson 8. sync_perf_output.py\n\nRewrite sync_timing.py, from a prior lesson, to use ```BPF_PERF_OUTPUT```.\n\n### Lesson 9. bitehist.py\n\nThe following tool records a histogram of disk I/O sizes. Sample output:\n\n```\n# ./bitehist.py\nTracing... Hit Ctrl-C to end.\n^C\n     kbytes          : count     distribution\n       0 -> 1        : 3        |                                      |\n       2 -> 3        : 0        |                                      |\n       4 -> 7        : 211      |**********                            |\n       8 -> 15       : 0        |                                      |\n      16 -> 31       : 0        |                                      |\n      32 -> 63       : 0        |                                      |\n      64 -> 127      : 1        |                                      |\n     128 -> 255      : 800      |**************************************|\n```\n\nCode is [examples/tracing/bitehist.py](../examples/tracing/bitehist.py):\n\n```Python\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom time import sleep\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n#include <linux/blkdev.h>\n\nBPF_HISTOGRAM(dist);\n\nint kprobe__blk_account_io_done(struct pt_regs *ctx, struct request *req)\n{\n\tdist.increment(bpf_log2l(req->__data_len / 1024));\n\treturn 0;\n}\n\"\"\")\n\nif BPF.get_kprobe_functions(b'__blk_account_io_done'):\n    # __blk_account_io_done is available before kernel v6.4.\n    b.attach_kprobe(event=\"__blk_account_io_done\", fn_name=\"trace_req_done\")\nelif BPF.get_kprobe_functions(b'blk_account_io_done'):\n    # blk_account_io_done is traceable (not inline) before v5.16.\n    b.attach_kprobe(event=\"blk_account_io_done\", fn_name=\"trace_req_done\")\nelse:\n    b.attach_kprobe(event=\"blk_mq_end_request\", fn_name=\"trace_req_done\")\n\n# header\nprint(\"Tracing... Hit Ctrl-C to end.\")\n\n# trace until Ctrl-C\ntry:\n\tsleep(99999999)\nexcept KeyboardInterrupt:\n\tprint()\n\n# output\nb[\"dist\"].print_log2_hist(\"kbytes\")\n```\n\nA recap from earlier lessons:\n\n- ```kprobe__```: This prefix means the rest will be treated as a kernel function name that will be instrumented using kprobe.\n- ```struct pt_regs *ctx, struct request *req```: Arguments to kprobe. The ```ctx``` is registers and BPF context, the ```req``` is the first argument to the instrumented function: ```blk_account_io_done()```.\n- ```req->__data_len```: Dereferencing that member.\n\nNew things to learn:\n\n1. ```BPF_HISTOGRAM(dist)```: Defines a BPF map object that is a histogram, and names it \"dist\".\n1. ```dist.increment()```: Increments the histogram bucket index provided as first argument by one by default. Optionally, custom increments can be passed as the second argument.\n1. ```bpf_log2l()```: Returns the log-2 of the provided value. This becomes the index of our histogram, so that we're constructing a power-of-2 histogram.\n1. ```b[\"dist\"].print_log2_hist(\"kbytes\")```: Prints the \"dist\" histogram as power-of-2, with a column header of \"kbytes\". The only data transferred from kernel to user space is the bucket counts, making this efficient.\n\n### Lesson 10. disklatency.py\n\nWrite a program that times disk I/O, and prints a histogram of their latency. Disk I/O instrumentation and timing can be found in the disksnoop.py program from a prior lesson, and histogram code can be found in bitehist.py from a prior lesson.\n\n### Lesson 11. vfsreadlat.py\n\nThis example is split into separate Python and C files. Example output:\n\n```\n# ./vfsreadlat.py 1\nTracing... Hit Ctrl-C to end.\n     usecs               : count     distribution\n         0 -> 1          : 0        |                                        |\n         2 -> 3          : 2        |***********                             |\n         4 -> 7          : 7        |****************************************|\n         8 -> 15         : 4        |**********************                  |\n\n     usecs               : count     distribution\n         0 -> 1          : 29       |****************************************|\n         2 -> 3          : 28       |**************************************  |\n         4 -> 7          : 4        |*****                                   |\n         8 -> 15         : 8        |***********                             |\n        16 -> 31         : 0        |                                        |\n        32 -> 63         : 0        |                                        |\n        64 -> 127        : 0        |                                        |\n       128 -> 255        : 0        |                                        |\n       256 -> 511        : 2        |**                                      |\n       512 -> 1023       : 0        |                                        |\n      1024 -> 2047       : 0        |                                        |\n      2048 -> 4095       : 0        |                                        |\n      4096 -> 8191       : 4        |*****                                   |\n      8192 -> 16383      : 6        |********                                |\n     16384 -> 32767      : 9        |************                            |\n     32768 -> 65535      : 6        |********                                |\n     65536 -> 131071     : 2        |**                                      |\n\n     usecs               : count     distribution\n         0 -> 1          : 11       |****************************************|\n         2 -> 3          : 2        |*******                                 |\n         4 -> 7          : 10       |************************************    |\n         8 -> 15         : 8        |*****************************           |\n        16 -> 31         : 1        |***                                     |\n        32 -> 63         : 2        |*******                                 |\n[...]\n```\n\nBrowse the code in [examples/tracing/vfsreadlat.py](../examples/tracing/vfsreadlat.py) and [examples/tracing/vfsreadlat.c](../examples/tracing/vfsreadlat.c). Things to learn:\n\n1. ```b = BPF(src_file = \"vfsreadlat.c\")```: Read the BPF C program from a separate source file.\n1. ```b.attach_kretprobe(event=\"vfs_read\", fn_name=\"do_return\")```: Attaches the BPF C function ```do_return()``` to the return of the kernel function ```vfs_read()```. This is a kretprobe: instrumenting the return from a function, rather than its entry.\n1. ```b[\"dist\"].clear()```: Clears the histogram.\n\n### Lesson 12. setuid_monitor.py\n\nIt monitors the using of setuid syscall on the system in the runtime.\nAs triggers, from another shell session we run some commands that use\nthe setuid syscall, such as `su`, `sudo`, and `passwd`.\n\n```\n# ./setuid_monitor.py\nTIME(s)            COMM             PID    UID\n7615.997           su               2989   0\n7616.005           su               2990   0\n7616.008           su               2991   0\n7621.446           passwd           3008   0\n7624.655           passwd           3009   0\n7624.664           passwd           3010   0\n7629.624           master           1262   0\n7640.942           sudo             3012   0\n```\n\nExcept the commands we issued, we caught one named 'master' by accident. By\nchecking the process we can see it belongs to postfix. So, setuid is invovled\nsomewhere in its code.\n\n```\n# ps -o command -p 1262\nCOMMAND\n/usr/lib/postfix/bin//master -w\n```\n\nCode is [examples/tracing/setuid_monitor.py](../examples/tracing/setuid_monitor.py):\n\n```Python\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# define BPF program\nb = BPF(text=\"\"\"\n#include <linux/sched.h>\n\n// define output data structure in C\nstruct data_t {\n    u32 pid;\n    u32 uid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\nBPF_PERF_OUTPUT(events);\n\nTRACEPOINT_PROBE(syscalls, sys_enter_setuid) {\n    struct data_t data = {};\n\n    // Check /sys/kernel/debug/tracing/events/syscalls/sys_enter_setuid/format\n    // for the args format\n    data.uid = args->uid;\n    data.ts = bpf_ktime_get_ns();\n    data.pid = bpf_get_current_pid_tgid();\n    bpf_get_current_comm(&data.comm, sizeof(data.comm));\n\n    events.perf_submit(args, &data, sizeof(data));\n\n    return 0;\n}\n\"\"\")\n\n# header\nprint(\"%-14s %-12s %-6s %s\" % (\"TIME(s)\", \"COMMAND\", \"PID\", \"UID\"))\n\ndef print_event(cpu, data, size):\n    event = b[\"events\"].event(data)\n    printb(b\"%-14.3f %-12s %-6d %d\" % ((event.ts/1000000000),\n           event.comm, event.pid, event.uid))\n\n# loop with callback to print_event\nb[\"events\"].open_perf_buffer(print_event)\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n\n```\n\nThings to learn:\n\n1. ```TRACEPOINT_PROBE(syscalls, sys_enter_setuid)```: Instrument the kernel\ntracepoint ```syscalls:sys_enter_setuid```. These have a stable API, and thus\nare recommend to use instead of kprobes, wherever possible. You can run ```perf\nlist``` for a list of tracepoints. Linux >= 4.7 is required to attach BPF\nprograms to tracepoints.\n1. ```args->uid```: ```args``` is auto-populated to be a structure of the\ntracepoint arguments. The comment above says where you can see that structure.\nEg:\n\n    ```\n    # sudo cat /sys/kernel/debug/tracing/events/syscalls/sys_enter_setuid/format\n    name: sys_enter_setuid\n    ID: 256\n    format:\n        \tfield:unsigned short common_type;       offset:0;       size:2; signed:0;\n        \tfield:unsigned char common_flags;       offset:2;       size:1; signed:0;\n        \tfield:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;\n        \tfield:int common_pid;   offset:4;       size:4; signed:1;\n\n        \tfield:int __syscall_nr; offset:8;       size:4; signed:1;\n        \tfield:uid_t uid;        offset:16;      size:8; signed:0;\n\n    print fmt: \"uid: 0x%08lx\", ((unsigned long)(REC->uid))\n    ```\n    In this case, there are only one member `uid` to be printed.\n1. The BPF_PERF_OUTPUT() interface we have learned from previous lessons is\napplied here. However, we put ```args``` there as the first parameter of\n```events.perf_submit``` instead of ```pt_reg* ctx``` from krpobes.\n\n### Lesson 13. disksnoop.py fixed\n\nConvert disksnoop.py from a previous lesson to use the ```block:block_rq_issue``` and ```block:block_rq_complete``` tracepoints.\n\n### Lesson 14. strlen_count.py\n\nThis program instruments a user-level function, the ```strlen()``` library function, and frequency counts its string argument. Example output:\n\n```\n# ./strlen_count.py\nTracing strlen()... Hit Ctrl-C to end.\n^C     COUNT STRING\n         1 \" \"\n         1 \"/bin/ls\"\n         1 \".\"\n         1 \"cpudist.py.1\"\n         1 \".bashrc\"\n         1 \"ls --color=auto\"\n         1 \"key_t\"\n[...]\n        10 \"a7:~# \"\n        10 \"/root\"\n        12 \"LC_ALL\"\n        12 \"en_US.UTF-8\"\n        13 \"en_US.UTF-8\"\n        20 \"~\"\n        70 \"#%^,~:-=?+/}\"\n       340 \"\\x01\\x1b]0;root@bgregg-test: ~\\x07\\x02root@bgregg-test:~# \"\n```\n\nThese are various strings that are being processed by this library function while tracing, along with their frequency counts. ```strlen()``` was called on \"LC_ALL\" 12 times, for example.\n\nCode is [examples/tracing/strlen_count.py](../examples/tracing/strlen_count.py):\n\n```Python\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom time import sleep\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n\nstruct key_t {\n    char c[80];\n};\nBPF_HASH(counts, struct key_t);\n\nint count(struct pt_regs *ctx) {\n    if (!PT_REGS_PARM1(ctx))\n        return 0;\n\n    struct key_t key = {};\n    u64 zero = 0, *val;\n\n    bpf_probe_read_user(&key.c, sizeof(key.c), (void *)PT_REGS_PARM1(ctx));\n    // could also use `counts.increment(key)`\n    val = counts.lookup_or_try_init(&key, &zero);\n    if (val) {\n      (*val)++;\n    }\n    return 0;\n};\n\"\"\")\nb.attach_uprobe(name=\"c\", sym=\"strlen\", fn_name=\"count\")\n\n# header\nprint(\"Tracing strlen()... Hit Ctrl-C to end.\")\n\n# sleep until Ctrl-C\ntry:\n    sleep(99999999)\nexcept KeyboardInterrupt:\n    pass\n\n# print output\nprint(\"%10s %s\" % (\"COUNT\", \"STRING\"))\ncounts = b.get_table(\"counts\")\nfor k, v in sorted(counts.items(), key=lambda counts: counts[1].value):\n    print(\"%10d \\\"%s\\\"\" % (v.value, k.c.encode('string-escape')))\n```\n\nThings to learn:\n\n1. ```PT_REGS_PARM1(ctx)```: This fetches the first argument to ```strlen()```, which is the string.\n1. ```b.attach_uprobe(name=\"c\", sym=\"strlen\", fn_name=\"count\")```: Attach to library \"c\" (if this is the main program, use its pathname), instrument the user-level function ```strlen()```, and on execution call our C function ```count()```.\n\n### Lesson 15. nodejs_http_server.py\n\nThis program instruments a user statically-defined tracing (USDT) probe, which is the user-level version of a kernel tracepoint. Sample output:\n\n```\n# ./nodejs_http_server.py 24728\nTIME(s)            COMM             PID    ARGS\n24653324.561322998 node             24728  path:/index.html\n24653335.343401998 node             24728  path:/images/welcome.png\n24653340.510164998 node             24728  path:/images/favicon.png\n```\n\nRelevant code from [examples/tracing/nodejs_http_server.py](../examples/tracing/nodejs_http_server.py):\n\n```Python\nfrom __future__ import print_function\nfrom bcc import BPF, USDT\nimport sys\n\nif len(sys.argv) < 2:\n    print(\"USAGE: nodejs_http_server PID\")\n    exit()\npid = sys.argv[1]\ndebug = 0\n\n# load BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\nint do_trace(struct pt_regs *ctx) {\n    uint64_t addr;\n    char path[128]={0};\n    bpf_usdt_readarg(6, ctx, &addr);\n    bpf_probe_read_user(&path, sizeof(path), (void *)addr);\n    bpf_trace_printk(\"path:%s\\\\n\", path);\n    return 0;\n};\n\"\"\"\n\n# enable USDT probe from given PID\nu = USDT(pid=int(pid))\nu.enable_probe(probe=\"http__server__request\", fn_name=\"do_trace\")\nif debug:\n    print(u.get_text())\n    print(bpf_text)\n\n# initialize BPF\nb = BPF(text=bpf_text, usdt_contexts=[u])\n```\n\nThings to learn:\n\n1. ```bpf_usdt_readarg(6, ctx, &addr)```: Read the address of argument 6 from the USDT probe into ```addr```.\n1. ```bpf_probe_read_user(&path, sizeof(path), (void *)addr)```: Now the string ```addr``` points to into our ```path``` variable.\n1. ```u = USDT(pid=int(pid))```: Initialize USDT tracing for the given PID.\n1. ```u.enable_probe(probe=\"http__server__request\", fn_name=\"do_trace\")```: Attach our ```do_trace()``` BPF C function to the Node.js ```http__server__request``` USDT probe.\n1. ```b = BPF(text=bpf_text, usdt_contexts=[u])```: Need to pass in our USDT object, ```u```, to BPF object creation.\n\n### Lesson 16. task_switch.c\n\nThis is an older tutorial included as a bonus lesson. Use this for recap and to reinforce what you've already learned.\n\nThis is a slightly more complex tracing example than Hello World. This program\nwill be invoked for every task change in the kernel, and record in a BPF map\nthe new and old pids.\n\nThe C program below introduces a new concept: the prev argument. This\nargument is treated specially by the BCC frontend, such that accesses\nto this variable are read from the saved context that is passed by the\nkprobe infrastructure. The prototype of the args starting from\nposition 1 should match the prototype of the kernel function being\nkprobed. If done so, the program will have seamless access to the\nfunction parameters.\n\n```c\n#include <uapi/linux/ptrace.h>\n#include <linux/sched.h>\n\nstruct key_t {\n    u32 prev_pid;\n    u32 curr_pid;\n};\n\nBPF_HASH(stats, struct key_t, u64, 1024);\nint count_sched(struct pt_regs *ctx, struct task_struct *prev) {\n    struct key_t key = {};\n    u64 zero = 0, *val;\n\n    key.curr_pid = bpf_get_current_pid_tgid();\n    key.prev_pid = prev->pid;\n\n    // could also use `stats.increment(key);`\n    val = stats.lookup_or_try_init(&key, &zero);\n    if (val) {\n      (*val)++;\n    }\n    return 0;\n}\n```\n\nThe userspace component loads the file shown above, and attaches it to the\n`finish_task_switch` kernel function.\nThe `[]` operator of the BPF object gives access to each BPF_HASH in the\nprogram, allowing pass-through access to the values residing in the kernel. Use\nthe object as you would any other python dict object: read, update, and deletes\nare all allowed.\n```python\nfrom bcc import BPF\nfrom time import sleep\n\nb = BPF(src_file=\"task_switch.c\")\nb.attach_kprobe(event=\"finish_task_switch\", fn_name=\"count_sched\")\n\n# generate many schedule events\nfor i in range(0, 100): sleep(0.01)\n\nfor k, v in b[\"stats\"].items():\n    print(\"task_switch[%5d->%5d]=%u\" % (k.prev_pid, k.curr_pid, v.value))\n```\n\nThese programs can be found in the files [examples/tracing/task_switch.c](../examples/tracing/task_switch.c) and [examples/tracing/task_switch.py](../examples/tracing/task_switch.py) respectively.\n\n### Lesson 17. Further Study\n\nFor further study, see Sasha Goldshtein's [linux-tracing-workshop](https://github.com/goldshtn/linux-tracing-workshop), which contains additional labs. There are also many tools in bcc /tools to study.\n\nPlease read [CONTRIBUTING-SCRIPTS.md](../CONTRIBUTING-SCRIPTS.md) if you wish to contribute tools to bcc. At the bottom of the main [README.md](../README.md), you'll also find methods for contacting us. Good luck, and happy tracing!\n\n## Networking\n\nTo do.\n"
  },
  {
    "path": "examples/CMakeLists.txt",
    "content": "set(EXAMPLE_PROGRAMS hello_world.py)\ninstall(PROGRAMS ${EXAMPLE_PROGRAMS} DESTINATION share/bcc/examples)\n\nif(ENABLE_CLANG_JIT)\nif(ENABLE_USDT)\nadd_subdirectory(cpp)\nendif(ENABLE_USDT)\nadd_subdirectory(lua)\nadd_subdirectory(networking)\nadd_subdirectory(tracing)\nendif()\n"
  },
  {
    "path": "examples/cgroupid/Dockerfile",
    "content": "# builder image\nFROM ubuntu:18.04 as builder\nRUN apt-get update && \\\napt-get upgrade -y && \\\napt-get install -y --no-install-recommends \\\n    gcc build-essential && \\\napt-get purge --auto-remove && \\\napt-get clean\n\nADD cgroupid.c /cgroupid.c\nADD Makefile /Makefile\nRUN make\n\n# Main image\nFROM amd64/alpine:3.8 as base\nCOPY --from=builder /cgroupid /bin\n"
  },
  {
    "path": "examples/cgroupid/Makefile",
    "content": "cgroupid: cgroupid.c\n\tgcc -Wall -static -o cgroupid cgroupid.c\n"
  },
  {
    "path": "examples/cgroupid/cgroupid.c",
    "content": "#define _GNU_SOURCE\n#include <stdlib.h>\n#include <stdio.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <fcntl.h>\n#include <stdint.h>\n#include <ctype.h>\n#include <unistd.h>\n#include <linux/magic.h>\n#include <sys/vfs.h>\n#include <string.h>\n#include <errno.h>\n\n/* 67e9c74b8a873408c27ac9a8e4c1d1c8d72c93ff (4.5) */\n#ifndef CGROUP2_SUPER_MAGIC\n#define CGROUP2_SUPER_MAGIC 0x63677270\n#endif\n\nstruct cgid_file_handle\n{\n  //struct file_handle handle;\n  unsigned int handle_bytes;\n  int handle_type;\n  uint64_t cgid;\n};\n\nuint64_t get_cgroupid(const char *pathname) {\n  struct statfs fs;\n  int err;\n  struct cgid_file_handle *h;\n  int mount_id;\n  uint64_t ret;\n\n  err = statfs(pathname, &fs);\n  if (err != 0) {\n    fprintf (stderr, \"statfs on %s failed: %s\\n\", pathname, strerror(errno));\n    exit(1);\n  }\n\n  if ((fs.f_type != (typeof(fs.f_type)) CGROUP2_SUPER_MAGIC)) {\n    fprintf (stderr, \"File %s is not on a cgroup2 mount.\\n\", pathname);\n    exit(1);\n  }\n\n  h = malloc(sizeof(struct cgid_file_handle));\n  if (!h) {\n    fprintf (stderr, \"Cannot allocate memory.\\n\");\n    exit(1);\n  }\n\n  h->handle_bytes = 8;\n  err = name_to_handle_at(AT_FDCWD, pathname, (struct file_handle *)h, &mount_id, 0);\n  if (err != 0) {\n    fprintf (stderr, \"name_to_handle_at failed: %s\\n\", strerror(errno));\n    exit(1);\n  }\n\n  if (h->handle_bytes != 8) {\n    fprintf (stderr, \"Unexpected handle size: %d. \\n\", h->handle_bytes);\n    exit(1);\n  }\n\n  ret = h->cgid;\n  free(h);\n\n  return ret;\n}\n\nvoid usage() {\n    fprintf (stderr, \"Usage: cgroupid FORMAT FILE\\n\");\n    fprintf (stderr, \"Print the cgroup id of a cgroup2 directory.\\n\");\n    fprintf (stderr, \"Example: cgroupid print-hex /sys/fs/cgroup/unified/system.slice/test.service\\n\");\n    fprintf (stderr, \"\\n\");\n    fprintf (stderr, \"Format:\\n\");\n    fprintf (stderr, \"  number    print the cgroup id as a number\\n\");\n    fprintf (stderr, \"  hex       print the cgroup id as a hexadecimal, suitable for bpftool\\n\");\n    fprintf (stderr, \"\\n\");\n}\n\nint main(int argc, char **argv) {\n  uint64_t cgroupid;\n  int i;\n\n  if (argc != 3 || (strcmp(argv[1], \"number\") != 0 && strcmp(argv[1], \"hex\"))) {\n    usage();\n    exit(1);\n  }\n\n  cgroupid = get_cgroupid(argv[2]);\n\n  if (strcmp(argv[1], \"number\") == 0)\n    printf(\"%lu\\n\", cgroupid);\n\n  if (strcmp(argv[1], \"hex\") == 0) {\n    for (i=0; i<8; i++) {\n      printf(\"%02x%s\", ((unsigned char *)&cgroupid)[i], i == 7 ? \"\\n\":\" \");\n    }\n  }\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/CGroupTest.cc",
    "content": "/*\n * CGroupTest Demonstrate how to use BPF cgroup API to collect file open event\n *\n * Basic example of cgroup and BPF kprobes.\n *\n * USAGE: CGroupTest cgroup2_path\n *\n * EXAMPLES:\n * 1. Create a directory under cgroup2 mountpoint:\n *    $ sudo mkdir /sys/fs/cgroup/unified/test\n * 2. Add current bash into the testing cgroup:\n *    $ sudo echo $$ | sudo tee -a /sys/fs/cgroup/unified/test/cgroup.procs\n * 3. Open another bash window, and start CGroupTest as:\n *    $ sudo ./examples/cpp/CGroupTest /sys/fs/cgroup/unified/test\n * 4. Run file open activity from previous bash window should be printed.\n *\n * Copyright (c) Jinshan Xiong\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <unistd.h>\n#include <fstream>\n#include <cstdlib>\n#include <iomanip>\n#include <iostream>\n#include <string>\n\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/sched.h>\n#include <linux/path.h>\n#include <linux/dcache.h>\n\nBPF_CGROUP_ARRAY(cgroup, 1);\n\nint on_vfs_open(struct pt_regs *ctx, struct path *path) {\n  if (cgroup.check_current_task(0) > 0)\n    bpf_trace_printk(\"file '%s' was opened!\\n\", path->dentry->d_name.name);\n  return 0;\n}\n)\";\n\nint main(int argc, char** argv) {\n  if (argc != 2) {\n    std::cerr << argv[0] << \": requires _one_ cgroup path\" << std::endl;\n    return 1;\n  }\n\n  ebpf::BPF bpf;\n  auto init_res = bpf.init(BPF_PROGRAM);\n  if (!init_res.ok()) {\n    std::cerr << init_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto cgroup_array = bpf.get_cgroup_array(\"cgroup\");\n  auto update_res = cgroup_array.update_value(0, argv[1]);\n  if (!update_res.ok()) {\n    std::cerr << update_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto attach_res =\n      bpf.attach_kprobe(\"vfs_open\", \"on_vfs_open\");\n  if (!attach_res.ok()) {\n    std::cerr << attach_res.msg() << std::endl;\n    return 1;\n  }\n\n  std::ifstream pipe(\"/sys/kernel/debug/tracing/trace_pipe\");\n  std::string line;\n\n  std::cout << \"Started tracing open event, hit Ctrl-C to terminate.\" << std::endl;\n  while (std::getline(pipe, line))\n    std::cout << line << std::endl;\n\n  auto detach_res = bpf.detach_kprobe(\"vfs_open\");\n  if (!detach_res.ok()) {\n    std::cerr << detach_res.msg() << std::endl;\n    return 1;\n  }\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/CMakeLists.txt",
    "content": "# Copyright (c) Facebook, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\ninclude_directories(${PROJECT_BINARY_DIR}/src/cc)\ninclude_directories(${PROJECT_SOURCE_DIR}/src/cc)\ninclude_directories(${PROJECT_SOURCE_DIR}/src/cc/api)\ninclude_directories(${LLVM_INCLUDE_DIRS})\n\nif (CMAKE_USE_LIBBPF_PACKAGE AND LIBBPF_FOUND)\ninclude_directories(${PROJECT_SOURCE_DIR}/src/cc/compat)\nelse()\ninclude_directories(${PROJECT_SOURCE_DIR}/src/cc/libbpf/include/uapi)\nendif()\n\nset(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -fPIC\")\nset(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\")\n\noption(INSTALL_CPP_EXAMPLES \"Install C++ examples. Those binaries are statically linked and can take plenty of disk space\" OFF)\n\nfile(GLOB EXAMPLES *.cc)\nforeach(EXAMPLE ${EXAMPLES})\n  get_filename_component(NAME ${EXAMPLE} NAME_WE)\n  add_executable(${NAME} ${EXAMPLE})\n\n  if(NOT CMAKE_USE_LIBBPF_PACKAGE)\n    target_link_libraries(${NAME} bcc-static)\n  else()\n    target_link_libraries(${NAME} bcc-shared)\n  endif()\n\n  if(INSTALL_CPP_EXAMPLES)\n    install (TARGETS ${NAME} DESTINATION share/bcc/examples/cpp)\n  endif(INSTALL_CPP_EXAMPLES)\nendforeach()\n\nadd_subdirectory(pyperf)\n"
  },
  {
    "path": "examples/cpp/CPUDistribution.cc",
    "content": "/*\n * CPUDistribution Show load distribution across CPU cores during a period of\n *                 time. For Linux, uses BCC, eBPF. Embedded C.\n *\n * Basic example of BCC and kprobes.\n *\n * USAGE: CPUDistribution [duration]\n *\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <unistd.h>\n#include <cstdlib>\n#include <iomanip>\n#include <iostream>\n#include <string>\n\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/sched.h>\n#include <uapi/linux/ptrace.h>\n\nBPF_HASH(pid_to_cpu, pid_t, int);\nBPF_HASH(pid_to_ts, pid_t, uint64_t);\nBPF_HASH(cpu_time, int, uint64_t);\n\nint task_switch_event(struct pt_regs *ctx, struct task_struct *prev) {\n  pid_t prev_pid = prev->pid;\n  int* prev_cpu = pid_to_cpu.lookup(&prev_pid);\n  uint64_t* prev_ts = pid_to_ts.lookup(&prev_pid);\n\n  pid_t cur_pid = bpf_get_current_pid_tgid();\n  int cur_cpu = bpf_get_smp_processor_id();\n  uint64_t cur_ts = bpf_ktime_get_ns();\n\n  uint64_t this_cpu_time = 0;\n  if (prev_ts) {\n    pid_to_ts.delete(&prev_pid);\n    this_cpu_time = (cur_ts - *prev_ts);\n  }\n  if (prev_cpu) {\n    pid_to_cpu.delete(&prev_pid);\n    if (this_cpu_time > 0) {\n      int cpu_key = *prev_cpu;\n      uint64_t* history_time = cpu_time.lookup(&cpu_key);\n      if (history_time)\n        this_cpu_time += *history_time;\n      cpu_time.update(&cpu_key, &this_cpu_time);\n    }\n  }\n\n  pid_to_cpu.update(&cur_pid, &cur_cpu);\n  pid_to_ts.update(&cur_pid, &cur_ts);\n\n  return 0;\n}\n)\";\n\nint main(int argc, char** argv) {\n  ebpf::BPF bpf;\n  auto init_res = bpf.init(BPF_PROGRAM);\n  if (!init_res.ok()) {\n    std::cerr << init_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto attach_res =\n      bpf.attach_kprobe(\"finish_task_switch\", \"task_switch_event\");\n  if (!attach_res.ok()) {\n    std::cerr << attach_res.msg() << std::endl;\n    return 1;\n  }\n\n  int probe_time = 10;\n  if (argc == 2) {\n    probe_time = atoi(argv[1]);\n  }\n  std::cout << \"Probing for \" << probe_time << \" seconds\" << std::endl;\n  sleep(probe_time);\n\n  auto table = bpf.get_hash_table<int, uint64_t>(\"cpu_time\");\n  auto num_cores = sysconf(_SC_NPROCESSORS_ONLN);\n  for (int i = 0; i < num_cores; i++) {\n    std::cout << \"CPU \" << std::setw(2) << i << \" worked for \";\n    std::cout << (table[i] / 1000000.0) << \" ms.\" << std::endl;\n  }\n\n  auto detach_res = bpf.detach_kprobe(\"finish_task_switch\");\n  if (!detach_res.ok()) {\n    std::cerr << detach_res.msg() << std::endl;\n    return 1;\n  }\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/FollyRequestContextSwitch.cc",
    "content": "/*\n * FollyRequestContextSwitch Monitor RequestContext switch events for any binary\n *                           uses the class from [folly](http://bit.ly/2h6S1yx).\n *                           For Linux, uses BCC, eBPF. Embedded C.\n *\n * Basic example of using USDT with BCC.\n *\n * USAGE: FollyRequestContextSwitch PATH_TO_BINARY\n *\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <signal.h>\n#include <functional>\n#include <iostream>\n#include <vector>\n\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/sched.h>\n#include <uapi/linux/ptrace.h>\n\nstruct event_t {\n  int pid;\n  char name[16];\n  uint64_t old_addr;\n  uint64_t new_addr;\n};\n\nBPF_PERF_OUTPUT(events);\n\nint on_context_switch(struct pt_regs *ctx) {\n  struct event_t event = {};\n\n  event.pid = bpf_get_current_pid_tgid();\n  bpf_get_current_comm(&event.name, sizeof(event.name));\n\n  bpf_usdt_readarg(1, ctx, &event.old_addr);\n  bpf_usdt_readarg(2, ctx, &event.new_addr);\n\n  events.perf_submit(ctx, &event, sizeof(event));\n  return 0;\n}\n)\";\n\n// Define the same struct to use in user space.\nstruct event_t {\n  int pid;\n  char name[16];\n  uint64_t old_addr;\n  uint64_t new_addr;\n};\n\nvoid handle_output(void* cb_cookie, void* data, int data_size) {\n  auto event = static_cast<event_t*>(data);\n  std::cout << \"PID \" << event->pid << \" (\" << event->name << \") \";\n  std::cout << \"folly::RequestContext switch from \" << event->old_addr << \" to \"\n            << event->new_addr << std::endl;\n}\n\nstd::function<void(int)> shutdown_handler;\n\nvoid signal_handler(int s) { shutdown_handler(s); }\n\nint main(int argc, char** argv) {\n  std::string binary;\n  pid_t pid = -1;\n  for (int i = 0; i < argc; i++) {\n    if (strncmp(argv[i], \"--pid\", 5) == 0) {\n      pid = std::stoi(argv[i + 1]);\n      i++;\n      continue;\n    }\n    if (strncmp(argv[i], \"--binary\", 8) == 0) {\n      binary = argv[i + 1];\n      i++;\n      continue;\n    }\n  }\n\n  if (pid <= 0 && binary.empty()) {\n    std::cout << \"Must specify at least one of binary or PID:\" << std::endl\n              << \"FollyRequestContextSwitch [--pid PID] [--binary BINARY]\"\n              << std::endl;\n    exit(1);\n  }\n\n  ebpf::USDT u(binary, pid, \"folly\", \"request_context_switch_before\",\n               \"on_context_switch\");\n\n  ebpf::BPF* bpf = new ebpf::BPF();\n\n  auto init_res = bpf->init(BPF_PROGRAM, {}, {u});\n  if (!init_res.ok()) {\n    std::cerr << init_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto attach_res = bpf->attach_usdt_all();\n  if (!attach_res.ok()) {\n    std::cerr << attach_res.msg() << std::endl;\n    return 1;\n  } else {\n    std::cout << \"Attached to USDT \" << u;\n  }\n\n  auto open_res = bpf->open_perf_buffer(\"events\", &handle_output);\n  if (!open_res.ok()) {\n    std::cerr << open_res.msg() << std::endl;\n    return 1;\n  }\n\n  shutdown_handler = [&](int s) {\n    std::cerr << \"Terminating...\" << std::endl;\n    bpf->detach_usdt_all();\n    delete bpf;\n    exit(0);\n  };\n  signal(SIGINT, signal_handler);\n\n  std::cout << \"Started tracing, hit Ctrl-C to terminate.\" << std::endl;\n  auto perf_buffer = bpf->get_perf_buffer(\"events\");\n  if (perf_buffer)\n    while (true)\n      // 100ms timeout\n      perf_buffer->poll(100);\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/HelloWorld.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <unistd.h>\n#include <fstream>\n#include <iostream>\n#include <string>\n\n#include \"bcc_version.h\"\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\nint on_sys_clone(void *ctx) {\n  bpf_trace_printk(\"Hello, World! Here I did a sys_clone call!\\n\");\n  return 0;\n}\n)\";\n\nint main() {\n  ebpf::BPF bpf;\n  auto init_res = bpf.init(BPF_PROGRAM);\n  if (!init_res.ok()) {\n    std::cerr << init_res.msg() << std::endl;\n    return 1;\n  }\n\n  std::ifstream pipe(\"/sys/kernel/debug/tracing/trace_pipe\");\n  std::string line;\n  std::string clone_fnname = bpf.get_syscall_fnname(\"clone\");\n\n  auto attach_res = bpf.attach_kprobe(clone_fnname, \"on_sys_clone\");\n  if (!attach_res.ok()) {\n    std::cerr << attach_res.msg() << std::endl;\n    return 1;\n  }\n\n  std::cout << \"Starting HelloWorld with BCC \" << LIBBCC_VERSION << std::endl;\n\n  while (true) {\n    if (std::getline(pipe, line)) {\n      std::cout << line << std::endl;\n      // Detach the probe if we got at least one line.\n      auto detach_res = bpf.detach_kprobe(clone_fnname);\n      if (!detach_res.ok()) {\n        std::cerr << detach_res.msg() << std::endl;\n        return 1;\n      }\n      break;\n    } else {\n      std::cout << \"Waiting for a sys_clone event\" << std::endl;\n      sleep(1);\n    }\n  }\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/KFuncExample.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n *\n * Usage:\n *   ./KFunc\n * A sample output:\n *   Started tracing, hit Ctrl-C to terminate.\n *      FD  FNAME\n *    NONE  /proc/stat\n *      87  /proc/stat\n *    NONE  /proc/8208/status\n *      36  /proc/8208/status\n *    NONE  /proc/8208/status\n *      36  /proc/8208/status\n *    ...\n *\n * KFunc support is only available at kernel version 5.5 and later.\n * This example only works for x64.\n */\n\n#include <fstream>\n#include <iostream>\n#include <iomanip>\n#include <string>\n\n#include \"bcc_version.h\"\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/ptrace.h>\n\nstruct info_t {\n  char name[64];\n  int fd;\n  int is_ret;\n};\nBPF_PERF_OUTPUT(events);\n\nKFUNC_PROBE(__x64_sys_openat, struct pt_regs *regs)\n{\n  const char __user *filename = (char *)PT_REGS_PARM2(regs);\n  struct info_t info = {};\n\n  bpf_probe_read_user_str(info.name, sizeof(info.name), filename);\n  info.is_ret = 0;\n  events.perf_submit(ctx, &info, sizeof(info));\n  return 0;\n}\n\nKRETFUNC_PROBE(__x64_sys_openat, struct pt_regs *regs, int ret)\n{\n  const char __user *filename = (char *)PT_REGS_PARM2(regs);\n  struct info_t info = {};\n\n  bpf_probe_read_user_str(info.name, sizeof(info.name), filename);\n  info.fd = ret;\n  info.is_ret = 1;\n  events.perf_submit(ctx, &info, sizeof(info));\n  return 0;\n}\n)\";\n\nstruct info_t {\n  char name[64];\n  int fd;\n  int is_ret;\n};\n\nvoid handle_output(void *cb_cookie, void *data, int data_size) {\n  auto info = static_cast<info_t *>(data);\n  if (info->is_ret)\n    std::cout << std::setw(5) << info->fd << \"  \" << info->name << std::endl;\n  else\n    std::cout << \" NONE  \" << info->name << std::endl;\n}\n\nint main() {\n  ebpf::BPF bpf;\n  auto res = bpf.init(BPF_PROGRAM);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  int prog_fd;\n  res = bpf.load_func(\"kfunc____x64_sys_openat\", BPF_PROG_TYPE_TRACING, prog_fd);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  int ret = bpf_attach_kfunc(prog_fd);\n  if (ret < 0) {\n    std::cerr << \"bpf_attach_kfunc failed: \" << ret << std::endl;\n    return 1;\n  }\n\n  res = bpf.load_func(\"kretfunc____x64_sys_openat\", BPF_PROG_TYPE_TRACING, prog_fd);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  ret = bpf_attach_kfunc(prog_fd);\n  if (ret < 0) {\n    std::cerr << \"bpf_attach_kfunc failed: \" << ret << std::endl;\n    return 1;\n  }\n\n  auto open_res = bpf.open_perf_buffer(\"events\", &handle_output);\n  if (!open_res.ok()) {\n    std::cerr << open_res.msg() << std::endl;\n    return 1;\n  }\n\n  std::cout << \"Started tracing, hit Ctrl-C to terminate.\" << std::endl;\n  std::cout << \"   FD  FNAME\" << std::endl;\n  auto perf_buffer = bpf.get_perf_buffer(\"events\");\n  if (perf_buffer) {\n    while (true)\n      // 100ms timeout\n      perf_buffer->poll(100);\n  }\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/KModRetExample.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n *\n * Usage:\n *   $ ./KModRetExample\n *   opened file: /bin/true\n *   security_file_open() is called 1 times, expecting 1\n *\n * Kfunc modify_ret support is only available at kernel version 5.6 and later.\n * This example only works for x64. Currently, only the kernel functions can\n * be attached with BPF_MODIFY_RETURN:\n *   - Whitelisted for error injection by checking within_error_injection_list.\n *     Similar discussions happened for the bpf_override_return helper.\n *   - The LSM security hooks (kernel global function with prefix \"security_\").\n */\n\n#include <fstream>\n#include <iostream>\n#include <iomanip>\n#include <string>\n\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <fcntl.h>\n\n#include \"bcc_version.h\"\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/fs.h>\n#include <asm/errno.h>\n\nBPF_ARRAY(target_pid, u32, 1);\nstatic bool match_target_pid()\n{\n  int key = 0, *val, tpid, cpid;\n\n  val = target_pid.lookup(&key);\n  if (!val)\n    return false;\n\n  tpid = *val;\n  cpid = bpf_get_current_pid_tgid() >> 32;\n  if (tpid == 0 || tpid != cpid)\n     return false;\n  return true;\n}\n\nstruct fname_buf {\n  char buf[16];\n};\nBPF_ARRAY(fname_table, struct fname_buf, 1);\n\nKMOD_RET(__x64_sys_openat, struct pt_regs *regs, int ret)\n{\n  if (!match_target_pid())\n    return 0;\n\n  // openat syscall arguments:\n  //   int dfd, const char __user * filename, int flags, umode_t mode\n  char *filename = (char *)PT_REGS_PARM2_SYSCALL(regs);\n\n  int key = 0;\n  struct fname_buf *val;\n  val = fname_table.lookup(&key);\n  if (!val)\n    return false;\n\n  if (bpf_copy_from_user(val, sizeof(*val), filename) < 0)\n    return 0;\n\n  /* match target_pid, return -EINVAL. */\n  return -EINVAL;\n}\n\nBPF_ARRAY(count, u32, 1);\nKMOD_RET(security_file_open, struct file *file, int ret)\n{\n  if (!match_target_pid())\n    return 0;\n\n  int key = 0, *val;\n  val = count.lookup(&key);\n  if (!val)\n    return 0;\n\n  /* no modification, kernel func continues to execute after this. */\n  lock_xadd(val, 1);\n  return 0;\n}\n)\";\n\nstruct fname_buf {\n  char buf[16];\n};\n\nstatic int modify_return(ebpf::BPF &bpf) {\n  int prog_fd;\n  auto res = bpf.load_func(\"kmod_ret____x64_sys_openat\",\n                           BPF_PROG_TYPE_TRACING, prog_fd, BPF_F_SLEEPABLE);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  int attach_fd = bpf_attach_kfunc(prog_fd);\n  if (attach_fd < 0) {\n    std::cerr << \"bpf_attach_kfunc failed: \" << attach_fd << std::endl;\n    return 1;\n  }\n\n  int ret = open(\"/bin/true\", O_RDONLY);\n  if (ret >= 0 || errno != EINVAL) {\n    close(attach_fd);\n    std::cerr << \"incorrect open result\" << std::endl;\n    return 1;\n  }\n\n  auto fname_table = bpf.get_array_table<struct fname_buf>(\"fname_table\");\n  uint32_t key = 0;\n  struct fname_buf val;\n  res = fname_table.get_value(key, val);\n  if (!res.ok()) {\n    close(attach_fd);\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n  std::cout << \"opened file: \" << val.buf << std::endl;\n\n  // detach the kfunc.\n  close(attach_fd);\n  return 0;\n}\n\nstatic int not_modify_return(ebpf::BPF &bpf) {\n  int prog_fd;\n  auto res = bpf.load_func(\"kmod_ret__security_file_open\",\n                            BPF_PROG_TYPE_TRACING, prog_fd);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  int attach_fd = bpf_attach_kfunc(prog_fd);\n  if (attach_fd < 0) {\n    std::cerr << \"bpf_attach_kfunc failed: \" << attach_fd << std::endl;\n    return 1;\n  }\n\n  int ret = open(\"/bin/true\", O_RDONLY);\n  if (ret < 0) {\n    close(attach_fd);\n    std::cerr << \"incorrect open result\" << std::endl;\n    return 1;\n  }\n\n  auto count_table = bpf.get_array_table<uint32_t>(\"count\");\n  uint32_t key = 0, val = 0;\n  res = count_table.get_value(key, val);\n  if (!res.ok()) {\n    close(attach_fd);\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  close(attach_fd);\n  std::cout << \"security_file_open() is called \" << val << \" times, expecting 1\\n\";\n  return 0;\n}\n\nint main() {\n  ebpf::BPF bpf;\n  auto res = bpf.init(BPF_PROGRAM);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  uint32_t key = 0, val = getpid();\n  auto pid_table = bpf.get_array_table<uint32_t>(\"target_pid\");\n  res = pid_table.update_value(key, val);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  if (modify_return(bpf))\n    return 1;\n\n  if (not_modify_return(bpf))\n    return 1;\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/LLCStat.cc",
    "content": "/*\n * LLCStat Show LLC hit ratio for each process on each CPU core.\n *         For Linux, uses BCC, eBPF. Embedded C.\n *\n * Basic example of BCC timed sampling perf event.\n *\n * USAGE: LLCStat [duration]\n *\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <linux/perf_event.h>\n#include <unistd.h>\n#include <iomanip>\n#include <iostream>\n#include <string>\n\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/ptrace.h>\n#include <uapi/linux/bpf_perf_event.h>\n\nstruct event_t {\n    int cpu;\n    int pid;\n    char name[16];\n};\n\nBPF_HASH(ref_count, struct event_t);\nBPF_HASH(miss_count, struct event_t);\n\nstatic inline __attribute__((always_inline)) void get_key(struct event_t* key) {\n    key->cpu = bpf_get_smp_processor_id();\n    key->pid = bpf_get_current_pid_tgid();\n    bpf_get_current_comm(&(key->name), sizeof(key->name));\n}\n\nint on_cache_miss(struct bpf_perf_event_data *ctx) {\n    struct event_t key = {};\n    get_key(&key);\n\n    u64 zero = 0, *val;\n    val = miss_count.lookup_or_try_init(&key, &zero);\n    if (val) {\n        (*val) += ctx->sample_period;\n    }\n\n    return 0;\n}\n\nint on_cache_ref(struct bpf_perf_event_data *ctx) {\n    struct event_t key = {};\n    get_key(&key);\n\n    u64 zero = 0, *val;\n    val = ref_count.lookup_or_try_init(&key, &zero);\n    if (val) {\n        (*val) += ctx->sample_period;\n    }\n\n    return 0;\n}\n)\";\n\nstruct event_t {\n  int cpu;\n  int pid;\n  char name[16];\n};\n\nint main(int argc, char** argv) {\n  ebpf::BPF bpf;\n  auto init_res = bpf.init(BPF_PROGRAM);\n  if (!init_res.ok()) {\n    std::cerr << init_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto attach_ref_res =\n      bpf.attach_perf_event(PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_REFERENCES,\n                            \"on_cache_ref\", 100, 0);\n  if (!attach_ref_res.ok()) {\n    std::cerr << attach_ref_res.msg() << std::endl;\n    return 1;\n  }\n  auto attach_miss_res = bpf.attach_perf_event(\n      PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_MISSES, \"on_cache_miss\", 100, 0);\n  if (!attach_miss_res.ok()) {\n    std::cerr << attach_miss_res.msg() << std::endl;\n    return 1;\n  }\n\n  int probe_time = 10;\n  if (argc == 2) {\n    probe_time = atoi(argv[1]);\n  }\n  std::cout << \"Probing for \" << probe_time << \" seconds\" << std::endl;\n  sleep(probe_time);\n  bpf.detach_perf_event(PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_REFERENCES);\n  bpf.detach_perf_event(PERF_TYPE_HARDWARE, PERF_COUNT_HW_CACHE_MISSES);\n\n  auto refs = bpf.get_hash_table<event_t, uint64_t>(\"ref_count\");\n  auto misses = bpf.get_hash_table<event_t, uint64_t>(\"miss_count\");\n  for (auto it : refs.get_table_offline()) {\n    uint64_t hit;\n    try {\n      auto miss = misses[it.first];\n      hit = miss <= it.second ? it.second - miss : 0;\n    } catch (...) {\n      hit = it.second;\n    }\n    double ratio = (double(hit) / double(it.second)) * 100.0;\n    std::cout << \"PID \" << std::setw(8) << std::setfill(' ') << it.first.pid;\n    std::cout << std::setw(20) << std::setfill(' ') << std::left\n              << \" (\" + std::string(it.first.name) + \") \" << std::right;\n    std::cout << \"on CPU \" << std::setw(2) << std::setfill(' ') << it.first.cpu;\n    std::cout << \" Hit Rate \" << std::setprecision(4) << ratio << \"% \";\n    std::cout << \"(\" << hit << \"/\" << it.second << \")\" << std::endl;\n  }\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/RandomRead.cc",
    "content": "/*\n * RandomRead Monitor random number read events.\n *            For Linux, uses BCC, eBPF. Embedded C.\n *\n * Basic example of BCC Tracepoint and perf buffer.\n *\n * USAGE: RandomRead\n *\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <signal.h>\n#include <sys/resource.h>\n#include <iostream>\n\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/sched.h>\n#include <uapi/linux/ptrace.h>\n\n#ifndef CGROUP_FILTER\n#define CGROUP_FILTER 0\n#endif\n\nstruct event_t {\n  int pid;\n  char comm[16];\n  int cpu;\n  int got_bits;\n};\n\nBPF_PERF_OUTPUT(events);\nBPF_CGROUP_ARRAY(cgroup, 1);\n\nint on_urandom_read(struct bpf_raw_tracepoint_args *ctx) {\n  if (CGROUP_FILTER && (cgroup.check_current_task(0) != 1))\n    return 0;\n\n  struct event_t event = {};\n  event.pid = bpf_get_current_pid_tgid();\n  bpf_get_current_comm(&event.comm, sizeof(event.comm));\n  event.cpu = bpf_get_smp_processor_id();\n  // from include/trace/events/random.h:\n  //    TP_PROTO(int got_bits, int pool_left, int input_left)\n  event.got_bits = ctx->args[0];\n\n  events.perf_submit(ctx, &event, sizeof(event));\n  return 0;\n}\n)\";\n\n// Define the same struct to use in user space.\nstruct event_t {\n  int pid;\n  char comm[16];\n  int cpu;\n  int got_bits;\n};\n\nvoid handle_output(void* cb_cookie, void* data, int data_size) {\n  auto event = static_cast<event_t*>(data);\n  std::cout << \"PID: \" << event->pid << \" (\" << event->comm << \") on CPU \"\n            << event->cpu << \" read \" << event->got_bits << \" bits\"\n            << std::endl;\n}\n\nebpf::BPF* bpf;\n\nvoid signal_handler(int s) {\n  std::cerr << \"Terminating...\" << std::endl;\n  delete bpf;\n  exit(0);\n}\n\nvoid usage(void) {\n  std::cerr << \"USAGE: RandomRead [{-r|-u} [cgroup2_path]]\" << std::endl;\n}\n\nint main(int argc, char** argv) {\n  if (argc > 3) {\n    usage();\n    return 1;\n  }\n\n  bool allow_rlimit = true;\n  if (argc >= 2) {\n    // Set a small rlimit for MEMLOCK\n    struct rlimit rlim_new = {4096, 4096};\n    setrlimit(RLIMIT_MEMLOCK, &rlim_new);\n\n    if (strcmp(argv[1], \"-r\") == 0) {\n      allow_rlimit = false;\n    } else if (strcmp(argv[1], \"-u\") == 0) {\n      allow_rlimit = true;\n    } else {\n      usage();\n      return 1;\n    }\n  }\n\n  std::vector<std::string> cflags = {};\n  if (argc == 3)\n    cflags.emplace_back(\"-DCGROUP_FILTER=1\");\n\n  bpf = new ebpf::BPF(0, nullptr, true, \"\", allow_rlimit);\n  auto init_res = bpf->init(BPF_PROGRAM, cflags, {});\n  if (!init_res.ok()) {\n    std::cerr << init_res.msg() << std::endl;\n    return 1;\n  }\n  if (argc == 3) {\n    auto cgroup_array = bpf->get_cgroup_array(\"cgroup\");\n    auto update_res = cgroup_array.update_value(0, argv[2]);\n    if (!update_res.ok()) {\n      std::cerr << update_res.msg() << std::endl;\n      return 1;\n    }\n  }\n\n  auto attach_res =\n      bpf->attach_raw_tracepoint(\"urandom_read\", \"on_urandom_read\");\n  if (!attach_res.ok()) {\n    std::cerr << attach_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto open_res = bpf->open_perf_buffer(\"events\", &handle_output);\n  if (!open_res.ok()) {\n    std::cerr << open_res.msg() << std::endl;\n    return 1;\n  }\n\n  // done with all initial work, free bcc memory\n  if (bpf->free_bcc_memory()) {\n    std::cerr << \"Failed to free llvm/clang memory\" << std::endl;\n    return 1;\n  }\n\n  signal(SIGINT, signal_handler);\n  std::cout << \"Started tracing, hit Ctrl-C to terminate.\" << std::endl;\n  while (true)\n    bpf->poll_perf_buffer(\"events\");\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/RecordMySQLQuery.cc",
    "content": "/*\n * RecordMySQLQuery Record MySQL queries by probing the alloc_query() function\n *                  in mysqld. For Linux, uses BCC, eBPF. Embedded C.\n *\n * Basic example of BCC and uprobes.\n *\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <unistd.h>\n#include <algorithm>\n#include <cstdlib>\n#include <iostream>\n#include <string>\n\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/ptrace.h>\n\nstruct query_probe_t {\n  uint64_t ts;\n  pid_t pid;\n  char query[100];\n};\n\nBPF_HASH(queries, struct query_probe_t, int);\n\nint probe_mysql_query(struct pt_regs *ctx, void* thd, char* query, size_t len) {\n  if (query) {\n    struct query_probe_t key = {};\n\n    key.ts = bpf_ktime_get_ns();\n    key.pid = bpf_get_current_pid_tgid();\n\n    bpf_probe_read_user_str(&key.query, sizeof(key.query), query);\n\n    int one = 1;\n    queries.update(&key, &one);\n  }\n  return 0;\n}\n)\";\nconst std::string ALLOC_QUERY_FUNC = \"_Z11alloc_queryP3THDPKcj\";\n\n// Define the same struct to use in user space.\nstruct query_probe_t {\n  uint64_t ts;\n  pid_t pid;\n  char query[100];\n};\n\nint main(int argc, char** argv) {\n  if (argc < 2) {\n    std::cout << \"USAGE: RecordMySQLQuery PATH_TO_MYSQLD [duration]\"\n              << std::endl;\n    exit(1);\n  }\n\n  std::string mysql_path(argv[1]);\n  std::cout << \"Using mysqld path: \" << mysql_path << std::endl;\n\n  ebpf::BPF bpf;\n  auto init_res = bpf.init(BPF_PROGRAM);\n  if (!init_res.ok()) {\n    std::cerr << init_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto attach_res =\n      bpf.attach_uprobe(mysql_path, ALLOC_QUERY_FUNC, \"probe_mysql_query\");\n  if (!attach_res.ok()) {\n    std::cerr << attach_res.msg() << std::endl;\n    return 1;\n  }\n\n  int probe_time = 10;\n  if (argc >= 3)\n    probe_time = atoi(argv[2]);\n  std::cout << \"Probing for \" << probe_time << \" seconds\" << std::endl;\n  sleep(probe_time);\n\n  auto table_handle = bpf.get_hash_table<query_probe_t, int>(\"queries\");\n  auto table = table_handle.get_table_offline();\n  std::sort(\n      table.begin(), table.end(),\n      [](std::pair<query_probe_t, int> a, std::pair<query_probe_t, int> b) {\n        return a.first.ts < b.first.ts;\n      });\n  std::cout << table.size() << \" queries recorded:\" << std::endl;\n  for (auto it : table) {\n    std::cout << \"Time: \" << it.first.ts << \" PID: \" << it.first.pid\n              << \" Query: \" << it.first.query << std::endl;\n  }\n\n  auto detach_res = bpf.detach_uprobe(mysql_path, ALLOC_QUERY_FUNC);\n  if (!detach_res.ok()) {\n    std::cerr << detach_res.msg() << std::endl;\n    return 1;\n  }\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/SkLocalStorageIterator.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n *\n * Usage:\n *   ./SkLocalStorageIterator\n *\n * BPF socket local storage map iterator supported is added in 5.9.\n * But since it takes locks during iterating, it may have performance\n * implication if in parallel some other bpf program or user space\n * is doing map update/delete for sockets in the same bucket. The issue\n * is fixed in 5.10 with the following patch which uses rcu lock instead:\n *   https://lore.kernel.org/bpf/20200916224645.720172-1-yhs@fb.com\n *\n * This example shows how to dump local storage data from all sockets\n * associated with one socket local storage map.\n * An example output likes below:\n *   family  prot    val\n *   2       17      20\n *   2       17      10\n */\n\n#include <unistd.h>\n#include <fstream>\n#include <iostream>\n#include <string>\n#include <net/if.h>\n\n#include \"bcc_version.h\"\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n\n#include <linux/bpf.h>\n#include <linux/seq_file.h>\n#include <net/sock.h>\n\n/* the structure is defined in .c file, so explicitly define\n * the structure here.\n */\nstruct bpf_iter__bpf_sk_storage_map {\n  union {\n    struct bpf_iter_meta *meta;\n  };\n  union {\n    struct bpf_map *map;\n  };\n  union {\n    struct sock *sk;\n  };\n  union {\n    void *value;\n  };\n};\n\nBPF_SK_STORAGE(sk_data_map, __u64);\n\nstruct info_t {\n  __u32 family;\n  __u32 protocol;\n  __u64 val;\n};\n\nBPF_ITER(bpf_sk_storage_map) {\n  struct seq_file *seq = ctx->meta->seq;\n  struct sock *sk = ctx->sk;\n  __u64 *val = ctx->value;\n  struct info_t info = {};\n\n  if (sk == (void *)0 || val == (void *)0)\n    return 0;\n\n  info.family = sk->sk_family;\n  info.protocol = sk->sk_protocol;\n  info.val = *val;\n  bpf_seq_write(seq, &info, sizeof(info));\n\n  return 0;\n}\n)\";\n\nstruct info_t {\n  unsigned family;\n  unsigned protocol;\n  unsigned long long val;\n};\n\nint main() {\n  ebpf::BPF bpf;\n  auto res = bpf.init(BPF_PROGRAM);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  // create two sockets\n  int sockfd1 = socket(AF_INET, SOCK_DGRAM, 0);\n  if (sockfd1 < 0) {\n    std::cerr << \"socket1 create failure: \" << sockfd1 << std::endl;\n    return 1;\n  }\n\n  int sockfd2 = socket(AF_INET, SOCK_DGRAM, 0);\n  if (sockfd2 < 0) {\n    std::cerr << \"socket2 create failure: \" << sockfd2 << std::endl;\n    close(sockfd1);\n    return 1;\n  }\n\n  unsigned long long v1 = 10, v2 = 20;\n  auto sk_table = bpf.get_sk_storage_table<unsigned long long>(\"sk_data_map\");\n\n  res = sk_table.update_value(sockfd1, v1);\n  if (!res.ok()) {\n    std::cerr << \"sk_data_map sockfd1 update failure: \" << res.msg() << std::endl;\n    close(sockfd2);\n    close(sockfd1);\n    return 1;\n  }\n\n  res = sk_table.update_value(sockfd2, v2);\n  if (!res.ok()) {\n    std::cerr << \"sk_data_map sockfd2 update failure: \" << res.msg() << std::endl;\n    close(sockfd2);\n    close(sockfd1);\n    return 1;\n  }\n\n  int prog_fd;\n  res = bpf.load_func(\"bpf_iter__bpf_sk_storage_map\", BPF_PROG_TYPE_TRACING, prog_fd);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  union bpf_iter_link_info link_info = {};\n  link_info.map.map_fd = sk_table.get_fd();\n  int link_fd = bcc_iter_attach(prog_fd, &link_info, sizeof(union bpf_iter_link_info));\n  if (link_fd < 0) {\n    std::cerr << \"bcc_iter_attach failed: \" << link_fd << std::endl;\n    close(sockfd2);\n    close(sockfd1);\n    return 1;\n  }\n\n  int iter_fd = bcc_iter_create(link_fd);\n  if (iter_fd < 0) {\n    std::cerr << \"bcc_iter_create failed: \" << iter_fd << std::endl;\n    close(link_fd);\n    close(sockfd2);\n    close(sockfd1);\n    return 1;\n  }\n\n  // Header.\n  printf(\"family\\tprot\\tval\\n\");\n\n  struct info_t info[20];\n  int len, leftover = 0, info_size = 20 * sizeof(struct info_t);\n  while ((len = read(iter_fd, (char *)info + leftover, info_size - leftover))) {\n    if (len < 0) {\n      if (len == -EAGAIN)\n        continue;\n      std::cerr << \"read failed: \" << len << std::endl;\n      break;\n    }\n\n    int num_info = len / sizeof(struct info_t);\n    for (int i = 0; i < num_info; i++) {\n      printf(\"%d\\t%d\\t%lld\\n\", info[i].family, info[i].protocol, info[i].val);\n    }\n\n    leftover = len % sizeof(struct info_t);\n    if (num_info > 0)\n      memcpy(info, (void *)&info[num_info], leftover);\n  }\n\n  close(iter_fd);\n  close(link_fd);\n  close(sockfd2);\n  close(sockfd1);\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/TCPSendStack.cc",
    "content": "/*\n * TCPSendStack Summarize tcp_sendmsg() calling stack traces.\n *              For Linux, uses BCC, eBPF. Embedded C.\n *\n * Basic example of BCC in-kernel stack trace dedup.\n *\n * USAGE: TCPSendStack [duration]\n *\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <unistd.h>\n#include <algorithm>\n#include <iostream>\n\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/sched.h>\n#include <uapi/linux/ptrace.h>\n\nstruct stack_key_t {\n  int pid;\n  char name[16];\n  int user_stack;\n  int kernel_stack;\n};\n\nBPF_STACK_TRACE(stack_traces, 16384);\nBPF_HASH(counts, struct stack_key_t, uint64_t);\n\nint on_tcp_send(struct pt_regs *ctx) {\n  struct stack_key_t key = {};\n  key.pid = bpf_get_current_pid_tgid() >> 32;\n  bpf_get_current_comm(&key.name, sizeof(key.name));\n  key.kernel_stack = stack_traces.get_stackid(ctx, 0);\n  key.user_stack = stack_traces.get_stackid(ctx, BPF_F_USER_STACK);\n\n  u64 zero = 0, *val;\n  val = counts.lookup_or_try_init(&key, &zero);\n  if (val) {\n    (*val)++;\n  }\n\n  return 0;\n}\n)\";\n\n// Define the same struct to use in user space.\nstruct stack_key_t {\n  int pid;\n  char name[16];\n  int user_stack;\n  int kernel_stack;\n};\n\nint main(int argc, char** argv) {\n  ebpf::BPF bpf;\n  auto init_res = bpf.init(BPF_PROGRAM);\n  if (!init_res.ok()) {\n    std::cerr << init_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto attach_res = bpf.attach_kprobe(\"tcp_sendmsg\", \"on_tcp_send\");\n  if (!attach_res.ok()) {\n    std::cerr << attach_res.msg() << std::endl;\n    return 1;\n  }\n\n  int probe_time = 10;\n  if (argc == 2) {\n    probe_time = atoi(argv[1]);\n  }\n  std::cout << \"Probing for \" << probe_time << \" seconds\" << std::endl;\n  sleep(probe_time);\n\n  auto detach_res = bpf.detach_kprobe(\"tcp_sendmsg\");\n  if (!detach_res.ok()) {\n    std::cerr << detach_res.msg() << std::endl;\n    return 1;\n  }\n\n  auto table =\n      bpf.get_hash_table<stack_key_t, uint64_t>(\"counts\").get_table_offline();\n  std::sort(\n      table.begin(), table.end(),\n      [](std::pair<stack_key_t, uint64_t> a,\n         std::pair<stack_key_t, uint64_t> b) { return a.second < b.second; });\n  auto stacks = bpf.get_stack_table(\"stack_traces\");\n\n  int lost_stacks = 0;\n  for (auto it : table) {\n    std::cout << \"PID: \" << it.first.pid << \" (\" << it.first.name << \") \"\n              << \"made \" << it.second\n              << \" TCP sends on following stack: \" << std::endl;\n    if (it.first.kernel_stack >= 0) {\n      std::cout << \"  Kernel Stack:\" << std::endl;\n      auto syms = stacks.get_stack_symbol(it.first.kernel_stack, -1);\n      for (auto sym : syms)\n        std::cout << \"    \" << sym << std::endl;\n    } else {\n      // -EFAULT normally means the stack is not available and not an error\n      if (it.first.kernel_stack != -EFAULT) {\n        lost_stacks++;\n        std::cout << \"    [Lost Kernel Stack\" << it.first.kernel_stack << \"]\"\n                  << std::endl;\n      }\n    }\n    if (it.first.user_stack >= 0) {\n      std::cout << \"  User Stack:\" << std::endl;\n      auto syms = stacks.get_stack_symbol(it.first.user_stack, it.first.pid);\n      for (auto sym : syms)\n        std::cout << \"    \" << sym << std::endl;\n    } else {\n      // -EFAULT normally means the stack is not available and not an error\n      if (it.first.user_stack != -EFAULT) {\n        lost_stacks++;\n        std::cout << \"    [Lost User Stack \" << it.first.user_stack << \"]\"\n                  << std::endl;\n      }\n    }\n  }\n\n  if (lost_stacks > 0)\n    std::cout << \"Total \" << lost_stacks << \" stack-traces lost due to \"\n              << \"hash collision or stack table full\" << std::endl;\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/TaskIterator.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n *\n * Usage:\n *   ./TaskIterator\n *\n * BPF task iterator is available since linux 5.8.\n * This example shows how to dump all threads in the system with\n * bpf iterator. An example output likes below:\n *   tid     comm\n *   1       systemd\n *   2       kthreadd\n *   3       rcu_gp\n *   4       rcu_par_gp\n *   6       kworker/0:0H\n *   ...\n *   2613386 sleep\n *   2613474 GetCountersCPU6\n *   2613587 GetCountersCPU7\n *   2613621 CPUThreadPool69\n *   2613906 GetCountersCPU5\n *   2614140 GetCountersCPU2\n *   2614193 CfgrExtension56\n *   2614449 ruby-timer-thr\n *   2614529 chef-client\n *   2615122 systemd-hostnam\n *   ...\n *   2608477 sudo\n *   2608478 TaskIterator\n */\n\n#include <unistd.h>\n#include <fstream>\n#include <iostream>\n#include <string>\n\n#include \"bcc_version.h\"\n#include \"BPF.h\"\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/bpf.h>\n#include <linux/seq_file.h>\n#include <linux/sched.h>\n\n/* the structure is defined in .c file, so explicitly define\n * the structure here.\n */\nstruct bpf_iter__task {\n  union {\n    struct bpf_iter_meta *meta;\n  };\n  union {\n    struct task_struct *task;\n  };\n};\n\nstruct info_t {\n  int tid;\n  char comm[TASK_COMM_LEN];\n};\n\nBPF_ITER(task) {\n  struct seq_file *seq = ctx->meta->seq;\n  struct task_struct *task = ctx->task;\n  struct info_t info = {};\n\n  if (task == (void *)0)\n    return 0;\n\n  info.tid = task->pid;\n  __builtin_memcpy(&info.comm, task->comm, sizeof(info.comm));\n  bpf_seq_write(seq, &info, sizeof(info));\n\n  return 0;\n}\n)\";\n\n// linux/sched.h\n#define TASK_COMM_LEN\t16\n\nstruct info_t {\n  int tid;\n  char comm[TASK_COMM_LEN];\n};\n\nint main() {\n  ebpf::BPF bpf;\n  auto res = bpf.init(BPF_PROGRAM);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  int prog_fd;\n  res = bpf.load_func(\"bpf_iter__task\", BPF_PROG_TYPE_TRACING, prog_fd);\n  if (!res.ok()) {\n    std::cerr << res.msg() << std::endl;\n    return 1;\n  }\n\n  int link_fd = bcc_iter_attach(prog_fd, NULL, 0);\n  if (link_fd < 0) {\n    std::cerr << \"bcc_iter_attach failed: \" << link_fd << std::endl;\n    return 1;\n  }\n\n  int iter_fd = bcc_iter_create(link_fd);\n  if (iter_fd < 0) {\n    std::cerr << \"bcc_iter_create failed: \" << iter_fd << std::endl;\n    close(link_fd);\n    return 1;\n  }\n\n  // Header.\n  printf(\"tid\\tcomm\\n\");\n\n  struct info_t info[20];\n  int len, leftover = 0, info_size = 20 * sizeof(struct info_t);\n  while ((len = read(iter_fd, (char *)info + leftover, info_size - leftover))) {\n    if (len < 0) {\n      if (len == -EAGAIN)\n\tcontinue;\n      std::cerr << \"read failed: \" << len << std::endl;\n      break;\n    }\n\n    int num_info = len / sizeof(struct info_t);\n    for (int i = 0; i < num_info; i++) {\n      printf(\"%d\\t%s\\n\", info[i].tid, info[i].comm);\n    }\n\n    leftover = len % sizeof(struct info_t);\n    if (num_info > 0)\n      memcpy(info, (void *)&info[num_info], leftover);\n  }\n\n  close(iter_fd);\n  close(link_fd);\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/UseExternalMap.cc",
    "content": "/*\n * UseExternalMap shows how to access an external map through\n * C++ interface. The external map could be a pinned map.\n * This example simulates the pinned map through a locally\n * created map by calling libbpf bcc_create_map.\n *\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <stdint.h>\n#include <iostream>\n\n#include \"BPF.h\"\n\n// Used by C++ get hash_table\nstruct sched_switch_info {\n  int prev_pid;\n  int next_pid;\n  char prev_comm[16];\n  char next_comm[16];\n};\n\n#define CHECK(condition, msg)        \\\n  ({                                 \\\n    if (condition) {                 \\\n      std::cerr << msg << std::endl; \\\n      return 1;                      \\\n    }                                \\\n  })\n\nconst std::string BPF_PROGRAM = R\"(\n#include <linux/sched.h>\n\nstruct sched_switch_info {\n  int prev_pid;\n  int next_pid;\n  char prev_comm[16];\n  char next_comm[16];\n};\n\nBPF_TABLE(\"extern\", u32, u32, control, 1);\nBPF_HASH(counts, struct sched_switch_info, u32);\nint on_sched_switch(struct tracepoint__sched__sched_switch *args) {\n  struct sched_switch_info key = {};\n  u32 zero = 0, *val;\n\n  /* only do something when control is on */\n  val = control.lookup(&zero);\n  if (!val || *val == 0)\n    return 0;\n\n  /* record sched_switch info in counts table */\n  key.prev_pid = args->prev_pid;\n  key.next_pid = args->next_pid;\n  __builtin_memcpy(&key.prev_comm, args->prev_comm, 16);\n  __builtin_memcpy(&key.next_comm, args->next_comm, 16);\n  val = counts.lookup_or_try_init(&key, &zero);\n  if (val) {\n    (*val)++;\n  }\n\n  return 0;\n}\n)\";\n\nstatic void print_counts(ebpf::BPF *bpfp, std::string msg) {\n  auto counts_table_hdl =\n      bpfp->get_hash_table<struct sched_switch_info, uint32_t>(\"counts\");\n  printf(\"%s\\n\", msg.c_str());\n  printf(\"%-8s  %-16s      %-8s  %-16s   %-4s\\n\", \"PREV_PID\", \"PREV_COMM\",\n         \"CURR_PID\", \"CURR_COMM\", \"CNT\");\n  for (auto it : counts_table_hdl.get_table_offline()) {\n    printf(\"%-8d (%-16s) ==> %-8d (%-16s): %-4d\\n\", it.first.prev_pid,\n           it.first.prev_comm, it.first.next_pid, it.first.next_comm,\n           it.second);\n  }\n}\n\nint main() {\n  int ctrl_map_fd;\n  uint32_t val;\n\n  // create a map through bcc_create_map, bcc knows nothing about this map.\n  ctrl_map_fd = bcc_create_map(BPF_MAP_TYPE_ARRAY, \"control\", sizeof(uint32_t),\n                               sizeof(uint32_t), 1, 0);\n  CHECK(ctrl_map_fd < 0, \"bcc_create_map failure\");\n\n  // populate control map into TableStorage\n  std::unique_ptr<ebpf::TableStorage> local_ts =\n      ebpf::createSharedTableStorage();\n  ebpf::Path global_path({\"control\"});\n  ebpf::TableDesc table_desc(\"control\", ebpf::FileDesc(ctrl_map_fd),\n                             BPF_MAP_TYPE_ARRAY, sizeof(uint32_t),\n                             sizeof(uint32_t), 1, 0);\n  local_ts->Insert(global_path, std::move(table_desc));\n\n  // constructor with the pre-populated table storage\n  ebpf::BPF bpf(0, &*local_ts);\n  auto res = bpf.init(BPF_PROGRAM);\n  CHECK(res.code(), res.msg());\n\n  // attach to the tracepoint sched:sched_switch\n  res = bpf.attach_tracepoint(\"sched:sched_switch\", \"on_sched_switch\");\n  CHECK(res.code(), res.msg());\n\n  // wait for some scheduling events\n  sleep(1);\n\n  auto control_table_hdl = bpf.get_array_table<uint32_t>(\"control\");\n  res = control_table_hdl.get_value(0, val);\n  CHECK(res.code() || val != 0, res.msg());\n\n  // we should not see any events here\n  print_counts(&bpf, \"events with control off:\");\n\n  printf(\"\\n\");\n\n  // change the control to on so bpf program starts to count events\n  val = 1;\n  res = control_table_hdl.update_value(0, val);\n  CHECK(res.code(), res.msg());\n\n  // verify we get the control on back\n  val = 0;\n  res = control_table_hdl.get_value(0, val);\n  CHECK(res.code() || val != 1, res.msg());\n\n  // wait for some scheduling events\n  sleep(1);\n\n  // we should see a bunch of events here\n  print_counts(&bpf, \"events with control on:\");\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/pyperf/CMakeLists.txt",
    "content": "# Copyright (c) Facebook, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\ninclude_directories(${CMAKE_SOURCE_DIR}/src/cc)\ninclude_directories(${CMAKE_SOURCE_DIR}/src/cc/api)\ninclude_directories(${CMAKE_SOURCE_DIR}/src/cc/libbpf/include/uapi)\n\nadd_executable(PyPerf PyPerf.cc PyPerfUtil.cc PyPerfBPFProgram.cc PyPerfLoggingHelper.cc PyPerfDefaultPrinter.cc Py36Offsets.cc)\ntarget_link_libraries(PyPerf bcc-static)\nif(NOT CMAKE_USE_LIBBPF_PACKAGE)\n  target_link_libraries(PyPerf bcc-static)\nelse()\n  target_link_libraries(PyPerf bcc-shared)\nendif()\n\nif(INSTALL_CPP_EXAMPLES)\n  install (TARGETS PyPerf DESTINATION share/bcc/examples/cpp)\nendif(INSTALL_CPP_EXAMPLES)\n"
  },
  {
    "path": "examples/cpp/pyperf/Py36Offsets.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include \"PyPerfType.h\"\n\nnamespace ebpf {\nnamespace pyperf {\n\nextern const OffsetConfig kPy36OffsetConfig = {\n    .PyObject_type = 8,               // offsetof(PyObject, ob_type)\n    .PyTypeObject_name = 24,          // offsetof(PyTypeObject, tp_name)\n    .PyThreadState_frame = 24,        // offsetof(PyThreadState, frame)\n    .PyThreadState_thread = 152,      // offsetof(PyThreadState, thread_id)\n    .PyFrameObject_back = 24,         // offsetof(PyFrameObject, f_back)\n    .PyFrameObject_code = 32,         // offsetof(PyFrameObject, f_code)\n    .PyFrameObject_lineno = 124,      // offsetof(PyFrameObject, f_lineno)\n    .PyFrameObject_localsplus = 376,  // offsetof(PyFrameObject, f_localsplus)\n    .PyCodeObject_filename = 96,      // offsetof(PyCodeObject, co_filename)\n    .PyCodeObject_name = 104,         // offsetof(PyCodeObject, co_name)\n    .PyCodeObject_varnames = 64,      // offsetof(PyCodeObject, co_varnames)\n    .PyTupleObject_item = 24,         // offsetof(PyTupleObject, ob_item)\n    .String_data = 48,                // sizeof(PyASCIIObject)\n    .String_size = 16,                // offsetof(PyVarObject, ob_size)\n};\n\n}\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerf.cc",
    "content": "/*\n * PyPerf Profile Python Processes with Python stack-trace.\n *        For Linux, uses BCC, eBPF. Embedded C.\n *\n * Example of using BPF to profile Python Processes with Python stack-trace.\n *\n * USAGE: PyPerf [-d|--duration DURATION_MS] [-c|--sample-rate SAMPLE_RATE]\n *               [-v|--verbosity LOG_VERBOSITY]\n *\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <cinttypes>\n#include <cstdlib>\n#include <string>\n#include <vector>\n\n#include \"PyPerfDefaultPrinter.h\"\n#include \"PyPerfLoggingHelper.h\"\n#include \"PyPerfUtil.h\"\n\nint main(int argc, char** argv) {\n  // Argument parsing helpers\n  int pos = 1;\n\n  auto parseIntArg = [&](std::vector<std::string> argNames, uint64_t& target) {\n    std::string arg(argv[pos]);\n    for (const auto& name : argNames) {\n      if (arg == name) {\n        if (pos == argc) {\n          std::fprintf(stderr, \"Expect value after %s\\n\", arg.c_str());\n          std::exit(1);\n        }\n        pos++;\n        std::string value(argv[pos]);\n        try {\n          target = std::stoi(value);\n        } catch (const std::exception& e) {\n          std::fprintf(stderr, \"Expect integer value after %s, got %s: %s\\n\",\n                       arg.c_str(), value.c_str(), e.what());\n          std::exit(1);\n        }\n        return true;\n      }\n    }\n    return false;\n  };\n\n  auto parseBoolArg = [&](std::vector<std::string> argNames, bool& target) {\n    std::string arg(argv[pos]);\n    for (const auto& name : argNames) {\n      if (arg == (\"--\" + name)) {\n        target = true;\n        return true;\n      }\n      if (arg == \"--no-\" + name) {\n        target = false;\n        return true;\n      }\n    }\n    return false;\n  };\n\n  // Default argument values\n  uint64_t sampleRate = 1000000;\n  uint64_t durationMs = 1000;\n  uint64_t verbosityLevel = 0;\n  bool showGILState = true;\n  bool showThreadState = true;\n  bool showPthreadIDState = false;\n\n  while (true) {\n    if (pos >= argc) {\n      break;\n    }\n    bool found = false;\n    found = found || parseIntArg({\"-c\", \"--sample-rate\"}, sampleRate);\n    found = found || parseIntArg({\"-d\", \"--duration\"}, durationMs);\n    found = found || parseIntArg({\"-v\", \"--verbose\"}, verbosityLevel);\n    found = found || parseBoolArg({\"show-gil-state\"}, showGILState);\n    found = found || parseBoolArg({\"show-thread-state\"}, showThreadState);\n    found =\n        found || parseBoolArg({\"show-pthread-id-state\"}, showPthreadIDState);\n    if (!found) {\n      std::fprintf(stderr, \"Unexpected argument: %s\\n\", argv[pos]);\n      std::exit(1);\n    }\n    pos++;\n  }\n\n  ebpf::pyperf::setVerbosity(verbosityLevel);\n  ebpf::pyperf::logInfo(1, \"Profiling Sample Rate: %\" PRIu64 \"\\n\", sampleRate);\n  ebpf::pyperf::logInfo(1, \"Profiling Duration: %\" PRIu64 \"ms\\n\", durationMs);\n  ebpf::pyperf::logInfo(1, \"Showing GIL state: %d\\n\", showGILState);\n  ebpf::pyperf::logInfo(1, \"Showing Thread state: %d\\n\", showThreadState);\n  ebpf::pyperf::logInfo(1, \"Showing Pthread ID state: %d\\n\",\n                        showPthreadIDState);\n\n  ebpf::pyperf::PyPerfUtil util;\n  util.init();\n\n  ebpf::pyperf::PyPerfDefaultPrinter printer(showGILState, showThreadState,\n                                             showPthreadIDState);\n  util.profile(sampleRate, durationMs, &printer);\n\n  return 0;\n}\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfBPFProgram.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <string>\n\nnamespace ebpf {\nnamespace pyperf {\n\nextern const std::string PYPERF_BPF_PROGRAM = R\"(\n#include <linux/sched.h>\n#include <uapi/linux/ptrace.h>\n\n#define PYTHON_STACK_FRAMES_PER_PROG 25\n#define PYTHON_STACK_PROG_CNT 3\n#define STACK_MAX_LEN (PYTHON_STACK_FRAMES_PER_PROG * PYTHON_STACK_PROG_CNT)\n#define CLASS_NAME_LEN 32\n#define FUNCTION_NAME_LEN 64\n#define FILE_NAME_LEN 128\n#define TASK_COMM_LEN 16\n\nenum {\n  STACK_STATUS_COMPLETE = 0,\n  STACK_STATUS_ERROR = 1,\n  STACK_STATUS_TRUNCATED = 2,\n};\n\nenum {\n  GIL_STATE_NO_INFO = 0,\n  GIL_STATE_ERROR = 1,\n  GIL_STATE_UNINITIALIZED = 2,\n  GIL_STATE_NOT_LOCKED = 3,\n  GIL_STATE_THIS_THREAD = 4,\n  GIL_STATE_GLOBAL_CURRENT_THREAD = 5,\n  GIL_STATE_OTHER_THREAD = 6,\n  GIL_STATE_NULL = 7,\n};\n\nenum {\n  THREAD_STATE_UNKNOWN = 0,\n  THREAD_STATE_MATCH = 1,\n  THREAD_STATE_MISMATCH = 2,\n  THREAD_STATE_THIS_THREAD_NULL = 3,\n  THREAD_STATE_GLOBAL_CURRENT_THREAD_NULL = 4,\n  THREAD_STATE_BOTH_NULL = 5,\n};\n\nenum {\n  PTHREAD_ID_UNKNOWN = 0,\n  PTHREAD_ID_MATCH = 1,\n  PTHREAD_ID_MISMATCH = 2,\n  PTHREAD_ID_THREAD_STATE_NULL = 3,\n  PTHREAD_ID_NULL = 4,\n  PTHREAD_ID_ERROR = 5,\n};\n\ntypedef struct {\n  int64_t PyObject_type;\n  int64_t PyTypeObject_name;\n  int64_t PyThreadState_frame;\n  int64_t PyThreadState_thread;\n  int64_t PyFrameObject_back;\n  int64_t PyFrameObject_code;\n  int64_t PyFrameObject_lineno;\n  int64_t PyFrameObject_localsplus;\n  int64_t PyCodeObject_filename;\n  int64_t PyCodeObject_name;\n  int64_t PyCodeObject_varnames;\n  int64_t PyTupleObject_item;\n  int64_t String_data;\n  int64_t String_size;\n} OffsetConfig;\n\ntypedef struct {\n  uintptr_t current_state_addr; // virtual address of _PyThreadState_Current\n  uintptr_t tls_key_addr; // virtual address of autoTLSkey for pthreads TLS\n  uintptr_t gil_locked_addr; // virtual address of gil_locked\n  uintptr_t gil_last_holder_addr; // virtual address of gil_last_holder\n  OffsetConfig offsets;\n} PidData;\n\ntypedef struct {\n  char classname[CLASS_NAME_LEN];\n  char name[FUNCTION_NAME_LEN];\n  char file[FILE_NAME_LEN];\n  // NOTE: PyFrameObject also has line number but it is typically just the\n  // first line of that function and PyCode_Addr2Line needs to be called\n  // to get the actual line\n} Symbol;\n\ntypedef struct {\n  uint32_t pid;\n  uint32_t tid;\n  char comm[TASK_COMM_LEN];\n  uint8_t thread_state_match;\n  uint8_t gil_state;\n  uint8_t pthread_id_match;\n  uint8_t stack_status;\n  // instead of storing symbol name here directly, we add it to another\n  // hashmap with Symbols and only store the ids here\n  int64_t stack_len;\n  int32_t stack[STACK_MAX_LEN];\n} Event;\n\n#define _STR_CONCAT(str1, str2) str1##str2\n#define STR_CONCAT(str1, str2) _STR_CONCAT(str1, str2)\n#define FAIL_COMPILATION_IF(condition)            \\\n  typedef struct {                                \\\n    char _condition_check[1 - 2 * !!(condition)]; \\\n  } STR_CONCAT(compile_time_condition_check, __COUNTER__);\n// See comments in get_frame_data\nFAIL_COMPILATION_IF(sizeof(Symbol) == sizeof(struct bpf_perf_event_value))\n\ntypedef struct {\n  OffsetConfig offsets;\n  uint64_t cur_cpu;\n  int64_t symbol_counter;\n  void* frame_ptr;\n  int64_t python_stack_prog_call_cnt;\n  Event event;\n} sample_state_t;\n\nBPF_PERCPU_ARRAY(state_heap, sample_state_t, 1);\nBPF_HASH(symbols, Symbol, int32_t, __SYMBOLS_SIZE__);\nBPF_HASH(pid_config, pid_t, PidData);\nBPF_PROG_ARRAY(progs, 1);\n\nBPF_PERF_OUTPUT(events);\n\nstatic inline __attribute__((__always_inline__)) void* get_thread_state(\n    void* tls_base,\n    PidData* pid_data) {\n  // Python sets the thread_state using pthread_setspecific with the key\n  // stored in a global variable autoTLSkey.\n  // We read the value of the key from the global variable and then read\n  // the value in the thread-local storage. This relies on pthread implementation.\n  // This is basically the same as running the following in GDB:\n  //  p *(PyThreadState*)((struct pthread*)pthread_self())->\n  //    specific_1stblock[autoTLSkey]->data\n  int key;\n  bpf_probe_read_user(&key, sizeof(key), (void*)pid_data->tls_key_addr);\n  // This assumes autoTLSkey < 32, which means that the TLS is stored in\n  //   pthread->specific_1stblock[autoTLSkey]\n  // 0x310 is offsetof(struct pthread, specific_1stblock),\n  // 0x10 is sizeof(pthread_key_data)\n  // 0x8 is offsetof(struct pthread_key_data, data)\n  // 'struct pthread' is not in the public API so we have to hardcode\n  // the offsets here\n  void* thread_state;\n  bpf_probe_read_user(\n      &thread_state,\n      sizeof(thread_state),\n      tls_base + 0x310 + key * 0x10 + 0x08);\n  return thread_state;\n}\n\nstatic inline __attribute__((__always_inline__)) int submit_sample(\n    struct pt_regs* ctx,\n    sample_state_t* state) {\n  events.perf_submit(ctx, &state->event, sizeof(Event));\n  return 0;\n}\n\n// this function is trivial, but we need to do map lookup in separate function,\n// because BCC doesn't allow direct map calls (including lookups) from inside\n// a macro (which we want to do in GET_STATE() macro below)\nstatic inline __attribute__((__always_inline__)) sample_state_t* get_state() {\n  int zero = 0;\n  return state_heap.lookup(&zero);\n}\n\n#define GET_STATE()                     \\\n  sample_state_t* state = get_state();  \\\n  if (!state) {                         \\\n    return 0; /* should never happen */ \\\n  }\n\nstatic inline __attribute__((__always_inline__)) int get_thread_state_match(\n    void* this_thread_state,\n    void* global_thread_state) {\n  if (this_thread_state == 0 && global_thread_state == 0) {\n    return THREAD_STATE_BOTH_NULL;\n  }\n  if (this_thread_state == 0) {\n    return THREAD_STATE_THIS_THREAD_NULL;\n  }\n  if (global_thread_state == 0) {\n    return THREAD_STATE_GLOBAL_CURRENT_THREAD_NULL;\n  }\n  if (this_thread_state == global_thread_state) {\n    return THREAD_STATE_MATCH;\n  } else {\n    return THREAD_STATE_MISMATCH;\n  }\n}\n\nstatic inline __attribute__((__always_inline__)) int get_gil_state(\n    void* this_thread_state,\n    void* global_thread_state,\n    PidData* pid_data) {\n  // Get information of GIL state\n  if (pid_data->gil_locked_addr == 0 || pid_data->gil_last_holder_addr == 0) {\n    return GIL_STATE_NO_INFO;\n  }\n\n  int gil_locked = 0;\n  void* gil_thread_state = 0;\n  if (bpf_probe_read_user(\n          &gil_locked, sizeof(gil_locked), (void*)pid_data->gil_locked_addr)) {\n    return GIL_STATE_ERROR;\n  }\n\n  switch (gil_locked) {\n    case -1:\n      return GIL_STATE_UNINITIALIZED;\n    case 0:\n      return GIL_STATE_NOT_LOCKED;\n    case 1:\n      // GIL is held by some Thread\n      bpf_probe_read_user(\n          &gil_thread_state,\n          sizeof(void*),\n          (void*)pid_data->gil_last_holder_addr);\n      if (gil_thread_state == this_thread_state) {\n        return GIL_STATE_THIS_THREAD;\n      } else if (gil_thread_state == global_thread_state) {\n        return GIL_STATE_GLOBAL_CURRENT_THREAD;\n      } else if (gil_thread_state == 0) {\n        return GIL_STATE_NULL;\n      } else {\n        return GIL_STATE_OTHER_THREAD;\n      }\n    default:\n      return GIL_STATE_ERROR;\n  }\n}\n\nstatic inline __attribute__((__always_inline__)) int\nget_pthread_id_match(void* thread_state, void* tls_base, PidData* pid_data) {\n  if (thread_state == 0) {\n    return PTHREAD_ID_THREAD_STATE_NULL;\n  }\n\n  uint64_t pthread_self, pthread_created;\n\n  bpf_probe_read_user(\n      &pthread_created,\n      sizeof(pthread_created),\n      thread_state + pid_data->offsets.PyThreadState_thread);\n  if (pthread_created == 0) {\n    return PTHREAD_ID_NULL;\n  }\n\n  // 0x10 = offsetof(struct pthread, header.self)\n  bpf_probe_read_user(&pthread_self, sizeof(pthread_self), tls_base + 0x10);\n  if (pthread_self == 0) {\n    return PTHREAD_ID_ERROR;\n  }\n\n  if (pthread_self == pthread_created) {\n    return PTHREAD_ID_MATCH;\n  } else {\n    return PTHREAD_ID_MISMATCH;\n  }\n}\n\nint on_event(struct pt_regs* ctx) {\n  uint64_t pid_tgid = bpf_get_current_pid_tgid();\n  pid_t pid = (pid_t)(pid_tgid >> 32);\n  PidData* pid_data = pid_config.lookup(&pid);\n  if (!pid_data) {\n    return 0;\n  }\n\n  GET_STATE();\n\n  state->offsets = pid_data->offsets;\n  state->cur_cpu = bpf_get_smp_processor_id();\n  state->python_stack_prog_call_cnt = 0;\n\n  Event* event = &state->event;\n  event->pid = pid;\n  event->tid = (pid_t)pid_tgid;\n  bpf_get_current_comm(&event->comm, sizeof(event->comm));\n\n  // Get pointer of global PyThreadState, which should belong to the Thread\n  // currently holds the GIL\n  void* global_current_thread = (void*)0;\n  bpf_probe_read_user(\n      &global_current_thread,\n      sizeof(global_current_thread),\n      (void*)pid_data->current_state_addr);\n\n  struct task_struct* task = (struct task_struct*)bpf_get_current_task();\n#if __x86_64__\n// thread_struct->fs was renamed to fsbase in\n// https://github.com/torvalds/linux/commit/296f781a4b7801ad9c1c0219f9e87b6c25e196fe\n// so depending on kernel version, we need to account for that\n#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)\n  void* tls_base = (void*)task->thread.fs;\n#else\n  void* tls_base = (void*)task->thread.fsbase;\n#endif\n#elif __aarch64__\n  void* tls_base = (void*)task->thread.tp_value;\n#else\n#error \"Unsupported platform\"\n#endif\n\n  // Read PyThreadState of this Thread from TLS\n  void* thread_state = get_thread_state(tls_base, pid_data);\n\n  // Check for matching between TLS PyThreadState and\n  // the global _PyThreadState_Current\n  event->thread_state_match =\n      get_thread_state_match(thread_state, global_current_thread);\n\n  // Read GIL state\n  event->gil_state =\n      get_gil_state(thread_state, global_current_thread, pid_data);\n\n  // Check for matching between pthread ID created current PyThreadState and\n  // pthread of actual current pthread\n  event->pthread_id_match =\n      get_pthread_id_match(thread_state, tls_base, pid_data);\n\n  // pre-initialize event struct in case any subprogram below fails\n  event->stack_status = STACK_STATUS_COMPLETE;\n  event->stack_len = 0;\n\n  if (thread_state != 0) {\n    // Get pointer to top frame from PyThreadState\n    bpf_probe_read_user(\n        &state->frame_ptr,\n        sizeof(void*),\n        thread_state + pid_data->offsets.PyThreadState_frame);\n    // jump to reading first set of Python frames\n    progs.call(ctx, PYTHON_STACK_PROG_IDX);\n    // we won't ever get here\n  }\n\n  return submit_sample(ctx, state);\n}\n\nstatic inline __attribute__((__always_inline__)) void get_names(\n    void* cur_frame,\n    void* code_ptr,\n    OffsetConfig* offsets,\n    Symbol* symbol,\n    void* ctx) {\n  // Figure out if we want to parse class name, basically checking the name of\n  // the first argument,\n  //   ((PyTupleObject*)$frame->f_code->co_varnames)->ob_item[0]\n  // If it's 'self', we get the type and it's name, if it's cls, we just get\n  // the name. This is not perfect but there is no better way to figure this\n  // out from the code object.\n  void* args_ptr;\n  bpf_probe_read_user(\n      &args_ptr, sizeof(void*), code_ptr + offsets->PyCodeObject_varnames);\n  bpf_probe_read_user(\n      &args_ptr, sizeof(void*), args_ptr + offsets->PyTupleObject_item);\n  bpf_probe_read_user_str(\n      &symbol->name, sizeof(symbol->name), args_ptr + offsets->String_data);\n\n  // compare strings as ints to save instructions\n  char self_str[4] = {'s', 'e', 'l', 'f'};\n  char cls_str[4] = {'c', 'l', 's', '\\0'};\n  bool first_self = *(int32_t*)symbol->name == *(int32_t*)self_str;\n  bool first_cls = *(int32_t*)symbol->name == *(int32_t*)cls_str;\n\n  // We re-use the same Symbol instance across loop iterations, which means\n  // we will have left-over data in the struct. Although this won't affect\n  // correctness of the result because we have '\\0' at end of the strings read,\n  // it would affect effectiveness of the deduplication.\n  // Helper bpf_perf_prog_read_value clears the buffer on error, so here we\n  // (ab)use this behavior to clear the memory. It requires the size of Symbol\n  // to be different from struct bpf_perf_event_value, which we check at\n  // compilation time using the FAIL_COMPILATION_IF macro.\n  bpf_perf_prog_read_value(ctx, symbol, sizeof(Symbol));\n\n  // Read class name from $frame->f_localsplus[0]->ob_type->tp_name.\n  if (first_self || first_cls) {\n    void* ptr;\n    bpf_probe_read_user(\n        &ptr, sizeof(void*), cur_frame + offsets->PyFrameObject_localsplus);\n    if (first_self) {\n      // we are working with an instance, first we need to get type\n      bpf_probe_read_user(&ptr, sizeof(void*), ptr + offsets->PyObject_type);\n    }\n    bpf_probe_read_user(&ptr, sizeof(void*), ptr + offsets->PyTypeObject_name);\n    bpf_probe_read_user_str(&symbol->classname, sizeof(symbol->classname), ptr);\n  }\n\n  void* pystr_ptr;\n  // read PyCodeObject's filename into symbol\n  bpf_probe_read_user(\n      &pystr_ptr, sizeof(void*), code_ptr + offsets->PyCodeObject_filename);\n  bpf_probe_read_user_str(\n      &symbol->file, sizeof(symbol->file), pystr_ptr + offsets->String_data);\n  // read PyCodeObject's name into symbol\n  bpf_probe_read_user(\n      &pystr_ptr, sizeof(void*), code_ptr + offsets->PyCodeObject_name);\n  bpf_probe_read_user_str(\n      &symbol->name, sizeof(symbol->name), pystr_ptr + offsets->String_data);\n}\n\n// get_frame_data reads current PyFrameObject filename/name and updates\n// stack_info->frame_ptr with pointer to next PyFrameObject\nstatic inline __attribute__((__always_inline__)) bool get_frame_data(\n    void** frame_ptr,\n    OffsetConfig* offsets,\n    Symbol* symbol,\n    // ctx is only used to call helper to clear symbol, see documentation below\n    void* ctx) {\n  void* cur_frame = *frame_ptr;\n  if (!cur_frame) {\n    return false;\n  }\n  void* code_ptr;\n  // read PyCodeObject first, if that fails, then no point reading next frame\n  bpf_probe_read_user(\n      &code_ptr, sizeof(void*), cur_frame + offsets->PyFrameObject_code);\n  if (!code_ptr) {\n    return false;\n  }\n\n  get_names(cur_frame, code_ptr, offsets, symbol, ctx);\n\n  // read next PyFrameObject pointer, update in place\n  bpf_probe_read_user(\n      frame_ptr, sizeof(void*), cur_frame + offsets->PyFrameObject_back);\n\n  return true;\n}\n\n// To avoid duplicate ids, every CPU needs to use different ids when inserting\n// into the hashmap. NUM_CPUS is defined at PyPerf backend side and passed\n// through CFlag.\nstatic inline __attribute__((__always_inline__)) int64_t get_symbol_id(\n    sample_state_t* state,\n    Symbol* sym) {\n  int32_t* symbol_id_ptr = symbols.lookup(sym);\n  if (symbol_id_ptr) {\n    return *symbol_id_ptr;\n  }\n  // the symbol is new, bump the counter\n  int32_t symbol_id = state->symbol_counter * NUM_CPUS + state->cur_cpu;\n  state->symbol_counter++;\n  symbols.update(sym, &symbol_id);\n  return symbol_id;\n}\n\nint read_python_stack(struct pt_regs* ctx) {\n  GET_STATE();\n\n  state->python_stack_prog_call_cnt++;\n  Event* sample = &state->event;\n\n  Symbol sym = {};\n  bool last_res = false;\n#pragma unroll\n  for (int i = 0; i < PYTHON_STACK_FRAMES_PER_PROG; i++) {\n    last_res = get_frame_data(&state->frame_ptr, &state->offsets, &sym, ctx);\n    if (last_res) {\n      uint32_t symbol_id = get_symbol_id(state, &sym);\n      int64_t cur_len = sample->stack_len;\n      if (cur_len >= 0 && cur_len < STACK_MAX_LEN) {\n        sample->stack[cur_len] = symbol_id;\n        sample->stack_len++;\n      }\n    }\n  }\n\n  if (!state->frame_ptr) {\n    sample->stack_status = STACK_STATUS_COMPLETE;\n  } else {\n    if (!last_res) {\n      sample->stack_status = STACK_STATUS_ERROR;\n    } else {\n      sample->stack_status = STACK_STATUS_TRUNCATED;\n    }\n  }\n\n  if (sample->stack_status == STACK_STATUS_TRUNCATED &&\n      state->python_stack_prog_call_cnt < PYTHON_STACK_PROG_CNT) {\n    // read next batch of frames\n    progs.call(ctx, PYTHON_STACK_PROG_IDX);\n  }\n\n  return submit_sample(ctx, state);\n}\n)\";\n\n}\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfDefaultPrinter.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <map>\n#include <string>\n\n#include \"PyPerfDefaultPrinter.h\"\n#include \"PyPerfUtil.h\"\n\nnamespace ebpf {\nnamespace pyperf {\n\nconst static std::string kLostSymbol = \"[Lost Symbol]\";\nconst static std::string kIncompleteStack = \"[Truncated Stack]\";\nconst static std::string kErrorStack = \"[Stack Error]\";\nconst static std::string kNonPythonStack = \"[Non-Python Code]\";\n\nconst static std::map<int, const char*> kGILStateValues = {\n    {GIL_STATE_NO_INFO, \"No GIL Info\"},\n    {GIL_STATE_ERROR, \"Error Reading GIL State\"},\n    {GIL_STATE_UNINITIALIZED, \"GIL Uninitialized\"},\n    {GIL_STATE_NOT_LOCKED, \"GIL Not Locked\"},\n    {GIL_STATE_THIS_THREAD, \"GIL on This Thread\"},\n    {GIL_STATE_GLOBAL_CURRENT_THREAD,\n     \"GIL on Global _PyThreadState_Current Thread\"},\n    {GIL_STATE_OTHER_THREAD, \"GIL on Unexpected Thread\"},\n    {GIL_STATE_NULL, \"GIL State Empty\"}};\n\nconst static std::map<int, const char*> kThreadStateValues = {\n    {THREAD_STATE_UNKNOWN, \"ThreadState Unknown\"},\n    {THREAD_STATE_MATCH, \"TLS ThreadState is Global _PyThreadState_Current\"},\n    {THREAD_STATE_MISMATCH,\n     \"TLS ThreadState is not Global _PyThreadState_Current\"},\n    {THREAD_STATE_THIS_THREAD_NULL, \"TLS ThreadState is NULL\"},\n    {THREAD_STATE_GLOBAL_CURRENT_THREAD_NULL,\n     \"Global _PyThreadState_Current is NULL\"},\n    {THREAD_STATE_BOTH_NULL,\n     \"Both TLS ThreadState and Global _PyThreadState_Current is NULL\"},\n};\n\nconst static std::map<int, const char*> kPthreadIDStateValues = {\n    {PTHREAD_ID_UNKNOWN, \"Pthread ID Unknown\"},\n    {PTHREAD_ID_MATCH, \"System Pthread ID is Python ThreadState Pthread ID\"},\n    {PTHREAD_ID_MISMATCH,\n     \"System Pthread ID is not Python ThreadState Pthread ID\"},\n    {PTHREAD_ID_THREAD_STATE_NULL, \"No Pthread ID: TLS ThreadState is NULL\"},\n    {PTHREAD_ID_NULL, \"Pthread ID on TLS ThreadState is NULL\"},\n    {PTHREAD_ID_ERROR, \"Error Reading System Pthread ID\"}};\n\nvoid PyPerfDefaultPrinter::processSamples(\n    const std::vector<PyPerfSample>& samples, PyPerfUtil* util) {\n  auto symbols = util->getSymbolMapping();\n  uint32_t lostSymbols = 0;\n  uint32_t truncatedStack = 0;\n\n  for (auto& sample : samples) {\n    if (sample.threadStateMatch != THREAD_STATE_THIS_THREAD_NULL &&\n        sample.threadStateMatch != THREAD_STATE_BOTH_NULL) {\n      for (const auto stackId : sample.pyStackIds) {\n        auto symbIt = symbols.find(stackId);\n        if (symbIt != symbols.end()) {\n          std::printf(\"    %s\\n\", symbIt->second.c_str());\n        } else {\n          std::printf(\"    %s\\n\", kLostSymbol.c_str());\n          lostSymbols++;\n        }\n      }\n      switch (sample.stackStatus) {\n      case STACK_STATUS_TRUNCATED:\n        std::printf(\"    %s\\n\", kIncompleteStack.c_str());\n        truncatedStack++;\n        break;\n      case STACK_STATUS_ERROR:\n        std::printf(\"    %s\\n\", kErrorStack.c_str());\n        break;\n      default:\n        break;\n      }\n    } else {\n      std::printf(\"    %s\\n\", kNonPythonStack.c_str());\n    }\n\n    std::printf(\"PID: %d TID: %d (%s)\\n\", sample.pid, sample.tid,\n                sample.comm.c_str());\n    if (showGILState_)\n      std::printf(\"GIL State: %s\\n\", kGILStateValues.at(sample.gilState));\n    if (showThreadState_)\n      std::printf(\"Thread State: %s\\n\",\n                  kThreadStateValues.at(sample.threadStateMatch));\n    if (showPthreadIDState_)\n      std::printf(\"Pthread ID State: %s\\n\",\n                  kPthreadIDStateValues.at(sample.pthreadIDMatch));\n\n    std::printf(\"\\n\");\n  }\n\n  std::printf(\"%d samples collected\\n\", util->getTotalSamples());\n  std::printf(\"%d samples lost\\n\", util->getLostSamples());\n  std::printf(\"%d samples with truncated stack\\n\", truncatedStack);\n  std::printf(\"%d times Python symbol lost\\n\", lostSymbols);\n}\n\n}  // namespace pyperf\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfDefaultPrinter.h",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#pragma once\n\n#include \"PyPerfSampleProcessor.h\"\n\nnamespace ebpf {\nnamespace pyperf {\n\nclass PyPerfDefaultPrinter : public PyPerfSampleProcessor {\n public:\n  PyPerfDefaultPrinter(bool showGILState, bool showThreadState,\n                       bool showPthreadIDState)\n      : showGILState_(showGILState),\n        showThreadState_(showThreadState),\n        showPthreadIDState_(showPthreadIDState) {}\n\n  void processSamples(const std::vector<PyPerfSample>& samples,\n                      PyPerfUtil* util) override;\n\n private:\n  bool showGILState_;\n  bool showThreadState_;\n  bool showPthreadIDState_;\n};\n\n}  // namespace pyperf\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfLoggingHelper.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <cstdarg>\n#include <cstdio>\n\n#include \"PyPerfLoggingHelper.h\"\n\nnamespace ebpf {\nnamespace pyperf {\n\nstatic uint64_t setVerbosityLevel = 0;\n\nvoid setVerbosity(uint64_t verbosityLevel) {\n  setVerbosityLevel = verbosityLevel;\n}\n\nvoid logInfo(uint64_t logLevel, const char* fmt, ...) {\n  if (logLevel > setVerbosityLevel) {\n    return;\n  }\n\n  va_list va;\n  va_start(va, fmt);\n  std::vfprintf(stderr, fmt, va);\n  va_end(va);\n}\n\n}  // namespace pyperf\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfLoggingHelper.h",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#pragma once\n\n#include <cstdint>\n\nnamespace ebpf {\nnamespace pyperf {\n\nvoid setVerbosity(uint64_t verbosityLevel);\nvoid logInfo(uint64_t logLevel, const char* fmt, ...);\n\n}  // namespace pyperf\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfSampleProcessor.h",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#pragma once\n\n#include <vector>\n\n#include \"PyPerfType.h\"\n\nnamespace ebpf {\nnamespace pyperf {\n\nclass PyPerfUtil;\n\nclass PyPerfSampleProcessor {\n public:\n  virtual void processSamples(const std::vector<PyPerfSample>& samples,\n                              PyPerfUtil* util) = 0;\n};\n\n}  // namespace pyperf\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfType.h",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#pragma once\n\n#include <sys/types.h>\n#include <cstdint>\n#include <string>\n#include <vector>\n\n#define PYTHON_STACK_FRAMES_PER_PROG 25\n#define PYTHON_STACK_PROG_CNT 3\n#define STACK_MAX_LEN (PYTHON_STACK_FRAMES_PER_PROG * PYTHON_STACK_PROG_CNT)\n#define CLASS_NAME_LEN 32\n#define FUNCTION_NAME_LEN 64\n#define FILE_NAME_LEN 128\n#define TASK_COMM_LEN 16\n\nnamespace ebpf {\nnamespace pyperf {\n\nenum {\n  STACK_STATUS_COMPLETE = 0,\n  STACK_STATUS_ERROR = 1,\n  STACK_STATUS_TRUNCATED = 2,\n};\n\nenum {\n  GIL_STATE_NO_INFO = 0,\n  GIL_STATE_ERROR = 1,\n  GIL_STATE_UNINITIALIZED = 2,\n  GIL_STATE_NOT_LOCKED = 3,\n  GIL_STATE_THIS_THREAD = 4,\n  GIL_STATE_GLOBAL_CURRENT_THREAD = 5,\n  GIL_STATE_OTHER_THREAD = 6,\n  GIL_STATE_NULL = 7,\n};\n\nenum {\n  THREAD_STATE_UNKNOWN = 0,\n  THREAD_STATE_MATCH = 1,\n  THREAD_STATE_MISMATCH = 2,\n  THREAD_STATE_THIS_THREAD_NULL = 3,\n  THREAD_STATE_GLOBAL_CURRENT_THREAD_NULL = 4,\n  THREAD_STATE_BOTH_NULL = 5,\n};\n\nenum {\n  PTHREAD_ID_UNKNOWN = 0,\n  PTHREAD_ID_MATCH = 1,\n  PTHREAD_ID_MISMATCH = 2,\n  PTHREAD_ID_THREAD_STATE_NULL = 3,\n  PTHREAD_ID_NULL = 4,\n  PTHREAD_ID_ERROR = 5,\n};\n\ntypedef struct {\n  int64_t PyObject_type;\n  int64_t PyTypeObject_name;\n  int64_t PyThreadState_frame;\n  int64_t PyThreadState_thread;\n  int64_t PyFrameObject_back;\n  int64_t PyFrameObject_code;\n  int64_t PyFrameObject_lineno;\n  int64_t PyFrameObject_localsplus;\n  int64_t PyCodeObject_filename;\n  int64_t PyCodeObject_name;\n  int64_t PyCodeObject_varnames;\n  int64_t PyTupleObject_item;\n  int64_t String_data;\n  int64_t String_size;\n} OffsetConfig;\n\ntypedef struct {\n  uintptr_t current_state_addr;  // virtual address of _PyThreadState_Current\n  uintptr_t tls_key_addr;     // virtual address of autoTLSkey for pthreads TLS\n  uintptr_t gil_locked_addr;  // virtual address of gil_locked\n  uintptr_t gil_last_holder_addr;  // virtual address of gil_last_holder\n  OffsetConfig offsets;\n} PidData;\n\ntypedef struct {\n  char classname[CLASS_NAME_LEN];\n  char name[FUNCTION_NAME_LEN];\n  char file[FILE_NAME_LEN];\n  // NOTE: PyFrameObject also has line number but it is typically just the\n  // first line of that function and PyCode_Addr2Line needs to be called\n  // to get the actual line\n} Symbol;\n\ntypedef struct {\n  uint32_t pid;\n  uint32_t tid;\n  char comm[TASK_COMM_LEN];\n  uint8_t thread_state_match;\n  uint8_t gil_state;\n  uint8_t pthread_id_match;\n  uint8_t stack_status;\n  // instead of storing symbol name here directly, we add it to another\n  // hashmap with Symbols and only store the ids here\n  int64_t stack_len;\n  int32_t stack[STACK_MAX_LEN];\n} Event;\n\nstruct PyPerfSample {\n  pid_t pid;\n  pid_t tid;\n  std::string comm;\n  uint8_t threadStateMatch;\n  uint8_t gilState;\n  uint8_t pthreadIDMatch;\n  uint8_t stackStatus;\n  std::vector<int32_t> pyStackIds;\n\n  explicit PyPerfSample(const Event* raw, int rawSize)\n      : pid(raw->pid),\n        tid(raw->tid),\n        comm(raw->comm),\n        threadStateMatch(raw->thread_state_match),\n        gilState(raw->gil_state),\n        pthreadIDMatch(raw->pthread_id_match),\n        stackStatus(raw->stack_status),\n        pyStackIds(raw->stack, raw->stack + raw->stack_len) {}\n};\n\n}  // namespace pyperf\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfUtil.cc",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#include <algorithm>\n#include <cerrno>\n#include <chrono>\n#include <cstdio>\n#include <cstring>\n#include <exception>\n\n#include <dirent.h>\n#include <linux/elf.h>\n#include <sys/stat.h>\n#include <sys/types.h>\n#include <unistd.h>\n\n#include \"PyPerfLoggingHelper.h\"\n#include \"PyPerfUtil.h\"\n#include \"bcc_elf.h\"\n#include \"bcc_proc.h\"\n#include \"bcc_syms.h\"\n\nnamespace ebpf {\nnamespace pyperf {\n\nextern OffsetConfig kPy36OffsetConfig;\nextern std::string PYPERF_BPF_PROGRAM;\n\nconst static int kPerfBufSizePages = 32;\n\nconst static std::string kPidCfgTableName(\"pid_config\");\nconst static std::string kProgsTableName(\"progs\");\nconst static std::string kSamplePerfBufName(\"events\");\n\nconst static std::string kOnEventFuncName(\"on_event\");\n\nconst static std::string kPythonStackFuncName(\"read_python_stack\");\nconst static std::string kPythonStackProgIdxFlag(\"-DPYTHON_STACK_PROG_IDX=\");\nconst static int kPythonStackProgIdx = 0;\n\nconst static std::string kNumCpusFlag(\"-DNUM_CPUS=\");\nconst static std::string kSymbolsHashSizeFlag(\"-D__SYMBOLS_SIZE__=\");\nconst static int kSymbolsHashSize = 16384;\n\nnamespace {\n\nbool getRunningPids(std::vector<int>& output) {\n  auto dir = ::opendir(\"/proc/\");\n  if (!dir) {\n    std::fprintf(stderr, \"Open /proc failed: %d\\n\", errno);\n    return false;\n  }\n\n  dirent* result = nullptr;\n  do {\n    if ((result = readdir(dir))) {\n      std::string basename = result->d_name;\n      if (basename == \".\" || basename == \"..\") {\n        continue;\n      }\n\n      std::string fullpath = \"/proc/\" + basename;\n      struct stat st;\n      if (::stat(fullpath.c_str(), &st) != 0 || !S_ISDIR(st.st_mode)) {\n        continue;\n      }\n\n      try {\n        auto pid = std::stoi(basename);\n        output.push_back(pid);\n      } catch (const std::exception& e) {\n        continue;\n      }\n    }\n  } while (result);\n\n  if (::closedir(dir) == -1) {\n    std::fprintf(stderr, \"Close /proc failed: %d\\n\", errno);\n    return false;\n  }\n\n  return true;\n}\n\ntypedef struct {\n  int pid;\n  bool found;\n  uint64_t st;\n  uint64_t en;\n} FindPythonPathHelper;\n\nconst static std::string kPy36LibName = \"libpython3.6\";\n\nint findPythonPathCallback(mod_info *mod, int, void* payload) {\n  auto helper = static_cast<FindPythonPathHelper*>(payload);\n  std::string file = mod->name;\n  auto pos = file.rfind(\"/\");\n  if (pos != std::string::npos) {\n    file = file.substr(pos + 1);\n  }\n  if (file.find(kPy36LibName) == 0) {\n    logInfo(1, \"Found Python library %s loaded at %lx-%lx for PID %d\\n\", mod->name,\n            mod->start_addr, mod->end_addr, helper->pid);\n    helper->found = true;\n    helper->st = mod->start_addr;\n    helper->en = mod->end_addr;\n    return -1;\n  }\n  return 0;\n}\n\nbool allAddrFound(const PidData& data) {\n  return (data.current_state_addr > 0) && (data.tls_key_addr > 0) &&\n         (data.gil_locked_addr > 0) && (data.gil_last_holder_addr > 0);\n}\n\nint getAddrOfPythonBinaryCallback(const char* name, uint64_t addr, uint64_t,\n                                  void* payload) {\n  PidData& data = *static_cast<PidData*>(payload);\n\n  auto checkAndGetAddr = [&](uintptr_t& targetAddr, const char* targetName) {\n    if (targetAddr == 0 && std::strcmp(name, targetName) == 0) {\n      targetAddr = addr;\n    }\n  };\n\n  checkAndGetAddr(data.tls_key_addr, \"autoTLSkey\");\n  checkAndGetAddr(data.current_state_addr, \"_PyThreadState_Current\");\n  checkAndGetAddr(data.gil_locked_addr, \"gil_locked\");\n  checkAndGetAddr(data.gil_last_holder_addr, \"gil_last_holder\");\n\n  if (allAddrFound(data)) {\n    return -1;\n  }\n  return 0;\n}\n\nbool getAddrOfPythonBinary(const std::string& path, PidData& data) {\n  std::memset(&data, 0, sizeof(data));\n\n  struct bcc_symbol_option option = {.use_debug_file = 0,\n                                     .check_debug_file_crc = 0,\n                                     .lazy_symbolize = 1,\n                                     .use_symbol_type = (1 << STT_OBJECT)};\n\n  bcc_elf_foreach_sym(path.c_str(), &getAddrOfPythonBinaryCallback, &option,\n                      &data);\n\n  return allAddrFound(data);\n}\n}  // namespace\n\nvoid handleSampleCallback(void* cb_cookie, void* raw_data, int data_size) {\n  auto profiler = static_cast<PyPerfUtil*>(cb_cookie);\n  profiler->handleSample(raw_data, data_size);\n}\n\nvoid handleLostSamplesCallback(void* cb_cookie, uint64_t lost_cnt) {\n  auto profiler = static_cast<PyPerfUtil*>(cb_cookie);\n  profiler->handleLostSamples(lost_cnt);\n}\n\nPyPerfUtil::PyPerfResult PyPerfUtil::init() {\n  std::vector<std::string> cflags;\n  cflags.emplace_back(kNumCpusFlag +\n                      std::to_string(::sysconf(_SC_NPROCESSORS_ONLN)));\n  cflags.emplace_back(kSymbolsHashSizeFlag + std::to_string(kSymbolsHashSize));\n  cflags.emplace_back(kPythonStackProgIdxFlag +\n                      std::to_string(kPythonStackProgIdx));\n\n  auto initRes = bpf_.init(PYPERF_BPF_PROGRAM, cflags);\n  if (!initRes.ok()) {\n    std::fprintf(stderr, \"Failed to compiled PyPerf BPF programs: %s\\n\",\n                 initRes.msg().c_str());\n    return PyPerfResult::INIT_FAIL;\n  }\n\n  int progFd = -1;\n  auto loadRes =\n      bpf_.load_func(kPythonStackFuncName, BPF_PROG_TYPE_PERF_EVENT, progFd);\n  if (!loadRes.ok()) {\n    std::fprintf(stderr, \"Failed to load BPF program %s: %s\\n\",\n                 kPythonStackFuncName.c_str(), loadRes.msg().c_str());\n    return PyPerfResult::INIT_FAIL;\n  }\n\n  auto progTable = bpf_.get_prog_table(kProgsTableName);\n  auto updateRes = progTable.update_value(kPythonStackProgIdx, progFd);\n  if (!updateRes.ok()) {\n    std::fprintf(stderr,\n                 \"Failed to set BPF program %s FD %d to program table: %s\\n\",\n                 kPythonStackFuncName.c_str(), progFd, updateRes.msg().c_str());\n    return PyPerfResult::INIT_FAIL;\n  }\n\n  std::vector<int> pids;\n  if (!getRunningPids(pids)) {\n    std::fprintf(stderr, \"Failed getting running Processes\\n\");\n    return PyPerfResult::INIT_FAIL;\n  }\n\n  // Populate config for each Python Process\n  auto pid_hash = bpf_.get_hash_table<int, PidData>(kPidCfgTableName);\n  PidData pidData;\n  for (const auto pid : pids) {\n    if (!tryTargetPid(pid, pidData)) {\n      // Not a Python Process\n      continue;\n    }\n    pid_hash.update_value(pid, pidData);\n  }\n\n  // Open perf buffer\n  auto openRes = bpf_.open_perf_buffer(\n      kSamplePerfBufName, &handleSampleCallback, &handleLostSamplesCallback,\n      this, kPerfBufSizePages);\n  if (!openRes.ok()) {\n    std::fprintf(stderr, \"Unable to open Perf Buffer: %s\\n\",\n                 openRes.msg().c_str());\n    return PyPerfResult::PERF_BUF_OPEN_FAIL;\n  }\n\n  initCompleted_ = true;\n  return PyPerfResult::SUCCESS;\n}\n\nvoid PyPerfUtil::handleSample(const void* data, int dataSize) {\n  const Event* raw = static_cast<const Event*>(data);\n  samples_.emplace_back(raw, dataSize);\n  totalSamples_++;\n}\n\nvoid PyPerfUtil::handleLostSamples(int lostCnt) { lostSamples_ += lostCnt; }\n\nPyPerfUtil::PyPerfResult PyPerfUtil::profile(int64_t sampleRate,\n                                             int64_t durationMs,\n                                             PyPerfSampleProcessor* processor) {\n  if (!initCompleted_) {\n    std::fprintf(stderr, \"PyPerfUtil::init not invoked or failed\\n\");\n    return PyPerfResult::NO_INIT;\n  }\n\n  // Attach to CPU cycles\n  auto attachRes =\n      bpf_.attach_perf_event(0, 0, kOnEventFuncName, sampleRate, 0);\n  if (!attachRes.ok()) {\n    std::fprintf(stderr, \"Attach to CPU cycles event failed: %s\\n\",\n                 attachRes.msg().c_str());\n    return PyPerfResult::EVENT_ATTACH_FAIL;\n  }\n  logInfo(2, \"Attached to profiling event\\n\");\n\n  // Get Perf Buffer and poll in a loop for a given duration\n  auto perfBuffer = bpf_.get_perf_buffer(kSamplePerfBufName);\n  if (!perfBuffer) {\n    std::fprintf(stderr, \"Failed to get Perf Buffer: %s\\n\",\n                 kSamplePerfBufName.c_str());\n    return PyPerfResult::PERF_BUF_OPEN_FAIL;\n  }\n  logInfo(2, \"Started polling Perf Buffer\\n\");\n  auto start = std::chrono::steady_clock::now();\n  while (std::chrono::steady_clock::now() <\n         start + std::chrono::milliseconds(durationMs)) {\n    perfBuffer->poll(50 /* 50ms timeout */);\n  }\n  logInfo(2, \"Profiling duration finished\\n\");\n\n  // Detach the event\n  auto detachRes = bpf_.detach_perf_event(0, 0);\n  if (!detachRes.ok()) {\n    std::fprintf(stderr, \"Detach CPU cycles event failed: %s\\n\",\n                 detachRes.msg().c_str());\n    return PyPerfResult::EVENT_DETACH_FAIL;\n  }\n  logInfo(2, \"Detached from profiling event\\n\");\n\n  // Drain remaining samples\n  logInfo(2, \"Draining remaining samples\\n\");\n  while (perfBuffer->poll(0) > 0) {\n  }\n  logInfo(2, \"Finished draining remaining samples\\n\");\n\n  processor->processSamples(samples_, this);\n\n  return PyPerfResult::SUCCESS;\n}\n\nstd::unordered_map<int32_t, std::string> PyPerfUtil::getSymbolMapping() {\n  auto symbolTable = bpf_.get_hash_table<Symbol, int32_t>(\"symbols\");\n  std::unordered_map<int32_t, std::string> symbols;\n  for (auto& x : symbolTable.get_table_offline()) {\n    auto symbolName = getSymbolName(x.first);\n    logInfo(2, \"Symbol ID %d is %s\\n\", x.second, symbolName.c_str());\n    symbols.emplace(x.second, std::move(symbolName));\n  }\n  logInfo(1, \"Total %d unique Python symbols\\n\", symbols.size());\n  return symbols;\n}\n\nstd::string PyPerfUtil::getSymbolName(Symbol& sym) const {\n  std::string nameStr = std::string(sym.name).substr(0, FUNCTION_NAME_LEN);\n  std::string classStr = std::string(sym.classname).substr(0, CLASS_NAME_LEN);\n  if (classStr.size() > 0) {\n    nameStr = classStr + \".\" + nameStr;\n  }\n\n  std::string file = std::string(sym.file).substr(0, FILE_NAME_LEN);\n  if (file.empty()) {\n    return nameStr;\n  }\n  if (file[0] == '/') {\n    file = file.substr(1);\n  }\n  if (file.find(\"./\") == 0) {\n    file = file.substr(2);\n  }\n  if (file.find(\".py\", file.size() - 3) == (file.size() - 3)) {\n    file = file.substr(0, file.size() - 3);\n  }\n  std::replace(file.begin(), file.end(), '/', '.');\n\n  return file + \".\" + nameStr;\n}\n\nbool PyPerfUtil::tryTargetPid(int pid, PidData& data) {\n  FindPythonPathHelper helper{pid, false, 0, 0};\n  bcc_procutils_each_module(pid, &findPythonPathCallback, &helper);\n  if (!helper.found) {\n    logInfo(2, \"PID %d does not contain Python library\\n\", pid);\n    return false;\n  }\n\n  char path[256];\n  int res = std::snprintf(path, sizeof(path), \"/proc/%d/map_files/%lx-%lx\", pid,\n                          helper.st, helper.en);\n  if (res < 0 || size_t(res) >= sizeof(path)) {\n    return false;\n  }\n\n  if (!getAddrOfPythonBinary(path, data)) {\n    std::fprintf(\n        stderr,\n        \"Failed getting addresses in potential Python library in PID %d\\n\",\n        pid);\n    return false;\n  }\n  data.offsets = kPy36OffsetConfig;\n  data.current_state_addr += helper.st;\n  logInfo(2, \"PID %d has _PyThreadState_Current at %lx\\n\", pid,\n          data.current_state_addr);\n  data.tls_key_addr += helper.st;\n  logInfo(2, \"PID %d has autoTLSKey at %lx\\n\", pid, data.current_state_addr);\n  data.gil_locked_addr += helper.st;\n  logInfo(2, \"PID %d has gil_locked at %lx\\n\", pid, data.current_state_addr);\n  data.gil_last_holder_addr += helper.st;\n  logInfo(2, \"PID %d has gil_last_holder at %lx\\n\", pid,\n          data.current_state_addr);\n\n  return true;\n}\n\n}  // namespace pyperf\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/cpp/pyperf/PyPerfUtil.h",
    "content": "/*\n * Copyright (c) Facebook, Inc.\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n */\n\n#pragma once\n\n#include <string>\n#include <unordered_map>\n#include <vector>\n\n#include <linux/perf_event.h>\n#include <sys/types.h>\n\n#include \"BPF.h\"\n#include \"PyPerfSampleProcessor.h\"\n#include \"PyPerfType.h\"\n\nnamespace ebpf {\nnamespace pyperf {\n\nclass PyPerfUtil {\n public:\n  enum class PyPerfResult : int {\n    SUCCESS = 0,\n    INIT_FAIL,\n    PERF_BUF_OPEN_FAIL,\n    NO_INIT,\n    EVENT_ATTACH_FAIL,\n    EVENT_DETACH_FAIL\n  };\n\n  // init must be invoked exactly once before invoking profile\n  PyPerfResult init();\n\n  PyPerfResult profile(int64_t sampleRate, int64_t durationMs,\n                       PyPerfSampleProcessor* processor);\n\n  std::unordered_map<int32_t, std::string> getSymbolMapping();\n\n  uint32_t getTotalSamples() const { return totalSamples_; }\n\n  uint32_t getLostSamples() const { return lostSamples_; }\n\n private:\n  uint32_t totalSamples_ = 0, lostSamples_ = 0;\n\n  ebpf::BPF bpf_{0, nullptr, false, \"\", true};\n  std::vector<PyPerfSample> samples_;\n  bool initCompleted_{false};\n\n  void handleSample(const void* data, int dataSize);\n  void handleLostSamples(int lostCnt);\n  friend void handleLostSamplesCallback(void*, uint64_t);\n  friend void handleSampleCallback(void*, void*, int);\n\n  std::string getSymbolName(Symbol& sym) const;\n\n  bool tryTargetPid(int pid, PidData& data);\n};\n}  // namespace pyperf\n}  // namespace ebpf\n"
  },
  {
    "path": "examples/hello_world.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\n# run in project examples directory with:\n# sudo ./hello_world.py\"\n# see trace_fields.py for a longer example\n\nfrom bcc import BPF\n\n# This may not work for 4.17 on x64, you need replace kprobe__sys_clone with kprobe____x64_sys_clone\nBPF(text='int kprobe__sys_clone(void *ctx) { bpf_trace_printk(\"Hello, World!\\\\n\"); return 0; }').trace_print()\n"
  },
  {
    "path": "examples/local_storage/inode_storage.py",
    "content": "#!/usr/bin/python3\n\nfrom bcc import BPF\n\nsource = r\"\"\"\n#include <linux/fs.h>\n\nBPF_INODE_STORAGE(inode_storage_map, int);\n\nLSM_PROBE(inode_rename, struct inode *old_dir, struct dentry *old_dentry,\n\t  struct inode *new_dir, struct dentry *new_dentry, unsigned int flags)\n{\n\tint *value;\n\n\tvalue = inode_storage_map.inode_storage_get(old_dentry->d_inode, 0, BPF_LOCAL_STORAGE_GET_F_CREATE);\n\tif (!value)\n\t\treturn 0;\n\n\tbpf_trace_printk(\"%d\", *value);\n\treturn 0;\n}\n\"\"\"\n\nb = BPF(text=source)\ntry:\n    b.trace_print()\nexcept KeyboardInterrupt:\n    pass\n"
  },
  {
    "path": "examples/local_storage/task_storage.py",
    "content": "#!/usr/bin/python3\n\nfrom bcc import BPF\n\nsource = r\"\"\"\nBPF_TASK_STORAGE(task_storage_map, __u64);\n\nKFUNC_PROBE(inet_listen)\n{\n\t__u64 ts = bpf_ktime_get_ns();\n\n\t/* save timestamp to local storage on function entry */\n\ttask_storage_map.task_storage_get(bpf_get_current_task_btf(), &ts, BPF_LOCAL_STORAGE_GET_F_CREATE);\n\n\tbpf_trace_printk(\"inet_listen entry: store timestamp %lld\", ts);\n\treturn 0;\n}\n\nKRETFUNC_PROBE(inet_listen)\n{\n\t__u64 *ts;\n\n\t/* retrieve timestamp stored at local storage on function exit */\n\tts = task_storage_map.task_storage_get(bpf_get_current_task_btf(), 0, 0);\n\tif (!ts)\n\t\treturn 0;\n\n\t/* delete timestamp from local storage */\n\ttask_storage_map.task_storage_delete(bpf_get_current_task_btf());\n\n\t/* calculate latency */\n\tbpf_trace_printk(\"inet_listen exit: cost %lldus\", (bpf_ktime_get_ns() - *ts) / 1000);\n\treturn 0;\n}\n\"\"\"\n\nb = BPF(text=source)\ntry:\n    b.trace_print()\nexcept KeyboardInterrupt:\n    pass\n"
  },
  {
    "path": "examples/lua/CMakeLists.txt",
    "content": "file(GLOB C_FILES *.c)\nfile(GLOB LUA_FILES *.lua)\ninstall(FILES ${C_FILES} DESTINATION share/bcc/examples/lua)\ninstall(PROGRAMS ${LUA_FILES} DESTINATION share/bcc/examples/lua)"
  },
  {
    "path": "examples/lua/bashreadline.c",
    "content": "#include <uapi/linux/ptrace.h>\n\nstruct str_t {\n\tu64 pid;\n\tchar str[80];\n};\n\nBPF_PERF_OUTPUT(events);\n\nint printret(struct pt_regs *ctx)\n{\n\tstruct str_t data  = {};\n\tu32 pid;\n        if (!PT_REGS_RC(ctx))\n          return 0;\n        pid = bpf_get_current_pid_tgid();\n        data.pid = pid;\n        bpf_probe_read_user(&data.str, sizeof(data.str),\n                            (void *)PT_REGS_RC(ctx));\n        events.perf_submit(ctx, &data, sizeof(data));\n        return 0;\n};\n"
  },
  {
    "path": "examples/lua/bashreadline.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 GitHub, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\nlocal ffi = require(\"ffi\")\n\nreturn function(BPF)\n  local b = BPF:new{src_file=\"bashreadline.c\", debug=0}\n  b:attach_uprobe{name=\"/bin/bash\", sym=\"readline\", fn_name=\"printret\", retprobe=true}\n\n  local function print_readline(cpu, event)\n    print(\"%-9s %-6d %s\" % {os.date(\"%H:%M:%S\"), tonumber(event.pid), ffi.string(event.str)})\n  end\n\n  b:get_table(\"events\"):open_perf_buffer(print_readline, \"struct { uint64_t pid; char str[80]; }\", nil)\n\n  print(\"%-9s %-6s %s\" % {\"TIME\", \"PID\", \"COMMAND\"})\n  b:perf_buffer_poll_loop()\nend\n"
  },
  {
    "path": "examples/lua/kprobe-latency.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- This example program measures latency of block device operations and plots it\n-- in a histogram. It is similar to BPF example:\n-- https://github.com/torvalds/linux/blob/master/samples/bpf/tracex3_kern.c\nlocal ffi = require('ffi')\nlocal bpf = require('bpf')\nlocal S = require('syscall')\n\n-- Shared part of the program\nlocal bins = 100\nlocal map = bpf.map('hash', 512, ffi.typeof('uint64_t'), ffi.typeof('uint64_t'))\nlocal lat_map = bpf.map('array', bins)\n\n-- Kernel-space part of the program\nlocal trace_start = bpf.kprobe('myprobe:blk_start_request', function (ptregs)\n\tmap[ptregs.parm1] = time()\nend, false, -1, 0)\nlocal trace_end = bpf.kprobe('myprobe2:blk_account_io_done', function (ptregs)\n\t-- The lines below are computing index\n\t-- using log10(x)*10 = log2(x)*10/log2(10) = log2(x)*3\n\t-- index = 29 ~ 1 usec\n\t-- index = 59 ~ 1 msec\n\t-- index = 89 ~ 1 sec\n\t-- index = 99 ~ 10sec or more\n\tlocal delta = time() - map[ptregs.parm1]\n\tlocal index = 3 * math.log2(delta)\n\tif index >= bins then\n\t\tindex = bins-1\n\tend\n\txadd(lat_map[index], 1)\n\treturn true\nend, false, -1, 0)\n-- User-space part of the program\npcall(function()\n\tlocal counter = 0\n\tlocal sym = {' ',' ','.','.','*','*','o','o','O','O','#','#'}\n\twhile true do\n\t\t-- Print header once in a while\n\t\tif counter % 50 == 0 then\n\t\t\tprint('|1us      |10us     |100us    |1ms      |10ms     |100ms    |1s       |10s')\n\t\t\tcounter = 0\n\t\tend\n\t\tcounter = counter + 1\n\t\t-- Collect all events\n\t\tlocal hist, events = {}, 0\n\t\tfor i=29,bins-1 do\n\t\t\tlocal v = tonumber(lat_map[i] or 0)\n\t\t\tif v > 0 then\n\t\t\t\thist[i] = hist[i] or 0 + v\n\t\t\t\tevents = events + v\n\t\t\tend\n\t\tend\n\t\t-- Print histogram symbols based on relative frequency\n\t\tlocal s = ''\n\t\tfor i=29,bins-1 do\n\t\t\tif hist[i] then\n\t\t\t\tlocal c = math.ceil((hist[i] / (events + 1)) * #sym)\n\t\t\t\ts = s .. sym[c]\n\t\t\telse s = s .. ' ' end\n\t\tend\n\t\tprint(s .. string.format('  ; %d events', events))\n\t\tS.sleep(1)\n\tend\nend)"
  },
  {
    "path": "examples/lua/kprobe-write.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- Simple tracing example that executes a program on\n-- return from sys_write() and tracks the number of hits\nlocal ffi = require('ffi')\nlocal bpf = require('bpf')\nlocal S = require('syscall')\n\n-- Shared part of the program\nlocal map = bpf.map('array', 1)\n-- Kernel-space part of the program\nlocal probe = bpf.kprobe('myprobe:sys_write', function (ptregs)\n   xadd(map[0], 1)\nend, true)\n-- User-space part of the program\npcall(function()\n\tfor _ = 1, 10 do\n\t   print('hits: ', tonumber(map[0]))\n\t   S.sleep(1)\n\tend\nend)\n"
  },
  {
    "path": "examples/lua/memleak.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 GitHub, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n\nlocal bpf_source = [[\n#include <uapi/linux/ptrace.h>\n\nstruct alloc_info_t {\n        u64 size;\n        u64 timestamp_ns;\n        int stack_id;\n};\n\nBPF_HASH(sizes, u64);\nBPF_HASH(allocs, u64, struct alloc_info_t);\nBPF_STACK_TRACE(stack_traces, 10240);\n\nint alloc_enter(struct pt_regs *ctx, size_t size)\n{\n        SIZE_FILTER\n        if (SAMPLE_EVERY_N > 1) {\n                u64 ts = bpf_ktime_get_ns();\n                if (ts % SAMPLE_EVERY_N != 0)\n                        return 0;\n        }\n\n        u64 pid = bpf_get_current_pid_tgid();\n        u64 size64 = size;\n        sizes.update(&pid, &size64);\n\n        if (SHOULD_PRINT)\n                bpf_trace_printk(\"alloc entered, size = %u\\n\", size);\n        return 0;\n}\n\nint alloc_exit(struct pt_regs *ctx)\n{\n        u64 address = PT_REGS_RC(ctx);\n        u64 pid = bpf_get_current_pid_tgid();\n        u64* size64 = sizes.lookup(&pid);\n        struct alloc_info_t info = {0};\n\n        if (size64 == 0)\n                return 0; // missed alloc entry\n\n        info.size = *size64;\n        sizes.delete(&pid);\n\n        info.timestamp_ns = bpf_ktime_get_ns();\n        info.stack_id = stack_traces.get_stackid(ctx, STACK_FLAGS);\n\n        allocs.update(&address, &info);\n\n        if (SHOULD_PRINT) {\n                bpf_trace_printk(\"alloc exited, size = %lu, result = %lx\\n\",\n                                 info.size, address);\n        }\n        return 0;\n}\n\nint free_enter(struct pt_regs *ctx, void *address)\n{\n        u64 addr = (u64)address;\n        struct alloc_info_t *info = allocs.lookup(&addr);\n        if (info == 0)\n                return 0;\n\n        allocs.delete(&addr);\n\n        if (SHOULD_PRINT) {\n                bpf_trace_printk(\"free entered, address = %lx, size = %lu\\n\",\n                                 address, info->size);\n        }\n        return 0;\n}\n]]\n\nreturn function(BPF, utils)\n  local parser = utils.argparse(\"memleak\", \"Catch memory leaks\")\n  parser:flag(\"-t --trace\")\n  parser:flag(\"-a --show-allocs\")\n  parser:option(\"-p --pid\"):convert(tonumber)\n\n  parser:option(\"-i --interval\", \"\", 5):convert(tonumber)\n  parser:option(\"-o --older\", \"\", 500):convert(tonumber)\n  parser:option(\"-s --sample-rate\", \"\", 1):convert(tonumber)\n\n  parser:option(\"-z --min-size\", \"\"):convert(tonumber)\n  parser:option(\"-Z --max-size\", \"\"):convert(tonumber)\n  parser:option(\"-T --top\", \"\", 10):convert(tonumber)\n\n  local args = parser:parse()\n\n  local size_filter = \"\"\n  if args.min_size and args.max_size then\n    size_filter = \"if (size < %d || size > %d) return 0;\" %  {args.min_size, args.max_size}\n  elseif args.min_size then\n    size_filter = \"if (size < %d) return 0;\" % args.min_size\n  elseif args.max_size then\n    size_filter = \"if (size > %d) return 0;\" % args.max_size\n  end\n\n  local stack_flags = \"0\"\n  if args.pid then\n    stack_flags = stack_flags .. \"|BPF_F_USER_STACK\"\n  end\n\n  local text = bpf_source\n  text = text:gsub(\"SIZE_FILTER\", size_filter)\n  text = text:gsub(\"STACK_FLAGS\",  stack_flags)\n  text = text:gsub(\"SHOULD_PRINT\", args.trace and \"1\" or \"0\")\n  text = text:gsub(\"SAMPLE_EVERY_N\", tostring(args.sample_rate))\n\n  local bpf = BPF:new{text=text, debug=0}\n  local syms = nil\n  local min_age_ns = args.older * 1e6\n\n  if args.pid then\n    print(\"Attaching to malloc and free in pid %d, Ctrl+C to quit.\" % args.pid)\n    bpf:attach_uprobe{name=\"c\", sym=\"malloc\", fn_name=\"alloc_enter\", pid=args.pid}\n    bpf:attach_uprobe{name=\"c\", sym=\"malloc\", fn_name=\"alloc_exit\", pid=args.pid, retprobe=true}\n    bpf:attach_uprobe{name=\"c\", sym=\"free\", fn_name=\"free_enter\", pid=args.pid}\n  else\n    print(\"Attaching to kmalloc and kfree, Ctrl+C to quit.\")\n    bpf:attach_kprobe{event=\"__kmalloc\", fn_name=\"alloc_enter\"}\n    bpf:attach_kprobe{event=\"__kmalloc\", fn_name=\"alloc_exit\", retprobe=true} -- TODO\n    bpf:attach_kprobe{event=\"kfree\", fn_name=\"free_enter\"}\n  end\n\n  local syms = BPF.SymbolCache(args.pid)\n  local allocs = bpf:get_table(\"allocs\")\n  local stack_traces = bpf:get_table(\"stack_traces\")\n\n  local function resolve(addr)\n    local sym = syms:resolve(addr)\n    if args.pid == nil then\n      sym = sym .. \" [kernel]\"\n    end\n    return string.format(\"%s (%p)\", sym, addr)\n  end\n\n  local function print_outstanding()\n    local alloc_info = {}\n    local now = utils.posix.time_ns()\n\n    print(\"[%s] Top %d stacks with outstanding allocations:\" %\n      {os.date(\"%H:%M:%S\"), args.top})\n\n    for address, info in allocs:items() do\n      if now - min_age_ns >= tonumber(info.timestamp_ns) then\n        local stack_id = tonumber(info.stack_id)\n\n        if stack_id >= 0 then\n          if alloc_info[stack_id] then\n            local s = alloc_info[stack_id]\n            s.count = s.count + 1\n            s.size = s.size + tonumber(info.size)\n          else\n            local stack = stack_traces:get(stack_id, resolve)\n            alloc_info[stack_id] = { stack=stack, count=1, size=tonumber(info.size) }\n          end\n        end\n\n        if args.show_allocs then\n          print(\"\\taddr = %p size = %s\" % {address, tonumber(info.size)})\n        end\n      end\n    end\n\n    local top = table.values(alloc_info)\n    table.sort(top, function(a, b) return a.size > b.size end)\n\n    for n, alloc in ipairs(top) do\n      print(\"\\t%d bytes in %d allocations from stack\\n\\t\\t%s\" %\n        {alloc.size, alloc.count, table.concat(alloc.stack, \"\\n\\t\\t\")})\n      if n == args.top then break end\n    end\n  end\n\n  if args.trace then\n    local pipe = bpf:pipe()\n    while true do\n      print(pipe:trace_fields())\n    end\n  else\n    while true do\n      utils.posix.sleep(args.interval)\n      syms:refresh()\n      print_outstanding()\n    end\n  end\nend\n"
  },
  {
    "path": "examples/lua/offcputime.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 GitHub, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n\nlocal program = [[\n#include <uapi/linux/ptrace.h>\n#include <linux/sched.h>\n\n#define MINBLOCK_US\t1\n\nstruct key_t {\n    char name[TASK_COMM_LEN];\n    int stack_id;\n};\nBPF_HASH(counts, struct key_t);\nBPF_HASH(start, u32);\nBPF_STACK_TRACE(stack_traces, 10240);\n\nint oncpu(struct pt_regs *ctx, struct task_struct *prev) {\n    u32 pid;\n    u64 ts, *tsp;\n\n    // record previous thread sleep time\n    if (FILTER) {\n        pid = prev->pid;\n        ts = bpf_ktime_get_ns();\n        start.update(&pid, &ts);\n    }\n\n    // calculate current thread's delta time\n    pid = bpf_get_current_pid_tgid();\n    tsp = start.lookup(&pid);\n    if (tsp == 0)\n        return 0;        // missed start or filtered\n    u64 delta = bpf_ktime_get_ns() - *tsp;\n    start.delete(&pid);\n    delta = delta / 1000;\n    if (delta < MINBLOCK_US)\n        return 0;\n\n    // create map key\n    u64 zero = 0, *val;\n    struct key_t key = {};\n    int stack_flags = 0;\n\n    /*\n    if (!(prev->flags & PF_KTHREAD))\n      stack_flags |= BPF_F_USER_STACK;\n    */\n\n    bpf_get_current_comm(&key.name, sizeof(key.name));\n    key.stack_id = stack_traces.get_stackid(ctx, stack_flags);\n\n    val = counts.lookup_or_try_init(&key, &zero);\n    if (val) {\n        (*val) += delta;\n    }\n    return 0;\n}\n]]\n\nreturn function(BPF, utils)\n  local ffi = require(\"ffi\")\n\n  local parser = utils.argparse(\"offcputime\", \"Summarize off-cpu time\")\n  parser:flag(\"-u --user-only\")\n  parser:option(\"-p --pid\"):convert(tonumber)\n  parser:flag(\"-f --folded\")\n  parser:option(\"-d --duration\", \"duration to trace for\", 9999999):convert(tonumber)\n\n  local args = parser:parse()\n  local ksym = BPF.SymbolCache()\n  local filter = \"1\"\n  local MAXDEPTH = 20\n\n  if args.pid then\n    filter = \"pid == %d\" % args.pid\n  elseif args.user_only then\n    filter = \"!(prev->flags & PF_KTHREAD)\"\n  end\n\n  local text = program:gsub(\"FILTER\", filter)\n  local b = BPF:new{text=text}\n  b:attach_kprobe{event=\"finish_task_switch\", fn_name=\"oncpu\"}\n\n  if BPF.num_open_kprobes() == 0 then\n    print(\"no functions matched. quitting...\")\n    return\n  end\n\n  print(\"Sleeping for %d seconds...\" % args.duration)\n  pcall(utils.posix.sleep, args.duration)\n  print(\"Tracing...\")\n\n  local counts = b:get_table(\"counts\")\n  local stack_traces = b:get_table(\"stack_traces\")\n\n  for k, v in counts:items() do\n    for addr in stack_traces:walk(tonumber(k.stack_id)) do\n      print(\"    %-16p %s\" % {addr, ksym:resolve(addr)})\n    end\n    print(\"    %-16s %s\" % {\"-\", ffi.string(k.name)})\n    print(\"        %d\\n\" % tonumber(v))\n  end\nend\n"
  },
  {
    "path": "examples/lua/sock-parse-dns.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- Simple parsing example of UDP/DNS that counts frequency of QTYPEs.\n-- It shows how to parse packet variable-length packet structures.\nlocal ffi = require(\"ffi\")\nlocal bpf = require(\"bpf\")\nlocal S = require(\"syscall\")\n\n-- Shared part of the program\nlocal map = assert(bpf.map('array', 256))\n-- Kernel-space part of the program\nlocal prog = bpf.socket('lo', function (skb)\n\tlocal ip = pkt.ip   -- Accept only UDP messages\n\tif ip.proto ~= c.ip.proto_udp then return false end\n\tlocal udp = ip.udp  -- Only messages >12 octets (DNS header)\n\tif udp.length < 12 then return false end\n\t-- Unroll QNAME (up to 2 labels)\n\tudp = udp.data + 12\n\tlocal label = udp[0]\n\tif label > 0 then\n\t\tudp = udp + label + 1\n\t\tlabel = udp[0]\n\t\tif label > 0 then\n\t\t\tudp = udp + label + 1\n\t\tend\n\tend\n\t-- Track QTYPE (low types)\n\tif udp[0] == 0 then\n\t\tlocal qtype = udp[2] -- Low octet from QTYPE\n\t\txadd(map[qtype], 1)\n\tend\nend)\n-- User-space part of the program\nfor _ = 1, 10 do\n\tfor k,v in map.pairs,map,0 do\n\t\tv = tonumber(v)\n\t\tif v > 0 then\n\t\t\tprint(string.format('TYPE%d: %d', k, v))\n\t\tend\n\tend\n\tS.sleep(1)\nend"
  },
  {
    "path": "examples/lua/sock-parse-http.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- Simple parsing example of TCP/HTTP that counts frequency of types of requests\n-- and shows more complicated pattern matching constructions and slices.\n-- Rewrite of a BCC example:\n-- https://github.com/iovisor/bcc/blob/master/examples/networking/http_filter/http-parse-simple.c\nlocal ffi = require(\"ffi\")\nlocal bpf = require(\"bpf\")\nlocal S = require(\"syscall\")\n\n-- Shared part of the program\nlocal map = bpf.map('hash', 64)\n-- Kernel-space part of the program\nlocal prog = bpf.socket('lo', function (skb)\n\t-- Only ingress so we don't count twice on loopback\n\tif skb.ingress_ifindex == 0 then return end\n\tlocal data = pkt.ip.tcp.data  -- Get TCP protocol dissector\n\t-- Continue only if we have 7 bytes of TCP data\n\tif data + 7 > skb.len then return end\n\t-- Fetch 4 bytes of TCP data and compare\n\tlocal h = data(0, 4)\n\tif h == 'HTTP' or h == 'GET ' or\n\t   h == 'POST' or h == 'PUT ' or\n\t   h == 'HEAD' or h == 'DELE' then\n\t   \t-- If hash key doesn't exist, create it\n\t   \t-- otherwise increment counter\n\t   local v = map[h]\n\t   if not v then map[h] = 1\n\t   else          xadd(map[h], 1)\n\t   end\n\tend\nend)\n-- User-space part of the program\nfor _ = 1, 10 do\n\tlocal strkey = ffi.new('uint32_t [1]')\n\tlocal s = ''\n\tfor k,v in map.pairs,map,0 do\n\t\tstrkey[0] = bpf.ntoh(k)\n\t\ts = s..string.format('%s %d ', ffi.string(strkey, 4):match '^%s*(.-)%s*$', tonumber(v))\n\tend\n\tif #s > 0 then print(s..'messages') end\n\tS.sleep(1)\nend"
  },
  {
    "path": "examples/lua/sock-proto.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- This program looks at IP, UDP and ICMP packets and\n-- increments counter for each packet of given type seen\n-- Rewrite of https://github.com/torvalds/linux/blob/master/samples/bpf/sock_example.c\nlocal ffi = require(\"ffi\")\nlocal bpf = require(\"bpf\")\nlocal S = require(\"syscall\")\n\n-- Shared part of the program\nlocal map = bpf.map('hash', 256)\nmap[1], map[6], map[17] = 0, 0, 0\n-- Kernel-space part of the program\nbpf.socket('lo', function (skb)\n   local proto = pkt.ip.proto  -- Get byte (ip.proto) from frame at [23]\n   xadd(map[proto], 1)         -- Atomic `map[proto] += 1`\nend)\n-- User-space part of the program\nfor _ = 1, 10 do\n   local icmp, udp, tcp = map[1], map[17], map[6]\n   print(string.format('TCP %d UDP %d ICMP %d packets',\n   \t     tonumber(tcp or 0), tonumber(udp or 0), tonumber(icmp or 0)))\n   S.sleep(1)\nend"
  },
  {
    "path": "examples/lua/sock-protolen.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- This program counts total bytes received per-protocol in 64-bit counters.\n-- The map backend is array in this case to avoid key allocations.\n-- increments counter for each packet of given type seen\n-- Rewrite of https://github.com/torvalds/linux/blob/master/samples/bpf/sock_example.c\nlocal ffi = require(\"ffi\")\nlocal bpf = require(\"bpf\")\nlocal S = require(\"syscall\")\n\n-- Shared part of the program\nlocal map = bpf.map('array', 256, ffi.typeof('uint32_t'), ffi.typeof('uint64_t'))\n-- Kernel-space part of the program\nbpf.socket('lo', function (skb)\n\tlocal proto = pkt.ip.proto  -- Get byte (ip.proto) from frame at [23]\n\txadd(map[proto], skb.len)   -- Atomic `map[proto] += <payload length>`\nend)\n-- User-space part of the program\nfor _ = 1, 10 do\n\tlocal icmp, udp, tcp = map[1], map[17], map[6]\n\tprint(string.format('TCP %d UDP %d ICMP %d bytes',\n\t\ttonumber(tcp or 0), tonumber(udp or 0), tonumber(icmp or 0)))\n\tS.sleep(1)\nend"
  },
  {
    "path": "examples/lua/strlen_count.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 GitHub, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n\nassert(arg[1], \"usage: strlen_count PID\")\n\nlocal program = string.gsub([[\n#include <uapi/linux/ptrace.h>\nint printarg(struct pt_regs *ctx) {\n  if (!PT_REGS_PARM1(ctx))\n    return 0;\n  u32 pid = bpf_get_current_pid_tgid();\n  if (pid != PID)\n    return 0;\n  char str[128] = {};\n  bpf_probe_read_user(&str, sizeof(str), (void *)PT_REGS_PARM1(ctx));\n  bpf_trace_printk(\"strlen(\\\"%s\\\")\\n\", &str);\n  return 0;\n};\n]], \"PID\", arg[1])\n\nreturn function(BPF)\n  local b = BPF:new{text=program, debug=0}\n  b:attach_uprobe{name=\"c\", sym=\"strlen\", fn_name=\"printarg\"}\n\n  local pipe = b:pipe()\n  while true do\n    local task, pid, cpu, flags, ts, msg = pipe:trace_fields()\n    print(\"%-18.9f %-16s %-6d %s\" % {ts, task, pid, msg})\n  end\nend\n"
  },
  {
    "path": "examples/lua/task_switch.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 GitHub, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n\nlocal program = [[\n#include <uapi/linux/ptrace.h>\n#include <linux/sched.h>\n\nstruct key_t {\n  u32 prev_pid;\n  u32 curr_pid;\n};\n// map_type, key_type, leaf_type, table_name, num_entry\nBPF_HASH(stats, struct key_t, u64, 1024);\nint count_sched(struct pt_regs *ctx, struct task_struct *prev) {\n  struct key_t key = {};\n  u64 zero = 0, *val;\n\n  key.curr_pid = bpf_get_current_pid_tgid();\n  key.prev_pid = prev->pid;\n\n  val = stats.lookup_or_try_init(&key, &zero);\n  if (val) {\n    (*val)++;\n  }\n  return 0;\n}\n]]\n\nreturn function(BPF)\n  local b = BPF:new{text=program, debug=0}\n  b:attach_kprobe{event=\"finish_task_switch\", fn_name=\"count_sched\"}\n\n  print(\"Press any key...\")\n  io.read()\n\n  local t = b:get_table(\"stats\")\n  for k, v in t:items() do\n    print(\"task_switch[%d -> %d] = %d\" % {k.prev_pid, k.curr_pid, tonumber(v)})\n  end\nend\n"
  },
  {
    "path": "examples/lua/tracepoint-offcputime.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- Summarize off-CPU time by stack trace\n-- Related tool: https://github.com/iovisor/bcc/blob/master/tools/offcputime.py\nlocal ffi = require('ffi')\nlocal bpf = require('bpf')\nlocal S = require('syscall')\n-- Create BPF maps\n-- TODO: made smaller to fit default memory limits\nlocal key_t = 'struct { char name[16]; int32_t stack_id; }'\nlocal starts = assert(bpf.map('hash', 128, ffi.typeof('uint32_t'), ffi.typeof('uint64_t')))\nlocal counts = assert(bpf.map('hash', 128, ffi.typeof(key_t), ffi.typeof('uint64_t')))\nlocal stack_traces = assert(bpf.map('stack_trace', 16))\n-- Open tracepoint and attach BPF program\n-- The 'arg' parses tracepoint format automatically\nlocal tp = bpf.tracepoint('sched/sched_switch', function (arg)\n\t-- Update previous thread sleep time\n\tlocal pid = arg.prev_pid\n\tlocal now = time()\n\tstarts[pid] = now\n\t-- Calculate current thread's delta time\n\tpid = arg.next_pid\n\tlocal from = starts[pid]\n\tif not from then\n\t\treturn 0\n\tend\n\tlocal delta = (now - from) / 1000\n\tstarts[pid] = nil\n\t-- Check if the delta is below 1us\n\tif delta < 1 then\n\t\treturn\n\tend\n\t-- Create key for this thread\n\tlocal key = ffi.new(key_t)\n\tcomm(key.name)\n\tkey.stack_id = stack_id(stack_traces, BPF.F_FAST_STACK_CMP)\n\t-- Update current thread off cpu time with delta\n\tlocal val = counts[key]\n\tif not val then\n\t\tcounts[key] = 0\n\tend\n\txadd(counts[key], delta)\nend, 0, -1)\n-- Helper: load kernel symbols\nffi.cdef 'unsigned long long strtoull(const char *, char **, int);'\nlocal ksyms = {}\nfor l in io.lines('/proc/kallsyms') do\n\tlocal addr, sym = l:match '(%w+) %w (%S+)'\n\tif addr then ksyms[ffi.C.strtoull(addr, nil, 16)] = sym end\nend\n-- User-space part of the program\nwhile true do\n\tfor k,v in counts.pairs,counts,nil do\n\t\tlocal s = ''\n\t\tlocal traces = stack_traces[k.stack_id]\n\t\tif traces then\n\t\t\tfor i, ip in ipairs(traces) do\n\t\t\t\ts = s .. string.format(\"    %-16p %s\", ip, ksyms[ip])\n\t\t\tend\n\t\tend\n\t\ts = s .. string.format(\"    %-16s %s\", \"-\", ffi.string(k.name))\n\t\ts = s .. string.format(\"        %d\", tonumber(v))\n\t\tprint(s)\n\tend\n\tS.sleep(1)\nend\n"
  },
  {
    "path": "examples/lua/uprobe-readline-perf.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- Trace readline() call from all bash instances (print bash commands from all running shells).\n-- This is rough equivallent to `bashreadline` with output through perf event API.\n-- Source: http://www.brendangregg.com/blog/2016-02-08/linux-ebpf-bcc-uprobes.html\nlocal ffi = require('ffi')\nlocal bpf = require('bpf')\nlocal S = require('syscall')\n-- Perf event map\nlocal sample_t = 'struct { uint64_t pid; char str[80]; }'\nlocal events = bpf.map('perf_event_array')\n-- Kernel-space part of the program\nlocal probe = bpf.uprobe('/bin/bash:readline', function (ptregs)\n\tlocal sample = ffi.new(sample_t)\n\tsample.pid = pid_tgid()\n\tffi.copy(sample.str, ffi.cast('char *', ptregs.ax)) -- Cast `ax` to string pointer and copy to buffer\n\tperf_submit(events, sample)                         -- Write buffer to perf event map\nend, true, -1, 0)\n-- User-space part of the program\nlocal log = events:reader(nil, 0, sample_t) -- Must specify PID or CPU_ID to observe\nprint('            TASK-PID         TIMESTAMP  FUNCTION')\nprint('               | |               |         |')\nwhile true do\n\tlog:block()               -- Wait until event reader is readable\n\tfor _,e in log:read() do  -- Collect available reader events\n\t\tprint(string.format('%12s%-16s %-10s %s', '', tonumber(e.pid), os.date(\"%H:%M:%S\"), ffi.string(e.str)))\n\tend\nend\n"
  },
  {
    "path": "examples/lua/uprobe-readline.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- Trace readline() call from all bash instances (print bash commands from all running shells).\n-- This is rough equivallent to `bashreadline`\n-- Source: http://www.brendangregg.com/blog/2016-02-08/linux-ebpf-bcc-uprobes.html\nlocal ffi = require('ffi')\nlocal bpf = require('bpf')\nlocal S = require('syscall')\n-- Kernel-space part of the program\nlocal probe = bpf.uprobe('/bin/bash:readline', function (ptregs)\n\tlocal line = ffi.new('char [40]')              -- Create a 40 byte buffer on stack\n\tffi.copy(line, ffi.cast('char *', ptregs.ax))  -- Cast `ax` to string pointer and copy to buffer\n\tprint('%s\\n', line)                            -- Print to trace_pipe\nend, true, -1, 0)\n-- User-space part of the program\nlocal ok, err = pcall(function()\n\tlocal log = bpf.tracelog()\n\tprint('            TASK-PID   CPU#         TIMESTAMP  FUNCTION')\n\tprint('               | |      |               |         |')\n\twhile true do\n\t\tprint(log:read())\n\tend\nend)\n"
  },
  {
    "path": "examples/lua/uprobe-tailkt.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 Marek Vavrusa <mvavrusa@cloudflare.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n-- Trace operations on keys matching given pattern in KyotoTycoon daemon.\n-- This can show you if certain keys were modified or read during the lifetime\n-- even if KT doesn't support this. It also shows how to attach to C++ mangled symbols.\nlocal ffi = require('ffi')\nlocal bpf = require('bpf')\nlocal S = require('syscall')\nlocal function help(err)\n\tprint(string.format('%s [get|set] [key]', arg[0]))\n\tif err then print('error: '..err) end\n\tos.exit(1)\nend\n-- Accept the same format as ktremotemgr for clarity: <get|set> <key>\nlocal writeable, watch_key, klen = 'any', arg[2] or '*', 80\nif     arg[1] == 'get' then writeable = 0\nelseif arg[1] == 'set' then writeable = 1\nelseif arg[1] == '-h' or arg[1] == '--help' then help()\nelseif arg[1] and arg[1] ~= 'any' then\n\thelp(string.format('bad cmd: \"%s\"', arg[1]))\nend\nif watch_key ~= '*' then klen = #watch_key end\n\n-- Find a good entrypoint that has both key and differentiates read/write in KT\n-- That is going to serve as an attachment point for BPF program\n-- ABI: bool accept(void *this, const char* kbuf, size_t ksiz, Visitor* visitor, bool writable)\nlocal key_type = string.format('char [%d]', klen)\nlocal probe = bpf.uprobe('/usr/local/bin/ktserver:kyotocabinet::StashDB::accept',\nfunction (ptregs)\n\t-- Watch either get/set or both\n\tif writeable ~= 'any' then\n\t\tif ptregs.parm5 ~= writeable then return end\n\tend\n\tlocal line = ffi.new(key_type)\n\tffi.copy(line, ffi.cast('char *', ptregs.parm2))\n\t-- Check if we're looking for specific key\n\tif watch_key ~= '*' then\n\t\tif ptregs.parm3 ~= klen then return false end\n\t\tif line ~= watch_key then return false end\n\tend\n\tprint('%s write:%d\\n', line, ptregs.parm5)\nend, false, -1, 0)\n-- User-space part of the program\nlocal ok, err = pcall(function()\n\tlocal log = bpf.tracelog()\n\tprint('            TASK-PID   CPU#         TIMESTAMP  FUNCTION')\n\tprint('               | |      |               |         |')\n\twhile true do\n\t\tprint(log:read())\n\tend\nend)\n"
  },
  {
    "path": "examples/lua/usdt_ruby.lua",
    "content": "#!/usr/bin/env bcc-lua\n--[[\nCopyright 2016 GitHub, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n]]\n\nlocal program = [[\n#include <uapi/linux/ptrace.h>\nint trace_method(struct pt_regs *ctx) {\n  uint64_t addr;\n  bpf_usdt_readarg(2, ctx, &addr);\n\n  char fn_name[128] = {};\n  bpf_probe_read_user(&fn_name, sizeof(fn_name), (void *)addr);\n\n  bpf_trace_printk(\"%s(...)\\n\", fn_name);\n  return 0;\n};\n]]\n\nreturn function(BPF, util)\n  if not arg[1] then\n    print(\"usage: rubysyms.lua PID\")\n    return\n  end\n\n  local u = util.USDT:new{pid=tonumber(arg[1])}\n  u:enable_probe{probe=\"method__entry\", fn_name=\"trace_method\"}\n\n  local b = BPF:new{text=program, usdt=u}\n  local pipe = b:pipe()\n  while true do\n    print(pipe:trace_fields())\n  end\nend\n"
  },
  {
    "path": "examples/networking/CMakeLists.txt",
    "content": "set(EXAMPLE_FILES simulation.py)\nset(EXAMPLE_PROGRAMS simple_tc.py tc_perf_event.py net_monitor.py sockmap.py)\ninstall(FILES ${EXAMPLE_FILES} DESTINATION share/bcc/examples/networking)\ninstall(PROGRAMS ${EXAMPLE_PROGRAMS} DESTINATION share/bcc/examples/networking)\n\nadd_subdirectory(distributed_bridge)\nadd_subdirectory(neighbor_sharing)\nadd_subdirectory(vlan_learning)\nadd_subdirectory(tunnel_monitor)\nadd_subdirectory(http_filter)\nadd_subdirectory(xdp)\n"
  },
  {
    "path": "examples/networking/distributed_bridge/CMakeLists.txt",
    "content": "set(EXAMPLE_FILES simulation.py tunnel.c tunnel_mesh.c)\nset(EXAMPLE_PROGRAMS main.py tunnel_mesh.py tunnel.py)\ninstall(FILES ${EXAMPLE_FILES} DESTINATION share/bcc/examples/networking/distributed_bridge)\ninstall(PROGRAMS ${EXAMPLE_PROGRAMS} DESTINATION share/bcc/examples/networking/distributed_bridge)\n"
  },
  {
    "path": "examples/networking/distributed_bridge/main.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom sys import argv\nfrom builtins import input\nfrom pyroute2 import IPRoute, NetNS, IPDB, NSPopen\nfrom simulation import Simulation\nfrom subprocess import PIPE, call, Popen\nimport re\n\nmulticast = 1\ndhcp = 0\ngretap = 0\n\nif \"mesh\" in argv:\n    multicast = 0\n\nif \"dhcp\" in argv:\n    dhcp = 1\n    multicast = 0\n\nif \"gretap\" in argv:\n    gretap = 1\n    multicast = 0\n\nprint(\"multicast %d dhcp %d gretap %d\" % (multicast, dhcp, gretap))\n\nipr = IPRoute()\nipdb = IPDB(nl=ipr)\n\nnum_hosts = 3\nnull = open(\"/dev/null\", \"w\")\n\nclass TunnelSimulation(Simulation):\n    def __init__(self, ipdb):\n        super(TunnelSimulation, self).__init__(ipdb)\n\n    def start(self):\n        # each entry is tuple of ns_ipdb, out_ifc, in_ifc\n        host_info = []\n        for i in range(0, num_hosts):\n            print(\"Launching host %i of %i\" % (i + 1, num_hosts))\n            ipaddr = \"172.16.1.%d/24\" % (100 + i)\n            host_info.append(self._create_ns(\"host%d\" % i, ipaddr=ipaddr,\n                disable_ipv6=True))\n            if multicast:\n              cmd = [\"python\", \"tunnel.py\", str(i)]\n            else:\n              cmd = [\"python\", \"tunnel_mesh.py\", str(num_hosts), str(i), str(dhcp), str(gretap)]\n            p = NSPopen(host_info[i][0].nl.netns, cmd, stdin=PIPE)\n            self.processes.append(p)\n        with self.ipdb.create(ifname=\"br-fabric\", kind=\"bridge\") as br:\n            for host in host_info: br.add_port(host[1])\n            br.up()\n\n        # get host0 bridge ip's\n        host0_br_ips = []\n        if dhcp == 1:\n            print(\"Waiting for host0 br1/br2 ip addresses available\")\n            for j in range(0, 2):\n                interface = host_info[0][0].interfaces[\"br%d\" % j]\n                interface.wait_ip(\"99.1.0.0\", 16, timeout=60)\n                host0_br_ips = [x[0] for x in interface.ipaddr\n                                if x[0].startswith(\"99.1\")]\n        else:\n            host0_br_ips.append(\"99.1.0.1\")\n            host0_br_ips.append(\"99.1.1.1\")\n\n        # traffic test\n        print(\"Validating connectivity\")\n        for i in range(1, num_hosts):\n            for j in range(0, 2):\n                interface = host_info[i][0].interfaces[\"br%d\" % j]\n                interface.wait_ip(\"99.1.0.0\", 16, timeout=60)\n                print(\"VNI%d between host0 and host%d\" % (10000 + j, i))\n                call([\"ip\", \"netns\", \"exec\", \"host%d\" % i,\n                      \"ping\", host0_br_ips[j], \"-c\", \"3\", \"-i\", \"0.2\", \"-q\"])\n\ntry:\n    sim = TunnelSimulation(ipdb)\n    sim.start()\n    input(\"Press enter to quit:\")\n    for p in sim.processes: p.communicate(b\"\\n\")\nexcept:\n    if \"sim\" in locals():\n        for p in sim.processes: p.kill(); p.wait(); p.release()\nfinally:\n    if \"br-fabric\" in ipdb.interfaces: ipdb.interfaces[\"br-fabric\"].remove().commit()\n    if \"sim\" in locals(): sim.release()\n    ipdb.release()\n    null.close()\n"
  },
  {
    "path": "examples/networking/distributed_bridge/tunnel.c",
    "content": "// Copyright (c) PLUMgrid, Inc.\n// Licensed under the Apache License, Version 2.0 (the \"License\")\n#include <bcc/proto.h>\n\nBPF_HASH(vni2if, u32, int, 1024);\n\nstruct vni_key {\n  u64 mac;\n  int ifindex;\n  int pad;\n};\nstruct host {\n  u32 tunnel_id;\n  u32 remote_ipv4;\n  u64 rx_pkts;\n  u64 tx_pkts;\n};\nBPF_HASH(mac2host, struct vni_key, struct host);\n\nstruct config {\n  int tunnel_ifindex;\n};\nBPF_HASH(conf, int, struct config, 1);\n\n// Handle packets from the encap device, demux into the dest tenant\nint handle_ingress(struct __sk_buff *skb) {\n  u8 *cursor = 0;\n\n  struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n\n  struct bpf_tunnel_key tkey = {};\n  bpf_skb_get_tunnel_key(skb, &tkey,\n      offsetof(struct bpf_tunnel_key, remote_ipv6[1]), 0);\n\n  int *ifindex = vni2if.lookup(&tkey.tunnel_id);\n  if (ifindex) {\n    //bpf_trace_printk(\"ingress tunnel_id=%d ifindex=%d\\n\", tkey.tunnel_id, *ifindex);\n    struct vni_key vk = {ethernet->src, *ifindex, 0};\n    struct host *src_host = mac2host.lookup_or_try_init(&vk,\n        &(struct host){tkey.tunnel_id, tkey.remote_ipv4, 0, 0});\n    if (src_host) {\n      lock_xadd(&src_host->rx_pkts, 1);\n    }\n    bpf_clone_redirect(skb, *ifindex, 1/*ingress*/);\n  } else {\n    bpf_trace_printk(\"ingress invalid tunnel_id=%d\\n\", tkey.tunnel_id);\n  }\n\n  return 1;\n}\n\n// Handle packets from the tenant, mux into the encap device\nint handle_egress(struct __sk_buff *skb) {\n  u8 *cursor = 0;\n\n  int one = 1;\n  struct config *cfg = conf.lookup(&one);\n  if (!cfg) return 1;\n\n  struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n\n  struct vni_key vk = {ethernet->dst, skb->ifindex, 0};\n  struct host *dst_host = mac2host.lookup(&vk);\n  struct bpf_tunnel_key tkey = {};\n  if (dst_host) {\n    u32 zero = 0;\n    tkey.tunnel_id = dst_host->tunnel_id;\n    tkey.remote_ipv4 = dst_host->remote_ipv4;\n    bpf_skb_set_tunnel_key(skb, &tkey,\n        offsetof(struct bpf_tunnel_key, remote_ipv6[1]), 0);\n    lock_xadd(&dst_host->tx_pkts, 1);\n  } else {\n    struct bpf_tunnel_key tkey = {};\n    vk.mac = 0xFFFFFFFFFFFFull;\n    dst_host = mac2host.lookup(&vk);\n    if (!dst_host)\n      return 1;\n    tkey.tunnel_id = dst_host->tunnel_id;\n    tkey.remote_ipv4 = dst_host->remote_ipv4;\n    bpf_skb_set_tunnel_key(skb, &tkey,\n        offsetof(struct bpf_tunnel_key, remote_ipv6[1]), 0);\n  }\n  bpf_clone_redirect(skb, cfg->tunnel_ifindex, 0/*egress*/);\n  return 1;\n}\n"
  },
  {
    "path": "examples/networking/distributed_bridge/tunnel.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom sys import argv\nfrom bcc import BPF\nfrom builtins import input\nfrom ctypes import c_int, c_uint\nfrom http.server import HTTPServer, SimpleHTTPRequestHandler\nimport json\nfrom netaddr import EUI, IPAddress\nfrom pyroute2 import IPRoute, NetNS, IPDB, NSPopen\nfrom socket import htons, AF_INET\nfrom threading import Thread\nfrom subprocess import call\n\nhost_id = int(argv[1])\n\nb = BPF(src_file=\"tunnel.c\")\ningress_fn = b.load_func(\"handle_ingress\", BPF.SCHED_CLS)\negress_fn = b.load_func(\"handle_egress\", BPF.SCHED_CLS)\nmac2host = b.get_table(\"mac2host\")\nvni2if = b.get_table(\"vni2if\")\nconf = b.get_table(\"conf\")\n\nipr = IPRoute()\nipdb = IPDB(nl=ipr)\n\nifc = ipdb.interfaces.eth0\nmcast = IPAddress(\"239.1.1.1\")\n\n# ifcs to cleanup at the end\nifc_gc = []\n\ndef run():\n    ipdb.routes.add({\"dst\": \"224.0.0.0/4\", \"oif\": ifc.index}).commit()\n    with ipdb.create(ifname=\"vxlan0\", kind=\"vxlan\", vxlan_id=0,\n                     vxlan_link=ifc, vxlan_port=4789,\n                     vxlan_group=str(mcast), vxlan_flowbased=True,\n                     vxlan_collect_metadata=True,\n                     vxlan_learning=False) as vx:\n        vx.up()\n        ifc_gc.append(vx.ifname)\n\n    conf[c_int(1)] = c_int(vx.index)\n\n    ipr.tc(\"add\", \"ingress\", vx.index, \"ffff:\")\n    ipr.tc(\"add-filter\", \"bpf\", vx.index, \":1\", fd=ingress_fn.fd,\n           name=ingress_fn.name, parent=\"ffff:\", action=\"drop\", classid=1)\n\n    for i in range(0, 2):\n        vni = 10000 + i\n        with ipdb.create(ifname=\"br%d\" % i, kind=\"bridge\") as br:\n            v = ipdb.create(ifname=\"dummy%d\" % i, kind=\"dummy\").up().commit()\n            mcast_key = mac2host.Key(0xFFFFFFFFFFFF, v.index, 0)\n            mcast_leaf = mac2host.Leaf(vni, mcast.value, 0, 0)\n            mac2host[mcast_key] = mcast_leaf\n\n            ipr.tc(\"add\", \"sfq\", v.index, \"1:\")\n            ipr.tc(\"add-filter\", \"bpf\", v.index, \":1\", fd=egress_fn.fd,\n                   name=egress_fn.name, parent=\"1:\", action=\"drop\", classid=1)\n            br.add_port(v)\n            br.up()\n            ifc_gc.append(v.ifname)\n            ifc_gc.append(br.ifname)\n            vni2if[c_uint(vni)] = c_int(v.index)\n            ipaddr = \"99.1.%d.%d/24\" % (i, host_id + 1)\n            br.add_ip(ipaddr)\n\ntry:\n    run()\n    ipdb.release()\n    input(\"\")\n    print(\"---\")\n    for k, v in mac2host.items():\n        print(EUI(k.mac), k.ifindex, IPAddress(v.remote_ipv4),\n              v.tunnel_id, v.rx_pkts, v.tx_pkts)\nfinally:\n    for v in ifc_gc: call([\"ip\", \"link\", \"del\", v])\n"
  },
  {
    "path": "examples/networking/distributed_bridge/tunnel_mesh.c",
    "content": "// Copyright (c) PLUMgrid, Inc.\n// Licensed under the Apache License, Version 2.0 (the \"License\")\n#include <bcc/proto.h>\n\nstruct config {\n  int tunnel_ifindex;\n};\nBPF_HASH(conf, int, struct config, 1);\n\nstruct tunnel_key {\n  u32 tunnel_id;\n  u32 remote_ipv4;\n};\nBPF_HASH(tunkey2if, struct tunnel_key, int, 1024);\n\nBPF_HASH(if2tunkey, int, struct tunnel_key, 1024);\n\n// Handle packets from the encap device, demux into the dest tenant\nint handle_ingress(struct __sk_buff *skb) {\n  struct bpf_tunnel_key tkey = {};\n  struct tunnel_key key;\n  bpf_skb_get_tunnel_key(skb, &tkey,\n      offsetof(struct bpf_tunnel_key, remote_ipv6[1]), 0);\n\n  key.tunnel_id = tkey.tunnel_id;\n  key.remote_ipv4 = tkey.remote_ipv4;\n  int *ifindex = tunkey2if.lookup(&key);\n  if (ifindex) {\n    //bpf_trace_printk(\"ingress tunnel_id=%d remote_ip=%08x ifindex=%d\\n\",\n    //                 key.tunnel_id, key.remote_ipv4, *ifindex);\n    // mark from external\n    skb->tc_index = 1;\n    bpf_clone_redirect(skb, *ifindex, 1/*ingress*/);\n  } else {\n    bpf_trace_printk(\"ingress invalid tunnel_id=%d\\n\", key.tunnel_id);\n  }\n\n  return 1;\n}\n\n// Handle packets from the tenant, mux into the encap device\nint handle_egress(struct __sk_buff *skb) {\n  int ifindex = skb->ifindex;\n  struct bpf_tunnel_key tkey = {};\n  struct tunnel_key *key_p;\n  int one = 1;\n  struct config *cfg = conf.lookup(&one);\n\n  if (!cfg) return 1;\n\n  if (skb->tc_index) {\n    //bpf_trace_printk(\"from external\\n\");\n    // don't send it back out to encap device\n    return 1;\n  }\n\n  key_p = if2tunkey.lookup(&ifindex);\n  if (key_p) {\n    tkey.tunnel_id = key_p->tunnel_id;\n    tkey.remote_ipv4 = key_p->remote_ipv4;\n    bpf_skb_set_tunnel_key(skb, &tkey,\n        offsetof(struct bpf_tunnel_key, remote_ipv6[1]), 0);\n    bpf_clone_redirect(skb, cfg->tunnel_ifindex, 0/*egress*/);\n  }\n  return 1;\n}\n"
  },
  {
    "path": "examples/networking/distributed_bridge/tunnel_mesh.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom sys import argv\nfrom bcc import BPF\nfrom builtins import input\nfrom ctypes import c_int, c_uint\nfrom http.server import HTTPServer, SimpleHTTPRequestHandler\nimport json\nfrom netaddr import EUI, IPAddress\nfrom pyroute2 import IPRoute, NetNS, IPDB, NSPopen\nfrom socket import htons, AF_INET\nfrom threading import Thread\nfrom subprocess import call, Popen, PIPE\n\nnum_hosts = int(argv[1])\nhost_id = int(argv[2])\ndhcp = int(argv[3])\ngretap = int(argv[4])\n\nb = BPF(src_file=\"tunnel_mesh.c\")\ningress_fn = b.load_func(\"handle_ingress\", BPF.SCHED_CLS)\negress_fn = b.load_func(\"handle_egress\", BPF.SCHED_CLS)\ntunkey2if = b.get_table(\"tunkey2if\")\nif2tunkey = b.get_table(\"if2tunkey\")\nconf = b.get_table(\"conf\")\n\nipr = IPRoute()\nipdb = IPDB(nl=ipr)\n\nifc = ipdb.interfaces.eth0\n\n# ifcs to cleanup at the end\nifc_gc = []\n\n# dhcp server and client processes\nd_serv = []\nd_client = []\n\ndef run():\n    if gretap:\n        with ipdb.create(ifname=\"gretap1\", kind=\"gretap\", gre_ikey=0, gre_okey=0,\n                         gre_local='172.16.1.%d' % (100 + host_id),\n                         gre_ttl=16, gre_collect_metadata=1) as vx:\n            vx.up()\n            ifc_gc.append(vx.ifname)\n    else:\n        with ipdb.create(ifname=\"vxlan0\", kind=\"vxlan\", vxlan_id=0,\n                         vxlan_link=ifc, vxlan_port=4789,\n                         vxlan_collect_metadata=True,\n                         vxlan_learning=False) as vx:\n            vx.up()\n            ifc_gc.append(vx.ifname)\n\n    conf[c_int(1)] = c_int(vx.index)\n\n    ipr.tc(\"add\", \"ingress\", vx.index, \"ffff:\")\n    ipr.tc(\"add-filter\", \"bpf\", vx.index, \":1\", fd=ingress_fn.fd,\n           name=ingress_fn.name, parent=\"ffff:\", action=\"drop\", classid=1)\n\n    for j in range(0, 2):\n        vni = 10000 + j\n        with ipdb.create(ifname=\"br%d\" % j, kind=\"bridge\") as br:\n            for i in range(0, num_hosts):\n                if i != host_id:\n                    v = ipdb.create(ifname=\"dummy%d%d\" % (j , i), kind=\"dummy\").up().commit()\n                    ipaddr = \"172.16.1.%d\" % (100 + i)\n                    tunkey2if_key = tunkey2if.Key(vni)\n                    tunkey2if_key.remote_ipv4 = IPAddress(ipaddr)\n                    tunkey2if_leaf = tunkey2if.Leaf(v.index)\n                    tunkey2if[tunkey2if_key] = tunkey2if_leaf\n\n                    if2tunkey_key = if2tunkey.Key(v.index)\n                    if2tunkey_leaf = if2tunkey.Leaf(vni)\n                    if2tunkey_leaf.remote_ipv4 = IPAddress(ipaddr)\n                    if2tunkey[if2tunkey_key] = if2tunkey_leaf\n\n                    ipr.tc(\"add\", \"sfq\", v.index, \"1:\")\n                    ipr.tc(\"add-filter\", \"bpf\", v.index, \":1\", fd=egress_fn.fd,\n                       name=egress_fn.name, parent=\"1:\", action=\"drop\", classid=1)\n                    br.add_port(v)\n                    br.up()\n                    ifc_gc.append(v.ifname)\n            if dhcp == 0:\n                ipaddr = \"99.1.%d.%d/24\" % (j, host_id + 1)\n                br.add_ip(ipaddr)\n            ifc_gc.append(br.ifname)\n\n    # dhcp server only runs on host 0\n    if dhcp == 1 and host_id == 0:\n        for j in range(0, 2):\n            v1 = \"dhcp%d_v1\" % j\n            v2 = \"dhcp%d_v2\" % j\n            br = ipdb.interfaces[\"br%d\" % j]\n            with ipdb.create(ifname=v1, kind=\"veth\", peer=v2) as v:\n                    v.up()\n            br.add_port(ipdb.interfaces[v1]).commit()\n            dhcp_v2 = ipdb.interfaces[v2]\n            dhcp_v2.add_ip(\"99.1.%d.1/24\" % j).up().commit()\n\n            call([\"/bin/rm\", \"-f\", \"/tmp/dnsmasq.%d.leases\" % j])\n            cmd = [\"dnsmasq\", \"-d\", \"--bind-interfaces\", \"--strict-order\",\n                   \"--conf-file=\",\n                   \"--dhcp-range\", \"99.1.%d.2,99.1.%d.254,255.255.255.0,12h\" % (j, j),\n                   \"--dhcp-no-override\", \"--except-interface=lo\",\n                   \"--interface=dhcp%d_v2\" % j,\n                   \"--dhcp-authoritative\",\n                   \"--dhcp-leasefile=/tmp/dnsmasq.%d.leases\" % j]\n            d_serv.append(Popen(cmd, stdout=PIPE, stderr=PIPE))\n\n    # dhcp client to assign ip address for each bridge\n    if dhcp == 1:\n        for j in range(0, 2):\n            call([\"/bin/rm\", \"-rf\", \"/tmp/dhcp_%d_%d\" % (host_id, j)])\n            call([\"mkdir\", \"/tmp/dhcp_%d_%d\" % (host_id, j)])\n            call([\"touch\", \"/tmp/dhcp_%d_%d/dhclient.conf\" % (host_id, j)])\n            call([\"touch\", \"/tmp/dhcp_%d_%d/dhclient.lease\" % (host_id, j)])\n            cmd = [\"dhclient\", \"-d\", \"br%d\" % j,\n                   \"-cf\", \"/tmp/dhcp_%d_%d/dhclient.conf\" % (host_id, j),\n                   \"-lf\", \"/tmp/dhcp_%d_%d/dhclient.lease\" % (host_id, j)]\n            d_client.append(Popen(cmd, stdout=PIPE, stderr=PIPE))\n\n            # make sure we get address for eth0\n            retry = -1\n            while retry < 0:\n                check = Popen([\"ip\", \"addr\", \"show\", \"br%d\" % j], stdout=PIPE, stderr=PIPE)\n                out = check.stdout.read()\n                checkip = b\"99.1.%d\" % j\n                retry = out.find(checkip)\n\ntry:\n    run()\n    input(\"\")\nfinally:\n    for v in ifc_gc: call([\"ip\", \"link\", \"del\", v])\n    ipdb.release()\n    for p in d_client: p.kill()\n    for p in d_serv: p.kill()\n"
  },
  {
    "path": "examples/networking/dns_matching/dns_matching.c",
    "content": "/*\n * dns_matching.c  Drop DNS packets requesting DNS name contained in hash map\n *    For Linux, uses BCC, eBPF. See .py file.\n *\n * Copyright (c) 2016 Rudi Floren.\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of version 2 of the GNU General Public\n * License as published by the Free Software Foundation.\n *\n * 11-May-2016  Rudi Floren Created this.\n */\n\n#include <uapi/linux/bpf.h>\n#include <uapi/linux/if_ether.h>\n#include <uapi/linux/if_packet.h>\n#include <uapi/linux/ip.h>\n#include <uapi/linux/in.h>\n#include <uapi/linux/udp.h>\n#include <bcc/proto.h>\n\n#define ETH_LEN 14\n\nstruct dns_hdr_t\n{\n    uint16_t id;\n    uint16_t flags;\n    uint16_t qdcount;\n    uint16_t ancount;\n    uint16_t nscount;\n    uint16_t arcount;\n} BPF_PACKET_HEADER;\n\n\nstruct dns_query_flags_t\n{\n  uint16_t qtype;\n  uint16_t qclass;\n} BPF_PACKET_HEADER;\n\nstruct dns_char_t\n{\n    char c;\n} BPF_PACKET_HEADER;\n\nstruct Key {\n  unsigned char p[255];\n};\n\nstruct Leaf {\n  // Not really needed in this example\n  unsigned char p[4];\n};\n\nBPF_HASH(cache, struct Key, struct Leaf, 128);\n\nint dns_matching(struct __sk_buff *skb)\n{\n  u8 *cursor = 0;\n  struct Key key = {};\n  // Check of ethernet/IP frame.\n  struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n  if(ethernet->type == ETH_P_IP) {\n\n    // Check for UDP.\n    struct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n    u16 hlen_bytes = ip->hlen << 2;\n    if(ip->nextp == IPPROTO_UDP) {\n\n      // Check for Port 53, DNS packet.\n      struct udp_t *udp = cursor_advance(cursor, sizeof(*udp));\n      if(udp->dport == 53){\n\n        struct dns_hdr_t *dns_hdr = cursor_advance(cursor, sizeof(*dns_hdr));\n\n        // Do nothing if packet is not a request.\n        if((dns_hdr->flags >>15) != 0) {\n          // Exit if this packet is not a request.\n          return -1;\n        }\n\n        u16 i = 0;\n        struct dns_char_t *c;\n        #pragma unroll\n        for(i = 0; i<255;i++){\n          c = cursor_advance(cursor, 1);\n          if (c->c == 0)\n            break;\n          key.p[i] = c->c;\n        }\n\n        struct Leaf * lookup_leaf = cache.lookup(&key);\n\n        // If DNS name is contained in our map, keep the packet\n        if(lookup_leaf) {\n          bpf_trace_printk(\"Matched1\\n\");\n          return -1;\n        }\n      }\n    }\n  }\n  // Drop the packet\n  return 0;\n}\n"
  },
  {
    "path": "examples/networking/dns_matching/dns_matching.py",
    "content": "#!/usr/bin/python\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom ctypes import *\n\nimport os\nimport sys\nimport fcntl\nimport dnslib\nimport argparse\n\n\ndef encode_dns(name):\n  if len(name) + 1 > 255:\n    raise Exception(\"DNS Name too long.\")\n  b = bytearray()\n  for element in name.split('.'):\n    sublen = len(element)\n    if sublen > 63:\n      raise ValueError('DNS label %s is too long' % element)\n    b.append(sublen)\n    b.extend(element.encode('ascii'))\n  b.append(0)  # Add 0-len octet label for the root server\n  return b\n\ndef add_cache_entry(cache, name):\n  key = cache.Key()\n  key_len = len(key.p)\n  name_buffer = encode_dns(name)\n  # Pad the buffer with null bytes if it is too short\n  name_buffer.extend((0,) * (key_len - len(name_buffer)))\n  key.p = (c_ubyte * key_len).from_buffer(name_buffer)\n  leaf = cache.Leaf()\n  leaf.p = (c_ubyte * 4).from_buffer(bytearray(4))\n  cache[key] = leaf\n\n\nparser = argparse.ArgumentParser(usage='For detailed information about usage,\\\n try with -h option')\nreq_args = parser.add_argument_group(\"Required arguments\")\nreq_args.add_argument(\"-i\", \"--interface\", type=str, default=\"\",\n                      help=\"Interface name, defaults to all if unspecified.\")\nreq_args.add_argument(\"-d\", \"--domains\", type=str, required=True, nargs=\"+\",\n    help='List of domain names separated by space. For example: -d abc.def xyz.mno')\nargs = parser.parse_args()\n\n# initialize BPF - load source code from http-parse-simple.c\nbpf = BPF(src_file = \"dns_matching.c\", debug=0)\n# print(bpf.dump_func(\"dns_test\"))\n\n#load eBPF program http_filter of type SOCKET_FILTER into the kernel eBPF vm\n#more info about eBPF program types\n#http://man7.org/linux/man-pages/man2/bpf.2.html\nfunction_dns_matching = bpf.load_func(\"dns_matching\", BPF.SOCKET_FILTER)\n\n\n#create raw socket, bind it to user provided interface\n#attach bpf program to socket created\nBPF.attach_raw_socket(function_dns_matching, args.interface)\n\n# Get the table.\ncache = bpf.get_table(\"cache\")\n\n# Add cache entries\nfor e in args.domains:\n  print(\">>>> Adding map entry: \", e)\n  add_cache_entry(cache, e)\n\nprint(\"\\nTry to lookup some domain names using nslookup from another terminal.\")\nprint(\"For example:  nslookup foo.bar\")\nprint(\"\\nBPF program will filter-in DNS packets which match with map entries.\")\nprint(\"Packets received by user space program will be printed here\")\nprint(\"\\nHit Ctrl+C to end...\")\n\nsocket_fd = function_dns_matching.sock\nfl = fcntl.fcntl(socket_fd, fcntl.F_GETFL)\nfcntl.fcntl(socket_fd, fcntl.F_SETFL, fl & (~os.O_NONBLOCK))\n\nwhile 1:\n  #retrieve raw packet from socket\n  try:\n    packet_str = os.read(socket_fd, 2048)\n  except KeyboardInterrupt:\n    sys.exit(0)\n  packet_bytearray = bytearray(packet_str)\n\n  ETH_HLEN = 14\n  UDP_HLEN = 8\n\n  #IP HEADER\n  #calculate ip header length\n  ip_header_length = packet_bytearray[ETH_HLEN]               #load Byte\n  ip_header_length = ip_header_length & 0x0F                  #mask bits 0..3\n  ip_header_length = ip_header_length << 2                    #shift to obtain length\n\n  #calculate payload offset\n  payload_offset = ETH_HLEN + ip_header_length + UDP_HLEN\n\n  payload = packet_bytearray[payload_offset:]\n  # pass the payload to dnslib for parsing\n  dnsrec = dnslib.DNSRecord.parse(payload)\n  print (dnsrec.questions, \"\\n\")\n"
  },
  {
    "path": "examples/networking/http_filter/CMakeLists.txt",
    "content": "set(FILES http-parse-complete.c http-parse-simple.c README.md)\nset(PROGRAMS http-parse-complete.py http-parse-simple.py)\ninstall(FILES ${FILES} DESTINATION share/bcc/examples/networking/http_filter)\ninstall(PROGRAMS ${PROGRAMS} DESTINATION share/bcc/examples/networking/http_filter)\n"
  },
  {
    "path": "examples/networking/http_filter/README.md",
    "content": "# HTTP Filter\n\neBPF application that parses HTTP packets and extracts (and prints on screen) the URL contained in the GET/POST request.\n\n[eBPF HTTP Filter - Short Presentation](https://github.com/iovisor/bpf-docs/blob/master/ebpf_http_filter.pdf)\n\n## Usage Example\n\n\n    $ sudo python http-parse-complete.py\n    GET /pipermail/iovisor-dev/ HTTP/1.1\n    HTTP/1.1 200 OK\n    GET /favicon.ico HTTP/1.1\n    HTTP/1.1 404 Not Found\n    GET /pipermail/iovisor-dev/2016-January/thread.html HTTP/1.1\n    HTTP/1.1 200 OK\n    GET /pipermail/iovisor-dev/2016-January/000046.html HTTP/1.1\n    HTTP/1.1 200 OK\n\n\n## Implementation overview\n\nThe implementation is split in two portions: the former that exploits eBPF code, the latter that performs some additional processing in user space (the python wrapper).\n\n### First part: eBPF filter\nThis component filters IP and TCP packets containing the \"HTTP\", \"GET\", \"POST\" strings in their payload and all subsequent packets belonging to the same session, having the same (ip.src,ip.dst,port.src,port.dst) tuple.\n\nThe program is loaded as PROG_TYPE_SOCKET_FILTER and attached to a socket, bind to eth0.\n\nMatching packets are forwarded to user space, the others are dropped by the filter.\n\n### Second part: python code in user space\nThe Python script reads filtered raw packets from the socket, if necessary reassembles packets belonging to the same session, and prints on stdout the first line of the HTTP GET/POST request.\n\n## Simple vs. complete\n\nTwo versions of this code are available in this repository:\n\n* simple version: it does not handle URLs that span across multiple packets. For instance, if the URL is too long it shows only the portion contained in the first packet.\n* complete version: it is able to cope with URLs spanning across multiple packets; if such a situation is detected, the code reassembles packets belonging to the same session and prints the complete URL.\n\n## How to execute this sample\n\nThis sample can be executed by typing either one the two commands below:\n\n    $ sudo python http-parse-simple.py\n    $ sudo python http-parse-complete.py\n"
  },
  {
    "path": "examples/networking/http_filter/http-parse-complete.c",
    "content": "#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n\n#define IP_TCP \t6\n#define ETH_HLEN 14\n\nstruct Key {\n\tu32 src_ip;               //source ip\n\tu32 dst_ip;               //destination ip\n\tunsigned short src_port;  //source port\n\tunsigned short dst_port;  //destination port\n};\n\nstruct Leaf {\n\tint timestamp;            //timestamp in ns\n};\n\n//BPF_TABLE(map_type, key_type, leaf_type, table_name, num_entry)\n//map <Key, Leaf>\n//tracing sessions having same Key(dst_ip, src_ip, dst_port,src_port)\nBPF_HASH(sessions, struct Key, struct Leaf, 1024);\n\n/*eBPF program.\n  Filter IP and TCP packets, having payload not empty\n  and containing \"HTTP\", \"GET\", \"POST\"  as first bytes of payload.\n  AND ALL the other packets having same (src_ip,dst_ip,src_port,dst_port)\n  this means belonging to the same \"session\"\n  this additional check avoids url truncation, if url is too long\n  userspace script, if necessary, reassembles urls split in 2 or more packets.\n  if the program is loaded as PROG_TYPE_SOCKET_FILTER\n  and attached to a socket\n  return  0 -> DROP the packet\n  return -1 -> KEEP the packet and return it to user space (userspace can read it from the socket_fd )\n*/\nint http_filter(struct __sk_buff *skb) {\n\n\tu8 *cursor = 0;\n\n\tstruct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n\t//filter IP packets (ethernet type = 0x0800)\n\tif (!(ethernet->type == 0x0800)) {\n\t\tgoto DROP;\n\t}\n\n\tstruct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n\t//filter TCP packets (ip next protocol = 0x06)\n\tif (ip->nextp != IP_TCP) {\n\t\tgoto DROP;\n\t}\n\n\tu32  tcp_header_length = 0;\n\tu32  ip_header_length = 0;\n\tu32  payload_offset = 0;\n\tu32  payload_length = 0;\n\tstruct Key \tkey;\n\tstruct Leaf zero = {0};\n\n        //calculate ip header length\n        //value to multiply * 4\n        //e.g. ip->hlen = 5 ; IP Header Length = 5 x 4 byte = 20 byte\n        ip_header_length = ip->hlen << 2;    //SHL 2 -> *4 multiply\n\n        //check ip header length against minimum\n        if (ip_header_length < sizeof(*ip)) {\n                goto DROP;\n        }\n\n        //shift cursor forward for dynamic ip header size\n        void *_ = cursor_advance(cursor, (ip_header_length-sizeof(*ip)));\n\n\tstruct tcp_t *tcp = cursor_advance(cursor, sizeof(*tcp));\n\n\t//retrieve ip src/dest and port src/dest of current packet\n\t//and save it into struct Key\n\tkey.dst_ip = ip->dst;\n\tkey.src_ip = ip->src;\n\tkey.dst_port = tcp->dst_port;\n\tkey.src_port = tcp->src_port;\n\n\t//calculate tcp header length\n\t//value to multiply *4\n\t//e.g. tcp->offset = 5 ; TCP Header Length = 5 x 4 byte = 20 byte\n\ttcp_header_length = tcp->offset << 2; //SHL 2 -> *4 multiply\n\n\t//calculate payload offset and length\n\tpayload_offset = ETH_HLEN + ip_header_length + tcp_header_length;\n\tpayload_length = ip->tlen - ip_header_length - tcp_header_length;\n\n\t//http://stackoverflow.com/questions/25047905/http-request-minimum-size-in-bytes\n\t//minimum length of http request is always geater than 7 bytes\n\t//avoid invalid access memory\n\t//include empty payload\n\tif(payload_length < 7) {\n\t\tgoto DROP;\n\t}\n\n\t//load first 7 byte of payload into p (payload_array)\n\t//direct access to skb not allowed\n\tunsigned long p[7];\n\tint i = 0;\n\tfor (i = 0; i < 7; i++) {\n\t\tp[i] = load_byte(skb, payload_offset + i);\n\t}\n\n\t//find a match with an HTTP message\n\t//HTTP\n\tif ((p[0] == 'H') && (p[1] == 'T') && (p[2] == 'T') && (p[3] == 'P')) {\n\t\tgoto HTTP_MATCH;\n\t}\n\t//GET\n\tif ((p[0] == 'G') && (p[1] == 'E') && (p[2] == 'T')) {\n\t\tgoto HTTP_MATCH;\n\t}\n\t//POST\n\tif ((p[0] == 'P') && (p[1] == 'O') && (p[2] == 'S') && (p[3] == 'T')) {\n\t\tgoto HTTP_MATCH;\n\t}\n\t//PUT\n\tif ((p[0] == 'P') && (p[1] == 'U') && (p[2] == 'T')) {\n\t\tgoto HTTP_MATCH;\n\t}\n\t//DELETE\n\tif ((p[0] == 'D') && (p[1] == 'E') && (p[2] == 'L') && (p[3] == 'E') && (p[4] == 'T') && (p[5] == 'E')) {\n\t\tgoto HTTP_MATCH;\n\t}\n\t//HEAD\n\tif ((p[0] == 'H') && (p[1] == 'E') && (p[2] == 'A') && (p[3] == 'D')) {\n\t\tgoto HTTP_MATCH;\n\t}\n\n\t//no HTTP match\n\t//check if packet belong to an HTTP session\n\tstruct Leaf * lookup_leaf = sessions.lookup(&key);\n\tif(lookup_leaf) {\n\t\t//send packet to userspace\n\t\tgoto KEEP;\n\t}\n\tgoto DROP;\n\n\t//keep the packet and send it to userspace returning -1\n\tHTTP_MATCH:\n\t//if not already present, insert into map <Key, Leaf>\n\tsessions.lookup_or_try_init(&key,&zero);\n\n\t//send packet to userspace returning -1\n\tKEEP:\n\treturn -1;\n\n\t//drop the packet returning 0\n\tDROP:\n\treturn 0;\n\n}\n"
  },
  {
    "path": "examples/networking/http_filter/http-parse-complete.py",
    "content": "#!/usr/bin/python\n#\n# Bertrone Matteo - Polytechnic of Turin\n# November 2015\n#\n# eBPF application that parses HTTP packets\n# and extracts (and prints on screen) the URL\n# contained in the GET/POST request.\n#\n# eBPF program http_filter is used as SOCKET_FILTER attached to eth0 interface.\n# Only packets of type ip and tcp containing HTTP GET/POST are\n# returned to userspace, others dropped\n#\n# Python script uses bcc BPF Compiler Collection by\n# iovisor (https://github.com/iovisor/bcc) and prints on stdout the first\n# line of the HTTP GET/POST request containing the url\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom sys import argv\n\nimport socket\nimport os\nimport binascii\nimport time\n\nCLEANUP_N_PACKETS = 50     # cleanup every CLEANUP_N_PACKETS packets received\nMAX_URL_STRING_LEN = 8192  # max url string len (usually 8K)\nMAX_AGE_SECONDS = 30       # max age entry in bpf_sessions map\n\n\n# print str until CR+LF\ndef printUntilCRLF(s):\n    print(s.split(b'\\r\\n')[0].decode())\n\n\n# cleanup function\ndef cleanup():\n    # get current time in seconds\n    current_time = int(time.time())\n    # looking for leaf having:\n    # timestap  == 0        --> update with current timestamp\n    # AGE > MAX_AGE_SECONDS --> delete item\n    for key, leaf in bpf_sessions.items():\n        try:\n            current_leaf = bpf_sessions[key]\n            # set timestamp if timestamp == 0\n            if (current_leaf.timestamp == 0):\n                bpf_sessions[key] = bpf_sessions.Leaf(current_time)\n            else:\n                # delete older entries\n                if (current_time - current_leaf.timestamp > MAX_AGE_SECONDS):\n                    del bpf_sessions[key]\n        except:\n            print(\"cleanup exception.\")\n    return\n\n\n# args\ndef usage():\n    print(\"USAGE: %s [-i <if_name>]\" % argv[0])\n    print(\"\")\n    print(\"Try '%s -h' for more options.\" % argv[0])\n    exit()\n\n\n# help\ndef help():\n    print(\"USAGE: %s [-i <if_name>]\" % argv[0])\n    print(\"\")\n    print(\"optional arguments:\")\n    print(\"   -h                       print this help\")\n    print(\"   -i if_name               select interface if_name. Default is eth0\")\n    print(\"\")\n    print(\"examples:\")\n    print(\"    http-parse              # bind socket to eth0\")\n    print(\"    http-parse -i wlan0     # bind socket to wlan0\")\n    exit()\n\n\n# arguments\ninterface = \"eth0\"\n\nif len(argv) == 2:\n    if str(argv[1]) == '-h':\n        help()\n    else:\n        usage()\n\nif len(argv) == 3:\n    if str(argv[1]) == '-i':\n        interface = argv[2]\n    else:\n        usage()\n\nif len(argv) > 3:\n    usage()\n\nprint(\"binding socket to '%s'\" % interface)\n\n# initialize BPF - load source code from http-parse-complete.c\nbpf = BPF(src_file=\"http-parse-complete.c\", debug=0)\n\n# load eBPF program http_filter of type SOCKET_FILTER into the kernel eBPF vm\n# more info about eBPF program types\n# http://man7.org/linux/man-pages/man2/bpf.2.html\nfunction_http_filter = bpf.load_func(\"http_filter\", BPF.SOCKET_FILTER)\n\n# create raw socket, bind it to interface\n# attach bpf program to socket created\nBPF.attach_raw_socket(function_http_filter, interface)\n\n# get file descriptor of the socket previously\n# created inside BPF.attach_raw_socket\nsocket_fd = function_http_filter.sock\n\n# create python socket object, from the file descriptor\nsock = socket.fromfd(socket_fd, socket.PF_PACKET,\n                     socket.SOCK_RAW, socket.IPPROTO_IP)\n# set it as blocking socket\nsock.setblocking(True)\n\n# get pointer to bpf map of type hash\nbpf_sessions = bpf.get_table(\"sessions\")\n\n# packets counter\npacket_count = 0\n\n# dictionary containing association\n# <key(ipsrc,ipdst,portsrc,portdst),payload_string>.\n# if url is not entirely contained in only one packet,\n# save the firt part of it in this local dict\n# when I find \\r\\n in a next pkt, append and print the whole url\nlocal_dictionary = {}\n\nwhile 1:\n    # retrieve raw packet from socket\n    packet_str = os.read(socket_fd, 4096)  # set packet length to max packet length on the interface\n    packet_count += 1\n\n    # DEBUG - print raw packet in hex format\n    # packet_hex = binascii.hexlify(packet_str)\n    # print (\"%s\" % packet_hex)\n\n    # convert packet into bytearray\n    packet_bytearray = bytearray(packet_str)\n\n    # ethernet header length\n    ETH_HLEN = 14\n\n    # IP HEADER\n    # https://tools.ietf.org/html/rfc791\n    # 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n    # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n    # |Version|  IHL  |Type of Service|          Total Length         |\n    # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n    #\n    # IHL : Internet Header Length is the length of the internet header\n    # value to multiply * 4 byte\n    # e.g. IHL = 5 ; IP Header Length = 5 * 4 byte = 20 byte\n    #\n    # Total length: This 16-bit field defines the entire packet size,\n    # including header and data, in bytes.\n\n    # calculate packet total length\n    total_length = packet_bytearray[ETH_HLEN + 2]                 # load MSB\n    total_length = total_length << 8                              # shift MSB\n    total_length = total_length + packet_bytearray[ETH_HLEN + 3]  # add LSB\n\n    # calculate ip header length\n    ip_header_length = packet_bytearray[ETH_HLEN]     # load Byte\n    ip_header_length = ip_header_length & 0x0F        # mask bits 0..3\n    ip_header_length = ip_header_length << 2          # shift to obtain length\n\n    # retrieve ip source/dest\n    ip_src_str = packet_str[ETH_HLEN + 12: ETH_HLEN + 16]  # ip source offset 12..15\n    ip_dst_str = packet_str[ETH_HLEN + 16:ETH_HLEN + 20]   # ip dest   offset 16..19\n\n    ip_src = int(binascii.hexlify(ip_src_str), 16)\n    ip_dst = int(binascii.hexlify(ip_dst_str), 16)\n\n    # TCP HEADER\n    # https://www.rfc-editor.org/rfc/rfc793.txt\n    #  12              13              14              15\n    #  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n    # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n    # |  Data |           |U|A|P|R|S|F|                               |\n    # | Offset| Reserved  |R|C|S|S|Y|I|            Window             |\n    # |       |           |G|K|H|T|N|N|                               |\n    # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n    #\n    # Data Offset: This indicates where the data begins.\n    # The TCP header is an integral number of 32 bits long.\n    # value to multiply * 4 byte\n    # e.g. DataOffset = 5 ; TCP Header Length = 5 * 4 byte = 20 byte\n\n    # calculate tcp header length\n    tcp_header_length = packet_bytearray[ETH_HLEN + ip_header_length + 12]  # load Byte\n    tcp_header_length = tcp_header_length & 0xF0    # mask bit 4..7\n    tcp_header_length = tcp_header_length >> 2      # SHR 4 ; SHL 2 -> SHR 2\n\n    # retrieve port source/dest\n    port_src_str = packet_str[ETH_HLEN + ip_header_length:ETH_HLEN + ip_header_length + 2]\n    port_dst_str = packet_str[ETH_HLEN + ip_header_length + 2:ETH_HLEN + ip_header_length + 4]\n\n    port_src = int(binascii.hexlify(port_src_str), 16)\n    port_dst = int(binascii.hexlify(port_dst_str), 16)\n\n    # calculate payload offset\n    payload_offset = ETH_HLEN + ip_header_length + tcp_header_length\n\n    # payload_string contains only packet payload\n    payload_string = packet_str[(payload_offset):(len(packet_bytearray))]\n    # CR + LF (substring to find)\n    crlf = b'\\r\\n'\n\n    # current_Key contains ip source/dest and port source/map\n    # useful for direct bpf_sessions map access\n    current_Key = bpf_sessions.Key(ip_src, ip_dst, port_src, port_dst)\n\n    # looking for HTTP GET/POST request\n    if ((payload_string[:3] == b'GET') or (payload_string[:4] == b'POST')\n            or (payload_string[:4] == b'HTTP') or (payload_string[:3] == b'PUT')\n            or (payload_string[:6] == b'DELETE') or (payload_string[:4] == b'HEAD')):\n        # match: HTTP GET/POST packet found\n        if (crlf in payload_string):\n            # url entirely contained in first packet -> print it all\n            printUntilCRLF(payload_string)\n\n            # delete current_Key from bpf_sessions, url already printed.\n            # current session not useful anymore\n            try:\n                del bpf_sessions[current_Key]\n            except:\n                print(\"error during delete from bpf map \")\n        else:\n            # url NOT entirely contained in first packet\n            # not found \\r\\n in payload.\n            # save current part of the payload_string in dictionary\n            # <key(ips,ipd,ports,portd),payload_string>\n            local_dictionary[binascii.hexlify(current_Key)] = payload_string\n    else:\n        # NO match: HTTP GET/POST  NOT found\n\n        # check if the packet belong to a session saved in bpf_sessions\n        if (current_Key in bpf_sessions):\n            # check id the packet belong to a session saved in local_dictionary\n            # (local_dictionary maintains HTTP GET/POST url not\n            # printed yet because split in N packets)\n            if (binascii.hexlify(current_Key) in local_dictionary):\n                # first part of the HTTP GET/POST url is already present in\n                # local dictionary (prev_payload_string)\n                prev_payload_string = local_dictionary[binascii.hexlify(current_Key)]\n                # looking for CR+LF in current packet.\n                if (crlf in payload_string):\n                    # last packet. containing last part of HTTP GET/POST\n                    # url split in N packets. Append current payload\n                    prev_payload_string += payload_string\n                    # print HTTP GET/POST url\n                    printUntilCRLF(prev_payload_string)\n                    # clean bpf_sessions & local_dictionary\n                    try:\n                        del bpf_sessions[current_Key]\n                        del local_dictionary[binascii.hexlify(current_Key)]\n                    except:\n                        print(\"error deleting from map or dictionary\")\n                else:\n                    # NOT last packet. Containing part of HTTP GET/POST url\n                    # split in N packets.\n                    # Append current payload\n                    prev_payload_string += payload_string\n                    # check if not size exceeding\n                    # (usually HTTP GET/POST url < 8K )\n                    if (len(prev_payload_string) > MAX_URL_STRING_LEN):\n                        print(\"url too long\")\n                        try:\n                            del bpf_sessions[current_Key]\n                            del local_dictionary[binascii.hexlify(current_Key)]\n                        except:\n                            print(\"error deleting from map or dict\")\n                    # update dictionary\n                    local_dictionary[binascii.hexlify(current_Key)] = prev_payload_string\n            else:\n                # first part of the HTTP GET/POST url is\n                # NOT present in local dictionary\n                # bpf_sessions contains invalid entry -> delete it\n                try:\n                    del bpf_sessions[current_Key]\n                except:\n                    print(\"error del bpf_session\")\n\n    # check if dirty entry are present in bpf_sessions\n    if (((packet_count) % CLEANUP_N_PACKETS) == 0):\n        cleanup()\n"
  },
  {
    "path": "examples/networking/http_filter/http-parse-simple.c",
    "content": "#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n\n#define IP_TCP \t6\n#define ETH_HLEN 14\n\n/*eBPF program.\n  Filter IP and TCP packets, having payload not empty\n  and containing \"HTTP\", \"GET\", \"POST\" ... as first bytes of payload\n  if the program is loaded as PROG_TYPE_SOCKET_FILTER\n  and attached to a socket\n  return  0 -> DROP the packet\n  return -1 -> KEEP the packet and return it to user space (userspace can read it from the socket_fd )\n*/\nint http_filter(struct __sk_buff *skb) {\n\n\tu8 *cursor = 0;\n\n\tstruct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n\t//filter IP packets (ethernet type = 0x0800)\n\tif (!(ethernet->type == 0x0800)) {\n\t\tgoto DROP;\n\t}\n\n\tstruct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n\t//filter TCP packets (ip next protocol = 0x06)\n\tif (ip->nextp != IP_TCP) {\n\t\tgoto DROP;\n\t}\n\n\tu32  tcp_header_length = 0;\n\tu32  ip_header_length = 0;\n\tu32  payload_offset = 0;\n\tu32  payload_length = 0;\n\n\t//calculate ip header length\n\t//value to multiply * 4\n\t//e.g. ip->hlen = 5 ; IP Header Length = 5 x 4 byte = 20 byte\n\tip_header_length = ip->hlen << 2;    //SHL 2 -> *4 multiply\n\n        //check ip header length against minimum\n\tif (ip_header_length < sizeof(*ip)) {\n\t\tgoto DROP;\n\t}\n\n        //shift cursor forward for dynamic ip header size\n        void *_ = cursor_advance(cursor, (ip_header_length-sizeof(*ip)));\n\n\tstruct tcp_t *tcp = cursor_advance(cursor, sizeof(*tcp));\n\n\t//calculate tcp header length\n\t//value to multiply *4\n\t//e.g. tcp->offset = 5 ; TCP Header Length = 5 x 4 byte = 20 byte\n\ttcp_header_length = tcp->offset << 2; //SHL 2 -> *4 multiply\n\n\t//calculate payload offset and length\n\tpayload_offset = ETH_HLEN + ip_header_length + tcp_header_length;\n\tpayload_length = ip->tlen - ip_header_length - tcp_header_length;\n\n\t//http://stackoverflow.com/questions/25047905/http-request-minimum-size-in-bytes\n\t//minimum length of http request is always geater than 7 bytes\n\t//avoid invalid access memory\n\t//include empty payload\n\tif(payload_length < 7) {\n\t\tgoto DROP;\n\t}\n\n\t//load first 7 byte of payload into p (payload_array)\n\t//direct access to skb not allowed\n\tunsigned long p[7];\n\tint i = 0;\n\tfor (i = 0; i < 7; i++) {\n\t\tp[i] = load_byte(skb, payload_offset + i);\n\t}\n\n\t//find a match with an HTTP message\n\t//HTTP\n\tif ((p[0] == 'H') && (p[1] == 'T') && (p[2] == 'T') && (p[3] == 'P')) {\n\t\tgoto KEEP;\n\t}\n\t//GET\n\tif ((p[0] == 'G') && (p[1] == 'E') && (p[2] == 'T')) {\n\t\tgoto KEEP;\n\t}\n\t//POST\n\tif ((p[0] == 'P') && (p[1] == 'O') && (p[2] == 'S') && (p[3] == 'T')) {\n\t\tgoto KEEP;\n\t}\n\t//PUT\n\tif ((p[0] == 'P') && (p[1] == 'U') && (p[2] == 'T')) {\n\t\tgoto KEEP;\n\t}\n\t//DELETE\n\tif ((p[0] == 'D') && (p[1] == 'E') && (p[2] == 'L') && (p[3] == 'E') && (p[4] == 'T') && (p[5] == 'E')) {\n\t\tgoto KEEP;\n\t}\n\t//HEAD\n\tif ((p[0] == 'H') && (p[1] == 'E') && (p[2] == 'A') && (p[3] == 'D')) {\n\t\tgoto KEEP;\n\t}\n\n\t//no HTTP match\n\tgoto DROP;\n\n\t//keep the packet and send it to userspace returning -1\n\tKEEP:\n\treturn -1;\n\n\t//drop the packet returning 0\n\tDROP:\n\treturn 0;\n\n}\n"
  },
  {
    "path": "examples/networking/http_filter/http-parse-simple.py",
    "content": "#!/usr/bin/python\n#\n#Bertrone Matteo - Polytechnic of Turin\n#November 2015\n#\n#eBPF application that parses HTTP packets\n#and extracts (and prints on screen) the URL contained in the GET/POST request.\n#\n#eBPF program http_filter is used as SOCKET_FILTER attached to eth0 interface.\n#only packet of type ip and tcp containing HTTP GET/POST are returned to userspace, others dropped\n#\n#python script uses bcc BPF Compiler Collection by iovisor (https://github.com/iovisor/bcc)\n#and prints on stdout the first line of the HTTP GET/POST request containing the url\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom sys import argv\n\nimport sys\nimport socket\nimport os\n\n#args\ndef usage():\n    print(\"USAGE: %s [-i <if_name>]\" % argv[0])\n    print(\"\")\n    print(\"Try '%s -h' for more options.\" % argv[0])\n    exit()\n\n#help\ndef help():\n    print(\"USAGE: %s [-i <if_name>]\" % argv[0])\n    print(\"\")\n    print(\"optional arguments:\")\n    print(\"   -h                       print this help\")\n    print(\"   -i if_name               select interface if_name. Default is eth0\")\n    print(\"\")\n    print(\"examples:\")\n    print(\"    http-parse              # bind socket to eth0\")\n    print(\"    http-parse -i wlan0     # bind socket to wlan0\")\n    exit()\n\n#arguments\ninterface=\"eth0\"\n\nif len(argv) == 2:\n  if str(argv[1]) == '-h':\n    help()\n  else:\n    usage()\n\nif len(argv) == 3:\n  if str(argv[1]) == '-i':\n    interface = argv[2]\n  else:\n    usage()\n\nif len(argv) > 3:\n  usage()\n\nprint (\"binding socket to '%s'\" % interface)\n\n# initialize BPF - load source code from http-parse-simple.c\nbpf = BPF(src_file = \"http-parse-simple.c\",debug = 0)\n\n#load eBPF program http_filter of type SOCKET_FILTER into the kernel eBPF vm\n#more info about eBPF program types\n#http://man7.org/linux/man-pages/man2/bpf.2.html\nfunction_http_filter = bpf.load_func(\"http_filter\", BPF.SOCKET_FILTER)\n\n#create raw socket, bind it to interface\n#attach bpf program to socket created\nBPF.attach_raw_socket(function_http_filter, interface)\n\n#get file descriptor of the socket previously created inside BPF.attach_raw_socket\nsocket_fd = function_http_filter.sock\n\n#create python socket object, from the file descriptor\nsock = socket.fromfd(socket_fd,socket.PF_PACKET,socket.SOCK_RAW,socket.IPPROTO_IP)\n#set it as blocking socket\nsock.setblocking(True)\n\nwhile 1:\n  #retrieve raw packet from socket\n  packet_str = os.read(socket_fd,2048)\n\n  #DEBUG - print raw packet in hex format\n  #packet_hex = toHex(packet_str)\n  #print (\"%s\" % packet_hex)\n\n  #convert packet into bytearray\n  packet_bytearray = bytearray(packet_str)\n\n  #ethernet header length\n  ETH_HLEN = 14\n\n  #IP HEADER\n  #https://tools.ietf.org/html/rfc791\n  # 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n  # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n  # |Version|  IHL  |Type of Service|          Total Length         |\n  # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n  #\n  #IHL : Internet Header Length is the length of the internet header\n  #value to multiply * 4 byte\n  #e.g. IHL = 5 ; IP Header Length = 5 * 4 byte = 20 byte\n  #\n  #Total length: This 16-bit field defines the entire packet size,\n  #including header and data, in bytes.\n\n  #calculate packet total length\n  total_length = packet_bytearray[ETH_HLEN + 2]               #load MSB\n  total_length = total_length << 8                            #shift MSB\n  total_length = total_length + packet_bytearray[ETH_HLEN+3]  #add LSB\n\n  #calculate ip header length\n  ip_header_length = packet_bytearray[ETH_HLEN]               #load Byte\n  ip_header_length = ip_header_length & 0x0F                  #mask bits 0..3\n  ip_header_length = ip_header_length << 2                    #shift to obtain length\n\n  #TCP HEADER\n  #https://www.rfc-editor.org/rfc/rfc793.txt\n  #  12              13              14              15\n  #  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n  # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n  # |  Data |           |U|A|P|R|S|F|                               |\n  # | Offset| Reserved  |R|C|S|S|Y|I|            Window             |\n  # |       |           |G|K|H|T|N|N|                               |\n  # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n  #\n  #Data Offset: This indicates where the data begins.\n  #The TCP header is an integral number of 32 bits long.\n  #value to multiply * 4 byte\n  #e.g. DataOffset = 5 ; TCP Header Length = 5 * 4 byte = 20 byte\n\n  #calculate tcp header length\n  tcp_header_length = packet_bytearray[ETH_HLEN + ip_header_length + 12]  #load Byte\n  tcp_header_length = tcp_header_length & 0xF0                            #mask bit 4..7\n  tcp_header_length = tcp_header_length >> 2                              #SHR 4 ; SHL 2 -> SHR 2\n\n  #calculate payload offset\n  payload_offset = ETH_HLEN + ip_header_length + tcp_header_length\n\n  #print first line of the HTTP GET/POST request\n  #line ends with 0xOD 0xOA (\\r\\n)\n  #(if we want to print all the header print until \\r\\n\\r\\n)\n  for i in range (payload_offset,len(packet_bytearray)-1):\n    if (packet_bytearray[i]== 0x0A):\n      if (packet_bytearray[i-1] == 0x0D):\n        break\n    print (\"%c\" % chr(packet_bytearray[i]), end = \"\")\n  print(\"\")\n\n"
  },
  {
    "path": "examples/networking/neighbor_sharing/CMakeLists.txt",
    "content": "set(EXAMPLE_FILES README.txt simulation.py tc_neighbor_sharing.c)\nset(EXAMPLE_PROGRAMS tc_neighbor_sharing.py)\ninstall(FILES ${EXAMPLE_FILES} DESTINATION share/bcc/examples/networking/neighbor_sharing)\ninstall(PROGRAMS ${EXAMPLE_PROGRAMS} DESTINATION share/bcc/examples/networking/neighbor_sharing)\n"
  },
  {
    "path": "examples/networking/neighbor_sharing/README.txt",
    "content": "This example shows how a combination of BPF programs can be used to perform\nper-IP classification and rate limiting. The simulation in this example\nshows an example where N+M devices are combined and use 1 WAN. Traffic sent\nfrom/to the \"neighbor\" devices have their combined bandwidth capped at\n128kbit, and the rest of the traffic can use an additional 1Mbit.\n\nThis works by sharing a map between various tc ingress filters, each with\na related set of bpf functions attached. The map stores a list of dynamically\nlearned ip addresses that were seen on the neighbor devices and should be\nthrottled.\n\n                         /------------\\                        |\nneigh1 --|->->->->->->->-|            |                        |\nneigh2 --|->->->->->->->-|    <-128kb-|        /------\\        |\nneigh3 --|->->->->->->->-|            |  wan0  | wan  |        |\n         | ^             |   br100    |-<-<-<--| sim  |        |\n         | clsfy_neigh() |            |   ^    \\------/        |\nlan1 ----|->->->->->->->-|    <--1Mb--|   |                    |\nlan2 ----|->->->->->->->-|            |   classify_wan()       |\n           ^             \\------------/                        |\n           pass()                                              |\n\nTo run the example:\n\n$ sudo /path/to/neighbor_sharing/neighbor_sharing.py\nStarting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC\nStarting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC\nStarting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC\nStarting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC\nStarting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC\nNetwork ready. Create a shell in the wan0 namespace and test with netperf\n   (Neighbors are 172.16.1.100-102, and LAN clients are 172.16.1.150-151)\n e.g.: ip netns exec wan0 netperf -H 172.16.1.100 -l 2\nPress enter when finished:\n\n\nIn another shell:\n$ sudo ip netns exec wan0 netperf -H 172.16.1.100 -l 2\nMIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.16.1.100 () port 0 AF_INET : demo\nRecv   Send    Send\nSocket Socket  Message  Elapsed\nSize   Size    Size     Time     Throughput\nbytes  bytes   bytes    secs.    10^6bits/sec\n\n 87380  16384  16384    4.30        0.18\n\n$ sudo ip netns exec wan0 netperf -H 172.16.1.150 -l 2\nMIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.16.1.150 () port 0 AF_INET : demo\nRecv   Send    Send\nSocket Socket  Message  Elapsed\nSize   Size    Size     Time     Throughput\nbytes  bytes   bytes    secs.    10^6bits/sec\n\n 87380  16384  16384    4.10        1.01\n\n\nThe bandwidth is throttled according to the IP.\n"
  },
  {
    "path": "examples/networking/neighbor_sharing/tc_neighbor_sharing.c",
    "content": "// Copyright (c) PLUMgrid, Inc.\n// Licensed under the Apache License, Version 2.0 (the \"License\")\n\n#include <bcc/proto.h>\n\nstruct ipkey {\n  u32 client_ip;\n};\n\nBPF_HASH(learned_ips, struct ipkey, int, 1024);\n\n// trivial action\nint pass(struct __sk_buff *skb) {\n  return 1;\n}\n\n// Process each wan packet, and determine if the packet is in the IP\n// table or not. Learned IPs are rate-limited and unclassified are not.\n// returns: > 0 when an IP is known\n//          = 0 when an IP is not known, or non-IP traffic\nint classify_wan(struct __sk_buff *skb) {\n  u8 *cursor = 0;\n  ethernet: {\n    struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n    switch (ethernet->type) {\n      case ETH_P_IP: goto ip;\n      default: goto EOP;\n    }\n  }\n  ip: {\n    struct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n    u32 dip = ip->dst;\n    struct ipkey key = {.client_ip=dip};\n    int *val = learned_ips.lookup(&key);\n    if (val)\n      return *val;\n    goto EOP;\n  }\nEOP:\n  return 0;\n}\n\n// Process each neighbor packet, and store the source IP in the learned table.\n// Mark the inserted entry with a non-zero value to be used by the classify_wan\n// lookup.\nint classify_neighbor(struct __sk_buff *skb) {\n  u8 *cursor = 0;\n  ethernet: {\n    struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n    switch (ethernet->type) {\n      case ETH_P_IP: goto ip;\n      default: goto EOP;\n    }\n  }\n  ip: {\n    struct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n    u32 sip = ip->src;\n    struct ipkey key = {.client_ip=sip};\n    int val = 1;\n    learned_ips.insert(&key, &val);\n    goto EOP;\n  }\nEOP:\n  return 1;\n}\n"
  },
  {
    "path": "examples/networking/neighbor_sharing/tc_neighbor_sharing.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nfrom pyroute2 import IPRoute, NetNS, IPDB, NSPopen\nfrom simulation import Simulation\nimport sys\nfrom time import sleep\nfrom builtins import input\n\nipr = IPRoute()\nipdb = IPDB(nl=ipr)\nb = BPF(src_file=\"tc_neighbor_sharing.c\", debug=0)\n\nwan_fn = b.load_func(\"classify_wan\", BPF.SCHED_CLS)\npass_fn = b.load_func(\"pass\", BPF.SCHED_CLS)\nneighbor_fn = b.load_func(\"classify_neighbor\", BPF.SCHED_CLS)\n\nnum_neighbors = 3\nnum_locals = 2\n\n# class to build the simulation network\nclass SharedNetSimulation(Simulation):\n\n    def __init__(self, ipdb):\n        super(SharedNetSimulation, self).__init__(ipdb)\n\n        # Create the wan namespace, and attach an ingress filter for throttling\n        # inbound (download) traffic\n        wan_if = self._create_ns(\"wan0\", ipaddr=\"172.16.1.5/24\")[1]\n        ipr.tc(\"add\", \"ingress\", wan_if[\"index\"], \"ffff:\")\n        ipr.tc(\"add-filter\", \"bpf\", wan_if[\"index\"], \":1\", fd=wan_fn.fd,\n               prio=1, name=wan_fn.name, parent=\"ffff:\", action=\"drop\",\n               classid=1, rate=\"128kbit\", burst=1024 * 32, mtu=16 * 1024)\n        ipr.tc(\"add-filter\", \"bpf\", wan_if[\"index\"], \":2\", fd=pass_fn.fd,\n               prio=2, name=pass_fn.name, parent=\"ffff:\", action=\"drop\",\n               classid=2, rate=\"1024kbit\", burst=1024 * 32, mtu=16 * 1024)\n        self.wan_if = wan_if\n\n    # start the namespaces that compose the network, interconnect them with the\n    # bridge, and attach the tc filters\n    def start(self):\n        neighbor_list = []\n        local_list = []\n        cmd = [\"netserver\", \"-D\"]\n        for i in range(0, num_neighbors):\n            ipaddr = \"172.16.1.%d/24\" % (i + 100)\n            ret = self._create_ns(\"neighbor%d\" % i, ipaddr=ipaddr,\n                                  fn=neighbor_fn, cmd=cmd)\n            neighbor_list.append(ret)\n        for i in range(0, num_locals):\n            ipaddr = \"172.16.1.%d/24\" % (i + 150)\n            ret = self._create_ns(\"local%d\" % i, ipaddr=ipaddr,\n                                  fn=pass_fn, cmd=cmd)\n            local_list.append(ret)\n\n        with ipdb.create(ifname=\"br100\", kind=\"bridge\") as br100:\n            for x in neighbor_list:\n                br100.add_port(x[1])\n            for x in local_list:\n                br100.add_port(x[1])\n            br100.add_port(self.wan_if)\n            br100.up()\n\ntry:\n    sim = SharedNetSimulation(ipdb)\n    sim.start()\n    print(\"Network ready. Create a shell in the wan0 namespace and test with netperf\")\n    print(\"   (Neighbors are 172.16.1.100-%d, and LAN clients are 172.16.1.150-%d)\"\n            % (100 + num_neighbors - 1, 150 + num_locals - 1))\n    print(\" e.g.: ip netns exec wan0 netperf -H 172.16.1.100 -l 2\")\n    input(\"Press enter when finished: \")\nfinally:\n    if \"sim\" in locals(): sim.release()\n    if \"br100\" in ipdb.interfaces: ipdb.interfaces.br100.remove().commit()\n    ipdb.release()\n\n\n"
  },
  {
    "path": "examples/networking/net_monitor.py",
    "content": "#!/usr/bin/python\n#\n# net_monitor.py Aggregates incoming network traffic\n# outputs source ip, destination ip, the number of their network traffic, and current time\n# how to use : net_monitor.py <net_interface>\n#\n# Copyright (c) 2020 YoungEun Choe\n\nfrom bcc import BPF\nimport time\nfrom ast import literal_eval\nimport sys\n\ndef help():\n    print(\"execute: {0} <net_interface>\".format(sys.argv[0]))\n    print(\"e.g.: {0} eno1\\n\".format(sys.argv[0]))\n    exit(1)\n\nif len(sys.argv) != 2:\n    help()\nelif len(sys.argv) == 2:\n    INTERFACE = sys.argv[1]\n\nbpf_text = \"\"\"\n\n#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n#include <linux/bpf.h>\n\n#define IP_TCP 6\n#define IP_UDP 17\n#define IP_ICMP 1\n#define ETH_HLEN 14\n\nBPF_PERF_OUTPUT(skb_events);\nBPF_HASH(packet_cnt, u64, long, 256);\n\nint packet_monitor(struct __sk_buff *skb) {\n    u8 *cursor = 0;\n    u32 saddr, daddr;\n    long* count = 0;\n    long one = 1;\n    u64 pass_value = 0;\n\n    struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n    struct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n    if (ip->ver != 4)\n        return 0;\n    if (ip->nextp != IP_TCP)\n    {\n        if (ip -> nextp != IP_UDP)\n        {\n            if (ip -> nextp != IP_ICMP)\n                return 0;\n        }\n    }\n\n    saddr = ip -> src;\n    daddr = ip -> dst;\n\n    pass_value = saddr;\n    pass_value = pass_value << 32;\n    pass_value = pass_value + daddr;\n\n    count = packet_cnt.lookup(&pass_value);\n    if (count)  // check if this map exists\n        *count += 1;\n    else        // if the map for the key doesn't exist, create one\n        {\n            packet_cnt.update(&pass_value, &one);\n        }\n    return -1;\n}\n\n\"\"\"\n\nfrom ctypes import *\nimport ctypes as ct\nimport sys\nimport socket\nimport os\nimport struct\nimport ipaddress\nimport ctypes\nfrom datetime import datetime\n\nOUTPUT_INTERVAL = 1\n\nbpf = BPF(text=bpf_text)\n\nfunction_skb_matching = bpf.load_func(\"packet_monitor\", BPF.SOCKET_FILTER)\n\nBPF.attach_raw_socket(function_skb_matching, INTERFACE)\n\n    # retrieve packet_cnt map\npacket_cnt = bpf.get_table('packet_cnt')    # retrieve packet_cnt map\n\ndef decimal_to_human(input_value):\n    try:\n        decimal_ip = int(input_value)\n        ip_string = str(ipaddress.IPv4Address(decimal_ip))\n        return ip_string\n    except ValueError:\n        return \"Invalid input\"\n\ntry:\n    while True :\n        time.sleep(OUTPUT_INTERVAL)\n        packet_cnt_output = packet_cnt.items()\n        output_len = len(packet_cnt_output)\n        current_time = datetime.now()\n        formatted_time = current_time.strftime(\"%Y-%m-%d %H:%M:%S\")\n        if output_len != 0:\n            print('\\ncurrent packet nums:')\n\n        for i in range(0,output_len):\n            srcdst = packet_cnt_output[i][0].value\n            src = (srcdst >> 32) & 0xFFFFFFFF\n            dst = srcdst & 0xFFFFFFFF\n            pkt_num = packet_cnt_output[i][1].value\n\n            monitor_result = 'source address : ' + decimal_to_human(str(src)) + ' ' + 'destination address : ' + \\\n            decimal_to_human(str(dst)) + ' ' + str(pkt_num) + ' ' + 'time : ' + formatted_time\n            print(monitor_result)\n\n        packet_cnt.clear() # delete map entries after printing output. confirmed it deletes values and keys too\n\nexcept KeyboardInterrupt:\n    sys.stdout.close()\n    pass\n\n"
  },
  {
    "path": "examples/networking/simple_tc.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nfrom pyroute2 import IPRoute\n\nipr = IPRoute()\n\ntext = \"\"\"\nint hello(struct __sk_buff *skb) {\n  return 1;\n}\n\"\"\"\n\ntry:\n    b = BPF(text=text, debug=0)\n    fn = b.load_func(\"hello\", BPF.SCHED_CLS)\n    ipr.link(\"add\", ifname=\"t1a\", kind=\"veth\", peer=\"t1b\")\n    idx = ipr.link_lookup(ifname=\"t1a\")[0]\n\n    ipr.tc(\"add\", \"ingress\", idx, \"ffff:\")\n    ipr.tc(\"add-filter\", \"bpf\", idx, \":1\", fd=fn.fd,\n           name=fn.name, parent=\"ffff:\", action=\"ok\", classid=1)\n    ipr.tc(\"add\", \"sfq\", idx, \"1:\")\n    ipr.tc(\"add-filter\", \"bpf\", idx, \":1\", fd=fn.fd,\n           name=fn.name, parent=\"1:\", action=\"ok\", classid=1)\nfinally:\n    if \"idx\" in locals(): ipr.link(\"del\", index=idx)\nprint(\"BPF tc functionality - SCHED_CLS: OK\")\n"
  },
  {
    "path": "examples/networking/simulation.py",
    "content": "import os\nimport subprocess\nimport pyroute2\nfrom pyroute2 import IPRoute, NetNS, IPDB, NSPopen\n\nclass Simulation(object):\n    \"\"\"\n    Helper class for controlling multiple namespaces. Inherit from\n    this class and setup your namespaces.\n    \"\"\"\n\n    def __init__(self, ipdb):\n        self.ipdb = ipdb\n        self.ipdbs = {}\n        self.namespaces = []\n        self.processes = []\n        self.released = False\n\n    # helper function to add additional ifc to namespace\n    # if called directly outside Simulation class, \"ifc_base_name\" should be\n    # different from \"name\", the \"ifc_base_name\" and \"name\" are the same for\n    # the first ifc created by namespace\n    def _ns_add_ifc(self, name, ns_ifc, ifc_base_name=None, in_ifc=None,\n                    out_ifc=None, ipaddr=None, macaddr=None, fn=None, cmd=None,\n                    action=\"ok\", disable_ipv6=False):\n        if name in self.ipdbs:\n            ns_ipdb = self.ipdbs[name]\n        else:\n            try:\n                nl=NetNS(name)\n                self.namespaces.append(nl)\n            except KeyboardInterrupt:\n                # remove the namespace if it has been created\n                pyroute2.netns.remove(name)\n                raise\n            ns_ipdb = IPDB(nl)\n            self.ipdbs[nl.netns] = ns_ipdb\n            if disable_ipv6:\n                cmd1 = [\"sysctl\", \"-q\", \"-w\",\n                       \"net.ipv6.conf.default.disable_ipv6=1\"]\n                nsp = NSPopen(ns_ipdb.nl.netns, cmd1)\n                nsp.wait(); nsp.release()\n            try:\n                ns_ipdb.interfaces.lo.up().commit()\n            except pyroute2.ipdb.exceptions.CommitException:\n                print(\"Warning, commit for lo failed, operstate may be unknown\")\n        if in_ifc:\n            in_ifname = in_ifc.ifname\n            with in_ifc as v:\n                # move half of veth into namespace\n                v.net_ns_fd = ns_ipdb.nl.netns\n        else:\n            # delete the potentially leaf-over veth interfaces\n            ipr = IPRoute()\n            for i in ipr.link_lookup(ifname='%sa' % ifc_base_name): ipr.link(\"del\", index=i)\n            ipr.close()\n            try:\n                out_ifc = self.ipdb.create(ifname=\"%sa\" % ifc_base_name, kind=\"veth\",\n                                           peer=\"%sb\" % ifc_base_name).commit()\n                in_ifc = self.ipdb.interfaces[out_ifc.peer]\n                in_ifname = in_ifc.ifname\n                with in_ifc as v:\n                    v.net_ns_fd = ns_ipdb.nl.netns\n            except KeyboardInterrupt:\n                # explicitly remove the interface\n                out_ifname = \"%sa\" % ifc_base_name\n                if out_ifname in self.ipdb.interfaces: self.ipdb.interfaces[out_ifname].remove().commit()\n                raise\n\n        if out_ifc: out_ifc.up().commit()\n        try:\n            # this is a workaround for fc31 and possible other disto's.\n            # when interface 'lo' is already up, do another 'up().commit()'\n            # has issues in fc31.\n            # the workaround may become permanent if we upgrade pyroute2\n            # in all machines.\n            if 'state' in ns_ipdb.interfaces.lo.keys():\n                if ns_ipdb.interfaces.lo['state'] != 'up':\n                    ns_ipdb.interfaces.lo.up().commit()\n            else:\n                ns_ipdb.interfaces.lo.up().commit()\n        except pyroute2.ipdb.exceptions.CommitException:\n            print(\"Warning, commit for lo failed, operstate may be unknown\")\n        ns_ipdb.initdb()\n        in_ifc = ns_ipdb.interfaces[in_ifname]\n        with in_ifc as v:\n            v.ifname = ns_ifc\n            if ipaddr: v.add_ip(\"%s\" % ipaddr)\n            if macaddr: v.address = macaddr\n            v.up()\n        if disable_ipv6:\n            cmd1 = [\"sysctl\", \"-q\", \"-w\",\n                   \"net.ipv6.conf.%s.disable_ipv6=1\" % out_ifc.ifname]\n            subprocess.call(cmd1)\n        if fn and out_ifc:\n            self.ipdb.nl.tc(\"add\", \"ingress\", out_ifc[\"index\"], \"ffff:\")\n            self.ipdb.nl.tc(\"add-filter\", \"bpf\", out_ifc[\"index\"], \":1\",\n                            fd=fn.fd, name=fn.name, parent=\"ffff:\",\n                            action=action, classid=1)\n        if cmd:\n            self.processes.append(NSPopen(ns_ipdb.nl.netns, cmd))\n        return (ns_ipdb, out_ifc, in_ifc)\n\n    # helper function to create a namespace and a veth connecting it\n    def _create_ns(self, name, in_ifc=None, out_ifc=None, ipaddr=None,\n                   macaddr=None, fn=None, cmd=None, action=\"ok\", disable_ipv6=False):\n        (ns_ipdb, out_ifc, in_ifc) = self._ns_add_ifc(name, \"eth0\", name, in_ifc, out_ifc,\n                                                      ipaddr, macaddr, fn, cmd, action,\n                                                      disable_ipv6)\n        return (ns_ipdb, out_ifc, in_ifc)\n\n    def release(self):\n        if self.released: return\n        self.released = True\n        for p in self.processes:\n            if p.released: continue\n            try:\n                p.kill()\n                p.wait()\n            except:\n                pass\n            finally:\n                p.release()\n        for name, db in self.ipdbs.items(): db.release()\n        for ns in self.namespaces: ns.remove()\n\n"
  },
  {
    "path": "examples/networking/sockmap.py",
    "content": "#!/usr/bin/python\n# @lint-avoid-python-3-compatibility-imports\n#\n# Copyright (c) 2021 Chenyue Zhou\n\nfrom __future__ import print_function\nimport os\nimport sys\nimport time\nimport atexit\nimport argparse\n\nfrom bcc import BPF, BPFAttachType, lib\n\n\nexamples = \"\"\"examples:\n    ./sockmap.py -c /root/cgroup # attach to /root/cgroup\n\"\"\"\nparser = argparse.ArgumentParser(\n        description=\"pipe data across multiple sockets\",\n        formatter_class=argparse.RawDescriptionHelpFormatter,\n        epilog=examples)\nparser.add_argument(\"-c\", \"--cgroup\", required=True,\n        help=\"Specify the cgroup address. Note. must be cgroup2\")\n\nbpf_text = '''\n#include <net/sock.h>\n\n#define MAX_SOCK_OPS_MAP_ENTRIES 65535\n\nstruct sock_key {\n    u32 remote_ip4;\n    u32 local_ip4;\n    u32 remote_port;\n    u32 local_port;\n    u32 family;\n};\n\nBPF_SOCKHASH(sock_hash, struct sock_key, MAX_SOCK_OPS_MAP_ENTRIES);\n\nstatic __always_inline void bpf_sock_ops_ipv4(struct bpf_sock_ops *skops) {\n    volatile __u32 remote_ip4 = skops->remote_ip4;\n    struct sock_key skk = {\n        .remote_ip4 = remote_ip4,\n        .local_ip4  = skops->local_ip4,\n        .local_port = skops->local_port,\n        .remote_port  = bpf_ntohl(skops->remote_port),\n        .family = skops->family,\n    };\n    int ret;\n\n    bpf_trace_printk(\"remote-port: %d, local-port: %d\\\\n\", skk.remote_port,\n                     skk.local_port);\n    ret = sock_hash.sock_hash_update(skops, &skk, BPF_NOEXIST);\n    if (ret) {\n        bpf_trace_printk(\"bpf_sock_hash_update() failed. %d\\\\n\", -ret);\n        return;\n    }\n\n    bpf_trace_printk(\"Sockhash op: %d, port %d --> %d\\\\n\", skops->op,\n                     skk.local_port, skk.remote_port);\n}\n\nint bpf_sockhash(struct bpf_sock_ops *skops) {\n    u32 op = skops->op;\n\n    /* ipv4 only */\n    if (skops->family != AF_INET)\n\treturn 0;\n\n    switch (op) {\n        case BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB:\n        case BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB:\n            bpf_sock_ops_ipv4(skops);\n            break;\n        default:\n            break;\n    }\n\n    return 0;\n}\n\nint bpf_redir(struct sk_msg_md *msg) {\n    if (msg->family != AF_INET)\n        return SK_PASS;\n\n    if (msg->remote_ip4 != msg->local_ip4)\n        return SK_PASS;\n\n    struct sock_key skk = {\n        .remote_ip4 = msg->local_ip4,\n        .local_ip4  = msg->remote_ip4,\n        .local_port = bpf_ntohl(msg->remote_port),\n        .remote_port = msg->local_port,\n        .family = msg->family,\n    };\n    int ret = 0;\n\n    ret = sock_hash.msg_redirect_hash(msg, &skk, BPF_F_INGRESS);\n    bpf_trace_printk(\"try redirect port %d --> %d\\\\n\", msg->local_port,\n                     bpf_ntohl(msg->remote_port));\n    if (ret != SK_PASS)\n        bpf_trace_printk(\"redirect port %d --> %d failed\\\\n\", msg->local_port,\n                         bpf_ntohl(msg->remote_port));\n\n    return ret;\n}\n'''\nargs = parser.parse_args()\nbpf = BPF(text=bpf_text)\nfunc_sock_ops = bpf.load_func(\"bpf_sockhash\", bpf.SOCK_OPS)\nfunc_sock_redir = bpf.load_func(\"bpf_redir\", bpf.SK_MSG)\n# raise if error\nfd = os.open(args.cgroup, os.O_RDONLY)\nmap_fd = lib.bpf_table_fd(bpf.module, b\"sock_hash\")\nbpf.attach_func(func_sock_ops, fd, BPFAttachType.CGROUP_SOCK_OPS)\nbpf.attach_func(func_sock_redir, map_fd, BPFAttachType.SK_MSG_VERDICT)\n\ndef detach_all():\n    bpf.detach_func(func_sock_ops, fd, BPFAttachType.CGROUP_SOCK_OPS)\n    bpf.detach_func(func_sock_redir, map_fd, BPFAttachType.SK_MSG_VERDICT)\n    print(\"Detaching...\")\n\natexit.register(detach_all)\n\nwhile True:\n    try:\n        bpf.trace_print()\n        sleep(1)\n    except KeyboardInterrupt:\n        sys.exit(0)\n"
  },
  {
    "path": "examples/networking/tc_perf_event.py",
    "content": "#!/usr/bin/python\n#\n# tc_perf_event.py  Output skb and meta data through perf event\n#\n# Copyright (c) 2016-present, Facebook, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nimport ctypes as ct\nimport pyroute2\nimport socket\n\nbpf_txt = \"\"\"\n#include <uapi/linux/if_ether.h>\n#include <uapi/linux/in6.h>\n#include <uapi/linux/ipv6.h>\n#include <uapi/linux/pkt_cls.h>\n#include <uapi/linux/bpf.h>\n\nBPF_PERF_OUTPUT(skb_events);\n\nstruct eth_hdr {\n\tunsigned char   h_dest[ETH_ALEN];\n\tunsigned char   h_source[ETH_ALEN];\n\tunsigned short  h_proto;\n};\n\nint handle_egress(struct __sk_buff *skb)\n{\n\tvoid *data = (void *)(long)skb->data;\n\tvoid *data_end = (void *)(long)skb->data_end;\n\tstruct eth_hdr *eth = data;\n\tstruct ipv6hdr *ip6h = data + sizeof(*eth);\n\tu32 magic = 0xfaceb00c;\n\n\t/* single length check */\n\tif (data + sizeof(*eth) + sizeof(*ip6h) > data_end)\n\t\treturn TC_ACT_OK;\n\n\tif (eth->h_proto == htons(ETH_P_IPV6) &&\n\t    ip6h->nexthdr == IPPROTO_ICMPV6)\n\t        skb_events.perf_submit_skb(skb, skb->len, &magic, sizeof(magic));\n\n\treturn TC_ACT_OK;\n}\"\"\"\n\ndef print_skb_event(cpu, data, size):\n    class SkbEvent(ct.Structure):\n        _fields_ =  [ (\"magic\", ct.c_uint32),\n                      (\"raw\", ct.c_ubyte * (size - ct.sizeof(ct.c_uint32))) ]\n\n    skb_event = ct.cast(data, ct.POINTER(SkbEvent)).contents\n    icmp_type = int(skb_event.raw[54])\n\n    # Only print for echo request\n    if icmp_type == 128:\n        src_ip = bytes(bytearray(skb_event.raw[22:38]))\n        dst_ip = bytes(bytearray(skb_event.raw[38:54]))\n        print(\"%-3s %-32s %-12s 0x%08x\" %\n              (cpu, socket.inet_ntop(socket.AF_INET6, src_ip),\n               socket.inet_ntop(socket.AF_INET6, dst_ip),\n               skb_event.magic))\n\ntry:\n    b = BPF(text=bpf_txt)\n    fn = b.load_func(\"handle_egress\", BPF.SCHED_CLS)\n\n    ipr = pyroute2.IPRoute()\n    ipr.link(\"add\", ifname=\"me\", kind=\"veth\", peer=\"you\")\n    me = ipr.link_lookup(ifname=\"me\")[0]\n    you = ipr.link_lookup(ifname=\"you\")[0]\n    for idx in (me, you):\n        ipr.link('set', index=idx, state='up')\n\n    ipr.tc(\"add\", \"clsact\", me)\n    ipr.tc(\"add-filter\", \"bpf\", me, \":1\", fd=fn.fd, name=fn.name,\n           parent=\"ffff:fff3\", classid=1, direct_action=True)\n\n    b[\"skb_events\"].open_perf_buffer(print_skb_event)\n    print('Try: \"ping6 ff02::1%me\"\\n')\n    print(\"%-3s %-32s %-12s %-10s\" % (\"CPU\", \"SRC IP\", \"DST IP\", \"Magic\"))\n    try:\n        while True:\n            b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        pass\nfinally:\n    if \"me\" in locals(): ipr.link(\"del\", index=me)\n"
  },
  {
    "path": "examples/networking/tcp_mon_block/README.md",
    "content": "# eBPF tcp_mon_block\n\nThis eBPF program uses netlink TC, kernel tracepoints and kprobes to monitor outgoing connections from given PIDs (usually HTTP web servers) and block connections to all addresses initiated from them, unless they are listed in allow_list.json\n\nTo run the example:\n\n    1. Run python3 web_server.py . Note the server's PID (will be printed to stdout)\n    2. Add the server's PID to allow_list.json . You can replace the first entry on the JSON file and put your PID instead\n    3. Run tcp_mon_block.py -i network_interface_name (-v for verbose output). For example: python3 tcp_mon_block.py -i eth0\n    4. Put your web_server's listening IP in 'server_address' variable in http_client.py and run python3 http_client.py\n\n**Explanation**:\n\nweb_server.py is a simple HTTP web server built with flask. It has a SSRF vulnerability in the route to /public_ip  (you can read more about this vulnerability here https://portswigger.net/web-security/ssrf).\n\nThis route demonstrates a web server which connects to some remote API server (which is pretty common behavior) and receives some data. The attached POC simply connects to https://api.ipify.org and fetches the server's public IP, then sends it back to the client.\nHowever, this specific route receives the API address to connect to from the user (http_client.py is used as the client in this POC, but in real life scenarios it will probably be a web browser).\n\nThis creates a SSRF vulnerability as an attacker can put any address he/she wishes to force the web server to connect to it instead of the intended API address (https://api.ipify.org)\n\n**Run the POC twice:**\n\n**First**, run only web_server.py and http_client.py . http_client.py will send 2 requests to the web server:\n\n    - The first one send HTTP GET request to the web server with 'https://api.ipify.org' address as the 'api' parameter, as intended to be used by the web server.\n    - The second one sends HTTP GET request to the web server with 'https://api.macvendors.com' address as the 'api' parameter. This exploits the vulnerability, as it forces the web server to connect to a different address than intended at /public_ip route.\n\n\n**Now run the POC again**\n\nFirst run web_server.py but this time add the web server's PID to allow_list.json and then run tcp_mon_block.py as mentioned earlier.\n\nThis will make sure the web server will only connect to the predefined allow_list of addresses (this can be either an IPv4, URL or domain name), essentially blocking any connection to any address not listed in the allow_list.\n\nLastly, run http_client.py again:\n\n    - The first reqeusts sends HTTP GET request to the web server with 'https://api.ipify.org' address as the 'api' parameter, as intended to be used by the web server.\n    - The second reqeusts sends HTTP GET request to the web server with 'https://api.macvendors.com' address as the 'api' parameter. This time the exploitation attempt will be blocked by tcp_mon_block.py and the client should receive an error.\n\n\nMonitoring started:\n\n![alt text](https://github.com/agentzex/ebpf_tcp_mon_block/blob/main/screenshots/1.JPG)\n\n\nAfter web_server.py initiated a connection to a non-allowed address:\n\n![alt text](https://github.com/agentzex/ebpf_tcp_mon_block/blob/main/screenshots/2.JPG)\n\n\n\n**Prerequisites**:\n\n    1. BCC and pyroute2 for tcp_mon_block\n    2. Python3 flask and requests in order to run the web_server.py and http_client.py POC\n    3. Tested on Ubuntu with kernel version 5.15.0-57\n\n"
  },
  {
    "path": "examples/networking/tcp_mon_block/src/allow_list.json",
    "content": "[\n  {\n  \"pid\": \"53927\",\n  \"allow_list\": [\"192.168.1.2\", \"192.168.1.3\", \"https://api.ipify.org\"]\n  },\n  {\n  \"pid\": \"1111\",\n  \"allow_list\": [\"192.168.1.2\"]\n  }\n]\n"
  },
  {
    "path": "examples/networking/tcp_mon_block/src/http_client.py",
    "content": "import requests\n\n\nserver_address = \"192.168.1.42\"\napi_address = \"https://api.ipify.org\"\n\n# https://api.ipify.org should be allowed on default\nprint(requests.get(f\"http://{server_address}/public_ip\", params={\"api\": api_address}).content.decode())\n\n# Now let's use an address which isn't on the allow list. This is an MAC address to Vendor API.\n# If tcp_mon_block is running and filtering the Flask's server PID, this request should fail! otherwise we should receive a response\napi_address = \"https://api.macvendors.com/00:0c:29:de:b1:fd\"\n\nprint(requests.get(f\"http://{server_address}/public_ip\", params={\"api\": api_address}).content.decode())\n"
  },
  {
    "path": "examples/networking/tcp_mon_block/src/tcp_mon_block.c",
    "content": "/*author: https://github.com/agentzex\nLicensed under the Apache License, Version 2.0 (the \"License\")\n\ntcp_mon_block.c - uses netlink TC, kernel tracepoints and kprobes to monitor outgoing connections from given PIDs\nand block connections to all addresses initiated from them (acting like an in-process firewall), unless they are listed in allow_list\n*/\n\n#include <uapi/linux/bpf.h>\n#include <uapi/linux/ptrace.h>\n#include <linux/tcp.h>\n#include <net/sock.h>\n#include <net/inet_sock.h>\n#include <linux/in.h>\n#include <linux/if_ether.h>\n#include <linux/if_packet.h>\n#include <uapi/linux/if_ether.h>\n#include <uapi/linux/ip.h>\n#include <linux/tcp.h>\n#include <uapi/linux/pkt_cls.h>\n#include <linux/fs.h>\n#include <linux/uaccess.h>\n\n\ntypedef struct\n{\n    u32 src_ip;\n    u16 src_port;\n    u32 dst_ip;\n    u16 dst_port;\n    u32 pid;\n    u8 tcp_flags;\n    char comm[TASK_COMM_LEN];\n} full_packet;\n\n\ntypedef struct\n{\n    u8 state;\n    u32 src_ip;\n    u16 src_port;\n    u32 dst_ip;\n    u16 dst_port;\n    u32 pid;\n    char comm[TASK_COMM_LEN];\n} verbose_event;\n\n\ntypedef struct\n{\n    u32 src_ip;\n    u16 src_port;\n    u32 dst_ip;\n    u16 dst_port;\n} key_hash;\n\n\nBPF_HASH(monitored_connections, key_hash, full_packet);\nBPF_HASH(allow_list, u32, u32);\nBPF_HASH(pid_list, u32, u32);\nBPF_PERF_OUTPUT(blocked_events);\nBPF_PERF_OUTPUT(verbose_events);\n\n\n#ifndef tcp_flag_byte\n#define tcp_flag_byte(th) (((u_int8_t *)th)[13])\n#endif\n\n\nstatic bool VERBOSE_OUTPUT = false;\n\n\nstatic __always_inline int tcp_header_bound_check(struct tcphdr* tcp, void* data_end)\n{\n    if ((void *)tcp + sizeof(*tcp) > data_end)\n    {\n        return -1;\n    }\n\n    return 0;\n}\n\n\nstatic void make_verbose_event(verbose_event *v, u32 src_ip, u32 dst_ip, u16 src_port, u16 dst_port, u32 pid, u8 state)\n{\n    v->src_ip = src_ip;\n    v->src_port = src_port;\n    v->dst_ip = dst_ip;\n    v->dst_port = dst_port;\n    v->pid = pid;\n    v->state = state;\n    bpf_get_current_comm(&v->comm, sizeof(v->comm));\n}\n\n\nint handle_egress(struct __sk_buff *ctx)\n{\n    void* data_end = (void*)(long)ctx->data_end;\n    void* data = (void*)(long)ctx->data;\n    struct ethhdr *eth = data;\n    struct iphdr *ip = data + sizeof(*eth);\n    struct tcphdr *tcp;\n    key_hash key = {};\n\n    /* length check */\n    if (data + sizeof(*eth) + sizeof(*ip) > data_end)\n    {\n        return TC_ACT_OK;\n    }\n\n    if (eth->h_proto != htons(ETH_P_IP))\n    {\n        return TC_ACT_OK;\n    }\n\n    if (ip->protocol != IPPROTO_TCP)\n    {\n        return TC_ACT_OK;\n    }\n\n    tcp = (void *)ip + sizeof(*ip);\n    if (tcp_header_bound_check(tcp, data_end))\n    {\n        return TC_ACT_OK;\n    }\n\n    u8 tcpflags = ((u_int8_t *)tcp)[13];\n    u16 src_port = bpf_ntohs(tcp->source);\n    u16 dst_port = bpf_ntohs(tcp->dest);\n\n    key.src_ip = ip->saddr;\n    key.src_port = src_port;\n    key.dst_ip = ip->daddr;\n    key.dst_port = dst_port;\n\n    full_packet *packet_value;\n    packet_value = monitored_connections.lookup(&key);\n    if (packet_value != 0)\n    {\n        packet_value->tcp_flags = tcpflags;\n        blocked_events.perf_submit(ctx, packet_value, sizeof(full_packet));\n        return TC_ACT_SHOT;\n    }\n\n    return TC_ACT_OK;\n}\n\n\n// Removing the entry from monitored_connections when the socket closes after failed connection\nTRACEPOINT_PROBE(sock, inet_sock_set_state)\n{\n    if (args->protocol != IPPROTO_TCP)\n    {\n        return 0;\n    }\n\n    if (args->newstate != TCP_CLOSE && args->newstate != TCP_CLOSE_WAIT)\n    {\n        return 0;\n    }\n\n    if (args->family == AF_INET)\n    {\n        key_hash key = {};\n        struct sock *sk = (struct sock *)args->skaddr;\n\n        key.src_port = args->sport;\n        key.dst_port = args->dport;\n        __builtin_memcpy(&key.src_ip, args->saddr, sizeof(key.src_ip));\n        __builtin_memcpy(&key.dst_ip, args->daddr, sizeof(key.dst_ip));\n\n        full_packet *packet_value;\n        packet_value = monitored_connections.lookup(&key);\n        if (packet_value != 0)\n        {\n            monitored_connections.delete(&key);\n            if (VERBOSE_OUTPUT)\n            {\n                verbose_event v = {};\n                make_verbose_event(&v, packet_value->src_ip, packet_value->dst_ip, packet_value->src_port, packet_value->dst_port, packet_value->pid, 3);\n                verbose_events.perf_submit(args, &v, sizeof(v));\n            }\n\n        }\n    }\n\n    return 0;\n}\n\n\n\n\nint trace_connect_entry(struct pt_regs *ctx, struct sock *sk)\n{\n    key_hash key = {};\n    full_packet packet_value = {};\n    u8 verbose_state = 0;\n\n    u16 family = sk->__sk_common.skc_family;\n    if (family != AF_INET)\n    {\n        return 0;\n    }\n\n    u32 pid = bpf_get_current_pid_tgid() >> 32;\n    u16 dst_port = sk->__sk_common.skc_dport;\n    dst_port = ntohs(dst_port);\n    u16 src_port = sk->__sk_common.skc_num;\n    u32 src_ip = sk->__sk_common.skc_rcv_saddr;\n    u32 dst_ip = sk->__sk_common.skc_daddr;\n\n    u32 *monitored_pid = pid_list.lookup(&pid);\n    if (!monitored_pid)\n    {\n        return 0;\n    }\n\n    u32 *allowed_ip = allow_list.lookup(&dst_ip);\n    if (!allowed_ip)\n    {\n        key.src_ip = src_ip;\n        key.src_port = src_port;\n        key.dst_ip = dst_ip;\n        key.dst_port = dst_port;\n\n        packet_value.src_ip = src_ip;\n        packet_value.src_port = src_port;\n        packet_value.dst_ip = dst_ip;\n        packet_value.dst_port = dst_port;\n        packet_value.pid = pid;\n        bpf_get_current_comm(&packet_value.comm, sizeof(packet_value.comm));\n        verbose_state = 1;\n        monitored_connections.update(&key, &packet_value);\n    }\n    else\n    {\n        verbose_state = 2;\n    }\n\n    if (VERBOSE_OUTPUT)\n    {\n        verbose_event v = {};\n        make_verbose_event(&v, src_ip, dst_ip, src_port, dst_port, pid, verbose_state);\n        verbose_events.perf_submit(ctx, &v, sizeof(v));\n    }\n\n    return 0;\n}"
  },
  {
    "path": "examples/networking/tcp_mon_block/src/tcp_mon_block.py",
    "content": "#!/usr/bin/python\n# author: https://github.com/agentzex\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\n# tcp_mon_block.py - uses netlink TC, kernel tracepoints and kprobes to monitor outgoing connections from given PIDs\n# and block connections to all addresses initiated from them (acting like an in-process firewall), unless they are listed in allow_list\n\n# outputs blocked connections attempts from monitored processes\n# Usage:\n#   python3 tcp_mon_block.py -i network_interface_name\n#   python3 tcp_mon_block.py -v -i network_interface_name (-v --verbose - will output all connections attempts, including allowed ones)\n#\n\n\nfrom bcc import BPF\nimport pyroute2\nimport socket\nimport struct\nimport json\nimport argparse\nfrom urllib.parse import urlparse\n\n\n# TCP flags\nFIN = 0x01\nSYN = 0x02\nRST = 0x04\nPSH = 0x08\nACK = 0x10\nURG = 0x20\nECE = 0x40\nCWR = 0x80\n\n\nverbose_states = {\n    1: \"Connection not allowed detected - forwarding to block\",\n    2: \"Connection allowed\",\n    3: \"Connection destroyed\",\n}\n\n\ndef get_verbose_message(state):\n    if state not in verbose_states:\n        return \"\"\n\n    return verbose_states[state]\n\n\ndef parse_tcp_flags(flags):\n    found_flags = \"\"\n    if flags & FIN:\n        found_flags += \"FIN; \"\n    if flags & SYN:\n        found_flags += \"SYN; \"\n    if flags & RST:\n        found_flags += \"RST; \"\n    if flags & PSH:\n        found_flags += \"PSH; \"\n    if flags & ACK:\n        found_flags += \"ACK; \"\n    if flags & URG:\n        found_flags += \"URG; \"\n    if flags & ECE:\n        found_flags += \"ECE; \"\n    if flags & CWR:\n        found_flags += \"CWR;\"\n\n    return found_flags\n\n\ndef ip_to_network_address(ip):\n    return struct.unpack(\"I\", socket.inet_aton(ip))[0]\n\n\ndef network_address_to_ip(ip):\n    return socket.inet_ntop(socket.AF_INET, struct.pack(\"I\", ip))\n\n\ndef parse_address(url_or_ip):\n    is_ipv4 = True\n    domain = \"\"\n\n    #first check if valid ipv4\n    try:\n        socket.inet_aton(url_or_ip)\n    except socket.error:\n        is_ipv4 = False\n\n    if is_ipv4:\n        return [url_or_ip]\n\n    # if not check if valid URL, parse and get its domain, resolve it to IPv4 and return it\n    try:\n        domain = urlparse(url_or_ip).netloc\n    except:\n        print(f\"[-] {url_or_ip} is invalid IPv4 or URL\")\n        return False\n\n    # should get a list of IPv4 addresses resolved from the domain\n    try:\n        hostname, aliaslist, ipaddrlist = socket.gethostbyname_ex(domain)\n    except:\n        print(f\"[-] Failed to resolve {url_or_ip} to Ipv4\")\n        return False\n\n    return ipaddrlist\n\n\ndef create_bpf_allow_list(bpf):\n    bpf_allow_list = bpf.get_table(\"allow_list\")\n    bpf_pid_list = bpf.get_table(\"pid_list\")\n    with open(\"allow_list.json\", \"r\") as f:\n        pids_to_list = json.loads(f.read())\n\n    print(\"[+] Reading and parsing allow_list.json\")\n    for pid_to_list in pids_to_list:\n        try:\n            pid = int(pid_to_list[\"pid\"])\n        except ValueError:\n            print(f\"[-] invalid PID: {pid_to_list['pid']}\")\n            continue\n\n        print(f\"[+] Adding {pid} to monitored processes\")\n        bpf_pid_list[bpf_pid_list.Key(pid)] = bpf_pid_list.Leaf(pid)\n\n        for url_or_ip in pid_to_list[\"allow_list\"]:\n            ips = parse_address(url_or_ip)\n            if not ips:\n                continue\n            for ip in ips:\n                print(f\"[+] Adding {ip} to allowed IPs\")\n                ip = ip_to_network_address(ip)\n                bpf_allow_list[bpf_allow_list.Key(ip)] = bpf_allow_list.Leaf(ip)\n\n\ndef create_tc(interface):\n    ip = pyroute2.IPRoute()\n    ipdb = pyroute2.IPDB(nl=ip)\n    try:\n        idx = ipdb.interfaces[interface].index\n    except:\n        print(f\"[-] {interface} interface not found\")\n        return False, False, False\n\n    try:\n        # deleting if exists from previous run\n        ip.tc(\"del\", \"clsact\", idx)\n    except:\n        pass\n    ip.tc(\"add\", \"clsact\", idx)\n    return ip, ipdb, idx\n\n\ndef parse_blocked_event(cpu, data, size):\n    event = bpf[\"blocked_events\"].event(data)\n    src_ip = network_address_to_ip(event.src_ip)\n    dst_ip = network_address_to_ip(event.dst_ip)\n    flags = parse_tcp_flags(event.tcp_flags)\n    print(f\"{event.pid}: {event.comm.decode()} - {src_ip}:{event.src_port} -> {dst_ip}:{event.dst_port} Flags: {flags} was blocked!\")\n\n\ndef parse_verbose_event(cpu, data, size):\n    event = bpf[\"verbose_events\"].event(data)\n    src_ip = network_address_to_ip(event.src_ip)\n    dst_ip = network_address_to_ip(event.dst_ip)\n    verbose_message = get_verbose_message(event.state)\n    print(f\"{event.pid}: {event.comm.decode()} - {src_ip}:{event.src_port} -> {dst_ip}:{event.dst_port} - {verbose_message}\")\n\n\n\nparser = argparse.ArgumentParser(description=\"Monitor given PIDs and block outgoing connections to all addresses initiated from them, unless they are listed in allow_list.json\")\nparser.add_argument(\"-i\", \"--interface\", help=\"Network interface name to monitor traffic on\", required=True, type=str)\nparser.add_argument(\"-v\", \"--verbose\", action=\"store_true\", help=\"Set verbose output\")\nargs = parser.parse_args()\nprint(f\"[+] Monitoring {args.interface} interface\")\n\n\nwith open(\"tcp_mon_block.c\", \"r\") as f:\n    bpf_text = f.read()\n\nif args.verbose:\n    print(\"[+] Verbose output is ON!\")\n    bpf_text = bpf_text.replace(\"static bool VERBOSE_OUTPUT = false\", \"static bool VERBOSE_OUTPUT = true\")\n\n\nip, ipdb, idx = create_tc(args.interface)\nif not ip:\n    exit(-1)\n\nbpf = BPF(text=bpf_text)\ncreate_bpf_allow_list(bpf)\n\n# loading kprobe\nbpf.attach_kprobe(event=\"tcp_connect\", fn_name=\"trace_connect_entry\")\n\n# loading TC\nfn = bpf.load_func(\"handle_egress\", BPF.SCHED_CLS)\n\n#default parent handlers:\n#https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/pkt_sched.h?id=1f211a1b929c804100e138c5d3d656992cfd5622\n#define TC_H_MIN_INGRESS\t0xFFF2U\n#define TC_H_MIN_EGRESS\t\t0xFFF3U\n\nip.tc(\"add-filter\", \"bpf\", idx, \":1\", fd=fn.fd, name=fn.name, parent=\"ffff:fff3\", classid=1, direct_action=True)\nbpf[\"blocked_events\"].open_perf_buffer(parse_blocked_event)\nbpf[\"verbose_events\"].open_perf_buffer(parse_verbose_event)\n\n\nprint(\"[+] Monitoring started\\n\")\nwhile True:\n    try:\n        bpf.perf_buffer_poll()\n    except KeyboardInterrupt:\n        break\n\nip.tc(\"del\", \"clsact\", idx)\nipdb.release()\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "examples/networking/tcp_mon_block/src/web_server.py",
    "content": "from flask import Flask, request\nimport requests\nimport os\n\n# Forcing requests to use IPV4 addresses only currently\nrequests.packages.urllib3.util.connection.HAS_IPV6 = False\n\napp = Flask(__name__)\n\n\n@app.route('/', methods=['GET'])\ndef index():\n    return \"Hello World!\"\n\n\n# A simple route which is vulnerable to SSRF attack.\n# On normal usage, it uses an API service to get the server's public IP, this demonstrates outgoing connections from a web server\n# Extra read: https://portswigger.net/web-security/ssrf\n@app.route('/public_ip', methods=['GET'])\ndef public_ip():\n    try:\n        api = request.args[\"api\"]\n    except Exception as e:\n        return \"Missing api argument\"\n\n    # On expected connection to http://api.ipify.org the output here should be the server's public IP\n    server_ip = requests.get(api).content.decode()\n    return f\"Server public IP is: {server_ip}\"\n\n\nif __name__ == '__main__':\n    print(f\"Web server running on PID: {str(os.getpid())}\")\n    app.run(host=\"0.0.0.0\", port=80)\n\n"
  },
  {
    "path": "examples/networking/tunnel_monitor/CMakeLists.txt",
    "content": "set(FILES README.md chord.png monitor.c simulation.py vxlan.jpg)\nset(PROGRAMS main.py monitor.py setup.sh traffic.sh)\ninstall(FILES ${FILES} DESTINATION share/bcc/examples/networking/tunnel_monitor)\ninstall(PROGRAMS ${PROGRAMS} DESTINATION share/bcc/examples/networking/tunnel_monitor)"
  },
  {
    "path": "examples/networking/tunnel_monitor/README.md",
    "content": "## Tunnel Monitor Example\n\nThis example shows how to use a BPF program to parse packets across an\nencapsulation boundary. It uses this ability to record inner+outer ip addresses\nas well as vxlan id into a hash table. The entries in that table store bytes\nand packets received/transmitted. One novel part of this program is its use of\n`bpf_tail_call` to parse two different IP headers (inner/outer) using the same\nstate machine logic.\n\nAlso part of this example is a simulation of a multi-host environment with an\noverlay network (using vxlan in this case), and each host contains multiple\nclients in different segments of the overlay network. The script `traffic.sh`\ncan be used to simulate a subset of clients on host0 talking to various other\nclients+hosts at different traffic rates.\n\n![Overlay Diagram](vxlan.jpg)\n\nOnce the simulation is running, the statistics kept by the BPF program can be\ndisplayed to give a visual clue as to the nature of the traffic flowing over\nthe physical interface, post-encapsulation.\n\n![Chord Diagram](chord.png)\n\nTo get the example running, change into the examples/tunnel_monitor directory.\nIf this is the first time, run `setup.sh` to pull in the UI component and\ndependencies. You will need nodejs+npm installed on the system to run this, but\nthe setup script will only install packages in the local directory.\n\n```\n[user@localhost tunnel_monitor]$ ./setup.sh\nCloning into 'chord-transitions'...\nremote: Counting objects: 294, done.\n...\njquery#2.1.4 bower_components/jquery\nmodernizr#2.8.3 bower_components/modernizr\nfastclick#1.0.6 bower_components/fastclick\n[user@localhost tunnel_monitor]$\n```\n\nThen, start the simulation by running main.py:\n\n```\n[root@bcc-dev tunnel_monitor]# python main.py\nLaunching host 1 of 9\nLaunching host 2 of 9\n...\nStarting tunnel 8 of 9\nStarting tunnel 9 of 9\nHTTPServer listening on 0.0.0.0:8080\nPress enter to quit:\n```\n\nThe prompt will remain until you choose to exit. In the background, the script\nhas started a python SimpleHTTPServer on port 8080, which you may now try to\nconnect to from your browser. There will likely be a blank canvas until traffic\nis sent through the tunnels.\n\nTo simulate traffic, use the traffic.sh script to generate a distribution of\npings between various clients and hosts. Check back on the chord diagram to\nsee a visualization. Try clicking on a host IP address to see a breakdown of\nthe inner IP addresses sent to/from that host.\n\nAs an exercise, try modifying the traffic.sh script to cause one of the clients\nto send much more traffic than the others, and use the chord diagram to identify\nthe culprit.\n"
  },
  {
    "path": "examples/networking/tunnel_monitor/main.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom builtins import input\nfrom http.server import HTTPServer, SimpleHTTPRequestHandler\nfrom netaddr import IPNetwork\nfrom os import chdir\nfrom pyroute2 import IPRoute, NetNS, IPDB, NSPopen\nfrom random import choice, randint\nfrom simulation import Simulation\nfrom socket import htons\nfrom threading import Thread\nimport sys\n\nipr = IPRoute()\nipdb = IPDB(nl=ipr)\n\nnum_hosts = 9\nnum_vnis = 4\nnull = open(\"/dev/null\", \"w\")\n\nclass TunnelSimulation(Simulation):\n    def __init__(self, ipdb):\n        super(TunnelSimulation, self).__init__(ipdb)\n        self.available_ips = [list(IPNetwork(\"192.168.%d.0/24\" % i)[1:-1])\n                              for i in range(0, num_vnis)]\n\n    def start(self):\n        # each entry is tuple of ns_ipdb, out_ifc, in_ifc\n        host_info = []\n        for i in range(0, num_hosts):\n            print(\"Launching host %i of %i\" % (i + 1, num_hosts))\n            ipaddr = \"172.16.1.%d/24\" % (100 + i)\n            host_info.append(self._create_ns(\"host%d\" % i, ipaddr=ipaddr))\n        with self.ipdb.create(ifname=\"br100\", kind=\"bridge\") as br100:\n            for host in host_info: br100.add_port(host[1])\n            br100.up()\n        # create a vxlan device inside each namespace\n        for host in host_info:\n            print(\"Starting tunnel %i of %i\" % (len(self.processes) + 1, num_hosts))\n            cmd = [\"netserver\", \"-D\"]\n            self.processes.append(NSPopen(host[0].nl.netns, cmd, stdout=null))\n            for i in range(0, num_vnis):\n                with host[0].create(ifname=\"vxlan%d\" % i, kind=\"vxlan\",\n                                    vxlan_id=10000 + i,\n                                    vxlan_link=host[0].interfaces.eth0,\n                                    vxlan_port=4789,\n                                    vxlan_group=\"239.1.1.%d\" % (1 + i)) as vx:\n                    vx.up()\n                with host[0].create(ifname=\"br%d\" % i, kind=\"bridge\") as br:\n                    br.add_port(host[0].interfaces[\"vxlan%d\" % i])\n                    br.up()\n                    with host[0].create(ifname=\"c%da\" % i, kind=\"veth\",\n                                        peer=\"c%db\" % i) as c:\n                        c.up()\n                        c.add_ip(\"%s/24\" % self.available_ips[i].pop(0))\n                        c.mtu = 1450\n                    br.add_port(host[0].interfaces[\"c%db\" % i])\n                    host[0].interfaces[\"c%db\" % i].up().commit()\n\n        # pick one host to start the monitor in\n        host = host_info[0]\n        cmd = [\"python\", \"monitor.py\"]\n        p = NSPopen(host[0].nl.netns, cmd)\n        self.processes.append(p)\n\n    def serve_http(self):\n        chdir(\"chord-transitions\")\n        # comment below line to see http server log messages\n        SimpleHTTPRequestHandler.log_message = lambda self, format, *args: None\n        self.srv = HTTPServer((\"\", 8080), SimpleHTTPRequestHandler)\n        self.t = Thread(target=self.srv.serve_forever)\n        self.t.setDaemon(True)\n        self.t.start()\n        print(\"HTTPServer listening on 0.0.0.0:8080\")\n\ntry:\n    sim = TunnelSimulation(ipdb)\n    sim.start()\n    sim.serve_http()\n    input(\"Press enter to quit:\")\nfinally:\n    if \"br100\" in ipdb.interfaces: ipdb.interfaces.br100.remove().commit()\n    sim.release()\n    ipdb.release()\n    null.close()\n"
  },
  {
    "path": "examples/networking/tunnel_monitor/monitor.c",
    "content": "// Copyright (c) PLUMgrid, Inc.\n// Licensed under the Apache License, Version 2.0 (the \"License\")\n#include <bcc/proto.h>\n\nstruct ipkey {\n  u32 inner_sip;\n  u32 inner_dip;\n  u32 outer_sip;\n  u32 outer_dip;\n  u32 vni;\n};\nstruct counters {\n  u64 tx_pkts;\n  u64 rx_pkts;\n  u64 tx_bytes;\n  u64 rx_bytes;\n};\n\nBPF_HASH(stats, struct ipkey, struct counters, 1024);\nBPF_PROG_ARRAY(parser, 10);\n\nenum cb_index {\n  CB_FLAGS = 0,\n  CB_SIP,\n  CB_DIP,\n  CB_VNI,\n  CB_OFFSET,\n};\n\n// helper func to swap two memory locations\nstatic inline\nvoid swap32(u32 *a, u32 *b) {\n  u32 t = *a;\n  *a = *b;\n  *b = t;\n}\n\n// helper to swap the fields in an ipkey to give consistent ordering\nstatic inline\nvoid swap_ipkey(struct ipkey *key) {\n  swap32(&key->outer_sip, &key->outer_dip);\n  swap32(&key->inner_sip, &key->inner_dip);\n}\n\n#define IS_INGRESS 0x1\n// initial handler for each packet on an ingress tc filter\nint handle_ingress(struct __sk_buff *skb) {\n  skb->cb[CB_FLAGS] = IS_INGRESS;\n  parser.call(skb, 1);  // jump to generic packet parser\n  return 1;\n}\n\n// initial handler for each packet on an egress tc filter\nint handle_egress(struct __sk_buff *skb) {\n  skb->cb[CB_FLAGS] = 0;\n  parser.call(skb, 1);  // jump to generic packet parser\n  return 1;\n}\n\n// parse the outer vxlan frame\nint handle_outer(struct __sk_buff *skb) {\n  u8 *cursor = 0;\n\n  struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n\n  // filter bcast/mcast from the stats\n  if (ethernet->dst & (1ull << 40))\n    goto finish;\n\n  switch (ethernet->type) {\n    case 0x0800: goto ip;\n    default: goto finish;\n  }\n\nip: ;\n  struct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n  skb->cb[CB_SIP] = ip->src;\n  skb->cb[CB_DIP] = ip->dst;\n\n  switch (ip->nextp) {\n    case 17: goto udp;\n    default: goto finish;\n  }\n\nudp: ;\n  struct udp_t *udp = cursor_advance(cursor, sizeof(*udp));\n  switch (udp->dport) {\n    case 4789: goto vxlan;\n    default: goto finish;\n  }\n\nvxlan: ;\n  struct vxlan_t *vxlan = cursor_advance(cursor, sizeof(*vxlan));\n  skb->cb[CB_VNI] = vxlan->key;\n  skb->cb[CB_OFFSET] = (u64)vxlan + sizeof(*vxlan);\n  parser.call(skb, 2);\n\nfinish:\n  return 1;\n}\n\n// Parse the inner frame, whatever it may be. If it is ipv4, add the inner\n// source/dest ip to the key, for finer grained stats\nint handle_inner(struct __sk_buff *skb) {\n  int is_ingress = skb->cb[CB_FLAGS] & IS_INGRESS;\n  struct ipkey key = {\n    .vni=skb->cb[CB_VNI],\n    .outer_sip = skb->cb[CB_SIP],\n    .outer_dip = skb->cb[CB_DIP]\n  };\n  u8 *cursor = (u8 *)(u64)skb->cb[CB_OFFSET];\n\n  struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n  switch (ethernet->type) {\n    case 0x0800: goto ip;\n    default: goto finish;\n  }\nip: ;\n  struct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n  key.inner_sip = ip->src;\n  key.inner_dip = ip->dst;\n\nfinish:\n  // consistent ordering\n  if (key.outer_dip < key.outer_sip)\n    swap_ipkey(&key);\n  struct counters zleaf = {0};\n  struct counters *leaf = stats.lookup_or_try_init(&key, &zleaf);\n  if (leaf) {\n    if (is_ingress) {\n      lock_xadd(&leaf->rx_pkts, 1);\n      lock_xadd(&leaf->rx_bytes, skb->len);\n    } else {\n      lock_xadd(&leaf->tx_pkts, 1);\n      lock_xadd(&leaf->tx_bytes, skb->len);\n    }\n  }\n  return 1;\n}\n"
  },
  {
    "path": "examples/networking/tunnel_monitor/monitor.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nfrom ctypes import c_uint, c_int, c_ulonglong, Structure\nimport json\nfrom netaddr import IPAddress\nfrom os import rename\nfrom pyroute2 import IPRoute, NetNS, IPDB, NSPopen\nimport sys\nfrom time import sleep\n\nipr = IPRoute()\nipdb = IPDB(nl=ipr)\n\nb = BPF(src_file=\"monitor.c\", debug=0)\ningress_fn = b.load_func(\"handle_ingress\", BPF.SCHED_CLS)\negress_fn = b.load_func(\"handle_egress\", BPF.SCHED_CLS)\nouter_fn = b.load_func(\"handle_outer\", BPF.SCHED_CLS)\ninner_fn = b.load_func(\"handle_inner\", BPF.SCHED_CLS)\nstats = b.get_table(\"stats\")\n# using jump table for inner and outer packet split\nparser = b.get_table(\"parser\")\nparser[c_int(1)] = c_int(outer_fn.fd)\nparser[c_int(2)] = c_int(inner_fn.fd)\n\nifc = ipdb.interfaces.eth0\n\nipr.tc(\"add\", \"ingress\", ifc.index, \"ffff:\")\nipr.tc(\"add-filter\", \"bpf\", ifc.index, \":1\", fd=ingress_fn.fd,\n       name=ingress_fn.name, parent=\"ffff:\", action=\"ok\", classid=1)\nipr.tc(\"add\", \"sfq\", ifc.index, \"1:\")\nipr.tc(\"add-filter\", \"bpf\", ifc.index, \":1\", fd=egress_fn.fd,\n       name=egress_fn.name, parent=\"1:\", action=\"ok\", classid=1)\n\ndef stats2json(k, v):\n    return {\n        \"vni\": int(k.vni),\n        \"outer_sip\": str(IPAddress(k.outer_sip)),\n        \"outer_dip\": str(IPAddress(k.outer_dip)),\n        \"inner_sip\": str(IPAddress(k.inner_sip)),\n        \"inner_dip\": str(IPAddress(k.inner_dip)),\n        \"tx_pkts\": v.tx_pkts, \"tx_bytes\": v.tx_bytes,\n        \"rx_pkts\": v.rx_pkts, \"rx_bytes\": v.rx_bytes,\n    }\n\ndef delta_stats(v, oldv):\n    return stats.Leaf(v.tx_pkts - oldv.tx_pkts, v.rx_pkts - oldv.rx_pkts,\n                      v.tx_bytes - oldv.tx_bytes, v.rx_bytes - oldv.rx_bytes)\ndef key2str(k):\n    return \"%s,%s,%d,%s,%s\" % (IPAddress(k.outer_sip), IPAddress(k.outer_dip), k.vni,\n                               IPAddress(k.inner_sip), IPAddress(k.inner_dip))\n\nprev = {}\n\nwhile True:\n    result_total = []\n    result_delta = []\n    tmp = {}\n    # compute both the total and last-N-seconds statistics\n    for k, v in stats.items():\n        # subtract the previous totals from the current, or 0 if none exists\n        v2 = delta_stats(v, prev.get(key2str(k), stats.Leaf(0, 0, 0, 0)))\n        if v2.tx_pkts != 0 or v2.rx_pkts != 0:\n            result_delta.append(stats2json(k, v2))\n        tmp[key2str(k)] = v\n        result_total.append(stats2json(k, v))\n\n    prev = tmp\n\n    with open(\"./chord-transitions/data/tunnel.json.new\", \"w\") as f:\n        json.dump(result_total, f)\n    rename(\"./chord-transitions/data/tunnel.json.new\", \"./chord-transitions/data/tunnel.json\")\n    with open(\"./chord-transitions/data/tunnel-delta.json.new\", \"w\") as f:\n        json.dump(result_delta, f)\n    rename(\"./chord-transitions/data/tunnel-delta.json.new\", \"./chord-transitions/data/tunnel-delta.json\")\n    sleep(5)\nipdb.release()\n\n"
  },
  {
    "path": "examples/networking/tunnel_monitor/setup.sh",
    "content": "#!/bin/bash\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\n# this script:\n#  1. checks for bower to be installed\n#  2. clones the chord-transitions UI from github\n#  3. installs locally the packages required by the UI\n\nfunction which_() { hash \"$1\" &>/dev/null; }\n\nif [[ ! -d chord-transitions ]]; then\n  git clone https://github.com/iovisor/chord-transitions.git\nfi\n\ncd chord-transitions\n\nexport PATH=node_modules/.bin:$PATH\n\nif ! which_ bower; then\n  if ! which_ npm; then\n    echo \"Error: required binary 'npm' not found, please install nodejs\"\n    exit 1\n  fi\n  npm install bower\nfi\n\nif [[ \"$(id -u)\" = \"0\" ]]; then\n  args=\"--allow-root\"\nfi\n\nbower install $args\n"
  },
  {
    "path": "examples/networking/tunnel_monitor/traffic.sh",
    "content": "#!/bin/bash\n\ncmd=\"ip netns exec host0\"\nif [[ \"$(id -u)\" != \"0\" ]]; then\n  cmd=\"sudo $cmd\"\nfi\n\nB=/usr/bin/byobu\nS=tunnel1\n\ntmux has-session -t $S &> /dev/null\n\nif [[ $? != 0 ]]; then\n  $B new-session -s $S -n \"c1\" -d\n  tmux send -t $S \"$cmd ping 192.168.0.1 -s512\" C-m\n  tmux new-window -t $S -n \"c2\"\n  tmux send -t $S \"$cmd ping 192.168.0.2 -s128\" C-m\n  tmux new-window -t $S -n \"c3\"\n  tmux send -t $S \"$cmd ping 192.168.0.3 -s1024\" C-m\n  tmux new-window -t $S -n \"c3\"\n  tmux send -t $S \"$cmd ping 192.168.0.4 -s128\" C-m\n  tmux new-window -t $S -n \"c3\"\n  tmux send -t $S \"$cmd ping 192.168.0.5 -s128\" C-m\n  tmux new-window -t $S -n \"c3\"\n  tmux send -t $S \"$cmd ping 192.168.0.6 -s128\" C-m\n  tmux new-window -t $S -n \"c4\"\n  tmux send -t $S \"$cmd ping 192.168.1.2 -s128\" C-m\n  tmux new-window -t $S -n \"c5\"\n  tmux send -t $S \"$cmd ping 192.168.1.4 -s768\" C-m\n  tmux new-window -t $S -n \"c2\"\n  tmux send -t $S \"$cmd ping 192.168.2.2 -s128\" C-m\n  tmux new-window -t $S -n \"c3\"\n  tmux send -t $S \"$cmd ping 192.168.2.7 -s1024\" C-m\n  tmux new-window -t $S -n \"c4\"\n  tmux send -t $S \"$cmd ping 192.168.2.2 -s128\" C-m\n  tmux new-window -t $S -n \"c5\"\n  tmux send -t $S \"$cmd ping 192.168.3.8 -s768\" C-m\n  tmux new-window -t $S -n \"c5\"\n  tmux send -t $S \"$cmd ping 192.168.3.9 -s768\" C-m\nfi\n\nexec tmux attach -t $S\n\n"
  },
  {
    "path": "examples/networking/vlan_filter/README.md",
    "content": "# VLAN Filter #\nThis is eBPF application to parse VXLAN packets and then extracts encapsulated VLAN packets to monitor traffic from each VLAN. Extracted packet header fields can be stored in a file or sent to remote server via Apache Kafka messaging system.\n\nAlso part of this example is a simulation of a multi-host environment. Simulation environment can be setup by using test_setup.sh script. Then a sample script (traffic.sh) can be used to send traffic from one client (VLAN=100) from host1 talking to another client at host2 and one client (VLAN=200) from host2 talking to another client at host1 while running vlan_filter application in parallel by using command 'python data-plane-tracing -i veth7'.\n\n![picture](scenario.jpg)\n\n### Usage Example ###\n* $ sudo python data-plane-tracing.py\n\nTimestamp | Host Name  | Host IP   | IP Version   | Source Host IP   | Dest Host IP   | Source Host Port   | Dest Host Port   | VNI   | Source VM MAC  | Dest VM MAC  | VLAN ID  | Source VM IP   | Dest VM IP   | Protocol   | Source VM Port   | Dest VM Port   | Packet Length   |\n---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---\n 2018-05-24 18:43:30.386228 | Box1 | x.x.x.x  | 4 | 10.1.1.11 | 10.1.1.12 | 54836 | 4789 | 10 | fa:16:3e:ec:22:99 | fa:16:3e:1c:6f:2d | 100 | 192.168.100.11 | 192.168.100.12 | 6 | 1285 | 20302 | 1200\n\n\n# Implementation overview #\nExample application implementation is split into two parts: the former that exploits eBPF code, the latter that performs some additional processing in user space (python wrapper).\n\n### First part: eBPF Filter ###\nThis component filters VXLAN packets.\nThe program is loaded as PROG_TYPE_SOCKET_FILTER and attached to a socket, bind to eth0.\nPackets matching VXLAN filter are forwarded to the user space, while other packets are dropped.\n\n### Python code in user space ###\nThe Python script reads filtered raw packets from the socket, extracts all the useful header fields and stores extracted packet into a file by default or can be sent to a remote server via Apache Kafka messaging system.\n\n# How to execute this example application #\nVLAN Filter application can be executed by using one of the below commands:\n* $ sudo python data-plane-tracing.py\n* $ sudo python data-plane-tracing -i eth2 -k vc.manage.overcloud:9092\n\n# How to install Required Dependencies\n* $ pip install kafka-python\n* $ pip install netifaces\n"
  },
  {
    "path": "examples/networking/vlan_filter/data-plane-tracing.c",
    "content": "#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n\n#define IP_TCP \t6\n#define IP_UDP 17\n#define IP_ICMP 1\n/*\n  In 802.3, both the source and destination addresses are 48 bits (4 bytes) MAC address.\n  6 bytes (src) + 6 bytes (dst) + 2 bytes (type) = 14 bytes\n*/\n#define ETH_HLEN 14\n\n/*eBPF program.\n  Filter TCP/UDP/ICMP packets, having payload not empty\n  if the program is loaded as PROG_TYPE_SOCKET_FILTER\n  and attached to a socket\n  return  0 -> DROP the packet\n  return -1 -> KEEP the packet and return it to user space (userspace can read it from the socket_fd )\n*/\nint vlan_filter(struct __sk_buff *skb) {\n\tu8 *cursor = 0;\n\n\tstruct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n\n\t//filter IP packets (ethernet type = 0x0800) 0x0800 is IPv4 packet\n\tswitch(ethernet->type){\n\t\tcase 0x0800: goto IP;\n\t    \tdefault: goto DROP;\n\t}\n\n\n\tIP: ;\n\t\tstruct ip_t *ip = cursor_advance(cursor, sizeof(*ip));  // IP header (datagram)\n\t        switch (ip->nextp){\n\t\t\tcase 17: goto UDP;\n\t\t\tdefault: goto DROP;\n\t\t}\n\n\tUDP: ;\n\t\tstruct udp_t *udp = cursor_advance(cursor, sizeof(*udp));\n\t\tswitch (udp->dport) {\n    \t\t\tcase 4789: goto KEEP;\n    \t\t\tdefault: goto DROP;\n  \t\t}\n\n\t//keep the packet and send it to userspace returning -1\n\tKEEP:\n\t\treturn -1;\n\n\t//drop the packet returning 0\n\tDROP:\n\t\treturn 0;\n}\n"
  },
  {
    "path": "examples/networking/vlan_filter/data-plane-tracing.py",
    "content": "#!/usr/bin/python\nfrom __future__ import print_function\nfrom bcc import BPF\n\nimport sys\nimport socket\nimport os\nimport argparse\nimport time\nimport netifaces as ni\n\nfrom sys import argv\nfrom kafka import KafkaProducer\nfrom kafka.errors import KafkaError\nfrom datetime import datetime\n\n#args\ndef usage():\n    print(\"USAGE: %s [-i <if_name>]\" % argv[0])\n    print(\"\")\n    print(\"Try '%s -h' for more options.\" % argv[0])\n    exit()\n\n#help\ndef help():\n    print(\"USAGE: %s [-i <if_name>][-k <kafka_server_name:kafka_port>]\" % argv[0])\n    print(\"\")\n    print(\"optional arguments:\")\n    print(\"   -h                       print this help\")\n    print(\"   -i if_name               select interface if_name. Default is eth0\")\n    print(\"   -k kafka_server_name     select kafka server name. Default is save to file\")\n    print(\"                            If -k option is not specified data will be saved to file.\")\n\n    print(\"\")\n    print(\"examples:\")\n    print(\"    data-plane-tracing                                      # bind socket to eth0\")\n    print(\"    data-plane-tracing -i eno2 -k vc.manage.overcloud:9092  # bind socket to eno2 and send data to kafka server in iovisor-topic.\")\n    exit()\n\n#arguments\ninterface=\"eth0\"\nkafkaserver=''\n\n#check provided arguments\nif len(argv) == 2:\n    if str(argv[1]) == '-h':\n        help()\n    else:\n        usage()\n\nif len(argv) == 3:\n    if str(argv[1]) == '-i':\n        interface = argv[2]\n    elif str(argv[1]) == '-k':\n        kafkaserver = argv[2]\n    else:\n        usage()\n\nif len(argv) == 5:\n    if str(argv[1]) == '-i':\n        interface = argv[2]\n        kafkaserver = argv[4]\n    elif str(argv[1]) == '-k':\n        kafkaserver = argv[2]\n        interface = argv[4]\n    else:\n        usage()\n\nif len(argv) > 5:\n    usage()\n\nprint (\"binding socket to '%s'\" % interface)\n\n#initialize BPF - load source code from http-parse-simple.c\nbpf = BPF(src_file = \"data-plane-tracing.c\", debug = 0)\n\n#load eBPF program http_filter of type SOCKET_FILTER into the kernel eBPF vm\n#more info about eBPF program types http://man7.org/linux/man-pages/man2/bpf.2.html\nfunction_vlan_filter = bpf.load_func(\"vlan_filter\", BPF.SOCKET_FILTER)\n\n#create raw socket, bind it to eth0\n#attach bpf program to socket created\nBPF.attach_raw_socket(function_vlan_filter, interface)\n\n#get file descriptor of the socket previously created inside BPF.attach_raw_socket\nsocket_fd = function_vlan_filter.sock\n\n#create python socket object, from the file descriptor\nsock = socket.fromfd(socket_fd,socket.PF_PACKET,socket.SOCK_RAW,socket.IPPROTO_IP)\n\n#set it as blocking socket\nsock.setblocking(True)\n\n#get interface ip address. In case ip is not set then just add 127.0.0.1.\nni.ifaddresses(interface)\ntry:\n    ip = ni.ifaddresses(interface)[ni.AF_INET][0]['addr']\nexcept:\n    ip = '127.0.0.1'\n\nprint(\"| Timestamp | Host Name | Host IP | IP Version | Source Host IP | Dest Host IP | Source Host Port | Dest Host Port | VNI | Source VM MAC | Dest VM MAC | VLAN ID | Source VM IP | Dest VM IP | Protocol | Source VM Port | Dest VM Port | Packet Length |\")\n\nwhile 1:\n    #retrieve raw packet from socket\n    packet_str = os.read(socket_fd, 2048)\n\n    #convert packet into bytearray\n    packet_bytearray = bytearray(packet_str)\n\n    #ethernet header length\n    ETH_HLEN = 14\n\n    #VXLAN header length\n    VXLAN_HLEN = 8\n\n    #VLAN header length\n    VLAN_HLEN = 4\n\n    #Inner TCP/UDP header length\n    TCP_HLEN = 20\n    UDP_HLEN = 8\n\n    #calculate packet total length\n    total_length = packet_bytearray[ETH_HLEN + 2]               #load MSB\n    total_length = total_length << 8                            #shift MSB\n    total_length = total_length + packet_bytearray[ETH_HLEN+3]  #add LSB\n\n    #calculate ip header length\n    ip_header_length = packet_bytearray[ETH_HLEN]               #load Byte\n    ip_header_length = ip_header_length & 0x0F                  #mask bits 0..3\n    ip_header_length = ip_header_length << 2                    #shift to obtain length\n\n    #calculate payload offset\n    payload_offset = ETH_HLEN + ip_header_length + UDP_HLEN + VXLAN_HLEN\n\n    #parsing ip version from ip packet header\n    ipversion = str(bin(packet_bytearray[14])[2:5])\n\n    #parsing source ip address, destination ip address from ip packet header\n    src_host_ip = str(packet_bytearray[26]) + \".\" + str(packet_bytearray[27]) + \".\" + str(packet_bytearray[28]) + \".\" + str(packet_bytearray[29])\n    dest_host_ip = str(packet_bytearray[30]) + \".\" + str(packet_bytearray[31]) + \".\" + str(packet_bytearray[32]) + \".\" + str(packet_bytearray[33])\n\n    #parsing source port and destination port\n    src_host_port = packet_bytearray[34] << 8 | packet_bytearray[35]\n    dest_host_port = packet_bytearray[36] << 8 | packet_bytearray[37]\n\n    #parsing VNI from VXLAN header\n    VNI = str((packet_bytearray[46])+(packet_bytearray[47])+(packet_bytearray[48]))\n\n    #parsing source mac address and destination mac address\n    mac_add = [packet_bytearray[50], packet_bytearray[51], packet_bytearray[52], packet_bytearray[53], packet_bytearray[54], packet_bytearray[55]]\n    src_vm_mac = \":\".join(map(lambda b: format(b, \"02x\"), mac_add))\n    mac_add = [packet_bytearray[56], packet_bytearray[57], packet_bytearray[58], packet_bytearray[59], packet_bytearray[60], packet_bytearray[61]]\n    dest_vm_mac = \":\".join(map(lambda b: format(b, \"02x\"), mac_add))\n\n    #parsing VLANID from VLAN header\n    VLANID=\"\"\n    VLANID = str((packet_bytearray[64])+(packet_bytearray[65]))\n\n    #parsing source vm ip address, destination vm ip address from encapsulated ip packet header\n    src_vm_ip = str(packet_bytearray[80]) + \".\" + str(packet_bytearray[81]) + \".\" + str(packet_bytearray[82]) + \".\" + str(packet_bytearray[83])\n    dest_vm_ip = str(packet_bytearray[84]) + \".\" + str(packet_bytearray[85]) + \".\" + str(packet_bytearray[86]) + \".\" + str(packet_bytearray[87])\n\n    #parsing source port and destination port\n    if (packet_bytearray[77]==6 or packet_bytearray[77]==17):\n        src_vm_port = packet_bytearray[88] << 8 | packet_bytearray[88]\n        dest_vm_port = packet_bytearray[90] << 8 | packet_bytearray[91]\n    elif (packet_bytearray[77]==1):\n        src_vm_port = -1\n        dest_vm_port = -1\n        type = str(packet_bytearray[88])\n    else:\n        continue\n\n    timestamp = str(datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S.%f'))\n\n    #send data to remote server via Kafka Messaging Bus\n    if kafkaserver:\n        MESSAGE = (timestamp, socket.gethostname(),ip, str(int(ipversion, 2)), str(src_host_ip), str(dest_host_ip), str(src_host_port), str(dest_host_port), str(int(VNI)), str(src_vm_mac), str(dest_vm_mac), str(int(VLANID)), src_vm_ip, dest_vm_ip, str(packet_bytearray[77]), str(src_vm_port), str(dest_vm_port), str(total_length))\n        print (MESSAGE)\n        MESSAGE = ','.join(MESSAGE)\n        MESSAGE = MESSAGE.encode()\n        producer = KafkaProducer(bootstrap_servers=[kafkaserver])\n        producer.send('iovisor-topic', key=b'iovisor', value=MESSAGE)\n\n    #save data to files\n    else:\n        MESSAGE = timestamp+\",\"+socket.gethostname()+\",\"+ip+\",\"+str(int(ipversion, 2))+\",\"+src_host_ip+\",\"+dest_host_ip+\",\"+str(src_host_port)+\",\"+str(dest_host_port)+\",\"+str(int(VNI))+\",\"+str(src_vm_mac)+\",\"+str(dest_vm_mac)+\",\"+str(int(VLANID))+\",\"+src_vm_ip+\",\"+dest_vm_ip+\",\"+str(packet_bytearray[77])+\",\"+str(src_vm_port)+\",\"+str(dest_vm_port)+\",\"+str(total_length)\n        print (MESSAGE)\n        #save data to a file on hour basis\n        filename = \"./vlan-data-\"+time.strftime(\"%Y-%m-%d-%H\")+\"-00\"\n        with open(filename, \"a\") as f:\n            f.write(\"%s\\n\" % MESSAGE)\n"
  },
  {
    "path": "examples/networking/vlan_filter/test_setup.sh",
    "content": "#!/bin/bash\n\n# This script must be executed by root user\nif [ \"$(id -u)\" != \"0\" ]; then\n   echo \"This script must be run as root\" 1>&2\n   exit 1\nfi\n\n# add namespaces\nip netns add netns11\nip netns add netns12\nip netns add netns21\nip netns add netns22\nip netns add netns3\nip netns add netns4\n\n# set up veth devices in netns11 to netns21 with connection to netns3\nip link add veth11 type veth peer name veth13\nip link add veth21 type veth peer name veth23\nip link set veth11 netns netns11\nip link set veth21 netns netns21\nip link set veth13 netns netns3\nip link set veth23 netns netns3\n\n# set up veth devices in netns12 and netns22 with connection to netns4\nip link add veth12 type veth peer name veth14\nip link add veth22 type veth peer name veth24\nip link set veth12 netns netns12\nip link set veth22 netns netns22\nip link set veth14 netns netns4\nip link set veth24 netns netns4\n\n# assign IP addresses and set the devices up\nip netns exec netns11 ifconfig veth11 192.168.100.11/24 up\nip netns exec netns11 ip link set lo up\nip netns exec netns12 ifconfig veth12 192.168.100.12/24 up\nip netns exec netns12 ip link set lo up\nip netns exec netns21 ifconfig veth21 192.168.200.21/24 up\nip netns exec netns21 ip link set lo up\nip netns exec netns22 ifconfig veth22 192.168.200.22/24 up\nip netns exec netns22 ip link set lo up\n\n# set up bridge brx and its ports\nip netns exec netns3 brctl addbr brx\nip netns exec netns3 ip link set brx up\nip netns exec netns3 ip link set veth13 up\nip netns exec netns3 ip link set veth23 up\nip netns exec netns3 brctl addif brx veth13\nip netns exec netns3 brctl addif brx veth23\n\n# set up bridge bry and its ports\nip netns exec netns4 brctl addbr bry\nip netns exec netns4 ip link set bry up\nip netns exec netns4 ip link set veth14 up\nip netns exec netns4 ip link set veth24 up\nip netns exec netns4 brctl addif bry veth14\nip netns exec netns4 brctl addif bry veth24\n\n# create veth devices to connect the bridges\nip link add vethx type veth peer name vethx11\nip link add vethy type veth peer name vethy11\nip link set vethx netns netns3\nip link set vethx11 netns netns3\nip link set vethy netns netns4\nip link set vethy11 netns netns4\n\nip netns exec netns3 brctl addif brx vethx\nip netns exec netns3 ip link set vethx up\nip netns exec netns3 bridge vlan add vid 100 tagged dev vethx\nip netns exec netns3 bridge vlan add vid 200 tagged dev vethx\nip netns exec netns3 bridge vlan del vid 1 dev vethx\nip netns exec netns3 bridge vlan show\n\nip netns exec netns4 brctl addif bry vethy\nip netns exec netns4 ip link set vethy up\nip netns exec netns4 bridge vlan add vid 100 tagged dev vethy\nip netns exec netns4 bridge vlan add vid 200 tagged dev vethy\nip netns exec netns4 bridge vlan del vid 1 dev vethy\nip netns exec netns4 bridge vlan show\n\nip netns exec netns3 ip link set dev brx type bridge vlan_filtering 1\nip netns exec netns4 ip link set dev bry type bridge vlan_filtering 1\nip netns exec netns3 bridge vlan del vid 1 dev brx self\nip netns exec netns4 bridge vlan del vid 1 dev bry self\nip netns exec netns3 bridge vlan show\nip netns exec netns4 bridge vlan show\n\nip netns exec netns3 bridge vlan add vid 100 pvid untagged dev veth13\nip netns exec netns3 bridge vlan add vid 200 pvid untagged dev veth23\nip netns exec netns4 bridge vlan add vid 100 pvid untagged dev veth14\nip netns exec netns4 bridge vlan add vid 200 pvid untagged dev veth24\n\nip netns exec netns3 bridge vlan del vid 1 dev veth13\nip netns exec netns3 bridge vlan del vid 1 dev veth23\nip netns exec netns4 bridge vlan del vid 1 dev veth14\nip netns exec netns4 bridge vlan del vid 1 dev veth24\n\n# set up bridge brvx and its ports\nip netns exec netns3 brctl addbr brvx\nip netns exec netns3 ip link set brvx up\nip netns exec netns3 ip link set vethx11 up\nip netns exec netns3 brctl addif brvx vethx11\n\n# set up bridge brvy and its ports\nip netns exec netns4 brctl addbr brvy\nip netns exec netns4 ip link set brvy up\nip netns exec netns4 ip link set vethy11 up\nip netns exec netns4 brctl addif brvy vethy11\n\n# create veth devices to connect the vxlan bridges\nip link add veth3 type veth peer name veth4\nip link add veth5 type veth peer name veth6\nip link set veth3 netns netns3\nip link set veth5 netns netns4\nip netns exec netns3 ip link set veth3 up\nip netns exec netns4 ip link set veth5 up\nip link set veth4 up\nip link set veth6 up\nip netns exec netns3 ifconfig veth3 10.1.1.11/24 up\nip netns exec netns4 ifconfig veth5 10.1.1.12/24 up\n\n# add vxlan ports\nip netns exec netns3 ip link add vxlan-10 type vxlan id 10 remote 10.1.1.12 dstport 4789 dev veth3\nip netns exec netns4 ip link add vxlan-10 type vxlan id 10 remote 10.1.1.11 dstport 4789 dev veth5\nip netns exec netns3 ip link set vxlan-10 up\nip netns exec netns4 ip link set vxlan-10 up\nip netns exec netns3 brctl addif brvx vxlan-10\nip netns exec netns4 brctl addif brvy vxlan-10\n\n# create veth devices to connect the vxlan bridges\nip link add veth7 type veth peer name veth8\nip link set veth7 up\nip link set veth8 up\n\n# set up bridge brjx and its ports\nbrctl addbr brjx\nip link set brjx up\nip link set veth4 up\nbrctl addif brjx veth4\nbrctl addif brjx veth7\n\n# set up bridge brjy and its ports\nbrctl addbr brjy\nip link set brjy up\nip link set veth6 up\nbrctl addif brjy veth6\nbrctl addif brjy veth8\n"
  },
  {
    "path": "examples/networking/vlan_filter/test_traffic.sh",
    "content": "#!/bin/bash\n\nip netns exec netns11 ping 192.168.100.12 -c 10\nip netns exec netns22 ping 192.168.200.21 -c 10\n"
  },
  {
    "path": "examples/networking/vlan_learning/CMakeLists.txt",
    "content": "set(EXAMPLE_FILES README.txt simulation.py vlan_learning.c)\nset(EXAMPLE_PROGRAMS vlan_learning.py)\ninstall(FILES ${EXAMPLE_FILES} DESTINATION share/bcc/examples/networking/vlan_learning)\ninstall(PROGRAMS ${EXAMPLE_PROGRAMS} DESTINATION share/bcc/examples/networking/vlan_learning)\n"
  },
  {
    "path": "examples/networking/vlan_learning/README.txt",
    "content": "This example shows a unique way to use a BPF program to demux any ethernet\ntraffic into a pool of worker veth+namespaces (or any ifindex-based\ndestination) depending on a configurable mapping of src-mac to ifindex. As\npart of the ingress processing, the program will dynamically learn the source\nifindex of the matched source mac.\n\nSimulate a physical network with a vlan aware switch and clients that may\nconnect to any vlan. The program will detect the known clients and pass the\ntraffic through to a dedicated namespace for processing. Clients may have\noverlapping IP spaces and the traffic will still work.\n\n               |           bpf program                      |\ncli0 --|       |                            /--|-- worker0  |\ncli1 --| trunk | +->--->-handle_p2v(pkt)-> /---|-- worker1  |\ncli2 --|=======|=+                        /----|-- worker2  |\n...  --|       | +-<---<-handle_v2p(pkt)-<-----|--  ...     |\ncliN --|       |                          \\----|-- workerM  |\n       |       |                              ^             |\n     phys      |                            veth            |\n    switch     |                                            |\n\nTo run the example, simply:\n\nsudo /path/to/vlan_learning/vlan_learning.py\n\nServing HTTP on 0.0.0.0 port 80 ...\nServing HTTP on 0.0.0.0 port 80 ...\nServing HTTP on 0.0.0.0 port 80 ...\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0172.16.1.100 - - [04/Nov/2015 10:54:47] \"GET / HTTP/1.1\" 200 -\n100   574  100   574    0     0  45580      0 --:--:-- --:--:-- --:--:-- 47833\n\n...\n\nPress enter to exit:\nmac 020000000000 rx pkts = 95, rx bytes = 7022\n                 tx pkts = 0, tx bytes = 0\nmac 020000000001 rx pkts = 95, rx bytes = 7022\n                 tx pkts = 0, tx bytes = 0\nmac 020000000002 rx pkts = 97, rx bytes = 7154\n                 tx pkts = 0, tx bytes = 0\n\n"
  },
  {
    "path": "examples/networking/vlan_learning/vlan_learning.c",
    "content": "// Copyright (c) PLUMgrid, Inc.\n// Licensed under the Apache License, Version 2.0 (the \"License\")\n\n#include <bcc/proto.h>\n\nstruct ifindex_leaf_t {\n  int out_ifindex;\n  u16 vlan_tci; // populated by phys2virt and used by virt2phys\n  u16 vlan_proto; // populated by phys2virt and used by virt2phys\n  u64 tx_pkts;\n  u64 tx_bytes;\n};\n\n// redirect based on mac -> out_ifindex (auto-learning)\nBPF_HASH(egress, int, struct ifindex_leaf_t, 4096);\n\n// redirect based on mac -> out_ifindex (config-driven)\nBPF_HASH(ingress, u64, struct ifindex_leaf_t, 4096);\n\nint handle_phys2virt(struct __sk_buff *skb) {\n  // only handle vlan packets\n  if (!skb->vlan_present)\n    return 1;\n  u8 *cursor = 0;\n  ethernet: {\n    struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n    u64 src_mac = ethernet->src;\n    struct ifindex_leaf_t *leaf = ingress.lookup(&src_mac);\n    if (leaf) {\n      lock_xadd(&leaf->tx_pkts, 1);\n      lock_xadd(&leaf->tx_bytes, skb->len);\n      // auto-program reverse direction table\n      int out_ifindex = leaf->out_ifindex;\n      struct ifindex_leaf_t zleaf = {0};\n      struct ifindex_leaf_t *out_leaf = egress.lookup_or_try_init(&out_ifindex, &zleaf);\n      if (out_leaf) {\n\t// to capture potential configuration changes\n\tout_leaf->out_ifindex = skb->ifindex;\n\tout_leaf->vlan_tci = skb->vlan_tci;\n\tout_leaf->vlan_proto = skb->vlan_proto;\n      }\n      // pop the vlan header and send to the destination\n      bpf_skb_vlan_pop(skb);\n      bpf_clone_redirect(skb, leaf->out_ifindex, 0);\n    }\n  }\n  return 1;\n}\n\nint handle_virt2phys(struct __sk_buff *skb) {\n  u8 *cursor = 0;\n  ethernet: {\n    struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n    int src_ifindex = skb->ifindex;\n    struct ifindex_leaf_t *leaf = egress.lookup(&src_ifindex);\n    if (leaf) {\n      lock_xadd(&leaf->tx_pkts, 1);\n      lock_xadd(&leaf->tx_bytes, skb->len);\n      bpf_skb_vlan_push(skb, leaf->vlan_proto, leaf->vlan_tci);\n      bpf_clone_redirect(skb, leaf->out_ifindex, 0);\n    }\n  }\n  return 1;\n}\n"
  },
  {
    "path": "examples/networking/vlan_learning/vlan_learning.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nfrom builtins import input\nfrom pyroute2 import IPRoute, NetNS, IPDB, NSPopen\nfrom random import shuffle\nfrom time import sleep\nfrom simulation import Simulation\nimport sys\n\nipr = IPRoute()\nipdb = IPDB(nl=ipr)\n\nnum_clients = 3\nnum_vlans = 16\n\n# load the bpf program\nb = BPF(src_file=\"vlan_learning.c\", debug=0)\nphys_fn = b.load_func(\"handle_phys2virt\", BPF.SCHED_CLS)\nvirt_fn = b.load_func(\"handle_virt2phys\", BPF.SCHED_CLS)\n\ningress = b.get_table(\"ingress\")\negress = b.get_table(\"egress\")\n\nclass VlanSimulation(Simulation):\n    def __init__(self, ipdb):\n        super(VlanSimulation, self).__init__(ipdb)\n\n    def start(self):\n        # start identical workers each in a namespace\n        for i in range(0, num_clients):\n            httpmod = (\"SimpleHTTPServer\" if sys.version_info[0] < 3\n                       else \"http.server\")\n            cmd = [\"python\", \"-m\", httpmod, \"80\"]\n            self._create_ns(\"worker%d\" % i, cmd=cmd, fn=virt_fn, action=\"drop\",\n                            ipaddr=\"172.16.1.5/24\")\n\n        # simulate a physical eth vlan trunk\n        with self.ipdb.create(ifname=\"eth0a\", kind=\"veth\", peer=\"eth0b\") as v:\n            v.up()\n        self.ipdb.interfaces.eth0b.up().commit()\n\n        # eth0a will be hooked to clients with vlan interfaces\n        # add the bpf program to eth0b for demuxing phys2virt packets\n        v = self.ipdb.interfaces[\"eth0b\"]\n        ipr.tc(\"add\", \"ingress\", v[\"index\"], \"ffff:\")\n        ipr.tc(\"add-filter\", \"bpf\", v[\"index\"], \":1\", fd=phys_fn.fd,\n               name=phys_fn.name, parent=\"ffff:\", action=\"drop\", classid=1)\n\n        # allocate vlans randomly\n        available_vlans = [i for i in range(2, 2 + num_vlans)]\n        shuffle(available_vlans)\n        available_ips = [[i for i in range(100, 105)] for i in range(0, num_clients)]\n\n        # these are simulations of physical clients\n        for i in range(0, num_clients):\n            macaddr = (\"02:00:00:%.2x:%.2x:%.2x\" %\n                       ((i >> 16) & 0xff, (i >> 8) & 0xff, i & 0xff))\n\n            # assign this client to the given worker\n            idx = self.ipdb.interfaces[\"worker%da\" % i][\"index\"]\n            mac = int(macaddr.replace(\":\", \"\"), 16)\n            ingress[ingress.Key(mac)] = ingress.Leaf(idx, 0, 0, 0, 0)\n\n            # test traffic with curl loop\n            cmd = [\"bash\", \"-c\",\n                   \"for i in {1..8}; do curl 172.16.1.5 -o /dev/null; sleep 1; done\"]\n            client_ifc = self.ipdb.create(ifname=\"eth0a.%d\" % i, kind=\"vlan\",\n                                          link=self.ipdb.interfaces[\"eth0a\"],\n                                          vlan_id=available_vlans.pop(0)).commit()\n            (out_ifc, in_ifc) = self._create_ns(\"client%d\" % i, in_ifc=client_ifc,\n                                                ipaddr=\"172.16.1.100/24\",\n                                                macaddr=macaddr, cmd=cmd)[1:3]\n\ntry:\n    sim = VlanSimulation(ipdb)\n    sim.start()\n    sleep(10)\n    input(\"Press enter to exit: \")\n\n    stats_collect = {}\n    for key, leaf in ingress.items():\n        stats_collect[key.value] = [leaf.tx_pkts, leaf.tx_bytes, 0, 0]\n    for key, leaf in egress.items():\n        x = stats_collect.get(key.value, [0, 0, 0, 0])\n        x[2] = leaf.tx_pkts\n        x[3] = leaf.tx_bytes\n    for k, v in stats_collect.items():\n        print(\"mac %.12x rx pkts = %u, rx bytes = %u\" % (k, v[0], v[1]))\n        print(\"                 tx pkts = %u, tx bytes = %u\" % (v[2], v[3]))\nfinally:\n    if \"eth0a\" in ipdb.interfaces: ipdb.interfaces.eth0a.remove().commit()\n    if \"sim\" in locals(): sim.release()\n    ipdb.release()\n"
  },
  {
    "path": "examples/networking/xdp/CMakeLists.txt",
    "content": "file(GLOB PY_FILES *.py)\ninstall(PROGRAMS ${PY_FILES} DESTINATION share/bcc/examples/networking/xdp)\n"
  },
  {
    "path": "examples/networking/xdp/xdp_drop_count.py",
    "content": "#!/usr/bin/python\n#\n# xdp_drop_count.py Drop incoming packets on XDP layer and count for which\n#                   protocol type\n#\n# Copyright (c) 2016 PLUMgrid\n# Copyright (c) 2016 Jan Ruth\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nimport pyroute2\nimport time\nimport sys\nimport ctypes\n\nflags = 0\ndef usage():\n    print(\"Usage: {0} [-S] <ifdev>\".format(sys.argv[0]))\n    print(\"       -S: use skb mode\\n\")\n    print(\"       -D: use driver mode\\n\")\n    print(\"       -H: use hardware offload mode\\n\")\n    print(\"e.g.: {0} eth0\\n\".format(sys.argv[0]))\n    exit(1)\n\nif len(sys.argv) < 2 or len(sys.argv) > 3:\n    usage()\n\noffload_device = None\nif len(sys.argv) == 2:\n    device = sys.argv[1]\nelif len(sys.argv) == 3:\n    device = sys.argv[2]\n\nmaptype = \"percpu_array\"\nif len(sys.argv) == 3:\n    if \"-S\" in sys.argv:\n        # XDP_FLAGS_SKB_MODE\n        flags |= BPF.XDP_FLAGS_SKB_MODE\n    if \"-D\" in sys.argv:\n        # XDP_FLAGS_DRV_MODE\n        flags |= BPF.XDP_FLAGS_DRV_MODE\n    if \"-H\" in sys.argv:\n        # XDP_FLAGS_HW_MODE\n        maptype = \"array\"\n        offload_device = ctypes.c_char_p(device.encode('utf-8'))\n        flags |= BPF.XDP_FLAGS_HW_MODE\n\nmode = BPF.XDP\n#mode = BPF.SCHED_CLS\n\nif mode == BPF.XDP:\n    ret = \"XDP_DROP\"\n    ctxtype = \"xdp_md\"\nelse:\n    ret = \"TC_ACT_SHOT\"\n    ctxtype = \"__sk_buff\"\n\n# load BPF program\nb = BPF(text = \"\"\"\n#include <uapi/linux/bpf.h>\n#include <linux/in.h>\n#include <linux/if_ether.h>\n#include <linux/if_packet.h>\n#include <linux/if_vlan.h>\n#include <linux/ip.h>\n#include <linux/ipv6.h>\n\nBPF_TABLE(MAPTYPE, uint32_t, long, dropcnt, 256);\n\nstatic inline int parse_ipv4(void *data, u64 nh_off, void *data_end) {\n    struct iphdr *iph = data + nh_off;\n\n    if ((void*)&iph[1] > data_end)\n        return 0;\n    return iph->protocol;\n}\n\nstatic inline int parse_ipv6(void *data, u64 nh_off, void *data_end) {\n    struct ipv6hdr *ip6h = data + nh_off;\n\n    if ((void*)&ip6h[1] > data_end)\n        return 0;\n    return ip6h->nexthdr;\n}\n\nint xdp_prog1(struct CTXTYPE *ctx) {\n\n    void* data_end = (void*)(long)ctx->data_end;\n    void* data = (void*)(long)ctx->data;\n\n    struct ethhdr *eth = data;\n\n    // drop packets\n    int rc = RETURNCODE; // let pass XDP_PASS or redirect to tx via XDP_TX\n    long *value;\n    uint16_t h_proto;\n    uint64_t nh_off = 0;\n    uint32_t index;\n\n    nh_off = sizeof(*eth);\n\n    if (data + nh_off  > data_end)\n        return rc;\n\n    h_proto = eth->h_proto;\n\n    // parse double vlans\n    #pragma unroll\n    for (int i=0; i<2; i++) {\n        if (h_proto == htons(ETH_P_8021Q) || h_proto == htons(ETH_P_8021AD)) {\n            struct vlan_hdr *vhdr;\n\n            vhdr = data + nh_off;\n            nh_off += sizeof(struct vlan_hdr);\n            if (data + nh_off > data_end)\n                return rc;\n                h_proto = vhdr->h_vlan_encapsulated_proto;\n        }\n    }\n\n    if (h_proto == htons(ETH_P_IP))\n        index = parse_ipv4(data, nh_off, data_end);\n    else if (h_proto == htons(ETH_P_IPV6))\n       index = parse_ipv6(data, nh_off, data_end);\n    else\n        index = 0;\n\n    value = dropcnt.lookup(&index);\n    if (value)\n        __sync_fetch_and_add(value, 1);\n\n    return rc;\n}\n\"\"\", cflags=[\"-w\", \"-DRETURNCODE=%s\" % ret, \"-DCTXTYPE=%s\" % ctxtype,\n\t\t\t \"-DMAPTYPE=\\\"%s\\\"\" % maptype],\n     device=offload_device)\n\nfn = b.load_func(\"xdp_prog1\", mode, offload_device)\n\nif mode == BPF.XDP:\n    b.attach_xdp(device, fn, flags)\nelse:\n    ip = pyroute2.IPRoute()\n    ipdb = pyroute2.IPDB(nl=ip)\n    idx = ipdb.interfaces[device].index\n    ip.tc(\"add\", \"clsact\", idx)\n    ip.tc(\"add-filter\", \"bpf\", idx, \":1\", fd=fn.fd, name=fn.name,\n          parent=\"ffff:fff2\", classid=1, direct_action=True)\n\ndropcnt = b.get_table(\"dropcnt\")\nprev = [0] * 256\nprint(\"Printing drops per IP protocol-number, hit CTRL+C to stop\")\nwhile 1:\n    try:\n        for k in dropcnt.keys():\n            val = dropcnt[k].value if maptype == \"array\" else dropcnt.sum(k).value\n            i = k.value\n            if val:\n                delta = val - prev[i]\n                prev[i] = val\n                print(\"{}: {} pkt/s\".format(i, delta))\n        time.sleep(1)\n    except KeyboardInterrupt:\n        print(\"Removing filter from device\")\n        break\n\nif mode == BPF.XDP:\n    b.remove_xdp(device, flags)\nelse:\n    ip.tc(\"del\", \"clsact\", idx)\n    ipdb.release()\n"
  },
  {
    "path": "examples/networking/xdp/xdp_macswap_count.py",
    "content": "#!/usr/bin/python\n#\n# xdp_macswap_count.py Swap Source and Destination MAC addresses on\n#                      incoming packets and transmit packets back on\n#                      same interface in XDP layer and count for which\n#                      protocol type\n#\n# Copyright (c) 2016 PLUMgrid\n# Copyright (c) 2016 Jan Ruth\n# Copyright (c) 2018 Andy Gospodarek\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nimport pyroute2\nimport time\nimport sys\n\nflags = 0\ndef usage():\n    print(\"Usage: {0} [-S] <ifdev>\".format(sys.argv[0]))\n    print(\"       -S: use skb mode\\n\")\n    print(\"e.g.: {0} eth0\\n\".format(sys.argv[0]))\n    exit(1)\n\nif len(sys.argv) < 2 or len(sys.argv) > 3:\n    usage()\n\nif len(sys.argv) == 2:\n    device = sys.argv[1]\n\nif len(sys.argv) == 3:\n    if \"-S\" in sys.argv:\n        # XDP_FLAGS_SKB_MODE\n        flags |= BPF.XDP_FLAGS_SKB_MODE\n\n    if \"-S\" == sys.argv[1]:\n        device = sys.argv[2]\n    else:\n        device = sys.argv[1]\n\nmode = BPF.XDP\n#mode = BPF.SCHED_CLS\n\nif mode == BPF.XDP:\n    ret = \"XDP_TX\"\n    ctxtype = \"xdp_md\"\nelse:\n    ret = \"TC_ACT_SHOT\"\n    ctxtype = \"__sk_buff\"\n\n# load BPF program\nb = BPF(text = \"\"\"\n#include <uapi/linux/bpf.h>\n#include <linux/in.h>\n#include <linux/if_ether.h>\n#include <linux/if_packet.h>\n#include <linux/if_vlan.h>\n#include <linux/ip.h>\n#include <linux/ipv6.h>\n\n\nBPF_PERCPU_ARRAY(dropcnt, long, 256);\n\nstatic inline int parse_ipv4(void *data, u64 nh_off, void *data_end) {\n    struct iphdr *iph = data + nh_off;\n\n    if ((void*)&iph[1] > data_end)\n        return 0;\n    return iph->protocol;\n}\n\nstatic inline int parse_ipv6(void *data, u64 nh_off, void *data_end) {\n    struct ipv6hdr *ip6h = data + nh_off;\n\n    if ((void*)&ip6h[1] > data_end)\n        return 0;\n    return ip6h->nexthdr;\n}\n\nstatic void swap_src_dst_mac(void *data)\n{\n    unsigned short *p = data;\n    unsigned short dst[3];\n\n    dst[0] = p[0];\n    dst[1] = p[1];\n    dst[2] = p[2];\n    p[0] = p[3];\n    p[1] = p[4];\n    p[2] = p[5];\n    p[3] = dst[0];\n    p[4] = dst[1];\n    p[5] = dst[2];\n}\n\nint xdp_prog1(struct CTXTYPE *ctx) {\n\n    void* data_end = (void*)(long)ctx->data_end;\n    void* data = (void*)(long)ctx->data;\n\n    struct ethhdr *eth = data;\n\n    // drop packets\n    int rc = RETURNCODE; // let pass XDP_PASS or redirect to tx via XDP_TX\n    long *value;\n    uint16_t h_proto;\n    uint64_t nh_off = 0;\n    uint32_t index;\n\n    nh_off = sizeof(*eth);\n\n    if (data + nh_off  > data_end)\n        return rc;\n\n    h_proto = eth->h_proto;\n\n    if (h_proto == htons(ETH_P_8021Q) || h_proto == htons(ETH_P_8021AD)) {\n        struct vlan_hdr *vhdr;\n\n        vhdr = data + nh_off;\n        nh_off += sizeof(struct vlan_hdr);\n        if (data + nh_off > data_end)\n            return rc;\n            h_proto = vhdr->h_vlan_encapsulated_proto;\n    }\n    if (h_proto == htons(ETH_P_8021Q) || h_proto == htons(ETH_P_8021AD)) {\n        struct vlan_hdr *vhdr;\n\n        vhdr = data + nh_off;\n        nh_off += sizeof(struct vlan_hdr);\n        if (data + nh_off > data_end)\n            return rc;\n            h_proto = vhdr->h_vlan_encapsulated_proto;\n    }\n\n    if (h_proto == htons(ETH_P_IP))\n        index = parse_ipv4(data, nh_off, data_end);\n    else if (h_proto == htons(ETH_P_IPV6))\n       index = parse_ipv6(data, nh_off, data_end);\n    else\n        index = 0;\n\n    if (index == IPPROTO_UDP) {\n        swap_src_dst_mac(data);\n        rc = XDP_TX;\n    }\n\n    value = dropcnt.lookup(&index);\n    if (value)\n        *value += 1;\n\n    return rc;\n}\n\"\"\", cflags=[\"-w\", \"-DRETURNCODE=%s\" % ret, \"-DCTXTYPE=%s\" % ctxtype])\n\nfn = b.load_func(\"xdp_prog1\", mode)\n\nif mode == BPF.XDP:\n    b.attach_xdp(device, fn, flags)\nelse:\n    ip = pyroute2.IPRoute()\n    ipdb = pyroute2.IPDB(nl=ip)\n    idx = ipdb.interfaces[device].index\n    ip.tc(\"add\", \"clsact\", idx)\n    ip.tc(\"add-filter\", \"bpf\", idx, \":1\", fd=fn.fd, name=fn.name,\n          parent=\"ffff:fff2\", classid=1, direct_action=True)\n\ndropcnt = b.get_table(\"dropcnt\")\nprev = [0] * 256\nprint(\"Printing drops per IP protocol-number, hit CTRL+C to stop\")\nwhile 1:\n    try:\n        for k in dropcnt.keys():\n            val = dropcnt.sum(k).value\n            i = k.value\n            if val:\n                delta = val - prev[i]\n                prev[i] = val\n                print(\"{}: {} pkt/s\".format(i, delta))\n        time.sleep(1)\n    except KeyboardInterrupt:\n        print(\"Removing filter from device\")\n        break\n\nif mode == BPF.XDP:\n    b.remove_xdp(device, flags)\nelse:\n    ip.tc(\"del\", \"clsact\", idx)\n    ipdb.release()\n"
  },
  {
    "path": "examples/networking/xdp/xdp_redirect_cpu.py",
    "content": "#!/usr/bin/python\n#\n# xdp_redirect_cpu.py Redirect the incoming packet to the specific CPU\n#\n# Copyright (c) 2018 Gary Lin\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nimport time\nimport sys\nfrom multiprocessing import cpu_count\nimport ctypes as ct\n\nflags = 0\ndef usage():\n    print(\"Usage: {0} <in ifdev> <CPU id>\".format(sys.argv[0]))\n    print(\"e.g.: {0} eth0 2\\n\".format(sys.argv[0]))\n    exit(1)\n\nif len(sys.argv) != 3:\n    usage()\n\nin_if = sys.argv[1]\ncpu_id = int(sys.argv[2])\n\nmax_cpu = cpu_count()\nif (cpu_id > max_cpu):\n    print(\"Invalid CPU id\")\n    exit(1)\n\n# load BPF program\nb = BPF(text = \"\"\"\n#include <uapi/linux/bpf.h>\n#include <linux/in.h>\n#include <linux/if_ether.h>\n\nBPF_CPUMAP(cpumap, __MAX_CPU__);\nBPF_ARRAY(dest, uint32_t, 1);\nBPF_PERCPU_ARRAY(rxcnt, long, 1);\n\nint xdp_redirect_cpu(struct xdp_md *ctx) {\n    void* data_end = (void*)(long)ctx->data_end;\n    void* data = (void*)(long)ctx->data;\n    struct ethhdr *eth = data;\n    uint32_t key = 0;\n    long *value;\n    uint32_t *cpu;\n    uint64_t nh_off;\n\n    nh_off = sizeof(*eth);\n    if (data + nh_off  > data_end)\n        return XDP_DROP;\n\n    cpu = dest.lookup(&key);\n    if (!cpu)\n        return XDP_PASS;\n\n    value = rxcnt.lookup(&key);\n    if (value)\n        *value += 1;\n\n    return cpumap.redirect_map(*cpu, 0);\n}\n\"\"\", cflags=[\"-w\", \"-D__MAX_CPU__=%u\" % max_cpu], debug=0)\n\ndest = b.get_table(\"dest\")\ndest[0] = ct.c_uint32(cpu_id)\n\ncpumap = b.get_table(\"cpumap\")\ncpumap[cpu_id] = ct.c_uint32(192)\n\nin_fn = b.load_func(\"xdp_redirect_cpu\", BPF.XDP)\nb.attach_xdp(in_if, in_fn, flags)\n\nrxcnt = b.get_table(\"rxcnt\")\nprev = 0\nprint(\"Printing redirected packets, hit CTRL+C to stop\")\nwhile 1:\n    try:\n        val = rxcnt.sum(0).value\n        if val:\n            delta = val - prev\n            prev = val\n            print(\"{} pkt/s to CPU {}\".format(delta, cpu_id))\n        time.sleep(1)\n    except KeyboardInterrupt:\n        print(\"Removing filter from device\")\n        break\n\nb.remove_xdp(in_if, flags)\n"
  },
  {
    "path": "examples/networking/xdp/xdp_redirect_map.py",
    "content": "#!/usr/bin/python\n#\n# xdp_redirect_map.py Redirect the incoming packet to another interface\n#                     with the helper: bpf_redirect_map()\n#\n# Copyright (c) 2018 Gary Lin\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nimport pyroute2\nimport time\nimport sys\nimport ctypes as ct\n\nflags = 0\ndef usage():\n    print(\"Usage: {0} <in ifdev> <out ifdev>\".format(sys.argv[0]))\n    print(\"e.g.: {0} eth0 eth1\\n\".format(sys.argv[0]))\n    exit(1)\n\nif len(sys.argv) != 3:\n    usage()\n\nin_if = sys.argv[1]\nout_if = sys.argv[2]\n\nip = pyroute2.IPRoute()\nout_idx = ip.link_lookup(ifname=out_if)[0]\n\n# load BPF program\nb = BPF(text = \"\"\"\n#include <uapi/linux/bpf.h>\n#include <linux/in.h>\n#include <linux/if_ether.h>\n\nBPF_DEVMAP(tx_port, 1);\nBPF_PERCPU_ARRAY(rxcnt, long, 1);\n\nstatic inline void swap_src_dst_mac(void *data)\n{\n    unsigned short *p = data;\n    unsigned short dst[3];\n\n    dst[0] = p[0];\n    dst[1] = p[1];\n    dst[2] = p[2];\n    p[0] = p[3];\n    p[1] = p[4];\n    p[2] = p[5];\n    p[3] = dst[0];\n    p[4] = dst[1];\n    p[5] = dst[2];\n}\n\nint xdp_redirect_map(struct xdp_md *ctx) {\n    void* data_end = (void*)(long)ctx->data_end;\n    void* data = (void*)(long)ctx->data;\n    struct ethhdr *eth = data;\n    uint32_t key = 0;\n    long *value;\n    uint64_t nh_off;\n\n    nh_off = sizeof(*eth);\n    if (data + nh_off  > data_end)\n        return XDP_DROP;\n\n    value = rxcnt.lookup(&key);\n    if (value)\n        *value += 1;\n\n    swap_src_dst_mac(data);\n\n    return tx_port.redirect_map(0, 0);\n}\n\nint xdp_dummy(struct xdp_md *ctx) {\n    return XDP_PASS;\n}\n\"\"\", cflags=[\"-w\"])\n\ntx_port = b.get_table(\"tx_port\")\ntx_port[0] = ct.c_int(out_idx)\n\nin_fn = b.load_func(\"xdp_redirect_map\", BPF.XDP)\nout_fn = b.load_func(\"xdp_dummy\", BPF.XDP)\n\nb.attach_xdp(in_if, in_fn, flags)\nb.attach_xdp(out_if, out_fn, flags)\n\nrxcnt = b.get_table(\"rxcnt\")\nprev = 0\nprint(\"Printing redirected packets, hit CTRL+C to stop\")\nwhile 1:\n    try:\n        val = rxcnt.sum(0).value\n        if val:\n            delta = val - prev\n            prev = val\n            print(\"{} pkt/s\".format(delta))\n        time.sleep(1)\n    except KeyboardInterrupt:\n        print(\"Removing filter from device\")\n        break\n\nb.remove_xdp(in_if, flags)\nb.remove_xdp(out_if, flags)\n"
  },
  {
    "path": "examples/perf/ipc.py",
    "content": "#!/usr/bin/python\n# IPC - Instructions Per Cycles using Perf Events and\n# uprobes\n# 24-Apr-2020\tSaleem Ahmad\tCreated this.\n\nfrom bcc import BPF, utils\nfrom optparse import OptionParser\n\n# load BPF program\ncode=\"\"\"\n#include <uapi/linux/ptrace.h>\n\nstruct perf_delta {\n    u64 clk_delta;\n    u64 inst_delta;\n    u64 time_delta;\n};\n\n/*\nPerf Arrays to read counter values for open\nperf events.\n*/\nBPF_PERF_ARRAY(clk, MAX_CPUS);\nBPF_PERF_ARRAY(inst, MAX_CPUS);\n\n// Perf Output\nBPF_PERF_OUTPUT(output);\n\n// Per Cpu Data to store start values\nBPF_PERCPU_ARRAY(data, u64);\n\n#define CLOCK_ID 0\n#define INSTRUCTION_ID 1\n#define TIME_ID 2\n\nvoid trace_start(struct pt_regs *ctx) {\n    u32 clk_k = CLOCK_ID;\n    u32 inst_k = INSTRUCTION_ID;\n    u32 time = TIME_ID;\n\n    int cpu = bpf_get_smp_processor_id();\n    /*\n    perf_read may return negative values for errors.\n    If cpu id is greater than BPF_PERF_ARRAY size,\n    counters values will be very large negative number.\n    NOTE: Use bpf_perf_event_value is recommended over\n    bpf_perf_event_read or map.perf_read() due to\n    issues in ABI. map.perf_read_value() need to be\n    implemented in future.\n    */\n    u64 clk_start = clk.perf_read(cpu);\n    u64 inst_start = inst.perf_read(cpu);\n    u64 time_start = bpf_ktime_get_ns();\n\n    u64* kptr = NULL;\n    kptr = data.lookup(&clk_k);\n    if (kptr) {\n        data.update(&clk_k, &clk_start);\n    } else {\n        data.insert(&clk_k, &clk_start);\n    }\n\n    kptr = data.lookup(&inst_k);\n    if (kptr) {\n        data.update(&inst_k, &inst_start);\n    } else {\n        data.insert(&inst_k, &inst_start);\n    }\n\n    kptr = data.lookup(&time);\n    if (kptr) {\n        data.update(&time, &time_start);\n    } else {\n        data.insert(&time, &time_start);\n    }\n}\n\nvoid trace_end(struct pt_regs* ctx) {\n    u32 clk_k = CLOCK_ID;\n    u32 inst_k = INSTRUCTION_ID;\n    u32 time = TIME_ID;\n\n    int cpu = bpf_get_smp_processor_id();\n    /*\n    perf_read may return negative values for errors.\n    If cpu id is greater than BPF_PERF_ARRAY size,\n    counters values will be very large negative number.\n    NOTE: Use bpf_perf_event_value is recommended over\n    bpf_perf_event_read or map.perf_read() due to\n    issues in ABI. map.perf_read_value() need to be\n    implemented in future.\n    */\n    u64 clk_end = clk.perf_read(cpu);\n    u64 inst_end = inst.perf_read(cpu);\n    u64 time_end = bpf_ktime_get_ns();\n\n    struct perf_delta perf_data = {} ;\n    u64* kptr = NULL;\n    kptr = data.lookup(&clk_k);\n\n    // Find elements in map, if not found return\n    if (kptr) {\n        perf_data.clk_delta = clk_end - *kptr;\n    } else {\n        return;\n    }\n\n    kptr = data.lookup(&inst_k);\n    if (kptr) {\n        perf_data.inst_delta = inst_end - *kptr;\n    } else {\n        return;\n    }\n\n    kptr = data.lookup(&time);\n    if (kptr) {\n        perf_data.time_delta = time_end - *kptr;\n    } else {\n        return;\n    }\n\n    output.perf_submit(ctx, &perf_data, sizeof(struct perf_delta));\n}\n\"\"\"\n\nusage='Usage: ipc.py [options]\\nexample ./ipc.py -l c -s strlen'\nparser = OptionParser(usage)\nparser.add_option('-l', '--lib', dest='lib_name', help='lib name containing symbol to trace, e.g. c for libc', type=str)\nparser.add_option('-s', '--sym', dest='sym', help='symbol to trace', type=str)\n\n(options, args) = parser.parse_args()\nif (not options.lib_name or not options.sym):\n    parser.print_help()\n    exit()\n\nnum_cpus = len(utils.get_online_cpus())\n\nb = BPF(text=code, cflags=['-DMAX_CPUS=%s' % str(num_cpus)])\n\n# Attach Probes at start and end of the trace function\n# NOTE: When attaching to a function for tracing, during runtime relocation\n# stage by linker, function will be called once to return a different function\n# address, which will be called by the process. e.g. in case of strlen\n# after relocation stage, __strlen_sse2 is called instread of strlen.\n# NOTE: There will be a context switch from userspace to kernel space,\n# on caputring counters on USDT probes, so actual IPC might be slightly different.\n# This example is to give a reference on how to use perf events with tracing.\nb.attach_uprobe(name=options.lib_name, sym=options.sym, fn_name=\"trace_start\")\nb.attach_uretprobe(name=options.lib_name, sym=options.sym, fn_name=\"trace_end\")\n\ndef print_data(cpu, data, size):\n    e = b[\"output\"].event(data)\n    print(\"%-8d %-12d %-8.2f %-8s %d\" % (e.clk_delta, e.inst_delta,\n        1.0* e.inst_delta/e.clk_delta, str(round(e.time_delta * 1e-3, 2)) + ' us', cpu))\n\nprint(\"Counters Data\")\nprint(\"%-8s %-12s %-8s %-8s %s\" % ('CLOCK', 'INSTRUCTION', 'IPC', 'TIME', 'CPU'))\n\nb[\"output\"].open_perf_buffer(print_data)\n\n# Perf Events for Unhalted Cycles and Retired Instructions are supported on\n# most platforms with a PMU and the kernel will attempt to translate these\n# into an architecture-specific event code. For architectures that do not have\n# these mappings, see perf list --details to find event details.\n# NOTE: Events can be multiplexed by kernel in case the\n# number of counters is greater than supported by CPU\n# performance monitoring unit, which can result in inaccurate\n# results. Counter values need to be normalized for a more\n# accurate value.\nPERF_TYPE_HARDWARE = 0\nPERF_COUNT_HW_CPU_CYCLES = 0\nPERF_COUNT_HW_INSTRUCTIONS = 1\n# Unhalted Clock Cycles\nb[\"clk\"].open_perf_event(PERF_TYPE_HARDWARE, PERF_COUNT_HW_CPU_CYCLES)\n# Instruction Retired\nb[\"inst\"].open_perf_event(PERF_TYPE_HARDWARE, PERF_COUNT_HW_INSTRUCTIONS)\n\nwhile True:\n\ttry:\n\t    b.perf_buffer_poll()\n\texcept KeyboardInterrupt:\n            exit()\n"
  },
  {
    "path": "examples/ringbuf/ringbuf_output.py",
    "content": "#!/usr/bin/python3\n\nimport sys\nimport time\n\nfrom bcc import BPF\n\nsrc = r\"\"\"\nBPF_RINGBUF_OUTPUT(buffer, 1 << 4);\n\nstruct event {\n    char filename[16];\n    int dfd;\n    int flags;\n    int mode;\n};\n\nTRACEPOINT_PROBE(syscalls, sys_enter_openat) {\n    int zero = 0;\n\n    struct event event = {};\n\n    bpf_probe_read_user_str(event.filename, sizeof(event.filename), args->filename);\n\n    event.dfd = args->dfd;\n    event.flags = args->flags;\n    event.mode = args->mode;\n\n    buffer.ringbuf_output(&event, sizeof(event), 0);\n\n    return 0;\n}\n\"\"\"\n\nb = BPF(text=src)\n\ndef callback(ctx, data, size):\n    event = b['buffer'].event(data)\n    print(\"%-16s %10d %10d %10d\" % (event.filename.decode('utf-8'), event.dfd, event.flags, event.mode))\n\nb['buffer'].open_ring_buffer(callback)\n\nprint(\"Printing openat() calls, ctrl-c to exit.\")\n\nprint(\"%-16s %10s %10s %10s\" % (\"FILENAME\", \"DIR_FD\", \"FLAGS\", \"MODE\"))\n\ntry:\n    while 1:\n        b.ring_buffer_poll()\n        # or b.ring_buffer_consume()\n        time.sleep(0.5)\nexcept KeyboardInterrupt:\n    sys.exit()\n"
  },
  {
    "path": "examples/ringbuf/ringbuf_submit.py",
    "content": "#!/usr/bin/python3\n\nimport sys\nimport time\n\nfrom bcc import BPF\n\nsrc = r\"\"\"\nBPF_RINGBUF_OUTPUT(buffer, 1 << 4);\n\nstruct event {\n    char filename[64];\n    int dfd;\n    int flags;\n    int mode;\n};\n\nTRACEPOINT_PROBE(syscalls, sys_enter_openat) {\n    int zero = 0;\n\n    struct event *event = buffer.ringbuf_reserve(sizeof(struct event));\n    if (!event) {\n        return 1;\n    }\n\n    bpf_probe_read_user_str(event->filename, sizeof(event->filename), args->filename);\n\n    event->dfd = args->dfd;\n    event->flags = args->flags;\n    event->mode = args->mode;\n\n    buffer.ringbuf_submit(event, 0);\n    // or, to discard: buffer.ringbuf_discard(event, 0);\n\n    return 0;\n}\n\"\"\"\n\nb = BPF(text=src)\n\ndef callback(ctx, data, size):\n    event = b['buffer'].event(data)\n    print(\"%-64s %10d %10d %10d\" % (event.filename.decode('utf-8'), event.dfd, event.flags, event.mode))\n\nb['buffer'].open_ring_buffer(callback)\n\nprint(\"Printing openat() calls, ctrl-c to exit.\")\n\nprint(\"%-64s %10s %10s %10s\" % (\"FILENAME\", \"DIR_FD\", \"FLAGS\", \"MODE\"))\n\ntry:\n    while 1:\n        b.ring_buffer_consume()\n        time.sleep(0.5)\nexcept KeyboardInterrupt:\n    sys.exit()\n"
  },
  {
    "path": "examples/tracing/CMakeLists.txt",
    "content": "file(GLOB C_FILES *.c)\nfile(GLOB PY_FILES *.py)\nfile(GLOB TXT_FILES *.txt)\ninstall(PROGRAMS ${PY_FILES} DESTINATION share/bcc/examples/tracing)\ninstall(FILES ${C_FILES} DESTINATION share/bcc/examples/tracing)\ninstall(FILES ${TXT_FILES} DESTINATION share/bcc/examples/tracing)\n"
  },
  {
    "path": "examples/tracing/biolatpcts.py",
    "content": "#!/usr/bin/python\n#\n# biolatpcts.py  IO latency percentile calculation example\n#\n# Copyright (C) 2020 Tejun Heo <tj@kernel.org>\n# Copyright (C) 2020 Facebook\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom time import sleep\n\nbpf_source = \"\"\"\n#include <linux/blk_types.h>\n#include <linux/blk-mq.h>\n#include <linux/blkdev.h>\n#include <linux/time64.h>\n\nBPF_PERCPU_ARRAY(lat_100ms, u64, 100);\nBPF_PERCPU_ARRAY(lat_1ms, u64, 100);\nBPF_PERCPU_ARRAY(lat_10us, u64, 100);\n\nRAW_TRACEPOINT_PROBE(block_rq_complete)\n{\n        // TP_PROTO(struct request *rq, blk_status_t error, unsigned int nr_bytes)\n        struct request *rq = (void *)ctx->args[0];\n        unsigned int cmd_flags;\n        u64 dur;\n        size_t base, slot;\n\n        if (!rq->io_start_time_ns)\n                return 0;\n\n        dur = bpf_ktime_get_ns() - rq->io_start_time_ns;\n\n        slot = min_t(size_t, div_u64(dur, 100 * NSEC_PER_MSEC), 99);\n        lat_100ms.increment(slot);\n        if (slot)\n                return 0;\n\n        slot = min_t(size_t, div_u64(dur, NSEC_PER_MSEC), 99);\n        lat_1ms.increment(slot);\n        if (slot)\n                return 0;\n\n        slot = min_t(size_t, div_u64(dur, 10 * NSEC_PER_USEC), 99);\n        lat_10us.increment(slot);\n        return 0;\n}\n\"\"\"\n\nbpf = BPF(text=bpf_source)\n\ncur_lat_100ms = bpf['lat_100ms']\ncur_lat_1ms = bpf['lat_1ms']\ncur_lat_10us = bpf['lat_10us']\n\nlast_lat_100ms = [0] * 100\nlast_lat_1ms = [0] * 100\nlast_lat_10us = [0] * 100\n\nlat_100ms = [0] * 100\nlat_1ms = [0] * 100\nlat_10us = [0] * 100\n\ndef find_pct(req, total, slots, idx, counted):\n    while idx > 0:\n        idx -= 1\n        if slots[idx] > 0:\n            counted += slots[idx]\n            if (counted / total) * 100 >= 100 - req:\n                break\n    return (idx, counted)\n\ndef calc_lat_pct(req_pcts, total, lat_100ms, lat_1ms, lat_10us):\n    pcts = [0] * len(req_pcts)\n\n    if total == 0:\n        return pcts\n\n    data = [(100 * 1000, lat_100ms), (1000, lat_1ms), (10, lat_10us)]\n    data_sel = 0\n    idx = 100\n    counted = 0\n\n    for pct_idx in reversed(range(len(req_pcts))):\n        req = float(req_pcts[pct_idx])\n        while True:\n            last_counted = counted\n            (gran, slots) = data[data_sel]\n            (idx, counted) = find_pct(req, total, slots, idx, counted)\n            if idx > 0 or data_sel == len(data) - 1:\n                break\n            counted = last_counted\n            data_sel += 1\n            idx = 100\n\n        pcts[pct_idx] = gran * idx + gran / 2\n\n    return pcts\n\nprint('Block I/O latency percentile example. See tools/biolatpcts.py for the full utility.')\n\nwhile True:\n    sleep(3)\n\n    lat_total = 0;\n\n    for i in range(100):\n        v = cur_lat_100ms.sum(i).value\n        lat_100ms[i] = max(v - last_lat_100ms[i], 0)\n        last_lat_100ms[i] = v\n\n        v = cur_lat_1ms.sum(i).value\n        lat_1ms[i] = max(v - last_lat_1ms[i], 0)\n        last_lat_1ms[i] = v\n\n        v = cur_lat_10us.sum(i).value\n        lat_10us[i] = max(v - last_lat_10us[i], 0)\n        last_lat_10us[i] = v\n\n        lat_total += lat_100ms[i]\n\n    target_pcts = [50, 75, 90, 99]\n    pcts = calc_lat_pct(target_pcts, lat_total, lat_100ms, lat_1ms, lat_10us);\n    for i in range(len(target_pcts)):\n        print('p{}={}us '.format(target_pcts[i], int(pcts[i])), end='')\n    print()\n"
  },
  {
    "path": "examples/tracing/biolatpcts_example.txt",
    "content": "Demonstrations of biolatpcts.py, the Linux eBPF/bcc version.\n\n\nThis traces block I/O and uses layered percpu arrays to bucket the completion\nlatencies. Latency percentiles are calculated periodically from the buckets.\n\n# ./biolatpcts.py\np50=595.0us p75=685.0us p90=1500.0us p99=2500.0us\np50=55.0us p75=95.0us p90=305.0us p99=2500.0us\np50=385.0us p75=655.0us p90=1500.0us p99=2500.0us\n[...]\n\nThe latency is measured from I/O request to the device, to the device\ncompletion. This excludes latency spent queued in the OS.\n\nThis is a simplified example to demonstrate the calculation of latency\npercentiles. See tools/biolatpcts.py for the full utility.\n"
  },
  {
    "path": "examples/tracing/bitehist.py",
    "content": "#!/usr/bin/python3\n#\n# bitehist.py\tBlock I/O size histogram.\n#\t\tFor Linux, uses BCC, eBPF. Embedded C.\n#\n# Written as a basic example of using histograms to show a distribution.\n#\n# A Ctrl-C will print the gathered histogram then exit.\n#\n# Copyright (c) 2015 Brendan Gregg.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n#\n# 15-Aug-2015\tBrendan Gregg\tCreated this.\n# 03-Feb-2019   Xiaozhou Liu    added linear histogram.\n# 02-Mar-2025   Wei             Use blk_mq_end_request for newer kernel.\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom time import sleep\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n#include <linux/blk-mq.h>\n\nBPF_HISTOGRAM(dist);\nBPF_HISTOGRAM(dist_linear);\n\nint trace_req_done(struct pt_regs *ctx, struct request *req)\n{\n    dist.increment(bpf_log2l(req->__data_len / 1024));\n    dist_linear.increment(req->__data_len / 1024);\n    return 0;\n}\n\"\"\")\n\nif BPF.get_kprobe_functions(b'__blk_account_io_done'):\n    # __blk_account_io_done is available before kernel v6.4.\n    b.attach_kprobe(event=\"__blk_account_io_done\", fn_name=\"trace_req_done\")\nelif BPF.get_kprobe_functions(b'blk_account_io_done'):\n    # blk_account_io_done is traceable (not inline) before v5.16.\n    b.attach_kprobe(event=\"blk_account_io_done\", fn_name=\"trace_req_done\")\nelse:\n    b.attach_kprobe(event=\"blk_mq_end_request\", fn_name=\"trace_req_done\")\n\n# header\nprint(\"Tracing... Hit Ctrl-C to end.\")\n\n# trace until Ctrl-C\ntry:\n    sleep(99999999)\nexcept KeyboardInterrupt:\n    print()\n\n# output\nprint(\"log2 histogram\")\nprint(\"~~~~~~~~~~~~~~\")\nb[\"dist\"].print_log2_hist(\"kbytes\")\n\nprint(\"\\nlinear histogram\")\nprint(\"~~~~~~~~~~~~~~~~\")\nb[\"dist_linear\"].print_linear_hist(\"kbytes\")\n"
  },
  {
    "path": "examples/tracing/bitehist_example.txt",
    "content": "Demonstrations of bitehist.py, the Linux eBPF/bcc version.\n\nThis prints a power-of-2 histogram to show the block I/O size distribution.\nA summary is printed after Ctrl-C is hit.\n\n# ./bitehist.py\nTracing... Hit Ctrl-C to end.\n^C\n     kbytes          : count     distribution\n       0 -> 1        : 3        |                                      |\n       2 -> 3        : 0        |                                      |\n       4 -> 7        : 211      |**********                            |\n       8 -> 15       : 0        |                                      |\n      16 -> 31       : 0        |                                      |\n      32 -> 63       : 0        |                                      |\n      64 -> 127      : 1        |                                      |\n     128 -> 255      : 800      |**************************************|\n\nThis output shows a bimodal distribution. The largest mod of 800 I/O were\nbetween 128 and 255 Kbytes in size, and another mode of 211 I/O were between\n4 and 7 Kbytes in size.\n\nUnderstanding this distribution is useful for characterizing workloads and\nunderstanding performance. The existence of this distribution is not visible\nfrom averages alone.\n"
  },
  {
    "path": "examples/tracing/dddos.py",
    "content": "#!/usr/bin/python\n#\n# dddos.py\tDDOS dectection system.\n#\n# Written as a basic tracing example of using ePBF\n# to detect a potential DDOS attack against a system.\n#\n# Copyright (c) 2019 Jugurtha BELKALEM.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n#\n# 14-Jan-2019 Jugurtha BELKALEM Created this.\n\nfrom bcc import BPF\nimport ctypes as ct\nimport datetime\nprog = \"\"\"\n#include <linux/skbuff.h>\n#include <uapi/linux/ip.h>\n\n#define MAX_NB_PACKETS 1000\n#define LEGAL_DIFF_TIMESTAMP_PACKETS 1000000\n\nBPF_HASH(rcv_packets);\n\nstruct detectionPackets {\n    u64 nb_ddos_packets;\n};\n\nBPF_PERF_OUTPUT(events);\n\nint detect_ddos(struct pt_regs *ctx, void *skb){\n    struct detectionPackets detectionPacket = {};\n\n    // Used to count number of received packets\n    u64 rcv_packets_nb_index = 0, rcv_packets_nb_inter=1, *rcv_packets_nb_ptr;\n\n    // Used to measure elapsed time between 2 successive received packets\n    u64 rcv_packets_ts_index = 1, rcv_packets_ts_inter=0, *rcv_packets_ts_ptr;\n\n    /* The algorithm analyses packets received by ip_rcv function\n    * and measures the difference in reception time between each packet.\n    * DDOS flooders send millions of packets such that difference of\n    * timestamp between 2 successive packets is so small\n    * (which is not like regular applications behaviour).\n    * This script looks for this difference in time and if it sees\n    * more than MAX_NB_PACKETS successive packets with a difference\n    * of timestamp between each one of them less than\n    * LEGAL_DIFF_TIMESTAMP_PACKETS ns,\n    * ------------------ It Triggers an ALERT -----------------\n    * Those settings must be adapted depending on regular network traffic\n    * -------------------------------------------------------------------\n    * Important: this is a rudimentary intrusion detection system, one can\n    * test a real case attack using hping3. However; if regular network\n    * traffic increases above predefined detection settings, a false\n    * positive alert will be triggered (an example would be the\n    * case of large file downloads).\n    */\n    rcv_packets_nb_ptr = rcv_packets.lookup(&rcv_packets_nb_index);\n    rcv_packets_ts_ptr = rcv_packets.lookup(&rcv_packets_ts_index);\n    if(rcv_packets_nb_ptr != 0 && rcv_packets_ts_ptr != 0){\n        rcv_packets_nb_inter = *rcv_packets_nb_ptr;\n        rcv_packets_ts_inter = bpf_ktime_get_ns() - *rcv_packets_ts_ptr;\n        if(rcv_packets_ts_inter < LEGAL_DIFF_TIMESTAMP_PACKETS){\n            rcv_packets_nb_inter++;\n        } else {\n            rcv_packets_nb_inter = 0;\n        }\n        if(rcv_packets_nb_inter > MAX_NB_PACKETS){\n            detectionPacket.nb_ddos_packets = rcv_packets_nb_inter;\n            events.perf_submit(ctx, &detectionPacket, sizeof(detectionPacket));\n        }\n    }\n    rcv_packets_ts_inter = bpf_ktime_get_ns();\n    rcv_packets.update(&rcv_packets_nb_index, &rcv_packets_nb_inter);\n    rcv_packets.update(&rcv_packets_ts_index, &rcv_packets_ts_inter);\n    return 0;\n}\n\"\"\"\n\n# Loads eBPF program\nb = BPF(text=prog)\n\n# Attach kprobe to kernel function and sets detect_ddos as kprobe handler\nb.attach_kprobe(event=\"ip_rcv\", fn_name=\"detect_ddos\")\n\nclass DetectionTimestamp(ct.Structure):\n    _fields_ = [(\"nb_ddos_packets\", ct.c_ulonglong)]\n\n# Show message when ePBF starts\nprint(\"DDOS detector started ... Hit Ctrl-C to end!\")\n\nprint(\"%-26s %-10s\" % (\"TIME(s)\", \"MESSAGE\"))\n\ndef trigger_alert_event(cpu, data, size):\n    event = ct.cast(data, ct.POINTER(DetectionTimestamp)).contents\n    print(\"%-26s %s %ld\" % (datetime.datetime.now(),\n    \"DDOS Attack => nb of packets up to now : \", event.nb_ddos_packets))\n\n# loop with callback to trigger_alert_event\nb[\"events\"].open_perf_buffer(trigger_alert_event)\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n"
  },
  {
    "path": "examples/tracing/dddos_example.txt",
    "content": "Demonstrations of dddos.py, the Linux eBPF/bcc version.\n\nThis tracks ip_rcv function (using kprobe) and elapsed time\nbetween received packets to detect potential DDOS attacks.\n\nThe following steps illustrates the usage of dddos :\n1 - Start dddos.py :\n# ./dddos.py\nDDOS detector started ... Hit Ctrl-C to end!\nTIME(s)            MESSAGE\n\n2 - Launch hping3 (or any other flooder) in another terminal as shown below:\n# hping3 localhost -S -A -V -p 443 -i u100\n\n3 - dddos.py triggers alerts and reports a DDOS attack:\nDDOS detector started ... Hit Ctrl-C to end!\nTIME(s)                    MESSAGE\n2019-01-16 11:55:12.600734 DDOS Attack => nb of packets up to now :  1001\n2019-01-16 11:55:12.600845 DDOS Attack => nb of packets up to now :  1002\n2019-01-16 11:55:12.600887 DDOS Attack => nb of packets up to now :  1003\n2019-01-16 11:55:12.600971 DDOS Attack => nb of packets up to now :  1004\n2019-01-16 11:55:12.601009 DDOS Attack => nb of packets up to now :  1005\n2019-01-16 11:55:12.601062 DDOS Attack => nb of packets up to now :  1006\n2019-01-16 11:55:12.601096 DDOS Attack => nb of packets up to now :  1007\n2019-01-16 11:55:12.601195 DDOS Attack => nb of packets up to now :  1008\n2019-01-16 11:55:12.601228 DDOS Attack => nb of packets up to now :  1009\n2019-01-16 11:55:12.601331 DDOS Attack => nb of packets up to now :  1010\n2019-01-16 11:55:12.601364 DDOS Attack => nb of packets up to now :  1011\n2019-01-16 11:55:12.601470 DDOS Attack => nb of packets up to now :  1012\n2019-01-16 11:55:12.601505 DDOS Attack => nb of packets up to now :  1013\n2019-01-16 11:55:12.601621 DDOS Attack => nb of packets up to now :  1014\n2019-01-16 11:55:12.601656 DDOS Attack => nb of packets up to now :  1015\n2019-01-16 11:55:12.601757 DDOS Attack => nb of packets up to now :  1016\n2019-01-16 11:55:12.601790 DDOS Attack => nb of packets up to now :  1017\n2019-01-16 11:55:12.601892 DDOS Attack => nb of packets up to now :  1018\n2019-01-16 11:55:12.601925 DDOS Attack => nb of packets up to now :  1019\n2019-01-16 11:55:12.602028 DDOS Attack => nb of packets up to now :  1020\n\nRemark : Use Ctrl-C to stop dddos.py\n"
  },
  {
    "path": "examples/tracing/disksnoop.py",
    "content": "#!/usr/bin/python3\n#\n# disksnoop.py\tTrace block device I/O: basic version of iosnoop.\n#\t\tFor Linux, uses BCC, eBPF. Embedded C.\n#\n# Written as a basic example of tracing latency.\n#\n# Copyright (c) 2015 Brendan Gregg.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n#\n# 11-Aug-2015\tBrendan Gregg\tCreated this.\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\n\nREQ_WRITE = 1\t\t# from include/linux/blk_types.h\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n#include <linux/blk-mq.h>\n\nBPF_HASH(start, struct request *);\n\nvoid trace_start(struct pt_regs *ctx, struct request *req) {\n\t// stash start timestamp by request ptr\n\tu64 ts = bpf_ktime_get_ns();\n\n\tstart.update(&req, &ts);\n}\n\nvoid trace_completion(struct pt_regs *ctx, struct request *req) {\n\tu64 *tsp, delta;\n\n\ttsp = start.lookup(&req);\n\tif (tsp != 0) {\n\t\tdelta = bpf_ktime_get_ns() - *tsp;\n\t\tbpf_trace_printk(\"%d %x %d\\\\n\", req->__data_len,\n\t\t    req->cmd_flags, delta / 1000);\n\t\tstart.delete(&req);\n\t}\n}\n\"\"\")\n\nif BPF.get_kprobe_functions(b'blk_start_request'):\n        b.attach_kprobe(event=\"blk_start_request\", fn_name=\"trace_start\")\nb.attach_kprobe(event=\"blk_mq_start_request\", fn_name=\"trace_start\")\n\nif BPF.get_kprobe_functions(b'__blk_account_io_done'):\n    # __blk_account_io_done is available before kernel v6.4.\n    b.attach_kprobe(event=\"__blk_account_io_done\", fn_name=\"trace_completion\")\nelif BPF.get_kprobe_functions(b'blk_account_io_done'):\n    # blk_account_io_done is traceable (not inline) before v5.16.\n    b.attach_kprobe(event=\"blk_account_io_done\", fn_name=\"trace_completion\")\nelse:\n    b.attach_kprobe(event=\"blk_mq_end_request\", fn_name=\"trace_completion\")\n\n\n# header\nprint(\"%-18s %-2s %-7s %8s\" % (\"TIME(s)\", \"T\", \"BYTES\", \"LAT(ms)\"))\n\n# format output\nwhile 1:\n\ttry:\n\t\t(task, pid, cpu, flags, ts, msg) = b.trace_fields()\n\t\t(bytes_s, bflags_s, us_s) = msg.split()\n\n\t\tif int(bflags_s, 16) & REQ_WRITE:\n\t\t\ttype_s = b\"W\"\n\t\telif bytes_s == \"0\":\t# see blk_fill_rwbs() for logic\n\t\t\ttype_s = b\"M\"\n\t\telse:\n\t\t\ttype_s = b\"R\"\n\t\tms = float(int(us_s, 10)) / 1000\n\n\t\tprintb(b\"%-18.9f %-2s %-7s %8.2f\" % (ts, type_s, bytes_s, ms))\n\texcept KeyboardInterrupt:\n\t\texit()\n"
  },
  {
    "path": "examples/tracing/disksnoop_example.txt",
    "content": "Demonstrations of disksnoop.py, the Linux eBPF/bcc version.\n\n\nThis traces block I/O, a prints a line to summarize each I/O completed:\n\n# ./disksnoop.py\nTIME(s)            T  BYTES    LAT(ms)\n16458043.435457    W  4096        2.73\n16458043.435981    W  4096        3.24\n16458043.436012    W  4096        3.13\n16458043.437326    W  4096        4.44\n16458044.126545    R  4096       42.82\n16458044.129872    R  4096        3.24\n16458044.130705    R  4096        0.73\n16458044.142813    R  4096       12.01\n16458044.147302    R  4096        4.33\n16458044.148117    R  4096        0.71\n16458044.148950    R  4096        0.70\n16458044.164332    R  4096       15.29\n16458044.168003    R  4096        3.58\n16458044.171676    R  4096        3.59\n16458044.172453    R  4096        0.72\n16458044.173213    R  4096        0.71\n16458044.173989    R  4096        0.72\n16458044.174739    R  4096        0.70\n16458044.190334    R  4096       15.52\n16458044.196608    R  4096        6.17\n16458044.203091    R  4096        6.35\n\nThe output includes a basic timestamp (in seconds), the type of I/O (W == write,\nR == read, M == metadata), the size of the I/O in bytes, and the latency (or\nduration) of the I/O in milliseconds.\n\nThe latency is measured from I/O request to the device, to the device\ncompletion. This excludes latency spent queued in the OS.\n\nMost of the I/O in this example were 0.7 and 4 milliseconds in duration. There\nwas an outlier of 42.82 milliseconds, a read which followed many writes (the\nhigh latency may have been caused by the writes still being serviced on the\nstorage device).\n"
  },
  {
    "path": "examples/tracing/hello_fields.py",
    "content": "#!/usr/bin/python\n#\n# This is a Hello World example that formats output as fields.\n\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# define BPF program\nprog = \"\"\"\nint hello(void *ctx) {\n    bpf_trace_printk(\"Hello, World!\\\\n\");\n    return 0;\n}\n\"\"\"\n\n# load BPF program\nb = BPF(text=prog)\nb.attach_kprobe(event=b.get_syscall_fnname(\"clone\"), fn_name=\"hello\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"MESSAGE\"))\n\n# format output\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        continue\n    except KeyboardInterrupt:\n        exit()\n    printb(b\"%-18.9f %-16s %-6d %s\" % (ts, task, pid, msg))\n"
  },
  {
    "path": "examples/tracing/hello_perf_output.py",
    "content": "#!/usr/bin/python\n#\n# This is a Hello World example that uses BPF_PERF_OUTPUT.\n\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# define BPF program\nprog = \"\"\"\n#include <linux/sched.h>\n\n// define output data structure in C\nstruct data_t {\n    u32 pid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\nBPF_PERF_OUTPUT(events);\n\nint hello(struct pt_regs *ctx) {\n    struct data_t data = {};\n\n    data.pid = bpf_get_current_pid_tgid();\n    data.ts = bpf_ktime_get_ns();\n    bpf_get_current_comm(&data.comm, sizeof(data.comm));\n\n    events.perf_submit(ctx, &data, sizeof(data));\n\n    return 0;\n}\n\"\"\"\n\n# load BPF program\nb = BPF(text=prog)\nb.attach_kprobe(event=b.get_syscall_fnname(\"clone\"), fn_name=\"hello\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"MESSAGE\"))\n\n# process event\nstart = 0\ndef print_event(cpu, data, size):\n    global start\n    event = b[\"events\"].event(data)\n    if start == 0:\n            start = event.ts\n    time_s = (float(event.ts - start)) / 1000000000\n    printb(b\"%-18.9f %-16s %-6d %s\" % (time_s, event.comm, event.pid,\n        b\"Hello, perf_output!\"))\n\n# loop with callback to print_event\nb[\"events\"].open_perf_buffer(print_event)\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n"
  },
  {
    "path": "examples/tracing/hello_perf_output_using_ns.py",
    "content": "#!/usr/bin/python\n# Carlos Neira <cneirabustos@gmail.com>\n# This is a Hello World example that uses BPF_PERF_OUTPUT.\n# in this example bpf_get_ns_current_pid_tgid(), this helper\n# works inside pid namespaces.\n# bpf_get_current_pid_tgid() only returns the host pid outside any\n# namespace and this will not work when the script is run inside a pid namespace.\n\nfrom bcc import BPF\nfrom bcc.utils import printb\nimport sys, os\nfrom stat import *\n\n# define BPF program\nprog = \"\"\"\n#include <linux/sched.h>\n\n// define output data structure in C\nstruct data_t {\n    u32 pid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\nBPF_PERF_OUTPUT(events);\n\nint hello(struct pt_regs *ctx) {\n    struct data_t data = {};\n    struct bpf_pidns_info ns = {};\n\n    if(bpf_get_ns_current_pid_tgid(DEV, INO, &ns, sizeof(struct bpf_pidns_info)))\n\treturn 0;\n    data.pid = ns.pid;\n    data.ts = bpf_ktime_get_ns();\n    bpf_get_current_comm(&data.comm, sizeof(data.comm));\n\n    events.perf_submit(ctx, &data, sizeof(data));\n\n    return 0;\n}\n\"\"\"\n\ndevinfo = os.stat(\"/proc/self/ns/pid\")\nfor r in ((\"DEV\", str(devinfo.st_dev)), (\"INO\", str(devinfo.st_ino))):\n    prog = prog.replace(*r)\n\n# load BPF program\nb = BPF(text=prog)\nb.attach_kprobe(event=b.get_syscall_fnname(\"clone\"), fn_name=\"hello\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"MESSAGE\"))\n\n# process event\nstart = 0\n\n\ndef print_event(cpu, data, size):\n    global start\n    event = b[\"events\"].event(data)\n    if start == 0:\n        start = event.ts\n    time_s = (float(event.ts - start)) / 1000000000\n    printb(\n        b\"%-18.9f %-16s %-6d %s\"\n        % (time_s, event.comm, event.pid, b\"Hello, perf_output!\")\n    )\n\n\n# loop with callback to print_event\nb[\"events\"].open_perf_buffer(print_event)\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n"
  },
  {
    "path": "examples/tracing/kvm_hypercall.py",
    "content": "#!/usr/bin/python\n#\n# kvm_hypercall.py\n#\n# Demonstrates stateful kvm_entry and kvm_exit recording along with the\n# associated hypercall when exit_reason is VMCALL. See kvm_hypercall.txt\n# for usage\n#\n# REQUIRES: Linux 4.7+ (BPF_PROG_TYPE_TRACEPOINT support)\n#\n# Copyright (c) 2017 ShiftLeft Inc.\n#\n# Author(s):\n#   Suchakrapani Sharma <suchakra@shiftleft.io>\n\n\nfrom __future__ import print_function\nfrom bcc import BPF\n\n# load BPF program\nb = BPF(text=\"\"\"\n#define EXIT_REASON 18\nBPF_HASH(start, u8, u8);\n\nTRACEPOINT_PROBE(kvm, kvm_exit) {\n    u8 e = EXIT_REASON;\n    u8 one = 1;\n    if (args->exit_reason == EXIT_REASON) {\n        bpf_trace_printk(\"KVM_EXIT exit_reason : %d\\\\n\", args->exit_reason);\n        start.update(&e, &one);\n    }\n    return 0;\n}\n\nTRACEPOINT_PROBE(kvm, kvm_entry) {\n    u8 e = EXIT_REASON;\n    u8 zero = 0;\n    u8 *s = start.lookup(&e);\n    if (s != NULL && *s == 1) {\n        bpf_trace_printk(\"KVM_ENTRY vcpu_id : %u\\\\n\", args->vcpu_id);\n        start.update(&e, &zero);\n    }\n    return 0;\n}\n\nTRACEPOINT_PROBE(kvm, kvm_hypercall) {\n    u8 e = EXIT_REASON;\n    u8 zero = 0;\n    u8 *s = start.lookup(&e);\n    if (s != NULL && *s == 1) {\n        bpf_trace_printk(\"HYPERCALL nr : %d\\\\n\", args->nr);\n    }\n    return 0;\n};\n\"\"\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"EVENT\"))\n\n# format output\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        continue\n    print(\"%-18.9f %-16s %-6d %s\" % (ts, task, pid, msg))\n\n"
  },
  {
    "path": "examples/tracing/kvm_hypercall.txt",
    "content": "Demonstrations of kvm_hypercall.py, showing eBPF/bcc based hypercall analysis\n\nThis example demonstrates how we can statefully save static tracepoint\nevents based on conditions being met for other events with which they are\nassociated. Here, we wish to record kvm_exit and kvm_entry events which are\nlinked to the kvm_hypercall event. We are interested in kvm_exit with exit\nreason as VMCALL (18). This may be useful to analyze latency caused by a\nhypercall itself.\n\nTo test this, while the python script is run, induce a hypercall from a\nguest based on the following example:\nhttps://gist.github.com/abenbachir/344822b5ba9fc5ac384cdec3f087e018\n\n# ./kvm_hypercall.py\nTIME(s)            COMM             PID    MESSAGE\n2445.577087000     CPU 0/KVM        8896   KVM_EXIT exit_reason : 18\n2445.577122000     CPU 0/KVM        8896   HYPERCALL nr : 0\n2445.577129000     CPU 0/KVM        8896   KVM_ENTRY vcpu_id : 0\n2445.577136000     CPU 0/KVM        8896   KVM_EXIT exit_reason : 18\n2445.577145000     CPU 0/KVM        8896   HYPERCALL nr : 1\n2445.577149000     CPU 0/KVM        8896   KVM_ENTRY vcpu_id : 0\n2445.577155000     CPU 0/KVM        8896   KVM_EXIT exit_reason : 18\n2445.577160000     CPU 0/KVM        8896   HYPERCALL nr : 2\n2445.577164000     CPU 0/KVM        8896   KVM_ENTRY vcpu_id : 0\n2445.577170000     CPU 0/KVM        8896   KVM_EXIT exit_reason : 18\n2445.577175000     CPU 0/KVM        8896   HYPERCALL nr : 3\n2445.577179000     CPU 0/KVM        8896   KVM_ENTRY vcpu_id : 0\n2445.577185000     CPU 0/KVM        8896   KVM_EXIT exit_reason : 18\n2445.577190000     CPU 0/KVM        8896   HYPERCALL nr : 4\n2445.577194000     CPU 0/KVM        8896   KVM_ENTRY vcpu_id : 0\n\nThis output shows a sequence of exit -> hypercall -> entry where the\nexit_reason was VMCALL.\n"
  },
  {
    "path": "examples/tracing/lbr.py",
    "content": "#!/usr/bin/python\n#\n# lbr.py\n#\n# Trace conditional branches executed by syscalls using the Last Branch Record\n# Buffer (LBR)\n#\n# REQUIRES:\n#   Linux 5.16+ (bpf_get_branch_snapshot support)\n#\n# Copyright (c) 2023 Bytedance Inc.\n#\n# Author(s):\n#   Lorenzo Carrozzo <lorenzocarrozzo@bytedance.com>\n\nfrom __future__ import absolute_import, print_function, unicode_literals\nfrom bcc import BPF\nfrom bcc import PerfType, PerfHWConfig, PerfEventSampleFormat, Perf\nimport argparse\nfrom sys import exit\nfrom pathlib import Path\nfrom subprocess import Popen, PIPE\n\n# Number of LBR entries and output tags\nlbr_cnt = 32\nnum_entries_tag = 'lbr_total_entries:'\nentry_tag = 'lbr_entry:'\n\n# BPF program text\nbpf_text = \"\"\"\n#include <uapi/linux/perf_event.h>\n#include <uapi/linux/ptrace.h>\n\n// Define arguments passed to tracepoint\nstruct params {\n        short common_type;\n        unsigned char common_flags;\n        unsigned char common_preempt_count;\n        int common_pid;\n        int __syscall_nr;\n        long ret;\n};\n\nstruct perf_branch_entry_buf {\n    struct perf_branch_entry entries[ENTRY_CNT];\n};\n\nBPF_PERCPU_ARRAY(branch_entry, struct perf_branch_entry_buf, 1);\n\n// Function to use with tracepoint\nint disp_snapshot_tp(struct params *p) {\n    unsigned buf_size = sizeof(struct perf_branch_entry_buf), idx = 0;\n    struct perf_branch_entry_buf *buf;\n\n    buf = branch_entry.lookup(&idx);\n    if (!buf)\n        return 0;\n\n    int total_entries = bpf_get_branch_snapshot(buf, buf_size, 0);\n    total_entries /= sizeof(struct perf_branch_entry);\n\n    if (true T_R_COND P_COND) {\n        bpf_trace_printk(\"NUM_ENTRIES%d\", total_entries);\n\n        for (int i = 0; i < ENTRY_CNT; i++) {\n            bpf_trace_printk(\"ENTRY%pS --> %pS\", buf->entries[i].from,\n                             buf->entries[i].to);\n        }\n    }\n\n    return 0;\n}\n\n// Function to use with kretprobe\nint disp_snapshot_krp(struct pt_regs *p) {\n    unsigned buf_size = sizeof(struct perf_branch_entry_buf), idx = 0;\n    struct perf_branch_entry_buf *buf;\n\n    buf = branch_entry.lookup(&idx);\n    if (!buf)\n        return 0;\n\n    int total_entries = bpf_get_branch_snapshot(buf, buf_size, 0);\n    total_entries /= sizeof(struct perf_branch_entry);\n\n    if (true K_R_COND P_COND) {\n        bpf_trace_printk(\"NUM_ENTRIES%d\", total_entries);\n\n        for (int i = 0; i < ENTRY_CNT; i++) {\n            bpf_trace_printk(\"ENTRY%pS --> %pS\", buf->entries[i].from,\n                             buf->entries[i].to);\n        }\n    }\n\n    return 0;\n}\n\"\"\"\n\n# Parse arguments\nexamples = \"\"\"\nexamples:\n    ./lbr -t <syscall>       # the syscall to attach the exit tracepoint to\n    ./lbr -k <syscall>       # the syscall to attach a kretprobe to\n    ./lbr -r <value>         # filter by syscall's return value\n    ./lbr -p <pid>           # filter by program pid\n    ./lbr -b <path/to/bin>   # kernel to search addresses in using addr2line\n    ./lbr -d                 # show debug strings\n\"\"\"\nparser = argparse.ArgumentParser(\n    description=\"Trace conditional branches using LBR.\",\n    formatter_class=argparse.RawDescriptionHelpFormatter,\n    epilog=examples)\nparser.add_argument(\"-t\", \"--tracepoint\", type=str, metavar=\"SYSCALL\",\n                    help=\"the syscall to attach the exit tracepoint to\")\nparser.add_argument(\"-k\", \"--kretprobe\", type=str, metavar=\"SYSCALL\",\n                    help=\"the syscall to attach a kretprobe to\", )\nparser.add_argument(\"-r\", \"--ret_value\", type=int, metavar=\"VALUE\",\n                    help=\"filter by syscall's return value\")\nparser.add_argument(\"-p\", \"--pid\", type=int,\n                    help=\"filter by pid\")\nparser.add_argument(\"-e\", \"--extend\", action=\"store_true\",\n                    help=\"extend output width so entry addresses are on on \\\n                    one line\")\nparser.add_argument(\"-b\", \"--bin\", type=str,\n                    help=\"the binary to search address in\")\nparser.add_argument(\"-d\", \"--debug\", action=\"store_true\",\n                    help=\"print out bpf program text\")\nargs = parser.parse_args()\n\n# Check that tracepoint or kretprobe is given\nif args.tracepoint is None and args.kretprobe is None:\n    print('Error tracepoint or kretprobe is required')\n    parser.print_help()\n    exit(1)\nelif args.tracepoint == args.kretprobe:\n    print('Warning it is not recommend to attach to a syscall`s tracepoint \\n \\\n          and kretprobe at the same time!!!')\n\n# Check binary is valid if provided\nif args.bin is not None and not Path(args.bin).is_file():\n    print('Error binary path is invalid')\n    parser.print_help()\n    exit(1)\n\n# Replace conditions based on arguments\nif args.ret_value is not None:\n    bpf_text = bpf_text.replace('T_R_COND', f'&& p->ret == {args.ret_value}')\n    bpf_text = bpf_text.replace('K_R_COND',\n                                f'&& PT_REGS_RC(p) == {args.ret_value}')\n\nif args.pid is not None:\n    bpf_text = bpf_text.replace('P_COND',\n                                f'&& (bpf_get_current_pid_tgid() >> 32) == \\\n                                {args.pid}')\n\n# Remove any unused tags not used\nbpf_text = bpf_text.replace('T_R_COND', '')\nbpf_text = bpf_text.replace('K_R_COND', '')\nbpf_text = bpf_text.replace('P_COND', '')\n\n# Replace other globals\nbpf_text = bpf_text.replace('ENTRY_CNT', str(lbr_cnt))\nbpf_text = bpf_text.replace('NUM_ENTRIES', num_entries_tag)\nbpf_text = bpf_text.replace('ENTRY', entry_tag)\n\n# Print out completed bpf program text\nif args.debug:\n    print(bpf_text)\n\n# Load bpf program\nbpf_prog = BPF(text=bpf_text)\n\n# Open perf event\n# Filters are defined in perf_event.h\n# PERF_SAMPLE_BRANCH_KERNEL | PERF_SAMPLE_BRANCH_USER | PERF_SAMPLE_BRANCH_COND\nattr = Perf.perf_event_attr()\nattr.config = PerfHWConfig.CPU_CYCLES\nattr.type = PerfType.HARDWARE\nattr.sample_type = PerfEventSampleFormat.BRANCH_STACK\nattr.branch_sample_type = 2 | 1 | 1024\nPerf.perf_custom_event_open(attr)\n\n# Attach to tracepoint\nif args.tracepoint is not None:\n    tracepoint = f'syscalls:sys_exit_{args.tracepoint}'\n    bpf_prog.attach_tracepoint(tp=tracepoint, fn_name='disp_snapshot_tp')\n\n# Attach to kretprobe\nif args.kretprobe is not None:\n    kretprobe = bpf_prog.get_syscall_fnname(args.kretprobe)\n    bpf_prog.attach_kretprobe(event=kretprobe, fn_name='disp_snapshot_krp')\n\ndef print_line(max_len, dir, info, i=' '):\n    line = i + ' ' * (3 - len(i)) + '| ' + dir + ' | '\n    line += info + ' ' * (max_len - len(info)) + ' |'\n    print(line)\n    return len(line)\n\ndef print_ex_line(max_fr, max_to, fr, to, i=' '):\n    # Construct line and print it\n    line = i + ' ' * (3 - len(i)) + '| '\n    line += fr + ' ' * (max_fr - len(fr)) + ' --> '\n    line += to + ' ' * (max_to - len(to)) + ' |'\n    print(line)\n    return len(line)\n\ndef addr2line(addr):\n    # Get addr2line's output for the address\n    comm = Popen(f'addr2line -e {args.bin} {addr}', stdout=PIPE, shell=True)\n    stdout, _ = comm.communicate()\n    stdout = stdout.decode().replace('\\n', '').split(' ')\n    return stdout[0]\n\ndef print_snapshot():\n    # Get number of entries\n    at_start = False\n    while not at_start:\n        (_, _, _, _, _, msg) = bpf_prog.trace_fields()\n        msg = msg.decode()\n        if msg.startswith(num_entries_tag):\n            total_entries = int(msg.replace(num_entries_tag, ''))\n            at_start = True\n\n    # Get addresses\n    fr_addrs, to_addrs, fr_paths, to_paths = [], [], [], []\n    entries_read = 0\n    while entries_read < total_entries:\n        (_, _, _, _, _, msg) = bpf_prog.trace_fields()\n        msg = msg.decode()\n        if msg.startswith(entry_tag):\n            addrs = msg.replace(entry_tag, '')\n            addrs = addrs.split(' --> ')\n            fr_addrs.append(addrs[0])\n            to_addrs.append(addrs[1])\n            entries_read += 1\n\n    # Get address line number\n    if args.bin is not None:\n        fr_paths = list(map(lambda a: addr2line(a), fr_addrs))\n        to_paths = list(map(lambda a: addr2line(a), to_addrs))\n\n    # Get longest string for addresses/ paths\n    max_fr = max(list(map(lambda a: len(a), fr_addrs + fr_paths + ['from'])))\n    max_to = max(list(map(lambda a: len(a), to_addrs + to_paths + ['to'])))\n\n    # Print info to user\n    if args.extend:\n        line_len = print_ex_line(max_fr, max_to, 'From', 'To', 'i')\n        under_line = '-' * (line_len - 1) + '|'\n        print(under_line)\n        for i in range(total_entries):\n            print_ex_line(max_fr, max_to, fr_addrs[i], to_addrs[i], str(i))\n            if args.bin is not None:\n                print_ex_line(max_fr, max_to, fr_paths[i], to_paths[i])\n            print(under_line)\n    else:\n        hdr = 'Addresses' + (' / Paths' if args.bin is not None else '')\n        max_len = max(max_fr, max_to, len(hdr))\n        line_len = print_line(max_len, 'T/F ', hdr, 'i')\n        under_line = '-' * (line_len - 5) + '|'\n        print('----' + under_line)\n        for i in range(total_entries):\n            print_line(max_len, 'From', fr_addrs[i], str(i))\n            if args.bin is not None:\n                print_line(max_len, '    ', fr_paths[i])\n            print('   |' + under_line)\n            print_line(max_len, 'To  ', to_addrs[i])\n            if args.bin is not None:\n                print_line(max_len, '    ', to_paths[i])\n            print('----' + under_line)\n    print(\"\\n\\n\")\n\n\n# Main program loops\n\nprint('\\nTracing logical branches... Hit Ctrl-C to end.\\n')\nwhile True:\n    try:\n        print_snapshot()\n    except KeyboardInterrupt:\n        exit(0)\n"
  },
  {
    "path": "examples/tracing/mallocstacks.py",
    "content": "#!/usr/bin/python\n#\n# mallocstacks  Trace malloc() calls in a process and print the full\n#               stack trace for all callsites.\n#               For Linux, uses BCC, eBPF. Embedded C.\n#\n# This script is a basic example of the new Linux 4.6+ BPF_STACK_TRACE\n# table API.\n#\n# Copyright 2016 GitHub, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\nfrom time import sleep\nimport sys\n\nif len(sys.argv) < 2:\n    print(\"USAGE: mallocstacks PID [NUM_STACKS=1024]\")\n    exit()\npid = int(sys.argv[1])\nif len(sys.argv) == 3:\n    try:\n        assert int(sys.argv[2]) > 0, \"\"\n    except (ValueError, AssertionError) as e:\n        print(\"USAGE: mallocstacks PID [NUM_STACKS=1024]\")\n        print(\"NUM_STACKS must be a non-zero, positive integer\")\n        exit()\n    stacks = sys.argv[2]\nelse:\n    stacks = \"1024\"\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n\nBPF_HASH(calls, int);\nBPF_STACK_TRACE(stack_traces, \"\"\" + stacks + \"\"\");\n\nint alloc_enter(struct pt_regs *ctx, size_t size) {\n    int key = stack_traces.get_stackid(ctx, BPF_F_USER_STACK);\n    if (key < 0)\n        return 0;\n\n    // could also use `calls.increment(key, size);`\n    u64 zero = 0, *val;\n    val = calls.lookup_or_try_init(&key, &zero);\n    if (val) {\n      (*val) += size;\n    }\n    return 0;\n};\n\"\"\")\n\nb.attach_uprobe(name=\"c\", sym=\"malloc\", fn_name=\"alloc_enter\", pid=pid)\nprint(\"Attaching to malloc in pid %d, Ctrl+C to quit.\" % pid)\n\n# sleep until Ctrl-C\ntry:\n    sleep(99999999)\nexcept KeyboardInterrupt:\n    pass\n\ncalls = b.get_table(\"calls\")\nstack_traces = b.get_table(\"stack_traces\")\n\nfor k, v in reversed(sorted(calls.items(), key=lambda c: c[1].value)):\n    print(\"%d bytes allocated at:\" % v.value)\n    if k.value > 0 :\n        for addr in stack_traces.walk(k.value):\n            printb(b\"\\t%s\" % b.sym(addr, pid, show_offset=True))\n        print(\"    %d\\n\" % v.value)\n"
  },
  {
    "path": "examples/tracing/mysqld_query.py",
    "content": "#!/usr/bin/python\n#\n# mysqld_query    Trace MySQL server queries. Example of USDT tracing.\n#                 For Linux, uses BCC, BPF. Embedded C.\n#\n# USAGE: mysqld_query PID\n#\n# This uses USDT probes, and needs a MySQL server with -DENABLE_DTRACE=1.\n#\n# Copyright 2016 Netflix, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF, USDT\nfrom bcc.utils import printb\nimport sys\n\nif len(sys.argv) < 2:\n    print(\"USAGE: mysqld_latency PID\")\n    exit()\npid = sys.argv[1]\ndebug = 0\n\n# load BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\nint do_trace(struct pt_regs *ctx) {\n    uint64_t addr;\n    char query[128];\n    /*\n     * Read the first argument from the query-start probe, which is the query.\n     * The format of this probe is:\n     * query-start(query, connectionid, database, user, host)\n     * see: https://dev.mysql.com/doc/refman/5.7/en/dba-dtrace-ref-query.html\n     */\n    bpf_usdt_readarg(1, ctx, &addr);\n    bpf_probe_read_user(&query, sizeof(query), (void *)addr);\n    bpf_trace_printk(\"%s\\\\n\", query);\n    return 0;\n};\n\"\"\"\n\n# enable USDT probe from given PID\nu = USDT(pid=int(pid))\nu.enable_probe(probe=\"query__start\", fn_name=\"do_trace\")\nif debug:\n    print(u.get_text())\n    print(bpf_text)\n\n# initialize BPF\nb = BPF(text=bpf_text, usdt_contexts=[u])\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"QUERY\"))\n\n# format output\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        print(\"value error\")\n        continue\n    except KeyboardInterrupt:\n        exit()\n    printb(b\"%-18.9f %-16s %-6d %s\" % (ts, task, pid, msg))\n"
  },
  {
    "path": "examples/tracing/mysqld_query_example.txt",
    "content": "# ./mysqld_query.py `pgrep -n mysqld`\nTIME(s)            COMM             PID    QUERY\n17450459.549910001 mysqld           18608  select @@version_comment limit 1\n17450463.822668001 mysqld           18608  SELECT DATABASE()\n17450463.824042998 mysqld           18608  show databases\n17450463.824570000 mysqld           18608  show tables\n17450465.602717999 mysqld           18608  SELECT COUNT(*) FROM words\n17450479.944897000 mysqld           18608  SELECT * FROM words WHERE word REGEXP '^bre.*n$'\n"
  },
  {
    "path": "examples/tracing/nflatency.py",
    "content": "#!/usr/bin/python3\n#\n# nflatency     Trace netfilter hook latency.\n#\n# This attaches a kprobe and kretprobe to nf_hook_slow.\n# 2020-04-03 Casey Callendrello / <cdc@redhat.com>\n\nimport argparse\nimport sys\nimport time\n\nfrom bcc import BPF\n\nBPF_SRC = \"\"\"\n#include <linux/ip.h>\n#include <linux/ipv6.h>\n#include <linux/tcp.h>\n#include <linux/netfilter.h>\n#include <net/ip.h>\n#include <uapi/linux/bpf.h>\n\nstatic struct tcphdr *skb_to_tcphdr(const struct sk_buff *skb)\n{\n    // unstable API. verify logic in tcp_hdr() -> skb_transport_header().\n    return (struct tcphdr *)(skb->head + skb->transport_header);\n}\n\nstatic inline struct iphdr *skb_to_iphdr(const struct sk_buff *skb)\n{\n    // unstable API. verify logic in ip_hdr() -> skb_network_header().\n    return (struct iphdr *)(skb->head + skb->network_header);\n}\n\nstatic inline struct ipv6hdr *skb_to_ip6hdr(const struct sk_buff *skb)\n{\n    // unstable API. verify logic in ip_hdr() -> skb_network_header().\n    return (struct ipv6hdr *)(skb->head + skb->network_header);\n}\n\n// for correlating between kprobe and kretprobe\nstruct start_data {\n    u8 hook;\n    u8 pf; // netfilter protocol\n    u8 tcp_state;\n    u64 ts;\n};\nBPF_PERCPU_ARRAY(sts, struct start_data, 1);\n\n// the histogram keys\ntypedef struct nf_lat_key {\n    u8 proto; // see netfilter.h\n    u8 hook;\n    u8 tcp_state;\n} nf_lat_key_t;\n\ntypedef struct hist_key {\n    nf_lat_key_t key;\n    u64 slot;\n} hist_key_t;\nBPF_HISTOGRAM(dist, hist_key_t);\n\n\nint kprobe__nf_hook_slow(struct pt_regs *ctx, struct sk_buff *skb, struct nf_hook_state *state) {\n    struct start_data data = {};\n    data.ts = bpf_ktime_get_ns();\n    data.hook = state->hook;\n    data.pf = state->pf;\n\n    COND\n\n    u8 ip_proto;\n    if (skb->protocol == htons(ETH_P_IP)) {\n        struct iphdr *ip = skb_to_iphdr(skb);\n        ip_proto = ip->protocol;\n\n    } else if (skb->protocol == htons(ETH_P_IPV6)) {\n        struct ipv6hdr *ip = skb_to_ip6hdr(skb);\n        ip_proto = ip->nexthdr;\n    }\n\n    data.tcp_state = 0;\n    if (ip_proto == 0x06) { //tcp\n        struct tcphdr *tcp = skb_to_tcphdr(skb);\n        u8 tcpflags = ((u_int8_t *)tcp)[13];\n\n        // FIN or RST\n        if (((tcpflags & 1) + (tcpflags & 4)) > 0) {\n            data.tcp_state = 3;\n        }\n        // SYN / SACK\n        else if ((tcpflags & 0x02) > 0) {\n            data.tcp_state = 1;\n            if ((tcpflags & 16) > 0) { // ACK\n                data.tcp_state = 2;\n            }\n        }\n    }\n\n    u32 idx = 0;\n    sts.update(&idx, &data);\n    return 0;\n}\n\nint kretprobe__nf_hook_slow(struct pt_regs *ctx) {\n    u32 idx = 0;\n    struct start_data *s;\n    s = sts.lookup(&idx);\n    if (!s || s->ts == 0) {\n        return 0;\n    }\n\n    s->ts = bpf_ktime_get_ns() - s->ts;\n\n    hist_key_t key = {};\n    key.key.hook = s->hook;\n    key.key.proto = s->pf;\n    key.key.tcp_state = s->tcp_state;\n    key.slot = bpf_log2l(s->ts / FACTOR );\n    dist.increment(key);\n\n    s->ts = 0;\n    sts.update(&idx, s);\n\n    return 0;\n}\n\"\"\"\n\n# constants from netfilter.h\nNF_HOOKS = {\n    0: \"PRE_ROUTING\",\n    1: \"LOCAL_IN\",\n    2: \"FORWARD\",\n    3: \"LOCAL_OUT\",\n    4: \"POST_ROUTING\",\n}\n\nNF_PROTOS = {\n    0: \"UNSPEC\",\n    1: \"INET\",\n    2: \"IPV4\",\n    3: \"ARP\",\n    5: \"NETDEV\",\n    7: \"BRIDGE\",\n    10: \"IPV6\",\n    12: \"DECNET\",\n}\n\nTCP_FLAGS = {\n    0: \"other\",\n    1: \"SYN\",\n    2: \"SACK\",\n    3: \"FIN\",\n}\n\nEXAMPLES = \"\"\"examples:\n    nflatency                   # print netfilter latency histograms, 1 second refresh\n    nflatency -p IPV4 -p IPV6   # print only for ipv4 and ipv6\n    nflatency -k PRE_ROUTING    # only record the PRE_ROUTING hook\n    nflatency -i 5 -d 10        # run for 10 seconds, printing every 5\n\"\"\"\n\n\nparser = argparse.ArgumentParser(\n    description=\"Track latency added by netfilter hooks. Where possible, interesting TCP flags are included\",\n    formatter_class=argparse.RawDescriptionHelpFormatter,\n    epilog=EXAMPLES)\nparser.add_argument(\"-p\", \"--proto\",\n                    action='append',\n                    help=\"record this protocol only (multiple parameters allowed)\",\n                    choices=NF_PROTOS.values())\nparser.add_argument(\"-k\", \"--hook\",\n                    action='append',\n                    help=\"record this netfilter hook only (multiple parameters allowed)\",\n                    choices=NF_HOOKS.values())\nparser.add_argument(\"-i\", \"--interval\", type=int,\n                    help=\"summary interval, in seconds. Default is 10, unless --duration is supplied\")\nparser.add_argument(\"-d\", \"--duration\", type=int,\n                    help=\"total duration of trace, in seconds\")\nparser.add_argument(\"--nano\", action=\"store_true\",\n                    help=\"bucket by nanoseconds instead of milliseconds\")\n\ndef main():\n    args = parser.parse_args()\n\n    src = build_src(args)\n    b = BPF(text=src)\n    dist = b.get_table(\"dist\")\n\n    seconds = 0\n    interval = 0\n    if not args.interval:\n        interval = 1\n        if args.duration:\n            interval = args.duration\n    else:\n        interval = args.interval\n\n    sys.stderr.write(\"Tracing netfilter hooks... Hit Ctrl-C to end.\\n\")\n    while 1:\n        try:\n            dist.print_log2_hist(\n                section_header=\"Bucket\",\n                bucket_fn=lambda k: (k.proto, k.hook, k.tcp_state),\n                section_print_fn=bucket_desc)\n            if args.duration and seconds >= args.duration:\n                sys.exit(0)\n            seconds += interval\n            time.sleep(interval)\n        except KeyboardInterrupt:\n            sys.exit(1)\n\n\ndef build_src(args):\n    cond_src = \"\"\n    if args.proto:\n        predicate = \" || \".join(map(lambda x: \"data.pf == NFPROTO_%s\" % x, args.proto))\n        cond_src = \"if (!(%s)) { return 0; }\\n\" % predicate\n    if args.hook:\n        predicate = \" || \".join(map(lambda x: \"data.hook == NF_INET_%s\" % x, args.hook))\n        cond_src = \"%s    if (!(%s)) { return 0;}\\n\" % (cond_src, predicate)\n\n    factor = \"1000\"\n    if args.nano:\n        factor = \"1\"\n\n    return BPF_SRC.replace('COND', cond_src).replace('FACTOR', factor)\n\n\ndef bucket_desc(bucket):\n    return \"%s %s (tcp %s)\" % (\n        NF_PROTOS[bucket[0]],\n        NF_HOOKS[bucket[1]],\n        TCP_FLAGS[bucket[2]])\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "examples/tracing/nodejs_http_server.py",
    "content": "#!/usr/bin/python\n#\n# nodejs_http_server    Basic example of node.js USDT tracing.\n#                       For Linux, uses BCC, BPF. Embedded C.\n#\n# USAGE: nodejs_http_server PID\n#\n# Copyright 2016 Netflix, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF, USDT\nfrom bcc.utils import printb\nimport sys\n\nif len(sys.argv) < 2:\n    print(\"USAGE: nodejs_http_server PID\")\n    exit()\npid = sys.argv[1]\ndebug = 0\n\n# load BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\nint do_trace(struct pt_regs *ctx) {\n    uint64_t addr;\n    char path[128]={0};\n    bpf_usdt_readarg(6, ctx, &addr);\n    bpf_probe_read_user(&path, sizeof(path), (void *)addr);\n    bpf_trace_printk(\"path:%s\\\\n\", path);\n    return 0;\n};\n\"\"\"\n\n# enable USDT probe from given PID\nu = USDT(pid=int(pid))\nu.enable_probe(probe=\"http__server__request\", fn_name=\"do_trace\")\nif debug:\n    print(u.get_text())\n    print(bpf_text)\n\n# initialize BPF\nb = BPF(text=bpf_text, usdt_contexts=[u])\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"ARGS\"))\n\n# format output\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        print(\"value error\")\n        continue\n    except KeyboardInterrupt:\n        exit()\n    printb(b\"%-18.9f %-16s %-6d %s\" % (ts, task, pid, msg))\n"
  },
  {
    "path": "examples/tracing/nodejs_http_server_example.txt",
    "content": "# ./nodejs_http_server.py 24728\nTIME(s)            COMM             PID    ARGS\n24653324.561322998 node             24728  path:/index.html\n24653335.343401998 node             24728  path:/images/welcome.png\n24653340.510164998 node             24728  path:/images/favicon.png\n"
  },
  {
    "path": "examples/tracing/setuid_monitor.py",
    "content": "#!/usr/bin/python3\n#\n# setuid_monitor    A setuid syscall monitor, as the example of\n#                   utilizing kernel tracepoint.\n#\n# Test by running the code. Meanwhile, run any command that introduces\n# the setuid syscall, such as su, sudo, passwd, etc.\n#\n# Copyright 2025 HardenedLinux\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# define BPF program\nb = BPF(text=\"\"\"\n#include <linux/sched.h>\n\n// define output data structure in C\nstruct data_t {\n    u32 pid;\n    u32 uid;\n    u64 ts;\n    char comm[TASK_COMM_LEN];\n};\nBPF_PERF_OUTPUT(events);\n\nTRACEPOINT_PROBE(syscalls, sys_enter_setuid) {\n    struct data_t data = {};\n\n    // Check /sys/kernel/debug/tracing/events/syscalls/sys_enter_setuid/format\n    // for the args format\n    data.uid = args->uid;\n    data.ts = bpf_ktime_get_ns();\n    data.pid = bpf_get_current_pid_tgid();\n    bpf_get_current_comm(&data.comm, sizeof(data.comm));\n\n    events.perf_submit(args, &data, sizeof(data));\n\n    return 0;\n}\n\"\"\")\n\n# header\nprint(\"%-14s %-12s %-6s %s\" % (\"TIME(s)\", \"COMMAND\", \"PID\", \"UID\"))\n\ndef print_event(cpu, data, size):\n    event = b[\"events\"].event(data)\n    printb(b\"%-14.3f %-12s %-6d %d\" % ((event.ts/1000000000),\n           event.comm, event.pid, event.uid))\n\n# loop with callback to print_event\nb[\"events\"].open_perf_buffer(print_event)\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n"
  },
  {
    "path": "examples/tracing/setuid_monitor_example.txt",
    "content": "Examples of setuid_monitor.py, the Linux eBPF/bcc version.\n\n\nTo demonstrate this, run following or other commands in which setuid are\ninvolved:\n\n# su\n# sudo\n# passwd\n\nWhile setuid_monitor.py was tracing in another session:\n\n# ./setuid_monitor.py\nTIME(s)            COMM             PID    UID\n7615.997           su               2989   0\n7616.005           su               2990   0\n7616.008           su               2991   0\n7621.446           passwd           3008   0\n7624.655           passwd           3009   0\n7624.664           passwd           3010   0\n7629.624           master           1262   0\n7640.942           sudo             3012   0\n\nThe UID here is the target User ID that setuid trys to elevate the\nexecutable's privilege to.\n\nThis program was written as a simplified demonstration of tracing a\ntracepoint.\n"
  },
  {
    "path": "examples/tracing/stack_buildid_example.py",
    "content": "#!/usr/bin/python\n#\n# An example usage of stack_build_id\n# Most of the code here is borrowed from tools/profile.py\n#\n# Steps for using this code\n# 1) Start ping program in one terminal eg invocation: ping google.com -i0.001\n# 2) Change the path of libc specified in b.add_module() below\n# 3) Invoke the script as 'python stack_buildid_example.py'\n# 4) o/p of the tool is as shown below\n#  python example/tracing/stack_buildid_example.py\n#    sendto\n#    -                ping (5232)\n#        2\n#\n# REQUIRES: Linux 4.17+ (BPF_BUILD_ID support)\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n# 03-Jan-2019  Vijay Nag\n\nfrom __future__ import print_function\nfrom bcc import BPF, PerfType, PerfSWConfig\nfrom sys import stderr\nfrom time import sleep\nimport argparse\nimport signal\nimport os\nimport subprocess\nimport errno\nimport multiprocessing\nimport ctypes as ct\n\ndef Get_libc_path():\n  # A small helper function that returns full path\n  # of libc in the system\n  cmd = 'cat /proc/self/maps | grep libc | awk \\'{print $6}\\' | uniq'\n  output = subprocess.check_output(cmd, shell=True)\n  if not isinstance(output, str):\n    output = output.decode()\n  return output.split('\\n')[0]\n\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\n#include <uapi/linux/bpf_perf_event.h>\n#include <linux/sched.h>\n\nstruct key_t {\n    u32 pid;\n    int user_stack_id;\n    char name[TASK_COMM_LEN];\n};\nBPF_HASH(counts, struct key_t);\nBPF_STACK_TRACE_BUILDID(stack_traces, 128);\n\nint do_perf_event(struct bpf_perf_event_data *ctx) {\n    u32 pid = bpf_get_current_pid_tgid() >> 32;\n\n    // create map key\n    struct key_t key = {.pid = pid};\n    bpf_get_current_comm(&key.name, sizeof(key.name));\n\n    key.user_stack_id = stack_traces.get_stackid(&ctx->regs, BPF_F_USER_STACK);\n\n    if (key.user_stack_id >= 0) {\n      counts.increment(key);\n    }\n    return 0;\n}\n\"\"\"\n\nb = BPF(text=bpf_text)\nb.attach_perf_event(ev_type=PerfType.SOFTWARE,\n    ev_config=PerfSWConfig.CPU_CLOCK, fn_name=\"do_perf_event\",\n    sample_period=0, sample_freq=49, cpu=0)\n\n# Add the list of libraries/executables to the build sym cache for sym resolution\n# Change the libc path if it is different on a different machine.\n# libc.so and ping are added here so that any symbols pertaining to\n# libc or ping are resolved. More executables/libraries can be added here.\nb.add_module(Get_libc_path())\nb.add_module(\"/usr/sbin/sshd\")\nb.add_module(\"/bin/ping\")\ncounts = b.get_table(\"counts\")\nstack_traces = b.get_table(\"stack_traces\")\nduration = 2\n\ndef signal_handler(signal, frame):\n  print()\n\ntry:\n    sleep(duration)\nexcept KeyboardInterrupt:\n    # as cleanup can take some time, trap Ctrl-C:\n    signal.signal(signal.SIGINT, signal.SIG_IGN)\n\nuser_stack=[]\nfor k,v in sorted(counts.items(), key=lambda counts: counts[1].value):\n  user_stack = [] if k.user_stack_id < 0 else \\\n      stack_traces.walk(k.user_stack_id)\n\n  user_stack=list(user_stack)\n  for addr in user_stack:\n    print(\"    %s\" % b.sym(addr, k.pid).decode('utf-8', 'replace'))\n  print(\"    %-16s %s (%d)\" % (\"-\", k.name.decode('utf-8', 'replace'), k.pid))\n  print(\"        %d\\n\" % v.value)\n\n"
  },
  {
    "path": "examples/tracing/stacksnoop.py",
    "content": "#!/usr/bin/python\n#\n# stacksnoop    Trace a kernel function and print all kernel stack traces.\n#               For Linux, uses BCC, eBPF, and currently x86_64 only. Inline C.\n#\n# USAGE: stacksnoop [-h] [-p PID] [-s] [-v] function\n#\n# Copyright 2016 Netflix, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n#\n# 12-Jan-2016   Brendan Gregg   Created this.\n\nfrom __future__ import print_function\nfrom bcc import BPF\nimport argparse\nimport time\n\n# arguments\nexamples = \"\"\"examples:\n    ./stacksnoop ext4_sync_fs           # print kernel stack traces for ext4_sync_fs\n    ./stacksnoop -s ext4_sync_fs        # ... also show symbol offsets\n    ./stacksnoop -v ext4_sync_fs        # ... show extra columns\n    ./stacksnoop -p 185 ext4_sync_fs    # ... only when PID 185 is on-CPU\n\"\"\"\nparser = argparse.ArgumentParser(\n    description=\"Trace and print kernel stack traces for a kernel function\",\n    formatter_class=argparse.RawDescriptionHelpFormatter,\n    epilog=examples)\nparser.add_argument(\"-p\", \"--pid\",\n    help=\"trace this PID only\")\nparser.add_argument(\"-s\", \"--offset\", action=\"store_true\",\n    help=\"show address offsets\")\nparser.add_argument(\"-v\", \"--verbose\", action=\"store_true\",\n    help=\"print more fields\")\nparser.add_argument(\"function\",\n    help=\"kernel function name\")\nargs = parser.parse_args()\nfunction = args.function\noffset = args.offset\nverbose = args.verbose\ndebug = 0\n\n# define BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\n#include <linux/sched.h>\n\nstruct data_t {\n    u64 stack_id;\n    u32 pid;\n    char comm[TASK_COMM_LEN];\n};\n\nBPF_STACK_TRACE(stack_traces, 128);\nBPF_PERF_OUTPUT(events);\n\nvoid trace_stack(struct pt_regs *ctx) {\n    u32 pid = bpf_get_current_pid_tgid() >> 32;\n    FILTER\n    struct data_t data = {};\n    data.stack_id = stack_traces.get_stackid(ctx, 0),\n    data.pid = pid;\n    bpf_get_current_comm(&data.comm, sizeof(data.comm));\n    events.perf_submit(ctx, &data, sizeof(data));\n}\n\"\"\"\nif args.pid:\n    bpf_text = bpf_text.replace('FILTER',\n        'if (pid != %s) { return; }' % args.pid)\nelse:\n    bpf_text = bpf_text.replace('FILTER', '')\nif debug:\n    print(bpf_text)\n\n# initialize BPF\nb = BPF(text=bpf_text)\nb.attach_kprobe(event=function, fn_name=\"trace_stack\")\n\nTASK_COMM_LEN = 16  # linux/sched.h\n\nmatched = b.num_open_kprobes()\nif matched == 0:\n    print(\"Function \\\"%s\\\" not found. Exiting.\" % function)\n    exit()\n\nstack_traces = b.get_table(\"stack_traces\")\nstart_ts = time.time()\n\n# header\nif verbose:\n    print(\"%-18s %-12s %-6s %-3s %s\" %\n            (\"TIME(s)\", \"COMM\", \"PID\", \"CPU\", \"FUNCTION\"))\nelse:\n    print(\"%-18s %s\" % (\"TIME(s)\", \"FUNCTION\"))\n\ndef print_event(cpu, data, size):\n    event = b[\"events\"].event(data)\n\n    ts = time.time() - start_ts\n\n    if verbose:\n        print(\"%-18.9f %-12.12s %-6d %-3d %s\" %\n              (ts, event.comm.decode('utf-8', 'replace'), event.pid, cpu, function))\n    else:\n        print(\"%-18.9f %s\" % (ts, function))\n\n    for addr in stack_traces.walk(event.stack_id):\n        sym = b.ksym(addr, show_offset=offset).decode('utf-8', 'replace')\n        print(\"\\t%s\" % sym)\n\n    print()\n\nb[\"events\"].open_perf_buffer(print_event)\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n"
  },
  {
    "path": "examples/tracing/stacksnoop_example.txt",
    "content": "Demonstrations of stacksnoop, the Linux eBPF/bcc version.\n\n\nThis program traces the given kernel function and prints the kernel stack trace\nfor every call. This tool is useful for studying low frequency kernel functions,\nto see how they were invoked. For example, tracing the submit_bio() call:\n\n# ./stacksnoop submit_bio\nTIME(s)            SYSCALL\n3592.838736000     submit_bio\n        submit_bio\n        submit_bh\n        jbd2_journal_commit_transaction\n        kjournald2\n        kthread\n        ret_from_fork\n\nThis shows that submit_bio() was called by submit_bh(), which was called\nby jbd2_journal_commit_transaction(), and so on.\n\nFor high frequency functions, see stackcount, which summarizes in-kernel for\nefficiency. If you don't know if your function is low or high frequency, try\nfunccount.\n\n\nThe -v option includes more fields, including the on-CPU process (COMM and PID):\n\n# ./stacksnoop -v submit_bio\nTIME(s)            COMM         PID    CPU SYSCALL\n3734.855027000     jbd2/dm-0-8  313    0   submit_bio\n        submit_bio\n        submit_bh\n        jbd2_journal_commit_transaction\n        kjournald2\n        kthread\n        ret_from_fork\n\nThis identifies the application issuing the sync syscall: the jbd2 process\n(COMM column).\n\n\nHere's another example, showing the path to second_overflow() and on-CPU\nprocess:\n\n# ./stacksnoop -v second_overflow\nTIME(s)            COMM         PID    CPU SYSCALL\n3837.526433000     <idle>       0      1   second_overflow\n        second_overflow\n        tick_do_update_jiffies64\n        tick_irq_enter\n        irq_enter\n        smp_apic_timer_interrupt\n        apic_timer_interrupt\n        default_idle\n        arch_cpu_idle\n        default_idle_call\n        cpu_startup_entry\n        start_secondary\n\n3838.526953000     <idle>       0      1   second_overflow\n        second_overflow\n        tick_do_update_jiffies64\n        tick_irq_enter\n        irq_enter\n        smp_apic_timer_interrupt\n        apic_timer_interrupt\n        default_idle\n        arch_cpu_idle\n        default_idle_call\n        cpu_startup_entry\n        start_secondary\n\nThis fires every second (see TIME(s)), and is from tick_do_update_jiffies64().\n\n\nUSAGE message:\n\n# ./stacksnoop -h\nusage: stacksnoop [-h] [-p PID] [-s] [-v] function\n\nTrace and print kernel stack traces for a kernel function\n\npositional arguments:\n  function           kernel function name\n\noptional arguments:\n  -h, --help         show this help message and exit\n  -p PID, --pid PID  trace this PID only\n  -s, --offset       show address offsets\n  -v, --verbose      print more fields\n\nexamples:\n    ./stacksnoop ext4_sync_fs    # print kernel stack traces for ext4_sync_fs\n    ./stacksnoop -s ext4_sync_fs    # ... also show symbol offsets\n    ./stacksnoop -v ext4_sync_fs    # ... show extra columns\n    ./stacksnoop -p 185 ext4_sync_fs    # ... only when PID 185 is on-CPU\n"
  },
  {
    "path": "examples/tracing/strlen_count.py",
    "content": "#!/usr/bin/python\n#\n# strlen_count  Trace strlen() and print a frequency count of strings.\n#               For Linux, uses BCC, eBPF. Embedded C.\n#\n# Written as a basic example of BCC and uprobes.\n#\n# Also see strlensnoop.\n#\n# Copyright 2016 Netflix, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\nfrom time import sleep\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n\nstruct key_t {\n    char c[80];\n};\nBPF_HASH(counts, struct key_t);\n\nint count(struct pt_regs *ctx) {\n    if (!PT_REGS_PARM1(ctx))\n        return 0;\n\n    struct key_t key = {};\n    u64 zero = 0, *val;\n\n    bpf_probe_read_user(&key.c, sizeof(key.c), (void *)PT_REGS_PARM1(ctx));\n    // could also use `counts.increment(key)`\n    val = counts.lookup_or_try_init(&key, &zero);\n    if (val) {\n      (*val)++;\n    }\n    return 0;\n};\n\"\"\")\nb.attach_uprobe(name=\"c\", sym=\"strlen\", fn_name=\"count\")\n\n# header\nprint(\"Tracing strlen()... Hit Ctrl-C to end.\")\n\n# sleep until Ctrl-C\ntry:\n    sleep(99999999)\nexcept KeyboardInterrupt:\n    pass\n\n# print output\nprint(\"%10s %s\" % (\"COUNT\", \"STRING\"))\ncounts = b.get_table(\"counts\")\nfor k, v in sorted(counts.items(), key=lambda counts: counts[1].value):\n    printb(b\"%10d \\\"%s\\\"\" % (v.value, k.c))\n"
  },
  {
    "path": "examples/tracing/strlen_hist.py",
    "content": "#!/usr/bin/python\n\n#\n# strlen_hist.py   Histogram of system-wide strlen return values\n#\n# A basic example of using uprobes along with a histogram to show\n# distributions.\n#\n# Runs until ctrl-c is pressed.\n#\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n#\n# Example output:\n# $ sudo ./strlen_hist.py\n# 22:12:52\n#      strlen return:      : count     distribution\n#          0 -> 1          : 2106     |****************                        |\n#          2 -> 3          : 1172     |*********                               |\n#          4 -> 7          : 3892     |******************************          |\n#          8 -> 15         : 5096     |****************************************|\n#         16 -> 31         : 2201     |*****************                       |\n#         32 -> 63         : 547      |****                                    |\n#         64 -> 127        : 106      |                                        |\n#        128 -> 255        : 13       |                                        |\n#        256 -> 511        : 27       |                                        |\n#        512 -> 1023       : 6        |                                        |\n#       1024 -> 2047       : 10       |                                        |\n# ^C$\n#\n\nfrom __future__ import print_function\nimport bcc\nimport time\n\ntext = \"\"\"\n#include <uapi/linux/ptrace.h>\nBPF_HISTOGRAM(dist);\nint count(struct pt_regs *ctx) {\n    dist.increment(bpf_log2l(PT_REGS_RC(ctx)));\n    return 0;\n}\n\"\"\"\n\nb = bcc.BPF(text=text)\nsym=\"strlen\"\nb.attach_uretprobe(name=\"c\", sym=sym, fn_name=\"count\")\n\ndist = b[\"dist\"]\n\ntry:\n    while True:\n        time.sleep(1)\n        print(\"%-8s\\n\" % time.strftime(\"%H:%M:%S\"), end=\"\")\n        dist.print_log2_hist(sym + \" return:\")\n        dist.clear()\n\nexcept KeyboardInterrupt:\n    pass\n"
  },
  {
    "path": "examples/tracing/strlen_hist_ifunc.py",
    "content": "#!/usr/bin/python\n#\n# strlen_hist_ifunc.py     Histogram of system-wide strlen return values.\n# This can be used instead of strlen_hist.py if strlen is indirect function.\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.libbcc import lib, bcc_symbol, bcc_symbol_option\n\nimport ctypes as ct\nimport sys\nimport time\n\nNAME = 'c'\nSYMBOL = 'strlen'\nSTT_GNU_IFUNC = 1 << 10\n\nHIST_BPF_TEXT = \"\"\"\n#include <uapi/linux/ptrace.h>\nBPF_HISTOGRAM(dist);\nint count(struct pt_regs *ctx) {\n    dist.increment(bpf_log2l(PT_REGS_RC(ctx)));\n    return 0;\n}\n\"\"\"\n\nSUBMIT_FUNC_ADDR_BPF_TEXT = \"\"\"\n#include <uapi/linux/ptrace.h>\n\nBPF_PERF_OUTPUT(impl_func_addr);\nvoid submit_impl_func_addr(struct pt_regs *ctx) {\n    u64 addr = PT_REGS_RC(ctx);\n    impl_func_addr.perf_submit(ctx, &addr, sizeof(addr));\n}\n\n\nBPF_PERF_OUTPUT(resolv_func_addr);\nint submit_resolv_func_addr(struct pt_regs *ctx) {\n    u64 rip = PT_REGS_IP(ctx);\n    resolv_func_addr.perf_submit(ctx, &rip, sizeof(rip));\n    return 0;\n}\n\"\"\"\n\n\ndef get_indirect_function_sym(module, symname):\n    sym = bcc_symbol()\n    sym_op = bcc_symbol_option()\n    sym_op.use_debug_file = 1\n    sym_op.check_debug_file_crc = 1\n    sym_op.lazy_symbolize = 1\n    sym_op.use_symbol_type = STT_GNU_IFUNC\n    if lib.bcc_resolve_symname(\n            module.encode(),\n            symname.encode(),\n            0x0,\n            0,\n            ct.byref(sym_op),\n            ct.byref(sym),\n    ) < 0:\n        return None\n    else:\n        return sym\n\n\ndef set_impl_func_addr(cpu, data, size):\n    addr = ct.cast(data, ct.POINTER(ct.c_uint64)).contents.value\n    global impl_func_addr\n    impl_func_addr = addr\n\n\ndef set_resolv_func_addr(cpu, data, size):\n    addr = ct.cast(data, ct.POINTER(ct.c_uint64)).contents.value\n    global resolv_func_addr\n    resolv_func_addr = addr\n\n\ndef find_impl_func_offset(ifunc_symbol):\n    b = BPF(text=SUBMIT_FUNC_ADDR_BPF_TEXT)\n    b.attach_uprobe(name=NAME, sym=SYMBOL, fn_name=b'submit_resolv_func_addr')\n    b['resolv_func_addr'].open_perf_buffer(set_resolv_func_addr)\n    b.attach_uretprobe(name=NAME, sym=SYMBOL, fn_name=b\"submit_impl_func_addr\")\n    b['impl_func_addr'].open_perf_buffer(set_impl_func_addr)\n\n    print('wait for the first {} call'.format(SYMBOL))\n    while True:\n        try:\n            if resolv_func_addr and impl_func_addr:\n                b.detach_uprobe(name=NAME, sym=SYMBOL)\n                b.detach_uretprobe(name=NAME, sym=SYMBOL)\n                b.cleanup()\n                break\n            b.perf_buffer_poll()\n        except KeyboardInterrupt:\n            exit()\n    print('IFUNC resolution of {} is performed'.format(SYMBOL))\n    print('resolver function address: {:#x}'.format(resolv_func_addr))\n    print('resolver function offset: {:#x}'.format(ifunc_symbol.offset))\n    print('function implementation address: {:#x}'.format(impl_func_addr))\n    impl_func_offset = impl_func_addr - resolv_func_addr + ifunc_symbol.offset\n    print('function implementation offset: {:#x}'.format(impl_func_offset))\n    return impl_func_offset\n\n\ndef main():\n    ifunc_symbol = get_indirect_function_sym(NAME, SYMBOL)\n    if not ifunc_symbol:\n        sys.stderr.write('{} is not an indirect function. abort!\\n'.format(SYMBOL))\n        exit(1)\n\n    impl_func_offset = find_impl_func_offset(ifunc_symbol)\n\n    b = BPF(text=HIST_BPF_TEXT)\n    b.attach_uretprobe(name=ct.cast(ifunc_symbol.module, ct.c_char_p).value,\n                       addr=impl_func_offset,\n                       fn_name=b'count')\n    dist = b['dist']\n    try:\n        while True:\n            time.sleep(1)\n            print('%-8s\\n' % time.strftime('%H:%M:%S'), end='')\n            dist.print_log2_hist(SYMBOL + ' return:')\n            dist.clear()\n\n    except KeyboardInterrupt:\n        pass\n\n\nresolv_func_addr = 0\nimpl_func_addr = 0\n\nmain()\n"
  },
  {
    "path": "examples/tracing/strlen_snoop.py",
    "content": "#!/usr/bin/python\n#\n# strlen_snoop  Trace strlen() library function for a given PID.\n#               For Linux, uses BCC, eBPF. Embedded C.\n#\n# USAGE: strlensnoop PID\n#\n# Try running this on a separate bash shell.\n#\n# Written as a basic example of BCC and uprobes.\n#\n# Copyright 2016 Netflix, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom os import getpid\nimport sys\n\nif len(sys.argv) < 2:\n    print(\"USAGE: strlensnoop PID\")\n    exit()\npid = sys.argv[1]\n\n# load BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\nint printarg(struct pt_regs *ctx) {\n    if (!PT_REGS_PARM1(ctx))\n        return 0;\n\n    u32 pid = bpf_get_current_pid_tgid();\n    if (pid != PID)\n        return 0;\n\n    char str[80] = {};\n    bpf_probe_read_user(&str, sizeof(str), (void *)PT_REGS_PARM1(ctx));\n    bpf_trace_printk(\"%s\\\\n\", &str);\n\n    return 0;\n};\n\"\"\"\nbpf_text = bpf_text.replace('PID', pid)\nb = BPF(text=bpf_text)\nb.attach_uprobe(name=\"c\", sym=\"strlen\", fn_name=\"printarg\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"STRLEN\"))\n\n# format output\nme = getpid()\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        continue\n    if pid == me or msg == \"\":\n        continue\n    print(\"%-18.9f %-16s %-6d %s\" % (ts, task, pid, msg))\n"
  },
  {
    "path": "examples/tracing/sync_timing.py",
    "content": "#!/usr/bin/python\n#\n# sync_timing.py    Trace time between syncs.\n#                   For Linux, uses BCC, eBPF. Embedded C.\n#\n# Written as a basic example of tracing time between events.\n#\n# Copyright 2016 Netflix, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# load BPF program\nb = BPF(text=\"\"\"\n#include <uapi/linux/ptrace.h>\n\nBPF_HASH(last);\n\nint do_trace(struct pt_regs *ctx) {\n    u64 ts, *tsp, delta, key = 0;\n\n    // attempt to read stored timestamp\n    tsp = last.lookup(&key);\n    if (tsp != NULL) {\n        delta = bpf_ktime_get_ns() - *tsp;\n        if (delta < 1000000000) {\n            // output if time is less than 1 second\n            bpf_trace_printk(\"%d\\\\n\", delta / 1000000);\n        }\n        last.delete(&key);\n    }\n\n    // update stored timestamp\n    ts = bpf_ktime_get_ns();\n    last.update(&key, &ts);\n    return 0;\n}\n\"\"\")\n\nb.attach_kprobe(event=b.get_syscall_fnname(\"sync\"), fn_name=\"do_trace\")\nprint(\"Tracing for quick sync's... Ctrl-C to end\")\n\n# format output\nstart = 0\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, ms) = b.trace_fields()\n        if start == 0:\n            start = ts\n        ts = ts - start\n        printb(b\"At time %.2f s: multiple syncs detected, last %s ms ago\" % (ts, ms))\n    except KeyboardInterrupt:\n        exit()\n"
  },
  {
    "path": "examples/tracing/task_switch.c",
    "content": "#include <uapi/linux/ptrace.h>\n#include <linux/sched.h>\n\nstruct key_t {\n    u32 prev_pid;\n    u32 curr_pid;\n};\n\nBPF_HASH(stats, struct key_t, u64, 1024);\nint count_sched(struct pt_regs *ctx, struct task_struct *prev) {\n    struct key_t key = {};\n    u64 zero = 0, *val;\n\n    key.curr_pid = bpf_get_current_pid_tgid();\n    key.prev_pid = prev->pid;\n\n    // could also use `stats.increment(key);`\n    val = stats.lookup_or_try_init(&key, &zero);\n    if (val) {\n        (*val)++;\n    }\n    return 0;\n}\n"
  },
  {
    "path": "examples/tracing/task_switch.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom bcc import BPF\nfrom time import sleep\n\nb = BPF(src_file=\"task_switch.c\")\nb.attach_kprobe(event_re=r'^finish_task_switch$|^finish_task_switch\\.isra\\.\\d$',\n                fn_name=\"count_sched\")\n\n# generate many schedule events\nfor i in range(0, 100): sleep(0.01)\n\nfor k, v in b[\"stats\"].items():\n    print(\"task_switch[%5d->%5d]=%u\" % (k.prev_pid, k.curr_pid, v.value))\n"
  },
  {
    "path": "examples/tracing/tcpv4connect.py",
    "content": "#!/usr/bin/python\n#\n# tcpv4connect\tTrace TCP IPv4 connect()s.\n#\t\tFor Linux, uses BCC, eBPF. Embedded C.\n#\n# USAGE: tcpv4connect [-h] [-t] [-p PID]\n#\n# This is provided as a basic example of TCP connection & socket tracing.\n#\n# All IPv4 connection attempts are traced, even if they ultimately fail.\n#\n# Copyright (c) 2015 Brendan Gregg.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n#\n# 15-Oct-2015\tBrendan Gregg\tCreated this.\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# define BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n\nBPF_HASH(currsock, u32, struct sock *);\n\nint kprobe__tcp_v4_connect(struct pt_regs *ctx, struct sock *sk)\n{\n\tu32 pid = bpf_get_current_pid_tgid();\n\n\t// stash the sock ptr for lookup on return\n\tcurrsock.update(&pid, &sk);\n\n\treturn 0;\n};\n\nint kretprobe__tcp_v4_connect(struct pt_regs *ctx)\n{\n\tint ret = PT_REGS_RC(ctx);\n\tu32 pid = bpf_get_current_pid_tgid();\n\n\tstruct sock **skpp;\n\tskpp = currsock.lookup(&pid);\n\tif (skpp == 0) {\n\t\treturn 0;\t// missed entry\n\t}\n\n\tif (ret != 0) {\n\t\t// failed to send SYNC packet, may not have populated\n\t\t// socket __sk_common.{skc_rcv_saddr, ...}\n\t\tcurrsock.delete(&pid);\n\t\treturn 0;\n\t}\n\n\t// pull in details\n\tstruct sock *skp = *skpp;\n\tu32 saddr = skp->__sk_common.skc_rcv_saddr;\n\tu32 daddr = skp->__sk_common.skc_daddr;\n\tu16 dport = skp->__sk_common.skc_dport;\n\n\t// output\n\tbpf_trace_printk(\"trace_tcp4connect %x %x %d\\\\n\", saddr, daddr, ntohs(dport));\n\n\tcurrsock.delete(&pid);\n\n\treturn 0;\n}\n\"\"\"\n\n# initialize BPF\nb = BPF(text=bpf_text)\n\n# header\nprint(\"%-6s %-12s %-16s %-16s %-4s\" % (\"PID\", \"COMM\", \"SADDR\", \"DADDR\",\n    \"DPORT\"))\n\ndef inet_ntoa(addr):\n\tdq = b''\n\tfor i in range(0, 4):\n\t\tdq = dq + str(addr & 0xff).encode()\n\t\tif (i != 3):\n\t\t\tdq = dq + b'.'\n\t\taddr = addr >> 8\n\treturn dq\n\n# filter and format output\nwhile 1:\n\t# Read messages from kernel pipe\n\ttry:\n\t    (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n\t    (_tag, saddr_hs, daddr_hs, dport_s) = msg.split(b\" \")\n\texcept ValueError:\n\t    # Ignore messages from other tracers\n\t    continue\n\texcept KeyboardInterrupt:\n\t    exit()\n\n\t# Ignore messages from other tracers\n\tif _tag.decode() != \"trace_tcp4connect\":\n\t    continue\n\n\tprintb(b\"%-6d %-12.12s %-16s %-16s %-4s\" % (pid, task,\n\t    inet_ntoa(int(saddr_hs, 16)),\n\t    inet_ntoa(int(daddr_hs, 16)),\n\t    dport_s))\n"
  },
  {
    "path": "examples/tracing/tcpv4connect_example.txt",
    "content": "Demonstrations of tcpv4connect.py, the Linux eBPF/bcc version.\n\n\nThis example traces the kernel function performing active TCP IPv4 connections\n(eg, via a connect() syscall; accept() are passive connections). Some example\noutput (IP addresses changed to protect the innocent):\n\n# ./tcpv4connect.py\nPID    COMM         SADDR            DADDR            DPORT\n1479   telnet       127.0.0.1        127.0.0.1        23\n1469   curl         10.201.219.236   54.245.105.25    80\n1469   curl         10.201.219.236   54.67.101.145    80\n\nThis output shows three connections, one from a \"telnet\" process and two from\n\"curl\". The output details shows the source address, destination address,\nand destination port. This traces attempted connections: these may have failed.\n\nThe overhead of this tool should be negligible, since it is only tracing the\nkernel function performing a connect. It is not tracing every packet and then\nfiltering.\n\nThis is provided as a basic example of TCP tracing. See tools/tcpconnect for a\nmore featured version of this example (a tool).\n"
  },
  {
    "path": "examples/tracing/trace_fields.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\n# This is an example of tracing an event and printing custom fields.\n# run in project examples directory with:\n# sudo ./trace_fields.py\"\n\nfrom __future__ import print_function\nfrom bcc import BPF\n\nprog = \"\"\"\nint hello(void *ctx) {\n  bpf_trace_printk(\"Hello, World!\\\\n\");\n  return 0;\n}\n\"\"\"\nb = BPF(text=prog)\nb.attach_kprobe(event=b.get_syscall_fnname(\"clone\"), fn_name=\"hello\")\nprint(\"PID MESSAGE\")\ntry:\n    b.trace_print(fmt=\"{1} {5}\")\nexcept KeyboardInterrupt:\n    exit()\n"
  },
  {
    "path": "examples/tracing/trace_perf_output.py",
    "content": "#!/usr/bin/python\n# Copyright (c) PLUMgrid, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\n# This is an example of tracing an event and printing custom fields.\n# run in project examples directory with:\n# sudo ./trace_fields.py\"\n\nimport atexit\nfrom bcc import BPF\nfrom bcc.utils import printb\nimport ctypes as ct\n\nclass Data(ct.Structure):\n    _fields_ = [(\"ts\", ct.c_ulonglong),\n                (\"magic\", ct.c_ulonglong)]\n\ncounter = 0\ndef cb(cpu, data, size):\n    assert size >= ct.sizeof(Data)\n    event = ct.cast(data, ct.POINTER(Data)).contents\n    print(\"[%0d] %f: %x\" % (cpu, float(event.ts) / 1000000, event.magic))\n    global counter\n    counter += 1\n\nprog = \"\"\"\nBPF_PERF_OUTPUT(events);\nBPF_ARRAY(counters, u64, 10);\nint do_sys_clone(void *ctx) {\n  struct {\n    u64 ts;\n    u64 magic;\n  } data = {bpf_ktime_get_ns(), 0x12345678};\n  int rc;\n  if ((rc = events.perf_submit(ctx, &data, sizeof(data))) < 0)\n    bpf_trace_printk(\"perf_output failed: %d\\\\n\", rc);\n  int zero = 0;\n  u64 *val = counters.lookup(&zero);\n  if (val) lock_xadd(val, 1);\n  return 0;\n}\n\"\"\"\nb = BPF(text=prog)\nevent_name = b.get_syscall_fnname(\"clone\")\nb.attach_kprobe(event=event_name, fn_name=\"do_sys_clone\")\nb[\"events\"].open_perf_buffer(cb)\n\n@atexit.register\ndef print_counter():\n    global counter\n    global b\n    print(\"counter = %d vs %d\" % (counter, b[\"counters\"][ct.c_int(0)].value))\n\nprintb(b\"Tracing \" + event_name + b\", try `dd if=/dev/zero of=/dev/null`\")\nprint(\"Tracing... Hit Ctrl-C to end.\")\nwhile 1:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n"
  },
  {
    "path": "examples/tracing/undump.py",
    "content": "#!/usr/bin/python\n# @lint-avoid-python-3-compatibility-imports\n#\n# undump        Dump UNIX socket packets.\n#               For Linux, uses BCC, eBPF. Embedded C.\n# USAGE: undump [-h] [-t] [-p PID]\n#\n# This uses dynamic tracing of kernel functions, and will need to be updated\n# to match kernel changes.\n#\n# Copyright (c) 2021 Rong Tao.\n# Licensed under the GPL License, Version 2.0\n#\n# 27-Aug-2021   Rong Tao   Created this.\n# 17-Sep-2021   Rong Tao   Simplify according to chenhengqi's suggestion\n#                           https://github.com/iovisor/bcc/pull/3615\n# 11-Mar-2024   Rong Tao   Add --hexdump argument\n#\nfrom bcc import BPF\nimport argparse\nimport binascii\nimport sys\nimport textwrap\n\n# arguments\nexamples = \"\"\"examples:\n    ./undump           # trace/dump all UNIX packets\n    ./undump -p 181    # only trace/dump PID 181\n    ./undump --hexdump # show data as hex instead of trying to decode with %x\n\"\"\"\nparser = argparse.ArgumentParser(\n    description=\"Dump UNIX socket packets\",\n    formatter_class=argparse.RawDescriptionHelpFormatter,\n    epilog=examples)\n\nparser.add_argument(\"-p\", \"--pid\",\n                    help=\"trace this PID only\")\nparser.add_argument(\"--hexdump\", action=\"store_true\", dest=\"hexdump\",\n                    help=\"show data as hexdump\")\nargs = parser.parse_args()\n\n# define BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n#include <linux/aio.h>\n#include <linux/socket.h>\n#include <linux/net.h>\n#include <linux/fs.h>\n#include <linux/mount.h>\n#include <linux/module.h>\n#include <net/sock.h>\n#include <net/af_unix.h>\n\n#define MAX_PKT 512\nstruct recv_data_t {\n    u32 recv_len;\n    u8  pkt[MAX_PKT];\n};\n\n// single element per-cpu array to hold the current event off the stack\nBPF_PERCPU_ARRAY(unix_data, struct recv_data_t, 1);\n\nBPF_PERF_OUTPUT(unix_recv_events);\n\nint trace_unix_stream_read_actor(struct pt_regs *ctx)\n{\n    u32 zero = 0;\n    int ret = PT_REGS_RC(ctx);\n    u64 pid_tgid = bpf_get_current_pid_tgid();\n    u32 pid = pid_tgid >> 32;\n    u32 tid = pid_tgid;\n\n    FILTER_PID\n\n    struct sk_buff *skb = (struct sk_buff *)PT_REGS_PARM1(ctx);\n\n    struct recv_data_t *data = unix_data.lookup(&zero);\n    if (!data)\n        return 0;\n\n    unsigned int data_len = skb->len;\n    if(data_len > MAX_PKT)\n        return 0;\n\n    void *iodata = (void *)skb->data;\n    data->recv_len = data_len;\n\n    bpf_probe_read(data->pkt, data_len, iodata);\n    unix_recv_events.perf_submit(ctx, data, data_len+sizeof(u32));\n\n    return 0;\n}\n\"\"\"\n\nif args.pid:\n    bpf_text = bpf_text.replace('FILTER_PID',\n        'if (pid != %s) { return 0; }' % args.pid)\n\nbpf_text = bpf_text.replace('FILTER_PID', '')\n\n# process event\ndef print_recv_pkg(cpu, data, size):\n    event = b[\"unix_recv_events\"].event(data)\n    if args.pid:\n        print(\"PID \\033[1;31m%s\\033[m \" % args.pid, end=\"\")\n    print(\"Recv \\033[1;31m%d\\033[m bytes\" % event.recv_len)\n\n    if args.hexdump:\n        buf = bytearray(event.pkt[:event.recv_len])\n        unwrapped_data = binascii.hexlify(buf)\n        data = textwrap.fill(unwrapped_data.decode('utf-8', 'replace'), width=32)\n        print(data)\n    else:\n        print(\"    \", end=\"\")\n        for i in range(0, event.recv_len):\n            print(\"%02x \" % event.pkt[i], end=\"\")\n            sys.stdout.flush()\n            if (i+1)%16 == 0:\n                print(\"\")\n                print(\"    \", end=\"\")\n        print(\"\")\n\n# initialize BPF\nb = BPF(text=bpf_text)\nb.attach_kprobe(event=\"unix_stream_read_actor\", fn_name=\"trace_unix_stream_read_actor\")\n\nif args.pid:\n    print(\"Tracing \\033[1;31mPID=%s\\033[m UNIX socket packets ... Hit Ctrl-C to end\" % args.pid)\nelse:\n    print(\"Tracing UNIX socket packets ... Hit Ctrl-C to end\")\n\nstart_ts = 0\n\n# read events\nb[\"unix_recv_events\"].open_perf_buffer(print_recv_pkg)\n\nwhile True:\n    try:\n        b.perf_buffer_poll()\n    except KeyboardInterrupt:\n        exit()\n"
  },
  {
    "path": "examples/tracing/undump_example.txt",
    "content": "Demonstrations of undump.py, the Linux eBPF/bcc version.\n\nThis example trace the kernel function performing receive AP_UNIX socket\npacket. Some example output:\n\nTerminal 1, UNIX Socket Server:\n\n```\n$ nc -lU /var/tmp/dsocket\n# receive from Client\nHello, World\nabcdefg\n```\n\nTerminal 2, UNIX socket Client:\n\n```\n$ nc -U /var/tmp/dsocket\n# Input some lines\nHello, World\nabcdefg\n```\n\nTerminal 3, receive tracing:\n\n```\n$ sudo python undump.py -p 49264\nTracing PID=49264 UNIX socket packets ... Hit Ctrl-C to end\n\n# Here print bytes of receive\nPID 49264 Recv 13 bytes\n   48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 0a\nPID 49264 Recv 8 bytes\n   61 62 63 64 65 66 67 0a\n```\n\nThis output shows two packet received by PID 49264(nc -lU /var/tmp/dsocket),\n`Hello, World` will be parsed as `48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 0a`, the\n`0a` is `Enter`. `abcdefg` will be parsed as `61 62 63 64 65 66 67 0a`.\n"
  },
  {
    "path": "examples/tracing/urandomread-explicit.py",
    "content": "#!/usr/bin/python\n#\n# urandomread-explicit  Example of instrumenting a kernel tracepoint.\n#                       For Linux, uses BCC, BPF. Embedded C.\n#\n# This is an older example of instrumenting a tracepoint, which defines\n# the argument struct and makes an explicit call to attach_tracepoint().\n# See urandomread for a newer version that uses TRACEPOINT_PROBE().\n#\n# REQUIRES: Linux 4.7+ (BPF_PROG_TYPE_TRACEPOINT support).\n#\n# Test by running this, then in another shell, run:\n#     dd if=/dev/urandom of=/dev/null bs=1k count=5\n#\n# Copyright 2016 Netflix, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# define BPF program\nbpf_text = \"\"\"\n#include <uapi/linux/ptrace.h>\n\nstruct urandom_read_args {\n    // from /sys/kernel/debug/tracing/events/random/urandom_read/format\n    u64 __unused__;\n    u32 got_bits;\n    u32 pool_left;\n    u32 input_left;\n};\n\nint printarg(struct urandom_read_args *args) {\n    bpf_trace_printk(\"%d\\\\n\", args->got_bits);\n    return 0;\n}\n\"\"\"\n\n# load BPF program\nb = BPF(text=bpf_text)\nb.attach_tracepoint(tp=\"random:urandom_read\", fn_name=\"printarg\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"GOTBITS\"))\n\n# format output\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        continue\n    except KeyboardInterrupt:\n        exit()\n    printb(b\"%-18.9f %-16s %-6d %s\" % (ts, task, pid, msg))\n"
  },
  {
    "path": "examples/tracing/urandomread.py",
    "content": "#!/usr/bin/python\n#\n# urandomread  Example of instrumenting a kernel tracepoint.\n#              For Linux, uses BCC, BPF. Embedded C.\n#\n# REQUIRES: Linux 4.7+ (BPF_PROG_TYPE_TRACEPOINT support).\n#               < 5.18 (urandom_read tracepoint removed).\n#\n# Test by running this, then in another shell, run:\n#     dd if=/dev/urandom of=/dev/null bs=1k count=5\n#\n# Copyright 2016 Netflix, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom bcc.utils import printb\n\n# load BPF program\nb = BPF(text=\"\"\"\nTRACEPOINT_PROBE(random, urandom_read) {\n    // args is from /sys/kernel/debug/tracing/events/random/urandom_read/format\n    bpf_trace_printk(\"%d\\\\n\", args->got_bits);\n    return 0;\n}\n\"\"\")\n\n# header\nprint(\"%-18s %-16s %-6s %s\" % (\"TIME(s)\", \"COMM\", \"PID\", \"GOTBITS\"))\n\n# format output\nwhile 1:\n    try:\n        (task, pid, cpu, flags, ts, msg) = b.trace_fields()\n    except ValueError:\n        continue\n    except KeyboardInterrupt:\n        exit()\n    printb(b\"%-18.9f %-16s %-6d %s\" % (ts, task, pid, msg))\n"
  },
  {
    "path": "examples/tracing/urandomread_example.txt",
    "content": "Examples of urandomread.py, the Linux eBPF/bcc version.\n\n\nTo demonstrate this, the following workload was issued:\n\n# dd if=/dev/urandom of=/dev/null bs=1k count=5\n\nWhile urandomread.py was tracing in another session:\n\n# ./urandomread.py\nTIME(s)            COMM             PID    GOTBITS\n22592556.392825000 dd               14228  8192\n22592556.392949000 dd               14228  8192\n22592556.393068999 dd               14228  8192\n22592556.393183999 dd               14228  8192\n22592556.393298000 dd               14228  8192\n\nThe GOTBITS of 8192 matches the workload of 1 Kbyte (8 Kbit) reads.\n\nThis program was really written as a simple example of tracing a tracepoint.\n"
  },
  {
    "path": "examples/tracing/vfsreadlat.c",
    "content": "/*\n * vfsreadlat.c\t\tVFS read latency distribution.\n *\t\t\tFor Linux, uses BCC, eBPF. See .py file.\n *\n * Copyright (c) 2013-2015 PLUMgrid, http://plumgrid.com\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of version 2 of the GNU General Public\n * License as published by the Free Software Foundation.\n *\n * 15-Aug-2015\tBrendan Gregg\tCreated this.\n */\n\n#include <uapi/linux/ptrace.h>\n\nBPF_HASH(start, u32);\nBPF_HISTOGRAM(dist);\n\nint do_entry(struct pt_regs *ctx)\n{\n\tu32 pid;\n\tu64 ts;\n\n\tpid = bpf_get_current_pid_tgid();\n\tts = bpf_ktime_get_ns();\n\tstart.update(&pid, &ts);\n\treturn 0;\n}\n\nint do_return(struct pt_regs *ctx)\n{\n\tu32 pid;\n\tu64 *tsp, delta;\n\n\tpid = bpf_get_current_pid_tgid();\n\ttsp = start.lookup(&pid);\n\n\tif (tsp != 0) {\n\t\tdelta = bpf_ktime_get_ns() - *tsp;\n\t\tdist.increment(bpf_log2l(delta / 1000));\n\t\tstart.delete(&pid);\n\t}\n\n\treturn 0;\n}\n"
  },
  {
    "path": "examples/tracing/vfsreadlat.py",
    "content": "#!/usr/bin/python\n#\n# vfsreadlat.py\t\tVFS read latency distribution.\n#\t\t\tFor Linux, uses BCC, eBPF. See .c file.\n#\n# Written as a basic example of a function latency distribution histogram.\n#\n# USAGE: vfsreadlat.py [interval [count]]\n#\n# The default interval is 5 seconds. A Ctrl-C will print the partially\n# gathered histogram then exit.\n#\n# Copyright (c) 2015 Brendan Gregg.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n#\n# 15-Aug-2015\tBrendan Gregg\tCreated this.\n\nfrom __future__ import print_function\nfrom bcc import BPF\nfrom time import sleep\nfrom sys import argv\n\ndef usage():\n\tprint(\"USAGE: %s [interval [count]]\" % argv[0])\n\texit()\n\n# arguments\ninterval = 5\ncount = -1\nif len(argv) > 1:\n\ttry:\n\t\tinterval = int(argv[1])\n\t\tif interval == 0:\n\t\t\traise\n\t\tif len(argv) > 2:\n\t\t\tcount = int(argv[2])\n\texcept:\t# also catches -h, --help\n\t\tusage()\n\n# load BPF program\nb = BPF(src_file = \"vfsreadlat.c\")\nb.attach_kprobe(event=\"vfs_read\", fn_name=\"do_entry\")\nb.attach_kretprobe(event=\"vfs_read\", fn_name=\"do_return\")\n\n# header\nprint(\"Tracing... Hit Ctrl-C to end.\")\n\n# output\nloop = 0\ndo_exit = 0\nwhile (1):\n\tif count > 0:\n\t\tloop += 1\n\t\tif loop > count:\n\t\t\texit()\n\ttry:\n\t\tsleep(interval)\n\texcept KeyboardInterrupt:\n\t\tpass; do_exit = 1\n\n\tprint()\n\tb[\"dist\"].print_log2_hist(\"usecs\")\n\tb[\"dist\"].clear()\n\tif do_exit:\n\t\texit()\n"
  },
  {
    "path": "examples/tracing/vfsreadlat_example.txt",
    "content": "Demonstrations of vfsreadlat.py, the Linux eBPF/bcc version.\n\n\nThis example traces the latency of vfs_read (time from call to return), printing\nit as a histogram distribution. By default, output is every five seconds:\n\n# ./vfsreadlat.py\nTracing... Hit Ctrl-C to end.\n\n     usecs           : count     distribution\n       0 -> 1        : 4457     |*************************************+|\n       2 -> 3        : 447      |***                                   |\n       4 -> 7        : 2059     |*****************                     |\n       8 -> 15       : 1179     |**********                            |\n      16 -> 31       : 63       |                                      |\n      32 -> 63       : 0        |                                      |\n      64 -> 127      : 2        |                                      |\n     128 -> 255      : 0        |                                      |\n     256 -> 511      : 3        |                                      |\n     512 -> 1023     : 1        |                                      |\n    1024 -> 2047     : 3        |                                      |\n    2048 -> 4095     : 2        |                                      |\n    4096 -> 8191     : 0        |                                      |\n    8192 -> 16383    : 0        |                                      |\n   16384 -> 32767    : 0        |                                      |\n   32768 -> 65535    : 0        |                                      |\n   65536 -> 131071   : 4        |                                      |\n  131072 -> 262143   : 2        |                                      |\n  262144 -> 524287   : 0        |                                      |\n  524288 -> 1048575  : 4        |                                      |\n^C\n     usecs           : count     distribution\n       0 -> 1        : 241      |*************************************+|\n       2 -> 3        : 17       |**                                    |\n       4 -> 7        : 2        |                                      |\n       8 -> 15       : 4        |                                      |\n      16 -> 31       : 2        |                                      |\n      32 -> 63       : 0        |                                      |\n      64 -> 127      : 1        |                                      |\n     128 -> 255      : 0        |                                      |\n     256 -> 511      : 1        |                                      |\n     512 -> 1023     : 1        |                                      |\n    1024 -> 2047     : 0        |                                      |\n    2048 -> 4095     : 1        |                                      |\n    4096 -> 8191     : 0        |                                      |\n    8192 -> 16383    : 0        |                                      |\n   16384 -> 32767    : 0        |                                      |\n   32768 -> 65535    : 0        |                                      |\n   65536 -> 131071   : 0        |                                      |\n  131072 -> 262143   : 0        |                                      |\n  262144 -> 524287   : 0        |                                      |\n  524288 -> 1048575  : 1        |                                      |\n\nThese examples show outliers in the 524 - 1048 milliseconds range. Since\nvfs_read() will catch many types of events, this could be anything including\nkeystroke latency on ssh sessions. Further drilling with bcc will be necessary\nto identify more details.\n\n\nFull usage:\n\n# ./vfsreadlat.py -h\nUSAGE: ./vfsreadlat.py [interval [count]]\n"
  },
  {
    "path": "examples/usdt_sample/.gitignore",
    "content": "**/build*/"
  },
  {
    "path": "examples/usdt_sample/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.12)\n\n# This sample requires C++11 enabled.\nset(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Weffc++\")\n\nadd_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/usdt_sample_lib1)\nadd_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/usdt_sample_app1)\n"
  },
  {
    "path": "examples/usdt_sample/scripts/bpf_text_shared.c",
    "content": "#include <linux/blkdev.h>\n#include <uapi/linux/ptrace.h>\n\n/**\n * @brief Helper method to filter based on the specified inputString.\n * @param inputString The operation input string to check against the filter.\n * @return True if the specified inputString starts with the hard-coded filter string; otherwise, false.\n */\nstatic inline bool filter(char const* inputString)\n{\n    static const char* null_ptr = 0x0;\n    static const char null_terminator = '\\0';\n\n    static const char filter_string[] = \"FILTER_STRING\"; ///< The filter string is replaced by python code.\n    if (null_ptr == inputString) {\n        return false;\n    }\n\n    // Compare until (not including) the null-terminator for filter_string\n    for (int i = 0; i < sizeof(filter_string) - 1; ++i) {\n        char c1 = *inputString++;\n        if (null_terminator == c1) {\n            return false;  // If the null-terminator for inputString was reached, it can not be equal to filter_string.\n        }\n\n        char c2 = filter_string[i];\n        if (c1 != c2) {\n            return false;\n        }\n    }\n    return true;\n}\n\n/**\n * @brief Contains the operation start data to trace.\n */\nstruct start_data_t\n{\n    u64 operation_id; ///< The id of the operation.\n    char input[64];   ///< The input string of the request.\n    u64 start;        ///< Timestamp of the start operation (start timestamp).\n};\n\n/**\n * @brief Contains the operation start data.\n * key: the operation id.\n * value: The operation start latency data.\n */\nBPF_HASH(start_hash, u64, struct start_data_t);\n\n/**\n * @brief Reads the operation request arguments and stores the start data in the hash.\n * @param ctx The BPF context.\n */\nint trace_operation_start(struct pt_regs* ctx)\n{\n    struct start_data_t start_data = {};\n    bpf_usdt_readarg_p(2, ctx, &start_data.input, sizeof(start_data.input));\n\n    FILTER_STATEMENT ///< Replaced by python code.\n\n    bpf_usdt_readarg(1, ctx, &start_data.operation_id);\n\n    start_data.start = bpf_ktime_get_ns();\n    start_hash.update(&start_data.operation_id, &start_data);\n    return 0;\n}\n"
  },
  {
    "path": "examples/usdt_sample/scripts/lat_avg.py",
    "content": "#!/usr/bin/python\nimport argparse\nfrom time import sleep, strftime\nfrom sys import argv\nimport ctypes as ct\nfrom bcc import BPF, USDT\nimport inspect\nimport os\n\n# Parse command line arguments\nparser = argparse.ArgumentParser(description=\"Trace the moving average of the latency of an operation using usdt probes.\",\n    formatter_class=argparse.RawDescriptionHelpFormatter)\nparser.add_argument(\"-p\", \"--pid\", type=int, help=\"The id of the process to trace.\")\nparser.add_argument(\"-i\", \"--interval\", type=int, help=\"The interval in seconds on which to report the latency distribution.\")\nparser.add_argument(\"-c\", \"--count\", type=int, default=16, help=\"The maximum number of samples over which to calculate the moving average.\")\nparser.add_argument(\"-f\", \"--filterstr\", type=str, default=\"\", help=\"The prefix filter for the operation input. If specified, only operations for which the input string starts with the filterstr are traced.\")\nparser.add_argument(\"-v\", \"--verbose\", dest=\"verbose\", action=\"store_true\", help=\"If true, will output generated bpf program and verbose logging information.\")\nparser.add_argument(\"-s\", \"--sdt\", dest=\"sdt\", action=\"store_true\", help=\"If true, will use the probes, created by systemtap's dtrace.\")\n\nparser.set_defaults(verbose=False)\nargs = parser.parse_args()\nthis_pid = int(args.pid)\nthis_interval = int(args.interval)\nthis_maxsamplesize = int(args.count)\nthis_filter = str(args.filterstr)\n\nif this_interval < 1:\n    print(\"Invalid value for interval, using 1.\")\n    this_interval = 1\n\nif this_maxsamplesize < 1:\n    print(\"Invalid value for this_maxsamplesize, using 1.\")\n    this_maxsamplesize = 1\n\ndebugLevel=0\nif args.verbose:\n    debugLevel=4\n\n# BPF program\nbpf_text_shared = \"%s/bpf_text_shared.c\" % os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))\nbpf_text = open(bpf_text_shared, 'r').read()\nbpf_text += \"\"\"\n\nconst u32 max_sample_size = MAX_SAMPLE_SIZE;\n\nstruct hash_key_t\n{\n    char input[64]; // The operation id is used as key\n};\n\nstruct hash_leaf_t\n{\n    u32 sample_size;    // Number of operation samples taken\n    u64 total;          // Cumulative duration of the operations\n    u64 average;        // Moving average duration of the operations\n};\n\n/**\n * @brief Contains the averages for the operation latencies by operation input.\n */\nBPF_HASH(lat_hash, struct hash_key_t, struct hash_leaf_t, 512);\n\n/**\n * @brief Reads the operation response arguments, calculates the latency, and stores it in the histogram.\n * @param ctx The BPF context.\n */\nint trace_operation_end(struct pt_regs* ctx)\n{\n    u64 operation_id;\n    bpf_usdt_readarg(1, ctx, &operation_id);\n\n    struct start_data_t* start_data = start_hash.lookup(&operation_id);\n    if (0 == start_data) {\n        return 0;\n    }\n\n    u64 duration = bpf_ktime_get_ns() - start_data->start;\n    struct hash_key_t hash_key = {};\n    __builtin_memcpy(&hash_key.input, start_data->input, sizeof(hash_key.input));\n    start_hash.delete(&operation_id);\n\n    struct hash_leaf_t zero = {};\n    struct hash_leaf_t* hash_leaf = lat_hash.lookup_or_try_init(&hash_key, &zero);\n    if (0 == hash_leaf) {\n        return 0;\n    }\n\n    if (hash_leaf->sample_size < max_sample_size) {\n        ++hash_leaf->sample_size;\n    } else {\n        hash_leaf->total -= hash_leaf->average;\n    }\n\n    hash_leaf->total += duration;\n    hash_leaf->average = hash_leaf->total / hash_leaf->sample_size;\n\n    return 0;\n}\n\"\"\"\n\nbpf_text = bpf_text.replace(\"MAX_SAMPLE_SIZE\", str(this_maxsamplesize))\nbpf_text = bpf_text.replace(\"FILTER_STRING\", this_filter)\nif this_filter:\n    bpf_text = bpf_text.replace(\"FILTER_STATEMENT\", \"if (!filter(start_data.input)) { return 0; }\")\nelse:\n    bpf_text = bpf_text.replace(\"FILTER_STATEMENT\", \"\")\n\n# Create USDT context\nprint(\"lat_avg.py - Attaching probes to pid: %d; filter: %s\" % (this_pid, this_filter))\nusdt_ctx = USDT(pid=this_pid)\n\nif args.sdt:\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1_sdt:operation_start_sdt\", fn_name=\"trace_operation_start\")\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1_sdt:operation_end_sdt\", fn_name=\"trace_operation_end\")\nelse:\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1:operation_start\", fn_name=\"trace_operation_start\")\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1:operation_end\", fn_name=\"trace_operation_end\")\n\n# Create BPF context, load BPF program\nbpf_ctx = BPF(text=bpf_text, usdt_contexts=[usdt_ctx], debug=debugLevel)\n\nprint(\"Tracing... Hit Ctrl-C to end.\")\n\nlat_hash = bpf_ctx.get_table(\"lat_hash\")\nprint(\"%-12s %-64s %8s %16s\" % (\"time\", \"input\", \"sample_size\", \"latency (us)\"))\nwhile (1):\n    try:\n        sleep(this_interval)\n    except KeyboardInterrupt:\n        exit()\n\n    for k, v in lat_hash.items():\n        print(\"%-12s %-64s %8d %16d\" % (strftime(\"%H:%M:%S\"), k.input, v.sample_size, v.average / 1000))\n"
  },
  {
    "path": "examples/usdt_sample/scripts/lat_dist.py",
    "content": "#!/usr/bin/python\nimport argparse\nfrom time import sleep, strftime\nfrom sys import argv\nimport ctypes as ct\nfrom bcc import BPF, USDT\nimport inspect\nimport os\n\n# Parse command line arguments\nparser = argparse.ArgumentParser(description=\"Trace the latency distribution of an operation using usdt probes.\",\n    formatter_class=argparse.RawDescriptionHelpFormatter)\nparser.add_argument(\"-p\", \"--pid\", type=int, help=\"The id of the process to trace.\")\nparser.add_argument(\"-i\", \"--interval\", type=int, help=\"The interval in seconds on which to report the latency distribution.\")\nparser.add_argument(\"-f\", \"--filterstr\", type=str, default=\"\", help=\"The prefix filter for the operation input. If specified, only operations for which the input string starts with the filterstr are traced.\")\nparser.add_argument(\"-v\", \"--verbose\", dest=\"verbose\", action=\"store_true\", help=\"If true, will output generated bpf program and verbose logging information.\")\nparser.add_argument(\"-s\", \"--sdt\", dest=\"sdt\", action=\"store_true\", help=\"If true, will use the probes, created by systemtap's dtrace.\")\n\nparser.set_defaults(verbose=False)\nargs = parser.parse_args()\nthis_pid = int(args.pid)\nthis_interval = int(args.interval)\nthis_filter = str(args.filterstr)\n\nif this_interval < 1:\n    print(\"Invalid value for interval, using 1.\")\n    this_interval = 1\n\ndebugLevel=0\nif args.verbose:\n    debugLevel=4\n\n# BPF program\nbpf_text_shared = \"%s/bpf_text_shared.c\" % os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))\nbpf_text = open(bpf_text_shared, 'r').read()\nbpf_text += \"\"\"\n\n/**\n * @brief The key to use for the latency histogram.\n */\nstruct dist_key_t\n{\n    char input[64];   ///< The input string of the request.\n    u64 slot;         ///< The histogram slot.\n};\n\n/**\n * @brief Contains the histogram for the operation latencies.\n */\nBPF_HISTOGRAM(dist, struct dist_key_t);\n\n/**\n * @brief Reads the operation response arguments, calculates the latency, and stores it in the histogram.\n * @param ctx The BPF context.\n */\nint trace_operation_end(struct pt_regs* ctx)\n{\n    u64 operation_id;\n    bpf_usdt_readarg(1, ctx, &operation_id);\n\n    struct start_data_t* start_data = start_hash.lookup(&operation_id);\n    if (0 == start_data) {\n        return 0;\n    }\n\n    u64 duration = bpf_ktime_get_ns() - start_data->start;\n    struct dist_key_t dist_key = {};\n    __builtin_memcpy(&dist_key.input, start_data->input, sizeof(dist_key.input));\n    dist_key.slot = bpf_log2l(duration / 1000);\n    start_hash.delete(&operation_id);\n\n    dist.atomic_increment(dist_key);\n    return 0;\n}\n\"\"\"\n\nbpf_text = bpf_text.replace(\"FILTER_STRING\", this_filter)\nif this_filter:\n    bpf_text = bpf_text.replace(\"FILTER_STATEMENT\", \"if (!filter(start_data.input)) { return 0; }\")\nelse:\n    bpf_text = bpf_text.replace(\"FILTER_STATEMENT\", \"\")\n\n# Create USDT context\nprint(\"lat_dist.py - Attaching probes to pid: %d; filter: %s\" % (this_pid, this_filter))\nusdt_ctx = USDT(pid=this_pid)\n\nif args.sdt:\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1_sdt:operation_start_sdt\", fn_name=\"trace_operation_start\")\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1_sdt:operation_end_sdt\", fn_name=\"trace_operation_end\")\nelse:\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1:operation_start\", fn_name=\"trace_operation_start\")\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1:operation_end\", fn_name=\"trace_operation_end\")\n\n# Create BPF context, load BPF program\nbpf_ctx = BPF(text=bpf_text, usdt_contexts=[usdt_ctx], debug=debugLevel)\n\nprint(\"Tracing... Hit Ctrl-C to end.\")\n\nstart = 0\ndist = bpf_ctx.get_table(\"dist\")\nwhile (1):\n    try:\n        sleep(this_interval)\n    except KeyboardInterrupt:\n        exit()\n\n    print(\"[%s]\" % strftime(\"%H:%M:%S\"))\n    dist.print_log2_hist(\"latency (us)\")\n"
  },
  {
    "path": "examples/usdt_sample/scripts/latency.py",
    "content": "#!/usr/bin/python\nimport argparse\nfrom time import sleep\nfrom sys import argv\nimport ctypes as ct\nfrom bcc import BPF, USDT\nimport inspect\nimport os\n\n# Parse command line arguments\nparser = argparse.ArgumentParser(description=\"Trace the latency of an operation using usdt probes.\",\n    formatter_class=argparse.RawDescriptionHelpFormatter)\nparser.add_argument(\"-p\", \"--pid\", type=int, help=\"The id of the process to trace.\")\nparser.add_argument(\"-f\", \"--filterstr\", type=str, default=\"\", help=\"The prefix filter for the operation input. If specified, only operations for which the input string starts with the filterstr are traced.\")\nparser.add_argument(\"-v\", \"--verbose\", dest=\"verbose\", action=\"store_true\", help=\"If true, will output generated bpf program and verbose logging information.\")\nparser.add_argument(\"-s\", \"--sdt\", dest=\"sdt\", action=\"store_true\", help=\"If true, will use the probes, created by systemtap's dtrace.\")\n\nparser.set_defaults(verbose=False)\nargs = parser.parse_args()\nthis_pid = int(args.pid)\nthis_filter = str(args.filterstr)\n\ndebugLevel=0\nif args.verbose:\n    debugLevel=4\n\n# BPF program\nbpf_text_shared = \"%s/bpf_text_shared.c\" % os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))\nbpf_text = open(bpf_text_shared, 'r').read()\nbpf_text += \"\"\"\n\n/**\n * @brief Contains the latency data w.r.t. the complete operation from request to response.\n */\nstruct end_data_t\n{\n    u64 operation_id; ///< The id of the operation.\n    char input[64];   ///< The request (input) string.\n    char output[64];  ///< The response (output) string.\n    u64 start;        ///< The start timestamp of the operation.\n    u64 end;          ///< The end timestamp of the operation.\n    u64 duration;     ///< The duration of the operation.\n};\n\n/**\n * The output buffer, which will be used to push the latency event data to user space.\n */\nBPF_PERF_OUTPUT(operation_event);\n\n/**\n * @brief Reads the operation response arguments, calculates the latency event data, and writes it to the user output buffer.\n * @param ctx The BPF context.\n */\nint trace_operation_end(struct pt_regs* ctx)\n{\n    u64 operation_id;\n    bpf_usdt_readarg(1, ctx, &operation_id);\n\n    struct start_data_t* start_data = start_hash.lookup(&operation_id);\n    if (0 == start_data) {\n        return 0;\n    }\n\n    struct end_data_t end_data = {};\n    end_data.operation_id = operation_id;\n    bpf_usdt_readarg_p(2, ctx, &end_data.output, sizeof(end_data.output));\n    end_data.end = bpf_ktime_get_ns();\n    end_data.start = start_data->start;\n    end_data.duration = end_data.end - end_data.start;\n    __builtin_memcpy(&end_data.input, start_data->input, sizeof(end_data.input));\n\n    start_hash.delete(&end_data.operation_id);\n\n    operation_event.perf_submit(ctx, &end_data, sizeof(end_data));\n    return 0;\n}\n\"\"\"\n\nbpf_text = bpf_text.replace(\"FILTER_STRING\", this_filter)\nif this_filter:\n    bpf_text = bpf_text.replace(\"FILTER_STATEMENT\", \"if (!filter(start_data.input)) { return 0; }\")\nelse:\n    bpf_text = bpf_text.replace(\"FILTER_STATEMENT\", \"\")\n\n# Create USDT context\nprint(\"latency.py - Attaching probes to pid: %d; filter: %s\" % (this_pid, this_filter))\nusdt_ctx = USDT(pid=this_pid)\n\nif args.sdt:\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1_sdt:operation_start_sdt\", fn_name=\"trace_operation_start\")\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1_sdt:operation_end_sdt\", fn_name=\"trace_operation_end\")\nelse:\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1:operation_start\", fn_name=\"trace_operation_start\")\n    usdt_ctx.enable_probe(probe=\"usdt_sample_lib1:operation_end\", fn_name=\"trace_operation_end\")\n\n# Create BPF context, load BPF program\nbpf_ctx = BPF(text=bpf_text, usdt_contexts=[usdt_ctx], debug=debugLevel)\n\n# Define latency event and print function\nclass OperationEventData(ct.Structure):\n  _fields_ = [(\"operation_id\", ct.c_ulonglong),\n              (\"input\", ct.c_char * 64),\n              (\"output\", ct.c_char * 64),\n              (\"start\", ct.c_ulonglong),\n              (\"end\", ct.c_ulonglong),\n              (\"duration\", ct.c_ulonglong)]\n\nstart = 0\ndef print_event(cpu, data, size):\n    global start\n    event = ct.cast(data, ct.POINTER(OperationEventData)).contents\n    if start == 0:\n        start = event.start\n    time_s = (float(event.start - start)) / 1000000000\n    latency = (float(event.duration) / 1000)\n    print(\"%-18.9f %-10d %-32s %-32s %16d %16d %16d\" % (time_s, event.operation_id, event.input, event.output, event.start, event.end, latency))\n\n# Print header\nprint(\"Tracing... Hit Ctrl-C to end.\")\nprint(\"%-18s %-10s %-32s %-32s %16s %16s %16s\" % (\"time(s)\", \"id\", \"input\", \"output\", \"start (ns)\", \"end (ns)\", \"duration (us)\"))\n\n# Output latency events\nbpf_ctx[\"operation_event\"].open_perf_buffer(print_event)\nwhile 1:\n    bpf_ctx.perf_buffer_poll()\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample.md",
    "content": "\n# Prerequitites\n\n## Ubuntu 21.10 prerequisites\n\n```bash\n$ sudo apt-get install linux-headers-$(uname -r) \"llvm-13*\" libclang-13-dev luajit luajit-5.1-dev libelf-dev python3-setuptools libdebuginfod-dev arping netperf iperf\n```\n\n## Building bcc tools\n\n```bash\n# Make sure you are in the bcc root folder\n$ mkdir -p build && cd build\n$ cmake .. -DPYTHON_CMD=python3\n$ make -j4\n$ sudo make install\n```\n\n# Building and executing the usdt_sample (gcc 11.2)\n\n## Build the sample\n\n```bash\n$ gcc --version\ngcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0\n...\n# Make sure you are in the bcc root folder\n$ mkdir -p examples/usdt_sample/build && cd examples/usdt_sample/build\n$ cmake ..\n$ make\n```\n\n## Create probes using StaticTracepoint.h\n\nbcc comes with a header file, which contains macros to define probes. See tests/python/include/folly/tracing/StaticTracepoint.h\n\nSee the usage of FOLLY_SDT macro in examples/usdt_sample/usdt_sample_lib1/src/lib1.cpp.\n\n## Create probes using SystemTap dtrace\n\nAs an alternative to using tests/python/include/folly/tracing/StaticTracepoint.h, it's possible to use dtrace, which is installed by systemtap-sdt-dev.\n```bash\n$ sudo dnf install systemtap-sdt-dev  # For Ubuntu 21.10, other distro's might have differently named packages.\n```\n\nIf using systemtap-sdt-dev, the following commands can be used to generate the corresponding header and object files:\nSee examples/usdt_sample/usdt_sample_lib1/CMakeLists.txt file for an example how to do this using cmake.\n```bash\n$ dtrace -h -s usdt_sample_lib1/src/lib1_sdt.d -o usdt_sample_lib1/include/usdt_sample_lib1/lib1_sdt.h\n$ dtrace -G -s usdt_sample_lib1/src/lib1_sdt.d -o lib1_sdt.o\n```\n\n## Use tplist.py to list the available probes\n\nNote that the (operation_start, operation_end) probes are created using the macros in the folly headers, the (operation_start_sdt, operation_end_sdt) probes are created using systemtap's dtrace:\n\n```bash\n$ python3 tools/tplist.py -l examples/usdt_sample/build/usdt_sample_lib1/libusdt_sample_lib1.so\nexamples/usdt_sample/build/usdt_sample_lib1/libusdt_sample_lib1.so usdt_sample_lib1:operation_end\nexamples/usdt_sample/build/usdt_sample_lib1/libusdt_sample_lib1.so usdt_sample_lib1:operation_end_sdt\nexamples/usdt_sample/build/usdt_sample_lib1/libusdt_sample_lib1.so usdt_sample_lib1:operation_start\nexamples/usdt_sample/build/usdt_sample_lib1/libusdt_sample_lib1.so usdt_sample_lib1:operation_start_sdt\n$ readelf -n examples/usdt_sample/build/usdt_sample_lib1/libusdt_sample_lib1.so\n\nDisplaying notes found in: .note.gnu.property\n  Owner                Data size        Description\n  GNU                  0x00000010       NT_GNU_PROPERTY_TYPE_0\n      Properties: x86 feature: IBT, SHSTK\n\nDisplaying notes found in: .note.gnu.build-id\n  Owner                Data size        Description\n  GNU                  0x00000014       NT_GNU_BUILD_ID (unique build ID bitstring)\n    Build ID: a483dc6ac17d4983ba748cf65ffd0e398639b61a\n\nDisplaying notes found in: .note.stapsdt\n  Owner                Data size        Description\n  stapsdt              0x00000047       NT_STAPSDT (SystemTap probe descriptors)\n    Provider: usdt_sample_lib1\n    Name: operation_end\n    Location: 0x0000000000011c2f, Base: 0x0000000000000000, Semaphore: 0x0000000000000000\n    Arguments: -8@%rbx -8@%rax\n  stapsdt              0x0000004f       NT_STAPSDT (SystemTap probe descriptors)\n    Provider: usdt_sample_lib1\n    Name: operation_end_sdt\n    Location: 0x0000000000011c65, Base: 0x000000000001966f, Semaphore: 0x0000000000020a6a\n    Arguments: 8@%rbx 8@%rax\n  stapsdt              0x0000004f       NT_STAPSDT (SystemTap probe descriptors)\n    Provider: usdt_sample_lib1\n    Name: operation_start\n    Location: 0x0000000000011d63, Base: 0x0000000000000000, Semaphore: 0x0000000000000000\n    Arguments: -8@-104(%rbp) -8@%rax\n  stapsdt              0x00000057       NT_STAPSDT (SystemTap probe descriptors)\n    Provider: usdt_sample_lib1\n    Name: operation_start_sdt\n    Location: 0x0000000000011d94, Base: 0x000000000001966f, Semaphore: 0x0000000000020a68\n    Arguments: 8@-104(%rbp) 8@%rax\n```\n\n## Start the usdt sample application\n\nThe usdt_sample_app1 executes an operation asynchronously on multiple threads, with random (string) parameters, which can be used to filter on.\n\n```bash\n$ examples/usdt_sample/build/usdt_sample_app1/usdt_sample_app1 \"usdt\" 1 30 10 1 50\nApplying the following parameters:\nInput prefix: usdt.\nInput range: [1, 30].\nCalls Per Second: 10.\nLatency range: [1, 50] ms.\nYou can now run the bcc scripts, see usdt_sample.md for examples.\npid: 2422725\nPress ctrl-c to exit.\n```\n\n## Use argdist.py on the individual probes\n\n```bash\n# Make sure to replace the pid\n$ sudo python3 tools/argdist.py -p 2422725 -i 5 -C \"u:$(pwd)/examples/usdt_sample/build/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start():char*:arg2#input\" -z 32\n[HH:mm:ss]\ninput\n        COUNT      EVENT\n        1          arg2 = b'usdt_5'\n        1          arg2 = b'usdt_30'\n...\n        3          arg2 = b'usdt_9'\n        3          arg2 = b'usdt_17'\n        3          arg2 = b'usdt_7'\n        5          arg2 = b'usdt_10'\n```\n\n## Use latency.py to trace the operation latencies\n\n```bash\n# Make sure to replace the pid, the filter value is chosen arbitrarily.\n$ sudo python3 examples/usdt_sample/scripts/latency.py -p=2422725 -f=\"usdt_20\"\nAttaching probes to pid 2422725\nTracing... Hit Ctrl-C to end.\ntime(s)            id         input                            output                                 start (ns)         end (ns)    duration (us)\n0.000000000        7754       b'usdt_20'                       b'resp_usdt_20'                   672668584224401  672668625460568            41236\n7.414981834        7828       b'usdt_20'                       b'resp_usdt_20'                   672675999206235  672676011402270            12196\n...\n23.948248753       7993       b'usdt_20'                       b'resp_usdt_20'                   672692532473154  672692561680989            29207\n26.352332485       8017       b'usdt_20'                       b'resp_usdt_20'                   672694936556886  672694961690970            25134\n```\n\n## Use lat_dist.py to trace the latency distribution\n\n```bash\n# Make sure to replace the pid, the filter value is chosen arbitrarily.\n$ sudo python3 examples/usdt_sample/scripts/lat_dist.py -p=2422725 -i=30 -f=\"usdt_20\"\nAttaching probes to pid 2422725\n[HH:mm:ss]\n\nBucket ptr = b'usdt_20'\n     latency (us)        : count     distribution\n         0 -> 1          : 0        |                                        |\n         2 -> 3          : 0        |                                        |\n         4 -> 7          : 0        |                                        |\n         8 -> 15         : 0        |                                        |\n        16 -> 31         : 0        |                                        |\n        32 -> 63         : 0        |                                        |\n        64 -> 127        : 0        |                                        |\n       128 -> 255        : 0        |                                        |\n       256 -> 511        : 0        |                                        |\n       512 -> 1023       : 0        |                                        |\n      1024 -> 2047       : 1        |*****                                   |\n      2048 -> 4095       : 1        |*****                                   |\n      4096 -> 8191       : 2        |***********                             |\n      8192 -> 16383      : 0        |                                        |\n     16384 -> 32767      : 3        |*****************                       |\n     32768 -> 65535      : 7        |****************************************|\n```\n\n## Use lat_avg.py to trace the moving average of the latencies\n\n```bash\n$ sudo python3 examples/usdt_sample/scripts/lat_avg.py -p=2422725 -i=5 -c=10 -f=\"usdt_20\"\nAttaching probes to pid 2422725\nTracing... Hit Ctrl-C to end.\ntime         input                                                            sample_size     latency (us)\nHH:mm:08     b'usdt_20'                                                              3            29497\nHH:mm:13     b'usdt_20'                                                              3            29497\nHH:mm:18     b'usdt_20'                                                              4            27655\nHH:mm:23     b'usdt_20'                                                              5            28799\nHH:mm:28     b'usdt_20'                                                              7            23644\n```\n\n## Attach to the probes, created with SystemTap's dtrace\n\n-s implies using the systemtap probes, created with dtrace.\n\n```bash\n$ sudo python3 examples/usdt_sample/scripts/lat_avg.py -p=2422725 -i=5 -c=10 -f=\"usdt_20\" -s\nAttaching probes to pid 2422725\nTracing... Hit Ctrl-C to end.\ntime         input                                                            sample_size     latency (us)\nHH:mm:08     b'usdt_20'                                                              3            29497\nHH:mm:13     b'usdt_20'                                                              3            29497\nHH:mm:18     b'usdt_20'                                                              4            27655\nHH:mm:23     b'usdt_20'                                                              5            28799\nHH:mm:28     b'usdt_20'                                                              7            23644\n```\n\n# Building and executing the usdt_sample (clang 13.0.1)\n\nBuild the sample:\n```bash\n$ clang --version\nUbuntu clang version 13.0.1-++20211124043029+19b8368225dc-1~exp1~20211124043558.23\n...\n# Make sure you are in the bcc root folder\n$ mkdir -p examples/usdt_sample/build_clang && cd examples/usdt_sample/build_clang\n$ cmake .. -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++\n$ make\n```\n\n## Use tplist.py to list the available probes\n\n```bash\n$ python3 tools/tplist.py -l examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so\nexamples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so usdt_sample_lib1:operation_start\nexamples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so usdt_sample_lib1:operation_start_sdt\nexamples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so usdt_sample_lib1:operation_end\nexamples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so usdt_sample_lib1:operation_end_sdt\n$ readelf -n examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so\n\nDisplaying notes found in: .note.gnu.build-id\n  Owner                Data size        Description\n  GNU                  0x00000014       NT_GNU_BUILD_ID (unique build ID bitstring)\n    Build ID: 8814f6c44f9e9df42f29a436af6152d7dcbeb8d9\n\nDisplaying notes found in: .note.stapsdt\n  Owner                Data size        Description\n  stapsdt              0x00000055       NT_STAPSDT (SystemTap probe descriptors)\n    Provider: usdt_sample_lib1\n    Name: operation_start\n    Location: 0x000000000000e703, Base: 0x0000000000000000, Semaphore: 0x0000000000000000\n    Arguments: -8@-128(%rbp) -8@-136(%rbp)\n  stapsdt              0x0000005d       NT_STAPSDT (SystemTap probe descriptors)\n    Provider: usdt_sample_lib1\n    Name: operation_start_sdt\n    Location: 0x000000000000e755, Base: 0x0000000000016610, Semaphore: 0x000000000001da48\n    Arguments: 8@-144(%rbp) 8@-152(%rbp)\n  stapsdt              0x00000053       NT_STAPSDT (SystemTap probe descriptors)\n    Provider: usdt_sample_lib1\n    Name: operation_end\n    Location: 0x00000000000101bc, Base: 0x0000000000000000, Semaphore: 0x0000000000000000\n    Arguments: -8@-120(%rbp) -8@-128(%rbp)\n  stapsdt              0x0000005b       NT_STAPSDT (SystemTap probe descriptors)\n    Provider: usdt_sample_lib1\n    Name: operation_end_sdt\n    Location: 0x0000000000010228, Base: 0x0000000000016610, Semaphore: 0x000000000001da4a\n    Arguments: 8@-136(%rbp) 8@-144(%rbp)\n```\n\n## Start the usdt sample application\n\n```bash\n$ examples/usdt_sample/build_clang/usdt_sample_app1/usdt_sample_app1 \"usdt\" 1 30 10 1 50\nApplying the following parameters:\nInput prefix: usdt.\nInput range: [1, 30].\nCalls Per Second: 10.\nLatency range: [1, 50] ms.\nYou can now run the bcc scripts, see usdt_sample.md for examples.\npid: 2439214\nPress ctrl-c to exit.\n```\n\n## Use argdist.py on the individual probes\n\n```bash\n# Make sure to replace the pid\n$ sudo python3 tools/argdist.py -p 2439214 -i 5 -C \"u:$(pwd)/examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start():char*:arg2#input\" -z 32\n[HH:mm:ss]\ninput\n        COUNT      EVENT\n        1          arg2 = b'usdt_1'\n        1          arg2 = b'usdt_4'\n...\n        3          arg2 = b'usdt_30'\n        3          arg2 = b'usdt_25'\n        5          arg2 = b'usdt_18'\n```\n\n## Use latency.py to trace the operation latencies\n\n```bash\n# Make sure to replace the pid, the filter value is chosen arbitrarily.\n$ sudo python3 examples/usdt_sample/scripts/latency.py -p=2439214 -f=\"usdt_20\"\nAttaching probes to pid 2439214\nTracing... Hit Ctrl-C to end.\ntime(s)            id         input                            output                                 start (ns)         end (ns)    duration (us)\n0.000000000        1351       b'usdt_20'                       b'resp_usdt_20'                   673481735317057  673481761592425            26275\n0.400606129        1355       b'usdt_20'                       b'resp_usdt_20'                   673482135923186  673482141074674             5151\n0.600929879        1357       b'usdt_20'                       b'resp_usdt_20'                   673482336246936  673482338400064             2153\n5.610441985        1407       b'usdt_20'                       b'resp_usdt_20'                   673487345759042  673487392977806            47218\n7.213278292        1423       b'usdt_20'                       b'resp_usdt_20'                   673488948595349  673488976845453            28250\n9.016681573        1441       b'usdt_20'                       b'resp_usdt_20'                   673490751998630  673490802198717            50200\n```\n\n## Use lat_dist.py to trace the latency distribution\n\n```bash\n# Make sure to replace the pid, the filter value is chosen arbitrarily.\n$ sudo python3 examples/usdt_sample/scripts/lat_dist.py -p=2439214 -i=30 -f=\"usdt_20\"\nAttaching probes to pid 2439214\n[HH:mm:ss]\n\nBucket ptr = b'usdt_20'\n     latency (us)        : count     distribution\n         0 -> 1          : 0        |                                        |\n         2 -> 3          : 0        |                                        |\n         4 -> 7          : 0        |                                        |\n         8 -> 15         : 0        |                                        |\n        16 -> 31         : 0        |                                        |\n        32 -> 63         : 0        |                                        |\n        64 -> 127        : 0        |                                        |\n       128 -> 255        : 0        |                                        |\n       256 -> 511        : 0        |                                        |\n       512 -> 1023       : 0        |                                        |\n      1024 -> 2047       : 0        |                                        |\n      2048 -> 4095       : 0        |                                        |\n      4096 -> 8191       : 1        |********************                    |\n      8192 -> 16383      : 2        |****************************************|\n     16384 -> 32767      : 1        |********************                    |\n     32768 -> 65535      : 2        |****************************************|\n```\n\n## Use lat_avg.py to trace the moving average of the latencies\n\n```bash\n$ sudo python3 examples/usdt_sample/scripts/lat_avg.py -p=2439214 -i=5 -s=10 -f=\"usdt_20\"\nAttaching probes to pid 2439214\nTracing... Hit Ctrl-C to end.\ntime         input                                                            sample_size     latency (us)\nHH:mm:59     b'usdt_20'                                                              1            16226\nHH:mm:04     b'usdt_20'                                                              2            20332\nHH:mm:09     b'usdt_20'                                                              2            20332\nHH:mm:14     b'usdt_20'                                                              5            29657\nHH:mm:19     b'usdt_20'                                                              5            29657\nHH:mm:24     b'usdt_20'                                                              7            33249\n```\n\n# Troubleshooting\n\n## Display the generated BPF program using -v\n\n```bash\n$ sudo python3 examples/usdt_sample/scripts/latency.py -v -p=2439214 -f=\"usdt_20\"\nAttaching probes to pid 2439214\nRunning from kernel directory at: /lib/modules/5.13.0-22-generic/build\nclang -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -fno-jump-tables -mframe-pointer=none -fmath-errno -fno-rounding-math -mconstructor-aliases -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=constructor -dwarf-version=4 -debugger-tuning=gdb -fcoverage-compilation-dir=/usr/src/linux-headers-5.13.0-22-generic -nostdsysteminc -nobuiltininc -resource-dir lib/clang/13.0.1 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/bpf_workaround.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/bramv/src/projects/bcc -D __BPF_TRACING__ -I arch/x86/include/ -I arch/x86/include/generated -I include -I arch/x86/include/uapi -I arch/x86/include/generated/uapi -I include/uapi -I include/generated/uapi -D __KERNEL__ -D KBUILD_MODNAME=\"bcc\" -O2 -Wno-deprecated-declarations -Wno-gnu-variable-sized-type-not-at-end -Wno-pragma-once-outside-header -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-unused-value -Wno-pointer-sign -fdebug-compilation-dir=/usr/src/linux-headers-5.13.0-22-generic -ferror-limit 19 -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o main.bc -x c /virtual/main.c\n#if defined(BPF_LICENSE)\n#error BPF_LICENSE cannot be specified through cflags\n#endif\n#if !defined(CONFIG_CC_STACKPROTECTOR)\n#if defined(CONFIG_CC_STACKPROTECTOR_AUTO) \\\n    || defined(CONFIG_CC_STACKPROTECTOR_REGULAR) \\\n    || defined(CONFIG_CC_STACKPROTECTOR_STRONG)\n#define CONFIG_CC_STACKPROTECTOR\n#endif\n#endif\n#include <uapi/linux/ptrace.h>\n__attribute__((always_inline))\nstatic __always_inline int _bpf_readarg_trace_operation_start_1(struct pt_regs *ctx, void *dest, size_t len) {\n  if (len != sizeof(int64_t)) return -1;\n  { u64 __addr = ctx->bp + -128; __asm__ __volatile__(\"\": : :\"memory\"); int64_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int64_t *)dest) = __res; }\n  return 0;\n}\n__attribute__((always_inline))\nstatic __always_inline int _bpf_readarg_trace_operation_start_2(struct pt_regs *ctx, void *dest, size_t len) {\n  if (len != sizeof(int64_t)) return -1;\n  { u64 __addr = ctx->bp + -136; __asm__ __volatile__(\"\": : :\"memory\"); int64_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int64_t *)dest) = __res; }\n  return 0;\n}\n__attribute__((always_inline))\nstatic __always_inline int _bpf_readarg_trace_operation_end_1(struct pt_regs *ctx, void *dest, size_t len) {\n  if (len != sizeof(int64_t)) return -1;\n  { u64 __addr = ctx->bp + -120; __asm__ __volatile__(\"\": : :\"memory\"); int64_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int64_t *)dest) = __res; }\n  return 0;\n}\n__attribute__((always_inline))\nstatic __always_inline int _bpf_readarg_trace_operation_end_2(struct pt_regs *ctx, void *dest, size_t len) {\n  if (len != sizeof(int64_t)) return -1;\n  { u64 __addr = ctx->bp + -128; __asm__ __volatile__(\"\": : :\"memory\"); int64_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int64_t *)dest) = __res; }\n  return 0;\n}\n#include <linux/blkdev.h>\n#include <uapi/linux/ptrace.h>\n\n/**\n * @brief Helper method to filter based on the specified inputString.\n * @param inputString The operation input string to check against the filter.\n * @return True if the specified inputString starts with the hard-coded filter string; otherwise, false.\n */\n__attribute__((always_inline))\nstatic inline bool filter(char const* inputString)\n{\n    static const char* null_ptr = 0x0;\n    static const char null_terminator = '\\0';\n\n    static const char filter_string[] = \"usdt_20\"; ///< The filter string is replaced by python code.\n    if (null_ptr == inputString) {\n        return false;\n    }\n    // bpf_trace_printk(\"inputString: '%s'\", inputString);\n\n    // Compare until (not including) the null-terminator for filter_string\n    for (int i = 0; i < sizeof(filter_string) - 1; ++i) {\n        char c1 = *inputString++;\n        if (null_terminator == c1) {\n            return false;  // If the null-terminator for inputString was reached, it can not be equal to filter_string.\n        }\n\n        char c2 = filter_string[i];\n        if (c1 != c2) {\n            return false;\n        }\n    }\n    return true;\n}\n\n/**\n * @brief Contains the operation start data to trace.\n */\nstruct start_data_t\n{\n    u64 operation_id; ///< The id of the operation.\n    char input[64];   ///< The input string of the request.\n    u64 start;        ///< Timestamp of the start operation (start timestamp).\n};\n\n/**\n * @brief Contains the operation start data.\n * key: the operation id.\n * value: The operation start latency data.\n */\nBPF_HASH(start_hash, u64, struct start_data_t);\n\n/**\n * @brief Reads the operation request arguments and stores the start data in the hash.\n * @param ctx The BPF context.\n */\n__attribute__((section(\".bpf.fn.trace_operation_start\")))\nint trace_operation_start(struct pt_regs* ctx)\n{\n\n    struct start_data_t start_data = {};\n    ({ u64 __addr = 0x0; _bpf_readarg_trace_operation_start_2(ctx, &__addr, sizeof(__addr));bpf_probe_read_user(&start_data.input, sizeof(start_data.input), (void *)__addr);});\n\n    if (!filter(start_data.input)) { return 0; } ///< Replaced by python code.\n\n    _bpf_readarg_trace_operation_start_1(ctx, &start_data.operation_id, sizeof(*(&start_data.operation_id)));\n\n    start_data.start = bpf_ktime_get_ns();\n    bpf_map_update_elem((void *)bpf_pseudo_fd(1, -1), &start_data.operation_id, &start_data, BPF_ANY);\n    return 0;\n}\n\n\n/**\n * @brief Contains the latency data w.r.t. the complete operation from request to response.\n */\nstruct end_data_t\n{\n    u64 operation_id; ///< The id of the operation.\n    char input[64];   ///< The request (input) string.\n    char output[64];  ///< The response (output) string.\n    u64 start;        ///< The start timestamp of the operation.\n    u64 end;          ///< The end timestamp of the operation.\n    u64 duration;     ///< The duration of the operation.\n};\n\n/**\n * The output buffer, which will be used to push the latency event data to user space.\n */\nBPF_PERF_OUTPUT(operation_event);\n\n/**\n * @brief Reads the operation response arguments, calculates the latency event data, and writes it to the user output buffer.\n * @param ctx The BPF context.\n */\n__attribute__((section(\".bpf.fn.trace_operation_end\")))\nint trace_operation_end(struct pt_regs* ctx)\n{\n\n    u64 operation_id;\n    _bpf_readarg_trace_operation_end_1(ctx, &operation_id, sizeof(*(&operation_id)));\n\n    struct start_data_t* start_data = bpf_map_lookup_elem((void *)bpf_pseudo_fd(1, -1), &operation_id);\n    if (0 == start_data) {\n        return 0;\n    }\n\n    struct end_data_t end_data = {};\n    end_data.operation_id = operation_id;\n    ({ u64 __addr = 0x0; _bpf_readarg_trace_operation_end_2(ctx, &__addr, sizeof(__addr));bpf_probe_read_user(&end_data.output, sizeof(end_data.output), (void *)__addr);});\n    end_data.end = bpf_ktime_get_ns();\n    end_data.start = start_data->start;\n    end_data.duration = end_data.end - end_data.start;\n    __builtin_memcpy(&end_data.input, start_data->input, sizeof(end_data.input));\n\n    bpf_map_delete_elem((void *)bpf_pseudo_fd(1, -1), &end_data.operation_id);\n\n    bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -2), CUR_CPU_IDENTIFIER, &end_data, sizeof(end_data));\n    return 0;\n}\n\n#include <bcc/footer.h>\nTracing... Hit Ctrl-C to end.\n```\n\n## Use bpf_trace_printk\n\nAdd bpf trace statements to the C++ code:\n\n```C++\nbpf_trace_printk(\"inputString: '%s'\", inputString);\n```\n\n```bash\n$ sudo tail -f /sys/kernel/debug/tracing/trace\n...\n usdt_sample_app-2439214 [001] d... 635079.194883: bpf_trace_printk: inputString: 'usdt_8'\n usdt_sample_app-2439214 [001] d... 635079.295102: bpf_trace_printk: inputString: 'usdt_17'\n usdt_sample_app-2439214 [001] d... 635079.395217: bpf_trace_printk: inputString: 'usdt_18'\n...\n```\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample.sh",
    "content": "#!/usr/bin/bash\n\n# sudo apt-get install linux-headers-$(uname -r) \"llvm-13*\" libclang-13-dev luajit luajit-5.1-dev libelf-dev python3-setuptools libdebuginfod-dev arping netperf iperf\n# mkdir -p build && cd build\n# cmake .. -DPYTHON_CMD=python3\n# make -j4\n# sudo make install\n\ngcc --version\nrm -rf examples/usdt_sample/build_gcc\nmkdir -p examples/usdt_sample/build_gcc && pushd examples/usdt_sample/build_gcc\ncmake ..\nmake\npopd\n\n# sudo dnf install systemtap-sdt-dev  # For Ubuntu 21.10, other distro's might have differently named packages.\n# dtrace -h -s usdt_sample_lib1/src/lib1_sdt.d -o usdt_sample_lib1/include/usdt_sample_lib1/lib1_sdt.h\n# dtrace -G -s usdt_sample_lib1/src/lib1_sdt.d -o lib1_sdt.o\n\npython3 tools/tplist.py -l examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so\nreadelf -n examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so\n\nexamples/usdt_sample/build_gcc/usdt_sample_app1/usdt_sample_app1 \"usdt\" 1 30 10 1 50 &\npid=$!\n\necho \"argdist.py - Using non-sdt probes\"\nsudo python3 tools/argdist.py -p ${pid} -i 5 -C \"u:$(pwd)/examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start():char*:arg2#input\" -z 32 &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\necho \"argdist.py - Using sdt probes\"\nsudo python3 tools/argdist.py -p ${pid} -i 5 -C \"u:$(pwd)/examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start_sdt():char*:arg2#input\" -z 32 &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f=\"usdt_20\" &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f=\"usdt_20\" -s &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f=\"usdt_20\" &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f=\"usdt_20\" -s &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f=\"usdt_20\" &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f=\"usdt_20\" -s &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\n\nsudo pkill -f \"examples/usdt_sample/build_.*/usdt_sample_app1/usdt_sample_app1\"\n\nclang --version\nrm -rf examples/usdt_sample/build_clang\nmkdir -p examples/usdt_sample/build_clang && pushd examples/usdt_sample/build_clang\ncmake .. -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++\nmake\npopd\n\npython3 tools/tplist.py -l examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so\nreadelf -n examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so\n\nexamples/usdt_sample/build_clang/usdt_sample_app1/usdt_sample_app1 \"usdt\" 1 30 10 1 50 &\npid=$!\n\necho \"argdist.py - Using non-sdt probes\"\nsudo python3 tools/argdist.py -p ${pid} -i 5 -C \"u:$(pwd)/examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start():char*:arg2#input\" -z 32 &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\necho \"argdist.py - Using sdt probes\"\nsudo python3 tools/argdist.py -p ${pid} -i 5 -C \"u:$(pwd)/examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start_sdt():char*:arg2#input\" -z 32 &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f=\"usdt_20\" &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f=\"usdt_20\" -s &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f=\"usdt_20\" &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f=\"usdt_20\" -s &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f=\"usdt_20\" &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\nsudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f=\"usdt_20\" -s &\nsleep 30\nsudo pkill -f \"\\\\-p.${pid}\"\n\nsudo pkill -f \"examples/usdt_sample/build_.*/usdt_sample_app1/usdt_sample_app1\"\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample_app1/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.12)\nproject(usdt_sample_app1)\n\nadd_executable( ${PROJECT_NAME}\n    ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp\n)\n\ntarget_link_libraries( ${PROJECT_NAME}\n    usdt_sample_lib1\n    pthread\n)\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample_app1/main.cpp",
    "content": "// std\n#include <algorithm>\n#include <cstdlib>\n#include <iostream>\n#include <mutex>\n#include <queue>\n#include <random>\n#include <sstream>\n#include <string>\n#include <thread>\n\n// gnu-c\n#include <sys/types.h>\n#include <unistd.h>\n\n// usdt_sample_lib1\n#include \"usdt_sample_lib1/lib1.h\"\n\nvoid print_usage(int argc, char** argv)\n{\n    std::cout << \"Usage:\" << std::endl;\n    std::cout << argv[0]\n              << \" <InputPrefix> <InputMinimum (1-50)> <InputMaximum (1-50)> <CallsPerSec (1-50)> <MinimumLatencyMs (1-50)> <MaximumLatencyMs (1-50)>\"\n              << std::endl;\n    std::cout << \"InputPrefix: Prefix of the input string to the operation. Default: dummy\" << std::endl;\n    std::cout << \"InputMinimum: Minimum number to make the input string to the operation somewhat unique. Default: 1\" << std::endl;\n    std::cout << \"InputMaximum: Maximum number to make the input string to the operation somewhat unique. Default: 50\" << std::endl;\n    std::cout << \"CallsPerSec: Rate of calls to the operation. Default: 10\" << std::endl;\n    std::cout << \"MinimumLatencyMs: Minimum latency to apply to the operation. Default: 20\" << std::endl;\n    std::cout << \"MaximumLatencyMs: Maximum latency to apply to the operation. Default: 40\" << std::endl;\n}\n\nint main(int argc, char** argv)\n{\n    std::string inputPrefix(\"dummy\");\n    std::uint32_t inputMinimum = 1;\n    std::uint32_t inputMaximum = 50;\n    std::uint32_t callsPerSec = 10;\n    std::uint32_t minLatMs = 20;\n    std::uint32_t maxLatMs = 40;\n\n    try {\n        if (argc > 1) {\n            inputPrefix = argv[1];\n        }\n\n        if (argc > 2) {\n            inputMinimum = static_cast<std::uint32_t>(std::max(1, std::min(50, std::atoi(argv[2]))));\n        }\n\n        if (argc > 3) {\n            inputMaximum = static_cast<std::uint32_t>(std::max(1, std::min(50, std::atoi(argv[3]))));\n        }\n\n        if (argc > 4) {\n            callsPerSec = static_cast<std::uint32_t>(std::max(1, std::min(50, std::atoi(argv[4]))));\n        }\n\n        if (argc > 5) {\n            minLatMs = static_cast<std::uint32_t>(std::max(1, std::min(50, std::atoi(argv[5]))));\n        }\n\n        if (argc > 6) {\n            maxLatMs = static_cast<std::uint32_t>(std::max(1, std::min(50, std::atoi(argv[6]))));\n        }\n    }\n    catch (const std::exception& exc) {\n        std::cout << \"Exception while reading arguments: \" << exc.what() << std::endl;\n        print_usage(argc, argv);\n        return -1;\n    }\n    catch (...) {\n        std::cout << \"Unknown exception while reading arguments.\" << std::endl;\n        print_usage(argc, argv);\n        return -1;\n    }\n\n    if (inputMinimum > inputMaximum) {\n        std::cout << \"InputMinimum must be smaller than InputMaximum.\" << std::endl;\n        print_usage(argc, argv);\n        return -1;\n    }\n\n    if (minLatMs > maxLatMs) {\n        std::cout << \"MinimumLatencyMs must be smaller than MaximumLatencyMs.\" << std::endl;\n        print_usage(argc, argv);\n        return -1;\n    }\n\n    std::cout << \"Applying the following parameters:\" << std::endl\n              << \"Input prefix: \" << inputPrefix << \".\" << std::endl\n              << \"Input range: [\" << inputMinimum << \", \" << inputMaximum << \"].\" << std::endl\n              << \"Calls Per Second: \" << callsPerSec << \".\" << std::endl\n              << \"Latency range: [\" << minLatMs << \", \" << maxLatMs << \"] ms.\" << std::endl;\n\n    const int sleepTimeMs = 1000 / callsPerSec;\n    OperationProvider op(minLatMs, maxLatMs);\n\n    std::mutex queueMutex;\n    std::queue<std::shared_future<OperationResponse>> responseQueue;\n\n    auto dequeueFuture = std::async(std::launch::async, [&]() {\n        while (true) {\n            bool empty = false;\n            {\n                std::lock_guard<std::mutex> lg(queueMutex);\n                empty = responseQueue.empty();\n            }\n\n            if (empty) {\n                std::this_thread::sleep_for(std::chrono::milliseconds(sleepTimeMs));\n                continue;\n            }\n\n            responseQueue.front().get();\n\n            // std::cout << \"Removing item from queue.\" << std::endl;\n            std::lock_guard<std::mutex> lg(queueMutex);\n            responseQueue.pop();\n        }\n    });\n\n    std::random_device rd;\n    std::uniform_int_distribution<> dis(inputMinimum, inputMaximum);\n\n    std::cout << \"You can now run the bcc scripts, see usdt_sample.md for examples.\" << std::endl;\n    std::cout << \"pid: \" << ::getpid() << std::endl;\n    std::cout << \"Press ctrl-c to exit.\" << std::endl;\n    while (true) {\n        std::ostringstream inputOss;\n        inputOss << inputPrefix << \"_\" << dis(rd);\n        auto responseFuture = op.executeAsync(OperationRequest(inputOss.str()));\n\n        {\n            std::lock_guard<std::mutex> lg(queueMutex);\n            responseQueue.push(responseFuture);\n        }\n\n        // For a sample application, this is good enough to simulate callsPerSec.\n        std::this_thread::sleep_for(std::chrono::milliseconds(sleepTimeMs));\n    }\n\n    dequeueFuture.get();\n    return 0;\n}\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample_lib1/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.12)\nproject(usdt_sample_lib1)\n\n# Define variables.\nset(USDT_SAMPLE_LIB1_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE STRING \"USDT_SAMPLE_LIB1_INCLUDE_DIR\" FORCE)\nset(USDT_SAMPLE_LIB1_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src CACHE STRING \"USDT_SAMPLE_LIB1_SRC_DIR\" FORCE)\nset(USDT_SAMPLE_LIB1_LINK_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE STRING \"USDT_SAMPLE_LIB1_LINK_DIR\" FORCE)\nset(USDT_SAMPLE_LIB1_LIB ${PROJECT_NAME} CACHE STRING \"USDT_SAMPLE_LIB1_LIB\" FORCE)\nset(USDT_SAMPLE_LIB1_GENERATED ${CMAKE_CURRENT_BINARY_DIR}/generated)\nset(USDT_SAMPLE_SDT_HEADER ${USDT_SAMPLE_LIB1_SRC_DIR}/lib1_sdt.h)\nset(USDT_SAMPLE_SDT_OBJECT ${USDT_SAMPLE_LIB1_GENERATED}/lib1_sdt.o)\nset(USDT_SAMPLE_SDT_PROBES ${USDT_SAMPLE_LIB1_SRC_DIR}/lib1_sdt.d)\n\nadd_library( ${PROJECT_NAME} SHARED\n    ${USDT_SAMPLE_LIB1_SRC_DIR}/lib1.cpp\n)\n\ntarget_include_directories( ${PROJECT_NAME}\n    PRIVATE\n        # For folly StaticTracepoint.h:\n        ${CMAKE_CURRENT_SOURCE_DIR}/../../../tests/python/include\n    PUBLIC\n        ${USDT_SAMPLE_LIB1_INCLUDE_DIR}\n)\n\ntarget_link_libraries( ${PROJECT_NAME}\n    ${USDT_SAMPLE_SDT_OBJECT}\n)\n\n## Start - N.B. Following section is relevant for when using systemtap-sdt-devel to define the probes.\n\n# Create usdt header file.\nadd_custom_target( ${PROJECT_NAME}_HDR_CLEAN\n   COMMAND rm -f ${USDT_SAMPLE_SDT_HEADER}\n   COMMENT \"Remove generated header\"\n)\nadd_custom_target( ${PROJECT_NAME}_HDR\n   COMMAND dtrace -h -s ${USDT_SAMPLE_SDT_PROBES} -o ${USDT_SAMPLE_SDT_HEADER}\n   COMMENT \"Create usdt probes header file\"\n)\nadd_dependencies(${PROJECT_NAME}_HDR ${PROJECT_NAME}_HDR_CLEAN)\n\n# Create usdt object file.\nadd_custom_target( ${PROJECT_NAME}_CLEAN\n   COMMAND rm -rf ${USDT_SAMPLE_LIB1_GENERATED} && mkdir -p ${USDT_SAMPLE_LIB1_GENERATED}\n   COMMENT \"Recreate usdt probes generated folder\"\n)\nadd_custom_target( ${PROJECT_NAME}_OBJ\n   COMMAND dtrace -G -s ${USDT_SAMPLE_SDT_PROBES} -o ${USDT_SAMPLE_SDT_OBJECT}\n   COMMENT \"Create usdt probes object file\"\n)\nadd_dependencies(${PROJECT_NAME}_OBJ ${PROJECT_NAME}_CLEAN)\n\nadd_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_HDR ${PROJECT_NAME}_OBJ)\n\n## End\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample_lib1/include/usdt_sample_lib1/lib1.h",
    "content": "#pragma once\n\n// std\n#include <cstdint>\n#include <future>\n#include <random>\n#include <string>\n\n/**\n * @brief Contains the operation request data.\n */\nclass OperationRequest\n{\npublic:\n    OperationRequest(const std::string& input);\n    const std::string& input() const { return _input; }\n\nprivate:\n    std::string _input;\n};\n\n/**\n * @brief Contains the operation response data.\n */\nclass OperationResponse\n{\npublic:\n    OperationResponse(const std::string& output);\n    const std::string& output() const { return _output; }\n\nprivate:\n    std::string _output;\n};\n\n/**\n * @brief Provides the operation.\n */\nclass OperationProvider\n{\npublic:\n    /**\n     * @brief Constructs an instance of OperationProvider.\n     * @param minLatencyMs The minimum latency to simulate for the operation.\n     * @param maxLatencyMs The maximum latency to simulate for the operation.\n     */\n    OperationProvider(std::uint32_t minLatencyMs, std::uint32_t maxLatencyMs);\n\n    /**\n     * @brief Asynchronously executes the operation.\n     * @param request The request input data for the operation.\n     * @return A shared_future of the response of the operation.\n     */\n    std::shared_future<OperationResponse> executeAsync(const OperationRequest& request);\n\nprivate:\n    std::mt19937 _gen;                    ///< Used randomly determine an operation latency to simulate.\n    std::uniform_int_distribution<> _dis; ///< Used randomly determine an operation latency to simulate.\n};\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample_lib1/src/lib1.cpp",
    "content": "#include \"usdt_sample_lib1/lib1.h\"\n\n// std\n#include <atomic>\n#include <chrono>\n#include <iostream>\n#include <thread>\n\n// usdt_sample_lib1\n#include \"folly/tracing/StaticTracepoint.h\"\n\n// When using systemtap-sdt-devel, the following file should be included:\n#include \"lib1_sdt.h\"\n\nOperationRequest::OperationRequest(const std::string& input_)\n    : _input(input_)\n{\n}\n\nOperationResponse::OperationResponse(const std::string& output_)\n    : _output(output_)\n{\n}\n\nOperationProvider::OperationProvider(std::uint32_t minLatencyMs_, std::uint32_t maxLatencyMs_)\n    : _gen(std::random_device()())\n    , _dis(minLatencyMs_, maxLatencyMs_)\n{\n}\n\nstd::shared_future<OperationResponse> OperationProvider::executeAsync(const OperationRequest& request)\n{\n    static std::atomic<std::uint64_t> operationIdCounter(0);\n    std::uint64_t operationId = operationIdCounter++;\n\n    // We create two probes at the same location. One created using the FOLLY_SDT macro, one created using dtrace.\n    FOLLY_SDT(usdt_sample_lib1, operation_start, operationId, request.input().c_str());\n    if (USDT_SAMPLE_LIB1_SDT_OPERATION_START_SDT_ENABLED()) {\n        //std::cout << \"operation_start probe enabled.\" << std::endl;\n        USDT_SAMPLE_LIB1_SDT_OPERATION_START_SDT(operationId, request.input().c_str());\n    }\n\n    auto latencyMs = _dis(_gen);\n\n    return std::async(std::launch::async, [latencyMs, operationId, request]() {\n        std::this_thread::sleep_for(std::chrono::milliseconds(latencyMs));\n\n        auto output = std::string(\"resp_\") + request.input();\n        OperationResponse response(output);\n\n        // We create two probes at the same location. One created using the FOLLY_SDT macro, one created using dtrace.\n        FOLLY_SDT(usdt_sample_lib1, operation_end, operationId, response.output().c_str());\n        if (USDT_SAMPLE_LIB1_SDT_OPERATION_END_SDT_ENABLED()) {\n            //std::cout << \"operation_end probe enabled.\" << std::endl;\n            USDT_SAMPLE_LIB1_SDT_OPERATION_END_SDT(operationId, response.output().c_str());\n        }\n\n        return response;\n    });\n}\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample_lib1/src/lib1_sdt.d",
    "content": "# This file is only relevant when using systemtap-sdt-devel (see usdt_sample.md).\n#  This usdt_sample uses the StaticTracepoint.h header file (from folly) instead.\nprovider usdt_sample_lib1_sdt\n{\n    probe operation_start_sdt(uint64_t operation_id, const char* input);\n    probe operation_end_sdt(uint64_t operation_id, const char* output);\n};\n"
  },
  {
    "path": "examples/usdt_sample/usdt_sample_lib1/src/lib1_sdt.h",
    "content": "/* Generated by the Systemtap dtrace wrapper */\n\n\n#define _SDT_HAS_SEMAPHORES 1\n\n\n#define STAP_HAS_SEMAPHORES 1 /* deprecated */\n\n\n#include <sys/sdt.h>\n\n/* USDT_SAMPLE_LIB1_SDT_OPERATION_START_SDT ( uint64_t operation_id, const char* input ) */\n#if defined STAP_SDT_V1\n#define USDT_SAMPLE_LIB1_SDT_OPERATION_START_SDT_ENABLED() __builtin_expect (operation_start_sdt_semaphore, 0)\n#define usdt_sample_lib1_sdt_operation_start_sdt_semaphore operation_start_sdt_semaphore\n#else\n#define USDT_SAMPLE_LIB1_SDT_OPERATION_START_SDT_ENABLED() __builtin_expect (usdt_sample_lib1_sdt_operation_start_sdt_semaphore, 0)\n#endif\n__extension__ extern unsigned short usdt_sample_lib1_sdt_operation_start_sdt_semaphore __attribute__ ((unused)) __attribute__ ((section (\".probes\")));\n#define USDT_SAMPLE_LIB1_SDT_OPERATION_START_SDT(arg1, arg2) \\\nDTRACE_PROBE2 (usdt_sample_lib1_sdt, operation_start_sdt, arg1, arg2)\n\n/* USDT_SAMPLE_LIB1_SDT_OPERATION_END_SDT ( uint64_t operation_id, const char* output ) */\n#if defined STAP_SDT_V1\n#define USDT_SAMPLE_LIB1_SDT_OPERATION_END_SDT_ENABLED() __builtin_expect (operation_end_sdt_semaphore, 0)\n#define usdt_sample_lib1_sdt_operation_end_sdt_semaphore operation_end_sdt_semaphore\n#else\n#define USDT_SAMPLE_LIB1_SDT_OPERATION_END_SDT_ENABLED() __builtin_expect (usdt_sample_lib1_sdt_operation_end_sdt_semaphore, 0)\n#endif\n__extension__ extern unsigned short usdt_sample_lib1_sdt_operation_end_sdt_semaphore __attribute__ ((unused)) __attribute__ ((section (\".probes\")));\n#define USDT_SAMPLE_LIB1_SDT_OPERATION_END_SDT(arg1, arg2) \\\nDTRACE_PROBE2 (usdt_sample_lib1_sdt, operation_end_sdt, arg1, arg2)\n\n"
  },
  {
    "path": "introspection/CMakeLists.txt",
    "content": "# Copyright (c) Facebook, Inc.\n# Licensed under the Apache License, Version 2.0 (the \"License\")\n\ninclude_directories(${PROJECT_SOURCE_DIR}/src/cc)\ninclude_directories(${PROJECT_SOURCE_DIR}/src/cc/api)\nif (CMAKE_USE_LIBBPF_PACKAGE AND LIBBPF_FOUND)\ninclude_directories(${PROJECT_SOURCE_DIR}/src/cc/compat)\nelse()\ninclude_directories(${PROJECT_SOURCE_DIR}/src/cc/libbpf/include/uapi)\nendif()\n\noption(INSTALL_INTROSPECTION \"Install BPF introspection tools\" ON)\noption(BPS_LINK_RT \"Pass -lrt to linker when linking bps tool\" ON)\n\n# Note that the order matters! bpf-static first, the rest later\nif(CMAKE_USE_LIBBPF_PACKAGE AND LIBBPF_FOUND)\nset(bps_libs_to_link bpf-shared ${LIBBPF_LIBRARIES})\nelse()\nset(bps_libs_to_link bpf-static)\nendif()\nlist(APPEND bps_libs_to_link elf z)\nif(BPS_LINK_RT)\nlist(APPEND bps_libs_to_link rt)\nendif()\n\nadd_executable(bps bps.c)\ntarget_link_libraries(bps ${bps_libs_to_link})\n\ninstall (TARGETS bps DESTINATION share/bcc/introspection)\n"
  },
  {
    "path": "introspection/bps.c",
    "content": "#include <time.h>\n#include <stdio.h>\n#include <errno.h>\n#include <string.h>\n#include <stdlib.h>\n#include <stdio.h>\n#include <stdint.h>\n#include <unistd.h>\n#include <ctype.h>\n#include <sysexits.h>\n\n#include \"libbpf.h\"\n\n// TODO: Remove this when CentOS 6 support is not needed anymore\n#ifndef CLOCK_BOOTTIME\n#define CLOCK_BOOTTIME 7\n#endif\n\nstatic const char * const prog_type_strings[] = {\n  [BPF_PROG_TYPE_UNSPEC] = \"unspec\",\n  [BPF_PROG_TYPE_SOCKET_FILTER] = \"socket filter\",\n  [BPF_PROG_TYPE_KPROBE] = \"kprobe\",\n  [BPF_PROG_TYPE_SCHED_CLS] = \"sched cls\",\n  [BPF_PROG_TYPE_SCHED_ACT] = \"sched act\",\n  [BPF_PROG_TYPE_TRACEPOINT] = \"tracepoint\",\n  [BPF_PROG_TYPE_XDP] = \"xdp\",\n  [BPF_PROG_TYPE_PERF_EVENT] = \"perf event\",\n  [BPF_PROG_TYPE_CGROUP_SKB] = \"cgroup skb\",\n  [BPF_PROG_TYPE_CGROUP_SOCK] = \"cgroup sock\",\n  [BPF_PROG_TYPE_LWT_IN] = \"lwt in\",\n  [BPF_PROG_TYPE_LWT_OUT] = \"lwt out\",\n  [BPF_PROG_TYPE_LWT_XMIT] = \"lwt xmit\",\n  [BPF_PROG_TYPE_SOCK_OPS] = \"sock ops\",\n  [BPF_PROG_TYPE_SK_SKB] = \"sk skb\",\n  [BPF_PROG_TYPE_CGROUP_DEVICE] = \"cgroup_device\",\n  [BPF_PROG_TYPE_SK_MSG] = \"sk_msg\",\n  [BPF_PROG_TYPE_RAW_TRACEPOINT] = \"raw_tracepoint\",\n  [BPF_PROG_TYPE_CGROUP_SOCK_ADDR] = \"cgroup_sock_addr\",\n  [BPF_PROG_TYPE_LWT_SEG6LOCAL] = \"lwt_seg6local\",\n  [BPF_PROG_TYPE_LIRC_MODE2] = \"lirc_mode2\",\n  [BPF_PROG_TYPE_SK_REUSEPORT] = \"sk_reuseport\",\n  [BPF_PROG_TYPE_FLOW_DISSECTOR] = \"flow_dissector\",\n  [BPF_PROG_TYPE_CGROUP_SYSCTL] = \"cgroup_sysctl\",\n  [BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE] = \"raw_tracepoint_writable\",\n  [BPF_PROG_TYPE_CGROUP_SOCKOPT] = \"cgroup_sockopt\",\n  [BPF_PROG_TYPE_TRACING] = \"tracing\",\n  [BPF_PROG_TYPE_STRUCT_OPS] = \"struct_ops\",\n  [BPF_PROG_TYPE_EXT] = \"ext\",\n  [BPF_PROG_TYPE_LSM] = \"lsm\",\n  [BPF_PROG_TYPE_SK_LOOKUP] = \"sk_lookup\",\n  [BPF_PROG_TYPE_SYSCALL] = \"syscall\",\n  [BPF_PROG_TYPE_NETFILTER] = \"netfilter\",\n};\n\nstatic const char * const map_type_strings[] = {\n  [BPF_MAP_TYPE_UNSPEC] = \"unspec\",\n  [BPF_MAP_TYPE_HASH] = \"hash\",\n  [BPF_MAP_TYPE_ARRAY] = \"array\",\n  [BPF_MAP_TYPE_PROG_ARRAY] = \"prog array\",\n  [BPF_MAP_TYPE_PERF_EVENT_ARRAY] = \"perf-ev array\",\n  [BPF_MAP_TYPE_PERCPU_HASH] = \"percpu hash\",\n  [BPF_MAP_TYPE_PERCPU_ARRAY] = \"percpu array\",\n  [BPF_MAP_TYPE_STACK_TRACE] = \"stack trace\",\n  [BPF_MAP_TYPE_CGROUP_ARRAY] = \"cgroup array\",\n  [BPF_MAP_TYPE_LRU_HASH] = \"lru hash\",\n  [BPF_MAP_TYPE_LRU_PERCPU_HASH] = \"lru percpu hash\",\n  [BPF_MAP_TYPE_LPM_TRIE] = \"lpm trie\",\n  [BPF_MAP_TYPE_ARRAY_OF_MAPS] = \"array of maps\",\n  [BPF_MAP_TYPE_HASH_OF_MAPS] = \"hash of maps\",\n  [BPF_MAP_TYPE_DEVMAP] = \"devmap\",\n  [BPF_MAP_TYPE_SOCKMAP] = \"sockmap\",\n  [BPF_MAP_TYPE_CPUMAP] = \"cpumap\",\n  [BPF_MAP_TYPE_XSKMAP] = \"xskmap\",\n  [BPF_MAP_TYPE_SOCKHASH] = \"sockhash\",\n  [BPF_MAP_TYPE_CGROUP_STORAGE] = \"cgroup_storage\",\n  [BPF_MAP_TYPE_REUSEPORT_SOCKARRAY] = \"reuseport_sockarray\",\n  [BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE] = \"precpu_cgroup_storage\",\n  [BPF_MAP_TYPE_QUEUE] = \"queue\",\n  [BPF_MAP_TYPE_STACK] = \"stack\",\n  [BPF_MAP_TYPE_SK_STORAGE] = \"sk_storage\",\n  [BPF_MAP_TYPE_DEVMAP_HASH] = \"devmap_hash\",\n  [BPF_MAP_TYPE_STRUCT_OPS] = \"struct_ops\",\n  [BPF_MAP_TYPE_RINGBUF] = \"ringbuf\",\n  [BPF_MAP_TYPE_INODE_STORAGE] = \"inode_storage\",\n  [BPF_MAP_TYPE_TASK_STORAGE] = \"task_storage\",\n  [BPF_MAP_TYPE_BLOOM_FILTER] = \"bloom_filter\",\n  [BPF_MAP_TYPE_USER_RINGBUF] = \"user_ringbuf\",\n  [BPF_MAP_TYPE_CGRP_STORAGE] = \"cgrp_storage\",\n  [BPF_MAP_TYPE_ARENA] = \"arena\",\n  [BPF_MAP_TYPE_INSN_ARRAY] = \"insn_array\",\n};\n\n#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))\n#define LAST_KNOWN_PROG_TYPE (ARRAY_SIZE(prog_type_strings) - 1)\n#define LAST_KNOWN_MAP_TYPE (ARRAY_SIZE(map_type_strings) - 1)\n#define min(x, y) ((x) < (y) ? (x) : (y))\n\nstatic inline uint64_t ptr_to_u64(const void *ptr)\n{\n  return (uint64_t) (unsigned long) ptr;\n}\n\nstatic inline void * u64_to_ptr(uint64_t ptr)\n{\n  return (void *) (unsigned long ) ptr;\n}\n\nstatic int handle_get_next_errno(int eno)\n{\n  switch (eno) {\n    case ENOENT:\n      return 0;\n    case EINVAL:\n      fprintf(stderr, \"Kernel does not support BPF introspection\\n\");\n      return EX_UNAVAILABLE;\n    case EPERM:\n      fprintf(stderr,\n              \"Require CAP_SYS_ADMIN capability.  Please retry as root\\n\");\n      return EX_NOPERM;\n    default:\n      fprintf(stderr, \"%s\\n\", strerror(errno));\n      return 1;\n  }\n}\n\nstatic void print_prog_hdr(void)\n{\n  printf(\"%9s %-15s %8s %6s %-12s %-15s\\n\",\n         \"BID\", \"TYPE\", \"UID\", \"#MAPS\", \"LoadTime\", \"NAME\");\n}\n\nstatic void print_prog_info(const struct bpf_prog_info *prog_info)\n{\n  struct timespec real_time_ts, boot_time_ts;\n  time_t wallclock_load_time = 0;\n  char unknown_prog_type[16];\n  const char *prog_type;\n  char load_time[16];\n  struct tm load_tm;\n\n  if (prog_info->type > LAST_KNOWN_PROG_TYPE) {\n    snprintf(unknown_prog_type, sizeof(unknown_prog_type), \"<%u>\",\n             prog_info->type);\n    unknown_prog_type[sizeof(unknown_prog_type) - 1] = '\\0';\n    prog_type = unknown_prog_type;\n  } else {\n    prog_type = prog_type_strings[prog_info->type];\n  }\n\n  if (!clock_gettime(CLOCK_REALTIME, &real_time_ts) &&\n      !clock_gettime(CLOCK_BOOTTIME, &boot_time_ts) &&\n      real_time_ts.tv_sec >= boot_time_ts.tv_sec)\n    wallclock_load_time =\n      (real_time_ts.tv_sec - boot_time_ts.tv_sec) +\n      prog_info->load_time / 1000000000;\n\n  if (wallclock_load_time && localtime_r(&wallclock_load_time, &load_tm))\n    strftime(load_time, sizeof(load_time), \"%b%d/%H:%M\", &load_tm);\n  else\n    snprintf(load_time, sizeof(load_time), \"<%llu>\",\n             prog_info->load_time / 1000000000);\n  load_time[sizeof(load_time) - 1] = '\\0';\n\n  if (prog_info->jited_prog_len)\n    printf(\"%9u %-15s %8u %6u %-12s %-15s\\n\",\n           prog_info->id, prog_type, prog_info->created_by_uid,\n           prog_info->nr_map_ids, load_time, prog_info->name);\n  else\n    printf(\"%8u- %-15s %8u %6u %-12s %-15s\\n\",\n           prog_info->id, prog_type, prog_info->created_by_uid,\n           prog_info->nr_map_ids, load_time, prog_info->name);\n}\n\nstatic void print_map_hdr(void)\n{\n  printf(\"%8s %-15s %-10s %8s %8s %8s %-15s\\n\",\n         \"MID\", \"TYPE\", \"FLAGS\", \"KeySz\", \"ValueSz\", \"MaxEnts\",\n         \"NAME\");\n}\n\nstatic void print_map_info(const struct bpf_map_info *map_info)\n{\n  char unknown_map_type[16];\n  const char *map_type;\n\n  if (map_info->type > LAST_KNOWN_MAP_TYPE) {\n    snprintf(unknown_map_type, sizeof(unknown_map_type),\n             \"<%u>\", map_info->type);\n    unknown_map_type[sizeof(unknown_map_type) - 1] = '\\0';\n    map_type = unknown_map_type;\n  } else {\n    map_type = map_type_strings[map_info->type];\n  }\n\n  printf(\"%8u %-15s 0x%-8x %8u %8u %8u %-15s\\n\",\n         map_info->id, map_type, map_info->map_flags, map_info->key_size,\n         map_info->value_size, map_info->max_entries,\n         map_info->name);\n}\n\nstatic int print_one_prog(uint32_t prog_id)\n{\n  const uint32_t usual_nr_map_ids = 64;\n  uint32_t nr_map_ids = usual_nr_map_ids;\n  struct bpf_prog_info prog_info;\n  uint32_t *map_ids =  NULL;\n  uint32_t info_len;\n  int ret = 0;\n  int prog_fd;\n  uint32_t i;\n\n  prog_fd = bpf_prog_get_fd_by_id(prog_id);\n  if (prog_fd == -1) {\n    if (errno == ENOENT) {\n      fprintf(stderr, \"BID:%u not found\\n\", prog_id);\n      return EX_DATAERR;\n    } else {\n      return handle_get_next_errno(errno);\n    }\n  }\n\n  /* Retry at most one time for larger map_ids array */\n  for (i = 0; i < 2; i++) {\n    bzero(&prog_info, sizeof(prog_info));\n    prog_info.map_ids = ptr_to_u64(realloc(map_ids,\n                                           nr_map_ids * sizeof(*map_ids)));\n    if (!prog_info.map_ids) {\n      fprintf(stderr,\n              \"Cannot allocate memory for %u map_ids for BID:%u\\n\",\n              nr_map_ids, prog_id);\n      close(prog_fd);\n      free(map_ids);\n      return 1;\n    }\n\n    map_ids = u64_to_ptr(prog_info.map_ids);\n    prog_info.nr_map_ids = nr_map_ids;\n    info_len = sizeof(prog_info);\n    ret = bpf_obj_get_info(prog_fd, &prog_info, &info_len);\n    if (ret) {\n      fprintf(stderr, \"Cannot get info for BID:%u. %s(%d)\\n\",\n              prog_id, strerror(errno), errno);\n      close(prog_fd);\n      free(map_ids);\n      return ret;\n    }\n\n    if (prog_info.nr_map_ids <= nr_map_ids)\n      break;\n\n    nr_map_ids = prog_info.nr_map_ids;\n  }\n  close(prog_fd);\n\n  print_prog_hdr();\n  print_prog_info(&prog_info);\n  printf(\"\\n\");\n\n  /* Print all map_info used by the prog */\n  print_map_hdr();\n  nr_map_ids = min(prog_info.nr_map_ids, nr_map_ids);\n  for (i = 0; i < nr_map_ids; i++) {\n    struct bpf_map_info map_info = {};\n    info_len = sizeof(map_info);\n    int map_fd;\n\n    map_fd = bpf_map_get_fd_by_id(map_ids[i]);\n    if (map_fd == -1) {\n      if (errno == -ENOENT)\n        continue;\n\n      fprintf(stderr,\n              \"Cannot get fd for map:%u. %s(%d)\\n\",\n              map_ids[i], strerror(errno), errno);\n      ret = map_fd;\n      break;\n    }\n\n    ret = bpf_obj_get_info(map_fd, &map_info, &info_len);\n    close(map_fd);\n    if (ret) {\n      fprintf(stderr, \"Cannot get info for map:%u. %s(%d)\\n\",\n              map_ids[i], strerror(errno), errno);\n      break;\n    }\n\n    print_map_info(&map_info);\n  }\n\n  free(map_ids);\n  return ret;\n}\n\nint print_all_progs(void)\n{\n  uint32_t next_id = 0;\n\n  print_prog_hdr();\n\n  while (!bpf_prog_get_next_id(next_id, &next_id)) {\n    struct bpf_prog_info prog_info = {};\n    uint32_t prog_info_len = sizeof(prog_info);\n    int prog_fd;\n    int ret;\n\n    prog_fd = bpf_prog_get_fd_by_id(next_id);\n    if (prog_fd < 0) {\n      if (errno == ENOENT)\n        continue;\n      fprintf(stderr,\n              \"Cannot get fd for BID:%u. %s(%d)\\n\",\n              next_id, strerror(errno), errno);\n      return 1;\n    }\n\n    ret = bpf_obj_get_info(prog_fd, &prog_info, &prog_info_len);\n    close(prog_fd);\n    if (ret) {\n      fprintf(stderr,\n              \"Cannot get bpf_prog_info for BID:%u. %s(%d)\\n\",\n              next_id, strerror(errno), errno);\n      return ret;\n    }\n\n    print_prog_info(&prog_info);\n  }\n\n  return handle_get_next_errno(errno);\n}\n\nvoid usage(void)\n{\n  printf(\"BPF Program Snapshot (bps):\\n\"\n         \"List of all BPF programs loaded into the system.\\n\\n\");\n  printf(\"Usage: bps [bpf-prog-id]\\n\");\n  printf(\"    [bpf-prog-id] If specified, it shows the details info of the bpf-prog\\n\");\n  printf(\"\\n\");\n}\n\nint main(int argc, char **argv)\n{\n  if (argc > 1) {\n    if (!isdigit(*argv[1])) {\n      usage();\n      return EX_USAGE;\n    }\n    return print_one_prog((uint32_t)atoi(argv[1]));\n  }\n\n  return print_all_progs();\n}\n"
  },
  {
    "path": "introspection/bps_example.txt",
    "content": "* List all BPF programs *\n# bps\n   BID TYPE                 UID  #MAPS LoadTime     NAME\n    82 kprobe                 0      1 Oct19/23:52  map_perf_test\n    83 kprobe                 0      1 Oct19/23:52  map_perf_test\n    84 kprobe                 0      1 Oct19/23:52  map_perf_test\n    85 kprobe                 0      1 Oct19/23:52  map_perf_test\n    86 kprobe                 0      4 Oct19/23:52  map_perf_test\n    87 kprobe                 0      1 Oct19/23:52  map_perf_test\n    88 kprobe                 0      1 Oct19/23:52  map_perf_test\n    89 kprobe                 0      1 Oct19/23:52  map_perf_test\n\n* List a particular BPF program and its maps *\n# bps 86\n   BID TYPE                 UID  #MAPS LoadTime     NAME\n    86 kprobe                 0      4 Oct19/23:52  map_perf_test\n\nMID TYPE            FLAGS         KeySz  ValueSz  MaxEnts NAME\n120 lru hash        0x0               4        8    10000 lru_hash_map\n129 lru hash        0x0               4        8       43 lru_hash_lookup\n123 array of maps   0x0               4        4     1024 array_of_lru_ha\n121 lru hash        0x2               4\n"
  },
  {
    "path": "libbpf-tools/.gitignore",
    "content": "/.output\n/btfhub-archive\n/bashreadline\n/bcachefsdist\n/bcachefsslower\n/bindsnoop\n/biolatency\n/biopattern\n/biosnoop\n/biostacks\n/biotop\n/bitesize\n/btrfsdist\n/btrfsslower\n/cachestat\n/capable\n/cpudist\n/cpufreq\n/drsnoop\n/execsnoop\n/exitsnoop\n/ext4dist\n/ext4slower\n/f2fsdist\n/f2fsslower\n/filelife\n/filetop\n/fsdist\n/fsslower\n/funclatency\n/fusedist\n/fuseslower\n/futexctn\n/gethostlatency\n/hardirqs\n/javagc\n/killsnoop\n/klockstat\n/ksnoop\n/llcstat\n/memleak\n/mdflush\n/mountsnoop\n/nfsdist\n/nfsslower\n/numamove\n/offcputime\n/oomkill\n/opensnoop\n/profile\n/readahead\n/runqlat\n/runqlen\n/runqslower\n/sigsnoop\n/slabratetop\n/softirqs\n/solisten\n/statsnoop\n/syncsnoop\n/syscount\n/tcpconnect\n/tcpconnlat\n/tcplife\n/tcppktlat\n/tcptracer\n/tcprtt\n/tcpstates\n/tcpsynbl\n/tcptop\n/vfsstat\n/wakeuptime\n/xfsdist\n/xfsslower\n/zfsdist\n/zfsslower\n"
  },
  {
    "path": "libbpf-tools/Makefile",
    "content": "# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\nOUTPUT := $(abspath .output)\nCLANG ?= clang\nLLVM_STRIP ?= llvm-strip\nBPFTOOL_SRC := $(abspath ./bpftool/src)\nBPFTOOL_OUTPUT ?= $(abspath $(OUTPUT)/bpftool)\nBPFTOOL ?= $(BPFTOOL_OUTPUT)/bootstrap/bpftool\nLIBBPF_SRC := $(abspath ../src/cc/libbpf/src)\nLIBBPF_OBJ := $(abspath $(OUTPUT)/libbpf.a)\nLIBBLAZESYM_SRC := $(abspath blazesym/)\nLIBBLAZESYM_INC := $(abspath $(LIBBLAZESYM_SRC)/capi/include)\nLIBBLAZESYM_OBJ := $(abspath $(OUTPUT)/libblazesym_c.a)\nINCLUDES := -I$(OUTPUT) -I../src/cc/libbpf/include/uapi\nCFLAGS := -g -O2 -Wall -Wmissing-field-initializers -Werror -Werror=undef\nBPFCFLAGS := -g -O2 -Wall -Werror=undef\nBPFCFLAGS_softirqs := $(BPFCFLAGS) -mcpu=v3\nINSTALL ?= install\nprefix ?= /usr/local\nbindir := $(prefix)/bin\nARCH ?= $(shell uname -m | sed 's/x86_64/x86/' | sed 's/aarch64/arm64/' \\\n\t\t\t | sed 's/ppc64le/powerpc/' | sed 's/mips.*/mips/' \\\n\t\t\t | sed 's/riscv64/riscv/' | sed 's/loongarch.*/loongarch/' \\\n\t\t\t | sed 's/s390x/s390/')\nBTFHUB_ARCHIVE ?= $(abspath btfhub-archive)\nifeq ($(ARCH),x86)\nCARGO ?= $(shell which cargo)\nifeq ($(strip $(CARGO)),)\nUSE_BLAZESYM ?= 0\nelse\nUSE_BLAZESYM ?= 1\nendif\nendif\n\nifeq ($(wildcard $(ARCH)/),)\n$(error Architecture $(ARCH) is not supported yet. Please open an issue)\nendif\n\nBZ_APPS = \\\n\tfutexctn \\\n\tmemleak \\\n\topensnoop \\\n\t#\n\nAPPS = \\\n\tbashreadline \\\n\tbindsnoop \\\n\tbiolatency \\\n\tbiopattern \\\n\tbiosnoop \\\n\tbiostacks \\\n\tbiotop \\\n\tbitesize \\\n\tcachestat \\\n\tcapable \\\n\tcpudist \\\n\tcpufreq \\\n\tdrsnoop \\\n\texecsnoop \\\n\texitsnoop \\\n\tfilelife \\\n\tfiletop \\\n\tfsdist \\\n\tfsslower \\\n\tfunclatency \\\n\tgethostlatency \\\n\thardirqs \\\n\tjavagc \\\n\tklockstat \\\n\tksnoop \\\n\tllcstat \\\n\tmdflush \\\n\tmountsnoop \\\n\tnumamove \\\n\toffcputime \\\n\toomkill \\\n\tprofile \\\n\treadahead \\\n\trunqlat \\\n\trunqlen \\\n\trunqslower \\\n\tsigsnoop \\\n\tslabratetop \\\n\tsoftirqs \\\n\tsolisten \\\n\tstatsnoop \\\n\tsyncsnoop \\\n\tsyscount \\\n\ttcptracer \\\n\ttcpconnect \\\n\ttcpconnlat \\\n\ttcplife \\\n\ttcppktlat \\\n\ttcprtt \\\n\ttcpstates \\\n\ttcpsynbl \\\n\ttcptop \\\n\tvfsstat \\\n\twakeuptime \\\n\t$(BZ_APPS) \\\n\t#\n\n# export variables that are used in Makefile.btfgen as well.\nexport OUTPUT BPFTOOL ARCH BTFHUB_ARCHIVE APPS\n\nFSDIST_ALIASES = btrfsdist ext4dist fusedist nfsdist xfsdist f2fsdist bcachefsdist zfsdist\nFSSLOWER_ALIASES = btrfsslower ext4slower fuseslower nfsslower xfsslower f2fsslower bcachefsslower zfsslower\nSIGSNOOP_ALIAS = killsnoop\nAPP_ALIASES = $(FSDIST_ALIASES) $(FSSLOWER_ALIASES) ${SIGSNOOP_ALIAS}\n\nCOMMON_OBJ = \\\n\t$(OUTPUT)/trace_helpers.o \\\n\t$(OUTPUT)/syscall_helpers.o \\\n\t$(OUTPUT)/errno_helpers.o \\\n\t$(OUTPUT)/map_helpers.o \\\n\t$(OUTPUT)/uprobe_helpers.o \\\n\t$(OUTPUT)/btf_helpers.o \\\n\t$(OUTPUT)/compat.o \\\n\t$(OUTPUT)/path_helpers.o \\\n\t$(if $(ENABLE_MIN_CORE_BTFS),$(OUTPUT)/min_core_btf_tar.o) \\\n\t#\n\nifeq ($(USE_BLAZESYM),1)\nCOMMON_OBJ += \\\n\t$(LIBBLAZESYM_OBJ) \\\n\t$(OUTPUT)/blazesym.h \\\n\t#\nendif\n\ndefine allow-override\n  $(if $(or $(findstring environment,$(origin $(1))),\\\n            $(findstring command line,$(origin $(1)))),,\\\n    $(eval $(1) = $(2)))\nendef\n\n$(call allow-override,CC,$(CROSS_COMPILE)cc)\n$(call allow-override,LD,$(CROSS_COMPILE)ld)\n\n.PHONY: all\nall: $(APPS) $(APP_ALIASES)\n\nifeq ($(V),1)\nQ =\nmsg =\nelse\nQ = @\nmsg = @printf '  %-8s %s%s\\n' \"$(1)\" \"$(notdir $(2))\" \"$(if $(3), $(3))\";\nMAKEFLAGS += --no-print-directory\nendif\n\nifneq ($(EXTRA_CFLAGS),)\nCFLAGS += $(EXTRA_CFLAGS)\nendif\nifneq ($(EXTRA_LDFLAGS),)\nLDFLAGS += $(EXTRA_LDFLAGS)\nendif\nifeq ($(USE_BLAZESYM),1)\nCFLAGS += -DUSE_BLAZESYM=1\nendif\n\nifeq ($(USE_BLAZESYM),1)\nLDFLAGS += $(LIBBLAZESYM_OBJ) -lrt -lpthread -ldl\nendif\n\n.PHONY: clean\nclean:\n\t$(call msg,CLEAN)\n\t$(Q)rm -rf $(OUTPUT) $(APPS) $(APP_ALIASES)\n\n$(LIBBLAZESYM_SRC)/target/release/libblazesym_c.a::\n\t$(Q)cd $(LIBBLAZESYM_SRC) && $(CARGO) build --release --package=blazesym-c\n\n$(LIBBLAZESYM_OBJ): $(LIBBLAZESYM_SRC)/target/release/libblazesym_c.a | $(OUTPUT)\n\t$(call msg,LIB,$@)\n\t$(Q)cp $(LIBBLAZESYM_SRC)/target/release/libblazesym_c.a $@\n\n$(OUTPUT)/blazesym.h: $(LIBBLAZESYM_SRC)/target/release/libblazesym_c.a | $(OUTPUT)\n\t$(call msg,INC,$@)\n\t$(Q)cp $(LIBBLAZESYM_INC)/blazesym.h $@\n\n$(OUTPUT) $(OUTPUT)/libbpf $(BPFTOOL_OUTPUT):\n\t$(call msg,MKDIR,$@)\n\t$(Q)mkdir -p $@\n\n$(BPFTOOL): | $(BPFTOOL_OUTPUT)\n\t$(call msg,BPFTOOL,$@)\n\t$(Q)$(MAKE) ARCH= CROSS_COMPILE=  OUTPUT=$(BPFTOOL_OUTPUT)/ -C $(BPFTOOL_SRC) bootstrap\n\n$(APPS): %: $(OUTPUT)/%.o $(COMMON_OBJ) $(LIBBPF_OBJ) | $(OUTPUT)\n\t$(call msg,BINARY,$@)\n\t$(Q)$(CC) $(CFLAGS) $^ $(LDFLAGS) -lelf -lz -o $@\n\nifeq ($(USE_BLAZESYM),1)\n$(patsubst %,$(OUTPUT)/%.o,$(BZ_APPS)): $(OUTPUT)/blazesym.h\nendif\n\n$(patsubst %,$(OUTPUT)/%.o,$(APPS)): %.o: %.skel.h\n\n$(OUTPUT)/%.o: %.c $(wildcard %.h) $(LIBBPF_OBJ) | $(OUTPUT)\n\t$(call msg,CC,$@)\n\t$(Q)$(CC) $(CFLAGS) $(INCLUDES) -c $(filter %.c,$^) -o $@\n\n$(OUTPUT)/%.skel.h: $(OUTPUT)/%.bpf.o | $(OUTPUT) $(BPFTOOL)\n\t$(call msg,GEN-SKEL,$@)\n\t$(Q)$(BPFTOOL) gen skeleton $< > $@\n\n$(OUTPUT)/softirqs.bpf.o: BPFCFLAGS = $(BPFCFLAGS_softirqs)\n\n$(OUTPUT)/%.bpf.o: %.bpf.c $(LIBBPF_OBJ) $(wildcard %.h) $(ARCH)/vmlinux.h | $(OUTPUT)\n\t$(call msg,BPF,$@)\n\t$(Q)$(CLANG) $(BPFCFLAGS) -target bpf -D__TARGET_ARCH_$(ARCH)\t      \\\n\t\t     -I$(ARCH)/ $(INCLUDES) -c $(filter %.c,$^) -o $@ &&      \\\n\t$(LLVM_STRIP) -g $@\n\nbtfhub-archive: force\n\t$(call msg,GIT,$@)\n\t$(Q)[ -d \"$(BTFHUB_ARCHIVE)\" ] || git clone -q https://github.com/aquasecurity/btfhub-archive/ $(BTFHUB_ARCHIVE)\n\t$(Q)cd $(BTFHUB_ARCHIVE) && git pull\n\nifdef ENABLE_MIN_CORE_BTFS\n$(OUTPUT)/min_core_btf_tar.o: $(patsubst %,$(OUTPUT)/%.bpf.o,$(APPS)) btfhub-archive | bpftool\n\t$(Q)$(MAKE) -f Makefile.btfgen\nendif\n\n# Build libbpf.a\n$(LIBBPF_OBJ): $(wildcard $(LIBBPF_SRC)/*.[ch]) | $(OUTPUT)/libbpf\n\t$(call msg,LIB,$@)\n\t$(Q)$(MAKE) -C $(LIBBPF_SRC) BUILD_STATIC_ONLY=1\t\t      \\\n\t\t    OBJDIR=$(dir $@)libbpf DESTDIR=$(dir $@)\t\t      \\\n\t\t    INCLUDEDIR= LIBDIR= UAPIDIR=\t\t\t      \\\n\t\t    install\n\n$(FSSLOWER_ALIASES): fsslower\n\t$(call msg,SYMLINK,$@)\n\t$(Q)ln -f -s $(APP_PREFIX)$^ $@\n\n$(FSDIST_ALIASES): fsdist\n\t$(call msg,SYMLINK,$@)\n\t$(Q)ln -f -s $(APP_PREFIX)$^ $@\n\n$(SIGSNOOP_ALIAS): sigsnoop\n\t$(call msg,SYMLINK,$@)\n\t$(Q)ln -f -s $(APP_PREFIX)$^ $@\n\ninstall: $(APPS) $(APP_ALIASES)\n\t$(call msg, INSTALL libbpf-tools)\n\t$(Q)$(INSTALL) -m 0755 -d $(DESTDIR)$(bindir)\n\t$(Q)$(foreach app,$(APPS),$(INSTALL) $(app) $(DESTDIR)$(bindir)/$(APP_PREFIX)$(app);)\n\t$(Q)$(foreach alias,$(APP_ALIASES),cp -a $(alias) $(DESTDIR)$(bindir)/$(APP_PREFIX)$(alias);)\n\n.PHONY: force\nforce:\n\n# delete failed targets\n.DELETE_ON_ERROR:\n# keep intermediate (.skel.h, .bpf.o, etc) targets\n.SECONDARY:\n"
  },
  {
    "path": "libbpf-tools/Makefile.btfgen",
    "content": "# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\nSOURCE_BTF_FILES = $(shell find $(BTFHUB_ARCHIVE)/ -iregex \".*$(subst x86,x86_64,$(ARCH)).*\" -type f -name '*.btf.tar.xz')\nMIN_CORE_BTF_FILES = $(patsubst $(BTFHUB_ARCHIVE)/%.btf.tar.xz, $(OUTPUT)/min_core_btfs/%.btf, $(SOURCE_BTF_FILES))\nBPF_O_FILES = $(patsubst %,$(OUTPUT)/%.bpf.o,$(APPS))\n\n.PHONY: all\nall: $(OUTPUT)/min_core_btf_tar.o\n\nifeq ($(V),1)\nQ =\nmsg =\nelse\nQ = @\nmsg = @printf '  %-8s %s%s\\n' \"$(1)\" \"$(notdir $(2))\" \"$(if $(3), $(3))\";\nMAKEFLAGS += --no-print-directory\nendif\n\n$(BTFHUB_ARCHIVE)/%.btf: $(BTFHUB_ARCHIVE)/%.btf.tar.xz\n\t$(call msg,UNTAR,$@)\n\t$(Q)tar xvfJ $< -C \"$(@D)\" > /dev/null\n\t$(Q)touch $@\n\n$(MIN_CORE_BTF_FILES): $(BPF_O_FILES)\n\n# Create reduced version of BTF files to be embedded within the tools executables\n$(OUTPUT)/min_core_btfs/%.btf: $(BTFHUB_ARCHIVE)/%.btf\n\t$(call msg,BTFGEN,$@)\n\t$(Q)mkdir -p \"$(@D)\"\n\t$(Q)$(BPFTOOL) gen min_core_btf $< $@ $(OUTPUT)/*.bpf.o\n\n# Compress reduced BTF files and create an object file with its content\n$(OUTPUT)/min_core_btf_tar.o: $(MIN_CORE_BTF_FILES)\n\t$(call msg,TAR,$@)\n\t$(Q)tar c --gz -f $(OUTPUT)/min_core_btfs.tar.gz -C $(OUTPUT)/min_core_btfs/ .\n\t$(Q)cd $(OUTPUT) && ld -r -b binary min_core_btfs.tar.gz -o $@\n\n# delete failed targets\n.DELETE_ON_ERROR:\n# keep intermediate (.skel.h, .bpf.o, etc) targets\n.SECONDARY:\n"
  },
  {
    "path": "libbpf-tools/README.md",
    "content": "Useful links\n------------\n\n- [BPF Portability and CO-RE](https://facebookmicrosites.github.io/bpf/blog/2020/02/19/bpf-portability-and-co-re.html)\n- [HOWTO: BCC to libbpf conversion](https://facebookmicrosites.github.io/bpf/blog/2020/02/20/bcc-to-libbpf-howto-guide.html)\n- [Tips & tricks for writing libbpf-tools](https://en.pingcap.com/blog/tips-and-tricks-for-writing-linux-bpf-applications-with-libbpf)\n\nBuilding\n-------\n\nTo build libbpf-based tools, simply run `make`. This will build all the listed\ntools/applications. All the build artifacts, by default, go into .output\nsubdirectory to keep source code and build artifacts completely separate. The\nonly exception is resulting tool binaries, which are put in a current\ndirectory. `make clean` will clean up all the build artifacts, including\ngenerated binaries.\n\nGiven that the libbpf package might not be available across wide variety of\ndistributions, all libbpf-based tools are linked statically against a version\nof libbpf that BCC links against (from submodule under src/cc/libbpf). This\nresults in binaries with minimal amount of dependencies (libc, libelf, and\nlibz are linked dynamically, though, given their widespread availability).\nIf your build fails because the libbpf submodule is outdated, try running `git\nsubmodule update --init --recursive`.\n\nTools are expected to follow a simple naming convention:\n  - <tool>.c contains userspace C code of a tool.\n  - <tool>.bpf.c contains BPF C code, which gets compiled into BPF ELF file.\n    This ELF file is used to generate BPF skeleton <tool>.skel.h, which is\n    subsequently is included from <tool>.c.\n  - <tool>.h can optionally contain any types and constants, shared by both\n    BPF and userspace sides of a tool.\n\nFor such cases, simply adding <tool> name to Makefile's APPS variable will\nensure this tool is built alongside others.\n\nFor more complicated applications, some extra Makefile rules might need to be\ncreated. For such cases, it is advised to put application into a dedicated\nsubdirectory and link it from main Makefile.\n\nvmlinux.h generation\n-------------------\n\nvmlinux.h contains all kernel types, both exported and internal-only. BPF\nCO-RE-based applications are expected to include this file in their BPF\nprogram C source code to avoid dependency on kernel headers package.\n\nFor more reproducible builds, vmlinux.h header file is pre-generated and\nchecked in along the other sources. This is done to avoid dependency on\nspecific user/build server's kernel configuration, because vmlinux.h\ngeneration depends on having a kernel with BTF type information built-in\n(which is enabled by `CONFIG_DEBUG_INFO_BTF=y` Kconfig option See below).\n\nvmlinux.h is generated from upstream Linux version at particular minor\nversion tag. E.g., `vmlinux_505.h` is generated from v5.5 tag. Exact set of\ntypes available in compiled kernel depends on configuration used to compile\nit. To generate present vmlinux.h header, default configuration was used, with\nonly extra `CONFIG_DEBUG_INFO_BTF=y` option enabled.\n\nGiven different kernel version can have incompatible type definitions, it\nmight be important to use vmlinux.h of a specific kernel version as a \"base\"\nversion of header. To that extent, all vmlinux.h headers are versioned by\nappending <MAJOR><MINOR> suffix to a file name. There is always a symbolic\nlink vmlinux.h, that points to whichever version is deemed to be default\n(usually, latest).\n\nbpftool\n-------\n\nbpftool is a universal tool used for inspection of BPF resources, as well as\nproviding various extra BPF-related facilities, like code-generation of BPF\nprogram skeletons. The latter functionality is heavily used by these tools to\nload and interact with BPF programs.\n\nGiven bpftool package can't yet be expected to be available widely across many\ndistributions, bpftool binary is checked in into BCC repository in bin/\nsubdirectory. Once bpftool package is more widely available, this can be\nchanged in favor of using pre-packaged version of bpftool.\n\n\nRe-compiling your Kernel with CONFIG_DEBUG_INFO_BTF=y\n-----------------------------------------------------\nlibbpf probes to see if your sys fs exports the file `/sys/kernel/btf/vmlinux` (from Kernel 5.5+) or if you have the ELF version in your system [`code`](https://github.com/libbpf/libbpf/blob/master/src/btf.c)\nPlease note the ELF file could exist without the BTF info in it. Your Kconfig should contain the options below\n\n1. Compile options\n```code\nCONFIG_DEBUG_INFO_BTF=y\nCONFIG_DEBUG_INFO=y\n```\n2. Also, make sure that you have pahole 1.13 (or preferably 1.16+) during the\nkernel build (it comes from dwarves package). Without it, BTF won't be\ngenerated, and on older kernels you'd get only warning, but still would\nbuild kernel successfully\n\nRunning in kernels without CONFIG_DEBUG_INFO_BTF=y\n--------------------------------------------------\n\nIt's possible to run some tools in kernels that don't expose\n`/sys/kernel/btf/vmlinux`. For those cases,\n[BTFGen](https://lore.kernel.org/bpf/20220215225856.671072-1-mauricio@kinvolk.io)\nand [BTFHub](https://github.com/aquasecurity/btfhub) can be used to\ngenerate small BTF files for the most popular Linux distributions that\nare shipped with the tools in order to provide the needed information to\nperform the CO-RE relocations when loading the eBPF programs.\n\nIf you haven't cloned the\n[btfhub-archive](https://github.com/aquasecurity/btfhub) repository, you\ncan run make and it'll clone it for you into the `$HOME/.local/share`\ndirectory:\n\n```bash\nmake ENABLE_MIN_CORE_BTFS=1 -j$(nproc)\n```\n\nIf you have a local copy of such repository, you can pass it's location\nto avoid cloning it again:\n\n```bash\nmake ENABLE_MIN_CORE_BTFS=1 BTF_HUB_ARCHIVE=<path_to_btfhub-archive> -j$(nproc)\n```\n"
  },
  {
    "path": "libbpf-tools/arm64/vmlinux_614.h",
    "content": "#ifndef __VMLINUX_H__\n#define __VMLINUX_H__\n\n#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record)\n#endif\n\n#ifndef __ksym\n#define __ksym __attribute__((section(\".ksyms\")))\n#endif\n\n#ifndef __weak\n#define __weak __attribute__((weak))\n#endif\n\n#ifndef __bpf_fastcall\n#if __has_attribute(bpf_fastcall)\n#define __bpf_fastcall __attribute__((bpf_fastcall))\n#else\n#define __bpf_fastcall\n#endif\n#endif\n\nenum {\n\tACPI_BATTERY_ALARM_PRESENT = 0,\n\tACPI_BATTERY_XINFO_PRESENT = 1,\n\tACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY = 2,\n\tACPI_BATTERY_QUIRK_THINKPAD_MAH = 3,\n\tACPI_BATTERY_QUIRK_DEGRADED_FULL_CHARGE = 4,\n};\n\nenum {\n\tACPI_BUTTON_LID_INIT_IGNORE = 0,\n\tACPI_BUTTON_LID_INIT_OPEN = 1,\n\tACPI_BUTTON_LID_INIT_METHOD = 2,\n\tACPI_BUTTON_LID_INIT_DISABLED = 3,\n};\n\nenum {\n\tACPI_GENL_ATTR_UNSPEC = 0,\n\tACPI_GENL_ATTR_EVENT = 1,\n\t__ACPI_GENL_ATTR_MAX = 2,\n};\n\nenum {\n\tACPI_GENL_CMD_UNSPEC = 0,\n\tACPI_GENL_CMD_EVENT = 1,\n\t__ACPI_GENL_CMD_MAX = 2,\n};\n\nenum {\n\tACPI_REFCLASS_LOCAL = 0,\n\tACPI_REFCLASS_ARG = 1,\n\tACPI_REFCLASS_REFOF = 2,\n\tACPI_REFCLASS_INDEX = 3,\n\tACPI_REFCLASS_TABLE = 4,\n\tACPI_REFCLASS_NAME = 5,\n\tACPI_REFCLASS_DEBUG = 6,\n\tACPI_REFCLASS_MAX = 6,\n};\n\nenum {\n\tACPI_RSC_INITGET = 0,\n\tACPI_RSC_INITSET = 1,\n\tACPI_RSC_FLAGINIT = 2,\n\tACPI_RSC_1BITFLAG = 3,\n\tACPI_RSC_2BITFLAG = 4,\n\tACPI_RSC_3BITFLAG = 5,\n\tACPI_RSC_6BITFLAG = 6,\n\tACPI_RSC_ADDRESS = 7,\n\tACPI_RSC_BITMASK = 8,\n\tACPI_RSC_BITMASK16 = 9,\n\tACPI_RSC_COUNT = 10,\n\tACPI_RSC_COUNT16 = 11,\n\tACPI_RSC_COUNT_GPIO_PIN = 12,\n\tACPI_RSC_COUNT_GPIO_RES = 13,\n\tACPI_RSC_COUNT_GPIO_VEN = 14,\n\tACPI_RSC_COUNT_SERIAL_RES = 15,\n\tACPI_RSC_COUNT_SERIAL_VEN = 16,\n\tACPI_RSC_DATA8 = 17,\n\tACPI_RSC_EXIT_EQ = 18,\n\tACPI_RSC_EXIT_LE = 19,\n\tACPI_RSC_EXIT_NE = 20,\n\tACPI_RSC_LENGTH = 21,\n\tACPI_RSC_MOVE_GPIO_PIN = 22,\n\tACPI_RSC_MOVE_GPIO_RES = 23,\n\tACPI_RSC_MOVE_SERIAL_RES = 24,\n\tACPI_RSC_MOVE_SERIAL_VEN = 25,\n\tACPI_RSC_MOVE8 = 26,\n\tACPI_RSC_MOVE16 = 27,\n\tACPI_RSC_MOVE32 = 28,\n\tACPI_RSC_MOVE64 = 29,\n\tACPI_RSC_SET8 = 30,\n\tACPI_RSC_SOURCE = 31,\n\tACPI_RSC_SOURCEX = 32,\n};\n\nenum {\n\tACTION_FAIL = 0,\n\tACTION_REPREP = 1,\n\tACTION_DELAYED_REPREP = 2,\n\tACTION_RETRY = 3,\n\tACTION_DELAYED_RETRY = 4,\n};\n\nenum {\n\tAFFINITY = 0,\n\tAFFINITY_LIST = 1,\n\tEFFECTIVE = 2,\n\tEFFECTIVE_LIST = 3,\n};\n\nenum {\n\tAHCI_MAX_PORTS = 32,\n\tAHCI_MAX_SG = 168,\n\tAHCI_DMA_BOUNDARY = 4294967295,\n\tAHCI_MAX_CMDS = 32,\n\tAHCI_CMD_SZ = 32,\n\tAHCI_CMD_SLOT_SZ = 1024,\n\tAHCI_RX_FIS_SZ = 256,\n\tAHCI_CMD_TBL_CDB = 64,\n\tAHCI_CMD_TBL_HDR_SZ = 128,\n\tAHCI_CMD_TBL_SZ = 2816,\n\tAHCI_CMD_TBL_AR_SZ = 90112,\n\tAHCI_PORT_PRIV_DMA_SZ = 91392,\n\tAHCI_PORT_PRIV_FBS_DMA_SZ = 95232,\n\tAHCI_IRQ_ON_SG = 2147483648,\n\tAHCI_CMD_ATAPI = 32,\n\tAHCI_CMD_WRITE = 64,\n\tAHCI_CMD_PREFETCH = 128,\n\tAHCI_CMD_RESET = 256,\n\tAHCI_CMD_CLR_BUSY = 1024,\n\tRX_FIS_PIO_SETUP = 32,\n\tRX_FIS_D2H_REG = 64,\n\tRX_FIS_SDB = 88,\n\tRX_FIS_UNK = 96,\n\tHOST_CAP = 0,\n\tHOST_CTL = 4,\n\tHOST_IRQ_STAT = 8,\n\tHOST_PORTS_IMPL = 12,\n\tHOST_VERSION = 16,\n\tHOST_EM_LOC = 28,\n\tHOST_EM_CTL = 32,\n\tHOST_CAP2 = 36,\n\tHOST_RESET = 1,\n\tHOST_IRQ_EN = 2,\n\tHOST_MRSM = 4,\n\tHOST_AHCI_EN = 2147483648,\n\tHOST_CAP_SXS = 32,\n\tHOST_CAP_EMS = 64,\n\tHOST_CAP_CCC = 128,\n\tHOST_CAP_PART = 8192,\n\tHOST_CAP_SSC = 16384,\n\tHOST_CAP_PIO_MULTI = 32768,\n\tHOST_CAP_FBS = 65536,\n\tHOST_CAP_PMP = 131072,\n\tHOST_CAP_ONLY = 262144,\n\tHOST_CAP_CLO = 16777216,\n\tHOST_CAP_LED = 33554432,\n\tHOST_CAP_ALPM = 67108864,\n\tHOST_CAP_SSS = 134217728,\n\tHOST_CAP_MPS = 268435456,\n\tHOST_CAP_SNTF = 536870912,\n\tHOST_CAP_NCQ = 1073741824,\n\tHOST_CAP_64 = 2147483648,\n\tHOST_CAP2_BOH = 1,\n\tHOST_CAP2_NVMHCI = 2,\n\tHOST_CAP2_APST = 4,\n\tHOST_CAP2_SDS = 8,\n\tHOST_CAP2_SADM = 16,\n\tHOST_CAP2_DESO = 32,\n\tPORT_LST_ADDR = 0,\n\tPORT_LST_ADDR_HI = 4,\n\tPORT_FIS_ADDR = 8,\n\tPORT_FIS_ADDR_HI = 12,\n\tPORT_IRQ_STAT = 16,\n\tPORT_IRQ_MASK = 20,\n\tPORT_CMD = 24,\n\tPORT_TFDATA = 32,\n\tPORT_SIG = 36,\n\tPORT_CMD_ISSUE = 56,\n\tPORT_SCR_STAT = 40,\n\tPORT_SCR_CTL = 44,\n\tPORT_SCR_ERR = 48,\n\tPORT_SCR_ACT = 52,\n\tPORT_SCR_NTF = 60,\n\tPORT_FBS = 64,\n\tPORT_DEVSLP = 68,\n\tPORT_IRQ_COLD_PRES = 2147483648,\n\tPORT_IRQ_TF_ERR = 1073741824,\n\tPORT_IRQ_HBUS_ERR = 536870912,\n\tPORT_IRQ_HBUS_DATA_ERR = 268435456,\n\tPORT_IRQ_IF_ERR = 134217728,\n\tPORT_IRQ_IF_NONFATAL = 67108864,\n\tPORT_IRQ_OVERFLOW = 16777216,\n\tPORT_IRQ_BAD_PMP = 8388608,\n\tPORT_IRQ_PHYRDY = 4194304,\n\tPORT_IRQ_DMPS = 128,\n\tPORT_IRQ_CONNECT = 64,\n\tPORT_IRQ_SG_DONE = 32,\n\tPORT_IRQ_UNK_FIS = 16,\n\tPORT_IRQ_SDB_FIS = 8,\n\tPORT_IRQ_DMAS_FIS = 4,\n\tPORT_IRQ_PIOS_FIS = 2,\n\tPORT_IRQ_D2H_REG_FIS = 1,\n\tPORT_IRQ_FREEZE = 683671632,\n\tPORT_IRQ_ERROR = 2025848912,\n\tDEF_PORT_IRQ = 2025848959,\n\tPORT_CMD_ASP = 134217728,\n\tPORT_CMD_ALPE = 67108864,\n\tPORT_CMD_ATAPI = 16777216,\n\tPORT_CMD_FBSCP = 4194304,\n\tPORT_CMD_ESP = 2097152,\n\tPORT_CMD_CPD = 1048576,\n\tPORT_CMD_MPSP = 524288,\n\tPORT_CMD_HPCP = 262144,\n\tPORT_CMD_PMP = 131072,\n\tPORT_CMD_LIST_ON = 32768,\n\tPORT_CMD_FIS_ON = 16384,\n\tPORT_CMD_FIS_RX = 16,\n\tPORT_CMD_CLO = 8,\n\tPORT_CMD_POWER_ON = 4,\n\tPORT_CMD_SPIN_UP = 2,\n\tPORT_CMD_START = 1,\n\tPORT_CMD_ICC_MASK = 4026531840,\n\tPORT_CMD_ICC_ACTIVE = 268435456,\n\tPORT_CMD_ICC_PARTIAL = 536870912,\n\tPORT_CMD_ICC_SLUMBER = 1610612736,\n\tPORT_CMD_CAP = 8126464,\n\tPORT_FBS_DWE_OFFSET = 16,\n\tPORT_FBS_ADO_OFFSET = 12,\n\tPORT_FBS_DEV_OFFSET = 8,\n\tPORT_FBS_DEV_MASK = 3840,\n\tPORT_FBS_SDE = 4,\n\tPORT_FBS_DEC = 2,\n\tPORT_FBS_EN = 1,\n\tPORT_DEVSLP_DM_OFFSET = 25,\n\tPORT_DEVSLP_DM_MASK = 503316480,\n\tPORT_DEVSLP_DITO_OFFSET = 15,\n\tPORT_DEVSLP_MDAT_OFFSET = 10,\n\tPORT_DEVSLP_DETO_OFFSET = 2,\n\tPORT_DEVSLP_DSP = 2,\n\tPORT_DEVSLP_ADSE = 1,\n\tAHCI_HFLAG_NO_NCQ = 1,\n\tAHCI_HFLAG_IGN_IRQ_IF_ERR = 2,\n\tAHCI_HFLAG_IGN_SERR_INTERNAL = 4,\n\tAHCI_HFLAG_32BIT_ONLY = 8,\n\tAHCI_HFLAG_MV_PATA = 16,\n\tAHCI_HFLAG_NO_MSI = 32,\n\tAHCI_HFLAG_NO_PMP = 64,\n\tAHCI_HFLAG_SECT255 = 256,\n\tAHCI_HFLAG_YES_NCQ = 512,\n\tAHCI_HFLAG_NO_SUSPEND = 1024,\n\tAHCI_HFLAG_SRST_TOUT_IS_OFFLINE = 2048,\n\tAHCI_HFLAG_NO_SNTF = 4096,\n\tAHCI_HFLAG_NO_FPDMA_AA = 8192,\n\tAHCI_HFLAG_YES_FBS = 16384,\n\tAHCI_HFLAG_DELAY_ENGINE = 32768,\n\tAHCI_HFLAG_NO_DEVSLP = 131072,\n\tAHCI_HFLAG_NO_FBS = 262144,\n\tAHCI_HFLAG_MULTI_MSI = 1048576,\n\tAHCI_HFLAG_WAKE_BEFORE_STOP = 4194304,\n\tAHCI_HFLAG_YES_ALPM = 8388608,\n\tAHCI_HFLAG_NO_WRITE_TO_RO = 16777216,\n\tAHCI_HFLAG_SUSPEND_PHYS = 33554432,\n\tAHCI_HFLAG_NO_SXS = 67108864,\n\tAHCI_HFLAG_43BIT_ONLY = 134217728,\n\tAHCI_HFLAG_INTEL_PCS_QUIRK = 268435456,\n\tAHCI_FLAG_COMMON = 393346,\n\tICH_MAP = 144,\n\tPCS_6 = 146,\n\tPCS_7 = 148,\n\tEM_MAX_SLOTS = 15,\n\tEM_MAX_RETRY = 5,\n\tEM_CTL_RST = 512,\n\tEM_CTL_TM = 256,\n\tEM_CTL_MR = 1,\n\tEM_CTL_ALHD = 67108864,\n\tEM_CTL_XMT = 33554432,\n\tEM_CTL_SMB = 16777216,\n\tEM_CTL_SGPIO = 524288,\n\tEM_CTL_SES = 262144,\n\tEM_CTL_SAFTE = 131072,\n\tEM_CTL_LED = 65536,\n\tEM_MSG_TYPE_LED = 1,\n\tEM_MSG_TYPE_SAFTE = 2,\n\tEM_MSG_TYPE_SES2 = 4,\n\tEM_MSG_TYPE_SGPIO = 8,\n};\n\nenum {\n\tAHCI_PCI_BAR_STA2X11 = 0,\n\tAHCI_PCI_BAR_CAVIUM = 0,\n\tAHCI_PCI_BAR_LOONGSON = 0,\n\tAHCI_PCI_BAR_ENMOTUS = 2,\n\tAHCI_PCI_BAR_CAVIUM_GEN5 = 4,\n\tAHCI_PCI_BAR_STANDARD = 5,\n};\n\nenum {\n\tALE_ENT_VID_MEMBER_LIST = 0,\n\tALE_ENT_VID_UNREG_MCAST_MSK = 1,\n\tALE_ENT_VID_REG_MCAST_MSK = 2,\n\tALE_ENT_VID_FORCE_UNTAGGED_MSK = 3,\n\tALE_ENT_VID_UNREG_MCAST_IDX = 4,\n\tALE_ENT_VID_REG_MCAST_IDX = 5,\n\tALE_ENT_VID_LAST = 6,\n};\n\nenum {\n\tAM62A7_EFUSE_M_MPU_OPP = 13,\n\tAM62A7_EFUSE_N_MPU_OPP = 14,\n\tAM62A7_EFUSE_O_MPU_OPP = 15,\n\tAM62A7_EFUSE_P_MPU_OPP = 16,\n\tAM62A7_EFUSE_Q_MPU_OPP = 17,\n\tAM62A7_EFUSE_R_MPU_OPP = 18,\n\tAM62A7_EFUSE_S_MPU_OPP = 19,\n\tAM62A7_EFUSE_V_MPU_OPP = 20,\n\tAM62A7_EFUSE_U_MPU_OPP = 21,\n\tAM62A7_EFUSE_T_MPU_OPP = 22,\n};\n\nenum {\n\tAM65_CPSW_REGDUMP_MOD_NUSS = 1,\n\tAM65_CPSW_REGDUMP_MOD_RGMII_STATUS = 2,\n\tAM65_CPSW_REGDUMP_MOD_MDIO = 3,\n\tAM65_CPSW_REGDUMP_MOD_CPSW = 4,\n\tAM65_CPSW_REGDUMP_MOD_CPSW_P0 = 5,\n\tAM65_CPSW_REGDUMP_MOD_CPSW_P1 = 6,\n\tAM65_CPSW_REGDUMP_MOD_CPSW_CPTS = 7,\n\tAM65_CPSW_REGDUMP_MOD_CPSW_ALE = 8,\n\tAM65_CPSW_REGDUMP_MOD_CPSW_ALE_TBL = 9,\n\tAM65_CPSW_REGDUMP_MOD_LAST = 10,\n};\n\nenum {\n\tAML_FIELD_ACCESS_ANY = 0,\n\tAML_FIELD_ACCESS_BYTE = 1,\n\tAML_FIELD_ACCESS_WORD = 2,\n\tAML_FIELD_ACCESS_DWORD = 3,\n\tAML_FIELD_ACCESS_QWORD = 4,\n\tAML_FIELD_ACCESS_BUFFER = 5,\n};\n\nenum {\n\tAML_FIELD_ATTRIB_QUICK = 2,\n\tAML_FIELD_ATTRIB_SEND_RECEIVE = 4,\n\tAML_FIELD_ATTRIB_BYTE = 6,\n\tAML_FIELD_ATTRIB_WORD = 8,\n\tAML_FIELD_ATTRIB_BLOCK = 10,\n\tAML_FIELD_ATTRIB_BYTES = 11,\n\tAML_FIELD_ATTRIB_PROCESS_CALL = 12,\n\tAML_FIELD_ATTRIB_BLOCK_PROCESS_CALL = 13,\n\tAML_FIELD_ATTRIB_RAW_BYTES = 14,\n\tAML_FIELD_ATTRIB_RAW_PROCESS_BYTES = 15,\n};\n\nenum {\n\tAML_FIELD_UPDATE_PRESERVE = 0,\n\tAML_FIELD_UPDATE_WRITE_AS_ONES = 32,\n\tAML_FIELD_UPDATE_WRITE_AS_ZEROS = 64,\n};\n\nenum {\n\tAPPLE_RTKIT_EP_MGMT = 0,\n\tAPPLE_RTKIT_EP_CRASHLOG = 1,\n\tAPPLE_RTKIT_EP_SYSLOG = 2,\n\tAPPLE_RTKIT_EP_DEBUG = 3,\n\tAPPLE_RTKIT_EP_IOREPORT = 4,\n\tAPPLE_RTKIT_EP_OSLOG = 8,\n};\n\nenum {\n\tAPPLE_RTKIT_MGMT_HELLO = 1,\n\tAPPLE_RTKIT_MGMT_HELLO_REPLY = 2,\n\tAPPLE_RTKIT_MGMT_STARTEP = 5,\n\tAPPLE_RTKIT_MGMT_SET_IOP_PWR_STATE = 6,\n\tAPPLE_RTKIT_MGMT_SET_IOP_PWR_STATE_ACK = 7,\n\tAPPLE_RTKIT_MGMT_EPMAP = 8,\n\tAPPLE_RTKIT_MGMT_EPMAP_REPLY = 8,\n\tAPPLE_RTKIT_MGMT_SET_AP_PWR_STATE = 11,\n\tAPPLE_RTKIT_MGMT_SET_AP_PWR_STATE_ACK = 11,\n};\n\nenum {\n\tAPPLE_RTKIT_PWR_STATE_OFF = 0,\n\tAPPLE_RTKIT_PWR_STATE_SLEEP = 1,\n\tAPPLE_RTKIT_PWR_STATE_IDLE = 513,\n\tAPPLE_RTKIT_PWR_STATE_QUIESCED = 16,\n\tAPPLE_RTKIT_PWR_STATE_ON = 32,\n};\n\nenum {\n\tARB_TIMER = 0,\n\tARB_BP_CAP_CLR = 1,\n\tARB_BP_CAP_HI_ADDR = 2,\n\tARB_BP_CAP_ADDR = 3,\n\tARB_BP_CAP_STATUS = 4,\n\tARB_BP_CAP_MASTER = 5,\n\tARB_ERR_CAP_CLR = 6,\n\tARB_ERR_CAP_HI_ADDR = 7,\n\tARB_ERR_CAP_ADDR = 8,\n\tARB_ERR_CAP_STATUS = 9,\n\tARB_ERR_CAP_MASTER = 10,\n};\n\nenum {\n\tASCII_NULL = 0,\n\tASCII_BELL = 7,\n\tASCII_BACKSPACE = 8,\n\tASCII_IGNORE_FIRST = 8,\n\tASCII_HTAB = 9,\n\tASCII_LINEFEED = 10,\n\tASCII_VTAB = 11,\n\tASCII_FORMFEED = 12,\n\tASCII_CAR_RET = 13,\n\tASCII_IGNORE_LAST = 13,\n\tASCII_SHIFTOUT = 14,\n\tASCII_SHIFTIN = 15,\n\tASCII_CANCEL = 24,\n\tASCII_SUBSTITUTE = 26,\n\tASCII_ESCAPE = 27,\n\tASCII_CSI_IGNORE_FIRST = 32,\n\tASCII_CSI_IGNORE_LAST = 63,\n\tASCII_DEL = 127,\n\tASCII_EXT_CSI = 155,\n};\n\nenum {\n\tASSUME_PERFECT = 255,\n\tASSUME_VALID_DTB = 1,\n\tASSUME_VALID_INPUT = 2,\n\tASSUME_LATEST = 4,\n\tASSUME_NO_ROLLBACK = 8,\n\tASSUME_LIBFDT_ORDER = 16,\n\tASSUME_LIBFDT_FLAWLESS = 32,\n};\n\nenum {\n\tATA_EH_SPDN_NCQ_OFF = 1,\n\tATA_EH_SPDN_SPEED_DOWN = 2,\n\tATA_EH_SPDN_FALLBACK_TO_PIO = 4,\n\tATA_EH_SPDN_KEEP_ERRORS = 8,\n\tATA_EFLAG_IS_IO = 1,\n\tATA_EFLAG_DUBIOUS_XFER = 2,\n\tATA_EFLAG_OLD_ER = -2147483648,\n\tATA_ECAT_NONE = 0,\n\tATA_ECAT_ATA_BUS = 1,\n\tATA_ECAT_TOUT_HSM = 2,\n\tATA_ECAT_UNK_DEV = 3,\n\tATA_ECAT_DUBIOUS_NONE = 4,\n\tATA_ECAT_DUBIOUS_ATA_BUS = 5,\n\tATA_ECAT_DUBIOUS_TOUT_HSM = 6,\n\tATA_ECAT_DUBIOUS_UNK_DEV = 7,\n\tATA_ECAT_NR = 8,\n\tATA_EH_CMD_DFL_TIMEOUT = 5000,\n\tATA_EH_RESET_COOL_DOWN = 5000,\n\tATA_EH_PRERESET_TIMEOUT = 10000,\n\tATA_EH_FASTDRAIN_INTERVAL = 3000,\n\tATA_EH_UA_TRIES = 5,\n\tATA_EH_PROBE_TRIAL_INTERVAL = 60000,\n\tATA_EH_PROBE_TRIALS = 2,\n};\n\nenum {\n\tATA_MAX_DEVICES = 2,\n\tATA_MAX_PRD = 256,\n\tATA_SECT_SIZE = 512,\n\tATA_MAX_SECTORS_128 = 128,\n\tATA_MAX_SECTORS = 256,\n\tATA_MAX_SECTORS_1024 = 1024,\n\tATA_MAX_SECTORS_LBA48 = 65535,\n\tATA_MAX_SECTORS_TAPE = 65535,\n\tATA_MAX_TRIM_RNUM = 64,\n\tATA_ID_WORDS = 256,\n\tATA_ID_CONFIG = 0,\n\tATA_ID_CYLS = 1,\n\tATA_ID_HEADS = 3,\n\tATA_ID_SECTORS = 6,\n\tATA_ID_SERNO = 10,\n\tATA_ID_BUF_SIZE = 21,\n\tATA_ID_FW_REV = 23,\n\tATA_ID_PROD = 27,\n\tATA_ID_MAX_MULTSECT = 47,\n\tATA_ID_DWORD_IO = 48,\n\tATA_ID_TRUSTED = 48,\n\tATA_ID_CAPABILITY = 49,\n\tATA_ID_OLD_PIO_MODES = 51,\n\tATA_ID_OLD_DMA_MODES = 52,\n\tATA_ID_FIELD_VALID = 53,\n\tATA_ID_CUR_CYLS = 54,\n\tATA_ID_CUR_HEADS = 55,\n\tATA_ID_CUR_SECTORS = 56,\n\tATA_ID_MULTSECT = 59,\n\tATA_ID_LBA_CAPACITY = 60,\n\tATA_ID_SWDMA_MODES = 62,\n\tATA_ID_MWDMA_MODES = 63,\n\tATA_ID_PIO_MODES = 64,\n\tATA_ID_EIDE_DMA_MIN = 65,\n\tATA_ID_EIDE_DMA_TIME = 66,\n\tATA_ID_EIDE_PIO = 67,\n\tATA_ID_EIDE_PIO_IORDY = 68,\n\tATA_ID_ADDITIONAL_SUPP = 69,\n\tATA_ID_QUEUE_DEPTH = 75,\n\tATA_ID_SATA_CAPABILITY = 76,\n\tATA_ID_SATA_CAPABILITY_2 = 77,\n\tATA_ID_FEATURE_SUPP = 78,\n\tATA_ID_MAJOR_VER = 80,\n\tATA_ID_COMMAND_SET_1 = 82,\n\tATA_ID_COMMAND_SET_2 = 83,\n\tATA_ID_CFSSE = 84,\n\tATA_ID_CFS_ENABLE_1 = 85,\n\tATA_ID_CFS_ENABLE_2 = 86,\n\tATA_ID_CSF_DEFAULT = 87,\n\tATA_ID_UDMA_MODES = 88,\n\tATA_ID_HW_CONFIG = 93,\n\tATA_ID_SPG = 98,\n\tATA_ID_LBA_CAPACITY_2 = 100,\n\tATA_ID_SECTOR_SIZE = 106,\n\tATA_ID_WWN = 108,\n\tATA_ID_LOGICAL_SECTOR_SIZE = 117,\n\tATA_ID_COMMAND_SET_3 = 119,\n\tATA_ID_COMMAND_SET_4 = 120,\n\tATA_ID_LAST_LUN = 126,\n\tATA_ID_DLF = 128,\n\tATA_ID_CSFO = 129,\n\tATA_ID_CFA_POWER = 160,\n\tATA_ID_CFA_KEY_MGMT = 162,\n\tATA_ID_CFA_MODES = 163,\n\tATA_ID_DATA_SET_MGMT = 169,\n\tATA_ID_SCT_CMD_XPORT = 206,\n\tATA_ID_ROT_SPEED = 217,\n\tATA_ID_PIO4 = 2,\n\tATA_ID_SERNO_LEN = 20,\n\tATA_ID_FW_REV_LEN = 8,\n\tATA_ID_PROD_LEN = 40,\n\tATA_ID_WWN_LEN = 8,\n\tATA_PCI_CTL_OFS = 2,\n\tATA_PIO0 = 1,\n\tATA_PIO1 = 3,\n\tATA_PIO2 = 7,\n\tATA_PIO3 = 15,\n\tATA_PIO4 = 31,\n\tATA_PIO5 = 63,\n\tATA_PIO6 = 127,\n\tATA_PIO4_ONLY = 16,\n\tATA_SWDMA0 = 1,\n\tATA_SWDMA1 = 3,\n\tATA_SWDMA2 = 7,\n\tATA_SWDMA2_ONLY = 4,\n\tATA_MWDMA0 = 1,\n\tATA_MWDMA1 = 3,\n\tATA_MWDMA2 = 7,\n\tATA_MWDMA3 = 15,\n\tATA_MWDMA4 = 31,\n\tATA_MWDMA12_ONLY = 6,\n\tATA_MWDMA2_ONLY = 4,\n\tATA_UDMA0 = 1,\n\tATA_UDMA1 = 3,\n\tATA_UDMA2 = 7,\n\tATA_UDMA3 = 15,\n\tATA_UDMA4 = 31,\n\tATA_UDMA5 = 63,\n\tATA_UDMA6 = 127,\n\tATA_UDMA7 = 255,\n\tATA_UDMA24_ONLY = 20,\n\tATA_UDMA_MASK_40C = 7,\n\tATA_PRD_SZ = 8,\n\tATA_PRD_TBL_SZ = 2048,\n\tATA_PRD_EOT = -2147483648,\n\tATA_DMA_TABLE_OFS = 4,\n\tATA_DMA_STATUS = 2,\n\tATA_DMA_CMD = 0,\n\tATA_DMA_WR = 8,\n\tATA_DMA_START = 1,\n\tATA_DMA_INTR = 4,\n\tATA_DMA_ERR = 2,\n\tATA_DMA_ACTIVE = 1,\n\tATA_HOB = 128,\n\tATA_NIEN = 2,\n\tATA_LBA = 64,\n\tATA_DEV1 = 16,\n\tATA_DEVICE_OBS = 160,\n\tATA_DEVCTL_OBS = 8,\n\tATA_BUSY = 128,\n\tATA_DRDY = 64,\n\tATA_DF = 32,\n\tATA_DSC = 16,\n\tATA_DRQ = 8,\n\tATA_CORR = 4,\n\tATA_SENSE = 2,\n\tATA_ERR = 1,\n\tATA_SRST = 4,\n\tATA_ICRC = 128,\n\tATA_BBK = 128,\n\tATA_UNC = 64,\n\tATA_MC = 32,\n\tATA_IDNF = 16,\n\tATA_MCR = 8,\n\tATA_ABORTED = 4,\n\tATA_TRK0NF = 2,\n\tATA_AMNF = 1,\n\tATAPI_LFS = 240,\n\tATAPI_EOM = 2,\n\tATAPI_ILI = 1,\n\tATAPI_IO = 2,\n\tATAPI_COD = 1,\n\tATA_REG_DATA = 0,\n\tATA_REG_ERR = 1,\n\tATA_REG_NSECT = 2,\n\tATA_REG_LBAL = 3,\n\tATA_REG_LBAM = 4,\n\tATA_REG_LBAH = 5,\n\tATA_REG_DEVICE = 6,\n\tATA_REG_STATUS = 7,\n\tATA_REG_FEATURE = 1,\n\tATA_REG_CMD = 7,\n\tATA_REG_BYTEL = 4,\n\tATA_REG_BYTEH = 5,\n\tATA_REG_DEVSEL = 6,\n\tATA_REG_IRQ = 2,\n\tATA_CMD_DEV_RESET = 8,\n\tATA_CMD_CHK_POWER = 229,\n\tATA_CMD_STANDBY = 226,\n\tATA_CMD_IDLE = 227,\n\tATA_CMD_EDD = 144,\n\tATA_CMD_DOWNLOAD_MICRO = 146,\n\tATA_CMD_DOWNLOAD_MICRO_DMA = 147,\n\tATA_CMD_NOP = 0,\n\tATA_CMD_FLUSH = 231,\n\tATA_CMD_FLUSH_EXT = 234,\n\tATA_CMD_ID_ATA = 236,\n\tATA_CMD_ID_ATAPI = 161,\n\tATA_CMD_SERVICE = 162,\n\tATA_CMD_READ = 200,\n\tATA_CMD_READ_EXT = 37,\n\tATA_CMD_READ_QUEUED = 38,\n\tATA_CMD_READ_STREAM_EXT = 43,\n\tATA_CMD_READ_STREAM_DMA_EXT = 42,\n\tATA_CMD_WRITE = 202,\n\tATA_CMD_WRITE_EXT = 53,\n\tATA_CMD_WRITE_QUEUED = 54,\n\tATA_CMD_WRITE_STREAM_EXT = 59,\n\tATA_CMD_WRITE_STREAM_DMA_EXT = 58,\n\tATA_CMD_WRITE_FUA_EXT = 61,\n\tATA_CMD_WRITE_QUEUED_FUA_EXT = 62,\n\tATA_CMD_FPDMA_READ = 96,\n\tATA_CMD_FPDMA_WRITE = 97,\n\tATA_CMD_NCQ_NON_DATA = 99,\n\tATA_CMD_FPDMA_SEND = 100,\n\tATA_CMD_FPDMA_RECV = 101,\n\tATA_CMD_PIO_READ = 32,\n\tATA_CMD_PIO_READ_EXT = 36,\n\tATA_CMD_PIO_WRITE = 48,\n\tATA_CMD_PIO_WRITE_EXT = 52,\n\tATA_CMD_READ_MULTI = 196,\n\tATA_CMD_READ_MULTI_EXT = 41,\n\tATA_CMD_WRITE_MULTI = 197,\n\tATA_CMD_WRITE_MULTI_EXT = 57,\n\tATA_CMD_WRITE_MULTI_FUA_EXT = 206,\n\tATA_CMD_SET_FEATURES = 239,\n\tATA_CMD_SET_MULTI = 198,\n\tATA_CMD_PACKET = 160,\n\tATA_CMD_VERIFY = 64,\n\tATA_CMD_VERIFY_EXT = 66,\n\tATA_CMD_WRITE_UNCORR_EXT = 69,\n\tATA_CMD_STANDBYNOW1 = 224,\n\tATA_CMD_IDLEIMMEDIATE = 225,\n\tATA_CMD_SLEEP = 230,\n\tATA_CMD_INIT_DEV_PARAMS = 145,\n\tATA_CMD_READ_NATIVE_MAX = 248,\n\tATA_CMD_READ_NATIVE_MAX_EXT = 39,\n\tATA_CMD_SET_MAX = 249,\n\tATA_CMD_SET_MAX_EXT = 55,\n\tATA_CMD_READ_LOG_EXT = 47,\n\tATA_CMD_WRITE_LOG_EXT = 63,\n\tATA_CMD_READ_LOG_DMA_EXT = 71,\n\tATA_CMD_WRITE_LOG_DMA_EXT = 87,\n\tATA_CMD_TRUSTED_NONDATA = 91,\n\tATA_CMD_TRUSTED_RCV = 92,\n\tATA_CMD_TRUSTED_RCV_DMA = 93,\n\tATA_CMD_TRUSTED_SND = 94,\n\tATA_CMD_TRUSTED_SND_DMA = 95,\n\tATA_CMD_PMP_READ = 228,\n\tATA_CMD_PMP_READ_DMA = 233,\n\tATA_CMD_PMP_WRITE = 232,\n\tATA_CMD_PMP_WRITE_DMA = 235,\n\tATA_CMD_CONF_OVERLAY = 177,\n\tATA_CMD_SEC_SET_PASS = 241,\n\tATA_CMD_SEC_UNLOCK = 242,\n\tATA_CMD_SEC_ERASE_PREP = 243,\n\tATA_CMD_SEC_ERASE_UNIT = 244,\n\tATA_CMD_SEC_FREEZE_LOCK = 245,\n\tATA_CMD_SEC_DISABLE_PASS = 246,\n\tATA_CMD_CONFIG_STREAM = 81,\n\tATA_CMD_SMART = 176,\n\tATA_CMD_MEDIA_LOCK = 222,\n\tATA_CMD_MEDIA_UNLOCK = 223,\n\tATA_CMD_DSM = 6,\n\tATA_CMD_CHK_MED_CRD_TYP = 209,\n\tATA_CMD_CFA_REQ_EXT_ERR = 3,\n\tATA_CMD_CFA_WRITE_NE = 56,\n\tATA_CMD_CFA_TRANS_SECT = 135,\n\tATA_CMD_CFA_ERASE = 192,\n\tATA_CMD_CFA_WRITE_MULT_NE = 205,\n\tATA_CMD_REQ_SENSE_DATA = 11,\n\tATA_CMD_SANITIZE_DEVICE = 180,\n\tATA_CMD_ZAC_MGMT_IN = 74,\n\tATA_CMD_ZAC_MGMT_OUT = 159,\n\tATA_CMD_RESTORE = 16,\n\tATA_SUBCMD_FPDMA_RECV_RD_LOG_DMA_EXT = 1,\n\tATA_SUBCMD_FPDMA_RECV_ZAC_MGMT_IN = 2,\n\tATA_SUBCMD_FPDMA_SEND_DSM = 0,\n\tATA_SUBCMD_FPDMA_SEND_WR_LOG_DMA_EXT = 2,\n\tATA_SUBCMD_NCQ_NON_DATA_ABORT_QUEUE = 0,\n\tATA_SUBCMD_NCQ_NON_DATA_SET_FEATURES = 5,\n\tATA_SUBCMD_NCQ_NON_DATA_ZERO_EXT = 6,\n\tATA_SUBCMD_NCQ_NON_DATA_ZAC_MGMT_OUT = 7,\n\tATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES = 0,\n\tATA_SUBCMD_ZAC_MGMT_OUT_CLOSE_ZONE = 1,\n\tATA_SUBCMD_ZAC_MGMT_OUT_FINISH_ZONE = 2,\n\tATA_SUBCMD_ZAC_MGMT_OUT_OPEN_ZONE = 3,\n\tATA_SUBCMD_ZAC_MGMT_OUT_RESET_WRITE_POINTER = 4,\n\tATA_LOG_DIRECTORY = 0,\n\tATA_LOG_SATA_NCQ = 16,\n\tATA_LOG_NCQ_NON_DATA = 18,\n\tATA_LOG_NCQ_SEND_RECV = 19,\n\tATA_LOG_CDL = 24,\n\tATA_LOG_CDL_SIZE = 512,\n\tATA_LOG_IDENTIFY_DEVICE = 48,\n\tATA_LOG_SENSE_NCQ = 15,\n\tATA_LOG_SENSE_NCQ_SIZE = 1024,\n\tATA_LOG_CONCURRENT_POSITIONING_RANGES = 71,\n\tATA_LOG_SUPPORTED_CAPABILITIES = 3,\n\tATA_LOG_CURRENT_SETTINGS = 4,\n\tATA_LOG_SECURITY = 6,\n\tATA_LOG_SATA_SETTINGS = 8,\n\tATA_LOG_ZONED_INFORMATION = 9,\n\tATA_LOG_DEVSLP_OFFSET = 48,\n\tATA_LOG_DEVSLP_SIZE = 8,\n\tATA_LOG_DEVSLP_MDAT = 0,\n\tATA_LOG_DEVSLP_MDAT_MASK = 31,\n\tATA_LOG_DEVSLP_DETO = 1,\n\tATA_LOG_DEVSLP_VALID = 7,\n\tATA_LOG_DEVSLP_VALID_MASK = 128,\n\tATA_LOG_NCQ_PRIO_OFFSET = 9,\n\tATA_LOG_NCQ_SEND_RECV_SUBCMDS_OFFSET = 0,\n\tATA_LOG_NCQ_SEND_RECV_SUBCMDS_DSM = 1,\n\tATA_LOG_NCQ_SEND_RECV_DSM_OFFSET = 4,\n\tATA_LOG_NCQ_SEND_RECV_DSM_TRIM = 1,\n\tATA_LOG_NCQ_SEND_RECV_RD_LOG_OFFSET = 8,\n\tATA_LOG_NCQ_SEND_RECV_RD_LOG_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_WR_LOG_OFFSET = 12,\n\tATA_LOG_NCQ_SEND_RECV_WR_LOG_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OFFSET = 16,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OUT_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_IN_SUPPORTED = 2,\n\tATA_LOG_NCQ_SEND_RECV_SIZE = 20,\n\tATA_LOG_NCQ_NON_DATA_SUBCMDS_OFFSET = 0,\n\tATA_LOG_NCQ_NON_DATA_ABORT_OFFSET = 0,\n\tATA_LOG_NCQ_NON_DATA_ABORT_NCQ = 1,\n\tATA_LOG_NCQ_NON_DATA_ABORT_ALL = 2,\n\tATA_LOG_NCQ_NON_DATA_ABORT_STREAMING = 4,\n\tATA_LOG_NCQ_NON_DATA_ABORT_NON_STREAMING = 8,\n\tATA_LOG_NCQ_NON_DATA_ABORT_SELECTED = 16,\n\tATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OFFSET = 28,\n\tATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OUT = 1,\n\tATA_LOG_NCQ_NON_DATA_SIZE = 64,\n\tATA_CMD_READ_LONG = 34,\n\tATA_CMD_READ_LONG_ONCE = 35,\n\tATA_CMD_WRITE_LONG = 50,\n\tATA_CMD_WRITE_LONG_ONCE = 51,\n\tSETFEATURES_XFER = 3,\n\tXFER_UDMA_7 = 71,\n\tXFER_UDMA_6 = 70,\n\tXFER_UDMA_5 = 69,\n\tXFER_UDMA_4 = 68,\n\tXFER_UDMA_3 = 67,\n\tXFER_UDMA_2 = 66,\n\tXFER_UDMA_1 = 65,\n\tXFER_UDMA_0 = 64,\n\tXFER_MW_DMA_4 = 36,\n\tXFER_MW_DMA_3 = 35,\n\tXFER_MW_DMA_2 = 34,\n\tXFER_MW_DMA_1 = 33,\n\tXFER_MW_DMA_0 = 32,\n\tXFER_SW_DMA_2 = 18,\n\tXFER_SW_DMA_1 = 17,\n\tXFER_SW_DMA_0 = 16,\n\tXFER_PIO_6 = 14,\n\tXFER_PIO_5 = 13,\n\tXFER_PIO_4 = 12,\n\tXFER_PIO_3 = 11,\n\tXFER_PIO_2 = 10,\n\tXFER_PIO_1 = 9,\n\tXFER_PIO_0 = 8,\n\tXFER_PIO_SLOW = 0,\n\tSETFEATURES_WC_ON = 2,\n\tSETFEATURES_WC_OFF = 130,\n\tSETFEATURES_RA_ON = 170,\n\tSETFEATURES_RA_OFF = 85,\n\tSETFEATURES_AAM_ON = 66,\n\tSETFEATURES_AAM_OFF = 194,\n\tSETFEATURES_SPINUP = 7,\n\tSETFEATURES_SPINUP_TIMEOUT = 30000,\n\tSETFEATURES_SATA_ENABLE = 16,\n\tSETFEATURES_SATA_DISABLE = 144,\n\tSETFEATURES_CDL = 13,\n\tSATA_FPDMA_OFFSET = 1,\n\tSATA_FPDMA_AA = 2,\n\tSATA_DIPM = 3,\n\tSATA_FPDMA_IN_ORDER = 4,\n\tSATA_AN = 5,\n\tSATA_SSP = 6,\n\tSATA_DEVSLP = 9,\n\tSETFEATURE_SENSE_DATA = 195,\n\tSETFEATURE_SENSE_DATA_SUCC_NCQ = 196,\n\tATA_SET_MAX_ADDR = 0,\n\tATA_SET_MAX_PASSWD = 1,\n\tATA_SET_MAX_LOCK = 2,\n\tATA_SET_MAX_UNLOCK = 3,\n\tATA_SET_MAX_FREEZE_LOCK = 4,\n\tATA_SET_MAX_PASSWD_DMA = 5,\n\tATA_SET_MAX_UNLOCK_DMA = 6,\n\tATA_DCO_RESTORE = 192,\n\tATA_DCO_FREEZE_LOCK = 193,\n\tATA_DCO_IDENTIFY = 194,\n\tATA_DCO_SET = 195,\n\tATA_SMART_ENABLE = 216,\n\tATA_SMART_READ_VALUES = 208,\n\tATA_SMART_READ_THRESHOLDS = 209,\n\tATA_DSM_TRIM = 1,\n\tATA_SMART_LBAM_PASS = 79,\n\tATA_SMART_LBAH_PASS = 194,\n\tATAPI_PKT_DMA = 1,\n\tATAPI_DMADIR = 4,\n\tATAPI_CDB_LEN = 16,\n\tSATA_PMP_MAX_PORTS = 15,\n\tSATA_PMP_CTRL_PORT = 15,\n\tSATA_PMP_GSCR_DWORDS = 128,\n\tSATA_PMP_GSCR_PROD_ID = 0,\n\tSATA_PMP_GSCR_REV = 1,\n\tSATA_PMP_GSCR_PORT_INFO = 2,\n\tSATA_PMP_GSCR_ERROR = 32,\n\tSATA_PMP_GSCR_ERROR_EN = 33,\n\tSATA_PMP_GSCR_FEAT = 64,\n\tSATA_PMP_GSCR_FEAT_EN = 96,\n\tSATA_PMP_PSCR_STATUS = 0,\n\tSATA_PMP_PSCR_ERROR = 1,\n\tSATA_PMP_PSCR_CONTROL = 2,\n\tSATA_PMP_FEAT_BIST = 1,\n\tSATA_PMP_FEAT_PMREQ = 2,\n\tSATA_PMP_FEAT_DYNSSC = 4,\n\tSATA_PMP_FEAT_NOTIFY = 8,\n\tATA_CBL_NONE = 0,\n\tATA_CBL_PATA40 = 1,\n\tATA_CBL_PATA80 = 2,\n\tATA_CBL_PATA40_SHORT = 3,\n\tATA_CBL_PATA_UNK = 4,\n\tATA_CBL_PATA_IGN = 5,\n\tATA_CBL_SATA = 6,\n\tSCR_STATUS = 0,\n\tSCR_ERROR = 1,\n\tSCR_CONTROL = 2,\n\tSCR_ACTIVE = 3,\n\tSCR_NOTIFICATION = 4,\n\tSERR_DATA_RECOVERED = 1,\n\tSERR_COMM_RECOVERED = 2,\n\tSERR_DATA = 256,\n\tSERR_PERSISTENT = 512,\n\tSERR_PROTOCOL = 1024,\n\tSERR_INTERNAL = 2048,\n\tSERR_PHYRDY_CHG = 65536,\n\tSERR_PHY_INT_ERR = 131072,\n\tSERR_COMM_WAKE = 262144,\n\tSERR_10B_8B_ERR = 524288,\n\tSERR_DISPARITY = 1048576,\n\tSERR_CRC = 2097152,\n\tSERR_HANDSHAKE = 4194304,\n\tSERR_LINK_SEQ_ERR = 8388608,\n\tSERR_TRANS_ST_ERROR = 16777216,\n\tSERR_UNRECOG_FIS = 33554432,\n\tSERR_DEV_XCHG = 67108864,\n};\n\nenum {\n\tATA_READID_POSTRESET = 1,\n\tATA_DNXFER_PIO = 0,\n\tATA_DNXFER_DMA = 1,\n\tATA_DNXFER_40C = 2,\n\tATA_DNXFER_FORCE_PIO = 3,\n\tATA_DNXFER_FORCE_PIO0 = 4,\n\tATA_DNXFER_QUIET = -2147483648,\n};\n\nenum {\n\tAT_PKT_END = -1,\n\tBEYOND_PKT_END = -2,\n};\n\nenum {\n\tAUTOFS_DEV_IOCTL_VERSION_CMD = 113,\n\tAUTOFS_DEV_IOCTL_PROTOVER_CMD = 114,\n\tAUTOFS_DEV_IOCTL_PROTOSUBVER_CMD = 115,\n\tAUTOFS_DEV_IOCTL_OPENMOUNT_CMD = 116,\n\tAUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD = 117,\n\tAUTOFS_DEV_IOCTL_READY_CMD = 118,\n\tAUTOFS_DEV_IOCTL_FAIL_CMD = 119,\n\tAUTOFS_DEV_IOCTL_SETPIPEFD_CMD = 120,\n\tAUTOFS_DEV_IOCTL_CATATONIC_CMD = 121,\n\tAUTOFS_DEV_IOCTL_TIMEOUT_CMD = 122,\n\tAUTOFS_DEV_IOCTL_REQUESTER_CMD = 123,\n\tAUTOFS_DEV_IOCTL_EXPIRE_CMD = 124,\n\tAUTOFS_DEV_IOCTL_ASKUMOUNT_CMD = 125,\n\tAUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD = 126,\n};\n\nenum {\n\tAUTOFS_IOC_EXPIRE_MULTI_CMD = 102,\n\tAUTOFS_IOC_PROTOSUBVER_CMD = 103,\n\tAUTOFS_IOC_ASKUMOUNT_CMD = 112,\n};\n\nenum {\n\tAUTOFS_IOC_READY_CMD = 96,\n\tAUTOFS_IOC_FAIL_CMD = 97,\n\tAUTOFS_IOC_CATATONIC_CMD = 98,\n\tAUTOFS_IOC_PROTOVER_CMD = 99,\n\tAUTOFS_IOC_SETTIMEOUT_CMD = 100,\n\tAUTOFS_IOC_EXPIRE_CMD = 101,\n};\n\nenum {\n\tAX25_VALUES_IPDEFMODE = 0,\n\tAX25_VALUES_AXDEFMODE = 1,\n\tAX25_VALUES_BACKOFF = 2,\n\tAX25_VALUES_CONMODE = 3,\n\tAX25_VALUES_WINDOW = 4,\n\tAX25_VALUES_EWINDOW = 5,\n\tAX25_VALUES_T1 = 6,\n\tAX25_VALUES_T2 = 7,\n\tAX25_VALUES_T3 = 8,\n\tAX25_VALUES_IDLE = 9,\n\tAX25_VALUES_N2 = 10,\n\tAX25_VALUES_PACLEN = 11,\n\tAX25_VALUES_PROTOCOL = 12,\n\tAX25_MAX_VALUES = 13,\n};\n\nenum {\n\tAXP15060_DCDC1 = 0,\n\tAXP15060_DCDC2 = 1,\n\tAXP15060_DCDC3 = 2,\n\tAXP15060_DCDC4 = 3,\n\tAXP15060_DCDC5 = 4,\n\tAXP15060_DCDC6 = 5,\n\tAXP15060_ALDO1 = 6,\n\tAXP15060_ALDO2 = 7,\n\tAXP15060_ALDO3 = 8,\n\tAXP15060_ALDO4 = 9,\n\tAXP15060_ALDO5 = 10,\n\tAXP15060_BLDO1 = 11,\n\tAXP15060_BLDO2 = 12,\n\tAXP15060_BLDO3 = 13,\n\tAXP15060_BLDO4 = 14,\n\tAXP15060_BLDO5 = 15,\n\tAXP15060_CLDO1 = 16,\n\tAXP15060_CLDO2 = 17,\n\tAXP15060_CLDO3 = 18,\n\tAXP15060_CLDO4 = 19,\n\tAXP15060_CPUSLDO = 20,\n\tAXP15060_SW = 21,\n\tAXP15060_RTC_LDO = 22,\n\tAXP15060_REG_ID_MAX = 23,\n};\n\nenum {\n\tAXP152_IRQ_LDO0IN_CONNECT = 1,\n\tAXP152_IRQ_LDO0IN_REMOVAL = 2,\n\tAXP152_IRQ_ALDO0IN_CONNECT = 3,\n\tAXP152_IRQ_ALDO0IN_REMOVAL = 4,\n\tAXP152_IRQ_DCDC1_V_LOW = 5,\n\tAXP152_IRQ_DCDC2_V_LOW = 6,\n\tAXP152_IRQ_DCDC3_V_LOW = 7,\n\tAXP152_IRQ_DCDC4_V_LOW = 8,\n\tAXP152_IRQ_PEK_SHORT = 9,\n\tAXP152_IRQ_PEK_LONG = 10,\n\tAXP152_IRQ_TIMER = 11,\n\tAXP152_IRQ_PEK_FAL_EDGE = 12,\n\tAXP152_IRQ_PEK_RIS_EDGE = 13,\n\tAXP152_IRQ_GPIO3_INPUT = 14,\n\tAXP152_IRQ_GPIO2_INPUT = 15,\n\tAXP152_IRQ_GPIO1_INPUT = 16,\n\tAXP152_IRQ_GPIO0_INPUT = 17,\n};\n\nenum {\n\tAXP20X_IRQ_ACIN_OVER_V = 1,\n\tAXP20X_IRQ_ACIN_PLUGIN = 2,\n\tAXP20X_IRQ_ACIN_REMOVAL = 3,\n\tAXP20X_IRQ_VBUS_OVER_V = 4,\n\tAXP20X_IRQ_VBUS_PLUGIN = 5,\n\tAXP20X_IRQ_VBUS_REMOVAL = 6,\n\tAXP20X_IRQ_VBUS_V_LOW = 7,\n\tAXP20X_IRQ_BATT_PLUGIN = 8,\n\tAXP20X_IRQ_BATT_REMOVAL = 9,\n\tAXP20X_IRQ_BATT_ENT_ACT_MODE = 10,\n\tAXP20X_IRQ_BATT_EXIT_ACT_MODE = 11,\n\tAXP20X_IRQ_CHARG = 12,\n\tAXP20X_IRQ_CHARG_DONE = 13,\n\tAXP20X_IRQ_BATT_TEMP_HIGH = 14,\n\tAXP20X_IRQ_BATT_TEMP_LOW = 15,\n\tAXP20X_IRQ_DIE_TEMP_HIGH = 16,\n\tAXP20X_IRQ_CHARG_I_LOW = 17,\n\tAXP20X_IRQ_DCDC1_V_LONG = 18,\n\tAXP20X_IRQ_DCDC2_V_LONG = 19,\n\tAXP20X_IRQ_DCDC3_V_LONG = 20,\n\tAXP20X_IRQ_PEK_SHORT = 22,\n\tAXP20X_IRQ_PEK_LONG = 23,\n\tAXP20X_IRQ_N_OE_PWR_ON = 24,\n\tAXP20X_IRQ_N_OE_PWR_OFF = 25,\n\tAXP20X_IRQ_VBUS_VALID = 26,\n\tAXP20X_IRQ_VBUS_NOT_VALID = 27,\n\tAXP20X_IRQ_VBUS_SESS_VALID = 28,\n\tAXP20X_IRQ_VBUS_SESS_END = 29,\n\tAXP20X_IRQ_LOW_PWR_LVL1 = 30,\n\tAXP20X_IRQ_LOW_PWR_LVL2 = 31,\n\tAXP20X_IRQ_TIMER = 32,\n\tAXP20X_IRQ_PEK_FAL_EDGE = 33,\n\tAXP20X_IRQ_PEK_RIS_EDGE = 34,\n\tAXP20X_IRQ_GPIO3_INPUT = 35,\n\tAXP20X_IRQ_GPIO2_INPUT = 36,\n\tAXP20X_IRQ_GPIO1_INPUT = 37,\n\tAXP20X_IRQ_GPIO0_INPUT = 38,\n};\n\nenum {\n\tAXP20X_LDO1 = 0,\n\tAXP20X_LDO2 = 1,\n\tAXP20X_LDO3 = 2,\n\tAXP20X_LDO4 = 3,\n\tAXP20X_LDO5 = 4,\n\tAXP20X_DCDC2 = 5,\n\tAXP20X_DCDC3 = 6,\n\tAXP20X_REG_ID_MAX = 7,\n};\n\nenum {\n\tAXP22X_DCDC1 = 0,\n\tAXP22X_DCDC2 = 1,\n\tAXP22X_DCDC3 = 2,\n\tAXP22X_DCDC4 = 3,\n\tAXP22X_DCDC5 = 4,\n\tAXP22X_DC1SW = 5,\n\tAXP22X_DC5LDO = 6,\n\tAXP22X_ALDO1 = 7,\n\tAXP22X_ALDO2 = 8,\n\tAXP22X_ALDO3 = 9,\n\tAXP22X_ELDO1 = 10,\n\tAXP22X_ELDO2 = 11,\n\tAXP22X_ELDO3 = 12,\n\tAXP22X_DLDO1 = 13,\n\tAXP22X_DLDO2 = 14,\n\tAXP22X_DLDO3 = 15,\n\tAXP22X_DLDO4 = 16,\n\tAXP22X_RTC_LDO = 17,\n\tAXP22X_LDO_IO0 = 18,\n\tAXP22X_LDO_IO1 = 19,\n\tAXP22X_REG_ID_MAX = 20,\n};\n\nenum {\n\tAXP313A_DCDC1 = 0,\n\tAXP313A_DCDC2 = 1,\n\tAXP313A_DCDC3 = 2,\n\tAXP313A_ALDO1 = 3,\n\tAXP313A_DLDO1 = 4,\n\tAXP313A_RTC_LDO = 5,\n\tAXP313A_REG_ID_MAX = 6,\n};\n\nenum {\n\tAXP717_DCDC1 = 0,\n\tAXP717_DCDC2 = 1,\n\tAXP717_DCDC3 = 2,\n\tAXP717_DCDC4 = 3,\n\tAXP717_ALDO1 = 4,\n\tAXP717_ALDO2 = 5,\n\tAXP717_ALDO3 = 6,\n\tAXP717_ALDO4 = 7,\n\tAXP717_BLDO1 = 8,\n\tAXP717_BLDO2 = 9,\n\tAXP717_BLDO3 = 10,\n\tAXP717_BLDO4 = 11,\n\tAXP717_CLDO1 = 12,\n\tAXP717_CLDO2 = 13,\n\tAXP717_CLDO3 = 14,\n\tAXP717_CLDO4 = 15,\n\tAXP717_CPUSLDO = 16,\n\tAXP717_BOOST = 17,\n\tAXP717_REG_ID_MAX = 18,\n};\n\nenum {\n\tAXP803_DCDC1 = 0,\n\tAXP803_DCDC2 = 1,\n\tAXP803_DCDC3 = 2,\n\tAXP803_DCDC4 = 3,\n\tAXP803_DCDC5 = 4,\n\tAXP803_DCDC6 = 5,\n\tAXP803_DC1SW = 6,\n\tAXP803_ALDO1 = 7,\n\tAXP803_ALDO2 = 8,\n\tAXP803_ALDO3 = 9,\n\tAXP803_DLDO1 = 10,\n\tAXP803_DLDO2 = 11,\n\tAXP803_DLDO3 = 12,\n\tAXP803_DLDO4 = 13,\n\tAXP803_ELDO1 = 14,\n\tAXP803_ELDO2 = 15,\n\tAXP803_ELDO3 = 16,\n\tAXP803_FLDO1 = 17,\n\tAXP803_FLDO2 = 18,\n\tAXP803_RTC_LDO = 19,\n\tAXP803_LDO_IO0 = 20,\n\tAXP803_LDO_IO1 = 21,\n\tAXP803_REG_ID_MAX = 22,\n};\n\nenum {\n\tAXP806_DCDCA = 0,\n\tAXP806_DCDCB = 1,\n\tAXP806_DCDCC = 2,\n\tAXP806_DCDCD = 3,\n\tAXP806_DCDCE = 4,\n\tAXP806_ALDO1 = 5,\n\tAXP806_ALDO2 = 6,\n\tAXP806_ALDO3 = 7,\n\tAXP806_BLDO1 = 8,\n\tAXP806_BLDO2 = 9,\n\tAXP806_BLDO3 = 10,\n\tAXP806_BLDO4 = 11,\n\tAXP806_CLDO1 = 12,\n\tAXP806_CLDO2 = 13,\n\tAXP806_CLDO3 = 14,\n\tAXP806_SW = 15,\n\tAXP806_REG_ID_MAX = 16,\n};\n\nenum {\n\tAXP809_DCDC1 = 0,\n\tAXP809_DCDC2 = 1,\n\tAXP809_DCDC3 = 2,\n\tAXP809_DCDC4 = 3,\n\tAXP809_DCDC5 = 4,\n\tAXP809_DC1SW = 5,\n\tAXP809_DC5LDO = 6,\n\tAXP809_ALDO1 = 7,\n\tAXP809_ALDO2 = 8,\n\tAXP809_ALDO3 = 9,\n\tAXP809_ELDO1 = 10,\n\tAXP809_ELDO2 = 11,\n\tAXP809_ELDO3 = 12,\n\tAXP809_DLDO1 = 13,\n\tAXP809_DLDO2 = 14,\n\tAXP809_RTC_LDO = 15,\n\tAXP809_LDO_IO0 = 16,\n\tAXP809_LDO_IO1 = 17,\n\tAXP809_SW = 18,\n\tAXP809_REG_ID_MAX = 19,\n};\n\nenum {\n\tAXP813_DCDC1 = 0,\n\tAXP813_DCDC2 = 1,\n\tAXP813_DCDC3 = 2,\n\tAXP813_DCDC4 = 3,\n\tAXP813_DCDC5 = 4,\n\tAXP813_DCDC6 = 5,\n\tAXP813_DCDC7 = 6,\n\tAXP813_ALDO1 = 7,\n\tAXP813_ALDO2 = 8,\n\tAXP813_ALDO3 = 9,\n\tAXP813_DLDO1 = 10,\n\tAXP813_DLDO2 = 11,\n\tAXP813_DLDO3 = 12,\n\tAXP813_DLDO4 = 13,\n\tAXP813_ELDO1 = 14,\n\tAXP813_ELDO2 = 15,\n\tAXP813_ELDO3 = 16,\n\tAXP813_FLDO1 = 17,\n\tAXP813_FLDO2 = 18,\n\tAXP813_FLDO3 = 19,\n\tAXP813_RTC_LDO = 20,\n\tAXP813_LDO_IO0 = 21,\n\tAXP813_LDO_IO1 = 22,\n\tAXP813_SW = 23,\n\tAXP813_REG_ID_MAX = 24,\n};\n\nenum {\n\tAudit_equal = 0,\n\tAudit_not_equal = 1,\n\tAudit_bitmask = 2,\n\tAudit_bittest = 3,\n\tAudit_lt = 4,\n\tAudit_gt = 5,\n\tAudit_le = 6,\n\tAudit_ge = 7,\n\tAudit_bad = 8,\n};\n\nenum {\n\tB28_DPT_INI = 3584,\n\tB28_DPT_VAL = 3588,\n\tB28_DPT_CTRL = 3592,\n\tB28_DPT_TST = 3594,\n};\n\nenum {\n\tB28_Y2_SMB_CONFIG = 3648,\n\tB28_Y2_SMB_CSD_REG = 3652,\n\tB28_Y2_ASF_IRQ_V_BASE = 3680,\n\tB28_Y2_ASF_STAT_CMD = 3688,\n\tB28_Y2_ASF_HOST_COM = 3692,\n\tB28_Y2_DATA_REG_1 = 3696,\n\tB28_Y2_DATA_REG_2 = 3700,\n\tB28_Y2_DATA_REG_3 = 3704,\n\tB28_Y2_DATA_REG_4 = 3708,\n};\n\nenum {\n\tB6_EXT_REG = 768,\n\tB7_CFG_SPC = 896,\n\tB8_RQ1_REGS = 1024,\n\tB8_RQ2_REGS = 1152,\n\tB8_TS1_REGS = 1536,\n\tB8_TA1_REGS = 1664,\n\tB8_TS2_REGS = 1792,\n\tB8_TA2_REGS = 1920,\n\tB16_RAM_REGS = 2048,\n};\n\nenum {\n\tB8_Q_REGS = 1024,\n\tQ_D = 0,\n\tQ_VLAN = 32,\n\tQ_DONE = 36,\n\tQ_AC_L = 40,\n\tQ_AC_H = 44,\n\tQ_BC = 48,\n\tQ_CSR = 52,\n\tQ_TEST = 56,\n\tQ_WM = 64,\n\tQ_AL = 66,\n\tQ_RSP = 68,\n\tQ_RSL = 70,\n\tQ_RP = 72,\n\tQ_RL = 74,\n\tQ_WP = 76,\n\tQ_WSP = 77,\n\tQ_WL = 78,\n\tQ_WSL = 79,\n};\n\nenum {\n\tBASE_GMAC_1 = 10240,\n\tBASE_GMAC_2 = 14336,\n};\n\nenum {\n\tBD71837_REG_BUCK3_CTRL = 7,\n\tBD71837_REG_BUCK4_CTRL = 8,\n\tBD71837_REG_BUCK3_VOLT_RUN = 18,\n\tBD71837_REG_BUCK4_VOLT_RUN = 19,\n\tBD71837_REG_LDO7_VOLT = 30,\n};\n\nenum {\n\tBD718XX_BUCK1 = 0,\n\tBD718XX_BUCK2 = 1,\n\tBD718XX_BUCK3 = 2,\n\tBD718XX_BUCK4 = 3,\n\tBD718XX_BUCK5 = 4,\n\tBD718XX_BUCK6 = 5,\n\tBD718XX_BUCK7 = 6,\n\tBD718XX_BUCK8 = 7,\n\tBD718XX_LDO1 = 8,\n\tBD718XX_LDO2 = 9,\n\tBD718XX_LDO3 = 10,\n\tBD718XX_LDO4 = 11,\n\tBD718XX_LDO5 = 12,\n\tBD718XX_LDO6 = 13,\n\tBD718XX_LDO7 = 14,\n\tBD718XX_REGULATOR_AMOUNT = 15,\n};\n\nenum {\n\tBD718XX_INT_STBY_REQ = 0,\n\tBD718XX_INT_ON_REQ = 1,\n\tBD718XX_INT_WDOG = 2,\n\tBD718XX_INT_PWRBTN = 3,\n\tBD718XX_INT_PWRBTN_L = 4,\n\tBD718XX_INT_PWRBTN_S = 5,\n\tBD718XX_INT_SWRST = 6,\n};\n\nenum {\n\tBD718XX_REG_REV = 0,\n\tBD718XX_REG_SWRESET = 1,\n\tBD718XX_REG_I2C_DEV = 2,\n\tBD718XX_REG_PWRCTRL0 = 3,\n\tBD718XX_REG_PWRCTRL1 = 4,\n\tBD718XX_REG_BUCK1_CTRL = 5,\n\tBD718XX_REG_BUCK2_CTRL = 6,\n\tBD718XX_REG_1ST_NODVS_BUCK_CTRL = 9,\n\tBD718XX_REG_2ND_NODVS_BUCK_CTRL = 10,\n\tBD718XX_REG_3RD_NODVS_BUCK_CTRL = 11,\n\tBD718XX_REG_4TH_NODVS_BUCK_CTRL = 12,\n\tBD718XX_REG_BUCK1_VOLT_RUN = 13,\n\tBD718XX_REG_BUCK1_VOLT_IDLE = 14,\n\tBD718XX_REG_BUCK1_VOLT_SUSP = 15,\n\tBD718XX_REG_BUCK2_VOLT_RUN = 16,\n\tBD718XX_REG_BUCK2_VOLT_IDLE = 17,\n\tBD718XX_REG_1ST_NODVS_BUCK_VOLT = 20,\n\tBD718XX_REG_2ND_NODVS_BUCK_VOLT = 21,\n\tBD718XX_REG_3RD_NODVS_BUCK_VOLT = 22,\n\tBD718XX_REG_4TH_NODVS_BUCK_VOLT = 23,\n\tBD718XX_REG_LDO1_VOLT = 24,\n\tBD718XX_REG_LDO2_VOLT = 25,\n\tBD718XX_REG_LDO3_VOLT = 26,\n\tBD718XX_REG_LDO4_VOLT = 27,\n\tBD718XX_REG_LDO5_VOLT = 28,\n\tBD718XX_REG_LDO6_VOLT = 29,\n\tBD718XX_REG_TRANS_COND0 = 31,\n\tBD718XX_REG_TRANS_COND1 = 32,\n\tBD718XX_REG_VRFAULTEN = 33,\n\tBD718XX_REG_MVRFLTMASK0 = 34,\n\tBD718XX_REG_MVRFLTMASK1 = 35,\n\tBD718XX_REG_MVRFLTMASK2 = 36,\n\tBD718XX_REG_RCVCFG = 37,\n\tBD718XX_REG_RCVNUM = 38,\n\tBD718XX_REG_PWRONCONFIG0 = 39,\n\tBD718XX_REG_PWRONCONFIG1 = 40,\n\tBD718XX_REG_RESETSRC = 41,\n\tBD718XX_REG_MIRQ = 42,\n\tBD718XX_REG_IRQ = 43,\n\tBD718XX_REG_IN_MON = 44,\n\tBD718XX_REG_POW_STATE = 45,\n\tBD718XX_REG_OUT32K = 46,\n\tBD718XX_REG_REGLOCK = 47,\n\tBD718XX_REG_OTPVER = 255,\n\tBD718XX_MAX_REGISTER = 256,\n};\n\nenum {\n\tBIAS = 2147483648,\n};\n\nenum {\n\tBIOSET_NEED_BVECS = 1,\n\tBIOSET_NEED_RESCUER = 2,\n\tBIOSET_PERCPU_CACHE = 4,\n};\n\nenum {\n\tBIO_PAGE_PINNED = 0,\n\tBIO_CLONED = 1,\n\tBIO_BOUNCED = 2,\n\tBIO_QUIET = 3,\n\tBIO_CHAIN = 4,\n\tBIO_REFFED = 5,\n\tBIO_BPS_THROTTLED = 6,\n\tBIO_TRACE_COMPLETION = 7,\n\tBIO_CGROUP_ACCT = 8,\n\tBIO_QOS_THROTTLED = 9,\n\tBIO_QOS_MERGED = 10,\n\tBIO_REMAPPED = 11,\n\tBIO_ZONE_WRITE_PLUGGING = 12,\n\tBIO_EMULATES_ZONE_APPEND = 13,\n\tBIO_FLAG_LAST = 14,\n};\n\nenum {\n\tBLINK_42MS = 0,\n\tBLINK_84MS = 1,\n\tBLINK_170MS = 2,\n\tBLINK_340MS = 3,\n\tBLINK_670MS = 4,\n};\n\nenum {\n\tBLK_MQ_F_TAG_QUEUE_SHARED = 2,\n\tBLK_MQ_F_STACKING = 4,\n\tBLK_MQ_F_TAG_HCTX_SHARED = 8,\n\tBLK_MQ_F_BLOCKING = 16,\n\tBLK_MQ_F_TAG_RR = 32,\n\tBLK_MQ_F_NO_SCHED_BY_DEFAULT = 64,\n\tBLK_MQ_F_MAX = 128,\n};\n\nenum {\n\tBLK_MQ_NO_TAG = 4294967295,\n\tBLK_MQ_TAG_MIN = 1,\n\tBLK_MQ_TAG_MAX = 4294967294,\n};\n\nenum {\n\tBLK_MQ_REQ_NOWAIT = 1,\n\tBLK_MQ_REQ_RESERVED = 2,\n\tBLK_MQ_REQ_PM = 4,\n};\n\nenum {\n\tBLK_MQ_S_STOPPED = 0,\n\tBLK_MQ_S_TAG_ACTIVE = 1,\n\tBLK_MQ_S_SCHED_RESTART = 2,\n\tBLK_MQ_S_INACTIVE = 3,\n\tBLK_MQ_S_MAX = 4,\n};\n\nenum {\n\tBLK_MQ_UNIQUE_TAG_BITS = 16,\n\tBLK_MQ_UNIQUE_TAG_MASK = 65535,\n};\n\nenum {\n\tBLOCK_BITMAP = 0,\n\tINODE_BITMAP = 1,\n\tINODE_TABLE = 2,\n\tGROUP_TABLE_COUNT = 3,\n};\n\nenum {\n\tBMC_NPCM7XX = 0,\n\tBMC_NPCM8XX = 1,\n};\n\nenum {\n\tBMU_IDLE = -2147483648,\n\tBMU_RX_TCP_PKT = 1073741824,\n\tBMU_RX_IP_PKT = 536870912,\n\tBMU_ENA_RX_RSS_HASH = 32768,\n\tBMU_DIS_RX_RSS_HASH = 16384,\n\tBMU_ENA_RX_CHKSUM = 8192,\n\tBMU_DIS_RX_CHKSUM = 4096,\n\tBMU_CLR_IRQ_PAR = 2048,\n\tBMU_CLR_IRQ_TCP = 2048,\n\tBMU_CLR_IRQ_CHK = 1024,\n\tBMU_STOP = 512,\n\tBMU_START = 256,\n\tBMU_FIFO_OP_ON = 128,\n\tBMU_FIFO_OP_OFF = 64,\n\tBMU_FIFO_ENA = 32,\n\tBMU_FIFO_RST = 16,\n\tBMU_OP_ON = 8,\n\tBMU_OP_OFF = 4,\n\tBMU_RST_CLR = 2,\n\tBMU_RST_SET = 1,\n\tBMU_CLR_RESET = 22,\n\tBMU_OPER_INIT = 3368,\n\tBMU_WM_DEFAULT = 1536,\n\tBMU_WM_PEX = 128,\n};\n\nenum {\n\tBOOST_ILMIN_75MA = 0,\n\tBOOST_ILMIN_100MA = 1,\n\tBOOST_ILMIN_125MA = 2,\n\tBOOST_ILMIN_150MA = 3,\n\tBOOST_ILMIN_175MA = 4,\n\tBOOST_ILMIN_200MA = 5,\n\tBOOST_ILMIN_225MA = 6,\n\tBOOST_ILMIN_250MA = 7,\n};\n\nenum {\n\tBPF_ADJ_ROOM_ENCAP_L2_MASK = 255,\n\tBPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56,\n};\n\nenum {\n\tBPF_ANY = 0,\n\tBPF_NOEXIST = 1,\n\tBPF_EXIST = 2,\n\tBPF_F_LOCK = 4,\n};\n\nenum {\n\tBPF_CSUM_LEVEL_QUERY = 0,\n\tBPF_CSUM_LEVEL_INC = 1,\n\tBPF_CSUM_LEVEL_DEC = 2,\n\tBPF_CSUM_LEVEL_RESET = 3,\n};\n\nenum {\n\tBPF_FIB_LKUP_RET_SUCCESS = 0,\n\tBPF_FIB_LKUP_RET_BLACKHOLE = 1,\n\tBPF_FIB_LKUP_RET_UNREACHABLE = 2,\n\tBPF_FIB_LKUP_RET_PROHIBIT = 3,\n\tBPF_FIB_LKUP_RET_NOT_FWDED = 4,\n\tBPF_FIB_LKUP_RET_FWD_DISABLED = 5,\n\tBPF_FIB_LKUP_RET_UNSUPP_LWT = 6,\n\tBPF_FIB_LKUP_RET_NO_NEIGH = 7,\n\tBPF_FIB_LKUP_RET_FRAG_NEEDED = 8,\n\tBPF_FIB_LKUP_RET_NO_SRC_ADDR = 9,\n};\n\nenum {\n\tBPF_FIB_LOOKUP_DIRECT = 1,\n\tBPF_FIB_LOOKUP_OUTPUT = 2,\n\tBPF_FIB_LOOKUP_SKIP_NEIGH = 4,\n\tBPF_FIB_LOOKUP_TBID = 8,\n\tBPF_FIB_LOOKUP_SRC = 16,\n\tBPF_FIB_LOOKUP_MARK = 32,\n};\n\nenum {\n\tBPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 1,\n\tBPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 2,\n\tBPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 4,\n};\n\nenum {\n\tBPF_F_ADJ_ROOM_FIXED_GSO = 1,\n\tBPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 2,\n\tBPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 4,\n\tBPF_F_ADJ_ROOM_ENCAP_L4_GRE = 8,\n\tBPF_F_ADJ_ROOM_ENCAP_L4_UDP = 16,\n\tBPF_F_ADJ_ROOM_NO_CSUM_RESET = 32,\n\tBPF_F_ADJ_ROOM_ENCAP_L2_ETH = 64,\n\tBPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 128,\n\tBPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256,\n};\n\nenum {\n\tBPF_F_GET_BRANCH_RECORDS_SIZE = 1,\n};\n\nenum {\n\tBPF_F_HDR_FIELD_MASK = 15,\n};\n\nenum {\n\tBPF_F_INDEX_MASK = 4294967295ULL,\n\tBPF_F_CURRENT_CPU = 4294967295ULL,\n\tBPF_F_CTXLEN_MASK = 4503595332403200ULL,\n};\n\nenum {\n\tBPF_F_INGRESS = 1,\n\tBPF_F_BROADCAST = 8,\n\tBPF_F_EXCLUDE_INGRESS = 16,\n};\n\nenum {\n\tBPF_F_NEIGH = 65536,\n\tBPF_F_PEER = 131072,\n\tBPF_F_NEXTHOP = 262144,\n};\n\nenum {\n\tBPF_F_NO_PREALLOC = 1,\n\tBPF_F_NO_COMMON_LRU = 2,\n\tBPF_F_NUMA_NODE = 4,\n\tBPF_F_RDONLY = 8,\n\tBPF_F_WRONLY = 16,\n\tBPF_F_STACK_BUILD_ID = 32,\n\tBPF_F_ZERO_SEED = 64,\n\tBPF_F_RDONLY_PROG = 128,\n\tBPF_F_WRONLY_PROG = 256,\n\tBPF_F_CLONE = 512,\n\tBPF_F_MMAPABLE = 1024,\n\tBPF_F_PRESERVE_ELEMS = 2048,\n\tBPF_F_INNER_MAP = 4096,\n\tBPF_F_LINK = 8192,\n\tBPF_F_PATH_FD = 16384,\n\tBPF_F_VTYPE_BTF_OBJ_FD = 32768,\n\tBPF_F_TOKEN_FD = 65536,\n\tBPF_F_SEGV_ON_FAULT = 131072,\n\tBPF_F_NO_USER_CONV = 262144,\n};\n\nenum {\n\tBPF_F_PSEUDO_HDR = 16,\n\tBPF_F_MARK_MANGLED_0 = 32,\n\tBPF_F_MARK_ENFORCE = 64,\n};\n\nenum {\n\tBPF_F_RECOMPUTE_CSUM = 1,\n\tBPF_F_INVALIDATE_HASH = 2,\n};\n\nenum {\n\tBPF_F_SKIP_FIELD_MASK = 255,\n\tBPF_F_USER_STACK = 256,\n\tBPF_F_FAST_STACK_CMP = 512,\n\tBPF_F_REUSE_STACKID = 1024,\n\tBPF_F_USER_BUILD_ID = 2048,\n};\n\nenum {\n\tBPF_F_SYSCTL_BASE_NAME = 1,\n};\n\nenum {\n\tBPF_F_TIMER_ABS = 1,\n\tBPF_F_TIMER_CPU_PIN = 2,\n};\n\nenum {\n\tBPF_F_TUNINFO_FLAGS = 16,\n};\n\nenum {\n\tBPF_F_TUNINFO_IPV6 = 1,\n};\n\nenum {\n\tBPF_F_UPROBE_MULTI_RETURN = 1,\n};\n\nenum {\n\tBPF_F_ZERO_CSUM_TX = 2,\n\tBPF_F_DONT_FRAGMENT = 4,\n\tBPF_F_SEQ_NUMBER = 8,\n\tBPF_F_NO_TUNNEL_KEY = 16,\n};\n\nenum {\n\tBPF_LOAD_HDR_OPT_TCP_SYN = 1,\n};\n\nenum {\n\tBPF_LOCAL_STORAGE_GET_F_CREATE = 1,\n\tBPF_SK_STORAGE_GET_F_CREATE = 1,\n};\n\nenum {\n\tBPF_MAX_LOOPS = 8388608,\n};\n\nenum {\n\tBPF_MAX_TRAMP_LINKS = 38,\n};\n\nenum {\n\tBPF_RB_AVAIL_DATA = 0,\n\tBPF_RB_RING_SIZE = 1,\n\tBPF_RB_CONS_POS = 2,\n\tBPF_RB_PROD_POS = 3,\n};\n\nenum {\n\tBPF_RB_NO_WAKEUP = 1,\n\tBPF_RB_FORCE_WAKEUP = 2,\n};\n\nenum {\n\tBPF_REG_0 = 0,\n\tBPF_REG_1 = 1,\n\tBPF_REG_2 = 2,\n\tBPF_REG_3 = 3,\n\tBPF_REG_4 = 4,\n\tBPF_REG_5 = 5,\n\tBPF_REG_6 = 6,\n\tBPF_REG_7 = 7,\n\tBPF_REG_8 = 8,\n\tBPF_REG_9 = 9,\n\tBPF_REG_10 = 10,\n\t__MAX_BPF_REG = 11,\n};\n\nenum {\n\tBPF_RINGBUF_BUSY_BIT = 2147483648,\n\tBPF_RINGBUF_DISCARD_BIT = 1073741824,\n\tBPF_RINGBUF_HDR_SZ = 8,\n};\n\nenum {\n\tBPF_SKB_TSTAMP_UNSPEC = 0,\n\tBPF_SKB_TSTAMP_DELIVERY_MONO = 1,\n\tBPF_SKB_CLOCK_REALTIME = 0,\n\tBPF_SKB_CLOCK_MONOTONIC = 1,\n\tBPF_SKB_CLOCK_TAI = 2,\n};\n\nenum {\n\tBPF_SK_LOOKUP_F_REPLACE = 1,\n\tBPF_SK_LOOKUP_F_NO_REUSEPORT = 2,\n};\n\nenum {\n\tBPF_SOCK_OPS_RTO_CB_FLAG = 1,\n\tBPF_SOCK_OPS_RETRANS_CB_FLAG = 2,\n\tBPF_SOCK_OPS_STATE_CB_FLAG = 4,\n\tBPF_SOCK_OPS_RTT_CB_FLAG = 8,\n\tBPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 16,\n\tBPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 32,\n\tBPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 64,\n\tBPF_SOCK_OPS_ALL_CB_FLAGS = 127,\n};\n\nenum {\n\tBPF_SOCK_OPS_VOID = 0,\n\tBPF_SOCK_OPS_TIMEOUT_INIT = 1,\n\tBPF_SOCK_OPS_RWND_INIT = 2,\n\tBPF_SOCK_OPS_TCP_CONNECT_CB = 3,\n\tBPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 4,\n\tBPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 5,\n\tBPF_SOCK_OPS_NEEDS_ECN = 6,\n\tBPF_SOCK_OPS_BASE_RTT = 7,\n\tBPF_SOCK_OPS_RTO_CB = 8,\n\tBPF_SOCK_OPS_RETRANS_CB = 9,\n\tBPF_SOCK_OPS_STATE_CB = 10,\n\tBPF_SOCK_OPS_TCP_LISTEN_CB = 11,\n\tBPF_SOCK_OPS_RTT_CB = 12,\n\tBPF_SOCK_OPS_PARSE_HDR_OPT_CB = 13,\n\tBPF_SOCK_OPS_HDR_OPT_LEN_CB = 14,\n\tBPF_SOCK_OPS_WRITE_HDR_OPT_CB = 15,\n};\n\nenum {\n\tBPF_TASK_ITER_ALL_PROCS = 0,\n\tBPF_TASK_ITER_ALL_THREADS = 1,\n\tBPF_TASK_ITER_PROC_THREADS = 2,\n};\n\nenum {\n\tBPF_TCP_ESTABLISHED = 1,\n\tBPF_TCP_SYN_SENT = 2,\n\tBPF_TCP_SYN_RECV = 3,\n\tBPF_TCP_FIN_WAIT1 = 4,\n\tBPF_TCP_FIN_WAIT2 = 5,\n\tBPF_TCP_TIME_WAIT = 6,\n\tBPF_TCP_CLOSE = 7,\n\tBPF_TCP_CLOSE_WAIT = 8,\n\tBPF_TCP_LAST_ACK = 9,\n\tBPF_TCP_LISTEN = 10,\n\tBPF_TCP_CLOSING = 11,\n\tBPF_TCP_NEW_SYN_RECV = 12,\n\tBPF_TCP_BOUND_INACTIVE = 13,\n\tBPF_TCP_MAX_STATES = 14,\n};\n\nenum {\n\tBPF_WRITE_HDR_TCP_CURRENT_MSS = 1,\n\tBPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2,\n};\n\nenum {\n\tBR_MCAST_DIR_RX = 0,\n\tBR_MCAST_DIR_TX = 1,\n\tBR_MCAST_DIR_SIZE = 2,\n};\n\nenum {\n\tBTF_FIELDS_MAX = 11,\n};\n\nenum {\n\tBTF_FIELD_IGNORE = 0,\n\tBTF_FIELD_FOUND = 1,\n};\n\nenum {\n\tBTF_F_COMPACT = 1,\n\tBTF_F_NONAME = 2,\n\tBTF_F_PTR_RAW = 4,\n\tBTF_F_ZERO = 8,\n};\n\nenum {\n\tBTF_KFUNC_SET_MAX_CNT = 256,\n\tBTF_DTOR_KFUNC_MAX_CNT = 256,\n\tBTF_KFUNC_FILTER_MAX_CNT = 16,\n};\n\nenum {\n\tBTF_KIND_UNKN = 0,\n\tBTF_KIND_INT = 1,\n\tBTF_KIND_PTR = 2,\n\tBTF_KIND_ARRAY = 3,\n\tBTF_KIND_STRUCT = 4,\n\tBTF_KIND_UNION = 5,\n\tBTF_KIND_ENUM = 6,\n\tBTF_KIND_FWD = 7,\n\tBTF_KIND_TYPEDEF = 8,\n\tBTF_KIND_VOLATILE = 9,\n\tBTF_KIND_CONST = 10,\n\tBTF_KIND_RESTRICT = 11,\n\tBTF_KIND_FUNC = 12,\n\tBTF_KIND_FUNC_PROTO = 13,\n\tBTF_KIND_VAR = 14,\n\tBTF_KIND_DATASEC = 15,\n\tBTF_KIND_FLOAT = 16,\n\tBTF_KIND_DECL_TAG = 17,\n\tBTF_KIND_TYPE_TAG = 18,\n\tBTF_KIND_ENUM64 = 19,\n\tNR_BTF_KINDS = 20,\n\tBTF_KIND_MAX = 19,\n};\n\nenum {\n\tBTF_MODULE_F_LIVE = 1,\n};\n\nenum {\n\tBTF_SOCK_TYPE_INET = 0,\n\tBTF_SOCK_TYPE_INET_CONN = 1,\n\tBTF_SOCK_TYPE_INET_REQ = 2,\n\tBTF_SOCK_TYPE_INET_TW = 3,\n\tBTF_SOCK_TYPE_REQ = 4,\n\tBTF_SOCK_TYPE_SOCK = 5,\n\tBTF_SOCK_TYPE_SOCK_COMMON = 6,\n\tBTF_SOCK_TYPE_TCP = 7,\n\tBTF_SOCK_TYPE_TCP_REQ = 8,\n\tBTF_SOCK_TYPE_TCP_TW = 9,\n\tBTF_SOCK_TYPE_TCP6 = 10,\n\tBTF_SOCK_TYPE_UDP = 11,\n\tBTF_SOCK_TYPE_UDP6 = 12,\n\tBTF_SOCK_TYPE_UNIX = 13,\n\tBTF_SOCK_TYPE_MPTCP = 14,\n\tBTF_SOCK_TYPE_SOCKET = 15,\n\tMAX_BTF_SOCK_TYPE = 16,\n};\n\nenum {\n\tBTF_TRACING_TYPE_TASK = 0,\n\tBTF_TRACING_TYPE_FILE = 1,\n\tBTF_TRACING_TYPE_VMA = 2,\n\tMAX_BTF_TRACING_TYPE = 3,\n};\n\nenum {\n\tBTF_VAR_STATIC = 0,\n\tBTF_VAR_GLOBAL_ALLOCATED = 1,\n\tBTF_VAR_GLOBAL_EXTERN = 2,\n};\n\nenum {\n\tBUCK_ILMIN_50MA = 0,\n\tBUCK_ILMIN_100MA = 1,\n\tBUCK_ILMIN_150MA = 2,\n\tBUCK_ILMIN_200MA = 3,\n\tBUCK_ILMIN_250MA = 4,\n\tBUCK_ILMIN_300MA = 5,\n\tBUCK_ILMIN_350MA = 6,\n\tBUCK_ILMIN_400MA = 7,\n};\n\nenum {\n\tCACHE_VALID = 0,\n\tCACHE_NEGATIVE = 1,\n\tCACHE_PENDING = 2,\n\tCACHE_CLEANED = 3,\n};\n\nenum {\n\tCAP_HWCAP = 1,\n\tCAP_COMPAT_HWCAP = 2,\n\tCAP_COMPAT_HWCAP2 = 3,\n};\n\nenum {\n\tCBF_XO_INDEX = 0,\n\tCBF_PLL_INDEX = 1,\n\tCBF_DIV_INDEX = 2,\n\tCBF_APCS_AUX_INDEX = 3,\n};\n\nenum {\n\tCFG_CHIP_R_MSK = 240,\n\tCFG_DIS_M2_CLK = 2,\n\tCFG_SNG_MAC = 1,\n};\n\nenum {\n\tCFG_LED_MODE_MSK = 28,\n\tCFG_LINK_2_AVAIL = 2,\n\tCFG_LINK_1_AVAIL = 1,\n};\n\nenum {\n\tCFG_PRE_INIT = 0,\n\tCFG_POST_INIT = 1,\n\tCFG_PRE_PWR_HS = 2,\n\tCFG_POST_PWR_HS = 3,\n\tCFG_TAG_MAX = 4,\n};\n\nenum {\n\tCFTYPE_ONLY_ON_ROOT = 1,\n\tCFTYPE_NOT_ON_ROOT = 2,\n\tCFTYPE_NS_DELEGATABLE = 4,\n\tCFTYPE_NO_PREFIX = 8,\n\tCFTYPE_WORLD_WRITABLE = 16,\n\tCFTYPE_DEBUG = 32,\n\t__CFTYPE_ONLY_ON_DFL = 65536,\n\t__CFTYPE_NOT_ON_DFL = 131072,\n\t__CFTYPE_ADDED = 262144,\n};\n\nenum {\n\tCGROUPSTATS_CMD_ATTR_UNSPEC = 0,\n\tCGROUPSTATS_CMD_ATTR_FD = 1,\n\t__CGROUPSTATS_CMD_ATTR_MAX = 2,\n};\n\nenum {\n\tCGROUPSTATS_CMD_UNSPEC = 3,\n\tCGROUPSTATS_CMD_GET = 4,\n\tCGROUPSTATS_CMD_NEW = 5,\n\t__CGROUPSTATS_CMD_MAX = 6,\n};\n\nenum {\n\tCGROUPSTATS_TYPE_UNSPEC = 0,\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 1,\n\t__CGROUPSTATS_TYPE_MAX = 2,\n};\n\nenum {\n\tCGRP_NOTIFY_ON_RELEASE = 0,\n\tCGRP_CPUSET_CLONE_CHILDREN = 1,\n\tCGRP_FREEZE = 2,\n\tCGRP_FROZEN = 3,\n};\n\nenum {\n\tCGRP_ROOT_NOPREFIX = 2,\n\tCGRP_ROOT_XATTR = 4,\n\tCGRP_ROOT_NS_DELEGATE = 8,\n\tCGRP_ROOT_FAVOR_DYNMODS = 16,\n\tCGRP_ROOT_CPUSET_V2_MODE = 65536,\n\tCGRP_ROOT_MEMORY_LOCAL_EVENTS = 131072,\n\tCGRP_ROOT_MEMORY_RECURSIVE_PROT = 262144,\n\tCGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING = 524288,\n\tCGRP_ROOT_PIDS_LOCAL_EVENTS = 1048576,\n};\n\nenum {\n\tCHIP_ID_YUKON_XL = 179,\n\tCHIP_ID_YUKON_EC_U = 180,\n\tCHIP_ID_YUKON_EX = 181,\n\tCHIP_ID_YUKON_EC = 182,\n\tCHIP_ID_YUKON_FE = 183,\n\tCHIP_ID_YUKON_FE_P = 184,\n\tCHIP_ID_YUKON_SUPR = 185,\n\tCHIP_ID_YUKON_UL_2 = 186,\n\tCHIP_ID_YUKON_OPT = 188,\n\tCHIP_ID_YUKON_PRM = 189,\n\tCHIP_ID_YUKON_OP_2 = 190,\n};\n\nenum {\n\tCLK_ALPHA_PLL_TYPE_DEFAULT = 0,\n\tCLK_ALPHA_PLL_TYPE_HUAYRA = 1,\n\tCLK_ALPHA_PLL_TYPE_HUAYRA_APSS = 2,\n\tCLK_ALPHA_PLL_TYPE_HUAYRA_2290 = 3,\n\tCLK_ALPHA_PLL_TYPE_BRAMMO = 4,\n\tCLK_ALPHA_PLL_TYPE_FABIA = 5,\n\tCLK_ALPHA_PLL_TYPE_TRION = 6,\n\tCLK_ALPHA_PLL_TYPE_LUCID = 6,\n\tCLK_ALPHA_PLL_TYPE_AGERA = 7,\n\tCLK_ALPHA_PLL_TYPE_ZONDA = 8,\n\tCLK_ALPHA_PLL_TYPE_REGERA = 8,\n\tCLK_ALPHA_PLL_TYPE_ZONDA_OLE = 9,\n\tCLK_ALPHA_PLL_TYPE_LUCID_EVO = 10,\n\tCLK_ALPHA_PLL_TYPE_LUCID_OLE = 11,\n\tCLK_ALPHA_PLL_TYPE_PONGO_ELU = 12,\n\tCLK_ALPHA_PLL_TYPE_TAYCAN_ELU = 13,\n\tCLK_ALPHA_PLL_TYPE_RIVIAN_EVO = 14,\n\tCLK_ALPHA_PLL_TYPE_DEFAULT_EVO = 15,\n\tCLK_ALPHA_PLL_TYPE_BRAMMO_EVO = 16,\n\tCLK_ALPHA_PLL_TYPE_STROMER = 17,\n\tCLK_ALPHA_PLL_TYPE_STROMER_PLUS = 18,\n\tCLK_ALPHA_PLL_TYPE_NSS_HUAYRA = 19,\n\tCLK_ALPHA_PLL_TYPE_MAX = 20,\n};\n\nenum {\n\tCLK_QSPI_APB = 0,\n\tCLK_QSPI_AHB = 1,\n\tCLK_QSPI_NUM = 2,\n};\n\nenum {\n\tCMD_CLK_GET_RATE = 1,\n\tCMD_CLK_SET_RATE = 2,\n\tCMD_CLK_ROUND_RATE = 3,\n\tCMD_CLK_GET_PARENT = 4,\n\tCMD_CLK_SET_PARENT = 5,\n\tCMD_CLK_IS_ENABLED = 6,\n\tCMD_CLK_ENABLE = 7,\n\tCMD_CLK_DISABLE = 8,\n\tCMD_CLK_PROPERTIES = 9,\n\tCMD_CLK_POSSIBLE_PARENTS = 10,\n\tCMD_CLK_NUM_POSSIBLE_PARENTS = 11,\n\tCMD_CLK_GET_POSSIBLE_PARENT = 12,\n\tCMD_CLK_RESET_REFCOUNTS = 13,\n\tCMD_CLK_GET_ALL_INFO = 14,\n\tCMD_CLK_GET_MAX_CLK_ID = 15,\n\tCMD_CLK_GET_FMAX_AT_VMIN = 16,\n\tCMD_CLK_MAX = 17,\n};\n\nenum {\n\tCMD_I2C_XFER = 1,\n};\n\nenum {\n\tCMIS_MODULE_LOW_PWR = 1,\n\tCMIS_MODULE_READY = 3,\n};\n\nenum {\n\tCP110_CLK_TYPE_CORE = 0,\n\tCP110_CLK_TYPE_GATABLE = 1,\n};\n\nenum {\n\tCPER_SEV_RECOVERABLE = 0,\n\tCPER_SEV_FATAL = 1,\n\tCPER_SEV_CORRECTED = 2,\n\tCPER_SEV_INFORMATIONAL = 3,\n};\n\nenum {\n\tCPORT_IDLE = 0,\n\tCPORT_CONNECTED = 1,\n};\n\nenum {\n\tCPSW_ALE_F_STATUS_REG = 1,\n\tCPSW_ALE_F_HW_AUTOAGING = 2,\n\tCPSW_ALE_F_COUNT = 3,\n};\n\nenum {\n\tCPSW_SL_CTL_FULLDUPLEX = 1,\n\tCPSW_SL_CTL_LOOPBACK = 2,\n\tCPSW_SL_CTL_MTEST = 4,\n\tCPSW_SL_CTL_RX_FLOW_EN = 8,\n\tCPSW_SL_CTL_TX_FLOW_EN = 16,\n\tCPSW_SL_CTL_GMII_EN = 32,\n\tCPSW_SL_CTL_TX_PACE = 64,\n\tCPSW_SL_CTL_GIG = 128,\n\tCPSW_SL_CTL_XGIG = 256,\n\tCPSW_SL_CTL_TX_SHORT_GAP_EN = 1024,\n\tCPSW_SL_CTL_CMD_IDLE = 2048,\n\tCPSW_SL_CTL_CRC_TYPE = 4096,\n\tCPSW_SL_CTL_XGMII_EN = 8192,\n\tCPSW_SL_CTL_IFCTL_A = 32768,\n\tCPSW_SL_CTL_IFCTL_B = 65536,\n\tCPSW_SL_CTL_GIG_FORCE = 131072,\n\tCPSW_SL_CTL_EXT_EN = 262144,\n\tCPSW_SL_CTL_EXT_EN_RX_FLO = 524288,\n\tCPSW_SL_CTL_EXT_EN_TX_FLO = 1048576,\n\tCPSW_SL_CTL_TX_SG_LIM_EN = 2097152,\n\tCPSW_SL_CTL_RX_CEF_EN = 4194304,\n\tCPSW_SL_CTL_RX_CSF_EN = 8388608,\n\tCPSW_SL_CTL_RX_CMF_EN = 16777216,\n\tCPSW_SL_CTL_EXT_EN_XGIG = 33554432,\n\tCPSW_SL_CTL_FUNCS_COUNT = 33554433,\n};\n\nenum {\n\tCPU_WDOG = 3656,\n\tCPU_CNTR = 3660,\n\tCPU_TIM = 3664,\n\tCPU_AHB_ADDR = 3668,\n\tCPU_AHB_WDATA = 3672,\n\tCPU_AHB_RDATA = 3676,\n\tHCU_MAP_BASE = 3680,\n\tCPU_AHB_CTRL = 3684,\n\tHCU_CCSR = 3688,\n\tHCU_HCSR = 3692,\n};\n\nenum {\n\tCRNG_EMPTY = 0,\n\tCRNG_EARLY = 1,\n\tCRNG_READY = 2,\n};\n\nenum {\n\tCRNG_RESEED_START_INTERVAL = 250,\n\tCRNG_RESEED_INTERVAL = 15000,\n};\n\nenum {\n\tCROS_EC_SENSOR_LAST_TS = 0,\n\tCROS_EC_SENSOR_NEW_TS = 1,\n\tCROS_EC_SENSOR_ALL_TS = 2,\n};\n\nenum {\n\tCRYPTOA_UNSPEC = 0,\n\tCRYPTOA_ALG = 1,\n\tCRYPTOA_TYPE = 2,\n\t__CRYPTOA_MAX = 3,\n};\n\nenum {\n\tCRYPTO_MSG_ALG_REQUEST = 0,\n\tCRYPTO_MSG_ALG_REGISTER = 1,\n\tCRYPTO_MSG_ALG_LOADED = 2,\n};\n\nenum {\n\tCRYPTO_MSG_BASE = 16,\n\tCRYPTO_MSG_NEWALG = 16,\n\tCRYPTO_MSG_DELALG = 17,\n\tCRYPTO_MSG_UPDATEALG = 18,\n\tCRYPTO_MSG_GETALG = 19,\n\tCRYPTO_MSG_DELRNG = 20,\n\tCRYPTO_MSG_GETSTAT = 21,\n\t__CRYPTO_MSG_MAX = 22,\n};\n\nenum {\n\tCSD_FLAG_LOCK = 1,\n\tIRQ_WORK_PENDING = 1,\n\tIRQ_WORK_BUSY = 2,\n\tIRQ_WORK_LAZY = 4,\n\tIRQ_WORK_HARD_IRQ = 8,\n\tIRQ_WORK_CLAIMED = 3,\n\tCSD_TYPE_ASYNC = 0,\n\tCSD_TYPE_SYNC = 16,\n\tCSD_TYPE_IRQ_WORK = 32,\n\tCSD_TYPE_TTWU = 48,\n\tCSD_FLAG_TYPE_MASK = 240,\n};\n\nenum {\n\tCSI_DEC_hl_CURSOR_KEYS = 1,\n\tCSI_DEC_hl_132_COLUMNS = 3,\n\tCSI_DEC_hl_REVERSE_VIDEO = 5,\n\tCSI_DEC_hl_ORIGIN_MODE = 6,\n\tCSI_DEC_hl_AUTOWRAP = 7,\n\tCSI_DEC_hl_AUTOREPEAT = 8,\n\tCSI_DEC_hl_MOUSE_X10 = 9,\n\tCSI_DEC_hl_SHOW_CURSOR = 25,\n\tCSI_DEC_hl_MOUSE_VT200 = 1000,\n};\n\nenum {\n\tCSI_K_CURSOR_TO_LINEEND = 0,\n\tCSI_K_LINESTART_TO_CURSOR = 1,\n\tCSI_K_LINE = 2,\n};\n\nenum {\n\tCSI_hl_DISPLAY_CTRL = 3,\n\tCSI_hl_INSERT = 4,\n\tCSI_hl_AUTO_NL = 20,\n};\n\nenum {\n\tCSI_m_DEFAULT = 0,\n\tCSI_m_BOLD = 1,\n\tCSI_m_HALF_BRIGHT = 2,\n\tCSI_m_ITALIC = 3,\n\tCSI_m_UNDERLINE = 4,\n\tCSI_m_BLINK = 5,\n\tCSI_m_REVERSE = 7,\n\tCSI_m_PRI_FONT = 10,\n\tCSI_m_ALT_FONT1 = 11,\n\tCSI_m_ALT_FONT2 = 12,\n\tCSI_m_DOUBLE_UNDERLINE = 21,\n\tCSI_m_NORMAL_INTENSITY = 22,\n\tCSI_m_NO_ITALIC = 23,\n\tCSI_m_NO_UNDERLINE = 24,\n\tCSI_m_NO_BLINK = 25,\n\tCSI_m_NO_REVERSE = 27,\n\tCSI_m_FG_COLOR_BEG = 30,\n\tCSI_m_FG_COLOR_END = 37,\n\tCSI_m_FG_COLOR = 38,\n\tCSI_m_DEFAULT_FG_COLOR = 39,\n\tCSI_m_BG_COLOR_BEG = 40,\n\tCSI_m_BG_COLOR_END = 47,\n\tCSI_m_BG_COLOR = 48,\n\tCSI_m_DEFAULT_BG_COLOR = 49,\n\tCSI_m_BRIGHT_FG_COLOR_BEG = 90,\n\tCSI_m_BRIGHT_FG_COLOR_END = 97,\n\tCSI_m_BRIGHT_FG_COLOR_OFF = 60,\n\tCSI_m_BRIGHT_BG_COLOR_BEG = 100,\n\tCSI_m_BRIGHT_BG_COLOR_END = 107,\n\tCSI_m_BRIGHT_BG_COLOR_OFF = 60,\n};\n\nenum {\n\tCSS_NO_REF = 1,\n\tCSS_ONLINE = 2,\n\tCSS_RELEASED = 4,\n\tCSS_VISIBLE = 8,\n\tCSS_DYING = 16,\n};\n\nenum {\n\tCSS_TASK_ITER_PROCS = 1,\n\tCSS_TASK_ITER_THREADED = 2,\n\tCSS_TASK_ITER_SKIPPED = 65536,\n};\n\nenum {\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0,\n\tCTRL_ATTR_MCAST_GRP_NAME = 1,\n\tCTRL_ATTR_MCAST_GRP_ID = 2,\n\t__CTRL_ATTR_MCAST_GRP_MAX = 3,\n};\n\nenum {\n\tCTRL_ATTR_OP_UNSPEC = 0,\n\tCTRL_ATTR_OP_ID = 1,\n\tCTRL_ATTR_OP_FLAGS = 2,\n\t__CTRL_ATTR_OP_MAX = 3,\n};\n\nenum {\n\tCTRL_ATTR_POLICY_UNSPEC = 0,\n\tCTRL_ATTR_POLICY_DO = 1,\n\tCTRL_ATTR_POLICY_DUMP = 2,\n\t__CTRL_ATTR_POLICY_DUMP_MAX = 3,\n\tCTRL_ATTR_POLICY_DUMP_MAX = 2,\n};\n\nenum {\n\tCTRL_ATTR_UNSPEC = 0,\n\tCTRL_ATTR_FAMILY_ID = 1,\n\tCTRL_ATTR_FAMILY_NAME = 2,\n\tCTRL_ATTR_VERSION = 3,\n\tCTRL_ATTR_HDRSIZE = 4,\n\tCTRL_ATTR_MAXATTR = 5,\n\tCTRL_ATTR_OPS = 6,\n\tCTRL_ATTR_MCAST_GROUPS = 7,\n\tCTRL_ATTR_POLICY = 8,\n\tCTRL_ATTR_OP_POLICY = 9,\n\tCTRL_ATTR_OP = 10,\n\t__CTRL_ATTR_MAX = 11,\n};\n\nenum {\n\tCTRL_CMD_UNSPEC = 0,\n\tCTRL_CMD_NEWFAMILY = 1,\n\tCTRL_CMD_DELFAMILY = 2,\n\tCTRL_CMD_GETFAMILY = 3,\n\tCTRL_CMD_NEWOPS = 4,\n\tCTRL_CMD_DELOPS = 5,\n\tCTRL_CMD_GETOPS = 6,\n\tCTRL_CMD_NEWMCAST_GRP = 7,\n\tCTRL_CMD_DELMCAST_GRP = 8,\n\tCTRL_CMD_GETMCAST_GRP = 9,\n\tCTRL_CMD_GETPOLICY = 10,\n\t__CTRL_CMD_MAX = 11,\n};\n\nenum {\n\tDD_DIR_COUNT = 2,\n};\n\nenum {\n\tDD_PRIO_COUNT = 3,\n};\n\nenum {\n\tDEVLINK_ATTR_STATS_RX_PACKETS = 0,\n\tDEVLINK_ATTR_STATS_RX_BYTES = 1,\n\tDEVLINK_ATTR_STATS_RX_DROPPED = 2,\n\t__DEVLINK_ATTR_STATS_MAX = 3,\n\tDEVLINK_ATTR_STATS_MAX = 2,\n};\n\nenum {\n\tDEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT = 0,\n\tDEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE = 1,\n};\n\nenum {\n\tDEV_ID = 0,\n\tPEER_DEV_ID = 1,\n\tPEER_CPORT_ID = 0,\n\tTRAFFIC_CLASS = 0,\n};\n\nenum {\n\tDIO_LOCKING = 1,\n\tDIO_SKIP_HOLES = 2,\n};\n\nenum {\n\tDIO_SHOULD_DIRTY = 1,\n\tDIO_IS_SYNC = 2,\n};\n\nenum {\n\tDIR_OFFSET_FIRST = 2,\n\tDIR_OFFSET_EOD = 2147483647,\n};\n\nenum {\n\tDIR_OFFSET_MIN = 3,\n\tDIR_OFFSET_MAX = 2147483646,\n};\n\nenum {\n\tDISCOVERED = 16,\n\tEXPLORED = 32,\n\tFALLTHROUGH = 1,\n\tBRANCH = 2,\n};\n\nenum {\n\tDISK_EVENT_FLAG_POLL = 1,\n\tDISK_EVENT_FLAG_UEVENT = 2,\n\tDISK_EVENT_FLAG_BLOCK_ON_EXCL_WRITE = 4,\n};\n\nenum {\n\tDISK_EVENT_MEDIA_CHANGE = 1,\n\tDISK_EVENT_EJECT_REQUEST = 2,\n};\n\nenum {\n\tDMA_TX_ERR_BASE = 0,\n\tDMA_RX_ERR_BASE = 256,\n\tTRANS_TX_FAIL_BASE = 512,\n\tTRANS_RX_FAIL_BASE = 768,\n\tDMA_TX_DIF_CRC_ERR = 0,\n\tDMA_TX_DIF_APP_ERR = 1,\n\tDMA_TX_DIF_RPP_ERR = 2,\n\tDMA_TX_AXI_BUS_ERR = 3,\n\tDMA_TX_DATA_SGL_OVERFLOW_ERR = 4,\n\tDMA_TX_DIF_SGL_OVERFLOW_ERR = 5,\n\tDMA_TX_UNEXP_XFER_RDY_ERR = 6,\n\tDMA_TX_XFER_RDY_OFFSET_ERR = 7,\n\tDMA_TX_DATA_UNDERFLOW_ERR = 8,\n\tDMA_TX_XFER_RDY_LENGTH_OVERFLOW_ERR = 9,\n\tDMA_RX_BUFFER_ECC_ERR = 256,\n\tDMA_RX_DIF_CRC_ERR = 257,\n\tDMA_RX_DIF_APP_ERR = 258,\n\tDMA_RX_DIF_RPP_ERR = 259,\n\tDMA_RX_RESP_BUFFER_OVERFLOW_ERR = 260,\n\tDMA_RX_AXI_BUS_ERR = 261,\n\tDMA_RX_DATA_SGL_OVERFLOW_ERR = 262,\n\tDMA_RX_DIF_SGL_OVERFLOW_ERR = 263,\n\tDMA_RX_DATA_OFFSET_ERR = 264,\n\tDMA_RX_UNEXP_RX_DATA_ERR = 265,\n\tDMA_RX_DATA_OVERFLOW_ERR = 266,\n\tDMA_RX_DATA_UNDERFLOW_ERR = 267,\n\tDMA_RX_UNEXP_RETRANS_RESP_ERR = 268,\n\tTRANS_TX_RSVD0_ERR = 512,\n\tTRANS_TX_PHY_NOT_ENABLE_ERR = 513,\n\tTRANS_TX_OPEN_REJCT_WRONG_DEST_ERR = 514,\n\tTRANS_TX_OPEN_REJCT_ZONE_VIOLATION_ERR = 515,\n\tTRANS_TX_OPEN_REJCT_BY_OTHER_ERR = 516,\n\tTRANS_TX_RSVD1_ERR = 517,\n\tTRANS_TX_OPEN_REJCT_AIP_TIMEOUT_ERR = 518,\n\tTRANS_TX_OPEN_REJCT_STP_BUSY_ERR = 519,\n\tTRANS_TX_OPEN_REJCT_PROTOCOL_NOT_SUPPORT_ERR = 520,\n\tTRANS_TX_OPEN_REJCT_RATE_NOT_SUPPORT_ERR = 521,\n\tTRANS_TX_OPEN_REJCT_BAD_DEST_ERR = 522,\n\tTRANS_TX_OPEN_BREAK_RECEIVE_ERR = 523,\n\tTRANS_TX_LOW_PHY_POWER_ERR = 524,\n\tTRANS_TX_OPEN_REJCT_PATHWAY_BLOCKED_ERR = 525,\n\tTRANS_TX_OPEN_TIMEOUT_ERR = 526,\n\tTRANS_TX_OPEN_REJCT_NO_DEST_ERR = 527,\n\tTRANS_TX_OPEN_RETRY_ERR = 528,\n\tTRANS_TX_RSVD2_ERR = 529,\n\tTRANS_TX_BREAK_TIMEOUT_ERR = 530,\n\tTRANS_TX_BREAK_REQUEST_ERR = 531,\n\tTRANS_TX_BREAK_RECEIVE_ERR = 532,\n\tTRANS_TX_CLOSE_TIMEOUT_ERR = 533,\n\tTRANS_TX_CLOSE_NORMAL_ERR = 534,\n\tTRANS_TX_CLOSE_PHYRESET_ERR = 535,\n\tTRANS_TX_WITH_CLOSE_DWS_TIMEOUT_ERR = 536,\n\tTRANS_TX_WITH_CLOSE_COMINIT_ERR = 537,\n\tTRANS_TX_NAK_RECEIVE_ERR = 538,\n\tTRANS_TX_ACK_NAK_TIMEOUT_ERR = 539,\n\tTRANS_TX_CREDIT_TIMEOUT_ERR = 540,\n\tTRANS_TX_IPTT_CONFLICT_ERR = 541,\n\tTRANS_TX_TXFRM_TYPE_ERR = 542,\n\tTRANS_TX_TXSMP_LENGTH_ERR = 543,\n\tTRANS_RX_FRAME_CRC_ERR = 768,\n\tTRANS_RX_FRAME_DONE_ERR = 769,\n\tTRANS_RX_FRAME_ERRPRM_ERR = 770,\n\tTRANS_RX_FRAME_NO_CREDIT_ERR = 771,\n\tTRANS_RX_RSVD0_ERR = 772,\n\tTRANS_RX_FRAME_OVERRUN_ERR = 773,\n\tTRANS_RX_FRAME_NO_EOF_ERR = 774,\n\tTRANS_RX_LINK_BUF_OVERRUN_ERR = 775,\n\tTRANS_RX_BREAK_TIMEOUT_ERR = 776,\n\tTRANS_RX_BREAK_REQUEST_ERR = 777,\n\tTRANS_RX_BREAK_RECEIVE_ERR = 778,\n\tTRANS_RX_CLOSE_TIMEOUT_ERR = 779,\n\tTRANS_RX_CLOSE_NORMAL_ERR = 780,\n\tTRANS_RX_CLOSE_PHYRESET_ERR = 781,\n\tTRANS_RX_WITH_CLOSE_DWS_TIMEOUT_ERR = 782,\n\tTRANS_RX_WITH_CLOSE_COMINIT_ERR = 783,\n\tTRANS_RX_DATA_LENGTH0_ERR = 784,\n\tTRANS_RX_BAD_HASH_ERR = 785,\n\tTRANS_RX_XRDY_ZERO_ERR = 786,\n\tTRANS_RX_SSP_FRAME_LEN_ERR = 787,\n\tTRANS_RX_TRANS_RX_RSVD1_ERR = 788,\n\tTRANS_RX_NO_BALANCE_ERR = 789,\n\tTRANS_RX_TRANS_RX_RSVD2_ERR = 790,\n\tTRANS_RX_TRANS_RX_RSVD3_ERR = 791,\n\tTRANS_RX_BAD_FRAME_TYPE_ERR = 792,\n\tTRANS_RX_SMP_FRAME_LEN_ERR = 793,\n\tTRANS_RX_SMP_RESP_TIMEOUT_ERR = 794,\n};\n\nenum {\n\tDMI_QUIRK_RESET_SD_SIGNAL_VOLT_ON_SUSP = 1,\n\tDMI_QUIRK_SD_NO_WRITE_PROTECT = 2,\n\tDMI_QUIRK_SD_CD_ACTIVE_HIGH = 4,\n\tDMI_QUIRK_SD_CD_ENABLE_PULL_UP = 8,\n};\n\nenum {\n\tDONE_EXPLORING = 0,\n\tKEEP_EXPLORING = 1,\n};\n\nenum {\n\tDOWN = 0,\n\tUP = 1,\n};\n\nenum {\n\tDP83867_PORT_MIRROING_KEEP = 0,\n\tDP83867_PORT_MIRROING_EN = 1,\n\tDP83867_PORT_MIRROING_DIS = 2,\n};\n\nenum {\n\tDPT_START = 2,\n\tDPT_STOP = 1,\n};\n\nenum {\n\tDQF_INFO_DIRTY_B = 17,\n};\n\nenum {\n\tDQF_ROOT_SQUASH_B = 0,\n\tDQF_SYS_FILE_B = 16,\n\tDQF_PRIVATE = 17,\n};\n\nenum {\n\tDQST_LOOKUPS = 0,\n\tDQST_DROPS = 1,\n\tDQST_READS = 2,\n\tDQST_WRITES = 3,\n\tDQST_CACHE_HITS = 4,\n\tDQST_ALLOC_DQUOTS = 5,\n\tDQST_FREE_DQUOTS = 6,\n\tDQST_SYNCS = 7,\n\t_DQST_DQSTAT_LAST = 8,\n};\n\nenum {\n\tDRV_FIXED = 0,\n\tDRV_GRP0 = 1,\n\tDRV_GRP1 = 2,\n\tDRV_GRP2 = 3,\n\tDRV_GRP3 = 4,\n\tDRV_GRP4 = 5,\n\tDRV_GRP_MAX = 6,\n};\n\nenum {\n\tDSM_FUNC_ERR_HANDLE_MSI = 0,\n};\n\nenum {\n\tDT_BI_TCXO = 0,\n\tDT_SLEEP_CLK = 1,\n\tDT_UFS_PHY_RX_SYMBOL_0_CLK = 2,\n\tDT_UFS_PHY_RX_SYMBOL_1_CLK = 3,\n\tDT_UFS_PHY_TX_SYMBOL_0_CLK = 4,\n\tDT_UFS_CARD_RX_SYMBOL_0_CLK = 5,\n\tDT_UFS_CARD_RX_SYMBOL_1_CLK = 6,\n\tDT_UFS_CARD_TX_SYMBOL_0_CLK = 7,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_PRIM_PIPE_CLK = 8,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_SEC_PIPE_CLK = 9,\n\tDT_PCIE_0_PIPE_CLK = 10,\n\tDT_PCIE_1_PIPE_CLK = 11,\n\tDT_PCIE_PHY_AUX_CLK = 12,\n\tDT_RXC0_REF_CLK = 13,\n\tDT_RXC1_REF_CLK = 14,\n};\n\nenum {\n\tDT_BI_TCXO___2 = 0,\n\tDT_SLEEP_CLK___2 = 1,\n\tDT_PCIE_0_PIPE_CLK___2 = 2,\n\tDT_PCIE_1_PIPE_CLK___2 = 3,\n\tDT_PCIE_PHY_AUX_CLK___2 = 4,\n\tDT_RXC0_REF_CLK___2 = 5,\n\tDT_UFS_PHY_RX_SYMBOL_0_CLK___2 = 6,\n\tDT_UFS_PHY_RX_SYMBOL_1_CLK___2 = 7,\n\tDT_UFS_PHY_TX_SYMBOL_0_CLK___2 = 8,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_PRIM_PIPE_CLK___2 = 9,\n};\n\nenum {\n\tDT_BI_TCXO___3 = 0,\n\tDT_SLEEP_CLK___3 = 1,\n\tDT_EMAC0_SGMIIPHY_MAC_RCLK = 2,\n\tDT_EMAC0_SGMIIPHY_MAC_TCLK = 3,\n\tDT_EMAC0_SGMIIPHY_RCLK = 4,\n\tDT_EMAC0_SGMIIPHY_TCLK = 5,\n\tDT_EMAC1_SGMIIPHY_MAC_RCLK = 6,\n\tDT_EMAC1_SGMIIPHY_MAC_TCLK = 7,\n\tDT_EMAC1_SGMIIPHY_RCLK = 8,\n\tDT_EMAC1_SGMIIPHY_TCLK = 9,\n\tDT_PCIE20_PHY_AUX_CLK = 10,\n\tDT_PCIE_1_PIPE_CLK___3 = 11,\n\tDT_PCIE_2_PIPE_CLK = 12,\n\tDT_PCIE_PIPE_CLK = 13,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK = 14,\n};\n\nenum {\n\tDT_BI_TCXO___4 = 0,\n\tDT_SLEEP_CLK___4 = 1,\n\tDT_PCIE_0_PIPE = 2,\n\tDT_PCIE_1_PIPE = 3,\n\tDT_PCIE_1_PHY_AUX = 4,\n\tDT_UFS_PHY_RX_SYMBOL_0 = 5,\n\tDT_UFS_PHY_RX_SYMBOL_1 = 6,\n\tDT_UFS_PHY_TX_SYMBOL_0 = 7,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_PIPE = 8,\n};\n\nenum {\n\tDT_BI_TCXO___5 = 0,\n\tDT_SLEEP_CLK___5 = 1,\n\tDT_UFS_PHY_RX_SYMBOL_0_CLK___3 = 2,\n\tDT_UFS_PHY_RX_SYMBOL_1_CLK___3 = 3,\n\tDT_UFS_PHY_TX_SYMBOL_0_CLK___3 = 4,\n\tDT_UFS_CARD_RX_SYMBOL_0_CLK___2 = 5,\n\tDT_UFS_CARD_RX_SYMBOL_1_CLK___2 = 6,\n\tDT_UFS_CARD_TX_SYMBOL_0_CLK___2 = 7,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___2 = 8,\n\tDT_GCC_USB4_PHY_PIPEGMUX_CLK_SRC = 9,\n\tDT_GCC_USB4_PHY_DP_GMUX_CLK_SRC = 10,\n\tDT_GCC_USB4_PHY_SYS_PIPEGMUX_CLK_SRC = 11,\n\tDT_USB4_PHY_GCC_USB4_PCIE_PIPE_CLK = 12,\n\tDT_USB4_PHY_GCC_USB4RTR_MAX_PIPE_CLK = 13,\n\tDT_QUSB4PHY_GCC_USB4_RX0_CLK = 14,\n\tDT_QUSB4PHY_GCC_USB4_RX1_CLK = 15,\n\tDT_USB3_UNI_PHY_SEC_GCC_USB30_PIPE_CLK = 16,\n\tDT_GCC_USB4_1_PHY_PIPEGMUX_CLK_SRC = 17,\n\tDT_GCC_USB4_1_PHY_DP_GMUX_CLK_SRC = 18,\n\tDT_GCC_USB4_1_PHY_SYS_PIPEGMUX_CLK_SRC = 19,\n\tDT_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK = 20,\n\tDT_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK = 21,\n\tDT_QUSB4PHY_1_GCC_USB4_RX0_CLK = 22,\n\tDT_QUSB4PHY_1_GCC_USB4_RX1_CLK = 23,\n\tDT_USB3_UNI_PHY_MP_GCC_USB30_PIPE_0_CLK = 24,\n\tDT_USB3_UNI_PHY_MP_GCC_USB30_PIPE_1_CLK = 25,\n\tDT_PCIE_2A_PIPE_CLK = 26,\n\tDT_PCIE_2B_PIPE_CLK = 27,\n\tDT_PCIE_3A_PIPE_CLK = 28,\n\tDT_PCIE_3B_PIPE_CLK = 29,\n\tDT_PCIE_4_PIPE_CLK = 30,\n\tDT_RXC0_REF_CLK___3 = 31,\n\tDT_RXC1_REF_CLK___2 = 32,\n};\n\nenum {\n\tDT_BI_TCXO___6 = 0,\n\tDT_BI_TCXO_AO = 1,\n\tDT_SLEEP_CLK___6 = 2,\n\tDT_PCIE_0_PIPE_CLK___3 = 3,\n\tDT_UFS_PHY_RX_SYMBOL_0_CLK___4 = 4,\n\tDT_UFS_PHY_RX_SYMBOL_1_CLK___4 = 5,\n\tDT_UFS_PHY_TX_SYMBOL_0_CLK___4 = 6,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___3 = 7,\n};\n\nenum {\n\tDT_BI_TCXO___7 = 0,\n\tDT_BI_TCXO_AO___2 = 1,\n\tDT_SLEEP_CLK___7 = 2,\n\tDT_PCIE_0_PIPE___2 = 3,\n\tDT_PCIE_1_PIPE___2 = 4,\n\tDT_PCIE_1_PHY_AUX___2 = 5,\n\tDT_UFS_PHY_RX_SYMBOL_0___2 = 6,\n\tDT_UFS_PHY_RX_SYMBOL_1___2 = 7,\n\tDT_UFS_PHY_TX_SYMBOL_0___2 = 8,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_PIPE___2 = 9,\n};\n\nenum {\n\tDT_BI_TCXO___8 = 0,\n\tDT_SLEEP_CLK___8 = 1,\n\tDT_PCIE_0_PIPE_CLK___4 = 2,\n\tDT_UFS_PHY_RX_SYMBOL_0_CLK___5 = 3,\n\tDT_UFS_PHY_RX_SYMBOL_1_CLK___5 = 4,\n\tDT_UFS_PHY_TX_SYMBOL_0_CLK___5 = 5,\n\tDT_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___4 = 6,\n};\n\nenum {\n\tDT_BI_TCXO___9 = 0,\n\tDT_BI_TCXO_AO___3 = 1,\n\tDT_SLEEP_CLK___9 = 2,\n};\n\nenum {\n\tDT_BI_TCXO___10 = 0,\n\tDT_SLEEP_CLK___10 = 1,\n\tDT_PCIE_3_PIPE = 2,\n\tDT_PCIE_4_PIPE = 3,\n\tDT_PCIE_5_PIPE = 4,\n\tDT_PCIE_6A_PIPE = 5,\n\tDT_PCIE_6B_PIPE = 6,\n\tDT_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE = 7,\n\tDT_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE = 8,\n\tDT_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE = 9,\n};\n\nenum {\n\tDT_BI_TCXO_PAD = 0,\n};\n\nenum {\n\tDT_TCXO_IDX = 0,\n\tDT_SLEEP_CLK_IDX = 1,\n\tDT_PCIE_0_PIPE_CLK_IDX = 2,\n\tDT_PCIE_0_PHY_AUX_CLK_IDX = 3,\n\tDT_USB3_PHY_WRAPPER_PIPE_CLK_IDX = 4,\n};\n\nenum {\n\tDT_XO = 0,\n\tDT_APCS_AUX = 1,\n};\n\nenum {\n\tDT_XO___2 = 0,\n\tDT_SLEEP_CLK___11 = 1,\n\tDT_PCIE20_PHY0_PIPE_CLK = 2,\n\tDT_PCIE20_PHY1_PIPE_CLK = 3,\n\tDT_USB3_PHY0_CC_PIPE_CLK = 4,\n\tDT_GEPHY_RX_CLK = 5,\n\tDT_GEPHY_TX_CLK = 6,\n\tDT_UNIPHY_RX_CLK = 7,\n\tDT_UNIPHY_TX_CLK = 8,\n};\n\nenum {\n\tDT_XO___3 = 0,\n\tDT_SLEEP_CLK___12 = 1,\n\tDT_PCIE_0_PIPE_CLK___5 = 2,\n\tDT_DSI0_PHY_PLL_OUT_DSICLK = 3,\n\tDT_DSI0_PHY_PLL_OUT_BYTECLK = 4,\n\tDT_HDMI_PHY_PLL_CLK = 5,\n};\n\nenum {\n\tDT_XO___4 = 0,\n\tDT_SLEEP_CLK___13 = 1,\n\tDT_BIAS_PLL_UBI_NC_CLK = 2,\n\tDT_PCIE30_PHY0_PIPE_CLK = 3,\n\tDT_PCIE30_PHY1_PIPE_CLK = 4,\n\tDT_PCIE30_PHY2_PIPE_CLK = 5,\n\tDT_PCIE30_PHY3_PIPE_CLK = 6,\n\tDT_USB3PHY_0_CC_PIPE_CLK = 7,\n};\n\nenum {\n\tDT_XO___5 = 0,\n\tDT_SLEEP_CLK___14 = 1,\n\tDT_PCIE_2LANE_PHY_PIPE_CLK = 2,\n\tDT_PCIE_2LANE_PHY_PIPE_CLK_X1 = 3,\n\tDT_USB_PCIE_WRAPPER_PIPE_CLK = 4,\n};\n\nenum {\n\tDUMP_PREFIX_NONE = 0,\n\tDUMP_PREFIX_ADDRESS = 1,\n\tDUMP_PREFIX_OFFSET = 2,\n};\n\nenum {\n\tEC_MSG_TX_HEADER_BYTES = 3,\n\tEC_MSG_TX_TRAILER_BYTES = 1,\n\tEC_MSG_TX_PROTO_BYTES = 4,\n\tEC_MSG_RX_PROTO_BYTES = 3,\n\tEC_PROTO2_MSG_BYTES = 256,\n\tEC_MAX_MSG_BYTES = 65536,\n};\n\nenum {\n\tEDSR = 0,\n\tEDMR = 1,\n\tEDTRR = 2,\n\tEDRRR = 3,\n\tEESR = 4,\n\tEESIPR = 5,\n\tTDLAR = 6,\n\tTDFAR = 7,\n\tTDFXR = 8,\n\tTDFFR = 9,\n\tRDLAR = 10,\n\tRDFAR = 11,\n\tRDFXR = 12,\n\tRDFFR = 13,\n\tTRSCER = 14,\n\tRMFCR = 15,\n\tTFTR = 16,\n\tFDR = 17,\n\tRMCR = 18,\n\tEDOCR = 19,\n\tTFUCR = 20,\n\tRFOCR = 21,\n\tRMIIMODE = 22,\n\tFCFTR = 23,\n\tRPADIR = 24,\n\tTRIMD = 25,\n\tRBWAR = 26,\n\tTBRAR = 27,\n\tECMR = 28,\n\tECSR = 29,\n\tECSIPR = 30,\n\tPIR = 31,\n\tPSR = 32,\n\tRDMLR = 33,\n\tPIPR = 34,\n\tRFLR = 35,\n\tIPGR = 36,\n\tAPR = 37,\n\tMPR = 38,\n\tPFTCR = 39,\n\tPFRCR = 40,\n\tRFCR = 41,\n\tRFCF = 42,\n\tTPAUSER = 43,\n\tTPAUSECR = 44,\n\tBCFR = 45,\n\tBCFRR = 46,\n\tGECMR = 47,\n\tBCULR = 48,\n\tMAHR = 49,\n\tMALR = 50,\n\tTROCR = 51,\n\tCDCR = 52,\n\tLCCR = 53,\n\tCNDCR = 54,\n\tCEFCR = 55,\n\tFRECR = 56,\n\tTSFRCR = 57,\n\tTLFRCR = 58,\n\tCERCR = 59,\n\tCEECR = 60,\n\tMAFCR = 61,\n\tRTRATE = 62,\n\tCSMR = 63,\n\tRMII_MII = 64,\n\tARSTR = 65,\n\tTSU_CTRST = 66,\n\tTSU_FWEN0 = 67,\n\tTSU_FWEN1 = 68,\n\tTSU_FCM = 69,\n\tTSU_BSYSL0 = 70,\n\tTSU_BSYSL1 = 71,\n\tTSU_PRISL0 = 72,\n\tTSU_PRISL1 = 73,\n\tTSU_FWSL0 = 74,\n\tTSU_FWSL1 = 75,\n\tTSU_FWSLC = 76,\n\tTSU_QTAG0 = 77,\n\tTSU_QTAG1 = 78,\n\tTSU_QTAGM0 = 79,\n\tTSU_QTAGM1 = 80,\n\tTSU_FWSR = 81,\n\tTSU_FWINMK = 82,\n\tTSU_ADQT0 = 83,\n\tTSU_ADQT1 = 84,\n\tTSU_VTAG0 = 85,\n\tTSU_VTAG1 = 86,\n\tTSU_ADSBSY = 87,\n\tTSU_TEN = 88,\n\tTSU_POST1 = 89,\n\tTSU_POST2 = 90,\n\tTSU_POST3 = 91,\n\tTSU_POST4 = 92,\n\tTSU_ADRH0 = 93,\n\tTXNLCR0 = 94,\n\tTXALCR0 = 95,\n\tRXNLCR0 = 96,\n\tRXALCR0 = 97,\n\tFWNLCR0 = 98,\n\tFWALCR0 = 99,\n\tTXNLCR1 = 100,\n\tTXALCR1 = 101,\n\tRXNLCR1 = 102,\n\tRXALCR1 = 103,\n\tFWNLCR1 = 104,\n\tFWALCR1 = 105,\n\tSH_ETH_MAX_REGISTER_OFFSET = 106,\n};\n\nenum {\n\tEPecma = 0,\n\tEPdec = 1,\n\tEPeq = 2,\n\tEPgt = 3,\n\tEPlt = 4,\n};\n\nenum {\n\tERASE = 0,\n\tWERASE = 1,\n\tKILL = 2,\n};\n\nenum {\n\tES_WRITTEN_B = 0,\n\tES_UNWRITTEN_B = 1,\n\tES_DELAYED_B = 2,\n\tES_HOLE_B = 3,\n\tES_REFERENCED_B = 4,\n\tES_FLAGS = 5,\n};\n\nenum {\n\tETHTOOL_A_BITSET_BITS_UNSPEC = 0,\n\tETHTOOL_A_BITSET_BITS_BIT = 1,\n\t__ETHTOOL_A_BITSET_BITS_CNT = 2,\n\tETHTOOL_A_BITSET_BITS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_BITSET_BIT_UNSPEC = 0,\n\tETHTOOL_A_BITSET_BIT_INDEX = 1,\n\tETHTOOL_A_BITSET_BIT_NAME = 2,\n\tETHTOOL_A_BITSET_BIT_VALUE = 3,\n\t__ETHTOOL_A_BITSET_BIT_CNT = 4,\n\tETHTOOL_A_BITSET_BIT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_BITSET_UNSPEC = 0,\n\tETHTOOL_A_BITSET_NOMASK = 1,\n\tETHTOOL_A_BITSET_SIZE = 2,\n\tETHTOOL_A_BITSET_BITS = 3,\n\tETHTOOL_A_BITSET_VALUE = 4,\n\tETHTOOL_A_BITSET_MASK = 5,\n\t__ETHTOOL_A_BITSET_CNT = 6,\n\tETHTOOL_A_BITSET_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC = 0,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_MIN = 1,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2,\n\t__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT = 3,\n\t__ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_AMPLITUDE_PAIR = 1,\n\tETHTOOL_A_CABLE_AMPLITUDE_mV = 2,\n\t__ETHTOOL_A_CABLE_AMPLITUDE_CNT = 3,\n\tETHTOOL_A_CABLE_AMPLITUDE_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 1,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_CM = 2,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_SRC = 3,\n\t__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT = 4,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_INF_SRC_UNSPEC = 0,\n\tETHTOOL_A_CABLE_INF_SRC_TDR = 1,\n\tETHTOOL_A_CABLE_INF_SRC_ALCD = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_NEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_NEST_RESULT = 1,\n\tETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 2,\n\t__ETHTOOL_A_CABLE_NEST_CNT = 3,\n\tETHTOOL_A_CABLE_NEST_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_PAIR_A = 0,\n\tETHTOOL_A_CABLE_PAIR_B = 1,\n\tETHTOOL_A_CABLE_PAIR_C = 2,\n\tETHTOOL_A_CABLE_PAIR_D = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_PULSE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_PULSE_mV = 1,\n\t__ETHTOOL_A_CABLE_PULSE_CNT = 2,\n\tETHTOOL_A_CABLE_PULSE_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_RESULT_CODE_OK = 1,\n\tETHTOOL_A_CABLE_RESULT_CODE_OPEN = 2,\n\tETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = 3,\n\tETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = 4,\n\tETHTOOL_A_CABLE_RESULT_CODE_IMPEDANCE_MISMATCH = 5,\n\tETHTOOL_A_CABLE_RESULT_CODE_NOISE = 6,\n\tETHTOOL_A_CABLE_RESULT_CODE_RESOLUTION_NOT_POSSIBLE = 7,\n};\n\nenum {\n\tETHTOOL_A_CABLE_RESULT_UNSPEC = 0,\n\tETHTOOL_A_CABLE_RESULT_PAIR = 1,\n\tETHTOOL_A_CABLE_RESULT_CODE = 2,\n\tETHTOOL_A_CABLE_RESULT_SRC = 3,\n\t__ETHTOOL_A_CABLE_RESULT_CNT = 4,\n\tETHTOOL_A_CABLE_RESULT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_STEP_UNSPEC = 0,\n\tETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 1,\n\tETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 2,\n\tETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 3,\n\t__ETHTOOL_A_CABLE_STEP_CNT = 4,\n\tETHTOOL_A_CABLE_STEP_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TDR_NEST_STEP = 1,\n\tETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 2,\n\tETHTOOL_A_CABLE_TDR_NEST_PULSE = 3,\n\t__ETHTOOL_A_CABLE_TDR_NEST_CNT = 4,\n\tETHTOOL_A_CABLE_TDR_NEST_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 1,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_NTF_HEADER = 1,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS = 2,\n\tETHTOOL_A_CABLE_TEST_NTF_NEST = 3,\n\t__ETHTOOL_A_CABLE_TEST_NTF_CNT = 4,\n\tETHTOOL_A_CABLE_TEST_NTF_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 1,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 2,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 3,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 4,\n\t__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT = 5,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_TDR_HEADER = 1,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG = 2,\n\t__ETHTOOL_A_CABLE_TEST_TDR_CNT = 3,\n\tETHTOOL_A_CABLE_TEST_TDR_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_HEADER = 1,\n\t__ETHTOOL_A_CABLE_TEST_CNT = 2,\n\tETHTOOL_A_CABLE_TEST_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_CHANNELS_UNSPEC = 0,\n\tETHTOOL_A_CHANNELS_HEADER = 1,\n\tETHTOOL_A_CHANNELS_RX_MAX = 2,\n\tETHTOOL_A_CHANNELS_TX_MAX = 3,\n\tETHTOOL_A_CHANNELS_OTHER_MAX = 4,\n\tETHTOOL_A_CHANNELS_COMBINED_MAX = 5,\n\tETHTOOL_A_CHANNELS_RX_COUNT = 6,\n\tETHTOOL_A_CHANNELS_TX_COUNT = 7,\n\tETHTOOL_A_CHANNELS_OTHER_COUNT = 8,\n\tETHTOOL_A_CHANNELS_COMBINED_COUNT = 9,\n\t__ETHTOOL_A_CHANNELS_CNT = 10,\n\tETHTOOL_A_CHANNELS_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_COALESCE_UNSPEC = 0,\n\tETHTOOL_A_COALESCE_HEADER = 1,\n\tETHTOOL_A_COALESCE_RX_USECS = 2,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES = 3,\n\tETHTOOL_A_COALESCE_RX_USECS_IRQ = 4,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 5,\n\tETHTOOL_A_COALESCE_TX_USECS = 6,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES = 7,\n\tETHTOOL_A_COALESCE_TX_USECS_IRQ = 8,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 9,\n\tETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 10,\n\tETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 11,\n\tETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 12,\n\tETHTOOL_A_COALESCE_PKT_RATE_LOW = 13,\n\tETHTOOL_A_COALESCE_RX_USECS_LOW = 14,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 15,\n\tETHTOOL_A_COALESCE_TX_USECS_LOW = 16,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 17,\n\tETHTOOL_A_COALESCE_PKT_RATE_HIGH = 18,\n\tETHTOOL_A_COALESCE_RX_USECS_HIGH = 19,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 20,\n\tETHTOOL_A_COALESCE_TX_USECS_HIGH = 21,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 22,\n\tETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 23,\n\tETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 24,\n\tETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 25,\n\tETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES = 26,\n\tETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES = 27,\n\tETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS = 28,\n\tETHTOOL_A_COALESCE_RX_PROFILE = 29,\n\tETHTOOL_A_COALESCE_TX_PROFILE = 30,\n\t__ETHTOOL_A_COALESCE_CNT = 31,\n\tETHTOOL_A_COALESCE_MAX = 30,\n};\n\nenum {\n\tETHTOOL_A_DEBUG_UNSPEC = 0,\n\tETHTOOL_A_DEBUG_HEADER = 1,\n\tETHTOOL_A_DEBUG_MSGMASK = 2,\n\t__ETHTOOL_A_DEBUG_CNT = 3,\n\tETHTOOL_A_DEBUG_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_EEE_UNSPEC = 0,\n\tETHTOOL_A_EEE_HEADER = 1,\n\tETHTOOL_A_EEE_MODES_OURS = 2,\n\tETHTOOL_A_EEE_MODES_PEER = 3,\n\tETHTOOL_A_EEE_ACTIVE = 4,\n\tETHTOOL_A_EEE_ENABLED = 5,\n\tETHTOOL_A_EEE_TX_LPI_ENABLED = 6,\n\tETHTOOL_A_EEE_TX_LPI_TIMER = 7,\n\t__ETHTOOL_A_EEE_CNT = 8,\n\tETHTOOL_A_EEE_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_FEATURES_UNSPEC = 0,\n\tETHTOOL_A_FEATURES_HEADER = 1,\n\tETHTOOL_A_FEATURES_HW = 2,\n\tETHTOOL_A_FEATURES_WANTED = 3,\n\tETHTOOL_A_FEATURES_ACTIVE = 4,\n\tETHTOOL_A_FEATURES_NOCHANGE = 5,\n\t__ETHTOOL_A_FEATURES_CNT = 6,\n\tETHTOOL_A_FEATURES_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_FEC_STAT_UNSPEC = 0,\n\tETHTOOL_A_FEC_STAT_PAD = 1,\n\tETHTOOL_A_FEC_STAT_CORRECTED = 2,\n\tETHTOOL_A_FEC_STAT_UNCORR = 3,\n\tETHTOOL_A_FEC_STAT_CORR_BITS = 4,\n\t__ETHTOOL_A_FEC_STAT_CNT = 5,\n\tETHTOOL_A_FEC_STAT_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_FEC_UNSPEC = 0,\n\tETHTOOL_A_FEC_HEADER = 1,\n\tETHTOOL_A_FEC_MODES = 2,\n\tETHTOOL_A_FEC_AUTO = 3,\n\tETHTOOL_A_FEC_ACTIVE = 4,\n\tETHTOOL_A_FEC_STATS = 5,\n\t__ETHTOOL_A_FEC_CNT = 6,\n\tETHTOOL_A_FEC_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_HEADER_UNSPEC = 0,\n\tETHTOOL_A_HEADER_DEV_INDEX = 1,\n\tETHTOOL_A_HEADER_DEV_NAME = 2,\n\tETHTOOL_A_HEADER_FLAGS = 3,\n\tETHTOOL_A_HEADER_PHY_INDEX = 4,\n\t__ETHTOOL_A_HEADER_CNT = 5,\n\tETHTOOL_A_HEADER_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_IRQ_MODERATION_UNSPEC = 0,\n\tETHTOOL_A_IRQ_MODERATION_USEC = 1,\n\tETHTOOL_A_IRQ_MODERATION_PKTS = 2,\n\tETHTOOL_A_IRQ_MODERATION_COMPS = 3,\n\t__ETHTOOL_A_IRQ_MODERATION_CNT = 4,\n\tETHTOOL_A_IRQ_MODERATION_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_LINKINFO_UNSPEC = 0,\n\tETHTOOL_A_LINKINFO_HEADER = 1,\n\tETHTOOL_A_LINKINFO_PORT = 2,\n\tETHTOOL_A_LINKINFO_PHYADDR = 3,\n\tETHTOOL_A_LINKINFO_TP_MDIX = 4,\n\tETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 5,\n\tETHTOOL_A_LINKINFO_TRANSCEIVER = 6,\n\t__ETHTOOL_A_LINKINFO_CNT = 7,\n\tETHTOOL_A_LINKINFO_MAX = 6,\n};\n\nenum {\n\tETHTOOL_A_LINKMODES_UNSPEC = 0,\n\tETHTOOL_A_LINKMODES_HEADER = 1,\n\tETHTOOL_A_LINKMODES_AUTONEG = 2,\n\tETHTOOL_A_LINKMODES_OURS = 3,\n\tETHTOOL_A_LINKMODES_PEER = 4,\n\tETHTOOL_A_LINKMODES_SPEED = 5,\n\tETHTOOL_A_LINKMODES_DUPLEX = 6,\n\tETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 7,\n\tETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 8,\n\tETHTOOL_A_LINKMODES_LANES = 9,\n\tETHTOOL_A_LINKMODES_RATE_MATCHING = 10,\n\t__ETHTOOL_A_LINKMODES_CNT = 11,\n\tETHTOOL_A_LINKMODES_MAX = 10,\n};\n\nenum {\n\tETHTOOL_A_LINKSTATE_UNSPEC = 0,\n\tETHTOOL_A_LINKSTATE_HEADER = 1,\n\tETHTOOL_A_LINKSTATE_LINK = 2,\n\tETHTOOL_A_LINKSTATE_SQI = 3,\n\tETHTOOL_A_LINKSTATE_SQI_MAX = 4,\n\tETHTOOL_A_LINKSTATE_EXT_STATE = 5,\n\tETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 6,\n\tETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = 7,\n\t__ETHTOOL_A_LINKSTATE_CNT = 8,\n\tETHTOOL_A_LINKSTATE_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MM_STAT_UNSPEC = 0,\n\tETHTOOL_A_MM_STAT_PAD = 1,\n\tETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS = 2,\n\tETHTOOL_A_MM_STAT_SMD_ERRORS = 3,\n\tETHTOOL_A_MM_STAT_REASSEMBLY_OK = 4,\n\tETHTOOL_A_MM_STAT_RX_FRAG_COUNT = 5,\n\tETHTOOL_A_MM_STAT_TX_FRAG_COUNT = 6,\n\tETHTOOL_A_MM_STAT_HOLD_COUNT = 7,\n\t__ETHTOOL_A_MM_STAT_CNT = 8,\n\tETHTOOL_A_MM_STAT_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MM_UNSPEC = 0,\n\tETHTOOL_A_MM_HEADER = 1,\n\tETHTOOL_A_MM_PMAC_ENABLED = 2,\n\tETHTOOL_A_MM_TX_ENABLED = 3,\n\tETHTOOL_A_MM_TX_ACTIVE = 4,\n\tETHTOOL_A_MM_TX_MIN_FRAG_SIZE = 5,\n\tETHTOOL_A_MM_RX_MIN_FRAG_SIZE = 6,\n\tETHTOOL_A_MM_VERIFY_ENABLED = 7,\n\tETHTOOL_A_MM_VERIFY_STATUS = 8,\n\tETHTOOL_A_MM_VERIFY_TIME = 9,\n\tETHTOOL_A_MM_MAX_VERIFY_TIME = 10,\n\tETHTOOL_A_MM_STATS = 11,\n\t__ETHTOOL_A_MM_CNT = 12,\n\tETHTOOL_A_MM_MAX = 11,\n};\n\nenum {\n\tETHTOOL_A_MODULE_EEPROM_UNSPEC = 0,\n\tETHTOOL_A_MODULE_EEPROM_HEADER = 1,\n\tETHTOOL_A_MODULE_EEPROM_OFFSET = 2,\n\tETHTOOL_A_MODULE_EEPROM_LENGTH = 3,\n\tETHTOOL_A_MODULE_EEPROM_PAGE = 4,\n\tETHTOOL_A_MODULE_EEPROM_BANK = 5,\n\tETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS = 6,\n\tETHTOOL_A_MODULE_EEPROM_DATA = 7,\n\t__ETHTOOL_A_MODULE_EEPROM_CNT = 8,\n\tETHTOOL_A_MODULE_EEPROM_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MODULE_FW_FLASH_UNSPEC = 0,\n\tETHTOOL_A_MODULE_FW_FLASH_HEADER = 1,\n\tETHTOOL_A_MODULE_FW_FLASH_FILE_NAME = 2,\n\tETHTOOL_A_MODULE_FW_FLASH_PASSWORD = 3,\n\tETHTOOL_A_MODULE_FW_FLASH_STATUS = 4,\n\tETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG = 5,\n\tETHTOOL_A_MODULE_FW_FLASH_DONE = 6,\n\tETHTOOL_A_MODULE_FW_FLASH_TOTAL = 7,\n\t__ETHTOOL_A_MODULE_FW_FLASH_CNT = 8,\n\tETHTOOL_A_MODULE_FW_FLASH_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MODULE_UNSPEC = 0,\n\tETHTOOL_A_MODULE_HEADER = 1,\n\tETHTOOL_A_MODULE_POWER_MODE_POLICY = 2,\n\tETHTOOL_A_MODULE_POWER_MODE = 3,\n\t__ETHTOOL_A_MODULE_CNT = 4,\n\tETHTOOL_A_MODULE_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PAUSE_STAT_UNSPEC = 0,\n\tETHTOOL_A_PAUSE_STAT_PAD = 1,\n\tETHTOOL_A_PAUSE_STAT_TX_FRAMES = 2,\n\tETHTOOL_A_PAUSE_STAT_RX_FRAMES = 3,\n\t__ETHTOOL_A_PAUSE_STAT_CNT = 4,\n\tETHTOOL_A_PAUSE_STAT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PAUSE_UNSPEC = 0,\n\tETHTOOL_A_PAUSE_HEADER = 1,\n\tETHTOOL_A_PAUSE_AUTONEG = 2,\n\tETHTOOL_A_PAUSE_RX = 3,\n\tETHTOOL_A_PAUSE_TX = 4,\n\tETHTOOL_A_PAUSE_STATS = 5,\n\tETHTOOL_A_PAUSE_STATS_SRC = 6,\n\t__ETHTOOL_A_PAUSE_CNT = 7,\n\tETHTOOL_A_PAUSE_MAX = 6,\n};\n\nenum {\n\tETHTOOL_A_PHC_VCLOCKS_UNSPEC = 0,\n\tETHTOOL_A_PHC_VCLOCKS_HEADER = 1,\n\tETHTOOL_A_PHC_VCLOCKS_NUM = 2,\n\tETHTOOL_A_PHC_VCLOCKS_INDEX = 3,\n\t__ETHTOOL_A_PHC_VCLOCKS_CNT = 4,\n\tETHTOOL_A_PHC_VCLOCKS_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PHY_UNSPEC = 0,\n\tETHTOOL_A_PHY_HEADER = 1,\n\tETHTOOL_A_PHY_INDEX = 2,\n\tETHTOOL_A_PHY_DRVNAME = 3,\n\tETHTOOL_A_PHY_NAME = 4,\n\tETHTOOL_A_PHY_UPSTREAM_TYPE = 5,\n\tETHTOOL_A_PHY_UPSTREAM_INDEX = 6,\n\tETHTOOL_A_PHY_UPSTREAM_SFP_NAME = 7,\n\tETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME = 8,\n\t__ETHTOOL_A_PHY_CNT = 9,\n\tETHTOOL_A_PHY_MAX = 8,\n};\n\nenum {\n\tETHTOOL_A_PLCA_UNSPEC = 0,\n\tETHTOOL_A_PLCA_HEADER = 1,\n\tETHTOOL_A_PLCA_VERSION = 2,\n\tETHTOOL_A_PLCA_ENABLED = 3,\n\tETHTOOL_A_PLCA_STATUS = 4,\n\tETHTOOL_A_PLCA_NODE_CNT = 5,\n\tETHTOOL_A_PLCA_NODE_ID = 6,\n\tETHTOOL_A_PLCA_TO_TMR = 7,\n\tETHTOOL_A_PLCA_BURST_CNT = 8,\n\tETHTOOL_A_PLCA_BURST_TMR = 9,\n\t__ETHTOOL_A_PLCA_CNT = 10,\n\tETHTOOL_A_PLCA_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_PRIVFLAGS_UNSPEC = 0,\n\tETHTOOL_A_PRIVFLAGS_HEADER = 1,\n\tETHTOOL_A_PRIVFLAGS_FLAGS = 2,\n\t__ETHTOOL_A_PRIVFLAGS_CNT = 3,\n\tETHTOOL_A_PRIVFLAGS_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_PROFILE_UNSPEC = 0,\n\tETHTOOL_A_PROFILE_IRQ_MODERATION = 1,\n\t__ETHTOOL_A_PROFILE_CNT = 2,\n\tETHTOOL_A_PROFILE_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_PSE_UNSPEC = 0,\n\tETHTOOL_A_PSE_HEADER = 1,\n\tETHTOOL_A_PODL_PSE_ADMIN_STATE = 2,\n\tETHTOOL_A_PODL_PSE_ADMIN_CONTROL = 3,\n\tETHTOOL_A_PODL_PSE_PW_D_STATUS = 4,\n\tETHTOOL_A_C33_PSE_ADMIN_STATE = 5,\n\tETHTOOL_A_C33_PSE_ADMIN_CONTROL = 6,\n\tETHTOOL_A_C33_PSE_PW_D_STATUS = 7,\n\tETHTOOL_A_C33_PSE_PW_CLASS = 8,\n\tETHTOOL_A_C33_PSE_ACTUAL_PW = 9,\n\tETHTOOL_A_C33_PSE_EXT_STATE = 10,\n\tETHTOOL_A_C33_PSE_EXT_SUBSTATE = 11,\n\tETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT = 12,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_RANGES = 13,\n\t__ETHTOOL_A_PSE_CNT = 14,\n\tETHTOOL_A_PSE_MAX = 13,\n};\n\nenum {\n\tETHTOOL_A_RINGS_UNSPEC = 0,\n\tETHTOOL_A_RINGS_HEADER = 1,\n\tETHTOOL_A_RINGS_RX_MAX = 2,\n\tETHTOOL_A_RINGS_RX_MINI_MAX = 3,\n\tETHTOOL_A_RINGS_RX_JUMBO_MAX = 4,\n\tETHTOOL_A_RINGS_TX_MAX = 5,\n\tETHTOOL_A_RINGS_RX = 6,\n\tETHTOOL_A_RINGS_RX_MINI = 7,\n\tETHTOOL_A_RINGS_RX_JUMBO = 8,\n\tETHTOOL_A_RINGS_TX = 9,\n\tETHTOOL_A_RINGS_RX_BUF_LEN = 10,\n\tETHTOOL_A_RINGS_TCP_DATA_SPLIT = 11,\n\tETHTOOL_A_RINGS_CQE_SIZE = 12,\n\tETHTOOL_A_RINGS_TX_PUSH = 13,\n\tETHTOOL_A_RINGS_RX_PUSH = 14,\n\tETHTOOL_A_RINGS_TX_PUSH_BUF_LEN = 15,\n\tETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX = 16,\n\tETHTOOL_A_RINGS_HDS_THRESH = 17,\n\tETHTOOL_A_RINGS_HDS_THRESH_MAX = 18,\n\t__ETHTOOL_A_RINGS_CNT = 19,\n\tETHTOOL_A_RINGS_MAX = 18,\n};\n\nenum {\n\tETHTOOL_A_RSS_UNSPEC = 0,\n\tETHTOOL_A_RSS_HEADER = 1,\n\tETHTOOL_A_RSS_CONTEXT = 2,\n\tETHTOOL_A_RSS_HFUNC = 3,\n\tETHTOOL_A_RSS_INDIR = 4,\n\tETHTOOL_A_RSS_HKEY = 5,\n\tETHTOOL_A_RSS_INPUT_XFRM = 6,\n\tETHTOOL_A_RSS_START_CONTEXT = 7,\n\t__ETHTOOL_A_RSS_CNT = 8,\n\tETHTOOL_A_RSS_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_CTRL_3_TX = 0,\n\tETHTOOL_A_STATS_ETH_CTRL_4_RX = 1,\n\tETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP = 2,\n\t__ETHTOOL_A_STATS_ETH_CTRL_CNT = 3,\n\tETHTOOL_A_STATS_ETH_CTRL_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_MAC_2_TX_PKT = 0,\n\tETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL = 1,\n\tETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL = 2,\n\tETHTOOL_A_STATS_ETH_MAC_5_RX_PKT = 3,\n\tETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR = 4,\n\tETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR = 5,\n\tETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES = 6,\n\tETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER = 7,\n\tETHTOOL_A_STATS_ETH_MAC_10_LATE_COL = 8,\n\tETHTOOL_A_STATS_ETH_MAC_11_XS_COL = 9,\n\tETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR = 10,\n\tETHTOOL_A_STATS_ETH_MAC_13_CS_ERR = 11,\n\tETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES = 12,\n\tETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR = 13,\n\tETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST = 14,\n\tETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST = 15,\n\tETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER = 16,\n\tETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST = 17,\n\tETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST = 18,\n\tETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR = 19,\n\tETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN = 20,\n\tETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR = 21,\n\t__ETHTOOL_A_STATS_ETH_MAC_CNT = 22,\n\tETHTOOL_A_STATS_ETH_MAC_MAX = 21,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR = 0,\n\t__ETHTOOL_A_STATS_ETH_PHY_CNT = 1,\n\tETHTOOL_A_STATS_ETH_PHY_MAX = 0,\n};\n\nenum {\n\tETHTOOL_A_STATS_GRP_UNSPEC = 0,\n\tETHTOOL_A_STATS_GRP_PAD = 1,\n\tETHTOOL_A_STATS_GRP_ID = 2,\n\tETHTOOL_A_STATS_GRP_SS_ID = 3,\n\tETHTOOL_A_STATS_GRP_STAT = 4,\n\tETHTOOL_A_STATS_GRP_HIST_RX = 5,\n\tETHTOOL_A_STATS_GRP_HIST_TX = 6,\n\tETHTOOL_A_STATS_GRP_HIST_BKT_LOW = 7,\n\tETHTOOL_A_STATS_GRP_HIST_BKT_HI = 8,\n\tETHTOOL_A_STATS_GRP_HIST_VAL = 9,\n\t__ETHTOOL_A_STATS_GRP_CNT = 10,\n\tETHTOOL_A_STATS_GRP_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_STATS_PHY_RX_PKTS = 0,\n\tETHTOOL_A_STATS_PHY_RX_BYTES = 1,\n\tETHTOOL_A_STATS_PHY_RX_ERRORS = 2,\n\tETHTOOL_A_STATS_PHY_TX_PKTS = 3,\n\tETHTOOL_A_STATS_PHY_TX_BYTES = 4,\n\tETHTOOL_A_STATS_PHY_TX_ERRORS = 5,\n\t__ETHTOOL_A_STATS_PHY_CNT = 6,\n\tETHTOOL_A_STATS_PHY_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_STATS_RMON_UNDERSIZE = 0,\n\tETHTOOL_A_STATS_RMON_OVERSIZE = 1,\n\tETHTOOL_A_STATS_RMON_FRAG = 2,\n\tETHTOOL_A_STATS_RMON_JABBER = 3,\n\t__ETHTOOL_A_STATS_RMON_CNT = 4,\n\tETHTOOL_A_STATS_RMON_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_STATS_UNSPEC = 0,\n\tETHTOOL_A_STATS_PAD = 1,\n\tETHTOOL_A_STATS_HEADER = 2,\n\tETHTOOL_A_STATS_GROUPS = 3,\n\tETHTOOL_A_STATS_GRP = 4,\n\tETHTOOL_A_STATS_SRC = 5,\n\t__ETHTOOL_A_STATS_CNT = 6,\n\tETHTOOL_A_STATS_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_STRINGSETS_UNSPEC = 0,\n\tETHTOOL_A_STRINGSETS_STRINGSET = 1,\n\t__ETHTOOL_A_STRINGSETS_CNT = 2,\n\tETHTOOL_A_STRINGSETS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_STRINGSET_UNSPEC = 0,\n\tETHTOOL_A_STRINGSET_ID = 1,\n\tETHTOOL_A_STRINGSET_COUNT = 2,\n\tETHTOOL_A_STRINGSET_STRINGS = 3,\n\t__ETHTOOL_A_STRINGSET_CNT = 4,\n\tETHTOOL_A_STRINGSET_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_STRINGS_UNSPEC = 0,\n\tETHTOOL_A_STRINGS_STRING = 1,\n\t__ETHTOOL_A_STRINGS_CNT = 2,\n\tETHTOOL_A_STRINGS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_STRING_UNSPEC = 0,\n\tETHTOOL_A_STRING_INDEX = 1,\n\tETHTOOL_A_STRING_VALUE = 2,\n\t__ETHTOOL_A_STRING_CNT = 3,\n\tETHTOOL_A_STRING_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_STRSET_UNSPEC = 0,\n\tETHTOOL_A_STRSET_HEADER = 1,\n\tETHTOOL_A_STRSET_STRINGSETS = 2,\n\tETHTOOL_A_STRSET_COUNTS_ONLY = 3,\n\t__ETHTOOL_A_STRSET_CNT = 4,\n\tETHTOOL_A_STRSET_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_TSCONFIG_UNSPEC = 0,\n\tETHTOOL_A_TSCONFIG_HEADER = 1,\n\tETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER = 2,\n\tETHTOOL_A_TSCONFIG_TX_TYPES = 3,\n\tETHTOOL_A_TSCONFIG_RX_FILTERS = 4,\n\tETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS = 5,\n\t__ETHTOOL_A_TSCONFIG_CNT = 6,\n\tETHTOOL_A_TSCONFIG_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_TSINFO_UNSPEC = 0,\n\tETHTOOL_A_TSINFO_HEADER = 1,\n\tETHTOOL_A_TSINFO_TIMESTAMPING = 2,\n\tETHTOOL_A_TSINFO_TX_TYPES = 3,\n\tETHTOOL_A_TSINFO_RX_FILTERS = 4,\n\tETHTOOL_A_TSINFO_PHC_INDEX = 5,\n\tETHTOOL_A_TSINFO_STATS = 6,\n\tETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 7,\n\t__ETHTOOL_A_TSINFO_CNT = 8,\n\tETHTOOL_A_TSINFO_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC = 0,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX = 1,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER = 2,\n\t__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT = 3,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TS_STAT_UNSPEC = 0,\n\tETHTOOL_A_TS_STAT_TX_PKTS = 1,\n\tETHTOOL_A_TS_STAT_TX_LOST = 2,\n\tETHTOOL_A_TS_STAT_TX_ERR = 3,\n\tETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED = 4,\n\t__ETHTOOL_A_TS_STAT_CNT = 5,\n\tETHTOOL_A_TS_STAT_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_INFO_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_INFO_HEADER = 1,\n\tETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 2,\n\t__ETHTOOL_A_TUNNEL_INFO_CNT = 3,\n\tETHTOOL_A_TUNNEL_INFO_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 1,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 2,\n\t__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT = 3,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 1,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 2,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 3,\n\t__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT = 4,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_TABLE = 1,\n\t__ETHTOOL_A_TUNNEL_UDP_CNT = 2,\n\tETHTOOL_A_TUNNEL_UDP_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_WOL_UNSPEC = 0,\n\tETHTOOL_A_WOL_HEADER = 1,\n\tETHTOOL_A_WOL_MODES = 2,\n\tETHTOOL_A_WOL_SOPASS = 3,\n\t__ETHTOOL_A_WOL_CNT = 4,\n\tETHTOOL_A_WOL_MAX = 3,\n};\n\nenum {\n\tETHTOOL_MSG_KERNEL_NONE = 0,\n\tETHTOOL_MSG_STRSET_GET_REPLY = 1,\n\tETHTOOL_MSG_LINKINFO_GET_REPLY = 2,\n\tETHTOOL_MSG_LINKINFO_NTF = 3,\n\tETHTOOL_MSG_LINKMODES_GET_REPLY = 4,\n\tETHTOOL_MSG_LINKMODES_NTF = 5,\n\tETHTOOL_MSG_LINKSTATE_GET_REPLY = 6,\n\tETHTOOL_MSG_DEBUG_GET_REPLY = 7,\n\tETHTOOL_MSG_DEBUG_NTF = 8,\n\tETHTOOL_MSG_WOL_GET_REPLY = 9,\n\tETHTOOL_MSG_WOL_NTF = 10,\n\tETHTOOL_MSG_FEATURES_GET_REPLY = 11,\n\tETHTOOL_MSG_FEATURES_SET_REPLY = 12,\n\tETHTOOL_MSG_FEATURES_NTF = 13,\n\tETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 14,\n\tETHTOOL_MSG_PRIVFLAGS_NTF = 15,\n\tETHTOOL_MSG_RINGS_GET_REPLY = 16,\n\tETHTOOL_MSG_RINGS_NTF = 17,\n\tETHTOOL_MSG_CHANNELS_GET_REPLY = 18,\n\tETHTOOL_MSG_CHANNELS_NTF = 19,\n\tETHTOOL_MSG_COALESCE_GET_REPLY = 20,\n\tETHTOOL_MSG_COALESCE_NTF = 21,\n\tETHTOOL_MSG_PAUSE_GET_REPLY = 22,\n\tETHTOOL_MSG_PAUSE_NTF = 23,\n\tETHTOOL_MSG_EEE_GET_REPLY = 24,\n\tETHTOOL_MSG_EEE_NTF = 25,\n\tETHTOOL_MSG_TSINFO_GET_REPLY = 26,\n\tETHTOOL_MSG_CABLE_TEST_NTF = 27,\n\tETHTOOL_MSG_CABLE_TEST_TDR_NTF = 28,\n\tETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 29,\n\tETHTOOL_MSG_FEC_GET_REPLY = 30,\n\tETHTOOL_MSG_FEC_NTF = 31,\n\tETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 32,\n\tETHTOOL_MSG_STATS_GET_REPLY = 33,\n\tETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 34,\n\tETHTOOL_MSG_MODULE_GET_REPLY = 35,\n\tETHTOOL_MSG_MODULE_NTF = 36,\n\tETHTOOL_MSG_PSE_GET_REPLY = 37,\n\tETHTOOL_MSG_RSS_GET_REPLY = 38,\n\tETHTOOL_MSG_PLCA_GET_CFG_REPLY = 39,\n\tETHTOOL_MSG_PLCA_GET_STATUS_REPLY = 40,\n\tETHTOOL_MSG_PLCA_NTF = 41,\n\tETHTOOL_MSG_MM_GET_REPLY = 42,\n\tETHTOOL_MSG_MM_NTF = 43,\n\tETHTOOL_MSG_MODULE_FW_FLASH_NTF = 44,\n\tETHTOOL_MSG_PHY_GET_REPLY = 45,\n\tETHTOOL_MSG_PHY_NTF = 46,\n\tETHTOOL_MSG_TSCONFIG_GET_REPLY = 47,\n\tETHTOOL_MSG_TSCONFIG_SET_REPLY = 48,\n\t__ETHTOOL_MSG_KERNEL_CNT = 49,\n\tETHTOOL_MSG_KERNEL_MAX = 48,\n};\n\nenum {\n\tETHTOOL_MSG_USER_NONE = 0,\n\tETHTOOL_MSG_STRSET_GET = 1,\n\tETHTOOL_MSG_LINKINFO_GET = 2,\n\tETHTOOL_MSG_LINKINFO_SET = 3,\n\tETHTOOL_MSG_LINKMODES_GET = 4,\n\tETHTOOL_MSG_LINKMODES_SET = 5,\n\tETHTOOL_MSG_LINKSTATE_GET = 6,\n\tETHTOOL_MSG_DEBUG_GET = 7,\n\tETHTOOL_MSG_DEBUG_SET = 8,\n\tETHTOOL_MSG_WOL_GET = 9,\n\tETHTOOL_MSG_WOL_SET = 10,\n\tETHTOOL_MSG_FEATURES_GET = 11,\n\tETHTOOL_MSG_FEATURES_SET = 12,\n\tETHTOOL_MSG_PRIVFLAGS_GET = 13,\n\tETHTOOL_MSG_PRIVFLAGS_SET = 14,\n\tETHTOOL_MSG_RINGS_GET = 15,\n\tETHTOOL_MSG_RINGS_SET = 16,\n\tETHTOOL_MSG_CHANNELS_GET = 17,\n\tETHTOOL_MSG_CHANNELS_SET = 18,\n\tETHTOOL_MSG_COALESCE_GET = 19,\n\tETHTOOL_MSG_COALESCE_SET = 20,\n\tETHTOOL_MSG_PAUSE_GET = 21,\n\tETHTOOL_MSG_PAUSE_SET = 22,\n\tETHTOOL_MSG_EEE_GET = 23,\n\tETHTOOL_MSG_EEE_SET = 24,\n\tETHTOOL_MSG_TSINFO_GET = 25,\n\tETHTOOL_MSG_CABLE_TEST_ACT = 26,\n\tETHTOOL_MSG_CABLE_TEST_TDR_ACT = 27,\n\tETHTOOL_MSG_TUNNEL_INFO_GET = 28,\n\tETHTOOL_MSG_FEC_GET = 29,\n\tETHTOOL_MSG_FEC_SET = 30,\n\tETHTOOL_MSG_MODULE_EEPROM_GET = 31,\n\tETHTOOL_MSG_STATS_GET = 32,\n\tETHTOOL_MSG_PHC_VCLOCKS_GET = 33,\n\tETHTOOL_MSG_MODULE_GET = 34,\n\tETHTOOL_MSG_MODULE_SET = 35,\n\tETHTOOL_MSG_PSE_GET = 36,\n\tETHTOOL_MSG_PSE_SET = 37,\n\tETHTOOL_MSG_RSS_GET = 38,\n\tETHTOOL_MSG_PLCA_GET_CFG = 39,\n\tETHTOOL_MSG_PLCA_SET_CFG = 40,\n\tETHTOOL_MSG_PLCA_GET_STATUS = 41,\n\tETHTOOL_MSG_MM_GET = 42,\n\tETHTOOL_MSG_MM_SET = 43,\n\tETHTOOL_MSG_MODULE_FW_FLASH_ACT = 44,\n\tETHTOOL_MSG_PHY_GET = 45,\n\tETHTOOL_MSG_TSCONFIG_GET = 46,\n\tETHTOOL_MSG_TSCONFIG_SET = 47,\n\t__ETHTOOL_MSG_USER_CNT = 48,\n\tETHTOOL_MSG_USER_MAX = 47,\n};\n\nenum {\n\tETHTOOL_STATS_ETH_PHY = 0,\n\tETHTOOL_STATS_ETH_MAC = 1,\n\tETHTOOL_STATS_ETH_CTRL = 2,\n\tETHTOOL_STATS_RMON = 3,\n\tETHTOOL_STATS_PHY = 4,\n\t__ETHTOOL_STATS_CNT = 5,\n};\n\nenum {\n\tETHTOOL_STAT_EEE_WAKEUP = 0,\n\tETHTOOL_STAT_SKB_ALLOC_ERR = 1,\n\tETHTOOL_STAT_REFILL_ERR = 2,\n\tETHTOOL_XDP_REDIRECT = 3,\n\tETHTOOL_XDP_PASS = 4,\n\tETHTOOL_XDP_DROP = 5,\n\tETHTOOL_XDP_TX = 6,\n\tETHTOOL_XDP_TX_ERR = 7,\n\tETHTOOL_XDP_XMIT = 8,\n\tETHTOOL_XDP_XMIT_ERR = 9,\n\tETHTOOL_MAX_STATS = 10,\n};\n\nenum {\n\tETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0,\n\tETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 1,\n\tETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 2,\n\t__ETHTOOL_UDP_TUNNEL_TYPE_CNT = 3,\n\tETHTOOL_UDP_TUNNEL_TYPE_MAX = 2,\n};\n\nenum {\n\tETHTOOL_XDP_REDIRECT___2 = 0,\n\tETHTOOL_XDP_PASS___2 = 1,\n\tETHTOOL_XDP_DROP___2 = 2,\n\tETHTOOL_XDP_TX___2 = 3,\n\tETHTOOL_XDP_TX_ERR___2 = 4,\n\tETHTOOL_XDP_XMIT___2 = 5,\n\tETHTOOL_XDP_XMIT_ERR___2 = 6,\n};\n\nenum {\n\tETH_RSS_HASH_TOP_BIT = 0,\n\tETH_RSS_HASH_XOR_BIT = 1,\n\tETH_RSS_HASH_CRC32_BIT = 2,\n\tETH_RSS_HASH_FUNCS_COUNT = 3,\n};\n\nenum {\n\tEVENTFS_SAVE_MODE = 65536,\n\tEVENTFS_SAVE_UID = 131072,\n\tEVENTFS_SAVE_GID = 262144,\n};\n\nenum {\n\tEVENT_CMD_COMPLETE = 0,\n\tEVENT_XFER_COMPLETE = 1,\n\tEVENT_DATA_COMPLETE = 2,\n\tEVENT_DATA_ERROR = 3,\n};\n\nenum {\n\tEVENT_FILE_FL_ENABLED = 1,\n\tEVENT_FILE_FL_RECORDED_CMD = 2,\n\tEVENT_FILE_FL_RECORDED_TGID = 4,\n\tEVENT_FILE_FL_FILTERED = 8,\n\tEVENT_FILE_FL_NO_SET_FILTER = 16,\n\tEVENT_FILE_FL_SOFT_MODE = 32,\n\tEVENT_FILE_FL_SOFT_DISABLED = 64,\n\tEVENT_FILE_FL_TRIGGER_MODE = 128,\n\tEVENT_FILE_FL_TRIGGER_COND = 256,\n\tEVENT_FILE_FL_PID_FILTER = 512,\n\tEVENT_FILE_FL_WAS_ENABLED = 1024,\n\tEVENT_FILE_FL_FREED = 2048,\n};\n\nenum {\n\tEVENT_FILE_FL_ENABLED_BIT = 0,\n\tEVENT_FILE_FL_RECORDED_CMD_BIT = 1,\n\tEVENT_FILE_FL_RECORDED_TGID_BIT = 2,\n\tEVENT_FILE_FL_FILTERED_BIT = 3,\n\tEVENT_FILE_FL_NO_SET_FILTER_BIT = 4,\n\tEVENT_FILE_FL_SOFT_MODE_BIT = 5,\n\tEVENT_FILE_FL_SOFT_DISABLED_BIT = 6,\n\tEVENT_FILE_FL_TRIGGER_MODE_BIT = 7,\n\tEVENT_FILE_FL_TRIGGER_COND_BIT = 8,\n\tEVENT_FILE_FL_PID_FILTER_BIT = 9,\n\tEVENT_FILE_FL_WAS_ENABLED_BIT = 10,\n\tEVENT_FILE_FL_FREED_BIT = 11,\n};\n\nenum {\n\tEVENT_TRIGGER_FL_PROBE = 1,\n};\n\nenum {\n\tEXT4_FC_REASON_XATTR = 0,\n\tEXT4_FC_REASON_CROSS_RENAME = 1,\n\tEXT4_FC_REASON_JOURNAL_FLAG_CHANGE = 2,\n\tEXT4_FC_REASON_NOMEM = 3,\n\tEXT4_FC_REASON_SWAP_BOOT = 4,\n\tEXT4_FC_REASON_RESIZE = 5,\n\tEXT4_FC_REASON_RENAME_DIR = 6,\n\tEXT4_FC_REASON_FALLOC_RANGE = 7,\n\tEXT4_FC_REASON_INODE_JOURNAL_DATA = 8,\n\tEXT4_FC_REASON_ENCRYPTED_FILENAME = 9,\n\tEXT4_FC_REASON_MAX = 10,\n};\n\nenum {\n\tEXT4_FC_STATUS_OK = 0,\n\tEXT4_FC_STATUS_INELIGIBLE = 1,\n\tEXT4_FC_STATUS_SKIPPED = 2,\n\tEXT4_FC_STATUS_FAILED = 3,\n};\n\nenum {\n\tEXT4_INODE_SECRM = 0,\n\tEXT4_INODE_UNRM = 1,\n\tEXT4_INODE_COMPR = 2,\n\tEXT4_INODE_SYNC = 3,\n\tEXT4_INODE_IMMUTABLE = 4,\n\tEXT4_INODE_APPEND = 5,\n\tEXT4_INODE_NODUMP = 6,\n\tEXT4_INODE_NOATIME = 7,\n\tEXT4_INODE_DIRTY = 8,\n\tEXT4_INODE_COMPRBLK = 9,\n\tEXT4_INODE_NOCOMPR = 10,\n\tEXT4_INODE_ENCRYPT = 11,\n\tEXT4_INODE_INDEX = 12,\n\tEXT4_INODE_IMAGIC = 13,\n\tEXT4_INODE_JOURNAL_DATA = 14,\n\tEXT4_INODE_NOTAIL = 15,\n\tEXT4_INODE_DIRSYNC = 16,\n\tEXT4_INODE_TOPDIR = 17,\n\tEXT4_INODE_HUGE_FILE = 18,\n\tEXT4_INODE_EXTENTS = 19,\n\tEXT4_INODE_VERITY = 20,\n\tEXT4_INODE_EA_INODE = 21,\n\tEXT4_INODE_DAX = 25,\n\tEXT4_INODE_INLINE_DATA = 28,\n\tEXT4_INODE_PROJINHERIT = 29,\n\tEXT4_INODE_CASEFOLD = 30,\n\tEXT4_INODE_RESERVED = 31,\n};\n\nenum {\n\tEXT4_MF_MNTDIR_SAMPLED = 0,\n\tEXT4_MF_FC_INELIGIBLE = 1,\n};\n\nenum {\n\tEXT4_STATE_NEW = 0,\n\tEXT4_STATE_XATTR = 1,\n\tEXT4_STATE_NO_EXPAND = 2,\n\tEXT4_STATE_DA_ALLOC_CLOSE = 3,\n\tEXT4_STATE_EXT_MIGRATE = 4,\n\tEXT4_STATE_NEWENTRY = 5,\n\tEXT4_STATE_MAY_INLINE_DATA = 6,\n\tEXT4_STATE_EXT_PRECACHED = 7,\n\tEXT4_STATE_LUSTRE_EA_INODE = 8,\n\tEXT4_STATE_VERITY_IN_PROGRESS = 9,\n\tEXT4_STATE_FC_COMMITTING = 10,\n\tEXT4_STATE_ORPHAN_FILE = 11,\n};\n\nenum {\n\tFAN53526_CHIP_ID_01 = 1,\n};\n\nenum {\n\tFAN53526_CHIP_REV_08 = 8,\n};\n\nenum {\n\tFAN53555_CHIP_ID_00 = 0,\n\tFAN53555_CHIP_ID_01 = 1,\n\tFAN53555_CHIP_ID_02 = 2,\n\tFAN53555_CHIP_ID_03 = 3,\n\tFAN53555_CHIP_ID_04 = 4,\n\tFAN53555_CHIP_ID_05 = 5,\n\tFAN53555_CHIP_ID_08 = 8,\n};\n\nenum {\n\tFAN53555_CHIP_REV_00 = 3,\n\tFAN53555_CHIP_REV_13 = 15,\n};\n\nenum {\n\tFAN53555_VSEL_ID_0 = 0,\n\tFAN53555_VSEL_ID_1 = 1,\n};\n\nenum {\n\tFAN_EVENT_INIT = 0,\n\tFAN_EVENT_REPORTED = 1,\n\tFAN_EVENT_ANSWERED = 2,\n\tFAN_EVENT_CANCELED = 3,\n};\n\nenum {\n\tFATTR4_CLONE_BLKSIZE = 77,\n\tFATTR4_SPACE_FREED = 78,\n\tFATTR4_CHANGE_ATTR_TYPE = 79,\n\tFATTR4_SEC_LABEL = 80,\n};\n\nenum {\n\tFATTR4_DIR_NOTIF_DELAY = 56,\n\tFATTR4_DIRENT_NOTIF_DELAY = 57,\n\tFATTR4_DACL = 58,\n\tFATTR4_SACL = 59,\n\tFATTR4_CHANGE_POLICY = 60,\n\tFATTR4_FS_STATUS = 61,\n\tFATTR4_FS_LAYOUT_TYPES = 62,\n\tFATTR4_LAYOUT_HINT = 63,\n\tFATTR4_LAYOUT_TYPES = 64,\n\tFATTR4_LAYOUT_BLKSIZE = 65,\n\tFATTR4_LAYOUT_ALIGNMENT = 66,\n\tFATTR4_FS_LOCATIONS_INFO = 67,\n\tFATTR4_MDSTHRESHOLD = 68,\n\tFATTR4_RETENTION_GET = 69,\n\tFATTR4_RETENTION_SET = 70,\n\tFATTR4_RETENTEVT_GET = 71,\n\tFATTR4_RETENTEVT_SET = 72,\n\tFATTR4_RETENTION_HOLD = 73,\n\tFATTR4_MODE_SET_MASKED = 74,\n\tFATTR4_SUPPATTR_EXCLCREAT = 75,\n\tFATTR4_FS_CHARSET_CAP = 76,\n};\n\nenum {\n\tFATTR4_MODE_UMASK = 81,\n};\n\nenum {\n\tFATTR4_OPEN_ARGUMENTS = 86,\n};\n\nenum {\n\tFATTR4_SUPPORTED_ATTRS = 0,\n\tFATTR4_TYPE = 1,\n\tFATTR4_FH_EXPIRE_TYPE = 2,\n\tFATTR4_CHANGE = 3,\n\tFATTR4_SIZE = 4,\n\tFATTR4_LINK_SUPPORT = 5,\n\tFATTR4_SYMLINK_SUPPORT = 6,\n\tFATTR4_NAMED_ATTR = 7,\n\tFATTR4_FSID = 8,\n\tFATTR4_UNIQUE_HANDLES = 9,\n\tFATTR4_LEASE_TIME = 10,\n\tFATTR4_RDATTR_ERROR = 11,\n\tFATTR4_ACL = 12,\n\tFATTR4_ACLSUPPORT = 13,\n\tFATTR4_ARCHIVE = 14,\n\tFATTR4_CANSETTIME = 15,\n\tFATTR4_CASE_INSENSITIVE = 16,\n\tFATTR4_CASE_PRESERVING = 17,\n\tFATTR4_CHOWN_RESTRICTED = 18,\n\tFATTR4_FILEHANDLE = 19,\n\tFATTR4_FILEID = 20,\n\tFATTR4_FILES_AVAIL = 21,\n\tFATTR4_FILES_FREE = 22,\n\tFATTR4_FILES_TOTAL = 23,\n\tFATTR4_FS_LOCATIONS = 24,\n\tFATTR4_HIDDEN = 25,\n\tFATTR4_HOMOGENEOUS = 26,\n\tFATTR4_MAXFILESIZE = 27,\n\tFATTR4_MAXLINK = 28,\n\tFATTR4_MAXNAME = 29,\n\tFATTR4_MAXREAD = 30,\n\tFATTR4_MAXWRITE = 31,\n\tFATTR4_MIMETYPE = 32,\n\tFATTR4_MODE = 33,\n\tFATTR4_NO_TRUNC = 34,\n\tFATTR4_NUMLINKS = 35,\n\tFATTR4_OWNER = 36,\n\tFATTR4_OWNER_GROUP = 37,\n\tFATTR4_QUOTA_AVAIL_HARD = 38,\n\tFATTR4_QUOTA_AVAIL_SOFT = 39,\n\tFATTR4_QUOTA_USED = 40,\n\tFATTR4_RAWDEV = 41,\n\tFATTR4_SPACE_AVAIL = 42,\n\tFATTR4_SPACE_FREE = 43,\n\tFATTR4_SPACE_TOTAL = 44,\n\tFATTR4_SPACE_USED = 45,\n\tFATTR4_SYSTEM = 46,\n\tFATTR4_TIME_ACCESS = 47,\n\tFATTR4_TIME_ACCESS_SET = 48,\n\tFATTR4_TIME_BACKUP = 49,\n\tFATTR4_TIME_CREATE = 50,\n\tFATTR4_TIME_DELTA = 51,\n\tFATTR4_TIME_METADATA = 52,\n\tFATTR4_TIME_MODIFY = 53,\n\tFATTR4_TIME_MODIFY_SET = 54,\n\tFATTR4_MOUNTED_ON_FILEID = 55,\n};\n\nenum {\n\tFATTR4_TIME_DELEG_ACCESS = 84,\n};\n\nenum {\n\tFATTR4_TIME_DELEG_MODIFY = 85,\n};\n\nenum {\n\tFATTR4_XATTR_SUPPORT = 82,\n};\n\nenum {\n\tFBCON_LOGO_CANSHOW = -1,\n\tFBCON_LOGO_DRAW = -2,\n\tFBCON_LOGO_DONTSHOW = -3,\n};\n\nenum {\n\tFB_BLANK_UNBLANK = 0,\n\tFB_BLANK_NORMAL = 1,\n\tFB_BLANK_VSYNC_SUSPEND = 2,\n\tFB_BLANK_HSYNC_SUSPEND = 3,\n\tFB_BLANK_POWERDOWN = 4,\n};\n\nenum {\n\tFILEID_HIGH_OFF = 0,\n\tFILEID_LOW_OFF = 1,\n\tFILE_I_TYPE_OFF = 2,\n\tEMBED_FH_OFF = 3,\n};\n\nenum {\n\tFILTER_OTHER = 0,\n\tFILTER_STATIC_STRING = 1,\n\tFILTER_DYN_STRING = 2,\n\tFILTER_RDYN_STRING = 3,\n\tFILTER_PTR_STRING = 4,\n\tFILTER_TRACE_FN = 5,\n\tFILTER_CPUMASK = 6,\n\tFILTER_COMM = 7,\n\tFILTER_CPU = 8,\n\tFILTER_STACKTRACE = 9,\n};\n\nenum {\n\tFILT_ERR_NONE = 0,\n\tFILT_ERR_INVALID_OP = 1,\n\tFILT_ERR_TOO_MANY_OPEN = 2,\n\tFILT_ERR_TOO_MANY_CLOSE = 3,\n\tFILT_ERR_MISSING_QUOTE = 4,\n\tFILT_ERR_MISSING_BRACE_OPEN = 5,\n\tFILT_ERR_MISSING_BRACE_CLOSE = 6,\n\tFILT_ERR_OPERAND_TOO_LONG = 7,\n\tFILT_ERR_EXPECT_STRING = 8,\n\tFILT_ERR_EXPECT_DIGIT = 9,\n\tFILT_ERR_ILLEGAL_FIELD_OP = 10,\n\tFILT_ERR_FIELD_NOT_FOUND = 11,\n\tFILT_ERR_ILLEGAL_INTVAL = 12,\n\tFILT_ERR_BAD_SUBSYS_FILTER = 13,\n\tFILT_ERR_TOO_MANY_PREDS = 14,\n\tFILT_ERR_INVALID_FILTER = 15,\n\tFILT_ERR_INVALID_CPULIST = 16,\n\tFILT_ERR_IP_FIELD_ONLY = 17,\n\tFILT_ERR_INVALID_VALUE = 18,\n\tFILT_ERR_NO_FUNCTION = 19,\n\tFILT_ERR_ERRNO = 20,\n\tFILT_ERR_NO_FILTER = 21,\n};\n\nenum {\n\tFOLL_TOUCH = 65536,\n\tFOLL_TRIED = 131072,\n\tFOLL_REMOTE = 262144,\n\tFOLL_PIN = 524288,\n\tFOLL_FAST_ONLY = 1048576,\n\tFOLL_UNLOCKABLE = 2097152,\n\tFOLL_MADV_POPULATE = 4194304,\n};\n\nenum {\n\tFOLL_WRITE = 1,\n\tFOLL_GET = 2,\n\tFOLL_DUMP = 4,\n\tFOLL_FORCE = 8,\n\tFOLL_NOWAIT = 16,\n\tFOLL_NOFAULT = 32,\n\tFOLL_HWPOISON = 64,\n\tFOLL_ANON = 128,\n\tFOLL_LONGTERM = 256,\n\tFOLL_SPLIT_PMD = 512,\n\tFOLL_PCI_P2PDMA = 1024,\n\tFOLL_INTERRUPTIBLE = 2048,\n\tFOLL_HONOR_NUMA_FAULT = 4096,\n};\n\nenum {\n\tFORMAT_HEADER = 1,\n\tFORMAT_FIELD_SEPERATOR = 2,\n\tFORMAT_PRINTFMT = 3,\n};\n\nenum {\n\tFUTEX_STATE_OK = 0,\n\tFUTEX_STATE_EXITING = 1,\n\tFUTEX_STATE_DEAD = 2,\n};\n\nenum {\n\tF_TX_CHK_AUTO_OFF = -2147483648,\n\tF_TX_CHK_AUTO_ON = 1073741824,\n\tF_M_RX_RAM_DIS = 16777216,\n};\n\nenum {\n\tGENHD_FL_REMOVABLE = 1,\n\tGENHD_FL_HIDDEN = 2,\n\tGENHD_FL_NO_PART = 4,\n};\n\nenum {\n\tGHES_SEV_NO = 0,\n\tGHES_SEV_CORRECTED = 1,\n\tGHES_SEV_RECOVERABLE = 2,\n\tGHES_SEV_PANIC = 3,\n};\n\nenum {\n\tGLB_GPIO_CLK_DEB_ENA = -2147483648,\n\tGLB_GPIO_CLK_DBG_MSK = 1006632960,\n\tGLB_GPIO_INT_RST_D3_DIS = 32768,\n\tGLB_GPIO_LED_PAD_SPEED_UP = 16384,\n\tGLB_GPIO_STAT_RACE_DIS = 8192,\n\tGLB_GPIO_TEST_SEL_MSK = 6144,\n\tGLB_GPIO_TEST_SEL_BASE = 2048,\n\tGLB_GPIO_RAND_ENA = 1024,\n\tGLB_GPIO_RAND_BIT_1 = 512,\n};\n\nenum {\n\tGMAC_CTRL = 3840,\n\tGPHY_CTRL = 3844,\n\tGMAC_IRQ_SRC = 3848,\n\tGMAC_IRQ_MSK = 3852,\n\tGMAC_LINK_CTRL = 3856,\n\tWOL_CTRL_STAT = 3872,\n\tWOL_MATCH_CTL = 3874,\n\tWOL_MATCH_RES = 3875,\n\tWOL_MAC_ADDR = 3876,\n\tWOL_PATT_RPTR = 3884,\n\tWOL_PATT_LEN_LO = 3888,\n\tWOL_PATT_LEN_HI = 3892,\n\tWOL_PATT_CNT_0 = 3896,\n\tWOL_PATT_CNT_4 = 3900,\n};\n\nenum {\n\tGMAC_TI_ST_VAL = 3604,\n\tGMAC_TI_ST_CTRL = 3608,\n\tGMAC_TI_ST_TST = 3610,\n};\n\nenum {\n\tGMC_SET_RST = 32768,\n\tGMC_SEC_RST_OFF = 16384,\n\tGMC_BYP_MACSECRX_ON = 8192,\n\tGMC_BYP_MACSECRX_OFF = 4096,\n\tGMC_BYP_MACSECTX_ON = 2048,\n\tGMC_BYP_MACSECTX_OFF = 1024,\n\tGMC_BYP_RETR_ON = 512,\n\tGMC_BYP_RETR_OFF = 256,\n\tGMC_H_BURST_ON = 128,\n\tGMC_H_BURST_OFF = 64,\n\tGMC_F_LOOPB_ON = 32,\n\tGMC_F_LOOPB_OFF = 16,\n\tGMC_PAUSE_ON = 8,\n\tGMC_PAUSE_OFF = 4,\n\tGMC_RST_CLR = 2,\n\tGMC_RST_SET = 1,\n};\n\nenum {\n\tGMLC_RST_CLR = 2,\n\tGMLC_RST_SET = 1,\n};\n\nenum {\n\tGMR_FS_LEN = 2147418112,\n\tGMR_FS_VLAN = 8192,\n\tGMR_FS_JABBER = 4096,\n\tGMR_FS_UN_SIZE = 2048,\n\tGMR_FS_MC = 1024,\n\tGMR_FS_BC = 512,\n\tGMR_FS_RX_OK = 256,\n\tGMR_FS_GOOD_FC = 128,\n\tGMR_FS_BAD_FC = 64,\n\tGMR_FS_MII_ERR = 32,\n\tGMR_FS_LONG_ERR = 16,\n\tGMR_FS_FRAGMENT = 8,\n\tGMR_FS_CRC_ERR = 2,\n\tGMR_FS_RX_FF_OV = 1,\n\tGMR_FS_ANY_ERR = 6267,\n};\n\nenum {\n\tGMT_ST_START = 4,\n\tGMT_ST_STOP = 2,\n\tGMT_ST_CLR_IRQ = 1,\n};\n\nenum {\n\tGM_GPCR_PROM_ENA = 16384,\n\tGM_GPCR_FC_TX_DIS = 8192,\n\tGM_GPCR_TX_ENA = 4096,\n\tGM_GPCR_RX_ENA = 2048,\n\tGM_GPCR_BURST_ENA = 1024,\n\tGM_GPCR_LOOP_ENA = 512,\n\tGM_GPCR_PART_ENA = 256,\n\tGM_GPCR_GIGS_ENA = 128,\n\tGM_GPCR_FL_PASS = 64,\n\tGM_GPCR_DUP_FULL = 32,\n\tGM_GPCR_FC_RX_DIS = 16,\n\tGM_GPCR_SPEED_100 = 8,\n\tGM_GPCR_AU_DUP_DIS = 4,\n\tGM_GPCR_AU_FCT_DIS = 2,\n\tGM_GPCR_AU_SPD_DIS = 1,\n};\n\nenum {\n\tGM_GP_STAT = 0,\n\tGM_GP_CTRL = 4,\n\tGM_TX_CTRL = 8,\n\tGM_RX_CTRL = 12,\n\tGM_TX_FLOW_CTRL = 16,\n\tGM_TX_PARAM = 20,\n\tGM_SERIAL_MODE = 24,\n\tGM_SRC_ADDR_1L = 28,\n\tGM_SRC_ADDR_1M = 32,\n\tGM_SRC_ADDR_1H = 36,\n\tGM_SRC_ADDR_2L = 40,\n\tGM_SRC_ADDR_2M = 44,\n\tGM_SRC_ADDR_2H = 48,\n\tGM_MC_ADDR_H1 = 52,\n\tGM_MC_ADDR_H2 = 56,\n\tGM_MC_ADDR_H3 = 60,\n\tGM_MC_ADDR_H4 = 64,\n\tGM_TX_IRQ_SRC = 68,\n\tGM_RX_IRQ_SRC = 72,\n\tGM_TR_IRQ_SRC = 76,\n\tGM_TX_IRQ_MSK = 80,\n\tGM_RX_IRQ_MSK = 84,\n\tGM_TR_IRQ_MSK = 88,\n\tGM_SMI_CTRL = 128,\n\tGM_SMI_DATA = 132,\n\tGM_PHY_ADDR = 136,\n\tGM_MIB_CNT_BASE = 256,\n\tGM_MIB_CNT_END = 604,\n};\n\nenum {\n\tGM_IS_TX_CO_OV = 32,\n\tGM_IS_RX_CO_OV = 16,\n\tGM_IS_TX_FF_UR = 8,\n\tGM_IS_TX_COMPL = 4,\n\tGM_IS_RX_FF_OR = 2,\n\tGM_IS_RX_COMPL = 1,\n};\n\nenum {\n\tGM_PAR_MIB_CLR = 32,\n\tGM_PAR_MIB_TST = 16,\n};\n\nenum {\n\tGM_RXCR_UCF_ENA = 32768,\n\tGM_RXCR_MCF_ENA = 16384,\n\tGM_RXCR_CRC_DIS = 8192,\n\tGM_RXCR_PASS_FC = 4096,\n};\n\nenum {\n\tGM_RXF_UC_OK = 256,\n\tGM_RXF_BC_OK = 264,\n\tGM_RXF_MPAUSE = 272,\n\tGM_RXF_MC_OK = 280,\n\tGM_RXF_FCS_ERR = 288,\n\tGM_RXO_OK_LO = 304,\n\tGM_RXO_OK_HI = 312,\n\tGM_RXO_ERR_LO = 320,\n\tGM_RXO_ERR_HI = 328,\n\tGM_RXF_SHT = 336,\n\tGM_RXE_FRAG = 344,\n\tGM_RXF_64B = 352,\n\tGM_RXF_127B = 360,\n\tGM_RXF_255B = 368,\n\tGM_RXF_511B = 376,\n\tGM_RXF_1023B = 384,\n\tGM_RXF_1518B = 392,\n\tGM_RXF_MAX_SZ = 400,\n\tGM_RXF_LNG_ERR = 408,\n\tGM_RXF_JAB_PKT = 416,\n\tGM_RXE_FIFO_OV = 432,\n\tGM_TXF_UC_OK = 448,\n\tGM_TXF_BC_OK = 456,\n\tGM_TXF_MPAUSE = 464,\n\tGM_TXF_MC_OK = 472,\n\tGM_TXO_OK_LO = 480,\n\tGM_TXO_OK_HI = 488,\n\tGM_TXF_64B = 496,\n\tGM_TXF_127B = 504,\n\tGM_TXF_255B = 512,\n\tGM_TXF_511B = 520,\n\tGM_TXF_1023B = 528,\n\tGM_TXF_1518B = 536,\n\tGM_TXF_MAX_SZ = 544,\n\tGM_TXF_COL = 560,\n\tGM_TXF_LAT_COL = 568,\n\tGM_TXF_ABO_COL = 576,\n\tGM_TXF_MUL_COL = 584,\n\tGM_TXF_SNG_COL = 592,\n\tGM_TXE_FIFO_UR = 600,\n};\n\nenum {\n\tGM_SMI_CT_PHY_A_MSK = 63488,\n\tGM_SMI_CT_REG_A_MSK = 1984,\n\tGM_SMI_CT_OP_RD = 32,\n\tGM_SMI_CT_RD_VAL = 16,\n\tGM_SMI_CT_BUSY = 8,\n};\n\nenum {\n\tGM_SMOD_DATABL_MSK = 63488,\n\tGM_SMOD_LIMIT_4 = 1024,\n\tGM_SMOD_VLAN_ENA = 512,\n\tGM_SMOD_JUMBO_ENA = 256,\n\tGM_NEW_FLOW_CTRL = 64,\n\tGM_SMOD_IPG_MSK = 31,\n};\n\nenum {\n\tGM_TXCR_FORCE_JAM = 32768,\n\tGM_TXCR_CRC_DIS = 16384,\n\tGM_TXCR_PAD_DIS = 8192,\n\tGM_TXCR_COL_THR_MSK = 7168,\n};\n\nenum {\n\tGM_TXPA_JAMLEN_MSK = 49152,\n\tGM_TXPA_JAMIPG_MSK = 15872,\n\tGM_TXPA_JAMDAT_MSK = 496,\n\tGM_TXPA_BO_LIM_MSK = 15,\n\tTX_JAM_LEN_DEF = 3,\n\tTX_JAM_IPG_DEF = 11,\n\tTX_IPG_JAM_DEF = 28,\n\tTX_BOF_LIM_DEF = 4,\n};\n\nenum {\n\tGPC_TX_PAUSE = 1073741824,\n\tGPC_RX_PAUSE = 536870912,\n\tGPC_SPEED = 402653184,\n\tGPC_LINK = 67108864,\n\tGPC_DUPLEX = 33554432,\n\tGPC_CLOCK = 16777216,\n\tGPC_PDOWN = 8388608,\n\tGPC_TSTMODE = 4194304,\n\tGPC_REG18 = 2097152,\n\tGPC_REG12SEL = 1572864,\n\tGPC_REG18SEL = 393216,\n\tGPC_SPILOCK = 65536,\n\tGPC_LEDMUX = 49152,\n\tGPC_INTPOL = 8192,\n\tGPC_DETECT = 4096,\n\tGPC_1000HD = 2048,\n\tGPC_SLAVE = 1024,\n\tGPC_PAUSE = 512,\n\tGPC_LEDCTL = 192,\n\tGPC_RST_CLR = 2,\n\tGPC_RST_SET = 1,\n};\n\nenum {\n\tGPIO_BASE = 0,\n\tIOCFG_RT_BASE = 1,\n\tIOCFG_RB_BASE = 2,\n\tIOCFG_LT_BASE = 3,\n\tIOCFG_LB_BASE = 4,\n\tIOCFG_TR_BASE = 5,\n\tIOCFG_TL_BASE = 6,\n};\n\nenum {\n\tGP_IDLE = 0,\n\tGP_ENTER = 1,\n\tGP_PASSED = 2,\n\tGP_EXIT = 3,\n\tGP_REPLAY = 4,\n};\n\nenum {\n\tGP_LAST = 174,\n\tPIN_DCUTCK_LPDCLK = 175,\n\tPIN_DCUTDI_LPDI = 176,\n\tPIN_DCUTMS = 177,\n\tPIN_DCUTRST_N = 178,\n\tPIN_DU_DOTCLKIN = 179,\n\tPIN_EXTALR = 180,\n\tPIN_FSCLKST = 181,\n\tPIN_FSCLKST_N = 182,\n\tPIN_PRESETOUT_N = 183,\n\tPIN_VDDQ_AVB = 184,\n\tPIN_VDDQ_GE = 185,\n};\n\nenum {\n\tGP_LAST___2 = 209,\n\tPIN_ASEBRK = 210,\n\tPIN_AVB_MDC = 211,\n\tPIN_AVB_MDIO = 212,\n\tPIN_AVB_TD0 = 213,\n\tPIN_AVB_TD1 = 214,\n\tPIN_AVB_TD2 = 215,\n\tPIN_AVB_TD3 = 216,\n\tPIN_AVB_TXC = 217,\n\tPIN_AVB_TX_CTL = 218,\n\tPIN_FSCLKST_N___2 = 219,\n\tPIN_MLB_REF = 220,\n\tPIN_PRESETOUT_N___2 = 221,\n\tPIN_TCK = 222,\n\tPIN_TDI = 223,\n\tPIN_TMS = 224,\n\tPIN_TRST_N = 225,\n\tPIN_VDDQ_AVB0 = 226,\n};\n\nenum {\n\tGP_LAST___3 = 227,\n\tPIN_ASEBRK___2 = 228,\n\tPIN_AVB_MDIO___2 = 229,\n\tPIN_AVB_RD0 = 230,\n\tPIN_AVB_RD1 = 231,\n\tPIN_AVB_RD2 = 232,\n\tPIN_AVB_RD3 = 233,\n\tPIN_AVB_RXC = 234,\n\tPIN_AVB_RX_CTL = 235,\n\tPIN_AVB_TD0___2 = 236,\n\tPIN_AVB_TD1___2 = 237,\n\tPIN_AVB_TD2___2 = 238,\n\tPIN_AVB_TD3___2 = 239,\n\tPIN_AVB_TXC___2 = 240,\n\tPIN_AVB_TXCREFCLK = 241,\n\tPIN_AVB_TX_CTL___2 = 242,\n\tPIN_DU_DOTCLKIN0 = 243,\n\tPIN_DU_DOTCLKIN1 = 244,\n\tPIN_DU_DOTCLKIN2 = 245,\n\tPIN_EXTALR___2 = 246,\n\tPIN_FSCLKST___2 = 247,\n\tPIN_MLB_REF___2 = 248,\n\tPIN_PRESETOUT_N___3 = 249,\n\tPIN_QSPI0_IO2 = 250,\n\tPIN_QSPI0_IO3 = 251,\n\tPIN_QSPI0_MISO_IO1 = 252,\n\tPIN_QSPI0_MOSI_IO0 = 253,\n\tPIN_QSPI0_SPCLK = 254,\n\tPIN_QSPI0_SSL = 255,\n\tPIN_QSPI1_IO2 = 256,\n\tPIN_QSPI1_IO3 = 257,\n\tPIN_QSPI1_MISO_IO1 = 258,\n\tPIN_QSPI1_MOSI_IO0 = 259,\n\tPIN_QSPI1_SPCLK = 260,\n\tPIN_QSPI1_SSL = 261,\n\tPIN_PRESET_N = 262,\n\tPIN_RPC_INT_N = 263,\n\tPIN_RPC_RESET_N = 264,\n\tPIN_RPC_WP_N = 265,\n\tPIN_TCK___2 = 266,\n\tPIN_TDI___2 = 267,\n\tPIN_TDO = 268,\n\tPIN_TMS___2 = 269,\n\tPIN_TRST_N___2 = 270,\n};\n\nenum {\n\tGP_LAST___4 = 244,\n\tPIN_VDDQ_AVB0___2 = 245,\n\tPIN_VDDQ_AVB1 = 246,\n\tPIN_VDDQ_AVB2 = 247,\n};\n\nenum {\n\tGP_LAST___5 = 227,\n\tPIN_ASEBRK___3 = 228,\n\tPIN_AVB_MDIO___3 = 229,\n\tPIN_AVB_RD0___2 = 230,\n\tPIN_AVB_RD1___2 = 231,\n\tPIN_AVB_RD2___2 = 232,\n\tPIN_AVB_RD3___2 = 233,\n\tPIN_AVB_RXC___2 = 234,\n\tPIN_AVB_RX_CTL___2 = 235,\n\tPIN_AVB_TD0___3 = 236,\n\tPIN_AVB_TD1___3 = 237,\n\tPIN_AVB_TD2___3 = 238,\n\tPIN_AVB_TD3___3 = 239,\n\tPIN_AVB_TXC___3 = 240,\n\tPIN_AVB_TXCREFCLK___2 = 241,\n\tPIN_AVB_TX_CTL___3 = 242,\n\tPIN_DU_DOTCLKIN0___2 = 243,\n\tPIN_DU_DOTCLKIN1___2 = 244,\n\tPIN_DU_DOTCLKIN2___2 = 245,\n\tPIN_DU_DOTCLKIN3 = 246,\n\tPIN_EXTALR___3 = 247,\n\tPIN_FSCLKST_N___3 = 248,\n\tPIN_MLB_REF___3 = 249,\n\tPIN_PRESETOUT_N___4 = 250,\n\tPIN_QSPI0_IO2___2 = 251,\n\tPIN_QSPI0_IO3___2 = 252,\n\tPIN_QSPI0_MISO_IO1___2 = 253,\n\tPIN_QSPI0_MOSI_IO0___2 = 254,\n\tPIN_QSPI0_SPCLK___2 = 255,\n\tPIN_QSPI0_SSL___2 = 256,\n\tPIN_QSPI1_IO2___2 = 257,\n\tPIN_QSPI1_IO3___2 = 258,\n\tPIN_QSPI1_MISO_IO1___2 = 259,\n\tPIN_QSPI1_MOSI_IO0___2 = 260,\n\tPIN_QSPI1_SPCLK___2 = 261,\n\tPIN_QSPI1_SSL___2 = 262,\n\tPIN_RPC_INT_N___2 = 263,\n\tPIN_RPC_RESET_N___2 = 264,\n\tPIN_RPC_WP_N___2 = 265,\n\tPIN_TCK___3 = 266,\n\tPIN_TDI___3 = 267,\n\tPIN_TDO___2 = 268,\n\tPIN_TMS___3 = 269,\n\tPIN_TRST_N___3 = 270,\n};\n\nenum {\n\tGP_LAST___6 = 269,\n\tPIN_VDDQ_AVB0___3 = 270,\n\tPIN_VDDQ_AVB1___2 = 271,\n\tPIN_VDDQ_AVB2___2 = 272,\n\tPIN_VDDQ_TSN0 = 273,\n};\n\nenum {\n\tGP_LAST___7 = 227,\n\tPIN_ASEBRK___4 = 228,\n\tPIN_AVB_MDIO___4 = 229,\n\tPIN_AVB_RD0___3 = 230,\n\tPIN_AVB_RD1___3 = 231,\n\tPIN_AVB_RD2___3 = 232,\n\tPIN_AVB_RD3___3 = 233,\n\tPIN_AVB_RXC___3 = 234,\n\tPIN_AVB_RX_CTL___3 = 235,\n\tPIN_AVB_TD0___4 = 236,\n\tPIN_AVB_TD1___4 = 237,\n\tPIN_AVB_TD2___4 = 238,\n\tPIN_AVB_TD3___4 = 239,\n\tPIN_AVB_TXC___4 = 240,\n\tPIN_AVB_TXCREFCLK___3 = 241,\n\tPIN_AVB_TX_CTL___4 = 242,\n\tPIN_DU_DOTCLKIN0___3 = 243,\n\tPIN_DU_DOTCLKIN1___3 = 244,\n\tPIN_DU_DOTCLKIN3___2 = 245,\n\tPIN_EXTALR___4 = 246,\n\tPIN_FSCLKST___3 = 247,\n\tPIN_MLB_REF___4 = 248,\n\tPIN_PRESETOUT_N___5 = 249,\n\tPIN_QSPI0_IO2___3 = 250,\n\tPIN_QSPI0_IO3___3 = 251,\n\tPIN_QSPI0_MISO_IO1___3 = 252,\n\tPIN_QSPI0_MOSI_IO0___3 = 253,\n\tPIN_QSPI0_SPCLK___3 = 254,\n\tPIN_QSPI0_SSL___3 = 255,\n\tPIN_QSPI1_IO2___3 = 256,\n\tPIN_QSPI1_IO3___3 = 257,\n\tPIN_QSPI1_MISO_IO1___3 = 258,\n\tPIN_QSPI1_MOSI_IO0___3 = 259,\n\tPIN_QSPI1_SPCLK___3 = 260,\n\tPIN_QSPI1_SSL___3 = 261,\n\tPIN_RPC_INT_N___3 = 262,\n\tPIN_RPC_RESET_N___3 = 263,\n\tPIN_RPC_WP_N___3 = 264,\n\tPIN_TCK___4 = 265,\n\tPIN_TDI___4 = 266,\n\tPIN_TDO___3 = 267,\n\tPIN_TMS___4 = 268,\n\tPIN_TRST_N___4 = 269,\n};\n\nenum {\n\tGP_LAST___8 = 205,\n\tPIN_DU_DOTCLKIN0___4 = 206,\n\tPIN_FSCLKST_N___4 = 207,\n\tPIN_MLB_REF___5 = 208,\n\tPIN_PRESETOUT_N___6 = 209,\n\tPIN_TCK___5 = 210,\n\tPIN_TDI___5 = 211,\n\tPIN_TMS___5 = 212,\n\tPIN_TRST_N___5 = 213,\n\tPIN_VDDQ_AVB0___4 = 214,\n};\n\nenum {\n\tGP_LAST___9 = 174,\n\tPIN_DU_DOTCLKIN___2 = 175,\n\tPIN_EXTALR___5 = 176,\n\tPIN_FSCLKST_N___5 = 177,\n\tPIN_PRESETOUT_N___7 = 178,\n\tPIN_TCK___6 = 179,\n\tPIN_TDI___6 = 180,\n\tPIN_TMS___6 = 181,\n\tPIN_TRST_N___6 = 182,\n\tPIN_VDDQ_AVB0___5 = 183,\n};\n\nenum {\n\tGSSX_NULL = 0,\n\tGSSX_INDICATE_MECHS = 1,\n\tGSSX_GET_CALL_CONTEXT = 2,\n\tGSSX_IMPORT_AND_CANON_NAME = 3,\n\tGSSX_EXPORT_CRED = 4,\n\tGSSX_IMPORT_CRED = 5,\n\tGSSX_ACQUIRE_CRED = 6,\n\tGSSX_STORE_CRED = 7,\n\tGSSX_INIT_SEC_CONTEXT = 8,\n\tGSSX_ACCEPT_SEC_CONTEXT = 9,\n\tGSSX_RELEASE_HANDLE = 10,\n\tGSSX_GET_MIC = 11,\n\tGSSX_VERIFY = 12,\n\tGSSX_WRAP = 13,\n\tGSSX_UNWRAP = 14,\n\tGSSX_WRAP_SIZE_LIMIT = 15,\n};\n\nenum {\n\tHANDSHAKE_A_ACCEPT_SOCKFD = 1,\n\tHANDSHAKE_A_ACCEPT_HANDLER_CLASS = 2,\n\tHANDSHAKE_A_ACCEPT_MESSAGE_TYPE = 3,\n\tHANDSHAKE_A_ACCEPT_TIMEOUT = 4,\n\tHANDSHAKE_A_ACCEPT_AUTH_MODE = 5,\n\tHANDSHAKE_A_ACCEPT_PEER_IDENTITY = 6,\n\tHANDSHAKE_A_ACCEPT_CERTIFICATE = 7,\n\tHANDSHAKE_A_ACCEPT_PEERNAME = 8,\n\t__HANDSHAKE_A_ACCEPT_MAX = 9,\n\tHANDSHAKE_A_ACCEPT_MAX = 8,\n};\n\nenum {\n\tHANDSHAKE_A_DONE_STATUS = 1,\n\tHANDSHAKE_A_DONE_SOCKFD = 2,\n\tHANDSHAKE_A_DONE_REMOTE_AUTH = 3,\n\t__HANDSHAKE_A_DONE_MAX = 4,\n\tHANDSHAKE_A_DONE_MAX = 3,\n};\n\nenum {\n\tHANDSHAKE_A_X509_CERT = 1,\n\tHANDSHAKE_A_X509_PRIVKEY = 2,\n\t__HANDSHAKE_A_X509_MAX = 3,\n\tHANDSHAKE_A_X509_MAX = 2,\n};\n\nenum {\n\tHANDSHAKE_CMD_READY = 1,\n\tHANDSHAKE_CMD_ACCEPT = 2,\n\tHANDSHAKE_CMD_DONE = 3,\n\t__HANDSHAKE_CMD_MAX = 4,\n\tHANDSHAKE_CMD_MAX = 3,\n};\n\nenum {\n\tHANDSHAKE_NLGRP_NONE = 0,\n\tHANDSHAKE_NLGRP_TLSHD = 1,\n};\n\nenum {\n\tHASH_SIZE = 128,\n};\n\nenum {\n\tHASH_TCP_IPV6_EX_CTRL = 32,\n\tHASH_IPV6_EX_CTRL = 16,\n\tHASH_TCP_IPV6_CTRL = 8,\n\tHASH_IPV6_CTRL = 4,\n\tHASH_TCP_IPV4_CTRL = 2,\n\tHASH_IPV4_CTRL = 1,\n\tHASH_ALL = 63,\n};\n\nenum {\n\tHAS_READ = 1,\n\tHAS_WRITE = 2,\n\tHAS_LSEEK = 4,\n\tHAS_POLL = 8,\n\tHAS_IOCTL = 16,\n};\n\nenum {\n\tHCU_CCSR_SMBALERT_MONITOR = 134217728,\n\tHCU_CCSR_CPU_SLEEP = 67108864,\n\tHCU_CCSR_CS_TO = 33554432,\n\tHCU_CCSR_WDOG = 16777216,\n\tHCU_CCSR_CLR_IRQ_HOST = 131072,\n\tHCU_CCSR_SET_IRQ_HCU = 65536,\n\tHCU_CCSR_AHB_RST = 512,\n\tHCU_CCSR_CPU_RST_MODE = 256,\n\tHCU_CCSR_SET_SYNC_CPU = 32,\n\tHCU_CCSR_CPU_CLK_DIVIDE_MSK = 24,\n\tHCU_CCSR_CPU_CLK_DIVIDE_BASE = 8,\n\tHCU_CCSR_OS_PRSNT = 4,\n\tHCU_CCSR_UC_STATE_MSK = 3,\n\tHCU_CCSR_UC_STATE_BASE = 1,\n\tHCU_CCSR_ASF_RESET = 0,\n\tHCU_CCSR_ASF_HALTED = 2,\n\tHCU_CCSR_ASF_RUNNING = 1,\n};\n\nenum {\n\tHIBERNATION_INVALID = 0,\n\tHIBERNATION_PLATFORM = 1,\n\tHIBERNATION_SHUTDOWN = 2,\n\tHIBERNATION_REBOOT = 3,\n\tHIBERNATION_SUSPEND = 4,\n\tHIBERNATION_TEST_RESUME = 5,\n\t__HIBERNATION_AFTER_LAST = 6,\n};\n\nenum {\n\tHISI_SAS_BIST_CODE_MODE_PRBS7 = 0,\n\tHISI_SAS_BIST_CODE_MODE_PRBS23 = 1,\n\tHISI_SAS_BIST_CODE_MODE_PRBS31 = 2,\n\tHISI_SAS_BIST_CODE_MODE_JTPAT = 3,\n\tHISI_SAS_BIST_CODE_MODE_CJTPAT = 4,\n\tHISI_SAS_BIST_CODE_MODE_SCRAMBED_0 = 5,\n\tHISI_SAS_BIST_CODE_MODE_TRAIN = 6,\n\tHISI_SAS_BIST_CODE_MODE_TRAIN_DONE = 7,\n\tHISI_SAS_BIST_CODE_MODE_HFTP = 8,\n\tHISI_SAS_BIST_CODE_MODE_MFTP = 9,\n\tHISI_SAS_BIST_CODE_MODE_LFTP = 10,\n\tHISI_SAS_BIST_CODE_MODE_FIXED_DATA = 11,\n};\n\nenum {\n\tHISI_SAS_BIST_LOOPBACK_MODE_DIGITAL = 0,\n\tHISI_SAS_BIST_LOOPBACK_MODE_SERDES = 1,\n\tHISI_SAS_BIST_LOOPBACK_MODE_REMOTE = 2,\n};\n\nenum {\n\tHISI_SAS_PHY_BCAST_ACK = 0,\n\tHISI_SAS_PHY_SL_PHY_ENABLED = 1,\n\tHISI_SAS_PHY_INT_ABNORMAL = 2,\n\tHISI_SAS_PHY_INT_NR = 3,\n};\n\nenum {\n\tHISI_SAS_PHY_PHY_UPDOWN = 0,\n\tHISI_SAS_PHY_CHNL_INT = 1,\n\tHISI_SAS_PHY_INT_NR___2 = 2,\n};\n\nenum {\n\tHI_SOFTIRQ = 0,\n\tTIMER_SOFTIRQ = 1,\n\tNET_TX_SOFTIRQ = 2,\n\tNET_RX_SOFTIRQ = 3,\n\tBLOCK_SOFTIRQ = 4,\n\tIRQ_POLL_SOFTIRQ = 5,\n\tTASKLET_SOFTIRQ = 6,\n\tSCHED_SOFTIRQ = 7,\n\tHRTIMER_SOFTIRQ = 8,\n\tRCU_SOFTIRQ = 9,\n\tNR_SOFTIRQS = 10,\n};\n\nenum {\n\tHP_THREAD_NONE = 0,\n\tHP_THREAD_ACTIVE = 1,\n\tHP_THREAD_PARKED = 2,\n};\n\nenum {\n\tHSE = 0,\n\tHSI = 1,\n\tMSI = 2,\n\tLSE = 3,\n\tLSI = 4,\n\tHSE_DIV2 = 5,\n\tICN_HS_MCU = 6,\n\tICN_LS_MCU = 7,\n\tICN_SDMMC = 8,\n\tICN_DDR = 9,\n\tICN_DISPLAY = 10,\n\tICN_HSL = 11,\n\tICN_NIC = 12,\n\tICN_VID = 13,\n\tFLEXGEN_07 = 14,\n\tFLEXGEN_08 = 15,\n\tFLEXGEN_09 = 16,\n\tFLEXGEN_10 = 17,\n\tFLEXGEN_11 = 18,\n\tFLEXGEN_12 = 19,\n\tFLEXGEN_13 = 20,\n\tFLEXGEN_14 = 21,\n\tFLEXGEN_15 = 22,\n\tFLEXGEN_16 = 23,\n\tFLEXGEN_17 = 24,\n\tFLEXGEN_18 = 25,\n\tFLEXGEN_19 = 26,\n\tFLEXGEN_20 = 27,\n\tFLEXGEN_21 = 28,\n\tFLEXGEN_22 = 29,\n\tFLEXGEN_23 = 30,\n\tFLEXGEN_24 = 31,\n\tFLEXGEN_25 = 32,\n\tFLEXGEN_26 = 33,\n\tFLEXGEN_27 = 34,\n\tFLEXGEN_28 = 35,\n\tFLEXGEN_29 = 36,\n\tFLEXGEN_30 = 37,\n\tFLEXGEN_31 = 38,\n\tFLEXGEN_32 = 39,\n\tFLEXGEN_33 = 40,\n\tFLEXGEN_34 = 41,\n\tFLEXGEN_35 = 42,\n\tFLEXGEN_36 = 43,\n\tFLEXGEN_37 = 44,\n\tFLEXGEN_38 = 45,\n\tFLEXGEN_39 = 46,\n\tFLEXGEN_40 = 47,\n\tFLEXGEN_41 = 48,\n\tFLEXGEN_42 = 49,\n\tFLEXGEN_43 = 50,\n\tFLEXGEN_44 = 51,\n\tFLEXGEN_45 = 52,\n\tFLEXGEN_46 = 53,\n\tFLEXGEN_47 = 54,\n\tFLEXGEN_48 = 55,\n\tFLEXGEN_49 = 56,\n\tFLEXGEN_50 = 57,\n\tFLEXGEN_51 = 58,\n\tFLEXGEN_52 = 59,\n\tFLEXGEN_53 = 60,\n\tFLEXGEN_54 = 61,\n\tFLEXGEN_55 = 62,\n\tFLEXGEN_56 = 63,\n\tFLEXGEN_57 = 64,\n\tFLEXGEN_58 = 65,\n\tFLEXGEN_59 = 66,\n\tFLEXGEN_60 = 67,\n\tFLEXGEN_61 = 68,\n\tFLEXGEN_62 = 69,\n\tFLEXGEN_63 = 70,\n\tICN_APB1 = 71,\n\tICN_APB2 = 72,\n\tICN_APB3 = 73,\n\tICN_APB4 = 74,\n\tICN_APBDBG = 75,\n\tTIMG1 = 76,\n\tTIMG2 = 77,\n\tPLL3 = 78,\n\tDSI_TXBYTE = 79,\n};\n\nenum {\n\tHTE_TS_REGISTERED = 0,\n\tHTE_TS_REQ = 1,\n\tHTE_TS_DISABLE = 2,\n\tHTE_TS_QUEUE_WK = 3,\n};\n\nenum {\n\tHUGETLB_SHMFS_INODE = 1,\n\tHUGETLB_ANONHUGE_INODE = 2,\n};\n\nenum {\n\tHW_BREAKPOINT_EMPTY = 0,\n\tHW_BREAKPOINT_R = 1,\n\tHW_BREAKPOINT_W = 2,\n\tHW_BREAKPOINT_RW = 3,\n\tHW_BREAKPOINT_X = 4,\n\tHW_BREAKPOINT_INVALID = 7,\n};\n\nenum {\n\tHW_BREAKPOINT_LEN_1 = 1,\n\tHW_BREAKPOINT_LEN_2 = 2,\n\tHW_BREAKPOINT_LEN_3 = 3,\n\tHW_BREAKPOINT_LEN_4 = 4,\n\tHW_BREAKPOINT_LEN_5 = 5,\n\tHW_BREAKPOINT_LEN_6 = 6,\n\tHW_BREAKPOINT_LEN_7 = 7,\n\tHW_BREAKPOINT_LEN_8 = 8,\n};\n\nenum {\n\tHW_OWNER = 128,\n\tOP_TCPWRITE = 17,\n\tOP_TCPSTART = 18,\n\tOP_TCPINIT = 20,\n\tOP_TCPLCK = 24,\n\tOP_TCPCHKSUM = 18,\n\tOP_TCPIS = 22,\n\tOP_TCPLW = 25,\n\tOP_TCPLSW = 27,\n\tOP_TCPLISW = 31,\n\tOP_ADDR64 = 33,\n\tOP_VLAN = 34,\n\tOP_ADDR64VLAN = 35,\n\tOP_LRGLEN = 36,\n\tOP_LRGLENVLAN = 38,\n\tOP_MSS = 40,\n\tOP_MSSVLAN = 42,\n\tOP_BUFFER = 64,\n\tOP_PACKET = 65,\n\tOP_LARGESEND = 67,\n\tOP_LSOV2 = 69,\n\tOP_RXSTAT = 96,\n\tOP_RXTIMESTAMP = 97,\n\tOP_RXVLAN = 98,\n\tOP_RXCHKS = 100,\n\tOP_RXCHKSVLAN = 102,\n\tOP_RXTIMEVLAN = 99,\n\tOP_RSS_HASH = 101,\n\tOP_TXINDEXLE = 104,\n\tOP_MACSEC = 108,\n\tOP_PUTIDX = 112,\n};\n\nenum {\n\tICMP6_MIB_NUM = 0,\n\tICMP6_MIB_INMSGS = 1,\n\tICMP6_MIB_INERRORS = 2,\n\tICMP6_MIB_OUTMSGS = 3,\n\tICMP6_MIB_OUTERRORS = 4,\n\tICMP6_MIB_CSUMERRORS = 5,\n\tICMP6_MIB_RATELIMITHOST = 6,\n\t__ICMP6_MIB_MAX = 7,\n};\n\nenum {\n\tICMP_MIB_NUM = 0,\n\tICMP_MIB_INMSGS = 1,\n\tICMP_MIB_INERRORS = 2,\n\tICMP_MIB_INDESTUNREACHS = 3,\n\tICMP_MIB_INTIMEEXCDS = 4,\n\tICMP_MIB_INPARMPROBS = 5,\n\tICMP_MIB_INSRCQUENCHS = 6,\n\tICMP_MIB_INREDIRECTS = 7,\n\tICMP_MIB_INECHOS = 8,\n\tICMP_MIB_INECHOREPS = 9,\n\tICMP_MIB_INTIMESTAMPS = 10,\n\tICMP_MIB_INTIMESTAMPREPS = 11,\n\tICMP_MIB_INADDRMASKS = 12,\n\tICMP_MIB_INADDRMASKREPS = 13,\n\tICMP_MIB_OUTMSGS = 14,\n\tICMP_MIB_OUTERRORS = 15,\n\tICMP_MIB_OUTDESTUNREACHS = 16,\n\tICMP_MIB_OUTTIMEEXCDS = 17,\n\tICMP_MIB_OUTPARMPROBS = 18,\n\tICMP_MIB_OUTSRCQUENCHS = 19,\n\tICMP_MIB_OUTREDIRECTS = 20,\n\tICMP_MIB_OUTECHOS = 21,\n\tICMP_MIB_OUTECHOREPS = 22,\n\tICMP_MIB_OUTTIMESTAMPS = 23,\n\tICMP_MIB_OUTTIMESTAMPREPS = 24,\n\tICMP_MIB_OUTADDRMASKS = 25,\n\tICMP_MIB_OUTADDRMASKREPS = 26,\n\tICMP_MIB_CSUMERRORS = 27,\n\tICMP_MIB_RATELIMITGLOBAL = 28,\n\tICMP_MIB_RATELIMITHOST = 29,\n\t__ICMP_MIB_MAX = 30,\n};\n\nenum {\n\tICQ_EXITED = 4,\n\tICQ_DESTROYED = 8,\n};\n\nenum {\n\tIDX_MODULE_ID = 0,\n\tIDX_ST_OPS_COMMON_VALUE_ID = 1,\n};\n\nenum {\n\tIFA_UNSPEC = 0,\n\tIFA_ADDRESS = 1,\n\tIFA_LOCAL = 2,\n\tIFA_LABEL = 3,\n\tIFA_BROADCAST = 4,\n\tIFA_ANYCAST = 5,\n\tIFA_CACHEINFO = 6,\n\tIFA_MULTICAST = 7,\n\tIFA_FLAGS = 8,\n\tIFA_RT_PRIORITY = 9,\n\tIFA_TARGET_NETNSID = 10,\n\tIFA_PROTO = 11,\n\t__IFA_MAX = 12,\n};\n\nenum {\n\tIFLA_BRIDGE_FLAGS = 0,\n\tIFLA_BRIDGE_MODE = 1,\n\tIFLA_BRIDGE_VLAN_INFO = 2,\n\tIFLA_BRIDGE_VLAN_TUNNEL_INFO = 3,\n\tIFLA_BRIDGE_MRP = 4,\n\tIFLA_BRIDGE_CFM = 5,\n\tIFLA_BRIDGE_MST = 6,\n\t__IFLA_BRIDGE_MAX = 7,\n};\n\nenum {\n\tIFLA_BRPORT_UNSPEC = 0,\n\tIFLA_BRPORT_STATE = 1,\n\tIFLA_BRPORT_PRIORITY = 2,\n\tIFLA_BRPORT_COST = 3,\n\tIFLA_BRPORT_MODE = 4,\n\tIFLA_BRPORT_GUARD = 5,\n\tIFLA_BRPORT_PROTECT = 6,\n\tIFLA_BRPORT_FAST_LEAVE = 7,\n\tIFLA_BRPORT_LEARNING = 8,\n\tIFLA_BRPORT_UNICAST_FLOOD = 9,\n\tIFLA_BRPORT_PROXYARP = 10,\n\tIFLA_BRPORT_LEARNING_SYNC = 11,\n\tIFLA_BRPORT_PROXYARP_WIFI = 12,\n\tIFLA_BRPORT_ROOT_ID = 13,\n\tIFLA_BRPORT_BRIDGE_ID = 14,\n\tIFLA_BRPORT_DESIGNATED_PORT = 15,\n\tIFLA_BRPORT_DESIGNATED_COST = 16,\n\tIFLA_BRPORT_ID = 17,\n\tIFLA_BRPORT_NO = 18,\n\tIFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 19,\n\tIFLA_BRPORT_CONFIG_PENDING = 20,\n\tIFLA_BRPORT_MESSAGE_AGE_TIMER = 21,\n\tIFLA_BRPORT_FORWARD_DELAY_TIMER = 22,\n\tIFLA_BRPORT_HOLD_TIMER = 23,\n\tIFLA_BRPORT_FLUSH = 24,\n\tIFLA_BRPORT_MULTICAST_ROUTER = 25,\n\tIFLA_BRPORT_PAD = 26,\n\tIFLA_BRPORT_MCAST_FLOOD = 27,\n\tIFLA_BRPORT_MCAST_TO_UCAST = 28,\n\tIFLA_BRPORT_VLAN_TUNNEL = 29,\n\tIFLA_BRPORT_BCAST_FLOOD = 30,\n\tIFLA_BRPORT_GROUP_FWD_MASK = 31,\n\tIFLA_BRPORT_NEIGH_SUPPRESS = 32,\n\tIFLA_BRPORT_ISOLATED = 33,\n\tIFLA_BRPORT_BACKUP_PORT = 34,\n\tIFLA_BRPORT_MRP_RING_OPEN = 35,\n\tIFLA_BRPORT_MRP_IN_OPEN = 36,\n\tIFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 37,\n\tIFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 38,\n\tIFLA_BRPORT_LOCKED = 39,\n\tIFLA_BRPORT_MAB = 40,\n\tIFLA_BRPORT_MCAST_N_GROUPS = 41,\n\tIFLA_BRPORT_MCAST_MAX_GROUPS = 42,\n\tIFLA_BRPORT_NEIGH_VLAN_SUPPRESS = 43,\n\tIFLA_BRPORT_BACKUP_NHID = 44,\n\t__IFLA_BRPORT_MAX = 45,\n};\n\nenum {\n\tIFLA_EVENT_NONE = 0,\n\tIFLA_EVENT_REBOOT = 1,\n\tIFLA_EVENT_FEATURES = 2,\n\tIFLA_EVENT_BONDING_FAILOVER = 3,\n\tIFLA_EVENT_NOTIFY_PEERS = 4,\n\tIFLA_EVENT_IGMP_RESEND = 5,\n\tIFLA_EVENT_BONDING_OPTIONS = 6,\n};\n\nenum {\n\tIFLA_INET_UNSPEC = 0,\n\tIFLA_INET_CONF = 1,\n\t__IFLA_INET_MAX = 2,\n};\n\nenum {\n\tIFLA_INFO_UNSPEC = 0,\n\tIFLA_INFO_KIND = 1,\n\tIFLA_INFO_DATA = 2,\n\tIFLA_INFO_XSTATS = 3,\n\tIFLA_INFO_SLAVE_KIND = 4,\n\tIFLA_INFO_SLAVE_DATA = 5,\n\t__IFLA_INFO_MAX = 6,\n};\n\nenum {\n\tIFLA_IPTUN_UNSPEC = 0,\n\tIFLA_IPTUN_LINK = 1,\n\tIFLA_IPTUN_LOCAL = 2,\n\tIFLA_IPTUN_REMOTE = 3,\n\tIFLA_IPTUN_TTL = 4,\n\tIFLA_IPTUN_TOS = 5,\n\tIFLA_IPTUN_ENCAP_LIMIT = 6,\n\tIFLA_IPTUN_FLOWINFO = 7,\n\tIFLA_IPTUN_FLAGS = 8,\n\tIFLA_IPTUN_PROTO = 9,\n\tIFLA_IPTUN_PMTUDISC = 10,\n\tIFLA_IPTUN_6RD_PREFIX = 11,\n\tIFLA_IPTUN_6RD_RELAY_PREFIX = 12,\n\tIFLA_IPTUN_6RD_PREFIXLEN = 13,\n\tIFLA_IPTUN_6RD_RELAY_PREFIXLEN = 14,\n\tIFLA_IPTUN_ENCAP_TYPE = 15,\n\tIFLA_IPTUN_ENCAP_FLAGS = 16,\n\tIFLA_IPTUN_ENCAP_SPORT = 17,\n\tIFLA_IPTUN_ENCAP_DPORT = 18,\n\tIFLA_IPTUN_COLLECT_METADATA = 19,\n\tIFLA_IPTUN_FWMARK = 20,\n\t__IFLA_IPTUN_MAX = 21,\n};\n\nenum {\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 1,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 2,\n\t__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX = 3,\n};\n\nenum {\n\tIFLA_OFFLOAD_XSTATS_UNSPEC = 0,\n\tIFLA_OFFLOAD_XSTATS_CPU_HIT = 1,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO = 2,\n\tIFLA_OFFLOAD_XSTATS_L3_STATS = 3,\n\t__IFLA_OFFLOAD_XSTATS_MAX = 4,\n};\n\nenum {\n\tIFLA_PORT_UNSPEC = 0,\n\tIFLA_PORT_VF = 1,\n\tIFLA_PORT_PROFILE = 2,\n\tIFLA_PORT_VSI_TYPE = 3,\n\tIFLA_PORT_INSTANCE_UUID = 4,\n\tIFLA_PORT_HOST_UUID = 5,\n\tIFLA_PORT_REQUEST = 6,\n\tIFLA_PORT_RESPONSE = 7,\n\t__IFLA_PORT_MAX = 8,\n};\n\nenum {\n\tIFLA_PROTO_DOWN_REASON_UNSPEC = 0,\n\tIFLA_PROTO_DOWN_REASON_MASK = 1,\n\tIFLA_PROTO_DOWN_REASON_VALUE = 2,\n\t__IFLA_PROTO_DOWN_REASON_CNT = 3,\n\tIFLA_PROTO_DOWN_REASON_MAX = 2,\n};\n\nenum {\n\tIFLA_STATS_GETSET_UNSPEC = 0,\n\tIFLA_STATS_GET_FILTERS = 1,\n\tIFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 2,\n\t__IFLA_STATS_GETSET_MAX = 3,\n};\n\nenum {\n\tIFLA_STATS_UNSPEC = 0,\n\tIFLA_STATS_LINK_64 = 1,\n\tIFLA_STATS_LINK_XSTATS = 2,\n\tIFLA_STATS_LINK_XSTATS_SLAVE = 3,\n\tIFLA_STATS_LINK_OFFLOAD_XSTATS = 4,\n\tIFLA_STATS_AF_SPEC = 5,\n\t__IFLA_STATS_MAX = 6,\n};\n\nenum {\n\tIFLA_TUN_UNSPEC = 0,\n\tIFLA_TUN_OWNER = 1,\n\tIFLA_TUN_GROUP = 2,\n\tIFLA_TUN_TYPE = 3,\n\tIFLA_TUN_PI = 4,\n\tIFLA_TUN_VNET_HDR = 5,\n\tIFLA_TUN_PERSIST = 6,\n\tIFLA_TUN_MULTI_QUEUE = 7,\n\tIFLA_TUN_NUM_QUEUES = 8,\n\tIFLA_TUN_NUM_DISABLED_QUEUES = 9,\n\t__IFLA_TUN_MAX = 10,\n};\n\nenum {\n\tIFLA_UNSPEC = 0,\n\tIFLA_ADDRESS = 1,\n\tIFLA_BROADCAST = 2,\n\tIFLA_IFNAME = 3,\n\tIFLA_MTU = 4,\n\tIFLA_LINK = 5,\n\tIFLA_QDISC = 6,\n\tIFLA_STATS = 7,\n\tIFLA_COST = 8,\n\tIFLA_PRIORITY = 9,\n\tIFLA_MASTER = 10,\n\tIFLA_WIRELESS = 11,\n\tIFLA_PROTINFO = 12,\n\tIFLA_TXQLEN = 13,\n\tIFLA_MAP = 14,\n\tIFLA_WEIGHT = 15,\n\tIFLA_OPERSTATE = 16,\n\tIFLA_LINKMODE = 17,\n\tIFLA_LINKINFO = 18,\n\tIFLA_NET_NS_PID = 19,\n\tIFLA_IFALIAS = 20,\n\tIFLA_NUM_VF = 21,\n\tIFLA_VFINFO_LIST = 22,\n\tIFLA_STATS64 = 23,\n\tIFLA_VF_PORTS = 24,\n\tIFLA_PORT_SELF = 25,\n\tIFLA_AF_SPEC = 26,\n\tIFLA_GROUP = 27,\n\tIFLA_NET_NS_FD = 28,\n\tIFLA_EXT_MASK = 29,\n\tIFLA_PROMISCUITY = 30,\n\tIFLA_NUM_TX_QUEUES = 31,\n\tIFLA_NUM_RX_QUEUES = 32,\n\tIFLA_CARRIER = 33,\n\tIFLA_PHYS_PORT_ID = 34,\n\tIFLA_CARRIER_CHANGES = 35,\n\tIFLA_PHYS_SWITCH_ID = 36,\n\tIFLA_LINK_NETNSID = 37,\n\tIFLA_PHYS_PORT_NAME = 38,\n\tIFLA_PROTO_DOWN = 39,\n\tIFLA_GSO_MAX_SEGS = 40,\n\tIFLA_GSO_MAX_SIZE = 41,\n\tIFLA_PAD = 42,\n\tIFLA_XDP = 43,\n\tIFLA_EVENT = 44,\n\tIFLA_NEW_NETNSID = 45,\n\tIFLA_IF_NETNSID = 46,\n\tIFLA_TARGET_NETNSID = 46,\n\tIFLA_CARRIER_UP_COUNT = 47,\n\tIFLA_CARRIER_DOWN_COUNT = 48,\n\tIFLA_NEW_IFINDEX = 49,\n\tIFLA_MIN_MTU = 50,\n\tIFLA_MAX_MTU = 51,\n\tIFLA_PROP_LIST = 52,\n\tIFLA_ALT_IFNAME = 53,\n\tIFLA_PERM_ADDRESS = 54,\n\tIFLA_PROTO_DOWN_REASON = 55,\n\tIFLA_PARENT_DEV_NAME = 56,\n\tIFLA_PARENT_DEV_BUS_NAME = 57,\n\tIFLA_GRO_MAX_SIZE = 58,\n\tIFLA_TSO_MAX_SIZE = 59,\n\tIFLA_TSO_MAX_SEGS = 60,\n\tIFLA_ALLMULTI = 61,\n\tIFLA_DEVLINK_PORT = 62,\n\tIFLA_GSO_IPV4_MAX_SIZE = 63,\n\tIFLA_GRO_IPV4_MAX_SIZE = 64,\n\tIFLA_DPLL_PIN = 65,\n\tIFLA_MAX_PACING_OFFLOAD_HORIZON = 66,\n\t__IFLA_MAX = 67,\n};\n\nenum {\n\tIFLA_VF_INFO_UNSPEC = 0,\n\tIFLA_VF_INFO = 1,\n\t__IFLA_VF_INFO_MAX = 2,\n};\n\nenum {\n\tIFLA_VF_LINK_STATE_AUTO = 0,\n\tIFLA_VF_LINK_STATE_ENABLE = 1,\n\tIFLA_VF_LINK_STATE_DISABLE = 2,\n\t__IFLA_VF_LINK_STATE_MAX = 3,\n};\n\nenum {\n\tIFLA_VF_PORT_UNSPEC = 0,\n\tIFLA_VF_PORT = 1,\n\t__IFLA_VF_PORT_MAX = 2,\n};\n\nenum {\n\tIFLA_VF_STATS_RX_PACKETS = 0,\n\tIFLA_VF_STATS_TX_PACKETS = 1,\n\tIFLA_VF_STATS_RX_BYTES = 2,\n\tIFLA_VF_STATS_TX_BYTES = 3,\n\tIFLA_VF_STATS_BROADCAST = 4,\n\tIFLA_VF_STATS_MULTICAST = 5,\n\tIFLA_VF_STATS_PAD = 6,\n\tIFLA_VF_STATS_RX_DROPPED = 7,\n\tIFLA_VF_STATS_TX_DROPPED = 8,\n\t__IFLA_VF_STATS_MAX = 9,\n};\n\nenum {\n\tIFLA_VF_UNSPEC = 0,\n\tIFLA_VF_MAC = 1,\n\tIFLA_VF_VLAN = 2,\n\tIFLA_VF_TX_RATE = 3,\n\tIFLA_VF_SPOOFCHK = 4,\n\tIFLA_VF_LINK_STATE = 5,\n\tIFLA_VF_RATE = 6,\n\tIFLA_VF_RSS_QUERY_EN = 7,\n\tIFLA_VF_STATS = 8,\n\tIFLA_VF_TRUST = 9,\n\tIFLA_VF_IB_NODE_GUID = 10,\n\tIFLA_VF_IB_PORT_GUID = 11,\n\tIFLA_VF_VLAN_LIST = 12,\n\tIFLA_VF_BROADCAST = 13,\n\t__IFLA_VF_MAX = 14,\n};\n\nenum {\n\tIFLA_VF_VLAN_INFO_UNSPEC = 0,\n\tIFLA_VF_VLAN_INFO = 1,\n\t__IFLA_VF_VLAN_INFO_MAX = 2,\n};\n\nenum {\n\tIFLA_XDP_UNSPEC = 0,\n\tIFLA_XDP_FD = 1,\n\tIFLA_XDP_ATTACHED = 2,\n\tIFLA_XDP_FLAGS = 3,\n\tIFLA_XDP_PROG_ID = 4,\n\tIFLA_XDP_DRV_PROG_ID = 5,\n\tIFLA_XDP_SKB_PROG_ID = 6,\n\tIFLA_XDP_HW_PROG_ID = 7,\n\tIFLA_XDP_EXPECTED_FD = 8,\n\t__IFLA_XDP_MAX = 9,\n};\n\nenum {\n\tIF_ACT_NONE = -1,\n\tIF_ACT_FILTER = 0,\n\tIF_ACT_START = 1,\n\tIF_ACT_STOP = 2,\n\tIF_SRC_FILE = 3,\n\tIF_SRC_KERNEL = 4,\n\tIF_SRC_FILEADDR = 5,\n\tIF_SRC_KERNELADDR = 6,\n};\n\nenum {\n\tIF_LINK_MODE_DEFAULT = 0,\n\tIF_LINK_MODE_DORMANT = 1,\n\tIF_LINK_MODE_TESTING = 2,\n};\n\nenum {\n\tIF_OPER_UNKNOWN = 0,\n\tIF_OPER_NOTPRESENT = 1,\n\tIF_OPER_DOWN = 2,\n\tIF_OPER_LOWERLAYERDOWN = 3,\n\tIF_OPER_TESTING = 4,\n\tIF_OPER_DORMANT = 5,\n\tIF_OPER_UP = 6,\n};\n\nenum {\n\tIF_STATE_ACTION = 0,\n\tIF_STATE_SOURCE = 1,\n\tIF_STATE_END = 2,\n};\n\nenum {\n\tINBAND_CISCO_SGMII = 0,\n\tINBAND_BASEX = 1,\n};\n\nenum {\n\tINET_DIAG_BC_NOP = 0,\n\tINET_DIAG_BC_JMP = 1,\n\tINET_DIAG_BC_S_GE = 2,\n\tINET_DIAG_BC_S_LE = 3,\n\tINET_DIAG_BC_D_GE = 4,\n\tINET_DIAG_BC_D_LE = 5,\n\tINET_DIAG_BC_AUTO = 6,\n\tINET_DIAG_BC_S_COND = 7,\n\tINET_DIAG_BC_D_COND = 8,\n\tINET_DIAG_BC_DEV_COND = 9,\n\tINET_DIAG_BC_MARK_COND = 10,\n\tINET_DIAG_BC_S_EQ = 11,\n\tINET_DIAG_BC_D_EQ = 12,\n\tINET_DIAG_BC_CGROUP_COND = 13,\n};\n\nenum {\n\tINET_DIAG_NONE = 0,\n\tINET_DIAG_MEMINFO = 1,\n\tINET_DIAG_INFO = 2,\n\tINET_DIAG_VEGASINFO = 3,\n\tINET_DIAG_CONG = 4,\n\tINET_DIAG_TOS = 5,\n\tINET_DIAG_TCLASS = 6,\n\tINET_DIAG_SKMEMINFO = 7,\n\tINET_DIAG_SHUTDOWN = 8,\n\tINET_DIAG_DCTCPINFO = 9,\n\tINET_DIAG_PROTOCOL = 10,\n\tINET_DIAG_SKV6ONLY = 11,\n\tINET_DIAG_LOCALS = 12,\n\tINET_DIAG_PEERS = 13,\n\tINET_DIAG_PAD = 14,\n\tINET_DIAG_MARK = 15,\n\tINET_DIAG_BBRINFO = 16,\n\tINET_DIAG_CLASS_ID = 17,\n\tINET_DIAG_MD5SIG = 18,\n\tINET_DIAG_ULP_INFO = 19,\n\tINET_DIAG_SK_BPF_STORAGES = 20,\n\tINET_DIAG_CGROUP_ID = 21,\n\tINET_DIAG_SOCKOPT = 22,\n\t__INET_DIAG_MAX = 23,\n};\n\nenum {\n\tINET_DIAG_REQ_NONE = 0,\n\tINET_DIAG_REQ_BYTECODE = 1,\n\tINET_DIAG_REQ_SK_BPF_STORAGES = 2,\n\tINET_DIAG_REQ_PROTOCOL = 3,\n\t__INET_DIAG_REQ_MAX = 4,\n};\n\nenum {\n\tINET_ECN_NOT_ECT = 0,\n\tINET_ECN_ECT_1 = 1,\n\tINET_ECN_ECT_0 = 2,\n\tINET_ECN_CE = 3,\n\tINET_ECN_MASK = 3,\n};\n\nenum {\n\tINET_FLAGS_PKTINFO = 0,\n\tINET_FLAGS_TTL = 1,\n\tINET_FLAGS_TOS = 2,\n\tINET_FLAGS_RECVOPTS = 3,\n\tINET_FLAGS_RETOPTS = 4,\n\tINET_FLAGS_PASSSEC = 5,\n\tINET_FLAGS_ORIGDSTADDR = 6,\n\tINET_FLAGS_CHECKSUM = 7,\n\tINET_FLAGS_RECVFRAGSIZE = 8,\n\tINET_FLAGS_RECVERR = 9,\n\tINET_FLAGS_RECVERR_RFC4884 = 10,\n\tINET_FLAGS_FREEBIND = 11,\n\tINET_FLAGS_HDRINCL = 12,\n\tINET_FLAGS_MC_LOOP = 13,\n\tINET_FLAGS_MC_ALL = 14,\n\tINET_FLAGS_TRANSPARENT = 15,\n\tINET_FLAGS_IS_ICSK = 16,\n\tINET_FLAGS_NODEFRAG = 17,\n\tINET_FLAGS_BIND_ADDRESS_NO_PORT = 18,\n\tINET_FLAGS_DEFER_CONNECT = 19,\n\tINET_FLAGS_MC6_LOOP = 20,\n\tINET_FLAGS_RECVERR6_RFC4884 = 21,\n\tINET_FLAGS_MC6_ALL = 22,\n\tINET_FLAGS_AUTOFLOWLABEL_SET = 23,\n\tINET_FLAGS_AUTOFLOWLABEL = 24,\n\tINET_FLAGS_DONTFRAG = 25,\n\tINET_FLAGS_RECVERR6 = 26,\n\tINET_FLAGS_REPFLOW = 27,\n\tINET_FLAGS_RTALERT_ISOLATE = 28,\n\tINET_FLAGS_SNDFLOW = 29,\n\tINET_FLAGS_RTALERT = 30,\n};\n\nenum {\n\tINET_FRAG_FIRST_IN = 1,\n\tINET_FRAG_LAST_IN = 2,\n\tINET_FRAG_COMPLETE = 4,\n\tINET_FRAG_HASH_DEAD = 8,\n\tINET_FRAG_DROP = 16,\n};\n\nenum {\n\tINET_ULP_INFO_UNSPEC = 0,\n\tINET_ULP_INFO_NAME = 1,\n\tINET_ULP_INFO_TLS = 2,\n\tINET_ULP_INFO_MPTCP = 3,\n\t__INET_ULP_INFO_MAX = 4,\n};\n\nenum {\n\tINSN_F_FRAMENO_MASK = 7,\n\tINSN_F_SPI_MASK = 63,\n\tINSN_F_SPI_SHIFT = 3,\n\tINSN_F_STACK_ACCESS = 512,\n};\n\nenum {\n\tINTEL_DSM_FNS = 0,\n\tINTEL_DSM_V18_SWITCH = 3,\n\tINTEL_DSM_V33_SWITCH = 4,\n\tINTEL_DSM_HS_CAPS = 8,\n};\n\nenum {\n\tINTERRUPT_MASK_ALL_VER_11 = 204799,\n\tINTERRUPT_MASK_ALL_VER_21 = 466943,\n};\n\nenum {\n\tINVERT = 1,\n\tPROCESS_AND = 2,\n\tPROCESS_OR = 4,\n};\n\nenum {\n\tIOBL_BUF_RING = 1,\n\tIOBL_INC = 2,\n};\n\nenum {\n\tIOCB_CMD_PREAD = 0,\n\tIOCB_CMD_PWRITE = 1,\n\tIOCB_CMD_FSYNC = 2,\n\tIOCB_CMD_FDSYNC = 3,\n\tIOCB_CMD_POLL = 5,\n\tIOCB_CMD_NOOP = 6,\n\tIOCB_CMD_PREADV = 7,\n\tIOCB_CMD_PWRITEV = 8,\n};\n\nenum {\n\tIOMMUFD_ACCESS_RW_READ = 0,\n\tIOMMUFD_ACCESS_RW_WRITE = 1,\n\tIOMMUFD_ACCESS_RW_KTHREAD = 2,\n\t__IOMMUFD_ACCESS_RW_SLOW_PATH = 4,\n};\n\nenum {\n\tIOMMU_SET_DOMAIN_MUST_SUCCEED = 1,\n};\n\nenum {\n\tIOPRIO_CLASS_NONE = 0,\n\tIOPRIO_CLASS_RT = 1,\n\tIOPRIO_CLASS_BE = 2,\n\tIOPRIO_CLASS_IDLE = 3,\n\tIOPRIO_CLASS_INVALID = 7,\n};\n\nenum {\n\tIOPRIO_HINT_NONE = 0,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_1 = 1,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_2 = 2,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_3 = 3,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_4 = 4,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_5 = 5,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_6 = 6,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_7 = 7,\n};\n\nenum {\n\tIOPRIO_WHO_PROCESS = 1,\n\tIOPRIO_WHO_PGRP = 2,\n\tIOPRIO_WHO_USER = 3,\n};\n\nenum {\n\tIORES_DESC_NONE = 0,\n\tIORES_DESC_CRASH_KERNEL = 1,\n\tIORES_DESC_ACPI_TABLES = 2,\n\tIORES_DESC_ACPI_NV_STORAGE = 3,\n\tIORES_DESC_PERSISTENT_MEMORY = 4,\n\tIORES_DESC_PERSISTENT_MEMORY_LEGACY = 5,\n\tIORES_DESC_DEVICE_PRIVATE_MEMORY = 6,\n\tIORES_DESC_RESERVED = 7,\n\tIORES_DESC_SOFT_RESERVED = 8,\n\tIORES_DESC_CXL = 9,\n};\n\nenum {\n\tIORING_MEM_REGION_REG_WAIT_ARG = 1,\n};\n\nenum {\n\tIORING_MEM_REGION_TYPE_USER = 1,\n};\n\nenum {\n\tIORING_REGISTER_SRC_REGISTERED = 1,\n\tIORING_REGISTER_DST_REPLACE = 2,\n};\n\nenum {\n\tIORING_REG_WAIT_TS = 1,\n};\n\nenum {\n\tIORING_RSRC_FILE = 0,\n\tIORING_RSRC_BUFFER = 1,\n};\n\nenum {\n\tIOU_F_TWQ_LAZY_WAKE = 1,\n};\n\nenum {\n\tIOU_OK = 0,\n\tIOU_ISSUE_SKIP_COMPLETE = -529,\n\tIOU_REQUEUE = -3072,\n\tIOU_STOP_MULTISHOT = -125,\n};\n\nenum {\n\tIOU_POLL_DONE = 0,\n\tIOU_POLL_NO_ACTION = 1,\n\tIOU_POLL_REMOVE_POLL_USE_RES = 2,\n\tIOU_POLL_REISSUE = 3,\n\tIOU_POLL_REQUEUE = 4,\n};\n\nenum {\n\tIO_ACCT_STALLED_BIT = 0,\n};\n\nenum {\n\tIO_APOLL_OK = 0,\n\tIO_APOLL_ABORTED = 1,\n\tIO_APOLL_READY = 2,\n};\n\nenum {\n\tIO_CHECK_CQ_OVERFLOW_BIT = 0,\n\tIO_CHECK_CQ_DROPPED_BIT = 1,\n};\n\nenum {\n\tIO_EVENTFD_OP_SIGNAL_BIT = 0,\n};\n\nenum {\n\tIO_REGION_F_VMAP = 1,\n\tIO_REGION_F_USER_PROVIDED = 2,\n\tIO_REGION_F_SINGLE_REF = 4,\n};\n\nenum {\n\tIO_SQ_THREAD_SHOULD_STOP = 0,\n\tIO_SQ_THREAD_SHOULD_PARK = 1,\n};\n\nenum {\n\tIO_WORKER_F_UP = 0,\n\tIO_WORKER_F_RUNNING = 1,\n\tIO_WORKER_F_FREE = 2,\n\tIO_WORKER_F_BOUND = 3,\n};\n\nenum {\n\tIO_WQ_ACCT_BOUND = 0,\n\tIO_WQ_ACCT_UNBOUND = 1,\n\tIO_WQ_ACCT_NR = 2,\n};\n\nenum {\n\tIO_WQ_BIT_EXIT = 0,\n};\n\nenum {\n\tIO_WQ_WORK_CANCEL = 1,\n\tIO_WQ_WORK_HASHED = 2,\n\tIO_WQ_WORK_UNBOUND = 4,\n\tIO_WQ_WORK_CONCURRENT = 16,\n\tIO_WQ_HASH_SHIFT = 24,\n};\n\nenum {\n\tIP6_FH_F_FRAG = 1,\n\tIP6_FH_F_AUTH = 2,\n\tIP6_FH_F_SKIP_RH = 4,\n};\n\nenum {\n\tIPPROTO_IP = 0,\n\tIPPROTO_ICMP = 1,\n\tIPPROTO_IGMP = 2,\n\tIPPROTO_IPIP = 4,\n\tIPPROTO_TCP = 6,\n\tIPPROTO_EGP = 8,\n\tIPPROTO_PUP = 12,\n\tIPPROTO_UDP = 17,\n\tIPPROTO_IDP = 22,\n\tIPPROTO_TP = 29,\n\tIPPROTO_DCCP = 33,\n\tIPPROTO_IPV6 = 41,\n\tIPPROTO_RSVP = 46,\n\tIPPROTO_GRE = 47,\n\tIPPROTO_ESP = 50,\n\tIPPROTO_AH = 51,\n\tIPPROTO_MTP = 92,\n\tIPPROTO_BEETPH = 94,\n\tIPPROTO_ENCAP = 98,\n\tIPPROTO_PIM = 103,\n\tIPPROTO_COMP = 108,\n\tIPPROTO_L2TP = 115,\n\tIPPROTO_SCTP = 132,\n\tIPPROTO_UDPLITE = 136,\n\tIPPROTO_MPLS = 137,\n\tIPPROTO_ETHERNET = 143,\n\tIPPROTO_AGGFRAG = 144,\n\tIPPROTO_RAW = 255,\n\tIPPROTO_SMC = 256,\n\tIPPROTO_MPTCP = 262,\n\tIPPROTO_MAX = 263,\n};\n\nenum {\n\tIPSTATS_MIB_NUM = 0,\n\tIPSTATS_MIB_INPKTS = 1,\n\tIPSTATS_MIB_INOCTETS = 2,\n\tIPSTATS_MIB_INDELIVERS = 3,\n\tIPSTATS_MIB_OUTFORWDATAGRAMS = 4,\n\tIPSTATS_MIB_OUTREQUESTS = 5,\n\tIPSTATS_MIB_OUTOCTETS = 6,\n\tIPSTATS_MIB_INHDRERRORS = 7,\n\tIPSTATS_MIB_INTOOBIGERRORS = 8,\n\tIPSTATS_MIB_INNOROUTES = 9,\n\tIPSTATS_MIB_INADDRERRORS = 10,\n\tIPSTATS_MIB_INUNKNOWNPROTOS = 11,\n\tIPSTATS_MIB_INTRUNCATEDPKTS = 12,\n\tIPSTATS_MIB_INDISCARDS = 13,\n\tIPSTATS_MIB_OUTDISCARDS = 14,\n\tIPSTATS_MIB_OUTNOROUTES = 15,\n\tIPSTATS_MIB_REASMTIMEOUT = 16,\n\tIPSTATS_MIB_REASMREQDS = 17,\n\tIPSTATS_MIB_REASMOKS = 18,\n\tIPSTATS_MIB_REASMFAILS = 19,\n\tIPSTATS_MIB_FRAGOKS = 20,\n\tIPSTATS_MIB_FRAGFAILS = 21,\n\tIPSTATS_MIB_FRAGCREATES = 22,\n\tIPSTATS_MIB_INMCASTPKTS = 23,\n\tIPSTATS_MIB_OUTMCASTPKTS = 24,\n\tIPSTATS_MIB_INBCASTPKTS = 25,\n\tIPSTATS_MIB_OUTBCASTPKTS = 26,\n\tIPSTATS_MIB_INMCASTOCTETS = 27,\n\tIPSTATS_MIB_OUTMCASTOCTETS = 28,\n\tIPSTATS_MIB_INBCASTOCTETS = 29,\n\tIPSTATS_MIB_OUTBCASTOCTETS = 30,\n\tIPSTATS_MIB_CSUMERRORS = 31,\n\tIPSTATS_MIB_NOECTPKTS = 32,\n\tIPSTATS_MIB_ECT1PKTS = 33,\n\tIPSTATS_MIB_ECT0PKTS = 34,\n\tIPSTATS_MIB_CEPKTS = 35,\n\tIPSTATS_MIB_REASM_OVERLAPS = 36,\n\tIPSTATS_MIB_OUTPKTS = 37,\n\t__IPSTATS_MIB_MAX = 38,\n};\n\nenum {\n\tIPV4_DEVCONF_FORWARDING = 1,\n\tIPV4_DEVCONF_MC_FORWARDING = 2,\n\tIPV4_DEVCONF_PROXY_ARP = 3,\n\tIPV4_DEVCONF_ACCEPT_REDIRECTS = 4,\n\tIPV4_DEVCONF_SECURE_REDIRECTS = 5,\n\tIPV4_DEVCONF_SEND_REDIRECTS = 6,\n\tIPV4_DEVCONF_SHARED_MEDIA = 7,\n\tIPV4_DEVCONF_RP_FILTER = 8,\n\tIPV4_DEVCONF_ACCEPT_SOURCE_ROUTE = 9,\n\tIPV4_DEVCONF_BOOTP_RELAY = 10,\n\tIPV4_DEVCONF_LOG_MARTIANS = 11,\n\tIPV4_DEVCONF_TAG = 12,\n\tIPV4_DEVCONF_ARPFILTER = 13,\n\tIPV4_DEVCONF_MEDIUM_ID = 14,\n\tIPV4_DEVCONF_NOXFRM = 15,\n\tIPV4_DEVCONF_NOPOLICY = 16,\n\tIPV4_DEVCONF_FORCE_IGMP_VERSION = 17,\n\tIPV4_DEVCONF_ARP_ANNOUNCE = 18,\n\tIPV4_DEVCONF_ARP_IGNORE = 19,\n\tIPV4_DEVCONF_PROMOTE_SECONDARIES = 20,\n\tIPV4_DEVCONF_ARP_ACCEPT = 21,\n\tIPV4_DEVCONF_ARP_NOTIFY = 22,\n\tIPV4_DEVCONF_ACCEPT_LOCAL = 23,\n\tIPV4_DEVCONF_SRC_VMARK = 24,\n\tIPV4_DEVCONF_PROXY_ARP_PVLAN = 25,\n\tIPV4_DEVCONF_ROUTE_LOCALNET = 26,\n\tIPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL = 27,\n\tIPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL = 28,\n\tIPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 29,\n\tIPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 30,\n\tIPV4_DEVCONF_DROP_GRATUITOUS_ARP = 31,\n\tIPV4_DEVCONF_BC_FORWARDING = 32,\n\tIPV4_DEVCONF_ARP_EVICT_NOCARRIER = 33,\n\t__IPV4_DEVCONF_MAX = 34,\n};\n\nenum {\n\tIP_TUNNEL_CSUM_BIT = 0,\n\tIP_TUNNEL_ROUTING_BIT = 1,\n\tIP_TUNNEL_KEY_BIT = 2,\n\tIP_TUNNEL_SEQ_BIT = 3,\n\tIP_TUNNEL_STRICT_BIT = 4,\n\tIP_TUNNEL_REC_BIT = 5,\n\tIP_TUNNEL_VERSION_BIT = 6,\n\tIP_TUNNEL_NO_KEY_BIT = 7,\n\tIP_TUNNEL_DONT_FRAGMENT_BIT = 8,\n\tIP_TUNNEL_OAM_BIT = 9,\n\tIP_TUNNEL_CRIT_OPT_BIT = 10,\n\tIP_TUNNEL_GENEVE_OPT_BIT = 11,\n\tIP_TUNNEL_VXLAN_OPT_BIT = 12,\n\tIP_TUNNEL_NOCACHE_BIT = 13,\n\tIP_TUNNEL_ERSPAN_OPT_BIT = 14,\n\tIP_TUNNEL_GTP_OPT_BIT = 15,\n\tIP_TUNNEL_VTI_BIT = 16,\n\tIP_TUNNEL_SIT_ISATAP_BIT = 16,\n\tIP_TUNNEL_PFCP_OPT_BIT = 17,\n\t__IP_TUNNEL_FLAG_NUM = 18,\n};\n\nenum {\n\tIRQCHIP_FWNODE_REAL = 0,\n\tIRQCHIP_FWNODE_NAMED = 1,\n\tIRQCHIP_FWNODE_NAMED_ID = 2,\n};\n\nenum {\n\tIRQCHIP_SET_TYPE_MASKED = 1,\n\tIRQCHIP_EOI_IF_HANDLED = 2,\n\tIRQCHIP_MASK_ON_SUSPEND = 4,\n\tIRQCHIP_ONOFFLINE_ENABLED = 8,\n\tIRQCHIP_SKIP_SET_WAKE = 16,\n\tIRQCHIP_ONESHOT_SAFE = 32,\n\tIRQCHIP_EOI_THREADED = 64,\n\tIRQCHIP_SUPPORTS_LEVEL_MSI = 128,\n\tIRQCHIP_SUPPORTS_NMI = 256,\n\tIRQCHIP_ENABLE_WAKEUP_ON_SUSPEND = 512,\n\tIRQCHIP_AFFINITY_PRE_STARTUP = 1024,\n\tIRQCHIP_IMMUTABLE = 2048,\n\tIRQCHIP_MOVE_DEFERRED = 4096,\n};\n\nenum {\n\tIRQC_IS_HARDIRQ = 0,\n\tIRQC_IS_NESTED = 1,\n};\n\nenum {\n\tIRQD_TRIGGER_MASK = 15,\n\tIRQD_SETAFFINITY_PENDING = 256,\n\tIRQD_ACTIVATED = 512,\n\tIRQD_NO_BALANCING = 1024,\n\tIRQD_PER_CPU = 2048,\n\tIRQD_AFFINITY_SET = 4096,\n\tIRQD_LEVEL = 8192,\n\tIRQD_WAKEUP_STATE = 16384,\n\tIRQD_IRQ_DISABLED = 65536,\n\tIRQD_IRQ_MASKED = 131072,\n\tIRQD_IRQ_INPROGRESS = 262144,\n\tIRQD_WAKEUP_ARMED = 524288,\n\tIRQD_FORWARDED_TO_VCPU = 1048576,\n\tIRQD_AFFINITY_MANAGED = 2097152,\n\tIRQD_IRQ_STARTED = 4194304,\n\tIRQD_MANAGED_SHUTDOWN = 8388608,\n\tIRQD_SINGLE_TARGET = 16777216,\n\tIRQD_DEFAULT_TRIGGER_SET = 33554432,\n\tIRQD_CAN_RESERVE = 67108864,\n\tIRQD_HANDLE_ENFORCE_IRQCTX = 134217728,\n\tIRQD_AFFINITY_ON_ACTIVATE = 268435456,\n\tIRQD_IRQ_ENABLED_ON_SUSPEND = 536870912,\n\tIRQD_RESEND_WHEN_IN_PROGRESS = 1073741824,\n};\n\nenum {\n\tIRQS_AUTODETECT = 1,\n\tIRQS_SPURIOUS_DISABLED = 2,\n\tIRQS_POLL_INPROGRESS = 8,\n\tIRQS_ONESHOT = 32,\n\tIRQS_REPLAY = 64,\n\tIRQS_WAITING = 128,\n\tIRQS_PENDING = 512,\n\tIRQS_SUSPENDED = 2048,\n\tIRQS_TIMINGS = 4096,\n\tIRQS_NMI = 8192,\n\tIRQS_SYSFS = 16384,\n};\n\nenum {\n\tIRQTF_RUNTHREAD = 0,\n\tIRQTF_WARNED = 1,\n\tIRQTF_AFFINITY = 2,\n\tIRQTF_FORCED_THREAD = 3,\n\tIRQTF_READY = 4,\n};\n\nenum {\n\tIRQ_DOMAIN_FLAG_HIERARCHY = 1,\n\tIRQ_DOMAIN_NAME_ALLOCATED = 2,\n\tIRQ_DOMAIN_FLAG_IPI_PER_CPU = 4,\n\tIRQ_DOMAIN_FLAG_IPI_SINGLE = 8,\n\tIRQ_DOMAIN_FLAG_MSI = 16,\n\tIRQ_DOMAIN_FLAG_ISOLATED_MSI = 32,\n\tIRQ_DOMAIN_FLAG_NO_MAP = 64,\n\tIRQ_DOMAIN_FLAG_MSI_PARENT = 256,\n\tIRQ_DOMAIN_FLAG_MSI_DEVICE = 512,\n\tIRQ_DOMAIN_FLAG_DESTROY_GC = 1024,\n\tIRQ_DOMAIN_FLAG_NONCORE = 65536,\n};\n\nenum {\n\tIRQ_POLL_F_SCHED = 0,\n\tIRQ_POLL_F_DISABLE = 1,\n};\n\nenum {\n\tIRQ_SET_MASK_OK = 0,\n\tIRQ_SET_MASK_OK_NOCOPY = 1,\n\tIRQ_SET_MASK_OK_DONE = 2,\n};\n\nenum {\n\tIRQ_STARTUP_NORMAL = 0,\n\tIRQ_STARTUP_MANAGED = 1,\n\tIRQ_STARTUP_ABORT = 2,\n};\n\nenum {\n\tIRQ_TYPE_NONE = 0,\n\tIRQ_TYPE_EDGE_RISING = 1,\n\tIRQ_TYPE_EDGE_FALLING = 2,\n\tIRQ_TYPE_EDGE_BOTH = 3,\n\tIRQ_TYPE_LEVEL_HIGH = 4,\n\tIRQ_TYPE_LEVEL_LOW = 8,\n\tIRQ_TYPE_LEVEL_MASK = 12,\n\tIRQ_TYPE_SENSE_MASK = 15,\n\tIRQ_TYPE_DEFAULT = 15,\n\tIRQ_TYPE_PROBE = 16,\n\tIRQ_LEVEL = 256,\n\tIRQ_PER_CPU = 512,\n\tIRQ_NOPROBE = 1024,\n\tIRQ_NOREQUEST = 2048,\n\tIRQ_NOAUTOEN = 4096,\n\tIRQ_NO_BALANCING = 8192,\n\tIRQ_NESTED_THREAD = 32768,\n\tIRQ_NOTHREAD = 65536,\n\tIRQ_PER_CPU_DEVID = 131072,\n\tIRQ_IS_POLLED = 262144,\n\tIRQ_DISABLE_UNLAZY = 524288,\n\tIRQ_HIDDEN = 1048576,\n\tIRQ_NO_DEBUG = 2097152,\n};\n\nenum {\n\tI_DATA_SEM_NORMAL = 0,\n\tI_DATA_SEM_OTHER = 1,\n\tI_DATA_SEM_QUOTA = 2,\n\tI_DATA_SEM_EA = 3,\n};\n\nenum {\n\tK3_UDMA_GLUE_SRC_TAG_LO_KEEP = 0,\n\tK3_UDMA_GLUE_SRC_TAG_LO_USE_FLOW_REG = 1,\n\tK3_UDMA_GLUE_SRC_TAG_LO_USE_REMOTE_FLOW_ID = 2,\n\tK3_UDMA_GLUE_SRC_TAG_LO_USE_REMOTE_SRC_TAG = 4,\n};\n\nenum {\n\tKBUF_MODE_EXPAND = 1,\n\tKBUF_MODE_FREE = 2,\n};\n\nenum {\n\tKERNEL_PARAM_FL_UNSAFE = 1,\n\tKERNEL_PARAM_FL_HWPARAM = 2,\n};\n\nenum {\n\tKERNEL_PARAM_OPS_FL_NOARG = 1,\n};\n\nenum {\n\tKF_ARG_DYNPTR_ID = 0,\n\tKF_ARG_LIST_HEAD_ID = 1,\n\tKF_ARG_LIST_NODE_ID = 2,\n\tKF_ARG_RB_ROOT_ID = 3,\n\tKF_ARG_RB_NODE_ID = 4,\n\tKF_ARG_WORKQUEUE_ID = 5,\n};\n\nenum {\n\tKPARAM_MEM = 0,\n\tKPARAM_WIDTH = 1,\n\tKPARAM_HEIGHT = 2,\n\tKPARAM_CNT = 3,\n};\n\nenum {\n\tKPARAM_X = 0,\n\tKPARAM_Y = 1,\n\tKPARAM_CNT___2 = 2,\n};\n\nenum {\n\tKTW_FREEZABLE = 1,\n};\n\nenum {\n\tKVM_REG_ARM_STD_BIT_TRNG_V1_0 = 0,\n\tKVM_REG_ARM_STD_BMAP_BIT_COUNT = 1,\n};\n\nenum {\n\tKVM_REG_ARM_STD_HYP_BIT_PV_TIME = 0,\n\tKVM_REG_ARM_STD_HYP_BMAP_BIT_COUNT = 1,\n};\n\nenum {\n\tKVM_REG_ARM_VENDOR_HYP_BIT_FUNC_FEAT = 0,\n\tKVM_REG_ARM_VENDOR_HYP_BIT_PTP = 1,\n\tKVM_REG_ARM_VENDOR_HYP_BMAP_BIT_COUNT = 2,\n};\n\nenum {\n\tKYBER_ASYNC_PERCENT = 75,\n};\n\nenum {\n\tKYBER_LATENCY_SHIFT = 2,\n\tKYBER_GOOD_BUCKETS = 4,\n\tKYBER_LATENCY_BUCKETS = 8,\n};\n\nenum {\n\tKYBER_READ = 0,\n\tKYBER_WRITE = 1,\n\tKYBER_DISCARD = 2,\n\tKYBER_OTHER = 3,\n\tKYBER_NUM_DOMAINS = 4,\n};\n\nenum {\n\tKYBER_TOTAL_LATENCY = 0,\n\tKYBER_IO_LATENCY = 1,\n};\n\nenum {\n\tLANE_0 = 0,\n\tLANE_1 = 1,\n};\n\nenum {\n\tLAST_NORM = 0,\n\tLAST_ROOT = 1,\n\tLAST_DOT = 2,\n\tLAST_DOTDOT = 3,\n};\n\nenum {\n\tLED_PAR_CTRL_COLX = 0,\n\tLED_PAR_CTRL_ERROR = 1,\n\tLED_PAR_CTRL_DUPLEX = 2,\n\tLED_PAR_CTRL_DP_COL = 3,\n\tLED_PAR_CTRL_SPEED = 4,\n\tLED_PAR_CTRL_LINK = 5,\n\tLED_PAR_CTRL_TX = 6,\n\tLED_PAR_CTRL_RX = 7,\n\tLED_PAR_CTRL_ACT = 8,\n\tLED_PAR_CTRL_LNK_RX = 9,\n\tLED_PAR_CTRL_LNK_AC = 10,\n\tLED_PAR_CTRL_ACT_BL = 11,\n\tLED_PAR_CTRL_TX_BL = 12,\n\tLED_PAR_CTRL_RX_BL = 13,\n\tLED_PAR_CTRL_COL_BL = 14,\n\tLED_PAR_CTRL_INACT = 15,\n};\n\nenum {\n\tLIBATA_MAX_PRD = 128,\n\tLIBATA_DUMB_MAX_PRD = 64,\n\tATA_DEF_QUEUE = 1,\n\tATA_MAX_QUEUE = 32,\n\tATA_TAG_INTERNAL = 32,\n\tATA_SHORT_PAUSE = 16,\n\tATAPI_MAX_DRAIN = 16384,\n\tATA_ALL_DEVICES = 3,\n\tATA_SHT_EMULATED = 1,\n\tATA_SHT_THIS_ID = -1,\n\tATA_TFLAG_LBA48 = 1,\n\tATA_TFLAG_ISADDR = 2,\n\tATA_TFLAG_DEVICE = 4,\n\tATA_TFLAG_WRITE = 8,\n\tATA_TFLAG_LBA = 16,\n\tATA_TFLAG_FUA = 32,\n\tATA_TFLAG_POLLING = 64,\n\tATA_DFLAG_LBA = 1,\n\tATA_DFLAG_LBA48 = 2,\n\tATA_DFLAG_CDB_INTR = 4,\n\tATA_DFLAG_NCQ = 8,\n\tATA_DFLAG_FLUSH_EXT = 16,\n\tATA_DFLAG_ACPI_PENDING = 32,\n\tATA_DFLAG_ACPI_FAILED = 64,\n\tATA_DFLAG_AN = 128,\n\tATA_DFLAG_TRUSTED = 256,\n\tATA_DFLAG_FUA = 512,\n\tATA_DFLAG_DMADIR = 1024,\n\tATA_DFLAG_NCQ_SEND_RECV = 2048,\n\tATA_DFLAG_NCQ_PRIO = 4096,\n\tATA_DFLAG_CDL = 8192,\n\tATA_DFLAG_CFG_MASK = 16383,\n\tATA_DFLAG_PIO = 16384,\n\tATA_DFLAG_NCQ_OFF = 32768,\n\tATA_DFLAG_SLEEPING = 65536,\n\tATA_DFLAG_DUBIOUS_XFER = 131072,\n\tATA_DFLAG_NO_UNLOAD = 262144,\n\tATA_DFLAG_UNLOCK_HPA = 524288,\n\tATA_DFLAG_INIT_MASK = 1048575,\n\tATA_DFLAG_NCQ_PRIO_ENABLED = 1048576,\n\tATA_DFLAG_CDL_ENABLED = 2097152,\n\tATA_DFLAG_RESUMING = 4194304,\n\tATA_DFLAG_DETACH = 16777216,\n\tATA_DFLAG_DETACHED = 33554432,\n\tATA_DFLAG_DA = 67108864,\n\tATA_DFLAG_DEVSLP = 134217728,\n\tATA_DFLAG_ACPI_DISABLED = 268435456,\n\tATA_DFLAG_D_SENSE = 536870912,\n\tATA_DFLAG_ZAC = 1073741824,\n\tATA_DFLAG_FEATURES_MASK = 201341696,\n\tATA_DEV_UNKNOWN = 0,\n\tATA_DEV_ATA = 1,\n\tATA_DEV_ATA_UNSUP = 2,\n\tATA_DEV_ATAPI = 3,\n\tATA_DEV_ATAPI_UNSUP = 4,\n\tATA_DEV_PMP = 5,\n\tATA_DEV_PMP_UNSUP = 6,\n\tATA_DEV_SEMB = 7,\n\tATA_DEV_SEMB_UNSUP = 8,\n\tATA_DEV_ZAC = 9,\n\tATA_DEV_ZAC_UNSUP = 10,\n\tATA_DEV_NONE = 11,\n\tATA_LFLAG_NO_HRST = 2,\n\tATA_LFLAG_NO_SRST = 4,\n\tATA_LFLAG_ASSUME_ATA = 8,\n\tATA_LFLAG_ASSUME_SEMB = 16,\n\tATA_LFLAG_ASSUME_CLASS = 24,\n\tATA_LFLAG_NO_RETRY = 32,\n\tATA_LFLAG_DISABLED = 64,\n\tATA_LFLAG_SW_ACTIVITY = 128,\n\tATA_LFLAG_NO_LPM = 256,\n\tATA_LFLAG_RST_ONCE = 512,\n\tATA_LFLAG_CHANGED = 1024,\n\tATA_LFLAG_NO_DEBOUNCE_DELAY = 2048,\n\tATA_FLAG_SLAVE_POSS = 1,\n\tATA_FLAG_SATA = 2,\n\tATA_FLAG_NO_LPM = 4,\n\tATA_FLAG_NO_LOG_PAGE = 32,\n\tATA_FLAG_NO_ATAPI = 64,\n\tATA_FLAG_PIO_DMA = 128,\n\tATA_FLAG_PIO_LBA48 = 256,\n\tATA_FLAG_PIO_POLLING = 512,\n\tATA_FLAG_NCQ = 1024,\n\tATA_FLAG_NO_POWEROFF_SPINDOWN = 2048,\n\tATA_FLAG_NO_HIBERNATE_SPINDOWN = 4096,\n\tATA_FLAG_DEBUGMSG = 8192,\n\tATA_FLAG_FPDMA_AA = 16384,\n\tATA_FLAG_IGN_SIMPLEX = 32768,\n\tATA_FLAG_NO_IORDY = 65536,\n\tATA_FLAG_ACPI_SATA = 131072,\n\tATA_FLAG_AN = 262144,\n\tATA_FLAG_PMP = 524288,\n\tATA_FLAG_FPDMA_AUX = 1048576,\n\tATA_FLAG_EM = 2097152,\n\tATA_FLAG_SW_ACTIVITY = 4194304,\n\tATA_FLAG_NO_DIPM = 8388608,\n\tATA_FLAG_SAS_HOST = 16777216,\n\tATA_PFLAG_EH_PENDING = 1,\n\tATA_PFLAG_EH_IN_PROGRESS = 2,\n\tATA_PFLAG_FROZEN = 4,\n\tATA_PFLAG_RECOVERED = 8,\n\tATA_PFLAG_LOADING = 16,\n\tATA_PFLAG_SCSI_HOTPLUG = 64,\n\tATA_PFLAG_INITIALIZING = 128,\n\tATA_PFLAG_RESETTING = 256,\n\tATA_PFLAG_UNLOADING = 512,\n\tATA_PFLAG_UNLOADED = 1024,\n\tATA_PFLAG_RESUMING = 65536,\n\tATA_PFLAG_SUSPENDED = 131072,\n\tATA_PFLAG_PM_PENDING = 262144,\n\tATA_PFLAG_INIT_GTM_VALID = 524288,\n\tATA_PFLAG_PIO32 = 1048576,\n\tATA_PFLAG_PIO32CHANGE = 2097152,\n\tATA_PFLAG_EXTERNAL = 4194304,\n\tATA_QCFLAG_ACTIVE = 1,\n\tATA_QCFLAG_DMAMAP = 2,\n\tATA_QCFLAG_RTF_FILLED = 4,\n\tATA_QCFLAG_IO = 8,\n\tATA_QCFLAG_RESULT_TF = 16,\n\tATA_QCFLAG_CLEAR_EXCL = 32,\n\tATA_QCFLAG_QUIET = 64,\n\tATA_QCFLAG_RETRY = 128,\n\tATA_QCFLAG_HAS_CDL = 256,\n\tATA_QCFLAG_EH = 65536,\n\tATA_QCFLAG_SENSE_VALID = 131072,\n\tATA_QCFLAG_EH_SCHEDULED = 262144,\n\tATA_QCFLAG_EH_SUCCESS_CMD = 524288,\n\tATA_HOST_SIMPLEX = 1,\n\tATA_HOST_STARTED = 2,\n\tATA_HOST_PARALLEL_SCAN = 4,\n\tATA_HOST_IGNORE_ATA = 8,\n\tATA_HOST_NO_PART = 16,\n\tATA_HOST_NO_SSC = 32,\n\tATA_HOST_NO_DEVSLP = 64,\n\tATA_TMOUT_INTERNAL_QUICK = 5000,\n\tATA_TMOUT_MAX_PARK = 30000,\n\tATA_TMOUT_FF_WAIT_LONG = 2000,\n\tATA_TMOUT_FF_WAIT = 800,\n\tATA_WAIT_AFTER_RESET = 150,\n\tATA_TMOUT_PMP_SRST_WAIT = 10000,\n\tATA_TMOUT_SPURIOUS_PHY = 10000,\n\tBUS_UNKNOWN = 0,\n\tBUS_DMA = 1,\n\tBUS_IDLE = 2,\n\tBUS_NOINTR = 3,\n\tBUS_NODATA = 4,\n\tBUS_TIMER = 5,\n\tBUS_PIO = 6,\n\tBUS_EDD = 7,\n\tBUS_IDENTIFY = 8,\n\tBUS_PACKET = 9,\n\tPORT_UNKNOWN = 0,\n\tPORT_ENABLED = 1,\n\tPORT_DISABLED = 2,\n\tATA_NR_PIO_MODES = 7,\n\tATA_NR_MWDMA_MODES = 5,\n\tATA_NR_UDMA_MODES = 8,\n\tATA_SHIFT_PIO = 0,\n\tATA_SHIFT_MWDMA = 7,\n\tATA_SHIFT_UDMA = 12,\n\tATA_SHIFT_PRIO = 6,\n\tATA_PRIO_HIGH = 2,\n\tATA_DMA_PAD_SZ = 4,\n\tATA_ERING_SIZE = 32,\n\tATA_DEFER_LINK = 1,\n\tATA_DEFER_PORT = 2,\n\tATA_EH_DESC_LEN = 80,\n\tATA_EH_REVALIDATE = 1,\n\tATA_EH_SOFTRESET = 2,\n\tATA_EH_HARDRESET = 4,\n\tATA_EH_RESET = 6,\n\tATA_EH_ENABLE_LINK = 8,\n\tATA_EH_PARK = 32,\n\tATA_EH_GET_SUCCESS_SENSE = 64,\n\tATA_EH_SET_ACTIVE = 128,\n\tATA_EH_PERDEV_MASK = 225,\n\tATA_EH_ALL_ACTIONS = 15,\n\tATA_EHI_HOTPLUGGED = 1,\n\tATA_EHI_NO_AUTOPSY = 4,\n\tATA_EHI_QUIET = 8,\n\tATA_EHI_NO_RECOVERY = 16,\n\tATA_EHI_DID_SOFTRESET = 65536,\n\tATA_EHI_DID_HARDRESET = 131072,\n\tATA_EHI_PRINTINFO = 262144,\n\tATA_EHI_SETMODE = 524288,\n\tATA_EHI_POST_SETMODE = 1048576,\n\tATA_EHI_DID_PRINT_QUIRKS = 2097152,\n\tATA_EHI_DID_RESET = 196608,\n\tATA_EHI_TO_SLAVE_MASK = 12,\n\tATA_EH_MAX_TRIES = 5,\n\tATA_LINK_RESUME_TRIES = 5,\n\tATA_EH_DEV_TRIES = 3,\n\tATA_EH_PMP_TRIES = 5,\n\tATA_EH_PMP_LINK_TRIES = 3,\n\tSATA_PMP_RW_TIMEOUT = 3000,\n\tATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8,\n\tATA_QUIRK_DIAGNOSTIC = 1,\n\tATA_QUIRK_NODMA = 2,\n\tATA_QUIRK_NONCQ = 4,\n\tATA_QUIRK_MAX_SEC_128 = 8,\n\tATA_QUIRK_BROKEN_HPA = 16,\n\tATA_QUIRK_DISABLE = 32,\n\tATA_QUIRK_HPA_SIZE = 64,\n\tATA_QUIRK_IVB = 128,\n\tATA_QUIRK_STUCK_ERR = 256,\n\tATA_QUIRK_BRIDGE_OK = 512,\n\tATA_QUIRK_ATAPI_MOD16_DMA = 1024,\n\tATA_QUIRK_FIRMWARE_WARN = 2048,\n\tATA_QUIRK_1_5_GBPS = 4096,\n\tATA_QUIRK_NOSETXFER = 8192,\n\tATA_QUIRK_BROKEN_FPDMA_AA = 16384,\n\tATA_QUIRK_DUMP_ID = 32768,\n\tATA_QUIRK_MAX_SEC_LBA48 = 65536,\n\tATA_QUIRK_ATAPI_DMADIR = 131072,\n\tATA_QUIRK_NO_NCQ_TRIM = 262144,\n\tATA_QUIRK_NOLPM = 524288,\n\tATA_QUIRK_WD_BROKEN_LPM = 1048576,\n\tATA_QUIRK_ZERO_AFTER_TRIM = 2097152,\n\tATA_QUIRK_NO_DMA_LOG = 4194304,\n\tATA_QUIRK_NOTRIM = 8388608,\n\tATA_QUIRK_MAX_SEC_1024 = 16777216,\n\tATA_QUIRK_MAX_TRIM_128M = 33554432,\n\tATA_QUIRK_NO_NCQ_ON_ATI = 67108864,\n\tATA_QUIRK_NO_LPM_ON_ATI = 134217728,\n\tATA_QUIRK_NO_ID_DEV_LOG = 268435456,\n\tATA_QUIRK_NO_LOG_DIR = 536870912,\n\tATA_QUIRK_NO_FUA = 1073741824,\n\tATA_DMA_MASK_ATA = 1,\n\tATA_DMA_MASK_ATAPI = 2,\n\tATA_DMA_MASK_CFA = 4,\n\tATAPI_READ = 0,\n\tATAPI_WRITE = 1,\n\tATAPI_READ_CD = 2,\n\tATAPI_PASS_THRU = 3,\n\tATAPI_MISC = 4,\n\tATA_TIMING_SETUP = 1,\n\tATA_TIMING_ACT8B = 2,\n\tATA_TIMING_REC8B = 4,\n\tATA_TIMING_CYC8B = 8,\n\tATA_TIMING_8BIT = 14,\n\tATA_TIMING_ACTIVE = 16,\n\tATA_TIMING_RECOVER = 32,\n\tATA_TIMING_DMACK_HOLD = 64,\n\tATA_TIMING_CYCLE = 128,\n\tATA_TIMING_UDMA = 256,\n\tATA_TIMING_ALL = 511,\n\tATA_ACPI_FILTER_SETXFER = 1,\n\tATA_ACPI_FILTER_LOCK = 2,\n\tATA_ACPI_FILTER_DIPM = 4,\n\tATA_ACPI_FILTER_FPDMA_OFFSET = 8,\n\tATA_ACPI_FILTER_FPDMA_AA = 16,\n\tATA_ACPI_FILTER_DEFAULT = 7,\n};\n\nenum {\n\tLINKLED_OFF = 1,\n\tLINKLED_ON = 2,\n\tLINKLED_LINKSYNC_OFF = 4,\n\tLINKLED_LINKSYNC_ON = 8,\n\tLINKLED_BLINK_OFF = 16,\n\tLINKLED_BLINK_ON = 32,\n};\n\nenum {\n\tLINUX_MIB_NUM = 0,\n\tLINUX_MIB_SYNCOOKIESSENT = 1,\n\tLINUX_MIB_SYNCOOKIESRECV = 2,\n\tLINUX_MIB_SYNCOOKIESFAILED = 3,\n\tLINUX_MIB_EMBRYONICRSTS = 4,\n\tLINUX_MIB_PRUNECALLED = 5,\n\tLINUX_MIB_RCVPRUNED = 6,\n\tLINUX_MIB_OFOPRUNED = 7,\n\tLINUX_MIB_OUTOFWINDOWICMPS = 8,\n\tLINUX_MIB_LOCKDROPPEDICMPS = 9,\n\tLINUX_MIB_ARPFILTER = 10,\n\tLINUX_MIB_TIMEWAITED = 11,\n\tLINUX_MIB_TIMEWAITRECYCLED = 12,\n\tLINUX_MIB_TIMEWAITKILLED = 13,\n\tLINUX_MIB_PAWSACTIVEREJECTED = 14,\n\tLINUX_MIB_PAWSESTABREJECTED = 15,\n\tLINUX_MIB_PAWS_OLD_ACK = 16,\n\tLINUX_MIB_DELAYEDACKS = 17,\n\tLINUX_MIB_DELAYEDACKLOCKED = 18,\n\tLINUX_MIB_DELAYEDACKLOST = 19,\n\tLINUX_MIB_LISTENOVERFLOWS = 20,\n\tLINUX_MIB_LISTENDROPS = 21,\n\tLINUX_MIB_TCPHPHITS = 22,\n\tLINUX_MIB_TCPPUREACKS = 23,\n\tLINUX_MIB_TCPHPACKS = 24,\n\tLINUX_MIB_TCPRENORECOVERY = 25,\n\tLINUX_MIB_TCPSACKRECOVERY = 26,\n\tLINUX_MIB_TCPSACKRENEGING = 27,\n\tLINUX_MIB_TCPSACKREORDER = 28,\n\tLINUX_MIB_TCPRENOREORDER = 29,\n\tLINUX_MIB_TCPTSREORDER = 30,\n\tLINUX_MIB_TCPFULLUNDO = 31,\n\tLINUX_MIB_TCPPARTIALUNDO = 32,\n\tLINUX_MIB_TCPDSACKUNDO = 33,\n\tLINUX_MIB_TCPLOSSUNDO = 34,\n\tLINUX_MIB_TCPLOSTRETRANSMIT = 35,\n\tLINUX_MIB_TCPRENOFAILURES = 36,\n\tLINUX_MIB_TCPSACKFAILURES = 37,\n\tLINUX_MIB_TCPLOSSFAILURES = 38,\n\tLINUX_MIB_TCPFASTRETRANS = 39,\n\tLINUX_MIB_TCPSLOWSTARTRETRANS = 40,\n\tLINUX_MIB_TCPTIMEOUTS = 41,\n\tLINUX_MIB_TCPLOSSPROBES = 42,\n\tLINUX_MIB_TCPLOSSPROBERECOVERY = 43,\n\tLINUX_MIB_TCPRENORECOVERYFAIL = 44,\n\tLINUX_MIB_TCPSACKRECOVERYFAIL = 45,\n\tLINUX_MIB_TCPRCVCOLLAPSED = 46,\n\tLINUX_MIB_TCPDSACKOLDSENT = 47,\n\tLINUX_MIB_TCPDSACKOFOSENT = 48,\n\tLINUX_MIB_TCPDSACKRECV = 49,\n\tLINUX_MIB_TCPDSACKOFORECV = 50,\n\tLINUX_MIB_TCPABORTONDATA = 51,\n\tLINUX_MIB_TCPABORTONCLOSE = 52,\n\tLINUX_MIB_TCPABORTONMEMORY = 53,\n\tLINUX_MIB_TCPABORTONTIMEOUT = 54,\n\tLINUX_MIB_TCPABORTONLINGER = 55,\n\tLINUX_MIB_TCPABORTFAILED = 56,\n\tLINUX_MIB_TCPMEMORYPRESSURES = 57,\n\tLINUX_MIB_TCPMEMORYPRESSURESCHRONO = 58,\n\tLINUX_MIB_TCPSACKDISCARD = 59,\n\tLINUX_MIB_TCPDSACKIGNOREDOLD = 60,\n\tLINUX_MIB_TCPDSACKIGNOREDNOUNDO = 61,\n\tLINUX_MIB_TCPSPURIOUSRTOS = 62,\n\tLINUX_MIB_TCPMD5NOTFOUND = 63,\n\tLINUX_MIB_TCPMD5UNEXPECTED = 64,\n\tLINUX_MIB_TCPMD5FAILURE = 65,\n\tLINUX_MIB_SACKSHIFTED = 66,\n\tLINUX_MIB_SACKMERGED = 67,\n\tLINUX_MIB_SACKSHIFTFALLBACK = 68,\n\tLINUX_MIB_TCPBACKLOGDROP = 69,\n\tLINUX_MIB_PFMEMALLOCDROP = 70,\n\tLINUX_MIB_TCPMINTTLDROP = 71,\n\tLINUX_MIB_TCPDEFERACCEPTDROP = 72,\n\tLINUX_MIB_IPRPFILTER = 73,\n\tLINUX_MIB_TCPTIMEWAITOVERFLOW = 74,\n\tLINUX_MIB_TCPREQQFULLDOCOOKIES = 75,\n\tLINUX_MIB_TCPREQQFULLDROP = 76,\n\tLINUX_MIB_TCPRETRANSFAIL = 77,\n\tLINUX_MIB_TCPRCVCOALESCE = 78,\n\tLINUX_MIB_TCPBACKLOGCOALESCE = 79,\n\tLINUX_MIB_TCPOFOQUEUE = 80,\n\tLINUX_MIB_TCPOFODROP = 81,\n\tLINUX_MIB_TCPOFOMERGE = 82,\n\tLINUX_MIB_TCPCHALLENGEACK = 83,\n\tLINUX_MIB_TCPSYNCHALLENGE = 84,\n\tLINUX_MIB_TCPFASTOPENACTIVE = 85,\n\tLINUX_MIB_TCPFASTOPENACTIVEFAIL = 86,\n\tLINUX_MIB_TCPFASTOPENPASSIVE = 87,\n\tLINUX_MIB_TCPFASTOPENPASSIVEFAIL = 88,\n\tLINUX_MIB_TCPFASTOPENLISTENOVERFLOW = 89,\n\tLINUX_MIB_TCPFASTOPENCOOKIEREQD = 90,\n\tLINUX_MIB_TCPFASTOPENBLACKHOLE = 91,\n\tLINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES = 92,\n\tLINUX_MIB_BUSYPOLLRXPACKETS = 93,\n\tLINUX_MIB_TCPAUTOCORKING = 94,\n\tLINUX_MIB_TCPFROMZEROWINDOWADV = 95,\n\tLINUX_MIB_TCPTOZEROWINDOWADV = 96,\n\tLINUX_MIB_TCPWANTZEROWINDOWADV = 97,\n\tLINUX_MIB_TCPSYNRETRANS = 98,\n\tLINUX_MIB_TCPORIGDATASENT = 99,\n\tLINUX_MIB_TCPHYSTARTTRAINDETECT = 100,\n\tLINUX_MIB_TCPHYSTARTTRAINCWND = 101,\n\tLINUX_MIB_TCPHYSTARTDELAYDETECT = 102,\n\tLINUX_MIB_TCPHYSTARTDELAYCWND = 103,\n\tLINUX_MIB_TCPACKSKIPPEDSYNRECV = 104,\n\tLINUX_MIB_TCPACKSKIPPEDPAWS = 105,\n\tLINUX_MIB_TCPACKSKIPPEDSEQ = 106,\n\tLINUX_MIB_TCPACKSKIPPEDFINWAIT2 = 107,\n\tLINUX_MIB_TCPACKSKIPPEDTIMEWAIT = 108,\n\tLINUX_MIB_TCPACKSKIPPEDCHALLENGE = 109,\n\tLINUX_MIB_TCPWINPROBE = 110,\n\tLINUX_MIB_TCPKEEPALIVE = 111,\n\tLINUX_MIB_TCPMTUPFAIL = 112,\n\tLINUX_MIB_TCPMTUPSUCCESS = 113,\n\tLINUX_MIB_TCPDELIVERED = 114,\n\tLINUX_MIB_TCPDELIVEREDCE = 115,\n\tLINUX_MIB_TCPACKCOMPRESSED = 116,\n\tLINUX_MIB_TCPZEROWINDOWDROP = 117,\n\tLINUX_MIB_TCPRCVQDROP = 118,\n\tLINUX_MIB_TCPWQUEUETOOBIG = 119,\n\tLINUX_MIB_TCPFASTOPENPASSIVEALTKEY = 120,\n\tLINUX_MIB_TCPTIMEOUTREHASH = 121,\n\tLINUX_MIB_TCPDUPLICATEDATAREHASH = 122,\n\tLINUX_MIB_TCPDSACKRECVSEGS = 123,\n\tLINUX_MIB_TCPDSACKIGNOREDDUBIOUS = 124,\n\tLINUX_MIB_TCPMIGRATEREQSUCCESS = 125,\n\tLINUX_MIB_TCPMIGRATEREQFAILURE = 126,\n\tLINUX_MIB_TCPPLBREHASH = 127,\n\tLINUX_MIB_TCPAOREQUIRED = 128,\n\tLINUX_MIB_TCPAOBAD = 129,\n\tLINUX_MIB_TCPAOKEYNOTFOUND = 130,\n\tLINUX_MIB_TCPAOGOOD = 131,\n\tLINUX_MIB_TCPAODROPPEDICMPS = 132,\n\t__LINUX_MIB_MAX = 133,\n};\n\nenum {\n\tLINUX_MIB_TLSNUM = 0,\n\tLINUX_MIB_TLSCURRTXSW = 1,\n\tLINUX_MIB_TLSCURRRXSW = 2,\n\tLINUX_MIB_TLSCURRTXDEVICE = 3,\n\tLINUX_MIB_TLSCURRRXDEVICE = 4,\n\tLINUX_MIB_TLSTXSW = 5,\n\tLINUX_MIB_TLSRXSW = 6,\n\tLINUX_MIB_TLSTXDEVICE = 7,\n\tLINUX_MIB_TLSRXDEVICE = 8,\n\tLINUX_MIB_TLSDECRYPTERROR = 9,\n\tLINUX_MIB_TLSRXDEVICERESYNC = 10,\n\tLINUX_MIB_TLSDECRYPTRETRY = 11,\n\tLINUX_MIB_TLSRXNOPADVIOL = 12,\n\tLINUX_MIB_TLSRXREKEYOK = 13,\n\tLINUX_MIB_TLSRXREKEYERROR = 14,\n\tLINUX_MIB_TLSTXREKEYOK = 15,\n\tLINUX_MIB_TLSTXREKEYERROR = 16,\n\tLINUX_MIB_TLSRXREKEYRECEIVED = 17,\n\t__LINUX_MIB_TLSMAX = 18,\n};\n\nenum {\n\tLINUX_MIB_XFRMNUM = 0,\n\tLINUX_MIB_XFRMINERROR = 1,\n\tLINUX_MIB_XFRMINBUFFERERROR = 2,\n\tLINUX_MIB_XFRMINHDRERROR = 3,\n\tLINUX_MIB_XFRMINNOSTATES = 4,\n\tLINUX_MIB_XFRMINSTATEPROTOERROR = 5,\n\tLINUX_MIB_XFRMINSTATEMODEERROR = 6,\n\tLINUX_MIB_XFRMINSTATESEQERROR = 7,\n\tLINUX_MIB_XFRMINSTATEEXPIRED = 8,\n\tLINUX_MIB_XFRMINSTATEMISMATCH = 9,\n\tLINUX_MIB_XFRMINSTATEINVALID = 10,\n\tLINUX_MIB_XFRMINTMPLMISMATCH = 11,\n\tLINUX_MIB_XFRMINNOPOLS = 12,\n\tLINUX_MIB_XFRMINPOLBLOCK = 13,\n\tLINUX_MIB_XFRMINPOLERROR = 14,\n\tLINUX_MIB_XFRMOUTERROR = 15,\n\tLINUX_MIB_XFRMOUTBUNDLEGENERROR = 16,\n\tLINUX_MIB_XFRMOUTBUNDLECHECKERROR = 17,\n\tLINUX_MIB_XFRMOUTNOSTATES = 18,\n\tLINUX_MIB_XFRMOUTSTATEPROTOERROR = 19,\n\tLINUX_MIB_XFRMOUTSTATEMODEERROR = 20,\n\tLINUX_MIB_XFRMOUTSTATESEQERROR = 21,\n\tLINUX_MIB_XFRMOUTSTATEEXPIRED = 22,\n\tLINUX_MIB_XFRMOUTPOLBLOCK = 23,\n\tLINUX_MIB_XFRMOUTPOLDEAD = 24,\n\tLINUX_MIB_XFRMOUTPOLERROR = 25,\n\tLINUX_MIB_XFRMFWDHDRERROR = 26,\n\tLINUX_MIB_XFRMOUTSTATEINVALID = 27,\n\tLINUX_MIB_XFRMACQUIREERROR = 28,\n\tLINUX_MIB_XFRMOUTSTATEDIRERROR = 29,\n\tLINUX_MIB_XFRMINSTATEDIRERROR = 30,\n\tLINUX_MIB_XFRMINIPTFSERROR = 31,\n\tLINUX_MIB_XFRMOUTNOQSPACE = 32,\n\t__LINUX_MIB_XFRMMAX = 33,\n};\n\nenum {\n\tLK_STATE_IN_USE = 0,\n\tNFS_DELEGATED_STATE = 1,\n\tNFS_OPEN_STATE = 2,\n\tNFS_O_RDONLY_STATE = 3,\n\tNFS_O_WRONLY_STATE = 4,\n\tNFS_O_RDWR_STATE = 5,\n\tNFS_STATE_RECLAIM_REBOOT = 6,\n\tNFS_STATE_RECLAIM_NOGRACE = 7,\n\tNFS_STATE_POSIX_LOCKS = 8,\n\tNFS_STATE_RECOVERY_FAILED = 9,\n\tNFS_STATE_MAY_NOTIFY_LOCK = 10,\n\tNFS_STATE_CHANGE_WAIT = 11,\n\tNFS_CLNT_DST_SSC_COPY_STATE = 12,\n\tNFS_CLNT_SRC_SSC_COPY_STATE = 13,\n\tNFS_SRV_SSC_COPY_STATE = 14,\n};\n\nenum {\n\tLNK_SYNC_INI = 3120,\n\tLNK_SYNC_VAL = 3124,\n\tLNK_SYNC_CTRL = 3128,\n\tLNK_SYNC_TST = 3129,\n\tLNK_LED_REG = 3132,\n\tRX_GMF_EA = 3136,\n\tRX_GMF_AF_THR = 3140,\n\tRX_GMF_CTRL_T = 3144,\n\tRX_GMF_FL_MSK = 3148,\n\tRX_GMF_FL_THR = 3152,\n\tRX_GMF_FL_CTRL = 3154,\n\tRX_GMF_TR_THR = 3156,\n\tRX_GMF_UP_THR = 3160,\n\tRX_GMF_LP_THR = 3162,\n\tRX_GMF_VLAN = 3164,\n\tRX_GMF_WP = 3168,\n\tRX_GMF_WLEV = 3176,\n\tRX_GMF_RP = 3184,\n\tRX_GMF_RLEV = 3192,\n};\n\nenum {\n\tLOGIC_PIO_INDIRECT = 0,\n\tLOGIC_PIO_CPU_MMIO = 1,\n};\n\nenum {\n\tLO_FLAGS_READ_ONLY = 1,\n\tLO_FLAGS_AUTOCLEAR = 4,\n\tLO_FLAGS_PARTSCAN = 8,\n\tLO_FLAGS_DIRECT_IO = 16,\n};\n\nenum {\n\tLS1021A = 0,\n\tLS1012A = 1,\n\tLS1028A = 2,\n\tLS1043A = 3,\n\tLS1046A = 4,\n\tLS2080A = 5,\n\tLS2085A = 6,\n\tLX2160A = 7,\n\tMCF5441X = 8,\n\tVF610 = 9,\n};\n\nenum {\n\tLTSSM_DETECT_QUIET = 0,\n\tLTSSM_DETECT_ACTIVE = 1,\n\tLTSSM_POLLING_ACTIVE = 2,\n\tLTSSM_POLLING_COMPLIANCE = 3,\n\tLTSSM_POLLING_CONFIGURATION = 4,\n\tLTSSM_CONFIG_LINKWIDTH_START = 5,\n\tLTSSM_CONFIG_LINKWIDTH_ACCEPT = 6,\n\tLTSSM_CONFIG_LANENUM_ACCEPT = 7,\n\tLTSSM_CONFIG_LANENUM_WAIT = 8,\n\tLTSSM_CONFIG_COMPLETE = 9,\n\tLTSSM_CONFIG_IDLE = 10,\n\tLTSSM_RECOVERY_RCVR_LOCK = 11,\n\tLTSSM_RECOVERY_SPEED = 12,\n\tLTSSM_RECOVERY_RCVR_CFG = 13,\n\tLTSSM_RECOVERY_IDLE = 14,\n\tLTSSM_L0 = 16,\n\tLTSSM_RX_L0S_ENTRY = 17,\n\tLTSSM_RX_L0S_IDLE = 18,\n\tLTSSM_RX_L0S_FTS = 19,\n\tLTSSM_TX_L0S_ENTRY = 20,\n\tLTSSM_TX_L0S_IDLE = 21,\n\tLTSSM_TX_L0S_FTS = 22,\n\tLTSSM_L1_ENTRY = 23,\n\tLTSSM_L1_IDLE = 24,\n\tLTSSM_L2_IDLE = 25,\n\tLTSSM_L2_TRANSMIT_WAKE = 26,\n\tLTSSM_DISABLED = 32,\n\tLTSSM_LOOPBACK_ENTRY_MASTER = 33,\n\tLTSSM_LOOPBACK_ACTIVE_MASTER = 34,\n\tLTSSM_LOOPBACK_EXIT_MASTER = 35,\n\tLTSSM_LOOPBACK_ENTRY_SLAVE = 36,\n\tLTSSM_LOOPBACK_ACTIVE_SLAVE = 37,\n\tLTSSM_LOOPBACK_EXIT_SLAVE = 38,\n\tLTSSM_HOT_RESET = 39,\n\tLTSSM_RECOVERY_EQUALIZATION_PHASE0 = 40,\n\tLTSSM_RECOVERY_EQUALIZATION_PHASE1 = 41,\n\tLTSSM_RECOVERY_EQUALIZATION_PHASE2 = 42,\n\tLTSSM_RECOVERY_EQUALIZATION_PHASE3 = 43,\n};\n\nenum {\n\tLWTUNNEL_IP_OPTS_UNSPEC = 0,\n\tLWTUNNEL_IP_OPTS_GENEVE = 1,\n\tLWTUNNEL_IP_OPTS_VXLAN = 2,\n\tLWTUNNEL_IP_OPTS_ERSPAN = 3,\n\t__LWTUNNEL_IP_OPTS_MAX = 4,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_ERSPAN_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_ERSPAN_VER = 1,\n\tLWTUNNEL_IP_OPT_ERSPAN_INDEX = 2,\n\tLWTUNNEL_IP_OPT_ERSPAN_DIR = 3,\n\tLWTUNNEL_IP_OPT_ERSPAN_HWID = 4,\n\t__LWTUNNEL_IP_OPT_ERSPAN_MAX = 5,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_GENEVE_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_GENEVE_CLASS = 1,\n\tLWTUNNEL_IP_OPT_GENEVE_TYPE = 2,\n\tLWTUNNEL_IP_OPT_GENEVE_DATA = 3,\n\t__LWTUNNEL_IP_OPT_GENEVE_MAX = 4,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_VXLAN_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_VXLAN_GBP = 1,\n\t__LWTUNNEL_IP_OPT_VXLAN_MAX = 2,\n};\n\nenum {\n\tLWTUNNEL_XMIT_DONE = 0,\n\tLWTUNNEL_XMIT_CONTINUE = 256,\n};\n\nenum {\n\tLo_unbound = 0,\n\tLo_bound = 1,\n\tLo_rundown = 2,\n\tLo_deleting = 3,\n};\n\nenum {\n\tMAC_TX_CLK_0_MHZ = 2,\n\tMAC_TX_CLK_2_5_MHZ = 6,\n\tMAC_TX_CLK_25_MHZ = 7,\n};\n\nenum {\n\tMAGNITUDE_STRONG = 2,\n\tMAGNITUDE_WEAK = 3,\n\tMAGNITUDE_NUM = 4,\n};\n\nenum {\n\tMASK_EE_STATUS = 65535,\n\tMASK_EE_DYNCAP_EVENT = 1,\n\tMASK_EE_SYSPOOL_EVENT = 2,\n\tMASK_EE_URGENT_BKOPS = 4,\n\tMASK_EE_TOO_HIGH_TEMP = 8,\n\tMASK_EE_TOO_LOW_TEMP = 16,\n\tMASK_EE_WRITEBOOSTER_EVENT = 32,\n\tMASK_EE_PERFORMANCE_THROTTLING = 64,\n};\n\nenum {\n\tMASK_OCS = 15,\n};\n\nenum {\n\tMASK_TM_SERVICE_RESP = 255,\n};\n\nenum {\n\tMASK_TRANSFER_REQUESTS_SLOTS_SDB = 31,\n\tMASK_TRANSFER_REQUESTS_SLOTS_MCQ = 255,\n\tMASK_NUMBER_OUTSTANDING_RTT = 65280,\n\tMASK_TASK_MANAGEMENT_REQUEST_SLOTS = 458752,\n\tMASK_EHSLUTRD_SUPPORTED = 4194304,\n\tMASK_AUTO_HIBERN8_SUPPORT = 8388608,\n\tMASK_64_ADDRESSING_SUPPORT = 16777216,\n\tMASK_OUT_OF_ORDER_DATA_DELIVERY_SUPPORT = 33554432,\n\tMASK_UIC_DME_TEST_MODE_SUPPORT = 67108864,\n\tMASK_CRYPTO_SUPPORT = 268435456,\n\tMASK_LSDB_SUPPORT = 536870912,\n\tMASK_MCQ_SUPPORT = 1073741824,\n};\n\nenum {\n\tMATCH_MTR = 0,\n\tMATCH_MEQ = 1,\n\tMATCH_MLE = 2,\n\tMATCH_MLT = 3,\n\tMATCH_MGE = 4,\n\tMATCH_MGT = 5,\n};\n\nenum {\n\tMAX7319 = 0,\n\tMAX7320 = 1,\n\tMAX7321 = 2,\n\tMAX7322 = 3,\n\tMAX7323 = 4,\n\tMAX7324 = 5,\n\tMAX7325 = 6,\n\tMAX7326 = 7,\n\tMAX7327 = 8,\n};\n\nenum {\n\tMAX77620_GPIO0 = 0,\n\tMAX77620_GPIO1 = 1,\n\tMAX77620_GPIO2 = 2,\n\tMAX77620_GPIO3 = 3,\n\tMAX77620_GPIO4 = 4,\n\tMAX77620_GPIO5 = 5,\n\tMAX77620_GPIO6 = 6,\n\tMAX77620_GPIO7 = 7,\n\tMAX77620_GPIO_NR = 8,\n};\n\nenum {\n\tMAX77620_IRQ_TOP_GLBL = 0,\n\tMAX77620_IRQ_TOP_SD = 1,\n\tMAX77620_IRQ_TOP_LDO = 2,\n\tMAX77620_IRQ_TOP_GPIO = 3,\n\tMAX77620_IRQ_TOP_RTC = 4,\n\tMAX77620_IRQ_TOP_32K = 5,\n\tMAX77620_IRQ_TOP_ONOFF = 6,\n\tMAX77620_IRQ_LBT_MBATLOW = 7,\n\tMAX77620_IRQ_LBT_TJALRM1 = 8,\n\tMAX77620_IRQ_LBT_TJALRM2 = 9,\n};\n\nenum {\n\tMAX_IORES_LEVEL = 5,\n};\n\nenum {\n\tMAX_OPT_ARGS = 3,\n};\n\nenum {\n\tMBE_REFERENCED_B = 0,\n\tMBE_REUSABLE_B = 1,\n};\n\nenum {\n\tMB_INODE_PA = 0,\n\tMB_GROUP_PA = 1,\n};\n\nenum {\n\tMCT_INT_SPI = 0,\n\tMCT_INT_PPI = 1,\n};\n\nenum {\n\tMDBA_GET_ENTRY_UNSPEC = 0,\n\tMDBA_GET_ENTRY = 1,\n\tMDBA_GET_ENTRY_ATTRS = 2,\n\t__MDBA_GET_ENTRY_MAX = 3,\n};\n\nenum {\n\tMDBA_SET_ENTRY_UNSPEC = 0,\n\tMDBA_SET_ENTRY = 1,\n\tMDBA_SET_ENTRY_ATTRS = 2,\n\t__MDBA_SET_ENTRY_MAX = 3,\n};\n\nenum {\n\tMEGASAS_HBA_OPERATIONAL = 0,\n\tMEGASAS_ADPRESET_SM_INFAULT = 1,\n\tMEGASAS_ADPRESET_SM_FW_RESET_SUCCESS = 2,\n\tMEGASAS_ADPRESET_SM_OPERATIONAL = 3,\n\tMEGASAS_HW_CRITICAL_ERROR = 4,\n\tMEGASAS_ADPRESET_SM_POLLING = 5,\n\tMEGASAS_ADPRESET_INPROG_SIGN = 3735936685,\n};\n\nenum {\n\tMEMBARRIER_FLAG_SYNC_CORE = 1,\n\tMEMBARRIER_FLAG_RSEQ = 2,\n};\n\nenum {\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_READY = 1,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED = 2,\n\tMEMBARRIER_STATE_GLOBAL_EXPEDITED_READY = 4,\n\tMEMBARRIER_STATE_GLOBAL_EXPEDITED = 8,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE_READY = 16,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE = 32,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ_READY = 64,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ = 128,\n};\n\nenum {\n\tMEMMAP_ON_MEMORY_DISABLE = 0,\n\tMEMMAP_ON_MEMORY_ENABLE = 1,\n\tMEMMAP_ON_MEMORY_FORCE = 2,\n};\n\nenum {\n\tMEMORY_RECLAIM_SWAPPINESS = 0,\n\tMEMORY_RECLAIM_NULL = 1,\n};\n\nenum {\n\tMEMREMAP_WB = 1,\n\tMEMREMAP_WT = 2,\n\tMEMREMAP_WC = 4,\n\tMEMREMAP_ENC = 8,\n\tMEMREMAP_DEC = 16,\n};\n\nenum {\n\tMICRON_ON_DIE_UNSUPPORTED = 0,\n\tMICRON_ON_DIE_SUPPORTED = 1,\n\tMICRON_ON_DIE_MANDATORY = 2,\n};\n\nenum {\n\tMIIM_CMD_IDLE = 0,\n\tMIIM_CMD_LEGACY_WRITE = 1,\n\tMIIM_CMD_LEGACY_READ = 2,\n};\n\nenum {\n\tMIPI_DCS_NOP = 0,\n\tMIPI_DCS_SOFT_RESET = 1,\n\tMIPI_DCS_GET_COMPRESSION_MODE = 3,\n\tMIPI_DCS_GET_DISPLAY_ID = 4,\n\tMIPI_DCS_GET_ERROR_COUNT_ON_DSI = 5,\n\tMIPI_DCS_GET_RED_CHANNEL = 6,\n\tMIPI_DCS_GET_GREEN_CHANNEL = 7,\n\tMIPI_DCS_GET_BLUE_CHANNEL = 8,\n\tMIPI_DCS_GET_DISPLAY_STATUS = 9,\n\tMIPI_DCS_GET_POWER_MODE = 10,\n\tMIPI_DCS_GET_ADDRESS_MODE = 11,\n\tMIPI_DCS_GET_PIXEL_FORMAT = 12,\n\tMIPI_DCS_GET_DISPLAY_MODE = 13,\n\tMIPI_DCS_GET_SIGNAL_MODE = 14,\n\tMIPI_DCS_GET_DIAGNOSTIC_RESULT = 15,\n\tMIPI_DCS_ENTER_SLEEP_MODE = 16,\n\tMIPI_DCS_EXIT_SLEEP_MODE = 17,\n\tMIPI_DCS_ENTER_PARTIAL_MODE = 18,\n\tMIPI_DCS_ENTER_NORMAL_MODE = 19,\n\tMIPI_DCS_GET_IMAGE_CHECKSUM_RGB = 20,\n\tMIPI_DCS_GET_IMAGE_CHECKSUM_CT = 21,\n\tMIPI_DCS_EXIT_INVERT_MODE = 32,\n\tMIPI_DCS_ENTER_INVERT_MODE = 33,\n\tMIPI_DCS_SET_GAMMA_CURVE = 38,\n\tMIPI_DCS_SET_DISPLAY_OFF = 40,\n\tMIPI_DCS_SET_DISPLAY_ON = 41,\n\tMIPI_DCS_SET_COLUMN_ADDRESS = 42,\n\tMIPI_DCS_SET_PAGE_ADDRESS = 43,\n\tMIPI_DCS_WRITE_MEMORY_START = 44,\n\tMIPI_DCS_WRITE_LUT = 45,\n\tMIPI_DCS_READ_MEMORY_START = 46,\n\tMIPI_DCS_SET_PARTIAL_ROWS = 48,\n\tMIPI_DCS_SET_PARTIAL_COLUMNS = 49,\n\tMIPI_DCS_SET_SCROLL_AREA = 51,\n\tMIPI_DCS_SET_TEAR_OFF = 52,\n\tMIPI_DCS_SET_TEAR_ON = 53,\n\tMIPI_DCS_SET_ADDRESS_MODE = 54,\n\tMIPI_DCS_SET_SCROLL_START = 55,\n\tMIPI_DCS_EXIT_IDLE_MODE = 56,\n\tMIPI_DCS_ENTER_IDLE_MODE = 57,\n\tMIPI_DCS_SET_PIXEL_FORMAT = 58,\n\tMIPI_DCS_WRITE_MEMORY_CONTINUE = 60,\n\tMIPI_DCS_SET_3D_CONTROL = 61,\n\tMIPI_DCS_READ_MEMORY_CONTINUE = 62,\n\tMIPI_DCS_GET_3D_CONTROL = 63,\n\tMIPI_DCS_SET_VSYNC_TIMING = 64,\n\tMIPI_DCS_SET_TEAR_SCANLINE = 68,\n\tMIPI_DCS_GET_SCANLINE = 69,\n\tMIPI_DCS_SET_DISPLAY_BRIGHTNESS = 81,\n\tMIPI_DCS_GET_DISPLAY_BRIGHTNESS = 82,\n\tMIPI_DCS_WRITE_CONTROL_DISPLAY = 83,\n\tMIPI_DCS_GET_CONTROL_DISPLAY = 84,\n\tMIPI_DCS_WRITE_POWER_SAVE = 85,\n\tMIPI_DCS_GET_POWER_SAVE = 86,\n\tMIPI_DCS_SET_CABC_MIN_BRIGHTNESS = 94,\n\tMIPI_DCS_GET_CABC_MIN_BRIGHTNESS = 95,\n\tMIPI_DCS_READ_DDB_START = 161,\n\tMIPI_DCS_READ_PPS_START = 162,\n\tMIPI_DCS_READ_DDB_CONTINUE = 168,\n\tMIPI_DCS_READ_PPS_CONTINUE = 169,\n};\n\nenum {\n\tMIPI_DSI_V_SYNC_START = 1,\n\tMIPI_DSI_V_SYNC_END = 17,\n\tMIPI_DSI_H_SYNC_START = 33,\n\tMIPI_DSI_H_SYNC_END = 49,\n\tMIPI_DSI_COMPRESSION_MODE = 7,\n\tMIPI_DSI_END_OF_TRANSMISSION = 8,\n\tMIPI_DSI_COLOR_MODE_OFF = 2,\n\tMIPI_DSI_COLOR_MODE_ON = 18,\n\tMIPI_DSI_SHUTDOWN_PERIPHERAL = 34,\n\tMIPI_DSI_TURN_ON_PERIPHERAL = 50,\n\tMIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM = 3,\n\tMIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM = 19,\n\tMIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM = 35,\n\tMIPI_DSI_GENERIC_READ_REQUEST_0_PARAM = 4,\n\tMIPI_DSI_GENERIC_READ_REQUEST_1_PARAM = 20,\n\tMIPI_DSI_GENERIC_READ_REQUEST_2_PARAM = 36,\n\tMIPI_DSI_DCS_SHORT_WRITE = 5,\n\tMIPI_DSI_DCS_SHORT_WRITE_PARAM = 21,\n\tMIPI_DSI_DCS_READ = 6,\n\tMIPI_DSI_EXECUTE_QUEUE = 22,\n\tMIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE = 55,\n\tMIPI_DSI_NULL_PACKET = 9,\n\tMIPI_DSI_BLANKING_PACKET = 25,\n\tMIPI_DSI_GENERIC_LONG_WRITE = 41,\n\tMIPI_DSI_DCS_LONG_WRITE = 57,\n\tMIPI_DSI_PICTURE_PARAMETER_SET = 10,\n\tMIPI_DSI_COMPRESSED_PIXEL_STREAM = 11,\n\tMIPI_DSI_LOOSELY_PACKED_PIXEL_STREAM_YCBCR20 = 12,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_YCBCR24 = 28,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_YCBCR16 = 44,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_30 = 13,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_36 = 29,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_YCBCR12 = 61,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_16 = 14,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_18 = 30,\n\tMIPI_DSI_PIXEL_STREAM_3BYTE_18 = 46,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_24 = 62,\n};\n\nenum {\n\tMIX_INFLIGHT = 2147483648,\n};\n\nenum {\n\tMLO_PAUSE_NONE = 0,\n\tMLO_PAUSE_RX = 1,\n\tMLO_PAUSE_TX = 2,\n\tMLO_PAUSE_TXRX_MASK = 3,\n\tMLO_PAUSE_AN = 4,\n\tMLO_AN_PHY = 0,\n\tMLO_AN_FIXED = 1,\n\tMLO_AN_INBAND = 2,\n\tPHYLINK_PCS_NEG_NONE = 0,\n\tPHYLINK_PCS_NEG_ENABLED = 16,\n\tPHYLINK_PCS_NEG_OUTBAND = 32,\n\tPHYLINK_PCS_NEG_INBAND = 64,\n\tPHYLINK_PCS_NEG_INBAND_DISABLED = 64,\n\tPHYLINK_PCS_NEG_INBAND_ENABLED = 80,\n\tMAC_SYM_PAUSE = 1,\n\tMAC_ASYM_PAUSE = 2,\n\tMAC_10HD = 4,\n\tMAC_10FD = 8,\n\tMAC_10 = 12,\n\tMAC_100HD = 16,\n\tMAC_100FD = 32,\n\tMAC_100 = 48,\n\tMAC_1000HD = 64,\n\tMAC_1000FD = 128,\n\tMAC_1000 = 192,\n\tMAC_2500FD = 256,\n\tMAC_5000FD = 512,\n\tMAC_10000FD = 1024,\n\tMAC_20000FD = 2048,\n\tMAC_25000FD = 4096,\n\tMAC_40000FD = 8192,\n\tMAC_50000FD = 16384,\n\tMAC_56000FD = 32768,\n\tMAC_100000FD = 65536,\n\tMAC_200000FD = 131072,\n\tMAC_400000FD = 262144,\n};\n\nenum {\n\tMMOP_OFFLINE = 0,\n\tMMOP_ONLINE = 1,\n\tMMOP_ONLINE_KERNEL = 2,\n\tMMOP_ONLINE_MOVABLE = 3,\n};\n\nenum {\n\tMM_FILEPAGES = 0,\n\tMM_ANONPAGES = 1,\n\tMM_SWAPENTS = 2,\n\tMM_SHMEMPAGES = 3,\n\tNR_MM_COUNTERS = 4,\n};\n\nenum {\n\tMOUNTPROC3_NULL = 0,\n\tMOUNTPROC3_MNT = 1,\n\tMOUNTPROC3_DUMP = 2,\n\tMOUNTPROC3_UMNT = 3,\n\tMOUNTPROC3_UMNTALL = 4,\n\tMOUNTPROC3_EXPORT = 5,\n};\n\nenum {\n\tMOUNTPROC_NULL = 0,\n\tMOUNTPROC_MNT = 1,\n\tMOUNTPROC_DUMP = 2,\n\tMOUNTPROC_UMNT = 3,\n\tMOUNTPROC_UMNTALL = 4,\n\tMOUNTPROC_EXPORT = 5,\n};\n\nenum {\n\tMOXA_SUPP_RS232 = 1,\n\tMOXA_SUPP_RS422 = 2,\n\tMOXA_SUPP_RS485 = 4,\n};\n\nenum {\n\tMPOL_DEFAULT = 0,\n\tMPOL_PREFERRED = 1,\n\tMPOL_BIND = 2,\n\tMPOL_INTERLEAVE = 3,\n\tMPOL_LOCAL = 4,\n\tMPOL_PREFERRED_MANY = 5,\n\tMPOL_WEIGHTED_INTERLEAVE = 6,\n\tMPOL_MAX = 7,\n};\n\nenum {\n\tMSI_FLAG_USE_DEF_DOM_OPS = 1,\n\tMSI_FLAG_USE_DEF_CHIP_OPS = 2,\n\tMSI_FLAG_ACTIVATE_EARLY = 4,\n\tMSI_FLAG_MUST_REACTIVATE = 8,\n\tMSI_FLAG_DEV_SYSFS = 16,\n\tMSI_FLAG_ALLOC_SIMPLE_MSI_DESCS = 32,\n\tMSI_FLAG_FREE_MSI_DESCS = 64,\n\tMSI_FLAG_USE_DEV_FWNODE = 128,\n\tMSI_FLAG_PARENT_PM_DEV = 256,\n\tMSI_FLAG_PCI_MSI_MASK_PARENT = 512,\n\tMSI_GENERIC_FLAGS_MASK = 65535,\n\tMSI_DOMAIN_FLAGS_MASK = 4294901760,\n\tMSI_FLAG_MULTI_PCI_MSI = 65536,\n\tMSI_FLAG_PCI_MSIX = 131072,\n\tMSI_FLAG_LEVEL_CAPABLE = 262144,\n\tMSI_FLAG_MSIX_CONTIGUOUS = 524288,\n\tMSI_FLAG_PCI_MSIX_ALLOC_DYN = 1048576,\n\tMSI_FLAG_NO_AFFINITY = 2097152,\n};\n\nenum {\n\tMSPI_DONE = 1,\n\tBSPI_DONE = 2,\n\tBSPI_ERR = 4,\n\tMSPI_BSPI_DONE = 7,\n};\n\nenum {\n\tMT6357_ID_VCORE = 0,\n\tMT6357_ID_VMODEM = 1,\n\tMT6357_ID_VPA = 2,\n\tMT6357_ID_VPROC = 3,\n\tMT6357_ID_VS1 = 4,\n\tMT6357_ID_VAUX18 = 5,\n\tMT6357_ID_VAUD28 = 6,\n\tMT6357_ID_VCAMA = 7,\n\tMT6357_ID_VCAMD = 8,\n\tMT6357_ID_VCAMIO = 9,\n\tMT6357_ID_VCN18 = 10,\n\tMT6357_ID_VCN28 = 11,\n\tMT6357_ID_VCN33_BT = 12,\n\tMT6357_ID_VCN33_WIFI = 13,\n\tMT6357_ID_VDRAM = 14,\n\tMT6357_ID_VEFUSE = 15,\n\tMT6357_ID_VEMC = 16,\n\tMT6357_ID_VFE28 = 17,\n\tMT6357_ID_VIBR = 18,\n\tMT6357_ID_VIO18 = 19,\n\tMT6357_ID_VIO28 = 20,\n\tMT6357_ID_VLDO28 = 21,\n\tMT6357_ID_VMC = 22,\n\tMT6357_ID_VMCH = 23,\n\tMT6357_ID_VRF12 = 24,\n\tMT6357_ID_VRF18 = 25,\n\tMT6357_ID_VSIM1 = 26,\n\tMT6357_ID_VSIM2 = 27,\n\tMT6357_ID_VSRAM_OTHERS = 28,\n\tMT6357_ID_VSRAM_PROC = 29,\n\tMT6357_ID_VUSB33 = 30,\n\tMT6357_ID_VXO22 = 31,\n\tMT6357_ID_RG_MAX = 32,\n};\n\nenum {\n\tMT6358_ID_VDRAM1 = 0,\n\tMT6358_ID_VCORE = 1,\n\tMT6358_ID_VPA = 2,\n\tMT6358_ID_VPROC11 = 3,\n\tMT6358_ID_VPROC12 = 4,\n\tMT6358_ID_VGPU = 5,\n\tMT6358_ID_VS2 = 6,\n\tMT6358_ID_VMODEM = 7,\n\tMT6358_ID_VS1 = 8,\n\tMT6358_ID_VDRAM2 = 9,\n\tMT6358_ID_VSIM1 = 10,\n\tMT6358_ID_VIBR = 11,\n\tMT6358_ID_VRF12 = 12,\n\tMT6358_ID_VIO18 = 13,\n\tMT6358_ID_VUSB = 14,\n\tMT6358_ID_VCAMIO = 15,\n\tMT6358_ID_VCAMD = 16,\n\tMT6358_ID_VCN18 = 17,\n\tMT6358_ID_VFE28 = 18,\n\tMT6358_ID_VSRAM_PROC11 = 19,\n\tMT6358_ID_VCN28 = 20,\n\tMT6358_ID_VSRAM_OTHERS = 21,\n\tMT6358_ID_VSRAM_GPU = 22,\n\tMT6358_ID_VXO22 = 23,\n\tMT6358_ID_VEFUSE = 24,\n\tMT6358_ID_VAUX18 = 25,\n\tMT6358_ID_VMCH = 26,\n\tMT6358_ID_VBIF28 = 27,\n\tMT6358_ID_VSRAM_PROC12 = 28,\n\tMT6358_ID_VCAMA1 = 29,\n\tMT6358_ID_VEMC = 30,\n\tMT6358_ID_VIO28 = 31,\n\tMT6358_ID_VA12 = 32,\n\tMT6358_ID_VRF18 = 33,\n\tMT6358_ID_VCN33 = 34,\n\tMT6358_ID_VCAMA2 = 35,\n\tMT6358_ID_VMC = 36,\n\tMT6358_ID_VLDO28 = 37,\n\tMT6358_ID_VAUD28 = 38,\n\tMT6358_ID_VSIM2 = 39,\n\tMT6358_ID_RG_MAX = 40,\n};\n\nenum {\n\tMT6359_ID_VS1 = 0,\n\tMT6359_ID_VGPU11 = 1,\n\tMT6359_ID_VMODEM = 2,\n\tMT6359_ID_VPU = 3,\n\tMT6359_ID_VCORE = 4,\n\tMT6359_ID_VS2 = 5,\n\tMT6359_ID_VPA = 6,\n\tMT6359_ID_VPROC2 = 7,\n\tMT6359_ID_VPROC1 = 8,\n\tMT6359_ID_VCORE_SSHUB = 9,\n\tMT6359_ID_VGPU11_SSHUB = 9,\n\tMT6359_ID_VAUD18 = 10,\n\tMT6359_ID_VSIM1 = 11,\n\tMT6359_ID_VIBR = 12,\n\tMT6359_ID_VRF12 = 13,\n\tMT6359_ID_VUSB = 14,\n\tMT6359_ID_VSRAM_PROC2 = 15,\n\tMT6359_ID_VIO18 = 16,\n\tMT6359_ID_VCAMIO = 17,\n\tMT6359_ID_VCN18 = 18,\n\tMT6359_ID_VFE28 = 19,\n\tMT6359_ID_VCN13 = 20,\n\tMT6359_ID_VCN33_1_BT = 21,\n\tMT6359_ID_VCN33_1_WIFI = 22,\n\tMT6359_ID_VAUX18 = 23,\n\tMT6359_ID_VSRAM_OTHERS = 24,\n\tMT6359_ID_VEFUSE = 25,\n\tMT6359_ID_VXO22 = 26,\n\tMT6359_ID_VRFCK = 27,\n\tMT6359_ID_VBIF28 = 28,\n\tMT6359_ID_VIO28 = 29,\n\tMT6359_ID_VEMC = 30,\n\tMT6359_ID_VCN33_2_BT = 31,\n\tMT6359_ID_VCN33_2_WIFI = 32,\n\tMT6359_ID_VA12 = 33,\n\tMT6359_ID_VA09 = 34,\n\tMT6359_ID_VRF18 = 35,\n\tMT6359_ID_VSRAM_MD = 36,\n\tMT6359_ID_VUFS = 37,\n\tMT6359_ID_VM18 = 38,\n\tMT6359_ID_VBBCK = 39,\n\tMT6359_ID_VSRAM_PROC1 = 40,\n\tMT6359_ID_VSIM2 = 41,\n\tMT6359_ID_VSRAM_OTHERS_SSHUB = 42,\n\tMT6359_ID_RG_MAX = 43,\n};\n\nenum {\n\tMT6360_REGULATOR_BUCK1 = 0,\n\tMT6360_REGULATOR_BUCK2 = 1,\n\tMT6360_REGULATOR_LDO6 = 2,\n\tMT6360_REGULATOR_LDO7 = 3,\n\tMT6360_REGULATOR_LDO1 = 4,\n\tMT6360_REGULATOR_LDO2 = 5,\n\tMT6360_REGULATOR_LDO3 = 6,\n\tMT6360_REGULATOR_LDO5 = 7,\n\tMT6360_REGULATOR_MAX = 8,\n};\n\nenum {\n\tMT6360_SLAVE_TCPC = 0,\n\tMT6360_SLAVE_PMIC = 1,\n\tMT6360_SLAVE_LDO = 2,\n\tMT6360_SLAVE_PMU = 3,\n\tMT6360_SLAVE_MAX = 4,\n};\n\nenum {\n\tMT6366_ID_VDRAM1 = 0,\n\tMT6366_ID_VCORE = 1,\n\tMT6366_ID_VPA = 2,\n\tMT6366_ID_VPROC11 = 3,\n\tMT6366_ID_VPROC12 = 4,\n\tMT6366_ID_VGPU = 5,\n\tMT6366_ID_VS2 = 6,\n\tMT6366_ID_VMODEM = 7,\n\tMT6366_ID_VS1 = 8,\n\tMT6366_ID_VDRAM2 = 9,\n\tMT6366_ID_VSIM1 = 10,\n\tMT6366_ID_VIBR = 11,\n\tMT6366_ID_VRF12 = 12,\n\tMT6366_ID_VIO18 = 13,\n\tMT6366_ID_VUSB = 14,\n\tMT6366_ID_VCN18 = 15,\n\tMT6366_ID_VFE28 = 16,\n\tMT6366_ID_VSRAM_PROC11 = 17,\n\tMT6366_ID_VCN28 = 18,\n\tMT6366_ID_VSRAM_OTHERS = 19,\n\tMT6366_ID_VSRAM_GPU = 20,\n\tMT6366_ID_VXO22 = 21,\n\tMT6366_ID_VEFUSE = 22,\n\tMT6366_ID_VAUX18 = 23,\n\tMT6366_ID_VMCH = 24,\n\tMT6366_ID_VBIF28 = 25,\n\tMT6366_ID_VSRAM_PROC12 = 26,\n\tMT6366_ID_VEMC = 27,\n\tMT6366_ID_VIO28 = 28,\n\tMT6366_ID_VA12 = 29,\n\tMT6366_ID_VRF18 = 30,\n\tMT6366_ID_VCN33 = 31,\n\tMT6366_ID_VMC = 32,\n\tMT6366_ID_VAUD28 = 33,\n\tMT6366_ID_VSIM2 = 34,\n\tMT6366_ID_VM18 = 35,\n\tMT6366_ID_VMDDR = 36,\n\tMT6366_ID_VSRAM_CORE = 37,\n\tMT6366_ID_RG_MAX = 38,\n};\n\nenum {\n\tMT6397_ID_VPCA15 = 0,\n\tMT6397_ID_VPCA7 = 1,\n\tMT6397_ID_VSRAMCA15 = 2,\n\tMT6397_ID_VSRAMCA7 = 3,\n\tMT6397_ID_VCORE = 4,\n\tMT6397_ID_VGPU = 5,\n\tMT6397_ID_VDRM = 6,\n\tMT6397_ID_VIO18 = 7,\n\tMT6397_ID_VTCXO = 8,\n\tMT6397_ID_VA28 = 9,\n\tMT6397_ID_VCAMA = 10,\n\tMT6397_ID_VIO28 = 11,\n\tMT6397_ID_VUSB = 12,\n\tMT6397_ID_VMC = 13,\n\tMT6397_ID_VMCH = 14,\n\tMT6397_ID_VEMC3V3 = 15,\n\tMT6397_ID_VGP1 = 16,\n\tMT6397_ID_VGP2 = 17,\n\tMT6397_ID_VGP3 = 18,\n\tMT6397_ID_VGP4 = 19,\n\tMT6397_ID_VGP5 = 20,\n\tMT6397_ID_VGP6 = 21,\n\tMT6397_ID_VIBR = 22,\n\tMT6397_ID_RG_MAX = 23,\n};\n\nenum {\n\tMTD_OPS_PLACE_OOB = 0,\n\tMTD_OPS_AUTO_OOB = 1,\n\tMTD_OPS_RAW = 2,\n};\n\nenum {\n\tMTK_UART_FC_NONE = 0,\n\tMTK_UART_FC_SW = 1,\n\tMTK_UART_FC_HW = 2,\n};\n\nenum {\n\tMUSB_CONTROLLER_MHDRC = 0,\n\tMUSB_CONTROLLER_HDRC = 1,\n};\n\nenum {\n\tMV64XXX_I2C_ACTION_INVALID = 0,\n\tMV64XXX_I2C_ACTION_CONTINUE = 1,\n\tMV64XXX_I2C_ACTION_SEND_RESTART = 2,\n\tMV64XXX_I2C_ACTION_SEND_ADDR_1 = 3,\n\tMV64XXX_I2C_ACTION_SEND_ADDR_2 = 4,\n\tMV64XXX_I2C_ACTION_SEND_DATA = 5,\n\tMV64XXX_I2C_ACTION_RCV_DATA = 6,\n\tMV64XXX_I2C_ACTION_RCV_DATA_STOP = 7,\n\tMV64XXX_I2C_ACTION_SEND_STOP = 8,\n};\n\nenum {\n\tMV64XXX_I2C_STATE_INVALID = 0,\n\tMV64XXX_I2C_STATE_IDLE = 1,\n\tMV64XXX_I2C_STATE_WAITING_FOR_START_COND = 2,\n\tMV64XXX_I2C_STATE_WAITING_FOR_RESTART = 3,\n\tMV64XXX_I2C_STATE_WAITING_FOR_ADDR_1_ACK = 4,\n\tMV64XXX_I2C_STATE_WAITING_FOR_ADDR_2_ACK = 5,\n\tMV64XXX_I2C_STATE_WAITING_FOR_TARGET_ACK = 6,\n\tMV64XXX_I2C_STATE_WAITING_FOR_TARGET_DATA = 7,\n};\n\nenum {\n\tMV_PMA_FW_VER0 = 49169,\n\tMV_PMA_FW_VER1 = 49170,\n\tMV_PMA_21X0_PORT_CTRL = 49226,\n\tMV_PMA_21X0_PORT_CTRL_SWRST = 32768,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_MASK = 7,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_USXGMII = 0,\n\tMV_PMA_2180_PORT_CTRL_MACTYPE_DXGMII = 1,\n\tMV_PMA_2180_PORT_CTRL_MACTYPE_QXGMII = 2,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_5GBASER = 4,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_5GBASER_NO_SGMII_AN = 5,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_10GBASER_RATE_MATCH = 6,\n\tMV_PMA_BOOT = 49232,\n\tMV_PMA_BOOT_FATAL = 1,\n\tMV_PCS_BASE_T = 0,\n\tMV_PCS_BASE_R = 4096,\n\tMV_PCS_1000BASEX = 8192,\n\tMV_PCS_CSCR1 = 32768,\n\tMV_PCS_CSCR1_ED_MASK = 768,\n\tMV_PCS_CSCR1_ED_OFF = 0,\n\tMV_PCS_CSCR1_ED_RX = 512,\n\tMV_PCS_CSCR1_ED_NLP = 768,\n\tMV_PCS_CSCR1_MDIX_MASK = 96,\n\tMV_PCS_CSCR1_MDIX_MDI = 0,\n\tMV_PCS_CSCR1_MDIX_MDIX = 32,\n\tMV_PCS_CSCR1_MDIX_AUTO = 96,\n\tMV_PCS_DSC1 = 32771,\n\tMV_PCS_DSC1_ENABLE = 512,\n\tMV_PCS_DSC1_10GBT = 448,\n\tMV_PCS_DSC1_1GBR = 56,\n\tMV_PCS_DSC1_100BTX = 7,\n\tMV_PCS_DSC2 = 32772,\n\tMV_PCS_DSC2_2P5G = 61440,\n\tMV_PCS_DSC2_5G = 3840,\n\tMV_PCS_CSSR1 = 32776,\n\tMV_PCS_CSSR1_SPD1_MASK = 49152,\n\tMV_PCS_CSSR1_SPD1_SPD2 = 49152,\n\tMV_PCS_CSSR1_SPD1_1000 = 32768,\n\tMV_PCS_CSSR1_SPD1_100 = 16384,\n\tMV_PCS_CSSR1_SPD1_10 = 0,\n\tMV_PCS_CSSR1_DUPLEX_FULL = 8192,\n\tMV_PCS_CSSR1_RESOLVED = 2048,\n\tMV_PCS_CSSR1_MDIX = 64,\n\tMV_PCS_CSSR1_SPD2_MASK = 12,\n\tMV_PCS_CSSR1_SPD2_5000 = 8,\n\tMV_PCS_CSSR1_SPD2_2500 = 4,\n\tMV_PCS_CSSR1_SPD2_10000 = 0,\n\tMV_PCS_TEMP = 32834,\n\tMV_PCS_PORT_INFO = 53261,\n\tMV_PCS_PORT_INFO_NPORTS_MASK = 896,\n\tMV_PCS_PORT_INFO_NPORTS_SHIFT = 7,\n\tMV_AN_21X0_SERDES_CTRL2 = 32783,\n\tMV_AN_21X0_SERDES_CTRL2_AUTO_INIT_DIS = 8192,\n\tMV_AN_21X0_SERDES_CTRL2_RUN_INIT = 32768,\n\tMV_AN_CTRL1000 = 32768,\n\tMV_AN_STAT1000 = 32769,\n\tMV_V2_PORT_CTRL = 61441,\n\tMV_V2_PORT_CTRL_PWRDOWN = 2048,\n\tMV_V2_33X0_PORT_CTRL_SWRST = 32768,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_MASK = 7,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_RXAUI = 0,\n\tMV_V2_3310_PORT_CTRL_MACTYPE_XAUI_RATE_MATCH = 1,\n\tMV_V2_3340_PORT_CTRL_MACTYPE_RXAUI_NO_SGMII_AN = 1,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_RXAUI_RATE_MATCH = 2,\n\tMV_V2_3310_PORT_CTRL_MACTYPE_XAUI = 3,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_10GBASER = 4,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_10GBASER_NO_SGMII_AN = 5,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_10GBASER_RATE_MATCH = 6,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_USXGMII = 7,\n\tMV_V2_PORT_INTR_STS = 61504,\n\tMV_V2_PORT_INTR_MASK = 61507,\n\tMV_V2_PORT_INTR_STS_WOL_EN = 256,\n\tMV_V2_MAGIC_PKT_WORD0 = 61547,\n\tMV_V2_MAGIC_PKT_WORD1 = 61548,\n\tMV_V2_MAGIC_PKT_WORD2 = 61549,\n\tMV_V2_WOL_CTRL = 61550,\n\tMV_V2_WOL_CTRL_CLEAR_STS = 32768,\n\tMV_V2_WOL_CTRL_MAGIC_PKT_EN = 1,\n\tMV_V2_TEMP_CTRL = 61578,\n\tMV_V2_TEMP_CTRL_MASK = 49152,\n\tMV_V2_TEMP_CTRL_SAMPLE = 0,\n\tMV_V2_TEMP_CTRL_DISABLE = 49152,\n\tMV_V2_TEMP = 61580,\n\tMV_V2_TEMP_UNKNOWN = 38400,\n};\n\nenum {\n\tM_I17 = 0,\n\tM_I20 = 1,\n\tM_I20_SR = 2,\n\tM_I24 = 3,\n\tM_I24_8_1 = 4,\n\tM_I24_10_1 = 5,\n\tM_I27_11_1 = 6,\n\tM_MINI = 7,\n\tM_MINI_3_1 = 8,\n\tM_MINI_4_1 = 9,\n\tM_MB = 10,\n\tM_MB_2 = 11,\n\tM_MB_3 = 12,\n\tM_MB_5_1 = 13,\n\tM_MB_6_1 = 14,\n\tM_MB_7_1 = 15,\n\tM_MB_SR = 16,\n\tM_MBA = 17,\n\tM_MBA_3 = 18,\n\tM_MBP = 19,\n\tM_MBP_2 = 20,\n\tM_MBP_2_2 = 21,\n\tM_MBP_SR = 22,\n\tM_MBP_4 = 23,\n\tM_MBP_5_1 = 24,\n\tM_MBP_5_2 = 25,\n\tM_MBP_5_3 = 26,\n\tM_MBP_6_1 = 27,\n\tM_MBP_6_2 = 28,\n\tM_MBP_7_1 = 29,\n\tM_MBP_8_2 = 30,\n\tM_UNKNOWN = 31,\n};\n\nenum {\n\tNAPIF_STATE_SCHED = 1,\n\tNAPIF_STATE_MISSED = 2,\n\tNAPIF_STATE_DISABLE = 4,\n\tNAPIF_STATE_NPSVC = 8,\n\tNAPIF_STATE_LISTED = 16,\n\tNAPIF_STATE_NO_BUSY_POLL = 32,\n\tNAPIF_STATE_IN_BUSY_POLL = 64,\n\tNAPIF_STATE_PREFER_BUSY_POLL = 128,\n\tNAPIF_STATE_THREADED = 256,\n\tNAPIF_STATE_SCHED_THREADED = 512,\n};\n\nenum {\n\tNAPI_F_PREFER_BUSY_POLL = 1,\n\tNAPI_F_END_ON_RESCHED = 2,\n};\n\nenum {\n\tNAPI_STATE_SCHED = 0,\n\tNAPI_STATE_MISSED = 1,\n\tNAPI_STATE_DISABLE = 2,\n\tNAPI_STATE_NPSVC = 3,\n\tNAPI_STATE_LISTED = 4,\n\tNAPI_STATE_NO_BUSY_POLL = 5,\n\tNAPI_STATE_IN_BUSY_POLL = 6,\n\tNAPI_STATE_PREFER_BUSY_POLL = 7,\n\tNAPI_STATE_THREADED = 8,\n\tNAPI_STATE_SCHED_THREADED = 9,\n};\n\nenum {\n\tNDA_UNSPEC = 0,\n\tNDA_DST = 1,\n\tNDA_LLADDR = 2,\n\tNDA_CACHEINFO = 3,\n\tNDA_PROBES = 4,\n\tNDA_VLAN = 5,\n\tNDA_PORT = 6,\n\tNDA_VNI = 7,\n\tNDA_IFINDEX = 8,\n\tNDA_MASTER = 9,\n\tNDA_LINK_NETNSID = 10,\n\tNDA_SRC_VNI = 11,\n\tNDA_PROTOCOL = 12,\n\tNDA_NH_ID = 13,\n\tNDA_FDB_EXT_ATTRS = 14,\n\tNDA_FLAGS_EXT = 15,\n\tNDA_NDM_STATE_MASK = 16,\n\tNDA_NDM_FLAGS_MASK = 17,\n\t__NDA_MAX = 18,\n};\n\nenum {\n\tNDD_UNARMED = 1,\n\tNDD_LOCKED = 2,\n\tNDD_SECURITY_OVERWRITE = 3,\n\tNDD_WORK_PENDING = 4,\n\tNDD_LABELING = 6,\n\tNDD_INCOHERENT = 7,\n\tNDD_REGISTER_SYNC = 8,\n\tND_IOCTL_MAX_BUFLEN = 4194304,\n\tND_CMD_MAX_ELEM = 5,\n\tND_CMD_MAX_ENVELOPE = 256,\n\tND_MAX_MAPPINGS = 32,\n\tND_REGION_PAGEMAP = 0,\n\tND_REGION_PERSIST_CACHE = 1,\n\tND_REGION_PERSIST_MEMCTRL = 2,\n\tND_REGION_ASYNC = 3,\n\tND_REGION_CXL = 4,\n\tDPA_RESOURCE_ADJUSTED = 1,\n};\n\nenum {\n\tNDTA_UNSPEC = 0,\n\tNDTA_NAME = 1,\n\tNDTA_THRESH1 = 2,\n\tNDTA_THRESH2 = 3,\n\tNDTA_THRESH3 = 4,\n\tNDTA_CONFIG = 5,\n\tNDTA_PARMS = 6,\n\tNDTA_STATS = 7,\n\tNDTA_GC_INTERVAL = 8,\n\tNDTA_PAD = 9,\n\t__NDTA_MAX = 10,\n};\n\nenum {\n\tNDTPA_UNSPEC = 0,\n\tNDTPA_IFINDEX = 1,\n\tNDTPA_REFCNT = 2,\n\tNDTPA_REACHABLE_TIME = 3,\n\tNDTPA_BASE_REACHABLE_TIME = 4,\n\tNDTPA_RETRANS_TIME = 5,\n\tNDTPA_GC_STALETIME = 6,\n\tNDTPA_DELAY_PROBE_TIME = 7,\n\tNDTPA_QUEUE_LEN = 8,\n\tNDTPA_APP_PROBES = 9,\n\tNDTPA_UCAST_PROBES = 10,\n\tNDTPA_MCAST_PROBES = 11,\n\tNDTPA_ANYCAST_DELAY = 12,\n\tNDTPA_PROXY_DELAY = 13,\n\tNDTPA_PROXY_QLEN = 14,\n\tNDTPA_LOCKTIME = 15,\n\tNDTPA_QUEUE_LENBYTES = 16,\n\tNDTPA_MCAST_REPROBES = 17,\n\tNDTPA_PAD = 18,\n\tNDTPA_INTERVAL_PROBE_TIME_MS = 19,\n\t__NDTPA_MAX = 20,\n};\n\nenum {\n\tNEIGH_ARP_TABLE = 0,\n\tNEIGH_ND_TABLE = 1,\n\tNEIGH_NR_TABLES = 2,\n\tNEIGH_LINK_TABLE = 2,\n};\n\nenum {\n\tNEIGH_VAR_MCAST_PROBES = 0,\n\tNEIGH_VAR_UCAST_PROBES = 1,\n\tNEIGH_VAR_APP_PROBES = 2,\n\tNEIGH_VAR_MCAST_REPROBES = 3,\n\tNEIGH_VAR_RETRANS_TIME = 4,\n\tNEIGH_VAR_BASE_REACHABLE_TIME = 5,\n\tNEIGH_VAR_DELAY_PROBE_TIME = 6,\n\tNEIGH_VAR_INTERVAL_PROBE_TIME_MS = 7,\n\tNEIGH_VAR_GC_STALETIME = 8,\n\tNEIGH_VAR_QUEUE_LEN_BYTES = 9,\n\tNEIGH_VAR_PROXY_QLEN = 10,\n\tNEIGH_VAR_ANYCAST_DELAY = 11,\n\tNEIGH_VAR_PROXY_DELAY = 12,\n\tNEIGH_VAR_LOCKTIME = 13,\n\tNEIGH_VAR_QUEUE_LEN = 14,\n\tNEIGH_VAR_RETRANS_TIME_MS = 15,\n\tNEIGH_VAR_BASE_REACHABLE_TIME_MS = 16,\n\tNEIGH_VAR_GC_INTERVAL = 17,\n\tNEIGH_VAR_GC_THRESH1 = 18,\n\tNEIGH_VAR_GC_THRESH2 = 19,\n\tNEIGH_VAR_GC_THRESH3 = 20,\n\tNEIGH_VAR_MAX = 21,\n};\n\nenum {\n\tNESTED_SYNC_IMM_BIT = 0,\n\tNESTED_SYNC_TODO_BIT = 1,\n};\n\nenum {\n\tNETCONFA_UNSPEC = 0,\n\tNETCONFA_IFINDEX = 1,\n\tNETCONFA_FORWARDING = 2,\n\tNETCONFA_RP_FILTER = 3,\n\tNETCONFA_MC_FORWARDING = 4,\n\tNETCONFA_PROXY_NEIGH = 5,\n\tNETCONFA_IGNORE_ROUTES_WITH_LINKDOWN = 6,\n\tNETCONFA_INPUT = 7,\n\tNETCONFA_BC_FORWARDING = 8,\n\t__NETCONFA_MAX = 9,\n};\n\nenum {\n\tNETDEV_A_DEV_IFINDEX = 1,\n\tNETDEV_A_DEV_PAD = 2,\n\tNETDEV_A_DEV_XDP_FEATURES = 3,\n\tNETDEV_A_DEV_XDP_ZC_MAX_SEGS = 4,\n\tNETDEV_A_DEV_XDP_RX_METADATA_FEATURES = 5,\n\tNETDEV_A_DEV_XSK_FEATURES = 6,\n\t__NETDEV_A_DEV_MAX = 7,\n\tNETDEV_A_DEV_MAX = 6,\n};\n\nenum {\n\tNETDEV_A_DMABUF_IFINDEX = 1,\n\tNETDEV_A_DMABUF_QUEUES = 2,\n\tNETDEV_A_DMABUF_FD = 3,\n\tNETDEV_A_DMABUF_ID = 4,\n\t__NETDEV_A_DMABUF_MAX = 5,\n\tNETDEV_A_DMABUF_MAX = 4,\n};\n\nenum {\n\tNETDEV_A_NAPI_IFINDEX = 1,\n\tNETDEV_A_NAPI_ID = 2,\n\tNETDEV_A_NAPI_IRQ = 3,\n\tNETDEV_A_NAPI_PID = 4,\n\tNETDEV_A_NAPI_DEFER_HARD_IRQS = 5,\n\tNETDEV_A_NAPI_GRO_FLUSH_TIMEOUT = 6,\n\tNETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT = 7,\n\t__NETDEV_A_NAPI_MAX = 8,\n\tNETDEV_A_NAPI_MAX = 7,\n};\n\nenum {\n\tNETDEV_A_PAGE_POOL_ID = 1,\n\tNETDEV_A_PAGE_POOL_IFINDEX = 2,\n\tNETDEV_A_PAGE_POOL_NAPI_ID = 3,\n\tNETDEV_A_PAGE_POOL_INFLIGHT = 4,\n\tNETDEV_A_PAGE_POOL_INFLIGHT_MEM = 5,\n\tNETDEV_A_PAGE_POOL_DETACH_TIME = 6,\n\tNETDEV_A_PAGE_POOL_DMABUF = 7,\n\t__NETDEV_A_PAGE_POOL_MAX = 8,\n\tNETDEV_A_PAGE_POOL_MAX = 7,\n};\n\nenum {\n\tNETDEV_A_PAGE_POOL_STATS_INFO = 1,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW = 9,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER = 10,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY = 11,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL = 12,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE = 13,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED = 14,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL = 15,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RING = 16,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL = 17,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT = 18,\n\t__NETDEV_A_PAGE_POOL_STATS_MAX = 19,\n\tNETDEV_A_PAGE_POOL_STATS_MAX = 18,\n};\n\nenum {\n\tNETDEV_A_QSTATS_IFINDEX = 1,\n\tNETDEV_A_QSTATS_QUEUE_TYPE = 2,\n\tNETDEV_A_QSTATS_QUEUE_ID = 3,\n\tNETDEV_A_QSTATS_SCOPE = 4,\n\tNETDEV_A_QSTATS_RX_PACKETS = 8,\n\tNETDEV_A_QSTATS_RX_BYTES = 9,\n\tNETDEV_A_QSTATS_TX_PACKETS = 10,\n\tNETDEV_A_QSTATS_TX_BYTES = 11,\n\tNETDEV_A_QSTATS_RX_ALLOC_FAIL = 12,\n\tNETDEV_A_QSTATS_RX_HW_DROPS = 13,\n\tNETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS = 14,\n\tNETDEV_A_QSTATS_RX_CSUM_COMPLETE = 15,\n\tNETDEV_A_QSTATS_RX_CSUM_UNNECESSARY = 16,\n\tNETDEV_A_QSTATS_RX_CSUM_NONE = 17,\n\tNETDEV_A_QSTATS_RX_CSUM_BAD = 18,\n\tNETDEV_A_QSTATS_RX_HW_GRO_PACKETS = 19,\n\tNETDEV_A_QSTATS_RX_HW_GRO_BYTES = 20,\n\tNETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS = 21,\n\tNETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES = 22,\n\tNETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS = 23,\n\tNETDEV_A_QSTATS_TX_HW_DROPS = 24,\n\tNETDEV_A_QSTATS_TX_HW_DROP_ERRORS = 25,\n\tNETDEV_A_QSTATS_TX_CSUM_NONE = 26,\n\tNETDEV_A_QSTATS_TX_NEEDS_CSUM = 27,\n\tNETDEV_A_QSTATS_TX_HW_GSO_PACKETS = 28,\n\tNETDEV_A_QSTATS_TX_HW_GSO_BYTES = 29,\n\tNETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS = 30,\n\tNETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES = 31,\n\tNETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS = 32,\n\tNETDEV_A_QSTATS_TX_STOP = 33,\n\tNETDEV_A_QSTATS_TX_WAKE = 34,\n\t__NETDEV_A_QSTATS_MAX = 35,\n\tNETDEV_A_QSTATS_MAX = 34,\n};\n\nenum {\n\tNETDEV_A_QUEUE_ID = 1,\n\tNETDEV_A_QUEUE_IFINDEX = 2,\n\tNETDEV_A_QUEUE_TYPE = 3,\n\tNETDEV_A_QUEUE_NAPI_ID = 4,\n\tNETDEV_A_QUEUE_DMABUF = 5,\n\t__NETDEV_A_QUEUE_MAX = 6,\n\tNETDEV_A_QUEUE_MAX = 5,\n};\n\nenum {\n\tNETDEV_CMD_DEV_GET = 1,\n\tNETDEV_CMD_DEV_ADD_NTF = 2,\n\tNETDEV_CMD_DEV_DEL_NTF = 3,\n\tNETDEV_CMD_DEV_CHANGE_NTF = 4,\n\tNETDEV_CMD_PAGE_POOL_GET = 5,\n\tNETDEV_CMD_PAGE_POOL_ADD_NTF = 6,\n\tNETDEV_CMD_PAGE_POOL_DEL_NTF = 7,\n\tNETDEV_CMD_PAGE_POOL_CHANGE_NTF = 8,\n\tNETDEV_CMD_PAGE_POOL_STATS_GET = 9,\n\tNETDEV_CMD_QUEUE_GET = 10,\n\tNETDEV_CMD_NAPI_GET = 11,\n\tNETDEV_CMD_QSTATS_GET = 12,\n\tNETDEV_CMD_BIND_RX = 13,\n\tNETDEV_CMD_NAPI_SET = 14,\n\t__NETDEV_CMD_MAX = 15,\n\tNETDEV_CMD_MAX = 14,\n};\n\nenum {\n\tNETDEV_NLGRP_MGMT = 0,\n\tNETDEV_NLGRP_PAGE_POOL = 1,\n};\n\nenum {\n\tNETDEV_STATS = 0,\n\tE1000_STATS = 1,\n};\n\nenum {\n\tNETIF_F_SG_BIT = 0,\n\tNETIF_F_IP_CSUM_BIT = 1,\n\t__UNUSED_NETIF_F_1 = 2,\n\tNETIF_F_HW_CSUM_BIT = 3,\n\tNETIF_F_IPV6_CSUM_BIT = 4,\n\tNETIF_F_HIGHDMA_BIT = 5,\n\tNETIF_F_FRAGLIST_BIT = 6,\n\tNETIF_F_HW_VLAN_CTAG_TX_BIT = 7,\n\tNETIF_F_HW_VLAN_CTAG_RX_BIT = 8,\n\tNETIF_F_HW_VLAN_CTAG_FILTER_BIT = 9,\n\tNETIF_F_VLAN_CHALLENGED_BIT = 10,\n\tNETIF_F_GSO_BIT = 11,\n\t__UNUSED_NETIF_F_12 = 12,\n\t__UNUSED_NETIF_F_13 = 13,\n\tNETIF_F_GRO_BIT = 14,\n\tNETIF_F_LRO_BIT = 15,\n\tNETIF_F_GSO_SHIFT = 16,\n\tNETIF_F_TSO_BIT = 16,\n\tNETIF_F_GSO_ROBUST_BIT = 17,\n\tNETIF_F_TSO_ECN_BIT = 18,\n\tNETIF_F_TSO_MANGLEID_BIT = 19,\n\tNETIF_F_TSO6_BIT = 20,\n\tNETIF_F_FSO_BIT = 21,\n\tNETIF_F_GSO_GRE_BIT = 22,\n\tNETIF_F_GSO_GRE_CSUM_BIT = 23,\n\tNETIF_F_GSO_IPXIP4_BIT = 24,\n\tNETIF_F_GSO_IPXIP6_BIT = 25,\n\tNETIF_F_GSO_UDP_TUNNEL_BIT = 26,\n\tNETIF_F_GSO_UDP_TUNNEL_CSUM_BIT = 27,\n\tNETIF_F_GSO_PARTIAL_BIT = 28,\n\tNETIF_F_GSO_TUNNEL_REMCSUM_BIT = 29,\n\tNETIF_F_GSO_SCTP_BIT = 30,\n\tNETIF_F_GSO_ESP_BIT = 31,\n\tNETIF_F_GSO_UDP_BIT = 32,\n\tNETIF_F_GSO_UDP_L4_BIT = 33,\n\tNETIF_F_GSO_FRAGLIST_BIT = 34,\n\tNETIF_F_GSO_LAST = 34,\n\tNETIF_F_FCOE_CRC_BIT = 35,\n\tNETIF_F_SCTP_CRC_BIT = 36,\n\t__UNUSED_NETIF_F_37 = 37,\n\tNETIF_F_NTUPLE_BIT = 38,\n\tNETIF_F_RXHASH_BIT = 39,\n\tNETIF_F_RXCSUM_BIT = 40,\n\tNETIF_F_NOCACHE_COPY_BIT = 41,\n\tNETIF_F_LOOPBACK_BIT = 42,\n\tNETIF_F_RXFCS_BIT = 43,\n\tNETIF_F_RXALL_BIT = 44,\n\tNETIF_F_HW_VLAN_STAG_TX_BIT = 45,\n\tNETIF_F_HW_VLAN_STAG_RX_BIT = 46,\n\tNETIF_F_HW_VLAN_STAG_FILTER_BIT = 47,\n\tNETIF_F_HW_L2FW_DOFFLOAD_BIT = 48,\n\tNETIF_F_HW_TC_BIT = 49,\n\tNETIF_F_HW_ESP_BIT = 50,\n\tNETIF_F_HW_ESP_TX_CSUM_BIT = 51,\n\tNETIF_F_RX_UDP_TUNNEL_PORT_BIT = 52,\n\tNETIF_F_HW_TLS_TX_BIT = 53,\n\tNETIF_F_HW_TLS_RX_BIT = 54,\n\tNETIF_F_GRO_HW_BIT = 55,\n\tNETIF_F_HW_TLS_RECORD_BIT = 56,\n\tNETIF_F_GRO_FRAGLIST_BIT = 57,\n\tNETIF_F_HW_MACSEC_BIT = 58,\n\tNETIF_F_GRO_UDP_FWD_BIT = 59,\n\tNETIF_F_HW_HSR_TAG_INS_BIT = 60,\n\tNETIF_F_HW_HSR_TAG_RM_BIT = 61,\n\tNETIF_F_HW_HSR_FWD_BIT = 62,\n\tNETIF_F_HW_HSR_DUP_BIT = 63,\n\tNETDEV_FEATURE_COUNT = 64,\n};\n\nenum {\n\tNETIF_MSG_DRV_BIT = 0,\n\tNETIF_MSG_PROBE_BIT = 1,\n\tNETIF_MSG_LINK_BIT = 2,\n\tNETIF_MSG_TIMER_BIT = 3,\n\tNETIF_MSG_IFDOWN_BIT = 4,\n\tNETIF_MSG_IFUP_BIT = 5,\n\tNETIF_MSG_RX_ERR_BIT = 6,\n\tNETIF_MSG_TX_ERR_BIT = 7,\n\tNETIF_MSG_TX_QUEUED_BIT = 8,\n\tNETIF_MSG_INTR_BIT = 9,\n\tNETIF_MSG_TX_DONE_BIT = 10,\n\tNETIF_MSG_RX_STATUS_BIT = 11,\n\tNETIF_MSG_PKTDATA_BIT = 12,\n\tNETIF_MSG_HW_BIT = 13,\n\tNETIF_MSG_WOL_BIT = 14,\n\tNETIF_MSG_CLASS_COUNT = 15,\n};\n\nenum {\n\tNETLINK_F_KERNEL_SOCKET = 0,\n\tNETLINK_F_RECV_PKTINFO = 1,\n\tNETLINK_F_BROADCAST_SEND_ERROR = 2,\n\tNETLINK_F_RECV_NO_ENOBUFS = 3,\n\tNETLINK_F_LISTEN_ALL_NSID = 4,\n\tNETLINK_F_CAP_ACK = 5,\n\tNETLINK_F_EXT_ACK = 6,\n\tNETLINK_F_STRICT_CHK = 7,\n};\n\nenum {\n\tNETLINK_UNCONNECTED = 0,\n\tNETLINK_CONNECTED = 1,\n};\n\nenum {\n\tNETNSA_NONE = 0,\n\tNETNSA_NSID = 1,\n\tNETNSA_PID = 2,\n\tNETNSA_FD = 3,\n\tNETNSA_TARGET_NSID = 4,\n\tNETNSA_CURRENT_NSID = 5,\n\t__NETNSA_MAX = 6,\n};\n\nenum {\n\tNET_NS_INDEX = 0,\n\tUTS_NS_INDEX = 1,\n\tIPC_NS_INDEX = 2,\n\tPID_NS_INDEX = 3,\n\tUSER_NS_INDEX = 4,\n\tMNT_NS_INDEX = 5,\n\tCGROUP_NS_INDEX = 6,\n\tNR_NAMESPACES = 7,\n};\n\nenum {\n\tNEXTHOP_GRP_TYPE_MPATH = 0,\n\tNEXTHOP_GRP_TYPE_RES = 1,\n\t__NEXTHOP_GRP_TYPE_MAX = 2,\n};\n\nenum {\n\tNFPROTO_UNSPEC = 0,\n\tNFPROTO_INET = 1,\n\tNFPROTO_IPV4 = 2,\n\tNFPROTO_ARP = 3,\n\tNFPROTO_NETDEV = 5,\n\tNFPROTO_BRIDGE = 7,\n\tNFPROTO_IPV6 = 10,\n\tNFPROTO_NUMPROTO = 11,\n};\n\nenum {\n\tNFSPROC4_CLNT_NULL = 0,\n\tNFSPROC4_CLNT_READ = 1,\n\tNFSPROC4_CLNT_WRITE = 2,\n\tNFSPROC4_CLNT_COMMIT = 3,\n\tNFSPROC4_CLNT_OPEN = 4,\n\tNFSPROC4_CLNT_OPEN_CONFIRM = 5,\n\tNFSPROC4_CLNT_OPEN_NOATTR = 6,\n\tNFSPROC4_CLNT_OPEN_DOWNGRADE = 7,\n\tNFSPROC4_CLNT_CLOSE = 8,\n\tNFSPROC4_CLNT_SETATTR = 9,\n\tNFSPROC4_CLNT_FSINFO = 10,\n\tNFSPROC4_CLNT_RENEW = 11,\n\tNFSPROC4_CLNT_SETCLIENTID = 12,\n\tNFSPROC4_CLNT_SETCLIENTID_CONFIRM = 13,\n\tNFSPROC4_CLNT_LOCK = 14,\n\tNFSPROC4_CLNT_LOCKT = 15,\n\tNFSPROC4_CLNT_LOCKU = 16,\n\tNFSPROC4_CLNT_ACCESS = 17,\n\tNFSPROC4_CLNT_GETATTR = 18,\n\tNFSPROC4_CLNT_LOOKUP = 19,\n\tNFSPROC4_CLNT_LOOKUP_ROOT = 20,\n\tNFSPROC4_CLNT_REMOVE = 21,\n\tNFSPROC4_CLNT_RENAME = 22,\n\tNFSPROC4_CLNT_LINK = 23,\n\tNFSPROC4_CLNT_SYMLINK = 24,\n\tNFSPROC4_CLNT_CREATE = 25,\n\tNFSPROC4_CLNT_PATHCONF = 26,\n\tNFSPROC4_CLNT_STATFS = 27,\n\tNFSPROC4_CLNT_READLINK = 28,\n\tNFSPROC4_CLNT_READDIR = 29,\n\tNFSPROC4_CLNT_SERVER_CAPS = 30,\n\tNFSPROC4_CLNT_DELEGRETURN = 31,\n\tNFSPROC4_CLNT_GETACL = 32,\n\tNFSPROC4_CLNT_SETACL = 33,\n\tNFSPROC4_CLNT_FS_LOCATIONS = 34,\n\tNFSPROC4_CLNT_RELEASE_LOCKOWNER = 35,\n\tNFSPROC4_CLNT_SECINFO = 36,\n\tNFSPROC4_CLNT_FSID_PRESENT = 37,\n\tNFSPROC4_CLNT_EXCHANGE_ID = 38,\n\tNFSPROC4_CLNT_CREATE_SESSION = 39,\n\tNFSPROC4_CLNT_DESTROY_SESSION = 40,\n\tNFSPROC4_CLNT_SEQUENCE = 41,\n\tNFSPROC4_CLNT_GET_LEASE_TIME = 42,\n\tNFSPROC4_CLNT_RECLAIM_COMPLETE = 43,\n\tNFSPROC4_CLNT_LAYOUTGET = 44,\n\tNFSPROC4_CLNT_GETDEVICEINFO = 45,\n\tNFSPROC4_CLNT_LAYOUTCOMMIT = 46,\n\tNFSPROC4_CLNT_LAYOUTRETURN = 47,\n\tNFSPROC4_CLNT_SECINFO_NO_NAME = 48,\n\tNFSPROC4_CLNT_TEST_STATEID = 49,\n\tNFSPROC4_CLNT_FREE_STATEID = 50,\n\tNFSPROC4_CLNT_GETDEVICELIST = 51,\n\tNFSPROC4_CLNT_BIND_CONN_TO_SESSION = 52,\n\tNFSPROC4_CLNT_DESTROY_CLIENTID = 53,\n\tNFSPROC4_CLNT_SEEK = 54,\n\tNFSPROC4_CLNT_ALLOCATE = 55,\n\tNFSPROC4_CLNT_DEALLOCATE = 56,\n\tNFSPROC4_CLNT_LAYOUTSTATS = 57,\n\tNFSPROC4_CLNT_CLONE = 58,\n\tNFSPROC4_CLNT_COPY = 59,\n\tNFSPROC4_CLNT_OFFLOAD_CANCEL = 60,\n\tNFSPROC4_CLNT_LOOKUPP = 61,\n\tNFSPROC4_CLNT_LAYOUTERROR = 62,\n\tNFSPROC4_CLNT_COPY_NOTIFY = 63,\n\tNFSPROC4_CLNT_GETXATTR = 64,\n\tNFSPROC4_CLNT_SETXATTR = 65,\n\tNFSPROC4_CLNT_LISTXATTRS = 66,\n\tNFSPROC4_CLNT_REMOVEXATTR = 67,\n\tNFSPROC4_CLNT_READ_PLUS = 68,\n};\n\nenum {\n\tNFS_DELEGATION_NEED_RECLAIM = 0,\n\tNFS_DELEGATION_RETURN = 1,\n\tNFS_DELEGATION_RETURN_IF_CLOSED = 2,\n\tNFS_DELEGATION_REFERENCED = 3,\n\tNFS_DELEGATION_RETURNING = 4,\n\tNFS_DELEGATION_REVOKED = 5,\n\tNFS_DELEGATION_TEST_EXPIRED = 6,\n\tNFS_DELEGATION_INODE_FREEING = 7,\n\tNFS_DELEGATION_RETURN_DELAYED = 8,\n\tNFS_DELEGATION_DELEGTIME = 9,\n};\n\nenum {\n\tNFS_DEVICEID_INVALID = 0,\n\tNFS_DEVICEID_UNAVAILABLE = 1,\n\tNFS_DEVICEID_NOCACHE = 2,\n};\n\nenum {\n\tNFS_IOHDR_ERROR = 0,\n\tNFS_IOHDR_EOF = 1,\n\tNFS_IOHDR_REDO = 2,\n\tNFS_IOHDR_STAT = 3,\n\tNFS_IOHDR_RESEND_PNFS = 4,\n\tNFS_IOHDR_RESEND_MDS = 5,\n\tNFS_IOHDR_UNSTABLE_WRITES = 6,\n\tNFS_IOHDR_ODIRECT = 7,\n};\n\nenum {\n\tNFS_LAYOUT_RO_FAILED = 0,\n\tNFS_LAYOUT_RW_FAILED = 1,\n\tNFS_LAYOUT_BULK_RECALL = 2,\n\tNFS_LAYOUT_RETURN = 3,\n\tNFS_LAYOUT_RETURN_LOCK = 4,\n\tNFS_LAYOUT_RETURN_REQUESTED = 5,\n\tNFS_LAYOUT_INVALID_STID = 6,\n\tNFS_LAYOUT_FIRST_LAYOUTGET = 7,\n\tNFS_LAYOUT_INODE_FREEING = 8,\n\tNFS_LAYOUT_HASHED = 9,\n\tNFS_LAYOUT_DRAIN = 10,\n};\n\nenum {\n\tNFS_LSEG_VALID = 0,\n\tNFS_LSEG_ROC = 1,\n\tNFS_LSEG_LAYOUTCOMMIT = 2,\n\tNFS_LSEG_LAYOUTRETURN = 3,\n\tNFS_LSEG_UNAVAILABLE = 4,\n};\n\nenum {\n\tNFS_OWNER_RECLAIM_REBOOT = 0,\n\tNFS_OWNER_RECLAIM_NOGRACE = 1,\n};\n\nenum {\n\tNHA_GROUP_STATS_ENTRY_UNSPEC = 0,\n\tNHA_GROUP_STATS_ENTRY_ID = 1,\n\tNHA_GROUP_STATS_ENTRY_PACKETS = 2,\n\tNHA_GROUP_STATS_ENTRY_PACKETS_HW = 3,\n\t__NHA_GROUP_STATS_ENTRY_MAX = 4,\n};\n\nenum {\n\tNHA_GROUP_STATS_UNSPEC = 0,\n\tNHA_GROUP_STATS_ENTRY = 1,\n\t__NHA_GROUP_STATS_MAX = 2,\n};\n\nenum {\n\tNHA_RES_BUCKET_UNSPEC = 0,\n\tNHA_RES_BUCKET_PAD = 0,\n\tNHA_RES_BUCKET_INDEX = 1,\n\tNHA_RES_BUCKET_IDLE_TIME = 2,\n\tNHA_RES_BUCKET_NH_ID = 3,\n\t__NHA_RES_BUCKET_MAX = 4,\n};\n\nenum {\n\tNHA_RES_GROUP_UNSPEC = 0,\n\tNHA_RES_GROUP_PAD = 0,\n\tNHA_RES_GROUP_BUCKETS = 1,\n\tNHA_RES_GROUP_IDLE_TIMER = 2,\n\tNHA_RES_GROUP_UNBALANCED_TIMER = 3,\n\tNHA_RES_GROUP_UNBALANCED_TIME = 4,\n\t__NHA_RES_GROUP_MAX = 5,\n};\n\nenum {\n\tNHA_UNSPEC = 0,\n\tNHA_ID = 1,\n\tNHA_GROUP = 2,\n\tNHA_GROUP_TYPE = 3,\n\tNHA_BLACKHOLE = 4,\n\tNHA_OIF = 5,\n\tNHA_GATEWAY = 6,\n\tNHA_ENCAP_TYPE = 7,\n\tNHA_ENCAP = 8,\n\tNHA_GROUPS = 9,\n\tNHA_MASTER = 10,\n\tNHA_FDB = 11,\n\tNHA_RES_GROUP = 12,\n\tNHA_RES_BUCKET = 13,\n\tNHA_OP_FLAGS = 14,\n\tNHA_GROUP_STATS = 15,\n\tNHA_HW_STATS_ENABLE = 16,\n\tNHA_HW_STATS_USED = 17,\n\t__NHA_MAX = 18,\n};\n\nenum {\n\tNLA_UNSPEC = 0,\n\tNLA_U8 = 1,\n\tNLA_U16 = 2,\n\tNLA_U32 = 3,\n\tNLA_U64 = 4,\n\tNLA_STRING = 5,\n\tNLA_FLAG = 6,\n\tNLA_MSECS = 7,\n\tNLA_NESTED = 8,\n\tNLA_NESTED_ARRAY = 9,\n\tNLA_NUL_STRING = 10,\n\tNLA_BINARY = 11,\n\tNLA_S8 = 12,\n\tNLA_S16 = 13,\n\tNLA_S32 = 14,\n\tNLA_S64 = 15,\n\tNLA_BITFIELD32 = 16,\n\tNLA_REJECT = 17,\n\tNLA_BE16 = 18,\n\tNLA_BE32 = 19,\n\tNLA_SINT = 20,\n\tNLA_UINT = 21,\n\t__NLA_TYPE_MAX = 22,\n};\n\nenum {\n\tNLM_LCK_GRANTED = 0,\n\tNLM_LCK_DENIED = 1,\n\tNLM_LCK_DENIED_NOLOCKS = 2,\n\tNLM_LCK_BLOCKED = 3,\n\tNLM_LCK_DENIED_GRACE_PERIOD = 4,\n\tNLM_DEADLCK = 5,\n\tNLM_ROFS = 6,\n\tNLM_STALE_FH = 7,\n\tNLM_FBIG = 8,\n\tNLM_FAILED = 9,\n};\n\nenum {\n\tNODE_ACCESS_CLASS_GENPORT_SINK_LOCAL = 2,\n\tNODE_ACCESS_CLASS_GENPORT_SINK_CPU = 3,\n\tNODE_ACCESS_CLASS_MAX = 4,\n};\n\nenum {\n\tNORTH = 0,\n\tSOUTH = 1,\n\tEAST = 2,\n};\n\nenum {\n\tNORTH___2 = 0,\n\tSOUTH___2 = 1,\n\tWEST = 2,\n};\n\nenum {\n\tNORTH___3 = 0,\n\tCENTER = 1,\n\tSOUTH___3 = 2,\n};\n\nenum {\n\tNORTH___4 = 0,\n\tSOUTH___4 = 1,\n\tEAST___2 = 2,\n\tWEST___2 = 3,\n};\n\nenum {\n\tNSMPROC_NULL = 0,\n\tNSMPROC_STAT = 1,\n\tNSMPROC_MON = 2,\n\tNSMPROC_UNMON = 3,\n\tNSMPROC_UNMON_ALL = 4,\n\tNSMPROC_SIMU_CRASH = 5,\n\tNSMPROC_NOTIFY = 6,\n};\n\nenum {\n\tNUM_TRIAL_SAMPLES = 8192,\n\tMAX_SAMPLES_PER_BIT = 16,\n};\n\nenum {\n\tNVMEM_ADD = 1,\n\tNVMEM_REMOVE = 2,\n\tNVMEM_CELL_ADD = 3,\n\tNVMEM_CELL_REMOVE = 4,\n\tNVMEM_LAYOUT_ADD = 5,\n\tNVMEM_LAYOUT_REMOVE = 6,\n};\n\nenum {\n\tNVME_AEN_BIT_NS_ATTR = 8,\n\tNVME_AEN_BIT_FW_ACT = 9,\n\tNVME_AEN_BIT_ANA_CHANGE = 11,\n\tNVME_AEN_BIT_DISC_CHANGE = 31,\n};\n\nenum {\n\tNVME_CC_ENABLE = 1,\n\tNVME_CC_EN_SHIFT = 0,\n\tNVME_CC_CSS_SHIFT = 4,\n\tNVME_CC_CSS_MASK = 112,\n\tNVME_CC_CSS_NVM = 0,\n\tNVME_CC_CSS_CSI = 96,\n\tNVME_CC_MPS_SHIFT = 7,\n\tNVME_CC_MPS_MASK = 1920,\n\tNVME_CC_AMS_SHIFT = 11,\n\tNVME_CC_AMS_MASK = 14336,\n\tNVME_CC_AMS_RR = 0,\n\tNVME_CC_AMS_WRRU = 2048,\n\tNVME_CC_AMS_VS = 14336,\n\tNVME_CC_SHN_SHIFT = 14,\n\tNVME_CC_SHN_MASK = 49152,\n\tNVME_CC_SHN_NONE = 0,\n\tNVME_CC_SHN_NORMAL = 16384,\n\tNVME_CC_SHN_ABRUPT = 32768,\n\tNVME_CC_IOSQES_SHIFT = 16,\n\tNVME_CC_IOSQES_MASK = 983040,\n\tNVME_CC_IOSQES = 393216,\n\tNVME_CC_IOCQES_SHIFT = 20,\n\tNVME_CC_IOCQES_MASK = 15728640,\n\tNVME_CC_IOCQES = 4194304,\n\tNVME_CC_CRIME = 16777216,\n};\n\nenum {\n\tNVME_CSTS_RDY = 1,\n\tNVME_CSTS_CFS = 2,\n\tNVME_CSTS_NSSRO = 16,\n\tNVME_CSTS_PP = 32,\n\tNVME_CSTS_SHST_NORMAL = 0,\n\tNVME_CSTS_SHST_OCCUR = 4,\n\tNVME_CSTS_SHST_CMPLT = 8,\n\tNVME_CSTS_SHST_MASK = 12,\n};\n\nenum {\n\tNVME_REG_CAP = 0,\n\tNVME_REG_VS = 8,\n\tNVME_REG_INTMS = 12,\n\tNVME_REG_INTMC = 16,\n\tNVME_REG_CC = 20,\n\tNVME_REG_CSTS = 28,\n\tNVME_REG_NSSR = 32,\n\tNVME_REG_AQA = 36,\n\tNVME_REG_ASQ = 40,\n\tNVME_REG_ACQ = 48,\n\tNVME_REG_CMBLOC = 56,\n\tNVME_REG_CMBSZ = 60,\n\tNVME_REG_BPINFO = 64,\n\tNVME_REG_BPRSEL = 68,\n\tNVME_REG_BPMBL = 72,\n\tNVME_REG_CMBMSC = 80,\n\tNVME_REG_CRTO = 104,\n\tNVME_REG_PMRCAP = 3584,\n\tNVME_REG_PMRCTL = 3588,\n\tNVME_REG_PMRSTS = 3592,\n\tNVME_REG_PMREBS = 3596,\n\tNVME_REG_PMRSWTP = 3600,\n\tNVME_REG_DBS = 4096,\n};\n\nenum {\n\tOD_NORMAL_SAMPLE = 0,\n\tOD_SUB_SAMPLE = 1,\n};\n\nenum {\n\tOMAP_I2C_REV_REG = 0,\n\tOMAP_I2C_IE_REG = 1,\n\tOMAP_I2C_STAT_REG = 2,\n\tOMAP_I2C_IV_REG = 3,\n\tOMAP_I2C_WE_REG = 4,\n\tOMAP_I2C_SYSS_REG = 5,\n\tOMAP_I2C_BUF_REG = 6,\n\tOMAP_I2C_CNT_REG = 7,\n\tOMAP_I2C_DATA_REG = 8,\n\tOMAP_I2C_SYSC_REG = 9,\n\tOMAP_I2C_CON_REG = 10,\n\tOMAP_I2C_OA_REG = 11,\n\tOMAP_I2C_SA_REG = 12,\n\tOMAP_I2C_PSC_REG = 13,\n\tOMAP_I2C_SCLL_REG = 14,\n\tOMAP_I2C_SCLH_REG = 15,\n\tOMAP_I2C_SYSTEST_REG = 16,\n\tOMAP_I2C_BUFSTAT_REG = 17,\n\tOMAP_I2C_IP_V2_REVNB_LO = 18,\n\tOMAP_I2C_IP_V2_REVNB_HI = 19,\n\tOMAP_I2C_IP_V2_IRQSTATUS_RAW = 20,\n\tOMAP_I2C_IP_V2_IRQENABLE_SET = 21,\n\tOMAP_I2C_IP_V2_IRQENABLE_CLR = 22,\n};\n\nenum {\n\tONLINE_POLICY_CONTIG_ZONES = 0,\n\tONLINE_POLICY_AUTO_MOVABLE = 1,\n};\n\nenum {\n\tOPT_UID = 0,\n\tOPT_GID = 1,\n\tOPT_MODE = 2,\n\tOPT_DELEGATE_CMDS = 3,\n\tOPT_DELEGATE_MAPS = 4,\n\tOPT_DELEGATE_PROGS = 5,\n\tOPT_DELEGATE_ATTACHS = 6,\n};\n\nenum {\n\tOUTSIDE_GUEST_MODE = 0,\n\tIN_GUEST_MODE = 1,\n\tEXITING_GUEST_MODE = 2,\n\tREADING_SHADOW_PAGE_TABLES = 3,\n};\n\nenum {\n\tOVERRIDE_NONE = 0,\n\tOVERRIDE_BASE = 1,\n\tOVERRIDE_STRIDE = 2,\n\tOVERRIDE_HEIGHT = 4,\n\tOVERRIDE_WIDTH = 8,\n};\n\nenum {\n\tOpt_bsd_df = 0,\n\tOpt_minix_df = 1,\n\tOpt_grpid = 2,\n\tOpt_nogrpid = 3,\n\tOpt_resgid = 4,\n\tOpt_resuid = 5,\n\tOpt_sb = 6,\n\tOpt_nouid32 = 7,\n\tOpt_debug = 8,\n\tOpt_removed = 9,\n\tOpt_user_xattr = 10,\n\tOpt_acl = 11,\n\tOpt_auto_da_alloc = 12,\n\tOpt_noauto_da_alloc = 13,\n\tOpt_noload = 14,\n\tOpt_commit = 15,\n\tOpt_min_batch_time = 16,\n\tOpt_max_batch_time = 17,\n\tOpt_journal_dev = 18,\n\tOpt_journal_path = 19,\n\tOpt_journal_checksum = 20,\n\tOpt_journal_async_commit = 21,\n\tOpt_abort = 22,\n\tOpt_data_journal = 23,\n\tOpt_data_ordered = 24,\n\tOpt_data_writeback = 25,\n\tOpt_data_err_abort = 26,\n\tOpt_data_err_ignore = 27,\n\tOpt_test_dummy_encryption = 28,\n\tOpt_inlinecrypt = 29,\n\tOpt_usrjquota = 30,\n\tOpt_grpjquota = 31,\n\tOpt_quota = 32,\n\tOpt_noquota = 33,\n\tOpt_barrier = 34,\n\tOpt_nobarrier = 35,\n\tOpt_err = 36,\n\tOpt_usrquota = 37,\n\tOpt_grpquota = 38,\n\tOpt_prjquota = 39,\n\tOpt_dax = 40,\n\tOpt_dax_always = 41,\n\tOpt_dax_inode = 42,\n\tOpt_dax_never = 43,\n\tOpt_stripe = 44,\n\tOpt_delalloc = 45,\n\tOpt_nodelalloc = 46,\n\tOpt_warn_on_error = 47,\n\tOpt_nowarn_on_error = 48,\n\tOpt_mblk_io_submit = 49,\n\tOpt_debug_want_extra_isize = 50,\n\tOpt_nomblk_io_submit = 51,\n\tOpt_block_validity = 52,\n\tOpt_noblock_validity = 53,\n\tOpt_inode_readahead_blks = 54,\n\tOpt_journal_ioprio = 55,\n\tOpt_dioread_nolock = 56,\n\tOpt_dioread_lock = 57,\n\tOpt_discard = 58,\n\tOpt_nodiscard = 59,\n\tOpt_init_itable = 60,\n\tOpt_noinit_itable = 61,\n\tOpt_max_dir_size_kb = 62,\n\tOpt_nojournal_checksum = 63,\n\tOpt_nombcache = 64,\n\tOpt_no_prefetch_block_bitmaps = 65,\n\tOpt_mb_optimize_scan = 66,\n\tOpt_errors = 67,\n\tOpt_data = 68,\n\tOpt_data_err = 69,\n\tOpt_jqfmt = 70,\n\tOpt_dax_type = 71,\n};\n\nenum {\n\tOpt_check = 0,\n\tOpt_uid = 1,\n\tOpt_gid = 2,\n\tOpt_umask = 3,\n\tOpt_dmask = 4,\n\tOpt_fmask = 5,\n\tOpt_allow_utime = 6,\n\tOpt_codepage = 7,\n\tOpt_usefree = 8,\n\tOpt_nocase = 9,\n\tOpt_quiet = 10,\n\tOpt_showexec = 11,\n\tOpt_debug___2 = 12,\n\tOpt_immutable = 13,\n\tOpt_dots = 14,\n\tOpt_dotsOK = 15,\n\tOpt_charset = 16,\n\tOpt_shortname = 17,\n\tOpt_utf8 = 18,\n\tOpt_utf8_bool = 19,\n\tOpt_uni_xl = 20,\n\tOpt_uni_xl_bool = 21,\n\tOpt_nonumtail = 22,\n\tOpt_nonumtail_bool = 23,\n\tOpt_obsolete = 24,\n\tOpt_flush = 25,\n\tOpt_tz = 26,\n\tOpt_rodir = 27,\n\tOpt_errors___2 = 28,\n\tOpt_discard___2 = 29,\n\tOpt_nfs = 30,\n\tOpt_nfs_enum = 31,\n\tOpt_time_offset = 32,\n\tOpt_dos1xfloppy = 33,\n};\n\nenum {\n\tOpt_debug___3 = 0,\n\tOpt_dfltuid = 1,\n\tOpt_dfltgid = 2,\n\tOpt_afid = 3,\n\tOpt_uname = 4,\n\tOpt_remotename = 5,\n\tOpt_cache = 6,\n\tOpt_cachetag = 7,\n\tOpt_nodevmap = 8,\n\tOpt_noxattr = 9,\n\tOpt_directio = 10,\n\tOpt_ignoreqv = 11,\n\tOpt_access = 12,\n\tOpt_posixacl = 13,\n\tOpt_locktimeout = 14,\n\tOpt_err___2 = 15,\n};\n\nenum {\n\tOpt_direct = 0,\n\tOpt_fd = 1,\n\tOpt_gid___2 = 2,\n\tOpt_ignore = 3,\n\tOpt_indirect = 4,\n\tOpt_maxproto = 5,\n\tOpt_minproto = 6,\n\tOpt_offset = 7,\n\tOpt_pgrp = 8,\n\tOpt_strictexpire = 9,\n\tOpt_uid___2 = 10,\n};\n\nenum {\n\tOpt_err___3 = 0,\n\tOpt_enc = 1,\n\tOpt_hash = 2,\n};\n\nenum {\n\tOpt_find_uid = 0,\n\tOpt_find_gid = 1,\n\tOpt_find_user = 2,\n\tOpt_find_group = 3,\n\tOpt_find_err = 4,\n};\n\nenum {\n\tOpt_kmsg_bytes = 0,\n\tOpt_err___4 = 1,\n};\n\nenum {\n\tOpt_local_lock_all = 0,\n\tOpt_local_lock_flock = 1,\n\tOpt_local_lock_none = 2,\n\tOpt_local_lock_posix = 3,\n};\n\nenum {\n\tOpt_lookupcache_all = 0,\n\tOpt_lookupcache_none = 1,\n\tOpt_lookupcache_positive = 2,\n};\n\nenum {\n\tOpt_msize = 0,\n\tOpt_trans = 1,\n\tOpt_legacy = 2,\n\tOpt_version = 3,\n\tOpt_err___5 = 4,\n};\n\nenum {\n\tOpt_port = 0,\n\tOpt_rfdno = 1,\n\tOpt_wfdno = 2,\n\tOpt_err___6 = 3,\n\tOpt_privport = 4,\n};\n\nenum {\n\tOpt_sec_krb5 = 0,\n\tOpt_sec_krb5i = 1,\n\tOpt_sec_krb5p = 2,\n\tOpt_sec_lkey = 3,\n\tOpt_sec_lkeyi = 4,\n\tOpt_sec_lkeyp = 5,\n\tOpt_sec_none = 6,\n\tOpt_sec_spkm = 7,\n\tOpt_sec_spkmi = 8,\n\tOpt_sec_spkmp = 9,\n\tOpt_sec_sys = 10,\n\tnr__Opt_sec = 11,\n};\n\nenum {\n\tOpt_uid___3 = 0,\n\tOpt_gid___3 = 1,\n};\n\nenum {\n\tOpt_uid___4 = 0,\n\tOpt_gid___4 = 1,\n\tOpt_mode = 2,\n};\n\nenum {\n\tOpt_uid___5 = 0,\n\tOpt_gid___5 = 1,\n\tOpt_mode___2 = 2,\n\tOpt_source = 3,\n};\n\nenum {\n\tOpt_uid___6 = 0,\n\tOpt_gid___6 = 1,\n\tOpt_mode___3 = 2,\n\tOpt_ptmxmode = 3,\n\tOpt_newinstance = 4,\n\tOpt_max = 5,\n\tOpt_err___7 = 6,\n};\n\nenum {\n\tOpt_vers_2 = 0,\n\tOpt_vers_3 = 1,\n\tOpt_vers_4 = 2,\n\tOpt_vers_4_0 = 3,\n\tOpt_vers_4_1 = 4,\n\tOpt_vers_4_2 = 5,\n};\n\nenum {\n\tOpt_write_lazy = 0,\n\tOpt_write_eager = 1,\n\tOpt_write_wait = 2,\n};\n\nenum {\n\tOpt_xprt_rdma = 0,\n\tOpt_xprt_rdma6 = 1,\n\tOpt_xprt_tcp = 2,\n\tOpt_xprt_tcp6 = 3,\n\tOpt_xprt_udp = 4,\n\tOpt_xprt_udp6 = 5,\n\tnr__Opt_xprt = 6,\n};\n\nenum {\n\tOpt_xprtsec_none = 0,\n\tOpt_xprtsec_tls = 1,\n\tOpt_xprtsec_mtls = 2,\n\tnr__Opt_xprtsec = 3,\n};\n\nenum {\n\tPAGE_REPORTING_IDLE = 0,\n\tPAGE_REPORTING_REQUESTED = 1,\n\tPAGE_REPORTING_ACTIVE = 2,\n};\n\nenum {\n\tPAGE_WAS_MAPPED = 1,\n\tPAGE_WAS_MLOCKED = 2,\n\tPAGE_OLD_STATES = 3,\n};\n\nenum {\n\tPARSE_INVALID = 1,\n\tPARSE_NOT_LONGNAME = 2,\n\tPARSE_EOF = 3,\n};\n\nenum {\n\tPCA9450_BUCK1 = 0,\n\tPCA9450_BUCK2 = 1,\n\tPCA9450_BUCK3 = 2,\n\tPCA9450_BUCK4 = 3,\n\tPCA9450_BUCK5 = 4,\n\tPCA9450_BUCK6 = 5,\n\tPCA9450_LDO1 = 6,\n\tPCA9450_LDO2 = 7,\n\tPCA9450_LDO3 = 8,\n\tPCA9450_LDO4 = 9,\n\tPCA9450_LDO5 = 10,\n\tPCA9450_REGULATOR_CNT = 11,\n};\n\nenum {\n\tPCA9450_DVS_LEVEL_RUN = 0,\n\tPCA9450_DVS_LEVEL_STANDBY = 1,\n\tPCA9450_DVS_LEVEL_MAX = 2,\n};\n\nenum {\n\tPCA9450_REG_DEV_ID = 0,\n\tPCA9450_REG_INT1 = 1,\n\tPCA9450_REG_INT1_MSK = 2,\n\tPCA9450_REG_STATUS1 = 3,\n\tPCA9450_REG_STATUS2 = 4,\n\tPCA9450_REG_PWRON_STAT = 5,\n\tPCA9450_REG_SWRST = 6,\n\tPCA9450_REG_PWRCTRL = 7,\n\tPCA9450_REG_RESET_CTRL = 8,\n\tPCA9450_REG_CONFIG1 = 9,\n\tPCA9450_REG_CONFIG2 = 10,\n\tPCA9450_REG_BUCK123_DVS = 12,\n\tPCA9450_REG_BUCK1OUT_LIMIT = 13,\n\tPCA9450_REG_BUCK2OUT_LIMIT = 14,\n\tPCA9450_REG_BUCK3OUT_LIMIT = 15,\n\tPCA9450_REG_BUCK1CTRL = 16,\n\tPCA9450_REG_BUCK1OUT_DVS0 = 17,\n\tPCA9450_REG_BUCK1OUT_DVS1 = 18,\n\tPCA9450_REG_BUCK2CTRL = 19,\n\tPCA9450_REG_BUCK2OUT_DVS0 = 20,\n\tPCA9450_REG_BUCK2OUT_DVS1 = 21,\n\tPCA9450_REG_BUCK3CTRL = 22,\n\tPCA9450_REG_BUCK3OUT_DVS0 = 23,\n\tPCA9450_REG_BUCK3OUT_DVS1 = 24,\n\tPCA9450_REG_BUCK4CTRL = 25,\n\tPCA9450_REG_BUCK4OUT = 26,\n\tPCA9450_REG_BUCK5CTRL = 27,\n\tPCA9450_REG_BUCK5OUT = 28,\n\tPCA9450_REG_BUCK6CTRL = 29,\n\tPCA9450_REG_BUCK6OUT = 30,\n\tPCA9450_REG_LDO_AD_CTRL = 32,\n\tPCA9450_REG_LDO1CTRL = 33,\n\tPCA9450_REG_LDO2CTRL = 34,\n\tPCA9450_REG_LDO3CTRL = 35,\n\tPCA9450_REG_LDO4CTRL = 36,\n\tPCA9450_REG_LDO5CTRL_L = 37,\n\tPCA9450_REG_LDO5CTRL_H = 38,\n\tPCA9450_REG_LOADSW_CTRL = 42,\n\tPCA9450_REG_VRFLT1_STS = 43,\n\tPCA9450_REG_VRFLT2_STS = 44,\n\tPCA9450_REG_VRFLT1_MASK = 45,\n\tPCA9450_REG_VRFLT2_MASK = 46,\n\tPCA9450_MAX_REGISTER = 47,\n};\n\nenum {\n\tPCI_BRIDGE_EMUL_NO_PREFMEM_FORWARD = 1,\n\tPCI_BRIDGE_EMUL_NO_IO_FORWARD = 2,\n};\n\nenum {\n\tPCI_DEV_REG1 = 64,\n\tPCI_DEV_REG2 = 68,\n\tPCI_DEV_STATUS = 124,\n\tPCI_DEV_REG3 = 128,\n\tPCI_DEV_REG4 = 132,\n\tPCI_DEV_REG5 = 136,\n\tPCI_CFG_REG_0 = 144,\n\tPCI_CFG_REG_1 = 148,\n\tPSM_CONFIG_REG0 = 152,\n\tPSM_CONFIG_REG1 = 156,\n\tPSM_CONFIG_REG2 = 352,\n\tPSM_CONFIG_REG3 = 356,\n\tPSM_CONFIG_REG4 = 360,\n\tPCI_LDO_CTRL = 188,\n};\n\nenum {\n\tPCI_ID_F_VFIO_DRIVER_OVERRIDE = 1,\n};\n\nenum {\n\tPCI_REASSIGN_ALL_RSRC = 1,\n\tPCI_REASSIGN_ALL_BUS = 2,\n\tPCI_PROBE_ONLY = 4,\n\tPCI_CAN_SKIP_ISA_ALIGN = 8,\n\tPCI_ENABLE_PROC_DOMAINS = 16,\n\tPCI_COMPAT_DOMAIN_0 = 32,\n\tPCI_SCAN_ALL_PCIE_DEVS = 64,\n};\n\nenum {\n\tPCI_STD_RESOURCES = 0,\n\tPCI_STD_RESOURCE_END = 5,\n\tPCI_ROM_RESOURCE = 6,\n\tPCI_IOV_RESOURCES = 7,\n\tPCI_IOV_RESOURCE_END = 12,\n\tPCI_BRIDGE_RESOURCES = 13,\n\tPCI_BRIDGE_RESOURCE_END = 16,\n\tPCI_NUM_RESOURCES = 17,\n\tDEVICE_COUNT_RESOURCE = 17,\n};\n\nenum {\n\tPC_VAUX_ENA = 128,\n\tPC_VAUX_DIS = 64,\n\tPC_VCC_ENA = 32,\n\tPC_VCC_DIS = 16,\n\tPC_VAUX_ON = 8,\n\tPC_VAUX_OFF = 4,\n\tPC_VCC_ON = 2,\n\tPC_VCC_OFF = 1,\n};\n\nenum {\n\tPERCPU_REF_INIT_ATOMIC = 1,\n\tPERCPU_REF_INIT_DEAD = 2,\n\tPERCPU_REF_ALLOW_REINIT = 4,\n};\n\nenum {\n\tPERF_FC_LEVEL = 0,\n\tPERF_FC_LIMIT = 1,\n\tPERF_FC_MAX = 2,\n};\n\nenum {\n\tPER_LINUX = 0,\n\tPER_LINUX_32BIT = 8388608,\n\tPER_LINUX_FDPIC = 524288,\n\tPER_SVR4 = 68157441,\n\tPER_SVR3 = 83886082,\n\tPER_SCOSVR3 = 117440515,\n\tPER_OSR5 = 100663299,\n\tPER_WYSEV386 = 83886084,\n\tPER_ISCR4 = 67108869,\n\tPER_BSD = 6,\n\tPER_SUNOS = 67108870,\n\tPER_XENIX = 83886087,\n\tPER_LINUX32 = 8,\n\tPER_LINUX32_3GB = 134217736,\n\tPER_IRIX32 = 67108873,\n\tPER_IRIXN32 = 67108874,\n\tPER_IRIX64 = 67108875,\n\tPER_RISCOS = 12,\n\tPER_SOLARIS = 67108877,\n\tPER_UW7 = 68157454,\n\tPER_OSF4 = 15,\n\tPER_HPUX = 16,\n\tPER_MASK = 255,\n};\n\nenum {\n\tPEX_RD_ACCESS = -2147483648,\n\tPEX_DB_ACCESS = 1073741824,\n};\n\nenum {\n\tPG_BUSY = 0,\n\tPG_MAPPED = 1,\n\tPG_FOLIO = 2,\n\tPG_CLEAN = 3,\n\tPG_COMMIT_TO_DS = 4,\n\tPG_INODE_REF = 5,\n\tPG_HEADLOCK = 6,\n\tPG_TEARDOWN = 7,\n\tPG_UNLOCKPAGE = 8,\n\tPG_UPTODATE = 9,\n\tPG_WB_END = 10,\n\tPG_REMOVE = 11,\n\tPG_CONTENDED1 = 12,\n\tPG_CONTENDED2 = 13,\n};\n\nenum {\n\tPHYLINK_DISABLE_STOPPED = 0,\n\tPHYLINK_DISABLE_LINK = 1,\n\tPHYLINK_DISABLE_MAC_WOL = 2,\n\tPCS_STATE_DOWN = 0,\n\tPCS_STATE_STARTING = 1,\n\tPCS_STATE_STARTED = 2,\n};\n\nenum {\n\tPHY_ADDR_MARV = 0,\n};\n\nenum {\n\tPHY_AN_NXT_PG = 32768,\n\tPHY_AN_ACK = 16384,\n\tPHY_AN_RF = 8192,\n\tPHY_AN_PAUSE_ASYM = 2048,\n\tPHY_AN_PAUSE_CAP = 1024,\n\tPHY_AN_100BASE4 = 512,\n\tPHY_AN_100FULL = 256,\n\tPHY_AN_100HALF = 128,\n\tPHY_AN_10FULL = 64,\n\tPHY_AN_10HALF = 32,\n\tPHY_AN_CSMA = 1,\n\tPHY_AN_SEL = 31,\n\tPHY_AN_FULL = 321,\n\tPHY_AN_ALL = 480,\n};\n\nenum {\n\tPHY_CT_RESET = 32768,\n\tPHY_CT_LOOP = 16384,\n\tPHY_CT_SPS_LSB = 8192,\n\tPHY_CT_ANE = 4096,\n\tPHY_CT_PDOWN = 2048,\n\tPHY_CT_ISOL = 1024,\n\tPHY_CT_RE_CFG = 512,\n\tPHY_CT_DUP_MD = 256,\n\tPHY_CT_COL_TST = 128,\n\tPHY_CT_SPS_MSB = 64,\n};\n\nenum {\n\tPHY_CT_SP1000 = 64,\n\tPHY_CT_SP100 = 8192,\n\tPHY_CT_SP10 = 0,\n};\n\nenum {\n\tPHY_GMII_SEL_PORT_MODE = 0,\n\tPHY_GMII_SEL_RGMII_ID_MODE = 1,\n\tPHY_GMII_SEL_RMII_IO_CLK_EN = 2,\n\tPHY_GMII_SEL_LAST = 3,\n};\n\nenum {\n\tPHY_MARV_CTRL = 0,\n\tPHY_MARV_STAT = 1,\n\tPHY_MARV_ID0 = 2,\n\tPHY_MARV_ID1 = 3,\n\tPHY_MARV_AUNE_ADV = 4,\n\tPHY_MARV_AUNE_LP = 5,\n\tPHY_MARV_AUNE_EXP = 6,\n\tPHY_MARV_NEPG = 7,\n\tPHY_MARV_NEPG_LP = 8,\n\tPHY_MARV_1000T_CTRL = 9,\n\tPHY_MARV_1000T_STAT = 10,\n\tPHY_MARV_EXT_STAT = 15,\n\tPHY_MARV_PHY_CTRL = 16,\n\tPHY_MARV_PHY_STAT = 17,\n\tPHY_MARV_INT_MASK = 18,\n\tPHY_MARV_INT_STAT = 19,\n\tPHY_MARV_EXT_CTRL = 20,\n\tPHY_MARV_RXE_CNT = 21,\n\tPHY_MARV_EXT_ADR = 22,\n\tPHY_MARV_PORT_IRQ = 23,\n\tPHY_MARV_LED_CTRL = 24,\n\tPHY_MARV_LED_OVER = 25,\n\tPHY_MARV_EXT_CTRL_2 = 26,\n\tPHY_MARV_EXT_P_STAT = 27,\n\tPHY_MARV_CABLE_DIAG = 28,\n\tPHY_MARV_PAGE_ADDR = 29,\n\tPHY_MARV_PAGE_DATA = 30,\n\tPHY_MARV_FE_LED_PAR = 22,\n\tPHY_MARV_FE_LED_SER = 23,\n\tPHY_MARV_FE_VCT_TX = 26,\n\tPHY_MARV_FE_VCT_RX = 27,\n\tPHY_MARV_FE_SPEC_2 = 28,\n};\n\nenum {\n\tPHY_MARV_ID0_VAL = 321,\n\tPHY_BCOM_ID1_A1 = 24641,\n\tPHY_BCOM_ID1_B2 = 24643,\n\tPHY_BCOM_ID1_C0 = 24644,\n\tPHY_BCOM_ID1_C5 = 24647,\n\tPHY_MARV_ID1_B0 = 3107,\n\tPHY_MARV_ID1_B2 = 3109,\n\tPHY_MARV_ID1_C2 = 3266,\n\tPHY_MARV_ID1_Y2 = 3217,\n\tPHY_MARV_ID1_FE = 3203,\n\tPHY_MARV_ID1_ECU = 3248,\n};\n\nenum {\n\tPHY_M_1000C_TEST = 57344,\n\tPHY_M_1000C_MSE = 4096,\n\tPHY_M_1000C_MSC = 2048,\n\tPHY_M_1000C_MPD = 1024,\n\tPHY_M_1000C_AFD = 512,\n\tPHY_M_1000C_AHD = 256,\n};\n\nenum {\n\tPHY_M_AN_ASP_X = 256,\n\tPHY_M_AN_PC_X = 128,\n\tPHY_M_AN_1000X_AHD = 64,\n\tPHY_M_AN_1000X_AFD = 32,\n};\n\nenum {\n\tPHY_M_AN_NXT_PG = 32768,\n\tPHY_M_AN_ACK = 16384,\n\tPHY_M_AN_RF = 8192,\n\tPHY_M_AN_ASP = 2048,\n\tPHY_M_AN_PC = 1024,\n\tPHY_M_AN_100_T4 = 512,\n\tPHY_M_AN_100_FD = 256,\n\tPHY_M_AN_100_HD = 128,\n\tPHY_M_AN_10_FD = 64,\n\tPHY_M_AN_10_HD = 32,\n\tPHY_M_AN_SEL_MSK = 496,\n};\n\nenum {\n\tPHY_M_EC_ENA_BC_EXT = 32768,\n\tPHY_M_EC_ENA_LIN_LB = 16384,\n\tPHY_M_EC_DIS_LINK_P = 4096,\n\tPHY_M_EC_M_DSC_MSK = 3072,\n\tPHY_M_EC_S_DSC_MSK = 768,\n\tPHY_M_EC_M_DSC_MSK2 = 3584,\n\tPHY_M_EC_DOWN_S_ENA = 256,\n\tPHY_M_EC_RX_TIM_CT = 128,\n\tPHY_M_EC_MAC_S_MSK = 112,\n\tPHY_M_EC_FIB_AN_ENA = 8,\n\tPHY_M_EC_DTE_D_ENA = 4,\n\tPHY_M_EC_TX_TIM_CT = 2,\n\tPHY_M_EC_TRANS_DIS = 1,\n\tPHY_M_10B_TE_ENABLE = 128,\n};\n\nenum {\n\tPHY_M_FC_AUTO_SEL = 32768,\n\tPHY_M_FC_AN_REG_ACC = 16384,\n\tPHY_M_FC_RESOLUTION = 8192,\n\tPHY_M_SER_IF_AN_BP = 4096,\n\tPHY_M_SER_IF_BP_ST = 2048,\n\tPHY_M_IRQ_POLARITY = 1024,\n\tPHY_M_DIS_AUT_MED = 512,\n\tPHY_M_UNDOC1 = 128,\n\tPHY_M_DTE_POW_STAT = 16,\n\tPHY_M_MODE_MASK = 15,\n};\n\nenum {\n\tPHY_M_FELP_LED2_MSK = 3840,\n\tPHY_M_FELP_LED1_MSK = 240,\n\tPHY_M_FELP_LED0_MSK = 15,\n};\n\nenum {\n\tPHY_M_FESC_DIS_WAIT = 4,\n\tPHY_M_FESC_ENA_MCLK = 2,\n\tPHY_M_FESC_SEL_CL_A = 1,\n};\n\nenum {\n\tPHY_M_FIB_FORCE_LNK = 1024,\n\tPHY_M_FIB_SIGD_POL = 512,\n\tPHY_M_FIB_TX_DIS = 8,\n};\n\nenum {\n\tPHY_M_IS_AN_ERROR = 32768,\n\tPHY_M_IS_LSP_CHANGE = 16384,\n\tPHY_M_IS_DUP_CHANGE = 8192,\n\tPHY_M_IS_AN_PR = 4096,\n\tPHY_M_IS_AN_COMPL = 2048,\n\tPHY_M_IS_LST_CHANGE = 1024,\n\tPHY_M_IS_SYMB_ERROR = 512,\n\tPHY_M_IS_FALSE_CARR = 256,\n\tPHY_M_IS_FIFO_ERROR = 128,\n\tPHY_M_IS_MDI_CHANGE = 64,\n\tPHY_M_IS_DOWNSH_DET = 32,\n\tPHY_M_IS_END_CHANGE = 16,\n\tPHY_M_IS_DTE_CHANGE = 4,\n\tPHY_M_IS_POL_CHANGE = 2,\n\tPHY_M_IS_JABBER = 1,\n\tPHY_M_DEF_MSK = 25600,\n\tPHY_M_AN_MSK = 34816,\n};\n\nenum {\n\tPHY_M_LEDC_DIS_LED = 32768,\n\tPHY_M_LEDC_PULS_MSK = 28672,\n\tPHY_M_LEDC_F_INT = 2048,\n\tPHY_M_LEDC_BL_R_MSK = 1792,\n\tPHY_M_LEDC_DP_C_LSB = 128,\n\tPHY_M_LEDC_TX_C_LSB = 64,\n\tPHY_M_LEDC_LK_C_MSK = 56,\n};\n\nenum {\n\tPHY_M_LEDC_LINK_MSK = 24,\n\tPHY_M_LEDC_DP_CTRL = 4,\n\tPHY_M_LEDC_DP_C_MSB = 4,\n\tPHY_M_LEDC_RX_CTRL = 2,\n\tPHY_M_LEDC_TX_CTRL = 1,\n\tPHY_M_LEDC_TX_C_MSB = 1,\n};\n\nenum {\n\tPHY_M_LEDC_LOS_MSK = 61440,\n\tPHY_M_LEDC_INIT_MSK = 3840,\n\tPHY_M_LEDC_STA1_MSK = 240,\n\tPHY_M_LEDC_STA0_MSK = 15,\n};\n\nenum {\n\tPHY_M_MAC_MD_MSK = 896,\n\tPHY_M_MAC_GMIF_PUP = 8,\n\tPHY_M_MAC_MD_AUTO = 3,\n\tPHY_M_MAC_MD_COPPER = 5,\n\tPHY_M_MAC_MD_1000BX = 7,\n};\n\nenum {\n\tPHY_M_PC_COP_TX_DIS = 8,\n\tPHY_M_PC_POW_D_ENA = 4,\n};\n\nenum {\n\tPHY_M_PC_DIS_LINK_Pa = 32768,\n\tPHY_M_PC_DSC_MSK = 28672,\n\tPHY_M_PC_DOWN_S_ENA = 2048,\n};\n\nenum {\n\tPHY_M_PC_ENA_DTE_DT = 32768,\n\tPHY_M_PC_ENA_ENE_DT = 16384,\n\tPHY_M_PC_DIS_NLP_CK = 8192,\n\tPHY_M_PC_ENA_LIP_NP = 4096,\n\tPHY_M_PC_DIS_NLP_GN = 2048,\n\tPHY_M_PC_DIS_SCRAMB = 512,\n\tPHY_M_PC_DIS_FEFI = 256,\n\tPHY_M_PC_SH_TP_SEL = 64,\n\tPHY_M_PC_RX_FD_MSK = 12,\n};\n\nenum {\n\tPHY_M_PC_MAN_MDI = 0,\n\tPHY_M_PC_MAN_MDIX = 1,\n\tPHY_M_PC_ENA_AUTO = 3,\n};\n\nenum {\n\tPHY_M_PC_TX_FFD_MSK = 49152,\n\tPHY_M_PC_RX_FFD_MSK = 12288,\n\tPHY_M_PC_ASS_CRS_TX = 2048,\n\tPHY_M_PC_FL_GOOD = 1024,\n\tPHY_M_PC_EN_DET_MSK = 768,\n\tPHY_M_PC_ENA_EXT_D = 128,\n\tPHY_M_PC_MDIX_MSK = 96,\n\tPHY_M_PC_DIS_125CLK = 16,\n\tPHY_M_PC_MAC_POW_UP = 8,\n\tPHY_M_PC_SQE_T_ENA = 4,\n\tPHY_M_PC_POL_R_DIS = 2,\n\tPHY_M_PC_DIS_JABBER = 1,\n};\n\nenum {\n\tPHY_M_POLC_LS1M_MSK = 61440,\n\tPHY_M_POLC_IS0M_MSK = 3840,\n\tPHY_M_POLC_LOS_MSK = 192,\n\tPHY_M_POLC_INIT_MSK = 48,\n\tPHY_M_POLC_STA1_MSK = 12,\n\tPHY_M_POLC_STA0_MSK = 3,\n};\n\nenum {\n\tPHY_M_PS_SPEED_MSK = 49152,\n\tPHY_M_PS_SPEED_1000 = 32768,\n\tPHY_M_PS_SPEED_100 = 16384,\n\tPHY_M_PS_SPEED_10 = 0,\n\tPHY_M_PS_FULL_DUP = 8192,\n\tPHY_M_PS_PAGE_REC = 4096,\n\tPHY_M_PS_SPDUP_RES = 2048,\n\tPHY_M_PS_LINK_UP = 1024,\n\tPHY_M_PS_CABLE_MSK = 896,\n\tPHY_M_PS_MDI_X_STAT = 64,\n\tPHY_M_PS_DOWNS_STAT = 32,\n\tPHY_M_PS_ENDET_STAT = 16,\n\tPHY_M_PS_TX_P_EN = 8,\n\tPHY_M_PS_RX_P_EN = 4,\n\tPHY_M_PS_POL_REV = 2,\n\tPHY_M_PS_JABBER = 1,\n};\n\nenum {\n\tPHY_M_P_NO_PAUSE_X = 0,\n\tPHY_M_P_SYM_MD_X = 128,\n\tPHY_M_P_ASYM_MD_X = 256,\n\tPHY_M_P_BOTH_MD_X = 384,\n};\n\nenum {\n\tPINCTRL_PIN_REG_MODE = 0,\n\tPINCTRL_PIN_REG_DIR = 1,\n\tPINCTRL_PIN_REG_DI = 2,\n\tPINCTRL_PIN_REG_DO = 3,\n\tPINCTRL_PIN_REG_SR = 4,\n\tPINCTRL_PIN_REG_SMT = 5,\n\tPINCTRL_PIN_REG_PD = 6,\n\tPINCTRL_PIN_REG_PU = 7,\n\tPINCTRL_PIN_REG_E4 = 8,\n\tPINCTRL_PIN_REG_E8 = 9,\n\tPINCTRL_PIN_REG_TDSEL = 10,\n\tPINCTRL_PIN_REG_RDSEL = 11,\n\tPINCTRL_PIN_REG_DRV = 12,\n\tPINCTRL_PIN_REG_PUPD = 13,\n\tPINCTRL_PIN_REG_R0 = 14,\n\tPINCTRL_PIN_REG_R1 = 15,\n\tPINCTRL_PIN_REG_IES = 16,\n\tPINCTRL_PIN_REG_PULLEN = 17,\n\tPINCTRL_PIN_REG_PULLSEL = 18,\n\tPINCTRL_PIN_REG_DRV_EN = 19,\n\tPINCTRL_PIN_REG_DRV_E0 = 20,\n\tPINCTRL_PIN_REG_DRV_E1 = 21,\n\tPINCTRL_PIN_REG_DRV_ADV = 22,\n\tPINCTRL_PIN_REG_RSEL = 23,\n\tPINCTRL_PIN_REG_MAX = 24,\n};\n\nenum {\n\tPINMUX_RESERVED = 0,\n\tPINMUX_DATA_BEGIN = 1,\n\tGP_0_0_DATA = 2,\n\tGP_0_1_DATA = 3,\n\tGP_0_2_DATA = 4,\n\tGP_0_3_DATA = 5,\n\tGP_0_4_DATA = 6,\n\tGP_0_5_DATA = 7,\n\tGP_0_6_DATA = 8,\n\tGP_0_7_DATA = 9,\n\tGP_0_8_DATA = 10,\n\tGP_0_9_DATA = 11,\n\tGP_0_10_DATA = 12,\n\tGP_0_11_DATA = 13,\n\tGP_0_12_DATA = 14,\n\tGP_0_13_DATA = 15,\n\tGP_0_14_DATA = 16,\n\tGP_0_15_DATA = 17,\n\tGP_1_0_DATA = 18,\n\tGP_1_1_DATA = 19,\n\tGP_1_2_DATA = 20,\n\tGP_1_3_DATA = 21,\n\tGP_1_4_DATA = 22,\n\tGP_1_5_DATA = 23,\n\tGP_1_6_DATA = 24,\n\tGP_1_7_DATA = 25,\n\tGP_1_8_DATA = 26,\n\tGP_1_9_DATA = 27,\n\tGP_1_10_DATA = 28,\n\tGP_1_11_DATA = 29,\n\tGP_1_12_DATA = 30,\n\tGP_1_13_DATA = 31,\n\tGP_1_14_DATA = 32,\n\tGP_1_15_DATA = 33,\n\tGP_1_16_DATA = 34,\n\tGP_1_17_DATA = 35,\n\tGP_1_18_DATA = 36,\n\tGP_1_19_DATA = 37,\n\tGP_1_20_DATA = 38,\n\tGP_1_21_DATA = 39,\n\tGP_1_22_DATA = 40,\n\tGP_1_23_DATA = 41,\n\tGP_1_24_DATA = 42,\n\tGP_1_25_DATA = 43,\n\tGP_1_26_DATA = 44,\n\tGP_1_27_DATA = 45,\n\tGP_1_28_DATA = 46,\n\tGP_2_0_DATA = 47,\n\tGP_2_1_DATA = 48,\n\tGP_2_2_DATA = 49,\n\tGP_2_3_DATA = 50,\n\tGP_2_4_DATA = 51,\n\tGP_2_5_DATA = 52,\n\tGP_2_6_DATA = 53,\n\tGP_2_7_DATA = 54,\n\tGP_2_8_DATA = 55,\n\tGP_2_9_DATA = 56,\n\tGP_2_10_DATA = 57,\n\tGP_2_11_DATA = 58,\n\tGP_2_12_DATA = 59,\n\tGP_2_13_DATA = 60,\n\tGP_2_14_DATA = 61,\n\tGP_3_0_DATA = 62,\n\tGP_3_1_DATA = 63,\n\tGP_3_2_DATA = 64,\n\tGP_3_3_DATA = 65,\n\tGP_3_4_DATA = 66,\n\tGP_3_5_DATA = 67,\n\tGP_3_6_DATA = 68,\n\tGP_3_7_DATA = 69,\n\tGP_3_8_DATA = 70,\n\tGP_3_9_DATA = 71,\n\tGP_3_10_DATA = 72,\n\tGP_3_11_DATA = 73,\n\tGP_3_12_DATA = 74,\n\tGP_3_13_DATA = 75,\n\tGP_3_14_DATA = 76,\n\tGP_3_15_DATA = 77,\n\tGP_4_0_DATA = 78,\n\tGP_4_1_DATA = 79,\n\tGP_4_2_DATA = 80,\n\tGP_4_3_DATA = 81,\n\tGP_4_4_DATA = 82,\n\tGP_4_5_DATA = 83,\n\tGP_4_6_DATA = 84,\n\tGP_4_7_DATA = 85,\n\tGP_4_8_DATA = 86,\n\tGP_4_9_DATA = 87,\n\tGP_4_10_DATA = 88,\n\tGP_4_11_DATA = 89,\n\tGP_4_12_DATA = 90,\n\tGP_4_13_DATA = 91,\n\tGP_4_14_DATA = 92,\n\tGP_4_15_DATA = 93,\n\tGP_4_16_DATA = 94,\n\tGP_4_17_DATA = 95,\n\tGP_5_0_DATA = 96,\n\tGP_5_1_DATA = 97,\n\tGP_5_2_DATA = 98,\n\tGP_5_3_DATA = 99,\n\tGP_5_4_DATA = 100,\n\tGP_5_5_DATA = 101,\n\tGP_5_6_DATA = 102,\n\tGP_5_7_DATA = 103,\n\tGP_5_8_DATA = 104,\n\tGP_5_9_DATA = 105,\n\tGP_5_10_DATA = 106,\n\tGP_5_11_DATA = 107,\n\tGP_5_12_DATA = 108,\n\tGP_5_13_DATA = 109,\n\tGP_5_14_DATA = 110,\n\tGP_5_15_DATA = 111,\n\tGP_5_16_DATA = 112,\n\tGP_5_17_DATA = 113,\n\tGP_5_18_DATA = 114,\n\tGP_5_19_DATA = 115,\n\tGP_5_20_DATA = 116,\n\tGP_5_21_DATA = 117,\n\tGP_5_22_DATA = 118,\n\tGP_5_23_DATA = 119,\n\tGP_5_24_DATA = 120,\n\tGP_5_25_DATA = 121,\n\tGP_6_0_DATA = 122,\n\tGP_6_1_DATA = 123,\n\tGP_6_2_DATA = 124,\n\tGP_6_3_DATA = 125,\n\tGP_6_4_DATA = 126,\n\tGP_6_5_DATA = 127,\n\tGP_6_6_DATA = 128,\n\tGP_6_7_DATA = 129,\n\tGP_6_8_DATA = 130,\n\tGP_6_9_DATA = 131,\n\tGP_6_10_DATA = 132,\n\tGP_6_11_DATA = 133,\n\tGP_6_12_DATA = 134,\n\tGP_6_13_DATA = 135,\n\tGP_6_14_DATA = 136,\n\tGP_6_15_DATA = 137,\n\tGP_6_16_DATA = 138,\n\tGP_6_17_DATA = 139,\n\tGP_6_18_DATA = 140,\n\tGP_6_19_DATA = 141,\n\tGP_6_20_DATA = 142,\n\tGP_6_21_DATA = 143,\n\tGP_6_22_DATA = 144,\n\tGP_6_23_DATA = 145,\n\tGP_6_24_DATA = 146,\n\tGP_6_25_DATA = 147,\n\tGP_6_26_DATA = 148,\n\tGP_6_27_DATA = 149,\n\tGP_6_28_DATA = 150,\n\tGP_6_29_DATA = 151,\n\tGP_6_30_DATA = 152,\n\tGP_6_31_DATA = 153,\n\tGP_7_0_DATA = 154,\n\tGP_7_1_DATA = 155,\n\tGP_7_2_DATA = 156,\n\tGP_7_3_DATA = 157,\n\tPINMUX_DATA_END = 158,\n\tPINMUX_FUNCTION_BEGIN = 159,\n\tGP_0_0_FN = 160,\n\tGP_0_1_FN = 161,\n\tGP_0_2_FN = 162,\n\tGP_0_3_FN = 163,\n\tGP_0_4_FN = 164,\n\tGP_0_5_FN = 165,\n\tGP_0_6_FN = 166,\n\tGP_0_7_FN = 167,\n\tGP_0_8_FN = 168,\n\tGP_0_9_FN = 169,\n\tGP_0_10_FN = 170,\n\tGP_0_11_FN = 171,\n\tGP_0_12_FN = 172,\n\tGP_0_13_FN = 173,\n\tGP_0_14_FN = 174,\n\tGP_0_15_FN = 175,\n\tGP_1_0_FN = 176,\n\tGP_1_1_FN = 177,\n\tGP_1_2_FN = 178,\n\tGP_1_3_FN = 179,\n\tGP_1_4_FN = 180,\n\tGP_1_5_FN = 181,\n\tGP_1_6_FN = 182,\n\tGP_1_7_FN = 183,\n\tGP_1_8_FN = 184,\n\tGP_1_9_FN = 185,\n\tGP_1_10_FN = 186,\n\tGP_1_11_FN = 187,\n\tGP_1_12_FN = 188,\n\tGP_1_13_FN = 189,\n\tGP_1_14_FN = 190,\n\tGP_1_15_FN = 191,\n\tGP_1_16_FN = 192,\n\tGP_1_17_FN = 193,\n\tGP_1_18_FN = 194,\n\tGP_1_19_FN = 195,\n\tGP_1_20_FN = 196,\n\tGP_1_21_FN = 197,\n\tGP_1_22_FN = 198,\n\tGP_1_23_FN = 199,\n\tGP_1_24_FN = 200,\n\tGP_1_25_FN = 201,\n\tGP_1_26_FN = 202,\n\tGP_1_27_FN = 203,\n\tGP_1_28_FN = 204,\n\tGP_2_0_FN = 205,\n\tGP_2_1_FN = 206,\n\tGP_2_2_FN = 207,\n\tGP_2_3_FN = 208,\n\tGP_2_4_FN = 209,\n\tGP_2_5_FN = 210,\n\tGP_2_6_FN = 211,\n\tGP_2_7_FN = 212,\n\tGP_2_8_FN = 213,\n\tGP_2_9_FN = 214,\n\tGP_2_10_FN = 215,\n\tGP_2_11_FN = 216,\n\tGP_2_12_FN = 217,\n\tGP_2_13_FN = 218,\n\tGP_2_14_FN = 219,\n\tGP_3_0_FN = 220,\n\tGP_3_1_FN = 221,\n\tGP_3_2_FN = 222,\n\tGP_3_3_FN = 223,\n\tGP_3_4_FN = 224,\n\tGP_3_5_FN = 225,\n\tGP_3_6_FN = 226,\n\tGP_3_7_FN = 227,\n\tGP_3_8_FN = 228,\n\tGP_3_9_FN = 229,\n\tGP_3_10_FN = 230,\n\tGP_3_11_FN = 231,\n\tGP_3_12_FN = 232,\n\tGP_3_13_FN = 233,\n\tGP_3_14_FN = 234,\n\tGP_3_15_FN = 235,\n\tGP_4_0_FN = 236,\n\tGP_4_1_FN = 237,\n\tGP_4_2_FN = 238,\n\tGP_4_3_FN = 239,\n\tGP_4_4_FN = 240,\n\tGP_4_5_FN = 241,\n\tGP_4_6_FN = 242,\n\tGP_4_7_FN = 243,\n\tGP_4_8_FN = 244,\n\tGP_4_9_FN = 245,\n\tGP_4_10_FN = 246,\n\tGP_4_11_FN = 247,\n\tGP_4_12_FN = 248,\n\tGP_4_13_FN = 249,\n\tGP_4_14_FN = 250,\n\tGP_4_15_FN = 251,\n\tGP_4_16_FN = 252,\n\tGP_4_17_FN = 253,\n\tGP_5_0_FN = 254,\n\tGP_5_1_FN = 255,\n\tGP_5_2_FN = 256,\n\tGP_5_3_FN = 257,\n\tGP_5_4_FN = 258,\n\tGP_5_5_FN = 259,\n\tGP_5_6_FN = 260,\n\tGP_5_7_FN = 261,\n\tGP_5_8_FN = 262,\n\tGP_5_9_FN = 263,\n\tGP_5_10_FN = 264,\n\tGP_5_11_FN = 265,\n\tGP_5_12_FN = 266,\n\tGP_5_13_FN = 267,\n\tGP_5_14_FN = 268,\n\tGP_5_15_FN = 269,\n\tGP_5_16_FN = 270,\n\tGP_5_17_FN = 271,\n\tGP_5_18_FN = 272,\n\tGP_5_19_FN = 273,\n\tGP_5_20_FN = 274,\n\tGP_5_21_FN = 275,\n\tGP_5_22_FN = 276,\n\tGP_5_23_FN = 277,\n\tGP_5_24_FN = 278,\n\tGP_5_25_FN = 279,\n\tGP_6_0_FN = 280,\n\tGP_6_1_FN = 281,\n\tGP_6_2_FN = 282,\n\tGP_6_3_FN = 283,\n\tGP_6_4_FN = 284,\n\tGP_6_5_FN = 285,\n\tGP_6_6_FN = 286,\n\tGP_6_7_FN = 287,\n\tGP_6_8_FN = 288,\n\tGP_6_9_FN = 289,\n\tGP_6_10_FN = 290,\n\tGP_6_11_FN = 291,\n\tGP_6_12_FN = 292,\n\tGP_6_13_FN = 293,\n\tGP_6_14_FN = 294,\n\tGP_6_15_FN = 295,\n\tGP_6_16_FN = 296,\n\tGP_6_17_FN = 297,\n\tGP_6_18_FN = 298,\n\tGP_6_19_FN = 299,\n\tGP_6_20_FN = 300,\n\tGP_6_21_FN = 301,\n\tGP_6_22_FN = 302,\n\tGP_6_23_FN = 303,\n\tGP_6_24_FN = 304,\n\tGP_6_25_FN = 305,\n\tGP_6_26_FN = 306,\n\tGP_6_27_FN = 307,\n\tGP_6_28_FN = 308,\n\tGP_6_29_FN = 309,\n\tGP_6_30_FN = 310,\n\tGP_6_31_FN = 311,\n\tGP_7_0_FN = 312,\n\tGP_7_1_FN = 313,\n\tGP_7_2_FN = 314,\n\tGP_7_3_FN = 315,\n\tFN_CLKOUT = 316,\n\tFN_MSIOF0_RXD = 317,\n\tFN_MSIOF0_TXD = 318,\n\tFN_MSIOF0_SCK = 319,\n\tFN_SSI_SDATA5 = 320,\n\tFN_SSI_WS5 = 321,\n\tFN_SSI_SCK5 = 322,\n\tFN_GP7_03 = 323,\n\tFN_GP7_02 = 324,\n\tFN_AVS2 = 325,\n\tFN_AVS1 = 326,\n\tFN_IP0_3_0 = 327,\n\tFN_AVB_MDC = 328,\n\tFN_MSIOF2_SS2_C = 329,\n\tFN_IP1_3_0 = 330,\n\tFN_IRQ2 = 331,\n\tFN_QCPV_QDE = 332,\n\tFN_DU_EXODDF_DU_ODDF_DISP_CDE = 333,\n\tFN_VI4_DATA2_B = 334,\n\tFN_MSIOF3_SYNC_E = 335,\n\tFN_PWM3_B = 336,\n\tFN_IP2_3_0 = 337,\n\tFN_A1 = 338,\n\tFN_LCDOUT17 = 339,\n\tFN_MSIOF3_TXD_B = 340,\n\tFN_VI4_DATA9 = 341,\n\tFN_DU_DB1 = 342,\n\tFN_PWM4_A = 343,\n\tFN_IP3_3_0 = 344,\n\tFN_A9 = 345,\n\tFN_MSIOF2_SCK_A = 346,\n\tFN_CTS4_N_B = 347,\n\tFN_VI5_VSYNC_N = 348,\n\tFN_IP0_7_4 = 349,\n\tFN_AVB_MAGIC = 350,\n\tFN_MSIOF2_SS1_C = 351,\n\tFN_SCK4_A = 352,\n\tFN_IP1_7_4 = 353,\n\tFN_IRQ3 = 354,\n\tFN_QSTVB_QVE = 355,\n\tFN_DU_DOTCLKOUT1 = 356,\n\tFN_VI4_DATA3_B = 357,\n\tFN_MSIOF3_SCK_E = 358,\n\tFN_PWM4_B = 359,\n\tFN_IP2_7_4 = 360,\n\tFN_A2 = 361,\n\tFN_LCDOUT18 = 362,\n\tFN_MSIOF3_SCK_B = 363,\n\tFN_VI4_DATA10 = 364,\n\tFN_DU_DB2 = 365,\n\tFN_PWM5_A = 366,\n\tFN_IP3_7_4 = 367,\n\tFN_A10 = 368,\n\tFN_MSIOF2_RXD_A = 369,\n\tFN_RTS4_N_B = 370,\n\tFN_VI5_HSYNC_N = 371,\n\tFN_IP0_11_8 = 372,\n\tFN_AVB_PHY_INT = 373,\n\tFN_MSIOF2_SYNC_C = 374,\n\tFN_RX4_A = 375,\n\tFN_IP1_11_8 = 376,\n\tFN_IRQ4 = 377,\n\tFN_QSTH_QHS = 378,\n\tFN_DU_EXHSYNC_DU_HSYNC = 379,\n\tFN_VI4_DATA4_B = 380,\n\tFN_MSIOF3_RXD_E = 381,\n\tFN_PWM5_B = 382,\n\tFN_IP2_11_8 = 383,\n\tFN_A3 = 384,\n\tFN_LCDOUT19 = 385,\n\tFN_MSIOF3_RXD_B = 386,\n\tFN_VI4_DATA11 = 387,\n\tFN_DU_DB3 = 388,\n\tFN_PWM6_A = 389,\n\tFN_IP3_11_8 = 390,\n\tFN_A11 = 391,\n\tFN_TX3_B = 392,\n\tFN_MSIOF2_TXD_A = 393,\n\tFN_HTX4_B = 394,\n\tFN_HSCK4 = 395,\n\tFN_VI5_FIELD = 396,\n\tFN_SCL6_A = 397,\n\tFN_AVB_AVTP_CAPTURE_B = 398,\n\tFN_PWM2_B = 399,\n\tFN_IP0_15_12 = 400,\n\tFN_AVB_LINK = 401,\n\tFN_MSIOF2_SCK_C = 402,\n\tFN_TX4_A = 403,\n\tFN_IP1_15_12 = 404,\n\tFN_IRQ5 = 405,\n\tFN_QSTB_QHE = 406,\n\tFN_DU_EXVSYNC_DU_VSYNC = 407,\n\tFN_VI4_DATA5_B = 408,\n\tFN_MSIOF3_TXD_E = 409,\n\tFN_PWM6_B = 410,\n\tFN_IP2_15_12 = 411,\n\tFN_A4 = 412,\n\tFN_LCDOUT20 = 413,\n\tFN_MSIOF3_SS1_B = 414,\n\tFN_VI4_DATA12 = 415,\n\tFN_VI5_DATA12 = 416,\n\tFN_DU_DB4 = 417,\n\tFN_IP3_15_12 = 418,\n\tFN_A12 = 419,\n\tFN_LCDOUT12 = 420,\n\tFN_MSIOF3_SCK_C = 421,\n\tFN_HRX4_A = 422,\n\tFN_VI5_DATA8 = 423,\n\tFN_DU_DG4 = 424,\n\tFN_IP0_19_16 = 425,\n\tFN_AVB_AVTP_MATCH_A = 426,\n\tFN_MSIOF2_RXD_C = 427,\n\tFN_CTS4_N_A = 428,\n\tFN_IP1_19_16 = 429,\n\tFN_PWM0 = 430,\n\tFN_AVB_AVTP_PPS = 431,\n\tFN_VI4_DATA6_B = 432,\n\tFN_IECLK_B = 433,\n\tFN_IP2_19_16 = 434,\n\tFN_A5 = 435,\n\tFN_LCDOUT21 = 436,\n\tFN_MSIOF3_SS2_B = 437,\n\tFN_SCK4_B = 438,\n\tFN_VI4_DATA13 = 439,\n\tFN_VI5_DATA13 = 440,\n\tFN_DU_DB5 = 441,\n\tFN_IP3_19_16 = 442,\n\tFN_A13 = 443,\n\tFN_LCDOUT13 = 444,\n\tFN_MSIOF3_SYNC_C = 445,\n\tFN_HTX4_A = 446,\n\tFN_VI5_DATA9 = 447,\n\tFN_DU_DG5 = 448,\n\tFN_IP0_23_20 = 449,\n\tFN_AVB_AVTP_CAPTURE_A = 450,\n\tFN_MSIOF2_TXD_C = 451,\n\tFN_RTS4_N_A = 452,\n\tFN_IP1_23_20 = 453,\n\tFN_PWM1_A = 454,\n\tFN_HRX3_D = 455,\n\tFN_VI4_DATA7_B = 456,\n\tFN_IERX_B = 457,\n\tFN_IP2_23_20 = 458,\n\tFN_A6 = 459,\n\tFN_LCDOUT22 = 460,\n\tFN_MSIOF2_SS1_A = 461,\n\tFN_RX4_B = 462,\n\tFN_VI4_DATA14 = 463,\n\tFN_VI5_DATA14 = 464,\n\tFN_DU_DB6 = 465,\n\tFN_IP3_23_20 = 466,\n\tFN_A14 = 467,\n\tFN_LCDOUT14 = 468,\n\tFN_MSIOF3_RXD_C = 469,\n\tFN_HCTS4_N = 470,\n\tFN_VI5_DATA10 = 471,\n\tFN_DU_DG6 = 472,\n\tFN_IP0_27_24 = 473,\n\tFN_IRQ0 = 474,\n\tFN_QPOLB = 475,\n\tFN_DU_CDE = 476,\n\tFN_VI4_DATA0_B = 477,\n\tFN_CAN0_TX_B = 478,\n\tFN_CANFD0_TX_B = 479,\n\tFN_MSIOF3_SS2_E = 480,\n\tFN_IP1_27_24 = 481,\n\tFN_PWM2_A = 482,\n\tFN_HTX3_D = 483,\n\tFN_IETX_B = 484,\n\tFN_IP2_27_24 = 485,\n\tFN_A7 = 486,\n\tFN_LCDOUT23 = 487,\n\tFN_MSIOF2_SS2_A = 488,\n\tFN_TX4_B = 489,\n\tFN_VI4_DATA15 = 490,\n\tFN_VI5_DATA15 = 491,\n\tFN_DU_DB7 = 492,\n\tFN_IP3_27_24 = 493,\n\tFN_A15 = 494,\n\tFN_LCDOUT15 = 495,\n\tFN_MSIOF3_TXD_C = 496,\n\tFN_HRTS4_N = 497,\n\tFN_VI5_DATA11 = 498,\n\tFN_DU_DG7 = 499,\n\tFN_IP0_31_28 = 500,\n\tFN_IRQ1 = 501,\n\tFN_QPOLA = 502,\n\tFN_DU_DISP = 503,\n\tFN_VI4_DATA1_B = 504,\n\tFN_CAN0_RX_B = 505,\n\tFN_CANFD0_RX_B = 506,\n\tFN_MSIOF3_SS1_E = 507,\n\tFN_IP1_31_28 = 508,\n\tFN_A0 = 509,\n\tFN_LCDOUT16 = 510,\n\tFN_MSIOF3_SYNC_B = 511,\n\tFN_VI4_DATA8 = 512,\n\tFN_DU_DB0 = 513,\n\tFN_PWM3_A = 514,\n\tFN_IP2_31_28 = 515,\n\tFN_A8 = 516,\n\tFN_RX3_B = 517,\n\tFN_MSIOF2_SYNC_A = 518,\n\tFN_HRX4_B = 519,\n\tFN_SDA6_A = 520,\n\tFN_AVB_AVTP_MATCH_B = 521,\n\tFN_PWM1_B = 522,\n\tFN_IP3_31_28 = 523,\n\tFN_A16 = 524,\n\tFN_LCDOUT8 = 525,\n\tFN_VI4_FIELD = 526,\n\tFN_DU_DG0 = 527,\n\tFN_IP4_3_0 = 528,\n\tFN_A17 = 529,\n\tFN_LCDOUT9 = 530,\n\tFN_VI4_VSYNC_N = 531,\n\tFN_DU_DG1 = 532,\n\tFN_IP5_3_0 = 533,\n\tFN_WE0_N = 534,\n\tFN_MSIOF3_TXD_D = 535,\n\tFN_CTS3_N = 536,\n\tFN_HCTS3_N = 537,\n\tFN_SCL6_B = 538,\n\tFN_CAN_CLK = 539,\n\tFN_IECLK_A = 540,\n\tFN_IP6_3_0 = 541,\n\tFN_D5 = 542,\n\tFN_MSIOF2_SYNC_B = 543,\n\tFN_VI4_DATA21 = 544,\n\tFN_VI5_DATA5 = 545,\n\tFN_IP7_3_0 = 546,\n\tFN_D13 = 547,\n\tFN_LCDOUT5 = 548,\n\tFN_MSIOF2_SS2_D = 549,\n\tFN_TX4_C = 550,\n\tFN_VI4_DATA5_A = 551,\n\tFN_DU_DR5 = 552,\n\tFN_IP4_7_4 = 553,\n\tFN_A18 = 554,\n\tFN_LCDOUT10 = 555,\n\tFN_VI4_HSYNC_N = 556,\n\tFN_DU_DG2 = 557,\n\tFN_IP5_7_4 = 558,\n\tFN_WE1_N = 559,\n\tFN_MSIOF3_SS1_D = 560,\n\tFN_RTS3_N = 561,\n\tFN_HRTS3_N = 562,\n\tFN_SDA6_B = 563,\n\tFN_CAN1_RX = 564,\n\tFN_CANFD1_RX = 565,\n\tFN_IERX_A = 566,\n\tFN_IP6_7_4 = 567,\n\tFN_D6 = 568,\n\tFN_MSIOF2_RXD_B = 569,\n\tFN_VI4_DATA22 = 570,\n\tFN_VI5_DATA6 = 571,\n\tFN_IP7_7_4 = 572,\n\tFN_D14 = 573,\n\tFN_LCDOUT6 = 574,\n\tFN_MSIOF3_SS1_A = 575,\n\tFN_HRX3_C = 576,\n\tFN_VI4_DATA6_A = 577,\n\tFN_DU_DR6 = 578,\n\tFN_SCL6_C = 579,\n\tFN_IP4_11_8 = 580,\n\tFN_A19 = 581,\n\tFN_LCDOUT11 = 582,\n\tFN_VI4_CLKENB = 583,\n\tFN_DU_DG3 = 584,\n\tFN_IP5_11_8 = 585,\n\tFN_EX_WAIT0_A = 586,\n\tFN_QCLK = 587,\n\tFN_VI4_CLK = 588,\n\tFN_DU_DOTCLKOUT0 = 589,\n\tFN_IP6_11_8 = 590,\n\tFN_D7 = 591,\n\tFN_MSIOF2_TXD_B = 592,\n\tFN_VI4_DATA23 = 593,\n\tFN_VI5_DATA7 = 594,\n\tFN_IP7_11_8 = 595,\n\tFN_D15 = 596,\n\tFN_LCDOUT7 = 597,\n\tFN_MSIOF3_SS2_A = 598,\n\tFN_HTX3_C = 599,\n\tFN_VI4_DATA7_A = 600,\n\tFN_DU_DR7 = 601,\n\tFN_SDA6_C = 602,\n\tFN_IP4_15_12 = 603,\n\tFN_CS0_N = 604,\n\tFN_VI5_CLKENB = 605,\n\tFN_IP5_15_12 = 606,\n\tFN_D0 = 607,\n\tFN_MSIOF2_SS1_B = 608,\n\tFN_MSIOF3_SCK_A = 609,\n\tFN_VI4_DATA16 = 610,\n\tFN_VI5_DATA0 = 611,\n\tFN_IP6_15_12 = 612,\n\tFN_D8 = 613,\n\tFN_LCDOUT0 = 614,\n\tFN_MSIOF2_SCK_D = 615,\n\tFN_SCK4_C = 616,\n\tFN_VI4_DATA0_A = 617,\n\tFN_DU_DR0 = 618,\n\tFN_IP4_19_16 = 619,\n\tFN_CS1_N = 620,\n\tFN_VI5_CLK = 621,\n\tFN_EX_WAIT0_B = 622,\n\tFN_IP5_19_16 = 623,\n\tFN_D1 = 624,\n\tFN_MSIOF2_SS2_B = 625,\n\tFN_MSIOF3_SYNC_A = 626,\n\tFN_VI4_DATA17 = 627,\n\tFN_VI5_DATA1 = 628,\n\tFN_IP6_19_16 = 629,\n\tFN_D9 = 630,\n\tFN_LCDOUT1 = 631,\n\tFN_MSIOF2_SYNC_D = 632,\n\tFN_VI4_DATA1_A = 633,\n\tFN_DU_DR1 = 634,\n\tFN_IP7_19_16 = 635,\n\tFN_SD0_CLK = 636,\n\tFN_MSIOF1_SCK_E = 637,\n\tFN_STP_OPWM_0_B = 638,\n\tFN_IP4_23_20 = 639,\n\tFN_BS_N = 640,\n\tFN_QSTVA_QVS = 641,\n\tFN_MSIOF3_SCK_D = 642,\n\tFN_SCK3 = 643,\n\tFN_HSCK3 = 644,\n\tFN_CAN1_TX = 645,\n\tFN_CANFD1_TX = 646,\n\tFN_IETX_A = 647,\n\tFN_IP5_23_20 = 648,\n\tFN_D2 = 649,\n\tFN_MSIOF3_RXD_A = 650,\n\tFN_VI4_DATA18 = 651,\n\tFN_VI5_DATA2 = 652,\n\tFN_IP6_23_20 = 653,\n\tFN_D10 = 654,\n\tFN_LCDOUT2 = 655,\n\tFN_MSIOF2_RXD_D = 656,\n\tFN_HRX3_B = 657,\n\tFN_VI4_DATA2_A = 658,\n\tFN_CTS4_N_C = 659,\n\tFN_DU_DR2 = 660,\n\tFN_IP7_23_20 = 661,\n\tFN_SD0_CMD = 662,\n\tFN_MSIOF1_SYNC_E = 663,\n\tFN_STP_IVCXO27_0_B = 664,\n\tFN_IP4_27_24 = 665,\n\tFN_RD_N = 666,\n\tFN_MSIOF3_SYNC_D = 667,\n\tFN_RX3_A = 668,\n\tFN_HRX3_A = 669,\n\tFN_CAN0_TX_A = 670,\n\tFN_CANFD0_TX_A = 671,\n\tFN_IP5_27_24 = 672,\n\tFN_D3 = 673,\n\tFN_MSIOF3_TXD_A = 674,\n\tFN_VI4_DATA19 = 675,\n\tFN_VI5_DATA3 = 676,\n\tFN_IP6_27_24 = 677,\n\tFN_D11 = 678,\n\tFN_LCDOUT3 = 679,\n\tFN_MSIOF2_TXD_D = 680,\n\tFN_HTX3_B = 681,\n\tFN_VI4_DATA3_A = 682,\n\tFN_RTS4_N_C = 683,\n\tFN_DU_DR3 = 684,\n\tFN_IP7_27_24 = 685,\n\tFN_SD0_DAT0 = 686,\n\tFN_MSIOF1_RXD_E = 687,\n\tFN_TS_SCK0_B = 688,\n\tFN_STP_ISCLK_0_B = 689,\n\tFN_IP4_31_28 = 690,\n\tFN_RD_WR_N = 691,\n\tFN_MSIOF3_RXD_D = 692,\n\tFN_TX3_A = 693,\n\tFN_HTX3_A = 694,\n\tFN_CAN0_RX_A = 695,\n\tFN_CANFD0_RX_A = 696,\n\tFN_IP5_31_28 = 697,\n\tFN_D4 = 698,\n\tFN_MSIOF2_SCK_B = 699,\n\tFN_VI4_DATA20 = 700,\n\tFN_VI5_DATA4 = 701,\n\tFN_IP6_31_28 = 702,\n\tFN_D12 = 703,\n\tFN_LCDOUT4 = 704,\n\tFN_MSIOF2_SS1_D = 705,\n\tFN_RX4_C = 706,\n\tFN_VI4_DATA4_A = 707,\n\tFN_DU_DR4 = 708,\n\tFN_IP7_31_28 = 709,\n\tFN_SD0_DAT1 = 710,\n\tFN_MSIOF1_TXD_E = 711,\n\tFN_TS_SPSYNC0_B = 712,\n\tFN_STP_ISSYNC_0_B = 713,\n\tFN_IP8_3_0 = 714,\n\tFN_SD0_DAT2 = 715,\n\tFN_MSIOF1_SS1_E = 716,\n\tFN_TS_SDAT0_B = 717,\n\tFN_STP_ISD_0_B = 718,\n\tFN_IP9_3_0 = 719,\n\tFN_SD2_CLK = 720,\n\tFN_NFDATA8 = 721,\n\tFN_IP10_3_0 = 722,\n\tFN_SD3_CMD = 723,\n\tFN_NFRE_N = 724,\n\tFN_IP11_3_0 = 725,\n\tFN_SD3_DAT7 = 726,\n\tFN_SD3_WP = 727,\n\tFN_NFDATA7 = 728,\n\tFN_IP8_7_4 = 729,\n\tFN_SD0_DAT3 = 730,\n\tFN_MSIOF1_SS2_E = 731,\n\tFN_TS_SDEN0_B = 732,\n\tFN_STP_ISEN_0_B = 733,\n\tFN_IP9_7_4 = 734,\n\tFN_SD2_CMD = 735,\n\tFN_NFDATA9 = 736,\n\tFN_IP10_7_4 = 737,\n\tFN_SD3_DAT0 = 738,\n\tFN_NFDATA0 = 739,\n\tFN_IP11_7_4 = 740,\n\tFN_SD3_DS = 741,\n\tFN_NFCLE = 742,\n\tFN_IP8_11_8 = 743,\n\tFN_SD1_CLK = 744,\n\tFN_MSIOF1_SCK_G = 745,\n\tFN_SIM0_CLK_A = 746,\n\tFN_IP9_11_8 = 747,\n\tFN_SD2_DAT0 = 748,\n\tFN_NFDATA10 = 749,\n\tFN_IP10_11_8 = 750,\n\tFN_SD3_DAT1 = 751,\n\tFN_NFDATA1 = 752,\n\tFN_IP11_11_8 = 753,\n\tFN_SD0_CD = 754,\n\tFN_NFDATA14_A = 755,\n\tFN_SCL2_B = 756,\n\tFN_SIM0_RST_A = 757,\n\tFN_IP8_15_12 = 758,\n\tFN_SD1_CMD = 759,\n\tFN_MSIOF1_SYNC_G = 760,\n\tFN_NFCE_N_B = 761,\n\tFN_SIM0_D_A = 762,\n\tFN_STP_IVCXO27_1_B = 763,\n\tFN_IP9_15_12 = 764,\n\tFN_SD2_DAT1 = 765,\n\tFN_NFDATA11 = 766,\n\tFN_IP10_15_12 = 767,\n\tFN_SD3_DAT2 = 768,\n\tFN_NFDATA2 = 769,\n\tFN_IP11_15_12 = 770,\n\tFN_SD0_WP = 771,\n\tFN_NFDATA15_A = 772,\n\tFN_SDA2_B = 773,\n\tFN_IP8_19_16 = 774,\n\tFN_SD1_DAT0 = 775,\n\tFN_SD2_DAT4 = 776,\n\tFN_MSIOF1_RXD_G = 777,\n\tFN_NFWP_N_B = 778,\n\tFN_TS_SCK1_B = 779,\n\tFN_STP_ISCLK_1_B = 780,\n\tFN_IP9_19_16 = 781,\n\tFN_SD2_DAT2 = 782,\n\tFN_NFDATA12 = 783,\n\tFN_IP10_19_16 = 784,\n\tFN_SD3_DAT3 = 785,\n\tFN_NFDATA3 = 786,\n\tFN_IP11_19_16 = 787,\n\tFN_SD1_CD = 788,\n\tFN_NFRB_N_A = 789,\n\tFN_SIM0_CLK_B = 790,\n\tFN_IP8_23_20 = 791,\n\tFN_SD1_DAT1 = 792,\n\tFN_SD2_DAT5 = 793,\n\tFN_MSIOF1_TXD_G = 794,\n\tFN_NFDATA14_B = 795,\n\tFN_TS_SPSYNC1_B = 796,\n\tFN_STP_ISSYNC_1_B = 797,\n\tFN_IP9_23_20 = 798,\n\tFN_SD2_DAT3 = 799,\n\tFN_NFDATA13 = 800,\n\tFN_IP10_23_20 = 801,\n\tFN_SD3_DAT4 = 802,\n\tFN_SD2_CD_A = 803,\n\tFN_NFDATA4 = 804,\n\tFN_IP11_23_20 = 805,\n\tFN_SD1_WP = 806,\n\tFN_NFCE_N_A = 807,\n\tFN_SIM0_D_B = 808,\n\tFN_IP8_27_24 = 809,\n\tFN_SD1_DAT2 = 810,\n\tFN_SD2_DAT6 = 811,\n\tFN_MSIOF1_SS1_G = 812,\n\tFN_NFDATA15_B = 813,\n\tFN_TS_SDAT1_B = 814,\n\tFN_STP_ISD_1_B = 815,\n\tFN_IP9_27_24 = 816,\n\tFN_SD2_DS = 817,\n\tFN_NFALE = 818,\n\tFN_IP10_27_24 = 819,\n\tFN_SD3_DAT5 = 820,\n\tFN_SD2_WP_A = 821,\n\tFN_NFDATA5 = 822,\n\tFN_IP11_27_24 = 823,\n\tFN_SCK0 = 824,\n\tFN_HSCK1_B = 825,\n\tFN_MSIOF1_SS2_B = 826,\n\tFN_AUDIO_CLKC_B = 827,\n\tFN_SDA2_A = 828,\n\tFN_SIM0_RST_B = 829,\n\tFN_STP_OPWM_0_C = 830,\n\tFN_RIF0_CLK_B = 831,\n\tFN_ADICHS2 = 832,\n\tFN_SCK5_B = 833,\n\tFN_IP8_31_28 = 834,\n\tFN_SD1_DAT3 = 835,\n\tFN_SD2_DAT7 = 836,\n\tFN_MSIOF1_SS2_G = 837,\n\tFN_NFRB_N_B = 838,\n\tFN_TS_SDEN1_B = 839,\n\tFN_STP_ISEN_1_B = 840,\n\tFN_IP9_31_28 = 841,\n\tFN_SD3_CLK = 842,\n\tFN_NFWE_N = 843,\n\tFN_IP10_31_28 = 844,\n\tFN_SD3_DAT6 = 845,\n\tFN_SD3_CD = 846,\n\tFN_NFDATA6 = 847,\n\tFN_IP11_31_28 = 848,\n\tFN_RX0 = 849,\n\tFN_HRX1_B = 850,\n\tFN_TS_SCK0_C = 851,\n\tFN_STP_ISCLK_0_C = 852,\n\tFN_RIF0_D0_B = 853,\n\tFN_IP12_3_0 = 854,\n\tFN_TX0 = 855,\n\tFN_HTX1_B = 856,\n\tFN_TS_SPSYNC0_C = 857,\n\tFN_STP_ISSYNC_0_C = 858,\n\tFN_RIF0_D1_B = 859,\n\tFN_IP13_3_0 = 860,\n\tFN_TX2_A = 861,\n\tFN_SD2_CD_B = 862,\n\tFN_SCL1_A = 863,\n\tFN_FMCLK_A = 864,\n\tFN_RIF1_D1_C = 865,\n\tFN_FSO_CFE_0_N = 866,\n\tFN_IP14_3_0 = 867,\n\tFN_MSIOF0_SS1 = 868,\n\tFN_RX5_A = 869,\n\tFN_NFWP_N_A = 870,\n\tFN_AUDIO_CLKA_C = 871,\n\tFN_SSI_SCK2_A = 872,\n\tFN_STP_IVCXO27_0_C = 873,\n\tFN_AUDIO_CLKOUT3_A = 874,\n\tFN_TCLK1_B = 875,\n\tFN_IP15_3_0 = 876,\n\tFN_SSI_SDATA1_A = 877,\n\tFN_IP12_7_4 = 878,\n\tFN_CTS0_N = 879,\n\tFN_HCTS1_N_B = 880,\n\tFN_MSIOF1_SYNC_B = 881,\n\tFN_TS_SPSYNC1_C = 882,\n\tFN_STP_ISSYNC_1_C = 883,\n\tFN_RIF1_SYNC_B = 884,\n\tFN_AUDIO_CLKOUT_C = 885,\n\tFN_ADICS_SAMP = 886,\n\tFN_IP13_7_4 = 887,\n\tFN_RX2_A = 888,\n\tFN_SD2_WP_B = 889,\n\tFN_SDA1_A = 890,\n\tFN_FMIN_A = 891,\n\tFN_RIF1_SYNC_C = 892,\n\tFN_FSO_CFE_1_N = 893,\n\tFN_IP14_7_4 = 894,\n\tFN_MSIOF0_SS2 = 895,\n\tFN_TX5_A = 896,\n\tFN_MSIOF1_SS2_D = 897,\n\tFN_AUDIO_CLKC_A = 898,\n\tFN_SSI_WS2_A = 899,\n\tFN_STP_OPWM_0_D = 900,\n\tFN_AUDIO_CLKOUT_D = 901,\n\tFN_SPEEDIN_B = 902,\n\tFN_IP15_7_4 = 903,\n\tFN_SSI_SDATA2_A = 904,\n\tFN_SSI_SCK1_B = 905,\n\tFN_IP12_11_8 = 906,\n\tFN_RTS0_N = 907,\n\tFN_HRTS1_N_B = 908,\n\tFN_MSIOF1_SS1_B = 909,\n\tFN_AUDIO_CLKA_B = 910,\n\tFN_SCL2_A = 911,\n\tFN_STP_IVCXO27_1_C = 912,\n\tFN_RIF0_SYNC_B = 913,\n\tFN_ADICHS1 = 914,\n\tFN_IP13_11_8 = 915,\n\tFN_HSCK0 = 916,\n\tFN_MSIOF1_SCK_D = 917,\n\tFN_AUDIO_CLKB_A = 918,\n\tFN_SSI_SDATA1_B = 919,\n\tFN_TS_SCK0_D = 920,\n\tFN_STP_ISCLK_0_D = 921,\n\tFN_RIF0_CLK_C = 922,\n\tFN_RX5_B = 923,\n\tFN_IP14_11_8 = 924,\n\tFN_MLB_CLK = 925,\n\tFN_MSIOF1_SCK_F = 926,\n\tFN_SCL1_B = 927,\n\tFN_IP15_11_8 = 928,\n\tFN_SSI_SCK349 = 929,\n\tFN_MSIOF1_SS1_A = 930,\n\tFN_STP_OPWM_0_A = 931,\n\tFN_IP12_15_12 = 932,\n\tFN_RX1_A = 933,\n\tFN_HRX1_A = 934,\n\tFN_TS_SDAT0_C = 935,\n\tFN_STP_ISD_0_C = 936,\n\tFN_RIF1_CLK_C = 937,\n\tFN_IP13_15_12 = 938,\n\tFN_HRX0 = 939,\n\tFN_MSIOF1_RXD_D = 940,\n\tFN_SSI_SDATA2_B = 941,\n\tFN_TS_SDEN0_D = 942,\n\tFN_STP_ISEN_0_D = 943,\n\tFN_RIF0_D0_C = 944,\n\tFN_IP14_15_12 = 945,\n\tFN_MLB_SIG = 946,\n\tFN_RX1_B = 947,\n\tFN_MSIOF1_SYNC_F = 948,\n\tFN_SDA1_B = 949,\n\tFN_IP15_15_12 = 950,\n\tFN_SSI_WS349 = 951,\n\tFN_HCTS2_N_A = 952,\n\tFN_MSIOF1_SS2_A = 953,\n\tFN_STP_IVCXO27_0_A = 954,\n\tFN_IP12_19_16 = 955,\n\tFN_TX1_A = 956,\n\tFN_HTX1_A = 957,\n\tFN_TS_SDEN0_C = 958,\n\tFN_STP_ISEN_0_C = 959,\n\tFN_RIF1_D0_C = 960,\n\tFN_IP13_19_16 = 961,\n\tFN_HTX0 = 962,\n\tFN_MSIOF1_TXD_D = 963,\n\tFN_SSI_SDATA9_B = 964,\n\tFN_TS_SDAT0_D = 965,\n\tFN_STP_ISD_0_D = 966,\n\tFN_RIF0_D1_C = 967,\n\tFN_IP14_19_16 = 968,\n\tFN_MLB_DAT = 969,\n\tFN_TX1_B = 970,\n\tFN_MSIOF1_RXD_F = 971,\n\tFN_IP15_19_16 = 972,\n\tFN_SSI_SDATA3 = 973,\n\tFN_HRTS2_N_A = 974,\n\tFN_MSIOF1_TXD_A = 975,\n\tFN_TS_SCK0_A = 976,\n\tFN_STP_ISCLK_0_A = 977,\n\tFN_RIF0_D1_A = 978,\n\tFN_RIF2_D0_A = 979,\n\tFN_IP12_23_20 = 980,\n\tFN_CTS1_N = 981,\n\tFN_HCTS1_N_A = 982,\n\tFN_MSIOF1_RXD_B = 983,\n\tFN_TS_SDEN1_C = 984,\n\tFN_STP_ISEN_1_C = 985,\n\tFN_RIF1_D0_B = 986,\n\tFN_ADIDATA = 987,\n\tFN_IP13_23_20 = 988,\n\tFN_HCTS0_N = 989,\n\tFN_RX2_B = 990,\n\tFN_MSIOF1_SYNC_D = 991,\n\tFN_SSI_SCK9_A = 992,\n\tFN_TS_SPSYNC0_D = 993,\n\tFN_STP_ISSYNC_0_D = 994,\n\tFN_RIF0_SYNC_C = 995,\n\tFN_AUDIO_CLKOUT1_A = 996,\n\tFN_IP14_23_20 = 997,\n\tFN_SSI_SCK01239 = 998,\n\tFN_MSIOF1_TXD_F = 999,\n\tFN_IP15_23_20 = 1000,\n\tFN_SSI_SCK4 = 1001,\n\tFN_HRX2_A = 1002,\n\tFN_MSIOF1_SCK_A = 1003,\n\tFN_TS_SDAT0_A = 1004,\n\tFN_STP_ISD_0_A = 1005,\n\tFN_RIF0_CLK_A = 1006,\n\tFN_RIF2_CLK_A = 1007,\n\tFN_IP12_27_24 = 1008,\n\tFN_RTS1_N = 1009,\n\tFN_HRTS1_N_A = 1010,\n\tFN_MSIOF1_TXD_B = 1011,\n\tFN_TS_SDAT1_C = 1012,\n\tFN_STP_ISD_1_C = 1013,\n\tFN_RIF1_D1_B = 1014,\n\tFN_ADICHS0 = 1015,\n\tFN_IP13_27_24 = 1016,\n\tFN_HRTS0_N = 1017,\n\tFN_TX2_B = 1018,\n\tFN_MSIOF1_SS1_D = 1019,\n\tFN_SSI_WS9_A = 1020,\n\tFN_STP_IVCXO27_0_D = 1021,\n\tFN_BPFCLK_A = 1022,\n\tFN_AUDIO_CLKOUT2_A = 1023,\n\tFN_IP14_27_24 = 1024,\n\tFN_SSI_WS01239 = 1025,\n\tFN_MSIOF1_SS1_F = 1026,\n\tFN_IP15_27_24 = 1027,\n\tFN_SSI_WS4 = 1028,\n\tFN_HTX2_A = 1029,\n\tFN_MSIOF1_SYNC_A = 1030,\n\tFN_TS_SDEN0_A = 1031,\n\tFN_STP_ISEN_0_A = 1032,\n\tFN_RIF0_SYNC_A = 1033,\n\tFN_RIF2_SYNC_A = 1034,\n\tFN_IP12_31_28 = 1035,\n\tFN_SCK2 = 1036,\n\tFN_SCIF_CLK_B = 1037,\n\tFN_MSIOF1_SCK_B = 1038,\n\tFN_TS_SCK1_C = 1039,\n\tFN_STP_ISCLK_1_C = 1040,\n\tFN_RIF1_CLK_B = 1041,\n\tFN_ADICLK = 1042,\n\tFN_IP13_31_28 = 1043,\n\tFN_MSIOF0_SYNC = 1044,\n\tFN_AUDIO_CLKOUT_A = 1045,\n\tFN_TX5_B = 1046,\n\tFN_BPFCLK_D = 1047,\n\tFN_IP14_31_28 = 1048,\n\tFN_SSI_SDATA0 = 1049,\n\tFN_MSIOF1_SS2_F = 1050,\n\tFN_IP15_31_28 = 1051,\n\tFN_SSI_SDATA4 = 1052,\n\tFN_HSCK2_A = 1053,\n\tFN_MSIOF1_RXD_A = 1054,\n\tFN_TS_SPSYNC0_A = 1055,\n\tFN_STP_ISSYNC_0_A = 1056,\n\tFN_RIF0_D0_A = 1057,\n\tFN_RIF2_D1_A = 1058,\n\tFN_IP16_3_0 = 1059,\n\tFN_SSI_SCK6 = 1060,\n\tFN_SIM0_RST_D = 1061,\n\tFN_IP17_3_0 = 1062,\n\tFN_AUDIO_CLKA_A = 1063,\n\tFN_IP18_3_0 = 1064,\n\tFN_GP6_30 = 1065,\n\tFN_AUDIO_CLKOUT2_B = 1066,\n\tFN_SSI_SCK9_B = 1067,\n\tFN_TS_SDEN0_E = 1068,\n\tFN_STP_ISEN_0_E = 1069,\n\tFN_RIF2_D0_B = 1070,\n\tFN_TPU0TO2 = 1071,\n\tFN_FMCLK_C = 1072,\n\tFN_FMCLK_D = 1073,\n\tFN_IP16_7_4 = 1074,\n\tFN_SSI_WS6 = 1075,\n\tFN_SIM0_D_D = 1076,\n\tFN_IP17_7_4 = 1077,\n\tFN_AUDIO_CLKB_B = 1078,\n\tFN_SCIF_CLK_A = 1079,\n\tFN_STP_IVCXO27_1_D = 1080,\n\tFN_REMOCON_A = 1081,\n\tFN_TCLK1_A = 1082,\n\tFN_IP18_7_4 = 1083,\n\tFN_GP6_31 = 1084,\n\tFN_AUDIO_CLKOUT3_B = 1085,\n\tFN_SSI_WS9_B = 1086,\n\tFN_TS_SPSYNC0_E = 1087,\n\tFN_STP_ISSYNC_0_E = 1088,\n\tFN_RIF2_D1_B = 1089,\n\tFN_TPU0TO3 = 1090,\n\tFN_FMIN_C = 1091,\n\tFN_FMIN_D = 1092,\n\tFN_IP16_11_8 = 1093,\n\tFN_SSI_SDATA6 = 1094,\n\tFN_SIM0_CLK_D = 1095,\n\tFN_IP17_11_8 = 1096,\n\tFN_USB0_PWEN = 1097,\n\tFN_SIM0_RST_C = 1098,\n\tFN_TS_SCK1_D = 1099,\n\tFN_STP_ISCLK_1_D = 1100,\n\tFN_BPFCLK_B = 1101,\n\tFN_RIF3_CLK_B = 1102,\n\tFN_HSCK2_C = 1103,\n\tFN_IP16_15_12 = 1104,\n\tFN_SSI_SCK78 = 1105,\n\tFN_HRX2_B = 1106,\n\tFN_MSIOF1_SCK_C = 1107,\n\tFN_TS_SCK1_A = 1108,\n\tFN_STP_ISCLK_1_A = 1109,\n\tFN_RIF1_CLK_A = 1110,\n\tFN_RIF3_CLK_A = 1111,\n\tFN_IP17_15_12 = 1112,\n\tFN_USB0_OVC = 1113,\n\tFN_SIM0_D_C = 1114,\n\tFN_TS_SDAT1_D = 1115,\n\tFN_STP_ISD_1_D = 1116,\n\tFN_RIF3_SYNC_B = 1117,\n\tFN_HRX2_C = 1118,\n\tFN_IP16_19_16 = 1119,\n\tFN_SSI_WS78 = 1120,\n\tFN_HTX2_B = 1121,\n\tFN_MSIOF1_SYNC_C = 1122,\n\tFN_TS_SDAT1_A = 1123,\n\tFN_STP_ISD_1_A = 1124,\n\tFN_RIF1_SYNC_A = 1125,\n\tFN_RIF3_SYNC_A = 1126,\n\tFN_IP17_19_16 = 1127,\n\tFN_USB1_PWEN = 1128,\n\tFN_SIM0_CLK_C = 1129,\n\tFN_SSI_SCK1_A = 1130,\n\tFN_TS_SCK0_E = 1131,\n\tFN_STP_ISCLK_0_E = 1132,\n\tFN_FMCLK_B = 1133,\n\tFN_RIF2_CLK_B = 1134,\n\tFN_SPEEDIN_A = 1135,\n\tFN_HTX2_C = 1136,\n\tFN_IP16_23_20 = 1137,\n\tFN_SSI_SDATA7 = 1138,\n\tFN_HCTS2_N_B = 1139,\n\tFN_MSIOF1_RXD_C = 1140,\n\tFN_TS_SDEN1_A = 1141,\n\tFN_STP_ISEN_1_A = 1142,\n\tFN_RIF1_D0_A = 1143,\n\tFN_RIF3_D0_A = 1144,\n\tFN_TCLK2_A = 1145,\n\tFN_IP17_23_20 = 1146,\n\tFN_USB1_OVC = 1147,\n\tFN_MSIOF1_SS2_C = 1148,\n\tFN_SSI_WS1_A = 1149,\n\tFN_TS_SDAT0_E = 1150,\n\tFN_STP_ISD_0_E = 1151,\n\tFN_FMIN_B = 1152,\n\tFN_RIF2_SYNC_B = 1153,\n\tFN_REMOCON_B = 1154,\n\tFN_HCTS2_N_C = 1155,\n\tFN_IP16_27_24 = 1156,\n\tFN_SSI_SDATA8 = 1157,\n\tFN_HRTS2_N_B = 1158,\n\tFN_MSIOF1_TXD_C = 1159,\n\tFN_TS_SPSYNC1_A = 1160,\n\tFN_STP_ISSYNC_1_A = 1161,\n\tFN_RIF1_D1_A = 1162,\n\tFN_RIF3_D1_A = 1163,\n\tFN_IP17_27_24 = 1164,\n\tFN_USB30_PWEN = 1165,\n\tFN_AUDIO_CLKOUT_B = 1166,\n\tFN_SSI_SCK2_B = 1167,\n\tFN_TS_SDEN1_D = 1168,\n\tFN_STP_ISEN_1_D = 1169,\n\tFN_STP_OPWM_0_E = 1170,\n\tFN_RIF3_D0_B = 1171,\n\tFN_TCLK2_B = 1172,\n\tFN_TPU0TO0 = 1173,\n\tFN_BPFCLK_C = 1174,\n\tFN_HRTS2_N_C = 1175,\n\tFN_IP16_31_28 = 1176,\n\tFN_SSI_SDATA9_A = 1177,\n\tFN_HSCK2_B = 1178,\n\tFN_MSIOF1_SS1_C = 1179,\n\tFN_HSCK1_A = 1180,\n\tFN_SSI_WS1_B = 1181,\n\tFN_SCK1 = 1182,\n\tFN_STP_IVCXO27_1_A = 1183,\n\tFN_SCK5_A = 1184,\n\tFN_IP17_31_28 = 1185,\n\tFN_USB30_OVC = 1186,\n\tFN_AUDIO_CLKOUT1_B = 1187,\n\tFN_SSI_WS2_B = 1188,\n\tFN_TS_SPSYNC1_D = 1189,\n\tFN_STP_ISSYNC_1_D = 1190,\n\tFN_STP_IVCXO27_0_E = 1191,\n\tFN_RIF3_D1_B = 1192,\n\tFN_FSO_TOE_N = 1193,\n\tFN_TPU0TO1 = 1194,\n\tFN_SEL_MSIOF3_0 = 1195,\n\tFN_SEL_MSIOF3_1 = 1196,\n\tFN_SEL_MSIOF3_2 = 1197,\n\tFN_SEL_MSIOF3_3 = 1198,\n\tFN_SEL_MSIOF3_4 = 1199,\n\tFN_SEL_TSIF1_0 = 1200,\n\tFN_SEL_TSIF1_1 = 1201,\n\tFN_SEL_TSIF1_2 = 1202,\n\tFN_SEL_TSIF1_3 = 1203,\n\tFN_I2C_SEL_5_0 = 1204,\n\tFN_I2C_SEL_5_1 = 1205,\n\tFN_I2C_SEL_3_0 = 1206,\n\tFN_I2C_SEL_3_1 = 1207,\n\tFN_SEL_TSIF0_0 = 1208,\n\tFN_SEL_TSIF0_1 = 1209,\n\tFN_SEL_TSIF0_2 = 1210,\n\tFN_SEL_TSIF0_3 = 1211,\n\tFN_SEL_TSIF0_4 = 1212,\n\tFN_I2C_SEL_0_0 = 1213,\n\tFN_I2C_SEL_0_1 = 1214,\n\tFN_SEL_MSIOF2_0 = 1215,\n\tFN_SEL_MSIOF2_1 = 1216,\n\tFN_SEL_MSIOF2_2 = 1217,\n\tFN_SEL_MSIOF2_3 = 1218,\n\tFN_SEL_FM_0 = 1219,\n\tFN_SEL_FM_1 = 1220,\n\tFN_SEL_FM_2 = 1221,\n\tFN_SEL_FM_3 = 1222,\n\tFN_SEL_MSIOF1_0 = 1223,\n\tFN_SEL_MSIOF1_1 = 1224,\n\tFN_SEL_MSIOF1_2 = 1225,\n\tFN_SEL_MSIOF1_3 = 1226,\n\tFN_SEL_MSIOF1_4 = 1227,\n\tFN_SEL_MSIOF1_5 = 1228,\n\tFN_SEL_MSIOF1_6 = 1229,\n\tFN_SEL_TIMER_TMU_0 = 1230,\n\tFN_SEL_TIMER_TMU_1 = 1231,\n\tFN_SEL_SCIF5_0 = 1232,\n\tFN_SEL_SCIF5_1 = 1233,\n\tFN_SEL_SSP1_1_0 = 1234,\n\tFN_SEL_SSP1_1_1 = 1235,\n\tFN_SEL_SSP1_1_2 = 1236,\n\tFN_SEL_SSP1_1_3 = 1237,\n\tFN_SEL_I2C6_0 = 1238,\n\tFN_SEL_I2C6_1 = 1239,\n\tFN_SEL_I2C6_2 = 1240,\n\tFN_SEL_LBSC_0 = 1241,\n\tFN_SEL_LBSC_1 = 1242,\n\tFN_SEL_SSP1_0_0 = 1243,\n\tFN_SEL_SSP1_0_1 = 1244,\n\tFN_SEL_SSP1_0_2 = 1245,\n\tFN_SEL_SSP1_0_3 = 1246,\n\tFN_SEL_SSP1_0_4 = 1247,\n\tFN_SEL_IEBUS_0 = 1248,\n\tFN_SEL_IEBUS_1 = 1249,\n\tFN_SEL_NDF_0 = 1250,\n\tFN_SEL_NDF_1 = 1251,\n\tFN_SEL_I2C2_0 = 1252,\n\tFN_SEL_I2C2_1 = 1253,\n\tFN_SEL_SSI2_0 = 1254,\n\tFN_SEL_SSI2_1 = 1255,\n\tFN_SEL_I2C1_0 = 1256,\n\tFN_SEL_I2C1_1 = 1257,\n\tFN_SEL_SSI1_0 = 1258,\n\tFN_SEL_SSI1_1 = 1259,\n\tFN_SEL_SSI9_0 = 1260,\n\tFN_SEL_SSI9_1 = 1261,\n\tFN_SEL_HSCIF4_0 = 1262,\n\tFN_SEL_HSCIF4_1 = 1263,\n\tFN_SEL_SPEED_PULSE_0 = 1264,\n\tFN_SEL_SPEED_PULSE_1 = 1265,\n\tFN_SEL_TIMER_TMU2_0 = 1266,\n\tFN_SEL_TIMER_TMU2_1 = 1267,\n\tFN_SEL_HSCIF3_0 = 1268,\n\tFN_SEL_HSCIF3_1 = 1269,\n\tFN_SEL_HSCIF3_2 = 1270,\n\tFN_SEL_HSCIF3_3 = 1271,\n\tFN_SEL_SIMCARD_0 = 1272,\n\tFN_SEL_SIMCARD_1 = 1273,\n\tFN_SEL_SIMCARD_2 = 1274,\n\tFN_SEL_SIMCARD_3 = 1275,\n\tFN_SEL_ADGB_0 = 1276,\n\tFN_SEL_ADGB_1 = 1277,\n\tFN_SEL_ADGC_0 = 1278,\n\tFN_SEL_ADGC_1 = 1279,\n\tFN_SEL_HSCIF1_0 = 1280,\n\tFN_SEL_HSCIF1_1 = 1281,\n\tFN_SEL_SDHI2_0 = 1282,\n\tFN_SEL_SDHI2_1 = 1283,\n\tFN_SEL_SCIF4_0 = 1284,\n\tFN_SEL_SCIF4_1 = 1285,\n\tFN_SEL_SCIF4_2 = 1286,\n\tFN_SEL_HSCIF2_0 = 1287,\n\tFN_SEL_HSCIF2_1 = 1288,\n\tFN_SEL_HSCIF2_2 = 1289,\n\tFN_SEL_SCIF3_0 = 1290,\n\tFN_SEL_SCIF3_1 = 1291,\n\tFN_SEL_ETHERAVB_0 = 1292,\n\tFN_SEL_ETHERAVB_1 = 1293,\n\tFN_SEL_SCIF2_0 = 1294,\n\tFN_SEL_SCIF2_1 = 1295,\n\tFN_SEL_DRIF3_0 = 1296,\n\tFN_SEL_DRIF3_1 = 1297,\n\tFN_SEL_SCIF1_0 = 1298,\n\tFN_SEL_SCIF1_1 = 1299,\n\tFN_SEL_DRIF2_0 = 1300,\n\tFN_SEL_DRIF2_1 = 1301,\n\tFN_SEL_SCIF_0 = 1302,\n\tFN_SEL_SCIF_1 = 1303,\n\tFN_SEL_DRIF1_0 = 1304,\n\tFN_SEL_DRIF1_1 = 1305,\n\tFN_SEL_DRIF1_2 = 1306,\n\tFN_SEL_REMOCON_0 = 1307,\n\tFN_SEL_REMOCON_1 = 1308,\n\tFN_SEL_DRIF0_0 = 1309,\n\tFN_SEL_DRIF0_1 = 1310,\n\tFN_SEL_DRIF0_2 = 1311,\n\tFN_SEL_RCAN0_0 = 1312,\n\tFN_SEL_RCAN0_1 = 1313,\n\tFN_SEL_CANFD0_0 = 1314,\n\tFN_SEL_CANFD0_1 = 1315,\n\tFN_SEL_PWM6_0 = 1316,\n\tFN_SEL_PWM6_1 = 1317,\n\tFN_SEL_ADGA_0 = 1318,\n\tFN_SEL_ADGA_1 = 1319,\n\tFN_SEL_ADGA_2 = 1320,\n\tFN_SEL_ADGA_3 = 1321,\n\tFN_SEL_PWM5_0 = 1322,\n\tFN_SEL_PWM5_1 = 1323,\n\tFN_SEL_PWM4_0 = 1324,\n\tFN_SEL_PWM4_1 = 1325,\n\tFN_SEL_PWM3_0 = 1326,\n\tFN_SEL_PWM3_1 = 1327,\n\tFN_SEL_PWM2_0 = 1328,\n\tFN_SEL_PWM2_1 = 1329,\n\tFN_SEL_PWM1_0 = 1330,\n\tFN_SEL_PWM1_1 = 1331,\n\tFN_SEL_VIN4_0 = 1332,\n\tFN_SEL_VIN4_1 = 1333,\n\tPINMUX_FUNCTION_END = 1334,\n\tPINMUX_MARK_BEGIN = 1335,\n\tCLKOUT_MARK = 1336,\n\tMSIOF0_RXD_MARK = 1337,\n\tMSIOF0_TXD_MARK = 1338,\n\tMSIOF0_SCK_MARK = 1339,\n\tSSI_SDATA5_MARK = 1340,\n\tSSI_WS5_MARK = 1341,\n\tSSI_SCK5_MARK = 1342,\n\tGP7_03_MARK = 1343,\n\tGP7_02_MARK = 1344,\n\tAVS2_MARK = 1345,\n\tAVS1_MARK = 1346,\n\tIP0_3_0_MARK = 1347,\n\tAVB_MDC_MARK = 1348,\n\tMSIOF2_SS2_C_MARK = 1349,\n\tIP1_3_0_MARK = 1350,\n\tIRQ2_MARK = 1351,\n\tQCPV_QDE_MARK = 1352,\n\tDU_EXODDF_DU_ODDF_DISP_CDE_MARK = 1353,\n\tVI4_DATA2_B_MARK = 1354,\n\tMSIOF3_SYNC_E_MARK = 1355,\n\tPWM3_B_MARK = 1356,\n\tIP2_3_0_MARK = 1357,\n\tA1_MARK = 1358,\n\tLCDOUT17_MARK = 1359,\n\tMSIOF3_TXD_B_MARK = 1360,\n\tVI4_DATA9_MARK = 1361,\n\tDU_DB1_MARK = 1362,\n\tPWM4_A_MARK = 1363,\n\tIP3_3_0_MARK = 1364,\n\tA9_MARK = 1365,\n\tMSIOF2_SCK_A_MARK = 1366,\n\tCTS4_N_B_MARK = 1367,\n\tVI5_VSYNC_N_MARK = 1368,\n\tIP0_7_4_MARK = 1369,\n\tAVB_MAGIC_MARK = 1370,\n\tMSIOF2_SS1_C_MARK = 1371,\n\tSCK4_A_MARK = 1372,\n\tIP1_7_4_MARK = 1373,\n\tIRQ3_MARK = 1374,\n\tQSTVB_QVE_MARK = 1375,\n\tDU_DOTCLKOUT1_MARK = 1376,\n\tVI4_DATA3_B_MARK = 1377,\n\tMSIOF3_SCK_E_MARK = 1378,\n\tPWM4_B_MARK = 1379,\n\tIP2_7_4_MARK = 1380,\n\tA2_MARK = 1381,\n\tLCDOUT18_MARK = 1382,\n\tMSIOF3_SCK_B_MARK = 1383,\n\tVI4_DATA10_MARK = 1384,\n\tDU_DB2_MARK = 1385,\n\tPWM5_A_MARK = 1386,\n\tIP3_7_4_MARK = 1387,\n\tA10_MARK = 1388,\n\tMSIOF2_RXD_A_MARK = 1389,\n\tRTS4_N_B_MARK = 1390,\n\tVI5_HSYNC_N_MARK = 1391,\n\tIP0_11_8_MARK = 1392,\n\tAVB_PHY_INT_MARK = 1393,\n\tMSIOF2_SYNC_C_MARK = 1394,\n\tRX4_A_MARK = 1395,\n\tIP1_11_8_MARK = 1396,\n\tIRQ4_MARK = 1397,\n\tQSTH_QHS_MARK = 1398,\n\tDU_EXHSYNC_DU_HSYNC_MARK = 1399,\n\tVI4_DATA4_B_MARK = 1400,\n\tMSIOF3_RXD_E_MARK = 1401,\n\tPWM5_B_MARK = 1402,\n\tIP2_11_8_MARK = 1403,\n\tA3_MARK = 1404,\n\tLCDOUT19_MARK = 1405,\n\tMSIOF3_RXD_B_MARK = 1406,\n\tVI4_DATA11_MARK = 1407,\n\tDU_DB3_MARK = 1408,\n\tPWM6_A_MARK = 1409,\n\tIP3_11_8_MARK = 1410,\n\tA11_MARK = 1411,\n\tTX3_B_MARK = 1412,\n\tMSIOF2_TXD_A_MARK = 1413,\n\tHTX4_B_MARK = 1414,\n\tHSCK4_MARK = 1415,\n\tVI5_FIELD_MARK = 1416,\n\tSCL6_A_MARK = 1417,\n\tAVB_AVTP_CAPTURE_B_MARK = 1418,\n\tPWM2_B_MARK = 1419,\n\tIP0_15_12_MARK = 1420,\n\tAVB_LINK_MARK = 1421,\n\tMSIOF2_SCK_C_MARK = 1422,\n\tTX4_A_MARK = 1423,\n\tIP1_15_12_MARK = 1424,\n\tIRQ5_MARK = 1425,\n\tQSTB_QHE_MARK = 1426,\n\tDU_EXVSYNC_DU_VSYNC_MARK = 1427,\n\tVI4_DATA5_B_MARK = 1428,\n\tMSIOF3_TXD_E_MARK = 1429,\n\tPWM6_B_MARK = 1430,\n\tIP2_15_12_MARK = 1431,\n\tA4_MARK = 1432,\n\tLCDOUT20_MARK = 1433,\n\tMSIOF3_SS1_B_MARK = 1434,\n\tVI4_DATA12_MARK = 1435,\n\tVI5_DATA12_MARK = 1436,\n\tDU_DB4_MARK = 1437,\n\tIP3_15_12_MARK = 1438,\n\tA12_MARK = 1439,\n\tLCDOUT12_MARK = 1440,\n\tMSIOF3_SCK_C_MARK = 1441,\n\tHRX4_A_MARK = 1442,\n\tVI5_DATA8_MARK = 1443,\n\tDU_DG4_MARK = 1444,\n\tIP0_19_16_MARK = 1445,\n\tAVB_AVTP_MATCH_A_MARK = 1446,\n\tMSIOF2_RXD_C_MARK = 1447,\n\tCTS4_N_A_MARK = 1448,\n\tIP1_19_16_MARK = 1449,\n\tPWM0_MARK = 1450,\n\tAVB_AVTP_PPS_MARK = 1451,\n\tVI4_DATA6_B_MARK = 1452,\n\tIECLK_B_MARK = 1453,\n\tIP2_19_16_MARK = 1454,\n\tA5_MARK = 1455,\n\tLCDOUT21_MARK = 1456,\n\tMSIOF3_SS2_B_MARK = 1457,\n\tSCK4_B_MARK = 1458,\n\tVI4_DATA13_MARK = 1459,\n\tVI5_DATA13_MARK = 1460,\n\tDU_DB5_MARK = 1461,\n\tIP3_19_16_MARK = 1462,\n\tA13_MARK = 1463,\n\tLCDOUT13_MARK = 1464,\n\tMSIOF3_SYNC_C_MARK = 1465,\n\tHTX4_A_MARK = 1466,\n\tVI5_DATA9_MARK = 1467,\n\tDU_DG5_MARK = 1468,\n\tIP0_23_20_MARK = 1469,\n\tAVB_AVTP_CAPTURE_A_MARK = 1470,\n\tMSIOF2_TXD_C_MARK = 1471,\n\tRTS4_N_A_MARK = 1472,\n\tIP1_23_20_MARK = 1473,\n\tPWM1_A_MARK = 1474,\n\tHRX3_D_MARK = 1475,\n\tVI4_DATA7_B_MARK = 1476,\n\tIERX_B_MARK = 1477,\n\tIP2_23_20_MARK = 1478,\n\tA6_MARK = 1479,\n\tLCDOUT22_MARK = 1480,\n\tMSIOF2_SS1_A_MARK = 1481,\n\tRX4_B_MARK = 1482,\n\tVI4_DATA14_MARK = 1483,\n\tVI5_DATA14_MARK = 1484,\n\tDU_DB6_MARK = 1485,\n\tIP3_23_20_MARK = 1486,\n\tA14_MARK = 1487,\n\tLCDOUT14_MARK = 1488,\n\tMSIOF3_RXD_C_MARK = 1489,\n\tHCTS4_N_MARK = 1490,\n\tVI5_DATA10_MARK = 1491,\n\tDU_DG6_MARK = 1492,\n\tIP0_27_24_MARK = 1493,\n\tIRQ0_MARK = 1494,\n\tQPOLB_MARK = 1495,\n\tDU_CDE_MARK = 1496,\n\tVI4_DATA0_B_MARK = 1497,\n\tCAN0_TX_B_MARK = 1498,\n\tCANFD0_TX_B_MARK = 1499,\n\tMSIOF3_SS2_E_MARK = 1500,\n\tIP1_27_24_MARK = 1501,\n\tPWM2_A_MARK = 1502,\n\tHTX3_D_MARK = 1503,\n\tIETX_B_MARK = 1504,\n\tIP2_27_24_MARK = 1505,\n\tA7_MARK = 1506,\n\tLCDOUT23_MARK = 1507,\n\tMSIOF2_SS2_A_MARK = 1508,\n\tTX4_B_MARK = 1509,\n\tVI4_DATA15_MARK = 1510,\n\tVI5_DATA15_MARK = 1511,\n\tDU_DB7_MARK = 1512,\n\tIP3_27_24_MARK = 1513,\n\tA15_MARK = 1514,\n\tLCDOUT15_MARK = 1515,\n\tMSIOF3_TXD_C_MARK = 1516,\n\tHRTS4_N_MARK = 1517,\n\tVI5_DATA11_MARK = 1518,\n\tDU_DG7_MARK = 1519,\n\tIP0_31_28_MARK = 1520,\n\tIRQ1_MARK = 1521,\n\tQPOLA_MARK = 1522,\n\tDU_DISP_MARK = 1523,\n\tVI4_DATA1_B_MARK = 1524,\n\tCAN0_RX_B_MARK = 1525,\n\tCANFD0_RX_B_MARK = 1526,\n\tMSIOF3_SS1_E_MARK = 1527,\n\tIP1_31_28_MARK = 1528,\n\tA0_MARK = 1529,\n\tLCDOUT16_MARK = 1530,\n\tMSIOF3_SYNC_B_MARK = 1531,\n\tVI4_DATA8_MARK = 1532,\n\tDU_DB0_MARK = 1533,\n\tPWM3_A_MARK = 1534,\n\tIP2_31_28_MARK = 1535,\n\tA8_MARK = 1536,\n\tRX3_B_MARK = 1537,\n\tMSIOF2_SYNC_A_MARK = 1538,\n\tHRX4_B_MARK = 1539,\n\tSDA6_A_MARK = 1540,\n\tAVB_AVTP_MATCH_B_MARK = 1541,\n\tPWM1_B_MARK = 1542,\n\tIP3_31_28_MARK = 1543,\n\tA16_MARK = 1544,\n\tLCDOUT8_MARK = 1545,\n\tVI4_FIELD_MARK = 1546,\n\tDU_DG0_MARK = 1547,\n\tIP4_3_0_MARK = 1548,\n\tA17_MARK = 1549,\n\tLCDOUT9_MARK = 1550,\n\tVI4_VSYNC_N_MARK = 1551,\n\tDU_DG1_MARK = 1552,\n\tIP5_3_0_MARK = 1553,\n\tWE0_N_MARK = 1554,\n\tMSIOF3_TXD_D_MARK = 1555,\n\tCTS3_N_MARK = 1556,\n\tHCTS3_N_MARK = 1557,\n\tSCL6_B_MARK = 1558,\n\tCAN_CLK_MARK = 1559,\n\tIECLK_A_MARK = 1560,\n\tIP6_3_0_MARK = 1561,\n\tD5_MARK = 1562,\n\tMSIOF2_SYNC_B_MARK = 1563,\n\tVI4_DATA21_MARK = 1564,\n\tVI5_DATA5_MARK = 1565,\n\tIP7_3_0_MARK = 1566,\n\tD13_MARK = 1567,\n\tLCDOUT5_MARK = 1568,\n\tMSIOF2_SS2_D_MARK = 1569,\n\tTX4_C_MARK = 1570,\n\tVI4_DATA5_A_MARK = 1571,\n\tDU_DR5_MARK = 1572,\n\tIP4_7_4_MARK = 1573,\n\tA18_MARK = 1574,\n\tLCDOUT10_MARK = 1575,\n\tVI4_HSYNC_N_MARK = 1576,\n\tDU_DG2_MARK = 1577,\n\tIP5_7_4_MARK = 1578,\n\tWE1_N_MARK = 1579,\n\tMSIOF3_SS1_D_MARK = 1580,\n\tRTS3_N_MARK = 1581,\n\tHRTS3_N_MARK = 1582,\n\tSDA6_B_MARK = 1583,\n\tCAN1_RX_MARK = 1584,\n\tCANFD1_RX_MARK = 1585,\n\tIERX_A_MARK = 1586,\n\tIP6_7_4_MARK = 1587,\n\tD6_MARK = 1588,\n\tMSIOF2_RXD_B_MARK = 1589,\n\tVI4_DATA22_MARK = 1590,\n\tVI5_DATA6_MARK = 1591,\n\tIP7_7_4_MARK = 1592,\n\tD14_MARK = 1593,\n\tLCDOUT6_MARK = 1594,\n\tMSIOF3_SS1_A_MARK = 1595,\n\tHRX3_C_MARK = 1596,\n\tVI4_DATA6_A_MARK = 1597,\n\tDU_DR6_MARK = 1598,\n\tSCL6_C_MARK = 1599,\n\tIP4_11_8_MARK = 1600,\n\tA19_MARK = 1601,\n\tLCDOUT11_MARK = 1602,\n\tVI4_CLKENB_MARK = 1603,\n\tDU_DG3_MARK = 1604,\n\tIP5_11_8_MARK = 1605,\n\tEX_WAIT0_A_MARK = 1606,\n\tQCLK_MARK = 1607,\n\tVI4_CLK_MARK = 1608,\n\tDU_DOTCLKOUT0_MARK = 1609,\n\tIP6_11_8_MARK = 1610,\n\tD7_MARK = 1611,\n\tMSIOF2_TXD_B_MARK = 1612,\n\tVI4_DATA23_MARK = 1613,\n\tVI5_DATA7_MARK = 1614,\n\tIP7_11_8_MARK = 1615,\n\tD15_MARK = 1616,\n\tLCDOUT7_MARK = 1617,\n\tMSIOF3_SS2_A_MARK = 1618,\n\tHTX3_C_MARK = 1619,\n\tVI4_DATA7_A_MARK = 1620,\n\tDU_DR7_MARK = 1621,\n\tSDA6_C_MARK = 1622,\n\tIP4_15_12_MARK = 1623,\n\tCS0_N_MARK = 1624,\n\tVI5_CLKENB_MARK = 1625,\n\tIP5_15_12_MARK = 1626,\n\tD0_MARK = 1627,\n\tMSIOF2_SS1_B_MARK = 1628,\n\tMSIOF3_SCK_A_MARK = 1629,\n\tVI4_DATA16_MARK = 1630,\n\tVI5_DATA0_MARK = 1631,\n\tIP6_15_12_MARK = 1632,\n\tD8_MARK = 1633,\n\tLCDOUT0_MARK = 1634,\n\tMSIOF2_SCK_D_MARK = 1635,\n\tSCK4_C_MARK = 1636,\n\tVI4_DATA0_A_MARK = 1637,\n\tDU_DR0_MARK = 1638,\n\tIP4_19_16_MARK = 1639,\n\tCS1_N_MARK = 1640,\n\tVI5_CLK_MARK = 1641,\n\tEX_WAIT0_B_MARK = 1642,\n\tIP5_19_16_MARK = 1643,\n\tD1_MARK = 1644,\n\tMSIOF2_SS2_B_MARK = 1645,\n\tMSIOF3_SYNC_A_MARK = 1646,\n\tVI4_DATA17_MARK = 1647,\n\tVI5_DATA1_MARK = 1648,\n\tIP6_19_16_MARK = 1649,\n\tD9_MARK = 1650,\n\tLCDOUT1_MARK = 1651,\n\tMSIOF2_SYNC_D_MARK = 1652,\n\tVI4_DATA1_A_MARK = 1653,\n\tDU_DR1_MARK = 1654,\n\tIP7_19_16_MARK = 1655,\n\tSD0_CLK_MARK = 1656,\n\tMSIOF1_SCK_E_MARK = 1657,\n\tSTP_OPWM_0_B_MARK = 1658,\n\tIP4_23_20_MARK = 1659,\n\tBS_N_MARK = 1660,\n\tQSTVA_QVS_MARK = 1661,\n\tMSIOF3_SCK_D_MARK = 1662,\n\tSCK3_MARK = 1663,\n\tHSCK3_MARK = 1664,\n\tCAN1_TX_MARK = 1665,\n\tCANFD1_TX_MARK = 1666,\n\tIETX_A_MARK = 1667,\n\tIP5_23_20_MARK = 1668,\n\tD2_MARK = 1669,\n\tMSIOF3_RXD_A_MARK = 1670,\n\tVI4_DATA18_MARK = 1671,\n\tVI5_DATA2_MARK = 1672,\n\tIP6_23_20_MARK = 1673,\n\tD10_MARK = 1674,\n\tLCDOUT2_MARK = 1675,\n\tMSIOF2_RXD_D_MARK = 1676,\n\tHRX3_B_MARK = 1677,\n\tVI4_DATA2_A_MARK = 1678,\n\tCTS4_N_C_MARK = 1679,\n\tDU_DR2_MARK = 1680,\n\tIP7_23_20_MARK = 1681,\n\tSD0_CMD_MARK = 1682,\n\tMSIOF1_SYNC_E_MARK = 1683,\n\tSTP_IVCXO27_0_B_MARK = 1684,\n\tIP4_27_24_MARK = 1685,\n\tRD_N_MARK = 1686,\n\tMSIOF3_SYNC_D_MARK = 1687,\n\tRX3_A_MARK = 1688,\n\tHRX3_A_MARK = 1689,\n\tCAN0_TX_A_MARK = 1690,\n\tCANFD0_TX_A_MARK = 1691,\n\tIP5_27_24_MARK = 1692,\n\tD3_MARK = 1693,\n\tMSIOF3_TXD_A_MARK = 1694,\n\tVI4_DATA19_MARK = 1695,\n\tVI5_DATA3_MARK = 1696,\n\tIP6_27_24_MARK = 1697,\n\tD11_MARK = 1698,\n\tLCDOUT3_MARK = 1699,\n\tMSIOF2_TXD_D_MARK = 1700,\n\tHTX3_B_MARK = 1701,\n\tVI4_DATA3_A_MARK = 1702,\n\tRTS4_N_C_MARK = 1703,\n\tDU_DR3_MARK = 1704,\n\tIP7_27_24_MARK = 1705,\n\tSD0_DAT0_MARK = 1706,\n\tMSIOF1_RXD_E_MARK = 1707,\n\tTS_SCK0_B_MARK = 1708,\n\tSTP_ISCLK_0_B_MARK = 1709,\n\tIP4_31_28_MARK = 1710,\n\tRD_WR_N_MARK = 1711,\n\tMSIOF3_RXD_D_MARK = 1712,\n\tTX3_A_MARK = 1713,\n\tHTX3_A_MARK = 1714,\n\tCAN0_RX_A_MARK = 1715,\n\tCANFD0_RX_A_MARK = 1716,\n\tIP5_31_28_MARK = 1717,\n\tD4_MARK = 1718,\n\tMSIOF2_SCK_B_MARK = 1719,\n\tVI4_DATA20_MARK = 1720,\n\tVI5_DATA4_MARK = 1721,\n\tIP6_31_28_MARK = 1722,\n\tD12_MARK = 1723,\n\tLCDOUT4_MARK = 1724,\n\tMSIOF2_SS1_D_MARK = 1725,\n\tRX4_C_MARK = 1726,\n\tVI4_DATA4_A_MARK = 1727,\n\tDU_DR4_MARK = 1728,\n\tIP7_31_28_MARK = 1729,\n\tSD0_DAT1_MARK = 1730,\n\tMSIOF1_TXD_E_MARK = 1731,\n\tTS_SPSYNC0_B_MARK = 1732,\n\tSTP_ISSYNC_0_B_MARK = 1733,\n\tIP8_3_0_MARK = 1734,\n\tSD0_DAT2_MARK = 1735,\n\tMSIOF1_SS1_E_MARK = 1736,\n\tTS_SDAT0_B_MARK = 1737,\n\tSTP_ISD_0_B_MARK = 1738,\n\tIP9_3_0_MARK = 1739,\n\tSD2_CLK_MARK = 1740,\n\tNFDATA8_MARK = 1741,\n\tIP10_3_0_MARK = 1742,\n\tSD3_CMD_MARK = 1743,\n\tNFRE_N_MARK = 1744,\n\tIP11_3_0_MARK = 1745,\n\tSD3_DAT7_MARK = 1746,\n\tSD3_WP_MARK = 1747,\n\tNFDATA7_MARK = 1748,\n\tIP8_7_4_MARK = 1749,\n\tSD0_DAT3_MARK = 1750,\n\tMSIOF1_SS2_E_MARK = 1751,\n\tTS_SDEN0_B_MARK = 1752,\n\tSTP_ISEN_0_B_MARK = 1753,\n\tIP9_7_4_MARK = 1754,\n\tSD2_CMD_MARK = 1755,\n\tNFDATA9_MARK = 1756,\n\tIP10_7_4_MARK = 1757,\n\tSD3_DAT0_MARK = 1758,\n\tNFDATA0_MARK = 1759,\n\tIP11_7_4_MARK = 1760,\n\tSD3_DS_MARK = 1761,\n\tNFCLE_MARK = 1762,\n\tIP8_11_8_MARK = 1763,\n\tSD1_CLK_MARK = 1764,\n\tMSIOF1_SCK_G_MARK = 1765,\n\tSIM0_CLK_A_MARK = 1766,\n\tIP9_11_8_MARK = 1767,\n\tSD2_DAT0_MARK = 1768,\n\tNFDATA10_MARK = 1769,\n\tIP10_11_8_MARK = 1770,\n\tSD3_DAT1_MARK = 1771,\n\tNFDATA1_MARK = 1772,\n\tIP11_11_8_MARK = 1773,\n\tSD0_CD_MARK = 1774,\n\tNFDATA14_A_MARK = 1775,\n\tSCL2_B_MARK = 1776,\n\tSIM0_RST_A_MARK = 1777,\n\tIP8_15_12_MARK = 1778,\n\tSD1_CMD_MARK = 1779,\n\tMSIOF1_SYNC_G_MARK = 1780,\n\tNFCE_N_B_MARK = 1781,\n\tSIM0_D_A_MARK = 1782,\n\tSTP_IVCXO27_1_B_MARK = 1783,\n\tIP9_15_12_MARK = 1784,\n\tSD2_DAT1_MARK = 1785,\n\tNFDATA11_MARK = 1786,\n\tIP10_15_12_MARK = 1787,\n\tSD3_DAT2_MARK = 1788,\n\tNFDATA2_MARK = 1789,\n\tIP11_15_12_MARK = 1790,\n\tSD0_WP_MARK = 1791,\n\tNFDATA15_A_MARK = 1792,\n\tSDA2_B_MARK = 1793,\n\tIP8_19_16_MARK = 1794,\n\tSD1_DAT0_MARK = 1795,\n\tSD2_DAT4_MARK = 1796,\n\tMSIOF1_RXD_G_MARK = 1797,\n\tNFWP_N_B_MARK = 1798,\n\tTS_SCK1_B_MARK = 1799,\n\tSTP_ISCLK_1_B_MARK = 1800,\n\tIP9_19_16_MARK = 1801,\n\tSD2_DAT2_MARK = 1802,\n\tNFDATA12_MARK = 1803,\n\tIP10_19_16_MARK = 1804,\n\tSD3_DAT3_MARK = 1805,\n\tNFDATA3_MARK = 1806,\n\tIP11_19_16_MARK = 1807,\n\tSD1_CD_MARK = 1808,\n\tNFRB_N_A_MARK = 1809,\n\tSIM0_CLK_B_MARK = 1810,\n\tIP8_23_20_MARK = 1811,\n\tSD1_DAT1_MARK = 1812,\n\tSD2_DAT5_MARK = 1813,\n\tMSIOF1_TXD_G_MARK = 1814,\n\tNFDATA14_B_MARK = 1815,\n\tTS_SPSYNC1_B_MARK = 1816,\n\tSTP_ISSYNC_1_B_MARK = 1817,\n\tIP9_23_20_MARK = 1818,\n\tSD2_DAT3_MARK = 1819,\n\tNFDATA13_MARK = 1820,\n\tIP10_23_20_MARK = 1821,\n\tSD3_DAT4_MARK = 1822,\n\tSD2_CD_A_MARK = 1823,\n\tNFDATA4_MARK = 1824,\n\tIP11_23_20_MARK = 1825,\n\tSD1_WP_MARK = 1826,\n\tNFCE_N_A_MARK = 1827,\n\tSIM0_D_B_MARK = 1828,\n\tIP8_27_24_MARK = 1829,\n\tSD1_DAT2_MARK = 1830,\n\tSD2_DAT6_MARK = 1831,\n\tMSIOF1_SS1_G_MARK = 1832,\n\tNFDATA15_B_MARK = 1833,\n\tTS_SDAT1_B_MARK = 1834,\n\tSTP_ISD_1_B_MARK = 1835,\n\tIP9_27_24_MARK = 1836,\n\tSD2_DS_MARK = 1837,\n\tNFALE_MARK = 1838,\n\tIP10_27_24_MARK = 1839,\n\tSD3_DAT5_MARK = 1840,\n\tSD2_WP_A_MARK = 1841,\n\tNFDATA5_MARK = 1842,\n\tIP11_27_24_MARK = 1843,\n\tSCK0_MARK = 1844,\n\tHSCK1_B_MARK = 1845,\n\tMSIOF1_SS2_B_MARK = 1846,\n\tAUDIO_CLKC_B_MARK = 1847,\n\tSDA2_A_MARK = 1848,\n\tSIM0_RST_B_MARK = 1849,\n\tSTP_OPWM_0_C_MARK = 1850,\n\tRIF0_CLK_B_MARK = 1851,\n\tADICHS2_MARK = 1852,\n\tSCK5_B_MARK = 1853,\n\tIP8_31_28_MARK = 1854,\n\tSD1_DAT3_MARK = 1855,\n\tSD2_DAT7_MARK = 1856,\n\tMSIOF1_SS2_G_MARK = 1857,\n\tNFRB_N_B_MARK = 1858,\n\tTS_SDEN1_B_MARK = 1859,\n\tSTP_ISEN_1_B_MARK = 1860,\n\tIP9_31_28_MARK = 1861,\n\tSD3_CLK_MARK = 1862,\n\tNFWE_N_MARK = 1863,\n\tIP10_31_28_MARK = 1864,\n\tSD3_DAT6_MARK = 1865,\n\tSD3_CD_MARK = 1866,\n\tNFDATA6_MARK = 1867,\n\tIP11_31_28_MARK = 1868,\n\tRX0_MARK = 1869,\n\tHRX1_B_MARK = 1870,\n\tTS_SCK0_C_MARK = 1871,\n\tSTP_ISCLK_0_C_MARK = 1872,\n\tRIF0_D0_B_MARK = 1873,\n\tIP12_3_0_MARK = 1874,\n\tTX0_MARK = 1875,\n\tHTX1_B_MARK = 1876,\n\tTS_SPSYNC0_C_MARK = 1877,\n\tSTP_ISSYNC_0_C_MARK = 1878,\n\tRIF0_D1_B_MARK = 1879,\n\tIP13_3_0_MARK = 1880,\n\tTX2_A_MARK = 1881,\n\tSD2_CD_B_MARK = 1882,\n\tSCL1_A_MARK = 1883,\n\tFMCLK_A_MARK = 1884,\n\tRIF1_D1_C_MARK = 1885,\n\tFSO_CFE_0_N_MARK = 1886,\n\tIP14_3_0_MARK = 1887,\n\tMSIOF0_SS1_MARK = 1888,\n\tRX5_A_MARK = 1889,\n\tNFWP_N_A_MARK = 1890,\n\tAUDIO_CLKA_C_MARK = 1891,\n\tSSI_SCK2_A_MARK = 1892,\n\tSTP_IVCXO27_0_C_MARK = 1893,\n\tAUDIO_CLKOUT3_A_MARK = 1894,\n\tTCLK1_B_MARK = 1895,\n\tIP15_3_0_MARK = 1896,\n\tSSI_SDATA1_A_MARK = 1897,\n\tIP12_7_4_MARK = 1898,\n\tCTS0_N_MARK = 1899,\n\tHCTS1_N_B_MARK = 1900,\n\tMSIOF1_SYNC_B_MARK = 1901,\n\tTS_SPSYNC1_C_MARK = 1902,\n\tSTP_ISSYNC_1_C_MARK = 1903,\n\tRIF1_SYNC_B_MARK = 1904,\n\tAUDIO_CLKOUT_C_MARK = 1905,\n\tADICS_SAMP_MARK = 1906,\n\tIP13_7_4_MARK = 1907,\n\tRX2_A_MARK = 1908,\n\tSD2_WP_B_MARK = 1909,\n\tSDA1_A_MARK = 1910,\n\tFMIN_A_MARK = 1911,\n\tRIF1_SYNC_C_MARK = 1912,\n\tFSO_CFE_1_N_MARK = 1913,\n\tIP14_7_4_MARK = 1914,\n\tMSIOF0_SS2_MARK = 1915,\n\tTX5_A_MARK = 1916,\n\tMSIOF1_SS2_D_MARK = 1917,\n\tAUDIO_CLKC_A_MARK = 1918,\n\tSSI_WS2_A_MARK = 1919,\n\tSTP_OPWM_0_D_MARK = 1920,\n\tAUDIO_CLKOUT_D_MARK = 1921,\n\tSPEEDIN_B_MARK = 1922,\n\tIP15_7_4_MARK = 1923,\n\tSSI_SDATA2_A_MARK = 1924,\n\tSSI_SCK1_B_MARK = 1925,\n\tIP12_11_8_MARK = 1926,\n\tRTS0_N_MARK = 1927,\n\tHRTS1_N_B_MARK = 1928,\n\tMSIOF1_SS1_B_MARK = 1929,\n\tAUDIO_CLKA_B_MARK = 1930,\n\tSCL2_A_MARK = 1931,\n\tSTP_IVCXO27_1_C_MARK = 1932,\n\tRIF0_SYNC_B_MARK = 1933,\n\tADICHS1_MARK = 1934,\n\tIP13_11_8_MARK = 1935,\n\tHSCK0_MARK = 1936,\n\tMSIOF1_SCK_D_MARK = 1937,\n\tAUDIO_CLKB_A_MARK = 1938,\n\tSSI_SDATA1_B_MARK = 1939,\n\tTS_SCK0_D_MARK = 1940,\n\tSTP_ISCLK_0_D_MARK = 1941,\n\tRIF0_CLK_C_MARK = 1942,\n\tRX5_B_MARK = 1943,\n\tIP14_11_8_MARK = 1944,\n\tMLB_CLK_MARK = 1945,\n\tMSIOF1_SCK_F_MARK = 1946,\n\tSCL1_B_MARK = 1947,\n\tIP15_11_8_MARK = 1948,\n\tSSI_SCK349_MARK = 1949,\n\tMSIOF1_SS1_A_MARK = 1950,\n\tSTP_OPWM_0_A_MARK = 1951,\n\tIP12_15_12_MARK = 1952,\n\tRX1_A_MARK = 1953,\n\tHRX1_A_MARK = 1954,\n\tTS_SDAT0_C_MARK = 1955,\n\tSTP_ISD_0_C_MARK = 1956,\n\tRIF1_CLK_C_MARK = 1957,\n\tIP13_15_12_MARK = 1958,\n\tHRX0_MARK = 1959,\n\tMSIOF1_RXD_D_MARK = 1960,\n\tSSI_SDATA2_B_MARK = 1961,\n\tTS_SDEN0_D_MARK = 1962,\n\tSTP_ISEN_0_D_MARK = 1963,\n\tRIF0_D0_C_MARK = 1964,\n\tIP14_15_12_MARK = 1965,\n\tMLB_SIG_MARK = 1966,\n\tRX1_B_MARK = 1967,\n\tMSIOF1_SYNC_F_MARK = 1968,\n\tSDA1_B_MARK = 1969,\n\tIP15_15_12_MARK = 1970,\n\tSSI_WS349_MARK = 1971,\n\tHCTS2_N_A_MARK = 1972,\n\tMSIOF1_SS2_A_MARK = 1973,\n\tSTP_IVCXO27_0_A_MARK = 1974,\n\tIP12_19_16_MARK = 1975,\n\tTX1_A_MARK = 1976,\n\tHTX1_A_MARK = 1977,\n\tTS_SDEN0_C_MARK = 1978,\n\tSTP_ISEN_0_C_MARK = 1979,\n\tRIF1_D0_C_MARK = 1980,\n\tIP13_19_16_MARK = 1981,\n\tHTX0_MARK = 1982,\n\tMSIOF1_TXD_D_MARK = 1983,\n\tSSI_SDATA9_B_MARK = 1984,\n\tTS_SDAT0_D_MARK = 1985,\n\tSTP_ISD_0_D_MARK = 1986,\n\tRIF0_D1_C_MARK = 1987,\n\tIP14_19_16_MARK = 1988,\n\tMLB_DAT_MARK = 1989,\n\tTX1_B_MARK = 1990,\n\tMSIOF1_RXD_F_MARK = 1991,\n\tIP15_19_16_MARK = 1992,\n\tSSI_SDATA3_MARK = 1993,\n\tHRTS2_N_A_MARK = 1994,\n\tMSIOF1_TXD_A_MARK = 1995,\n\tTS_SCK0_A_MARK = 1996,\n\tSTP_ISCLK_0_A_MARK = 1997,\n\tRIF0_D1_A_MARK = 1998,\n\tRIF2_D0_A_MARK = 1999,\n\tIP12_23_20_MARK = 2000,\n\tCTS1_N_MARK = 2001,\n\tHCTS1_N_A_MARK = 2002,\n\tMSIOF1_RXD_B_MARK = 2003,\n\tTS_SDEN1_C_MARK = 2004,\n\tSTP_ISEN_1_C_MARK = 2005,\n\tRIF1_D0_B_MARK = 2006,\n\tADIDATA_MARK = 2007,\n\tIP13_23_20_MARK = 2008,\n\tHCTS0_N_MARK = 2009,\n\tRX2_B_MARK = 2010,\n\tMSIOF1_SYNC_D_MARK = 2011,\n\tSSI_SCK9_A_MARK = 2012,\n\tTS_SPSYNC0_D_MARK = 2013,\n\tSTP_ISSYNC_0_D_MARK = 2014,\n\tRIF0_SYNC_C_MARK = 2015,\n\tAUDIO_CLKOUT1_A_MARK = 2016,\n\tIP14_23_20_MARK = 2017,\n\tSSI_SCK01239_MARK = 2018,\n\tMSIOF1_TXD_F_MARK = 2019,\n\tIP15_23_20_MARK = 2020,\n\tSSI_SCK4_MARK = 2021,\n\tHRX2_A_MARK = 2022,\n\tMSIOF1_SCK_A_MARK = 2023,\n\tTS_SDAT0_A_MARK = 2024,\n\tSTP_ISD_0_A_MARK = 2025,\n\tRIF0_CLK_A_MARK = 2026,\n\tRIF2_CLK_A_MARK = 2027,\n\tIP12_27_24_MARK = 2028,\n\tRTS1_N_MARK = 2029,\n\tHRTS1_N_A_MARK = 2030,\n\tMSIOF1_TXD_B_MARK = 2031,\n\tTS_SDAT1_C_MARK = 2032,\n\tSTP_ISD_1_C_MARK = 2033,\n\tRIF1_D1_B_MARK = 2034,\n\tADICHS0_MARK = 2035,\n\tIP13_27_24_MARK = 2036,\n\tHRTS0_N_MARK = 2037,\n\tTX2_B_MARK = 2038,\n\tMSIOF1_SS1_D_MARK = 2039,\n\tSSI_WS9_A_MARK = 2040,\n\tSTP_IVCXO27_0_D_MARK = 2041,\n\tBPFCLK_A_MARK = 2042,\n\tAUDIO_CLKOUT2_A_MARK = 2043,\n\tIP14_27_24_MARK = 2044,\n\tSSI_WS01239_MARK = 2045,\n\tMSIOF1_SS1_F_MARK = 2046,\n\tIP15_27_24_MARK = 2047,\n\tSSI_WS4_MARK = 2048,\n\tHTX2_A_MARK = 2049,\n\tMSIOF1_SYNC_A_MARK = 2050,\n\tTS_SDEN0_A_MARK = 2051,\n\tSTP_ISEN_0_A_MARK = 2052,\n\tRIF0_SYNC_A_MARK = 2053,\n\tRIF2_SYNC_A_MARK = 2054,\n\tIP12_31_28_MARK = 2055,\n\tSCK2_MARK = 2056,\n\tSCIF_CLK_B_MARK = 2057,\n\tMSIOF1_SCK_B_MARK = 2058,\n\tTS_SCK1_C_MARK = 2059,\n\tSTP_ISCLK_1_C_MARK = 2060,\n\tRIF1_CLK_B_MARK = 2061,\n\tADICLK_MARK = 2062,\n\tIP13_31_28_MARK = 2063,\n\tMSIOF0_SYNC_MARK = 2064,\n\tAUDIO_CLKOUT_A_MARK = 2065,\n\tTX5_B_MARK = 2066,\n\tBPFCLK_D_MARK = 2067,\n\tIP14_31_28_MARK = 2068,\n\tSSI_SDATA0_MARK = 2069,\n\tMSIOF1_SS2_F_MARK = 2070,\n\tIP15_31_28_MARK = 2071,\n\tSSI_SDATA4_MARK = 2072,\n\tHSCK2_A_MARK = 2073,\n\tMSIOF1_RXD_A_MARK = 2074,\n\tTS_SPSYNC0_A_MARK = 2075,\n\tSTP_ISSYNC_0_A_MARK = 2076,\n\tRIF0_D0_A_MARK = 2077,\n\tRIF2_D1_A_MARK = 2078,\n\tIP16_3_0_MARK = 2079,\n\tSSI_SCK6_MARK = 2080,\n\tSIM0_RST_D_MARK = 2081,\n\tIP17_3_0_MARK = 2082,\n\tAUDIO_CLKA_A_MARK = 2083,\n\tIP18_3_0_MARK = 2084,\n\tGP6_30_MARK = 2085,\n\tAUDIO_CLKOUT2_B_MARK = 2086,\n\tSSI_SCK9_B_MARK = 2087,\n\tTS_SDEN0_E_MARK = 2088,\n\tSTP_ISEN_0_E_MARK = 2089,\n\tRIF2_D0_B_MARK = 2090,\n\tTPU0TO2_MARK = 2091,\n\tFMCLK_C_MARK = 2092,\n\tFMCLK_D_MARK = 2093,\n\tIP16_7_4_MARK = 2094,\n\tSSI_WS6_MARK = 2095,\n\tSIM0_D_D_MARK = 2096,\n\tIP17_7_4_MARK = 2097,\n\tAUDIO_CLKB_B_MARK = 2098,\n\tSCIF_CLK_A_MARK = 2099,\n\tSTP_IVCXO27_1_D_MARK = 2100,\n\tREMOCON_A_MARK = 2101,\n\tTCLK1_A_MARK = 2102,\n\tIP18_7_4_MARK = 2103,\n\tGP6_31_MARK = 2104,\n\tAUDIO_CLKOUT3_B_MARK = 2105,\n\tSSI_WS9_B_MARK = 2106,\n\tTS_SPSYNC0_E_MARK = 2107,\n\tSTP_ISSYNC_0_E_MARK = 2108,\n\tRIF2_D1_B_MARK = 2109,\n\tTPU0TO3_MARK = 2110,\n\tFMIN_C_MARK = 2111,\n\tFMIN_D_MARK = 2112,\n\tIP16_11_8_MARK = 2113,\n\tSSI_SDATA6_MARK = 2114,\n\tSIM0_CLK_D_MARK = 2115,\n\tIP17_11_8_MARK = 2116,\n\tUSB0_PWEN_MARK = 2117,\n\tSIM0_RST_C_MARK = 2118,\n\tTS_SCK1_D_MARK = 2119,\n\tSTP_ISCLK_1_D_MARK = 2120,\n\tBPFCLK_B_MARK = 2121,\n\tRIF3_CLK_B_MARK = 2122,\n\tHSCK2_C_MARK = 2123,\n\tIP16_15_12_MARK = 2124,\n\tSSI_SCK78_MARK = 2125,\n\tHRX2_B_MARK = 2126,\n\tMSIOF1_SCK_C_MARK = 2127,\n\tTS_SCK1_A_MARK = 2128,\n\tSTP_ISCLK_1_A_MARK = 2129,\n\tRIF1_CLK_A_MARK = 2130,\n\tRIF3_CLK_A_MARK = 2131,\n\tIP17_15_12_MARK = 2132,\n\tUSB0_OVC_MARK = 2133,\n\tSIM0_D_C_MARK = 2134,\n\tTS_SDAT1_D_MARK = 2135,\n\tSTP_ISD_1_D_MARK = 2136,\n\tRIF3_SYNC_B_MARK = 2137,\n\tHRX2_C_MARK = 2138,\n\tIP16_19_16_MARK = 2139,\n\tSSI_WS78_MARK = 2140,\n\tHTX2_B_MARK = 2141,\n\tMSIOF1_SYNC_C_MARK = 2142,\n\tTS_SDAT1_A_MARK = 2143,\n\tSTP_ISD_1_A_MARK = 2144,\n\tRIF1_SYNC_A_MARK = 2145,\n\tRIF3_SYNC_A_MARK = 2146,\n\tIP17_19_16_MARK = 2147,\n\tUSB1_PWEN_MARK = 2148,\n\tSIM0_CLK_C_MARK = 2149,\n\tSSI_SCK1_A_MARK = 2150,\n\tTS_SCK0_E_MARK = 2151,\n\tSTP_ISCLK_0_E_MARK = 2152,\n\tFMCLK_B_MARK = 2153,\n\tRIF2_CLK_B_MARK = 2154,\n\tSPEEDIN_A_MARK = 2155,\n\tHTX2_C_MARK = 2156,\n\tIP16_23_20_MARK = 2157,\n\tSSI_SDATA7_MARK = 2158,\n\tHCTS2_N_B_MARK = 2159,\n\tMSIOF1_RXD_C_MARK = 2160,\n\tTS_SDEN1_A_MARK = 2161,\n\tSTP_ISEN_1_A_MARK = 2162,\n\tRIF1_D0_A_MARK = 2163,\n\tRIF3_D0_A_MARK = 2164,\n\tTCLK2_A_MARK = 2165,\n\tIP17_23_20_MARK = 2166,\n\tUSB1_OVC_MARK = 2167,\n\tMSIOF1_SS2_C_MARK = 2168,\n\tSSI_WS1_A_MARK = 2169,\n\tTS_SDAT0_E_MARK = 2170,\n\tSTP_ISD_0_E_MARK = 2171,\n\tFMIN_B_MARK = 2172,\n\tRIF2_SYNC_B_MARK = 2173,\n\tREMOCON_B_MARK = 2174,\n\tHCTS2_N_C_MARK = 2175,\n\tIP16_27_24_MARK = 2176,\n\tSSI_SDATA8_MARK = 2177,\n\tHRTS2_N_B_MARK = 2178,\n\tMSIOF1_TXD_C_MARK = 2179,\n\tTS_SPSYNC1_A_MARK = 2180,\n\tSTP_ISSYNC_1_A_MARK = 2181,\n\tRIF1_D1_A_MARK = 2182,\n\tRIF3_D1_A_MARK = 2183,\n\tIP17_27_24_MARK = 2184,\n\tUSB30_PWEN_MARK = 2185,\n\tAUDIO_CLKOUT_B_MARK = 2186,\n\tSSI_SCK2_B_MARK = 2187,\n\tTS_SDEN1_D_MARK = 2188,\n\tSTP_ISEN_1_D_MARK = 2189,\n\tSTP_OPWM_0_E_MARK = 2190,\n\tRIF3_D0_B_MARK = 2191,\n\tTCLK2_B_MARK = 2192,\n\tTPU0TO0_MARK = 2193,\n\tBPFCLK_C_MARK = 2194,\n\tHRTS2_N_C_MARK = 2195,\n\tIP16_31_28_MARK = 2196,\n\tSSI_SDATA9_A_MARK = 2197,\n\tHSCK2_B_MARK = 2198,\n\tMSIOF1_SS1_C_MARK = 2199,\n\tHSCK1_A_MARK = 2200,\n\tSSI_WS1_B_MARK = 2201,\n\tSCK1_MARK = 2202,\n\tSTP_IVCXO27_1_A_MARK = 2203,\n\tSCK5_A_MARK = 2204,\n\tIP17_31_28_MARK = 2205,\n\tUSB30_OVC_MARK = 2206,\n\tAUDIO_CLKOUT1_B_MARK = 2207,\n\tSSI_WS2_B_MARK = 2208,\n\tTS_SPSYNC1_D_MARK = 2209,\n\tSTP_ISSYNC_1_D_MARK = 2210,\n\tSTP_IVCXO27_0_E_MARK = 2211,\n\tRIF3_D1_B_MARK = 2212,\n\tFSO_TOE_N_MARK = 2213,\n\tTPU0TO1_MARK = 2214,\n\tSEL_MSIOF3_0_MARK = 2215,\n\tSEL_MSIOF3_1_MARK = 2216,\n\tSEL_MSIOF3_2_MARK = 2217,\n\tSEL_MSIOF3_3_MARK = 2218,\n\tSEL_MSIOF3_4_MARK = 2219,\n\tSEL_TSIF1_0_MARK = 2220,\n\tSEL_TSIF1_1_MARK = 2221,\n\tSEL_TSIF1_2_MARK = 2222,\n\tSEL_TSIF1_3_MARK = 2223,\n\tI2C_SEL_5_0_MARK = 2224,\n\tI2C_SEL_5_1_MARK = 2225,\n\tI2C_SEL_3_0_MARK = 2226,\n\tI2C_SEL_3_1_MARK = 2227,\n\tSEL_TSIF0_0_MARK = 2228,\n\tSEL_TSIF0_1_MARK = 2229,\n\tSEL_TSIF0_2_MARK = 2230,\n\tSEL_TSIF0_3_MARK = 2231,\n\tSEL_TSIF0_4_MARK = 2232,\n\tI2C_SEL_0_0_MARK = 2233,\n\tI2C_SEL_0_1_MARK = 2234,\n\tSEL_MSIOF2_0_MARK = 2235,\n\tSEL_MSIOF2_1_MARK = 2236,\n\tSEL_MSIOF2_2_MARK = 2237,\n\tSEL_MSIOF2_3_MARK = 2238,\n\tSEL_FM_0_MARK = 2239,\n\tSEL_FM_1_MARK = 2240,\n\tSEL_FM_2_MARK = 2241,\n\tSEL_FM_3_MARK = 2242,\n\tSEL_MSIOF1_0_MARK = 2243,\n\tSEL_MSIOF1_1_MARK = 2244,\n\tSEL_MSIOF1_2_MARK = 2245,\n\tSEL_MSIOF1_3_MARK = 2246,\n\tSEL_MSIOF1_4_MARK = 2247,\n\tSEL_MSIOF1_5_MARK = 2248,\n\tSEL_MSIOF1_6_MARK = 2249,\n\tSEL_TIMER_TMU_0_MARK = 2250,\n\tSEL_TIMER_TMU_1_MARK = 2251,\n\tSEL_SCIF5_0_MARK = 2252,\n\tSEL_SCIF5_1_MARK = 2253,\n\tSEL_SSP1_1_0_MARK = 2254,\n\tSEL_SSP1_1_1_MARK = 2255,\n\tSEL_SSP1_1_2_MARK = 2256,\n\tSEL_SSP1_1_3_MARK = 2257,\n\tSEL_I2C6_0_MARK = 2258,\n\tSEL_I2C6_1_MARK = 2259,\n\tSEL_I2C6_2_MARK = 2260,\n\tSEL_LBSC_0_MARK = 2261,\n\tSEL_LBSC_1_MARK = 2262,\n\tSEL_SSP1_0_0_MARK = 2263,\n\tSEL_SSP1_0_1_MARK = 2264,\n\tSEL_SSP1_0_2_MARK = 2265,\n\tSEL_SSP1_0_3_MARK = 2266,\n\tSEL_SSP1_0_4_MARK = 2267,\n\tSEL_IEBUS_0_MARK = 2268,\n\tSEL_IEBUS_1_MARK = 2269,\n\tSEL_NDF_0_MARK = 2270,\n\tSEL_NDF_1_MARK = 2271,\n\tSEL_I2C2_0_MARK = 2272,\n\tSEL_I2C2_1_MARK = 2273,\n\tSEL_SSI2_0_MARK = 2274,\n\tSEL_SSI2_1_MARK = 2275,\n\tSEL_I2C1_0_MARK = 2276,\n\tSEL_I2C1_1_MARK = 2277,\n\tSEL_SSI1_0_MARK = 2278,\n\tSEL_SSI1_1_MARK = 2279,\n\tSEL_SSI9_0_MARK = 2280,\n\tSEL_SSI9_1_MARK = 2281,\n\tSEL_HSCIF4_0_MARK = 2282,\n\tSEL_HSCIF4_1_MARK = 2283,\n\tSEL_SPEED_PULSE_0_MARK = 2284,\n\tSEL_SPEED_PULSE_1_MARK = 2285,\n\tSEL_TIMER_TMU2_0_MARK = 2286,\n\tSEL_TIMER_TMU2_1_MARK = 2287,\n\tSEL_HSCIF3_0_MARK = 2288,\n\tSEL_HSCIF3_1_MARK = 2289,\n\tSEL_HSCIF3_2_MARK = 2290,\n\tSEL_HSCIF3_3_MARK = 2291,\n\tSEL_SIMCARD_0_MARK = 2292,\n\tSEL_SIMCARD_1_MARK = 2293,\n\tSEL_SIMCARD_2_MARK = 2294,\n\tSEL_SIMCARD_3_MARK = 2295,\n\tSEL_ADGB_0_MARK = 2296,\n\tSEL_ADGB_1_MARK = 2297,\n\tSEL_ADGC_0_MARK = 2298,\n\tSEL_ADGC_1_MARK = 2299,\n\tSEL_HSCIF1_0_MARK = 2300,\n\tSEL_HSCIF1_1_MARK = 2301,\n\tSEL_SDHI2_0_MARK = 2302,\n\tSEL_SDHI2_1_MARK = 2303,\n\tSEL_SCIF4_0_MARK = 2304,\n\tSEL_SCIF4_1_MARK = 2305,\n\tSEL_SCIF4_2_MARK = 2306,\n\tSEL_HSCIF2_0_MARK = 2307,\n\tSEL_HSCIF2_1_MARK = 2308,\n\tSEL_HSCIF2_2_MARK = 2309,\n\tSEL_SCIF3_0_MARK = 2310,\n\tSEL_SCIF3_1_MARK = 2311,\n\tSEL_ETHERAVB_0_MARK = 2312,\n\tSEL_ETHERAVB_1_MARK = 2313,\n\tSEL_SCIF2_0_MARK = 2314,\n\tSEL_SCIF2_1_MARK = 2315,\n\tSEL_DRIF3_0_MARK = 2316,\n\tSEL_DRIF3_1_MARK = 2317,\n\tSEL_SCIF1_0_MARK = 2318,\n\tSEL_SCIF1_1_MARK = 2319,\n\tSEL_DRIF2_0_MARK = 2320,\n\tSEL_DRIF2_1_MARK = 2321,\n\tSEL_SCIF_0_MARK = 2322,\n\tSEL_SCIF_1_MARK = 2323,\n\tSEL_DRIF1_0_MARK = 2324,\n\tSEL_DRIF1_1_MARK = 2325,\n\tSEL_DRIF1_2_MARK = 2326,\n\tSEL_REMOCON_0_MARK = 2327,\n\tSEL_REMOCON_1_MARK = 2328,\n\tSEL_DRIF0_0_MARK = 2329,\n\tSEL_DRIF0_1_MARK = 2330,\n\tSEL_DRIF0_2_MARK = 2331,\n\tSEL_RCAN0_0_MARK = 2332,\n\tSEL_RCAN0_1_MARK = 2333,\n\tSEL_CANFD0_0_MARK = 2334,\n\tSEL_CANFD0_1_MARK = 2335,\n\tSEL_PWM6_0_MARK = 2336,\n\tSEL_PWM6_1_MARK = 2337,\n\tSEL_ADGA_0_MARK = 2338,\n\tSEL_ADGA_1_MARK = 2339,\n\tSEL_ADGA_2_MARK = 2340,\n\tSEL_ADGA_3_MARK = 2341,\n\tSEL_PWM5_0_MARK = 2342,\n\tSEL_PWM5_1_MARK = 2343,\n\tSEL_PWM4_0_MARK = 2344,\n\tSEL_PWM4_1_MARK = 2345,\n\tSEL_PWM3_0_MARK = 2346,\n\tSEL_PWM3_1_MARK = 2347,\n\tSEL_PWM2_0_MARK = 2348,\n\tSEL_PWM2_1_MARK = 2349,\n\tSEL_PWM1_0_MARK = 2350,\n\tSEL_PWM1_1_MARK = 2351,\n\tSEL_VIN4_0_MARK = 2352,\n\tSEL_VIN4_1_MARK = 2353,\n\tQSPI0_SPCLK_MARK = 2354,\n\tQSPI0_SSL_MARK = 2355,\n\tQSPI0_MOSI_IO0_MARK = 2356,\n\tQSPI0_MISO_IO1_MARK = 2357,\n\tQSPI0_IO2_MARK = 2358,\n\tQSPI0_IO3_MARK = 2359,\n\tQSPI1_SPCLK_MARK = 2360,\n\tQSPI1_SSL_MARK = 2361,\n\tQSPI1_MOSI_IO0_MARK = 2362,\n\tQSPI1_MISO_IO1_MARK = 2363,\n\tQSPI1_IO2_MARK = 2364,\n\tQSPI1_IO3_MARK = 2365,\n\tRPC_INT_MARK = 2366,\n\tRPC_WP_MARK = 2367,\n\tRPC_RESET_MARK = 2368,\n\tAVB_TX_CTL_MARK = 2369,\n\tAVB_TXC_MARK = 2370,\n\tAVB_TD0_MARK = 2371,\n\tAVB_TD1_MARK = 2372,\n\tAVB_TD2_MARK = 2373,\n\tAVB_TD3_MARK = 2374,\n\tAVB_RX_CTL_MARK = 2375,\n\tAVB_RXC_MARK = 2376,\n\tAVB_RD0_MARK = 2377,\n\tAVB_RD1_MARK = 2378,\n\tAVB_RD2_MARK = 2379,\n\tAVB_RD3_MARK = 2380,\n\tAVB_TXCREFCLK_MARK = 2381,\n\tAVB_MDIO_MARK = 2382,\n\tPRESETOUT_MARK = 2383,\n\tDU_DOTCLKIN0_MARK = 2384,\n\tDU_DOTCLKIN1_MARK = 2385,\n\tDU_DOTCLKIN2_MARK = 2386,\n\tTMS_MARK = 2387,\n\tTDO_MARK = 2388,\n\tASEBRK_MARK = 2389,\n\tMLB_REF_MARK = 2390,\n\tTDI_MARK = 2391,\n\tTCK_MARK = 2392,\n\tTRST_MARK = 2393,\n\tEXTALR_MARK = 2394,\n\tSCL0_MARK = 2395,\n\tSDA0_MARK = 2396,\n\tSCL3_MARK = 2397,\n\tSDA3_MARK = 2398,\n\tSCL5_MARK = 2399,\n\tSDA5_MARK = 2400,\n\tPINMUX_MARK_END = 2401,\n};\n\nenum {\n\tPINMUX_RESERVED___2 = 0,\n\tPINMUX_DATA_BEGIN___2 = 1,\n\tGP_0_0_DATA___2 = 2,\n\tGP_0_1_DATA___2 = 3,\n\tGP_0_2_DATA___2 = 4,\n\tGP_0_3_DATA___2 = 5,\n\tGP_0_4_DATA___2 = 6,\n\tGP_0_5_DATA___2 = 7,\n\tGP_0_6_DATA___2 = 8,\n\tGP_0_7_DATA___2 = 9,\n\tGP_0_8_DATA___2 = 10,\n\tGP_0_9_DATA___2 = 11,\n\tGP_0_10_DATA___2 = 12,\n\tGP_0_11_DATA___2 = 13,\n\tGP_0_12_DATA___2 = 14,\n\tGP_0_13_DATA___2 = 15,\n\tGP_0_14_DATA___2 = 16,\n\tGP_0_15_DATA___2 = 17,\n\tGP_1_0_DATA___2 = 18,\n\tGP_1_1_DATA___2 = 19,\n\tGP_1_2_DATA___2 = 20,\n\tGP_1_3_DATA___2 = 21,\n\tGP_1_4_DATA___2 = 22,\n\tGP_1_5_DATA___2 = 23,\n\tGP_1_6_DATA___2 = 24,\n\tGP_1_7_DATA___2 = 25,\n\tGP_1_8_DATA___2 = 26,\n\tGP_1_9_DATA___2 = 27,\n\tGP_1_10_DATA___2 = 28,\n\tGP_1_11_DATA___2 = 29,\n\tGP_1_12_DATA___2 = 30,\n\tGP_1_13_DATA___2 = 31,\n\tGP_1_14_DATA___2 = 32,\n\tGP_1_15_DATA___2 = 33,\n\tGP_1_16_DATA___2 = 34,\n\tGP_1_17_DATA___2 = 35,\n\tGP_1_18_DATA___2 = 36,\n\tGP_1_19_DATA___2 = 37,\n\tGP_1_20_DATA___2 = 38,\n\tGP_1_21_DATA___2 = 39,\n\tGP_1_22_DATA___2 = 40,\n\tGP_1_23_DATA___2 = 41,\n\tGP_1_24_DATA___2 = 42,\n\tGP_1_25_DATA___2 = 43,\n\tGP_1_26_DATA___2 = 44,\n\tGP_1_27_DATA___2 = 45,\n\tGP_1_28_DATA___2 = 46,\n\tGP_2_0_DATA___2 = 47,\n\tGP_2_1_DATA___2 = 48,\n\tGP_2_2_DATA___2 = 49,\n\tGP_2_3_DATA___2 = 50,\n\tGP_2_4_DATA___2 = 51,\n\tGP_2_5_DATA___2 = 52,\n\tGP_2_6_DATA___2 = 53,\n\tGP_2_7_DATA___2 = 54,\n\tGP_2_8_DATA___2 = 55,\n\tGP_2_9_DATA___2 = 56,\n\tGP_2_10_DATA___2 = 57,\n\tGP_2_11_DATA___2 = 58,\n\tGP_2_12_DATA___2 = 59,\n\tGP_2_13_DATA___2 = 60,\n\tGP_2_14_DATA___2 = 61,\n\tGP_3_0_DATA___2 = 62,\n\tGP_3_1_DATA___2 = 63,\n\tGP_3_2_DATA___2 = 64,\n\tGP_3_3_DATA___2 = 65,\n\tGP_3_4_DATA___2 = 66,\n\tGP_3_5_DATA___2 = 67,\n\tGP_3_6_DATA___2 = 68,\n\tGP_3_7_DATA___2 = 69,\n\tGP_3_8_DATA___2 = 70,\n\tGP_3_9_DATA___2 = 71,\n\tGP_3_10_DATA___2 = 72,\n\tGP_3_11_DATA___2 = 73,\n\tGP_3_12_DATA___2 = 74,\n\tGP_3_13_DATA___2 = 75,\n\tGP_3_14_DATA___2 = 76,\n\tGP_3_15_DATA___2 = 77,\n\tGP_4_0_DATA___2 = 78,\n\tGP_4_1_DATA___2 = 79,\n\tGP_4_2_DATA___2 = 80,\n\tGP_4_3_DATA___2 = 81,\n\tGP_4_4_DATA___2 = 82,\n\tGP_4_5_DATA___2 = 83,\n\tGP_4_6_DATA___2 = 84,\n\tGP_4_7_DATA___2 = 85,\n\tGP_4_8_DATA___2 = 86,\n\tGP_4_9_DATA___2 = 87,\n\tGP_4_10_DATA___2 = 88,\n\tGP_4_11_DATA___2 = 89,\n\tGP_4_12_DATA___2 = 90,\n\tGP_4_13_DATA___2 = 91,\n\tGP_4_14_DATA___2 = 92,\n\tGP_4_15_DATA___2 = 93,\n\tGP_4_16_DATA___2 = 94,\n\tGP_4_17_DATA___2 = 95,\n\tGP_5_0_DATA___2 = 96,\n\tGP_5_1_DATA___2 = 97,\n\tGP_5_2_DATA___2 = 98,\n\tGP_5_3_DATA___2 = 99,\n\tGP_5_4_DATA___2 = 100,\n\tGP_5_5_DATA___2 = 101,\n\tGP_5_6_DATA___2 = 102,\n\tGP_5_7_DATA___2 = 103,\n\tGP_5_8_DATA___2 = 104,\n\tGP_5_9_DATA___2 = 105,\n\tGP_5_10_DATA___2 = 106,\n\tGP_5_11_DATA___2 = 107,\n\tGP_5_12_DATA___2 = 108,\n\tGP_5_13_DATA___2 = 109,\n\tGP_5_14_DATA___2 = 110,\n\tGP_5_15_DATA___2 = 111,\n\tGP_5_16_DATA___2 = 112,\n\tGP_5_17_DATA___2 = 113,\n\tGP_5_18_DATA___2 = 114,\n\tGP_5_19_DATA___2 = 115,\n\tGP_5_20_DATA___2 = 116,\n\tGP_5_21_DATA___2 = 117,\n\tGP_5_22_DATA___2 = 118,\n\tGP_5_23_DATA___2 = 119,\n\tGP_5_24_DATA___2 = 120,\n\tGP_5_25_DATA___2 = 121,\n\tGP_6_0_DATA___2 = 122,\n\tGP_6_1_DATA___2 = 123,\n\tGP_6_2_DATA___2 = 124,\n\tGP_6_3_DATA___2 = 125,\n\tGP_6_4_DATA___2 = 126,\n\tGP_6_5_DATA___2 = 127,\n\tGP_6_6_DATA___2 = 128,\n\tGP_6_7_DATA___2 = 129,\n\tGP_6_8_DATA___2 = 130,\n\tGP_6_9_DATA___2 = 131,\n\tGP_6_10_DATA___2 = 132,\n\tGP_6_11_DATA___2 = 133,\n\tGP_6_12_DATA___2 = 134,\n\tGP_6_13_DATA___2 = 135,\n\tGP_6_14_DATA___2 = 136,\n\tGP_6_15_DATA___2 = 137,\n\tGP_6_16_DATA___2 = 138,\n\tGP_6_17_DATA___2 = 139,\n\tGP_6_18_DATA___2 = 140,\n\tGP_6_19_DATA___2 = 141,\n\tGP_6_20_DATA___2 = 142,\n\tGP_6_21_DATA___2 = 143,\n\tGP_6_22_DATA___2 = 144,\n\tGP_6_23_DATA___2 = 145,\n\tGP_6_24_DATA___2 = 146,\n\tGP_6_25_DATA___2 = 147,\n\tGP_6_26_DATA___2 = 148,\n\tGP_6_27_DATA___2 = 149,\n\tGP_6_28_DATA___2 = 150,\n\tGP_6_29_DATA___2 = 151,\n\tGP_6_30_DATA___2 = 152,\n\tGP_6_31_DATA___2 = 153,\n\tGP_7_0_DATA___2 = 154,\n\tGP_7_1_DATA___2 = 155,\n\tGP_7_2_DATA___2 = 156,\n\tGP_7_3_DATA___2 = 157,\n\tPINMUX_DATA_END___2 = 158,\n\tPINMUX_FUNCTION_BEGIN___2 = 159,\n\tGP_0_0_FN___2 = 160,\n\tGP_0_1_FN___2 = 161,\n\tGP_0_2_FN___2 = 162,\n\tGP_0_3_FN___2 = 163,\n\tGP_0_4_FN___2 = 164,\n\tGP_0_5_FN___2 = 165,\n\tGP_0_6_FN___2 = 166,\n\tGP_0_7_FN___2 = 167,\n\tGP_0_8_FN___2 = 168,\n\tGP_0_9_FN___2 = 169,\n\tGP_0_10_FN___2 = 170,\n\tGP_0_11_FN___2 = 171,\n\tGP_0_12_FN___2 = 172,\n\tGP_0_13_FN___2 = 173,\n\tGP_0_14_FN___2 = 174,\n\tGP_0_15_FN___2 = 175,\n\tGP_1_0_FN___2 = 176,\n\tGP_1_1_FN___2 = 177,\n\tGP_1_2_FN___2 = 178,\n\tGP_1_3_FN___2 = 179,\n\tGP_1_4_FN___2 = 180,\n\tGP_1_5_FN___2 = 181,\n\tGP_1_6_FN___2 = 182,\n\tGP_1_7_FN___2 = 183,\n\tGP_1_8_FN___2 = 184,\n\tGP_1_9_FN___2 = 185,\n\tGP_1_10_FN___2 = 186,\n\tGP_1_11_FN___2 = 187,\n\tGP_1_12_FN___2 = 188,\n\tGP_1_13_FN___2 = 189,\n\tGP_1_14_FN___2 = 190,\n\tGP_1_15_FN___2 = 191,\n\tGP_1_16_FN___2 = 192,\n\tGP_1_17_FN___2 = 193,\n\tGP_1_18_FN___2 = 194,\n\tGP_1_19_FN___2 = 195,\n\tGP_1_20_FN___2 = 196,\n\tGP_1_21_FN___2 = 197,\n\tGP_1_22_FN___2 = 198,\n\tGP_1_23_FN___2 = 199,\n\tGP_1_24_FN___2 = 200,\n\tGP_1_25_FN___2 = 201,\n\tGP_1_26_FN___2 = 202,\n\tGP_1_27_FN___2 = 203,\n\tGP_1_28_FN___2 = 204,\n\tGP_2_0_FN___2 = 205,\n\tGP_2_1_FN___2 = 206,\n\tGP_2_2_FN___2 = 207,\n\tGP_2_3_FN___2 = 208,\n\tGP_2_4_FN___2 = 209,\n\tGP_2_5_FN___2 = 210,\n\tGP_2_6_FN___2 = 211,\n\tGP_2_7_FN___2 = 212,\n\tGP_2_8_FN___2 = 213,\n\tGP_2_9_FN___2 = 214,\n\tGP_2_10_FN___2 = 215,\n\tGP_2_11_FN___2 = 216,\n\tGP_2_12_FN___2 = 217,\n\tGP_2_13_FN___2 = 218,\n\tGP_2_14_FN___2 = 219,\n\tGP_3_0_FN___2 = 220,\n\tGP_3_1_FN___2 = 221,\n\tGP_3_2_FN___2 = 222,\n\tGP_3_3_FN___2 = 223,\n\tGP_3_4_FN___2 = 224,\n\tGP_3_5_FN___2 = 225,\n\tGP_3_6_FN___2 = 226,\n\tGP_3_7_FN___2 = 227,\n\tGP_3_8_FN___2 = 228,\n\tGP_3_9_FN___2 = 229,\n\tGP_3_10_FN___2 = 230,\n\tGP_3_11_FN___2 = 231,\n\tGP_3_12_FN___2 = 232,\n\tGP_3_13_FN___2 = 233,\n\tGP_3_14_FN___2 = 234,\n\tGP_3_15_FN___2 = 235,\n\tGP_4_0_FN___2 = 236,\n\tGP_4_1_FN___2 = 237,\n\tGP_4_2_FN___2 = 238,\n\tGP_4_3_FN___2 = 239,\n\tGP_4_4_FN___2 = 240,\n\tGP_4_5_FN___2 = 241,\n\tGP_4_6_FN___2 = 242,\n\tGP_4_7_FN___2 = 243,\n\tGP_4_8_FN___2 = 244,\n\tGP_4_9_FN___2 = 245,\n\tGP_4_10_FN___2 = 246,\n\tGP_4_11_FN___2 = 247,\n\tGP_4_12_FN___2 = 248,\n\tGP_4_13_FN___2 = 249,\n\tGP_4_14_FN___2 = 250,\n\tGP_4_15_FN___2 = 251,\n\tGP_4_16_FN___2 = 252,\n\tGP_4_17_FN___2 = 253,\n\tGP_5_0_FN___2 = 254,\n\tGP_5_1_FN___2 = 255,\n\tGP_5_2_FN___2 = 256,\n\tGP_5_3_FN___2 = 257,\n\tGP_5_4_FN___2 = 258,\n\tGP_5_5_FN___2 = 259,\n\tGP_5_6_FN___2 = 260,\n\tGP_5_7_FN___2 = 261,\n\tGP_5_8_FN___2 = 262,\n\tGP_5_9_FN___2 = 263,\n\tGP_5_10_FN___2 = 264,\n\tGP_5_11_FN___2 = 265,\n\tGP_5_12_FN___2 = 266,\n\tGP_5_13_FN___2 = 267,\n\tGP_5_14_FN___2 = 268,\n\tGP_5_15_FN___2 = 269,\n\tGP_5_16_FN___2 = 270,\n\tGP_5_17_FN___2 = 271,\n\tGP_5_18_FN___2 = 272,\n\tGP_5_19_FN___2 = 273,\n\tGP_5_20_FN___2 = 274,\n\tGP_5_21_FN___2 = 275,\n\tGP_5_22_FN___2 = 276,\n\tGP_5_23_FN___2 = 277,\n\tGP_5_24_FN___2 = 278,\n\tGP_5_25_FN___2 = 279,\n\tGP_6_0_FN___2 = 280,\n\tGP_6_1_FN___2 = 281,\n\tGP_6_2_FN___2 = 282,\n\tGP_6_3_FN___2 = 283,\n\tGP_6_4_FN___2 = 284,\n\tGP_6_5_FN___2 = 285,\n\tGP_6_6_FN___2 = 286,\n\tGP_6_7_FN___2 = 287,\n\tGP_6_8_FN___2 = 288,\n\tGP_6_9_FN___2 = 289,\n\tGP_6_10_FN___2 = 290,\n\tGP_6_11_FN___2 = 291,\n\tGP_6_12_FN___2 = 292,\n\tGP_6_13_FN___2 = 293,\n\tGP_6_14_FN___2 = 294,\n\tGP_6_15_FN___2 = 295,\n\tGP_6_16_FN___2 = 296,\n\tGP_6_17_FN___2 = 297,\n\tGP_6_18_FN___2 = 298,\n\tGP_6_19_FN___2 = 299,\n\tGP_6_20_FN___2 = 300,\n\tGP_6_21_FN___2 = 301,\n\tGP_6_22_FN___2 = 302,\n\tGP_6_23_FN___2 = 303,\n\tGP_6_24_FN___2 = 304,\n\tGP_6_25_FN___2 = 305,\n\tGP_6_26_FN___2 = 306,\n\tGP_6_27_FN___2 = 307,\n\tGP_6_28_FN___2 = 308,\n\tGP_6_29_FN___2 = 309,\n\tGP_6_30_FN___2 = 310,\n\tGP_6_31_FN___2 = 311,\n\tGP_7_0_FN___2 = 312,\n\tGP_7_1_FN___2 = 313,\n\tGP_7_2_FN___2 = 314,\n\tGP_7_3_FN___2 = 315,\n\tFN_CLKOUT___2 = 316,\n\tFN_MSIOF0_RXD___2 = 317,\n\tFN_MSIOF0_TXD___2 = 318,\n\tFN_MSIOF0_SCK___2 = 319,\n\tFN_SSI_SDATA5___2 = 320,\n\tFN_SSI_WS5___2 = 321,\n\tFN_SSI_SCK5___2 = 322,\n\tFN_GP7_03___2 = 323,\n\tFN_GP7_02___2 = 324,\n\tFN_AVS2___2 = 325,\n\tFN_AVS1___2 = 326,\n\tFN_IP0_3_0___2 = 327,\n\tFN_AVB_MDC___2 = 328,\n\tFN_MSIOF2_SS2_C___2 = 329,\n\tFN_IP1_3_0___2 = 330,\n\tFN_IRQ2___2 = 331,\n\tFN_QCPV_QDE___2 = 332,\n\tFN_DU_EXODDF_DU_ODDF_DISP_CDE___2 = 333,\n\tFN_VI4_DATA2_B___2 = 334,\n\tFN_MSIOF3_SYNC_E___2 = 335,\n\tFN_PWM3_B___2 = 336,\n\tFN_IP2_3_0___2 = 337,\n\tFN_A1___2 = 338,\n\tFN_LCDOUT17___2 = 339,\n\tFN_MSIOF3_TXD_B___2 = 340,\n\tFN_VI4_DATA9___2 = 341,\n\tFN_DU_DB1___2 = 342,\n\tFN_PWM4_A___2 = 343,\n\tFN_IP3_3_0___2 = 344,\n\tFN_A9___2 = 345,\n\tFN_MSIOF2_SCK_A___2 = 346,\n\tFN_CTS4_N_B___2 = 347,\n\tFN_VI5_VSYNC_N___2 = 348,\n\tFN_IP0_7_4___2 = 349,\n\tFN_AVB_MAGIC___2 = 350,\n\tFN_MSIOF2_SS1_C___2 = 351,\n\tFN_SCK4_A___2 = 352,\n\tFN_IP1_7_4___2 = 353,\n\tFN_IRQ3___2 = 354,\n\tFN_QSTVB_QVE___2 = 355,\n\tFN_DU_DOTCLKOUT1___2 = 356,\n\tFN_VI4_DATA3_B___2 = 357,\n\tFN_MSIOF3_SCK_E___2 = 358,\n\tFN_PWM4_B___2 = 359,\n\tFN_IP2_7_4___2 = 360,\n\tFN_A2___2 = 361,\n\tFN_LCDOUT18___2 = 362,\n\tFN_MSIOF3_SCK_B___2 = 363,\n\tFN_VI4_DATA10___2 = 364,\n\tFN_DU_DB2___2 = 365,\n\tFN_PWM5_A___2 = 366,\n\tFN_IP3_7_4___2 = 367,\n\tFN_A10___2 = 368,\n\tFN_MSIOF2_RXD_A___2 = 369,\n\tFN_RTS4_N_B___2 = 370,\n\tFN_VI5_HSYNC_N___2 = 371,\n\tFN_IP0_11_8___2 = 372,\n\tFN_AVB_PHY_INT___2 = 373,\n\tFN_MSIOF2_SYNC_C___2 = 374,\n\tFN_RX4_A___2 = 375,\n\tFN_IP1_11_8___2 = 376,\n\tFN_IRQ4___2 = 377,\n\tFN_QSTH_QHS___2 = 378,\n\tFN_DU_EXHSYNC_DU_HSYNC___2 = 379,\n\tFN_VI4_DATA4_B___2 = 380,\n\tFN_MSIOF3_RXD_E___2 = 381,\n\tFN_PWM5_B___2 = 382,\n\tFN_IP2_11_8___2 = 383,\n\tFN_A3___2 = 384,\n\tFN_LCDOUT19___2 = 385,\n\tFN_MSIOF3_RXD_B___2 = 386,\n\tFN_VI4_DATA11___2 = 387,\n\tFN_DU_DB3___2 = 388,\n\tFN_PWM6_A___2 = 389,\n\tFN_IP3_11_8___2 = 390,\n\tFN_A11___2 = 391,\n\tFN_TX3_B___2 = 392,\n\tFN_MSIOF2_TXD_A___2 = 393,\n\tFN_HTX4_B___2 = 394,\n\tFN_HSCK4___2 = 395,\n\tFN_VI5_FIELD___2 = 396,\n\tFN_SCL6_A___2 = 397,\n\tFN_AVB_AVTP_CAPTURE_B___2 = 398,\n\tFN_PWM2_B___2 = 399,\n\tFN_IP0_15_12___2 = 400,\n\tFN_AVB_LINK___2 = 401,\n\tFN_MSIOF2_SCK_C___2 = 402,\n\tFN_TX4_A___2 = 403,\n\tFN_IP1_15_12___2 = 404,\n\tFN_IRQ5___2 = 405,\n\tFN_QSTB_QHE___2 = 406,\n\tFN_DU_EXVSYNC_DU_VSYNC___2 = 407,\n\tFN_VI4_DATA5_B___2 = 408,\n\tFN_FSCLKST2_N_B = 409,\n\tFN_MSIOF3_TXD_E___2 = 410,\n\tFN_PWM6_B___2 = 411,\n\tFN_IP2_15_12___2 = 412,\n\tFN_A4___2 = 413,\n\tFN_LCDOUT20___2 = 414,\n\tFN_MSIOF3_SS1_B___2 = 415,\n\tFN_VI4_DATA12___2 = 416,\n\tFN_VI5_DATA12___2 = 417,\n\tFN_DU_DB4___2 = 418,\n\tFN_IP3_15_12___2 = 419,\n\tFN_A12___2 = 420,\n\tFN_LCDOUT12___2 = 421,\n\tFN_MSIOF3_SCK_C___2 = 422,\n\tFN_HRX4_A___2 = 423,\n\tFN_VI5_DATA8___2 = 424,\n\tFN_DU_DG4___2 = 425,\n\tFN_IP0_19_16___2 = 426,\n\tFN_AVB_AVTP_MATCH_A___2 = 427,\n\tFN_MSIOF2_RXD_C___2 = 428,\n\tFN_CTS4_N_A___2 = 429,\n\tFN_FSCLKST2_N_A = 430,\n\tFN_IP1_19_16___2 = 431,\n\tFN_PWM0___2 = 432,\n\tFN_AVB_AVTP_PPS___2 = 433,\n\tFN_VI4_DATA6_B___2 = 434,\n\tFN_IECLK_B___2 = 435,\n\tFN_IP2_19_16___2 = 436,\n\tFN_A5___2 = 437,\n\tFN_LCDOUT21___2 = 438,\n\tFN_MSIOF3_SS2_B___2 = 439,\n\tFN_SCK4_B___2 = 440,\n\tFN_VI4_DATA13___2 = 441,\n\tFN_VI5_DATA13___2 = 442,\n\tFN_DU_DB5___2 = 443,\n\tFN_IP3_19_16___2 = 444,\n\tFN_A13___2 = 445,\n\tFN_LCDOUT13___2 = 446,\n\tFN_MSIOF3_SYNC_C___2 = 447,\n\tFN_HTX4_A___2 = 448,\n\tFN_VI5_DATA9___2 = 449,\n\tFN_DU_DG5___2 = 450,\n\tFN_IP0_23_20___2 = 451,\n\tFN_AVB_AVTP_CAPTURE_A___2 = 452,\n\tFN_MSIOF2_TXD_C___2 = 453,\n\tFN_RTS4_N_A___2 = 454,\n\tFN_IP1_23_20___2 = 455,\n\tFN_PWM1_A___2 = 456,\n\tFN_HRX3_D___2 = 457,\n\tFN_VI4_DATA7_B___2 = 458,\n\tFN_IERX_B___2 = 459,\n\tFN_IP2_23_20___2 = 460,\n\tFN_A6___2 = 461,\n\tFN_LCDOUT22___2 = 462,\n\tFN_MSIOF2_SS1_A___2 = 463,\n\tFN_RX4_B___2 = 464,\n\tFN_VI4_DATA14___2 = 465,\n\tFN_VI5_DATA14___2 = 466,\n\tFN_DU_DB6___2 = 467,\n\tFN_IP3_23_20___2 = 468,\n\tFN_A14___2 = 469,\n\tFN_LCDOUT14___2 = 470,\n\tFN_MSIOF3_RXD_C___2 = 471,\n\tFN_HCTS4_N___2 = 472,\n\tFN_VI5_DATA10___2 = 473,\n\tFN_DU_DG6___2 = 474,\n\tFN_IP0_27_24___2 = 475,\n\tFN_IRQ0___2 = 476,\n\tFN_QPOLB___2 = 477,\n\tFN_DU_CDE___2 = 478,\n\tFN_VI4_DATA0_B___2 = 479,\n\tFN_CAN0_TX_B___2 = 480,\n\tFN_CANFD0_TX_B___2 = 481,\n\tFN_MSIOF3_SS2_E___2 = 482,\n\tFN_IP1_27_24___2 = 483,\n\tFN_PWM2_A___2 = 484,\n\tFN_HTX3_D___2 = 485,\n\tFN_IETX_B___2 = 486,\n\tFN_IP2_27_24___2 = 487,\n\tFN_A7___2 = 488,\n\tFN_LCDOUT23___2 = 489,\n\tFN_MSIOF2_SS2_A___2 = 490,\n\tFN_TX4_B___2 = 491,\n\tFN_VI4_DATA15___2 = 492,\n\tFN_VI5_DATA15___2 = 493,\n\tFN_DU_DB7___2 = 494,\n\tFN_IP3_27_24___2 = 495,\n\tFN_A15___2 = 496,\n\tFN_LCDOUT15___2 = 497,\n\tFN_MSIOF3_TXD_C___2 = 498,\n\tFN_HRTS4_N___2 = 499,\n\tFN_VI5_DATA11___2 = 500,\n\tFN_DU_DG7___2 = 501,\n\tFN_IP0_31_28___2 = 502,\n\tFN_IRQ1___2 = 503,\n\tFN_QPOLA___2 = 504,\n\tFN_DU_DISP___2 = 505,\n\tFN_VI4_DATA1_B___2 = 506,\n\tFN_CAN0_RX_B___2 = 507,\n\tFN_CANFD0_RX_B___2 = 508,\n\tFN_MSIOF3_SS1_E___2 = 509,\n\tFN_IP1_31_28___2 = 510,\n\tFN_A0___2 = 511,\n\tFN_LCDOUT16___2 = 512,\n\tFN_MSIOF3_SYNC_B___2 = 513,\n\tFN_VI4_DATA8___2 = 514,\n\tFN_DU_DB0___2 = 515,\n\tFN_PWM3_A___2 = 516,\n\tFN_IP2_31_28___2 = 517,\n\tFN_A8___2 = 518,\n\tFN_RX3_B___2 = 519,\n\tFN_MSIOF2_SYNC_A___2 = 520,\n\tFN_HRX4_B___2 = 521,\n\tFN_SDA6_A___2 = 522,\n\tFN_AVB_AVTP_MATCH_B___2 = 523,\n\tFN_PWM1_B___2 = 524,\n\tFN_IP3_31_28___2 = 525,\n\tFN_A16___2 = 526,\n\tFN_LCDOUT8___2 = 527,\n\tFN_VI4_FIELD___2 = 528,\n\tFN_DU_DG0___2 = 529,\n\tFN_IP4_3_0___2 = 530,\n\tFN_A17___2 = 531,\n\tFN_LCDOUT9___2 = 532,\n\tFN_VI4_VSYNC_N___2 = 533,\n\tFN_DU_DG1___2 = 534,\n\tFN_IP5_3_0___2 = 535,\n\tFN_WE0_N___2 = 536,\n\tFN_MSIOF3_TXD_D___2 = 537,\n\tFN_CTS3_N___2 = 538,\n\tFN_HCTS3_N___2 = 539,\n\tFN_SCL6_B___2 = 540,\n\tFN_CAN_CLK___2 = 541,\n\tFN_IECLK_A___2 = 542,\n\tFN_IP6_3_0___2 = 543,\n\tFN_D5___2 = 544,\n\tFN_MSIOF2_SYNC_B___2 = 545,\n\tFN_VI4_DATA21___2 = 546,\n\tFN_VI5_DATA5___2 = 547,\n\tFN_IP7_3_0___2 = 548,\n\tFN_D13___2 = 549,\n\tFN_LCDOUT5___2 = 550,\n\tFN_MSIOF2_SS2_D___2 = 551,\n\tFN_TX4_C___2 = 552,\n\tFN_VI4_DATA5_A___2 = 553,\n\tFN_DU_DR5___2 = 554,\n\tFN_IP4_7_4___2 = 555,\n\tFN_A18___2 = 556,\n\tFN_LCDOUT10___2 = 557,\n\tFN_VI4_HSYNC_N___2 = 558,\n\tFN_DU_DG2___2 = 559,\n\tFN_IP5_7_4___2 = 560,\n\tFN_WE1_N___2 = 561,\n\tFN_MSIOF3_SS1_D___2 = 562,\n\tFN_RTS3_N___2 = 563,\n\tFN_HRTS3_N___2 = 564,\n\tFN_SDA6_B___2 = 565,\n\tFN_CAN1_RX___2 = 566,\n\tFN_CANFD1_RX___2 = 567,\n\tFN_IERX_A___2 = 568,\n\tFN_IP6_7_4___2 = 569,\n\tFN_D6___2 = 570,\n\tFN_MSIOF2_RXD_B___2 = 571,\n\tFN_VI4_DATA22___2 = 572,\n\tFN_VI5_DATA6___2 = 573,\n\tFN_IP7_7_4___2 = 574,\n\tFN_D14___2 = 575,\n\tFN_LCDOUT6___2 = 576,\n\tFN_MSIOF3_SS1_A___2 = 577,\n\tFN_HRX3_C___2 = 578,\n\tFN_VI4_DATA6_A___2 = 579,\n\tFN_DU_DR6___2 = 580,\n\tFN_SCL6_C___2 = 581,\n\tFN_IP4_11_8___2 = 582,\n\tFN_A19___2 = 583,\n\tFN_LCDOUT11___2 = 584,\n\tFN_VI4_CLKENB___2 = 585,\n\tFN_DU_DG3___2 = 586,\n\tFN_IP5_11_8___2 = 587,\n\tFN_EX_WAIT0_A___2 = 588,\n\tFN_QCLK___2 = 589,\n\tFN_VI4_CLK___2 = 590,\n\tFN_DU_DOTCLKOUT0___2 = 591,\n\tFN_IP6_11_8___2 = 592,\n\tFN_D7___2 = 593,\n\tFN_MSIOF2_TXD_B___2 = 594,\n\tFN_VI4_DATA23___2 = 595,\n\tFN_VI5_DATA7___2 = 596,\n\tFN_IP7_11_8___2 = 597,\n\tFN_D15___2 = 598,\n\tFN_LCDOUT7___2 = 599,\n\tFN_MSIOF3_SS2_A___2 = 600,\n\tFN_HTX3_C___2 = 601,\n\tFN_VI4_DATA7_A___2 = 602,\n\tFN_DU_DR7___2 = 603,\n\tFN_SDA6_C___2 = 604,\n\tFN_IP4_15_12___2 = 605,\n\tFN_CS0_N___2 = 606,\n\tFN_VI5_CLKENB___2 = 607,\n\tFN_IP5_15_12___2 = 608,\n\tFN_D0___2 = 609,\n\tFN_MSIOF2_SS1_B___2 = 610,\n\tFN_MSIOF3_SCK_A___2 = 611,\n\tFN_VI4_DATA16___2 = 612,\n\tFN_VI5_DATA0___2 = 613,\n\tFN_IP6_15_12___2 = 614,\n\tFN_D8___2 = 615,\n\tFN_LCDOUT0___2 = 616,\n\tFN_MSIOF2_SCK_D___2 = 617,\n\tFN_SCK4_C___2 = 618,\n\tFN_VI4_DATA0_A___2 = 619,\n\tFN_DU_DR0___2 = 620,\n\tFN_IP4_19_16___2 = 621,\n\tFN_CS1_N___2 = 622,\n\tFN_VI5_CLK___2 = 623,\n\tFN_EX_WAIT0_B___2 = 624,\n\tFN_IP5_19_16___2 = 625,\n\tFN_D1___2 = 626,\n\tFN_MSIOF2_SS2_B___2 = 627,\n\tFN_MSIOF3_SYNC_A___2 = 628,\n\tFN_VI4_DATA17___2 = 629,\n\tFN_VI5_DATA1___2 = 630,\n\tFN_IP6_19_16___2 = 631,\n\tFN_D9___2 = 632,\n\tFN_LCDOUT1___2 = 633,\n\tFN_MSIOF2_SYNC_D___2 = 634,\n\tFN_VI4_DATA1_A___2 = 635,\n\tFN_DU_DR1___2 = 636,\n\tFN_IP7_19_16___2 = 637,\n\tFN_SD0_CLK___2 = 638,\n\tFN_MSIOF1_SCK_E___2 = 639,\n\tFN_STP_OPWM_0_B___2 = 640,\n\tFN_IP4_23_20___2 = 641,\n\tFN_BS_N___2 = 642,\n\tFN_QSTVA_QVS___2 = 643,\n\tFN_MSIOF3_SCK_D___2 = 644,\n\tFN_SCK3___2 = 645,\n\tFN_HSCK3___2 = 646,\n\tFN_CAN1_TX___2 = 647,\n\tFN_CANFD1_TX___2 = 648,\n\tFN_IETX_A___2 = 649,\n\tFN_IP5_23_20___2 = 650,\n\tFN_D2___2 = 651,\n\tFN_MSIOF3_RXD_A___2 = 652,\n\tFN_VI4_DATA18___2 = 653,\n\tFN_VI5_DATA2___2 = 654,\n\tFN_IP6_23_20___2 = 655,\n\tFN_D10___2 = 656,\n\tFN_LCDOUT2___2 = 657,\n\tFN_MSIOF2_RXD_D___2 = 658,\n\tFN_HRX3_B___2 = 659,\n\tFN_VI4_DATA2_A___2 = 660,\n\tFN_CTS4_N_C___2 = 661,\n\tFN_DU_DR2___2 = 662,\n\tFN_IP7_23_20___2 = 663,\n\tFN_SD0_CMD___2 = 664,\n\tFN_MSIOF1_SYNC_E___2 = 665,\n\tFN_STP_IVCXO27_0_B___2 = 666,\n\tFN_IP4_27_24___2 = 667,\n\tFN_RD_N___2 = 668,\n\tFN_MSIOF3_SYNC_D___2 = 669,\n\tFN_RX3_A___2 = 670,\n\tFN_HRX3_A___2 = 671,\n\tFN_CAN0_TX_A___2 = 672,\n\tFN_CANFD0_TX_A___2 = 673,\n\tFN_IP5_27_24___2 = 674,\n\tFN_D3___2 = 675,\n\tFN_MSIOF3_TXD_A___2 = 676,\n\tFN_VI4_DATA19___2 = 677,\n\tFN_VI5_DATA3___2 = 678,\n\tFN_IP6_27_24___2 = 679,\n\tFN_D11___2 = 680,\n\tFN_LCDOUT3___2 = 681,\n\tFN_MSIOF2_TXD_D___2 = 682,\n\tFN_HTX3_B___2 = 683,\n\tFN_VI4_DATA3_A___2 = 684,\n\tFN_RTS4_N_C___2 = 685,\n\tFN_DU_DR3___2 = 686,\n\tFN_IP7_27_24___2 = 687,\n\tFN_SD0_DAT0___2 = 688,\n\tFN_MSIOF1_RXD_E___2 = 689,\n\tFN_TS_SCK0_B___2 = 690,\n\tFN_STP_ISCLK_0_B___2 = 691,\n\tFN_IP4_31_28___2 = 692,\n\tFN_RD_WR_N___2 = 693,\n\tFN_MSIOF3_RXD_D___2 = 694,\n\tFN_TX3_A___2 = 695,\n\tFN_HTX3_A___2 = 696,\n\tFN_CAN0_RX_A___2 = 697,\n\tFN_CANFD0_RX_A___2 = 698,\n\tFN_IP5_31_28___2 = 699,\n\tFN_D4___2 = 700,\n\tFN_MSIOF2_SCK_B___2 = 701,\n\tFN_VI4_DATA20___2 = 702,\n\tFN_VI5_DATA4___2 = 703,\n\tFN_IP6_31_28___2 = 704,\n\tFN_D12___2 = 705,\n\tFN_LCDOUT4___2 = 706,\n\tFN_MSIOF2_SS1_D___2 = 707,\n\tFN_RX4_C___2 = 708,\n\tFN_VI4_DATA4_A___2 = 709,\n\tFN_DU_DR4___2 = 710,\n\tFN_IP7_31_28___2 = 711,\n\tFN_SD0_DAT1___2 = 712,\n\tFN_MSIOF1_TXD_E___2 = 713,\n\tFN_TS_SPSYNC0_B___2 = 714,\n\tFN_STP_ISSYNC_0_B___2 = 715,\n\tFN_IP8_3_0___2 = 716,\n\tFN_SD0_DAT2___2 = 717,\n\tFN_MSIOF1_SS1_E___2 = 718,\n\tFN_TS_SDAT0_B___2 = 719,\n\tFN_STP_ISD_0_B___2 = 720,\n\tFN_IP9_3_0___2 = 721,\n\tFN_SD2_CLK___2 = 722,\n\tFN_NFDATA8___2 = 723,\n\tFN_IP10_3_0___2 = 724,\n\tFN_SD3_CMD___2 = 725,\n\tFN_NFRE_N___2 = 726,\n\tFN_IP11_3_0___2 = 727,\n\tFN_SD3_DAT7___2 = 728,\n\tFN_SD3_WP___2 = 729,\n\tFN_NFDATA7___2 = 730,\n\tFN_IP8_7_4___2 = 731,\n\tFN_SD0_DAT3___2 = 732,\n\tFN_MSIOF1_SS2_E___2 = 733,\n\tFN_TS_SDEN0_B___2 = 734,\n\tFN_STP_ISEN_0_B___2 = 735,\n\tFN_IP9_7_4___2 = 736,\n\tFN_SD2_CMD___2 = 737,\n\tFN_NFDATA9___2 = 738,\n\tFN_IP10_7_4___2 = 739,\n\tFN_SD3_DAT0___2 = 740,\n\tFN_NFDATA0___2 = 741,\n\tFN_IP11_7_4___2 = 742,\n\tFN_SD3_DS___2 = 743,\n\tFN_NFCLE___2 = 744,\n\tFN_IP8_11_8___2 = 745,\n\tFN_SD1_CLK___2 = 746,\n\tFN_MSIOF1_SCK_G___2 = 747,\n\tFN_SIM0_CLK_A___2 = 748,\n\tFN_IP9_11_8___2 = 749,\n\tFN_SD2_DAT0___2 = 750,\n\tFN_NFDATA10___2 = 751,\n\tFN_IP10_11_8___2 = 752,\n\tFN_SD3_DAT1___2 = 753,\n\tFN_NFDATA1___2 = 754,\n\tFN_IP11_11_8___2 = 755,\n\tFN_SD0_CD___2 = 756,\n\tFN_NFDATA14_A___2 = 757,\n\tFN_SCL2_B___2 = 758,\n\tFN_SIM0_RST_A___2 = 759,\n\tFN_IP8_15_12___2 = 760,\n\tFN_SD1_CMD___2 = 761,\n\tFN_MSIOF1_SYNC_G___2 = 762,\n\tFN_NFCE_N_B___2 = 763,\n\tFN_SIM0_D_A___2 = 764,\n\tFN_STP_IVCXO27_1_B___2 = 765,\n\tFN_IP9_15_12___2 = 766,\n\tFN_SD2_DAT1___2 = 767,\n\tFN_NFDATA11___2 = 768,\n\tFN_IP10_15_12___2 = 769,\n\tFN_SD3_DAT2___2 = 770,\n\tFN_NFDATA2___2 = 771,\n\tFN_IP11_15_12___2 = 772,\n\tFN_SD0_WP___2 = 773,\n\tFN_NFDATA15_A___2 = 774,\n\tFN_SDA2_B___2 = 775,\n\tFN_IP8_19_16___2 = 776,\n\tFN_SD1_DAT0___2 = 777,\n\tFN_SD2_DAT4___2 = 778,\n\tFN_MSIOF1_RXD_G___2 = 779,\n\tFN_NFWP_N_B___2 = 780,\n\tFN_TS_SCK1_B___2 = 781,\n\tFN_STP_ISCLK_1_B___2 = 782,\n\tFN_IP9_19_16___2 = 783,\n\tFN_SD2_DAT2___2 = 784,\n\tFN_NFDATA12___2 = 785,\n\tFN_IP10_19_16___2 = 786,\n\tFN_SD3_DAT3___2 = 787,\n\tFN_NFDATA3___2 = 788,\n\tFN_IP11_19_16___2 = 789,\n\tFN_SD1_CD___2 = 790,\n\tFN_NFRB_N_A___2 = 791,\n\tFN_SIM0_CLK_B___2 = 792,\n\tFN_IP8_23_20___2 = 793,\n\tFN_SD1_DAT1___2 = 794,\n\tFN_SD2_DAT5___2 = 795,\n\tFN_MSIOF1_TXD_G___2 = 796,\n\tFN_NFDATA14_B___2 = 797,\n\tFN_TS_SPSYNC1_B___2 = 798,\n\tFN_STP_ISSYNC_1_B___2 = 799,\n\tFN_IP9_23_20___2 = 800,\n\tFN_SD2_DAT3___2 = 801,\n\tFN_NFDATA13___2 = 802,\n\tFN_IP10_23_20___2 = 803,\n\tFN_SD3_DAT4___2 = 804,\n\tFN_SD2_CD_A___2 = 805,\n\tFN_NFDATA4___2 = 806,\n\tFN_IP11_23_20___2 = 807,\n\tFN_SD1_WP___2 = 808,\n\tFN_NFCE_N_A___2 = 809,\n\tFN_SIM0_D_B___2 = 810,\n\tFN_IP8_27_24___2 = 811,\n\tFN_SD1_DAT2___2 = 812,\n\tFN_SD2_DAT6___2 = 813,\n\tFN_MSIOF1_SS1_G___2 = 814,\n\tFN_NFDATA15_B___2 = 815,\n\tFN_TS_SDAT1_B___2 = 816,\n\tFN_STP_ISD_1_B___2 = 817,\n\tFN_IP9_27_24___2 = 818,\n\tFN_SD2_DS___2 = 819,\n\tFN_NFALE___2 = 820,\n\tFN_SATA_DEVSLP_B = 821,\n\tFN_IP10_27_24___2 = 822,\n\tFN_SD3_DAT5___2 = 823,\n\tFN_SD2_WP_A___2 = 824,\n\tFN_NFDATA5___2 = 825,\n\tFN_IP11_27_24___2 = 826,\n\tFN_SCK0___2 = 827,\n\tFN_HSCK1_B___2 = 828,\n\tFN_MSIOF1_SS2_B___2 = 829,\n\tFN_AUDIO_CLKC_B___2 = 830,\n\tFN_SDA2_A___2 = 831,\n\tFN_SIM0_RST_B___2 = 832,\n\tFN_STP_OPWM_0_C___2 = 833,\n\tFN_RIF0_CLK_B___2 = 834,\n\tFN_ADICHS2___2 = 835,\n\tFN_SCK5_B___2 = 836,\n\tFN_IP8_31_28___2 = 837,\n\tFN_SD1_DAT3___2 = 838,\n\tFN_SD2_DAT7___2 = 839,\n\tFN_MSIOF1_SS2_G___2 = 840,\n\tFN_NFRB_N_B___2 = 841,\n\tFN_TS_SDEN1_B___2 = 842,\n\tFN_STP_ISEN_1_B___2 = 843,\n\tFN_IP9_31_28___2 = 844,\n\tFN_SD3_CLK___2 = 845,\n\tFN_NFWE_N___2 = 846,\n\tFN_IP10_31_28___2 = 847,\n\tFN_SD3_DAT6___2 = 848,\n\tFN_SD3_CD___2 = 849,\n\tFN_NFDATA6___2 = 850,\n\tFN_IP11_31_28___2 = 851,\n\tFN_RX0___2 = 852,\n\tFN_HRX1_B___2 = 853,\n\tFN_TS_SCK0_C___2 = 854,\n\tFN_STP_ISCLK_0_C___2 = 855,\n\tFN_RIF0_D0_B___2 = 856,\n\tFN_IP12_3_0___2 = 857,\n\tFN_TX0___2 = 858,\n\tFN_HTX1_B___2 = 859,\n\tFN_TS_SPSYNC0_C___2 = 860,\n\tFN_STP_ISSYNC_0_C___2 = 861,\n\tFN_RIF0_D1_B___2 = 862,\n\tFN_IP13_3_0___2 = 863,\n\tFN_TX2_A___2 = 864,\n\tFN_SD2_CD_B___2 = 865,\n\tFN_SCL1_A___2 = 866,\n\tFN_FMCLK_A___2 = 867,\n\tFN_RIF1_D1_C___2 = 868,\n\tFN_FSO_CFE_0_N___2 = 869,\n\tFN_IP14_3_0___2 = 870,\n\tFN_MSIOF0_SS1___2 = 871,\n\tFN_RX5_A___2 = 872,\n\tFN_NFWP_N_A___2 = 873,\n\tFN_AUDIO_CLKA_C___2 = 874,\n\tFN_SSI_SCK2_A___2 = 875,\n\tFN_STP_IVCXO27_0_C___2 = 876,\n\tFN_AUDIO_CLKOUT3_A___2 = 877,\n\tFN_TCLK1_B___2 = 878,\n\tFN_IP15_3_0___2 = 879,\n\tFN_SSI_SDATA1_A___2 = 880,\n\tFN_IP12_7_4___2 = 881,\n\tFN_CTS0_N___2 = 882,\n\tFN_HCTS1_N_B___2 = 883,\n\tFN_MSIOF1_SYNC_B___2 = 884,\n\tFN_TS_SPSYNC1_C___2 = 885,\n\tFN_STP_ISSYNC_1_C___2 = 886,\n\tFN_RIF1_SYNC_B___2 = 887,\n\tFN_AUDIO_CLKOUT_C___2 = 888,\n\tFN_ADICS_SAMP___2 = 889,\n\tFN_IP13_7_4___2 = 890,\n\tFN_RX2_A___2 = 891,\n\tFN_SD2_WP_B___2 = 892,\n\tFN_SDA1_A___2 = 893,\n\tFN_FMIN_A___2 = 894,\n\tFN_RIF1_SYNC_C___2 = 895,\n\tFN_FSO_CFE_1_N___2 = 896,\n\tFN_IP14_7_4___2 = 897,\n\tFN_MSIOF0_SS2___2 = 898,\n\tFN_TX5_A___2 = 899,\n\tFN_MSIOF1_SS2_D___2 = 900,\n\tFN_AUDIO_CLKC_A___2 = 901,\n\tFN_SSI_WS2_A___2 = 902,\n\tFN_STP_OPWM_0_D___2 = 903,\n\tFN_AUDIO_CLKOUT_D___2 = 904,\n\tFN_SPEEDIN_B___2 = 905,\n\tFN_IP15_7_4___2 = 906,\n\tFN_SSI_SDATA2_A___2 = 907,\n\tFN_SSI_SCK1_B___2 = 908,\n\tFN_IP12_11_8___2 = 909,\n\tFN_RTS0_N___2 = 910,\n\tFN_HRTS1_N_B___2 = 911,\n\tFN_MSIOF1_SS1_B___2 = 912,\n\tFN_AUDIO_CLKA_B___2 = 913,\n\tFN_SCL2_A___2 = 914,\n\tFN_STP_IVCXO27_1_C___2 = 915,\n\tFN_RIF0_SYNC_B___2 = 916,\n\tFN_ADICHS1___2 = 917,\n\tFN_IP13_11_8___2 = 918,\n\tFN_HSCK0___2 = 919,\n\tFN_MSIOF1_SCK_D___2 = 920,\n\tFN_AUDIO_CLKB_A___2 = 921,\n\tFN_SSI_SDATA1_B___2 = 922,\n\tFN_TS_SCK0_D___2 = 923,\n\tFN_STP_ISCLK_0_D___2 = 924,\n\tFN_RIF0_CLK_C___2 = 925,\n\tFN_RX5_B___2 = 926,\n\tFN_IP14_11_8___2 = 927,\n\tFN_MLB_CLK___2 = 928,\n\tFN_MSIOF1_SCK_F___2 = 929,\n\tFN_SCL1_B___2 = 930,\n\tFN_IP15_11_8___2 = 931,\n\tFN_SSI_SCK349___2 = 932,\n\tFN_MSIOF1_SS1_A___2 = 933,\n\tFN_STP_OPWM_0_A___2 = 934,\n\tFN_IP12_15_12___2 = 935,\n\tFN_RX1_A___2 = 936,\n\tFN_HRX1_A___2 = 937,\n\tFN_TS_SDAT0_C___2 = 938,\n\tFN_STP_ISD_0_C___2 = 939,\n\tFN_RIF1_CLK_C___2 = 940,\n\tFN_IP13_15_12___2 = 941,\n\tFN_HRX0___2 = 942,\n\tFN_MSIOF1_RXD_D___2 = 943,\n\tFN_SSI_SDATA2_B___2 = 944,\n\tFN_TS_SDEN0_D___2 = 945,\n\tFN_STP_ISEN_0_D___2 = 946,\n\tFN_RIF0_D0_C___2 = 947,\n\tFN_IP14_15_12___2 = 948,\n\tFN_MLB_SIG___2 = 949,\n\tFN_RX1_B___2 = 950,\n\tFN_MSIOF1_SYNC_F___2 = 951,\n\tFN_SDA1_B___2 = 952,\n\tFN_IP15_15_12___2 = 953,\n\tFN_SSI_WS349___2 = 954,\n\tFN_HCTS2_N_A___2 = 955,\n\tFN_MSIOF1_SS2_A___2 = 956,\n\tFN_STP_IVCXO27_0_A___2 = 957,\n\tFN_IP12_19_16___2 = 958,\n\tFN_TX1_A___2 = 959,\n\tFN_HTX1_A___2 = 960,\n\tFN_TS_SDEN0_C___2 = 961,\n\tFN_STP_ISEN_0_C___2 = 962,\n\tFN_RIF1_D0_C___2 = 963,\n\tFN_IP13_19_16___2 = 964,\n\tFN_HTX0___2 = 965,\n\tFN_MSIOF1_TXD_D___2 = 966,\n\tFN_SSI_SDATA9_B___2 = 967,\n\tFN_TS_SDAT0_D___2 = 968,\n\tFN_STP_ISD_0_D___2 = 969,\n\tFN_RIF0_D1_C___2 = 970,\n\tFN_IP14_19_16___2 = 971,\n\tFN_MLB_DAT___2 = 972,\n\tFN_TX1_B___2 = 973,\n\tFN_MSIOF1_RXD_F___2 = 974,\n\tFN_IP15_19_16___2 = 975,\n\tFN_SSI_SDATA3___2 = 976,\n\tFN_HRTS2_N_A___2 = 977,\n\tFN_MSIOF1_TXD_A___2 = 978,\n\tFN_TS_SCK0_A___2 = 979,\n\tFN_STP_ISCLK_0_A___2 = 980,\n\tFN_RIF0_D1_A___2 = 981,\n\tFN_RIF2_D0_A___2 = 982,\n\tFN_IP12_23_20___2 = 983,\n\tFN_CTS1_N___2 = 984,\n\tFN_HCTS1_N_A___2 = 985,\n\tFN_MSIOF1_RXD_B___2 = 986,\n\tFN_TS_SDEN1_C___2 = 987,\n\tFN_STP_ISEN_1_C___2 = 988,\n\tFN_RIF1_D0_B___2 = 989,\n\tFN_ADIDATA___2 = 990,\n\tFN_IP13_23_20___2 = 991,\n\tFN_HCTS0_N___2 = 992,\n\tFN_RX2_B___2 = 993,\n\tFN_MSIOF1_SYNC_D___2 = 994,\n\tFN_SSI_SCK9_A___2 = 995,\n\tFN_TS_SPSYNC0_D___2 = 996,\n\tFN_STP_ISSYNC_0_D___2 = 997,\n\tFN_RIF0_SYNC_C___2 = 998,\n\tFN_AUDIO_CLKOUT1_A___2 = 999,\n\tFN_IP14_23_20___2 = 1000,\n\tFN_SSI_SCK01239___2 = 1001,\n\tFN_MSIOF1_TXD_F___2 = 1002,\n\tFN_IP15_23_20___2 = 1003,\n\tFN_SSI_SCK4___2 = 1004,\n\tFN_HRX2_A___2 = 1005,\n\tFN_MSIOF1_SCK_A___2 = 1006,\n\tFN_TS_SDAT0_A___2 = 1007,\n\tFN_STP_ISD_0_A___2 = 1008,\n\tFN_RIF0_CLK_A___2 = 1009,\n\tFN_RIF2_CLK_A___2 = 1010,\n\tFN_IP12_27_24___2 = 1011,\n\tFN_RTS1_N___2 = 1012,\n\tFN_HRTS1_N_A___2 = 1013,\n\tFN_MSIOF1_TXD_B___2 = 1014,\n\tFN_TS_SDAT1_C___2 = 1015,\n\tFN_STP_ISD_1_C___2 = 1016,\n\tFN_RIF1_D1_B___2 = 1017,\n\tFN_ADICHS0___2 = 1018,\n\tFN_IP13_27_24___2 = 1019,\n\tFN_HRTS0_N___2 = 1020,\n\tFN_TX2_B___2 = 1021,\n\tFN_MSIOF1_SS1_D___2 = 1022,\n\tFN_SSI_WS9_A___2 = 1023,\n\tFN_STP_IVCXO27_0_D___2 = 1024,\n\tFN_BPFCLK_A___2 = 1025,\n\tFN_AUDIO_CLKOUT2_A___2 = 1026,\n\tFN_IP14_27_24___2 = 1027,\n\tFN_SSI_WS01239___2 = 1028,\n\tFN_MSIOF1_SS1_F___2 = 1029,\n\tFN_IP15_27_24___2 = 1030,\n\tFN_SSI_WS4___2 = 1031,\n\tFN_HTX2_A___2 = 1032,\n\tFN_MSIOF1_SYNC_A___2 = 1033,\n\tFN_TS_SDEN0_A___2 = 1034,\n\tFN_STP_ISEN_0_A___2 = 1035,\n\tFN_RIF0_SYNC_A___2 = 1036,\n\tFN_RIF2_SYNC_A___2 = 1037,\n\tFN_IP12_31_28___2 = 1038,\n\tFN_SCK2___2 = 1039,\n\tFN_SCIF_CLK_B___2 = 1040,\n\tFN_MSIOF1_SCK_B___2 = 1041,\n\tFN_TS_SCK1_C___2 = 1042,\n\tFN_STP_ISCLK_1_C___2 = 1043,\n\tFN_RIF1_CLK_B___2 = 1044,\n\tFN_ADICLK___2 = 1045,\n\tFN_IP13_31_28___2 = 1046,\n\tFN_MSIOF0_SYNC___2 = 1047,\n\tFN_AUDIO_CLKOUT_A___2 = 1048,\n\tFN_TX5_B___2 = 1049,\n\tFN_BPFCLK_D___2 = 1050,\n\tFN_IP14_31_28___2 = 1051,\n\tFN_SSI_SDATA0___2 = 1052,\n\tFN_MSIOF1_SS2_F___2 = 1053,\n\tFN_IP15_31_28___2 = 1054,\n\tFN_SSI_SDATA4___2 = 1055,\n\tFN_HSCK2_A___2 = 1056,\n\tFN_MSIOF1_RXD_A___2 = 1057,\n\tFN_TS_SPSYNC0_A___2 = 1058,\n\tFN_STP_ISSYNC_0_A___2 = 1059,\n\tFN_RIF0_D0_A___2 = 1060,\n\tFN_RIF2_D1_A___2 = 1061,\n\tFN_IP16_3_0___2 = 1062,\n\tFN_SSI_SCK6___2 = 1063,\n\tFN_USB2_PWEN = 1064,\n\tFN_SIM0_RST_D___2 = 1065,\n\tFN_IP17_3_0___2 = 1066,\n\tFN_AUDIO_CLKA_A___2 = 1067,\n\tFN_IP18_3_0___2 = 1068,\n\tFN_USB2_CH3_PWEN = 1069,\n\tFN_AUDIO_CLKOUT2_B___2 = 1070,\n\tFN_SSI_SCK9_B___2 = 1071,\n\tFN_TS_SDEN0_E___2 = 1072,\n\tFN_STP_ISEN_0_E___2 = 1073,\n\tFN_RIF2_D0_B___2 = 1074,\n\tFN_TPU0TO2___2 = 1075,\n\tFN_FMCLK_C___2 = 1076,\n\tFN_FMCLK_D___2 = 1077,\n\tFN_IP16_7_4___2 = 1078,\n\tFN_SSI_WS6___2 = 1079,\n\tFN_USB2_OVC = 1080,\n\tFN_SIM0_D_D___2 = 1081,\n\tFN_IP17_7_4___2 = 1082,\n\tFN_AUDIO_CLKB_B___2 = 1083,\n\tFN_SCIF_CLK_A___2 = 1084,\n\tFN_STP_IVCXO27_1_D___2 = 1085,\n\tFN_REMOCON_A___2 = 1086,\n\tFN_TCLK1_A___2 = 1087,\n\tFN_IP18_7_4___2 = 1088,\n\tFN_USB2_CH3_OVC = 1089,\n\tFN_AUDIO_CLKOUT3_B___2 = 1090,\n\tFN_SSI_WS9_B___2 = 1091,\n\tFN_TS_SPSYNC0_E___2 = 1092,\n\tFN_STP_ISSYNC_0_E___2 = 1093,\n\tFN_RIF2_D1_B___2 = 1094,\n\tFN_TPU0TO3___2 = 1095,\n\tFN_FMIN_C___2 = 1096,\n\tFN_FMIN_D___2 = 1097,\n\tFN_IP16_11_8___2 = 1098,\n\tFN_SSI_SDATA6___2 = 1099,\n\tFN_SIM0_CLK_D___2 = 1100,\n\tFN_SATA_DEVSLP_A = 1101,\n\tFN_IP17_11_8___2 = 1102,\n\tFN_USB0_PWEN___2 = 1103,\n\tFN_SIM0_RST_C___2 = 1104,\n\tFN_TS_SCK1_D___2 = 1105,\n\tFN_STP_ISCLK_1_D___2 = 1106,\n\tFN_BPFCLK_B___2 = 1107,\n\tFN_RIF3_CLK_B___2 = 1108,\n\tFN_HSCK2_C___2 = 1109,\n\tFN_IP16_15_12___2 = 1110,\n\tFN_SSI_SCK78___2 = 1111,\n\tFN_HRX2_B___2 = 1112,\n\tFN_MSIOF1_SCK_C___2 = 1113,\n\tFN_TS_SCK1_A___2 = 1114,\n\tFN_STP_ISCLK_1_A___2 = 1115,\n\tFN_RIF1_CLK_A___2 = 1116,\n\tFN_RIF3_CLK_A___2 = 1117,\n\tFN_IP17_15_12___2 = 1118,\n\tFN_USB0_OVC___2 = 1119,\n\tFN_SIM0_D_C___2 = 1120,\n\tFN_TS_SDAT1_D___2 = 1121,\n\tFN_STP_ISD_1_D___2 = 1122,\n\tFN_RIF3_SYNC_B___2 = 1123,\n\tFN_HRX2_C___2 = 1124,\n\tFN_IP16_19_16___2 = 1125,\n\tFN_SSI_WS78___2 = 1126,\n\tFN_HTX2_B___2 = 1127,\n\tFN_MSIOF1_SYNC_C___2 = 1128,\n\tFN_TS_SDAT1_A___2 = 1129,\n\tFN_STP_ISD_1_A___2 = 1130,\n\tFN_RIF1_SYNC_A___2 = 1131,\n\tFN_RIF3_SYNC_A___2 = 1132,\n\tFN_IP17_19_16___2 = 1133,\n\tFN_USB1_PWEN___2 = 1134,\n\tFN_SIM0_CLK_C___2 = 1135,\n\tFN_SSI_SCK1_A___2 = 1136,\n\tFN_TS_SCK0_E___2 = 1137,\n\tFN_STP_ISCLK_0_E___2 = 1138,\n\tFN_FMCLK_B___2 = 1139,\n\tFN_RIF2_CLK_B___2 = 1140,\n\tFN_SPEEDIN_A___2 = 1141,\n\tFN_HTX2_C___2 = 1142,\n\tFN_IP16_23_20___2 = 1143,\n\tFN_SSI_SDATA7___2 = 1144,\n\tFN_HCTS2_N_B___2 = 1145,\n\tFN_MSIOF1_RXD_C___2 = 1146,\n\tFN_TS_SDEN1_A___2 = 1147,\n\tFN_STP_ISEN_1_A___2 = 1148,\n\tFN_RIF1_D0_A___2 = 1149,\n\tFN_RIF3_D0_A___2 = 1150,\n\tFN_TCLK2_A___2 = 1151,\n\tFN_IP17_23_20___2 = 1152,\n\tFN_USB1_OVC___2 = 1153,\n\tFN_MSIOF1_SS2_C___2 = 1154,\n\tFN_SSI_WS1_A___2 = 1155,\n\tFN_TS_SDAT0_E___2 = 1156,\n\tFN_STP_ISD_0_E___2 = 1157,\n\tFN_FMIN_B___2 = 1158,\n\tFN_RIF2_SYNC_B___2 = 1159,\n\tFN_REMOCON_B___2 = 1160,\n\tFN_HCTS2_N_C___2 = 1161,\n\tFN_IP16_27_24___2 = 1162,\n\tFN_SSI_SDATA8___2 = 1163,\n\tFN_HRTS2_N_B___2 = 1164,\n\tFN_MSIOF1_TXD_C___2 = 1165,\n\tFN_TS_SPSYNC1_A___2 = 1166,\n\tFN_STP_ISSYNC_1_A___2 = 1167,\n\tFN_RIF1_D1_A___2 = 1168,\n\tFN_RIF3_D1_A___2 = 1169,\n\tFN_IP17_27_24___2 = 1170,\n\tFN_USB30_PWEN___2 = 1171,\n\tFN_AUDIO_CLKOUT_B___2 = 1172,\n\tFN_SSI_SCK2_B___2 = 1173,\n\tFN_TS_SDEN1_D___2 = 1174,\n\tFN_STP_ISEN_1_D___2 = 1175,\n\tFN_STP_OPWM_0_E___2 = 1176,\n\tFN_RIF3_D0_B___2 = 1177,\n\tFN_TCLK2_B___2 = 1178,\n\tFN_TPU0TO0___2 = 1179,\n\tFN_BPFCLK_C___2 = 1180,\n\tFN_HRTS2_N_C___2 = 1181,\n\tFN_IP16_31_28___2 = 1182,\n\tFN_SSI_SDATA9_A___2 = 1183,\n\tFN_HSCK2_B___2 = 1184,\n\tFN_MSIOF1_SS1_C___2 = 1185,\n\tFN_HSCK1_A___2 = 1186,\n\tFN_SSI_WS1_B___2 = 1187,\n\tFN_SCK1___2 = 1188,\n\tFN_STP_IVCXO27_1_A___2 = 1189,\n\tFN_SCK5_A___2 = 1190,\n\tFN_IP17_31_28___2 = 1191,\n\tFN_USB30_OVC___2 = 1192,\n\tFN_AUDIO_CLKOUT1_B___2 = 1193,\n\tFN_SSI_WS2_B___2 = 1194,\n\tFN_TS_SPSYNC1_D___2 = 1195,\n\tFN_STP_ISSYNC_1_D___2 = 1196,\n\tFN_STP_IVCXO27_0_E___2 = 1197,\n\tFN_RIF3_D1_B___2 = 1198,\n\tFN_FSO_TOE_N___2 = 1199,\n\tFN_TPU0TO1___2 = 1200,\n\tFN_SEL_MSIOF3_0___2 = 1201,\n\tFN_SEL_MSIOF3_1___2 = 1202,\n\tFN_SEL_MSIOF3_2___2 = 1203,\n\tFN_SEL_MSIOF3_3___2 = 1204,\n\tFN_SEL_MSIOF3_4___2 = 1205,\n\tFN_SEL_TSIF1_0___2 = 1206,\n\tFN_SEL_TSIF1_1___2 = 1207,\n\tFN_SEL_TSIF1_2___2 = 1208,\n\tFN_SEL_TSIF1_3___2 = 1209,\n\tFN_I2C_SEL_5_0___2 = 1210,\n\tFN_I2C_SEL_5_1___2 = 1211,\n\tFN_I2C_SEL_3_0___2 = 1212,\n\tFN_I2C_SEL_3_1___2 = 1213,\n\tFN_SEL_TSIF0_0___2 = 1214,\n\tFN_SEL_TSIF0_1___2 = 1215,\n\tFN_SEL_TSIF0_2___2 = 1216,\n\tFN_SEL_TSIF0_3___2 = 1217,\n\tFN_SEL_TSIF0_4___2 = 1218,\n\tFN_I2C_SEL_0_0___2 = 1219,\n\tFN_I2C_SEL_0_1___2 = 1220,\n\tFN_SEL_MSIOF2_0___2 = 1221,\n\tFN_SEL_MSIOF2_1___2 = 1222,\n\tFN_SEL_MSIOF2_2___2 = 1223,\n\tFN_SEL_MSIOF2_3___2 = 1224,\n\tFN_SEL_FM_0___2 = 1225,\n\tFN_SEL_FM_1___2 = 1226,\n\tFN_SEL_FM_2___2 = 1227,\n\tFN_SEL_FM_3___2 = 1228,\n\tFN_SEL_MSIOF1_0___2 = 1229,\n\tFN_SEL_MSIOF1_1___2 = 1230,\n\tFN_SEL_MSIOF1_2___2 = 1231,\n\tFN_SEL_MSIOF1_3___2 = 1232,\n\tFN_SEL_MSIOF1_4___2 = 1233,\n\tFN_SEL_MSIOF1_5___2 = 1234,\n\tFN_SEL_MSIOF1_6___2 = 1235,\n\tFN_SEL_TIMER_TMU1_0 = 1236,\n\tFN_SEL_TIMER_TMU1_1 = 1237,\n\tFN_SEL_SCIF5_0___2 = 1238,\n\tFN_SEL_SCIF5_1___2 = 1239,\n\tFN_SEL_SSP1_1_0___2 = 1240,\n\tFN_SEL_SSP1_1_1___2 = 1241,\n\tFN_SEL_SSP1_1_2___2 = 1242,\n\tFN_SEL_SSP1_1_3___2 = 1243,\n\tFN_SEL_I2C6_0___2 = 1244,\n\tFN_SEL_I2C6_1___2 = 1245,\n\tFN_SEL_I2C6_2___2 = 1246,\n\tFN_SEL_LBSC_0___2 = 1247,\n\tFN_SEL_LBSC_1___2 = 1248,\n\tFN_SEL_SSP1_0_0___2 = 1249,\n\tFN_SEL_SSP1_0_1___2 = 1250,\n\tFN_SEL_SSP1_0_2___2 = 1251,\n\tFN_SEL_SSP1_0_3___2 = 1252,\n\tFN_SEL_SSP1_0_4___2 = 1253,\n\tFN_SEL_IEBUS_0___2 = 1254,\n\tFN_SEL_IEBUS_1___2 = 1255,\n\tFN_SEL_I2C2_0___2 = 1256,\n\tFN_SEL_I2C2_1___2 = 1257,\n\tFN_SEL_SSI2_0___2 = 1258,\n\tFN_SEL_SSI2_1___2 = 1259,\n\tFN_SEL_I2C1_0___2 = 1260,\n\tFN_SEL_I2C1_1___2 = 1261,\n\tFN_SEL_SSI1_0___2 = 1262,\n\tFN_SEL_SSI1_1___2 = 1263,\n\tFN_SEL_SSI9_0___2 = 1264,\n\tFN_SEL_SSI9_1___2 = 1265,\n\tFN_SEL_HSCIF4_0___2 = 1266,\n\tFN_SEL_HSCIF4_1___2 = 1267,\n\tFN_SEL_SPEED_PULSE_0___2 = 1268,\n\tFN_SEL_SPEED_PULSE_1___2 = 1269,\n\tFN_SEL_TIMER_TMU2_0___2 = 1270,\n\tFN_SEL_TIMER_TMU2_1___2 = 1271,\n\tFN_SEL_HSCIF3_0___2 = 1272,\n\tFN_SEL_HSCIF3_1___2 = 1273,\n\tFN_SEL_HSCIF3_2___2 = 1274,\n\tFN_SEL_HSCIF3_3___2 = 1275,\n\tFN_SEL_SIMCARD_0___2 = 1276,\n\tFN_SEL_SIMCARD_1___2 = 1277,\n\tFN_SEL_SIMCARD_2___2 = 1278,\n\tFN_SEL_SIMCARD_3___2 = 1279,\n\tFN_SEL_ADGB_0___2 = 1280,\n\tFN_SEL_ADGB_1___2 = 1281,\n\tFN_SEL_ADGC_0___2 = 1282,\n\tFN_SEL_ADGC_1___2 = 1283,\n\tFN_SEL_HSCIF1_0___2 = 1284,\n\tFN_SEL_HSCIF1_1___2 = 1285,\n\tFN_SEL_SDHI2_0___2 = 1286,\n\tFN_SEL_SDHI2_1___2 = 1287,\n\tFN_SEL_SCIF4_0___2 = 1288,\n\tFN_SEL_SCIF4_1___2 = 1289,\n\tFN_SEL_SCIF4_2___2 = 1290,\n\tFN_SEL_HSCIF2_0___2 = 1291,\n\tFN_SEL_HSCIF2_1___2 = 1292,\n\tFN_SEL_HSCIF2_2___2 = 1293,\n\tFN_SEL_SCIF3_0___2 = 1294,\n\tFN_SEL_SCIF3_1___2 = 1295,\n\tFN_SEL_ETHERAVB_0___2 = 1296,\n\tFN_SEL_ETHERAVB_1___2 = 1297,\n\tFN_SEL_SCIF2_0___2 = 1298,\n\tFN_SEL_SCIF2_1___2 = 1299,\n\tFN_SEL_DRIF3_0___2 = 1300,\n\tFN_SEL_DRIF3_1___2 = 1301,\n\tFN_SEL_SCIF1_0___2 = 1302,\n\tFN_SEL_SCIF1_1___2 = 1303,\n\tFN_SEL_DRIF2_0___2 = 1304,\n\tFN_SEL_DRIF2_1___2 = 1305,\n\tFN_SEL_SCIF_0___2 = 1306,\n\tFN_SEL_SCIF_1___2 = 1307,\n\tFN_SEL_DRIF1_0___2 = 1308,\n\tFN_SEL_DRIF1_1___2 = 1309,\n\tFN_SEL_DRIF1_2___2 = 1310,\n\tFN_SEL_REMOCON_0___2 = 1311,\n\tFN_SEL_REMOCON_1___2 = 1312,\n\tFN_SEL_DRIF0_0___2 = 1313,\n\tFN_SEL_DRIF0_1___2 = 1314,\n\tFN_SEL_DRIF0_2___2 = 1315,\n\tFN_SEL_RCAN0_0___2 = 1316,\n\tFN_SEL_RCAN0_1___2 = 1317,\n\tFN_SEL_CANFD0_0___2 = 1318,\n\tFN_SEL_CANFD0_1___2 = 1319,\n\tFN_SEL_PWM6_0___2 = 1320,\n\tFN_SEL_PWM6_1___2 = 1321,\n\tFN_SEL_ADGA_0___2 = 1322,\n\tFN_SEL_ADGA_1___2 = 1323,\n\tFN_SEL_ADGA_2___2 = 1324,\n\tFN_SEL_ADGA_3___2 = 1325,\n\tFN_SEL_PWM5_0___2 = 1326,\n\tFN_SEL_PWM5_1___2 = 1327,\n\tFN_SEL_PWM4_0___2 = 1328,\n\tFN_SEL_PWM4_1___2 = 1329,\n\tFN_SEL_PWM3_0___2 = 1330,\n\tFN_SEL_PWM3_1___2 = 1331,\n\tFN_SEL_PWM2_0___2 = 1332,\n\tFN_SEL_PWM2_1___2 = 1333,\n\tFN_SEL_PWM1_0___2 = 1334,\n\tFN_SEL_PWM1_1___2 = 1335,\n\tFN_SEL_VIN4_0___2 = 1336,\n\tFN_SEL_VIN4_1___2 = 1337,\n\tPINMUX_FUNCTION_END___2 = 1338,\n\tPINMUX_MARK_BEGIN___2 = 1339,\n\tCLKOUT_MARK___2 = 1340,\n\tMSIOF0_RXD_MARK___2 = 1341,\n\tMSIOF0_TXD_MARK___2 = 1342,\n\tMSIOF0_SCK_MARK___2 = 1343,\n\tSSI_SDATA5_MARK___2 = 1344,\n\tSSI_WS5_MARK___2 = 1345,\n\tSSI_SCK5_MARK___2 = 1346,\n\tGP7_03_MARK___2 = 1347,\n\tGP7_02_MARK___2 = 1348,\n\tAVS2_MARK___2 = 1349,\n\tAVS1_MARK___2 = 1350,\n\tIP0_3_0_MARK___2 = 1351,\n\tAVB_MDC_MARK___2 = 1352,\n\tMSIOF2_SS2_C_MARK___2 = 1353,\n\tIP1_3_0_MARK___2 = 1354,\n\tIRQ2_MARK___2 = 1355,\n\tQCPV_QDE_MARK___2 = 1356,\n\tDU_EXODDF_DU_ODDF_DISP_CDE_MARK___2 = 1357,\n\tVI4_DATA2_B_MARK___2 = 1358,\n\tMSIOF3_SYNC_E_MARK___2 = 1359,\n\tPWM3_B_MARK___2 = 1360,\n\tIP2_3_0_MARK___2 = 1361,\n\tA1_MARK___2 = 1362,\n\tLCDOUT17_MARK___2 = 1363,\n\tMSIOF3_TXD_B_MARK___2 = 1364,\n\tVI4_DATA9_MARK___2 = 1365,\n\tDU_DB1_MARK___2 = 1366,\n\tPWM4_A_MARK___2 = 1367,\n\tIP3_3_0_MARK___2 = 1368,\n\tA9_MARK___2 = 1369,\n\tMSIOF2_SCK_A_MARK___2 = 1370,\n\tCTS4_N_B_MARK___2 = 1371,\n\tVI5_VSYNC_N_MARK___2 = 1372,\n\tIP0_7_4_MARK___2 = 1373,\n\tAVB_MAGIC_MARK___2 = 1374,\n\tMSIOF2_SS1_C_MARK___2 = 1375,\n\tSCK4_A_MARK___2 = 1376,\n\tIP1_7_4_MARK___2 = 1377,\n\tIRQ3_MARK___2 = 1378,\n\tQSTVB_QVE_MARK___2 = 1379,\n\tDU_DOTCLKOUT1_MARK___2 = 1380,\n\tVI4_DATA3_B_MARK___2 = 1381,\n\tMSIOF3_SCK_E_MARK___2 = 1382,\n\tPWM4_B_MARK___2 = 1383,\n\tIP2_7_4_MARK___2 = 1384,\n\tA2_MARK___2 = 1385,\n\tLCDOUT18_MARK___2 = 1386,\n\tMSIOF3_SCK_B_MARK___2 = 1387,\n\tVI4_DATA10_MARK___2 = 1388,\n\tDU_DB2_MARK___2 = 1389,\n\tPWM5_A_MARK___2 = 1390,\n\tIP3_7_4_MARK___2 = 1391,\n\tA10_MARK___2 = 1392,\n\tMSIOF2_RXD_A_MARK___2 = 1393,\n\tRTS4_N_B_MARK___2 = 1394,\n\tVI5_HSYNC_N_MARK___2 = 1395,\n\tIP0_11_8_MARK___2 = 1396,\n\tAVB_PHY_INT_MARK___2 = 1397,\n\tMSIOF2_SYNC_C_MARK___2 = 1398,\n\tRX4_A_MARK___2 = 1399,\n\tIP1_11_8_MARK___2 = 1400,\n\tIRQ4_MARK___2 = 1401,\n\tQSTH_QHS_MARK___2 = 1402,\n\tDU_EXHSYNC_DU_HSYNC_MARK___2 = 1403,\n\tVI4_DATA4_B_MARK___2 = 1404,\n\tMSIOF3_RXD_E_MARK___2 = 1405,\n\tPWM5_B_MARK___2 = 1406,\n\tIP2_11_8_MARK___2 = 1407,\n\tA3_MARK___2 = 1408,\n\tLCDOUT19_MARK___2 = 1409,\n\tMSIOF3_RXD_B_MARK___2 = 1410,\n\tVI4_DATA11_MARK___2 = 1411,\n\tDU_DB3_MARK___2 = 1412,\n\tPWM6_A_MARK___2 = 1413,\n\tIP3_11_8_MARK___2 = 1414,\n\tA11_MARK___2 = 1415,\n\tTX3_B_MARK___2 = 1416,\n\tMSIOF2_TXD_A_MARK___2 = 1417,\n\tHTX4_B_MARK___2 = 1418,\n\tHSCK4_MARK___2 = 1419,\n\tVI5_FIELD_MARK___2 = 1420,\n\tSCL6_A_MARK___2 = 1421,\n\tAVB_AVTP_CAPTURE_B_MARK___2 = 1422,\n\tPWM2_B_MARK___2 = 1423,\n\tIP0_15_12_MARK___2 = 1424,\n\tAVB_LINK_MARK___2 = 1425,\n\tMSIOF2_SCK_C_MARK___2 = 1426,\n\tTX4_A_MARK___2 = 1427,\n\tIP1_15_12_MARK___2 = 1428,\n\tIRQ5_MARK___2 = 1429,\n\tQSTB_QHE_MARK___2 = 1430,\n\tDU_EXVSYNC_DU_VSYNC_MARK___2 = 1431,\n\tVI4_DATA5_B_MARK___2 = 1432,\n\tFSCLKST2_N_B_MARK = 1433,\n\tMSIOF3_TXD_E_MARK___2 = 1434,\n\tPWM6_B_MARK___2 = 1435,\n\tIP2_15_12_MARK___2 = 1436,\n\tA4_MARK___2 = 1437,\n\tLCDOUT20_MARK___2 = 1438,\n\tMSIOF3_SS1_B_MARK___2 = 1439,\n\tVI4_DATA12_MARK___2 = 1440,\n\tVI5_DATA12_MARK___2 = 1441,\n\tDU_DB4_MARK___2 = 1442,\n\tIP3_15_12_MARK___2 = 1443,\n\tA12_MARK___2 = 1444,\n\tLCDOUT12_MARK___2 = 1445,\n\tMSIOF3_SCK_C_MARK___2 = 1446,\n\tHRX4_A_MARK___2 = 1447,\n\tVI5_DATA8_MARK___2 = 1448,\n\tDU_DG4_MARK___2 = 1449,\n\tIP0_19_16_MARK___2 = 1450,\n\tAVB_AVTP_MATCH_A_MARK___2 = 1451,\n\tMSIOF2_RXD_C_MARK___2 = 1452,\n\tCTS4_N_A_MARK___2 = 1453,\n\tFSCLKST2_N_A_MARK = 1454,\n\tIP1_19_16_MARK___2 = 1455,\n\tPWM0_MARK___2 = 1456,\n\tAVB_AVTP_PPS_MARK___2 = 1457,\n\tVI4_DATA6_B_MARK___2 = 1458,\n\tIECLK_B_MARK___2 = 1459,\n\tIP2_19_16_MARK___2 = 1460,\n\tA5_MARK___2 = 1461,\n\tLCDOUT21_MARK___2 = 1462,\n\tMSIOF3_SS2_B_MARK___2 = 1463,\n\tSCK4_B_MARK___2 = 1464,\n\tVI4_DATA13_MARK___2 = 1465,\n\tVI5_DATA13_MARK___2 = 1466,\n\tDU_DB5_MARK___2 = 1467,\n\tIP3_19_16_MARK___2 = 1468,\n\tA13_MARK___2 = 1469,\n\tLCDOUT13_MARK___2 = 1470,\n\tMSIOF3_SYNC_C_MARK___2 = 1471,\n\tHTX4_A_MARK___2 = 1472,\n\tVI5_DATA9_MARK___2 = 1473,\n\tDU_DG5_MARK___2 = 1474,\n\tIP0_23_20_MARK___2 = 1475,\n\tAVB_AVTP_CAPTURE_A_MARK___2 = 1476,\n\tMSIOF2_TXD_C_MARK___2 = 1477,\n\tRTS4_N_A_MARK___2 = 1478,\n\tIP1_23_20_MARK___2 = 1479,\n\tPWM1_A_MARK___2 = 1480,\n\tHRX3_D_MARK___2 = 1481,\n\tVI4_DATA7_B_MARK___2 = 1482,\n\tIERX_B_MARK___2 = 1483,\n\tIP2_23_20_MARK___2 = 1484,\n\tA6_MARK___2 = 1485,\n\tLCDOUT22_MARK___2 = 1486,\n\tMSIOF2_SS1_A_MARK___2 = 1487,\n\tRX4_B_MARK___2 = 1488,\n\tVI4_DATA14_MARK___2 = 1489,\n\tVI5_DATA14_MARK___2 = 1490,\n\tDU_DB6_MARK___2 = 1491,\n\tIP3_23_20_MARK___2 = 1492,\n\tA14_MARK___2 = 1493,\n\tLCDOUT14_MARK___2 = 1494,\n\tMSIOF3_RXD_C_MARK___2 = 1495,\n\tHCTS4_N_MARK___2 = 1496,\n\tVI5_DATA10_MARK___2 = 1497,\n\tDU_DG6_MARK___2 = 1498,\n\tIP0_27_24_MARK___2 = 1499,\n\tIRQ0_MARK___2 = 1500,\n\tQPOLB_MARK___2 = 1501,\n\tDU_CDE_MARK___2 = 1502,\n\tVI4_DATA0_B_MARK___2 = 1503,\n\tCAN0_TX_B_MARK___2 = 1504,\n\tCANFD0_TX_B_MARK___2 = 1505,\n\tMSIOF3_SS2_E_MARK___2 = 1506,\n\tIP1_27_24_MARK___2 = 1507,\n\tPWM2_A_MARK___2 = 1508,\n\tHTX3_D_MARK___2 = 1509,\n\tIETX_B_MARK___2 = 1510,\n\tIP2_27_24_MARK___2 = 1511,\n\tA7_MARK___2 = 1512,\n\tLCDOUT23_MARK___2 = 1513,\n\tMSIOF2_SS2_A_MARK___2 = 1514,\n\tTX4_B_MARK___2 = 1515,\n\tVI4_DATA15_MARK___2 = 1516,\n\tVI5_DATA15_MARK___2 = 1517,\n\tDU_DB7_MARK___2 = 1518,\n\tIP3_27_24_MARK___2 = 1519,\n\tA15_MARK___2 = 1520,\n\tLCDOUT15_MARK___2 = 1521,\n\tMSIOF3_TXD_C_MARK___2 = 1522,\n\tHRTS4_N_MARK___2 = 1523,\n\tVI5_DATA11_MARK___2 = 1524,\n\tDU_DG7_MARK___2 = 1525,\n\tIP0_31_28_MARK___2 = 1526,\n\tIRQ1_MARK___2 = 1527,\n\tQPOLA_MARK___2 = 1528,\n\tDU_DISP_MARK___2 = 1529,\n\tVI4_DATA1_B_MARK___2 = 1530,\n\tCAN0_RX_B_MARK___2 = 1531,\n\tCANFD0_RX_B_MARK___2 = 1532,\n\tMSIOF3_SS1_E_MARK___2 = 1533,\n\tIP1_31_28_MARK___2 = 1534,\n\tA0_MARK___2 = 1535,\n\tLCDOUT16_MARK___2 = 1536,\n\tMSIOF3_SYNC_B_MARK___2 = 1537,\n\tVI4_DATA8_MARK___2 = 1538,\n\tDU_DB0_MARK___2 = 1539,\n\tPWM3_A_MARK___2 = 1540,\n\tIP2_31_28_MARK___2 = 1541,\n\tA8_MARK___2 = 1542,\n\tRX3_B_MARK___2 = 1543,\n\tMSIOF2_SYNC_A_MARK___2 = 1544,\n\tHRX4_B_MARK___2 = 1545,\n\tSDA6_A_MARK___2 = 1546,\n\tAVB_AVTP_MATCH_B_MARK___2 = 1547,\n\tPWM1_B_MARK___2 = 1548,\n\tIP3_31_28_MARK___2 = 1549,\n\tA16_MARK___2 = 1550,\n\tLCDOUT8_MARK___2 = 1551,\n\tVI4_FIELD_MARK___2 = 1552,\n\tDU_DG0_MARK___2 = 1553,\n\tIP4_3_0_MARK___2 = 1554,\n\tA17_MARK___2 = 1555,\n\tLCDOUT9_MARK___2 = 1556,\n\tVI4_VSYNC_N_MARK___2 = 1557,\n\tDU_DG1_MARK___2 = 1558,\n\tIP5_3_0_MARK___2 = 1559,\n\tWE0_N_MARK___2 = 1560,\n\tMSIOF3_TXD_D_MARK___2 = 1561,\n\tCTS3_N_MARK___2 = 1562,\n\tHCTS3_N_MARK___2 = 1563,\n\tSCL6_B_MARK___2 = 1564,\n\tCAN_CLK_MARK___2 = 1565,\n\tIECLK_A_MARK___2 = 1566,\n\tIP6_3_0_MARK___2 = 1567,\n\tD5_MARK___2 = 1568,\n\tMSIOF2_SYNC_B_MARK___2 = 1569,\n\tVI4_DATA21_MARK___2 = 1570,\n\tVI5_DATA5_MARK___2 = 1571,\n\tIP7_3_0_MARK___2 = 1572,\n\tD13_MARK___2 = 1573,\n\tLCDOUT5_MARK___2 = 1574,\n\tMSIOF2_SS2_D_MARK___2 = 1575,\n\tTX4_C_MARK___2 = 1576,\n\tVI4_DATA5_A_MARK___2 = 1577,\n\tDU_DR5_MARK___2 = 1578,\n\tIP4_7_4_MARK___2 = 1579,\n\tA18_MARK___2 = 1580,\n\tLCDOUT10_MARK___2 = 1581,\n\tVI4_HSYNC_N_MARK___2 = 1582,\n\tDU_DG2_MARK___2 = 1583,\n\tIP5_7_4_MARK___2 = 1584,\n\tWE1_N_MARK___2 = 1585,\n\tMSIOF3_SS1_D_MARK___2 = 1586,\n\tRTS3_N_MARK___2 = 1587,\n\tHRTS3_N_MARK___2 = 1588,\n\tSDA6_B_MARK___2 = 1589,\n\tCAN1_RX_MARK___2 = 1590,\n\tCANFD1_RX_MARK___2 = 1591,\n\tIERX_A_MARK___2 = 1592,\n\tIP6_7_4_MARK___2 = 1593,\n\tD6_MARK___2 = 1594,\n\tMSIOF2_RXD_B_MARK___2 = 1595,\n\tVI4_DATA22_MARK___2 = 1596,\n\tVI5_DATA6_MARK___2 = 1597,\n\tIP7_7_4_MARK___2 = 1598,\n\tD14_MARK___2 = 1599,\n\tLCDOUT6_MARK___2 = 1600,\n\tMSIOF3_SS1_A_MARK___2 = 1601,\n\tHRX3_C_MARK___2 = 1602,\n\tVI4_DATA6_A_MARK___2 = 1603,\n\tDU_DR6_MARK___2 = 1604,\n\tSCL6_C_MARK___2 = 1605,\n\tIP4_11_8_MARK___2 = 1606,\n\tA19_MARK___2 = 1607,\n\tLCDOUT11_MARK___2 = 1608,\n\tVI4_CLKENB_MARK___2 = 1609,\n\tDU_DG3_MARK___2 = 1610,\n\tIP5_11_8_MARK___2 = 1611,\n\tEX_WAIT0_A_MARK___2 = 1612,\n\tQCLK_MARK___2 = 1613,\n\tVI4_CLK_MARK___2 = 1614,\n\tDU_DOTCLKOUT0_MARK___2 = 1615,\n\tIP6_11_8_MARK___2 = 1616,\n\tD7_MARK___2 = 1617,\n\tMSIOF2_TXD_B_MARK___2 = 1618,\n\tVI4_DATA23_MARK___2 = 1619,\n\tVI5_DATA7_MARK___2 = 1620,\n\tIP7_11_8_MARK___2 = 1621,\n\tD15_MARK___2 = 1622,\n\tLCDOUT7_MARK___2 = 1623,\n\tMSIOF3_SS2_A_MARK___2 = 1624,\n\tHTX3_C_MARK___2 = 1625,\n\tVI4_DATA7_A_MARK___2 = 1626,\n\tDU_DR7_MARK___2 = 1627,\n\tSDA6_C_MARK___2 = 1628,\n\tIP4_15_12_MARK___2 = 1629,\n\tCS0_N_MARK___2 = 1630,\n\tVI5_CLKENB_MARK___2 = 1631,\n\tIP5_15_12_MARK___2 = 1632,\n\tD0_MARK___2 = 1633,\n\tMSIOF2_SS1_B_MARK___2 = 1634,\n\tMSIOF3_SCK_A_MARK___2 = 1635,\n\tVI4_DATA16_MARK___2 = 1636,\n\tVI5_DATA0_MARK___2 = 1637,\n\tIP6_15_12_MARK___2 = 1638,\n\tD8_MARK___2 = 1639,\n\tLCDOUT0_MARK___2 = 1640,\n\tMSIOF2_SCK_D_MARK___2 = 1641,\n\tSCK4_C_MARK___2 = 1642,\n\tVI4_DATA0_A_MARK___2 = 1643,\n\tDU_DR0_MARK___2 = 1644,\n\tIP4_19_16_MARK___2 = 1645,\n\tCS1_N_MARK___2 = 1646,\n\tVI5_CLK_MARK___2 = 1647,\n\tEX_WAIT0_B_MARK___2 = 1648,\n\tIP5_19_16_MARK___2 = 1649,\n\tD1_MARK___2 = 1650,\n\tMSIOF2_SS2_B_MARK___2 = 1651,\n\tMSIOF3_SYNC_A_MARK___2 = 1652,\n\tVI4_DATA17_MARK___2 = 1653,\n\tVI5_DATA1_MARK___2 = 1654,\n\tIP6_19_16_MARK___2 = 1655,\n\tD9_MARK___2 = 1656,\n\tLCDOUT1_MARK___2 = 1657,\n\tMSIOF2_SYNC_D_MARK___2 = 1658,\n\tVI4_DATA1_A_MARK___2 = 1659,\n\tDU_DR1_MARK___2 = 1660,\n\tIP7_19_16_MARK___2 = 1661,\n\tSD0_CLK_MARK___2 = 1662,\n\tMSIOF1_SCK_E_MARK___2 = 1663,\n\tSTP_OPWM_0_B_MARK___2 = 1664,\n\tIP4_23_20_MARK___2 = 1665,\n\tBS_N_MARK___2 = 1666,\n\tQSTVA_QVS_MARK___2 = 1667,\n\tMSIOF3_SCK_D_MARK___2 = 1668,\n\tSCK3_MARK___2 = 1669,\n\tHSCK3_MARK___2 = 1670,\n\tCAN1_TX_MARK___2 = 1671,\n\tCANFD1_TX_MARK___2 = 1672,\n\tIETX_A_MARK___2 = 1673,\n\tIP5_23_20_MARK___2 = 1674,\n\tD2_MARK___2 = 1675,\n\tMSIOF3_RXD_A_MARK___2 = 1676,\n\tVI4_DATA18_MARK___2 = 1677,\n\tVI5_DATA2_MARK___2 = 1678,\n\tIP6_23_20_MARK___2 = 1679,\n\tD10_MARK___2 = 1680,\n\tLCDOUT2_MARK___2 = 1681,\n\tMSIOF2_RXD_D_MARK___2 = 1682,\n\tHRX3_B_MARK___2 = 1683,\n\tVI4_DATA2_A_MARK___2 = 1684,\n\tCTS4_N_C_MARK___2 = 1685,\n\tDU_DR2_MARK___2 = 1686,\n\tIP7_23_20_MARK___2 = 1687,\n\tSD0_CMD_MARK___2 = 1688,\n\tMSIOF1_SYNC_E_MARK___2 = 1689,\n\tSTP_IVCXO27_0_B_MARK___2 = 1690,\n\tIP4_27_24_MARK___2 = 1691,\n\tRD_N_MARK___2 = 1692,\n\tMSIOF3_SYNC_D_MARK___2 = 1693,\n\tRX3_A_MARK___2 = 1694,\n\tHRX3_A_MARK___2 = 1695,\n\tCAN0_TX_A_MARK___2 = 1696,\n\tCANFD0_TX_A_MARK___2 = 1697,\n\tIP5_27_24_MARK___2 = 1698,\n\tD3_MARK___2 = 1699,\n\tMSIOF3_TXD_A_MARK___2 = 1700,\n\tVI4_DATA19_MARK___2 = 1701,\n\tVI5_DATA3_MARK___2 = 1702,\n\tIP6_27_24_MARK___2 = 1703,\n\tD11_MARK___2 = 1704,\n\tLCDOUT3_MARK___2 = 1705,\n\tMSIOF2_TXD_D_MARK___2 = 1706,\n\tHTX3_B_MARK___2 = 1707,\n\tVI4_DATA3_A_MARK___2 = 1708,\n\tRTS4_N_C_MARK___2 = 1709,\n\tDU_DR3_MARK___2 = 1710,\n\tIP7_27_24_MARK___2 = 1711,\n\tSD0_DAT0_MARK___2 = 1712,\n\tMSIOF1_RXD_E_MARK___2 = 1713,\n\tTS_SCK0_B_MARK___2 = 1714,\n\tSTP_ISCLK_0_B_MARK___2 = 1715,\n\tIP4_31_28_MARK___2 = 1716,\n\tRD_WR_N_MARK___2 = 1717,\n\tMSIOF3_RXD_D_MARK___2 = 1718,\n\tTX3_A_MARK___2 = 1719,\n\tHTX3_A_MARK___2 = 1720,\n\tCAN0_RX_A_MARK___2 = 1721,\n\tCANFD0_RX_A_MARK___2 = 1722,\n\tIP5_31_28_MARK___2 = 1723,\n\tD4_MARK___2 = 1724,\n\tMSIOF2_SCK_B_MARK___2 = 1725,\n\tVI4_DATA20_MARK___2 = 1726,\n\tVI5_DATA4_MARK___2 = 1727,\n\tIP6_31_28_MARK___2 = 1728,\n\tD12_MARK___2 = 1729,\n\tLCDOUT4_MARK___2 = 1730,\n\tMSIOF2_SS1_D_MARK___2 = 1731,\n\tRX4_C_MARK___2 = 1732,\n\tVI4_DATA4_A_MARK___2 = 1733,\n\tDU_DR4_MARK___2 = 1734,\n\tIP7_31_28_MARK___2 = 1735,\n\tSD0_DAT1_MARK___2 = 1736,\n\tMSIOF1_TXD_E_MARK___2 = 1737,\n\tTS_SPSYNC0_B_MARK___2 = 1738,\n\tSTP_ISSYNC_0_B_MARK___2 = 1739,\n\tIP8_3_0_MARK___2 = 1740,\n\tSD0_DAT2_MARK___2 = 1741,\n\tMSIOF1_SS1_E_MARK___2 = 1742,\n\tTS_SDAT0_B_MARK___2 = 1743,\n\tSTP_ISD_0_B_MARK___2 = 1744,\n\tIP9_3_0_MARK___2 = 1745,\n\tSD2_CLK_MARK___2 = 1746,\n\tNFDATA8_MARK___2 = 1747,\n\tIP10_3_0_MARK___2 = 1748,\n\tSD3_CMD_MARK___2 = 1749,\n\tNFRE_N_MARK___2 = 1750,\n\tIP11_3_0_MARK___2 = 1751,\n\tSD3_DAT7_MARK___2 = 1752,\n\tSD3_WP_MARK___2 = 1753,\n\tNFDATA7_MARK___2 = 1754,\n\tIP8_7_4_MARK___2 = 1755,\n\tSD0_DAT3_MARK___2 = 1756,\n\tMSIOF1_SS2_E_MARK___2 = 1757,\n\tTS_SDEN0_B_MARK___2 = 1758,\n\tSTP_ISEN_0_B_MARK___2 = 1759,\n\tIP9_7_4_MARK___2 = 1760,\n\tSD2_CMD_MARK___2 = 1761,\n\tNFDATA9_MARK___2 = 1762,\n\tIP10_7_4_MARK___2 = 1763,\n\tSD3_DAT0_MARK___2 = 1764,\n\tNFDATA0_MARK___2 = 1765,\n\tIP11_7_4_MARK___2 = 1766,\n\tSD3_DS_MARK___2 = 1767,\n\tNFCLE_MARK___2 = 1768,\n\tIP8_11_8_MARK___2 = 1769,\n\tSD1_CLK_MARK___2 = 1770,\n\tMSIOF1_SCK_G_MARK___2 = 1771,\n\tSIM0_CLK_A_MARK___2 = 1772,\n\tIP9_11_8_MARK___2 = 1773,\n\tSD2_DAT0_MARK___2 = 1774,\n\tNFDATA10_MARK___2 = 1775,\n\tIP10_11_8_MARK___2 = 1776,\n\tSD3_DAT1_MARK___2 = 1777,\n\tNFDATA1_MARK___2 = 1778,\n\tIP11_11_8_MARK___2 = 1779,\n\tSD0_CD_MARK___2 = 1780,\n\tNFDATA14_A_MARK___2 = 1781,\n\tSCL2_B_MARK___2 = 1782,\n\tSIM0_RST_A_MARK___2 = 1783,\n\tIP8_15_12_MARK___2 = 1784,\n\tSD1_CMD_MARK___2 = 1785,\n\tMSIOF1_SYNC_G_MARK___2 = 1786,\n\tNFCE_N_B_MARK___2 = 1787,\n\tSIM0_D_A_MARK___2 = 1788,\n\tSTP_IVCXO27_1_B_MARK___2 = 1789,\n\tIP9_15_12_MARK___2 = 1790,\n\tSD2_DAT1_MARK___2 = 1791,\n\tNFDATA11_MARK___2 = 1792,\n\tIP10_15_12_MARK___2 = 1793,\n\tSD3_DAT2_MARK___2 = 1794,\n\tNFDATA2_MARK___2 = 1795,\n\tIP11_15_12_MARK___2 = 1796,\n\tSD0_WP_MARK___2 = 1797,\n\tNFDATA15_A_MARK___2 = 1798,\n\tSDA2_B_MARK___2 = 1799,\n\tIP8_19_16_MARK___2 = 1800,\n\tSD1_DAT0_MARK___2 = 1801,\n\tSD2_DAT4_MARK___2 = 1802,\n\tMSIOF1_RXD_G_MARK___2 = 1803,\n\tNFWP_N_B_MARK___2 = 1804,\n\tTS_SCK1_B_MARK___2 = 1805,\n\tSTP_ISCLK_1_B_MARK___2 = 1806,\n\tIP9_19_16_MARK___2 = 1807,\n\tSD2_DAT2_MARK___2 = 1808,\n\tNFDATA12_MARK___2 = 1809,\n\tIP10_19_16_MARK___2 = 1810,\n\tSD3_DAT3_MARK___2 = 1811,\n\tNFDATA3_MARK___2 = 1812,\n\tIP11_19_16_MARK___2 = 1813,\n\tSD1_CD_MARK___2 = 1814,\n\tNFRB_N_A_MARK___2 = 1815,\n\tSIM0_CLK_B_MARK___2 = 1816,\n\tIP8_23_20_MARK___2 = 1817,\n\tSD1_DAT1_MARK___2 = 1818,\n\tSD2_DAT5_MARK___2 = 1819,\n\tMSIOF1_TXD_G_MARK___2 = 1820,\n\tNFDATA14_B_MARK___2 = 1821,\n\tTS_SPSYNC1_B_MARK___2 = 1822,\n\tSTP_ISSYNC_1_B_MARK___2 = 1823,\n\tIP9_23_20_MARK___2 = 1824,\n\tSD2_DAT3_MARK___2 = 1825,\n\tNFDATA13_MARK___2 = 1826,\n\tIP10_23_20_MARK___2 = 1827,\n\tSD3_DAT4_MARK___2 = 1828,\n\tSD2_CD_A_MARK___2 = 1829,\n\tNFDATA4_MARK___2 = 1830,\n\tIP11_23_20_MARK___2 = 1831,\n\tSD1_WP_MARK___2 = 1832,\n\tNFCE_N_A_MARK___2 = 1833,\n\tSIM0_D_B_MARK___2 = 1834,\n\tIP8_27_24_MARK___2 = 1835,\n\tSD1_DAT2_MARK___2 = 1836,\n\tSD2_DAT6_MARK___2 = 1837,\n\tMSIOF1_SS1_G_MARK___2 = 1838,\n\tNFDATA15_B_MARK___2 = 1839,\n\tTS_SDAT1_B_MARK___2 = 1840,\n\tSTP_ISD_1_B_MARK___2 = 1841,\n\tIP9_27_24_MARK___2 = 1842,\n\tSD2_DS_MARK___2 = 1843,\n\tNFALE_MARK___2 = 1844,\n\tSATA_DEVSLP_B_MARK = 1845,\n\tIP10_27_24_MARK___2 = 1846,\n\tSD3_DAT5_MARK___2 = 1847,\n\tSD2_WP_A_MARK___2 = 1848,\n\tNFDATA5_MARK___2 = 1849,\n\tIP11_27_24_MARK___2 = 1850,\n\tSCK0_MARK___2 = 1851,\n\tHSCK1_B_MARK___2 = 1852,\n\tMSIOF1_SS2_B_MARK___2 = 1853,\n\tAUDIO_CLKC_B_MARK___2 = 1854,\n\tSDA2_A_MARK___2 = 1855,\n\tSIM0_RST_B_MARK___2 = 1856,\n\tSTP_OPWM_0_C_MARK___2 = 1857,\n\tRIF0_CLK_B_MARK___2 = 1858,\n\tADICHS2_MARK___2 = 1859,\n\tSCK5_B_MARK___2 = 1860,\n\tIP8_31_28_MARK___2 = 1861,\n\tSD1_DAT3_MARK___2 = 1862,\n\tSD2_DAT7_MARK___2 = 1863,\n\tMSIOF1_SS2_G_MARK___2 = 1864,\n\tNFRB_N_B_MARK___2 = 1865,\n\tTS_SDEN1_B_MARK___2 = 1866,\n\tSTP_ISEN_1_B_MARK___2 = 1867,\n\tIP9_31_28_MARK___2 = 1868,\n\tSD3_CLK_MARK___2 = 1869,\n\tNFWE_N_MARK___2 = 1870,\n\tIP10_31_28_MARK___2 = 1871,\n\tSD3_DAT6_MARK___2 = 1872,\n\tSD3_CD_MARK___2 = 1873,\n\tNFDATA6_MARK___2 = 1874,\n\tIP11_31_28_MARK___2 = 1875,\n\tRX0_MARK___2 = 1876,\n\tHRX1_B_MARK___2 = 1877,\n\tTS_SCK0_C_MARK___2 = 1878,\n\tSTP_ISCLK_0_C_MARK___2 = 1879,\n\tRIF0_D0_B_MARK___2 = 1880,\n\tIP12_3_0_MARK___2 = 1881,\n\tTX0_MARK___2 = 1882,\n\tHTX1_B_MARK___2 = 1883,\n\tTS_SPSYNC0_C_MARK___2 = 1884,\n\tSTP_ISSYNC_0_C_MARK___2 = 1885,\n\tRIF0_D1_B_MARK___2 = 1886,\n\tIP13_3_0_MARK___2 = 1887,\n\tTX2_A_MARK___2 = 1888,\n\tSD2_CD_B_MARK___2 = 1889,\n\tSCL1_A_MARK___2 = 1890,\n\tFMCLK_A_MARK___2 = 1891,\n\tRIF1_D1_C_MARK___2 = 1892,\n\tFSO_CFE_0_N_MARK___2 = 1893,\n\tIP14_3_0_MARK___2 = 1894,\n\tMSIOF0_SS1_MARK___2 = 1895,\n\tRX5_A_MARK___2 = 1896,\n\tNFWP_N_A_MARK___2 = 1897,\n\tAUDIO_CLKA_C_MARK___2 = 1898,\n\tSSI_SCK2_A_MARK___2 = 1899,\n\tSTP_IVCXO27_0_C_MARK___2 = 1900,\n\tAUDIO_CLKOUT3_A_MARK___2 = 1901,\n\tTCLK1_B_MARK___2 = 1902,\n\tIP15_3_0_MARK___2 = 1903,\n\tSSI_SDATA1_A_MARK___2 = 1904,\n\tIP12_7_4_MARK___2 = 1905,\n\tCTS0_N_MARK___2 = 1906,\n\tHCTS1_N_B_MARK___2 = 1907,\n\tMSIOF1_SYNC_B_MARK___2 = 1908,\n\tTS_SPSYNC1_C_MARK___2 = 1909,\n\tSTP_ISSYNC_1_C_MARK___2 = 1910,\n\tRIF1_SYNC_B_MARK___2 = 1911,\n\tAUDIO_CLKOUT_C_MARK___2 = 1912,\n\tADICS_SAMP_MARK___2 = 1913,\n\tIP13_7_4_MARK___2 = 1914,\n\tRX2_A_MARK___2 = 1915,\n\tSD2_WP_B_MARK___2 = 1916,\n\tSDA1_A_MARK___2 = 1917,\n\tFMIN_A_MARK___2 = 1918,\n\tRIF1_SYNC_C_MARK___2 = 1919,\n\tFSO_CFE_1_N_MARK___2 = 1920,\n\tIP14_7_4_MARK___2 = 1921,\n\tMSIOF0_SS2_MARK___2 = 1922,\n\tTX5_A_MARK___2 = 1923,\n\tMSIOF1_SS2_D_MARK___2 = 1924,\n\tAUDIO_CLKC_A_MARK___2 = 1925,\n\tSSI_WS2_A_MARK___2 = 1926,\n\tSTP_OPWM_0_D_MARK___2 = 1927,\n\tAUDIO_CLKOUT_D_MARK___2 = 1928,\n\tSPEEDIN_B_MARK___2 = 1929,\n\tIP15_7_4_MARK___2 = 1930,\n\tSSI_SDATA2_A_MARK___2 = 1931,\n\tSSI_SCK1_B_MARK___2 = 1932,\n\tIP12_11_8_MARK___2 = 1933,\n\tRTS0_N_MARK___2 = 1934,\n\tHRTS1_N_B_MARK___2 = 1935,\n\tMSIOF1_SS1_B_MARK___2 = 1936,\n\tAUDIO_CLKA_B_MARK___2 = 1937,\n\tSCL2_A_MARK___2 = 1938,\n\tSTP_IVCXO27_1_C_MARK___2 = 1939,\n\tRIF0_SYNC_B_MARK___2 = 1940,\n\tADICHS1_MARK___2 = 1941,\n\tIP13_11_8_MARK___2 = 1942,\n\tHSCK0_MARK___2 = 1943,\n\tMSIOF1_SCK_D_MARK___2 = 1944,\n\tAUDIO_CLKB_A_MARK___2 = 1945,\n\tSSI_SDATA1_B_MARK___2 = 1946,\n\tTS_SCK0_D_MARK___2 = 1947,\n\tSTP_ISCLK_0_D_MARK___2 = 1948,\n\tRIF0_CLK_C_MARK___2 = 1949,\n\tRX5_B_MARK___2 = 1950,\n\tIP14_11_8_MARK___2 = 1951,\n\tMLB_CLK_MARK___2 = 1952,\n\tMSIOF1_SCK_F_MARK___2 = 1953,\n\tSCL1_B_MARK___2 = 1954,\n\tIP15_11_8_MARK___2 = 1955,\n\tSSI_SCK349_MARK___2 = 1956,\n\tMSIOF1_SS1_A_MARK___2 = 1957,\n\tSTP_OPWM_0_A_MARK___2 = 1958,\n\tIP12_15_12_MARK___2 = 1959,\n\tRX1_A_MARK___2 = 1960,\n\tHRX1_A_MARK___2 = 1961,\n\tTS_SDAT0_C_MARK___2 = 1962,\n\tSTP_ISD_0_C_MARK___2 = 1963,\n\tRIF1_CLK_C_MARK___2 = 1964,\n\tIP13_15_12_MARK___2 = 1965,\n\tHRX0_MARK___2 = 1966,\n\tMSIOF1_RXD_D_MARK___2 = 1967,\n\tSSI_SDATA2_B_MARK___2 = 1968,\n\tTS_SDEN0_D_MARK___2 = 1969,\n\tSTP_ISEN_0_D_MARK___2 = 1970,\n\tRIF0_D0_C_MARK___2 = 1971,\n\tIP14_15_12_MARK___2 = 1972,\n\tMLB_SIG_MARK___2 = 1973,\n\tRX1_B_MARK___2 = 1974,\n\tMSIOF1_SYNC_F_MARK___2 = 1975,\n\tSDA1_B_MARK___2 = 1976,\n\tIP15_15_12_MARK___2 = 1977,\n\tSSI_WS349_MARK___2 = 1978,\n\tHCTS2_N_A_MARK___2 = 1979,\n\tMSIOF1_SS2_A_MARK___2 = 1980,\n\tSTP_IVCXO27_0_A_MARK___2 = 1981,\n\tIP12_19_16_MARK___2 = 1982,\n\tTX1_A_MARK___2 = 1983,\n\tHTX1_A_MARK___2 = 1984,\n\tTS_SDEN0_C_MARK___2 = 1985,\n\tSTP_ISEN_0_C_MARK___2 = 1986,\n\tRIF1_D0_C_MARK___2 = 1987,\n\tIP13_19_16_MARK___2 = 1988,\n\tHTX0_MARK___2 = 1989,\n\tMSIOF1_TXD_D_MARK___2 = 1990,\n\tSSI_SDATA9_B_MARK___2 = 1991,\n\tTS_SDAT0_D_MARK___2 = 1992,\n\tSTP_ISD_0_D_MARK___2 = 1993,\n\tRIF0_D1_C_MARK___2 = 1994,\n\tIP14_19_16_MARK___2 = 1995,\n\tMLB_DAT_MARK___2 = 1996,\n\tTX1_B_MARK___2 = 1997,\n\tMSIOF1_RXD_F_MARK___2 = 1998,\n\tIP15_19_16_MARK___2 = 1999,\n\tSSI_SDATA3_MARK___2 = 2000,\n\tHRTS2_N_A_MARK___2 = 2001,\n\tMSIOF1_TXD_A_MARK___2 = 2002,\n\tTS_SCK0_A_MARK___2 = 2003,\n\tSTP_ISCLK_0_A_MARK___2 = 2004,\n\tRIF0_D1_A_MARK___2 = 2005,\n\tRIF2_D0_A_MARK___2 = 2006,\n\tIP12_23_20_MARK___2 = 2007,\n\tCTS1_N_MARK___2 = 2008,\n\tHCTS1_N_A_MARK___2 = 2009,\n\tMSIOF1_RXD_B_MARK___2 = 2010,\n\tTS_SDEN1_C_MARK___2 = 2011,\n\tSTP_ISEN_1_C_MARK___2 = 2012,\n\tRIF1_D0_B_MARK___2 = 2013,\n\tADIDATA_MARK___2 = 2014,\n\tIP13_23_20_MARK___2 = 2015,\n\tHCTS0_N_MARK___2 = 2016,\n\tRX2_B_MARK___2 = 2017,\n\tMSIOF1_SYNC_D_MARK___2 = 2018,\n\tSSI_SCK9_A_MARK___2 = 2019,\n\tTS_SPSYNC0_D_MARK___2 = 2020,\n\tSTP_ISSYNC_0_D_MARK___2 = 2021,\n\tRIF0_SYNC_C_MARK___2 = 2022,\n\tAUDIO_CLKOUT1_A_MARK___2 = 2023,\n\tIP14_23_20_MARK___2 = 2024,\n\tSSI_SCK01239_MARK___2 = 2025,\n\tMSIOF1_TXD_F_MARK___2 = 2026,\n\tIP15_23_20_MARK___2 = 2027,\n\tSSI_SCK4_MARK___2 = 2028,\n\tHRX2_A_MARK___2 = 2029,\n\tMSIOF1_SCK_A_MARK___2 = 2030,\n\tTS_SDAT0_A_MARK___2 = 2031,\n\tSTP_ISD_0_A_MARK___2 = 2032,\n\tRIF0_CLK_A_MARK___2 = 2033,\n\tRIF2_CLK_A_MARK___2 = 2034,\n\tIP12_27_24_MARK___2 = 2035,\n\tRTS1_N_MARK___2 = 2036,\n\tHRTS1_N_A_MARK___2 = 2037,\n\tMSIOF1_TXD_B_MARK___2 = 2038,\n\tTS_SDAT1_C_MARK___2 = 2039,\n\tSTP_ISD_1_C_MARK___2 = 2040,\n\tRIF1_D1_B_MARK___2 = 2041,\n\tADICHS0_MARK___2 = 2042,\n\tIP13_27_24_MARK___2 = 2043,\n\tHRTS0_N_MARK___2 = 2044,\n\tTX2_B_MARK___2 = 2045,\n\tMSIOF1_SS1_D_MARK___2 = 2046,\n\tSSI_WS9_A_MARK___2 = 2047,\n\tSTP_IVCXO27_0_D_MARK___2 = 2048,\n\tBPFCLK_A_MARK___2 = 2049,\n\tAUDIO_CLKOUT2_A_MARK___2 = 2050,\n\tIP14_27_24_MARK___2 = 2051,\n\tSSI_WS01239_MARK___2 = 2052,\n\tMSIOF1_SS1_F_MARK___2 = 2053,\n\tIP15_27_24_MARK___2 = 2054,\n\tSSI_WS4_MARK___2 = 2055,\n\tHTX2_A_MARK___2 = 2056,\n\tMSIOF1_SYNC_A_MARK___2 = 2057,\n\tTS_SDEN0_A_MARK___2 = 2058,\n\tSTP_ISEN_0_A_MARK___2 = 2059,\n\tRIF0_SYNC_A_MARK___2 = 2060,\n\tRIF2_SYNC_A_MARK___2 = 2061,\n\tIP12_31_28_MARK___2 = 2062,\n\tSCK2_MARK___2 = 2063,\n\tSCIF_CLK_B_MARK___2 = 2064,\n\tMSIOF1_SCK_B_MARK___2 = 2065,\n\tTS_SCK1_C_MARK___2 = 2066,\n\tSTP_ISCLK_1_C_MARK___2 = 2067,\n\tRIF1_CLK_B_MARK___2 = 2068,\n\tADICLK_MARK___2 = 2069,\n\tIP13_31_28_MARK___2 = 2070,\n\tMSIOF0_SYNC_MARK___2 = 2071,\n\tAUDIO_CLKOUT_A_MARK___2 = 2072,\n\tTX5_B_MARK___2 = 2073,\n\tBPFCLK_D_MARK___2 = 2074,\n\tIP14_31_28_MARK___2 = 2075,\n\tSSI_SDATA0_MARK___2 = 2076,\n\tMSIOF1_SS2_F_MARK___2 = 2077,\n\tIP15_31_28_MARK___2 = 2078,\n\tSSI_SDATA4_MARK___2 = 2079,\n\tHSCK2_A_MARK___2 = 2080,\n\tMSIOF1_RXD_A_MARK___2 = 2081,\n\tTS_SPSYNC0_A_MARK___2 = 2082,\n\tSTP_ISSYNC_0_A_MARK___2 = 2083,\n\tRIF0_D0_A_MARK___2 = 2084,\n\tRIF2_D1_A_MARK___2 = 2085,\n\tIP16_3_0_MARK___2 = 2086,\n\tSSI_SCK6_MARK___2 = 2087,\n\tUSB2_PWEN_MARK = 2088,\n\tSIM0_RST_D_MARK___2 = 2089,\n\tIP17_3_0_MARK___2 = 2090,\n\tAUDIO_CLKA_A_MARK___2 = 2091,\n\tIP18_3_0_MARK___2 = 2092,\n\tUSB2_CH3_PWEN_MARK = 2093,\n\tAUDIO_CLKOUT2_B_MARK___2 = 2094,\n\tSSI_SCK9_B_MARK___2 = 2095,\n\tTS_SDEN0_E_MARK___2 = 2096,\n\tSTP_ISEN_0_E_MARK___2 = 2097,\n\tRIF2_D0_B_MARK___2 = 2098,\n\tTPU0TO2_MARK___2 = 2099,\n\tFMCLK_C_MARK___2 = 2100,\n\tFMCLK_D_MARK___2 = 2101,\n\tIP16_7_4_MARK___2 = 2102,\n\tSSI_WS6_MARK___2 = 2103,\n\tUSB2_OVC_MARK = 2104,\n\tSIM0_D_D_MARK___2 = 2105,\n\tIP17_7_4_MARK___2 = 2106,\n\tAUDIO_CLKB_B_MARK___2 = 2107,\n\tSCIF_CLK_A_MARK___2 = 2108,\n\tSTP_IVCXO27_1_D_MARK___2 = 2109,\n\tREMOCON_A_MARK___2 = 2110,\n\tTCLK1_A_MARK___2 = 2111,\n\tIP18_7_4_MARK___2 = 2112,\n\tUSB2_CH3_OVC_MARK = 2113,\n\tAUDIO_CLKOUT3_B_MARK___2 = 2114,\n\tSSI_WS9_B_MARK___2 = 2115,\n\tTS_SPSYNC0_E_MARK___2 = 2116,\n\tSTP_ISSYNC_0_E_MARK___2 = 2117,\n\tRIF2_D1_B_MARK___2 = 2118,\n\tTPU0TO3_MARK___2 = 2119,\n\tFMIN_C_MARK___2 = 2120,\n\tFMIN_D_MARK___2 = 2121,\n\tIP16_11_8_MARK___2 = 2122,\n\tSSI_SDATA6_MARK___2 = 2123,\n\tSIM0_CLK_D_MARK___2 = 2124,\n\tSATA_DEVSLP_A_MARK = 2125,\n\tIP17_11_8_MARK___2 = 2126,\n\tUSB0_PWEN_MARK___2 = 2127,\n\tSIM0_RST_C_MARK___2 = 2128,\n\tTS_SCK1_D_MARK___2 = 2129,\n\tSTP_ISCLK_1_D_MARK___2 = 2130,\n\tBPFCLK_B_MARK___2 = 2131,\n\tRIF3_CLK_B_MARK___2 = 2132,\n\tHSCK2_C_MARK___2 = 2133,\n\tIP16_15_12_MARK___2 = 2134,\n\tSSI_SCK78_MARK___2 = 2135,\n\tHRX2_B_MARK___2 = 2136,\n\tMSIOF1_SCK_C_MARK___2 = 2137,\n\tTS_SCK1_A_MARK___2 = 2138,\n\tSTP_ISCLK_1_A_MARK___2 = 2139,\n\tRIF1_CLK_A_MARK___2 = 2140,\n\tRIF3_CLK_A_MARK___2 = 2141,\n\tIP17_15_12_MARK___2 = 2142,\n\tUSB0_OVC_MARK___2 = 2143,\n\tSIM0_D_C_MARK___2 = 2144,\n\tTS_SDAT1_D_MARK___2 = 2145,\n\tSTP_ISD_1_D_MARK___2 = 2146,\n\tRIF3_SYNC_B_MARK___2 = 2147,\n\tHRX2_C_MARK___2 = 2148,\n\tIP16_19_16_MARK___2 = 2149,\n\tSSI_WS78_MARK___2 = 2150,\n\tHTX2_B_MARK___2 = 2151,\n\tMSIOF1_SYNC_C_MARK___2 = 2152,\n\tTS_SDAT1_A_MARK___2 = 2153,\n\tSTP_ISD_1_A_MARK___2 = 2154,\n\tRIF1_SYNC_A_MARK___2 = 2155,\n\tRIF3_SYNC_A_MARK___2 = 2156,\n\tIP17_19_16_MARK___2 = 2157,\n\tUSB1_PWEN_MARK___2 = 2158,\n\tSIM0_CLK_C_MARK___2 = 2159,\n\tSSI_SCK1_A_MARK___2 = 2160,\n\tTS_SCK0_E_MARK___2 = 2161,\n\tSTP_ISCLK_0_E_MARK___2 = 2162,\n\tFMCLK_B_MARK___2 = 2163,\n\tRIF2_CLK_B_MARK___2 = 2164,\n\tSPEEDIN_A_MARK___2 = 2165,\n\tHTX2_C_MARK___2 = 2166,\n\tIP16_23_20_MARK___2 = 2167,\n\tSSI_SDATA7_MARK___2 = 2168,\n\tHCTS2_N_B_MARK___2 = 2169,\n\tMSIOF1_RXD_C_MARK___2 = 2170,\n\tTS_SDEN1_A_MARK___2 = 2171,\n\tSTP_ISEN_1_A_MARK___2 = 2172,\n\tRIF1_D0_A_MARK___2 = 2173,\n\tRIF3_D0_A_MARK___2 = 2174,\n\tTCLK2_A_MARK___2 = 2175,\n\tIP17_23_20_MARK___2 = 2176,\n\tUSB1_OVC_MARK___2 = 2177,\n\tMSIOF1_SS2_C_MARK___2 = 2178,\n\tSSI_WS1_A_MARK___2 = 2179,\n\tTS_SDAT0_E_MARK___2 = 2180,\n\tSTP_ISD_0_E_MARK___2 = 2181,\n\tFMIN_B_MARK___2 = 2182,\n\tRIF2_SYNC_B_MARK___2 = 2183,\n\tREMOCON_B_MARK___2 = 2184,\n\tHCTS2_N_C_MARK___2 = 2185,\n\tIP16_27_24_MARK___2 = 2186,\n\tSSI_SDATA8_MARK___2 = 2187,\n\tHRTS2_N_B_MARK___2 = 2188,\n\tMSIOF1_TXD_C_MARK___2 = 2189,\n\tTS_SPSYNC1_A_MARK___2 = 2190,\n\tSTP_ISSYNC_1_A_MARK___2 = 2191,\n\tRIF1_D1_A_MARK___2 = 2192,\n\tRIF3_D1_A_MARK___2 = 2193,\n\tIP17_27_24_MARK___2 = 2194,\n\tUSB30_PWEN_MARK___2 = 2195,\n\tAUDIO_CLKOUT_B_MARK___2 = 2196,\n\tSSI_SCK2_B_MARK___2 = 2197,\n\tTS_SDEN1_D_MARK___2 = 2198,\n\tSTP_ISEN_1_D_MARK___2 = 2199,\n\tSTP_OPWM_0_E_MARK___2 = 2200,\n\tRIF3_D0_B_MARK___2 = 2201,\n\tTCLK2_B_MARK___2 = 2202,\n\tTPU0TO0_MARK___2 = 2203,\n\tBPFCLK_C_MARK___2 = 2204,\n\tHRTS2_N_C_MARK___2 = 2205,\n\tIP16_31_28_MARK___2 = 2206,\n\tSSI_SDATA9_A_MARK___2 = 2207,\n\tHSCK2_B_MARK___2 = 2208,\n\tMSIOF1_SS1_C_MARK___2 = 2209,\n\tHSCK1_A_MARK___2 = 2210,\n\tSSI_WS1_B_MARK___2 = 2211,\n\tSCK1_MARK___2 = 2212,\n\tSTP_IVCXO27_1_A_MARK___2 = 2213,\n\tSCK5_A_MARK___2 = 2214,\n\tIP17_31_28_MARK___2 = 2215,\n\tUSB30_OVC_MARK___2 = 2216,\n\tAUDIO_CLKOUT1_B_MARK___2 = 2217,\n\tSSI_WS2_B_MARK___2 = 2218,\n\tTS_SPSYNC1_D_MARK___2 = 2219,\n\tSTP_ISSYNC_1_D_MARK___2 = 2220,\n\tSTP_IVCXO27_0_E_MARK___2 = 2221,\n\tRIF3_D1_B_MARK___2 = 2222,\n\tFSO_TOE_N_MARK___2 = 2223,\n\tTPU0TO1_MARK___2 = 2224,\n\tSEL_MSIOF3_0_MARK___2 = 2225,\n\tSEL_MSIOF3_1_MARK___2 = 2226,\n\tSEL_MSIOF3_2_MARK___2 = 2227,\n\tSEL_MSIOF3_3_MARK___2 = 2228,\n\tSEL_MSIOF3_4_MARK___2 = 2229,\n\tSEL_TSIF1_0_MARK___2 = 2230,\n\tSEL_TSIF1_1_MARK___2 = 2231,\n\tSEL_TSIF1_2_MARK___2 = 2232,\n\tSEL_TSIF1_3_MARK___2 = 2233,\n\tI2C_SEL_5_0_MARK___2 = 2234,\n\tI2C_SEL_5_1_MARK___2 = 2235,\n\tI2C_SEL_3_0_MARK___2 = 2236,\n\tI2C_SEL_3_1_MARK___2 = 2237,\n\tSEL_TSIF0_0_MARK___2 = 2238,\n\tSEL_TSIF0_1_MARK___2 = 2239,\n\tSEL_TSIF0_2_MARK___2 = 2240,\n\tSEL_TSIF0_3_MARK___2 = 2241,\n\tSEL_TSIF0_4_MARK___2 = 2242,\n\tI2C_SEL_0_0_MARK___2 = 2243,\n\tI2C_SEL_0_1_MARK___2 = 2244,\n\tSEL_MSIOF2_0_MARK___2 = 2245,\n\tSEL_MSIOF2_1_MARK___2 = 2246,\n\tSEL_MSIOF2_2_MARK___2 = 2247,\n\tSEL_MSIOF2_3_MARK___2 = 2248,\n\tSEL_FM_0_MARK___2 = 2249,\n\tSEL_FM_1_MARK___2 = 2250,\n\tSEL_FM_2_MARK___2 = 2251,\n\tSEL_FM_3_MARK___2 = 2252,\n\tSEL_MSIOF1_0_MARK___2 = 2253,\n\tSEL_MSIOF1_1_MARK___2 = 2254,\n\tSEL_MSIOF1_2_MARK___2 = 2255,\n\tSEL_MSIOF1_3_MARK___2 = 2256,\n\tSEL_MSIOF1_4_MARK___2 = 2257,\n\tSEL_MSIOF1_5_MARK___2 = 2258,\n\tSEL_MSIOF1_6_MARK___2 = 2259,\n\tSEL_TIMER_TMU1_0_MARK = 2260,\n\tSEL_TIMER_TMU1_1_MARK = 2261,\n\tSEL_SCIF5_0_MARK___2 = 2262,\n\tSEL_SCIF5_1_MARK___2 = 2263,\n\tSEL_SSP1_1_0_MARK___2 = 2264,\n\tSEL_SSP1_1_1_MARK___2 = 2265,\n\tSEL_SSP1_1_2_MARK___2 = 2266,\n\tSEL_SSP1_1_3_MARK___2 = 2267,\n\tSEL_I2C6_0_MARK___2 = 2268,\n\tSEL_I2C6_1_MARK___2 = 2269,\n\tSEL_I2C6_2_MARK___2 = 2270,\n\tSEL_LBSC_0_MARK___2 = 2271,\n\tSEL_LBSC_1_MARK___2 = 2272,\n\tSEL_SSP1_0_0_MARK___2 = 2273,\n\tSEL_SSP1_0_1_MARK___2 = 2274,\n\tSEL_SSP1_0_2_MARK___2 = 2275,\n\tSEL_SSP1_0_3_MARK___2 = 2276,\n\tSEL_SSP1_0_4_MARK___2 = 2277,\n\tSEL_IEBUS_0_MARK___2 = 2278,\n\tSEL_IEBUS_1_MARK___2 = 2279,\n\tSEL_I2C2_0_MARK___2 = 2280,\n\tSEL_I2C2_1_MARK___2 = 2281,\n\tSEL_SSI2_0_MARK___2 = 2282,\n\tSEL_SSI2_1_MARK___2 = 2283,\n\tSEL_I2C1_0_MARK___2 = 2284,\n\tSEL_I2C1_1_MARK___2 = 2285,\n\tSEL_SSI1_0_MARK___2 = 2286,\n\tSEL_SSI1_1_MARK___2 = 2287,\n\tSEL_SSI9_0_MARK___2 = 2288,\n\tSEL_SSI9_1_MARK___2 = 2289,\n\tSEL_HSCIF4_0_MARK___2 = 2290,\n\tSEL_HSCIF4_1_MARK___2 = 2291,\n\tSEL_SPEED_PULSE_0_MARK___2 = 2292,\n\tSEL_SPEED_PULSE_1_MARK___2 = 2293,\n\tSEL_TIMER_TMU2_0_MARK___2 = 2294,\n\tSEL_TIMER_TMU2_1_MARK___2 = 2295,\n\tSEL_HSCIF3_0_MARK___2 = 2296,\n\tSEL_HSCIF3_1_MARK___2 = 2297,\n\tSEL_HSCIF3_2_MARK___2 = 2298,\n\tSEL_HSCIF3_3_MARK___2 = 2299,\n\tSEL_SIMCARD_0_MARK___2 = 2300,\n\tSEL_SIMCARD_1_MARK___2 = 2301,\n\tSEL_SIMCARD_2_MARK___2 = 2302,\n\tSEL_SIMCARD_3_MARK___2 = 2303,\n\tSEL_ADGB_0_MARK___2 = 2304,\n\tSEL_ADGB_1_MARK___2 = 2305,\n\tSEL_ADGC_0_MARK___2 = 2306,\n\tSEL_ADGC_1_MARK___2 = 2307,\n\tSEL_HSCIF1_0_MARK___2 = 2308,\n\tSEL_HSCIF1_1_MARK___2 = 2309,\n\tSEL_SDHI2_0_MARK___2 = 2310,\n\tSEL_SDHI2_1_MARK___2 = 2311,\n\tSEL_SCIF4_0_MARK___2 = 2312,\n\tSEL_SCIF4_1_MARK___2 = 2313,\n\tSEL_SCIF4_2_MARK___2 = 2314,\n\tSEL_HSCIF2_0_MARK___2 = 2315,\n\tSEL_HSCIF2_1_MARK___2 = 2316,\n\tSEL_HSCIF2_2_MARK___2 = 2317,\n\tSEL_SCIF3_0_MARK___2 = 2318,\n\tSEL_SCIF3_1_MARK___2 = 2319,\n\tSEL_ETHERAVB_0_MARK___2 = 2320,\n\tSEL_ETHERAVB_1_MARK___2 = 2321,\n\tSEL_SCIF2_0_MARK___2 = 2322,\n\tSEL_SCIF2_1_MARK___2 = 2323,\n\tSEL_DRIF3_0_MARK___2 = 2324,\n\tSEL_DRIF3_1_MARK___2 = 2325,\n\tSEL_SCIF1_0_MARK___2 = 2326,\n\tSEL_SCIF1_1_MARK___2 = 2327,\n\tSEL_DRIF2_0_MARK___2 = 2328,\n\tSEL_DRIF2_1_MARK___2 = 2329,\n\tSEL_SCIF_0_MARK___2 = 2330,\n\tSEL_SCIF_1_MARK___2 = 2331,\n\tSEL_DRIF1_0_MARK___2 = 2332,\n\tSEL_DRIF1_1_MARK___2 = 2333,\n\tSEL_DRIF1_2_MARK___2 = 2334,\n\tSEL_REMOCON_0_MARK___2 = 2335,\n\tSEL_REMOCON_1_MARK___2 = 2336,\n\tSEL_DRIF0_0_MARK___2 = 2337,\n\tSEL_DRIF0_1_MARK___2 = 2338,\n\tSEL_DRIF0_2_MARK___2 = 2339,\n\tSEL_RCAN0_0_MARK___2 = 2340,\n\tSEL_RCAN0_1_MARK___2 = 2341,\n\tSEL_CANFD0_0_MARK___2 = 2342,\n\tSEL_CANFD0_1_MARK___2 = 2343,\n\tSEL_PWM6_0_MARK___2 = 2344,\n\tSEL_PWM6_1_MARK___2 = 2345,\n\tSEL_ADGA_0_MARK___2 = 2346,\n\tSEL_ADGA_1_MARK___2 = 2347,\n\tSEL_ADGA_2_MARK___2 = 2348,\n\tSEL_ADGA_3_MARK___2 = 2349,\n\tSEL_PWM5_0_MARK___2 = 2350,\n\tSEL_PWM5_1_MARK___2 = 2351,\n\tSEL_PWM4_0_MARK___2 = 2352,\n\tSEL_PWM4_1_MARK___2 = 2353,\n\tSEL_PWM3_0_MARK___2 = 2354,\n\tSEL_PWM3_1_MARK___2 = 2355,\n\tSEL_PWM2_0_MARK___2 = 2356,\n\tSEL_PWM2_1_MARK___2 = 2357,\n\tSEL_PWM1_0_MARK___2 = 2358,\n\tSEL_PWM1_1_MARK___2 = 2359,\n\tSEL_VIN4_0_MARK___2 = 2360,\n\tSEL_VIN4_1_MARK___2 = 2361,\n\tQSPI0_SPCLK_MARK___2 = 2362,\n\tQSPI0_SSL_MARK___2 = 2363,\n\tQSPI0_MOSI_IO0_MARK___2 = 2364,\n\tQSPI0_MISO_IO1_MARK___2 = 2365,\n\tQSPI0_IO2_MARK___2 = 2366,\n\tQSPI0_IO3_MARK___2 = 2367,\n\tQSPI1_SPCLK_MARK___2 = 2368,\n\tQSPI1_SSL_MARK___2 = 2369,\n\tQSPI1_MOSI_IO0_MARK___2 = 2370,\n\tQSPI1_MISO_IO1_MARK___2 = 2371,\n\tQSPI1_IO2_MARK___2 = 2372,\n\tQSPI1_IO3_MARK___2 = 2373,\n\tRPC_INT_MARK___2 = 2374,\n\tRPC_WP_MARK___2 = 2375,\n\tRPC_RESET_MARK___2 = 2376,\n\tAVB_TX_CTL_MARK___2 = 2377,\n\tAVB_TXC_MARK___2 = 2378,\n\tAVB_TD0_MARK___2 = 2379,\n\tAVB_TD1_MARK___2 = 2380,\n\tAVB_TD2_MARK___2 = 2381,\n\tAVB_TD3_MARK___2 = 2382,\n\tAVB_RX_CTL_MARK___2 = 2383,\n\tAVB_RXC_MARK___2 = 2384,\n\tAVB_RD0_MARK___2 = 2385,\n\tAVB_RD1_MARK___2 = 2386,\n\tAVB_RD2_MARK___2 = 2387,\n\tAVB_RD3_MARK___2 = 2388,\n\tAVB_TXCREFCLK_MARK___2 = 2389,\n\tAVB_MDIO_MARK___2 = 2390,\n\tPRESETOUT_MARK___2 = 2391,\n\tDU_DOTCLKIN0_MARK___2 = 2392,\n\tDU_DOTCLKIN1_MARK___2 = 2393,\n\tDU_DOTCLKIN2_MARK___2 = 2394,\n\tDU_DOTCLKIN3_MARK = 2395,\n\tTMS_MARK___2 = 2396,\n\tTDO_MARK___2 = 2397,\n\tASEBRK_MARK___2 = 2398,\n\tMLB_REF_MARK___2 = 2399,\n\tTDI_MARK___2 = 2400,\n\tTCK_MARK___2 = 2401,\n\tTRST_MARK___2 = 2402,\n\tEXTALR_MARK___2 = 2403,\n\tSCL0_MARK___2 = 2404,\n\tSDA0_MARK___2 = 2405,\n\tSCL3_MARK___2 = 2406,\n\tSDA3_MARK___2 = 2407,\n\tSCL5_MARK___2 = 2408,\n\tSDA5_MARK___2 = 2409,\n\tPINMUX_MARK_END___2 = 2410,\n};\n\nenum {\n\tPINMUX_RESERVED___3 = 0,\n\tPINMUX_DATA_BEGIN___3 = 1,\n\tGP_0_0_DATA___3 = 2,\n\tGP_0_1_DATA___3 = 3,\n\tGP_0_2_DATA___3 = 4,\n\tGP_0_3_DATA___3 = 5,\n\tGP_0_4_DATA___3 = 6,\n\tGP_0_5_DATA___3 = 7,\n\tGP_0_6_DATA___3 = 8,\n\tGP_0_7_DATA___3 = 9,\n\tGP_0_8_DATA___3 = 10,\n\tGP_0_9_DATA___3 = 11,\n\tGP_0_10_DATA___3 = 12,\n\tGP_0_11_DATA___3 = 13,\n\tGP_0_12_DATA___3 = 14,\n\tGP_0_13_DATA___3 = 15,\n\tGP_0_14_DATA___3 = 16,\n\tGP_0_15_DATA___3 = 17,\n\tGP_0_16_DATA = 18,\n\tGP_0_17_DATA = 19,\n\tGP_0_18_DATA = 20,\n\tGP_0_19_DATA = 21,\n\tGP_0_20_DATA = 22,\n\tGP_0_21_DATA = 23,\n\tGP_1_0_DATA___3 = 24,\n\tGP_1_1_DATA___3 = 25,\n\tGP_1_2_DATA___3 = 26,\n\tGP_1_3_DATA___3 = 27,\n\tGP_1_4_DATA___3 = 28,\n\tGP_1_5_DATA___3 = 29,\n\tGP_1_6_DATA___3 = 30,\n\tGP_1_7_DATA___3 = 31,\n\tGP_1_8_DATA___3 = 32,\n\tGP_1_9_DATA___3 = 33,\n\tGP_1_10_DATA___3 = 34,\n\tGP_1_11_DATA___3 = 35,\n\tGP_1_12_DATA___3 = 36,\n\tGP_1_13_DATA___3 = 37,\n\tGP_1_14_DATA___3 = 38,\n\tGP_1_15_DATA___3 = 39,\n\tGP_1_16_DATA___3 = 40,\n\tGP_1_17_DATA___3 = 41,\n\tGP_1_18_DATA___3 = 42,\n\tGP_1_19_DATA___3 = 43,\n\tGP_1_20_DATA___3 = 44,\n\tGP_1_21_DATA___3 = 45,\n\tGP_1_22_DATA___3 = 46,\n\tGP_1_23_DATA___3 = 47,\n\tGP_1_24_DATA___3 = 48,\n\tGP_1_25_DATA___3 = 49,\n\tGP_1_26_DATA___3 = 50,\n\tGP_1_27_DATA___3 = 51,\n\tGP_2_0_DATA___3 = 52,\n\tGP_2_1_DATA___3 = 53,\n\tGP_2_2_DATA___3 = 54,\n\tGP_2_3_DATA___3 = 55,\n\tGP_2_4_DATA___3 = 56,\n\tGP_2_5_DATA___3 = 57,\n\tGP_2_6_DATA___3 = 58,\n\tGP_2_7_DATA___3 = 59,\n\tGP_2_8_DATA___3 = 60,\n\tGP_2_9_DATA___3 = 61,\n\tGP_2_10_DATA___3 = 62,\n\tGP_2_11_DATA___3 = 63,\n\tGP_2_12_DATA___3 = 64,\n\tGP_2_13_DATA___3 = 65,\n\tGP_2_14_DATA___3 = 66,\n\tGP_2_15_DATA = 67,\n\tGP_2_16_DATA = 68,\n\tGP_2_17_DATA = 69,\n\tGP_2_18_DATA = 70,\n\tGP_2_19_DATA = 71,\n\tGP_2_20_DATA = 72,\n\tGP_2_21_DATA = 73,\n\tGP_2_22_DATA = 74,\n\tGP_2_23_DATA = 75,\n\tGP_2_24_DATA = 76,\n\tGP_2_25_DATA = 77,\n\tGP_2_26_DATA = 78,\n\tGP_2_27_DATA = 79,\n\tGP_2_28_DATA = 80,\n\tGP_2_29_DATA = 81,\n\tGP_3_0_DATA___3 = 82,\n\tGP_3_1_DATA___3 = 83,\n\tGP_3_2_DATA___3 = 84,\n\tGP_3_3_DATA___3 = 85,\n\tGP_3_4_DATA___3 = 86,\n\tGP_3_5_DATA___3 = 87,\n\tGP_3_6_DATA___3 = 88,\n\tGP_3_7_DATA___3 = 89,\n\tGP_3_8_DATA___3 = 90,\n\tGP_3_9_DATA___3 = 91,\n\tGP_3_10_DATA___3 = 92,\n\tGP_3_11_DATA___3 = 93,\n\tGP_3_12_DATA___3 = 94,\n\tGP_3_13_DATA___3 = 95,\n\tGP_3_14_DATA___3 = 96,\n\tGP_3_15_DATA___3 = 97,\n\tGP_3_16_DATA = 98,\n\tGP_4_0_DATA___3 = 99,\n\tGP_4_1_DATA___3 = 100,\n\tGP_4_2_DATA___3 = 101,\n\tGP_4_3_DATA___3 = 102,\n\tGP_4_4_DATA___3 = 103,\n\tGP_4_5_DATA___3 = 104,\n\tGP_4_6_DATA___3 = 105,\n\tGP_4_7_DATA___3 = 106,\n\tGP_4_8_DATA___3 = 107,\n\tGP_4_9_DATA___3 = 108,\n\tGP_4_10_DATA___3 = 109,\n\tGP_4_11_DATA___3 = 110,\n\tGP_4_12_DATA___3 = 111,\n\tGP_4_13_DATA___3 = 112,\n\tGP_4_14_DATA___3 = 113,\n\tGP_4_15_DATA___3 = 114,\n\tGP_4_16_DATA___3 = 115,\n\tGP_4_17_DATA___3 = 116,\n\tGP_4_18_DATA = 117,\n\tGP_4_19_DATA = 118,\n\tGP_4_20_DATA = 119,\n\tGP_4_21_DATA = 120,\n\tGP_4_22_DATA = 121,\n\tGP_4_23_DATA = 122,\n\tGP_4_24_DATA = 123,\n\tGP_5_0_DATA___3 = 124,\n\tGP_5_1_DATA___3 = 125,\n\tGP_5_2_DATA___3 = 126,\n\tGP_5_3_DATA___3 = 127,\n\tGP_5_4_DATA___3 = 128,\n\tGP_5_5_DATA___3 = 129,\n\tGP_5_6_DATA___3 = 130,\n\tGP_5_7_DATA___3 = 131,\n\tGP_5_8_DATA___3 = 132,\n\tGP_5_9_DATA___3 = 133,\n\tGP_5_10_DATA___3 = 134,\n\tGP_5_11_DATA___3 = 135,\n\tGP_5_12_DATA___3 = 136,\n\tGP_5_13_DATA___3 = 137,\n\tGP_5_14_DATA___3 = 138,\n\tPINMUX_DATA_END___3 = 139,\n\tPINMUX_FUNCTION_BEGIN___3 = 140,\n\tGP_0_0_FN___3 = 141,\n\tGP_0_1_FN___3 = 142,\n\tGP_0_2_FN___3 = 143,\n\tGP_0_3_FN___3 = 144,\n\tGP_0_4_FN___3 = 145,\n\tGP_0_5_FN___3 = 146,\n\tGP_0_6_FN___3 = 147,\n\tGP_0_7_FN___3 = 148,\n\tGP_0_8_FN___3 = 149,\n\tGP_0_9_FN___3 = 150,\n\tGP_0_10_FN___3 = 151,\n\tGP_0_11_FN___3 = 152,\n\tGP_0_12_FN___3 = 153,\n\tGP_0_13_FN___3 = 154,\n\tGP_0_14_FN___3 = 155,\n\tGP_0_15_FN___3 = 156,\n\tGP_0_16_FN = 157,\n\tGP_0_17_FN = 158,\n\tGP_0_18_FN = 159,\n\tGP_0_19_FN = 160,\n\tGP_0_20_FN = 161,\n\tGP_0_21_FN = 162,\n\tGP_1_0_FN___3 = 163,\n\tGP_1_1_FN___3 = 164,\n\tGP_1_2_FN___3 = 165,\n\tGP_1_3_FN___3 = 166,\n\tGP_1_4_FN___3 = 167,\n\tGP_1_5_FN___3 = 168,\n\tGP_1_6_FN___3 = 169,\n\tGP_1_7_FN___3 = 170,\n\tGP_1_8_FN___3 = 171,\n\tGP_1_9_FN___3 = 172,\n\tGP_1_10_FN___3 = 173,\n\tGP_1_11_FN___3 = 174,\n\tGP_1_12_FN___3 = 175,\n\tGP_1_13_FN___3 = 176,\n\tGP_1_14_FN___3 = 177,\n\tGP_1_15_FN___3 = 178,\n\tGP_1_16_FN___3 = 179,\n\tGP_1_17_FN___3 = 180,\n\tGP_1_18_FN___3 = 181,\n\tGP_1_19_FN___3 = 182,\n\tGP_1_20_FN___3 = 183,\n\tGP_1_21_FN___3 = 184,\n\tGP_1_22_FN___3 = 185,\n\tGP_1_23_FN___3 = 186,\n\tGP_1_24_FN___3 = 187,\n\tGP_1_25_FN___3 = 188,\n\tGP_1_26_FN___3 = 189,\n\tGP_1_27_FN___3 = 190,\n\tGP_2_0_FN___3 = 191,\n\tGP_2_1_FN___3 = 192,\n\tGP_2_2_FN___3 = 193,\n\tGP_2_3_FN___3 = 194,\n\tGP_2_4_FN___3 = 195,\n\tGP_2_5_FN___3 = 196,\n\tGP_2_6_FN___3 = 197,\n\tGP_2_7_FN___3 = 198,\n\tGP_2_8_FN___3 = 199,\n\tGP_2_9_FN___3 = 200,\n\tGP_2_10_FN___3 = 201,\n\tGP_2_11_FN___3 = 202,\n\tGP_2_12_FN___3 = 203,\n\tGP_2_13_FN___3 = 204,\n\tGP_2_14_FN___3 = 205,\n\tGP_2_15_FN = 206,\n\tGP_2_16_FN = 207,\n\tGP_2_17_FN = 208,\n\tGP_2_18_FN = 209,\n\tGP_2_19_FN = 210,\n\tGP_2_20_FN = 211,\n\tGP_2_21_FN = 212,\n\tGP_2_22_FN = 213,\n\tGP_2_23_FN = 214,\n\tGP_2_24_FN = 215,\n\tGP_2_25_FN = 216,\n\tGP_2_26_FN = 217,\n\tGP_2_27_FN = 218,\n\tGP_2_28_FN = 219,\n\tGP_2_29_FN = 220,\n\tGP_3_0_FN___3 = 221,\n\tGP_3_1_FN___3 = 222,\n\tGP_3_2_FN___3 = 223,\n\tGP_3_3_FN___3 = 224,\n\tGP_3_4_FN___3 = 225,\n\tGP_3_5_FN___3 = 226,\n\tGP_3_6_FN___3 = 227,\n\tGP_3_7_FN___3 = 228,\n\tGP_3_8_FN___3 = 229,\n\tGP_3_9_FN___3 = 230,\n\tGP_3_10_FN___3 = 231,\n\tGP_3_11_FN___3 = 232,\n\tGP_3_12_FN___3 = 233,\n\tGP_3_13_FN___3 = 234,\n\tGP_3_14_FN___3 = 235,\n\tGP_3_15_FN___3 = 236,\n\tGP_3_16_FN = 237,\n\tGP_4_0_FN___3 = 238,\n\tGP_4_1_FN___3 = 239,\n\tGP_4_2_FN___3 = 240,\n\tGP_4_3_FN___3 = 241,\n\tGP_4_4_FN___3 = 242,\n\tGP_4_5_FN___3 = 243,\n\tGP_4_6_FN___3 = 244,\n\tGP_4_7_FN___3 = 245,\n\tGP_4_8_FN___3 = 246,\n\tGP_4_9_FN___3 = 247,\n\tGP_4_10_FN___3 = 248,\n\tGP_4_11_FN___3 = 249,\n\tGP_4_12_FN___3 = 250,\n\tGP_4_13_FN___3 = 251,\n\tGP_4_14_FN___3 = 252,\n\tGP_4_15_FN___3 = 253,\n\tGP_4_16_FN___3 = 254,\n\tGP_4_17_FN___3 = 255,\n\tGP_4_18_FN = 256,\n\tGP_4_19_FN = 257,\n\tGP_4_20_FN = 258,\n\tGP_4_21_FN = 259,\n\tGP_4_22_FN = 260,\n\tGP_4_23_FN = 261,\n\tGP_4_24_FN = 262,\n\tGP_5_0_FN___3 = 263,\n\tGP_5_1_FN___3 = 264,\n\tGP_5_2_FN___3 = 265,\n\tGP_5_3_FN___3 = 266,\n\tGP_5_4_FN___3 = 267,\n\tGP_5_5_FN___3 = 268,\n\tGP_5_6_FN___3 = 269,\n\tGP_5_7_FN___3 = 270,\n\tGP_5_8_FN___3 = 271,\n\tGP_5_9_FN___3 = 272,\n\tGP_5_10_FN___3 = 273,\n\tGP_5_11_FN___3 = 274,\n\tGP_5_12_FN___3 = 275,\n\tGP_5_13_FN___3 = 276,\n\tGP_5_14_FN___3 = 277,\n\tFN_GETHER_LINK_A = 278,\n\tFN_GETHER_PHY_INT_A = 279,\n\tFN_GETHER_MAGIC = 280,\n\tFN_GETHER_MDC_A = 281,\n\tFN_GETHER_MDIO_A = 282,\n\tFN_GETHER_TXCREFCLK_MEGA = 283,\n\tFN_AVB_LINK___3 = 284,\n\tFN_GETHER_TXCREFCLK = 285,\n\tFN_AVB_PHY_INT___3 = 286,\n\tFN_GETHER_TD3 = 287,\n\tFN_AVB_MAGIC___3 = 288,\n\tFN_GETHER_TD2 = 289,\n\tFN_AVB_MDC___3 = 290,\n\tFN_GETHER_TD1 = 291,\n\tFN_AVB_MDIO = 292,\n\tFN_GETHER_TD0 = 293,\n\tFN_RPC_INT_N = 294,\n\tFN_AVB_TXCREFCLK = 295,\n\tFN_GETHER_TXC = 296,\n\tFN_RPC_WP_N = 297,\n\tFN_AVB_TD3 = 298,\n\tFN_GETHER_TX_CTL = 299,\n\tFN_RPC_RESET_N = 300,\n\tFN_AVB_TD2 = 301,\n\tFN_GETHER_RD3 = 302,\n\tFN_QSPI1_SSL = 303,\n\tFN_AVB_TD1 = 304,\n\tFN_GETHER_RD2 = 305,\n\tFN_QSPI1_IO3 = 306,\n\tFN_AVB_TD0 = 307,\n\tFN_GETHER_RD1 = 308,\n\tFN_QSPI1_IO2 = 309,\n\tFN_AVB_TXC = 310,\n\tFN_GETHER_RD0 = 311,\n\tFN_QSPI1_MISO_IO1 = 312,\n\tFN_AVB_TX_CTL = 313,\n\tFN_GETHER_RXC = 314,\n\tFN_QSPI1_MOSI_IO0 = 315,\n\tFN_AVB_RD3 = 316,\n\tFN_GETHER_RX_CTL = 317,\n\tFN_QSPI1_SPCLK = 318,\n\tFN_AVB_RD2 = 319,\n\tFN_QSPI0_SSL = 320,\n\tFN_AVB_RD1 = 321,\n\tFN_QSPI0_IO3 = 322,\n\tFN_AVB_RD0 = 323,\n\tFN_QSPI0_IO2 = 324,\n\tFN_AVB_RXC = 325,\n\tFN_QSPI0_MISO_IO1 = 326,\n\tFN_AVB_RX_CTL = 327,\n\tFN_QSPI0_MOSI_IO0 = 328,\n\tFN_QSPI0_SPCLK = 329,\n\tFN_IP0_3_0___3 = 330,\n\tFN_DU_DR2___3 = 331,\n\tFN_SCK4 = 332,\n\tFN_GETHER_RMII_CRS_DV = 333,\n\tFN_A0___3 = 334,\n\tFN_IP1_3_0___3 = 335,\n\tFN_DU_DG4___3 = 336,\n\tFN_SCL5 = 337,\n\tFN_A8___3 = 338,\n\tFN_IP2_3_0___3 = 339,\n\tFN_DU_DB6___3 = 340,\n\tFN_MSIOF3_RXD = 341,\n\tFN_A16___3 = 342,\n\tFN_IP3_3_0___3 = 343,\n\tFN_VI0_CLKENB = 344,\n\tFN_MSIOF2_RXD = 345,\n\tFN_RX3 = 346,\n\tFN_RD_WR_N___3 = 347,\n\tFN_HCTS3_N___3 = 348,\n\tFN_IP0_7_4___3 = 349,\n\tFN_DU_DR3___3 = 350,\n\tFN_RX4 = 351,\n\tFN_GETHER_RMII_RX_ER = 352,\n\tFN_A1___3 = 353,\n\tFN_IP1_7_4___3 = 354,\n\tFN_DU_DG5___3 = 355,\n\tFN_SDA5 = 356,\n\tFN_GETHER_MDC_B = 357,\n\tFN_A9___3 = 358,\n\tFN_IP2_7_4___3 = 359,\n\tFN_DU_DB7___3 = 360,\n\tFN_MSIOF3_TXD = 361,\n\tFN_A17___3 = 362,\n\tFN_IP3_7_4___3 = 363,\n\tFN_VI0_HSYNC_N = 364,\n\tFN_MSIOF2_TXD = 365,\n\tFN_TX3 = 366,\n\tFN_HRTS3_N___3 = 367,\n\tFN_IP0_11_8___3 = 368,\n\tFN_DU_DR4___3 = 369,\n\tFN_TX4 = 370,\n\tFN_GETHER_RMII_RXD0 = 371,\n\tFN_A2___3 = 372,\n\tFN_IP1_11_8___3 = 373,\n\tFN_DU_DG6___3 = 374,\n\tFN_SCIF_CLK_A___3 = 375,\n\tFN_GETHER_MDIO_B = 376,\n\tFN_A10___3 = 377,\n\tFN_IP2_11_8___3 = 378,\n\tFN_DU_DOTCLKOUT = 379,\n\tFN_MSIOF3_SS1 = 380,\n\tFN_GETHER_LINK_B = 381,\n\tFN_A18___3 = 382,\n\tFN_IP3_11_8___3 = 383,\n\tFN_VI0_VSYNC_N = 384,\n\tFN_MSIOF2_SYNC = 385,\n\tFN_CTS3_N___3 = 386,\n\tFN_HTX3 = 387,\n\tFN_IP0_15_12___3 = 388,\n\tFN_DU_DR5___3 = 389,\n\tFN_CTS4_N = 390,\n\tFN_GETHER_RMII_RXD1 = 391,\n\tFN_A3___3 = 392,\n\tFN_IP1_15_12___3 = 393,\n\tFN_DU_DG7___3 = 394,\n\tFN_HRX0_A = 395,\n\tFN_A11___3 = 396,\n\tFN_IP2_15_12___3 = 397,\n\tFN_DU_EXHSYNC_DU_HSYNC___3 = 398,\n\tFN_MSIOF3_SS2 = 399,\n\tFN_GETHER_PHY_INT_B = 400,\n\tFN_A19___3 = 401,\n\tFN_FXR_TXENA_N = 402,\n\tFN_IP3_15_12___3 = 403,\n\tFN_VI0_DATA0 = 404,\n\tFN_MSIOF2_SS1 = 405,\n\tFN_RTS3_N___3 = 406,\n\tFN_HRX3 = 407,\n\tFN_IP0_19_16___3 = 408,\n\tFN_DU_DR6___3 = 409,\n\tFN_RTS4_N = 410,\n\tFN_GETHER_RMII_TXD_EN = 411,\n\tFN_A4___3 = 412,\n\tFN_IP1_19_16___3 = 413,\n\tFN_DU_DB2___3 = 414,\n\tFN_HSCK0_A = 415,\n\tFN_A12___3 = 416,\n\tFN_IRQ1___3 = 417,\n\tFN_IP2_19_16___3 = 418,\n\tFN_DU_EXVSYNC_DU_VSYNC___3 = 419,\n\tFN_MSIOF3_SCK = 420,\n\tFN_FXR_TXENB_N = 421,\n\tFN_IP3_19_16___3 = 422,\n\tFN_VI0_DATA1 = 423,\n\tFN_MSIOF2_SS2 = 424,\n\tFN_SCK1___3 = 425,\n\tFN_SPEEDIN_A___3 = 426,\n\tFN_IP0_23_20___3 = 427,\n\tFN_DU_DR7___3 = 428,\n\tFN_GETHER_RMII_TXD0 = 429,\n\tFN_A5___3 = 430,\n\tFN_IP1_23_20___3 = 431,\n\tFN_DU_DB3___3 = 432,\n\tFN_HRTS0_N_A = 433,\n\tFN_A13___3 = 434,\n\tFN_IRQ2___3 = 435,\n\tFN_IP2_23_20___3 = 436,\n\tFN_DU_EXODDF_DU_ODDF_DISP_CDE___3 = 437,\n\tFN_MSIOF3_SYNC = 438,\n\tFN_IP3_23_20___3 = 439,\n\tFN_VI0_DATA2 = 440,\n\tFN_AVB_AVTP_PPS___3 = 441,\n\tFN_IP0_27_24___3 = 442,\n\tFN_DU_DG2___3 = 443,\n\tFN_GETHER_RMII_TXD1 = 444,\n\tFN_A6___3 = 445,\n\tFN_IP1_27_24___3 = 446,\n\tFN_DU_DB4___3 = 447,\n\tFN_HCTS0_N_A = 448,\n\tFN_A14___3 = 449,\n\tFN_IRQ3___3 = 450,\n\tFN_IP2_27_24___3 = 451,\n\tFN_IRQ0___3 = 452,\n\tFN_IP3_27_24___3 = 453,\n\tFN_VI0_DATA3 = 454,\n\tFN_HSCK1 = 455,\n\tFN_IP0_31_28___3 = 456,\n\tFN_DU_DG3___3 = 457,\n\tFN_CPG_CPCKOUT = 458,\n\tFN_GETHER_RMII_REFCLK = 459,\n\tFN_A7___3 = 460,\n\tFN_PWMFSW0 = 461,\n\tFN_IP1_31_28___3 = 462,\n\tFN_DU_DB5___3 = 463,\n\tFN_HTX0_A = 464,\n\tFN_PWM0_A = 465,\n\tFN_A15___3 = 466,\n\tFN_IP2_31_28___3 = 467,\n\tFN_VI0_CLK = 468,\n\tFN_MSIOF2_SCK = 469,\n\tFN_SCK3___3 = 470,\n\tFN_HSCK3___3 = 471,\n\tFN_IP3_31_28___3 = 472,\n\tFN_VI0_DATA4 = 473,\n\tFN_HRTS1_N = 474,\n\tFN_RX1_A___3 = 475,\n\tFN_IP4_3_0___3 = 476,\n\tFN_VI0_DATA5 = 477,\n\tFN_HCTS1_N = 478,\n\tFN_TX1_A___3 = 479,\n\tFN_IP5_3_0___3 = 480,\n\tFN_VI1_CLK = 481,\n\tFN_MSIOF1_RXD = 482,\n\tFN_CS0_N___3 = 483,\n\tFN_IP6_3_0___3 = 484,\n\tFN_VI1_DATA4 = 485,\n\tFN_CANFD_CLK_B = 486,\n\tFN_D7___3 = 487,\n\tFN_MMC_D0 = 488,\n\tFN_IP7_3_0___3 = 489,\n\tFN_VI1_FIELD = 490,\n\tFN_SDA4 = 491,\n\tFN_D15___3 = 492,\n\tFN_MMC_D7 = 493,\n\tFN_IP4_7_4___3 = 494,\n\tFN_VI0_DATA6 = 495,\n\tFN_HTX1 = 496,\n\tFN_CTS1_N___3 = 497,\n\tFN_IP5_7_4___3 = 498,\n\tFN_VI1_CLKENB = 499,\n\tFN_MSIOF1_TXD = 500,\n\tFN_D0___3 = 501,\n\tFN_IP6_7_4___3 = 502,\n\tFN_VI1_DATA5 = 503,\n\tFN_D8___3 = 504,\n\tFN_MMC_D1 = 505,\n\tFN_IP7_7_4___3 = 506,\n\tFN_SCL0 = 507,\n\tFN_CLKOUT___3 = 508,\n\tFN_IP4_11_8___3 = 509,\n\tFN_VI0_DATA7 = 510,\n\tFN_HRX1 = 511,\n\tFN_RTS1_N___3 = 512,\n\tFN_IP5_11_8___3 = 513,\n\tFN_VI1_HSYNC_N = 514,\n\tFN_MSIOF1_SCK = 515,\n\tFN_D1___3 = 516,\n\tFN_IP6_11_8___3 = 517,\n\tFN_VI1_DATA6 = 518,\n\tFN_D9___3 = 519,\n\tFN_MMC_D2 = 520,\n\tFN_IP7_11_8___3 = 521,\n\tFN_SDA0 = 522,\n\tFN_BS_N___3 = 523,\n\tFN_SCK0___3 = 524,\n\tFN_HSCK0_B = 525,\n\tFN_IP4_15_12___3 = 526,\n\tFN_VI0_DATA8 = 527,\n\tFN_HSCK2 = 528,\n\tFN_IP5_15_12___3 = 529,\n\tFN_VI1_VSYNC_N = 530,\n\tFN_MSIOF1_SYNC = 531,\n\tFN_D2___3 = 532,\n\tFN_IP6_15_12___3 = 533,\n\tFN_VI1_DATA7 = 534,\n\tFN_D10___3 = 535,\n\tFN_MMC_D3 = 536,\n\tFN_IP7_15_12 = 537,\n\tFN_SCL1 = 538,\n\tFN_TPU0TO2___3 = 539,\n\tFN_RD_N___3 = 540,\n\tFN_CTS0_N___3 = 541,\n\tFN_HCTS0_N_B = 542,\n\tFN_IP4_19_16___3 = 543,\n\tFN_VI0_DATA9 = 544,\n\tFN_HCTS2_N = 545,\n\tFN_PWM1_A___3 = 546,\n\tFN_IP5_19_16___3 = 547,\n\tFN_VI1_DATA0 = 548,\n\tFN_MSIOF1_SS1 = 549,\n\tFN_D3___3 = 550,\n\tFN_MMC_WP = 551,\n\tFN_IP6_19_16___3 = 552,\n\tFN_VI1_DATA8 = 553,\n\tFN_D11___3 = 554,\n\tFN_MMC_CLK = 555,\n\tFN_IP7_19_16___3 = 556,\n\tFN_SDA1 = 557,\n\tFN_TPU0TO3___3 = 558,\n\tFN_WE0_N___3 = 559,\n\tFN_RTS0_N___3 = 560,\n\tFN_HRTS0_N_B = 561,\n\tFN_IP4_23_20___3 = 562,\n\tFN_VI0_DATA10 = 563,\n\tFN_HRTS2_N = 564,\n\tFN_PWM2_A___3 = 565,\n\tFN_IP5_23_20___3 = 566,\n\tFN_VI1_DATA1 = 567,\n\tFN_MSIOF1_SS2 = 568,\n\tFN_D4___3 = 569,\n\tFN_MMC_CD = 570,\n\tFN_IP6_23_20___3 = 571,\n\tFN_VI1_DATA9 = 572,\n\tFN_TCLK1_A___3 = 573,\n\tFN_D12___3 = 574,\n\tFN_MMC_D4 = 575,\n\tFN_IP7_23_20___3 = 576,\n\tFN_SCL2 = 577,\n\tFN_WE1_N___3 = 578,\n\tFN_RX0___3 = 579,\n\tFN_HRX0_B = 580,\n\tFN_IP4_27_24___3 = 581,\n\tFN_VI0_DATA11 = 582,\n\tFN_HTX2 = 583,\n\tFN_PWM3_A___3 = 584,\n\tFN_IP5_27_24___3 = 585,\n\tFN_VI1_DATA2 = 586,\n\tFN_CANFD0_TX_B___3 = 587,\n\tFN_D5___3 = 588,\n\tFN_MMC_DS = 589,\n\tFN_IP6_27_24___3 = 590,\n\tFN_VI1_DATA10 = 591,\n\tFN_TCLK2_A___3 = 592,\n\tFN_D13___3 = 593,\n\tFN_MMC_D5 = 594,\n\tFN_IP7_27_24___3 = 595,\n\tFN_SDA2 = 596,\n\tFN_EX_WAIT0 = 597,\n\tFN_TX0___3 = 598,\n\tFN_HTX0_B = 599,\n\tFN_IP4_31_28___3 = 600,\n\tFN_VI0_FIELD = 601,\n\tFN_HRX2 = 602,\n\tFN_PWM4_A___3 = 603,\n\tFN_CS1_N___3 = 604,\n\tFN_IP5_31_28___3 = 605,\n\tFN_VI1_DATA3 = 606,\n\tFN_CANFD0_RX_B___3 = 607,\n\tFN_D6___3 = 608,\n\tFN_MMC_CMD = 609,\n\tFN_IP6_31_28___3 = 610,\n\tFN_VI1_DATA11 = 611,\n\tFN_SCL4 = 612,\n\tFN_D14___3 = 613,\n\tFN_MMC_D6 = 614,\n\tFN_IP7_31_28___3 = 615,\n\tFN_AVB_AVTP_MATCH = 616,\n\tFN_TPU0TO0___3 = 617,\n\tFN_IP8_3_0___3 = 618,\n\tFN_AVB_AVTP_CAPTURE = 619,\n\tFN_TPU0TO1___3 = 620,\n\tFN_IP9_3_0___3 = 621,\n\tFN_IRQ4___3 = 622,\n\tFN_VI0_DATA12 = 623,\n\tFN_IP10_3_0___3 = 624,\n\tFN_SCL3 = 625,\n\tFN_VI0_DATA20 = 626,\n\tFN_IP8_7_4___3 = 627,\n\tFN_CANFD0_TX_A___3 = 628,\n\tFN_FXR_TXDA = 629,\n\tFN_PWM0_B = 630,\n\tFN_DU_DISP___3 = 631,\n\tFN_IP9_7_4___3 = 632,\n\tFN_IRQ5___3 = 633,\n\tFN_VI0_DATA13 = 634,\n\tFN_IP10_7_4___3 = 635,\n\tFN_SDA3 = 636,\n\tFN_VI0_DATA21 = 637,\n\tFN_IP8_11_8___3 = 638,\n\tFN_CANFD0_RX_A___3 = 639,\n\tFN_RXDA_EXTFXR = 640,\n\tFN_PWM1_B___3 = 641,\n\tFN_DU_CDE___3 = 642,\n\tFN_IP9_11_8___3 = 643,\n\tFN_MSIOF0_RXD___3 = 644,\n\tFN_DU_DR0___3 = 645,\n\tFN_VI0_DATA14 = 646,\n\tFN_IP10_11_8___3 = 647,\n\tFN_FSO_CFE_0_N___3 = 648,\n\tFN_VI0_DATA22 = 649,\n\tFN_IP8_15_12___3 = 650,\n\tFN_CANFD1_TX___3 = 651,\n\tFN_FXR_TXDB = 652,\n\tFN_PWM2_B___3 = 653,\n\tFN_TCLK1_B___3 = 654,\n\tFN_TX1_B___3 = 655,\n\tFN_IP9_15_12___3 = 656,\n\tFN_MSIOF0_TXD___3 = 657,\n\tFN_DU_DR1___3 = 658,\n\tFN_VI0_DATA15 = 659,\n\tFN_IP10_15_12___3 = 660,\n\tFN_FSO_CFE_1_N___3 = 661,\n\tFN_VI0_DATA23 = 662,\n\tFN_IP8_19_16___3 = 663,\n\tFN_CANFD1_RX___3 = 664,\n\tFN_RXDB_EXTFXR = 665,\n\tFN_PWM3_B___3 = 666,\n\tFN_TCLK2_B___3 = 667,\n\tFN_RX1_B___3 = 668,\n\tFN_IP9_19_16___3 = 669,\n\tFN_MSIOF0_SCK___3 = 670,\n\tFN_DU_DG0___3 = 671,\n\tFN_VI0_DATA16 = 672,\n\tFN_IP10_19_16___3 = 673,\n\tFN_FSO_TOE_N___3 = 674,\n\tFN_IP8_23_20___3 = 675,\n\tFN_CANFD_CLK_A = 676,\n\tFN_CLK_EXTFXR = 677,\n\tFN_PWM4_B___3 = 678,\n\tFN_SPEEDIN_B___3 = 679,\n\tFN_SCIF_CLK_B___3 = 680,\n\tFN_IP9_23_20___3 = 681,\n\tFN_MSIOF0_SYNC___3 = 682,\n\tFN_DU_DG1___3 = 683,\n\tFN_VI0_DATA17 = 684,\n\tFN_IP8_27_24___3 = 685,\n\tFN_DIGRF_CLKIN = 686,\n\tFN_DIGRF_CLKEN_IN = 687,\n\tFN_IP9_27_24___3 = 688,\n\tFN_MSIOF0_SS1___3 = 689,\n\tFN_DU_DB0___3 = 690,\n\tFN_TCLK3 = 691,\n\tFN_VI0_DATA18 = 692,\n\tFN_IP8_31_28___3 = 693,\n\tFN_DIGRF_CLKOUT = 694,\n\tFN_DIGRF_CLKEN_OUT = 695,\n\tFN_IP9_31_28___3 = 696,\n\tFN_MSIOF0_SS2___3 = 697,\n\tFN_DU_DB1___3 = 698,\n\tFN_TCLK4 = 699,\n\tFN_VI0_DATA19 = 700,\n\tFN_SEL_CANFD0_0___3 = 701,\n\tFN_SEL_CANFD0_1___3 = 702,\n\tFN_SEL_GETHER_0 = 703,\n\tFN_SEL_GETHER_1 = 704,\n\tFN_SEL_HSCIF0_0 = 705,\n\tFN_SEL_HSCIF0_1 = 706,\n\tFN_SEL_PWM0_0 = 707,\n\tFN_SEL_PWM0_1 = 708,\n\tFN_SEL_PWM1_0___3 = 709,\n\tFN_SEL_PWM1_1___3 = 710,\n\tFN_SEL_PWM2_0___3 = 711,\n\tFN_SEL_PWM2_1___3 = 712,\n\tFN_SEL_PWM3_0___3 = 713,\n\tFN_SEL_PWM3_1___3 = 714,\n\tFN_SEL_PWM4_0___3 = 715,\n\tFN_SEL_PWM4_1___3 = 716,\n\tFN_SEL_RSP_0 = 717,\n\tFN_SEL_RSP_1 = 718,\n\tFN_SEL_SCIF1_0___3 = 719,\n\tFN_SEL_SCIF1_1___3 = 720,\n\tFN_SEL_TMU_0 = 721,\n\tFN_SEL_TMU_1 = 722,\n\tPINMUX_FUNCTION_END___3 = 723,\n\tPINMUX_MARK_BEGIN___3 = 724,\n\tGETHER_LINK_A_MARK = 725,\n\tGETHER_PHY_INT_A_MARK = 726,\n\tGETHER_MAGIC_MARK = 727,\n\tGETHER_MDC_A_MARK = 728,\n\tGETHER_MDIO_A_MARK = 729,\n\tGETHER_TXCREFCLK_MEGA_MARK = 730,\n\tAVB_LINK_MARK___3 = 731,\n\tGETHER_TXCREFCLK_MARK = 732,\n\tAVB_PHY_INT_MARK___3 = 733,\n\tGETHER_TD3_MARK = 734,\n\tAVB_MAGIC_MARK___3 = 735,\n\tGETHER_TD2_MARK = 736,\n\tAVB_MDC_MARK___3 = 737,\n\tGETHER_TD1_MARK = 738,\n\tAVB_MDIO_MARK___3 = 739,\n\tGETHER_TD0_MARK = 740,\n\tRPC_INT_N_MARK = 741,\n\tAVB_TXCREFCLK_MARK___3 = 742,\n\tGETHER_TXC_MARK = 743,\n\tRPC_WP_N_MARK = 744,\n\tAVB_TD3_MARK___3 = 745,\n\tGETHER_TX_CTL_MARK = 746,\n\tRPC_RESET_N_MARK = 747,\n\tAVB_TD2_MARK___3 = 748,\n\tGETHER_RD3_MARK = 749,\n\tQSPI1_SSL_MARK___3 = 750,\n\tAVB_TD1_MARK___3 = 751,\n\tGETHER_RD2_MARK = 752,\n\tQSPI1_IO3_MARK___3 = 753,\n\tAVB_TD0_MARK___3 = 754,\n\tGETHER_RD1_MARK = 755,\n\tQSPI1_IO2_MARK___3 = 756,\n\tAVB_TXC_MARK___3 = 757,\n\tGETHER_RD0_MARK = 758,\n\tQSPI1_MISO_IO1_MARK___3 = 759,\n\tAVB_TX_CTL_MARK___3 = 760,\n\tGETHER_RXC_MARK = 761,\n\tQSPI1_MOSI_IO0_MARK___3 = 762,\n\tAVB_RD3_MARK___3 = 763,\n\tGETHER_RX_CTL_MARK = 764,\n\tQSPI1_SPCLK_MARK___3 = 765,\n\tAVB_RD2_MARK___3 = 766,\n\tQSPI0_SSL_MARK___3 = 767,\n\tAVB_RD1_MARK___3 = 768,\n\tQSPI0_IO3_MARK___3 = 769,\n\tAVB_RD0_MARK___3 = 770,\n\tQSPI0_IO2_MARK___3 = 771,\n\tAVB_RXC_MARK___3 = 772,\n\tQSPI0_MISO_IO1_MARK___3 = 773,\n\tAVB_RX_CTL_MARK___3 = 774,\n\tQSPI0_MOSI_IO0_MARK___3 = 775,\n\tQSPI0_SPCLK_MARK___3 = 776,\n\tIP0_3_0_MARK___3 = 777,\n\tDU_DR2_MARK___3 = 778,\n\tSCK4_MARK = 779,\n\tGETHER_RMII_CRS_DV_MARK = 780,\n\tA0_MARK___3 = 781,\n\tIP1_3_0_MARK___3 = 782,\n\tDU_DG4_MARK___3 = 783,\n\tSCL5_MARK___3 = 784,\n\tA8_MARK___3 = 785,\n\tIP2_3_0_MARK___3 = 786,\n\tDU_DB6_MARK___3 = 787,\n\tMSIOF3_RXD_MARK = 788,\n\tA16_MARK___3 = 789,\n\tIP3_3_0_MARK___3 = 790,\n\tVI0_CLKENB_MARK = 791,\n\tMSIOF2_RXD_MARK = 792,\n\tRX3_MARK = 793,\n\tRD_WR_N_MARK___3 = 794,\n\tHCTS3_N_MARK___3 = 795,\n\tIP0_7_4_MARK___3 = 796,\n\tDU_DR3_MARK___3 = 797,\n\tRX4_MARK = 798,\n\tGETHER_RMII_RX_ER_MARK = 799,\n\tA1_MARK___3 = 800,\n\tIP1_7_4_MARK___3 = 801,\n\tDU_DG5_MARK___3 = 802,\n\tSDA5_MARK___3 = 803,\n\tGETHER_MDC_B_MARK = 804,\n\tA9_MARK___3 = 805,\n\tIP2_7_4_MARK___3 = 806,\n\tDU_DB7_MARK___3 = 807,\n\tMSIOF3_TXD_MARK = 808,\n\tA17_MARK___3 = 809,\n\tIP3_7_4_MARK___3 = 810,\n\tVI0_HSYNC_N_MARK = 811,\n\tMSIOF2_TXD_MARK = 812,\n\tTX3_MARK = 813,\n\tHRTS3_N_MARK___3 = 814,\n\tIP0_11_8_MARK___3 = 815,\n\tDU_DR4_MARK___3 = 816,\n\tTX4_MARK = 817,\n\tGETHER_RMII_RXD0_MARK = 818,\n\tA2_MARK___3 = 819,\n\tIP1_11_8_MARK___3 = 820,\n\tDU_DG6_MARK___3 = 821,\n\tSCIF_CLK_A_MARK___3 = 822,\n\tGETHER_MDIO_B_MARK = 823,\n\tA10_MARK___3 = 824,\n\tIP2_11_8_MARK___3 = 825,\n\tDU_DOTCLKOUT_MARK = 826,\n\tMSIOF3_SS1_MARK = 827,\n\tGETHER_LINK_B_MARK = 828,\n\tA18_MARK___3 = 829,\n\tIP3_11_8_MARK___3 = 830,\n\tVI0_VSYNC_N_MARK = 831,\n\tMSIOF2_SYNC_MARK = 832,\n\tCTS3_N_MARK___3 = 833,\n\tHTX3_MARK = 834,\n\tIP0_15_12_MARK___3 = 835,\n\tDU_DR5_MARK___3 = 836,\n\tCTS4_N_MARK = 837,\n\tGETHER_RMII_RXD1_MARK = 838,\n\tA3_MARK___3 = 839,\n\tIP1_15_12_MARK___3 = 840,\n\tDU_DG7_MARK___3 = 841,\n\tHRX0_A_MARK = 842,\n\tA11_MARK___3 = 843,\n\tIP2_15_12_MARK___3 = 844,\n\tDU_EXHSYNC_DU_HSYNC_MARK___3 = 845,\n\tMSIOF3_SS2_MARK = 846,\n\tGETHER_PHY_INT_B_MARK = 847,\n\tA19_MARK___3 = 848,\n\tFXR_TXENA_N_MARK = 849,\n\tIP3_15_12_MARK___3 = 850,\n\tVI0_DATA0_MARK = 851,\n\tMSIOF2_SS1_MARK = 852,\n\tRTS3_N_MARK___3 = 853,\n\tHRX3_MARK = 854,\n\tIP0_19_16_MARK___3 = 855,\n\tDU_DR6_MARK___3 = 856,\n\tRTS4_N_MARK = 857,\n\tGETHER_RMII_TXD_EN_MARK = 858,\n\tA4_MARK___3 = 859,\n\tIP1_19_16_MARK___3 = 860,\n\tDU_DB2_MARK___3 = 861,\n\tHSCK0_A_MARK = 862,\n\tA12_MARK___3 = 863,\n\tIRQ1_MARK___3 = 864,\n\tIP2_19_16_MARK___3 = 865,\n\tDU_EXVSYNC_DU_VSYNC_MARK___3 = 866,\n\tMSIOF3_SCK_MARK = 867,\n\tFXR_TXENB_N_MARK = 868,\n\tIP3_19_16_MARK___3 = 869,\n\tVI0_DATA1_MARK = 870,\n\tMSIOF2_SS2_MARK = 871,\n\tSCK1_MARK___3 = 872,\n\tSPEEDIN_A_MARK___3 = 873,\n\tIP0_23_20_MARK___3 = 874,\n\tDU_DR7_MARK___3 = 875,\n\tGETHER_RMII_TXD0_MARK = 876,\n\tA5_MARK___3 = 877,\n\tIP1_23_20_MARK___3 = 878,\n\tDU_DB3_MARK___3 = 879,\n\tHRTS0_N_A_MARK = 880,\n\tA13_MARK___3 = 881,\n\tIRQ2_MARK___3 = 882,\n\tIP2_23_20_MARK___3 = 883,\n\tDU_EXODDF_DU_ODDF_DISP_CDE_MARK___3 = 884,\n\tMSIOF3_SYNC_MARK = 885,\n\tIP3_23_20_MARK___3 = 886,\n\tVI0_DATA2_MARK = 887,\n\tAVB_AVTP_PPS_MARK___3 = 888,\n\tIP0_27_24_MARK___3 = 889,\n\tDU_DG2_MARK___3 = 890,\n\tGETHER_RMII_TXD1_MARK = 891,\n\tA6_MARK___3 = 892,\n\tIP1_27_24_MARK___3 = 893,\n\tDU_DB4_MARK___3 = 894,\n\tHCTS0_N_A_MARK = 895,\n\tA14_MARK___3 = 896,\n\tIRQ3_MARK___3 = 897,\n\tIP2_27_24_MARK___3 = 898,\n\tIRQ0_MARK___3 = 899,\n\tIP3_27_24_MARK___3 = 900,\n\tVI0_DATA3_MARK = 901,\n\tHSCK1_MARK = 902,\n\tIP0_31_28_MARK___3 = 903,\n\tDU_DG3_MARK___3 = 904,\n\tCPG_CPCKOUT_MARK = 905,\n\tGETHER_RMII_REFCLK_MARK = 906,\n\tA7_MARK___3 = 907,\n\tPWMFSW0_MARK = 908,\n\tIP1_31_28_MARK___3 = 909,\n\tDU_DB5_MARK___3 = 910,\n\tHTX0_A_MARK = 911,\n\tPWM0_A_MARK = 912,\n\tA15_MARK___3 = 913,\n\tIP2_31_28_MARK___3 = 914,\n\tVI0_CLK_MARK = 915,\n\tMSIOF2_SCK_MARK = 916,\n\tSCK3_MARK___3 = 917,\n\tHSCK3_MARK___3 = 918,\n\tIP3_31_28_MARK___3 = 919,\n\tVI0_DATA4_MARK = 920,\n\tHRTS1_N_MARK = 921,\n\tRX1_A_MARK___3 = 922,\n\tIP4_3_0_MARK___3 = 923,\n\tVI0_DATA5_MARK = 924,\n\tHCTS1_N_MARK = 925,\n\tTX1_A_MARK___3 = 926,\n\tIP5_3_0_MARK___3 = 927,\n\tVI1_CLK_MARK = 928,\n\tMSIOF1_RXD_MARK = 929,\n\tCS0_N_MARK___3 = 930,\n\tIP6_3_0_MARK___3 = 931,\n\tVI1_DATA4_MARK = 932,\n\tCANFD_CLK_B_MARK = 933,\n\tD7_MARK___3 = 934,\n\tMMC_D0_MARK = 935,\n\tIP7_3_0_MARK___3 = 936,\n\tVI1_FIELD_MARK = 937,\n\tSDA4_MARK = 938,\n\tD15_MARK___3 = 939,\n\tMMC_D7_MARK = 940,\n\tIP4_7_4_MARK___3 = 941,\n\tVI0_DATA6_MARK = 942,\n\tHTX1_MARK = 943,\n\tCTS1_N_MARK___3 = 944,\n\tIP5_7_4_MARK___3 = 945,\n\tVI1_CLKENB_MARK = 946,\n\tMSIOF1_TXD_MARK = 947,\n\tD0_MARK___3 = 948,\n\tIP6_7_4_MARK___3 = 949,\n\tVI1_DATA5_MARK = 950,\n\tD8_MARK___3 = 951,\n\tMMC_D1_MARK = 952,\n\tIP7_7_4_MARK___3 = 953,\n\tSCL0_MARK___3 = 954,\n\tCLKOUT_MARK___3 = 955,\n\tIP4_11_8_MARK___3 = 956,\n\tVI0_DATA7_MARK = 957,\n\tHRX1_MARK = 958,\n\tRTS1_N_MARK___3 = 959,\n\tIP5_11_8_MARK___3 = 960,\n\tVI1_HSYNC_N_MARK = 961,\n\tMSIOF1_SCK_MARK = 962,\n\tD1_MARK___3 = 963,\n\tIP6_11_8_MARK___3 = 964,\n\tVI1_DATA6_MARK = 965,\n\tD9_MARK___3 = 966,\n\tMMC_D2_MARK = 967,\n\tIP7_11_8_MARK___3 = 968,\n\tSDA0_MARK___3 = 969,\n\tBS_N_MARK___3 = 970,\n\tSCK0_MARK___3 = 971,\n\tHSCK0_B_MARK = 972,\n\tIP4_15_12_MARK___3 = 973,\n\tVI0_DATA8_MARK = 974,\n\tHSCK2_MARK = 975,\n\tIP5_15_12_MARK___3 = 976,\n\tVI1_VSYNC_N_MARK = 977,\n\tMSIOF1_SYNC_MARK = 978,\n\tD2_MARK___3 = 979,\n\tIP6_15_12_MARK___3 = 980,\n\tVI1_DATA7_MARK = 981,\n\tD10_MARK___3 = 982,\n\tMMC_D3_MARK = 983,\n\tIP7_15_12_MARK = 984,\n\tSCL1_MARK = 985,\n\tTPU0TO2_MARK___3 = 986,\n\tRD_N_MARK___3 = 987,\n\tCTS0_N_MARK___3 = 988,\n\tHCTS0_N_B_MARK = 989,\n\tIP4_19_16_MARK___3 = 990,\n\tVI0_DATA9_MARK = 991,\n\tHCTS2_N_MARK = 992,\n\tPWM1_A_MARK___3 = 993,\n\tIP5_19_16_MARK___3 = 994,\n\tVI1_DATA0_MARK = 995,\n\tMSIOF1_SS1_MARK = 996,\n\tD3_MARK___3 = 997,\n\tMMC_WP_MARK = 998,\n\tIP6_19_16_MARK___3 = 999,\n\tVI1_DATA8_MARK = 1000,\n\tD11_MARK___3 = 1001,\n\tMMC_CLK_MARK = 1002,\n\tIP7_19_16_MARK___3 = 1003,\n\tSDA1_MARK = 1004,\n\tTPU0TO3_MARK___3 = 1005,\n\tWE0_N_MARK___3 = 1006,\n\tRTS0_N_MARK___3 = 1007,\n\tHRTS0_N_B_MARK = 1008,\n\tIP4_23_20_MARK___3 = 1009,\n\tVI0_DATA10_MARK = 1010,\n\tHRTS2_N_MARK = 1011,\n\tPWM2_A_MARK___3 = 1012,\n\tIP5_23_20_MARK___3 = 1013,\n\tVI1_DATA1_MARK = 1014,\n\tMSIOF1_SS2_MARK = 1015,\n\tD4_MARK___3 = 1016,\n\tMMC_CD_MARK = 1017,\n\tIP6_23_20_MARK___3 = 1018,\n\tVI1_DATA9_MARK = 1019,\n\tTCLK1_A_MARK___3 = 1020,\n\tD12_MARK___3 = 1021,\n\tMMC_D4_MARK = 1022,\n\tIP7_23_20_MARK___3 = 1023,\n\tSCL2_MARK = 1024,\n\tWE1_N_MARK___3 = 1025,\n\tRX0_MARK___3 = 1026,\n\tHRX0_B_MARK = 1027,\n\tIP4_27_24_MARK___3 = 1028,\n\tVI0_DATA11_MARK = 1029,\n\tHTX2_MARK = 1030,\n\tPWM3_A_MARK___3 = 1031,\n\tIP5_27_24_MARK___3 = 1032,\n\tVI1_DATA2_MARK = 1033,\n\tCANFD0_TX_B_MARK___3 = 1034,\n\tD5_MARK___3 = 1035,\n\tMMC_DS_MARK = 1036,\n\tIP6_27_24_MARK___3 = 1037,\n\tVI1_DATA10_MARK = 1038,\n\tTCLK2_A_MARK___3 = 1039,\n\tD13_MARK___3 = 1040,\n\tMMC_D5_MARK = 1041,\n\tIP7_27_24_MARK___3 = 1042,\n\tSDA2_MARK = 1043,\n\tEX_WAIT0_MARK = 1044,\n\tTX0_MARK___3 = 1045,\n\tHTX0_B_MARK = 1046,\n\tIP4_31_28_MARK___3 = 1047,\n\tVI0_FIELD_MARK = 1048,\n\tHRX2_MARK = 1049,\n\tPWM4_A_MARK___3 = 1050,\n\tCS1_N_MARK___3 = 1051,\n\tIP5_31_28_MARK___3 = 1052,\n\tVI1_DATA3_MARK = 1053,\n\tCANFD0_RX_B_MARK___3 = 1054,\n\tD6_MARK___3 = 1055,\n\tMMC_CMD_MARK = 1056,\n\tIP6_31_28_MARK___3 = 1057,\n\tVI1_DATA11_MARK = 1058,\n\tSCL4_MARK = 1059,\n\tD14_MARK___3 = 1060,\n\tMMC_D6_MARK = 1061,\n\tIP7_31_28_MARK___3 = 1062,\n\tAVB_AVTP_MATCH_MARK = 1063,\n\tTPU0TO0_MARK___3 = 1064,\n\tIP8_3_0_MARK___3 = 1065,\n\tAVB_AVTP_CAPTURE_MARK = 1066,\n\tTPU0TO1_MARK___3 = 1067,\n\tIP9_3_0_MARK___3 = 1068,\n\tIRQ4_MARK___3 = 1069,\n\tVI0_DATA12_MARK = 1070,\n\tIP10_3_0_MARK___3 = 1071,\n\tSCL3_MARK___3 = 1072,\n\tVI0_DATA20_MARK = 1073,\n\tIP8_7_4_MARK___3 = 1074,\n\tCANFD0_TX_A_MARK___3 = 1075,\n\tFXR_TXDA_MARK = 1076,\n\tPWM0_B_MARK = 1077,\n\tDU_DISP_MARK___3 = 1078,\n\tIP9_7_4_MARK___3 = 1079,\n\tIRQ5_MARK___3 = 1080,\n\tVI0_DATA13_MARK = 1081,\n\tIP10_7_4_MARK___3 = 1082,\n\tSDA3_MARK___3 = 1083,\n\tVI0_DATA21_MARK = 1084,\n\tIP8_11_8_MARK___3 = 1085,\n\tCANFD0_RX_A_MARK___3 = 1086,\n\tRXDA_EXTFXR_MARK = 1087,\n\tPWM1_B_MARK___3 = 1088,\n\tDU_CDE_MARK___3 = 1089,\n\tIP9_11_8_MARK___3 = 1090,\n\tMSIOF0_RXD_MARK___3 = 1091,\n\tDU_DR0_MARK___3 = 1092,\n\tVI0_DATA14_MARK = 1093,\n\tIP10_11_8_MARK___3 = 1094,\n\tFSO_CFE_0_N_MARK___3 = 1095,\n\tVI0_DATA22_MARK = 1096,\n\tIP8_15_12_MARK___3 = 1097,\n\tCANFD1_TX_MARK___3 = 1098,\n\tFXR_TXDB_MARK = 1099,\n\tPWM2_B_MARK___3 = 1100,\n\tTCLK1_B_MARK___3 = 1101,\n\tTX1_B_MARK___3 = 1102,\n\tIP9_15_12_MARK___3 = 1103,\n\tMSIOF0_TXD_MARK___3 = 1104,\n\tDU_DR1_MARK___3 = 1105,\n\tVI0_DATA15_MARK = 1106,\n\tIP10_15_12_MARK___3 = 1107,\n\tFSO_CFE_1_N_MARK___3 = 1108,\n\tVI0_DATA23_MARK = 1109,\n\tIP8_19_16_MARK___3 = 1110,\n\tCANFD1_RX_MARK___3 = 1111,\n\tRXDB_EXTFXR_MARK = 1112,\n\tPWM3_B_MARK___3 = 1113,\n\tTCLK2_B_MARK___3 = 1114,\n\tRX1_B_MARK___3 = 1115,\n\tIP9_19_16_MARK___3 = 1116,\n\tMSIOF0_SCK_MARK___3 = 1117,\n\tDU_DG0_MARK___3 = 1118,\n\tVI0_DATA16_MARK = 1119,\n\tIP10_19_16_MARK___3 = 1120,\n\tFSO_TOE_N_MARK___3 = 1121,\n\tIP8_23_20_MARK___3 = 1122,\n\tCANFD_CLK_A_MARK = 1123,\n\tCLK_EXTFXR_MARK = 1124,\n\tPWM4_B_MARK___3 = 1125,\n\tSPEEDIN_B_MARK___3 = 1126,\n\tSCIF_CLK_B_MARK___3 = 1127,\n\tIP9_23_20_MARK___3 = 1128,\n\tMSIOF0_SYNC_MARK___3 = 1129,\n\tDU_DG1_MARK___3 = 1130,\n\tVI0_DATA17_MARK = 1131,\n\tIP8_27_24_MARK___3 = 1132,\n\tDIGRF_CLKIN_MARK = 1133,\n\tDIGRF_CLKEN_IN_MARK = 1134,\n\tIP9_27_24_MARK___3 = 1135,\n\tMSIOF0_SS1_MARK___3 = 1136,\n\tDU_DB0_MARK___3 = 1137,\n\tTCLK3_MARK = 1138,\n\tVI0_DATA18_MARK = 1139,\n\tIP8_31_28_MARK___3 = 1140,\n\tDIGRF_CLKOUT_MARK = 1141,\n\tDIGRF_CLKEN_OUT_MARK = 1142,\n\tIP9_31_28_MARK___3 = 1143,\n\tMSIOF0_SS2_MARK___3 = 1144,\n\tDU_DB1_MARK___3 = 1145,\n\tTCLK4_MARK = 1146,\n\tVI0_DATA19_MARK = 1147,\n\tSEL_CANFD0_0_MARK___3 = 1148,\n\tSEL_CANFD0_1_MARK___3 = 1149,\n\tSEL_GETHER_0_MARK = 1150,\n\tSEL_GETHER_1_MARK = 1151,\n\tSEL_HSCIF0_0_MARK = 1152,\n\tSEL_HSCIF0_1_MARK = 1153,\n\tSEL_PWM0_0_MARK = 1154,\n\tSEL_PWM0_1_MARK = 1155,\n\tSEL_PWM1_0_MARK___3 = 1156,\n\tSEL_PWM1_1_MARK___3 = 1157,\n\tSEL_PWM2_0_MARK___3 = 1158,\n\tSEL_PWM2_1_MARK___3 = 1159,\n\tSEL_PWM3_0_MARK___3 = 1160,\n\tSEL_PWM3_1_MARK___3 = 1161,\n\tSEL_PWM4_0_MARK___3 = 1162,\n\tSEL_PWM4_1_MARK___3 = 1163,\n\tSEL_RSP_0_MARK = 1164,\n\tSEL_RSP_1_MARK = 1165,\n\tSEL_SCIF1_0_MARK___3 = 1166,\n\tSEL_SCIF1_1_MARK___3 = 1167,\n\tSEL_TMU_0_MARK = 1168,\n\tSEL_TMU_1_MARK = 1169,\n\tPINMUX_MARK_END___3 = 1170,\n};\n\nenum {\n\tPINMUX_RESERVED___4 = 0,\n\tPINMUX_DATA_BEGIN___4 = 1,\n\tGP_0_0_DATA___4 = 2,\n\tGP_0_1_DATA___4 = 3,\n\tGP_0_2_DATA___4 = 4,\n\tGP_0_3_DATA___4 = 5,\n\tGP_0_4_DATA___4 = 6,\n\tGP_0_5_DATA___4 = 7,\n\tGP_0_6_DATA___4 = 8,\n\tGP_0_7_DATA___4 = 9,\n\tGP_0_8_DATA___4 = 10,\n\tGP_0_9_DATA___4 = 11,\n\tGP_0_10_DATA___4 = 12,\n\tGP_0_11_DATA___4 = 13,\n\tGP_0_12_DATA___4 = 14,\n\tGP_0_13_DATA___4 = 15,\n\tGP_0_14_DATA___4 = 16,\n\tGP_0_15_DATA___4 = 17,\n\tGP_1_0_DATA___4 = 18,\n\tGP_1_1_DATA___4 = 19,\n\tGP_1_2_DATA___4 = 20,\n\tGP_1_3_DATA___4 = 21,\n\tGP_1_4_DATA___4 = 22,\n\tGP_1_5_DATA___4 = 23,\n\tGP_1_6_DATA___4 = 24,\n\tGP_1_7_DATA___4 = 25,\n\tGP_1_8_DATA___4 = 26,\n\tGP_1_9_DATA___4 = 27,\n\tGP_1_10_DATA___4 = 28,\n\tGP_1_11_DATA___4 = 29,\n\tGP_1_12_DATA___4 = 30,\n\tGP_1_13_DATA___4 = 31,\n\tGP_1_14_DATA___4 = 32,\n\tGP_1_15_DATA___4 = 33,\n\tGP_1_16_DATA___4 = 34,\n\tGP_1_17_DATA___4 = 35,\n\tGP_1_18_DATA___4 = 36,\n\tGP_1_19_DATA___4 = 37,\n\tGP_1_20_DATA___4 = 38,\n\tGP_1_21_DATA___4 = 39,\n\tGP_1_22_DATA___4 = 40,\n\tGP_1_23_DATA___4 = 41,\n\tGP_1_24_DATA___4 = 42,\n\tGP_1_25_DATA___4 = 43,\n\tGP_1_26_DATA___4 = 44,\n\tGP_1_27_DATA___4 = 45,\n\tGP_1_28_DATA___3 = 46,\n\tGP_2_0_DATA___4 = 47,\n\tGP_2_1_DATA___4 = 48,\n\tGP_2_2_DATA___4 = 49,\n\tGP_2_3_DATA___4 = 50,\n\tGP_2_4_DATA___4 = 51,\n\tGP_2_5_DATA___4 = 52,\n\tGP_2_6_DATA___4 = 53,\n\tGP_2_7_DATA___4 = 54,\n\tGP_2_8_DATA___4 = 55,\n\tGP_2_9_DATA___4 = 56,\n\tGP_2_10_DATA___4 = 57,\n\tGP_2_11_DATA___4 = 58,\n\tGP_2_12_DATA___4 = 59,\n\tGP_2_13_DATA___4 = 60,\n\tGP_2_14_DATA___4 = 61,\n\tGP_3_0_DATA___4 = 62,\n\tGP_3_1_DATA___4 = 63,\n\tGP_3_2_DATA___4 = 64,\n\tGP_3_3_DATA___4 = 65,\n\tGP_3_4_DATA___4 = 66,\n\tGP_3_5_DATA___4 = 67,\n\tGP_3_6_DATA___4 = 68,\n\tGP_3_7_DATA___4 = 69,\n\tGP_3_8_DATA___4 = 70,\n\tGP_3_9_DATA___4 = 71,\n\tGP_3_10_DATA___4 = 72,\n\tGP_3_11_DATA___4 = 73,\n\tGP_3_12_DATA___4 = 74,\n\tGP_3_13_DATA___4 = 75,\n\tGP_3_14_DATA___4 = 76,\n\tGP_3_15_DATA___4 = 77,\n\tGP_4_0_DATA___4 = 78,\n\tGP_4_1_DATA___4 = 79,\n\tGP_4_2_DATA___4 = 80,\n\tGP_4_3_DATA___4 = 81,\n\tGP_4_4_DATA___4 = 82,\n\tGP_4_5_DATA___4 = 83,\n\tGP_4_6_DATA___4 = 84,\n\tGP_4_7_DATA___4 = 85,\n\tGP_4_8_DATA___4 = 86,\n\tGP_4_9_DATA___4 = 87,\n\tGP_4_10_DATA___4 = 88,\n\tGP_4_11_DATA___4 = 89,\n\tGP_4_12_DATA___4 = 90,\n\tGP_4_13_DATA___4 = 91,\n\tGP_4_14_DATA___4 = 92,\n\tGP_4_15_DATA___4 = 93,\n\tGP_4_16_DATA___4 = 94,\n\tGP_4_17_DATA___4 = 95,\n\tGP_5_0_DATA___4 = 96,\n\tGP_5_1_DATA___4 = 97,\n\tGP_5_2_DATA___4 = 98,\n\tGP_5_3_DATA___4 = 99,\n\tGP_5_4_DATA___4 = 100,\n\tGP_5_5_DATA___4 = 101,\n\tGP_5_6_DATA___4 = 102,\n\tGP_5_7_DATA___4 = 103,\n\tGP_5_8_DATA___4 = 104,\n\tGP_5_9_DATA___4 = 105,\n\tGP_5_10_DATA___4 = 106,\n\tGP_5_11_DATA___4 = 107,\n\tGP_5_12_DATA___4 = 108,\n\tGP_5_13_DATA___4 = 109,\n\tGP_5_14_DATA___4 = 110,\n\tGP_5_15_DATA___3 = 111,\n\tGP_5_16_DATA___3 = 112,\n\tGP_5_17_DATA___3 = 113,\n\tGP_5_18_DATA___3 = 114,\n\tGP_5_19_DATA___3 = 115,\n\tGP_5_20_DATA___3 = 116,\n\tGP_5_21_DATA___3 = 117,\n\tGP_5_22_DATA___3 = 118,\n\tGP_5_23_DATA___3 = 119,\n\tGP_5_24_DATA___3 = 120,\n\tGP_5_25_DATA___3 = 121,\n\tGP_6_0_DATA___3 = 122,\n\tGP_6_1_DATA___3 = 123,\n\tGP_6_2_DATA___3 = 124,\n\tGP_6_3_DATA___3 = 125,\n\tGP_6_4_DATA___3 = 126,\n\tGP_6_5_DATA___3 = 127,\n\tGP_6_6_DATA___3 = 128,\n\tGP_6_7_DATA___3 = 129,\n\tGP_6_8_DATA___3 = 130,\n\tGP_6_9_DATA___3 = 131,\n\tGP_6_10_DATA___3 = 132,\n\tGP_6_11_DATA___3 = 133,\n\tGP_6_12_DATA___3 = 134,\n\tGP_6_13_DATA___3 = 135,\n\tGP_6_14_DATA___3 = 136,\n\tGP_6_15_DATA___3 = 137,\n\tGP_6_16_DATA___3 = 138,\n\tGP_6_17_DATA___3 = 139,\n\tGP_6_18_DATA___3 = 140,\n\tGP_6_19_DATA___3 = 141,\n\tGP_6_20_DATA___3 = 142,\n\tGP_6_21_DATA___3 = 143,\n\tGP_6_22_DATA___3 = 144,\n\tGP_6_23_DATA___3 = 145,\n\tGP_6_24_DATA___3 = 146,\n\tGP_6_25_DATA___3 = 147,\n\tGP_6_26_DATA___3 = 148,\n\tGP_6_27_DATA___3 = 149,\n\tGP_6_28_DATA___3 = 150,\n\tGP_6_29_DATA___3 = 151,\n\tGP_6_30_DATA___3 = 152,\n\tGP_6_31_DATA___3 = 153,\n\tGP_7_0_DATA___3 = 154,\n\tGP_7_1_DATA___3 = 155,\n\tGP_7_2_DATA___3 = 156,\n\tGP_7_3_DATA___3 = 157,\n\tPINMUX_DATA_END___4 = 158,\n\tPINMUX_FUNCTION_BEGIN___4 = 159,\n\tGP_0_0_FN___4 = 160,\n\tGP_0_1_FN___4 = 161,\n\tGP_0_2_FN___4 = 162,\n\tGP_0_3_FN___4 = 163,\n\tGP_0_4_FN___4 = 164,\n\tGP_0_5_FN___4 = 165,\n\tGP_0_6_FN___4 = 166,\n\tGP_0_7_FN___4 = 167,\n\tGP_0_8_FN___4 = 168,\n\tGP_0_9_FN___4 = 169,\n\tGP_0_10_FN___4 = 170,\n\tGP_0_11_FN___4 = 171,\n\tGP_0_12_FN___4 = 172,\n\tGP_0_13_FN___4 = 173,\n\tGP_0_14_FN___4 = 174,\n\tGP_0_15_FN___4 = 175,\n\tGP_1_0_FN___4 = 176,\n\tGP_1_1_FN___4 = 177,\n\tGP_1_2_FN___4 = 178,\n\tGP_1_3_FN___4 = 179,\n\tGP_1_4_FN___4 = 180,\n\tGP_1_5_FN___4 = 181,\n\tGP_1_6_FN___4 = 182,\n\tGP_1_7_FN___4 = 183,\n\tGP_1_8_FN___4 = 184,\n\tGP_1_9_FN___4 = 185,\n\tGP_1_10_FN___4 = 186,\n\tGP_1_11_FN___4 = 187,\n\tGP_1_12_FN___4 = 188,\n\tGP_1_13_FN___4 = 189,\n\tGP_1_14_FN___4 = 190,\n\tGP_1_15_FN___4 = 191,\n\tGP_1_16_FN___4 = 192,\n\tGP_1_17_FN___4 = 193,\n\tGP_1_18_FN___4 = 194,\n\tGP_1_19_FN___4 = 195,\n\tGP_1_20_FN___4 = 196,\n\tGP_1_21_FN___4 = 197,\n\tGP_1_22_FN___4 = 198,\n\tGP_1_23_FN___4 = 199,\n\tGP_1_24_FN___4 = 200,\n\tGP_1_25_FN___4 = 201,\n\tGP_1_26_FN___4 = 202,\n\tGP_1_27_FN___4 = 203,\n\tGP_1_28_FN___3 = 204,\n\tGP_2_0_FN___4 = 205,\n\tGP_2_1_FN___4 = 206,\n\tGP_2_2_FN___4 = 207,\n\tGP_2_3_FN___4 = 208,\n\tGP_2_4_FN___4 = 209,\n\tGP_2_5_FN___4 = 210,\n\tGP_2_6_FN___4 = 211,\n\tGP_2_7_FN___4 = 212,\n\tGP_2_8_FN___4 = 213,\n\tGP_2_9_FN___4 = 214,\n\tGP_2_10_FN___4 = 215,\n\tGP_2_11_FN___4 = 216,\n\tGP_2_12_FN___4 = 217,\n\tGP_2_13_FN___4 = 218,\n\tGP_2_14_FN___4 = 219,\n\tGP_3_0_FN___4 = 220,\n\tGP_3_1_FN___4 = 221,\n\tGP_3_2_FN___4 = 222,\n\tGP_3_3_FN___4 = 223,\n\tGP_3_4_FN___4 = 224,\n\tGP_3_5_FN___4 = 225,\n\tGP_3_6_FN___4 = 226,\n\tGP_3_7_FN___4 = 227,\n\tGP_3_8_FN___4 = 228,\n\tGP_3_9_FN___4 = 229,\n\tGP_3_10_FN___4 = 230,\n\tGP_3_11_FN___4 = 231,\n\tGP_3_12_FN___4 = 232,\n\tGP_3_13_FN___4 = 233,\n\tGP_3_14_FN___4 = 234,\n\tGP_3_15_FN___4 = 235,\n\tGP_4_0_FN___4 = 236,\n\tGP_4_1_FN___4 = 237,\n\tGP_4_2_FN___4 = 238,\n\tGP_4_3_FN___4 = 239,\n\tGP_4_4_FN___4 = 240,\n\tGP_4_5_FN___4 = 241,\n\tGP_4_6_FN___4 = 242,\n\tGP_4_7_FN___4 = 243,\n\tGP_4_8_FN___4 = 244,\n\tGP_4_9_FN___4 = 245,\n\tGP_4_10_FN___4 = 246,\n\tGP_4_11_FN___4 = 247,\n\tGP_4_12_FN___4 = 248,\n\tGP_4_13_FN___4 = 249,\n\tGP_4_14_FN___4 = 250,\n\tGP_4_15_FN___4 = 251,\n\tGP_4_16_FN___4 = 252,\n\tGP_4_17_FN___4 = 253,\n\tGP_5_0_FN___4 = 254,\n\tGP_5_1_FN___4 = 255,\n\tGP_5_2_FN___4 = 256,\n\tGP_5_3_FN___4 = 257,\n\tGP_5_4_FN___4 = 258,\n\tGP_5_5_FN___4 = 259,\n\tGP_5_6_FN___4 = 260,\n\tGP_5_7_FN___4 = 261,\n\tGP_5_8_FN___4 = 262,\n\tGP_5_9_FN___4 = 263,\n\tGP_5_10_FN___4 = 264,\n\tGP_5_11_FN___4 = 265,\n\tGP_5_12_FN___4 = 266,\n\tGP_5_13_FN___4 = 267,\n\tGP_5_14_FN___4 = 268,\n\tGP_5_15_FN___3 = 269,\n\tGP_5_16_FN___3 = 270,\n\tGP_5_17_FN___3 = 271,\n\tGP_5_18_FN___3 = 272,\n\tGP_5_19_FN___3 = 273,\n\tGP_5_20_FN___3 = 274,\n\tGP_5_21_FN___3 = 275,\n\tGP_5_22_FN___3 = 276,\n\tGP_5_23_FN___3 = 277,\n\tGP_5_24_FN___3 = 278,\n\tGP_5_25_FN___3 = 279,\n\tGP_6_0_FN___3 = 280,\n\tGP_6_1_FN___3 = 281,\n\tGP_6_2_FN___3 = 282,\n\tGP_6_3_FN___3 = 283,\n\tGP_6_4_FN___3 = 284,\n\tGP_6_5_FN___3 = 285,\n\tGP_6_6_FN___3 = 286,\n\tGP_6_7_FN___3 = 287,\n\tGP_6_8_FN___3 = 288,\n\tGP_6_9_FN___3 = 289,\n\tGP_6_10_FN___3 = 290,\n\tGP_6_11_FN___3 = 291,\n\tGP_6_12_FN___3 = 292,\n\tGP_6_13_FN___3 = 293,\n\tGP_6_14_FN___3 = 294,\n\tGP_6_15_FN___3 = 295,\n\tGP_6_16_FN___3 = 296,\n\tGP_6_17_FN___3 = 297,\n\tGP_6_18_FN___3 = 298,\n\tGP_6_19_FN___3 = 299,\n\tGP_6_20_FN___3 = 300,\n\tGP_6_21_FN___3 = 301,\n\tGP_6_22_FN___3 = 302,\n\tGP_6_23_FN___3 = 303,\n\tGP_6_24_FN___3 = 304,\n\tGP_6_25_FN___3 = 305,\n\tGP_6_26_FN___3 = 306,\n\tGP_6_27_FN___3 = 307,\n\tGP_6_28_FN___3 = 308,\n\tGP_6_29_FN___3 = 309,\n\tGP_6_30_FN___3 = 310,\n\tGP_6_31_FN___3 = 311,\n\tGP_7_0_FN___3 = 312,\n\tGP_7_1_FN___3 = 313,\n\tGP_7_2_FN___3 = 314,\n\tGP_7_3_FN___3 = 315,\n\tFN_CLKOUT___4 = 316,\n\tFN_MSIOF0_RXD___4 = 317,\n\tFN_MSIOF0_TXD___4 = 318,\n\tFN_MSIOF0_SCK___4 = 319,\n\tFN_SSI_SDATA5___3 = 320,\n\tFN_SSI_WS5___3 = 321,\n\tFN_SSI_SCK5___3 = 322,\n\tFN_GP7_03___3 = 323,\n\tFN_GP7_02___3 = 324,\n\tFN_AVS2___3 = 325,\n\tFN_AVS1___3 = 326,\n\tFN_IP0_3_0___4 = 327,\n\tFN_AVB_MDC___4 = 328,\n\tFN_MSIOF2_SS2_C___3 = 329,\n\tFN_IP1_3_0___4 = 330,\n\tFN_IRQ2___4 = 331,\n\tFN_QCPV_QDE___3 = 332,\n\tFN_DU_EXODDF_DU_ODDF_DISP_CDE___4 = 333,\n\tFN_VI4_DATA2_B___3 = 334,\n\tFN_MSIOF3_SYNC_E___3 = 335,\n\tFN_PWM3_B___4 = 336,\n\tFN_IP2_3_0___4 = 337,\n\tFN_A1___4 = 338,\n\tFN_LCDOUT17___3 = 339,\n\tFN_MSIOF3_TXD_B___3 = 340,\n\tFN_VI4_DATA9___3 = 341,\n\tFN_DU_DB1___4 = 342,\n\tFN_PWM4_A___4 = 343,\n\tFN_IP3_3_0___4 = 344,\n\tFN_A9___4 = 345,\n\tFN_MSIOF2_SCK_A___3 = 346,\n\tFN_CTS4_N_B___3 = 347,\n\tFN_VI5_VSYNC_N___3 = 348,\n\tFN_IP0_7_4___4 = 349,\n\tFN_AVB_MAGIC___4 = 350,\n\tFN_MSIOF2_SS1_C___3 = 351,\n\tFN_SCK4_A___3 = 352,\n\tFN_IP1_7_4___4 = 353,\n\tFN_IRQ3___4 = 354,\n\tFN_QSTVB_QVE___3 = 355,\n\tFN_DU_DOTCLKOUT1___3 = 356,\n\tFN_VI4_DATA3_B___3 = 357,\n\tFN_MSIOF3_SCK_E___3 = 358,\n\tFN_PWM4_B___4 = 359,\n\tFN_IP2_7_4___4 = 360,\n\tFN_A2___4 = 361,\n\tFN_LCDOUT18___3 = 362,\n\tFN_MSIOF3_SCK_B___3 = 363,\n\tFN_VI4_DATA10___3 = 364,\n\tFN_DU_DB2___4 = 365,\n\tFN_PWM5_A___3 = 366,\n\tFN_IP3_7_4___4 = 367,\n\tFN_A10___4 = 368,\n\tFN_MSIOF2_RXD_A___3 = 369,\n\tFN_RTS4_N_B___3 = 370,\n\tFN_VI5_HSYNC_N___3 = 371,\n\tFN_IP0_11_8___4 = 372,\n\tFN_AVB_PHY_INT___4 = 373,\n\tFN_MSIOF2_SYNC_C___3 = 374,\n\tFN_RX4_A___3 = 375,\n\tFN_IP1_11_8___4 = 376,\n\tFN_IRQ4___4 = 377,\n\tFN_QSTH_QHS___3 = 378,\n\tFN_DU_EXHSYNC_DU_HSYNC___4 = 379,\n\tFN_VI4_DATA4_B___3 = 380,\n\tFN_MSIOF3_RXD_E___3 = 381,\n\tFN_PWM5_B___3 = 382,\n\tFN_IP2_11_8___4 = 383,\n\tFN_A3___4 = 384,\n\tFN_LCDOUT19___3 = 385,\n\tFN_MSIOF3_RXD_B___3 = 386,\n\tFN_VI4_DATA11___3 = 387,\n\tFN_DU_DB3___4 = 388,\n\tFN_PWM6_A___3 = 389,\n\tFN_IP3_11_8___4 = 390,\n\tFN_A11___4 = 391,\n\tFN_TX3_B___3 = 392,\n\tFN_MSIOF2_TXD_A___3 = 393,\n\tFN_HTX4_B___3 = 394,\n\tFN_HSCK4___3 = 395,\n\tFN_VI5_FIELD___3 = 396,\n\tFN_SCL6_A___3 = 397,\n\tFN_AVB_AVTP_CAPTURE_B___3 = 398,\n\tFN_PWM2_B___4 = 399,\n\tFN_IP0_15_12___4 = 400,\n\tFN_AVB_LINK___4 = 401,\n\tFN_MSIOF2_SCK_C___3 = 402,\n\tFN_TX4_A___3 = 403,\n\tFN_IP1_15_12___4 = 404,\n\tFN_IRQ5___4 = 405,\n\tFN_QSTB_QHE___3 = 406,\n\tFN_DU_EXVSYNC_DU_VSYNC___4 = 407,\n\tFN_VI4_DATA5_B___3 = 408,\n\tFN_FSCLKST2_N_B___2 = 409,\n\tFN_MSIOF3_TXD_E___3 = 410,\n\tFN_PWM6_B___3 = 411,\n\tFN_IP2_15_12___4 = 412,\n\tFN_A4___4 = 413,\n\tFN_LCDOUT20___3 = 414,\n\tFN_MSIOF3_SS1_B___3 = 415,\n\tFN_VI4_DATA12___3 = 416,\n\tFN_VI5_DATA12___3 = 417,\n\tFN_DU_DB4___4 = 418,\n\tFN_IP3_15_12___4 = 419,\n\tFN_A12___4 = 420,\n\tFN_LCDOUT12___3 = 421,\n\tFN_MSIOF3_SCK_C___3 = 422,\n\tFN_HRX4_A___3 = 423,\n\tFN_VI5_DATA8___3 = 424,\n\tFN_DU_DG4___4 = 425,\n\tFN_IP0_19_16___4 = 426,\n\tFN_AVB_AVTP_MATCH_A___3 = 427,\n\tFN_MSIOF2_RXD_C___3 = 428,\n\tFN_CTS4_N_A___3 = 429,\n\tFN_FSCLKST2_N_A___2 = 430,\n\tFN_IP1_19_16___4 = 431,\n\tFN_PWM0___3 = 432,\n\tFN_AVB_AVTP_PPS___4 = 433,\n\tFN_VI4_DATA6_B___3 = 434,\n\tFN_IECLK_B___3 = 435,\n\tFN_IP2_19_16___4 = 436,\n\tFN_A5___4 = 437,\n\tFN_LCDOUT21___3 = 438,\n\tFN_MSIOF3_SS2_B___3 = 439,\n\tFN_SCK4_B___3 = 440,\n\tFN_VI4_DATA13___3 = 441,\n\tFN_VI5_DATA13___3 = 442,\n\tFN_DU_DB5___4 = 443,\n\tFN_IP3_19_16___4 = 444,\n\tFN_A13___4 = 445,\n\tFN_LCDOUT13___3 = 446,\n\tFN_MSIOF3_SYNC_C___3 = 447,\n\tFN_HTX4_A___3 = 448,\n\tFN_VI5_DATA9___3 = 449,\n\tFN_DU_DG5___4 = 450,\n\tFN_IP0_23_20___4 = 451,\n\tFN_AVB_AVTP_CAPTURE_A___3 = 452,\n\tFN_MSIOF2_TXD_C___3 = 453,\n\tFN_RTS4_N_A___3 = 454,\n\tFN_IP1_23_20___4 = 455,\n\tFN_PWM1_A___4 = 456,\n\tFN_HRX3_D___3 = 457,\n\tFN_VI4_DATA7_B___3 = 458,\n\tFN_IERX_B___3 = 459,\n\tFN_IP2_23_20___4 = 460,\n\tFN_A6___4 = 461,\n\tFN_LCDOUT22___3 = 462,\n\tFN_MSIOF2_SS1_A___3 = 463,\n\tFN_RX4_B___3 = 464,\n\tFN_VI4_DATA14___3 = 465,\n\tFN_VI5_DATA14___3 = 466,\n\tFN_DU_DB6___4 = 467,\n\tFN_IP3_23_20___4 = 468,\n\tFN_A14___4 = 469,\n\tFN_LCDOUT14___3 = 470,\n\tFN_MSIOF3_RXD_C___3 = 471,\n\tFN_HCTS4_N___3 = 472,\n\tFN_VI5_DATA10___3 = 473,\n\tFN_DU_DG6___4 = 474,\n\tFN_IP0_27_24___4 = 475,\n\tFN_IRQ0___4 = 476,\n\tFN_QPOLB___3 = 477,\n\tFN_DU_CDE___4 = 478,\n\tFN_VI4_DATA0_B___3 = 479,\n\tFN_CAN0_TX_B___3 = 480,\n\tFN_CANFD0_TX_B___4 = 481,\n\tFN_MSIOF3_SS2_E___3 = 482,\n\tFN_IP1_27_24___4 = 483,\n\tFN_PWM2_A___4 = 484,\n\tFN_HTX3_D___3 = 485,\n\tFN_IETX_B___3 = 486,\n\tFN_IP2_27_24___4 = 487,\n\tFN_A7___4 = 488,\n\tFN_LCDOUT23___3 = 489,\n\tFN_MSIOF2_SS2_A___3 = 490,\n\tFN_TX4_B___3 = 491,\n\tFN_VI4_DATA15___3 = 492,\n\tFN_VI5_DATA15___3 = 493,\n\tFN_DU_DB7___4 = 494,\n\tFN_IP3_27_24___4 = 495,\n\tFN_A15___4 = 496,\n\tFN_LCDOUT15___3 = 497,\n\tFN_MSIOF3_TXD_C___3 = 498,\n\tFN_HRTS4_N___3 = 499,\n\tFN_VI5_DATA11___3 = 500,\n\tFN_DU_DG7___4 = 501,\n\tFN_IP0_31_28___4 = 502,\n\tFN_IRQ1___4 = 503,\n\tFN_QPOLA___3 = 504,\n\tFN_DU_DISP___4 = 505,\n\tFN_VI4_DATA1_B___3 = 506,\n\tFN_CAN0_RX_B___3 = 507,\n\tFN_CANFD0_RX_B___4 = 508,\n\tFN_MSIOF3_SS1_E___3 = 509,\n\tFN_IP1_31_28___4 = 510,\n\tFN_A0___4 = 511,\n\tFN_LCDOUT16___3 = 512,\n\tFN_MSIOF3_SYNC_B___3 = 513,\n\tFN_VI4_DATA8___3 = 514,\n\tFN_DU_DB0___4 = 515,\n\tFN_PWM3_A___4 = 516,\n\tFN_IP2_31_28___4 = 517,\n\tFN_A8___4 = 518,\n\tFN_RX3_B___3 = 519,\n\tFN_MSIOF2_SYNC_A___3 = 520,\n\tFN_HRX4_B___3 = 521,\n\tFN_SDA6_A___3 = 522,\n\tFN_AVB_AVTP_MATCH_B___3 = 523,\n\tFN_PWM1_B___4 = 524,\n\tFN_IP3_31_28___4 = 525,\n\tFN_A16___4 = 526,\n\tFN_LCDOUT8___3 = 527,\n\tFN_VI4_FIELD___3 = 528,\n\tFN_DU_DG0___4 = 529,\n\tFN_IP4_3_0___4 = 530,\n\tFN_A17___4 = 531,\n\tFN_LCDOUT9___3 = 532,\n\tFN_VI4_VSYNC_N___3 = 533,\n\tFN_DU_DG1___4 = 534,\n\tFN_IP5_3_0___4 = 535,\n\tFN_WE0_N___4 = 536,\n\tFN_MSIOF3_TXD_D___3 = 537,\n\tFN_CTS3_N___4 = 538,\n\tFN_HCTS3_N___4 = 539,\n\tFN_SCL6_B___3 = 540,\n\tFN_CAN_CLK___3 = 541,\n\tFN_IECLK_A___3 = 542,\n\tFN_IP6_3_0___4 = 543,\n\tFN_D5___4 = 544,\n\tFN_MSIOF2_SYNC_B___3 = 545,\n\tFN_VI4_DATA21___3 = 546,\n\tFN_VI5_DATA5___3 = 547,\n\tFN_IP7_3_0___4 = 548,\n\tFN_D13___4 = 549,\n\tFN_LCDOUT5___3 = 550,\n\tFN_MSIOF2_SS2_D___3 = 551,\n\tFN_TX4_C___3 = 552,\n\tFN_VI4_DATA5_A___3 = 553,\n\tFN_DU_DR5___4 = 554,\n\tFN_IP4_7_4___4 = 555,\n\tFN_A18___4 = 556,\n\tFN_LCDOUT10___3 = 557,\n\tFN_VI4_HSYNC_N___3 = 558,\n\tFN_DU_DG2___4 = 559,\n\tFN_IP5_7_4___4 = 560,\n\tFN_WE1_N___4 = 561,\n\tFN_MSIOF3_SS1_D___3 = 562,\n\tFN_RTS3_N___4 = 563,\n\tFN_HRTS3_N___4 = 564,\n\tFN_SDA6_B___3 = 565,\n\tFN_CAN1_RX___3 = 566,\n\tFN_CANFD1_RX___4 = 567,\n\tFN_IERX_A___3 = 568,\n\tFN_IP6_7_4___4 = 569,\n\tFN_D6___4 = 570,\n\tFN_MSIOF2_RXD_B___3 = 571,\n\tFN_VI4_DATA22___3 = 572,\n\tFN_VI5_DATA6___3 = 573,\n\tFN_IP7_7_4___4 = 574,\n\tFN_D14___4 = 575,\n\tFN_LCDOUT6___3 = 576,\n\tFN_MSIOF3_SS1_A___3 = 577,\n\tFN_HRX3_C___3 = 578,\n\tFN_VI4_DATA6_A___3 = 579,\n\tFN_DU_DR6___4 = 580,\n\tFN_SCL6_C___3 = 581,\n\tFN_IP4_11_8___4 = 582,\n\tFN_A19___4 = 583,\n\tFN_LCDOUT11___3 = 584,\n\tFN_VI4_CLKENB___3 = 585,\n\tFN_DU_DG3___4 = 586,\n\tFN_IP5_11_8___4 = 587,\n\tFN_EX_WAIT0_A___3 = 588,\n\tFN_QCLK___3 = 589,\n\tFN_VI4_CLK___3 = 590,\n\tFN_DU_DOTCLKOUT0___3 = 591,\n\tFN_IP6_11_8___4 = 592,\n\tFN_D7___4 = 593,\n\tFN_MSIOF2_TXD_B___3 = 594,\n\tFN_VI4_DATA23___3 = 595,\n\tFN_VI5_DATA7___3 = 596,\n\tFN_IP7_11_8___4 = 597,\n\tFN_D15___4 = 598,\n\tFN_LCDOUT7___3 = 599,\n\tFN_MSIOF3_SS2_A___3 = 600,\n\tFN_HTX3_C___3 = 601,\n\tFN_VI4_DATA7_A___3 = 602,\n\tFN_DU_DR7___4 = 603,\n\tFN_SDA6_C___3 = 604,\n\tFN_IP4_15_12___4 = 605,\n\tFN_CS0_N___4 = 606,\n\tFN_VI5_CLKENB___3 = 607,\n\tFN_IP5_15_12___4 = 608,\n\tFN_D0___4 = 609,\n\tFN_MSIOF2_SS1_B___3 = 610,\n\tFN_MSIOF3_SCK_A___3 = 611,\n\tFN_VI4_DATA16___3 = 612,\n\tFN_VI5_DATA0___3 = 613,\n\tFN_IP6_15_12___4 = 614,\n\tFN_D8___4 = 615,\n\tFN_LCDOUT0___3 = 616,\n\tFN_MSIOF2_SCK_D___3 = 617,\n\tFN_SCK4_C___3 = 618,\n\tFN_VI4_DATA0_A___3 = 619,\n\tFN_DU_DR0___4 = 620,\n\tFN_IP4_19_16___4 = 621,\n\tFN_CS1_N___4 = 622,\n\tFN_VI5_CLK___3 = 623,\n\tFN_EX_WAIT0_B___3 = 624,\n\tFN_IP5_19_16___4 = 625,\n\tFN_D1___4 = 626,\n\tFN_MSIOF2_SS2_B___3 = 627,\n\tFN_MSIOF3_SYNC_A___3 = 628,\n\tFN_VI4_DATA17___3 = 629,\n\tFN_VI5_DATA1___3 = 630,\n\tFN_IP6_19_16___4 = 631,\n\tFN_D9___4 = 632,\n\tFN_LCDOUT1___3 = 633,\n\tFN_MSIOF2_SYNC_D___3 = 634,\n\tFN_VI4_DATA1_A___3 = 635,\n\tFN_DU_DR1___4 = 636,\n\tFN_IP7_19_16___4 = 637,\n\tFN_SD0_CLK___3 = 638,\n\tFN_MSIOF1_SCK_E___3 = 639,\n\tFN_STP_OPWM_0_B___3 = 640,\n\tFN_IP4_23_20___4 = 641,\n\tFN_BS_N___4 = 642,\n\tFN_QSTVA_QVS___3 = 643,\n\tFN_MSIOF3_SCK_D___3 = 644,\n\tFN_SCK3___4 = 645,\n\tFN_HSCK3___4 = 646,\n\tFN_CAN1_TX___3 = 647,\n\tFN_CANFD1_TX___4 = 648,\n\tFN_IETX_A___3 = 649,\n\tFN_IP5_23_20___4 = 650,\n\tFN_D2___4 = 651,\n\tFN_MSIOF3_RXD_A___3 = 652,\n\tFN_VI4_DATA18___3 = 653,\n\tFN_VI5_DATA2___3 = 654,\n\tFN_IP6_23_20___4 = 655,\n\tFN_D10___4 = 656,\n\tFN_LCDOUT2___3 = 657,\n\tFN_MSIOF2_RXD_D___3 = 658,\n\tFN_HRX3_B___3 = 659,\n\tFN_VI4_DATA2_A___3 = 660,\n\tFN_CTS4_N_C___3 = 661,\n\tFN_DU_DR2___4 = 662,\n\tFN_IP7_23_20___4 = 663,\n\tFN_SD0_CMD___3 = 664,\n\tFN_MSIOF1_SYNC_E___3 = 665,\n\tFN_STP_IVCXO27_0_B___3 = 666,\n\tFN_IP4_27_24___4 = 667,\n\tFN_RD_N___4 = 668,\n\tFN_MSIOF3_SYNC_D___3 = 669,\n\tFN_RX3_A___3 = 670,\n\tFN_HRX3_A___3 = 671,\n\tFN_CAN0_TX_A___3 = 672,\n\tFN_CANFD0_TX_A___4 = 673,\n\tFN_IP5_27_24___4 = 674,\n\tFN_D3___4 = 675,\n\tFN_MSIOF3_TXD_A___3 = 676,\n\tFN_VI4_DATA19___3 = 677,\n\tFN_VI5_DATA3___3 = 678,\n\tFN_IP6_27_24___4 = 679,\n\tFN_D11___4 = 680,\n\tFN_LCDOUT3___3 = 681,\n\tFN_MSIOF2_TXD_D___3 = 682,\n\tFN_HTX3_B___3 = 683,\n\tFN_VI4_DATA3_A___3 = 684,\n\tFN_RTS4_N_C___3 = 685,\n\tFN_DU_DR3___4 = 686,\n\tFN_IP7_27_24___4 = 687,\n\tFN_SD0_DAT0___3 = 688,\n\tFN_MSIOF1_RXD_E___3 = 689,\n\tFN_TS_SCK0_B___3 = 690,\n\tFN_STP_ISCLK_0_B___3 = 691,\n\tFN_IP4_31_28___4 = 692,\n\tFN_RD_WR_N___4 = 693,\n\tFN_MSIOF3_RXD_D___3 = 694,\n\tFN_TX3_A___3 = 695,\n\tFN_HTX3_A___3 = 696,\n\tFN_CAN0_RX_A___3 = 697,\n\tFN_CANFD0_RX_A___4 = 698,\n\tFN_IP5_31_28___4 = 699,\n\tFN_D4___4 = 700,\n\tFN_MSIOF2_SCK_B___3 = 701,\n\tFN_VI4_DATA20___3 = 702,\n\tFN_VI5_DATA4___3 = 703,\n\tFN_IP6_31_28___4 = 704,\n\tFN_D12___4 = 705,\n\tFN_LCDOUT4___3 = 706,\n\tFN_MSIOF2_SS1_D___3 = 707,\n\tFN_RX4_C___3 = 708,\n\tFN_VI4_DATA4_A___3 = 709,\n\tFN_DU_DR4___4 = 710,\n\tFN_IP7_31_28___4 = 711,\n\tFN_SD0_DAT1___3 = 712,\n\tFN_MSIOF1_TXD_E___3 = 713,\n\tFN_TS_SPSYNC0_B___3 = 714,\n\tFN_STP_ISSYNC_0_B___3 = 715,\n\tFN_IP8_3_0___4 = 716,\n\tFN_SD0_DAT2___3 = 717,\n\tFN_MSIOF1_SS1_E___3 = 718,\n\tFN_TS_SDAT0_B___3 = 719,\n\tFN_STP_ISD_0_B___3 = 720,\n\tFN_IP9_3_0___4 = 721,\n\tFN_SD2_CLK___3 = 722,\n\tFN_NFDATA8___3 = 723,\n\tFN_IP10_3_0___4 = 724,\n\tFN_SD3_CMD___3 = 725,\n\tFN_NFRE_N___3 = 726,\n\tFN_IP11_3_0___3 = 727,\n\tFN_SD3_DAT7___3 = 728,\n\tFN_SD3_WP___3 = 729,\n\tFN_NFDATA7___3 = 730,\n\tFN_IP8_7_4___4 = 731,\n\tFN_SD0_DAT3___3 = 732,\n\tFN_MSIOF1_SS2_E___3 = 733,\n\tFN_TS_SDEN0_B___3 = 734,\n\tFN_STP_ISEN_0_B___3 = 735,\n\tFN_IP9_7_4___4 = 736,\n\tFN_SD2_CMD___3 = 737,\n\tFN_NFDATA9___3 = 738,\n\tFN_IP10_7_4___4 = 739,\n\tFN_SD3_DAT0___3 = 740,\n\tFN_NFDATA0___3 = 741,\n\tFN_IP11_7_4___3 = 742,\n\tFN_SD3_DS___3 = 743,\n\tFN_NFCLE___3 = 744,\n\tFN_IP8_11_8___4 = 745,\n\tFN_SD1_CLK___3 = 746,\n\tFN_MSIOF1_SCK_G___3 = 747,\n\tFN_SIM0_CLK_A___3 = 748,\n\tFN_IP9_11_8___4 = 749,\n\tFN_SD2_DAT0___3 = 750,\n\tFN_NFDATA10___3 = 751,\n\tFN_IP10_11_8___4 = 752,\n\tFN_SD3_DAT1___3 = 753,\n\tFN_NFDATA1___3 = 754,\n\tFN_IP11_11_8___3 = 755,\n\tFN_SD0_CD___3 = 756,\n\tFN_NFDATA14_A___3 = 757,\n\tFN_SCL2_B___3 = 758,\n\tFN_SIM0_RST_A___3 = 759,\n\tFN_IP8_15_12___4 = 760,\n\tFN_SD1_CMD___3 = 761,\n\tFN_MSIOF1_SYNC_G___3 = 762,\n\tFN_NFCE_N_B___3 = 763,\n\tFN_SIM0_D_A___3 = 764,\n\tFN_STP_IVCXO27_1_B___3 = 765,\n\tFN_IP9_15_12___4 = 766,\n\tFN_SD2_DAT1___3 = 767,\n\tFN_NFDATA11___3 = 768,\n\tFN_IP10_15_12___4 = 769,\n\tFN_SD3_DAT2___3 = 770,\n\tFN_NFDATA2___3 = 771,\n\tFN_IP11_15_12___3 = 772,\n\tFN_SD0_WP___3 = 773,\n\tFN_NFDATA15_A___3 = 774,\n\tFN_SDA2_B___3 = 775,\n\tFN_IP8_19_16___4 = 776,\n\tFN_SD1_DAT0___3 = 777,\n\tFN_SD2_DAT4___3 = 778,\n\tFN_MSIOF1_RXD_G___3 = 779,\n\tFN_NFWP_N_B___3 = 780,\n\tFN_TS_SCK1_B___3 = 781,\n\tFN_STP_ISCLK_1_B___3 = 782,\n\tFN_IP9_19_16___4 = 783,\n\tFN_SD2_DAT2___3 = 784,\n\tFN_NFDATA12___3 = 785,\n\tFN_IP10_19_16___4 = 786,\n\tFN_SD3_DAT3___3 = 787,\n\tFN_NFDATA3___3 = 788,\n\tFN_IP11_19_16___3 = 789,\n\tFN_SD1_CD___3 = 790,\n\tFN_NFRB_N_A___3 = 791,\n\tFN_SIM0_CLK_B___3 = 792,\n\tFN_IP8_23_20___4 = 793,\n\tFN_SD1_DAT1___3 = 794,\n\tFN_SD2_DAT5___3 = 795,\n\tFN_MSIOF1_TXD_G___3 = 796,\n\tFN_NFDATA14_B___3 = 797,\n\tFN_TS_SPSYNC1_B___3 = 798,\n\tFN_STP_ISSYNC_1_B___3 = 799,\n\tFN_IP9_23_20___4 = 800,\n\tFN_SD2_DAT3___3 = 801,\n\tFN_NFDATA13___3 = 802,\n\tFN_IP10_23_20___3 = 803,\n\tFN_SD3_DAT4___3 = 804,\n\tFN_SD2_CD_A___3 = 805,\n\tFN_NFDATA4___3 = 806,\n\tFN_IP11_23_20___3 = 807,\n\tFN_SD1_WP___3 = 808,\n\tFN_NFCE_N_A___3 = 809,\n\tFN_SIM0_D_B___3 = 810,\n\tFN_IP8_27_24___4 = 811,\n\tFN_SD1_DAT2___3 = 812,\n\tFN_SD2_DAT6___3 = 813,\n\tFN_MSIOF1_SS1_G___3 = 814,\n\tFN_NFDATA15_B___3 = 815,\n\tFN_TS_SDAT1_B___3 = 816,\n\tFN_STP_ISD_1_B___3 = 817,\n\tFN_IP9_27_24___4 = 818,\n\tFN_SD2_DS___3 = 819,\n\tFN_NFALE___3 = 820,\n\tFN_SATA_DEVSLP_B___2 = 821,\n\tFN_IP10_27_24___3 = 822,\n\tFN_SD3_DAT5___3 = 823,\n\tFN_SD2_WP_A___3 = 824,\n\tFN_NFDATA5___3 = 825,\n\tFN_IP11_27_24___3 = 826,\n\tFN_SCK0___4 = 827,\n\tFN_HSCK1_B___3 = 828,\n\tFN_MSIOF1_SS2_B___3 = 829,\n\tFN_AUDIO_CLKC_B___3 = 830,\n\tFN_SDA2_A___3 = 831,\n\tFN_SIM0_RST_B___3 = 832,\n\tFN_STP_OPWM_0_C___3 = 833,\n\tFN_RIF0_CLK_B___3 = 834,\n\tFN_ADICHS2___3 = 835,\n\tFN_SCK5_B___3 = 836,\n\tFN_IP8_31_28___4 = 837,\n\tFN_SD1_DAT3___3 = 838,\n\tFN_SD2_DAT7___3 = 839,\n\tFN_MSIOF1_SS2_G___3 = 840,\n\tFN_NFRB_N_B___3 = 841,\n\tFN_TS_SDEN1_B___3 = 842,\n\tFN_STP_ISEN_1_B___3 = 843,\n\tFN_IP9_31_28___4 = 844,\n\tFN_SD3_CLK___3 = 845,\n\tFN_NFWE_N___3 = 846,\n\tFN_IP10_31_28___3 = 847,\n\tFN_SD3_DAT6___3 = 848,\n\tFN_SD3_CD___3 = 849,\n\tFN_NFDATA6___3 = 850,\n\tFN_IP11_31_28___3 = 851,\n\tFN_RX0___4 = 852,\n\tFN_HRX1_B___3 = 853,\n\tFN_TS_SCK0_C___3 = 854,\n\tFN_STP_ISCLK_0_C___3 = 855,\n\tFN_RIF0_D0_B___3 = 856,\n\tFN_IP12_3_0___3 = 857,\n\tFN_TX0___4 = 858,\n\tFN_HTX1_B___3 = 859,\n\tFN_TS_SPSYNC0_C___3 = 860,\n\tFN_STP_ISSYNC_0_C___3 = 861,\n\tFN_RIF0_D1_B___3 = 862,\n\tFN_IP13_3_0___3 = 863,\n\tFN_TX2_A___3 = 864,\n\tFN_SD2_CD_B___3 = 865,\n\tFN_SCL1_A___3 = 866,\n\tFN_FMCLK_A___3 = 867,\n\tFN_RIF1_D1_C___3 = 868,\n\tFN_FSO_CFE_0_N___4 = 869,\n\tFN_IP14_3_0___3 = 870,\n\tFN_MSIOF0_SS1___4 = 871,\n\tFN_RX5_A___3 = 872,\n\tFN_NFWP_N_A___3 = 873,\n\tFN_AUDIO_CLKA_C___3 = 874,\n\tFN_SSI_SCK2_A___3 = 875,\n\tFN_STP_IVCXO27_0_C___3 = 876,\n\tFN_AUDIO_CLKOUT3_A___3 = 877,\n\tFN_TCLK1_B___4 = 878,\n\tFN_IP15_3_0___3 = 879,\n\tFN_SSI_SDATA1_A___3 = 880,\n\tFN_IP12_7_4___3 = 881,\n\tFN_CTS0_N___4 = 882,\n\tFN_HCTS1_N_B___3 = 883,\n\tFN_MSIOF1_SYNC_B___3 = 884,\n\tFN_TS_SPSYNC1_C___3 = 885,\n\tFN_STP_ISSYNC_1_C___3 = 886,\n\tFN_RIF1_SYNC_B___3 = 887,\n\tFN_AUDIO_CLKOUT_C___3 = 888,\n\tFN_ADICS_SAMP___3 = 889,\n\tFN_IP13_7_4___3 = 890,\n\tFN_RX2_A___3 = 891,\n\tFN_SD2_WP_B___3 = 892,\n\tFN_SDA1_A___3 = 893,\n\tFN_FMIN_A___3 = 894,\n\tFN_RIF1_SYNC_C___3 = 895,\n\tFN_FSO_CFE_1_N___4 = 896,\n\tFN_IP14_7_4___3 = 897,\n\tFN_MSIOF0_SS2___4 = 898,\n\tFN_TX5_A___3 = 899,\n\tFN_MSIOF1_SS2_D___3 = 900,\n\tFN_AUDIO_CLKC_A___3 = 901,\n\tFN_SSI_WS2_A___3 = 902,\n\tFN_STP_OPWM_0_D___3 = 903,\n\tFN_AUDIO_CLKOUT_D___3 = 904,\n\tFN_SPEEDIN_B___4 = 905,\n\tFN_IP15_7_4___3 = 906,\n\tFN_SSI_SDATA2_A___3 = 907,\n\tFN_SSI_SCK1_B___3 = 908,\n\tFN_IP12_11_8___3 = 909,\n\tFN_RTS0_N___4 = 910,\n\tFN_HRTS1_N_B___3 = 911,\n\tFN_MSIOF1_SS1_B___3 = 912,\n\tFN_AUDIO_CLKA_B___3 = 913,\n\tFN_SCL2_A___3 = 914,\n\tFN_STP_IVCXO27_1_C___3 = 915,\n\tFN_RIF0_SYNC_B___3 = 916,\n\tFN_ADICHS1___3 = 917,\n\tFN_IP13_11_8___3 = 918,\n\tFN_HSCK0___3 = 919,\n\tFN_MSIOF1_SCK_D___3 = 920,\n\tFN_AUDIO_CLKB_A___3 = 921,\n\tFN_SSI_SDATA1_B___3 = 922,\n\tFN_TS_SCK0_D___3 = 923,\n\tFN_STP_ISCLK_0_D___3 = 924,\n\tFN_RIF0_CLK_C___3 = 925,\n\tFN_RX5_B___3 = 926,\n\tFN_IP14_11_8___3 = 927,\n\tFN_MLB_CLK___3 = 928,\n\tFN_MSIOF1_SCK_F___3 = 929,\n\tFN_SCL1_B___3 = 930,\n\tFN_IP15_11_8___3 = 931,\n\tFN_SSI_SCK349___3 = 932,\n\tFN_MSIOF1_SS1_A___3 = 933,\n\tFN_STP_OPWM_0_A___3 = 934,\n\tFN_IP12_15_12___3 = 935,\n\tFN_RX1_A___4 = 936,\n\tFN_HRX1_A___3 = 937,\n\tFN_TS_SDAT0_C___3 = 938,\n\tFN_STP_ISD_0_C___3 = 939,\n\tFN_RIF1_CLK_C___3 = 940,\n\tFN_IP13_15_12___3 = 941,\n\tFN_HRX0___3 = 942,\n\tFN_MSIOF1_RXD_D___3 = 943,\n\tFN_SSI_SDATA2_B___3 = 944,\n\tFN_TS_SDEN0_D___3 = 945,\n\tFN_STP_ISEN_0_D___3 = 946,\n\tFN_RIF0_D0_C___3 = 947,\n\tFN_IP14_15_12___3 = 948,\n\tFN_MLB_SIG___3 = 949,\n\tFN_RX1_B___4 = 950,\n\tFN_MSIOF1_SYNC_F___3 = 951,\n\tFN_SDA1_B___3 = 952,\n\tFN_IP15_15_12___3 = 953,\n\tFN_SSI_WS349___3 = 954,\n\tFN_HCTS2_N_A___3 = 955,\n\tFN_MSIOF1_SS2_A___3 = 956,\n\tFN_STP_IVCXO27_0_A___3 = 957,\n\tFN_IP12_19_16___3 = 958,\n\tFN_TX1_A___4 = 959,\n\tFN_HTX1_A___3 = 960,\n\tFN_TS_SDEN0_C___3 = 961,\n\tFN_STP_ISEN_0_C___3 = 962,\n\tFN_RIF1_D0_C___3 = 963,\n\tFN_IP13_19_16___3 = 964,\n\tFN_HTX0___3 = 965,\n\tFN_MSIOF1_TXD_D___3 = 966,\n\tFN_SSI_SDATA9_B___3 = 967,\n\tFN_TS_SDAT0_D___3 = 968,\n\tFN_STP_ISD_0_D___3 = 969,\n\tFN_RIF0_D1_C___3 = 970,\n\tFN_IP14_19_16___3 = 971,\n\tFN_MLB_DAT___3 = 972,\n\tFN_TX1_B___4 = 973,\n\tFN_MSIOF1_RXD_F___3 = 974,\n\tFN_IP15_19_16___3 = 975,\n\tFN_SSI_SDATA3___3 = 976,\n\tFN_HRTS2_N_A___3 = 977,\n\tFN_MSIOF1_TXD_A___3 = 978,\n\tFN_TS_SCK0_A___3 = 979,\n\tFN_STP_ISCLK_0_A___3 = 980,\n\tFN_RIF0_D1_A___3 = 981,\n\tFN_RIF2_D0_A___3 = 982,\n\tFN_IP12_23_20___3 = 983,\n\tFN_CTS1_N___4 = 984,\n\tFN_HCTS1_N_A___3 = 985,\n\tFN_MSIOF1_RXD_B___3 = 986,\n\tFN_TS_SDEN1_C___3 = 987,\n\tFN_STP_ISEN_1_C___3 = 988,\n\tFN_RIF1_D0_B___3 = 989,\n\tFN_ADIDATA___3 = 990,\n\tFN_IP13_23_20___3 = 991,\n\tFN_HCTS0_N___3 = 992,\n\tFN_RX2_B___3 = 993,\n\tFN_MSIOF1_SYNC_D___3 = 994,\n\tFN_SSI_SCK9_A___3 = 995,\n\tFN_TS_SPSYNC0_D___3 = 996,\n\tFN_STP_ISSYNC_0_D___3 = 997,\n\tFN_RIF0_SYNC_C___3 = 998,\n\tFN_AUDIO_CLKOUT1_A___3 = 999,\n\tFN_IP14_23_20___3 = 1000,\n\tFN_SSI_SCK01239___3 = 1001,\n\tFN_MSIOF1_TXD_F___3 = 1002,\n\tFN_IP15_23_20___3 = 1003,\n\tFN_SSI_SCK4___3 = 1004,\n\tFN_HRX2_A___3 = 1005,\n\tFN_MSIOF1_SCK_A___3 = 1006,\n\tFN_TS_SDAT0_A___3 = 1007,\n\tFN_STP_ISD_0_A___3 = 1008,\n\tFN_RIF0_CLK_A___3 = 1009,\n\tFN_RIF2_CLK_A___3 = 1010,\n\tFN_IP12_27_24___3 = 1011,\n\tFN_RTS1_N___4 = 1012,\n\tFN_HRTS1_N_A___3 = 1013,\n\tFN_MSIOF1_TXD_B___3 = 1014,\n\tFN_TS_SDAT1_C___3 = 1015,\n\tFN_STP_ISD_1_C___3 = 1016,\n\tFN_RIF1_D1_B___3 = 1017,\n\tFN_ADICHS0___3 = 1018,\n\tFN_IP13_27_24___3 = 1019,\n\tFN_HRTS0_N___3 = 1020,\n\tFN_TX2_B___3 = 1021,\n\tFN_MSIOF1_SS1_D___3 = 1022,\n\tFN_SSI_WS9_A___3 = 1023,\n\tFN_STP_IVCXO27_0_D___3 = 1024,\n\tFN_BPFCLK_A___3 = 1025,\n\tFN_AUDIO_CLKOUT2_A___3 = 1026,\n\tFN_IP14_27_24___3 = 1027,\n\tFN_SSI_WS01239___3 = 1028,\n\tFN_MSIOF1_SS1_F___3 = 1029,\n\tFN_IP15_27_24___3 = 1030,\n\tFN_SSI_WS4___3 = 1031,\n\tFN_HTX2_A___3 = 1032,\n\tFN_MSIOF1_SYNC_A___3 = 1033,\n\tFN_TS_SDEN0_A___3 = 1034,\n\tFN_STP_ISEN_0_A___3 = 1035,\n\tFN_RIF0_SYNC_A___3 = 1036,\n\tFN_RIF2_SYNC_A___3 = 1037,\n\tFN_IP12_31_28___3 = 1038,\n\tFN_SCK2___3 = 1039,\n\tFN_SCIF_CLK_B___4 = 1040,\n\tFN_MSIOF1_SCK_B___3 = 1041,\n\tFN_TS_SCK1_C___3 = 1042,\n\tFN_STP_ISCLK_1_C___3 = 1043,\n\tFN_RIF1_CLK_B___3 = 1044,\n\tFN_ADICLK___3 = 1045,\n\tFN_IP13_31_28___3 = 1046,\n\tFN_MSIOF0_SYNC___4 = 1047,\n\tFN_AUDIO_CLKOUT_A___3 = 1048,\n\tFN_TX5_B___3 = 1049,\n\tFN_BPFCLK_D___3 = 1050,\n\tFN_IP14_31_28___3 = 1051,\n\tFN_SSI_SDATA0___3 = 1052,\n\tFN_MSIOF1_SS2_F___3 = 1053,\n\tFN_IP15_31_28___3 = 1054,\n\tFN_SSI_SDATA4___3 = 1055,\n\tFN_HSCK2_A___3 = 1056,\n\tFN_MSIOF1_RXD_A___3 = 1057,\n\tFN_TS_SPSYNC0_A___3 = 1058,\n\tFN_STP_ISSYNC_0_A___3 = 1059,\n\tFN_RIF0_D0_A___3 = 1060,\n\tFN_RIF2_D1_A___3 = 1061,\n\tFN_IP16_3_0___3 = 1062,\n\tFN_SSI_SCK6___3 = 1063,\n\tFN_SIM0_RST_D___3 = 1064,\n\tFN_IP17_3_0___3 = 1065,\n\tFN_AUDIO_CLKA_A___3 = 1066,\n\tFN_IP18_3_0___3 = 1067,\n\tFN_GP6_30___2 = 1068,\n\tFN_AUDIO_CLKOUT2_B___3 = 1069,\n\tFN_SSI_SCK9_B___3 = 1070,\n\tFN_TS_SDEN0_E___3 = 1071,\n\tFN_STP_ISEN_0_E___3 = 1072,\n\tFN_RIF2_D0_B___3 = 1073,\n\tFN_TPU0TO2___4 = 1074,\n\tFN_FMCLK_C___3 = 1075,\n\tFN_FMCLK_D___3 = 1076,\n\tFN_IP16_7_4___3 = 1077,\n\tFN_SSI_WS6___3 = 1078,\n\tFN_SIM0_D_D___3 = 1079,\n\tFN_IP17_7_4___3 = 1080,\n\tFN_AUDIO_CLKB_B___3 = 1081,\n\tFN_SCIF_CLK_A___4 = 1082,\n\tFN_STP_IVCXO27_1_D___3 = 1083,\n\tFN_REMOCON_A___3 = 1084,\n\tFN_TCLK1_A___4 = 1085,\n\tFN_IP18_7_4___3 = 1086,\n\tFN_GP6_31___2 = 1087,\n\tFN_AUDIO_CLKOUT3_B___3 = 1088,\n\tFN_SSI_WS9_B___3 = 1089,\n\tFN_TS_SPSYNC0_E___3 = 1090,\n\tFN_STP_ISSYNC_0_E___3 = 1091,\n\tFN_RIF2_D1_B___3 = 1092,\n\tFN_TPU0TO3___4 = 1093,\n\tFN_FMIN_C___3 = 1094,\n\tFN_FMIN_D___3 = 1095,\n\tFN_IP16_11_8___3 = 1096,\n\tFN_SSI_SDATA6___3 = 1097,\n\tFN_SIM0_CLK_D___3 = 1098,\n\tFN_SATA_DEVSLP_A___2 = 1099,\n\tFN_IP17_11_8___3 = 1100,\n\tFN_USB0_PWEN___3 = 1101,\n\tFN_SIM0_RST_C___3 = 1102,\n\tFN_TS_SCK1_D___3 = 1103,\n\tFN_STP_ISCLK_1_D___3 = 1104,\n\tFN_BPFCLK_B___3 = 1105,\n\tFN_RIF3_CLK_B___3 = 1106,\n\tFN_HSCK2_C___3 = 1107,\n\tFN_IP16_15_12___3 = 1108,\n\tFN_SSI_SCK78___3 = 1109,\n\tFN_HRX2_B___3 = 1110,\n\tFN_MSIOF1_SCK_C___3 = 1111,\n\tFN_TS_SCK1_A___3 = 1112,\n\tFN_STP_ISCLK_1_A___3 = 1113,\n\tFN_RIF1_CLK_A___3 = 1114,\n\tFN_RIF3_CLK_A___3 = 1115,\n\tFN_IP17_15_12___3 = 1116,\n\tFN_USB0_OVC___3 = 1117,\n\tFN_SIM0_D_C___3 = 1118,\n\tFN_TS_SDAT1_D___3 = 1119,\n\tFN_STP_ISD_1_D___3 = 1120,\n\tFN_RIF3_SYNC_B___3 = 1121,\n\tFN_HRX2_C___3 = 1122,\n\tFN_IP16_19_16___3 = 1123,\n\tFN_SSI_WS78___3 = 1124,\n\tFN_HTX2_B___3 = 1125,\n\tFN_MSIOF1_SYNC_C___3 = 1126,\n\tFN_TS_SDAT1_A___3 = 1127,\n\tFN_STP_ISD_1_A___3 = 1128,\n\tFN_RIF1_SYNC_A___3 = 1129,\n\tFN_RIF3_SYNC_A___3 = 1130,\n\tFN_IP17_19_16___3 = 1131,\n\tFN_USB1_PWEN___3 = 1132,\n\tFN_SIM0_CLK_C___3 = 1133,\n\tFN_SSI_SCK1_A___3 = 1134,\n\tFN_TS_SCK0_E___3 = 1135,\n\tFN_STP_ISCLK_0_E___3 = 1136,\n\tFN_FMCLK_B___3 = 1137,\n\tFN_RIF2_CLK_B___3 = 1138,\n\tFN_SPEEDIN_A___4 = 1139,\n\tFN_HTX2_C___3 = 1140,\n\tFN_IP16_23_20___3 = 1141,\n\tFN_SSI_SDATA7___3 = 1142,\n\tFN_HCTS2_N_B___3 = 1143,\n\tFN_MSIOF1_RXD_C___3 = 1144,\n\tFN_TS_SDEN1_A___3 = 1145,\n\tFN_STP_ISEN_1_A___3 = 1146,\n\tFN_RIF1_D0_A___3 = 1147,\n\tFN_RIF3_D0_A___3 = 1148,\n\tFN_TCLK2_A___4 = 1149,\n\tFN_IP17_23_20___3 = 1150,\n\tFN_USB1_OVC___3 = 1151,\n\tFN_MSIOF1_SS2_C___3 = 1152,\n\tFN_SSI_WS1_A___3 = 1153,\n\tFN_TS_SDAT0_E___3 = 1154,\n\tFN_STP_ISD_0_E___3 = 1155,\n\tFN_FMIN_B___3 = 1156,\n\tFN_RIF2_SYNC_B___3 = 1157,\n\tFN_REMOCON_B___3 = 1158,\n\tFN_HCTS2_N_C___3 = 1159,\n\tFN_IP16_27_24___3 = 1160,\n\tFN_SSI_SDATA8___3 = 1161,\n\tFN_HRTS2_N_B___3 = 1162,\n\tFN_MSIOF1_TXD_C___3 = 1163,\n\tFN_TS_SPSYNC1_A___3 = 1164,\n\tFN_STP_ISSYNC_1_A___3 = 1165,\n\tFN_RIF1_D1_A___3 = 1166,\n\tFN_RIF3_D1_A___3 = 1167,\n\tFN_IP17_27_24___3 = 1168,\n\tFN_USB30_PWEN___3 = 1169,\n\tFN_AUDIO_CLKOUT_B___3 = 1170,\n\tFN_SSI_SCK2_B___3 = 1171,\n\tFN_TS_SDEN1_D___3 = 1172,\n\tFN_STP_ISEN_1_D___3 = 1173,\n\tFN_STP_OPWM_0_E___3 = 1174,\n\tFN_RIF3_D0_B___3 = 1175,\n\tFN_TCLK2_B___4 = 1176,\n\tFN_TPU0TO0___4 = 1177,\n\tFN_BPFCLK_C___3 = 1178,\n\tFN_HRTS2_N_C___3 = 1179,\n\tFN_IP16_31_28___3 = 1180,\n\tFN_SSI_SDATA9_A___3 = 1181,\n\tFN_HSCK2_B___3 = 1182,\n\tFN_MSIOF1_SS1_C___3 = 1183,\n\tFN_HSCK1_A___3 = 1184,\n\tFN_SSI_WS1_B___3 = 1185,\n\tFN_SCK1___4 = 1186,\n\tFN_STP_IVCXO27_1_A___3 = 1187,\n\tFN_SCK5_A___3 = 1188,\n\tFN_IP17_31_28___3 = 1189,\n\tFN_USB30_OVC___3 = 1190,\n\tFN_AUDIO_CLKOUT1_B___3 = 1191,\n\tFN_SSI_WS2_B___3 = 1192,\n\tFN_TS_SPSYNC1_D___3 = 1193,\n\tFN_STP_ISSYNC_1_D___3 = 1194,\n\tFN_STP_IVCXO27_0_E___3 = 1195,\n\tFN_RIF3_D1_B___3 = 1196,\n\tFN_FSO_TOE_N___4 = 1197,\n\tFN_TPU0TO1___4 = 1198,\n\tFN_SEL_MSIOF3_0___3 = 1199,\n\tFN_SEL_MSIOF3_1___3 = 1200,\n\tFN_SEL_MSIOF3_2___3 = 1201,\n\tFN_SEL_MSIOF3_3___3 = 1202,\n\tFN_SEL_MSIOF3_4___3 = 1203,\n\tFN_SEL_TSIF1_0___3 = 1204,\n\tFN_SEL_TSIF1_1___3 = 1205,\n\tFN_SEL_TSIF1_2___3 = 1206,\n\tFN_SEL_TSIF1_3___3 = 1207,\n\tFN_I2C_SEL_5_0___3 = 1208,\n\tFN_I2C_SEL_5_1___3 = 1209,\n\tFN_I2C_SEL_3_0___3 = 1210,\n\tFN_I2C_SEL_3_1___3 = 1211,\n\tFN_SEL_TSIF0_0___3 = 1212,\n\tFN_SEL_TSIF0_1___3 = 1213,\n\tFN_SEL_TSIF0_2___3 = 1214,\n\tFN_SEL_TSIF0_3___3 = 1215,\n\tFN_SEL_TSIF0_4___3 = 1216,\n\tFN_I2C_SEL_0_0___3 = 1217,\n\tFN_I2C_SEL_0_1___3 = 1218,\n\tFN_SEL_MSIOF2_0___3 = 1219,\n\tFN_SEL_MSIOF2_1___3 = 1220,\n\tFN_SEL_MSIOF2_2___3 = 1221,\n\tFN_SEL_MSIOF2_3___3 = 1222,\n\tFN_SEL_FM_0___3 = 1223,\n\tFN_SEL_FM_1___3 = 1224,\n\tFN_SEL_FM_2___3 = 1225,\n\tFN_SEL_FM_3___3 = 1226,\n\tFN_SEL_MSIOF1_0___3 = 1227,\n\tFN_SEL_MSIOF1_1___3 = 1228,\n\tFN_SEL_MSIOF1_2___3 = 1229,\n\tFN_SEL_MSIOF1_3___3 = 1230,\n\tFN_SEL_MSIOF1_4___3 = 1231,\n\tFN_SEL_MSIOF1_5___3 = 1232,\n\tFN_SEL_MSIOF1_6___3 = 1233,\n\tFN_SEL_TIMER_TMU_0___2 = 1234,\n\tFN_SEL_TIMER_TMU_1___2 = 1235,\n\tFN_SEL_SCIF5_0___3 = 1236,\n\tFN_SEL_SCIF5_1___3 = 1237,\n\tFN_SEL_SSP1_1_0___3 = 1238,\n\tFN_SEL_SSP1_1_1___3 = 1239,\n\tFN_SEL_SSP1_1_2___3 = 1240,\n\tFN_SEL_SSP1_1_3___3 = 1241,\n\tFN_SEL_I2C6_0___3 = 1242,\n\tFN_SEL_I2C6_1___3 = 1243,\n\tFN_SEL_I2C6_2___3 = 1244,\n\tFN_SEL_LBSC_0___3 = 1245,\n\tFN_SEL_LBSC_1___3 = 1246,\n\tFN_SEL_SSP1_0_0___3 = 1247,\n\tFN_SEL_SSP1_0_1___3 = 1248,\n\tFN_SEL_SSP1_0_2___3 = 1249,\n\tFN_SEL_SSP1_0_3___3 = 1250,\n\tFN_SEL_SSP1_0_4___3 = 1251,\n\tFN_SEL_IEBUS_0___3 = 1252,\n\tFN_SEL_IEBUS_1___3 = 1253,\n\tFN_SEL_NDF_0___2 = 1254,\n\tFN_SEL_NDF_1___2 = 1255,\n\tFN_SEL_I2C2_0___3 = 1256,\n\tFN_SEL_I2C2_1___3 = 1257,\n\tFN_SEL_SSI2_0___3 = 1258,\n\tFN_SEL_SSI2_1___3 = 1259,\n\tFN_SEL_I2C1_0___3 = 1260,\n\tFN_SEL_I2C1_1___3 = 1261,\n\tFN_SEL_SSI1_0___3 = 1262,\n\tFN_SEL_SSI1_1___3 = 1263,\n\tFN_SEL_SSI9_0___3 = 1264,\n\tFN_SEL_SSI9_1___3 = 1265,\n\tFN_SEL_HSCIF4_0___3 = 1266,\n\tFN_SEL_HSCIF4_1___3 = 1267,\n\tFN_SEL_SPEED_PULSE_0___3 = 1268,\n\tFN_SEL_SPEED_PULSE_1___3 = 1269,\n\tFN_SEL_TIMER_TMU2_0___3 = 1270,\n\tFN_SEL_TIMER_TMU2_1___3 = 1271,\n\tFN_SEL_HSCIF3_0___3 = 1272,\n\tFN_SEL_HSCIF3_1___3 = 1273,\n\tFN_SEL_HSCIF3_2___3 = 1274,\n\tFN_SEL_HSCIF3_3___3 = 1275,\n\tFN_SEL_SIMCARD_0___3 = 1276,\n\tFN_SEL_SIMCARD_1___3 = 1277,\n\tFN_SEL_SIMCARD_2___3 = 1278,\n\tFN_SEL_SIMCARD_3___3 = 1279,\n\tFN_SEL_ADGB_0___3 = 1280,\n\tFN_SEL_ADGB_1___3 = 1281,\n\tFN_SEL_ADGC_0___3 = 1282,\n\tFN_SEL_ADGC_1___3 = 1283,\n\tFN_SEL_HSCIF1_0___3 = 1284,\n\tFN_SEL_HSCIF1_1___3 = 1285,\n\tFN_SEL_SDHI2_0___3 = 1286,\n\tFN_SEL_SDHI2_1___3 = 1287,\n\tFN_SEL_SCIF4_0___3 = 1288,\n\tFN_SEL_SCIF4_1___3 = 1289,\n\tFN_SEL_SCIF4_2___3 = 1290,\n\tFN_SEL_HSCIF2_0___3 = 1291,\n\tFN_SEL_HSCIF2_1___3 = 1292,\n\tFN_SEL_HSCIF2_2___3 = 1293,\n\tFN_SEL_SCIF3_0___3 = 1294,\n\tFN_SEL_SCIF3_1___3 = 1295,\n\tFN_SEL_ETHERAVB_0___3 = 1296,\n\tFN_SEL_ETHERAVB_1___3 = 1297,\n\tFN_SEL_SCIF2_0___3 = 1298,\n\tFN_SEL_SCIF2_1___3 = 1299,\n\tFN_SEL_DRIF3_0___3 = 1300,\n\tFN_SEL_DRIF3_1___3 = 1301,\n\tFN_SEL_SCIF1_0___4 = 1302,\n\tFN_SEL_SCIF1_1___4 = 1303,\n\tFN_SEL_DRIF2_0___3 = 1304,\n\tFN_SEL_DRIF2_1___3 = 1305,\n\tFN_SEL_SCIF_0___3 = 1306,\n\tFN_SEL_SCIF_1___3 = 1307,\n\tFN_SEL_DRIF1_0___3 = 1308,\n\tFN_SEL_DRIF1_1___3 = 1309,\n\tFN_SEL_DRIF1_2___3 = 1310,\n\tFN_SEL_REMOCON_0___3 = 1311,\n\tFN_SEL_REMOCON_1___3 = 1312,\n\tFN_SEL_DRIF0_0___3 = 1313,\n\tFN_SEL_DRIF0_1___3 = 1314,\n\tFN_SEL_DRIF0_2___3 = 1315,\n\tFN_SEL_RCAN0_0___3 = 1316,\n\tFN_SEL_RCAN0_1___3 = 1317,\n\tFN_SEL_CANFD0_0___4 = 1318,\n\tFN_SEL_CANFD0_1___4 = 1319,\n\tFN_SEL_PWM6_0___3 = 1320,\n\tFN_SEL_PWM6_1___3 = 1321,\n\tFN_SEL_ADGA_0___3 = 1322,\n\tFN_SEL_ADGA_1___3 = 1323,\n\tFN_SEL_ADGA_2___3 = 1324,\n\tFN_SEL_ADGA_3___3 = 1325,\n\tFN_SEL_PWM5_0___3 = 1326,\n\tFN_SEL_PWM5_1___3 = 1327,\n\tFN_SEL_PWM4_0___4 = 1328,\n\tFN_SEL_PWM4_1___4 = 1329,\n\tFN_SEL_PWM3_0___4 = 1330,\n\tFN_SEL_PWM3_1___4 = 1331,\n\tFN_SEL_PWM2_0___4 = 1332,\n\tFN_SEL_PWM2_1___4 = 1333,\n\tFN_SEL_PWM1_0___4 = 1334,\n\tFN_SEL_PWM1_1___4 = 1335,\n\tFN_SEL_VIN4_0___3 = 1336,\n\tFN_SEL_VIN4_1___3 = 1337,\n\tPINMUX_FUNCTION_END___4 = 1338,\n\tPINMUX_MARK_BEGIN___4 = 1339,\n\tCLKOUT_MARK___4 = 1340,\n\tMSIOF0_RXD_MARK___4 = 1341,\n\tMSIOF0_TXD_MARK___4 = 1342,\n\tMSIOF0_SCK_MARK___4 = 1343,\n\tSSI_SDATA5_MARK___3 = 1344,\n\tSSI_WS5_MARK___3 = 1345,\n\tSSI_SCK5_MARK___3 = 1346,\n\tGP7_03_MARK___3 = 1347,\n\tGP7_02_MARK___3 = 1348,\n\tAVS2_MARK___3 = 1349,\n\tAVS1_MARK___3 = 1350,\n\tIP0_3_0_MARK___4 = 1351,\n\tAVB_MDC_MARK___4 = 1352,\n\tMSIOF2_SS2_C_MARK___3 = 1353,\n\tIP1_3_0_MARK___4 = 1354,\n\tIRQ2_MARK___4 = 1355,\n\tQCPV_QDE_MARK___3 = 1356,\n\tDU_EXODDF_DU_ODDF_DISP_CDE_MARK___4 = 1357,\n\tVI4_DATA2_B_MARK___3 = 1358,\n\tMSIOF3_SYNC_E_MARK___3 = 1359,\n\tPWM3_B_MARK___4 = 1360,\n\tIP2_3_0_MARK___4 = 1361,\n\tA1_MARK___4 = 1362,\n\tLCDOUT17_MARK___3 = 1363,\n\tMSIOF3_TXD_B_MARK___3 = 1364,\n\tVI4_DATA9_MARK___3 = 1365,\n\tDU_DB1_MARK___4 = 1366,\n\tPWM4_A_MARK___4 = 1367,\n\tIP3_3_0_MARK___4 = 1368,\n\tA9_MARK___4 = 1369,\n\tMSIOF2_SCK_A_MARK___3 = 1370,\n\tCTS4_N_B_MARK___3 = 1371,\n\tVI5_VSYNC_N_MARK___3 = 1372,\n\tIP0_7_4_MARK___4 = 1373,\n\tAVB_MAGIC_MARK___4 = 1374,\n\tMSIOF2_SS1_C_MARK___3 = 1375,\n\tSCK4_A_MARK___3 = 1376,\n\tIP1_7_4_MARK___4 = 1377,\n\tIRQ3_MARK___4 = 1378,\n\tQSTVB_QVE_MARK___3 = 1379,\n\tDU_DOTCLKOUT1_MARK___3 = 1380,\n\tVI4_DATA3_B_MARK___3 = 1381,\n\tMSIOF3_SCK_E_MARK___3 = 1382,\n\tPWM4_B_MARK___4 = 1383,\n\tIP2_7_4_MARK___4 = 1384,\n\tA2_MARK___4 = 1385,\n\tLCDOUT18_MARK___3 = 1386,\n\tMSIOF3_SCK_B_MARK___3 = 1387,\n\tVI4_DATA10_MARK___3 = 1388,\n\tDU_DB2_MARK___4 = 1389,\n\tPWM5_A_MARK___3 = 1390,\n\tIP3_7_4_MARK___4 = 1391,\n\tA10_MARK___4 = 1392,\n\tMSIOF2_RXD_A_MARK___3 = 1393,\n\tRTS4_N_B_MARK___3 = 1394,\n\tVI5_HSYNC_N_MARK___3 = 1395,\n\tIP0_11_8_MARK___4 = 1396,\n\tAVB_PHY_INT_MARK___4 = 1397,\n\tMSIOF2_SYNC_C_MARK___3 = 1398,\n\tRX4_A_MARK___3 = 1399,\n\tIP1_11_8_MARK___4 = 1400,\n\tIRQ4_MARK___4 = 1401,\n\tQSTH_QHS_MARK___3 = 1402,\n\tDU_EXHSYNC_DU_HSYNC_MARK___4 = 1403,\n\tVI4_DATA4_B_MARK___3 = 1404,\n\tMSIOF3_RXD_E_MARK___3 = 1405,\n\tPWM5_B_MARK___3 = 1406,\n\tIP2_11_8_MARK___4 = 1407,\n\tA3_MARK___4 = 1408,\n\tLCDOUT19_MARK___3 = 1409,\n\tMSIOF3_RXD_B_MARK___3 = 1410,\n\tVI4_DATA11_MARK___3 = 1411,\n\tDU_DB3_MARK___4 = 1412,\n\tPWM6_A_MARK___3 = 1413,\n\tIP3_11_8_MARK___4 = 1414,\n\tA11_MARK___4 = 1415,\n\tTX3_B_MARK___3 = 1416,\n\tMSIOF2_TXD_A_MARK___3 = 1417,\n\tHTX4_B_MARK___3 = 1418,\n\tHSCK4_MARK___3 = 1419,\n\tVI5_FIELD_MARK___3 = 1420,\n\tSCL6_A_MARK___3 = 1421,\n\tAVB_AVTP_CAPTURE_B_MARK___3 = 1422,\n\tPWM2_B_MARK___4 = 1423,\n\tIP0_15_12_MARK___4 = 1424,\n\tAVB_LINK_MARK___4 = 1425,\n\tMSIOF2_SCK_C_MARK___3 = 1426,\n\tTX4_A_MARK___3 = 1427,\n\tIP1_15_12_MARK___4 = 1428,\n\tIRQ5_MARK___4 = 1429,\n\tQSTB_QHE_MARK___3 = 1430,\n\tDU_EXVSYNC_DU_VSYNC_MARK___4 = 1431,\n\tVI4_DATA5_B_MARK___3 = 1432,\n\tFSCLKST2_N_B_MARK___2 = 1433,\n\tMSIOF3_TXD_E_MARK___3 = 1434,\n\tPWM6_B_MARK___3 = 1435,\n\tIP2_15_12_MARK___4 = 1436,\n\tA4_MARK___4 = 1437,\n\tLCDOUT20_MARK___3 = 1438,\n\tMSIOF3_SS1_B_MARK___3 = 1439,\n\tVI4_DATA12_MARK___3 = 1440,\n\tVI5_DATA12_MARK___3 = 1441,\n\tDU_DB4_MARK___4 = 1442,\n\tIP3_15_12_MARK___4 = 1443,\n\tA12_MARK___4 = 1444,\n\tLCDOUT12_MARK___3 = 1445,\n\tMSIOF3_SCK_C_MARK___3 = 1446,\n\tHRX4_A_MARK___3 = 1447,\n\tVI5_DATA8_MARK___3 = 1448,\n\tDU_DG4_MARK___4 = 1449,\n\tIP0_19_16_MARK___4 = 1450,\n\tAVB_AVTP_MATCH_A_MARK___3 = 1451,\n\tMSIOF2_RXD_C_MARK___3 = 1452,\n\tCTS4_N_A_MARK___3 = 1453,\n\tFSCLKST2_N_A_MARK___2 = 1454,\n\tIP1_19_16_MARK___4 = 1455,\n\tPWM0_MARK___3 = 1456,\n\tAVB_AVTP_PPS_MARK___4 = 1457,\n\tVI4_DATA6_B_MARK___3 = 1458,\n\tIECLK_B_MARK___3 = 1459,\n\tIP2_19_16_MARK___4 = 1460,\n\tA5_MARK___4 = 1461,\n\tLCDOUT21_MARK___3 = 1462,\n\tMSIOF3_SS2_B_MARK___3 = 1463,\n\tSCK4_B_MARK___3 = 1464,\n\tVI4_DATA13_MARK___3 = 1465,\n\tVI5_DATA13_MARK___3 = 1466,\n\tDU_DB5_MARK___4 = 1467,\n\tIP3_19_16_MARK___4 = 1468,\n\tA13_MARK___4 = 1469,\n\tLCDOUT13_MARK___3 = 1470,\n\tMSIOF3_SYNC_C_MARK___3 = 1471,\n\tHTX4_A_MARK___3 = 1472,\n\tVI5_DATA9_MARK___3 = 1473,\n\tDU_DG5_MARK___4 = 1474,\n\tIP0_23_20_MARK___4 = 1475,\n\tAVB_AVTP_CAPTURE_A_MARK___3 = 1476,\n\tMSIOF2_TXD_C_MARK___3 = 1477,\n\tRTS4_N_A_MARK___3 = 1478,\n\tIP1_23_20_MARK___4 = 1479,\n\tPWM1_A_MARK___4 = 1480,\n\tHRX3_D_MARK___3 = 1481,\n\tVI4_DATA7_B_MARK___3 = 1482,\n\tIERX_B_MARK___3 = 1483,\n\tIP2_23_20_MARK___4 = 1484,\n\tA6_MARK___4 = 1485,\n\tLCDOUT22_MARK___3 = 1486,\n\tMSIOF2_SS1_A_MARK___3 = 1487,\n\tRX4_B_MARK___3 = 1488,\n\tVI4_DATA14_MARK___3 = 1489,\n\tVI5_DATA14_MARK___3 = 1490,\n\tDU_DB6_MARK___4 = 1491,\n\tIP3_23_20_MARK___4 = 1492,\n\tA14_MARK___4 = 1493,\n\tLCDOUT14_MARK___3 = 1494,\n\tMSIOF3_RXD_C_MARK___3 = 1495,\n\tHCTS4_N_MARK___3 = 1496,\n\tVI5_DATA10_MARK___3 = 1497,\n\tDU_DG6_MARK___4 = 1498,\n\tIP0_27_24_MARK___4 = 1499,\n\tIRQ0_MARK___4 = 1500,\n\tQPOLB_MARK___3 = 1501,\n\tDU_CDE_MARK___4 = 1502,\n\tVI4_DATA0_B_MARK___3 = 1503,\n\tCAN0_TX_B_MARK___3 = 1504,\n\tCANFD0_TX_B_MARK___4 = 1505,\n\tMSIOF3_SS2_E_MARK___3 = 1506,\n\tIP1_27_24_MARK___4 = 1507,\n\tPWM2_A_MARK___4 = 1508,\n\tHTX3_D_MARK___3 = 1509,\n\tIETX_B_MARK___3 = 1510,\n\tIP2_27_24_MARK___4 = 1511,\n\tA7_MARK___4 = 1512,\n\tLCDOUT23_MARK___3 = 1513,\n\tMSIOF2_SS2_A_MARK___3 = 1514,\n\tTX4_B_MARK___3 = 1515,\n\tVI4_DATA15_MARK___3 = 1516,\n\tVI5_DATA15_MARK___3 = 1517,\n\tDU_DB7_MARK___4 = 1518,\n\tIP3_27_24_MARK___4 = 1519,\n\tA15_MARK___4 = 1520,\n\tLCDOUT15_MARK___3 = 1521,\n\tMSIOF3_TXD_C_MARK___3 = 1522,\n\tHRTS4_N_MARK___3 = 1523,\n\tVI5_DATA11_MARK___3 = 1524,\n\tDU_DG7_MARK___4 = 1525,\n\tIP0_31_28_MARK___4 = 1526,\n\tIRQ1_MARK___4 = 1527,\n\tQPOLA_MARK___3 = 1528,\n\tDU_DISP_MARK___4 = 1529,\n\tVI4_DATA1_B_MARK___3 = 1530,\n\tCAN0_RX_B_MARK___3 = 1531,\n\tCANFD0_RX_B_MARK___4 = 1532,\n\tMSIOF3_SS1_E_MARK___3 = 1533,\n\tIP1_31_28_MARK___4 = 1534,\n\tA0_MARK___4 = 1535,\n\tLCDOUT16_MARK___3 = 1536,\n\tMSIOF3_SYNC_B_MARK___3 = 1537,\n\tVI4_DATA8_MARK___3 = 1538,\n\tDU_DB0_MARK___4 = 1539,\n\tPWM3_A_MARK___4 = 1540,\n\tIP2_31_28_MARK___4 = 1541,\n\tA8_MARK___4 = 1542,\n\tRX3_B_MARK___3 = 1543,\n\tMSIOF2_SYNC_A_MARK___3 = 1544,\n\tHRX4_B_MARK___3 = 1545,\n\tSDA6_A_MARK___3 = 1546,\n\tAVB_AVTP_MATCH_B_MARK___3 = 1547,\n\tPWM1_B_MARK___4 = 1548,\n\tIP3_31_28_MARK___4 = 1549,\n\tA16_MARK___4 = 1550,\n\tLCDOUT8_MARK___3 = 1551,\n\tVI4_FIELD_MARK___3 = 1552,\n\tDU_DG0_MARK___4 = 1553,\n\tIP4_3_0_MARK___4 = 1554,\n\tA17_MARK___4 = 1555,\n\tLCDOUT9_MARK___3 = 1556,\n\tVI4_VSYNC_N_MARK___3 = 1557,\n\tDU_DG1_MARK___4 = 1558,\n\tIP5_3_0_MARK___4 = 1559,\n\tWE0_N_MARK___4 = 1560,\n\tMSIOF3_TXD_D_MARK___3 = 1561,\n\tCTS3_N_MARK___4 = 1562,\n\tHCTS3_N_MARK___4 = 1563,\n\tSCL6_B_MARK___3 = 1564,\n\tCAN_CLK_MARK___3 = 1565,\n\tIECLK_A_MARK___3 = 1566,\n\tIP6_3_0_MARK___4 = 1567,\n\tD5_MARK___4 = 1568,\n\tMSIOF2_SYNC_B_MARK___3 = 1569,\n\tVI4_DATA21_MARK___3 = 1570,\n\tVI5_DATA5_MARK___3 = 1571,\n\tIP7_3_0_MARK___4 = 1572,\n\tD13_MARK___4 = 1573,\n\tLCDOUT5_MARK___3 = 1574,\n\tMSIOF2_SS2_D_MARK___3 = 1575,\n\tTX4_C_MARK___3 = 1576,\n\tVI4_DATA5_A_MARK___3 = 1577,\n\tDU_DR5_MARK___4 = 1578,\n\tIP4_7_4_MARK___4 = 1579,\n\tA18_MARK___4 = 1580,\n\tLCDOUT10_MARK___3 = 1581,\n\tVI4_HSYNC_N_MARK___3 = 1582,\n\tDU_DG2_MARK___4 = 1583,\n\tIP5_7_4_MARK___4 = 1584,\n\tWE1_N_MARK___4 = 1585,\n\tMSIOF3_SS1_D_MARK___3 = 1586,\n\tRTS3_N_MARK___4 = 1587,\n\tHRTS3_N_MARK___4 = 1588,\n\tSDA6_B_MARK___3 = 1589,\n\tCAN1_RX_MARK___3 = 1590,\n\tCANFD1_RX_MARK___4 = 1591,\n\tIERX_A_MARK___3 = 1592,\n\tIP6_7_4_MARK___4 = 1593,\n\tD6_MARK___4 = 1594,\n\tMSIOF2_RXD_B_MARK___3 = 1595,\n\tVI4_DATA22_MARK___3 = 1596,\n\tVI5_DATA6_MARK___3 = 1597,\n\tIP7_7_4_MARK___4 = 1598,\n\tD14_MARK___4 = 1599,\n\tLCDOUT6_MARK___3 = 1600,\n\tMSIOF3_SS1_A_MARK___3 = 1601,\n\tHRX3_C_MARK___3 = 1602,\n\tVI4_DATA6_A_MARK___3 = 1603,\n\tDU_DR6_MARK___4 = 1604,\n\tSCL6_C_MARK___3 = 1605,\n\tIP4_11_8_MARK___4 = 1606,\n\tA19_MARK___4 = 1607,\n\tLCDOUT11_MARK___3 = 1608,\n\tVI4_CLKENB_MARK___3 = 1609,\n\tDU_DG3_MARK___4 = 1610,\n\tIP5_11_8_MARK___4 = 1611,\n\tEX_WAIT0_A_MARK___3 = 1612,\n\tQCLK_MARK___3 = 1613,\n\tVI4_CLK_MARK___3 = 1614,\n\tDU_DOTCLKOUT0_MARK___3 = 1615,\n\tIP6_11_8_MARK___4 = 1616,\n\tD7_MARK___4 = 1617,\n\tMSIOF2_TXD_B_MARK___3 = 1618,\n\tVI4_DATA23_MARK___3 = 1619,\n\tVI5_DATA7_MARK___3 = 1620,\n\tIP7_11_8_MARK___4 = 1621,\n\tD15_MARK___4 = 1622,\n\tLCDOUT7_MARK___3 = 1623,\n\tMSIOF3_SS2_A_MARK___3 = 1624,\n\tHTX3_C_MARK___3 = 1625,\n\tVI4_DATA7_A_MARK___3 = 1626,\n\tDU_DR7_MARK___4 = 1627,\n\tSDA6_C_MARK___3 = 1628,\n\tIP4_15_12_MARK___4 = 1629,\n\tCS0_N_MARK___4 = 1630,\n\tVI5_CLKENB_MARK___3 = 1631,\n\tIP5_15_12_MARK___4 = 1632,\n\tD0_MARK___4 = 1633,\n\tMSIOF2_SS1_B_MARK___3 = 1634,\n\tMSIOF3_SCK_A_MARK___3 = 1635,\n\tVI4_DATA16_MARK___3 = 1636,\n\tVI5_DATA0_MARK___3 = 1637,\n\tIP6_15_12_MARK___4 = 1638,\n\tD8_MARK___4 = 1639,\n\tLCDOUT0_MARK___3 = 1640,\n\tMSIOF2_SCK_D_MARK___3 = 1641,\n\tSCK4_C_MARK___3 = 1642,\n\tVI4_DATA0_A_MARK___3 = 1643,\n\tDU_DR0_MARK___4 = 1644,\n\tIP4_19_16_MARK___4 = 1645,\n\tCS1_N_MARK___4 = 1646,\n\tVI5_CLK_MARK___3 = 1647,\n\tEX_WAIT0_B_MARK___3 = 1648,\n\tIP5_19_16_MARK___4 = 1649,\n\tD1_MARK___4 = 1650,\n\tMSIOF2_SS2_B_MARK___3 = 1651,\n\tMSIOF3_SYNC_A_MARK___3 = 1652,\n\tVI4_DATA17_MARK___3 = 1653,\n\tVI5_DATA1_MARK___3 = 1654,\n\tIP6_19_16_MARK___4 = 1655,\n\tD9_MARK___4 = 1656,\n\tLCDOUT1_MARK___3 = 1657,\n\tMSIOF2_SYNC_D_MARK___3 = 1658,\n\tVI4_DATA1_A_MARK___3 = 1659,\n\tDU_DR1_MARK___4 = 1660,\n\tIP7_19_16_MARK___4 = 1661,\n\tSD0_CLK_MARK___3 = 1662,\n\tMSIOF1_SCK_E_MARK___3 = 1663,\n\tSTP_OPWM_0_B_MARK___3 = 1664,\n\tIP4_23_20_MARK___4 = 1665,\n\tBS_N_MARK___4 = 1666,\n\tQSTVA_QVS_MARK___3 = 1667,\n\tMSIOF3_SCK_D_MARK___3 = 1668,\n\tSCK3_MARK___4 = 1669,\n\tHSCK3_MARK___4 = 1670,\n\tCAN1_TX_MARK___3 = 1671,\n\tCANFD1_TX_MARK___4 = 1672,\n\tIETX_A_MARK___3 = 1673,\n\tIP5_23_20_MARK___4 = 1674,\n\tD2_MARK___4 = 1675,\n\tMSIOF3_RXD_A_MARK___3 = 1676,\n\tVI4_DATA18_MARK___3 = 1677,\n\tVI5_DATA2_MARK___3 = 1678,\n\tIP6_23_20_MARK___4 = 1679,\n\tD10_MARK___4 = 1680,\n\tLCDOUT2_MARK___3 = 1681,\n\tMSIOF2_RXD_D_MARK___3 = 1682,\n\tHRX3_B_MARK___3 = 1683,\n\tVI4_DATA2_A_MARK___3 = 1684,\n\tCTS4_N_C_MARK___3 = 1685,\n\tDU_DR2_MARK___4 = 1686,\n\tIP7_23_20_MARK___4 = 1687,\n\tSD0_CMD_MARK___3 = 1688,\n\tMSIOF1_SYNC_E_MARK___3 = 1689,\n\tSTP_IVCXO27_0_B_MARK___3 = 1690,\n\tIP4_27_24_MARK___4 = 1691,\n\tRD_N_MARK___4 = 1692,\n\tMSIOF3_SYNC_D_MARK___3 = 1693,\n\tRX3_A_MARK___3 = 1694,\n\tHRX3_A_MARK___3 = 1695,\n\tCAN0_TX_A_MARK___3 = 1696,\n\tCANFD0_TX_A_MARK___4 = 1697,\n\tIP5_27_24_MARK___4 = 1698,\n\tD3_MARK___4 = 1699,\n\tMSIOF3_TXD_A_MARK___3 = 1700,\n\tVI4_DATA19_MARK___3 = 1701,\n\tVI5_DATA3_MARK___3 = 1702,\n\tIP6_27_24_MARK___4 = 1703,\n\tD11_MARK___4 = 1704,\n\tLCDOUT3_MARK___3 = 1705,\n\tMSIOF2_TXD_D_MARK___3 = 1706,\n\tHTX3_B_MARK___3 = 1707,\n\tVI4_DATA3_A_MARK___3 = 1708,\n\tRTS4_N_C_MARK___3 = 1709,\n\tDU_DR3_MARK___4 = 1710,\n\tIP7_27_24_MARK___4 = 1711,\n\tSD0_DAT0_MARK___3 = 1712,\n\tMSIOF1_RXD_E_MARK___3 = 1713,\n\tTS_SCK0_B_MARK___3 = 1714,\n\tSTP_ISCLK_0_B_MARK___3 = 1715,\n\tIP4_31_28_MARK___4 = 1716,\n\tRD_WR_N_MARK___4 = 1717,\n\tMSIOF3_RXD_D_MARK___3 = 1718,\n\tTX3_A_MARK___3 = 1719,\n\tHTX3_A_MARK___3 = 1720,\n\tCAN0_RX_A_MARK___3 = 1721,\n\tCANFD0_RX_A_MARK___4 = 1722,\n\tIP5_31_28_MARK___4 = 1723,\n\tD4_MARK___4 = 1724,\n\tMSIOF2_SCK_B_MARK___3 = 1725,\n\tVI4_DATA20_MARK___3 = 1726,\n\tVI5_DATA4_MARK___3 = 1727,\n\tIP6_31_28_MARK___4 = 1728,\n\tD12_MARK___4 = 1729,\n\tLCDOUT4_MARK___3 = 1730,\n\tMSIOF2_SS1_D_MARK___3 = 1731,\n\tRX4_C_MARK___3 = 1732,\n\tVI4_DATA4_A_MARK___3 = 1733,\n\tDU_DR4_MARK___4 = 1734,\n\tIP7_31_28_MARK___4 = 1735,\n\tSD0_DAT1_MARK___3 = 1736,\n\tMSIOF1_TXD_E_MARK___3 = 1737,\n\tTS_SPSYNC0_B_MARK___3 = 1738,\n\tSTP_ISSYNC_0_B_MARK___3 = 1739,\n\tIP8_3_0_MARK___4 = 1740,\n\tSD0_DAT2_MARK___3 = 1741,\n\tMSIOF1_SS1_E_MARK___3 = 1742,\n\tTS_SDAT0_B_MARK___3 = 1743,\n\tSTP_ISD_0_B_MARK___3 = 1744,\n\tIP9_3_0_MARK___4 = 1745,\n\tSD2_CLK_MARK___3 = 1746,\n\tNFDATA8_MARK___3 = 1747,\n\tIP10_3_0_MARK___4 = 1748,\n\tSD3_CMD_MARK___3 = 1749,\n\tNFRE_N_MARK___3 = 1750,\n\tIP11_3_0_MARK___3 = 1751,\n\tSD3_DAT7_MARK___3 = 1752,\n\tSD3_WP_MARK___3 = 1753,\n\tNFDATA7_MARK___3 = 1754,\n\tIP8_7_4_MARK___4 = 1755,\n\tSD0_DAT3_MARK___3 = 1756,\n\tMSIOF1_SS2_E_MARK___3 = 1757,\n\tTS_SDEN0_B_MARK___3 = 1758,\n\tSTP_ISEN_0_B_MARK___3 = 1759,\n\tIP9_7_4_MARK___4 = 1760,\n\tSD2_CMD_MARK___3 = 1761,\n\tNFDATA9_MARK___3 = 1762,\n\tIP10_7_4_MARK___4 = 1763,\n\tSD3_DAT0_MARK___3 = 1764,\n\tNFDATA0_MARK___3 = 1765,\n\tIP11_7_4_MARK___3 = 1766,\n\tSD3_DS_MARK___3 = 1767,\n\tNFCLE_MARK___3 = 1768,\n\tIP8_11_8_MARK___4 = 1769,\n\tSD1_CLK_MARK___3 = 1770,\n\tMSIOF1_SCK_G_MARK___3 = 1771,\n\tSIM0_CLK_A_MARK___3 = 1772,\n\tIP9_11_8_MARK___4 = 1773,\n\tSD2_DAT0_MARK___3 = 1774,\n\tNFDATA10_MARK___3 = 1775,\n\tIP10_11_8_MARK___4 = 1776,\n\tSD3_DAT1_MARK___3 = 1777,\n\tNFDATA1_MARK___3 = 1778,\n\tIP11_11_8_MARK___3 = 1779,\n\tSD0_CD_MARK___3 = 1780,\n\tNFDATA14_A_MARK___3 = 1781,\n\tSCL2_B_MARK___3 = 1782,\n\tSIM0_RST_A_MARK___3 = 1783,\n\tIP8_15_12_MARK___4 = 1784,\n\tSD1_CMD_MARK___3 = 1785,\n\tMSIOF1_SYNC_G_MARK___3 = 1786,\n\tNFCE_N_B_MARK___3 = 1787,\n\tSIM0_D_A_MARK___3 = 1788,\n\tSTP_IVCXO27_1_B_MARK___3 = 1789,\n\tIP9_15_12_MARK___4 = 1790,\n\tSD2_DAT1_MARK___3 = 1791,\n\tNFDATA11_MARK___3 = 1792,\n\tIP10_15_12_MARK___4 = 1793,\n\tSD3_DAT2_MARK___3 = 1794,\n\tNFDATA2_MARK___3 = 1795,\n\tIP11_15_12_MARK___3 = 1796,\n\tSD0_WP_MARK___3 = 1797,\n\tNFDATA15_A_MARK___3 = 1798,\n\tSDA2_B_MARK___3 = 1799,\n\tIP8_19_16_MARK___4 = 1800,\n\tSD1_DAT0_MARK___3 = 1801,\n\tSD2_DAT4_MARK___3 = 1802,\n\tMSIOF1_RXD_G_MARK___3 = 1803,\n\tNFWP_N_B_MARK___3 = 1804,\n\tTS_SCK1_B_MARK___3 = 1805,\n\tSTP_ISCLK_1_B_MARK___3 = 1806,\n\tIP9_19_16_MARK___4 = 1807,\n\tSD2_DAT2_MARK___3 = 1808,\n\tNFDATA12_MARK___3 = 1809,\n\tIP10_19_16_MARK___4 = 1810,\n\tSD3_DAT3_MARK___3 = 1811,\n\tNFDATA3_MARK___3 = 1812,\n\tIP11_19_16_MARK___3 = 1813,\n\tSD1_CD_MARK___3 = 1814,\n\tNFRB_N_A_MARK___3 = 1815,\n\tSIM0_CLK_B_MARK___3 = 1816,\n\tIP8_23_20_MARK___4 = 1817,\n\tSD1_DAT1_MARK___3 = 1818,\n\tSD2_DAT5_MARK___3 = 1819,\n\tMSIOF1_TXD_G_MARK___3 = 1820,\n\tNFDATA14_B_MARK___3 = 1821,\n\tTS_SPSYNC1_B_MARK___3 = 1822,\n\tSTP_ISSYNC_1_B_MARK___3 = 1823,\n\tIP9_23_20_MARK___4 = 1824,\n\tSD2_DAT3_MARK___3 = 1825,\n\tNFDATA13_MARK___3 = 1826,\n\tIP10_23_20_MARK___3 = 1827,\n\tSD3_DAT4_MARK___3 = 1828,\n\tSD2_CD_A_MARK___3 = 1829,\n\tNFDATA4_MARK___3 = 1830,\n\tIP11_23_20_MARK___3 = 1831,\n\tSD1_WP_MARK___3 = 1832,\n\tNFCE_N_A_MARK___3 = 1833,\n\tSIM0_D_B_MARK___3 = 1834,\n\tIP8_27_24_MARK___4 = 1835,\n\tSD1_DAT2_MARK___3 = 1836,\n\tSD2_DAT6_MARK___3 = 1837,\n\tMSIOF1_SS1_G_MARK___3 = 1838,\n\tNFDATA15_B_MARK___3 = 1839,\n\tTS_SDAT1_B_MARK___3 = 1840,\n\tSTP_ISD_1_B_MARK___3 = 1841,\n\tIP9_27_24_MARK___4 = 1842,\n\tSD2_DS_MARK___3 = 1843,\n\tNFALE_MARK___3 = 1844,\n\tSATA_DEVSLP_B_MARK___2 = 1845,\n\tIP10_27_24_MARK___3 = 1846,\n\tSD3_DAT5_MARK___3 = 1847,\n\tSD2_WP_A_MARK___3 = 1848,\n\tNFDATA5_MARK___3 = 1849,\n\tIP11_27_24_MARK___3 = 1850,\n\tSCK0_MARK___4 = 1851,\n\tHSCK1_B_MARK___3 = 1852,\n\tMSIOF1_SS2_B_MARK___3 = 1853,\n\tAUDIO_CLKC_B_MARK___3 = 1854,\n\tSDA2_A_MARK___3 = 1855,\n\tSIM0_RST_B_MARK___3 = 1856,\n\tSTP_OPWM_0_C_MARK___3 = 1857,\n\tRIF0_CLK_B_MARK___3 = 1858,\n\tADICHS2_MARK___3 = 1859,\n\tSCK5_B_MARK___3 = 1860,\n\tIP8_31_28_MARK___4 = 1861,\n\tSD1_DAT3_MARK___3 = 1862,\n\tSD2_DAT7_MARK___3 = 1863,\n\tMSIOF1_SS2_G_MARK___3 = 1864,\n\tNFRB_N_B_MARK___3 = 1865,\n\tTS_SDEN1_B_MARK___3 = 1866,\n\tSTP_ISEN_1_B_MARK___3 = 1867,\n\tIP9_31_28_MARK___4 = 1868,\n\tSD3_CLK_MARK___3 = 1869,\n\tNFWE_N_MARK___3 = 1870,\n\tIP10_31_28_MARK___3 = 1871,\n\tSD3_DAT6_MARK___3 = 1872,\n\tSD3_CD_MARK___3 = 1873,\n\tNFDATA6_MARK___3 = 1874,\n\tIP11_31_28_MARK___3 = 1875,\n\tRX0_MARK___4 = 1876,\n\tHRX1_B_MARK___3 = 1877,\n\tTS_SCK0_C_MARK___3 = 1878,\n\tSTP_ISCLK_0_C_MARK___3 = 1879,\n\tRIF0_D0_B_MARK___3 = 1880,\n\tIP12_3_0_MARK___3 = 1881,\n\tTX0_MARK___4 = 1882,\n\tHTX1_B_MARK___3 = 1883,\n\tTS_SPSYNC0_C_MARK___3 = 1884,\n\tSTP_ISSYNC_0_C_MARK___3 = 1885,\n\tRIF0_D1_B_MARK___3 = 1886,\n\tIP13_3_0_MARK___3 = 1887,\n\tTX2_A_MARK___3 = 1888,\n\tSD2_CD_B_MARK___3 = 1889,\n\tSCL1_A_MARK___3 = 1890,\n\tFMCLK_A_MARK___3 = 1891,\n\tRIF1_D1_C_MARK___3 = 1892,\n\tFSO_CFE_0_N_MARK___4 = 1893,\n\tIP14_3_0_MARK___3 = 1894,\n\tMSIOF0_SS1_MARK___4 = 1895,\n\tRX5_A_MARK___3 = 1896,\n\tNFWP_N_A_MARK___3 = 1897,\n\tAUDIO_CLKA_C_MARK___3 = 1898,\n\tSSI_SCK2_A_MARK___3 = 1899,\n\tSTP_IVCXO27_0_C_MARK___3 = 1900,\n\tAUDIO_CLKOUT3_A_MARK___3 = 1901,\n\tTCLK1_B_MARK___4 = 1902,\n\tIP15_3_0_MARK___3 = 1903,\n\tSSI_SDATA1_A_MARK___3 = 1904,\n\tIP12_7_4_MARK___3 = 1905,\n\tCTS0_N_MARK___4 = 1906,\n\tHCTS1_N_B_MARK___3 = 1907,\n\tMSIOF1_SYNC_B_MARK___3 = 1908,\n\tTS_SPSYNC1_C_MARK___3 = 1909,\n\tSTP_ISSYNC_1_C_MARK___3 = 1910,\n\tRIF1_SYNC_B_MARK___3 = 1911,\n\tAUDIO_CLKOUT_C_MARK___3 = 1912,\n\tADICS_SAMP_MARK___3 = 1913,\n\tIP13_7_4_MARK___3 = 1914,\n\tRX2_A_MARK___3 = 1915,\n\tSD2_WP_B_MARK___3 = 1916,\n\tSDA1_A_MARK___3 = 1917,\n\tFMIN_A_MARK___3 = 1918,\n\tRIF1_SYNC_C_MARK___3 = 1919,\n\tFSO_CFE_1_N_MARK___4 = 1920,\n\tIP14_7_4_MARK___3 = 1921,\n\tMSIOF0_SS2_MARK___4 = 1922,\n\tTX5_A_MARK___3 = 1923,\n\tMSIOF1_SS2_D_MARK___3 = 1924,\n\tAUDIO_CLKC_A_MARK___3 = 1925,\n\tSSI_WS2_A_MARK___3 = 1926,\n\tSTP_OPWM_0_D_MARK___3 = 1927,\n\tAUDIO_CLKOUT_D_MARK___3 = 1928,\n\tSPEEDIN_B_MARK___4 = 1929,\n\tIP15_7_4_MARK___3 = 1930,\n\tSSI_SDATA2_A_MARK___3 = 1931,\n\tSSI_SCK1_B_MARK___3 = 1932,\n\tIP12_11_8_MARK___3 = 1933,\n\tRTS0_N_MARK___4 = 1934,\n\tHRTS1_N_B_MARK___3 = 1935,\n\tMSIOF1_SS1_B_MARK___3 = 1936,\n\tAUDIO_CLKA_B_MARK___3 = 1937,\n\tSCL2_A_MARK___3 = 1938,\n\tSTP_IVCXO27_1_C_MARK___3 = 1939,\n\tRIF0_SYNC_B_MARK___3 = 1940,\n\tADICHS1_MARK___3 = 1941,\n\tIP13_11_8_MARK___3 = 1942,\n\tHSCK0_MARK___3 = 1943,\n\tMSIOF1_SCK_D_MARK___3 = 1944,\n\tAUDIO_CLKB_A_MARK___3 = 1945,\n\tSSI_SDATA1_B_MARK___3 = 1946,\n\tTS_SCK0_D_MARK___3 = 1947,\n\tSTP_ISCLK_0_D_MARK___3 = 1948,\n\tRIF0_CLK_C_MARK___3 = 1949,\n\tRX5_B_MARK___3 = 1950,\n\tIP14_11_8_MARK___3 = 1951,\n\tMLB_CLK_MARK___3 = 1952,\n\tMSIOF1_SCK_F_MARK___3 = 1953,\n\tSCL1_B_MARK___3 = 1954,\n\tIP15_11_8_MARK___3 = 1955,\n\tSSI_SCK349_MARK___3 = 1956,\n\tMSIOF1_SS1_A_MARK___3 = 1957,\n\tSTP_OPWM_0_A_MARK___3 = 1958,\n\tIP12_15_12_MARK___3 = 1959,\n\tRX1_A_MARK___4 = 1960,\n\tHRX1_A_MARK___3 = 1961,\n\tTS_SDAT0_C_MARK___3 = 1962,\n\tSTP_ISD_0_C_MARK___3 = 1963,\n\tRIF1_CLK_C_MARK___3 = 1964,\n\tIP13_15_12_MARK___3 = 1965,\n\tHRX0_MARK___3 = 1966,\n\tMSIOF1_RXD_D_MARK___3 = 1967,\n\tSSI_SDATA2_B_MARK___3 = 1968,\n\tTS_SDEN0_D_MARK___3 = 1969,\n\tSTP_ISEN_0_D_MARK___3 = 1970,\n\tRIF0_D0_C_MARK___3 = 1971,\n\tIP14_15_12_MARK___3 = 1972,\n\tMLB_SIG_MARK___3 = 1973,\n\tRX1_B_MARK___4 = 1974,\n\tMSIOF1_SYNC_F_MARK___3 = 1975,\n\tSDA1_B_MARK___3 = 1976,\n\tIP15_15_12_MARK___3 = 1977,\n\tSSI_WS349_MARK___3 = 1978,\n\tHCTS2_N_A_MARK___3 = 1979,\n\tMSIOF1_SS2_A_MARK___3 = 1980,\n\tSTP_IVCXO27_0_A_MARK___3 = 1981,\n\tIP12_19_16_MARK___3 = 1982,\n\tTX1_A_MARK___4 = 1983,\n\tHTX1_A_MARK___3 = 1984,\n\tTS_SDEN0_C_MARK___3 = 1985,\n\tSTP_ISEN_0_C_MARK___3 = 1986,\n\tRIF1_D0_C_MARK___3 = 1987,\n\tIP13_19_16_MARK___3 = 1988,\n\tHTX0_MARK___3 = 1989,\n\tMSIOF1_TXD_D_MARK___3 = 1990,\n\tSSI_SDATA9_B_MARK___3 = 1991,\n\tTS_SDAT0_D_MARK___3 = 1992,\n\tSTP_ISD_0_D_MARK___3 = 1993,\n\tRIF0_D1_C_MARK___3 = 1994,\n\tIP14_19_16_MARK___3 = 1995,\n\tMLB_DAT_MARK___3 = 1996,\n\tTX1_B_MARK___4 = 1997,\n\tMSIOF1_RXD_F_MARK___3 = 1998,\n\tIP15_19_16_MARK___3 = 1999,\n\tSSI_SDATA3_MARK___3 = 2000,\n\tHRTS2_N_A_MARK___3 = 2001,\n\tMSIOF1_TXD_A_MARK___3 = 2002,\n\tTS_SCK0_A_MARK___3 = 2003,\n\tSTP_ISCLK_0_A_MARK___3 = 2004,\n\tRIF0_D1_A_MARK___3 = 2005,\n\tRIF2_D0_A_MARK___3 = 2006,\n\tIP12_23_20_MARK___3 = 2007,\n\tCTS1_N_MARK___4 = 2008,\n\tHCTS1_N_A_MARK___3 = 2009,\n\tMSIOF1_RXD_B_MARK___3 = 2010,\n\tTS_SDEN1_C_MARK___3 = 2011,\n\tSTP_ISEN_1_C_MARK___3 = 2012,\n\tRIF1_D0_B_MARK___3 = 2013,\n\tADIDATA_MARK___3 = 2014,\n\tIP13_23_20_MARK___3 = 2015,\n\tHCTS0_N_MARK___3 = 2016,\n\tRX2_B_MARK___3 = 2017,\n\tMSIOF1_SYNC_D_MARK___3 = 2018,\n\tSSI_SCK9_A_MARK___3 = 2019,\n\tTS_SPSYNC0_D_MARK___3 = 2020,\n\tSTP_ISSYNC_0_D_MARK___3 = 2021,\n\tRIF0_SYNC_C_MARK___3 = 2022,\n\tAUDIO_CLKOUT1_A_MARK___3 = 2023,\n\tIP14_23_20_MARK___3 = 2024,\n\tSSI_SCK01239_MARK___3 = 2025,\n\tMSIOF1_TXD_F_MARK___3 = 2026,\n\tIP15_23_20_MARK___3 = 2027,\n\tSSI_SCK4_MARK___3 = 2028,\n\tHRX2_A_MARK___3 = 2029,\n\tMSIOF1_SCK_A_MARK___3 = 2030,\n\tTS_SDAT0_A_MARK___3 = 2031,\n\tSTP_ISD_0_A_MARK___3 = 2032,\n\tRIF0_CLK_A_MARK___3 = 2033,\n\tRIF2_CLK_A_MARK___3 = 2034,\n\tIP12_27_24_MARK___3 = 2035,\n\tRTS1_N_MARK___4 = 2036,\n\tHRTS1_N_A_MARK___3 = 2037,\n\tMSIOF1_TXD_B_MARK___3 = 2038,\n\tTS_SDAT1_C_MARK___3 = 2039,\n\tSTP_ISD_1_C_MARK___3 = 2040,\n\tRIF1_D1_B_MARK___3 = 2041,\n\tADICHS0_MARK___3 = 2042,\n\tIP13_27_24_MARK___3 = 2043,\n\tHRTS0_N_MARK___3 = 2044,\n\tTX2_B_MARK___3 = 2045,\n\tMSIOF1_SS1_D_MARK___3 = 2046,\n\tSSI_WS9_A_MARK___3 = 2047,\n\tSTP_IVCXO27_0_D_MARK___3 = 2048,\n\tBPFCLK_A_MARK___3 = 2049,\n\tAUDIO_CLKOUT2_A_MARK___3 = 2050,\n\tIP14_27_24_MARK___3 = 2051,\n\tSSI_WS01239_MARK___3 = 2052,\n\tMSIOF1_SS1_F_MARK___3 = 2053,\n\tIP15_27_24_MARK___3 = 2054,\n\tSSI_WS4_MARK___3 = 2055,\n\tHTX2_A_MARK___3 = 2056,\n\tMSIOF1_SYNC_A_MARK___3 = 2057,\n\tTS_SDEN0_A_MARK___3 = 2058,\n\tSTP_ISEN_0_A_MARK___3 = 2059,\n\tRIF0_SYNC_A_MARK___3 = 2060,\n\tRIF2_SYNC_A_MARK___3 = 2061,\n\tIP12_31_28_MARK___3 = 2062,\n\tSCK2_MARK___3 = 2063,\n\tSCIF_CLK_B_MARK___4 = 2064,\n\tMSIOF1_SCK_B_MARK___3 = 2065,\n\tTS_SCK1_C_MARK___3 = 2066,\n\tSTP_ISCLK_1_C_MARK___3 = 2067,\n\tRIF1_CLK_B_MARK___3 = 2068,\n\tADICLK_MARK___3 = 2069,\n\tIP13_31_28_MARK___3 = 2070,\n\tMSIOF0_SYNC_MARK___4 = 2071,\n\tAUDIO_CLKOUT_A_MARK___3 = 2072,\n\tTX5_B_MARK___3 = 2073,\n\tBPFCLK_D_MARK___3 = 2074,\n\tIP14_31_28_MARK___3 = 2075,\n\tSSI_SDATA0_MARK___3 = 2076,\n\tMSIOF1_SS2_F_MARK___3 = 2077,\n\tIP15_31_28_MARK___3 = 2078,\n\tSSI_SDATA4_MARK___3 = 2079,\n\tHSCK2_A_MARK___3 = 2080,\n\tMSIOF1_RXD_A_MARK___3 = 2081,\n\tTS_SPSYNC0_A_MARK___3 = 2082,\n\tSTP_ISSYNC_0_A_MARK___3 = 2083,\n\tRIF0_D0_A_MARK___3 = 2084,\n\tRIF2_D1_A_MARK___3 = 2085,\n\tIP16_3_0_MARK___3 = 2086,\n\tSSI_SCK6_MARK___3 = 2087,\n\tSIM0_RST_D_MARK___3 = 2088,\n\tIP17_3_0_MARK___3 = 2089,\n\tAUDIO_CLKA_A_MARK___3 = 2090,\n\tIP18_3_0_MARK___3 = 2091,\n\tGP6_30_MARK___2 = 2092,\n\tAUDIO_CLKOUT2_B_MARK___3 = 2093,\n\tSSI_SCK9_B_MARK___3 = 2094,\n\tTS_SDEN0_E_MARK___3 = 2095,\n\tSTP_ISEN_0_E_MARK___3 = 2096,\n\tRIF2_D0_B_MARK___3 = 2097,\n\tTPU0TO2_MARK___4 = 2098,\n\tFMCLK_C_MARK___3 = 2099,\n\tFMCLK_D_MARK___3 = 2100,\n\tIP16_7_4_MARK___3 = 2101,\n\tSSI_WS6_MARK___3 = 2102,\n\tSIM0_D_D_MARK___3 = 2103,\n\tIP17_7_4_MARK___3 = 2104,\n\tAUDIO_CLKB_B_MARK___3 = 2105,\n\tSCIF_CLK_A_MARK___4 = 2106,\n\tSTP_IVCXO27_1_D_MARK___3 = 2107,\n\tREMOCON_A_MARK___3 = 2108,\n\tTCLK1_A_MARK___4 = 2109,\n\tIP18_7_4_MARK___3 = 2110,\n\tGP6_31_MARK___2 = 2111,\n\tAUDIO_CLKOUT3_B_MARK___3 = 2112,\n\tSSI_WS9_B_MARK___3 = 2113,\n\tTS_SPSYNC0_E_MARK___3 = 2114,\n\tSTP_ISSYNC_0_E_MARK___3 = 2115,\n\tRIF2_D1_B_MARK___3 = 2116,\n\tTPU0TO3_MARK___4 = 2117,\n\tFMIN_C_MARK___3 = 2118,\n\tFMIN_D_MARK___3 = 2119,\n\tIP16_11_8_MARK___3 = 2120,\n\tSSI_SDATA6_MARK___3 = 2121,\n\tSIM0_CLK_D_MARK___3 = 2122,\n\tSATA_DEVSLP_A_MARK___2 = 2123,\n\tIP17_11_8_MARK___3 = 2124,\n\tUSB0_PWEN_MARK___3 = 2125,\n\tSIM0_RST_C_MARK___3 = 2126,\n\tTS_SCK1_D_MARK___3 = 2127,\n\tSTP_ISCLK_1_D_MARK___3 = 2128,\n\tBPFCLK_B_MARK___3 = 2129,\n\tRIF3_CLK_B_MARK___3 = 2130,\n\tHSCK2_C_MARK___3 = 2131,\n\tIP16_15_12_MARK___3 = 2132,\n\tSSI_SCK78_MARK___3 = 2133,\n\tHRX2_B_MARK___3 = 2134,\n\tMSIOF1_SCK_C_MARK___3 = 2135,\n\tTS_SCK1_A_MARK___3 = 2136,\n\tSTP_ISCLK_1_A_MARK___3 = 2137,\n\tRIF1_CLK_A_MARK___3 = 2138,\n\tRIF3_CLK_A_MARK___3 = 2139,\n\tIP17_15_12_MARK___3 = 2140,\n\tUSB0_OVC_MARK___3 = 2141,\n\tSIM0_D_C_MARK___3 = 2142,\n\tTS_SDAT1_D_MARK___3 = 2143,\n\tSTP_ISD_1_D_MARK___3 = 2144,\n\tRIF3_SYNC_B_MARK___3 = 2145,\n\tHRX2_C_MARK___3 = 2146,\n\tIP16_19_16_MARK___3 = 2147,\n\tSSI_WS78_MARK___3 = 2148,\n\tHTX2_B_MARK___3 = 2149,\n\tMSIOF1_SYNC_C_MARK___3 = 2150,\n\tTS_SDAT1_A_MARK___3 = 2151,\n\tSTP_ISD_1_A_MARK___3 = 2152,\n\tRIF1_SYNC_A_MARK___3 = 2153,\n\tRIF3_SYNC_A_MARK___3 = 2154,\n\tIP17_19_16_MARK___3 = 2155,\n\tUSB1_PWEN_MARK___3 = 2156,\n\tSIM0_CLK_C_MARK___3 = 2157,\n\tSSI_SCK1_A_MARK___3 = 2158,\n\tTS_SCK0_E_MARK___3 = 2159,\n\tSTP_ISCLK_0_E_MARK___3 = 2160,\n\tFMCLK_B_MARK___3 = 2161,\n\tRIF2_CLK_B_MARK___3 = 2162,\n\tSPEEDIN_A_MARK___4 = 2163,\n\tHTX2_C_MARK___3 = 2164,\n\tIP16_23_20_MARK___3 = 2165,\n\tSSI_SDATA7_MARK___3 = 2166,\n\tHCTS2_N_B_MARK___3 = 2167,\n\tMSIOF1_RXD_C_MARK___3 = 2168,\n\tTS_SDEN1_A_MARK___3 = 2169,\n\tSTP_ISEN_1_A_MARK___3 = 2170,\n\tRIF1_D0_A_MARK___3 = 2171,\n\tRIF3_D0_A_MARK___3 = 2172,\n\tTCLK2_A_MARK___4 = 2173,\n\tIP17_23_20_MARK___3 = 2174,\n\tUSB1_OVC_MARK___3 = 2175,\n\tMSIOF1_SS2_C_MARK___3 = 2176,\n\tSSI_WS1_A_MARK___3 = 2177,\n\tTS_SDAT0_E_MARK___3 = 2178,\n\tSTP_ISD_0_E_MARK___3 = 2179,\n\tFMIN_B_MARK___3 = 2180,\n\tRIF2_SYNC_B_MARK___3 = 2181,\n\tREMOCON_B_MARK___3 = 2182,\n\tHCTS2_N_C_MARK___3 = 2183,\n\tIP16_27_24_MARK___3 = 2184,\n\tSSI_SDATA8_MARK___3 = 2185,\n\tHRTS2_N_B_MARK___3 = 2186,\n\tMSIOF1_TXD_C_MARK___3 = 2187,\n\tTS_SPSYNC1_A_MARK___3 = 2188,\n\tSTP_ISSYNC_1_A_MARK___3 = 2189,\n\tRIF1_D1_A_MARK___3 = 2190,\n\tRIF3_D1_A_MARK___3 = 2191,\n\tIP17_27_24_MARK___3 = 2192,\n\tUSB30_PWEN_MARK___3 = 2193,\n\tAUDIO_CLKOUT_B_MARK___3 = 2194,\n\tSSI_SCK2_B_MARK___3 = 2195,\n\tTS_SDEN1_D_MARK___3 = 2196,\n\tSTP_ISEN_1_D_MARK___3 = 2197,\n\tSTP_OPWM_0_E_MARK___3 = 2198,\n\tRIF3_D0_B_MARK___3 = 2199,\n\tTCLK2_B_MARK___4 = 2200,\n\tTPU0TO0_MARK___4 = 2201,\n\tBPFCLK_C_MARK___3 = 2202,\n\tHRTS2_N_C_MARK___3 = 2203,\n\tIP16_31_28_MARK___3 = 2204,\n\tSSI_SDATA9_A_MARK___3 = 2205,\n\tHSCK2_B_MARK___3 = 2206,\n\tMSIOF1_SS1_C_MARK___3 = 2207,\n\tHSCK1_A_MARK___3 = 2208,\n\tSSI_WS1_B_MARK___3 = 2209,\n\tSCK1_MARK___4 = 2210,\n\tSTP_IVCXO27_1_A_MARK___3 = 2211,\n\tSCK5_A_MARK___3 = 2212,\n\tIP17_31_28_MARK___3 = 2213,\n\tUSB30_OVC_MARK___3 = 2214,\n\tAUDIO_CLKOUT1_B_MARK___3 = 2215,\n\tSSI_WS2_B_MARK___3 = 2216,\n\tTS_SPSYNC1_D_MARK___3 = 2217,\n\tSTP_ISSYNC_1_D_MARK___3 = 2218,\n\tSTP_IVCXO27_0_E_MARK___3 = 2219,\n\tRIF3_D1_B_MARK___3 = 2220,\n\tFSO_TOE_N_MARK___4 = 2221,\n\tTPU0TO1_MARK___4 = 2222,\n\tSEL_MSIOF3_0_MARK___3 = 2223,\n\tSEL_MSIOF3_1_MARK___3 = 2224,\n\tSEL_MSIOF3_2_MARK___3 = 2225,\n\tSEL_MSIOF3_3_MARK___3 = 2226,\n\tSEL_MSIOF3_4_MARK___3 = 2227,\n\tSEL_TSIF1_0_MARK___3 = 2228,\n\tSEL_TSIF1_1_MARK___3 = 2229,\n\tSEL_TSIF1_2_MARK___3 = 2230,\n\tSEL_TSIF1_3_MARK___3 = 2231,\n\tI2C_SEL_5_0_MARK___3 = 2232,\n\tI2C_SEL_5_1_MARK___3 = 2233,\n\tI2C_SEL_3_0_MARK___3 = 2234,\n\tI2C_SEL_3_1_MARK___3 = 2235,\n\tSEL_TSIF0_0_MARK___3 = 2236,\n\tSEL_TSIF0_1_MARK___3 = 2237,\n\tSEL_TSIF0_2_MARK___3 = 2238,\n\tSEL_TSIF0_3_MARK___3 = 2239,\n\tSEL_TSIF0_4_MARK___3 = 2240,\n\tI2C_SEL_0_0_MARK___3 = 2241,\n\tI2C_SEL_0_1_MARK___3 = 2242,\n\tSEL_MSIOF2_0_MARK___3 = 2243,\n\tSEL_MSIOF2_1_MARK___3 = 2244,\n\tSEL_MSIOF2_2_MARK___3 = 2245,\n\tSEL_MSIOF2_3_MARK___3 = 2246,\n\tSEL_FM_0_MARK___3 = 2247,\n\tSEL_FM_1_MARK___3 = 2248,\n\tSEL_FM_2_MARK___3 = 2249,\n\tSEL_FM_3_MARK___3 = 2250,\n\tSEL_MSIOF1_0_MARK___3 = 2251,\n\tSEL_MSIOF1_1_MARK___3 = 2252,\n\tSEL_MSIOF1_2_MARK___3 = 2253,\n\tSEL_MSIOF1_3_MARK___3 = 2254,\n\tSEL_MSIOF1_4_MARK___3 = 2255,\n\tSEL_MSIOF1_5_MARK___3 = 2256,\n\tSEL_MSIOF1_6_MARK___3 = 2257,\n\tSEL_TIMER_TMU_0_MARK___2 = 2258,\n\tSEL_TIMER_TMU_1_MARK___2 = 2259,\n\tSEL_SCIF5_0_MARK___3 = 2260,\n\tSEL_SCIF5_1_MARK___3 = 2261,\n\tSEL_SSP1_1_0_MARK___3 = 2262,\n\tSEL_SSP1_1_1_MARK___3 = 2263,\n\tSEL_SSP1_1_2_MARK___3 = 2264,\n\tSEL_SSP1_1_3_MARK___3 = 2265,\n\tSEL_I2C6_0_MARK___3 = 2266,\n\tSEL_I2C6_1_MARK___3 = 2267,\n\tSEL_I2C6_2_MARK___3 = 2268,\n\tSEL_LBSC_0_MARK___3 = 2269,\n\tSEL_LBSC_1_MARK___3 = 2270,\n\tSEL_SSP1_0_0_MARK___3 = 2271,\n\tSEL_SSP1_0_1_MARK___3 = 2272,\n\tSEL_SSP1_0_2_MARK___3 = 2273,\n\tSEL_SSP1_0_3_MARK___3 = 2274,\n\tSEL_SSP1_0_4_MARK___3 = 2275,\n\tSEL_IEBUS_0_MARK___3 = 2276,\n\tSEL_IEBUS_1_MARK___3 = 2277,\n\tSEL_NDF_0_MARK___2 = 2278,\n\tSEL_NDF_1_MARK___2 = 2279,\n\tSEL_I2C2_0_MARK___3 = 2280,\n\tSEL_I2C2_1_MARK___3 = 2281,\n\tSEL_SSI2_0_MARK___3 = 2282,\n\tSEL_SSI2_1_MARK___3 = 2283,\n\tSEL_I2C1_0_MARK___3 = 2284,\n\tSEL_I2C1_1_MARK___3 = 2285,\n\tSEL_SSI1_0_MARK___3 = 2286,\n\tSEL_SSI1_1_MARK___3 = 2287,\n\tSEL_SSI9_0_MARK___3 = 2288,\n\tSEL_SSI9_1_MARK___3 = 2289,\n\tSEL_HSCIF4_0_MARK___3 = 2290,\n\tSEL_HSCIF4_1_MARK___3 = 2291,\n\tSEL_SPEED_PULSE_0_MARK___3 = 2292,\n\tSEL_SPEED_PULSE_1_MARK___3 = 2293,\n\tSEL_TIMER_TMU2_0_MARK___3 = 2294,\n\tSEL_TIMER_TMU2_1_MARK___3 = 2295,\n\tSEL_HSCIF3_0_MARK___3 = 2296,\n\tSEL_HSCIF3_1_MARK___3 = 2297,\n\tSEL_HSCIF3_2_MARK___3 = 2298,\n\tSEL_HSCIF3_3_MARK___3 = 2299,\n\tSEL_SIMCARD_0_MARK___3 = 2300,\n\tSEL_SIMCARD_1_MARK___3 = 2301,\n\tSEL_SIMCARD_2_MARK___3 = 2302,\n\tSEL_SIMCARD_3_MARK___3 = 2303,\n\tSEL_ADGB_0_MARK___3 = 2304,\n\tSEL_ADGB_1_MARK___3 = 2305,\n\tSEL_ADGC_0_MARK___3 = 2306,\n\tSEL_ADGC_1_MARK___3 = 2307,\n\tSEL_HSCIF1_0_MARK___3 = 2308,\n\tSEL_HSCIF1_1_MARK___3 = 2309,\n\tSEL_SDHI2_0_MARK___3 = 2310,\n\tSEL_SDHI2_1_MARK___3 = 2311,\n\tSEL_SCIF4_0_MARK___3 = 2312,\n\tSEL_SCIF4_1_MARK___3 = 2313,\n\tSEL_SCIF4_2_MARK___3 = 2314,\n\tSEL_HSCIF2_0_MARK___3 = 2315,\n\tSEL_HSCIF2_1_MARK___3 = 2316,\n\tSEL_HSCIF2_2_MARK___3 = 2317,\n\tSEL_SCIF3_0_MARK___3 = 2318,\n\tSEL_SCIF3_1_MARK___3 = 2319,\n\tSEL_ETHERAVB_0_MARK___3 = 2320,\n\tSEL_ETHERAVB_1_MARK___3 = 2321,\n\tSEL_SCIF2_0_MARK___3 = 2322,\n\tSEL_SCIF2_1_MARK___3 = 2323,\n\tSEL_DRIF3_0_MARK___3 = 2324,\n\tSEL_DRIF3_1_MARK___3 = 2325,\n\tSEL_SCIF1_0_MARK___4 = 2326,\n\tSEL_SCIF1_1_MARK___4 = 2327,\n\tSEL_DRIF2_0_MARK___3 = 2328,\n\tSEL_DRIF2_1_MARK___3 = 2329,\n\tSEL_SCIF_0_MARK___3 = 2330,\n\tSEL_SCIF_1_MARK___3 = 2331,\n\tSEL_DRIF1_0_MARK___3 = 2332,\n\tSEL_DRIF1_1_MARK___3 = 2333,\n\tSEL_DRIF1_2_MARK___3 = 2334,\n\tSEL_REMOCON_0_MARK___3 = 2335,\n\tSEL_REMOCON_1_MARK___3 = 2336,\n\tSEL_DRIF0_0_MARK___3 = 2337,\n\tSEL_DRIF0_1_MARK___3 = 2338,\n\tSEL_DRIF0_2_MARK___3 = 2339,\n\tSEL_RCAN0_0_MARK___3 = 2340,\n\tSEL_RCAN0_1_MARK___3 = 2341,\n\tSEL_CANFD0_0_MARK___4 = 2342,\n\tSEL_CANFD0_1_MARK___4 = 2343,\n\tSEL_PWM6_0_MARK___3 = 2344,\n\tSEL_PWM6_1_MARK___3 = 2345,\n\tSEL_ADGA_0_MARK___3 = 2346,\n\tSEL_ADGA_1_MARK___3 = 2347,\n\tSEL_ADGA_2_MARK___3 = 2348,\n\tSEL_ADGA_3_MARK___3 = 2349,\n\tSEL_PWM5_0_MARK___3 = 2350,\n\tSEL_PWM5_1_MARK___3 = 2351,\n\tSEL_PWM4_0_MARK___4 = 2352,\n\tSEL_PWM4_1_MARK___4 = 2353,\n\tSEL_PWM3_0_MARK___4 = 2354,\n\tSEL_PWM3_1_MARK___4 = 2355,\n\tSEL_PWM2_0_MARK___4 = 2356,\n\tSEL_PWM2_1_MARK___4 = 2357,\n\tSEL_PWM1_0_MARK___4 = 2358,\n\tSEL_PWM1_1_MARK___4 = 2359,\n\tSEL_VIN4_0_MARK___3 = 2360,\n\tSEL_VIN4_1_MARK___3 = 2361,\n\tQSPI0_SPCLK_MARK___4 = 2362,\n\tQSPI0_SSL_MARK___4 = 2363,\n\tQSPI0_MOSI_IO0_MARK___4 = 2364,\n\tQSPI0_MISO_IO1_MARK___4 = 2365,\n\tQSPI0_IO2_MARK___4 = 2366,\n\tQSPI0_IO3_MARK___4 = 2367,\n\tQSPI1_SPCLK_MARK___4 = 2368,\n\tQSPI1_SSL_MARK___4 = 2369,\n\tQSPI1_MOSI_IO0_MARK___4 = 2370,\n\tQSPI1_MISO_IO1_MARK___4 = 2371,\n\tQSPI1_IO2_MARK___4 = 2372,\n\tQSPI1_IO3_MARK___4 = 2373,\n\tRPC_INT_MARK___3 = 2374,\n\tRPC_WP_MARK___3 = 2375,\n\tRPC_RESET_MARK___3 = 2376,\n\tAVB_TX_CTL_MARK___4 = 2377,\n\tAVB_TXC_MARK___4 = 2378,\n\tAVB_TD0_MARK___4 = 2379,\n\tAVB_TD1_MARK___4 = 2380,\n\tAVB_TD2_MARK___4 = 2381,\n\tAVB_TD3_MARK___4 = 2382,\n\tAVB_RX_CTL_MARK___4 = 2383,\n\tAVB_RXC_MARK___4 = 2384,\n\tAVB_RD0_MARK___4 = 2385,\n\tAVB_RD1_MARK___4 = 2386,\n\tAVB_RD2_MARK___4 = 2387,\n\tAVB_RD3_MARK___4 = 2388,\n\tAVB_TXCREFCLK_MARK___4 = 2389,\n\tAVB_MDIO_MARK___4 = 2390,\n\tPRESETOUT_MARK___3 = 2391,\n\tDU_DOTCLKIN0_MARK___3 = 2392,\n\tDU_DOTCLKIN1_MARK___3 = 2393,\n\tDU_DOTCLKIN3_MARK___2 = 2394,\n\tTMS_MARK___3 = 2395,\n\tTDO_MARK___3 = 2396,\n\tASEBRK_MARK___3 = 2397,\n\tMLB_REF_MARK___3 = 2398,\n\tTDI_MARK___3 = 2399,\n\tTCK_MARK___3 = 2400,\n\tTRST_MARK___3 = 2401,\n\tEXTALR_MARK___3 = 2402,\n\tSCL0_MARK___4 = 2403,\n\tSDA0_MARK___4 = 2404,\n\tSCL3_MARK___4 = 2405,\n\tSDA3_MARK___4 = 2406,\n\tSCL5_MARK___4 = 2407,\n\tSDA5_MARK___4 = 2408,\n\tPINMUX_MARK_END___4 = 2409,\n};\n\nenum {\n\tPINMUX_RESERVED___5 = 0,\n\tPINMUX_DATA_BEGIN___5 = 1,\n\tGP_0_0_DATA___5 = 2,\n\tGP_0_1_DATA___5 = 3,\n\tGP_0_2_DATA___5 = 4,\n\tGP_0_3_DATA___5 = 5,\n\tGP_0_4_DATA___5 = 6,\n\tGP_0_5_DATA___5 = 7,\n\tGP_0_6_DATA___5 = 8,\n\tGP_0_7_DATA___5 = 9,\n\tGP_0_8_DATA___5 = 10,\n\tGP_0_9_DATA___5 = 11,\n\tGP_0_10_DATA___5 = 12,\n\tGP_0_11_DATA___5 = 13,\n\tGP_0_12_DATA___5 = 14,\n\tGP_0_13_DATA___5 = 15,\n\tGP_0_14_DATA___5 = 16,\n\tGP_0_15_DATA___5 = 17,\n\tGP_0_16_DATA___2 = 18,\n\tGP_0_17_DATA___2 = 19,\n\tGP_0_18_DATA___2 = 20,\n\tGP_1_0_DATA___5 = 21,\n\tGP_1_1_DATA___5 = 22,\n\tGP_1_2_DATA___5 = 23,\n\tGP_1_3_DATA___5 = 24,\n\tGP_1_4_DATA___5 = 25,\n\tGP_1_5_DATA___5 = 26,\n\tGP_1_6_DATA___5 = 27,\n\tGP_1_7_DATA___5 = 28,\n\tGP_1_8_DATA___5 = 29,\n\tGP_1_9_DATA___5 = 30,\n\tGP_1_10_DATA___5 = 31,\n\tGP_1_11_DATA___5 = 32,\n\tGP_1_12_DATA___5 = 33,\n\tGP_1_13_DATA___5 = 34,\n\tGP_1_14_DATA___5 = 35,\n\tGP_1_15_DATA___5 = 36,\n\tGP_1_16_DATA___5 = 37,\n\tGP_1_17_DATA___5 = 38,\n\tGP_1_18_DATA___5 = 39,\n\tGP_1_19_DATA___5 = 40,\n\tGP_1_20_DATA___5 = 41,\n\tGP_1_21_DATA___5 = 42,\n\tGP_1_22_DATA___5 = 43,\n\tGP_1_23_DATA___5 = 44,\n\tGP_1_24_DATA___5 = 45,\n\tGP_1_25_DATA___5 = 46,\n\tGP_1_26_DATA___5 = 47,\n\tGP_1_27_DATA___5 = 48,\n\tGP_1_28_DATA___4 = 49,\n\tGP_2_0_DATA___5 = 50,\n\tGP_2_1_DATA___5 = 51,\n\tGP_2_2_DATA___5 = 52,\n\tGP_2_3_DATA___5 = 53,\n\tGP_2_4_DATA___5 = 54,\n\tGP_2_5_DATA___5 = 55,\n\tGP_2_6_DATA___5 = 56,\n\tGP_2_7_DATA___5 = 57,\n\tGP_2_8_DATA___5 = 58,\n\tGP_2_9_DATA___5 = 59,\n\tGP_2_10_DATA___5 = 60,\n\tGP_2_11_DATA___5 = 61,\n\tGP_2_12_DATA___5 = 62,\n\tGP_2_13_DATA___5 = 63,\n\tGP_2_14_DATA___5 = 64,\n\tGP_2_15_DATA___2 = 65,\n\tGP_2_16_DATA___2 = 66,\n\tGP_2_17_DATA___2 = 67,\n\tGP_2_18_DATA___2 = 68,\n\tGP_2_19_DATA___2 = 69,\n\tGP_3_0_DATA___5 = 70,\n\tGP_3_1_DATA___5 = 71,\n\tGP_3_2_DATA___5 = 72,\n\tGP_3_3_DATA___5 = 73,\n\tGP_3_4_DATA___5 = 74,\n\tGP_3_5_DATA___5 = 75,\n\tGP_3_6_DATA___5 = 76,\n\tGP_3_7_DATA___5 = 77,\n\tGP_3_8_DATA___5 = 78,\n\tGP_3_9_DATA___5 = 79,\n\tGP_3_10_DATA___5 = 80,\n\tGP_3_11_DATA___5 = 81,\n\tGP_3_12_DATA___5 = 82,\n\tGP_3_13_DATA___5 = 83,\n\tGP_3_14_DATA___5 = 84,\n\tGP_3_15_DATA___5 = 85,\n\tGP_3_16_DATA___2 = 86,\n\tGP_3_17_DATA = 87,\n\tGP_3_18_DATA = 88,\n\tGP_3_19_DATA = 89,\n\tGP_3_20_DATA = 90,\n\tGP_3_21_DATA = 91,\n\tGP_3_22_DATA = 92,\n\tGP_3_23_DATA = 93,\n\tGP_3_24_DATA = 94,\n\tGP_3_25_DATA = 95,\n\tGP_3_26_DATA = 96,\n\tGP_3_27_DATA = 97,\n\tGP_3_28_DATA = 98,\n\tGP_3_29_DATA = 99,\n\tGP_4_0_DATA___5 = 100,\n\tGP_4_1_DATA___5 = 101,\n\tGP_4_2_DATA___5 = 102,\n\tGP_4_3_DATA___5 = 103,\n\tGP_4_4_DATA___5 = 104,\n\tGP_4_5_DATA___5 = 105,\n\tGP_4_6_DATA___5 = 106,\n\tGP_4_7_DATA___5 = 107,\n\tGP_4_8_DATA___5 = 108,\n\tGP_4_9_DATA___5 = 109,\n\tGP_4_10_DATA___5 = 110,\n\tGP_4_11_DATA___5 = 111,\n\tGP_4_12_DATA___5 = 112,\n\tGP_4_13_DATA___5 = 113,\n\tGP_4_14_DATA___5 = 114,\n\tGP_4_15_DATA___5 = 115,\n\tGP_4_16_DATA___5 = 116,\n\tGP_4_17_DATA___5 = 117,\n\tGP_4_18_DATA___2 = 118,\n\tGP_4_19_DATA___2 = 119,\n\tGP_4_20_DATA___2 = 120,\n\tGP_4_21_DATA___2 = 121,\n\tGP_4_22_DATA___2 = 122,\n\tGP_4_23_DATA___2 = 123,\n\tGP_4_24_DATA___2 = 124,\n\tGP_5_0_DATA___5 = 125,\n\tGP_5_1_DATA___5 = 126,\n\tGP_5_2_DATA___5 = 127,\n\tGP_5_3_DATA___5 = 128,\n\tGP_5_4_DATA___5 = 129,\n\tGP_5_5_DATA___5 = 130,\n\tGP_5_6_DATA___5 = 131,\n\tGP_5_7_DATA___5 = 132,\n\tGP_5_8_DATA___5 = 133,\n\tGP_5_9_DATA___5 = 134,\n\tGP_5_10_DATA___5 = 135,\n\tGP_5_11_DATA___5 = 136,\n\tGP_5_12_DATA___5 = 137,\n\tGP_5_13_DATA___5 = 138,\n\tGP_5_14_DATA___5 = 139,\n\tGP_5_15_DATA___4 = 140,\n\tGP_5_16_DATA___4 = 141,\n\tGP_5_17_DATA___4 = 142,\n\tGP_5_18_DATA___4 = 143,\n\tGP_5_19_DATA___4 = 144,\n\tGP_5_20_DATA___4 = 145,\n\tGP_6_0_DATA___4 = 146,\n\tGP_6_1_DATA___4 = 147,\n\tGP_6_2_DATA___4 = 148,\n\tGP_6_3_DATA___4 = 149,\n\tGP_6_4_DATA___4 = 150,\n\tGP_6_5_DATA___4 = 151,\n\tGP_6_6_DATA___4 = 152,\n\tGP_6_7_DATA___4 = 153,\n\tGP_6_8_DATA___4 = 154,\n\tGP_6_9_DATA___4 = 155,\n\tGP_6_10_DATA___4 = 156,\n\tGP_6_11_DATA___4 = 157,\n\tGP_6_12_DATA___4 = 158,\n\tGP_6_13_DATA___4 = 159,\n\tGP_6_14_DATA___4 = 160,\n\tGP_6_15_DATA___4 = 161,\n\tGP_6_16_DATA___4 = 162,\n\tGP_6_17_DATA___4 = 163,\n\tGP_6_18_DATA___4 = 164,\n\tGP_6_19_DATA___4 = 165,\n\tGP_6_20_DATA___4 = 166,\n\tGP_7_0_DATA___4 = 167,\n\tGP_7_1_DATA___4 = 168,\n\tGP_7_2_DATA___4 = 169,\n\tGP_7_3_DATA___4 = 170,\n\tGP_7_4_DATA = 171,\n\tGP_7_5_DATA = 172,\n\tGP_7_6_DATA = 173,\n\tGP_7_7_DATA = 174,\n\tGP_7_8_DATA = 175,\n\tGP_7_9_DATA = 176,\n\tGP_7_10_DATA = 177,\n\tGP_7_11_DATA = 178,\n\tGP_7_12_DATA = 179,\n\tGP_7_13_DATA = 180,\n\tGP_7_14_DATA = 181,\n\tGP_7_15_DATA = 182,\n\tGP_7_16_DATA = 183,\n\tGP_7_17_DATA = 184,\n\tGP_7_18_DATA = 185,\n\tGP_7_19_DATA = 186,\n\tGP_7_20_DATA = 187,\n\tGP_8_0_DATA = 188,\n\tGP_8_1_DATA = 189,\n\tGP_8_2_DATA = 190,\n\tGP_8_3_DATA = 191,\n\tGP_8_4_DATA = 192,\n\tGP_8_5_DATA = 193,\n\tGP_8_6_DATA = 194,\n\tGP_8_7_DATA = 195,\n\tGP_8_8_DATA = 196,\n\tGP_8_9_DATA = 197,\n\tGP_8_10_DATA = 198,\n\tGP_8_11_DATA = 199,\n\tGP_8_12_DATA = 200,\n\tGP_8_13_DATA = 201,\n\tPINMUX_DATA_END___5 = 202,\n\tPINMUX_FUNCTION_BEGIN___5 = 203,\n\tGP_0_0_FN___5 = 204,\n\tGP_0_1_FN___5 = 205,\n\tGP_0_2_FN___5 = 206,\n\tGP_0_3_FN___5 = 207,\n\tGP_0_4_FN___5 = 208,\n\tGP_0_5_FN___5 = 209,\n\tGP_0_6_FN___5 = 210,\n\tGP_0_7_FN___5 = 211,\n\tGP_0_8_FN___5 = 212,\n\tGP_0_9_FN___5 = 213,\n\tGP_0_10_FN___5 = 214,\n\tGP_0_11_FN___5 = 215,\n\tGP_0_12_FN___5 = 216,\n\tGP_0_13_FN___5 = 217,\n\tGP_0_14_FN___5 = 218,\n\tGP_0_15_FN___5 = 219,\n\tGP_0_16_FN___2 = 220,\n\tGP_0_17_FN___2 = 221,\n\tGP_0_18_FN___2 = 222,\n\tGP_1_0_FN___5 = 223,\n\tGP_1_1_FN___5 = 224,\n\tGP_1_2_FN___5 = 225,\n\tGP_1_3_FN___5 = 226,\n\tGP_1_4_FN___5 = 227,\n\tGP_1_5_FN___5 = 228,\n\tGP_1_6_FN___5 = 229,\n\tGP_1_7_FN___5 = 230,\n\tGP_1_8_FN___5 = 231,\n\tGP_1_9_FN___5 = 232,\n\tGP_1_10_FN___5 = 233,\n\tGP_1_11_FN___5 = 234,\n\tGP_1_12_FN___5 = 235,\n\tGP_1_13_FN___5 = 236,\n\tGP_1_14_FN___5 = 237,\n\tGP_1_15_FN___5 = 238,\n\tGP_1_16_FN___5 = 239,\n\tGP_1_17_FN___5 = 240,\n\tGP_1_18_FN___5 = 241,\n\tGP_1_19_FN___5 = 242,\n\tGP_1_20_FN___5 = 243,\n\tGP_1_21_FN___5 = 244,\n\tGP_1_22_FN___5 = 245,\n\tGP_1_23_FN___5 = 246,\n\tGP_1_24_FN___5 = 247,\n\tGP_1_25_FN___5 = 248,\n\tGP_1_26_FN___5 = 249,\n\tGP_1_27_FN___5 = 250,\n\tGP_1_28_FN___4 = 251,\n\tGP_2_0_FN___5 = 252,\n\tGP_2_1_FN___5 = 253,\n\tGP_2_2_FN___5 = 254,\n\tGP_2_3_FN___5 = 255,\n\tGP_2_4_FN___5 = 256,\n\tGP_2_5_FN___5 = 257,\n\tGP_2_6_FN___5 = 258,\n\tGP_2_7_FN___5 = 259,\n\tGP_2_8_FN___5 = 260,\n\tGP_2_9_FN___5 = 261,\n\tGP_2_10_FN___5 = 262,\n\tGP_2_11_FN___5 = 263,\n\tGP_2_12_FN___5 = 264,\n\tGP_2_13_FN___5 = 265,\n\tGP_2_14_FN___5 = 266,\n\tGP_2_15_FN___2 = 267,\n\tGP_2_16_FN___2 = 268,\n\tGP_2_17_FN___2 = 269,\n\tGP_2_18_FN___2 = 270,\n\tGP_2_19_FN___2 = 271,\n\tGP_3_0_FN___5 = 272,\n\tGP_3_1_FN___5 = 273,\n\tGP_3_2_FN___5 = 274,\n\tGP_3_3_FN___5 = 275,\n\tGP_3_4_FN___5 = 276,\n\tGP_3_5_FN___5 = 277,\n\tGP_3_6_FN___5 = 278,\n\tGP_3_7_FN___5 = 279,\n\tGP_3_8_FN___5 = 280,\n\tGP_3_9_FN___5 = 281,\n\tGP_3_10_FN___5 = 282,\n\tGP_3_11_FN___5 = 283,\n\tGP_3_12_FN___5 = 284,\n\tGP_3_13_FN___5 = 285,\n\tGP_3_14_FN___5 = 286,\n\tGP_3_15_FN___5 = 287,\n\tGP_3_16_FN___2 = 288,\n\tGP_3_17_FN = 289,\n\tGP_3_18_FN = 290,\n\tGP_3_19_FN = 291,\n\tGP_3_20_FN = 292,\n\tGP_3_21_FN = 293,\n\tGP_3_22_FN = 294,\n\tGP_3_23_FN = 295,\n\tGP_3_24_FN = 296,\n\tGP_3_25_FN = 297,\n\tGP_3_26_FN = 298,\n\tGP_3_27_FN = 299,\n\tGP_3_28_FN = 300,\n\tGP_3_29_FN = 301,\n\tGP_4_0_FN___5 = 302,\n\tGP_4_1_FN___5 = 303,\n\tGP_4_2_FN___5 = 304,\n\tGP_4_3_FN___5 = 305,\n\tGP_4_4_FN___5 = 306,\n\tGP_4_5_FN___5 = 307,\n\tGP_4_6_FN___5 = 308,\n\tGP_4_7_FN___5 = 309,\n\tGP_4_8_FN___5 = 310,\n\tGP_4_9_FN___5 = 311,\n\tGP_4_10_FN___5 = 312,\n\tGP_4_11_FN___5 = 313,\n\tGP_4_12_FN___5 = 314,\n\tGP_4_13_FN___5 = 315,\n\tGP_4_14_FN___5 = 316,\n\tGP_4_15_FN___5 = 317,\n\tGP_4_16_FN___5 = 318,\n\tGP_4_17_FN___5 = 319,\n\tGP_4_18_FN___2 = 320,\n\tGP_4_19_FN___2 = 321,\n\tGP_4_20_FN___2 = 322,\n\tGP_4_21_FN___2 = 323,\n\tGP_4_22_FN___2 = 324,\n\tGP_4_23_FN___2 = 325,\n\tGP_4_24_FN___2 = 326,\n\tGP_5_0_FN___5 = 327,\n\tGP_5_1_FN___5 = 328,\n\tGP_5_2_FN___5 = 329,\n\tGP_5_3_FN___5 = 330,\n\tGP_5_4_FN___5 = 331,\n\tGP_5_5_FN___5 = 332,\n\tGP_5_6_FN___5 = 333,\n\tGP_5_7_FN___5 = 334,\n\tGP_5_8_FN___5 = 335,\n\tGP_5_9_FN___5 = 336,\n\tGP_5_10_FN___5 = 337,\n\tGP_5_11_FN___5 = 338,\n\tGP_5_12_FN___5 = 339,\n\tGP_5_13_FN___5 = 340,\n\tGP_5_14_FN___5 = 341,\n\tGP_5_15_FN___4 = 342,\n\tGP_5_16_FN___4 = 343,\n\tGP_5_17_FN___4 = 344,\n\tGP_5_18_FN___4 = 345,\n\tGP_5_19_FN___4 = 346,\n\tGP_5_20_FN___4 = 347,\n\tGP_6_0_FN___4 = 348,\n\tGP_6_1_FN___4 = 349,\n\tGP_6_2_FN___4 = 350,\n\tGP_6_3_FN___4 = 351,\n\tGP_6_4_FN___4 = 352,\n\tGP_6_5_FN___4 = 353,\n\tGP_6_6_FN___4 = 354,\n\tGP_6_7_FN___4 = 355,\n\tGP_6_8_FN___4 = 356,\n\tGP_6_9_FN___4 = 357,\n\tGP_6_10_FN___4 = 358,\n\tGP_6_11_FN___4 = 359,\n\tGP_6_12_FN___4 = 360,\n\tGP_6_13_FN___4 = 361,\n\tGP_6_14_FN___4 = 362,\n\tGP_6_15_FN___4 = 363,\n\tGP_6_16_FN___4 = 364,\n\tGP_6_17_FN___4 = 365,\n\tGP_6_18_FN___4 = 366,\n\tGP_6_19_FN___4 = 367,\n\tGP_6_20_FN___4 = 368,\n\tGP_7_0_FN___4 = 369,\n\tGP_7_1_FN___4 = 370,\n\tGP_7_2_FN___4 = 371,\n\tGP_7_3_FN___4 = 372,\n\tGP_7_4_FN = 373,\n\tGP_7_5_FN = 374,\n\tGP_7_6_FN = 375,\n\tGP_7_7_FN = 376,\n\tGP_7_8_FN = 377,\n\tGP_7_9_FN = 378,\n\tGP_7_10_FN = 379,\n\tGP_7_11_FN = 380,\n\tGP_7_12_FN = 381,\n\tGP_7_13_FN = 382,\n\tGP_7_14_FN = 383,\n\tGP_7_15_FN = 384,\n\tGP_7_16_FN = 385,\n\tGP_7_17_FN = 386,\n\tGP_7_18_FN = 387,\n\tGP_7_19_FN = 388,\n\tGP_7_20_FN = 389,\n\tGP_8_0_FN = 390,\n\tGP_8_1_FN = 391,\n\tGP_8_2_FN = 392,\n\tGP_8_3_FN = 393,\n\tGP_8_4_FN = 394,\n\tGP_8_5_FN = 395,\n\tGP_8_6_FN = 396,\n\tGP_8_7_FN = 397,\n\tGP_8_8_FN = 398,\n\tGP_8_9_FN = 399,\n\tGP_8_10_FN = 400,\n\tGP_8_11_FN = 401,\n\tGP_8_12_FN = 402,\n\tGP_8_13_FN = 403,\n\tFN_IP0SR0_3_0 = 404,\n\tFN_ERROROUTC_N_B = 405,\n\tFN_TCLK2_B___5 = 406,\n\tFN_IP1SR0_3_0 = 407,\n\tFN_MSIOF5_SS1 = 408,\n\tFN_IP2SR0_3_0 = 409,\n\tFN_MSIOF2_TXD___2 = 410,\n\tFN_HCTS1_N_A___4 = 411,\n\tFN_CTS1_N_A = 412,\n\tFN_IP0SR0_7_4 = 413,\n\tFN_MSIOF3_SS1___2 = 414,\n\tFN_IP1SR0_7_4 = 415,\n\tFN_MSIOF5_SYNC = 416,\n\tFN_IP2SR0_7_4 = 417,\n\tFN_MSIOF2_SCK___2 = 418,\n\tFN_HRTS1_N_A___4 = 419,\n\tFN_RTS1_N_A = 420,\n\tFN_IP0SR0_11_8 = 421,\n\tFN_MSIOF3_SS2___2 = 422,\n\tFN_IP1SR0_11_8 = 423,\n\tFN_MSIOF5_TXD = 424,\n\tFN_IP2SR0_11_8 = 425,\n\tFN_MSIOF2_RXD___2 = 426,\n\tFN_HSCK1_A___4 = 427,\n\tFN_SCK1_A = 428,\n\tFN_IP0SR0_15_12 = 429,\n\tFN_IRQ3_A = 430,\n\tFN_MSIOF3_SCK___2 = 431,\n\tFN_IP1SR0_15_12 = 432,\n\tFN_MSIOF5_SCK = 433,\n\tFN_IP0SR0_19_16 = 434,\n\tFN_IRQ2_A = 435,\n\tFN_MSIOF3_TXD___2 = 436,\n\tFN_IP1SR0_19_16 = 437,\n\tFN_MSIOF5_RXD = 438,\n\tFN_IP0SR0_23_20 = 439,\n\tFN_IRQ1_A = 440,\n\tFN_MSIOF3_RXD___2 = 441,\n\tFN_IP1SR0_23_20 = 442,\n\tFN_MSIOF2_SS2___2 = 443,\n\tFN_TCLK1_A___5 = 444,\n\tFN_IRQ2_B = 445,\n\tFN_IP0SR0_27_24 = 446,\n\tFN_IRQ0_A = 447,\n\tFN_MSIOF3_SYNC___2 = 448,\n\tFN_IP1SR0_27_24 = 449,\n\tFN_MSIOF2_SS1___2 = 450,\n\tFN_HTX1_A___4 = 451,\n\tFN_TX1_A___5 = 452,\n\tFN_IP0SR0_31_28 = 453,\n\tFN_MSIOF5_SS2 = 454,\n\tFN_IP1SR0_31_28 = 455,\n\tFN_MSIOF2_SYNC___2 = 456,\n\tFN_HRX1_A___4 = 457,\n\tFN_RX1_A___5 = 458,\n\tFN_IP0SR1_3_0 = 459,\n\tFN_MSIOF1_SS2___2 = 460,\n\tFN_HTX3_B___4 = 461,\n\tFN_TX3_B___4 = 462,\n\tFN_IP1SR1_3_0 = 463,\n\tFN_MSIOF0_SYNC___5 = 464,\n\tFN_HCTS1_N_B___4 = 465,\n\tFN_CTS1_N_B = 466,\n\tFN_CANFD5_TX_B = 467,\n\tFN_IP2SR1_3_0 = 468,\n\tFN_HRX0___4 = 469,\n\tFN_RX0___5 = 470,\n\tFN_IP3SR1_3_0 = 471,\n\tFN_HRX3_A___4 = 472,\n\tFN_SCK3_A = 473,\n\tFN_MSIOF4_SS2 = 474,\n\tFN_IP0SR1_7_4 = 475,\n\tFN_MSIOF1_SS1___2 = 476,\n\tFN_HCTS3_N_B = 477,\n\tFN_RX3_B___4 = 478,\n\tFN_IP1SR1_7_4 = 479,\n\tFN_MSIOF0_TXD___5 = 480,\n\tFN_HRTS1_N_B___4 = 481,\n\tFN_RTS1_N_B = 482,\n\tFN_CANFD5_RX_B = 483,\n\tFN_IP2SR1_7_4 = 484,\n\tFN_SCIF_CLK = 485,\n\tFN_IRQ4_A = 486,\n\tFN_IP3SR1_7_4 = 487,\n\tFN_HSCK3_A = 488,\n\tFN_CTS3_N_A = 489,\n\tFN_MSIOF4_SCK = 490,\n\tFN_TPU0TO0_B = 491,\n\tFN_IP0SR1_11_8 = 492,\n\tFN_MSIOF1_SYNC___2 = 493,\n\tFN_HRTS3_N_B = 494,\n\tFN_RTS3_N_B = 495,\n\tFN_IP1SR1_11_8 = 496,\n\tFN_MSIOF0_SCK___5 = 497,\n\tFN_HSCK1_B___4 = 498,\n\tFN_SCK1_B = 499,\n\tFN_IP2SR1_11_8 = 500,\n\tFN_SSI_SCK = 501,\n\tFN_TCLK3_B = 502,\n\tFN_IP3SR1_11_8 = 503,\n\tFN_HRTS3_N_A = 504,\n\tFN_RTS3_N_A = 505,\n\tFN_MSIOF4_TXD = 506,\n\tFN_TPU0TO1_B = 507,\n\tFN_IP0SR1_15_12 = 508,\n\tFN_MSIOF1_SCK___2 = 509,\n\tFN_HSCK3_B = 510,\n\tFN_CTS3_N_B = 511,\n\tFN_IP1SR1_15_12 = 512,\n\tFN_MSIOF0_RXD___5 = 513,\n\tFN_IP2SR1_15_12 = 514,\n\tFN_SSI_WS = 515,\n\tFN_TCLK4_B = 516,\n\tFN_IP3SR1_15_12 = 517,\n\tFN_HCTS3_N_A = 518,\n\tFN_RX3_A___4 = 519,\n\tFN_MSIOF4_RXD = 520,\n\tFN_IP0SR1_19_16 = 521,\n\tFN_MSIOF1_TXD___2 = 522,\n\tFN_HRX3_B___4 = 523,\n\tFN_SCK3_B = 524,\n\tFN_IP1SR1_19_16 = 525,\n\tFN_HTX0___4 = 526,\n\tFN_TX0___5 = 527,\n\tFN_IP2SR1_19_16 = 528,\n\tFN_SSI_SD = 529,\n\tFN_IRQ0_B = 530,\n\tFN_IP3SR1_19_16 = 531,\n\tFN_HTX3_A___4 = 532,\n\tFN_TX3_A___4 = 533,\n\tFN_MSIOF4_SYNC = 534,\n\tFN_IP0SR1_23_20 = 535,\n\tFN_MSIOF1_RXD___2 = 536,\n\tFN_IP1SR1_23_20 = 537,\n\tFN_HCTS0_N___4 = 538,\n\tFN_CTS0_N___5 = 539,\n\tFN_PWM8 = 540,\n\tFN_IP2SR1_23_20 = 541,\n\tFN_AUDIO_CLKOUT = 542,\n\tFN_IRQ1_B = 543,\n\tFN_IP0SR1_27_24 = 544,\n\tFN_MSIOF0_SS2___5 = 545,\n\tFN_HTX1_B___4 = 546,\n\tFN_TX1_B___5 = 547,\n\tFN_IP1SR1_27_24 = 548,\n\tFN_HRTS0_N___4 = 549,\n\tFN_RTS0_N___5 = 550,\n\tFN_PWM9 = 551,\n\tFN_IP2SR1_27_24 = 552,\n\tFN_AUDIO_CLKIN = 553,\n\tFN_PWM3_A___5 = 554,\n\tFN_IP0SR1_31_28 = 555,\n\tFN_MSIOF0_SS1___5 = 556,\n\tFN_HRX1_B___4 = 557,\n\tFN_RX1_B___5 = 558,\n\tFN_IP1SR1_31_28 = 559,\n\tFN_HSCK0___4 = 560,\n\tFN_SCK0___5 = 561,\n\tFN_PWM0___4 = 562,\n\tFN_IP2SR1_31_28 = 563,\n\tFN_TCLK2_A___5 = 564,\n\tFN_MSIOF4_SS1 = 565,\n\tFN_IRQ3_B = 566,\n\tFN_IP0SR2_3_0 = 567,\n\tFN_FXR_TXDA___2 = 568,\n\tFN_CANFD1_TX___5 = 569,\n\tFN_TPU0TO2_B = 570,\n\tFN_IP1SR2_3_0 = 571,\n\tFN_TPU0TO0_A = 572,\n\tFN_CANFD6_RX = 573,\n\tFN_TCLK1_B___5 = 574,\n\tFN_IP2SR2_3_0 = 575,\n\tFN_CANFD4_TX = 576,\n\tFN_PWM4 = 577,\n\tFN_IP0SR2_7_4 = 578,\n\tFN_FXR_TXENA_N_A = 579,\n\tFN_CANFD1_RX___5 = 580,\n\tFN_TPU0TO3_B = 581,\n\tFN_IP1SR2_7_4 = 582,\n\tFN_CAN_CLK___4 = 583,\n\tFN_FXR_TXENA_N_B = 584,\n\tFN_IP2SR2_7_4 = 585,\n\tFN_CANFD4_RX = 586,\n\tFN_PWM5 = 587,\n\tFN_IP0SR2_11_8 = 588,\n\tFN_RXDA_EXTFXR___2 = 589,\n\tFN_CANFD5_TX_A = 590,\n\tFN_IRQ5___5 = 591,\n\tFN_IP1SR2_11_8 = 592,\n\tFN_CANFD0_TX = 593,\n\tFN_FXR_TXENB_N_B = 594,\n\tFN_IP2SR2_11_8 = 595,\n\tFN_CANFD7_TX = 596,\n\tFN_PWM6 = 597,\n\tFN_IP0SR2_15_12 = 598,\n\tFN_CLK_EXTFXR___2 = 599,\n\tFN_CANFD5_RX_A = 600,\n\tFN_IRQ4_B = 601,\n\tFN_IP1SR2_15_12 = 602,\n\tFN_CANFD0_RX = 603,\n\tFN_STPWT_EXTFXR = 604,\n\tFN_IP2SR2_15_12 = 605,\n\tFN_CANFD7_RX = 606,\n\tFN_PWM7 = 607,\n\tFN_IP0SR2_19_16 = 608,\n\tFN_RXDB_EXTFXR___2 = 609,\n\tFN_IP1SR2_19_16 = 610,\n\tFN_CANFD2_TX = 611,\n\tFN_TPU0TO2_A = 612,\n\tFN_TCLK3_C = 613,\n\tFN_IP0SR2_23_20 = 614,\n\tFN_FXR_TXENB_N_A = 615,\n\tFN_IP1SR2_23_20 = 616,\n\tFN_CANFD2_RX = 617,\n\tFN_TPU0TO3_A = 618,\n\tFN_PWM1_B___5 = 619,\n\tFN_TCLK4_C = 620,\n\tFN_IP0SR2_27_24 = 621,\n\tFN_FXR_TXDB___2 = 622,\n\tFN_IP1SR2_27_24 = 623,\n\tFN_CANFD3_TX = 624,\n\tFN_PWM2 = 625,\n\tFN_IP0SR2_31_28 = 626,\n\tFN_TPU0TO1_A = 627,\n\tFN_CANFD6_TX = 628,\n\tFN_TCLK2_C = 629,\n\tFN_IP1SR2_31_28 = 630,\n\tFN_CANFD3_RX = 631,\n\tFN_PWM3_B___5 = 632,\n\tFN_IP0SR3_3_0 = 633,\n\tFN_MMC_SD_D1 = 634,\n\tFN_IP1SR3_3_0 = 635,\n\tFN_MMC_D7___2 = 636,\n\tFN_IP2SR3_3_0 = 637,\n\tFN_QSPI0_IO3___2 = 638,\n\tFN_IP3SR3_3_0 = 639,\n\tFN_QSPI1_IO2___2 = 640,\n\tFN_IP0SR3_7_4 = 641,\n\tFN_MMC_SD_D0 = 642,\n\tFN_IP1SR3_7_4 = 643,\n\tFN_MMC_D6___2 = 644,\n\tFN_IP2SR3_7_4 = 645,\n\tFN_QSPI0_IO2___2 = 646,\n\tFN_IP3SR3_7_4 = 647,\n\tFN_QSPI1_SSL___2 = 648,\n\tFN_IP0SR3_11_8 = 649,\n\tFN_MMC_SD_D2 = 650,\n\tFN_IP1SR3_11_8 = 651,\n\tFN_MMC_SD_CMD = 652,\n\tFN_IP2SR3_11_8 = 653,\n\tFN_QSPI0_MISO_IO1___2 = 654,\n\tFN_IP3SR3_11_8 = 655,\n\tFN_QSPI1_IO3___2 = 656,\n\tFN_IP0SR3_15_12 = 657,\n\tFN_MMC_SD_CLK = 658,\n\tFN_IP1SR3_15_12 = 659,\n\tFN_SD_CD = 660,\n\tFN_IP2SR3_15_12 = 661,\n\tFN_QSPI0_MOSI_IO0___2 = 662,\n\tFN_IP3SR3_15_12 = 663,\n\tFN_RPC_RESET_N___2 = 664,\n\tFN_IP0SR3_19_16 = 665,\n\tFN_MMC_DS___2 = 666,\n\tFN_IP1SR3_19_16 = 667,\n\tFN_SD_WP = 668,\n\tFN_IP2SR3_19_16 = 669,\n\tFN_QSPI0_SPCLK___2 = 670,\n\tFN_IP3SR3_19_16 = 671,\n\tFN_RPC_WP_N___2 = 672,\n\tFN_IP0SR3_23_20 = 673,\n\tFN_MMC_SD_D3 = 674,\n\tFN_IP1SR3_23_20 = 675,\n\tFN_IPC_CLKIN = 676,\n\tFN_IPC_CLKEN_IN = 677,\n\tFN_PWM1_A___5 = 678,\n\tFN_TCLK3_A = 679,\n\tFN_IP2SR3_23_20 = 680,\n\tFN_QSPI1_MOSI_IO0___2 = 681,\n\tFN_IP3SR3_23_20 = 682,\n\tFN_RPC_INT_N___2 = 683,\n\tFN_IP0SR3_27_24 = 684,\n\tFN_MMC_D5___2 = 685,\n\tFN_IP1SR3_27_24 = 686,\n\tFN_IPC_CLKOUT = 687,\n\tFN_IPC_CLKEN_OUT = 688,\n\tFN_ERROROUTC_N_A = 689,\n\tFN_TCLK4_A = 690,\n\tFN_IP2SR3_27_24 = 691,\n\tFN_QSPI1_SPCLK___2 = 692,\n\tFN_IP0SR3_31_28 = 693,\n\tFN_MMC_D4___2 = 694,\n\tFN_IP1SR3_31_28 = 695,\n\tFN_QSPI0_SSL___2 = 696,\n\tFN_IP2SR3_31_28 = 697,\n\tFN_QSPI1_MISO_IO1___2 = 698,\n\tFN_IP0SR4_3_0 = 699,\n\tFN_TSN0_MDIO = 700,\n\tFN_IP1SR4_3_0 = 701,\n\tFN_TSN0_AVTP_PPS0 = 702,\n\tFN_IP2SR4_3_0 = 703,\n\tFN_TSN0_RD3 = 704,\n\tFN_IP3SR4_3_0 = 705,\n\tFN_AVS1___4 = 706,\n\tFN_IP0SR4_7_4 = 707,\n\tFN_TSN0_MDC = 708,\n\tFN_IP1SR4_7_4 = 709,\n\tFN_TSN0_TX_CTL = 710,\n\tFN_IP2SR4_7_4 = 711,\n\tFN_TSN0_RD2 = 712,\n\tFN_IP0SR4_11_8 = 713,\n\tFN_TSN0_AVTP_PPS1 = 714,\n\tFN_IP1SR4_11_8 = 715,\n\tFN_TSN0_RD0 = 716,\n\tFN_IP2SR4_11_8 = 717,\n\tFN_TSN0_TD3 = 718,\n\tFN_IP0SR4_15_12 = 719,\n\tFN_TSN0_PHY_INT = 720,\n\tFN_IP1SR4_15_12 = 721,\n\tFN_TSN0_RXC = 722,\n\tFN_IP2SR4_15_12 = 723,\n\tFN_TSN0_TD2 = 724,\n\tFN_IP0SR4_19_16 = 725,\n\tFN_TSN0_LINK = 726,\n\tFN_IP1SR4_19_16 = 727,\n\tFN_TSN0_TXC = 728,\n\tFN_IP2SR4_19_16 = 729,\n\tFN_TSN0_TXCREFCLK = 730,\n\tFN_IP0SR4_23_20 = 731,\n\tFN_TSN0_AVTP_MATCH = 732,\n\tFN_IP1SR4_23_20 = 733,\n\tFN_TSN0_RD1 = 734,\n\tFN_IP2SR4_23_20 = 735,\n\tFN_PCIE0_CLKREQ_N = 736,\n\tFN_IP0SR4_27_24 = 737,\n\tFN_TSN0_AVTP_CAPTURE = 738,\n\tFN_IP1SR4_27_24 = 739,\n\tFN_TSN0_TD1 = 740,\n\tFN_IP2SR4_27_24 = 741,\n\tFN_PCIE1_CLKREQ_N = 742,\n\tFN_IP0SR4_31_28 = 743,\n\tFN_TSN0_RX_CTL = 744,\n\tFN_IP1SR4_31_28 = 745,\n\tFN_TSN0_TD0 = 746,\n\tFN_IP2SR4_31_28 = 747,\n\tFN_AVS0 = 748,\n\tFN_IP0SR5_3_0 = 749,\n\tFN_AVB2_AVTP_PPS = 750,\n\tFN_IP1SR5_3_0 = 751,\n\tFN_AVB2_TD3 = 752,\n\tFN_IP2SR5_3_0 = 753,\n\tFN_AVB2_TXC = 754,\n\tFN_IP0SR5_7_4 = 755,\n\tFN_AVB2_AVTP_CAPTURE = 756,\n\tFN_IP1SR5_7_4 = 757,\n\tFN_AVB2_RD3 = 758,\n\tFN_IP2SR5_7_4 = 759,\n\tFN_AVB2_RD0 = 760,\n\tFN_IP0SR5_11_8 = 761,\n\tFN_AVB2_AVTP_MATCH = 762,\n\tFN_IP1SR5_11_8 = 763,\n\tFN_AVB2_MDIO = 764,\n\tFN_IP2SR5_11_8 = 765,\n\tFN_AVB2_RXC = 766,\n\tFN_IP0SR5_15_12 = 767,\n\tFN_AVB2_LINK = 768,\n\tFN_IP1SR5_15_12 = 769,\n\tFN_AVB2_TD2 = 770,\n\tFN_IP2SR5_15_12 = 771,\n\tFN_AVB2_TX_CTL = 772,\n\tFN_IP0SR5_19_16 = 773,\n\tFN_AVB2_PHY_INT = 774,\n\tFN_IP1SR5_19_16 = 775,\n\tFN_AVB2_TD1 = 776,\n\tFN_IP2SR5_19_16 = 777,\n\tFN_AVB2_RX_CTL = 778,\n\tFN_IP0SR5_23_20 = 779,\n\tFN_AVB2_MAGIC = 780,\n\tFN_IP1SR5_23_20 = 781,\n\tFN_AVB2_RD2 = 782,\n\tFN_IP0SR5_27_24 = 783,\n\tFN_AVB2_MDC = 784,\n\tFN_IP1SR5_27_24 = 785,\n\tFN_AVB2_RD1 = 786,\n\tFN_IP0SR5_31_28 = 787,\n\tFN_AVB2_TXCREFCLK = 788,\n\tFN_IP1SR5_31_28 = 789,\n\tFN_AVB2_TD0 = 790,\n\tFN_IP0SR6_3_0 = 791,\n\tFN_AVB1_MDIO = 792,\n\tFN_IP1SR6_3_0 = 793,\n\tFN_AVB1_RXC = 794,\n\tFN_AVB1_MII_RXC = 795,\n\tFN_IP2SR6_3_0 = 796,\n\tFN_AVB1_TD2 = 797,\n\tFN_AVB1_MII_TD2 = 798,\n\tFN_IP0SR6_7_4 = 799,\n\tFN_AVB1_MAGIC = 800,\n\tFN_IP1SR6_7_4 = 801,\n\tFN_AVB1_RX_CTL = 802,\n\tFN_AVB1_MII_RX_DV = 803,\n\tFN_IP2SR6_7_4 = 804,\n\tFN_AVB1_RD2 = 805,\n\tFN_AVB1_MII_RD2 = 806,\n\tFN_IP0SR6_11_8 = 807,\n\tFN_AVB1_MDC = 808,\n\tFN_IP1SR6_11_8 = 809,\n\tFN_AVB1_AVTP_PPS = 810,\n\tFN_AVB1_MII_COL = 811,\n\tFN_IP2SR6_11_8 = 812,\n\tFN_AVB1_TD3 = 813,\n\tFN_AVB1_MII_TD3 = 814,\n\tFN_IP0SR6_15_12 = 815,\n\tFN_AVB1_PHY_INT = 816,\n\tFN_IP1SR6_15_12 = 817,\n\tFN_AVB1_AVTP_CAPTURE = 818,\n\tFN_AVB1_MII_CRS = 819,\n\tFN_IP2SR6_15_12 = 820,\n\tFN_AVB1_RD3 = 821,\n\tFN_AVB1_MII_RD3 = 822,\n\tFN_IP0SR6_19_16 = 823,\n\tFN_AVB1_LINK = 824,\n\tFN_AVB1_MII_TX_ER = 825,\n\tFN_IP1SR6_19_16 = 826,\n\tFN_AVB1_TD1 = 827,\n\tFN_AVB1_MII_TD1 = 828,\n\tFN_IP2SR6_19_16 = 829,\n\tFN_AVB1_TXCREFCLK = 830,\n\tFN_IP0SR6_23_20 = 831,\n\tFN_AVB1_AVTP_MATCH = 832,\n\tFN_AVB1_MII_RX_ER = 833,\n\tFN_IP1SR6_23_20 = 834,\n\tFN_AVB1_TD0 = 835,\n\tFN_AVB1_MII_TD0 = 836,\n\tFN_IP0SR6_27_24 = 837,\n\tFN_AVB1_TXC = 838,\n\tFN_AVB1_MII_TXC = 839,\n\tFN_IP1SR6_27_24 = 840,\n\tFN_AVB1_RD1 = 841,\n\tFN_AVB1_MII_RD1 = 842,\n\tFN_IP0SR6_31_28 = 843,\n\tFN_AVB1_TX_CTL = 844,\n\tFN_AVB1_MII_TX_EN = 845,\n\tFN_IP1SR6_31_28 = 846,\n\tFN_AVB1_RD0 = 847,\n\tFN_AVB1_MII_RD0 = 848,\n\tFN_IP0SR7_3_0 = 849,\n\tFN_AVB0_AVTP_PPS = 850,\n\tFN_AVB0_MII_COL = 851,\n\tFN_IP1SR7_3_0 = 852,\n\tFN_AVB0_RD3 = 853,\n\tFN_AVB0_MII_RD3 = 854,\n\tFN_IP2SR7_3_0 = 855,\n\tFN_AVB0_TX_CTL = 856,\n\tFN_AVB0_MII_TX_EN = 857,\n\tFN_IP0SR7_7_4 = 858,\n\tFN_AVB0_AVTP_CAPTURE = 859,\n\tFN_AVB0_MII_CRS = 860,\n\tFN_IP1SR7_7_4 = 861,\n\tFN_AVB0_TXCREFCLK = 862,\n\tFN_IP2SR7_7_4 = 863,\n\tFN_AVB0_RD1 = 864,\n\tFN_AVB0_MII_RD1 = 865,\n\tFN_IP0SR7_11_8 = 866,\n\tFN_AVB0_AVTP_MATCH = 867,\n\tFN_AVB0_MII_RX_ER = 868,\n\tFN_CC5_OSCOUT = 869,\n\tFN_IP1SR7_11_8 = 870,\n\tFN_AVB0_MAGIC = 871,\n\tFN_IP2SR7_11_8 = 872,\n\tFN_AVB0_RD0 = 873,\n\tFN_AVB0_MII_RD0 = 874,\n\tFN_IP0SR7_15_12 = 875,\n\tFN_AVB0_TD3 = 876,\n\tFN_AVB0_MII_TD3 = 877,\n\tFN_IP1SR7_15_12 = 878,\n\tFN_AVB0_TD0 = 879,\n\tFN_AVB0_MII_TD0 = 880,\n\tFN_IP2SR7_15_12 = 881,\n\tFN_AVB0_RXC = 882,\n\tFN_AVB0_MII_RXC = 883,\n\tFN_IP0SR7_19_16 = 884,\n\tFN_AVB0_LINK = 885,\n\tFN_AVB0_MII_TX_ER = 886,\n\tFN_IP1SR7_19_16 = 887,\n\tFN_AVB0_RD2 = 888,\n\tFN_AVB0_MII_RD2 = 889,\n\tFN_IP2SR7_19_16 = 890,\n\tFN_AVB0_RX_CTL = 891,\n\tFN_AVB0_MII_RX_DV = 892,\n\tFN_IP0SR7_23_20 = 893,\n\tFN_AVB0_PHY_INT = 894,\n\tFN_IP1SR7_23_20 = 895,\n\tFN_AVB0_MDC = 896,\n\tFN_IP0SR7_27_24 = 897,\n\tFN_AVB0_TD2 = 898,\n\tFN_AVB0_MII_TD2 = 899,\n\tFN_IP1SR7_27_24 = 900,\n\tFN_AVB0_MDIO = 901,\n\tFN_IP0SR7_31_28 = 902,\n\tFN_AVB0_TD1 = 903,\n\tFN_AVB0_MII_TD1 = 904,\n\tFN_IP1SR7_31_28 = 905,\n\tFN_AVB0_TXC = 906,\n\tFN_AVB0_MII_TXC = 907,\n\tFN_IP0SR8_3_0 = 908,\n\tFN_SCL0___2 = 909,\n\tFN_IP1SR8_3_0 = 910,\n\tFN_SCL4___2 = 911,\n\tFN_HRX2___2 = 912,\n\tFN_SCK4___2 = 913,\n\tFN_IP0SR8_7_4 = 914,\n\tFN_SDA0___2 = 915,\n\tFN_IP1SR8_7_4 = 916,\n\tFN_SDA4___2 = 917,\n\tFN_HTX2___2 = 918,\n\tFN_CTS4_N___2 = 919,\n\tFN_IP0SR8_11_8 = 920,\n\tFN_SCL1___2 = 921,\n\tFN_IP1SR8_11_8 = 922,\n\tFN_SCL5___2 = 923,\n\tFN_HRTS2_N___2 = 924,\n\tFN_RTS4_N___2 = 925,\n\tFN_IP0SR8_15_12 = 926,\n\tFN_SDA1___2 = 927,\n\tFN_IP1SR8_15_12 = 928,\n\tFN_SDA5___2 = 929,\n\tFN_SCIF_CLK2 = 930,\n\tFN_IP0SR8_19_16 = 931,\n\tFN_SCL2___2 = 932,\n\tFN_IP1SR8_19_16 = 933,\n\tFN_HCTS2_N___2 = 934,\n\tFN_TX4___2 = 935,\n\tFN_IP0SR8_23_20 = 936,\n\tFN_SDA2___2 = 937,\n\tFN_IP1SR8_23_20 = 938,\n\tFN_HSCK2___2 = 939,\n\tFN_RX4___2 = 940,\n\tFN_IP0SR8_27_24 = 941,\n\tFN_SCL3___2 = 942,\n\tFN_IP0SR8_31_28 = 943,\n\tFN_SDA3___2 = 944,\n\tFN_SEL_SDA5_0 = 945,\n\tFN_SEL_SDA5_1 = 946,\n\tFN_SEL_SCL5_0 = 947,\n\tFN_SEL_SCL5_1 = 948,\n\tFN_SEL_SDA4_0 = 949,\n\tFN_SEL_SDA4_1 = 950,\n\tFN_SEL_SCL4_0 = 951,\n\tFN_SEL_SCL4_1 = 952,\n\tFN_SEL_SDA3_0 = 953,\n\tFN_SEL_SDA3_1 = 954,\n\tFN_SEL_SCL3_0 = 955,\n\tFN_SEL_SCL3_1 = 956,\n\tFN_SEL_SDA2_0 = 957,\n\tFN_SEL_SDA2_1 = 958,\n\tFN_SEL_SCL2_0 = 959,\n\tFN_SEL_SCL2_1 = 960,\n\tFN_SEL_SDA1_0 = 961,\n\tFN_SEL_SDA1_1 = 962,\n\tFN_SEL_SCL1_0 = 963,\n\tFN_SEL_SCL1_1 = 964,\n\tFN_SEL_SDA0_0 = 965,\n\tFN_SEL_SDA0_1 = 966,\n\tFN_SEL_SCL0_0 = 967,\n\tFN_SEL_SCL0_1 = 968,\n\tPINMUX_FUNCTION_END___5 = 969,\n\tPINMUX_MARK_BEGIN___5 = 970,\n\tIP0SR0_3_0_MARK = 971,\n\tERROROUTC_N_B_MARK = 972,\n\tTCLK2_B_MARK___5 = 973,\n\tIP1SR0_3_0_MARK = 974,\n\tMSIOF5_SS1_MARK = 975,\n\tIP2SR0_3_0_MARK = 976,\n\tMSIOF2_TXD_MARK___2 = 977,\n\tHCTS1_N_A_MARK___4 = 978,\n\tCTS1_N_A_MARK = 979,\n\tIP0SR0_7_4_MARK = 980,\n\tMSIOF3_SS1_MARK___2 = 981,\n\tIP1SR0_7_4_MARK = 982,\n\tMSIOF5_SYNC_MARK = 983,\n\tIP2SR0_7_4_MARK = 984,\n\tMSIOF2_SCK_MARK___2 = 985,\n\tHRTS1_N_A_MARK___4 = 986,\n\tRTS1_N_A_MARK = 987,\n\tIP0SR0_11_8_MARK = 988,\n\tMSIOF3_SS2_MARK___2 = 989,\n\tIP1SR0_11_8_MARK = 990,\n\tMSIOF5_TXD_MARK = 991,\n\tIP2SR0_11_8_MARK = 992,\n\tMSIOF2_RXD_MARK___2 = 993,\n\tHSCK1_A_MARK___4 = 994,\n\tSCK1_A_MARK = 995,\n\tIP0SR0_15_12_MARK = 996,\n\tIRQ3_A_MARK = 997,\n\tMSIOF3_SCK_MARK___2 = 998,\n\tIP1SR0_15_12_MARK = 999,\n\tMSIOF5_SCK_MARK = 1000,\n\tIP0SR0_19_16_MARK = 1001,\n\tIRQ2_A_MARK = 1002,\n\tMSIOF3_TXD_MARK___2 = 1003,\n\tIP1SR0_19_16_MARK = 1004,\n\tMSIOF5_RXD_MARK = 1005,\n\tIP0SR0_23_20_MARK = 1006,\n\tIRQ1_A_MARK = 1007,\n\tMSIOF3_RXD_MARK___2 = 1008,\n\tIP1SR0_23_20_MARK = 1009,\n\tMSIOF2_SS2_MARK___2 = 1010,\n\tTCLK1_A_MARK___5 = 1011,\n\tIRQ2_B_MARK = 1012,\n\tIP0SR0_27_24_MARK = 1013,\n\tIRQ0_A_MARK = 1014,\n\tMSIOF3_SYNC_MARK___2 = 1015,\n\tIP1SR0_27_24_MARK = 1016,\n\tMSIOF2_SS1_MARK___2 = 1017,\n\tHTX1_A_MARK___4 = 1018,\n\tTX1_A_MARK___5 = 1019,\n\tIP0SR0_31_28_MARK = 1020,\n\tMSIOF5_SS2_MARK = 1021,\n\tIP1SR0_31_28_MARK = 1022,\n\tMSIOF2_SYNC_MARK___2 = 1023,\n\tHRX1_A_MARK___4 = 1024,\n\tRX1_A_MARK___5 = 1025,\n\tIP0SR1_3_0_MARK = 1026,\n\tMSIOF1_SS2_MARK___2 = 1027,\n\tHTX3_B_MARK___4 = 1028,\n\tTX3_B_MARK___4 = 1029,\n\tIP1SR1_3_0_MARK = 1030,\n\tMSIOF0_SYNC_MARK___5 = 1031,\n\tHCTS1_N_B_MARK___4 = 1032,\n\tCTS1_N_B_MARK = 1033,\n\tCANFD5_TX_B_MARK = 1034,\n\tIP2SR1_3_0_MARK = 1035,\n\tHRX0_MARK___4 = 1036,\n\tRX0_MARK___5 = 1037,\n\tIP3SR1_3_0_MARK = 1038,\n\tHRX3_A_MARK___4 = 1039,\n\tSCK3_A_MARK = 1040,\n\tMSIOF4_SS2_MARK = 1041,\n\tIP0SR1_7_4_MARK = 1042,\n\tMSIOF1_SS1_MARK___2 = 1043,\n\tHCTS3_N_B_MARK = 1044,\n\tRX3_B_MARK___4 = 1045,\n\tIP1SR1_7_4_MARK = 1046,\n\tMSIOF0_TXD_MARK___5 = 1047,\n\tHRTS1_N_B_MARK___4 = 1048,\n\tRTS1_N_B_MARK = 1049,\n\tCANFD5_RX_B_MARK = 1050,\n\tIP2SR1_7_4_MARK = 1051,\n\tSCIF_CLK_MARK = 1052,\n\tIRQ4_A_MARK = 1053,\n\tIP3SR1_7_4_MARK = 1054,\n\tHSCK3_A_MARK = 1055,\n\tCTS3_N_A_MARK = 1056,\n\tMSIOF4_SCK_MARK = 1057,\n\tTPU0TO0_B_MARK = 1058,\n\tIP0SR1_11_8_MARK = 1059,\n\tMSIOF1_SYNC_MARK___2 = 1060,\n\tHRTS3_N_B_MARK = 1061,\n\tRTS3_N_B_MARK = 1062,\n\tIP1SR1_11_8_MARK = 1063,\n\tMSIOF0_SCK_MARK___5 = 1064,\n\tHSCK1_B_MARK___4 = 1065,\n\tSCK1_B_MARK = 1066,\n\tIP2SR1_11_8_MARK = 1067,\n\tSSI_SCK_MARK = 1068,\n\tTCLK3_B_MARK = 1069,\n\tIP3SR1_11_8_MARK = 1070,\n\tHRTS3_N_A_MARK = 1071,\n\tRTS3_N_A_MARK = 1072,\n\tMSIOF4_TXD_MARK = 1073,\n\tTPU0TO1_B_MARK = 1074,\n\tIP0SR1_15_12_MARK = 1075,\n\tMSIOF1_SCK_MARK___2 = 1076,\n\tHSCK3_B_MARK = 1077,\n\tCTS3_N_B_MARK = 1078,\n\tIP1SR1_15_12_MARK = 1079,\n\tMSIOF0_RXD_MARK___5 = 1080,\n\tIP2SR1_15_12_MARK = 1081,\n\tSSI_WS_MARK = 1082,\n\tTCLK4_B_MARK = 1083,\n\tIP3SR1_15_12_MARK = 1084,\n\tHCTS3_N_A_MARK = 1085,\n\tRX3_A_MARK___4 = 1086,\n\tMSIOF4_RXD_MARK = 1087,\n\tIP0SR1_19_16_MARK = 1088,\n\tMSIOF1_TXD_MARK___2 = 1089,\n\tHRX3_B_MARK___4 = 1090,\n\tSCK3_B_MARK = 1091,\n\tIP1SR1_19_16_MARK = 1092,\n\tHTX0_MARK___4 = 1093,\n\tTX0_MARK___5 = 1094,\n\tIP2SR1_19_16_MARK = 1095,\n\tSSI_SD_MARK = 1096,\n\tIRQ0_B_MARK = 1097,\n\tIP3SR1_19_16_MARK = 1098,\n\tHTX3_A_MARK___4 = 1099,\n\tTX3_A_MARK___4 = 1100,\n\tMSIOF4_SYNC_MARK = 1101,\n\tIP0SR1_23_20_MARK = 1102,\n\tMSIOF1_RXD_MARK___2 = 1103,\n\tIP1SR1_23_20_MARK = 1104,\n\tHCTS0_N_MARK___4 = 1105,\n\tCTS0_N_MARK___5 = 1106,\n\tPWM8_MARK = 1107,\n\tIP2SR1_23_20_MARK = 1108,\n\tAUDIO_CLKOUT_MARK = 1109,\n\tIRQ1_B_MARK = 1110,\n\tIP0SR1_27_24_MARK = 1111,\n\tMSIOF0_SS2_MARK___5 = 1112,\n\tHTX1_B_MARK___4 = 1113,\n\tTX1_B_MARK___5 = 1114,\n\tIP1SR1_27_24_MARK = 1115,\n\tHRTS0_N_MARK___4 = 1116,\n\tRTS0_N_MARK___5 = 1117,\n\tPWM9_MARK = 1118,\n\tIP2SR1_27_24_MARK = 1119,\n\tAUDIO_CLKIN_MARK = 1120,\n\tPWM3_A_MARK___5 = 1121,\n\tIP0SR1_31_28_MARK = 1122,\n\tMSIOF0_SS1_MARK___5 = 1123,\n\tHRX1_B_MARK___4 = 1124,\n\tRX1_B_MARK___5 = 1125,\n\tIP1SR1_31_28_MARK = 1126,\n\tHSCK0_MARK___4 = 1127,\n\tSCK0_MARK___5 = 1128,\n\tPWM0_MARK___4 = 1129,\n\tIP2SR1_31_28_MARK = 1130,\n\tTCLK2_A_MARK___5 = 1131,\n\tMSIOF4_SS1_MARK = 1132,\n\tIRQ3_B_MARK = 1133,\n\tIP0SR2_3_0_MARK = 1134,\n\tFXR_TXDA_MARK___2 = 1135,\n\tCANFD1_TX_MARK___5 = 1136,\n\tTPU0TO2_B_MARK = 1137,\n\tIP1SR2_3_0_MARK = 1138,\n\tTPU0TO0_A_MARK = 1139,\n\tCANFD6_RX_MARK = 1140,\n\tTCLK1_B_MARK___5 = 1141,\n\tIP2SR2_3_0_MARK = 1142,\n\tCANFD4_TX_MARK = 1143,\n\tPWM4_MARK = 1144,\n\tIP0SR2_7_4_MARK = 1145,\n\tFXR_TXENA_N_A_MARK = 1146,\n\tCANFD1_RX_MARK___5 = 1147,\n\tTPU0TO3_B_MARK = 1148,\n\tIP1SR2_7_4_MARK = 1149,\n\tCAN_CLK_MARK___4 = 1150,\n\tFXR_TXENA_N_B_MARK = 1151,\n\tIP2SR2_7_4_MARK = 1152,\n\tCANFD4_RX_MARK = 1153,\n\tPWM5_MARK = 1154,\n\tIP0SR2_11_8_MARK = 1155,\n\tRXDA_EXTFXR_MARK___2 = 1156,\n\tCANFD5_TX_A_MARK = 1157,\n\tIRQ5_MARK___5 = 1158,\n\tIP1SR2_11_8_MARK = 1159,\n\tCANFD0_TX_MARK = 1160,\n\tFXR_TXENB_N_B_MARK = 1161,\n\tIP2SR2_11_8_MARK = 1162,\n\tCANFD7_TX_MARK = 1163,\n\tPWM6_MARK = 1164,\n\tIP0SR2_15_12_MARK = 1165,\n\tCLK_EXTFXR_MARK___2 = 1166,\n\tCANFD5_RX_A_MARK = 1167,\n\tIRQ4_B_MARK = 1168,\n\tIP1SR2_15_12_MARK = 1169,\n\tCANFD0_RX_MARK = 1170,\n\tSTPWT_EXTFXR_MARK = 1171,\n\tIP2SR2_15_12_MARK = 1172,\n\tCANFD7_RX_MARK = 1173,\n\tPWM7_MARK = 1174,\n\tIP0SR2_19_16_MARK = 1175,\n\tRXDB_EXTFXR_MARK___2 = 1176,\n\tIP1SR2_19_16_MARK = 1177,\n\tCANFD2_TX_MARK = 1178,\n\tTPU0TO2_A_MARK = 1179,\n\tTCLK3_C_MARK = 1180,\n\tIP0SR2_23_20_MARK = 1181,\n\tFXR_TXENB_N_A_MARK = 1182,\n\tIP1SR2_23_20_MARK = 1183,\n\tCANFD2_RX_MARK = 1184,\n\tTPU0TO3_A_MARK = 1185,\n\tPWM1_B_MARK___5 = 1186,\n\tTCLK4_C_MARK = 1187,\n\tIP0SR2_27_24_MARK = 1188,\n\tFXR_TXDB_MARK___2 = 1189,\n\tIP1SR2_27_24_MARK = 1190,\n\tCANFD3_TX_MARK = 1191,\n\tPWM2_MARK = 1192,\n\tIP0SR2_31_28_MARK = 1193,\n\tTPU0TO1_A_MARK = 1194,\n\tCANFD6_TX_MARK = 1195,\n\tTCLK2_C_MARK = 1196,\n\tIP1SR2_31_28_MARK = 1197,\n\tCANFD3_RX_MARK = 1198,\n\tPWM3_B_MARK___5 = 1199,\n\tIP0SR3_3_0_MARK = 1200,\n\tMMC_SD_D1_MARK = 1201,\n\tIP1SR3_3_0_MARK = 1202,\n\tMMC_D7_MARK___2 = 1203,\n\tIP2SR3_3_0_MARK = 1204,\n\tQSPI0_IO3_MARK___5 = 1205,\n\tIP3SR3_3_0_MARK = 1206,\n\tQSPI1_IO2_MARK___5 = 1207,\n\tIP0SR3_7_4_MARK = 1208,\n\tMMC_SD_D0_MARK = 1209,\n\tIP1SR3_7_4_MARK = 1210,\n\tMMC_D6_MARK___2 = 1211,\n\tIP2SR3_7_4_MARK = 1212,\n\tQSPI0_IO2_MARK___5 = 1213,\n\tIP3SR3_7_4_MARK = 1214,\n\tQSPI1_SSL_MARK___5 = 1215,\n\tIP0SR3_11_8_MARK = 1216,\n\tMMC_SD_D2_MARK = 1217,\n\tIP1SR3_11_8_MARK = 1218,\n\tMMC_SD_CMD_MARK = 1219,\n\tIP2SR3_11_8_MARK = 1220,\n\tQSPI0_MISO_IO1_MARK___5 = 1221,\n\tIP3SR3_11_8_MARK = 1222,\n\tQSPI1_IO3_MARK___5 = 1223,\n\tIP0SR3_15_12_MARK = 1224,\n\tMMC_SD_CLK_MARK = 1225,\n\tIP1SR3_15_12_MARK = 1226,\n\tSD_CD_MARK = 1227,\n\tIP2SR3_15_12_MARK = 1228,\n\tQSPI0_MOSI_IO0_MARK___5 = 1229,\n\tIP3SR3_15_12_MARK = 1230,\n\tRPC_RESET_N_MARK___2 = 1231,\n\tIP0SR3_19_16_MARK = 1232,\n\tMMC_DS_MARK___2 = 1233,\n\tIP1SR3_19_16_MARK = 1234,\n\tSD_WP_MARK = 1235,\n\tIP2SR3_19_16_MARK = 1236,\n\tQSPI0_SPCLK_MARK___5 = 1237,\n\tIP3SR3_19_16_MARK = 1238,\n\tRPC_WP_N_MARK___2 = 1239,\n\tIP0SR3_23_20_MARK = 1240,\n\tMMC_SD_D3_MARK = 1241,\n\tIP1SR3_23_20_MARK = 1242,\n\tIPC_CLKIN_MARK = 1243,\n\tIPC_CLKEN_IN_MARK = 1244,\n\tPWM1_A_MARK___5 = 1245,\n\tTCLK3_A_MARK = 1246,\n\tIP2SR3_23_20_MARK = 1247,\n\tQSPI1_MOSI_IO0_MARK___5 = 1248,\n\tIP3SR3_23_20_MARK = 1249,\n\tRPC_INT_N_MARK___2 = 1250,\n\tIP0SR3_27_24_MARK = 1251,\n\tMMC_D5_MARK___2 = 1252,\n\tIP1SR3_27_24_MARK = 1253,\n\tIPC_CLKOUT_MARK = 1254,\n\tIPC_CLKEN_OUT_MARK = 1255,\n\tERROROUTC_N_A_MARK = 1256,\n\tTCLK4_A_MARK = 1257,\n\tIP2SR3_27_24_MARK = 1258,\n\tQSPI1_SPCLK_MARK___5 = 1259,\n\tIP0SR3_31_28_MARK = 1260,\n\tMMC_D4_MARK___2 = 1261,\n\tIP1SR3_31_28_MARK = 1262,\n\tQSPI0_SSL_MARK___5 = 1263,\n\tIP2SR3_31_28_MARK = 1264,\n\tQSPI1_MISO_IO1_MARK___5 = 1265,\n\tIP0SR4_3_0_MARK = 1266,\n\tTSN0_MDIO_MARK = 1267,\n\tIP1SR4_3_0_MARK = 1268,\n\tTSN0_AVTP_PPS0_MARK = 1269,\n\tIP2SR4_3_0_MARK = 1270,\n\tTSN0_RD3_MARK = 1271,\n\tIP3SR4_3_0_MARK = 1272,\n\tAVS1_MARK___4 = 1273,\n\tIP0SR4_7_4_MARK = 1274,\n\tTSN0_MDC_MARK = 1275,\n\tIP1SR4_7_4_MARK = 1276,\n\tTSN0_TX_CTL_MARK = 1277,\n\tIP2SR4_7_4_MARK = 1278,\n\tTSN0_RD2_MARK = 1279,\n\tIP0SR4_11_8_MARK = 1280,\n\tTSN0_AVTP_PPS1_MARK = 1281,\n\tIP1SR4_11_8_MARK = 1282,\n\tTSN0_RD0_MARK = 1283,\n\tIP2SR4_11_8_MARK = 1284,\n\tTSN0_TD3_MARK = 1285,\n\tIP0SR4_15_12_MARK = 1286,\n\tTSN0_PHY_INT_MARK = 1287,\n\tIP1SR4_15_12_MARK = 1288,\n\tTSN0_RXC_MARK = 1289,\n\tIP2SR4_15_12_MARK = 1290,\n\tTSN0_TD2_MARK = 1291,\n\tIP0SR4_19_16_MARK = 1292,\n\tTSN0_LINK_MARK = 1293,\n\tIP1SR4_19_16_MARK = 1294,\n\tTSN0_TXC_MARK = 1295,\n\tIP2SR4_19_16_MARK = 1296,\n\tTSN0_TXCREFCLK_MARK = 1297,\n\tIP0SR4_23_20_MARK = 1298,\n\tTSN0_AVTP_MATCH_MARK = 1299,\n\tIP1SR4_23_20_MARK = 1300,\n\tTSN0_RD1_MARK = 1301,\n\tIP2SR4_23_20_MARK = 1302,\n\tPCIE0_CLKREQ_N_MARK = 1303,\n\tIP0SR4_27_24_MARK = 1304,\n\tTSN0_AVTP_CAPTURE_MARK = 1305,\n\tIP1SR4_27_24_MARK = 1306,\n\tTSN0_TD1_MARK = 1307,\n\tIP2SR4_27_24_MARK = 1308,\n\tPCIE1_CLKREQ_N_MARK = 1309,\n\tIP0SR4_31_28_MARK = 1310,\n\tTSN0_RX_CTL_MARK = 1311,\n\tIP1SR4_31_28_MARK = 1312,\n\tTSN0_TD0_MARK = 1313,\n\tIP2SR4_31_28_MARK = 1314,\n\tAVS0_MARK = 1315,\n\tIP0SR5_3_0_MARK = 1316,\n\tAVB2_AVTP_PPS_MARK = 1317,\n\tIP1SR5_3_0_MARK = 1318,\n\tAVB2_TD3_MARK = 1319,\n\tIP2SR5_3_0_MARK = 1320,\n\tAVB2_TXC_MARK = 1321,\n\tIP0SR5_7_4_MARK = 1322,\n\tAVB2_AVTP_CAPTURE_MARK = 1323,\n\tIP1SR5_7_4_MARK = 1324,\n\tAVB2_RD3_MARK = 1325,\n\tIP2SR5_7_4_MARK = 1326,\n\tAVB2_RD0_MARK = 1327,\n\tIP0SR5_11_8_MARK = 1328,\n\tAVB2_AVTP_MATCH_MARK = 1329,\n\tIP1SR5_11_8_MARK = 1330,\n\tAVB2_MDIO_MARK = 1331,\n\tIP2SR5_11_8_MARK = 1332,\n\tAVB2_RXC_MARK = 1333,\n\tIP0SR5_15_12_MARK = 1334,\n\tAVB2_LINK_MARK = 1335,\n\tIP1SR5_15_12_MARK = 1336,\n\tAVB2_TD2_MARK = 1337,\n\tIP2SR5_15_12_MARK = 1338,\n\tAVB2_TX_CTL_MARK = 1339,\n\tIP0SR5_19_16_MARK = 1340,\n\tAVB2_PHY_INT_MARK = 1341,\n\tIP1SR5_19_16_MARK = 1342,\n\tAVB2_TD1_MARK = 1343,\n\tIP2SR5_19_16_MARK = 1344,\n\tAVB2_RX_CTL_MARK = 1345,\n\tIP0SR5_23_20_MARK = 1346,\n\tAVB2_MAGIC_MARK = 1347,\n\tIP1SR5_23_20_MARK = 1348,\n\tAVB2_RD2_MARK = 1349,\n\tIP0SR5_27_24_MARK = 1350,\n\tAVB2_MDC_MARK = 1351,\n\tIP1SR5_27_24_MARK = 1352,\n\tAVB2_RD1_MARK = 1353,\n\tIP0SR5_31_28_MARK = 1354,\n\tAVB2_TXCREFCLK_MARK = 1355,\n\tIP1SR5_31_28_MARK = 1356,\n\tAVB2_TD0_MARK = 1357,\n\tIP0SR6_3_0_MARK = 1358,\n\tAVB1_MDIO_MARK = 1359,\n\tIP1SR6_3_0_MARK = 1360,\n\tAVB1_RXC_MARK = 1361,\n\tAVB1_MII_RXC_MARK = 1362,\n\tIP2SR6_3_0_MARK = 1363,\n\tAVB1_TD2_MARK = 1364,\n\tAVB1_MII_TD2_MARK = 1365,\n\tIP0SR6_7_4_MARK = 1366,\n\tAVB1_MAGIC_MARK = 1367,\n\tIP1SR6_7_4_MARK = 1368,\n\tAVB1_RX_CTL_MARK = 1369,\n\tAVB1_MII_RX_DV_MARK = 1370,\n\tIP2SR6_7_4_MARK = 1371,\n\tAVB1_RD2_MARK = 1372,\n\tAVB1_MII_RD2_MARK = 1373,\n\tIP0SR6_11_8_MARK = 1374,\n\tAVB1_MDC_MARK = 1375,\n\tIP1SR6_11_8_MARK = 1376,\n\tAVB1_AVTP_PPS_MARK = 1377,\n\tAVB1_MII_COL_MARK = 1378,\n\tIP2SR6_11_8_MARK = 1379,\n\tAVB1_TD3_MARK = 1380,\n\tAVB1_MII_TD3_MARK = 1381,\n\tIP0SR6_15_12_MARK = 1382,\n\tAVB1_PHY_INT_MARK = 1383,\n\tIP1SR6_15_12_MARK = 1384,\n\tAVB1_AVTP_CAPTURE_MARK = 1385,\n\tAVB1_MII_CRS_MARK = 1386,\n\tIP2SR6_15_12_MARK = 1387,\n\tAVB1_RD3_MARK = 1388,\n\tAVB1_MII_RD3_MARK = 1389,\n\tIP0SR6_19_16_MARK = 1390,\n\tAVB1_LINK_MARK = 1391,\n\tAVB1_MII_TX_ER_MARK = 1392,\n\tIP1SR6_19_16_MARK = 1393,\n\tAVB1_TD1_MARK = 1394,\n\tAVB1_MII_TD1_MARK = 1395,\n\tIP2SR6_19_16_MARK = 1396,\n\tAVB1_TXCREFCLK_MARK = 1397,\n\tIP0SR6_23_20_MARK = 1398,\n\tAVB1_AVTP_MATCH_MARK = 1399,\n\tAVB1_MII_RX_ER_MARK = 1400,\n\tIP1SR6_23_20_MARK = 1401,\n\tAVB1_TD0_MARK = 1402,\n\tAVB1_MII_TD0_MARK = 1403,\n\tIP0SR6_27_24_MARK = 1404,\n\tAVB1_TXC_MARK = 1405,\n\tAVB1_MII_TXC_MARK = 1406,\n\tIP1SR6_27_24_MARK = 1407,\n\tAVB1_RD1_MARK = 1408,\n\tAVB1_MII_RD1_MARK = 1409,\n\tIP0SR6_31_28_MARK = 1410,\n\tAVB1_TX_CTL_MARK = 1411,\n\tAVB1_MII_TX_EN_MARK = 1412,\n\tIP1SR6_31_28_MARK = 1413,\n\tAVB1_RD0_MARK = 1414,\n\tAVB1_MII_RD0_MARK = 1415,\n\tIP0SR7_3_0_MARK = 1416,\n\tAVB0_AVTP_PPS_MARK = 1417,\n\tAVB0_MII_COL_MARK = 1418,\n\tIP1SR7_3_0_MARK = 1419,\n\tAVB0_RD3_MARK = 1420,\n\tAVB0_MII_RD3_MARK = 1421,\n\tIP2SR7_3_0_MARK = 1422,\n\tAVB0_TX_CTL_MARK = 1423,\n\tAVB0_MII_TX_EN_MARK = 1424,\n\tIP0SR7_7_4_MARK = 1425,\n\tAVB0_AVTP_CAPTURE_MARK = 1426,\n\tAVB0_MII_CRS_MARK = 1427,\n\tIP1SR7_7_4_MARK = 1428,\n\tAVB0_TXCREFCLK_MARK = 1429,\n\tIP2SR7_7_4_MARK = 1430,\n\tAVB0_RD1_MARK = 1431,\n\tAVB0_MII_RD1_MARK = 1432,\n\tIP0SR7_11_8_MARK = 1433,\n\tAVB0_AVTP_MATCH_MARK = 1434,\n\tAVB0_MII_RX_ER_MARK = 1435,\n\tCC5_OSCOUT_MARK = 1436,\n\tIP1SR7_11_8_MARK = 1437,\n\tAVB0_MAGIC_MARK = 1438,\n\tIP2SR7_11_8_MARK = 1439,\n\tAVB0_RD0_MARK = 1440,\n\tAVB0_MII_RD0_MARK = 1441,\n\tIP0SR7_15_12_MARK = 1442,\n\tAVB0_TD3_MARK = 1443,\n\tAVB0_MII_TD3_MARK = 1444,\n\tIP1SR7_15_12_MARK = 1445,\n\tAVB0_TD0_MARK = 1446,\n\tAVB0_MII_TD0_MARK = 1447,\n\tIP2SR7_15_12_MARK = 1448,\n\tAVB0_RXC_MARK = 1449,\n\tAVB0_MII_RXC_MARK = 1450,\n\tIP0SR7_19_16_MARK = 1451,\n\tAVB0_LINK_MARK = 1452,\n\tAVB0_MII_TX_ER_MARK = 1453,\n\tIP1SR7_19_16_MARK = 1454,\n\tAVB0_RD2_MARK = 1455,\n\tAVB0_MII_RD2_MARK = 1456,\n\tIP2SR7_19_16_MARK = 1457,\n\tAVB0_RX_CTL_MARK = 1458,\n\tAVB0_MII_RX_DV_MARK = 1459,\n\tIP0SR7_23_20_MARK = 1460,\n\tAVB0_PHY_INT_MARK = 1461,\n\tIP1SR7_23_20_MARK = 1462,\n\tAVB0_MDC_MARK = 1463,\n\tIP0SR7_27_24_MARK = 1464,\n\tAVB0_TD2_MARK = 1465,\n\tAVB0_MII_TD2_MARK = 1466,\n\tIP1SR7_27_24_MARK = 1467,\n\tAVB0_MDIO_MARK = 1468,\n\tIP0SR7_31_28_MARK = 1469,\n\tAVB0_TD1_MARK = 1470,\n\tAVB0_MII_TD1_MARK = 1471,\n\tIP1SR7_31_28_MARK = 1472,\n\tAVB0_TXC_MARK = 1473,\n\tAVB0_MII_TXC_MARK = 1474,\n\tIP0SR8_3_0_MARK = 1475,\n\tSCL0_MARK___5 = 1476,\n\tIP1SR8_3_0_MARK = 1477,\n\tSCL4_MARK___2 = 1478,\n\tHRX2_MARK___2 = 1479,\n\tSCK4_MARK___2 = 1480,\n\tIP0SR8_7_4_MARK = 1481,\n\tSDA0_MARK___5 = 1482,\n\tIP1SR8_7_4_MARK = 1483,\n\tSDA4_MARK___2 = 1484,\n\tHTX2_MARK___2 = 1485,\n\tCTS4_N_MARK___2 = 1486,\n\tIP0SR8_11_8_MARK = 1487,\n\tSCL1_MARK___2 = 1488,\n\tIP1SR8_11_8_MARK = 1489,\n\tSCL5_MARK___5 = 1490,\n\tHRTS2_N_MARK___2 = 1491,\n\tRTS4_N_MARK___2 = 1492,\n\tIP0SR8_15_12_MARK = 1493,\n\tSDA1_MARK___2 = 1494,\n\tIP1SR8_15_12_MARK = 1495,\n\tSDA5_MARK___5 = 1496,\n\tSCIF_CLK2_MARK = 1497,\n\tIP0SR8_19_16_MARK = 1498,\n\tSCL2_MARK___2 = 1499,\n\tIP1SR8_19_16_MARK = 1500,\n\tHCTS2_N_MARK___2 = 1501,\n\tTX4_MARK___2 = 1502,\n\tIP0SR8_23_20_MARK = 1503,\n\tSDA2_MARK___2 = 1504,\n\tIP1SR8_23_20_MARK = 1505,\n\tHSCK2_MARK___2 = 1506,\n\tRX4_MARK___2 = 1507,\n\tIP0SR8_27_24_MARK = 1508,\n\tSCL3_MARK___5 = 1509,\n\tIP0SR8_31_28_MARK = 1510,\n\tSDA3_MARK___5 = 1511,\n\tSEL_SDA5_0_MARK = 1512,\n\tSEL_SDA5_1_MARK = 1513,\n\tSEL_SCL5_0_MARK = 1514,\n\tSEL_SCL5_1_MARK = 1515,\n\tSEL_SDA4_0_MARK = 1516,\n\tSEL_SDA4_1_MARK = 1517,\n\tSEL_SCL4_0_MARK = 1518,\n\tSEL_SCL4_1_MARK = 1519,\n\tSEL_SDA3_0_MARK = 1520,\n\tSEL_SDA3_1_MARK = 1521,\n\tSEL_SCL3_0_MARK = 1522,\n\tSEL_SCL3_1_MARK = 1523,\n\tSEL_SDA2_0_MARK = 1524,\n\tSEL_SDA2_1_MARK = 1525,\n\tSEL_SCL2_0_MARK = 1526,\n\tSEL_SCL2_1_MARK = 1527,\n\tSEL_SDA1_0_MARK = 1528,\n\tSEL_SDA1_1_MARK = 1529,\n\tSEL_SCL1_0_MARK = 1530,\n\tSEL_SCL1_1_MARK = 1531,\n\tSEL_SDA0_0_MARK = 1532,\n\tSEL_SDA0_1_MARK = 1533,\n\tSEL_SCL0_0_MARK = 1534,\n\tSEL_SCL0_1_MARK = 1535,\n\tPINMUX_MARK_END___5 = 1536,\n};\n\nenum {\n\tPINMUX_RESERVED___6 = 0,\n\tPINMUX_DATA_BEGIN___6 = 1,\n\tGP_0_0_DATA___6 = 2,\n\tGP_0_1_DATA___6 = 3,\n\tGP_0_2_DATA___6 = 4,\n\tGP_0_3_DATA___6 = 5,\n\tGP_0_4_DATA___6 = 6,\n\tGP_0_5_DATA___6 = 7,\n\tGP_0_6_DATA___6 = 8,\n\tGP_0_7_DATA___6 = 9,\n\tGP_0_8_DATA___6 = 10,\n\tGP_0_9_DATA___6 = 11,\n\tGP_0_10_DATA___6 = 12,\n\tGP_0_11_DATA___6 = 13,\n\tGP_0_12_DATA___6 = 14,\n\tGP_0_13_DATA___6 = 15,\n\tGP_0_14_DATA___6 = 16,\n\tGP_0_15_DATA___6 = 17,\n\tGP_0_16_DATA___3 = 18,\n\tGP_0_17_DATA___3 = 19,\n\tGP_0_18_DATA___3 = 20,\n\tGP_0_19_DATA___2 = 21,\n\tGP_0_20_DATA___2 = 22,\n\tGP_1_0_DATA___6 = 23,\n\tGP_1_1_DATA___6 = 24,\n\tGP_1_2_DATA___6 = 25,\n\tGP_1_3_DATA___6 = 26,\n\tGP_1_4_DATA___6 = 27,\n\tGP_1_5_DATA___6 = 28,\n\tGP_1_6_DATA___6 = 29,\n\tGP_1_7_DATA___6 = 30,\n\tGP_1_8_DATA___6 = 31,\n\tGP_1_9_DATA___6 = 32,\n\tGP_1_10_DATA___6 = 33,\n\tGP_1_11_DATA___6 = 34,\n\tGP_1_12_DATA___6 = 35,\n\tGP_1_13_DATA___6 = 36,\n\tGP_1_14_DATA___6 = 37,\n\tGP_1_15_DATA___6 = 38,\n\tGP_1_16_DATA___6 = 39,\n\tGP_1_17_DATA___6 = 40,\n\tGP_1_18_DATA___6 = 41,\n\tGP_1_19_DATA___6 = 42,\n\tGP_1_20_DATA___6 = 43,\n\tGP_1_21_DATA___6 = 44,\n\tGP_1_22_DATA___6 = 45,\n\tGP_1_23_DATA___6 = 46,\n\tGP_1_24_DATA___6 = 47,\n\tGP_2_0_DATA___6 = 48,\n\tGP_2_1_DATA___6 = 49,\n\tGP_2_2_DATA___6 = 50,\n\tGP_2_3_DATA___6 = 51,\n\tGP_2_4_DATA___6 = 52,\n\tGP_2_5_DATA___6 = 53,\n\tGP_2_6_DATA___6 = 54,\n\tGP_2_7_DATA___6 = 55,\n\tGP_2_8_DATA___6 = 56,\n\tGP_2_9_DATA___6 = 57,\n\tGP_2_10_DATA___6 = 58,\n\tGP_2_11_DATA___6 = 59,\n\tGP_2_12_DATA___6 = 60,\n\tGP_2_13_DATA___6 = 61,\n\tGP_2_14_DATA___6 = 62,\n\tGP_2_15_DATA___3 = 63,\n\tGP_2_16_DATA___3 = 64,\n\tGP_3_0_DATA___6 = 65,\n\tGP_3_1_DATA___6 = 66,\n\tGP_3_2_DATA___6 = 67,\n\tGP_3_3_DATA___6 = 68,\n\tGP_3_4_DATA___6 = 69,\n\tGP_3_5_DATA___6 = 70,\n\tGP_3_6_DATA___6 = 71,\n\tGP_3_7_DATA___6 = 72,\n\tGP_3_8_DATA___6 = 73,\n\tGP_3_9_DATA___6 = 74,\n\tGP_3_10_DATA___6 = 75,\n\tGP_3_11_DATA___6 = 76,\n\tGP_3_12_DATA___6 = 77,\n\tGP_3_13_DATA___6 = 78,\n\tGP_3_14_DATA___6 = 79,\n\tGP_3_15_DATA___6 = 80,\n\tGP_3_16_DATA___3 = 81,\n\tGP_3_17_DATA___2 = 82,\n\tGP_3_18_DATA___2 = 83,\n\tPINMUX_DATA_END___6 = 84,\n\tPINMUX_FUNCTION_BEGIN___6 = 85,\n\tGP_0_0_FN___6 = 86,\n\tGP_0_1_FN___6 = 87,\n\tGP_0_2_FN___6 = 88,\n\tGP_0_3_FN___6 = 89,\n\tGP_0_4_FN___6 = 90,\n\tGP_0_5_FN___6 = 91,\n\tGP_0_6_FN___6 = 92,\n\tGP_0_7_FN___6 = 93,\n\tGP_0_8_FN___6 = 94,\n\tGP_0_9_FN___6 = 95,\n\tGP_0_10_FN___6 = 96,\n\tGP_0_11_FN___6 = 97,\n\tGP_0_12_FN___6 = 98,\n\tGP_0_13_FN___6 = 99,\n\tGP_0_14_FN___6 = 100,\n\tGP_0_15_FN___6 = 101,\n\tGP_0_16_FN___3 = 102,\n\tGP_0_17_FN___3 = 103,\n\tGP_0_18_FN___3 = 104,\n\tGP_0_19_FN___2 = 105,\n\tGP_0_20_FN___2 = 106,\n\tGP_1_0_FN___6 = 107,\n\tGP_1_1_FN___6 = 108,\n\tGP_1_2_FN___6 = 109,\n\tGP_1_3_FN___6 = 110,\n\tGP_1_4_FN___6 = 111,\n\tGP_1_5_FN___6 = 112,\n\tGP_1_6_FN___6 = 113,\n\tGP_1_7_FN___6 = 114,\n\tGP_1_8_FN___6 = 115,\n\tGP_1_9_FN___6 = 116,\n\tGP_1_10_FN___6 = 117,\n\tGP_1_11_FN___6 = 118,\n\tGP_1_12_FN___6 = 119,\n\tGP_1_13_FN___6 = 120,\n\tGP_1_14_FN___6 = 121,\n\tGP_1_15_FN___6 = 122,\n\tGP_1_16_FN___6 = 123,\n\tGP_1_17_FN___6 = 124,\n\tGP_1_18_FN___6 = 125,\n\tGP_1_19_FN___6 = 126,\n\tGP_1_20_FN___6 = 127,\n\tGP_1_21_FN___6 = 128,\n\tGP_1_22_FN___6 = 129,\n\tGP_1_23_FN___6 = 130,\n\tGP_1_24_FN___6 = 131,\n\tGP_2_0_FN___6 = 132,\n\tGP_2_1_FN___6 = 133,\n\tGP_2_2_FN___6 = 134,\n\tGP_2_3_FN___6 = 135,\n\tGP_2_4_FN___6 = 136,\n\tGP_2_5_FN___6 = 137,\n\tGP_2_6_FN___6 = 138,\n\tGP_2_7_FN___6 = 139,\n\tGP_2_8_FN___6 = 140,\n\tGP_2_9_FN___6 = 141,\n\tGP_2_10_FN___6 = 142,\n\tGP_2_11_FN___6 = 143,\n\tGP_2_12_FN___6 = 144,\n\tGP_2_13_FN___6 = 145,\n\tGP_2_14_FN___6 = 146,\n\tGP_2_15_FN___3 = 147,\n\tGP_2_16_FN___3 = 148,\n\tGP_3_0_FN___6 = 149,\n\tGP_3_1_FN___6 = 150,\n\tGP_3_2_FN___6 = 151,\n\tGP_3_3_FN___6 = 152,\n\tGP_3_4_FN___6 = 153,\n\tGP_3_5_FN___6 = 154,\n\tGP_3_6_FN___6 = 155,\n\tGP_3_7_FN___6 = 156,\n\tGP_3_8_FN___6 = 157,\n\tGP_3_9_FN___6 = 158,\n\tGP_3_10_FN___6 = 159,\n\tGP_3_11_FN___6 = 160,\n\tGP_3_12_FN___6 = 161,\n\tGP_3_13_FN___6 = 162,\n\tGP_3_14_FN___6 = 163,\n\tGP_3_15_FN___6 = 164,\n\tGP_3_16_FN___3 = 165,\n\tGP_3_17_FN___2 = 166,\n\tGP_3_18_FN___2 = 167,\n\tFN_SD_WP___2 = 168,\n\tFN_SD_CD___2 = 169,\n\tFN_MMC_SD_CMD___2 = 170,\n\tFN_MMC_D7___3 = 171,\n\tFN_MMC_DS___3 = 172,\n\tFN_MMC_D6___3 = 173,\n\tFN_MMC_D4___3 = 174,\n\tFN_TSN0_AVTP_CAPTURE_B = 175,\n\tFN_MMC_D5___3 = 176,\n\tFN_TSN0_AVTP_MATCH_B = 177,\n\tFN_MMC_SD_D3___2 = 178,\n\tFN_PCIE1_CLKREQ_N___2 = 179,\n\tFN_TSN0_AVTP_PPS = 180,\n\tFN_MMC_SD_D2___2 = 181,\n\tFN_PCIE0_CLKREQ_N___2 = 182,\n\tFN_TSN1_AVTP_CAPTURE_B = 183,\n\tFN_MMC_SD_D1___2 = 184,\n\tFN_QSPI0_IO3___3 = 185,\n\tFN_TSN1_AVTP_MATCH_B = 186,\n\tFN_MMC_SD_D0___2 = 187,\n\tFN_QSPI0_SSL___3 = 188,\n\tFN_TSN1_AVTP_PPS = 189,\n\tFN_MMC_SD_CLK___2 = 190,\n\tFN_QSPI0_MISO_IO1___3 = 191,\n\tFN_TSN0_MAGIC_B = 192,\n\tFN_GP1_11 = 193,\n\tFN_QSPI0_IO2___3 = 194,\n\tFN_TSN1_PHY_INT_B = 195,\n\tFN_GP1_10 = 196,\n\tFN_QSPI0_SPCLK___3 = 197,\n\tFN_TSN0_PHY_INT_B = 198,\n\tFN_GP1_09 = 199,\n\tFN_QSPI0_MOSI_IO0___3 = 200,\n\tFN_TSN2_PHY_INT_B = 201,\n\tFN_GP1_08 = 202,\n\tFN_QSPI1_SPCLK___3 = 203,\n\tFN_TSN0_LINK_B = 204,\n\tFN_QSPI1_MOSI_IO0___3 = 205,\n\tFN_TSN2_LINK_B = 206,\n\tFN_QSPI1_IO2___3 = 207,\n\tFN_TSN1_LINK_B = 208,\n\tFN_QSPI1_MISO_IO1___3 = 209,\n\tFN_TSN1_MDC_B = 210,\n\tFN_QSPI1_IO3___3 = 211,\n\tFN_TSN0_MDC_B = 212,\n\tFN_QSPI1_SSL___3 = 213,\n\tFN_TSN2_MDC_B = 214,\n\tFN_RPC_RESET_N___3 = 215,\n\tFN_TSN0_MDIO_B = 216,\n\tFN_RPC_WP_N___3 = 217,\n\tFN_TSN2_MDIO_B = 218,\n\tFN_RPC_INT_N___3 = 219,\n\tFN_TSN1_MDIO_B = 220,\n\tFN_IP0SR0_3_0___2 = 221,\n\tFN_SCIF_CLK___2 = 222,\n\tFN_IP1SR0_3_0___2 = 223,\n\tFN_SCK0___6 = 224,\n\tFN_HSCK1___2 = 225,\n\tFN_MSIOF1_SCK___3 = 226,\n\tFN_IP2SR0_3_0___2 = 227,\n\tFN_MSIOF0_SS2___6 = 228,\n\tFN_TSN2_LINK_A = 229,\n\tFN_IP0SR0_7_4___2 = 230,\n\tFN_HSCK0___5 = 231,\n\tFN_SCK3___5 = 232,\n\tFN_MSIOF3_SCK___3 = 233,\n\tFN_TSN0_AVTP_CAPTURE_A = 234,\n\tFN_IP1SR0_7_4___2 = 235,\n\tFN_RTS0_N___6 = 236,\n\tFN_HRTS1_N___2 = 237,\n\tFN_MSIOF3_SYNC___3 = 238,\n\tFN_TSN1_MDIO_A = 239,\n\tFN_IP2SR0_7_4___2 = 240,\n\tFN_IRQ0___5 = 241,\n\tFN_MSIOF1_SS1___3 = 242,\n\tFN_TSN0_MAGIC_A = 243,\n\tFN_IP0SR0_11_8___2 = 244,\n\tFN_HRX0___5 = 245,\n\tFN_RX3___2 = 246,\n\tFN_MSIOF3_RXD___3 = 247,\n\tFN_TSN0_AVTP_MATCH_A = 248,\n\tFN_IP1SR0_11_8___2 = 249,\n\tFN_CTS0_N___6 = 250,\n\tFN_HCTS1_N___2 = 251,\n\tFN_MSIOF1_SYNC___3 = 252,\n\tFN_TSN1_MDC_A = 253,\n\tFN_IP2SR0_11_8___2 = 254,\n\tFN_IRQ1___5 = 255,\n\tFN_MSIOF1_SS2___3 = 256,\n\tFN_TSN0_PHY_INT_A = 257,\n\tFN_IP0SR0_15_12___2 = 258,\n\tFN_HTX0___5 = 259,\n\tFN_TX3___2 = 260,\n\tFN_MSIOF3_TXD___3 = 261,\n\tFN_IP1SR0_15_12___2 = 262,\n\tFN_MSIOF0_SYNC___6 = 263,\n\tFN_HCTS3_N___5 = 264,\n\tFN_CTS1_N___5 = 265,\n\tFN_IRQ4___5 = 266,\n\tFN_TSN0_LINK_A = 267,\n\tFN_IP2SR0_15_12 = 268,\n\tFN_IRQ2___5 = 269,\n\tFN_TSN1_PHY_INT_A = 270,\n\tFN_IP0SR0_19_16___2 = 271,\n\tFN_HCTS0_N___5 = 272,\n\tFN_CTS3_N___5 = 273,\n\tFN_MSIOF3_SS1___3 = 274,\n\tFN_TSN0_MDC_A = 275,\n\tFN_IP1SR0_19_16___2 = 276,\n\tFN_MSIOF0_RXD___6 = 277,\n\tFN_HRX3___2 = 278,\n\tFN_RX1 = 279,\n\tFN_IP2SR0_19_16 = 280,\n\tFN_IRQ3___5 = 281,\n\tFN_TSN2_PHY_INT_A = 282,\n\tFN_IP0SR0_23_20___2 = 283,\n\tFN_HRTS0_N___5 = 284,\n\tFN_RTS3_N___5 = 285,\n\tFN_MSIOF3_SS2___3 = 286,\n\tFN_TSN0_MDIO_A = 287,\n\tFN_IP1SR0_23_20___2 = 288,\n\tFN_MSIOF0_TXD___6 = 289,\n\tFN_HTX3___2 = 290,\n\tFN_TX1 = 291,\n\tFN_IP0SR0_27_24___2 = 292,\n\tFN_RX0___6 = 293,\n\tFN_HRX1___2 = 294,\n\tFN_MSIOF1_RXD___3 = 295,\n\tFN_TSN1_AVTP_MATCH_A = 296,\n\tFN_IP1SR0_27_24___2 = 297,\n\tFN_MSIOF0_SCK___6 = 298,\n\tFN_HSCK3___5 = 299,\n\tFN_SCK1___5 = 300,\n\tFN_IP0SR0_31_28___2 = 301,\n\tFN_TX0___6 = 302,\n\tFN_HTX1___2 = 303,\n\tFN_MSIOF1_TXD___3 = 304,\n\tFN_TSN1_AVTP_CAPTURE_A = 305,\n\tFN_IP1SR0_31_28___2 = 306,\n\tFN_MSIOF0_SS1___6 = 307,\n\tFN_HRTS3_N___5 = 308,\n\tFN_RTS1_N___5 = 309,\n\tFN_IRQ5___6 = 310,\n\tFN_TSN1_LINK_A = 311,\n\tFN_IP0SR1_3_0___2 = 312,\n\tFN_GP1_00 = 313,\n\tFN_TCLK1 = 314,\n\tFN_HSCK2___3 = 315,\n\tFN_IP0SR1_7_4___2 = 316,\n\tFN_GP1_01 = 317,\n\tFN_TCLK4___2 = 318,\n\tFN_HRX2___3 = 319,\n\tFN_IP0SR1_11_8___2 = 320,\n\tFN_GP1_02 = 321,\n\tFN_HTX2___3 = 322,\n\tFN_MSIOF2_SS1___3 = 323,\n\tFN_TSN2_MDC_A = 324,\n\tFN_IP0SR1_15_12___2 = 325,\n\tFN_GP1_03 = 326,\n\tFN_TCLK2 = 327,\n\tFN_HCTS2_N___3 = 328,\n\tFN_MSIOF2_SS2___3 = 329,\n\tFN_CTS4_N___3 = 330,\n\tFN_TSN2_MDIO_A = 331,\n\tFN_IP0SR1_19_16___2 = 332,\n\tFN_GP1_04 = 333,\n\tFN_TCLK3___2 = 334,\n\tFN_HRTS2_N___3 = 335,\n\tFN_MSIOF2_SYNC___3 = 336,\n\tFN_RTS4_N___3 = 337,\n\tFN_IP0SR1_23_20___2 = 338,\n\tFN_GP1_05 = 339,\n\tFN_MSIOF2_SCK___3 = 340,\n\tFN_SCK4___3 = 341,\n\tFN_IP0SR1_27_24___2 = 342,\n\tFN_GP1_06 = 343,\n\tFN_MSIOF2_RXD___3 = 344,\n\tFN_RX4___3 = 345,\n\tFN_IP0SR1_31_28___2 = 346,\n\tFN_GP1_07 = 347,\n\tFN_MSIOF2_TXD___3 = 348,\n\tFN_TX4___3 = 349,\n\tFN_SEL_I2C5_0 = 350,\n\tFN_SEL_I2C5_3 = 351,\n\tFN_SEL_I2C4_0 = 352,\n\tFN_SEL_I2C4_3 = 353,\n\tFN_SEL_I2C3_0 = 354,\n\tFN_SEL_I2C3_3 = 355,\n\tFN_SEL_I2C2_0___4 = 356,\n\tFN_SEL_I2C2_3 = 357,\n\tFN_SEL_I2C1_0___4 = 358,\n\tFN_SEL_I2C1_3 = 359,\n\tFN_SEL_I2C0_0 = 360,\n\tFN_SEL_I2C0_3 = 361,\n\tPINMUX_FUNCTION_END___6 = 362,\n\tPINMUX_MARK_BEGIN___6 = 363,\n\tSD_WP_MARK___2 = 364,\n\tSD_CD_MARK___2 = 365,\n\tMMC_SD_CMD_MARK___2 = 366,\n\tMMC_D7_MARK___3 = 367,\n\tMMC_DS_MARK___3 = 368,\n\tMMC_D6_MARK___3 = 369,\n\tMMC_D4_MARK___3 = 370,\n\tTSN0_AVTP_CAPTURE_B_MARK = 371,\n\tMMC_D5_MARK___3 = 372,\n\tTSN0_AVTP_MATCH_B_MARK = 373,\n\tMMC_SD_D3_MARK___2 = 374,\n\tPCIE1_CLKREQ_N_MARK___2 = 375,\n\tTSN0_AVTP_PPS_MARK = 376,\n\tMMC_SD_D2_MARK___2 = 377,\n\tPCIE0_CLKREQ_N_MARK___2 = 378,\n\tTSN1_AVTP_CAPTURE_B_MARK = 379,\n\tMMC_SD_D1_MARK___2 = 380,\n\tQSPI0_IO3_MARK___6 = 381,\n\tTSN1_AVTP_MATCH_B_MARK = 382,\n\tMMC_SD_D0_MARK___2 = 383,\n\tQSPI0_SSL_MARK___6 = 384,\n\tTSN1_AVTP_PPS_MARK = 385,\n\tMMC_SD_CLK_MARK___2 = 386,\n\tQSPI0_MISO_IO1_MARK___6 = 387,\n\tTSN0_MAGIC_B_MARK = 388,\n\tGP1_11_MARK = 389,\n\tQSPI0_IO2_MARK___6 = 390,\n\tTSN1_PHY_INT_B_MARK = 391,\n\tGP1_10_MARK = 392,\n\tQSPI0_SPCLK_MARK___6 = 393,\n\tTSN0_PHY_INT_B_MARK = 394,\n\tGP1_09_MARK = 395,\n\tQSPI0_MOSI_IO0_MARK___6 = 396,\n\tTSN2_PHY_INT_B_MARK = 397,\n\tGP1_08_MARK = 398,\n\tQSPI1_SPCLK_MARK___6 = 399,\n\tTSN0_LINK_B_MARK = 400,\n\tQSPI1_MOSI_IO0_MARK___6 = 401,\n\tTSN2_LINK_B_MARK = 402,\n\tQSPI1_IO2_MARK___6 = 403,\n\tTSN1_LINK_B_MARK = 404,\n\tQSPI1_MISO_IO1_MARK___6 = 405,\n\tTSN1_MDC_B_MARK = 406,\n\tQSPI1_IO3_MARK___6 = 407,\n\tTSN0_MDC_B_MARK = 408,\n\tQSPI1_SSL_MARK___6 = 409,\n\tTSN2_MDC_B_MARK = 410,\n\tRPC_RESET_N_MARK___3 = 411,\n\tTSN0_MDIO_B_MARK = 412,\n\tRPC_WP_N_MARK___3 = 413,\n\tTSN2_MDIO_B_MARK = 414,\n\tRPC_INT_N_MARK___3 = 415,\n\tTSN1_MDIO_B_MARK = 416,\n\tIP0SR0_3_0_MARK___2 = 417,\n\tSCIF_CLK_MARK___2 = 418,\n\tIP1SR0_3_0_MARK___2 = 419,\n\tSCK0_MARK___6 = 420,\n\tHSCK1_MARK___2 = 421,\n\tMSIOF1_SCK_MARK___3 = 422,\n\tIP2SR0_3_0_MARK___2 = 423,\n\tMSIOF0_SS2_MARK___6 = 424,\n\tTSN2_LINK_A_MARK = 425,\n\tIP0SR0_7_4_MARK___2 = 426,\n\tHSCK0_MARK___5 = 427,\n\tSCK3_MARK___5 = 428,\n\tMSIOF3_SCK_MARK___3 = 429,\n\tTSN0_AVTP_CAPTURE_A_MARK = 430,\n\tIP1SR0_7_4_MARK___2 = 431,\n\tRTS0_N_MARK___6 = 432,\n\tHRTS1_N_MARK___2 = 433,\n\tMSIOF3_SYNC_MARK___3 = 434,\n\tTSN1_MDIO_A_MARK = 435,\n\tIP2SR0_7_4_MARK___2 = 436,\n\tIRQ0_MARK___5 = 437,\n\tMSIOF1_SS1_MARK___3 = 438,\n\tTSN0_MAGIC_A_MARK = 439,\n\tIP0SR0_11_8_MARK___2 = 440,\n\tHRX0_MARK___5 = 441,\n\tRX3_MARK___2 = 442,\n\tMSIOF3_RXD_MARK___3 = 443,\n\tTSN0_AVTP_MATCH_A_MARK = 444,\n\tIP1SR0_11_8_MARK___2 = 445,\n\tCTS0_N_MARK___6 = 446,\n\tHCTS1_N_MARK___2 = 447,\n\tMSIOF1_SYNC_MARK___3 = 448,\n\tTSN1_MDC_A_MARK = 449,\n\tIP2SR0_11_8_MARK___2 = 450,\n\tIRQ1_MARK___5 = 451,\n\tMSIOF1_SS2_MARK___3 = 452,\n\tTSN0_PHY_INT_A_MARK = 453,\n\tIP0SR0_15_12_MARK___2 = 454,\n\tHTX0_MARK___5 = 455,\n\tTX3_MARK___2 = 456,\n\tMSIOF3_TXD_MARK___3 = 457,\n\tIP1SR0_15_12_MARK___2 = 458,\n\tMSIOF0_SYNC_MARK___6 = 459,\n\tHCTS3_N_MARK___5 = 460,\n\tCTS1_N_MARK___5 = 461,\n\tIRQ4_MARK___5 = 462,\n\tTSN0_LINK_A_MARK = 463,\n\tIP2SR0_15_12_MARK = 464,\n\tIRQ2_MARK___5 = 465,\n\tTSN1_PHY_INT_A_MARK = 466,\n\tIP0SR0_19_16_MARK___2 = 467,\n\tHCTS0_N_MARK___5 = 468,\n\tCTS3_N_MARK___5 = 469,\n\tMSIOF3_SS1_MARK___3 = 470,\n\tTSN0_MDC_A_MARK = 471,\n\tIP1SR0_19_16_MARK___2 = 472,\n\tMSIOF0_RXD_MARK___6 = 473,\n\tHRX3_MARK___2 = 474,\n\tRX1_MARK = 475,\n\tIP2SR0_19_16_MARK = 476,\n\tIRQ3_MARK___5 = 477,\n\tTSN2_PHY_INT_A_MARK = 478,\n\tIP0SR0_23_20_MARK___2 = 479,\n\tHRTS0_N_MARK___5 = 480,\n\tRTS3_N_MARK___5 = 481,\n\tMSIOF3_SS2_MARK___3 = 482,\n\tTSN0_MDIO_A_MARK = 483,\n\tIP1SR0_23_20_MARK___2 = 484,\n\tMSIOF0_TXD_MARK___6 = 485,\n\tHTX3_MARK___2 = 486,\n\tTX1_MARK = 487,\n\tIP0SR0_27_24_MARK___2 = 488,\n\tRX0_MARK___6 = 489,\n\tHRX1_MARK___2 = 490,\n\tMSIOF1_RXD_MARK___3 = 491,\n\tTSN1_AVTP_MATCH_A_MARK = 492,\n\tIP1SR0_27_24_MARK___2 = 493,\n\tMSIOF0_SCK_MARK___6 = 494,\n\tHSCK3_MARK___5 = 495,\n\tSCK1_MARK___5 = 496,\n\tIP0SR0_31_28_MARK___2 = 497,\n\tTX0_MARK___6 = 498,\n\tHTX1_MARK___2 = 499,\n\tMSIOF1_TXD_MARK___3 = 500,\n\tTSN1_AVTP_CAPTURE_A_MARK = 501,\n\tIP1SR0_31_28_MARK___2 = 502,\n\tMSIOF0_SS1_MARK___6 = 503,\n\tHRTS3_N_MARK___5 = 504,\n\tRTS1_N_MARK___5 = 505,\n\tIRQ5_MARK___6 = 506,\n\tTSN1_LINK_A_MARK = 507,\n\tIP0SR1_3_0_MARK___2 = 508,\n\tGP1_00_MARK = 509,\n\tTCLK1_MARK = 510,\n\tHSCK2_MARK___3 = 511,\n\tIP0SR1_7_4_MARK___2 = 512,\n\tGP1_01_MARK = 513,\n\tTCLK4_MARK___2 = 514,\n\tHRX2_MARK___3 = 515,\n\tIP0SR1_11_8_MARK___2 = 516,\n\tGP1_02_MARK = 517,\n\tHTX2_MARK___3 = 518,\n\tMSIOF2_SS1_MARK___3 = 519,\n\tTSN2_MDC_A_MARK = 520,\n\tIP0SR1_15_12_MARK___2 = 521,\n\tGP1_03_MARK = 522,\n\tTCLK2_MARK = 523,\n\tHCTS2_N_MARK___3 = 524,\n\tMSIOF2_SS2_MARK___3 = 525,\n\tCTS4_N_MARK___3 = 526,\n\tTSN2_MDIO_A_MARK = 527,\n\tIP0SR1_19_16_MARK___2 = 528,\n\tGP1_04_MARK = 529,\n\tTCLK3_MARK___2 = 530,\n\tHRTS2_N_MARK___3 = 531,\n\tMSIOF2_SYNC_MARK___3 = 532,\n\tRTS4_N_MARK___3 = 533,\n\tIP0SR1_23_20_MARK___2 = 534,\n\tGP1_05_MARK = 535,\n\tMSIOF2_SCK_MARK___3 = 536,\n\tSCK4_MARK___3 = 537,\n\tIP0SR1_27_24_MARK___2 = 538,\n\tGP1_06_MARK = 539,\n\tMSIOF2_RXD_MARK___3 = 540,\n\tRX4_MARK___3 = 541,\n\tIP0SR1_31_28_MARK___2 = 542,\n\tGP1_07_MARK = 543,\n\tMSIOF2_TXD_MARK___3 = 544,\n\tTX4_MARK___3 = 545,\n\tSEL_I2C5_0_MARK = 546,\n\tSEL_I2C5_3_MARK = 547,\n\tSEL_I2C4_0_MARK = 548,\n\tSEL_I2C4_3_MARK = 549,\n\tSEL_I2C3_0_MARK = 550,\n\tSEL_I2C3_3_MARK = 551,\n\tSEL_I2C2_0_MARK___4 = 552,\n\tSEL_I2C2_3_MARK = 553,\n\tSEL_I2C1_0_MARK___4 = 554,\n\tSEL_I2C1_3_MARK = 555,\n\tSEL_I2C0_0_MARK = 556,\n\tSEL_I2C0_3_MARK = 557,\n\tSCL0_MARK___6 = 558,\n\tSDA0_MARK___6 = 559,\n\tSCL1_MARK___3 = 560,\n\tSDA1_MARK___3 = 561,\n\tSCL2_MARK___3 = 562,\n\tSDA2_MARK___3 = 563,\n\tSCL3_MARK___6 = 564,\n\tSDA3_MARK___6 = 565,\n\tSCL4_MARK___3 = 566,\n\tSDA4_MARK___3 = 567,\n\tSCL5_MARK___6 = 568,\n\tSDA5_MARK___6 = 569,\n\tPINMUX_MARK_END___6 = 570,\n};\n\nenum {\n\tPINMUX_RESERVED___7 = 0,\n\tPINMUX_DATA_BEGIN___7 = 1,\n\tGP_0_0_DATA___7 = 2,\n\tGP_0_1_DATA___7 = 3,\n\tGP_0_2_DATA___7 = 4,\n\tGP_0_3_DATA___7 = 5,\n\tGP_0_4_DATA___7 = 6,\n\tGP_0_5_DATA___7 = 7,\n\tGP_0_6_DATA___7 = 8,\n\tGP_0_7_DATA___7 = 9,\n\tGP_0_8_DATA___7 = 10,\n\tGP_1_0_DATA___7 = 11,\n\tGP_1_1_DATA___7 = 12,\n\tGP_1_2_DATA___7 = 13,\n\tGP_1_3_DATA___7 = 14,\n\tGP_1_4_DATA___7 = 15,\n\tGP_1_5_DATA___7 = 16,\n\tGP_1_6_DATA___7 = 17,\n\tGP_1_7_DATA___7 = 18,\n\tGP_1_8_DATA___7 = 19,\n\tGP_1_9_DATA___7 = 20,\n\tGP_1_10_DATA___7 = 21,\n\tGP_1_11_DATA___7 = 22,\n\tGP_1_12_DATA___7 = 23,\n\tGP_1_13_DATA___7 = 24,\n\tGP_1_14_DATA___7 = 25,\n\tGP_1_15_DATA___7 = 26,\n\tGP_1_16_DATA___7 = 27,\n\tGP_1_17_DATA___7 = 28,\n\tGP_1_18_DATA___7 = 29,\n\tGP_1_19_DATA___7 = 30,\n\tGP_1_20_DATA___7 = 31,\n\tGP_1_21_DATA___7 = 32,\n\tGP_1_22_DATA___7 = 33,\n\tGP_1_23_DATA___7 = 34,\n\tGP_1_24_DATA___7 = 35,\n\tGP_1_25_DATA___6 = 36,\n\tGP_1_26_DATA___6 = 37,\n\tGP_1_27_DATA___6 = 38,\n\tGP_1_28_DATA___5 = 39,\n\tGP_1_29_DATA = 40,\n\tGP_1_30_DATA = 41,\n\tGP_1_31_DATA = 42,\n\tGP_2_0_DATA___7 = 43,\n\tGP_2_1_DATA___7 = 44,\n\tGP_2_2_DATA___7 = 45,\n\tGP_2_3_DATA___7 = 46,\n\tGP_2_4_DATA___7 = 47,\n\tGP_2_5_DATA___7 = 48,\n\tGP_2_6_DATA___7 = 49,\n\tGP_2_7_DATA___7 = 50,\n\tGP_2_8_DATA___7 = 51,\n\tGP_2_9_DATA___7 = 52,\n\tGP_2_10_DATA___7 = 53,\n\tGP_2_11_DATA___7 = 54,\n\tGP_2_12_DATA___7 = 55,\n\tGP_2_13_DATA___7 = 56,\n\tGP_2_14_DATA___7 = 57,\n\tGP_2_15_DATA___4 = 58,\n\tGP_2_16_DATA___4 = 59,\n\tGP_2_17_DATA___3 = 60,\n\tGP_2_18_DATA___3 = 61,\n\tGP_2_19_DATA___3 = 62,\n\tGP_2_20_DATA___2 = 63,\n\tGP_2_21_DATA___2 = 64,\n\tGP_2_22_DATA___2 = 65,\n\tGP_2_23_DATA___2 = 66,\n\tGP_2_24_DATA___2 = 67,\n\tGP_2_25_DATA___2 = 68,\n\tGP_2_26_DATA___2 = 69,\n\tGP_2_27_DATA___2 = 70,\n\tGP_2_28_DATA___2 = 71,\n\tGP_2_29_DATA___2 = 72,\n\tGP_2_30_DATA = 73,\n\tGP_2_31_DATA = 74,\n\tGP_3_0_DATA___7 = 75,\n\tGP_3_1_DATA___7 = 76,\n\tGP_3_2_DATA___7 = 77,\n\tGP_3_3_DATA___7 = 78,\n\tGP_3_4_DATA___7 = 79,\n\tGP_3_5_DATA___7 = 80,\n\tGP_3_6_DATA___7 = 81,\n\tGP_3_7_DATA___7 = 82,\n\tGP_3_8_DATA___7 = 83,\n\tGP_3_9_DATA___7 = 84,\n\tGP_4_0_DATA___6 = 85,\n\tGP_4_1_DATA___6 = 86,\n\tGP_4_2_DATA___6 = 87,\n\tGP_4_3_DATA___6 = 88,\n\tGP_4_4_DATA___6 = 89,\n\tGP_4_5_DATA___6 = 90,\n\tGP_4_6_DATA___6 = 91,\n\tGP_4_7_DATA___6 = 92,\n\tGP_4_8_DATA___6 = 93,\n\tGP_4_9_DATA___6 = 94,\n\tGP_4_10_DATA___6 = 95,\n\tGP_4_11_DATA___6 = 96,\n\tGP_4_12_DATA___6 = 97,\n\tGP_4_13_DATA___6 = 98,\n\tGP_4_14_DATA___6 = 99,\n\tGP_4_15_DATA___6 = 100,\n\tGP_4_16_DATA___6 = 101,\n\tGP_4_17_DATA___6 = 102,\n\tGP_4_18_DATA___3 = 103,\n\tGP_4_19_DATA___3 = 104,\n\tGP_4_20_DATA___3 = 105,\n\tGP_4_21_DATA___3 = 106,\n\tGP_4_22_DATA___3 = 107,\n\tGP_4_23_DATA___3 = 108,\n\tGP_4_24_DATA___3 = 109,\n\tGP_4_25_DATA = 110,\n\tGP_4_26_DATA = 111,\n\tGP_4_27_DATA = 112,\n\tGP_4_28_DATA = 113,\n\tGP_4_29_DATA = 114,\n\tGP_4_30_DATA = 115,\n\tGP_4_31_DATA = 116,\n\tGP_5_0_DATA___6 = 117,\n\tGP_5_1_DATA___6 = 118,\n\tGP_5_2_DATA___6 = 119,\n\tGP_5_3_DATA___6 = 120,\n\tGP_5_4_DATA___6 = 121,\n\tGP_5_5_DATA___6 = 122,\n\tGP_5_6_DATA___6 = 123,\n\tGP_5_7_DATA___6 = 124,\n\tGP_5_8_DATA___6 = 125,\n\tGP_5_9_DATA___6 = 126,\n\tGP_5_10_DATA___6 = 127,\n\tGP_5_11_DATA___6 = 128,\n\tGP_5_12_DATA___6 = 129,\n\tGP_5_13_DATA___6 = 130,\n\tGP_5_14_DATA___6 = 131,\n\tGP_5_15_DATA___5 = 132,\n\tGP_5_16_DATA___5 = 133,\n\tGP_5_17_DATA___5 = 134,\n\tGP_5_18_DATA___5 = 135,\n\tGP_5_19_DATA___5 = 136,\n\tGP_5_20_DATA___5 = 137,\n\tGP_6_0_DATA___5 = 138,\n\tGP_6_1_DATA___5 = 139,\n\tGP_6_2_DATA___5 = 140,\n\tGP_6_3_DATA___5 = 141,\n\tGP_6_4_DATA___5 = 142,\n\tGP_6_5_DATA___5 = 143,\n\tGP_6_6_DATA___5 = 144,\n\tGP_6_7_DATA___5 = 145,\n\tGP_6_8_DATA___5 = 146,\n\tGP_6_9_DATA___5 = 147,\n\tGP_6_10_DATA___5 = 148,\n\tGP_6_11_DATA___5 = 149,\n\tGP_6_12_DATA___5 = 150,\n\tGP_6_13_DATA___5 = 151,\n\tPINMUX_DATA_END___7 = 152,\n\tPINMUX_FUNCTION_BEGIN___7 = 153,\n\tGP_0_0_FN___7 = 154,\n\tGP_0_1_FN___7 = 155,\n\tGP_0_2_FN___7 = 156,\n\tGP_0_3_FN___7 = 157,\n\tGP_0_4_FN___7 = 158,\n\tGP_0_5_FN___7 = 159,\n\tGP_0_6_FN___7 = 160,\n\tGP_0_7_FN___7 = 161,\n\tGP_0_8_FN___7 = 162,\n\tGP_1_0_FN___7 = 163,\n\tGP_1_1_FN___7 = 164,\n\tGP_1_2_FN___7 = 165,\n\tGP_1_3_FN___7 = 166,\n\tGP_1_4_FN___7 = 167,\n\tGP_1_5_FN___7 = 168,\n\tGP_1_6_FN___7 = 169,\n\tGP_1_7_FN___7 = 170,\n\tGP_1_8_FN___7 = 171,\n\tGP_1_9_FN___7 = 172,\n\tGP_1_10_FN___7 = 173,\n\tGP_1_11_FN___7 = 174,\n\tGP_1_12_FN___7 = 175,\n\tGP_1_13_FN___7 = 176,\n\tGP_1_14_FN___7 = 177,\n\tGP_1_15_FN___7 = 178,\n\tGP_1_16_FN___7 = 179,\n\tGP_1_17_FN___7 = 180,\n\tGP_1_18_FN___7 = 181,\n\tGP_1_19_FN___7 = 182,\n\tGP_1_20_FN___7 = 183,\n\tGP_1_21_FN___7 = 184,\n\tGP_1_22_FN___7 = 185,\n\tGP_1_23_FN___7 = 186,\n\tGP_1_24_FN___7 = 187,\n\tGP_1_25_FN___6 = 188,\n\tGP_1_26_FN___6 = 189,\n\tGP_1_27_FN___6 = 190,\n\tGP_1_28_FN___5 = 191,\n\tGP_1_29_FN = 192,\n\tGP_1_30_FN = 193,\n\tGP_1_31_FN = 194,\n\tGP_2_0_FN___7 = 195,\n\tGP_2_1_FN___7 = 196,\n\tGP_2_2_FN___7 = 197,\n\tGP_2_3_FN___7 = 198,\n\tGP_2_4_FN___7 = 199,\n\tGP_2_5_FN___7 = 200,\n\tGP_2_6_FN___7 = 201,\n\tGP_2_7_FN___7 = 202,\n\tGP_2_8_FN___7 = 203,\n\tGP_2_9_FN___7 = 204,\n\tGP_2_10_FN___7 = 205,\n\tGP_2_11_FN___7 = 206,\n\tGP_2_12_FN___7 = 207,\n\tGP_2_13_FN___7 = 208,\n\tGP_2_14_FN___7 = 209,\n\tGP_2_15_FN___4 = 210,\n\tGP_2_16_FN___4 = 211,\n\tGP_2_17_FN___3 = 212,\n\tGP_2_18_FN___3 = 213,\n\tGP_2_19_FN___3 = 214,\n\tGP_2_20_FN___2 = 215,\n\tGP_2_21_FN___2 = 216,\n\tGP_2_22_FN___2 = 217,\n\tGP_2_23_FN___2 = 218,\n\tGP_2_24_FN___2 = 219,\n\tGP_2_25_FN___2 = 220,\n\tGP_2_26_FN___2 = 221,\n\tGP_2_27_FN___2 = 222,\n\tGP_2_28_FN___2 = 223,\n\tGP_2_29_FN___2 = 224,\n\tGP_2_30_FN = 225,\n\tGP_2_31_FN = 226,\n\tGP_3_0_FN___7 = 227,\n\tGP_3_1_FN___7 = 228,\n\tGP_3_2_FN___7 = 229,\n\tGP_3_3_FN___7 = 230,\n\tGP_3_4_FN___7 = 231,\n\tGP_3_5_FN___7 = 232,\n\tGP_3_6_FN___7 = 233,\n\tGP_3_7_FN___7 = 234,\n\tGP_3_8_FN___7 = 235,\n\tGP_3_9_FN___7 = 236,\n\tGP_4_0_FN___6 = 237,\n\tGP_4_1_FN___6 = 238,\n\tGP_4_2_FN___6 = 239,\n\tGP_4_3_FN___6 = 240,\n\tGP_4_4_FN___6 = 241,\n\tGP_4_5_FN___6 = 242,\n\tGP_4_6_FN___6 = 243,\n\tGP_4_7_FN___6 = 244,\n\tGP_4_8_FN___6 = 245,\n\tGP_4_9_FN___6 = 246,\n\tGP_4_10_FN___6 = 247,\n\tGP_4_11_FN___6 = 248,\n\tGP_4_12_FN___6 = 249,\n\tGP_4_13_FN___6 = 250,\n\tGP_4_14_FN___6 = 251,\n\tGP_4_15_FN___6 = 252,\n\tGP_4_16_FN___6 = 253,\n\tGP_4_17_FN___6 = 254,\n\tGP_4_18_FN___3 = 255,\n\tGP_4_19_FN___3 = 256,\n\tGP_4_20_FN___3 = 257,\n\tGP_4_21_FN___3 = 258,\n\tGP_4_22_FN___3 = 259,\n\tGP_4_23_FN___3 = 260,\n\tGP_4_24_FN___3 = 261,\n\tGP_4_25_FN = 262,\n\tGP_4_26_FN = 263,\n\tGP_4_27_FN = 264,\n\tGP_4_28_FN = 265,\n\tGP_4_29_FN = 266,\n\tGP_4_30_FN = 267,\n\tGP_4_31_FN = 268,\n\tGP_5_0_FN___6 = 269,\n\tGP_5_1_FN___6 = 270,\n\tGP_5_2_FN___6 = 271,\n\tGP_5_3_FN___6 = 272,\n\tGP_5_4_FN___6 = 273,\n\tGP_5_5_FN___6 = 274,\n\tGP_5_6_FN___6 = 275,\n\tGP_5_7_FN___6 = 276,\n\tGP_5_8_FN___6 = 277,\n\tGP_5_9_FN___6 = 278,\n\tGP_5_10_FN___6 = 279,\n\tGP_5_11_FN___6 = 280,\n\tGP_5_12_FN___6 = 281,\n\tGP_5_13_FN___6 = 282,\n\tGP_5_14_FN___6 = 283,\n\tGP_5_15_FN___5 = 284,\n\tGP_5_16_FN___5 = 285,\n\tGP_5_17_FN___5 = 286,\n\tGP_5_18_FN___5 = 287,\n\tGP_5_19_FN___5 = 288,\n\tGP_5_20_FN___5 = 289,\n\tGP_6_0_FN___5 = 290,\n\tGP_6_1_FN___5 = 291,\n\tGP_6_2_FN___5 = 292,\n\tGP_6_3_FN___5 = 293,\n\tGP_6_4_FN___5 = 294,\n\tGP_6_5_FN___5 = 295,\n\tGP_6_6_FN___5 = 296,\n\tGP_6_7_FN___5 = 297,\n\tGP_6_8_FN___5 = 298,\n\tGP_6_9_FN___5 = 299,\n\tGP_6_10_FN___5 = 300,\n\tGP_6_11_FN___5 = 301,\n\tGP_6_12_FN___5 = 302,\n\tGP_6_13_FN___5 = 303,\n\tFN_TX2 = 304,\n\tFN_RX2 = 305,\n\tFN_AVB0_LINK___2 = 306,\n\tFN_AVB0_PHY_INT___2 = 307,\n\tFN_AVB0_MAGIC___2 = 308,\n\tFN_AVB0_MDC___2 = 309,\n\tFN_AVB0_MDIO___2 = 310,\n\tFN_MSIOF0_RXD___7 = 311,\n\tFN_AVB0_TXCREFCLK___2 = 312,\n\tFN_MSIOF0_TXD___7 = 313,\n\tFN_AVB0_TD3___2 = 314,\n\tFN_MSIOF0_SYNC___7 = 315,\n\tFN_AVB0_TD2___2 = 316,\n\tFN_RPC_INT_N___4 = 317,\n\tFN_MSIOF0_SCK___7 = 318,\n\tFN_AVB0_TD1___2 = 319,\n\tFN_RPC_RESET_N___4 = 320,\n\tFN_AVB0_TD0___2 = 321,\n\tFN_QSPI1_SSL___4 = 322,\n\tFN_AVB0_TXC___2 = 323,\n\tFN_QSPI1_IO3___4 = 324,\n\tFN_SDA0___3 = 325,\n\tFN_AVB0_TX_CTL___2 = 326,\n\tFN_QSPI1_IO2___4 = 327,\n\tFN_SCL0___3 = 328,\n\tFN_AVB0_RD3___2 = 329,\n\tFN_QSPI1_MISO_IO1___4 = 330,\n\tFN_AVB0_RD2___2 = 331,\n\tFN_QSPI1_MOSI_IO0___4 = 332,\n\tFN_AVB0_RD1___2 = 333,\n\tFN_QSPI1_SPCLK___4 = 334,\n\tFN_VI4_DATA4 = 335,\n\tFN_AVB0_RD0___2 = 336,\n\tFN_QSPI0_SSL___4 = 337,\n\tFN_AVB0_RXC___2 = 338,\n\tFN_QSPI0_IO3___4 = 339,\n\tFN_AVB0_RX_CTL___2 = 340,\n\tFN_QSPI0_IO2___4 = 341,\n\tFN_QSPI0_MISO_IO1___4 = 342,\n\tFN_USB0_OVC___4 = 343,\n\tFN_QSPI0_MOSI_IO0___4 = 344,\n\tFN_USB0_PWEN___4 = 345,\n\tFN_VI4_CLK___4 = 346,\n\tFN_QSPI0_SPCLK___4 = 347,\n\tFN_IP0_3_0___5 = 348,\n\tFN_IRQ0_A___2 = 349,\n\tFN_MSIOF2_SYNC_B___4 = 350,\n\tFN_IP1_3_0___5 = 351,\n\tFN_DU_DB1___5 = 352,\n\tFN_LCDOUT1___4 = 353,\n\tFN_MSIOF3_RXD_B___4 = 354,\n\tFN_IP2_3_0___5 = 355,\n\tFN_DU_DG1___5 = 356,\n\tFN_LCDOUT9___4 = 357,\n\tFN_MSIOF3_SYNC_B___4 = 358,\n\tFN_IP3_3_0___5 = 359,\n\tFN_DU_DR1___5 = 360,\n\tFN_LCDOUT17___4 = 361,\n\tFN_TX4_B___4 = 362,\n\tFN_IP0_7_4___5 = 363,\n\tFN_MSIOF2_SCK___4 = 364,\n\tFN_IP1_7_4___5 = 365,\n\tFN_DU_DB2___5 = 366,\n\tFN_LCDOUT2___4 = 367,\n\tFN_IRQ0_B___2 = 368,\n\tFN_IP2_7_4___5 = 369,\n\tFN_DU_DG2___5 = 370,\n\tFN_LCDOUT10___4 = 371,\n\tFN_IP3_7_4___5 = 372,\n\tFN_DU_DR2___5 = 373,\n\tFN_LCDOUT18___4 = 374,\n\tFN_PWM0_B___2 = 375,\n\tFN_IP0_11_8___5 = 376,\n\tFN_MSIOF2_TXD___4 = 377,\n\tFN_SCL3_A = 378,\n\tFN_IP1_11_8___5 = 379,\n\tFN_DU_DB3___5 = 380,\n\tFN_LCDOUT3___4 = 381,\n\tFN_SCK5_B___4 = 382,\n\tFN_IP2_11_8___5 = 383,\n\tFN_DU_DG3___5 = 384,\n\tFN_LCDOUT11___4 = 385,\n\tFN_IRQ1_A___2 = 386,\n\tFN_IP3_11_8___5 = 387,\n\tFN_DU_DR3___5 = 388,\n\tFN_LCDOUT19___4 = 389,\n\tFN_PWM1_B___6 = 390,\n\tFN_IP0_15_12___5 = 391,\n\tFN_MSIOF2_RXD___4 = 392,\n\tFN_SDA3_A = 393,\n\tFN_IP1_15_12___5 = 394,\n\tFN_DU_DB4___5 = 395,\n\tFN_LCDOUT4___4 = 396,\n\tFN_RX5_B___4 = 397,\n\tFN_IP2_15_12___5 = 398,\n\tFN_DU_DG4___5 = 399,\n\tFN_LCDOUT12___4 = 400,\n\tFN_HSCK3_B___2 = 401,\n\tFN_IP3_15_12___5 = 402,\n\tFN_DU_DR4___5 = 403,\n\tFN_LCDOUT20___4 = 404,\n\tFN_TCLK2_B___6 = 405,\n\tFN_IP0_19_16___5 = 406,\n\tFN_MLB_CLK___4 = 407,\n\tFN_MSIOF2_SYNC_A___4 = 408,\n\tFN_SCK5_A___4 = 409,\n\tFN_IP1_19_16___5 = 410,\n\tFN_DU_DB5___5 = 411,\n\tFN_LCDOUT5___4 = 412,\n\tFN_TX5_B___4 = 413,\n\tFN_IP2_19_16___5 = 414,\n\tFN_DU_DG5___5 = 415,\n\tFN_LCDOUT13___4 = 416,\n\tFN_HTX3_B___5 = 417,\n\tFN_IP3_19_16___5 = 418,\n\tFN_DU_DR5___5 = 419,\n\tFN_LCDOUT21___4 = 420,\n\tFN_NMI = 421,\n\tFN_IP0_23_20___5 = 422,\n\tFN_MLB_DAT___4 = 423,\n\tFN_MSIOF2_SS1___4 = 424,\n\tFN_RX5_A___4 = 425,\n\tFN_SCL3_B = 426,\n\tFN_IP1_23_20___5 = 427,\n\tFN_DU_DB6___5 = 428,\n\tFN_LCDOUT6___4 = 429,\n\tFN_MSIOF3_SS1_B___4 = 430,\n\tFN_IP2_23_20___5 = 431,\n\tFN_DU_DG6___5 = 432,\n\tFN_LCDOUT14___4 = 433,\n\tFN_HRX3_B___5 = 434,\n\tFN_IP3_23_20___5 = 435,\n\tFN_DU_DR6___5 = 436,\n\tFN_LCDOUT22___4 = 437,\n\tFN_PWM2_B___5 = 438,\n\tFN_IP0_27_24___5 = 439,\n\tFN_MLB_SIG___4 = 440,\n\tFN_MSIOF2_SS2___4 = 441,\n\tFN_TX5_A___4 = 442,\n\tFN_SDA3_B = 443,\n\tFN_IP1_27_24___5 = 444,\n\tFN_DU_DB7___5 = 445,\n\tFN_LCDOUT7___4 = 446,\n\tFN_MSIOF3_SS2_B___4 = 447,\n\tFN_IP2_27_24___5 = 448,\n\tFN_DU_DG7___5 = 449,\n\tFN_LCDOUT15___4 = 450,\n\tFN_SCK4_B___4 = 451,\n\tFN_IP3_27_24___5 = 452,\n\tFN_DU_DR7___5 = 453,\n\tFN_LCDOUT23___4 = 454,\n\tFN_TCLK1_B___6 = 455,\n\tFN_IP0_31_28___5 = 456,\n\tFN_DU_DB0___5 = 457,\n\tFN_LCDOUT0___4 = 458,\n\tFN_MSIOF3_TXD_B___4 = 459,\n\tFN_IP1_31_28___5 = 460,\n\tFN_DU_DG0___5 = 461,\n\tFN_LCDOUT8___4 = 462,\n\tFN_MSIOF3_SCK_B___4 = 463,\n\tFN_IP2_31_28___5 = 464,\n\tFN_DU_DR0___5 = 465,\n\tFN_LCDOUT16___4 = 466,\n\tFN_RX4_B___4 = 467,\n\tFN_IP3_31_28___5 = 468,\n\tFN_DU_DOTCLKOUT0___4 = 469,\n\tFN_QCLK___4 = 470,\n\tFN_IP4_3_0___5 = 471,\n\tFN_DU_HSYNC = 472,\n\tFN_QSTH_QHS___4 = 473,\n\tFN_IRQ3_A___2 = 474,\n\tFN_IP5_3_0___5 = 475,\n\tFN_VI4_DATA1 = 476,\n\tFN_PWM1_A___6 = 477,\n\tFN_IP6_3_0___5 = 478,\n\tFN_VI4_DATA10___4 = 479,\n\tFN_RX4_A___4 = 480,\n\tFN_IP7_3_0___5 = 481,\n\tFN_VI4_DATA18___4 = 482,\n\tFN_HSCK3_A___2 = 483,\n\tFN_IP4_7_4___5 = 484,\n\tFN_DU_VSYNC = 485,\n\tFN_QSTVA_QVS___4 = 486,\n\tFN_IRQ4_A___2 = 487,\n\tFN_IP5_7_4___5 = 488,\n\tFN_VI4_DATA2 = 489,\n\tFN_PWM2_A___5 = 490,\n\tFN_IP6_7_4___5 = 491,\n\tFN_VI4_DATA11___4 = 492,\n\tFN_TX4_A___4 = 493,\n\tFN_IP7_7_4___5 = 494,\n\tFN_VI4_DATA19___4 = 495,\n\tFN_SSI_WS4_B = 496,\n\tFN_NFDATA15 = 497,\n\tFN_IP4_11_8___5 = 498,\n\tFN_DU_DISP___5 = 499,\n\tFN_QSTVB_QVE___4 = 500,\n\tFN_PWM3_B___6 = 501,\n\tFN_IP5_11_8___5 = 502,\n\tFN_VI4_DATA3 = 503,\n\tFN_PWM3_A___6 = 504,\n\tFN_IP6_11_8___5 = 505,\n\tFN_VI4_DATA12___4 = 506,\n\tFN_TCLK1_A___6 = 507,\n\tFN_IP7_11_8___5 = 508,\n\tFN_VI4_DATA20___4 = 509,\n\tFN_MSIOF3_SYNC_A___4 = 510,\n\tFN_NFDATA14 = 511,\n\tFN_IP4_15_12___5 = 512,\n\tFN_DU_DISP_CDE = 513,\n\tFN_QCPV_QDE___4 = 514,\n\tFN_IRQ2_B___2 = 515,\n\tFN_DU_DOTCLKIN1 = 516,\n\tFN_IP5_15_12___5 = 517,\n\tFN_VI4_DATA5 = 518,\n\tFN_SCK4_A___4 = 519,\n\tFN_IP6_15_12___5 = 520,\n\tFN_VI4_DATA13___4 = 521,\n\tFN_MSIOF3_SS1_A___4 = 522,\n\tFN_HCTS3_N___6 = 523,\n\tFN_IP7_15_12___2 = 524,\n\tFN_VI4_DATA21___4 = 525,\n\tFN_MSIOF3_TXD_A___4 = 526,\n\tFN_NFDATA13___4 = 527,\n\tFN_IP4_19_16___5 = 528,\n\tFN_DU_CDE___5 = 529,\n\tFN_QSTB_QHE___4 = 530,\n\tFN_SCK3_B___2 = 531,\n\tFN_IP5_19_16___5 = 532,\n\tFN_VI4_DATA6 = 533,\n\tFN_IRQ2_A___2 = 534,\n\tFN_IP6_19_16___5 = 535,\n\tFN_VI4_DATA14___4 = 536,\n\tFN_SSI_SCK4_B = 537,\n\tFN_HRTS3_N___6 = 538,\n\tFN_IP7_19_16___5 = 539,\n\tFN_VI4_DATA22___4 = 540,\n\tFN_MSIOF3_RXD_A___4 = 541,\n\tFN_NFDATA12___4 = 542,\n\tFN_IP4_23_20___5 = 543,\n\tFN_QPOLA___4 = 544,\n\tFN_RX3_B___5 = 545,\n\tFN_IP5_23_20___5 = 546,\n\tFN_VI4_DATA7 = 547,\n\tFN_TCLK2_A___6 = 548,\n\tFN_IP6_23_20___5 = 549,\n\tFN_VI4_DATA15___4 = 550,\n\tFN_SSI_SDATA4_B = 551,\n\tFN_IP7_23_20___5 = 552,\n\tFN_VI4_DATA23___4 = 553,\n\tFN_MSIOF3_SCK_A___4 = 554,\n\tFN_NFDATA11___4 = 555,\n\tFN_IP4_27_24___5 = 556,\n\tFN_QPOLB___4 = 557,\n\tFN_TX3_B___5 = 558,\n\tFN_IP5_27_24___5 = 559,\n\tFN_VI4_DATA8___4 = 560,\n\tFN_IP6_27_24___5 = 561,\n\tFN_VI4_DATA16___4 = 562,\n\tFN_HRX3_A___5 = 563,\n\tFN_IP7_27_24___5 = 564,\n\tFN_VI4_VSYNC_N___4 = 565,\n\tFN_SCK1_B___2 = 566,\n\tFN_NFDATA10___4 = 567,\n\tFN_IP4_31_28___5 = 568,\n\tFN_VI4_DATA0 = 569,\n\tFN_PWM0_A___2 = 570,\n\tFN_IP5_31_28___5 = 571,\n\tFN_VI4_DATA9___4 = 572,\n\tFN_MSIOF3_SS2_A___4 = 573,\n\tFN_IRQ1_B___2 = 574,\n\tFN_IP6_31_28___5 = 575,\n\tFN_VI4_DATA17___4 = 576,\n\tFN_HTX3_A___5 = 577,\n\tFN_IP7_31_28___5 = 578,\n\tFN_VI4_HSYNC_N___4 = 579,\n\tFN_RX1_B___6 = 580,\n\tFN_NFDATA9___4 = 581,\n\tFN_IP8_3_0___5 = 582,\n\tFN_VI4_FIELD___4 = 583,\n\tFN_AUDIO_CLKB = 584,\n\tFN_IRQ5_A = 585,\n\tFN_SCIF_CLK___3 = 586,\n\tFN_NFDATA8___4 = 587,\n\tFN_IP9_3_0___5 = 588,\n\tFN_NFDATA0___4 = 589,\n\tFN_MMC_D0___2 = 590,\n\tFN_IP10_3_0___5 = 591,\n\tFN_AUDIO_CLKA = 592,\n\tFN_DVC_MUTE_B = 593,\n\tFN_IP11_3_0___4 = 594,\n\tFN_SDA1___3 = 595,\n\tFN_RTS1_N___6 = 596,\n\tFN_IP8_7_4___5 = 597,\n\tFN_VI4_CLKENB___4 = 598,\n\tFN_TX1_B___6 = 599,\n\tFN_NFWP_N = 600,\n\tFN_DVC_MUTE_A = 601,\n\tFN_IP9_7_4___5 = 602,\n\tFN_NFDATA1___4 = 603,\n\tFN_MMC_D1___2 = 604,\n\tFN_IP10_7_4___5 = 605,\n\tFN_SSI_SCK34 = 606,\n\tFN_FSO_CFE_0_N_A = 607,\n\tFN_IP11_7_4___4 = 608,\n\tFN_MSIOF1_SCK___4 = 609,\n\tFN_AVB0_AVTP_PPS_B = 610,\n\tFN_IP8_11_8___5 = 611,\n\tFN_NFALE___4 = 612,\n\tFN_SCL2_B___4 = 613,\n\tFN_IRQ3_B___2 = 614,\n\tFN_PWM0_C = 615,\n\tFN_IP9_11_8___5 = 616,\n\tFN_NFDATA2___4 = 617,\n\tFN_MMC_D2___2 = 618,\n\tFN_IP10_11_8___5 = 619,\n\tFN_SSI_SDATA3___4 = 620,\n\tFN_FSO_CFE_1_N_A = 621,\n\tFN_IP11_11_8___4 = 622,\n\tFN_MSIOF1_TXD___4 = 623,\n\tFN_AVB0_AVTP_CAPTURE_B = 624,\n\tFN_IP8_15_12___5 = 625,\n\tFN_NFCLE___4 = 626,\n\tFN_SDA2_B___4 = 627,\n\tFN_SCK3_A___2 = 628,\n\tFN_PWM1_C = 629,\n\tFN_IP9_15_12___5 = 630,\n\tFN_NFDATA3___4 = 631,\n\tFN_MMC_D3___2 = 632,\n\tFN_IP10_15_12___5 = 633,\n\tFN_SSI_WS34 = 634,\n\tFN_FSO_TOE_N_A = 635,\n\tFN_IP11_15_12___4 = 636,\n\tFN_MSIOF1_RXD___4 = 637,\n\tFN_AVB0_AVTP_MATCH_B = 638,\n\tFN_IP8_19_16___5 = 639,\n\tFN_NFCE_N = 640,\n\tFN_RX3_A___5 = 641,\n\tFN_PWM2_C = 642,\n\tFN_IP9_19_16___5 = 643,\n\tFN_NFDATA4___4 = 644,\n\tFN_MMC_D4___4 = 645,\n\tFN_IP10_19_16___5 = 646,\n\tFN_SSI_SCK4_A = 647,\n\tFN_HSCK0___6 = 648,\n\tFN_AUDIO_CLKOUT___2 = 649,\n\tFN_CAN0_RX_B___4 = 650,\n\tFN_IRQ4_B___2 = 651,\n\tFN_IP11_19_16___4 = 652,\n\tFN_SCK0_A = 653,\n\tFN_MSIOF1_SYNC___4 = 654,\n\tFN_FSO_CFE_0_N_B = 655,\n\tFN_IP8_23_20___5 = 656,\n\tFN_NFRB_N = 657,\n\tFN_TX3_A___5 = 658,\n\tFN_PWM3_C = 659,\n\tFN_IP9_23_20___5 = 660,\n\tFN_NFDATA5___4 = 661,\n\tFN_MMC_D5___4 = 662,\n\tFN_IP10_23_20___4 = 663,\n\tFN_SSI_SDATA4_A = 664,\n\tFN_HTX0___6 = 665,\n\tFN_SCL2_A___4 = 666,\n\tFN_CAN1_RX_B = 667,\n\tFN_IP11_23_20___4 = 668,\n\tFN_RX0_A = 669,\n\tFN_MSIOF0_SS1___7 = 670,\n\tFN_FSO_CFE_1_N_B = 671,\n\tFN_IP8_27_24___5 = 672,\n\tFN_NFRE_N___4 = 673,\n\tFN_MMC_CMD___2 = 674,\n\tFN_IP9_27_24___5 = 675,\n\tFN_NFDATA6___4 = 676,\n\tFN_MMC_D6___4 = 677,\n\tFN_IP10_27_24___4 = 678,\n\tFN_SSI_WS4_A = 679,\n\tFN_HRX0___6 = 680,\n\tFN_SDA2_A___4 = 681,\n\tFN_CAN1_TX_B = 682,\n\tFN_IP11_27_24___4 = 683,\n\tFN_TX0_A = 684,\n\tFN_MSIOF0_SS2___7 = 685,\n\tFN_FSO_TOE_N_B = 686,\n\tFN_IP8_31_28___5 = 687,\n\tFN_NFWE_N___4 = 688,\n\tFN_MMC_CLK___2 = 689,\n\tFN_IP9_31_28___5 = 690,\n\tFN_NFDATA7___4 = 691,\n\tFN_MMC_D7___4 = 692,\n\tFN_IP10_31_28___4 = 693,\n\tFN_SCL1___3 = 694,\n\tFN_CTS1_N___6 = 695,\n\tFN_IP11_31_28___4 = 696,\n\tFN_SCK1_A___2 = 697,\n\tFN_MSIOF1_SS2___4 = 698,\n\tFN_TPU0TO2_B___2 = 699,\n\tFN_CAN0_TX_B___4 = 700,\n\tFN_AUDIO_CLKOUT1 = 701,\n\tFN_IP12_3_0___4 = 702,\n\tFN_RX1_A___6 = 703,\n\tFN_CTS0_N___7 = 704,\n\tFN_TPU0TO0_B___2 = 705,\n\tFN_IP13_3_0___4 = 706,\n\tFN_CAN1_RX_A = 707,\n\tFN_CANFD1_RX___6 = 708,\n\tFN_TPU0TO2_A___2 = 709,\n\tFN_IP12_7_4___4 = 710,\n\tFN_TX1_A___6 = 711,\n\tFN_RTS0_N___7 = 712,\n\tFN_TPU0TO1_B___2 = 713,\n\tFN_IP13_7_4___4 = 714,\n\tFN_CAN1_TX_A = 715,\n\tFN_CANFD1_TX___6 = 716,\n\tFN_TPU0TO3_A___2 = 717,\n\tFN_IP12_11_8___4 = 718,\n\tFN_SCK2___4 = 719,\n\tFN_MSIOF1_SS1___4 = 720,\n\tFN_TPU0TO3_B___2 = 721,\n\tFN_IP12_15_12___4 = 722,\n\tFN_TPU0TO0_A___2 = 723,\n\tFN_AVB0_AVTP_CAPTURE_A = 724,\n\tFN_HCTS0_N___6 = 725,\n\tFN_IP12_19_16___4 = 726,\n\tFN_TPU0TO1_A___2 = 727,\n\tFN_AVB0_AVTP_MATCH_A = 728,\n\tFN_HRTS0_N___6 = 729,\n\tFN_IP12_23_20___4 = 730,\n\tFN_CAN_CLK___5 = 731,\n\tFN_AVB0_AVTP_PPS_A = 732,\n\tFN_SCK0_B = 733,\n\tFN_IRQ5_B = 734,\n\tFN_IP12_27_24___4 = 735,\n\tFN_CAN0_RX_A___4 = 736,\n\tFN_CANFD0_RX___2 = 737,\n\tFN_RX0_B = 738,\n\tFN_IP12_31_28___4 = 739,\n\tFN_CAN0_TX_A___4 = 740,\n\tFN_CANFD0_TX___2 = 741,\n\tFN_TX0_B = 742,\n\tFN_SEL_CAN0_0 = 743,\n\tFN_SEL_CAN0_1 = 744,\n\tFN_SEL_MSIOF2_0___4 = 745,\n\tFN_SEL_MSIOF2_1___4 = 746,\n\tFN_SEL_CAN1_0 = 747,\n\tFN_SEL_CAN1_1 = 748,\n\tFN_SEL_I2C3_0___2 = 749,\n\tFN_SEL_I2C3_1 = 750,\n\tFN_SEL_I2C2_0___5 = 751,\n\tFN_SEL_I2C2_1___4 = 752,\n\tFN_SEL_SCIF5_0___4 = 753,\n\tFN_SEL_SCIF5_1___4 = 754,\n\tFN_SEL_ETHERAVB_0___4 = 755,\n\tFN_SEL_ETHERAVB_1___4 = 756,\n\tFN_SEL_MSIOF3_0___4 = 757,\n\tFN_SEL_MSIOF3_1___4 = 758,\n\tFN_SEL_SCIF0_0 = 759,\n\tFN_SEL_SCIF0_1 = 760,\n\tFN_SEL_HSCIF3_0___4 = 761,\n\tFN_SEL_HSCIF3_1___4 = 762,\n\tFN_SEL_SSIF4_0 = 763,\n\tFN_SEL_SSIF4_1 = 764,\n\tFN_SEL_SCIF4_0___4 = 765,\n\tFN_SEL_SCIF4_1___4 = 766,\n\tFN_SEL_PWM0_0___2 = 767,\n\tFN_SEL_PWM0_2 = 768,\n\tFN_SEL_PWM0_1___2 = 769,\n\tFN_SEL_PWM1_0___5 = 770,\n\tFN_SEL_PWM1_2 = 771,\n\tFN_SEL_PWM1_1___5 = 772,\n\tFN_SEL_PWM2_0___5 = 773,\n\tFN_SEL_PWM2_2 = 774,\n\tFN_SEL_PWM2_1___5 = 775,\n\tFN_SEL_PWM3_0___5 = 776,\n\tFN_SEL_PWM3_2 = 777,\n\tFN_SEL_PWM3_1___5 = 778,\n\tFN_SEL_IRQ_0_0 = 779,\n\tFN_SEL_IRQ_0_1 = 780,\n\tFN_SEL_IRQ_1_0 = 781,\n\tFN_SEL_IRQ_1_1 = 782,\n\tFN_SEL_IRQ_2_0 = 783,\n\tFN_SEL_IRQ_2_1 = 784,\n\tFN_SEL_IRQ_3_0 = 785,\n\tFN_SEL_IRQ_3_1 = 786,\n\tFN_SEL_IRQ_4_0 = 787,\n\tFN_SEL_IRQ_4_1 = 788,\n\tFN_SEL_IRQ_5_0 = 789,\n\tFN_SEL_IRQ_5_1 = 790,\n\tFN_SEL_TMU_0_0 = 791,\n\tFN_SEL_TMU_0_1 = 792,\n\tFN_SEL_TMU_1_0 = 793,\n\tFN_SEL_TMU_1_1 = 794,\n\tFN_SEL_SCIF3_0___4 = 795,\n\tFN_SEL_SCIF3_1___4 = 796,\n\tFN_SEL_SCIF1_0___5 = 797,\n\tFN_SEL_SCIF1_1___5 = 798,\n\tFN_SEL_SCU_0 = 799,\n\tFN_SEL_SCU_1 = 800,\n\tFN_SEL_RFSO_0 = 801,\n\tFN_SEL_RFSO_1 = 802,\n\tPINMUX_FUNCTION_END___7 = 803,\n\tPINMUX_MARK_BEGIN___7 = 804,\n\tTX2_MARK = 805,\n\tRX2_MARK = 806,\n\tAVB0_LINK_MARK___2 = 807,\n\tAVB0_PHY_INT_MARK___2 = 808,\n\tAVB0_MAGIC_MARK___2 = 809,\n\tAVB0_MDC_MARK___2 = 810,\n\tAVB0_MDIO_MARK___2 = 811,\n\tMSIOF0_RXD_MARK___7 = 812,\n\tAVB0_TXCREFCLK_MARK___2 = 813,\n\tMSIOF0_TXD_MARK___7 = 814,\n\tAVB0_TD3_MARK___2 = 815,\n\tMSIOF0_SYNC_MARK___7 = 816,\n\tAVB0_TD2_MARK___2 = 817,\n\tRPC_INT_N_MARK___4 = 818,\n\tMSIOF0_SCK_MARK___7 = 819,\n\tAVB0_TD1_MARK___2 = 820,\n\tRPC_RESET_N_MARK___4 = 821,\n\tAVB0_TD0_MARK___2 = 822,\n\tQSPI1_SSL_MARK___7 = 823,\n\tAVB0_TXC_MARK___2 = 824,\n\tQSPI1_IO3_MARK___7 = 825,\n\tSDA0_MARK___7 = 826,\n\tAVB0_TX_CTL_MARK___2 = 827,\n\tQSPI1_IO2_MARK___7 = 828,\n\tSCL0_MARK___7 = 829,\n\tAVB0_RD3_MARK___2 = 830,\n\tQSPI1_MISO_IO1_MARK___7 = 831,\n\tAVB0_RD2_MARK___2 = 832,\n\tQSPI1_MOSI_IO0_MARK___7 = 833,\n\tAVB0_RD1_MARK___2 = 834,\n\tQSPI1_SPCLK_MARK___7 = 835,\n\tVI4_DATA4_MARK = 836,\n\tAVB0_RD0_MARK___2 = 837,\n\tQSPI0_SSL_MARK___7 = 838,\n\tAVB0_RXC_MARK___2 = 839,\n\tQSPI0_IO3_MARK___7 = 840,\n\tAVB0_RX_CTL_MARK___2 = 841,\n\tQSPI0_IO2_MARK___7 = 842,\n\tQSPI0_MISO_IO1_MARK___7 = 843,\n\tUSB0_OVC_MARK___4 = 844,\n\tQSPI0_MOSI_IO0_MARK___7 = 845,\n\tUSB0_PWEN_MARK___4 = 846,\n\tVI4_CLK_MARK___4 = 847,\n\tQSPI0_SPCLK_MARK___7 = 848,\n\tIP0_3_0_MARK___5 = 849,\n\tIRQ0_A_MARK___2 = 850,\n\tMSIOF2_SYNC_B_MARK___4 = 851,\n\tIP1_3_0_MARK___5 = 852,\n\tDU_DB1_MARK___5 = 853,\n\tLCDOUT1_MARK___4 = 854,\n\tMSIOF3_RXD_B_MARK___4 = 855,\n\tIP2_3_0_MARK___5 = 856,\n\tDU_DG1_MARK___5 = 857,\n\tLCDOUT9_MARK___4 = 858,\n\tMSIOF3_SYNC_B_MARK___4 = 859,\n\tIP3_3_0_MARK___5 = 860,\n\tDU_DR1_MARK___5 = 861,\n\tLCDOUT17_MARK___4 = 862,\n\tTX4_B_MARK___4 = 863,\n\tIP0_7_4_MARK___5 = 864,\n\tMSIOF2_SCK_MARK___4 = 865,\n\tIP1_7_4_MARK___5 = 866,\n\tDU_DB2_MARK___5 = 867,\n\tLCDOUT2_MARK___4 = 868,\n\tIRQ0_B_MARK___2 = 869,\n\tIP2_7_4_MARK___5 = 870,\n\tDU_DG2_MARK___5 = 871,\n\tLCDOUT10_MARK___4 = 872,\n\tIP3_7_4_MARK___5 = 873,\n\tDU_DR2_MARK___5 = 874,\n\tLCDOUT18_MARK___4 = 875,\n\tPWM0_B_MARK___2 = 876,\n\tIP0_11_8_MARK___5 = 877,\n\tMSIOF2_TXD_MARK___4 = 878,\n\tSCL3_A_MARK = 879,\n\tIP1_11_8_MARK___5 = 880,\n\tDU_DB3_MARK___5 = 881,\n\tLCDOUT3_MARK___4 = 882,\n\tSCK5_B_MARK___4 = 883,\n\tIP2_11_8_MARK___5 = 884,\n\tDU_DG3_MARK___5 = 885,\n\tLCDOUT11_MARK___4 = 886,\n\tIRQ1_A_MARK___2 = 887,\n\tIP3_11_8_MARK___5 = 888,\n\tDU_DR3_MARK___5 = 889,\n\tLCDOUT19_MARK___4 = 890,\n\tPWM1_B_MARK___6 = 891,\n\tIP0_15_12_MARK___5 = 892,\n\tMSIOF2_RXD_MARK___4 = 893,\n\tSDA3_A_MARK = 894,\n\tIP1_15_12_MARK___5 = 895,\n\tDU_DB4_MARK___5 = 896,\n\tLCDOUT4_MARK___4 = 897,\n\tRX5_B_MARK___4 = 898,\n\tIP2_15_12_MARK___5 = 899,\n\tDU_DG4_MARK___5 = 900,\n\tLCDOUT12_MARK___4 = 901,\n\tHSCK3_B_MARK___2 = 902,\n\tIP3_15_12_MARK___5 = 903,\n\tDU_DR4_MARK___5 = 904,\n\tLCDOUT20_MARK___4 = 905,\n\tTCLK2_B_MARK___6 = 906,\n\tIP0_19_16_MARK___5 = 907,\n\tMLB_CLK_MARK___4 = 908,\n\tMSIOF2_SYNC_A_MARK___4 = 909,\n\tSCK5_A_MARK___4 = 910,\n\tIP1_19_16_MARK___5 = 911,\n\tDU_DB5_MARK___5 = 912,\n\tLCDOUT5_MARK___4 = 913,\n\tTX5_B_MARK___4 = 914,\n\tIP2_19_16_MARK___5 = 915,\n\tDU_DG5_MARK___5 = 916,\n\tLCDOUT13_MARK___4 = 917,\n\tHTX3_B_MARK___5 = 918,\n\tIP3_19_16_MARK___5 = 919,\n\tDU_DR5_MARK___5 = 920,\n\tLCDOUT21_MARK___4 = 921,\n\tNMI_MARK = 922,\n\tIP0_23_20_MARK___5 = 923,\n\tMLB_DAT_MARK___4 = 924,\n\tMSIOF2_SS1_MARK___4 = 925,\n\tRX5_A_MARK___4 = 926,\n\tSCL3_B_MARK = 927,\n\tIP1_23_20_MARK___5 = 928,\n\tDU_DB6_MARK___5 = 929,\n\tLCDOUT6_MARK___4 = 930,\n\tMSIOF3_SS1_B_MARK___4 = 931,\n\tIP2_23_20_MARK___5 = 932,\n\tDU_DG6_MARK___5 = 933,\n\tLCDOUT14_MARK___4 = 934,\n\tHRX3_B_MARK___5 = 935,\n\tIP3_23_20_MARK___5 = 936,\n\tDU_DR6_MARK___5 = 937,\n\tLCDOUT22_MARK___4 = 938,\n\tPWM2_B_MARK___5 = 939,\n\tIP0_27_24_MARK___5 = 940,\n\tMLB_SIG_MARK___4 = 941,\n\tMSIOF2_SS2_MARK___4 = 942,\n\tTX5_A_MARK___4 = 943,\n\tSDA3_B_MARK = 944,\n\tIP1_27_24_MARK___5 = 945,\n\tDU_DB7_MARK___5 = 946,\n\tLCDOUT7_MARK___4 = 947,\n\tMSIOF3_SS2_B_MARK___4 = 948,\n\tIP2_27_24_MARK___5 = 949,\n\tDU_DG7_MARK___5 = 950,\n\tLCDOUT15_MARK___4 = 951,\n\tSCK4_B_MARK___4 = 952,\n\tIP3_27_24_MARK___5 = 953,\n\tDU_DR7_MARK___5 = 954,\n\tLCDOUT23_MARK___4 = 955,\n\tTCLK1_B_MARK___6 = 956,\n\tIP0_31_28_MARK___5 = 957,\n\tDU_DB0_MARK___5 = 958,\n\tLCDOUT0_MARK___4 = 959,\n\tMSIOF3_TXD_B_MARK___4 = 960,\n\tIP1_31_28_MARK___5 = 961,\n\tDU_DG0_MARK___5 = 962,\n\tLCDOUT8_MARK___4 = 963,\n\tMSIOF3_SCK_B_MARK___4 = 964,\n\tIP2_31_28_MARK___5 = 965,\n\tDU_DR0_MARK___5 = 966,\n\tLCDOUT16_MARK___4 = 967,\n\tRX4_B_MARK___4 = 968,\n\tIP3_31_28_MARK___5 = 969,\n\tDU_DOTCLKOUT0_MARK___4 = 970,\n\tQCLK_MARK___4 = 971,\n\tIP4_3_0_MARK___5 = 972,\n\tDU_HSYNC_MARK = 973,\n\tQSTH_QHS_MARK___4 = 974,\n\tIRQ3_A_MARK___2 = 975,\n\tIP5_3_0_MARK___5 = 976,\n\tVI4_DATA1_MARK = 977,\n\tPWM1_A_MARK___6 = 978,\n\tIP6_3_0_MARK___5 = 979,\n\tVI4_DATA10_MARK___4 = 980,\n\tRX4_A_MARK___4 = 981,\n\tIP7_3_0_MARK___5 = 982,\n\tVI4_DATA18_MARK___4 = 983,\n\tHSCK3_A_MARK___2 = 984,\n\tIP4_7_4_MARK___5 = 985,\n\tDU_VSYNC_MARK = 986,\n\tQSTVA_QVS_MARK___4 = 987,\n\tIRQ4_A_MARK___2 = 988,\n\tIP5_7_4_MARK___5 = 989,\n\tVI4_DATA2_MARK = 990,\n\tPWM2_A_MARK___5 = 991,\n\tIP6_7_4_MARK___5 = 992,\n\tVI4_DATA11_MARK___4 = 993,\n\tTX4_A_MARK___4 = 994,\n\tIP7_7_4_MARK___5 = 995,\n\tVI4_DATA19_MARK___4 = 996,\n\tSSI_WS4_B_MARK = 997,\n\tNFDATA15_MARK = 998,\n\tIP4_11_8_MARK___5 = 999,\n\tDU_DISP_MARK___5 = 1000,\n\tQSTVB_QVE_MARK___4 = 1001,\n\tPWM3_B_MARK___6 = 1002,\n\tIP5_11_8_MARK___5 = 1003,\n\tVI4_DATA3_MARK = 1004,\n\tPWM3_A_MARK___6 = 1005,\n\tIP6_11_8_MARK___5 = 1006,\n\tVI4_DATA12_MARK___4 = 1007,\n\tTCLK1_A_MARK___6 = 1008,\n\tIP7_11_8_MARK___5 = 1009,\n\tVI4_DATA20_MARK___4 = 1010,\n\tMSIOF3_SYNC_A_MARK___4 = 1011,\n\tNFDATA14_MARK = 1012,\n\tIP4_15_12_MARK___5 = 1013,\n\tDU_DISP_CDE_MARK = 1014,\n\tQCPV_QDE_MARK___4 = 1015,\n\tIRQ2_B_MARK___2 = 1016,\n\tDU_DOTCLKIN1_MARK___4 = 1017,\n\tIP5_15_12_MARK___5 = 1018,\n\tVI4_DATA5_MARK = 1019,\n\tSCK4_A_MARK___4 = 1020,\n\tIP6_15_12_MARK___5 = 1021,\n\tVI4_DATA13_MARK___4 = 1022,\n\tMSIOF3_SS1_A_MARK___4 = 1023,\n\tHCTS3_N_MARK___6 = 1024,\n\tIP7_15_12_MARK___2 = 1025,\n\tVI4_DATA21_MARK___4 = 1026,\n\tMSIOF3_TXD_A_MARK___4 = 1027,\n\tNFDATA13_MARK___4 = 1028,\n\tIP4_19_16_MARK___5 = 1029,\n\tDU_CDE_MARK___5 = 1030,\n\tQSTB_QHE_MARK___4 = 1031,\n\tSCK3_B_MARK___2 = 1032,\n\tIP5_19_16_MARK___5 = 1033,\n\tVI4_DATA6_MARK = 1034,\n\tIRQ2_A_MARK___2 = 1035,\n\tIP6_19_16_MARK___5 = 1036,\n\tVI4_DATA14_MARK___4 = 1037,\n\tSSI_SCK4_B_MARK = 1038,\n\tHRTS3_N_MARK___6 = 1039,\n\tIP7_19_16_MARK___5 = 1040,\n\tVI4_DATA22_MARK___4 = 1041,\n\tMSIOF3_RXD_A_MARK___4 = 1042,\n\tNFDATA12_MARK___4 = 1043,\n\tIP4_23_20_MARK___5 = 1044,\n\tQPOLA_MARK___4 = 1045,\n\tRX3_B_MARK___5 = 1046,\n\tIP5_23_20_MARK___5 = 1047,\n\tVI4_DATA7_MARK = 1048,\n\tTCLK2_A_MARK___6 = 1049,\n\tIP6_23_20_MARK___5 = 1050,\n\tVI4_DATA15_MARK___4 = 1051,\n\tSSI_SDATA4_B_MARK = 1052,\n\tIP7_23_20_MARK___5 = 1053,\n\tVI4_DATA23_MARK___4 = 1054,\n\tMSIOF3_SCK_A_MARK___4 = 1055,\n\tNFDATA11_MARK___4 = 1056,\n\tIP4_27_24_MARK___5 = 1057,\n\tQPOLB_MARK___4 = 1058,\n\tTX3_B_MARK___5 = 1059,\n\tIP5_27_24_MARK___5 = 1060,\n\tVI4_DATA8_MARK___4 = 1061,\n\tIP6_27_24_MARK___5 = 1062,\n\tVI4_DATA16_MARK___4 = 1063,\n\tHRX3_A_MARK___5 = 1064,\n\tIP7_27_24_MARK___5 = 1065,\n\tVI4_VSYNC_N_MARK___4 = 1066,\n\tSCK1_B_MARK___2 = 1067,\n\tNFDATA10_MARK___4 = 1068,\n\tIP4_31_28_MARK___5 = 1069,\n\tVI4_DATA0_MARK = 1070,\n\tPWM0_A_MARK___2 = 1071,\n\tIP5_31_28_MARK___5 = 1072,\n\tVI4_DATA9_MARK___4 = 1073,\n\tMSIOF3_SS2_A_MARK___4 = 1074,\n\tIRQ1_B_MARK___2 = 1075,\n\tIP6_31_28_MARK___5 = 1076,\n\tVI4_DATA17_MARK___4 = 1077,\n\tHTX3_A_MARK___5 = 1078,\n\tIP7_31_28_MARK___5 = 1079,\n\tVI4_HSYNC_N_MARK___4 = 1080,\n\tRX1_B_MARK___6 = 1081,\n\tNFDATA9_MARK___4 = 1082,\n\tIP8_3_0_MARK___5 = 1083,\n\tVI4_FIELD_MARK___4 = 1084,\n\tAUDIO_CLKB_MARK = 1085,\n\tIRQ5_A_MARK = 1086,\n\tSCIF_CLK_MARK___3 = 1087,\n\tNFDATA8_MARK___4 = 1088,\n\tIP9_3_0_MARK___5 = 1089,\n\tNFDATA0_MARK___4 = 1090,\n\tMMC_D0_MARK___2 = 1091,\n\tIP10_3_0_MARK___5 = 1092,\n\tAUDIO_CLKA_MARK = 1093,\n\tDVC_MUTE_B_MARK = 1094,\n\tIP11_3_0_MARK___4 = 1095,\n\tSDA1_MARK___4 = 1096,\n\tRTS1_N_MARK___6 = 1097,\n\tIP8_7_4_MARK___5 = 1098,\n\tVI4_CLKENB_MARK___4 = 1099,\n\tTX1_B_MARK___6 = 1100,\n\tNFWP_N_MARK = 1101,\n\tDVC_MUTE_A_MARK = 1102,\n\tIP9_7_4_MARK___5 = 1103,\n\tNFDATA1_MARK___4 = 1104,\n\tMMC_D1_MARK___2 = 1105,\n\tIP10_7_4_MARK___5 = 1106,\n\tSSI_SCK34_MARK = 1107,\n\tFSO_CFE_0_N_A_MARK = 1108,\n\tIP11_7_4_MARK___4 = 1109,\n\tMSIOF1_SCK_MARK___4 = 1110,\n\tAVB0_AVTP_PPS_B_MARK = 1111,\n\tIP8_11_8_MARK___5 = 1112,\n\tNFALE_MARK___4 = 1113,\n\tSCL2_B_MARK___4 = 1114,\n\tIRQ3_B_MARK___2 = 1115,\n\tPWM0_C_MARK = 1116,\n\tIP9_11_8_MARK___5 = 1117,\n\tNFDATA2_MARK___4 = 1118,\n\tMMC_D2_MARK___2 = 1119,\n\tIP10_11_8_MARK___5 = 1120,\n\tSSI_SDATA3_MARK___4 = 1121,\n\tFSO_CFE_1_N_A_MARK = 1122,\n\tIP11_11_8_MARK___4 = 1123,\n\tMSIOF1_TXD_MARK___4 = 1124,\n\tAVB0_AVTP_CAPTURE_B_MARK = 1125,\n\tIP8_15_12_MARK___5 = 1126,\n\tNFCLE_MARK___4 = 1127,\n\tSDA2_B_MARK___4 = 1128,\n\tSCK3_A_MARK___2 = 1129,\n\tPWM1_C_MARK = 1130,\n\tIP9_15_12_MARK___5 = 1131,\n\tNFDATA3_MARK___4 = 1132,\n\tMMC_D3_MARK___2 = 1133,\n\tIP10_15_12_MARK___5 = 1134,\n\tSSI_WS34_MARK = 1135,\n\tFSO_TOE_N_A_MARK = 1136,\n\tIP11_15_12_MARK___4 = 1137,\n\tMSIOF1_RXD_MARK___4 = 1138,\n\tAVB0_AVTP_MATCH_B_MARK = 1139,\n\tIP8_19_16_MARK___5 = 1140,\n\tNFCE_N_MARK = 1141,\n\tRX3_A_MARK___5 = 1142,\n\tPWM2_C_MARK = 1143,\n\tIP9_19_16_MARK___5 = 1144,\n\tNFDATA4_MARK___4 = 1145,\n\tMMC_D4_MARK___4 = 1146,\n\tIP10_19_16_MARK___5 = 1147,\n\tSSI_SCK4_A_MARK = 1148,\n\tHSCK0_MARK___6 = 1149,\n\tAUDIO_CLKOUT_MARK___2 = 1150,\n\tCAN0_RX_B_MARK___4 = 1151,\n\tIRQ4_B_MARK___2 = 1152,\n\tIP11_19_16_MARK___4 = 1153,\n\tSCK0_A_MARK = 1154,\n\tMSIOF1_SYNC_MARK___4 = 1155,\n\tFSO_CFE_0_N_B_MARK = 1156,\n\tIP8_23_20_MARK___5 = 1157,\n\tNFRB_N_MARK = 1158,\n\tTX3_A_MARK___5 = 1159,\n\tPWM3_C_MARK = 1160,\n\tIP9_23_20_MARK___5 = 1161,\n\tNFDATA5_MARK___4 = 1162,\n\tMMC_D5_MARK___4 = 1163,\n\tIP10_23_20_MARK___4 = 1164,\n\tSSI_SDATA4_A_MARK = 1165,\n\tHTX0_MARK___6 = 1166,\n\tSCL2_A_MARK___4 = 1167,\n\tCAN1_RX_B_MARK = 1168,\n\tIP11_23_20_MARK___4 = 1169,\n\tRX0_A_MARK = 1170,\n\tMSIOF0_SS1_MARK___7 = 1171,\n\tFSO_CFE_1_N_B_MARK = 1172,\n\tIP8_27_24_MARK___5 = 1173,\n\tNFRE_N_MARK___4 = 1174,\n\tMMC_CMD_MARK___2 = 1175,\n\tIP9_27_24_MARK___5 = 1176,\n\tNFDATA6_MARK___4 = 1177,\n\tMMC_D6_MARK___4 = 1178,\n\tIP10_27_24_MARK___4 = 1179,\n\tSSI_WS4_A_MARK = 1180,\n\tHRX0_MARK___6 = 1181,\n\tSDA2_A_MARK___4 = 1182,\n\tCAN1_TX_B_MARK = 1183,\n\tIP11_27_24_MARK___4 = 1184,\n\tTX0_A_MARK = 1185,\n\tMSIOF0_SS2_MARK___7 = 1186,\n\tFSO_TOE_N_B_MARK = 1187,\n\tIP8_31_28_MARK___5 = 1188,\n\tNFWE_N_MARK___4 = 1189,\n\tMMC_CLK_MARK___2 = 1190,\n\tIP9_31_28_MARK___5 = 1191,\n\tNFDATA7_MARK___4 = 1192,\n\tMMC_D7_MARK___4 = 1193,\n\tIP10_31_28_MARK___4 = 1194,\n\tSCL1_MARK___4 = 1195,\n\tCTS1_N_MARK___6 = 1196,\n\tIP11_31_28_MARK___4 = 1197,\n\tSCK1_A_MARK___2 = 1198,\n\tMSIOF1_SS2_MARK___4 = 1199,\n\tTPU0TO2_B_MARK___2 = 1200,\n\tCAN0_TX_B_MARK___4 = 1201,\n\tAUDIO_CLKOUT1_MARK = 1202,\n\tIP12_3_0_MARK___4 = 1203,\n\tRX1_A_MARK___6 = 1204,\n\tCTS0_N_MARK___7 = 1205,\n\tTPU0TO0_B_MARK___2 = 1206,\n\tIP13_3_0_MARK___4 = 1207,\n\tCAN1_RX_A_MARK = 1208,\n\tCANFD1_RX_MARK___6 = 1209,\n\tTPU0TO2_A_MARK___2 = 1210,\n\tIP12_7_4_MARK___4 = 1211,\n\tTX1_A_MARK___6 = 1212,\n\tRTS0_N_MARK___7 = 1213,\n\tTPU0TO1_B_MARK___2 = 1214,\n\tIP13_7_4_MARK___4 = 1215,\n\tCAN1_TX_A_MARK = 1216,\n\tCANFD1_TX_MARK___6 = 1217,\n\tTPU0TO3_A_MARK___2 = 1218,\n\tIP12_11_8_MARK___4 = 1219,\n\tSCK2_MARK___4 = 1220,\n\tMSIOF1_SS1_MARK___4 = 1221,\n\tTPU0TO3_B_MARK___2 = 1222,\n\tIP12_15_12_MARK___4 = 1223,\n\tTPU0TO0_A_MARK___2 = 1224,\n\tAVB0_AVTP_CAPTURE_A_MARK = 1225,\n\tHCTS0_N_MARK___6 = 1226,\n\tIP12_19_16_MARK___4 = 1227,\n\tTPU0TO1_A_MARK___2 = 1228,\n\tAVB0_AVTP_MATCH_A_MARK = 1229,\n\tHRTS0_N_MARK___6 = 1230,\n\tIP12_23_20_MARK___4 = 1231,\n\tCAN_CLK_MARK___5 = 1232,\n\tAVB0_AVTP_PPS_A_MARK = 1233,\n\tSCK0_B_MARK = 1234,\n\tIRQ5_B_MARK = 1235,\n\tIP12_27_24_MARK___4 = 1236,\n\tCAN0_RX_A_MARK___4 = 1237,\n\tCANFD0_RX_MARK___2 = 1238,\n\tRX0_B_MARK = 1239,\n\tIP12_31_28_MARK___4 = 1240,\n\tCAN0_TX_A_MARK___4 = 1241,\n\tCANFD0_TX_MARK___2 = 1242,\n\tTX0_B_MARK = 1243,\n\tSEL_CAN0_0_MARK = 1244,\n\tSEL_CAN0_1_MARK = 1245,\n\tSEL_MSIOF2_0_MARK___4 = 1246,\n\tSEL_MSIOF2_1_MARK___4 = 1247,\n\tSEL_CAN1_0_MARK = 1248,\n\tSEL_CAN1_1_MARK = 1249,\n\tSEL_I2C3_0_MARK___2 = 1250,\n\tSEL_I2C3_1_MARK = 1251,\n\tSEL_I2C2_0_MARK___5 = 1252,\n\tSEL_I2C2_1_MARK___4 = 1253,\n\tSEL_SCIF5_0_MARK___4 = 1254,\n\tSEL_SCIF5_1_MARK___4 = 1255,\n\tSEL_ETHERAVB_0_MARK___4 = 1256,\n\tSEL_ETHERAVB_1_MARK___4 = 1257,\n\tSEL_MSIOF3_0_MARK___4 = 1258,\n\tSEL_MSIOF3_1_MARK___4 = 1259,\n\tSEL_SCIF0_0_MARK = 1260,\n\tSEL_SCIF0_1_MARK = 1261,\n\tSEL_HSCIF3_0_MARK___4 = 1262,\n\tSEL_HSCIF3_1_MARK___4 = 1263,\n\tSEL_SSIF4_0_MARK = 1264,\n\tSEL_SSIF4_1_MARK = 1265,\n\tSEL_SCIF4_0_MARK___4 = 1266,\n\tSEL_SCIF4_1_MARK___4 = 1267,\n\tSEL_PWM0_0_MARK___2 = 1268,\n\tSEL_PWM0_2_MARK = 1269,\n\tSEL_PWM0_1_MARK___2 = 1270,\n\tSEL_PWM1_0_MARK___5 = 1271,\n\tSEL_PWM1_2_MARK = 1272,\n\tSEL_PWM1_1_MARK___5 = 1273,\n\tSEL_PWM2_0_MARK___5 = 1274,\n\tSEL_PWM2_2_MARK = 1275,\n\tSEL_PWM2_1_MARK___5 = 1276,\n\tSEL_PWM3_0_MARK___5 = 1277,\n\tSEL_PWM3_2_MARK = 1278,\n\tSEL_PWM3_1_MARK___5 = 1279,\n\tSEL_IRQ_0_0_MARK = 1280,\n\tSEL_IRQ_0_1_MARK = 1281,\n\tSEL_IRQ_1_0_MARK = 1282,\n\tSEL_IRQ_1_1_MARK = 1283,\n\tSEL_IRQ_2_0_MARK = 1284,\n\tSEL_IRQ_2_1_MARK = 1285,\n\tSEL_IRQ_3_0_MARK = 1286,\n\tSEL_IRQ_3_1_MARK = 1287,\n\tSEL_IRQ_4_0_MARK = 1288,\n\tSEL_IRQ_4_1_MARK = 1289,\n\tSEL_IRQ_5_0_MARK = 1290,\n\tSEL_IRQ_5_1_MARK = 1291,\n\tSEL_TMU_0_0_MARK = 1292,\n\tSEL_TMU_0_1_MARK = 1293,\n\tSEL_TMU_1_0_MARK = 1294,\n\tSEL_TMU_1_1_MARK = 1295,\n\tSEL_SCIF3_0_MARK___4 = 1296,\n\tSEL_SCIF3_1_MARK___4 = 1297,\n\tSEL_SCIF1_0_MARK___5 = 1298,\n\tSEL_SCIF1_1_MARK___5 = 1299,\n\tSEL_SCU_0_MARK = 1300,\n\tSEL_SCU_1_MARK = 1301,\n\tSEL_RFSO_0_MARK = 1302,\n\tSEL_RFSO_1_MARK = 1303,\n\tPINMUX_MARK_END___7 = 1304,\n};\n\nenum {\n\tPINMUX_RESERVED___8 = 0,\n\tPINMUX_DATA_BEGIN___8 = 1,\n\tGP_0_0_DATA___8 = 2,\n\tGP_0_1_DATA___8 = 3,\n\tGP_0_2_DATA___8 = 4,\n\tGP_0_3_DATA___8 = 5,\n\tGP_0_4_DATA___8 = 6,\n\tGP_0_5_DATA___8 = 7,\n\tGP_0_6_DATA___8 = 8,\n\tGP_0_7_DATA___8 = 9,\n\tGP_0_8_DATA___8 = 10,\n\tGP_0_9_DATA___7 = 11,\n\tGP_0_10_DATA___7 = 12,\n\tGP_0_11_DATA___7 = 13,\n\tGP_0_12_DATA___7 = 14,\n\tGP_0_13_DATA___7 = 15,\n\tGP_0_14_DATA___7 = 16,\n\tGP_0_15_DATA___7 = 17,\n\tGP_0_16_DATA___4 = 18,\n\tGP_0_17_DATA___4 = 19,\n\tGP_0_18_DATA___4 = 20,\n\tGP_1_0_DATA___8 = 21,\n\tGP_1_1_DATA___8 = 22,\n\tGP_1_2_DATA___8 = 23,\n\tGP_1_3_DATA___8 = 24,\n\tGP_1_4_DATA___8 = 25,\n\tGP_1_5_DATA___8 = 26,\n\tGP_1_6_DATA___8 = 27,\n\tGP_1_7_DATA___8 = 28,\n\tGP_1_8_DATA___8 = 29,\n\tGP_1_9_DATA___8 = 30,\n\tGP_1_10_DATA___8 = 31,\n\tGP_1_11_DATA___8 = 32,\n\tGP_1_12_DATA___8 = 33,\n\tGP_1_13_DATA___8 = 34,\n\tGP_1_14_DATA___8 = 35,\n\tGP_1_15_DATA___8 = 36,\n\tGP_1_16_DATA___8 = 37,\n\tGP_1_17_DATA___8 = 38,\n\tGP_1_18_DATA___8 = 39,\n\tGP_1_19_DATA___8 = 40,\n\tGP_1_20_DATA___8 = 41,\n\tGP_1_21_DATA___8 = 42,\n\tGP_1_22_DATA___8 = 43,\n\tGP_1_23_DATA___8 = 44,\n\tGP_1_24_DATA___8 = 45,\n\tGP_1_25_DATA___7 = 46,\n\tGP_1_26_DATA___7 = 47,\n\tGP_1_27_DATA___7 = 48,\n\tGP_1_28_DATA___6 = 49,\n\tGP_1_29_DATA___2 = 50,\n\tGP_2_0_DATA___8 = 51,\n\tGP_2_1_DATA___8 = 52,\n\tGP_2_2_DATA___8 = 53,\n\tGP_2_3_DATA___8 = 54,\n\tGP_2_4_DATA___8 = 55,\n\tGP_2_5_DATA___8 = 56,\n\tGP_2_6_DATA___8 = 57,\n\tGP_2_7_DATA___8 = 58,\n\tGP_2_8_DATA___8 = 59,\n\tGP_2_9_DATA___8 = 60,\n\tGP_2_10_DATA___8 = 61,\n\tGP_2_11_DATA___8 = 62,\n\tGP_2_12_DATA___8 = 63,\n\tGP_2_13_DATA___8 = 64,\n\tGP_2_14_DATA___8 = 65,\n\tGP_2_15_DATA___5 = 66,\n\tGP_2_17_DATA___4 = 67,\n\tGP_2_19_DATA___4 = 68,\n\tGP_3_0_DATA___8 = 69,\n\tGP_3_1_DATA___8 = 70,\n\tGP_3_2_DATA___8 = 71,\n\tGP_3_3_DATA___8 = 72,\n\tGP_3_4_DATA___8 = 73,\n\tGP_3_5_DATA___8 = 74,\n\tGP_3_6_DATA___8 = 75,\n\tGP_3_7_DATA___8 = 76,\n\tGP_3_8_DATA___8 = 77,\n\tGP_3_9_DATA___8 = 78,\n\tGP_3_10_DATA___7 = 79,\n\tGP_3_11_DATA___7 = 80,\n\tGP_3_12_DATA___7 = 81,\n\tGP_3_13_DATA___7 = 82,\n\tGP_3_14_DATA___7 = 83,\n\tGP_3_15_DATA___7 = 84,\n\tGP_3_16_DATA___4 = 85,\n\tGP_3_17_DATA___3 = 86,\n\tGP_3_18_DATA___3 = 87,\n\tGP_3_19_DATA___2 = 88,\n\tGP_3_20_DATA___2 = 89,\n\tGP_3_21_DATA___2 = 90,\n\tGP_3_22_DATA___2 = 91,\n\tGP_3_23_DATA___2 = 92,\n\tGP_3_24_DATA___2 = 93,\n\tGP_3_25_DATA___2 = 94,\n\tGP_3_26_DATA___2 = 95,\n\tGP_3_27_DATA___2 = 96,\n\tGP_3_28_DATA___2 = 97,\n\tGP_3_29_DATA___2 = 98,\n\tGP_3_30_DATA = 99,\n\tGP_3_31_DATA = 100,\n\tGP_4_0_DATA___7 = 101,\n\tGP_4_1_DATA___7 = 102,\n\tGP_4_2_DATA___7 = 103,\n\tGP_4_3_DATA___7 = 104,\n\tGP_4_4_DATA___7 = 105,\n\tGP_4_5_DATA___7 = 106,\n\tGP_4_6_DATA___7 = 107,\n\tGP_4_7_DATA___7 = 108,\n\tGP_4_8_DATA___7 = 109,\n\tGP_4_9_DATA___7 = 110,\n\tGP_4_10_DATA___7 = 111,\n\tGP_4_11_DATA___7 = 112,\n\tGP_4_12_DATA___7 = 113,\n\tGP_4_13_DATA___7 = 114,\n\tGP_4_14_DATA___7 = 115,\n\tGP_4_15_DATA___7 = 116,\n\tGP_4_21_DATA___4 = 117,\n\tGP_4_23_DATA___4 = 118,\n\tGP_4_24_DATA___4 = 119,\n\tGP_5_0_DATA___7 = 120,\n\tGP_5_1_DATA___7 = 121,\n\tGP_5_2_DATA___7 = 122,\n\tGP_5_3_DATA___7 = 123,\n\tGP_5_4_DATA___7 = 124,\n\tGP_5_5_DATA___7 = 125,\n\tGP_5_6_DATA___7 = 126,\n\tGP_5_7_DATA___7 = 127,\n\tGP_5_8_DATA___7 = 128,\n\tGP_5_9_DATA___7 = 129,\n\tGP_5_10_DATA___7 = 130,\n\tGP_5_11_DATA___7 = 131,\n\tGP_5_12_DATA___7 = 132,\n\tGP_5_13_DATA___7 = 133,\n\tGP_5_14_DATA___7 = 134,\n\tGP_5_15_DATA___6 = 135,\n\tGP_5_16_DATA___6 = 136,\n\tGP_5_17_DATA___6 = 137,\n\tGP_5_18_DATA___6 = 138,\n\tGP_5_19_DATA___6 = 139,\n\tGP_5_20_DATA___6 = 140,\n\tGP_6_0_DATA___6 = 141,\n\tGP_6_1_DATA___6 = 142,\n\tGP_6_2_DATA___6 = 143,\n\tGP_6_3_DATA___6 = 144,\n\tGP_6_4_DATA___6 = 145,\n\tGP_6_5_DATA___6 = 146,\n\tGP_6_6_DATA___6 = 147,\n\tGP_6_7_DATA___6 = 148,\n\tGP_6_8_DATA___6 = 149,\n\tGP_6_9_DATA___6 = 150,\n\tGP_6_10_DATA___6 = 151,\n\tGP_6_11_DATA___6 = 152,\n\tGP_6_12_DATA___6 = 153,\n\tGP_6_13_DATA___6 = 154,\n\tGP_6_14_DATA___5 = 155,\n\tGP_6_15_DATA___5 = 156,\n\tGP_6_16_DATA___5 = 157,\n\tGP_6_17_DATA___5 = 158,\n\tGP_6_18_DATA___5 = 159,\n\tGP_6_19_DATA___5 = 160,\n\tGP_6_20_DATA___5 = 161,\n\tGP_7_0_DATA___5 = 162,\n\tGP_7_1_DATA___5 = 163,\n\tGP_7_2_DATA___5 = 164,\n\tGP_7_3_DATA___5 = 165,\n\tGP_7_4_DATA___2 = 166,\n\tGP_7_5_DATA___2 = 167,\n\tGP_7_6_DATA___2 = 168,\n\tGP_7_7_DATA___2 = 169,\n\tGP_7_8_DATA___2 = 170,\n\tGP_7_9_DATA___2 = 171,\n\tGP_7_10_DATA___2 = 172,\n\tGP_7_11_DATA___2 = 173,\n\tGP_7_12_DATA___2 = 174,\n\tGP_7_13_DATA___2 = 175,\n\tGP_7_14_DATA___2 = 176,\n\tGP_7_15_DATA___2 = 177,\n\tGP_7_16_DATA___2 = 178,\n\tGP_7_17_DATA___2 = 179,\n\tGP_7_18_DATA___2 = 180,\n\tGP_7_19_DATA___2 = 181,\n\tGP_7_20_DATA___2 = 182,\n\tPINMUX_DATA_END___8 = 183,\n\tPINMUX_FUNCTION_BEGIN___8 = 184,\n\tGP_0_0_FN___8 = 185,\n\tGP_0_1_FN___8 = 186,\n\tGP_0_2_FN___8 = 187,\n\tGP_0_3_FN___8 = 188,\n\tGP_0_4_FN___8 = 189,\n\tGP_0_5_FN___8 = 190,\n\tGP_0_6_FN___8 = 191,\n\tGP_0_7_FN___8 = 192,\n\tGP_0_8_FN___8 = 193,\n\tGP_0_9_FN___7 = 194,\n\tGP_0_10_FN___7 = 195,\n\tGP_0_11_FN___7 = 196,\n\tGP_0_12_FN___7 = 197,\n\tGP_0_13_FN___7 = 198,\n\tGP_0_14_FN___7 = 199,\n\tGP_0_15_FN___7 = 200,\n\tGP_0_16_FN___4 = 201,\n\tGP_0_17_FN___4 = 202,\n\tGP_0_18_FN___4 = 203,\n\tGP_1_0_FN___8 = 204,\n\tGP_1_1_FN___8 = 205,\n\tGP_1_2_FN___8 = 206,\n\tGP_1_3_FN___8 = 207,\n\tGP_1_4_FN___8 = 208,\n\tGP_1_5_FN___8 = 209,\n\tGP_1_6_FN___8 = 210,\n\tGP_1_7_FN___8 = 211,\n\tGP_1_8_FN___8 = 212,\n\tGP_1_9_FN___8 = 213,\n\tGP_1_10_FN___8 = 214,\n\tGP_1_11_FN___8 = 215,\n\tGP_1_12_FN___8 = 216,\n\tGP_1_13_FN___8 = 217,\n\tGP_1_14_FN___8 = 218,\n\tGP_1_15_FN___8 = 219,\n\tGP_1_16_FN___8 = 220,\n\tGP_1_17_FN___8 = 221,\n\tGP_1_18_FN___8 = 222,\n\tGP_1_19_FN___8 = 223,\n\tGP_1_20_FN___8 = 224,\n\tGP_1_21_FN___8 = 225,\n\tGP_1_22_FN___8 = 226,\n\tGP_1_23_FN___8 = 227,\n\tGP_1_24_FN___8 = 228,\n\tGP_1_25_FN___7 = 229,\n\tGP_1_26_FN___7 = 230,\n\tGP_1_27_FN___7 = 231,\n\tGP_1_28_FN___6 = 232,\n\tGP_1_29_FN___2 = 233,\n\tGP_2_0_FN___8 = 234,\n\tGP_2_1_FN___8 = 235,\n\tGP_2_2_FN___8 = 236,\n\tGP_2_3_FN___8 = 237,\n\tGP_2_4_FN___8 = 238,\n\tGP_2_5_FN___8 = 239,\n\tGP_2_6_FN___8 = 240,\n\tGP_2_7_FN___8 = 241,\n\tGP_2_8_FN___8 = 242,\n\tGP_2_9_FN___8 = 243,\n\tGP_2_10_FN___8 = 244,\n\tGP_2_11_FN___8 = 245,\n\tGP_2_12_FN___8 = 246,\n\tGP_2_13_FN___8 = 247,\n\tGP_2_14_FN___8 = 248,\n\tGP_2_15_FN___5 = 249,\n\tGP_2_17_FN___4 = 250,\n\tGP_2_19_FN___4 = 251,\n\tGP_3_0_FN___8 = 252,\n\tGP_3_1_FN___8 = 253,\n\tGP_3_2_FN___8 = 254,\n\tGP_3_3_FN___8 = 255,\n\tGP_3_4_FN___8 = 256,\n\tGP_3_5_FN___8 = 257,\n\tGP_3_6_FN___8 = 258,\n\tGP_3_7_FN___8 = 259,\n\tGP_3_8_FN___8 = 260,\n\tGP_3_9_FN___8 = 261,\n\tGP_3_10_FN___7 = 262,\n\tGP_3_11_FN___7 = 263,\n\tGP_3_12_FN___7 = 264,\n\tGP_3_13_FN___7 = 265,\n\tGP_3_14_FN___7 = 266,\n\tGP_3_15_FN___7 = 267,\n\tGP_3_16_FN___4 = 268,\n\tGP_3_17_FN___3 = 269,\n\tGP_3_18_FN___3 = 270,\n\tGP_3_19_FN___2 = 271,\n\tGP_3_20_FN___2 = 272,\n\tGP_3_21_FN___2 = 273,\n\tGP_3_22_FN___2 = 274,\n\tGP_3_23_FN___2 = 275,\n\tGP_3_24_FN___2 = 276,\n\tGP_3_25_FN___2 = 277,\n\tGP_3_26_FN___2 = 278,\n\tGP_3_27_FN___2 = 279,\n\tGP_3_28_FN___2 = 280,\n\tGP_3_29_FN___2 = 281,\n\tGP_3_30_FN = 282,\n\tGP_3_31_FN = 283,\n\tGP_4_0_FN___7 = 284,\n\tGP_4_1_FN___7 = 285,\n\tGP_4_2_FN___7 = 286,\n\tGP_4_3_FN___7 = 287,\n\tGP_4_4_FN___7 = 288,\n\tGP_4_5_FN___7 = 289,\n\tGP_4_6_FN___7 = 290,\n\tGP_4_7_FN___7 = 291,\n\tGP_4_8_FN___7 = 292,\n\tGP_4_9_FN___7 = 293,\n\tGP_4_10_FN___7 = 294,\n\tGP_4_11_FN___7 = 295,\n\tGP_4_12_FN___7 = 296,\n\tGP_4_13_FN___7 = 297,\n\tGP_4_14_FN___7 = 298,\n\tGP_4_15_FN___7 = 299,\n\tGP_4_21_FN___4 = 300,\n\tGP_4_23_FN___4 = 301,\n\tGP_4_24_FN___4 = 302,\n\tGP_5_0_FN___7 = 303,\n\tGP_5_1_FN___7 = 304,\n\tGP_5_2_FN___7 = 305,\n\tGP_5_3_FN___7 = 306,\n\tGP_5_4_FN___7 = 307,\n\tGP_5_5_FN___7 = 308,\n\tGP_5_6_FN___7 = 309,\n\tGP_5_7_FN___7 = 310,\n\tGP_5_8_FN___7 = 311,\n\tGP_5_9_FN___7 = 312,\n\tGP_5_10_FN___7 = 313,\n\tGP_5_11_FN___7 = 314,\n\tGP_5_12_FN___7 = 315,\n\tGP_5_13_FN___7 = 316,\n\tGP_5_14_FN___7 = 317,\n\tGP_5_15_FN___6 = 318,\n\tGP_5_16_FN___6 = 319,\n\tGP_5_17_FN___6 = 320,\n\tGP_5_18_FN___6 = 321,\n\tGP_5_19_FN___6 = 322,\n\tGP_5_20_FN___6 = 323,\n\tGP_6_0_FN___6 = 324,\n\tGP_6_1_FN___6 = 325,\n\tGP_6_2_FN___6 = 326,\n\tGP_6_3_FN___6 = 327,\n\tGP_6_4_FN___6 = 328,\n\tGP_6_5_FN___6 = 329,\n\tGP_6_6_FN___6 = 330,\n\tGP_6_7_FN___6 = 331,\n\tGP_6_8_FN___6 = 332,\n\tGP_6_9_FN___6 = 333,\n\tGP_6_10_FN___6 = 334,\n\tGP_6_11_FN___6 = 335,\n\tGP_6_12_FN___6 = 336,\n\tGP_6_13_FN___6 = 337,\n\tGP_6_14_FN___5 = 338,\n\tGP_6_15_FN___5 = 339,\n\tGP_6_16_FN___5 = 340,\n\tGP_6_17_FN___5 = 341,\n\tGP_6_18_FN___5 = 342,\n\tGP_6_19_FN___5 = 343,\n\tGP_6_20_FN___5 = 344,\n\tGP_7_0_FN___5 = 345,\n\tGP_7_1_FN___5 = 346,\n\tGP_7_2_FN___5 = 347,\n\tGP_7_3_FN___5 = 348,\n\tGP_7_4_FN___2 = 349,\n\tGP_7_5_FN___2 = 350,\n\tGP_7_6_FN___2 = 351,\n\tGP_7_7_FN___2 = 352,\n\tGP_7_8_FN___2 = 353,\n\tGP_7_9_FN___2 = 354,\n\tGP_7_10_FN___2 = 355,\n\tGP_7_11_FN___2 = 356,\n\tGP_7_12_FN___2 = 357,\n\tGP_7_13_FN___2 = 358,\n\tGP_7_14_FN___2 = 359,\n\tGP_7_15_FN___2 = 360,\n\tGP_7_16_FN___2 = 361,\n\tGP_7_17_FN___2 = 362,\n\tGP_7_18_FN___2 = 363,\n\tGP_7_19_FN___2 = 364,\n\tGP_7_20_FN___2 = 365,\n\tFN_IP0SR0_3_0___3 = 366,\n\tFN_ERROROUTC_N_B___2 = 367,\n\tFN_TCLK2_B___7 = 368,\n\tFN_IP1SR0_3_0___3 = 369,\n\tFN_MSIOF5_SS1___2 = 370,\n\tFN_IP2SR0_3_0___3 = 371,\n\tFN_MSIOF2_TXD___5 = 372,\n\tFN_HCTS1_N_A___5 = 373,\n\tFN_CTS1_N_A___2 = 374,\n\tFN_IP0SR0_7_4___3 = 375,\n\tFN_MSIOF3_SS1___4 = 376,\n\tFN_IP1SR0_7_4___3 = 377,\n\tFN_MSIOF5_SYNC___2 = 378,\n\tFN_IP2SR0_7_4___3 = 379,\n\tFN_MSIOF2_SCK___5 = 380,\n\tFN_HRTS1_N_A___5 = 381,\n\tFN_RTS1_N_A___2 = 382,\n\tFN_IP0SR0_11_8___3 = 383,\n\tFN_MSIOF3_SS2___4 = 384,\n\tFN_IP1SR0_11_8___3 = 385,\n\tFN_MSIOF5_TXD___2 = 386,\n\tFN_IP2SR0_11_8___3 = 387,\n\tFN_MSIOF2_RXD___5 = 388,\n\tFN_HSCK1_A___5 = 389,\n\tFN_SCK1_A___3 = 390,\n\tFN_IP0SR0_15_12___3 = 391,\n\tFN_IRQ3_A___3 = 392,\n\tFN_MSIOF3_SCK___4 = 393,\n\tFN_IP1SR0_15_12___3 = 394,\n\tFN_MSIOF5_SCK___2 = 395,\n\tFN_IP0SR0_19_16___3 = 396,\n\tFN_IRQ2_A___3 = 397,\n\tFN_MSIOF3_TXD___4 = 398,\n\tFN_IP1SR0_19_16___3 = 399,\n\tFN_MSIOF5_RXD___2 = 400,\n\tFN_IP0SR0_23_20___3 = 401,\n\tFN_IRQ1_A___3 = 402,\n\tFN_MSIOF3_RXD___4 = 403,\n\tFN_IP1SR0_23_20___3 = 404,\n\tFN_MSIOF2_SS2___5 = 405,\n\tFN_TCLK1_A___7 = 406,\n\tFN_IRQ2_B___3 = 407,\n\tFN_IP0SR0_27_24___3 = 408,\n\tFN_IRQ0_A___3 = 409,\n\tFN_MSIOF3_SYNC___4 = 410,\n\tFN_IP1SR0_27_24___3 = 411,\n\tFN_MSIOF2_SS1___5 = 412,\n\tFN_HTX1_A___5 = 413,\n\tFN_TX1_A___7 = 414,\n\tFN_IP0SR0_31_28___3 = 415,\n\tFN_MSIOF5_SS2___2 = 416,\n\tFN_IP1SR0_31_28___3 = 417,\n\tFN_MSIOF2_SYNC___4 = 418,\n\tFN_HRX1_A___5 = 419,\n\tFN_RX1_A___7 = 420,\n\tFN_IP0SR1_3_0___3 = 421,\n\tFN_MSIOF1_SS2___5 = 422,\n\tFN_HTX3_B___6 = 423,\n\tFN_TX3_B___6 = 424,\n\tFN_IP1SR1_3_0___2 = 425,\n\tFN_MSIOF0_SYNC___8 = 426,\n\tFN_HCTS1_N_B___5 = 427,\n\tFN_CTS1_N_B___2 = 428,\n\tFN_IP2SR1_3_0___2 = 429,\n\tFN_HRX0___7 = 430,\n\tFN_RX0___7 = 431,\n\tFN_IP3SR1_3_0___2 = 432,\n\tFN_HRX3_A___6 = 433,\n\tFN_SCK3_A___3 = 434,\n\tFN_MSIOF4_SS2___2 = 435,\n\tFN_IP0SR1_7_4___3 = 436,\n\tFN_MSIOF1_SS1___5 = 437,\n\tFN_HCTS3_N_B___2 = 438,\n\tFN_RX3_B___6 = 439,\n\tFN_IP1SR1_7_4___2 = 440,\n\tFN_MSIOF0_TXD___8 = 441,\n\tFN_HRTS1_N_B___5 = 442,\n\tFN_RTS1_N_B___2 = 443,\n\tFN_IP2SR1_7_4___2 = 444,\n\tFN_SCIF_CLK___4 = 445,\n\tFN_IRQ4_A___3 = 446,\n\tFN_IP3SR1_7_4___2 = 447,\n\tFN_HSCK3_A___3 = 448,\n\tFN_CTS3_N_A___2 = 449,\n\tFN_MSIOF4_SCK___2 = 450,\n\tFN_TPU0TO0_B___3 = 451,\n\tFN_IP0SR1_11_8___3 = 452,\n\tFN_MSIOF1_SYNC___5 = 453,\n\tFN_HRTS3_N_B___2 = 454,\n\tFN_RTS3_N_B___2 = 455,\n\tFN_IP1SR1_11_8___2 = 456,\n\tFN_MSIOF0_SCK___8 = 457,\n\tFN_HSCK1_B___5 = 458,\n\tFN_SCK1_B___3 = 459,\n\tFN_IP2SR1_11_8___2 = 460,\n\tFN_SSI_SCK___2 = 461,\n\tFN_TCLK3_B___2 = 462,\n\tFN_IP3SR1_11_8___2 = 463,\n\tFN_HRTS3_N_A___2 = 464,\n\tFN_RTS3_N_A___2 = 465,\n\tFN_MSIOF4_TXD___2 = 466,\n\tFN_TPU0TO1_B___3 = 467,\n\tFN_IP0SR1_15_12___3 = 468,\n\tFN_MSIOF1_SCK___5 = 469,\n\tFN_HSCK3_B___3 = 470,\n\tFN_CTS3_N_B___2 = 471,\n\tFN_IP1SR1_15_12___2 = 472,\n\tFN_MSIOF0_RXD___8 = 473,\n\tFN_IP2SR1_15_12___2 = 474,\n\tFN_SSI_WS___2 = 475,\n\tFN_TCLK4_B___2 = 476,\n\tFN_IP3SR1_15_12___2 = 477,\n\tFN_HCTS3_N_A___2 = 478,\n\tFN_RX3_A___6 = 479,\n\tFN_MSIOF4_RXD___2 = 480,\n\tFN_IP0SR1_19_16___3 = 481,\n\tFN_MSIOF1_TXD___5 = 482,\n\tFN_HRX3_B___6 = 483,\n\tFN_SCK3_B___3 = 484,\n\tFN_IP1SR1_19_16___2 = 485,\n\tFN_HTX0___7 = 486,\n\tFN_TX0___7 = 487,\n\tFN_IP2SR1_19_16___2 = 488,\n\tFN_SSI_SD___2 = 489,\n\tFN_IRQ0_B___3 = 490,\n\tFN_IP3SR1_19_16___2 = 491,\n\tFN_HTX3_A___6 = 492,\n\tFN_TX3_A___6 = 493,\n\tFN_MSIOF4_SYNC___2 = 494,\n\tFN_IP0SR1_23_20___3 = 495,\n\tFN_MSIOF1_RXD___5 = 496,\n\tFN_IP1SR1_23_20___2 = 497,\n\tFN_HCTS0_N___7 = 498,\n\tFN_CTS0_N___8 = 499,\n\tFN_IP2SR1_23_20___2 = 500,\n\tFN_AUDIO_CLKOUT___3 = 501,\n\tFN_IRQ1_B___3 = 502,\n\tFN_IP3SR1_23_20 = 503,\n\tFN_ERROROUTC_N_A___2 = 504,\n\tFN_IP0SR1_27_24___3 = 505,\n\tFN_MSIOF0_SS2___8 = 506,\n\tFN_HTX1_B___5 = 507,\n\tFN_TX1_B___7 = 508,\n\tFN_IP1SR1_27_24___2 = 509,\n\tFN_HRTS0_N___7 = 510,\n\tFN_RTS0_N___8 = 511,\n\tFN_PWM0_B___3 = 512,\n\tFN_IP2SR1_27_24___2 = 513,\n\tFN_AUDIO_CLKIN___2 = 514,\n\tFN_PWM3_C___2 = 515,\n\tFN_IP0SR1_31_28___3 = 516,\n\tFN_MSIOF0_SS1___8 = 517,\n\tFN_HRX1_B___5 = 518,\n\tFN_RX1_B___7 = 519,\n\tFN_IP1SR1_31_28___2 = 520,\n\tFN_HSCK0___7 = 521,\n\tFN_SCK0___7 = 522,\n\tFN_PWM0_A___3 = 523,\n\tFN_IP2SR1_31_28___2 = 524,\n\tFN_TCLK2_A___7 = 525,\n\tFN_MSIOF4_SS1___2 = 526,\n\tFN_IRQ3_B___3 = 527,\n\tFN_IP0SR2_3_0___2 = 528,\n\tFN_FXR_TXDA___3 = 529,\n\tFN_TPU0TO2_B___3 = 530,\n\tFN_IP1SR2_3_0___2 = 531,\n\tFN_TPU0TO0_A___3 = 532,\n\tFN_TCLK1_B___7 = 533,\n\tFN_IP0SR2_7_4___2 = 534,\n\tFN_FXR_TXENA_N_A___2 = 535,\n\tFN_TPU0TO3_B___3 = 536,\n\tFN_IP1SR2_7_4___2 = 537,\n\tFN_CAN_CLK___6 = 538,\n\tFN_FXR_TXENA_N_B___2 = 539,\n\tFN_IP2SR2_7_4___2 = 540,\n\tFN_CANFD1_TX___7 = 541,\n\tFN_PWM1_C___2 = 542,\n\tFN_IP0SR2_11_8___2 = 543,\n\tFN_RXDA_EXTFXR___3 = 544,\n\tFN_IRQ5___7 = 545,\n\tFN_IP1SR2_11_8___2 = 546,\n\tFN_CANFD0_TX___3 = 547,\n\tFN_FXR_TXENB_N_B___2 = 548,\n\tFN_IP0SR2_15_12___2 = 549,\n\tFN_CLK_EXTFXR___3 = 550,\n\tFN_IRQ4_B___3 = 551,\n\tFN_IP1SR2_15_12___2 = 552,\n\tFN_CANFD0_RX___3 = 553,\n\tFN_STPWT_EXTFXR___2 = 554,\n\tFN_IP2SR2_15_12___2 = 555,\n\tFN_CANFD1_RX___7 = 556,\n\tFN_PWM2_C___2 = 557,\n\tFN_IP0SR2_19_16___2 = 558,\n\tFN_RXDB_EXTFXR___3 = 559,\n\tFN_IP1SR2_19_16___2 = 560,\n\tFN_CANFD2_TX___2 = 561,\n\tFN_TPU0TO2_A___3 = 562,\n\tFN_TCLK3_C___2 = 563,\n\tFN_IP0SR2_23_20___2 = 564,\n\tFN_FXR_TXENB_N_A___2 = 565,\n\tFN_IP1SR2_23_20___2 = 566,\n\tFN_CANFD2_RX___2 = 567,\n\tFN_TPU0TO3_A___3 = 568,\n\tFN_PWM1_B___7 = 569,\n\tFN_TCLK4_C___2 = 570,\n\tFN_IP0SR2_27_24___2 = 571,\n\tFN_FXR_TXDB___3 = 572,\n\tFN_IP1SR2_27_24___2 = 573,\n\tFN_CANFD3_TX___2 = 574,\n\tFN_PWM2_B___6 = 575,\n\tFN_IP0SR2_31_28___2 = 576,\n\tFN_TPU0TO1_A___3 = 577,\n\tFN_TCLK2_C___2 = 578,\n\tFN_IP1SR2_31_28___2 = 579,\n\tFN_CANFD3_RX___2 = 580,\n\tFN_PWM3_B___7 = 581,\n\tFN_IP0SR3_3_0___2 = 582,\n\tFN_MMC_SD_D1___3 = 583,\n\tFN_IP1SR3_3_0___2 = 584,\n\tFN_MMC_D7___5 = 585,\n\tFN_IP2SR3_3_0___2 = 586,\n\tFN_QSPI0_IO3___5 = 587,\n\tFN_IP3SR3_3_0___2 = 588,\n\tFN_QSPI1_IO2___5 = 589,\n\tFN_IP0SR3_7_4___2 = 590,\n\tFN_MMC_SD_D0___3 = 591,\n\tFN_IP1SR3_7_4___2 = 592,\n\tFN_MMC_D6___5 = 593,\n\tFN_IP2SR3_7_4___2 = 594,\n\tFN_QSPI0_IO2___5 = 595,\n\tFN_IP3SR3_7_4___2 = 596,\n\tFN_QSPI1_SSL___5 = 597,\n\tFN_IP0SR3_11_8___2 = 598,\n\tFN_MMC_SD_D2___3 = 599,\n\tFN_IP1SR3_11_8___2 = 600,\n\tFN_MMC_SD_CMD___3 = 601,\n\tFN_IP2SR3_11_8___2 = 602,\n\tFN_QSPI0_MISO_IO1___5 = 603,\n\tFN_IP3SR3_11_8___2 = 604,\n\tFN_QSPI1_IO3___5 = 605,\n\tFN_IP0SR3_15_12___2 = 606,\n\tFN_MMC_SD_CLK___3 = 607,\n\tFN_IP1SR3_15_12___2 = 608,\n\tFN_SD_CD___3 = 609,\n\tFN_IP2SR3_15_12___2 = 610,\n\tFN_QSPI0_MOSI_IO0___5 = 611,\n\tFN_IP3SR3_15_12___2 = 612,\n\tFN_RPC_RESET_N___5 = 613,\n\tFN_IP0SR3_19_16___2 = 614,\n\tFN_MMC_DS___4 = 615,\n\tFN_IP1SR3_19_16___2 = 616,\n\tFN_SD_WP___3 = 617,\n\tFN_IP2SR3_19_16___2 = 618,\n\tFN_QSPI0_SPCLK___5 = 619,\n\tFN_IP3SR3_19_16___2 = 620,\n\tFN_RPC_WP_N___4 = 621,\n\tFN_IP0SR3_23_20___2 = 622,\n\tFN_MMC_SD_D3___3 = 623,\n\tFN_IP1SR3_23_20___2 = 624,\n\tFN_PWM1_A___7 = 625,\n\tFN_IP2SR3_23_20___2 = 626,\n\tFN_QSPI1_MOSI_IO0___5 = 627,\n\tFN_IP3SR3_23_20___2 = 628,\n\tFN_RPC_INT_N___5 = 629,\n\tFN_IP0SR3_27_24___2 = 630,\n\tFN_MMC_D5___5 = 631,\n\tFN_IP1SR3_27_24___2 = 632,\n\tFN_PWM2_A___6 = 633,\n\tFN_IP2SR3_27_24___2 = 634,\n\tFN_QSPI1_SPCLK___5 = 635,\n\tFN_IP3SR3_27_24 = 636,\n\tFN_TCLK3_A___2 = 637,\n\tFN_IP0SR3_31_28___2 = 638,\n\tFN_MMC_D4___5 = 639,\n\tFN_IP1SR3_31_28___2 = 640,\n\tFN_QSPI0_SSL___5 = 641,\n\tFN_IP2SR3_31_28___2 = 642,\n\tFN_QSPI1_MISO_IO1___5 = 643,\n\tFN_IP3SR3_31_28 = 644,\n\tFN_TCLK4_A___2 = 645,\n\tFN_IP0SR4_3_0___2 = 646,\n\tFN_SCL0___4 = 647,\n\tFN_IP1SR4_3_0___2 = 648,\n\tFN_HRX2___4 = 649,\n\tFN_SCK4___4 = 650,\n\tFN_IP3SR4_3_0___2 = 651,\n\tFN_AVS1___5 = 652,\n\tFN_IP0SR4_7_4___2 = 653,\n\tFN_SDA0___4 = 654,\n\tFN_IP1SR4_7_4___2 = 655,\n\tFN_HTX2___4 = 656,\n\tFN_CTS4_N___4 = 657,\n\tFN_IP0SR4_11_8___2 = 658,\n\tFN_SCL1___4 = 659,\n\tFN_IP1SR4_11_8___2 = 660,\n\tFN_HRTS2_N___4 = 661,\n\tFN_RTS4_N___4 = 662,\n\tFN_IP0SR4_15_12___2 = 663,\n\tFN_SDA1___4 = 664,\n\tFN_IP1SR4_15_12___2 = 665,\n\tFN_SCIF_CLK2___2 = 666,\n\tFN_IP0SR4_19_16___2 = 667,\n\tFN_SCL2___3 = 668,\n\tFN_IP1SR4_19_16___2 = 669,\n\tFN_HCTS2_N___4 = 670,\n\tFN_TX4___4 = 671,\n\tFN_IP0SR4_23_20___2 = 672,\n\tFN_SDA2___3 = 673,\n\tFN_IP1SR4_23_20___2 = 674,\n\tFN_HSCK2___4 = 675,\n\tFN_RX4___4 = 676,\n\tFN_IP2SR4_23_20___2 = 677,\n\tFN_PCIE0_CLKREQ_N___3 = 678,\n\tFN_IP0SR4_27_24___2 = 679,\n\tFN_SCL3___3 = 680,\n\tFN_IP1SR4_27_24___2 = 681,\n\tFN_PWM3_A___7 = 682,\n\tFN_IP0SR4_31_28___2 = 683,\n\tFN_SDA3___3 = 684,\n\tFN_IP1SR4_31_28___2 = 685,\n\tFN_PWM4___2 = 686,\n\tFN_IP2SR4_31_28___2 = 687,\n\tFN_AVS0___2 = 688,\n\tFN_IP0SR5_3_0___2 = 689,\n\tFN_AVB2_AVTP_PPS___2 = 690,\n\tFN_Ether_GPTP_PPS0 = 691,\n\tFN_IP1SR5_3_0___2 = 692,\n\tFN_AVB2_TD3___2 = 693,\n\tFN_IP2SR5_3_0___2 = 694,\n\tFN_AVB2_TXC___2 = 695,\n\tFN_IP0SR5_7_4___2 = 696,\n\tFN_AVB2_AVTP_CAPTURE___2 = 697,\n\tFN_Ether_GPTP_CAPTURE = 698,\n\tFN_IP1SR5_7_4___2 = 699,\n\tFN_AVB2_RD3___2 = 700,\n\tFN_IP2SR5_7_4___2 = 701,\n\tFN_AVB2_RD0___2 = 702,\n\tFN_IP0SR5_11_8___2 = 703,\n\tFN_AVB2_AVTP_MATCH___2 = 704,\n\tFN_Ether_GPTP_MATCH = 705,\n\tFN_IP1SR5_11_8___2 = 706,\n\tFN_AVB2_MDIO___2 = 707,\n\tFN_IP2SR5_11_8___2 = 708,\n\tFN_AVB2_RXC___2 = 709,\n\tFN_IP0SR5_15_12___2 = 710,\n\tFN_AVB2_LINK___2 = 711,\n\tFN_IP1SR5_15_12___2 = 712,\n\tFN_AVB2_TD2___2 = 713,\n\tFN_IP2SR5_15_12___2 = 714,\n\tFN_AVB2_TX_CTL___2 = 715,\n\tFN_IP0SR5_19_16___2 = 716,\n\tFN_AVB2_PHY_INT___2 = 717,\n\tFN_IP1SR5_19_16___2 = 718,\n\tFN_AVB2_TD1___2 = 719,\n\tFN_IP2SR5_19_16___2 = 720,\n\tFN_AVB2_RX_CTL___2 = 721,\n\tFN_IP0SR5_23_20___2 = 722,\n\tFN_AVB2_MAGIC___2 = 723,\n\tFN_Ether_GPTP_PPS1 = 724,\n\tFN_IP1SR5_23_20___2 = 725,\n\tFN_AVB2_RD2___2 = 726,\n\tFN_IP0SR5_27_24___2 = 727,\n\tFN_AVB2_MDC___2 = 728,\n\tFN_IP1SR5_27_24___2 = 729,\n\tFN_AVB2_RD1___2 = 730,\n\tFN_IP0SR5_31_28___2 = 731,\n\tFN_AVB2_TXCREFCLK___2 = 732,\n\tFN_IP1SR5_31_28___2 = 733,\n\tFN_AVB2_TD0___2 = 734,\n\tFN_IP0SR6_3_0___2 = 735,\n\tFN_AVB1_MDIO___2 = 736,\n\tFN_IP1SR6_3_0___2 = 737,\n\tFN_AVB1_RXC___2 = 738,\n\tFN_AVB1_MII_RXC___2 = 739,\n\tFN_IP2SR6_3_0___2 = 740,\n\tFN_AVB1_TD2___2 = 741,\n\tFN_AVB1_MII_TD2___2 = 742,\n\tFN_IP0SR6_7_4___2 = 743,\n\tFN_AVB1_MAGIC___2 = 744,\n\tFN_IP1SR6_7_4___2 = 745,\n\tFN_AVB1_RX_CTL___2 = 746,\n\tFN_AVB1_MII_RX_DV___2 = 747,\n\tFN_IP2SR6_7_4___2 = 748,\n\tFN_AVB1_RD2___2 = 749,\n\tFN_AVB1_MII_RD2___2 = 750,\n\tFN_IP0SR6_11_8___2 = 751,\n\tFN_AVB1_MDC___2 = 752,\n\tFN_IP1SR6_11_8___2 = 753,\n\tFN_AVB1_AVTP_PPS___2 = 754,\n\tFN_AVB1_MII_COL___2 = 755,\n\tFN_IP2SR6_11_8___2 = 756,\n\tFN_AVB1_TD3___2 = 757,\n\tFN_AVB1_MII_TD3___2 = 758,\n\tFN_IP0SR6_15_12___2 = 759,\n\tFN_AVB1_PHY_INT___2 = 760,\n\tFN_IP1SR6_15_12___2 = 761,\n\tFN_AVB1_AVTP_CAPTURE___2 = 762,\n\tFN_AVB1_MII_CRS___2 = 763,\n\tFN_IP2SR6_15_12___2 = 764,\n\tFN_AVB1_RD3___2 = 765,\n\tFN_AVB1_MII_RD3___2 = 766,\n\tFN_IP0SR6_19_16___2 = 767,\n\tFN_AVB1_LINK___2 = 768,\n\tFN_AVB1_MII_TX_ER___2 = 769,\n\tFN_IP1SR6_19_16___2 = 770,\n\tFN_AVB1_TD1___2 = 771,\n\tFN_AVB1_MII_TD1___2 = 772,\n\tFN_IP2SR6_19_16___2 = 773,\n\tFN_AVB1_TXCREFCLK___2 = 774,\n\tFN_IP0SR6_23_20___2 = 775,\n\tFN_AVB1_AVTP_MATCH___2 = 776,\n\tFN_AVB1_MII_RX_ER___2 = 777,\n\tFN_IP1SR6_23_20___2 = 778,\n\tFN_AVB1_TD0___2 = 779,\n\tFN_AVB1_MII_TD0___2 = 780,\n\tFN_IP0SR6_27_24___2 = 781,\n\tFN_AVB1_TXC___2 = 782,\n\tFN_AVB1_MII_TXC___2 = 783,\n\tFN_IP1SR6_27_24___2 = 784,\n\tFN_AVB1_RD1___2 = 785,\n\tFN_AVB1_MII_RD1___2 = 786,\n\tFN_IP0SR6_31_28___2 = 787,\n\tFN_AVB1_TX_CTL___2 = 788,\n\tFN_AVB1_MII_TX_EN___2 = 789,\n\tFN_IP1SR6_31_28___2 = 790,\n\tFN_AVB1_RD0___2 = 791,\n\tFN_AVB1_MII_RD0___2 = 792,\n\tFN_IP0SR7_3_0___2 = 793,\n\tFN_AVB0_AVTP_PPS___2 = 794,\n\tFN_AVB0_MII_COL___2 = 795,\n\tFN_IP1SR7_3_0___2 = 796,\n\tFN_AVB0_RD3___3 = 797,\n\tFN_AVB0_MII_RD3___2 = 798,\n\tFN_IP2SR7_3_0___2 = 799,\n\tFN_AVB0_TX_CTL___3 = 800,\n\tFN_AVB0_MII_TX_EN___2 = 801,\n\tFN_IP0SR7_7_4___2 = 802,\n\tFN_AVB0_AVTP_CAPTURE___2 = 803,\n\tFN_AVB0_MII_CRS___2 = 804,\n\tFN_IP1SR7_7_4___2 = 805,\n\tFN_AVB0_TXCREFCLK___3 = 806,\n\tFN_IP2SR7_7_4___2 = 807,\n\tFN_AVB0_RD1___3 = 808,\n\tFN_AVB0_MII_RD1___2 = 809,\n\tFN_IP0SR7_11_8___2 = 810,\n\tFN_AVB0_AVTP_MATCH___2 = 811,\n\tFN_AVB0_MII_RX_ER___2 = 812,\n\tFN_CC5_OSCOUT___2 = 813,\n\tFN_IP1SR7_11_8___2 = 814,\n\tFN_AVB0_MAGIC___3 = 815,\n\tFN_IP2SR7_11_8___2 = 816,\n\tFN_AVB0_RD0___3 = 817,\n\tFN_AVB0_MII_RD0___2 = 818,\n\tFN_IP0SR7_15_12___2 = 819,\n\tFN_AVB0_TD3___3 = 820,\n\tFN_AVB0_MII_TD3___2 = 821,\n\tFN_IP1SR7_15_12___2 = 822,\n\tFN_AVB0_TD0___3 = 823,\n\tFN_AVB0_MII_TD0___2 = 824,\n\tFN_IP2SR7_15_12___2 = 825,\n\tFN_AVB0_RXC___3 = 826,\n\tFN_AVB0_MII_RXC___2 = 827,\n\tFN_IP0SR7_19_16___2 = 828,\n\tFN_AVB0_LINK___3 = 829,\n\tFN_AVB0_MII_TX_ER___2 = 830,\n\tFN_IP1SR7_19_16___2 = 831,\n\tFN_AVB0_RD2___3 = 832,\n\tFN_AVB0_MII_RD2___2 = 833,\n\tFN_IP2SR7_19_16___2 = 834,\n\tFN_AVB0_RX_CTL___3 = 835,\n\tFN_AVB0_MII_RX_DV___2 = 836,\n\tFN_IP0SR7_23_20___2 = 837,\n\tFN_AVB0_PHY_INT___3 = 838,\n\tFN_IP1SR7_23_20___2 = 839,\n\tFN_AVB0_MDC___3 = 840,\n\tFN_IP0SR7_27_24___2 = 841,\n\tFN_AVB0_TD2___3 = 842,\n\tFN_AVB0_MII_TD2___2 = 843,\n\tFN_IP1SR7_27_24___2 = 844,\n\tFN_AVB0_MDIO___3 = 845,\n\tFN_IP0SR7_31_28___2 = 846,\n\tFN_AVB0_TD1___3 = 847,\n\tFN_AVB0_MII_TD1___2 = 848,\n\tFN_IP1SR7_31_28___2 = 849,\n\tFN_AVB0_TXC___3 = 850,\n\tFN_AVB0_MII_TXC___2 = 851,\n\tFN_SEL_SDA3_0___2 = 852,\n\tFN_SEL_SDA3_1___2 = 853,\n\tFN_SEL_SCL3_0___2 = 854,\n\tFN_SEL_SCL3_1___2 = 855,\n\tFN_SEL_SDA2_0___2 = 856,\n\tFN_SEL_SDA2_1___2 = 857,\n\tFN_SEL_SCL2_0___2 = 858,\n\tFN_SEL_SCL2_1___2 = 859,\n\tFN_SEL_SDA1_0___2 = 860,\n\tFN_SEL_SDA1_1___2 = 861,\n\tFN_SEL_SCL1_0___2 = 862,\n\tFN_SEL_SCL1_1___2 = 863,\n\tFN_SEL_SDA0_0___2 = 864,\n\tFN_SEL_SDA0_1___2 = 865,\n\tFN_SEL_SCL0_0___2 = 866,\n\tFN_SEL_SCL0_1___2 = 867,\n\tPINMUX_FUNCTION_END___8 = 868,\n\tPINMUX_MARK_BEGIN___8 = 869,\n\tIP0SR0_3_0_MARK___3 = 870,\n\tERROROUTC_N_B_MARK___2 = 871,\n\tTCLK2_B_MARK___7 = 872,\n\tIP1SR0_3_0_MARK___3 = 873,\n\tMSIOF5_SS1_MARK___2 = 874,\n\tIP2SR0_3_0_MARK___3 = 875,\n\tMSIOF2_TXD_MARK___5 = 876,\n\tHCTS1_N_A_MARK___5 = 877,\n\tCTS1_N_A_MARK___2 = 878,\n\tIP0SR0_7_4_MARK___3 = 879,\n\tMSIOF3_SS1_MARK___4 = 880,\n\tIP1SR0_7_4_MARK___3 = 881,\n\tMSIOF5_SYNC_MARK___2 = 882,\n\tIP2SR0_7_4_MARK___3 = 883,\n\tMSIOF2_SCK_MARK___5 = 884,\n\tHRTS1_N_A_MARK___5 = 885,\n\tRTS1_N_A_MARK___2 = 886,\n\tIP0SR0_11_8_MARK___3 = 887,\n\tMSIOF3_SS2_MARK___4 = 888,\n\tIP1SR0_11_8_MARK___3 = 889,\n\tMSIOF5_TXD_MARK___2 = 890,\n\tIP2SR0_11_8_MARK___3 = 891,\n\tMSIOF2_RXD_MARK___5 = 892,\n\tHSCK1_A_MARK___5 = 893,\n\tSCK1_A_MARK___3 = 894,\n\tIP0SR0_15_12_MARK___3 = 895,\n\tIRQ3_A_MARK___3 = 896,\n\tMSIOF3_SCK_MARK___4 = 897,\n\tIP1SR0_15_12_MARK___3 = 898,\n\tMSIOF5_SCK_MARK___2 = 899,\n\tIP0SR0_19_16_MARK___3 = 900,\n\tIRQ2_A_MARK___3 = 901,\n\tMSIOF3_TXD_MARK___4 = 902,\n\tIP1SR0_19_16_MARK___3 = 903,\n\tMSIOF5_RXD_MARK___2 = 904,\n\tIP0SR0_23_20_MARK___3 = 905,\n\tIRQ1_A_MARK___3 = 906,\n\tMSIOF3_RXD_MARK___4 = 907,\n\tIP1SR0_23_20_MARK___3 = 908,\n\tMSIOF2_SS2_MARK___5 = 909,\n\tTCLK1_A_MARK___7 = 910,\n\tIRQ2_B_MARK___3 = 911,\n\tIP0SR0_27_24_MARK___3 = 912,\n\tIRQ0_A_MARK___3 = 913,\n\tMSIOF3_SYNC_MARK___4 = 914,\n\tIP1SR0_27_24_MARK___3 = 915,\n\tMSIOF2_SS1_MARK___5 = 916,\n\tHTX1_A_MARK___5 = 917,\n\tTX1_A_MARK___7 = 918,\n\tIP0SR0_31_28_MARK___3 = 919,\n\tMSIOF5_SS2_MARK___2 = 920,\n\tIP1SR0_31_28_MARK___3 = 921,\n\tMSIOF2_SYNC_MARK___4 = 922,\n\tHRX1_A_MARK___5 = 923,\n\tRX1_A_MARK___7 = 924,\n\tIP0SR1_3_0_MARK___3 = 925,\n\tMSIOF1_SS2_MARK___5 = 926,\n\tHTX3_B_MARK___6 = 927,\n\tTX3_B_MARK___6 = 928,\n\tIP1SR1_3_0_MARK___2 = 929,\n\tMSIOF0_SYNC_MARK___8 = 930,\n\tHCTS1_N_B_MARK___5 = 931,\n\tCTS1_N_B_MARK___2 = 932,\n\tIP2SR1_3_0_MARK___2 = 933,\n\tHRX0_MARK___7 = 934,\n\tRX0_MARK___7 = 935,\n\tIP3SR1_3_0_MARK___2 = 936,\n\tHRX3_A_MARK___6 = 937,\n\tSCK3_A_MARK___3 = 938,\n\tMSIOF4_SS2_MARK___2 = 939,\n\tIP0SR1_7_4_MARK___3 = 940,\n\tMSIOF1_SS1_MARK___5 = 941,\n\tHCTS3_N_B_MARK___2 = 942,\n\tRX3_B_MARK___6 = 943,\n\tIP1SR1_7_4_MARK___2 = 944,\n\tMSIOF0_TXD_MARK___8 = 945,\n\tHRTS1_N_B_MARK___5 = 946,\n\tRTS1_N_B_MARK___2 = 947,\n\tIP2SR1_7_4_MARK___2 = 948,\n\tSCIF_CLK_MARK___4 = 949,\n\tIRQ4_A_MARK___3 = 950,\n\tIP3SR1_7_4_MARK___2 = 951,\n\tHSCK3_A_MARK___3 = 952,\n\tCTS3_N_A_MARK___2 = 953,\n\tMSIOF4_SCK_MARK___2 = 954,\n\tTPU0TO0_B_MARK___3 = 955,\n\tIP0SR1_11_8_MARK___3 = 956,\n\tMSIOF1_SYNC_MARK___5 = 957,\n\tHRTS3_N_B_MARK___2 = 958,\n\tRTS3_N_B_MARK___2 = 959,\n\tIP1SR1_11_8_MARK___2 = 960,\n\tMSIOF0_SCK_MARK___8 = 961,\n\tHSCK1_B_MARK___5 = 962,\n\tSCK1_B_MARK___3 = 963,\n\tIP2SR1_11_8_MARK___2 = 964,\n\tSSI_SCK_MARK___2 = 965,\n\tTCLK3_B_MARK___2 = 966,\n\tIP3SR1_11_8_MARK___2 = 967,\n\tHRTS3_N_A_MARK___2 = 968,\n\tRTS3_N_A_MARK___2 = 969,\n\tMSIOF4_TXD_MARK___2 = 970,\n\tTPU0TO1_B_MARK___3 = 971,\n\tIP0SR1_15_12_MARK___3 = 972,\n\tMSIOF1_SCK_MARK___5 = 973,\n\tHSCK3_B_MARK___3 = 974,\n\tCTS3_N_B_MARK___2 = 975,\n\tIP1SR1_15_12_MARK___2 = 976,\n\tMSIOF0_RXD_MARK___8 = 977,\n\tIP2SR1_15_12_MARK___2 = 978,\n\tSSI_WS_MARK___2 = 979,\n\tTCLK4_B_MARK___2 = 980,\n\tIP3SR1_15_12_MARK___2 = 981,\n\tHCTS3_N_A_MARK___2 = 982,\n\tRX3_A_MARK___6 = 983,\n\tMSIOF4_RXD_MARK___2 = 984,\n\tIP0SR1_19_16_MARK___3 = 985,\n\tMSIOF1_TXD_MARK___5 = 986,\n\tHRX3_B_MARK___6 = 987,\n\tSCK3_B_MARK___3 = 988,\n\tIP1SR1_19_16_MARK___2 = 989,\n\tHTX0_MARK___7 = 990,\n\tTX0_MARK___7 = 991,\n\tIP2SR1_19_16_MARK___2 = 992,\n\tSSI_SD_MARK___2 = 993,\n\tIRQ0_B_MARK___3 = 994,\n\tIP3SR1_19_16_MARK___2 = 995,\n\tHTX3_A_MARK___6 = 996,\n\tTX3_A_MARK___6 = 997,\n\tMSIOF4_SYNC_MARK___2 = 998,\n\tIP0SR1_23_20_MARK___3 = 999,\n\tMSIOF1_RXD_MARK___5 = 1000,\n\tIP1SR1_23_20_MARK___2 = 1001,\n\tHCTS0_N_MARK___7 = 1002,\n\tCTS0_N_MARK___8 = 1003,\n\tIP2SR1_23_20_MARK___2 = 1004,\n\tAUDIO_CLKOUT_MARK___3 = 1005,\n\tIRQ1_B_MARK___3 = 1006,\n\tIP3SR1_23_20_MARK = 1007,\n\tERROROUTC_N_A_MARK___2 = 1008,\n\tIP0SR1_27_24_MARK___3 = 1009,\n\tMSIOF0_SS2_MARK___8 = 1010,\n\tHTX1_B_MARK___5 = 1011,\n\tTX1_B_MARK___7 = 1012,\n\tIP1SR1_27_24_MARK___2 = 1013,\n\tHRTS0_N_MARK___7 = 1014,\n\tRTS0_N_MARK___8 = 1015,\n\tPWM0_B_MARK___3 = 1016,\n\tIP2SR1_27_24_MARK___2 = 1017,\n\tAUDIO_CLKIN_MARK___2 = 1018,\n\tPWM3_C_MARK___2 = 1019,\n\tIP0SR1_31_28_MARK___3 = 1020,\n\tMSIOF0_SS1_MARK___8 = 1021,\n\tHRX1_B_MARK___5 = 1022,\n\tRX1_B_MARK___7 = 1023,\n\tIP1SR1_31_28_MARK___2 = 1024,\n\tHSCK0_MARK___7 = 1025,\n\tSCK0_MARK___7 = 1026,\n\tPWM0_A_MARK___3 = 1027,\n\tIP2SR1_31_28_MARK___2 = 1028,\n\tTCLK2_A_MARK___7 = 1029,\n\tMSIOF4_SS1_MARK___2 = 1030,\n\tIRQ3_B_MARK___3 = 1031,\n\tIP0SR2_3_0_MARK___2 = 1032,\n\tFXR_TXDA_MARK___3 = 1033,\n\tTPU0TO2_B_MARK___3 = 1034,\n\tIP1SR2_3_0_MARK___2 = 1035,\n\tTPU0TO0_A_MARK___3 = 1036,\n\tTCLK1_B_MARK___7 = 1037,\n\tIP0SR2_7_4_MARK___2 = 1038,\n\tFXR_TXENA_N_A_MARK___2 = 1039,\n\tTPU0TO3_B_MARK___3 = 1040,\n\tIP1SR2_7_4_MARK___2 = 1041,\n\tCAN_CLK_MARK___6 = 1042,\n\tFXR_TXENA_N_B_MARK___2 = 1043,\n\tIP2SR2_7_4_MARK___2 = 1044,\n\tCANFD1_TX_MARK___7 = 1045,\n\tPWM1_C_MARK___2 = 1046,\n\tIP0SR2_11_8_MARK___2 = 1047,\n\tRXDA_EXTFXR_MARK___3 = 1048,\n\tIRQ5_MARK___7 = 1049,\n\tIP1SR2_11_8_MARK___2 = 1050,\n\tCANFD0_TX_MARK___3 = 1051,\n\tFXR_TXENB_N_B_MARK___2 = 1052,\n\tIP0SR2_15_12_MARK___2 = 1053,\n\tCLK_EXTFXR_MARK___3 = 1054,\n\tIRQ4_B_MARK___3 = 1055,\n\tIP1SR2_15_12_MARK___2 = 1056,\n\tCANFD0_RX_MARK___3 = 1057,\n\tSTPWT_EXTFXR_MARK___2 = 1058,\n\tIP2SR2_15_12_MARK___2 = 1059,\n\tCANFD1_RX_MARK___7 = 1060,\n\tPWM2_C_MARK___2 = 1061,\n\tIP0SR2_19_16_MARK___2 = 1062,\n\tRXDB_EXTFXR_MARK___3 = 1063,\n\tIP1SR2_19_16_MARK___2 = 1064,\n\tCANFD2_TX_MARK___2 = 1065,\n\tTPU0TO2_A_MARK___3 = 1066,\n\tTCLK3_C_MARK___2 = 1067,\n\tIP0SR2_23_20_MARK___2 = 1068,\n\tFXR_TXENB_N_A_MARK___2 = 1069,\n\tIP1SR2_23_20_MARK___2 = 1070,\n\tCANFD2_RX_MARK___2 = 1071,\n\tTPU0TO3_A_MARK___3 = 1072,\n\tPWM1_B_MARK___7 = 1073,\n\tTCLK4_C_MARK___2 = 1074,\n\tIP0SR2_27_24_MARK___2 = 1075,\n\tFXR_TXDB_MARK___3 = 1076,\n\tIP1SR2_27_24_MARK___2 = 1077,\n\tCANFD3_TX_MARK___2 = 1078,\n\tPWM2_B_MARK___6 = 1079,\n\tIP0SR2_31_28_MARK___2 = 1080,\n\tTPU0TO1_A_MARK___3 = 1081,\n\tTCLK2_C_MARK___2 = 1082,\n\tIP1SR2_31_28_MARK___2 = 1083,\n\tCANFD3_RX_MARK___2 = 1084,\n\tPWM3_B_MARK___7 = 1085,\n\tIP0SR3_3_0_MARK___2 = 1086,\n\tMMC_SD_D1_MARK___3 = 1087,\n\tIP1SR3_3_0_MARK___2 = 1088,\n\tMMC_D7_MARK___5 = 1089,\n\tIP2SR3_3_0_MARK___2 = 1090,\n\tQSPI0_IO3_MARK___8 = 1091,\n\tIP3SR3_3_0_MARK___2 = 1092,\n\tQSPI1_IO2_MARK___8 = 1093,\n\tIP0SR3_7_4_MARK___2 = 1094,\n\tMMC_SD_D0_MARK___3 = 1095,\n\tIP1SR3_7_4_MARK___2 = 1096,\n\tMMC_D6_MARK___5 = 1097,\n\tIP2SR3_7_4_MARK___2 = 1098,\n\tQSPI0_IO2_MARK___8 = 1099,\n\tIP3SR3_7_4_MARK___2 = 1100,\n\tQSPI1_SSL_MARK___8 = 1101,\n\tIP0SR3_11_8_MARK___2 = 1102,\n\tMMC_SD_D2_MARK___3 = 1103,\n\tIP1SR3_11_8_MARK___2 = 1104,\n\tMMC_SD_CMD_MARK___3 = 1105,\n\tIP2SR3_11_8_MARK___2 = 1106,\n\tQSPI0_MISO_IO1_MARK___8 = 1107,\n\tIP3SR3_11_8_MARK___2 = 1108,\n\tQSPI1_IO3_MARK___8 = 1109,\n\tIP0SR3_15_12_MARK___2 = 1110,\n\tMMC_SD_CLK_MARK___3 = 1111,\n\tIP1SR3_15_12_MARK___2 = 1112,\n\tSD_CD_MARK___3 = 1113,\n\tIP2SR3_15_12_MARK___2 = 1114,\n\tQSPI0_MOSI_IO0_MARK___8 = 1115,\n\tIP3SR3_15_12_MARK___2 = 1116,\n\tRPC_RESET_N_MARK___5 = 1117,\n\tIP0SR3_19_16_MARK___2 = 1118,\n\tMMC_DS_MARK___4 = 1119,\n\tIP1SR3_19_16_MARK___2 = 1120,\n\tSD_WP_MARK___3 = 1121,\n\tIP2SR3_19_16_MARK___2 = 1122,\n\tQSPI0_SPCLK_MARK___8 = 1123,\n\tIP3SR3_19_16_MARK___2 = 1124,\n\tRPC_WP_N_MARK___4 = 1125,\n\tIP0SR3_23_20_MARK___2 = 1126,\n\tMMC_SD_D3_MARK___3 = 1127,\n\tIP1SR3_23_20_MARK___2 = 1128,\n\tPWM1_A_MARK___7 = 1129,\n\tIP2SR3_23_20_MARK___2 = 1130,\n\tQSPI1_MOSI_IO0_MARK___8 = 1131,\n\tIP3SR3_23_20_MARK___2 = 1132,\n\tRPC_INT_N_MARK___5 = 1133,\n\tIP0SR3_27_24_MARK___2 = 1134,\n\tMMC_D5_MARK___5 = 1135,\n\tIP1SR3_27_24_MARK___2 = 1136,\n\tPWM2_A_MARK___6 = 1137,\n\tIP2SR3_27_24_MARK___2 = 1138,\n\tQSPI1_SPCLK_MARK___8 = 1139,\n\tIP3SR3_27_24_MARK = 1140,\n\tTCLK3_A_MARK___2 = 1141,\n\tIP0SR3_31_28_MARK___2 = 1142,\n\tMMC_D4_MARK___5 = 1143,\n\tIP1SR3_31_28_MARK___2 = 1144,\n\tQSPI0_SSL_MARK___8 = 1145,\n\tIP2SR3_31_28_MARK___2 = 1146,\n\tQSPI1_MISO_IO1_MARK___8 = 1147,\n\tIP3SR3_31_28_MARK = 1148,\n\tTCLK4_A_MARK___2 = 1149,\n\tIP0SR4_3_0_MARK___2 = 1150,\n\tSCL0_MARK___8 = 1151,\n\tIP1SR4_3_0_MARK___2 = 1152,\n\tHRX2_MARK___4 = 1153,\n\tSCK4_MARK___4 = 1154,\n\tIP3SR4_3_0_MARK___2 = 1155,\n\tAVS1_MARK___5 = 1156,\n\tIP0SR4_7_4_MARK___2 = 1157,\n\tSDA0_MARK___8 = 1158,\n\tIP1SR4_7_4_MARK___2 = 1159,\n\tHTX2_MARK___4 = 1160,\n\tCTS4_N_MARK___4 = 1161,\n\tIP0SR4_11_8_MARK___2 = 1162,\n\tSCL1_MARK___5 = 1163,\n\tIP1SR4_11_8_MARK___2 = 1164,\n\tHRTS2_N_MARK___4 = 1165,\n\tRTS4_N_MARK___4 = 1166,\n\tIP0SR4_15_12_MARK___2 = 1167,\n\tSDA1_MARK___5 = 1168,\n\tIP1SR4_15_12_MARK___2 = 1169,\n\tSCIF_CLK2_MARK___2 = 1170,\n\tIP0SR4_19_16_MARK___2 = 1171,\n\tSCL2_MARK___4 = 1172,\n\tIP1SR4_19_16_MARK___2 = 1173,\n\tHCTS2_N_MARK___4 = 1174,\n\tTX4_MARK___4 = 1175,\n\tIP0SR4_23_20_MARK___2 = 1176,\n\tSDA2_MARK___4 = 1177,\n\tIP1SR4_23_20_MARK___2 = 1178,\n\tHSCK2_MARK___4 = 1179,\n\tRX4_MARK___4 = 1180,\n\tIP2SR4_23_20_MARK___2 = 1181,\n\tPCIE0_CLKREQ_N_MARK___3 = 1182,\n\tIP0SR4_27_24_MARK___2 = 1183,\n\tSCL3_MARK___7 = 1184,\n\tIP1SR4_27_24_MARK___2 = 1185,\n\tPWM3_A_MARK___7 = 1186,\n\tIP0SR4_31_28_MARK___2 = 1187,\n\tSDA3_MARK___7 = 1188,\n\tIP1SR4_31_28_MARK___2 = 1189,\n\tPWM4_MARK___2 = 1190,\n\tIP2SR4_31_28_MARK___2 = 1191,\n\tAVS0_MARK___2 = 1192,\n\tIP0SR5_3_0_MARK___2 = 1193,\n\tAVB2_AVTP_PPS_MARK___2 = 1194,\n\tEther_GPTP_PPS0_MARK = 1195,\n\tIP1SR5_3_0_MARK___2 = 1196,\n\tAVB2_TD3_MARK___2 = 1197,\n\tIP2SR5_3_0_MARK___2 = 1198,\n\tAVB2_TXC_MARK___2 = 1199,\n\tIP0SR5_7_4_MARK___2 = 1200,\n\tAVB2_AVTP_CAPTURE_MARK___2 = 1201,\n\tEther_GPTP_CAPTURE_MARK = 1202,\n\tIP1SR5_7_4_MARK___2 = 1203,\n\tAVB2_RD3_MARK___2 = 1204,\n\tIP2SR5_7_4_MARK___2 = 1205,\n\tAVB2_RD0_MARK___2 = 1206,\n\tIP0SR5_11_8_MARK___2 = 1207,\n\tAVB2_AVTP_MATCH_MARK___2 = 1208,\n\tEther_GPTP_MATCH_MARK = 1209,\n\tIP1SR5_11_8_MARK___2 = 1210,\n\tAVB2_MDIO_MARK___2 = 1211,\n\tIP2SR5_11_8_MARK___2 = 1212,\n\tAVB2_RXC_MARK___2 = 1213,\n\tIP0SR5_15_12_MARK___2 = 1214,\n\tAVB2_LINK_MARK___2 = 1215,\n\tIP1SR5_15_12_MARK___2 = 1216,\n\tAVB2_TD2_MARK___2 = 1217,\n\tIP2SR5_15_12_MARK___2 = 1218,\n\tAVB2_TX_CTL_MARK___2 = 1219,\n\tIP0SR5_19_16_MARK___2 = 1220,\n\tAVB2_PHY_INT_MARK___2 = 1221,\n\tIP1SR5_19_16_MARK___2 = 1222,\n\tAVB2_TD1_MARK___2 = 1223,\n\tIP2SR5_19_16_MARK___2 = 1224,\n\tAVB2_RX_CTL_MARK___2 = 1225,\n\tIP0SR5_23_20_MARK___2 = 1226,\n\tAVB2_MAGIC_MARK___2 = 1227,\n\tEther_GPTP_PPS1_MARK = 1228,\n\tIP1SR5_23_20_MARK___2 = 1229,\n\tAVB2_RD2_MARK___2 = 1230,\n\tIP0SR5_27_24_MARK___2 = 1231,\n\tAVB2_MDC_MARK___2 = 1232,\n\tIP1SR5_27_24_MARK___2 = 1233,\n\tAVB2_RD1_MARK___2 = 1234,\n\tIP0SR5_31_28_MARK___2 = 1235,\n\tAVB2_TXCREFCLK_MARK___2 = 1236,\n\tIP1SR5_31_28_MARK___2 = 1237,\n\tAVB2_TD0_MARK___2 = 1238,\n\tIP0SR6_3_0_MARK___2 = 1239,\n\tAVB1_MDIO_MARK___2 = 1240,\n\tIP1SR6_3_0_MARK___2 = 1241,\n\tAVB1_RXC_MARK___2 = 1242,\n\tAVB1_MII_RXC_MARK___2 = 1243,\n\tIP2SR6_3_0_MARK___2 = 1244,\n\tAVB1_TD2_MARK___2 = 1245,\n\tAVB1_MII_TD2_MARK___2 = 1246,\n\tIP0SR6_7_4_MARK___2 = 1247,\n\tAVB1_MAGIC_MARK___2 = 1248,\n\tIP1SR6_7_4_MARK___2 = 1249,\n\tAVB1_RX_CTL_MARK___2 = 1250,\n\tAVB1_MII_RX_DV_MARK___2 = 1251,\n\tIP2SR6_7_4_MARK___2 = 1252,\n\tAVB1_RD2_MARK___2 = 1253,\n\tAVB1_MII_RD2_MARK___2 = 1254,\n\tIP0SR6_11_8_MARK___2 = 1255,\n\tAVB1_MDC_MARK___2 = 1256,\n\tIP1SR6_11_8_MARK___2 = 1257,\n\tAVB1_AVTP_PPS_MARK___2 = 1258,\n\tAVB1_MII_COL_MARK___2 = 1259,\n\tIP2SR6_11_8_MARK___2 = 1260,\n\tAVB1_TD3_MARK___2 = 1261,\n\tAVB1_MII_TD3_MARK___2 = 1262,\n\tIP0SR6_15_12_MARK___2 = 1263,\n\tAVB1_PHY_INT_MARK___2 = 1264,\n\tIP1SR6_15_12_MARK___2 = 1265,\n\tAVB1_AVTP_CAPTURE_MARK___2 = 1266,\n\tAVB1_MII_CRS_MARK___2 = 1267,\n\tIP2SR6_15_12_MARK___2 = 1268,\n\tAVB1_RD3_MARK___2 = 1269,\n\tAVB1_MII_RD3_MARK___2 = 1270,\n\tIP0SR6_19_16_MARK___2 = 1271,\n\tAVB1_LINK_MARK___2 = 1272,\n\tAVB1_MII_TX_ER_MARK___2 = 1273,\n\tIP1SR6_19_16_MARK___2 = 1274,\n\tAVB1_TD1_MARK___2 = 1275,\n\tAVB1_MII_TD1_MARK___2 = 1276,\n\tIP2SR6_19_16_MARK___2 = 1277,\n\tAVB1_TXCREFCLK_MARK___2 = 1278,\n\tIP0SR6_23_20_MARK___2 = 1279,\n\tAVB1_AVTP_MATCH_MARK___2 = 1280,\n\tAVB1_MII_RX_ER_MARK___2 = 1281,\n\tIP1SR6_23_20_MARK___2 = 1282,\n\tAVB1_TD0_MARK___2 = 1283,\n\tAVB1_MII_TD0_MARK___2 = 1284,\n\tIP0SR6_27_24_MARK___2 = 1285,\n\tAVB1_TXC_MARK___2 = 1286,\n\tAVB1_MII_TXC_MARK___2 = 1287,\n\tIP1SR6_27_24_MARK___2 = 1288,\n\tAVB1_RD1_MARK___2 = 1289,\n\tAVB1_MII_RD1_MARK___2 = 1290,\n\tIP0SR6_31_28_MARK___2 = 1291,\n\tAVB1_TX_CTL_MARK___2 = 1292,\n\tAVB1_MII_TX_EN_MARK___2 = 1293,\n\tIP1SR6_31_28_MARK___2 = 1294,\n\tAVB1_RD0_MARK___2 = 1295,\n\tAVB1_MII_RD0_MARK___2 = 1296,\n\tIP0SR7_3_0_MARK___2 = 1297,\n\tAVB0_AVTP_PPS_MARK___2 = 1298,\n\tAVB0_MII_COL_MARK___2 = 1299,\n\tIP1SR7_3_0_MARK___2 = 1300,\n\tAVB0_RD3_MARK___3 = 1301,\n\tAVB0_MII_RD3_MARK___2 = 1302,\n\tIP2SR7_3_0_MARK___2 = 1303,\n\tAVB0_TX_CTL_MARK___3 = 1304,\n\tAVB0_MII_TX_EN_MARK___2 = 1305,\n\tIP0SR7_7_4_MARK___2 = 1306,\n\tAVB0_AVTP_CAPTURE_MARK___2 = 1307,\n\tAVB0_MII_CRS_MARK___2 = 1308,\n\tIP1SR7_7_4_MARK___2 = 1309,\n\tAVB0_TXCREFCLK_MARK___3 = 1310,\n\tIP2SR7_7_4_MARK___2 = 1311,\n\tAVB0_RD1_MARK___3 = 1312,\n\tAVB0_MII_RD1_MARK___2 = 1313,\n\tIP0SR7_11_8_MARK___2 = 1314,\n\tAVB0_AVTP_MATCH_MARK___2 = 1315,\n\tAVB0_MII_RX_ER_MARK___2 = 1316,\n\tCC5_OSCOUT_MARK___2 = 1317,\n\tIP1SR7_11_8_MARK___2 = 1318,\n\tAVB0_MAGIC_MARK___3 = 1319,\n\tIP2SR7_11_8_MARK___2 = 1320,\n\tAVB0_RD0_MARK___3 = 1321,\n\tAVB0_MII_RD0_MARK___2 = 1322,\n\tIP0SR7_15_12_MARK___2 = 1323,\n\tAVB0_TD3_MARK___3 = 1324,\n\tAVB0_MII_TD3_MARK___2 = 1325,\n\tIP1SR7_15_12_MARK___2 = 1326,\n\tAVB0_TD0_MARK___3 = 1327,\n\tAVB0_MII_TD0_MARK___2 = 1328,\n\tIP2SR7_15_12_MARK___2 = 1329,\n\tAVB0_RXC_MARK___3 = 1330,\n\tAVB0_MII_RXC_MARK___2 = 1331,\n\tIP0SR7_19_16_MARK___2 = 1332,\n\tAVB0_LINK_MARK___3 = 1333,\n\tAVB0_MII_TX_ER_MARK___2 = 1334,\n\tIP1SR7_19_16_MARK___2 = 1335,\n\tAVB0_RD2_MARK___3 = 1336,\n\tAVB0_MII_RD2_MARK___2 = 1337,\n\tIP2SR7_19_16_MARK___2 = 1338,\n\tAVB0_RX_CTL_MARK___3 = 1339,\n\tAVB0_MII_RX_DV_MARK___2 = 1340,\n\tIP0SR7_23_20_MARK___2 = 1341,\n\tAVB0_PHY_INT_MARK___3 = 1342,\n\tIP1SR7_23_20_MARK___2 = 1343,\n\tAVB0_MDC_MARK___3 = 1344,\n\tIP0SR7_27_24_MARK___2 = 1345,\n\tAVB0_TD2_MARK___3 = 1346,\n\tAVB0_MII_TD2_MARK___2 = 1347,\n\tIP1SR7_27_24_MARK___2 = 1348,\n\tAVB0_MDIO_MARK___3 = 1349,\n\tIP0SR7_31_28_MARK___2 = 1350,\n\tAVB0_TD1_MARK___3 = 1351,\n\tAVB0_MII_TD1_MARK___2 = 1352,\n\tIP1SR7_31_28_MARK___2 = 1353,\n\tAVB0_TXC_MARK___3 = 1354,\n\tAVB0_MII_TXC_MARK___2 = 1355,\n\tSEL_SDA3_0_MARK___2 = 1356,\n\tSEL_SDA3_1_MARK___2 = 1357,\n\tSEL_SCL3_0_MARK___2 = 1358,\n\tSEL_SCL3_1_MARK___2 = 1359,\n\tSEL_SDA2_0_MARK___2 = 1360,\n\tSEL_SDA2_1_MARK___2 = 1361,\n\tSEL_SCL2_0_MARK___2 = 1362,\n\tSEL_SCL2_1_MARK___2 = 1363,\n\tSEL_SDA1_0_MARK___2 = 1364,\n\tSEL_SDA1_1_MARK___2 = 1365,\n\tSEL_SCL1_0_MARK___2 = 1366,\n\tSEL_SCL1_1_MARK___2 = 1367,\n\tSEL_SDA0_0_MARK___2 = 1368,\n\tSEL_SDA0_1_MARK___2 = 1369,\n\tSEL_SCL0_0_MARK___2 = 1370,\n\tSEL_SCL0_1_MARK___2 = 1371,\n\tPINMUX_MARK_END___8 = 1372,\n};\n\nenum {\n\tPINMUX_RESERVED___9 = 0,\n\tPINMUX_DATA_BEGIN___9 = 1,\n\tGP_0_0_DATA___9 = 2,\n\tGP_0_1_DATA___9 = 3,\n\tGP_0_2_DATA___9 = 4,\n\tGP_0_3_DATA___9 = 5,\n\tGP_0_4_DATA___9 = 6,\n\tGP_0_5_DATA___9 = 7,\n\tGP_0_6_DATA___9 = 8,\n\tGP_0_7_DATA___9 = 9,\n\tGP_0_8_DATA___9 = 10,\n\tGP_0_9_DATA___8 = 11,\n\tGP_0_10_DATA___8 = 12,\n\tGP_0_11_DATA___8 = 13,\n\tGP_0_12_DATA___8 = 14,\n\tGP_0_13_DATA___8 = 15,\n\tGP_0_14_DATA___8 = 16,\n\tGP_0_15_DATA___8 = 17,\n\tGP_0_16_DATA___5 = 18,\n\tGP_0_17_DATA___5 = 19,\n\tGP_1_0_DATA___9 = 20,\n\tGP_1_1_DATA___9 = 21,\n\tGP_1_2_DATA___9 = 22,\n\tGP_1_3_DATA___9 = 23,\n\tGP_1_4_DATA___9 = 24,\n\tGP_1_5_DATA___9 = 25,\n\tGP_1_6_DATA___9 = 26,\n\tGP_1_7_DATA___9 = 27,\n\tGP_1_8_DATA___9 = 28,\n\tGP_1_9_DATA___9 = 29,\n\tGP_1_10_DATA___9 = 30,\n\tGP_1_11_DATA___9 = 31,\n\tGP_1_12_DATA___9 = 32,\n\tGP_1_13_DATA___9 = 33,\n\tGP_1_14_DATA___9 = 34,\n\tGP_1_15_DATA___9 = 35,\n\tGP_1_16_DATA___9 = 36,\n\tGP_1_17_DATA___9 = 37,\n\tGP_1_18_DATA___9 = 38,\n\tGP_1_19_DATA___9 = 39,\n\tGP_1_20_DATA___9 = 40,\n\tGP_1_21_DATA___9 = 41,\n\tGP_1_22_DATA___9 = 42,\n\tGP_2_0_DATA___9 = 43,\n\tGP_2_1_DATA___9 = 44,\n\tGP_2_2_DATA___9 = 45,\n\tGP_2_3_DATA___9 = 46,\n\tGP_2_4_DATA___9 = 47,\n\tGP_2_5_DATA___9 = 48,\n\tGP_2_6_DATA___9 = 49,\n\tGP_2_7_DATA___9 = 50,\n\tGP_2_8_DATA___9 = 51,\n\tGP_2_9_DATA___9 = 52,\n\tGP_2_10_DATA___9 = 53,\n\tGP_2_11_DATA___9 = 54,\n\tGP_2_12_DATA___9 = 55,\n\tGP_2_13_DATA___9 = 56,\n\tGP_2_14_DATA___9 = 57,\n\tGP_2_15_DATA___6 = 58,\n\tGP_2_16_DATA___5 = 59,\n\tGP_2_17_DATA___5 = 60,\n\tGP_2_18_DATA___4 = 61,\n\tGP_2_19_DATA___5 = 62,\n\tGP_2_20_DATA___3 = 63,\n\tGP_2_21_DATA___3 = 64,\n\tGP_2_22_DATA___3 = 65,\n\tGP_2_23_DATA___3 = 66,\n\tGP_2_24_DATA___3 = 67,\n\tGP_2_25_DATA___3 = 68,\n\tGP_3_0_DATA___9 = 69,\n\tGP_3_1_DATA___9 = 70,\n\tGP_3_2_DATA___9 = 71,\n\tGP_3_3_DATA___9 = 72,\n\tGP_3_4_DATA___9 = 73,\n\tGP_3_5_DATA___9 = 74,\n\tGP_3_6_DATA___9 = 75,\n\tGP_3_7_DATA___9 = 76,\n\tGP_3_8_DATA___9 = 77,\n\tGP_3_9_DATA___9 = 78,\n\tGP_3_10_DATA___8 = 79,\n\tGP_3_11_DATA___8 = 80,\n\tGP_3_12_DATA___8 = 81,\n\tGP_3_13_DATA___8 = 82,\n\tGP_3_14_DATA___8 = 83,\n\tGP_3_15_DATA___8 = 84,\n\tGP_4_0_DATA___8 = 85,\n\tGP_4_1_DATA___8 = 86,\n\tGP_4_2_DATA___8 = 87,\n\tGP_4_3_DATA___8 = 88,\n\tGP_4_4_DATA___8 = 89,\n\tGP_4_5_DATA___8 = 90,\n\tGP_4_6_DATA___8 = 91,\n\tGP_4_7_DATA___8 = 92,\n\tGP_4_8_DATA___8 = 93,\n\tGP_4_9_DATA___8 = 94,\n\tGP_4_10_DATA___8 = 95,\n\tGP_5_0_DATA___8 = 96,\n\tGP_5_1_DATA___8 = 97,\n\tGP_5_2_DATA___8 = 98,\n\tGP_5_3_DATA___8 = 99,\n\tGP_5_4_DATA___8 = 100,\n\tGP_5_5_DATA___8 = 101,\n\tGP_5_6_DATA___8 = 102,\n\tGP_5_7_DATA___8 = 103,\n\tGP_5_8_DATA___8 = 104,\n\tGP_5_9_DATA___8 = 105,\n\tGP_5_10_DATA___8 = 106,\n\tGP_5_11_DATA___8 = 107,\n\tGP_5_12_DATA___8 = 108,\n\tGP_5_13_DATA___8 = 109,\n\tGP_5_14_DATA___8 = 110,\n\tGP_5_15_DATA___7 = 111,\n\tGP_5_16_DATA___7 = 112,\n\tGP_5_17_DATA___7 = 113,\n\tGP_5_18_DATA___7 = 114,\n\tGP_5_19_DATA___7 = 115,\n\tGP_6_0_DATA___7 = 116,\n\tGP_6_1_DATA___7 = 117,\n\tGP_6_2_DATA___7 = 118,\n\tGP_6_3_DATA___7 = 119,\n\tGP_6_4_DATA___7 = 120,\n\tGP_6_5_DATA___7 = 121,\n\tGP_6_6_DATA___7 = 122,\n\tGP_6_7_DATA___7 = 123,\n\tGP_6_8_DATA___7 = 124,\n\tGP_6_9_DATA___7 = 125,\n\tGP_6_10_DATA___7 = 126,\n\tGP_6_11_DATA___7 = 127,\n\tGP_6_12_DATA___7 = 128,\n\tGP_6_13_DATA___7 = 129,\n\tGP_6_14_DATA___6 = 130,\n\tGP_6_15_DATA___6 = 131,\n\tGP_6_16_DATA___6 = 132,\n\tGP_6_17_DATA___6 = 133,\n\tPINMUX_DATA_END___9 = 134,\n\tPINMUX_FUNCTION_BEGIN___9 = 135,\n\tGP_0_0_FN___9 = 136,\n\tGP_0_1_FN___9 = 137,\n\tGP_0_2_FN___9 = 138,\n\tGP_0_3_FN___9 = 139,\n\tGP_0_4_FN___9 = 140,\n\tGP_0_5_FN___9 = 141,\n\tGP_0_6_FN___9 = 142,\n\tGP_0_7_FN___9 = 143,\n\tGP_0_8_FN___9 = 144,\n\tGP_0_9_FN___8 = 145,\n\tGP_0_10_FN___8 = 146,\n\tGP_0_11_FN___8 = 147,\n\tGP_0_12_FN___8 = 148,\n\tGP_0_13_FN___8 = 149,\n\tGP_0_14_FN___8 = 150,\n\tGP_0_15_FN___8 = 151,\n\tGP_0_16_FN___5 = 152,\n\tGP_0_17_FN___5 = 153,\n\tGP_1_0_FN___9 = 154,\n\tGP_1_1_FN___9 = 155,\n\tGP_1_2_FN___9 = 156,\n\tGP_1_3_FN___9 = 157,\n\tGP_1_4_FN___9 = 158,\n\tGP_1_5_FN___9 = 159,\n\tGP_1_6_FN___9 = 160,\n\tGP_1_7_FN___9 = 161,\n\tGP_1_8_FN___9 = 162,\n\tGP_1_9_FN___9 = 163,\n\tGP_1_10_FN___9 = 164,\n\tGP_1_11_FN___9 = 165,\n\tGP_1_12_FN___9 = 166,\n\tGP_1_13_FN___9 = 167,\n\tGP_1_14_FN___9 = 168,\n\tGP_1_15_FN___9 = 169,\n\tGP_1_16_FN___9 = 170,\n\tGP_1_17_FN___9 = 171,\n\tGP_1_18_FN___9 = 172,\n\tGP_1_19_FN___9 = 173,\n\tGP_1_20_FN___9 = 174,\n\tGP_1_21_FN___9 = 175,\n\tGP_1_22_FN___9 = 176,\n\tGP_2_0_FN___9 = 177,\n\tGP_2_1_FN___9 = 178,\n\tGP_2_2_FN___9 = 179,\n\tGP_2_3_FN___9 = 180,\n\tGP_2_4_FN___9 = 181,\n\tGP_2_5_FN___9 = 182,\n\tGP_2_6_FN___9 = 183,\n\tGP_2_7_FN___9 = 184,\n\tGP_2_8_FN___9 = 185,\n\tGP_2_9_FN___9 = 186,\n\tGP_2_10_FN___9 = 187,\n\tGP_2_11_FN___9 = 188,\n\tGP_2_12_FN___9 = 189,\n\tGP_2_13_FN___9 = 190,\n\tGP_2_14_FN___9 = 191,\n\tGP_2_15_FN___6 = 192,\n\tGP_2_16_FN___5 = 193,\n\tGP_2_17_FN___5 = 194,\n\tGP_2_18_FN___4 = 195,\n\tGP_2_19_FN___5 = 196,\n\tGP_2_20_FN___3 = 197,\n\tGP_2_21_FN___3 = 198,\n\tGP_2_22_FN___3 = 199,\n\tGP_2_23_FN___3 = 200,\n\tGP_2_24_FN___3 = 201,\n\tGP_2_25_FN___3 = 202,\n\tGP_3_0_FN___9 = 203,\n\tGP_3_1_FN___9 = 204,\n\tGP_3_2_FN___9 = 205,\n\tGP_3_3_FN___9 = 206,\n\tGP_3_4_FN___9 = 207,\n\tGP_3_5_FN___9 = 208,\n\tGP_3_6_FN___9 = 209,\n\tGP_3_7_FN___9 = 210,\n\tGP_3_8_FN___9 = 211,\n\tGP_3_9_FN___9 = 212,\n\tGP_3_10_FN___8 = 213,\n\tGP_3_11_FN___8 = 214,\n\tGP_3_12_FN___8 = 215,\n\tGP_3_13_FN___8 = 216,\n\tGP_3_14_FN___8 = 217,\n\tGP_3_15_FN___8 = 218,\n\tGP_4_0_FN___8 = 219,\n\tGP_4_1_FN___8 = 220,\n\tGP_4_2_FN___8 = 221,\n\tGP_4_3_FN___8 = 222,\n\tGP_4_4_FN___8 = 223,\n\tGP_4_5_FN___8 = 224,\n\tGP_4_6_FN___8 = 225,\n\tGP_4_7_FN___8 = 226,\n\tGP_4_8_FN___8 = 227,\n\tGP_4_9_FN___8 = 228,\n\tGP_4_10_FN___8 = 229,\n\tGP_5_0_FN___8 = 230,\n\tGP_5_1_FN___8 = 231,\n\tGP_5_2_FN___8 = 232,\n\tGP_5_3_FN___8 = 233,\n\tGP_5_4_FN___8 = 234,\n\tGP_5_5_FN___8 = 235,\n\tGP_5_6_FN___8 = 236,\n\tGP_5_7_FN___8 = 237,\n\tGP_5_8_FN___8 = 238,\n\tGP_5_9_FN___8 = 239,\n\tGP_5_10_FN___8 = 240,\n\tGP_5_11_FN___8 = 241,\n\tGP_5_12_FN___8 = 242,\n\tGP_5_13_FN___8 = 243,\n\tGP_5_14_FN___8 = 244,\n\tGP_5_15_FN___7 = 245,\n\tGP_5_16_FN___7 = 246,\n\tGP_5_17_FN___7 = 247,\n\tGP_5_18_FN___7 = 248,\n\tGP_5_19_FN___7 = 249,\n\tGP_6_0_FN___7 = 250,\n\tGP_6_1_FN___7 = 251,\n\tGP_6_2_FN___7 = 252,\n\tGP_6_3_FN___7 = 253,\n\tGP_6_4_FN___7 = 254,\n\tGP_6_5_FN___7 = 255,\n\tGP_6_6_FN___7 = 256,\n\tGP_6_7_FN___7 = 257,\n\tGP_6_8_FN___7 = 258,\n\tGP_6_9_FN___7 = 259,\n\tGP_6_10_FN___7 = 260,\n\tGP_6_11_FN___7 = 261,\n\tGP_6_12_FN___7 = 262,\n\tGP_6_13_FN___7 = 263,\n\tGP_6_14_FN___6 = 264,\n\tGP_6_15_FN___6 = 265,\n\tGP_6_16_FN___6 = 266,\n\tGP_6_17_FN___6 = 267,\n\tFN_AVB_PHY_INT___5 = 268,\n\tFN_CLKOUT___5 = 269,\n\tFN_AVB_RD3___2 = 270,\n\tFN_AVB_RXC___2 = 271,\n\tFN_AVB_RX_CTL___2 = 272,\n\tFN_QSPI0_SSL___6 = 273,\n\tFN_IP0_3_0___6 = 274,\n\tFN_QSPI0_SPCLK___6 = 275,\n\tFN_HSCK4_A = 276,\n\tFN_IP1_3_0___6 = 277,\n\tFN_QSPI1_IO2___6 = 278,\n\tFN_RIF2_D1_A___4 = 279,\n\tFN_HTX3_C___4 = 280,\n\tFN_VI4_DATA3_A___4 = 281,\n\tFN_IP2_3_0___6 = 282,\n\tFN_AVB_TXCREFCLK___2 = 283,\n\tFN_IP3_3_0___6 = 284,\n\tFN_A1___5 = 285,\n\tFN_IRQ1___6 = 286,\n\tFN_PWM3_A___8 = 287,\n\tFN_DU_DOTCLKIN1___2 = 288,\n\tFN_VI5_DATA0_A = 289,\n\tFN_DU_DISP_CDE___2 = 290,\n\tFN_SDA6_B___4 = 291,\n\tFN_IETX = 292,\n\tFN_QCPV_QDE___5 = 293,\n\tFN_IP0_7_4___6 = 294,\n\tFN_QSPI0_MOSI_IO0___6 = 295,\n\tFN_HCTS4_N_A = 296,\n\tFN_IP1_7_4___6 = 297,\n\tFN_QSPI1_IO3___6 = 298,\n\tFN_RIF3_CLK_A___4 = 299,\n\tFN_HRX3_C___4 = 300,\n\tFN_VI4_DATA4_A___4 = 301,\n\tFN_IP2_7_4___6 = 302,\n\tFN_AVB_MDIO___2 = 303,\n\tFN_IP3_7_4___6 = 304,\n\tFN_A2___5 = 305,\n\tFN_IRQ2___6 = 306,\n\tFN_AVB_AVTP_PPS___5 = 307,\n\tFN_VI4_CLKENB___5 = 308,\n\tFN_VI5_DATA1_A = 309,\n\tFN_DU_DISP___6 = 310,\n\tFN_SCL6_B___4 = 311,\n\tFN_QSTVB_QVE___5 = 312,\n\tFN_IP0_11_8___6 = 313,\n\tFN_QSPI0_MISO_IO1___6 = 314,\n\tFN_HRTS4_N_A = 315,\n\tFN_IP1_11_8___6 = 316,\n\tFN_QSPI1_SSL___6 = 317,\n\tFN_RIF3_SYNC_A___4 = 318,\n\tFN_HSCK3_C = 319,\n\tFN_VI4_DATA5_A___4 = 320,\n\tFN_IP2_11_8___6 = 321,\n\tFN_AVB_MDC___5 = 322,\n\tFN_IP3_11_8___6 = 323,\n\tFN_A3___5 = 324,\n\tFN_CTS4_N_A___4 = 325,\n\tFN_PWM4_A___5 = 326,\n\tFN_VI4_DATA12___5 = 327,\n\tFN_DU_DOTCLKOUT0___5 = 328,\n\tFN_HTX3_D___4 = 329,\n\tFN_IECLK = 330,\n\tFN_LCDOUT12___5 = 331,\n\tFN_IP0_15_12___6 = 332,\n\tFN_QSPI0_IO2___6 = 333,\n\tFN_HTX4_A___4 = 334,\n\tFN_IP1_15_12___6 = 335,\n\tFN_RPC_INT_N___6 = 336,\n\tFN_RIF3_D0_A___4 = 337,\n\tFN_HCTS3_N_C = 338,\n\tFN_VI4_DATA6_A___4 = 339,\n\tFN_IP2_15_12___6 = 340,\n\tFN_BS_N___5 = 341,\n\tFN_PWM0_A___4 = 342,\n\tFN_AVB_MAGIC___5 = 343,\n\tFN_VI4_CLK___5 = 344,\n\tFN_TX3_C = 345,\n\tFN_VI5_CLK_B = 346,\n\tFN_IP3_15_12___6 = 347,\n\tFN_A4___5 = 348,\n\tFN_RTS4_N_A___4 = 349,\n\tFN_MSIOF3_SYNC_B___5 = 350,\n\tFN_VI4_DATA8___5 = 351,\n\tFN_PWM2_B___7 = 352,\n\tFN_DU_DG4___6 = 353,\n\tFN_RIF2_CLK_B___4 = 354,\n\tFN_IP0_19_16___6 = 355,\n\tFN_QSPI0_IO3___6 = 356,\n\tFN_HRX4_A___4 = 357,\n\tFN_IP1_19_16___6 = 358,\n\tFN_RPC_RESET_N___6 = 359,\n\tFN_RIF3_D1_A___4 = 360,\n\tFN_HRTS3_N_C = 361,\n\tFN_VI4_DATA7_A___4 = 362,\n\tFN_IP2_19_16___6 = 363,\n\tFN_RD_N___5 = 364,\n\tFN_PWM1_A___8 = 365,\n\tFN_AVB_LINK___5 = 366,\n\tFN_VI4_FIELD___5 = 367,\n\tFN_RX3_C = 368,\n\tFN_FSCLKST2_N_A___3 = 369,\n\tFN_VI5_DATA0_B = 370,\n\tFN_IP3_19_16___6 = 371,\n\tFN_A5___5 = 372,\n\tFN_SCK4_A___5 = 373,\n\tFN_MSIOF3_SCK_B___5 = 374,\n\tFN_VI4_DATA9___5 = 375,\n\tFN_PWM3_B___8 = 376,\n\tFN_RIF2_SYNC_B___4 = 377,\n\tFN_QPOLA___5 = 378,\n\tFN_IP0_23_20___6 = 379,\n\tFN_QSPI1_SPCLK___6 = 380,\n\tFN_RIF2_CLK_A___4 = 381,\n\tFN_HSCK4_B = 382,\n\tFN_VI4_DATA0_A___4 = 383,\n\tFN_IP1_23_20___6 = 384,\n\tFN_AVB_RD0___2 = 385,\n\tFN_IP2_23_20___6 = 386,\n\tFN_RD_WR_N___5 = 387,\n\tFN_SCL7_A = 388,\n\tFN_AVB_AVTP_MATCH___2 = 389,\n\tFN_VI4_VSYNC_N___5 = 390,\n\tFN_TX5_B___5 = 391,\n\tFN_SCK3_C = 392,\n\tFN_PWM5_A___4 = 393,\n\tFN_IP3_23_20___6 = 394,\n\tFN_A6___5 = 395,\n\tFN_RX4_A___5 = 396,\n\tFN_MSIOF3_RXD_B___5 = 397,\n\tFN_VI4_DATA10___5 = 398,\n\tFN_RIF2_D0_B___4 = 399,\n\tFN_IP0_27_24___6 = 400,\n\tFN_QSPI1_MOSI_IO0___6 = 401,\n\tFN_RIF2_SYNC_A___4 = 402,\n\tFN_HTX4_B___4 = 403,\n\tFN_VI4_DATA1_A___4 = 404,\n\tFN_IP1_27_24___6 = 405,\n\tFN_AVB_RD1___2 = 406,\n\tFN_IP2_27_24___6 = 407,\n\tFN_EX_WAIT0___2 = 408,\n\tFN_SDA7_A = 409,\n\tFN_AVB_AVTP_CAPTURE___2 = 410,\n\tFN_VI4_HSYNC_N___5 = 411,\n\tFN_RX5_B___5 = 412,\n\tFN_PWM6_A___4 = 413,\n\tFN_IP3_27_24___6 = 414,\n\tFN_A7___5 = 415,\n\tFN_TX4_A___5 = 416,\n\tFN_MSIOF3_TXD_B___5 = 417,\n\tFN_VI4_DATA11___5 = 418,\n\tFN_RIF2_D1_B___4 = 419,\n\tFN_IP0_31_28___6 = 420,\n\tFN_QSPI1_MISO_IO1___6 = 421,\n\tFN_RIF2_D0_A___4 = 422,\n\tFN_HRX4_B___4 = 423,\n\tFN_VI4_DATA2_A___4 = 424,\n\tFN_IP1_31_28___6 = 425,\n\tFN_AVB_RD2___2 = 426,\n\tFN_IP2_31_28___6 = 427,\n\tFN_A0___5 = 428,\n\tFN_IRQ0___6 = 429,\n\tFN_PWM2_A___7 = 430,\n\tFN_MSIOF3_SS1_B___5 = 431,\n\tFN_VI5_CLK_A = 432,\n\tFN_DU_CDE___6 = 433,\n\tFN_HRX3_D___4 = 434,\n\tFN_IERX = 435,\n\tFN_QSTB_QHE___5 = 436,\n\tFN_IP3_31_28___6 = 437,\n\tFN_A8___5 = 438,\n\tFN_SDA6_A___4 = 439,\n\tFN_RX3_B___7 = 440,\n\tFN_HRX4_C = 441,\n\tFN_VI5_HSYNC_N_A = 442,\n\tFN_DU_HSYNC___2 = 443,\n\tFN_VI4_DATA0_B___4 = 444,\n\tFN_QSTH_QHS___5 = 445,\n\tFN_IP4_3_0___6 = 446,\n\tFN_A9___5 = 447,\n\tFN_TX5_A___5 = 448,\n\tFN_IRQ3___6 = 449,\n\tFN_VI4_DATA16___5 = 450,\n\tFN_VI5_VSYNC_N_A = 451,\n\tFN_DU_DG7___6 = 452,\n\tFN_LCDOUT15___5 = 453,\n\tFN_IP5_3_0___6 = 454,\n\tFN_A17___5 = 455,\n\tFN_MSIOF1_RXD___6 = 456,\n\tFN_VI4_DATA20___5 = 457,\n\tFN_VI5_DATA6_A = 458,\n\tFN_DU_DB6___6 = 459,\n\tFN_LCDOUT6___5 = 460,\n\tFN_IP6_3_0___6 = 461,\n\tFN_D3___5 = 462,\n\tFN_MSIOF3_TXD_A___5 = 463,\n\tFN_TX5_C = 464,\n\tFN_VI5_DATA15_A = 465,\n\tFN_DU_DR4___6 = 466,\n\tFN_TX4_C___4 = 467,\n\tFN_LCDOUT20___5 = 468,\n\tFN_IP7_3_0___6 = 469,\n\tFN_D11___5 = 470,\n\tFN_MSIOF2_TXD_A___4 = 471,\n\tFN_VI5_DATA11_A = 472,\n\tFN_DU_DG2___6 = 473,\n\tFN_RIF3_D1_B___4 = 474,\n\tFN_HRTS3_N_E = 475,\n\tFN_LCDOUT10___5 = 476,\n\tFN_IP4_7_4___6 = 477,\n\tFN_A10___5 = 478,\n\tFN_IRQ4___6 = 479,\n\tFN_MSIOF2_SYNC_B___5 = 480,\n\tFN_VI4_DATA13___5 = 481,\n\tFN_VI5_FIELD_A = 482,\n\tFN_DU_DG5___6 = 483,\n\tFN_FSCLKST2_N_B___3 = 484,\n\tFN_LCDOUT13___5 = 485,\n\tFN_IP5_7_4___6 = 486,\n\tFN_A18___5 = 487,\n\tFN_MSIOF1_TXD___6 = 488,\n\tFN_VI4_DATA21___5 = 489,\n\tFN_VI5_DATA7_A = 490,\n\tFN_DU_DB0___6 = 491,\n\tFN_HRX4_E = 492,\n\tFN_LCDOUT0___5 = 493,\n\tFN_IP6_7_4___6 = 494,\n\tFN_D4___5 = 495,\n\tFN_CANFD1_TX___8 = 496,\n\tFN_HSCK3_B___4 = 497,\n\tFN_CAN1_TX___4 = 498,\n\tFN_RTS3_N_A___3 = 499,\n\tFN_MSIOF3_SS2_A___5 = 500,\n\tFN_VI5_DATA1_B = 501,\n\tFN_IP7_7_4___6 = 502,\n\tFN_D12___5 = 503,\n\tFN_CANFD0_TX___4 = 504,\n\tFN_TX4_B___5 = 505,\n\tFN_CAN0_TX = 506,\n\tFN_VI5_DATA8_A = 507,\n\tFN_VI5_DATA3_B = 508,\n\tFN_IP4_11_8___6 = 509,\n\tFN_A11___5 = 510,\n\tFN_SCL6_A___4 = 511,\n\tFN_TX3_B___7 = 512,\n\tFN_HTX4_C = 513,\n\tFN_DU_VSYNC___2 = 514,\n\tFN_VI4_DATA1_B___4 = 515,\n\tFN_QSTVA_QVS___5 = 516,\n\tFN_IP5_11_8___6 = 517,\n\tFN_A19___5 = 518,\n\tFN_MSIOF1_SCK___6 = 519,\n\tFN_VI4_DATA22___5 = 520,\n\tFN_VI5_DATA2_A = 521,\n\tFN_DU_DB1___6 = 522,\n\tFN_HTX4_E = 523,\n\tFN_LCDOUT1___5 = 524,\n\tFN_IP6_11_8___6 = 525,\n\tFN_D5___5 = 526,\n\tFN_RX3_A___7 = 527,\n\tFN_HRX3_B___7 = 528,\n\tFN_DU_DR5___6 = 529,\n\tFN_VI4_DATA4_B___4 = 530,\n\tFN_LCDOUT21___5 = 531,\n\tFN_IP7_11_8___6 = 532,\n\tFN_D13___5 = 533,\n\tFN_CANFD0_RX___4 = 534,\n\tFN_RX4_B___5 = 535,\n\tFN_CAN0_RX = 536,\n\tFN_VI5_DATA9_A = 537,\n\tFN_SCL7_B = 538,\n\tFN_VI5_DATA4_B = 539,\n\tFN_IP4_15_12___6 = 540,\n\tFN_A12___5 = 541,\n\tFN_RX5_A___5 = 542,\n\tFN_MSIOF2_SS2_B___4 = 543,\n\tFN_VI4_DATA17___5 = 544,\n\tFN_VI5_DATA3_A = 545,\n\tFN_DU_DG6___6 = 546,\n\tFN_LCDOUT14___5 = 547,\n\tFN_IP5_15_12___6 = 548,\n\tFN_CS0_N___5 = 549,\n\tFN_SCL5___3 = 550,\n\tFN_DU_DR0___6 = 551,\n\tFN_VI4_DATA2_B___4 = 552,\n\tFN_LCDOUT16___5 = 553,\n\tFN_IP6_15_12___6 = 554,\n\tFN_D6___5 = 555,\n\tFN_TX3_A___7 = 556,\n\tFN_HTX3_B___7 = 557,\n\tFN_DU_DR6___6 = 558,\n\tFN_VI4_DATA5_B___4 = 559,\n\tFN_LCDOUT22___5 = 560,\n\tFN_IP7_15_12___3 = 561,\n\tFN_D14___5 = 562,\n\tFN_CAN_CLK___7 = 563,\n\tFN_HRX3_A___7 = 564,\n\tFN_MSIOF2_SS2_A___4 = 565,\n\tFN_SDA7_B = 566,\n\tFN_VI5_DATA5_B = 567,\n\tFN_IP4_19_16___6 = 568,\n\tFN_A13___5 = 569,\n\tFN_SCK5_A___5 = 570,\n\tFN_MSIOF2_SCK_B___4 = 571,\n\tFN_VI4_DATA14___5 = 572,\n\tFN_HRX4_D = 573,\n\tFN_DU_DB2___6 = 574,\n\tFN_LCDOUT2___5 = 575,\n\tFN_IP5_19_16___6 = 576,\n\tFN_WE0_N___5 = 577,\n\tFN_SDA5___3 = 578,\n\tFN_DU_DR1___6 = 579,\n\tFN_VI4_DATA3_B___4 = 580,\n\tFN_LCDOUT17___5 = 581,\n\tFN_IP6_19_16___6 = 582,\n\tFN_D7___5 = 583,\n\tFN_CANFD1_RX___8 = 584,\n\tFN_IRQ5___8 = 585,\n\tFN_CAN1_RX___4 = 586,\n\tFN_CTS3_N_A___3 = 587,\n\tFN_VI5_DATA2_B = 588,\n\tFN_IP7_19_16___6 = 589,\n\tFN_D15___5 = 590,\n\tFN_MSIOF2_SS1_A___4 = 591,\n\tFN_HTX3_A___7 = 592,\n\tFN_MSIOF3_SS1_A___5 = 593,\n\tFN_DU_DG3___6 = 594,\n\tFN_LCDOUT11___5 = 595,\n\tFN_IP4_23_20___6 = 596,\n\tFN_A14___5 = 597,\n\tFN_MSIOF1_SS1___6 = 598,\n\tFN_MSIOF2_RXD_B___4 = 599,\n\tFN_VI4_DATA15___5 = 600,\n\tFN_HTX4_D = 601,\n\tFN_DU_DB3___6 = 602,\n\tFN_LCDOUT3___5 = 603,\n\tFN_IP5_23_20___6 = 604,\n\tFN_D0___5 = 605,\n\tFN_MSIOF3_SCK_A___5 = 606,\n\tFN_DU_DR2___6 = 607,\n\tFN_CTS4_N_C___4 = 608,\n\tFN_LCDOUT18___5 = 609,\n\tFN_IP6_23_20___6 = 610,\n\tFN_D8___5 = 611,\n\tFN_MSIOF2_SCK_A___4 = 612,\n\tFN_SCK4_B___5 = 613,\n\tFN_VI5_DATA12_A = 614,\n\tFN_DU_DR7___6 = 615,\n\tFN_RIF3_CLK_B___4 = 616,\n\tFN_HCTS3_N_E = 617,\n\tFN_LCDOUT23___5 = 618,\n\tFN_IP7_23_20___6 = 619,\n\tFN_SCL4___3 = 620,\n\tFN_CS1_N_A26 = 621,\n\tFN_DU_DOTCLKIN0 = 622,\n\tFN_VI4_DATA6_B___4 = 623,\n\tFN_VI5_DATA6_B = 624,\n\tFN_QCLK___5 = 625,\n\tFN_IP4_27_24___6 = 626,\n\tFN_A15___5 = 627,\n\tFN_MSIOF1_SS2___6 = 628,\n\tFN_MSIOF2_TXD_B___4 = 629,\n\tFN_VI4_DATA18___5 = 630,\n\tFN_VI5_DATA4_A = 631,\n\tFN_DU_DB4___6 = 632,\n\tFN_LCDOUT4___5 = 633,\n\tFN_IP5_27_24___6 = 634,\n\tFN_D1___5 = 635,\n\tFN_MSIOF3_SYNC_A___5 = 636,\n\tFN_SCK3_A___4 = 637,\n\tFN_VI4_DATA23___5 = 638,\n\tFN_VI5_CLKENB_A = 639,\n\tFN_DU_DB7___6 = 640,\n\tFN_RTS4_N_C___4 = 641,\n\tFN_LCDOUT7___5 = 642,\n\tFN_IP6_27_24___6 = 643,\n\tFN_D9___5 = 644,\n\tFN_MSIOF2_SYNC_A___5 = 645,\n\tFN_VI5_DATA10_A = 646,\n\tFN_DU_DG0___6 = 647,\n\tFN_RIF3_SYNC_B___4 = 648,\n\tFN_HRX3_E = 649,\n\tFN_LCDOUT8___5 = 650,\n\tFN_IP7_27_24___6 = 651,\n\tFN_SDA4___3 = 652,\n\tFN_WE1_N___5 = 653,\n\tFN_VI4_DATA7_B___4 = 654,\n\tFN_VI5_DATA7_B = 655,\n\tFN_QPOLB___5 = 656,\n\tFN_IP4_31_28___6 = 657,\n\tFN_A16___5 = 658,\n\tFN_MSIOF1_SYNC___6 = 659,\n\tFN_MSIOF2_SS1_B___4 = 660,\n\tFN_VI4_DATA19___5 = 661,\n\tFN_VI5_DATA5_A = 662,\n\tFN_DU_DB5___6 = 663,\n\tFN_LCDOUT5___5 = 664,\n\tFN_IP5_31_28___6 = 665,\n\tFN_D2___5 = 666,\n\tFN_MSIOF3_RXD_A___5 = 667,\n\tFN_RX5_C = 668,\n\tFN_VI5_DATA14_A = 669,\n\tFN_DU_DR3___6 = 670,\n\tFN_RX4_C___4 = 671,\n\tFN_LCDOUT19___5 = 672,\n\tFN_IP6_31_28___6 = 673,\n\tFN_D10___5 = 674,\n\tFN_MSIOF2_RXD_A___4 = 675,\n\tFN_VI5_DATA13_A = 676,\n\tFN_DU_DG1___6 = 677,\n\tFN_RIF3_D0_B___4 = 678,\n\tFN_HTX3_E = 679,\n\tFN_LCDOUT9___5 = 680,\n\tFN_IP7_31_28___6 = 681,\n\tFN_SD0_CLK___4 = 682,\n\tFN_NFDATA8___5 = 683,\n\tFN_SCL1_C = 684,\n\tFN_HSCK1_B___6 = 685,\n\tFN_SDA2_E = 686,\n\tFN_FMCLK_B___4 = 687,\n\tFN_IP8_3_0___6 = 688,\n\tFN_SD0_CMD___4 = 689,\n\tFN_NFDATA9___5 = 690,\n\tFN_HRX1_B___6 = 691,\n\tFN_SPEEDIN_B___5 = 692,\n\tFN_IP9_3_0___6 = 693,\n\tFN_SD1_DAT1___4 = 694,\n\tFN_NFCE_N_B___4 = 695,\n\tFN_IP10_3_0___6 = 696,\n\tFN_SD3_DAT3___4 = 697,\n\tFN_NFDATA3___5 = 698,\n\tFN_IP11_3_0___5 = 699,\n\tFN_SD1_CD___4 = 700,\n\tFN_NFCE_N_A___4 = 701,\n\tFN_SSI_SCK1 = 702,\n\tFN_RIF0_D1_B___4 = 703,\n\tFN_TS_SDEN0 = 704,\n\tFN_IP8_7_4___6 = 705,\n\tFN_SD0_DAT0___4 = 706,\n\tFN_NFDATA10___5 = 707,\n\tFN_HTX1_B___6 = 708,\n\tFN_REMOCON_B___4 = 709,\n\tFN_IP9_7_4___6 = 710,\n\tFN_SD1_DAT2___4 = 711,\n\tFN_NFALE_B = 712,\n\tFN_IP10_7_4___6 = 713,\n\tFN_SD3_DAT4___4 = 714,\n\tFN_NFDATA4___5 = 715,\n\tFN_IP11_7_4___5 = 716,\n\tFN_SD1_WP___4 = 717,\n\tFN_NFWP_N_A___4 = 718,\n\tFN_SSI_WS1 = 719,\n\tFN_RIF0_SYNC_B___4 = 720,\n\tFN_TS_SPSYNC0 = 721,\n\tFN_IP8_11_8___6 = 722,\n\tFN_SD0_DAT1___4 = 723,\n\tFN_NFDATA11___5 = 724,\n\tFN_SDA2_C = 725,\n\tFN_HCTS1_N_B___6 = 726,\n\tFN_FMIN_B___4 = 727,\n\tFN_IP9_11_8___6 = 728,\n\tFN_SD1_DAT3___4 = 729,\n\tFN_NFRB_N_B___4 = 730,\n\tFN_IP10_11_8___6 = 731,\n\tFN_SD3_DAT5___4 = 732,\n\tFN_NFDATA5___5 = 733,\n\tFN_IP11_11_8___5 = 734,\n\tFN_RX0_A___2 = 735,\n\tFN_HRX1_A___6 = 736,\n\tFN_SSI_SCK2_A___4 = 737,\n\tFN_RIF1_SYNC = 738,\n\tFN_TS_SCK1 = 739,\n\tFN_IP8_15_12___6 = 740,\n\tFN_SD0_DAT2___4 = 741,\n\tFN_NFDATA12___5 = 742,\n\tFN_SCL2_C = 743,\n\tFN_HRTS1_N_B___6 = 744,\n\tFN_BPFCLK_B___4 = 745,\n\tFN_IP9_15_12___6 = 746,\n\tFN_SD3_CLK___4 = 747,\n\tFN_NFWE_N___5 = 748,\n\tFN_IP10_15_12___6 = 749,\n\tFN_SD3_DAT6___4 = 750,\n\tFN_NFDATA6___5 = 751,\n\tFN_IP11_15_12___5 = 752,\n\tFN_TX0_A___2 = 753,\n\tFN_HTX1_A___6 = 754,\n\tFN_SSI_WS2_A___4 = 755,\n\tFN_RIF1_D0 = 756,\n\tFN_TS_SDAT1 = 757,\n\tFN_IP8_19_16___6 = 758,\n\tFN_SD0_DAT3___4 = 759,\n\tFN_NFDATA13___5 = 760,\n\tFN_SDA1_C = 761,\n\tFN_SCL2_E = 762,\n\tFN_SPEEDIN_C = 763,\n\tFN_REMOCON_C = 764,\n\tFN_IP9_19_16___6 = 765,\n\tFN_SD3_CMD___4 = 766,\n\tFN_NFRE_N___5 = 767,\n\tFN_IP10_19_16___6 = 768,\n\tFN_SD3_DAT7___4 = 769,\n\tFN_NFDATA7___5 = 770,\n\tFN_IP11_19_16___5 = 771,\n\tFN_CTS0_N_A = 772,\n\tFN_NFDATA14_A___4 = 773,\n\tFN_AUDIO_CLKOUT_A___4 = 774,\n\tFN_RIF1_D1 = 775,\n\tFN_SCIF_CLK_A___5 = 776,\n\tFN_FMCLK_A___4 = 777,\n\tFN_IP8_23_20___6 = 778,\n\tFN_SD1_CLK___4 = 779,\n\tFN_NFDATA14_B___4 = 780,\n\tFN_IP9_23_20___6 = 781,\n\tFN_SD3_DAT0___4 = 782,\n\tFN_NFDATA0___5 = 783,\n\tFN_IP10_23_20___5 = 784,\n\tFN_SD3_DS___4 = 785,\n\tFN_NFCLE___5 = 786,\n\tFN_IP11_23_20___5 = 787,\n\tFN_RTS0_N_A = 788,\n\tFN_NFDATA15_A___4 = 789,\n\tFN_AUDIO_CLKOUT1_A___4 = 790,\n\tFN_RIF1_CLK = 791,\n\tFN_SCL2_A___5 = 792,\n\tFN_FMIN_A___4 = 793,\n\tFN_IP8_27_24___6 = 794,\n\tFN_SD1_CMD___4 = 795,\n\tFN_NFDATA15_B___4 = 796,\n\tFN_IP9_27_24___6 = 797,\n\tFN_SD3_DAT1___4 = 798,\n\tFN_NFDATA1___5 = 799,\n\tFN_IP10_27_24___5 = 800,\n\tFN_SD0_CD___4 = 801,\n\tFN_NFALE_A = 802,\n\tFN_SD3_CD___4 = 803,\n\tFN_RIF0_CLK_B___4 = 804,\n\tFN_SCL2_B___5 = 805,\n\tFN_TCLK1_A___8 = 806,\n\tFN_SSI_SCK2_B___4 = 807,\n\tFN_TS_SCK0 = 808,\n\tFN_IP11_27_24___5 = 809,\n\tFN_SCK0_A___2 = 810,\n\tFN_HSCK1_A___6 = 811,\n\tFN_USB3HS0_ID = 812,\n\tFN_RTS1_N___7 = 813,\n\tFN_SDA2_A___5 = 814,\n\tFN_FMCLK_C___4 = 815,\n\tFN_USB0_ID = 816,\n\tFN_IP8_31_28___6 = 817,\n\tFN_SD1_DAT0___4 = 818,\n\tFN_NFWP_N_B___4 = 819,\n\tFN_IP9_31_28___6 = 820,\n\tFN_SD3_DAT2___4 = 821,\n\tFN_NFDATA2___5 = 822,\n\tFN_IP10_31_28___5 = 823,\n\tFN_SD0_WP___4 = 824,\n\tFN_NFRB_N_A___4 = 825,\n\tFN_SD3_WP___4 = 826,\n\tFN_RIF0_D0_B___4 = 827,\n\tFN_SDA2_B___5 = 828,\n\tFN_TCLK2_A___8 = 829,\n\tFN_SSI_WS2_B___4 = 830,\n\tFN_TS_SDAT0 = 831,\n\tFN_IP11_31_28___5 = 832,\n\tFN_RX1___2 = 833,\n\tFN_HRX2_B___4 = 834,\n\tFN_SSI_SCK9_B___4 = 835,\n\tFN_AUDIO_CLKOUT1_B___4 = 836,\n\tFN_IP12_3_0___5 = 837,\n\tFN_TX1___2 = 838,\n\tFN_HTX2_B___4 = 839,\n\tFN_SSI_WS9_B___4 = 840,\n\tFN_AUDIO_CLKOUT3_B___4 = 841,\n\tFN_IP13_3_0___5 = 842,\n\tFN_MSIOF0_SS1___9 = 843,\n\tFN_HRX2_A___4 = 844,\n\tFN_SSI_SCK4___4 = 845,\n\tFN_HCTS0_N_A___2 = 846,\n\tFN_BPFCLK_C___4 = 847,\n\tFN_SPEEDIN_A___5 = 848,\n\tFN_IP14_3_0___4 = 849,\n\tFN_SSI_SDATA0___4 = 850,\n\tFN_IP15_3_0___4 = 851,\n\tFN_SSI_WS5___4 = 852,\n\tFN_HTX0_B___2 = 853,\n\tFN_USB0_OVC_B = 854,\n\tFN_SDA2_D = 855,\n\tFN_IP12_7_4___5 = 856,\n\tFN_SCK2_A = 857,\n\tFN_HSCK0_A___2 = 858,\n\tFN_AUDIO_CLKB_A___4 = 859,\n\tFN_CTS1_N___7 = 860,\n\tFN_RIF0_CLK_A___4 = 861,\n\tFN_REMOCON_A___4 = 862,\n\tFN_SCIF_CLK_B___5 = 863,\n\tFN_IP13_7_4___5 = 864,\n\tFN_MSIOF0_SS2___9 = 865,\n\tFN_HTX2_A___4 = 866,\n\tFN_SSI_WS4___4 = 867,\n\tFN_HRTS0_N_A___2 = 868,\n\tFN_FMIN_C___4 = 869,\n\tFN_BPFCLK_A___4 = 870,\n\tFN_IP14_7_4___4 = 871,\n\tFN_SSI_SDATA1 = 872,\n\tFN_AUDIO_CLKC_B___4 = 873,\n\tFN_PWM0_B___4 = 874,\n\tFN_IP15_7_4___4 = 875,\n\tFN_SSI_SDATA5___4 = 876,\n\tFN_HSCK0_B___2 = 877,\n\tFN_AUDIO_CLKB_C = 878,\n\tFN_TPU0TO0___5 = 879,\n\tFN_IP12_11_8___5 = 880,\n\tFN_TX2_A___4 = 881,\n\tFN_HRX0_A___2 = 882,\n\tFN_AUDIO_CLKOUT2_A___4 = 883,\n\tFN_SCL1_A___4 = 884,\n\tFN_FSO_CFE_0_N_A___2 = 885,\n\tFN_TS_SDEN1 = 886,\n\tFN_IP13_11_8___4 = 887,\n\tFN_SSI_SDATA9 = 888,\n\tFN_AUDIO_CLKC_A___4 = 889,\n\tFN_SCK1___6 = 890,\n\tFN_IP14_11_8___4 = 891,\n\tFN_SSI_SDATA2 = 892,\n\tFN_AUDIO_CLKOUT2_B___4 = 893,\n\tFN_SSI_SCK9_A___4 = 894,\n\tFN_PWM1_B___8 = 895,\n\tFN_IP15_11_8___4 = 896,\n\tFN_SSI_SCK6___4 = 897,\n\tFN_HSCK2_A___4 = 898,\n\tFN_AUDIO_CLKC_C = 899,\n\tFN_TPU0TO1___5 = 900,\n\tFN_FSO_CFE_0_N_B___2 = 901,\n\tFN_SIM0_RST_B___4 = 902,\n\tFN_IP12_15_12___5 = 903,\n\tFN_RX2_A___4 = 904,\n\tFN_HTX0_A___2 = 905,\n\tFN_AUDIO_CLKOUT3_A___4 = 906,\n\tFN_SDA1_A___4 = 907,\n\tFN_FSO_CFE_1_N_A___2 = 908,\n\tFN_TS_SPSYNC1 = 909,\n\tFN_IP13_15_12___4 = 910,\n\tFN_MLB_CLK___5 = 911,\n\tFN_RX0_B___2 = 912,\n\tFN_RIF0_D0_A___4 = 913,\n\tFN_SCL1_B___4 = 914,\n\tFN_TCLK1_B___8 = 915,\n\tFN_SIM0_RST_A___4 = 916,\n\tFN_IP14_15_12___4 = 917,\n\tFN_SSI_SCK349___4 = 918,\n\tFN_PWM2_C___3 = 919,\n\tFN_IP15_15_12___4 = 920,\n\tFN_SSI_WS6___4 = 921,\n\tFN_HCTS2_N_A___4 = 922,\n\tFN_AUDIO_CLKOUT2_C = 923,\n\tFN_TPU0TO2___5 = 924,\n\tFN_SDA1_D = 925,\n\tFN_FSO_CFE_1_N_B___2 = 926,\n\tFN_SIM0_D_B___4 = 927,\n\tFN_IP12_19_16___5 = 928,\n\tFN_MSIOF0_SCK___9 = 929,\n\tFN_SSI_SCK78___4 = 930,\n\tFN_IP13_19_16___4 = 931,\n\tFN_MLB_SIG___5 = 932,\n\tFN_SCK0_B___2 = 933,\n\tFN_RIF0_D1_A___4 = 934,\n\tFN_SDA1_B___4 = 935,\n\tFN_TCLK2_B___8 = 936,\n\tFN_SIM0_D_A___4 = 937,\n\tFN_IP14_19_16___4 = 938,\n\tFN_SSI_WS349___4 = 939,\n\tFN_PWM3_C___3 = 940,\n\tFN_IP15_19_16___4 = 941,\n\tFN_SSI_SDATA6___4 = 942,\n\tFN_HRTS2_N_A___4 = 943,\n\tFN_AUDIO_CLKOUT3_C = 944,\n\tFN_TPU0TO3___5 = 945,\n\tFN_SCL1_D = 946,\n\tFN_FSO_TOE_N_B___2 = 947,\n\tFN_SIM0_CLK_B___4 = 948,\n\tFN_IP12_23_20___5 = 949,\n\tFN_MSIOF0_RXD___9 = 950,\n\tFN_SSI_WS78___4 = 951,\n\tFN_TX2_B___4 = 952,\n\tFN_IP13_23_20___4 = 953,\n\tFN_MLB_DAT___5 = 954,\n\tFN_TX0_B___2 = 955,\n\tFN_RIF0_SYNC_A___4 = 956,\n\tFN_SIM0_CLK_A___4 = 957,\n\tFN_IP14_23_20___4 = 958,\n\tFN_SSI_SDATA3___5 = 959,\n\tFN_AUDIO_CLKOUT1_C = 960,\n\tFN_AUDIO_CLKB_B___4 = 961,\n\tFN_PWM4_B___5 = 962,\n\tFN_IP15_23_20___4 = 963,\n\tFN_AUDIO_CLKA___2 = 964,\n\tFN_IP12_27_24___5 = 965,\n\tFN_MSIOF0_TXD___9 = 966,\n\tFN_SSI_SDATA7___4 = 967,\n\tFN_RX2_B___4 = 968,\n\tFN_IP13_27_24___4 = 969,\n\tFN_SSI_SCK01239___4 = 970,\n\tFN_IP14_27_24___4 = 971,\n\tFN_SSI_SDATA4___4 = 972,\n\tFN_SSI_WS9_A___4 = 973,\n\tFN_PWM5_B___4 = 974,\n\tFN_IP15_27_24___4 = 975,\n\tFN_USB30_PWEN___4 = 976,\n\tFN_USB0_PWEN_A = 977,\n\tFN_IP12_31_28___5 = 978,\n\tFN_MSIOF0_SYNC___9 = 979,\n\tFN_AUDIO_CLKOUT_B___4 = 980,\n\tFN_SSI_SDATA8___4 = 981,\n\tFN_IP13_31_28___4 = 982,\n\tFN_SSI_WS01239___4 = 983,\n\tFN_IP14_31_28___4 = 984,\n\tFN_SSI_SCK5___4 = 985,\n\tFN_HRX0_B___2 = 986,\n\tFN_USB0_PWEN_B = 987,\n\tFN_SCL2_D = 988,\n\tFN_PWM6_B___4 = 989,\n\tFN_IP15_31_28___4 = 990,\n\tFN_USB30_OVC___4 = 991,\n\tFN_USB0_OVC_A = 992,\n\tFN_FSO_TOE_N_A___2 = 993,\n\tFN_SEL_SIMCARD_0___4 = 994,\n\tFN_SEL_SIMCARD_1___4 = 995,\n\tFN_SEL_ADGB_0___4 = 996,\n\tFN_SEL_ADGB_2 = 997,\n\tFN_SEL_ADGB_1___4 = 998,\n\tFN_SEL_SSI2_0___4 = 999,\n\tFN_SEL_SSI2_1___4 = 1000,\n\tFN_SEL_TIMER_TMU_0___3 = 1001,\n\tFN_SEL_TIMER_TMU_1___3 = 1002,\n\tFN_SEL_DRIF0_0___4 = 1003,\n\tFN_SEL_DRIF0_1___4 = 1004,\n\tFN_SEL_USB_20_CH0_0 = 1005,\n\tFN_SEL_USB_20_CH0_1 = 1006,\n\tFN_SEL_FM_0___4 = 1007,\n\tFN_SEL_FM_2___4 = 1008,\n\tFN_SEL_FM_1___4 = 1009,\n\tFN_SEL_DRIF2_0___4 = 1010,\n\tFN_SEL_DRIF2_1___4 = 1011,\n\tFN_SEL_FSO_0 = 1012,\n\tFN_SEL_FSO_1 = 1013,\n\tFN_SEL_DRIF3_0___4 = 1014,\n\tFN_SEL_DRIF3_1___4 = 1015,\n\tFN_SEL_HSCIF0_0___2 = 1016,\n\tFN_SEL_HSCIF0_1___2 = 1017,\n\tFN_SEL_HSCIF3_0___5 = 1018,\n\tFN_SEL_HSCIF3_4 = 1019,\n\tFN_SEL_HSCIF3_2___4 = 1020,\n\tFN_SEL_HSCIF3_1___5 = 1021,\n\tFN_SEL_HSCIF3_3___4 = 1022,\n\tFN_SEL_HSCIF1_0___4 = 1023,\n\tFN_SEL_HSCIF1_1___4 = 1024,\n\tFN_SEL_HSCIF2_0___4 = 1025,\n\tFN_SEL_HSCIF2_1___4 = 1026,\n\tFN_SEL_I2C1_0___5 = 1027,\n\tFN_SEL_I2C1_2 = 1028,\n\tFN_SEL_I2C1_1___4 = 1029,\n\tFN_SEL_I2C1_3___2 = 1030,\n\tFN_SEL_HSCIF4_0___4 = 1031,\n\tFN_SEL_HSCIF4_4 = 1032,\n\tFN_SEL_HSCIF4_2 = 1033,\n\tFN_SEL_HSCIF4_1___4 = 1034,\n\tFN_SEL_HSCIF4_3 = 1035,\n\tFN_SEL_I2C2_0___6 = 1036,\n\tFN_SEL_I2C2_4 = 1037,\n\tFN_SEL_I2C2_2 = 1038,\n\tFN_SEL_I2C2_1___5 = 1039,\n\tFN_SEL_I2C2_3___2 = 1040,\n\tFN_SEL_I2C6_0___4 = 1041,\n\tFN_SEL_I2C6_1___4 = 1042,\n\tFN_SEL_I2C7_0 = 1043,\n\tFN_SEL_I2C7_1 = 1044,\n\tFN_SEL_NDF_0___3 = 1045,\n\tFN_SEL_NDF_1___3 = 1046,\n\tFN_SEL_MSIOF2_0___5 = 1047,\n\tFN_SEL_MSIOF2_1___5 = 1048,\n\tFN_SEL_PWM0_0___3 = 1049,\n\tFN_SEL_PWM0_1___3 = 1050,\n\tFN_SEL_MSIOF3_0___5 = 1051,\n\tFN_SEL_MSIOF3_1___5 = 1052,\n\tFN_SEL_PWM1_0___6 = 1053,\n\tFN_SEL_PWM1_1___6 = 1054,\n\tFN_SEL_SCIF3_0___5 = 1055,\n\tFN_SEL_SCIF3_2 = 1056,\n\tFN_SEL_SCIF3_1___5 = 1057,\n\tFN_SEL_PWM2_0___6 = 1058,\n\tFN_SEL_PWM2_2___2 = 1059,\n\tFN_SEL_PWM2_1___6 = 1060,\n\tFN_SEL_SCIF4_0___5 = 1061,\n\tFN_SEL_SCIF4_2___4 = 1062,\n\tFN_SEL_SCIF4_1___5 = 1063,\n\tFN_SEL_PWM3_0___6 = 1064,\n\tFN_SEL_PWM3_2___2 = 1065,\n\tFN_SEL_PWM3_1___6 = 1066,\n\tFN_SEL_SCIF5_0___5 = 1067,\n\tFN_SEL_SCIF5_2 = 1068,\n\tFN_SEL_SCIF5_1___5 = 1069,\n\tFN_SEL_PWM4_0___5 = 1070,\n\tFN_SEL_PWM4_1___5 = 1071,\n\tFN_SEL_PWM5_0___4 = 1072,\n\tFN_SEL_PWM5_1___4 = 1073,\n\tFN_SEL_VIN4_0___4 = 1074,\n\tFN_SEL_VIN4_1___4 = 1075,\n\tFN_SEL_PWM6_0___4 = 1076,\n\tFN_SEL_PWM6_1___4 = 1077,\n\tFN_SEL_VIN5_0 = 1078,\n\tFN_SEL_VIN5_1 = 1079,\n\tFN_SEL_REMOCON_0___4 = 1080,\n\tFN_SEL_REMOCON_2 = 1081,\n\tFN_SEL_REMOCON_1___4 = 1082,\n\tFN_SEL_ADGC_0___4 = 1083,\n\tFN_SEL_ADGC_2 = 1084,\n\tFN_SEL_ADGC_1___4 = 1085,\n\tFN_SEL_SCIF_0___4 = 1086,\n\tFN_SEL_SCIF_1___4 = 1087,\n\tFN_SEL_SSI9_0___4 = 1088,\n\tFN_SEL_SSI9_1___4 = 1089,\n\tFN_SEL_SCIF0_0___2 = 1090,\n\tFN_SEL_SCIF0_1___2 = 1091,\n\tFN_SEL_SCIF2_0___4 = 1092,\n\tFN_SEL_SCIF2_1___4 = 1093,\n\tFN_SEL_SPEED_PULSE_IF_0 = 1094,\n\tFN_SEL_SPEED_PULSE_IF_2 = 1095,\n\tFN_SEL_SPEED_PULSE_IF_1 = 1096,\n\tPINMUX_FUNCTION_END___9 = 1097,\n\tPINMUX_MARK_BEGIN___9 = 1098,\n\tAVB_PHY_INT_MARK___5 = 1099,\n\tCLKOUT_MARK___5 = 1100,\n\tAVB_RD3_MARK___5 = 1101,\n\tAVB_RXC_MARK___5 = 1102,\n\tAVB_RX_CTL_MARK___5 = 1103,\n\tQSPI0_SSL_MARK___9 = 1104,\n\tIP0_3_0_MARK___6 = 1105,\n\tQSPI0_SPCLK_MARK___9 = 1106,\n\tHSCK4_A_MARK = 1107,\n\tIP1_3_0_MARK___6 = 1108,\n\tQSPI1_IO2_MARK___9 = 1109,\n\tRIF2_D1_A_MARK___4 = 1110,\n\tHTX3_C_MARK___4 = 1111,\n\tVI4_DATA3_A_MARK___4 = 1112,\n\tIP2_3_0_MARK___6 = 1113,\n\tAVB_TXCREFCLK_MARK___5 = 1114,\n\tIP3_3_0_MARK___6 = 1115,\n\tA1_MARK___5 = 1116,\n\tIRQ1_MARK___6 = 1117,\n\tPWM3_A_MARK___8 = 1118,\n\tDU_DOTCLKIN1_MARK___5 = 1119,\n\tVI5_DATA0_A_MARK = 1120,\n\tDU_DISP_CDE_MARK___2 = 1121,\n\tSDA6_B_MARK___4 = 1122,\n\tIETX_MARK = 1123,\n\tQCPV_QDE_MARK___5 = 1124,\n\tIP0_7_4_MARK___6 = 1125,\n\tQSPI0_MOSI_IO0_MARK___9 = 1126,\n\tHCTS4_N_A_MARK = 1127,\n\tIP1_7_4_MARK___6 = 1128,\n\tQSPI1_IO3_MARK___9 = 1129,\n\tRIF3_CLK_A_MARK___4 = 1130,\n\tHRX3_C_MARK___4 = 1131,\n\tVI4_DATA4_A_MARK___4 = 1132,\n\tIP2_7_4_MARK___6 = 1133,\n\tAVB_MDIO_MARK___5 = 1134,\n\tIP3_7_4_MARK___6 = 1135,\n\tA2_MARK___5 = 1136,\n\tIRQ2_MARK___6 = 1137,\n\tAVB_AVTP_PPS_MARK___5 = 1138,\n\tVI4_CLKENB_MARK___5 = 1139,\n\tVI5_DATA1_A_MARK = 1140,\n\tDU_DISP_MARK___6 = 1141,\n\tSCL6_B_MARK___4 = 1142,\n\tQSTVB_QVE_MARK___5 = 1143,\n\tIP0_11_8_MARK___6 = 1144,\n\tQSPI0_MISO_IO1_MARK___9 = 1145,\n\tHRTS4_N_A_MARK = 1146,\n\tIP1_11_8_MARK___6 = 1147,\n\tQSPI1_SSL_MARK___9 = 1148,\n\tRIF3_SYNC_A_MARK___4 = 1149,\n\tHSCK3_C_MARK = 1150,\n\tVI4_DATA5_A_MARK___4 = 1151,\n\tIP2_11_8_MARK___6 = 1152,\n\tAVB_MDC_MARK___5 = 1153,\n\tIP3_11_8_MARK___6 = 1154,\n\tA3_MARK___5 = 1155,\n\tCTS4_N_A_MARK___4 = 1156,\n\tPWM4_A_MARK___5 = 1157,\n\tVI4_DATA12_MARK___5 = 1158,\n\tDU_DOTCLKOUT0_MARK___5 = 1159,\n\tHTX3_D_MARK___4 = 1160,\n\tIECLK_MARK = 1161,\n\tLCDOUT12_MARK___5 = 1162,\n\tIP0_15_12_MARK___6 = 1163,\n\tQSPI0_IO2_MARK___9 = 1164,\n\tHTX4_A_MARK___4 = 1165,\n\tIP1_15_12_MARK___6 = 1166,\n\tRPC_INT_N_MARK___6 = 1167,\n\tRIF3_D0_A_MARK___4 = 1168,\n\tHCTS3_N_C_MARK = 1169,\n\tVI4_DATA6_A_MARK___4 = 1170,\n\tIP2_15_12_MARK___6 = 1171,\n\tBS_N_MARK___5 = 1172,\n\tPWM0_A_MARK___4 = 1173,\n\tAVB_MAGIC_MARK___5 = 1174,\n\tVI4_CLK_MARK___5 = 1175,\n\tTX3_C_MARK = 1176,\n\tVI5_CLK_B_MARK = 1177,\n\tIP3_15_12_MARK___6 = 1178,\n\tA4_MARK___5 = 1179,\n\tRTS4_N_A_MARK___4 = 1180,\n\tMSIOF3_SYNC_B_MARK___5 = 1181,\n\tVI4_DATA8_MARK___5 = 1182,\n\tPWM2_B_MARK___7 = 1183,\n\tDU_DG4_MARK___6 = 1184,\n\tRIF2_CLK_B_MARK___4 = 1185,\n\tIP0_19_16_MARK___6 = 1186,\n\tQSPI0_IO3_MARK___9 = 1187,\n\tHRX4_A_MARK___4 = 1188,\n\tIP1_19_16_MARK___6 = 1189,\n\tRPC_RESET_N_MARK___6 = 1190,\n\tRIF3_D1_A_MARK___4 = 1191,\n\tHRTS3_N_C_MARK = 1192,\n\tVI4_DATA7_A_MARK___4 = 1193,\n\tIP2_19_16_MARK___6 = 1194,\n\tRD_N_MARK___5 = 1195,\n\tPWM1_A_MARK___8 = 1196,\n\tAVB_LINK_MARK___5 = 1197,\n\tVI4_FIELD_MARK___5 = 1198,\n\tRX3_C_MARK = 1199,\n\tFSCLKST2_N_A_MARK___3 = 1200,\n\tVI5_DATA0_B_MARK = 1201,\n\tIP3_19_16_MARK___6 = 1202,\n\tA5_MARK___5 = 1203,\n\tSCK4_A_MARK___5 = 1204,\n\tMSIOF3_SCK_B_MARK___5 = 1205,\n\tVI4_DATA9_MARK___5 = 1206,\n\tPWM3_B_MARK___8 = 1207,\n\tRIF2_SYNC_B_MARK___4 = 1208,\n\tQPOLA_MARK___5 = 1209,\n\tIP0_23_20_MARK___6 = 1210,\n\tQSPI1_SPCLK_MARK___9 = 1211,\n\tRIF2_CLK_A_MARK___4 = 1212,\n\tHSCK4_B_MARK = 1213,\n\tVI4_DATA0_A_MARK___4 = 1214,\n\tIP1_23_20_MARK___6 = 1215,\n\tAVB_RD0_MARK___5 = 1216,\n\tIP2_23_20_MARK___6 = 1217,\n\tRD_WR_N_MARK___5 = 1218,\n\tSCL7_A_MARK = 1219,\n\tAVB_AVTP_MATCH_MARK___2 = 1220,\n\tVI4_VSYNC_N_MARK___5 = 1221,\n\tTX5_B_MARK___5 = 1222,\n\tSCK3_C_MARK = 1223,\n\tPWM5_A_MARK___4 = 1224,\n\tIP3_23_20_MARK___6 = 1225,\n\tA6_MARK___5 = 1226,\n\tRX4_A_MARK___5 = 1227,\n\tMSIOF3_RXD_B_MARK___5 = 1228,\n\tVI4_DATA10_MARK___5 = 1229,\n\tRIF2_D0_B_MARK___4 = 1230,\n\tIP0_27_24_MARK___6 = 1231,\n\tQSPI1_MOSI_IO0_MARK___9 = 1232,\n\tRIF2_SYNC_A_MARK___4 = 1233,\n\tHTX4_B_MARK___4 = 1234,\n\tVI4_DATA1_A_MARK___4 = 1235,\n\tIP1_27_24_MARK___6 = 1236,\n\tAVB_RD1_MARK___5 = 1237,\n\tIP2_27_24_MARK___6 = 1238,\n\tEX_WAIT0_MARK___2 = 1239,\n\tSDA7_A_MARK = 1240,\n\tAVB_AVTP_CAPTURE_MARK___2 = 1241,\n\tVI4_HSYNC_N_MARK___5 = 1242,\n\tRX5_B_MARK___5 = 1243,\n\tPWM6_A_MARK___4 = 1244,\n\tIP3_27_24_MARK___6 = 1245,\n\tA7_MARK___5 = 1246,\n\tTX4_A_MARK___5 = 1247,\n\tMSIOF3_TXD_B_MARK___5 = 1248,\n\tVI4_DATA11_MARK___5 = 1249,\n\tRIF2_D1_B_MARK___4 = 1250,\n\tIP0_31_28_MARK___6 = 1251,\n\tQSPI1_MISO_IO1_MARK___9 = 1252,\n\tRIF2_D0_A_MARK___4 = 1253,\n\tHRX4_B_MARK___4 = 1254,\n\tVI4_DATA2_A_MARK___4 = 1255,\n\tIP1_31_28_MARK___6 = 1256,\n\tAVB_RD2_MARK___5 = 1257,\n\tIP2_31_28_MARK___6 = 1258,\n\tA0_MARK___5 = 1259,\n\tIRQ0_MARK___6 = 1260,\n\tPWM2_A_MARK___7 = 1261,\n\tMSIOF3_SS1_B_MARK___5 = 1262,\n\tVI5_CLK_A_MARK = 1263,\n\tDU_CDE_MARK___6 = 1264,\n\tHRX3_D_MARK___4 = 1265,\n\tIERX_MARK = 1266,\n\tQSTB_QHE_MARK___5 = 1267,\n\tIP3_31_28_MARK___6 = 1268,\n\tA8_MARK___5 = 1269,\n\tSDA6_A_MARK___4 = 1270,\n\tRX3_B_MARK___7 = 1271,\n\tHRX4_C_MARK = 1272,\n\tVI5_HSYNC_N_A_MARK = 1273,\n\tDU_HSYNC_MARK___2 = 1274,\n\tVI4_DATA0_B_MARK___4 = 1275,\n\tQSTH_QHS_MARK___5 = 1276,\n\tIP4_3_0_MARK___6 = 1277,\n\tA9_MARK___5 = 1278,\n\tTX5_A_MARK___5 = 1279,\n\tIRQ3_MARK___6 = 1280,\n\tVI4_DATA16_MARK___5 = 1281,\n\tVI5_VSYNC_N_A_MARK = 1282,\n\tDU_DG7_MARK___6 = 1283,\n\tLCDOUT15_MARK___5 = 1284,\n\tIP5_3_0_MARK___6 = 1285,\n\tA17_MARK___5 = 1286,\n\tMSIOF1_RXD_MARK___6 = 1287,\n\tVI4_DATA20_MARK___5 = 1288,\n\tVI5_DATA6_A_MARK = 1289,\n\tDU_DB6_MARK___6 = 1290,\n\tLCDOUT6_MARK___5 = 1291,\n\tIP6_3_0_MARK___6 = 1292,\n\tD3_MARK___5 = 1293,\n\tMSIOF3_TXD_A_MARK___5 = 1294,\n\tTX5_C_MARK = 1295,\n\tVI5_DATA15_A_MARK = 1296,\n\tDU_DR4_MARK___6 = 1297,\n\tTX4_C_MARK___4 = 1298,\n\tLCDOUT20_MARK___5 = 1299,\n\tIP7_3_0_MARK___6 = 1300,\n\tD11_MARK___5 = 1301,\n\tMSIOF2_TXD_A_MARK___4 = 1302,\n\tVI5_DATA11_A_MARK = 1303,\n\tDU_DG2_MARK___6 = 1304,\n\tRIF3_D1_B_MARK___4 = 1305,\n\tHRTS3_N_E_MARK = 1306,\n\tLCDOUT10_MARK___5 = 1307,\n\tIP4_7_4_MARK___6 = 1308,\n\tA10_MARK___5 = 1309,\n\tIRQ4_MARK___6 = 1310,\n\tMSIOF2_SYNC_B_MARK___5 = 1311,\n\tVI4_DATA13_MARK___5 = 1312,\n\tVI5_FIELD_A_MARK = 1313,\n\tDU_DG5_MARK___6 = 1314,\n\tFSCLKST2_N_B_MARK___3 = 1315,\n\tLCDOUT13_MARK___5 = 1316,\n\tIP5_7_4_MARK___6 = 1317,\n\tA18_MARK___5 = 1318,\n\tMSIOF1_TXD_MARK___6 = 1319,\n\tVI4_DATA21_MARK___5 = 1320,\n\tVI5_DATA7_A_MARK = 1321,\n\tDU_DB0_MARK___6 = 1322,\n\tHRX4_E_MARK = 1323,\n\tLCDOUT0_MARK___5 = 1324,\n\tIP6_7_4_MARK___6 = 1325,\n\tD4_MARK___5 = 1326,\n\tCANFD1_TX_MARK___8 = 1327,\n\tHSCK3_B_MARK___4 = 1328,\n\tCAN1_TX_MARK___4 = 1329,\n\tRTS3_N_A_MARK___3 = 1330,\n\tMSIOF3_SS2_A_MARK___5 = 1331,\n\tVI5_DATA1_B_MARK = 1332,\n\tIP7_7_4_MARK___6 = 1333,\n\tD12_MARK___5 = 1334,\n\tCANFD0_TX_MARK___4 = 1335,\n\tTX4_B_MARK___5 = 1336,\n\tCAN0_TX_MARK = 1337,\n\tVI5_DATA8_A_MARK = 1338,\n\tVI5_DATA3_B_MARK = 1339,\n\tIP4_11_8_MARK___6 = 1340,\n\tA11_MARK___5 = 1341,\n\tSCL6_A_MARK___4 = 1342,\n\tTX3_B_MARK___7 = 1343,\n\tHTX4_C_MARK = 1344,\n\tDU_VSYNC_MARK___2 = 1345,\n\tVI4_DATA1_B_MARK___4 = 1346,\n\tQSTVA_QVS_MARK___5 = 1347,\n\tIP5_11_8_MARK___6 = 1348,\n\tA19_MARK___5 = 1349,\n\tMSIOF1_SCK_MARK___6 = 1350,\n\tVI4_DATA22_MARK___5 = 1351,\n\tVI5_DATA2_A_MARK = 1352,\n\tDU_DB1_MARK___6 = 1353,\n\tHTX4_E_MARK = 1354,\n\tLCDOUT1_MARK___5 = 1355,\n\tIP6_11_8_MARK___6 = 1356,\n\tD5_MARK___5 = 1357,\n\tRX3_A_MARK___7 = 1358,\n\tHRX3_B_MARK___7 = 1359,\n\tDU_DR5_MARK___6 = 1360,\n\tVI4_DATA4_B_MARK___4 = 1361,\n\tLCDOUT21_MARK___5 = 1362,\n\tIP7_11_8_MARK___6 = 1363,\n\tD13_MARK___5 = 1364,\n\tCANFD0_RX_MARK___4 = 1365,\n\tRX4_B_MARK___5 = 1366,\n\tCAN0_RX_MARK = 1367,\n\tVI5_DATA9_A_MARK = 1368,\n\tSCL7_B_MARK = 1369,\n\tVI5_DATA4_B_MARK = 1370,\n\tIP4_15_12_MARK___6 = 1371,\n\tA12_MARK___5 = 1372,\n\tRX5_A_MARK___5 = 1373,\n\tMSIOF2_SS2_B_MARK___4 = 1374,\n\tVI4_DATA17_MARK___5 = 1375,\n\tVI5_DATA3_A_MARK = 1376,\n\tDU_DG6_MARK___6 = 1377,\n\tLCDOUT14_MARK___5 = 1378,\n\tIP5_15_12_MARK___6 = 1379,\n\tCS0_N_MARK___5 = 1380,\n\tSCL5_MARK___7 = 1381,\n\tDU_DR0_MARK___6 = 1382,\n\tVI4_DATA2_B_MARK___4 = 1383,\n\tLCDOUT16_MARK___5 = 1384,\n\tIP6_15_12_MARK___6 = 1385,\n\tD6_MARK___5 = 1386,\n\tTX3_A_MARK___7 = 1387,\n\tHTX3_B_MARK___7 = 1388,\n\tDU_DR6_MARK___6 = 1389,\n\tVI4_DATA5_B_MARK___4 = 1390,\n\tLCDOUT22_MARK___5 = 1391,\n\tIP7_15_12_MARK___3 = 1392,\n\tD14_MARK___5 = 1393,\n\tCAN_CLK_MARK___7 = 1394,\n\tHRX3_A_MARK___7 = 1395,\n\tMSIOF2_SS2_A_MARK___4 = 1396,\n\tSDA7_B_MARK = 1397,\n\tVI5_DATA5_B_MARK = 1398,\n\tIP4_19_16_MARK___6 = 1399,\n\tA13_MARK___5 = 1400,\n\tSCK5_A_MARK___5 = 1401,\n\tMSIOF2_SCK_B_MARK___4 = 1402,\n\tVI4_DATA14_MARK___5 = 1403,\n\tHRX4_D_MARK = 1404,\n\tDU_DB2_MARK___6 = 1405,\n\tLCDOUT2_MARK___5 = 1406,\n\tIP5_19_16_MARK___6 = 1407,\n\tWE0_N_MARK___5 = 1408,\n\tSDA5_MARK___7 = 1409,\n\tDU_DR1_MARK___6 = 1410,\n\tVI4_DATA3_B_MARK___4 = 1411,\n\tLCDOUT17_MARK___5 = 1412,\n\tIP6_19_16_MARK___6 = 1413,\n\tD7_MARK___5 = 1414,\n\tCANFD1_RX_MARK___8 = 1415,\n\tIRQ5_MARK___8 = 1416,\n\tCAN1_RX_MARK___4 = 1417,\n\tCTS3_N_A_MARK___3 = 1418,\n\tVI5_DATA2_B_MARK = 1419,\n\tIP7_19_16_MARK___6 = 1420,\n\tD15_MARK___5 = 1421,\n\tMSIOF2_SS1_A_MARK___4 = 1422,\n\tHTX3_A_MARK___7 = 1423,\n\tMSIOF3_SS1_A_MARK___5 = 1424,\n\tDU_DG3_MARK___6 = 1425,\n\tLCDOUT11_MARK___5 = 1426,\n\tIP4_23_20_MARK___6 = 1427,\n\tA14_MARK___5 = 1428,\n\tMSIOF1_SS1_MARK___6 = 1429,\n\tMSIOF2_RXD_B_MARK___4 = 1430,\n\tVI4_DATA15_MARK___5 = 1431,\n\tHTX4_D_MARK = 1432,\n\tDU_DB3_MARK___6 = 1433,\n\tLCDOUT3_MARK___5 = 1434,\n\tIP5_23_20_MARK___6 = 1435,\n\tD0_MARK___5 = 1436,\n\tMSIOF3_SCK_A_MARK___5 = 1437,\n\tDU_DR2_MARK___6 = 1438,\n\tCTS4_N_C_MARK___4 = 1439,\n\tLCDOUT18_MARK___5 = 1440,\n\tIP6_23_20_MARK___6 = 1441,\n\tD8_MARK___5 = 1442,\n\tMSIOF2_SCK_A_MARK___4 = 1443,\n\tSCK4_B_MARK___5 = 1444,\n\tVI5_DATA12_A_MARK = 1445,\n\tDU_DR7_MARK___6 = 1446,\n\tRIF3_CLK_B_MARK___4 = 1447,\n\tHCTS3_N_E_MARK = 1448,\n\tLCDOUT23_MARK___5 = 1449,\n\tIP7_23_20_MARK___6 = 1450,\n\tSCL4_MARK___4 = 1451,\n\tCS1_N_A26_MARK = 1452,\n\tDU_DOTCLKIN0_MARK___4 = 1453,\n\tVI4_DATA6_B_MARK___4 = 1454,\n\tVI5_DATA6_B_MARK = 1455,\n\tQCLK_MARK___5 = 1456,\n\tIP4_27_24_MARK___6 = 1457,\n\tA15_MARK___5 = 1458,\n\tMSIOF1_SS2_MARK___6 = 1459,\n\tMSIOF2_TXD_B_MARK___4 = 1460,\n\tVI4_DATA18_MARK___5 = 1461,\n\tVI5_DATA4_A_MARK = 1462,\n\tDU_DB4_MARK___6 = 1463,\n\tLCDOUT4_MARK___5 = 1464,\n\tIP5_27_24_MARK___6 = 1465,\n\tD1_MARK___5 = 1466,\n\tMSIOF3_SYNC_A_MARK___5 = 1467,\n\tSCK3_A_MARK___4 = 1468,\n\tVI4_DATA23_MARK___5 = 1469,\n\tVI5_CLKENB_A_MARK = 1470,\n\tDU_DB7_MARK___6 = 1471,\n\tRTS4_N_C_MARK___4 = 1472,\n\tLCDOUT7_MARK___5 = 1473,\n\tIP6_27_24_MARK___6 = 1474,\n\tD9_MARK___5 = 1475,\n\tMSIOF2_SYNC_A_MARK___5 = 1476,\n\tVI5_DATA10_A_MARK = 1477,\n\tDU_DG0_MARK___6 = 1478,\n\tRIF3_SYNC_B_MARK___4 = 1479,\n\tHRX3_E_MARK = 1480,\n\tLCDOUT8_MARK___5 = 1481,\n\tIP7_27_24_MARK___6 = 1482,\n\tSDA4_MARK___4 = 1483,\n\tWE1_N_MARK___5 = 1484,\n\tVI4_DATA7_B_MARK___4 = 1485,\n\tVI5_DATA7_B_MARK = 1486,\n\tQPOLB_MARK___5 = 1487,\n\tIP4_31_28_MARK___6 = 1488,\n\tA16_MARK___5 = 1489,\n\tMSIOF1_SYNC_MARK___6 = 1490,\n\tMSIOF2_SS1_B_MARK___4 = 1491,\n\tVI4_DATA19_MARK___5 = 1492,\n\tVI5_DATA5_A_MARK = 1493,\n\tDU_DB5_MARK___6 = 1494,\n\tLCDOUT5_MARK___5 = 1495,\n\tIP5_31_28_MARK___6 = 1496,\n\tD2_MARK___5 = 1497,\n\tMSIOF3_RXD_A_MARK___5 = 1498,\n\tRX5_C_MARK = 1499,\n\tVI5_DATA14_A_MARK = 1500,\n\tDU_DR3_MARK___6 = 1501,\n\tRX4_C_MARK___4 = 1502,\n\tLCDOUT19_MARK___5 = 1503,\n\tIP6_31_28_MARK___6 = 1504,\n\tD10_MARK___5 = 1505,\n\tMSIOF2_RXD_A_MARK___4 = 1506,\n\tVI5_DATA13_A_MARK = 1507,\n\tDU_DG1_MARK___6 = 1508,\n\tRIF3_D0_B_MARK___4 = 1509,\n\tHTX3_E_MARK = 1510,\n\tLCDOUT9_MARK___5 = 1511,\n\tIP7_31_28_MARK___6 = 1512,\n\tSD0_CLK_MARK___4 = 1513,\n\tNFDATA8_MARK___5 = 1514,\n\tSCL1_C_MARK = 1515,\n\tHSCK1_B_MARK___6 = 1516,\n\tSDA2_E_MARK = 1517,\n\tFMCLK_B_MARK___4 = 1518,\n\tIP8_3_0_MARK___6 = 1519,\n\tSD0_CMD_MARK___4 = 1520,\n\tNFDATA9_MARK___5 = 1521,\n\tHRX1_B_MARK___6 = 1522,\n\tSPEEDIN_B_MARK___5 = 1523,\n\tIP9_3_0_MARK___6 = 1524,\n\tSD1_DAT1_MARK___4 = 1525,\n\tNFCE_N_B_MARK___4 = 1526,\n\tIP10_3_0_MARK___6 = 1527,\n\tSD3_DAT3_MARK___4 = 1528,\n\tNFDATA3_MARK___5 = 1529,\n\tIP11_3_0_MARK___5 = 1530,\n\tSD1_CD_MARK___4 = 1531,\n\tNFCE_N_A_MARK___4 = 1532,\n\tSSI_SCK1_MARK = 1533,\n\tRIF0_D1_B_MARK___4 = 1534,\n\tTS_SDEN0_MARK = 1535,\n\tIP8_7_4_MARK___6 = 1536,\n\tSD0_DAT0_MARK___4 = 1537,\n\tNFDATA10_MARK___5 = 1538,\n\tHTX1_B_MARK___6 = 1539,\n\tREMOCON_B_MARK___4 = 1540,\n\tIP9_7_4_MARK___6 = 1541,\n\tSD1_DAT2_MARK___4 = 1542,\n\tNFALE_B_MARK = 1543,\n\tIP10_7_4_MARK___6 = 1544,\n\tSD3_DAT4_MARK___4 = 1545,\n\tNFDATA4_MARK___5 = 1546,\n\tIP11_7_4_MARK___5 = 1547,\n\tSD1_WP_MARK___4 = 1548,\n\tNFWP_N_A_MARK___4 = 1549,\n\tSSI_WS1_MARK = 1550,\n\tRIF0_SYNC_B_MARK___4 = 1551,\n\tTS_SPSYNC0_MARK = 1552,\n\tIP8_11_8_MARK___6 = 1553,\n\tSD0_DAT1_MARK___4 = 1554,\n\tNFDATA11_MARK___5 = 1555,\n\tSDA2_C_MARK = 1556,\n\tHCTS1_N_B_MARK___6 = 1557,\n\tFMIN_B_MARK___4 = 1558,\n\tIP9_11_8_MARK___6 = 1559,\n\tSD1_DAT3_MARK___4 = 1560,\n\tNFRB_N_B_MARK___4 = 1561,\n\tIP10_11_8_MARK___6 = 1562,\n\tSD3_DAT5_MARK___4 = 1563,\n\tNFDATA5_MARK___5 = 1564,\n\tIP11_11_8_MARK___5 = 1565,\n\tRX0_A_MARK___2 = 1566,\n\tHRX1_A_MARK___6 = 1567,\n\tSSI_SCK2_A_MARK___4 = 1568,\n\tRIF1_SYNC_MARK = 1569,\n\tTS_SCK1_MARK = 1570,\n\tIP8_15_12_MARK___6 = 1571,\n\tSD0_DAT2_MARK___4 = 1572,\n\tNFDATA12_MARK___5 = 1573,\n\tSCL2_C_MARK = 1574,\n\tHRTS1_N_B_MARK___6 = 1575,\n\tBPFCLK_B_MARK___4 = 1576,\n\tIP9_15_12_MARK___6 = 1577,\n\tSD3_CLK_MARK___4 = 1578,\n\tNFWE_N_MARK___5 = 1579,\n\tIP10_15_12_MARK___6 = 1580,\n\tSD3_DAT6_MARK___4 = 1581,\n\tNFDATA6_MARK___5 = 1582,\n\tIP11_15_12_MARK___5 = 1583,\n\tTX0_A_MARK___2 = 1584,\n\tHTX1_A_MARK___6 = 1585,\n\tSSI_WS2_A_MARK___4 = 1586,\n\tRIF1_D0_MARK = 1587,\n\tTS_SDAT1_MARK = 1588,\n\tIP8_19_16_MARK___6 = 1589,\n\tSD0_DAT3_MARK___4 = 1590,\n\tNFDATA13_MARK___5 = 1591,\n\tSDA1_C_MARK = 1592,\n\tSCL2_E_MARK = 1593,\n\tSPEEDIN_C_MARK = 1594,\n\tREMOCON_C_MARK = 1595,\n\tIP9_19_16_MARK___6 = 1596,\n\tSD3_CMD_MARK___4 = 1597,\n\tNFRE_N_MARK___5 = 1598,\n\tIP10_19_16_MARK___6 = 1599,\n\tSD3_DAT7_MARK___4 = 1600,\n\tNFDATA7_MARK___5 = 1601,\n\tIP11_19_16_MARK___5 = 1602,\n\tCTS0_N_A_MARK = 1603,\n\tNFDATA14_A_MARK___4 = 1604,\n\tAUDIO_CLKOUT_A_MARK___4 = 1605,\n\tRIF1_D1_MARK = 1606,\n\tSCIF_CLK_A_MARK___5 = 1607,\n\tFMCLK_A_MARK___4 = 1608,\n\tIP8_23_20_MARK___6 = 1609,\n\tSD1_CLK_MARK___4 = 1610,\n\tNFDATA14_B_MARK___4 = 1611,\n\tIP9_23_20_MARK___6 = 1612,\n\tSD3_DAT0_MARK___4 = 1613,\n\tNFDATA0_MARK___5 = 1614,\n\tIP10_23_20_MARK___5 = 1615,\n\tSD3_DS_MARK___4 = 1616,\n\tNFCLE_MARK___5 = 1617,\n\tIP11_23_20_MARK___5 = 1618,\n\tRTS0_N_A_MARK = 1619,\n\tNFDATA15_A_MARK___4 = 1620,\n\tAUDIO_CLKOUT1_A_MARK___4 = 1621,\n\tRIF1_CLK_MARK = 1622,\n\tSCL2_A_MARK___5 = 1623,\n\tFMIN_A_MARK___4 = 1624,\n\tIP8_27_24_MARK___6 = 1625,\n\tSD1_CMD_MARK___4 = 1626,\n\tNFDATA15_B_MARK___4 = 1627,\n\tIP9_27_24_MARK___6 = 1628,\n\tSD3_DAT1_MARK___4 = 1629,\n\tNFDATA1_MARK___5 = 1630,\n\tIP10_27_24_MARK___5 = 1631,\n\tSD0_CD_MARK___4 = 1632,\n\tNFALE_A_MARK = 1633,\n\tSD3_CD_MARK___4 = 1634,\n\tRIF0_CLK_B_MARK___4 = 1635,\n\tSCL2_B_MARK___5 = 1636,\n\tTCLK1_A_MARK___8 = 1637,\n\tSSI_SCK2_B_MARK___4 = 1638,\n\tTS_SCK0_MARK = 1639,\n\tIP11_27_24_MARK___5 = 1640,\n\tSCK0_A_MARK___2 = 1641,\n\tHSCK1_A_MARK___6 = 1642,\n\tUSB3HS0_ID_MARK = 1643,\n\tRTS1_N_MARK___7 = 1644,\n\tSDA2_A_MARK___5 = 1645,\n\tFMCLK_C_MARK___4 = 1646,\n\tUSB0_ID_MARK = 1647,\n\tIP8_31_28_MARK___6 = 1648,\n\tSD1_DAT0_MARK___4 = 1649,\n\tNFWP_N_B_MARK___4 = 1650,\n\tIP9_31_28_MARK___6 = 1651,\n\tSD3_DAT2_MARK___4 = 1652,\n\tNFDATA2_MARK___5 = 1653,\n\tIP10_31_28_MARK___5 = 1654,\n\tSD0_WP_MARK___4 = 1655,\n\tNFRB_N_A_MARK___4 = 1656,\n\tSD3_WP_MARK___4 = 1657,\n\tRIF0_D0_B_MARK___4 = 1658,\n\tSDA2_B_MARK___5 = 1659,\n\tTCLK2_A_MARK___8 = 1660,\n\tSSI_WS2_B_MARK___4 = 1661,\n\tTS_SDAT0_MARK = 1662,\n\tIP11_31_28_MARK___5 = 1663,\n\tRX1_MARK___2 = 1664,\n\tHRX2_B_MARK___4 = 1665,\n\tSSI_SCK9_B_MARK___4 = 1666,\n\tAUDIO_CLKOUT1_B_MARK___4 = 1667,\n\tIP12_3_0_MARK___5 = 1668,\n\tTX1_MARK___2 = 1669,\n\tHTX2_B_MARK___4 = 1670,\n\tSSI_WS9_B_MARK___4 = 1671,\n\tAUDIO_CLKOUT3_B_MARK___4 = 1672,\n\tIP13_3_0_MARK___5 = 1673,\n\tMSIOF0_SS1_MARK___9 = 1674,\n\tHRX2_A_MARK___4 = 1675,\n\tSSI_SCK4_MARK___4 = 1676,\n\tHCTS0_N_A_MARK___2 = 1677,\n\tBPFCLK_C_MARK___4 = 1678,\n\tSPEEDIN_A_MARK___5 = 1679,\n\tIP14_3_0_MARK___4 = 1680,\n\tSSI_SDATA0_MARK___4 = 1681,\n\tIP15_3_0_MARK___4 = 1682,\n\tSSI_WS5_MARK___4 = 1683,\n\tHTX0_B_MARK___2 = 1684,\n\tUSB0_OVC_B_MARK = 1685,\n\tSDA2_D_MARK = 1686,\n\tIP12_7_4_MARK___5 = 1687,\n\tSCK2_A_MARK = 1688,\n\tHSCK0_A_MARK___2 = 1689,\n\tAUDIO_CLKB_A_MARK___4 = 1690,\n\tCTS1_N_MARK___7 = 1691,\n\tRIF0_CLK_A_MARK___4 = 1692,\n\tREMOCON_A_MARK___4 = 1693,\n\tSCIF_CLK_B_MARK___5 = 1694,\n\tIP13_7_4_MARK___5 = 1695,\n\tMSIOF0_SS2_MARK___9 = 1696,\n\tHTX2_A_MARK___4 = 1697,\n\tSSI_WS4_MARK___4 = 1698,\n\tHRTS0_N_A_MARK___2 = 1699,\n\tFMIN_C_MARK___4 = 1700,\n\tBPFCLK_A_MARK___4 = 1701,\n\tIP14_7_4_MARK___4 = 1702,\n\tSSI_SDATA1_MARK = 1703,\n\tAUDIO_CLKC_B_MARK___4 = 1704,\n\tPWM0_B_MARK___4 = 1705,\n\tIP15_7_4_MARK___4 = 1706,\n\tSSI_SDATA5_MARK___4 = 1707,\n\tHSCK0_B_MARK___2 = 1708,\n\tAUDIO_CLKB_C_MARK = 1709,\n\tTPU0TO0_MARK___5 = 1710,\n\tIP12_11_8_MARK___5 = 1711,\n\tTX2_A_MARK___4 = 1712,\n\tHRX0_A_MARK___2 = 1713,\n\tAUDIO_CLKOUT2_A_MARK___4 = 1714,\n\tSCL1_A_MARK___4 = 1715,\n\tFSO_CFE_0_N_A_MARK___2 = 1716,\n\tTS_SDEN1_MARK = 1717,\n\tIP13_11_8_MARK___4 = 1718,\n\tSSI_SDATA9_MARK = 1719,\n\tAUDIO_CLKC_A_MARK___4 = 1720,\n\tSCK1_MARK___6 = 1721,\n\tIP14_11_8_MARK___4 = 1722,\n\tSSI_SDATA2_MARK = 1723,\n\tAUDIO_CLKOUT2_B_MARK___4 = 1724,\n\tSSI_SCK9_A_MARK___4 = 1725,\n\tPWM1_B_MARK___8 = 1726,\n\tIP15_11_8_MARK___4 = 1727,\n\tSSI_SCK6_MARK___4 = 1728,\n\tHSCK2_A_MARK___4 = 1729,\n\tAUDIO_CLKC_C_MARK = 1730,\n\tTPU0TO1_MARK___5 = 1731,\n\tFSO_CFE_0_N_B_MARK___2 = 1732,\n\tSIM0_RST_B_MARK___4 = 1733,\n\tIP12_15_12_MARK___5 = 1734,\n\tRX2_A_MARK___4 = 1735,\n\tHTX0_A_MARK___2 = 1736,\n\tAUDIO_CLKOUT3_A_MARK___4 = 1737,\n\tSDA1_A_MARK___4 = 1738,\n\tFSO_CFE_1_N_A_MARK___2 = 1739,\n\tTS_SPSYNC1_MARK = 1740,\n\tIP13_15_12_MARK___4 = 1741,\n\tMLB_CLK_MARK___5 = 1742,\n\tRX0_B_MARK___2 = 1743,\n\tRIF0_D0_A_MARK___4 = 1744,\n\tSCL1_B_MARK___4 = 1745,\n\tTCLK1_B_MARK___8 = 1746,\n\tSIM0_RST_A_MARK___4 = 1747,\n\tIP14_15_12_MARK___4 = 1748,\n\tSSI_SCK349_MARK___4 = 1749,\n\tPWM2_C_MARK___3 = 1750,\n\tIP15_15_12_MARK___4 = 1751,\n\tSSI_WS6_MARK___4 = 1752,\n\tHCTS2_N_A_MARK___4 = 1753,\n\tAUDIO_CLKOUT2_C_MARK = 1754,\n\tTPU0TO2_MARK___5 = 1755,\n\tSDA1_D_MARK = 1756,\n\tFSO_CFE_1_N_B_MARK___2 = 1757,\n\tSIM0_D_B_MARK___4 = 1758,\n\tIP12_19_16_MARK___5 = 1759,\n\tMSIOF0_SCK_MARK___9 = 1760,\n\tSSI_SCK78_MARK___4 = 1761,\n\tIP13_19_16_MARK___4 = 1762,\n\tMLB_SIG_MARK___5 = 1763,\n\tSCK0_B_MARK___2 = 1764,\n\tRIF0_D1_A_MARK___4 = 1765,\n\tSDA1_B_MARK___4 = 1766,\n\tTCLK2_B_MARK___8 = 1767,\n\tSIM0_D_A_MARK___4 = 1768,\n\tIP14_19_16_MARK___4 = 1769,\n\tSSI_WS349_MARK___4 = 1770,\n\tPWM3_C_MARK___3 = 1771,\n\tIP15_19_16_MARK___4 = 1772,\n\tSSI_SDATA6_MARK___4 = 1773,\n\tHRTS2_N_A_MARK___4 = 1774,\n\tAUDIO_CLKOUT3_C_MARK = 1775,\n\tTPU0TO3_MARK___5 = 1776,\n\tSCL1_D_MARK = 1777,\n\tFSO_TOE_N_B_MARK___2 = 1778,\n\tSIM0_CLK_B_MARK___4 = 1779,\n\tIP12_23_20_MARK___5 = 1780,\n\tMSIOF0_RXD_MARK___9 = 1781,\n\tSSI_WS78_MARK___4 = 1782,\n\tTX2_B_MARK___4 = 1783,\n\tIP13_23_20_MARK___4 = 1784,\n\tMLB_DAT_MARK___5 = 1785,\n\tTX0_B_MARK___2 = 1786,\n\tRIF0_SYNC_A_MARK___4 = 1787,\n\tSIM0_CLK_A_MARK___4 = 1788,\n\tIP14_23_20_MARK___4 = 1789,\n\tSSI_SDATA3_MARK___5 = 1790,\n\tAUDIO_CLKOUT1_C_MARK = 1791,\n\tAUDIO_CLKB_B_MARK___4 = 1792,\n\tPWM4_B_MARK___5 = 1793,\n\tIP15_23_20_MARK___4 = 1794,\n\tAUDIO_CLKA_MARK___2 = 1795,\n\tIP12_27_24_MARK___5 = 1796,\n\tMSIOF0_TXD_MARK___9 = 1797,\n\tSSI_SDATA7_MARK___4 = 1798,\n\tRX2_B_MARK___4 = 1799,\n\tIP13_27_24_MARK___4 = 1800,\n\tSSI_SCK01239_MARK___4 = 1801,\n\tIP14_27_24_MARK___4 = 1802,\n\tSSI_SDATA4_MARK___4 = 1803,\n\tSSI_WS9_A_MARK___4 = 1804,\n\tPWM5_B_MARK___4 = 1805,\n\tIP15_27_24_MARK___4 = 1806,\n\tUSB30_PWEN_MARK___4 = 1807,\n\tUSB0_PWEN_A_MARK = 1808,\n\tIP12_31_28_MARK___5 = 1809,\n\tMSIOF0_SYNC_MARK___9 = 1810,\n\tAUDIO_CLKOUT_B_MARK___4 = 1811,\n\tSSI_SDATA8_MARK___4 = 1812,\n\tIP13_31_28_MARK___4 = 1813,\n\tSSI_WS01239_MARK___4 = 1814,\n\tIP14_31_28_MARK___4 = 1815,\n\tSSI_SCK5_MARK___4 = 1816,\n\tHRX0_B_MARK___2 = 1817,\n\tUSB0_PWEN_B_MARK = 1818,\n\tSCL2_D_MARK = 1819,\n\tPWM6_B_MARK___4 = 1820,\n\tIP15_31_28_MARK___4 = 1821,\n\tUSB30_OVC_MARK___4 = 1822,\n\tUSB0_OVC_A_MARK = 1823,\n\tFSO_TOE_N_A_MARK___2 = 1824,\n\tSEL_SIMCARD_0_MARK___4 = 1825,\n\tSEL_SIMCARD_1_MARK___4 = 1826,\n\tSEL_ADGB_0_MARK___4 = 1827,\n\tSEL_ADGB_2_MARK = 1828,\n\tSEL_ADGB_1_MARK___4 = 1829,\n\tSEL_SSI2_0_MARK___4 = 1830,\n\tSEL_SSI2_1_MARK___4 = 1831,\n\tSEL_TIMER_TMU_0_MARK___3 = 1832,\n\tSEL_TIMER_TMU_1_MARK___3 = 1833,\n\tSEL_DRIF0_0_MARK___4 = 1834,\n\tSEL_DRIF0_1_MARK___4 = 1835,\n\tSEL_USB_20_CH0_0_MARK = 1836,\n\tSEL_USB_20_CH0_1_MARK = 1837,\n\tSEL_FM_0_MARK___4 = 1838,\n\tSEL_FM_2_MARK___4 = 1839,\n\tSEL_FM_1_MARK___4 = 1840,\n\tSEL_DRIF2_0_MARK___4 = 1841,\n\tSEL_DRIF2_1_MARK___4 = 1842,\n\tSEL_FSO_0_MARK = 1843,\n\tSEL_FSO_1_MARK = 1844,\n\tSEL_DRIF3_0_MARK___4 = 1845,\n\tSEL_DRIF3_1_MARK___4 = 1846,\n\tSEL_HSCIF0_0_MARK___2 = 1847,\n\tSEL_HSCIF0_1_MARK___2 = 1848,\n\tSEL_HSCIF3_0_MARK___5 = 1849,\n\tSEL_HSCIF3_4_MARK = 1850,\n\tSEL_HSCIF3_2_MARK___4 = 1851,\n\tSEL_HSCIF3_1_MARK___5 = 1852,\n\tSEL_HSCIF3_3_MARK___4 = 1853,\n\tSEL_HSCIF1_0_MARK___4 = 1854,\n\tSEL_HSCIF1_1_MARK___4 = 1855,\n\tSEL_HSCIF2_0_MARK___4 = 1856,\n\tSEL_HSCIF2_1_MARK___4 = 1857,\n\tSEL_I2C1_0_MARK___5 = 1858,\n\tSEL_I2C1_2_MARK = 1859,\n\tSEL_I2C1_1_MARK___4 = 1860,\n\tSEL_I2C1_3_MARK___2 = 1861,\n\tSEL_HSCIF4_0_MARK___4 = 1862,\n\tSEL_HSCIF4_4_MARK = 1863,\n\tSEL_HSCIF4_2_MARK = 1864,\n\tSEL_HSCIF4_1_MARK___4 = 1865,\n\tSEL_HSCIF4_3_MARK = 1866,\n\tSEL_I2C2_0_MARK___6 = 1867,\n\tSEL_I2C2_4_MARK = 1868,\n\tSEL_I2C2_2_MARK = 1869,\n\tSEL_I2C2_1_MARK___5 = 1870,\n\tSEL_I2C2_3_MARK___2 = 1871,\n\tSEL_I2C6_0_MARK___4 = 1872,\n\tSEL_I2C6_1_MARK___4 = 1873,\n\tSEL_I2C7_0_MARK = 1874,\n\tSEL_I2C7_1_MARK = 1875,\n\tSEL_NDF_0_MARK___3 = 1876,\n\tSEL_NDF_1_MARK___3 = 1877,\n\tSEL_MSIOF2_0_MARK___5 = 1878,\n\tSEL_MSIOF2_1_MARK___5 = 1879,\n\tSEL_PWM0_0_MARK___3 = 1880,\n\tSEL_PWM0_1_MARK___3 = 1881,\n\tSEL_MSIOF3_0_MARK___5 = 1882,\n\tSEL_MSIOF3_1_MARK___5 = 1883,\n\tSEL_PWM1_0_MARK___6 = 1884,\n\tSEL_PWM1_1_MARK___6 = 1885,\n\tSEL_SCIF3_0_MARK___5 = 1886,\n\tSEL_SCIF3_2_MARK = 1887,\n\tSEL_SCIF3_1_MARK___5 = 1888,\n\tSEL_PWM2_0_MARK___6 = 1889,\n\tSEL_PWM2_2_MARK___2 = 1890,\n\tSEL_PWM2_1_MARK___6 = 1891,\n\tSEL_SCIF4_0_MARK___5 = 1892,\n\tSEL_SCIF4_2_MARK___4 = 1893,\n\tSEL_SCIF4_1_MARK___5 = 1894,\n\tSEL_PWM3_0_MARK___6 = 1895,\n\tSEL_PWM3_2_MARK___2 = 1896,\n\tSEL_PWM3_1_MARK___6 = 1897,\n\tSEL_SCIF5_0_MARK___5 = 1898,\n\tSEL_SCIF5_2_MARK = 1899,\n\tSEL_SCIF5_1_MARK___5 = 1900,\n\tSEL_PWM4_0_MARK___5 = 1901,\n\tSEL_PWM4_1_MARK___5 = 1902,\n\tSEL_PWM5_0_MARK___4 = 1903,\n\tSEL_PWM5_1_MARK___4 = 1904,\n\tSEL_VIN4_0_MARK___4 = 1905,\n\tSEL_VIN4_1_MARK___4 = 1906,\n\tSEL_PWM6_0_MARK___4 = 1907,\n\tSEL_PWM6_1_MARK___4 = 1908,\n\tSEL_VIN5_0_MARK = 1909,\n\tSEL_VIN5_1_MARK = 1910,\n\tSEL_REMOCON_0_MARK___4 = 1911,\n\tSEL_REMOCON_2_MARK = 1912,\n\tSEL_REMOCON_1_MARK___4 = 1913,\n\tSEL_ADGC_0_MARK___4 = 1914,\n\tSEL_ADGC_2_MARK = 1915,\n\tSEL_ADGC_1_MARK___4 = 1916,\n\tSEL_SCIF_0_MARK___4 = 1917,\n\tSEL_SCIF_1_MARK___4 = 1918,\n\tSEL_SSI9_0_MARK___4 = 1919,\n\tSEL_SSI9_1_MARK___4 = 1920,\n\tSEL_SCIF0_0_MARK___2 = 1921,\n\tSEL_SCIF0_1_MARK___2 = 1922,\n\tSEL_SCIF2_0_MARK___4 = 1923,\n\tSEL_SCIF2_1_MARK___4 = 1924,\n\tSEL_SPEED_PULSE_IF_0_MARK = 1925,\n\tSEL_SPEED_PULSE_IF_2_MARK = 1926,\n\tSEL_SPEED_PULSE_IF_1_MARK = 1927,\n\tAVB_TX_CTL_MARK___5 = 1928,\n\tAVB_TXC_MARK___5 = 1929,\n\tAVB_TD0_MARK___5 = 1930,\n\tAVB_TD1_MARK___5 = 1931,\n\tAVB_TD2_MARK___5 = 1932,\n\tAVB_TD3_MARK___5 = 1933,\n\tPRESETOUT_N_MARK = 1934,\n\tFSCLKST_N_MARK = 1935,\n\tTRST_N_MARK = 1936,\n\tTCK_MARK___4 = 1937,\n\tTMS_MARK___4 = 1938,\n\tTDI_MARK___4 = 1939,\n\tASEBRK_MARK___4 = 1940,\n\tMLB_REF_MARK___4 = 1941,\n\tVDDQ_AVB0_MARK = 1942,\n\tPINMUX_MARK_END___9 = 1943,\n};\n\nenum {\n\tPINMUX_RESERVED___10 = 0,\n\tPINMUX_DATA_BEGIN___10 = 1,\n\tGP_0_0_DATA___10 = 2,\n\tGP_0_1_DATA___10 = 3,\n\tGP_0_2_DATA___10 = 4,\n\tGP_0_3_DATA___10 = 5,\n\tGP_0_4_DATA___10 = 6,\n\tGP_0_5_DATA___10 = 7,\n\tGP_0_6_DATA___10 = 8,\n\tGP_0_7_DATA___10 = 9,\n\tGP_0_8_DATA___10 = 10,\n\tGP_0_9_DATA___9 = 11,\n\tGP_0_10_DATA___9 = 12,\n\tGP_0_11_DATA___9 = 13,\n\tGP_0_12_DATA___9 = 14,\n\tGP_0_13_DATA___9 = 15,\n\tGP_0_14_DATA___9 = 16,\n\tGP_0_15_DATA___9 = 17,\n\tGP_0_16_DATA___6 = 18,\n\tGP_0_17_DATA___6 = 19,\n\tGP_0_18_DATA___5 = 20,\n\tGP_0_19_DATA___3 = 21,\n\tGP_0_20_DATA___3 = 22,\n\tGP_0_21_DATA___2 = 23,\n\tGP_0_22_DATA = 24,\n\tGP_0_23_DATA = 25,\n\tGP_0_24_DATA = 26,\n\tGP_0_25_DATA = 27,\n\tGP_0_26_DATA = 28,\n\tGP_0_27_DATA = 29,\n\tGP_1_0_DATA___10 = 30,\n\tGP_1_1_DATA___10 = 31,\n\tGP_1_2_DATA___10 = 32,\n\tGP_1_3_DATA___10 = 33,\n\tGP_1_4_DATA___10 = 34,\n\tGP_1_5_DATA___10 = 35,\n\tGP_1_6_DATA___10 = 36,\n\tGP_1_7_DATA___10 = 37,\n\tGP_1_8_DATA___10 = 38,\n\tGP_1_9_DATA___10 = 39,\n\tGP_1_10_DATA___10 = 40,\n\tGP_1_11_DATA___10 = 41,\n\tGP_1_12_DATA___10 = 42,\n\tGP_1_13_DATA___10 = 43,\n\tGP_1_14_DATA___10 = 44,\n\tGP_1_15_DATA___10 = 45,\n\tGP_1_16_DATA___10 = 46,\n\tGP_1_17_DATA___10 = 47,\n\tGP_1_18_DATA___10 = 48,\n\tGP_1_19_DATA___10 = 49,\n\tGP_1_20_DATA___10 = 50,\n\tGP_1_21_DATA___10 = 51,\n\tGP_1_22_DATA___10 = 52,\n\tGP_1_23_DATA___9 = 53,\n\tGP_1_24_DATA___9 = 54,\n\tGP_1_25_DATA___8 = 55,\n\tGP_1_26_DATA___8 = 56,\n\tGP_1_27_DATA___8 = 57,\n\tGP_1_28_DATA___7 = 58,\n\tGP_1_29_DATA___3 = 59,\n\tGP_1_30_DATA___2 = 60,\n\tGP_2_0_DATA___10 = 61,\n\tGP_2_1_DATA___10 = 62,\n\tGP_2_2_DATA___10 = 63,\n\tGP_2_3_DATA___10 = 64,\n\tGP_2_4_DATA___10 = 65,\n\tGP_2_5_DATA___10 = 66,\n\tGP_2_6_DATA___10 = 67,\n\tGP_2_7_DATA___10 = 68,\n\tGP_2_8_DATA___10 = 69,\n\tGP_2_9_DATA___10 = 70,\n\tGP_2_10_DATA___10 = 71,\n\tGP_2_11_DATA___10 = 72,\n\tGP_2_12_DATA___10 = 73,\n\tGP_2_13_DATA___10 = 74,\n\tGP_2_14_DATA___10 = 75,\n\tGP_2_15_DATA___7 = 76,\n\tGP_2_16_DATA___6 = 77,\n\tGP_2_17_DATA___6 = 78,\n\tGP_2_18_DATA___5 = 79,\n\tGP_2_19_DATA___6 = 80,\n\tGP_2_20_DATA___4 = 81,\n\tGP_2_21_DATA___4 = 82,\n\tGP_2_22_DATA___4 = 83,\n\tGP_2_23_DATA___4 = 84,\n\tGP_2_24_DATA___4 = 85,\n\tGP_3_0_DATA___10 = 86,\n\tGP_3_1_DATA___10 = 87,\n\tGP_3_2_DATA___10 = 88,\n\tGP_3_3_DATA___10 = 89,\n\tGP_3_4_DATA___10 = 90,\n\tGP_3_5_DATA___10 = 91,\n\tGP_3_6_DATA___10 = 92,\n\tGP_3_7_DATA___10 = 93,\n\tGP_3_8_DATA___10 = 94,\n\tGP_3_9_DATA___10 = 95,\n\tGP_3_10_DATA___9 = 96,\n\tGP_3_11_DATA___9 = 97,\n\tGP_3_12_DATA___9 = 98,\n\tGP_3_13_DATA___9 = 99,\n\tGP_3_14_DATA___9 = 100,\n\tGP_3_15_DATA___9 = 101,\n\tGP_3_16_DATA___5 = 102,\n\tGP_4_0_DATA___9 = 103,\n\tGP_4_1_DATA___9 = 104,\n\tGP_4_2_DATA___9 = 105,\n\tGP_4_3_DATA___9 = 106,\n\tGP_4_4_DATA___9 = 107,\n\tGP_4_5_DATA___9 = 108,\n\tGP_4_6_DATA___9 = 109,\n\tGP_4_7_DATA___9 = 110,\n\tGP_4_8_DATA___9 = 111,\n\tGP_4_9_DATA___9 = 112,\n\tGP_4_10_DATA___9 = 113,\n\tGP_4_11_DATA___8 = 114,\n\tGP_4_12_DATA___8 = 115,\n\tGP_4_13_DATA___8 = 116,\n\tGP_4_14_DATA___8 = 117,\n\tGP_4_15_DATA___8 = 118,\n\tGP_4_16_DATA___7 = 119,\n\tGP_4_17_DATA___7 = 120,\n\tGP_4_18_DATA___4 = 121,\n\tGP_4_19_DATA___4 = 122,\n\tGP_4_20_DATA___4 = 123,\n\tGP_4_21_DATA___5 = 124,\n\tGP_4_22_DATA___4 = 125,\n\tGP_4_23_DATA___5 = 126,\n\tGP_4_24_DATA___5 = 127,\n\tGP_4_25_DATA___2 = 128,\n\tGP_4_26_DATA___2 = 129,\n\tGP_5_0_DATA___9 = 130,\n\tGP_5_1_DATA___9 = 131,\n\tGP_5_2_DATA___9 = 132,\n\tGP_5_3_DATA___9 = 133,\n\tGP_5_4_DATA___9 = 134,\n\tGP_5_5_DATA___9 = 135,\n\tGP_5_6_DATA___9 = 136,\n\tGP_5_7_DATA___9 = 137,\n\tGP_5_8_DATA___9 = 138,\n\tGP_5_9_DATA___9 = 139,\n\tGP_5_10_DATA___9 = 140,\n\tGP_5_11_DATA___9 = 141,\n\tGP_5_12_DATA___9 = 142,\n\tGP_5_13_DATA___9 = 143,\n\tGP_5_14_DATA___9 = 144,\n\tGP_5_15_DATA___8 = 145,\n\tGP_5_16_DATA___8 = 146,\n\tGP_5_17_DATA___8 = 147,\n\tGP_5_18_DATA___8 = 148,\n\tGP_5_19_DATA___8 = 149,\n\tGP_5_20_DATA___7 = 150,\n\tGP_6_0_DATA___8 = 151,\n\tGP_6_1_DATA___8 = 152,\n\tGP_6_2_DATA___8 = 153,\n\tGP_6_3_DATA___8 = 154,\n\tGP_6_4_DATA___8 = 155,\n\tGP_6_5_DATA___8 = 156,\n\tGP_6_6_DATA___8 = 157,\n\tGP_6_7_DATA___8 = 158,\n\tGP_6_8_DATA___8 = 159,\n\tGP_6_9_DATA___8 = 160,\n\tGP_6_10_DATA___8 = 161,\n\tGP_6_11_DATA___8 = 162,\n\tGP_6_12_DATA___8 = 163,\n\tGP_6_13_DATA___8 = 164,\n\tGP_6_14_DATA___7 = 165,\n\tGP_6_15_DATA___7 = 166,\n\tGP_6_16_DATA___7 = 167,\n\tGP_6_17_DATA___7 = 168,\n\tGP_6_18_DATA___6 = 169,\n\tGP_6_19_DATA___6 = 170,\n\tGP_6_20_DATA___6 = 171,\n\tGP_7_0_DATA___6 = 172,\n\tGP_7_1_DATA___6 = 173,\n\tGP_7_2_DATA___6 = 174,\n\tGP_7_3_DATA___6 = 175,\n\tGP_7_4_DATA___3 = 176,\n\tGP_7_5_DATA___3 = 177,\n\tGP_7_6_DATA___3 = 178,\n\tGP_7_7_DATA___3 = 179,\n\tGP_7_8_DATA___3 = 180,\n\tGP_7_9_DATA___3 = 181,\n\tGP_7_10_DATA___3 = 182,\n\tGP_7_11_DATA___3 = 183,\n\tGP_7_12_DATA___3 = 184,\n\tGP_7_13_DATA___3 = 185,\n\tGP_7_14_DATA___3 = 186,\n\tGP_7_15_DATA___3 = 187,\n\tGP_7_16_DATA___3 = 188,\n\tGP_7_17_DATA___3 = 189,\n\tGP_7_18_DATA___3 = 190,\n\tGP_7_19_DATA___3 = 191,\n\tGP_7_20_DATA___3 = 192,\n\tGP_8_0_DATA___2 = 193,\n\tGP_8_1_DATA___2 = 194,\n\tGP_8_2_DATA___2 = 195,\n\tGP_8_3_DATA___2 = 196,\n\tGP_8_4_DATA___2 = 197,\n\tGP_8_5_DATA___2 = 198,\n\tGP_8_6_DATA___2 = 199,\n\tGP_8_7_DATA___2 = 200,\n\tGP_8_8_DATA___2 = 201,\n\tGP_8_9_DATA___2 = 202,\n\tGP_8_10_DATA___2 = 203,\n\tGP_8_11_DATA___2 = 204,\n\tGP_8_12_DATA___2 = 205,\n\tGP_8_13_DATA___2 = 206,\n\tGP_8_14_DATA = 207,\n\tGP_8_15_DATA = 208,\n\tGP_8_16_DATA = 209,\n\tGP_8_17_DATA = 210,\n\tGP_8_18_DATA = 211,\n\tGP_8_19_DATA = 212,\n\tGP_8_20_DATA = 213,\n\tGP_9_0_DATA = 214,\n\tGP_9_1_DATA = 215,\n\tGP_9_2_DATA = 216,\n\tGP_9_3_DATA = 217,\n\tGP_9_4_DATA = 218,\n\tGP_9_5_DATA = 219,\n\tGP_9_6_DATA = 220,\n\tGP_9_7_DATA = 221,\n\tGP_9_8_DATA = 222,\n\tGP_9_9_DATA = 223,\n\tGP_9_10_DATA = 224,\n\tGP_9_11_DATA = 225,\n\tGP_9_12_DATA = 226,\n\tGP_9_13_DATA = 227,\n\tGP_9_14_DATA = 228,\n\tGP_9_15_DATA = 229,\n\tGP_9_16_DATA = 230,\n\tGP_9_17_DATA = 231,\n\tGP_9_18_DATA = 232,\n\tGP_9_19_DATA = 233,\n\tGP_9_20_DATA = 234,\n\tPINMUX_DATA_END___10 = 235,\n\tPINMUX_FUNCTION_BEGIN___10 = 236,\n\tGP_0_0_FN___10 = 237,\n\tGP_0_1_FN___10 = 238,\n\tGP_0_2_FN___10 = 239,\n\tGP_0_3_FN___10 = 240,\n\tGP_0_4_FN___10 = 241,\n\tGP_0_5_FN___10 = 242,\n\tGP_0_6_FN___10 = 243,\n\tGP_0_7_FN___10 = 244,\n\tGP_0_8_FN___10 = 245,\n\tGP_0_9_FN___9 = 246,\n\tGP_0_10_FN___9 = 247,\n\tGP_0_11_FN___9 = 248,\n\tGP_0_12_FN___9 = 249,\n\tGP_0_13_FN___9 = 250,\n\tGP_0_14_FN___9 = 251,\n\tGP_0_15_FN___9 = 252,\n\tGP_0_16_FN___6 = 253,\n\tGP_0_17_FN___6 = 254,\n\tGP_0_18_FN___5 = 255,\n\tGP_0_19_FN___3 = 256,\n\tGP_0_20_FN___3 = 257,\n\tGP_0_21_FN___2 = 258,\n\tGP_0_22_FN = 259,\n\tGP_0_23_FN = 260,\n\tGP_0_24_FN = 261,\n\tGP_0_25_FN = 262,\n\tGP_0_26_FN = 263,\n\tGP_0_27_FN = 264,\n\tGP_1_0_FN___10 = 265,\n\tGP_1_1_FN___10 = 266,\n\tGP_1_2_FN___10 = 267,\n\tGP_1_3_FN___10 = 268,\n\tGP_1_4_FN___10 = 269,\n\tGP_1_5_FN___10 = 270,\n\tGP_1_6_FN___10 = 271,\n\tGP_1_7_FN___10 = 272,\n\tGP_1_8_FN___10 = 273,\n\tGP_1_9_FN___10 = 274,\n\tGP_1_10_FN___10 = 275,\n\tGP_1_11_FN___10 = 276,\n\tGP_1_12_FN___10 = 277,\n\tGP_1_13_FN___10 = 278,\n\tGP_1_14_FN___10 = 279,\n\tGP_1_15_FN___10 = 280,\n\tGP_1_16_FN___10 = 281,\n\tGP_1_17_FN___10 = 282,\n\tGP_1_18_FN___10 = 283,\n\tGP_1_19_FN___10 = 284,\n\tGP_1_20_FN___10 = 285,\n\tGP_1_21_FN___10 = 286,\n\tGP_1_22_FN___10 = 287,\n\tGP_1_23_FN___9 = 288,\n\tGP_1_24_FN___9 = 289,\n\tGP_1_25_FN___8 = 290,\n\tGP_1_26_FN___8 = 291,\n\tGP_1_27_FN___8 = 292,\n\tGP_1_28_FN___7 = 293,\n\tGP_1_29_FN___3 = 294,\n\tGP_1_30_FN___2 = 295,\n\tGP_2_0_FN___10 = 296,\n\tGP_2_1_FN___10 = 297,\n\tGP_2_2_FN___10 = 298,\n\tGP_2_3_FN___10 = 299,\n\tGP_2_4_FN___10 = 300,\n\tGP_2_5_FN___10 = 301,\n\tGP_2_6_FN___10 = 302,\n\tGP_2_7_FN___10 = 303,\n\tGP_2_8_FN___10 = 304,\n\tGP_2_9_FN___10 = 305,\n\tGP_2_10_FN___10 = 306,\n\tGP_2_11_FN___10 = 307,\n\tGP_2_12_FN___10 = 308,\n\tGP_2_13_FN___10 = 309,\n\tGP_2_14_FN___10 = 310,\n\tGP_2_15_FN___7 = 311,\n\tGP_2_16_FN___6 = 312,\n\tGP_2_17_FN___6 = 313,\n\tGP_2_18_FN___5 = 314,\n\tGP_2_19_FN___6 = 315,\n\tGP_2_20_FN___4 = 316,\n\tGP_2_21_FN___4 = 317,\n\tGP_2_22_FN___4 = 318,\n\tGP_2_23_FN___4 = 319,\n\tGP_2_24_FN___4 = 320,\n\tGP_3_0_FN___10 = 321,\n\tGP_3_1_FN___10 = 322,\n\tGP_3_2_FN___10 = 323,\n\tGP_3_3_FN___10 = 324,\n\tGP_3_4_FN___10 = 325,\n\tGP_3_5_FN___10 = 326,\n\tGP_3_6_FN___10 = 327,\n\tGP_3_7_FN___10 = 328,\n\tGP_3_8_FN___10 = 329,\n\tGP_3_9_FN___10 = 330,\n\tGP_3_10_FN___9 = 331,\n\tGP_3_11_FN___9 = 332,\n\tGP_3_12_FN___9 = 333,\n\tGP_3_13_FN___9 = 334,\n\tGP_3_14_FN___9 = 335,\n\tGP_3_15_FN___9 = 336,\n\tGP_3_16_FN___5 = 337,\n\tGP_4_0_FN___9 = 338,\n\tGP_4_1_FN___9 = 339,\n\tGP_4_2_FN___9 = 340,\n\tGP_4_3_FN___9 = 341,\n\tGP_4_4_FN___9 = 342,\n\tGP_4_5_FN___9 = 343,\n\tGP_4_6_FN___9 = 344,\n\tGP_4_7_FN___9 = 345,\n\tGP_4_8_FN___9 = 346,\n\tGP_4_9_FN___9 = 347,\n\tGP_4_10_FN___9 = 348,\n\tGP_4_11_FN___8 = 349,\n\tGP_4_12_FN___8 = 350,\n\tGP_4_13_FN___8 = 351,\n\tGP_4_14_FN___8 = 352,\n\tGP_4_15_FN___8 = 353,\n\tGP_4_16_FN___7 = 354,\n\tGP_4_17_FN___7 = 355,\n\tGP_4_18_FN___4 = 356,\n\tGP_4_19_FN___4 = 357,\n\tGP_4_20_FN___4 = 358,\n\tGP_4_21_FN___5 = 359,\n\tGP_4_22_FN___4 = 360,\n\tGP_4_23_FN___5 = 361,\n\tGP_4_24_FN___5 = 362,\n\tGP_4_25_FN___2 = 363,\n\tGP_4_26_FN___2 = 364,\n\tGP_5_0_FN___9 = 365,\n\tGP_5_1_FN___9 = 366,\n\tGP_5_2_FN___9 = 367,\n\tGP_5_3_FN___9 = 368,\n\tGP_5_4_FN___9 = 369,\n\tGP_5_5_FN___9 = 370,\n\tGP_5_6_FN___9 = 371,\n\tGP_5_7_FN___9 = 372,\n\tGP_5_8_FN___9 = 373,\n\tGP_5_9_FN___9 = 374,\n\tGP_5_10_FN___9 = 375,\n\tGP_5_11_FN___9 = 376,\n\tGP_5_12_FN___9 = 377,\n\tGP_5_13_FN___9 = 378,\n\tGP_5_14_FN___9 = 379,\n\tGP_5_15_FN___8 = 380,\n\tGP_5_16_FN___8 = 381,\n\tGP_5_17_FN___8 = 382,\n\tGP_5_18_FN___8 = 383,\n\tGP_5_19_FN___8 = 384,\n\tGP_5_20_FN___7 = 385,\n\tGP_6_0_FN___8 = 386,\n\tGP_6_1_FN___8 = 387,\n\tGP_6_2_FN___8 = 388,\n\tGP_6_3_FN___8 = 389,\n\tGP_6_4_FN___8 = 390,\n\tGP_6_5_FN___8 = 391,\n\tGP_6_6_FN___8 = 392,\n\tGP_6_7_FN___8 = 393,\n\tGP_6_8_FN___8 = 394,\n\tGP_6_9_FN___8 = 395,\n\tGP_6_10_FN___8 = 396,\n\tGP_6_11_FN___8 = 397,\n\tGP_6_12_FN___8 = 398,\n\tGP_6_13_FN___8 = 399,\n\tGP_6_14_FN___7 = 400,\n\tGP_6_15_FN___7 = 401,\n\tGP_6_16_FN___7 = 402,\n\tGP_6_17_FN___7 = 403,\n\tGP_6_18_FN___6 = 404,\n\tGP_6_19_FN___6 = 405,\n\tGP_6_20_FN___6 = 406,\n\tGP_7_0_FN___6 = 407,\n\tGP_7_1_FN___6 = 408,\n\tGP_7_2_FN___6 = 409,\n\tGP_7_3_FN___6 = 410,\n\tGP_7_4_FN___3 = 411,\n\tGP_7_5_FN___3 = 412,\n\tGP_7_6_FN___3 = 413,\n\tGP_7_7_FN___3 = 414,\n\tGP_7_8_FN___3 = 415,\n\tGP_7_9_FN___3 = 416,\n\tGP_7_10_FN___3 = 417,\n\tGP_7_11_FN___3 = 418,\n\tGP_7_12_FN___3 = 419,\n\tGP_7_13_FN___3 = 420,\n\tGP_7_14_FN___3 = 421,\n\tGP_7_15_FN___3 = 422,\n\tGP_7_16_FN___3 = 423,\n\tGP_7_17_FN___3 = 424,\n\tGP_7_18_FN___3 = 425,\n\tGP_7_19_FN___3 = 426,\n\tGP_7_20_FN___3 = 427,\n\tGP_8_0_FN___2 = 428,\n\tGP_8_1_FN___2 = 429,\n\tGP_8_2_FN___2 = 430,\n\tGP_8_3_FN___2 = 431,\n\tGP_8_4_FN___2 = 432,\n\tGP_8_5_FN___2 = 433,\n\tGP_8_6_FN___2 = 434,\n\tGP_8_7_FN___2 = 435,\n\tGP_8_8_FN___2 = 436,\n\tGP_8_9_FN___2 = 437,\n\tGP_8_10_FN___2 = 438,\n\tGP_8_11_FN___2 = 439,\n\tGP_8_12_FN___2 = 440,\n\tGP_8_13_FN___2 = 441,\n\tGP_8_14_FN = 442,\n\tGP_8_15_FN = 443,\n\tGP_8_16_FN = 444,\n\tGP_8_17_FN = 445,\n\tGP_8_18_FN = 446,\n\tGP_8_19_FN = 447,\n\tGP_8_20_FN = 448,\n\tGP_9_0_FN = 449,\n\tGP_9_1_FN = 450,\n\tGP_9_2_FN = 451,\n\tGP_9_3_FN = 452,\n\tGP_9_4_FN = 453,\n\tGP_9_5_FN = 454,\n\tGP_9_6_FN = 455,\n\tGP_9_7_FN = 456,\n\tGP_9_8_FN = 457,\n\tGP_9_9_FN = 458,\n\tGP_9_10_FN = 459,\n\tGP_9_11_FN = 460,\n\tGP_9_12_FN = 461,\n\tGP_9_13_FN = 462,\n\tGP_9_14_FN = 463,\n\tGP_9_15_FN = 464,\n\tGP_9_16_FN = 465,\n\tGP_9_17_FN = 466,\n\tGP_9_18_FN = 467,\n\tGP_9_19_FN = 468,\n\tGP_9_20_FN = 469,\n\tFN_MMC_D7___6 = 470,\n\tFN_MMC_D6___6 = 471,\n\tFN_AVS1___6 = 472,\n\tFN_MMC_D5___6 = 473,\n\tFN_AVS0___3 = 474,\n\tFN_MMC_D4___6 = 475,\n\tFN_TCLK2_A___9 = 476,\n\tFN_PCIE3_CLKREQ_N = 477,\n\tFN_MMC_SD_CLK___4 = 478,\n\tFN_PCIE2_CLKREQ_N = 479,\n\tFN_MMC_SD_D3___4 = 480,\n\tFN_PCIE1_CLKREQ_N___3 = 481,\n\tFN_MMC_SD_D2___4 = 482,\n\tFN_PCIE0_CLKREQ_N___4 = 483,\n\tFN_MMC_SD_D1___4 = 484,\n\tFN_AVB2_AVTP_PPS___3 = 485,\n\tFN_AVB3_AVTP_PPS = 486,\n\tFN_AVB4_AVTP_PPS = 487,\n\tFN_AVB5_AVTP_PPS = 488,\n\tFN_MMC_SD_D0___4 = 489,\n\tFN_AVB2_AVTP_CAPTURE___3 = 490,\n\tFN_AVB3_AVTP_CAPTURE = 491,\n\tFN_AVB4_AVTP_CAPTURE = 492,\n\tFN_AVB5_AVTP_CAPTURE = 493,\n\tFN_MMC_SD_CMD___4 = 494,\n\tFN_AVB2_AVTP_MATCH___3 = 495,\n\tFN_AVB3_AVTP_MATCH = 496,\n\tFN_AVB4_AVTP_MATCH = 497,\n\tFN_AVB5_AVTP_MATCH = 498,\n\tFN_MMC_DS___5 = 499,\n\tFN_AVB2_LINK___3 = 500,\n\tFN_AVB3_LINK = 501,\n\tFN_AVB4_LINK = 502,\n\tFN_AVB5_LINK = 503,\n\tFN_SD_CD___4 = 504,\n\tFN_CANFD7_RX___2 = 505,\n\tFN_AVB0_PHY_INT___4 = 506,\n\tFN_AVB1_PHY_INT___3 = 507,\n\tFN_AVB2_PHY_INT___3 = 508,\n\tFN_AVB3_PHY_INT = 509,\n\tFN_AVB4_PHY_INT = 510,\n\tFN_AVB5_PHY_INT = 511,\n\tFN_SD_WP___4 = 512,\n\tFN_CANFD7_TX___2 = 513,\n\tFN_AVB2_MAGIC___3 = 514,\n\tFN_AVB3_MAGIC = 515,\n\tFN_AVB4_MAGIC = 516,\n\tFN_AVB5_MAGIC = 517,\n\tFN_RPC_INT_N___7 = 518,\n\tFN_CANFD6_RX___2 = 519,\n\tFN_AVB2_MDC___3 = 520,\n\tFN_AVB3_MDC = 521,\n\tFN_AVB4_MDC = 522,\n\tFN_AVB5_MDC = 523,\n\tFN_RPC_WP_N___5 = 524,\n\tFN_AVB2_MDIO___3 = 525,\n\tFN_AVB3_MDIO = 526,\n\tFN_AVB4_MDIO = 527,\n\tFN_AVB5_MDIO = 528,\n\tFN_RPC_RESET_N___7 = 529,\n\tFN_AVB2_TXCREFCLK___3 = 530,\n\tFN_AVB3_TXCREFCLK = 531,\n\tFN_AVB4_TXCREFCLK = 532,\n\tFN_AVB5_TXCREFCLK = 533,\n\tFN_QSPI1_SSL___7 = 534,\n\tFN_AVB2_TD3___3 = 535,\n\tFN_AVB3_TD3 = 536,\n\tFN_AVB4_TD3 = 537,\n\tFN_AVB5_TD3 = 538,\n\tFN_QSPI1_IO3___7 = 539,\n\tFN_AVB2_TD2___3 = 540,\n\tFN_AVB3_TD2 = 541,\n\tFN_AVB4_TD2 = 542,\n\tFN_AVB5_TD2 = 543,\n\tFN_QSPI1_IO2___7 = 544,\n\tFN_AVB2_TD1___3 = 545,\n\tFN_AVB3_TD1 = 546,\n\tFN_AVB4_TD1 = 547,\n\tFN_AVB5_TD1 = 548,\n\tFN_QSPI1_MISO_IO1___7 = 549,\n\tFN_AVB2_TD0___3 = 550,\n\tFN_AVB3_TD0 = 551,\n\tFN_AVB4_TD0 = 552,\n\tFN_AVB5_TD0 = 553,\n\tFN_QSPI1_MOSI_IO0___7 = 554,\n\tFN_AVB2_TXC___3 = 555,\n\tFN_AVB3_TXC = 556,\n\tFN_AVB4_TXC = 557,\n\tFN_AVB5_TXC = 558,\n\tFN_QSPI1_SPCLK___7 = 559,\n\tFN_AVB2_TX_CTL___3 = 560,\n\tFN_AVB3_TX_CTL = 561,\n\tFN_AVB4_TX_CTL = 562,\n\tFN_AVB5_TX_CTL = 563,\n\tFN_QSPI0_SSL___7 = 564,\n\tFN_AVB2_RD3___3 = 565,\n\tFN_AVB3_RD3 = 566,\n\tFN_AVB4_RD3 = 567,\n\tFN_AVB5_RD3 = 568,\n\tFN_QSPI0_IO3___7 = 569,\n\tFN_CANFD1_RX___9 = 570,\n\tFN_AVB2_RD2___3 = 571,\n\tFN_AVB3_RD2 = 572,\n\tFN_AVB4_RD2 = 573,\n\tFN_AVB5_RD2 = 574,\n\tFN_QSPI0_IO2___7 = 575,\n\tFN_CANFD1_TX___9 = 576,\n\tFN_AVB2_RD1___3 = 577,\n\tFN_AVB3_RD1 = 578,\n\tFN_AVB4_RD1 = 579,\n\tFN_AVB5_RD1 = 580,\n\tFN_QSPI0_MISO_IO1___7 = 581,\n\tFN_AVB2_RD0___3 = 582,\n\tFN_AVB3_RD0 = 583,\n\tFN_AVB4_RD0 = 584,\n\tFN_AVB5_RD0 = 585,\n\tFN_QSPI0_MOSI_IO0___7 = 586,\n\tFN_AVB2_RXC___3 = 587,\n\tFN_AVB3_RXC = 588,\n\tFN_AVB4_RXC = 589,\n\tFN_AVB5_RXC = 590,\n\tFN_QSPI0_SPCLK___7 = 591,\n\tFN_CAN_CLK___8 = 592,\n\tFN_AVB2_RX_CTL___3 = 593,\n\tFN_AVB3_RX_CTL = 594,\n\tFN_AVB4_RX_CTL = 595,\n\tFN_AVB5_RX_CTL = 596,\n\tFN_IP0SR1_3_0___4 = 597,\n\tFN_SCIF_CLK___5 = 598,\n\tFN_A0___6 = 599,\n\tFN_IP1SR1_3_0___3 = 600,\n\tFN_MSIOF0_SCK___10 = 601,\n\tFN_DU_DR4___7 = 602,\n\tFN_A8___6 = 603,\n\tFN_IP2SR1_3_0___3 = 604,\n\tFN_MSIOF1_SS1___7 = 605,\n\tFN_HCTS3_N___7 = 606,\n\tFN_RX3___3 = 607,\n\tFN_DU_DG6___7 = 608,\n\tFN_A16___6 = 609,\n\tFN_IP3SR1_3_0___3 = 610,\n\tFN_IRQ0___7 = 611,\n\tFN_DU_DOTCLKOUT___2 = 612,\n\tFN_A24 = 613,\n\tFN_IP0SR1_7_4___4 = 614,\n\tFN_HRX0___8 = 615,\n\tFN_RX0___8 = 616,\n\tFN_A1___6 = 617,\n\tFN_IP1SR1_7_4___3 = 618,\n\tFN_MSIOF0_SYNC___10 = 619,\n\tFN_DU_DR5___7 = 620,\n\tFN_A9___6 = 621,\n\tFN_IP2SR1_7_4___3 = 622,\n\tFN_MSIOF1_SS2___7 = 623,\n\tFN_HTX3___3 = 624,\n\tFN_TX3___3 = 625,\n\tFN_DU_DG7___7 = 626,\n\tFN_A17___6 = 627,\n\tFN_IP3SR1_7_4___3 = 628,\n\tFN_IRQ1___7 = 629,\n\tFN_DU_HSYNC___3 = 630,\n\tFN_A25 = 631,\n\tFN_IP0SR1_11_8___4 = 632,\n\tFN_HSCK0___8 = 633,\n\tFN_SCK0___8 = 634,\n\tFN_A2___6 = 635,\n\tFN_IP1SR1_11_8___3 = 636,\n\tFN_MSIOF0_SS1___10 = 637,\n\tFN_DU_DR6___7 = 638,\n\tFN_A10___6 = 639,\n\tFN_IP2SR1_11_8___3 = 640,\n\tFN_MSIOF2_RXD___6 = 641,\n\tFN_HSCK1___3 = 642,\n\tFN_SCK1___7 = 643,\n\tFN_DU_DB2___7 = 644,\n\tFN_A18___6 = 645,\n\tFN_IP3SR1_11_8___3 = 646,\n\tFN_IRQ2___7 = 647,\n\tFN_DU_VSYNC___3 = 648,\n\tFN_CS1_N_A26___2 = 649,\n\tFN_IP0SR1_15_12___4 = 650,\n\tFN_HRTS0_N___8 = 651,\n\tFN_RTS0_N___9 = 652,\n\tFN_A3___6 = 653,\n\tFN_IP1SR1_15_12___3 = 654,\n\tFN_MSIOF0_SS2___10 = 655,\n\tFN_DU_DR7___7 = 656,\n\tFN_A11___6 = 657,\n\tFN_IP2SR1_15_12___3 = 658,\n\tFN_MSIOF2_TXD___6 = 659,\n\tFN_HCTS1_N___3 = 660,\n\tFN_CTS1_N___8 = 661,\n\tFN_DU_DB3___7 = 662,\n\tFN_A19___6 = 663,\n\tFN_IP3SR1_15_12___3 = 664,\n\tFN_IRQ3___7 = 665,\n\tFN_DU_ODDF_DISP_CDE = 666,\n\tFN_CS0_N___6 = 667,\n\tFN_IP0SR1_19_16___4 = 668,\n\tFN_HCTS0_N___8 = 669,\n\tFN_CTS0_N___9 = 670,\n\tFN_A4___6 = 671,\n\tFN_IP1SR1_19_16___3 = 672,\n\tFN_MSIOF1_RXD___7 = 673,\n\tFN_DU_DG2___7 = 674,\n\tFN_A12___6 = 675,\n\tFN_IP2SR1_19_16___3 = 676,\n\tFN_MSIOF2_SCK___6 = 677,\n\tFN_HRTS1_N___3 = 678,\n\tFN_RTS1_N___8 = 679,\n\tFN_DU_DB4___7 = 680,\n\tFN_A20 = 681,\n\tFN_IP3SR1_19_16___3 = 682,\n\tFN_GP1_28 = 683,\n\tFN_D0___6 = 684,\n\tFN_IP0SR1_23_20___4 = 685,\n\tFN_HTX0___8 = 686,\n\tFN_TX0___8 = 687,\n\tFN_A5___6 = 688,\n\tFN_IP1SR1_23_20___3 = 689,\n\tFN_MSIOF1_TXD___7 = 690,\n\tFN_HRX3___3 = 691,\n\tFN_SCK3___6 = 692,\n\tFN_DU_DG3___7 = 693,\n\tFN_A13___6 = 694,\n\tFN_IP2SR1_23_20___3 = 695,\n\tFN_MSIOF2_SYNC___5 = 696,\n\tFN_HRX1___3 = 697,\n\tFN_RX1_A___8 = 698,\n\tFN_DU_DB5___7 = 699,\n\tFN_A21 = 700,\n\tFN_IP3SR1_23_20___2 = 701,\n\tFN_GP1_29 = 702,\n\tFN_D1___6 = 703,\n\tFN_IP0SR1_27_24___4 = 704,\n\tFN_MSIOF0_RXD___10 = 705,\n\tFN_DU_DR2___7 = 706,\n\tFN_A6___6 = 707,\n\tFN_IP1SR1_27_24___3 = 708,\n\tFN_MSIOF1_SCK___7 = 709,\n\tFN_HSCK3___6 = 710,\n\tFN_CTS3_N___6 = 711,\n\tFN_DU_DG4___7 = 712,\n\tFN_A14___6 = 713,\n\tFN_IP2SR1_27_24___3 = 714,\n\tFN_MSIOF2_SS1___6 = 715,\n\tFN_HTX1___3 = 716,\n\tFN_TX1_A___8 = 717,\n\tFN_DU_DB6___7 = 718,\n\tFN_A22 = 719,\n\tFN_IP3SR1_27_24 = 720,\n\tFN_GP1_30 = 721,\n\tFN_D2___6 = 722,\n\tFN_IP0SR1_31_28___4 = 723,\n\tFN_MSIOF0_TXD___10 = 724,\n\tFN_DU_DR3___7 = 725,\n\tFN_A7___6 = 726,\n\tFN_IP1SR1_31_28___3 = 727,\n\tFN_MSIOF1_SYNC___7 = 728,\n\tFN_HRTS3_N___7 = 729,\n\tFN_RTS3_N___6 = 730,\n\tFN_DU_DG5___7 = 731,\n\tFN_A15___6 = 732,\n\tFN_IP2SR1_31_28___3 = 733,\n\tFN_MSIOF2_SS2___6 = 734,\n\tFN_TCLK1_B___9 = 735,\n\tFN_DU_DB7___7 = 736,\n\tFN_A23 = 737,\n\tFN_IP0SR2_3_0___3 = 738,\n\tFN_IPC_CLKIN___2 = 739,\n\tFN_IPC_CLKEN_IN___2 = 740,\n\tFN_DU_DOTCLKIN = 741,\n\tFN_IP1SR2_3_0___3 = 742,\n\tFN_GP2_08 = 743,\n\tFN_HRX2___5 = 744,\n\tFN_MSIOF4_SS1___3 = 745,\n\tFN_RX4___5 = 746,\n\tFN_D9___6 = 747,\n\tFN_IP2SR2_3_0___2 = 748,\n\tFN_FXR_TXDA_A = 749,\n\tFN_MSIOF3_SS1___5 = 750,\n\tFN_IP0SR2_7_4___3 = 751,\n\tFN_IPC_CLKOUT___2 = 752,\n\tFN_IPC_CLKEN_OUT___2 = 753,\n\tFN_IP1SR2_7_4___3 = 754,\n\tFN_GP2_09 = 755,\n\tFN_HTX2___5 = 756,\n\tFN_MSIOF4_SS2___3 = 757,\n\tFN_TX4___5 = 758,\n\tFN_D10___6 = 759,\n\tFN_IP2SR2_7_4___3 = 760,\n\tFN_RXDA_EXTFXR_A = 761,\n\tFN_MSIOF3_SS2___5 = 762,\n\tFN_BS_N___6 = 763,\n\tFN_IP0SR2_11_8___3 = 764,\n\tFN_GP2_02 = 765,\n\tFN_D3___6 = 766,\n\tFN_IP1SR2_11_8___3 = 767,\n\tFN_GP2_10 = 768,\n\tFN_TCLK2_B___9 = 769,\n\tFN_MSIOF5_RXD___3 = 770,\n\tFN_D11___6 = 771,\n\tFN_IP2SR2_11_8___2 = 772,\n\tFN_FXR_TXDB___4 = 773,\n\tFN_MSIOF3_RXD___5 = 774,\n\tFN_RD_N___6 = 775,\n\tFN_IP0SR2_15_12___3 = 776,\n\tFN_GP2_03 = 777,\n\tFN_D4___6 = 778,\n\tFN_IP1SR2_15_12___3 = 779,\n\tFN_GP2_11 = 780,\n\tFN_TCLK3___3 = 781,\n\tFN_MSIOF5_TXD___3 = 782,\n\tFN_D12___6 = 783,\n\tFN_IP2SR2_15_12___3 = 784,\n\tFN_RXDB_EXTFXR___4 = 785,\n\tFN_MSIOF3_TXD___5 = 786,\n\tFN_WE0_N___6 = 787,\n\tFN_IP0SR2_19_16___3 = 788,\n\tFN_GP2_04 = 789,\n\tFN_MSIOF4_RXD___3 = 790,\n\tFN_D5___6 = 791,\n\tFN_IP1SR2_19_16___3 = 792,\n\tFN_GP2_12 = 793,\n\tFN_TCLK4___3 = 794,\n\tFN_MSIOF5_SCK___3 = 795,\n\tFN_D13___6 = 796,\n\tFN_IP2SR2_19_16 = 797,\n\tFN_CLK_EXTFXR___4 = 798,\n\tFN_MSIOF3_SCK___5 = 799,\n\tFN_WE1_N___6 = 800,\n\tFN_IP0SR2_23_20___3 = 801,\n\tFN_GP2_05 = 802,\n\tFN_HSCK2___5 = 803,\n\tFN_MSIOF4_TXD___3 = 804,\n\tFN_SCK4___5 = 805,\n\tFN_D6___6 = 806,\n\tFN_IP1SR2_23_20___3 = 807,\n\tFN_GP2_13 = 808,\n\tFN_MSIOF5_SYNC___3 = 809,\n\tFN_D14___6 = 810,\n\tFN_IP2SR2_23_20 = 811,\n\tFN_TPU0TO0___6 = 812,\n\tFN_MSIOF3_SYNC___5 = 813,\n\tFN_RD_WR_N___6 = 814,\n\tFN_IP0SR2_27_24___3 = 815,\n\tFN_GP2_06 = 816,\n\tFN_HCTS2_N___5 = 817,\n\tFN_MSIOF4_SCK___3 = 818,\n\tFN_CTS4_N___5 = 819,\n\tFN_D7___6 = 820,\n\tFN_IP1SR2_27_24___3 = 821,\n\tFN_GP2_14 = 822,\n\tFN_IRQ4___7 = 823,\n\tFN_MSIOF5_SS1___3 = 824,\n\tFN_D15___6 = 825,\n\tFN_IP2SR2_27_24 = 826,\n\tFN_TPU0TO1___6 = 827,\n\tFN_CLKOUT___6 = 828,\n\tFN_IP0SR2_31_28___3 = 829,\n\tFN_GP2_07 = 830,\n\tFN_HRTS2_N___5 = 831,\n\tFN_MSIOF4_SYNC___3 = 832,\n\tFN_RTS4_N___5 = 833,\n\tFN_D8___6 = 834,\n\tFN_IP1SR2_31_28___3 = 835,\n\tFN_GP2_15 = 836,\n\tFN_IRQ5___9 = 837,\n\tFN_MSIOF5_SS2___3 = 838,\n\tFN_CPG_CPCKOUT___2 = 839,\n\tFN_IP2SR2_31_28 = 840,\n\tFN_TCLK1_A___9 = 841,\n\tFN_EX_WAIT0___3 = 842,\n\tFN_IP1SR3_3_0___3 = 843,\n\tFN_CANFD3_RX___3 = 844,\n\tFN_PWM3 = 845,\n\tFN_IP0SR3_7_4___3 = 846,\n\tFN_CANFD0_TX___5 = 847,\n\tFN_FXR_TXDA_B = 848,\n\tFN_TX1_B___8 = 849,\n\tFN_IP1SR3_7_4___3 = 850,\n\tFN_CANFD4_TX___2 = 851,\n\tFN_PWM4___3 = 852,\n\tFN_FXR_CLKOUT1 = 853,\n\tFN_IP0SR3_11_8___3 = 854,\n\tFN_CANFD0_RX___5 = 855,\n\tFN_RXDA_EXTFXR_B = 856,\n\tFN_RX1_B___8 = 857,\n\tFN_IP1SR3_11_8___3 = 858,\n\tFN_CANFD4_RX___2 = 859,\n\tFN_FXR_CLKOUT2 = 860,\n\tFN_IP1SR3_15_12___3 = 861,\n\tFN_CANFD5_TX = 862,\n\tFN_FXR_TXENA_N___2 = 863,\n\tFN_IP1SR3_19_16___3 = 864,\n\tFN_CANFD5_RX = 865,\n\tFN_FXR_TXENB_N___2 = 866,\n\tFN_IP0SR3_23_20___3 = 867,\n\tFN_CANFD2_TX___3 = 868,\n\tFN_TPU0TO2___6 = 869,\n\tFN_PWM0___5 = 870,\n\tFN_IP1SR3_23_20___3 = 871,\n\tFN_CANFD6_TX___2 = 872,\n\tFN_STPWT_EXTFXR___3 = 873,\n\tFN_IP0SR3_27_24___3 = 874,\n\tFN_CANFD2_RX___3 = 875,\n\tFN_TPU0TO3___6 = 876,\n\tFN_PWM1 = 877,\n\tFN_IP0SR3_31_28___3 = 878,\n\tFN_CANFD3_TX___3 = 879,\n\tFN_PWM2___2 = 880,\n\tFN_IP0SR4_3_0___3 = 881,\n\tFN_AVB0_RX_CTL___4 = 882,\n\tFN_AVB0_MII_RX_DV___3 = 883,\n\tFN_IP1SR4_3_0___3 = 884,\n\tFN_AVB0_TD0___4 = 885,\n\tFN_AVB0_MII_TD0___3 = 886,\n\tFN_IP0SR4_7_4___3 = 887,\n\tFN_AVB0_RXC___4 = 888,\n\tFN_AVB0_MII_RXC___3 = 889,\n\tFN_IP1SR4_7_4___3 = 890,\n\tFN_AVB0_TD1___4 = 891,\n\tFN_AVB0_MII_TD1___3 = 892,\n\tFN_IP2SR4_7_4___2 = 893,\n\tFN_AVB0_LINK___4 = 894,\n\tFN_AVB0_MII_TX_ER___3 = 895,\n\tFN_IP0SR4_11_8___3 = 896,\n\tFN_AVB0_RD0___4 = 897,\n\tFN_AVB0_MII_RD0___3 = 898,\n\tFN_IP1SR4_11_8___3 = 899,\n\tFN_AVB0_TD2___4 = 900,\n\tFN_AVB0_MII_TD2___3 = 901,\n\tFN_IP2SR4_11_8___2 = 902,\n\tFN_AVB0_AVTP_MATCH___3 = 903,\n\tFN_AVB0_MII_RX_ER___3 = 904,\n\tFN_CC5_OSCOUT___3 = 905,\n\tFN_IP0SR4_15_12___3 = 906,\n\tFN_AVB0_RD1___4 = 907,\n\tFN_AVB0_MII_RD1___3 = 908,\n\tFN_IP1SR4_15_12___3 = 909,\n\tFN_AVB0_TD3___4 = 910,\n\tFN_AVB0_MII_TD3___3 = 911,\n\tFN_IP2SR4_15_12___2 = 912,\n\tFN_AVB0_AVTP_CAPTURE___3 = 913,\n\tFN_AVB0_MII_CRS___3 = 914,\n\tFN_IP0SR4_19_16___3 = 915,\n\tFN_AVB0_RD2___4 = 916,\n\tFN_AVB0_MII_RD2___3 = 917,\n\tFN_IP1SR4_19_16___3 = 918,\n\tFN_AVB0_TXCREFCLK___4 = 919,\n\tFN_IP2SR4_19_16___2 = 920,\n\tFN_AVB0_AVTP_PPS___3 = 921,\n\tFN_AVB0_MII_COL___3 = 922,\n\tFN_IP0SR4_23_20___3 = 923,\n\tFN_AVB0_RD3___4 = 924,\n\tFN_AVB0_MII_RD3___3 = 925,\n\tFN_IP1SR4_23_20___3 = 926,\n\tFN_AVB0_MDIO___4 = 927,\n\tFN_IP0SR4_27_24___3 = 928,\n\tFN_AVB0_TX_CTL___4 = 929,\n\tFN_AVB0_MII_TX_EN___3 = 930,\n\tFN_IP1SR4_27_24___3 = 931,\n\tFN_AVB0_MDC___4 = 932,\n\tFN_IP0SR4_31_28___3 = 933,\n\tFN_AVB0_TXC___4 = 934,\n\tFN_AVB0_MII_TXC___3 = 935,\n\tFN_IP1SR4_31_28___3 = 936,\n\tFN_AVB0_MAGIC___4 = 937,\n\tFN_IP0SR5_3_0___3 = 938,\n\tFN_AVB1_RX_CTL___3 = 939,\n\tFN_AVB1_MII_RX_DV___3 = 940,\n\tFN_IP1SR5_3_0___3 = 941,\n\tFN_AVB1_TD0___3 = 942,\n\tFN_AVB1_MII_TD0___3 = 943,\n\tFN_IP0SR5_7_4___3 = 944,\n\tFN_AVB1_RXC___3 = 945,\n\tFN_AVB1_MII_RXC___3 = 946,\n\tFN_IP1SR5_7_4___3 = 947,\n\tFN_AVB1_TD1___3 = 948,\n\tFN_AVB1_MII_TD1___3 = 949,\n\tFN_IP2SR5_7_4___3 = 950,\n\tFN_AVB1_LINK___3 = 951,\n\tFN_AVB1_MII_TX_ER___3 = 952,\n\tFN_IP0SR5_11_8___3 = 953,\n\tFN_AVB1_RD0___3 = 954,\n\tFN_AVB1_MII_RD0___3 = 955,\n\tFN_IP1SR5_11_8___3 = 956,\n\tFN_AVB1_TD2___3 = 957,\n\tFN_AVB1_MII_TD2___3 = 958,\n\tFN_IP2SR5_11_8___3 = 959,\n\tFN_AVB1_AVTP_MATCH___3 = 960,\n\tFN_AVB1_MII_RX_ER___3 = 961,\n\tFN_IP0SR5_15_12___3 = 962,\n\tFN_AVB1_RD1___3 = 963,\n\tFN_AVB1_MII_RD1___3 = 964,\n\tFN_IP1SR5_15_12___3 = 965,\n\tFN_AVB1_TD3___3 = 966,\n\tFN_AVB1_MII_TD3___3 = 967,\n\tFN_IP2SR5_15_12___3 = 968,\n\tFN_AVB1_AVTP_CAPTURE___3 = 969,\n\tFN_AVB1_MII_CRS___3 = 970,\n\tFN_IP0SR5_19_16___3 = 971,\n\tFN_AVB1_RD2___3 = 972,\n\tFN_AVB1_MII_RD2___3 = 973,\n\tFN_IP1SR5_19_16___3 = 974,\n\tFN_AVB1_TXCREFCLK___3 = 975,\n\tFN_IP2SR5_19_16___3 = 976,\n\tFN_AVB1_AVTP_PPS___3 = 977,\n\tFN_AVB1_MII_COL___3 = 978,\n\tFN_IP0SR5_23_20___3 = 979,\n\tFN_AVB1_RD3___3 = 980,\n\tFN_AVB1_MII_RD3___3 = 981,\n\tFN_IP1SR5_23_20___3 = 982,\n\tFN_AVB1_MDIO___3 = 983,\n\tFN_IP0SR5_27_24___3 = 984,\n\tFN_AVB1_TX_CTL___3 = 985,\n\tFN_AVB1_MII_TX_EN___3 = 986,\n\tFN_IP1SR5_27_24___3 = 987,\n\tFN_AVB1_MDC___3 = 988,\n\tFN_IP0SR5_31_28___3 = 989,\n\tFN_AVB1_TXC___3 = 990,\n\tFN_AVB1_MII_TXC___3 = 991,\n\tFN_IP1SR5_31_28___3 = 992,\n\tFN_AVB1_MAGIC___3 = 993,\n\tFN_SEL_I2C6_0___5 = 994,\n\tFN_SEL_I2C6_3 = 995,\n\tFN_SEL_I2C5_0___2 = 996,\n\tFN_SEL_I2C5_3___2 = 997,\n\tFN_SEL_I2C4_0___2 = 998,\n\tFN_SEL_I2C4_3___2 = 999,\n\tFN_SEL_I2C3_0___3 = 1000,\n\tFN_SEL_I2C3_3___2 = 1001,\n\tFN_SEL_I2C2_0___7 = 1002,\n\tFN_SEL_I2C2_3___3 = 1003,\n\tFN_SEL_I2C1_0___6 = 1004,\n\tFN_SEL_I2C1_3___3 = 1005,\n\tFN_SEL_I2C0_0___2 = 1006,\n\tFN_SEL_I2C0_3___2 = 1007,\n\tPINMUX_FUNCTION_END___10 = 1008,\n\tPINMUX_MARK_BEGIN___10 = 1009,\n\tMMC_D7_MARK___6 = 1010,\n\tMMC_D6_MARK___6 = 1011,\n\tAVS1_MARK___6 = 1012,\n\tMMC_D5_MARK___6 = 1013,\n\tAVS0_MARK___3 = 1014,\n\tMMC_D4_MARK___6 = 1015,\n\tTCLK2_A_MARK___9 = 1016,\n\tPCIE3_CLKREQ_N_MARK = 1017,\n\tMMC_SD_CLK_MARK___4 = 1018,\n\tPCIE2_CLKREQ_N_MARK = 1019,\n\tMMC_SD_D3_MARK___4 = 1020,\n\tPCIE1_CLKREQ_N_MARK___3 = 1021,\n\tMMC_SD_D2_MARK___4 = 1022,\n\tPCIE0_CLKREQ_N_MARK___4 = 1023,\n\tMMC_SD_D1_MARK___4 = 1024,\n\tAVB2_AVTP_PPS_MARK___3 = 1025,\n\tAVB3_AVTP_PPS_MARK = 1026,\n\tAVB4_AVTP_PPS_MARK = 1027,\n\tAVB5_AVTP_PPS_MARK = 1028,\n\tMMC_SD_D0_MARK___4 = 1029,\n\tAVB2_AVTP_CAPTURE_MARK___3 = 1030,\n\tAVB3_AVTP_CAPTURE_MARK = 1031,\n\tAVB4_AVTP_CAPTURE_MARK = 1032,\n\tAVB5_AVTP_CAPTURE_MARK = 1033,\n\tMMC_SD_CMD_MARK___4 = 1034,\n\tAVB2_AVTP_MATCH_MARK___3 = 1035,\n\tAVB3_AVTP_MATCH_MARK = 1036,\n\tAVB4_AVTP_MATCH_MARK = 1037,\n\tAVB5_AVTP_MATCH_MARK = 1038,\n\tMMC_DS_MARK___5 = 1039,\n\tAVB2_LINK_MARK___3 = 1040,\n\tAVB3_LINK_MARK = 1041,\n\tAVB4_LINK_MARK = 1042,\n\tAVB5_LINK_MARK = 1043,\n\tSD_CD_MARK___4 = 1044,\n\tCANFD7_RX_MARK___2 = 1045,\n\tAVB0_PHY_INT_MARK___4 = 1046,\n\tAVB1_PHY_INT_MARK___3 = 1047,\n\tAVB2_PHY_INT_MARK___3 = 1048,\n\tAVB3_PHY_INT_MARK = 1049,\n\tAVB4_PHY_INT_MARK = 1050,\n\tAVB5_PHY_INT_MARK = 1051,\n\tSD_WP_MARK___4 = 1052,\n\tCANFD7_TX_MARK___2 = 1053,\n\tAVB2_MAGIC_MARK___3 = 1054,\n\tAVB3_MAGIC_MARK = 1055,\n\tAVB4_MAGIC_MARK = 1056,\n\tAVB5_MAGIC_MARK = 1057,\n\tRPC_INT_N_MARK___7 = 1058,\n\tCANFD6_RX_MARK___2 = 1059,\n\tAVB2_MDC_MARK___3 = 1060,\n\tAVB3_MDC_MARK = 1061,\n\tAVB4_MDC_MARK = 1062,\n\tAVB5_MDC_MARK = 1063,\n\tRPC_WP_N_MARK___5 = 1064,\n\tAVB2_MDIO_MARK___3 = 1065,\n\tAVB3_MDIO_MARK = 1066,\n\tAVB4_MDIO_MARK = 1067,\n\tAVB5_MDIO_MARK = 1068,\n\tRPC_RESET_N_MARK___7 = 1069,\n\tAVB2_TXCREFCLK_MARK___3 = 1070,\n\tAVB3_TXCREFCLK_MARK = 1071,\n\tAVB4_TXCREFCLK_MARK = 1072,\n\tAVB5_TXCREFCLK_MARK = 1073,\n\tQSPI1_SSL_MARK___10 = 1074,\n\tAVB2_TD3_MARK___3 = 1075,\n\tAVB3_TD3_MARK = 1076,\n\tAVB4_TD3_MARK = 1077,\n\tAVB5_TD3_MARK = 1078,\n\tQSPI1_IO3_MARK___10 = 1079,\n\tAVB2_TD2_MARK___3 = 1080,\n\tAVB3_TD2_MARK = 1081,\n\tAVB4_TD2_MARK = 1082,\n\tAVB5_TD2_MARK = 1083,\n\tQSPI1_IO2_MARK___10 = 1084,\n\tAVB2_TD1_MARK___3 = 1085,\n\tAVB3_TD1_MARK = 1086,\n\tAVB4_TD1_MARK = 1087,\n\tAVB5_TD1_MARK = 1088,\n\tQSPI1_MISO_IO1_MARK___10 = 1089,\n\tAVB2_TD0_MARK___3 = 1090,\n\tAVB3_TD0_MARK = 1091,\n\tAVB4_TD0_MARK = 1092,\n\tAVB5_TD0_MARK = 1093,\n\tQSPI1_MOSI_IO0_MARK___10 = 1094,\n\tAVB2_TXC_MARK___3 = 1095,\n\tAVB3_TXC_MARK = 1096,\n\tAVB4_TXC_MARK = 1097,\n\tAVB5_TXC_MARK = 1098,\n\tQSPI1_SPCLK_MARK___10 = 1099,\n\tAVB2_TX_CTL_MARK___3 = 1100,\n\tAVB3_TX_CTL_MARK = 1101,\n\tAVB4_TX_CTL_MARK = 1102,\n\tAVB5_TX_CTL_MARK = 1103,\n\tQSPI0_SSL_MARK___10 = 1104,\n\tAVB2_RD3_MARK___3 = 1105,\n\tAVB3_RD3_MARK = 1106,\n\tAVB4_RD3_MARK = 1107,\n\tAVB5_RD3_MARK = 1108,\n\tQSPI0_IO3_MARK___10 = 1109,\n\tCANFD1_RX_MARK___9 = 1110,\n\tAVB2_RD2_MARK___3 = 1111,\n\tAVB3_RD2_MARK = 1112,\n\tAVB4_RD2_MARK = 1113,\n\tAVB5_RD2_MARK = 1114,\n\tQSPI0_IO2_MARK___10 = 1115,\n\tCANFD1_TX_MARK___9 = 1116,\n\tAVB2_RD1_MARK___3 = 1117,\n\tAVB3_RD1_MARK = 1118,\n\tAVB4_RD1_MARK = 1119,\n\tAVB5_RD1_MARK = 1120,\n\tQSPI0_MISO_IO1_MARK___10 = 1121,\n\tAVB2_RD0_MARK___3 = 1122,\n\tAVB3_RD0_MARK = 1123,\n\tAVB4_RD0_MARK = 1124,\n\tAVB5_RD0_MARK = 1125,\n\tQSPI0_MOSI_IO0_MARK___10 = 1126,\n\tAVB2_RXC_MARK___3 = 1127,\n\tAVB3_RXC_MARK = 1128,\n\tAVB4_RXC_MARK = 1129,\n\tAVB5_RXC_MARK = 1130,\n\tQSPI0_SPCLK_MARK___10 = 1131,\n\tCAN_CLK_MARK___8 = 1132,\n\tAVB2_RX_CTL_MARK___3 = 1133,\n\tAVB3_RX_CTL_MARK = 1134,\n\tAVB4_RX_CTL_MARK = 1135,\n\tAVB5_RX_CTL_MARK = 1136,\n\tIP0SR1_3_0_MARK___4 = 1137,\n\tSCIF_CLK_MARK___5 = 1138,\n\tA0_MARK___6 = 1139,\n\tIP1SR1_3_0_MARK___3 = 1140,\n\tMSIOF0_SCK_MARK___10 = 1141,\n\tDU_DR4_MARK___7 = 1142,\n\tA8_MARK___6 = 1143,\n\tIP2SR1_3_0_MARK___3 = 1144,\n\tMSIOF1_SS1_MARK___7 = 1145,\n\tHCTS3_N_MARK___7 = 1146,\n\tRX3_MARK___3 = 1147,\n\tDU_DG6_MARK___7 = 1148,\n\tA16_MARK___6 = 1149,\n\tIP3SR1_3_0_MARK___3 = 1150,\n\tIRQ0_MARK___7 = 1151,\n\tDU_DOTCLKOUT_MARK___2 = 1152,\n\tA24_MARK = 1153,\n\tIP0SR1_7_4_MARK___4 = 1154,\n\tHRX0_MARK___8 = 1155,\n\tRX0_MARK___8 = 1156,\n\tA1_MARK___6 = 1157,\n\tIP1SR1_7_4_MARK___3 = 1158,\n\tMSIOF0_SYNC_MARK___10 = 1159,\n\tDU_DR5_MARK___7 = 1160,\n\tA9_MARK___6 = 1161,\n\tIP2SR1_7_4_MARK___3 = 1162,\n\tMSIOF1_SS2_MARK___7 = 1163,\n\tHTX3_MARK___3 = 1164,\n\tTX3_MARK___3 = 1165,\n\tDU_DG7_MARK___7 = 1166,\n\tA17_MARK___6 = 1167,\n\tIP3SR1_7_4_MARK___3 = 1168,\n\tIRQ1_MARK___7 = 1169,\n\tDU_HSYNC_MARK___3 = 1170,\n\tA25_MARK = 1171,\n\tIP0SR1_11_8_MARK___4 = 1172,\n\tHSCK0_MARK___8 = 1173,\n\tSCK0_MARK___8 = 1174,\n\tA2_MARK___6 = 1175,\n\tIP1SR1_11_8_MARK___3 = 1176,\n\tMSIOF0_SS1_MARK___10 = 1177,\n\tDU_DR6_MARK___7 = 1178,\n\tA10_MARK___6 = 1179,\n\tIP2SR1_11_8_MARK___3 = 1180,\n\tMSIOF2_RXD_MARK___6 = 1181,\n\tHSCK1_MARK___3 = 1182,\n\tSCK1_MARK___7 = 1183,\n\tDU_DB2_MARK___7 = 1184,\n\tA18_MARK___6 = 1185,\n\tIP3SR1_11_8_MARK___3 = 1186,\n\tIRQ2_MARK___7 = 1187,\n\tDU_VSYNC_MARK___3 = 1188,\n\tCS1_N_A26_MARK___2 = 1189,\n\tIP0SR1_15_12_MARK___4 = 1190,\n\tHRTS0_N_MARK___8 = 1191,\n\tRTS0_N_MARK___9 = 1192,\n\tA3_MARK___6 = 1193,\n\tIP1SR1_15_12_MARK___3 = 1194,\n\tMSIOF0_SS2_MARK___10 = 1195,\n\tDU_DR7_MARK___7 = 1196,\n\tA11_MARK___6 = 1197,\n\tIP2SR1_15_12_MARK___3 = 1198,\n\tMSIOF2_TXD_MARK___6 = 1199,\n\tHCTS1_N_MARK___3 = 1200,\n\tCTS1_N_MARK___8 = 1201,\n\tDU_DB3_MARK___7 = 1202,\n\tA19_MARK___6 = 1203,\n\tIP3SR1_15_12_MARK___3 = 1204,\n\tIRQ3_MARK___7 = 1205,\n\tDU_ODDF_DISP_CDE_MARK = 1206,\n\tCS0_N_MARK___6 = 1207,\n\tIP0SR1_19_16_MARK___4 = 1208,\n\tHCTS0_N_MARK___8 = 1209,\n\tCTS0_N_MARK___9 = 1210,\n\tA4_MARK___6 = 1211,\n\tIP1SR1_19_16_MARK___3 = 1212,\n\tMSIOF1_RXD_MARK___7 = 1213,\n\tDU_DG2_MARK___7 = 1214,\n\tA12_MARK___6 = 1215,\n\tIP2SR1_19_16_MARK___3 = 1216,\n\tMSIOF2_SCK_MARK___6 = 1217,\n\tHRTS1_N_MARK___3 = 1218,\n\tRTS1_N_MARK___8 = 1219,\n\tDU_DB4_MARK___7 = 1220,\n\tA20_MARK = 1221,\n\tIP3SR1_19_16_MARK___3 = 1222,\n\tGP1_28_MARK = 1223,\n\tD0_MARK___6 = 1224,\n\tIP0SR1_23_20_MARK___4 = 1225,\n\tHTX0_MARK___8 = 1226,\n\tTX0_MARK___8 = 1227,\n\tA5_MARK___6 = 1228,\n\tIP1SR1_23_20_MARK___3 = 1229,\n\tMSIOF1_TXD_MARK___7 = 1230,\n\tHRX3_MARK___3 = 1231,\n\tSCK3_MARK___6 = 1232,\n\tDU_DG3_MARK___7 = 1233,\n\tA13_MARK___6 = 1234,\n\tIP2SR1_23_20_MARK___3 = 1235,\n\tMSIOF2_SYNC_MARK___5 = 1236,\n\tHRX1_MARK___3 = 1237,\n\tRX1_A_MARK___8 = 1238,\n\tDU_DB5_MARK___7 = 1239,\n\tA21_MARK = 1240,\n\tIP3SR1_23_20_MARK___2 = 1241,\n\tGP1_29_MARK = 1242,\n\tD1_MARK___6 = 1243,\n\tIP0SR1_27_24_MARK___4 = 1244,\n\tMSIOF0_RXD_MARK___10 = 1245,\n\tDU_DR2_MARK___7 = 1246,\n\tA6_MARK___6 = 1247,\n\tIP1SR1_27_24_MARK___3 = 1248,\n\tMSIOF1_SCK_MARK___7 = 1249,\n\tHSCK3_MARK___6 = 1250,\n\tCTS3_N_MARK___6 = 1251,\n\tDU_DG4_MARK___7 = 1252,\n\tA14_MARK___6 = 1253,\n\tIP2SR1_27_24_MARK___3 = 1254,\n\tMSIOF2_SS1_MARK___6 = 1255,\n\tHTX1_MARK___3 = 1256,\n\tTX1_A_MARK___8 = 1257,\n\tDU_DB6_MARK___7 = 1258,\n\tA22_MARK = 1259,\n\tIP3SR1_27_24_MARK = 1260,\n\tGP1_30_MARK = 1261,\n\tD2_MARK___6 = 1262,\n\tIP0SR1_31_28_MARK___4 = 1263,\n\tMSIOF0_TXD_MARK___10 = 1264,\n\tDU_DR3_MARK___7 = 1265,\n\tA7_MARK___6 = 1266,\n\tIP1SR1_31_28_MARK___3 = 1267,\n\tMSIOF1_SYNC_MARK___7 = 1268,\n\tHRTS3_N_MARK___7 = 1269,\n\tRTS3_N_MARK___6 = 1270,\n\tDU_DG5_MARK___7 = 1271,\n\tA15_MARK___6 = 1272,\n\tIP2SR1_31_28_MARK___3 = 1273,\n\tMSIOF2_SS2_MARK___6 = 1274,\n\tTCLK1_B_MARK___9 = 1275,\n\tDU_DB7_MARK___7 = 1276,\n\tA23_MARK = 1277,\n\tIP0SR2_3_0_MARK___3 = 1278,\n\tIPC_CLKIN_MARK___2 = 1279,\n\tIPC_CLKEN_IN_MARK___2 = 1280,\n\tDU_DOTCLKIN_MARK = 1281,\n\tIP1SR2_3_0_MARK___3 = 1282,\n\tGP2_08_MARK = 1283,\n\tHRX2_MARK___5 = 1284,\n\tMSIOF4_SS1_MARK___3 = 1285,\n\tRX4_MARK___5 = 1286,\n\tD9_MARK___6 = 1287,\n\tIP2SR2_3_0_MARK___2 = 1288,\n\tFXR_TXDA_A_MARK = 1289,\n\tMSIOF3_SS1_MARK___5 = 1290,\n\tIP0SR2_7_4_MARK___3 = 1291,\n\tIPC_CLKOUT_MARK___2 = 1292,\n\tIPC_CLKEN_OUT_MARK___2 = 1293,\n\tIP1SR2_7_4_MARK___3 = 1294,\n\tGP2_09_MARK = 1295,\n\tHTX2_MARK___5 = 1296,\n\tMSIOF4_SS2_MARK___3 = 1297,\n\tTX4_MARK___5 = 1298,\n\tD10_MARK___6 = 1299,\n\tIP2SR2_7_4_MARK___3 = 1300,\n\tRXDA_EXTFXR_A_MARK = 1301,\n\tMSIOF3_SS2_MARK___5 = 1302,\n\tBS_N_MARK___6 = 1303,\n\tIP0SR2_11_8_MARK___3 = 1304,\n\tGP2_02_MARK = 1305,\n\tD3_MARK___6 = 1306,\n\tIP1SR2_11_8_MARK___3 = 1307,\n\tGP2_10_MARK = 1308,\n\tTCLK2_B_MARK___9 = 1309,\n\tMSIOF5_RXD_MARK___3 = 1310,\n\tD11_MARK___6 = 1311,\n\tIP2SR2_11_8_MARK___2 = 1312,\n\tFXR_TXDB_MARK___4 = 1313,\n\tMSIOF3_RXD_MARK___5 = 1314,\n\tRD_N_MARK___6 = 1315,\n\tIP0SR2_15_12_MARK___3 = 1316,\n\tGP2_03_MARK = 1317,\n\tD4_MARK___6 = 1318,\n\tIP1SR2_15_12_MARK___3 = 1319,\n\tGP2_11_MARK = 1320,\n\tTCLK3_MARK___3 = 1321,\n\tMSIOF5_TXD_MARK___3 = 1322,\n\tD12_MARK___6 = 1323,\n\tIP2SR2_15_12_MARK___3 = 1324,\n\tRXDB_EXTFXR_MARK___4 = 1325,\n\tMSIOF3_TXD_MARK___5 = 1326,\n\tWE0_N_MARK___6 = 1327,\n\tIP0SR2_19_16_MARK___3 = 1328,\n\tGP2_04_MARK = 1329,\n\tMSIOF4_RXD_MARK___3 = 1330,\n\tD5_MARK___6 = 1331,\n\tIP1SR2_19_16_MARK___3 = 1332,\n\tGP2_12_MARK = 1333,\n\tTCLK4_MARK___3 = 1334,\n\tMSIOF5_SCK_MARK___3 = 1335,\n\tD13_MARK___6 = 1336,\n\tIP2SR2_19_16_MARK = 1337,\n\tCLK_EXTFXR_MARK___4 = 1338,\n\tMSIOF3_SCK_MARK___5 = 1339,\n\tWE1_N_MARK___6 = 1340,\n\tIP0SR2_23_20_MARK___3 = 1341,\n\tGP2_05_MARK = 1342,\n\tHSCK2_MARK___5 = 1343,\n\tMSIOF4_TXD_MARK___3 = 1344,\n\tSCK4_MARK___5 = 1345,\n\tD6_MARK___6 = 1346,\n\tIP1SR2_23_20_MARK___3 = 1347,\n\tGP2_13_MARK = 1348,\n\tMSIOF5_SYNC_MARK___3 = 1349,\n\tD14_MARK___6 = 1350,\n\tIP2SR2_23_20_MARK = 1351,\n\tTPU0TO0_MARK___6 = 1352,\n\tMSIOF3_SYNC_MARK___5 = 1353,\n\tRD_WR_N_MARK___6 = 1354,\n\tIP0SR2_27_24_MARK___3 = 1355,\n\tGP2_06_MARK = 1356,\n\tHCTS2_N_MARK___5 = 1357,\n\tMSIOF4_SCK_MARK___3 = 1358,\n\tCTS4_N_MARK___5 = 1359,\n\tD7_MARK___6 = 1360,\n\tIP1SR2_27_24_MARK___3 = 1361,\n\tGP2_14_MARK = 1362,\n\tIRQ4_MARK___7 = 1363,\n\tMSIOF5_SS1_MARK___3 = 1364,\n\tD15_MARK___6 = 1365,\n\tIP2SR2_27_24_MARK = 1366,\n\tTPU0TO1_MARK___6 = 1367,\n\tCLKOUT_MARK___6 = 1368,\n\tIP0SR2_31_28_MARK___3 = 1369,\n\tGP2_07_MARK = 1370,\n\tHRTS2_N_MARK___5 = 1371,\n\tMSIOF4_SYNC_MARK___3 = 1372,\n\tRTS4_N_MARK___5 = 1373,\n\tD8_MARK___6 = 1374,\n\tIP1SR2_31_28_MARK___3 = 1375,\n\tGP2_15_MARK = 1376,\n\tIRQ5_MARK___9 = 1377,\n\tMSIOF5_SS2_MARK___3 = 1378,\n\tCPG_CPCKOUT_MARK___2 = 1379,\n\tIP2SR2_31_28_MARK = 1380,\n\tTCLK1_A_MARK___9 = 1381,\n\tEX_WAIT0_MARK___3 = 1382,\n\tIP1SR3_3_0_MARK___3 = 1383,\n\tCANFD3_RX_MARK___3 = 1384,\n\tPWM3_MARK = 1385,\n\tIP0SR3_7_4_MARK___3 = 1386,\n\tCANFD0_TX_MARK___5 = 1387,\n\tFXR_TXDA_B_MARK = 1388,\n\tTX1_B_MARK___8 = 1389,\n\tIP1SR3_7_4_MARK___3 = 1390,\n\tCANFD4_TX_MARK___2 = 1391,\n\tPWM4_MARK___3 = 1392,\n\tFXR_CLKOUT1_MARK = 1393,\n\tIP0SR3_11_8_MARK___3 = 1394,\n\tCANFD0_RX_MARK___5 = 1395,\n\tRXDA_EXTFXR_B_MARK = 1396,\n\tRX1_B_MARK___8 = 1397,\n\tIP1SR3_11_8_MARK___3 = 1398,\n\tCANFD4_RX_MARK___2 = 1399,\n\tFXR_CLKOUT2_MARK = 1400,\n\tIP1SR3_15_12_MARK___3 = 1401,\n\tCANFD5_TX_MARK = 1402,\n\tFXR_TXENA_N_MARK___2 = 1403,\n\tIP1SR3_19_16_MARK___3 = 1404,\n\tCANFD5_RX_MARK = 1405,\n\tFXR_TXENB_N_MARK___2 = 1406,\n\tIP0SR3_23_20_MARK___3 = 1407,\n\tCANFD2_TX_MARK___3 = 1408,\n\tTPU0TO2_MARK___6 = 1409,\n\tPWM0_MARK___5 = 1410,\n\tIP1SR3_23_20_MARK___3 = 1411,\n\tCANFD6_TX_MARK___2 = 1412,\n\tSTPWT_EXTFXR_MARK___3 = 1413,\n\tIP0SR3_27_24_MARK___3 = 1414,\n\tCANFD2_RX_MARK___3 = 1415,\n\tTPU0TO3_MARK___6 = 1416,\n\tPWM1_MARK = 1417,\n\tIP0SR3_31_28_MARK___3 = 1418,\n\tCANFD3_TX_MARK___3 = 1419,\n\tPWM2_MARK___2 = 1420,\n\tIP0SR4_3_0_MARK___3 = 1421,\n\tAVB0_RX_CTL_MARK___4 = 1422,\n\tAVB0_MII_RX_DV_MARK___3 = 1423,\n\tIP1SR4_3_0_MARK___3 = 1424,\n\tAVB0_TD0_MARK___4 = 1425,\n\tAVB0_MII_TD0_MARK___3 = 1426,\n\tIP0SR4_7_4_MARK___3 = 1427,\n\tAVB0_RXC_MARK___4 = 1428,\n\tAVB0_MII_RXC_MARK___3 = 1429,\n\tIP1SR4_7_4_MARK___3 = 1430,\n\tAVB0_TD1_MARK___4 = 1431,\n\tAVB0_MII_TD1_MARK___3 = 1432,\n\tIP2SR4_7_4_MARK___2 = 1433,\n\tAVB0_LINK_MARK___4 = 1434,\n\tAVB0_MII_TX_ER_MARK___3 = 1435,\n\tIP0SR4_11_8_MARK___3 = 1436,\n\tAVB0_RD0_MARK___4 = 1437,\n\tAVB0_MII_RD0_MARK___3 = 1438,\n\tIP1SR4_11_8_MARK___3 = 1439,\n\tAVB0_TD2_MARK___4 = 1440,\n\tAVB0_MII_TD2_MARK___3 = 1441,\n\tIP2SR4_11_8_MARK___2 = 1442,\n\tAVB0_AVTP_MATCH_MARK___3 = 1443,\n\tAVB0_MII_RX_ER_MARK___3 = 1444,\n\tCC5_OSCOUT_MARK___3 = 1445,\n\tIP0SR4_15_12_MARK___3 = 1446,\n\tAVB0_RD1_MARK___4 = 1447,\n\tAVB0_MII_RD1_MARK___3 = 1448,\n\tIP1SR4_15_12_MARK___3 = 1449,\n\tAVB0_TD3_MARK___4 = 1450,\n\tAVB0_MII_TD3_MARK___3 = 1451,\n\tIP2SR4_15_12_MARK___2 = 1452,\n\tAVB0_AVTP_CAPTURE_MARK___3 = 1453,\n\tAVB0_MII_CRS_MARK___3 = 1454,\n\tIP0SR4_19_16_MARK___3 = 1455,\n\tAVB0_RD2_MARK___4 = 1456,\n\tAVB0_MII_RD2_MARK___3 = 1457,\n\tIP1SR4_19_16_MARK___3 = 1458,\n\tAVB0_TXCREFCLK_MARK___4 = 1459,\n\tIP2SR4_19_16_MARK___2 = 1460,\n\tAVB0_AVTP_PPS_MARK___3 = 1461,\n\tAVB0_MII_COL_MARK___3 = 1462,\n\tIP0SR4_23_20_MARK___3 = 1463,\n\tAVB0_RD3_MARK___4 = 1464,\n\tAVB0_MII_RD3_MARK___3 = 1465,\n\tIP1SR4_23_20_MARK___3 = 1466,\n\tAVB0_MDIO_MARK___4 = 1467,\n\tIP0SR4_27_24_MARK___3 = 1468,\n\tAVB0_TX_CTL_MARK___4 = 1469,\n\tAVB0_MII_TX_EN_MARK___3 = 1470,\n\tIP1SR4_27_24_MARK___3 = 1471,\n\tAVB0_MDC_MARK___4 = 1472,\n\tIP0SR4_31_28_MARK___3 = 1473,\n\tAVB0_TXC_MARK___4 = 1474,\n\tAVB0_MII_TXC_MARK___3 = 1475,\n\tIP1SR4_31_28_MARK___3 = 1476,\n\tAVB0_MAGIC_MARK___4 = 1477,\n\tIP0SR5_3_0_MARK___3 = 1478,\n\tAVB1_RX_CTL_MARK___3 = 1479,\n\tAVB1_MII_RX_DV_MARK___3 = 1480,\n\tIP1SR5_3_0_MARK___3 = 1481,\n\tAVB1_TD0_MARK___3 = 1482,\n\tAVB1_MII_TD0_MARK___3 = 1483,\n\tIP0SR5_7_4_MARK___3 = 1484,\n\tAVB1_RXC_MARK___3 = 1485,\n\tAVB1_MII_RXC_MARK___3 = 1486,\n\tIP1SR5_7_4_MARK___3 = 1487,\n\tAVB1_TD1_MARK___3 = 1488,\n\tAVB1_MII_TD1_MARK___3 = 1489,\n\tIP2SR5_7_4_MARK___3 = 1490,\n\tAVB1_LINK_MARK___3 = 1491,\n\tAVB1_MII_TX_ER_MARK___3 = 1492,\n\tIP0SR5_11_8_MARK___3 = 1493,\n\tAVB1_RD0_MARK___3 = 1494,\n\tAVB1_MII_RD0_MARK___3 = 1495,\n\tIP1SR5_11_8_MARK___3 = 1496,\n\tAVB1_TD2_MARK___3 = 1497,\n\tAVB1_MII_TD2_MARK___3 = 1498,\n\tIP2SR5_11_8_MARK___3 = 1499,\n\tAVB1_AVTP_MATCH_MARK___3 = 1500,\n\tAVB1_MII_RX_ER_MARK___3 = 1501,\n\tIP0SR5_15_12_MARK___3 = 1502,\n\tAVB1_RD1_MARK___3 = 1503,\n\tAVB1_MII_RD1_MARK___3 = 1504,\n\tIP1SR5_15_12_MARK___3 = 1505,\n\tAVB1_TD3_MARK___3 = 1506,\n\tAVB1_MII_TD3_MARK___3 = 1507,\n\tIP2SR5_15_12_MARK___3 = 1508,\n\tAVB1_AVTP_CAPTURE_MARK___3 = 1509,\n\tAVB1_MII_CRS_MARK___3 = 1510,\n\tIP0SR5_19_16_MARK___3 = 1511,\n\tAVB1_RD2_MARK___3 = 1512,\n\tAVB1_MII_RD2_MARK___3 = 1513,\n\tIP1SR5_19_16_MARK___3 = 1514,\n\tAVB1_TXCREFCLK_MARK___3 = 1515,\n\tIP2SR5_19_16_MARK___3 = 1516,\n\tAVB1_AVTP_PPS_MARK___3 = 1517,\n\tAVB1_MII_COL_MARK___3 = 1518,\n\tIP0SR5_23_20_MARK___3 = 1519,\n\tAVB1_RD3_MARK___3 = 1520,\n\tAVB1_MII_RD3_MARK___3 = 1521,\n\tIP1SR5_23_20_MARK___3 = 1522,\n\tAVB1_MDIO_MARK___3 = 1523,\n\tIP0SR5_27_24_MARK___3 = 1524,\n\tAVB1_TX_CTL_MARK___3 = 1525,\n\tAVB1_MII_TX_EN_MARK___3 = 1526,\n\tIP1SR5_27_24_MARK___3 = 1527,\n\tAVB1_MDC_MARK___3 = 1528,\n\tIP0SR5_31_28_MARK___3 = 1529,\n\tAVB1_TXC_MARK___3 = 1530,\n\tAVB1_MII_TXC_MARK___3 = 1531,\n\tIP1SR5_31_28_MARK___3 = 1532,\n\tAVB1_MAGIC_MARK___3 = 1533,\n\tSEL_I2C6_0_MARK___5 = 1534,\n\tSEL_I2C6_3_MARK = 1535,\n\tSEL_I2C5_0_MARK___2 = 1536,\n\tSEL_I2C5_3_MARK___2 = 1537,\n\tSEL_I2C4_0_MARK___2 = 1538,\n\tSEL_I2C4_3_MARK___2 = 1539,\n\tSEL_I2C3_0_MARK___3 = 1540,\n\tSEL_I2C3_3_MARK___2 = 1541,\n\tSEL_I2C2_0_MARK___7 = 1542,\n\tSEL_I2C2_3_MARK___3 = 1543,\n\tSEL_I2C1_0_MARK___6 = 1544,\n\tSEL_I2C1_3_MARK___3 = 1545,\n\tSEL_I2C0_0_MARK___2 = 1546,\n\tSEL_I2C0_3_MARK___2 = 1547,\n\tSCL0_MARK___9 = 1548,\n\tSDA0_MARK___9 = 1549,\n\tSCL1_MARK___6 = 1550,\n\tSDA1_MARK___6 = 1551,\n\tSCL2_MARK___5 = 1552,\n\tSDA2_MARK___5 = 1553,\n\tSCL3_MARK___8 = 1554,\n\tSDA3_MARK___8 = 1555,\n\tSCL4_MARK___5 = 1556,\n\tSDA4_MARK___5 = 1557,\n\tSCL5_MARK___8 = 1558,\n\tSDA5_MARK___8 = 1559,\n\tSCL6_MARK = 1560,\n\tSDA6_MARK = 1561,\n\tPINMUX_MARK_END___10 = 1562,\n};\n\nenum {\n\tPINMUX_RESERVED___11 = 0,\n\tPINMUX_DATA_BEGIN___11 = 1,\n\tGP_0_0_DATA___11 = 2,\n\tGP_0_1_DATA___11 = 3,\n\tGP_0_2_DATA___11 = 4,\n\tGP_0_3_DATA___11 = 5,\n\tGP_0_4_DATA___11 = 6,\n\tGP_0_5_DATA___11 = 7,\n\tGP_0_6_DATA___11 = 8,\n\tGP_0_7_DATA___11 = 9,\n\tGP_0_8_DATA___11 = 10,\n\tGP_0_9_DATA___10 = 11,\n\tGP_0_10_DATA___10 = 12,\n\tGP_0_11_DATA___10 = 13,\n\tGP_0_12_DATA___10 = 14,\n\tGP_0_13_DATA___10 = 15,\n\tGP_0_14_DATA___10 = 16,\n\tGP_0_15_DATA___10 = 17,\n\tGP_0_16_DATA___7 = 18,\n\tGP_0_17_DATA___7 = 19,\n\tGP_0_18_DATA___6 = 20,\n\tGP_0_19_DATA___4 = 21,\n\tGP_0_20_DATA___4 = 22,\n\tGP_0_21_DATA___3 = 23,\n\tGP_1_0_DATA___11 = 24,\n\tGP_1_1_DATA___11 = 25,\n\tGP_1_2_DATA___11 = 26,\n\tGP_1_3_DATA___11 = 27,\n\tGP_1_4_DATA___11 = 28,\n\tGP_1_5_DATA___11 = 29,\n\tGP_1_6_DATA___11 = 30,\n\tGP_1_7_DATA___11 = 31,\n\tGP_1_8_DATA___11 = 32,\n\tGP_1_9_DATA___11 = 33,\n\tGP_1_10_DATA___11 = 34,\n\tGP_1_11_DATA___11 = 35,\n\tGP_1_12_DATA___11 = 36,\n\tGP_1_13_DATA___11 = 37,\n\tGP_1_14_DATA___11 = 38,\n\tGP_1_15_DATA___11 = 39,\n\tGP_1_16_DATA___11 = 40,\n\tGP_1_17_DATA___11 = 41,\n\tGP_1_18_DATA___11 = 42,\n\tGP_1_19_DATA___11 = 43,\n\tGP_1_20_DATA___11 = 44,\n\tGP_1_21_DATA___11 = 45,\n\tGP_1_22_DATA___11 = 46,\n\tGP_1_23_DATA___10 = 47,\n\tGP_1_24_DATA___10 = 48,\n\tGP_1_25_DATA___9 = 49,\n\tGP_1_26_DATA___9 = 50,\n\tGP_1_27_DATA___9 = 51,\n\tGP_2_0_DATA___11 = 52,\n\tGP_2_1_DATA___11 = 53,\n\tGP_2_2_DATA___11 = 54,\n\tGP_2_3_DATA___11 = 55,\n\tGP_2_4_DATA___11 = 56,\n\tGP_2_5_DATA___11 = 57,\n\tGP_2_6_DATA___11 = 58,\n\tGP_2_7_DATA___11 = 59,\n\tGP_2_8_DATA___11 = 60,\n\tGP_2_9_DATA___11 = 61,\n\tGP_2_10_DATA___11 = 62,\n\tGP_2_11_DATA___11 = 63,\n\tGP_2_12_DATA___11 = 64,\n\tGP_2_13_DATA___11 = 65,\n\tGP_2_14_DATA___11 = 66,\n\tGP_2_15_DATA___8 = 67,\n\tGP_2_16_DATA___7 = 68,\n\tGP_3_0_DATA___11 = 69,\n\tGP_3_1_DATA___11 = 70,\n\tGP_3_2_DATA___11 = 71,\n\tGP_3_3_DATA___11 = 72,\n\tGP_3_4_DATA___11 = 73,\n\tGP_3_5_DATA___11 = 74,\n\tGP_3_6_DATA___11 = 75,\n\tGP_3_7_DATA___11 = 76,\n\tGP_3_8_DATA___11 = 77,\n\tGP_3_9_DATA___11 = 78,\n\tGP_3_10_DATA___10 = 79,\n\tGP_3_11_DATA___10 = 80,\n\tGP_3_12_DATA___10 = 81,\n\tGP_3_13_DATA___10 = 82,\n\tGP_3_14_DATA___10 = 83,\n\tGP_3_15_DATA___10 = 84,\n\tGP_3_16_DATA___6 = 85,\n\tGP_4_0_DATA___10 = 86,\n\tGP_4_1_DATA___10 = 87,\n\tGP_4_2_DATA___10 = 88,\n\tGP_4_3_DATA___10 = 89,\n\tGP_4_4_DATA___10 = 90,\n\tGP_4_5_DATA___10 = 91,\n\tGP_5_0_DATA___10 = 92,\n\tGP_5_1_DATA___10 = 93,\n\tGP_5_2_DATA___10 = 94,\n\tGP_5_3_DATA___10 = 95,\n\tGP_5_4_DATA___10 = 96,\n\tGP_5_5_DATA___10 = 97,\n\tGP_5_6_DATA___10 = 98,\n\tGP_5_7_DATA___10 = 99,\n\tGP_5_8_DATA___10 = 100,\n\tGP_5_9_DATA___10 = 101,\n\tGP_5_10_DATA___10 = 102,\n\tGP_5_11_DATA___10 = 103,\n\tGP_5_12_DATA___10 = 104,\n\tGP_5_13_DATA___10 = 105,\n\tGP_5_14_DATA___10 = 106,\n\tPINMUX_DATA_END___11 = 107,\n\tPINMUX_FUNCTION_BEGIN___11 = 108,\n\tGP_0_0_FN___11 = 109,\n\tGP_0_1_FN___11 = 110,\n\tGP_0_2_FN___11 = 111,\n\tGP_0_3_FN___11 = 112,\n\tGP_0_4_FN___11 = 113,\n\tGP_0_5_FN___11 = 114,\n\tGP_0_6_FN___11 = 115,\n\tGP_0_7_FN___11 = 116,\n\tGP_0_8_FN___11 = 117,\n\tGP_0_9_FN___10 = 118,\n\tGP_0_10_FN___10 = 119,\n\tGP_0_11_FN___10 = 120,\n\tGP_0_12_FN___10 = 121,\n\tGP_0_13_FN___10 = 122,\n\tGP_0_14_FN___10 = 123,\n\tGP_0_15_FN___10 = 124,\n\tGP_0_16_FN___7 = 125,\n\tGP_0_17_FN___7 = 126,\n\tGP_0_18_FN___6 = 127,\n\tGP_0_19_FN___4 = 128,\n\tGP_0_20_FN___4 = 129,\n\tGP_0_21_FN___3 = 130,\n\tGP_1_0_FN___11 = 131,\n\tGP_1_1_FN___11 = 132,\n\tGP_1_2_FN___11 = 133,\n\tGP_1_3_FN___11 = 134,\n\tGP_1_4_FN___11 = 135,\n\tGP_1_5_FN___11 = 136,\n\tGP_1_6_FN___11 = 137,\n\tGP_1_7_FN___11 = 138,\n\tGP_1_8_FN___11 = 139,\n\tGP_1_9_FN___11 = 140,\n\tGP_1_10_FN___11 = 141,\n\tGP_1_11_FN___11 = 142,\n\tGP_1_12_FN___11 = 143,\n\tGP_1_13_FN___11 = 144,\n\tGP_1_14_FN___11 = 145,\n\tGP_1_15_FN___11 = 146,\n\tGP_1_16_FN___11 = 147,\n\tGP_1_17_FN___11 = 148,\n\tGP_1_18_FN___11 = 149,\n\tGP_1_19_FN___11 = 150,\n\tGP_1_20_FN___11 = 151,\n\tGP_1_21_FN___11 = 152,\n\tGP_1_22_FN___11 = 153,\n\tGP_1_23_FN___10 = 154,\n\tGP_1_24_FN___10 = 155,\n\tGP_1_25_FN___9 = 156,\n\tGP_1_26_FN___9 = 157,\n\tGP_1_27_FN___9 = 158,\n\tGP_2_0_FN___11 = 159,\n\tGP_2_1_FN___11 = 160,\n\tGP_2_2_FN___11 = 161,\n\tGP_2_3_FN___11 = 162,\n\tGP_2_4_FN___11 = 163,\n\tGP_2_5_FN___11 = 164,\n\tGP_2_6_FN___11 = 165,\n\tGP_2_7_FN___11 = 166,\n\tGP_2_8_FN___11 = 167,\n\tGP_2_9_FN___11 = 168,\n\tGP_2_10_FN___11 = 169,\n\tGP_2_11_FN___11 = 170,\n\tGP_2_12_FN___11 = 171,\n\tGP_2_13_FN___11 = 172,\n\tGP_2_14_FN___11 = 173,\n\tGP_2_15_FN___8 = 174,\n\tGP_2_16_FN___7 = 175,\n\tGP_3_0_FN___11 = 176,\n\tGP_3_1_FN___11 = 177,\n\tGP_3_2_FN___11 = 178,\n\tGP_3_3_FN___11 = 179,\n\tGP_3_4_FN___11 = 180,\n\tGP_3_5_FN___11 = 181,\n\tGP_3_6_FN___11 = 182,\n\tGP_3_7_FN___11 = 183,\n\tGP_3_8_FN___11 = 184,\n\tGP_3_9_FN___11 = 185,\n\tGP_3_10_FN___10 = 186,\n\tGP_3_11_FN___10 = 187,\n\tGP_3_12_FN___10 = 188,\n\tGP_3_13_FN___10 = 189,\n\tGP_3_14_FN___10 = 190,\n\tGP_3_15_FN___10 = 191,\n\tGP_3_16_FN___6 = 192,\n\tGP_4_0_FN___10 = 193,\n\tGP_4_1_FN___10 = 194,\n\tGP_4_2_FN___10 = 195,\n\tGP_4_3_FN___10 = 196,\n\tGP_4_4_FN___10 = 197,\n\tGP_4_5_FN___10 = 198,\n\tGP_5_0_FN___10 = 199,\n\tGP_5_1_FN___10 = 200,\n\tGP_5_2_FN___10 = 201,\n\tGP_5_3_FN___10 = 202,\n\tGP_5_4_FN___10 = 203,\n\tGP_5_5_FN___10 = 204,\n\tGP_5_6_FN___10 = 205,\n\tGP_5_7_FN___10 = 206,\n\tGP_5_8_FN___10 = 207,\n\tGP_5_9_FN___10 = 208,\n\tGP_5_10_FN___10 = 209,\n\tGP_5_11_FN___10 = 210,\n\tGP_5_12_FN___10 = 211,\n\tGP_5_13_FN___10 = 212,\n\tGP_5_14_FN___10 = 213,\n\tFN_AVB0_AVTP_MATCH___4 = 214,\n\tFN_AVB0_LINK___5 = 215,\n\tFN_AVB0_PHY_INT___5 = 216,\n\tFN_AVB0_MAGIC___5 = 217,\n\tFN_AVB0_MDC___5 = 218,\n\tFN_AVB0_MDIO___5 = 219,\n\tFN_RPC_INT_N___8 = 220,\n\tFN_AVB0_TXCREFCLK___5 = 221,\n\tFN_RPC_WP_N___6 = 222,\n\tFN_AVB0_TD3___5 = 223,\n\tFN_RPC_RESET_N___8 = 224,\n\tFN_AVB0_TD2___5 = 225,\n\tFN_QSPI1_SSL___8 = 226,\n\tFN_AVB0_TD1___5 = 227,\n\tFN_QSPI1_IO3___8 = 228,\n\tFN_AVB0_TD0___5 = 229,\n\tFN_QSPI1_IO2___8 = 230,\n\tFN_AVB0_TXC___5 = 231,\n\tFN_QSPI1_MISO_IO1___8 = 232,\n\tFN_AVB0_TX_CTL___5 = 233,\n\tFN_QSPI1_MOSI_IO0___8 = 234,\n\tFN_AVB0_RD3___5 = 235,\n\tFN_QSPI1_SPCLK___8 = 236,\n\tFN_AVB0_RD2___5 = 237,\n\tFN_QSPI0_SSL___8 = 238,\n\tFN_AVB0_RD1___5 = 239,\n\tFN_QSPI0_IO3___8 = 240,\n\tFN_AVB0_RD0___5 = 241,\n\tFN_QSPI0_IO2___8 = 242,\n\tFN_AVB0_RXC___5 = 243,\n\tFN_QSPI0_MISO_IO1___8 = 244,\n\tFN_AVB0_RX_CTL___5 = 245,\n\tFN_QSPI0_MOSI_IO0___8 = 246,\n\tFN_QSPI0_SPCLK___8 = 247,\n\tFN_IP0_3_0___7 = 248,\n\tFN_DU_DR2___8 = 249,\n\tFN_HSCK0___9 = 250,\n\tFN_A0___7 = 251,\n\tFN_IP1_3_0___7 = 252,\n\tFN_DU_DG4___8 = 253,\n\tFN_A8___7 = 254,\n\tFN_FSO_CFE_0_N_A___3 = 255,\n\tFN_IP2_3_0___7 = 256,\n\tFN_DU_DB6___8 = 257,\n\tFN_A16___7 = 258,\n\tFN_FXR_TXENB_N___3 = 259,\n\tFN_IP3_3_0___7 = 260,\n\tFN_VI0_CLKENB___2 = 261,\n\tFN_MSIOF2_RXD___7 = 262,\n\tFN_RX3___4 = 263,\n\tFN_RD_WR_N___7 = 264,\n\tFN_HCTS3_N___8 = 265,\n\tFN_IP0_7_4___7 = 266,\n\tFN_DU_DR3___8 = 267,\n\tFN_HRTS0_N___9 = 268,\n\tFN_A1___7 = 269,\n\tFN_IP1_7_4___7 = 270,\n\tFN_DU_DG5___8 = 271,\n\tFN_A9___7 = 272,\n\tFN_FSO_CFE_1_N_A___3 = 273,\n\tFN_IP2_7_4___7 = 274,\n\tFN_DU_DB7___8 = 275,\n\tFN_A17___7 = 276,\n\tFN_IP3_7_4___7 = 277,\n\tFN_VI0_HSYNC_N___2 = 278,\n\tFN_MSIOF2_TXD___7 = 279,\n\tFN_TX3___4 = 280,\n\tFN_HRTS3_N___8 = 281,\n\tFN_IP0_11_8___7 = 282,\n\tFN_DU_DR4___8 = 283,\n\tFN_HCTS0_N___9 = 284,\n\tFN_A2___7 = 285,\n\tFN_IP1_11_8___7 = 286,\n\tFN_DU_DG6___8 = 287,\n\tFN_A10___7 = 288,\n\tFN_FSO_TOE_N_A___3 = 289,\n\tFN_IP2_11_8___7 = 290,\n\tFN_DU_DOTCLKOUT___3 = 291,\n\tFN_SCIF_CLK_A___6 = 292,\n\tFN_A18___7 = 293,\n\tFN_IP3_11_8___7 = 294,\n\tFN_VI0_VSYNC_N___2 = 295,\n\tFN_MSIOF2_SYNC___6 = 296,\n\tFN_CTS3_N___7 = 297,\n\tFN_HTX3___4 = 298,\n\tFN_IP0_15_12___7 = 299,\n\tFN_DU_DR5___8 = 300,\n\tFN_HTX0___9 = 301,\n\tFN_A3___7 = 302,\n\tFN_IP1_15_12___7 = 303,\n\tFN_DU_DG7___8 = 304,\n\tFN_A11___7 = 305,\n\tFN_IRQ1___8 = 306,\n\tFN_IP2_15_12___7 = 307,\n\tFN_DU_EXHSYNC_DU_HSYNC___5 = 308,\n\tFN_HRX0___9 = 309,\n\tFN_A19___7 = 310,\n\tFN_IRQ3___8 = 311,\n\tFN_IP3_15_12___7 = 312,\n\tFN_VI0_DATA0___2 = 313,\n\tFN_MSIOF2_SS1___7 = 314,\n\tFN_RTS3_N___7 = 315,\n\tFN_HRX3___4 = 316,\n\tFN_IP0_19_16___7 = 317,\n\tFN_DU_DR6___8 = 318,\n\tFN_MSIOF3_RXD___6 = 319,\n\tFN_A4___7 = 320,\n\tFN_IP1_19_16___7 = 321,\n\tFN_DU_DB2___8 = 322,\n\tFN_A12___7 = 323,\n\tFN_IRQ2___8 = 324,\n\tFN_IP2_19_16___7 = 325,\n\tFN_DU_EXVSYNC_DU_VSYNC___5 = 326,\n\tFN_MSIOF3_SCK___6 = 327,\n\tFN_IP3_19_16___7 = 328,\n\tFN_VI0_DATA1___2 = 329,\n\tFN_MSIOF2_SS2___7 = 330,\n\tFN_SCK1___8 = 331,\n\tFN_SPEEDIN_A___6 = 332,\n\tFN_IP0_23_20___7 = 333,\n\tFN_DU_DR7___8 = 334,\n\tFN_MSIOF3_TXD___6 = 335,\n\tFN_A5___7 = 336,\n\tFN_IP1_23_20___7 = 337,\n\tFN_DU_DB3___8 = 338,\n\tFN_A13___7 = 339,\n\tFN_FXR_CLKOUT1___2 = 340,\n\tFN_IP2_23_20___7 = 341,\n\tFN_DU_EXODDF_DU_ODDF_DISP_CDE___5 = 342,\n\tFN_MSIOF3_SYNC___6 = 343,\n\tFN_IP3_23_20___7 = 344,\n\tFN_VI0_DATA2___2 = 345,\n\tFN_AVB0_AVTP_PPS___4 = 346,\n\tFN_SDA3_A___2 = 347,\n\tFN_IP0_27_24___7 = 348,\n\tFN_DU_DG2___8 = 349,\n\tFN_MSIOF3_SS1___6 = 350,\n\tFN_A6___7 = 351,\n\tFN_IP1_27_24___7 = 352,\n\tFN_DU_DB4___8 = 353,\n\tFN_A14___7 = 354,\n\tFN_FXR_CLKOUT2___2 = 355,\n\tFN_IP2_27_24___7 = 356,\n\tFN_IRQ0___8 = 357,\n\tFN_IP3_27_24___7 = 358,\n\tFN_VI0_DATA3___2 = 359,\n\tFN_HSCK1___4 = 360,\n\tFN_SCL3_A___2 = 361,\n\tFN_IP0_31_28___7 = 362,\n\tFN_DU_DG3___8 = 363,\n\tFN_MSIOF3_SS2___6 = 364,\n\tFN_A7___7 = 365,\n\tFN_PWMFSW0___2 = 366,\n\tFN_IP1_31_28___7 = 367,\n\tFN_DU_DB5___8 = 368,\n\tFN_A15___7 = 369,\n\tFN_FXR_TXENA_N___3 = 370,\n\tFN_IP2_31_28___7 = 371,\n\tFN_VI0_CLK___2 = 372,\n\tFN_MSIOF2_SCK___7 = 373,\n\tFN_SCK3___7 = 374,\n\tFN_HSCK3___7 = 375,\n\tFN_IP3_31_28___7 = 376,\n\tFN_VI0_DATA4___2 = 377,\n\tFN_HRTS1_N___4 = 378,\n\tFN_RX1_A___9 = 379,\n\tFN_IP4_3_0___7 = 380,\n\tFN_VI0_DATA5___2 = 381,\n\tFN_HCTS1_N___4 = 382,\n\tFN_TX1_A___9 = 383,\n\tFN_IP5_3_0___7 = 384,\n\tFN_VI1_CLK___2 = 385,\n\tFN_MSIOF1_RXD___8 = 386,\n\tFN_CS0_N___7 = 387,\n\tFN_IP6_3_0___7 = 388,\n\tFN_VI1_DATA4___2 = 389,\n\tFN_CANFD_CLK_B___2 = 390,\n\tFN_D7___7 = 391,\n\tFN_MMC_D2___3 = 392,\n\tFN_IP7_3_0___7 = 393,\n\tFN_VI1_FIELD___2 = 394,\n\tFN_SDA4___4 = 395,\n\tFN_IRQ5___10 = 396,\n\tFN_D15___7 = 397,\n\tFN_IP4_7_4___7 = 398,\n\tFN_VI0_DATA6___2 = 399,\n\tFN_HTX1___4 = 400,\n\tFN_CTS1_N___9 = 401,\n\tFN_IP5_7_4___7 = 402,\n\tFN_VI1_CLKENB___2 = 403,\n\tFN_MSIOF1_TXD___8 = 404,\n\tFN_D0___7 = 405,\n\tFN_IP6_7_4___7 = 406,\n\tFN_VI1_DATA5___2 = 407,\n\tFN_SCK4___6 = 408,\n\tFN_D8___7 = 409,\n\tFN_MMC_D3___3 = 410,\n\tFN_IP7_7_4___7 = 411,\n\tFN_SCL0___5 = 412,\n\tFN_DU_DR0___7 = 413,\n\tFN_TPU0TO0___7 = 414,\n\tFN_CLKOUT___7 = 415,\n\tFN_MSIOF0_RXD___11 = 416,\n\tFN_IP4_11_8___7 = 417,\n\tFN_VI0_DATA7___2 = 418,\n\tFN_HRX1___4 = 419,\n\tFN_RTS1_N___9 = 420,\n\tFN_IP5_11_8___7 = 421,\n\tFN_VI1_HSYNC_N___2 = 422,\n\tFN_MSIOF1_SCK___8 = 423,\n\tFN_D1___7 = 424,\n\tFN_IP6_11_8___7 = 425,\n\tFN_VI1_DATA6___2 = 426,\n\tFN_RX4___6 = 427,\n\tFN_D9___7 = 428,\n\tFN_MMC_CLK___3 = 429,\n\tFN_IP7_11_8___7 = 430,\n\tFN_SDA0___5 = 431,\n\tFN_DU_DR1___7 = 432,\n\tFN_TPU0TO1___7 = 433,\n\tFN_BS_N___7 = 434,\n\tFN_SCK0___9 = 435,\n\tFN_MSIOF0_TXD___11 = 436,\n\tFN_IP4_15_12___7 = 437,\n\tFN_VI0_DATA8___2 = 438,\n\tFN_HSCK2___6 = 439,\n\tFN_PWM0_A___5 = 440,\n\tFN_A22___2 = 441,\n\tFN_IP5_15_12___7 = 442,\n\tFN_VI1_VSYNC_N___2 = 443,\n\tFN_MSIOF1_SYNC___8 = 444,\n\tFN_D2___7 = 445,\n\tFN_IP6_15_12___7 = 446,\n\tFN_VI1_DATA7___2 = 447,\n\tFN_TX4___6 = 448,\n\tFN_D10___7 = 449,\n\tFN_MMC_D4___7 = 450,\n\tFN_IP7_15_12___4 = 451,\n\tFN_SCL1___5 = 452,\n\tFN_DU_DG0___7 = 453,\n\tFN_TPU0TO2___7 = 454,\n\tFN_RD_N___7 = 455,\n\tFN_CTS0_N___10 = 456,\n\tFN_MSIOF0_SCK___11 = 457,\n\tFN_IP4_19_16___7 = 458,\n\tFN_VI0_DATA9___2 = 459,\n\tFN_HCTS2_N___6 = 460,\n\tFN_PWM1_A___9 = 461,\n\tFN_A23___2 = 462,\n\tFN_FSO_CFE_0_N_B___3 = 463,\n\tFN_IP5_19_16___7 = 464,\n\tFN_VI1_DATA0___2 = 465,\n\tFN_MSIOF1_SS1___8 = 466,\n\tFN_D3___7 = 467,\n\tFN_IP6_19_16___7 = 468,\n\tFN_VI1_DATA8___2 = 469,\n\tFN_CTS4_N___6 = 470,\n\tFN_D11___7 = 471,\n\tFN_MMC_D5___7 = 472,\n\tFN_IP7_19_16___7 = 473,\n\tFN_SDA1___5 = 474,\n\tFN_DU_DG1___7 = 475,\n\tFN_TPU0TO3___7 = 476,\n\tFN_WE0_N___7 = 477,\n\tFN_RTS0_N___10 = 478,\n\tFN_MSIOF0_SYNC___11 = 479,\n\tFN_IP4_23_20___7 = 480,\n\tFN_VI0_DATA10___2 = 481,\n\tFN_HRTS2_N___6 = 482,\n\tFN_PWM2_A___8 = 483,\n\tFN_A24___2 = 484,\n\tFN_FSO_CFE_1_N_B___3 = 485,\n\tFN_IP5_23_20___7 = 486,\n\tFN_VI1_DATA1___2 = 487,\n\tFN_MSIOF1_SS2___8 = 488,\n\tFN_D4___7 = 489,\n\tFN_MMC_CMD___3 = 490,\n\tFN_IP6_23_20___7 = 491,\n\tFN_VI1_DATA9___2 = 492,\n\tFN_RTS4_N___6 = 493,\n\tFN_D12___7 = 494,\n\tFN_MMC_D6___7 = 495,\n\tFN_SCL3_B___2 = 496,\n\tFN_IP7_23_20___7 = 497,\n\tFN_SCL2___4 = 498,\n\tFN_DU_DB0___7 = 499,\n\tFN_TCLK1_A___10 = 500,\n\tFN_WE1_N___7 = 501,\n\tFN_RX0___9 = 502,\n\tFN_MSIOF0_SS1___11 = 503,\n\tFN_IP4_27_24___7 = 504,\n\tFN_VI0_DATA11___2 = 505,\n\tFN_HTX2___6 = 506,\n\tFN_PWM3_A___9 = 507,\n\tFN_A25___2 = 508,\n\tFN_FSO_TOE_N_B___3 = 509,\n\tFN_IP5_27_24___7 = 510,\n\tFN_VI1_DATA2___2 = 511,\n\tFN_CANFD0_TX_B___5 = 512,\n\tFN_D5___7 = 513,\n\tFN_MMC_D0___3 = 514,\n\tFN_IP6_27_24___7 = 515,\n\tFN_VI1_DATA10___2 = 516,\n\tFN_D13___7 = 517,\n\tFN_MMC_D7___7 = 518,\n\tFN_SDA3_B___2 = 519,\n\tFN_IP7_27_24___7 = 520,\n\tFN_SDA2___4 = 521,\n\tFN_DU_DB1___7 = 522,\n\tFN_TCLK2_A___10 = 523,\n\tFN_EX_WAIT0___4 = 524,\n\tFN_TX0___9 = 525,\n\tFN_MSIOF0_SS2___11 = 526,\n\tFN_IP4_31_28___7 = 527,\n\tFN_VI0_FIELD___2 = 528,\n\tFN_HRX2___6 = 529,\n\tFN_PWM4_A___6 = 530,\n\tFN_CS1_N___5 = 531,\n\tFN_FSCLKST2_N_A___4 = 532,\n\tFN_IP5_31_28___7 = 533,\n\tFN_VI1_DATA3___2 = 534,\n\tFN_CANFD0_RX_B___5 = 535,\n\tFN_D6___7 = 536,\n\tFN_MMC_D1___3 = 537,\n\tFN_IP6_31_28___7 = 538,\n\tFN_VI1_DATA11___2 = 539,\n\tFN_SCL4___4 = 540,\n\tFN_IRQ4___8 = 541,\n\tFN_D14___7 = 542,\n\tFN_IP7_31_28___7 = 543,\n\tFN_AVB0_AVTP_CAPTURE___4 = 544,\n\tFN_FSCLKST2_N_B___4 = 545,\n\tFN_IP8_3_0___7 = 546,\n\tFN_CANFD0_TX_A___5 = 547,\n\tFN_FXR_TXDA___4 = 548,\n\tFN_PWM0_B___5 = 549,\n\tFN_DU_DISP___7 = 550,\n\tFN_FSCLKST2_N_C = 551,\n\tFN_IP8_7_4___7 = 552,\n\tFN_CANFD0_RX_A___5 = 553,\n\tFN_RXDA_EXTFXR___4 = 554,\n\tFN_PWM1_B___9 = 555,\n\tFN_DU_CDE___7 = 556,\n\tFN_IP8_11_8___7 = 557,\n\tFN_CANFD1_TX___10 = 558,\n\tFN_FXR_TXDB___5 = 559,\n\tFN_PWM2_B___8 = 560,\n\tFN_TCLK1_B___10 = 561,\n\tFN_TX1_B___9 = 562,\n\tFN_IP8_15_12___7 = 563,\n\tFN_CANFD1_RX___10 = 564,\n\tFN_RXDB_EXTFXR___5 = 565,\n\tFN_PWM3_B___9 = 566,\n\tFN_TCLK2_B___10 = 567,\n\tFN_RX1_B___9 = 568,\n\tFN_IP8_19_16___7 = 569,\n\tFN_CANFD_CLK_A___2 = 570,\n\tFN_CLK_EXTFXR___5 = 571,\n\tFN_PWM4_B___6 = 572,\n\tFN_SPEEDIN_B___6 = 573,\n\tFN_SCIF_CLK_B___6 = 574,\n\tFN_IP8_23_20___7 = 575,\n\tFN_DIGRF_CLKIN___2 = 576,\n\tFN_DIGRF_CLKEN_IN___2 = 577,\n\tFN_IP8_27_24___7 = 578,\n\tFN_DIGRF_CLKOUT___2 = 579,\n\tFN_DIGRF_CLKEN_OUT___2 = 580,\n\tFN_SEL_I2C3_0___4 = 581,\n\tFN_SEL_I2C3_1___2 = 582,\n\tFN_SEL_HSCIF0_0___3 = 583,\n\tFN_SEL_HSCIF0_1___3 = 584,\n\tFN_SEL_SCIF1_0___6 = 585,\n\tFN_SEL_SCIF1_1___6 = 586,\n\tFN_SEL_CANFD0_0___5 = 587,\n\tFN_SEL_CANFD0_1___5 = 588,\n\tFN_SEL_PWM4_0___6 = 589,\n\tFN_SEL_PWM4_1___6 = 590,\n\tFN_SEL_PWM3_0___7 = 591,\n\tFN_SEL_PWM3_1___7 = 592,\n\tFN_SEL_PWM2_0___7 = 593,\n\tFN_SEL_PWM2_1___7 = 594,\n\tFN_SEL_PWM1_0___7 = 595,\n\tFN_SEL_PWM1_1___7 = 596,\n\tFN_SEL_PWM0_0___4 = 597,\n\tFN_SEL_PWM0_1___4 = 598,\n\tFN_SEL_RFSO_0___2 = 599,\n\tFN_SEL_RFSO_1___2 = 600,\n\tFN_SEL_RSP_0___2 = 601,\n\tFN_SEL_RSP_1___2 = 602,\n\tFN_SEL_TMU_0___2 = 603,\n\tFN_SEL_TMU_1___2 = 604,\n\tPINMUX_FUNCTION_END___11 = 605,\n\tPINMUX_MARK_BEGIN___11 = 606,\n\tAVB0_AVTP_MATCH_MARK___4 = 607,\n\tAVB0_LINK_MARK___5 = 608,\n\tAVB0_PHY_INT_MARK___5 = 609,\n\tAVB0_MAGIC_MARK___5 = 610,\n\tAVB0_MDC_MARK___5 = 611,\n\tAVB0_MDIO_MARK___5 = 612,\n\tRPC_INT_N_MARK___8 = 613,\n\tAVB0_TXCREFCLK_MARK___5 = 614,\n\tRPC_WP_N_MARK___6 = 615,\n\tAVB0_TD3_MARK___5 = 616,\n\tRPC_RESET_N_MARK___8 = 617,\n\tAVB0_TD2_MARK___5 = 618,\n\tQSPI1_SSL_MARK___11 = 619,\n\tAVB0_TD1_MARK___5 = 620,\n\tQSPI1_IO3_MARK___11 = 621,\n\tAVB0_TD0_MARK___5 = 622,\n\tQSPI1_IO2_MARK___11 = 623,\n\tAVB0_TXC_MARK___5 = 624,\n\tQSPI1_MISO_IO1_MARK___11 = 625,\n\tAVB0_TX_CTL_MARK___5 = 626,\n\tQSPI1_MOSI_IO0_MARK___11 = 627,\n\tAVB0_RD3_MARK___5 = 628,\n\tQSPI1_SPCLK_MARK___11 = 629,\n\tAVB0_RD2_MARK___5 = 630,\n\tQSPI0_SSL_MARK___11 = 631,\n\tAVB0_RD1_MARK___5 = 632,\n\tQSPI0_IO3_MARK___11 = 633,\n\tAVB0_RD0_MARK___5 = 634,\n\tQSPI0_IO2_MARK___11 = 635,\n\tAVB0_RXC_MARK___5 = 636,\n\tQSPI0_MISO_IO1_MARK___11 = 637,\n\tAVB0_RX_CTL_MARK___5 = 638,\n\tQSPI0_MOSI_IO0_MARK___11 = 639,\n\tQSPI0_SPCLK_MARK___11 = 640,\n\tIP0_3_0_MARK___7 = 641,\n\tDU_DR2_MARK___8 = 642,\n\tHSCK0_MARK___9 = 643,\n\tA0_MARK___7 = 644,\n\tIP1_3_0_MARK___7 = 645,\n\tDU_DG4_MARK___8 = 646,\n\tA8_MARK___7 = 647,\n\tFSO_CFE_0_N_A_MARK___3 = 648,\n\tIP2_3_0_MARK___7 = 649,\n\tDU_DB6_MARK___8 = 650,\n\tA16_MARK___7 = 651,\n\tFXR_TXENB_N_MARK___3 = 652,\n\tIP3_3_0_MARK___7 = 653,\n\tVI0_CLKENB_MARK___2 = 654,\n\tMSIOF2_RXD_MARK___7 = 655,\n\tRX3_MARK___4 = 656,\n\tRD_WR_N_MARK___7 = 657,\n\tHCTS3_N_MARK___8 = 658,\n\tIP0_7_4_MARK___7 = 659,\n\tDU_DR3_MARK___8 = 660,\n\tHRTS0_N_MARK___9 = 661,\n\tA1_MARK___7 = 662,\n\tIP1_7_4_MARK___7 = 663,\n\tDU_DG5_MARK___8 = 664,\n\tA9_MARK___7 = 665,\n\tFSO_CFE_1_N_A_MARK___3 = 666,\n\tIP2_7_4_MARK___7 = 667,\n\tDU_DB7_MARK___8 = 668,\n\tA17_MARK___7 = 669,\n\tIP3_7_4_MARK___7 = 670,\n\tVI0_HSYNC_N_MARK___2 = 671,\n\tMSIOF2_TXD_MARK___7 = 672,\n\tTX3_MARK___4 = 673,\n\tHRTS3_N_MARK___8 = 674,\n\tIP0_11_8_MARK___7 = 675,\n\tDU_DR4_MARK___8 = 676,\n\tHCTS0_N_MARK___9 = 677,\n\tA2_MARK___7 = 678,\n\tIP1_11_8_MARK___7 = 679,\n\tDU_DG6_MARK___8 = 680,\n\tA10_MARK___7 = 681,\n\tFSO_TOE_N_A_MARK___3 = 682,\n\tIP2_11_8_MARK___7 = 683,\n\tDU_DOTCLKOUT_MARK___3 = 684,\n\tSCIF_CLK_A_MARK___6 = 685,\n\tA18_MARK___7 = 686,\n\tIP3_11_8_MARK___7 = 687,\n\tVI0_VSYNC_N_MARK___2 = 688,\n\tMSIOF2_SYNC_MARK___6 = 689,\n\tCTS3_N_MARK___7 = 690,\n\tHTX3_MARK___4 = 691,\n\tIP0_15_12_MARK___7 = 692,\n\tDU_DR5_MARK___8 = 693,\n\tHTX0_MARK___9 = 694,\n\tA3_MARK___7 = 695,\n\tIP1_15_12_MARK___7 = 696,\n\tDU_DG7_MARK___8 = 697,\n\tA11_MARK___7 = 698,\n\tIRQ1_MARK___8 = 699,\n\tIP2_15_12_MARK___7 = 700,\n\tDU_EXHSYNC_DU_HSYNC_MARK___5 = 701,\n\tHRX0_MARK___9 = 702,\n\tA19_MARK___7 = 703,\n\tIRQ3_MARK___8 = 704,\n\tIP3_15_12_MARK___7 = 705,\n\tVI0_DATA0_MARK___2 = 706,\n\tMSIOF2_SS1_MARK___7 = 707,\n\tRTS3_N_MARK___7 = 708,\n\tHRX3_MARK___4 = 709,\n\tIP0_19_16_MARK___7 = 710,\n\tDU_DR6_MARK___8 = 711,\n\tMSIOF3_RXD_MARK___6 = 712,\n\tA4_MARK___7 = 713,\n\tIP1_19_16_MARK___7 = 714,\n\tDU_DB2_MARK___8 = 715,\n\tA12_MARK___7 = 716,\n\tIRQ2_MARK___8 = 717,\n\tIP2_19_16_MARK___7 = 718,\n\tDU_EXVSYNC_DU_VSYNC_MARK___5 = 719,\n\tMSIOF3_SCK_MARK___6 = 720,\n\tIP3_19_16_MARK___7 = 721,\n\tVI0_DATA1_MARK___2 = 722,\n\tMSIOF2_SS2_MARK___7 = 723,\n\tSCK1_MARK___8 = 724,\n\tSPEEDIN_A_MARK___6 = 725,\n\tIP0_23_20_MARK___7 = 726,\n\tDU_DR7_MARK___8 = 727,\n\tMSIOF3_TXD_MARK___6 = 728,\n\tA5_MARK___7 = 729,\n\tIP1_23_20_MARK___7 = 730,\n\tDU_DB3_MARK___8 = 731,\n\tA13_MARK___7 = 732,\n\tFXR_CLKOUT1_MARK___2 = 733,\n\tIP2_23_20_MARK___7 = 734,\n\tDU_EXODDF_DU_ODDF_DISP_CDE_MARK___5 = 735,\n\tMSIOF3_SYNC_MARK___6 = 736,\n\tIP3_23_20_MARK___7 = 737,\n\tVI0_DATA2_MARK___2 = 738,\n\tAVB0_AVTP_PPS_MARK___4 = 739,\n\tSDA3_A_MARK___2 = 740,\n\tIP0_27_24_MARK___7 = 741,\n\tDU_DG2_MARK___8 = 742,\n\tMSIOF3_SS1_MARK___6 = 743,\n\tA6_MARK___7 = 744,\n\tIP1_27_24_MARK___7 = 745,\n\tDU_DB4_MARK___8 = 746,\n\tA14_MARK___7 = 747,\n\tFXR_CLKOUT2_MARK___2 = 748,\n\tIP2_27_24_MARK___7 = 749,\n\tIRQ0_MARK___8 = 750,\n\tIP3_27_24_MARK___7 = 751,\n\tVI0_DATA3_MARK___2 = 752,\n\tHSCK1_MARK___4 = 753,\n\tSCL3_A_MARK___2 = 754,\n\tIP0_31_28_MARK___7 = 755,\n\tDU_DG3_MARK___8 = 756,\n\tMSIOF3_SS2_MARK___6 = 757,\n\tA7_MARK___7 = 758,\n\tPWMFSW0_MARK___2 = 759,\n\tIP1_31_28_MARK___7 = 760,\n\tDU_DB5_MARK___8 = 761,\n\tA15_MARK___7 = 762,\n\tFXR_TXENA_N_MARK___3 = 763,\n\tIP2_31_28_MARK___7 = 764,\n\tVI0_CLK_MARK___2 = 765,\n\tMSIOF2_SCK_MARK___7 = 766,\n\tSCK3_MARK___7 = 767,\n\tHSCK3_MARK___7 = 768,\n\tIP3_31_28_MARK___7 = 769,\n\tVI0_DATA4_MARK___2 = 770,\n\tHRTS1_N_MARK___4 = 771,\n\tRX1_A_MARK___9 = 772,\n\tIP4_3_0_MARK___7 = 773,\n\tVI0_DATA5_MARK___2 = 774,\n\tHCTS1_N_MARK___4 = 775,\n\tTX1_A_MARK___9 = 776,\n\tIP5_3_0_MARK___7 = 777,\n\tVI1_CLK_MARK___2 = 778,\n\tMSIOF1_RXD_MARK___8 = 779,\n\tCS0_N_MARK___7 = 780,\n\tIP6_3_0_MARK___7 = 781,\n\tVI1_DATA4_MARK___2 = 782,\n\tCANFD_CLK_B_MARK___2 = 783,\n\tD7_MARK___7 = 784,\n\tMMC_D2_MARK___3 = 785,\n\tIP7_3_0_MARK___7 = 786,\n\tVI1_FIELD_MARK___2 = 787,\n\tSDA4_MARK___6 = 788,\n\tIRQ5_MARK___10 = 789,\n\tD15_MARK___7 = 790,\n\tIP4_7_4_MARK___7 = 791,\n\tVI0_DATA6_MARK___2 = 792,\n\tHTX1_MARK___4 = 793,\n\tCTS1_N_MARK___9 = 794,\n\tIP5_7_4_MARK___7 = 795,\n\tVI1_CLKENB_MARK___2 = 796,\n\tMSIOF1_TXD_MARK___8 = 797,\n\tD0_MARK___7 = 798,\n\tIP6_7_4_MARK___7 = 799,\n\tVI1_DATA5_MARK___2 = 800,\n\tSCK4_MARK___6 = 801,\n\tD8_MARK___7 = 802,\n\tMMC_D3_MARK___3 = 803,\n\tIP7_7_4_MARK___7 = 804,\n\tSCL0_MARK___10 = 805,\n\tDU_DR0_MARK___7 = 806,\n\tTPU0TO0_MARK___7 = 807,\n\tCLKOUT_MARK___7 = 808,\n\tMSIOF0_RXD_MARK___11 = 809,\n\tIP4_11_8_MARK___7 = 810,\n\tVI0_DATA7_MARK___2 = 811,\n\tHRX1_MARK___4 = 812,\n\tRTS1_N_MARK___9 = 813,\n\tIP5_11_8_MARK___7 = 814,\n\tVI1_HSYNC_N_MARK___2 = 815,\n\tMSIOF1_SCK_MARK___8 = 816,\n\tD1_MARK___7 = 817,\n\tIP6_11_8_MARK___7 = 818,\n\tVI1_DATA6_MARK___2 = 819,\n\tRX4_MARK___6 = 820,\n\tD9_MARK___7 = 821,\n\tMMC_CLK_MARK___3 = 822,\n\tIP7_11_8_MARK___7 = 823,\n\tSDA0_MARK___10 = 824,\n\tDU_DR1_MARK___7 = 825,\n\tTPU0TO1_MARK___7 = 826,\n\tBS_N_MARK___7 = 827,\n\tSCK0_MARK___9 = 828,\n\tMSIOF0_TXD_MARK___11 = 829,\n\tIP4_15_12_MARK___7 = 830,\n\tVI0_DATA8_MARK___2 = 831,\n\tHSCK2_MARK___6 = 832,\n\tPWM0_A_MARK___5 = 833,\n\tA22_MARK___2 = 834,\n\tIP5_15_12_MARK___7 = 835,\n\tVI1_VSYNC_N_MARK___2 = 836,\n\tMSIOF1_SYNC_MARK___8 = 837,\n\tD2_MARK___7 = 838,\n\tIP6_15_12_MARK___7 = 839,\n\tVI1_DATA7_MARK___2 = 840,\n\tTX4_MARK___6 = 841,\n\tD10_MARK___7 = 842,\n\tMMC_D4_MARK___7 = 843,\n\tIP7_15_12_MARK___4 = 844,\n\tSCL1_MARK___7 = 845,\n\tDU_DG0_MARK___7 = 846,\n\tTPU0TO2_MARK___7 = 847,\n\tRD_N_MARK___7 = 848,\n\tCTS0_N_MARK___10 = 849,\n\tMSIOF0_SCK_MARK___11 = 850,\n\tIP4_19_16_MARK___7 = 851,\n\tVI0_DATA9_MARK___2 = 852,\n\tHCTS2_N_MARK___6 = 853,\n\tPWM1_A_MARK___9 = 854,\n\tA23_MARK___2 = 855,\n\tFSO_CFE_0_N_B_MARK___3 = 856,\n\tIP5_19_16_MARK___7 = 857,\n\tVI1_DATA0_MARK___2 = 858,\n\tMSIOF1_SS1_MARK___8 = 859,\n\tD3_MARK___7 = 860,\n\tIP6_19_16_MARK___7 = 861,\n\tVI1_DATA8_MARK___2 = 862,\n\tCTS4_N_MARK___6 = 863,\n\tD11_MARK___7 = 864,\n\tMMC_D5_MARK___7 = 865,\n\tIP7_19_16_MARK___7 = 866,\n\tSDA1_MARK___7 = 867,\n\tDU_DG1_MARK___7 = 868,\n\tTPU0TO3_MARK___7 = 869,\n\tWE0_N_MARK___7 = 870,\n\tRTS0_N_MARK___10 = 871,\n\tMSIOF0_SYNC_MARK___11 = 872,\n\tIP4_23_20_MARK___7 = 873,\n\tVI0_DATA10_MARK___2 = 874,\n\tHRTS2_N_MARK___6 = 875,\n\tPWM2_A_MARK___8 = 876,\n\tA24_MARK___2 = 877,\n\tFSO_CFE_1_N_B_MARK___3 = 878,\n\tIP5_23_20_MARK___7 = 879,\n\tVI1_DATA1_MARK___2 = 880,\n\tMSIOF1_SS2_MARK___8 = 881,\n\tD4_MARK___7 = 882,\n\tMMC_CMD_MARK___3 = 883,\n\tIP6_23_20_MARK___7 = 884,\n\tVI1_DATA9_MARK___2 = 885,\n\tRTS4_N_MARK___6 = 886,\n\tD12_MARK___7 = 887,\n\tMMC_D6_MARK___7 = 888,\n\tSCL3_B_MARK___2 = 889,\n\tIP7_23_20_MARK___7 = 890,\n\tSCL2_MARK___6 = 891,\n\tDU_DB0_MARK___7 = 892,\n\tTCLK1_A_MARK___10 = 893,\n\tWE1_N_MARK___7 = 894,\n\tRX0_MARK___9 = 895,\n\tMSIOF0_SS1_MARK___11 = 896,\n\tIP4_27_24_MARK___7 = 897,\n\tVI0_DATA11_MARK___2 = 898,\n\tHTX2_MARK___6 = 899,\n\tPWM3_A_MARK___9 = 900,\n\tA25_MARK___2 = 901,\n\tFSO_TOE_N_B_MARK___3 = 902,\n\tIP5_27_24_MARK___7 = 903,\n\tVI1_DATA2_MARK___2 = 904,\n\tCANFD0_TX_B_MARK___5 = 905,\n\tD5_MARK___7 = 906,\n\tMMC_D0_MARK___3 = 907,\n\tIP6_27_24_MARK___7 = 908,\n\tVI1_DATA10_MARK___2 = 909,\n\tD13_MARK___7 = 910,\n\tMMC_D7_MARK___7 = 911,\n\tSDA3_B_MARK___2 = 912,\n\tIP7_27_24_MARK___7 = 913,\n\tSDA2_MARK___6 = 914,\n\tDU_DB1_MARK___7 = 915,\n\tTCLK2_A_MARK___10 = 916,\n\tEX_WAIT0_MARK___4 = 917,\n\tTX0_MARK___9 = 918,\n\tMSIOF0_SS2_MARK___11 = 919,\n\tIP4_31_28_MARK___7 = 920,\n\tVI0_FIELD_MARK___2 = 921,\n\tHRX2_MARK___6 = 922,\n\tPWM4_A_MARK___6 = 923,\n\tCS1_N_MARK___5 = 924,\n\tFSCLKST2_N_A_MARK___4 = 925,\n\tIP5_31_28_MARK___7 = 926,\n\tVI1_DATA3_MARK___2 = 927,\n\tCANFD0_RX_B_MARK___5 = 928,\n\tD6_MARK___7 = 929,\n\tMMC_D1_MARK___3 = 930,\n\tIP6_31_28_MARK___7 = 931,\n\tVI1_DATA11_MARK___2 = 932,\n\tSCL4_MARK___6 = 933,\n\tIRQ4_MARK___8 = 934,\n\tD14_MARK___7 = 935,\n\tIP7_31_28_MARK___7 = 936,\n\tAVB0_AVTP_CAPTURE_MARK___4 = 937,\n\tFSCLKST2_N_B_MARK___4 = 938,\n\tIP8_3_0_MARK___7 = 939,\n\tCANFD0_TX_A_MARK___5 = 940,\n\tFXR_TXDA_MARK___4 = 941,\n\tPWM0_B_MARK___5 = 942,\n\tDU_DISP_MARK___7 = 943,\n\tFSCLKST2_N_C_MARK = 944,\n\tIP8_7_4_MARK___7 = 945,\n\tCANFD0_RX_A_MARK___5 = 946,\n\tRXDA_EXTFXR_MARK___4 = 947,\n\tPWM1_B_MARK___9 = 948,\n\tDU_CDE_MARK___7 = 949,\n\tIP8_11_8_MARK___7 = 950,\n\tCANFD1_TX_MARK___10 = 951,\n\tFXR_TXDB_MARK___5 = 952,\n\tPWM2_B_MARK___8 = 953,\n\tTCLK1_B_MARK___10 = 954,\n\tTX1_B_MARK___9 = 955,\n\tIP8_15_12_MARK___7 = 956,\n\tCANFD1_RX_MARK___10 = 957,\n\tRXDB_EXTFXR_MARK___5 = 958,\n\tPWM3_B_MARK___9 = 959,\n\tTCLK2_B_MARK___10 = 960,\n\tRX1_B_MARK___9 = 961,\n\tIP8_19_16_MARK___7 = 962,\n\tCANFD_CLK_A_MARK___2 = 963,\n\tCLK_EXTFXR_MARK___5 = 964,\n\tPWM4_B_MARK___6 = 965,\n\tSPEEDIN_B_MARK___6 = 966,\n\tSCIF_CLK_B_MARK___6 = 967,\n\tIP8_23_20_MARK___7 = 968,\n\tDIGRF_CLKIN_MARK___2 = 969,\n\tDIGRF_CLKEN_IN_MARK___2 = 970,\n\tIP8_27_24_MARK___7 = 971,\n\tDIGRF_CLKOUT_MARK___2 = 972,\n\tDIGRF_CLKEN_OUT_MARK___2 = 973,\n\tSEL_I2C3_0_MARK___4 = 974,\n\tSEL_I2C3_1_MARK___2 = 975,\n\tSEL_HSCIF0_0_MARK___3 = 976,\n\tSEL_HSCIF0_1_MARK___3 = 977,\n\tSEL_SCIF1_0_MARK___6 = 978,\n\tSEL_SCIF1_1_MARK___6 = 979,\n\tSEL_CANFD0_0_MARK___5 = 980,\n\tSEL_CANFD0_1_MARK___5 = 981,\n\tSEL_PWM4_0_MARK___6 = 982,\n\tSEL_PWM4_1_MARK___6 = 983,\n\tSEL_PWM3_0_MARK___7 = 984,\n\tSEL_PWM3_1_MARK___7 = 985,\n\tSEL_PWM2_0_MARK___7 = 986,\n\tSEL_PWM2_1_MARK___7 = 987,\n\tSEL_PWM1_0_MARK___7 = 988,\n\tSEL_PWM1_1_MARK___7 = 989,\n\tSEL_PWM0_0_MARK___4 = 990,\n\tSEL_PWM0_1_MARK___4 = 991,\n\tSEL_RFSO_0_MARK___2 = 992,\n\tSEL_RFSO_1_MARK___2 = 993,\n\tSEL_RSP_0_MARK___2 = 994,\n\tSEL_RSP_1_MARK___2 = 995,\n\tSEL_TMU_0_MARK___2 = 996,\n\tSEL_TMU_1_MARK___2 = 997,\n\tPINMUX_MARK_END___11 = 998,\n};\n\nenum {\n\tPINMUX_TYPE_NONE = 0,\n\tPINMUX_TYPE_FUNCTION = 1,\n\tPINMUX_TYPE_GPIO = 2,\n\tPINMUX_TYPE_OUTPUT = 3,\n\tPINMUX_TYPE_INPUT = 4,\n};\n\nenum {\n\tPLAT8250_DEV_LEGACY = -1,\n\tPLAT8250_DEV_PLATFORM = 0,\n\tPLAT8250_DEV_PLATFORM1 = 1,\n\tPLAT8250_DEV_PLATFORM2 = 2,\n\tPLAT8250_DEV_FOURPORT = 3,\n\tPLAT8250_DEV_ACCENT = 4,\n\tPLAT8250_DEV_BOCA = 5,\n\tPLAT8250_DEV_EXAR_ST16C554 = 6,\n\tPLAT8250_DEV_HUB6 = 7,\n\tPLAT8250_DEV_AU1X00 = 8,\n\tPLAT8250_DEV_SM501 = 9,\n};\n\nenum {\n\tPLL_LOCK_DONE = 0,\n\tPLL_DIV_S = 1,\n\tPLL_MOD_EN = 2,\n\tPLL_SDM_EN = 3,\n\tPLL_REFIN = 4,\n\tPLL_IBIAS = 5,\n\tPLL_N = 6,\n\tPLL_NINT = 7,\n\tPLL_KINT = 8,\n\tPLL_PREDIV = 9,\n\tPLL_POSTDIV = 10,\n\tPLL_FACT_MAX = 11,\n};\n\nenum {\n\tPLL_OFF_L_VAL = 0,\n\tPLL_OFF_CAL_L_VAL = 1,\n\tPLL_OFF_ALPHA_VAL = 2,\n\tPLL_OFF_ALPHA_VAL_U = 3,\n\tPLL_OFF_USER_CTL = 4,\n\tPLL_OFF_USER_CTL_U = 5,\n\tPLL_OFF_USER_CTL_U1 = 6,\n\tPLL_OFF_CONFIG_CTL = 7,\n\tPLL_OFF_CONFIG_CTL_U = 8,\n\tPLL_OFF_CONFIG_CTL_U1 = 9,\n\tPLL_OFF_CONFIG_CTL_U2 = 10,\n\tPLL_OFF_TEST_CTL = 11,\n\tPLL_OFF_TEST_CTL_U = 12,\n\tPLL_OFF_TEST_CTL_U1 = 13,\n\tPLL_OFF_TEST_CTL_U2 = 14,\n\tPLL_OFF_TEST_CTL_U3 = 15,\n\tPLL_OFF_STATE = 16,\n\tPLL_OFF_STATUS = 17,\n\tPLL_OFF_OPMODE = 18,\n\tPLL_OFF_FRAC = 19,\n\tPLL_OFF_CAL_VAL = 20,\n\tPLL_OFF_MAX_REGS = 21,\n};\n\nenum {\n\tPOOL_BITS = 256,\n\tPOOL_READY_BITS = 256,\n\tPOOL_EARLY_BITS = 128,\n};\n\nenum {\n\tPORT_TYPE_SAS = 2,\n\tPORT_TYPE_SATA = 1,\n};\n\nenum {\n\tPOWERCAP_FC_CAP = 0,\n\tPOWERCAP_FC_PAI = 1,\n\tPOWERCAP_FC_MAX = 2,\n};\n\nenum {\n\tPOWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN = 0,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_CRITICAL = 1,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_LOW = 2,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_NORMAL = 3,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_HIGH = 4,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_FULL = 5,\n};\n\nenum {\n\tPOWER_SUPPLY_HEALTH_UNKNOWN = 0,\n\tPOWER_SUPPLY_HEALTH_GOOD = 1,\n\tPOWER_SUPPLY_HEALTH_OVERHEAT = 2,\n\tPOWER_SUPPLY_HEALTH_DEAD = 3,\n\tPOWER_SUPPLY_HEALTH_OVERVOLTAGE = 4,\n\tPOWER_SUPPLY_HEALTH_UNDERVOLTAGE = 5,\n\tPOWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 6,\n\tPOWER_SUPPLY_HEALTH_COLD = 7,\n\tPOWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 8,\n\tPOWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 9,\n\tPOWER_SUPPLY_HEALTH_OVERCURRENT = 10,\n\tPOWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED = 11,\n\tPOWER_SUPPLY_HEALTH_WARM = 12,\n\tPOWER_SUPPLY_HEALTH_COOL = 13,\n\tPOWER_SUPPLY_HEALTH_HOT = 14,\n\tPOWER_SUPPLY_HEALTH_NO_BATTERY = 15,\n};\n\nenum {\n\tPOWER_SUPPLY_SCOPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_SCOPE_SYSTEM = 1,\n\tPOWER_SUPPLY_SCOPE_DEVICE = 2,\n};\n\nenum {\n\tPOWER_SUPPLY_STATUS_UNKNOWN = 0,\n\tPOWER_SUPPLY_STATUS_CHARGING = 1,\n\tPOWER_SUPPLY_STATUS_DISCHARGING = 2,\n\tPOWER_SUPPLY_STATUS_NOT_CHARGING = 3,\n\tPOWER_SUPPLY_STATUS_FULL = 4,\n};\n\nenum {\n\tPOWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0,\n\tPOWER_SUPPLY_TECHNOLOGY_NiMH = 1,\n\tPOWER_SUPPLY_TECHNOLOGY_LION = 2,\n\tPOWER_SUPPLY_TECHNOLOGY_LIPO = 3,\n\tPOWER_SUPPLY_TECHNOLOGY_LiFe = 4,\n\tPOWER_SUPPLY_TECHNOLOGY_NiCd = 5,\n\tPOWER_SUPPLY_TECHNOLOGY_LiMn = 6,\n};\n\nenum {\n\tPREF_UNIT_OP_ON = 8,\n\tPREF_UNIT_OP_OFF = 4,\n\tPREF_UNIT_RST_CLR = 2,\n\tPREF_UNIT_RST_SET = 1,\n};\n\nenum {\n\tPROC_ENTRY_PERMANENT = 1,\n\tPROC_ENTRY_proc_read_iter = 2,\n\tPROC_ENTRY_proc_compat_ioctl = 4,\n};\n\nenum {\n\tPROC_ROOT_INO = 1,\n\tPROC_IPC_INIT_INO = 4026531839,\n\tPROC_UTS_INIT_INO = 4026531838,\n\tPROC_USER_INIT_INO = 4026531837,\n\tPROC_PID_INIT_INO = 4026531836,\n\tPROC_CGROUP_INIT_INO = 4026531835,\n\tPROC_TIME_INIT_INO = 4026531834,\n};\n\nenum {\n\tPSM_CONFIG_REG4_TIMER_PHY_LINK_DETECT_MSK = 240,\n\tPSM_CONFIG_REG4_TIMER_PHY_LINK_DETECT_BASE = 4,\n\tPSM_CONFIG_REG4_DEBUG_TIMER = 2,\n\tPSM_CONFIG_REG4_RST_PHY_LINK_DETECT = 1,\n};\n\nenum {\n\tPULS_NO_STR = 0,\n\tPULS_21MS = 1,\n\tPULS_42MS = 2,\n\tPULS_84MS = 3,\n\tPULS_170MS = 4,\n\tPULS_340MS = 5,\n\tPULS_670MS = 6,\n\tPULS_1300MS = 7,\n};\n\nenum {\n\tPWMF_REQUESTED = 0,\n\tPWMF_EXPORTED = 1,\n};\n\nenum {\n\tPWR_DESC_ANY = 0,\n\tPWR_DESC_PWM = 1,\n\tPWR_DESC_HS = 2,\n\tPWR_DESC_SER_A = 1,\n\tPWR_DESC_SER_B = 2,\n\tPWR_DESC_G1 = 1,\n\tPWR_DESC_G2 = 2,\n\tPWR_DESC_G3 = 3,\n\tMD_MASK = 3,\n\tSR_MASK = 3,\n\tGR_MASK = 7,\n};\n\nenum {\n\tPWR_OK = 0,\n\tPWR_LOCAL = 1,\n\tPWR_REMOTE = 2,\n\tPWR_BUSY = 3,\n\tPWR_ERROR_CAP = 4,\n\tPWR_FATAL_ERROR = 5,\n};\n\nenum {\n\tP_AUD_REF_CLK = 0,\n\tP_BI_TCXO = 1,\n\tP_GPLL0_OUT_EVEN = 2,\n\tP_GPLL0_OUT_MAIN = 3,\n\tP_GPLL1_OUT_MAIN = 4,\n\tP_GPLL2_OUT_MAIN = 5,\n\tP_GPLL4_OUT_MAIN = 6,\n\tP_GPLL5_OUT_MAIN = 7,\n\tP_GPLL7_OUT_MAIN = 8,\n\tP_GPLL9_OUT_MAIN = 9,\n\tP_SLEEP_CLK = 10,\n};\n\nenum {\n\tP_AUD_REF_CLK___2 = 0,\n\tP_GPLL0_OUT_MAIN___2 = 1,\n\tP_GPLL4_OUT_MAIN___2 = 2,\n\tP_PLL0_EARLY_DIV_CLK_SRC = 3,\n\tP_SLEEP_CLK___2 = 4,\n\tP_XO = 5,\n};\n\nenum {\n\tP_BI_TCXO___2 = 0,\n\tP_GCC_GPLL0_OUT_EVEN = 1,\n\tP_GCC_GPLL0_OUT_MAIN = 2,\n\tP_GCC_GPLL4_OUT_MAIN = 3,\n\tP_GCC_GPLL7_OUT_MAIN = 4,\n\tP_GCC_GPLL9_OUT_MAIN = 5,\n\tP_PCIE_0_PIPE_CLK = 6,\n\tP_PCIE_1_PHY_AUX_CLK = 7,\n\tP_PCIE_1_PIPE_CLK = 8,\n\tP_SLEEP_CLK___3 = 9,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK = 10,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK = 11,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK = 12,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK = 13,\n};\n\nenum {\n\tP_BI_TCXO___3 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___2 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___2 = 2,\n\tP_GCC_GPLL1_OUT_MAIN = 3,\n\tP_GCC_GPLL4_OUT_MAIN___2 = 4,\n\tP_GCC_GPLL7_OUT_MAIN___2 = 5,\n\tP_GCC_GPLL9_OUT_MAIN___2 = 6,\n\tP_PCIE_0_PIPE_CLK___2 = 7,\n\tP_PCIE_1_PIPE_CLK___2 = 8,\n\tP_PCIE_PHY_AUX_CLK = 9,\n\tP_RXC0_REF_CLK = 10,\n\tP_SLEEP_CLK___4 = 11,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___2 = 12,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___2 = 13,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___2 = 14,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PRIM_PIPE_CLK = 15,\n};\n\nenum {\n\tP_BI_TCXO___4 = 0,\n\tP_AUD_REF_CLK___3 = 1,\n\tP_GPLL0_OUT_EVEN___2 = 2,\n\tP_GPLL0_OUT_MAIN___3 = 3,\n\tP_GPLL4_OUT_MAIN___3 = 4,\n\tP_GPLL6_OUT_MAIN = 5,\n\tP_SLEEP_CLK___5 = 6,\n};\n\nenum {\n\tP_BI_TCXO___5 = 0,\n\tP_AUD_REF_CLK___4 = 1,\n\tP_GPLL0_OUT_EVEN___3 = 2,\n\tP_GPLL0_OUT_MAIN___4 = 3,\n\tP_GPLL4_OUT_MAIN___4 = 4,\n\tP_GPLL9_OUT_MAIN___2 = 5,\n\tP_SLEEP_CLK___6 = 6,\n};\n\nenum {\n\tP_BI_TCXO___6 = 0,\n\tP_AUD_REF_CLK___5 = 1,\n\tP_GPLL0_OUT_EVEN___4 = 2,\n\tP_GPLL0_OUT_MAIN___5 = 3,\n\tP_GPLL7_OUT_MAIN___2 = 4,\n\tP_GPLL9_OUT_MAIN___3 = 5,\n\tP_SLEEP_CLK___7 = 6,\n};\n\nenum {\n\tP_BI_TCXO___7 = 0,\n\tP_VIDEO_PLL0_OUT_MAIN = 1,\n};\n\nenum {\n\tP_BI_TCXO___8 = 0,\n\tP_EMAC0_SGMIIPHY_MAC_RCLK = 1,\n\tP_EMAC0_SGMIIPHY_MAC_TCLK = 2,\n\tP_EMAC0_SGMIIPHY_RCLK = 3,\n\tP_EMAC0_SGMIIPHY_TCLK = 4,\n\tP_EMAC1_SGMIIPHY_MAC_RCLK = 5,\n\tP_EMAC1_SGMIIPHY_MAC_TCLK = 6,\n\tP_EMAC1_SGMIIPHY_RCLK = 7,\n\tP_EMAC1_SGMIIPHY_TCLK = 8,\n\tP_GPLL0_OUT_EVEN___5 = 9,\n\tP_GPLL0_OUT_MAIN___6 = 10,\n\tP_GPLL4_OUT_MAIN___5 = 11,\n\tP_GPLL5_OUT_MAIN___2 = 12,\n\tP_GPLL6_OUT_MAIN___2 = 13,\n\tP_GPLL8_OUT_MAIN = 14,\n\tP_PCIE20_PHY_AUX_CLK = 15,\n\tP_PCIE_1_PIPE_CLK___3 = 16,\n\tP_PCIE_2_PIPE_CLK = 17,\n\tP_PCIE_PIPE_CLK = 18,\n\tP_SLEEP_CLK___8 = 19,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___2 = 20,\n};\n\nenum {\n\tP_BI_TCXO___9 = 0,\n\tP_GPLL0_OUT_EVEN___6 = 1,\n\tP_GPLL0_OUT_MAIN___7 = 2,\n\tP_GPLL1_OUT_MAIN___2 = 3,\n\tP_GPLL4_OUT_MAIN___6 = 4,\n\tP_GPLL6_OUT_MAIN___3 = 5,\n\tP_GPLL7_OUT_MAIN___3 = 6,\n\tP_SLEEP_CLK___9 = 7,\n};\n\nenum {\n\tP_BI_TCXO___10 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___3 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___3 = 2,\n\tP_GCC_GPLL0_OUT_ODD = 3,\n\tP_GCC_GPLL1_OUT_MAIN___2 = 4,\n\tP_GCC_GPLL3_OUT_MAIN = 5,\n\tP_GCC_GPLL4_OUT_MAIN___3 = 6,\n\tP_GCC_GPLL9_OUT_MAIN___3 = 7,\n\tP_GCC_GPLL10_OUT_MAIN = 8,\n\tP_SLEEP_CLK___10 = 9,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___3 = 10,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___3 = 11,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___3 = 12,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___3 = 13,\n};\n\nenum {\n\tP_BI_TCXO___11 = 0,\n\tP_GPLL0_OUT_MAIN___8 = 1,\n\tP_GPLL0_OUT_MAIN_DIV = 2,\n\tP_GPU_CC_PLL0_OUT_MAIN = 3,\n\tP_GPU_CC_PLL1_OUT_MAIN = 4,\n};\n\nenum {\n\tP_BI_TCXO___12 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___4 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___4 = 2,\n\tP_GCC_GPLL1_OUT_MAIN___3 = 3,\n\tP_GCC_GPLL2_OUT_MAIN = 4,\n\tP_GCC_GPLL3_OUT_MAIN___2 = 5,\n\tP_GCC_GPLL4_OUT_MAIN___4 = 6,\n\tP_GCC_GPLL5_OUT_MAIN = 7,\n\tP_GCC_GPLL6_OUT_MAIN = 8,\n\tP_GCC_GPLL7_OUT_MAIN___3 = 9,\n\tP_GCC_GPLL8_OUT_MAIN = 10,\n\tP_PCIE_0_PHY_AUX_CLK = 11,\n\tP_PCIE_0_PIPE_CLK___3 = 12,\n\tP_SLEEP_CLK___11 = 13,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___4 = 14,\n};\n\nenum {\n\tP_BI_TCXO___13 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___5 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___5 = 2,\n\tP_GCC_GPLL2_OUT_MAIN___2 = 3,\n\tP_GCC_GPLL4_OUT_MAIN___5 = 4,\n\tP_GCC_GPLL7_OUT_MAIN___4 = 5,\n\tP_GCC_GPLL8_OUT_MAIN___2 = 6,\n\tP_GCC_GPLL9_OUT_MAIN___4 = 7,\n\tP_GCC_USB3_PRIM_PHY_PIPE_CLK_SRC = 8,\n\tP_GCC_USB3_SEC_PHY_PIPE_CLK_SRC = 9,\n\tP_GCC_USB4_1_PHY_DP_GMUX_CLK_SRC = 10,\n\tP_GCC_USB4_1_PHY_PCIE_PIPE_CLK_SRC = 11,\n\tP_GCC_USB4_1_PHY_PCIE_PIPEGMUX_CLK_SRC = 12,\n\tP_GCC_USB4_1_PHY_PIPEGMUX_CLK_SRC = 13,\n\tP_GCC_USB4_1_PHY_SYS_PIPEGMUX_CLK_SRC = 14,\n\tP_GCC_USB4_PHY_DP_GMUX_CLK_SRC = 15,\n\tP_GCC_USB4_PHY_PCIE_PIPE_CLK_SRC = 16,\n\tP_GCC_USB4_PHY_PCIE_PIPEGMUX_CLK_SRC = 17,\n\tP_GCC_USB4_PHY_PIPEGMUX_CLK_SRC = 18,\n\tP_GCC_USB4_PHY_SYS_PIPEGMUX_CLK_SRC = 19,\n\tP_QUSB4PHY_1_GCC_USB4_RX0_CLK = 20,\n\tP_QUSB4PHY_1_GCC_USB4_RX1_CLK = 21,\n\tP_QUSB4PHY_GCC_USB4_RX0_CLK = 22,\n\tP_QUSB4PHY_GCC_USB4_RX1_CLK = 23,\n\tP_RXC0_REF_CLK___2 = 24,\n\tP_RXC1_REF_CLK = 25,\n\tP_SLEEP_CLK___12 = 26,\n\tP_UFS_CARD_RX_SYMBOL_0_CLK = 27,\n\tP_UFS_CARD_RX_SYMBOL_1_CLK = 28,\n\tP_UFS_CARD_TX_SYMBOL_0_CLK = 29,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___4 = 30,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___4 = 31,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___4 = 32,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___5 = 33,\n\tP_USB3_UNI_PHY_MP_GCC_USB30_PIPE_0_CLK = 34,\n\tP_USB3_UNI_PHY_MP_GCC_USB30_PIPE_1_CLK = 35,\n\tP_USB3_UNI_PHY_SEC_GCC_USB30_PIPE_CLK = 36,\n\tP_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK = 37,\n\tP_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK = 38,\n\tP_USB4_PHY_GCC_USB4_PCIE_PIPE_CLK = 39,\n\tP_USB4_PHY_GCC_USB4RTR_MAX_PIPE_CLK = 40,\n};\n\nenum {\n\tP_BI_TCXO___14 = 0,\n\tP_GPLL0_OUT_AUX2_DIV = 1,\n\tP_GPLL0_OUT_MAIN___9 = 2,\n\tP_GPLL3_OUT_MAIN = 3,\n\tP_GPLL3_OUT_MAIN_DIV = 4,\n\tP_GPLL4_OUT_MAIN___7 = 5,\n\tP_GPLL6_OUT_MAIN___4 = 6,\n\tP_GPLL7_OUT_MAIN___4 = 7,\n\tP_GPLL8_OUT_MAIN___2 = 8,\n\tP_SLEEP_CLK___13 = 9,\n};\n\nenum {\n\tP_BI_TCXO___15 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___6 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___6 = 2,\n\tP_GCC_GPLL1_OUT_MAIN___4 = 3,\n\tP_GCC_GPLL4_OUT_MAIN___6 = 4,\n\tP_GCC_GPLL7_OUT_MAIN___5 = 5,\n\tP_GCC_GPLL9_OUT_MAIN___5 = 6,\n\tP_PCIE_0_PIPE_CLK___4 = 7,\n\tP_SLEEP_CLK___14 = 8,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___5 = 9,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___5 = 10,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___5 = 11,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___6 = 12,\n};\n\nenum {\n\tP_BI_TCXO___16 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___7 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___7 = 2,\n\tP_GCC_GPLL0_OUT_ODD___2 = 3,\n\tP_GCC_GPLL10_OUT_MAIN___2 = 4,\n\tP_GCC_GPLL4_OUT_MAIN___7 = 5,\n\tP_GCC_GPLL9_OUT_MAIN___6 = 6,\n\tP_PCIE_0_PIPE_CLK___5 = 7,\n\tP_PCIE_1_PIPE_CLK___4 = 8,\n\tP_SLEEP_CLK___15 = 9,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___6 = 10,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___6 = 11,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___6 = 12,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___7 = 13,\n\tP_GCC_MSS_GPLL0_MAIN_DIV_CLK = 14,\n};\n\nenum {\n\tP_BI_TCXO___17 = 0,\n\tP_DISP_CC_PLL0_OUT_MAIN = 1,\n\tP_DISP_CC_PLL1_OUT_EVEN = 2,\n\tP_DISP_CC_PLL1_OUT_MAIN = 3,\n\tP_DP_PHY_PLL_LINK_CLK = 4,\n\tP_DP_PHY_PLL_VCO_DIV_CLK = 5,\n\tP_DPTX1_PHY_PLL_LINK_CLK = 6,\n\tP_DPTX1_PHY_PLL_VCO_DIV_CLK = 7,\n\tP_DPTX2_PHY_PLL_LINK_CLK = 8,\n\tP_DPTX2_PHY_PLL_VCO_DIV_CLK = 9,\n\tP_EDP_PHY_PLL_LINK_CLK = 10,\n\tP_EDP_PHY_PLL_VCO_DIV_CLK = 11,\n\tP_DSI0_PHY_PLL_OUT_BYTECLK = 12,\n\tP_DSI0_PHY_PLL_OUT_DSICLK = 13,\n\tP_DSI1_PHY_PLL_OUT_BYTECLK = 14,\n\tP_DSI1_PHY_PLL_OUT_DSICLK = 15,\n};\n\nenum {\n\tP_BI_TCXO___18 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___8 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___8 = 2,\n\tP_GCC_GPLL1_OUT_MAIN___5 = 3,\n\tP_GCC_GPLL4_OUT_MAIN___8 = 4,\n\tP_GCC_GPLL5_OUT_MAIN___2 = 5,\n\tP_GCC_GPLL7_OUT_MAIN___6 = 6,\n\tP_GCC_GPLL9_OUT_MAIN___7 = 7,\n\tP_PCIE_0_PIPE_CLK___6 = 8,\n\tP_PCIE_1_PIPE_CLK___5 = 9,\n\tP_PCIE_PHY_AUX_CLK___2 = 10,\n\tP_RXC0_REF_CLK___3 = 11,\n\tP_RXC1_REF_CLK___2 = 12,\n\tP_SLEEP_CLK___16 = 13,\n\tP_UFS_CARD_RX_SYMBOL_0_CLK___2 = 14,\n\tP_UFS_CARD_RX_SYMBOL_1_CLK___2 = 15,\n\tP_UFS_CARD_TX_SYMBOL_0_CLK___2 = 16,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___7 = 17,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___7 = 18,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___7 = 19,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PRIM_PIPE_CLK___2 = 20,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_SEC_PIPE_CLK = 21,\n};\n\nenum {\n\tP_BI_TCXO___19 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___9 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___9 = 2,\n\tP_GCC_GPLL1_OUT_MAIN___6 = 3,\n\tP_GCC_GPLL3_OUT_MAIN___3 = 4,\n\tP_GCC_GPLL4_OUT_MAIN___9 = 5,\n\tP_GCC_GPLL6_OUT_MAIN___2 = 6,\n\tP_GCC_GPLL7_OUT_MAIN___7 = 7,\n\tP_GCC_GPLL9_OUT_MAIN___8 = 8,\n\tP_PCIE_0_PIPE_CLK___7 = 9,\n\tP_PCIE_1_PHY_AUX_CLK___2 = 10,\n\tP_PCIE_1_PIPE_CLK___6 = 11,\n\tP_SLEEP_CLK___17 = 12,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___8 = 13,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___8 = 14,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___8 = 15,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___8 = 16,\n};\n\nenum {\n\tP_BI_TCXO___20 = 0,\n\tP_DISP_CC_PLL0_OUT_MAIN___2 = 1,\n\tP_DSI0_PHY_PLL_OUT_BYTECLK___2 = 2,\n\tP_DSI0_PHY_PLL_OUT_DSICLK___2 = 3,\n\tP_DSI1_PHY_PLL_OUT_BYTECLK___2 = 4,\n\tP_DSI1_PHY_PLL_OUT_DSICLK___2 = 5,\n\tP_GPLL0_OUT_MAIN___10 = 6,\n\tP_GPLL0_OUT_MAIN_DIV___2 = 7,\n\tP_DP_PHY_PLL_LINK_CLK___2 = 8,\n\tP_DP_PHY_PLL_VCO_DIV_CLK___2 = 9,\n};\n\nenum {\n\tP_BI_TCXO___21 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___10 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___10 = 2,\n\tP_SM8475_GCC_GPLL2_OUT_EVEN = 3,\n\tP_SM8475_GCC_GPLL3_OUT_EVEN = 4,\n\tP_GCC_GPLL4_OUT_MAIN___10 = 5,\n\tP_GCC_GPLL9_OUT_MAIN___9 = 6,\n\tP_PCIE_1_PHY_AUX_CLK___3 = 7,\n\tP_SLEEP_CLK___18 = 8,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___9 = 9,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___9 = 10,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___9 = 11,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___9 = 12,\n};\n\nenum {\n\tP_BI_TCXO___22 = 0,\n\tP_GPLL0_OUT_AUX2 = 1,\n\tP_GPLL0_OUT_EARLY = 2,\n\tP_GPLL10_OUT_MAIN = 3,\n\tP_GPLL11_OUT_MAIN = 4,\n\tP_GPLL3_OUT_EARLY = 5,\n\tP_GPLL4_OUT_MAIN___8 = 6,\n\tP_GPLL6_OUT_EARLY = 7,\n\tP_GPLL6_OUT_MAIN___5 = 8,\n\tP_GPLL7_OUT_MAIN___5 = 9,\n\tP_GPLL8_OUT_EARLY = 10,\n\tP_GPLL8_OUT_MAIN___3 = 11,\n\tP_GPLL9_OUT_EARLY = 12,\n\tP_GPLL9_OUT_MAIN___4 = 13,\n\tP_SLEEP_CLK___19 = 14,\n};\n\nenum {\n\tP_BI_TCXO___23 = 0,\n\tP_GPLL0_OUT_AUX2___2 = 1,\n\tP_GPLL0_OUT_EARLY___2 = 2,\n\tP_GPLL10_OUT_MAIN___2 = 3,\n\tP_GPLL11_OUT_AUX = 4,\n\tP_GPLL11_OUT_AUX2 = 5,\n\tP_GPLL11_OUT_MAIN___2 = 6,\n\tP_GPLL3_OUT_EARLY___2 = 7,\n\tP_GPLL3_OUT_MAIN___2 = 8,\n\tP_GPLL4_OUT_MAIN___9 = 9,\n\tP_GPLL5_OUT_MAIN___3 = 10,\n\tP_GPLL6_OUT_EARLY___2 = 11,\n\tP_GPLL6_OUT_MAIN___6 = 12,\n\tP_GPLL7_OUT_MAIN___6 = 13,\n\tP_GPLL8_OUT_EARLY___2 = 14,\n\tP_GPLL8_OUT_MAIN___4 = 15,\n\tP_GPLL9_OUT_EARLY___2 = 16,\n\tP_GPLL9_OUT_MAIN___5 = 17,\n\tP_SLEEP_CLK___20 = 18,\n};\n\nenum {\n\tP_BI_TCXO___24 = 0,\n\tP_VIDEO_PLL0_OUT_MAIN___2 = 1,\n\tP_VIDEO_PLL1_OUT_MAIN = 2,\n};\n\nenum {\n\tP_BI_TCXO___25 = 0,\n\tP_GPLL0_OUT_MAIN___11 = 1,\n\tP_GPLL0_OUT_MAIN_DIV___3 = 2,\n\tP_GPU_CC_PLL1_OUT_MAIN___2 = 3,\n};\n\nenum {\n\tP_BI_TCXO___26 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___11 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___11 = 2,\n\tP_GCC_GPLL4_OUT_MAIN___11 = 3,\n\tP_GCC_GPLL9_OUT_MAIN___10 = 4,\n\tP_PCIE_0_PIPE_CLK___8 = 5,\n\tP_PCIE_1_PIPE_CLK___7 = 6,\n\tP_SLEEP_CLK___21 = 7,\n\tP_UFS_CARD_RX_SYMBOL_0_CLK___3 = 8,\n\tP_UFS_CARD_RX_SYMBOL_1_CLK___3 = 9,\n\tP_UFS_CARD_TX_SYMBOL_0_CLK___3 = 10,\n\tP_UFS_PHY_RX_SYMBOL_0_CLK___10 = 11,\n\tP_UFS_PHY_RX_SYMBOL_1_CLK___10 = 12,\n\tP_UFS_PHY_TX_SYMBOL_0_CLK___10 = 13,\n\tP_USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK___10 = 14,\n\tP_USB3_UNI_PHY_SEC_GCC_USB30_PIPE_CLK___2 = 15,\n};\n\nenum {\n\tP_BI_TCXO___27 = 0,\n\tP_GCC_GPLL0_OUT_EVEN___12 = 1,\n\tP_GCC_GPLL0_OUT_MAIN___12 = 2,\n\tP_GCC_GPLL4_OUT_MAIN___12 = 3,\n\tP_GCC_GPLL7_OUT_MAIN___8 = 4,\n\tP_GCC_GPLL8_OUT_MAIN___3 = 5,\n\tP_GCC_GPLL9_OUT_MAIN___11 = 6,\n\tP_SLEEP_CLK___22 = 7,\n\tP_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE_CLK = 8,\n\tP_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE_CLK = 9,\n\tP_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE_CLK = 10,\n};\n\nenum {\n\tP_DSI0_PHY_PLL_OUT_BYTECLK___3 = 0,\n\tP_DSI0_PHY_PLL_OUT_DSICLK___3 = 1,\n\tP_GPLL0_OUT_MAIN___12 = 2,\n\tP_GPLL1_OUT_MAIN___3 = 3,\n\tP_GPLL3_OUT_MAIN___3 = 4,\n\tP_GPLL4_OUT_MAIN___10 = 5,\n\tP_GPLL6_OUT_AUX = 6,\n\tP_HDMI_PHY_PLL_CLK = 7,\n\tP_PCIE_0_PIPE_CLK___9 = 8,\n\tP_SLEEP_CLK___23 = 9,\n\tP_XO___2 = 10,\n};\n\nenum {\n\tP_PCIE3X2_PIPE = 0,\n\tP_PCIE3X1_0_PIPE = 1,\n\tP_PCIE3X1_1_PIPE = 2,\n\tP_USB3PHY_0_PIPE = 3,\n\tP_CORE_BI_PLL_TEST_SE = 4,\n\tP_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC = 5,\n\tP_GPLL0_OUT_AUX = 6,\n\tP_GPLL0_OUT_MAIN___13 = 7,\n\tP_GPLL2_OUT_AUX = 8,\n\tP_GPLL2_OUT_MAIN___2 = 9,\n\tP_GPLL4_OUT_AUX = 10,\n\tP_GPLL4_OUT_MAIN___11 = 11,\n\tP_SLEEP_CLK___24 = 12,\n\tP_XO___3 = 13,\n};\n\nenum {\n\tP_XO___4 = 0,\n\tP_GPLL0 = 1,\n\tP_GPLL4 = 2,\n};\n\nenum {\n\tP_XO___5 = 0,\n\tP_PCIE30_PHY0_PIPE = 1,\n\tP_PCIE30_PHY1_PIPE = 2,\n\tP_PCIE30_PHY2_PIPE = 3,\n\tP_PCIE30_PHY3_PIPE = 4,\n\tP_USB3PHY_0_PIPE___2 = 5,\n\tP_GPLL0___2 = 6,\n\tP_GPLL0_DIV2 = 7,\n\tP_GPLL0_OUT_AUX___2 = 8,\n\tP_GPLL2 = 9,\n\tP_GPLL4___2 = 10,\n\tP_PI_SLEEP = 11,\n\tP_BIAS_PLL_UBI_NC_CLK = 12,\n};\n\nenum {\n\tP_XO___6 = 0,\n\tP_GPLL0___3 = 1,\n\tP_APSS_PLL_EARLY = 2,\n};\n\nenum {\n\tP_XO___7 = 0,\n\tP_GPLL0___4 = 1,\n\tP_GPLL0_DIV2___2 = 2,\n\tP_GPLL2___2 = 3,\n\tP_GPLL4___3 = 4,\n\tP_GPLL6 = 5,\n\tP_SLEEP_CLK___25 = 6,\n\tP_PCIE20_PHY0_PIPE = 7,\n\tP_PCIE20_PHY1_PIPE = 8,\n\tP_USB3PHY_0_PIPE___3 = 9,\n\tP_USB3PHY_1_PIPE = 10,\n\tP_UBI32_PLL = 11,\n\tP_NSS_CRYPTO_PLL = 12,\n\tP_BIAS_PLL = 13,\n\tP_BIAS_PLL_NSS_NOC = 14,\n\tP_UNIPHY0_RX = 15,\n\tP_UNIPHY0_TX = 16,\n\tP_UNIPHY1_RX = 17,\n\tP_UNIPHY1_TX = 18,\n\tP_UNIPHY2_RX = 19,\n\tP_UNIPHY2_TX = 20,\n};\n\nenum {\n\tP_XO___8 = 0,\n\tP_GPLL0___5 = 1,\n\tP_GPLL0_AUX = 2,\n\tP_BIMC = 3,\n\tP_GPLL1 = 4,\n\tP_GPLL1_AUX = 5,\n\tP_GPLL2___3 = 6,\n\tP_GPLL2_AUX = 7,\n\tP_SLEEP_CLK___26 = 8,\n\tP_DSI0_PHYPLL_BYTE = 9,\n\tP_DSI0_PHYPLL_DSI = 10,\n\tP_EXT_PRI_I2S = 11,\n\tP_EXT_SEC_I2S = 12,\n\tP_EXT_MCLK = 13,\n};\n\nenum {\n\tP_XO___9 = 0,\n\tP_GPLL0___6 = 1,\n\tP_GPLL0_EARLY_DIV = 2,\n\tP_SLEEP_CLK___27 = 3,\n\tP_GPLL4___4 = 4,\n\tP_AUD_REF_CLK___6 = 5,\n};\n\nenum {\n\tP_XO___10 = 0,\n\tP_BIAS_PLL___2 = 1,\n\tP_UNIPHY0_RX___2 = 2,\n\tP_UNIPHY0_TX___2 = 3,\n\tP_UNIPHY1_RX___2 = 4,\n\tP_BIAS_PLL_NSS_NOC___2 = 5,\n\tP_UNIPHY1_TX___2 = 6,\n\tP_PCIE20_PHY0_PIPE___2 = 7,\n\tP_USB3PHY_0_PIPE___4 = 8,\n\tP_GPLL0___7 = 9,\n\tP_GPLL0_DIV2___3 = 10,\n\tP_GPLL2___4 = 11,\n\tP_GPLL4___5 = 12,\n\tP_GPLL6___2 = 13,\n\tP_SLEEP_CLK___28 = 14,\n\tP_UBI32_PLL___2 = 15,\n\tP_NSS_CRYPTO_PLL___2 = 16,\n\tP_PI_SLEEP___2 = 17,\n};\n\nenum {\n\tP_XO___11 = 0,\n\tP_CORE_PI_SLEEP_CLK = 1,\n\tP_PCIE20_PHY0_PIPE___3 = 2,\n\tP_PCIE20_PHY1_PIPE___2 = 3,\n\tP_USB3PHY_0_PIPE___5 = 4,\n\tP_GEPHY_RX = 5,\n\tP_GEPHY_TX = 6,\n\tP_UNIPHY_RX = 7,\n\tP_UNIPHY_TX = 8,\n\tP_GPLL0___8 = 9,\n\tP_GPLL0_DIV2___4 = 10,\n\tP_GPLL2___5 = 11,\n\tP_GPLL4___6 = 12,\n\tP_UBI32_PLL___3 = 13,\n};\n\nenum {\n\tQCM2290_MASTER_APPSS_PROC = 1,\n\tQCM2290_MASTER_SNOC_BIMC_RT = 2,\n\tQCM2290_MASTER_SNOC_BIMC_NRT = 3,\n\tQCM2290_MASTER_SNOC_BIMC = 4,\n\tQCM2290_MASTER_TCU_0 = 5,\n\tQCM2290_MASTER_GFX3D = 6,\n\tQCM2290_MASTER_SNOC_CNOC = 7,\n\tQCM2290_MASTER_QDSS_DAP = 8,\n\tQCM2290_MASTER_CRYPTO_CORE0 = 9,\n\tQCM2290_MASTER_SNOC_CFG = 10,\n\tQCM2290_MASTER_TIC = 11,\n\tQCM2290_MASTER_ANOC_SNOC = 12,\n\tQCM2290_MASTER_BIMC_SNOC = 13,\n\tQCM2290_MASTER_PIMEM = 14,\n\tQCM2290_MASTER_QDSS_BAM = 15,\n\tQCM2290_MASTER_QUP_0 = 16,\n\tQCM2290_MASTER_IPA = 17,\n\tQCM2290_MASTER_QDSS_ETR = 18,\n\tQCM2290_MASTER_SDCC_1 = 19,\n\tQCM2290_MASTER_SDCC_2 = 20,\n\tQCM2290_MASTER_QPIC = 21,\n\tQCM2290_MASTER_USB3_0 = 22,\n\tQCM2290_MASTER_QUP_CORE_0 = 23,\n\tQCM2290_MASTER_CAMNOC_SF = 24,\n\tQCM2290_MASTER_VIDEO_P0 = 25,\n\tQCM2290_MASTER_VIDEO_PROC = 26,\n\tQCM2290_MASTER_CAMNOC_HF = 27,\n\tQCM2290_MASTER_MDP0 = 28,\n\tQCM2290_SLAVE_EBI1 = 29,\n\tQCM2290_SLAVE_BIMC_SNOC = 30,\n\tQCM2290_SLAVE_BIMC_CFG = 31,\n\tQCM2290_SLAVE_CAMERA_NRT_THROTTLE_CFG = 32,\n\tQCM2290_SLAVE_CAMERA_RT_THROTTLE_CFG = 33,\n\tQCM2290_SLAVE_CAMERA_CFG = 34,\n\tQCM2290_SLAVE_CLK_CTL = 35,\n\tQCM2290_SLAVE_CRYPTO_0_CFG = 36,\n\tQCM2290_SLAVE_DISPLAY_CFG = 37,\n\tQCM2290_SLAVE_DISPLAY_THROTTLE_CFG = 38,\n\tQCM2290_SLAVE_GPU_CFG = 39,\n\tQCM2290_SLAVE_HWKM = 40,\n\tQCM2290_SLAVE_IMEM_CFG = 41,\n\tQCM2290_SLAVE_IPA_CFG = 42,\n\tQCM2290_SLAVE_LPASS = 43,\n\tQCM2290_SLAVE_MESSAGE_RAM = 44,\n\tQCM2290_SLAVE_PDM = 45,\n\tQCM2290_SLAVE_PIMEM_CFG = 46,\n\tQCM2290_SLAVE_PKA_WRAPPER = 47,\n\tQCM2290_SLAVE_PMIC_ARB = 48,\n\tQCM2290_SLAVE_PRNG = 49,\n\tQCM2290_SLAVE_QDSS_CFG = 50,\n\tQCM2290_SLAVE_QM_CFG = 51,\n\tQCM2290_SLAVE_QM_MPU_CFG = 52,\n\tQCM2290_SLAVE_QPIC = 53,\n\tQCM2290_SLAVE_QUP_0 = 54,\n\tQCM2290_SLAVE_SDCC_1 = 55,\n\tQCM2290_SLAVE_SDCC_2 = 56,\n\tQCM2290_SLAVE_SNOC_CFG = 57,\n\tQCM2290_SLAVE_TCSR = 58,\n\tQCM2290_SLAVE_USB3 = 59,\n\tQCM2290_SLAVE_VENUS_CFG = 60,\n\tQCM2290_SLAVE_VENUS_THROTTLE_CFG = 61,\n\tQCM2290_SLAVE_VSENSE_CTRL_CFG = 62,\n\tQCM2290_SLAVE_SERVICE_CNOC = 63,\n\tQCM2290_SLAVE_APPSS = 64,\n\tQCM2290_SLAVE_SNOC_CNOC = 65,\n\tQCM2290_SLAVE_IMEM = 66,\n\tQCM2290_SLAVE_PIMEM = 67,\n\tQCM2290_SLAVE_SNOC_BIMC = 68,\n\tQCM2290_SLAVE_SERVICE_SNOC = 69,\n\tQCM2290_SLAVE_QDSS_STM = 70,\n\tQCM2290_SLAVE_TCU = 71,\n\tQCM2290_SLAVE_ANOC_SNOC = 72,\n\tQCM2290_SLAVE_QUP_CORE_0 = 73,\n\tQCM2290_SLAVE_SNOC_BIMC_NRT = 74,\n\tQCM2290_SLAVE_SNOC_BIMC_RT = 75,\n};\n\nenum {\n\tQIF_BLIMITS_B = 0,\n\tQIF_SPACE_B = 1,\n\tQIF_ILIMITS_B = 2,\n\tQIF_INODES_B = 3,\n\tQIF_BTIME_B = 4,\n\tQIF_ITIME_B = 5,\n};\n\nenum {\n\tQUEUE_FLAG_DYING = 0,\n\tQUEUE_FLAG_NOMERGES = 1,\n\tQUEUE_FLAG_SAME_COMP = 2,\n\tQUEUE_FLAG_FAIL_IO = 3,\n\tQUEUE_FLAG_NOXMERGES = 4,\n\tQUEUE_FLAG_SAME_FORCE = 5,\n\tQUEUE_FLAG_INIT_DONE = 6,\n\tQUEUE_FLAG_STATS = 7,\n\tQUEUE_FLAG_REGISTERED = 8,\n\tQUEUE_FLAG_QUIESCED = 9,\n\tQUEUE_FLAG_RQ_ALLOC_TIME = 10,\n\tQUEUE_FLAG_HCTX_ACTIVE = 11,\n\tQUEUE_FLAG_SQ_SCHED = 12,\n\tQUEUE_FLAG_MAX = 13,\n};\n\nenum {\n\tQ_R1 = 0,\n\tQ_R2 = 128,\n\tQ_XS1 = 512,\n\tQ_XA1 = 640,\n\tQ_XS2 = 768,\n\tQ_XA2 = 896,\n};\n\nenum {\n\tQ_REQUEUE_PI_NONE = 0,\n\tQ_REQUEUE_PI_IGNORE = 1,\n\tQ_REQUEUE_PI_IN_PROGRESS = 2,\n\tQ_REQUEUE_PI_WAIT = 3,\n\tQ_REQUEUE_PI_DONE = 4,\n\tQ_REQUEUE_PI_LOCKED = 5,\n};\n\nenum {\n\tRADIX_TREE_ITER_TAG_MASK = 15,\n\tRADIX_TREE_ITER_TAGGED = 16,\n\tRADIX_TREE_ITER_CONTIG = 32,\n};\n\nenum {\n\tRB_ADD_STAMP_NONE = 0,\n\tRB_ADD_STAMP_EXTEND = 2,\n\tRB_ADD_STAMP_ABSOLUTE = 4,\n\tRB_ADD_STAMP_FORCE = 8,\n};\n\nenum {\n\tRB_CTX_TRANSITION = 0,\n\tRB_CTX_NMI = 1,\n\tRB_CTX_IRQ = 2,\n\tRB_CTX_SOFTIRQ = 3,\n\tRB_CTX_NORMAL = 4,\n\tRB_CTX_MAX = 5,\n};\n\nenum {\n\tRB_ENA_STFWD = 32,\n\tRB_DIS_STFWD = 16,\n\tRB_ENA_OP_MD = 8,\n\tRB_DIS_OP_MD = 4,\n\tRB_RST_CLR = 2,\n\tRB_RST_SET = 1,\n};\n\nenum {\n\tRB_LEN_TIME_EXTEND = 8,\n\tRB_LEN_TIME_STAMP = 8,\n};\n\nenum {\n\tRB_START = 0,\n\tRB_END = 4,\n\tRB_WP = 8,\n\tRB_RP = 12,\n\tRB_RX_UTPP = 16,\n\tRB_RX_LTPP = 20,\n\tRB_RX_UTHP = 24,\n\tRB_RX_LTHP = 28,\n\tRB_PC = 32,\n\tRB_LEV = 36,\n\tRB_CTRL = 40,\n\tRB_TST1 = 41,\n\tRB_TST2 = 42,\n};\n\nenum {\n\tRCAR_PCI_ACCESS_READ = 0,\n\tRCAR_PCI_ACCESS_WRITE = 1,\n};\n\nenum {\n\tRCD = 0,\n\tRCH_DP = 1,\n\tDEVICE = 2,\n\tLD = 3,\n\tFMLD = 4,\n\tRP = 5,\n\tDSP = 6,\n\tUSP = 7,\n};\n\nenum {\n\tREASON_BOUNDS = -1,\n\tREASON_TYPE = -2,\n\tREASON_PATHS = -3,\n\tREASON_LIMIT = -4,\n\tREASON_STACK = -5,\n};\n\nenum {\n\tREGION_INTERSECTS = 0,\n\tREGION_DISJOINT = 1,\n\tREGION_MIXED = 2,\n};\n\nenum {\n\tREGULATOR_ERROR_CLEARED = 0,\n\tREGULATOR_FAILED_RETRY = 1,\n\tREGULATOR_ERROR_ON = 2,\n};\n\nenum {\n\tREG_CONTROLLER_CAPABILITIES = 0,\n\tREG_MCQCAP = 4,\n\tREG_UFS_VERSION = 8,\n\tREG_EXT_CONTROLLER_CAPABILITIES = 12,\n\tREG_CONTROLLER_PID = 16,\n\tREG_CONTROLLER_MID = 20,\n\tREG_AUTO_HIBERNATE_IDLE_TIMER = 24,\n\tREG_INTERRUPT_STATUS = 32,\n\tREG_INTERRUPT_ENABLE = 36,\n\tREG_CONTROLLER_STATUS = 48,\n\tREG_CONTROLLER_ENABLE = 52,\n\tREG_UIC_ERROR_CODE_PHY_ADAPTER_LAYER = 56,\n\tREG_UIC_ERROR_CODE_DATA_LINK_LAYER = 60,\n\tREG_UIC_ERROR_CODE_NETWORK_LAYER = 64,\n\tREG_UIC_ERROR_CODE_TRANSPORT_LAYER = 68,\n\tREG_UIC_ERROR_CODE_DME = 72,\n\tREG_UTP_TRANSFER_REQ_INT_AGG_CONTROL = 76,\n\tREG_UTP_TRANSFER_REQ_LIST_BASE_L = 80,\n\tREG_UTP_TRANSFER_REQ_LIST_BASE_H = 84,\n\tREG_UTP_TRANSFER_REQ_DOOR_BELL = 88,\n\tREG_UTP_TRANSFER_REQ_LIST_CLEAR = 92,\n\tREG_UTP_TRANSFER_REQ_LIST_RUN_STOP = 96,\n\tREG_UTP_TASK_REQ_LIST_BASE_L = 112,\n\tREG_UTP_TASK_REQ_LIST_BASE_H = 116,\n\tREG_UTP_TASK_REQ_DOOR_BELL = 120,\n\tREG_UTP_TASK_REQ_LIST_CLEAR = 124,\n\tREG_UTP_TASK_REQ_LIST_RUN_STOP = 128,\n\tREG_UIC_COMMAND = 144,\n\tREG_UIC_COMMAND_ARG_1 = 148,\n\tREG_UIC_COMMAND_ARG_2 = 152,\n\tREG_UIC_COMMAND_ARG_3 = 156,\n\tUFSHCI_REG_SPACE_SIZE = 160,\n\tREG_UFS_CCAP = 256,\n\tREG_UFS_CRYPTOCAP = 260,\n\tREG_UFS_MEM_CFG = 768,\n\tREG_UFS_MCQ_CFG = 896,\n\tREG_UFS_ESILBA = 900,\n\tREG_UFS_ESIUBA = 904,\n\tUFSHCI_CRYPTO_REG_SPACE_SIZE = 1024,\n};\n\nenum {\n\tREG_CON_MOD_TX = 0,\n\tREG_CON_MOD_REGISTER_TX = 1,\n\tREG_CON_MOD_RX = 2,\n\tREG_CON_MOD_REGISTER_RX = 3,\n};\n\nenum {\n\tREG_CQHP = 0,\n\tREG_CQTP = 4,\n};\n\nenum {\n\tREG_CQIS = 0,\n\tREG_CQIE = 4,\n};\n\nenum {\n\tREG_DR = 0,\n\tREG_ST_DMAWM = 1,\n\tREG_ST_TIMEOUT = 2,\n\tREG_FR = 3,\n\tREG_LCRH_RX = 4,\n\tREG_LCRH_TX = 5,\n\tREG_IBRD = 6,\n\tREG_FBRD = 7,\n\tREG_CR = 8,\n\tREG_IFLS = 9,\n\tREG_IMSC = 10,\n\tREG_RIS = 11,\n\tREG_MIS = 12,\n\tREG_ICR = 13,\n\tREG_DMACR = 14,\n\tREG_ST_XFCR = 15,\n\tREG_ST_XON1 = 16,\n\tREG_ST_XON2 = 17,\n\tREG_ST_XOFF1 = 18,\n\tREG_ST_XOFF2 = 19,\n\tREG_ST_ITCR = 20,\n\tREG_ST_ITIP = 21,\n\tREG_ST_ABCR = 22,\n\tREG_ST_ABIMSC = 23,\n\tREG_ARRAY_SIZE = 24,\n};\n\nenum {\n\tREG_SQATTR = 0,\n\tREG_SQLBA = 4,\n\tREG_SQUBA = 8,\n\tREG_SQDAO = 12,\n\tREG_SQISAO = 16,\n\tREG_CQATTR = 32,\n\tREG_CQLBA = 36,\n\tREG_CQUBA = 40,\n\tREG_CQDAO = 44,\n\tREG_CQISAO = 48,\n};\n\nenum {\n\tREG_SQHP = 0,\n\tREG_SQTP = 4,\n\tREG_SQRTC = 8,\n\tREG_SQCTI = 12,\n\tREG_SQRTS = 16,\n};\n\nenum {\n\tREQUEST_ANY = 0,\n\tREQUEST_BY_ID = 1,\n\tREQUEST_BY_CAP = 2,\n\tREQUEST_BY_NODE = 3,\n};\n\nenum {\n\tREQ_FSEQ_PREFLUSH = 1,\n\tREQ_FSEQ_DATA = 2,\n\tREQ_FSEQ_POSTFLUSH = 4,\n\tREQ_FSEQ_DONE = 8,\n\tREQ_FSEQ_ACTIONS = 7,\n\tFLUSH_PENDING_TIMEOUT = 1250,\n};\n\nenum {\n\tREQ_F_FIXED_FILE = 1ULL,\n\tREQ_F_IO_DRAIN = 2ULL,\n\tREQ_F_LINK = 4ULL,\n\tREQ_F_HARDLINK = 8ULL,\n\tREQ_F_FORCE_ASYNC = 16ULL,\n\tREQ_F_BUFFER_SELECT = 32ULL,\n\tREQ_F_CQE_SKIP = 64ULL,\n\tREQ_F_FAIL = 256ULL,\n\tREQ_F_INFLIGHT = 512ULL,\n\tREQ_F_CUR_POS = 1024ULL,\n\tREQ_F_NOWAIT = 2048ULL,\n\tREQ_F_LINK_TIMEOUT = 4096ULL,\n\tREQ_F_NEED_CLEANUP = 8192ULL,\n\tREQ_F_POLLED = 16384ULL,\n\tREQ_F_IOPOLL_STATE = 32768ULL,\n\tREQ_F_BUFFER_SELECTED = 65536ULL,\n\tREQ_F_BUFFER_RING = 131072ULL,\n\tREQ_F_REISSUE = 262144ULL,\n\tREQ_F_SUPPORT_NOWAIT = 268435456ULL,\n\tREQ_F_ISREG = 536870912ULL,\n\tREQ_F_CREDS = 524288ULL,\n\tREQ_F_REFCOUNT = 1048576ULL,\n\tREQ_F_ARM_LTIMEOUT = 2097152ULL,\n\tREQ_F_ASYNC_DATA = 4194304ULL,\n\tREQ_F_SKIP_LINK_CQES = 8388608ULL,\n\tREQ_F_SINGLE_POLL = 16777216ULL,\n\tREQ_F_DOUBLE_POLL = 33554432ULL,\n\tREQ_F_APOLL_MULTISHOT = 67108864ULL,\n\tREQ_F_CLEAR_POLLIN = 134217728ULL,\n\tREQ_F_POLL_NO_LAZY = 1073741824ULL,\n\tREQ_F_CAN_POLL = 2147483648ULL,\n\tREQ_F_BL_EMPTY = 4294967296ULL,\n\tREQ_F_BL_NO_RECYCLE = 8589934592ULL,\n\tREQ_F_BUFFERS_COMMIT = 17179869184ULL,\n\tREQ_F_BUF_NODE = 34359738368ULL,\n\tREQ_F_HAS_METADATA = 68719476736ULL,\n};\n\nenum {\n\tREQ_F_FIXED_FILE_BIT = 0,\n\tREQ_F_IO_DRAIN_BIT = 1,\n\tREQ_F_LINK_BIT = 2,\n\tREQ_F_HARDLINK_BIT = 3,\n\tREQ_F_FORCE_ASYNC_BIT = 4,\n\tREQ_F_BUFFER_SELECT_BIT = 5,\n\tREQ_F_CQE_SKIP_BIT = 6,\n\tREQ_F_FAIL_BIT = 8,\n\tREQ_F_INFLIGHT_BIT = 9,\n\tREQ_F_CUR_POS_BIT = 10,\n\tREQ_F_NOWAIT_BIT = 11,\n\tREQ_F_LINK_TIMEOUT_BIT = 12,\n\tREQ_F_NEED_CLEANUP_BIT = 13,\n\tREQ_F_POLLED_BIT = 14,\n\tREQ_F_HYBRID_IOPOLL_STATE_BIT = 15,\n\tREQ_F_BUFFER_SELECTED_BIT = 16,\n\tREQ_F_BUFFER_RING_BIT = 17,\n\tREQ_F_REISSUE_BIT = 18,\n\tREQ_F_CREDS_BIT = 19,\n\tREQ_F_REFCOUNT_BIT = 20,\n\tREQ_F_ARM_LTIMEOUT_BIT = 21,\n\tREQ_F_ASYNC_DATA_BIT = 22,\n\tREQ_F_SKIP_LINK_CQES_BIT = 23,\n\tREQ_F_SINGLE_POLL_BIT = 24,\n\tREQ_F_DOUBLE_POLL_BIT = 25,\n\tREQ_F_APOLL_MULTISHOT_BIT = 26,\n\tREQ_F_CLEAR_POLLIN_BIT = 27,\n\tREQ_F_SUPPORT_NOWAIT_BIT = 28,\n\tREQ_F_ISREG_BIT = 29,\n\tREQ_F_POLL_NO_LAZY_BIT = 30,\n\tREQ_F_CAN_POLL_BIT = 31,\n\tREQ_F_BL_EMPTY_BIT = 32,\n\tREQ_F_BL_NO_RECYCLE_BIT = 33,\n\tREQ_F_BUFFERS_COMMIT_BIT = 34,\n\tREQ_F_BUF_NODE_BIT = 35,\n\tREQ_F_HAS_METADATA_BIT = 36,\n\t__REQ_F_LAST_BIT = 37,\n};\n\nenum {\n\tRES_USAGE = 0,\n\tRES_RSVD_USAGE = 1,\n\tRES_LIMIT = 2,\n\tRES_RSVD_LIMIT = 3,\n\tRES_MAX_USAGE = 4,\n\tRES_RSVD_MAX_USAGE = 5,\n\tRES_FAILCNT = 6,\n\tRES_RSVD_FAILCNT = 7,\n};\n\nenum {\n\tRI_CLR_RD_PERR = 512,\n\tRI_CLR_WR_PERR = 256,\n\tRI_RST_CLR = 2,\n\tRI_RST_SET = 1,\n};\n\nenum {\n\tRK805_BUCK1_2_ILMAX_2500MA = 0,\n\tRK805_BUCK1_2_ILMAX_3000MA = 1,\n\tRK805_BUCK1_2_ILMAX_3500MA = 2,\n\tRK805_BUCK1_2_ILMAX_4000MA = 3,\n};\n\nenum {\n\tRK805_BUCK3_ILMAX_1500MA = 0,\n\tRK805_BUCK3_ILMAX_2000MA = 1,\n\tRK805_BUCK3_ILMAX_2500MA = 2,\n\tRK805_BUCK3_ILMAX_3000MA = 3,\n};\n\nenum {\n\tRK805_BUCK4_ILMAX_2000MA = 0,\n\tRK805_BUCK4_ILMAX_2500MA = 1,\n\tRK805_BUCK4_ILMAX_3000MA = 2,\n\tRK805_BUCK4_ILMAX_3500MA = 3,\n};\n\nenum {\n\tRK805_ID = 32848,\n\tRK806_ID = 32864,\n\tRK808_ID = 0,\n\tRK809_ID = 32912,\n\tRK816_ID = 33120,\n\tRK817_ID = 33136,\n\tRK818_ID = 33152,\n};\n\nenum {\n\tRK8600_CHIP_ID_08 = 8,\n};\n\nenum {\n\tRK8602_CHIP_ID_10 = 10,\n};\n\nenum {\n\tRNG_OUTPUT_0_REG = 0,\n\tRNG_OUTPUT_1_REG = 1,\n\tRNG_OUTPUT_2_REG = 2,\n\tRNG_OUTPUT_3_REG = 3,\n\tRNG_STATUS_REG = 4,\n\tRNG_INTMASK_REG = 5,\n\tRNG_INTACK_REG = 6,\n\tRNG_CONTROL_REG = 7,\n\tRNG_CONFIG_REG = 8,\n\tRNG_ALARMCNT_REG = 9,\n\tRNG_FROENABLE_REG = 10,\n\tRNG_FRODETUNE_REG = 11,\n\tRNG_ALARMMASK_REG = 12,\n\tRNG_ALARMSTOP_REG = 13,\n\tRNG_REV_REG = 14,\n\tRNG_SYSCONFIG_REG = 15,\n};\n\nenum {\n\tRPCAUTH_info = 0,\n\tRPCAUTH_EOF = 1,\n};\n\nenum {\n\tRPCAUTH_lockd = 0,\n\tRPCAUTH_mount = 1,\n\tRPCAUTH_nfs = 2,\n\tRPCAUTH_portmap = 3,\n\tRPCAUTH_statd = 4,\n\tRPCAUTH_nfsd4_cb = 5,\n\tRPCAUTH_cache = 6,\n\tRPCAUTH_nfsd = 7,\n\tRPCAUTH_gssd = 8,\n\tRPCAUTH_RootEOF = 9,\n};\n\nenum {\n\tRPCBPROC_NULL = 0,\n\tRPCBPROC_SET = 1,\n\tRPCBPROC_UNSET = 2,\n\tRPCBPROC_GETPORT = 3,\n\tRPCBPROC_GETADDR = 3,\n\tRPCBPROC_DUMP = 4,\n\tRPCBPROC_CALLIT = 5,\n\tRPCBPROC_BCAST = 5,\n\tRPCBPROC_GETTIME = 6,\n\tRPCBPROC_UADDR2TADDR = 7,\n\tRPCBPROC_TADDR2UADDR = 8,\n\tRPCBPROC_GETVERSADDR = 9,\n\tRPCBPROC_INDIRECT = 10,\n\tRPCBPROC_GETADDRLIST = 11,\n\tRPCBPROC_GETSTAT = 12,\n};\n\nenum {\n\tRPC_PIPEFS_MOUNT = 0,\n\tRPC_PIPEFS_UMOUNT = 1,\n};\n\nenum {\n\tRPC_TASK_RUNNING = 0,\n\tRPC_TASK_QUEUED = 1,\n\tRPC_TASK_ACTIVE = 2,\n\tRPC_TASK_NEED_XMIT = 3,\n\tRPC_TASK_NEED_RECV = 4,\n\tRPC_TASK_MSG_PIN_WAIT = 5,\n};\n\nenum {\n\tRQ_SECURE = 0,\n\tRQ_LOCAL = 1,\n\tRQ_USEDEFERRAL = 2,\n\tRQ_DROPME = 3,\n\tRQ_VICTIM = 4,\n\tRQ_DATA = 5,\n};\n\nenum {\n\tRSC_DRV_TCS_OFFSET = 0,\n\tRSC_DRV_CMD_OFFSET = 1,\n\tDRV_SOLVER_CONFIG = 2,\n\tDRV_PRNT_CHLD_CONFIG = 3,\n\tRSC_DRV_IRQ_ENABLE = 4,\n\tRSC_DRV_IRQ_STATUS = 5,\n\tRSC_DRV_IRQ_CLEAR = 6,\n\tRSC_DRV_CMD_WAIT_FOR_CMPL = 7,\n\tRSC_DRV_CONTROL = 8,\n\tRSC_DRV_STATUS = 9,\n\tRSC_DRV_CMD_ENABLE = 10,\n\tRSC_DRV_CMD_MSGID = 11,\n\tRSC_DRV_CMD_ADDR = 12,\n\tRSC_DRV_CMD_DATA = 13,\n\tRSC_DRV_CMD_STATUS = 14,\n\tRSC_DRV_CMD_RESP_DATA = 15,\n};\n\nenum {\n\tRTAX_UNSPEC = 0,\n\tRTAX_LOCK = 1,\n\tRTAX_MTU = 2,\n\tRTAX_WINDOW = 3,\n\tRTAX_RTT = 4,\n\tRTAX_RTTVAR = 5,\n\tRTAX_SSTHRESH = 6,\n\tRTAX_CWND = 7,\n\tRTAX_ADVMSS = 8,\n\tRTAX_REORDERING = 9,\n\tRTAX_HOPLIMIT = 10,\n\tRTAX_INITCWND = 11,\n\tRTAX_FEATURES = 12,\n\tRTAX_RTO_MIN = 13,\n\tRTAX_INITRWND = 14,\n\tRTAX_QUICKACK = 15,\n\tRTAX_CC_ALGO = 16,\n\tRTAX_FASTOPEN_NO_COOKIE = 17,\n\t__RTAX_MAX = 18,\n};\n\nenum {\n\tRTC_SEC = 0,\n\tRTC_MIN = 1,\n\tRTC_HOUR = 2,\n\tRTC_WEEKDAY = 3,\n\tRTC_MONTH = 4,\n\tRTC_YEAR = 5,\n\tRTC_MONTHDAY = 6,\n\tRTC_NR_TIME = 7,\n};\n\nenum {\n\tRTC_SEC___2 = 0,\n\tRTC_MIN___2 = 1,\n\tRTC_HOUR___2 = 2,\n\tRTC_WEEKDAY___2 = 3,\n\tRTC_DATE = 4,\n\tRTC_MONTH___2 = 5,\n\tRTC_YEAR1 = 6,\n\tRTC_YEAR2 = 7,\n\tRTC_MAX_NUM_TIME_REGS = 8,\n};\n\nenum {\n\tRTM_BASE = 16,\n\tRTM_NEWLINK = 16,\n\tRTM_DELLINK = 17,\n\tRTM_GETLINK = 18,\n\tRTM_SETLINK = 19,\n\tRTM_NEWADDR = 20,\n\tRTM_DELADDR = 21,\n\tRTM_GETADDR = 22,\n\tRTM_NEWROUTE = 24,\n\tRTM_DELROUTE = 25,\n\tRTM_GETROUTE = 26,\n\tRTM_NEWNEIGH = 28,\n\tRTM_DELNEIGH = 29,\n\tRTM_GETNEIGH = 30,\n\tRTM_NEWRULE = 32,\n\tRTM_DELRULE = 33,\n\tRTM_GETRULE = 34,\n\tRTM_NEWQDISC = 36,\n\tRTM_DELQDISC = 37,\n\tRTM_GETQDISC = 38,\n\tRTM_NEWTCLASS = 40,\n\tRTM_DELTCLASS = 41,\n\tRTM_GETTCLASS = 42,\n\tRTM_NEWTFILTER = 44,\n\tRTM_DELTFILTER = 45,\n\tRTM_GETTFILTER = 46,\n\tRTM_NEWACTION = 48,\n\tRTM_DELACTION = 49,\n\tRTM_GETACTION = 50,\n\tRTM_NEWPREFIX = 52,\n\tRTM_NEWMULTICAST = 56,\n\tRTM_DELMULTICAST = 57,\n\tRTM_GETMULTICAST = 58,\n\tRTM_NEWANYCAST = 60,\n\tRTM_DELANYCAST = 61,\n\tRTM_GETANYCAST = 62,\n\tRTM_NEWNEIGHTBL = 64,\n\tRTM_GETNEIGHTBL = 66,\n\tRTM_SETNEIGHTBL = 67,\n\tRTM_NEWNDUSEROPT = 68,\n\tRTM_NEWADDRLABEL = 72,\n\tRTM_DELADDRLABEL = 73,\n\tRTM_GETADDRLABEL = 74,\n\tRTM_GETDCB = 78,\n\tRTM_SETDCB = 79,\n\tRTM_NEWNETCONF = 80,\n\tRTM_DELNETCONF = 81,\n\tRTM_GETNETCONF = 82,\n\tRTM_NEWMDB = 84,\n\tRTM_DELMDB = 85,\n\tRTM_GETMDB = 86,\n\tRTM_NEWNSID = 88,\n\tRTM_DELNSID = 89,\n\tRTM_GETNSID = 90,\n\tRTM_NEWSTATS = 92,\n\tRTM_GETSTATS = 94,\n\tRTM_SETSTATS = 95,\n\tRTM_NEWCACHEREPORT = 96,\n\tRTM_NEWCHAIN = 100,\n\tRTM_DELCHAIN = 101,\n\tRTM_GETCHAIN = 102,\n\tRTM_NEWNEXTHOP = 104,\n\tRTM_DELNEXTHOP = 105,\n\tRTM_GETNEXTHOP = 106,\n\tRTM_NEWLINKPROP = 108,\n\tRTM_DELLINKPROP = 109,\n\tRTM_GETLINKPROP = 110,\n\tRTM_NEWVLAN = 112,\n\tRTM_DELVLAN = 113,\n\tRTM_GETVLAN = 114,\n\tRTM_NEWNEXTHOPBUCKET = 116,\n\tRTM_DELNEXTHOPBUCKET = 117,\n\tRTM_GETNEXTHOPBUCKET = 118,\n\tRTM_NEWTUNNEL = 120,\n\tRTM_DELTUNNEL = 121,\n\tRTM_GETTUNNEL = 122,\n\t__RTM_MAX = 123,\n};\n\nenum {\n\tRTN_UNSPEC = 0,\n\tRTN_UNICAST = 1,\n\tRTN_LOCAL = 2,\n\tRTN_BROADCAST = 3,\n\tRTN_ANYCAST = 4,\n\tRTN_MULTICAST = 5,\n\tRTN_BLACKHOLE = 6,\n\tRTN_UNREACHABLE = 7,\n\tRTN_PROHIBIT = 8,\n\tRTN_THROW = 9,\n\tRTN_NAT = 10,\n\tRTN_XRESOLVE = 11,\n\t__RTN_MAX = 12,\n};\n\nenum {\n\tRX_GCLKMAC_ENA = -2147483648,\n\tRX_GCLKMAC_OFF = 1073741824,\n\tRX_STFW_DIS = 536870912,\n\tRX_STFW_ENA = 268435456,\n\tRX_TRUNC_ON = 134217728,\n\tRX_TRUNC_OFF = 67108864,\n\tRX_VLAN_STRIP_ON = 33554432,\n\tRX_VLAN_STRIP_OFF = 16777216,\n\tRX_MACSEC_FLUSH_ON = 8388608,\n\tRX_MACSEC_FLUSH_OFF = 4194304,\n\tRX_MACSEC_ASF_FLUSH_ON = 2097152,\n\tRX_MACSEC_ASF_FLUSH_OFF = 1048576,\n\tGMF_RX_OVER_ON = 524288,\n\tGMF_RX_OVER_OFF = 262144,\n\tGMF_ASF_RX_OVER_ON = 131072,\n\tGMF_ASF_RX_OVER_OFF = 65536,\n\tGMF_WP_TST_ON = 16384,\n\tGMF_WP_TST_OFF = 8192,\n\tGMF_WP_STEP = 4096,\n\tGMF_RP_TST_ON = 1024,\n\tGMF_RP_TST_OFF = 512,\n\tGMF_RP_STEP = 256,\n\tGMF_RX_F_FL_ON = 128,\n\tGMF_RX_F_FL_OFF = 64,\n\tGMF_CLI_RX_FO = 32,\n\tGMF_CLI_RX_C = 16,\n\tGMF_OPER_ON = 8,\n\tGMF_OPER_OFF = 4,\n\tGMF_RST_CLR = 2,\n\tGMF_RST_SET = 1,\n\tRX_GMF_FL_THR_DEF = 10,\n\tGMF_RX_CTRL_DEF = 136,\n};\n\nenum {\n\tRX_IPV6_SA_MOB_ENA = 512,\n\tRX_IPV6_SA_MOB_DIS = 256,\n\tRX_IPV6_DA_MOB_ENA = 128,\n\tRX_IPV6_DA_MOB_DIS = 64,\n\tRX_PTR_SYNCDLY_ENA = 32,\n\tRX_PTR_SYNCDLY_DIS = 16,\n\tRX_ASF_NEWFLAG_ENA = 8,\n\tRX_ASF_NEWFLAG_DIS = 4,\n\tRX_FLSH_MISSPKT_ENA = 2,\n\tRX_FLSH_MISSPKT_DIS = 1,\n};\n\nenum {\n\tRX_XDP_REDIRECT = 0,\n\tRX_XDP_PASS = 1,\n\tRX_XDP_DROP = 2,\n\tRX_XDP_TX = 3,\n\tRX_XDP_TX_ERRORS = 4,\n\tTX_XDP_XMIT = 5,\n\tTX_XDP_XMIT_ERRORS = 6,\n\tXDP_STATS_TOTAL = 7,\n};\n\nenum {\n\tRoot_NFS = 255,\n\tRoot_CIFS = 254,\n\tRoot_Generic = 253,\n\tRoot_RAM0 = 1048576,\n};\n\nenum {\n\tRworksched = 1,\n\tRpending = 2,\n\tWworksched = 4,\n\tWpending = 8,\n};\n\nenum {\n\tSAS_DATAPRES_NO_DATA = 0,\n\tSAS_DATAPRES_RESPONSE_DATA = 1,\n\tSAS_DATAPRES_SENSE_DATA = 2,\n};\n\nenum {\n\tSAS_DEV_GONE = 0,\n\tSAS_DEV_FOUND = 1,\n\tSAS_DEV_DESTROY = 2,\n\tSAS_DEV_EH_PENDING = 3,\n\tSAS_DEV_LU_RESET = 4,\n\tSAS_DEV_RESET = 5,\n};\n\nenum {\n\tSB_UNFROZEN = 0,\n\tSB_FREEZE_WRITE = 1,\n\tSB_FREEZE_PAGEFAULT = 2,\n\tSB_FREEZE_FS = 3,\n\tSB_FREEZE_COMPLETE = 4,\n};\n\nenum {\n\tSCIx_ERI_IRQ = 0,\n\tSCIx_RXI_IRQ = 1,\n\tSCIx_TXI_IRQ = 2,\n\tSCIx_BRI_IRQ = 3,\n\tSCIx_DRI_IRQ = 4,\n\tSCIx_TEI_IRQ = 5,\n\tSCIx_NR_IRQS = 6,\n\tSCIx_MUX_IRQ = 6,\n};\n\nenum {\n\tSCIx_PROBE_REGTYPE = 0,\n\tSCIx_SCI_REGTYPE = 1,\n\tSCIx_IRDA_REGTYPE = 2,\n\tSCIx_SCIFA_REGTYPE = 3,\n\tSCIx_SCIFB_REGTYPE = 4,\n\tSCIx_SH2_SCIF_FIFODATA_REGTYPE = 5,\n\tSCIx_SH3_SCIF_REGTYPE = 6,\n\tSCIx_SH4_SCIF_REGTYPE = 7,\n\tSCIx_SH4_SCIF_BRG_REGTYPE = 8,\n\tSCIx_SH4_SCIF_NO_SCSPTR_REGTYPE = 9,\n\tSCIx_SH4_SCIF_FIFODATA_REGTYPE = 10,\n\tSCIx_SH7705_SCIF_REGTYPE = 11,\n\tSCIx_HSCIF_REGTYPE = 12,\n\tSCIx_RZ_SCIFA_REGTYPE = 13,\n\tSCIx_RZV2H_SCIF_REGTYPE = 14,\n\tSCIx_NR_REGTYPES = 15,\n};\n\nenum {\n\tSCMI_RAW_REPLY_QUEUE = 0,\n\tSCMI_RAW_NOTIF_QUEUE = 1,\n\tSCMI_RAW_ERRS_QUEUE = 2,\n\tSCMI_RAW_MAX_QUEUE = 3,\n};\n\nenum {\n\tSCM_TSTAMP_SND = 0,\n\tSCM_TSTAMP_SCHED = 1,\n\tSCM_TSTAMP_ACK = 2,\n};\n\nenum {\n\tSCSMR = 0,\n\tSCBRR = 1,\n\tSCSCR = 2,\n\tSCxSR = 3,\n\tSCFCR = 4,\n\tSCFDR = 5,\n\tSCxTDR = 6,\n\tSCxRDR = 7,\n\tSCLSR = 8,\n\tSCTFDR = 9,\n\tSCRFDR = 10,\n\tSCSPTR = 11,\n\tHSSRR = 12,\n\tSCPCR = 13,\n\tSCPDR = 14,\n\tSCDL = 15,\n\tSCCKS = 16,\n\tHSRTRGR = 17,\n\tHSTTRGR = 18,\n\tSEMR = 19,\n\tSCIx_NR_REGS = 20,\n};\n\nenum {\n\tSC_STAT_CLR_IRQ = 16,\n\tSC_STAT_OP_ON = 8,\n\tSC_STAT_OP_OFF = 4,\n\tSC_STAT_RST_CLR = 2,\n\tSC_STAT_RST_SET = 1,\n};\n\nenum {\n\tSDHCI_ACPI_SD_CD = 1,\n\tSDHCI_ACPI_RUNTIME_PM = 2,\n\tSDHCI_ACPI_SD_CD_OVERRIDE_LEVEL = 4,\n};\n\nenum {\n\tSD_BALANCE_NEWIDLE = 1,\n\tSD_BALANCE_EXEC = 2,\n\tSD_BALANCE_FORK = 4,\n\tSD_BALANCE_WAKE = 8,\n\tSD_WAKE_AFFINE = 16,\n\tSD_ASYM_CPUCAPACITY = 32,\n\tSD_ASYM_CPUCAPACITY_FULL = 64,\n\tSD_SHARE_CPUCAPACITY = 128,\n\tSD_CLUSTER = 256,\n\tSD_SHARE_LLC = 512,\n\tSD_SERIALIZE = 1024,\n\tSD_ASYM_PACKING = 2048,\n\tSD_PREFER_SIBLING = 4096,\n\tSD_OVERLAP = 8192,\n\tSD_NUMA = 16384,\n};\n\nenum {\n\tSD_DEF_XFER_BLOCKS = 65535,\n\tSD_MAX_XFER_BLOCKS = 4294967295,\n\tSD_MAX_WS10_BLOCKS = 65535,\n\tSD_MAX_WS16_BLOCKS = 8388607,\n};\n\nenum {\n\tSD_EXT_CDB_SIZE = 32,\n\tSD_MEMPOOL_SIZE = 2,\n};\n\nenum {\n\tSD_LBP_FULL = 0,\n\tSD_LBP_UNMAP = 1,\n\tSD_LBP_WS16 = 2,\n\tSD_LBP_WS10 = 3,\n\tSD_LBP_ZERO = 4,\n\tSD_LBP_DISABLE = 5,\n};\n\nenum {\n\tSD_ZERO_WRITE = 0,\n\tSD_ZERO_WS = 1,\n\tSD_ZERO_WS16_UNMAP = 2,\n\tSD_ZERO_WS10_UNMAP = 3,\n};\n\nenum {\n\tSECTION_MARKED_PRESENT_BIT = 0,\n\tSECTION_HAS_MEM_MAP_BIT = 1,\n\tSECTION_IS_ONLINE_BIT = 2,\n\tSECTION_IS_EARLY_BIT = 3,\n\tSECTION_MAP_LAST_BIT = 4,\n};\n\nenum {\n\tSETWA_FLAGS_APICID = 1,\n\tSETWA_FLAGS_MEM = 2,\n\tSETWA_FLAGS_PCIE_SBDF = 4,\n};\n\nenum {\n\tSFF8024_ID_UNK = 0,\n\tSFF8024_ID_SFF_8472 = 2,\n\tSFF8024_ID_SFP = 3,\n\tSFF8024_ID_DWDM_SFP = 11,\n\tSFF8024_ID_QSFP_8438 = 12,\n\tSFF8024_ID_QSFP_8436_8636 = 13,\n\tSFF8024_ID_QSFP28_8636 = 17,\n\tSFF8024_ID_QSFP_DD = 24,\n\tSFF8024_ID_OSFP = 25,\n\tSFF8024_ID_DSFP = 27,\n\tSFF8024_ID_QSFP_PLUS_CMIS = 30,\n\tSFF8024_ID_SFP_DD_CMIS = 31,\n\tSFF8024_ID_SFP_PLUS_CMIS = 32,\n\tSFF8024_ENCODING_UNSPEC = 0,\n\tSFF8024_ENCODING_8B10B = 1,\n\tSFF8024_ENCODING_4B5B = 2,\n\tSFF8024_ENCODING_NRZ = 3,\n\tSFF8024_ENCODING_8472_MANCHESTER = 4,\n\tSFF8024_ENCODING_8472_SONET = 5,\n\tSFF8024_ENCODING_8472_64B66B = 6,\n\tSFF8024_ENCODING_8436_MANCHESTER = 6,\n\tSFF8024_ENCODING_8436_SONET = 4,\n\tSFF8024_ENCODING_8436_64B66B = 5,\n\tSFF8024_ENCODING_256B257B = 7,\n\tSFF8024_ENCODING_PAM4 = 8,\n\tSFF8024_CONNECTOR_UNSPEC = 0,\n\tSFF8024_CONNECTOR_SC = 1,\n\tSFF8024_CONNECTOR_FIBERJACK = 6,\n\tSFF8024_CONNECTOR_LC = 7,\n\tSFF8024_CONNECTOR_MT_RJ = 8,\n\tSFF8024_CONNECTOR_MU = 9,\n\tSFF8024_CONNECTOR_SG = 10,\n\tSFF8024_CONNECTOR_OPTICAL_PIGTAIL = 11,\n\tSFF8024_CONNECTOR_MPO_1X12 = 12,\n\tSFF8024_CONNECTOR_MPO_2X16 = 13,\n\tSFF8024_CONNECTOR_HSSDC_II = 32,\n\tSFF8024_CONNECTOR_COPPER_PIGTAIL = 33,\n\tSFF8024_CONNECTOR_RJ45 = 34,\n\tSFF8024_CONNECTOR_NOSEPARATE = 35,\n\tSFF8024_CONNECTOR_MXC_2X16 = 36,\n\tSFF8024_ECC_UNSPEC = 0,\n\tSFF8024_ECC_100G_25GAUI_C2M_AOC = 1,\n\tSFF8024_ECC_100GBASE_SR4_25GBASE_SR = 2,\n\tSFF8024_ECC_100GBASE_LR4_25GBASE_LR = 3,\n\tSFF8024_ECC_100GBASE_ER4_25GBASE_ER = 4,\n\tSFF8024_ECC_100GBASE_SR10 = 5,\n\tSFF8024_ECC_100GBASE_CR4 = 11,\n\tSFF8024_ECC_25GBASE_CR_S = 12,\n\tSFF8024_ECC_25GBASE_CR_N = 13,\n\tSFF8024_ECC_10GBASE_T_SFI = 22,\n\tSFF8024_ECC_10GBASE_T_SR = 28,\n\tSFF8024_ECC_5GBASE_T = 29,\n\tSFF8024_ECC_2_5GBASE_T = 30,\n};\n\nenum {\n\tSFP_PHYS_ID = 0,\n\tSFP_PHYS_EXT_ID = 1,\n\tSFP_PHYS_EXT_ID_SFP = 4,\n\tSFP_CONNECTOR = 2,\n\tSFP_COMPLIANCE = 3,\n\tSFP_ENCODING = 11,\n\tSFP_BR_NOMINAL = 12,\n\tSFP_RATE_ID = 13,\n\tSFF_RID_8079 = 1,\n\tSFF_RID_8431_RX_ONLY = 2,\n\tSFF_RID_8431_TX_ONLY = 4,\n\tSFF_RID_8431 = 6,\n\tSFF_RID_10G8G = 14,\n\tSFP_LINK_LEN_SM_KM = 14,\n\tSFP_LINK_LEN_SM_100M = 15,\n\tSFP_LINK_LEN_50UM_OM2_10M = 16,\n\tSFP_LINK_LEN_62_5UM_OM1_10M = 17,\n\tSFP_LINK_LEN_COPPER_1M = 18,\n\tSFP_LINK_LEN_50UM_OM4_10M = 18,\n\tSFP_LINK_LEN_50UM_OM3_10M = 19,\n\tSFP_VENDOR_NAME = 20,\n\tSFP_VENDOR_OUI = 37,\n\tSFP_VENDOR_PN = 40,\n\tSFP_VENDOR_REV = 56,\n\tSFP_OPTICAL_WAVELENGTH_MSB = 60,\n\tSFP_OPTICAL_WAVELENGTH_LSB = 61,\n\tSFP_CABLE_SPEC = 60,\n\tSFP_CC_BASE = 63,\n\tSFP_OPTIONS = 64,\n\tSFP_OPTIONS_HIGH_POWER_LEVEL = 8192,\n\tSFP_OPTIONS_PAGING_A2 = 4096,\n\tSFP_OPTIONS_RETIMER = 2048,\n\tSFP_OPTIONS_COOLED_XCVR = 1024,\n\tSFP_OPTIONS_POWER_DECL = 512,\n\tSFP_OPTIONS_RX_LINEAR_OUT = 256,\n\tSFP_OPTIONS_RX_DECISION_THRESH = 128,\n\tSFP_OPTIONS_TUNABLE_TX = 64,\n\tSFP_OPTIONS_RATE_SELECT = 32,\n\tSFP_OPTIONS_TX_DISABLE = 16,\n\tSFP_OPTIONS_TX_FAULT = 8,\n\tSFP_OPTIONS_LOS_INVERTED = 4,\n\tSFP_OPTIONS_LOS_NORMAL = 2,\n\tSFP_BR_MAX = 66,\n\tSFP_BR_MIN = 67,\n\tSFP_VENDOR_SN = 68,\n\tSFP_DATECODE = 84,\n\tSFP_DIAGMON = 92,\n\tSFP_DIAGMON_DDM = 64,\n\tSFP_DIAGMON_INT_CAL = 32,\n\tSFP_DIAGMON_EXT_CAL = 16,\n\tSFP_DIAGMON_RXPWR_AVG = 8,\n\tSFP_DIAGMON_ADDRMODE = 4,\n\tSFP_ENHOPTS = 93,\n\tSFP_ENHOPTS_ALARMWARN = 128,\n\tSFP_ENHOPTS_SOFT_TX_DISABLE = 64,\n\tSFP_ENHOPTS_SOFT_TX_FAULT = 32,\n\tSFP_ENHOPTS_SOFT_RX_LOS = 16,\n\tSFP_ENHOPTS_SOFT_RATE_SELECT = 8,\n\tSFP_ENHOPTS_APP_SELECT_SFF8079 = 4,\n\tSFP_ENHOPTS_SOFT_RATE_SFF8431 = 2,\n\tSFP_SFF8472_COMPLIANCE = 94,\n\tSFP_SFF8472_COMPLIANCE_NONE = 0,\n\tSFP_SFF8472_COMPLIANCE_REV9_3 = 1,\n\tSFP_SFF8472_COMPLIANCE_REV9_5 = 2,\n\tSFP_SFF8472_COMPLIANCE_REV10_2 = 3,\n\tSFP_SFF8472_COMPLIANCE_REV10_4 = 4,\n\tSFP_SFF8472_COMPLIANCE_REV11_0 = 5,\n\tSFP_SFF8472_COMPLIANCE_REV11_3 = 6,\n\tSFP_SFF8472_COMPLIANCE_REV11_4 = 7,\n\tSFP_SFF8472_COMPLIANCE_REV12_0 = 8,\n\tSFP_CC_EXT = 95,\n};\n\nenum {\n\tSH_ETH_REG_GIGABIT = 0,\n\tSH_ETH_REG_FAST_RCAR = 1,\n\tSH_ETH_REG_FAST_SH4 = 2,\n\tSH_ETH_REG_FAST_SH3_SH2 = 3,\n};\n\nenum {\n\tSIL24_HOST_BAR = 0,\n\tSIL24_PORT_BAR = 2,\n\tSIL24_PRB_SZ = 64,\n\tSIL24_MAX_SGT = 63,\n\tSIL24_MAX_SGE = 253,\n\tHOST_SLOT_STAT = 0,\n\tHOST_CTRL = 64,\n\tHOST_IRQ_STAT___2 = 68,\n\tHOST_PHY_CFG = 72,\n\tHOST_BIST_CTRL = 80,\n\tHOST_BIST_PTRN = 84,\n\tHOST_BIST_STAT = 88,\n\tHOST_MEM_BIST_STAT = 92,\n\tHOST_FLASH_CMD = 112,\n\tHOST_FLASH_DATA = 116,\n\tHOST_TRANSITION_DETECT = 117,\n\tHOST_GPIO_CTRL = 118,\n\tHOST_I2C_ADDR = 120,\n\tHOST_I2C_DATA = 124,\n\tHOST_I2C_XFER_CNT = 126,\n\tHOST_I2C_CTRL = 127,\n\tHOST_SSTAT_ATTN = -2147483648,\n\tHOST_CTRL_M66EN = 65536,\n\tHOST_CTRL_TRDY = 131072,\n\tHOST_CTRL_STOP = 262144,\n\tHOST_CTRL_DEVSEL = 524288,\n\tHOST_CTRL_REQ64 = 1048576,\n\tHOST_CTRL_GLOBAL_RST = -2147483648,\n\tPORT_REGS_SIZE = 8192,\n\tPORT_LRAM = 0,\n\tPORT_LRAM_SLOT_SZ = 128,\n\tPORT_PMP = 3968,\n\tPORT_PMP_STATUS = 0,\n\tPORT_PMP_QACTIVE = 4,\n\tPORT_PMP_SIZE = 8,\n\tPORT_CTRL_STAT = 4096,\n\tPORT_CTRL_CLR = 4100,\n\tPORT_IRQ_STAT___2 = 4104,\n\tPORT_IRQ_ENABLE_SET = 4112,\n\tPORT_IRQ_ENABLE_CLR = 4116,\n\tPORT_ACTIVATE_UPPER_ADDR = 4124,\n\tPORT_EXEC_FIFO = 4128,\n\tPORT_CMD_ERR = 4132,\n\tPORT_FIS_CFG = 4136,\n\tPORT_FIFO_THRES = 4140,\n\tPORT_DECODE_ERR_CNT = 4160,\n\tPORT_DECODE_ERR_THRESH = 4162,\n\tPORT_CRC_ERR_CNT = 4164,\n\tPORT_CRC_ERR_THRESH = 4166,\n\tPORT_HSHK_ERR_CNT = 4168,\n\tPORT_HSHK_ERR_THRESH = 4170,\n\tPORT_PHY_CFG = 4176,\n\tPORT_SLOT_STAT = 6144,\n\tPORT_CMD_ACTIVATE = 7168,\n\tPORT_CONTEXT = 7684,\n\tPORT_EXEC_DIAG = 7680,\n\tPORT_PSD_DIAG = 7744,\n\tPORT_SCONTROL = 7936,\n\tPORT_SSTATUS = 7940,\n\tPORT_SERROR = 7944,\n\tPORT_SACTIVE = 7948,\n\tPORT_CS_PORT_RST = 1,\n\tPORT_CS_DEV_RST = 2,\n\tPORT_CS_INIT = 4,\n\tPORT_CS_IRQ_WOC = 8,\n\tPORT_CS_CDB16 = 32,\n\tPORT_CS_PMP_RESUME = 64,\n\tPORT_CS_32BIT_ACTV = 1024,\n\tPORT_CS_PMP_EN = 8192,\n\tPORT_CS_RDY = -2147483648,\n\tPORT_IRQ_COMPLETE = 1,\n\tPORT_IRQ_ERROR___2 = 2,\n\tPORT_IRQ_PORTRDY_CHG = 4,\n\tPORT_IRQ_PWR_CHG = 8,\n\tPORT_IRQ_PHYRDY_CHG = 16,\n\tPORT_IRQ_COMWAKE = 32,\n\tPORT_IRQ_UNK_FIS___2 = 64,\n\tPORT_IRQ_DEV_XCHG = 128,\n\tPORT_IRQ_8B10B = 256,\n\tPORT_IRQ_CRC = 512,\n\tPORT_IRQ_HANDSHAKE = 1024,\n\tPORT_IRQ_SDB_NOTIFY = 2048,\n\tDEF_PORT_IRQ___2 = 2259,\n\tPORT_IRQ_RAW_SHIFT = 16,\n\tPORT_IRQ_MASKED_MASK = 2047,\n\tPORT_IRQ_RAW_MASK = 134152192,\n\tPORT_IRQ_STEER_SHIFT = 30,\n\tPORT_IRQ_STEER_MASK = -1073741824,\n\tPORT_CERR_DEV = 1,\n\tPORT_CERR_SDB = 2,\n\tPORT_CERR_DATA = 3,\n\tPORT_CERR_SEND = 4,\n\tPORT_CERR_INCONSISTENT = 5,\n\tPORT_CERR_DIRECTION = 6,\n\tPORT_CERR_UNDERRUN = 7,\n\tPORT_CERR_OVERRUN = 8,\n\tPORT_CERR_PKT_PROT = 11,\n\tPORT_CERR_SGT_BOUNDARY = 16,\n\tPORT_CERR_SGT_TGTABRT = 17,\n\tPORT_CERR_SGT_MSTABRT = 18,\n\tPORT_CERR_SGT_PCIPERR = 19,\n\tPORT_CERR_CMD_BOUNDARY = 24,\n\tPORT_CERR_CMD_TGTABRT = 25,\n\tPORT_CERR_CMD_MSTABRT = 26,\n\tPORT_CERR_CMD_PCIPERR = 27,\n\tPORT_CERR_XFR_UNDEF = 32,\n\tPORT_CERR_XFR_TGTABRT = 33,\n\tPORT_CERR_XFR_MSTABRT = 34,\n\tPORT_CERR_XFR_PCIPERR = 35,\n\tPORT_CERR_SENDSERVICE = 36,\n\tPRB_CTRL_PROTOCOL = 1,\n\tPRB_CTRL_PACKET_READ = 16,\n\tPRB_CTRL_PACKET_WRITE = 32,\n\tPRB_CTRL_NIEN = 64,\n\tPRB_CTRL_SRST = 128,\n\tPRB_PROT_PACKET = 1,\n\tPRB_PROT_TCQ = 2,\n\tPRB_PROT_NCQ = 4,\n\tPRB_PROT_READ = 8,\n\tPRB_PROT_WRITE = 16,\n\tPRB_PROT_TRANSPARENT = 32,\n\tSGE_TRM = -2147483648,\n\tSGE_LNK = 1073741824,\n\tSGE_DRD = 536870912,\n\tSIL24_MAX_CMDS = 31,\n\tBID_SIL3124 = 0,\n\tBID_SIL3132 = 1,\n\tBID_SIL3131 = 2,\n\tSIL24_COMMON_FLAGS = 918658,\n\tSIL24_FLAG_PCIX_IRQ_WOC = 16777216,\n\tIRQ_STAT_4PORTS = 15,\n};\n\nenum {\n\tSILERGY_SYR82X = 8,\n\tSILERGY_SYR83X = 9,\n};\n\nenum {\n\tSKBFL_ZEROCOPY_ENABLE = 1,\n\tSKBFL_SHARED_FRAG = 2,\n\tSKBFL_PURE_ZEROCOPY = 4,\n\tSKBFL_DONT_ORPHAN = 8,\n\tSKBFL_MANAGED_FRAG_REFS = 16,\n};\n\nenum {\n\tSKBTX_HW_TSTAMP = 1,\n\tSKBTX_SW_TSTAMP = 2,\n\tSKBTX_IN_PROGRESS = 4,\n\tSKBTX_HW_TSTAMP_USE_CYCLES = 8,\n\tSKBTX_WIFI_STATUS = 16,\n\tSKBTX_HW_TSTAMP_NETDEV = 32,\n\tSKBTX_SCHED_TSTAMP = 64,\n};\n\nenum {\n\tSKB_FCLONE_UNAVAILABLE = 0,\n\tSKB_FCLONE_ORIG = 1,\n\tSKB_FCLONE_CLONE = 2,\n};\n\nenum {\n\tSKB_GSO_TCPV4 = 1,\n\tSKB_GSO_DODGY = 2,\n\tSKB_GSO_TCP_ECN = 4,\n\tSKB_GSO_TCP_FIXEDID = 8,\n\tSKB_GSO_TCPV6 = 16,\n\tSKB_GSO_FCOE = 32,\n\tSKB_GSO_GRE = 64,\n\tSKB_GSO_GRE_CSUM = 128,\n\tSKB_GSO_IPXIP4 = 256,\n\tSKB_GSO_IPXIP6 = 512,\n\tSKB_GSO_UDP_TUNNEL = 1024,\n\tSKB_GSO_UDP_TUNNEL_CSUM = 2048,\n\tSKB_GSO_PARTIAL = 4096,\n\tSKB_GSO_TUNNEL_REMCSUM = 8192,\n\tSKB_GSO_SCTP = 16384,\n\tSKB_GSO_ESP = 32768,\n\tSKB_GSO_UDP = 65536,\n\tSKB_GSO_UDP_L4 = 131072,\n\tSKB_GSO_FRAGLIST = 262144,\n};\n\nenum {\n\tSKCIPHER_WALK_SLOW = 1,\n\tSKCIPHER_WALK_COPY = 2,\n\tSKCIPHER_WALK_DIFF = 4,\n\tSKCIPHER_WALK_SLEEP = 8,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_NONE = 0,\n\tSK_DIAG_BPF_STORAGE_PAD = 1,\n\tSK_DIAG_BPF_STORAGE_MAP_ID = 2,\n\tSK_DIAG_BPF_STORAGE_MAP_VALUE = 3,\n\t__SK_DIAG_BPF_STORAGE_MAX = 4,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_REP_NONE = 0,\n\tSK_DIAG_BPF_STORAGE = 1,\n\t__SK_DIAG_BPF_STORAGE_REP_MAX = 2,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_REQ_NONE = 0,\n\tSK_DIAG_BPF_STORAGE_REQ_MAP_FD = 1,\n\t__SK_DIAG_BPF_STORAGE_REQ_MAX = 2,\n};\n\nenum {\n\tSK_MEMINFO_RMEM_ALLOC = 0,\n\tSK_MEMINFO_RCVBUF = 1,\n\tSK_MEMINFO_WMEM_ALLOC = 2,\n\tSK_MEMINFO_SNDBUF = 3,\n\tSK_MEMINFO_FWD_ALLOC = 4,\n\tSK_MEMINFO_WMEM_QUEUED = 5,\n\tSK_MEMINFO_OPTMEM = 6,\n\tSK_MEMINFO_BACKLOG = 7,\n\tSK_MEMINFO_DROPS = 8,\n\tSK_MEMINFO_VARS = 9,\n};\n\nenum {\n\tSM6115_MASTER_AMPSS_M0 = 0,\n\tSM6115_MASTER_ANOC_SNOC = 1,\n\tSM6115_MASTER_BIMC_SNOC = 2,\n\tSM6115_MASTER_CAMNOC_HF = 3,\n\tSM6115_MASTER_CAMNOC_SF = 4,\n\tSM6115_MASTER_CRYPTO_CORE0 = 5,\n\tSM6115_MASTER_GRAPHICS_3D = 6,\n\tSM6115_MASTER_IPA = 7,\n\tSM6115_MASTER_MDP_PORT0 = 8,\n\tSM6115_MASTER_PIMEM = 9,\n\tSM6115_MASTER_QDSS_BAM = 10,\n\tSM6115_MASTER_QDSS_DAP = 11,\n\tSM6115_MASTER_QDSS_ETR = 12,\n\tSM6115_MASTER_QPIC = 13,\n\tSM6115_MASTER_QUP_0 = 14,\n\tSM6115_MASTER_QUP_CORE_0 = 15,\n\tSM6115_MASTER_SDCC_1 = 16,\n\tSM6115_MASTER_SDCC_2 = 17,\n\tSM6115_MASTER_SNOC_BIMC_NRT = 18,\n\tSM6115_MASTER_SNOC_BIMC_RT = 19,\n\tSM6115_MASTER_SNOC_BIMC = 20,\n\tSM6115_MASTER_SNOC_CFG = 21,\n\tSM6115_MASTER_SNOC_CNOC = 22,\n\tSM6115_MASTER_TCU_0 = 23,\n\tSM6115_MASTER_TIC = 24,\n\tSM6115_MASTER_USB3 = 25,\n\tSM6115_MASTER_VIDEO_P0 = 26,\n\tSM6115_MASTER_VIDEO_PROC = 27,\n\tSM6115_SLAVE_AHB2PHY_USB = 28,\n\tSM6115_SLAVE_ANOC_SNOC = 29,\n\tSM6115_SLAVE_APPSS = 30,\n\tSM6115_SLAVE_APSS_THROTTLE_CFG = 31,\n\tSM6115_SLAVE_BIMC_CFG = 32,\n\tSM6115_SLAVE_BIMC_SNOC = 33,\n\tSM6115_SLAVE_BOOT_ROM = 34,\n\tSM6115_SLAVE_CAMERA_CFG = 35,\n\tSM6115_SLAVE_CAMERA_NRT_THROTTLE_CFG = 36,\n\tSM6115_SLAVE_CAMERA_RT_THROTTLE_CFG = 37,\n\tSM6115_SLAVE_CLK_CTL = 38,\n\tSM6115_SLAVE_CNOC_MSS = 39,\n\tSM6115_SLAVE_CRYPTO_0_CFG = 40,\n\tSM6115_SLAVE_DCC_CFG = 41,\n\tSM6115_SLAVE_DDR_PHY_CFG = 42,\n\tSM6115_SLAVE_DDR_SS_CFG = 43,\n\tSM6115_SLAVE_DISPLAY_CFG = 44,\n\tSM6115_SLAVE_DISPLAY_THROTTLE_CFG = 45,\n\tSM6115_SLAVE_EBI_CH0 = 46,\n\tSM6115_SLAVE_GPU_CFG = 47,\n\tSM6115_SLAVE_GPU_THROTTLE_CFG = 48,\n\tSM6115_SLAVE_HWKM_CORE = 49,\n\tSM6115_SLAVE_IMEM_CFG = 50,\n\tSM6115_SLAVE_IPA_CFG = 51,\n\tSM6115_SLAVE_LPASS = 52,\n\tSM6115_SLAVE_MAPSS = 53,\n\tSM6115_SLAVE_MDSP_MPU_CFG = 54,\n\tSM6115_SLAVE_MESSAGE_RAM = 55,\n\tSM6115_SLAVE_OCIMEM = 56,\n\tSM6115_SLAVE_PDM = 57,\n\tSM6115_SLAVE_PIMEM_CFG = 58,\n\tSM6115_SLAVE_PIMEM = 59,\n\tSM6115_SLAVE_PKA_CORE = 60,\n\tSM6115_SLAVE_PMIC_ARB = 61,\n\tSM6115_SLAVE_QDSS_CFG = 62,\n\tSM6115_SLAVE_QDSS_STM = 63,\n\tSM6115_SLAVE_QM_CFG = 64,\n\tSM6115_SLAVE_QM_MPU_CFG = 65,\n\tSM6115_SLAVE_QPIC = 66,\n\tSM6115_SLAVE_QUP_0 = 67,\n\tSM6115_SLAVE_QUP_CORE_0 = 68,\n\tSM6115_SLAVE_RBCPR_CX_CFG = 69,\n\tSM6115_SLAVE_RBCPR_MX_CFG = 70,\n\tSM6115_SLAVE_RPM = 71,\n\tSM6115_SLAVE_SDCC_1 = 72,\n\tSM6115_SLAVE_SDCC_2 = 73,\n\tSM6115_SLAVE_SECURITY = 74,\n\tSM6115_SLAVE_SERVICE_CNOC = 75,\n\tSM6115_SLAVE_SERVICE_SNOC = 76,\n\tSM6115_SLAVE_SNOC_BIMC_NRT = 77,\n\tSM6115_SLAVE_SNOC_BIMC_RT = 78,\n\tSM6115_SLAVE_SNOC_BIMC = 79,\n\tSM6115_SLAVE_SNOC_CFG = 80,\n\tSM6115_SLAVE_SNOC_CNOC = 81,\n\tSM6115_SLAVE_TCSR = 82,\n\tSM6115_SLAVE_TCU = 83,\n\tSM6115_SLAVE_TLMM = 84,\n\tSM6115_SLAVE_USB3 = 85,\n\tSM6115_SLAVE_VENUS_CFG = 86,\n\tSM6115_SLAVE_VENUS_THROTTLE_CFG = 87,\n\tSM6115_SLAVE_VSENSE_CTRL_CFG = 88,\n};\n\nenum {\n\tSM_EFUSE_READ = 0,\n\tSM_EFUSE_WRITE = 1,\n\tSM_EFUSE_USER_MAX = 2,\n\tSM_GET_CHIP_ID = 3,\n\tSM_A1_PWRC_SET = 4,\n\tSM_A1_PWRC_GET = 5,\n};\n\nenum {\n\tSNDRV_CHMAP_UNKNOWN = 0,\n\tSNDRV_CHMAP_NA = 1,\n\tSNDRV_CHMAP_MONO = 2,\n\tSNDRV_CHMAP_FL = 3,\n\tSNDRV_CHMAP_FR = 4,\n\tSNDRV_CHMAP_RL = 5,\n\tSNDRV_CHMAP_RR = 6,\n\tSNDRV_CHMAP_FC = 7,\n\tSNDRV_CHMAP_LFE = 8,\n\tSNDRV_CHMAP_SL = 9,\n\tSNDRV_CHMAP_SR = 10,\n\tSNDRV_CHMAP_RC = 11,\n\tSNDRV_CHMAP_FLC = 12,\n\tSNDRV_CHMAP_FRC = 13,\n\tSNDRV_CHMAP_RLC = 14,\n\tSNDRV_CHMAP_RRC = 15,\n\tSNDRV_CHMAP_FLW = 16,\n\tSNDRV_CHMAP_FRW = 17,\n\tSNDRV_CHMAP_FLH = 18,\n\tSNDRV_CHMAP_FCH = 19,\n\tSNDRV_CHMAP_FRH = 20,\n\tSNDRV_CHMAP_TC = 21,\n\tSNDRV_CHMAP_TFL = 22,\n\tSNDRV_CHMAP_TFR = 23,\n\tSNDRV_CHMAP_TFC = 24,\n\tSNDRV_CHMAP_TRL = 25,\n\tSNDRV_CHMAP_TRR = 26,\n\tSNDRV_CHMAP_TRC = 27,\n\tSNDRV_CHMAP_TFLC = 28,\n\tSNDRV_CHMAP_TFRC = 29,\n\tSNDRV_CHMAP_TSL = 30,\n\tSNDRV_CHMAP_TSR = 31,\n\tSNDRV_CHMAP_LLFE = 32,\n\tSNDRV_CHMAP_RLFE = 33,\n\tSNDRV_CHMAP_BC = 34,\n\tSNDRV_CHMAP_BLC = 35,\n\tSNDRV_CHMAP_BRC = 36,\n\tSNDRV_CHMAP_LAST = 36,\n};\n\nenum {\n\tSNDRV_CTL_IOCTL_ELEM_LIST32 = 3225965840,\n\tSNDRV_CTL_IOCTL_ELEM_INFO32 = 3239073041,\n\tSNDRV_CTL_IOCTL_ELEM_READ32 = 3267908882,\n\tSNDRV_CTL_IOCTL_ELEM_WRITE32 = 3267908883,\n\tSNDRV_CTL_IOCTL_ELEM_ADD32 = 3239073047,\n\tSNDRV_CTL_IOCTL_ELEM_REPLACE32 = 3239073048,\n};\n\nenum {\n\tSNDRV_CTL_TLV_OP_READ = 0,\n\tSNDRV_CTL_TLV_OP_WRITE = 1,\n\tSNDRV_CTL_TLV_OP_CMD = -1,\n};\n\nenum {\n\tSNDRV_DEVICE_TYPE_CONTROL = 0,\n\tSNDRV_DEVICE_TYPE_SEQUENCER = 1,\n\tSNDRV_DEVICE_TYPE_TIMER = 2,\n\tSNDRV_DEVICE_TYPE_HWDEP = 3,\n\tSNDRV_DEVICE_TYPE_RAWMIDI = 4,\n\tSNDRV_DEVICE_TYPE_PCM_PLAYBACK = 5,\n\tSNDRV_DEVICE_TYPE_PCM_CAPTURE = 6,\n\tSNDRV_DEVICE_TYPE_COMPRESS = 7,\n};\n\nenum {\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST = 5,\n};\n\nenum {\n\tSNDRV_PCM_CLASS_GENERIC = 0,\n\tSNDRV_PCM_CLASS_MULTI = 1,\n\tSNDRV_PCM_CLASS_MODEM = 2,\n\tSNDRV_PCM_CLASS_DIGITIZER = 3,\n\tSNDRV_PCM_CLASS_LAST = 3,\n};\n\nenum {\n\tSNDRV_PCM_IOCTL_HW_REFINE32 = 3260825872,\n\tSNDRV_PCM_IOCTL_HW_PARAMS32 = 3260825873,\n\tSNDRV_PCM_IOCTL_SW_PARAMS32 = 3228057875,\n\tSNDRV_PCM_IOCTL_STATUS_COMPAT32 = 2154578208,\n\tSNDRV_PCM_IOCTL_STATUS_EXT_COMPAT32 = 3228320036,\n\tSNDRV_PCM_IOCTL_DELAY32 = 2147762465,\n\tSNDRV_PCM_IOCTL_CHANNEL_INFO32 = 2148548914,\n\tSNDRV_PCM_IOCTL_REWIND32 = 1074020678,\n\tSNDRV_PCM_IOCTL_FORWARD32 = 1074020681,\n\tSNDRV_PCM_IOCTL_WRITEI_FRAMES32 = 1074544976,\n\tSNDRV_PCM_IOCTL_READI_FRAMES32 = 2148286801,\n\tSNDRV_PCM_IOCTL_WRITEN_FRAMES32 = 1074544978,\n\tSNDRV_PCM_IOCTL_READN_FRAMES32 = 2148286803,\n\tSNDRV_PCM_IOCTL_STATUS_COMPAT64 = 2155888928,\n\tSNDRV_PCM_IOCTL_STATUS_EXT_COMPAT64 = 3229630756,\n};\n\nenum {\n\tSNDRV_PCM_MMAP_OFFSET_DATA = 0,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS = 2181038080,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL = 2197815296,\n};\n\nenum {\n\tSNDRV_PCM_STREAM_PLAYBACK = 0,\n\tSNDRV_PCM_STREAM_CAPTURE = 1,\n\tSNDRV_PCM_STREAM_LAST = 1,\n};\n\nenum {\n\tSNDRV_PCM_TSTAMP_NONE = 0,\n\tSNDRV_PCM_TSTAMP_ENABLE = 1,\n\tSNDRV_PCM_TSTAMP_LAST = 1,\n};\n\nenum {\n\tSNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0,\n\tSNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1,\n\tSNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2,\n\tSNDRV_PCM_TSTAMP_TYPE_LAST = 2,\n};\n\nenum {\n\tSNDRV_TIMER_CLASS_NONE = -1,\n\tSNDRV_TIMER_CLASS_SLAVE = 0,\n\tSNDRV_TIMER_CLASS_GLOBAL = 1,\n\tSNDRV_TIMER_CLASS_CARD = 2,\n\tSNDRV_TIMER_CLASS_PCM = 3,\n\tSNDRV_TIMER_CLASS_LAST = 3,\n};\n\nenum {\n\tSNDRV_TIMER_EVENT_RESOLUTION = 0,\n\tSNDRV_TIMER_EVENT_TICK = 1,\n\tSNDRV_TIMER_EVENT_START = 2,\n\tSNDRV_TIMER_EVENT_STOP = 3,\n\tSNDRV_TIMER_EVENT_CONTINUE = 4,\n\tSNDRV_TIMER_EVENT_PAUSE = 5,\n\tSNDRV_TIMER_EVENT_EARLY = 6,\n\tSNDRV_TIMER_EVENT_SUSPEND = 7,\n\tSNDRV_TIMER_EVENT_RESUME = 8,\n\tSNDRV_TIMER_EVENT_MSTART = 12,\n\tSNDRV_TIMER_EVENT_MSTOP = 13,\n\tSNDRV_TIMER_EVENT_MCONTINUE = 14,\n\tSNDRV_TIMER_EVENT_MPAUSE = 15,\n\tSNDRV_TIMER_EVENT_MSUSPEND = 17,\n\tSNDRV_TIMER_EVENT_MRESUME = 18,\n};\n\nenum {\n\tSNDRV_TIMER_IOCTL_GPARAMS32 = 1077695492,\n\tSNDRV_TIMER_IOCTL_INFO32 = 2162185233,\n\tSNDRV_TIMER_IOCTL_STATUS_COMPAT32 = 1079530516,\n\tSNDRV_TIMER_IOCTL_STATUS_COMPAT64 = 1080054804,\n};\n\nenum {\n\tSNDRV_TIMER_IOCTL_START_OLD = 21536,\n\tSNDRV_TIMER_IOCTL_STOP_OLD = 21537,\n\tSNDRV_TIMER_IOCTL_CONTINUE_OLD = 21538,\n\tSNDRV_TIMER_IOCTL_PAUSE_OLD = 21539,\n};\n\nenum {\n\tSNDRV_TIMER_SCLASS_NONE = 0,\n\tSNDRV_TIMER_SCLASS_APPLICATION = 1,\n\tSNDRV_TIMER_SCLASS_SEQUENCER = 2,\n\tSNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3,\n\tSNDRV_TIMER_SCLASS_LAST = 3,\n};\n\nenum {\n\tSND_CTL_SUBDEV_PCM = 0,\n\tSND_CTL_SUBDEV_RAWMIDI = 1,\n\tSND_CTL_SUBDEV_ITEMS = 2,\n};\n\nenum {\n\tSOCK_WAKE_IO = 0,\n\tSOCK_WAKE_WAITD = 1,\n\tSOCK_WAKE_SPACE = 2,\n\tSOCK_WAKE_URG = 3,\n};\n\nenum {\n\tSOF_TIMESTAMPING_TX_HARDWARE = 1,\n\tSOF_TIMESTAMPING_TX_SOFTWARE = 2,\n\tSOF_TIMESTAMPING_RX_HARDWARE = 4,\n\tSOF_TIMESTAMPING_RX_SOFTWARE = 8,\n\tSOF_TIMESTAMPING_SOFTWARE = 16,\n\tSOF_TIMESTAMPING_SYS_HARDWARE = 32,\n\tSOF_TIMESTAMPING_RAW_HARDWARE = 64,\n\tSOF_TIMESTAMPING_OPT_ID = 128,\n\tSOF_TIMESTAMPING_TX_SCHED = 256,\n\tSOF_TIMESTAMPING_TX_ACK = 512,\n\tSOF_TIMESTAMPING_OPT_CMSG = 1024,\n\tSOF_TIMESTAMPING_OPT_TSONLY = 2048,\n\tSOF_TIMESTAMPING_OPT_STATS = 4096,\n\tSOF_TIMESTAMPING_OPT_PKTINFO = 8192,\n\tSOF_TIMESTAMPING_OPT_TX_SWHW = 16384,\n\tSOF_TIMESTAMPING_BIND_PHC = 32768,\n\tSOF_TIMESTAMPING_OPT_ID_TCP = 65536,\n\tSOF_TIMESTAMPING_OPT_RX_FILTER = 131072,\n\tSOF_TIMESTAMPING_LAST = 131072,\n\tSOF_TIMESTAMPING_MASK = 262143,\n};\n\nenum {\n\tSOUTH___5 = 0,\n\tEAST___3 = 1,\n\tWEST___3 = 2,\n};\n\nenum {\n\tSP_TASK_PENDING = 0,\n\tSP_NEED_VICTIM = 1,\n\tSP_VICTIM_REMAINS = 2,\n};\n\nenum {\n\tSQ_START = 0,\n\tSQ_STOP = 1,\n\tSQ_ICU = 2,\n};\n\nenum {\n\tSQ_STS = 1,\n\tSQ_CUS = 2,\n};\n\nenum {\n\tSTATE_IDLE = 0,\n\tSTATE_READ = 1,\n\tSTATE_WRITE = 2,\n};\n\nenum {\n\tSTAT_CTRL = 3712,\n\tSTAT_LAST_IDX = 3716,\n\tSTAT_LIST_ADDR_LO = 3720,\n\tSTAT_LIST_ADDR_HI = 3724,\n\tSTAT_TXA1_RIDX = 3728,\n\tSTAT_TXS1_RIDX = 3730,\n\tSTAT_TXA2_RIDX = 3732,\n\tSTAT_TXS2_RIDX = 3734,\n\tSTAT_TX_IDX_TH = 3736,\n\tSTAT_PUT_IDX = 3740,\n\tSTAT_FIFO_WP = 3744,\n\tSTAT_FIFO_RP = 3748,\n\tSTAT_FIFO_RSP = 3750,\n\tSTAT_FIFO_LEVEL = 3752,\n\tSTAT_FIFO_SHLVL = 3754,\n\tSTAT_FIFO_WM = 3756,\n\tSTAT_FIFO_ISR_WM = 3757,\n\tSTAT_LEV_TIMER_INI = 3760,\n\tSTAT_LEV_TIMER_CNT = 3764,\n\tSTAT_LEV_TIMER_CTRL = 3768,\n\tSTAT_LEV_TIMER_TEST = 3769,\n\tSTAT_TX_TIMER_INI = 3776,\n\tSTAT_TX_TIMER_CNT = 3780,\n\tSTAT_TX_TIMER_CTRL = 3784,\n\tSTAT_TX_TIMER_TEST = 3785,\n\tSTAT_ISR_TIMER_INI = 3792,\n\tSTAT_ISR_TIMER_CNT = 3796,\n\tSTAT_ISR_TIMER_CTRL = 3800,\n\tSTAT_ISR_TIMER_TEST = 3801,\n};\n\nenum {\n\tSUNRPC_PIPEFS_NFS_PRIO = 0,\n\tSUNRPC_PIPEFS_RPC_PRIO = 1,\n};\n\nenum {\n\tSUNXI_SRC_TYPE_LEVEL_LOW = 0,\n\tSUNXI_SRC_TYPE_EDGE_FALLING = 1,\n\tSUNXI_SRC_TYPE_LEVEL_HIGH = 2,\n\tSUNXI_SRC_TYPE_EDGE_RISING = 3,\n};\n\nenum {\n\tSVC_HANDSHAKE_TO = 1250,\n};\n\nenum {\n\tSVC_POOL_AUTO = -1,\n\tSVC_POOL_GLOBAL = 0,\n\tSVC_POOL_PERCPU = 1,\n\tSVC_POOL_PERNODE = 2,\n};\n\nenum {\n\tSWITCHTEC_GAS_MRPC_OFFSET = 0,\n\tSWITCHTEC_GAS_TOP_CFG_OFFSET = 4096,\n\tSWITCHTEC_GAS_SW_EVENT_OFFSET = 6144,\n\tSWITCHTEC_GAS_SYS_INFO_OFFSET = 8192,\n\tSWITCHTEC_GAS_FLASH_INFO_OFFSET = 8704,\n\tSWITCHTEC_GAS_PART_CFG_OFFSET = 16384,\n\tSWITCHTEC_GAS_NTB_OFFSET = 65536,\n\tSWITCHTEC_GAS_PFF_CSR_OFFSET = 1261568,\n};\n\nenum {\n\tSWITCHTEC_NTB_REG_INFO_OFFSET = 0,\n\tSWITCHTEC_NTB_REG_CTRL_OFFSET = 16384,\n\tSWITCHTEC_NTB_REG_DBMSG_OFFSET = 409600,\n};\n\nenum {\n\tSWMII_SPEED_10 = 0,\n\tSWMII_SPEED_100 = 1,\n\tSWMII_SPEED_1000 = 2,\n\tSWMII_DUPLEX_HALF = 0,\n\tSWMII_DUPLEX_FULL = 1,\n};\n\nenum {\n\tSWP_USED = 1,\n\tSWP_WRITEOK = 2,\n\tSWP_DISCARDABLE = 4,\n\tSWP_DISCARDING = 8,\n\tSWP_SOLIDSTATE = 16,\n\tSWP_CONTINUED = 32,\n\tSWP_BLKDEV = 64,\n\tSWP_ACTIVATED = 128,\n\tSWP_FS_OPS = 256,\n\tSWP_AREA_DISCARD = 512,\n\tSWP_PAGE_DISCARD = 1024,\n\tSWP_STABLE_WRITES = 2048,\n\tSWP_SYNCHRONOUS_IO = 4096,\n};\n\nenum {\n\tSYNAPTICS_INTERTOUCH_NOT_SET = -1,\n\tSYNAPTICS_INTERTOUCH_OFF = 0,\n\tSYNAPTICS_INTERTOUCH_ON = 1,\n};\n\nenum {\n\tSYNC_LEN_G1 = 80000,\n\tSYNC_LEN_G2 = 40000,\n\tSYNC_LEN_G3 = 20000,\n};\n\nenum {\n\tSYSTAB = 0,\n\tMMBASE = 1,\n\tMMSIZE = 2,\n\tDCSIZE = 3,\n\tDCVERS = 4,\n\tPARAMCOUNT = 5,\n};\n\nenum {\n\tTASKLET_STATE_SCHED = 0,\n\tTASKLET_STATE_RUN = 1,\n};\n\nenum {\n\tTASKSTATS_CMD_ATTR_UNSPEC = 0,\n\tTASKSTATS_CMD_ATTR_PID = 1,\n\tTASKSTATS_CMD_ATTR_TGID = 2,\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 3,\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 4,\n\t__TASKSTATS_CMD_ATTR_MAX = 5,\n};\n\nenum {\n\tTASKSTATS_CMD_UNSPEC = 0,\n\tTASKSTATS_CMD_GET = 1,\n\tTASKSTATS_CMD_NEW = 2,\n\t__TASKSTATS_CMD_MAX = 3,\n};\n\nenum {\n\tTASKSTATS_TYPE_UNSPEC = 0,\n\tTASKSTATS_TYPE_PID = 1,\n\tTASKSTATS_TYPE_TGID = 2,\n\tTASKSTATS_TYPE_STATS = 3,\n\tTASKSTATS_TYPE_AGGR_PID = 4,\n\tTASKSTATS_TYPE_AGGR_TGID = 5,\n\tTASKSTATS_TYPE_NULL = 6,\n\t__TASKSTATS_TYPE_MAX = 7,\n};\n\nenum {\n\tTASK_COMM_LEN = 16,\n};\n\nenum {\n\tTASK_REQ_UPIU_SIZE_DWORDS = 8,\n\tTASK_RSP_UPIU_SIZE_DWORDS = 8,\n\tALIGNED_UPIU_SIZE = 512,\n};\n\nenum {\n\tTBMU_TEST_BMU_TX_CHK_AUTO_OFF = -2147483648,\n\tTBMU_TEST_BMU_TX_CHK_AUTO_ON = 1073741824,\n\tTBMU_TEST_HOME_ADD_PAD_FIX1_EN = 536870912,\n\tTBMU_TEST_HOME_ADD_PAD_FIX1_DIS = 268435456,\n\tTBMU_TEST_ROUTING_ADD_FIX_EN = 134217728,\n\tTBMU_TEST_ROUTING_ADD_FIX_DIS = 67108864,\n\tTBMU_TEST_HOME_ADD_FIX_EN = 33554432,\n\tTBMU_TEST_HOME_ADD_FIX_DIS = 16777216,\n\tTBMU_TEST_TEST_RSPTR_ON = 4194304,\n\tTBMU_TEST_TEST_RSPTR_OFF = 2097152,\n\tTBMU_TEST_TESTSTEP_RSPTR = 1048576,\n\tTBMU_TEST_TEST_RPTR_ON = 262144,\n\tTBMU_TEST_TEST_RPTR_OFF = 131072,\n\tTBMU_TEST_TESTSTEP_RPTR = 65536,\n\tTBMU_TEST_TEST_WSPTR_ON = 16384,\n\tTBMU_TEST_TEST_WSPTR_OFF = 8192,\n\tTBMU_TEST_TESTSTEP_WSPTR = 4096,\n\tTBMU_TEST_TEST_WPTR_ON = 1024,\n\tTBMU_TEST_TEST_WPTR_OFF = 512,\n\tTBMU_TEST_TESTSTEP_WPTR = 256,\n\tTBMU_TEST_TEST_REQ_NB_ON = 64,\n\tTBMU_TEST_TEST_REQ_NB_OFF = 32,\n\tTBMU_TEST_TESTSTEP_REQ_NB = 16,\n\tTBMU_TEST_TEST_DONE_IDX_ON = 4,\n\tTBMU_TEST_TEST_DONE_IDX_OFF = 2,\n\tTBMU_TEST_TESTSTEP_DONE_IDX = 1,\n};\n\nenum {\n\tTCA_ACT_UNSPEC = 0,\n\tTCA_ACT_KIND = 1,\n\tTCA_ACT_OPTIONS = 2,\n\tTCA_ACT_INDEX = 3,\n\tTCA_ACT_STATS = 4,\n\tTCA_ACT_PAD = 5,\n\tTCA_ACT_COOKIE = 6,\n\tTCA_ACT_FLAGS = 7,\n\tTCA_ACT_HW_STATS = 8,\n\tTCA_ACT_USED_HW_STATS = 9,\n\tTCA_ACT_IN_HW_COUNT = 10,\n\t__TCA_ACT_MAX = 11,\n};\n\nenum {\n\tTCA_FLOWER_KEY_CT_FLAGS_NEW = 1,\n\tTCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 2,\n\tTCA_FLOWER_KEY_CT_FLAGS_RELATED = 4,\n\tTCA_FLOWER_KEY_CT_FLAGS_TRACKED = 8,\n\tTCA_FLOWER_KEY_CT_FLAGS_INVALID = 16,\n\tTCA_FLOWER_KEY_CT_FLAGS_REPLY = 32,\n\t__TCA_FLOWER_KEY_CT_FLAGS_MAX = 33,\n};\n\nenum {\n\tTCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = 1,\n\tTCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = 2,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = 4,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = 8,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = 16,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = 32,\n\t__TCA_FLOWER_KEY_FLAGS_MAX = 33,\n};\n\nenum {\n\tTCA_ROOT_UNSPEC = 0,\n\tTCA_ROOT_TAB = 1,\n\tTCA_ROOT_FLAGS = 2,\n\tTCA_ROOT_COUNT = 3,\n\tTCA_ROOT_TIME_DELTA = 4,\n\tTCA_ROOT_EXT_WARN_MSG = 5,\n\t__TCA_ROOT_MAX = 6,\n};\n\nenum {\n\tTCA_STAB_UNSPEC = 0,\n\tTCA_STAB_BASE = 1,\n\tTCA_STAB_DATA = 2,\n\t__TCA_STAB_MAX = 3,\n};\n\nenum {\n\tTCA_STATS_UNSPEC = 0,\n\tTCA_STATS_BASIC = 1,\n\tTCA_STATS_RATE_EST = 2,\n\tTCA_STATS_QUEUE = 3,\n\tTCA_STATS_APP = 4,\n\tTCA_STATS_RATE_EST64 = 5,\n\tTCA_STATS_PAD = 6,\n\tTCA_STATS_BASIC_HW = 7,\n\tTCA_STATS_PKT64 = 8,\n\t__TCA_STATS_MAX = 9,\n};\n\nenum {\n\tTCA_UNSPEC = 0,\n\tTCA_KIND = 1,\n\tTCA_OPTIONS = 2,\n\tTCA_STATS = 3,\n\tTCA_XSTATS = 4,\n\tTCA_RATE = 5,\n\tTCA_FCNT = 6,\n\tTCA_STATS2 = 7,\n\tTCA_STAB = 8,\n\tTCA_PAD = 9,\n\tTCA_DUMP_INVISIBLE = 10,\n\tTCA_CHAIN = 11,\n\tTCA_HW_OFFLOAD = 12,\n\tTCA_INGRESS_BLOCK = 13,\n\tTCA_EGRESS_BLOCK = 14,\n\tTCA_DUMP_FLAGS = 15,\n\tTCA_EXT_WARN_MSG = 16,\n\t__TCA_MAX = 17,\n};\n\nenum {\n\tTCPF_ESTABLISHED = 2,\n\tTCPF_SYN_SENT = 4,\n\tTCPF_SYN_RECV = 8,\n\tTCPF_FIN_WAIT1 = 16,\n\tTCPF_FIN_WAIT2 = 32,\n\tTCPF_TIME_WAIT = 64,\n\tTCPF_CLOSE = 128,\n\tTCPF_CLOSE_WAIT = 256,\n\tTCPF_LAST_ACK = 512,\n\tTCPF_LISTEN = 1024,\n\tTCPF_CLOSING = 2048,\n\tTCPF_NEW_SYN_RECV = 4096,\n\tTCPF_BOUND_INACTIVE = 8192,\n};\n\nenum {\n\tTCP_BPF_BASE = 0,\n\tTCP_BPF_TX = 1,\n\tTCP_BPF_RX = 2,\n\tTCP_BPF_TXRX = 3,\n\tTCP_BPF_NUM_CFGS = 4,\n};\n\nenum {\n\tTCP_BPF_IPV4 = 0,\n\tTCP_BPF_IPV6 = 1,\n\tTCP_BPF_NUM_PROTS = 2,\n};\n\nenum {\n\tTCP_BPF_IW = 1001,\n\tTCP_BPF_SNDCWND_CLAMP = 1002,\n\tTCP_BPF_DELACK_MAX = 1003,\n\tTCP_BPF_RTO_MIN = 1004,\n\tTCP_BPF_SYN = 1005,\n\tTCP_BPF_SYN_IP = 1006,\n\tTCP_BPF_SYN_MAC = 1007,\n\tTCP_BPF_SOCK_OPS_CB_FLAGS = 1008,\n};\n\nenum {\n\tTCP_CMSG_INQ = 1,\n\tTCP_CMSG_TS = 2,\n};\n\nenum {\n\tTCP_ESTABLISHED = 1,\n\tTCP_SYN_SENT = 2,\n\tTCP_SYN_RECV = 3,\n\tTCP_FIN_WAIT1 = 4,\n\tTCP_FIN_WAIT2 = 5,\n\tTCP_TIME_WAIT = 6,\n\tTCP_CLOSE = 7,\n\tTCP_CLOSE_WAIT = 8,\n\tTCP_LAST_ACK = 9,\n\tTCP_LISTEN = 10,\n\tTCP_CLOSING = 11,\n\tTCP_NEW_SYN_RECV = 12,\n\tTCP_BOUND_INACTIVE = 13,\n\tTCP_MAX_STATES = 14,\n};\n\nenum {\n\tTCP_FLAG_CWR = 32768,\n\tTCP_FLAG_ECE = 16384,\n\tTCP_FLAG_URG = 8192,\n\tTCP_FLAG_ACK = 4096,\n\tTCP_FLAG_PSH = 2048,\n\tTCP_FLAG_RST = 1024,\n\tTCP_FLAG_SYN = 512,\n\tTCP_FLAG_FIN = 256,\n\tTCP_RESERVED_BITS = 15,\n\tTCP_DATA_OFFSET = 240,\n};\n\nenum {\n\tTCP_METRICS_ATTR_UNSPEC = 0,\n\tTCP_METRICS_ATTR_ADDR_IPV4 = 1,\n\tTCP_METRICS_ATTR_ADDR_IPV6 = 2,\n\tTCP_METRICS_ATTR_AGE = 3,\n\tTCP_METRICS_ATTR_TW_TSVAL = 4,\n\tTCP_METRICS_ATTR_TW_TS_STAMP = 5,\n\tTCP_METRICS_ATTR_VALS = 6,\n\tTCP_METRICS_ATTR_FOPEN_MSS = 7,\n\tTCP_METRICS_ATTR_FOPEN_SYN_DROPS = 8,\n\tTCP_METRICS_ATTR_FOPEN_SYN_DROP_TS = 9,\n\tTCP_METRICS_ATTR_FOPEN_COOKIE = 10,\n\tTCP_METRICS_ATTR_SADDR_IPV4 = 11,\n\tTCP_METRICS_ATTR_SADDR_IPV6 = 12,\n\tTCP_METRICS_ATTR_PAD = 13,\n\t__TCP_METRICS_ATTR_MAX = 14,\n};\n\nenum {\n\tTCP_METRICS_CMD_UNSPEC = 0,\n\tTCP_METRICS_CMD_GET = 1,\n\tTCP_METRICS_CMD_DEL = 2,\n\t__TCP_METRICS_CMD_MAX = 3,\n};\n\nenum {\n\tTCP_MIB_NUM = 0,\n\tTCP_MIB_RTOALGORITHM = 1,\n\tTCP_MIB_RTOMIN = 2,\n\tTCP_MIB_RTOMAX = 3,\n\tTCP_MIB_MAXCONN = 4,\n\tTCP_MIB_ACTIVEOPENS = 5,\n\tTCP_MIB_PASSIVEOPENS = 6,\n\tTCP_MIB_ATTEMPTFAILS = 7,\n\tTCP_MIB_ESTABRESETS = 8,\n\tTCP_MIB_CURRESTAB = 9,\n\tTCP_MIB_INSEGS = 10,\n\tTCP_MIB_OUTSEGS = 11,\n\tTCP_MIB_RETRANSSEGS = 12,\n\tTCP_MIB_INERRS = 13,\n\tTCP_MIB_OUTRSTS = 14,\n\tTCP_MIB_CSUMERRORS = 15,\n\t__TCP_MIB_MAX = 16,\n};\n\nenum {\n\tTCP_NLA_PAD = 0,\n\tTCP_NLA_BUSY = 1,\n\tTCP_NLA_RWND_LIMITED = 2,\n\tTCP_NLA_SNDBUF_LIMITED = 3,\n\tTCP_NLA_DATA_SEGS_OUT = 4,\n\tTCP_NLA_TOTAL_RETRANS = 5,\n\tTCP_NLA_PACING_RATE = 6,\n\tTCP_NLA_DELIVERY_RATE = 7,\n\tTCP_NLA_SND_CWND = 8,\n\tTCP_NLA_REORDERING = 9,\n\tTCP_NLA_MIN_RTT = 10,\n\tTCP_NLA_RECUR_RETRANS = 11,\n\tTCP_NLA_DELIVERY_RATE_APP_LMT = 12,\n\tTCP_NLA_SNDQ_SIZE = 13,\n\tTCP_NLA_CA_STATE = 14,\n\tTCP_NLA_SND_SSTHRESH = 15,\n\tTCP_NLA_DELIVERED = 16,\n\tTCP_NLA_DELIVERED_CE = 17,\n\tTCP_NLA_BYTES_SENT = 18,\n\tTCP_NLA_BYTES_RETRANS = 19,\n\tTCP_NLA_DSACK_DUPS = 20,\n\tTCP_NLA_REORD_SEEN = 21,\n\tTCP_NLA_SRTT = 22,\n\tTCP_NLA_TIMEOUT_REHASH = 23,\n\tTCP_NLA_BYTES_NOTSENT = 24,\n\tTCP_NLA_EDT = 25,\n\tTCP_NLA_TTL = 26,\n\tTCP_NLA_REHASH = 27,\n};\n\nenum {\n\tTCP_NO_QUEUE = 0,\n\tTCP_RECV_QUEUE = 1,\n\tTCP_SEND_QUEUE = 2,\n\tTCP_QUEUES_NR = 3,\n};\n\nenum {\n\tTCS4525_CHIP_ID_12 = 12,\n};\n\nenum {\n\tTCS4526_CHIP_ID_00 = 0,\n};\n\nenum {\n\tTC_MQPRIO_HW_OFFLOAD_NONE = 0,\n\tTC_MQPRIO_HW_OFFLOAD_TCS = 1,\n\t__TC_MQPRIO_HW_OFFLOAD_MAX = 2,\n};\n\nenum {\n\tTC_MQPRIO_MODE_DCB = 0,\n\tTC_MQPRIO_MODE_CHANNEL = 1,\n\t__TC_MQPRIO_MODE_MAX = 2,\n};\n\nenum {\n\tTC_MQPRIO_SHAPER_DCB = 0,\n\tTC_MQPRIO_SHAPER_BW_RATE = 1,\n\t__TC_MQPRIO_SHAPER_MAX = 2,\n};\n\nenum {\n\tTEGRA_PIN_CAN0_DOUT_PAA0 = 0,\n\tTEGRA_PIN_CAN0_DIN_PAA1 = 1,\n\tTEGRA_PIN_CAN1_DOUT_PAA2 = 2,\n\tTEGRA_PIN_CAN1_DIN_PAA3 = 3,\n\tTEGRA_PIN_CAN0_STB_PAA4 = 4,\n\tTEGRA_PIN_CAN0_EN_PAA5 = 5,\n\tTEGRA_PIN_SOC_GPIO49_PAA6 = 6,\n\tTEGRA_PIN_CAN0_ERR_PAA7 = 7,\n\tTEGRA_PIN_CAN1_STB_PBB0 = 8,\n\tTEGRA_PIN_CAN1_EN_PBB1 = 9,\n\tTEGRA_PIN_SOC_GPIO50_PBB2 = 10,\n\tTEGRA_PIN_CAN1_ERR_PBB3 = 11,\n\tTEGRA_PIN_SPI2_SCK_PCC0 = 12,\n\tTEGRA_PIN_SPI2_MISO_PCC1 = 13,\n\tTEGRA_PIN_SPI2_MOSI_PCC2 = 14,\n\tTEGRA_PIN_SPI2_CS0_PCC3 = 15,\n\tTEGRA_PIN_TOUCH_CLK_PCC4 = 16,\n\tTEGRA_PIN_UART3_TX_PCC5 = 17,\n\tTEGRA_PIN_UART3_RX_PCC6 = 18,\n\tTEGRA_PIN_GEN2_I2C_SCL_PCC7 = 19,\n\tTEGRA_PIN_GEN2_I2C_SDA_PDD0 = 20,\n\tTEGRA_PIN_GEN8_I2C_SCL_PDD1 = 21,\n\tTEGRA_PIN_GEN8_I2C_SDA_PDD2 = 22,\n\tTEGRA_PIN_SCE_ERROR_PEE0 = 23,\n\tTEGRA_PIN_VCOMP_ALERT_PEE1 = 24,\n\tTEGRA_PIN_AO_RETENTION_N_PEE2 = 25,\n\tTEGRA_PIN_BATT_OC_PEE3 = 26,\n\tTEGRA_PIN_POWER_ON_PEE4 = 27,\n\tTEGRA_PIN_SOC_GPIO26_PEE5 = 28,\n\tTEGRA_PIN_SOC_GPIO27_PEE6 = 29,\n\tTEGRA_PIN_BOOTV_CTL_N_PEE7 = 30,\n\tTEGRA_PIN_HDMI_CEC_PGG0 = 31,\n};\n\nenum {\n\tTEGRA_PIN_CAN1_DOUT_PAA0 = 0,\n\tTEGRA_PIN_CAN1_DIN_PAA1 = 1,\n\tTEGRA_PIN_CAN0_DOUT_PAA2 = 2,\n\tTEGRA_PIN_CAN0_DIN_PAA3 = 3,\n\tTEGRA_PIN_CAN0_STB_PAA4___2 = 4,\n\tTEGRA_PIN_CAN0_EN_PAA5___2 = 5,\n\tTEGRA_PIN_CAN0_WAKE_PAA6 = 6,\n\tTEGRA_PIN_CAN0_ERR_PAA7___2 = 7,\n\tTEGRA_PIN_CAN1_STB_PBB0___2 = 8,\n\tTEGRA_PIN_CAN1_EN_PBB1___2 = 9,\n\tTEGRA_PIN_CAN1_WAKE_PBB2 = 10,\n\tTEGRA_PIN_CAN1_ERR_PBB3___2 = 11,\n\tTEGRA_PIN_SPI2_SCK_PCC0___2 = 12,\n\tTEGRA_PIN_SPI2_MISO_PCC1___2 = 13,\n\tTEGRA_PIN_SPI2_MOSI_PCC2___2 = 14,\n\tTEGRA_PIN_SPI2_CS0_PCC3___2 = 15,\n\tTEGRA_PIN_TOUCH_CLK_PCC4___2 = 16,\n\tTEGRA_PIN_UART3_TX_PCC5___2 = 17,\n\tTEGRA_PIN_UART3_RX_PCC6___2 = 18,\n\tTEGRA_PIN_GEN2_I2C_SCL_PCC7___2 = 19,\n\tTEGRA_PIN_GEN2_I2C_SDA_PDD0___2 = 20,\n\tTEGRA_PIN_GEN8_I2C_SCL_PDD1___2 = 21,\n\tTEGRA_PIN_GEN8_I2C_SDA_PDD2___2 = 22,\n\tTEGRA_PIN_SAFE_STATE_PEE0 = 23,\n\tTEGRA_PIN_VCOMP_ALERT_PEE1___2 = 24,\n\tTEGRA_PIN_AO_RETENTION_N_PEE2___2 = 25,\n\tTEGRA_PIN_BATT_OC_PEE3___2 = 26,\n\tTEGRA_PIN_POWER_ON_PEE4___2 = 27,\n\tTEGRA_PIN_PWR_I2C_SCL_PEE5 = 28,\n\tTEGRA_PIN_PWR_I2C_SDA_PEE6 = 29,\n\tTEGRA_PIN_SYS_RESET_N = 30,\n\tTEGRA_PIN_SHUTDOWN_N = 31,\n\tTEGRA_PIN_PMU_INT_N = 32,\n\tTEGRA_PIN_SOC_PWR_REQ = 33,\n\tTEGRA_PIN_CLK_32K_IN = 34,\n};\n\nenum {\n\tTEGRA_PIN_DAP6_SCLK_PA0 = 0,\n\tTEGRA_PIN_DAP6_DOUT_PA1 = 1,\n\tTEGRA_PIN_DAP6_DIN_PA2 = 2,\n\tTEGRA_PIN_DAP6_FS_PA3 = 3,\n\tTEGRA_PIN_DAP4_SCLK_PA4 = 4,\n\tTEGRA_PIN_DAP4_DOUT_PA5 = 5,\n\tTEGRA_PIN_DAP4_DIN_PA6 = 6,\n\tTEGRA_PIN_DAP4_FS_PA7 = 7,\n\tTEGRA_PIN_SOC_GPIO08_PB0 = 8,\n\tTEGRA_PIN_QSPI0_SCK_PC0 = 9,\n\tTEGRA_PIN_QSPI0_CS_N_PC1 = 10,\n\tTEGRA_PIN_QSPI0_IO0_PC2 = 11,\n\tTEGRA_PIN_QSPI0_IO1_PC3 = 12,\n\tTEGRA_PIN_QSPI0_IO2_PC4 = 13,\n\tTEGRA_PIN_QSPI0_IO3_PC5 = 14,\n\tTEGRA_PIN_QSPI1_SCK_PC6 = 15,\n\tTEGRA_PIN_QSPI1_CS_N_PC7 = 16,\n\tTEGRA_PIN_QSPI1_IO0_PD0 = 17,\n\tTEGRA_PIN_QSPI1_IO1_PD1 = 18,\n\tTEGRA_PIN_QSPI1_IO2_PD2 = 19,\n\tTEGRA_PIN_QSPI1_IO3_PD3 = 20,\n\tTEGRA_PIN_EQOS_TXC_PE0 = 21,\n\tTEGRA_PIN_EQOS_TD0_PE1 = 22,\n\tTEGRA_PIN_EQOS_TD1_PE2 = 23,\n\tTEGRA_PIN_EQOS_TD2_PE3 = 24,\n\tTEGRA_PIN_EQOS_TD3_PE4 = 25,\n\tTEGRA_PIN_EQOS_TX_CTL_PE5 = 26,\n\tTEGRA_PIN_EQOS_RD0_PE6 = 27,\n\tTEGRA_PIN_EQOS_RD1_PE7 = 28,\n\tTEGRA_PIN_EQOS_RD2_PF0 = 29,\n\tTEGRA_PIN_EQOS_RD3_PF1 = 30,\n\tTEGRA_PIN_EQOS_RX_CTL_PF2 = 31,\n\tTEGRA_PIN_EQOS_RXC_PF3 = 32,\n\tTEGRA_PIN_EQOS_SMA_MDIO_PF4 = 33,\n\tTEGRA_PIN_EQOS_SMA_MDC_PF5 = 34,\n\tTEGRA_PIN_SOC_GPIO13_PG0 = 35,\n\tTEGRA_PIN_SOC_GPIO14_PG1 = 36,\n\tTEGRA_PIN_SOC_GPIO15_PG2 = 37,\n\tTEGRA_PIN_SOC_GPIO16_PG3 = 38,\n\tTEGRA_PIN_SOC_GPIO17_PG4 = 39,\n\tTEGRA_PIN_SOC_GPIO18_PG5 = 40,\n\tTEGRA_PIN_SOC_GPIO19_PG6 = 41,\n\tTEGRA_PIN_SOC_GPIO20_PG7 = 42,\n\tTEGRA_PIN_SOC_GPIO21_PH0 = 43,\n\tTEGRA_PIN_SOC_GPIO22_PH1 = 44,\n\tTEGRA_PIN_SOC_GPIO06_PH2 = 45,\n\tTEGRA_PIN_UART4_TX_PH3 = 46,\n\tTEGRA_PIN_UART4_RX_PH4 = 47,\n\tTEGRA_PIN_UART4_RTS_PH5 = 48,\n\tTEGRA_PIN_UART4_CTS_PH6 = 49,\n\tTEGRA_PIN_SOC_GPIO41_PH7 = 50,\n\tTEGRA_PIN_SOC_GPIO42_PI0 = 51,\n\tTEGRA_PIN_SOC_GPIO43_PI1 = 52,\n\tTEGRA_PIN_SOC_GPIO44_PI2 = 53,\n\tTEGRA_PIN_GEN1_I2C_SCL_PI3 = 54,\n\tTEGRA_PIN_GEN1_I2C_SDA_PI4 = 55,\n\tTEGRA_PIN_CPU_PWR_REQ_PI5 = 56,\n\tTEGRA_PIN_SOC_GPIO07_PI6 = 57,\n\tTEGRA_PIN_SDMMC1_CLK_PJ0 = 58,\n\tTEGRA_PIN_SDMMC1_CMD_PJ1 = 59,\n\tTEGRA_PIN_SDMMC1_DAT0_PJ2 = 60,\n\tTEGRA_PIN_SDMMC1_DAT1_PJ3 = 61,\n\tTEGRA_PIN_SDMMC1_DAT2_PJ4 = 62,\n\tTEGRA_PIN_SDMMC1_DAT3_PJ5 = 63,\n\tTEGRA_PIN_PEX_L0_CLKREQ_N_PK0 = 64,\n\tTEGRA_PIN_PEX_L0_RST_N_PK1 = 65,\n\tTEGRA_PIN_PEX_L1_CLKREQ_N_PK2 = 66,\n\tTEGRA_PIN_PEX_L1_RST_N_PK3 = 67,\n\tTEGRA_PIN_PEX_L2_CLKREQ_N_PK4 = 68,\n\tTEGRA_PIN_PEX_L2_RST_N_PK5 = 69,\n\tTEGRA_PIN_PEX_L3_CLKREQ_N_PK6 = 70,\n\tTEGRA_PIN_PEX_L3_RST_N_PK7 = 71,\n\tTEGRA_PIN_PEX_L4_CLKREQ_N_PL0 = 72,\n\tTEGRA_PIN_PEX_L4_RST_N_PL1 = 73,\n\tTEGRA_PIN_PEX_WAKE_N_PL2 = 74,\n\tTEGRA_PIN_SOC_GPIO34_PL3 = 75,\n\tTEGRA_PIN_DP_AUX_CH0_HPD_PM0 = 76,\n\tTEGRA_PIN_DP_AUX_CH1_HPD_PM1 = 77,\n\tTEGRA_PIN_DP_AUX_CH2_HPD_PM2 = 78,\n\tTEGRA_PIN_DP_AUX_CH3_HPD_PM3 = 79,\n\tTEGRA_PIN_SOC_GPIO55_PM4 = 80,\n\tTEGRA_PIN_SOC_GPIO36_PM5 = 81,\n\tTEGRA_PIN_SOC_GPIO53_PM6 = 82,\n\tTEGRA_PIN_SOC_GPIO38_PM7 = 83,\n\tTEGRA_PIN_DP_AUX_CH3_N_PN0 = 84,\n\tTEGRA_PIN_SOC_GPIO39_PN1 = 85,\n\tTEGRA_PIN_SOC_GPIO40_PN2 = 86,\n\tTEGRA_PIN_DP_AUX_CH1_P_PN3 = 87,\n\tTEGRA_PIN_DP_AUX_CH1_N_PN4 = 88,\n\tTEGRA_PIN_DP_AUX_CH2_P_PN5 = 89,\n\tTEGRA_PIN_DP_AUX_CH2_N_PN6 = 90,\n\tTEGRA_PIN_DP_AUX_CH3_P_PN7 = 91,\n\tTEGRA_PIN_EXTPERIPH1_CLK_PP0 = 92,\n\tTEGRA_PIN_EXTPERIPH2_CLK_PP1 = 93,\n\tTEGRA_PIN_CAM_I2C_SCL_PP2 = 94,\n\tTEGRA_PIN_CAM_I2C_SDA_PP3 = 95,\n\tTEGRA_PIN_SOC_GPIO23_PP4 = 96,\n\tTEGRA_PIN_SOC_GPIO24_PP5 = 97,\n\tTEGRA_PIN_SOC_GPIO25_PP6 = 98,\n\tTEGRA_PIN_PWR_I2C_SCL_PP7 = 99,\n\tTEGRA_PIN_PWR_I2C_SDA_PQ0 = 100,\n\tTEGRA_PIN_SOC_GPIO28_PQ1 = 101,\n\tTEGRA_PIN_SOC_GPIO29_PQ2 = 102,\n\tTEGRA_PIN_SOC_GPIO30_PQ3 = 103,\n\tTEGRA_PIN_SOC_GPIO31_PQ4 = 104,\n\tTEGRA_PIN_SOC_GPIO32_PQ5 = 105,\n\tTEGRA_PIN_SOC_GPIO33_PQ6 = 106,\n\tTEGRA_PIN_SOC_GPIO35_PQ7 = 107,\n\tTEGRA_PIN_SOC_GPIO37_PR0 = 108,\n\tTEGRA_PIN_SOC_GPIO56_PR1 = 109,\n\tTEGRA_PIN_UART1_TX_PR2 = 110,\n\tTEGRA_PIN_UART1_RX_PR3 = 111,\n\tTEGRA_PIN_UART1_RTS_PR4 = 112,\n\tTEGRA_PIN_UART1_CTS_PR5 = 113,\n\tTEGRA_PIN_GPU_PWR_REQ_PX0 = 114,\n\tTEGRA_PIN_CV_PWR_REQ_PX1 = 115,\n\tTEGRA_PIN_GP_PWM2_PX2 = 116,\n\tTEGRA_PIN_GP_PWM3_PX3 = 117,\n\tTEGRA_PIN_UART2_TX_PX4 = 118,\n\tTEGRA_PIN_UART2_RX_PX5 = 119,\n\tTEGRA_PIN_UART2_RTS_PX6 = 120,\n\tTEGRA_PIN_UART2_CTS_PX7 = 121,\n\tTEGRA_PIN_SPI3_SCK_PY0 = 122,\n\tTEGRA_PIN_SPI3_MISO_PY1 = 123,\n\tTEGRA_PIN_SPI3_MOSI_PY2 = 124,\n\tTEGRA_PIN_SPI3_CS0_PY3 = 125,\n\tTEGRA_PIN_SPI3_CS1_PY4 = 126,\n\tTEGRA_PIN_UART5_TX_PY5 = 127,\n\tTEGRA_PIN_UART5_RX_PY6 = 128,\n\tTEGRA_PIN_UART5_RTS_PY7 = 129,\n\tTEGRA_PIN_UART5_CTS_PZ0 = 130,\n\tTEGRA_PIN_USB_VBUS_EN0_PZ1 = 131,\n\tTEGRA_PIN_USB_VBUS_EN1_PZ2 = 132,\n\tTEGRA_PIN_SPI1_SCK_PZ3 = 133,\n\tTEGRA_PIN_SPI1_MISO_PZ4 = 134,\n\tTEGRA_PIN_SPI1_MOSI_PZ5 = 135,\n\tTEGRA_PIN_SPI1_CS0_PZ6 = 136,\n\tTEGRA_PIN_SPI1_CS1_PZ7 = 137,\n\tTEGRA_PIN_SPI5_SCK_PAC0 = 138,\n\tTEGRA_PIN_SPI5_MISO_PAC1 = 139,\n\tTEGRA_PIN_SPI5_MOSI_PAC2 = 140,\n\tTEGRA_PIN_SPI5_CS0_PAC3 = 141,\n\tTEGRA_PIN_SOC_GPIO57_PAC4 = 142,\n\tTEGRA_PIN_SOC_GPIO58_PAC5 = 143,\n\tTEGRA_PIN_SOC_GPIO59_PAC6 = 144,\n\tTEGRA_PIN_SOC_GPIO60_PAC7 = 145,\n\tTEGRA_PIN_SOC_GPIO45_PAD0 = 146,\n\tTEGRA_PIN_SOC_GPIO46_PAD1 = 147,\n\tTEGRA_PIN_SOC_GPIO47_PAD2 = 148,\n\tTEGRA_PIN_SOC_GPIO48_PAD3 = 149,\n\tTEGRA_PIN_UFS0_REF_CLK_PAE0 = 150,\n\tTEGRA_PIN_UFS0_RST_N_PAE1 = 151,\n\tTEGRA_PIN_PEX_L5_CLKREQ_N_PAF0 = 152,\n\tTEGRA_PIN_PEX_L5_RST_N_PAF1 = 153,\n\tTEGRA_PIN_PEX_L6_CLKREQ_N_PAF2 = 154,\n\tTEGRA_PIN_PEX_L6_RST_N_PAF3 = 155,\n\tTEGRA_PIN_PEX_L7_CLKREQ_N_PAG0 = 156,\n\tTEGRA_PIN_PEX_L7_RST_N_PAG1 = 157,\n\tTEGRA_PIN_PEX_L8_CLKREQ_N_PAG2 = 158,\n\tTEGRA_PIN_PEX_L8_RST_N_PAG3 = 159,\n\tTEGRA_PIN_PEX_L9_CLKREQ_N_PAG4 = 160,\n\tTEGRA_PIN_PEX_L9_RST_N_PAG5 = 161,\n\tTEGRA_PIN_PEX_L10_CLKREQ_N_PAG6 = 162,\n\tTEGRA_PIN_PEX_L10_RST_N_PAG7 = 163,\n\tTEGRA_PIN_EQOS_COMP = 164,\n\tTEGRA_PIN_QSPI_COMP = 165,\n\tTEGRA_PIN_SDMMC1_COMP = 166,\n};\n\nenum {\n\tTEGRA_PIN_DAP6_SCLK_PA0___2 = 0,\n\tTEGRA_PIN_DAP6_DOUT_PA1___2 = 1,\n\tTEGRA_PIN_DAP6_DIN_PA2___2 = 2,\n\tTEGRA_PIN_DAP6_FS_PA3___2 = 3,\n\tTEGRA_PIN_DAP4_SCLK_PA4___2 = 4,\n\tTEGRA_PIN_DAP4_DOUT_PA5___2 = 5,\n\tTEGRA_PIN_DAP4_DIN_PA6___2 = 6,\n\tTEGRA_PIN_DAP4_FS_PA7___2 = 7,\n\tTEGRA_PIN_CPU_PWR_REQ_0_PB0 = 8,\n\tTEGRA_PIN_CPU_PWR_REQ_1_PB1 = 9,\n\tTEGRA_PIN_QSPI0_SCK_PC0___2 = 10,\n\tTEGRA_PIN_QSPI0_CS_N_PC1___2 = 11,\n\tTEGRA_PIN_QSPI0_IO0_PC2___2 = 12,\n\tTEGRA_PIN_QSPI0_IO1_PC3___2 = 13,\n\tTEGRA_PIN_QSPI0_IO2_PC4___2 = 14,\n\tTEGRA_PIN_QSPI0_IO3_PC5___2 = 15,\n\tTEGRA_PIN_QSPI1_SCK_PC6___2 = 16,\n\tTEGRA_PIN_QSPI1_CS_N_PC7___2 = 17,\n\tTEGRA_PIN_QSPI1_IO0_PD0___2 = 18,\n\tTEGRA_PIN_QSPI1_IO1_PD1___2 = 19,\n\tTEGRA_PIN_QSPI1_IO2_PD2___2 = 20,\n\tTEGRA_PIN_QSPI1_IO3_PD3___2 = 21,\n\tTEGRA_PIN_EQOS_TXC_PE0___2 = 22,\n\tTEGRA_PIN_EQOS_TD0_PE1___2 = 23,\n\tTEGRA_PIN_EQOS_TD1_PE2___2 = 24,\n\tTEGRA_PIN_EQOS_TD2_PE3___2 = 25,\n\tTEGRA_PIN_EQOS_TD3_PE4___2 = 26,\n\tTEGRA_PIN_EQOS_TX_CTL_PE5___2 = 27,\n\tTEGRA_PIN_EQOS_RD0_PE6___2 = 28,\n\tTEGRA_PIN_EQOS_RD1_PE7___2 = 29,\n\tTEGRA_PIN_EQOS_RD2_PF0___2 = 30,\n\tTEGRA_PIN_EQOS_RD3_PF1___2 = 31,\n\tTEGRA_PIN_EQOS_RX_CTL_PF2___2 = 32,\n\tTEGRA_PIN_EQOS_RXC_PF3___2 = 33,\n\tTEGRA_PIN_EQOS_SMA_MDIO_PF4___2 = 34,\n\tTEGRA_PIN_EQOS_SMA_MDC_PF5___2 = 35,\n\tTEGRA_PIN_SOC_GPIO00_PG0 = 36,\n\tTEGRA_PIN_SOC_GPIO01_PG1 = 37,\n\tTEGRA_PIN_SOC_GPIO02_PG2 = 38,\n\tTEGRA_PIN_SOC_GPIO03_PG3 = 39,\n\tTEGRA_PIN_SOC_GPIO08_PG4 = 40,\n\tTEGRA_PIN_SOC_GPIO09_PG5 = 41,\n\tTEGRA_PIN_SOC_GPIO10_PG6 = 42,\n\tTEGRA_PIN_SOC_GPIO11_PG7 = 43,\n\tTEGRA_PIN_SOC_GPIO12_PH0 = 44,\n\tTEGRA_PIN_SOC_GPIO13_PH1 = 45,\n\tTEGRA_PIN_SOC_GPIO14_PH2 = 46,\n\tTEGRA_PIN_UART4_TX_PH3___2 = 47,\n\tTEGRA_PIN_UART4_RX_PH4___2 = 48,\n\tTEGRA_PIN_UART4_RTS_PH5___2 = 49,\n\tTEGRA_PIN_UART4_CTS_PH6___2 = 50,\n\tTEGRA_PIN_DAP2_SCLK_PH7 = 51,\n\tTEGRA_PIN_DAP2_DOUT_PI0 = 52,\n\tTEGRA_PIN_DAP2_DIN_PI1 = 53,\n\tTEGRA_PIN_DAP2_FS_PI2 = 54,\n\tTEGRA_PIN_GEN1_I2C_SCL_PI3___2 = 55,\n\tTEGRA_PIN_GEN1_I2C_SDA_PI4___2 = 56,\n\tTEGRA_PIN_SDMMC1_CLK_PJ0___2 = 57,\n\tTEGRA_PIN_SDMMC1_CMD_PJ1___2 = 58,\n\tTEGRA_PIN_SDMMC1_DAT0_PJ2___2 = 59,\n\tTEGRA_PIN_SDMMC1_DAT1_PJ3___2 = 60,\n\tTEGRA_PIN_SDMMC1_DAT2_PJ4___2 = 61,\n\tTEGRA_PIN_SDMMC1_DAT3_PJ5___2 = 62,\n\tTEGRA_PIN_PEX_L0_CLKREQ_N_PK0___2 = 63,\n\tTEGRA_PIN_PEX_L0_RST_N_PK1___2 = 64,\n\tTEGRA_PIN_PEX_L1_CLKREQ_N_PK2___2 = 65,\n\tTEGRA_PIN_PEX_L1_RST_N_PK3___2 = 66,\n\tTEGRA_PIN_PEX_L2_CLKREQ_N_PK4___2 = 67,\n\tTEGRA_PIN_PEX_L2_RST_N_PK5___2 = 68,\n\tTEGRA_PIN_PEX_L3_CLKREQ_N_PK6___2 = 69,\n\tTEGRA_PIN_PEX_L3_RST_N_PK7___2 = 70,\n\tTEGRA_PIN_PEX_L4_CLKREQ_N_PL0___2 = 71,\n\tTEGRA_PIN_PEX_L4_RST_N_PL1___2 = 72,\n\tTEGRA_PIN_PEX_WAKE_N_PL2___2 = 73,\n\tTEGRA_PIN_SATA_DEV_SLP_PL3 = 74,\n\tTEGRA_PIN_DP_AUX_CH0_HPD_PM0___2 = 75,\n\tTEGRA_PIN_DP_AUX_CH1_HPD_PM1___2 = 76,\n\tTEGRA_PIN_DP_AUX_CH2_HPD_PM2___2 = 77,\n\tTEGRA_PIN_DP_AUX_CH3_HPD_PM3___2 = 78,\n\tTEGRA_PIN_HDMI_CEC_PM4 = 79,\n\tTEGRA_PIN_SOC_GPIO50_PM5 = 80,\n\tTEGRA_PIN_SOC_GPIO51_PM6 = 81,\n\tTEGRA_PIN_SOC_GPIO52_PM7 = 82,\n\tTEGRA_PIN_SOC_GPIO53_PN0 = 83,\n\tTEGRA_PIN_SOC_GPIO54_PN1 = 84,\n\tTEGRA_PIN_SOC_GPIO55_PN2 = 85,\n\tTEGRA_PIN_SDMMC3_CLK_PO0 = 86,\n\tTEGRA_PIN_SDMMC3_CMD_PO1 = 87,\n\tTEGRA_PIN_SDMMC3_DAT0_PO2 = 88,\n\tTEGRA_PIN_SDMMC3_DAT1_PO3 = 89,\n\tTEGRA_PIN_SDMMC3_DAT2_PO4 = 90,\n\tTEGRA_PIN_SDMMC3_DAT3_PO5 = 91,\n\tTEGRA_PIN_EXTPERIPH1_CLK_PP0___2 = 92,\n\tTEGRA_PIN_EXTPERIPH2_CLK_PP1___2 = 93,\n\tTEGRA_PIN_CAM_I2C_SCL_PP2___2 = 94,\n\tTEGRA_PIN_CAM_I2C_SDA_PP3___2 = 95,\n\tTEGRA_PIN_SOC_GPIO04_PP4 = 96,\n\tTEGRA_PIN_SOC_GPIO05_PP5 = 97,\n\tTEGRA_PIN_SOC_GPIO06_PP6 = 98,\n\tTEGRA_PIN_SOC_GPIO07_PP7 = 99,\n\tTEGRA_PIN_SOC_GPIO20_PQ0 = 100,\n\tTEGRA_PIN_SOC_GPIO21_PQ1 = 101,\n\tTEGRA_PIN_SOC_GPIO22_PQ2 = 102,\n\tTEGRA_PIN_SOC_GPIO23_PQ3 = 103,\n\tTEGRA_PIN_SOC_GPIO40_PQ4 = 104,\n\tTEGRA_PIN_SOC_GPIO41_PQ5 = 105,\n\tTEGRA_PIN_SOC_GPIO42_PQ6 = 106,\n\tTEGRA_PIN_SOC_GPIO43_PQ7 = 107,\n\tTEGRA_PIN_SOC_GPIO44_PR0 = 108,\n\tTEGRA_PIN_SOC_GPIO45_PR1 = 109,\n\tTEGRA_PIN_UART1_TX_PR2___2 = 110,\n\tTEGRA_PIN_UART1_RX_PR3___2 = 111,\n\tTEGRA_PIN_UART1_RTS_PR4___2 = 112,\n\tTEGRA_PIN_UART1_CTS_PR5___2 = 113,\n\tTEGRA_PIN_DAP1_SCLK_PS0 = 114,\n\tTEGRA_PIN_DAP1_DOUT_PS1 = 115,\n\tTEGRA_PIN_DAP1_DIN_PS2 = 116,\n\tTEGRA_PIN_DAP1_FS_PS3 = 117,\n\tTEGRA_PIN_AUD_MCLK_PS4 = 118,\n\tTEGRA_PIN_SOC_GPIO30_PS5 = 119,\n\tTEGRA_PIN_SOC_GPIO31_PS6 = 120,\n\tTEGRA_PIN_SOC_GPIO32_PS7 = 121,\n\tTEGRA_PIN_SOC_GPIO33_PT0 = 122,\n\tTEGRA_PIN_DAP3_SCLK_PT1 = 123,\n\tTEGRA_PIN_DAP3_DOUT_PT2 = 124,\n\tTEGRA_PIN_DAP3_DIN_PT3 = 125,\n\tTEGRA_PIN_DAP3_FS_PT4 = 126,\n\tTEGRA_PIN_DAP5_SCLK_PT5 = 127,\n\tTEGRA_PIN_DAP5_DOUT_PT6 = 128,\n\tTEGRA_PIN_DAP5_DIN_PT7 = 129,\n\tTEGRA_PIN_DAP5_FS_PU0 = 130,\n\tTEGRA_PIN_DIRECTDC1_CLK_PV0 = 131,\n\tTEGRA_PIN_DIRECTDC1_IN_PV1 = 132,\n\tTEGRA_PIN_DIRECTDC1_OUT0_PV2 = 133,\n\tTEGRA_PIN_DIRECTDC1_OUT1_PV3 = 134,\n\tTEGRA_PIN_DIRECTDC1_OUT2_PV4 = 135,\n\tTEGRA_PIN_DIRECTDC1_OUT3_PV5 = 136,\n\tTEGRA_PIN_DIRECTDC1_OUT4_PV6 = 137,\n\tTEGRA_PIN_DIRECTDC1_OUT5_PV7 = 138,\n\tTEGRA_PIN_DIRECTDC1_OUT6_PW0 = 139,\n\tTEGRA_PIN_DIRECTDC1_OUT7_PW1 = 140,\n\tTEGRA_PIN_GPU_PWR_REQ_PX0___2 = 141,\n\tTEGRA_PIN_CV_PWR_REQ_PX1___2 = 142,\n\tTEGRA_PIN_GP_PWM2_PX2___2 = 143,\n\tTEGRA_PIN_GP_PWM3_PX3___2 = 144,\n\tTEGRA_PIN_UART2_TX_PX4___2 = 145,\n\tTEGRA_PIN_UART2_RX_PX5___2 = 146,\n\tTEGRA_PIN_UART2_RTS_PX6___2 = 147,\n\tTEGRA_PIN_UART2_CTS_PX7___2 = 148,\n\tTEGRA_PIN_SPI3_SCK_PY0___2 = 149,\n\tTEGRA_PIN_SPI3_MISO_PY1___2 = 150,\n\tTEGRA_PIN_SPI3_MOSI_PY2___2 = 151,\n\tTEGRA_PIN_SPI3_CS0_PY3___2 = 152,\n\tTEGRA_PIN_SPI3_CS1_PY4___2 = 153,\n\tTEGRA_PIN_UART5_TX_PY5___2 = 154,\n\tTEGRA_PIN_UART5_RX_PY6___2 = 155,\n\tTEGRA_PIN_UART5_RTS_PY7___2 = 156,\n\tTEGRA_PIN_UART5_CTS_PZ0___2 = 157,\n\tTEGRA_PIN_USB_VBUS_EN0_PZ1___2 = 158,\n\tTEGRA_PIN_USB_VBUS_EN1_PZ2___2 = 159,\n\tTEGRA_PIN_SPI1_SCK_PZ3___2 = 160,\n\tTEGRA_PIN_SPI1_MISO_PZ4___2 = 161,\n\tTEGRA_PIN_SPI1_MOSI_PZ5___2 = 162,\n\tTEGRA_PIN_SPI1_CS0_PZ6___2 = 163,\n\tTEGRA_PIN_SPI1_CS1_PZ7___2 = 164,\n\tTEGRA_PIN_UFS0_REF_CLK_PFF0 = 165,\n\tTEGRA_PIN_UFS0_RST_PFF1 = 166,\n\tTEGRA_PIN_PEX_L5_CLKREQ_N_PGG0 = 167,\n\tTEGRA_PIN_PEX_L5_RST_N_PGG1 = 168,\n\tTEGRA_PIN_DIRECTDC_COMP = 169,\n\tTEGRA_PIN_SDMMC4_CLK = 170,\n\tTEGRA_PIN_SDMMC4_CMD = 171,\n\tTEGRA_PIN_SDMMC4_DQS = 172,\n\tTEGRA_PIN_SDMMC4_DAT7 = 173,\n\tTEGRA_PIN_SDMMC4_DAT6 = 174,\n\tTEGRA_PIN_SDMMC4_DAT5 = 175,\n\tTEGRA_PIN_SDMMC4_DAT4 = 176,\n\tTEGRA_PIN_SDMMC4_DAT3 = 177,\n\tTEGRA_PIN_SDMMC4_DAT2 = 178,\n\tTEGRA_PIN_SDMMC4_DAT1 = 179,\n\tTEGRA_PIN_SDMMC4_DAT0 = 180,\n\tTEGRA_PIN_SDMMC1_COMP___2 = 181,\n\tTEGRA_PIN_SDMMC1_HV_TRIM = 182,\n\tTEGRA_PIN_SDMMC3_COMP = 183,\n\tTEGRA_PIN_SDMMC3_HV_TRIM = 184,\n\tTEGRA_PIN_EQOS_COMP___2 = 185,\n\tTEGRA_PIN_QSPI_COMP___2 = 186,\n};\n\nenum {\n\tTEST_NONE = 0,\n\tTEST_CORE = 1,\n\tTEST_CPUS = 2,\n\tTEST_PLATFORM = 3,\n\tTEST_DEVICES = 4,\n\tTEST_FREEZER = 5,\n\t__TEST_AFTER_LAST = 6,\n};\n\nenum {\n\tTHRESHOLD_INDEX_0 = 0,\n\tTHRESHOLD_INDEX_1 = 1,\n\tTHRESHOLD_INDEX_COUNT = 2,\n};\n\nenum {\n\tTIM_START = 4,\n\tTIM_STOP = 2,\n\tTIM_CLR_IRQ = 1,\n};\n\nenum {\n\tTLS_ALERT_DESC_CLOSE_NOTIFY = 0,\n\tTLS_ALERT_DESC_UNEXPECTED_MESSAGE = 10,\n\tTLS_ALERT_DESC_BAD_RECORD_MAC = 20,\n\tTLS_ALERT_DESC_RECORD_OVERFLOW = 22,\n\tTLS_ALERT_DESC_HANDSHAKE_FAILURE = 40,\n\tTLS_ALERT_DESC_BAD_CERTIFICATE = 42,\n\tTLS_ALERT_DESC_UNSUPPORTED_CERTIFICATE = 43,\n\tTLS_ALERT_DESC_CERTIFICATE_REVOKED = 44,\n\tTLS_ALERT_DESC_CERTIFICATE_EXPIRED = 45,\n\tTLS_ALERT_DESC_CERTIFICATE_UNKNOWN = 46,\n\tTLS_ALERT_DESC_ILLEGAL_PARAMETER = 47,\n\tTLS_ALERT_DESC_UNKNOWN_CA = 48,\n\tTLS_ALERT_DESC_ACCESS_DENIED = 49,\n\tTLS_ALERT_DESC_DECODE_ERROR = 50,\n\tTLS_ALERT_DESC_DECRYPT_ERROR = 51,\n\tTLS_ALERT_DESC_TOO_MANY_CIDS_REQUESTED = 52,\n\tTLS_ALERT_DESC_PROTOCOL_VERSION = 70,\n\tTLS_ALERT_DESC_INSUFFICIENT_SECURITY = 71,\n\tTLS_ALERT_DESC_INTERNAL_ERROR = 80,\n\tTLS_ALERT_DESC_INAPPROPRIATE_FALLBACK = 86,\n\tTLS_ALERT_DESC_USER_CANCELED = 90,\n\tTLS_ALERT_DESC_MISSING_EXTENSION = 109,\n\tTLS_ALERT_DESC_UNSUPPORTED_EXTENSION = 110,\n\tTLS_ALERT_DESC_UNRECOGNIZED_NAME = 112,\n\tTLS_ALERT_DESC_BAD_CERTIFICATE_STATUS_RESPONSE = 113,\n\tTLS_ALERT_DESC_UNKNOWN_PSK_IDENTITY = 115,\n\tTLS_ALERT_DESC_CERTIFICATE_REQUIRED = 116,\n\tTLS_ALERT_DESC_NO_APPLICATION_PROTOCOL = 120,\n};\n\nenum {\n\tTLS_ALERT_LEVEL_WARNING = 1,\n\tTLS_ALERT_LEVEL_FATAL = 2,\n};\n\nenum {\n\tTLS_NO_KEYRING = 0,\n\tTLS_NO_PEERID = 0,\n\tTLS_NO_CERT = 0,\n\tTLS_NO_PRIVKEY = 0,\n};\n\nenum {\n\tTLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20,\n\tTLS_RECORD_TYPE_ALERT = 21,\n\tTLS_RECORD_TYPE_HANDSHAKE = 22,\n\tTLS_RECORD_TYPE_DATA = 23,\n\tTLS_RECORD_TYPE_HEARTBEAT = 24,\n\tTLS_RECORD_TYPE_TLS12_CID = 25,\n\tTLS_RECORD_TYPE_ACK = 26,\n};\n\nenum {\n\tTOKEN_END = 0,\n\tTOKEN_START = 1,\n\tTOKEN_SLAVE_ADDR_WRITE = 2,\n\tTOKEN_SLAVE_ADDR_READ = 3,\n\tTOKEN_DATA = 4,\n\tTOKEN_DATA_LAST = 5,\n\tTOKEN_STOP = 6,\n};\n\nenum {\n\tTOO_MANY_CLOSE = -1,\n\tTOO_MANY_OPEN = -2,\n\tMISSING_QUOTE = -3,\n};\n\nenum {\n\tTPS65219_INT_LDO3_SCG = 0,\n\tTPS65219_INT_LDO3_OC = 1,\n\tTPS65219_INT_LDO3_UV = 2,\n\tTPS65219_INT_LDO4_SCG = 3,\n\tTPS65219_INT_LDO4_OC = 4,\n\tTPS65219_INT_LDO4_UV = 5,\n\tTPS65219_INT_LDO1_SCG = 6,\n\tTPS65219_INT_LDO1_OC = 7,\n\tTPS65219_INT_LDO1_UV = 8,\n\tTPS65219_INT_LDO2_SCG = 9,\n\tTPS65219_INT_LDO2_OC = 10,\n\tTPS65219_INT_LDO2_UV = 11,\n\tTPS65219_INT_BUCK3_SCG = 12,\n\tTPS65219_INT_BUCK3_OC = 13,\n\tTPS65219_INT_BUCK3_NEG_OC = 14,\n\tTPS65219_INT_BUCK3_UV = 15,\n\tTPS65219_INT_BUCK1_SCG = 16,\n\tTPS65219_INT_BUCK1_OC = 17,\n\tTPS65219_INT_BUCK1_NEG_OC = 18,\n\tTPS65219_INT_BUCK1_UV = 19,\n\tTPS65219_INT_BUCK2_SCG = 20,\n\tTPS65219_INT_BUCK2_OC = 21,\n\tTPS65219_INT_BUCK2_NEG_OC = 22,\n\tTPS65219_INT_BUCK2_UV = 23,\n\tTPS65219_INT_SENSOR_3_WARM = 24,\n\tTPS65219_INT_SENSOR_2_WARM = 25,\n\tTPS65219_INT_SENSOR_1_WARM = 26,\n\tTPS65219_INT_SENSOR_0_WARM = 27,\n\tTPS65219_INT_SENSOR_3_HOT = 28,\n\tTPS65219_INT_SENSOR_2_HOT = 29,\n\tTPS65219_INT_SENSOR_1_HOT = 30,\n\tTPS65219_INT_SENSOR_0_HOT = 31,\n\tTPS65219_INT_BUCK1_RV = 32,\n\tTPS65219_INT_BUCK2_RV = 33,\n\tTPS65219_INT_BUCK3_RV = 34,\n\tTPS65219_INT_LDO1_RV = 35,\n\tTPS65219_INT_LDO2_RV = 36,\n\tTPS65219_INT_LDO3_RV = 37,\n\tTPS65219_INT_LDO4_RV = 38,\n\tTPS65219_INT_BUCK1_RV_SD = 39,\n\tTPS65219_INT_BUCK2_RV_SD = 40,\n\tTPS65219_INT_BUCK3_RV_SD = 41,\n\tTPS65219_INT_LDO1_RV_SD = 42,\n\tTPS65219_INT_LDO2_RV_SD = 43,\n\tTPS65219_INT_LDO3_RV_SD = 44,\n\tTPS65219_INT_LDO4_RV_SD = 45,\n\tTPS65219_INT_TIMEOUT = 46,\n\tTPS65219_INT_PB_FALLING_EDGE_DETECT = 47,\n\tTPS65219_INT_PB_RISING_EDGE_DETECT = 48,\n};\n\nenum {\n\tTP_ERR_FILE_NOT_FOUND = 0,\n\tTP_ERR_NO_REGULAR_FILE = 1,\n\tTP_ERR_BAD_REFCNT = 2,\n\tTP_ERR_REFCNT_OPEN_BRACE = 3,\n\tTP_ERR_BAD_REFCNT_SUFFIX = 4,\n\tTP_ERR_BAD_UPROBE_OFFS = 5,\n\tTP_ERR_BAD_MAXACT_TYPE = 6,\n\tTP_ERR_BAD_MAXACT = 7,\n\tTP_ERR_MAXACT_TOO_BIG = 8,\n\tTP_ERR_BAD_PROBE_ADDR = 9,\n\tTP_ERR_NON_UNIQ_SYMBOL = 10,\n\tTP_ERR_BAD_RETPROBE = 11,\n\tTP_ERR_NO_TRACEPOINT = 12,\n\tTP_ERR_BAD_TP_NAME = 13,\n\tTP_ERR_BAD_ADDR_SUFFIX = 14,\n\tTP_ERR_NO_GROUP_NAME = 15,\n\tTP_ERR_GROUP_TOO_LONG = 16,\n\tTP_ERR_BAD_GROUP_NAME = 17,\n\tTP_ERR_NO_EVENT_NAME = 18,\n\tTP_ERR_EVENT_TOO_LONG = 19,\n\tTP_ERR_BAD_EVENT_NAME = 20,\n\tTP_ERR_EVENT_EXIST = 21,\n\tTP_ERR_RETVAL_ON_PROBE = 22,\n\tTP_ERR_NO_RETVAL = 23,\n\tTP_ERR_BAD_STACK_NUM = 24,\n\tTP_ERR_BAD_ARG_NUM = 25,\n\tTP_ERR_BAD_VAR = 26,\n\tTP_ERR_BAD_REG_NAME = 27,\n\tTP_ERR_BAD_MEM_ADDR = 28,\n\tTP_ERR_BAD_IMM = 29,\n\tTP_ERR_IMMSTR_NO_CLOSE = 30,\n\tTP_ERR_FILE_ON_KPROBE = 31,\n\tTP_ERR_BAD_FILE_OFFS = 32,\n\tTP_ERR_SYM_ON_UPROBE = 33,\n\tTP_ERR_TOO_MANY_OPS = 34,\n\tTP_ERR_DEREF_NEED_BRACE = 35,\n\tTP_ERR_BAD_DEREF_OFFS = 36,\n\tTP_ERR_DEREF_OPEN_BRACE = 37,\n\tTP_ERR_COMM_CANT_DEREF = 38,\n\tTP_ERR_BAD_FETCH_ARG = 39,\n\tTP_ERR_ARRAY_NO_CLOSE = 40,\n\tTP_ERR_BAD_ARRAY_SUFFIX = 41,\n\tTP_ERR_BAD_ARRAY_NUM = 42,\n\tTP_ERR_ARRAY_TOO_BIG = 43,\n\tTP_ERR_BAD_TYPE = 44,\n\tTP_ERR_BAD_STRING = 45,\n\tTP_ERR_BAD_SYMSTRING = 46,\n\tTP_ERR_BAD_BITFIELD = 47,\n\tTP_ERR_ARG_NAME_TOO_LONG = 48,\n\tTP_ERR_NO_ARG_NAME = 49,\n\tTP_ERR_BAD_ARG_NAME = 50,\n\tTP_ERR_USED_ARG_NAME = 51,\n\tTP_ERR_ARG_TOO_LONG = 52,\n\tTP_ERR_NO_ARG_BODY = 53,\n\tTP_ERR_BAD_INSN_BNDRY = 54,\n\tTP_ERR_FAIL_REG_PROBE = 55,\n\tTP_ERR_DIFF_PROBE_TYPE = 56,\n\tTP_ERR_DIFF_ARG_TYPE = 57,\n\tTP_ERR_SAME_PROBE = 58,\n\tTP_ERR_NO_EVENT_INFO = 59,\n\tTP_ERR_BAD_ATTACH_EVENT = 60,\n\tTP_ERR_BAD_ATTACH_ARG = 61,\n\tTP_ERR_NO_EP_FILTER = 62,\n\tTP_ERR_NOSUP_BTFARG = 63,\n\tTP_ERR_NO_BTFARG = 64,\n\tTP_ERR_NO_BTF_ENTRY = 65,\n\tTP_ERR_BAD_VAR_ARGS = 66,\n\tTP_ERR_NOFENTRY_ARGS = 67,\n\tTP_ERR_DOUBLE_ARGS = 68,\n\tTP_ERR_ARGS_2LONG = 69,\n\tTP_ERR_ARGIDX_2BIG = 70,\n\tTP_ERR_NO_PTR_STRCT = 71,\n\tTP_ERR_NOSUP_DAT_ARG = 72,\n\tTP_ERR_BAD_HYPHEN = 73,\n\tTP_ERR_NO_BTF_FIELD = 74,\n\tTP_ERR_BAD_BTF_TID = 75,\n\tTP_ERR_BAD_TYPE4STR = 76,\n\tTP_ERR_NEED_STRING_TYPE = 77,\n\tTP_ERR_TOO_MANY_EARGS = 78,\n};\n\nenum {\n\tTRACEFS_EVENT_INODE = 2,\n\tTRACEFS_GID_PERM_SET = 4,\n\tTRACEFS_UID_PERM_SET = 8,\n\tTRACEFS_INSTANCE_INODE = 16,\n};\n\nenum {\n\tTRACE_ARRAY_FL_GLOBAL = 1,\n\tTRACE_ARRAY_FL_BOOT = 2,\n\tTRACE_ARRAY_FL_MOD_INIT = 4,\n};\n\nenum {\n\tTRACE_EVENT_FL_CAP_ANY = 1,\n\tTRACE_EVENT_FL_NO_SET_FILTER = 2,\n\tTRACE_EVENT_FL_IGNORE_ENABLE = 4,\n\tTRACE_EVENT_FL_TRACEPOINT = 8,\n\tTRACE_EVENT_FL_DYNAMIC = 16,\n\tTRACE_EVENT_FL_KPROBE = 32,\n\tTRACE_EVENT_FL_UPROBE = 64,\n\tTRACE_EVENT_FL_EPROBE = 128,\n\tTRACE_EVENT_FL_FPROBE = 256,\n\tTRACE_EVENT_FL_CUSTOM = 512,\n\tTRACE_EVENT_FL_TEST_STR = 1024,\n};\n\nenum {\n\tTRACE_EVENT_FL_CAP_ANY_BIT = 0,\n\tTRACE_EVENT_FL_NO_SET_FILTER_BIT = 1,\n\tTRACE_EVENT_FL_IGNORE_ENABLE_BIT = 2,\n\tTRACE_EVENT_FL_TRACEPOINT_BIT = 3,\n\tTRACE_EVENT_FL_DYNAMIC_BIT = 4,\n\tTRACE_EVENT_FL_KPROBE_BIT = 5,\n\tTRACE_EVENT_FL_UPROBE_BIT = 6,\n\tTRACE_EVENT_FL_EPROBE_BIT = 7,\n\tTRACE_EVENT_FL_FPROBE_BIT = 8,\n\tTRACE_EVENT_FL_CUSTOM_BIT = 9,\n\tTRACE_EVENT_FL_TEST_STR_BIT = 10,\n};\n\nenum {\n\tTRACE_NOP_OPT_ACCEPT = 1,\n\tTRACE_NOP_OPT_REFUSE = 2,\n};\n\nenum {\n\tTRACE_PIDS = 1,\n\tTRACE_NO_PIDS = 2,\n};\n\nenum {\n\tTRACE_SIGNAL_DELIVERED = 0,\n\tTRACE_SIGNAL_IGNORED = 1,\n\tTRACE_SIGNAL_ALREADY_PENDING = 2,\n\tTRACE_SIGNAL_OVERFLOW_FAIL = 3,\n\tTRACE_SIGNAL_LOSE_INFO = 4,\n};\n\nenum {\n\tTRANS_MODE_PIO = 0,\n\tTRANS_MODE_IDMAC = 1,\n\tTRANS_MODE_EDMAC = 2,\n};\n\nenum {\n\tTRANS_TX_FAIL_BASE___2 = 0,\n\tTRANS_RX_FAIL_BASE___2 = 32,\n\tDMA_TX_ERR_BASE___2 = 64,\n\tSIPC_RX_ERR_BASE = 80,\n\tDMA_RX_ERR_BASE___2 = 96,\n\tTRANS_TX_OPEN_FAIL_WITH_IT_NEXUS_LOSS = 0,\n\tTRANS_TX_ERR_PHY_NOT_ENABLE = 1,\n\tTRANS_TX_OPEN_CNX_ERR_WRONG_DESTINATION = 2,\n\tTRANS_TX_OPEN_CNX_ERR_ZONE_VIOLATION = 3,\n\tTRANS_TX_OPEN_CNX_ERR_BY_OTHER = 4,\n\tRESERVED0 = 5,\n\tTRANS_TX_OPEN_CNX_ERR_AIP_TIMEOUT = 6,\n\tTRANS_TX_OPEN_CNX_ERR_STP_RESOURCES_BUSY = 7,\n\tTRANS_TX_OPEN_CNX_ERR_PROTOCOL_NOT_SUPPORTED = 8,\n\tTRANS_TX_OPEN_CNX_ERR_CONNECTION_RATE_NOT_SUPPORTED = 9,\n\tTRANS_TX_OPEN_CNX_ERR_BAD_DESTINATION = 10,\n\tTRANS_TX_OPEN_CNX_ERR_BREAK_RCVD = 11,\n\tTRANS_TX_OPEN_CNX_ERR_LOW_PHY_POWER = 12,\n\tTRANS_TX_OPEN_CNX_ERR_PATHWAY_BLOCKED = 13,\n\tTRANS_TX_OPEN_CNX_ERR_OPEN_TIMEOUT = 14,\n\tTRANS_TX_OPEN_CNX_ERR_NO_DESTINATION = 15,\n\tTRANS_TX_OPEN_RETRY_ERR_THRESHOLD_REACHED = 16,\n\tTRANS_TX_ERR_FRAME_TXED = 17,\n\tTRANS_TX_ERR_WITH_BREAK_TIMEOUT = 18,\n\tTRANS_TX_ERR_WITH_BREAK_REQUEST = 19,\n\tTRANS_TX_ERR_WITH_BREAK_RECEVIED = 20,\n\tTRANS_TX_ERR_WITH_CLOSE_TIMEOUT = 21,\n\tTRANS_TX_ERR_WITH_CLOSE_NORMAL = 22,\n\tTRANS_TX_ERR_WITH_CLOSE_PHYDISALE = 23,\n\tTRANS_TX_ERR_WITH_CLOSE_DWS_TIMEOUT = 24,\n\tTRANS_TX_ERR_WITH_CLOSE_COMINIT = 25,\n\tTRANS_TX_ERR_WITH_NAK_RECEVIED = 26,\n\tTRANS_TX_ERR_WITH_ACK_NAK_TIMEOUT = 27,\n\tTRANS_TX_ERR_WITH_CREDIT_TIMEOUT = 28,\n\tTRANS_TX_ERR_WITH_IPTT_CONFLICT = 29,\n\tTRANS_TX_ERR_WITH_OPEN_BY_DES_OR_OTHERS = 30,\n\tTRANS_TX_ERR_WITH_WAIT_RECV_TIMEOUT = 31,\n\tTRANS_RX_ERR_WITH_RXFRAME_CRC_ERR = 32,\n\tTRANS_RX_ERR_WITH_RXFIS_8B10B_DISP_ERR = 33,\n\tTRANS_RX_ERR_WITH_RXFRAME_HAVE_ERRPRM = 34,\n\tTRANS_RX_ERR_WITH_RXFIS_DECODE_ERROR = 35,\n\tTRANS_RX_ERR_WITH_RXFIS_CRC_ERR = 36,\n\tTRANS_RX_ERR_WITH_RXFRAME_LENGTH_OVERRUN = 37,\n\tTRANS_RX_ERR_WITH_RXFIS_RX_SYNCP = 38,\n\tTRANS_RX_ERR_WITH_LINK_BUF_OVERRUN = 39,\n\tTRANS_RX_ERR_WITH_BREAK_TIMEOUT = 40,\n\tTRANS_RX_ERR_WITH_BREAK_REQUEST = 41,\n\tTRANS_RX_ERR_WITH_BREAK_RECEVIED = 42,\n\tRESERVED1 = 43,\n\tTRANS_RX_ERR_WITH_CLOSE_NORMAL = 44,\n\tTRANS_RX_ERR_WITH_CLOSE_PHY_DISABLE = 45,\n\tTRANS_RX_ERR_WITH_CLOSE_DWS_TIMEOUT = 46,\n\tTRANS_RX_ERR_WITH_CLOSE_COMINIT = 47,\n\tTRANS_RX_ERR_WITH_DATA_LEN0 = 48,\n\tTRANS_RX_ERR_WITH_BAD_HASH = 49,\n\tTRANS_RX_XRDY_WLEN_ZERO_ERR = 50,\n\tTRANS_RX_SSP_FRM_LEN_ERR = 51,\n\tRESERVED2 = 52,\n\tRESERVED3 = 53,\n\tRESERVED4 = 54,\n\tRESERVED5 = 55,\n\tTRANS_RX_ERR_WITH_BAD_FRM_TYPE = 56,\n\tTRANS_RX_SMP_FRM_LEN_ERR = 57,\n\tTRANS_RX_SMP_RESP_TIMEOUT_ERR___2 = 58,\n\tRESERVED6 = 59,\n\tRESERVED7 = 60,\n\tRESERVED8 = 61,\n\tRESERVED9 = 62,\n\tTRANS_RX_R_ERR = 63,\n\tDMA_TX_DIF_CRC_ERR___2 = 64,\n\tDMA_TX_DIF_APP_ERR___2 = 65,\n\tDMA_TX_DIF_RPP_ERR___2 = 66,\n\tDMA_TX_DATA_SGL_OVERFLOW = 67,\n\tDMA_TX_DIF_SGL_OVERFLOW = 68,\n\tDMA_TX_UNEXP_XFER_ERR = 69,\n\tDMA_TX_UNEXP_RETRANS_ERR = 70,\n\tDMA_TX_XFER_LEN_OVERFLOW = 71,\n\tDMA_TX_XFER_OFFSET_ERR = 72,\n\tDMA_TX_RAM_ECC_ERR = 73,\n\tDMA_TX_DIF_LEN_ALIGN_ERR = 74,\n\tDMA_TX_MAX_ERR_CODE = 75,\n\tSIPC_RX_FIS_STATUS_ERR_BIT_VLD = 80,\n\tSIPC_RX_PIO_WRSETUP_STATUS_DRQ_ERR = 81,\n\tSIPC_RX_FIS_STATUS_BSY_BIT_ERR = 82,\n\tSIPC_RX_WRSETUP_LEN_ODD_ERR = 83,\n\tSIPC_RX_WRSETUP_LEN_ZERO_ERR = 84,\n\tSIPC_RX_WRDATA_LEN_NOT_MATCH_ERR = 85,\n\tSIPC_RX_NCQ_WRSETUP_OFFSET_ERR = 86,\n\tSIPC_RX_NCQ_WRSETUP_AUTO_ACTIVE_ERR = 87,\n\tSIPC_RX_SATA_UNEXP_FIS_ERR = 88,\n\tSIPC_RX_WRSETUP_ESTATUS_ERR = 89,\n\tSIPC_RX_DATA_UNDERFLOW_ERR = 90,\n\tSIPC_RX_MAX_ERR_CODE = 91,\n\tDMA_RX_DIF_CRC_ERR___2 = 96,\n\tDMA_RX_DIF_APP_ERR___2 = 97,\n\tDMA_RX_DIF_RPP_ERR___2 = 98,\n\tDMA_RX_DATA_SGL_OVERFLOW = 99,\n\tDMA_RX_DIF_SGL_OVERFLOW = 100,\n\tDMA_RX_DATA_LEN_OVERFLOW = 101,\n\tDMA_RX_DATA_LEN_UNDERFLOW = 102,\n\tDMA_RX_DATA_OFFSET_ERR___2 = 103,\n\tRESERVED10 = 104,\n\tDMA_RX_SATA_FRAME_TYPE_ERR = 105,\n\tDMA_RX_RESP_BUF_OVERFLOW = 106,\n\tDMA_RX_UNEXP_RETRANS_RESP_ERR___2 = 107,\n\tDMA_RX_UNEXP_NORM_RESP_ERR = 108,\n\tDMA_RX_UNEXP_RDFRAME_ERR = 109,\n\tDMA_RX_PIO_DATA_LEN_ERR = 110,\n\tDMA_RX_RDSETUP_STATUS_ERR = 111,\n\tDMA_RX_RDSETUP_STATUS_DRQ_ERR = 112,\n\tDMA_RX_RDSETUP_STATUS_BSY_ERR = 113,\n\tDMA_RX_RDSETUP_LEN_ODD_ERR = 114,\n\tDMA_RX_RDSETUP_LEN_ZERO_ERR = 115,\n\tDMA_RX_RDSETUP_LEN_OVER_ERR = 116,\n\tDMA_RX_RDSETUP_OFFSET_ERR = 117,\n\tDMA_RX_RDSETUP_ACTIVE_ERR = 118,\n\tDMA_RX_RDSETUP_ESTATUS_ERR = 119,\n\tDMA_RX_RAM_ECC_ERR = 120,\n\tDMA_RX_UNKNOWN_FRM_ERR = 121,\n\tDMA_RX_MAX_ERR_CODE = 122,\n};\n\nenum {\n\tTST_FRC_DPERR_MR = 128,\n\tTST_FRC_DPERR_MW = 64,\n\tTST_FRC_DPERR_TR = 32,\n\tTST_FRC_DPERR_TW = 16,\n\tTST_FRC_APERR_M = 8,\n\tTST_FRC_APERR_T = 4,\n\tTST_CFG_WRITE_ON = 2,\n\tTST_CFG_WRITE_OFF = 1,\n};\n\nenum {\n\tTXA_ENA_FSYNC = 128,\n\tTXA_DIS_FSYNC = 64,\n\tTXA_ENA_ALLOC = 32,\n\tTXA_DIS_ALLOC = 16,\n\tTXA_START_RC = 8,\n\tTXA_STOP_RC = 4,\n\tTXA_ENA_ARB = 2,\n\tTXA_DIS_ARB = 1,\n};\n\nenum {\n\tTXA_ITI_INI = 512,\n\tTXA_ITI_VAL = 516,\n\tTXA_LIM_INI = 520,\n\tTXA_LIM_VAL = 524,\n\tTXA_CTRL = 528,\n\tTXA_TEST = 529,\n\tTXA_STAT = 530,\n\tRSS_KEY = 544,\n\tRSS_CFG = 584,\n};\n\nenum {\n\tTX_DYN_WM_ENA = 3,\n};\n\nenum {\n\tTX_GMF_EA = 3392,\n\tTX_GMF_AE_THR = 3396,\n\tTX_GMF_CTRL_T = 3400,\n\tTX_GMF_WP = 3424,\n\tTX_GMF_WSP = 3428,\n\tTX_GMF_WLEV = 3432,\n\tTX_GMF_RP = 3440,\n\tTX_GMF_RSTP = 3444,\n\tTX_GMF_RLEV = 3448,\n\tECU_AE_THR = 112,\n\tECU_TXFF_LEV = 416,\n\tECU_JUMBO_WM = 128,\n};\n\nenum {\n\tTX_STFW_DIS = -2147483648,\n\tTX_STFW_ENA = 1073741824,\n\tTX_VLAN_TAG_ON = 33554432,\n\tTX_VLAN_TAG_OFF = 16777216,\n\tTX_PCI_JUM_ENA = 8388608,\n\tTX_PCI_JUM_DIS = 4194304,\n\tGMF_WSP_TST_ON = 262144,\n\tGMF_WSP_TST_OFF = 131072,\n\tGMF_WSP_STEP = 65536,\n\tGMF_CLI_TX_FU = 64,\n\tGMF_CLI_TX_FC = 32,\n\tGMF_CLI_TX_PE = 16,\n};\n\nenum {\n\tUARTDM_1P1 = 1,\n\tUARTDM_1P2 = 2,\n\tUARTDM_1P3 = 3,\n\tUARTDM_1P4 = 4,\n};\n\nenum {\n\tUART_IRQ_SUM = 0,\n\tUART_RX_IRQ = 0,\n\tUART_TX_IRQ = 1,\n\tUART_IRQ_COUNT = 2,\n};\n\nenum {\n\tUDPTCP = 1,\n\tCALSUM = 2,\n\tWR_SUM = 4,\n\tINIT_SUM = 8,\n\tLOCK_SUM = 16,\n\tINS_VLAN = 32,\n\tEOP = 128,\n};\n\nenum {\n\tUDP_BPF_IPV4 = 0,\n\tUDP_BPF_IPV6 = 1,\n\tUDP_BPF_NUM_PROTS = 2,\n};\n\nenum {\n\tUDP_FLAGS_CORK = 0,\n\tUDP_FLAGS_NO_CHECK6_TX = 1,\n\tUDP_FLAGS_NO_CHECK6_RX = 2,\n\tUDP_FLAGS_GRO_ENABLED = 3,\n\tUDP_FLAGS_ACCEPT_FRAGLIST = 4,\n\tUDP_FLAGS_ACCEPT_L4 = 5,\n\tUDP_FLAGS_ENCAP_ENABLED = 6,\n\tUDP_FLAGS_UDPLITE_SEND_CC = 7,\n\tUDP_FLAGS_UDPLITE_RECV_CC = 8,\n};\n\nenum {\n\tUDP_MIB_NUM = 0,\n\tUDP_MIB_INDATAGRAMS = 1,\n\tUDP_MIB_NOPORTS = 2,\n\tUDP_MIB_INERRORS = 3,\n\tUDP_MIB_OUTDATAGRAMS = 4,\n\tUDP_MIB_RCVBUFERRORS = 5,\n\tUDP_MIB_SNDBUFERRORS = 6,\n\tUDP_MIB_CSUMERRORS = 7,\n\tUDP_MIB_IGNOREDMULTI = 8,\n\tUDP_MIB_MEMERRORS = 9,\n\t__UDP_MIB_MAX = 10,\n};\n\nenum {\n\tUFSHCD_EH_IN_PROGRESS = 1,\n};\n\nenum {\n\tUFSHCD_MAX_CHANNEL = 0,\n\tUFSHCD_MAX_ID = 1,\n};\n\nenum {\n\tUFSHCD_NANO_AMP = 0,\n\tUFSHCD_MICRO_AMP = 1,\n\tUFSHCD_MILI_AMP = 2,\n\tUFSHCD_AMP = 3,\n};\n\nenum {\n\tUFSHCD_POLL_FROM_INTERRUPT_CONTEXT = -1,\n};\n\nenum {\n\tUFSHCD_UIC_DL_PA_INIT_ERROR = 1,\n\tUFSHCD_UIC_DL_NAC_RECEIVED_ERROR = 2,\n\tUFSHCD_UIC_DL_TCx_REPLAY_ERROR = 4,\n\tUFSHCD_UIC_NL_ERROR = 8,\n\tUFSHCD_UIC_TL_ERROR = 16,\n\tUFSHCD_UIC_DME_ERROR = 32,\n\tUFSHCD_UIC_PA_GENERIC_ERROR = 64,\n};\n\nenum {\n\tUFS_ABORT_TASK = 1,\n\tUFS_ABORT_TASK_SET = 2,\n\tUFS_CLEAR_TASK_SET = 4,\n\tUFS_LOGICAL_RESET = 8,\n\tUFS_QUERY_TASK = 128,\n\tUFS_QUERY_TASK_SET = 129,\n};\n\nenum {\n\tUFS_DEV_HIGH_TEMP_NOTIF = 16,\n\tUFS_DEV_LOW_TEMP_NOTIF = 32,\n\tUFS_DEV_EXT_TEMP_NOTIF = 64,\n\tUFS_DEV_HPB_SUPPORT = 128,\n\tUFS_DEV_WRITE_BOOSTER_SUP = 256,\n};\n\nenum {\n\tUFS_REG_OCPTHRTL = 192,\n\tUFS_REG_OOCPR = 196,\n\tUFS_REG_CDACFG = 208,\n\tUFS_REG_CDATX1 = 212,\n\tUFS_REG_CDATX2 = 216,\n\tUFS_REG_CDARX1 = 220,\n\tUFS_REG_CDARX2 = 224,\n\tUFS_REG_CDASTA = 228,\n\tUFS_REG_LBMCFG = 240,\n\tUFS_REG_LBMSTA = 244,\n\tUFS_REG_UFSMODE = 248,\n\tUFS_REG_HCLKDIV = 252,\n};\n\nenum {\n\tUFS_UPIU_REPORT_LUNS_WLUN = 129,\n\tUFS_UPIU_UFS_DEVICE_WLUN = 208,\n\tUFS_UPIU_BOOT_WLUN = 176,\n\tUFS_UPIU_RPMB_WLUN = 196,\n};\n\nenum {\n\tUIC_CMD_TIMEOUT_DEFAULT = 500,\n\tUIC_CMD_TIMEOUT_MAX = 2000,\n};\n\nenum {\n\tUNAME26 = 131072,\n\tADDR_NO_RANDOMIZE = 262144,\n\tFDPIC_FUNCPTRS = 524288,\n\tMMAP_PAGE_ZERO = 1048576,\n\tADDR_COMPAT_LAYOUT = 2097152,\n\tREAD_IMPLIES_EXEC = 4194304,\n\tADDR_LIMIT_32BIT = 8388608,\n\tSHORT_INODE = 16777216,\n\tWHOLE_SECONDS = 33554432,\n\tSTICKY_TIMEOUTS = 67108864,\n\tADDR_LIMIT_3GB = 134217728,\n};\n\nenum {\n\tUNIPRO_L1_5 = 0,\n\tUNIPRO_L2 = 1,\n\tUNIPRO_L3 = 2,\n\tUNIPRO_L4 = 3,\n\tUNIPRO_DME = 4,\n};\n\nenum {\n\tUPIU_CMD_FLAGS_NONE = 0,\n\tUPIU_CMD_FLAGS_CP = 4,\n\tUPIU_CMD_FLAGS_WRITE = 32,\n\tUPIU_CMD_FLAGS_READ = 64,\n};\n\nenum {\n\tUPIU_COMMAND_SET_TYPE_SCSI = 0,\n\tUPIU_COMMAND_SET_TYPE_UFS = 1,\n\tUPIU_COMMAND_SET_TYPE_QUERY = 2,\n};\n\nenum {\n\tUPIU_QUERY_FUNC_STANDARD_READ_REQUEST = 1,\n\tUPIU_QUERY_FUNC_STANDARD_WRITE_REQUEST = 129,\n};\n\nenum {\n\tUPIU_RSP_FLAG_UNDERFLOW = 32,\n\tUPIU_RSP_FLAG_OVERFLOW = 64,\n};\n\nenum {\n\tUPIU_TASK_MANAGEMENT_FUNC_COMPL = 0,\n\tUPIU_TASK_MANAGEMENT_FUNC_NOT_SUPPORTED = 4,\n\tUPIU_TASK_MANAGEMENT_FUNC_SUCCEEDED = 8,\n\tUPIU_TASK_MANAGEMENT_FUNC_FAILED = 5,\n\tUPIU_INCORRECT_LOGICAL_UNIT_NO = 9,\n};\n\nenum {\n\tUSB_CTRL_SETUP_SCB1_EN_SELECTOR = 0,\n\tUSB_CTRL_SETUP_SCB2_EN_SELECTOR = 1,\n\tUSB_CTRL_SETUP_SS_EHCI64BIT_EN_SELECTOR = 2,\n\tUSB_CTRL_SETUP_STRAP_IPP_SEL_SELECTOR = 3,\n\tUSB_CTRL_SETUP_OC3_DISABLE_PORT0_SELECTOR = 4,\n\tUSB_CTRL_SETUP_OC3_DISABLE_PORT1_SELECTOR = 5,\n\tUSB_CTRL_SETUP_OC3_DISABLE_SELECTOR = 6,\n\tUSB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_SELECTOR = 7,\n\tUSB_CTRL_USB_PM_BDC_SOFT_RESETB_SELECTOR = 8,\n\tUSB_CTRL_USB_PM_XHC_SOFT_RESETB_SELECTOR = 9,\n\tUSB_CTRL_USB_PM_USB_PWRDN_SELECTOR = 10,\n\tUSB_CTRL_USB30_CTL1_XHC_SOFT_RESETB_SELECTOR = 11,\n\tUSB_CTRL_USB30_CTL1_USB3_IOC_SELECTOR = 12,\n\tUSB_CTRL_USB30_CTL1_USB3_IPP_SELECTOR = 13,\n\tUSB_CTRL_USB_DEVICE_CTL1_PORT_MODE_SELECTOR = 14,\n\tUSB_CTRL_USB_PM_SOFT_RESET_SELECTOR = 15,\n\tUSB_CTRL_SETUP_CC_DRD_MODE_ENABLE_SELECTOR = 16,\n\tUSB_CTRL_SETUP_STRAP_CC_DRD_MODE_ENABLE_SEL_SELECTOR = 17,\n\tUSB_CTRL_USB_PM_USB20_HC_RESETB_SELECTOR = 18,\n\tUSB_CTRL_SETUP_ENDIAN_SELECTOR = 19,\n\tUSB_CTRL_SELECTOR_COUNT = 20,\n};\n\nenum {\n\tUS_FL_SINGLE_LUN = 1,\n\tUS_FL_NEED_OVERRIDE = 2,\n\tUS_FL_SCM_MULT_TARG = 4,\n\tUS_FL_FIX_INQUIRY = 8,\n\tUS_FL_FIX_CAPACITY = 16,\n\tUS_FL_IGNORE_RESIDUE = 32,\n\tUS_FL_BULK32 = 64,\n\tUS_FL_NOT_LOCKABLE = 128,\n\tUS_FL_GO_SLOW = 256,\n\tUS_FL_NO_WP_DETECT = 512,\n\tUS_FL_MAX_SECTORS_64 = 1024,\n\tUS_FL_IGNORE_DEVICE = 2048,\n\tUS_FL_CAPACITY_HEURISTICS = 4096,\n\tUS_FL_MAX_SECTORS_MIN = 8192,\n\tUS_FL_BULK_IGNORE_TAG = 16384,\n\tUS_FL_SANE_SENSE = 32768,\n\tUS_FL_CAPACITY_OK = 65536,\n\tUS_FL_BAD_SENSE = 131072,\n\tUS_FL_NO_READ_DISC_INFO = 262144,\n\tUS_FL_NO_READ_CAPACITY_16 = 524288,\n\tUS_FL_INITIAL_READ10 = 1048576,\n\tUS_FL_WRITE_CACHE = 2097152,\n\tUS_FL_NEEDS_CAP16 = 4194304,\n\tUS_FL_IGNORE_UAS = 8388608,\n\tUS_FL_BROKEN_FUA = 16777216,\n\tUS_FL_NO_ATA_1X = 33554432,\n\tUS_FL_NO_REPORT_OPCODES = 67108864,\n\tUS_FL_MAX_SECTORS_240 = 134217728,\n\tUS_FL_NO_REPORT_LUNS = 268435456,\n\tUS_FL_ALWAYS_SYNC = 536870912,\n\tUS_FL_NO_SAME = 1073741824,\n\tUS_FL_SENSE_AFTER_SYNC = 2147483648,\n};\n\nenum {\n\tUTP_CMD_TYPE_UFS_STORAGE = 1,\n};\n\nenum {\n\tVFIO_DEVICE_NUM_STATES = 8,\n};\n\nenum {\n\tVFIO_PCI_BAR0_REGION_INDEX = 0,\n\tVFIO_PCI_BAR1_REGION_INDEX = 1,\n\tVFIO_PCI_BAR2_REGION_INDEX = 2,\n\tVFIO_PCI_BAR3_REGION_INDEX = 3,\n\tVFIO_PCI_BAR4_REGION_INDEX = 4,\n\tVFIO_PCI_BAR5_REGION_INDEX = 5,\n\tVFIO_PCI_ROM_REGION_INDEX = 6,\n\tVFIO_PCI_CONFIG_REGION_INDEX = 7,\n\tVFIO_PCI_VGA_REGION_INDEX = 8,\n\tVFIO_PCI_NUM_REGIONS = 9,\n};\n\nenum {\n\tVFIO_PCI_INTX_IRQ_INDEX = 0,\n\tVFIO_PCI_MSI_IRQ_INDEX = 1,\n\tVFIO_PCI_MSIX_IRQ_INDEX = 2,\n\tVFIO_PCI_ERR_IRQ_INDEX = 3,\n\tVFIO_PCI_REQ_IRQ_INDEX = 4,\n\tVFIO_PCI_NUM_IRQS = 5,\n};\n\nenum {\n\tVP_MSIX_CONFIG_VECTOR = 0,\n\tVP_MSIX_VQ_VECTOR = 1,\n};\n\nenum {\n\tV_ARMADA_7K = 1,\n\tV_ARMADA_8K_CPM = 2,\n\tV_ARMADA_8K_CPS = 4,\n\tV_CP115_STANDALONE = 8,\n\tV_ARMADA_7K_8K_CPM = 3,\n\tV_ARMADA_7K_8K_CPS = 5,\n};\n\nenum {\n\tWALK_TRAILING = 1,\n\tWALK_MORE = 2,\n\tWALK_NOFOLLOW = 4,\n};\n\nenum {\n\tWB_BUF_MODE_LU_DEDICATED = 0,\n\tWB_BUF_MODE_SHARED = 1,\n};\n\nenum {\n\tWEST___4 = 0,\n\tSOUTH___6 = 1,\n\tNORTH___5 = 2,\n};\n\nenum {\n\tWOL_CTL_LINK_CHG_OCC = 32768,\n\tWOL_CTL_MAGIC_PKT_OCC = 16384,\n\tWOL_CTL_PATTERN_OCC = 8192,\n\tWOL_CTL_CLEAR_RESULT = 4096,\n\tWOL_CTL_ENA_PME_ON_LINK_CHG = 2048,\n\tWOL_CTL_DIS_PME_ON_LINK_CHG = 1024,\n\tWOL_CTL_ENA_PME_ON_MAGIC_PKT = 512,\n\tWOL_CTL_DIS_PME_ON_MAGIC_PKT = 256,\n\tWOL_CTL_ENA_PME_ON_PATTERN = 128,\n\tWOL_CTL_DIS_PME_ON_PATTERN = 64,\n\tWOL_CTL_ENA_LINK_CHG_UNIT = 32,\n\tWOL_CTL_DIS_LINK_CHG_UNIT = 16,\n\tWOL_CTL_ENA_MAGIC_PKT_UNIT = 8,\n\tWOL_CTL_DIS_MAGIC_PKT_UNIT = 4,\n\tWOL_CTL_ENA_PATTERN_UNIT = 2,\n\tWOL_CTL_DIS_PATTERN_UNIT = 1,\n};\n\nenum {\n\tXA_CHECK_SCHED = 4096,\n};\n\nenum {\n\tXDP_ATTACHED_NONE = 0,\n\tXDP_ATTACHED_DRV = 1,\n\tXDP_ATTACHED_SKB = 2,\n\tXDP_ATTACHED_HW = 3,\n\tXDP_ATTACHED_MULTI = 4,\n};\n\nenum {\n\tXFRM_LOOKUP_ICMP = 1,\n\tXFRM_LOOKUP_QUEUE = 2,\n\tXFRM_LOOKUP_KEEP_DST_REF = 4,\n};\n\nenum {\n\tXFRM_MSG_BASE = 16,\n\tXFRM_MSG_NEWSA = 16,\n\tXFRM_MSG_DELSA = 17,\n\tXFRM_MSG_GETSA = 18,\n\tXFRM_MSG_NEWPOLICY = 19,\n\tXFRM_MSG_DELPOLICY = 20,\n\tXFRM_MSG_GETPOLICY = 21,\n\tXFRM_MSG_ALLOCSPI = 22,\n\tXFRM_MSG_ACQUIRE = 23,\n\tXFRM_MSG_EXPIRE = 24,\n\tXFRM_MSG_UPDPOLICY = 25,\n\tXFRM_MSG_UPDSA = 26,\n\tXFRM_MSG_POLEXPIRE = 27,\n\tXFRM_MSG_FLUSHSA = 28,\n\tXFRM_MSG_FLUSHPOLICY = 29,\n\tXFRM_MSG_NEWAE = 30,\n\tXFRM_MSG_GETAE = 31,\n\tXFRM_MSG_REPORT = 32,\n\tXFRM_MSG_MIGRATE = 33,\n\tXFRM_MSG_NEWSADINFO = 34,\n\tXFRM_MSG_GETSADINFO = 35,\n\tXFRM_MSG_NEWSPDINFO = 36,\n\tXFRM_MSG_GETSPDINFO = 37,\n\tXFRM_MSG_MAPPING = 38,\n\tXFRM_MSG_SETDEFAULT = 39,\n\tXFRM_MSG_GETDEFAULT = 40,\n\t__XFRM_MSG_MAX = 41,\n};\n\nenum {\n\tXFRM_POLICY_IN = 0,\n\tXFRM_POLICY_OUT = 1,\n\tXFRM_POLICY_FWD = 2,\n\tXFRM_POLICY_MASK = 3,\n\tXFRM_POLICY_MAX = 3,\n};\n\nenum {\n\tXFRM_POLICY_TYPE_MAIN = 0,\n\tXFRM_POLICY_TYPE_SUB = 1,\n\tXFRM_POLICY_TYPE_MAX = 2,\n\tXFRM_POLICY_TYPE_ANY = 255,\n};\n\nenum {\n\tXPT_BUSY = 0,\n\tXPT_CONN = 1,\n\tXPT_CLOSE = 2,\n\tXPT_DATA = 3,\n\tXPT_TEMP = 4,\n\tXPT_DEAD = 5,\n\tXPT_CHNGBUF = 6,\n\tXPT_DEFERRED = 7,\n\tXPT_OLD = 8,\n\tXPT_LISTENER = 9,\n\tXPT_CACHE_AUTH = 10,\n\tXPT_LOCAL = 11,\n\tXPT_KILL_TEMP = 12,\n\tXPT_CONG_CTRL = 13,\n\tXPT_HANDSHAKE = 14,\n\tXPT_TLS_SESSION = 15,\n\tXPT_PEER_AUTH = 16,\n\tXPT_PEER_VALID = 17,\n};\n\nenum {\n\tY2_ASF_OS_PRES = 16,\n\tY2_ASF_RESET = 8,\n\tY2_ASF_RUNNING = 4,\n\tY2_ASF_CLR_HSTI = 2,\n\tY2_ASF_IRQ = 1,\n\tY2_ASF_UC_STATE = 12,\n\tY2_ASF_CLK_HALT = 0,\n};\n\nenum {\n\tY2_B8_PREF_REGS = 1104,\n\tPREF_UNIT_CTRL = 0,\n\tPREF_UNIT_LAST_IDX = 4,\n\tPREF_UNIT_ADDR_LO = 8,\n\tPREF_UNIT_ADDR_HI = 12,\n\tPREF_UNIT_GET_IDX = 16,\n\tPREF_UNIT_PUT_IDX = 20,\n\tPREF_UNIT_FIFO_WP = 32,\n\tPREF_UNIT_FIFO_RP = 36,\n\tPREF_UNIT_FIFO_WM = 40,\n\tPREF_UNIT_FIFO_LEV = 44,\n\tPREF_UNIT_MASK_IDX = 4095,\n};\n\nenum {\n\tY2_CLK_DIV_VAL_MSK = 16711680,\n\tY2_CLK_DIV_VAL2_MSK = 14680064,\n\tY2_CLK_SELECT2_MSK = 2031616,\n\tY2_CLK_DIV_ENA = 2,\n\tY2_CLK_DIV_DIS = 1,\n};\n\nenum {\n\tY2_IS_HW_ERR = -2147483648,\n\tY2_IS_STAT_BMU = 1073741824,\n\tY2_IS_ASF = 536870912,\n\tY2_IS_CPU_TO = 268435456,\n\tY2_IS_POLL_CHK = 134217728,\n\tY2_IS_TWSI_RDY = 67108864,\n\tY2_IS_IRQ_SW = 33554432,\n\tY2_IS_TIMINT = 16777216,\n\tY2_IS_IRQ_PHY2 = 4096,\n\tY2_IS_IRQ_MAC2 = 2048,\n\tY2_IS_CHK_RX2 = 1024,\n\tY2_IS_CHK_TXS2 = 512,\n\tY2_IS_CHK_TXA2 = 256,\n\tY2_IS_PSM_ACK = 128,\n\tY2_IS_PTP_TIST = 64,\n\tY2_IS_PHY_QLNK = 32,\n\tY2_IS_IRQ_PHY1 = 16,\n\tY2_IS_IRQ_MAC1 = 8,\n\tY2_IS_CHK_RX1 = 4,\n\tY2_IS_CHK_TXS1 = 2,\n\tY2_IS_CHK_TXA1 = 1,\n\tY2_IS_BASE = -1073741824,\n\tY2_IS_PORT_1 = 29,\n\tY2_IS_PORT_2 = 7424,\n\tY2_IS_ERROR = -2147480307,\n};\n\nenum {\n\tY2_IS_TIST_OV = 536870912,\n\tY2_IS_SENSOR = 268435456,\n\tY2_IS_MST_ERR = 134217728,\n\tY2_IS_IRQ_STAT = 67108864,\n\tY2_IS_PCI_EXP = 33554432,\n\tY2_IS_PCI_NEXP = 16777216,\n\tY2_IS_PAR_RD2 = 8192,\n\tY2_IS_PAR_WR2 = 4096,\n\tY2_IS_PAR_MAC2 = 2048,\n\tY2_IS_PAR_RX2 = 1024,\n\tY2_IS_TCP_TXS2 = 512,\n\tY2_IS_TCP_TXA2 = 256,\n\tY2_IS_PAR_RD1 = 32,\n\tY2_IS_PAR_WR1 = 16,\n\tY2_IS_PAR_MAC1 = 8,\n\tY2_IS_PAR_RX1 = 4,\n\tY2_IS_TCP_TXS1 = 2,\n\tY2_IS_TCP_TXA1 = 1,\n\tY2_HWE_L1_MASK = 63,\n\tY2_HWE_L2_MASK = 16128,\n\tY2_HWE_ALL_MASK = 738213695,\n};\n\nenum {\n\tY2_STATUS_LNK2_INAC = 128,\n\tY2_CLK_GAT_LNK2_DIS = 64,\n\tY2_COR_CLK_LNK2_DIS = 32,\n\tY2_PCI_CLK_LNK2_DIS = 16,\n\tY2_STATUS_LNK1_INAC = 8,\n\tY2_CLK_GAT_LNK1_DIS = 4,\n\tY2_COR_CLK_LNK1_DIS = 2,\n\tY2_PCI_CLK_LNK1_DIS = 1,\n};\n\nenum {\n\tY2_VMAIN_AVAIL = 131072,\n\tY2_VAUX_AVAIL = 65536,\n\tY2_HW_WOL_ON = 32768,\n\tY2_HW_WOL_OFF = 16384,\n\tY2_ASF_ENABLE = 8192,\n\tY2_ASF_DISABLE = 4096,\n\tY2_CLK_RUN_ENA = 2048,\n\tY2_CLK_RUN_DIS = 1024,\n\tY2_LED_STAT_ON = 512,\n\tY2_LED_STAT_OFF = 256,\n\tCS_ST_SW_IRQ = 128,\n\tCS_CL_SW_IRQ = 64,\n\tCS_STOP_DONE = 32,\n\tCS_STOP_MAST = 16,\n\tCS_MRST_CLR = 8,\n\tCS_MRST_SET = 4,\n\tCS_RST_CLR = 2,\n\tCS_RST_SET = 1,\n};\n\nenum {\n\tZONELIST_FALLBACK = 0,\n\tZONELIST_NOFALLBACK = 1,\n\tMAX_ZONELISTS = 2,\n};\n\nenum {\n\t_DQUOT_USAGE_ENABLED = 0,\n\t_DQUOT_LIMITS_ENABLED = 1,\n\t_DQUOT_SUSPENDED = 2,\n\t_DQUOT_STATE_FLAGS = 3,\n};\n\nenum {\n\t_IRQ_DEFAULT_INIT_FLAGS = 0,\n\t_IRQ_PER_CPU = 512,\n\t_IRQ_LEVEL = 256,\n\t_IRQ_NOPROBE = 1024,\n\t_IRQ_NOREQUEST = 2048,\n\t_IRQ_NOTHREAD = 65536,\n\t_IRQ_NOAUTOEN = 4096,\n\t_IRQ_NO_BALANCING = 8192,\n\t_IRQ_NESTED_THREAD = 32768,\n\t_IRQ_PER_CPU_DEVID = 131072,\n\t_IRQ_IS_POLLED = 262144,\n\t_IRQ_DISABLE_UNLAZY = 524288,\n\t_IRQ_HIDDEN = 1048576,\n\t_IRQ_NO_DEBUG = 2097152,\n\t_IRQF_MODIFY_MASK = 2080527,\n};\n\nenum {\n\t__MVNETA_DOWN = 0,\n};\n\nenum {\n\t__ND_OPT_PREFIX_INFO_END = 0,\n\tND_OPT_SOURCE_LL_ADDR = 1,\n\tND_OPT_TARGET_LL_ADDR = 2,\n\tND_OPT_PREFIX_INFO = 3,\n\tND_OPT_REDIRECT_HDR = 4,\n\tND_OPT_MTU = 5,\n\tND_OPT_NONCE = 14,\n\t__ND_OPT_ARRAY_MAX = 15,\n\tND_OPT_ROUTE_INFO = 24,\n\tND_OPT_RDNSS = 25,\n\tND_OPT_DNSSL = 31,\n\tND_OPT_6CO = 34,\n\tND_OPT_CAPTIVE_PORTAL = 37,\n\tND_OPT_PREF64 = 38,\n\t__ND_OPT_MAX = 39,\n};\n\nenum {\n\t__PERCPU_REF_ATOMIC = 1,\n\t__PERCPU_REF_DEAD = 2,\n\t__PERCPU_REF_ATOMIC_DEAD = 3,\n\t__PERCPU_REF_FLAG_BITS = 2,\n};\n\nenum {\n\t__SCHED_FEAT_PLACE_LAG = 0,\n\t__SCHED_FEAT_PLACE_DEADLINE_INITIAL = 1,\n\t__SCHED_FEAT_PLACE_REL_DEADLINE = 2,\n\t__SCHED_FEAT_RUN_TO_PARITY = 3,\n\t__SCHED_FEAT_PREEMPT_SHORT = 4,\n\t__SCHED_FEAT_NEXT_BUDDY = 5,\n\t__SCHED_FEAT_PICK_BUDDY = 6,\n\t__SCHED_FEAT_CACHE_HOT_BUDDY = 7,\n\t__SCHED_FEAT_DELAY_DEQUEUE = 8,\n\t__SCHED_FEAT_DELAY_ZERO = 9,\n\t__SCHED_FEAT_WAKEUP_PREEMPTION = 10,\n\t__SCHED_FEAT_HRTICK = 11,\n\t__SCHED_FEAT_HRTICK_DL = 12,\n\t__SCHED_FEAT_NONTASK_CAPACITY = 13,\n\t__SCHED_FEAT_TTWU_QUEUE = 14,\n\t__SCHED_FEAT_SIS_UTIL = 15,\n\t__SCHED_FEAT_WARN_DOUBLE_CLOCK = 16,\n\t__SCHED_FEAT_RT_PUSH_IPI = 17,\n\t__SCHED_FEAT_RT_RUNTIME_SHARE = 18,\n\t__SCHED_FEAT_LB_MIN = 19,\n\t__SCHED_FEAT_ATTACH_AGE_LOAD = 20,\n\t__SCHED_FEAT_WA_IDLE = 21,\n\t__SCHED_FEAT_WA_WEIGHT = 22,\n\t__SCHED_FEAT_WA_BIAS = 23,\n\t__SCHED_FEAT_UTIL_EST = 24,\n\t__SCHED_FEAT_LATENCY_WARN = 25,\n\t__SCHED_FEAT_NR = 26,\n};\n\nenum {\n\t___GFP_DMA_BIT = 0,\n\t___GFP_HIGHMEM_BIT = 1,\n\t___GFP_DMA32_BIT = 2,\n\t___GFP_MOVABLE_BIT = 3,\n\t___GFP_RECLAIMABLE_BIT = 4,\n\t___GFP_HIGH_BIT = 5,\n\t___GFP_IO_BIT = 6,\n\t___GFP_FS_BIT = 7,\n\t___GFP_ZERO_BIT = 8,\n\t___GFP_UNUSED_BIT = 9,\n\t___GFP_DIRECT_RECLAIM_BIT = 10,\n\t___GFP_KSWAPD_RECLAIM_BIT = 11,\n\t___GFP_WRITE_BIT = 12,\n\t___GFP_NOWARN_BIT = 13,\n\t___GFP_RETRY_MAYFAIL_BIT = 14,\n\t___GFP_NOFAIL_BIT = 15,\n\t___GFP_NORETRY_BIT = 16,\n\t___GFP_MEMALLOC_BIT = 17,\n\t___GFP_COMP_BIT = 18,\n\t___GFP_NOMEMALLOC_BIT = 19,\n\t___GFP_HARDWALL_BIT = 20,\n\t___GFP_THISNODE_BIT = 21,\n\t___GFP_ACCOUNT_BIT = 22,\n\t___GFP_ZEROTAGS_BIT = 23,\n\t___GFP_NO_OBJ_EXT_BIT = 24,\n\t___GFP_LAST_BIT = 25,\n};\n\nenum {\n\t__ctx_convertBPF_PROG_TYPE_SOCKET_FILTER = 0,\n\t__ctx_convertBPF_PROG_TYPE_SCHED_CLS = 1,\n\t__ctx_convertBPF_PROG_TYPE_SCHED_ACT = 2,\n\t__ctx_convertBPF_PROG_TYPE_XDP = 3,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SKB = 4,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCK = 5,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 6,\n\t__ctx_convertBPF_PROG_TYPE_LWT_IN = 7,\n\t__ctx_convertBPF_PROG_TYPE_LWT_OUT = 8,\n\t__ctx_convertBPF_PROG_TYPE_LWT_XMIT = 9,\n\t__ctx_convertBPF_PROG_TYPE_LWT_SEG6LOCAL = 10,\n\t__ctx_convertBPF_PROG_TYPE_SOCK_OPS = 11,\n\t__ctx_convertBPF_PROG_TYPE_SK_SKB = 12,\n\t__ctx_convertBPF_PROG_TYPE_SK_MSG = 13,\n\t__ctx_convertBPF_PROG_TYPE_FLOW_DISSECTOR = 14,\n\t__ctx_convertBPF_PROG_TYPE_KPROBE = 15,\n\t__ctx_convertBPF_PROG_TYPE_TRACEPOINT = 16,\n\t__ctx_convertBPF_PROG_TYPE_PERF_EVENT = 17,\n\t__ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT = 18,\n\t__ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 19,\n\t__ctx_convertBPF_PROG_TYPE_TRACING = 20,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_DEVICE = 21,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SYSCTL = 22,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCKOPT = 23,\n\t__ctx_convertBPF_PROG_TYPE_SK_REUSEPORT = 24,\n\t__ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 25,\n\t__ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 26,\n\t__ctx_convertBPF_PROG_TYPE_EXT = 27,\n\t__ctx_convertBPF_PROG_TYPE_SYSCALL = 28,\n\t__ctx_convertBPF_PROG_TYPE_NETFILTER = 29,\n\t__ctx_convert_unused = 30,\n};\n\nenum {\n\tattr_noop = 0,\n\tattr_delayed_allocation_blocks = 1,\n\tattr_session_write_kbytes = 2,\n\tattr_lifetime_write_kbytes = 3,\n\tattr_reserved_clusters = 4,\n\tattr_sra_exceeded_retry_limit = 5,\n\tattr_inode_readahead = 6,\n\tattr_trigger_test_error = 7,\n\tattr_first_error_time = 8,\n\tattr_last_error_time = 9,\n\tattr_clusters_in_group = 10,\n\tattr_mb_order = 11,\n\tattr_feature = 12,\n\tattr_pointer_pi = 13,\n\tattr_pointer_ui = 14,\n\tattr_pointer_ul = 15,\n\tattr_pointer_u64 = 16,\n\tattr_pointer_u8 = 17,\n\tattr_pointer_string = 18,\n\tattr_pointer_atomic = 19,\n\tattr_journal_task = 20,\n};\n\nenum {\n\tblank_off = 0,\n\tblank_normal_wait = 1,\n\tblank_vesa_wait = 2,\n};\n\nenum {\n\tcpuset = 0,\n\tpossible = 1,\n\tfail = 2,\n};\n\nenum {\n\tdns_key_data = 0,\n\tdns_key_error = 1,\n};\n\nenum {\n\te1000_10_half = 0,\n\te1000_10_full = 1,\n\te1000_100_half = 2,\n\te1000_100_full = 3,\n};\n\nenum {\n\te1000_igp_cable_length_10 = 10,\n\te1000_igp_cable_length_20 = 20,\n\te1000_igp_cable_length_30 = 30,\n\te1000_igp_cable_length_40 = 40,\n\te1000_igp_cable_length_50 = 50,\n\te1000_igp_cable_length_60 = 60,\n\te1000_igp_cable_length_70 = 70,\n\te1000_igp_cable_length_80 = 80,\n\te1000_igp_cable_length_90 = 90,\n\te1000_igp_cable_length_100 = 100,\n\te1000_igp_cable_length_110 = 110,\n\te1000_igp_cable_length_115 = 115,\n\te1000_igp_cable_length_120 = 120,\n\te1000_igp_cable_length_130 = 130,\n\te1000_igp_cable_length_140 = 140,\n\te1000_igp_cable_length_150 = 150,\n\te1000_igp_cable_length_160 = 160,\n\te1000_igp_cable_length_170 = 170,\n\te1000_igp_cable_length_180 = 180,\n};\n\nenum {\n\tfalse = 0,\n\ttrue = 1,\n};\n\nenum {\n\thip08 = 0,\n};\n\nenum {\n\tkvm_ioeventfd_flag_nr_datamatch = 0,\n\tkvm_ioeventfd_flag_nr_pio = 1,\n\tkvm_ioeventfd_flag_nr_deassign = 2,\n\tkvm_ioeventfd_flag_nr_virtio_ccw_notify = 3,\n\tkvm_ioeventfd_flag_nr_fast_mmio = 4,\n\tkvm_ioeventfd_flag_nr_max = 5,\n};\n\nenum {\n\tnone = 0,\n\tday = 1,\n\tmonth = 2,\n\tyear = 3,\n};\n\nenum {\n\tpci_channel_io_normal = 1,\n\tpci_channel_io_frozen = 2,\n\tpci_channel_io_perm_failure = 3,\n};\n\nenum {\n\tptr_explicit = 0,\n\tptr_ext4_sb_info_offset = 1,\n\tptr_ext4_super_block_offset = 2,\n};\n\nenum {\n\tsysctl_hung_task_timeout_secs = 0,\n};\n\nenum {\n\tvfio_noiommu = 0,\n};\n\ntypedef enum {\n\tBIT_DStream_unfinished = 0,\n\tBIT_DStream_endOfBuffer = 1,\n\tBIT_DStream_completed = 2,\n\tBIT_DStream_overflow = 3,\n} BIT_DStream_status;\n\ntypedef enum {\n\tEfiPciIoWidthUint8 = 0,\n\tEfiPciIoWidthUint16 = 1,\n\tEfiPciIoWidthUint32 = 2,\n\tEfiPciIoWidthUint64 = 3,\n\tEfiPciIoWidthFifoUint8 = 4,\n\tEfiPciIoWidthFifoUint16 = 5,\n\tEfiPciIoWidthFifoUint32 = 6,\n\tEfiPciIoWidthFifoUint64 = 7,\n\tEfiPciIoWidthFillUint8 = 8,\n\tEfiPciIoWidthFillUint16 = 9,\n\tEfiPciIoWidthFillUint32 = 10,\n\tEfiPciIoWidthFillUint64 = 11,\n\tEfiPciIoWidthMaximum = 12,\n} EFI_PCI_IO_PROTOCOL_WIDTH;\n\ntypedef enum {\n\tEfiTimerCancel = 0,\n\tEfiTimerPeriodic = 1,\n\tEfiTimerRelative = 2,\n} EFI_TIMER_DELAY;\n\ntypedef enum {\n\tZSTD_error_no_error = 0,\n\tZSTD_error_GENERIC = 1,\n\tZSTD_error_prefix_unknown = 10,\n\tZSTD_error_version_unsupported = 12,\n\tZSTD_error_frameParameter_unsupported = 14,\n\tZSTD_error_frameParameter_windowTooLarge = 16,\n\tZSTD_error_corruption_detected = 20,\n\tZSTD_error_checksum_wrong = 22,\n\tZSTD_error_dictionary_corrupted = 30,\n\tZSTD_error_dictionary_wrong = 32,\n\tZSTD_error_dictionaryCreation_failed = 34,\n\tZSTD_error_parameter_unsupported = 40,\n\tZSTD_error_parameter_outOfBound = 42,\n\tZSTD_error_tableLog_tooLarge = 44,\n\tZSTD_error_maxSymbolValue_tooLarge = 46,\n\tZSTD_error_maxSymbolValue_tooSmall = 48,\n\tZSTD_error_stage_wrong = 60,\n\tZSTD_error_init_missing = 62,\n\tZSTD_error_memory_allocation = 64,\n\tZSTD_error_workSpace_tooSmall = 66,\n\tZSTD_error_dstSize_tooSmall = 70,\n\tZSTD_error_srcSize_wrong = 72,\n\tZSTD_error_dstBuffer_null = 74,\n\tZSTD_error_frameIndex_tooLarge = 100,\n\tZSTD_error_seekableIO = 102,\n\tZSTD_error_dstBuffer_wrong = 104,\n\tZSTD_error_srcBuffer_wrong = 105,\n\tZSTD_error_maxCode = 120,\n} ZSTD_ErrorCode;\n\ntypedef ZSTD_ErrorCode ERR_enum;\n\ntypedef enum {\n\tZSTD_reset_session_only = 1,\n\tZSTD_reset_parameters = 2,\n\tZSTD_reset_session_and_parameters = 3,\n} ZSTD_ResetDirective;\n\ntypedef enum {\n\tZSTD_bm_buffered = 0,\n\tZSTD_bm_stable = 1,\n} ZSTD_bufferMode_e;\n\ntypedef enum {\n\tZSTD_d_windowLogMax = 100,\n\tZSTD_d_experimentalParam1 = 1000,\n\tZSTD_d_experimentalParam2 = 1001,\n\tZSTD_d_experimentalParam3 = 1002,\n\tZSTD_d_experimentalParam4 = 1003,\n} ZSTD_dParameter;\n\ntypedef enum {\n\tZSTDds_getFrameHeaderSize = 0,\n\tZSTDds_decodeFrameHeader = 1,\n\tZSTDds_decodeBlockHeader = 2,\n\tZSTDds_decompressBlock = 3,\n\tZSTDds_decompressLastBlock = 4,\n\tZSTDds_checkChecksum = 5,\n\tZSTDds_decodeSkippableHeader = 6,\n\tZSTDds_skipFrame = 7,\n} ZSTD_dStage;\n\ntypedef enum {\n\tzdss_init = 0,\n\tzdss_loadHeader = 1,\n\tzdss_read = 2,\n\tzdss_load = 3,\n\tzdss_flush = 4,\n} ZSTD_dStreamStage;\n\ntypedef enum {\n\tZSTD_dct_auto = 0,\n\tZSTD_dct_rawContent = 1,\n\tZSTD_dct_fullDict = 2,\n} ZSTD_dictContentType_e;\n\ntypedef enum {\n\tZSTD_dlm_byCopy = 0,\n\tZSTD_dlm_byRef = 1,\n} ZSTD_dictLoadMethod_e;\n\ntypedef enum {\n\tZSTD_use_indefinitely = -1,\n\tZSTD_dont_use = 0,\n\tZSTD_use_once = 1,\n} ZSTD_dictUses_e;\n\ntypedef enum {\n\tZSTD_d_validateChecksum = 0,\n\tZSTD_d_ignoreChecksum = 1,\n} ZSTD_forceIgnoreChecksum_e;\n\ntypedef enum {\n\tZSTD_f_zstd1 = 0,\n\tZSTD_f_zstd1_magicless = 1,\n} ZSTD_format_e;\n\ntypedef enum {\n\tZSTD_frame = 0,\n\tZSTD_skippableFrame = 1,\n} ZSTD_frameType_e;\n\ntypedef enum {\n\tZSTD_not_in_dst = 0,\n\tZSTD_in_dst = 1,\n\tZSTD_split = 2,\n} ZSTD_litLocation_e;\n\ntypedef enum {\n\tZSTD_lo_isRegularOffset = 0,\n\tZSTD_lo_isLongOffset = 1,\n} ZSTD_longOffset_e;\n\ntypedef enum {\n\tZSTDnit_frameHeader = 0,\n\tZSTDnit_blockHeader = 1,\n\tZSTDnit_block = 2,\n\tZSTDnit_lastBlock = 3,\n\tZSTDnit_checksum = 4,\n\tZSTDnit_skippableFrame = 5,\n} ZSTD_nextInputType_e;\n\ntypedef enum {\n\tZSTD_no_overlap = 0,\n\tZSTD_overlap_src_before_dst = 1,\n} ZSTD_overlap_e;\n\ntypedef enum {\n\tZSTD_rmd_refSingleDDict = 0,\n\tZSTD_rmd_refMultipleDDicts = 1,\n} ZSTD_refMultipleDDicts_e;\n\ntypedef enum {\n\tOSL_GLOBAL_LOCK_HANDLER = 0,\n\tOSL_NOTIFY_HANDLER = 1,\n\tOSL_GPE_HANDLER = 2,\n\tOSL_DEBUGGER_MAIN_THREAD = 3,\n\tOSL_DEBUGGER_EXEC_THREAD = 4,\n\tOSL_EC_POLL_HANDLER = 5,\n\tOSL_EC_BURST_HANDLER = 6,\n} acpi_execute_type;\n\ntypedef enum {\n\tACPI_IMODE_LOAD_PASS1 = 1,\n\tACPI_IMODE_LOAD_PASS2 = 2,\n\tACPI_IMODE_EXECUTE = 3,\n} acpi_interpreter_mode;\n\ntypedef enum {\n\tACPI_TRACE_AML_METHOD = 0,\n\tACPI_TRACE_AML_OPCODE = 1,\n\tACPI_TRACE_AML_REGION = 2,\n} acpi_trace_event_type;\n\ntypedef enum {\n\tbt_raw = 0,\n\tbt_rle = 1,\n\tbt_compressed = 2,\n\tbt_reserved = 3,\n} blockType_e;\n\ntypedef enum {\n\tneed_more = 0,\n\tblock_done = 1,\n\tfinish_started = 2,\n\tfinish_done = 3,\n} block_state;\n\ntypedef enum {\n\tCODES = 0,\n\tLENS = 1,\n\tDISTS = 2,\n} codetype;\n\ntypedef enum {\n\tFILE_MEMORY_MIGRATE = 0,\n\tFILE_CPULIST = 1,\n\tFILE_MEMLIST = 2,\n\tFILE_EFFECTIVE_CPULIST = 3,\n\tFILE_EFFECTIVE_MEMLIST = 4,\n\tFILE_SUBPARTS_CPULIST = 5,\n\tFILE_EXCLUSIVE_CPULIST = 6,\n\tFILE_EFFECTIVE_XCPULIST = 7,\n\tFILE_ISOLATED_CPULIST = 8,\n\tFILE_CPU_EXCLUSIVE = 9,\n\tFILE_MEM_EXCLUSIVE = 10,\n\tFILE_MEM_HARDWALL = 11,\n\tFILE_SCHED_LOAD_BALANCE = 12,\n\tFILE_PARTITION_ROOT = 13,\n\tFILE_SCHED_RELAX_DOMAIN_LEVEL = 14,\n\tFILE_MEMORY_PRESSURE_ENABLED = 15,\n\tFILE_MEMORY_PRESSURE = 16,\n\tFILE_SPREAD_PAGE = 17,\n\tFILE_SPREAD_SLAB = 18,\n} cpuset_filetype_t;\n\ntypedef enum {\n\tCS_ONLINE = 0,\n\tCS_CPU_EXCLUSIVE = 1,\n\tCS_MEM_EXCLUSIVE = 2,\n\tCS_MEM_HARDWALL = 3,\n\tCS_MEMORY_MIGRATE = 4,\n\tCS_SCHED_LOAD_BALANCE = 5,\n\tCS_SPREAD_PAGE = 6,\n\tCS_SPREAD_SLAB = 7,\n} cpuset_flagbits_t;\n\ntypedef enum {\n\tnoDict = 0,\n\twithPrefix64k = 1,\n\tusingExtDict = 2,\n} dict_directive;\n\ntypedef enum {\n\tEITHER = 0,\n\tINDEX = 1,\n\tDIRENT = 2,\n\tDIRENT_HTREE = 3,\n} dirblock_type_t;\n\ntypedef enum {\n\te1000_1000t_rx_status_not_ok = 0,\n\te1000_1000t_rx_status_ok = 1,\n\te1000_1000t_rx_status_undefined = 255,\n} e1000_1000t_rx_status;\n\ntypedef enum {\n\te1000_10bt_ext_dist_enable_normal = 0,\n\te1000_10bt_ext_dist_enable_lower = 1,\n\te1000_10bt_ext_dist_enable_undefined = 255,\n} e1000_10bt_ext_dist_enable;\n\ntypedef enum {\n\te1000_auto_x_mode_manual_mdi = 0,\n\te1000_auto_x_mode_manual_mdix = 1,\n\te1000_auto_x_mode_auto1 = 2,\n\te1000_auto_x_mode_auto2 = 3,\n\te1000_auto_x_mode_undefined = 255,\n} e1000_auto_x_mode;\n\ntypedef enum {\n\te1000_bus_speed_unknown = 0,\n\te1000_bus_speed_33 = 1,\n\te1000_bus_speed_66 = 2,\n\te1000_bus_speed_100 = 3,\n\te1000_bus_speed_120 = 4,\n\te1000_bus_speed_133 = 5,\n\te1000_bus_speed_reserved = 6,\n} e1000_bus_speed;\n\ntypedef enum {\n\te1000_bus_type_unknown = 0,\n\te1000_bus_type_pci = 1,\n\te1000_bus_type_pcix = 2,\n\te1000_bus_type_reserved = 3,\n} e1000_bus_type;\n\ntypedef enum {\n\te1000_bus_width_unknown = 0,\n\te1000_bus_width_32 = 1,\n\te1000_bus_width_64 = 2,\n\te1000_bus_width_reserved = 3,\n} e1000_bus_width;\n\ntypedef enum {\n\te1000_cable_length_50 = 0,\n\te1000_cable_length_50_80 = 1,\n\te1000_cable_length_80_110 = 2,\n\te1000_cable_length_110_140 = 3,\n\te1000_cable_length_140 = 4,\n\te1000_cable_length_undefined = 255,\n} e1000_cable_length;\n\ntypedef enum {\n\te1000_downshift_normal = 0,\n\te1000_downshift_activated = 1,\n\te1000_downshift_undefined = 255,\n} e1000_downshift;\n\ntypedef enum {\n\te1000_dsp_config_disabled = 0,\n\te1000_dsp_config_enabled = 1,\n\te1000_dsp_config_activated = 2,\n\te1000_dsp_config_undefined = 255,\n} e1000_dsp_config;\n\ntypedef enum {\n\te1000_eeprom_uninitialized = 0,\n\te1000_eeprom_spi = 1,\n\te1000_eeprom_microwire = 2,\n\te1000_eeprom_flash = 3,\n\te1000_eeprom_none = 4,\n\te1000_num_eeprom_types = 5,\n} e1000_eeprom_type;\n\ntypedef enum {\n\tE1000_FC_NONE = 0,\n\tE1000_FC_RX_PAUSE = 1,\n\tE1000_FC_TX_PAUSE = 2,\n\tE1000_FC_FULL = 3,\n\tE1000_FC_DEFAULT = 255,\n} e1000_fc_type;\n\ntypedef enum {\n\te1000_ffe_config_enabled = 0,\n\te1000_ffe_config_active = 1,\n\te1000_ffe_config_blocked = 2,\n} e1000_ffe_config;\n\ntypedef enum {\n\te1000_undefined = 0,\n\te1000_82542_rev2_0 = 1,\n\te1000_82542_rev2_1 = 2,\n\te1000_82543 = 3,\n\te1000_82544 = 4,\n\te1000_82540 = 5,\n\te1000_82545 = 6,\n\te1000_82545_rev_3 = 7,\n\te1000_82546 = 8,\n\te1000_ce4100 = 9,\n\te1000_82546_rev_3 = 10,\n\te1000_82541 = 11,\n\te1000_82541_rev_2 = 12,\n\te1000_82547 = 13,\n\te1000_82547_rev_2 = 14,\n\te1000_num_macs = 15,\n} e1000_mac_type;\n\ntypedef enum {\n\te1000_media_type_copper = 0,\n\te1000_media_type_fiber = 1,\n\te1000_media_type_internal_serdes = 2,\n\te1000_num_media_types = 3,\n} e1000_media_type;\n\ntypedef enum {\n\te1000_ms_hw_default = 0,\n\te1000_ms_force_master = 1,\n\te1000_ms_force_slave = 2,\n\te1000_ms_auto = 3,\n} e1000_ms_type;\n\ntypedef enum {\n\te1000_phy_m88 = 0,\n\te1000_phy_igp = 1,\n\te1000_phy_8211 = 2,\n\te1000_phy_8201 = 3,\n\te1000_phy_undefined = 255,\n} e1000_phy_type;\n\ntypedef enum {\n\te1000_polarity_reversal_enabled = 0,\n\te1000_polarity_reversal_disabled = 1,\n\te1000_polarity_reversal_undefined = 255,\n} e1000_polarity_reversal;\n\ntypedef enum {\n\te1000_rev_polarity_normal = 0,\n\te1000_rev_polarity_reversed = 1,\n\te1000_rev_polarity_undefined = 255,\n} e1000_rev_polarity;\n\ntypedef enum {\n\te1000_smart_speed_default = 0,\n\te1000_smart_speed_on = 1,\n\te1000_smart_speed_off = 2,\n} e1000_smart_speed;\n\ntypedef enum {\n\tdecode_full_block = 0,\n\tpartial_decode = 1,\n} earlyEnd_directive;\n\ntypedef enum {\n\tendOnOutputSize = 0,\n\tendOnInputSize = 1,\n} endCondition_directive;\n\ntypedef enum {\n\tEXT4_IGET_NORMAL = 0,\n\tEXT4_IGET_SPECIAL = 1,\n\tEXT4_IGET_HANDLE = 2,\n\tEXT4_IGET_BAD = 4,\n\tEXT4_IGET_EA_INODE = 8,\n} ext4_iget_flags;\n\ntypedef enum {\n\tFL_READY = 0,\n\tFL_STATUS = 1,\n\tFL_CFI_QUERY = 2,\n\tFL_JEDEC_QUERY = 3,\n\tFL_ERASING = 4,\n\tFL_ERASE_SUSPENDING = 5,\n\tFL_ERASE_SUSPENDED = 6,\n\tFL_WRITING = 7,\n\tFL_WRITING_TO_BUFFER = 8,\n\tFL_OTP_WRITE = 9,\n\tFL_WRITE_SUSPENDING = 10,\n\tFL_WRITE_SUSPENDED = 11,\n\tFL_PM_SUSPENDED = 12,\n\tFL_SYNCING = 13,\n\tFL_UNLOADING = 14,\n\tFL_LOCKING = 15,\n\tFL_UNLOCKING = 16,\n\tFL_POINT = 17,\n\tFL_XIP_WHILE_ERASING = 18,\n\tFL_XIP_WHILE_WRITING = 19,\n\tFL_SHUTDOWN = 20,\n\tFL_READING = 21,\n\tFL_CACHEDPRG = 22,\n\tFL_RESETTING = 23,\n\tFL_OTPING = 24,\n\tFL_PREPARING_ERASE = 25,\n\tFL_VERIFYING_ERASE = 26,\n\tFL_UNKNOWN = 27,\n} flstate_t;\n\ntypedef enum {\n\tHEAD = 0,\n\tFLAGS = 1,\n\tTIME = 2,\n\tOS = 3,\n\tEXLEN = 4,\n\tEXTRA = 5,\n\tNAME = 6,\n\tCOMMENT = 7,\n\tHCRC = 8,\n\tDICTID = 9,\n\tDICT = 10,\n\tTYPE = 11,\n\tTYPEDO = 12,\n\tSTORED = 13,\n\tCOPY = 14,\n\tTABLE = 15,\n\tLENLENS = 16,\n\tCODELENS = 17,\n\tLEN = 18,\n\tLENEXT = 19,\n\tDIST = 20,\n\tDISTEXT = 21,\n\tMATCH = 22,\n\tLIT = 23,\n\tCHECK = 24,\n\tLENGTH = 25,\n\tDONE = 26,\n\tBAD = 27,\n\tMEM = 28,\n\tSYNC = 29,\n} inflate_mode;\n\ntypedef enum {\n\tISOLATE_ABORT = 0,\n\tISOLATE_NONE = 1,\n\tISOLATE_SUCCESS = 2,\n} isolate_migrate_t;\n\ntypedef enum {\n\tMAP_CHG_REUSE = 0,\n\tMAP_CHG_NEEDED = 1,\n\tMAP_CHG_ENFORCED = 2,\n} map_chg_state;\n\ntypedef enum {\n\tPAGE_KEEP = 0,\n\tPAGE_ACTIVATE = 1,\n\tPAGE_SUCCESS = 2,\n\tPAGE_CLEAN = 3,\n} pageout_t;\n\ntypedef enum {\n\tPCI_BRIDGE_EMUL_HANDLED = 0,\n\tPCI_BRIDGE_EMUL_NOT_HANDLED = 1,\n} pci_bridge_emul_read_status_t;\n\ntypedef enum {\n\tPHY_INTERFACE_MODE_NA = 0,\n\tPHY_INTERFACE_MODE_INTERNAL = 1,\n\tPHY_INTERFACE_MODE_MII = 2,\n\tPHY_INTERFACE_MODE_GMII = 3,\n\tPHY_INTERFACE_MODE_SGMII = 4,\n\tPHY_INTERFACE_MODE_TBI = 5,\n\tPHY_INTERFACE_MODE_REVMII = 6,\n\tPHY_INTERFACE_MODE_RMII = 7,\n\tPHY_INTERFACE_MODE_REVRMII = 8,\n\tPHY_INTERFACE_MODE_RGMII = 9,\n\tPHY_INTERFACE_MODE_RGMII_ID = 10,\n\tPHY_INTERFACE_MODE_RGMII_RXID = 11,\n\tPHY_INTERFACE_MODE_RGMII_TXID = 12,\n\tPHY_INTERFACE_MODE_RTBI = 13,\n\tPHY_INTERFACE_MODE_SMII = 14,\n\tPHY_INTERFACE_MODE_XGMII = 15,\n\tPHY_INTERFACE_MODE_XLGMII = 16,\n\tPHY_INTERFACE_MODE_MOCA = 17,\n\tPHY_INTERFACE_MODE_PSGMII = 18,\n\tPHY_INTERFACE_MODE_QSGMII = 19,\n\tPHY_INTERFACE_MODE_TRGMII = 20,\n\tPHY_INTERFACE_MODE_100BASEX = 21,\n\tPHY_INTERFACE_MODE_1000BASEX = 22,\n\tPHY_INTERFACE_MODE_2500BASEX = 23,\n\tPHY_INTERFACE_MODE_5GBASER = 24,\n\tPHY_INTERFACE_MODE_RXAUI = 25,\n\tPHY_INTERFACE_MODE_XAUI = 26,\n\tPHY_INTERFACE_MODE_10GBASER = 27,\n\tPHY_INTERFACE_MODE_25GBASER = 28,\n\tPHY_INTERFACE_MODE_USXGMII = 29,\n\tPHY_INTERFACE_MODE_10GKR = 30,\n\tPHY_INTERFACE_MODE_QUSGMII = 31,\n\tPHY_INTERFACE_MODE_1000BASEKX = 32,\n\tPHY_INTERFACE_MODE_10G_QXGMII = 33,\n\tPHY_INTERFACE_MODE_MAX = 34,\n} phy_interface_t;\n\ntypedef enum {\n\tPSMOUSE_BAD_DATA = 0,\n\tPSMOUSE_GOOD_DATA = 1,\n\tPSMOUSE_FULL_PACKET = 2,\n} psmouse_ret_t;\n\ntypedef enum {\n\tSS_FREE = 0,\n\tSS_UNCONNECTED = 1,\n\tSS_CONNECTING = 2,\n\tSS_CONNECTED = 3,\n\tSS_DISCONNECTING = 4,\n} socket_state;\n\ntypedef enum {\n\tnot_streaming = 0,\n\tis_streaming = 1,\n} streaming_operation;\n\ntypedef enum {\n\tset_basic = 0,\n\tset_rle = 1,\n\tset_compressed = 2,\n\tset_repeat = 3,\n} symbolEncodingType_e;\n\ntypedef ZSTD_ErrorCode zstd_error_code;\n\nenum APSR_BIT {\n\tAPSR_MEMS = 2,\n\tAPSR_CMSW = 16,\n\tAPSR_RDM = 8192,\n\tAPSR_TDM = 16384,\n\tAPSR_MIISELECT = 16777216,\n};\n\nenum ARSTR_BIT {\n\tARSTR_ARST = 1,\n};\n\nenum CCC_BIT {\n\tCCC_OPC = 3,\n\tCCC_OPC_RESET = 0,\n\tCCC_OPC_CONFIG = 1,\n\tCCC_OPC_OPERATION = 2,\n\tCCC_GAC = 128,\n\tCCC_DTSR = 256,\n\tCCC_CSEL = 196608,\n\tCCC_CSEL_HPB = 65536,\n\tCCC_CSEL_ETH_TX = 131072,\n\tCCC_CSEL_GMII_REF = 196608,\n\tCCC_LBME = 16777216,\n};\n\nenum CIE_BIT {\n\tCIE_CRIE = 1,\n\tCIE_CTIE = 256,\n\tCIE_RQFM = 65536,\n\tCIE_CL0M = 131072,\n\tCIE_RFWL = 262144,\n\tCIE_RFFL = 524288,\n};\n\nenum CMD_RET_VALUES {\n\tREFIRE_CMD = 1,\n\tCOMPLETE_CMD = 2,\n\tRETURN_CMD = 3,\n};\n\nenum CSI_J {\n\tCSI_J_CURSOR_TO_END = 0,\n\tCSI_J_START_TO_CURSOR = 1,\n\tCSI_J_VISIBLE = 2,\n\tCSI_J_FULL = 3,\n};\n\nenum CSI_right_square_bracket {\n\tCSI_RSB_COLOR_FOR_UNDERLINE = 1,\n\tCSI_RSB_COLOR_FOR_HALF_BRIGHT = 2,\n\tCSI_RSB_MAKE_CUR_COLOR_DEFAULT = 8,\n\tCSI_RSB_BLANKING_INTERVAL = 9,\n\tCSI_RSB_BELL_FREQUENCY = 10,\n\tCSI_RSB_BELL_DURATION = 11,\n\tCSI_RSB_BRING_CONSOLE_TO_FRONT = 12,\n\tCSI_RSB_UNBLANK = 13,\n\tCSI_RSB_VESA_OFF_INTERVAL = 14,\n\tCSI_RSB_BRING_PREV_CONSOLE_TO_FRONT = 15,\n\tCSI_RSB_CURSOR_BLINK_INTERVAL = 16,\n};\n\nenum CSR0_BIT {\n\tCSR0_TPE = 16,\n\tCSR0_RPE = 32,\n};\n\nenum CSR1_BIT {\n\tCSR1_TIP4 = 1,\n\tCSR1_TTCP4 = 16,\n\tCSR1_TUDP4 = 32,\n\tCSR1_TICMP4 = 64,\n\tCSR1_TTCP6 = 1048576,\n\tCSR1_TUDP6 = 2097152,\n\tCSR1_TICMP6 = 4194304,\n\tCSR1_THOP = 16777216,\n\tCSR1_TROUT = 33554432,\n\tCSR1_TAHD = 67108864,\n\tCSR1_TDHD = 134217728,\n};\n\nenum CSR2_BIT {\n\tCSR2_RIP4 = 1,\n\tCSR2_RTCP4 = 16,\n\tCSR2_RUDP4 = 32,\n\tCSR2_RICMP4 = 64,\n\tCSR2_RTCP6 = 1048576,\n\tCSR2_RUDP6 = 2097152,\n\tCSR2_RICMP6 = 4194304,\n\tCSR2_RHOP = 16777216,\n\tCSR2_RROUT = 33554432,\n\tCSR2_RAHD = 67108864,\n\tCSR2_RDHD = 134217728,\n};\n\nenum CSR_BIT {\n\tCSR_OPS = 15,\n\tCSR_OPS_RESET = 1,\n\tCSR_OPS_CONFIG = 2,\n\tCSR_OPS_OPERATION = 4,\n\tCSR_OPS_STANDBY = 8,\n\tCSR_DTS = 256,\n\tCSR_TPO0 = 65536,\n\tCSR_TPO1 = 131072,\n\tCSR_TPO2 = 262144,\n\tCSR_TPO3 = 524288,\n\tCSR_RPO = 1048576,\n};\n\nenum CXR31_BIT {\n\tCXR31_SEL_LINK0 = 1,\n\tCXR31_SEL_LINK1 = 8,\n};\n\nenum CXR35_BIT {\n\tCXR35_SEL_XMII = 3,\n\tCXR35_SEL_XMII_RGMII = 0,\n\tCXR35_SEL_XMII_MII = 2,\n\tCXR35_HALFCYC_CLKSW = 4294901760,\n};\n\nenum DCMD_RETURN_STATUS {\n\tDCMD_SUCCESS = 0,\n\tDCMD_TIMEOUT = 1,\n\tDCMD_FAILED = 2,\n\tDCMD_BUSY = 3,\n\tDCMD_INIT = 255,\n};\n\nenum DCMD_TIMEOUT_ACTION {\n\tINITIATE_OCR = 0,\n\tKILL_ADAPTER = 1,\n\tIGNORE_TIMEOUT = 2,\n};\n\nenum DIE_DT {\n\tDT_FEMPTY_IS = 16,\n\tDT_FEMPTY_IC = 32,\n\tDT_FEMPTY_ND = 48,\n\tDT_FEMPTY = 64,\n\tDT_FEMPTY_START = 80,\n\tDT_FEMPTY_MID = 96,\n\tDT_FEMPTY_END = 112,\n\tDT_FSINGLE = 128,\n\tDT_FSTART = 144,\n\tDT_FMID = 160,\n\tDT_FEND = 176,\n\tDT_LEMPTY = 192,\n\tDT_EEMPTY = 208,\n\tDT_LINK = 224,\n\tDT_EOS = 240,\n\tDT_MASK = 240,\n\tD_DIE = 8,\n};\n\nenum DIE_DT___2 {\n\tDT_FSINGLE___2 = 128,\n\tDT_FSTART___2 = 144,\n\tDT_FMID___2 = 160,\n\tDT_FEND___2 = 176,\n\tDT_LEMPTY___2 = 192,\n\tDT_EEMPTY___2 = 208,\n\tDT_LINKFIX = 0,\n\tDT_LINK___2 = 224,\n\tDT_EOS___2 = 240,\n\tDT_FEMPTY___2 = 64,\n\tDT_FEMPTY_IS___2 = 16,\n\tDT_FEMPTY_IC___2 = 32,\n\tDT_FEMPTY_ND___2 = 48,\n\tDT_FEMPTY_START___2 = 80,\n\tDT_FEMPTY_MID___2 = 96,\n\tDT_FEMPTY_END___2 = 112,\n\tDT_MASK___2 = 240,\n\tDIE = 8,\n};\n\nenum DIE_DT___3 {\n\tDT_FMID___3 = 64,\n\tDT_FSTART___3 = 80,\n\tDT_FEND___3 = 96,\n\tDT_FSINGLE___3 = 112,\n\tDT_LINK___3 = 128,\n\tDT_LINKFIX___2 = 144,\n\tDT_EOS___3 = 160,\n\tDT_FEMPTY___3 = 192,\n\tDT_FEMPTY_IS___3 = 208,\n\tDT_FEMPTY_IC___3 = 224,\n\tDT_FEMPTY_ND___3 = 240,\n\tDT_LEMPTY___3 = 32,\n\tDT_EEMPTY___3 = 48,\n};\n\nenum DMA_REGS_OFFSET {\n\tOFFSET_INT_FLAG = 0,\n\tOFFSET_INT_EN = 4,\n\tOFFSET_EN = 8,\n\tOFFSET_RST = 12,\n\tOFFSET_CON = 24,\n\tOFFSET_TX_MEM_ADDR = 28,\n\tOFFSET_RX_MEM_ADDR = 32,\n\tOFFSET_TX_LEN = 36,\n\tOFFSET_RX_LEN = 40,\n\tOFFSET_TX_4G_MODE = 84,\n\tOFFSET_RX_4G_MODE = 88,\n};\n\nenum E1000_INVM_STRUCTURE_TYPE {\n\tE1000_INVM_UNINITIALIZED_STRUCTURE = 0,\n\tE1000_INVM_WORD_AUTOLOAD_STRUCTURE = 1,\n\tE1000_INVM_CSR_AUTOLOAD_STRUCTURE = 2,\n\tE1000_INVM_PHY_REGISTER_AUTOLOAD_STRUCTURE = 3,\n\tE1000_INVM_RSA_KEY_SHA256_STRUCTURE = 4,\n\tE1000_INVM_INVALIDATED_STRUCTURE = 15,\n};\n\nenum ECMR_BIT {\n\tECMR_PRM = 1,\n\tECMR_DM = 2,\n\tECMR_TE = 32,\n\tECMR_RE = 64,\n\tECMR_MPDE = 512,\n\tECMR_TXF = 65536,\n\tECMR_RXF = 131072,\n\tECMR_PFR = 262144,\n\tECMR_ZPF = 524288,\n\tECMR_RZPF = 1048576,\n\tECMR_DPAD = 2097152,\n\tECMR_RCSC = 8388608,\n\tECMR_RCPT = 33554432,\n\tECMR_TRCCM = 67108864,\n};\n\nenum ECMR_BIT___2 {\n\tECMR_TRCCM___2 = 67108864,\n\tECMR_RCSC___2 = 8388608,\n\tECMR_DPAD___2 = 2097152,\n\tECMR_RZPF___2 = 1048576,\n\tECMR_ZPF___2 = 524288,\n\tECMR_PFR___2 = 262144,\n\tECMR_RXF___2 = 131072,\n\tECMR_TXF___2 = 65536,\n\tECMR_MCT = 8192,\n\tECMR_PRCEF = 4096,\n\tECMR_MPDE___2 = 512,\n\tECMR_RE___2 = 64,\n\tECMR_TE___2 = 32,\n\tECMR_RTM = 16,\n\tECMR_ILB = 8,\n\tECMR_ELB = 4,\n\tECMR_DM___2 = 2,\n\tECMR_PRM___2 = 1,\n};\n\nenum ECSIPR_BIT {\n\tECSIPR_ICDIP = 1,\n\tECSIPR_MPDIP = 2,\n\tECSIPR_LCHNGIP = 4,\n};\n\nenum ECSIPR_BIT___2 {\n\tECSIPR_BRCRXIP = 32,\n\tECSIPR_PSRTOIP = 16,\n\tECSIPR_LCHNGIP___2 = 4,\n\tECSIPR_MPDIP___2 = 2,\n\tECSIPR_ICDIP___2 = 1,\n};\n\nenum ECSR_BIT {\n\tECSR_ICD = 1,\n\tECSR_MPD = 2,\n\tECSR_LCHNG = 4,\n\tECSR_PHYI = 8,\n\tECSR_PFRI = 16,\n};\n\nenum ECSR_BIT___2 {\n\tECSR_BRCRX = 32,\n\tECSR_PSRTO = 16,\n\tECSR_LCHNG___2 = 4,\n\tECSR_MPD___2 = 2,\n\tECSR_ICD___2 = 1,\n};\n\nenum EDMR_BIT {\n\tEDMR_NBST = 128,\n\tEDMR_EL = 64,\n\tEDMR_DL1 = 32,\n\tEDMR_DL0 = 16,\n\tEDMR_SRST_GETHER = 3,\n\tEDMR_SRST_ETHER = 1,\n};\n\nenum EDRRR_BIT {\n\tEDRRR_R = 1,\n};\n\nenum EDSR_BIT {\n\tEDSR_ENT = 1,\n\tEDSR_ENR = 2,\n};\n\nenum EDTRR_BIT {\n\tEDTRR_TRNS_GETHER = 3,\n\tEDTRR_TRNS_ETHER = 1,\n};\n\nenum EESIPR_BIT {\n\tEESIPR_TWB1IP = 2147483648,\n\tEESIPR_TWBIP = 1073741824,\n\tEESIPR_TC1IP = 536870912,\n\tEESIPR_TUCIP = 268435456,\n\tEESIPR_ROCIP = 134217728,\n\tEESIPR_TABTIP = 67108864,\n\tEESIPR_RABTIP = 33554432,\n\tEESIPR_RFCOFIP = 16777216,\n\tEESIPR_ADEIP = 8388608,\n\tEESIPR_ECIIP = 4194304,\n\tEESIPR_FTCIP = 2097152,\n\tEESIPR_TDEIP = 1048576,\n\tEESIPR_TFUFIP = 524288,\n\tEESIPR_FRIP = 262144,\n\tEESIPR_RDEIP = 131072,\n\tEESIPR_RFOFIP = 65536,\n\tEESIPR_CNDIP = 2048,\n\tEESIPR_DLCIP = 1024,\n\tEESIPR_CDIP = 512,\n\tEESIPR_TROIP = 256,\n\tEESIPR_RMAFIP = 128,\n\tEESIPR_CEEFIP = 64,\n\tEESIPR_CELFIP = 32,\n\tEESIPR_RRFIP = 16,\n\tEESIPR_RTLFIP = 8,\n\tEESIPR_RTSFIP = 4,\n\tEESIPR_PREIP = 2,\n\tEESIPR_CERFIP = 1,\n};\n\nenum EESR_BIT {\n\tEESR_TWB1 = 2147483648,\n\tEESR_TWB = 1073741824,\n\tEESR_TC1 = 536870912,\n\tEESR_TUC = 268435456,\n\tEESR_ROC = 134217728,\n\tEESR_TABT = 67108864,\n\tEESR_RABT = 33554432,\n\tEESR_RFRMER = 16777216,\n\tEESR_ADE = 8388608,\n\tEESR_ECI = 4194304,\n\tEESR_FTC = 2097152,\n\tEESR_TDE = 1048576,\n\tEESR_TFE = 524288,\n\tEESR_FRC = 262144,\n\tEESR_RDE = 131072,\n\tEESR_RFE = 65536,\n\tEESR_CND = 2048,\n\tEESR_DLC = 1024,\n\tEESR_CD = 512,\n\tEESR_TRO = 256,\n\tEESR_RMAF = 128,\n\tEESR_CEEF = 64,\n\tEESR_CELF = 32,\n\tEESR_RRF = 16,\n\tEESR_RTLF = 8,\n\tEESR_RTSF = 4,\n\tEESR_PRE = 2,\n\tEESR_CERF = 1,\n};\n\nenum EIS_BIT {\n\tEIS_MREF = 1,\n\tEIS_MTEF = 2,\n\tEIS_QEF = 4,\n\tEIS_SEF = 8,\n\tEIS_CLLF0 = 16,\n\tEIS_CLLF1 = 32,\n\tEIS_CULF0 = 64,\n\tEIS_CULF1 = 128,\n\tEIS_TFFF = 256,\n\tEIS_QFS = 65536,\n\tEIS_RESERVED = 4294899712,\n};\n\nenum EXT_INFO_DS_BIT {\n\tTXC = 16384,\n};\n\nenum FCFTR_BIT {\n\tFCFTR_RFF2 = 262144,\n\tFCFTR_RFF1 = 131072,\n\tFCFTR_RFF0 = 65536,\n\tFCFTR_RFD2 = 4,\n\tFCFTR_RFD1 = 2,\n\tFCFTR_RFD0 = 1,\n};\n\nenum FW_BOOT_CONTEXT {\n\tPROBE_CONTEXT = 0,\n\tOCR_CONTEXT = 1,\n};\n\nenum GCCR_BIT {\n\tGCCR_TCR = 3,\n\tGCCR_TCR_NOREQ = 0,\n\tGCCR_TCR_RESET = 1,\n\tGCCR_TCR_CAPTURE = 3,\n\tGCCR_LTO = 4,\n\tGCCR_LTI = 8,\n\tGCCR_LPTC = 16,\n\tGCCR_LMTT = 32,\n\tGCCR_TCSS = 768,\n\tGCCR_TCSS_GPTP = 0,\n\tGCCR_TCSS_ADJGPTP = 256,\n\tGCCR_TCSS_AVTP = 512,\n};\n\nenum GECMR_BIT {\n\tGECMR_10 = 0,\n\tGECMR_100 = 4,\n\tGECMR_1000 = 1,\n};\n\nenum GECMR_BIT___2 {\n\tGECMR_SPEED = 1,\n\tGECMR_SPEED_100 = 0,\n\tGECMR_SPEED_1000 = 1,\n\tGBETH_GECMR_SPEED = 48,\n\tGBETH_GECMR_SPEED_10 = 0,\n\tGBETH_GECMR_SPEED_100 = 16,\n\tGBETH_GECMR_SPEED_1000 = 32,\n};\n\nenum GIC_BIT {\n\tGIC_PTCE = 1,\n\tGIC_PTME = 4,\n};\n\nenum GID_BIT {\n\tGID_PTCD = 1,\n\tGID_PTOD = 2,\n\tGID_PTMD0 = 4,\n\tGID_PTMD1 = 8,\n\tGID_PTMD2 = 16,\n\tGID_PTMD3 = 32,\n\tGID_PTMD4 = 64,\n\tGID_PTMD5 = 128,\n\tGID_PTMD6 = 256,\n\tGID_PTMD7 = 512,\n\tGID_ATCD0 = 65536,\n\tGID_ATCD1 = 131072,\n\tGID_ATCD2 = 262144,\n\tGID_ATCD3 = 524288,\n\tGID_ATCD4 = 1048576,\n\tGID_ATCD5 = 2097152,\n\tGID_ATCD6 = 4194304,\n\tGID_ATCD7 = 8388608,\n\tGID_ATCD8 = 16777216,\n\tGID_ATCD9 = 33554432,\n\tGID_ATCD10 = 67108864,\n\tGID_ATCD11 = 134217728,\n\tGID_ATCD12 = 268435456,\n\tGID_ATCD13 = 536870912,\n\tGID_ATCD14 = 1073741824,\n\tGID_ATCD15 = 2147483648,\n};\n\nenum GIE_BIT {\n\tGIE_PTCS = 1,\n\tGIE_PTOS = 2,\n\tGIE_PTMS0 = 4,\n\tGIE_PTMS1 = 8,\n\tGIE_PTMS2 = 16,\n\tGIE_PTMS3 = 32,\n\tGIE_PTMS4 = 64,\n\tGIE_PTMS5 = 128,\n\tGIE_PTMS6 = 256,\n\tGIE_PTMS7 = 512,\n\tGIE_ATCS0 = 65536,\n\tGIE_ATCS1 = 131072,\n\tGIE_ATCS2 = 262144,\n\tGIE_ATCS3 = 524288,\n\tGIE_ATCS4 = 1048576,\n\tGIE_ATCS5 = 2097152,\n\tGIE_ATCS6 = 4194304,\n\tGIE_ATCS7 = 8388608,\n\tGIE_ATCS8 = 16777216,\n\tGIE_ATCS9 = 33554432,\n\tGIE_ATCS10 = 67108864,\n\tGIE_ATCS11 = 134217728,\n\tGIE_ATCS12 = 268435456,\n\tGIE_ATCS13 = 536870912,\n\tGIE_ATCS14 = 1073741824,\n\tGIE_ATCS15 = 2147483648,\n};\n\nenum GIS_BIT {\n\tGIS_PTCF = 1,\n\tGIS_PTMF = 4,\n\tGIS_RESERVED = 64512,\n};\n\nenum GTI_BIT {\n\tGTI_TIV = 268435455,\n};\n\nenum HCLGE_COMM_API_CAP_BITS {\n\tHCLGE_COMM_API_CAP_FLEX_RSS_TBL_B = 0,\n};\n\nenum HCLGE_COMM_CAP_BITS {\n\tHCLGE_COMM_CAP_UDP_GSO_B = 0,\n\tHCLGE_COMM_CAP_QB_B = 1,\n\tHCLGE_COMM_CAP_FD_FORWARD_TC_B = 2,\n\tHCLGE_COMM_CAP_PTP_B = 3,\n\tHCLGE_COMM_CAP_INT_QL_B = 4,\n\tHCLGE_COMM_CAP_HW_TX_CSUM_B = 5,\n\tHCLGE_COMM_CAP_TX_PUSH_B = 6,\n\tHCLGE_COMM_CAP_PHY_IMP_B = 7,\n\tHCLGE_COMM_CAP_TQP_TXRX_INDEP_B = 8,\n\tHCLGE_COMM_CAP_HW_PAD_B = 9,\n\tHCLGE_COMM_CAP_STASH_B = 10,\n\tHCLGE_COMM_CAP_UDP_TUNNEL_CSUM_B = 11,\n\tHCLGE_COMM_CAP_RAS_IMP_B = 12,\n\tHCLGE_COMM_CAP_FEC_B = 13,\n\tHCLGE_COMM_CAP_PAUSE_B = 14,\n\tHCLGE_COMM_CAP_RXD_ADV_LAYOUT_B = 15,\n\tHCLGE_COMM_CAP_PORT_VLAN_BYPASS_B = 17,\n\tHCLGE_COMM_CAP_CQ_B = 18,\n\tHCLGE_COMM_CAP_GRO_B = 20,\n\tHCLGE_COMM_CAP_FD_B = 21,\n\tHCLGE_COMM_CAP_FEC_STATS_B = 25,\n\tHCLGE_COMM_CAP_VF_FAULT_B = 26,\n\tHCLGE_COMM_CAP_LANE_NUM_B = 27,\n\tHCLGE_COMM_CAP_WOL_B = 28,\n\tHCLGE_COMM_CAP_TM_FLUSH_B = 31,\n\tHCLGE_COMM_CAP_ERR_MOD_GEN_REG_B = 32,\n};\n\nenum HCLGE_DEV_STATE {\n\tHCLGE_STATE_REINITING = 0,\n\tHCLGE_STATE_DOWN = 1,\n\tHCLGE_STATE_DISABLED = 2,\n\tHCLGE_STATE_REMOVING = 3,\n\tHCLGE_STATE_NIC_REGISTERED = 4,\n\tHCLGE_STATE_ROCE_REGISTERED = 5,\n\tHCLGE_STATE_SERVICE_INITED = 6,\n\tHCLGE_STATE_RST_SERVICE_SCHED = 7,\n\tHCLGE_STATE_RST_HANDLING = 8,\n\tHCLGE_STATE_MBX_SERVICE_SCHED = 9,\n\tHCLGE_STATE_MBX_HANDLING = 10,\n\tHCLGE_STATE_ERR_SERVICE_SCHED = 11,\n\tHCLGE_STATE_STATISTICS_UPDATING = 12,\n\tHCLGE_STATE_LINK_UPDATING = 13,\n\tHCLGE_STATE_RST_FAIL = 14,\n\tHCLGE_STATE_FD_TBL_CHANGED = 15,\n\tHCLGE_STATE_FD_CLEAR_ALL = 16,\n\tHCLGE_STATE_FD_USER_DEF_CHANGED = 17,\n\tHCLGE_STATE_PTP_EN = 18,\n\tHCLGE_STATE_PTP_TX_HANDLING = 19,\n\tHCLGE_STATE_FEC_STATS_UPDATING = 20,\n\tHCLGE_STATE_MAX = 21,\n};\n\nenum HCLGE_FD_ACTION {\n\tHCLGE_FD_ACTION_SELECT_QUEUE = 0,\n\tHCLGE_FD_ACTION_DROP_PACKET = 1,\n\tHCLGE_FD_ACTION_SELECT_TC = 2,\n};\n\nenum HCLGE_FD_ACTIVE_RULE_TYPE {\n\tHCLGE_FD_RULE_NONE = 0,\n\tHCLGE_FD_ARFS_ACTIVE = 1,\n\tHCLGE_FD_EP_ACTIVE = 2,\n\tHCLGE_FD_TC_FLOWER_ACTIVE = 3,\n};\n\nenum HCLGE_FD_KEY_OPT {\n\tKEY_OPT_U8 = 0,\n\tKEY_OPT_LE16 = 1,\n\tKEY_OPT_LE32 = 2,\n\tKEY_OPT_MAC = 3,\n\tKEY_OPT_IP = 4,\n\tKEY_OPT_VNI = 5,\n};\n\nenum HCLGE_FD_KEY_TYPE {\n\tHCLGE_FD_KEY_BASE_ON_PTYPE = 0,\n\tHCLGE_FD_KEY_BASE_ON_TUPLE = 1,\n};\n\nenum HCLGE_FD_META_DATA {\n\tPACKET_TYPE_ID = 0,\n\tIP_FRAGEMENT = 1,\n\tROCE_TYPE = 2,\n\tNEXT_KEY = 3,\n\tVLAN_NUMBER = 4,\n\tSRC_VPORT = 5,\n\tDST_VPORT = 6,\n\tTUNNEL_PACKET = 7,\n\tMAX_META_DATA = 8,\n};\n\nenum HCLGE_FD_MODE {\n\tHCLGE_FD_MODE_DEPTH_2K_WIDTH_400B_STAGE_1 = 0,\n\tHCLGE_FD_MODE_DEPTH_1K_WIDTH_400B_STAGE_2 = 1,\n\tHCLGE_FD_MODE_DEPTH_4K_WIDTH_200B_STAGE_1 = 2,\n\tHCLGE_FD_MODE_DEPTH_2K_WIDTH_200B_STAGE_2 = 3,\n};\n\nenum HCLGE_FD_NODE_STATE {\n\tHCLGE_FD_TO_ADD = 0,\n\tHCLGE_FD_TO_DEL = 1,\n\tHCLGE_FD_ACTIVE = 2,\n\tHCLGE_FD_DELETED = 3,\n};\n\nenum HCLGE_FD_PACKET_TYPE {\n\tNIC_PACKET = 0,\n\tROCE_PACKET = 1,\n};\n\nenum HCLGE_FD_STAGE {\n\tHCLGE_FD_STAGE_1 = 0,\n\tHCLGE_FD_STAGE_2 = 1,\n\tMAX_STAGE_NUM = 2,\n};\n\nenum HCLGE_FD_TUPLE {\n\tOUTER_DST_MAC = 0,\n\tOUTER_SRC_MAC = 1,\n\tOUTER_VLAN_TAG_FST = 2,\n\tOUTER_VLAN_TAG_SEC = 3,\n\tOUTER_ETH_TYPE = 4,\n\tOUTER_L2_RSV = 5,\n\tOUTER_IP_TOS = 6,\n\tOUTER_IP_PROTO = 7,\n\tOUTER_SRC_IP = 8,\n\tOUTER_DST_IP = 9,\n\tOUTER_L3_RSV = 10,\n\tOUTER_SRC_PORT = 11,\n\tOUTER_DST_PORT = 12,\n\tOUTER_L4_RSV = 13,\n\tOUTER_TUN_VNI = 14,\n\tOUTER_TUN_FLOW_ID = 15,\n\tINNER_DST_MAC = 16,\n\tINNER_SRC_MAC = 17,\n\tINNER_VLAN_TAG_FST = 18,\n\tINNER_VLAN_TAG_SEC = 19,\n\tINNER_ETH_TYPE = 20,\n\tINNER_L2_RSV = 21,\n\tINNER_IP_TOS = 22,\n\tINNER_IP_PROTO = 23,\n\tINNER_SRC_IP = 24,\n\tINNER_DST_IP = 25,\n\tINNER_L3_RSV = 26,\n\tINNER_SRC_PORT = 27,\n\tINNER_DST_PORT = 28,\n\tINNER_L4_RSV = 29,\n\tMAX_TUPLE = 30,\n};\n\nenum HCLGE_FD_USER_DEF_LAYER {\n\tHCLGE_FD_USER_DEF_NONE = 0,\n\tHCLGE_FD_USER_DEF_L2 = 1,\n\tHCLGE_FD_USER_DEF_L3 = 2,\n\tHCLGE_FD_USER_DEF_L4 = 3,\n};\n\nenum HCLGE_FIRMWARE_MAC_SPEED {\n\tHCLGE_FW_MAC_SPEED_1G = 0,\n\tHCLGE_FW_MAC_SPEED_10G = 1,\n\tHCLGE_FW_MAC_SPEED_25G = 2,\n\tHCLGE_FW_MAC_SPEED_40G = 3,\n\tHCLGE_FW_MAC_SPEED_50G = 4,\n\tHCLGE_FW_MAC_SPEED_100G = 5,\n\tHCLGE_FW_MAC_SPEED_10M = 6,\n\tHCLGE_FW_MAC_SPEED_100M = 7,\n\tHCLGE_FW_MAC_SPEED_200G = 8,\n};\n\nenum HCLGE_MAC_ADDR_TYPE {\n\tHCLGE_MAC_ADDR_UC = 0,\n\tHCLGE_MAC_ADDR_MC = 1,\n};\n\nenum HCLGE_MAC_DUPLEX {\n\tHCLGE_MAC_HALF = 0,\n\tHCLGE_MAC_FULL = 1,\n};\n\nenum HCLGE_MAC_NODE_STATE {\n\tHCLGE_MAC_TO_ADD = 0,\n\tHCLGE_MAC_TO_DEL = 1,\n\tHCLGE_MAC_ACTIVE = 2,\n};\n\nenum HCLGE_MAC_SPEED {\n\tHCLGE_MAC_SPEED_UNKNOWN = 0,\n\tHCLGE_MAC_SPEED_10M = 10,\n\tHCLGE_MAC_SPEED_100M = 100,\n\tHCLGE_MAC_SPEED_1G = 1000,\n\tHCLGE_MAC_SPEED_10G = 10000,\n\tHCLGE_MAC_SPEED_25G = 25000,\n\tHCLGE_MAC_SPEED_40G = 40000,\n\tHCLGE_MAC_SPEED_50G = 50000,\n\tHCLGE_MAC_SPEED_100G = 100000,\n\tHCLGE_MAC_SPEED_200G = 200000,\n};\n\nenum HCLGE_MBX_OPCODE {\n\tHCLGE_MBX_RESET = 1,\n\tHCLGE_MBX_ASSERTING_RESET = 2,\n\tHCLGE_MBX_SET_UNICAST = 3,\n\tHCLGE_MBX_SET_MULTICAST = 4,\n\tHCLGE_MBX_SET_VLAN = 5,\n\tHCLGE_MBX_MAP_RING_TO_VECTOR = 6,\n\tHCLGE_MBX_UNMAP_RING_TO_VECTOR = 7,\n\tHCLGE_MBX_SET_PROMISC_MODE = 8,\n\tHCLGE_MBX_SET_MACVLAN = 9,\n\tHCLGE_MBX_API_NEGOTIATE = 10,\n\tHCLGE_MBX_GET_QINFO = 11,\n\tHCLGE_MBX_GET_QDEPTH = 12,\n\tHCLGE_MBX_GET_BASIC_INFO = 13,\n\tHCLGE_MBX_GET_RETA = 14,\n\tHCLGE_MBX_GET_RSS_KEY = 15,\n\tHCLGE_MBX_GET_MAC_ADDR = 16,\n\tHCLGE_MBX_PF_VF_RESP = 17,\n\tHCLGE_MBX_GET_BDNUM = 18,\n\tHCLGE_MBX_GET_BUFSIZE = 19,\n\tHCLGE_MBX_GET_STREAMID = 20,\n\tHCLGE_MBX_SET_AESTART = 21,\n\tHCLGE_MBX_SET_TSOSTATS = 22,\n\tHCLGE_MBX_LINK_STAT_CHANGE = 23,\n\tHCLGE_MBX_GET_BASE_CONFIG = 24,\n\tHCLGE_MBX_BIND_FUNC_QUEUE = 25,\n\tHCLGE_MBX_GET_LINK_STATUS = 26,\n\tHCLGE_MBX_QUEUE_RESET = 27,\n\tHCLGE_MBX_KEEP_ALIVE = 28,\n\tHCLGE_MBX_SET_ALIVE = 29,\n\tHCLGE_MBX_SET_MTU = 30,\n\tHCLGE_MBX_GET_QID_IN_PF = 31,\n\tHCLGE_MBX_LINK_STAT_MODE = 32,\n\tHCLGE_MBX_GET_LINK_MODE = 33,\n\tHCLGE_MBX_PUSH_VLAN_INFO = 34,\n\tHCLGE_MBX_GET_MEDIA_TYPE = 35,\n\tHCLGE_MBX_PUSH_PROMISC_INFO = 36,\n\tHCLGE_MBX_VF_UNINIT = 37,\n\tHCLGE_MBX_HANDLE_VF_TBL = 38,\n\tHCLGE_MBX_GET_RING_VECTOR_MAP = 39,\n\tHCLGE_MBX_GET_VF_FLR_STATUS = 200,\n\tHCLGE_MBX_PUSH_LINK_STATUS = 201,\n\tHCLGE_MBX_NCSI_ERROR = 202,\n};\n\nenum HCLGE_VPORT_NEED_NOTIFY {\n\tHCLGE_VPORT_NEED_NOTIFY_RESET = 0,\n\tHCLGE_VPORT_NEED_NOTIFY_VF_VLAN = 1,\n};\n\nenum HCLGE_VPORT_STATE {\n\tHCLGE_VPORT_STATE_ALIVE = 0,\n\tHCLGE_VPORT_STATE_MAC_TBL_CHANGE = 1,\n\tHCLGE_VPORT_STATE_PROMISC_CHANGE = 2,\n\tHCLGE_VPORT_STATE_VLAN_FLTR_CHANGE = 3,\n\tHCLGE_VPORT_STATE_INITED = 4,\n\tHCLGE_VPORT_STATE_MAX = 5,\n};\n\nenum HLCGE_PORT_TYPE {\n\tHOST_PORT = 0,\n\tNETWORK_PORT = 1,\n};\n\nenum HNAE3_DEV_CAP_BITS {\n\tHNAE3_DEV_SUPPORT_FD_B = 0,\n\tHNAE3_DEV_SUPPORT_GRO_B = 1,\n\tHNAE3_DEV_SUPPORT_FEC_B = 2,\n\tHNAE3_DEV_SUPPORT_UDP_GSO_B = 3,\n\tHNAE3_DEV_SUPPORT_QB_B = 4,\n\tHNAE3_DEV_SUPPORT_FD_FORWARD_TC_B = 5,\n\tHNAE3_DEV_SUPPORT_PTP_B = 6,\n\tHNAE3_DEV_SUPPORT_INT_QL_B = 7,\n\tHNAE3_DEV_SUPPORT_HW_TX_CSUM_B = 8,\n\tHNAE3_DEV_SUPPORT_TX_PUSH_B = 9,\n\tHNAE3_DEV_SUPPORT_PHY_IMP_B = 10,\n\tHNAE3_DEV_SUPPORT_TQP_TXRX_INDEP_B = 11,\n\tHNAE3_DEV_SUPPORT_HW_PAD_B = 12,\n\tHNAE3_DEV_SUPPORT_STASH_B = 13,\n\tHNAE3_DEV_SUPPORT_UDP_TUNNEL_CSUM_B = 14,\n\tHNAE3_DEV_SUPPORT_PAUSE_B = 15,\n\tHNAE3_DEV_SUPPORT_RAS_IMP_B = 16,\n\tHNAE3_DEV_SUPPORT_RXD_ADV_LAYOUT_B = 17,\n\tHNAE3_DEV_SUPPORT_PORT_VLAN_BYPASS_B = 18,\n\tHNAE3_DEV_SUPPORT_VLAN_FLTR_MDF_B = 19,\n\tHNAE3_DEV_SUPPORT_MC_MAC_MNG_B = 20,\n\tHNAE3_DEV_SUPPORT_CQ_B = 21,\n\tHNAE3_DEV_SUPPORT_FEC_STATS_B = 22,\n\tHNAE3_DEV_SUPPORT_LANE_NUM_B = 23,\n\tHNAE3_DEV_SUPPORT_WOL_B = 24,\n\tHNAE3_DEV_SUPPORT_TM_FLUSH_B = 25,\n\tHNAE3_DEV_SUPPORT_VF_FAULT_B = 26,\n\tHNAE3_DEV_SUPPORT_ERR_MOD_GEN_REG_B = 27,\n};\n\nenum HNAE3_PF_CAP_BITS {\n\tHNAE3_PF_SUPPORT_VLAN_FLTR_MDF_B = 0,\n};\n\nenum I2C_REGS_OFFSET {\n\tOFFSET_DATA_PORT = 0,\n\tOFFSET_SLAVE_ADDR = 1,\n\tOFFSET_INTR_MASK = 2,\n\tOFFSET_INTR_STAT = 3,\n\tOFFSET_CONTROL = 4,\n\tOFFSET_TRANSFER_LEN = 5,\n\tOFFSET_TRANSAC_LEN = 6,\n\tOFFSET_DELAY_LEN = 7,\n\tOFFSET_TIMING = 8,\n\tOFFSET_START = 9,\n\tOFFSET_EXT_CONF = 10,\n\tOFFSET_FIFO_STAT = 11,\n\tOFFSET_FIFO_THRESH = 12,\n\tOFFSET_FIFO_ADDR_CLR = 13,\n\tOFFSET_IO_CONFIG = 14,\n\tOFFSET_RSV_DEBUG = 15,\n\tOFFSET_HS = 16,\n\tOFFSET_SOFTRESET = 17,\n\tOFFSET_DCM_EN = 18,\n\tOFFSET_MULTI_DMA = 19,\n\tOFFSET_PATH_DIR = 20,\n\tOFFSET_DEBUGSTAT = 21,\n\tOFFSET_DEBUGCTRL = 22,\n\tOFFSET_TRANSFER_LEN_AUX = 23,\n\tOFFSET_CLOCK_DIV = 24,\n\tOFFSET_LTIMING = 25,\n\tOFFSET_SCL_HIGH_LOW_RATIO = 26,\n\tOFFSET_HS_SCL_HIGH_LOW_RATIO = 27,\n\tOFFSET_SCL_MIS_COMP_POINT = 28,\n\tOFFSET_STA_STO_AC_TIMING = 29,\n\tOFFSET_HS_STA_STO_AC_TIMING = 30,\n\tOFFSET_SDA_TIMING = 31,\n};\n\nenum ISS_BIT {\n\tISS_FRS = 1,\n\tISS_FTS = 4,\n\tISS_ES = 64,\n\tISS_MS = 128,\n\tISS_TFUS = 256,\n\tISS_TFWS = 512,\n\tISS_RFWS = 4096,\n\tISS_CGIS = 8192,\n\tISS_DPS1 = 131072,\n\tISS_DPS2 = 262144,\n\tISS_DPS3 = 524288,\n\tISS_DPS4 = 1048576,\n\tISS_DPS5 = 2097152,\n\tISS_DPS6 = 4194304,\n\tISS_DPS7 = 8388608,\n\tISS_DPS8 = 16777216,\n\tISS_DPS9 = 33554432,\n\tISS_DPS10 = 67108864,\n\tISS_DPS11 = 134217728,\n\tISS_DPS12 = 268435456,\n\tISS_DPS13 = 536870912,\n\tISS_DPS14 = 1073741824,\n\tISS_DPS15 = 2147483648,\n};\n\nenum KTHREAD_BITS {\n\tKTHREAD_IS_PER_CPU = 0,\n\tKTHREAD_SHOULD_STOP = 1,\n\tKTHREAD_SHOULD_PARK = 2,\n};\n\nenum LMAC_TYPE {\n\tBGX_MODE_SGMII = 0,\n\tBGX_MODE_XAUI = 1,\n\tBGX_MODE_DXAUI = 1,\n\tBGX_MODE_RXAUI = 2,\n\tBGX_MODE_XFI = 3,\n\tBGX_MODE_XLAUI = 4,\n\tBGX_MODE_10G_KR = 3,\n\tBGX_MODE_40G_KR = 4,\n\tBGX_MODE_RGMII = 5,\n\tBGX_MODE_QSGMII = 6,\n\tBGX_MODE_INVALID = 7,\n};\n\nenum MAX77686_RTC_OP {\n\tMAX77686_RTC_WRITE = 0,\n\tMAX77686_RTC_READ = 1,\n};\n\nenum MCAST_MODE {\n\tMCAST_MODE_REJECT = 0,\n\tMCAST_MODE_ACCEPT = 1,\n\tMCAST_MODE_CAM_FILTER = 2,\n\tRSVD = 3,\n};\n\nenum MEGASAS_LD_TARGET_ID_STATUS {\n\tLD_TARGET_ID_INITIAL = 0,\n\tLD_TARGET_ID_ACTIVE = 1,\n\tLD_TARGET_ID_DELETED = 2,\n};\n\nenum MEGASAS_OCR_CAUSE {\n\tFW_FAULT_OCR = 0,\n\tSCSIIO_TIMEOUT_OCR = 1,\n\tMFI_IO_TIMEOUT_OCR = 2,\n};\n\nenum MFI_CMD_OP {\n\tMFI_CMD_INIT = 0,\n\tMFI_CMD_LD_READ = 1,\n\tMFI_CMD_LD_WRITE = 2,\n\tMFI_CMD_LD_SCSI_IO = 3,\n\tMFI_CMD_PD_SCSI_IO = 4,\n\tMFI_CMD_DCMD = 5,\n\tMFI_CMD_ABORT = 6,\n\tMFI_CMD_SMP = 7,\n\tMFI_CMD_STP = 8,\n\tMFI_CMD_NVME = 9,\n\tMFI_CMD_TOOLBOX = 10,\n\tMFI_CMD_OP_COUNT = 11,\n\tMFI_CMD_INVALID = 255,\n};\n\nenum MFI_STAT {\n\tMFI_STAT_OK = 0,\n\tMFI_STAT_INVALID_CMD = 1,\n\tMFI_STAT_INVALID_DCMD = 2,\n\tMFI_STAT_INVALID_PARAMETER = 3,\n\tMFI_STAT_INVALID_SEQUENCE_NUMBER = 4,\n\tMFI_STAT_ABORT_NOT_POSSIBLE = 5,\n\tMFI_STAT_APP_HOST_CODE_NOT_FOUND = 6,\n\tMFI_STAT_APP_IN_USE = 7,\n\tMFI_STAT_APP_NOT_INITIALIZED = 8,\n\tMFI_STAT_ARRAY_INDEX_INVALID = 9,\n\tMFI_STAT_ARRAY_ROW_NOT_EMPTY = 10,\n\tMFI_STAT_CONFIG_RESOURCE_CONFLICT = 11,\n\tMFI_STAT_DEVICE_NOT_FOUND = 12,\n\tMFI_STAT_DRIVE_TOO_SMALL = 13,\n\tMFI_STAT_FLASH_ALLOC_FAIL = 14,\n\tMFI_STAT_FLASH_BUSY = 15,\n\tMFI_STAT_FLASH_ERROR = 16,\n\tMFI_STAT_FLASH_IMAGE_BAD = 17,\n\tMFI_STAT_FLASH_IMAGE_INCOMPLETE = 18,\n\tMFI_STAT_FLASH_NOT_OPEN = 19,\n\tMFI_STAT_FLASH_NOT_STARTED = 20,\n\tMFI_STAT_FLUSH_FAILED = 21,\n\tMFI_STAT_HOST_CODE_NOT_FOUNT = 22,\n\tMFI_STAT_LD_CC_IN_PROGRESS = 23,\n\tMFI_STAT_LD_INIT_IN_PROGRESS = 24,\n\tMFI_STAT_LD_LBA_OUT_OF_RANGE = 25,\n\tMFI_STAT_LD_MAX_CONFIGURED = 26,\n\tMFI_STAT_LD_NOT_OPTIMAL = 27,\n\tMFI_STAT_LD_RBLD_IN_PROGRESS = 28,\n\tMFI_STAT_LD_RECON_IN_PROGRESS = 29,\n\tMFI_STAT_LD_WRONG_RAID_LEVEL = 30,\n\tMFI_STAT_MAX_SPARES_EXCEEDED = 31,\n\tMFI_STAT_MEMORY_NOT_AVAILABLE = 32,\n\tMFI_STAT_MFC_HW_ERROR = 33,\n\tMFI_STAT_NO_HW_PRESENT = 34,\n\tMFI_STAT_NOT_FOUND = 35,\n\tMFI_STAT_NOT_IN_ENCL = 36,\n\tMFI_STAT_PD_CLEAR_IN_PROGRESS = 37,\n\tMFI_STAT_PD_TYPE_WRONG = 38,\n\tMFI_STAT_PR_DISABLED = 39,\n\tMFI_STAT_ROW_INDEX_INVALID = 40,\n\tMFI_STAT_SAS_CONFIG_INVALID_ACTION = 41,\n\tMFI_STAT_SAS_CONFIG_INVALID_DATA = 42,\n\tMFI_STAT_SAS_CONFIG_INVALID_PAGE = 43,\n\tMFI_STAT_SAS_CONFIG_INVALID_TYPE = 44,\n\tMFI_STAT_SCSI_DONE_WITH_ERROR = 45,\n\tMFI_STAT_SCSI_IO_FAILED = 46,\n\tMFI_STAT_SCSI_RESERVATION_CONFLICT = 47,\n\tMFI_STAT_SHUTDOWN_FAILED = 48,\n\tMFI_STAT_TIME_NOT_SET = 49,\n\tMFI_STAT_WRONG_STATE = 50,\n\tMFI_STAT_LD_OFFLINE = 51,\n\tMFI_STAT_PEER_NOTIFICATION_REJECTED = 52,\n\tMFI_STAT_PEER_NOTIFICATION_FAILED = 53,\n\tMFI_STAT_RESERVATION_IN_PROGRESS = 54,\n\tMFI_STAT_I2C_ERRORS_DETECTED = 55,\n\tMFI_STAT_PCI_ERRORS_DETECTED = 56,\n\tMFI_STAT_CONFIG_SEQ_MISMATCH = 103,\n\tMFI_STAT_INVALID_STATUS = 255,\n};\n\nenum MR_ADAPTER_TYPE {\n\tMFI_SERIES = 1,\n\tTHUNDERBOLT_SERIES = 2,\n\tINVADER_SERIES = 3,\n\tVENTURA_SERIES = 4,\n\tAERO_SERIES = 5,\n};\n\nenum MR_EVT_CLASS {\n\tMR_EVT_CLASS_DEBUG = -2,\n\tMR_EVT_CLASS_PROGRESS = -1,\n\tMR_EVT_CLASS_INFO = 0,\n\tMR_EVT_CLASS_WARNING = 1,\n\tMR_EVT_CLASS_CRITICAL = 2,\n\tMR_EVT_CLASS_FATAL = 3,\n\tMR_EVT_CLASS_DEAD = 4,\n};\n\nenum MR_EVT_LOCALE {\n\tMR_EVT_LOCALE_LD = 1,\n\tMR_EVT_LOCALE_PD = 2,\n\tMR_EVT_LOCALE_ENCL = 4,\n\tMR_EVT_LOCALE_BBU = 8,\n\tMR_EVT_LOCALE_SAS = 16,\n\tMR_EVT_LOCALE_CTRL = 32,\n\tMR_EVT_LOCALE_CONFIG = 64,\n\tMR_EVT_LOCALE_CLUSTER = 128,\n\tMR_EVT_LOCALE_ALL = 65535,\n};\n\nenum MR_FW_CRASH_DUMP_STATE {\n\tUNAVAILABLE = 0,\n\tAVAILABLE = 1,\n\tCOPYING = 2,\n\tCOPIED = 3,\n\tCOPY_ERROR = 4,\n};\n\nenum MR_LD_QUERY_TYPE {\n\tMR_LD_QUERY_TYPE_ALL = 0,\n\tMR_LD_QUERY_TYPE_EXPOSED_TO_HOST = 1,\n\tMR_LD_QUERY_TYPE_USED_TGT_IDS = 2,\n\tMR_LD_QUERY_TYPE_CLUSTER_ACCESS = 3,\n\tMR_LD_QUERY_TYPE_CLUSTER_LOCALE = 4,\n};\n\nenum MR_PD_QUERY_TYPE {\n\tMR_PD_QUERY_TYPE_ALL = 0,\n\tMR_PD_QUERY_TYPE_STATE = 1,\n\tMR_PD_QUERY_TYPE_POWER_STATE = 2,\n\tMR_PD_QUERY_TYPE_MEDIA_TYPE = 3,\n\tMR_PD_QUERY_TYPE_SPEED = 4,\n\tMR_PD_QUERY_TYPE_EXPOSED_TO_HOST = 5,\n};\n\nenum MR_PD_STATE {\n\tMR_PD_STATE_UNCONFIGURED_GOOD = 0,\n\tMR_PD_STATE_UNCONFIGURED_BAD = 1,\n\tMR_PD_STATE_HOT_SPARE = 2,\n\tMR_PD_STATE_OFFLINE = 16,\n\tMR_PD_STATE_FAILED = 17,\n\tMR_PD_STATE_REBUILD = 20,\n\tMR_PD_STATE_ONLINE = 24,\n\tMR_PD_STATE_COPYBACK = 32,\n\tMR_PD_STATE_SYSTEM = 64,\n};\n\nenum MR_PD_TYPE {\n\tUNKNOWN_DRIVE = 0,\n\tPARALLEL_SCSI = 1,\n\tSAS_PD = 2,\n\tSATA_PD = 3,\n\tFC_PD = 4,\n\tNVME_PD = 5,\n};\n\nenum MR_PERF_MODE {\n\tMR_BALANCED_PERF_MODE = 0,\n\tMR_IOPS_PERF_MODE = 1,\n\tMR_LATENCY_PERF_MODE = 2,\n};\n\nenum MR_RAID_FLAGS_IO_SUB_TYPE {\n\tMR_RAID_FLAGS_IO_SUB_TYPE_NONE = 0,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_SYSTEM_PD = 1,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_RMW_DATA = 2,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_RMW_P = 3,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_RMW_Q = 4,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_CACHE_BYPASS = 6,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_LDIO_BW_LIMIT = 7,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_R56_DIV_OFFLOAD = 8,\n};\n\nenum MR_RAID_MAP_DESC_TYPE {\n\tRAID_MAP_DESC_TYPE_DEVHDL_INFO = 0,\n\tRAID_MAP_DESC_TYPE_TGTID_INFO = 1,\n\tRAID_MAP_DESC_TYPE_ARRAY_INFO = 2,\n\tRAID_MAP_DESC_TYPE_SPAN_INFO = 3,\n\tRAID_MAP_DESC_TYPE_COUNT = 4,\n};\n\nenum MR_SCSI_CMD_TYPE {\n\tREAD_WRITE_LDIO = 0,\n\tNON_READ_WRITE_LDIO = 1,\n\tREAD_WRITE_SYSPDIO = 2,\n\tNON_READ_WRITE_SYSPDIO = 3,\n};\n\nenum MSC_BIT {\n\tMSC_CRC = 1,\n\tMSC_RFE = 2,\n\tMSC_RTSF = 4,\n\tMSC_RTLF = 8,\n\tMSC_FRE = 16,\n\tMSC_CRL = 32,\n\tMSC_CEEF = 64,\n\tMSC_MC = 128,\n};\n\nenum MT6323_IRQ_STATUS_numbers {\n\tMT6323_IRQ_STATUS_SPKL_AB = 0,\n\tMT6323_IRQ_STATUS_SPKL = 1,\n\tMT6323_IRQ_STATUS_BAT_L = 2,\n\tMT6323_IRQ_STATUS_BAT_H = 3,\n\tMT6323_IRQ_STATUS_WATCHDOG = 4,\n\tMT6323_IRQ_STATUS_PWRKEY = 5,\n\tMT6323_IRQ_STATUS_THR_L = 6,\n\tMT6323_IRQ_STATUS_THR_H = 7,\n\tMT6323_IRQ_STATUS_VBATON_UNDET = 8,\n\tMT6323_IRQ_STATUS_BVALID_DET = 9,\n\tMT6323_IRQ_STATUS_CHRDET = 10,\n\tMT6323_IRQ_STATUS_OV = 11,\n\tMT6323_IRQ_STATUS_LDO = 16,\n\tMT6323_IRQ_STATUS_FCHRKEY = 17,\n\tMT6323_IRQ_STATUS_ACCDET = 18,\n\tMT6323_IRQ_STATUS_AUDIO = 19,\n\tMT6323_IRQ_STATUS_RTC = 20,\n\tMT6323_IRQ_STATUS_VPROC = 21,\n\tMT6323_IRQ_STATUS_VSYS = 22,\n\tMT6323_IRQ_STATUS_VPA = 23,\n\tMT6323_IRQ_STATUS_NR = 24,\n};\n\nenum OID {\n\tOID_id_dsa_with_sha1 = 0,\n\tOID_id_dsa = 1,\n\tOID_id_ecPublicKey = 2,\n\tOID_id_prime192v1 = 3,\n\tOID_id_prime256v1 = 4,\n\tOID_id_ecdsa_with_sha1 = 5,\n\tOID_id_ecdsa_with_sha224 = 6,\n\tOID_id_ecdsa_with_sha256 = 7,\n\tOID_id_ecdsa_with_sha384 = 8,\n\tOID_id_ecdsa_with_sha512 = 9,\n\tOID_rsaEncryption = 10,\n\tOID_sha1WithRSAEncryption = 11,\n\tOID_sha256WithRSAEncryption = 12,\n\tOID_sha384WithRSAEncryption = 13,\n\tOID_sha512WithRSAEncryption = 14,\n\tOID_sha224WithRSAEncryption = 15,\n\tOID_data = 16,\n\tOID_signed_data = 17,\n\tOID_email_address = 18,\n\tOID_contentType = 19,\n\tOID_messageDigest = 20,\n\tOID_signingTime = 21,\n\tOID_smimeCapabilites = 22,\n\tOID_smimeAuthenticatedAttrs = 23,\n\tOID_mskrb5 = 24,\n\tOID_krb5 = 25,\n\tOID_krb5u2u = 26,\n\tOID_msIndirectData = 27,\n\tOID_msStatementType = 28,\n\tOID_msSpOpusInfo = 29,\n\tOID_msPeImageDataObjId = 30,\n\tOID_msIndividualSPKeyPurpose = 31,\n\tOID_msOutlookExpress = 32,\n\tOID_ntlmssp = 33,\n\tOID_negoex = 34,\n\tOID_spnego = 35,\n\tOID_IAKerb = 36,\n\tOID_PKU2U = 37,\n\tOID_Scram = 38,\n\tOID_certAuthInfoAccess = 39,\n\tOID_sha1 = 40,\n\tOID_id_ansip384r1 = 41,\n\tOID_id_ansip521r1 = 42,\n\tOID_sha256 = 43,\n\tOID_sha384 = 44,\n\tOID_sha512 = 45,\n\tOID_sha224 = 46,\n\tOID_commonName = 47,\n\tOID_surname = 48,\n\tOID_countryName = 49,\n\tOID_locality = 50,\n\tOID_stateOrProvinceName = 51,\n\tOID_organizationName = 52,\n\tOID_organizationUnitName = 53,\n\tOID_title = 54,\n\tOID_description = 55,\n\tOID_name = 56,\n\tOID_givenName = 57,\n\tOID_initials = 58,\n\tOID_generationalQualifier = 59,\n\tOID_subjectKeyIdentifier = 60,\n\tOID_keyUsage = 61,\n\tOID_subjectAltName = 62,\n\tOID_issuerAltName = 63,\n\tOID_basicConstraints = 64,\n\tOID_crlDistributionPoints = 65,\n\tOID_certPolicies = 66,\n\tOID_authorityKeyIdentifier = 67,\n\tOID_extKeyUsage = 68,\n\tOID_NetlogonMechanism = 69,\n\tOID_appleLocalKdcSupported = 70,\n\tOID_gostCPSignA = 71,\n\tOID_gostCPSignB = 72,\n\tOID_gostCPSignC = 73,\n\tOID_gost2012PKey256 = 74,\n\tOID_gost2012PKey512 = 75,\n\tOID_gost2012Digest256 = 76,\n\tOID_gost2012Digest512 = 77,\n\tOID_gost2012Signature256 = 78,\n\tOID_gost2012Signature512 = 79,\n\tOID_gostTC26Sign256A = 80,\n\tOID_gostTC26Sign256B = 81,\n\tOID_gostTC26Sign256C = 82,\n\tOID_gostTC26Sign256D = 83,\n\tOID_gostTC26Sign512A = 84,\n\tOID_gostTC26Sign512B = 85,\n\tOID_gostTC26Sign512C = 86,\n\tOID_sm2 = 87,\n\tOID_sm3 = 88,\n\tOID_SM2_with_SM3 = 89,\n\tOID_sm3WithRSAEncryption = 90,\n\tOID_TPMLoadableKey = 91,\n\tOID_TPMImportableKey = 92,\n\tOID_TPMSealedData = 93,\n\tOID_sha3_256 = 94,\n\tOID_sha3_384 = 95,\n\tOID_sha3_512 = 96,\n\tOID_id_ecdsa_with_sha3_256 = 97,\n\tOID_id_ecdsa_with_sha3_384 = 98,\n\tOID_id_ecdsa_with_sha3_512 = 99,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_256 = 100,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_384 = 101,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_512 = 102,\n\tOID__NR = 103,\n};\n\nenum Opt_errors {\n\tOpt_errors_continue = 0,\n\tOpt_errors_panic = 1,\n};\n\nenum PIR_BIT {\n\tPIR_MDI = 8,\n\tPIR_MDO = 4,\n\tPIR_MMD = 2,\n\tPIR_MDC = 1,\n};\n\nenum PIR_BIT___2 {\n\tPIR_MDC___2 = 1,\n\tPIR_MMD___2 = 2,\n\tPIR_MDO___2 = 4,\n\tPIR_MDI___2 = 8,\n};\n\nenum PSR_BIT {\n\tPSR_LMON = 1,\n};\n\nenum RAVB_QUEUE {\n\tRAVB_BE = 0,\n\tRAVB_NC = 1,\n};\n\nenum RCR_BIT {\n\tRCR_EFFS = 1,\n\tRCR_ENCF = 2,\n\tRCR_ESF = 12,\n\tRCR_ETS0 = 16,\n\tRCR_ETS2 = 32,\n\tRCR_RFCL = 536805376,\n};\n\nenum RD_LEN_BIT {\n\tRD_RFL = 65535,\n\tRD_RBL = 4294901760,\n};\n\nenum RD_STS_BIT {\n\tRD_RACT = 2147483648,\n\tRD_RDLE = 1073741824,\n\tRD_RFP1 = 536870912,\n\tRD_RFP0 = 268435456,\n\tRD_RFE = 134217728,\n\tRD_RFS10 = 512,\n\tRD_RFS9 = 256,\n\tRD_RFS8 = 128,\n\tRD_RFS7 = 64,\n\tRD_RFS6 = 32,\n\tRD_RFS5 = 16,\n\tRD_RFS4 = 8,\n\tRD_RFS3 = 4,\n\tRD_RFS2 = 2,\n\tRD_RFS1 = 1,\n};\n\nenum REGION_TYPE {\n\tREGION_TYPE_UNUSED = 0,\n\tREGION_TYPE_SHARED_READ = 1,\n\tREGION_TYPE_SHARED_WRITE = 2,\n\tREGION_TYPE_EXCLUSIVE = 3,\n};\n\nenum RIC0_BIT {\n\tRIC0_FRE0 = 1,\n\tRIC0_FRE1 = 2,\n\tRIC0_FRE2 = 4,\n\tRIC0_FRE3 = 8,\n\tRIC0_FRE4 = 16,\n\tRIC0_FRE5 = 32,\n\tRIC0_FRE6 = 64,\n\tRIC0_FRE7 = 128,\n\tRIC0_FRE8 = 256,\n\tRIC0_FRE9 = 512,\n\tRIC0_FRE10 = 1024,\n\tRIC0_FRE11 = 2048,\n\tRIC0_FRE12 = 4096,\n\tRIC0_FRE13 = 8192,\n\tRIC0_FRE14 = 16384,\n\tRIC0_FRE15 = 32768,\n\tRIC0_FRE16 = 65536,\n\tRIC0_FRE17 = 131072,\n};\n\nenum RIC2_BIT {\n\tRIC2_QFE0 = 1,\n\tRIC2_QFE1 = 2,\n\tRIC2_QFE2 = 4,\n\tRIC2_QFE3 = 8,\n\tRIC2_QFE4 = 16,\n\tRIC2_QFE5 = 32,\n\tRIC2_QFE6 = 64,\n\tRIC2_QFE7 = 128,\n\tRIC2_QFE8 = 256,\n\tRIC2_QFE9 = 512,\n\tRIC2_QFE10 = 1024,\n\tRIC2_QFE11 = 2048,\n\tRIC2_QFE12 = 4096,\n\tRIC2_QFE13 = 8192,\n\tRIC2_QFE14 = 16384,\n\tRIC2_QFE15 = 32768,\n\tRIC2_QFE16 = 65536,\n\tRIC2_QFE17 = 131072,\n\tRIC2_RFFE = 2147483648,\n};\n\nenum RIS0_BIT {\n\tRIS0_FRF0 = 1,\n\tRIS0_FRF1 = 2,\n\tRIS0_FRF2 = 4,\n\tRIS0_FRF3 = 8,\n\tRIS0_FRF4 = 16,\n\tRIS0_FRF5 = 32,\n\tRIS0_FRF6 = 64,\n\tRIS0_FRF7 = 128,\n\tRIS0_FRF8 = 256,\n\tRIS0_FRF9 = 512,\n\tRIS0_FRF10 = 1024,\n\tRIS0_FRF11 = 2048,\n\tRIS0_FRF12 = 4096,\n\tRIS0_FRF13 = 8192,\n\tRIS0_FRF14 = 16384,\n\tRIS0_FRF15 = 32768,\n\tRIS0_FRF16 = 65536,\n\tRIS0_FRF17 = 131072,\n\tRIS0_RESERVED = 4294705152,\n};\n\nenum RIS2_BIT {\n\tRIS2_QFF0 = 1,\n\tRIS2_QFF1 = 2,\n\tRIS2_QFF2 = 4,\n\tRIS2_QFF3 = 8,\n\tRIS2_QFF4 = 16,\n\tRIS2_QFF5 = 32,\n\tRIS2_QFF6 = 64,\n\tRIS2_QFF7 = 128,\n\tRIS2_QFF8 = 256,\n\tRIS2_QFF9 = 512,\n\tRIS2_QFF10 = 1024,\n\tRIS2_QFF11 = 2048,\n\tRIS2_QFF12 = 4096,\n\tRIS2_QFF13 = 8192,\n\tRIS2_QFF14 = 16384,\n\tRIS2_QFF15 = 32768,\n\tRIS2_QFF16 = 65536,\n\tRIS2_QFF17 = 131072,\n\tRIS2_RFFF = 2147483648,\n\tRIS2_RESERVED = 2147221504,\n};\n\nenum RMCR_BIT {\n\tRMCR_RNC = 1,\n};\n\nenum RX_DS_CC_BIT {\n\tRX_DS = 4095,\n\tRX_TR = 4096,\n\tRX_EI = 8192,\n\tRX_PS = 49152,\n};\n\nenum S2MPU02_reg {\n\tS2MPU02_REG_ID = 0,\n\tS2MPU02_REG_INT1 = 1,\n\tS2MPU02_REG_INT2 = 2,\n\tS2MPU02_REG_INT3 = 3,\n\tS2MPU02_REG_INT1M = 4,\n\tS2MPU02_REG_INT2M = 5,\n\tS2MPU02_REG_INT3M = 6,\n\tS2MPU02_REG_ST1 = 7,\n\tS2MPU02_REG_ST2 = 8,\n\tS2MPU02_REG_PWRONSRC = 9,\n\tS2MPU02_REG_OFFSRC = 10,\n\tS2MPU02_REG_BU_CHG = 11,\n\tS2MPU02_REG_RTCCTRL = 12,\n\tS2MPU02_REG_PMCTRL1 = 13,\n\tS2MPU02_REG_RSVD1 = 14,\n\tS2MPU02_REG_RSVD2 = 15,\n\tS2MPU02_REG_RSVD3 = 16,\n\tS2MPU02_REG_RSVD4 = 17,\n\tS2MPU02_REG_RSVD5 = 18,\n\tS2MPU02_REG_RSVD6 = 19,\n\tS2MPU02_REG_RSVD7 = 20,\n\tS2MPU02_REG_WRSTEN = 21,\n\tS2MPU02_REG_RSVD8 = 22,\n\tS2MPU02_REG_RSVD9 = 23,\n\tS2MPU02_REG_RSVD10 = 24,\n\tS2MPU02_REG_B1CTRL1 = 25,\n\tS2MPU02_REG_B1CTRL2 = 26,\n\tS2MPU02_REG_B2CTRL1 = 27,\n\tS2MPU02_REG_B2CTRL2 = 28,\n\tS2MPU02_REG_B3CTRL1 = 29,\n\tS2MPU02_REG_B3CTRL2 = 30,\n\tS2MPU02_REG_B4CTRL1 = 31,\n\tS2MPU02_REG_B4CTRL2 = 32,\n\tS2MPU02_REG_B5CTRL1 = 33,\n\tS2MPU02_REG_B5CTRL2 = 34,\n\tS2MPU02_REG_B5CTRL3 = 35,\n\tS2MPU02_REG_B5CTRL4 = 36,\n\tS2MPU02_REG_B5CTRL5 = 37,\n\tS2MPU02_REG_B6CTRL1 = 38,\n\tS2MPU02_REG_B6CTRL2 = 39,\n\tS2MPU02_REG_B7CTRL1 = 40,\n\tS2MPU02_REG_B7CTRL2 = 41,\n\tS2MPU02_REG_RAMP1 = 42,\n\tS2MPU02_REG_RAMP2 = 43,\n\tS2MPU02_REG_L1CTRL = 44,\n\tS2MPU02_REG_L2CTRL1 = 45,\n\tS2MPU02_REG_L2CTRL2 = 46,\n\tS2MPU02_REG_L2CTRL3 = 47,\n\tS2MPU02_REG_L2CTRL4 = 48,\n\tS2MPU02_REG_L3CTRL = 49,\n\tS2MPU02_REG_L4CTRL = 50,\n\tS2MPU02_REG_L5CTRL = 51,\n\tS2MPU02_REG_L6CTRL = 52,\n\tS2MPU02_REG_L7CTRL = 53,\n\tS2MPU02_REG_L8CTRL = 54,\n\tS2MPU02_REG_L9CTRL = 55,\n\tS2MPU02_REG_L10CTRL = 56,\n\tS2MPU02_REG_L11CTRL = 57,\n\tS2MPU02_REG_L12CTRL = 58,\n\tS2MPU02_REG_L13CTRL = 59,\n\tS2MPU02_REG_L14CTRL = 60,\n\tS2MPU02_REG_L15CTRL = 61,\n\tS2MPU02_REG_L16CTRL = 62,\n\tS2MPU02_REG_L17CTRL = 63,\n\tS2MPU02_REG_L18CTRL = 64,\n\tS2MPU02_REG_L19CTRL = 65,\n\tS2MPU02_REG_L20CTRL = 66,\n\tS2MPU02_REG_L21CTRL = 67,\n\tS2MPU02_REG_L22CTRL = 68,\n\tS2MPU02_REG_L23CTRL = 69,\n\tS2MPU02_REG_L24CTRL = 70,\n\tS2MPU02_REG_L25CTRL = 71,\n\tS2MPU02_REG_L26CTRL = 72,\n\tS2MPU02_REG_L27CTRL = 73,\n\tS2MPU02_REG_L28CTRL = 74,\n\tS2MPU02_REG_LDODSCH1 = 75,\n\tS2MPU02_REG_LDODSCH2 = 76,\n\tS2MPU02_REG_LDODSCH3 = 77,\n\tS2MPU02_REG_LDODSCH4 = 78,\n\tS2MPU02_REG_SELMIF = 79,\n\tS2MPU02_REG_RSVD11 = 80,\n\tS2MPU02_REG_RSVD12 = 81,\n\tS2MPU02_REG_RSVD13 = 82,\n\tS2MPU02_REG_DVSSEL = 83,\n\tS2MPU02_REG_DVSPTR = 84,\n\tS2MPU02_REG_DVSDATA = 85,\n};\n\nenum S2MPU02_regulators {\n\tS2MPU02_LDO1 = 0,\n\tS2MPU02_LDO2 = 1,\n\tS2MPU02_LDO3 = 2,\n\tS2MPU02_LDO4 = 3,\n\tS2MPU02_LDO5 = 4,\n\tS2MPU02_LDO6 = 5,\n\tS2MPU02_LDO7 = 6,\n\tS2MPU02_LDO8 = 7,\n\tS2MPU02_LDO9 = 8,\n\tS2MPU02_LDO10 = 9,\n\tS2MPU02_LDO11 = 10,\n\tS2MPU02_LDO12 = 11,\n\tS2MPU02_LDO13 = 12,\n\tS2MPU02_LDO14 = 13,\n\tS2MPU02_LDO15 = 14,\n\tS2MPU02_LDO16 = 15,\n\tS2MPU02_LDO17 = 16,\n\tS2MPU02_LDO18 = 17,\n\tS2MPU02_LDO19 = 18,\n\tS2MPU02_LDO20 = 19,\n\tS2MPU02_LDO21 = 20,\n\tS2MPU02_LDO22 = 21,\n\tS2MPU02_LDO23 = 22,\n\tS2MPU02_LDO24 = 23,\n\tS2MPU02_LDO25 = 24,\n\tS2MPU02_LDO26 = 25,\n\tS2MPU02_LDO27 = 26,\n\tS2MPU02_LDO28 = 27,\n\tS2MPU02_BUCK1 = 28,\n\tS2MPU02_BUCK2 = 29,\n\tS2MPU02_BUCK3 = 30,\n\tS2MPU02_BUCK4 = 31,\n\tS2MPU02_BUCK5 = 32,\n\tS2MPU02_BUCK6 = 33,\n\tS2MPU02_BUCK7 = 34,\n\tS2MPU02_REGULATOR_MAX = 35,\n};\n\nenum SCI_CLKS {\n\tSCI_FCK = 0,\n\tSCI_SCK = 1,\n\tSCI_BRG_INT = 2,\n\tSCI_SCIF_CLK = 3,\n\tSCI_NUM_CLKS = 4,\n};\n\nenum SHIFT_DIRECTION {\n\tSHIFT_LEFT = 0,\n\tSHIFT_RIGHT = 1,\n};\n\nenum SS4_PACKET_ID {\n\tSS4_PACKET_ID_IDLE = 0,\n\tSS4_PACKET_ID_ONE = 1,\n\tSS4_PACKET_ID_TWO = 2,\n\tSS4_PACKET_ID_MULTI = 3,\n\tSS4_PACKET_ID_STICK = 4,\n};\n\nenum TCCR_BIT {\n\tTCCR_TSRQ0 = 1,\n\tTCCR_TSRQ1 = 2,\n\tTCCR_TSRQ2 = 4,\n\tTCCR_TSRQ3 = 8,\n\tTCCR_TFEN = 256,\n\tTCCR_TFR = 512,\n};\n\nenum TD_STS_BIT {\n\tTD_TACT = 2147483648,\n\tTD_TDLE = 1073741824,\n\tTD_TFP1 = 536870912,\n\tTD_TFP0 = 268435456,\n\tTD_TFE = 134217728,\n\tTD_TWBI = 67108864,\n};\n\nenum TFA2_BIT {\n\tTFA2_TSV = 65535,\n\tTFA2_TST = 67043328,\n};\n\nenum TGC_BIT {\n\tTGC_TSM0 = 1,\n\tTGC_TSM1 = 2,\n\tTGC_TSM2 = 4,\n\tTGC_TSM3 = 8,\n\tTGC_TQP = 48,\n\tTGC_TQP_NONAVB = 0,\n\tTGC_TQP_AVBMODE1 = 16,\n\tTGC_TQP_AVBMODE2 = 48,\n\tTGC_TBD0 = 768,\n\tTGC_TBD1 = 12288,\n\tTGC_TBD2 = 196608,\n\tTGC_TBD3 = 3145728,\n};\n\nenum TIC_BIT {\n\tTIC_FTE0 = 1,\n\tTIC_FTE1 = 2,\n\tTIC_TFUE = 256,\n\tTIC_TFWE = 512,\n};\n\nenum TIS_BIT {\n\tTIS_FTF0 = 1,\n\tTIS_FTF1 = 2,\n\tTIS_TFUF = 256,\n\tTIS_TFWF = 512,\n\tTIS_RESERVED = 4293980400,\n};\n\nenum TPAUSER_BIT {\n\tTPAUSER_TPAUSE = 65535,\n\tTPAUSER_UNLIMITED = 0,\n};\n\nenum TPM_OPS_FLAGS {\n\tTPM_OPS_AUTO_STARTUP = 1,\n};\n\nenum TRSCER_BIT {\n\tTRSCER_CNDCE = 2048,\n\tTRSCER_DLCCE = 1024,\n\tTRSCER_CDCE = 512,\n\tTRSCER_TROCE = 256,\n\tTRSCER_RMAFCE = 128,\n\tTRSCER_RRFCE = 16,\n\tTRSCER_RTLFCE = 8,\n\tTRSCER_RTSFCE = 4,\n\tTRSCER_PRECE = 2,\n\tTRSCER_CERFCE = 1,\n};\n\nenum TSR_BIT {\n\tTSR_CCS0 = 3,\n\tTSR_CCS1 = 12,\n\tTSR_TFFL = 1792,\n};\n\nenum TSU_ADSBSY_BIT {\n\tTSU_ADSBSY_0 = 1,\n};\n\nenum TSU_FWSLC_BIT {\n\tTSU_FWSLC_POSTENU = 8192,\n\tTSU_FWSLC_POSTENL = 4096,\n\tTSU_FWSLC_CAMSEL03 = 128,\n\tTSU_FWSLC_CAMSEL02 = 64,\n\tTSU_FWSLC_CAMSEL01 = 32,\n\tTSU_FWSLC_CAMSEL00 = 16,\n\tTSU_FWSLC_CAMSEL13 = 8,\n\tTSU_FWSLC_CAMSEL12 = 4,\n\tTSU_FWSLC_CAMSEL11 = 2,\n\tTSU_FWSLC_CAMSEL10 = 1,\n};\n\nenum TX_DS_TAGL_BIT {\n\tTX_DS = 4095,\n\tTX_TAGL = 61440,\n};\n\nenum TX_FS_TAGL_BIT {\n\tTX_DS___2 = 4095,\n\tTX_TAGL___2 = 61440,\n};\n\nenum TX_TAGH_TSR_BIT {\n\tTX_TAGH = 63,\n\tTX_TSR = 64,\n};\n\nenum UART_TX_FLAGS {\n\tUART_TX_NOSTOP = 1,\n};\n\nenum V7_PACKET_ID {\n\tV7_PACKET_ID_IDLE = 0,\n\tV7_PACKET_ID_TWO = 1,\n\tV7_PACKET_ID_MULTI = 2,\n\tV7_PACKET_ID_NEW = 3,\n\tV7_PACKET_ID_UNKNOWN = 4,\n};\n\nenum _MR_CRASH_BUF_STATUS {\n\tMR_CRASH_BUF_TURN_OFF = 0,\n\tMR_CRASH_BUF_TURN_ON = 1,\n};\n\nenum __kvm_host_smccc_func {\n\t__KVM_HOST_SMCCC_FUNC___pkvm_init = 1,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_create_private_mapping = 2,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_cpu_set_vector = 3,\n\t__KVM_HOST_SMCCC_FUNC___kvm_enable_ssbs = 4,\n\t__KVM_HOST_SMCCC_FUNC___vgic_v3_init_lrs = 5,\n\t__KVM_HOST_SMCCC_FUNC___vgic_v3_get_gic_config = 6,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_prot_finalize = 7,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_host_share_hyp = 8,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_host_unshare_hyp = 9,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_host_share_guest = 10,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_host_unshare_guest = 11,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_host_relax_perms_guest = 12,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_host_wrprotect_guest = 13,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_host_test_clear_young_guest = 14,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_host_mkyoung_guest = 15,\n\t__KVM_HOST_SMCCC_FUNC___kvm_adjust_pc = 16,\n\t__KVM_HOST_SMCCC_FUNC___kvm_vcpu_run = 17,\n\t__KVM_HOST_SMCCC_FUNC___kvm_flush_vm_context = 18,\n\t__KVM_HOST_SMCCC_FUNC___kvm_tlb_flush_vmid_ipa = 19,\n\t__KVM_HOST_SMCCC_FUNC___kvm_tlb_flush_vmid_ipa_nsh = 20,\n\t__KVM_HOST_SMCCC_FUNC___kvm_tlb_flush_vmid = 21,\n\t__KVM_HOST_SMCCC_FUNC___kvm_tlb_flush_vmid_range = 22,\n\t__KVM_HOST_SMCCC_FUNC___kvm_flush_cpu_context = 23,\n\t__KVM_HOST_SMCCC_FUNC___kvm_timer_set_cntvoff = 24,\n\t__KVM_HOST_SMCCC_FUNC___vgic_v3_save_vmcr_aprs = 25,\n\t__KVM_HOST_SMCCC_FUNC___vgic_v3_restore_vmcr_aprs = 26,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_init_vm = 27,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_init_vcpu = 28,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_teardown_vm = 29,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_vcpu_load = 30,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_vcpu_put = 31,\n\t__KVM_HOST_SMCCC_FUNC___pkvm_tlb_flush_vmid = 32,\n};\n\nenum __sk_action {\n\t__SK_DROP = 0,\n\t__SK_PASS = 1,\n\t__SK_REDIRECT = 2,\n\t__SK_NONE = 3,\n};\n\nenum _dsm_op_index {\n\tHNS_OP_RESET_FUNC = 1,\n\tHNS_OP_SERDES_LP_FUNC = 2,\n\tHNS_OP_LED_SET_FUNC = 3,\n\tHNS_OP_GET_PORT_TYPE_FUNC = 4,\n\tHNS_OP_GET_SFP_STAT_FUNC = 5,\n\tHNS_OP_LOCATE_LED_SET_FUNC = 6,\n};\n\nenum _dsm_rst_type {\n\tHNS_DSAF_RESET_FUNC = 1,\n\tHNS_PPE_RESET_FUNC = 2,\n\tHNS_XGE_RESET_FUNC = 4,\n\tHNS_GE_RESET_FUNC = 5,\n\tHNS_DSAF_CHN_RESET_FUNC = 6,\n\tHNS_ROCE_RESET_FUNC = 7,\n};\n\nenum _pmux_input {\n\tSMUX_INDEX = 0,\n\tPLL_INDEX = 1,\n\tACD_INDEX = 2,\n\tALT_INDEX = 3,\n\tNUM_OF_PMUX_INPUTS = 4,\n};\n\nenum _slab_flag_bits {\n\t_SLAB_CONSISTENCY_CHECKS = 0,\n\t_SLAB_RED_ZONE = 1,\n\t_SLAB_POISON = 2,\n\t_SLAB_KMALLOC = 3,\n\t_SLAB_HWCACHE_ALIGN = 4,\n\t_SLAB_CACHE_DMA = 5,\n\t_SLAB_CACHE_DMA32 = 6,\n\t_SLAB_STORE_USER = 7,\n\t_SLAB_PANIC = 8,\n\t_SLAB_TYPESAFE_BY_RCU = 9,\n\t_SLAB_TRACE = 10,\n\t_SLAB_NOLEAKTRACE = 11,\n\t_SLAB_NO_MERGE = 12,\n\t_SLAB_ACCOUNT = 13,\n\t_SLAB_NO_USER_FLAGS = 14,\n\t_SLAB_RECLAIM_ACCOUNT = 15,\n\t_SLAB_OBJECT_POISON = 16,\n\t_SLAB_CMPXCHG_DOUBLE = 17,\n\t_SLAB_NO_OBJ_EXT = 18,\n\t_SLAB_FLAGS_LAST_BIT = 19,\n};\n\nenum aarch32_map {\n\tAA32_MAP_VECTORS = 0,\n\tAA32_MAP_SIGPAGE = 1,\n\tAA32_MAP_VDSO = 2,\n};\n\nenum aarch64_insn_adr_type {\n\tAARCH64_INSN_ADR_TYPE_ADRP = 0,\n\tAARCH64_INSN_ADR_TYPE_ADR = 1,\n};\n\nenum aarch64_insn_adsb_type {\n\tAARCH64_INSN_ADSB_ADD = 0,\n\tAARCH64_INSN_ADSB_SUB = 1,\n\tAARCH64_INSN_ADSB_ADD_SETFLAGS = 2,\n\tAARCH64_INSN_ADSB_SUB_SETFLAGS = 3,\n};\n\nenum aarch64_insn_bitfield_type {\n\tAARCH64_INSN_BITFIELD_MOVE = 0,\n\tAARCH64_INSN_BITFIELD_MOVE_UNSIGNED = 1,\n\tAARCH64_INSN_BITFIELD_MOVE_SIGNED = 2,\n};\n\nenum aarch64_insn_branch_type {\n\tAARCH64_INSN_BRANCH_NOLINK = 0,\n\tAARCH64_INSN_BRANCH_LINK = 1,\n\tAARCH64_INSN_BRANCH_RETURN = 2,\n\tAARCH64_INSN_BRANCH_COMP_ZERO = 3,\n\tAARCH64_INSN_BRANCH_COMP_NONZERO = 4,\n};\n\nenum aarch64_insn_condition {\n\tAARCH64_INSN_COND_EQ = 0,\n\tAARCH64_INSN_COND_NE = 1,\n\tAARCH64_INSN_COND_CS = 2,\n\tAARCH64_INSN_COND_CC = 3,\n\tAARCH64_INSN_COND_MI = 4,\n\tAARCH64_INSN_COND_PL = 5,\n\tAARCH64_INSN_COND_VS = 6,\n\tAARCH64_INSN_COND_VC = 7,\n\tAARCH64_INSN_COND_HI = 8,\n\tAARCH64_INSN_COND_LS = 9,\n\tAARCH64_INSN_COND_GE = 10,\n\tAARCH64_INSN_COND_LT = 11,\n\tAARCH64_INSN_COND_GT = 12,\n\tAARCH64_INSN_COND_LE = 13,\n\tAARCH64_INSN_COND_AL = 14,\n};\n\nenum aarch64_insn_data1_type {\n\tAARCH64_INSN_DATA1_REVERSE_16 = 0,\n\tAARCH64_INSN_DATA1_REVERSE_32 = 1,\n\tAARCH64_INSN_DATA1_REVERSE_64 = 2,\n};\n\nenum aarch64_insn_data2_type {\n\tAARCH64_INSN_DATA2_UDIV = 0,\n\tAARCH64_INSN_DATA2_SDIV = 1,\n\tAARCH64_INSN_DATA2_LSLV = 2,\n\tAARCH64_INSN_DATA2_LSRV = 3,\n\tAARCH64_INSN_DATA2_ASRV = 4,\n\tAARCH64_INSN_DATA2_RORV = 5,\n};\n\nenum aarch64_insn_data3_type {\n\tAARCH64_INSN_DATA3_MADD = 0,\n\tAARCH64_INSN_DATA3_MSUB = 1,\n};\n\nenum aarch64_insn_hint_cr_op {\n\tAARCH64_INSN_HINT_NOP = 0,\n\tAARCH64_INSN_HINT_YIELD = 32,\n\tAARCH64_INSN_HINT_WFE = 64,\n\tAARCH64_INSN_HINT_WFI = 96,\n\tAARCH64_INSN_HINT_SEV = 128,\n\tAARCH64_INSN_HINT_SEVL = 160,\n\tAARCH64_INSN_HINT_XPACLRI = 224,\n\tAARCH64_INSN_HINT_PACIA_1716 = 256,\n\tAARCH64_INSN_HINT_PACIB_1716 = 320,\n\tAARCH64_INSN_HINT_AUTIA_1716 = 384,\n\tAARCH64_INSN_HINT_AUTIB_1716 = 448,\n\tAARCH64_INSN_HINT_PACIAZ = 768,\n\tAARCH64_INSN_HINT_PACIASP = 800,\n\tAARCH64_INSN_HINT_PACIBZ = 832,\n\tAARCH64_INSN_HINT_PACIBSP = 864,\n\tAARCH64_INSN_HINT_AUTIAZ = 896,\n\tAARCH64_INSN_HINT_AUTIASP = 928,\n\tAARCH64_INSN_HINT_AUTIBZ = 960,\n\tAARCH64_INSN_HINT_AUTIBSP = 992,\n\tAARCH64_INSN_HINT_ESB = 512,\n\tAARCH64_INSN_HINT_PSB = 544,\n\tAARCH64_INSN_HINT_TSB = 576,\n\tAARCH64_INSN_HINT_CSDB = 640,\n\tAARCH64_INSN_HINT_CLEARBHB = 704,\n\tAARCH64_INSN_HINT_BTI = 1024,\n\tAARCH64_INSN_HINT_BTIC = 1088,\n\tAARCH64_INSN_HINT_BTIJ = 1152,\n\tAARCH64_INSN_HINT_BTIJC = 1216,\n};\n\nenum aarch64_insn_imm_type {\n\tAARCH64_INSN_IMM_ADR = 0,\n\tAARCH64_INSN_IMM_26 = 1,\n\tAARCH64_INSN_IMM_19 = 2,\n\tAARCH64_INSN_IMM_16 = 3,\n\tAARCH64_INSN_IMM_14 = 4,\n\tAARCH64_INSN_IMM_12 = 5,\n\tAARCH64_INSN_IMM_9 = 6,\n\tAARCH64_INSN_IMM_7 = 7,\n\tAARCH64_INSN_IMM_6 = 8,\n\tAARCH64_INSN_IMM_S = 9,\n\tAARCH64_INSN_IMM_R = 10,\n\tAARCH64_INSN_IMM_N = 11,\n\tAARCH64_INSN_IMM_MAX = 12,\n};\n\nenum aarch64_insn_ldst_type {\n\tAARCH64_INSN_LDST_LOAD_REG_OFFSET = 0,\n\tAARCH64_INSN_LDST_STORE_REG_OFFSET = 1,\n\tAARCH64_INSN_LDST_LOAD_IMM_OFFSET = 2,\n\tAARCH64_INSN_LDST_STORE_IMM_OFFSET = 3,\n\tAARCH64_INSN_LDST_LOAD_PAIR_PRE_INDEX = 4,\n\tAARCH64_INSN_LDST_STORE_PAIR_PRE_INDEX = 5,\n\tAARCH64_INSN_LDST_LOAD_PAIR_POST_INDEX = 6,\n\tAARCH64_INSN_LDST_STORE_PAIR_POST_INDEX = 7,\n\tAARCH64_INSN_LDST_LOAD_EX = 8,\n\tAARCH64_INSN_LDST_LOAD_ACQ_EX = 9,\n\tAARCH64_INSN_LDST_STORE_EX = 10,\n\tAARCH64_INSN_LDST_STORE_REL_EX = 11,\n\tAARCH64_INSN_LDST_SIGNED_LOAD_IMM_OFFSET = 12,\n\tAARCH64_INSN_LDST_SIGNED_LOAD_REG_OFFSET = 13,\n};\n\nenum aarch64_insn_logic_type {\n\tAARCH64_INSN_LOGIC_AND = 0,\n\tAARCH64_INSN_LOGIC_BIC = 1,\n\tAARCH64_INSN_LOGIC_ORR = 2,\n\tAARCH64_INSN_LOGIC_ORN = 3,\n\tAARCH64_INSN_LOGIC_EOR = 4,\n\tAARCH64_INSN_LOGIC_EON = 5,\n\tAARCH64_INSN_LOGIC_AND_SETFLAGS = 6,\n\tAARCH64_INSN_LOGIC_BIC_SETFLAGS = 7,\n};\n\nenum aarch64_insn_mb_type {\n\tAARCH64_INSN_MB_SY = 0,\n\tAARCH64_INSN_MB_ST = 1,\n\tAARCH64_INSN_MB_LD = 2,\n\tAARCH64_INSN_MB_ISH = 3,\n\tAARCH64_INSN_MB_ISHST = 4,\n\tAARCH64_INSN_MB_ISHLD = 5,\n\tAARCH64_INSN_MB_NSH = 6,\n\tAARCH64_INSN_MB_NSHST = 7,\n\tAARCH64_INSN_MB_NSHLD = 8,\n\tAARCH64_INSN_MB_OSH = 9,\n\tAARCH64_INSN_MB_OSHST = 10,\n\tAARCH64_INSN_MB_OSHLD = 11,\n};\n\nenum aarch64_insn_mem_atomic_op {\n\tAARCH64_INSN_MEM_ATOMIC_ADD = 0,\n\tAARCH64_INSN_MEM_ATOMIC_CLR = 1,\n\tAARCH64_INSN_MEM_ATOMIC_EOR = 2,\n\tAARCH64_INSN_MEM_ATOMIC_SET = 3,\n\tAARCH64_INSN_MEM_ATOMIC_SWP = 4,\n};\n\nenum aarch64_insn_mem_order_type {\n\tAARCH64_INSN_MEM_ORDER_NONE = 0,\n\tAARCH64_INSN_MEM_ORDER_ACQ = 1,\n\tAARCH64_INSN_MEM_ORDER_REL = 2,\n\tAARCH64_INSN_MEM_ORDER_ACQREL = 3,\n};\n\nenum aarch64_insn_movewide_type {\n\tAARCH64_INSN_MOVEWIDE_ZERO = 0,\n\tAARCH64_INSN_MOVEWIDE_KEEP = 1,\n\tAARCH64_INSN_MOVEWIDE_INVERSE = 2,\n};\n\nenum aarch64_insn_movw_imm_type {\n\tAARCH64_INSN_IMM_MOVNZ = 0,\n\tAARCH64_INSN_IMM_MOVKZ = 1,\n};\n\nenum aarch64_insn_register {\n\tAARCH64_INSN_REG_0 = 0,\n\tAARCH64_INSN_REG_1 = 1,\n\tAARCH64_INSN_REG_2 = 2,\n\tAARCH64_INSN_REG_3 = 3,\n\tAARCH64_INSN_REG_4 = 4,\n\tAARCH64_INSN_REG_5 = 5,\n\tAARCH64_INSN_REG_6 = 6,\n\tAARCH64_INSN_REG_7 = 7,\n\tAARCH64_INSN_REG_8 = 8,\n\tAARCH64_INSN_REG_9 = 9,\n\tAARCH64_INSN_REG_10 = 10,\n\tAARCH64_INSN_REG_11 = 11,\n\tAARCH64_INSN_REG_12 = 12,\n\tAARCH64_INSN_REG_13 = 13,\n\tAARCH64_INSN_REG_14 = 14,\n\tAARCH64_INSN_REG_15 = 15,\n\tAARCH64_INSN_REG_16 = 16,\n\tAARCH64_INSN_REG_17 = 17,\n\tAARCH64_INSN_REG_18 = 18,\n\tAARCH64_INSN_REG_19 = 19,\n\tAARCH64_INSN_REG_20 = 20,\n\tAARCH64_INSN_REG_21 = 21,\n\tAARCH64_INSN_REG_22 = 22,\n\tAARCH64_INSN_REG_23 = 23,\n\tAARCH64_INSN_REG_24 = 24,\n\tAARCH64_INSN_REG_25 = 25,\n\tAARCH64_INSN_REG_26 = 26,\n\tAARCH64_INSN_REG_27 = 27,\n\tAARCH64_INSN_REG_28 = 28,\n\tAARCH64_INSN_REG_29 = 29,\n\tAARCH64_INSN_REG_FP = 29,\n\tAARCH64_INSN_REG_30 = 30,\n\tAARCH64_INSN_REG_LR = 30,\n\tAARCH64_INSN_REG_ZR = 31,\n\tAARCH64_INSN_REG_SP = 31,\n};\n\nenum aarch64_insn_register_type {\n\tAARCH64_INSN_REGTYPE_RT = 0,\n\tAARCH64_INSN_REGTYPE_RN = 1,\n\tAARCH64_INSN_REGTYPE_RT2 = 2,\n\tAARCH64_INSN_REGTYPE_RM = 3,\n\tAARCH64_INSN_REGTYPE_RD = 4,\n\tAARCH64_INSN_REGTYPE_RA = 5,\n\tAARCH64_INSN_REGTYPE_RS = 6,\n};\n\nenum aarch64_insn_size_type {\n\tAARCH64_INSN_SIZE_8 = 0,\n\tAARCH64_INSN_SIZE_16 = 1,\n\tAARCH64_INSN_SIZE_32 = 2,\n\tAARCH64_INSN_SIZE_64 = 3,\n};\n\nenum aarch64_insn_special_register {\n\tAARCH64_INSN_SPCLREG_SPSR_EL1 = 49664,\n\tAARCH64_INSN_SPCLREG_ELR_EL1 = 49665,\n\tAARCH64_INSN_SPCLREG_SP_EL0 = 49672,\n\tAARCH64_INSN_SPCLREG_SPSEL = 49680,\n\tAARCH64_INSN_SPCLREG_CURRENTEL = 49682,\n\tAARCH64_INSN_SPCLREG_DAIF = 55825,\n\tAARCH64_INSN_SPCLREG_NZCV = 55824,\n\tAARCH64_INSN_SPCLREG_FPCR = 55840,\n\tAARCH64_INSN_SPCLREG_DSPSR_EL0 = 55848,\n\tAARCH64_INSN_SPCLREG_DLR_EL0 = 55849,\n\tAARCH64_INSN_SPCLREG_SPSR_EL2 = 57856,\n\tAARCH64_INSN_SPCLREG_ELR_EL2 = 57857,\n\tAARCH64_INSN_SPCLREG_SP_EL1 = 57864,\n\tAARCH64_INSN_SPCLREG_SPSR_INQ = 57880,\n\tAARCH64_INSN_SPCLREG_SPSR_ABT = 57881,\n\tAARCH64_INSN_SPCLREG_SPSR_UND = 57882,\n\tAARCH64_INSN_SPCLREG_SPSR_FIQ = 57883,\n\tAARCH64_INSN_SPCLREG_SPSR_EL3 = 61952,\n\tAARCH64_INSN_SPCLREG_ELR_EL3 = 61953,\n\tAARCH64_INSN_SPCLREG_SP_EL2 = 61968,\n};\n\nenum aarch64_insn_system_register {\n\tAARCH64_INSN_SYSREG_TPIDR_EL1 = 18052,\n\tAARCH64_INSN_SYSREG_TPIDR_EL2 = 26242,\n\tAARCH64_INSN_SYSREG_SP_EL0 = 16904,\n};\n\nenum aarch64_insn_variant {\n\tAARCH64_INSN_VARIANT_32BIT = 0,\n\tAARCH64_INSN_VARIANT_64BIT = 1,\n};\n\nenum aarch64_regset {\n\tREGSET_GPR = 0,\n\tREGSET_FPR = 1,\n\tREGSET_TLS = 2,\n\tREGSET_HW_BREAK = 3,\n\tREGSET_HW_WATCH = 4,\n\tREGSET_FPMR = 5,\n\tREGSET_SYSTEM_CALL = 6,\n\tREGSET_SVE = 7,\n\tREGSET_PAC_MASK = 8,\n\tREGSET_PAC_ENABLED_KEYS = 9,\n\tREGSET_TAGGED_ADDR_CTRL = 10,\n\tREGSET_POE = 11,\n};\n\nenum aarch64_reloc_op {\n\tRELOC_OP_NONE = 0,\n\tRELOC_OP_ABS = 1,\n\tRELOC_OP_PREL = 2,\n\tRELOC_OP_PAGE = 3,\n};\n\nenum access_coordinate_class {\n\tACCESS_COORDINATE_LOCAL = 0,\n\tACCESS_COORDINATE_CPU = 1,\n\tACCESS_COORDINATE_MAX = 2,\n};\n\nenum acpi_attr_enum {\n\tACPI_ATTR_LABEL_SHOW = 0,\n\tACPI_ATTR_INDEX_SHOW = 1,\n};\n\nenum acpi_bridge_type {\n\tACPI_BRIDGE_TYPE_PCIE = 1,\n\tACPI_BRIDGE_TYPE_CXL = 2,\n};\n\nenum acpi_bus_device_type {\n\tACPI_BUS_TYPE_DEVICE = 0,\n\tACPI_BUS_TYPE_POWER = 1,\n\tACPI_BUS_TYPE_PROCESSOR = 2,\n\tACPI_BUS_TYPE_THERMAL = 3,\n\tACPI_BUS_TYPE_POWER_BUTTON = 4,\n\tACPI_BUS_TYPE_SLEEP_BUTTON = 5,\n\tACPI_BUS_TYPE_ECDT_EC = 6,\n\tACPI_BUS_DEVICE_TYPE_COUNT = 7,\n};\n\nenum acpi_cdat_type {\n\tACPI_CDAT_TYPE_DSMAS = 0,\n\tACPI_CDAT_TYPE_DSLBIS = 1,\n\tACPI_CDAT_TYPE_DSMSCIS = 2,\n\tACPI_CDAT_TYPE_DSIS = 3,\n\tACPI_CDAT_TYPE_DSEMTS = 4,\n\tACPI_CDAT_TYPE_SSLBIS = 5,\n\tACPI_CDAT_TYPE_RESERVED = 6,\n};\n\nenum acpi_cedt_type {\n\tACPI_CEDT_TYPE_CHBS = 0,\n\tACPI_CEDT_TYPE_CFMWS = 1,\n\tACPI_CEDT_TYPE_CXIMS = 2,\n\tACPI_CEDT_TYPE_RDPAS = 3,\n\tACPI_CEDT_TYPE_RESERVED = 4,\n};\n\nenum acpi_device_swnode_dev_props {\n\tACPI_DEVICE_SWNODE_DEV_ROTATION = 0,\n\tACPI_DEVICE_SWNODE_DEV_CLOCK_FREQUENCY = 1,\n\tACPI_DEVICE_SWNODE_DEV_LED_MAX_MICROAMP = 2,\n\tACPI_DEVICE_SWNODE_DEV_FLASH_MAX_MICROAMP = 3,\n\tACPI_DEVICE_SWNODE_DEV_FLASH_MAX_TIMEOUT_US = 4,\n\tACPI_DEVICE_SWNODE_DEV_NUM_OF = 5,\n\tACPI_DEVICE_SWNODE_DEV_NUM_ENTRIES = 6,\n};\n\nenum acpi_device_swnode_ep_props {\n\tACPI_DEVICE_SWNODE_EP_REMOTE_EP = 0,\n\tACPI_DEVICE_SWNODE_EP_BUS_TYPE = 1,\n\tACPI_DEVICE_SWNODE_EP_REG = 2,\n\tACPI_DEVICE_SWNODE_EP_CLOCK_LANES = 3,\n\tACPI_DEVICE_SWNODE_EP_DATA_LANES = 4,\n\tACPI_DEVICE_SWNODE_EP_LANE_POLARITIES = 5,\n\tACPI_DEVICE_SWNODE_EP_LINK_FREQUENCIES = 6,\n\tACPI_DEVICE_SWNODE_EP_NUM_OF = 7,\n\tACPI_DEVICE_SWNODE_EP_NUM_ENTRIES = 8,\n};\n\nenum acpi_device_swnode_port_props {\n\tACPI_DEVICE_SWNODE_PORT_REG = 0,\n\tACPI_DEVICE_SWNODE_PORT_NUM_OF = 1,\n\tACPI_DEVICE_SWNODE_PORT_NUM_ENTRIES = 2,\n};\n\nenum acpi_einj_actions {\n\tACPI_EINJ_BEGIN_OPERATION = 0,\n\tACPI_EINJ_GET_TRIGGER_TABLE = 1,\n\tACPI_EINJ_SET_ERROR_TYPE = 2,\n\tACPI_EINJ_GET_ERROR_TYPE = 3,\n\tACPI_EINJ_END_OPERATION = 4,\n\tACPI_EINJ_EXECUTE_OPERATION = 5,\n\tACPI_EINJ_CHECK_BUSY_STATUS = 6,\n\tACPI_EINJ_GET_COMMAND_STATUS = 7,\n\tACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS = 8,\n\tACPI_EINJ_GET_EXECUTE_TIMINGS = 9,\n\tACPI_EINJ_ACTION_RESERVED = 10,\n\tACPI_EINJ_TRIGGER_ERROR = 255,\n};\n\nenum acpi_einj_instructions {\n\tACPI_EINJ_READ_REGISTER = 0,\n\tACPI_EINJ_READ_REGISTER_VALUE = 1,\n\tACPI_EINJ_WRITE_REGISTER = 2,\n\tACPI_EINJ_WRITE_REGISTER_VALUE = 3,\n\tACPI_EINJ_NOOP = 4,\n\tACPI_EINJ_FLUSH_CACHELINE = 5,\n\tACPI_EINJ_INSTRUCTION_RESERVED = 6,\n};\n\nenum acpi_erst_actions {\n\tACPI_ERST_BEGIN_WRITE = 0,\n\tACPI_ERST_BEGIN_READ = 1,\n\tACPI_ERST_BEGIN_CLEAR = 2,\n\tACPI_ERST_END = 3,\n\tACPI_ERST_SET_RECORD_OFFSET = 4,\n\tACPI_ERST_EXECUTE_OPERATION = 5,\n\tACPI_ERST_CHECK_BUSY_STATUS = 6,\n\tACPI_ERST_GET_COMMAND_STATUS = 7,\n\tACPI_ERST_GET_RECORD_ID = 8,\n\tACPI_ERST_SET_RECORD_ID = 9,\n\tACPI_ERST_GET_RECORD_COUNT = 10,\n\tACPI_ERST_BEGIN_DUMMY_WRIITE = 11,\n\tACPI_ERST_NOT_USED = 12,\n\tACPI_ERST_GET_ERROR_RANGE = 13,\n\tACPI_ERST_GET_ERROR_LENGTH = 14,\n\tACPI_ERST_GET_ERROR_ATTRIBUTES = 15,\n\tACPI_ERST_EXECUTE_TIMINGS = 16,\n\tACPI_ERST_ACTION_RESERVED = 17,\n};\n\nenum acpi_erst_instructions {\n\tACPI_ERST_READ_REGISTER = 0,\n\tACPI_ERST_READ_REGISTER_VALUE = 1,\n\tACPI_ERST_WRITE_REGISTER = 2,\n\tACPI_ERST_WRITE_REGISTER_VALUE = 3,\n\tACPI_ERST_NOOP = 4,\n\tACPI_ERST_LOAD_VAR1 = 5,\n\tACPI_ERST_LOAD_VAR2 = 6,\n\tACPI_ERST_STORE_VAR1 = 7,\n\tACPI_ERST_ADD = 8,\n\tACPI_ERST_SUBTRACT = 9,\n\tACPI_ERST_ADD_VALUE = 10,\n\tACPI_ERST_SUBTRACT_VALUE = 11,\n\tACPI_ERST_STALL = 12,\n\tACPI_ERST_STALL_WHILE_TRUE = 13,\n\tACPI_ERST_SKIP_NEXT_IF_TRUE = 14,\n\tACPI_ERST_GOTO = 15,\n\tACPI_ERST_SET_SRC_ADDRESS_BASE = 16,\n\tACPI_ERST_SET_DST_ADDRESS_BASE = 17,\n\tACPI_ERST_MOVE_DATA = 18,\n\tACPI_ERST_INSTRUCTION_RESERVED = 19,\n};\n\nenum acpi_gtdt_type {\n\tACPI_GTDT_TYPE_TIMER_BLOCK = 0,\n\tACPI_GTDT_TYPE_WATCHDOG = 1,\n\tACPI_GTDT_TYPE_RESERVED = 2,\n};\n\nenum acpi_hest_notify_types {\n\tACPI_HEST_NOTIFY_POLLED = 0,\n\tACPI_HEST_NOTIFY_EXTERNAL = 1,\n\tACPI_HEST_NOTIFY_LOCAL = 2,\n\tACPI_HEST_NOTIFY_SCI = 3,\n\tACPI_HEST_NOTIFY_NMI = 4,\n\tACPI_HEST_NOTIFY_CMCI = 5,\n\tACPI_HEST_NOTIFY_MCE = 6,\n\tACPI_HEST_NOTIFY_GPIO = 7,\n\tACPI_HEST_NOTIFY_SEA = 8,\n\tACPI_HEST_NOTIFY_SEI = 9,\n\tACPI_HEST_NOTIFY_GSIV = 10,\n\tACPI_HEST_NOTIFY_SOFTWARE_DELEGATED = 11,\n\tACPI_HEST_NOTIFY_RESERVED = 12,\n};\n\nenum acpi_hest_types {\n\tACPI_HEST_TYPE_IA32_CHECK = 0,\n\tACPI_HEST_TYPE_IA32_CORRECTED_CHECK = 1,\n\tACPI_HEST_TYPE_IA32_NMI = 2,\n\tACPI_HEST_TYPE_NOT_USED3 = 3,\n\tACPI_HEST_TYPE_NOT_USED4 = 4,\n\tACPI_HEST_TYPE_NOT_USED5 = 5,\n\tACPI_HEST_TYPE_AER_ROOT_PORT = 6,\n\tACPI_HEST_TYPE_AER_ENDPOINT = 7,\n\tACPI_HEST_TYPE_AER_BRIDGE = 8,\n\tACPI_HEST_TYPE_GENERIC_ERROR = 9,\n\tACPI_HEST_TYPE_GENERIC_ERROR_V2 = 10,\n\tACPI_HEST_TYPE_IA32_DEFERRED_CHECK = 11,\n\tACPI_HEST_TYPE_RESERVED = 12,\n};\n\nenum acpi_hmat_type {\n\tACPI_HMAT_TYPE_PROXIMITY = 0,\n\tACPI_HMAT_TYPE_LOCALITY = 1,\n\tACPI_HMAT_TYPE_CACHE = 2,\n\tACPI_HMAT_TYPE_RESERVED = 3,\n};\n\nenum acpi_iort_node_type {\n\tACPI_IORT_NODE_ITS_GROUP = 0,\n\tACPI_IORT_NODE_NAMED_COMPONENT = 1,\n\tACPI_IORT_NODE_PCI_ROOT_COMPLEX = 2,\n\tACPI_IORT_NODE_SMMU = 3,\n\tACPI_IORT_NODE_SMMU_V3 = 4,\n\tACPI_IORT_NODE_PMCG = 5,\n\tACPI_IORT_NODE_RMR = 6,\n};\n\nenum acpi_irq_model_id {\n\tACPI_IRQ_MODEL_PIC = 0,\n\tACPI_IRQ_MODEL_IOAPIC = 1,\n\tACPI_IRQ_MODEL_IOSAPIC = 2,\n\tACPI_IRQ_MODEL_PLATFORM = 3,\n\tACPI_IRQ_MODEL_GIC = 4,\n\tACPI_IRQ_MODEL_LPIC = 5,\n\tACPI_IRQ_MODEL_RINTC = 6,\n\tACPI_IRQ_MODEL_COUNT = 7,\n};\n\nenum acpi_madt_gic_version {\n\tACPI_MADT_GIC_VERSION_NONE = 0,\n\tACPI_MADT_GIC_VERSION_V1 = 1,\n\tACPI_MADT_GIC_VERSION_V2 = 2,\n\tACPI_MADT_GIC_VERSION_V3 = 3,\n\tACPI_MADT_GIC_VERSION_V4 = 4,\n\tACPI_MADT_GIC_VERSION_RESERVED = 5,\n};\n\nenum acpi_madt_multiproc_wakeup_version {\n\tACPI_MADT_MP_WAKEUP_VERSION_NONE = 0,\n\tACPI_MADT_MP_WAKEUP_VERSION_V1 = 1,\n\tACPI_MADT_MP_WAKEUP_VERSION_RESERVED = 2,\n};\n\nenum acpi_madt_type {\n\tACPI_MADT_TYPE_LOCAL_APIC = 0,\n\tACPI_MADT_TYPE_IO_APIC = 1,\n\tACPI_MADT_TYPE_INTERRUPT_OVERRIDE = 2,\n\tACPI_MADT_TYPE_NMI_SOURCE = 3,\n\tACPI_MADT_TYPE_LOCAL_APIC_NMI = 4,\n\tACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE = 5,\n\tACPI_MADT_TYPE_IO_SAPIC = 6,\n\tACPI_MADT_TYPE_LOCAL_SAPIC = 7,\n\tACPI_MADT_TYPE_INTERRUPT_SOURCE = 8,\n\tACPI_MADT_TYPE_LOCAL_X2APIC = 9,\n\tACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10,\n\tACPI_MADT_TYPE_GENERIC_INTERRUPT = 11,\n\tACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12,\n\tACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13,\n\tACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14,\n\tACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15,\n\tACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16,\n\tACPI_MADT_TYPE_CORE_PIC = 17,\n\tACPI_MADT_TYPE_LIO_PIC = 18,\n\tACPI_MADT_TYPE_HT_PIC = 19,\n\tACPI_MADT_TYPE_EIO_PIC = 20,\n\tACPI_MADT_TYPE_MSI_PIC = 21,\n\tACPI_MADT_TYPE_BIO_PIC = 22,\n\tACPI_MADT_TYPE_LPC_PIC = 23,\n\tACPI_MADT_TYPE_RINTC = 24,\n\tACPI_MADT_TYPE_IMSIC = 25,\n\tACPI_MADT_TYPE_APLIC = 26,\n\tACPI_MADT_TYPE_PLIC = 27,\n\tACPI_MADT_TYPE_RESERVED = 28,\n\tACPI_MADT_TYPE_OEM_RESERVED = 128,\n};\n\nenum acpi_pcct_type {\n\tACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,\n\tACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1,\n\tACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2,\n\tACPI_PCCT_TYPE_EXT_PCC_MASTER_SUBSPACE = 3,\n\tACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE = 4,\n\tACPI_PCCT_TYPE_HW_REG_COMM_SUBSPACE = 5,\n\tACPI_PCCT_TYPE_RESERVED = 6,\n};\n\nenum acpi_pptt_type {\n\tACPI_PPTT_TYPE_PROCESSOR = 0,\n\tACPI_PPTT_TYPE_CACHE = 1,\n\tACPI_PPTT_TYPE_ID = 2,\n\tACPI_PPTT_TYPE_RESERVED = 3,\n};\n\nenum acpi_predicate {\n\tall_versions = 0,\n\tless_than_or_equal = 1,\n\tequal = 2,\n\tgreater_than_or_equal = 3,\n};\n\nenum acpi_reconfig_event {\n\tACPI_RECONFIG_DEVICE_ADD = 0,\n\tACPI_RECONFIG_DEVICE_REMOVE = 1,\n};\n\nenum acpi_return_package_types {\n\tACPI_PTYPE1_FIXED = 1,\n\tACPI_PTYPE1_VAR = 2,\n\tACPI_PTYPE1_OPTION = 3,\n\tACPI_PTYPE2 = 4,\n\tACPI_PTYPE2_COUNT = 5,\n\tACPI_PTYPE2_PKG_COUNT = 6,\n\tACPI_PTYPE2_FIXED = 7,\n\tACPI_PTYPE2_MIN = 8,\n\tACPI_PTYPE2_REV_FIXED = 9,\n\tACPI_PTYPE2_FIX_VAR = 10,\n\tACPI_PTYPE2_VAR_VAR = 11,\n\tACPI_PTYPE2_UUID_PAIR = 12,\n\tACPI_PTYPE_CUSTOM = 13,\n};\n\nenum acpi_srat_type {\n\tACPI_SRAT_TYPE_CPU_AFFINITY = 0,\n\tACPI_SRAT_TYPE_MEMORY_AFFINITY = 1,\n\tACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY = 2,\n\tACPI_SRAT_TYPE_GICC_AFFINITY = 3,\n\tACPI_SRAT_TYPE_GIC_ITS_AFFINITY = 4,\n\tACPI_SRAT_TYPE_GENERIC_AFFINITY = 5,\n\tACPI_SRAT_TYPE_GENERIC_PORT_AFFINITY = 6,\n\tACPI_SRAT_TYPE_RINTC_AFFINITY = 7,\n\tACPI_SRAT_TYPE_RESERVED = 8,\n};\n\nenum acpi_subtable_type {\n\tACPI_SUBTABLE_COMMON = 0,\n\tACPI_SUBTABLE_HMAT = 1,\n\tACPI_SUBTABLE_PRMT = 2,\n\tACPI_SUBTABLE_CEDT = 3,\n\tCDAT_SUBTABLE = 4,\n};\n\nenum actions {\n\tREGISTER = 0,\n\tDEREGISTER = 1,\n\tCPU_DONT_CARE = 2,\n};\n\nenum ahci_qoriq_type {\n\tAHCI_LS1021A = 0,\n\tAHCI_LS1028A = 1,\n\tAHCI_LS1043A = 2,\n\tAHCI_LS2080A = 3,\n\tAHCI_LS1046A = 4,\n\tAHCI_LS1088A = 5,\n\tAHCI_LS2088A = 6,\n\tAHCI_LX2160A = 7,\n};\n\nenum alarmtimer_type {\n\tALARM_REALTIME = 0,\n\tALARM_BOOTTIME = 1,\n\tALARM_NUMTYPE = 2,\n\tALARM_REALTIME_FREEZER = 3,\n\tALARM_BOOTTIME_FREEZER = 4,\n};\n\nenum ale_fields {\n\tMINOR_VER = 0,\n\tMAJOR_VER = 1,\n\tALE_ENTRIES = 2,\n\tALE_POLICERS = 3,\n\tPOL_PORT_MEN = 4,\n\tPOL_TRUNK_ID = 5,\n\tPOL_PORT_NUM = 6,\n\tPOL_PRI_MEN = 7,\n\tPOL_PRI_VAL = 8,\n\tPOL_OUI_MEN = 9,\n\tPOL_OUI_INDEX = 10,\n\tPOL_DST_MEN = 11,\n\tPOL_DST_INDEX = 12,\n\tPOL_SRC_MEN = 13,\n\tPOL_SRC_INDEX = 14,\n\tPOL_OVLAN_MEN = 15,\n\tPOL_OVLAN_INDEX = 16,\n\tPOL_IVLAN_MEN = 17,\n\tPOL_IVLAN_INDEX = 18,\n\tPOL_ETHERTYPE_MEN = 19,\n\tPOL_ETHERTYPE_INDEX = 20,\n\tPOL_IPSRC_MEN = 21,\n\tPOL_IPSRC_INDEX = 22,\n\tPOL_IPDST_MEN = 23,\n\tPOL_IPDST_INDEX = 24,\n\tPOL_EN = 25,\n\tPOL_RED_DROP_EN = 26,\n\tPOL_YELLOW_DROP_EN = 27,\n\tPOL_YELLOW_THRESH = 28,\n\tPOL_POL_MATCH_MODE = 29,\n\tPOL_PRIORITY_THREAD_EN = 30,\n\tPOL_MAC_ONLY_DEF_DIS = 31,\n\tPOL_TEST_CLR = 32,\n\tPOL_TEST_CLR_RED = 33,\n\tPOL_TEST_CLR_YELLOW = 34,\n\tPOL_TEST_CLR_SELECTED = 35,\n\tPOL_TEST_ENTRY = 36,\n\tPOL_STATUS_HIT = 37,\n\tPOL_STATUS_HIT_RED = 38,\n\tPOL_STATUS_HIT_YELLOW = 39,\n\tALE_DEFAULT_THREAD_EN = 40,\n\tALE_DEFAULT_THREAD_VAL = 41,\n\tALE_THREAD_CLASS_INDEX = 42,\n\tALE_THREAD_ENABLE = 43,\n\tALE_THREAD_VALUE = 44,\n\tALE_FIELDS_MAX = 45,\n};\n\nenum altera_pcie_version {\n\tALTERA_PCIE_V1 = 0,\n\tALTERA_PCIE_V2 = 1,\n};\n\nenum am65_cpsw_tx_buf_type {\n\tAM65_CPSW_TX_BUF_TYPE_SKB = 0,\n\tAM65_CPSW_TX_BUF_TYPE_XDP_TX = 1,\n\tAM65_CPSW_TX_BUF_TYPE_XDP_NDO = 2,\n};\n\nenum aqr_fw_src {\n\tAQR_FW_SRC_NVMEM = 0,\n\tAQR_FW_SRC_FS = 1,\n};\n\nenum arch_timer_erratum_match_type {\n\tate_match_dt = 0,\n\tate_match_local_cap_id = 1,\n\tate_match_acpi_oem_info = 2,\n};\n\nenum arch_timer_ppi_nr {\n\tARCH_TIMER_PHYS_SECURE_PPI = 0,\n\tARCH_TIMER_PHYS_NONSECURE_PPI = 1,\n\tARCH_TIMER_VIRT_PPI = 2,\n\tARCH_TIMER_HYP_PPI = 3,\n\tARCH_TIMER_HYP_VIRT_PPI = 4,\n\tARCH_TIMER_MAX_TIMER_PPI = 5,\n};\n\nenum arch_timer_reg {\n\tARCH_TIMER_REG_CTRL = 0,\n\tARCH_TIMER_REG_CVAL = 1,\n};\n\nenum arch_timer_spi_nr {\n\tARCH_TIMER_PHYS_SPI = 0,\n\tARCH_TIMER_VIRT_SPI = 1,\n\tARCH_TIMER_MAX_TIMER_SPI = 2,\n};\n\nenum arm64_bp_harden_el1_vectors {\n\tEL1_VECTOR_BHB_LOOP = 0,\n\tEL1_VECTOR_BHB_FW = 1,\n\tEL1_VECTOR_BHB_CLEAR_INSN = 2,\n\tEL1_VECTOR_KPTI = 3,\n};\n\nenum arm64_hyp_spectre_vector {\n\tHYP_VECTOR_DIRECT = 0,\n\tHYP_VECTOR_SPECTRE_DIRECT = 1,\n\tHYP_VECTOR_INDIRECT = 2,\n\tHYP_VECTOR_SPECTRE_INDIRECT = 3,\n};\n\nenum arm_smccc_conduit {\n\tSMCCC_CONDUIT_NONE = 0,\n\tSMCCC_CONDUIT_SMC = 1,\n\tSMCCC_CONDUIT_HVC = 2,\n};\n\nenum arm_smmu_arch_version {\n\tARM_SMMU_V1 = 0,\n\tARM_SMMU_V1_64K = 1,\n\tARM_SMMU_V2 = 2,\n};\n\nenum arm_smmu_cbar_type {\n\tCBAR_TYPE_S2_TRANS = 0,\n\tCBAR_TYPE_S1_TRANS_S2_BYPASS = 1,\n\tCBAR_TYPE_S1_TRANS_S2_FAULT = 2,\n\tCBAR_TYPE_S1_TRANS_S2_TRANS = 3,\n};\n\nenum arm_smmu_context_fmt {\n\tARM_SMMU_CTX_FMT_NONE = 0,\n\tARM_SMMU_CTX_FMT_AARCH64 = 1,\n\tARM_SMMU_CTX_FMT_AARCH32_L = 2,\n\tARM_SMMU_CTX_FMT_AARCH32_S = 3,\n};\n\nenum arm_smmu_domain_stage {\n\tARM_SMMU_DOMAIN_S1 = 0,\n\tARM_SMMU_DOMAIN_S2 = 1,\n};\n\nenum arm_smmu_domain_stage___2 {\n\tARM_SMMU_DOMAIN_S1___2 = 0,\n\tARM_SMMU_DOMAIN_S2___2 = 1,\n\tARM_SMMU_DOMAIN_NESTED = 2,\n};\n\nenum arm_smmu_implementation {\n\tGENERIC_SMMU = 0,\n\tARM_MMU500 = 1,\n\tCAVIUM_SMMUV2 = 2,\n\tQCOM_SMMUV2 = 3,\n};\n\nenum arm_smmu_msi_index {\n\tEVTQ_MSI_INDEX = 0,\n\tGERROR_MSI_INDEX = 1,\n\tPRIQ_MSI_INDEX = 2,\n\tARM_SMMU_MAX_MSIS = 3,\n};\n\nenum arm_smmu_s2cr_privcfg {\n\tS2CR_PRIVCFG_DEFAULT = 0,\n\tS2CR_PRIVCFG_DIPAN = 1,\n\tS2CR_PRIVCFG_UNPRIV = 2,\n\tS2CR_PRIVCFG_PRIV = 3,\n};\n\nenum arm_smmu_s2cr_type {\n\tS2CR_TYPE_TRANS = 0,\n\tS2CR_TYPE_BYPASS = 1,\n\tS2CR_TYPE_FAULT = 2,\n};\n\nenum armpmu_attr_groups {\n\tARMPMU_ATTR_GROUP_COMMON = 0,\n\tARMPMU_ATTR_GROUP_EVENTS = 1,\n\tARMPMU_ATTR_GROUP_FORMATS = 2,\n\tARMPMU_ATTR_GROUP_CAPS = 3,\n\tARMPMU_NR_ATTR_GROUPS = 4,\n};\n\nenum asn1_class {\n\tASN1_UNIV = 0,\n\tASN1_APPL = 1,\n\tASN1_CONT = 2,\n\tASN1_PRIV = 3,\n};\n\nenum asn1_method {\n\tASN1_PRIM = 0,\n\tASN1_CONS = 1,\n};\n\nenum asn1_opcode {\n\tASN1_OP_MATCH = 0,\n\tASN1_OP_MATCH_OR_SKIP = 1,\n\tASN1_OP_MATCH_ACT = 2,\n\tASN1_OP_MATCH_ACT_OR_SKIP = 3,\n\tASN1_OP_MATCH_JUMP = 4,\n\tASN1_OP_MATCH_JUMP_OR_SKIP = 5,\n\tASN1_OP_MATCH_ANY = 8,\n\tASN1_OP_MATCH_ANY_OR_SKIP = 9,\n\tASN1_OP_MATCH_ANY_ACT = 10,\n\tASN1_OP_MATCH_ANY_ACT_OR_SKIP = 11,\n\tASN1_OP_COND_MATCH_OR_SKIP = 17,\n\tASN1_OP_COND_MATCH_ACT_OR_SKIP = 19,\n\tASN1_OP_COND_MATCH_JUMP_OR_SKIP = 21,\n\tASN1_OP_COND_MATCH_ANY = 24,\n\tASN1_OP_COND_MATCH_ANY_OR_SKIP = 25,\n\tASN1_OP_COND_MATCH_ANY_ACT = 26,\n\tASN1_OP_COND_MATCH_ANY_ACT_OR_SKIP = 27,\n\tASN1_OP_COND_FAIL = 28,\n\tASN1_OP_COMPLETE = 29,\n\tASN1_OP_ACT = 30,\n\tASN1_OP_MAYBE_ACT = 31,\n\tASN1_OP_END_SEQ = 32,\n\tASN1_OP_END_SET = 33,\n\tASN1_OP_END_SEQ_OF = 34,\n\tASN1_OP_END_SET_OF = 35,\n\tASN1_OP_END_SEQ_ACT = 36,\n\tASN1_OP_END_SET_ACT = 37,\n\tASN1_OP_END_SEQ_OF_ACT = 38,\n\tASN1_OP_END_SET_OF_ACT = 39,\n\tASN1_OP_RETURN = 40,\n\tASN1_OP__NR = 41,\n};\n\nenum asn1_tag {\n\tASN1_EOC = 0,\n\tASN1_BOOL = 1,\n\tASN1_INT = 2,\n\tASN1_BTS = 3,\n\tASN1_OTS = 4,\n\tASN1_NULL = 5,\n\tASN1_OID = 6,\n\tASN1_ODE = 7,\n\tASN1_EXT = 8,\n\tASN1_REAL = 9,\n\tASN1_ENUM = 10,\n\tASN1_EPDV = 11,\n\tASN1_UTF8STR = 12,\n\tASN1_RELOID = 13,\n\tASN1_SEQ = 16,\n\tASN1_SET = 17,\n\tASN1_NUMSTR = 18,\n\tASN1_PRNSTR = 19,\n\tASN1_TEXSTR = 20,\n\tASN1_VIDSTR = 21,\n\tASN1_IA5STR = 22,\n\tASN1_UNITIM = 23,\n\tASN1_GENTIM = 24,\n\tASN1_GRASTR = 25,\n\tASN1_VISSTR = 26,\n\tASN1_GENSTR = 27,\n\tASN1_UNISTR = 28,\n\tASN1_CHRSTR = 29,\n\tASN1_BMPSTR = 30,\n\tASN1_LONG_TAG = 31,\n};\n\nenum asp_netfilt_reg_type {\n\tASP_NETFILT_MATCH = 0,\n\tASP_NETFILT_MASK = 1,\n\tASP_NETFILT_MAX = 2,\n};\n\nenum asp_rx_filter_id {\n\tASP_RX_FILTER_MDA_PROMISC = 0,\n\tASP_RX_FILTER_MDA_ALLMULTI = 1,\n\tASP_RX_FILTER_MDA_BROADCAST = 2,\n\tASP_RX_FILTER_MDA_OWN_ADDR = 3,\n\tASP_RX_FILTER_MDA_RES_MAX = 4,\n};\n\nenum asp_rx_net_filter_block {\n\tASP_RX_FILTER_NET_L2 = 0,\n\tASP_RX_FILTER_NET_L3_0 = 1,\n\tASP_RX_FILTER_NET_L3_1 = 2,\n\tASP_RX_FILTER_NET_L4 = 3,\n\tASP_RX_FILTER_NET_BLOCK_MAX = 4,\n};\n\nenum assoc_array_walk_status {\n\tassoc_array_walk_tree_empty = 0,\n\tassoc_array_walk_found_terminal_node = 1,\n\tassoc_array_walk_found_wrong_shortcut = 2,\n};\n\nenum asymmetric_payload_bits {\n\tasym_crypto = 0,\n\tasym_subtype = 1,\n\tasym_key_ids = 2,\n\tasym_auth = 3,\n};\n\nenum ata_completion_errors {\n\tAC_ERR_OK = 0,\n\tAC_ERR_DEV = 1,\n\tAC_ERR_HSM = 2,\n\tAC_ERR_TIMEOUT = 4,\n\tAC_ERR_MEDIA = 8,\n\tAC_ERR_ATA_BUS = 16,\n\tAC_ERR_HOST_BUS = 32,\n\tAC_ERR_SYSTEM = 64,\n\tAC_ERR_INVALID = 128,\n\tAC_ERR_OTHER = 256,\n\tAC_ERR_NODEV_HINT = 512,\n\tAC_ERR_NCQ = 1024,\n};\n\nenum ata_dev_iter_mode {\n\tATA_DITER_ENABLED = 0,\n\tATA_DITER_ENABLED_REVERSE = 1,\n\tATA_DITER_ALL = 2,\n\tATA_DITER_ALL_REVERSE = 3,\n};\n\nenum ata_link_iter_mode {\n\tATA_LITER_EDGE = 0,\n\tATA_LITER_HOST_FIRST = 1,\n\tATA_LITER_PMP_FIRST = 2,\n};\n\nenum ata_lpm_hints {\n\tATA_LPM_EMPTY = 1,\n\tATA_LPM_HIPM = 2,\n\tATA_LPM_WAKE_ONLY = 4,\n};\n\nenum ata_lpm_policy {\n\tATA_LPM_UNKNOWN = 0,\n\tATA_LPM_MAX_POWER = 1,\n\tATA_LPM_MED_POWER = 2,\n\tATA_LPM_MED_POWER_WITH_DIPM = 3,\n\tATA_LPM_MIN_POWER_WITH_PARTIAL = 4,\n\tATA_LPM_MIN_POWER = 5,\n};\n\nenum ata_prot_flags {\n\tATA_PROT_FLAG_PIO = 1,\n\tATA_PROT_FLAG_DMA = 2,\n\tATA_PROT_FLAG_NCQ = 4,\n\tATA_PROT_FLAG_ATAPI = 8,\n\tATA_PROT_UNKNOWN = 255,\n\tATA_PROT_NODATA = 0,\n\tATA_PROT_PIO = 1,\n\tATA_PROT_DMA = 2,\n\tATA_PROT_NCQ_NODATA = 4,\n\tATA_PROT_NCQ = 6,\n\tATAPI_PROT_NODATA = 8,\n\tATAPI_PROT_PIO = 9,\n\tATAPI_PROT_DMA = 10,\n};\n\nenum ata_quirks {\n\t__ATA_QUIRK_DIAGNOSTIC = 0,\n\t__ATA_QUIRK_NODMA = 1,\n\t__ATA_QUIRK_NONCQ = 2,\n\t__ATA_QUIRK_MAX_SEC_128 = 3,\n\t__ATA_QUIRK_BROKEN_HPA = 4,\n\t__ATA_QUIRK_DISABLE = 5,\n\t__ATA_QUIRK_HPA_SIZE = 6,\n\t__ATA_QUIRK_IVB = 7,\n\t__ATA_QUIRK_STUCK_ERR = 8,\n\t__ATA_QUIRK_BRIDGE_OK = 9,\n\t__ATA_QUIRK_ATAPI_MOD16_DMA = 10,\n\t__ATA_QUIRK_FIRMWARE_WARN = 11,\n\t__ATA_QUIRK_1_5_GBPS = 12,\n\t__ATA_QUIRK_NOSETXFER = 13,\n\t__ATA_QUIRK_BROKEN_FPDMA_AA = 14,\n\t__ATA_QUIRK_DUMP_ID = 15,\n\t__ATA_QUIRK_MAX_SEC_LBA48 = 16,\n\t__ATA_QUIRK_ATAPI_DMADIR = 17,\n\t__ATA_QUIRK_NO_NCQ_TRIM = 18,\n\t__ATA_QUIRK_NOLPM = 19,\n\t__ATA_QUIRK_WD_BROKEN_LPM = 20,\n\t__ATA_QUIRK_ZERO_AFTER_TRIM = 21,\n\t__ATA_QUIRK_NO_DMA_LOG = 22,\n\t__ATA_QUIRK_NOTRIM = 23,\n\t__ATA_QUIRK_MAX_SEC_1024 = 24,\n\t__ATA_QUIRK_MAX_TRIM_128M = 25,\n\t__ATA_QUIRK_NO_NCQ_ON_ATI = 26,\n\t__ATA_QUIRK_NO_LPM_ON_ATI = 27,\n\t__ATA_QUIRK_NO_ID_DEV_LOG = 28,\n\t__ATA_QUIRK_NO_LOG_DIR = 29,\n\t__ATA_QUIRK_NO_FUA = 30,\n\t__ATA_QUIRK_MAX = 31,\n};\n\nenum ata_xfer_mask {\n\tATA_MASK_PIO = 127,\n\tATA_MASK_MWDMA = 3968,\n\tATA_MASK_UDMA = 1044480,\n};\n\nenum attr_idn {\n\tQUERY_ATTR_IDN_BOOT_LU_EN = 0,\n\tQUERY_ATTR_IDN_MAX_HPB_SINGLE_CMD = 1,\n\tQUERY_ATTR_IDN_POWER_MODE = 2,\n\tQUERY_ATTR_IDN_ACTIVE_ICC_LVL = 3,\n\tQUERY_ATTR_IDN_OOO_DATA_EN = 4,\n\tQUERY_ATTR_IDN_BKOPS_STATUS = 5,\n\tQUERY_ATTR_IDN_PURGE_STATUS = 6,\n\tQUERY_ATTR_IDN_MAX_DATA_IN = 7,\n\tQUERY_ATTR_IDN_MAX_DATA_OUT = 8,\n\tQUERY_ATTR_IDN_DYN_CAP_NEEDED = 9,\n\tQUERY_ATTR_IDN_REF_CLK_FREQ = 10,\n\tQUERY_ATTR_IDN_CONF_DESC_LOCK = 11,\n\tQUERY_ATTR_IDN_MAX_NUM_OF_RTT = 12,\n\tQUERY_ATTR_IDN_EE_CONTROL = 13,\n\tQUERY_ATTR_IDN_EE_STATUS = 14,\n\tQUERY_ATTR_IDN_SECONDS_PASSED = 15,\n\tQUERY_ATTR_IDN_CNTX_CONF = 16,\n\tQUERY_ATTR_IDN_CORR_PRG_BLK_NUM = 17,\n\tQUERY_ATTR_IDN_RESERVED2 = 18,\n\tQUERY_ATTR_IDN_RESERVED3 = 19,\n\tQUERY_ATTR_IDN_FFU_STATUS = 20,\n\tQUERY_ATTR_IDN_PSA_STATE = 21,\n\tQUERY_ATTR_IDN_PSA_DATA_SIZE = 22,\n\tQUERY_ATTR_IDN_REF_CLK_GATING_WAIT_TIME = 23,\n\tQUERY_ATTR_IDN_CASE_ROUGH_TEMP = 24,\n\tQUERY_ATTR_IDN_HIGH_TEMP_BOUND = 25,\n\tQUERY_ATTR_IDN_LOW_TEMP_BOUND = 26,\n\tQUERY_ATTR_IDN_WB_FLUSH_STATUS = 28,\n\tQUERY_ATTR_IDN_AVAIL_WB_BUFF_SIZE = 29,\n\tQUERY_ATTR_IDN_WB_BUFF_LIFE_TIME_EST = 30,\n\tQUERY_ATTR_IDN_CURR_WB_BUFF_SIZE = 31,\n\tQUERY_ATTR_IDN_TIMESTAMP = 48,\n};\n\nenum audit_nfcfgop {\n\tAUDIT_XT_OP_REGISTER = 0,\n\tAUDIT_XT_OP_REPLACE = 1,\n\tAUDIT_XT_OP_UNREGISTER = 2,\n\tAUDIT_NFT_OP_TABLE_REGISTER = 3,\n\tAUDIT_NFT_OP_TABLE_UNREGISTER = 4,\n\tAUDIT_NFT_OP_CHAIN_REGISTER = 5,\n\tAUDIT_NFT_OP_CHAIN_UNREGISTER = 6,\n\tAUDIT_NFT_OP_RULE_REGISTER = 7,\n\tAUDIT_NFT_OP_RULE_UNREGISTER = 8,\n\tAUDIT_NFT_OP_SET_REGISTER = 9,\n\tAUDIT_NFT_OP_SET_UNREGISTER = 10,\n\tAUDIT_NFT_OP_SETELEM_REGISTER = 11,\n\tAUDIT_NFT_OP_SETELEM_UNREGISTER = 12,\n\tAUDIT_NFT_OP_GEN_REGISTER = 13,\n\tAUDIT_NFT_OP_OBJ_REGISTER = 14,\n\tAUDIT_NFT_OP_OBJ_UNREGISTER = 15,\n\tAUDIT_NFT_OP_OBJ_RESET = 16,\n\tAUDIT_NFT_OP_FLOWTABLE_REGISTER = 17,\n\tAUDIT_NFT_OP_FLOWTABLE_UNREGISTER = 18,\n\tAUDIT_NFT_OP_SETELEM_RESET = 19,\n\tAUDIT_NFT_OP_RULE_RESET = 20,\n\tAUDIT_NFT_OP_INVALID = 21,\n};\n\nenum audit_nlgrps {\n\tAUDIT_NLGRP_NONE = 0,\n\tAUDIT_NLGRP_READLOG = 1,\n\t__AUDIT_NLGRP_MAX = 2,\n};\n\nenum audit_ntp_type {\n\tAUDIT_NTP_OFFSET = 0,\n\tAUDIT_NTP_FREQ = 1,\n\tAUDIT_NTP_STATUS = 2,\n\tAUDIT_NTP_TAI = 3,\n\tAUDIT_NTP_TICK = 4,\n\tAUDIT_NTP_ADJUST = 5,\n\tAUDIT_NTP_NVALS = 6,\n};\n\nenum audit_state {\n\tAUDIT_STATE_DISABLED = 0,\n\tAUDIT_STATE_BUILD = 1,\n\tAUDIT_STATE_RECORD = 2,\n};\n\nenum auditsc_class_t {\n\tAUDITSC_NATIVE = 0,\n\tAUDITSC_COMPAT = 1,\n\tAUDITSC_OPEN = 2,\n\tAUDITSC_OPENAT = 3,\n\tAUDITSC_SOCKETCALL = 4,\n\tAUDITSC_EXECVE = 5,\n\tAUDITSC_OPENAT2 = 6,\n\tAUDITSC_NVALS = 7,\n};\n\nenum autofs_notify {\n\tNFY_NONE = 0,\n\tNFY_MOUNT = 1,\n\tNFY_EXPIRE = 2,\n};\n\nenum axp15060_irqs {\n\tAXP15060_IRQ_DIE_TEMP_HIGH_LV1 = 1,\n\tAXP15060_IRQ_DIE_TEMP_HIGH_LV2 = 2,\n\tAXP15060_IRQ_DCDC1_V_LOW = 3,\n\tAXP15060_IRQ_DCDC2_V_LOW = 4,\n\tAXP15060_IRQ_DCDC3_V_LOW = 5,\n\tAXP15060_IRQ_DCDC4_V_LOW = 6,\n\tAXP15060_IRQ_DCDC5_V_LOW = 7,\n\tAXP15060_IRQ_DCDC6_V_LOW = 8,\n\tAXP15060_IRQ_PEK_LONG = 9,\n\tAXP15060_IRQ_PEK_SHORT = 10,\n\tAXP15060_IRQ_GPIO1_INPUT = 11,\n\tAXP15060_IRQ_PEK_FAL_EDGE = 12,\n\tAXP15060_IRQ_PEK_RIS_EDGE = 13,\n\tAXP15060_IRQ_GPIO2_INPUT = 14,\n};\n\nenum axp192_irqs {\n\tAXP192_IRQ_ACIN_OVER_V = 1,\n\tAXP192_IRQ_ACIN_PLUGIN = 2,\n\tAXP192_IRQ_ACIN_REMOVAL = 3,\n\tAXP192_IRQ_VBUS_OVER_V = 4,\n\tAXP192_IRQ_VBUS_PLUGIN = 5,\n\tAXP192_IRQ_VBUS_REMOVAL = 6,\n\tAXP192_IRQ_VBUS_V_LOW = 7,\n\tAXP192_IRQ_BATT_PLUGIN = 8,\n\tAXP192_IRQ_BATT_REMOVAL = 9,\n\tAXP192_IRQ_BATT_ENT_ACT_MODE = 10,\n\tAXP192_IRQ_BATT_EXIT_ACT_MODE = 11,\n\tAXP192_IRQ_CHARG = 12,\n\tAXP192_IRQ_CHARG_DONE = 13,\n\tAXP192_IRQ_BATT_TEMP_HIGH = 14,\n\tAXP192_IRQ_BATT_TEMP_LOW = 15,\n\tAXP192_IRQ_DIE_TEMP_HIGH = 16,\n\tAXP192_IRQ_CHARG_I_LOW = 17,\n\tAXP192_IRQ_DCDC1_V_LONG = 18,\n\tAXP192_IRQ_DCDC2_V_LONG = 19,\n\tAXP192_IRQ_DCDC3_V_LONG = 20,\n\tAXP192_IRQ_PEK_SHORT = 22,\n\tAXP192_IRQ_PEK_LONG = 23,\n\tAXP192_IRQ_N_OE_PWR_ON = 24,\n\tAXP192_IRQ_N_OE_PWR_OFF = 25,\n\tAXP192_IRQ_VBUS_VALID = 26,\n\tAXP192_IRQ_VBUS_NOT_VALID = 27,\n\tAXP192_IRQ_VBUS_SESS_VALID = 28,\n\tAXP192_IRQ_VBUS_SESS_END = 29,\n\tAXP192_IRQ_LOW_PWR_LVL = 31,\n\tAXP192_IRQ_TIMER = 32,\n\tAXP192_IRQ_GPIO2_INPUT = 37,\n\tAXP192_IRQ_GPIO1_INPUT = 38,\n\tAXP192_IRQ_GPIO0_INPUT = 39,\n};\n\nenum axp20x_variants {\n\tAXP152_ID = 0,\n\tAXP192_ID = 1,\n\tAXP202_ID = 2,\n\tAXP209_ID = 3,\n\tAXP221_ID = 4,\n\tAXP223_ID = 5,\n\tAXP288_ID = 6,\n\tAXP313A_ID = 7,\n\tAXP323_ID = 8,\n\tAXP717_ID = 9,\n\tAXP803_ID = 10,\n\tAXP806_ID = 11,\n\tAXP809_ID = 12,\n\tAXP813_ID = 13,\n\tAXP15060_ID = 14,\n\tNR_AXP20X_VARIANTS = 15,\n};\n\nenum axp22x_irqs {\n\tAXP22X_IRQ_ACIN_OVER_V = 1,\n\tAXP22X_IRQ_ACIN_PLUGIN = 2,\n\tAXP22X_IRQ_ACIN_REMOVAL = 3,\n\tAXP22X_IRQ_VBUS_OVER_V = 4,\n\tAXP22X_IRQ_VBUS_PLUGIN = 5,\n\tAXP22X_IRQ_VBUS_REMOVAL = 6,\n\tAXP22X_IRQ_VBUS_V_LOW = 7,\n\tAXP22X_IRQ_BATT_PLUGIN = 8,\n\tAXP22X_IRQ_BATT_REMOVAL = 9,\n\tAXP22X_IRQ_BATT_ENT_ACT_MODE = 10,\n\tAXP22X_IRQ_BATT_EXIT_ACT_MODE = 11,\n\tAXP22X_IRQ_CHARG = 12,\n\tAXP22X_IRQ_CHARG_DONE = 13,\n\tAXP22X_IRQ_BATT_TEMP_HIGH = 14,\n\tAXP22X_IRQ_BATT_TEMP_LOW = 15,\n\tAXP22X_IRQ_DIE_TEMP_HIGH = 16,\n\tAXP22X_IRQ_PEK_SHORT = 17,\n\tAXP22X_IRQ_PEK_LONG = 18,\n\tAXP22X_IRQ_LOW_PWR_LVL1 = 19,\n\tAXP22X_IRQ_LOW_PWR_LVL2 = 20,\n\tAXP22X_IRQ_TIMER = 21,\n\tAXP22X_IRQ_PEK_FAL_EDGE = 22,\n\tAXP22X_IRQ_PEK_RIS_EDGE = 23,\n\tAXP22X_IRQ_GPIO1_INPUT = 24,\n\tAXP22X_IRQ_GPIO0_INPUT = 25,\n};\n\nenum axp288_irqs {\n\tAXP288_IRQ_VBUS_FALL = 2,\n\tAXP288_IRQ_VBUS_RISE = 3,\n\tAXP288_IRQ_OV = 4,\n\tAXP288_IRQ_FALLING_ALT = 5,\n\tAXP288_IRQ_RISING_ALT = 6,\n\tAXP288_IRQ_OV_ALT = 7,\n\tAXP288_IRQ_DONE = 10,\n\tAXP288_IRQ_CHARGING = 11,\n\tAXP288_IRQ_SAFE_QUIT = 12,\n\tAXP288_IRQ_SAFE_ENTER = 13,\n\tAXP288_IRQ_ABSENT = 14,\n\tAXP288_IRQ_APPEND = 15,\n\tAXP288_IRQ_QWBTU = 16,\n\tAXP288_IRQ_WBTU = 17,\n\tAXP288_IRQ_QWBTO = 18,\n\tAXP288_IRQ_WBTO = 19,\n\tAXP288_IRQ_QCBTU = 20,\n\tAXP288_IRQ_CBTU = 21,\n\tAXP288_IRQ_QCBTO = 22,\n\tAXP288_IRQ_CBTO = 23,\n\tAXP288_IRQ_WL2 = 24,\n\tAXP288_IRQ_WL1 = 25,\n\tAXP288_IRQ_GPADC = 26,\n\tAXP288_IRQ_OT = 31,\n\tAXP288_IRQ_GPIO0 = 32,\n\tAXP288_IRQ_GPIO1 = 33,\n\tAXP288_IRQ_POKO = 34,\n\tAXP288_IRQ_POKL = 35,\n\tAXP288_IRQ_POKS = 36,\n\tAXP288_IRQ_POKN = 37,\n\tAXP288_IRQ_POKP = 38,\n\tAXP288_IRQ_TIMER = 39,\n\tAXP288_IRQ_MV_CHNG = 40,\n\tAXP288_IRQ_BC_USB_CHNG = 41,\n};\n\nenum axp313a_irqs {\n\tAXP313A_IRQ_DIE_TEMP_HIGH = 0,\n\tAXP313A_IRQ_DCDC2_V_LOW = 2,\n\tAXP313A_IRQ_DCDC3_V_LOW = 3,\n\tAXP313A_IRQ_PEK_LONG = 4,\n\tAXP313A_IRQ_PEK_SHORT = 5,\n\tAXP313A_IRQ_PEK_FAL_EDGE = 6,\n\tAXP313A_IRQ_PEK_RIS_EDGE = 7,\n};\n\nenum axp717_irqs {\n\tAXP717_IRQ_VBUS_FAULT = 0,\n\tAXP717_IRQ_VBUS_OVER_V = 1,\n\tAXP717_IRQ_BOOST_OVER_V = 2,\n\tAXP717_IRQ_GAUGE_NEW_SOC = 4,\n\tAXP717_IRQ_SOC_DROP_LVL1 = 6,\n\tAXP717_IRQ_SOC_DROP_LVL2 = 7,\n\tAXP717_IRQ_PEK_RIS_EDGE = 8,\n\tAXP717_IRQ_PEK_FAL_EDGE = 9,\n\tAXP717_IRQ_PEK_LONG = 10,\n\tAXP717_IRQ_PEK_SHORT = 11,\n\tAXP717_IRQ_BATT_REMOVAL = 12,\n\tAXP717_IRQ_BATT_PLUGIN = 13,\n\tAXP717_IRQ_VBUS_REMOVAL = 14,\n\tAXP717_IRQ_VBUS_PLUGIN = 15,\n\tAXP717_IRQ_BATT_OVER_V = 16,\n\tAXP717_IRQ_CHARG_TIMER = 17,\n\tAXP717_IRQ_DIE_TEMP_HIGH = 18,\n\tAXP717_IRQ_CHARG = 19,\n\tAXP717_IRQ_CHARG_DONE = 20,\n\tAXP717_IRQ_BATT_OVER_CURR = 21,\n\tAXP717_IRQ_LDO_OVER_CURR = 22,\n\tAXP717_IRQ_WDOG_EXPIRE = 23,\n\tAXP717_IRQ_BATT_ACT_TEMP_LOW = 24,\n\tAXP717_IRQ_BATT_ACT_TEMP_HIGH = 25,\n\tAXP717_IRQ_BATT_CHG_TEMP_LOW = 26,\n\tAXP717_IRQ_BATT_CHG_TEMP_HIGH = 27,\n\tAXP717_IRQ_BATT_QUIT_TEMP_HIGH = 28,\n\tAXP717_IRQ_BC_USB_CHNG = 30,\n\tAXP717_IRQ_BC_USB_DONE = 31,\n\tAXP717_IRQ_TYPEC_PLUGIN = 37,\n\tAXP717_IRQ_TYPEC_REMOVE = 38,\n};\n\nenum axp803_irqs {\n\tAXP803_IRQ_ACIN_OVER_V = 1,\n\tAXP803_IRQ_ACIN_PLUGIN = 2,\n\tAXP803_IRQ_ACIN_REMOVAL = 3,\n\tAXP803_IRQ_VBUS_OVER_V = 4,\n\tAXP803_IRQ_VBUS_PLUGIN = 5,\n\tAXP803_IRQ_VBUS_REMOVAL = 6,\n\tAXP803_IRQ_BATT_PLUGIN = 7,\n\tAXP803_IRQ_BATT_REMOVAL = 8,\n\tAXP803_IRQ_BATT_ENT_ACT_MODE = 9,\n\tAXP803_IRQ_BATT_EXIT_ACT_MODE = 10,\n\tAXP803_IRQ_CHARG = 11,\n\tAXP803_IRQ_CHARG_DONE = 12,\n\tAXP803_IRQ_BATT_CHG_TEMP_HIGH = 13,\n\tAXP803_IRQ_BATT_CHG_TEMP_HIGH_END = 14,\n\tAXP803_IRQ_BATT_CHG_TEMP_LOW = 15,\n\tAXP803_IRQ_BATT_CHG_TEMP_LOW_END = 16,\n\tAXP803_IRQ_BATT_ACT_TEMP_HIGH = 17,\n\tAXP803_IRQ_BATT_ACT_TEMP_HIGH_END = 18,\n\tAXP803_IRQ_BATT_ACT_TEMP_LOW = 19,\n\tAXP803_IRQ_BATT_ACT_TEMP_LOW_END = 20,\n\tAXP803_IRQ_DIE_TEMP_HIGH = 21,\n\tAXP803_IRQ_GPADC = 22,\n\tAXP803_IRQ_LOW_PWR_LVL1 = 23,\n\tAXP803_IRQ_LOW_PWR_LVL2 = 24,\n\tAXP803_IRQ_TIMER = 25,\n\tAXP803_IRQ_PEK_FAL_EDGE = 26,\n\tAXP803_IRQ_PEK_RIS_EDGE = 27,\n\tAXP803_IRQ_PEK_SHORT = 28,\n\tAXP803_IRQ_PEK_LONG = 29,\n\tAXP803_IRQ_PEK_OVER_OFF = 30,\n\tAXP803_IRQ_GPIO1_INPUT = 31,\n\tAXP803_IRQ_GPIO0_INPUT = 32,\n\tAXP803_IRQ_BC_USB_CHNG = 33,\n\tAXP803_IRQ_MV_CHNG = 34,\n};\n\nenum axp806_irqs {\n\tAXP806_IRQ_DIE_TEMP_HIGH_LV1 = 0,\n\tAXP806_IRQ_DIE_TEMP_HIGH_LV2 = 1,\n\tAXP806_IRQ_DCDCA_V_LOW = 2,\n\tAXP806_IRQ_DCDCB_V_LOW = 3,\n\tAXP806_IRQ_DCDCC_V_LOW = 4,\n\tAXP806_IRQ_DCDCD_V_LOW = 5,\n\tAXP806_IRQ_DCDCE_V_LOW = 6,\n\tAXP806_IRQ_POK_LONG = 7,\n\tAXP806_IRQ_POK_SHORT = 8,\n\tAXP806_IRQ_WAKEUP = 9,\n\tAXP806_IRQ_POK_FALL = 10,\n\tAXP806_IRQ_POK_RISE = 11,\n};\n\nenum axp809_irqs {\n\tAXP809_IRQ_ACIN_OVER_V = 1,\n\tAXP809_IRQ_ACIN_PLUGIN = 2,\n\tAXP809_IRQ_ACIN_REMOVAL = 3,\n\tAXP809_IRQ_VBUS_OVER_V = 4,\n\tAXP809_IRQ_VBUS_PLUGIN = 5,\n\tAXP809_IRQ_VBUS_REMOVAL = 6,\n\tAXP809_IRQ_VBUS_V_LOW = 7,\n\tAXP809_IRQ_BATT_PLUGIN = 8,\n\tAXP809_IRQ_BATT_REMOVAL = 9,\n\tAXP809_IRQ_BATT_ENT_ACT_MODE = 10,\n\tAXP809_IRQ_BATT_EXIT_ACT_MODE = 11,\n\tAXP809_IRQ_CHARG = 12,\n\tAXP809_IRQ_CHARG_DONE = 13,\n\tAXP809_IRQ_BATT_CHG_TEMP_HIGH = 14,\n\tAXP809_IRQ_BATT_CHG_TEMP_HIGH_END = 15,\n\tAXP809_IRQ_BATT_CHG_TEMP_LOW = 16,\n\tAXP809_IRQ_BATT_CHG_TEMP_LOW_END = 17,\n\tAXP809_IRQ_BATT_ACT_TEMP_HIGH = 18,\n\tAXP809_IRQ_BATT_ACT_TEMP_HIGH_END = 19,\n\tAXP809_IRQ_BATT_ACT_TEMP_LOW = 20,\n\tAXP809_IRQ_BATT_ACT_TEMP_LOW_END = 21,\n\tAXP809_IRQ_DIE_TEMP_HIGH = 22,\n\tAXP809_IRQ_LOW_PWR_LVL1 = 23,\n\tAXP809_IRQ_LOW_PWR_LVL2 = 24,\n\tAXP809_IRQ_TIMER = 25,\n\tAXP809_IRQ_PEK_FAL_EDGE = 26,\n\tAXP809_IRQ_PEK_RIS_EDGE = 27,\n\tAXP809_IRQ_PEK_SHORT = 28,\n\tAXP809_IRQ_PEK_LONG = 29,\n\tAXP809_IRQ_PEK_OVER_OFF = 30,\n\tAXP809_IRQ_GPIO1_INPUT = 31,\n\tAXP809_IRQ_GPIO0_INPUT = 32,\n};\n\nenum bam_command_type {\n\tBAM_WRITE_COMMAND = 0,\n\tBAM_READ_COMMAND = 1,\n};\n\nenum bam_reg {\n\tBAM_CTRL = 0,\n\tBAM_REVISION = 1,\n\tBAM_NUM_PIPES = 2,\n\tBAM_DESC_CNT_TRSHLD = 3,\n\tBAM_IRQ_SRCS = 4,\n\tBAM_IRQ_SRCS_MSK = 5,\n\tBAM_IRQ_SRCS_UNMASKED = 6,\n\tBAM_IRQ_STTS = 7,\n\tBAM_IRQ_CLR = 8,\n\tBAM_IRQ_EN = 9,\n\tBAM_CNFG_BITS = 10,\n\tBAM_IRQ_SRCS_EE = 11,\n\tBAM_IRQ_SRCS_MSK_EE = 12,\n\tBAM_P_CTRL = 13,\n\tBAM_P_RST = 14,\n\tBAM_P_HALT = 15,\n\tBAM_P_IRQ_STTS = 16,\n\tBAM_P_IRQ_CLR = 17,\n\tBAM_P_IRQ_EN = 18,\n\tBAM_P_EVNT_DEST_ADDR = 19,\n\tBAM_P_EVNT_REG = 20,\n\tBAM_P_SW_OFSTS = 21,\n\tBAM_P_DATA_FIFO_ADDR = 22,\n\tBAM_P_DESC_FIFO_ADDR = 23,\n\tBAM_P_EVNT_GEN_TRSHLD = 24,\n\tBAM_P_FIFO_SIZES = 25,\n};\n\nenum base_type {\n\tMSPI = 0,\n\tBSPI = 1,\n\tCHIP_SELECT = 2,\n\tBASEMAX = 3,\n};\n\nenum batadv_packettype {\n\tBATADV_IV_OGM = 0,\n\tBATADV_BCAST = 1,\n\tBATADV_CODED = 2,\n\tBATADV_ELP = 3,\n\tBATADV_OGM2 = 4,\n\tBATADV_MCAST = 5,\n\tBATADV_UNICAST = 64,\n\tBATADV_UNICAST_FRAG = 65,\n\tBATADV_UNICAST_4ADDR = 66,\n\tBATADV_ICMP = 67,\n\tBATADV_UNICAST_TVLV = 68,\n};\n\nenum bcm2835_fsel {\n\tBCM2835_FSEL_COUNT = 8,\n\tBCM2835_FSEL_MASK = 7,\n};\n\nenum bcm_iproc_i2c_type {\n\tIPROC_I2C = 0,\n\tIPROC_I2C_NIC = 1,\n};\n\nenum bcm_usb_phy_ctrl_bits {\n\tCORERDY = 0,\n\tPHY_RESETB = 1,\n\tPHY_PCTL = 2,\n};\n\nenum bcm_usb_phy_reg {\n\tPLL_CTRL = 0,\n\tPHY_CTRL = 1,\n\tPHY_PLL_CTRL = 2,\n};\n\nenum bcm_usb_phy_type {\n\tUSB_HS_PHY = 0,\n\tUSB_SS_PHY = 1,\n};\n\nenum bcm_usb_phy_version {\n\tBCM_SR_USB_COMBO_PHY = 0,\n\tBCM_SR_USB_HS_PHY = 1,\n};\n\nenum bcma_hosttype {\n\tBCMA_HOSTTYPE_PCI = 0,\n\tBCMA_HOSTTYPE_SDIO = 1,\n\tBCMA_HOSTTYPE_SOC = 2,\n};\n\nenum bcmasp_stat_type {\n\tBCMASP_STAT_RX_EDPKT = 0,\n\tBCMASP_STAT_RX_CTRL = 1,\n\tBCMASP_STAT_RX_CTRL_PER_INTF = 2,\n\tBCMASP_STAT_SOFT = 3,\n};\n\nenum bd9571mwv_irqs {\n\tBD9571MWV_IRQ_MD1 = 0,\n\tBD9571MWV_IRQ_MD2_E1 = 1,\n\tBD9571MWV_IRQ_MD2_E2 = 2,\n\tBD9571MWV_IRQ_PROT_ERR = 3,\n\tBD9571MWV_IRQ_GP = 4,\n\tBD9571MWV_IRQ_128H_OF = 5,\n\tBD9571MWV_IRQ_WDT_OF = 6,\n\tBD9571MWV_IRQ_BKUP_TRG = 7,\n};\n\nenum bd9571mwv_regulators {\n\tVD09 = 0,\n\tVD18 = 1,\n\tVD25 = 2,\n\tVD33 = 3,\n\tDVFS = 4,\n};\n\nenum bdc_ep0_state {\n\tWAIT_FOR_SETUP = 0,\n\tWAIT_FOR_DATA_START = 1,\n\tWAIT_FOR_DATA_XMIT = 2,\n\tWAIT_FOR_STATUS_START = 3,\n\tWAIT_FOR_STATUS_XMIT = 4,\n\tSTATUS_PENDING = 5,\n};\n\nenum bdc_link_state {\n\tBDC_LINK_STATE_U0 = 0,\n\tBDC_LINK_STATE_U3 = 3,\n\tBDC_LINK_STATE_RX_DET = 5,\n\tBDC_LINK_STATE_RESUME = 15,\n};\n\nenum bdcr_cmd_class {\n\tBDCR_CMD_UNSPEC = 0,\n\tBDCR_CMD_MAC_FILTER = 1,\n\tBDCR_CMD_VLAN_FILTER = 2,\n\tBDCR_CMD_RSS = 3,\n\tBDCR_CMD_RFS = 4,\n\tBDCR_CMD_PORT_GCL = 5,\n\tBDCR_CMD_RECV_CLASSIFIER = 6,\n\tBDCR_CMD_STREAM_IDENTIFY = 7,\n\tBDCR_CMD_STREAM_FILTER = 8,\n\tBDCR_CMD_STREAM_GCL = 9,\n\tBDCR_CMD_FLOW_METER = 10,\n\t__BDCR_CMD_MAX_LEN = 11,\n\tBDCR_CMD_MAX_LEN = 10,\n};\n\nenum behavior {\n\tEXCLUSIVE = 0,\n\tSHARED = 1,\n\tDROP = 2,\n};\n\nenum bfqq_expiration {\n\tBFQQE_TOO_IDLE = 0,\n\tBFQQE_BUDGET_TIMEOUT = 1,\n\tBFQQE_BUDGET_EXHAUSTED = 2,\n\tBFQQE_NO_MORE_REQUESTS = 3,\n\tBFQQE_PREEMPTED = 4,\n};\n\nenum bfqq_state_flags {\n\tBFQQF_just_created = 0,\n\tBFQQF_busy = 1,\n\tBFQQF_wait_request = 2,\n\tBFQQF_non_blocking_wait_rq = 3,\n\tBFQQF_fifo_expire = 4,\n\tBFQQF_has_short_ttime = 5,\n\tBFQQF_sync = 6,\n\tBFQQF_IO_bound = 7,\n\tBFQQF_in_large_burst = 8,\n\tBFQQF_softrt_update = 9,\n\tBFQQF_coop = 10,\n\tBFQQF_split_coop = 11,\n};\n\nenum bgmac_dma_ring_type {\n\tBGMAC_DMA_RING_TX = 0,\n\tBGMAC_DMA_RING_RX = 1,\n};\n\nenum bh_state_bits {\n\tBH_Uptodate = 0,\n\tBH_Dirty = 1,\n\tBH_Lock = 2,\n\tBH_Req = 3,\n\tBH_Mapped = 4,\n\tBH_New = 5,\n\tBH_Async_Read = 6,\n\tBH_Async_Write = 7,\n\tBH_Delay = 8,\n\tBH_Boundary = 9,\n\tBH_Write_EIO = 10,\n\tBH_Unwritten = 11,\n\tBH_Quiet = 12,\n\tBH_Meta = 13,\n\tBH_Prio = 14,\n\tBH_Defer_Completion = 15,\n\tBH_PrivateStart = 16,\n};\n\nenum bhb_mitigation_bits {\n\tBHB_LOOP = 0,\n\tBHB_FW = 1,\n\tBHB_HW = 2,\n\tBHB_INSN = 3,\n};\n\nenum bio_merge_status {\n\tBIO_MERGE_OK = 0,\n\tBIO_MERGE_NONE = 1,\n\tBIO_MERGE_FAILED = 2,\n};\n\nenum bio_post_read_step {\n\tSTEP_INITIAL = 0,\n\tSTEP_DECRYPT = 1,\n\tSTEP_VERITY = 2,\n\tSTEP_MAX = 3,\n};\n\nenum bios_platform_class {\n\tBIOS_CLIENT = 0,\n\tBIOS_SERVER = 1,\n};\n\nenum bip_flags {\n\tBIP_BLOCK_INTEGRITY = 1,\n\tBIP_MAPPED_INTEGRITY = 2,\n\tBIP_DISK_NOCHECK = 4,\n\tBIP_IP_CHECKSUM = 8,\n\tBIP_COPY_USER = 16,\n\tBIP_CHECK_GUARD = 32,\n\tBIP_CHECK_REFTAG = 64,\n\tBIP_CHECK_APPTAG = 128,\n};\n\nenum bkops_status {\n\tBKOPS_STATUS_NO_OP = 0,\n\tBKOPS_STATUS_NON_CRITICAL = 1,\n\tBKOPS_STATUS_PERF_IMPACT = 2,\n\tBKOPS_STATUS_CRITICAL = 3,\n\tBKOPS_STATUS_MAX = 3,\n};\n\nenum blacklist_hash_type {\n\tBLACKLIST_HASH_X509_TBS = 1,\n\tBLACKLIST_HASH_BINARY = 2,\n};\n\nenum blake2s_iv {\n\tBLAKE2S_IV0 = 1779033703,\n\tBLAKE2S_IV1 = 3144134277,\n\tBLAKE2S_IV2 = 1013904242,\n\tBLAKE2S_IV3 = 2773480762,\n\tBLAKE2S_IV4 = 1359893119,\n\tBLAKE2S_IV5 = 2600822924,\n\tBLAKE2S_IV6 = 528734635,\n\tBLAKE2S_IV7 = 1541459225,\n};\n\nenum blake2s_lengths {\n\tBLAKE2S_BLOCK_SIZE = 64,\n\tBLAKE2S_HASH_SIZE = 32,\n\tBLAKE2S_KEY_SIZE = 32,\n\tBLAKE2S_128_HASH_SIZE = 16,\n\tBLAKE2S_160_HASH_SIZE = 20,\n\tBLAKE2S_224_HASH_SIZE = 28,\n\tBLAKE2S_256_HASH_SIZE = 32,\n};\n\nenum blk_crypto_mode_num {\n\tBLK_ENCRYPTION_MODE_INVALID = 0,\n\tBLK_ENCRYPTION_MODE_AES_256_XTS = 1,\n\tBLK_ENCRYPTION_MODE_AES_128_CBC_ESSIV = 2,\n\tBLK_ENCRYPTION_MODE_ADIANTUM = 3,\n\tBLK_ENCRYPTION_MODE_SM4_XTS = 4,\n\tBLK_ENCRYPTION_MODE_MAX = 5,\n};\n\nenum blk_default_limits {\n\tBLK_MAX_SEGMENTS = 128,\n\tBLK_SAFE_MAX_SECTORS = 255,\n\tBLK_MAX_SEGMENT_SIZE = 65536,\n\tBLK_SEG_BOUNDARY_MASK = 4294967295,\n};\n\nenum blk_eh_timer_return {\n\tBLK_EH_DONE = 0,\n\tBLK_EH_RESET_TIMER = 1,\n};\n\nenum blk_integrity_checksum {\n\tBLK_INTEGRITY_CSUM_NONE = 0,\n\tBLK_INTEGRITY_CSUM_IP = 1,\n\tBLK_INTEGRITY_CSUM_CRC = 2,\n\tBLK_INTEGRITY_CSUM_CRC64 = 3,\n} __attribute__((mode(byte)));\n\nenum blk_integrity_flags {\n\tBLK_INTEGRITY_NOVERIFY = 1,\n\tBLK_INTEGRITY_NOGENERATE = 2,\n\tBLK_INTEGRITY_DEVICE_CAPABLE = 4,\n\tBLK_INTEGRITY_REF_TAG = 8,\n\tBLK_INTEGRITY_STACKED = 16,\n};\n\nenum blk_req_status {\n\tREQ_PROCESSING = 0,\n\tREQ_WAITING = 1,\n\tREQ_DONE = 2,\n\tREQ_ERROR = 3,\n\tREQ_EOPNOTSUPP = 4,\n};\n\nenum blk_unique_id {\n\tBLK_UID_T10 = 1,\n\tBLK_UID_EUI64 = 2,\n\tBLK_UID_NAA = 3,\n};\n\nenum blkg_iostat_type {\n\tBLKG_IOSTAT_READ = 0,\n\tBLKG_IOSTAT_WRITE = 1,\n\tBLKG_IOSTAT_DISCARD = 2,\n\tBLKG_IOSTAT_NR = 3,\n};\n\nenum blkg_rwstat_type {\n\tBLKG_RWSTAT_READ = 0,\n\tBLKG_RWSTAT_WRITE = 1,\n\tBLKG_RWSTAT_SYNC = 2,\n\tBLKG_RWSTAT_ASYNC = 3,\n\tBLKG_RWSTAT_DISCARD = 4,\n\tBLKG_RWSTAT_NR = 5,\n\tBLKG_RWSTAT_TOTAL = 5,\n};\n\nenum blkif_state {\n\tBLKIF_STATE_DISCONNECTED = 0,\n\tBLKIF_STATE_CONNECTED = 1,\n\tBLKIF_STATE_SUSPENDED = 2,\n\tBLKIF_STATE_ERROR = 3,\n};\n\nenum blktrace_act {\n\t__BLK_TA_QUEUE = 1,\n\t__BLK_TA_BACKMERGE = 2,\n\t__BLK_TA_FRONTMERGE = 3,\n\t__BLK_TA_GETRQ = 4,\n\t__BLK_TA_SLEEPRQ = 5,\n\t__BLK_TA_REQUEUE = 6,\n\t__BLK_TA_ISSUE = 7,\n\t__BLK_TA_COMPLETE = 8,\n\t__BLK_TA_PLUG = 9,\n\t__BLK_TA_UNPLUG_IO = 10,\n\t__BLK_TA_UNPLUG_TIMER = 11,\n\t__BLK_TA_INSERT = 12,\n\t__BLK_TA_SPLIT = 13,\n\t__BLK_TA_BOUNCE = 14,\n\t__BLK_TA_REMAP = 15,\n\t__BLK_TA_ABORT = 16,\n\t__BLK_TA_DRV_DATA = 17,\n\t__BLK_TA_CGROUP = 256,\n};\n\nenum bm_rcr_cmode {\n\tbm_rcr_cci = 0,\n\tbm_rcr_cce = 1,\n};\n\nenum bm_rcr_pmode {\n\tbm_rcr_pci = 0,\n\tbm_rcr_pce = 1,\n\tbm_rcr_pvb = 2,\n};\n\nenum board_ids {\n\tboard_ahci = 0,\n\tboard_ahci_43bit_dma = 1,\n\tboard_ahci_ign_iferr = 2,\n\tboard_ahci_no_debounce_delay = 3,\n\tboard_ahci_no_msi = 4,\n\tboard_ahci_pcs_quirk = 5,\n\tboard_ahci_pcs_quirk_no_devslp = 6,\n\tboard_ahci_pcs_quirk_no_sntf = 7,\n\tboard_ahci_yes_fbs = 8,\n\tboard_ahci_al = 9,\n\tboard_ahci_avn = 10,\n\tboard_ahci_mcp65 = 11,\n\tboard_ahci_mcp77 = 12,\n\tboard_ahci_mcp89 = 13,\n\tboard_ahci_mv = 14,\n\tboard_ahci_sb600 = 15,\n\tboard_ahci_sb700 = 16,\n\tboard_ahci_vt8251 = 17,\n\tboard_ahci_mcp_linux = 11,\n\tboard_ahci_mcp67 = 11,\n\tboard_ahci_mcp73 = 11,\n\tboard_ahci_mcp79 = 12,\n};\n\nenum bp_state {\n\tBP_DONE = 0,\n\tBP_WAIT = 1,\n\tBP_EAGAIN = 2,\n\tBP_ECANCELED = 3,\n};\n\nenum bp_type_idx {\n\tTYPE_INST = 0,\n\tTYPE_DATA = 1,\n\tTYPE_MAX = 2,\n};\n\nenum bpf_access_src {\n\tACCESS_DIRECT = 1,\n\tACCESS_HELPER = 2,\n};\n\nenum bpf_access_type {\n\tBPF_READ = 1,\n\tBPF_WRITE = 2,\n};\n\nenum bpf_addr_space_cast {\n\tBPF_ADDR_SPACE_CAST = 1,\n};\n\nenum bpf_adj_room_mode {\n\tBPF_ADJ_ROOM_NET = 0,\n\tBPF_ADJ_ROOM_MAC = 1,\n};\n\nenum bpf_arg_type {\n\tARG_DONTCARE = 0,\n\tARG_CONST_MAP_PTR = 1,\n\tARG_PTR_TO_MAP_KEY = 2,\n\tARG_PTR_TO_MAP_VALUE = 3,\n\tARG_PTR_TO_MEM = 4,\n\tARG_PTR_TO_ARENA = 5,\n\tARG_CONST_SIZE = 6,\n\tARG_CONST_SIZE_OR_ZERO = 7,\n\tARG_PTR_TO_CTX = 8,\n\tARG_ANYTHING = 9,\n\tARG_PTR_TO_SPIN_LOCK = 10,\n\tARG_PTR_TO_SOCK_COMMON = 11,\n\tARG_PTR_TO_SOCKET = 12,\n\tARG_PTR_TO_BTF_ID = 13,\n\tARG_PTR_TO_RINGBUF_MEM = 14,\n\tARG_CONST_ALLOC_SIZE_OR_ZERO = 15,\n\tARG_PTR_TO_BTF_ID_SOCK_COMMON = 16,\n\tARG_PTR_TO_PERCPU_BTF_ID = 17,\n\tARG_PTR_TO_FUNC = 18,\n\tARG_PTR_TO_STACK = 19,\n\tARG_PTR_TO_CONST_STR = 20,\n\tARG_PTR_TO_TIMER = 21,\n\tARG_KPTR_XCHG_DEST = 22,\n\tARG_PTR_TO_DYNPTR = 23,\n\t__BPF_ARG_TYPE_MAX = 24,\n\tARG_PTR_TO_MAP_VALUE_OR_NULL = 259,\n\tARG_PTR_TO_MEM_OR_NULL = 260,\n\tARG_PTR_TO_CTX_OR_NULL = 264,\n\tARG_PTR_TO_SOCKET_OR_NULL = 268,\n\tARG_PTR_TO_STACK_OR_NULL = 275,\n\tARG_PTR_TO_BTF_ID_OR_NULL = 269,\n\tARG_PTR_TO_UNINIT_MEM = 67141636,\n\tARG_PTR_TO_FIXED_SIZE_MEM = 262148,\n\t__BPF_ARG_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_async_type {\n\tBPF_ASYNC_TYPE_TIMER = 0,\n\tBPF_ASYNC_TYPE_WQ = 1,\n};\n\nenum bpf_attach_type {\n\tBPF_CGROUP_INET_INGRESS = 0,\n\tBPF_CGROUP_INET_EGRESS = 1,\n\tBPF_CGROUP_INET_SOCK_CREATE = 2,\n\tBPF_CGROUP_SOCK_OPS = 3,\n\tBPF_SK_SKB_STREAM_PARSER = 4,\n\tBPF_SK_SKB_STREAM_VERDICT = 5,\n\tBPF_CGROUP_DEVICE = 6,\n\tBPF_SK_MSG_VERDICT = 7,\n\tBPF_CGROUP_INET4_BIND = 8,\n\tBPF_CGROUP_INET6_BIND = 9,\n\tBPF_CGROUP_INET4_CONNECT = 10,\n\tBPF_CGROUP_INET6_CONNECT = 11,\n\tBPF_CGROUP_INET4_POST_BIND = 12,\n\tBPF_CGROUP_INET6_POST_BIND = 13,\n\tBPF_CGROUP_UDP4_SENDMSG = 14,\n\tBPF_CGROUP_UDP6_SENDMSG = 15,\n\tBPF_LIRC_MODE2 = 16,\n\tBPF_FLOW_DISSECTOR = 17,\n\tBPF_CGROUP_SYSCTL = 18,\n\tBPF_CGROUP_UDP4_RECVMSG = 19,\n\tBPF_CGROUP_UDP6_RECVMSG = 20,\n\tBPF_CGROUP_GETSOCKOPT = 21,\n\tBPF_CGROUP_SETSOCKOPT = 22,\n\tBPF_TRACE_RAW_TP = 23,\n\tBPF_TRACE_FENTRY = 24,\n\tBPF_TRACE_FEXIT = 25,\n\tBPF_MODIFY_RETURN = 26,\n\tBPF_LSM_MAC = 27,\n\tBPF_TRACE_ITER = 28,\n\tBPF_CGROUP_INET4_GETPEERNAME = 29,\n\tBPF_CGROUP_INET6_GETPEERNAME = 30,\n\tBPF_CGROUP_INET4_GETSOCKNAME = 31,\n\tBPF_CGROUP_INET6_GETSOCKNAME = 32,\n\tBPF_XDP_DEVMAP = 33,\n\tBPF_CGROUP_INET_SOCK_RELEASE = 34,\n\tBPF_XDP_CPUMAP = 35,\n\tBPF_SK_LOOKUP = 36,\n\tBPF_XDP = 37,\n\tBPF_SK_SKB_VERDICT = 38,\n\tBPF_SK_REUSEPORT_SELECT = 39,\n\tBPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40,\n\tBPF_PERF_EVENT = 41,\n\tBPF_TRACE_KPROBE_MULTI = 42,\n\tBPF_LSM_CGROUP = 43,\n\tBPF_STRUCT_OPS = 44,\n\tBPF_NETFILTER = 45,\n\tBPF_TCX_INGRESS = 46,\n\tBPF_TCX_EGRESS = 47,\n\tBPF_TRACE_UPROBE_MULTI = 48,\n\tBPF_CGROUP_UNIX_CONNECT = 49,\n\tBPF_CGROUP_UNIX_SENDMSG = 50,\n\tBPF_CGROUP_UNIX_RECVMSG = 51,\n\tBPF_CGROUP_UNIX_GETPEERNAME = 52,\n\tBPF_CGROUP_UNIX_GETSOCKNAME = 53,\n\tBPF_NETKIT_PRIMARY = 54,\n\tBPF_NETKIT_PEER = 55,\n\tBPF_TRACE_KPROBE_SESSION = 56,\n\tBPF_TRACE_UPROBE_SESSION = 57,\n\t__MAX_BPF_ATTACH_TYPE = 58,\n};\n\nenum bpf_audit {\n\tBPF_AUDIT_LOAD = 0,\n\tBPF_AUDIT_UNLOAD = 1,\n\tBPF_AUDIT_MAX = 2,\n};\n\nenum bpf_cgroup_iter_order {\n\tBPF_CGROUP_ITER_ORDER_UNSPEC = 0,\n\tBPF_CGROUP_ITER_SELF_ONLY = 1,\n\tBPF_CGROUP_ITER_DESCENDANTS_PRE = 2,\n\tBPF_CGROUP_ITER_DESCENDANTS_POST = 3,\n\tBPF_CGROUP_ITER_ANCESTORS_UP = 4,\n};\n\nenum bpf_cgroup_storage_type {\n\tBPF_CGROUP_STORAGE_SHARED = 0,\n\tBPF_CGROUP_STORAGE_PERCPU = 1,\n\t__BPF_CGROUP_STORAGE_MAX = 2,\n};\n\nenum bpf_check_mtu_flags {\n\tBPF_MTU_CHK_SEGS = 1,\n};\n\nenum bpf_check_mtu_ret {\n\tBPF_MTU_CHK_RET_SUCCESS = 0,\n\tBPF_MTU_CHK_RET_FRAG_NEEDED = 1,\n\tBPF_MTU_CHK_RET_SEGS_TOOBIG = 2,\n};\n\nenum bpf_cmd {\n\tBPF_MAP_CREATE = 0,\n\tBPF_MAP_LOOKUP_ELEM = 1,\n\tBPF_MAP_UPDATE_ELEM = 2,\n\tBPF_MAP_DELETE_ELEM = 3,\n\tBPF_MAP_GET_NEXT_KEY = 4,\n\tBPF_PROG_LOAD = 5,\n\tBPF_OBJ_PIN = 6,\n\tBPF_OBJ_GET = 7,\n\tBPF_PROG_ATTACH = 8,\n\tBPF_PROG_DETACH = 9,\n\tBPF_PROG_TEST_RUN = 10,\n\tBPF_PROG_RUN = 10,\n\tBPF_PROG_GET_NEXT_ID = 11,\n\tBPF_MAP_GET_NEXT_ID = 12,\n\tBPF_PROG_GET_FD_BY_ID = 13,\n\tBPF_MAP_GET_FD_BY_ID = 14,\n\tBPF_OBJ_GET_INFO_BY_FD = 15,\n\tBPF_PROG_QUERY = 16,\n\tBPF_RAW_TRACEPOINT_OPEN = 17,\n\tBPF_BTF_LOAD = 18,\n\tBPF_BTF_GET_FD_BY_ID = 19,\n\tBPF_TASK_FD_QUERY = 20,\n\tBPF_MAP_LOOKUP_AND_DELETE_ELEM = 21,\n\tBPF_MAP_FREEZE = 22,\n\tBPF_BTF_GET_NEXT_ID = 23,\n\tBPF_MAP_LOOKUP_BATCH = 24,\n\tBPF_MAP_LOOKUP_AND_DELETE_BATCH = 25,\n\tBPF_MAP_UPDATE_BATCH = 26,\n\tBPF_MAP_DELETE_BATCH = 27,\n\tBPF_LINK_CREATE = 28,\n\tBPF_LINK_UPDATE = 29,\n\tBPF_LINK_GET_FD_BY_ID = 30,\n\tBPF_LINK_GET_NEXT_ID = 31,\n\tBPF_ENABLE_STATS = 32,\n\tBPF_ITER_CREATE = 33,\n\tBPF_LINK_DETACH = 34,\n\tBPF_PROG_BIND_MAP = 35,\n\tBPF_TOKEN_CREATE = 36,\n\t__MAX_BPF_CMD = 37,\n};\n\nenum bpf_cond_pseudo_jmp {\n\tBPF_MAY_GOTO = 0,\n};\n\nenum bpf_core_relo_kind {\n\tBPF_CORE_FIELD_BYTE_OFFSET = 0,\n\tBPF_CORE_FIELD_BYTE_SIZE = 1,\n\tBPF_CORE_FIELD_EXISTS = 2,\n\tBPF_CORE_FIELD_SIGNED = 3,\n\tBPF_CORE_FIELD_LSHIFT_U64 = 4,\n\tBPF_CORE_FIELD_RSHIFT_U64 = 5,\n\tBPF_CORE_TYPE_ID_LOCAL = 6,\n\tBPF_CORE_TYPE_ID_TARGET = 7,\n\tBPF_CORE_TYPE_EXISTS = 8,\n\tBPF_CORE_TYPE_SIZE = 9,\n\tBPF_CORE_ENUMVAL_EXISTS = 10,\n\tBPF_CORE_ENUMVAL_VALUE = 11,\n\tBPF_CORE_TYPE_MATCHES = 12,\n};\n\nenum bpf_dynptr_type {\n\tBPF_DYNPTR_TYPE_INVALID = 0,\n\tBPF_DYNPTR_TYPE_LOCAL = 1,\n\tBPF_DYNPTR_TYPE_RINGBUF = 2,\n\tBPF_DYNPTR_TYPE_SKB = 3,\n\tBPF_DYNPTR_TYPE_XDP = 4,\n};\n\nenum bpf_func_id {\n\tBPF_FUNC_unspec = 0,\n\tBPF_FUNC_map_lookup_elem = 1,\n\tBPF_FUNC_map_update_elem = 2,\n\tBPF_FUNC_map_delete_elem = 3,\n\tBPF_FUNC_probe_read = 4,\n\tBPF_FUNC_ktime_get_ns = 5,\n\tBPF_FUNC_trace_printk = 6,\n\tBPF_FUNC_get_prandom_u32 = 7,\n\tBPF_FUNC_get_smp_processor_id = 8,\n\tBPF_FUNC_skb_store_bytes = 9,\n\tBPF_FUNC_l3_csum_replace = 10,\n\tBPF_FUNC_l4_csum_replace = 11,\n\tBPF_FUNC_tail_call = 12,\n\tBPF_FUNC_clone_redirect = 13,\n\tBPF_FUNC_get_current_pid_tgid = 14,\n\tBPF_FUNC_get_current_uid_gid = 15,\n\tBPF_FUNC_get_current_comm = 16,\n\tBPF_FUNC_get_cgroup_classid = 17,\n\tBPF_FUNC_skb_vlan_push = 18,\n\tBPF_FUNC_skb_vlan_pop = 19,\n\tBPF_FUNC_skb_get_tunnel_key = 20,\n\tBPF_FUNC_skb_set_tunnel_key = 21,\n\tBPF_FUNC_perf_event_read = 22,\n\tBPF_FUNC_redirect = 23,\n\tBPF_FUNC_get_route_realm = 24,\n\tBPF_FUNC_perf_event_output = 25,\n\tBPF_FUNC_skb_load_bytes = 26,\n\tBPF_FUNC_get_stackid = 27,\n\tBPF_FUNC_csum_diff = 28,\n\tBPF_FUNC_skb_get_tunnel_opt = 29,\n\tBPF_FUNC_skb_set_tunnel_opt = 30,\n\tBPF_FUNC_skb_change_proto = 31,\n\tBPF_FUNC_skb_change_type = 32,\n\tBPF_FUNC_skb_under_cgroup = 33,\n\tBPF_FUNC_get_hash_recalc = 34,\n\tBPF_FUNC_get_current_task = 35,\n\tBPF_FUNC_probe_write_user = 36,\n\tBPF_FUNC_current_task_under_cgroup = 37,\n\tBPF_FUNC_skb_change_tail = 38,\n\tBPF_FUNC_skb_pull_data = 39,\n\tBPF_FUNC_csum_update = 40,\n\tBPF_FUNC_set_hash_invalid = 41,\n\tBPF_FUNC_get_numa_node_id = 42,\n\tBPF_FUNC_skb_change_head = 43,\n\tBPF_FUNC_xdp_adjust_head = 44,\n\tBPF_FUNC_probe_read_str = 45,\n\tBPF_FUNC_get_socket_cookie = 46,\n\tBPF_FUNC_get_socket_uid = 47,\n\tBPF_FUNC_set_hash = 48,\n\tBPF_FUNC_setsockopt = 49,\n\tBPF_FUNC_skb_adjust_room = 50,\n\tBPF_FUNC_redirect_map = 51,\n\tBPF_FUNC_sk_redirect_map = 52,\n\tBPF_FUNC_sock_map_update = 53,\n\tBPF_FUNC_xdp_adjust_meta = 54,\n\tBPF_FUNC_perf_event_read_value = 55,\n\tBPF_FUNC_perf_prog_read_value = 56,\n\tBPF_FUNC_getsockopt = 57,\n\tBPF_FUNC_override_return = 58,\n\tBPF_FUNC_sock_ops_cb_flags_set = 59,\n\tBPF_FUNC_msg_redirect_map = 60,\n\tBPF_FUNC_msg_apply_bytes = 61,\n\tBPF_FUNC_msg_cork_bytes = 62,\n\tBPF_FUNC_msg_pull_data = 63,\n\tBPF_FUNC_bind = 64,\n\tBPF_FUNC_xdp_adjust_tail = 65,\n\tBPF_FUNC_skb_get_xfrm_state = 66,\n\tBPF_FUNC_get_stack = 67,\n\tBPF_FUNC_skb_load_bytes_relative = 68,\n\tBPF_FUNC_fib_lookup = 69,\n\tBPF_FUNC_sock_hash_update = 70,\n\tBPF_FUNC_msg_redirect_hash = 71,\n\tBPF_FUNC_sk_redirect_hash = 72,\n\tBPF_FUNC_lwt_push_encap = 73,\n\tBPF_FUNC_lwt_seg6_store_bytes = 74,\n\tBPF_FUNC_lwt_seg6_adjust_srh = 75,\n\tBPF_FUNC_lwt_seg6_action = 76,\n\tBPF_FUNC_rc_repeat = 77,\n\tBPF_FUNC_rc_keydown = 78,\n\tBPF_FUNC_skb_cgroup_id = 79,\n\tBPF_FUNC_get_current_cgroup_id = 80,\n\tBPF_FUNC_get_local_storage = 81,\n\tBPF_FUNC_sk_select_reuseport = 82,\n\tBPF_FUNC_skb_ancestor_cgroup_id = 83,\n\tBPF_FUNC_sk_lookup_tcp = 84,\n\tBPF_FUNC_sk_lookup_udp = 85,\n\tBPF_FUNC_sk_release = 86,\n\tBPF_FUNC_map_push_elem = 87,\n\tBPF_FUNC_map_pop_elem = 88,\n\tBPF_FUNC_map_peek_elem = 89,\n\tBPF_FUNC_msg_push_data = 90,\n\tBPF_FUNC_msg_pop_data = 91,\n\tBPF_FUNC_rc_pointer_rel = 92,\n\tBPF_FUNC_spin_lock = 93,\n\tBPF_FUNC_spin_unlock = 94,\n\tBPF_FUNC_sk_fullsock = 95,\n\tBPF_FUNC_tcp_sock = 96,\n\tBPF_FUNC_skb_ecn_set_ce = 97,\n\tBPF_FUNC_get_listener_sock = 98,\n\tBPF_FUNC_skc_lookup_tcp = 99,\n\tBPF_FUNC_tcp_check_syncookie = 100,\n\tBPF_FUNC_sysctl_get_name = 101,\n\tBPF_FUNC_sysctl_get_current_value = 102,\n\tBPF_FUNC_sysctl_get_new_value = 103,\n\tBPF_FUNC_sysctl_set_new_value = 104,\n\tBPF_FUNC_strtol = 105,\n\tBPF_FUNC_strtoul = 106,\n\tBPF_FUNC_sk_storage_get = 107,\n\tBPF_FUNC_sk_storage_delete = 108,\n\tBPF_FUNC_send_signal = 109,\n\tBPF_FUNC_tcp_gen_syncookie = 110,\n\tBPF_FUNC_skb_output = 111,\n\tBPF_FUNC_probe_read_user = 112,\n\tBPF_FUNC_probe_read_kernel = 113,\n\tBPF_FUNC_probe_read_user_str = 114,\n\tBPF_FUNC_probe_read_kernel_str = 115,\n\tBPF_FUNC_tcp_send_ack = 116,\n\tBPF_FUNC_send_signal_thread = 117,\n\tBPF_FUNC_jiffies64 = 118,\n\tBPF_FUNC_read_branch_records = 119,\n\tBPF_FUNC_get_ns_current_pid_tgid = 120,\n\tBPF_FUNC_xdp_output = 121,\n\tBPF_FUNC_get_netns_cookie = 122,\n\tBPF_FUNC_get_current_ancestor_cgroup_id = 123,\n\tBPF_FUNC_sk_assign = 124,\n\tBPF_FUNC_ktime_get_boot_ns = 125,\n\tBPF_FUNC_seq_printf = 126,\n\tBPF_FUNC_seq_write = 127,\n\tBPF_FUNC_sk_cgroup_id = 128,\n\tBPF_FUNC_sk_ancestor_cgroup_id = 129,\n\tBPF_FUNC_ringbuf_output = 130,\n\tBPF_FUNC_ringbuf_reserve = 131,\n\tBPF_FUNC_ringbuf_submit = 132,\n\tBPF_FUNC_ringbuf_discard = 133,\n\tBPF_FUNC_ringbuf_query = 134,\n\tBPF_FUNC_csum_level = 135,\n\tBPF_FUNC_skc_to_tcp6_sock = 136,\n\tBPF_FUNC_skc_to_tcp_sock = 137,\n\tBPF_FUNC_skc_to_tcp_timewait_sock = 138,\n\tBPF_FUNC_skc_to_tcp_request_sock = 139,\n\tBPF_FUNC_skc_to_udp6_sock = 140,\n\tBPF_FUNC_get_task_stack = 141,\n\tBPF_FUNC_load_hdr_opt = 142,\n\tBPF_FUNC_store_hdr_opt = 143,\n\tBPF_FUNC_reserve_hdr_opt = 144,\n\tBPF_FUNC_inode_storage_get = 145,\n\tBPF_FUNC_inode_storage_delete = 146,\n\tBPF_FUNC_d_path = 147,\n\tBPF_FUNC_copy_from_user = 148,\n\tBPF_FUNC_snprintf_btf = 149,\n\tBPF_FUNC_seq_printf_btf = 150,\n\tBPF_FUNC_skb_cgroup_classid = 151,\n\tBPF_FUNC_redirect_neigh = 152,\n\tBPF_FUNC_per_cpu_ptr = 153,\n\tBPF_FUNC_this_cpu_ptr = 154,\n\tBPF_FUNC_redirect_peer = 155,\n\tBPF_FUNC_task_storage_get = 156,\n\tBPF_FUNC_task_storage_delete = 157,\n\tBPF_FUNC_get_current_task_btf = 158,\n\tBPF_FUNC_bprm_opts_set = 159,\n\tBPF_FUNC_ktime_get_coarse_ns = 160,\n\tBPF_FUNC_ima_inode_hash = 161,\n\tBPF_FUNC_sock_from_file = 162,\n\tBPF_FUNC_check_mtu = 163,\n\tBPF_FUNC_for_each_map_elem = 164,\n\tBPF_FUNC_snprintf = 165,\n\tBPF_FUNC_sys_bpf = 166,\n\tBPF_FUNC_btf_find_by_name_kind = 167,\n\tBPF_FUNC_sys_close = 168,\n\tBPF_FUNC_timer_init = 169,\n\tBPF_FUNC_timer_set_callback = 170,\n\tBPF_FUNC_timer_start = 171,\n\tBPF_FUNC_timer_cancel = 172,\n\tBPF_FUNC_get_func_ip = 173,\n\tBPF_FUNC_get_attach_cookie = 174,\n\tBPF_FUNC_task_pt_regs = 175,\n\tBPF_FUNC_get_branch_snapshot = 176,\n\tBPF_FUNC_trace_vprintk = 177,\n\tBPF_FUNC_skc_to_unix_sock = 178,\n\tBPF_FUNC_kallsyms_lookup_name = 179,\n\tBPF_FUNC_find_vma = 180,\n\tBPF_FUNC_loop = 181,\n\tBPF_FUNC_strncmp = 182,\n\tBPF_FUNC_get_func_arg = 183,\n\tBPF_FUNC_get_func_ret = 184,\n\tBPF_FUNC_get_func_arg_cnt = 185,\n\tBPF_FUNC_get_retval = 186,\n\tBPF_FUNC_set_retval = 187,\n\tBPF_FUNC_xdp_get_buff_len = 188,\n\tBPF_FUNC_xdp_load_bytes = 189,\n\tBPF_FUNC_xdp_store_bytes = 190,\n\tBPF_FUNC_copy_from_user_task = 191,\n\tBPF_FUNC_skb_set_tstamp = 192,\n\tBPF_FUNC_ima_file_hash = 193,\n\tBPF_FUNC_kptr_xchg = 194,\n\tBPF_FUNC_map_lookup_percpu_elem = 195,\n\tBPF_FUNC_skc_to_mptcp_sock = 196,\n\tBPF_FUNC_dynptr_from_mem = 197,\n\tBPF_FUNC_ringbuf_reserve_dynptr = 198,\n\tBPF_FUNC_ringbuf_submit_dynptr = 199,\n\tBPF_FUNC_ringbuf_discard_dynptr = 200,\n\tBPF_FUNC_dynptr_read = 201,\n\tBPF_FUNC_dynptr_write = 202,\n\tBPF_FUNC_dynptr_data = 203,\n\tBPF_FUNC_tcp_raw_gen_syncookie_ipv4 = 204,\n\tBPF_FUNC_tcp_raw_gen_syncookie_ipv6 = 205,\n\tBPF_FUNC_tcp_raw_check_syncookie_ipv4 = 206,\n\tBPF_FUNC_tcp_raw_check_syncookie_ipv6 = 207,\n\tBPF_FUNC_ktime_get_tai_ns = 208,\n\tBPF_FUNC_user_ringbuf_drain = 209,\n\tBPF_FUNC_cgrp_storage_get = 210,\n\tBPF_FUNC_cgrp_storage_delete = 211,\n\t__BPF_FUNC_MAX_ID = 212,\n};\n\nenum bpf_hdr_start_off {\n\tBPF_HDR_START_MAC = 0,\n\tBPF_HDR_START_NET = 1,\n};\n\nenum bpf_iter_feature {\n\tBPF_ITER_RESCHED = 1,\n};\n\nenum bpf_iter_state {\n\tBPF_ITER_STATE_INVALID = 0,\n\tBPF_ITER_STATE_ACTIVE = 1,\n\tBPF_ITER_STATE_DRAINED = 2,\n};\n\nenum bpf_iter_task_type {\n\tBPF_TASK_ITER_ALL = 0,\n\tBPF_TASK_ITER_TID = 1,\n\tBPF_TASK_ITER_TGID = 2,\n};\n\nenum bpf_jit_poke_reason {\n\tBPF_POKE_REASON_TAIL_CALL = 0,\n};\n\nenum bpf_kfunc_flags {\n\tBPF_F_PAD_ZEROS = 1,\n};\n\nenum bpf_link_type {\n\tBPF_LINK_TYPE_UNSPEC = 0,\n\tBPF_LINK_TYPE_RAW_TRACEPOINT = 1,\n\tBPF_LINK_TYPE_TRACING = 2,\n\tBPF_LINK_TYPE_CGROUP = 3,\n\tBPF_LINK_TYPE_ITER = 4,\n\tBPF_LINK_TYPE_NETNS = 5,\n\tBPF_LINK_TYPE_XDP = 6,\n\tBPF_LINK_TYPE_PERF_EVENT = 7,\n\tBPF_LINK_TYPE_KPROBE_MULTI = 8,\n\tBPF_LINK_TYPE_STRUCT_OPS = 9,\n\tBPF_LINK_TYPE_NETFILTER = 10,\n\tBPF_LINK_TYPE_TCX = 11,\n\tBPF_LINK_TYPE_UPROBE_MULTI = 12,\n\tBPF_LINK_TYPE_NETKIT = 13,\n\tBPF_LINK_TYPE_SOCKMAP = 14,\n\t__MAX_BPF_LINK_TYPE = 15,\n};\n\nenum bpf_lru_list_type {\n\tBPF_LRU_LIST_T_ACTIVE = 0,\n\tBPF_LRU_LIST_T_INACTIVE = 1,\n\tBPF_LRU_LIST_T_FREE = 2,\n\tBPF_LRU_LOCAL_LIST_T_FREE = 3,\n\tBPF_LRU_LOCAL_LIST_T_PENDING = 4,\n};\n\nenum bpf_map_type {\n\tBPF_MAP_TYPE_UNSPEC = 0,\n\tBPF_MAP_TYPE_HASH = 1,\n\tBPF_MAP_TYPE_ARRAY = 2,\n\tBPF_MAP_TYPE_PROG_ARRAY = 3,\n\tBPF_MAP_TYPE_PERF_EVENT_ARRAY = 4,\n\tBPF_MAP_TYPE_PERCPU_HASH = 5,\n\tBPF_MAP_TYPE_PERCPU_ARRAY = 6,\n\tBPF_MAP_TYPE_STACK_TRACE = 7,\n\tBPF_MAP_TYPE_CGROUP_ARRAY = 8,\n\tBPF_MAP_TYPE_LRU_HASH = 9,\n\tBPF_MAP_TYPE_LRU_PERCPU_HASH = 10,\n\tBPF_MAP_TYPE_LPM_TRIE = 11,\n\tBPF_MAP_TYPE_ARRAY_OF_MAPS = 12,\n\tBPF_MAP_TYPE_HASH_OF_MAPS = 13,\n\tBPF_MAP_TYPE_DEVMAP = 14,\n\tBPF_MAP_TYPE_SOCKMAP = 15,\n\tBPF_MAP_TYPE_CPUMAP = 16,\n\tBPF_MAP_TYPE_XSKMAP = 17,\n\tBPF_MAP_TYPE_SOCKHASH = 18,\n\tBPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,\n\tBPF_MAP_TYPE_CGROUP_STORAGE = 19,\n\tBPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,\n\tBPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED = 21,\n\tBPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,\n\tBPF_MAP_TYPE_QUEUE = 22,\n\tBPF_MAP_TYPE_STACK = 23,\n\tBPF_MAP_TYPE_SK_STORAGE = 24,\n\tBPF_MAP_TYPE_DEVMAP_HASH = 25,\n\tBPF_MAP_TYPE_STRUCT_OPS = 26,\n\tBPF_MAP_TYPE_RINGBUF = 27,\n\tBPF_MAP_TYPE_INODE_STORAGE = 28,\n\tBPF_MAP_TYPE_TASK_STORAGE = 29,\n\tBPF_MAP_TYPE_BLOOM_FILTER = 30,\n\tBPF_MAP_TYPE_USER_RINGBUF = 31,\n\tBPF_MAP_TYPE_CGRP_STORAGE = 32,\n\tBPF_MAP_TYPE_ARENA = 33,\n\t__MAX_BPF_MAP_TYPE = 34,\n};\n\nenum bpf_netdev_command {\n\tXDP_SETUP_PROG = 0,\n\tXDP_SETUP_PROG_HW = 1,\n\tBPF_OFFLOAD_MAP_ALLOC = 2,\n\tBPF_OFFLOAD_MAP_FREE = 3,\n\tXDP_SETUP_XSK_POOL = 4,\n};\n\nenum bpf_perf_event_type {\n\tBPF_PERF_EVENT_UNSPEC = 0,\n\tBPF_PERF_EVENT_UPROBE = 1,\n\tBPF_PERF_EVENT_URETPROBE = 2,\n\tBPF_PERF_EVENT_KPROBE = 3,\n\tBPF_PERF_EVENT_KRETPROBE = 4,\n\tBPF_PERF_EVENT_TRACEPOINT = 5,\n\tBPF_PERF_EVENT_EVENT = 6,\n};\n\nenum bpf_prog_type {\n\tBPF_PROG_TYPE_UNSPEC = 0,\n\tBPF_PROG_TYPE_SOCKET_FILTER = 1,\n\tBPF_PROG_TYPE_KPROBE = 2,\n\tBPF_PROG_TYPE_SCHED_CLS = 3,\n\tBPF_PROG_TYPE_SCHED_ACT = 4,\n\tBPF_PROG_TYPE_TRACEPOINT = 5,\n\tBPF_PROG_TYPE_XDP = 6,\n\tBPF_PROG_TYPE_PERF_EVENT = 7,\n\tBPF_PROG_TYPE_CGROUP_SKB = 8,\n\tBPF_PROG_TYPE_CGROUP_SOCK = 9,\n\tBPF_PROG_TYPE_LWT_IN = 10,\n\tBPF_PROG_TYPE_LWT_OUT = 11,\n\tBPF_PROG_TYPE_LWT_XMIT = 12,\n\tBPF_PROG_TYPE_SOCK_OPS = 13,\n\tBPF_PROG_TYPE_SK_SKB = 14,\n\tBPF_PROG_TYPE_CGROUP_DEVICE = 15,\n\tBPF_PROG_TYPE_SK_MSG = 16,\n\tBPF_PROG_TYPE_RAW_TRACEPOINT = 17,\n\tBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18,\n\tBPF_PROG_TYPE_LWT_SEG6LOCAL = 19,\n\tBPF_PROG_TYPE_LIRC_MODE2 = 20,\n\tBPF_PROG_TYPE_SK_REUSEPORT = 21,\n\tBPF_PROG_TYPE_FLOW_DISSECTOR = 22,\n\tBPF_PROG_TYPE_CGROUP_SYSCTL = 23,\n\tBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24,\n\tBPF_PROG_TYPE_CGROUP_SOCKOPT = 25,\n\tBPF_PROG_TYPE_TRACING = 26,\n\tBPF_PROG_TYPE_STRUCT_OPS = 27,\n\tBPF_PROG_TYPE_EXT = 28,\n\tBPF_PROG_TYPE_LSM = 29,\n\tBPF_PROG_TYPE_SK_LOOKUP = 30,\n\tBPF_PROG_TYPE_SYSCALL = 31,\n\tBPF_PROG_TYPE_NETFILTER = 32,\n\t__MAX_BPF_PROG_TYPE = 33,\n};\n\nenum bpf_reg_liveness {\n\tREG_LIVE_NONE = 0,\n\tREG_LIVE_READ32 = 1,\n\tREG_LIVE_READ64 = 2,\n\tREG_LIVE_READ = 3,\n\tREG_LIVE_WRITTEN = 4,\n\tREG_LIVE_DONE = 8,\n};\n\nenum bpf_reg_type {\n\tNOT_INIT = 0,\n\tSCALAR_VALUE = 1,\n\tPTR_TO_CTX = 2,\n\tCONST_PTR_TO_MAP = 3,\n\tPTR_TO_MAP_VALUE = 4,\n\tPTR_TO_MAP_KEY = 5,\n\tPTR_TO_STACK = 6,\n\tPTR_TO_PACKET_META = 7,\n\tPTR_TO_PACKET = 8,\n\tPTR_TO_PACKET_END = 9,\n\tPTR_TO_FLOW_KEYS = 10,\n\tPTR_TO_SOCKET = 11,\n\tPTR_TO_SOCK_COMMON = 12,\n\tPTR_TO_TCP_SOCK = 13,\n\tPTR_TO_TP_BUFFER = 14,\n\tPTR_TO_XDP_SOCK = 15,\n\tPTR_TO_BTF_ID = 16,\n\tPTR_TO_MEM = 17,\n\tPTR_TO_ARENA = 18,\n\tPTR_TO_BUF = 19,\n\tPTR_TO_FUNC = 20,\n\tCONST_PTR_TO_DYNPTR = 21,\n\t__BPF_REG_TYPE_MAX = 22,\n\tPTR_TO_MAP_VALUE_OR_NULL = 260,\n\tPTR_TO_SOCKET_OR_NULL = 267,\n\tPTR_TO_SOCK_COMMON_OR_NULL = 268,\n\tPTR_TO_TCP_SOCK_OR_NULL = 269,\n\tPTR_TO_BTF_ID_OR_NULL = 272,\n\t__BPF_REG_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_ret_code {\n\tBPF_OK = 0,\n\tBPF_DROP = 2,\n\tBPF_REDIRECT = 7,\n\tBPF_LWT_REROUTE = 128,\n\tBPF_FLOW_DISSECTOR_CONTINUE = 129,\n};\n\nenum bpf_return_type {\n\tRET_INTEGER = 0,\n\tRET_VOID = 1,\n\tRET_PTR_TO_MAP_VALUE = 2,\n\tRET_PTR_TO_SOCKET = 3,\n\tRET_PTR_TO_TCP_SOCK = 4,\n\tRET_PTR_TO_SOCK_COMMON = 5,\n\tRET_PTR_TO_MEM = 6,\n\tRET_PTR_TO_MEM_OR_BTF_ID = 7,\n\tRET_PTR_TO_BTF_ID = 8,\n\t__BPF_RET_TYPE_MAX = 9,\n\tRET_PTR_TO_MAP_VALUE_OR_NULL = 258,\n\tRET_PTR_TO_SOCKET_OR_NULL = 259,\n\tRET_PTR_TO_TCP_SOCK_OR_NULL = 260,\n\tRET_PTR_TO_SOCK_COMMON_OR_NULL = 261,\n\tRET_PTR_TO_RINGBUF_MEM_OR_NULL = 1286,\n\tRET_PTR_TO_DYNPTR_MEM_OR_NULL = 262,\n\tRET_PTR_TO_BTF_ID_OR_NULL = 264,\n\tRET_PTR_TO_BTF_ID_TRUSTED = 1048584,\n\t__BPF_RET_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_stack_build_id_status {\n\tBPF_STACK_BUILD_ID_EMPTY = 0,\n\tBPF_STACK_BUILD_ID_VALID = 1,\n\tBPF_STACK_BUILD_ID_IP = 2,\n};\n\nenum bpf_stack_slot_type {\n\tSTACK_INVALID = 0,\n\tSTACK_SPILL = 1,\n\tSTACK_MISC = 2,\n\tSTACK_ZERO = 3,\n\tSTACK_DYNPTR = 4,\n\tSTACK_ITER = 5,\n\tSTACK_IRQ_FLAG = 6,\n};\n\nenum bpf_stats_type {\n\tBPF_STATS_RUN_TIME = 0,\n};\n\nenum bpf_struct_ops_state {\n\tBPF_STRUCT_OPS_STATE_INIT = 0,\n\tBPF_STRUCT_OPS_STATE_INUSE = 1,\n\tBPF_STRUCT_OPS_STATE_TOBEFREE = 2,\n\tBPF_STRUCT_OPS_STATE_READY = 3,\n};\n\nenum bpf_struct_walk_result {\n\tWALK_SCALAR = 0,\n\tWALK_PTR = 1,\n\tWALK_STRUCT = 2,\n};\n\nenum bpf_task_fd_type {\n\tBPF_FD_TYPE_RAW_TRACEPOINT = 0,\n\tBPF_FD_TYPE_TRACEPOINT = 1,\n\tBPF_FD_TYPE_KPROBE = 2,\n\tBPF_FD_TYPE_KRETPROBE = 3,\n\tBPF_FD_TYPE_UPROBE = 4,\n\tBPF_FD_TYPE_URETPROBE = 5,\n};\n\nenum bpf_task_vma_iter_find_op {\n\ttask_vma_iter_first_vma = 0,\n\ttask_vma_iter_next_vma = 1,\n\ttask_vma_iter_find_vma = 2,\n};\n\nenum bpf_text_poke_type {\n\tBPF_MOD_CALL = 0,\n\tBPF_MOD_JUMP = 1,\n};\n\nenum bpf_tramp_prog_type {\n\tBPF_TRAMP_FENTRY = 0,\n\tBPF_TRAMP_FEXIT = 1,\n\tBPF_TRAMP_MODIFY_RETURN = 2,\n\tBPF_TRAMP_MAX = 3,\n\tBPF_TRAMP_REPLACE = 4,\n};\n\nenum bpf_type {\n\tBPF_TYPE_UNSPEC = 0,\n\tBPF_TYPE_PROG = 1,\n\tBPF_TYPE_MAP = 2,\n\tBPF_TYPE_LINK = 3,\n};\n\nenum bpf_type_flag {\n\tPTR_MAYBE_NULL = 256,\n\tMEM_RDONLY = 512,\n\tMEM_RINGBUF = 1024,\n\tMEM_USER = 2048,\n\tMEM_PERCPU = 4096,\n\tOBJ_RELEASE = 8192,\n\tPTR_UNTRUSTED = 16384,\n\tMEM_UNINIT = 32768,\n\tDYNPTR_TYPE_LOCAL = 65536,\n\tDYNPTR_TYPE_RINGBUF = 131072,\n\tMEM_FIXED_SIZE = 262144,\n\tMEM_ALLOC = 524288,\n\tPTR_TRUSTED = 1048576,\n\tMEM_RCU = 2097152,\n\tNON_OWN_REF = 4194304,\n\tDYNPTR_TYPE_SKB = 8388608,\n\tDYNPTR_TYPE_XDP = 16777216,\n\tMEM_ALIGNED = 33554432,\n\tMEM_WRITE = 67108864,\n\t__BPF_TYPE_FLAG_MAX = 67108865,\n\t__BPF_TYPE_LAST_FLAG = 67108864,\n};\n\nenum bpf_xdp_mode {\n\tXDP_MODE_SKB = 0,\n\tXDP_MODE_DRV = 1,\n\tXDP_MODE_HW = 2,\n\t__MAX_XDP_MODE = 3,\n};\n\nenum bq27xxx_chip {\n\tBQ27000 = 1,\n\tBQ27010 = 2,\n\tBQ2750X = 3,\n\tBQ2751X = 4,\n\tBQ2752X = 5,\n\tBQ27500 = 6,\n\tBQ27510G1 = 7,\n\tBQ27510G2 = 8,\n\tBQ27510G3 = 9,\n\tBQ27520G1 = 10,\n\tBQ27520G2 = 11,\n\tBQ27520G3 = 12,\n\tBQ27520G4 = 13,\n\tBQ27521 = 14,\n\tBQ27530 = 15,\n\tBQ27531 = 16,\n\tBQ27541 = 17,\n\tBQ27542 = 18,\n\tBQ27546 = 19,\n\tBQ27742 = 20,\n\tBQ27545 = 21,\n\tBQ27411 = 22,\n\tBQ27421 = 23,\n\tBQ27425 = 24,\n\tBQ27426 = 25,\n\tBQ27441 = 26,\n\tBQ27621 = 27,\n\tBQ27Z561 = 28,\n\tBQ28Z610 = 29,\n\tBQ34Z100 = 30,\n\tBQ78Z100 = 31,\n};\n\nenum bq27xxx_dm_reg_id {\n\tBQ27XXX_DM_DESIGN_CAPACITY = 0,\n\tBQ27XXX_DM_DESIGN_ENERGY = 1,\n\tBQ27XXX_DM_TERMINATE_VOLTAGE = 2,\n};\n\nenum bq27xxx_reg_index {\n\tBQ27XXX_REG_CTRL = 0,\n\tBQ27XXX_REG_TEMP = 1,\n\tBQ27XXX_REG_INT_TEMP = 2,\n\tBQ27XXX_REG_VOLT = 3,\n\tBQ27XXX_REG_AI = 4,\n\tBQ27XXX_REG_FLAGS = 5,\n\tBQ27XXX_REG_TTE = 6,\n\tBQ27XXX_REG_TTF = 7,\n\tBQ27XXX_REG_TTES = 8,\n\tBQ27XXX_REG_TTECP = 9,\n\tBQ27XXX_REG_NAC = 10,\n\tBQ27XXX_REG_RC = 11,\n\tBQ27XXX_REG_FCC = 12,\n\tBQ27XXX_REG_CYCT = 13,\n\tBQ27XXX_REG_AE = 14,\n\tBQ27XXX_REG_SOC = 15,\n\tBQ27XXX_REG_DCAP = 16,\n\tBQ27XXX_REG_AP = 17,\n\tBQ27XXX_DM_CTRL = 18,\n\tBQ27XXX_DM_CLASS = 19,\n\tBQ27XXX_DM_BLOCK = 20,\n\tBQ27XXX_DM_DATA = 21,\n\tBQ27XXX_DM_CKSUM = 22,\n\tBQ27XXX_REG_SEDVF = 23,\n\tBQ27XXX_REG_MAX = 24,\n};\n\nenum brcm_family_type {\n\tBRCM_FAMILY_3390A0 = 0,\n\tBRCM_FAMILY_4908 = 1,\n\tBRCM_FAMILY_7250B0 = 2,\n\tBRCM_FAMILY_7271A0 = 3,\n\tBRCM_FAMILY_7364A0 = 4,\n\tBRCM_FAMILY_7366C0 = 5,\n\tBRCM_FAMILY_74371A0 = 6,\n\tBRCM_FAMILY_7439B0 = 7,\n\tBRCM_FAMILY_7445D0 = 8,\n\tBRCM_FAMILY_7260A0 = 9,\n\tBRCM_FAMILY_7278A0 = 10,\n\tBRCM_FAMILY_COUNT = 11,\n};\n\nenum brcm_sata_phy_rxaeq_mode {\n\tRXAEQ_MODE_OFF = 0,\n\tRXAEQ_MODE_AUTO = 1,\n\tRXAEQ_MODE_MANUAL = 2,\n};\n\nenum brcm_sata_phy_version {\n\tBRCM_SATA_PHY_STB_16NM = 0,\n\tBRCM_SATA_PHY_STB_28NM = 1,\n\tBRCM_SATA_PHY_STB_40NM = 2,\n\tBRCM_SATA_PHY_IPROC_NS2 = 3,\n\tBRCM_SATA_PHY_IPROC_NSP = 4,\n\tBRCM_SATA_PHY_IPROC_SR = 5,\n\tBRCM_SATA_PHY_DSL_28NM = 6,\n};\n\nenum brcm_usb_phy_id {\n\tBRCM_USB_PHY_2_0 = 0,\n\tBRCM_USB_PHY_3_0 = 1,\n\tBRCM_USB_PHY_ID_MAX = 2,\n};\n\nenum brcmstb_memc_hwtype {\n\tBRCMSTB_MEMC_V21 = 0,\n\tBRCMSTB_MEMC_V20 = 1,\n\tBRCMSTB_MEMC_V1X = 2,\n};\n\nenum brcmusb_reg_sel {\n\tBRCM_REGS_CTRL = 0,\n\tBRCM_REGS_XHCI_EC = 1,\n\tBRCM_REGS_XHCI_GBL = 2,\n\tBRCM_REGS_USB_PHY = 3,\n\tBRCM_REGS_USB_MDIO = 4,\n\tBRCM_REGS_BDC_EC = 5,\n\tBRCM_REGS_MAX = 6,\n};\n\nenum bsc_xfer_cmd {\n\tCMD_WR = 0,\n\tCMD_RD = 1,\n\tCMD_WR_NOACK = 2,\n\tCMD_RD_NOACK = 3,\n};\n\nenum btf_arg_tag {\n\tARG_TAG_CTX = 1,\n\tARG_TAG_NONNULL = 2,\n\tARG_TAG_TRUSTED = 4,\n\tARG_TAG_NULLABLE = 8,\n\tARG_TAG_ARENA = 16,\n};\n\nenum btf_field_iter_kind {\n\tBTF_FIELD_ITER_IDS = 0,\n\tBTF_FIELD_ITER_STRS = 1,\n};\n\nenum btf_field_type {\n\tBPF_SPIN_LOCK = 1,\n\tBPF_TIMER = 2,\n\tBPF_KPTR_UNREF = 4,\n\tBPF_KPTR_REF = 8,\n\tBPF_KPTR_PERCPU = 16,\n\tBPF_KPTR = 28,\n\tBPF_LIST_HEAD = 32,\n\tBPF_LIST_NODE = 64,\n\tBPF_RB_ROOT = 128,\n\tBPF_RB_NODE = 256,\n\tBPF_GRAPH_NODE = 320,\n\tBPF_GRAPH_ROOT = 160,\n\tBPF_REFCOUNT = 512,\n\tBPF_WORKQUEUE = 1024,\n\tBPF_UPTR = 2048,\n};\n\nenum btf_func_linkage {\n\tBTF_FUNC_STATIC = 0,\n\tBTF_FUNC_GLOBAL = 1,\n\tBTF_FUNC_EXTERN = 2,\n};\n\nenum btf_kfunc_hook {\n\tBTF_KFUNC_HOOK_COMMON = 0,\n\tBTF_KFUNC_HOOK_XDP = 1,\n\tBTF_KFUNC_HOOK_TC = 2,\n\tBTF_KFUNC_HOOK_STRUCT_OPS = 3,\n\tBTF_KFUNC_HOOK_TRACING = 4,\n\tBTF_KFUNC_HOOK_SYSCALL = 5,\n\tBTF_KFUNC_HOOK_FMODRET = 6,\n\tBTF_KFUNC_HOOK_CGROUP = 7,\n\tBTF_KFUNC_HOOK_SCHED_ACT = 8,\n\tBTF_KFUNC_HOOK_SK_SKB = 9,\n\tBTF_KFUNC_HOOK_SOCKET_FILTER = 10,\n\tBTF_KFUNC_HOOK_LWT = 11,\n\tBTF_KFUNC_HOOK_NETFILTER = 12,\n\tBTF_KFUNC_HOOK_KPROBE = 13,\n\tBTF_KFUNC_HOOK_MAX = 14,\n};\n\nenum buf_type {\n\tTYPE_NETSEC_SKB = 0,\n\tTYPE_NETSEC_XDP_TX = 1,\n\tTYPE_NETSEC_XDP_NDO = 2,\n};\n\nenum buffer_map_state {\n\tUN_MAPPED = 0,\n\tPRE_MAPPED = 1,\n\tMUSB_MAPPED = 2,\n};\n\nenum bug_trap_type {\n\tBUG_TRAP_TYPE_NONE = 0,\n\tBUG_TRAP_TYPE_WARN = 1,\n\tBUG_TRAP_TYPE_BUG = 2,\n};\n\nenum bus_notifier_event {\n\tBUS_NOTIFY_ADD_DEVICE = 0,\n\tBUS_NOTIFY_DEL_DEVICE = 1,\n\tBUS_NOTIFY_REMOVED_DEVICE = 2,\n\tBUS_NOTIFY_BIND_DRIVER = 3,\n\tBUS_NOTIFY_BOUND_DRIVER = 4,\n\tBUS_NOTIFY_UNBIND_DRIVER = 5,\n\tBUS_NOTIFY_UNBOUND_DRIVER = 6,\n\tBUS_NOTIFY_DRIVER_NOT_BOUND = 7,\n};\n\nenum bus_speeds {\n\tSPD_375K = 0,\n\tSPD_390K = 1,\n\tSPD_187K = 2,\n\tSPD_200K = 3,\n\tSPD_93K = 4,\n\tSPD_97K = 5,\n\tSPD_46K = 6,\n\tSPD_50K = 7,\n};\n\nenum cache_indexing {\n\tNODE_CACHE_DIRECT_MAP = 0,\n\tNODE_CACHE_INDEXED = 1,\n\tNODE_CACHE_OTHER = 2,\n};\n\nenum cache_type {\n\tCACHE_TYPE_NOCACHE = 0,\n\tCACHE_TYPE_INST = 1,\n\tCACHE_TYPE_DATA = 2,\n\tCACHE_TYPE_SEPARATE = 3,\n\tCACHE_TYPE_UNIFIED = 4,\n};\n\nenum cache_write_policy {\n\tNODE_CACHE_WRITE_BACK = 0,\n\tNODE_CACHE_WRITE_THROUGH = 1,\n\tNODE_CACHE_WRITE_OTHER = 2,\n};\n\nenum cavium_mdiobus_mode {\n\tUNINIT = 0,\n\tC22 = 1,\n\tC45 = 2,\n};\n\nenum cc_attr {\n\tCC_ATTR_MEM_ENCRYPT = 0,\n\tCC_ATTR_HOST_MEM_ENCRYPT = 1,\n\tCC_ATTR_GUEST_MEM_ENCRYPT = 2,\n\tCC_ATTR_GUEST_STATE_ENCRYPT = 3,\n\tCC_ATTR_GUEST_UNROLL_STRING_IO = 4,\n\tCC_ATTR_GUEST_SEV_SNP = 5,\n\tCC_ATTR_GUEST_SNP_SECURE_TSC = 6,\n\tCC_ATTR_HOST_SEV_SNP = 7,\n};\n\nenum cd_types {\n\tESDHC_CD_NONE = 0,\n\tESDHC_CD_CONTROLLER = 1,\n\tESDHC_CD_GPIO = 2,\n\tESDHC_CD_PERMANENT = 3,\n};\n\nenum cfi_quirks {\n\tCFI_QUIRK_DQ_TRUE_DATA = 1,\n};\n\nenum cgroup1_param {\n\tOpt_all = 0,\n\tOpt_clone_children = 1,\n\tOpt_cpuset_v2_mode = 2,\n\tOpt_name = 3,\n\tOpt_none = 4,\n\tOpt_noprefix = 5,\n\tOpt_release_agent = 6,\n\tOpt_xattr = 7,\n\tOpt_favordynmods = 8,\n\tOpt_nofavordynmods = 9,\n};\n\nenum cgroup2_param {\n\tOpt_nsdelegate = 0,\n\tOpt_favordynmods___2 = 1,\n\tOpt_memory_localevents = 2,\n\tOpt_memory_recursiveprot = 3,\n\tOpt_memory_hugetlb_accounting = 4,\n\tOpt_pids_localevents = 5,\n\tnr__cgroup2_params = 6,\n};\n\nenum cgroup_bpf_attach_type {\n\tCGROUP_BPF_ATTACH_TYPE_INVALID = -1,\n\tCGROUP_INET_INGRESS = 0,\n\tCGROUP_INET_EGRESS = 1,\n\tCGROUP_INET_SOCK_CREATE = 2,\n\tCGROUP_SOCK_OPS = 3,\n\tCGROUP_DEVICE = 4,\n\tCGROUP_INET4_BIND = 5,\n\tCGROUP_INET6_BIND = 6,\n\tCGROUP_INET4_CONNECT = 7,\n\tCGROUP_INET6_CONNECT = 8,\n\tCGROUP_UNIX_CONNECT = 9,\n\tCGROUP_INET4_POST_BIND = 10,\n\tCGROUP_INET6_POST_BIND = 11,\n\tCGROUP_UDP4_SENDMSG = 12,\n\tCGROUP_UDP6_SENDMSG = 13,\n\tCGROUP_UNIX_SENDMSG = 14,\n\tCGROUP_SYSCTL = 15,\n\tCGROUP_UDP4_RECVMSG = 16,\n\tCGROUP_UDP6_RECVMSG = 17,\n\tCGROUP_UNIX_RECVMSG = 18,\n\tCGROUP_GETSOCKOPT = 19,\n\tCGROUP_SETSOCKOPT = 20,\n\tCGROUP_INET4_GETPEERNAME = 21,\n\tCGROUP_INET6_GETPEERNAME = 22,\n\tCGROUP_UNIX_GETPEERNAME = 23,\n\tCGROUP_INET4_GETSOCKNAME = 24,\n\tCGROUP_INET6_GETSOCKNAME = 25,\n\tCGROUP_UNIX_GETSOCKNAME = 26,\n\tCGROUP_INET_SOCK_RELEASE = 27,\n\tCGROUP_LSM_START = 28,\n\tCGROUP_LSM_END = 27,\n\tMAX_CGROUP_BPF_ATTACH_TYPE = 28,\n};\n\nenum cgroup_filetype {\n\tCGROUP_FILE_PROCS = 0,\n\tCGROUP_FILE_TASKS = 1,\n};\n\nenum cgroup_opt_features {\n\tOPT_FEATURE_COUNT = 0,\n};\n\nenum cgroup_subsys_id {\n\tcpuset_cgrp_id = 0,\n\tcpu_cgrp_id = 1,\n\tcpuacct_cgrp_id = 2,\n\tio_cgrp_id = 3,\n\tmemory_cgrp_id = 4,\n\tdevices_cgrp_id = 5,\n\tfreezer_cgrp_id = 6,\n\tperf_event_cgrp_id = 7,\n\thugetlb_cgrp_id = 8,\n\tpids_cgrp_id = 9,\n\tCGROUP_SUBSYS_COUNT = 10,\n};\n\nenum cgt_group_id {\n\t__RESERVED__ = 0,\n\tCGT_HCR_TID1 = 1,\n\tCGT_HCR_TID2 = 2,\n\tCGT_HCR_TID3 = 3,\n\tCGT_HCR_IMO = 4,\n\tCGT_HCR_FMO = 5,\n\tCGT_HCR_TIDCP = 6,\n\tCGT_HCR_TACR = 7,\n\tCGT_HCR_TSW = 8,\n\tCGT_HCR_TPC = 9,\n\tCGT_HCR_TPU = 10,\n\tCGT_HCR_TTLB = 11,\n\tCGT_HCR_TVM = 12,\n\tCGT_HCR_TDZ = 13,\n\tCGT_HCR_TRVM = 14,\n\tCGT_HCR_TLOR = 15,\n\tCGT_HCR_TERR = 16,\n\tCGT_HCR_APK = 17,\n\tCGT_HCR_NV = 18,\n\tCGT_HCR_NV_nNV2 = 19,\n\tCGT_HCR_NV1_nNV2 = 20,\n\tCGT_HCR_AT = 21,\n\tCGT_HCR_nFIEN = 22,\n\tCGT_HCR_TID4 = 23,\n\tCGT_HCR_TICAB = 24,\n\tCGT_HCR_TOCU = 25,\n\tCGT_HCR_ENSCXT = 26,\n\tCGT_HCR_TTLBIS = 27,\n\tCGT_HCR_TTLBOS = 28,\n\tCGT_MDCR_TPMCR = 29,\n\tCGT_MDCR_TPM = 30,\n\tCGT_MDCR_TDE = 31,\n\tCGT_MDCR_TDA = 32,\n\tCGT_MDCR_TDOSA = 33,\n\tCGT_MDCR_TDRA = 34,\n\tCGT_MDCR_E2PB = 35,\n\tCGT_MDCR_TPMS = 36,\n\tCGT_MDCR_TTRF = 37,\n\tCGT_MDCR_E2TB = 38,\n\tCGT_MDCR_TDCC = 39,\n\tCGT_CPTR_TAM = 40,\n\tCGT_CPTR_TCPAC = 41,\n\tCGT_HCRX_EnFPM = 42,\n\tCGT_HCRX_TCR2En = 43,\n\tCGT_CNTHCTL_EL1TVT = 44,\n\tCGT_CNTHCTL_EL1TVCT = 45,\n\tCGT_ICH_HCR_TC = 46,\n\tCGT_ICH_HCR_TALL0 = 47,\n\tCGT_ICH_HCR_TALL1 = 48,\n\tCGT_ICH_HCR_TDIR = 49,\n\t__MULTIPLE_CONTROL_BITS__ = 50,\n\tCGT_HCR_IMO_FMO_ICH_HCR_TC = 50,\n\tCGT_HCR_TID2_TID4 = 51,\n\tCGT_HCR_TTLB_TTLBIS = 52,\n\tCGT_HCR_TTLB_TTLBOS = 53,\n\tCGT_HCR_TVM_TRVM = 54,\n\tCGT_HCR_TVM_TRVM_HCRX_TCR2En = 55,\n\tCGT_HCR_TPU_TICAB = 56,\n\tCGT_HCR_TPU_TOCU = 57,\n\tCGT_HCR_NV1_nNV2_ENSCXT = 58,\n\tCGT_MDCR_TPM_TPMCR = 59,\n\tCGT_MDCR_TPM_HPMN = 60,\n\tCGT_MDCR_TDE_TDA = 61,\n\tCGT_MDCR_TDE_TDOSA = 62,\n\tCGT_MDCR_TDE_TDRA = 63,\n\tCGT_MDCR_TDCC_TDE_TDA = 64,\n\tCGT_ICH_HCR_TC_TDIR = 65,\n\t__COMPLEX_CONDITIONS__ = 66,\n\tCGT_CNTHCTL_EL1PCTEN = 66,\n\tCGT_CNTHCTL_EL1PTEN = 67,\n\tCGT_CNTHCTL_EL1NVPCT = 68,\n\tCGT_CNTHCTL_EL1NVVCT = 69,\n\tCGT_CPTR_TTA = 70,\n\tCGT_MDCR_HPMN = 71,\n\t__NR_CGT_GROUP_IDS__ = 72,\n};\n\nenum ch_command {\n\tHIDMA_CH_DISABLE = 0,\n\tHIDMA_CH_ENABLE = 1,\n\tHIDMA_CH_SUSPEND = 2,\n\tHIDMA_CH_RESET = 9,\n};\n\nenum ch_state {\n\tHIDMA_CH_DISABLED = 0,\n\tHIDMA_CH_ENABLED = 1,\n\tHIDMA_CH_RUNNING = 2,\n\tHIDMA_CH_SUSPENDED = 3,\n\tHIDMA_CH_STOPPED = 4,\n};\n\nenum chacha_constants {\n\tCHACHA_CONSTANT_EXPA = 1634760805,\n\tCHACHA_CONSTANT_ND_3 = 857760878,\n\tCHACHA_CONSTANT_2_BY = 2036477234,\n\tCHACHA_CONSTANT_TE_K = 1797285236,\n};\n\nenum chip_id {\n\tMT6323_CHIP_ID = 35,\n\tMT6328_CHIP_ID = 48,\n\tMT6331_CHIP_ID = 32,\n\tMT6332_CHIP_ID = 32,\n\tMT6357_CHIP_ID = 87,\n\tMT6358_CHIP_ID = 88,\n\tMT6359_CHIP_ID = 89,\n\tMT6366_CHIP_ID = 102,\n\tMT6391_CHIP_ID = 145,\n\tMT6397_CHIP_ID = 151,\n};\n\nenum chips {\n\tPFUZE100 = 0,\n\tPFUZE200 = 1,\n\tPFUZE3000 = 3,\n\tPFUZE3001 = 49,\n};\n\nenum ci_hw_regs {\n\tCAP_CAPLENGTH = 0,\n\tCAP_HCCPARAMS = 1,\n\tCAP_DCCPARAMS = 2,\n\tCAP_TESTMODE = 3,\n\tCAP_LAST = 3,\n\tOP_USBCMD = 4,\n\tOP_USBSTS = 5,\n\tOP_USBINTR = 6,\n\tOP_FRINDEX = 7,\n\tOP_DEVICEADDR = 8,\n\tOP_ENDPTLISTADDR = 9,\n\tOP_TTCTRL = 10,\n\tOP_BURSTSIZE = 11,\n\tOP_ULPI_VIEWPORT = 12,\n\tOP_PORTSC = 13,\n\tOP_DEVLC = 14,\n\tOP_OTGSC = 15,\n\tOP_USBMODE = 16,\n\tOP_ENDPTSETUPSTAT = 17,\n\tOP_ENDPTPRIME = 18,\n\tOP_ENDPTFLUSH = 19,\n\tOP_ENDPTSTAT = 20,\n\tOP_ENDPTCOMPLETE = 21,\n\tOP_ENDPTCTRL = 22,\n\tOP_LAST = 38,\n};\n\nenum ci_revision {\n\tCI_REVISION_1X = 10,\n\tCI_REVISION_20 = 20,\n\tCI_REVISION_21 = 21,\n\tCI_REVISION_22 = 22,\n\tCI_REVISION_23 = 23,\n\tCI_REVISION_24 = 24,\n\tCI_REVISION_25 = 25,\n\tCI_REVISION_25_PLUS = 26,\n\tCI_REVISION_UNKNOWN = 99,\n};\n\nenum ci_role {\n\tCI_ROLE_HOST = 0,\n\tCI_ROLE_GADGET = 1,\n\tCI_ROLE_END = 2,\n};\n\nenum clear_refs_types {\n\tCLEAR_REFS_ALL = 1,\n\tCLEAR_REFS_ANON = 2,\n\tCLEAR_REFS_MAPPED = 3,\n\tCLEAR_REFS_SOFT_DIRTY = 4,\n\tCLEAR_REFS_MM_HIWATER_RSS = 5,\n\tCLEAR_REFS_LAST = 6,\n};\n\nenum clk_gating_state {\n\tCLKS_OFF = 0,\n\tCLKS_ON = 1,\n\tREQ_CLKS_OFF = 2,\n\tREQ_CLKS_ON = 3,\n};\n\nenum clk_id {\n\ttegra_clk_actmon = 0,\n\ttegra_clk_adx = 1,\n\ttegra_clk_adx1 = 2,\n\ttegra_clk_afi = 3,\n\ttegra_clk_amx = 4,\n\ttegra_clk_amx1 = 5,\n\ttegra_clk_apb2ape = 6,\n\ttegra_clk_ahbdma = 7,\n\ttegra_clk_apbdma = 8,\n\ttegra_clk_apbif = 9,\n\ttegra_clk_ape = 10,\n\ttegra_clk_audio0 = 11,\n\ttegra_clk_audio0_2x = 12,\n\ttegra_clk_audio0_mux = 13,\n\ttegra_clk_audio1 = 14,\n\ttegra_clk_audio1_2x = 15,\n\ttegra_clk_audio1_mux = 16,\n\ttegra_clk_audio2 = 17,\n\ttegra_clk_audio2_2x = 18,\n\ttegra_clk_audio2_mux = 19,\n\ttegra_clk_audio3 = 20,\n\ttegra_clk_audio3_2x = 21,\n\ttegra_clk_audio3_mux = 22,\n\ttegra_clk_audio4 = 23,\n\ttegra_clk_audio4_2x = 24,\n\ttegra_clk_audio4_mux = 25,\n\ttegra_clk_bsea = 26,\n\ttegra_clk_bsev = 27,\n\ttegra_clk_cclk_g = 28,\n\ttegra_clk_cclk_lp = 29,\n\ttegra_clk_cilab = 30,\n\ttegra_clk_cilcd = 31,\n\ttegra_clk_cile = 32,\n\ttegra_clk_clk_32k = 33,\n\ttegra_clk_clk72Mhz = 34,\n\ttegra_clk_clk72Mhz_8 = 35,\n\ttegra_clk_clk_m = 36,\n\ttegra_clk_osc = 37,\n\ttegra_clk_osc_div2 = 38,\n\ttegra_clk_osc_div4 = 39,\n\ttegra_clk_cml0 = 40,\n\ttegra_clk_cml1 = 41,\n\ttegra_clk_csi = 42,\n\ttegra_clk_csite = 43,\n\ttegra_clk_csite_8 = 44,\n\ttegra_clk_csus = 45,\n\ttegra_clk_cve = 46,\n\ttegra_clk_dam0 = 47,\n\ttegra_clk_dam1 = 48,\n\ttegra_clk_dam2 = 49,\n\ttegra_clk_d_audio = 50,\n\ttegra_clk_dbgapb = 51,\n\ttegra_clk_dds = 52,\n\ttegra_clk_dfll_ref = 53,\n\ttegra_clk_dfll_soc = 54,\n\ttegra_clk_disp1 = 55,\n\ttegra_clk_disp1_8 = 56,\n\ttegra_clk_disp2 = 57,\n\ttegra_clk_disp2_8 = 58,\n\ttegra_clk_dp2 = 59,\n\ttegra_clk_dpaux = 60,\n\ttegra_clk_dpaux1 = 61,\n\ttegra_clk_dsialp = 62,\n\ttegra_clk_dsia_mux = 63,\n\ttegra_clk_dsiblp = 64,\n\ttegra_clk_dsib_mux = 65,\n\ttegra_clk_dtv = 66,\n\ttegra_clk_emc = 67,\n\ttegra_clk_entropy = 68,\n\ttegra_clk_entropy_8 = 69,\n\ttegra_clk_epp = 70,\n\ttegra_clk_epp_8 = 71,\n\ttegra_clk_extern1 = 72,\n\ttegra_clk_extern2 = 73,\n\ttegra_clk_extern3 = 74,\n\ttegra_clk_fuse = 75,\n\ttegra_clk_fuse_burn = 76,\n\ttegra_clk_gpu = 77,\n\ttegra_clk_gr2d = 78,\n\ttegra_clk_gr2d_8 = 79,\n\ttegra_clk_gr3d = 80,\n\ttegra_clk_gr3d_8 = 81,\n\ttegra_clk_hclk = 82,\n\ttegra_clk_hda = 83,\n\ttegra_clk_hda_8 = 84,\n\ttegra_clk_hda2codec_2x = 85,\n\ttegra_clk_hda2codec_2x_8 = 86,\n\ttegra_clk_hda2hdmi = 87,\n\ttegra_clk_hdmi = 88,\n\ttegra_clk_hdmi_audio = 89,\n\ttegra_clk_host1x = 90,\n\ttegra_clk_host1x_8 = 91,\n\ttegra_clk_host1x_9 = 92,\n\ttegra_clk_hsic_trk = 93,\n\ttegra_clk_i2c1 = 94,\n\ttegra_clk_i2c2 = 95,\n\ttegra_clk_i2c3 = 96,\n\ttegra_clk_i2c4 = 97,\n\ttegra_clk_i2c5 = 98,\n\ttegra_clk_i2c6 = 99,\n\ttegra_clk_i2cslow = 100,\n\ttegra_clk_i2s0 = 101,\n\ttegra_clk_i2s0_sync = 102,\n\ttegra_clk_i2s1 = 103,\n\ttegra_clk_i2s1_sync = 104,\n\ttegra_clk_i2s2 = 105,\n\ttegra_clk_i2s2_sync = 106,\n\ttegra_clk_i2s3 = 107,\n\ttegra_clk_i2s3_sync = 108,\n\ttegra_clk_i2s4 = 109,\n\ttegra_clk_i2s4_sync = 110,\n\ttegra_clk_isp = 111,\n\ttegra_clk_isp_8 = 112,\n\ttegra_clk_isp_9 = 113,\n\ttegra_clk_ispb = 114,\n\ttegra_clk_kbc = 115,\n\ttegra_clk_kfuse = 116,\n\ttegra_clk_la = 117,\n\ttegra_clk_maud = 118,\n\ttegra_clk_mipi = 119,\n\ttegra_clk_mipibif = 120,\n\ttegra_clk_mipi_cal = 121,\n\ttegra_clk_mpe = 122,\n\ttegra_clk_mselect = 123,\n\ttegra_clk_msenc = 124,\n\ttegra_clk_ndflash = 125,\n\ttegra_clk_ndflash_8 = 126,\n\ttegra_clk_ndspeed = 127,\n\ttegra_clk_ndspeed_8 = 128,\n\ttegra_clk_nor = 129,\n\ttegra_clk_nvdec = 130,\n\ttegra_clk_nvenc = 131,\n\ttegra_clk_nvjpg = 132,\n\ttegra_clk_owr = 133,\n\ttegra_clk_owr_8 = 134,\n\ttegra_clk_pcie = 135,\n\ttegra_clk_pclk = 136,\n\ttegra_clk_pll_a = 137,\n\ttegra_clk_pll_a_out0 = 138,\n\ttegra_clk_pll_a1 = 139,\n\ttegra_clk_pll_c = 140,\n\ttegra_clk_pll_c2 = 141,\n\ttegra_clk_pll_c3 = 142,\n\ttegra_clk_pll_c4 = 143,\n\ttegra_clk_pll_c4_out0 = 144,\n\ttegra_clk_pll_c4_out1 = 145,\n\ttegra_clk_pll_c4_out2 = 146,\n\ttegra_clk_pll_c4_out3 = 147,\n\ttegra_clk_pll_c_out1 = 148,\n\ttegra_clk_pll_d = 149,\n\ttegra_clk_pll_d2 = 150,\n\ttegra_clk_pll_d2_out0 = 151,\n\ttegra_clk_pll_d_out0 = 152,\n\ttegra_clk_pll_dp = 153,\n\ttegra_clk_pll_e_out0 = 154,\n\ttegra_clk_pll_g_ref = 155,\n\ttegra_clk_pll_m = 156,\n\ttegra_clk_pll_m_out1 = 157,\n\ttegra_clk_pll_mb = 158,\n\ttegra_clk_pll_p = 159,\n\ttegra_clk_pll_p_out1 = 160,\n\ttegra_clk_pll_p_out2 = 161,\n\ttegra_clk_pll_p_out2_int = 162,\n\ttegra_clk_pll_p_out3 = 163,\n\ttegra_clk_pll_p_out4 = 164,\n\ttegra_clk_pll_p_out4_cpu = 165,\n\ttegra_clk_pll_p_out5 = 166,\n\ttegra_clk_pll_p_out_hsio = 167,\n\ttegra_clk_pll_p_out_xusb = 168,\n\ttegra_clk_pll_p_out_cpu = 169,\n\ttegra_clk_pll_p_out_adsp = 170,\n\ttegra_clk_pll_ref = 171,\n\ttegra_clk_pll_re_out = 172,\n\ttegra_clk_pll_re_vco = 173,\n\ttegra_clk_pll_u = 174,\n\ttegra_clk_pll_u_out = 175,\n\ttegra_clk_pll_u_out1 = 176,\n\ttegra_clk_pll_u_out2 = 177,\n\ttegra_clk_pll_u_12m = 178,\n\ttegra_clk_pll_u_480m = 179,\n\ttegra_clk_pll_u_48m = 180,\n\ttegra_clk_pll_u_60m = 181,\n\ttegra_clk_pll_x = 182,\n\ttegra_clk_pll_x_out0 = 183,\n\ttegra_clk_pwm = 184,\n\ttegra_clk_qspi = 185,\n\ttegra_clk_rtc = 186,\n\ttegra_clk_sata = 187,\n\ttegra_clk_sata_8 = 188,\n\ttegra_clk_sata_cold = 189,\n\ttegra_clk_sata_oob = 190,\n\ttegra_clk_sata_oob_8 = 191,\n\ttegra_clk_sbc1 = 192,\n\ttegra_clk_sbc1_8 = 193,\n\ttegra_clk_sbc1_9 = 194,\n\ttegra_clk_sbc2 = 195,\n\ttegra_clk_sbc2_8 = 196,\n\ttegra_clk_sbc2_9 = 197,\n\ttegra_clk_sbc3 = 198,\n\ttegra_clk_sbc3_8 = 199,\n\ttegra_clk_sbc3_9 = 200,\n\ttegra_clk_sbc4 = 201,\n\ttegra_clk_sbc4_8 = 202,\n\ttegra_clk_sbc4_9 = 203,\n\ttegra_clk_sbc5 = 204,\n\ttegra_clk_sbc5_8 = 205,\n\ttegra_clk_sbc6 = 206,\n\ttegra_clk_sbc6_8 = 207,\n\ttegra_clk_sclk = 208,\n\ttegra_clk_sdmmc_legacy = 209,\n\ttegra_clk_sdmmc1 = 210,\n\ttegra_clk_sdmmc1_8 = 211,\n\ttegra_clk_sdmmc1_9 = 212,\n\ttegra_clk_sdmmc2 = 213,\n\ttegra_clk_sdmmc2_8 = 214,\n\ttegra_clk_sdmmc3 = 215,\n\ttegra_clk_sdmmc3_8 = 216,\n\ttegra_clk_sdmmc3_9 = 217,\n\ttegra_clk_sdmmc4 = 218,\n\ttegra_clk_sdmmc4_8 = 219,\n\ttegra_clk_se = 220,\n\ttegra_clk_se_10 = 221,\n\ttegra_clk_soc_therm = 222,\n\ttegra_clk_soc_therm_8 = 223,\n\ttegra_clk_sor0 = 224,\n\ttegra_clk_sor0_out = 225,\n\ttegra_clk_sor1 = 226,\n\ttegra_clk_sor1_out = 227,\n\ttegra_clk_spdif = 228,\n\ttegra_clk_spdif_2x = 229,\n\ttegra_clk_spdif_in = 230,\n\ttegra_clk_spdif_in_8 = 231,\n\ttegra_clk_spdif_in_sync = 232,\n\ttegra_clk_spdif_mux = 233,\n\ttegra_clk_spdif_out = 234,\n\ttegra_clk_timer = 235,\n\ttegra_clk_trace = 236,\n\ttegra_clk_tsec = 237,\n\ttegra_clk_tsec_8 = 238,\n\ttegra_clk_tsecb = 239,\n\ttegra_clk_tsensor = 240,\n\ttegra_clk_tvdac = 241,\n\ttegra_clk_tvo = 242,\n\ttegra_clk_uarta = 243,\n\ttegra_clk_uarta_8 = 244,\n\ttegra_clk_uartb = 245,\n\ttegra_clk_uartb_8 = 246,\n\ttegra_clk_uartc = 247,\n\ttegra_clk_uartc_8 = 248,\n\ttegra_clk_uartd = 249,\n\ttegra_clk_uartd_8 = 250,\n\ttegra_clk_uarte = 251,\n\ttegra_clk_uarte_8 = 252,\n\ttegra_clk_uartape = 253,\n\ttegra_clk_usb2 = 254,\n\ttegra_clk_usb2_hsic_trk = 255,\n\ttegra_clk_usb2_trk = 256,\n\ttegra_clk_usb3 = 257,\n\ttegra_clk_usbd = 258,\n\ttegra_clk_vcp = 259,\n\ttegra_clk_vde = 260,\n\ttegra_clk_vde_8 = 261,\n\ttegra_clk_vfir = 262,\n\ttegra_clk_vi = 263,\n\ttegra_clk_vi_8 = 264,\n\ttegra_clk_vi_9 = 265,\n\ttegra_clk_vi_10 = 266,\n\ttegra_clk_vi_i2c = 267,\n\ttegra_clk_vic03 = 268,\n\ttegra_clk_vic03_8 = 269,\n\ttegra_clk_vim2_clk = 270,\n\ttegra_clk_vimclk_sync = 271,\n\ttegra_clk_vi_sensor = 272,\n\ttegra_clk_vi_sensor_8 = 273,\n\ttegra_clk_vi_sensor_9 = 274,\n\ttegra_clk_vi_sensor2 = 275,\n\ttegra_clk_vi_sensor2_8 = 276,\n\ttegra_clk_xusb_dev = 277,\n\ttegra_clk_xusb_dev_src = 278,\n\ttegra_clk_xusb_dev_src_8 = 279,\n\ttegra_clk_xusb_falcon_src = 280,\n\ttegra_clk_xusb_falcon_src_8 = 281,\n\ttegra_clk_xusb_fs_src = 282,\n\ttegra_clk_xusb_gate = 283,\n\ttegra_clk_xusb_host = 284,\n\ttegra_clk_xusb_host_src = 285,\n\ttegra_clk_xusb_host_src_8 = 286,\n\ttegra_clk_xusb_hs_src = 287,\n\ttegra_clk_xusb_hs_src_4 = 288,\n\ttegra_clk_xusb_ss = 289,\n\ttegra_clk_xusb_ss_src = 290,\n\ttegra_clk_xusb_ss_src_8 = 291,\n\ttegra_clk_xusb_ss_div2 = 292,\n\ttegra_clk_xusb_ssp_src = 293,\n\ttegra_clk_sclk_mux = 294,\n\ttegra_clk_sor_safe = 295,\n\ttegra_clk_cec = 296,\n\ttegra_clk_ispa = 297,\n\ttegra_clk_dmic1 = 298,\n\ttegra_clk_dmic2 = 299,\n\ttegra_clk_dmic3 = 300,\n\ttegra_clk_dmic1_sync_clk = 301,\n\ttegra_clk_dmic2_sync_clk = 302,\n\ttegra_clk_dmic3_sync_clk = 303,\n\ttegra_clk_dmic1_sync_clk_mux = 304,\n\ttegra_clk_dmic2_sync_clk_mux = 305,\n\ttegra_clk_dmic3_sync_clk_mux = 306,\n\ttegra_clk_iqc1 = 307,\n\ttegra_clk_iqc2 = 308,\n\ttegra_clk_pll_a_out_adsp = 309,\n\ttegra_clk_pll_a_out0_out_adsp = 310,\n\ttegra_clk_adsp = 311,\n\ttegra_clk_adsp_neon = 312,\n\ttegra_clk_max = 313,\n};\n\nenum clk_id___2 {\n\tCLK_NONE = 0,\n\tCLK_MM = 1,\n\tCLK_MFG = 2,\n\tCLK_VENC = 3,\n\tCLK_VENC_LT = 4,\n\tCLK_ETHIF = 5,\n\tCLK_VDEC = 6,\n\tCLK_HIFSEL = 7,\n\tCLK_JPGDEC = 8,\n\tCLK_AUDIO = 9,\n\tCLK_MAX = 10,\n};\n\nenum clk_ids {\n\tLAST_DT_CORE_CLK = 18,\n\tCLK_EXTAL = 19,\n\tCLK_OSC_DIV1000 = 20,\n\tCLK_PLL1 = 21,\n\tCLK_PLL2 = 22,\n\tCLK_PLL2_DIV2 = 23,\n\tCLK_PLL2_DIV2_8 = 24,\n\tCLK_PLL2_DIV2_10 = 25,\n\tCLK_PLL3 = 26,\n\tCLK_PLL3_400 = 27,\n\tCLK_PLL3_533 = 28,\n\tCLK_PLL3_DIV2 = 29,\n\tCLK_PLL3_DIV2_4 = 30,\n\tCLK_PLL3_DIV2_4_2 = 31,\n\tCLK_SEL_PLL3_3 = 32,\n\tCLK_DIV_PLL3_C = 33,\n\tCLK_M2_DIV2 = 34,\n\tCLK_PLL5 = 35,\n\tCLK_PLL5_500 = 36,\n\tCLK_PLL5_250 = 37,\n\tCLK_PLL5_FOUTPOSTDIV = 38,\n\tCLK_DSI_DIV = 39,\n\tCLK_PLL6 = 40,\n\tCLK_PLL6_250 = 41,\n\tCLK_P1_DIV2 = 42,\n\tCLK_PLL2_800 = 43,\n\tCLK_PLL2_SDHI_533 = 44,\n\tCLK_PLL2_SDHI_400 = 45,\n\tCLK_PLL2_SDHI_266 = 46,\n\tCLK_SD0_DIV4 = 47,\n\tCLK_SD1_DIV4 = 48,\n\tMOD_CLK_BASE = 49,\n};\n\nenum clk_ids___2 {\n\tLAST_DT_CORE_CLK___2 = 8,\n\tCLK_AUDIO_EXTAL = 9,\n\tCLK_RTXIN = 10,\n\tCLK_QEXTAL = 11,\n\tCLK_PLLCM33 = 12,\n\tCLK_PLLCLN = 13,\n\tCLK_PLLDTY = 14,\n\tCLK_PLLCA55 = 15,\n\tCLK_PLLVDO = 16,\n\tCLK_PLLCM33_DIV16 = 17,\n\tCLK_PLLCLN_DIV2 = 18,\n\tCLK_PLLCLN_DIV8 = 19,\n\tCLK_PLLCLN_DIV16 = 20,\n\tCLK_PLLDTY_ACPU = 21,\n\tCLK_PLLDTY_ACPU_DIV2 = 22,\n\tCLK_PLLDTY_ACPU_DIV4 = 23,\n\tCLK_PLLDTY_DIV16 = 24,\n\tCLK_PLLVDO_CRU0 = 25,\n\tCLK_PLLVDO_CRU1 = 26,\n\tCLK_PLLVDO_CRU2 = 27,\n\tCLK_PLLVDO_CRU3 = 28,\n\tMOD_CLK_BASE___2 = 29,\n};\n\nenum clk_ids___3 {\n\tLAST_DT_CORE_CLK___3 = 25,\n\tCLK_EXTAL___2 = 26,\n\tCLK_OSC_DIV1000___2 = 27,\n\tCLK_PLL1___2 = 28,\n\tCLK_PLL2___2 = 29,\n\tCLK_PLL2_DIV2___2 = 30,\n\tCLK_PLL2_DIV2_8___2 = 31,\n\tCLK_PLL2_DIV2_10___2 = 32,\n\tCLK_PLL3___2 = 33,\n\tCLK_PLL3_400___2 = 34,\n\tCLK_PLL3_533___2 = 35,\n\tCLK_M2_DIV2___2 = 36,\n\tCLK_PLL3_DIV2___2 = 37,\n\tCLK_PLL3_DIV2_2 = 38,\n\tCLK_PLL3_DIV2_4___2 = 39,\n\tCLK_PLL3_DIV2_4_2___2 = 40,\n\tCLK_SEL_PLL3_3___2 = 41,\n\tCLK_DIV_PLL3_C___2 = 42,\n\tCLK_PLL4 = 43,\n\tCLK_PLL5___2 = 44,\n\tCLK_PLL5_FOUTPOSTDIV___2 = 45,\n\tCLK_PLL5_FOUT1PH0 = 46,\n\tCLK_PLL5_FOUT3 = 47,\n\tCLK_PLL5_250___2 = 48,\n\tCLK_PLL6___2 = 49,\n\tCLK_PLL6_250___2 = 50,\n\tCLK_P1_DIV2___2 = 51,\n\tCLK_PLL2_800___2 = 52,\n\tCLK_PLL2_SDHI_533___2 = 53,\n\tCLK_PLL2_SDHI_400___2 = 54,\n\tCLK_PLL2_SDHI_266___2 = 55,\n\tCLK_SD0_DIV4___2 = 56,\n\tCLK_SD1_DIV4___2 = 57,\n\tCLK_SEL_GPU2 = 58,\n\tCLK_SEL_PLL5_4 = 59,\n\tCLK_DSI_DIV___2 = 60,\n\tCLK_PLL2_533 = 61,\n\tCLK_PLL2_533_DIV2 = 62,\n\tCLK_DIV_DSI_LPCLK = 63,\n\tMOD_CLK_BASE___3 = 64,\n};\n\nenum clk_ids___4 {\n\tLAST_DT_CORE_CLK___4 = 42,\n\tCLK_EXTAL___3 = 43,\n\tCLK_EXTALR = 44,\n\tCLK_MAIN = 45,\n\tCLK_PLL1___3 = 46,\n\tCLK_PLL20 = 47,\n\tCLK_PLL21 = 48,\n\tCLK_PLL30 = 49,\n\tCLK_PLL31 = 50,\n\tCLK_PLL5___3 = 51,\n\tCLK_PLL1_DIV2 = 52,\n\tCLK_PLL20_DIV2 = 53,\n\tCLK_PLL21_DIV2 = 54,\n\tCLK_PLL30_DIV2 = 55,\n\tCLK_PLL31_DIV2 = 56,\n\tCLK_PLL5_DIV2 = 57,\n\tCLK_PLL5_DIV4 = 58,\n\tCLK_S1 = 59,\n\tCLK_S3 = 60,\n\tCLK_SDSRC = 61,\n\tCLK_RPCSRC = 62,\n\tCLK_OCO = 63,\n\tMOD_CLK_BASE___4 = 64,\n};\n\nenum clk_ids___5 {\n\tLAST_DT_CORE_CLK___5 = 30,\n\tCLK_EXTAL___4 = 31,\n\tCLK_EXTALR___2 = 32,\n\tCLK_MAIN___2 = 33,\n\tCLK_PLL0 = 34,\n\tCLK_PLL1___4 = 35,\n\tCLK_PLL3___3 = 36,\n\tCLK_PLL1_DIV2___2 = 37,\n\tCLK_PLL1_DIV4 = 38,\n\tMOD_CLK_BASE___5 = 39,\n};\n\nenum clk_ids___6 {\n\tLAST_DT_CORE_CLK___6 = 77,\n\tCLK_EXTAL___5 = 78,\n\tCLK_EXTALR___3 = 79,\n\tCLK_MAIN___3 = 80,\n\tCLK_PLL1___5 = 81,\n\tCLK_PLL2___3 = 82,\n\tCLK_PLL3___4 = 83,\n\tCLK_PLL4___2 = 84,\n\tCLK_PLL5___4 = 85,\n\tCLK_PLL6___3 = 86,\n\tCLK_PLL1_DIV2___3 = 87,\n\tCLK_PLL2_DIV2___3 = 88,\n\tCLK_PLL3_DIV2___3 = 89,\n\tCLK_PLL4_DIV2 = 90,\n\tCLK_PLL5_DIV2___2 = 91,\n\tCLK_PLL5_DIV4___2 = 92,\n\tCLK_PLL6_DIV2 = 93,\n\tCLK_S0 = 94,\n\tCLK_S0_VIO = 95,\n\tCLK_S0_VC = 96,\n\tCLK_S0_HSC = 97,\n\tCLK_SASYNCPER = 98,\n\tCLK_SV_VIP = 99,\n\tCLK_SV_IR = 100,\n\tCLK_SDSRC___2 = 101,\n\tCLK_RPCSRC___2 = 102,\n\tCLK_VIO = 103,\n\tCLK_VC = 104,\n\tCLK_OCO___2 = 105,\n\tMOD_CLK_BASE___6 = 106,\n};\n\nenum clk_ids___7 {\n\tLAST_DT_CORE_CLK___7 = 24,\n\tCLK_EXTAL___6 = 25,\n\tCLK_OSC_DIV1000___3 = 26,\n\tCLK_PLL1___6 = 27,\n\tCLK_PLL2___4 = 28,\n\tCLK_PLL2_DIV2___4 = 29,\n\tCLK_PLL2_DIV2_8___3 = 30,\n\tCLK_PLL2_DIV6 = 31,\n\tCLK_PLL3___5 = 32,\n\tCLK_PLL3_DIV2___4 = 33,\n\tCLK_PLL3_DIV2_4___3 = 34,\n\tCLK_PLL3_DIV2_8 = 35,\n\tCLK_PLL3_DIV6 = 36,\n\tCLK_PLL4___3 = 37,\n\tCLK_PLL6___4 = 38,\n\tCLK_PLL6_DIV2___2 = 39,\n\tCLK_SEL_SDHI0 = 40,\n\tCLK_SEL_SDHI1 = 41,\n\tCLK_SEL_SDHI2 = 42,\n\tCLK_SEL_PLL4 = 43,\n\tCLK_P1_DIV2___3 = 44,\n\tCLK_P3_DIV2 = 45,\n\tCLK_SD0_DIV4___3 = 46,\n\tCLK_SD1_DIV4___3 = 47,\n\tCLK_SD2_DIV4 = 48,\n\tMOD_CLK_BASE___7 = 49,\n};\n\nenum clk_ids___8 {\n\tLAST_DT_CORE_CLK___8 = 49,\n\tCLK_EXTAL___7 = 50,\n\tCLK_EXTALR___4 = 51,\n\tCLK_MAIN___4 = 52,\n\tCLK_PLL0___2 = 53,\n\tCLK_PLL1___7 = 54,\n\tCLK_PLL3___6 = 55,\n\tCLK_PLL4___4 = 56,\n\tCLK_PLL1_DIV2___4 = 57,\n\tCLK_PLL1_DIV4___2 = 58,\n\tCLK_S0___2 = 59,\n\tCLK_S1___2 = 60,\n\tCLK_S2 = 61,\n\tCLK_S3___2 = 62,\n\tCLK_SDSRC___3 = 63,\n\tCLK_SSPSRC = 64,\n\tCLK_RPCSRC___3 = 65,\n\tCLK_RINT = 66,\n\tMOD_CLK_BASE___8 = 67,\n};\n\nenum clk_ids___9 {\n\tLAST_DT_CORE_CLK___9 = 41,\n\tCLK_EXTAL___8 = 42,\n\tCLK_MAIN___5 = 43,\n\tCLK_PLL0___3 = 44,\n\tCLK_PLL1___8 = 45,\n\tCLK_PLL3___7 = 46,\n\tCLK_PLL0D2 = 47,\n\tCLK_PLL0D3 = 48,\n\tCLK_PLL0D5 = 49,\n\tCLK_PLL1D2 = 50,\n\tCLK_PE = 51,\n\tCLK_S0___3 = 52,\n\tCLK_S1___3 = 53,\n\tCLK_S2___2 = 54,\n\tCLK_S3___3 = 55,\n\tCLK_SDSRC___4 = 56,\n\tCLK_RPCSRC___4 = 57,\n\tCLK_RINT___2 = 58,\n\tCLK_OCO___3 = 59,\n\tMOD_CLK_BASE___9 = 60,\n};\n\nenum clk_ids___10 {\n\tLAST_DT_CORE_CLK___10 = 51,\n\tCLK_EXTAL___9 = 52,\n\tCLK_EXTALR___5 = 53,\n\tCLK_MAIN___6 = 54,\n\tCLK_PLL0___4 = 55,\n\tCLK_PLL1___9 = 56,\n\tCLK_PLL2___5 = 57,\n\tCLK_PLL3___8 = 58,\n\tCLK_PLL4___5 = 59,\n\tCLK_PLL1_DIV2___5 = 60,\n\tCLK_PLL1_DIV4___3 = 61,\n\tCLK_S0___4 = 62,\n\tCLK_S1___4 = 63,\n\tCLK_S2___3 = 64,\n\tCLK_S3___4 = 65,\n\tCLK_SDSRC___5 = 66,\n\tCLK_SSPSRC___2 = 67,\n\tCLK_RPCSRC___5 = 68,\n\tCLK_RINT___3 = 69,\n\tMOD_CLK_BASE___10 = 70,\n};\n\nenum clk_ids___11 {\n\tLAST_DT_CORE_CLK___11 = 52,\n\tCLK_EXTAL___10 = 53,\n\tCLK_EXTALR___6 = 54,\n\tCLK_MAIN___7 = 55,\n\tCLK_PLL0___5 = 56,\n\tCLK_PLL1___10 = 57,\n\tCLK_PLL2___6 = 58,\n\tCLK_PLL3___9 = 59,\n\tCLK_PLL4___6 = 60,\n\tCLK_PLL1_DIV2___6 = 61,\n\tCLK_PLL1_DIV4___4 = 62,\n\tCLK_S0___5 = 63,\n\tCLK_S1___5 = 64,\n\tCLK_S2___4 = 65,\n\tCLK_S3___5 = 66,\n\tCLK_SDSRC___6 = 67,\n\tCLK_SSPSRC___3 = 68,\n\tCLK_RPCSRC___6 = 69,\n\tCLK_RINT___4 = 70,\n\tMOD_CLK_BASE___11 = 71,\n};\n\nenum clk_ids___12 {\n\tLAST_DT_CORE_CLK___12 = 0,\n\tCLK_EXTAL___11 = 1,\n\tCLK_MAIN___8 = 2,\n\tCLK_MAIN_24 = 3,\n\tCLK_MAIN_2 = 4,\n\tCLK_PLL1___11 = 5,\n\tCLK_PLL2___7 = 6,\n\tCLK_PLL2_800___3 = 7,\n\tCLK_PLL2_400 = 8,\n\tCLK_PLL2_200 = 9,\n\tCLK_PLL2_100 = 10,\n\tCLK_PLL4___7 = 11,\n\tCLK_DIV_A = 12,\n\tCLK_DIV_B = 13,\n\tCLK_DIV_D = 14,\n\tCLK_DIV_E = 15,\n\tCLK_DIV_W = 16,\n\tCLK_SEL_B = 17,\n\tCLK_SEL_B_D2 = 18,\n\tCLK_SEL_CSI0 = 19,\n\tCLK_SEL_CSI4 = 20,\n\tCLK_SEL_D = 21,\n\tCLK_SEL_E = 22,\n\tCLK_SEL_SDI = 23,\n\tCLK_SEL_W0 = 24,\n\tMOD_CLK_BASE___12 = 25,\n};\n\nenum clk_ids___13 {\n\tLAST_DT_CORE_CLK___13 = 48,\n\tCLK_EXTAL___12 = 49,\n\tCLK_MAIN___9 = 50,\n\tCLK_PLL0___6 = 51,\n\tCLK_PLL1___12 = 52,\n\tCLK_PLL3___10 = 53,\n\tCLK_PLL0D4 = 54,\n\tCLK_PLL0D6 = 55,\n\tCLK_PLL0D8 = 56,\n\tCLK_PLL0D20 = 57,\n\tCLK_PLL0D24 = 58,\n\tCLK_PLL1D2___2 = 59,\n\tCLK_PE___2 = 60,\n\tCLK_S0___6 = 61,\n\tCLK_S1___6 = 62,\n\tCLK_S2___5 = 63,\n\tCLK_S3___6 = 64,\n\tCLK_SDSRC___7 = 65,\n\tCLK_RPCSRC___7 = 66,\n\tCLK_RINT___5 = 67,\n\tCLK_OCO___4 = 68,\n\tMOD_CLK_BASE___13 = 69,\n};\n\nenum clk_ids___14 {\n\tLAST_DT_CORE_CLK___14 = 49,\n\tCLK_EXTAL___13 = 50,\n\tCLK_MAIN___10 = 51,\n\tCLK_PLL0___7 = 52,\n\tCLK_PLL1___13 = 53,\n\tCLK_PLL3___11 = 54,\n\tCLK_PLL0D4___2 = 55,\n\tCLK_PLL0D6___2 = 56,\n\tCLK_PLL0D8___2 = 57,\n\tCLK_PLL0D20___2 = 58,\n\tCLK_PLL0D24___2 = 59,\n\tCLK_PLL1D2___3 = 60,\n\tCLK_PE___3 = 61,\n\tCLK_S0___7 = 62,\n\tCLK_S1___7 = 63,\n\tCLK_S2___6 = 64,\n\tCLK_S3___7 = 65,\n\tCLK_SDSRC___8 = 66,\n\tCLK_RPCSRC___8 = 67,\n\tCLK_RINT___6 = 68,\n\tCLK_OCO___5 = 69,\n\tMOD_CLK_BASE___14 = 70,\n};\n\nenum clk_ids___15 {\n\tLAST_DT_CORE_CLK___15 = 50,\n\tCLK_EXTAL___14 = 51,\n\tCLK_EXTALR___7 = 52,\n\tCLK_MAIN___11 = 53,\n\tCLK_PLL1___14 = 54,\n\tCLK_PLL2___8 = 55,\n\tCLK_PLL3___12 = 56,\n\tCLK_PLL5___5 = 57,\n\tCLK_PLL6___5 = 58,\n\tCLK_PLL1_DIV2___7 = 59,\n\tCLK_PLL2_DIV2___5 = 60,\n\tCLK_PLL3_DIV2___5 = 61,\n\tCLK_PLL5_DIV2___3 = 62,\n\tCLK_PLL5_DIV4___3 = 63,\n\tCLK_PLL6_DIV2___3 = 64,\n\tCLK_S0___8 = 65,\n\tCLK_SASYNCPER___2 = 66,\n\tCLK_SDSRC___9 = 67,\n\tCLK_RPCSRC___9 = 68,\n\tCLK_OCO___6 = 69,\n\tMOD_CLK_BASE___15 = 70,\n};\n\nenum clk_ids___16 {\n\tLAST_DT_CORE_CLK___16 = 46,\n\tCLK_EXTAL___15 = 47,\n\tCLK_EXTALR___8 = 48,\n\tCLK_MAIN___12 = 49,\n\tCLK_PLL0___8 = 50,\n\tCLK_PLL1___15 = 51,\n\tCLK_PLL2___9 = 52,\n\tCLK_PLL3___13 = 53,\n\tCLK_PLL4___8 = 54,\n\tCLK_PLL1_DIV2___8 = 55,\n\tCLK_PLL1_DIV4___5 = 56,\n\tCLK_S0___9 = 57,\n\tCLK_S1___8 = 58,\n\tCLK_S2___7 = 59,\n\tCLK_S3___8 = 60,\n\tCLK_SDSRC___10 = 61,\n\tCLK_RPCSRC___10 = 62,\n\tCLK_RINT___7 = 63,\n\tMOD_CLK_BASE___16 = 64,\n};\n\nenum clk_ids___17 {\n\tLAST_DT_CORE_CLK___17 = 37,\n\tCLK_EXTAL___16 = 38,\n\tCLK_EXTALR___9 = 39,\n\tCLK_MAIN___13 = 40,\n\tCLK_PLL1___16 = 41,\n\tCLK_PLL2___10 = 42,\n\tCLK_PLL3___14 = 43,\n\tCLK_PLL1_DIV2___9 = 44,\n\tCLK_PLL1_DIV4___6 = 45,\n\tCLK_S0___10 = 46,\n\tCLK_S1___9 = 47,\n\tCLK_S2___8 = 48,\n\tCLK_S3___9 = 49,\n\tCLK_SDSRC___11 = 50,\n\tCLK_RPCSRC___11 = 51,\n\tCLK_OCO___7 = 52,\n\tMOD_CLK_BASE___17 = 53,\n};\n\nenum clk_ids___18 {\n\tLAST_DT_CORE_CLK___18 = 44,\n\tCLK_EXTAL___17 = 45,\n\tCLK_EXTALR___10 = 46,\n\tCLK_MAIN___14 = 47,\n\tCLK_PLL0___9 = 48,\n\tCLK_PLL1___17 = 49,\n\tCLK_PLL3___15 = 50,\n\tCLK_PLL4___9 = 51,\n\tCLK_PLL1_DIV2___10 = 52,\n\tCLK_PLL1_DIV4___7 = 53,\n\tCLK_S0___11 = 54,\n\tCLK_S1___10 = 55,\n\tCLK_S2___9 = 56,\n\tCLK_S3___10 = 57,\n\tCLK_SDSRC___12 = 58,\n\tCLK_RPCSRC___12 = 59,\n\tCLK_RINT___8 = 60,\n\tMOD_CLK_BASE___18 = 61,\n};\n\nenum clk_ids___19 {\n\tLAST_DT_CORE_CLK___19 = 8,\n\tCLK_AUDIO_EXTAL___2 = 9,\n\tCLK_RTXIN___2 = 10,\n\tCLK_QEXTAL___2 = 11,\n\tCLK_PLLCM33___2 = 12,\n\tCLK_PLLCLN___2 = 13,\n\tCLK_PLLDTY___2 = 14,\n\tCLK_PLLCA55___2 = 15,\n\tCLK_PLLCM33_DIV16___2 = 16,\n\tCLK_PLLCLN_DIV16___2 = 17,\n\tCLK_PLLDTY_ACPU___2 = 18,\n\tCLK_PLLDTY_ACPU_DIV4___2 = 19,\n\tMOD_CLK_BASE___19 = 20,\n};\n\nenum clk_ids___20 {\n\tLAST_DT_CORE_CLK___20 = 82,\n\tCLK_EXTAL___18 = 83,\n\tCLK_EXTALR___11 = 84,\n\tCLK_MAIN___15 = 85,\n\tCLK_PLL1___18 = 86,\n\tCLK_PLL2___11 = 87,\n\tCLK_PLL3___16 = 88,\n\tCLK_PLL4___10 = 89,\n\tCLK_PLL5___6 = 90,\n\tCLK_PLL6___6 = 91,\n\tCLK_PLL1_DIV2___11 = 92,\n\tCLK_PLL3_DIV2___6 = 93,\n\tCLK_PLL4_DIV2___2 = 94,\n\tCLK_PLL4_DIV5 = 95,\n\tCLK_PLL5_DIV2___4 = 96,\n\tCLK_PLL5_DIV4___4 = 97,\n\tCLK_PLL6_DIV2___4 = 98,\n\tCLK_S0___12 = 99,\n\tCLK_S0_VIO___2 = 100,\n\tCLK_S0_VC___2 = 101,\n\tCLK_S0_HSC___2 = 102,\n\tCLK_SASYNCPER___3 = 103,\n\tCLK_SV_VIP___2 = 104,\n\tCLK_SV_IR___2 = 105,\n\tCLK_IMPASRC = 106,\n\tCLK_IMPBSRC = 107,\n\tCLK_VIOSRC = 108,\n\tCLK_VCSRC = 109,\n\tCLK_SDSRC___13 = 110,\n\tCLK_RPCSRC___13 = 111,\n\tCLK_OCO___8 = 112,\n\tMOD_CLK_BASE___20 = 113,\n};\n\nenum clk_reg_layout {\n\tCLK_REG_LAYOUT_RCAR_GEN2_AND_GEN3 = 0,\n\tCLK_REG_LAYOUT_RZ_A = 1,\n\tCLK_REG_LAYOUT_RCAR_GEN4 = 2,\n};\n\nenum clk_sel {\n\tLOW_SPEED_IO_SEL = 0,\n\tNON_IO_SEL = 1,\n\tFAST_SEL = 2,\n\tAUDIO_SEL = 3,\n\tVIDEO_SEL = 4,\n\tTPM_SEL = 5,\n\tCKO1_SEL = 6,\n\tCKO2_SEL = 7,\n\tMISC_SEL = 8,\n\tMAX_SEL = 9,\n};\n\nenum clk_state {\n\tCLK_STATE_DISABLE = 0,\n\tCLK_STATE_ENABLE = 1,\n\tCLK_STATE_RESERVED = 2,\n\tCLK_STATE_UNCHANGED = 3,\n};\n\nenum clk_type {\n\tCLK_TYPE_OUTPUT = 0,\n\tCLK_TYPE_EXTERNAL = 1,\n};\n\nenum clk_type_t {\n\tCLK_EXT_DIFF = 0,\n\tCLK_INT_DIFF = 1,\n\tCLK_INT_SING = 2,\n};\n\nenum clk_types {\n\tCLK_TYPE_IN = 0,\n\tCLK_TYPE_FF = 1,\n\tCLK_TYPE_PLL = 2,\n\tCLK_TYPE_DDIV = 3,\n};\n\nenum clk_types___2 {\n\tCLK_TYPE_IN___2 = 0,\n\tCLK_TYPE_FF___2 = 1,\n\tCLK_TYPE_SAM_PLL = 2,\n\tCLK_TYPE_G3S_PLL = 3,\n\tCLK_TYPE_DIV = 4,\n\tCLK_TYPE_G3S_DIV = 5,\n\tCLK_TYPE_MUX = 6,\n\tCLK_TYPE_SD_MUX = 7,\n\tCLK_TYPE_SIPLL5 = 8,\n\tCLK_TYPE_PLL5_4_MUX = 9,\n\tCLK_TYPE_DSI_DIV = 10,\n};\n\nenum clk_types___3 {\n\tCLK_TYPE_IN___3 = 0,\n\tCLK_TYPE_FF___3 = 1,\n\tCLK_TYPE_DIV6P1 = 2,\n\tCLK_TYPE_DIV6_RO = 3,\n\tCLK_TYPE_FR = 4,\n\tCLK_TYPE_CUSTOM = 5,\n};\n\nenum clock_event_state {\n\tCLOCK_EVT_STATE_DETACHED = 0,\n\tCLOCK_EVT_STATE_SHUTDOWN = 1,\n\tCLOCK_EVT_STATE_PERIODIC = 2,\n\tCLOCK_EVT_STATE_ONESHOT = 3,\n\tCLOCK_EVT_STATE_ONESHOT_STOPPED = 4,\n};\n\nenum clocksource_ids {\n\tCSID_GENERIC = 0,\n\tCSID_ARM_ARCH_COUNTER = 1,\n\tCSID_S390_TOD = 2,\n\tCSID_X86_TSC_EARLY = 3,\n\tCSID_X86_TSC = 4,\n\tCSID_X86_KVM_CLK = 5,\n\tCSID_X86_ART = 6,\n\tCSID_MAX = 7,\n};\n\nenum cmd_db_hw_type {\n\tCMD_DB_HW_INVALID = 0,\n\tCMD_DB_HW_MIN = 3,\n\tCMD_DB_HW_ARC = 3,\n\tCMD_DB_HW_VRM = 4,\n\tCMD_DB_HW_BCM = 5,\n\tCMD_DB_HW_MAX = 5,\n\tCMD_DB_HW_ALL = 255,\n};\n\nenum cmis_cdb_fw_write_mechanism {\n\tCMIS_CDB_FW_WRITE_MECHANISM_NONE = 0,\n\tCMIS_CDB_FW_WRITE_MECHANISM_LPL = 1,\n\tCMIS_CDB_FW_WRITE_MECHANISM_EPL = 16,\n\tCMIS_CDB_FW_WRITE_MECHANISM_BOTH = 17,\n};\n\nenum cmu_type_t {\n\tREF_CMU = 0,\n\tPHY_CMU = 1,\n};\n\nenum compact_priority {\n\tCOMPACT_PRIO_SYNC_FULL = 0,\n\tMIN_COMPACT_PRIORITY = 0,\n\tCOMPACT_PRIO_SYNC_LIGHT = 1,\n\tMIN_COMPACT_COSTLY_PRIORITY = 1,\n\tDEF_COMPACT_PRIORITY = 1,\n\tCOMPACT_PRIO_ASYNC = 2,\n\tINIT_COMPACT_PRIORITY = 2,\n};\n\nenum compact_result {\n\tCOMPACT_NOT_SUITABLE_ZONE = 0,\n\tCOMPACT_SKIPPED = 1,\n\tCOMPACT_DEFERRED = 2,\n\tCOMPACT_NO_SUITABLE_PAGE = 3,\n\tCOMPACT_CONTINUE = 4,\n\tCOMPACT_COMPLETE = 5,\n\tCOMPACT_PARTIAL_SKIPPED = 6,\n\tCOMPACT_CONTENDED = 7,\n\tCOMPACT_SUCCESS = 8,\n};\n\nenum compat_regset {\n\tREGSET_COMPAT_GPR = 0,\n\tREGSET_COMPAT_VFP = 1,\n};\n\nenum con_flush_mode {\n\tCONSOLE_FLUSH_PENDING = 0,\n\tCONSOLE_REPLAY_ALL = 1,\n};\n\nenum con_msg_format_flags {\n\tMSG_FORMAT_DEFAULT = 0,\n\tMSG_FORMAT_SYSLOG = 1,\n};\n\nenum con_scroll {\n\tSM_UP = 0,\n\tSM_DOWN = 1,\n};\n\nenum cons_flags {\n\tCON_PRINTBUFFER = 1,\n\tCON_CONSDEV = 2,\n\tCON_ENABLED = 4,\n\tCON_BOOT = 8,\n\tCON_ANYTIME = 16,\n\tCON_BRL = 32,\n\tCON_EXTENDED = 64,\n\tCON_SUSPENDED = 128,\n\tCON_NBCON = 256,\n};\n\nenum cpi_algorithm_type {\n\tCPI_ALG_NONE = 0,\n\tCPI_ALG_VLAN = 1,\n\tCPI_ALG_VLAN16 = 2,\n\tCPI_ALG_DIFF = 3,\n};\n\nenum cpio_fields {\n\tC_MAGIC = 0,\n\tC_INO = 1,\n\tC_MODE = 2,\n\tC_UID = 3,\n\tC_GID = 4,\n\tC_NLINK = 5,\n\tC_MTIME = 6,\n\tC_FILESIZE = 7,\n\tC_MAJ = 8,\n\tC_MIN = 9,\n\tC_RMAJ = 10,\n\tC_RMIN = 11,\n\tC_NAMESIZE = 12,\n\tC_CHKSUM = 13,\n\tC_NFIELDS = 14,\n};\n\nenum cppc_regs {\n\tHIGHEST_PERF = 0,\n\tNOMINAL_PERF = 1,\n\tLOW_NON_LINEAR_PERF = 2,\n\tLOWEST_PERF = 3,\n\tGUARANTEED_PERF = 4,\n\tDESIRED_PERF = 5,\n\tMIN_PERF = 6,\n\tMAX_PERF = 7,\n\tPERF_REDUC_TOLERANCE = 8,\n\tTIME_WINDOW = 9,\n\tCTR_WRAP_TIME = 10,\n\tREFERENCE_CTR = 11,\n\tDELIVERED_CTR = 12,\n\tPERF_LIMITED = 13,\n\tENABLE = 14,\n\tAUTO_SEL_ENABLE = 15,\n\tAUTO_ACT_WINDOW = 16,\n\tENERGY_PERF = 17,\n\tREFERENCE_PERF = 18,\n\tLOWEST_FREQ = 19,\n\tNOMINAL_FREQ = 20,\n};\n\nenum cppi5_tr_event_size {\n\tCPPI5_TR_EVENT_SIZE_COMPLETION = 0,\n\tCPPI5_TR_EVENT_SIZE_ICNT1_DEC = 1,\n\tCPPI5_TR_EVENT_SIZE_ICNT2_DEC = 2,\n\tCPPI5_TR_EVENT_SIZE_ICNT3_DEC = 3,\n\tCPPI5_TR_EVENT_SIZE_MAX = 4,\n};\n\nenum cppi5_tr_trigger {\n\tCPPI5_TR_TRIGGER_NONE = 0,\n\tCPPI5_TR_TRIGGER_GLOBAL0 = 1,\n\tCPPI5_TR_TRIGGER_GLOBAL1 = 2,\n\tCPPI5_TR_TRIGGER_LOCAL_EVENT = 3,\n\tCPPI5_TR_TRIGGER_MAX = 4,\n};\n\nenum cppi5_tr_trigger_type {\n\tCPPI5_TR_TRIGGER_TYPE_ICNT1_DEC = 0,\n\tCPPI5_TR_TRIGGER_TYPE_ICNT2_DEC = 1,\n\tCPPI5_TR_TRIGGER_TYPE_ICNT3_DEC = 2,\n\tCPPI5_TR_TRIGGER_TYPE_ALL = 3,\n\tCPPI5_TR_TRIGGER_TYPE_MAX = 4,\n};\n\nenum cppi5_tr_types {\n\tCPPI5_TR_TYPE0 = 0,\n\tCPPI5_TR_TYPE1 = 1,\n\tCPPI5_TR_TYPE2 = 2,\n\tCPPI5_TR_TYPE3 = 3,\n\tCPPI5_TR_TYPE4 = 4,\n\tCPPI5_TR_TYPE5 = 5,\n\tCPPI5_TR_TYPE8 = 8,\n\tCPPI5_TR_TYPE9 = 9,\n\tCPPI5_TR_TYPE10 = 10,\n\tCPPI5_TR_TYPE11 = 11,\n\tCPPI5_TR_TYPE15 = 15,\n\tCPPI5_TR_TYPE_MAX = 16,\n};\n\nenum cpsw_ale_control {\n\tALE_ENABLE = 0,\n\tALE_CLEAR = 1,\n\tALE_AGEOUT = 2,\n\tALE_P0_UNI_FLOOD = 3,\n\tALE_VLAN_NOLEARN = 4,\n\tALE_NO_PORT_VLAN = 5,\n\tALE_OUI_DENY = 6,\n\tALE_BYPASS = 7,\n\tALE_RATE_LIMIT_TX = 8,\n\tALE_VLAN_AWARE = 9,\n\tALE_AUTH_ENABLE = 10,\n\tALE_RATE_LIMIT = 11,\n\tALE_PORT_STATE = 12,\n\tALE_PORT_DROP_UNTAGGED = 13,\n\tALE_PORT_DROP_UNKNOWN_VLAN = 14,\n\tALE_PORT_NOLEARN = 15,\n\tALE_PORT_NO_SA_UPDATE = 16,\n\tALE_PORT_UNKNOWN_VLAN_MEMBER = 17,\n\tALE_PORT_UNKNOWN_MCAST_FLOOD = 18,\n\tALE_PORT_UNKNOWN_REG_MCAST_FLOOD = 19,\n\tALE_PORT_UNTAGGED_EGRESS = 20,\n\tALE_PORT_MACONLY = 21,\n\tALE_PORT_MACONLY_CAF = 22,\n\tALE_PORT_BCAST_LIMIT = 23,\n\tALE_PORT_MCAST_LIMIT = 24,\n\tALE_DEFAULT_THREAD_ID = 25,\n\tALE_DEFAULT_THREAD_ENABLE = 26,\n\tALE_NUM_CONTROLS = 27,\n};\n\nenum cpsw_ale_port_state {\n\tALE_PORT_STATE_DISABLE = 0,\n\tALE_PORT_STATE_BLOCK = 1,\n\tALE_PORT_STATE_LEARN = 2,\n\tALE_PORT_STATE_FORWARD = 3,\n};\n\nenum cpsw_sl_regs {\n\tCPSW_SL_IDVER = 0,\n\tCPSW_SL_MACCONTROL = 1,\n\tCPSW_SL_MACSTATUS = 2,\n\tCPSW_SL_SOFT_RESET = 3,\n\tCPSW_SL_RX_MAXLEN = 4,\n\tCPSW_SL_BOFFTEST = 5,\n\tCPSW_SL_RX_PAUSE = 6,\n\tCPSW_SL_TX_PAUSE = 7,\n\tCPSW_SL_EMCONTROL = 8,\n\tCPSW_SL_RX_PRI_MAP = 9,\n\tCPSW_SL_TX_GAP = 10,\n};\n\nenum cpu_idle_type {\n\t__CPU_NOT_IDLE = 0,\n\tCPU_IDLE = 1,\n\tCPU_NEWLY_IDLE = 2,\n\tCPU_MAX_IDLE_TYPES = 3,\n};\n\nenum cpu_led_event {\n\tCPU_LED_IDLE_START = 0,\n\tCPU_LED_IDLE_END = 1,\n\tCPU_LED_START = 2,\n\tCPU_LED_STOP = 3,\n\tCPU_LED_HALTED = 4,\n};\n\nenum cpu_mitigations {\n\tCPU_MITIGATIONS_OFF = 0,\n\tCPU_MITIGATIONS_AUTO = 1,\n\tCPU_MITIGATIONS_AUTO_NOSMT = 2,\n};\n\nenum cpu_pm_event {\n\tCPU_PM_ENTER = 0,\n\tCPU_PM_ENTER_FAILED = 1,\n\tCPU_PM_EXIT = 2,\n\tCPU_CLUSTER_PM_ENTER = 3,\n\tCPU_CLUSTER_PM_ENTER_FAILED = 4,\n\tCPU_CLUSTER_PM_EXIT = 5,\n};\n\nenum cpu_usage_stat {\n\tCPUTIME_USER = 0,\n\tCPUTIME_NICE = 1,\n\tCPUTIME_SYSTEM = 2,\n\tCPUTIME_SOFTIRQ = 3,\n\tCPUTIME_IRQ = 4,\n\tCPUTIME_IDLE = 5,\n\tCPUTIME_IOWAIT = 6,\n\tCPUTIME_STEAL = 7,\n\tCPUTIME_GUEST = 8,\n\tCPUTIME_GUEST_NICE = 9,\n\tNR_STATS = 10,\n};\n\nenum cpuacct_stat_index {\n\tCPUACCT_STAT_USER = 0,\n\tCPUACCT_STAT_SYSTEM = 1,\n\tCPUACCT_STAT_NSTATS = 2,\n};\n\nenum cpubiuctrl_regs {\n\tCPU_CREDIT_REG = 0,\n\tCPU_MCP_FLOW_REG = 1,\n\tCPU_WRITEBACK_CTRL_REG = 2,\n\tRAC_CONFIG0_REG = 3,\n\tRAC_CONFIG1_REG = 4,\n\tNUM_CPU_BIUCTRL_REGS = 5,\n};\n\nenum cpufreq_table_sorting {\n\tCPUFREQ_TABLE_UNSORTED = 0,\n\tCPUFREQ_TABLE_SORTED_ASCENDING = 1,\n\tCPUFREQ_TABLE_SORTED_DESCENDING = 2,\n};\n\nenum cpuhp_smt_control {\n\tCPU_SMT_ENABLED = 0,\n\tCPU_SMT_DISABLED = 1,\n\tCPU_SMT_FORCE_DISABLED = 2,\n\tCPU_SMT_NOT_SUPPORTED = 3,\n\tCPU_SMT_NOT_IMPLEMENTED = 4,\n};\n\nenum cpuhp_state {\n\tCPUHP_INVALID = -1,\n\tCPUHP_OFFLINE = 0,\n\tCPUHP_CREATE_THREADS = 1,\n\tCPUHP_PERF_PREPARE = 2,\n\tCPUHP_PERF_X86_PREPARE = 3,\n\tCPUHP_PERF_X86_AMD_UNCORE_PREP = 4,\n\tCPUHP_PERF_POWER = 5,\n\tCPUHP_PERF_SUPERH = 6,\n\tCPUHP_X86_HPET_DEAD = 7,\n\tCPUHP_X86_MCE_DEAD = 8,\n\tCPUHP_VIRT_NET_DEAD = 9,\n\tCPUHP_IBMVNIC_DEAD = 10,\n\tCPUHP_SLUB_DEAD = 11,\n\tCPUHP_DEBUG_OBJ_DEAD = 12,\n\tCPUHP_MM_WRITEBACK_DEAD = 13,\n\tCPUHP_MM_VMSTAT_DEAD = 14,\n\tCPUHP_SOFTIRQ_DEAD = 15,\n\tCPUHP_NET_MVNETA_DEAD = 16,\n\tCPUHP_CPUIDLE_DEAD = 17,\n\tCPUHP_ARM64_FPSIMD_DEAD = 18,\n\tCPUHP_ARM_OMAP_WAKE_DEAD = 19,\n\tCPUHP_IRQ_POLL_DEAD = 20,\n\tCPUHP_BLOCK_SOFTIRQ_DEAD = 21,\n\tCPUHP_BIO_DEAD = 22,\n\tCPUHP_ACPI_CPUDRV_DEAD = 23,\n\tCPUHP_S390_PFAULT_DEAD = 24,\n\tCPUHP_BLK_MQ_DEAD = 25,\n\tCPUHP_FS_BUFF_DEAD = 26,\n\tCPUHP_PRINTK_DEAD = 27,\n\tCPUHP_MM_MEMCQ_DEAD = 28,\n\tCPUHP_PERCPU_CNT_DEAD = 29,\n\tCPUHP_RADIX_DEAD = 30,\n\tCPUHP_PAGE_ALLOC = 31,\n\tCPUHP_NET_DEV_DEAD = 32,\n\tCPUHP_PCI_XGENE_DEAD = 33,\n\tCPUHP_IOMMU_IOVA_DEAD = 34,\n\tCPUHP_AP_ARM_CACHE_B15_RAC_DEAD = 35,\n\tCPUHP_PADATA_DEAD = 36,\n\tCPUHP_AP_DTPM_CPU_DEAD = 37,\n\tCPUHP_RANDOM_PREPARE = 38,\n\tCPUHP_WORKQUEUE_PREP = 39,\n\tCPUHP_POWER_NUMA_PREPARE = 40,\n\tCPUHP_HRTIMERS_PREPARE = 41,\n\tCPUHP_X2APIC_PREPARE = 42,\n\tCPUHP_SMPCFD_PREPARE = 43,\n\tCPUHP_RELAY_PREPARE = 44,\n\tCPUHP_MD_RAID5_PREPARE = 45,\n\tCPUHP_RCUTREE_PREP = 46,\n\tCPUHP_CPUIDLE_COUPLED_PREPARE = 47,\n\tCPUHP_POWERPC_PMAC_PREPARE = 48,\n\tCPUHP_POWERPC_MMU_CTX_PREPARE = 49,\n\tCPUHP_XEN_PREPARE = 50,\n\tCPUHP_XEN_EVTCHN_PREPARE = 51,\n\tCPUHP_ARM_SHMOBILE_SCU_PREPARE = 52,\n\tCPUHP_SH_SH3X_PREPARE = 53,\n\tCPUHP_TOPOLOGY_PREPARE = 54,\n\tCPUHP_NET_IUCV_PREPARE = 55,\n\tCPUHP_ARM_BL_PREPARE = 56,\n\tCPUHP_TRACE_RB_PREPARE = 57,\n\tCPUHP_MM_ZS_PREPARE = 58,\n\tCPUHP_MM_ZSWP_POOL_PREPARE = 59,\n\tCPUHP_KVM_PPC_BOOK3S_PREPARE = 60,\n\tCPUHP_ZCOMP_PREPARE = 61,\n\tCPUHP_TIMERS_PREPARE = 62,\n\tCPUHP_TMIGR_PREPARE = 63,\n\tCPUHP_MIPS_SOC_PREPARE = 64,\n\tCPUHP_BP_PREPARE_DYN = 65,\n\tCPUHP_BP_PREPARE_DYN_END = 85,\n\tCPUHP_BP_KICK_AP = 86,\n\tCPUHP_BRINGUP_CPU = 87,\n\tCPUHP_AP_IDLE_DEAD = 88,\n\tCPUHP_AP_OFFLINE = 89,\n\tCPUHP_AP_CACHECTRL_STARTING = 90,\n\tCPUHP_AP_SCHED_STARTING = 91,\n\tCPUHP_AP_RCUTREE_DYING = 92,\n\tCPUHP_AP_CPU_PM_STARTING = 93,\n\tCPUHP_AP_IRQ_GIC_STARTING = 94,\n\tCPUHP_AP_IRQ_HIP04_STARTING = 95,\n\tCPUHP_AP_IRQ_APPLE_AIC_STARTING = 96,\n\tCPUHP_AP_IRQ_ARMADA_XP_STARTING = 97,\n\tCPUHP_AP_IRQ_BCM2836_STARTING = 98,\n\tCPUHP_AP_IRQ_MIPS_GIC_STARTING = 99,\n\tCPUHP_AP_IRQ_EIOINTC_STARTING = 100,\n\tCPUHP_AP_IRQ_AVECINTC_STARTING = 101,\n\tCPUHP_AP_IRQ_SIFIVE_PLIC_STARTING = 102,\n\tCPUHP_AP_IRQ_THEAD_ACLINT_SSWI_STARTING = 103,\n\tCPUHP_AP_IRQ_RISCV_IMSIC_STARTING = 104,\n\tCPUHP_AP_IRQ_RISCV_SBI_IPI_STARTING = 105,\n\tCPUHP_AP_ARM_MVEBU_COHERENCY = 106,\n\tCPUHP_AP_PERF_X86_AMD_UNCORE_STARTING = 107,\n\tCPUHP_AP_PERF_X86_STARTING = 108,\n\tCPUHP_AP_PERF_X86_AMD_IBS_STARTING = 109,\n\tCPUHP_AP_PERF_XTENSA_STARTING = 110,\n\tCPUHP_AP_ARM_VFP_STARTING = 111,\n\tCPUHP_AP_ARM64_DEBUG_MONITORS_STARTING = 112,\n\tCPUHP_AP_PERF_ARM_HW_BREAKPOINT_STARTING = 113,\n\tCPUHP_AP_PERF_ARM_ACPI_STARTING = 114,\n\tCPUHP_AP_PERF_ARM_STARTING = 115,\n\tCPUHP_AP_PERF_RISCV_STARTING = 116,\n\tCPUHP_AP_ARM_L2X0_STARTING = 117,\n\tCPUHP_AP_EXYNOS4_MCT_TIMER_STARTING = 118,\n\tCPUHP_AP_ARM_ARCH_TIMER_STARTING = 119,\n\tCPUHP_AP_ARM_ARCH_TIMER_EVTSTRM_STARTING = 120,\n\tCPUHP_AP_ARM_GLOBAL_TIMER_STARTING = 121,\n\tCPUHP_AP_JCORE_TIMER_STARTING = 122,\n\tCPUHP_AP_ARM_TWD_STARTING = 123,\n\tCPUHP_AP_QCOM_TIMER_STARTING = 124,\n\tCPUHP_AP_TEGRA_TIMER_STARTING = 125,\n\tCPUHP_AP_ARMADA_TIMER_STARTING = 126,\n\tCPUHP_AP_MIPS_GIC_TIMER_STARTING = 127,\n\tCPUHP_AP_ARC_TIMER_STARTING = 128,\n\tCPUHP_AP_REALTEK_TIMER_STARTING = 129,\n\tCPUHP_AP_RISCV_TIMER_STARTING = 130,\n\tCPUHP_AP_CLINT_TIMER_STARTING = 131,\n\tCPUHP_AP_CSKY_TIMER_STARTING = 132,\n\tCPUHP_AP_TI_GP_TIMER_STARTING = 133,\n\tCPUHP_AP_HYPERV_TIMER_STARTING = 134,\n\tCPUHP_AP_DUMMY_TIMER_STARTING = 135,\n\tCPUHP_AP_ARM_XEN_STARTING = 136,\n\tCPUHP_AP_ARM_XEN_RUNSTATE_STARTING = 137,\n\tCPUHP_AP_ARM_CORESIGHT_STARTING = 138,\n\tCPUHP_AP_ARM_CORESIGHT_CTI_STARTING = 139,\n\tCPUHP_AP_ARM64_ISNDEP_STARTING = 140,\n\tCPUHP_AP_SMPCFD_DYING = 141,\n\tCPUHP_AP_HRTIMERS_DYING = 142,\n\tCPUHP_AP_TICK_DYING = 143,\n\tCPUHP_AP_X86_TBOOT_DYING = 144,\n\tCPUHP_AP_ARM_CACHE_B15_RAC_DYING = 145,\n\tCPUHP_AP_ONLINE = 146,\n\tCPUHP_TEARDOWN_CPU = 147,\n\tCPUHP_AP_ONLINE_IDLE = 148,\n\tCPUHP_AP_HYPERV_ONLINE = 149,\n\tCPUHP_AP_KVM_ONLINE = 150,\n\tCPUHP_AP_SCHED_WAIT_EMPTY = 151,\n\tCPUHP_AP_SMPBOOT_THREADS = 152,\n\tCPUHP_AP_IRQ_AFFINITY_ONLINE = 153,\n\tCPUHP_AP_BLK_MQ_ONLINE = 154,\n\tCPUHP_AP_ARM_MVEBU_SYNC_CLOCKS = 155,\n\tCPUHP_AP_X86_INTEL_EPB_ONLINE = 156,\n\tCPUHP_AP_PERF_ONLINE = 157,\n\tCPUHP_AP_PERF_X86_ONLINE = 158,\n\tCPUHP_AP_PERF_X86_UNCORE_ONLINE = 159,\n\tCPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE = 160,\n\tCPUHP_AP_PERF_X86_AMD_POWER_ONLINE = 161,\n\tCPUHP_AP_PERF_S390_CF_ONLINE = 162,\n\tCPUHP_AP_PERF_S390_SF_ONLINE = 163,\n\tCPUHP_AP_PERF_ARM_CCI_ONLINE = 164,\n\tCPUHP_AP_PERF_ARM_CCN_ONLINE = 165,\n\tCPUHP_AP_PERF_ARM_HISI_CPA_ONLINE = 166,\n\tCPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE = 167,\n\tCPUHP_AP_PERF_ARM_HISI_HHA_ONLINE = 168,\n\tCPUHP_AP_PERF_ARM_HISI_L3_ONLINE = 169,\n\tCPUHP_AP_PERF_ARM_HISI_PA_ONLINE = 170,\n\tCPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE = 171,\n\tCPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE = 172,\n\tCPUHP_AP_PERF_ARM_HNS3_PMU_ONLINE = 173,\n\tCPUHP_AP_PERF_ARM_L2X0_ONLINE = 174,\n\tCPUHP_AP_PERF_ARM_QCOM_L2_ONLINE = 175,\n\tCPUHP_AP_PERF_ARM_QCOM_L3_ONLINE = 176,\n\tCPUHP_AP_PERF_ARM_APM_XGENE_ONLINE = 177,\n\tCPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE = 178,\n\tCPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE = 179,\n\tCPUHP_AP_PERF_ARM_MRVL_PEM_ONLINE = 180,\n\tCPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE = 181,\n\tCPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE = 182,\n\tCPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE = 183,\n\tCPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE = 184,\n\tCPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE = 185,\n\tCPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE = 186,\n\tCPUHP_AP_PERF_CSKY_ONLINE = 187,\n\tCPUHP_AP_TMIGR_ONLINE = 188,\n\tCPUHP_AP_WATCHDOG_ONLINE = 189,\n\tCPUHP_AP_WORKQUEUE_ONLINE = 190,\n\tCPUHP_AP_RANDOM_ONLINE = 191,\n\tCPUHP_AP_RCUTREE_ONLINE = 192,\n\tCPUHP_AP_KTHREADS_ONLINE = 193,\n\tCPUHP_AP_BASE_CACHEINFO_ONLINE = 194,\n\tCPUHP_AP_ONLINE_DYN = 195,\n\tCPUHP_AP_ONLINE_DYN_END = 235,\n\tCPUHP_AP_X86_HPET_ONLINE = 236,\n\tCPUHP_AP_X86_KVM_CLK_ONLINE = 237,\n\tCPUHP_AP_ACTIVE = 238,\n\tCPUHP_ONLINE = 239,\n};\n\nenum cpuhp_sync_state {\n\tSYNC_STATE_DEAD = 0,\n\tSYNC_STATE_KICKED = 1,\n\tSYNC_STATE_SHOULD_DIE = 2,\n\tSYNC_STATE_ALIVE = 3,\n\tSYNC_STATE_SHOULD_ONLINE = 4,\n\tSYNC_STATE_ONLINE = 5,\n};\n\nenum createmode4 {\n\tNFS4_CREATE_UNCHECKED = 0,\n\tNFS4_CREATE_GUARDED = 1,\n\tNFS4_CREATE_EXCLUSIVE = 2,\n\tNFS4_CREATE_EXCLUSIVE4_1 = 3,\n};\n\nenum criteria {\n\tCR_POWER2_ALIGNED = 0,\n\tCR_GOAL_LEN_FAST = 1,\n\tCR_BEST_AVAIL_LEN = 2,\n\tCR_GOAL_LEN_SLOW = 3,\n\tCR_ANY_FREE = 4,\n\tEXT4_MB_NUM_CRS = 5,\n};\n\nenum crypto_attr_type_t {\n\tCRYPTOCFGA_UNSPEC = 0,\n\tCRYPTOCFGA_PRIORITY_VAL = 1,\n\tCRYPTOCFGA_REPORT_LARVAL = 2,\n\tCRYPTOCFGA_REPORT_HASH = 3,\n\tCRYPTOCFGA_REPORT_BLKCIPHER = 4,\n\tCRYPTOCFGA_REPORT_AEAD = 5,\n\tCRYPTOCFGA_REPORT_COMPRESS = 6,\n\tCRYPTOCFGA_REPORT_RNG = 7,\n\tCRYPTOCFGA_REPORT_CIPHER = 8,\n\tCRYPTOCFGA_REPORT_AKCIPHER = 9,\n\tCRYPTOCFGA_REPORT_KPP = 10,\n\tCRYPTOCFGA_REPORT_ACOMP = 11,\n\tCRYPTOCFGA_STAT_LARVAL = 12,\n\tCRYPTOCFGA_STAT_HASH = 13,\n\tCRYPTOCFGA_STAT_BLKCIPHER = 14,\n\tCRYPTOCFGA_STAT_AEAD = 15,\n\tCRYPTOCFGA_STAT_COMPRESS = 16,\n\tCRYPTOCFGA_STAT_RNG = 17,\n\tCRYPTOCFGA_STAT_CIPHER = 18,\n\tCRYPTOCFGA_STAT_AKCIPHER = 19,\n\tCRYPTOCFGA_STAT_KPP = 20,\n\tCRYPTOCFGA_STAT_ACOMP = 21,\n\tCRYPTOCFGA_REPORT_SIG = 22,\n\t__CRYPTOCFGA_MAX = 23,\n};\n\nenum csr_regs {\n\tB0_RAP = 0,\n\tB0_CTST = 4,\n\tB0_POWER_CTRL = 7,\n\tB0_ISRC = 8,\n\tB0_IMSK = 12,\n\tB0_HWE_ISRC = 16,\n\tB0_HWE_IMSK = 20,\n\tB0_Y2_SP_ISRC2 = 28,\n\tB0_Y2_SP_ISRC3 = 32,\n\tB0_Y2_SP_EISR = 36,\n\tB0_Y2_SP_LISR = 40,\n\tB0_Y2_SP_ICR = 44,\n\tB2_MAC_1 = 256,\n\tB2_MAC_2 = 264,\n\tB2_MAC_3 = 272,\n\tB2_CONN_TYP = 280,\n\tB2_PMD_TYP = 281,\n\tB2_MAC_CFG = 282,\n\tB2_CHIP_ID = 283,\n\tB2_E_0 = 284,\n\tB2_Y2_CLK_GATE = 285,\n\tB2_Y2_HW_RES = 286,\n\tB2_E_3 = 287,\n\tB2_Y2_CLK_CTRL = 288,\n\tB2_TI_INI = 304,\n\tB2_TI_VAL = 308,\n\tB2_TI_CTRL = 312,\n\tB2_TI_TEST = 313,\n\tB2_TST_CTRL1 = 344,\n\tB2_TST_CTRL2 = 345,\n\tB2_GP_IO = 348,\n\tB2_I2C_CTRL = 352,\n\tB2_I2C_DATA = 356,\n\tB2_I2C_IRQ = 360,\n\tB2_I2C_SW = 364,\n\tY2_PEX_PHY_DATA = 368,\n\tY2_PEX_PHY_ADDR = 370,\n\tB3_RAM_ADDR = 384,\n\tB3_RAM_DATA_LO = 388,\n\tB3_RAM_DATA_HI = 392,\n\tB3_RI_WTO_R1 = 400,\n\tB3_RI_WTO_XA1 = 401,\n\tB3_RI_WTO_XS1 = 402,\n\tB3_RI_RTO_R1 = 403,\n\tB3_RI_RTO_XA1 = 404,\n\tB3_RI_RTO_XS1 = 405,\n\tB3_RI_WTO_R2 = 406,\n\tB3_RI_WTO_XA2 = 407,\n\tB3_RI_WTO_XS2 = 408,\n\tB3_RI_RTO_R2 = 409,\n\tB3_RI_RTO_XA2 = 410,\n\tB3_RI_RTO_XS2 = 411,\n\tB3_RI_TO_VAL = 412,\n\tB3_RI_CTRL = 416,\n\tB3_RI_TEST = 418,\n\tB3_MA_TOINI_RX1 = 432,\n\tB3_MA_TOINI_RX2 = 433,\n\tB3_MA_TOINI_TX1 = 434,\n\tB3_MA_TOINI_TX2 = 435,\n\tB3_MA_TOVAL_RX1 = 436,\n\tB3_MA_TOVAL_RX2 = 437,\n\tB3_MA_TOVAL_TX1 = 438,\n\tB3_MA_TOVAL_TX2 = 439,\n\tB3_MA_TO_CTRL = 440,\n\tB3_MA_TO_TEST = 442,\n\tB3_MA_RCINI_RX1 = 448,\n\tB3_MA_RCINI_RX2 = 449,\n\tB3_MA_RCINI_TX1 = 450,\n\tB3_MA_RCINI_TX2 = 451,\n\tB3_MA_RCVAL_RX1 = 452,\n\tB3_MA_RCVAL_RX2 = 453,\n\tB3_MA_RCVAL_TX1 = 454,\n\tB3_MA_RCVAL_TX2 = 455,\n\tB3_MA_RC_CTRL = 456,\n\tB3_MA_RC_TEST = 458,\n\tB3_PA_TOINI_RX1 = 464,\n\tB3_PA_TOINI_RX2 = 468,\n\tB3_PA_TOINI_TX1 = 472,\n\tB3_PA_TOINI_TX2 = 476,\n\tB3_PA_TOVAL_RX1 = 480,\n\tB3_PA_TOVAL_RX2 = 484,\n\tB3_PA_TOVAL_TX1 = 488,\n\tB3_PA_TOVAL_TX2 = 492,\n\tB3_PA_CTRL = 496,\n\tB3_PA_TEST = 498,\n\tY2_CFG_SPC = 7168,\n\tY2_CFG_AER = 7424,\n};\n\nenum csr_target {\n\tMACRO_CTRL = 7,\n};\n\nenum ct_dccp_states {\n\tCT_DCCP_NONE = 0,\n\tCT_DCCP_REQUEST = 1,\n\tCT_DCCP_RESPOND = 2,\n\tCT_DCCP_PARTOPEN = 3,\n\tCT_DCCP_OPEN = 4,\n\tCT_DCCP_CLOSEREQ = 5,\n\tCT_DCCP_CLOSING = 6,\n\tCT_DCCP_TIMEWAIT = 7,\n\tCT_DCCP_IGNORE = 8,\n\tCT_DCCP_INVALID = 9,\n\t__CT_DCCP_MAX = 10,\n};\n\nenum cti_port_type {\n\tCTI_PORT_TYPE_NONE = 0,\n\tCTI_PORT_TYPE_RS232 = 1,\n\tCTI_PORT_TYPE_RS422_485 = 2,\n\tCTI_PORT_TYPE_RS232_422_485_HW = 3,\n\tCTI_PORT_TYPE_RS232_422_485_SW = 4,\n\tCTI_PORT_TYPE_RS232_422_485_4B = 5,\n\tCTI_PORT_TYPE_RS232_422_485_2B = 6,\n\tCTI_PORT_TYPE_MAX = 7,\n};\n\nenum ctx_state {\n\tCT_STATE_DISABLED = -1,\n\tCT_STATE_KERNEL = 0,\n\tCT_STATE_IDLE = 1,\n\tCT_STATE_USER = 2,\n\tCT_STATE_GUEST = 3,\n\tCT_STATE_MAX = 4,\n};\n\nenum cxl_event_type {\n\tCXL_CPER_EVENT_GENERIC = 0,\n\tCXL_CPER_EVENT_GEN_MEDIA = 1,\n\tCXL_CPER_EVENT_DRAM = 2,\n\tCXL_CPER_EVENT_MEM_MODULE = 3,\n};\n\nenum d_real_type {\n\tD_REAL_DATA = 0,\n\tD_REAL_METADATA = 1,\n};\n\nenum d_walk_ret {\n\tD_WALK_CONTINUE = 0,\n\tD_WALK_QUIT = 1,\n\tD_WALK_NORETRY = 2,\n\tD_WALK_SKIP = 3,\n};\n\nenum dart_type {\n\tDART_T8020 = 0,\n\tDART_T6000 = 1,\n\tDART_T8110 = 2,\n};\n\nenum data_content4 {\n\tNFS4_CONTENT_DATA = 0,\n\tNFS4_CONTENT_HOLE = 1,\n};\n\nenum dbc_state {\n\tDS_DISABLED = 0,\n\tDS_INITIALIZED = 1,\n\tDS_ENABLED = 2,\n\tDS_CONNECTED = 3,\n\tDS_CONFIGURED = 4,\n\tDS_MAX = 5,\n};\n\nenum dbg_active_el {\n\tDBG_ACTIVE_EL0 = 0,\n\tDBG_ACTIVE_EL1 = 1,\n};\n\nenum dbgfs_get_mode {\n\tDBGFS_GET_ALREADY = 0,\n\tDBGFS_GET_REGULAR = 1,\n\tDBGFS_GET_SHORT = 2,\n};\n\nenum dccp_state {\n\tDCCP_OPEN = 1,\n\tDCCP_REQUESTING = 2,\n\tDCCP_LISTEN = 10,\n\tDCCP_RESPOND = 3,\n\tDCCP_ACTIVE_CLOSEREQ = 4,\n\tDCCP_PASSIVE_CLOSE = 8,\n\tDCCP_CLOSING = 11,\n\tDCCP_TIME_WAIT = 6,\n\tDCCP_CLOSED = 7,\n\tDCCP_NEW_SYN_RECV = 12,\n\tDCCP_PARTOPEN = 14,\n\tDCCP_PASSIVE_CLOSEREQ = 15,\n\tDCCP_MAX_STATES = 16,\n};\n\nenum dd_data_dir {\n\tDD_READ = 0,\n\tDD_WRITE = 1,\n};\n\nenum dd_prio {\n\tDD_RT_PRIO = 0,\n\tDD_BE_PRIO = 1,\n\tDD_IDLE_PRIO = 2,\n\tDD_PRIO_MAX = 2,\n};\n\nenum debug_counters {\n\tSENT_OK = 0,\n\tSENT_FAIL = 1,\n\tSENT_FAIL_POLLING_UNSUPPORTED = 2,\n\tSENT_FAIL_CHANNEL_NOT_FOUND = 3,\n\tRESPONSE_OK = 4,\n\tNOTIFICATION_OK = 5,\n\tDELAYED_RESPONSE_OK = 6,\n\tXFERS_RESPONSE_TIMEOUT = 7,\n\tXFERS_RESPONSE_POLLED_TIMEOUT = 8,\n\tRESPONSE_POLLED_OK = 9,\n\tERR_MSG_UNEXPECTED = 10,\n\tERR_MSG_INVALID = 11,\n\tERR_MSG_NOMEM = 12,\n\tERR_PROTOCOL = 13,\n\tSCMI_DEBUG_COUNTERS_LAST = 14,\n};\n\nenum dentry_d_lock_class {\n\tDENTRY_D_LOCK_NORMAL = 0,\n\tDENTRY_D_LOCK_NESTED = 1,\n};\n\nenum depot_counter_id {\n\tDEPOT_COUNTER_REFD_ALLOCS = 0,\n\tDEPOT_COUNTER_REFD_FREES = 1,\n\tDEPOT_COUNTER_REFD_INUSE = 2,\n\tDEPOT_COUNTER_FREELIST_SIZE = 3,\n\tDEPOT_COUNTER_PERSIST_COUNT = 4,\n\tDEPOT_COUNTER_PERSIST_BYTES = 5,\n\tDEPOT_COUNTER_COUNT = 6,\n};\n\nenum desc_header_offset {\n\tQUERY_DESC_LENGTH_OFFSET = 0,\n\tQUERY_DESC_DESC_TYPE_OFFSET = 1,\n};\n\nenum desc_id {\n\tAVE_DESCID_RX = 0,\n\tAVE_DESCID_TX = 1,\n};\n\nenum desc_idn {\n\tQUERY_DESC_IDN_DEVICE = 0,\n\tQUERY_DESC_IDN_CONFIGURATION = 1,\n\tQUERY_DESC_IDN_UNIT = 2,\n\tQUERY_DESC_IDN_RFU_0 = 3,\n\tQUERY_DESC_IDN_INTERCONNECT = 4,\n\tQUERY_DESC_IDN_STRING = 5,\n\tQUERY_DESC_IDN_RFU_1 = 6,\n\tQUERY_DESC_IDN_GEOMETRY = 7,\n\tQUERY_DESC_IDN_POWER = 8,\n\tQUERY_DESC_IDN_HEALTH = 9,\n\tQUERY_DESC_IDN_MAX = 10,\n};\n\nenum desc_state {\n\tdesc_miss = -1,\n\tdesc_reserved = 0,\n\tdesc_committed = 1,\n\tdesc_finalized = 2,\n\tdesc_reusable = 3,\n};\n\nenum desc_state___2 {\n\tAVE_DESC_RX_PERMIT = 0,\n\tAVE_DESC_RX_SUSPEND = 1,\n\tAVE_DESC_START = 2,\n\tAVE_DESC_STOP = 3,\n};\n\nenum desc_status {\n\tFREE = 0,\n\tPREP = 1,\n\tBUSY = 2,\n\tPAUSED = 3,\n\tDONE___2 = 4,\n};\n\nenum dev_cmd_type {\n\tDEV_CMD_TYPE_NOP = 0,\n\tDEV_CMD_TYPE_QUERY = 1,\n\tDEV_CMD_TYPE_RPMB = 2,\n};\n\nenum dev_dma_attr {\n\tDEV_DMA_NOT_SUPPORTED = 0,\n\tDEV_DMA_NON_COHERENT = 1,\n\tDEV_DMA_COHERENT = 2,\n};\n\nenum dev_pm_opp_event {\n\tOPP_EVENT_ADD = 0,\n\tOPP_EVENT_REMOVE = 1,\n\tOPP_EVENT_ENABLE = 2,\n\tOPP_EVENT_DISABLE = 3,\n\tOPP_EVENT_ADJUST_VOLTAGE = 4,\n};\n\nenum dev_pm_qos_req_type {\n\tDEV_PM_QOS_RESUME_LATENCY = 1,\n\tDEV_PM_QOS_LATENCY_TOLERANCE = 2,\n\tDEV_PM_QOS_MIN_FREQUENCY = 3,\n\tDEV_PM_QOS_MAX_FREQUENCY = 4,\n\tDEV_PM_QOS_FLAGS = 5,\n};\n\nenum dev_prop_type {\n\tDEV_PROP_U8 = 0,\n\tDEV_PROP_U16 = 1,\n\tDEV_PROP_U32 = 2,\n\tDEV_PROP_U64 = 3,\n\tDEV_PROP_STRING = 4,\n\tDEV_PROP_REF = 5,\n};\n\nenum dev_status {\n\tHISI_SAS_DEV_INIT = 0,\n\tHISI_SAS_DEV_NORMAL = 1,\n\tHISI_SAS_DEV_NCQ_ERR = 2,\n};\n\nenum dev_type {\n\tDEV_UNKNOWN = 0,\n\tDEV_X1 = 1,\n\tDEV_X2 = 2,\n\tDEV_X4 = 3,\n\tDEV_X8 = 4,\n\tDEV_X16 = 5,\n\tDEV_X32 = 6,\n\tDEV_X64 = 7,\n};\n\nenum devcg_behavior {\n\tDEVCG_DEFAULT_NONE = 0,\n\tDEVCG_DEFAULT_ALLOW = 1,\n\tDEVCG_DEFAULT_DENY = 2,\n};\n\nenum devfreq_parent_dev_type {\n\tDEVFREQ_PARENT_DEV = 0,\n\tCPUFREQ_PARENT_DEV = 1,\n};\n\nenum devfreq_timer {\n\tDEVFREQ_TIMER_DEFERRABLE = 0,\n\tDEVFREQ_TIMER_DELAYED = 1,\n\tDEVFREQ_TIMER_NUM = 2,\n};\n\nenum device_desc_param {\n\tDEVICE_DESC_PARAM_LEN = 0,\n\tDEVICE_DESC_PARAM_TYPE = 1,\n\tDEVICE_DESC_PARAM_DEVICE_TYPE = 2,\n\tDEVICE_DESC_PARAM_DEVICE_CLASS = 3,\n\tDEVICE_DESC_PARAM_DEVICE_SUB_CLASS = 4,\n\tDEVICE_DESC_PARAM_PRTCL = 5,\n\tDEVICE_DESC_PARAM_NUM_LU = 6,\n\tDEVICE_DESC_PARAM_NUM_WLU = 7,\n\tDEVICE_DESC_PARAM_BOOT_ENBL = 8,\n\tDEVICE_DESC_PARAM_DESC_ACCSS_ENBL = 9,\n\tDEVICE_DESC_PARAM_INIT_PWR_MODE = 10,\n\tDEVICE_DESC_PARAM_HIGH_PR_LUN = 11,\n\tDEVICE_DESC_PARAM_SEC_RMV_TYPE = 12,\n\tDEVICE_DESC_PARAM_SEC_LU = 13,\n\tDEVICE_DESC_PARAM_BKOP_TERM_LT = 14,\n\tDEVICE_DESC_PARAM_ACTVE_ICC_LVL = 15,\n\tDEVICE_DESC_PARAM_SPEC_VER = 16,\n\tDEVICE_DESC_PARAM_MANF_DATE = 18,\n\tDEVICE_DESC_PARAM_MANF_NAME = 20,\n\tDEVICE_DESC_PARAM_PRDCT_NAME = 21,\n\tDEVICE_DESC_PARAM_SN = 22,\n\tDEVICE_DESC_PARAM_OEM_ID = 23,\n\tDEVICE_DESC_PARAM_MANF_ID = 24,\n\tDEVICE_DESC_PARAM_UD_OFFSET = 26,\n\tDEVICE_DESC_PARAM_UD_LEN = 27,\n\tDEVICE_DESC_PARAM_RTT_CAP = 28,\n\tDEVICE_DESC_PARAM_FRQ_RTC = 29,\n\tDEVICE_DESC_PARAM_UFS_FEAT = 31,\n\tDEVICE_DESC_PARAM_FFU_TMT = 32,\n\tDEVICE_DESC_PARAM_Q_DPTH = 33,\n\tDEVICE_DESC_PARAM_DEV_VER = 34,\n\tDEVICE_DESC_PARAM_NUM_SEC_WPA = 36,\n\tDEVICE_DESC_PARAM_PSA_MAX_DATA = 37,\n\tDEVICE_DESC_PARAM_PSA_TMT = 41,\n\tDEVICE_DESC_PARAM_PRDCT_REV = 42,\n\tDEVICE_DESC_PARAM_HPB_VER = 64,\n\tDEVICE_DESC_PARAM_HPB_CONTROL = 66,\n\tDEVICE_DESC_PARAM_EXT_UFS_FEATURE_SUP = 79,\n\tDEVICE_DESC_PARAM_WB_PRESRV_USRSPC_EN = 83,\n\tDEVICE_DESC_PARAM_WB_TYPE = 84,\n\tDEVICE_DESC_PARAM_WB_SHARED_ALLOC_UNITS = 85,\n};\n\nenum device_id {\n\tMAX8973 = 0,\n\tMAX77621 = 1,\n};\n\nenum device_link_state {\n\tDL_STATE_NONE = -1,\n\tDL_STATE_DORMANT = 0,\n\tDL_STATE_AVAILABLE = 1,\n\tDL_STATE_CONSUMER_PROBE = 2,\n\tDL_STATE_ACTIVE = 3,\n\tDL_STATE_SUPPLIER_UNBIND = 4,\n};\n\nenum device_physical_location_horizontal_position {\n\tDEVICE_HORI_POS_LEFT = 0,\n\tDEVICE_HORI_POS_CENTER = 1,\n\tDEVICE_HORI_POS_RIGHT = 2,\n};\n\nenum device_physical_location_panel {\n\tDEVICE_PANEL_TOP = 0,\n\tDEVICE_PANEL_BOTTOM = 1,\n\tDEVICE_PANEL_LEFT = 2,\n\tDEVICE_PANEL_RIGHT = 3,\n\tDEVICE_PANEL_FRONT = 4,\n\tDEVICE_PANEL_BACK = 5,\n\tDEVICE_PANEL_UNKNOWN = 6,\n};\n\nenum device_physical_location_vertical_position {\n\tDEVICE_VERT_POS_UPPER = 0,\n\tDEVICE_VERT_POS_CENTER = 1,\n\tDEVICE_VERT_POS_LOWER = 2,\n};\n\nenum device_removable {\n\tDEVICE_REMOVABLE_NOT_SUPPORTED = 0,\n\tDEVICE_REMOVABLE_UNKNOWN = 1,\n\tDEVICE_FIXED = 2,\n\tDEVICE_REMOVABLE = 3,\n};\n\nenum devkmsg_log_bits {\n\t__DEVKMSG_LOG_BIT_ON = 0,\n\t__DEVKMSG_LOG_BIT_OFF = 1,\n\t__DEVKMSG_LOG_BIT_LOCK = 2,\n};\n\nenum devkmsg_log_masks {\n\tDEVKMSG_LOG_MASK_ON = 1,\n\tDEVKMSG_LOG_MASK_OFF = 2,\n\tDEVKMSG_LOG_MASK_LOCK = 4,\n};\n\nenum devlink_attr {\n\tDEVLINK_ATTR_UNSPEC = 0,\n\tDEVLINK_ATTR_BUS_NAME = 1,\n\tDEVLINK_ATTR_DEV_NAME = 2,\n\tDEVLINK_ATTR_PORT_INDEX = 3,\n\tDEVLINK_ATTR_PORT_TYPE = 4,\n\tDEVLINK_ATTR_PORT_DESIRED_TYPE = 5,\n\tDEVLINK_ATTR_PORT_NETDEV_IFINDEX = 6,\n\tDEVLINK_ATTR_PORT_NETDEV_NAME = 7,\n\tDEVLINK_ATTR_PORT_IBDEV_NAME = 8,\n\tDEVLINK_ATTR_PORT_SPLIT_COUNT = 9,\n\tDEVLINK_ATTR_PORT_SPLIT_GROUP = 10,\n\tDEVLINK_ATTR_SB_INDEX = 11,\n\tDEVLINK_ATTR_SB_SIZE = 12,\n\tDEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 13,\n\tDEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 14,\n\tDEVLINK_ATTR_SB_INGRESS_TC_COUNT = 15,\n\tDEVLINK_ATTR_SB_EGRESS_TC_COUNT = 16,\n\tDEVLINK_ATTR_SB_POOL_INDEX = 17,\n\tDEVLINK_ATTR_SB_POOL_TYPE = 18,\n\tDEVLINK_ATTR_SB_POOL_SIZE = 19,\n\tDEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 20,\n\tDEVLINK_ATTR_SB_THRESHOLD = 21,\n\tDEVLINK_ATTR_SB_TC_INDEX = 22,\n\tDEVLINK_ATTR_SB_OCC_CUR = 23,\n\tDEVLINK_ATTR_SB_OCC_MAX = 24,\n\tDEVLINK_ATTR_ESWITCH_MODE = 25,\n\tDEVLINK_ATTR_ESWITCH_INLINE_MODE = 26,\n\tDEVLINK_ATTR_DPIPE_TABLES = 27,\n\tDEVLINK_ATTR_DPIPE_TABLE = 28,\n\tDEVLINK_ATTR_DPIPE_TABLE_NAME = 29,\n\tDEVLINK_ATTR_DPIPE_TABLE_SIZE = 30,\n\tDEVLINK_ATTR_DPIPE_TABLE_MATCHES = 31,\n\tDEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 32,\n\tDEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 33,\n\tDEVLINK_ATTR_DPIPE_ENTRIES = 34,\n\tDEVLINK_ATTR_DPIPE_ENTRY = 35,\n\tDEVLINK_ATTR_DPIPE_ENTRY_INDEX = 36,\n\tDEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 37,\n\tDEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 38,\n\tDEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 39,\n\tDEVLINK_ATTR_DPIPE_MATCH = 40,\n\tDEVLINK_ATTR_DPIPE_MATCH_VALUE = 41,\n\tDEVLINK_ATTR_DPIPE_MATCH_TYPE = 42,\n\tDEVLINK_ATTR_DPIPE_ACTION = 43,\n\tDEVLINK_ATTR_DPIPE_ACTION_VALUE = 44,\n\tDEVLINK_ATTR_DPIPE_ACTION_TYPE = 45,\n\tDEVLINK_ATTR_DPIPE_VALUE = 46,\n\tDEVLINK_ATTR_DPIPE_VALUE_MASK = 47,\n\tDEVLINK_ATTR_DPIPE_VALUE_MAPPING = 48,\n\tDEVLINK_ATTR_DPIPE_HEADERS = 49,\n\tDEVLINK_ATTR_DPIPE_HEADER = 50,\n\tDEVLINK_ATTR_DPIPE_HEADER_NAME = 51,\n\tDEVLINK_ATTR_DPIPE_HEADER_ID = 52,\n\tDEVLINK_ATTR_DPIPE_HEADER_FIELDS = 53,\n\tDEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 54,\n\tDEVLINK_ATTR_DPIPE_HEADER_INDEX = 55,\n\tDEVLINK_ATTR_DPIPE_FIELD = 56,\n\tDEVLINK_ATTR_DPIPE_FIELD_NAME = 57,\n\tDEVLINK_ATTR_DPIPE_FIELD_ID = 58,\n\tDEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 59,\n\tDEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 60,\n\tDEVLINK_ATTR_PAD = 61,\n\tDEVLINK_ATTR_ESWITCH_ENCAP_MODE = 62,\n\tDEVLINK_ATTR_RESOURCE_LIST = 63,\n\tDEVLINK_ATTR_RESOURCE = 64,\n\tDEVLINK_ATTR_RESOURCE_NAME = 65,\n\tDEVLINK_ATTR_RESOURCE_ID = 66,\n\tDEVLINK_ATTR_RESOURCE_SIZE = 67,\n\tDEVLINK_ATTR_RESOURCE_SIZE_NEW = 68,\n\tDEVLINK_ATTR_RESOURCE_SIZE_VALID = 69,\n\tDEVLINK_ATTR_RESOURCE_SIZE_MIN = 70,\n\tDEVLINK_ATTR_RESOURCE_SIZE_MAX = 71,\n\tDEVLINK_ATTR_RESOURCE_SIZE_GRAN = 72,\n\tDEVLINK_ATTR_RESOURCE_UNIT = 73,\n\tDEVLINK_ATTR_RESOURCE_OCC = 74,\n\tDEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID = 75,\n\tDEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS = 76,\n\tDEVLINK_ATTR_PORT_FLAVOUR = 77,\n\tDEVLINK_ATTR_PORT_NUMBER = 78,\n\tDEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER = 79,\n\tDEVLINK_ATTR_PARAM = 80,\n\tDEVLINK_ATTR_PARAM_NAME = 81,\n\tDEVLINK_ATTR_PARAM_GENERIC = 82,\n\tDEVLINK_ATTR_PARAM_TYPE = 83,\n\tDEVLINK_ATTR_PARAM_VALUES_LIST = 84,\n\tDEVLINK_ATTR_PARAM_VALUE = 85,\n\tDEVLINK_ATTR_PARAM_VALUE_DATA = 86,\n\tDEVLINK_ATTR_PARAM_VALUE_CMODE = 87,\n\tDEVLINK_ATTR_REGION_NAME = 88,\n\tDEVLINK_ATTR_REGION_SIZE = 89,\n\tDEVLINK_ATTR_REGION_SNAPSHOTS = 90,\n\tDEVLINK_ATTR_REGION_SNAPSHOT = 91,\n\tDEVLINK_ATTR_REGION_SNAPSHOT_ID = 92,\n\tDEVLINK_ATTR_REGION_CHUNKS = 93,\n\tDEVLINK_ATTR_REGION_CHUNK = 94,\n\tDEVLINK_ATTR_REGION_CHUNK_DATA = 95,\n\tDEVLINK_ATTR_REGION_CHUNK_ADDR = 96,\n\tDEVLINK_ATTR_REGION_CHUNK_LEN = 97,\n\tDEVLINK_ATTR_INFO_DRIVER_NAME = 98,\n\tDEVLINK_ATTR_INFO_SERIAL_NUMBER = 99,\n\tDEVLINK_ATTR_INFO_VERSION_FIXED = 100,\n\tDEVLINK_ATTR_INFO_VERSION_RUNNING = 101,\n\tDEVLINK_ATTR_INFO_VERSION_STORED = 102,\n\tDEVLINK_ATTR_INFO_VERSION_NAME = 103,\n\tDEVLINK_ATTR_INFO_VERSION_VALUE = 104,\n\tDEVLINK_ATTR_SB_POOL_CELL_SIZE = 105,\n\tDEVLINK_ATTR_FMSG = 106,\n\tDEVLINK_ATTR_FMSG_OBJ_NEST_START = 107,\n\tDEVLINK_ATTR_FMSG_PAIR_NEST_START = 108,\n\tDEVLINK_ATTR_FMSG_ARR_NEST_START = 109,\n\tDEVLINK_ATTR_FMSG_NEST_END = 110,\n\tDEVLINK_ATTR_FMSG_OBJ_NAME = 111,\n\tDEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE = 112,\n\tDEVLINK_ATTR_FMSG_OBJ_VALUE_DATA = 113,\n\tDEVLINK_ATTR_HEALTH_REPORTER = 114,\n\tDEVLINK_ATTR_HEALTH_REPORTER_NAME = 115,\n\tDEVLINK_ATTR_HEALTH_REPORTER_STATE = 116,\n\tDEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT = 117,\n\tDEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT = 118,\n\tDEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS = 119,\n\tDEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD = 120,\n\tDEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER = 121,\n\tDEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = 122,\n\tDEVLINK_ATTR_FLASH_UPDATE_COMPONENT = 123,\n\tDEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG = 124,\n\tDEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE = 125,\n\tDEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL = 126,\n\tDEVLINK_ATTR_PORT_PCI_PF_NUMBER = 127,\n\tDEVLINK_ATTR_PORT_PCI_VF_NUMBER = 128,\n\tDEVLINK_ATTR_STATS = 129,\n\tDEVLINK_ATTR_TRAP_NAME = 130,\n\tDEVLINK_ATTR_TRAP_ACTION = 131,\n\tDEVLINK_ATTR_TRAP_TYPE = 132,\n\tDEVLINK_ATTR_TRAP_GENERIC = 133,\n\tDEVLINK_ATTR_TRAP_METADATA = 134,\n\tDEVLINK_ATTR_TRAP_GROUP_NAME = 135,\n\tDEVLINK_ATTR_RELOAD_FAILED = 136,\n\tDEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS = 137,\n\tDEVLINK_ATTR_NETNS_FD = 138,\n\tDEVLINK_ATTR_NETNS_PID = 139,\n\tDEVLINK_ATTR_NETNS_ID = 140,\n\tDEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP = 141,\n\tDEVLINK_ATTR_TRAP_POLICER_ID = 142,\n\tDEVLINK_ATTR_TRAP_POLICER_RATE = 143,\n\tDEVLINK_ATTR_TRAP_POLICER_BURST = 144,\n\tDEVLINK_ATTR_PORT_FUNCTION = 145,\n\tDEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER = 146,\n\tDEVLINK_ATTR_PORT_LANES = 147,\n\tDEVLINK_ATTR_PORT_SPLITTABLE = 148,\n\tDEVLINK_ATTR_PORT_EXTERNAL = 149,\n\tDEVLINK_ATTR_PORT_CONTROLLER_NUMBER = 150,\n\tDEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT = 151,\n\tDEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = 152,\n\tDEVLINK_ATTR_RELOAD_ACTION = 153,\n\tDEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED = 154,\n\tDEVLINK_ATTR_RELOAD_LIMITS = 155,\n\tDEVLINK_ATTR_DEV_STATS = 156,\n\tDEVLINK_ATTR_RELOAD_STATS = 157,\n\tDEVLINK_ATTR_RELOAD_STATS_ENTRY = 158,\n\tDEVLINK_ATTR_RELOAD_STATS_LIMIT = 159,\n\tDEVLINK_ATTR_RELOAD_STATS_VALUE = 160,\n\tDEVLINK_ATTR_REMOTE_RELOAD_STATS = 161,\n\tDEVLINK_ATTR_RELOAD_ACTION_INFO = 162,\n\tDEVLINK_ATTR_RELOAD_ACTION_STATS = 163,\n\tDEVLINK_ATTR_PORT_PCI_SF_NUMBER = 164,\n\tDEVLINK_ATTR_RATE_TYPE = 165,\n\tDEVLINK_ATTR_RATE_TX_SHARE = 166,\n\tDEVLINK_ATTR_RATE_TX_MAX = 167,\n\tDEVLINK_ATTR_RATE_NODE_NAME = 168,\n\tDEVLINK_ATTR_RATE_PARENT_NODE_NAME = 169,\n\tDEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 170,\n\tDEVLINK_ATTR_LINECARD_INDEX = 171,\n\tDEVLINK_ATTR_LINECARD_STATE = 172,\n\tDEVLINK_ATTR_LINECARD_TYPE = 173,\n\tDEVLINK_ATTR_LINECARD_SUPPORTED_TYPES = 174,\n\tDEVLINK_ATTR_NESTED_DEVLINK = 175,\n\tDEVLINK_ATTR_SELFTESTS = 176,\n\tDEVLINK_ATTR_RATE_TX_PRIORITY = 177,\n\tDEVLINK_ATTR_RATE_TX_WEIGHT = 178,\n\tDEVLINK_ATTR_REGION_DIRECT = 179,\n\t__DEVLINK_ATTR_MAX = 180,\n\tDEVLINK_ATTR_MAX = 179,\n};\n\nenum devlink_attr_selftest_id {\n\tDEVLINK_ATTR_SELFTEST_ID_UNSPEC = 0,\n\tDEVLINK_ATTR_SELFTEST_ID_FLASH = 1,\n\t__DEVLINK_ATTR_SELFTEST_ID_MAX = 2,\n\tDEVLINK_ATTR_SELFTEST_ID_MAX = 1,\n};\n\nenum devlink_attr_selftest_result {\n\tDEVLINK_ATTR_SELFTEST_RESULT_UNSPEC = 0,\n\tDEVLINK_ATTR_SELFTEST_RESULT = 1,\n\tDEVLINK_ATTR_SELFTEST_RESULT_ID = 2,\n\tDEVLINK_ATTR_SELFTEST_RESULT_STATUS = 3,\n\t__DEVLINK_ATTR_SELFTEST_RESULT_MAX = 4,\n\tDEVLINK_ATTR_SELFTEST_RESULT_MAX = 3,\n};\n\nenum devlink_command {\n\tDEVLINK_CMD_UNSPEC = 0,\n\tDEVLINK_CMD_GET = 1,\n\tDEVLINK_CMD_SET = 2,\n\tDEVLINK_CMD_NEW = 3,\n\tDEVLINK_CMD_DEL = 4,\n\tDEVLINK_CMD_PORT_GET = 5,\n\tDEVLINK_CMD_PORT_SET = 6,\n\tDEVLINK_CMD_PORT_NEW = 7,\n\tDEVLINK_CMD_PORT_DEL = 8,\n\tDEVLINK_CMD_PORT_SPLIT = 9,\n\tDEVLINK_CMD_PORT_UNSPLIT = 10,\n\tDEVLINK_CMD_SB_GET = 11,\n\tDEVLINK_CMD_SB_SET = 12,\n\tDEVLINK_CMD_SB_NEW = 13,\n\tDEVLINK_CMD_SB_DEL = 14,\n\tDEVLINK_CMD_SB_POOL_GET = 15,\n\tDEVLINK_CMD_SB_POOL_SET = 16,\n\tDEVLINK_CMD_SB_POOL_NEW = 17,\n\tDEVLINK_CMD_SB_POOL_DEL = 18,\n\tDEVLINK_CMD_SB_PORT_POOL_GET = 19,\n\tDEVLINK_CMD_SB_PORT_POOL_SET = 20,\n\tDEVLINK_CMD_SB_PORT_POOL_NEW = 21,\n\tDEVLINK_CMD_SB_PORT_POOL_DEL = 22,\n\tDEVLINK_CMD_SB_TC_POOL_BIND_GET = 23,\n\tDEVLINK_CMD_SB_TC_POOL_BIND_SET = 24,\n\tDEVLINK_CMD_SB_TC_POOL_BIND_NEW = 25,\n\tDEVLINK_CMD_SB_TC_POOL_BIND_DEL = 26,\n\tDEVLINK_CMD_SB_OCC_SNAPSHOT = 27,\n\tDEVLINK_CMD_SB_OCC_MAX_CLEAR = 28,\n\tDEVLINK_CMD_ESWITCH_GET = 29,\n\tDEVLINK_CMD_ESWITCH_SET = 30,\n\tDEVLINK_CMD_DPIPE_TABLE_GET = 31,\n\tDEVLINK_CMD_DPIPE_ENTRIES_GET = 32,\n\tDEVLINK_CMD_DPIPE_HEADERS_GET = 33,\n\tDEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 34,\n\tDEVLINK_CMD_RESOURCE_SET = 35,\n\tDEVLINK_CMD_RESOURCE_DUMP = 36,\n\tDEVLINK_CMD_RELOAD = 37,\n\tDEVLINK_CMD_PARAM_GET = 38,\n\tDEVLINK_CMD_PARAM_SET = 39,\n\tDEVLINK_CMD_PARAM_NEW = 40,\n\tDEVLINK_CMD_PARAM_DEL = 41,\n\tDEVLINK_CMD_REGION_GET = 42,\n\tDEVLINK_CMD_REGION_SET = 43,\n\tDEVLINK_CMD_REGION_NEW = 44,\n\tDEVLINK_CMD_REGION_DEL = 45,\n\tDEVLINK_CMD_REGION_READ = 46,\n\tDEVLINK_CMD_PORT_PARAM_GET = 47,\n\tDEVLINK_CMD_PORT_PARAM_SET = 48,\n\tDEVLINK_CMD_PORT_PARAM_NEW = 49,\n\tDEVLINK_CMD_PORT_PARAM_DEL = 50,\n\tDEVLINK_CMD_INFO_GET = 51,\n\tDEVLINK_CMD_HEALTH_REPORTER_GET = 52,\n\tDEVLINK_CMD_HEALTH_REPORTER_SET = 53,\n\tDEVLINK_CMD_HEALTH_REPORTER_RECOVER = 54,\n\tDEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE = 55,\n\tDEVLINK_CMD_HEALTH_REPORTER_DUMP_GET = 56,\n\tDEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR = 57,\n\tDEVLINK_CMD_FLASH_UPDATE = 58,\n\tDEVLINK_CMD_FLASH_UPDATE_END = 59,\n\tDEVLINK_CMD_FLASH_UPDATE_STATUS = 60,\n\tDEVLINK_CMD_TRAP_GET = 61,\n\tDEVLINK_CMD_TRAP_SET = 62,\n\tDEVLINK_CMD_TRAP_NEW = 63,\n\tDEVLINK_CMD_TRAP_DEL = 64,\n\tDEVLINK_CMD_TRAP_GROUP_GET = 65,\n\tDEVLINK_CMD_TRAP_GROUP_SET = 66,\n\tDEVLINK_CMD_TRAP_GROUP_NEW = 67,\n\tDEVLINK_CMD_TRAP_GROUP_DEL = 68,\n\tDEVLINK_CMD_TRAP_POLICER_GET = 69,\n\tDEVLINK_CMD_TRAP_POLICER_SET = 70,\n\tDEVLINK_CMD_TRAP_POLICER_NEW = 71,\n\tDEVLINK_CMD_TRAP_POLICER_DEL = 72,\n\tDEVLINK_CMD_HEALTH_REPORTER_TEST = 73,\n\tDEVLINK_CMD_RATE_GET = 74,\n\tDEVLINK_CMD_RATE_SET = 75,\n\tDEVLINK_CMD_RATE_NEW = 76,\n\tDEVLINK_CMD_RATE_DEL = 77,\n\tDEVLINK_CMD_LINECARD_GET = 78,\n\tDEVLINK_CMD_LINECARD_SET = 79,\n\tDEVLINK_CMD_LINECARD_NEW = 80,\n\tDEVLINK_CMD_LINECARD_DEL = 81,\n\tDEVLINK_CMD_SELFTESTS_GET = 82,\n\tDEVLINK_CMD_SELFTESTS_RUN = 83,\n\tDEVLINK_CMD_NOTIFY_FILTER_SET = 84,\n\t__DEVLINK_CMD_MAX = 85,\n\tDEVLINK_CMD_MAX = 84,\n};\n\nenum devlink_dpipe_action_type {\n\tDEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0,\n};\n\nenum devlink_dpipe_field_ethernet_id {\n\tDEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0,\n};\n\nenum devlink_dpipe_field_ipv4_id {\n\tDEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0,\n};\n\nenum devlink_dpipe_field_ipv6_id {\n\tDEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0,\n};\n\nenum devlink_dpipe_field_mapping_type {\n\tDEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0,\n\tDEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 1,\n};\n\nenum devlink_dpipe_header_id {\n\tDEVLINK_DPIPE_HEADER_ETHERNET = 0,\n\tDEVLINK_DPIPE_HEADER_IPV4 = 1,\n\tDEVLINK_DPIPE_HEADER_IPV6 = 2,\n};\n\nenum devlink_dpipe_match_type {\n\tDEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0,\n};\n\nenum devlink_eswitch_encap_mode {\n\tDEVLINK_ESWITCH_ENCAP_MODE_NONE = 0,\n\tDEVLINK_ESWITCH_ENCAP_MODE_BASIC = 1,\n};\n\nenum devlink_health_reporter_state {\n\tDEVLINK_HEALTH_REPORTER_STATE_HEALTHY = 0,\n\tDEVLINK_HEALTH_REPORTER_STATE_ERROR = 1,\n};\n\nenum devlink_info_version_type {\n\tDEVLINK_INFO_VERSION_TYPE_NONE = 0,\n\tDEVLINK_INFO_VERSION_TYPE_COMPONENT = 1,\n};\n\nenum devlink_linecard_state {\n\tDEVLINK_LINECARD_STATE_UNSPEC = 0,\n\tDEVLINK_LINECARD_STATE_UNPROVISIONED = 1,\n\tDEVLINK_LINECARD_STATE_UNPROVISIONING = 2,\n\tDEVLINK_LINECARD_STATE_PROVISIONING = 3,\n\tDEVLINK_LINECARD_STATE_PROVISIONING_FAILED = 4,\n\tDEVLINK_LINECARD_STATE_PROVISIONED = 5,\n\tDEVLINK_LINECARD_STATE_ACTIVE = 6,\n\t__DEVLINK_LINECARD_STATE_MAX = 7,\n\tDEVLINK_LINECARD_STATE_MAX = 6,\n};\n\nenum devlink_multicast_groups {\n\tDEVLINK_MCGRP_CONFIG = 0,\n};\n\nenum devlink_param_cmode {\n\tDEVLINK_PARAM_CMODE_RUNTIME = 0,\n\tDEVLINK_PARAM_CMODE_DRIVERINIT = 1,\n\tDEVLINK_PARAM_CMODE_PERMANENT = 2,\n\t__DEVLINK_PARAM_CMODE_MAX = 3,\n\tDEVLINK_PARAM_CMODE_MAX = 2,\n};\n\nenum devlink_param_generic_id {\n\tDEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET = 0,\n\tDEVLINK_PARAM_GENERIC_ID_MAX_MACS = 1,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_SRIOV = 2,\n\tDEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT = 3,\n\tDEVLINK_PARAM_GENERIC_ID_IGNORE_ARI = 4,\n\tDEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MAX = 5,\n\tDEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MIN = 6,\n\tDEVLINK_PARAM_GENERIC_ID_FW_LOAD_POLICY = 7,\n\tDEVLINK_PARAM_GENERIC_ID_RESET_DEV_ON_DRV_PROBE = 8,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE = 9,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_REMOTE_DEV_RESET = 10,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_ETH = 11,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_RDMA = 12,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_VNET = 13,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_IWARP = 14,\n\tDEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE = 15,\n\tDEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE = 16,\n\t__DEVLINK_PARAM_GENERIC_ID_MAX = 17,\n\tDEVLINK_PARAM_GENERIC_ID_MAX = 16,\n};\n\nenum devlink_param_type {\n\tDEVLINK_PARAM_TYPE_U8 = 0,\n\tDEVLINK_PARAM_TYPE_U16 = 1,\n\tDEVLINK_PARAM_TYPE_U32 = 2,\n\tDEVLINK_PARAM_TYPE_STRING = 3,\n\tDEVLINK_PARAM_TYPE_BOOL = 4,\n};\n\nenum devlink_port_flavour {\n\tDEVLINK_PORT_FLAVOUR_PHYSICAL = 0,\n\tDEVLINK_PORT_FLAVOUR_CPU = 1,\n\tDEVLINK_PORT_FLAVOUR_DSA = 2,\n\tDEVLINK_PORT_FLAVOUR_PCI_PF = 3,\n\tDEVLINK_PORT_FLAVOUR_PCI_VF = 4,\n\tDEVLINK_PORT_FLAVOUR_VIRTUAL = 5,\n\tDEVLINK_PORT_FLAVOUR_UNUSED = 6,\n\tDEVLINK_PORT_FLAVOUR_PCI_SF = 7,\n};\n\nenum devlink_port_fn_attr_cap {\n\tDEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT = 0,\n\tDEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT = 1,\n\tDEVLINK_PORT_FN_ATTR_CAP_IPSEC_CRYPTO_BIT = 2,\n\tDEVLINK_PORT_FN_ATTR_CAP_IPSEC_PACKET_BIT = 3,\n\t__DEVLINK_PORT_FN_ATTR_CAPS_MAX = 4,\n};\n\nenum devlink_port_fn_opstate {\n\tDEVLINK_PORT_FN_OPSTATE_DETACHED = 0,\n\tDEVLINK_PORT_FN_OPSTATE_ATTACHED = 1,\n};\n\nenum devlink_port_fn_state {\n\tDEVLINK_PORT_FN_STATE_INACTIVE = 0,\n\tDEVLINK_PORT_FN_STATE_ACTIVE = 1,\n};\n\nenum devlink_port_function_attr {\n\tDEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0,\n\tDEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 1,\n\tDEVLINK_PORT_FN_ATTR_STATE = 2,\n\tDEVLINK_PORT_FN_ATTR_OPSTATE = 3,\n\tDEVLINK_PORT_FN_ATTR_CAPS = 4,\n\tDEVLINK_PORT_FN_ATTR_DEVLINK = 5,\n\tDEVLINK_PORT_FN_ATTR_MAX_IO_EQS = 6,\n\t__DEVLINK_PORT_FUNCTION_ATTR_MAX = 7,\n\tDEVLINK_PORT_FUNCTION_ATTR_MAX = 6,\n};\n\nenum devlink_port_type {\n\tDEVLINK_PORT_TYPE_NOTSET = 0,\n\tDEVLINK_PORT_TYPE_AUTO = 1,\n\tDEVLINK_PORT_TYPE_ETH = 2,\n\tDEVLINK_PORT_TYPE_IB = 3,\n};\n\nenum devlink_rate_type {\n\tDEVLINK_RATE_TYPE_LEAF = 0,\n\tDEVLINK_RATE_TYPE_NODE = 1,\n};\n\nenum devlink_reload_action {\n\tDEVLINK_RELOAD_ACTION_UNSPEC = 0,\n\tDEVLINK_RELOAD_ACTION_DRIVER_REINIT = 1,\n\tDEVLINK_RELOAD_ACTION_FW_ACTIVATE = 2,\n\t__DEVLINK_RELOAD_ACTION_MAX = 3,\n\tDEVLINK_RELOAD_ACTION_MAX = 2,\n};\n\nenum devlink_reload_limit {\n\tDEVLINK_RELOAD_LIMIT_UNSPEC = 0,\n\tDEVLINK_RELOAD_LIMIT_NO_RESET = 1,\n\t__DEVLINK_RELOAD_LIMIT_MAX = 2,\n\tDEVLINK_RELOAD_LIMIT_MAX = 1,\n};\n\nenum devlink_resource_unit {\n\tDEVLINK_RESOURCE_UNIT_ENTRY = 0,\n};\n\nenum devlink_sb_pool_type {\n\tDEVLINK_SB_POOL_TYPE_INGRESS = 0,\n\tDEVLINK_SB_POOL_TYPE_EGRESS = 1,\n};\n\nenum devlink_sb_threshold_type {\n\tDEVLINK_SB_THRESHOLD_TYPE_STATIC = 0,\n\tDEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 1,\n};\n\nenum devlink_selftest_status {\n\tDEVLINK_SELFTEST_STATUS_SKIP = 0,\n\tDEVLINK_SELFTEST_STATUS_PASS = 1,\n\tDEVLINK_SELFTEST_STATUS_FAIL = 2,\n};\n\nenum devlink_trap_action {\n\tDEVLINK_TRAP_ACTION_DROP = 0,\n\tDEVLINK_TRAP_ACTION_TRAP = 1,\n\tDEVLINK_TRAP_ACTION_MIRROR = 2,\n};\n\nenum devlink_trap_generic_id {\n\tDEVLINK_TRAP_GENERIC_ID_SMAC_MC = 0,\n\tDEVLINK_TRAP_GENERIC_ID_VLAN_TAG_MISMATCH = 1,\n\tDEVLINK_TRAP_GENERIC_ID_INGRESS_VLAN_FILTER = 2,\n\tDEVLINK_TRAP_GENERIC_ID_INGRESS_STP_FILTER = 3,\n\tDEVLINK_TRAP_GENERIC_ID_EMPTY_TX_LIST = 4,\n\tDEVLINK_TRAP_GENERIC_ID_PORT_LOOPBACK_FILTER = 5,\n\tDEVLINK_TRAP_GENERIC_ID_BLACKHOLE_ROUTE = 6,\n\tDEVLINK_TRAP_GENERIC_ID_TTL_ERROR = 7,\n\tDEVLINK_TRAP_GENERIC_ID_TAIL_DROP = 8,\n\tDEVLINK_TRAP_GENERIC_ID_NON_IP_PACKET = 9,\n\tDEVLINK_TRAP_GENERIC_ID_UC_DIP_MC_DMAC = 10,\n\tDEVLINK_TRAP_GENERIC_ID_DIP_LB = 11,\n\tDEVLINK_TRAP_GENERIC_ID_SIP_MC = 12,\n\tDEVLINK_TRAP_GENERIC_ID_SIP_LB = 13,\n\tDEVLINK_TRAP_GENERIC_ID_CORRUPTED_IP_HDR = 14,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_SIP_BC = 15,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_MC_DIP_RESERVED_SCOPE = 16,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_MC_DIP_INTERFACE_LOCAL_SCOPE = 17,\n\tDEVLINK_TRAP_GENERIC_ID_MTU_ERROR = 18,\n\tDEVLINK_TRAP_GENERIC_ID_UNRESOLVED_NEIGH = 19,\n\tDEVLINK_TRAP_GENERIC_ID_RPF = 20,\n\tDEVLINK_TRAP_GENERIC_ID_REJECT_ROUTE = 21,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_LPM_UNICAST_MISS = 22,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_LPM_UNICAST_MISS = 23,\n\tDEVLINK_TRAP_GENERIC_ID_NON_ROUTABLE = 24,\n\tDEVLINK_TRAP_GENERIC_ID_DECAP_ERROR = 25,\n\tDEVLINK_TRAP_GENERIC_ID_OVERLAY_SMAC_MC = 26,\n\tDEVLINK_TRAP_GENERIC_ID_INGRESS_FLOW_ACTION_DROP = 27,\n\tDEVLINK_TRAP_GENERIC_ID_EGRESS_FLOW_ACTION_DROP = 28,\n\tDEVLINK_TRAP_GENERIC_ID_STP = 29,\n\tDEVLINK_TRAP_GENERIC_ID_LACP = 30,\n\tDEVLINK_TRAP_GENERIC_ID_LLDP = 31,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_QUERY = 32,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_V1_REPORT = 33,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_V2_REPORT = 34,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_V3_REPORT = 35,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_V2_LEAVE = 36,\n\tDEVLINK_TRAP_GENERIC_ID_MLD_QUERY = 37,\n\tDEVLINK_TRAP_GENERIC_ID_MLD_V1_REPORT = 38,\n\tDEVLINK_TRAP_GENERIC_ID_MLD_V2_REPORT = 39,\n\tDEVLINK_TRAP_GENERIC_ID_MLD_V1_DONE = 40,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_DHCP = 41,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_DHCP = 42,\n\tDEVLINK_TRAP_GENERIC_ID_ARP_REQUEST = 43,\n\tDEVLINK_TRAP_GENERIC_ID_ARP_RESPONSE = 44,\n\tDEVLINK_TRAP_GENERIC_ID_ARP_OVERLAY = 45,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_NEIGH_SOLICIT = 46,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_NEIGH_ADVERT = 47,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_BFD = 48,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_BFD = 49,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_OSPF = 50,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_OSPF = 51,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_BGP = 52,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_BGP = 53,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_VRRP = 54,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_VRRP = 55,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_PIM = 56,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_PIM = 57,\n\tDEVLINK_TRAP_GENERIC_ID_UC_LB = 58,\n\tDEVLINK_TRAP_GENERIC_ID_LOCAL_ROUTE = 59,\n\tDEVLINK_TRAP_GENERIC_ID_EXTERNAL_ROUTE = 60,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_UC_DIP_LINK_LOCAL_SCOPE = 61,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_DIP_ALL_NODES = 62,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_DIP_ALL_ROUTERS = 63,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_SOLICIT = 64,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_ADVERT = 65,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_REDIRECT = 66,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_ROUTER_ALERT = 67,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_ALERT = 68,\n\tDEVLINK_TRAP_GENERIC_ID_PTP_EVENT = 69,\n\tDEVLINK_TRAP_GENERIC_ID_PTP_GENERAL = 70,\n\tDEVLINK_TRAP_GENERIC_ID_FLOW_ACTION_SAMPLE = 71,\n\tDEVLINK_TRAP_GENERIC_ID_FLOW_ACTION_TRAP = 72,\n\tDEVLINK_TRAP_GENERIC_ID_EARLY_DROP = 73,\n\tDEVLINK_TRAP_GENERIC_ID_VXLAN_PARSING = 74,\n\tDEVLINK_TRAP_GENERIC_ID_LLC_SNAP_PARSING = 75,\n\tDEVLINK_TRAP_GENERIC_ID_VLAN_PARSING = 76,\n\tDEVLINK_TRAP_GENERIC_ID_PPPOE_PPP_PARSING = 77,\n\tDEVLINK_TRAP_GENERIC_ID_MPLS_PARSING = 78,\n\tDEVLINK_TRAP_GENERIC_ID_ARP_PARSING = 79,\n\tDEVLINK_TRAP_GENERIC_ID_IP_1_PARSING = 80,\n\tDEVLINK_TRAP_GENERIC_ID_IP_N_PARSING = 81,\n\tDEVLINK_TRAP_GENERIC_ID_GRE_PARSING = 82,\n\tDEVLINK_TRAP_GENERIC_ID_UDP_PARSING = 83,\n\tDEVLINK_TRAP_GENERIC_ID_TCP_PARSING = 84,\n\tDEVLINK_TRAP_GENERIC_ID_IPSEC_PARSING = 85,\n\tDEVLINK_TRAP_GENERIC_ID_SCTP_PARSING = 86,\n\tDEVLINK_TRAP_GENERIC_ID_DCCP_PARSING = 87,\n\tDEVLINK_TRAP_GENERIC_ID_GTP_PARSING = 88,\n\tDEVLINK_TRAP_GENERIC_ID_ESP_PARSING = 89,\n\tDEVLINK_TRAP_GENERIC_ID_BLACKHOLE_NEXTHOP = 90,\n\tDEVLINK_TRAP_GENERIC_ID_DMAC_FILTER = 91,\n\tDEVLINK_TRAP_GENERIC_ID_EAPOL = 92,\n\tDEVLINK_TRAP_GENERIC_ID_LOCKED_PORT = 93,\n\t__DEVLINK_TRAP_GENERIC_ID_MAX = 94,\n\tDEVLINK_TRAP_GENERIC_ID_MAX = 93,\n};\n\nenum devlink_trap_group_generic_id {\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_L2_DROPS = 0,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_L3_DROPS = 1,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_L3_EXCEPTIONS = 2,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_BUFFER_DROPS = 3,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_TUNNEL_DROPS = 4,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_ACL_DROPS = 5,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_STP = 6,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_LACP = 7,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_LLDP = 8,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_MC_SNOOPING = 9,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_DHCP = 10,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_NEIGH_DISCOVERY = 11,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_BFD = 12,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_OSPF = 13,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_BGP = 14,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_VRRP = 15,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_PIM = 16,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_UC_LB = 17,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_LOCAL_DELIVERY = 18,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_EXTERNAL_DELIVERY = 19,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_IPV6 = 20,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_PTP_EVENT = 21,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_PTP_GENERAL = 22,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_ACL_SAMPLE = 23,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_ACL_TRAP = 24,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_PARSER_ERROR_DROPS = 25,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_EAPOL = 26,\n\t__DEVLINK_TRAP_GROUP_GENERIC_ID_MAX = 27,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_MAX = 26,\n};\n\nenum devlink_trap_type {\n\tDEVLINK_TRAP_TYPE_DROP = 0,\n\tDEVLINK_TRAP_TYPE_EXCEPTION = 1,\n\tDEVLINK_TRAP_TYPE_CONTROL = 2,\n};\n\nenum devm_ioremap_type {\n\tDEVM_IOREMAP = 0,\n\tDEVM_IOREMAP_UC = 1,\n\tDEVM_IOREMAP_WC = 2,\n\tDEVM_IOREMAP_NP = 3,\n};\n\nenum dew_regs {\n\tPWRAP_DEW_BASE = 0,\n\tPWRAP_DEW_DIO_EN = 1,\n\tPWRAP_DEW_READ_TEST = 2,\n\tPWRAP_DEW_WRITE_TEST = 3,\n\tPWRAP_DEW_CRC_EN = 4,\n\tPWRAP_DEW_CRC_VAL = 5,\n\tPWRAP_DEW_MON_GRP_SEL = 6,\n\tPWRAP_DEW_CIPHER_KEY_SEL = 7,\n\tPWRAP_DEW_CIPHER_IV_SEL = 8,\n\tPWRAP_DEW_CIPHER_RDY = 9,\n\tPWRAP_DEW_CIPHER_MODE = 10,\n\tPWRAP_DEW_CIPHER_SWRST = 11,\n\tPWRAP_DEW_CIPHER_EN = 12,\n\tPWRAP_DEW_RDDMY_NO = 13,\n\tPWRAP_SMT_CON1 = 14,\n\tPWRAP_DRV_CON1 = 15,\n\tPWRAP_FILTER_CON0 = 16,\n\tPWRAP_GPIO_PULLEN0_CLR = 17,\n\tPWRAP_RG_SPI_CON0 = 18,\n\tPWRAP_RG_SPI_RECORD0 = 19,\n\tPWRAP_RG_SPI_CON2 = 20,\n\tPWRAP_RG_SPI_CON3 = 21,\n\tPWRAP_RG_SPI_CON4 = 22,\n\tPWRAP_RG_SPI_CON5 = 23,\n\tPWRAP_RG_SPI_CON6 = 24,\n\tPWRAP_RG_SPI_CON7 = 25,\n\tPWRAP_RG_SPI_CON8 = 26,\n\tPWRAP_RG_SPI_CON13 = 27,\n\tPWRAP_SPISLV_KEY = 28,\n\tPWRAP_DEW_CRC_SWRST = 29,\n\tPWRAP_DEW_RG_EN_RECORD = 30,\n\tPWRAP_DEW_RECORD_CMD0 = 31,\n\tPWRAP_DEW_RECORD_CMD1 = 32,\n\tPWRAP_DEW_RECORD_CMD2 = 33,\n\tPWRAP_DEW_RECORD_CMD3 = 34,\n\tPWRAP_DEW_RECORD_CMD4 = 35,\n\tPWRAP_DEW_RECORD_CMD5 = 36,\n\tPWRAP_DEW_RECORD_WDATA0 = 37,\n\tPWRAP_DEW_RECORD_WDATA1 = 38,\n\tPWRAP_DEW_RECORD_WDATA2 = 39,\n\tPWRAP_DEW_RECORD_WDATA3 = 40,\n\tPWRAP_DEW_RECORD_WDATA4 = 41,\n\tPWRAP_DEW_RECORD_WDATA5 = 42,\n\tPWRAP_DEW_RG_ADDR_TARGET = 43,\n\tPWRAP_DEW_RG_ADDR_MASK = 44,\n\tPWRAP_DEW_RG_WDATA_TARGET = 45,\n\tPWRAP_DEW_RG_WDATA_MASK = 46,\n\tPWRAP_DEW_RG_SPI_RECORD_CLR = 47,\n\tPWRAP_DEW_RG_CMD_ALERT_CLR = 48,\n\tPWRAP_DEW_EVENT_OUT_EN = 49,\n\tPWRAP_DEW_EVENT_SRC_EN = 50,\n\tPWRAP_DEW_EVENT_SRC = 51,\n\tPWRAP_DEW_EVENT_FLAG = 52,\n\tPWRAP_DEW_MON_FLAG_SEL = 53,\n\tPWRAP_DEW_EVENT_TEST = 54,\n\tPWRAP_DEW_CIPHER_LOAD = 55,\n\tPWRAP_DEW_CIPHER_START = 56,\n};\n\nenum dfll_ctrl_mode {\n\tDFLL_UNINITIALIZED = 0,\n\tDFLL_DISABLED = 1,\n\tDFLL_OPEN_LOOP = 2,\n\tDFLL_CLOSED_LOOP = 3,\n};\n\nenum dfll_tune_range {\n\tDFLL_TUNE_UNINITIALIZED = 0,\n\tDFLL_TUNE_LOW = 1,\n};\n\nenum die_val {\n\tDIE_UNUSED = 0,\n\tDIE_OOPS = 1,\n};\n\nenum dim_cq_period_mode {\n\tDIM_CQ_PERIOD_MODE_START_FROM_EQE = 0,\n\tDIM_CQ_PERIOD_MODE_START_FROM_CQE = 1,\n\tDIM_CQ_PERIOD_NUM_MODES = 2,\n};\n\nenum dim_state {\n\tDIM_START_MEASURE = 0,\n\tDIM_MEASURE_IN_PROGRESS = 1,\n\tDIM_APPLY_NEW_PROFILE = 2,\n};\n\nenum dim_stats_state {\n\tDIM_STATS_WORSE = 0,\n\tDIM_STATS_SAME = 1,\n\tDIM_STATS_BETTER = 2,\n};\n\nenum dim_step_result {\n\tDIM_STEPPED = 0,\n\tDIM_TOO_TIRED = 1,\n\tDIM_ON_EDGE = 2,\n};\n\nenum dim_tune_state {\n\tDIM_PARKING_ON_TOP = 0,\n\tDIM_PARKING_TIRED = 1,\n\tDIM_GOING_RIGHT = 2,\n\tDIM_GOING_LEFT = 3,\n};\n\nenum discover_event {\n\tDISCE_DISCOVER_DOMAIN = 0,\n\tDISCE_REVALIDATE_DOMAIN = 1,\n\tDISCE_SUSPEND = 2,\n\tDISCE_RESUME = 3,\n\tDISC_NUM_EVENTS = 4,\n};\n\nenum display_flags {\n\tDISPLAY_FLAGS_HSYNC_LOW = 1,\n\tDISPLAY_FLAGS_HSYNC_HIGH = 2,\n\tDISPLAY_FLAGS_VSYNC_LOW = 4,\n\tDISPLAY_FLAGS_VSYNC_HIGH = 8,\n\tDISPLAY_FLAGS_DE_LOW = 16,\n\tDISPLAY_FLAGS_DE_HIGH = 32,\n\tDISPLAY_FLAGS_PIXDATA_POSEDGE = 64,\n\tDISPLAY_FLAGS_PIXDATA_NEGEDGE = 128,\n\tDISPLAY_FLAGS_INTERLACED = 256,\n\tDISPLAY_FLAGS_DOUBLESCAN = 512,\n\tDISPLAY_FLAGS_DOUBLECLK = 1024,\n\tDISPLAY_FLAGS_SYNC_POSEDGE = 2048,\n\tDISPLAY_FLAGS_SYNC_NEGEDGE = 4096,\n};\n\nenum dl_bw_request {\n\tdl_bw_req_deactivate = 0,\n\tdl_bw_req_alloc = 1,\n\tdl_bw_req_free = 2,\n};\n\nenum dl_dev_state {\n\tDL_DEV_NO_DRIVER = 0,\n\tDL_DEV_PROBING = 1,\n\tDL_DEV_DRIVER_BOUND = 2,\n\tDL_DEV_UNBINDING = 3,\n};\n\nenum dll_reset_type {\n\tPM_DLL_RESET_ASSERT = 0,\n\tPM_DLL_RESET_RELEASE = 1,\n\tPM_DLL_RESET_PULSE = 2,\n};\n\nenum dma_channel_status {\n\tMUSB_DMA_STATUS_UNKNOWN = 0,\n\tMUSB_DMA_STATUS_FREE = 1,\n\tMUSB_DMA_STATUS_BUSY = 2,\n\tMUSB_DMA_STATUS_BUS_ABORT = 3,\n\tMUSB_DMA_STATUS_CORE_ABORT = 4,\n};\n\nenum dma_ctrl_flags {\n\tDMA_PREP_INTERRUPT = 1,\n\tDMA_CTRL_ACK = 2,\n\tDMA_PREP_PQ_DISABLE_P = 4,\n\tDMA_PREP_PQ_DISABLE_Q = 8,\n\tDMA_PREP_CONTINUE = 16,\n\tDMA_PREP_FENCE = 32,\n\tDMA_CTRL_REUSE = 64,\n\tDMA_PREP_CMD = 128,\n\tDMA_PREP_REPEAT = 256,\n\tDMA_PREP_LOAD_EOT = 512,\n};\n\nenum dma_data_direction {\n\tDMA_BIDIRECTIONAL = 0,\n\tDMA_TO_DEVICE = 1,\n\tDMA_FROM_DEVICE = 2,\n\tDMA_NONE = 3,\n};\n\nenum dma_desc_metadata_mode {\n\tDESC_METADATA_NONE = 0,\n\tDESC_METADATA_CLIENT = 1,\n\tDESC_METADATA_ENGINE = 2,\n};\n\nenum dma_fence_flag_bits {\n\tDMA_FENCE_FLAG_SIGNALED_BIT = 0,\n\tDMA_FENCE_FLAG_TIMESTAMP_BIT = 1,\n\tDMA_FENCE_FLAG_ENABLE_SIGNAL_BIT = 2,\n\tDMA_FENCE_FLAG_USER_BITS = 3,\n};\n\nenum dma_residue_granularity {\n\tDMA_RESIDUE_GRANULARITY_DESCRIPTOR = 0,\n\tDMA_RESIDUE_GRANULARITY_SEGMENT = 1,\n\tDMA_RESIDUE_GRANULARITY_BURST = 2,\n};\n\nenum dma_resv_usage {\n\tDMA_RESV_USAGE_KERNEL = 0,\n\tDMA_RESV_USAGE_WRITE = 1,\n\tDMA_RESV_USAGE_READ = 2,\n\tDMA_RESV_USAGE_BOOKKEEP = 3,\n};\n\nenum dma_rx_status {\n\tDMA_RX_START = 0,\n\tDMA_RX_RUNNING = 1,\n\tDMA_RX_SHUTDOWN = 2,\n};\n\nenum dma_slave_buswidth {\n\tDMA_SLAVE_BUSWIDTH_UNDEFINED = 0,\n\tDMA_SLAVE_BUSWIDTH_1_BYTE = 1,\n\tDMA_SLAVE_BUSWIDTH_2_BYTES = 2,\n\tDMA_SLAVE_BUSWIDTH_3_BYTES = 3,\n\tDMA_SLAVE_BUSWIDTH_4_BYTES = 4,\n\tDMA_SLAVE_BUSWIDTH_8_BYTES = 8,\n\tDMA_SLAVE_BUSWIDTH_16_BYTES = 16,\n\tDMA_SLAVE_BUSWIDTH_32_BYTES = 32,\n\tDMA_SLAVE_BUSWIDTH_64_BYTES = 64,\n\tDMA_SLAVE_BUSWIDTH_128_BYTES = 128,\n};\n\nenum dma_status {\n\tDMA_COMPLETE = 0,\n\tDMA_IN_PROGRESS = 1,\n\tDMA_PAUSED = 2,\n\tDMA_ERROR = 3,\n\tDMA_OUT_OF_ORDER = 4,\n};\n\nenum dma_transaction_type {\n\tDMA_MEMCPY = 0,\n\tDMA_XOR = 1,\n\tDMA_PQ = 2,\n\tDMA_XOR_VAL = 3,\n\tDMA_PQ_VAL = 4,\n\tDMA_MEMSET = 5,\n\tDMA_MEMSET_SG = 6,\n\tDMA_INTERRUPT = 7,\n\tDMA_PRIVATE = 8,\n\tDMA_ASYNC_TX = 9,\n\tDMA_SLAVE = 10,\n\tDMA_CYCLIC = 11,\n\tDMA_INTERLEAVE = 12,\n\tDMA_COMPLETION_NO_ORDER = 13,\n\tDMA_REPEAT = 14,\n\tDMA_LOAD_EOT = 15,\n\tDMA_TX_TYPE_END = 16,\n};\n\nenum dma_transfer_direction {\n\tDMA_MEM_TO_MEM = 0,\n\tDMA_MEM_TO_DEV = 1,\n\tDMA_DEV_TO_MEM = 2,\n\tDMA_DEV_TO_DEV = 3,\n\tDMA_TRANS_NONE = 4,\n};\n\nenum dmaengine_alignment {\n\tDMAENGINE_ALIGN_1_BYTE = 0,\n\tDMAENGINE_ALIGN_2_BYTES = 1,\n\tDMAENGINE_ALIGN_4_BYTES = 2,\n\tDMAENGINE_ALIGN_8_BYTES = 3,\n\tDMAENGINE_ALIGN_16_BYTES = 4,\n\tDMAENGINE_ALIGN_32_BYTES = 5,\n\tDMAENGINE_ALIGN_64_BYTES = 6,\n\tDMAENGINE_ALIGN_128_BYTES = 7,\n\tDMAENGINE_ALIGN_256_BYTES = 8,\n};\n\nenum dmaengine_tx_result {\n\tDMA_TRANS_NOERROR = 0,\n\tDMA_TRANS_READ_FAILED = 1,\n\tDMA_TRANS_WRITE_FAILED = 2,\n\tDMA_TRANS_ABORTED = 3,\n};\n\nenum dmamov_dst {\n\tSAR = 0,\n\tCCR = 1,\n\tDAR = 2,\n};\n\nenum dmi_device_type {\n\tDMI_DEV_TYPE_ANY = 0,\n\tDMI_DEV_TYPE_OTHER = 1,\n\tDMI_DEV_TYPE_UNKNOWN = 2,\n\tDMI_DEV_TYPE_VIDEO = 3,\n\tDMI_DEV_TYPE_SCSI = 4,\n\tDMI_DEV_TYPE_ETHERNET = 5,\n\tDMI_DEV_TYPE_TOKENRING = 6,\n\tDMI_DEV_TYPE_SOUND = 7,\n\tDMI_DEV_TYPE_PATA = 8,\n\tDMI_DEV_TYPE_SATA = 9,\n\tDMI_DEV_TYPE_SAS = 10,\n\tDMI_DEV_TYPE_IPMI = -1,\n\tDMI_DEV_TYPE_OEM_STRING = -2,\n\tDMI_DEV_TYPE_DEV_ONBOARD = -3,\n\tDMI_DEV_TYPE_DEV_SLOT = -4,\n};\n\nenum dmi_entry_type {\n\tDMI_ENTRY_BIOS = 0,\n\tDMI_ENTRY_SYSTEM = 1,\n\tDMI_ENTRY_BASEBOARD = 2,\n\tDMI_ENTRY_CHASSIS = 3,\n\tDMI_ENTRY_PROCESSOR = 4,\n\tDMI_ENTRY_MEM_CONTROLLER = 5,\n\tDMI_ENTRY_MEM_MODULE = 6,\n\tDMI_ENTRY_CACHE = 7,\n\tDMI_ENTRY_PORT_CONNECTOR = 8,\n\tDMI_ENTRY_SYSTEM_SLOT = 9,\n\tDMI_ENTRY_ONBOARD_DEVICE = 10,\n\tDMI_ENTRY_OEMSTRINGS = 11,\n\tDMI_ENTRY_SYSCONF = 12,\n\tDMI_ENTRY_BIOS_LANG = 13,\n\tDMI_ENTRY_GROUP_ASSOC = 14,\n\tDMI_ENTRY_SYSTEM_EVENT_LOG = 15,\n\tDMI_ENTRY_PHYS_MEM_ARRAY = 16,\n\tDMI_ENTRY_MEM_DEVICE = 17,\n\tDMI_ENTRY_32_MEM_ERROR = 18,\n\tDMI_ENTRY_MEM_ARRAY_MAPPED_ADDR = 19,\n\tDMI_ENTRY_MEM_DEV_MAPPED_ADDR = 20,\n\tDMI_ENTRY_BUILTIN_POINTING_DEV = 21,\n\tDMI_ENTRY_PORTABLE_BATTERY = 22,\n\tDMI_ENTRY_SYSTEM_RESET = 23,\n\tDMI_ENTRY_HW_SECURITY = 24,\n\tDMI_ENTRY_SYSTEM_POWER_CONTROLS = 25,\n\tDMI_ENTRY_VOLTAGE_PROBE = 26,\n\tDMI_ENTRY_COOLING_DEV = 27,\n\tDMI_ENTRY_TEMP_PROBE = 28,\n\tDMI_ENTRY_ELECTRICAL_CURRENT_PROBE = 29,\n\tDMI_ENTRY_OOB_REMOTE_ACCESS = 30,\n\tDMI_ENTRY_BIS_ENTRY = 31,\n\tDMI_ENTRY_SYSTEM_BOOT = 32,\n\tDMI_ENTRY_MGMT_DEV = 33,\n\tDMI_ENTRY_MGMT_DEV_COMPONENT = 34,\n\tDMI_ENTRY_MGMT_DEV_THRES = 35,\n\tDMI_ENTRY_MEM_CHANNEL = 36,\n\tDMI_ENTRY_IPMI_DEV = 37,\n\tDMI_ENTRY_SYS_POWER_SUPPLY = 38,\n\tDMI_ENTRY_ADDITIONAL = 39,\n\tDMI_ENTRY_ONBOARD_DEV_EXT = 40,\n\tDMI_ENTRY_MGMT_CONTROLLER_HOST = 41,\n\tDMI_ENTRY_INACTIVE = 126,\n\tDMI_ENTRY_END_OF_TABLE = 127,\n};\n\nenum dmi_field {\n\tDMI_NONE = 0,\n\tDMI_BIOS_VENDOR = 1,\n\tDMI_BIOS_VERSION = 2,\n\tDMI_BIOS_DATE = 3,\n\tDMI_BIOS_RELEASE = 4,\n\tDMI_EC_FIRMWARE_RELEASE = 5,\n\tDMI_SYS_VENDOR = 6,\n\tDMI_PRODUCT_NAME = 7,\n\tDMI_PRODUCT_VERSION = 8,\n\tDMI_PRODUCT_SERIAL = 9,\n\tDMI_PRODUCT_UUID = 10,\n\tDMI_PRODUCT_SKU = 11,\n\tDMI_PRODUCT_FAMILY = 12,\n\tDMI_BOARD_VENDOR = 13,\n\tDMI_BOARD_NAME = 14,\n\tDMI_BOARD_VERSION = 15,\n\tDMI_BOARD_SERIAL = 16,\n\tDMI_BOARD_ASSET_TAG = 17,\n\tDMI_CHASSIS_VENDOR = 18,\n\tDMI_CHASSIS_TYPE = 19,\n\tDMI_CHASSIS_VERSION = 20,\n\tDMI_CHASSIS_SERIAL = 21,\n\tDMI_CHASSIS_ASSET_TAG = 22,\n\tDMI_STRING_MAX = 23,\n\tDMI_OEM_STRING = 24,\n};\n\nenum dns_lookup_status {\n\tDNS_LOOKUP_NOT_DONE = 0,\n\tDNS_LOOKUP_GOOD = 1,\n\tDNS_LOOKUP_GOOD_WITH_BAD = 2,\n\tDNS_LOOKUP_BAD = 3,\n\tDNS_LOOKUP_GOT_NOT_FOUND = 4,\n\tDNS_LOOKUP_GOT_LOCAL_FAILURE = 5,\n\tDNS_LOOKUP_GOT_TEMP_FAILURE = 6,\n\tDNS_LOOKUP_GOT_NS_FAILURE = 7,\n\tNR__dns_lookup_status = 8,\n};\n\nenum dns_payload_content_type {\n\tDNS_PAYLOAD_IS_SERVER_LIST = 0,\n};\n\nenum dpaa2_eth_fq_type {\n\tDPAA2_RX_FQ = 0,\n\tDPAA2_TX_CONF_FQ = 1,\n\tDPAA2_RX_ERR_FQ = 2,\n};\n\nenum dpaa2_eth_rx_dist {\n\tDPAA2_ETH_RX_DIST_HASH = 0,\n\tDPAA2_ETH_RX_DIST_CLS = 1,\n};\n\nenum dpaa2_eth_swa_type {\n\tDPAA2_ETH_SWA_SINGLE = 0,\n\tDPAA2_ETH_SWA_SG = 1,\n\tDPAA2_ETH_SWA_XDP = 2,\n\tDPAA2_ETH_SWA_XSK = 3,\n\tDPAA2_ETH_SWA_SW_TSO = 4,\n};\n\nenum dpaa2_fd_format {\n\tdpaa2_fd_single = 0,\n\tdpaa2_fd_list = 1,\n\tdpaa2_fd_sg = 2,\n};\n\nenum dpaa_fq_type {\n\tFQ_TYPE_RX_DEFAULT = 1,\n\tFQ_TYPE_RX_ERROR = 2,\n\tFQ_TYPE_RX_PCD = 3,\n\tFQ_TYPE_TX = 4,\n\tFQ_TYPE_TX_CONFIRM = 5,\n\tFQ_TYPE_TX_CONF_MQ = 6,\n\tFQ_TYPE_TX_ERROR = 7,\n};\n\nenum dpfe_commands {\n\tDPFE_CMD_GET_INFO = 0,\n\tDPFE_CMD_GET_REFRESH = 1,\n\tDPFE_CMD_GET_VENDOR = 2,\n\tDPFE_CMD_MAX = 3,\n};\n\nenum dpfe_msg_fields {\n\tMSG_HEADER = 0,\n\tMSG_COMMAND = 1,\n\tMSG_ARG_COUNT = 2,\n\tMSG_ARG0 = 3,\n\tMSG_FIELD_MAX = 16,\n};\n\nenum dpio_channel_mode {\n\tDPIO_NO_CHANNEL = 0,\n\tDPIO_LOCAL_CHANNEL = 1,\n};\n\nenum dpkg_extract_from_hdr_type {\n\tDPKG_FROM_HDR = 0,\n\tDPKG_FROM_FIELD = 1,\n\tDPKG_FULL_FIELD = 2,\n};\n\nenum dpkg_extract_type {\n\tDPKG_EXTRACT_FROM_HDR = 0,\n\tDPKG_EXTRACT_FROM_DATA = 1,\n\tDPKG_EXTRACT_FROM_PARSE = 3,\n};\n\nenum dpm_order {\n\tDPM_ORDER_NONE = 0,\n\tDPM_ORDER_DEV_AFTER_PARENT = 1,\n\tDPM_ORDER_PARENT_BEFORE_DEV = 2,\n\tDPM_ORDER_DEV_LAST = 3,\n};\n\nenum dpmac_counter_id {\n\tDPMAC_CNT_ING_FRAME_64 = 0,\n\tDPMAC_CNT_ING_FRAME_127 = 1,\n\tDPMAC_CNT_ING_FRAME_255 = 2,\n\tDPMAC_CNT_ING_FRAME_511 = 3,\n\tDPMAC_CNT_ING_FRAME_1023 = 4,\n\tDPMAC_CNT_ING_FRAME_1518 = 5,\n\tDPMAC_CNT_ING_FRAME_1519_MAX = 6,\n\tDPMAC_CNT_ING_FRAG = 7,\n\tDPMAC_CNT_ING_JABBER = 8,\n\tDPMAC_CNT_ING_FRAME_DISCARD = 9,\n\tDPMAC_CNT_ING_ALIGN_ERR = 10,\n\tDPMAC_CNT_EGR_UNDERSIZED = 11,\n\tDPMAC_CNT_ING_OVERSIZED = 12,\n\tDPMAC_CNT_ING_VALID_PAUSE_FRAME = 13,\n\tDPMAC_CNT_EGR_VALID_PAUSE_FRAME = 14,\n\tDPMAC_CNT_ING_BYTE = 15,\n\tDPMAC_CNT_ING_MCAST_FRAME = 16,\n\tDPMAC_CNT_ING_BCAST_FRAME = 17,\n\tDPMAC_CNT_ING_ALL_FRAME = 18,\n\tDPMAC_CNT_ING_UCAST_FRAME = 19,\n\tDPMAC_CNT_ING_ERR_FRAME = 20,\n\tDPMAC_CNT_EGR_BYTE = 21,\n\tDPMAC_CNT_EGR_MCAST_FRAME = 22,\n\tDPMAC_CNT_EGR_BCAST_FRAME = 23,\n\tDPMAC_CNT_EGR_UCAST_FRAME = 24,\n\tDPMAC_CNT_EGR_ERR_FRAME = 25,\n\tDPMAC_CNT_ING_GOOD_FRAME = 26,\n\tDPMAC_CNT_EGR_GOOD_FRAME = 27,\n};\n\nenum dpmac_eth_if {\n\tDPMAC_ETH_IF_MII = 0,\n\tDPMAC_ETH_IF_RMII = 1,\n\tDPMAC_ETH_IF_SMII = 2,\n\tDPMAC_ETH_IF_GMII = 3,\n\tDPMAC_ETH_IF_RGMII = 4,\n\tDPMAC_ETH_IF_SGMII = 5,\n\tDPMAC_ETH_IF_QSGMII = 6,\n\tDPMAC_ETH_IF_XAUI = 7,\n\tDPMAC_ETH_IF_XFI = 8,\n\tDPMAC_ETH_IF_CAUI = 9,\n\tDPMAC_ETH_IF_1000BASEX = 10,\n\tDPMAC_ETH_IF_USXGMII = 11,\n};\n\nenum dpmac_link_type {\n\tDPMAC_LINK_TYPE_NONE = 0,\n\tDPMAC_LINK_TYPE_FIXED = 1,\n\tDPMAC_LINK_TYPE_PHY = 2,\n\tDPMAC_LINK_TYPE_BACKPLANE = 3,\n};\n\nenum dpni_congestion_point {\n\tDPNI_CP_QUEUE = 0,\n\tDPNI_CP_GROUP = 1,\n};\n\nenum dpni_congestion_unit {\n\tDPNI_CONGESTION_UNIT_BYTES = 0,\n\tDPNI_CONGESTION_UNIT_FRAMES = 1,\n};\n\nenum dpni_dest {\n\tDPNI_DEST_NONE = 0,\n\tDPNI_DEST_DPIO = 1,\n\tDPNI_DEST_DPCON = 2,\n};\n\nenum dpni_dist_mode {\n\tDPNI_DIST_MODE_NONE = 0,\n\tDPNI_DIST_MODE_HASH = 1,\n\tDPNI_DIST_MODE_FS = 2,\n};\n\nenum dpni_error_action {\n\tDPNI_ERROR_ACTION_DISCARD = 0,\n\tDPNI_ERROR_ACTION_CONTINUE = 1,\n\tDPNI_ERROR_ACTION_SEND_TO_ERROR_QUEUE = 2,\n};\n\nenum dpni_fs_miss_action {\n\tDPNI_FS_MISS_DROP = 0,\n\tDPNI_FS_MISS_EXPLICIT_FLOWID = 1,\n\tDPNI_FS_MISS_HASH = 2,\n};\n\nenum dpni_offload {\n\tDPNI_OFF_RX_L3_CSUM = 0,\n\tDPNI_OFF_RX_L4_CSUM = 1,\n\tDPNI_OFF_TX_L3_CSUM = 2,\n\tDPNI_OFF_TX_L4_CSUM = 3,\n};\n\nenum dpni_queue_type {\n\tDPNI_QUEUE_RX = 0,\n\tDPNI_QUEUE_TX = 1,\n\tDPNI_QUEUE_TX_CONFIRM = 2,\n\tDPNI_QUEUE_RX_ERR = 3,\n};\n\nenum dprc_region_type {\n\tDPRC_REGION_TYPE_MC_PORTAL = 0,\n\tDPRC_REGION_TYPE_QBMAN_PORTAL = 1,\n\tDPRC_REGION_TYPE_QBMAN_MEM_BACKED_PORTAL = 2,\n};\n\nenum drbg_prefixes {\n\tDRBG_PREFIX0 = 0,\n\tDRBG_PREFIX1 = 1,\n\tDRBG_PREFIX2 = 2,\n\tDRBG_PREFIX3 = 3,\n};\n\nenum drbg_seed_state {\n\tDRBG_SEED_STATE_UNSEEDED = 0,\n\tDRBG_SEED_STATE_PARTIAL = 1,\n\tDRBG_SEED_STATE_FULL = 2,\n};\n\nenum drm_panel_orientation {\n\tDRM_MODE_PANEL_ORIENTATION_UNKNOWN = -1,\n\tDRM_MODE_PANEL_ORIENTATION_NORMAL = 0,\n\tDRM_MODE_PANEL_ORIENTATION_BOTTOM_UP = 1,\n\tDRM_MODE_PANEL_ORIENTATION_LEFT_UP = 2,\n\tDRM_MODE_PANEL_ORIENTATION_RIGHT_UP = 3,\n};\n\nenum drvtype {\n\tLEGACY = 0,\n\tSYSCON = 1,\n};\n\nenum dsa_db_type {\n\tDSA_DB_PORT = 0,\n\tDSA_DB_LAG = 1,\n\tDSA_DB_BRIDGE = 2,\n};\n\nenum dsa_tag_protocol {\n\tDSA_TAG_PROTO_NONE = 0,\n\tDSA_TAG_PROTO_BRCM = 1,\n\tDSA_TAG_PROTO_BRCM_LEGACY = 22,\n\tDSA_TAG_PROTO_BRCM_PREPEND = 2,\n\tDSA_TAG_PROTO_DSA = 3,\n\tDSA_TAG_PROTO_EDSA = 4,\n\tDSA_TAG_PROTO_GSWIP = 5,\n\tDSA_TAG_PROTO_KSZ9477 = 6,\n\tDSA_TAG_PROTO_KSZ9893 = 7,\n\tDSA_TAG_PROTO_LAN9303 = 8,\n\tDSA_TAG_PROTO_MTK = 9,\n\tDSA_TAG_PROTO_QCA = 10,\n\tDSA_TAG_PROTO_TRAILER = 11,\n\tDSA_TAG_PROTO_8021Q = 12,\n\tDSA_TAG_PROTO_SJA1105 = 13,\n\tDSA_TAG_PROTO_KSZ8795 = 14,\n\tDSA_TAG_PROTO_OCELOT = 15,\n\tDSA_TAG_PROTO_AR9331 = 16,\n\tDSA_TAG_PROTO_RTL4_A = 17,\n\tDSA_TAG_PROTO_HELLCREEK = 18,\n\tDSA_TAG_PROTO_XRS700X = 19,\n\tDSA_TAG_PROTO_OCELOT_8021Q = 20,\n\tDSA_TAG_PROTO_SEVILLE = 21,\n\tDSA_TAG_PROTO_SJA1110 = 23,\n\tDSA_TAG_PROTO_RTL8_4 = 24,\n\tDSA_TAG_PROTO_RTL8_4T = 25,\n\tDSA_TAG_PROTO_RZN1_A5PSW = 26,\n\tDSA_TAG_PROTO_LAN937X = 27,\n\tDSA_TAG_PROTO_VSC73XX_8021Q = 28,\n};\n\nenum dsaf_mode {\n\tDSAF_MODE_INVALID = 0,\n\tDSAF_MODE_ENABLE_FIX = 1,\n\tDSAF_MODE_ENABLE_0VM = 2,\n\tDSAF_MODE_ENABLE_8VM = 3,\n\tDSAF_MODE_ENABLE_16VM = 4,\n\tDSAF_MODE_ENABLE_32VM = 5,\n\tDSAF_MODE_ENABLE_128VM = 6,\n\tDSAF_MODE_ENABLE = 7,\n\tDSAF_MODE_DISABLE_SP = 8,\n\tDSAF_MODE_DISABLE_FIX = 9,\n\tDSAF_MODE_DISABLE_2PORT_8VM = 10,\n\tDSAF_MODE_DISABLE_2PORT_16VM = 11,\n\tDSAF_MODE_DISABLE_2PORT_64VM = 12,\n\tDSAF_MODE_DISABLE_6PORT_0VM = 13,\n\tDSAF_MODE_DISABLE_6PORT_2VM = 14,\n\tDSAF_MODE_DISABLE_6PORT_4VM = 15,\n\tDSAF_MODE_DISABLE_6PORT_16VM = 16,\n\tDSAF_MODE_MAX = 17,\n};\n\nenum dsaf_port_rate_mode {\n\tDSAF_PORT_RATE_1000 = 0,\n\tDSAF_PORT_RATE_2500 = 1,\n\tDSAF_PORT_RATE_10000 = 2,\n};\n\nenum dsaf_stp_port_type {\n\tDSAF_STP_PORT_TYPE_DISCARD = 0,\n\tDSAF_STP_PORT_TYPE_BLOCK = 1,\n\tDSAF_STP_PORT_TYPE_LISTEN = 2,\n\tDSAF_STP_PORT_TYPE_LEARN = 3,\n\tDSAF_STP_PORT_TYPE_FORWARD = 4,\n};\n\nenum dsaf_sw_port_type {\n\tDSAF_SW_PORT_TYPE_NON_VLAN = 0,\n\tDSAF_SW_PORT_TYPE_ACCESS = 1,\n\tDSAF_SW_PORT_TYPE_TRUNK = 2,\n};\n\nenum dspi_trans_mode {\n\tDSPI_XSPI_MODE = 0,\n\tDSPI_DMA_MODE = 1,\n};\n\nenum dw_edma_chip_flags {\n\tDW_EDMA_CHIP_LOCAL = 1,\n};\n\nenum dw_edma_map_format {\n\tEDMA_MF_EDMA_LEGACY = 0,\n\tEDMA_MF_EDMA_UNROLL = 1,\n\tEDMA_MF_HDMA_COMPAT = 5,\n\tEDMA_MF_HDMA_NATIVE = 7,\n};\n\nenum dw_mci_cookie {\n\tCOOKIE_UNMAPPED = 0,\n\tCOOKIE_PRE_MAPPED = 1,\n\tCOOKIE_MAPPED = 2,\n};\n\nenum dw_mci_exynos_type {\n\tDW_MCI_TYPE_EXYNOS4210 = 0,\n\tDW_MCI_TYPE_EXYNOS4412 = 1,\n\tDW_MCI_TYPE_EXYNOS5250 = 2,\n\tDW_MCI_TYPE_EXYNOS5420 = 3,\n\tDW_MCI_TYPE_EXYNOS5420_SMU = 4,\n\tDW_MCI_TYPE_EXYNOS7 = 5,\n\tDW_MCI_TYPE_EXYNOS7_SMU = 6,\n\tDW_MCI_TYPE_ARTPEC8 = 7,\n};\n\nenum dw_mci_state {\n\tSTATE_IDLE___2 = 0,\n\tSTATE_SENDING_CMD = 1,\n\tSTATE_SENDING_DATA = 2,\n\tSTATE_DATA_BUSY = 3,\n\tSTATE_SENDING_STOP = 4,\n\tSTATE_DATA_ERROR = 5,\n\tSTATE_SENDING_CMD11 = 6,\n\tSTATE_WAITING_CMD11_DONE = 7,\n};\n\nenum dw_pcie_app_clk {\n\tDW_PCIE_DBI_CLK = 0,\n\tDW_PCIE_MSTR_CLK = 1,\n\tDW_PCIE_SLV_CLK = 2,\n\tDW_PCIE_NUM_APP_CLKS = 3,\n};\n\nenum dw_pcie_app_rst {\n\tDW_PCIE_DBI_RST = 0,\n\tDW_PCIE_MSTR_RST = 1,\n\tDW_PCIE_SLV_RST = 2,\n\tDW_PCIE_NUM_APP_RSTS = 3,\n};\n\nenum dw_pcie_core_clk {\n\tDW_PCIE_PIPE_CLK = 0,\n\tDW_PCIE_CORE_CLK = 1,\n\tDW_PCIE_AUX_CLK = 2,\n\tDW_PCIE_REF_CLK = 3,\n\tDW_PCIE_NUM_CORE_CLKS = 4,\n};\n\nenum dw_pcie_core_rst {\n\tDW_PCIE_NON_STICKY_RST = 0,\n\tDW_PCIE_STICKY_RST = 1,\n\tDW_PCIE_CORE_RST = 2,\n\tDW_PCIE_PIPE_RST = 3,\n\tDW_PCIE_PHY_RST = 4,\n\tDW_PCIE_HOT_RST = 5,\n\tDW_PCIE_PWR_RST = 6,\n\tDW_PCIE_NUM_CORE_RSTS = 7,\n};\n\nenum dw_pcie_device_mode {\n\tDW_PCIE_UNKNOWN_TYPE = 0,\n\tDW_PCIE_EP_TYPE = 1,\n\tDW_PCIE_LEG_EP_TYPE = 2,\n\tDW_PCIE_RC_TYPE = 3,\n};\n\nenum dw_pcie_ltssm {\n\tDW_PCIE_LTSSM_DETECT_QUIET = 0,\n\tDW_PCIE_LTSSM_DETECT_ACT = 1,\n\tDW_PCIE_LTSSM_DETECT_WAIT = 6,\n\tDW_PCIE_LTSSM_L0 = 17,\n\tDW_PCIE_LTSSM_L2_IDLE = 21,\n\tDW_PCIE_LTSSM_UNKNOWN = 4294967295,\n};\n\nenum dw_wdt_rmod {\n\tDW_WDT_RMOD_RESET = 1,\n\tDW_WDT_RMOD_IRQ = 2,\n};\n\nenum dwc2_control_phase {\n\tDWC2_CONTROL_SETUP = 0,\n\tDWC2_CONTROL_DATA = 1,\n\tDWC2_CONTROL_STATUS = 2,\n};\n\nenum dwc2_ep0_state {\n\tDWC2_EP0_SETUP = 0,\n\tDWC2_EP0_DATA_IN = 1,\n\tDWC2_EP0_DATA_OUT = 2,\n\tDWC2_EP0_STATUS_IN = 3,\n\tDWC2_EP0_STATUS_OUT = 4,\n};\n\nenum dwc2_halt_status {\n\tDWC2_HC_XFER_NO_HALT_STATUS = 0,\n\tDWC2_HC_XFER_COMPLETE = 1,\n\tDWC2_HC_XFER_URB_COMPLETE = 2,\n\tDWC2_HC_XFER_ACK = 3,\n\tDWC2_HC_XFER_NAK = 4,\n\tDWC2_HC_XFER_NYET = 5,\n\tDWC2_HC_XFER_STALL = 6,\n\tDWC2_HC_XFER_XACT_ERR = 7,\n\tDWC2_HC_XFER_FRAME_OVERRUN = 8,\n\tDWC2_HC_XFER_BABBLE_ERR = 9,\n\tDWC2_HC_XFER_DATA_TOGGLE_ERR = 10,\n\tDWC2_HC_XFER_AHB_ERR = 11,\n\tDWC2_HC_XFER_PERIODIC_INCOMPLETE = 12,\n\tDWC2_HC_XFER_URB_DEQUEUE = 13,\n};\n\nenum dwc2_hsotg_dmamode {\n\tS3C_HSOTG_DMA_NONE = 0,\n\tS3C_HSOTG_DMA_ONLY = 1,\n\tS3C_HSOTG_DMA_DRV = 2,\n};\n\nenum dwc2_lx_state {\n\tDWC2_L0 = 0,\n\tDWC2_L1 = 1,\n\tDWC2_L2 = 2,\n\tDWC2_L3 = 3,\n};\n\nenum dwc2_transaction_type {\n\tDWC2_TRANSACTION_NONE = 0,\n\tDWC2_TRANSACTION_PERIODIC = 1,\n\tDWC2_TRANSACTION_NON_PERIODIC = 2,\n\tDWC2_TRANSACTION_ALL = 3,\n};\n\nenum dwc3_ep0_next {\n\tDWC3_EP0_UNKNOWN = 0,\n\tDWC3_EP0_COMPLETE = 1,\n\tDWC3_EP0_NRDY_DATA = 2,\n\tDWC3_EP0_NRDY_STATUS = 3,\n};\n\nenum dwc3_ep0_state {\n\tEP0_UNCONNECTED = 0,\n\tEP0_SETUP_PHASE = 1,\n\tEP0_DATA_PHASE = 2,\n\tEP0_STATUS_PHASE = 3,\n};\n\nenum dwc3_link_state {\n\tDWC3_LINK_STATE_U0 = 0,\n\tDWC3_LINK_STATE_U1 = 1,\n\tDWC3_LINK_STATE_U2 = 2,\n\tDWC3_LINK_STATE_U3 = 3,\n\tDWC3_LINK_STATE_SS_DIS = 4,\n\tDWC3_LINK_STATE_RX_DET = 5,\n\tDWC3_LINK_STATE_SS_INACT = 6,\n\tDWC3_LINK_STATE_POLL = 7,\n\tDWC3_LINK_STATE_RECOV = 8,\n\tDWC3_LINK_STATE_HRESET = 9,\n\tDWC3_LINK_STATE_CMPLY = 10,\n\tDWC3_LINK_STATE_LPBK = 11,\n\tDWC3_LINK_STATE_RESET = 14,\n\tDWC3_LINK_STATE_RESUME = 15,\n\tDWC3_LINK_STATE_MASK = 15,\n};\n\nenum dwcmshc_rk_type {\n\tDWCMSHC_RK3568 = 0,\n\tDWCMSHC_RK3588 = 1,\n};\n\nenum dynevent_type {\n\tDYNEVENT_TYPE_SYNTH = 1,\n\tDYNEVENT_TYPE_KPROBE = 2,\n\tDYNEVENT_TYPE_NONE = 3,\n};\n\nenum e1000_1000t_rx_status {\n\te1000_1000t_rx_status_not_ok___2 = 0,\n\te1000_1000t_rx_status_ok___2 = 1,\n\te1000_1000t_rx_status_undefined___2 = 255,\n};\n\nenum e1000_boards {\n\tboard_82571 = 0,\n\tboard_82572 = 1,\n\tboard_82573 = 2,\n\tboard_82574 = 3,\n\tboard_82583 = 4,\n\tboard_80003es2lan = 5,\n\tboard_ich8lan = 6,\n\tboard_ich9lan = 7,\n\tboard_ich10lan = 8,\n\tboard_pchlan = 9,\n\tboard_pch2lan = 10,\n\tboard_pch_lpt = 11,\n\tboard_pch_spt = 12,\n\tboard_pch_cnp = 13,\n\tboard_pch_tgp = 14,\n\tboard_pch_adp = 15,\n\tboard_pch_mtp = 16,\n};\n\nenum e1000_bus_speed {\n\te1000_bus_speed_unknown___2 = 0,\n\te1000_bus_speed_33___2 = 1,\n\te1000_bus_speed_66___2 = 2,\n\te1000_bus_speed_100___2 = 3,\n\te1000_bus_speed_120___2 = 4,\n\te1000_bus_speed_133___2 = 5,\n\te1000_bus_speed_2500 = 6,\n\te1000_bus_speed_5000 = 7,\n\te1000_bus_speed_reserved___2 = 8,\n};\n\nenum e1000_bus_type {\n\te1000_bus_type_unknown___2 = 0,\n\te1000_bus_type_pci___2 = 1,\n\te1000_bus_type_pcix___2 = 2,\n\te1000_bus_type_pci_express = 3,\n\te1000_bus_type_reserved___2 = 4,\n};\n\nenum e1000_bus_width {\n\te1000_bus_width_unknown___2 = 0,\n\te1000_bus_width_pcie_x1 = 1,\n\te1000_bus_width_pcie_x2 = 2,\n\te1000_bus_width_pcie_x4 = 4,\n\te1000_bus_width_pcie_x8 = 8,\n\te1000_bus_width_32___2 = 9,\n\te1000_bus_width_64___2 = 10,\n\te1000_bus_width_reserved___2 = 11,\n};\n\nenum e1000_fc_mode {\n\te1000_fc_none = 0,\n\te1000_fc_rx_pause = 1,\n\te1000_fc_tx_pause = 2,\n\te1000_fc_full = 3,\n\te1000_fc_default = 255,\n};\n\nenum e1000_mac_type {\n\te1000_undefined___2 = 0,\n\te1000_vfadapt = 1,\n\te1000_vfadapt_i350 = 2,\n\te1000_num_macs___2 = 3,\n};\n\nenum e1000_mac_type___2 {\n\te1000_82571 = 0,\n\te1000_82572 = 1,\n\te1000_82573 = 2,\n\te1000_82574 = 3,\n\te1000_82583 = 4,\n\te1000_80003es2lan = 5,\n\te1000_ich8lan = 6,\n\te1000_ich9lan = 7,\n\te1000_ich10lan = 8,\n\te1000_pchlan = 9,\n\te1000_pch2lan = 10,\n\te1000_pch_lpt = 11,\n\te1000_pch_spt = 12,\n\te1000_pch_cnp = 13,\n\te1000_pch_tgp = 14,\n\te1000_pch_adp = 15,\n\te1000_pch_mtp = 16,\n\te1000_pch_lnp = 17,\n\te1000_pch_ptp = 18,\n\te1000_pch_nvp = 19,\n};\n\nenum e1000_mac_type___3 {\n\te1000_undefined___3 = 0,\n\te1000_82575 = 1,\n\te1000_82576 = 2,\n\te1000_82580 = 3,\n\te1000_i350 = 4,\n\te1000_i354 = 5,\n\te1000_i210 = 6,\n\te1000_i211 = 7,\n\te1000_num_macs___3 = 8,\n};\n\nenum e1000_media_type {\n\te1000_media_type_unknown = 0,\n\te1000_media_type_copper___2 = 1,\n\te1000_media_type_fiber___2 = 2,\n\te1000_media_type_internal_serdes___2 = 3,\n\te1000_num_media_types___2 = 4,\n};\n\nenum e1000_mng_mode {\n\te1000_mng_mode_none = 0,\n\te1000_mng_mode_asf = 1,\n\te1000_mng_mode_pt = 2,\n\te1000_mng_mode_ipmi = 3,\n\te1000_mng_mode_host_if_only = 4,\n};\n\nenum e1000_ms_type {\n\te1000_ms_hw_default___2 = 0,\n\te1000_ms_force_master___2 = 1,\n\te1000_ms_force_slave___2 = 2,\n\te1000_ms_auto___2 = 3,\n};\n\nenum e1000_nvm_override {\n\te1000_nvm_override_none = 0,\n\te1000_nvm_override_spi_small = 1,\n\te1000_nvm_override_spi_large = 2,\n};\n\nenum e1000_nvm_type {\n\te1000_nvm_unknown = 0,\n\te1000_nvm_none = 1,\n\te1000_nvm_eeprom_spi = 2,\n\te1000_nvm_flash_hw = 3,\n\te1000_nvm_invm = 4,\n\te1000_nvm_flash_sw = 5,\n};\n\nenum e1000_nvm_type___2 {\n\te1000_nvm_unknown___2 = 0,\n\te1000_nvm_none___2 = 1,\n\te1000_nvm_eeprom_spi___2 = 2,\n\te1000_nvm_flash_hw___2 = 3,\n\te1000_nvm_flash_sw___2 = 4,\n};\n\nenum e1000_phy_type {\n\te1000_phy_unknown = 0,\n\te1000_phy_none = 1,\n\te1000_phy_m88___2 = 2,\n\te1000_phy_igp___2 = 3,\n\te1000_phy_igp_2 = 4,\n\te1000_phy_gg82563 = 5,\n\te1000_phy_igp_3 = 6,\n\te1000_phy_ife = 7,\n\te1000_phy_bm = 8,\n\te1000_phy_82578 = 9,\n\te1000_phy_82577 = 10,\n\te1000_phy_82579 = 11,\n\te1000_phy_i217 = 12,\n};\n\nenum e1000_phy_type___2 {\n\te1000_phy_unknown___2 = 0,\n\te1000_phy_none___2 = 1,\n\te1000_phy_m88___3 = 2,\n\te1000_phy_igp___3 = 3,\n\te1000_phy_igp_2___2 = 4,\n\te1000_phy_gg82563___2 = 5,\n\te1000_phy_igp_3___2 = 6,\n\te1000_phy_ife___2 = 7,\n\te1000_phy_82580 = 8,\n\te1000_phy_i210 = 9,\n\te1000_phy_bcm54616 = 10,\n};\n\nenum e1000_rev_polarity {\n\te1000_rev_polarity_normal___2 = 0,\n\te1000_rev_polarity_reversed___2 = 1,\n\te1000_rev_polarity_undefined___2 = 255,\n};\n\nenum e1000_ring_flags_t {\n\tIGB_RING_FLAG_RX_3K_BUFFER = 0,\n\tIGB_RING_FLAG_RX_BUILD_SKB_ENABLED = 1,\n\tIGB_RING_FLAG_RX_SCTP_CSUM = 2,\n\tIGB_RING_FLAG_RX_LB_VLAN_BSWAP = 3,\n\tIGB_RING_FLAG_TX_CTX_IDX = 4,\n\tIGB_RING_FLAG_TX_DETECT_HANG = 5,\n\tIGB_RING_FLAG_TX_DISABLED = 6,\n};\n\nenum e1000_serdes_link_state {\n\te1000_serdes_link_down = 0,\n\te1000_serdes_link_autoneg_progress = 1,\n\te1000_serdes_link_autoneg_complete = 2,\n\te1000_serdes_link_forced_up = 3,\n};\n\nenum e1000_smart_speed {\n\te1000_smart_speed_default___2 = 0,\n\te1000_smart_speed_on___2 = 1,\n\te1000_smart_speed_off___2 = 2,\n};\n\nenum e1000_state_t {\n\t__E1000_TESTING = 0,\n\t__E1000_RESETTING = 1,\n\t__E1000_ACCESS_SHARED_RESOURCE = 2,\n\t__E1000_DOWN = 3,\n};\n\nenum e1000_state_t___2 {\n\t__E1000_TESTING___2 = 0,\n\t__E1000_RESETTING___2 = 1,\n\t__E1000_DOWN___2 = 2,\n\t__E1000_DISABLED = 3,\n};\n\nenum e1000_state_t___3 {\n\t__IGB_TESTING = 0,\n\t__IGB_RESETTING = 1,\n\t__IGB_DOWN = 2,\n\t__IGB_PTP_TX_IN_PROGRESS = 3,\n};\n\nenum e1000_ulp_state {\n\te1000_ulp_state_unknown = 0,\n\te1000_ulp_state_off = 1,\n\te1000_ulp_state_on = 2,\n};\n\nenum ec_charge_control_cmd {\n\tEC_CHARGE_CONTROL_CMD_SET = 0,\n\tEC_CHARGE_CONTROL_CMD_GET = 1,\n};\n\nenum ec_charge_control_mode {\n\tCHARGE_CONTROL_NORMAL = 0,\n\tCHARGE_CONTROL_IDLE = 1,\n\tCHARGE_CONTROL_DISCHARGE = 2,\n\tCHARGE_CONTROL_COUNT = 3,\n};\n\nenum ec_comms_status {\n\tEC_COMMS_STATUS_PROCESSING = 1,\n};\n\nenum ec_console_read_subcmd {\n\tCONSOLE_READ_NEXT = 0,\n\tCONSOLE_READ_RECENT = 1,\n};\n\nenum ec_feature_code {\n\tEC_FEATURE_LIMITED = 0,\n\tEC_FEATURE_FLASH = 1,\n\tEC_FEATURE_PWM_FAN = 2,\n\tEC_FEATURE_PWM_KEYB = 3,\n\tEC_FEATURE_LIGHTBAR = 4,\n\tEC_FEATURE_LED = 5,\n\tEC_FEATURE_MOTION_SENSE = 6,\n\tEC_FEATURE_KEYB = 7,\n\tEC_FEATURE_PSTORE = 8,\n\tEC_FEATURE_PORT80 = 9,\n\tEC_FEATURE_THERMAL = 10,\n\tEC_FEATURE_BKLIGHT_SWITCH = 11,\n\tEC_FEATURE_WIFI_SWITCH = 12,\n\tEC_FEATURE_HOST_EVENTS = 13,\n\tEC_FEATURE_GPIO = 14,\n\tEC_FEATURE_I2C = 15,\n\tEC_FEATURE_CHARGER = 16,\n\tEC_FEATURE_BATTERY = 17,\n\tEC_FEATURE_SMART_BATTERY = 18,\n\tEC_FEATURE_HANG_DETECT = 19,\n\tEC_FEATURE_PMU = 20,\n\tEC_FEATURE_SUB_MCU = 21,\n\tEC_FEATURE_USB_PD = 22,\n\tEC_FEATURE_USB_MUX = 23,\n\tEC_FEATURE_MOTION_SENSE_FIFO = 24,\n\tEC_FEATURE_VSTORE = 25,\n\tEC_FEATURE_USBC_SS_MUX_VIRTUAL = 26,\n\tEC_FEATURE_RTC = 27,\n\tEC_FEATURE_FINGERPRINT = 28,\n\tEC_FEATURE_TOUCHPAD = 29,\n\tEC_FEATURE_RWSIG = 30,\n\tEC_FEATURE_DEVICE_EVENT = 31,\n\tEC_FEATURE_UNIFIED_WAKE_MASKS = 32,\n\tEC_FEATURE_HOST_EVENT64 = 33,\n\tEC_FEATURE_EXEC_IN_RAM = 34,\n\tEC_FEATURE_CEC = 35,\n\tEC_FEATURE_MOTION_SENSE_TIGHT_TIMESTAMPS = 36,\n\tEC_FEATURE_REFINED_TABLET_MODE_HYSTERESIS = 37,\n\tEC_FEATURE_SCP = 39,\n\tEC_FEATURE_ISH = 40,\n\tEC_FEATURE_TYPEC_CMD = 41,\n\tEC_FEATURE_TYPEC_REQUIRE_AP_MODE_ENTRY = 42,\n\tEC_FEATURE_TYPEC_MUX_REQUIRE_AP_ACK = 43,\n\tEC_FEATURE_S4_RESIDENCY = 44,\n\tEC_FEATURE_TYPEC_AP_MUX_SET = 45,\n\tEC_FEATURE_TYPEC_AP_VDM_SEND = 46,\n\tEC_FEATURE_SYSTEM_SAFE_MODE = 47,\n\tEC_FEATURE_ASSERT_REBOOTS = 48,\n\tEC_FEATURE_TOKENIZED_LOGGING = 49,\n\tEC_FEATURE_AMD_STB_DUMP = 50,\n\tEC_FEATURE_MEMORY_DUMP = 51,\n\tEC_FEATURE_TYPEC_DP2_1 = 52,\n\tEC_FEATURE_SCP_C1 = 53,\n\tEC_FEATURE_UCSI_PPM = 54,\n};\n\nenum ec_led_colors {\n\tEC_LED_COLOR_RED = 0,\n\tEC_LED_COLOR_GREEN = 1,\n\tEC_LED_COLOR_BLUE = 2,\n\tEC_LED_COLOR_YELLOW = 3,\n\tEC_LED_COLOR_WHITE = 4,\n\tEC_LED_COLOR_AMBER = 5,\n\tEC_LED_COLOR_COUNT = 6,\n};\n\nenum ec_mkbp_event {\n\tEC_MKBP_EVENT_KEY_MATRIX = 0,\n\tEC_MKBP_EVENT_HOST_EVENT = 1,\n\tEC_MKBP_EVENT_SENSOR_FIFO = 2,\n\tEC_MKBP_EVENT_BUTTON = 3,\n\tEC_MKBP_EVENT_SWITCH = 4,\n\tEC_MKBP_EVENT_FINGERPRINT = 5,\n\tEC_MKBP_EVENT_SYSRQ = 6,\n\tEC_MKBP_EVENT_HOST_EVENT64 = 7,\n\tEC_MKBP_EVENT_CEC_EVENT = 8,\n\tEC_MKBP_EVENT_CEC_MESSAGE = 9,\n\tEC_MKBP_EVENT_PCHG = 12,\n\tEC_MKBP_EVENT_COUNT = 13,\n};\n\nenum ec_mkbp_info_type {\n\tEC_MKBP_INFO_KBD = 0,\n\tEC_MKBP_INFO_SUPPORTED = 1,\n\tEC_MKBP_INFO_CURRENT = 2,\n};\n\nenum ec_reboot_cmd {\n\tEC_REBOOT_CANCEL = 0,\n\tEC_REBOOT_JUMP_RO = 1,\n\tEC_REBOOT_JUMP_RW = 2,\n\tEC_REBOOT_COLD = 4,\n\tEC_REBOOT_DISABLE_JUMP = 5,\n\tEC_REBOOT_HIBERNATE = 6,\n\tEC_REBOOT_HIBERNATE_CLEAR_AP_OFF = 7,\n\tEC_REBOOT_COLD_AP_OFF = 8,\n};\n\nenum ec_status {\n\tEC_RES_SUCCESS = 0,\n\tEC_RES_INVALID_COMMAND = 1,\n\tEC_RES_ERROR = 2,\n\tEC_RES_INVALID_PARAM = 3,\n\tEC_RES_ACCESS_DENIED = 4,\n\tEC_RES_INVALID_RESPONSE = 5,\n\tEC_RES_INVALID_VERSION = 6,\n\tEC_RES_INVALID_CHECKSUM = 7,\n\tEC_RES_IN_PROGRESS = 8,\n\tEC_RES_UNAVAILABLE = 9,\n\tEC_RES_TIMEOUT = 10,\n\tEC_RES_OVERFLOW = 11,\n\tEC_RES_INVALID_HEADER = 12,\n\tEC_RES_REQUEST_TRUNCATED = 13,\n\tEC_RES_RESPONSE_TOO_BIG = 14,\n\tEC_RES_BUS_ERROR = 15,\n\tEC_RES_BUSY = 16,\n\tEC_RES_INVALID_HEADER_VERSION = 17,\n\tEC_RES_INVALID_HEADER_CRC = 18,\n\tEC_RES_INVALID_DATA_CRC = 19,\n\tEC_RES_DUP_UNAVAILABLE = 20,\n};\n\nenum ec_temp_thresholds {\n\tEC_TEMP_THRESH_WARN = 0,\n\tEC_TEMP_THRESH_HIGH = 1,\n\tEC_TEMP_THRESH_HALT = 2,\n\tEC_TEMP_THRESH_COUNT = 3,\n};\n\nenum ec_vbnvcontext_op {\n\tEC_VBNV_CONTEXT_OP_READ = 0,\n\tEC_VBNV_CONTEXT_OP_WRITE = 1,\n};\n\nenum edac_mc_layer_type {\n\tEDAC_MC_LAYER_BRANCH = 0,\n\tEDAC_MC_LAYER_CHANNEL = 1,\n\tEDAC_MC_LAYER_SLOT = 2,\n\tEDAC_MC_LAYER_CHIP_SELECT = 3,\n\tEDAC_MC_LAYER_ALL_MEM = 4,\n};\n\nenum edac_type {\n\tEDAC_UNKNOWN = 0,\n\tEDAC_NONE = 1,\n\tEDAC_RESERVED = 2,\n\tEDAC_PARITY = 3,\n\tEDAC_EC = 4,\n\tEDAC_SECDED = 5,\n\tEDAC_S2ECD2ED = 6,\n\tEDAC_S4ECD4ED = 7,\n\tEDAC_S8ECD8ED = 8,\n\tEDAC_S16ECD16ED = 9,\n};\n\nenum efi_cmdline_option {\n\tEFI_CMDLINE_NONE = 0,\n\tEFI_CMDLINE_MODE_NUM = 1,\n\tEFI_CMDLINE_RES = 2,\n\tEFI_CMDLINE_AUTO = 3,\n\tEFI_CMDLINE_LIST = 4,\n};\n\nenum efi_rts_ids {\n\tEFI_NONE = 0,\n\tEFI_GET_TIME = 1,\n\tEFI_SET_TIME = 2,\n\tEFI_GET_WAKEUP_TIME = 3,\n\tEFI_SET_WAKEUP_TIME = 4,\n\tEFI_GET_VARIABLE = 5,\n\tEFI_GET_NEXT_VARIABLE = 6,\n\tEFI_SET_VARIABLE = 7,\n\tEFI_QUERY_VARIABLE_INFO = 8,\n\tEFI_GET_NEXT_HIGH_MONO_COUNT = 9,\n\tEFI_RESET_SYSTEM = 10,\n\tEFI_UPDATE_CAPSULE = 11,\n\tEFI_QUERY_CAPSULE_CAPS = 12,\n\tEFI_ACPI_PRM_HANDLER = 13,\n};\n\nenum efi_secureboot_mode {\n\tefi_secureboot_mode_unset = 0,\n\tefi_secureboot_mode_unknown = 1,\n\tefi_secureboot_mode_disabled = 2,\n\tefi_secureboot_mode_enabled = 3,\n};\n\nenum efistub_event_type {\n\tEFISTUB_EVT_INITRD = 0,\n\tEFISTUB_EVT_LOAD_OPTIONS = 1,\n\tEFISTUB_EVT_COUNT = 2,\n};\n\nenum ehci_hrtimer_event {\n\tEHCI_HRTIMER_POLL_ASS = 0,\n\tEHCI_HRTIMER_POLL_PSS = 1,\n\tEHCI_HRTIMER_POLL_DEAD = 2,\n\tEHCI_HRTIMER_UNLINK_INTR = 3,\n\tEHCI_HRTIMER_FREE_ITDS = 4,\n\tEHCI_HRTIMER_ACTIVE_UNLINK = 5,\n\tEHCI_HRTIMER_START_UNLINK_INTR = 6,\n\tEHCI_HRTIMER_ASYNC_UNLINKS = 7,\n\tEHCI_HRTIMER_IAA_WATCHDOG = 8,\n\tEHCI_HRTIMER_DISABLE_PERIODIC = 9,\n\tEHCI_HRTIMER_DISABLE_ASYNC = 10,\n\tEHCI_HRTIMER_IO_WATCHDOG = 11,\n\tEHCI_HRTIMER_NUM_EVENTS = 12,\n};\n\nenum ehci_rh_state {\n\tEHCI_RH_HALTED = 0,\n\tEHCI_RH_SUSPENDED = 1,\n\tEHCI_RH_RUNNING = 2,\n\tEHCI_RH_STOPPING = 3,\n};\n\nenum eint_type {\n\tEINT_TYPE_NONE = 0,\n\tEINT_TYPE_GPIO = 1,\n\tEINT_TYPE_WKUP = 2,\n\tEINT_TYPE_WKUP_MUX = 3,\n};\n\nenum elv_merge {\n\tELEVATOR_NO_MERGE = 0,\n\tELEVATOR_FRONT_MERGE = 1,\n\tELEVATOR_BACK_MERGE = 2,\n\tELEVATOR_DISCARD_MERGE = 3,\n};\n\nenum enable_type {\n\tundefined = -1,\n\tuser_disabled = 0,\n\tauto_disabled = 1,\n\tuser_enabled = 2,\n\tauto_enabled = 3,\n};\n\nenum enetc_active_offloads {\n\tENETC_F_TX_TSTAMP = 1,\n\tENETC_F_TX_ONESTEP_SYNC_TSTAMP = 2,\n\tENETC_F_RX_TSTAMP = 256,\n\tENETC_F_QBV = 512,\n\tENETC_F_QCI = 1024,\n\tENETC_F_QBU = 2048,\n\tENETC_F_TXCSUM = 4096,\n\tENETC_F_LSO = 8192,\n};\n\nenum enetc_bdr_type {\n\tTX = 0,\n\tRX = 1,\n};\n\nenum enetc_errata {\n\tENETC_ERR_VLAN_ISOL = 1,\n\tENETC_ERR_UCMCSWP = 2,\n};\n\nenum enetc_flags_bit {\n\tENETC_TX_ONESTEP_TSTAMP_IN_PROGRESS = 0,\n\tENETC_TX_DOWN = 1,\n};\n\nenum enetc_ic_mode {\n\tENETC_IC_NONE = 0,\n\tENETC_IC_RX_MANUAL = 1,\n\tENETC_IC_TX_MANUAL = 2,\n\tENETC_IC_RX_ADAPTIVE = 4,\n};\n\nenum enetc_mac_addr_type {\n\tUC = 0,\n\tMC = 1,\n\tMADDR_TYPE = 2,\n};\n\nenum enetc_msg_cmd_action_type {\n\tENETC_MSG_CMD_MNG_ADD = 1,\n\tENETC_MSG_CMD_MNG_REMOVE = 2,\n};\n\nenum enetc_msg_cmd_status {\n\tENETC_MSG_CMD_STATUS_OK = 0,\n\tENETC_MSG_CMD_STATUS_FAIL = 1,\n};\n\nenum enetc_msg_cmd_type {\n\tENETC_MSG_CMD_MNG_MAC = 1,\n\tENETC_MSG_CMD_MNG_RX_MAC_FILTER = 2,\n\tENETC_MSG_CMD_MNG_RX_VLAN_FILTER = 3,\n};\n\nenum enetc_txbd_flags {\n\tENETC_TXBD_FLAGS_L4CS = 1,\n\tENETC_TXBD_FLAGS_TSE = 2,\n\tENETC_TXBD_FLAGS_LSO = 2,\n\tENETC_TXBD_FLAGS_W = 4,\n\tENETC_TXBD_FLAGS_CSUM_LSO = 8,\n\tENETC_TXBD_FLAGS_TXSTART = 16,\n\tENETC_TXBD_FLAGS_EX = 64,\n\tENETC_TXBD_FLAGS_F = 128,\n};\n\nenum enetc_vf_flags {\n\tENETC_VF_FLAG_PF_SET_MAC = 1,\n};\n\nenum enum_gate_cfg {\n\tGATE_ADC12 = 0,\n\tGATE_ADC3 = 1,\n\tGATE_ADF1 = 2,\n\tGATE_CCI = 3,\n\tGATE_CRC = 4,\n\tGATE_CRYP1 = 5,\n\tGATE_CRYP2 = 6,\n\tGATE_CSI = 7,\n\tGATE_DCMIPP = 8,\n\tGATE_DSI = 9,\n\tGATE_DTS = 10,\n\tGATE_ETH1 = 11,\n\tGATE_ETH1MAC = 12,\n\tGATE_ETH1RX = 13,\n\tGATE_ETH1STP = 14,\n\tGATE_ETH1TX = 15,\n\tGATE_ETH2 = 16,\n\tGATE_ETH2MAC = 17,\n\tGATE_ETH2RX = 18,\n\tGATE_ETH2STP = 19,\n\tGATE_ETH2TX = 20,\n\tGATE_ETHSW = 21,\n\tGATE_ETHSWACMCFG = 22,\n\tGATE_ETHSWACMMSG = 23,\n\tGATE_ETHSWMAC = 24,\n\tGATE_ETHSWREF = 25,\n\tGATE_FDCAN = 26,\n\tGATE_GPU = 27,\n\tGATE_HASH = 28,\n\tGATE_HDP = 29,\n\tGATE_I2C1 = 30,\n\tGATE_I2C2 = 31,\n\tGATE_I2C3 = 32,\n\tGATE_I2C4 = 33,\n\tGATE_I2C5 = 34,\n\tGATE_I2C6 = 35,\n\tGATE_I2C7 = 36,\n\tGATE_I2C8 = 37,\n\tGATE_I3C1 = 38,\n\tGATE_I3C2 = 39,\n\tGATE_I3C3 = 40,\n\tGATE_I3C4 = 41,\n\tGATE_IS2M = 42,\n\tGATE_IWDG1 = 43,\n\tGATE_IWDG2 = 44,\n\tGATE_IWDG3 = 45,\n\tGATE_IWDG4 = 46,\n\tGATE_IWDG5 = 47,\n\tGATE_LPTIM1 = 48,\n\tGATE_LPTIM2 = 49,\n\tGATE_LPTIM3 = 50,\n\tGATE_LPTIM4 = 51,\n\tGATE_LPTIM5 = 52,\n\tGATE_LPUART1 = 53,\n\tGATE_LTDC = 54,\n\tGATE_LVDS = 55,\n\tGATE_MCO1 = 56,\n\tGATE_MCO2 = 57,\n\tGATE_MDF1 = 58,\n\tGATE_OSPIIOM = 59,\n\tGATE_PCIE = 60,\n\tGATE_PKA = 61,\n\tGATE_RNG = 62,\n\tGATE_SAES = 63,\n\tGATE_SAI1 = 64,\n\tGATE_SAI2 = 65,\n\tGATE_SAI3 = 66,\n\tGATE_SAI4 = 67,\n\tGATE_SDMMC1 = 68,\n\tGATE_SDMMC2 = 69,\n\tGATE_SDMMC3 = 70,\n\tGATE_SERC = 71,\n\tGATE_SPDIFRX = 72,\n\tGATE_SPI1 = 73,\n\tGATE_SPI2 = 74,\n\tGATE_SPI3 = 75,\n\tGATE_SPI4 = 76,\n\tGATE_SPI5 = 77,\n\tGATE_SPI6 = 78,\n\tGATE_SPI7 = 79,\n\tGATE_SPI8 = 80,\n\tGATE_TIM1 = 81,\n\tGATE_TIM10 = 82,\n\tGATE_TIM11 = 83,\n\tGATE_TIM12 = 84,\n\tGATE_TIM13 = 85,\n\tGATE_TIM14 = 86,\n\tGATE_TIM15 = 87,\n\tGATE_TIM16 = 88,\n\tGATE_TIM17 = 89,\n\tGATE_TIM2 = 90,\n\tGATE_TIM20 = 91,\n\tGATE_TIM3 = 92,\n\tGATE_TIM4 = 93,\n\tGATE_TIM5 = 94,\n\tGATE_TIM6 = 95,\n\tGATE_TIM7 = 96,\n\tGATE_TIM8 = 97,\n\tGATE_UART4 = 98,\n\tGATE_UART5 = 99,\n\tGATE_UART7 = 100,\n\tGATE_UART8 = 101,\n\tGATE_UART9 = 102,\n\tGATE_USART1 = 103,\n\tGATE_USART2 = 104,\n\tGATE_USART3 = 105,\n\tGATE_USART6 = 106,\n\tGATE_USBH = 107,\n\tGATE_USB2PHY1 = 108,\n\tGATE_USB2PHY2 = 109,\n\tGATE_USB3DR = 110,\n\tGATE_USB3PCIEPHY = 111,\n\tGATE_USBTC = 112,\n\tGATE_VDEC = 113,\n\tGATE_VENC = 114,\n\tGATE_VREF = 115,\n\tGATE_WWDG1 = 116,\n\tGATE_WWDG2 = 117,\n\tGATE_NB = 118,\n};\n\nenum enum_mux_cfg {\n\tMUX_ADC12 = 0,\n\tMUX_ADC3 = 1,\n\tMUX_DSIBLANE = 2,\n\tMUX_DSIPHY = 3,\n\tMUX_DTS = 4,\n\tMUX_LVDSPHY = 5,\n\tMUX_MCO1 = 6,\n\tMUX_MCO2 = 7,\n\tMUX_USB2PHY1 = 8,\n\tMUX_USB2PHY2 = 9,\n\tMUX_USB3PCIEPHY = 10,\n\tMUX_NB = 11,\n};\n\nenum err_code {\n\tHIDMA_EVRE_STATUS_COMPLETE = 1,\n\tHIDMA_EVRE_STATUS_ERROR = 4,\n};\n\nenum error_detector {\n\tERROR_DETECTOR_KFENCE = 0,\n\tERROR_DETECTOR_KASAN = 1,\n\tERROR_DETECTOR_WARN = 2,\n};\n\nenum ether_type_algorithm {\n\tETYPE_ALG_NONE = 0,\n\tETYPE_ALG_SKIP = 1,\n\tETYPE_ALG_ENDPARSE = 2,\n\tETYPE_ALG_VLAN = 3,\n\tETYPE_ALG_VLAN_STRIP = 4,\n};\n\nenum ethnl_sock_type {\n\tETHTOOL_SOCK_TYPE_MODULE_FW_FLASH = 0,\n};\n\nenum ethtool_c33_pse_admin_state {\n\tETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN = 1,\n\tETHTOOL_C33_PSE_ADMIN_STATE_DISABLED = 2,\n\tETHTOOL_C33_PSE_ADMIN_STATE_ENABLED = 3,\n};\n\nenum ethtool_c33_pse_ext_state {\n\tETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1,\n\tETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID = 2,\n\tETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE = 3,\n\tETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED = 4,\n\tETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM = 5,\n\tETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED = 6,\n\tETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE = 7,\n\tETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE = 8,\n\tETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED = 9,\n};\n\nenum ethtool_c33_pse_ext_substate_error_condition {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT = 3,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON = 4,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS = 5,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF = 6,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN = 7,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE = 8,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP = 9,\n};\n\nenum ethtool_c33_pse_ext_substate_mr_pse_enable {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1,\n};\n\nenum ethtool_c33_pse_ext_substate_option_detect_ted {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR = 2,\n};\n\nenum ethtool_c33_pse_ext_substate_option_vport_lim {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION = 3,\n};\n\nenum ethtool_c33_pse_ext_substate_ovld_detected {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1,\n};\n\nenum ethtool_c33_pse_ext_substate_power_not_available {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT = 3,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT = 4,\n};\n\nenum ethtool_c33_pse_ext_substate_short_detected {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1,\n};\n\nenum ethtool_c33_pse_pw_d_status {\n\tETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN = 1,\n\tETHTOOL_C33_PSE_PW_D_STATUS_DISABLED = 2,\n\tETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING = 3,\n\tETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING = 4,\n\tETHTOOL_C33_PSE_PW_D_STATUS_TEST = 5,\n\tETHTOOL_C33_PSE_PW_D_STATUS_FAULT = 6,\n\tETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT = 7,\n};\n\nenum ethtool_cmis_cdb_cmd_id {\n\tETHTOOL_CMIS_CDB_CMD_QUERY_STATUS = 0,\n\tETHTOOL_CMIS_CDB_CMD_MODULE_FEATURES = 64,\n\tETHTOOL_CMIS_CDB_CMD_FW_MANAGMENT_FEATURES = 65,\n\tETHTOOL_CMIS_CDB_CMD_START_FW_DOWNLOAD = 257,\n\tETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_LPL = 259,\n\tETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_EPL = 260,\n\tETHTOOL_CMIS_CDB_CMD_COMPLETE_FW_DOWNLOAD = 263,\n\tETHTOOL_CMIS_CDB_CMD_RUN_FW_IMAGE = 265,\n\tETHTOOL_CMIS_CDB_CMD_COMMIT_FW_IMAGE = 266,\n};\n\nenum ethtool_fec_config_bits {\n\tETHTOOL_FEC_NONE_BIT = 0,\n\tETHTOOL_FEC_AUTO_BIT = 1,\n\tETHTOOL_FEC_OFF_BIT = 2,\n\tETHTOOL_FEC_RS_BIT = 3,\n\tETHTOOL_FEC_BASER_BIT = 4,\n\tETHTOOL_FEC_LLRS_BIT = 5,\n};\n\nenum ethtool_flags {\n\tETH_FLAG_TXVLAN = 128,\n\tETH_FLAG_RXVLAN = 256,\n\tETH_FLAG_LRO = 32768,\n\tETH_FLAG_NTUPLE = 134217728,\n\tETH_FLAG_RXHASH = 268435456,\n};\n\nenum ethtool_header_flags {\n\tETHTOOL_FLAG_COMPACT_BITSETS = 1,\n\tETHTOOL_FLAG_OMIT_REPLY = 2,\n\tETHTOOL_FLAG_STATS = 4,\n};\n\nenum ethtool_link_ext_state {\n\tETHTOOL_LINK_EXT_STATE_AUTONEG = 0,\n\tETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 1,\n\tETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 2,\n\tETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 3,\n\tETHTOOL_LINK_EXT_STATE_NO_CABLE = 4,\n\tETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 5,\n\tETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 6,\n\tETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 7,\n\tETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 8,\n\tETHTOOL_LINK_EXT_STATE_OVERHEAT = 9,\n\tETHTOOL_LINK_EXT_STATE_MODULE = 10,\n};\n\nenum ethtool_link_ext_substate_autoneg {\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 4,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 5,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 6,\n};\n\nenum ethtool_link_ext_substate_bad_signal_integrity {\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS = 4,\n};\n\nenum ethtool_link_ext_substate_cable_issue {\n\tETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 2,\n};\n\nenum ethtool_link_ext_substate_link_logical_mismatch {\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 4,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 5,\n};\n\nenum ethtool_link_ext_substate_link_training {\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 4,\n};\n\nenum ethtool_link_ext_substate_module {\n\tETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY = 1,\n};\n\nenum ethtool_link_mode_bit_indices {\n\tETHTOOL_LINK_MODE_10baseT_Half_BIT = 0,\n\tETHTOOL_LINK_MODE_10baseT_Full_BIT = 1,\n\tETHTOOL_LINK_MODE_100baseT_Half_BIT = 2,\n\tETHTOOL_LINK_MODE_100baseT_Full_BIT = 3,\n\tETHTOOL_LINK_MODE_1000baseT_Half_BIT = 4,\n\tETHTOOL_LINK_MODE_1000baseT_Full_BIT = 5,\n\tETHTOOL_LINK_MODE_Autoneg_BIT = 6,\n\tETHTOOL_LINK_MODE_TP_BIT = 7,\n\tETHTOOL_LINK_MODE_AUI_BIT = 8,\n\tETHTOOL_LINK_MODE_MII_BIT = 9,\n\tETHTOOL_LINK_MODE_FIBRE_BIT = 10,\n\tETHTOOL_LINK_MODE_BNC_BIT = 11,\n\tETHTOOL_LINK_MODE_10000baseT_Full_BIT = 12,\n\tETHTOOL_LINK_MODE_Pause_BIT = 13,\n\tETHTOOL_LINK_MODE_Asym_Pause_BIT = 14,\n\tETHTOOL_LINK_MODE_2500baseX_Full_BIT = 15,\n\tETHTOOL_LINK_MODE_Backplane_BIT = 16,\n\tETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 17,\n\tETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 18,\n\tETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 19,\n\tETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 20,\n\tETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 21,\n\tETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 22,\n\tETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 23,\n\tETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 24,\n\tETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 25,\n\tETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 26,\n\tETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 27,\n\tETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 28,\n\tETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29,\n\tETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30,\n\tETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31,\n\tETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32,\n\tETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33,\n\tETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34,\n\tETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 35,\n\tETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 36,\n\tETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37,\n\tETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38,\n\tETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39,\n\tETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40,\n\tETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41,\n\tETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 42,\n\tETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 43,\n\tETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44,\n\tETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45,\n\tETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46,\n\tETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47,\n\tETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48,\n\tETHTOOL_LINK_MODE_FEC_NONE_BIT = 49,\n\tETHTOOL_LINK_MODE_FEC_RS_BIT = 50,\n\tETHTOOL_LINK_MODE_FEC_BASER_BIT = 51,\n\tETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52,\n\tETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53,\n\tETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54,\n\tETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55,\n\tETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56,\n\tETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57,\n\tETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58,\n\tETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59,\n\tETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,\n\tETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61,\n\tETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62,\n\tETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63,\n\tETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,\n\tETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65,\n\tETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66,\n\tETHTOOL_LINK_MODE_100baseT1_Full_BIT = 67,\n\tETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 68,\n\tETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 69,\n\tETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 70,\n\tETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 71,\n\tETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72,\n\tETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73,\n\tETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74,\n\tETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 75,\n\tETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 76,\n\tETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 77,\n\tETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 78,\n\tETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 79,\n\tETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 80,\n\tETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 81,\n\tETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 82,\n\tETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 83,\n\tETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 84,\n\tETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 85,\n\tETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 86,\n\tETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87,\n\tETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88,\n\tETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89,\n\tETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,\n\tETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,\n\tETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92,\n\tETHTOOL_LINK_MODE_800000baseCR8_Full_BIT = 93,\n\tETHTOOL_LINK_MODE_800000baseKR8_Full_BIT = 94,\n\tETHTOOL_LINK_MODE_800000baseDR8_Full_BIT = 95,\n\tETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT = 96,\n\tETHTOOL_LINK_MODE_800000baseSR8_Full_BIT = 97,\n\tETHTOOL_LINK_MODE_800000baseVR8_Full_BIT = 98,\n\tETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99,\n\tETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100,\n\tETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101,\n\tETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102,\n\t__ETHTOOL_LINK_MODE_MASK_NBITS = 103,\n};\n\nenum ethtool_mac_stats_src {\n\tETHTOOL_MAC_STATS_SRC_AGGREGATE = 0,\n\tETHTOOL_MAC_STATS_SRC_EMAC = 1,\n\tETHTOOL_MAC_STATS_SRC_PMAC = 2,\n};\n\nenum ethtool_mm_verify_status {\n\tETHTOOL_MM_VERIFY_STATUS_UNKNOWN = 0,\n\tETHTOOL_MM_VERIFY_STATUS_INITIAL = 1,\n\tETHTOOL_MM_VERIFY_STATUS_VERIFYING = 2,\n\tETHTOOL_MM_VERIFY_STATUS_SUCCEEDED = 3,\n\tETHTOOL_MM_VERIFY_STATUS_FAILED = 4,\n\tETHTOOL_MM_VERIFY_STATUS_DISABLED = 5,\n};\n\nenum ethtool_module_fw_flash_status {\n\tETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS = 2,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED = 3,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_ERROR = 4,\n};\n\nenum ethtool_module_power_mode {\n\tETHTOOL_MODULE_POWER_MODE_LOW = 1,\n\tETHTOOL_MODULE_POWER_MODE_HIGH = 2,\n};\n\nenum ethtool_module_power_mode_policy {\n\tETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1,\n\tETHTOOL_MODULE_POWER_MODE_POLICY_AUTO = 2,\n};\n\nenum ethtool_multicast_groups {\n\tETHNL_MCGRP_MONITOR = 0,\n};\n\nenum ethtool_phys_id_state {\n\tETHTOOL_ID_INACTIVE = 0,\n\tETHTOOL_ID_ACTIVE = 1,\n\tETHTOOL_ID_ON = 2,\n\tETHTOOL_ID_OFF = 3,\n};\n\nenum ethtool_podl_pse_admin_state {\n\tETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1,\n\tETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED = 2,\n\tETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED = 3,\n};\n\nenum ethtool_podl_pse_pw_d_status {\n\tETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED = 2,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING = 3,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING = 4,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP = 5,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_IDLE = 6,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_ERROR = 7,\n};\n\nenum ethtool_reset_flags {\n\tETH_RESET_MGMT = 1,\n\tETH_RESET_IRQ = 2,\n\tETH_RESET_DMA = 4,\n\tETH_RESET_FILTER = 8,\n\tETH_RESET_OFFLOAD = 16,\n\tETH_RESET_MAC = 32,\n\tETH_RESET_PHY = 64,\n\tETH_RESET_RAM = 128,\n\tETH_RESET_AP = 256,\n\tETH_RESET_DEDICATED = 65535,\n\tETH_RESET_ALL = 4294967295,\n};\n\nenum ethtool_sfeatures_retval_bits {\n\tETHTOOL_F_UNSUPPORTED__BIT = 0,\n\tETHTOOL_F_WISH__BIT = 1,\n\tETHTOOL_F_COMPAT__BIT = 2,\n};\n\nenum ethtool_stringset {\n\tETH_SS_TEST = 0,\n\tETH_SS_STATS = 1,\n\tETH_SS_PRIV_FLAGS = 2,\n\tETH_SS_NTUPLE_FILTERS = 3,\n\tETH_SS_FEATURES = 4,\n\tETH_SS_RSS_HASH_FUNCS = 5,\n\tETH_SS_TUNABLES = 6,\n\tETH_SS_PHY_STATS = 7,\n\tETH_SS_PHY_TUNABLES = 8,\n\tETH_SS_LINK_MODES = 9,\n\tETH_SS_MSG_CLASSES = 10,\n\tETH_SS_WOL_MODES = 11,\n\tETH_SS_SOF_TIMESTAMPING = 12,\n\tETH_SS_TS_TX_TYPES = 13,\n\tETH_SS_TS_RX_FILTERS = 14,\n\tETH_SS_UDP_TUNNEL_TYPES = 15,\n\tETH_SS_STATS_STD = 16,\n\tETH_SS_STATS_ETH_PHY = 17,\n\tETH_SS_STATS_ETH_MAC = 18,\n\tETH_SS_STATS_ETH_CTRL = 19,\n\tETH_SS_STATS_RMON = 20,\n\tETH_SS_STATS_PHY = 21,\n\tETH_SS_TS_FLAGS = 22,\n\tETH_SS_COUNT = 23,\n};\n\nenum ethtool_supported_ring_param {\n\tETHTOOL_RING_USE_RX_BUF_LEN = 1,\n\tETHTOOL_RING_USE_CQE_SIZE = 2,\n\tETHTOOL_RING_USE_TX_PUSH = 4,\n\tETHTOOL_RING_USE_RX_PUSH = 8,\n\tETHTOOL_RING_USE_TX_PUSH_BUF_LEN = 16,\n\tETHTOOL_RING_USE_TCP_DATA_SPLIT = 32,\n\tETHTOOL_RING_USE_HDS_THRS = 64,\n};\n\nenum ethtool_tcp_data_split {\n\tETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,\n\tETHTOOL_TCP_DATA_SPLIT_DISABLED = 1,\n\tETHTOOL_TCP_DATA_SPLIT_ENABLED = 2,\n};\n\nenum ethtool_test_flags {\n\tETH_TEST_FL_OFFLINE = 1,\n\tETH_TEST_FL_FAILED = 2,\n\tETH_TEST_FL_EXTERNAL_LB = 4,\n\tETH_TEST_FL_EXTERNAL_LB_DONE = 8,\n};\n\nenum event_command_flags {\n\tEVENT_CMD_FL_POST_TRIGGER = 1,\n\tEVENT_CMD_FL_NEEDS_REC = 2,\n};\n\nenum event_trigger_type {\n\tETT_NONE = 0,\n\tETT_TRACE_ONOFF = 1,\n\tETT_SNAPSHOT = 2,\n\tETT_STACKTRACE = 4,\n\tETT_EVENT_ENABLE = 8,\n\tETT_EVENT_HIST = 16,\n\tETT_HIST_ENABLE = 32,\n\tETT_EVENT_EPROBE = 64,\n};\n\nenum event_type_t {\n\tEVENT_FLEXIBLE = 1,\n\tEVENT_PINNED = 2,\n\tEVENT_TIME = 4,\n\tEVENT_FROZEN = 8,\n\tEVENT_CPU = 16,\n\tEVENT_CGROUP = 32,\n\tEVENT_ALL = 3,\n\tEVENT_TIME_FROZEN = 12,\n};\n\nenum ex_phy_state {\n\tPHY_EMPTY = 0,\n\tPHY_VACANT = 1,\n\tPHY_NOT_PRESENT = 2,\n\tPHY_DEVICE_DISCOVERED = 3,\n};\n\nenum exact_level {\n\tNOT_EXACT = 0,\n\tEXACT = 1,\n\tRANGE_WITHIN = 2,\n};\n\nenum exception_type {\n\texcept_type_sync = 0,\n\texcept_type_irq = 128,\n\texcept_type_fiq = 256,\n\texcept_type_serror = 384,\n};\n\nenum exec_status {\n\tSAS_SAM_STAT_GOOD = 0,\n\tSAS_SAM_STAT_BUSY = 8,\n\tSAS_SAM_STAT_TASK_ABORTED = 64,\n\tSAS_SAM_STAT_CHECK_CONDITION = 2,\n\tSAS_DEV_NO_RESPONSE = 128,\n\tSAS_DATA_UNDERRUN = 129,\n\tSAS_DATA_OVERRUN = 130,\n\tSAS_INTERRUPTED = 131,\n\tSAS_QUEUE_FULL = 132,\n\tSAS_DEVICE_UNKNOWN = 133,\n\tSAS_OPEN_REJECT = 134,\n\tSAS_OPEN_TO = 135,\n\tSAS_PROTO_RESPONSE = 136,\n\tSAS_PHY_DOWN = 137,\n\tSAS_NAK_R_ERR = 138,\n\tSAS_PENDING = 139,\n\tSAS_ABORTED_TASK = 140,\n};\n\nenum execmem_range_flags {\n\tEXECMEM_KASAN_SHADOW = 1,\n\tEXECMEM_ROX_CACHE = 2,\n};\n\nenum execmem_type {\n\tEXECMEM_DEFAULT = 0,\n\tEXECMEM_MODULE_TEXT = 0,\n\tEXECMEM_KPROBES = 1,\n\tEXECMEM_FTRACE = 2,\n\tEXECMEM_BPF = 3,\n\tEXECMEM_MODULE_DATA = 4,\n\tEXECMEM_TYPE_MAX = 5,\n};\n\nenum ext4_journal_trigger_type {\n\tEXT4_JTR_ORPHAN_FILE = 0,\n\tEXT4_JTR_NONE = 1,\n};\n\nenum ext4_li_mode {\n\tEXT4_LI_MODE_PREFETCH_BBITMAP = 0,\n\tEXT4_LI_MODE_ITABLE = 1,\n};\n\nenum exynos5_usbdrd_phy_id {\n\tEXYNOS5_DRDPHY_UTMI = 0,\n\tEXYNOS5_DRDPHY_PIPE3 = 1,\n\tEXYNOS5_DRDPHYS_NUM = 2,\n};\n\nenum exynos5_usbdrd_phy_tuning_state {\n\tPTS_UTMI_POSTINIT = 0,\n\tPTS_PIPE3_PREINIT = 1,\n\tPTS_PIPE3_INIT = 2,\n\tPTS_PIPE3_POSTINIT = 3,\n\tPTS_PIPE3_POSTLOCK = 4,\n\tPTS_MAX = 5,\n};\n\nenum exynos_cpuclk_layout {\n\tCPUCLK_LAYOUT_E4210 = 0,\n\tCPUCLK_LAYOUT_E5433 = 1,\n\tCPUCLK_LAYOUT_E850_CL0 = 2,\n\tCPUCLK_LAYOUT_E850_CL1 = 3,\n};\n\nenum exynos_mipi_phy_id {\n\tEXYNOS_MIPI_PHY_ID_NONE = -1,\n\tEXYNOS_MIPI_PHY_ID_CSIS0 = 0,\n\tEXYNOS_MIPI_PHY_ID_DSIM0 = 1,\n\tEXYNOS_MIPI_PHY_ID_CSIS1 = 2,\n\tEXYNOS_MIPI_PHY_ID_DSIM1 = 3,\n\tEXYNOS_MIPI_PHY_ID_CSIS2 = 4,\n\tEXYNOS_MIPI_PHYS_NUM = 5,\n};\n\nenum exynos_mipi_phy_regmap_id {\n\tEXYNOS_MIPI_REGMAP_PMU = 0,\n\tEXYNOS_MIPI_REGMAP_DISP = 1,\n\tEXYNOS_MIPI_REGMAP_CAM0 = 2,\n\tEXYNOS_MIPI_REGMAP_CAM1 = 3,\n\tEXYNOS_MIPI_REGMAPS_NUM = 4,\n};\n\nenum exynos_usi_ver {\n\tUSI_VER2 = 2,\n};\n\nenum fail_dup_mod_reason {\n\tFAIL_DUP_MOD_BECOMING = 0,\n\tFAIL_DUP_MOD_LOAD = 1,\n};\n\nenum fan53555_vendor {\n\tFAN53526_VENDOR_FAIRCHILD = 0,\n\tFAN53555_VENDOR_FAIRCHILD = 1,\n\tFAN53555_VENDOR_ROCKCHIP = 2,\n\tRK8602_VENDOR_ROCKCHIP = 3,\n\tFAN53555_VENDOR_SILERGY = 4,\n\tFAN53526_VENDOR_TCS = 5,\n};\n\nenum fanotify_event_type {\n\tFANOTIFY_EVENT_TYPE_FID = 0,\n\tFANOTIFY_EVENT_TYPE_FID_NAME = 1,\n\tFANOTIFY_EVENT_TYPE_PATH = 2,\n\tFANOTIFY_EVENT_TYPE_PATH_PERM = 3,\n\tFANOTIFY_EVENT_TYPE_OVERFLOW = 4,\n\tFANOTIFY_EVENT_TYPE_FS_ERROR = 5,\n\t__FANOTIFY_EVENT_TYPE_NUM = 6,\n};\n\nenum fault_flag {\n\tFAULT_FLAG_WRITE = 1,\n\tFAULT_FLAG_MKWRITE = 2,\n\tFAULT_FLAG_ALLOW_RETRY = 4,\n\tFAULT_FLAG_RETRY_NOWAIT = 8,\n\tFAULT_FLAG_KILLABLE = 16,\n\tFAULT_FLAG_TRIED = 32,\n\tFAULT_FLAG_USER = 64,\n\tFAULT_FLAG_REMOTE = 128,\n\tFAULT_FLAG_INSTRUCTION = 256,\n\tFAULT_FLAG_INTERRUPTIBLE = 512,\n\tFAULT_FLAG_UNSHARE = 1024,\n\tFAULT_FLAG_ORIG_PTE_VALID = 2048,\n\tFAULT_FLAG_VMA_LOCK = 4096,\n};\n\nenum fbq_type {\n\tregular = 0,\n\tremote = 1,\n\tall = 2,\n};\n\nenum fec_txbuf_type {\n\tFEC_TXBUF_T_SKB = 0,\n\tFEC_TXBUF_T_XDP_NDO = 1,\n\tFEC_TXBUF_T_XDP_TX = 2,\n};\n\nenum fetch_op {\n\tFETCH_OP_NOP = 0,\n\tFETCH_OP_REG = 1,\n\tFETCH_OP_STACK = 2,\n\tFETCH_OP_STACKP = 3,\n\tFETCH_OP_RETVAL = 4,\n\tFETCH_OP_IMM = 5,\n\tFETCH_OP_COMM = 6,\n\tFETCH_OP_ARG = 7,\n\tFETCH_OP_FOFFS = 8,\n\tFETCH_OP_DATA = 9,\n\tFETCH_OP_EDATA = 10,\n\tFETCH_OP_DEREF = 11,\n\tFETCH_OP_UDEREF = 12,\n\tFETCH_OP_ST_RAW = 13,\n\tFETCH_OP_ST_MEM = 14,\n\tFETCH_OP_ST_UMEM = 15,\n\tFETCH_OP_ST_STRING = 16,\n\tFETCH_OP_ST_USTRING = 17,\n\tFETCH_OP_ST_SYMSTR = 18,\n\tFETCH_OP_ST_EDATA = 19,\n\tFETCH_OP_MOD_BF = 20,\n\tFETCH_OP_LP_ARRAY = 21,\n\tFETCH_OP_TP_ARG = 22,\n\tFETCH_OP_END = 23,\n\tFETCH_NOP_SYMBOL = 24,\n};\n\nenum fg_filter_id {\n\t__NO_FGF__ = 0,\n\tHCRX_FGTnXS = 1,\n\t__NR_FG_FILTER_IDS__ = 2,\n};\n\nenum fgt_group_id {\n\t__NO_FGT_GROUP__ = 0,\n\tHFGxTR_GROUP = 1,\n\tHDFGRTR_GROUP = 2,\n\tHDFGWTR_GROUP = 2,\n\tHFGITR_GROUP = 3,\n\tHAFGRTR_GROUP = 4,\n\t__NR_FGT_GROUP_IDS__ = 5,\n};\n\nenum fh_pll_id {\n\tFH_ARMCA7PLL = 0,\n\tFH_ARMCA15PLL = 1,\n\tFH_MAINPLL = 2,\n\tFH_MPLL = 3,\n\tFH_MSDCPLL = 4,\n\tFH_MMPLL = 5,\n\tFH_VENCPLL = 6,\n\tFH_TVDPLL = 7,\n\tFH_VCODECPLL = 8,\n\tFH_LVDSPLL = 9,\n\tFH_MSDC2PLL = 10,\n\tFH_NR_FH = 11,\n};\n\nenum fh_pll_id___2 {\n\tFH_CA53PLL_LL = 0,\n\tFH_CA53PLL_BL = 1,\n\tFH_MAINPLL___2 = 2,\n\tFH_MPLL___2 = 3,\n\tFH_MSDCPLL___2 = 4,\n\tFH_MMPLL___2 = 5,\n\tFH_VENCPLL___2 = 6,\n\tFH_TVDPLL___2 = 7,\n\tFH_VCODECPLL___2 = 8,\n\tFH_NR_FH___2 = 9,\n};\n\nenum fh_pll_id___3 {\n\tFH_ARMPLL_LL = 0,\n\tFH_ARMPLL_BL = 1,\n\tFH_MEMPLL = 2,\n\tFH_ADSPPLL = 3,\n\tFH_NNAPLL = 4,\n\tFH_CCIPLL = 5,\n\tFH_MFGPLL = 6,\n\tFH_TVDPLL2 = 7,\n\tFH_MPLL___3 = 8,\n\tFH_MMPLL___3 = 9,\n\tFH_MAINPLL___3 = 10,\n\tFH_MSDCPLL___3 = 11,\n\tFH_IMGPLL = 12,\n\tFH_VDECPLL = 13,\n\tFH_TVDPLL1 = 14,\n\tFH_NR_FH___3 = 15,\n};\n\nenum fh_pll_id___4 {\n\tFH_ARMPLL_LL___2 = 0,\n\tFH_ARMPLL_BL0 = 1,\n\tFH_ARMPLL_BL1 = 2,\n\tFH_ARMPLL_BL2 = 3,\n\tFH_ARMPLL_BL3 = 4,\n\tFH_CCIPLL___2 = 5,\n\tFH_MFGPLL___2 = 6,\n\tFH_MEMPLL___2 = 7,\n\tFH_MPLL___4 = 8,\n\tFH_MMPLL___4 = 9,\n\tFH_MAINPLL___4 = 10,\n\tFH_MSDCPLL___4 = 11,\n\tFH_ADSPPLL___2 = 12,\n\tFH_APUPLL = 13,\n\tFH_TVDPLL___3 = 14,\n\tFH_NR_FH___4 = 15,\n};\n\nenum fh_pll_id___5 {\n\tFH_ARMPLL_LL___3 = 0,\n\tFH_ARMPLL_BL___2 = 1,\n\tFH_CCIPLL___3 = 2,\n\tFH_MAINPLL___5 = 3,\n\tFH_MMPLL___5 = 4,\n\tFH_TVDPLL___4 = 5,\n\tFH_RESERVE6 = 6,\n\tFH_ADSPPLL___3 = 7,\n\tFH_MFGPLL___3 = 8,\n\tFH_NNAPLL___2 = 9,\n\tFH_NNA2PLL = 10,\n\tFH_MSDCPLL___5 = 11,\n\tFH_RESERVE12 = 12,\n\tFH_NR_FH___5 = 13,\n};\n\nenum fhctl_variant {\n\tFHCTL_PLLFH_V1 = 0,\n\tFHCTL_PLLFH_V2 = 1,\n};\n\nenum fib_event_type {\n\tFIB_EVENT_ENTRY_REPLACE = 0,\n\tFIB_EVENT_ENTRY_APPEND = 1,\n\tFIB_EVENT_ENTRY_ADD = 2,\n\tFIB_EVENT_ENTRY_DEL = 3,\n\tFIB_EVENT_RULE_ADD = 4,\n\tFIB_EVENT_RULE_DEL = 5,\n\tFIB_EVENT_NH_ADD = 6,\n\tFIB_EVENT_NH_DEL = 7,\n\tFIB_EVENT_VIF_ADD = 8,\n\tFIB_EVENT_VIF_DEL = 9,\n};\n\nenum fid_type {\n\tFILEID_ROOT = 0,\n\tFILEID_INO32_GEN = 1,\n\tFILEID_INO32_GEN_PARENT = 2,\n\tFILEID_BTRFS_WITHOUT_PARENT = 77,\n\tFILEID_BTRFS_WITH_PARENT = 78,\n\tFILEID_BTRFS_WITH_PARENT_ROOT = 79,\n\tFILEID_UDF_WITHOUT_PARENT = 81,\n\tFILEID_UDF_WITH_PARENT = 82,\n\tFILEID_NILFS_WITHOUT_PARENT = 97,\n\tFILEID_NILFS_WITH_PARENT = 98,\n\tFILEID_FAT_WITHOUT_PARENT = 113,\n\tFILEID_FAT_WITH_PARENT = 114,\n\tFILEID_INO64_GEN = 129,\n\tFILEID_INO64_GEN_PARENT = 130,\n\tFILEID_LUSTRE = 151,\n\tFILEID_BCACHEFS_WITHOUT_PARENT = 177,\n\tFILEID_BCACHEFS_WITH_PARENT = 178,\n\tFILEID_KERNFS = 254,\n\tFILEID_INVALID = 255,\n};\n\nenum fifo_dump_mode_v3_hw {\n\tFIFO_DUMP_FORVER = 1,\n\tFIFO_DUMP_AFTER_TRIGGER = 2,\n\tFIFO_DUMP_UNTILL_TRIGGER = 4,\n};\n\nenum fifo_trigger_mode_v3_hw {\n\tFIFO_TRIGGER_EDGE = 1,\n\tFIFO_TRIGGER_SAME_LEVEL = 2,\n\tFIFO_TRIGGER_DIFF_LEVEL = 4,\n};\n\nenum file_time_flags {\n\tS_ATIME = 1,\n\tS_MTIME = 2,\n\tS_CTIME = 4,\n\tS_VERSION = 8,\n};\n\nenum filter_op_ids {\n\tOP_GLOB = 0,\n\tOP_NE = 1,\n\tOP_EQ = 2,\n\tOP_LE = 3,\n\tOP_LT = 4,\n\tOP_GE = 5,\n\tOP_GT = 6,\n\tOP_BAND = 7,\n\tOP_MAX = 8,\n};\n\nenum filter_pred_fn {\n\tFILTER_PRED_FN_NOP = 0,\n\tFILTER_PRED_FN_64 = 1,\n\tFILTER_PRED_FN_64_CPUMASK = 2,\n\tFILTER_PRED_FN_S64 = 3,\n\tFILTER_PRED_FN_U64 = 4,\n\tFILTER_PRED_FN_32 = 5,\n\tFILTER_PRED_FN_32_CPUMASK = 6,\n\tFILTER_PRED_FN_S32 = 7,\n\tFILTER_PRED_FN_U32 = 8,\n\tFILTER_PRED_FN_16 = 9,\n\tFILTER_PRED_FN_16_CPUMASK = 10,\n\tFILTER_PRED_FN_S16 = 11,\n\tFILTER_PRED_FN_U16 = 12,\n\tFILTER_PRED_FN_8 = 13,\n\tFILTER_PRED_FN_8_CPUMASK = 14,\n\tFILTER_PRED_FN_S8 = 15,\n\tFILTER_PRED_FN_U8 = 16,\n\tFILTER_PRED_FN_COMM = 17,\n\tFILTER_PRED_FN_STRING = 18,\n\tFILTER_PRED_FN_STRLOC = 19,\n\tFILTER_PRED_FN_STRRELLOC = 20,\n\tFILTER_PRED_FN_PCHAR_USER = 21,\n\tFILTER_PRED_FN_PCHAR = 22,\n\tFILTER_PRED_FN_CPU = 23,\n\tFILTER_PRED_FN_CPU_CPUMASK = 24,\n\tFILTER_PRED_FN_CPUMASK = 25,\n\tFILTER_PRED_FN_CPUMASK_CPU = 26,\n\tFILTER_PRED_FN_FUNCTION = 27,\n\tFILTER_PRED_FN_ = 28,\n\tFILTER_PRED_TEST_VISITED = 29,\n};\n\nenum fiq_hwirq {\n\tAIC_TMR_EL0_PHYS = 0,\n\tAIC_TMR_EL0_VIRT = 1,\n\tAIC_TMR_EL02_PHYS = 2,\n\tAIC_TMR_EL02_VIRT = 3,\n\tAIC_CPU_PMU_Effi = 4,\n\tAIC_CPU_PMU_Perf = 5,\n\tAIC_VGIC_MI = 6,\n\tAIC_NR_FIQ = 7,\n};\n\nenum fit_type {\n\tNOTHING_FIT = 0,\n\tFL_FIT_TYPE = 1,\n\tLE_FIT_TYPE = 2,\n\tRE_FIT_TYPE = 3,\n\tNE_FIT_TYPE = 4,\n};\n\nenum fixed_addresses {\n\tFIX_HOLE = 0,\n\tFIX_FDT_END = 1,\n\tFIX_FDT = 514,\n\tFIX_EARLYCON_MEM_BASE = 515,\n\tFIX_TEXT_POKE0 = 516,\n\tFIX_APEI_GHES_IRQ = 517,\n\tFIX_APEI_GHES_SEA = 518,\n\tFIX_ENTRY_TRAMP_TEXT4 = 519,\n\tFIX_ENTRY_TRAMP_TEXT3 = 520,\n\tFIX_ENTRY_TRAMP_TEXT2 = 521,\n\tFIX_ENTRY_TRAMP_TEXT1 = 522,\n\t__end_of_permanent_fixed_addresses = 523,\n\tFIX_BTMAP_END = 523,\n\tFIX_BTMAP_BEGIN = 970,\n\tFIX_PTE = 971,\n\tFIX_PMD = 972,\n\tFIX_PUD = 973,\n\tFIX_P4D = 974,\n\tFIX_PGD = 975,\n\t__end_of_fixed_addresses = 976,\n};\n\nenum flag_idn {\n\tQUERY_FLAG_IDN_FDEVICEINIT = 1,\n\tQUERY_FLAG_IDN_PERMANENT_WPE = 2,\n\tQUERY_FLAG_IDN_PWR_ON_WPE = 3,\n\tQUERY_FLAG_IDN_BKOPS_EN = 4,\n\tQUERY_FLAG_IDN_LIFE_SPAN_MODE_ENABLE = 5,\n\tQUERY_FLAG_IDN_PURGE_ENABLE = 6,\n\tQUERY_FLAG_IDN_RESERVED2 = 7,\n\tQUERY_FLAG_IDN_FPHYRESOURCEREMOVAL = 8,\n\tQUERY_FLAG_IDN_BUSY_RTC = 9,\n\tQUERY_FLAG_IDN_RESERVED3 = 10,\n\tQUERY_FLAG_IDN_PERMANENTLY_DISABLE_FW_UPDATE = 11,\n\tQUERY_FLAG_IDN_WB_EN = 14,\n\tQUERY_FLAG_IDN_WB_BUFF_FLUSH_EN = 15,\n\tQUERY_FLAG_IDN_WB_BUFF_FLUSH_DURING_HIBERN8 = 16,\n\tQUERY_FLAG_IDN_HPB_RESET = 17,\n\tQUERY_FLAG_IDN_HPB_EN = 18,\n};\n\nenum flow_action_hw_stats {\n\tFLOW_ACTION_HW_STATS_IMMEDIATE = 1,\n\tFLOW_ACTION_HW_STATS_DELAYED = 2,\n\tFLOW_ACTION_HW_STATS_ANY = 3,\n\tFLOW_ACTION_HW_STATS_DISABLED = 4,\n\tFLOW_ACTION_HW_STATS_DONT_CARE = 7,\n};\n\nenum flow_action_hw_stats_bit {\n\tFLOW_ACTION_HW_STATS_IMMEDIATE_BIT = 0,\n\tFLOW_ACTION_HW_STATS_DELAYED_BIT = 1,\n\tFLOW_ACTION_HW_STATS_DISABLED_BIT = 2,\n\tFLOW_ACTION_HW_STATS_NUM_BITS = 3,\n};\n\nenum flow_action_id {\n\tFLOW_ACTION_ACCEPT = 0,\n\tFLOW_ACTION_DROP = 1,\n\tFLOW_ACTION_TRAP = 2,\n\tFLOW_ACTION_GOTO = 3,\n\tFLOW_ACTION_REDIRECT = 4,\n\tFLOW_ACTION_MIRRED = 5,\n\tFLOW_ACTION_REDIRECT_INGRESS = 6,\n\tFLOW_ACTION_MIRRED_INGRESS = 7,\n\tFLOW_ACTION_VLAN_PUSH = 8,\n\tFLOW_ACTION_VLAN_POP = 9,\n\tFLOW_ACTION_VLAN_MANGLE = 10,\n\tFLOW_ACTION_TUNNEL_ENCAP = 11,\n\tFLOW_ACTION_TUNNEL_DECAP = 12,\n\tFLOW_ACTION_MANGLE = 13,\n\tFLOW_ACTION_ADD = 14,\n\tFLOW_ACTION_CSUM = 15,\n\tFLOW_ACTION_MARK = 16,\n\tFLOW_ACTION_PTYPE = 17,\n\tFLOW_ACTION_PRIORITY = 18,\n\tFLOW_ACTION_RX_QUEUE_MAPPING = 19,\n\tFLOW_ACTION_WAKE = 20,\n\tFLOW_ACTION_QUEUE = 21,\n\tFLOW_ACTION_SAMPLE = 22,\n\tFLOW_ACTION_POLICE = 23,\n\tFLOW_ACTION_CT = 24,\n\tFLOW_ACTION_CT_METADATA = 25,\n\tFLOW_ACTION_MPLS_PUSH = 26,\n\tFLOW_ACTION_MPLS_POP = 27,\n\tFLOW_ACTION_MPLS_MANGLE = 28,\n\tFLOW_ACTION_GATE = 29,\n\tFLOW_ACTION_PPPOE_PUSH = 30,\n\tFLOW_ACTION_JUMP = 31,\n\tFLOW_ACTION_PIPE = 32,\n\tFLOW_ACTION_VLAN_PUSH_ETH = 33,\n\tFLOW_ACTION_VLAN_POP_ETH = 34,\n\tFLOW_ACTION_CONTINUE = 35,\n\tNUM_FLOW_ACTIONS = 36,\n};\n\nenum flow_action_mangle_base {\n\tFLOW_ACT_MANGLE_UNSPEC = 0,\n\tFLOW_ACT_MANGLE_HDR_TYPE_ETH = 1,\n\tFLOW_ACT_MANGLE_HDR_TYPE_IP4 = 2,\n\tFLOW_ACT_MANGLE_HDR_TYPE_IP6 = 3,\n\tFLOW_ACT_MANGLE_HDR_TYPE_TCP = 4,\n\tFLOW_ACT_MANGLE_HDR_TYPE_UDP = 5,\n};\n\nenum flow_block_binder_type {\n\tFLOW_BLOCK_BINDER_TYPE_UNSPEC = 0,\n\tFLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS = 1,\n\tFLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS = 2,\n\tFLOW_BLOCK_BINDER_TYPE_RED_EARLY_DROP = 3,\n\tFLOW_BLOCK_BINDER_TYPE_RED_MARK = 4,\n};\n\nenum flow_block_command {\n\tFLOW_BLOCK_BIND = 0,\n\tFLOW_BLOCK_UNBIND = 1,\n};\n\nenum flow_cls_command {\n\tFLOW_CLS_REPLACE = 0,\n\tFLOW_CLS_DESTROY = 1,\n\tFLOW_CLS_STATS = 2,\n\tFLOW_CLS_TMPLT_CREATE = 3,\n\tFLOW_CLS_TMPLT_DESTROY = 4,\n};\n\nenum flow_control {\n\tFC_NONE = 0,\n\tFC_TX = 1,\n\tFC_RX = 2,\n\tFC_BOTH = 3,\n};\n\nenum flow_dissect_ret {\n\tFLOW_DISSECT_RET_OUT_GOOD = 0,\n\tFLOW_DISSECT_RET_OUT_BAD = 1,\n\tFLOW_DISSECT_RET_PROTO_AGAIN = 2,\n\tFLOW_DISSECT_RET_IPPROTO_AGAIN = 3,\n\tFLOW_DISSECT_RET_CONTINUE = 4,\n};\n\nenum flow_dissector_ctrl_flags {\n\tFLOW_DIS_IS_FRAGMENT = 1,\n\tFLOW_DIS_FIRST_FRAG = 2,\n\tFLOW_DIS_F_TUNNEL_CSUM = 4,\n\tFLOW_DIS_F_TUNNEL_DONT_FRAGMENT = 8,\n\tFLOW_DIS_F_TUNNEL_OAM = 16,\n\tFLOW_DIS_F_TUNNEL_CRIT_OPT = 32,\n\tFLOW_DIS_ENCAPSULATION = 64,\n};\n\nenum flow_dissector_key_id {\n\tFLOW_DISSECTOR_KEY_CONTROL = 0,\n\tFLOW_DISSECTOR_KEY_BASIC = 1,\n\tFLOW_DISSECTOR_KEY_IPV4_ADDRS = 2,\n\tFLOW_DISSECTOR_KEY_IPV6_ADDRS = 3,\n\tFLOW_DISSECTOR_KEY_PORTS = 4,\n\tFLOW_DISSECTOR_KEY_PORTS_RANGE = 5,\n\tFLOW_DISSECTOR_KEY_ICMP = 6,\n\tFLOW_DISSECTOR_KEY_ETH_ADDRS = 7,\n\tFLOW_DISSECTOR_KEY_TIPC = 8,\n\tFLOW_DISSECTOR_KEY_ARP = 9,\n\tFLOW_DISSECTOR_KEY_VLAN = 10,\n\tFLOW_DISSECTOR_KEY_FLOW_LABEL = 11,\n\tFLOW_DISSECTOR_KEY_GRE_KEYID = 12,\n\tFLOW_DISSECTOR_KEY_MPLS_ENTROPY = 13,\n\tFLOW_DISSECTOR_KEY_ENC_KEYID = 14,\n\tFLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS = 15,\n\tFLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS = 16,\n\tFLOW_DISSECTOR_KEY_ENC_CONTROL = 17,\n\tFLOW_DISSECTOR_KEY_ENC_PORTS = 18,\n\tFLOW_DISSECTOR_KEY_MPLS = 19,\n\tFLOW_DISSECTOR_KEY_TCP = 20,\n\tFLOW_DISSECTOR_KEY_IP = 21,\n\tFLOW_DISSECTOR_KEY_CVLAN = 22,\n\tFLOW_DISSECTOR_KEY_ENC_IP = 23,\n\tFLOW_DISSECTOR_KEY_ENC_OPTS = 24,\n\tFLOW_DISSECTOR_KEY_META = 25,\n\tFLOW_DISSECTOR_KEY_CT = 26,\n\tFLOW_DISSECTOR_KEY_HASH = 27,\n\tFLOW_DISSECTOR_KEY_NUM_OF_VLANS = 28,\n\tFLOW_DISSECTOR_KEY_PPPOE = 29,\n\tFLOW_DISSECTOR_KEY_L2TPV3 = 30,\n\tFLOW_DISSECTOR_KEY_CFM = 31,\n\tFLOW_DISSECTOR_KEY_IPSEC = 32,\n\tFLOW_DISSECTOR_KEY_MAX = 33,\n};\n\nenum fman_dma_aid_mode {\n\tFMAN_DMA_AID_OUT_PORT_ID = 0,\n\tFMAN_DMA_AID_OUT_TNUM = 1,\n};\n\nenum fman_event_modules {\n\tFMAN_MOD_MAC = 0,\n\tFMAN_MOD_FMAN_CTRL = 1,\n\tFMAN_MOD_DUMMY_LAST = 2,\n};\n\nenum fman_exceptions {\n\tFMAN_EX_DMA_BUS_ERROR = 0,\n\tFMAN_EX_DMA_READ_ECC = 1,\n\tFMAN_EX_DMA_SYSTEM_WRITE_ECC = 2,\n\tFMAN_EX_DMA_FM_WRITE_ECC = 3,\n\tFMAN_EX_DMA_SINGLE_PORT_ECC = 4,\n\tFMAN_EX_FPM_STALL_ON_TASKS = 5,\n\tFMAN_EX_FPM_SINGLE_ECC = 6,\n\tFMAN_EX_FPM_DOUBLE_ECC = 7,\n\tFMAN_EX_QMI_SINGLE_ECC = 8,\n\tFMAN_EX_QMI_DOUBLE_ECC = 9,\n\tFMAN_EX_QMI_DEQ_FROM_UNKNOWN_PORTID = 10,\n\tFMAN_EX_BMI_LIST_RAM_ECC = 11,\n\tFMAN_EX_BMI_STORAGE_PROFILE_ECC = 12,\n\tFMAN_EX_BMI_STATISTICS_RAM_ECC = 13,\n\tFMAN_EX_BMI_DISPATCH_RAM_ECC = 14,\n\tFMAN_EX_IRAM_ECC = 15,\n\tFMAN_EX_MURAM_ECC = 16,\n};\n\nenum fman_inter_module_event {\n\tFMAN_EV_ERR_MAC0 = 0,\n\tFMAN_EV_ERR_MAC1 = 1,\n\tFMAN_EV_ERR_MAC2 = 2,\n\tFMAN_EV_ERR_MAC3 = 3,\n\tFMAN_EV_ERR_MAC4 = 4,\n\tFMAN_EV_ERR_MAC5 = 5,\n\tFMAN_EV_ERR_MAC6 = 6,\n\tFMAN_EV_ERR_MAC7 = 7,\n\tFMAN_EV_ERR_MAC8 = 8,\n\tFMAN_EV_ERR_MAC9 = 9,\n\tFMAN_EV_MAC0 = 10,\n\tFMAN_EV_MAC1 = 11,\n\tFMAN_EV_MAC2 = 12,\n\tFMAN_EV_MAC3 = 13,\n\tFMAN_EV_MAC4 = 14,\n\tFMAN_EV_MAC5 = 15,\n\tFMAN_EV_MAC6 = 16,\n\tFMAN_EV_MAC7 = 17,\n\tFMAN_EV_MAC8 = 18,\n\tFMAN_EV_MAC9 = 19,\n\tFMAN_EV_FMAN_CTRL_0 = 20,\n\tFMAN_EV_FMAN_CTRL_1 = 21,\n\tFMAN_EV_FMAN_CTRL_2 = 22,\n\tFMAN_EV_FMAN_CTRL_3 = 23,\n\tFMAN_EV_CNT = 24,\n};\n\nenum fman_intr_type {\n\tFMAN_INTR_TYPE_ERR = 0,\n\tFMAN_INTR_TYPE_NORMAL = 1,\n};\n\nenum fman_mac_exceptions {\n\tFM_MAC_EX_10G_MDIO_SCAN_EVENT = 0,\n\tFM_MAC_EX_10G_MDIO_CMD_CMPL = 1,\n\tFM_MAC_EX_10G_REM_FAULT = 2,\n\tFM_MAC_EX_10G_LOC_FAULT = 3,\n\tFM_MAC_EX_10G_TX_ECC_ER = 4,\n\tFM_MAC_EX_10G_TX_FIFO_UNFL = 5,\n\tFM_MAC_EX_10G_TX_FIFO_OVFL = 6,\n\tFM_MAC_EX_10G_TX_ER = 7,\n\tFM_MAC_EX_10G_RX_FIFO_OVFL = 8,\n\tFM_MAC_EX_10G_RX_ECC_ER = 9,\n\tFM_MAC_EX_10G_RX_JAB_FRM = 10,\n\tFM_MAC_EX_10G_RX_OVRSZ_FRM = 11,\n\tFM_MAC_EX_10G_RX_RUNT_FRM = 12,\n\tFM_MAC_EX_10G_RX_FRAG_FRM = 13,\n\tFM_MAC_EX_10G_RX_LEN_ER = 14,\n\tFM_MAC_EX_10G_RX_CRC_ER = 15,\n\tFM_MAC_EX_10G_RX_ALIGN_ER = 16,\n\tFM_MAC_EX_1G_BAB_RX = 17,\n\tFM_MAC_EX_1G_RX_CTL = 18,\n\tFM_MAC_EX_1G_GRATEFUL_TX_STP_COMPLET = 19,\n\tFM_MAC_EX_1G_BAB_TX = 20,\n\tFM_MAC_EX_1G_TX_CTL = 21,\n\tFM_MAC_EX_1G_TX_ERR = 22,\n\tFM_MAC_EX_1G_LATE_COL = 23,\n\tFM_MAC_EX_1G_COL_RET_LMT = 24,\n\tFM_MAC_EX_1G_TX_FIFO_UNDRN = 25,\n\tFM_MAC_EX_1G_MAG_PCKT = 26,\n\tFM_MAC_EX_1G_MII_MNG_RD_COMPLET = 27,\n\tFM_MAC_EX_1G_MII_MNG_WR_COMPLET = 28,\n\tFM_MAC_EX_1G_GRATEFUL_RX_STP_COMPLET = 29,\n\tFM_MAC_EX_1G_DATA_ERR = 30,\n\tFM_MAC_1G_RX_DATA_ERR = 31,\n\tFM_MAC_EX_1G_1588_TS_RX_ERR = 32,\n\tFM_MAC_EX_1G_RX_MIB_CNT_OVFL = 33,\n\tFM_MAC_EX_TS_FIFO_ECC_ERR = 34,\n\tFM_MAC_EX_MAGIC_PACKET_INDICATION = 26,\n};\n\nenum fman_port_color {\n\tFMAN_PORT_COLOR_GREEN = 0,\n\tFMAN_PORT_COLOR_YELLOW = 1,\n\tFMAN_PORT_COLOR_RED = 2,\n\tFMAN_PORT_COLOR_OVERRIDE = 3,\n};\n\nenum fman_port_deq_prefetch {\n\tFMAN_PORT_DEQ_NO_PREFETCH = 0,\n\tFMAN_PORT_DEQ_PART_PREFETCH = 1,\n\tFMAN_PORT_DEQ_FULL_PREFETCH = 2,\n};\n\nenum fman_port_deq_type {\n\tFMAN_PORT_DEQ_BY_PRI = 0,\n\tFMAN_PORT_DEQ_ACTIVE_FQ = 1,\n\tFMAN_PORT_DEQ_ACTIVE_FQ_NO_ICS = 2,\n};\n\nenum fman_port_dma_swap {\n\tFMAN_PORT_DMA_NO_SWAP = 0,\n\tFMAN_PORT_DMA_SWAP_LE = 1,\n\tFMAN_PORT_DMA_SWAP_BE = 2,\n};\n\nenum fman_port_type {\n\tFMAN_PORT_TYPE_TX = 0,\n\tFMAN_PORT_TYPE_RX = 1,\n};\n\nenum folio_references {\n\tFOLIOREF_RECLAIM = 0,\n\tFOLIOREF_RECLAIM_CLEAN = 1,\n\tFOLIOREF_KEEP = 2,\n\tFOLIOREF_ACTIVATE = 3,\n};\n\nenum folio_walk_level {\n\tFW_LEVEL_PTE = 0,\n\tFW_LEVEL_PMD = 1,\n\tFW_LEVEL_PUD = 2,\n};\n\nenum format_state {\n\tFORMAT_STATE_NONE = 0,\n\tFORMAT_STATE_NUM = 1,\n\tFORMAT_STATE_WIDTH = 2,\n\tFORMAT_STATE_PRECISION = 3,\n\tFORMAT_STATE_CHAR = 4,\n\tFORMAT_STATE_STR = 5,\n\tFORMAT_STATE_PTR = 6,\n\tFORMAT_STATE_PERCENT_CHAR = 7,\n\tFORMAT_STATE_INVALID = 8,\n};\n\nenum forward_type {\n\tFILTER_ACTION_TYPE_PSFP = 1,\n\tFILTER_ACTION_TYPE_ACL = 2,\n\tFILTER_ACTION_TYPE_BOTH = 3,\n};\n\nenum fp_type {\n\tFP_STATE_CURRENT = 0,\n\tFP_STATE_FPSIMD = 1,\n\tFP_STATE_SVE = 2,\n};\n\nenum fpga_mgr_states {\n\tFPGA_MGR_STATE_UNKNOWN = 0,\n\tFPGA_MGR_STATE_POWER_OFF = 1,\n\tFPGA_MGR_STATE_POWER_UP = 2,\n\tFPGA_MGR_STATE_RESET = 3,\n\tFPGA_MGR_STATE_FIRMWARE_REQ = 4,\n\tFPGA_MGR_STATE_FIRMWARE_REQ_ERR = 5,\n\tFPGA_MGR_STATE_PARSE_HEADER = 6,\n\tFPGA_MGR_STATE_PARSE_HEADER_ERR = 7,\n\tFPGA_MGR_STATE_WRITE_INIT = 8,\n\tFPGA_MGR_STATE_WRITE_INIT_ERR = 9,\n\tFPGA_MGR_STATE_WRITE = 10,\n\tFPGA_MGR_STATE_WRITE_ERR = 11,\n\tFPGA_MGR_STATE_WRITE_COMPLETE = 12,\n\tFPGA_MGR_STATE_WRITE_COMPLETE_ERR = 13,\n\tFPGA_MGR_STATE_OPERATING = 14,\n};\n\nenum freeze_holder {\n\tFREEZE_HOLDER_KERNEL = 1,\n\tFREEZE_HOLDER_USERSPACE = 2,\n\tFREEZE_MAY_NEST = 4,\n};\n\nenum freezer_state_flags {\n\tCGROUP_FREEZER_ONLINE = 1,\n\tCGROUP_FREEZING_SELF = 2,\n\tCGROUP_FREEZING_PARENT = 4,\n\tCGROUP_FROZEN = 8,\n\tCGROUP_FREEZING = 6,\n};\n\nenum freq_policy {\n\tFLOOR = 0,\n\tCEIL = 1,\n};\n\nenum freq_qos_req_type {\n\tFREQ_QOS_MIN = 1,\n\tFREQ_QOS_MAX = 2,\n};\n\nenum fs_context_phase {\n\tFS_CONTEXT_CREATE_PARAMS = 0,\n\tFS_CONTEXT_CREATING = 1,\n\tFS_CONTEXT_AWAITING_MOUNT = 2,\n\tFS_CONTEXT_AWAITING_RECONF = 3,\n\tFS_CONTEXT_RECONF_PARAMS = 4,\n\tFS_CONTEXT_RECONFIGURING = 5,\n\tFS_CONTEXT_FAILED = 6,\n};\n\nenum fs_context_purpose {\n\tFS_CONTEXT_FOR_MOUNT = 0,\n\tFS_CONTEXT_FOR_SUBMOUNT = 1,\n\tFS_CONTEXT_FOR_RECONFIGURE = 2,\n};\n\nenum fs_value_type {\n\tfs_value_is_undefined = 0,\n\tfs_value_is_flag = 1,\n\tfs_value_is_string = 2,\n\tfs_value_is_blob = 3,\n\tfs_value_is_filename = 4,\n\tfs_value_is_file = 5,\n};\n\nenum fscache_cache_state {\n\tFSCACHE_CACHE_IS_NOT_PRESENT = 0,\n\tFSCACHE_CACHE_IS_PREPARING = 1,\n\tFSCACHE_CACHE_IS_ACTIVE = 2,\n\tFSCACHE_CACHE_GOT_IOERROR = 3,\n\tFSCACHE_CACHE_IS_WITHDRAWN = 4,\n};\n\nenum fscache_cookie_state {\n\tFSCACHE_COOKIE_STATE_QUIESCENT = 0,\n\tFSCACHE_COOKIE_STATE_LOOKING_UP = 1,\n\tFSCACHE_COOKIE_STATE_CREATING = 2,\n\tFSCACHE_COOKIE_STATE_ACTIVE = 3,\n\tFSCACHE_COOKIE_STATE_INVALIDATING = 4,\n\tFSCACHE_COOKIE_STATE_FAILED = 5,\n\tFSCACHE_COOKIE_STATE_LRU_DISCARDING = 6,\n\tFSCACHE_COOKIE_STATE_WITHDRAWING = 7,\n\tFSCACHE_COOKIE_STATE_RELINQUISHING = 8,\n\tFSCACHE_COOKIE_STATE_DROPPED = 9,\n} __attribute__((mode(byte)));\n\nenum fscache_want_state {\n\tFSCACHE_WANT_PARAMS = 0,\n\tFSCACHE_WANT_WRITE = 1,\n\tFSCACHE_WANT_READ = 2,\n};\n\nenum fsconfig_command {\n\tFSCONFIG_SET_FLAG = 0,\n\tFSCONFIG_SET_STRING = 1,\n\tFSCONFIG_SET_BINARY = 2,\n\tFSCONFIG_SET_PATH = 3,\n\tFSCONFIG_SET_PATH_EMPTY = 4,\n\tFSCONFIG_SET_FD = 5,\n\tFSCONFIG_CMD_CREATE = 6,\n\tFSCONFIG_CMD_RECONFIGURE = 7,\n\tFSCONFIG_CMD_CREATE_EXCL = 8,\n};\n\nenum fsl_edma_pm_state {\n\tRUNNING = 0,\n\tSUSPENDED = 1,\n};\n\nenum fsl_mc_pool_type {\n\tFSL_MC_POOL_DPMCP = 0,\n\tFSL_MC_POOL_DPBP = 1,\n\tFSL_MC_POOL_DPCON = 2,\n\tFSL_MC_POOL_IRQ = 3,\n\tFSL_MC_NUM_POOL_TYPES = 4,\n};\n\nenum fsnotify_data_type {\n\tFSNOTIFY_EVENT_NONE = 0,\n\tFSNOTIFY_EVENT_FILE_RANGE = 1,\n\tFSNOTIFY_EVENT_PATH = 2,\n\tFSNOTIFY_EVENT_INODE = 3,\n\tFSNOTIFY_EVENT_DENTRY = 4,\n\tFSNOTIFY_EVENT_ERROR = 5,\n};\n\nenum fsnotify_group_prio {\n\tFSNOTIFY_PRIO_NORMAL = 0,\n\tFSNOTIFY_PRIO_CONTENT = 1,\n\tFSNOTIFY_PRIO_PRE_CONTENT = 2,\n\t__FSNOTIFY_PRIO_NUM = 3,\n};\n\nenum fsnotify_iter_type {\n\tFSNOTIFY_ITER_TYPE_INODE = 0,\n\tFSNOTIFY_ITER_TYPE_VFSMOUNT = 1,\n\tFSNOTIFY_ITER_TYPE_SB = 2,\n\tFSNOTIFY_ITER_TYPE_PARENT = 3,\n\tFSNOTIFY_ITER_TYPE_INODE2 = 4,\n\tFSNOTIFY_ITER_TYPE_COUNT = 5,\n};\n\nenum fsnotify_obj_type {\n\tFSNOTIFY_OBJ_TYPE_ANY = -1,\n\tFSNOTIFY_OBJ_TYPE_INODE = 0,\n\tFSNOTIFY_OBJ_TYPE_VFSMOUNT = 1,\n\tFSNOTIFY_OBJ_TYPE_SB = 2,\n\tFSNOTIFY_OBJ_TYPE_COUNT = 3,\n\tFSNOTIFY_OBJ_TYPE_DETACHED = 3,\n};\n\nenum ftr_type {\n\tFTR_EXACT = 0,\n\tFTR_LOWER_SAFE = 1,\n\tFTR_HIGHER_SAFE = 2,\n\tFTR_HIGHER_OR_ZERO_SAFE = 3,\n};\n\nenum ftrace_dump_mode {\n\tDUMP_NONE = 0,\n\tDUMP_ALL = 1,\n\tDUMP_ORIG = 2,\n\tDUMP_PARAM = 3,\n};\n\nenum futex_access {\n\tFUTEX_READ = 0,\n\tFUTEX_WRITE = 1,\n};\n\nenum fw_opt {\n\tFW_OPT_UEVENT = 1,\n\tFW_OPT_NOWAIT = 2,\n\tFW_OPT_USERHELPER = 4,\n\tFW_OPT_NO_WARN = 8,\n\tFW_OPT_NOCACHE = 16,\n\tFW_OPT_NOFALLBACK_SYSFS = 32,\n\tFW_OPT_FALLBACK_PLATFORM = 64,\n\tFW_OPT_PARTIAL = 128,\n};\n\nenum fw_resource_type {\n\tRSC_CARVEOUT = 0,\n\tRSC_DEVMEM = 1,\n\tRSC_TRACE = 2,\n\tRSC_VDEV = 3,\n\tRSC_LAST = 4,\n\tRSC_VENDOR_START = 128,\n\tRSC_VENDOR_END = 512,\n};\n\nenum fw_status {\n\tFW_STATUS_UNKNOWN = 0,\n\tFW_STATUS_LOADING = 1,\n\tFW_STATUS_DONE = 2,\n\tFW_STATUS_ABORTED = 3,\n};\n\nenum fwh_lock_state {\n\tFWH_UNLOCKED = 0,\n\tFWH_DENY_WRITE = 1,\n\tFWH_IMMUTABLE = 2,\n\tFWH_DENY_READ = 4,\n};\n\nenum gdsc_status {\n\tGDSC_OFF = 0,\n\tGDSC_ON = 1,\n};\n\nenum geni_icc_path_index {\n\tGENI_TO_CORE = 0,\n\tCPU_TO_GENI = 1,\n\tGENI_TO_DDR = 2,\n};\n\nenum geni_se_protocol_type {\n\tGENI_SE_NONE = 0,\n\tGENI_SE_SPI = 1,\n\tGENI_SE_UART = 2,\n\tGENI_SE_I2C = 3,\n\tGENI_SE_I3C = 4,\n\tGENI_SE_SPI_SLAVE = 5,\n};\n\nenum geni_se_xfer_mode {\n\tGENI_SE_INVALID = 0,\n\tGENI_SE_FIFO = 1,\n\tGENI_SE_DMA = 2,\n\tGENI_GPI_DMA = 3,\n};\n\nenum genl_validate_flags {\n\tGENL_DONT_VALIDATE_STRICT = 1,\n\tGENL_DONT_VALIDATE_DUMP = 2,\n\tGENL_DONT_VALIDATE_DUMP_STRICT = 4,\n};\n\nenum genpd_notication {\n\tGENPD_NOTIFY_PRE_OFF = 0,\n\tGENPD_NOTIFY_OFF = 1,\n\tGENPD_NOTIFY_PRE_ON = 2,\n\tGENPD_NOTIFY_ON = 3,\n};\n\nenum geometry_desc_param {\n\tGEOMETRY_DESC_PARAM_LEN = 0,\n\tGEOMETRY_DESC_PARAM_TYPE = 1,\n\tGEOMETRY_DESC_PARAM_DEV_CAP = 4,\n\tGEOMETRY_DESC_PARAM_MAX_NUM_LUN = 12,\n\tGEOMETRY_DESC_PARAM_SEG_SIZE = 13,\n\tGEOMETRY_DESC_PARAM_ALLOC_UNIT_SIZE = 17,\n\tGEOMETRY_DESC_PARAM_MIN_BLK_SIZE = 18,\n\tGEOMETRY_DESC_PARAM_OPT_RD_BLK_SIZE = 19,\n\tGEOMETRY_DESC_PARAM_OPT_WR_BLK_SIZE = 20,\n\tGEOMETRY_DESC_PARAM_MAX_IN_BUF_SIZE = 21,\n\tGEOMETRY_DESC_PARAM_MAX_OUT_BUF_SIZE = 22,\n\tGEOMETRY_DESC_PARAM_RPMB_RW_SIZE = 23,\n\tGEOMETRY_DESC_PARAM_DYN_CAP_RSRC_PLC = 24,\n\tGEOMETRY_DESC_PARAM_DATA_ORDER = 25,\n\tGEOMETRY_DESC_PARAM_MAX_NUM_CTX = 26,\n\tGEOMETRY_DESC_PARAM_TAG_UNIT_SIZE = 27,\n\tGEOMETRY_DESC_PARAM_TAG_RSRC_SIZE = 28,\n\tGEOMETRY_DESC_PARAM_SEC_RM_TYPES = 29,\n\tGEOMETRY_DESC_PARAM_MEM_TYPES = 30,\n\tGEOMETRY_DESC_PARAM_SCM_MAX_NUM_UNITS = 32,\n\tGEOMETRY_DESC_PARAM_SCM_CAP_ADJ_FCTR = 36,\n\tGEOMETRY_DESC_PARAM_NPM_MAX_NUM_UNITS = 38,\n\tGEOMETRY_DESC_PARAM_NPM_CAP_ADJ_FCTR = 42,\n\tGEOMETRY_DESC_PARAM_ENM1_MAX_NUM_UNITS = 44,\n\tGEOMETRY_DESC_PARAM_ENM1_CAP_ADJ_FCTR = 48,\n\tGEOMETRY_DESC_PARAM_ENM2_MAX_NUM_UNITS = 50,\n\tGEOMETRY_DESC_PARAM_ENM2_CAP_ADJ_FCTR = 54,\n\tGEOMETRY_DESC_PARAM_ENM3_MAX_NUM_UNITS = 56,\n\tGEOMETRY_DESC_PARAM_ENM3_CAP_ADJ_FCTR = 60,\n\tGEOMETRY_DESC_PARAM_ENM4_MAX_NUM_UNITS = 62,\n\tGEOMETRY_DESC_PARAM_ENM4_CAP_ADJ_FCTR = 66,\n\tGEOMETRY_DESC_PARAM_OPT_LOG_BLK_SIZE = 68,\n\tGEOMETRY_DESC_PARAM_HPB_REGION_SIZE = 72,\n\tGEOMETRY_DESC_PARAM_HPB_NUMBER_LU = 73,\n\tGEOMETRY_DESC_PARAM_HPB_SUBREGION_SIZE = 74,\n\tGEOMETRY_DESC_PARAM_HPB_MAX_ACTIVE_REGS = 75,\n\tGEOMETRY_DESC_PARAM_WB_MAX_ALLOC_UNITS = 79,\n\tGEOMETRY_DESC_PARAM_WB_MAX_WB_LUNS = 83,\n\tGEOMETRY_DESC_PARAM_WB_BUFF_CAP_ADJ = 84,\n\tGEOMETRY_DESC_PARAM_WB_SUP_RED_TYPE = 85,\n\tGEOMETRY_DESC_PARAM_WB_SUP_WB_TYPE = 86,\n};\n\nenum gic_intid_range {\n\tSGI_RANGE = 0,\n\tPPI_RANGE = 1,\n\tSPI_RANGE = 2,\n\tEPPI_RANGE = 3,\n\tESPI_RANGE = 4,\n\tLPI_RANGE = 5,\n\t__INVALID_RANGE__ = 6,\n};\n\nenum gic_type {\n\tGIC_V2 = 0,\n\tGIC_V3 = 1,\n};\n\nenum gio_reg_index {\n\tGIO_REG_ODEN = 0,\n\tGIO_REG_DATA = 1,\n\tGIO_REG_IODIR = 2,\n\tGIO_REG_EC = 3,\n\tGIO_REG_EI = 4,\n\tGIO_REG_MASK = 5,\n\tGIO_REG_LEVEL = 6,\n\tGIO_REG_STAT = 7,\n\tNUMBER_OF_GIO_REGISTERS = 8,\n};\n\nenum gpd_status {\n\tGENPD_STATE_ON = 0,\n\tGENPD_STATE_OFF = 1,\n};\n\nenum gpio_lookup_flags {\n\tGPIO_ACTIVE_HIGH = 0,\n\tGPIO_ACTIVE_LOW = 1,\n\tGPIO_OPEN_DRAIN = 2,\n\tGPIO_OPEN_SOURCE = 4,\n\tGPIO_PERSISTENT = 0,\n\tGPIO_TRANSITORY = 8,\n\tGPIO_PULL_UP = 16,\n\tGPIO_PULL_DOWN = 32,\n\tGPIO_PULL_DISABLE = 64,\n\tGPIO_LOOKUP_FLAGS_DEFAULT = 0,\n};\n\nenum gpio_v2_line_attr_id {\n\tGPIO_V2_LINE_ATTR_ID_FLAGS = 1,\n\tGPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES = 2,\n\tGPIO_V2_LINE_ATTR_ID_DEBOUNCE = 3,\n};\n\nenum gpio_v2_line_changed_type {\n\tGPIO_V2_LINE_CHANGED_REQUESTED = 1,\n\tGPIO_V2_LINE_CHANGED_RELEASED = 2,\n\tGPIO_V2_LINE_CHANGED_CONFIG = 3,\n};\n\nenum gpio_v2_line_event_id {\n\tGPIO_V2_LINE_EVENT_RISING_EDGE = 1,\n\tGPIO_V2_LINE_EVENT_FALLING_EDGE = 2,\n};\n\nenum gpio_v2_line_flag {\n\tGPIO_V2_LINE_FLAG_USED = 1,\n\tGPIO_V2_LINE_FLAG_ACTIVE_LOW = 2,\n\tGPIO_V2_LINE_FLAG_INPUT = 4,\n\tGPIO_V2_LINE_FLAG_OUTPUT = 8,\n\tGPIO_V2_LINE_FLAG_EDGE_RISING = 16,\n\tGPIO_V2_LINE_FLAG_EDGE_FALLING = 32,\n\tGPIO_V2_LINE_FLAG_OPEN_DRAIN = 64,\n\tGPIO_V2_LINE_FLAG_OPEN_SOURCE = 128,\n\tGPIO_V2_LINE_FLAG_BIAS_PULL_UP = 256,\n\tGPIO_V2_LINE_FLAG_BIAS_PULL_DOWN = 512,\n\tGPIO_V2_LINE_FLAG_BIAS_DISABLED = 1024,\n\tGPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME = 2048,\n\tGPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE = 4096,\n};\n\nenum gpiod_flags {\n\tGPIOD_ASIS = 0,\n\tGPIOD_IN = 1,\n\tGPIOD_OUT_LOW = 3,\n\tGPIOD_OUT_HIGH = 7,\n\tGPIOD_OUT_LOW_OPEN_DRAIN = 11,\n\tGPIOD_OUT_HIGH_OPEN_DRAIN = 15,\n};\n\nenum gro_result {\n\tGRO_MERGED = 0,\n\tGRO_MERGED_FREE = 1,\n\tGRO_HELD = 2,\n\tGRO_NORMAL = 3,\n\tGRO_CONSUMED = 4,\n};\n\ntypedef enum gro_result gro_result_t;\n\nenum group_type {\n\tgroup_has_spare = 0,\n\tgroup_fully_busy = 1,\n\tgroup_misfit_task = 2,\n\tgroup_smt_balance = 3,\n\tgroup_asym_packing = 4,\n\tgroup_imbalanced = 5,\n\tgroup_overloaded = 6,\n};\n\nenum hal_dsaf_mode {\n\tHRD_DSAF_NO_DSAF_MODE = 0,\n\tHRD_DSAF_MODE = 1,\n};\n\nenum hal_dsaf_tc_mode {\n\tHRD_DSAF_4TC_MODE = 0,\n\tHRD_DSAF_8TC_MODE = 1,\n};\n\nenum handle_to_path_flags {\n\tHANDLE_CHECK_PERMS = 1,\n\tHANDLE_CHECK_SUBTREE = 2,\n};\n\nenum handshake_auth {\n\tHANDSHAKE_AUTH_UNSPEC = 0,\n\tHANDSHAKE_AUTH_UNAUTH = 1,\n\tHANDSHAKE_AUTH_PSK = 2,\n\tHANDSHAKE_AUTH_X509 = 3,\n};\n\nenum handshake_handler_class {\n\tHANDSHAKE_HANDLER_CLASS_NONE = 0,\n\tHANDSHAKE_HANDLER_CLASS_TLSHD = 1,\n\tHANDSHAKE_HANDLER_CLASS_MAX = 2,\n};\n\nenum handshake_msg_type {\n\tHANDSHAKE_MSG_TYPE_UNSPEC = 0,\n\tHANDSHAKE_MSG_TYPE_CLIENTHELLO = 1,\n\tHANDSHAKE_MSG_TYPE_SERVERHELLO = 2,\n};\n\nenum hash_algo {\n\tHASH_ALGO_MD4 = 0,\n\tHASH_ALGO_MD5 = 1,\n\tHASH_ALGO_SHA1 = 2,\n\tHASH_ALGO_RIPE_MD_160 = 3,\n\tHASH_ALGO_SHA256 = 4,\n\tHASH_ALGO_SHA384 = 5,\n\tHASH_ALGO_SHA512 = 6,\n\tHASH_ALGO_SHA224 = 7,\n\tHASH_ALGO_RIPE_MD_128 = 8,\n\tHASH_ALGO_RIPE_MD_256 = 9,\n\tHASH_ALGO_RIPE_MD_320 = 10,\n\tHASH_ALGO_WP_256 = 11,\n\tHASH_ALGO_WP_384 = 12,\n\tHASH_ALGO_WP_512 = 13,\n\tHASH_ALGO_TGR_128 = 14,\n\tHASH_ALGO_TGR_160 = 15,\n\tHASH_ALGO_TGR_192 = 16,\n\tHASH_ALGO_SM3_256 = 17,\n\tHASH_ALGO_STREEBOG_256 = 18,\n\tHASH_ALGO_STREEBOG_512 = 19,\n\tHASH_ALGO_SHA3_256 = 20,\n\tHASH_ALGO_SHA3_384 = 21,\n\tHASH_ALGO_SHA3_512 = 22,\n\tHASH_ALGO__LAST = 23,\n};\n\nenum hclge_comm_cmd_return_status {\n\tHCLGE_COMM_CMD_EXEC_SUCCESS = 0,\n\tHCLGE_COMM_CMD_NO_AUTH = 1,\n\tHCLGE_COMM_CMD_NOT_SUPPORTED = 2,\n\tHCLGE_COMM_CMD_QUEUE_FULL = 3,\n\tHCLGE_COMM_CMD_NEXT_ERR = 4,\n\tHCLGE_COMM_CMD_UNEXE_ERR = 5,\n\tHCLGE_COMM_CMD_PARA_ERR = 6,\n\tHCLGE_COMM_CMD_RESULT_ERR = 7,\n\tHCLGE_COMM_CMD_TIMEOUT = 8,\n\tHCLGE_COMM_CMD_HILINK_ERR = 9,\n\tHCLGE_COMM_CMD_QUEUE_ILLEGAL = 10,\n\tHCLGE_COMM_CMD_INVALID = 11,\n};\n\nenum hclge_comm_cmd_state {\n\tHCLGE_COMM_STATE_CMD_DISABLE = 0,\n};\n\nenum hclge_comm_cmd_status {\n\tHCLGE_COMM_STATUS_SUCCESS = 0,\n\tHCLGE_COMM_ERR_CSQ_FULL = -1,\n\tHCLGE_COMM_ERR_CSQ_TIMEOUT = -2,\n\tHCLGE_COMM_ERR_CSQ_ERROR = -3,\n};\n\nenum hclge_err_type_list {\n\tNONE_ERROR = 0,\n\tFIFO_ERROR = 1,\n\tMEMORY_ERROR = 2,\n\tPOISON_ERROR = 3,\n\tMSIX_ECC_ERROR = 4,\n\tTQP_INT_ECC_ERROR = 5,\n\tPF_ABNORMAL_INT_ERROR = 6,\n\tMPF_ABNORMAL_INT_ERROR = 7,\n\tCOMMON_ERROR = 8,\n\tPORT_ERROR = 9,\n\tETS_ERROR = 10,\n\tNCSI_ERROR = 11,\n\tGLB_ERROR = 12,\n\tLINK_ERROR = 13,\n\tPTP_ERROR = 14,\n\tROCEE_NORMAL_ERR = 40,\n\tROCEE_OVF_ERR = 41,\n\tROCEE_BUS_ERR = 42,\n};\n\nenum hclge_evt_cause {\n\tHCLGE_VECTOR0_EVENT_RST = 0,\n\tHCLGE_VECTOR0_EVENT_MBX = 1,\n\tHCLGE_VECTOR0_EVENT_ERR = 2,\n\tHCLGE_VECTOR0_EVENT_PTP = 3,\n\tHCLGE_VECTOR0_EVENT_OTHER = 4,\n};\n\nenum hclge_fc_mode {\n\tHCLGE_FC_NONE = 0,\n\tHCLGE_FC_RX_PAUSE = 1,\n\tHCLGE_FC_TX_PAUSE = 2,\n\tHCLGE_FC_FULL = 3,\n\tHCLGE_FC_PFC = 4,\n\tHCLGE_FC_DEFAULT = 5,\n};\n\nenum hclge_hilink_version {\n\tHCLGE_HILINK_H32 = 0,\n\tHCLGE_HILINK_H60 = 1,\n};\n\nenum hclge_led_status {\n\tHCLGE_LED_OFF = 0,\n\tHCLGE_LED_ON = 1,\n\tHCLGE_LED_NO_CHANGE = 255,\n};\n\nenum hclge_link_fail_code {\n\tHCLGE_LF_NORMAL = 0,\n\tHCLGE_LF_REF_CLOCK_LOST = 1,\n\tHCLGE_LF_XSFP_TX_DISABLE = 2,\n\tHCLGE_LF_XSFP_ABSENT = 3,\n};\n\nenum hclge_mac_vlan_add_resp_code {\n\tHCLGE_ADD_UC_OVERFLOW = 2,\n\tHCLGE_ADD_MC_OVERFLOW = 3,\n};\n\nenum hclge_mac_vlan_cfg_sel {\n\tHCLGE_MAC_VLAN_NIC_SEL = 0,\n\tHCLGE_MAC_VLAN_ROCE_SEL = 1,\n};\n\nenum hclge_mac_vlan_tbl_opcode {\n\tHCLGE_MAC_VLAN_ADD = 0,\n\tHCLGE_MAC_VLAN_UPDATE = 1,\n\tHCLGE_MAC_VLAN_REMOVE = 2,\n\tHCLGE_MAC_VLAN_LKUP = 3,\n};\n\nenum hclge_mbx_mac_vlan_subcode {\n\tHCLGE_MBX_MAC_VLAN_UC_MODIFY = 0,\n\tHCLGE_MBX_MAC_VLAN_UC_ADD = 1,\n\tHCLGE_MBX_MAC_VLAN_UC_REMOVE = 2,\n\tHCLGE_MBX_MAC_VLAN_MC_MODIFY = 3,\n\tHCLGE_MBX_MAC_VLAN_MC_ADD = 4,\n\tHCLGE_MBX_MAC_VLAN_MC_REMOVE = 5,\n};\n\nenum hclge_mbx_tbl_cfg_subcode {\n\tHCLGE_MBX_VPORT_LIST_CLEAR = 0,\n};\n\nenum hclge_mbx_vlan_cfg_subcode {\n\tHCLGE_MBX_VLAN_FILTER = 0,\n\tHCLGE_MBX_VLAN_TX_OFF_CFG = 1,\n\tHCLGE_MBX_VLAN_RX_OFF_CFG = 2,\n\tHCLGE_MBX_PORT_BASE_VLAN_CFG = 3,\n\tHCLGE_MBX_GET_PORT_BASE_VLAN_STATE = 4,\n\tHCLGE_MBX_ENABLE_VLAN_FILTER = 5,\n};\n\nenum hclge_mdio_c22_op_seq {\n\tHCLGE_MDIO_C22_WRITE = 1,\n\tHCLGE_MDIO_C22_READ = 2,\n};\n\nenum hclge_mod_name_list {\n\tMODULE_NONE = 0,\n\tMODULE_BIOS_COMMON = 1,\n\tMODULE_GE = 2,\n\tMODULE_IGU_EGU = 3,\n\tMODULE_LGE = 4,\n\tMODULE_NCSI = 5,\n\tMODULE_PPP = 6,\n\tMODULE_QCN = 7,\n\tMODULE_RCB_RX = 8,\n\tMODULE_RTC = 9,\n\tMODULE_SSU = 10,\n\tMODULE_TM = 11,\n\tMODULE_RCB_TX = 12,\n\tMODULE_TXDMA = 13,\n\tMODULE_MASTER = 14,\n\tMODULE_HIMAC = 15,\n\tMODULE_ROCEE_TOP = 40,\n\tMODULE_ROCEE_TIMER = 41,\n\tMODULE_ROCEE_MDB = 42,\n\tMODULE_ROCEE_TSP = 43,\n\tMODULE_ROCEE_TRP = 44,\n\tMODULE_ROCEE_SCC = 45,\n\tMODULE_ROCEE_CAEP = 46,\n\tMODULE_ROCEE_GEN_AC = 47,\n\tMODULE_ROCEE_QMM = 48,\n\tMODULE_ROCEE_LSAN = 49,\n};\n\nenum hclge_opcode_type {\n\tHCLGE_OPC_QUERY_FW_VER = 1,\n\tHCLGE_OPC_CFG_RST_TRIGGER = 32,\n\tHCLGE_OPC_GBL_RST_STATUS = 33,\n\tHCLGE_OPC_QUERY_FUNC_STATUS = 34,\n\tHCLGE_OPC_QUERY_PF_RSRC = 35,\n\tHCLGE_OPC_QUERY_VF_RSRC = 36,\n\tHCLGE_OPC_GET_CFG_PARAM = 37,\n\tHCLGE_OPC_PF_RST_DONE = 38,\n\tHCLGE_OPC_QUERY_VF_RST_RDY = 39,\n\tHCLGE_OPC_STATS_64_BIT = 48,\n\tHCLGE_OPC_STATS_32_BIT = 49,\n\tHCLGE_OPC_STATS_MAC = 50,\n\tHCLGE_OPC_QUERY_MAC_REG_NUM = 51,\n\tHCLGE_OPC_STATS_MAC_ALL = 52,\n\tHCLGE_OPC_QUERY_REG_NUM = 64,\n\tHCLGE_OPC_QUERY_32_BIT_REG = 65,\n\tHCLGE_OPC_QUERY_64_BIT_REG = 66,\n\tHCLGE_OPC_DFX_BD_NUM = 67,\n\tHCLGE_OPC_DFX_BIOS_COMMON_REG = 68,\n\tHCLGE_OPC_DFX_SSU_REG_0 = 69,\n\tHCLGE_OPC_DFX_SSU_REG_1 = 70,\n\tHCLGE_OPC_DFX_IGU_EGU_REG = 71,\n\tHCLGE_OPC_DFX_RPU_REG_0 = 72,\n\tHCLGE_OPC_DFX_RPU_REG_1 = 73,\n\tHCLGE_OPC_DFX_NCSI_REG = 74,\n\tHCLGE_OPC_DFX_RTC_REG = 75,\n\tHCLGE_OPC_DFX_PPP_REG = 76,\n\tHCLGE_OPC_DFX_RCB_REG = 77,\n\tHCLGE_OPC_DFX_TQP_REG = 78,\n\tHCLGE_OPC_DFX_SSU_REG_2 = 79,\n\tHCLGE_OPC_DFX_GEN_REG = 28728,\n\tHCLGE_OPC_QUERY_DEV_SPECS = 80,\n\tHCLGE_OPC_GET_QUEUE_ERR_VF = 103,\n\tHCLGE_OPC_CONFIG_MAC_MODE = 769,\n\tHCLGE_OPC_CONFIG_AN_MODE = 772,\n\tHCLGE_OPC_QUERY_LINK_STATUS = 775,\n\tHCLGE_OPC_CONFIG_MAX_FRM_SIZE = 776,\n\tHCLGE_OPC_CONFIG_SPEED_DUP = 777,\n\tHCLGE_OPC_QUERY_MAC_TNL_INT = 784,\n\tHCLGE_OPC_MAC_TNL_INT_EN = 785,\n\tHCLGE_OPC_CLEAR_MAC_TNL_INT = 786,\n\tHCLGE_OPC_COMMON_LOOPBACK = 789,\n\tHCLGE_OPC_QUERY_FEC_STATS = 790,\n\tHCLGE_OPC_CONFIG_FEC_MODE = 794,\n\tHCLGE_OPC_QUERY_ROH_TYPE_INFO = 905,\n\tHCLGE_OPC_PTP_INT_EN = 1281,\n\tHCLGE_OPC_PTP_MODE_CFG = 1287,\n\tHCLGE_OPC_CFG_MAC_PAUSE_EN = 1793,\n\tHCLGE_OPC_CFG_PFC_PAUSE_EN = 1794,\n\tHCLGE_OPC_CFG_MAC_PARA = 1795,\n\tHCLGE_OPC_CFG_PFC_PARA = 1796,\n\tHCLGE_OPC_QUERY_MAC_TX_PKT_CNT = 1797,\n\tHCLGE_OPC_QUERY_MAC_RX_PKT_CNT = 1798,\n\tHCLGE_OPC_QUERY_PFC_TX_PKT_CNT = 1799,\n\tHCLGE_OPC_QUERY_PFC_RX_PKT_CNT = 1800,\n\tHCLGE_OPC_PRI_TO_TC_MAPPING = 1801,\n\tHCLGE_OPC_QOS_MAP = 1802,\n\tHCLGE_OPC_TM_PG_TO_PRI_LINK = 2052,\n\tHCLGE_OPC_TM_QS_TO_PRI_LINK = 2053,\n\tHCLGE_OPC_TM_NQ_TO_QS_LINK = 2054,\n\tHCLGE_OPC_TM_RQ_TO_QS_LINK = 2055,\n\tHCLGE_OPC_TM_PORT_WEIGHT = 2056,\n\tHCLGE_OPC_TM_PG_WEIGHT = 2057,\n\tHCLGE_OPC_TM_QS_WEIGHT = 2058,\n\tHCLGE_OPC_TM_PRI_WEIGHT = 2059,\n\tHCLGE_OPC_TM_PRI_C_SHAPPING = 2060,\n\tHCLGE_OPC_TM_PRI_P_SHAPPING = 2061,\n\tHCLGE_OPC_TM_PG_C_SHAPPING = 2062,\n\tHCLGE_OPC_TM_PG_P_SHAPPING = 2063,\n\tHCLGE_OPC_TM_PORT_SHAPPING = 2064,\n\tHCLGE_OPC_TM_PG_SCH_MODE_CFG = 2066,\n\tHCLGE_OPC_TM_PRI_SCH_MODE_CFG = 2067,\n\tHCLGE_OPC_TM_QS_SCH_MODE_CFG = 2068,\n\tHCLGE_OPC_TM_BP_TO_QSET_MAPPING = 2069,\n\tHCLGE_OPC_TM_NODES = 2070,\n\tHCLGE_OPC_ETS_TC_WEIGHT = 2115,\n\tHCLGE_OPC_QSET_DFX_STS = 2116,\n\tHCLGE_OPC_PRI_DFX_STS = 2117,\n\tHCLGE_OPC_PG_DFX_STS = 2118,\n\tHCLGE_OPC_PORT_DFX_STS = 2119,\n\tHCLGE_OPC_SCH_NQ_CNT = 2120,\n\tHCLGE_OPC_SCH_RQ_CNT = 2121,\n\tHCLGE_OPC_TM_INTERNAL_STS = 2128,\n\tHCLGE_OPC_TM_INTERNAL_CNT = 2129,\n\tHCLGE_OPC_TM_INTERNAL_STS_1 = 2130,\n\tHCLGE_OPC_TM_FLUSH = 2162,\n\tHCLGE_OPC_TX_BUFF_ALLOC = 2305,\n\tHCLGE_OPC_RX_PRIV_BUFF_ALLOC = 2306,\n\tHCLGE_OPC_RX_PRIV_WL_ALLOC = 2307,\n\tHCLGE_OPC_RX_COM_THRD_ALLOC = 2308,\n\tHCLGE_OPC_RX_COM_WL_ALLOC = 2309,\n\tHCLGE_OPC_RX_GBL_PKT_CNT = 2310,\n\tHCLGE_OPC_SET_TQP_MAP = 2561,\n\tHCLGE_OPC_CFG_TX_QUEUE = 2817,\n\tHCLGE_OPC_QUERY_TX_POINTER = 2818,\n\tHCLGE_OPC_QUERY_TX_STATS = 2819,\n\tHCLGE_OPC_TQP_TX_QUEUE_TC = 2820,\n\tHCLGE_OPC_CFG_RX_QUEUE = 2833,\n\tHCLGE_OPC_QUERY_RX_POINTER = 2834,\n\tHCLGE_OPC_QUERY_RX_STATS = 2835,\n\tHCLGE_OPC_STASH_RX_QUEUE_LRO = 2838,\n\tHCLGE_OPC_CFG_RX_QUEUE_LRO = 2839,\n\tHCLGE_OPC_CFG_COM_TQP_QUEUE = 2848,\n\tHCLGE_OPC_RESET_TQP_QUEUE = 2850,\n\tHCLGE_OPC_PPU_PF_OTHER_INT_DFX = 2890,\n\tHCLGE_OPC_TSO_GENERIC_CONFIG = 3073,\n\tHCLGE_OPC_GRO_GENERIC_CONFIG = 3088,\n\tHCLGE_OPC_RSS_GENERIC_CONFIG = 3329,\n\tHCLGE_OPC_RSS_INDIR_TABLE = 3335,\n\tHCLGE_OPC_RSS_TC_MODE = 3336,\n\tHCLGE_OPC_RSS_INPUT_TUPLE = 3330,\n\tHCLGE_OPC_CFG_PROMISC_MODE = 3585,\n\tHCLGE_OPC_VLAN_PORT_TX_CFG = 3841,\n\tHCLGE_OPC_VLAN_PORT_RX_CFG = 3842,\n\tHCLGE_OPC_ADD_RING_TO_VECTOR = 5379,\n\tHCLGE_OPC_DEL_RING_TO_VECTOR = 5380,\n\tHCLGE_OPC_MAC_VLAN_ADD = 4096,\n\tHCLGE_OPC_MAC_VLAN_REMOVE = 4097,\n\tHCLGE_OPC_MAC_VLAN_TYPE_ID = 4098,\n\tHCLGE_OPC_MAC_VLAN_INSERT = 4099,\n\tHCLGE_OPC_MAC_VLAN_ALLOCATE = 4100,\n\tHCLGE_OPC_MAC_ETHTYPE_ADD = 4112,\n\tHCLGE_OPC_MAC_ETHTYPE_REMOVE = 4113,\n\tHCLGE_OPC_MAC_VLAN_SWITCH_PARAM = 4147,\n\tHCLGE_OPC_VLAN_FILTER_CTRL = 4352,\n\tHCLGE_OPC_VLAN_FILTER_PF_CFG = 4353,\n\tHCLGE_OPC_VLAN_FILTER_VF_CFG = 4354,\n\tHCLGE_OPC_PORT_VLAN_BYPASS = 4355,\n\tHCLGE_OPC_FD_MODE_CTRL = 4608,\n\tHCLGE_OPC_FD_GET_ALLOCATION = 4609,\n\tHCLGE_OPC_FD_KEY_CONFIG = 4610,\n\tHCLGE_OPC_FD_TCAM_OP = 4611,\n\tHCLGE_OPC_FD_AD_OP = 4612,\n\tHCLGE_OPC_FD_CNT_OP = 4613,\n\tHCLGE_OPC_FD_USER_DEF_OP = 4615,\n\tHCLGE_OPC_FD_QB_CTRL = 4624,\n\tHCLGE_OPC_FD_QB_AD_OP = 4625,\n\tHCLGE_OPC_MDIO_CONFIG = 6400,\n\tHCLGE_OPC_QCN_MOD_CFG = 6657,\n\tHCLGE_OPC_QCN_GRP_TMPLT_CFG = 6658,\n\tHCLGE_OPC_QCN_SHAPPING_CFG = 6659,\n\tHCLGE_OPC_QCN_SHAPPING_BS_CFG = 6660,\n\tHCLGE_OPC_QCN_QSET_LINK_CFG = 6661,\n\tHCLGE_OPC_QCN_RP_STATUS_GET = 6662,\n\tHCLGE_OPC_QCN_AJUST_INIT = 6663,\n\tHCLGE_OPC_QCN_DFX_CNT_STATUS = 6664,\n\tHCLGE_OPC_QUERY_SCC_VER = 6788,\n\tHCLGEVF_OPC_MBX_PF_TO_VF = 8192,\n\tHCLGEVF_OPC_MBX_VF_TO_PF = 8193,\n\tHCLGE_OPC_LED_STATUS_CFG = 45056,\n\tHCLGE_OPC_CLEAR_HW_RESOURCE = 28683,\n\tHCLGE_OPC_QUERY_NCL_CONFIG = 28689,\n\tHCLGE_OPC_IMP_STATS_BD = 28690,\n\tHCLGE_OPC_IMP_STATS_INFO = 28691,\n\tHCLGE_OPC_IMP_COMPAT_CFG = 28698,\n\tHCLGE_OPC_GET_SFP_EEPROM = 28928,\n\tHCLGE_OPC_GET_SFP_EXIST = 28929,\n\tHCLGE_OPC_GET_SFP_INFO = 28932,\n\tHCLGE_MAC_COMMON_INT_EN = 782,\n\tHCLGE_TM_SCH_ECC_INT_EN = 2089,\n\tHCLGE_SSU_ECC_INT_CMD = 2441,\n\tHCLGE_SSU_COMMON_INT_CMD = 2444,\n\tHCLGE_PPU_MPF_ECC_INT_CMD = 2880,\n\tHCLGE_PPU_MPF_OTHER_INT_CMD = 2881,\n\tHCLGE_PPU_PF_OTHER_INT_CMD = 2882,\n\tHCLGE_COMMON_ECC_INT_CFG = 5381,\n\tHCLGE_QUERY_RAS_INT_STS_BD_NUM = 5392,\n\tHCLGE_QUERY_CLEAR_MPF_RAS_INT = 5393,\n\tHCLGE_QUERY_CLEAR_PF_RAS_INT = 5394,\n\tHCLGE_QUERY_MSIX_INT_STS_BD_NUM = 5395,\n\tHCLGE_QUERY_CLEAR_ALL_MPF_MSIX_INT = 5396,\n\tHCLGE_QUERY_CLEAR_ALL_PF_MSIX_INT = 5397,\n\tHCLGE_QUERY_ALL_ERR_BD_NUM = 5398,\n\tHCLGE_QUERY_ALL_ERR_INFO = 5399,\n\tHCLGE_CONFIG_ROCEE_RAS_INT_EN = 5504,\n\tHCLGE_QUERY_CLEAR_ROCEE_RAS_INT = 5505,\n\tHCLGE_ROCEE_PF_RAS_INT_CMD = 5508,\n\tHCLGE_QUERY_ROCEE_ECC_RAS_INFO_CMD = 5509,\n\tHCLGE_QUERY_ROCEE_AXI_RAS_INFO_CMD = 5510,\n\tHCLGE_IGU_EGU_TNL_INT_EN = 6147,\n\tHCLGE_IGU_COMMON_INT_EN = 6150,\n\tHCLGE_TM_QCN_MEM_INT_CFG = 6676,\n\tHCLGE_PPP_CMD0_INT_CMD = 8448,\n\tHCLGE_PPP_CMD1_INT_CMD = 8449,\n\tHCLGE_MAC_ETHERTYPE_IDX_RD = 8453,\n\tHCLGE_OPC_WOL_GET_SUPPORTED_MODE = 8705,\n\tHCLGE_OPC_WOL_CFG = 8706,\n\tHCLGE_NCSI_INT_EN = 9217,\n\tHCLGE_OPC_MAC_ADDR_CHECK = 36868,\n\tHCLGE_OPC_PHY_LINK_KSETTING = 28709,\n\tHCLGE_OPC_PHY_REG = 28710,\n\tHCLGE_OPC_QUERY_LINK_DIAGNOSIS = 28714,\n};\n\nenum hclge_ptp_msg0_type {\n\tHCLGE_PTP_MSG0_V2_DELAY_REQ = 1,\n\tHCLGE_PTP_MSG0_V2_PDELAY_REQ = 2,\n\tHCLGE_PTP_MSG0_V2_DELAY_RESP = 3,\n\tHCLGE_PTP_MSG0_V2_EVENT = 15,\n};\n\nenum hclge_ptp_msg_type {\n\tHCLGE_PTP_MSG_TYPE_V2_L2 = 0,\n\tHCLGE_PTP_MSG_TYPE_V2 = 1,\n\tHCLGE_PTP_MSG_TYPE_V2_EVENT = 2,\n};\n\nenum hclge_ptp_udp_type {\n\tHCLGE_PTP_UDP_NOT_TYPE = 0,\n\tHCLGE_PTP_UDP_P13F_TYPE = 1,\n\tHCLGE_PTP_UDP_P140_TYPE = 2,\n\tHCLGE_PTP_UDP_FULL_TYPE = 3,\n};\n\nenum hclge_reg_tag {\n\tHCLGE_REG_TAG_CMDQ = 0,\n\tHCLGE_REG_TAG_COMMON = 1,\n\tHCLGE_REG_TAG_RING = 2,\n\tHCLGE_REG_TAG_TQP_INTR = 3,\n\tHCLGE_REG_TAG_QUERY_32_BIT = 4,\n\tHCLGE_REG_TAG_QUERY_64_BIT = 5,\n\tHCLGE_REG_TAG_DFX_BIOS_COMMON = 6,\n\tHCLGE_REG_TAG_DFX_SSU_0 = 7,\n\tHCLGE_REG_TAG_DFX_SSU_1 = 8,\n\tHCLGE_REG_TAG_DFX_IGU_EGU = 9,\n\tHCLGE_REG_TAG_DFX_RPU_0 = 10,\n\tHCLGE_REG_TAG_DFX_RPU_1 = 11,\n\tHCLGE_REG_TAG_DFX_NCSI = 12,\n\tHCLGE_REG_TAG_DFX_RTC = 13,\n\tHCLGE_REG_TAG_DFX_PPP = 14,\n\tHCLGE_REG_TAG_DFX_RCB = 15,\n\tHCLGE_REG_TAG_DFX_TQP = 16,\n\tHCLGE_REG_TAG_DFX_SSU_2 = 17,\n\tHCLGE_REG_TAG_RPU_TNL = 18,\n};\n\nenum hclge_shap_bucket {\n\tHCLGE_TM_SHAP_C_BUCKET = 0,\n\tHCLGE_TM_SHAP_P_BUCKET = 1,\n};\n\nenum hclge_shaper_level {\n\tHCLGE_SHAPER_LVL_PRI = 0,\n\tHCLGE_SHAPER_LVL_PG = 1,\n\tHCLGE_SHAPER_LVL_PORT = 2,\n\tHCLGE_SHAPER_LVL_QSET = 3,\n\tHCLGE_SHAPER_LVL_CNT = 4,\n\tHCLGE_SHAPER_LVL_VF = 0,\n\tHCLGE_SHAPER_LVL_PF = 1,\n};\n\nenum hclge_vlan_fltr_cap {\n\tHCLGE_VLAN_FLTR_DEF = 0,\n\tHCLGE_VLAN_FLTR_CAN_MDF = 1,\n};\n\nenum hctx_type {\n\tHCTX_TYPE_DEFAULT = 0,\n\tHCTX_TYPE_READ = 1,\n\tHCTX_TYPE_POLL = 2,\n\tHCTX_MAX_TYPES = 3,\n};\n\nenum hdmi_3d_structure {\n\tHDMI_3D_STRUCTURE_INVALID = -1,\n\tHDMI_3D_STRUCTURE_FRAME_PACKING = 0,\n\tHDMI_3D_STRUCTURE_FIELD_ALTERNATIVE = 1,\n\tHDMI_3D_STRUCTURE_LINE_ALTERNATIVE = 2,\n\tHDMI_3D_STRUCTURE_SIDE_BY_SIDE_FULL = 3,\n\tHDMI_3D_STRUCTURE_L_DEPTH = 4,\n\tHDMI_3D_STRUCTURE_L_DEPTH_GFX_GFX_DEPTH = 5,\n\tHDMI_3D_STRUCTURE_TOP_AND_BOTTOM = 6,\n\tHDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8,\n};\n\nenum hdmi_active_aspect {\n\tHDMI_ACTIVE_ASPECT_16_9_TOP = 2,\n\tHDMI_ACTIVE_ASPECT_14_9_TOP = 3,\n\tHDMI_ACTIVE_ASPECT_16_9_CENTER = 4,\n\tHDMI_ACTIVE_ASPECT_PICTURE = 8,\n\tHDMI_ACTIVE_ASPECT_4_3 = 9,\n\tHDMI_ACTIVE_ASPECT_16_9 = 10,\n\tHDMI_ACTIVE_ASPECT_14_9 = 11,\n\tHDMI_ACTIVE_ASPECT_4_3_SP_14_9 = 13,\n\tHDMI_ACTIVE_ASPECT_16_9_SP_14_9 = 14,\n\tHDMI_ACTIVE_ASPECT_16_9_SP_4_3 = 15,\n};\n\nenum hdmi_audio_coding_type {\n\tHDMI_AUDIO_CODING_TYPE_STREAM = 0,\n\tHDMI_AUDIO_CODING_TYPE_PCM = 1,\n\tHDMI_AUDIO_CODING_TYPE_AC3 = 2,\n\tHDMI_AUDIO_CODING_TYPE_MPEG1 = 3,\n\tHDMI_AUDIO_CODING_TYPE_MP3 = 4,\n\tHDMI_AUDIO_CODING_TYPE_MPEG2 = 5,\n\tHDMI_AUDIO_CODING_TYPE_AAC_LC = 6,\n\tHDMI_AUDIO_CODING_TYPE_DTS = 7,\n\tHDMI_AUDIO_CODING_TYPE_ATRAC = 8,\n\tHDMI_AUDIO_CODING_TYPE_DSD = 9,\n\tHDMI_AUDIO_CODING_TYPE_EAC3 = 10,\n\tHDMI_AUDIO_CODING_TYPE_DTS_HD = 11,\n\tHDMI_AUDIO_CODING_TYPE_MLP = 12,\n\tHDMI_AUDIO_CODING_TYPE_DST = 13,\n\tHDMI_AUDIO_CODING_TYPE_WMA_PRO = 14,\n\tHDMI_AUDIO_CODING_TYPE_CXT = 15,\n};\n\nenum hdmi_audio_coding_type_ext {\n\tHDMI_AUDIO_CODING_TYPE_EXT_CT = 0,\n\tHDMI_AUDIO_CODING_TYPE_EXT_HE_AAC = 1,\n\tHDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2 = 2,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND = 3,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC = 4,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_V2 = 5,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC = 6,\n\tHDMI_AUDIO_CODING_TYPE_EXT_DRA = 7,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_SURROUND = 8,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC_SURROUND = 10,\n};\n\nenum hdmi_audio_sample_frequency {\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_STREAM = 0,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_32000 = 1,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_44100 = 2,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_48000 = 3,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_88200 = 4,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_96000 = 5,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_176400 = 6,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_192000 = 7,\n};\n\nenum hdmi_audio_sample_size {\n\tHDMI_AUDIO_SAMPLE_SIZE_STREAM = 0,\n\tHDMI_AUDIO_SAMPLE_SIZE_16 = 1,\n\tHDMI_AUDIO_SAMPLE_SIZE_20 = 2,\n\tHDMI_AUDIO_SAMPLE_SIZE_24 = 3,\n};\n\nenum hdmi_colorimetry {\n\tHDMI_COLORIMETRY_NONE = 0,\n\tHDMI_COLORIMETRY_ITU_601 = 1,\n\tHDMI_COLORIMETRY_ITU_709 = 2,\n\tHDMI_COLORIMETRY_EXTENDED = 3,\n};\n\nenum hdmi_colorspace {\n\tHDMI_COLORSPACE_RGB = 0,\n\tHDMI_COLORSPACE_YUV422 = 1,\n\tHDMI_COLORSPACE_YUV444 = 2,\n\tHDMI_COLORSPACE_YUV420 = 3,\n\tHDMI_COLORSPACE_RESERVED4 = 4,\n\tHDMI_COLORSPACE_RESERVED5 = 5,\n\tHDMI_COLORSPACE_RESERVED6 = 6,\n\tHDMI_COLORSPACE_IDO_DEFINED = 7,\n};\n\nenum hdmi_content_type {\n\tHDMI_CONTENT_TYPE_GRAPHICS = 0,\n\tHDMI_CONTENT_TYPE_PHOTO = 1,\n\tHDMI_CONTENT_TYPE_CINEMA = 2,\n\tHDMI_CONTENT_TYPE_GAME = 3,\n};\n\nenum hdmi_eotf {\n\tHDMI_EOTF_TRADITIONAL_GAMMA_SDR = 0,\n\tHDMI_EOTF_TRADITIONAL_GAMMA_HDR = 1,\n\tHDMI_EOTF_SMPTE_ST2084 = 2,\n\tHDMI_EOTF_BT_2100_HLG = 3,\n};\n\nenum hdmi_extended_colorimetry {\n\tHDMI_EXTENDED_COLORIMETRY_XV_YCC_601 = 0,\n\tHDMI_EXTENDED_COLORIMETRY_XV_YCC_709 = 1,\n\tHDMI_EXTENDED_COLORIMETRY_S_YCC_601 = 2,\n\tHDMI_EXTENDED_COLORIMETRY_OPYCC_601 = 3,\n\tHDMI_EXTENDED_COLORIMETRY_OPRGB = 4,\n\tHDMI_EXTENDED_COLORIMETRY_BT2020_CONST_LUM = 5,\n\tHDMI_EXTENDED_COLORIMETRY_BT2020 = 6,\n\tHDMI_EXTENDED_COLORIMETRY_RESERVED = 7,\n};\n\nenum hdmi_infoframe_type {\n\tHDMI_INFOFRAME_TYPE_VENDOR = 129,\n\tHDMI_INFOFRAME_TYPE_AVI = 130,\n\tHDMI_INFOFRAME_TYPE_SPD = 131,\n\tHDMI_INFOFRAME_TYPE_AUDIO = 132,\n\tHDMI_INFOFRAME_TYPE_DRM = 135,\n};\n\nenum hdmi_metadata_type {\n\tHDMI_STATIC_METADATA_TYPE1 = 0,\n};\n\nenum hdmi_nups {\n\tHDMI_NUPS_UNKNOWN = 0,\n\tHDMI_NUPS_HORIZONTAL = 1,\n\tHDMI_NUPS_VERTICAL = 2,\n\tHDMI_NUPS_BOTH = 3,\n};\n\nenum hdmi_picture_aspect {\n\tHDMI_PICTURE_ASPECT_NONE = 0,\n\tHDMI_PICTURE_ASPECT_4_3 = 1,\n\tHDMI_PICTURE_ASPECT_16_9 = 2,\n\tHDMI_PICTURE_ASPECT_64_27 = 3,\n\tHDMI_PICTURE_ASPECT_256_135 = 4,\n\tHDMI_PICTURE_ASPECT_RESERVED = 5,\n};\n\nenum hdmi_quantization_range {\n\tHDMI_QUANTIZATION_RANGE_DEFAULT = 0,\n\tHDMI_QUANTIZATION_RANGE_LIMITED = 1,\n\tHDMI_QUANTIZATION_RANGE_FULL = 2,\n\tHDMI_QUANTIZATION_RANGE_RESERVED = 3,\n};\n\nenum hdmi_scan_mode {\n\tHDMI_SCAN_MODE_NONE = 0,\n\tHDMI_SCAN_MODE_OVERSCAN = 1,\n\tHDMI_SCAN_MODE_UNDERSCAN = 2,\n\tHDMI_SCAN_MODE_RESERVED = 3,\n};\n\nenum hdmi_spd_sdi {\n\tHDMI_SPD_SDI_UNKNOWN = 0,\n\tHDMI_SPD_SDI_DSTB = 1,\n\tHDMI_SPD_SDI_DVDP = 2,\n\tHDMI_SPD_SDI_DVHS = 3,\n\tHDMI_SPD_SDI_HDDVR = 4,\n\tHDMI_SPD_SDI_DVC = 5,\n\tHDMI_SPD_SDI_DSC = 6,\n\tHDMI_SPD_SDI_VCD = 7,\n\tHDMI_SPD_SDI_GAME = 8,\n\tHDMI_SPD_SDI_PC = 9,\n\tHDMI_SPD_SDI_BD = 10,\n\tHDMI_SPD_SDI_SACD = 11,\n\tHDMI_SPD_SDI_HDDVD = 12,\n\tHDMI_SPD_SDI_PMP = 13,\n};\n\nenum hdmi_ycc_quantization_range {\n\tHDMI_YCC_QUANTIZATION_RANGE_LIMITED = 0,\n\tHDMI_YCC_QUANTIZATION_RANGE_FULL = 1,\n};\n\nenum health_desc_param {\n\tHEALTH_DESC_PARAM_LEN = 0,\n\tHEALTH_DESC_PARAM_TYPE = 1,\n\tHEALTH_DESC_PARAM_EOL_INFO = 2,\n\tHEALTH_DESC_PARAM_LIFE_TIME_EST_A = 3,\n\tHEALTH_DESC_PARAM_LIFE_TIME_EST_B = 4,\n};\n\nenum hest_status {\n\tHEST_ENABLED = 0,\n\tHEST_DISABLED = 1,\n\tHEST_NOT_FOUND = 2,\n};\n\nenum hi6220_reset_ctrl_type {\n\tPERIPHERAL = 0,\n\tMEDIA = 1,\n\tAO = 2,\n};\n\nenum hi6421_type {\n\tHI6421 = 0,\n\tHI6421_V530 = 1,\n};\n\nenum hi6421v530_regulator_id {\n\tHI6421V530_LDO3 = 0,\n\tHI6421V530_LDO9 = 1,\n\tHI6421V530_LDO11 = 2,\n\tHI6421V530_LDO15 = 3,\n\tHI6421V530_LDO16 = 4,\n};\n\nenum hi655x_regulator_id {\n\tHI655X_LDO0 = 0,\n\tHI655X_LDO1 = 1,\n\tHI655X_LDO2 = 2,\n\tHI655X_LDO3 = 3,\n\tHI655X_LDO4 = 4,\n\tHI655X_LDO5 = 5,\n\tHI655X_LDO6 = 6,\n\tHI655X_LDO7 = 7,\n\tHI655X_LDO8 = 8,\n\tHI655X_LDO9 = 9,\n\tHI655X_LDO10 = 10,\n\tHI655X_LDO11 = 11,\n\tHI655X_LDO12 = 12,\n\tHI655X_LDO13 = 13,\n\tHI655X_LDO14 = 14,\n\tHI655X_LDO15 = 15,\n\tHI655X_LDO16 = 16,\n\tHI655X_LDO17 = 17,\n\tHI655X_LDO18 = 18,\n\tHI655X_LDO19 = 19,\n\tHI655X_LDO20 = 20,\n\tHI655X_LDO21 = 21,\n\tHI655X_LDO22 = 22,\n};\n\nenum hid_class_request {\n\tHID_REQ_GET_REPORT = 1,\n\tHID_REQ_GET_IDLE = 2,\n\tHID_REQ_GET_PROTOCOL = 3,\n\tHID_REQ_SET_REPORT = 9,\n\tHID_REQ_SET_IDLE = 10,\n\tHID_REQ_SET_PROTOCOL = 11,\n};\n\nenum hid_report_type {\n\tHID_INPUT_REPORT = 0,\n\tHID_OUTPUT_REPORT = 1,\n\tHID_FEATURE_REPORT = 2,\n\tHID_REPORT_TYPES = 3,\n};\n\nenum hid_type {\n\tHID_TYPE_OTHER = 0,\n\tHID_TYPE_USBMOUSE = 1,\n\tHID_TYPE_USBNONE = 2,\n};\n\nenum hidma_cap {\n\tHIDMA_MSI_CAP = 1,\n\tHIDMA_IDENTITY_CAP = 2,\n};\n\nenum hisi_sas_debugfs_bist_ffe_cfg {\n\tFFE_SAS_1_5_GBPS = 0,\n\tFFE_SAS_3_0_GBPS = 1,\n\tFFE_SAS_6_0_GBPS = 2,\n\tFFE_SAS_12_0_GBPS = 3,\n\tFFE_RESV = 4,\n\tFFE_SATA_1_5_GBPS = 5,\n\tFFE_SATA_3_0_GBPS = 6,\n\tFFE_SATA_6_0_GBPS = 7,\n\tFFE_CFG_MAX = 8,\n};\n\nenum hisi_sas_debugfs_bist_fixed_code {\n\tFIXED_CODE = 0,\n\tFIXED_CODE_1 = 1,\n\tFIXED_CODE_MAX = 2,\n};\n\nenum hisi_sas_debugfs_cache_type {\n\tHISI_SAS_ITCT_CACHE = 0,\n\tHISI_SAS_IOST_CACHE = 1,\n};\n\nenum hisi_sas_debugfs_reg_array_member {\n\tDEBUGFS_GLOBAL = 0,\n\tDEBUGFS_AXI = 1,\n\tDEBUGFS_RAS = 2,\n\tDEBUGFS_REGS_NUM = 3,\n};\n\nenum hisi_sas_dev_type {\n\tHISI_SAS_DEV_TYPE_STP = 0,\n\tHISI_SAS_DEV_TYPE_SSP = 1,\n\tHISI_SAS_DEV_TYPE_SATA = 2,\n};\n\nenum hisi_sas_phy_event {\n\tHISI_PHYE_PHY_UP = 0,\n\tHISI_PHYE_LINK_RESET = 1,\n\tHISI_PHYE_PHY_UP_PM = 2,\n\tHISI_PHYES_NUM = 3,\n};\n\nenum hk_flags {\n\tHK_FLAG_DOMAIN = 1,\n\tHK_FLAG_MANAGED_IRQ = 2,\n\tHK_FLAG_KERNEL_NOISE = 4,\n};\n\nenum hk_type {\n\tHK_TYPE_DOMAIN = 0,\n\tHK_TYPE_MANAGED_IRQ = 1,\n\tHK_TYPE_KERNEL_NOISE = 2,\n\tHK_TYPE_MAX = 3,\n\tHK_TYPE_TICK = 2,\n\tHK_TYPE_TIMER = 2,\n\tHK_TYPE_RCU = 2,\n\tHK_TYPE_MISC = 2,\n\tHK_TYPE_WQ = 2,\n\tHK_TYPE_KTHREAD = 2,\n};\n\nenum hn_flags_bits {\n\tHANDSHAKE_F_NET_DRAINING = 0,\n};\n\nenum hnae3_client_type {\n\tHNAE3_CLIENT_KNIC = 0,\n\tHNAE3_CLIENT_ROCE = 1,\n};\n\nenum hnae3_dbg_cmd {\n\tHNAE3_DBG_CMD_TM_NODES = 0,\n\tHNAE3_DBG_CMD_TM_PRI = 1,\n\tHNAE3_DBG_CMD_TM_QSET = 2,\n\tHNAE3_DBG_CMD_TM_MAP = 3,\n\tHNAE3_DBG_CMD_TM_PG = 4,\n\tHNAE3_DBG_CMD_TM_PORT = 5,\n\tHNAE3_DBG_CMD_TC_SCH_INFO = 6,\n\tHNAE3_DBG_CMD_QOS_PAUSE_CFG = 7,\n\tHNAE3_DBG_CMD_QOS_PRI_MAP = 8,\n\tHNAE3_DBG_CMD_QOS_DSCP_MAP = 9,\n\tHNAE3_DBG_CMD_QOS_BUF_CFG = 10,\n\tHNAE3_DBG_CMD_DEV_INFO = 11,\n\tHNAE3_DBG_CMD_TX_BD = 12,\n\tHNAE3_DBG_CMD_RX_BD = 13,\n\tHNAE3_DBG_CMD_MAC_UC = 14,\n\tHNAE3_DBG_CMD_MAC_MC = 15,\n\tHNAE3_DBG_CMD_MNG_TBL = 16,\n\tHNAE3_DBG_CMD_LOOPBACK = 17,\n\tHNAE3_DBG_CMD_PTP_INFO = 18,\n\tHNAE3_DBG_CMD_INTERRUPT_INFO = 19,\n\tHNAE3_DBG_CMD_RESET_INFO = 20,\n\tHNAE3_DBG_CMD_IMP_INFO = 21,\n\tHNAE3_DBG_CMD_NCL_CONFIG = 22,\n\tHNAE3_DBG_CMD_REG_BIOS_COMMON = 23,\n\tHNAE3_DBG_CMD_REG_SSU = 24,\n\tHNAE3_DBG_CMD_REG_IGU_EGU = 25,\n\tHNAE3_DBG_CMD_REG_RPU = 26,\n\tHNAE3_DBG_CMD_REG_NCSI = 27,\n\tHNAE3_DBG_CMD_REG_RTC = 28,\n\tHNAE3_DBG_CMD_REG_PPP = 29,\n\tHNAE3_DBG_CMD_REG_RCB = 30,\n\tHNAE3_DBG_CMD_REG_TQP = 31,\n\tHNAE3_DBG_CMD_REG_MAC = 32,\n\tHNAE3_DBG_CMD_REG_DCB = 33,\n\tHNAE3_DBG_CMD_VLAN_CONFIG = 34,\n\tHNAE3_DBG_CMD_QUEUE_MAP = 35,\n\tHNAE3_DBG_CMD_RX_QUEUE_INFO = 36,\n\tHNAE3_DBG_CMD_TX_QUEUE_INFO = 37,\n\tHNAE3_DBG_CMD_FD_TCAM = 38,\n\tHNAE3_DBG_CMD_FD_COUNTER = 39,\n\tHNAE3_DBG_CMD_MAC_TNL_STATUS = 40,\n\tHNAE3_DBG_CMD_SERV_INFO = 41,\n\tHNAE3_DBG_CMD_UMV_INFO = 42,\n\tHNAE3_DBG_CMD_PAGE_POOL_INFO = 43,\n\tHNAE3_DBG_CMD_COAL_INFO = 44,\n\tHNAE3_DBG_CMD_UNKNOWN = 45,\n};\n\nenum hnae3_fec_mode {\n\tHNAE3_FEC_AUTO = 0,\n\tHNAE3_FEC_BASER = 1,\n\tHNAE3_FEC_RS = 2,\n\tHNAE3_FEC_LLRS = 3,\n\tHNAE3_FEC_NONE = 4,\n\tHNAE3_FEC_USER_DEF = 5,\n};\n\nenum hnae3_hw_error_type {\n\tHNAE3_PPU_POISON_ERROR = 0,\n\tHNAE3_CMDQ_ECC_ERROR = 1,\n\tHNAE3_IMP_RD_POISON_ERROR = 2,\n\tHNAE3_ROCEE_AXI_RESP_ERROR = 3,\n};\n\nenum hnae3_loop {\n\tHNAE3_LOOP_EXTERNAL = 0,\n\tHNAE3_LOOP_APP = 1,\n\tHNAE3_LOOP_SERIAL_SERDES = 2,\n\tHNAE3_LOOP_PARALLEL_SERDES = 3,\n\tHNAE3_LOOP_PHY = 4,\n\tHNAE3_LOOP_NONE = 5,\n};\n\nenum hnae3_media_type {\n\tHNAE3_MEDIA_TYPE_UNKNOWN = 0,\n\tHNAE3_MEDIA_TYPE_FIBER = 1,\n\tHNAE3_MEDIA_TYPE_COPPER = 2,\n\tHNAE3_MEDIA_TYPE_BACKPLANE = 3,\n\tHNAE3_MEDIA_TYPE_NONE = 4,\n};\n\nenum hnae3_module_type {\n\tHNAE3_MODULE_TYPE_UNKNOWN = 0,\n\tHNAE3_MODULE_TYPE_FIBRE_LR = 1,\n\tHNAE3_MODULE_TYPE_FIBRE_SR = 2,\n\tHNAE3_MODULE_TYPE_AOC = 3,\n\tHNAE3_MODULE_TYPE_CR = 4,\n\tHNAE3_MODULE_TYPE_KR = 5,\n\tHNAE3_MODULE_TYPE_TP = 6,\n};\n\nenum hnae3_pflag {\n\tHNAE3_PFLAG_LIMIT_PROMISC = 0,\n\tHNAE3_PFLAG_MAX = 1,\n};\n\nenum hnae3_port_base_vlan_state {\n\tHNAE3_PORT_BASE_VLAN_DISABLE = 0,\n\tHNAE3_PORT_BASE_VLAN_ENABLE = 1,\n\tHNAE3_PORT_BASE_VLAN_MODIFY = 2,\n\tHNAE3_PORT_BASE_VLAN_NOCHANGE = 3,\n};\n\nenum hnae3_reset_notify_type {\n\tHNAE3_UP_CLIENT = 0,\n\tHNAE3_DOWN_CLIENT = 1,\n\tHNAE3_INIT_CLIENT = 2,\n\tHNAE3_UNINIT_CLIENT = 3,\n};\n\nenum hnae3_reset_type {\n\tHNAE3_VF_RESET = 0,\n\tHNAE3_VF_FUNC_RESET = 1,\n\tHNAE3_VF_PF_FUNC_RESET = 2,\n\tHNAE3_VF_FULL_RESET = 3,\n\tHNAE3_FLR_RESET = 4,\n\tHNAE3_FUNC_RESET = 5,\n\tHNAE3_GLOBAL_RESET = 6,\n\tHNAE3_IMP_RESET = 7,\n\tHNAE3_NONE_RESET = 8,\n\tHNAE3_VF_EXP_RESET = 9,\n\tHNAE3_MAX_RESET = 10,\n};\n\nenum hnae3_tc_map_mode {\n\tHNAE3_TC_MAP_MODE_PRIO = 0,\n\tHNAE3_TC_MAP_MODE_DSCP = 1,\n};\n\nenum hnae_led_state {\n\tHNAE_LED_INACTIVE = 0,\n\tHNAE_LED_ACTIVE = 1,\n\tHNAE_LED_ON = 2,\n\tHNAE_LED_OFF = 3,\n};\n\nenum hnae_loop {\n\tMAC_INTERNALLOOP_MAC = 0,\n\tMAC_INTERNALLOOP_SERDES = 1,\n\tMAC_INTERNALLOOP_PHY = 2,\n\tMAC_LOOP_PHY_NONE = 3,\n\tMAC_LOOP_NONE = 4,\n};\n\nenum hnae_media_type {\n\tHNAE_MEDIA_TYPE_UNKNOWN = 0,\n\tHNAE_MEDIA_TYPE_FIBER = 1,\n\tHNAE_MEDIA_TYPE_COPPER = 2,\n\tHNAE_MEDIA_TYPE_BACKPLANE = 3,\n};\n\nenum hnae_port_type {\n\tHNAE_PORT_SERVICE = 0,\n\tHNAE_PORT_DEBUG = 1,\n};\n\nenum hns3_dbg_dentry_type {\n\tHNS3_DBG_DENTRY_TM = 0,\n\tHNS3_DBG_DENTRY_TX_BD = 1,\n\tHNS3_DBG_DENTRY_RX_BD = 2,\n\tHNS3_DBG_DENTRY_MAC = 3,\n\tHNS3_DBG_DENTRY_REG = 4,\n\tHNS3_DBG_DENTRY_QUEUE = 5,\n\tHNS3_DBG_DENTRY_FD = 6,\n\tHNS3_DBG_DENTRY_COMMON = 7,\n};\n\nenum hns3_desc_type {\n\tDESC_TYPE_UNKNOWN = 0,\n\tDESC_TYPE_SKB = 1,\n\tDESC_TYPE_FRAGLIST_SKB = 2,\n\tDESC_TYPE_PAGE = 4,\n\tDESC_TYPE_BOUNCE_ALL = 8,\n\tDESC_TYPE_BOUNCE_HEAD = 16,\n\tDESC_TYPE_SGL_SKB = 32,\n\tDESC_TYPE_PP_FRAG = 64,\n};\n\nenum hns3_flow_level_range {\n\tHNS3_FLOW_LOW = 0,\n\tHNS3_FLOW_MID = 1,\n\tHNS3_FLOW_HIGH = 2,\n\tHNS3_FLOW_ULTRA = 3,\n};\n\nenum hns3_nic_state {\n\tHNS3_NIC_STATE_TESTING = 0,\n\tHNS3_NIC_STATE_RESETTING = 1,\n\tHNS3_NIC_STATE_INITED = 2,\n\tHNS3_NIC_STATE_DOWN = 3,\n\tHNS3_NIC_STATE_DISABLED = 4,\n\tHNS3_NIC_STATE_REMOVING = 5,\n\tHNS3_NIC_STATE_SERVICE_INITED = 6,\n\tHNS3_NIC_STATE_SERVICE_SCHED = 7,\n\tHNS3_NIC_STATE2_RESET_REQUESTED = 8,\n\tHNS3_NIC_STATE_HW_TX_CSUM_ENABLE = 9,\n\tHNS3_NIC_STATE_RXD_ADV_LAYOUT_ENABLE = 10,\n\tHNS3_NIC_STATE_TX_PUSH_ENABLE = 11,\n\tHNS3_NIC_STATE_MAX = 12,\n};\n\nenum hns3_pkt_l2t_type {\n\tHNS3_L2_TYPE_UNICAST = 0,\n\tHNS3_L2_TYPE_MULTICAST = 1,\n\tHNS3_L2_TYPE_BROADCAST = 2,\n\tHNS3_L2_TYPE_INVALID = 3,\n};\n\nenum hns3_pkt_l3t_type {\n\tHNS3_L3T_NONE = 0,\n\tHNS3_L3T_IPV6 = 1,\n\tHNS3_L3T_IPV4 = 2,\n\tHNS3_L3T_RESERVED = 3,\n};\n\nenum hns3_pkt_l3type {\n\tHNS3_L3_TYPE_IPV4 = 0,\n\tHNS3_L3_TYPE_IPV6 = 1,\n\tHNS3_L3_TYPE_ARP = 2,\n\tHNS3_L3_TYPE_RARP = 3,\n\tHNS3_L3_TYPE_IPV4_OPT = 4,\n\tHNS3_L3_TYPE_IPV6_EXT = 5,\n\tHNS3_L3_TYPE_LLDP = 6,\n\tHNS3_L3_TYPE_BPDU = 7,\n\tHNS3_L3_TYPE_MAC_PAUSE = 8,\n\tHNS3_L3_TYPE_PFC_PAUSE = 9,\n\tHNS3_L3_TYPE_CNM = 12,\n\tHNS3_L3_TYPE_PARSE_FAIL = 15,\n};\n\nenum hns3_pkt_l4t_type {\n\tHNS3_L4T_UNKNOWN = 0,\n\tHNS3_L4T_TCP = 1,\n\tHNS3_L4T_UDP = 2,\n\tHNS3_L4T_SCTP = 3,\n};\n\nenum hns3_pkt_l4type {\n\tHNS3_L4_TYPE_UDP = 0,\n\tHNS3_L4_TYPE_TCP = 1,\n\tHNS3_L4_TYPE_GRE = 2,\n\tHNS3_L4_TYPE_SCTP = 3,\n\tHNS3_L4_TYPE_IGMP = 4,\n\tHNS3_L4_TYPE_ICMP = 5,\n\tHNS3_L4_TYPE_PARSE_FAIL = 15,\n};\n\nenum hns3_pkt_ol3t_type {\n\tHNS3_OL3T_NONE = 0,\n\tHNS3_OL3T_IPV6 = 1,\n\tHNS3_OL3T_IPV4_NO_CSUM = 2,\n\tHNS3_OL3T_IPV4_CSUM = 3,\n};\n\nenum hns3_pkt_ol4type {\n\tHNS3_OL4_TYPE_NO_TUN = 0,\n\tHNS3_OL4_TYPE_MAC_IN_UDP = 1,\n\tHNS3_OL4_TYPE_NVGRE = 2,\n\tHNS3_OL4_TYPE_UNKNOWN = 3,\n};\n\nenum hns3_pkt_tun_type {\n\tHNS3_TUN_NONE = 0,\n\tHNS3_TUN_MAC_IN_UDP = 1,\n\tHNS3_TUN_NVGRE = 2,\n\tHNS3_TUN_OTHER = 3,\n};\n\nenum hns_desc_type {\n\tDESC_TYPE_SKB___2 = 0,\n\tDESC_TYPE_PAGE___2 = 1,\n};\n\nenum hns_gmac_duplex_mdoe {\n\tGMAC_HALF_DUPLEX_MODE = 0,\n\tGMAC_FULL_DUPLEX_MODE = 1,\n};\n\nenum hns_nic_state {\n\tNIC_STATE_TESTING = 0,\n\tNIC_STATE_RESETTING = 1,\n\tNIC_STATE_REINITING = 2,\n\tNIC_STATE_DOWN = 3,\n\tNIC_STATE_DISABLED = 4,\n\tNIC_STATE_REMOVING = 5,\n\tNIC_STATE_SERVICE_INITED = 6,\n\tNIC_STATE_SERVICE_SCHED = 7,\n\tNIC_STATE2_RESET_REQUESTED = 8,\n\tNIC_STATE_MAX = 9,\n};\n\nenum hns_port_mode {\n\tGMAC_10M_MII = 0,\n\tGMAC_100M_MII = 1,\n\tGMAC_1000M_GMII = 2,\n\tGMAC_10M_RGMII = 3,\n\tGMAC_100M_RGMII = 4,\n\tGMAC_1000M_RGMII = 5,\n\tGMAC_10M_SGMII = 6,\n\tGMAC_100M_SGMII = 7,\n\tGMAC_1000M_SGMII = 8,\n\tGMAC_10000M_SGMII = 9,\n};\n\nenum host_event_code {\n\tEC_HOST_EVENT_LID_CLOSED = 1,\n\tEC_HOST_EVENT_LID_OPEN = 2,\n\tEC_HOST_EVENT_POWER_BUTTON = 3,\n\tEC_HOST_EVENT_AC_CONNECTED = 4,\n\tEC_HOST_EVENT_AC_DISCONNECTED = 5,\n\tEC_HOST_EVENT_BATTERY_LOW = 6,\n\tEC_HOST_EVENT_BATTERY_CRITICAL = 7,\n\tEC_HOST_EVENT_BATTERY = 8,\n\tEC_HOST_EVENT_THERMAL_THRESHOLD = 9,\n\tEC_HOST_EVENT_DEVICE = 10,\n\tEC_HOST_EVENT_THERMAL = 11,\n\tEC_HOST_EVENT_USB_CHARGER = 12,\n\tEC_HOST_EVENT_KEY_PRESSED = 13,\n\tEC_HOST_EVENT_INTERFACE_READY = 14,\n\tEC_HOST_EVENT_KEYBOARD_RECOVERY = 15,\n\tEC_HOST_EVENT_THERMAL_SHUTDOWN = 16,\n\tEC_HOST_EVENT_BATTERY_SHUTDOWN = 17,\n\tEC_HOST_EVENT_THROTTLE_START = 18,\n\tEC_HOST_EVENT_THROTTLE_STOP = 19,\n\tEC_HOST_EVENT_HANG_DETECT = 20,\n\tEC_HOST_EVENT_HANG_REBOOT = 21,\n\tEC_HOST_EVENT_PD_MCU = 22,\n\tEC_HOST_EVENT_BATTERY_STATUS = 23,\n\tEC_HOST_EVENT_PANIC = 24,\n\tEC_HOST_EVENT_KEYBOARD_FASTBOOT = 25,\n\tEC_HOST_EVENT_RTC = 26,\n\tEC_HOST_EVENT_MKBP = 27,\n\tEC_HOST_EVENT_USB_MUX = 28,\n\tEC_HOST_EVENT_MODE_CHANGE = 29,\n\tEC_HOST_EVENT_KEYBOARD_RECOVERY_HW_REINIT = 30,\n\tEC_HOST_EVENT_WOV = 31,\n\tEC_HOST_EVENT_INVALID = 32,\n};\n\nenum host_sleep_event {\n\tHOST_SLEEP_EVENT_S3_SUSPEND = 1,\n\tHOST_SLEEP_EVENT_S3_RESUME = 2,\n\tHOST_SLEEP_EVENT_S0IX_SUSPEND = 3,\n\tHOST_SLEEP_EVENT_S0IX_RESUME = 4,\n\tHOST_SLEEP_EVENT_S3_WAKEABLE_SUSPEND = 5,\n};\n\nenum hp_flags_bits {\n\tHANDSHAKE_F_PROTO_NOTIFY = 0,\n};\n\nenum hprobe_state {\n\tHPROBE_LEASED = 0,\n\tHPROBE_STABLE = 1,\n\tHPROBE_GONE = 2,\n\tHPROBE_CONSUMED = 3,\n};\n\nenum hpx_type3_cfg_loc {\n\tHPX_CFG_PCICFG = 0,\n\tHPX_CFG_PCIE_CAP = 1,\n\tHPX_CFG_PCIE_CAP_EXT = 2,\n\tHPX_CFG_VEND_CAP = 3,\n\tHPX_CFG_DVSEC = 4,\n\tHPX_CFG_MAX = 5,\n};\n\nenum hpx_type3_dev_type {\n\tHPX_TYPE_ENDPOINT = 1,\n\tHPX_TYPE_LEG_END = 2,\n\tHPX_TYPE_RC_END = 4,\n\tHPX_TYPE_RC_EC = 8,\n\tHPX_TYPE_ROOT_PORT = 16,\n\tHPX_TYPE_UPSTREAM = 32,\n\tHPX_TYPE_DOWNSTREAM = 64,\n\tHPX_TYPE_PCI_BRIDGE = 128,\n\tHPX_TYPE_PCIE_BRIDGE = 256,\n};\n\nenum hpx_type3_fn_type {\n\tHPX_FN_NORMAL = 1,\n\tHPX_FN_SRIOV_PHYS = 2,\n\tHPX_FN_SRIOV_VIRT = 4,\n};\n\nenum hr_flags_bits {\n\tHANDSHAKE_F_REQ_COMPLETED = 0,\n\tHANDSHAKE_F_REQ_SESSION = 1,\n};\n\nenum hrtimer_base_type {\n\tHRTIMER_BASE_MONOTONIC = 0,\n\tHRTIMER_BASE_REALTIME = 1,\n\tHRTIMER_BASE_BOOTTIME = 2,\n\tHRTIMER_BASE_TAI = 3,\n\tHRTIMER_BASE_MONOTONIC_SOFT = 4,\n\tHRTIMER_BASE_REALTIME_SOFT = 5,\n\tHRTIMER_BASE_BOOTTIME_SOFT = 6,\n\tHRTIMER_BASE_TAI_SOFT = 7,\n\tHRTIMER_MAX_CLOCK_BASES = 8,\n};\n\nenum hrtimer_mode {\n\tHRTIMER_MODE_ABS = 0,\n\tHRTIMER_MODE_REL = 1,\n\tHRTIMER_MODE_PINNED = 2,\n\tHRTIMER_MODE_SOFT = 4,\n\tHRTIMER_MODE_HARD = 8,\n\tHRTIMER_MODE_ABS_PINNED = 2,\n\tHRTIMER_MODE_REL_PINNED = 3,\n\tHRTIMER_MODE_ABS_SOFT = 4,\n\tHRTIMER_MODE_REL_SOFT = 5,\n\tHRTIMER_MODE_ABS_PINNED_SOFT = 6,\n\tHRTIMER_MODE_REL_PINNED_SOFT = 7,\n\tHRTIMER_MODE_ABS_HARD = 8,\n\tHRTIMER_MODE_REL_HARD = 9,\n\tHRTIMER_MODE_ABS_PINNED_HARD = 10,\n\tHRTIMER_MODE_REL_PINNED_HARD = 11,\n};\n\nenum hrtimer_restart {\n\tHRTIMER_NORESTART = 0,\n\tHRTIMER_RESTART = 1,\n};\n\nenum hsm_task_states {\n\tHSM_ST_IDLE = 0,\n\tHSM_ST_FIRST = 1,\n\tHSM_ST = 2,\n\tHSM_ST_LAST = 3,\n\tHSM_ST_ERR = 4,\n};\n\nenum hte_edge {\n\tHTE_EDGE_NO_SETUP = 1,\n\tHTE_RISING_EDGE_TS = 2,\n\tHTE_FALLING_EDGE_TS = 4,\n};\n\nenum hte_return {\n\tHTE_CB_HANDLED = 0,\n\tHTE_RUN_SECOND_CB = 1,\n};\n\nenum hub_activation_type {\n\tHUB_INIT = 0,\n\tHUB_INIT2 = 1,\n\tHUB_INIT3 = 2,\n\tHUB_POST_RESET = 3,\n\tHUB_RESUME = 4,\n\tHUB_RESET_RESUME = 5,\n};\n\nenum hub_led_mode {\n\tINDICATOR_AUTO = 0,\n\tINDICATOR_CYCLE = 1,\n\tINDICATOR_GREEN_BLINK = 2,\n\tINDICATOR_GREEN_BLINK_OFF = 3,\n\tINDICATOR_AMBER_BLINK = 4,\n\tINDICATOR_AMBER_BLINK_OFF = 5,\n\tINDICATOR_ALT_BLINK = 6,\n\tINDICATOR_ALT_BLINK_OFF = 7,\n} __attribute__((mode(byte)));\n\nenum hub_quiescing_type {\n\tHUB_DISCONNECT = 0,\n\tHUB_PRE_RESET = 1,\n\tHUB_SUSPEND = 2,\n};\n\nenum hugetlb_memory_event {\n\tHUGETLB_MAX = 0,\n\tHUGETLB_NR_MEMORY_EVENTS = 1,\n};\n\nenum hugetlb_page_flags {\n\tHPG_restore_reserve = 0,\n\tHPG_migratable = 1,\n\tHPG_temporary = 2,\n\tHPG_freed = 3,\n\tHPG_vmemmap_optimized = 4,\n\tHPG_raw_hwp_unreliable = 5,\n\t__NR_HPAGEFLAGS = 6,\n};\n\nenum hugetlb_param {\n\tOpt_gid___7 = 0,\n\tOpt_min_size = 1,\n\tOpt_mode___4 = 2,\n\tOpt_nr_inodes = 3,\n\tOpt_pagesize = 4,\n\tOpt_size = 5,\n\tOpt_uid___7 = 6,\n};\n\nenum hugetlbfs_size_type {\n\tNO_SIZE = 0,\n\tSIZE_STD = 1,\n\tSIZE_PERCENT = 2,\n};\n\nenum hw_breakpoint_ops {\n\tHW_BREAKPOINT_INSTALL = 0,\n\tHW_BREAKPOINT_UNINSTALL = 1,\n\tHW_BREAKPOINT_RESTORE = 2,\n};\n\nenum hw_event_mc_err_type {\n\tHW_EVENT_ERR_CORRECTED = 0,\n\tHW_EVENT_ERR_UNCORRECTED = 1,\n\tHW_EVENT_ERR_DEFERRED = 2,\n\tHW_EVENT_ERR_FATAL = 3,\n\tHW_EVENT_ERR_INFO = 4,\n};\n\nenum hwmon_chip_attributes {\n\thwmon_chip_temp_reset_history = 0,\n\thwmon_chip_in_reset_history = 1,\n\thwmon_chip_curr_reset_history = 2,\n\thwmon_chip_power_reset_history = 3,\n\thwmon_chip_register_tz = 4,\n\thwmon_chip_update_interval = 5,\n\thwmon_chip_alarms = 6,\n\thwmon_chip_samples = 7,\n\thwmon_chip_curr_samples = 8,\n\thwmon_chip_in_samples = 9,\n\thwmon_chip_power_samples = 10,\n\thwmon_chip_temp_samples = 11,\n\thwmon_chip_beep_enable = 12,\n\thwmon_chip_pec = 13,\n};\n\nenum hwmon_curr_attributes {\n\thwmon_curr_enable = 0,\n\thwmon_curr_input = 1,\n\thwmon_curr_min = 2,\n\thwmon_curr_max = 3,\n\thwmon_curr_lcrit = 4,\n\thwmon_curr_crit = 5,\n\thwmon_curr_average = 6,\n\thwmon_curr_lowest = 7,\n\thwmon_curr_highest = 8,\n\thwmon_curr_reset_history = 9,\n\thwmon_curr_label = 10,\n\thwmon_curr_alarm = 11,\n\thwmon_curr_min_alarm = 12,\n\thwmon_curr_max_alarm = 13,\n\thwmon_curr_lcrit_alarm = 14,\n\thwmon_curr_crit_alarm = 15,\n\thwmon_curr_rated_min = 16,\n\thwmon_curr_rated_max = 17,\n\thwmon_curr_beep = 18,\n};\n\nenum hwmon_energy_attributes {\n\thwmon_energy_enable = 0,\n\thwmon_energy_input = 1,\n\thwmon_energy_label = 2,\n};\n\nenum hwmon_fan_attributes {\n\thwmon_fan_enable = 0,\n\thwmon_fan_input = 1,\n\thwmon_fan_label = 2,\n\thwmon_fan_min = 3,\n\thwmon_fan_max = 4,\n\thwmon_fan_div = 5,\n\thwmon_fan_pulses = 6,\n\thwmon_fan_target = 7,\n\thwmon_fan_alarm = 8,\n\thwmon_fan_min_alarm = 9,\n\thwmon_fan_max_alarm = 10,\n\thwmon_fan_fault = 11,\n\thwmon_fan_beep = 12,\n};\n\nenum hwmon_humidity_attributes {\n\thwmon_humidity_enable = 0,\n\thwmon_humidity_input = 1,\n\thwmon_humidity_label = 2,\n\thwmon_humidity_min = 3,\n\thwmon_humidity_min_hyst = 4,\n\thwmon_humidity_max = 5,\n\thwmon_humidity_max_hyst = 6,\n\thwmon_humidity_alarm = 7,\n\thwmon_humidity_fault = 8,\n\thwmon_humidity_rated_min = 9,\n\thwmon_humidity_rated_max = 10,\n\thwmon_humidity_min_alarm = 11,\n\thwmon_humidity_max_alarm = 12,\n};\n\nenum hwmon_in_attributes {\n\thwmon_in_enable = 0,\n\thwmon_in_input = 1,\n\thwmon_in_min = 2,\n\thwmon_in_max = 3,\n\thwmon_in_lcrit = 4,\n\thwmon_in_crit = 5,\n\thwmon_in_average = 6,\n\thwmon_in_lowest = 7,\n\thwmon_in_highest = 8,\n\thwmon_in_reset_history = 9,\n\thwmon_in_label = 10,\n\thwmon_in_alarm = 11,\n\thwmon_in_min_alarm = 12,\n\thwmon_in_max_alarm = 13,\n\thwmon_in_lcrit_alarm = 14,\n\thwmon_in_crit_alarm = 15,\n\thwmon_in_rated_min = 16,\n\thwmon_in_rated_max = 17,\n\thwmon_in_beep = 18,\n\thwmon_in_fault = 19,\n};\n\nenum hwmon_intrusion_attributes {\n\thwmon_intrusion_alarm = 0,\n\thwmon_intrusion_beep = 1,\n};\n\nenum hwmon_power_attributes {\n\thwmon_power_enable = 0,\n\thwmon_power_average = 1,\n\thwmon_power_average_interval = 2,\n\thwmon_power_average_interval_max = 3,\n\thwmon_power_average_interval_min = 4,\n\thwmon_power_average_highest = 5,\n\thwmon_power_average_lowest = 6,\n\thwmon_power_average_max = 7,\n\thwmon_power_average_min = 8,\n\thwmon_power_input = 9,\n\thwmon_power_input_highest = 10,\n\thwmon_power_input_lowest = 11,\n\thwmon_power_reset_history = 12,\n\thwmon_power_accuracy = 13,\n\thwmon_power_cap = 14,\n\thwmon_power_cap_hyst = 15,\n\thwmon_power_cap_max = 16,\n\thwmon_power_cap_min = 17,\n\thwmon_power_min = 18,\n\thwmon_power_max = 19,\n\thwmon_power_crit = 20,\n\thwmon_power_lcrit = 21,\n\thwmon_power_label = 22,\n\thwmon_power_alarm = 23,\n\thwmon_power_cap_alarm = 24,\n\thwmon_power_min_alarm = 25,\n\thwmon_power_max_alarm = 26,\n\thwmon_power_lcrit_alarm = 27,\n\thwmon_power_crit_alarm = 28,\n\thwmon_power_rated_min = 29,\n\thwmon_power_rated_max = 30,\n};\n\nenum hwmon_pwm_attributes {\n\thwmon_pwm_input = 0,\n\thwmon_pwm_enable = 1,\n\thwmon_pwm_mode = 2,\n\thwmon_pwm_freq = 3,\n\thwmon_pwm_auto_channels_temp = 4,\n};\n\nenum hwmon_sensor_types {\n\thwmon_chip = 0,\n\thwmon_temp = 1,\n\thwmon_in = 2,\n\thwmon_curr = 3,\n\thwmon_power = 4,\n\thwmon_energy = 5,\n\thwmon_humidity = 6,\n\thwmon_fan = 7,\n\thwmon_pwm = 8,\n\thwmon_intrusion = 9,\n\thwmon_max = 10,\n};\n\nenum hwmon_temp_attributes {\n\thwmon_temp_enable = 0,\n\thwmon_temp_input = 1,\n\thwmon_temp_type = 2,\n\thwmon_temp_lcrit = 3,\n\thwmon_temp_lcrit_hyst = 4,\n\thwmon_temp_min = 5,\n\thwmon_temp_min_hyst = 6,\n\thwmon_temp_max = 7,\n\thwmon_temp_max_hyst = 8,\n\thwmon_temp_crit = 9,\n\thwmon_temp_crit_hyst = 10,\n\thwmon_temp_emergency = 11,\n\thwmon_temp_emergency_hyst = 12,\n\thwmon_temp_alarm = 13,\n\thwmon_temp_lcrit_alarm = 14,\n\thwmon_temp_min_alarm = 15,\n\thwmon_temp_max_alarm = 16,\n\thwmon_temp_crit_alarm = 17,\n\thwmon_temp_emergency_alarm = 18,\n\thwmon_temp_fault = 19,\n\thwmon_temp_offset = 20,\n\thwmon_temp_label = 21,\n\thwmon_temp_lowest = 22,\n\thwmon_temp_highest = 23,\n\thwmon_temp_reset_history = 24,\n\thwmon_temp_rated_min = 25,\n\thwmon_temp_rated_max = 26,\n\thwmon_temp_beep = 27,\n};\n\nenum hwparam_type {\n\thwparam_ioport = 0,\n\thwparam_iomem = 1,\n\thwparam_ioport_or_iomem = 2,\n\thwparam_irq = 3,\n\thwparam_dma = 4,\n\thwparam_dma_addr = 5,\n\thwparam_other = 6,\n};\n\nenum hwtstamp_flags {\n\tHWTSTAMP_FLAG_BONDED_PHC_INDEX = 1,\n\tHWTSTAMP_FLAG_LAST = 1,\n\tHWTSTAMP_FLAG_MASK = 1,\n};\n\nenum hwtstamp_provider_qualifier {\n\tHWTSTAMP_PROVIDER_QUALIFIER_PRECISE = 0,\n\tHWTSTAMP_PROVIDER_QUALIFIER_APPROX = 1,\n\tHWTSTAMP_PROVIDER_QUALIFIER_CNT = 2,\n};\n\nenum hwtstamp_rx_filters {\n\tHWTSTAMP_FILTER_NONE = 0,\n\tHWTSTAMP_FILTER_ALL = 1,\n\tHWTSTAMP_FILTER_SOME = 2,\n\tHWTSTAMP_FILTER_PTP_V1_L4_EVENT = 3,\n\tHWTSTAMP_FILTER_PTP_V1_L4_SYNC = 4,\n\tHWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ = 5,\n\tHWTSTAMP_FILTER_PTP_V2_L4_EVENT = 6,\n\tHWTSTAMP_FILTER_PTP_V2_L4_SYNC = 7,\n\tHWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ = 8,\n\tHWTSTAMP_FILTER_PTP_V2_L2_EVENT = 9,\n\tHWTSTAMP_FILTER_PTP_V2_L2_SYNC = 10,\n\tHWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ = 11,\n\tHWTSTAMP_FILTER_PTP_V2_EVENT = 12,\n\tHWTSTAMP_FILTER_PTP_V2_SYNC = 13,\n\tHWTSTAMP_FILTER_PTP_V2_DELAY_REQ = 14,\n\tHWTSTAMP_FILTER_NTP_ALL = 15,\n\t__HWTSTAMP_FILTER_CNT = 16,\n};\n\nenum hwtstamp_source {\n\tHWTSTAMP_SOURCE_UNSPEC = 0,\n\tHWTSTAMP_SOURCE_NETDEV = 1,\n\tHWTSTAMP_SOURCE_PHYLIB = 2,\n};\n\nenum hwtstamp_tx_types {\n\tHWTSTAMP_TX_OFF = 0,\n\tHWTSTAMP_TX_ON = 1,\n\tHWTSTAMP_TX_ONESTEP_SYNC = 2,\n\tHWTSTAMP_TX_ONESTEP_P2P = 3,\n\t__HWTSTAMP_TX_CNT = 4,\n};\n\nenum i2c_alert_protocol {\n\tI2C_PROTOCOL_SMBUS_ALERT = 0,\n\tI2C_PROTOCOL_SMBUS_HOST_NOTIFY = 1,\n};\n\nenum i2c_chip_type {\n\tSLB9635 = 0,\n\tSLB9645 = 1,\n\tUNKNOWN = 2,\n};\n\nenum i2c_driver_flags {\n\tI2C_DRV_ACPI_WAIVE_D0_PROBE = 1,\n};\n\nenum i2c_mt65xx_clks {\n\tI2C_MT65XX_CLK_MAIN = 0,\n\tI2C_MT65XX_CLK_DMA = 1,\n\tI2C_MT65XX_CLK_PMIC = 2,\n\tI2C_MT65XX_CLK_ARB = 3,\n\tI2C_MT65XX_CLK_MAX = 4,\n};\n\nenum i2c_slave_event {\n\tI2C_SLAVE_READ_REQUESTED = 0,\n\tI2C_SLAVE_WRITE_REQUESTED = 1,\n\tI2C_SLAVE_READ_PROCESSED = 2,\n\tI2C_SLAVE_WRITE_RECEIVED = 3,\n\tI2C_SLAVE_STOP = 4,\n};\n\nenum i2c_slave_read_status {\n\tI2C_SLAVE_RX_FIFO_EMPTY = 0,\n\tI2C_SLAVE_RX_START = 1,\n\tI2C_SLAVE_RX_DATA = 2,\n\tI2C_SLAVE_RX_END = 3,\n};\n\nenum i2c_type_exynos {\n\tI2C_TYPE_EXYNOS5 = 0,\n\tI2C_TYPE_EXYNOS7 = 1,\n\tI2C_TYPE_EXYNOSAUTOV9 = 2,\n\tI2C_TYPE_EXYNOS8895 = 3,\n};\n\nenum ib_atomic_cap {\n\tIB_ATOMIC_NONE = 0,\n\tIB_ATOMIC_HCA = 1,\n\tIB_ATOMIC_GLOB = 2,\n};\n\nenum ib_cq_notify_flags {\n\tIB_CQ_SOLICITED = 1,\n\tIB_CQ_NEXT_COMP = 2,\n\tIB_CQ_SOLICITED_MASK = 3,\n\tIB_CQ_REPORT_MISSED_EVENTS = 4,\n};\n\nenum ib_event_type {\n\tIB_EVENT_CQ_ERR = 0,\n\tIB_EVENT_QP_FATAL = 1,\n\tIB_EVENT_QP_REQ_ERR = 2,\n\tIB_EVENT_QP_ACCESS_ERR = 3,\n\tIB_EVENT_COMM_EST = 4,\n\tIB_EVENT_SQ_DRAINED = 5,\n\tIB_EVENT_PATH_MIG = 6,\n\tIB_EVENT_PATH_MIG_ERR = 7,\n\tIB_EVENT_DEVICE_FATAL = 8,\n\tIB_EVENT_PORT_ACTIVE = 9,\n\tIB_EVENT_PORT_ERR = 10,\n\tIB_EVENT_LID_CHANGE = 11,\n\tIB_EVENT_PKEY_CHANGE = 12,\n\tIB_EVENT_SM_CHANGE = 13,\n\tIB_EVENT_SRQ_ERR = 14,\n\tIB_EVENT_SRQ_LIMIT_REACHED = 15,\n\tIB_EVENT_QP_LAST_WQE_REACHED = 16,\n\tIB_EVENT_CLIENT_REREGISTER = 17,\n\tIB_EVENT_GID_CHANGE = 18,\n\tIB_EVENT_WQ_FATAL = 19,\n};\n\nenum ib_flow_action_type {\n\tIB_FLOW_ACTION_UNSPECIFIED = 0,\n\tIB_FLOW_ACTION_ESP = 1,\n};\n\nenum ib_flow_attr_type {\n\tIB_FLOW_ATTR_NORMAL = 0,\n\tIB_FLOW_ATTR_ALL_DEFAULT = 1,\n\tIB_FLOW_ATTR_MC_DEFAULT = 2,\n\tIB_FLOW_ATTR_SNIFFER = 3,\n};\n\nenum ib_flow_spec_type {\n\tIB_FLOW_SPEC_ETH = 32,\n\tIB_FLOW_SPEC_IB = 34,\n\tIB_FLOW_SPEC_IPV4 = 48,\n\tIB_FLOW_SPEC_IPV6 = 49,\n\tIB_FLOW_SPEC_ESP = 52,\n\tIB_FLOW_SPEC_TCP = 64,\n\tIB_FLOW_SPEC_UDP = 65,\n\tIB_FLOW_SPEC_VXLAN_TUNNEL = 80,\n\tIB_FLOW_SPEC_GRE = 81,\n\tIB_FLOW_SPEC_MPLS = 96,\n\tIB_FLOW_SPEC_INNER = 256,\n\tIB_FLOW_SPEC_ACTION_TAG = 4096,\n\tIB_FLOW_SPEC_ACTION_DROP = 4097,\n\tIB_FLOW_SPEC_ACTION_HANDLE = 4098,\n\tIB_FLOW_SPEC_ACTION_COUNT = 4099,\n};\n\nenum ib_gid_type {\n\tIB_GID_TYPE_IB = 0,\n\tIB_GID_TYPE_ROCE = 1,\n\tIB_GID_TYPE_ROCE_UDP_ENCAP = 2,\n\tIB_GID_TYPE_SIZE = 3,\n};\n\nenum ib_mig_state {\n\tIB_MIG_MIGRATED = 0,\n\tIB_MIG_REARM = 1,\n\tIB_MIG_ARMED = 2,\n};\n\nenum ib_mr_type {\n\tIB_MR_TYPE_MEM_REG = 0,\n\tIB_MR_TYPE_SG_GAPS = 1,\n\tIB_MR_TYPE_DM = 2,\n\tIB_MR_TYPE_USER = 3,\n\tIB_MR_TYPE_DMA = 4,\n\tIB_MR_TYPE_INTEGRITY = 5,\n};\n\nenum ib_mtu {\n\tIB_MTU_256 = 1,\n\tIB_MTU_512 = 2,\n\tIB_MTU_1024 = 3,\n\tIB_MTU_2048 = 4,\n\tIB_MTU_4096 = 5,\n};\n\nenum ib_mw_type {\n\tIB_MW_TYPE_1 = 1,\n\tIB_MW_TYPE_2 = 2,\n};\n\nenum ib_poll_context {\n\tIB_POLL_SOFTIRQ = 0,\n\tIB_POLL_WORKQUEUE = 1,\n\tIB_POLL_UNBOUND_WORKQUEUE = 2,\n\tIB_POLL_LAST_POOL_TYPE = 2,\n\tIB_POLL_DIRECT = 3,\n};\n\nenum ib_port_state {\n\tIB_PORT_NOP = 0,\n\tIB_PORT_DOWN = 1,\n\tIB_PORT_INIT = 2,\n\tIB_PORT_ARMED = 3,\n\tIB_PORT_ACTIVE = 4,\n\tIB_PORT_ACTIVE_DEFER = 5,\n};\n\nenum ib_qp_state {\n\tIB_QPS_RESET = 0,\n\tIB_QPS_INIT = 1,\n\tIB_QPS_RTR = 2,\n\tIB_QPS_RTS = 3,\n\tIB_QPS_SQD = 4,\n\tIB_QPS_SQE = 5,\n\tIB_QPS_ERR = 6,\n};\n\nenum ib_qp_type {\n\tIB_QPT_SMI = 0,\n\tIB_QPT_GSI = 1,\n\tIB_QPT_RC = 2,\n\tIB_QPT_UC = 3,\n\tIB_QPT_UD = 4,\n\tIB_QPT_RAW_IPV6 = 5,\n\tIB_QPT_RAW_ETHERTYPE = 6,\n\tIB_QPT_RAW_PACKET = 8,\n\tIB_QPT_XRC_INI = 9,\n\tIB_QPT_XRC_TGT = 10,\n\tIB_QPT_MAX = 11,\n\tIB_QPT_DRIVER = 255,\n\tIB_QPT_RESERVED1 = 4096,\n\tIB_QPT_RESERVED2 = 4097,\n\tIB_QPT_RESERVED3 = 4098,\n\tIB_QPT_RESERVED4 = 4099,\n\tIB_QPT_RESERVED5 = 4100,\n\tIB_QPT_RESERVED6 = 4101,\n\tIB_QPT_RESERVED7 = 4102,\n\tIB_QPT_RESERVED8 = 4103,\n\tIB_QPT_RESERVED9 = 4104,\n\tIB_QPT_RESERVED10 = 4105,\n};\n\nenum ib_sig_err_type {\n\tIB_SIG_BAD_GUARD = 0,\n\tIB_SIG_BAD_REFTAG = 1,\n\tIB_SIG_BAD_APPTAG = 2,\n};\n\nenum ib_sig_type {\n\tIB_SIGNAL_ALL_WR = 0,\n\tIB_SIGNAL_REQ_WR = 1,\n};\n\nenum ib_signature_type {\n\tIB_SIG_TYPE_NONE = 0,\n\tIB_SIG_TYPE_T10_DIF = 1,\n};\n\nenum ib_srq_attr_mask {\n\tIB_SRQ_MAX_WR = 1,\n\tIB_SRQ_LIMIT = 2,\n};\n\nenum ib_srq_type {\n\tIB_SRQT_BASIC = 0,\n\tIB_SRQT_XRC = 1,\n\tIB_SRQT_TM = 2,\n};\n\nenum ib_t10_dif_bg_type {\n\tIB_T10DIF_CRC = 0,\n\tIB_T10DIF_CSUM = 1,\n};\n\nenum ib_uverbs_access_flags {\n\tIB_UVERBS_ACCESS_LOCAL_WRITE = 1,\n\tIB_UVERBS_ACCESS_REMOTE_WRITE = 2,\n\tIB_UVERBS_ACCESS_REMOTE_READ = 4,\n\tIB_UVERBS_ACCESS_REMOTE_ATOMIC = 8,\n\tIB_UVERBS_ACCESS_MW_BIND = 16,\n\tIB_UVERBS_ACCESS_ZERO_BASED = 32,\n\tIB_UVERBS_ACCESS_ON_DEMAND = 64,\n\tIB_UVERBS_ACCESS_HUGETLB = 128,\n\tIB_UVERBS_ACCESS_FLUSH_GLOBAL = 256,\n\tIB_UVERBS_ACCESS_FLUSH_PERSISTENT = 512,\n\tIB_UVERBS_ACCESS_RELAXED_ORDERING = 1048576,\n\tIB_UVERBS_ACCESS_OPTIONAL_RANGE = 1072693248,\n};\n\nenum ib_uverbs_advise_mr_advice {\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH = 0,\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE = 1,\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = 2,\n};\n\nenum ib_uverbs_create_qp_mask {\n\tIB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1,\n};\n\nenum ib_uverbs_device_cap_flags {\n\tIB_UVERBS_DEVICE_RESIZE_MAX_WR = 1ULL,\n\tIB_UVERBS_DEVICE_BAD_PKEY_CNTR = 2ULL,\n\tIB_UVERBS_DEVICE_BAD_QKEY_CNTR = 4ULL,\n\tIB_UVERBS_DEVICE_RAW_MULTI = 8ULL,\n\tIB_UVERBS_DEVICE_AUTO_PATH_MIG = 16ULL,\n\tIB_UVERBS_DEVICE_CHANGE_PHY_PORT = 32ULL,\n\tIB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE = 64ULL,\n\tIB_UVERBS_DEVICE_CURR_QP_STATE_MOD = 128ULL,\n\tIB_UVERBS_DEVICE_SHUTDOWN_PORT = 256ULL,\n\tIB_UVERBS_DEVICE_PORT_ACTIVE_EVENT = 1024ULL,\n\tIB_UVERBS_DEVICE_SYS_IMAGE_GUID = 2048ULL,\n\tIB_UVERBS_DEVICE_RC_RNR_NAK_GEN = 4096ULL,\n\tIB_UVERBS_DEVICE_SRQ_RESIZE = 8192ULL,\n\tIB_UVERBS_DEVICE_N_NOTIFY_CQ = 16384ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW = 131072ULL,\n\tIB_UVERBS_DEVICE_UD_IP_CSUM = 262144ULL,\n\tIB_UVERBS_DEVICE_XRC = 1048576ULL,\n\tIB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS = 2097152ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A = 8388608ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B = 16777216ULL,\n\tIB_UVERBS_DEVICE_RC_IP_CSUM = 33554432ULL,\n\tIB_UVERBS_DEVICE_RAW_IP_CSUM = 67108864ULL,\n\tIB_UVERBS_DEVICE_MANAGED_FLOW_STEERING = 536870912ULL,\n\tIB_UVERBS_DEVICE_RAW_SCATTER_FCS = 17179869184ULL,\n\tIB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = 68719476736ULL,\n\tIB_UVERBS_DEVICE_FLUSH_GLOBAL = 274877906944ULL,\n\tIB_UVERBS_DEVICE_FLUSH_PERSISTENT = 549755813888ULL,\n\tIB_UVERBS_DEVICE_ATOMIC_WRITE = 1099511627776ULL,\n};\n\nenum ib_uverbs_gid_type {\n\tIB_UVERBS_GID_TYPE_IB = 0,\n\tIB_UVERBS_GID_TYPE_ROCE_V1 = 1,\n\tIB_UVERBS_GID_TYPE_ROCE_V2 = 2,\n};\n\nenum ib_uverbs_qp_create_flags {\n\tIB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 2,\n\tIB_UVERBS_QP_CREATE_SCATTER_FCS = 256,\n\tIB_UVERBS_QP_CREATE_CVLAN_STRIPPING = 512,\n\tIB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = 2048,\n\tIB_UVERBS_QP_CREATE_SQ_SIG_ALL = 4096,\n};\n\nenum ib_uverbs_qp_type {\n\tIB_UVERBS_QPT_RC = 2,\n\tIB_UVERBS_QPT_UC = 3,\n\tIB_UVERBS_QPT_UD = 4,\n\tIB_UVERBS_QPT_RAW_PACKET = 8,\n\tIB_UVERBS_QPT_XRC_INI = 9,\n\tIB_UVERBS_QPT_XRC_TGT = 10,\n\tIB_UVERBS_QPT_DRIVER = 255,\n};\n\nenum ib_uverbs_raw_packet_caps {\n\tIB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING = 1,\n\tIB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS = 2,\n\tIB_UVERBS_RAW_PACKET_CAP_IP_CSUM = 4,\n\tIB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = 8,\n};\n\nenum ib_uverbs_srq_type {\n\tIB_UVERBS_SRQT_BASIC = 0,\n\tIB_UVERBS_SRQT_XRC = 1,\n\tIB_UVERBS_SRQT_TM = 2,\n};\n\nenum ib_uverbs_wc_opcode {\n\tIB_UVERBS_WC_SEND = 0,\n\tIB_UVERBS_WC_RDMA_WRITE = 1,\n\tIB_UVERBS_WC_RDMA_READ = 2,\n\tIB_UVERBS_WC_COMP_SWAP = 3,\n\tIB_UVERBS_WC_FETCH_ADD = 4,\n\tIB_UVERBS_WC_BIND_MW = 5,\n\tIB_UVERBS_WC_LOCAL_INV = 6,\n\tIB_UVERBS_WC_TSO = 7,\n\tIB_UVERBS_WC_FLUSH = 8,\n\tIB_UVERBS_WC_ATOMIC_WRITE = 9,\n};\n\nenum ib_uverbs_wq_flags {\n\tIB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = 1,\n\tIB_UVERBS_WQ_FLAGS_SCATTER_FCS = 2,\n\tIB_UVERBS_WQ_FLAGS_DELAY_DROP = 4,\n\tIB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = 8,\n};\n\nenum ib_uverbs_wq_type {\n\tIB_UVERBS_WQT_RQ = 0,\n};\n\nenum ib_uverbs_wr_opcode {\n\tIB_UVERBS_WR_RDMA_WRITE = 0,\n\tIB_UVERBS_WR_RDMA_WRITE_WITH_IMM = 1,\n\tIB_UVERBS_WR_SEND = 2,\n\tIB_UVERBS_WR_SEND_WITH_IMM = 3,\n\tIB_UVERBS_WR_RDMA_READ = 4,\n\tIB_UVERBS_WR_ATOMIC_CMP_AND_SWP = 5,\n\tIB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = 6,\n\tIB_UVERBS_WR_LOCAL_INV = 7,\n\tIB_UVERBS_WR_BIND_MW = 8,\n\tIB_UVERBS_WR_SEND_WITH_INV = 9,\n\tIB_UVERBS_WR_TSO = 10,\n\tIB_UVERBS_WR_RDMA_READ_WITH_INV = 11,\n\tIB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12,\n\tIB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13,\n\tIB_UVERBS_WR_FLUSH = 14,\n\tIB_UVERBS_WR_ATOMIC_WRITE = 15,\n};\n\nenum ib_uverbs_write_cmds {\n\tIB_USER_VERBS_CMD_GET_CONTEXT = 0,\n\tIB_USER_VERBS_CMD_QUERY_DEVICE = 1,\n\tIB_USER_VERBS_CMD_QUERY_PORT = 2,\n\tIB_USER_VERBS_CMD_ALLOC_PD = 3,\n\tIB_USER_VERBS_CMD_DEALLOC_PD = 4,\n\tIB_USER_VERBS_CMD_CREATE_AH = 5,\n\tIB_USER_VERBS_CMD_MODIFY_AH = 6,\n\tIB_USER_VERBS_CMD_QUERY_AH = 7,\n\tIB_USER_VERBS_CMD_DESTROY_AH = 8,\n\tIB_USER_VERBS_CMD_REG_MR = 9,\n\tIB_USER_VERBS_CMD_REG_SMR = 10,\n\tIB_USER_VERBS_CMD_REREG_MR = 11,\n\tIB_USER_VERBS_CMD_QUERY_MR = 12,\n\tIB_USER_VERBS_CMD_DEREG_MR = 13,\n\tIB_USER_VERBS_CMD_ALLOC_MW = 14,\n\tIB_USER_VERBS_CMD_BIND_MW = 15,\n\tIB_USER_VERBS_CMD_DEALLOC_MW = 16,\n\tIB_USER_VERBS_CMD_CREATE_COMP_CHANNEL = 17,\n\tIB_USER_VERBS_CMD_CREATE_CQ = 18,\n\tIB_USER_VERBS_CMD_RESIZE_CQ = 19,\n\tIB_USER_VERBS_CMD_DESTROY_CQ = 20,\n\tIB_USER_VERBS_CMD_POLL_CQ = 21,\n\tIB_USER_VERBS_CMD_PEEK_CQ = 22,\n\tIB_USER_VERBS_CMD_REQ_NOTIFY_CQ = 23,\n\tIB_USER_VERBS_CMD_CREATE_QP = 24,\n\tIB_USER_VERBS_CMD_QUERY_QP = 25,\n\tIB_USER_VERBS_CMD_MODIFY_QP = 26,\n\tIB_USER_VERBS_CMD_DESTROY_QP = 27,\n\tIB_USER_VERBS_CMD_POST_SEND = 28,\n\tIB_USER_VERBS_CMD_POST_RECV = 29,\n\tIB_USER_VERBS_CMD_ATTACH_MCAST = 30,\n\tIB_USER_VERBS_CMD_DETACH_MCAST = 31,\n\tIB_USER_VERBS_CMD_CREATE_SRQ = 32,\n\tIB_USER_VERBS_CMD_MODIFY_SRQ = 33,\n\tIB_USER_VERBS_CMD_QUERY_SRQ = 34,\n\tIB_USER_VERBS_CMD_DESTROY_SRQ = 35,\n\tIB_USER_VERBS_CMD_POST_SRQ_RECV = 36,\n\tIB_USER_VERBS_CMD_OPEN_XRCD = 37,\n\tIB_USER_VERBS_CMD_CLOSE_XRCD = 38,\n\tIB_USER_VERBS_CMD_CREATE_XSRQ = 39,\n\tIB_USER_VERBS_CMD_OPEN_QP = 40,\n};\n\nenum ib_wc_opcode {\n\tIB_WC_SEND = 0,\n\tIB_WC_RDMA_WRITE = 1,\n\tIB_WC_RDMA_READ = 2,\n\tIB_WC_COMP_SWAP = 3,\n\tIB_WC_FETCH_ADD = 4,\n\tIB_WC_BIND_MW = 5,\n\tIB_WC_LOCAL_INV = 6,\n\tIB_WC_LSO = 7,\n\tIB_WC_ATOMIC_WRITE = 9,\n\tIB_WC_REG_MR = 10,\n\tIB_WC_MASKED_COMP_SWAP = 11,\n\tIB_WC_MASKED_FETCH_ADD = 12,\n\tIB_WC_FLUSH = 8,\n\tIB_WC_RECV = 128,\n\tIB_WC_RECV_RDMA_WITH_IMM = 129,\n};\n\nenum ib_wc_status {\n\tIB_WC_SUCCESS = 0,\n\tIB_WC_LOC_LEN_ERR = 1,\n\tIB_WC_LOC_QP_OP_ERR = 2,\n\tIB_WC_LOC_EEC_OP_ERR = 3,\n\tIB_WC_LOC_PROT_ERR = 4,\n\tIB_WC_WR_FLUSH_ERR = 5,\n\tIB_WC_MW_BIND_ERR = 6,\n\tIB_WC_BAD_RESP_ERR = 7,\n\tIB_WC_LOC_ACCESS_ERR = 8,\n\tIB_WC_REM_INV_REQ_ERR = 9,\n\tIB_WC_REM_ACCESS_ERR = 10,\n\tIB_WC_REM_OP_ERR = 11,\n\tIB_WC_RETRY_EXC_ERR = 12,\n\tIB_WC_RNR_RETRY_EXC_ERR = 13,\n\tIB_WC_LOC_RDD_VIOL_ERR = 14,\n\tIB_WC_REM_INV_RD_REQ_ERR = 15,\n\tIB_WC_REM_ABORT_ERR = 16,\n\tIB_WC_INV_EECN_ERR = 17,\n\tIB_WC_INV_EEC_STATE_ERR = 18,\n\tIB_WC_FATAL_ERR = 19,\n\tIB_WC_RESP_TIMEOUT_ERR = 20,\n\tIB_WC_GENERAL_ERR = 21,\n};\n\nenum ib_wq_state {\n\tIB_WQS_RESET = 0,\n\tIB_WQS_RDY = 1,\n\tIB_WQS_ERR = 2,\n};\n\nenum ib_wq_type {\n\tIB_WQT_RQ = 0,\n};\n\nenum ib_wr_opcode {\n\tIB_WR_RDMA_WRITE = 0,\n\tIB_WR_RDMA_WRITE_WITH_IMM = 1,\n\tIB_WR_SEND = 2,\n\tIB_WR_SEND_WITH_IMM = 3,\n\tIB_WR_RDMA_READ = 4,\n\tIB_WR_ATOMIC_CMP_AND_SWP = 5,\n\tIB_WR_ATOMIC_FETCH_AND_ADD = 6,\n\tIB_WR_BIND_MW = 8,\n\tIB_WR_LSO = 10,\n\tIB_WR_SEND_WITH_INV = 9,\n\tIB_WR_RDMA_READ_WITH_INV = 11,\n\tIB_WR_LOCAL_INV = 7,\n\tIB_WR_MASKED_ATOMIC_CMP_AND_SWP = 12,\n\tIB_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13,\n\tIB_WR_FLUSH = 14,\n\tIB_WR_ATOMIC_WRITE = 15,\n\tIB_WR_REG_MR = 32,\n\tIB_WR_REG_MR_INTEGRITY = 33,\n\tIB_WR_RESERVED1 = 240,\n\tIB_WR_RESERVED2 = 241,\n\tIB_WR_RESERVED3 = 242,\n\tIB_WR_RESERVED4 = 243,\n\tIB_WR_RESERVED5 = 244,\n\tIB_WR_RESERVED6 = 245,\n\tIB_WR_RESERVED7 = 246,\n\tIB_WR_RESERVED8 = 247,\n\tIB_WR_RESERVED9 = 248,\n\tIB_WR_RESERVED10 = 249,\n};\n\nenum ifc_nand_fir_opcodes {\n\tIFC_FIR_OP_NOP = 0,\n\tIFC_FIR_OP_CA0 = 1,\n\tIFC_FIR_OP_CA1 = 2,\n\tIFC_FIR_OP_CA2 = 3,\n\tIFC_FIR_OP_CA3 = 4,\n\tIFC_FIR_OP_RA0 = 5,\n\tIFC_FIR_OP_RA1 = 6,\n\tIFC_FIR_OP_RA2 = 7,\n\tIFC_FIR_OP_RA3 = 8,\n\tIFC_FIR_OP_CMD0 = 9,\n\tIFC_FIR_OP_CMD1 = 10,\n\tIFC_FIR_OP_CMD2 = 11,\n\tIFC_FIR_OP_CMD3 = 12,\n\tIFC_FIR_OP_CMD4 = 13,\n\tIFC_FIR_OP_CMD5 = 14,\n\tIFC_FIR_OP_CMD6 = 15,\n\tIFC_FIR_OP_CMD7 = 16,\n\tIFC_FIR_OP_CW0 = 17,\n\tIFC_FIR_OP_CW1 = 18,\n\tIFC_FIR_OP_CW2 = 19,\n\tIFC_FIR_OP_CW3 = 20,\n\tIFC_FIR_OP_CW4 = 21,\n\tIFC_FIR_OP_CW5 = 22,\n\tIFC_FIR_OP_CW6 = 23,\n\tIFC_FIR_OP_CW7 = 24,\n\tIFC_FIR_OP_WBCD = 25,\n\tIFC_FIR_OP_RBCD = 26,\n\tIFC_FIR_OP_BTRD = 27,\n\tIFC_FIR_OP_RDSTAT = 28,\n\tIFC_FIR_OP_NWAIT = 29,\n\tIFC_FIR_OP_WFR = 30,\n\tIFC_FIR_OP_SBRD = 31,\n\tIFC_FIR_OP_UA = 32,\n\tIFC_FIR_OP_RB = 33,\n};\n\nenum igb_boards {\n\tboard_82575 = 0,\n};\n\nenum igb_diagnostics_results {\n\tTEST_REG = 0,\n\tTEST_EEP = 1,\n\tTEST_IRQ = 2,\n\tTEST_LOOP = 3,\n\tTEST_LINK = 4,\n};\n\nenum igb_filter_match_flags {\n\tIGB_FILTER_FLAG_ETHER_TYPE = 1,\n\tIGB_FILTER_FLAG_VLAN_TCI = 2,\n\tIGB_FILTER_FLAG_SRC_MAC_ADDR = 4,\n\tIGB_FILTER_FLAG_DST_MAC_ADDR = 8,\n};\n\nenum igb_tx_buf_type {\n\tIGB_TYPE_SKB = 0,\n\tIGB_TYPE_XDP = 1,\n\tIGB_TYPE_XSK = 2,\n};\n\nenum igb_tx_flags {\n\tIGB_TX_FLAGS_VLAN = 1,\n\tIGB_TX_FLAGS_TSO = 2,\n\tIGB_TX_FLAGS_TSTAMP = 4,\n\tIGB_TX_FLAGS_IPV4 = 16,\n\tIGB_TX_FLAGS_CSUM = 32,\n};\n\nenum igbvf_boards {\n\tboard_vf = 0,\n\tboard_i350_vf = 1,\n};\n\nenum igbvf_state_t {\n\t__IGBVF_TESTING = 0,\n\t__IGBVF_RESETTING = 1,\n\t__IGBVF_DOWN = 2,\n};\n\nenum iio_available_type {\n\tIIO_AVAIL_LIST = 0,\n\tIIO_AVAIL_RANGE = 1,\n};\n\nenum iio_buffer_direction {\n\tIIO_BUFFER_DIRECTION_IN = 0,\n\tIIO_BUFFER_DIRECTION_OUT = 1,\n};\n\nenum iio_chan_info_enum {\n\tIIO_CHAN_INFO_RAW = 0,\n\tIIO_CHAN_INFO_PROCESSED = 1,\n\tIIO_CHAN_INFO_SCALE = 2,\n\tIIO_CHAN_INFO_OFFSET = 3,\n\tIIO_CHAN_INFO_CALIBSCALE = 4,\n\tIIO_CHAN_INFO_CALIBBIAS = 5,\n\tIIO_CHAN_INFO_PEAK = 6,\n\tIIO_CHAN_INFO_PEAK_SCALE = 7,\n\tIIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW = 8,\n\tIIO_CHAN_INFO_AVERAGE_RAW = 9,\n\tIIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY = 10,\n\tIIO_CHAN_INFO_HIGH_PASS_FILTER_3DB_FREQUENCY = 11,\n\tIIO_CHAN_INFO_SAMP_FREQ = 12,\n\tIIO_CHAN_INFO_FREQUENCY = 13,\n\tIIO_CHAN_INFO_PHASE = 14,\n\tIIO_CHAN_INFO_HARDWAREGAIN = 15,\n\tIIO_CHAN_INFO_HYSTERESIS = 16,\n\tIIO_CHAN_INFO_HYSTERESIS_RELATIVE = 17,\n\tIIO_CHAN_INFO_INT_TIME = 18,\n\tIIO_CHAN_INFO_ENABLE = 19,\n\tIIO_CHAN_INFO_CALIBHEIGHT = 20,\n\tIIO_CHAN_INFO_CALIBWEIGHT = 21,\n\tIIO_CHAN_INFO_DEBOUNCE_COUNT = 22,\n\tIIO_CHAN_INFO_DEBOUNCE_TIME = 23,\n\tIIO_CHAN_INFO_CALIBEMISSIVITY = 24,\n\tIIO_CHAN_INFO_OVERSAMPLING_RATIO = 25,\n\tIIO_CHAN_INFO_THERMOCOUPLE_TYPE = 26,\n\tIIO_CHAN_INFO_CALIBAMBIENT = 27,\n\tIIO_CHAN_INFO_ZEROPOINT = 28,\n\tIIO_CHAN_INFO_TROUGH = 29,\n};\n\nenum iio_chan_type {\n\tIIO_VOLTAGE = 0,\n\tIIO_CURRENT = 1,\n\tIIO_POWER = 2,\n\tIIO_ACCEL = 3,\n\tIIO_ANGL_VEL = 4,\n\tIIO_MAGN = 5,\n\tIIO_LIGHT = 6,\n\tIIO_INTENSITY = 7,\n\tIIO_PROXIMITY = 8,\n\tIIO_TEMP = 9,\n\tIIO_INCLI = 10,\n\tIIO_ROT = 11,\n\tIIO_ANGL = 12,\n\tIIO_TIMESTAMP = 13,\n\tIIO_CAPACITANCE = 14,\n\tIIO_ALTVOLTAGE = 15,\n\tIIO_CCT = 16,\n\tIIO_PRESSURE = 17,\n\tIIO_HUMIDITYRELATIVE = 18,\n\tIIO_ACTIVITY = 19,\n\tIIO_STEPS = 20,\n\tIIO_ENERGY = 21,\n\tIIO_DISTANCE = 22,\n\tIIO_VELOCITY = 23,\n\tIIO_CONCENTRATION = 24,\n\tIIO_RESISTANCE = 25,\n\tIIO_PH = 26,\n\tIIO_UVINDEX = 27,\n\tIIO_ELECTRICALCONDUCTIVITY = 28,\n\tIIO_COUNT = 29,\n\tIIO_INDEX = 30,\n\tIIO_GRAVITY = 31,\n\tIIO_POSITIONRELATIVE = 32,\n\tIIO_PHASE = 33,\n\tIIO_MASSCONCENTRATION = 34,\n\tIIO_DELTA_ANGL = 35,\n\tIIO_DELTA_VELOCITY = 36,\n\tIIO_COLORTEMP = 37,\n\tIIO_CHROMATICITY = 38,\n\tIIO_ATTENTION = 39,\n};\n\nenum iio_endian {\n\tIIO_CPU = 0,\n\tIIO_BE = 1,\n\tIIO_LE = 2,\n};\n\nenum iio_event_direction {\n\tIIO_EV_DIR_EITHER = 0,\n\tIIO_EV_DIR_RISING = 1,\n\tIIO_EV_DIR_FALLING = 2,\n\tIIO_EV_DIR_NONE = 3,\n\tIIO_EV_DIR_SINGLETAP = 4,\n\tIIO_EV_DIR_DOUBLETAP = 5,\n};\n\nenum iio_event_info {\n\tIIO_EV_INFO_ENABLE = 0,\n\tIIO_EV_INFO_VALUE = 1,\n\tIIO_EV_INFO_HYSTERESIS = 2,\n\tIIO_EV_INFO_PERIOD = 3,\n\tIIO_EV_INFO_HIGH_PASS_FILTER_3DB = 4,\n\tIIO_EV_INFO_LOW_PASS_FILTER_3DB = 5,\n\tIIO_EV_INFO_TIMEOUT = 6,\n\tIIO_EV_INFO_RESET_TIMEOUT = 7,\n\tIIO_EV_INFO_TAP2_MIN_DELAY = 8,\n\tIIO_EV_INFO_RUNNING_PERIOD = 9,\n\tIIO_EV_INFO_RUNNING_COUNT = 10,\n};\n\nenum iio_event_type {\n\tIIO_EV_TYPE_THRESH = 0,\n\tIIO_EV_TYPE_MAG = 1,\n\tIIO_EV_TYPE_ROC = 2,\n\tIIO_EV_TYPE_THRESH_ADAPTIVE = 3,\n\tIIO_EV_TYPE_MAG_ADAPTIVE = 4,\n\tIIO_EV_TYPE_CHANGE = 5,\n\tIIO_EV_TYPE_MAG_REFERENCED = 6,\n\tIIO_EV_TYPE_GESTURE = 7,\n};\n\nenum iio_modifier {\n\tIIO_NO_MOD = 0,\n\tIIO_MOD_X = 1,\n\tIIO_MOD_Y = 2,\n\tIIO_MOD_Z = 3,\n\tIIO_MOD_X_AND_Y = 4,\n\tIIO_MOD_X_AND_Z = 5,\n\tIIO_MOD_Y_AND_Z = 6,\n\tIIO_MOD_X_AND_Y_AND_Z = 7,\n\tIIO_MOD_X_OR_Y = 8,\n\tIIO_MOD_X_OR_Z = 9,\n\tIIO_MOD_Y_OR_Z = 10,\n\tIIO_MOD_X_OR_Y_OR_Z = 11,\n\tIIO_MOD_LIGHT_BOTH = 12,\n\tIIO_MOD_LIGHT_IR = 13,\n\tIIO_MOD_ROOT_SUM_SQUARED_X_Y = 14,\n\tIIO_MOD_SUM_SQUARED_X_Y_Z = 15,\n\tIIO_MOD_LIGHT_CLEAR = 16,\n\tIIO_MOD_LIGHT_RED = 17,\n\tIIO_MOD_LIGHT_GREEN = 18,\n\tIIO_MOD_LIGHT_BLUE = 19,\n\tIIO_MOD_QUATERNION = 20,\n\tIIO_MOD_TEMP_AMBIENT = 21,\n\tIIO_MOD_TEMP_OBJECT = 22,\n\tIIO_MOD_NORTH_MAGN = 23,\n\tIIO_MOD_NORTH_TRUE = 24,\n\tIIO_MOD_NORTH_MAGN_TILT_COMP = 25,\n\tIIO_MOD_NORTH_TRUE_TILT_COMP = 26,\n\tIIO_MOD_RUNNING = 27,\n\tIIO_MOD_JOGGING = 28,\n\tIIO_MOD_WALKING = 29,\n\tIIO_MOD_STILL = 30,\n\tIIO_MOD_ROOT_SUM_SQUARED_X_Y_Z = 31,\n\tIIO_MOD_I = 32,\n\tIIO_MOD_Q = 33,\n\tIIO_MOD_CO2 = 34,\n\tIIO_MOD_VOC = 35,\n\tIIO_MOD_LIGHT_UV = 36,\n\tIIO_MOD_LIGHT_DUV = 37,\n\tIIO_MOD_PM1 = 38,\n\tIIO_MOD_PM2P5 = 39,\n\tIIO_MOD_PM4 = 40,\n\tIIO_MOD_PM10 = 41,\n\tIIO_MOD_ETHANOL = 42,\n\tIIO_MOD_H2 = 43,\n\tIIO_MOD_O2 = 44,\n\tIIO_MOD_LINEAR_X = 45,\n\tIIO_MOD_LINEAR_Y = 46,\n\tIIO_MOD_LINEAR_Z = 47,\n\tIIO_MOD_PITCH = 48,\n\tIIO_MOD_YAW = 49,\n\tIIO_MOD_ROLL = 50,\n\tIIO_MOD_LIGHT_UVA = 51,\n\tIIO_MOD_LIGHT_UVB = 52,\n};\n\nenum iio_shared_by {\n\tIIO_SEPARATE = 0,\n\tIIO_SHARED_BY_TYPE = 1,\n\tIIO_SHARED_BY_DIR = 2,\n\tIIO_SHARED_BY_ALL = 3,\n};\n\nenum imx7_src_registers {\n\tSRC_A7RCR0 = 4,\n\tSRC_M4RCR = 12,\n\tSRC_ERCR = 20,\n\tSRC_HSICPHY_RCR = 28,\n\tSRC_USBOPHY1_RCR = 32,\n\tSRC_USBOPHY2_RCR = 36,\n\tSRC_MIPIPHY_RCR = 40,\n\tSRC_PCIEPHY_RCR = 44,\n\tSRC_DDRC_RCR = 4096,\n};\n\nenum imx8_pcie_phy_type {\n\tIMX8MM = 0,\n\tIMX8MP = 1,\n};\n\nenum imx8mm_pads {\n\tMX8MM_PAD_RESERVE0 = 0,\n\tMX8MM_PAD_RESERVE1 = 1,\n\tMX8MM_PAD_RESERVE2 = 2,\n\tMX8MM_PAD_RESERVE3 = 3,\n\tMX8MM_PAD_RESERVE4 = 4,\n\tMX8MM_PAD_RESERVE5 = 5,\n\tMX8MM_PAD_RESERVE6 = 6,\n\tMX8MM_PAD_RESERVE7 = 7,\n\tMX8MM_PAD_RESERVE8 = 8,\n\tMX8MM_PAD_RESERVE9 = 9,\n\tMX8MM_IOMUXC_GPIO1_IO00 = 10,\n\tMX8MM_IOMUXC_GPIO1_IO01 = 11,\n\tMX8MM_IOMUXC_GPIO1_IO02 = 12,\n\tMX8MM_IOMUXC_GPIO1_IO03 = 13,\n\tMX8MM_IOMUXC_GPIO1_IO04 = 14,\n\tMX8MM_IOMUXC_GPIO1_IO05 = 15,\n\tMX8MM_IOMUXC_GPIO1_IO06 = 16,\n\tMX8MM_IOMUXC_GPIO1_IO07 = 17,\n\tMX8MM_IOMUXC_GPIO1_IO08 = 18,\n\tMX8MM_IOMUXC_GPIO1_IO09 = 19,\n\tMX8MM_IOMUXC_GPIO1_IO10 = 20,\n\tMX8MM_IOMUXC_GPIO1_IO11 = 21,\n\tMX8MM_IOMUXC_GPIO1_IO12 = 22,\n\tMX8MM_IOMUXC_GPIO1_IO13 = 23,\n\tMX8MM_IOMUXC_GPIO1_IO14 = 24,\n\tMX8MM_IOMUXC_GPIO1_IO15 = 25,\n\tMX8MM_IOMUXC_ENET_MDC = 26,\n\tMX8MM_IOMUXC_ENET_MDIO = 27,\n\tMX8MM_IOMUXC_ENET_TD3 = 28,\n\tMX8MM_IOMUXC_ENET_TD2 = 29,\n\tMX8MM_IOMUXC_ENET_TD1 = 30,\n\tMX8MM_IOMUXC_ENET_TD0 = 31,\n\tMX8MM_IOMUXC_ENET_TX_CTL = 32,\n\tMX8MM_IOMUXC_ENET_TXC = 33,\n\tMX8MM_IOMUXC_ENET_RX_CTL = 34,\n\tMX8MM_IOMUXC_ENET_RXC = 35,\n\tMX8MM_IOMUXC_ENET_RD0 = 36,\n\tMX8MM_IOMUXC_ENET_RD1 = 37,\n\tMX8MM_IOMUXC_ENET_RD2 = 38,\n\tMX8MM_IOMUXC_ENET_RD3 = 39,\n\tMX8MM_IOMUXC_SD1_CLK = 40,\n\tMX8MM_IOMUXC_SD1_CMD = 41,\n\tMX8MM_IOMUXC_SD1_DATA0 = 42,\n\tMX8MM_IOMUXC_SD1_DATA1 = 43,\n\tMX8MM_IOMUXC_SD1_DATA2 = 44,\n\tMX8MM_IOMUXC_SD1_DATA3 = 45,\n\tMX8MM_IOMUXC_SD1_DATA4 = 46,\n\tMX8MM_IOMUXC_SD1_DATA5 = 47,\n\tMX8MM_IOMUXC_SD1_DATA6 = 48,\n\tMX8MM_IOMUXC_SD1_DATA7 = 49,\n\tMX8MM_IOMUXC_SD1_RESET_B = 50,\n\tMX8MM_IOMUXC_SD1_STROBE = 51,\n\tMX8MM_IOMUXC_SD2_CD_B = 52,\n\tMX8MM_IOMUXC_SD2_CLK = 53,\n\tMX8MM_IOMUXC_SD2_CMD = 54,\n\tMX8MM_IOMUXC_SD2_DATA0 = 55,\n\tMX8MM_IOMUXC_SD2_DATA1 = 56,\n\tMX8MM_IOMUXC_SD2_DATA2 = 57,\n\tMX8MM_IOMUXC_SD2_DATA3 = 58,\n\tMX8MM_IOMUXC_SD2_RESET_B = 59,\n\tMX8MM_IOMUXC_SD2_WP = 60,\n\tMX8MM_IOMUXC_NAND_ALE = 61,\n\tMX8MM_IOMUXC_NAND_CE0 = 62,\n\tMX8MM_IOMUXC_NAND_CE1 = 63,\n\tMX8MM_IOMUXC_NAND_CE2 = 64,\n\tMX8MM_IOMUXC_NAND_CE3 = 65,\n\tMX8MM_IOMUXC_NAND_CLE = 66,\n\tMX8MM_IOMUXC_NAND_DATA00 = 67,\n\tMX8MM_IOMUXC_NAND_DATA01 = 68,\n\tMX8MM_IOMUXC_NAND_DATA02 = 69,\n\tMX8MM_IOMUXC_NAND_DATA03 = 70,\n\tMX8MM_IOMUXC_NAND_DATA04 = 71,\n\tMX8MM_IOMUXC_NAND_DATA05 = 72,\n\tMX8MM_IOMUXC_NAND_DATA06 = 73,\n\tMX8MM_IOMUXC_NAND_DATA07 = 74,\n\tMX8MM_IOMUXC_NAND_DQS = 75,\n\tMX8MM_IOMUXC_NAND_RE_B = 76,\n\tMX8MM_IOMUXC_NAND_READY_B = 77,\n\tMX8MM_IOMUXC_NAND_WE_B = 78,\n\tMX8MM_IOMUXC_NAND_WP_B = 79,\n\tMX8MM_IOMUXC_SAI5_RXFS = 80,\n\tMX8MM_IOMUXC_SAI5_RXC = 81,\n\tMX8MM_IOMUXC_SAI5_RXD0 = 82,\n\tMX8MM_IOMUXC_SAI5_RXD1 = 83,\n\tMX8MM_IOMUXC_SAI5_RXD2 = 84,\n\tMX8MM_IOMUXC_SAI5_RXD3 = 85,\n\tMX8MM_IOMUXC_SAI5_MCLK = 86,\n\tMX8MM_IOMUXC_SAI1_RXFS = 87,\n\tMX8MM_IOMUXC_SAI1_RXC = 88,\n\tMX8MM_IOMUXC_SAI1_RXD0 = 89,\n\tMX8MM_IOMUXC_SAI1_RXD1 = 90,\n\tMX8MM_IOMUXC_SAI1_RXD2 = 91,\n\tMX8MM_IOMUXC_SAI1_RXD3 = 92,\n\tMX8MM_IOMUXC_SAI1_RXD4 = 93,\n\tMX8MM_IOMUXC_SAI1_RXD5 = 94,\n\tMX8MM_IOMUXC_SAI1_RXD6 = 95,\n\tMX8MM_IOMUXC_SAI1_RXD7 = 96,\n\tMX8MM_IOMUXC_SAI1_TXFS = 97,\n\tMX8MM_IOMUXC_SAI1_TXC = 98,\n\tMX8MM_IOMUXC_SAI1_TXD0 = 99,\n\tMX8MM_IOMUXC_SAI1_TXD1 = 100,\n\tMX8MM_IOMUXC_SAI1_TXD2 = 101,\n\tMX8MM_IOMUXC_SAI1_TXD3 = 102,\n\tMX8MM_IOMUXC_SAI1_TXD4 = 103,\n\tMX8MM_IOMUXC_SAI1_TXD5 = 104,\n\tMX8MM_IOMUXC_SAI1_TXD6 = 105,\n\tMX8MM_IOMUXC_SAI1_TXD7 = 106,\n\tMX8MM_IOMUXC_SAI1_MCLK = 107,\n\tMX8MM_IOMUXC_SAI2_RXFS = 108,\n\tMX8MM_IOMUXC_SAI2_RXC = 109,\n\tMX8MM_IOMUXC_SAI2_RXD0 = 110,\n\tMX8MM_IOMUXC_SAI2_TXFS = 111,\n\tMX8MM_IOMUXC_SAI2_TXC = 112,\n\tMX8MM_IOMUXC_SAI2_TXD0 = 113,\n\tMX8MM_IOMUXC_SAI2_MCLK = 114,\n\tMX8MM_IOMUXC_SAI3_RXFS = 115,\n\tMX8MM_IOMUXC_SAI3_RXC = 116,\n\tMX8MM_IOMUXC_SAI3_RXD = 117,\n\tMX8MM_IOMUXC_SAI3_TXFS = 118,\n\tMX8MM_IOMUXC_SAI3_TXC = 119,\n\tMX8MM_IOMUXC_SAI3_TXD = 120,\n\tMX8MM_IOMUXC_SAI3_MCLK = 121,\n\tMX8MM_IOMUXC_SPDIF_TX = 122,\n\tMX8MM_IOMUXC_SPDIF_RX = 123,\n\tMX8MM_IOMUXC_SPDIF_EXT_CLK = 124,\n\tMX8MM_IOMUXC_ECSPI1_SCLK = 125,\n\tMX8MM_IOMUXC_ECSPI1_MOSI = 126,\n\tMX8MM_IOMUXC_ECSPI1_MISO = 127,\n\tMX8MM_IOMUXC_ECSPI1_SS0 = 128,\n\tMX8MM_IOMUXC_ECSPI2_SCLK = 129,\n\tMX8MM_IOMUXC_ECSPI2_MOSI = 130,\n\tMX8MM_IOMUXC_ECSPI2_MISO = 131,\n\tMX8MM_IOMUXC_ECSPI2_SS0 = 132,\n\tMX8MM_IOMUXC_I2C1_SCL = 133,\n\tMX8MM_IOMUXC_I2C1_SDA = 134,\n\tMX8MM_IOMUXC_I2C2_SCL = 135,\n\tMX8MM_IOMUXC_I2C2_SDA = 136,\n\tMX8MM_IOMUXC_I2C3_SCL = 137,\n\tMX8MM_IOMUXC_I2C3_SDA = 138,\n\tMX8MM_IOMUXC_I2C4_SCL = 139,\n\tMX8MM_IOMUXC_I2C4_SDA = 140,\n\tMX8MM_IOMUXC_UART1_RXD = 141,\n\tMX8MM_IOMUXC_UART1_TXD = 142,\n\tMX8MM_IOMUXC_UART2_RXD = 143,\n\tMX8MM_IOMUXC_UART2_TXD = 144,\n\tMX8MM_IOMUXC_UART3_RXD = 145,\n\tMX8MM_IOMUXC_UART3_TXD = 146,\n\tMX8MM_IOMUXC_UART4_RXD = 147,\n\tMX8MM_IOMUXC_UART4_TXD = 148,\n};\n\nenum imx8mn_pads {\n\tMX8MN_PAD_RESERVE0 = 0,\n\tMX8MN_PAD_RESERVE1 = 1,\n\tMX8MN_PAD_RESERVE2 = 2,\n\tMX8MN_PAD_RESERVE3 = 3,\n\tMX8MN_PAD_RESERVE4 = 4,\n\tMX8MN_PAD_RESERVE5 = 5,\n\tMX8MN_PAD_RESERVE6 = 6,\n\tMX8MN_PAD_RESERVE7 = 7,\n\tMX8MN_IOMUXC_BOOT_MODE2 = 8,\n\tMX8MN_IOMUXC_BOOT_MODE3 = 9,\n\tMX8MN_IOMUXC_GPIO1_IO00 = 10,\n\tMX8MN_IOMUXC_GPIO1_IO01 = 11,\n\tMX8MN_IOMUXC_GPIO1_IO02 = 12,\n\tMX8MN_IOMUXC_GPIO1_IO03 = 13,\n\tMX8MN_IOMUXC_GPIO1_IO04 = 14,\n\tMX8MN_IOMUXC_GPIO1_IO05 = 15,\n\tMX8MN_IOMUXC_GPIO1_IO06 = 16,\n\tMX8MN_IOMUXC_GPIO1_IO07 = 17,\n\tMX8MN_IOMUXC_GPIO1_IO08 = 18,\n\tMX8MN_IOMUXC_GPIO1_IO09 = 19,\n\tMX8MN_IOMUXC_GPIO1_IO10 = 20,\n\tMX8MN_IOMUXC_GPIO1_IO11 = 21,\n\tMX8MN_IOMUXC_GPIO1_IO12 = 22,\n\tMX8MN_IOMUXC_GPIO1_IO13 = 23,\n\tMX8MN_IOMUXC_GPIO1_IO14 = 24,\n\tMX8MN_IOMUXC_GPIO1_IO15 = 25,\n\tMX8MN_IOMUXC_ENET_MDC = 26,\n\tMX8MN_IOMUXC_ENET_MDIO = 27,\n\tMX8MN_IOMUXC_ENET_TD3 = 28,\n\tMX8MN_IOMUXC_ENET_TD2 = 29,\n\tMX8MN_IOMUXC_ENET_TD1 = 30,\n\tMX8MN_IOMUXC_ENET_TD0 = 31,\n\tMX8MN_IOMUXC_ENET_TX_CTL = 32,\n\tMX8MN_IOMUXC_ENET_TXC = 33,\n\tMX8MN_IOMUXC_ENET_RX_CTL = 34,\n\tMX8MN_IOMUXC_ENET_RXC = 35,\n\tMX8MN_IOMUXC_ENET_RD0 = 36,\n\tMX8MN_IOMUXC_ENET_RD1 = 37,\n\tMX8MN_IOMUXC_ENET_RD2 = 38,\n\tMX8MN_IOMUXC_ENET_RD3 = 39,\n\tMX8MN_IOMUXC_SD1_CLK = 40,\n\tMX8MN_IOMUXC_SD1_CMD = 41,\n\tMX8MN_IOMUXC_SD1_DATA0 = 42,\n\tMX8MN_IOMUXC_SD1_DATA1 = 43,\n\tMX8MN_IOMUXC_SD1_DATA2 = 44,\n\tMX8MN_IOMUXC_SD1_DATA3 = 45,\n\tMX8MN_IOMUXC_SD1_DATA4 = 46,\n\tMX8MN_IOMUXC_SD1_DATA5 = 47,\n\tMX8MN_IOMUXC_SD1_DATA6 = 48,\n\tMX8MN_IOMUXC_SD1_DATA7 = 49,\n\tMX8MN_IOMUXC_SD1_RESET_B = 50,\n\tMX8MN_IOMUXC_SD1_STROBE = 51,\n\tMX8MN_IOMUXC_SD2_CD_B = 52,\n\tMX8MN_IOMUXC_SD2_CLK = 53,\n\tMX8MN_IOMUXC_SD2_CMD = 54,\n\tMX8MN_IOMUXC_SD2_DATA0 = 55,\n\tMX8MN_IOMUXC_SD2_DATA1 = 56,\n\tMX8MN_IOMUXC_SD2_DATA2 = 57,\n\tMX8MN_IOMUXC_SD2_DATA3 = 58,\n\tMX8MN_IOMUXC_SD2_RESET_B = 59,\n\tMX8MN_IOMUXC_SD2_WP = 60,\n\tMX8MN_IOMUXC_NAND_ALE = 61,\n\tMX8MN_IOMUXC_NAND_CE0 = 62,\n\tMX8MN_IOMUXC_NAND_CE1 = 63,\n\tMX8MN_IOMUXC_NAND_CE2 = 64,\n\tMX8MN_IOMUXC_NAND_CE3 = 65,\n\tMX8MN_IOMUXC_NAND_CLE = 66,\n\tMX8MN_IOMUXC_NAND_DATA00 = 67,\n\tMX8MN_IOMUXC_NAND_DATA01 = 68,\n\tMX8MN_IOMUXC_NAND_DATA02 = 69,\n\tMX8MN_IOMUXC_NAND_DATA03 = 70,\n\tMX8MN_IOMUXC_NAND_DATA04 = 71,\n\tMX8MN_IOMUXC_NAND_DATA05 = 72,\n\tMX8MN_IOMUXC_NAND_DATA06 = 73,\n\tMX8MN_IOMUXC_NAND_DATA07 = 74,\n\tMX8MN_IOMUXC_NAND_DQS = 75,\n\tMX8MN_IOMUXC_NAND_RE_B = 76,\n\tMX8MN_IOMUXC_NAND_READY_B = 77,\n\tMX8MN_IOMUXC_NAND_WE_B = 78,\n\tMX8MN_IOMUXC_NAND_WP_B = 79,\n\tMX8MN_IOMUXC_SAI5_RXFS = 80,\n\tMX8MN_IOMUXC_SAI5_RXC = 81,\n\tMX8MN_IOMUXC_SAI5_RXD0 = 82,\n\tMX8MN_IOMUXC_SAI5_RXD1 = 83,\n\tMX8MN_IOMUXC_SAI5_RXD2 = 84,\n\tMX8MN_IOMUXC_SAI5_RXD3 = 85,\n\tMX8MN_IOMUXC_SAI5_MCLK = 86,\n\tMX8MN_IOMUXC_SAI1_RXFS = 87,\n\tMX8MN_IOMUXC_SAI1_RXC = 88,\n\tMX8MN_IOMUXC_SAI1_RXD0 = 89,\n\tMX8MN_IOMUXC_SAI1_RXD1 = 90,\n\tMX8MN_IOMUXC_SAI1_RXD2 = 91,\n\tMX8MN_IOMUXC_SAI1_RXD3 = 92,\n\tMX8MN_IOMUXC_SAI1_RXD4 = 93,\n\tMX8MN_IOMUXC_SAI1_RXD5 = 94,\n\tMX8MN_IOMUXC_SAI1_RXD6 = 95,\n\tMX8MN_IOMUXC_SAI1_RXD7 = 96,\n\tMX8MN_IOMUXC_SAI1_TXFS = 97,\n\tMX8MN_IOMUXC_SAI1_TXC = 98,\n\tMX8MN_IOMUXC_SAI1_TXD0 = 99,\n\tMX8MN_IOMUXC_SAI1_TXD1 = 100,\n\tMX8MN_IOMUXC_SAI1_TXD2 = 101,\n\tMX8MN_IOMUXC_SAI1_TXD3 = 102,\n\tMX8MN_IOMUXC_SAI1_TXD4 = 103,\n\tMX8MN_IOMUXC_SAI1_TXD5 = 104,\n\tMX8MN_IOMUXC_SAI1_TXD6 = 105,\n\tMX8MN_IOMUXC_SAI1_TXD7 = 106,\n\tMX8MN_IOMUXC_SAI1_MCLK = 107,\n\tMX8MN_IOMUXC_SAI2_RXFS = 108,\n\tMX8MN_IOMUXC_SAI2_RXC = 109,\n\tMX8MN_IOMUXC_SAI2_RXD0 = 110,\n\tMX8MN_IOMUXC_SAI2_TXFS = 111,\n\tMX8MN_IOMUXC_SAI2_TXC = 112,\n\tMX8MN_IOMUXC_SAI2_TXD0 = 113,\n\tMX8MN_IOMUXC_SAI2_MCLK = 114,\n\tMX8MN_IOMUXC_SAI3_RXFS = 115,\n\tMX8MN_IOMUXC_SAI3_RXC = 116,\n\tMX8MN_IOMUXC_SAI3_RXD = 117,\n\tMX8MN_IOMUXC_SAI3_TXFS = 118,\n\tMX8MN_IOMUXC_SAI3_TXC = 119,\n\tMX8MN_IOMUXC_SAI3_TXD = 120,\n\tMX8MN_IOMUXC_SAI3_MCLK = 121,\n\tMX8MN_IOMUXC_SPDIF_TX = 122,\n\tMX8MN_IOMUXC_SPDIF_RX = 123,\n\tMX8MN_IOMUXC_SPDIF_EXT_CLK = 124,\n\tMX8MN_IOMUXC_ECSPI1_SCLK = 125,\n\tMX8MN_IOMUXC_ECSPI1_MOSI = 126,\n\tMX8MN_IOMUXC_ECSPI1_MISO = 127,\n\tMX8MN_IOMUXC_ECSPI1_SS0 = 128,\n\tMX8MN_IOMUXC_ECSPI2_SCLK = 129,\n\tMX8MN_IOMUXC_ECSPI2_MOSI = 130,\n\tMX8MN_IOMUXC_ECSPI2_MISO = 131,\n\tMX8MN_IOMUXC_ECSPI2_SS0 = 132,\n\tMX8MN_IOMUXC_I2C1_SCL = 133,\n\tMX8MN_IOMUXC_I2C1_SDA = 134,\n\tMX8MN_IOMUXC_I2C2_SCL = 135,\n\tMX8MN_IOMUXC_I2C2_SDA = 136,\n\tMX8MN_IOMUXC_I2C3_SCL = 137,\n\tMX8MN_IOMUXC_I2C3_SDA = 138,\n\tMX8MN_IOMUXC_I2C4_SCL = 139,\n\tMX8MN_IOMUXC_I2C4_SDA = 140,\n\tMX8MN_IOMUXC_UART1_RXD = 141,\n\tMX8MN_IOMUXC_UART1_TXD = 142,\n\tMX8MN_IOMUXC_UART2_RXD = 143,\n\tMX8MN_IOMUXC_UART2_TXD = 144,\n\tMX8MN_IOMUXC_UART3_RXD = 145,\n\tMX8MN_IOMUXC_UART3_TXD = 146,\n\tMX8MN_IOMUXC_UART4_RXD = 147,\n\tMX8MN_IOMUXC_UART4_TXD = 148,\n};\n\nenum imx8mp_pads {\n\tMX8MP_IOMUXC_RESERVE0 = 0,\n\tMX8MP_IOMUXC_RESERVE1 = 1,\n\tMX8MP_IOMUXC_RESERVE2 = 2,\n\tMX8MP_IOMUXC_RESERVE3 = 3,\n\tMX8MP_IOMUXC_RESERVE4 = 4,\n\tMX8MP_IOMUXC_GPIO1_IO00 = 5,\n\tMX8MP_IOMUXC_GPIO1_IO01 = 6,\n\tMX8MP_IOMUXC_GPIO1_IO02 = 7,\n\tMX8MP_IOMUXC_GPIO1_IO03 = 8,\n\tMX8MP_IOMUXC_GPIO1_IO04 = 9,\n\tMX8MP_IOMUXC_GPIO1_IO05 = 10,\n\tMX8MP_IOMUXC_GPIO1_IO06 = 11,\n\tMX8MP_IOMUXC_GPIO1_IO07 = 12,\n\tMX8MP_IOMUXC_GPIO1_IO08 = 13,\n\tMX8MP_IOMUXC_GPIO1_IO09 = 14,\n\tMX8MP_IOMUXC_GPIO1_IO10 = 15,\n\tMX8MP_IOMUXC_GPIO1_IO11 = 16,\n\tMX8MP_IOMUXC_GPIO1_IO12 = 17,\n\tMX8MP_IOMUXC_GPIO1_IO13 = 18,\n\tMX8MP_IOMUXC_GPIO1_IO14 = 19,\n\tMX8MP_IOMUXC_GPIO1_IO15 = 20,\n\tMX8MP_IOMUXC_ENET_MDC = 21,\n\tMX8MP_IOMUXC_ENET_MDIO = 22,\n\tMX8MP_IOMUXC_ENET_TD3 = 23,\n\tMX8MP_IOMUXC_ENET_TD2 = 24,\n\tMX8MP_IOMUXC_ENET_TD1 = 25,\n\tMX8MP_IOMUXC_ENET_TD0 = 26,\n\tMX8MP_IOMUXC_ENET_TX_CTL = 27,\n\tMX8MP_IOMUXC_ENET_TXC = 28,\n\tMX8MP_IOMUXC_ENET_RX_CTL = 29,\n\tMX8MP_IOMUXC_ENET_RXC = 30,\n\tMX8MP_IOMUXC_ENET_RD0 = 31,\n\tMX8MP_IOMUXC_ENET_RD1 = 32,\n\tMX8MP_IOMUXC_ENET_RD2 = 33,\n\tMX8MP_IOMUXC_ENET_RD3 = 34,\n\tMX8MP_IOMUXC_SD1_CLK = 35,\n\tMX8MP_IOMUXC_SD1_CMD = 36,\n\tMX8MP_IOMUXC_SD1_DATA0 = 37,\n\tMX8MP_IOMUXC_SD1_DATA1 = 38,\n\tMX8MP_IOMUXC_SD1_DATA2 = 39,\n\tMX8MP_IOMUXC_SD1_DATA3 = 40,\n\tMX8MP_IOMUXC_SD1_DATA4 = 41,\n\tMX8MP_IOMUXC_SD1_DATA5 = 42,\n\tMX8MP_IOMUXC_SD1_DATA6 = 43,\n\tMX8MP_IOMUXC_SD1_DATA7 = 44,\n\tMX8MP_IOMUXC_SD1_RESET_B = 45,\n\tMX8MP_IOMUXC_SD1_STROBE = 46,\n\tMX8MP_IOMUXC_SD2_CD_B = 47,\n\tMX8MP_IOMUXC_SD2_CLK = 48,\n\tMX8MP_IOMUXC_SD2_CMD = 49,\n\tMX8MP_IOMUXC_SD2_DATA0 = 50,\n\tMX8MP_IOMUXC_SD2_DATA1 = 51,\n\tMX8MP_IOMUXC_SD2_DATA2 = 52,\n\tMX8MP_IOMUXC_SD2_DATA3 = 53,\n\tMX8MP_IOMUXC_SD2_RESET_B = 54,\n\tMX8MP_IOMUXC_SD2_WP = 55,\n\tMX8MP_IOMUXC_NAND_ALE = 56,\n\tMX8MP_IOMUXC_NAND_CE0_B = 57,\n\tMX8MP_IOMUXC_NAND_CE1_B = 58,\n\tMX8MP_IOMUXC_NAND_CE2_B = 59,\n\tMX8MP_IOMUXC_NAND_CE3_B = 60,\n\tMX8MP_IOMUXC_NAND_CLE = 61,\n\tMX8MP_IOMUXC_NAND_DATA00 = 62,\n\tMX8MP_IOMUXC_NAND_DATA01 = 63,\n\tMX8MP_IOMUXC_NAND_DATA02 = 64,\n\tMX8MP_IOMUXC_NAND_DATA03 = 65,\n\tMX8MP_IOMUXC_NAND_DATA04 = 66,\n\tMX8MP_IOMUXC_NAND_DATA05 = 67,\n\tMX8MP_IOMUXC_NAND_DATA06 = 68,\n\tMX8MP_IOMUXC_NAND_DATA07 = 69,\n\tMX8MP_IOMUXC_NAND_DQS = 70,\n\tMX8MP_IOMUXC_NAND_RE_B = 71,\n\tMX8MP_IOMUXC_NAND_READY_B = 72,\n\tMX8MP_IOMUXC_NAND_WE_B = 73,\n\tMX8MP_IOMUXC_NAND_WP_B = 74,\n\tMX8MP_IOMUXC_SAI5_RXFS = 75,\n\tMX8MP_IOMUXC_SAI5_RXC = 76,\n\tMX8MP_IOMUXC_SAI5_RXD0 = 77,\n\tMX8MP_IOMUXC_SAI5_RXD1 = 78,\n\tMX8MP_IOMUXC_SAI5_RXD2 = 79,\n\tMX8MP_IOMUXC_SAI5_RXD3 = 80,\n\tMX8MP_IOMUXC_SAI5_MCLK = 81,\n\tMX8MP_IOMUXC_SAI1_RXFS = 82,\n\tMX8MP_IOMUXC_SAI1_RXC = 83,\n\tMX8MP_IOMUXC_SAI1_RXD0 = 84,\n\tMX8MP_IOMUXC_SAI1_RXD1 = 85,\n\tMX8MP_IOMUXC_SAI1_RXD2 = 86,\n\tMX8MP_IOMUXC_SAI1_RXD3 = 87,\n\tMX8MP_IOMUXC_SAI1_RXD4 = 88,\n\tMX8MP_IOMUXC_SAI1_RXD5 = 89,\n\tMX8MP_IOMUXC_SAI1_RXD6 = 90,\n\tMX8MP_IOMUXC_SAI1_RXD7 = 91,\n\tMX8MP_IOMUXC_SAI1_TXFS = 92,\n\tMX8MP_IOMUXC_SAI1_TXC = 93,\n\tMX8MP_IOMUXC_SAI1_TXD0 = 94,\n\tMX8MP_IOMUXC_SAI1_TXD1 = 95,\n\tMX8MP_IOMUXC_SAI1_TXD2 = 96,\n\tMX8MP_IOMUXC_SAI1_TXD3 = 97,\n\tMX8MP_IOMUXC_SAI1_TXD4 = 98,\n\tMX8MP_IOMUXC_SAI1_TXD5 = 99,\n\tMX8MP_IOMUXC_SAI1_TXD6 = 100,\n\tMX8MP_IOMUXC_SAI1_TXD7 = 101,\n\tMX8MP_IOMUXC_SAI1_MCLK = 102,\n\tMX8MP_IOMUXC_SAI2_RXFS = 103,\n\tMX8MP_IOMUXC_SAI2_RXC = 104,\n\tMX8MP_IOMUXC_SAI2_RXD0 = 105,\n\tMX8MP_IOMUXC_SAI2_TXFS = 106,\n\tMX8MP_IOMUXC_SAI2_TXC = 107,\n\tMX8MP_IOMUXC_SAI2_TXD0 = 108,\n\tMX8MP_IOMUXC_SAI2_MCLK = 109,\n\tMX8MP_IOMUXC_SAI3_RXFS = 110,\n\tMX8MP_IOMUXC_SAI3_RXC = 111,\n\tMX8MP_IOMUXC_SAI3_RXD = 112,\n\tMX8MP_IOMUXC_SAI3_TXFS = 113,\n\tMX8MP_IOMUXC_SAI3_TXC = 114,\n\tMX8MP_IOMUXC_SAI3_TXD = 115,\n\tMX8MP_IOMUXC_SAI3_MCLK = 116,\n\tMX8MP_IOMUXC_SPDIF_TX = 117,\n\tMX8MP_IOMUXC_SPDIF_RX = 118,\n\tMX8MP_IOMUXC_SPDIF_EXT_CLK = 119,\n\tMX8MP_IOMUXC_ECSPI1_SCLK = 120,\n\tMX8MP_IOMUXC_ECSPI1_MOSI = 121,\n\tMX8MP_IOMUXC_ECSPI1_MISO = 122,\n\tMX8MP_IOMUXC_ECSPI1_SS0 = 123,\n\tMX8MP_IOMUXC_ECSPI2_SCLK = 124,\n\tMX8MP_IOMUXC_ECSPI2_MOSI = 125,\n\tMX8MP_IOMUXC_ECSPI2_MISO = 126,\n\tMX8MP_IOMUXC_ECSPI2_SS0 = 127,\n\tMX8MP_IOMUXC_I2C1_SCL = 128,\n\tMX8MP_IOMUXC_I2C1_SDA = 129,\n\tMX8MP_IOMUXC_I2C2_SCL = 130,\n\tMX8MP_IOMUXC_I2C2_SDA = 131,\n\tMX8MP_IOMUXC_I2C3_SCL = 132,\n\tMX8MP_IOMUXC_I2C3_SDA = 133,\n\tMX8MP_IOMUXC_I2C4_SCL = 134,\n\tMX8MP_IOMUXC_I2C4_SDA = 135,\n\tMX8MP_IOMUXC_UART1_RXD = 136,\n\tMX8MP_IOMUXC_UART1_TXD = 137,\n\tMX8MP_IOMUXC_UART2_RXD = 138,\n\tMX8MP_IOMUXC_UART2_TXD = 139,\n\tMX8MP_IOMUXC_UART3_RXD = 140,\n\tMX8MP_IOMUXC_UART3_TXD = 141,\n\tMX8MP_IOMUXC_UART4_RXD = 142,\n\tMX8MP_IOMUXC_UART4_TXD = 143,\n\tMX8MP_IOMUXC_HDMI_DDC_SCL = 144,\n\tMX8MP_IOMUXC_HDMI_DDC_SDA = 145,\n\tMX8MP_IOMUXC_HDMI_CEC = 146,\n\tMX8MP_IOMUXC_HDMI_HPD = 147,\n};\n\nenum imx8mp_src_registers {\n\tSRC_SUPERMIX_RCR = 24,\n\tSRC_AUDIOMIX_RCR = 28,\n\tSRC_MLMIX_RCR = 40,\n\tSRC_GPU2D_RCR = 56,\n\tSRC_GPU3D_RCR = 60,\n\tSRC_VPU_G1_RCR = 72,\n\tSRC_VPU_G2_RCR = 76,\n\tSRC_VPUVC8KE_RCR = 80,\n\tSRC_NOC_RCR = 84,\n};\n\nenum imx8mq_pads {\n\tMX8MQ_PAD_RESERVE0 = 0,\n\tMX8MQ_PAD_RESERVE1 = 1,\n\tMX8MQ_PAD_RESERVE2 = 2,\n\tMX8MQ_PAD_RESERVE3 = 3,\n\tMX8MQ_PAD_RESERVE4 = 4,\n\tMX8MQ_IOMUXC_PMIC_STBY_REQ_CCMSRCGPCMIX = 5,\n\tMX8MQ_IOMUXC_PMIC_ON_REQ_SNVSMIX = 6,\n\tMX8MQ_IOMUXC_ONOFF_SNVSMIX = 7,\n\tMX8MQ_IOMUXC_POR_B_SNVSMIX = 8,\n\tMX8MQ_IOMUXC_RTC_RESET_B_SNVSMIX = 9,\n\tMX8MQ_IOMUXC_GPIO1_IO00 = 10,\n\tMX8MQ_IOMUXC_GPIO1_IO01 = 11,\n\tMX8MQ_IOMUXC_GPIO1_IO02 = 12,\n\tMX8MQ_IOMUXC_GPIO1_IO03 = 13,\n\tMX8MQ_IOMUXC_GPIO1_IO04 = 14,\n\tMX8MQ_IOMUXC_GPIO1_IO05 = 15,\n\tMX8MQ_IOMUXC_GPIO1_IO06 = 16,\n\tMX8MQ_IOMUXC_GPIO1_IO07 = 17,\n\tMX8MQ_IOMUXC_GPIO1_IO08 = 18,\n\tMX8MQ_IOMUXC_GPIO1_IO09 = 19,\n\tMX8MQ_IOMUXC_GPIO1_IO10 = 20,\n\tMX8MQ_IOMUXC_GPIO1_IO11 = 21,\n\tMX8MQ_IOMUXC_GPIO1_IO12 = 22,\n\tMX8MQ_IOMUXC_GPIO1_IO13 = 23,\n\tMX8MQ_IOMUXC_GPIO1_IO14 = 24,\n\tMX8MQ_IOMUXC_GPIO1_IO15 = 25,\n\tMX8MQ_IOMUXC_ENET_MDC = 26,\n\tMX8MQ_IOMUXC_ENET_MDIO = 27,\n\tMX8MQ_IOMUXC_ENET_TD3 = 28,\n\tMX8MQ_IOMUXC_ENET_TD2 = 29,\n\tMX8MQ_IOMUXC_ENET_TD1 = 30,\n\tMX8MQ_IOMUXC_ENET_TD0 = 31,\n\tMX8MQ_IOMUXC_ENET_TX_CTL = 32,\n\tMX8MQ_IOMUXC_ENET_TXC = 33,\n\tMX8MQ_IOMUXC_ENET_RX_CTL = 34,\n\tMX8MQ_IOMUXC_ENET_RXC = 35,\n\tMX8MQ_IOMUXC_ENET_RD0 = 36,\n\tMX8MQ_IOMUXC_ENET_RD1 = 37,\n\tMX8MQ_IOMUXC_ENET_RD2 = 38,\n\tMX8MQ_IOMUXC_ENET_RD3 = 39,\n\tMX8MQ_IOMUXC_SD1_CLK = 40,\n\tMX8MQ_IOMUXC_SD1_CMD = 41,\n\tMX8MQ_IOMUXC_SD1_DATA0 = 42,\n\tMX8MQ_IOMUXC_SD1_DATA1 = 43,\n\tMX8MQ_IOMUXC_SD1_DATA2 = 44,\n\tMX8MQ_IOMUXC_SD1_DATA3 = 45,\n\tMX8MQ_IOMUXC_SD1_DATA4 = 46,\n\tMX8MQ_IOMUXC_SD1_DATA5 = 47,\n\tMX8MQ_IOMUXC_SD1_DATA6 = 48,\n\tMX8MQ_IOMUXC_SD1_DATA7 = 49,\n\tMX8MQ_IOMUXC_SD1_RESET_B = 50,\n\tMX8MQ_IOMUXC_SD1_STROBE = 51,\n\tMX8MQ_IOMUXC_SD2_CD_B = 52,\n\tMX8MQ_IOMUXC_SD2_CLK = 53,\n\tMX8MQ_IOMUXC_SD2_CMD = 54,\n\tMX8MQ_IOMUXC_SD2_DATA0 = 55,\n\tMX8MQ_IOMUXC_SD2_DATA1 = 56,\n\tMX8MQ_IOMUXC_SD2_DATA2 = 57,\n\tMX8MQ_IOMUXC_SD2_DATA3 = 58,\n\tMX8MQ_IOMUXC_SD2_RESET_B = 59,\n\tMX8MQ_IOMUXC_SD2_WP = 60,\n\tMX8MQ_IOMUXC_NAND_ALE = 61,\n\tMX8MQ_IOMUXC_NAND_CE0_B = 62,\n\tMX8MQ_IOMUXC_NAND_CE1_B = 63,\n\tMX8MQ_IOMUXC_NAND_CE2_B = 64,\n\tMX8MQ_IOMUXC_NAND_CE3_B = 65,\n\tMX8MQ_IOMUXC_NAND_CLE = 66,\n\tMX8MQ_IOMUXC_NAND_DATA00 = 67,\n\tMX8MQ_IOMUXC_NAND_DATA01 = 68,\n\tMX8MQ_IOMUXC_NAND_DATA02 = 69,\n\tMX8MQ_IOMUXC_NAND_DATA03 = 70,\n\tMX8MQ_IOMUXC_NAND_DATA04 = 71,\n\tMX8MQ_IOMUXC_NAND_DATA05 = 72,\n\tMX8MQ_IOMUXC_NAND_DATA06 = 73,\n\tMX8MQ_IOMUXC_NAND_DATA07 = 74,\n\tMX8MQ_IOMUXC_NAND_DQS = 75,\n\tMX8MQ_IOMUXC_NAND_RE_B = 76,\n\tMX8MQ_IOMUXC_NAND_READY_B = 77,\n\tMX8MQ_IOMUXC_NAND_WE_B = 78,\n\tMX8MQ_IOMUXC_NAND_WP_B = 79,\n\tMX8MQ_IOMUXC_SAI5_RXFS = 80,\n\tMX8MQ_IOMUXC_SAI5_RXC = 81,\n\tMX8MQ_IOMUXC_SAI5_RXD0 = 82,\n\tMX8MQ_IOMUXC_SAI5_RXD1 = 83,\n\tMX8MQ_IOMUXC_SAI5_RXD2 = 84,\n\tMX8MQ_IOMUXC_SAI5_RXD3 = 85,\n\tMX8MQ_IOMUXC_SAI5_MCLK = 86,\n\tMX8MQ_IOMUXC_SAI1_RXFS = 87,\n\tMX8MQ_IOMUXC_SAI1_RXC = 88,\n\tMX8MQ_IOMUXC_SAI1_RXD0 = 89,\n\tMX8MQ_IOMUXC_SAI1_RXD1 = 90,\n\tMX8MQ_IOMUXC_SAI1_RXD2 = 91,\n\tMX8MQ_IOMUXC_SAI1_RXD3 = 92,\n\tMX8MQ_IOMUXC_SAI1_RXD4 = 93,\n\tMX8MQ_IOMUXC_SAI1_RXD5 = 94,\n\tMX8MQ_IOMUXC_SAI1_RXD6 = 95,\n\tMX8MQ_IOMUXC_SAI1_RXD7 = 96,\n\tMX8MQ_IOMUXC_SAI1_TXFS = 97,\n\tMX8MQ_IOMUXC_SAI1_TXC = 98,\n\tMX8MQ_IOMUXC_SAI1_TXD0 = 99,\n\tMX8MQ_IOMUXC_SAI1_TXD1 = 100,\n\tMX8MQ_IOMUXC_SAI1_TXD2 = 101,\n\tMX8MQ_IOMUXC_SAI1_TXD3 = 102,\n\tMX8MQ_IOMUXC_SAI1_TXD4 = 103,\n\tMX8MQ_IOMUXC_SAI1_TXD5 = 104,\n\tMX8MQ_IOMUXC_SAI1_TXD6 = 105,\n\tMX8MQ_IOMUXC_SAI1_TXD7 = 106,\n\tMX8MQ_IOMUXC_SAI1_MCLK = 107,\n\tMX8MQ_IOMUXC_SAI2_RXFS = 108,\n\tMX8MQ_IOMUXC_SAI2_RXC = 109,\n\tMX8MQ_IOMUXC_SAI2_RXD0 = 110,\n\tMX8MQ_IOMUXC_SAI2_TXFS = 111,\n\tMX8MQ_IOMUXC_SAI2_TXC = 112,\n\tMX8MQ_IOMUXC_SAI2_TXD0 = 113,\n\tMX8MQ_IOMUXC_SAI2_MCLK = 114,\n\tMX8MQ_IOMUXC_SAI3_RXFS = 115,\n\tMX8MQ_IOMUXC_SAI3_RXC = 116,\n\tMX8MQ_IOMUXC_SAI3_RXD = 117,\n\tMX8MQ_IOMUXC_SAI3_TXFS = 118,\n\tMX8MQ_IOMUXC_SAI3_TXC = 119,\n\tMX8MQ_IOMUXC_SAI3_TXD = 120,\n\tMX8MQ_IOMUXC_SAI3_MCLK = 121,\n\tMX8MQ_IOMUXC_SPDIF_TX = 122,\n\tMX8MQ_IOMUXC_SPDIF_RX = 123,\n\tMX8MQ_IOMUXC_SPDIF_EXT_CLK = 124,\n\tMX8MQ_IOMUXC_ECSPI1_SCLK = 125,\n\tMX8MQ_IOMUXC_ECSPI1_MOSI = 126,\n\tMX8MQ_IOMUXC_ECSPI1_MISO = 127,\n\tMX8MQ_IOMUXC_ECSPI1_SS0 = 128,\n\tMX8MQ_IOMUXC_ECSPI2_SCLK = 129,\n\tMX8MQ_IOMUXC_ECSPI2_MOSI = 130,\n\tMX8MQ_IOMUXC_ECSPI2_MISO = 131,\n\tMX8MQ_IOMUXC_ECSPI2_SS0 = 132,\n\tMX8MQ_IOMUXC_I2C1_SCL = 133,\n\tMX8MQ_IOMUXC_I2C1_SDA = 134,\n\tMX8MQ_IOMUXC_I2C2_SCL = 135,\n\tMX8MQ_IOMUXC_I2C2_SDA = 136,\n\tMX8MQ_IOMUXC_I2C3_SCL = 137,\n\tMX8MQ_IOMUXC_I2C3_SDA = 138,\n\tMX8MQ_IOMUXC_I2C4_SCL = 139,\n\tMX8MQ_IOMUXC_I2C4_SDA = 140,\n\tMX8MQ_IOMUXC_UART1_RXD = 141,\n\tMX8MQ_IOMUXC_UART1_TXD = 142,\n\tMX8MQ_IOMUXC_UART2_RXD = 143,\n\tMX8MQ_IOMUXC_UART2_TXD = 144,\n\tMX8MQ_IOMUXC_UART3_RXD = 145,\n\tMX8MQ_IOMUXC_UART3_TXD = 146,\n\tMX8MQ_IOMUXC_UART4_RXD = 147,\n\tMX8MQ_IOMUXC_UART4_TXD = 148,\n};\n\nenum imx8mq_src_registers {\n\tSRC_A53RCR0 = 4,\n\tSRC_HDMI_RCR = 48,\n\tSRC_DISP_RCR = 52,\n\tSRC_GPU_RCR = 64,\n\tSRC_VPU_RCR = 68,\n\tSRC_PCIE2_RCR = 72,\n\tSRC_MIPIPHY1_RCR = 76,\n\tSRC_MIPIPHY2_RCR = 80,\n\tSRC_DDRC2_RCR = 4100,\n};\n\nenum imx8ulp_pads {\n\tIMX8ULP_PAD_PTD0 = 0,\n\tIMX8ULP_PAD_PTD1 = 1,\n\tIMX8ULP_PAD_PTD2 = 2,\n\tIMX8ULP_PAD_PTD3 = 3,\n\tIMX8ULP_PAD_PTD4 = 4,\n\tIMX8ULP_PAD_PTD5 = 5,\n\tIMX8ULP_PAD_PTD6 = 6,\n\tIMX8ULP_PAD_PTD7 = 7,\n\tIMX8ULP_PAD_PTD8 = 8,\n\tIMX8ULP_PAD_PTD9 = 9,\n\tIMX8ULP_PAD_PTD10 = 10,\n\tIMX8ULP_PAD_PTD11 = 11,\n\tIMX8ULP_PAD_PTD12 = 12,\n\tIMX8ULP_PAD_PTD13 = 13,\n\tIMX8ULP_PAD_PTD14 = 14,\n\tIMX8ULP_PAD_PTD15 = 15,\n\tIMX8ULP_PAD_PTD16 = 16,\n\tIMX8ULP_PAD_PTD17 = 17,\n\tIMX8ULP_PAD_PTD18 = 18,\n\tIMX8ULP_PAD_PTD19 = 19,\n\tIMX8ULP_PAD_PTD20 = 20,\n\tIMX8ULP_PAD_PTD21 = 21,\n\tIMX8ULP_PAD_PTD22 = 22,\n\tIMX8ULP_PAD_PTD23 = 23,\n\tIMX8ULP_PAD_RESERVE0 = 24,\n\tIMX8ULP_PAD_RESERVE1 = 25,\n\tIMX8ULP_PAD_RESERVE2 = 26,\n\tIMX8ULP_PAD_RESERVE3 = 27,\n\tIMX8ULP_PAD_RESERVE4 = 28,\n\tIMX8ULP_PAD_RESERVE5 = 29,\n\tIMX8ULP_PAD_RESERVE6 = 30,\n\tIMX8ULP_PAD_RESERVE7 = 31,\n\tIMX8ULP_PAD_PTE0 = 32,\n\tIMX8ULP_PAD_PTE1 = 33,\n\tIMX8ULP_PAD_PTE2 = 34,\n\tIMX8ULP_PAD_PTE3 = 35,\n\tIMX8ULP_PAD_PTE4 = 36,\n\tIMX8ULP_PAD_PTE5 = 37,\n\tIMX8ULP_PAD_PTE6 = 38,\n\tIMX8ULP_PAD_PTE7 = 39,\n\tIMX8ULP_PAD_PTE8 = 40,\n\tIMX8ULP_PAD_PTE9 = 41,\n\tIMX8ULP_PAD_PTE10 = 42,\n\tIMX8ULP_PAD_PTE11 = 43,\n\tIMX8ULP_PAD_PTE12 = 44,\n\tIMX8ULP_PAD_PTE13 = 45,\n\tIMX8ULP_PAD_PTE14 = 46,\n\tIMX8ULP_PAD_PTE15 = 47,\n\tIMX8ULP_PAD_PTE16 = 48,\n\tIMX8ULP_PAD_PTE17 = 49,\n\tIMX8ULP_PAD_PTE18 = 50,\n\tIMX8ULP_PAD_PTE19 = 51,\n\tIMX8ULP_PAD_PTE20 = 52,\n\tIMX8ULP_PAD_PTE21 = 53,\n\tIMX8ULP_PAD_PTE22 = 54,\n\tIMX8ULP_PAD_PTE23 = 55,\n\tIMX8ULP_PAD_RESERVE8 = 56,\n\tIMX8ULP_PAD_RESERVE9 = 57,\n\tIMX8ULP_PAD_RESERVE10 = 58,\n\tIMX8ULP_PAD_RESERVE11 = 59,\n\tIMX8ULP_PAD_RESERVE12 = 60,\n\tIMX8ULP_PAD_RESERVE13 = 61,\n\tIMX8ULP_PAD_RESERVE14 = 62,\n\tIMX8ULP_PAD_RESERVE15 = 63,\n\tIMX8ULP_PAD_PTF0 = 64,\n\tIMX8ULP_PAD_PTF1 = 65,\n\tIMX8ULP_PAD_PTF2 = 66,\n\tIMX8ULP_PAD_PTF3 = 67,\n\tIMX8ULP_PAD_PTF4 = 68,\n\tIMX8ULP_PAD_PTF5 = 69,\n\tIMX8ULP_PAD_PTF6 = 70,\n\tIMX8ULP_PAD_PTF7 = 71,\n\tIMX8ULP_PAD_PTF8 = 72,\n\tIMX8ULP_PAD_PTF9 = 73,\n\tIMX8ULP_PAD_PTF10 = 74,\n\tIMX8ULP_PAD_PTF11 = 75,\n\tIMX8ULP_PAD_PTF12 = 76,\n\tIMX8ULP_PAD_PTF13 = 77,\n\tIMX8ULP_PAD_PTF14 = 78,\n\tIMX8ULP_PAD_PTF15 = 79,\n\tIMX8ULP_PAD_PTF16 = 80,\n\tIMX8ULP_PAD_PTF17 = 81,\n\tIMX8ULP_PAD_PTF18 = 82,\n\tIMX8ULP_PAD_PTF19 = 83,\n\tIMX8ULP_PAD_PTF20 = 84,\n\tIMX8ULP_PAD_PTF21 = 85,\n\tIMX8ULP_PAD_PTF22 = 86,\n\tIMX8ULP_PAD_PTF23 = 87,\n\tIMX8ULP_PAD_PTF24 = 88,\n\tIMX8ULP_PAD_PTF25 = 89,\n\tIMX8ULP_PAD_PTF26 = 90,\n\tIMX8ULP_PAD_PTF27 = 91,\n\tIMX8ULP_PAD_PTF28 = 92,\n\tIMX8ULP_PAD_PTF29 = 93,\n\tIMX8ULP_PAD_PTF30 = 94,\n\tIMX8ULP_PAD_PTF31 = 95,\n};\n\nenum imx93_pads {\n\tIMX93_IOMUXC_DAP_TDI = 0,\n\tIMX93_IOMUXC_DAP_TMS_SWDIO = 1,\n\tIMX93_IOMUXC_DAP_TCLK_SWCLK = 2,\n\tIMX93_IOMUXC_DAP_TDO_TRACESWO = 3,\n\tIMX93_IOMUXC_GPIO_IO00 = 4,\n\tIMX93_IOMUXC_GPIO_IO01 = 5,\n\tIMX93_IOMUXC_GPIO_IO02 = 6,\n\tIMX93_IOMUXC_GPIO_IO03 = 7,\n\tIMX93_IOMUXC_GPIO_IO04 = 8,\n\tIMX93_IOMUXC_GPIO_IO05 = 9,\n\tIMX93_IOMUXC_GPIO_IO06 = 10,\n\tIMX93_IOMUXC_GPIO_IO07 = 11,\n\tIMX93_IOMUXC_GPIO_IO08 = 12,\n\tIMX93_IOMUXC_GPIO_IO09 = 13,\n\tIMX93_IOMUXC_GPIO_IO10 = 14,\n\tIMX93_IOMUXC_GPIO_IO11 = 15,\n\tIMX93_IOMUXC_GPIO_IO12 = 16,\n\tIMX93_IOMUXC_GPIO_IO13 = 17,\n\tIMX93_IOMUXC_GPIO_IO14 = 18,\n\tIMX93_IOMUXC_GPIO_IO15 = 19,\n\tIMX93_IOMUXC_GPIO_IO16 = 20,\n\tIMX93_IOMUXC_GPIO_IO17 = 21,\n\tIMX93_IOMUXC_GPIO_IO18 = 22,\n\tIMX93_IOMUXC_GPIO_IO19 = 23,\n\tIMX93_IOMUXC_GPIO_IO20 = 24,\n\tIMX93_IOMUXC_GPIO_IO21 = 25,\n\tIMX93_IOMUXC_GPIO_IO22 = 26,\n\tIMX93_IOMUXC_GPIO_IO23 = 27,\n\tIMX93_IOMUXC_GPIO_IO24 = 28,\n\tIMX93_IOMUXC_GPIO_IO25 = 29,\n\tIMX93_IOMUXC_GPIO_IO26 = 30,\n\tIMX93_IOMUXC_GPIO_IO27 = 31,\n\tIMX93_IOMUXC_GPIO_IO28 = 32,\n\tIMX93_IOMUXC_GPIO_IO29 = 33,\n\tIMX93_IOMUXC_CCM_CLKO1 = 34,\n\tIMX93_IOMUXC_CCM_CLKO2 = 35,\n\tIMX93_IOMUXC_CCM_CLKO3 = 36,\n\tIMX93_IOMUXC_CCM_CLKO4 = 37,\n\tIMX93_IOMUXC_ENET1_MDC = 38,\n\tIMX93_IOMUXC_ENET1_MDIO = 39,\n\tIMX93_IOMUXC_ENET1_TD3 = 40,\n\tIMX93_IOMUXC_ENET1_TD2 = 41,\n\tIMX93_IOMUXC_ENET1_TD1 = 42,\n\tIMX93_IOMUXC_ENET1_TD0 = 43,\n\tIMX93_IOMUXC_ENET1_TX_CTL = 44,\n\tIMX93_IOMUXC_ENET1_TXC = 45,\n\tIMX93_IOMUXC_ENET1_RX_CTL = 46,\n\tIMX93_IOMUXC_ENET1_RXC = 47,\n\tIMX93_IOMUXC_ENET1_RD0 = 48,\n\tIMX93_IOMUXC_ENET1_RD1 = 49,\n\tIMX93_IOMUXC_ENET1_RD2 = 50,\n\tIMX93_IOMUXC_ENET1_RD3 = 51,\n\tIMX93_IOMUXC_ENET2_MDC = 52,\n\tIMX93_IOMUXC_ENET2_MDIO = 53,\n\tIMX93_IOMUXC_ENET2_TD3 = 54,\n\tIMX93_IOMUXC_ENET2_TD2 = 55,\n\tIMX93_IOMUXC_ENET2_TD1 = 56,\n\tIMX93_IOMUXC_ENET2_TD0 = 57,\n\tIMX93_IOMUXC_ENET2_TX_CTL = 58,\n\tIMX93_IOMUXC_ENET2_TXC = 59,\n\tIMX93_IOMUXC_ENET2_RX_CTL = 60,\n\tIMX93_IOMUXC_ENET2_RXC = 61,\n\tIMX93_IOMUXC_ENET2_RD0 = 62,\n\tIMX93_IOMUXC_ENET2_RD1 = 63,\n\tIMX93_IOMUXC_ENET2_RD2 = 64,\n\tIMX93_IOMUXC_ENET2_RD3 = 65,\n\tIMX93_IOMUXC_SD1_CLK = 66,\n\tIMX93_IOMUXC_SD1_CMD = 67,\n\tIMX93_IOMUXC_SD1_DATA0 = 68,\n\tIMX93_IOMUXC_SD1_DATA1 = 69,\n\tIMX93_IOMUXC_SD1_DATA2 = 70,\n\tIMX93_IOMUXC_SD1_DATA3 = 71,\n\tIMX93_IOMUXC_SD1_DATA4 = 72,\n\tIMX93_IOMUXC_SD1_DATA5 = 73,\n\tIMX93_IOMUXC_SD1_DATA6 = 74,\n\tIMX93_IOMUXC_SD1_DATA7 = 75,\n\tIMX93_IOMUXC_SD1_STROBE = 76,\n\tIMX93_IOMUXC_SD2_VSELECT = 77,\n\tIMX93_IOMUXC_SD3_CLK = 78,\n\tIMX93_IOMUXC_SD3_CMD = 79,\n\tIMX93_IOMUXC_SD3_DATA0 = 80,\n\tIMX93_IOMUXC_SD3_DATA1 = 81,\n\tIMX93_IOMUXC_SD3_DATA2 = 82,\n\tIMX93_IOMUXC_SD3_DATA3 = 83,\n\tIMX93_IOMUXC_SD2_CD_B = 84,\n\tIMX93_IOMUXC_SD2_CLK = 85,\n\tIMX93_IOMUXC_SD2_CMD = 86,\n\tIMX93_IOMUXC_SD2_DATA0 = 87,\n\tIMX93_IOMUXC_SD2_DATA1 = 88,\n\tIMX93_IOMUXC_SD2_DATA2 = 89,\n\tIMX93_IOMUXC_SD2_DATA3 = 90,\n\tIMX93_IOMUXC_SD2_RESET_B = 91,\n\tIMX93_IOMUXC_I2C1_SCL = 92,\n\tIMX93_IOMUXC_I2C1_SDA = 93,\n\tIMX93_IOMUXC_I2C2_SCL = 94,\n\tIMX93_IOMUXC_I2C2_SDA = 95,\n\tIMX93_IOMUXC_UART1_RXD = 96,\n\tIMX93_IOMUXC_UART1_TXD = 97,\n\tIMX93_IOMUXC_UART2_RXD = 98,\n\tIMX93_IOMUXC_UART2_TXD = 99,\n\tIMX93_IOMUXC_PDM_CLK = 100,\n\tIMX93_IOMUXC_PDM_BIT_STREAM0 = 101,\n\tIMX93_IOMUXC_PDM_BIT_STREAM1 = 102,\n\tIMX93_IOMUXC_SAI1_TXFS = 103,\n\tIMX93_IOMUXC_SAI1_TXC = 104,\n\tIMX93_IOMUXC_SAI1_TXD0 = 105,\n\tIMX93_IOMUXC_SAI1_RXD0 = 106,\n\tIMX93_IOMUXC_WDOG_ANY = 107,\n};\n\nenum imx_i2c_state {\n\tIMX_I2C_STATE_DONE = 0,\n\tIMX_I2C_STATE_FAILED = 1,\n\tIMX_I2C_STATE_WRITE = 2,\n\tIMX_I2C_STATE_DMA = 3,\n\tIMX_I2C_STATE_READ = 4,\n\tIMX_I2C_STATE_READ_CONTINUE = 5,\n\tIMX_I2C_STATE_READ_BLOCK_DATA = 6,\n\tIMX_I2C_STATE_READ_BLOCK_DATA_LEN = 7,\n};\n\nenum imx_i2c_type {\n\tIMX1_I2C = 0,\n\tIMX21_I2C = 1,\n\tS32G_I2C = 2,\n\tVF610_I2C = 3,\n};\n\nenum imx_misc_func {\n\tIMX_SC_MISC_FUNC_UNKNOWN = 0,\n\tIMX_SC_MISC_FUNC_SET_CONTROL = 1,\n\tIMX_SC_MISC_FUNC_GET_CONTROL = 2,\n\tIMX_SC_MISC_FUNC_SET_MAX_DMA_GROUP = 4,\n\tIMX_SC_MISC_FUNC_SET_DMA_GROUP = 5,\n\tIMX_SC_MISC_FUNC_SECO_IMAGE_LOAD = 8,\n\tIMX_SC_MISC_FUNC_SECO_AUTHENTICATE = 9,\n\tIMX_SC_MISC_FUNC_DEBUG_OUT = 10,\n\tIMX_SC_MISC_FUNC_WAVEFORM_CAPTURE = 6,\n\tIMX_SC_MISC_FUNC_BUILD_INFO = 15,\n\tIMX_SC_MISC_FUNC_UNIQUE_ID = 19,\n\tIMX_SC_MISC_FUNC_SET_ARI = 3,\n\tIMX_SC_MISC_FUNC_BOOT_STATUS = 7,\n\tIMX_SC_MISC_FUNC_BOOT_DONE = 14,\n\tIMX_SC_MISC_FUNC_OTP_FUSE_READ = 11,\n\tIMX_SC_MISC_FUNC_OTP_FUSE_WRITE = 17,\n\tIMX_SC_MISC_FUNC_SET_TEMP = 12,\n\tIMX_SC_MISC_FUNC_GET_TEMP = 13,\n\tIMX_SC_MISC_FUNC_GET_BOOT_DEV = 16,\n\tIMX_SC_MISC_FUNC_GET_BUTTON_STATUS = 18,\n};\n\nenum imx_mu_chan_type {\n\tIMX_MU_TYPE_TX = 0,\n\tIMX_MU_TYPE_RX = 1,\n\tIMX_MU_TYPE_TXDB = 2,\n\tIMX_MU_TYPE_RXDB = 3,\n\tIMX_MU_TYPE_RST = 4,\n\tIMX_MU_TYPE_TXDB_V2 = 5,\n};\n\nenum imx_mu_type {\n\tIMX_MU_V1 = 0,\n\tIMX_MU_V2 = 2,\n\tIMX_MU_V2_S4 = 32768,\n\tIMX_MU_V2_IRQ = 65536,\n};\n\nenum imx_mu_xcr {\n\tIMX_MU_CR = 0,\n\tIMX_MU_GIER = 1,\n\tIMX_MU_GCR = 2,\n\tIMX_MU_TCR = 3,\n\tIMX_MU_RCR = 4,\n\tIMX_MU_xCR_MAX = 5,\n};\n\nenum imx_mu_xsr {\n\tIMX_MU_SR = 0,\n\tIMX_MU_GSR = 1,\n\tIMX_MU_TSR = 2,\n\tIMX_MU_RSR = 3,\n\tIMX_MU_xSR_MAX = 4,\n};\n\nenum imx_pcie_variants {\n\tIMX6Q = 0,\n\tIMX6SX = 1,\n\tIMX6QP = 2,\n\tIMX7D = 3,\n\tIMX8MQ = 4,\n\tIMX8MM___2 = 5,\n\tIMX8MP___2 = 6,\n\tIMX8Q = 7,\n\tIMX95 = 8,\n\tIMX8MQ_EP = 9,\n\tIMX8MM_EP = 10,\n\tIMX8MP_EP = 11,\n\tIMX8Q_EP = 12,\n\tIMX95_EP = 13,\n};\n\nenum imx_pfdv2_type {\n\tIMX_PFDV2_IMX7ULP = 0,\n\tIMX_PFDV2_IMX8ULP = 1,\n};\n\nenum imx_pll14xx_type {\n\tPLL_1416X = 0,\n\tPLL_1443X = 1,\n};\n\nenum imx_pllv1_type {\n\tIMX_PLLV1_IMX1 = 0,\n\tIMX_PLLV1_IMX21 = 1,\n\tIMX_PLLV1_IMX25 = 2,\n\tIMX_PLLV1_IMX27 = 3,\n\tIMX_PLLV1_IMX31 = 4,\n\tIMX_PLLV1_IMX35 = 5,\n};\n\nenum imx_pllv3_type {\n\tIMX_PLLV3_GENERIC = 0,\n\tIMX_PLLV3_SYS = 1,\n\tIMX_PLLV3_USB = 2,\n\tIMX_PLLV3_USB_VF610 = 3,\n\tIMX_PLLV3_AV = 4,\n\tIMX_PLLV3_ENET = 5,\n\tIMX_PLLV3_ENET_IMX7 = 6,\n\tIMX_PLLV3_SYS_VF610 = 7,\n\tIMX_PLLV3_DDR_IMX7 = 8,\n\tIMX_PLLV3_AV_IMX7 = 9,\n};\n\nenum imx_pllv4_type {\n\tIMX_PLLV4_IMX7ULP = 0,\n\tIMX_PLLV4_IMX8ULP = 1,\n\tIMX_PLLV4_IMX8ULP_1GHZ = 2,\n};\n\nenum imx_rproc_method {\n\tIMX_RPROC_NONE = 0,\n\tIMX_RPROC_MMIO = 1,\n\tIMX_RPROC_SMC = 2,\n\tIMX_RPROC_SCU_API = 3,\n};\n\nenum imx_sc_error_codes {\n\tIMX_SC_ERR_NONE = 0,\n\tIMX_SC_ERR_VERSION = 1,\n\tIMX_SC_ERR_CONFIG = 2,\n\tIMX_SC_ERR_PARM = 3,\n\tIMX_SC_ERR_NOACCESS = 4,\n\tIMX_SC_ERR_LOCKED = 5,\n\tIMX_SC_ERR_UNAVAILABLE = 6,\n\tIMX_SC_ERR_NOTFOUND = 7,\n\tIMX_SC_ERR_NOPOWER = 8,\n\tIMX_SC_ERR_IPC = 9,\n\tIMX_SC_ERR_BUSY = 10,\n\tIMX_SC_ERR_FAIL = 11,\n\tIMX_SC_ERR_LAST = 12,\n};\n\nenum imx_sc_pm_func {\n\tIMX_SC_PM_FUNC_UNKNOWN = 0,\n\tIMX_SC_PM_FUNC_SET_SYS_POWER_MODE = 19,\n\tIMX_SC_PM_FUNC_SET_PARTITION_POWER_MODE = 1,\n\tIMX_SC_PM_FUNC_GET_SYS_POWER_MODE = 2,\n\tIMX_SC_PM_FUNC_SET_RESOURCE_POWER_MODE = 3,\n\tIMX_SC_PM_FUNC_GET_RESOURCE_POWER_MODE = 4,\n\tIMX_SC_PM_FUNC_REQ_LOW_POWER_MODE = 16,\n\tIMX_SC_PM_FUNC_SET_CPU_RESUME_ADDR = 17,\n\tIMX_SC_PM_FUNC_REQ_SYS_IF_POWER_MODE = 18,\n\tIMX_SC_PM_FUNC_SET_CLOCK_RATE = 5,\n\tIMX_SC_PM_FUNC_GET_CLOCK_RATE = 6,\n\tIMX_SC_PM_FUNC_CLOCK_ENABLE = 7,\n\tIMX_SC_PM_FUNC_SET_CLOCK_PARENT = 14,\n\tIMX_SC_PM_FUNC_GET_CLOCK_PARENT = 15,\n\tIMX_SC_PM_FUNC_RESET = 13,\n\tIMX_SC_PM_FUNC_RESET_REASON = 10,\n\tIMX_SC_PM_FUNC_BOOT = 8,\n\tIMX_SC_PM_FUNC_REBOOT = 9,\n\tIMX_SC_PM_FUNC_REBOOT_PARTITION = 12,\n\tIMX_SC_PM_FUNC_CPU_START = 11,\n};\n\nenum imx_sc_rm_func {\n\tIMX_SC_RM_FUNC_UNKNOWN = 0,\n\tIMX_SC_RM_FUNC_PARTITION_ALLOC = 1,\n\tIMX_SC_RM_FUNC_SET_CONFIDENTIAL = 31,\n\tIMX_SC_RM_FUNC_PARTITION_FREE = 2,\n\tIMX_SC_RM_FUNC_GET_DID = 26,\n\tIMX_SC_RM_FUNC_PARTITION_STATIC = 3,\n\tIMX_SC_RM_FUNC_PARTITION_LOCK = 4,\n\tIMX_SC_RM_FUNC_GET_PARTITION = 5,\n\tIMX_SC_RM_FUNC_SET_PARENT = 6,\n\tIMX_SC_RM_FUNC_MOVE_ALL = 7,\n\tIMX_SC_RM_FUNC_ASSIGN_RESOURCE = 8,\n\tIMX_SC_RM_FUNC_SET_RESOURCE_MOVABLE = 9,\n\tIMX_SC_RM_FUNC_SET_SUBSYS_RSRC_MOVABLE = 28,\n\tIMX_SC_RM_FUNC_SET_MASTER_ATTRIBUTES = 10,\n\tIMX_SC_RM_FUNC_SET_MASTER_SID = 11,\n\tIMX_SC_RM_FUNC_SET_PERIPHERAL_PERMISSIONS = 12,\n\tIMX_SC_RM_FUNC_IS_RESOURCE_OWNED = 13,\n\tIMX_SC_RM_FUNC_GET_RESOURCE_OWNER = 33,\n\tIMX_SC_RM_FUNC_IS_RESOURCE_MASTER = 14,\n\tIMX_SC_RM_FUNC_IS_RESOURCE_PERIPHERAL = 15,\n\tIMX_SC_RM_FUNC_GET_RESOURCE_INFO = 16,\n\tIMX_SC_RM_FUNC_MEMREG_ALLOC = 17,\n\tIMX_SC_RM_FUNC_MEMREG_SPLIT = 29,\n\tIMX_SC_RM_FUNC_MEMREG_FRAG = 32,\n\tIMX_SC_RM_FUNC_MEMREG_FREE = 18,\n\tIMX_SC_RM_FUNC_FIND_MEMREG = 30,\n\tIMX_SC_RM_FUNC_ASSIGN_MEMREG = 19,\n\tIMX_SC_RM_FUNC_SET_MEMREG_PERMISSIONS = 20,\n\tIMX_SC_RM_FUNC_IS_MEMREG_OWNED = 21,\n\tIMX_SC_RM_FUNC_GET_MEMREG_INFO = 22,\n\tIMX_SC_RM_FUNC_ASSIGN_PAD = 23,\n\tIMX_SC_RM_FUNC_SET_PAD_MOVABLE = 24,\n\tIMX_SC_RM_FUNC_IS_PAD_OWNED = 25,\n\tIMX_SC_RM_FUNC_DUMP = 27,\n};\n\nenum imx_sc_rpc_svc {\n\tIMX_SC_RPC_SVC_UNKNOWN = 0,\n\tIMX_SC_RPC_SVC_RETURN = 1,\n\tIMX_SC_RPC_SVC_PM = 2,\n\tIMX_SC_RPC_SVC_RM = 3,\n\tIMX_SC_RPC_SVC_TIMER = 5,\n\tIMX_SC_RPC_SVC_PAD = 6,\n\tIMX_SC_RPC_SVC_MISC = 7,\n\tIMX_SC_RPC_SVC_IRQ = 8,\n};\n\nenum imx_tx_state {\n\tOFF = 0,\n\tWAIT_AFTER_RTS = 1,\n\tSEND = 2,\n\tWAIT_AFTER_SEND = 3,\n};\n\nenum imx_uart_type {\n\tIMX1_UART = 0,\n\tIMX21_UART = 1,\n};\n\nenum inet_csk_ack_state_t {\n\tICSK_ACK_SCHED = 1,\n\tICSK_ACK_TIMER = 2,\n\tICSK_ACK_PUSHED = 4,\n\tICSK_ACK_PUSHED2 = 8,\n\tICSK_ACK_NOW = 16,\n\tICSK_ACK_NOMEM = 32,\n};\n\nenum inode_i_mutex_lock_class {\n\tI_MUTEX_NORMAL = 0,\n\tI_MUTEX_PARENT = 1,\n\tI_MUTEX_CHILD = 2,\n\tI_MUTEX_XATTR = 3,\n\tI_MUTEX_NONDIR2 = 4,\n\tI_MUTEX_PARENT2 = 5,\n};\n\nenum input_clock_type {\n\tINPUT_CLK_REAL = 0,\n\tINPUT_CLK_MONO = 1,\n\tINPUT_CLK_BOOT = 2,\n\tINPUT_CLK_MAX = 3,\n};\n\nenum interconnect_desc_param {\n\tINTERCONNECT_DESC_PARAM_LEN = 0,\n\tINTERCONNECT_DESC_PARAM_TYPE = 1,\n\tINTERCONNECT_DESC_PARAM_UNIPRO_VER = 2,\n\tINTERCONNECT_DESC_PARAM_MPHY_VER = 4,\n};\n\nenum io_pgtable_caps {\n\tIO_PGTABLE_CAP_CUSTOM_ALLOCATOR = 1,\n};\n\nenum io_pgtable_fmt {\n\tARM_32_LPAE_S1 = 0,\n\tARM_32_LPAE_S2 = 1,\n\tARM_64_LPAE_S1 = 2,\n\tARM_64_LPAE_S2 = 3,\n\tARM_V7S = 4,\n\tARM_MALI_LPAE = 5,\n\tAMD_IOMMU_V1 = 6,\n\tAMD_IOMMU_V2 = 7,\n\tAPPLE_DART = 8,\n\tAPPLE_DART2 = 9,\n\tIO_PGTABLE_NUM_FMTS = 10,\n};\n\nenum io_uring_cmd_flags {\n\tIO_URING_F_COMPLETE_DEFER = 1,\n\tIO_URING_F_UNLOCKED = 2,\n\tIO_URING_F_MULTISHOT = 4,\n\tIO_URING_F_IOWQ = 8,\n\tIO_URING_F_NONBLOCK = -2147483648,\n\tIO_URING_F_SQE128 = 256,\n\tIO_URING_F_CQE32 = 512,\n\tIO_URING_F_IOPOLL = 1024,\n\tIO_URING_F_CANCEL = 2048,\n\tIO_URING_F_COMPAT = 4096,\n\tIO_URING_F_TASK_DEAD = 8192,\n};\n\nenum io_uring_msg_ring_flags {\n\tIORING_MSG_DATA = 0,\n\tIORING_MSG_SEND_FD = 1,\n};\n\nenum io_uring_napi_op {\n\tIO_URING_NAPI_REGISTER_OP = 0,\n\tIO_URING_NAPI_STATIC_ADD_ID = 1,\n\tIO_URING_NAPI_STATIC_DEL_ID = 2,\n};\n\nenum io_uring_napi_tracking_strategy {\n\tIO_URING_NAPI_TRACKING_DYNAMIC = 0,\n\tIO_URING_NAPI_TRACKING_STATIC = 1,\n\tIO_URING_NAPI_TRACKING_INACTIVE = 255,\n};\n\nenum io_uring_op {\n\tIORING_OP_NOP = 0,\n\tIORING_OP_READV = 1,\n\tIORING_OP_WRITEV = 2,\n\tIORING_OP_FSYNC = 3,\n\tIORING_OP_READ_FIXED = 4,\n\tIORING_OP_WRITE_FIXED = 5,\n\tIORING_OP_POLL_ADD = 6,\n\tIORING_OP_POLL_REMOVE = 7,\n\tIORING_OP_SYNC_FILE_RANGE = 8,\n\tIORING_OP_SENDMSG = 9,\n\tIORING_OP_RECVMSG = 10,\n\tIORING_OP_TIMEOUT = 11,\n\tIORING_OP_TIMEOUT_REMOVE = 12,\n\tIORING_OP_ACCEPT = 13,\n\tIORING_OP_ASYNC_CANCEL = 14,\n\tIORING_OP_LINK_TIMEOUT = 15,\n\tIORING_OP_CONNECT = 16,\n\tIORING_OP_FALLOCATE = 17,\n\tIORING_OP_OPENAT = 18,\n\tIORING_OP_CLOSE = 19,\n\tIORING_OP_FILES_UPDATE = 20,\n\tIORING_OP_STATX = 21,\n\tIORING_OP_READ = 22,\n\tIORING_OP_WRITE = 23,\n\tIORING_OP_FADVISE = 24,\n\tIORING_OP_MADVISE = 25,\n\tIORING_OP_SEND = 26,\n\tIORING_OP_RECV = 27,\n\tIORING_OP_OPENAT2 = 28,\n\tIORING_OP_EPOLL_CTL = 29,\n\tIORING_OP_SPLICE = 30,\n\tIORING_OP_PROVIDE_BUFFERS = 31,\n\tIORING_OP_REMOVE_BUFFERS = 32,\n\tIORING_OP_TEE = 33,\n\tIORING_OP_SHUTDOWN = 34,\n\tIORING_OP_RENAMEAT = 35,\n\tIORING_OP_UNLINKAT = 36,\n\tIORING_OP_MKDIRAT = 37,\n\tIORING_OP_SYMLINKAT = 38,\n\tIORING_OP_LINKAT = 39,\n\tIORING_OP_MSG_RING = 40,\n\tIORING_OP_FSETXATTR = 41,\n\tIORING_OP_SETXATTR = 42,\n\tIORING_OP_FGETXATTR = 43,\n\tIORING_OP_GETXATTR = 44,\n\tIORING_OP_SOCKET = 45,\n\tIORING_OP_URING_CMD = 46,\n\tIORING_OP_SEND_ZC = 47,\n\tIORING_OP_SENDMSG_ZC = 48,\n\tIORING_OP_READ_MULTISHOT = 49,\n\tIORING_OP_WAITID = 50,\n\tIORING_OP_FUTEX_WAIT = 51,\n\tIORING_OP_FUTEX_WAKE = 52,\n\tIORING_OP_FUTEX_WAITV = 53,\n\tIORING_OP_FIXED_FD_INSTALL = 54,\n\tIORING_OP_FTRUNCATE = 55,\n\tIORING_OP_BIND = 56,\n\tIORING_OP_LISTEN = 57,\n\tIORING_OP_LAST = 58,\n};\n\nenum io_uring_register_op {\n\tIORING_REGISTER_BUFFERS = 0,\n\tIORING_UNREGISTER_BUFFERS = 1,\n\tIORING_REGISTER_FILES = 2,\n\tIORING_UNREGISTER_FILES = 3,\n\tIORING_REGISTER_EVENTFD = 4,\n\tIORING_UNREGISTER_EVENTFD = 5,\n\tIORING_REGISTER_FILES_UPDATE = 6,\n\tIORING_REGISTER_EVENTFD_ASYNC = 7,\n\tIORING_REGISTER_PROBE = 8,\n\tIORING_REGISTER_PERSONALITY = 9,\n\tIORING_UNREGISTER_PERSONALITY = 10,\n\tIORING_REGISTER_RESTRICTIONS = 11,\n\tIORING_REGISTER_ENABLE_RINGS = 12,\n\tIORING_REGISTER_FILES2 = 13,\n\tIORING_REGISTER_FILES_UPDATE2 = 14,\n\tIORING_REGISTER_BUFFERS2 = 15,\n\tIORING_REGISTER_BUFFERS_UPDATE = 16,\n\tIORING_REGISTER_IOWQ_AFF = 17,\n\tIORING_UNREGISTER_IOWQ_AFF = 18,\n\tIORING_REGISTER_IOWQ_MAX_WORKERS = 19,\n\tIORING_REGISTER_RING_FDS = 20,\n\tIORING_UNREGISTER_RING_FDS = 21,\n\tIORING_REGISTER_PBUF_RING = 22,\n\tIORING_UNREGISTER_PBUF_RING = 23,\n\tIORING_REGISTER_SYNC_CANCEL = 24,\n\tIORING_REGISTER_FILE_ALLOC_RANGE = 25,\n\tIORING_REGISTER_PBUF_STATUS = 26,\n\tIORING_REGISTER_NAPI = 27,\n\tIORING_UNREGISTER_NAPI = 28,\n\tIORING_REGISTER_CLOCK = 29,\n\tIORING_REGISTER_CLONE_BUFFERS = 30,\n\tIORING_REGISTER_SEND_MSG_RING = 31,\n\tIORING_REGISTER_RESIZE_RINGS = 33,\n\tIORING_REGISTER_MEM_REGION = 34,\n\tIORING_REGISTER_LAST = 35,\n\tIORING_REGISTER_USE_REGISTERED_RING = 2147483648,\n};\n\nenum io_uring_register_pbuf_ring_flags {\n\tIOU_PBUF_RING_MMAP = 1,\n\tIOU_PBUF_RING_INC = 2,\n};\n\nenum io_uring_register_restriction_op {\n\tIORING_RESTRICTION_REGISTER_OP = 0,\n\tIORING_RESTRICTION_SQE_OP = 1,\n\tIORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2,\n\tIORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3,\n\tIORING_RESTRICTION_LAST = 4,\n};\n\nenum io_uring_socket_op {\n\tSOCKET_URING_OP_SIOCINQ = 0,\n\tSOCKET_URING_OP_SIOCOUTQ = 1,\n\tSOCKET_URING_OP_GETSOCKOPT = 2,\n\tSOCKET_URING_OP_SETSOCKOPT = 3,\n};\n\nenum io_uring_sqe_flags_bit {\n\tIOSQE_FIXED_FILE_BIT = 0,\n\tIOSQE_IO_DRAIN_BIT = 1,\n\tIOSQE_IO_LINK_BIT = 2,\n\tIOSQE_IO_HARDLINK_BIT = 3,\n\tIOSQE_ASYNC_BIT = 4,\n\tIOSQE_BUFFER_SELECT_BIT = 5,\n\tIOSQE_CQE_SKIP_SUCCESS_BIT = 6,\n};\n\nenum io_wq_cancel {\n\tIO_WQ_CANCEL_OK = 0,\n\tIO_WQ_CANCEL_RUNNING = 1,\n\tIO_WQ_CANCEL_NOTFOUND = 2,\n};\n\nenum io_wq_type {\n\tIO_WQ_BOUND = 0,\n\tIO_WQ_UNBOUND = 1,\n};\n\nenum ioctrl_regs {\n\tPOC0 = 0,\n\tPOC1 = 1,\n\tPOC3 = 2,\n\tPOC4 = 3,\n\tPOC5 = 4,\n\tPOC6 = 5,\n\tPOC7 = 6,\n\tPOC8 = 7,\n};\n\nenum ioctrl_regs___2 {\n\tPOC0___2 = 0,\n\tPOC1___2 = 1,\n\tPOC2 = 2,\n\tPOC4___2 = 3,\n\tPOC5___2 = 4,\n\tPOC6___2 = 5,\n\tPOC7___2 = 6,\n\tPOC8___2 = 7,\n\tPOC9 = 8,\n\tTD1SEL0 = 9,\n};\n\nenum ioctrl_regs___3 {\n\tPOC0___3 = 0,\n\tPOC1___3 = 1,\n\tPOC3___2 = 2,\n\tPOC4___3 = 3,\n\tPOC5___3 = 4,\n\tPOC6___3 = 5,\n\tPOC7___3 = 6,\n};\n\nenum ioctrl_regs___4 {\n\tPOCCTRL = 0,\n\tTDSELCTRL = 1,\n};\n\nenum ioctrl_regs___5 {\n\tPOCCTRL0 = 0,\n\tPOCCTRL1 = 1,\n\tPOCCTRL2 = 2,\n\tPOCCTRL3 = 3,\n\tTDSELCTRL___2 = 4,\n};\n\nenum ioctrl_regs___6 {\n\tPOCCTRL0___2 = 0,\n\tPOCCTRL2___2 = 1,\n\tTDSELCTRL___3 = 2,\n};\n\nenum ioctrl_regs___7 {\n\tPOC0___4 = 0,\n\tPOC1___4 = 1,\n\tPOC3___3 = 2,\n\tTD0SEL1 = 3,\n};\n\nenum ioctrl_regs___8 {\n\tPOCCTRL0___3 = 0,\n\tPOCCTRL1___2 = 1,\n\tPOCCTRL2___3 = 2,\n\tTDSELCTRL___4 = 3,\n};\n\nenum iodev_type {\n\tIODEV_CPUIF = 0,\n\tIODEV_DIST = 1,\n\tIODEV_REDIST = 2,\n\tIODEV_ITS = 3,\n};\n\nenum iommu_atf_cmd {\n\tIOMMU_ATF_CMD_CONFIG_SMI_LARB = 0,\n\tIOMMU_ATF_CMD_CONFIG_INFRA_IOMMU = 1,\n\tIOMMU_ATF_CMD_MAX = 2,\n};\n\nenum iommu_cap {\n\tIOMMU_CAP_CACHE_COHERENCY = 0,\n\tIOMMU_CAP_NOEXEC = 1,\n\tIOMMU_CAP_PRE_BOOT_PROTECTION = 2,\n\tIOMMU_CAP_ENFORCE_CACHE_COHERENCY = 3,\n\tIOMMU_CAP_DEFERRED_FLUSH = 4,\n\tIOMMU_CAP_DIRTY_TRACKING = 5,\n};\n\nenum iommu_dev_features {\n\tIOMMU_DEV_FEAT_SVA = 0,\n\tIOMMU_DEV_FEAT_IOPF = 1,\n};\n\nenum iommu_dma_cookie_type {\n\tIOMMU_DMA_IOVA_COOKIE = 0,\n\tIOMMU_DMA_MSI_COOKIE = 1,\n};\n\nenum iommu_dma_queue_type {\n\tIOMMU_DMA_OPTS_PER_CPU_QUEUE = 0,\n\tIOMMU_DMA_OPTS_SINGLE_QUEUE = 1,\n};\n\nenum iommu_fault_type {\n\tIOMMU_FAULT_PAGE_REQ = 1,\n};\n\nenum iommu_page_response_code {\n\tIOMMU_PAGE_RESP_SUCCESS = 0,\n\tIOMMU_PAGE_RESP_INVALID = 1,\n\tIOMMU_PAGE_RESP_FAILURE = 2,\n};\n\nenum iommu_resv_type {\n\tIOMMU_RESV_DIRECT = 0,\n\tIOMMU_RESV_DIRECT_RELAXABLE = 1,\n\tIOMMU_RESV_RESERVED = 2,\n\tIOMMU_RESV_MSI = 3,\n\tIOMMU_RESV_SW_MSI = 4,\n};\n\nenum iommufd_hwpt_alloc_flags {\n\tIOMMU_HWPT_ALLOC_NEST_PARENT = 1,\n\tIOMMU_HWPT_ALLOC_DIRTY_TRACKING = 2,\n\tIOMMU_HWPT_FAULT_ID_VALID = 4,\n\tIOMMU_HWPT_ALLOC_PASID = 8,\n};\n\nenum iommufd_object_type {\n\tIOMMUFD_OBJ_NONE = 0,\n\tIOMMUFD_OBJ_ANY = 0,\n\tIOMMUFD_OBJ_DEVICE = 1,\n\tIOMMUFD_OBJ_HWPT_PAGING = 2,\n\tIOMMUFD_OBJ_HWPT_NESTED = 3,\n\tIOMMUFD_OBJ_IOAS = 4,\n\tIOMMUFD_OBJ_ACCESS = 5,\n\tIOMMUFD_OBJ_FAULT = 6,\n\tIOMMUFD_OBJ_VIOMMU = 7,\n\tIOMMUFD_OBJ_VDEVICE = 8,\n\tIOMMUFD_OBJ_MAX = 9,\n};\n\nenum ip_conntrack_dir {\n\tIP_CT_DIR_ORIGINAL = 0,\n\tIP_CT_DIR_REPLY = 1,\n\tIP_CT_DIR_MAX = 2,\n};\n\nenum ip_conntrack_info {\n\tIP_CT_ESTABLISHED = 0,\n\tIP_CT_RELATED = 1,\n\tIP_CT_NEW = 2,\n\tIP_CT_IS_REPLY = 3,\n\tIP_CT_ESTABLISHED_REPLY = 3,\n\tIP_CT_RELATED_REPLY = 4,\n\tIP_CT_NUMBER = 5,\n\tIP_CT_UNTRACKED = 7,\n};\n\nenum ip_conntrack_status {\n\tIPS_EXPECTED_BIT = 0,\n\tIPS_EXPECTED = 1,\n\tIPS_SEEN_REPLY_BIT = 1,\n\tIPS_SEEN_REPLY = 2,\n\tIPS_ASSURED_BIT = 2,\n\tIPS_ASSURED = 4,\n\tIPS_CONFIRMED_BIT = 3,\n\tIPS_CONFIRMED = 8,\n\tIPS_SRC_NAT_BIT = 4,\n\tIPS_SRC_NAT = 16,\n\tIPS_DST_NAT_BIT = 5,\n\tIPS_DST_NAT = 32,\n\tIPS_NAT_MASK = 48,\n\tIPS_SEQ_ADJUST_BIT = 6,\n\tIPS_SEQ_ADJUST = 64,\n\tIPS_SRC_NAT_DONE_BIT = 7,\n\tIPS_SRC_NAT_DONE = 128,\n\tIPS_DST_NAT_DONE_BIT = 8,\n\tIPS_DST_NAT_DONE = 256,\n\tIPS_NAT_DONE_MASK = 384,\n\tIPS_DYING_BIT = 9,\n\tIPS_DYING = 512,\n\tIPS_FIXED_TIMEOUT_BIT = 10,\n\tIPS_FIXED_TIMEOUT = 1024,\n\tIPS_TEMPLATE_BIT = 11,\n\tIPS_TEMPLATE = 2048,\n\tIPS_UNTRACKED_BIT = 12,\n\tIPS_UNTRACKED = 4096,\n\tIPS_NAT_CLASH_BIT = 12,\n\tIPS_NAT_CLASH = 4096,\n\tIPS_HELPER_BIT = 13,\n\tIPS_HELPER = 8192,\n\tIPS_OFFLOAD_BIT = 14,\n\tIPS_OFFLOAD = 16384,\n\tIPS_HW_OFFLOAD_BIT = 15,\n\tIPS_HW_OFFLOAD = 32768,\n\tIPS_UNCHANGEABLE_MASK = 56313,\n\t__IPS_MAX_BIT = 16,\n};\n\nenum ip_defrag_users {\n\tIP_DEFRAG_LOCAL_DELIVER = 0,\n\tIP_DEFRAG_CALL_RA_CHAIN = 1,\n\tIP_DEFRAG_CONNTRACK_IN = 2,\n\t__IP_DEFRAG_CONNTRACK_IN_END = 65537,\n\tIP_DEFRAG_CONNTRACK_OUT = 65538,\n\t__IP_DEFRAG_CONNTRACK_OUT_END = 131073,\n\tIP_DEFRAG_CONNTRACK_BRIDGE_IN = 131074,\n\t__IP_DEFRAG_CONNTRACK_BRIDGE_IN = 196609,\n\tIP_DEFRAG_VS_IN = 196610,\n\tIP_DEFRAG_VS_OUT = 196611,\n\tIP_DEFRAG_VS_FWD = 196612,\n\tIP_DEFRAG_AF_PACKET = 196613,\n\tIP_DEFRAG_MACVLAN = 196614,\n};\n\nenum ipi_msg_type {\n\tIPI_RESCHEDULE = 0,\n\tIPI_CALL_FUNC = 1,\n\tIPI_CPU_STOP = 2,\n\tIPI_CPU_STOP_NMI = 3,\n\tIPI_TIMER = 4,\n\tIPI_IRQ_WORK = 5,\n\tNR_IPI = 6,\n\tIPI_CPU_BACKTRACE = 6,\n\tIPI_KGDB_ROUNDUP = 7,\n\tMAX_IPI = 8,\n};\n\nenum ipi_vector {\n\tXEN_PLACEHOLDER_VECTOR = 0,\n\tXEN_NR_IPIS = 1,\n};\n\nenum ipmi_addr_space {\n\tIPMI_IO_ADDR_SPACE = 0,\n\tIPMI_MEM_ADDR_SPACE = 1,\n};\n\nenum ipmi_addr_src {\n\tSI_INVALID = 0,\n\tSI_HOTMOD = 1,\n\tSI_HARDCODED = 2,\n\tSI_SPMI = 3,\n\tSI_ACPI = 4,\n\tSI_SMBIOS = 5,\n\tSI_PCI = 6,\n\tSI_DEVICETREE = 7,\n\tSI_PLATFORM = 8,\n\tSI_LAST = 9,\n};\n\nenum ipmi_plat_interface_type {\n\tIPMI_PLAT_IF_SI = 0,\n\tIPMI_PLAT_IF_SSIF = 1,\n};\n\nenum ipq5018_functions {\n\tmsm_mux_atest_char = 0,\n\tmsm_mux_audio_pdm0 = 1,\n\tmsm_mux_audio_pdm1 = 2,\n\tmsm_mux_audio_rxbclk = 3,\n\tmsm_mux_audio_rxd = 4,\n\tmsm_mux_audio_rxfsync = 5,\n\tmsm_mux_audio_rxmclk = 6,\n\tmsm_mux_audio_txbclk = 7,\n\tmsm_mux_audio_txd = 8,\n\tmsm_mux_audio_txfsync = 9,\n\tmsm_mux_audio_txmclk = 10,\n\tmsm_mux_blsp0_i2c = 11,\n\tmsm_mux_blsp0_spi = 12,\n\tmsm_mux_blsp0_uart0 = 13,\n\tmsm_mux_blsp0_uart1 = 14,\n\tmsm_mux_blsp1_i2c0 = 15,\n\tmsm_mux_blsp1_i2c1 = 16,\n\tmsm_mux_blsp1_spi0 = 17,\n\tmsm_mux_blsp1_spi1 = 18,\n\tmsm_mux_blsp1_uart0 = 19,\n\tmsm_mux_blsp1_uart1 = 20,\n\tmsm_mux_blsp1_uart2 = 21,\n\tmsm_mux_blsp2_i2c0 = 22,\n\tmsm_mux_blsp2_i2c1 = 23,\n\tmsm_mux_blsp2_spi = 24,\n\tmsm_mux_blsp2_spi0 = 25,\n\tmsm_mux_blsp2_spi1 = 26,\n\tmsm_mux_btss = 27,\n\tmsm_mux_burn0 = 28,\n\tmsm_mux_burn1 = 29,\n\tmsm_mux_cri_trng = 30,\n\tmsm_mux_cri_trng0 = 31,\n\tmsm_mux_cri_trng1 = 32,\n\tmsm_mux_cxc_clk = 33,\n\tmsm_mux_cxc_data = 34,\n\tmsm_mux_dbg_out = 35,\n\tmsm_mux_eud_gpio = 36,\n\tmsm_mux_gcc_plltest = 37,\n\tmsm_mux_gcc_tlmm = 38,\n\tmsm_mux_gpio = 39,\n\tmsm_mux_led0 = 40,\n\tmsm_mux_led2 = 41,\n\tmsm_mux_mac0 = 42,\n\tmsm_mux_mac1 = 43,\n\tmsm_mux_mdc = 44,\n\tmsm_mux_mdio = 45,\n\tmsm_mux_pcie0_clk = 46,\n\tmsm_mux_pcie0_wake = 47,\n\tmsm_mux_pcie1_clk = 48,\n\tmsm_mux_pcie1_wake = 49,\n\tmsm_mux_pll_test = 50,\n\tmsm_mux_prng_rosc = 51,\n\tmsm_mux_pwm0 = 52,\n\tmsm_mux_pwm1 = 53,\n\tmsm_mux_pwm2 = 54,\n\tmsm_mux_pwm3 = 55,\n\tmsm_mux_qdss_cti_trig_in_a0 = 56,\n\tmsm_mux_qdss_cti_trig_in_a1 = 57,\n\tmsm_mux_qdss_cti_trig_in_b0 = 58,\n\tmsm_mux_qdss_cti_trig_in_b1 = 59,\n\tmsm_mux_qdss_cti_trig_out_a0 = 60,\n\tmsm_mux_qdss_cti_trig_out_a1 = 61,\n\tmsm_mux_qdss_cti_trig_out_b0 = 62,\n\tmsm_mux_qdss_cti_trig_out_b1 = 63,\n\tmsm_mux_qdss_traceclk_a = 64,\n\tmsm_mux_qdss_traceclk_b = 65,\n\tmsm_mux_qdss_tracectl_a = 66,\n\tmsm_mux_qdss_tracectl_b = 67,\n\tmsm_mux_qdss_tracedata_a = 68,\n\tmsm_mux_qdss_tracedata_b = 69,\n\tmsm_mux_qspi_clk = 70,\n\tmsm_mux_qspi_cs = 71,\n\tmsm_mux_qspi_data = 72,\n\tmsm_mux_reset_out = 73,\n\tmsm_mux_sdc1_clk = 74,\n\tmsm_mux_sdc1_cmd = 75,\n\tmsm_mux_sdc1_data = 76,\n\tmsm_mux_wci_txd = 77,\n\tmsm_mux_wci_rxd = 78,\n\tmsm_mux_wsa_swrm = 79,\n\tmsm_mux_wsi_clk3 = 80,\n\tmsm_mux_wsi_data3 = 81,\n\tmsm_mux_wsis_reset = 82,\n\tmsm_mux_xfem = 83,\n\tmsm_mux__ = 84,\n};\n\nenum ipq5332_functions {\n\tmsm_mux_atest_char___2 = 0,\n\tmsm_mux_atest_char0 = 1,\n\tmsm_mux_atest_char1 = 2,\n\tmsm_mux_atest_char2 = 3,\n\tmsm_mux_atest_char3 = 4,\n\tmsm_mux_atest_tic = 5,\n\tmsm_mux_audio_pri = 6,\n\tmsm_mux_audio_pri0 = 7,\n\tmsm_mux_audio_pri1 = 8,\n\tmsm_mux_audio_sec = 9,\n\tmsm_mux_audio_sec0 = 10,\n\tmsm_mux_audio_sec1 = 11,\n\tmsm_mux_blsp0_i2c___2 = 12,\n\tmsm_mux_blsp0_spi___2 = 13,\n\tmsm_mux_blsp0_uart0___2 = 14,\n\tmsm_mux_blsp0_uart1___2 = 15,\n\tmsm_mux_blsp1_i2c0___2 = 16,\n\tmsm_mux_blsp1_i2c1___2 = 17,\n\tmsm_mux_blsp1_spi0___2 = 18,\n\tmsm_mux_blsp1_spi1___2 = 19,\n\tmsm_mux_blsp1_uart0___2 = 20,\n\tmsm_mux_blsp1_uart1___2 = 21,\n\tmsm_mux_blsp1_uart2___2 = 22,\n\tmsm_mux_blsp2_i2c0___2 = 23,\n\tmsm_mux_blsp2_i2c1___2 = 24,\n\tmsm_mux_blsp2_spi___2 = 25,\n\tmsm_mux_blsp2_spi0___2 = 26,\n\tmsm_mux_blsp2_spi1___2 = 27,\n\tmsm_mux_core_voltage = 28,\n\tmsm_mux_cri_trng0___2 = 29,\n\tmsm_mux_cri_trng1___2 = 30,\n\tmsm_mux_cri_trng2 = 31,\n\tmsm_mux_cri_trng3 = 32,\n\tmsm_mux_cxc_clk___2 = 33,\n\tmsm_mux_cxc_data___2 = 34,\n\tmsm_mux_dbg_out___2 = 35,\n\tmsm_mux_gcc_plltest___2 = 36,\n\tmsm_mux_gcc_tlmm___2 = 37,\n\tmsm_mux_gpio___2 = 38,\n\tmsm_mux_lock_det = 39,\n\tmsm_mux_mac0___2 = 40,\n\tmsm_mux_mac1___2 = 41,\n\tmsm_mux_mdc0 = 42,\n\tmsm_mux_mdc1 = 43,\n\tmsm_mux_mdio0 = 44,\n\tmsm_mux_mdio1 = 45,\n\tmsm_mux_pc = 46,\n\tmsm_mux_pcie0_clk___2 = 47,\n\tmsm_mux_pcie0_wake___2 = 48,\n\tmsm_mux_pcie1_clk___2 = 49,\n\tmsm_mux_pcie1_wake___2 = 50,\n\tmsm_mux_pcie2_clk = 51,\n\tmsm_mux_pcie2_wake = 52,\n\tmsm_mux_pll_test___2 = 53,\n\tmsm_mux_prng_rosc0 = 54,\n\tmsm_mux_prng_rosc1 = 55,\n\tmsm_mux_prng_rosc2 = 56,\n\tmsm_mux_prng_rosc3 = 57,\n\tmsm_mux_pta = 58,\n\tmsm_mux_pwm0___2 = 59,\n\tmsm_mux_pwm1___2 = 60,\n\tmsm_mux_pwm2___2 = 61,\n\tmsm_mux_pwm3___2 = 62,\n\tmsm_mux_qdss_cti_trig_in_a0___2 = 63,\n\tmsm_mux_qdss_cti_trig_in_a1___2 = 64,\n\tmsm_mux_qdss_cti_trig_in_b0___2 = 65,\n\tmsm_mux_qdss_cti_trig_in_b1___2 = 66,\n\tmsm_mux_qdss_cti_trig_out_a0___2 = 67,\n\tmsm_mux_qdss_cti_trig_out_a1___2 = 68,\n\tmsm_mux_qdss_cti_trig_out_b0___2 = 69,\n\tmsm_mux_qdss_cti_trig_out_b1___2 = 70,\n\tmsm_mux_qdss_traceclk_a___2 = 71,\n\tmsm_mux_qdss_traceclk_b___2 = 72,\n\tmsm_mux_qdss_tracectl_a___2 = 73,\n\tmsm_mux_qdss_tracectl_b___2 = 74,\n\tmsm_mux_qdss_tracedata_a___2 = 75,\n\tmsm_mux_qdss_tracedata_b___2 = 76,\n\tmsm_mux_qspi_data___2 = 77,\n\tmsm_mux_qspi_clk___2 = 78,\n\tmsm_mux_qspi_cs___2 = 79,\n\tmsm_mux_resout = 80,\n\tmsm_mux_rx0 = 81,\n\tmsm_mux_rx1 = 82,\n\tmsm_mux_sdc_data = 83,\n\tmsm_mux_sdc_clk = 84,\n\tmsm_mux_sdc_cmd = 85,\n\tmsm_mux_tsens_max = 86,\n\tmsm_mux_wci_txd___2 = 87,\n\tmsm_mux_wci_rxd___2 = 88,\n\tmsm_mux_wsi_clk = 89,\n\tmsm_mux_wsi_clk3___2 = 90,\n\tmsm_mux_wsi_data = 91,\n\tmsm_mux_wsi_data3___2 = 92,\n\tmsm_mux_wsis_reset___2 = 93,\n\tmsm_mux_xfem___2 = 94,\n\tmsm_mux_____2 = 95,\n};\n\nenum ipq6018_functions {\n\tmsm_mux_atest_char___3 = 0,\n\tmsm_mux_atest_char0___2 = 1,\n\tmsm_mux_atest_char1___2 = 2,\n\tmsm_mux_atest_char2___2 = 3,\n\tmsm_mux_atest_char3___2 = 4,\n\tmsm_mux_audio0 = 5,\n\tmsm_mux_audio1 = 6,\n\tmsm_mux_audio2 = 7,\n\tmsm_mux_audio3 = 8,\n\tmsm_mux_audio_rxbclk___2 = 9,\n\tmsm_mux_audio_rxfsync___2 = 10,\n\tmsm_mux_audio_rxmclk___2 = 11,\n\tmsm_mux_audio_rxmclkin = 12,\n\tmsm_mux_audio_txbclk___2 = 13,\n\tmsm_mux_audio_txfsync___2 = 14,\n\tmsm_mux_audio_txmclk___2 = 15,\n\tmsm_mux_audio_txmclkin = 16,\n\tmsm_mux_blsp0_i2c___3 = 17,\n\tmsm_mux_blsp0_spi___3 = 18,\n\tmsm_mux_blsp0_uart = 19,\n\tmsm_mux_blsp1_i2c = 20,\n\tmsm_mux_blsp1_spi = 21,\n\tmsm_mux_blsp1_uart = 22,\n\tmsm_mux_blsp2_i2c = 23,\n\tmsm_mux_blsp2_spi___3 = 24,\n\tmsm_mux_blsp2_uart = 25,\n\tmsm_mux_blsp3_i2c = 26,\n\tmsm_mux_blsp3_spi = 27,\n\tmsm_mux_blsp3_uart = 28,\n\tmsm_mux_blsp4_i2c = 29,\n\tmsm_mux_blsp4_spi = 30,\n\tmsm_mux_blsp4_uart = 31,\n\tmsm_mux_blsp5_i2c = 32,\n\tmsm_mux_blsp5_uart = 33,\n\tmsm_mux_burn0___2 = 34,\n\tmsm_mux_burn1___2 = 35,\n\tmsm_mux_cri_trng___2 = 36,\n\tmsm_mux_cri_trng0___3 = 37,\n\tmsm_mux_cri_trng1___3 = 38,\n\tmsm_mux_cxc0 = 39,\n\tmsm_mux_cxc1 = 40,\n\tmsm_mux_dbg_out___3 = 41,\n\tmsm_mux_gcc_plltest___3 = 42,\n\tmsm_mux_gcc_tlmm___3 = 43,\n\tmsm_mux_gpio___3 = 44,\n\tmsm_mux_lpass_aud = 45,\n\tmsm_mux_lpass_aud0 = 46,\n\tmsm_mux_lpass_aud1 = 47,\n\tmsm_mux_lpass_aud2 = 48,\n\tmsm_mux_lpass_pcm = 49,\n\tmsm_mux_lpass_pdm = 50,\n\tmsm_mux_mac00 = 51,\n\tmsm_mux_mac01 = 52,\n\tmsm_mux_mac10 = 53,\n\tmsm_mux_mac11 = 54,\n\tmsm_mux_mac12 = 55,\n\tmsm_mux_mac13 = 56,\n\tmsm_mux_mac20 = 57,\n\tmsm_mux_mac21 = 58,\n\tmsm_mux_mdc___2 = 59,\n\tmsm_mux_mdio___2 = 60,\n\tmsm_mux_pcie0_clk___3 = 61,\n\tmsm_mux_pcie0_rst = 62,\n\tmsm_mux_pcie0_wake___3 = 63,\n\tmsm_mux_prng_rosc___2 = 64,\n\tmsm_mux_pta1_0 = 65,\n\tmsm_mux_pta1_1 = 66,\n\tmsm_mux_pta1_2 = 67,\n\tmsm_mux_pta2_0 = 68,\n\tmsm_mux_pta2_1 = 69,\n\tmsm_mux_pta2_2 = 70,\n\tmsm_mux_pwm00 = 71,\n\tmsm_mux_pwm01 = 72,\n\tmsm_mux_pwm02 = 73,\n\tmsm_mux_pwm03 = 74,\n\tmsm_mux_pwm04 = 75,\n\tmsm_mux_pwm10 = 76,\n\tmsm_mux_pwm11 = 77,\n\tmsm_mux_pwm12 = 78,\n\tmsm_mux_pwm13 = 79,\n\tmsm_mux_pwm14 = 80,\n\tmsm_mux_pwm20 = 81,\n\tmsm_mux_pwm21 = 82,\n\tmsm_mux_pwm22 = 83,\n\tmsm_mux_pwm23 = 84,\n\tmsm_mux_pwm24 = 85,\n\tmsm_mux_pwm30 = 86,\n\tmsm_mux_pwm31 = 87,\n\tmsm_mux_pwm32 = 88,\n\tmsm_mux_pwm33 = 89,\n\tmsm_mux_qdss_cti_trig_in_a0___3 = 90,\n\tmsm_mux_qdss_cti_trig_in_a1___3 = 91,\n\tmsm_mux_qdss_cti_trig_out_a0___3 = 92,\n\tmsm_mux_qdss_cti_trig_out_a1___3 = 93,\n\tmsm_mux_qdss_cti_trig_in_b0___3 = 94,\n\tmsm_mux_qdss_cti_trig_in_b1___3 = 95,\n\tmsm_mux_qdss_cti_trig_out_b0___3 = 96,\n\tmsm_mux_qdss_cti_trig_out_b1___3 = 97,\n\tmsm_mux_qdss_traceclk_a___3 = 98,\n\tmsm_mux_qdss_tracectl_a___3 = 99,\n\tmsm_mux_qdss_tracedata_a___3 = 100,\n\tmsm_mux_qdss_traceclk_b___3 = 101,\n\tmsm_mux_qdss_tracectl_b___3 = 102,\n\tmsm_mux_qdss_tracedata_b___3 = 103,\n\tmsm_mux_qpic_pad = 104,\n\tmsm_mux_rx0___2 = 105,\n\tmsm_mux_rx1___2 = 106,\n\tmsm_mux_rx_swrm = 107,\n\tmsm_mux_rx_swrm0 = 108,\n\tmsm_mux_rx_swrm1 = 109,\n\tmsm_mux_sd_card = 110,\n\tmsm_mux_sd_write = 111,\n\tmsm_mux_tsens_max___2 = 112,\n\tmsm_mux_tx_swrm = 113,\n\tmsm_mux_tx_swrm0 = 114,\n\tmsm_mux_tx_swrm1 = 115,\n\tmsm_mux_tx_swrm2 = 116,\n\tmsm_mux_wci20 = 117,\n\tmsm_mux_wci21 = 118,\n\tmsm_mux_wci22 = 119,\n\tmsm_mux_wci23 = 120,\n\tmsm_mux_wsa_swrm___2 = 121,\n\tmsm_mux_____3 = 122,\n};\n\nenum ipq806x_versions {\n\tIPQ8062_VERSION = 0,\n\tIPQ8064_VERSION = 1,\n\tIPQ8065_VERSION = 2,\n};\n\nenum ipq8074_functions {\n\tmsm_mux_atest_char___4 = 0,\n\tmsm_mux_atest_char0___3 = 1,\n\tmsm_mux_atest_char1___3 = 2,\n\tmsm_mux_atest_char2___3 = 3,\n\tmsm_mux_atest_char3___3 = 4,\n\tmsm_mux_audio_rxbclk___3 = 5,\n\tmsm_mux_audio_rxd___2 = 6,\n\tmsm_mux_audio_rxfsync___3 = 7,\n\tmsm_mux_audio_rxmclk___3 = 8,\n\tmsm_mux_audio_txbclk___3 = 9,\n\tmsm_mux_audio_txd___2 = 10,\n\tmsm_mux_audio_txfsync___3 = 11,\n\tmsm_mux_audio_txmclk___3 = 12,\n\tmsm_mux_blsp0_i2c___4 = 13,\n\tmsm_mux_blsp0_spi___4 = 14,\n\tmsm_mux_blsp0_uart___2 = 15,\n\tmsm_mux_blsp1_i2c___2 = 16,\n\tmsm_mux_blsp1_spi___2 = 17,\n\tmsm_mux_blsp1_uart___2 = 18,\n\tmsm_mux_blsp2_i2c___2 = 19,\n\tmsm_mux_blsp2_spi___4 = 20,\n\tmsm_mux_blsp2_uart___2 = 21,\n\tmsm_mux_blsp3_i2c___2 = 22,\n\tmsm_mux_blsp3_spi___2 = 23,\n\tmsm_mux_blsp3_spi0 = 24,\n\tmsm_mux_blsp3_spi1 = 25,\n\tmsm_mux_blsp3_spi2 = 26,\n\tmsm_mux_blsp3_spi3 = 27,\n\tmsm_mux_blsp3_uart___2 = 28,\n\tmsm_mux_blsp4_i2c0 = 29,\n\tmsm_mux_blsp4_i2c1 = 30,\n\tmsm_mux_blsp4_spi0 = 31,\n\tmsm_mux_blsp4_spi1 = 32,\n\tmsm_mux_blsp4_uart0 = 33,\n\tmsm_mux_blsp4_uart1 = 34,\n\tmsm_mux_blsp5_i2c___2 = 35,\n\tmsm_mux_blsp5_spi = 36,\n\tmsm_mux_blsp5_uart___2 = 37,\n\tmsm_mux_burn0___3 = 38,\n\tmsm_mux_burn1___3 = 39,\n\tmsm_mux_cri_trng___3 = 40,\n\tmsm_mux_cri_trng0___4 = 41,\n\tmsm_mux_cri_trng1___4 = 42,\n\tmsm_mux_cxc0___2 = 43,\n\tmsm_mux_cxc1___2 = 44,\n\tmsm_mux_dbg_out___4 = 45,\n\tmsm_mux_gcc_plltest___4 = 46,\n\tmsm_mux_gcc_tlmm___4 = 47,\n\tmsm_mux_gpio___4 = 48,\n\tmsm_mux_ldo_en = 49,\n\tmsm_mux_ldo_update = 50,\n\tmsm_mux_led0___2 = 51,\n\tmsm_mux_led1 = 52,\n\tmsm_mux_led2___2 = 53,\n\tmsm_mux_mac0_sa0 = 54,\n\tmsm_mux_mac0_sa1 = 55,\n\tmsm_mux_mac1_sa0 = 56,\n\tmsm_mux_mac1_sa1 = 57,\n\tmsm_mux_mac1_sa2 = 58,\n\tmsm_mux_mac1_sa3 = 59,\n\tmsm_mux_mac2_sa0 = 60,\n\tmsm_mux_mac2_sa1 = 61,\n\tmsm_mux_mdc___3 = 62,\n\tmsm_mux_mdio___3 = 63,\n\tmsm_mux_pcie0_clk___4 = 64,\n\tmsm_mux_pcie0_rst___2 = 65,\n\tmsm_mux_pcie0_wake___4 = 66,\n\tmsm_mux_pcie1_clk___3 = 67,\n\tmsm_mux_pcie1_rst = 68,\n\tmsm_mux_pcie1_wake___3 = 69,\n\tmsm_mux_pcm_drx = 70,\n\tmsm_mux_pcm_dtx = 71,\n\tmsm_mux_pcm_fsync = 72,\n\tmsm_mux_pcm_pclk = 73,\n\tmsm_mux_pcm_zsi0 = 74,\n\tmsm_mux_pcm_zsi1 = 75,\n\tmsm_mux_prng_rosc___3 = 76,\n\tmsm_mux_pta1_0___2 = 77,\n\tmsm_mux_pta1_1___2 = 78,\n\tmsm_mux_pta1_2___2 = 79,\n\tmsm_mux_pta2_0___2 = 80,\n\tmsm_mux_pta2_1___2 = 81,\n\tmsm_mux_pta2_2___2 = 82,\n\tmsm_mux_pwm0___3 = 83,\n\tmsm_mux_pwm1___3 = 84,\n\tmsm_mux_pwm2___3 = 85,\n\tmsm_mux_pwm3___3 = 86,\n\tmsm_mux_qdss_cti_trig_in_a0___4 = 87,\n\tmsm_mux_qdss_cti_trig_in_a1___4 = 88,\n\tmsm_mux_qdss_cti_trig_in_b0___4 = 89,\n\tmsm_mux_qdss_cti_trig_in_b1___4 = 90,\n\tmsm_mux_qdss_cti_trig_out_a0___4 = 91,\n\tmsm_mux_qdss_cti_trig_out_a1___4 = 92,\n\tmsm_mux_qdss_cti_trig_out_b0___4 = 93,\n\tmsm_mux_qdss_cti_trig_out_b1___4 = 94,\n\tmsm_mux_qdss_traceclk_a___4 = 95,\n\tmsm_mux_qdss_traceclk_b___4 = 96,\n\tmsm_mux_qdss_tracectl_a___4 = 97,\n\tmsm_mux_qdss_tracectl_b___4 = 98,\n\tmsm_mux_qdss_tracedata_a___4 = 99,\n\tmsm_mux_qdss_tracedata_b___4 = 100,\n\tmsm_mux_qpic = 101,\n\tmsm_mux_rx0___3 = 102,\n\tmsm_mux_rx1___3 = 103,\n\tmsm_mux_rx2 = 104,\n\tmsm_mux_sd_card___2 = 105,\n\tmsm_mux_sd_write___2 = 106,\n\tmsm_mux_tsens_max___3 = 107,\n\tmsm_mux_wci2a = 108,\n\tmsm_mux_wci2b = 109,\n\tmsm_mux_wci2c = 110,\n\tmsm_mux_wci2d = 111,\n\tmsm_mux_NA = 112,\n};\n\nenum ipq8074_versions {\n\tIPQ8074_HAWKEYE_VERSION = 0,\n\tIPQ8074_ACORN_VERSION = 1,\n};\n\nenum ipq9574_functions {\n\tmsm_mux_atest_char___5 = 0,\n\tmsm_mux_atest_char0___4 = 1,\n\tmsm_mux_atest_char1___4 = 2,\n\tmsm_mux_atest_char2___4 = 3,\n\tmsm_mux_atest_char3___4 = 4,\n\tmsm_mux_audio_pdm0___2 = 5,\n\tmsm_mux_audio_pdm1___2 = 6,\n\tmsm_mux_audio_pri___2 = 7,\n\tmsm_mux_audio_sec___2 = 8,\n\tmsm_mux_blsp0_spi___5 = 9,\n\tmsm_mux_blsp0_uart___3 = 10,\n\tmsm_mux_blsp1_i2c___3 = 11,\n\tmsm_mux_blsp1_spi___3 = 12,\n\tmsm_mux_blsp1_uart___3 = 13,\n\tmsm_mux_blsp2_i2c___3 = 14,\n\tmsm_mux_blsp2_spi___5 = 15,\n\tmsm_mux_blsp2_uart___3 = 16,\n\tmsm_mux_blsp3_i2c___3 = 17,\n\tmsm_mux_blsp3_spi___3 = 18,\n\tmsm_mux_blsp3_uart___3 = 19,\n\tmsm_mux_blsp4_i2c___2 = 20,\n\tmsm_mux_blsp4_spi___2 = 21,\n\tmsm_mux_blsp4_uart___2 = 22,\n\tmsm_mux_blsp5_i2c___3 = 23,\n\tmsm_mux_blsp5_uart___3 = 24,\n\tmsm_mux_cri_trng0___5 = 25,\n\tmsm_mux_cri_trng1___5 = 26,\n\tmsm_mux_cri_trng2___2 = 27,\n\tmsm_mux_cri_trng3___2 = 28,\n\tmsm_mux_cxc0___3 = 29,\n\tmsm_mux_cxc1___3 = 30,\n\tmsm_mux_dbg_out___5 = 31,\n\tmsm_mux_dwc_ddrphy = 32,\n\tmsm_mux_gcc_plltest___5 = 33,\n\tmsm_mux_gcc_tlmm___5 = 34,\n\tmsm_mux_gpio___5 = 35,\n\tmsm_mux_mac = 36,\n\tmsm_mux_mdc___4 = 37,\n\tmsm_mux_mdio___4 = 38,\n\tmsm_mux_pcie0_clk___5 = 39,\n\tmsm_mux_pcie0_wake___5 = 40,\n\tmsm_mux_pcie1_clk___4 = 41,\n\tmsm_mux_pcie1_wake___4 = 42,\n\tmsm_mux_pcie2_clk___2 = 43,\n\tmsm_mux_pcie2_wake___2 = 44,\n\tmsm_mux_pcie3_clk = 45,\n\tmsm_mux_pcie3_wake = 46,\n\tmsm_mux_prng_rosc0___2 = 47,\n\tmsm_mux_prng_rosc1___2 = 48,\n\tmsm_mux_prng_rosc2___2 = 49,\n\tmsm_mux_prng_rosc3___2 = 50,\n\tmsm_mux_pta___2 = 51,\n\tmsm_mux_pwm = 52,\n\tmsm_mux_qdss_cti_trig_in_a0___5 = 53,\n\tmsm_mux_qdss_cti_trig_in_a1___5 = 54,\n\tmsm_mux_qdss_cti_trig_in_b0___5 = 55,\n\tmsm_mux_qdss_cti_trig_in_b1___5 = 56,\n\tmsm_mux_qdss_cti_trig_out_a0___5 = 57,\n\tmsm_mux_qdss_cti_trig_out_a1___5 = 58,\n\tmsm_mux_qdss_cti_trig_out_b0___5 = 59,\n\tmsm_mux_qdss_cti_trig_out_b1___5 = 60,\n\tmsm_mux_qdss_traceclk_a___5 = 61,\n\tmsm_mux_qdss_traceclk_b___5 = 62,\n\tmsm_mux_qdss_tracectl_a___5 = 63,\n\tmsm_mux_qdss_tracectl_b___5 = 64,\n\tmsm_mux_qdss_tracedata_a___5 = 65,\n\tmsm_mux_qdss_tracedata_b___5 = 66,\n\tmsm_mux_qspi_data___3 = 67,\n\tmsm_mux_qspi_clk___3 = 68,\n\tmsm_mux_qspi_cs___3 = 69,\n\tmsm_mux_rx0___4 = 70,\n\tmsm_mux_rx1___4 = 71,\n\tmsm_mux_sdc_data___2 = 72,\n\tmsm_mux_sdc_clk___2 = 73,\n\tmsm_mux_sdc_cmd___2 = 74,\n\tmsm_mux_sdc_rclk = 75,\n\tmsm_mux_tsens_max___4 = 76,\n\tmsm_mux_wci20___2 = 77,\n\tmsm_mux_wci21___2 = 78,\n\tmsm_mux_wsa_swrm___3 = 79,\n\tmsm_mux_____4 = 80,\n};\n\nenum iproc_arm_pll_fid {\n\tARM_PLL_FID_CRYSTAL_CLK = 0,\n\tARM_PLL_FID_SYS_CLK = 2,\n\tARM_PLL_FID_CH0_SLOW_CLK = 6,\n\tARM_PLL_FID_CH1_FAST_CLK = 7,\n};\n\nenum iproc_msi_reg {\n\tIPROC_MSI_EQ_PAGE = 0,\n\tIPROC_MSI_EQ_PAGE_UPPER = 1,\n\tIPROC_MSI_PAGE = 2,\n\tIPROC_MSI_PAGE_UPPER = 3,\n\tIPROC_MSI_CTRL = 4,\n\tIPROC_MSI_EQ_HEAD = 5,\n\tIPROC_MSI_EQ_TAIL = 6,\n\tIPROC_MSI_INTS_EN = 7,\n\tIPROC_MSI_REG_SIZE = 8,\n};\n\nenum iproc_pcie_ib_map_type {\n\tIPROC_PCIE_IB_MAP_MEM = 0,\n\tIPROC_PCIE_IB_MAP_IO = 1,\n\tIPROC_PCIE_IB_MAP_INVALID = 2,\n};\n\nenum iproc_pcie_reg {\n\tIPROC_PCIE_CLK_CTRL = 0,\n\tIPROC_PCIE_MSI_GIC_MODE = 1,\n\tIPROC_PCIE_MSI_BASE_ADDR = 2,\n\tIPROC_PCIE_MSI_WINDOW_SIZE = 3,\n\tIPROC_PCIE_MSI_ADDR_LO = 4,\n\tIPROC_PCIE_MSI_ADDR_HI = 5,\n\tIPROC_PCIE_MSI_EN_CFG = 6,\n\tIPROC_PCIE_CFG_IND_ADDR = 7,\n\tIPROC_PCIE_CFG_IND_DATA = 8,\n\tIPROC_PCIE_CFG_ADDR = 9,\n\tIPROC_PCIE_CFG_DATA = 10,\n\tIPROC_PCIE_INTX_EN = 11,\n\tIPROC_PCIE_OARR0 = 12,\n\tIPROC_PCIE_OMAP0 = 13,\n\tIPROC_PCIE_OARR1 = 14,\n\tIPROC_PCIE_OMAP1 = 15,\n\tIPROC_PCIE_OARR2 = 16,\n\tIPROC_PCIE_OMAP2 = 17,\n\tIPROC_PCIE_OARR3 = 18,\n\tIPROC_PCIE_OMAP3 = 19,\n\tIPROC_PCIE_IARR0 = 20,\n\tIPROC_PCIE_IMAP0 = 21,\n\tIPROC_PCIE_IARR1 = 22,\n\tIPROC_PCIE_IMAP1 = 23,\n\tIPROC_PCIE_IARR2 = 24,\n\tIPROC_PCIE_IMAP2 = 25,\n\tIPROC_PCIE_IARR3 = 26,\n\tIPROC_PCIE_IMAP3 = 27,\n\tIPROC_PCIE_IARR4 = 28,\n\tIPROC_PCIE_IMAP4 = 29,\n\tIPROC_PCIE_CFG_RD_STATUS = 30,\n\tIPROC_PCIE_LINK_STATUS = 31,\n\tIPROC_PCIE_APB_ERR_EN = 32,\n\tIPROC_PCIE_MAX_NUM_REG = 33,\n};\n\nenum iproc_pcie_type {\n\tIPROC_PCIE_PAXB_BCMA = 0,\n\tIPROC_PCIE_PAXB = 1,\n\tIPROC_PCIE_PAXB_V2 = 2,\n\tIPROC_PCIE_PAXC = 3,\n\tIPROC_PCIE_PAXC_V2 = 4,\n};\n\nenum iproc_pinconf_ctrl_type {\n\tIOCTRL_TYPE_AON = 1,\n\tIOCTRL_TYPE_CDRU = 2,\n\tIOCTRL_TYPE_INVALID = 3,\n};\n\nenum iproc_pinconf_param {\n\tIPROC_PINCONF_DRIVE_STRENGTH = 0,\n\tIPROC_PINCONF_BIAS_DISABLE = 1,\n\tIPROC_PINCONF_BIAS_PULL_UP = 2,\n\tIPROC_PINCONF_BIAS_PULL_DOWN = 3,\n\tIPROC_PINCON_MAX = 4,\n};\n\nenum irq_domain_bus_token {\n\tDOMAIN_BUS_ANY = 0,\n\tDOMAIN_BUS_WIRED = 1,\n\tDOMAIN_BUS_GENERIC_MSI = 2,\n\tDOMAIN_BUS_PCI_MSI = 3,\n\tDOMAIN_BUS_PLATFORM_MSI = 4,\n\tDOMAIN_BUS_NEXUS = 5,\n\tDOMAIN_BUS_IPI = 6,\n\tDOMAIN_BUS_FSL_MC_MSI = 7,\n\tDOMAIN_BUS_TI_SCI_INTA_MSI = 8,\n\tDOMAIN_BUS_WAKEUP = 9,\n\tDOMAIN_BUS_VMD_MSI = 10,\n\tDOMAIN_BUS_PCI_DEVICE_MSI = 11,\n\tDOMAIN_BUS_PCI_DEVICE_MSIX = 12,\n\tDOMAIN_BUS_DMAR = 13,\n\tDOMAIN_BUS_AMDVI = 14,\n\tDOMAIN_BUS_DEVICE_MSI = 15,\n\tDOMAIN_BUS_WIRED_TO_MSI = 16,\n};\n\nenum irq_gc_flags {\n\tIRQ_GC_INIT_MASK_CACHE = 1,\n\tIRQ_GC_INIT_NESTED_LOCK = 2,\n\tIRQ_GC_MASK_CACHE_PER_TYPE = 4,\n\tIRQ_GC_NO_MASK = 8,\n\tIRQ_GC_BE_IO = 16,\n};\n\nenum irq_source {\n\tSINGLE_L2 = 0,\n\tMUXED_L1 = 1,\n};\n\nenum irqchip_irq_state {\n\tIRQCHIP_STATE_PENDING = 0,\n\tIRQCHIP_STATE_ACTIVE = 1,\n\tIRQCHIP_STATE_MASKED = 2,\n\tIRQCHIP_STATE_LINE_LEVEL = 3,\n};\n\nenum irqreturn {\n\tIRQ_NONE = 0,\n\tIRQ_HANDLED = 1,\n\tIRQ_WAKE_THREAD = 2,\n};\n\ntypedef enum irqreturn irqreturn_t;\n\nenum isp1760_ctrl_state {\n\tISP1760_CTRL_SETUP = 0,\n\tISP1760_CTRL_DATA_IN = 1,\n\tISP1760_CTRL_DATA_OUT = 2,\n\tISP1760_CTRL_STATUS = 3,\n};\n\nenum isp1760_queue_head_types {\n\tQH_CONTROL = 0,\n\tQH_BULK = 1,\n\tQH_INTERRUPT = 2,\n\tQH_END = 3,\n};\n\nenum isp176x_device_controller_fields {\n\tDC_DEVEN = 0,\n\tDC_DEVADDR = 1,\n\tDC_VBUSSTAT = 2,\n\tDC_SFRESET = 3,\n\tDC_GLINTENA = 4,\n\tDC_CDBGMOD_ACK = 5,\n\tDC_DDBGMODIN_ACK = 6,\n\tDC_DDBGMODOUT_ACK = 7,\n\tDC_INTPOL = 8,\n\tDC_IEPRXTX_7 = 9,\n\tDC_IEPRXTX_6 = 10,\n\tDC_IEPRXTX_5 = 11,\n\tDC_IEPRXTX_4 = 12,\n\tDC_IEPRXTX_3 = 13,\n\tDC_IEPRXTX_2 = 14,\n\tDC_IEPRXTX_1 = 15,\n\tDC_IEPRXTX_0 = 16,\n\tDC_IEP0SETUP = 17,\n\tDC_IEVBUS = 18,\n\tDC_IEHS_STA = 19,\n\tDC_IERESM = 20,\n\tDC_IESUSP = 21,\n\tDC_IEBRST = 22,\n\tDC_EP0SETUP = 23,\n\tDC_ENDPIDX = 24,\n\tDC_EPDIR = 25,\n\tDC_CLBUF = 26,\n\tDC_VENDP = 27,\n\tDC_DSEN = 28,\n\tDC_STATUS = 29,\n\tDC_STALL = 30,\n\tDC_BUFLEN = 31,\n\tDC_FFOSZ = 32,\n\tDC_EPENABLE = 33,\n\tDC_ENDPTYP = 34,\n\tDC_FRAMENUM = 35,\n\tDC_UFRAMENUM = 36,\n\tDC_CHIP_ID_HIGH = 37,\n\tDC_CHIP_ID_LOW = 38,\n\tDC_SCRATCH = 39,\n\tDC_FIELD_MAX = 40,\n};\n\nenum isp176x_host_controller_fields {\n\tPORT_OWNER = 0,\n\tPORT_POWER = 1,\n\tPORT_LSTATUS = 2,\n\tPORT_RESET = 3,\n\tPORT_SUSPEND = 4,\n\tPORT_RESUME = 5,\n\tPORT_PE = 6,\n\tPORT_CSC = 7,\n\tPORT_CONNECT = 8,\n\tHCS_PPC = 9,\n\tHCS_N_PORTS = 10,\n\tHCC_ISOC_CACHE = 11,\n\tHCC_ISOC_THRES = 12,\n\tCMD_LRESET = 13,\n\tCMD_RESET = 14,\n\tCMD_RUN = 15,\n\tSTS_PCD = 16,\n\tHC_FRINDEX = 17,\n\tFLAG_CF = 18,\n\tHC_ISO_PTD_DONEMAP = 19,\n\tHC_ISO_PTD_SKIPMAP = 20,\n\tHC_ISO_PTD_LASTPTD = 21,\n\tHC_INT_PTD_DONEMAP = 22,\n\tHC_INT_PTD_SKIPMAP = 23,\n\tHC_INT_PTD_LASTPTD = 24,\n\tHC_ATL_PTD_DONEMAP = 25,\n\tHC_ATL_PTD_SKIPMAP = 26,\n\tHC_ATL_PTD_LASTPTD = 27,\n\tALL_ATX_RESET = 28,\n\tHW_ANA_DIGI_OC = 29,\n\tHW_DEV_DMA = 30,\n\tHW_COMN_IRQ = 31,\n\tHW_COMN_DMA = 32,\n\tHW_DATA_BUS_WIDTH = 33,\n\tHW_DACK_POL_HIGH = 34,\n\tHW_DREQ_POL_HIGH = 35,\n\tHW_INTR_HIGH_ACT = 36,\n\tHW_INTF_LOCK = 37,\n\tHW_INTR_EDGE_TRIG = 38,\n\tHW_GLOBAL_INTR_EN = 39,\n\tHC_CHIP_ID_HIGH = 40,\n\tHC_CHIP_ID_LOW = 41,\n\tHC_CHIP_REV = 42,\n\tHC_SCRATCH = 43,\n\tSW_RESET_RESET_ATX = 44,\n\tSW_RESET_RESET_HC = 45,\n\tSW_RESET_RESET_ALL = 46,\n\tISO_BUF_FILL = 47,\n\tINT_BUF_FILL = 48,\n\tATL_BUF_FILL = 49,\n\tMEM_BANK_SEL = 50,\n\tMEM_START_ADDR = 51,\n\tHC_DATA = 52,\n\tHC_INTERRUPT = 53,\n\tHC_INT_IRQ_ENABLE = 54,\n\tHC_ATL_IRQ_ENABLE = 55,\n\tHC_ISO_IRQ_MASK_OR = 56,\n\tHC_INT_IRQ_MASK_OR = 57,\n\tHC_ATL_IRQ_MASK_OR = 58,\n\tHC_ISO_IRQ_MASK_AND = 59,\n\tHC_INT_IRQ_MASK_AND = 60,\n\tHC_ATL_IRQ_MASK_AND = 61,\n\tHW_OTG_DISABLE = 62,\n\tHW_SW_SEL_HC_DC = 63,\n\tHW_VBUS_DRV = 64,\n\tHW_SEL_CP_EXT = 65,\n\tHW_DM_PULLDOWN = 66,\n\tHW_DP_PULLDOWN = 67,\n\tHW_DP_PULLUP = 68,\n\tHW_HC_2_DIS = 69,\n\tHW_OTG_DISABLE_CLEAR = 70,\n\tHW_SW_SEL_HC_DC_CLEAR = 71,\n\tHW_VBUS_DRV_CLEAR = 72,\n\tHW_SEL_CP_EXT_CLEAR = 73,\n\tHW_DM_PULLDOWN_CLEAR = 74,\n\tHW_DP_PULLDOWN_CLEAR = 75,\n\tHW_DP_PULLUP_CLEAR = 76,\n\tHW_HC_2_DIS_CLEAR = 77,\n\tHC_FIELD_MAX = 78,\n};\n\nenum iter_type {\n\tITER_UBUF = 0,\n\tITER_IOVEC = 1,\n\tITER_BVEC = 2,\n\tITER_KVEC = 3,\n\tITER_FOLIOQ = 4,\n\tITER_XARRAY = 5,\n\tITER_DISCARD = 6,\n};\n\nenum its_vcpu_info_cmd_type {\n\tMAP_VLPI = 0,\n\tGET_VLPI = 1,\n\tPROP_UPDATE_VLPI = 2,\n\tPROP_UPDATE_AND_INV_VLPI = 3,\n\tSCHEDULE_VPE = 4,\n\tDESCHEDULE_VPE = 5,\n\tCOMMIT_VPE = 6,\n\tINVALL_VPE = 7,\n\tPROP_UPDATE_VSGI = 8,\n};\n\nenum jbd2_shrink_type {\n\tJBD2_SHRINK_DESTROY = 0,\n\tJBD2_SHRINK_BUSY_STOP = 1,\n\tJBD2_SHRINK_BUSY_SKIP = 2,\n};\n\nenum jbd_state_bits {\n\tBH_JBD = 16,\n\tBH_JWrite = 17,\n\tBH_Freed = 18,\n\tBH_Revoked = 19,\n\tBH_RevokeValid = 20,\n\tBH_JBDDirty = 21,\n\tBH_JournalHead = 22,\n\tBH_Shadow = 23,\n\tBH_Verified = 24,\n\tBH_JBDPrivateStart = 25,\n};\n\nenum jump_label_type {\n\tJUMP_LABEL_NOP = 0,\n\tJUMP_LABEL_JMP = 1,\n};\n\nenum k3_dma_type {\n\tDMA_TYPE_UDMA = 0,\n\tDMA_TYPE_BCDMA = 1,\n\tDMA_TYPE_PKTDMA = 2,\n};\n\nenum k3_ring_mode {\n\tK3_RINGACC_RING_MODE_RING = 0,\n\tK3_RINGACC_RING_MODE_MESSAGE = 1,\n\tK3_RINGACC_RING_MODE_CREDENTIALS = 2,\n\tK3_RINGACC_RING_MODE_INVALID = 3,\n};\n\nenum k3_ring_size {\n\tK3_RINGACC_RING_ELSIZE_4 = 0,\n\tK3_RINGACC_RING_ELSIZE_8 = 1,\n\tK3_RINGACC_RING_ELSIZE_16 = 2,\n\tK3_RINGACC_RING_ELSIZE_32 = 3,\n\tK3_RINGACC_RING_ELSIZE_64 = 4,\n\tK3_RINGACC_RING_ELSIZE_128 = 5,\n\tK3_RINGACC_RING_ELSIZE_256 = 6,\n\tK3_RINGACC_RING_ELSIZE_INVALID = 7,\n};\n\nenum k3_ringacc_access_mode {\n\tK3_RINGACC_ACCESS_MODE_PUSH_HEAD = 0,\n\tK3_RINGACC_ACCESS_MODE_POP_HEAD = 1,\n\tK3_RINGACC_ACCESS_MODE_PUSH_TAIL = 2,\n\tK3_RINGACC_ACCESS_MODE_POP_TAIL = 3,\n\tK3_RINGACC_ACCESS_MODE_PEEK_HEAD = 4,\n\tK3_RINGACC_ACCESS_MODE_PEEK_TAIL = 5,\n};\n\nenum k3_ringacc_proxy_access_mode {\n\tPROXY_ACCESS_MODE_HEAD = 0,\n\tPROXY_ACCESS_MODE_TAIL = 1,\n\tPROXY_ACCESS_MODE_PEEK_HEAD = 2,\n\tPROXY_ACCESS_MODE_PEEK_TAIL = 3,\n};\n\nenum kcmp_type {\n\tKCMP_FILE = 0,\n\tKCMP_VM = 1,\n\tKCMP_FILES = 2,\n\tKCMP_FS = 3,\n\tKCMP_SIGHAND = 4,\n\tKCMP_IO = 5,\n\tKCMP_SYSVSEM = 6,\n\tKCMP_EPOLL_TFD = 7,\n\tKCMP_TYPES = 8,\n};\n\nenum kernel_load_data_id {\n\tLOADING_UNKNOWN = 0,\n\tLOADING_FIRMWARE = 1,\n\tLOADING_MODULE = 2,\n\tLOADING_KEXEC_IMAGE = 3,\n\tLOADING_KEXEC_INITRAMFS = 4,\n\tLOADING_POLICY = 5,\n\tLOADING_X509_CERTIFICATE = 6,\n\tLOADING_MAX_ID = 7,\n};\n\nenum kernel_pkey_operation {\n\tkernel_pkey_encrypt = 0,\n\tkernel_pkey_decrypt = 1,\n\tkernel_pkey_sign = 2,\n\tkernel_pkey_verify = 3,\n};\n\nenum kernel_read_file_id {\n\tREADING_UNKNOWN = 0,\n\tREADING_FIRMWARE = 1,\n\tREADING_MODULE = 2,\n\tREADING_KEXEC_IMAGE = 3,\n\tREADING_KEXEC_INITRAMFS = 4,\n\tREADING_POLICY = 5,\n\tREADING_X509_CERTIFICATE = 6,\n\tREADING_MAX_ID = 7,\n};\n\nenum kernfs_node_flag {\n\tKERNFS_ACTIVATED = 16,\n\tKERNFS_NS = 32,\n\tKERNFS_HAS_SEQ_SHOW = 64,\n\tKERNFS_HAS_MMAP = 128,\n\tKERNFS_LOCKDEP = 256,\n\tKERNFS_HIDDEN = 512,\n\tKERNFS_SUICIDAL = 1024,\n\tKERNFS_SUICIDED = 2048,\n\tKERNFS_EMPTY_DIR = 4096,\n\tKERNFS_HAS_RELEASE = 8192,\n\tKERNFS_REMOVING = 16384,\n};\n\nenum kernfs_node_type {\n\tKERNFS_DIR = 1,\n\tKERNFS_FILE = 2,\n\tKERNFS_LINK = 4,\n};\n\nenum kernfs_root_flag {\n\tKERNFS_ROOT_CREATE_DEACTIVATED = 1,\n\tKERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2,\n\tKERNFS_ROOT_SUPPORT_EXPORTOP = 4,\n\tKERNFS_ROOT_SUPPORT_USER_XATTR = 8,\n};\n\nenum key_being_used_for {\n\tVERIFYING_MODULE_SIGNATURE = 0,\n\tVERIFYING_FIRMWARE_SIGNATURE = 1,\n\tVERIFYING_KEXEC_PE_SIGNATURE = 2,\n\tVERIFYING_KEY_SIGNATURE = 3,\n\tVERIFYING_KEY_SELF_SIGNATURE = 4,\n\tVERIFYING_UNSPECIFIED_SIGNATURE = 5,\n\tNR__KEY_BEING_USED_FOR = 6,\n};\n\nenum key_lookup_flag {\n\tKEY_LOOKUP_CREATE = 1,\n\tKEY_LOOKUP_PARTIAL = 2,\n\tKEY_LOOKUP_ALL = 3,\n};\n\nenum key_need_perm {\n\tKEY_NEED_UNSPECIFIED = 0,\n\tKEY_NEED_VIEW = 1,\n\tKEY_NEED_READ = 2,\n\tKEY_NEED_WRITE = 3,\n\tKEY_NEED_SEARCH = 4,\n\tKEY_NEED_LINK = 5,\n\tKEY_NEED_SETATTR = 6,\n\tKEY_NEED_UNLINK = 7,\n\tKEY_SYSADMIN_OVERRIDE = 8,\n\tKEY_AUTHTOKEN_OVERRIDE = 9,\n\tKEY_DEFER_PERM_CHECK = 10,\n};\n\nenum key_notification_subtype {\n\tNOTIFY_KEY_INSTANTIATED = 0,\n\tNOTIFY_KEY_UPDATED = 1,\n\tNOTIFY_KEY_LINKED = 2,\n\tNOTIFY_KEY_UNLINKED = 3,\n\tNOTIFY_KEY_CLEARED = 4,\n\tNOTIFY_KEY_REVOKED = 5,\n\tNOTIFY_KEY_INVALIDATED = 6,\n\tNOTIFY_KEY_SETATTR = 7,\n};\n\nenum key_state {\n\tKEY_IS_UNINSTANTIATED = 0,\n\tKEY_IS_POSITIVE = 1,\n};\n\nenum kfunc_ptr_arg_type {\n\tKF_ARG_PTR_TO_CTX = 0,\n\tKF_ARG_PTR_TO_ALLOC_BTF_ID = 1,\n\tKF_ARG_PTR_TO_REFCOUNTED_KPTR = 2,\n\tKF_ARG_PTR_TO_DYNPTR = 3,\n\tKF_ARG_PTR_TO_ITER = 4,\n\tKF_ARG_PTR_TO_LIST_HEAD = 5,\n\tKF_ARG_PTR_TO_LIST_NODE = 6,\n\tKF_ARG_PTR_TO_BTF_ID = 7,\n\tKF_ARG_PTR_TO_MEM = 8,\n\tKF_ARG_PTR_TO_MEM_SIZE = 9,\n\tKF_ARG_PTR_TO_CALLBACK = 10,\n\tKF_ARG_PTR_TO_RB_ROOT = 11,\n\tKF_ARG_PTR_TO_RB_NODE = 12,\n\tKF_ARG_PTR_TO_NULL = 13,\n\tKF_ARG_PTR_TO_CONST_STR = 14,\n\tKF_ARG_PTR_TO_MAP = 15,\n\tKF_ARG_PTR_TO_WORKQUEUE = 16,\n\tKF_ARG_PTR_TO_IRQ_FLAG = 17,\n};\n\nenum kmalloc_cache_type {\n\tKMALLOC_NORMAL = 0,\n\tKMALLOC_RANDOM_START = 0,\n\tKMALLOC_RANDOM_END = 0,\n\tKMALLOC_RECLAIM = 1,\n\tKMALLOC_DMA = 2,\n\tKMALLOC_CGROUP = 3,\n\tNR_KMALLOC_TYPES = 4,\n};\n\nenum kmsg_dump_reason {\n\tKMSG_DUMP_UNDEF = 0,\n\tKMSG_DUMP_PANIC = 1,\n\tKMSG_DUMP_OOPS = 2,\n\tKMSG_DUMP_EMERG = 3,\n\tKMSG_DUMP_SHUTDOWN = 4,\n\tKMSG_DUMP_MAX = 5,\n};\n\nenum kobj_ns_type {\n\tKOBJ_NS_TYPE_NONE = 0,\n\tKOBJ_NS_TYPE_NET = 1,\n\tKOBJ_NS_TYPES = 2,\n};\n\nenum kobject_action {\n\tKOBJ_ADD = 0,\n\tKOBJ_REMOVE = 1,\n\tKOBJ_CHANGE = 2,\n\tKOBJ_MOVE = 3,\n\tKOBJ_ONLINE = 4,\n\tKOBJ_OFFLINE = 5,\n\tKOBJ_BIND = 6,\n\tKOBJ_UNBIND = 7,\n};\n\nenum kp_band {\n\tKP_BAND_MID = 0,\n\tKP_BAND_HIGH = 1,\n\tKP_BAND_HIGH_HIGH = 2,\n};\n\nenum ksm_advisor_type {\n\tKSM_ADVISOR_NONE = 0,\n\tKSM_ADVISOR_SCAN_TIME = 1,\n};\n\nenum ksm_get_folio_flags {\n\tKSM_GET_FOLIO_NOLOCK = 0,\n\tKSM_GET_FOLIO_LOCK = 1,\n\tKSM_GET_FOLIO_TRYLOCK = 2,\n};\n\nenum kunwind_source {\n\tKUNWIND_SOURCE_UNKNOWN = 0,\n\tKUNWIND_SOURCE_FRAME = 1,\n\tKUNWIND_SOURCE_CALLER = 2,\n\tKUNWIND_SOURCE_TASK = 3,\n\tKUNWIND_SOURCE_REGS_PC = 4,\n};\n\nenum kvm_arch_timer_regs {\n\tTIMER_REG_CNT = 0,\n\tTIMER_REG_CVAL = 1,\n\tTIMER_REG_TVAL = 2,\n\tTIMER_REG_CTL = 3,\n\tTIMER_REG_VOFF = 4,\n};\n\nenum kvm_arch_timers {\n\tTIMER_PTIMER = 0,\n\tTIMER_VTIMER = 1,\n\tNR_KVM_EL0_TIMERS = 2,\n\tTIMER_HVTIMER = 2,\n\tTIMER_HPTIMER = 3,\n\tNR_KVM_TIMERS = 4,\n};\n\nenum kvm_bus {\n\tKVM_MMIO_BUS = 0,\n\tKVM_PIO_BUS = 1,\n\tKVM_VIRTIO_CCW_NOTIFY_BUS = 2,\n\tKVM_FAST_MMIO_BUS = 3,\n\tKVM_IOCSR_BUS = 4,\n\tKVM_NR_BUSES = 5,\n};\n\nenum kvm_device_type {\n\tKVM_DEV_TYPE_FSL_MPIC_20 = 1,\n\tKVM_DEV_TYPE_FSL_MPIC_42 = 2,\n\tKVM_DEV_TYPE_XICS = 3,\n\tKVM_DEV_TYPE_VFIO = 4,\n\tKVM_DEV_TYPE_ARM_VGIC_V2 = 5,\n\tKVM_DEV_TYPE_FLIC = 6,\n\tKVM_DEV_TYPE_ARM_VGIC_V3 = 7,\n\tKVM_DEV_TYPE_ARM_VGIC_ITS = 8,\n\tKVM_DEV_TYPE_XIVE = 9,\n\tKVM_DEV_TYPE_ARM_PV_TIME = 10,\n\tKVM_DEV_TYPE_RISCV_AIA = 11,\n\tKVM_DEV_TYPE_LOONGARCH_IPI = 12,\n\tKVM_DEV_TYPE_LOONGARCH_EIOINTC = 13,\n\tKVM_DEV_TYPE_LOONGARCH_PCHPIC = 14,\n\tKVM_DEV_TYPE_MAX = 15,\n};\n\nenum kvm_gfn_range_filter {\n\tKVM_FILTER_SHARED = 1,\n\tKVM_FILTER_PRIVATE = 2,\n};\n\nenum kvm_mode {\n\tKVM_MODE_DEFAULT = 0,\n\tKVM_MODE_PROTECTED = 1,\n\tKVM_MODE_NV = 2,\n\tKVM_MODE_NONE = 3,\n};\n\nenum kvm_mr_change {\n\tKVM_MR_CREATE = 0,\n\tKVM_MR_DELETE = 1,\n\tKVM_MR_MOVE = 2,\n\tKVM_MR_FLAGS_ONLY = 3,\n};\n\nenum kvm_pgtable_prot {\n\tKVM_PGTABLE_PROT_X = 1ULL,\n\tKVM_PGTABLE_PROT_W = 2ULL,\n\tKVM_PGTABLE_PROT_R = 4ULL,\n\tKVM_PGTABLE_PROT_DEVICE = 8ULL,\n\tKVM_PGTABLE_PROT_NORMAL_NC = 16ULL,\n\tKVM_PGTABLE_PROT_SW0 = 36028797018963968ULL,\n\tKVM_PGTABLE_PROT_SW1 = 72057594037927936ULL,\n\tKVM_PGTABLE_PROT_SW2 = 144115188075855872ULL,\n\tKVM_PGTABLE_PROT_SW3 = 288230376151711744ULL,\n};\n\nenum kvm_pgtable_stage2_flags {\n\tKVM_PGTABLE_S2_NOFWB = 1,\n\tKVM_PGTABLE_S2_IDMAP = 2,\n};\n\nenum kvm_pgtable_walk_flags {\n\tKVM_PGTABLE_WALK_LEAF = 1,\n\tKVM_PGTABLE_WALK_TABLE_PRE = 2,\n\tKVM_PGTABLE_WALK_TABLE_POST = 4,\n\tKVM_PGTABLE_WALK_SHARED = 8,\n\tKVM_PGTABLE_WALK_HANDLE_FAULT = 16,\n\tKVM_PGTABLE_WALK_SKIP_BBM_TLBI = 32,\n\tKVM_PGTABLE_WALK_SKIP_CMO = 64,\n};\n\nenum kvm_smccc_filter_action {\n\tKVM_SMCCC_FILTER_HANDLE = 0,\n\tKVM_SMCCC_FILTER_DENY = 1,\n\tKVM_SMCCC_FILTER_FWD_TO_USER = 2,\n\tNR_SMCCC_FILTER_ACTIONS = 3,\n};\n\nenum kvm_stat_kind {\n\tKVM_STAT_VM = 0,\n\tKVM_STAT_VCPU = 1,\n};\n\nenum kvm_wfx_trap_policy {\n\tKVM_WFX_NOTRAP_SINGLE_TASK = 0,\n\tKVM_WFX_NOTRAP = 1,\n\tKVM_WFX_TRAP = 2,\n};\n\nenum l2tp_debug_flags {\n\tL2TP_MSG_DEBUG = 1,\n\tL2TP_MSG_CONTROL = 2,\n\tL2TP_MSG_SEQ = 4,\n\tL2TP_MSG_DATA = 8,\n};\n\nenum latency_range {\n\tlowest_latency = 0,\n\tlow_latency = 1,\n\tbulk_latency = 2,\n\tlatency_invalid = 255,\n};\n\nenum layoutdriver_policy_flags {\n\tPNFS_LAYOUTRET_ON_SETATTR = 1,\n\tPNFS_LAYOUTRET_ON_ERROR = 2,\n\tPNFS_READ_WHOLE_PAGE = 4,\n\tPNFS_LAYOUTGET_ON_OPEN = 8,\n};\n\nenum led_brightness {\n\tLED_OFF = 0,\n\tLED_ON = 1,\n\tLED_HALF = 127,\n\tLED_FULL = 255,\n};\n\nenum led_default_state {\n\tLEDS_DEFSTATE_OFF = 0,\n\tLEDS_DEFSTATE_ON = 1,\n\tLEDS_DEFSTATE_KEEP = 2,\n};\n\nenum led_mode {\n\tMO_LED_NORM = 0,\n\tMO_LED_BLINK = 1,\n\tMO_LED_OFF = 2,\n\tMO_LED_ON = 3,\n};\n\nenum led_trigger_netdev_modes {\n\tTRIGGER_NETDEV_LINK = 0,\n\tTRIGGER_NETDEV_LINK_10 = 1,\n\tTRIGGER_NETDEV_LINK_100 = 2,\n\tTRIGGER_NETDEV_LINK_1000 = 3,\n\tTRIGGER_NETDEV_LINK_2500 = 4,\n\tTRIGGER_NETDEV_LINK_5000 = 5,\n\tTRIGGER_NETDEV_LINK_10000 = 6,\n\tTRIGGER_NETDEV_HALF_DUPLEX = 7,\n\tTRIGGER_NETDEV_FULL_DUPLEX = 8,\n\tTRIGGER_NETDEV_TX = 9,\n\tTRIGGER_NETDEV_RX = 10,\n\tTRIGGER_NETDEV_TX_ERR = 11,\n\tTRIGGER_NETDEV_RX_ERR = 12,\n\t__TRIGGER_NETDEV_MAX = 13,\n};\n\nenum legacy_fs_param {\n\tLEGACY_FS_UNSET_PARAMS = 0,\n\tLEGACY_FS_MONOLITHIC_PARAMS = 1,\n\tLEGACY_FS_INDIVIDUAL_PARAMS = 2,\n};\n\nenum legacy_scpi_std_cmd {\n\tLEGACY_SCPI_CMD_INVALID = 0,\n\tLEGACY_SCPI_CMD_SCPI_READY = 1,\n\tLEGACY_SCPI_CMD_SCPI_CAPABILITIES = 2,\n\tLEGACY_SCPI_CMD_EVENT = 3,\n\tLEGACY_SCPI_CMD_SET_CSS_PWR_STATE = 4,\n\tLEGACY_SCPI_CMD_GET_CSS_PWR_STATE = 5,\n\tLEGACY_SCPI_CMD_CFG_PWR_STATE_STAT = 6,\n\tLEGACY_SCPI_CMD_GET_PWR_STATE_STAT = 7,\n\tLEGACY_SCPI_CMD_SYS_PWR_STATE = 8,\n\tLEGACY_SCPI_CMD_L2_READY = 9,\n\tLEGACY_SCPI_CMD_SET_AP_TIMER = 10,\n\tLEGACY_SCPI_CMD_CANCEL_AP_TIME = 11,\n\tLEGACY_SCPI_CMD_DVFS_CAPABILITIES = 12,\n\tLEGACY_SCPI_CMD_GET_DVFS_INFO = 13,\n\tLEGACY_SCPI_CMD_SET_DVFS = 14,\n\tLEGACY_SCPI_CMD_GET_DVFS = 15,\n\tLEGACY_SCPI_CMD_GET_DVFS_STAT = 16,\n\tLEGACY_SCPI_CMD_SET_RTC = 17,\n\tLEGACY_SCPI_CMD_GET_RTC = 18,\n\tLEGACY_SCPI_CMD_CLOCK_CAPABILITIES = 19,\n\tLEGACY_SCPI_CMD_SET_CLOCK_INDEX = 20,\n\tLEGACY_SCPI_CMD_SET_CLOCK_VALUE = 21,\n\tLEGACY_SCPI_CMD_GET_CLOCK_VALUE = 22,\n\tLEGACY_SCPI_CMD_PSU_CAPABILITIES = 23,\n\tLEGACY_SCPI_CMD_SET_PSU = 24,\n\tLEGACY_SCPI_CMD_GET_PSU = 25,\n\tLEGACY_SCPI_CMD_SENSOR_CAPABILITIES = 26,\n\tLEGACY_SCPI_CMD_SENSOR_INFO = 27,\n\tLEGACY_SCPI_CMD_SENSOR_VALUE = 28,\n\tLEGACY_SCPI_CMD_SENSOR_CFG_PERIODIC = 29,\n\tLEGACY_SCPI_CMD_SENSOR_CFG_BOUNDS = 30,\n\tLEGACY_SCPI_CMD_SENSOR_ASYNC_VALUE = 31,\n\tLEGACY_SCPI_CMD_COUNT = 32,\n};\n\nenum lg_g15_led_type {\n\tLG_G15_KBD_BRIGHTNESS = 0,\n\tLG_G15_LCD_BRIGHTNESS = 1,\n\tLG_G15_BRIGHTNESS_MAX = 2,\n\tLG_G15_MACRO_PRESET1 = 2,\n\tLG_G15_MACRO_PRESET2 = 3,\n\tLG_G15_MACRO_PRESET3 = 4,\n\tLG_G15_MACRO_RECORD = 5,\n\tLG_G15_LED_MAX = 6,\n};\n\nenum lg_g15_model {\n\tLG_G15 = 0,\n\tLG_G15_V2 = 1,\n\tLG_G510 = 2,\n\tLG_G510_USB_AUDIO = 3,\n\tLG_Z10 = 4,\n};\n\nenum lightbar_command {\n\tLIGHTBAR_CMD_DUMP = 0,\n\tLIGHTBAR_CMD_OFF = 1,\n\tLIGHTBAR_CMD_ON = 2,\n\tLIGHTBAR_CMD_INIT = 3,\n\tLIGHTBAR_CMD_SET_BRIGHTNESS = 4,\n\tLIGHTBAR_CMD_SEQ = 5,\n\tLIGHTBAR_CMD_REG = 6,\n\tLIGHTBAR_CMD_SET_RGB = 7,\n\tLIGHTBAR_CMD_GET_SEQ = 8,\n\tLIGHTBAR_CMD_DEMO = 9,\n\tLIGHTBAR_CMD_GET_PARAMS_V0 = 10,\n\tLIGHTBAR_CMD_SET_PARAMS_V0 = 11,\n\tLIGHTBAR_CMD_VERSION = 12,\n\tLIGHTBAR_CMD_GET_BRIGHTNESS = 13,\n\tLIGHTBAR_CMD_GET_RGB = 14,\n\tLIGHTBAR_CMD_GET_DEMO = 15,\n\tLIGHTBAR_CMD_GET_PARAMS_V1 = 16,\n\tLIGHTBAR_CMD_SET_PARAMS_V1 = 17,\n\tLIGHTBAR_CMD_SET_PROGRAM = 18,\n\tLIGHTBAR_CMD_MANUAL_SUSPEND_CTRL = 19,\n\tLIGHTBAR_CMD_SUSPEND = 20,\n\tLIGHTBAR_CMD_RESUME = 21,\n\tLIGHTBAR_CMD_GET_PARAMS_V2_TIMING = 22,\n\tLIGHTBAR_CMD_SET_PARAMS_V2_TIMING = 23,\n\tLIGHTBAR_CMD_GET_PARAMS_V2_TAP = 24,\n\tLIGHTBAR_CMD_SET_PARAMS_V2_TAP = 25,\n\tLIGHTBAR_CMD_GET_PARAMS_V2_OSCILLATION = 26,\n\tLIGHTBAR_CMD_SET_PARAMS_V2_OSCILLATION = 27,\n\tLIGHTBAR_CMD_GET_PARAMS_V2_BRIGHTNESS = 28,\n\tLIGHTBAR_CMD_SET_PARAMS_V2_BRIGHTNESS = 29,\n\tLIGHTBAR_CMD_GET_PARAMS_V2_THRESHOLDS = 30,\n\tLIGHTBAR_CMD_SET_PARAMS_V2_THRESHOLDS = 31,\n\tLIGHTBAR_CMD_GET_PARAMS_V2_COLORS = 32,\n\tLIGHTBAR_CMD_SET_PARAMS_V2_COLORS = 33,\n\tLIGHTBAR_NUM_CMDS = 34,\n};\n\nenum limit_by4 {\n\tNFS4_LIMIT_SIZE = 1,\n\tNFS4_LIMIT_BLOCKS = 2,\n};\n\nenum link_inband_signalling {\n\tLINK_INBAND_DISABLE = 1,\n\tLINK_INBAND_ENABLE = 2,\n\tLINK_INBAND_BYPASS = 4,\n};\n\nenum locality_types {\n\tWRITE_LATENCY = 0,\n\tREAD_LATENCY = 1,\n\tWRITE_BANDWIDTH = 2,\n\tREAD_BANDWIDTH = 3,\n};\n\nenum lock_type4 {\n\tNFS4_UNLOCK_LT = 0,\n\tNFS4_READ_LT = 1,\n\tNFS4_WRITE_LT = 2,\n\tNFS4_READW_LT = 3,\n\tNFS4_WRITEW_LT = 4,\n};\n\nenum lockdep_ok {\n\tLOCKDEP_STILL_OK = 0,\n\tLOCKDEP_NOW_UNRELIABLE = 1,\n};\n\nenum lockdown_reason {\n\tLOCKDOWN_NONE = 0,\n\tLOCKDOWN_MODULE_SIGNATURE = 1,\n\tLOCKDOWN_DEV_MEM = 2,\n\tLOCKDOWN_EFI_TEST = 3,\n\tLOCKDOWN_KEXEC = 4,\n\tLOCKDOWN_HIBERNATION = 5,\n\tLOCKDOWN_PCI_ACCESS = 6,\n\tLOCKDOWN_IOPORT = 7,\n\tLOCKDOWN_MSR = 8,\n\tLOCKDOWN_ACPI_TABLES = 9,\n\tLOCKDOWN_DEVICE_TREE = 10,\n\tLOCKDOWN_PCMCIA_CIS = 11,\n\tLOCKDOWN_TIOCSSERIAL = 12,\n\tLOCKDOWN_MODULE_PARAMETERS = 13,\n\tLOCKDOWN_MMIOTRACE = 14,\n\tLOCKDOWN_DEBUGFS = 15,\n\tLOCKDOWN_XMON_WR = 16,\n\tLOCKDOWN_BPF_WRITE_USER = 17,\n\tLOCKDOWN_DBG_WRITE_KERNEL = 18,\n\tLOCKDOWN_RTAS_ERROR_INJECTION = 19,\n\tLOCKDOWN_INTEGRITY_MAX = 20,\n\tLOCKDOWN_KCORE = 21,\n\tLOCKDOWN_KPROBES = 22,\n\tLOCKDOWN_BPF_READ_KERNEL = 23,\n\tLOCKDOWN_DBG_READ_KERNEL = 24,\n\tLOCKDOWN_PERF = 25,\n\tLOCKDOWN_TRACEFS = 26,\n\tLOCKDOWN_XMON_RW = 27,\n\tLOCKDOWN_XFRM_SECRET = 28,\n\tLOCKDOWN_CONFIDENTIALITY_MAX = 29,\n};\n\nenum lpi2c_imx_mode {\n\tSTANDARD = 0,\n\tFAST = 1,\n\tFAST_PLUS = 2,\n\tHS = 3,\n\tULTRA_FAST = 4,\n};\n\nenum lpi2c_imx_pincfg {\n\tTWO_PIN_OD = 0,\n\tTWO_PIN_OO = 1,\n\tTWO_PIN_PP = 2,\n\tFOUR_PIN_PP = 3,\n};\n\nenum lpuart_type {\n\tVF610_LPUART = 0,\n\tLS1021A_LPUART = 1,\n\tLS1028A_LPUART = 2,\n\tIMX7ULP_LPUART = 3,\n\tIMX8ULP_LPUART = 4,\n\tIMX8QXP_LPUART = 5,\n\tIMXRT1050_LPUART = 6,\n};\n\nenum lru_list {\n\tLRU_INACTIVE_ANON = 0,\n\tLRU_ACTIVE_ANON = 1,\n\tLRU_INACTIVE_FILE = 2,\n\tLRU_ACTIVE_FILE = 3,\n\tLRU_UNEVICTABLE = 4,\n\tNR_LRU_LISTS = 5,\n};\n\nenum lru_status {\n\tLRU_REMOVED = 0,\n\tLRU_REMOVED_RETRY = 1,\n\tLRU_ROTATE = 2,\n\tLRU_SKIP = 3,\n\tLRU_RETRY = 4,\n\tLRU_STOP = 5,\n};\n\nenum lruvec_flags {\n\tLRUVEC_CGROUP_CONGESTED = 0,\n\tLRUVEC_NODE_CONGESTED = 1,\n};\n\nenum lsm_event {\n\tLSM_POLICY_CHANGE = 0,\n};\n\nenum lsm_integrity_type {\n\tLSM_INT_DMVERITY_SIG_VALID = 0,\n\tLSM_INT_DMVERITY_ROOTHASH = 1,\n\tLSM_INT_FSVERITY_BUILTINSIG_VALID = 2,\n};\n\nenum lsm_order {\n\tLSM_ORDER_FIRST = -1,\n\tLSM_ORDER_MUTABLE = 0,\n\tLSM_ORDER_LAST = 1,\n};\n\nenum lw_bits {\n\tLW_URGENT = 0,\n};\n\nenum lwtunnel_encap_types {\n\tLWTUNNEL_ENCAP_NONE = 0,\n\tLWTUNNEL_ENCAP_MPLS = 1,\n\tLWTUNNEL_ENCAP_IP = 2,\n\tLWTUNNEL_ENCAP_ILA = 3,\n\tLWTUNNEL_ENCAP_IP6 = 4,\n\tLWTUNNEL_ENCAP_SEG6 = 5,\n\tLWTUNNEL_ENCAP_BPF = 6,\n\tLWTUNNEL_ENCAP_SEG6_LOCAL = 7,\n\tLWTUNNEL_ENCAP_RPL = 8,\n\tLWTUNNEL_ENCAP_IOAM6 = 9,\n\tLWTUNNEL_ENCAP_XFRM = 10,\n\t__LWTUNNEL_ENCAP_MAX = 11,\n};\n\nenum lwtunnel_ip6_t {\n\tLWTUNNEL_IP6_UNSPEC = 0,\n\tLWTUNNEL_IP6_ID = 1,\n\tLWTUNNEL_IP6_DST = 2,\n\tLWTUNNEL_IP6_SRC = 3,\n\tLWTUNNEL_IP6_HOPLIMIT = 4,\n\tLWTUNNEL_IP6_TC = 5,\n\tLWTUNNEL_IP6_FLAGS = 6,\n\tLWTUNNEL_IP6_PAD = 7,\n\tLWTUNNEL_IP6_OPTS = 8,\n\t__LWTUNNEL_IP6_MAX = 9,\n};\n\nenum lwtunnel_ip_t {\n\tLWTUNNEL_IP_UNSPEC = 0,\n\tLWTUNNEL_IP_ID = 1,\n\tLWTUNNEL_IP_DST = 2,\n\tLWTUNNEL_IP_SRC = 3,\n\tLWTUNNEL_IP_TTL = 4,\n\tLWTUNNEL_IP_TOS = 5,\n\tLWTUNNEL_IP_FLAGS = 6,\n\tLWTUNNEL_IP_PAD = 7,\n\tLWTUNNEL_IP_OPTS = 8,\n\t__LWTUNNEL_IP_MAX = 9,\n};\n\nenum lzma2_seq {\n\tSEQ_CONTROL = 0,\n\tSEQ_UNCOMPRESSED_1 = 1,\n\tSEQ_UNCOMPRESSED_2 = 2,\n\tSEQ_COMPRESSED_0 = 3,\n\tSEQ_COMPRESSED_1 = 4,\n\tSEQ_PROPERTIES = 5,\n\tSEQ_LZMA_PREPARE = 6,\n\tSEQ_LZMA_RUN = 7,\n\tSEQ_COPY = 8,\n};\n\nenum lzma_state {\n\tSTATE_LIT_LIT = 0,\n\tSTATE_MATCH_LIT_LIT = 1,\n\tSTATE_REP_LIT_LIT = 2,\n\tSTATE_SHORTREP_LIT_LIT = 3,\n\tSTATE_MATCH_LIT = 4,\n\tSTATE_REP_LIT = 5,\n\tSTATE_SHORTREP_LIT = 6,\n\tSTATE_LIT_MATCH = 7,\n\tSTATE_LIT_LONGREP = 8,\n\tSTATE_LIT_SHORTREP = 9,\n\tSTATE_NONLIT_MATCH = 10,\n\tSTATE_NONLIT_REP = 11,\n};\n\nenum mac_commom_mode {\n\tMAC_COMM_MODE_NONE = 0,\n\tMAC_COMM_MODE_RX = 1,\n\tMAC_COMM_MODE_TX = 2,\n\tMAC_COMM_MODE_RX_AND_TX = 3,\n};\n\nenum mac_intf {\n\tMAC_IF_NONE = 0,\n\tMAC_IF_MII = 65536,\n\tMAC_IF_RMII = 131072,\n\tMAC_IF_SMII = 196608,\n\tMAC_IF_GMII = 262144,\n\tMAC_IF_RGMII = 327680,\n\tMAC_IF_TBI = 393216,\n\tMAC_IF_RTBI = 458752,\n\tMAC_IF_SGMII = 524288,\n\tMAC_IF_XGMII = 589824,\n\tMAC_IF_QSGMII = 655360,\n};\n\nenum mac_mode {\n\tMAC_MODE_INVALID = 0,\n\tMAC_MODE_MII_10 = 65546,\n\tMAC_MODE_MII_100 = 65636,\n\tMAC_MODE_RMII_10 = 131082,\n\tMAC_MODE_RMII_100 = 131172,\n\tMAC_MODE_SMII_10 = 196618,\n\tMAC_MODE_SMII_100 = 196708,\n\tMAC_MODE_GMII_1000 = 263144,\n\tMAC_MODE_RGMII_10 = 327690,\n\tMAC_MODE_RGMII_100 = 327780,\n\tMAC_MODE_RGMII_1000 = 328680,\n\tMAC_MODE_TBI_1000 = 394216,\n\tMAC_MODE_RTBI_1000 = 459752,\n\tMAC_MODE_SGMII_10 = 524298,\n\tMAC_MODE_SGMII_100 = 524388,\n\tMAC_MODE_SGMII_1000 = 525288,\n\tMAC_MODE_XGMII_10000 = 599824,\n\tMAC_MODE_QSGMII_1000 = 656360,\n};\n\nenum mac_speed {\n\tMAC_SPEED_10 = 10,\n\tMAC_SPEED_100 = 100,\n\tMAC_SPEED_1000 = 1000,\n\tMAC_SPEED_10000 = 10000,\n};\n\nenum macb_bd_control {\n\tTSTAMP_DISABLED = 0,\n\tTSTAMP_FRAME_PTP_EVENT_ONLY = 1,\n\tTSTAMP_ALL_PTP_FRAMES = 2,\n\tTSTAMP_ALL_FRAMES = 3,\n};\n\nenum maple_status {\n\tma_active = 0,\n\tma_start = 1,\n\tma_root = 2,\n\tma_none = 3,\n\tma_pause = 4,\n\tma_overflow = 5,\n\tma_underflow = 6,\n\tma_error = 7,\n};\n\nenum maple_type {\n\tmaple_dense = 0,\n\tmaple_leaf_64 = 1,\n\tmaple_range_64 = 2,\n\tmaple_arange_64 = 3,\n};\n\nenum mapping_flags {\n\tAS_EIO = 0,\n\tAS_ENOSPC = 1,\n\tAS_MM_ALL_LOCKS = 2,\n\tAS_UNEVICTABLE = 3,\n\tAS_EXITING = 4,\n\tAS_NO_WRITEBACK_TAGS = 5,\n\tAS_RELEASE_ALWAYS = 6,\n\tAS_STABLE_WRITES = 7,\n\tAS_INACCESSIBLE = 8,\n\tAS_FOLIO_ORDER_BITS = 5,\n\tAS_FOLIO_ORDER_MIN = 16,\n\tAS_FOLIO_ORDER_MAX = 21,\n};\n\nenum max77620_alternate_pinmux_option {\n\tMAX77620_PINMUX_GPIO = 0,\n\tMAX77620_PINMUX_LOW_POWER_MODE_CONTROL_IN = 1,\n\tMAX77620_PINMUX_FLEXIBLE_POWER_SEQUENCER_OUT = 2,\n\tMAX77620_PINMUX_32K_OUT1 = 3,\n\tMAX77620_PINMUX_SD0_DYNAMIC_VOLTAGE_SCALING_IN = 4,\n\tMAX77620_PINMUX_SD1_DYNAMIC_VOLTAGE_SCALING_IN = 5,\n\tMAX77620_PINMUX_REFERENCE_OUT = 6,\n};\n\nenum max77620_chip_id {\n\tMAX77620 = 0,\n\tMAX20024 = 1,\n\tMAX77663 = 2,\n};\n\nenum max77620_fps_src {\n\tMAX77620_FPS_SRC_0 = 0,\n\tMAX77620_FPS_SRC_1 = 1,\n\tMAX77620_FPS_SRC_2 = 2,\n\tMAX77620_FPS_SRC_NONE = 3,\n\tMAX77620_FPS_SRC_DEF = 4,\n};\n\nenum max77620_pin_ppdrv {\n\tMAX77620_PIN_UNCONFIG_DRV = 0,\n\tMAX77620_PIN_OD_DRV = 1,\n\tMAX77620_PIN_PP_DRV = 2,\n};\n\nenum max77620_regulator_type {\n\tMAX77620_REGULATOR_TYPE_SD = 0,\n\tMAX77620_REGULATOR_TYPE_LDO_N = 1,\n\tMAX77620_REGULATOR_TYPE_LDO_P = 2,\n};\n\nenum max77620_regulators {\n\tMAX77620_REGULATOR_ID_SD0 = 0,\n\tMAX77620_REGULATOR_ID_SD1 = 1,\n\tMAX77620_REGULATOR_ID_SD2 = 2,\n\tMAX77620_REGULATOR_ID_SD3 = 3,\n\tMAX77620_REGULATOR_ID_SD4 = 4,\n\tMAX77620_REGULATOR_ID_LDO0 = 5,\n\tMAX77620_REGULATOR_ID_LDO1 = 6,\n\tMAX77620_REGULATOR_ID_LDO2 = 7,\n\tMAX77620_REGULATOR_ID_LDO3 = 8,\n\tMAX77620_REGULATOR_ID_LDO4 = 9,\n\tMAX77620_REGULATOR_ID_LDO5 = 10,\n\tMAX77620_REGULATOR_ID_LDO6 = 11,\n\tMAX77620_REGULATOR_ID_LDO7 = 12,\n\tMAX77620_REGULATOR_ID_LDO8 = 13,\n\tMAX77620_NUM_REGS = 14,\n};\n\nenum max77686_irq {\n\tMAX77686_PMICIRQ_PWRONF = 0,\n\tMAX77686_PMICIRQ_PWRONR = 1,\n\tMAX77686_PMICIRQ_JIGONBF = 2,\n\tMAX77686_PMICIRQ_JIGONBR = 3,\n\tMAX77686_PMICIRQ_ACOKBF = 4,\n\tMAX77686_PMICIRQ_ACOKBR = 5,\n\tMAX77686_PMICIRQ_ONKEY1S = 6,\n\tMAX77686_PMICIRQ_MRSTB = 7,\n\tMAX77686_PMICIRQ_140C = 8,\n\tMAX77686_PMICIRQ_120C = 9,\n\tMAX77686_RTCIRQ_RTC60S = 0,\n\tMAX77686_RTCIRQ_RTCA1 = 1,\n\tMAX77686_RTCIRQ_RTCA2 = 2,\n\tMAX77686_RTCIRQ_SMPL = 3,\n\tMAX77686_RTCIRQ_RTC1S = 4,\n\tMAX77686_RTCIRQ_WTSR = 5,\n};\n\nenum max77686_irq_source {\n\tPMIC_INT1 = 0,\n\tPMIC_INT2 = 1,\n\tRTC_INT = 2,\n\tMAX77686_IRQ_GROUP_NR = 3,\n};\n\nenum max77686_pmic_reg {\n\tMAX77686_REG_DEVICE_ID = 0,\n\tMAX77686_REG_INTSRC = 1,\n\tMAX77686_REG_INT1 = 2,\n\tMAX77686_REG_INT2 = 3,\n\tMAX77686_REG_INT1MSK = 4,\n\tMAX77686_REG_INT2MSK = 5,\n\tMAX77686_REG_STATUS1 = 6,\n\tMAX77686_REG_STATUS2 = 7,\n\tMAX77686_REG_PWRON = 8,\n\tMAX77686_REG_ONOFF_DELAY = 9,\n\tMAX77686_REG_MRSTB = 10,\n\tMAX77686_REG_BUCK1CTRL = 16,\n\tMAX77686_REG_BUCK1OUT = 17,\n\tMAX77686_REG_BUCK2CTRL1 = 18,\n\tMAX77686_REG_BUCK234FREQ = 19,\n\tMAX77686_REG_BUCK2DVS1 = 20,\n\tMAX77686_REG_BUCK2DVS2 = 21,\n\tMAX77686_REG_BUCK2DVS3 = 22,\n\tMAX77686_REG_BUCK2DVS4 = 23,\n\tMAX77686_REG_BUCK2DVS5 = 24,\n\tMAX77686_REG_BUCK2DVS6 = 25,\n\tMAX77686_REG_BUCK2DVS7 = 26,\n\tMAX77686_REG_BUCK2DVS8 = 27,\n\tMAX77686_REG_BUCK3CTRL1 = 28,\n\tMAX77686_REG_BUCK3DVS1 = 30,\n\tMAX77686_REG_BUCK3DVS2 = 31,\n\tMAX77686_REG_BUCK3DVS3 = 32,\n\tMAX77686_REG_BUCK3DVS4 = 33,\n\tMAX77686_REG_BUCK3DVS5 = 34,\n\tMAX77686_REG_BUCK3DVS6 = 35,\n\tMAX77686_REG_BUCK3DVS7 = 36,\n\tMAX77686_REG_BUCK3DVS8 = 37,\n\tMAX77686_REG_BUCK4CTRL1 = 38,\n\tMAX77686_REG_BUCK4DVS1 = 40,\n\tMAX77686_REG_BUCK4DVS2 = 41,\n\tMAX77686_REG_BUCK4DVS3 = 42,\n\tMAX77686_REG_BUCK4DVS4 = 43,\n\tMAX77686_REG_BUCK4DVS5 = 44,\n\tMAX77686_REG_BUCK4DVS6 = 45,\n\tMAX77686_REG_BUCK4DVS7 = 46,\n\tMAX77686_REG_BUCK4DVS8 = 47,\n\tMAX77686_REG_BUCK5CTRL = 48,\n\tMAX77686_REG_BUCK5OUT = 49,\n\tMAX77686_REG_BUCK6CTRL = 50,\n\tMAX77686_REG_BUCK6OUT = 51,\n\tMAX77686_REG_BUCK7CTRL = 52,\n\tMAX77686_REG_BUCK7OUT = 53,\n\tMAX77686_REG_BUCK8CTRL = 54,\n\tMAX77686_REG_BUCK8OUT = 55,\n\tMAX77686_REG_BUCK9CTRL = 56,\n\tMAX77686_REG_BUCK9OUT = 57,\n\tMAX77686_REG_LDO1CTRL1 = 64,\n\tMAX77686_REG_LDO2CTRL1 = 65,\n\tMAX77686_REG_LDO3CTRL1 = 66,\n\tMAX77686_REG_LDO4CTRL1 = 67,\n\tMAX77686_REG_LDO5CTRL1 = 68,\n\tMAX77686_REG_LDO6CTRL1 = 69,\n\tMAX77686_REG_LDO7CTRL1 = 70,\n\tMAX77686_REG_LDO8CTRL1 = 71,\n\tMAX77686_REG_LDO9CTRL1 = 72,\n\tMAX77686_REG_LDO10CTRL1 = 73,\n\tMAX77686_REG_LDO11CTRL1 = 74,\n\tMAX77686_REG_LDO12CTRL1 = 75,\n\tMAX77686_REG_LDO13CTRL1 = 76,\n\tMAX77686_REG_LDO14CTRL1 = 77,\n\tMAX77686_REG_LDO15CTRL1 = 78,\n\tMAX77686_REG_LDO16CTRL1 = 79,\n\tMAX77686_REG_LDO17CTRL1 = 80,\n\tMAX77686_REG_LDO18CTRL1 = 81,\n\tMAX77686_REG_LDO19CTRL1 = 82,\n\tMAX77686_REG_LDO20CTRL1 = 83,\n\tMAX77686_REG_LDO21CTRL1 = 84,\n\tMAX77686_REG_LDO22CTRL1 = 85,\n\tMAX77686_REG_LDO23CTRL1 = 86,\n\tMAX77686_REG_LDO24CTRL1 = 87,\n\tMAX77686_REG_LDO25CTRL1 = 88,\n\tMAX77686_REG_LDO26CTRL1 = 89,\n\tMAX77686_REG_LDO1CTRL2 = 96,\n\tMAX77686_REG_LDO2CTRL2 = 97,\n\tMAX77686_REG_LDO3CTRL2 = 98,\n\tMAX77686_REG_LDO4CTRL2 = 99,\n\tMAX77686_REG_LDO5CTRL2 = 100,\n\tMAX77686_REG_LDO6CTRL2 = 101,\n\tMAX77686_REG_LDO7CTRL2 = 102,\n\tMAX77686_REG_LDO8CTRL2 = 103,\n\tMAX77686_REG_LDO9CTRL2 = 104,\n\tMAX77686_REG_LDO10CTRL2 = 105,\n\tMAX77686_REG_LDO11CTRL2 = 106,\n\tMAX77686_REG_LDO12CTRL2 = 107,\n\tMAX77686_REG_LDO13CTRL2 = 108,\n\tMAX77686_REG_LDO14CTRL2 = 109,\n\tMAX77686_REG_LDO15CTRL2 = 110,\n\tMAX77686_REG_LDO16CTRL2 = 111,\n\tMAX77686_REG_LDO17CTRL2 = 112,\n\tMAX77686_REG_LDO18CTRL2 = 113,\n\tMAX77686_REG_LDO19CTRL2 = 114,\n\tMAX77686_REG_LDO20CTRL2 = 115,\n\tMAX77686_REG_LDO21CTRL2 = 116,\n\tMAX77686_REG_LDO22CTRL2 = 117,\n\tMAX77686_REG_LDO23CTRL2 = 118,\n\tMAX77686_REG_LDO24CTRL2 = 119,\n\tMAX77686_REG_LDO25CTRL2 = 120,\n\tMAX77686_REG_LDO26CTRL2 = 121,\n\tMAX77686_REG_BBAT_CHG = 126,\n\tMAX77686_REG_32KHZ = 127,\n\tMAX77686_REG_PMIC_END = 128,\n};\n\nenum max77686_rtc_reg {\n\tMAX77686_RTC_INT = 0,\n\tMAX77686_RTC_INTM = 1,\n\tMAX77686_RTC_CONTROLM = 2,\n\tMAX77686_RTC_CONTROL = 3,\n\tMAX77686_RTC_UPDATE0 = 4,\n\tMAX77686_WTSR_SMPL_CNTL = 6,\n\tMAX77686_RTC_SEC = 7,\n\tMAX77686_RTC_MIN = 8,\n\tMAX77686_RTC_HOUR = 9,\n\tMAX77686_RTC_WEEKDAY = 10,\n\tMAX77686_RTC_MONTH = 11,\n\tMAX77686_RTC_YEAR = 12,\n\tMAX77686_RTC_MONTHDAY = 13,\n\tMAX77686_ALARM1_SEC = 14,\n\tMAX77686_ALARM1_MIN = 15,\n\tMAX77686_ALARM1_HOUR = 16,\n\tMAX77686_ALARM1_WEEKDAY = 17,\n\tMAX77686_ALARM1_MONTH = 18,\n\tMAX77686_ALARM1_YEAR = 19,\n\tMAX77686_ALARM1_DATE = 20,\n\tMAX77686_ALARM2_SEC = 21,\n\tMAX77686_ALARM2_MIN = 22,\n\tMAX77686_ALARM2_HOUR = 23,\n\tMAX77686_ALARM2_WEEKDAY = 24,\n\tMAX77686_ALARM2_MONTH = 25,\n\tMAX77686_ALARM2_YEAR = 26,\n\tMAX77686_ALARM2_DATE = 27,\n};\n\nenum max77686_rtc_reg_offset {\n\tREG_RTC_CONTROLM = 0,\n\tREG_RTC_CONTROL = 1,\n\tREG_RTC_UPDATE0 = 2,\n\tREG_WTSR_SMPL_CNTL = 3,\n\tREG_RTC_SEC = 4,\n\tREG_RTC_MIN = 5,\n\tREG_RTC_HOUR = 6,\n\tREG_RTC_WEEKDAY = 7,\n\tREG_RTC_MONTH = 8,\n\tREG_RTC_YEAR = 9,\n\tREG_RTC_MONTHDAY = 10,\n\tREG_ALARM1_SEC = 11,\n\tREG_ALARM1_MIN = 12,\n\tREG_ALARM1_HOUR = 13,\n\tREG_ALARM1_WEEKDAY = 14,\n\tREG_ALARM1_MONTH = 15,\n\tREG_ALARM1_YEAR = 16,\n\tREG_ALARM1_DATE = 17,\n\tREG_ALARM2_SEC = 18,\n\tREG_ALARM2_MIN = 19,\n\tREG_ALARM2_HOUR = 20,\n\tREG_ALARM2_WEEKDAY = 21,\n\tREG_ALARM2_MONTH = 22,\n\tREG_ALARM2_YEAR = 23,\n\tREG_ALARM2_DATE = 24,\n\tREG_RTC_AE1 = 25,\n\tREG_RTC_END = 26,\n};\n\nenum max77802_rtc_reg {\n\tMAX77802_RTC_INT = 192,\n\tMAX77802_RTC_INTM = 193,\n\tMAX77802_RTC_CONTROLM = 194,\n\tMAX77802_RTC_CONTROL = 195,\n\tMAX77802_RTC_UPDATE0 = 196,\n\tMAX77802_RTC_UPDATE1 = 197,\n\tMAX77802_WTSR_SMPL_CNTL = 198,\n\tMAX77802_RTC_SEC = 199,\n\tMAX77802_RTC_MIN = 200,\n\tMAX77802_RTC_HOUR = 201,\n\tMAX77802_RTC_WEEKDAY = 202,\n\tMAX77802_RTC_MONTH = 203,\n\tMAX77802_RTC_YEAR = 204,\n\tMAX77802_RTC_MONTHDAY = 205,\n\tMAX77802_RTC_AE1 = 206,\n\tMAX77802_ALARM1_SEC = 207,\n\tMAX77802_ALARM1_MIN = 208,\n\tMAX77802_ALARM1_HOUR = 209,\n\tMAX77802_ALARM1_WEEKDAY = 210,\n\tMAX77802_ALARM1_MONTH = 211,\n\tMAX77802_ALARM1_YEAR = 212,\n\tMAX77802_ALARM1_DATE = 213,\n\tMAX77802_RTC_AE2 = 214,\n\tMAX77802_ALARM2_SEC = 215,\n\tMAX77802_ALARM2_MIN = 216,\n\tMAX77802_ALARM2_HOUR = 217,\n\tMAX77802_ALARM2_WEEKDAY = 218,\n\tMAX77802_ALARM2_MONTH = 219,\n\tMAX77802_ALARM2_YEAR = 220,\n\tMAX77802_ALARM2_DATE = 221,\n\tMAX77802_RTC_END = 223,\n};\n\nenum mc_cmd_status {\n\tMC_CMD_STATUS_OK = 0,\n\tMC_CMD_STATUS_READY = 1,\n\tMC_CMD_STATUS_AUTH_ERR = 3,\n\tMC_CMD_STATUS_NO_PRIVILEGE = 4,\n\tMC_CMD_STATUS_DMA_ERR = 5,\n\tMC_CMD_STATUS_CONFIG_ERR = 6,\n\tMC_CMD_STATUS_TIMEOUT = 7,\n\tMC_CMD_STATUS_NO_RESOURCE = 8,\n\tMC_CMD_STATUS_NO_MEMORY = 9,\n\tMC_CMD_STATUS_BUSY = 10,\n\tMC_CMD_STATUS_UNSUPPORTED_OP = 11,\n\tMC_CMD_STATUS_INVALID_STATE = 12,\n};\n\nenum mctrl_gpio_idx {\n\tUART_GPIO_CTS = 0,\n\tUART_GPIO_DSR = 1,\n\tUART_GPIO_DCD = 2,\n\tUART_GPIO_RNG = 3,\n\tUART_GPIO_RI = 3,\n\tUART_GPIO_RTS = 4,\n\tUART_GPIO_DTR = 5,\n\tUART_GPIO_MAX = 6,\n};\n\nenum mdio_c22_op_seq {\n\tMDIO_C22_WRITE = 1,\n\tMDIO_C22_READ = 2,\n};\n\nenum mdio_c45_op_seq {\n\tMDIO_C45_WRITE_ADDR = 0,\n\tMDIO_C45_WRITE_DATA = 1,\n\tMDIO_C45_READ_INCREMENT = 2,\n\tMDIO_C45_READ = 3,\n};\n\nenum mdio_st_clause {\n\tMDIO_ST_CLAUSE_45 = 0,\n\tMDIO_ST_CLAUSE_22 = 1,\n};\n\nenum mem_type {\n\tMEM_EMPTY = 0,\n\tMEM_RESERVED = 1,\n\tMEM_UNKNOWN = 2,\n\tMEM_FPM = 3,\n\tMEM_EDO = 4,\n\tMEM_BEDO = 5,\n\tMEM_SDR = 6,\n\tMEM_RDR = 7,\n\tMEM_DDR = 8,\n\tMEM_RDDR = 9,\n\tMEM_RMBS = 10,\n\tMEM_DDR2 = 11,\n\tMEM_FB_DDR2 = 12,\n\tMEM_RDDR2 = 13,\n\tMEM_XDR = 14,\n\tMEM_DDR3 = 15,\n\tMEM_RDDR3 = 16,\n\tMEM_LRDDR3 = 17,\n\tMEM_LPDDR3 = 18,\n\tMEM_DDR4 = 19,\n\tMEM_RDDR4 = 20,\n\tMEM_LRDDR4 = 21,\n\tMEM_LPDDR4 = 22,\n\tMEM_DDR5 = 23,\n\tMEM_RDDR5 = 24,\n\tMEM_LRDDR5 = 25,\n\tMEM_NVDIMM = 26,\n\tMEM_WIO2 = 27,\n\tMEM_HBM2 = 28,\n\tMEM_HBM3 = 29,\n};\n\nenum membarrier_cmd {\n\tMEMBARRIER_CMD_QUERY = 0,\n\tMEMBARRIER_CMD_GLOBAL = 1,\n\tMEMBARRIER_CMD_GLOBAL_EXPEDITED = 2,\n\tMEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 4,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED = 8,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 16,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 32,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 64,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 128,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 256,\n\tMEMBARRIER_CMD_GET_REGISTRATIONS = 512,\n\tMEMBARRIER_CMD_SHARED = 1,\n};\n\nenum membarrier_cmd_flag {\n\tMEMBARRIER_CMD_FLAG_CPU = 1,\n};\n\nenum memblock_flags {\n\tMEMBLOCK_NONE = 0,\n\tMEMBLOCK_HOTPLUG = 1,\n\tMEMBLOCK_MIRROR = 2,\n\tMEMBLOCK_NOMAP = 4,\n\tMEMBLOCK_DRIVER_MANAGED = 8,\n\tMEMBLOCK_RSRV_NOINIT = 16,\n};\n\nenum memcg_memory_event {\n\tMEMCG_LOW = 0,\n\tMEMCG_HIGH = 1,\n\tMEMCG_MAX = 2,\n\tMEMCG_OOM = 3,\n\tMEMCG_OOM_KILL = 4,\n\tMEMCG_OOM_GROUP_KILL = 5,\n\tMEMCG_SWAP_HIGH = 6,\n\tMEMCG_SWAP_MAX = 7,\n\tMEMCG_SWAP_FAIL = 8,\n\tMEMCG_NR_MEMORY_EVENTS = 9,\n};\n\nenum memcg_stat_item {\n\tMEMCG_SWAP = 48,\n\tMEMCG_SOCK = 49,\n\tMEMCG_PERCPU_B = 50,\n\tMEMCG_VMALLOC = 51,\n\tMEMCG_KMEM = 52,\n\tMEMCG_ZSWAP_B = 53,\n\tMEMCG_ZSWAPPED = 54,\n\tMEMCG_NR_STAT = 55,\n};\n\nenum meminit_context {\n\tMEMINIT_EARLY = 0,\n\tMEMINIT_HOTPLUG = 1,\n};\n\nenum memory_type {\n\tMEMORY_DEVICE_PRIVATE = 1,\n\tMEMORY_DEVICE_COHERENT = 2,\n\tMEMORY_DEVICE_FS_DAX = 3,\n\tMEMORY_DEVICE_GENERIC = 4,\n\tMEMORY_DEVICE_PCI_P2PDMA = 5,\n};\n\nenum meson_pinconf_drv {\n\tMESON_PINCONF_DRV_500UA = 0,\n\tMESON_PINCONF_DRV_2500UA = 1,\n\tMESON_PINCONF_DRV_3000UA = 2,\n\tMESON_PINCONF_DRV_4000UA = 3,\n};\n\nenum meson_reg_type {\n\tMESON_REG_PULLEN = 0,\n\tMESON_REG_PULL = 1,\n\tMESON_REG_DIR = 2,\n\tMESON_REG_OUT = 3,\n\tMESON_REG_IN = 4,\n\tMESON_REG_DS = 5,\n\tMESON_NUM_REG = 6,\n};\n\nenum meson_sar_adc_avg_mode {\n\tNO_AVERAGING = 0,\n\tMEAN_AVERAGING = 1,\n\tMEDIAN_AVERAGING = 2,\n};\n\nenum meson_sar_adc_chan7_mux_sel {\n\tCHAN7_MUX_VSS = 0,\n\tCHAN7_MUX_VDD_DIV4 = 1,\n\tCHAN7_MUX_VDD_DIV2 = 2,\n\tCHAN7_MUX_VDD_MUL3_DIV4 = 3,\n\tCHAN7_MUX_VDD = 4,\n\tCHAN7_MUX_CH7_INPUT = 7,\n};\n\nenum meson_sar_adc_channel_index {\n\tNUM_CHAN_0 = 0,\n\tNUM_CHAN_1 = 1,\n\tNUM_CHAN_2 = 2,\n\tNUM_CHAN_3 = 3,\n\tNUM_CHAN_4 = 4,\n\tNUM_CHAN_5 = 5,\n\tNUM_CHAN_6 = 6,\n\tNUM_CHAN_7 = 7,\n\tNUM_CHAN_TEMP = 8,\n\tNUM_MUX_0_VSS = 9,\n\tNUM_MUX_1_VDD_DIV4 = 10,\n\tNUM_MUX_2_VDD_DIV2 = 11,\n\tNUM_MUX_3_VDD_MUL3_DIV4 = 12,\n\tNUM_MUX_4_VDD = 13,\n};\n\nenum meson_sar_adc_num_samples {\n\tONE_SAMPLE = 0,\n\tTWO_SAMPLES = 1,\n\tFOUR_SAMPLES = 2,\n\tEIGHT_SAMPLES = 3,\n};\n\nenum meson_sar_adc_vref_sel {\n\tVREF_CALIBATION_VOLTAGE = 0,\n\tVREF_VDDA = 1,\n};\n\nenum meson_soc_id {\n\tMESON_SOC_G12A = 0,\n\tMESON_SOC_A1 = 1,\n};\n\nenum metadata_type {\n\tMETADATA_IP_TUNNEL = 0,\n\tMETADATA_HW_PORT_MUX = 1,\n\tMETADATA_MACSEC = 2,\n\tMETADATA_XFRM = 3,\n};\n\nenum mf_action_page_type {\n\tMF_MSG_KERNEL = 0,\n\tMF_MSG_KERNEL_HIGH_ORDER = 1,\n\tMF_MSG_DIFFERENT_COMPOUND = 2,\n\tMF_MSG_HUGE = 3,\n\tMF_MSG_FREE_HUGE = 4,\n\tMF_MSG_GET_HWPOISON = 5,\n\tMF_MSG_UNMAP_FAILED = 6,\n\tMF_MSG_DIRTY_SWAPCACHE = 7,\n\tMF_MSG_CLEAN_SWAPCACHE = 8,\n\tMF_MSG_DIRTY_MLOCKED_LRU = 9,\n\tMF_MSG_CLEAN_MLOCKED_LRU = 10,\n\tMF_MSG_DIRTY_UNEVICTABLE_LRU = 11,\n\tMF_MSG_CLEAN_UNEVICTABLE_LRU = 12,\n\tMF_MSG_DIRTY_LRU = 13,\n\tMF_MSG_CLEAN_LRU = 14,\n\tMF_MSG_TRUNCATED_LRU = 15,\n\tMF_MSG_BUDDY = 16,\n\tMF_MSG_DAX = 17,\n\tMF_MSG_UNSPLIT_THP = 18,\n\tMF_MSG_ALREADY_POISONED = 19,\n\tMF_MSG_UNKNOWN = 20,\n};\n\nenum mf_flags {\n\tMF_COUNT_INCREASED = 1,\n\tMF_ACTION_REQUIRED = 2,\n\tMF_MUST_KILL = 4,\n\tMF_SOFT_OFFLINE = 8,\n\tMF_UNPOISON = 16,\n\tMF_SW_SIMULATED = 32,\n\tMF_NO_RETRY = 64,\n\tMF_MEM_PRE_REMOVE = 128,\n};\n\nenum mf_result {\n\tMF_IGNORED = 0,\n\tMF_FAILED = 1,\n\tMF_DELAYED = 2,\n\tMF_RECOVERED = 3,\n};\n\nenum mfi_evt_class {\n\tMFI_EVT_CLASS_DEBUG = -2,\n\tMFI_EVT_CLASS_PROGRESS = -1,\n\tMFI_EVT_CLASS_INFO = 0,\n\tMFI_EVT_CLASS_WARNING = 1,\n\tMFI_EVT_CLASS_CRITICAL = 2,\n\tMFI_EVT_CLASS_FATAL = 3,\n\tMFI_EVT_CLASS_DEAD = 4,\n};\n\nenum migrate_mode {\n\tMIGRATE_ASYNC = 0,\n\tMIGRATE_SYNC_LIGHT = 1,\n\tMIGRATE_SYNC = 2,\n};\n\nenum migrate_reason {\n\tMR_COMPACTION = 0,\n\tMR_MEMORY_FAILURE = 1,\n\tMR_MEMORY_HOTPLUG = 2,\n\tMR_SYSCALL = 3,\n\tMR_MEMPOLICY_MBIND = 4,\n\tMR_NUMA_MISPLACED = 5,\n\tMR_CONTIG_RANGE = 6,\n\tMR_LONGTERM_PIN = 7,\n\tMR_DEMOTION = 8,\n\tMR_DAMON = 9,\n\tMR_TYPES = 10,\n};\n\nenum migratetype {\n\tMIGRATE_UNMOVABLE = 0,\n\tMIGRATE_MOVABLE = 1,\n\tMIGRATE_RECLAIMABLE = 2,\n\tMIGRATE_PCPTYPES = 3,\n\tMIGRATE_HIGHATOMIC = 3,\n\tMIGRATE_CMA = 4,\n\tMIGRATE_ISOLATE = 5,\n\tMIGRATE_TYPES = 6,\n};\n\nenum migration_type {\n\tmigrate_load = 0,\n\tmigrate_util = 1,\n\tmigrate_task = 2,\n\tmigrate_misfit = 3,\n};\n\nenum mipi_dsi_compression_algo {\n\tMIPI_DSI_COMPRESSION_DSC = 0,\n\tMIPI_DSI_COMPRESSION_VENDOR = 3,\n};\n\nenum mipi_dsi_dcs_tear_mode {\n\tMIPI_DSI_DCS_TEAR_MODE_VBLANK = 0,\n\tMIPI_DSI_DCS_TEAR_MODE_VHBLANK = 1,\n};\n\nenum mipi_dsi_pixel_format {\n\tMIPI_DSI_FMT_RGB888 = 0,\n\tMIPI_DSI_FMT_RGB666 = 1,\n\tMIPI_DSI_FMT_RGB666_PACKED = 2,\n\tMIPI_DSI_FMT_RGB565 = 3,\n};\n\nenum mitigation_state {\n\tSPECTRE_UNAFFECTED = 0,\n\tSPECTRE_MITIGATED = 1,\n\tSPECTRE_VULNERABLE = 2,\n};\n\nenum mm_cid_state {\n\tMM_CID_UNSET = 4294967295,\n\tMM_CID_LAZY_PUT = 2147483648,\n};\n\nenum mmc_busy_cmd {\n\tMMC_BUSY_CMD6 = 0,\n\tMMC_BUSY_ERASE = 1,\n\tMMC_BUSY_HPI = 2,\n\tMMC_BUSY_EXTR_SINGLE = 3,\n\tMMC_BUSY_IO = 4,\n};\n\nenum mmc_drv_op {\n\tMMC_DRV_OP_IOCTL = 0,\n\tMMC_DRV_OP_IOCTL_RPMB = 1,\n\tMMC_DRV_OP_BOOT_WP = 2,\n\tMMC_DRV_OP_GET_CARD_STATUS = 3,\n\tMMC_DRV_OP_GET_EXT_CSD = 4,\n};\n\nenum mmc_err_stat {\n\tMMC_ERR_CMD_TIMEOUT = 0,\n\tMMC_ERR_CMD_CRC = 1,\n\tMMC_ERR_DAT_TIMEOUT = 2,\n\tMMC_ERR_DAT_CRC = 3,\n\tMMC_ERR_AUTO_CMD = 4,\n\tMMC_ERR_ADMA = 5,\n\tMMC_ERR_TUNING = 6,\n\tMMC_ERR_CMDQ_RED = 7,\n\tMMC_ERR_CMDQ_GCE = 8,\n\tMMC_ERR_CMDQ_ICCE = 9,\n\tMMC_ERR_REQ_TIMEOUT = 10,\n\tMMC_ERR_CMDQ_REQ_TIMEOUT = 11,\n\tMMC_ERR_ICE_CFG = 12,\n\tMMC_ERR_CTRL_TIMEOUT = 13,\n\tMMC_ERR_UNEXPECTED_IRQ = 14,\n\tMMC_ERR_MAX = 15,\n};\n\nenum mmc_issue_type {\n\tMMC_ISSUE_SYNC = 0,\n\tMMC_ISSUE_DCMD = 1,\n\tMMC_ISSUE_ASYNC = 2,\n\tMMC_ISSUE_MAX = 3,\n};\n\nenum mmc_issued {\n\tMMC_REQ_STARTED = 0,\n\tMMC_REQ_BUSY = 1,\n\tMMC_REQ_FAILED_TO_START = 2,\n\tMMC_REQ_FINISHED = 3,\n};\n\nenum mmci_busy_state {\n\tMMCI_BUSY_WAITING_FOR_START_IRQ = 0,\n\tMMCI_BUSY_WAITING_FOR_END_IRQ = 1,\n\tMMCI_BUSY_DONE = 2,\n};\n\nenum mminit_level {\n\tMMINIT_WARNING = 0,\n\tMMINIT_VERIFY = 1,\n\tMMINIT_TRACE = 2,\n};\n\nenum mmu_notifier_event {\n\tMMU_NOTIFY_UNMAP = 0,\n\tMMU_NOTIFY_CLEAR = 1,\n\tMMU_NOTIFY_PROTECTION_VMA = 2,\n\tMMU_NOTIFY_PROTECTION_PAGE = 3,\n\tMMU_NOTIFY_SOFT_DIRTY = 4,\n\tMMU_NOTIFY_RELEASE = 5,\n\tMMU_NOTIFY_MIGRATE = 6,\n\tMMU_NOTIFY_EXCLUSIVE = 7,\n};\n\nenum mnt_tree_flags_t {\n\tMNT_TREE_MOVE = 1,\n\tMNT_TREE_BENEATH = 2,\n};\n\nenum mod_license {\n\tNOT_GPL_ONLY = 0,\n\tGPL_ONLY = 1,\n};\n\nenum mod_mem_type {\n\tMOD_TEXT = 0,\n\tMOD_DATA = 1,\n\tMOD_RODATA = 2,\n\tMOD_RO_AFTER_INIT = 3,\n\tMOD_INIT_TEXT = 4,\n\tMOD_INIT_DATA = 5,\n\tMOD_INIT_RODATA = 6,\n\tMOD_MEM_NUM_TYPES = 7,\n\tMOD_INVALID = -1,\n};\n\nenum module_state {\n\tMODULE_STATE_LIVE = 0,\n\tMODULE_STATE_COMING = 1,\n\tMODULE_STATE_GOING = 2,\n\tMODULE_STATE_UNFORMED = 3,\n};\n\nenum motionsense_command {\n\tMOTIONSENSE_CMD_DUMP = 0,\n\tMOTIONSENSE_CMD_INFO = 1,\n\tMOTIONSENSE_CMD_EC_RATE = 2,\n\tMOTIONSENSE_CMD_SENSOR_ODR = 3,\n\tMOTIONSENSE_CMD_SENSOR_RANGE = 4,\n\tMOTIONSENSE_CMD_KB_WAKE_ANGLE = 5,\n\tMOTIONSENSE_CMD_DATA = 6,\n\tMOTIONSENSE_CMD_FIFO_INFO = 7,\n\tMOTIONSENSE_CMD_FIFO_FLUSH = 8,\n\tMOTIONSENSE_CMD_FIFO_READ = 9,\n\tMOTIONSENSE_CMD_PERFORM_CALIB = 10,\n\tMOTIONSENSE_CMD_SENSOR_OFFSET = 11,\n\tMOTIONSENSE_CMD_LIST_ACTIVITIES = 12,\n\tMOTIONSENSE_CMD_SET_ACTIVITY = 13,\n\tMOTIONSENSE_CMD_LID_ANGLE = 14,\n\tMOTIONSENSE_CMD_FIFO_INT_ENABLE = 15,\n\tMOTIONSENSE_CMD_SPOOF = 16,\n\tMOTIONSENSE_CMD_TABLET_MODE_LID_ANGLE = 17,\n\tMOTIONSENSE_CMD_SENSOR_SCALE = 18,\n\tMOTIONSENSE_NUM_CMDS = 19,\n};\n\nenum motionsensor_type {\n\tMOTIONSENSE_TYPE_ACCEL = 0,\n\tMOTIONSENSE_TYPE_GYRO = 1,\n\tMOTIONSENSE_TYPE_MAG = 2,\n\tMOTIONSENSE_TYPE_PROX = 3,\n\tMOTIONSENSE_TYPE_LIGHT = 4,\n\tMOTIONSENSE_TYPE_ACTIVITY = 5,\n\tMOTIONSENSE_TYPE_BARO = 6,\n\tMOTIONSENSE_TYPE_SYNC = 7,\n\tMOTIONSENSE_TYPE_MAX = 8,\n};\n\nenum mountstat {\n\tMNT_OK = 0,\n\tMNT_EPERM = 1,\n\tMNT_ENOENT = 2,\n\tMNT_EACCES = 13,\n\tMNT_EINVAL = 22,\n};\n\nenum mountstat3 {\n\tMNT3_OK = 0,\n\tMNT3ERR_PERM = 1,\n\tMNT3ERR_NOENT = 2,\n\tMNT3ERR_IO = 5,\n\tMNT3ERR_ACCES = 13,\n\tMNT3ERR_NOTDIR = 20,\n\tMNT3ERR_INVAL = 22,\n\tMNT3ERR_NAMETOOLONG = 63,\n\tMNT3ERR_NOTSUPP = 10004,\n\tMNT3ERR_SERVERFAULT = 10006,\n};\n\nenum mq_rq_state {\n\tMQ_RQ_IDLE = 0,\n\tMQ_RQ_IN_FLIGHT = 1,\n\tMQ_RQ_COMPLETE = 2,\n};\n\nenum mrq_bwmgr_int_cmd {\n\tCMD_BWMGR_INT_QUERY_ABI = 1,\n\tCMD_BWMGR_INT_CALC_AND_SET = 2,\n\tCMD_BWMGR_INT_CAP_SET = 3,\n};\n\nenum mrq_debug_commands {\n\tCMD_DEBUG_OPEN_RO = 0,\n\tCMD_DEBUG_OPEN_WO = 1,\n\tCMD_DEBUG_READ = 2,\n\tCMD_DEBUG_WRITE = 3,\n\tCMD_DEBUG_CLOSE = 4,\n\tCMD_DEBUG_MAX = 5,\n};\n\nenum mrq_debugfs_commands {\n\tCMD_DEBUGFS_READ = 1,\n\tCMD_DEBUGFS_WRITE = 2,\n\tCMD_DEBUGFS_DUMPDIR = 3,\n\tCMD_DEBUGFS_MAX = 4,\n};\n\nenum mrq_pg_cmd {\n\tCMD_PG_QUERY_ABI = 0,\n\tCMD_PG_SET_STATE = 1,\n\tCMD_PG_GET_STATE = 2,\n\tCMD_PG_GET_NAME = 3,\n\tCMD_PG_GET_MAX_ID = 4,\n};\n\nenum mrq_reset_commands {\n\tCMD_RESET_ASSERT = 1,\n\tCMD_RESET_DEASSERT = 2,\n\tCMD_RESET_MODULE = 3,\n\tCMD_RESET_GET_MAX_ID = 4,\n\tCMD_RESET_MAX = 5,\n};\n\nenum msdos_sys_ind {\n\tDOS_EXTENDED_PARTITION = 5,\n\tLINUX_EXTENDED_PARTITION = 133,\n\tWIN98_EXTENDED_PARTITION = 15,\n\tLINUX_DATA_PARTITION = 131,\n\tLINUX_LVM_PARTITION = 142,\n\tLINUX_RAID_PARTITION = 253,\n\tSOLARIS_X86_PARTITION = 130,\n\tNEW_SOLARIS_X86_PARTITION = 191,\n\tDM6_AUX1PARTITION = 81,\n\tDM6_AUX3PARTITION = 83,\n\tDM6_PARTITION = 84,\n\tEZD_PARTITION = 85,\n\tFREEBSD_PARTITION = 165,\n\tOPENBSD_PARTITION = 166,\n\tNETBSD_PARTITION = 169,\n\tBSDI_PARTITION = 183,\n\tMINIX_PARTITION = 129,\n\tUNIXWARE_PARTITION = 99,\n};\n\nenum msg_end_type {\n\tMSG_END_STOP = 0,\n\tMSG_END_REPEAT_START = 1,\n\tMSG_END_CONTINUE = 2,\n};\n\nenum msi_desc_filter {\n\tMSI_DESC_ALL = 0,\n\tMSI_DESC_NOTASSOCIATED = 1,\n\tMSI_DESC_ASSOCIATED = 2,\n};\n\nenum msi_domain_ids {\n\tMSI_DEFAULT_DOMAIN = 0,\n\tMSI_MAX_DEVICE_IRQDOMAINS = 1,\n};\n\nenum msm8916_functions {\n\tmsm_mux_adsp_ext = 0,\n\tmsm_mux_alsp_int = 1,\n\tmsm_mux_atest_bbrx0 = 2,\n\tmsm_mux_atest_bbrx1 = 3,\n\tmsm_mux_atest_char___6 = 4,\n\tmsm_mux_atest_char0___5 = 5,\n\tmsm_mux_atest_char1___5 = 6,\n\tmsm_mux_atest_char2___5 = 7,\n\tmsm_mux_atest_char3___5 = 8,\n\tmsm_mux_atest_combodac = 9,\n\tmsm_mux_atest_gpsadc0 = 10,\n\tmsm_mux_atest_gpsadc1 = 11,\n\tmsm_mux_atest_tsens = 12,\n\tmsm_mux_atest_wlan0 = 13,\n\tmsm_mux_atest_wlan1 = 14,\n\tmsm_mux_backlight_en = 15,\n\tmsm_mux_bimc_dte0 = 16,\n\tmsm_mux_bimc_dte1 = 17,\n\tmsm_mux_blsp_i2c1 = 18,\n\tmsm_mux_blsp_i2c2 = 19,\n\tmsm_mux_blsp_i2c3 = 20,\n\tmsm_mux_blsp_i2c4 = 21,\n\tmsm_mux_blsp_i2c5 = 22,\n\tmsm_mux_blsp_i2c6 = 23,\n\tmsm_mux_blsp_spi1 = 24,\n\tmsm_mux_blsp_spi1_cs1 = 25,\n\tmsm_mux_blsp_spi1_cs2 = 26,\n\tmsm_mux_blsp_spi1_cs3 = 27,\n\tmsm_mux_blsp_spi2 = 28,\n\tmsm_mux_blsp_spi2_cs1 = 29,\n\tmsm_mux_blsp_spi2_cs2 = 30,\n\tmsm_mux_blsp_spi2_cs3 = 31,\n\tmsm_mux_blsp_spi3 = 32,\n\tmsm_mux_blsp_spi3_cs1 = 33,\n\tmsm_mux_blsp_spi3_cs2 = 34,\n\tmsm_mux_blsp_spi3_cs3 = 35,\n\tmsm_mux_blsp_spi4 = 36,\n\tmsm_mux_blsp_spi5 = 37,\n\tmsm_mux_blsp_spi6 = 38,\n\tmsm_mux_blsp_uart1 = 39,\n\tmsm_mux_blsp_uart2 = 40,\n\tmsm_mux_blsp_uim1 = 41,\n\tmsm_mux_blsp_uim2 = 42,\n\tmsm_mux_cam1_rst = 43,\n\tmsm_mux_cam1_standby = 44,\n\tmsm_mux_cam_mclk0 = 45,\n\tmsm_mux_cam_mclk1 = 46,\n\tmsm_mux_cci_async = 47,\n\tmsm_mux_cci_i2c = 48,\n\tmsm_mux_cci_timer0 = 49,\n\tmsm_mux_cci_timer1 = 50,\n\tmsm_mux_cci_timer2 = 51,\n\tmsm_mux_cdc_pdm0 = 52,\n\tmsm_mux_codec_mad = 53,\n\tmsm_mux_dbg_out___6 = 54,\n\tmsm_mux_display_5v = 55,\n\tmsm_mux_dmic0_clk = 56,\n\tmsm_mux_dmic0_data = 57,\n\tmsm_mux_dsi_rst = 58,\n\tmsm_mux_ebi0_wrcdc = 59,\n\tmsm_mux_euro_us = 60,\n\tmsm_mux_ext_lpass = 61,\n\tmsm_mux_flash_strobe = 62,\n\tmsm_mux_gcc_gp1_clk_a = 63,\n\tmsm_mux_gcc_gp1_clk_b = 64,\n\tmsm_mux_gcc_gp2_clk_a = 65,\n\tmsm_mux_gcc_gp2_clk_b = 66,\n\tmsm_mux_gcc_gp3_clk_a = 67,\n\tmsm_mux_gcc_gp3_clk_b = 68,\n\tmsm_mux_gpio___6 = 69,\n\tmsm_mux_gsm0_tx0 = 70,\n\tmsm_mux_gsm0_tx1 = 71,\n\tmsm_mux_gsm1_tx0 = 72,\n\tmsm_mux_gsm1_tx1 = 73,\n\tmsm_mux_gyro_accl = 74,\n\tmsm_mux_kpsns0 = 75,\n\tmsm_mux_kpsns1 = 76,\n\tmsm_mux_kpsns2 = 77,\n\tmsm_mux_ldo_en___2 = 78,\n\tmsm_mux_ldo_update___2 = 79,\n\tmsm_mux_mag_int = 80,\n\tmsm_mux_mdp_vsync = 81,\n\tmsm_mux_modem_tsync = 82,\n\tmsm_mux_m_voc = 83,\n\tmsm_mux_nav_pps = 84,\n\tmsm_mux_nav_tsync = 85,\n\tmsm_mux_pa_indicator = 86,\n\tmsm_mux_pbs0 = 87,\n\tmsm_mux_pbs1 = 88,\n\tmsm_mux_pbs2 = 89,\n\tmsm_mux_pri_mi2s = 90,\n\tmsm_mux_pri_mi2s_ws = 91,\n\tmsm_mux_prng_rosc___4 = 92,\n\tmsm_mux_pwr_crypto_enabled_a = 93,\n\tmsm_mux_pwr_crypto_enabled_b = 94,\n\tmsm_mux_pwr_modem_enabled_a = 95,\n\tmsm_mux_pwr_modem_enabled_b = 96,\n\tmsm_mux_pwr_nav_enabled_a = 97,\n\tmsm_mux_pwr_nav_enabled_b = 98,\n\tmsm_mux_qdss_ctitrig_in_a0 = 99,\n\tmsm_mux_qdss_ctitrig_in_a1 = 100,\n\tmsm_mux_qdss_ctitrig_in_b0 = 101,\n\tmsm_mux_qdss_ctitrig_in_b1 = 102,\n\tmsm_mux_qdss_ctitrig_out_a0 = 103,\n\tmsm_mux_qdss_ctitrig_out_a1 = 104,\n\tmsm_mux_qdss_ctitrig_out_b0 = 105,\n\tmsm_mux_qdss_ctitrig_out_b1 = 106,\n\tmsm_mux_qdss_traceclk_a___6 = 107,\n\tmsm_mux_qdss_traceclk_b___6 = 108,\n\tmsm_mux_qdss_tracectl_a___6 = 109,\n\tmsm_mux_qdss_tracectl_b___6 = 110,\n\tmsm_mux_qdss_tracedata_a___6 = 111,\n\tmsm_mux_qdss_tracedata_b___6 = 112,\n\tmsm_mux_reset_n = 113,\n\tmsm_mux_sd_card___3 = 114,\n\tmsm_mux_sd_write___3 = 115,\n\tmsm_mux_sec_mi2s = 116,\n\tmsm_mux_smb_int = 117,\n\tmsm_mux_ssbi_wtr0 = 118,\n\tmsm_mux_ssbi_wtr1 = 119,\n\tmsm_mux_uim1 = 120,\n\tmsm_mux_uim2 = 121,\n\tmsm_mux_uim3 = 122,\n\tmsm_mux_uim_batt = 123,\n\tmsm_mux_wcss_bt = 124,\n\tmsm_mux_wcss_fm = 125,\n\tmsm_mux_wcss_wlan = 126,\n\tmsm_mux_webcam1_rst = 127,\n\tmsm_mux_NA___2 = 128,\n};\n\nenum msm8953_functions {\n\tmsm_mux_accel_int = 0,\n\tmsm_mux_adsp_ext___2 = 1,\n\tmsm_mux_alsp_int___2 = 2,\n\tmsm_mux_atest_bbrx0___2 = 3,\n\tmsm_mux_atest_bbrx1___2 = 4,\n\tmsm_mux_atest_char___7 = 5,\n\tmsm_mux_atest_char0___6 = 6,\n\tmsm_mux_atest_char1___6 = 7,\n\tmsm_mux_atest_char2___6 = 8,\n\tmsm_mux_atest_char3___6 = 9,\n\tmsm_mux_atest_gpsadc_dtest0_native = 10,\n\tmsm_mux_atest_gpsadc_dtest1_native = 11,\n\tmsm_mux_atest_tsens___2 = 12,\n\tmsm_mux_atest_wlan0___2 = 13,\n\tmsm_mux_atest_wlan1___2 = 14,\n\tmsm_mux_bimc_dte0___2 = 15,\n\tmsm_mux_bimc_dte1___2 = 16,\n\tmsm_mux_blsp1_spi___4 = 17,\n\tmsm_mux_blsp3_spi___4 = 18,\n\tmsm_mux_blsp6_spi = 19,\n\tmsm_mux_blsp7_spi = 20,\n\tmsm_mux_blsp_i2c1___2 = 21,\n\tmsm_mux_blsp_i2c2___2 = 22,\n\tmsm_mux_blsp_i2c3___2 = 23,\n\tmsm_mux_blsp_i2c4___2 = 24,\n\tmsm_mux_blsp_i2c5___2 = 25,\n\tmsm_mux_blsp_i2c6___2 = 26,\n\tmsm_mux_blsp_i2c7 = 27,\n\tmsm_mux_blsp_i2c8 = 28,\n\tmsm_mux_blsp_spi1___2 = 29,\n\tmsm_mux_blsp_spi2___2 = 30,\n\tmsm_mux_blsp_spi3___2 = 31,\n\tmsm_mux_blsp_spi4___2 = 32,\n\tmsm_mux_blsp_spi5___2 = 33,\n\tmsm_mux_blsp_spi6___2 = 34,\n\tmsm_mux_blsp_spi7 = 35,\n\tmsm_mux_blsp_spi8 = 36,\n\tmsm_mux_blsp_uart2___2 = 37,\n\tmsm_mux_blsp_uart4 = 38,\n\tmsm_mux_blsp_uart5 = 39,\n\tmsm_mux_blsp_uart6 = 40,\n\tmsm_mux_cam0_ldo = 41,\n\tmsm_mux_cam1_ldo = 42,\n\tmsm_mux_cam1_rst___2 = 43,\n\tmsm_mux_cam1_standby___2 = 44,\n\tmsm_mux_cam2_rst = 45,\n\tmsm_mux_cam2_standby = 46,\n\tmsm_mux_cam3_rst = 47,\n\tmsm_mux_cam3_standby = 48,\n\tmsm_mux_cam_irq = 49,\n\tmsm_mux_cam_mclk = 50,\n\tmsm_mux_cap_int = 51,\n\tmsm_mux_cci_async___2 = 52,\n\tmsm_mux_cci_i2c___2 = 53,\n\tmsm_mux_cci_timer0___2 = 54,\n\tmsm_mux_cci_timer1___2 = 55,\n\tmsm_mux_cci_timer2___2 = 56,\n\tmsm_mux_cci_timer3 = 57,\n\tmsm_mux_cci_timer4 = 58,\n\tmsm_mux_cdc_pdm0___2 = 59,\n\tmsm_mux_codec_int1 = 60,\n\tmsm_mux_codec_int2 = 61,\n\tmsm_mux_codec_reset = 62,\n\tmsm_mux_cri_trng___4 = 63,\n\tmsm_mux_cri_trng0___6 = 64,\n\tmsm_mux_cri_trng1___6 = 65,\n\tmsm_mux_dac_calib0 = 66,\n\tmsm_mux_dac_calib1 = 67,\n\tmsm_mux_dac_calib2 = 68,\n\tmsm_mux_dac_calib3 = 69,\n\tmsm_mux_dac_calib4 = 70,\n\tmsm_mux_dac_calib5 = 71,\n\tmsm_mux_dac_calib6 = 72,\n\tmsm_mux_dac_calib7 = 73,\n\tmsm_mux_dac_calib8 = 74,\n\tmsm_mux_dac_calib9 = 75,\n\tmsm_mux_dac_calib10 = 76,\n\tmsm_mux_dac_calib11 = 77,\n\tmsm_mux_dac_calib12 = 78,\n\tmsm_mux_dac_calib13 = 79,\n\tmsm_mux_dac_calib14 = 80,\n\tmsm_mux_dac_calib15 = 81,\n\tmsm_mux_dac_calib16 = 82,\n\tmsm_mux_dac_calib17 = 83,\n\tmsm_mux_dac_calib18 = 84,\n\tmsm_mux_dac_calib19 = 85,\n\tmsm_mux_dac_calib20 = 86,\n\tmsm_mux_dac_calib21 = 87,\n\tmsm_mux_dac_calib22 = 88,\n\tmsm_mux_dac_calib23 = 89,\n\tmsm_mux_dac_calib24 = 90,\n\tmsm_mux_dac_calib25 = 91,\n\tmsm_mux_dbg_out___7 = 92,\n\tmsm_mux_ddr_bist = 93,\n\tmsm_mux_dmic0_clk___2 = 94,\n\tmsm_mux_dmic0_data___2 = 95,\n\tmsm_mux_ebi_cdc = 96,\n\tmsm_mux_ebi_ch0 = 97,\n\tmsm_mux_ext_lpass___2 = 98,\n\tmsm_mux_flash_strobe___2 = 99,\n\tmsm_mux_fp_int = 100,\n\tmsm_mux_gcc_gp1_clk_a___2 = 101,\n\tmsm_mux_gcc_gp1_clk_b___2 = 102,\n\tmsm_mux_gcc_gp2_clk_a___2 = 103,\n\tmsm_mux_gcc_gp2_clk_b___2 = 104,\n\tmsm_mux_gcc_gp3_clk_a___2 = 105,\n\tmsm_mux_gcc_gp3_clk_b___2 = 106,\n\tmsm_mux_gcc_plltest___6 = 107,\n\tmsm_mux_gcc_tlmm___6 = 108,\n\tmsm_mux_gpio___7 = 109,\n\tmsm_mux_gsm0_tx = 110,\n\tmsm_mux_gsm1_tx = 111,\n\tmsm_mux_gyro_int = 112,\n\tmsm_mux_hall_int = 113,\n\tmsm_mux_hdmi_int = 114,\n\tmsm_mux_key_focus = 115,\n\tmsm_mux_key_home = 116,\n\tmsm_mux_key_snapshot = 117,\n\tmsm_mux_key_volp = 118,\n\tmsm_mux_ldo_en___3 = 119,\n\tmsm_mux_ldo_update___3 = 120,\n\tmsm_mux_lpass_slimbus = 121,\n\tmsm_mux_lpass_slimbus0 = 122,\n\tmsm_mux_lpass_slimbus1 = 123,\n\tmsm_mux_m_voc___2 = 124,\n\tmsm_mux_mag_int___2 = 125,\n\tmsm_mux_mdp_vsync___2 = 126,\n\tmsm_mux_mipi_dsi0 = 127,\n\tmsm_mux_modem_tsync___2 = 128,\n\tmsm_mux_mss_lte = 129,\n\tmsm_mux_nav_pps___2 = 130,\n\tmsm_mux_nav_pps_in_a = 131,\n\tmsm_mux_nav_pps_in_b = 132,\n\tmsm_mux_nav_tsync___2 = 133,\n\tmsm_mux_nfc_disable = 134,\n\tmsm_mux_nfc_dwl = 135,\n\tmsm_mux_nfc_irq = 136,\n\tmsm_mux_ois_sync = 137,\n\tmsm_mux_pa_indicator___2 = 138,\n\tmsm_mux_pbs0___2 = 139,\n\tmsm_mux_pbs1___2 = 140,\n\tmsm_mux_pbs2___2 = 141,\n\tmsm_mux_pressure_int = 142,\n\tmsm_mux_pri_mi2s___2 = 143,\n\tmsm_mux_pri_mi2s_mclk_a = 144,\n\tmsm_mux_pri_mi2s_mclk_b = 145,\n\tmsm_mux_pri_mi2s_ws___2 = 146,\n\tmsm_mux_prng_rosc___5 = 147,\n\tmsm_mux_pwr_crypto_enabled_a___2 = 148,\n\tmsm_mux_pwr_crypto_enabled_b___2 = 149,\n\tmsm_mux_pwr_down = 150,\n\tmsm_mux_pwr_modem_enabled_a___2 = 151,\n\tmsm_mux_pwr_modem_enabled_b___2 = 152,\n\tmsm_mux_pwr_nav_enabled_a___2 = 153,\n\tmsm_mux_pwr_nav_enabled_b___2 = 154,\n\tmsm_mux_qdss_cti_trig_in_a0___6 = 155,\n\tmsm_mux_qdss_cti_trig_in_a1___6 = 156,\n\tmsm_mux_qdss_cti_trig_in_b0___6 = 157,\n\tmsm_mux_qdss_cti_trig_in_b1___6 = 158,\n\tmsm_mux_qdss_cti_trig_out_a0___6 = 159,\n\tmsm_mux_qdss_cti_trig_out_a1___6 = 160,\n\tmsm_mux_qdss_cti_trig_out_b0___6 = 161,\n\tmsm_mux_qdss_cti_trig_out_b1___6 = 162,\n\tmsm_mux_qdss_traceclk_a___7 = 163,\n\tmsm_mux_qdss_traceclk_b___7 = 164,\n\tmsm_mux_qdss_tracectl_a___7 = 165,\n\tmsm_mux_qdss_tracectl_b___7 = 166,\n\tmsm_mux_qdss_tracedata_a___7 = 167,\n\tmsm_mux_qdss_tracedata_b___7 = 168,\n\tmsm_mux_sd_write___4 = 169,\n\tmsm_mux_sdcard_det = 170,\n\tmsm_mux_sec_mi2s___2 = 171,\n\tmsm_mux_sec_mi2s_mclk_a = 172,\n\tmsm_mux_sec_mi2s_mclk_b = 173,\n\tmsm_mux_smb_int___2 = 174,\n\tmsm_mux_ss_switch = 175,\n\tmsm_mux_ssbi_wtr1___2 = 176,\n\tmsm_mux_ts_resout = 177,\n\tmsm_mux_ts_sample = 178,\n\tmsm_mux_ts_xvdd = 179,\n\tmsm_mux_tsens_max___5 = 180,\n\tmsm_mux_uim1_clk = 181,\n\tmsm_mux_uim1_data = 182,\n\tmsm_mux_uim1_present = 183,\n\tmsm_mux_uim1_reset = 184,\n\tmsm_mux_uim2_clk = 185,\n\tmsm_mux_uim2_data = 186,\n\tmsm_mux_uim2_present = 187,\n\tmsm_mux_uim2_reset = 188,\n\tmsm_mux_uim_batt___2 = 189,\n\tmsm_mux_us_emitter = 190,\n\tmsm_mux_us_euro = 191,\n\tmsm_mux_wcss_bt___2 = 192,\n\tmsm_mux_wcss_fm___2 = 193,\n\tmsm_mux_wcss_wlan___2 = 194,\n\tmsm_mux_wcss_wlan0 = 195,\n\tmsm_mux_wcss_wlan1 = 196,\n\tmsm_mux_wcss_wlan2 = 197,\n\tmsm_mux_wsa_en = 198,\n\tmsm_mux_wsa_io = 199,\n\tmsm_mux_wsa_irq = 200,\n\tmsm_mux_____5 = 201,\n};\n\nenum msm8976_functions {\n\tmsm_mux_gpio___8 = 0,\n\tmsm_mux_blsp_uart1___2 = 1,\n\tmsm_mux_blsp_spi1___3 = 2,\n\tmsm_mux_smb_int___3 = 3,\n\tmsm_mux_blsp_i2c1___3 = 4,\n\tmsm_mux_blsp_spi2___3 = 5,\n\tmsm_mux_blsp_uart2___3 = 6,\n\tmsm_mux_blsp_i2c2___3 = 7,\n\tmsm_mux_gcc_gp1_clk_b___3 = 8,\n\tmsm_mux_blsp_spi3___3 = 9,\n\tmsm_mux_qdss_tracedata_b___8 = 10,\n\tmsm_mux_blsp_i2c3___3 = 11,\n\tmsm_mux_gcc_gp2_clk_b___3 = 12,\n\tmsm_mux_gcc_gp3_clk_b___3 = 13,\n\tmsm_mux_blsp_spi4___3 = 14,\n\tmsm_mux_cap_int___2 = 15,\n\tmsm_mux_blsp_i2c4___3 = 16,\n\tmsm_mux_blsp_spi5___3 = 17,\n\tmsm_mux_blsp_uart5___2 = 18,\n\tmsm_mux_qdss_traceclk_a___8 = 19,\n\tmsm_mux_m_voc___3 = 20,\n\tmsm_mux_blsp_i2c5___3 = 21,\n\tmsm_mux_qdss_tracectl_a___8 = 22,\n\tmsm_mux_qdss_tracedata_a___8 = 23,\n\tmsm_mux_blsp_spi6___3 = 24,\n\tmsm_mux_blsp_uart6___2 = 25,\n\tmsm_mux_qdss_tracectl_b___8 = 26,\n\tmsm_mux_blsp_i2c6___3 = 27,\n\tmsm_mux_qdss_traceclk_b___8 = 28,\n\tmsm_mux_mdp_vsync___3 = 29,\n\tmsm_mux_pri_mi2s_mclk_a___2 = 30,\n\tmsm_mux_sec_mi2s_mclk_a___2 = 31,\n\tmsm_mux_cam_mclk___2 = 32,\n\tmsm_mux_cci0_i2c = 33,\n\tmsm_mux_cci1_i2c = 34,\n\tmsm_mux_blsp1_spi___5 = 35,\n\tmsm_mux_blsp3_spi___5 = 36,\n\tmsm_mux_gcc_gp1_clk_a___3 = 37,\n\tmsm_mux_gcc_gp2_clk_a___3 = 38,\n\tmsm_mux_gcc_gp3_clk_a___3 = 39,\n\tmsm_mux_uim_batt___3 = 40,\n\tmsm_mux_sd_write___5 = 41,\n\tmsm_mux_uim1_data___2 = 42,\n\tmsm_mux_uim1_clk___2 = 43,\n\tmsm_mux_uim1_reset___2 = 44,\n\tmsm_mux_uim1_present___2 = 45,\n\tmsm_mux_uim2_data___2 = 46,\n\tmsm_mux_uim2_clk___2 = 47,\n\tmsm_mux_uim2_reset___2 = 48,\n\tmsm_mux_uim2_present___2 = 49,\n\tmsm_mux_ts_xvdd___2 = 50,\n\tmsm_mux_mipi_dsi0___2 = 51,\n\tmsm_mux_us_euro___2 = 52,\n\tmsm_mux_ts_resout___2 = 53,\n\tmsm_mux_ts_sample___2 = 54,\n\tmsm_mux_sec_mi2s_mclk_b___2 = 55,\n\tmsm_mux_pri_mi2s___3 = 56,\n\tmsm_mux_codec_reset___2 = 57,\n\tmsm_mux_cdc_pdm0___3 = 58,\n\tmsm_mux_us_emitter___2 = 59,\n\tmsm_mux_pri_mi2s_mclk_b___2 = 60,\n\tmsm_mux_pri_mi2s_mclk_c = 61,\n\tmsm_mux_lpass_slimbus___2 = 62,\n\tmsm_mux_lpass_slimbus0___2 = 63,\n\tmsm_mux_lpass_slimbus1___2 = 64,\n\tmsm_mux_codec_int1___2 = 65,\n\tmsm_mux_codec_int2___2 = 66,\n\tmsm_mux_wcss_bt___3 = 67,\n\tmsm_mux_sdc3 = 68,\n\tmsm_mux_wcss_wlan2___2 = 69,\n\tmsm_mux_wcss_wlan1___2 = 70,\n\tmsm_mux_wcss_wlan0___2 = 71,\n\tmsm_mux_wcss_wlan___3 = 72,\n\tmsm_mux_wcss_fm___3 = 73,\n\tmsm_mux_key_volp___2 = 74,\n\tmsm_mux_key_snapshot___2 = 75,\n\tmsm_mux_key_focus___2 = 76,\n\tmsm_mux_key_home___2 = 77,\n\tmsm_mux_pwr_down___2 = 78,\n\tmsm_mux_dmic0_clk___3 = 79,\n\tmsm_mux_hdmi_int___2 = 80,\n\tmsm_mux_dmic0_data___3 = 81,\n\tmsm_mux_wsa_vi = 82,\n\tmsm_mux_wsa_en___2 = 83,\n\tmsm_mux_blsp_spi8___2 = 84,\n\tmsm_mux_wsa_irq___2 = 85,\n\tmsm_mux_blsp_i2c8___2 = 86,\n\tmsm_mux_pa_indicator___3 = 87,\n\tmsm_mux_modem_tsync___3 = 88,\n\tmsm_mux_ssbi_wtr1___3 = 89,\n\tmsm_mux_gsm1_tx___2 = 90,\n\tmsm_mux_gsm0_tx___2 = 91,\n\tmsm_mux_sdcard_det___2 = 92,\n\tmsm_mux_sec_mi2s___3 = 93,\n\tmsm_mux_ss_switch___2 = 94,\n\tmsm_mux_NA___3 = 95,\n};\n\nenum msm8994_functions {\n\tmsm_mux_audio_ref_clk = 0,\n\tmsm_mux_blsp_i2c1___4 = 1,\n\tmsm_mux_blsp_i2c2___4 = 2,\n\tmsm_mux_blsp_i2c3___4 = 3,\n\tmsm_mux_blsp_i2c4___4 = 4,\n\tmsm_mux_blsp_i2c5___4 = 5,\n\tmsm_mux_blsp_i2c6___4 = 6,\n\tmsm_mux_blsp_i2c7___2 = 7,\n\tmsm_mux_blsp_i2c8___3 = 8,\n\tmsm_mux_blsp_i2c9 = 9,\n\tmsm_mux_blsp_i2c10 = 10,\n\tmsm_mux_blsp_i2c11 = 11,\n\tmsm_mux_blsp_i2c12 = 12,\n\tmsm_mux_blsp_spi1___4 = 13,\n\tmsm_mux_blsp_spi1_cs1___2 = 14,\n\tmsm_mux_blsp_spi1_cs2___2 = 15,\n\tmsm_mux_blsp_spi1_cs3___2 = 16,\n\tmsm_mux_blsp_spi2___4 = 17,\n\tmsm_mux_blsp_spi2_cs1___2 = 18,\n\tmsm_mux_blsp_spi2_cs2___2 = 19,\n\tmsm_mux_blsp_spi2_cs3___2 = 20,\n\tmsm_mux_blsp_spi3___4 = 21,\n\tmsm_mux_blsp_spi4___4 = 22,\n\tmsm_mux_blsp_spi5___4 = 23,\n\tmsm_mux_blsp_spi6___4 = 24,\n\tmsm_mux_blsp_spi7___2 = 25,\n\tmsm_mux_blsp_spi8___3 = 26,\n\tmsm_mux_blsp_spi9 = 27,\n\tmsm_mux_blsp_spi10 = 28,\n\tmsm_mux_blsp_spi10_cs1 = 29,\n\tmsm_mux_blsp_spi10_cs2 = 30,\n\tmsm_mux_blsp_spi10_cs3 = 31,\n\tmsm_mux_blsp_spi11 = 32,\n\tmsm_mux_blsp_spi12 = 33,\n\tmsm_mux_blsp_uart1___3 = 34,\n\tmsm_mux_blsp_uart2___4 = 35,\n\tmsm_mux_blsp_uart3 = 36,\n\tmsm_mux_blsp_uart4___2 = 37,\n\tmsm_mux_blsp_uart5___3 = 38,\n\tmsm_mux_blsp_uart6___3 = 39,\n\tmsm_mux_blsp_uart7 = 40,\n\tmsm_mux_blsp_uart8 = 41,\n\tmsm_mux_blsp_uart9 = 42,\n\tmsm_mux_blsp_uart10 = 43,\n\tmsm_mux_blsp_uart11 = 44,\n\tmsm_mux_blsp_uart12 = 45,\n\tmsm_mux_blsp_uim1___2 = 46,\n\tmsm_mux_blsp_uim2___2 = 47,\n\tmsm_mux_blsp_uim3 = 48,\n\tmsm_mux_blsp_uim4 = 49,\n\tmsm_mux_blsp_uim5 = 50,\n\tmsm_mux_blsp_uim6 = 51,\n\tmsm_mux_blsp_uim7 = 52,\n\tmsm_mux_blsp_uim8 = 53,\n\tmsm_mux_blsp_uim9 = 54,\n\tmsm_mux_blsp_uim10 = 55,\n\tmsm_mux_blsp_uim11 = 56,\n\tmsm_mux_blsp_uim12 = 57,\n\tmsm_mux_blsp11_i2c_scl_b = 58,\n\tmsm_mux_blsp11_i2c_sda_b = 59,\n\tmsm_mux_blsp11_uart_rx_b = 60,\n\tmsm_mux_blsp11_uart_tx_b = 61,\n\tmsm_mux_cam_mclk0___2 = 62,\n\tmsm_mux_cam_mclk1___2 = 63,\n\tmsm_mux_cam_mclk2 = 64,\n\tmsm_mux_cam_mclk3 = 65,\n\tmsm_mux_cci_async_in0 = 66,\n\tmsm_mux_cci_async_in1 = 67,\n\tmsm_mux_cci_async_in2 = 68,\n\tmsm_mux_cci_i2c0 = 69,\n\tmsm_mux_cci_i2c1 = 70,\n\tmsm_mux_cci_timer0___3 = 71,\n\tmsm_mux_cci_timer1___3 = 72,\n\tmsm_mux_cci_timer2___3 = 73,\n\tmsm_mux_cci_timer3___2 = 74,\n\tmsm_mux_cci_timer4___2 = 75,\n\tmsm_mux_gcc_gp1_clk_a___4 = 76,\n\tmsm_mux_gcc_gp1_clk_b___4 = 77,\n\tmsm_mux_gcc_gp2_clk_a___4 = 78,\n\tmsm_mux_gcc_gp2_clk_b___4 = 79,\n\tmsm_mux_gcc_gp3_clk_a___4 = 80,\n\tmsm_mux_gcc_gp3_clk_b___4 = 81,\n\tmsm_mux_gp_mn = 82,\n\tmsm_mux_gp_pdm0 = 83,\n\tmsm_mux_gp_pdm1 = 84,\n\tmsm_mux_gp_pdm2 = 85,\n\tmsm_mux_gp0_clk = 86,\n\tmsm_mux_gp1_clk = 87,\n\tmsm_mux_gps_tx = 88,\n\tmsm_mux_gsm_tx = 89,\n\tmsm_mux_hdmi_cec = 90,\n\tmsm_mux_hdmi_ddc = 91,\n\tmsm_mux_hdmi_hpd = 92,\n\tmsm_mux_hdmi_rcv = 93,\n\tmsm_mux_mdp_vsync___4 = 94,\n\tmsm_mux_mss_lte___2 = 95,\n\tmsm_mux_nav_pps___3 = 96,\n\tmsm_mux_nav_tsync___3 = 97,\n\tmsm_mux_qdss_cti_trig_in_a = 98,\n\tmsm_mux_qdss_cti_trig_in_b = 99,\n\tmsm_mux_qdss_cti_trig_in_c = 100,\n\tmsm_mux_qdss_cti_trig_in_d = 101,\n\tmsm_mux_qdss_cti_trig_out_a = 102,\n\tmsm_mux_qdss_cti_trig_out_b = 103,\n\tmsm_mux_qdss_cti_trig_out_c = 104,\n\tmsm_mux_qdss_cti_trig_out_d = 105,\n\tmsm_mux_qdss_traceclk_a___9 = 106,\n\tmsm_mux_qdss_traceclk_b___9 = 107,\n\tmsm_mux_qdss_tracectl_a___9 = 108,\n\tmsm_mux_qdss_tracectl_b___9 = 109,\n\tmsm_mux_qdss_tracedata_a___9 = 110,\n\tmsm_mux_qdss_tracedata_b___9 = 111,\n\tmsm_mux_qua_mi2s = 112,\n\tmsm_mux_pci_e0 = 113,\n\tmsm_mux_pci_e1 = 114,\n\tmsm_mux_pri_mi2s___4 = 115,\n\tmsm_mux_sdc4 = 116,\n\tmsm_mux_sec_mi2s___4 = 117,\n\tmsm_mux_slimbus = 118,\n\tmsm_mux_spkr_i2s = 119,\n\tmsm_mux_ter_mi2s = 120,\n\tmsm_mux_tsif1 = 121,\n\tmsm_mux_tsif2 = 122,\n\tmsm_mux_uim1___2 = 123,\n\tmsm_mux_uim2___2 = 124,\n\tmsm_mux_uim3___2 = 125,\n\tmsm_mux_uim4 = 126,\n\tmsm_mux_uim_batt_alarm = 127,\n\tmsm_mux_gpio___9 = 128,\n\tmsm_mux_NA___4 = 129,\n};\n\nenum msm8996_functions {\n\tmsm_mux_adsp_ext___3 = 0,\n\tmsm_mux_atest_bbrx0___3 = 1,\n\tmsm_mux_atest_bbrx1___3 = 2,\n\tmsm_mux_atest_char___8 = 3,\n\tmsm_mux_atest_char0___7 = 4,\n\tmsm_mux_atest_char1___7 = 5,\n\tmsm_mux_atest_char2___7 = 6,\n\tmsm_mux_atest_char3___7 = 7,\n\tmsm_mux_atest_gpsadc0___2 = 8,\n\tmsm_mux_atest_gpsadc1___2 = 9,\n\tmsm_mux_atest_tsens___3 = 10,\n\tmsm_mux_atest_tsens2 = 11,\n\tmsm_mux_atest_usb1 = 12,\n\tmsm_mux_atest_usb10 = 13,\n\tmsm_mux_atest_usb11 = 14,\n\tmsm_mux_atest_usb12 = 15,\n\tmsm_mux_atest_usb13 = 16,\n\tmsm_mux_atest_usb2 = 17,\n\tmsm_mux_atest_usb20 = 18,\n\tmsm_mux_atest_usb21 = 19,\n\tmsm_mux_atest_usb22 = 20,\n\tmsm_mux_atest_usb23 = 21,\n\tmsm_mux_audio_ref = 22,\n\tmsm_mux_bimc_dte0___3 = 23,\n\tmsm_mux_bimc_dte1___3 = 24,\n\tmsm_mux_blsp10_spi = 25,\n\tmsm_mux_blsp11_i2c_scl_b___2 = 26,\n\tmsm_mux_blsp11_i2c_sda_b___2 = 27,\n\tmsm_mux_blsp11_uart_rx_b___2 = 28,\n\tmsm_mux_blsp11_uart_tx_b___2 = 29,\n\tmsm_mux_blsp1_spi___6 = 30,\n\tmsm_mux_blsp2_spi___6 = 31,\n\tmsm_mux_blsp_i2c1___5 = 32,\n\tmsm_mux_blsp_i2c10___2 = 33,\n\tmsm_mux_blsp_i2c11___2 = 34,\n\tmsm_mux_blsp_i2c12___2 = 35,\n\tmsm_mux_blsp_i2c2___5 = 36,\n\tmsm_mux_blsp_i2c3___5 = 37,\n\tmsm_mux_blsp_i2c4___5 = 38,\n\tmsm_mux_blsp_i2c5___5 = 39,\n\tmsm_mux_blsp_i2c6___5 = 40,\n\tmsm_mux_blsp_i2c7___3 = 41,\n\tmsm_mux_blsp_i2c8___4 = 42,\n\tmsm_mux_blsp_i2c9___2 = 43,\n\tmsm_mux_blsp_spi1___5 = 44,\n\tmsm_mux_blsp_spi10___2 = 45,\n\tmsm_mux_blsp_spi11___2 = 46,\n\tmsm_mux_blsp_spi12___2 = 47,\n\tmsm_mux_blsp_spi2___5 = 48,\n\tmsm_mux_blsp_spi3___5 = 49,\n\tmsm_mux_blsp_spi4___5 = 50,\n\tmsm_mux_blsp_spi5___5 = 51,\n\tmsm_mux_blsp_spi6___5 = 52,\n\tmsm_mux_blsp_spi7___3 = 53,\n\tmsm_mux_blsp_spi8___4 = 54,\n\tmsm_mux_blsp_spi9___2 = 55,\n\tmsm_mux_blsp_uart1___4 = 56,\n\tmsm_mux_blsp_uart10___2 = 57,\n\tmsm_mux_blsp_uart11___2 = 58,\n\tmsm_mux_blsp_uart12___2 = 59,\n\tmsm_mux_blsp_uart2___5 = 60,\n\tmsm_mux_blsp_uart3___2 = 61,\n\tmsm_mux_blsp_uart4___3 = 62,\n\tmsm_mux_blsp_uart5___4 = 63,\n\tmsm_mux_blsp_uart6___4 = 64,\n\tmsm_mux_blsp_uart7___2 = 65,\n\tmsm_mux_blsp_uart8___2 = 66,\n\tmsm_mux_blsp_uart9___2 = 67,\n\tmsm_mux_blsp_uim1___3 = 68,\n\tmsm_mux_blsp_uim10___2 = 69,\n\tmsm_mux_blsp_uim11___2 = 70,\n\tmsm_mux_blsp_uim12___2 = 71,\n\tmsm_mux_blsp_uim2___3 = 72,\n\tmsm_mux_blsp_uim3___2 = 73,\n\tmsm_mux_blsp_uim4___2 = 74,\n\tmsm_mux_blsp_uim5___2 = 75,\n\tmsm_mux_blsp_uim6___2 = 76,\n\tmsm_mux_blsp_uim7___2 = 77,\n\tmsm_mux_blsp_uim8___2 = 78,\n\tmsm_mux_blsp_uim9___2 = 79,\n\tmsm_mux_btfm_slimbus = 80,\n\tmsm_mux_cam_mclk___3 = 81,\n\tmsm_mux_cci_async___3 = 82,\n\tmsm_mux_cci_i2c___3 = 83,\n\tmsm_mux_cci_timer0___4 = 84,\n\tmsm_mux_cci_timer1___4 = 85,\n\tmsm_mux_cci_timer2___4 = 86,\n\tmsm_mux_cci_timer3___3 = 87,\n\tmsm_mux_cci_timer4___3 = 88,\n\tmsm_mux_cri_trng___5 = 89,\n\tmsm_mux_cri_trng0___7 = 90,\n\tmsm_mux_cri_trng1___7 = 91,\n\tmsm_mux_dac_calib0___2 = 92,\n\tmsm_mux_dac_calib1___2 = 93,\n\tmsm_mux_dac_calib10___2 = 94,\n\tmsm_mux_dac_calib11___2 = 95,\n\tmsm_mux_dac_calib12___2 = 96,\n\tmsm_mux_dac_calib13___2 = 97,\n\tmsm_mux_dac_calib14___2 = 98,\n\tmsm_mux_dac_calib15___2 = 99,\n\tmsm_mux_dac_calib16___2 = 100,\n\tmsm_mux_dac_calib17___2 = 101,\n\tmsm_mux_dac_calib18___2 = 102,\n\tmsm_mux_dac_calib19___2 = 103,\n\tmsm_mux_dac_calib2___2 = 104,\n\tmsm_mux_dac_calib20___2 = 105,\n\tmsm_mux_dac_calib21___2 = 106,\n\tmsm_mux_dac_calib22___2 = 107,\n\tmsm_mux_dac_calib23___2 = 108,\n\tmsm_mux_dac_calib24___2 = 109,\n\tmsm_mux_dac_calib25___2 = 110,\n\tmsm_mux_dac_calib26 = 111,\n\tmsm_mux_dac_calib3___2 = 112,\n\tmsm_mux_dac_calib4___2 = 113,\n\tmsm_mux_dac_calib5___2 = 114,\n\tmsm_mux_dac_calib6___2 = 115,\n\tmsm_mux_dac_calib7___2 = 116,\n\tmsm_mux_dac_calib8___2 = 117,\n\tmsm_mux_dac_calib9___2 = 118,\n\tmsm_mux_dac_gpio = 119,\n\tmsm_mux_dbg_out___8 = 120,\n\tmsm_mux_ddr_bist___2 = 121,\n\tmsm_mux_edp_hot = 122,\n\tmsm_mux_edp_lcd = 123,\n\tmsm_mux_gcc_gp1_clk_a___5 = 124,\n\tmsm_mux_gcc_gp1_clk_b___5 = 125,\n\tmsm_mux_gcc_gp2_clk_a___5 = 126,\n\tmsm_mux_gcc_gp2_clk_b___5 = 127,\n\tmsm_mux_gcc_gp3_clk_a___5 = 128,\n\tmsm_mux_gcc_gp3_clk_b___5 = 129,\n\tmsm_mux_gsm_tx___2 = 130,\n\tmsm_mux_hdmi_cec___2 = 131,\n\tmsm_mux_hdmi_ddc___2 = 132,\n\tmsm_mux_hdmi_hot = 133,\n\tmsm_mux_hdmi_rcv___2 = 134,\n\tmsm_mux_isense_dbg = 135,\n\tmsm_mux_ldo_en___4 = 136,\n\tmsm_mux_ldo_update___4 = 137,\n\tmsm_mux_lpass_slimbus___3 = 138,\n\tmsm_mux_m_voc___4 = 139,\n\tmsm_mux_mdp_vsync___5 = 140,\n\tmsm_mux_mdp_vsync_p_b = 141,\n\tmsm_mux_mdp_vsync_s_b = 142,\n\tmsm_mux_modem_tsync___4 = 143,\n\tmsm_mux_mss_lte___3 = 144,\n\tmsm_mux_nav_dr = 145,\n\tmsm_mux_nav_pps___4 = 146,\n\tmsm_mux_pa_indicator___4 = 147,\n\tmsm_mux_pci_e0___2 = 148,\n\tmsm_mux_pci_e1___2 = 149,\n\tmsm_mux_pci_e2 = 150,\n\tmsm_mux_pll_bypassnl = 151,\n\tmsm_mux_pll_reset = 152,\n\tmsm_mux_pri_mi2s___5 = 153,\n\tmsm_mux_prng_rosc___6 = 154,\n\tmsm_mux_pwr_crypto = 155,\n\tmsm_mux_pwr_modem = 156,\n\tmsm_mux_pwr_nav = 157,\n\tmsm_mux_qdss_cti = 158,\n\tmsm_mux_qdss_cti_trig_in_a___2 = 159,\n\tmsm_mux_qdss_cti_trig_in_b___2 = 160,\n\tmsm_mux_qdss_cti_trig_out_a___2 = 161,\n\tmsm_mux_qdss_cti_trig_out_b___2 = 162,\n\tmsm_mux_qdss_stm0 = 163,\n\tmsm_mux_qdss_stm1 = 164,\n\tmsm_mux_qdss_stm10 = 165,\n\tmsm_mux_qdss_stm11 = 166,\n\tmsm_mux_qdss_stm12 = 167,\n\tmsm_mux_qdss_stm13 = 168,\n\tmsm_mux_qdss_stm14 = 169,\n\tmsm_mux_qdss_stm15 = 170,\n\tmsm_mux_qdss_stm16 = 171,\n\tmsm_mux_qdss_stm17 = 172,\n\tmsm_mux_qdss_stm18 = 173,\n\tmsm_mux_qdss_stm19 = 174,\n\tmsm_mux_qdss_stm2 = 175,\n\tmsm_mux_qdss_stm20 = 176,\n\tmsm_mux_qdss_stm21 = 177,\n\tmsm_mux_qdss_stm22 = 178,\n\tmsm_mux_qdss_stm23 = 179,\n\tmsm_mux_qdss_stm24 = 180,\n\tmsm_mux_qdss_stm25 = 181,\n\tmsm_mux_qdss_stm26 = 182,\n\tmsm_mux_qdss_stm27 = 183,\n\tmsm_mux_qdss_stm28 = 184,\n\tmsm_mux_qdss_stm29 = 185,\n\tmsm_mux_qdss_stm3 = 186,\n\tmsm_mux_qdss_stm30 = 187,\n\tmsm_mux_qdss_stm31 = 188,\n\tmsm_mux_qdss_stm4 = 189,\n\tmsm_mux_qdss_stm5 = 190,\n\tmsm_mux_qdss_stm6 = 191,\n\tmsm_mux_qdss_stm7 = 192,\n\tmsm_mux_qdss_stm8 = 193,\n\tmsm_mux_qdss_stm9 = 194,\n\tmsm_mux_qdss_traceclk_a___10 = 195,\n\tmsm_mux_qdss_traceclk_b___10 = 196,\n\tmsm_mux_qdss_tracectl_a___10 = 197,\n\tmsm_mux_qdss_tracectl_b___10 = 198,\n\tmsm_mux_qdss_tracedata_11 = 199,\n\tmsm_mux_qdss_tracedata_12 = 200,\n\tmsm_mux_qdss_tracedata_a___10 = 201,\n\tmsm_mux_qdss_tracedata_b___10 = 202,\n\tmsm_mux_qspi0 = 203,\n\tmsm_mux_qspi1 = 204,\n\tmsm_mux_qspi2 = 205,\n\tmsm_mux_qspi3 = 206,\n\tmsm_mux_qspi_clk___4 = 207,\n\tmsm_mux_qspi_cs___4 = 208,\n\tmsm_mux_qua_mi2s___2 = 209,\n\tmsm_mux_sd_card___4 = 210,\n\tmsm_mux_sd_write___6 = 211,\n\tmsm_mux_sdc40 = 212,\n\tmsm_mux_sdc41 = 213,\n\tmsm_mux_sdc42 = 214,\n\tmsm_mux_sdc43 = 215,\n\tmsm_mux_sdc4_clk = 216,\n\tmsm_mux_sdc4_cmd = 217,\n\tmsm_mux_sec_mi2s___5 = 218,\n\tmsm_mux_spkr_i2s___2 = 219,\n\tmsm_mux_ssbi1 = 220,\n\tmsm_mux_ssbi2 = 221,\n\tmsm_mux_ssc_irq = 222,\n\tmsm_mux_ter_mi2s___2 = 223,\n\tmsm_mux_tsense_pwm1 = 224,\n\tmsm_mux_tsense_pwm2 = 225,\n\tmsm_mux_tsif1_clk = 226,\n\tmsm_mux_tsif1_data = 227,\n\tmsm_mux_tsif1_en = 228,\n\tmsm_mux_tsif1_error = 229,\n\tmsm_mux_tsif1_sync = 230,\n\tmsm_mux_tsif2_clk = 231,\n\tmsm_mux_tsif2_data = 232,\n\tmsm_mux_tsif2_en = 233,\n\tmsm_mux_tsif2_error = 234,\n\tmsm_mux_tsif2_sync = 235,\n\tmsm_mux_uim1___3 = 236,\n\tmsm_mux_uim2___3 = 237,\n\tmsm_mux_uim3___3 = 238,\n\tmsm_mux_uim4___2 = 239,\n\tmsm_mux_uim_batt___4 = 240,\n\tmsm_mux_vfr_1 = 241,\n\tmsm_mux_gpio___10 = 242,\n\tmsm_mux_NA___5 = 243,\n};\n\nenum msm8998_functions {\n\tmsm_mux_adsp_ext___4 = 0,\n\tmsm_mux_agera_pll = 1,\n\tmsm_mux_atest_char___9 = 2,\n\tmsm_mux_atest_gpsadc0___3 = 3,\n\tmsm_mux_atest_gpsadc1___3 = 4,\n\tmsm_mux_atest_tsens___4 = 5,\n\tmsm_mux_atest_tsens2___2 = 6,\n\tmsm_mux_atest_usb1___2 = 7,\n\tmsm_mux_atest_usb10___2 = 8,\n\tmsm_mux_atest_usb11___2 = 9,\n\tmsm_mux_atest_usb12___2 = 10,\n\tmsm_mux_atest_usb13___2 = 11,\n\tmsm_mux_audio_ref___2 = 12,\n\tmsm_mux_bimc_dte0___4 = 13,\n\tmsm_mux_bimc_dte1___4 = 14,\n\tmsm_mux_blsp10_spi___2 = 15,\n\tmsm_mux_blsp10_spi_a = 16,\n\tmsm_mux_blsp10_spi_b = 17,\n\tmsm_mux_blsp11_i2c = 18,\n\tmsm_mux_blsp1_spi___7 = 19,\n\tmsm_mux_blsp1_spi_a = 20,\n\tmsm_mux_blsp1_spi_b = 21,\n\tmsm_mux_blsp2_spi___7 = 22,\n\tmsm_mux_blsp9_spi = 23,\n\tmsm_mux_blsp_i2c1___6 = 24,\n\tmsm_mux_blsp_i2c10___3 = 25,\n\tmsm_mux_blsp_i2c11___3 = 26,\n\tmsm_mux_blsp_i2c12___3 = 27,\n\tmsm_mux_blsp_i2c2___6 = 28,\n\tmsm_mux_blsp_i2c3___6 = 29,\n\tmsm_mux_blsp_i2c4___6 = 30,\n\tmsm_mux_blsp_i2c5___6 = 31,\n\tmsm_mux_blsp_i2c6___6 = 32,\n\tmsm_mux_blsp_i2c7___4 = 33,\n\tmsm_mux_blsp_i2c8___5 = 34,\n\tmsm_mux_blsp_i2c9___3 = 35,\n\tmsm_mux_blsp_spi1___6 = 36,\n\tmsm_mux_blsp_spi10___3 = 37,\n\tmsm_mux_blsp_spi11___3 = 38,\n\tmsm_mux_blsp_spi12___3 = 39,\n\tmsm_mux_blsp_spi2___6 = 40,\n\tmsm_mux_blsp_spi3___6 = 41,\n\tmsm_mux_blsp_spi4___6 = 42,\n\tmsm_mux_blsp_spi5___6 = 43,\n\tmsm_mux_blsp_spi6___6 = 44,\n\tmsm_mux_blsp_spi7___4 = 45,\n\tmsm_mux_blsp_spi8___5 = 46,\n\tmsm_mux_blsp_spi9___3 = 47,\n\tmsm_mux_blsp_uart1_a = 48,\n\tmsm_mux_blsp_uart1_b = 49,\n\tmsm_mux_blsp_uart2_a = 50,\n\tmsm_mux_blsp_uart2_b = 51,\n\tmsm_mux_blsp_uart3_a = 52,\n\tmsm_mux_blsp_uart3_b = 53,\n\tmsm_mux_blsp_uart7_a = 54,\n\tmsm_mux_blsp_uart7_b = 55,\n\tmsm_mux_blsp_uart8___3 = 56,\n\tmsm_mux_blsp_uart8_a = 57,\n\tmsm_mux_blsp_uart8_b = 58,\n\tmsm_mux_blsp_uart9_a = 59,\n\tmsm_mux_blsp_uart9_b = 60,\n\tmsm_mux_blsp_uim1_a = 61,\n\tmsm_mux_blsp_uim1_b = 62,\n\tmsm_mux_blsp_uim2_a = 63,\n\tmsm_mux_blsp_uim2_b = 64,\n\tmsm_mux_blsp_uim3_a = 65,\n\tmsm_mux_blsp_uim3_b = 66,\n\tmsm_mux_blsp_uim7_a = 67,\n\tmsm_mux_blsp_uim7_b = 68,\n\tmsm_mux_blsp_uim8_a = 69,\n\tmsm_mux_blsp_uim8_b = 70,\n\tmsm_mux_blsp_uim9_a = 71,\n\tmsm_mux_blsp_uim9_b = 72,\n\tmsm_mux_bt_reset = 73,\n\tmsm_mux_btfm_slimbus___2 = 74,\n\tmsm_mux_cam_mclk___4 = 75,\n\tmsm_mux_cci_async___4 = 76,\n\tmsm_mux_cci_i2c___4 = 77,\n\tmsm_mux_cci_timer0___5 = 78,\n\tmsm_mux_cci_timer1___5 = 79,\n\tmsm_mux_cci_timer2___5 = 80,\n\tmsm_mux_cci_timer3___4 = 81,\n\tmsm_mux_cci_timer4___4 = 82,\n\tmsm_mux_cri_trng___6 = 83,\n\tmsm_mux_cri_trng0___8 = 84,\n\tmsm_mux_cri_trng1___8 = 85,\n\tmsm_mux_dbg_out___9 = 86,\n\tmsm_mux_ddr_bist___3 = 87,\n\tmsm_mux_edp_hot___2 = 88,\n\tmsm_mux_edp_lcd___2 = 89,\n\tmsm_mux_gcc_gp1_a = 90,\n\tmsm_mux_gcc_gp1_b = 91,\n\tmsm_mux_gcc_gp2_a = 92,\n\tmsm_mux_gcc_gp2_b = 93,\n\tmsm_mux_gcc_gp3_a = 94,\n\tmsm_mux_gcc_gp3_b = 95,\n\tmsm_mux_gpio___11 = 96,\n\tmsm_mux_hdmi_cec___3 = 97,\n\tmsm_mux_hdmi_ddc___3 = 98,\n\tmsm_mux_hdmi_hot___2 = 99,\n\tmsm_mux_hdmi_rcv___3 = 100,\n\tmsm_mux_isense_dbg___2 = 101,\n\tmsm_mux_jitter_bist = 102,\n\tmsm_mux_ldo_en___5 = 103,\n\tmsm_mux_ldo_update___5 = 104,\n\tmsm_mux_lpass_slimbus___4 = 105,\n\tmsm_mux_m_voc___5 = 106,\n\tmsm_mux_mdp_vsync___6 = 107,\n\tmsm_mux_mdp_vsync0 = 108,\n\tmsm_mux_mdp_vsync1 = 109,\n\tmsm_mux_mdp_vsync2 = 110,\n\tmsm_mux_mdp_vsync3 = 111,\n\tmsm_mux_mdp_vsync_a = 112,\n\tmsm_mux_mdp_vsync_b = 113,\n\tmsm_mux_modem_tsync___5 = 114,\n\tmsm_mux_mss_lte___4 = 115,\n\tmsm_mux_nav_dr___2 = 116,\n\tmsm_mux_nav_pps___5 = 117,\n\tmsm_mux_pa_indicator___5 = 118,\n\tmsm_mux_pci_e0___3 = 119,\n\tmsm_mux_phase_flag = 120,\n\tmsm_mux_pll_bypassnl___2 = 121,\n\tmsm_mux_pll_reset___2 = 122,\n\tmsm_mux_pri_mi2s___6 = 123,\n\tmsm_mux_pri_mi2s_ws___3 = 124,\n\tmsm_mux_prng_rosc___7 = 125,\n\tmsm_mux_pwr_crypto___2 = 126,\n\tmsm_mux_pwr_modem___2 = 127,\n\tmsm_mux_pwr_nav___2 = 128,\n\tmsm_mux_qdss_cti0_a = 129,\n\tmsm_mux_qdss_cti0_b = 130,\n\tmsm_mux_qdss_cti1_a = 131,\n\tmsm_mux_qdss_cti1_b = 132,\n\tmsm_mux_qdss = 133,\n\tmsm_mux_qlink_enable = 134,\n\tmsm_mux_qlink_request = 135,\n\tmsm_mux_qua_mi2s___3 = 136,\n\tmsm_mux_sd_card___5 = 137,\n\tmsm_mux_sd_write___7 = 138,\n\tmsm_mux_sdc40___2 = 139,\n\tmsm_mux_sdc41___2 = 140,\n\tmsm_mux_sdc42___2 = 141,\n\tmsm_mux_sdc43___2 = 142,\n\tmsm_mux_sdc4_clk___2 = 143,\n\tmsm_mux_sdc4_cmd___2 = 144,\n\tmsm_mux_sec_mi2s___6 = 145,\n\tmsm_mux_sp_cmu = 146,\n\tmsm_mux_spkr_i2s___3 = 147,\n\tmsm_mux_ssbi1___2 = 148,\n\tmsm_mux_ssc_irq___2 = 149,\n\tmsm_mux_ter_mi2s___3 = 150,\n\tmsm_mux_tgu_ch0 = 151,\n\tmsm_mux_tgu_ch1 = 152,\n\tmsm_mux_tsense_pwm1___2 = 153,\n\tmsm_mux_tsense_pwm2___2 = 154,\n\tmsm_mux_tsif0 = 155,\n\tmsm_mux_tsif1___2 = 156,\n\tmsm_mux_uim1_clk___3 = 157,\n\tmsm_mux_uim1_data___3 = 158,\n\tmsm_mux_uim1_present___3 = 159,\n\tmsm_mux_uim1_reset___3 = 160,\n\tmsm_mux_uim2_clk___3 = 161,\n\tmsm_mux_uim2_data___3 = 162,\n\tmsm_mux_uim2_present___3 = 163,\n\tmsm_mux_uim2_reset___3 = 164,\n\tmsm_mux_uim_batt___5 = 165,\n\tmsm_mux_usb_phy = 166,\n\tmsm_mux_vfr_1___2 = 167,\n\tmsm_mux_vsense_clkout = 168,\n\tmsm_mux_vsense_data0 = 169,\n\tmsm_mux_vsense_data1 = 170,\n\tmsm_mux_vsense_mode = 171,\n\tmsm_mux_wlan1_adc0 = 172,\n\tmsm_mux_wlan1_adc1 = 173,\n\tmsm_mux_wlan2_adc0 = 174,\n\tmsm_mux_wlan2_adc1 = 175,\n\tmsm_mux_____6 = 176,\n};\n\nenum mt6328_irq_status_numbers {\n\tMT6328_IRQ_STATUS_PWRKEY = 0,\n\tMT6328_IRQ_STATUS_HOMEKEY = 1,\n\tMT6328_IRQ_STATUS_PWRKEY_R = 2,\n\tMT6328_IRQ_STATUS_HOMEKEY_R = 3,\n\tMT6328_IRQ_STATUS_THR_H = 4,\n\tMT6328_IRQ_STATUS_THR_L = 5,\n\tMT6328_IRQ_STATUS_BAT_H = 6,\n\tMT6328_IRQ_STATUS_BAT_L = 7,\n\tMT6328_IRQ_STATUS_RTC = 8,\n\tMT6328_IRQ_STATUS_AUDIO = 9,\n\tMT6328_IRQ_STATUS_ACCDET = 10,\n\tMT6328_IRQ_STATUS_ACCDET_EINT = 11,\n\tMT6328_IRQ_STATUS_ACCDET_NEGV = 12,\n\tMT6328_IRQ_STATUS_NI_LBAT_INT = 13,\n\tMT6328_IRQ_STATUS_VPROC_OC = 16,\n\tMT6328_IRQ_STATUS_VSYS_OC = 17,\n\tMT6328_IRQ_STATUS_VLTE_OC = 18,\n\tMT6328_IRQ_STATUS_VCORE_OC = 19,\n\tMT6328_IRQ_STATUS_VPA_OC = 20,\n\tMT6328_IRQ_STATUS_LDO_OC = 21,\n\tMT6328_IRQ_STATUS_BAT2_H = 22,\n\tMT6328_IRQ_STATUS_BAT2_L = 23,\n\tMT6328_IRQ_STATUS_VISMPS0_H = 24,\n\tMT6328_IRQ_STATUS_VISMPS0_L = 25,\n\tMT6328_IRQ_STATUS_AUXADC_IMP = 26,\n\tMT6328_IRQ_STATUS_OV = 32,\n\tMT6328_IRQ_STATUS_BVALID_DET = 33,\n\tMT6328_IRQ_STATUS_VBATON_HV = 34,\n\tMT6328_IRQ_STATUS_VBATON_UNDET = 35,\n\tMT6328_IRQ_STATUS_WATCHDOG = 36,\n\tMT6328_IRQ_STATUS_PCHR_CM_VDEC = 37,\n\tMT6328_IRQ_STATUS_CHRDET = 38,\n\tMT6328_IRQ_STATUS_PCHR_CM_VINC = 39,\n\tMT6328_IRQ_STATUS_FG_BAT_H = 40,\n\tMT6328_IRQ_STATUS_FG_BAT_L = 41,\n\tMT6328_IRQ_STATUS_FG_CUR_H = 42,\n\tMT6328_IRQ_STATUS_FG_CUR_L = 43,\n\tMT6328_IRQ_STATUS_FG_ZCV = 44,\n\tMT6328_IRQ_STATUS_SPKL_D = 45,\n\tMT6328_IRQ_STATUS_SPKL_AB = 46,\n};\n\nenum mt6331_irq_status_numbers {\n\tMT6331_IRQ_STATUS_PWRKEY = 0,\n\tMT6331_IRQ_STATUS_HOMEKEY = 1,\n\tMT6331_IRQ_STATUS_CHRDET = 2,\n\tMT6331_IRQ_STATUS_THR_H = 3,\n\tMT6331_IRQ_STATUS_THR_L = 4,\n\tMT6331_IRQ_STATUS_BAT_H = 5,\n\tMT6331_IRQ_STATUS_BAT_L = 6,\n\tMT6331_IRQ_STATUS_RTC = 7,\n\tMT6331_IRQ_STATUS_AUDIO = 8,\n\tMT6331_IRQ_STATUS_MAD = 9,\n\tMT6331_IRQ_STATUS_ACCDET = 10,\n\tMT6331_IRQ_STATUS_ACCDET_EINT = 11,\n\tMT6331_IRQ_STATUS_ACCDET_NEGV = 12,\n\tMT6331_IRQ_STATUS_VDVFS11_OC = 16,\n\tMT6331_IRQ_STATUS_VDVFS12_OC = 17,\n\tMT6331_IRQ_STATUS_VDVFS13_OC = 18,\n\tMT6331_IRQ_STATUS_VDVFS14_OC = 19,\n\tMT6331_IRQ_STATUS_GPU_OC = 20,\n\tMT6331_IRQ_STATUS_VCORE1_OC = 21,\n\tMT6331_IRQ_STATUS_VCORE2_OC = 22,\n\tMT6331_IRQ_STATUS_VIO18_OC = 23,\n\tMT6331_IRQ_STATUS_LDO_OC = 24,\n\tMT6331_IRQ_STATUS_NR = 25,\n};\n\nenum mt6357_irq_numbers {\n\tMT6357_IRQ_VPROC_OC = 0,\n\tMT6357_IRQ_VCORE_OC = 1,\n\tMT6357_IRQ_VMODEM_OC = 2,\n\tMT6357_IRQ_VS1_OC = 3,\n\tMT6357_IRQ_VPA_OC = 4,\n\tMT6357_IRQ_VCORE_PREOC = 5,\n\tMT6357_IRQ_VFE28_OC = 16,\n\tMT6357_IRQ_VXO22_OC = 17,\n\tMT6357_IRQ_VRF18_OC = 18,\n\tMT6357_IRQ_VRF12_OC = 19,\n\tMT6357_IRQ_VEFUSE_OC = 20,\n\tMT6357_IRQ_VCN33_OC = 21,\n\tMT6357_IRQ_VCN28_OC = 22,\n\tMT6357_IRQ_VCN18_OC = 23,\n\tMT6357_IRQ_VCAMA_OC = 24,\n\tMT6357_IRQ_VCAMD_OC = 25,\n\tMT6357_IRQ_VCAMIO_OC = 26,\n\tMT6357_IRQ_VLDO28_OC = 27,\n\tMT6357_IRQ_VUSB33_OC = 28,\n\tMT6357_IRQ_VAUX18_OC = 29,\n\tMT6357_IRQ_VAUD28_OC = 30,\n\tMT6357_IRQ_VIO28_OC = 31,\n\tMT6357_IRQ_VIO18_OC = 32,\n\tMT6357_IRQ_VSRAM_PROC_OC = 33,\n\tMT6357_IRQ_VSRAM_OTHERS_OC = 34,\n\tMT6357_IRQ_VIBR_OC = 35,\n\tMT6357_IRQ_VDRAM_OC = 36,\n\tMT6357_IRQ_VMC_OC = 37,\n\tMT6357_IRQ_VMCH_OC = 38,\n\tMT6357_IRQ_VEMC_OC = 39,\n\tMT6357_IRQ_VSIM1_OC = 40,\n\tMT6357_IRQ_VSIM2_OC = 41,\n\tMT6357_IRQ_PWRKEY = 48,\n\tMT6357_IRQ_HOMEKEY = 49,\n\tMT6357_IRQ_PWRKEY_R = 50,\n\tMT6357_IRQ_HOMEKEY_R = 51,\n\tMT6357_IRQ_NI_LBAT_INT = 52,\n\tMT6357_IRQ_CHRDET = 53,\n\tMT6357_IRQ_CHRDET_EDGE = 54,\n\tMT6357_IRQ_VCDT_HV_DET = 55,\n\tMT6357_IRQ_WATCHDOG = 56,\n\tMT6357_IRQ_VBATON_UNDET = 57,\n\tMT6357_IRQ_BVALID_DET = 58,\n\tMT6357_IRQ_OV = 59,\n\tMT6357_IRQ_RTC = 64,\n\tMT6357_IRQ_FG_BAT0_H = 80,\n\tMT6357_IRQ_FG_BAT0_L = 81,\n\tMT6357_IRQ_FG_CUR_H = 82,\n\tMT6357_IRQ_FG_CUR_L = 83,\n\tMT6357_IRQ_FG_ZCV = 84,\n\tMT6357_IRQ_BATON_LV = 96,\n\tMT6357_IRQ_BATON_HT = 97,\n\tMT6357_IRQ_BAT_H = 112,\n\tMT6357_IRQ_BAT_L = 113,\n\tMT6357_IRQ_AUXADC_IMP = 114,\n\tMT6357_IRQ_NAG_C_DLTV = 115,\n\tMT6357_IRQ_AUDIO = 128,\n\tMT6357_IRQ_ACCDET = 133,\n\tMT6357_IRQ_ACCDET_EINT0 = 134,\n\tMT6357_IRQ_ACCDET_EINT1 = 135,\n\tMT6357_IRQ_SPI_CMD_ALERT = 144,\n\tMT6357_IRQ_NR = 145,\n};\n\nenum mt6357_irq_top_status_shift {\n\tMT6357_BUCK_TOP = 0,\n\tMT6357_LDO_TOP = 1,\n\tMT6357_PSC_TOP = 2,\n\tMT6357_SCK_TOP = 3,\n\tMT6357_BM_TOP = 4,\n\tMT6357_HK_TOP = 5,\n\tMT6357_XPP_TOP = 6,\n\tMT6357_AUD_TOP = 7,\n\tMT6357_MISC_TOP = 8,\n};\n\nenum mt6358_irq_numbers {\n\tMT6358_IRQ_VPROC11_OC = 0,\n\tMT6358_IRQ_VPROC12_OC = 1,\n\tMT6358_IRQ_VCORE_OC = 2,\n\tMT6358_IRQ_VGPU_OC = 3,\n\tMT6358_IRQ_VMODEM_OC = 4,\n\tMT6358_IRQ_VDRAM1_OC = 5,\n\tMT6358_IRQ_VS1_OC = 6,\n\tMT6358_IRQ_VS2_OC = 7,\n\tMT6358_IRQ_VPA_OC = 8,\n\tMT6358_IRQ_VCORE_PREOC = 9,\n\tMT6358_IRQ_VFE28_OC = 16,\n\tMT6358_IRQ_VXO22_OC = 17,\n\tMT6358_IRQ_VRF18_OC = 18,\n\tMT6358_IRQ_VRF12_OC = 19,\n\tMT6358_IRQ_VEFUSE_OC = 20,\n\tMT6358_IRQ_VCN33_OC = 21,\n\tMT6358_IRQ_VCN28_OC = 22,\n\tMT6358_IRQ_VCN18_OC = 23,\n\tMT6358_IRQ_VCAMA1_OC = 24,\n\tMT6358_IRQ_VCAMA2_OC = 25,\n\tMT6358_IRQ_VCAMD_OC = 26,\n\tMT6358_IRQ_VCAMIO_OC = 27,\n\tMT6358_IRQ_VLDO28_OC = 28,\n\tMT6358_IRQ_VA12_OC = 29,\n\tMT6358_IRQ_VAUX18_OC = 30,\n\tMT6358_IRQ_VAUD28_OC = 31,\n\tMT6358_IRQ_VIO28_OC = 32,\n\tMT6358_IRQ_VIO18_OC = 33,\n\tMT6358_IRQ_VSRAM_PROC11_OC = 34,\n\tMT6358_IRQ_VSRAM_PROC12_OC = 35,\n\tMT6358_IRQ_VSRAM_OTHERS_OC = 36,\n\tMT6358_IRQ_VSRAM_GPU_OC = 37,\n\tMT6358_IRQ_VDRAM2_OC = 38,\n\tMT6358_IRQ_VMC_OC = 39,\n\tMT6358_IRQ_VMCH_OC = 40,\n\tMT6358_IRQ_VEMC_OC = 41,\n\tMT6358_IRQ_VSIM1_OC = 42,\n\tMT6358_IRQ_VSIM2_OC = 43,\n\tMT6358_IRQ_VIBR_OC = 44,\n\tMT6358_IRQ_VUSB_OC = 45,\n\tMT6358_IRQ_VBIF28_OC = 46,\n\tMT6358_IRQ_PWRKEY = 48,\n\tMT6358_IRQ_HOMEKEY = 49,\n\tMT6358_IRQ_PWRKEY_R = 50,\n\tMT6358_IRQ_HOMEKEY_R = 51,\n\tMT6358_IRQ_NI_LBAT_INT = 52,\n\tMT6358_IRQ_CHRDET = 53,\n\tMT6358_IRQ_CHRDET_EDGE = 54,\n\tMT6358_IRQ_VCDT_HV_DET = 55,\n\tMT6358_IRQ_RTC = 64,\n\tMT6358_IRQ_FG_BAT0_H = 80,\n\tMT6358_IRQ_FG_BAT0_L = 81,\n\tMT6358_IRQ_FG_CUR_H = 82,\n\tMT6358_IRQ_FG_CUR_L = 83,\n\tMT6358_IRQ_FG_ZCV = 84,\n\tMT6358_IRQ_FG_BAT1_H = 85,\n\tMT6358_IRQ_FG_BAT1_L = 86,\n\tMT6358_IRQ_FG_N_CHARGE_L = 87,\n\tMT6358_IRQ_FG_IAVG_H = 88,\n\tMT6358_IRQ_FG_IAVG_L = 89,\n\tMT6358_IRQ_FG_TIME_H = 90,\n\tMT6358_IRQ_FG_DISCHARGE = 91,\n\tMT6358_IRQ_FG_CHARGE = 92,\n\tMT6358_IRQ_BATON_LV = 96,\n\tMT6358_IRQ_BATON_HT = 97,\n\tMT6358_IRQ_BATON_BAT_IN = 98,\n\tMT6358_IRQ_BATON_BAT_OUT = 99,\n\tMT6358_IRQ_BIF = 100,\n\tMT6358_IRQ_BAT_H = 112,\n\tMT6358_IRQ_BAT_L = 113,\n\tMT6358_IRQ_BAT2_H = 114,\n\tMT6358_IRQ_BAT2_L = 115,\n\tMT6358_IRQ_BAT_TEMP_H = 116,\n\tMT6358_IRQ_BAT_TEMP_L = 117,\n\tMT6358_IRQ_AUXADC_IMP = 118,\n\tMT6358_IRQ_NAG_C_DLTV = 119,\n\tMT6358_IRQ_AUDIO = 128,\n\tMT6358_IRQ_ACCDET = 133,\n\tMT6358_IRQ_ACCDET_EINT0 = 134,\n\tMT6358_IRQ_ACCDET_EINT1 = 135,\n\tMT6358_IRQ_SPI_CMD_ALERT = 144,\n\tMT6358_IRQ_NR = 145,\n};\n\nenum mt6358_irq_top_status_shift {\n\tMT6358_BUCK_TOP = 0,\n\tMT6358_LDO_TOP = 1,\n\tMT6358_PSC_TOP = 2,\n\tMT6358_SCK_TOP = 3,\n\tMT6358_BM_TOP = 4,\n\tMT6358_HK_TOP = 5,\n\tMT6358_AUD_TOP = 6,\n\tMT6358_MISC_TOP = 7,\n};\n\nenum mt6359_irq_numbers {\n\tMT6359_IRQ_VCORE_OC = 1,\n\tMT6359_IRQ_VGPU11_OC = 2,\n\tMT6359_IRQ_VGPU12_OC = 3,\n\tMT6359_IRQ_VMODEM_OC = 4,\n\tMT6359_IRQ_VPROC1_OC = 5,\n\tMT6359_IRQ_VPROC2_OC = 6,\n\tMT6359_IRQ_VS1_OC = 7,\n\tMT6359_IRQ_VS2_OC = 8,\n\tMT6359_IRQ_VPA_OC = 9,\n\tMT6359_IRQ_VFE28_OC = 16,\n\tMT6359_IRQ_VXO22_OC = 17,\n\tMT6359_IRQ_VRF18_OC = 18,\n\tMT6359_IRQ_VRF12_OC = 19,\n\tMT6359_IRQ_VEFUSE_OC = 20,\n\tMT6359_IRQ_VCN33_1_OC = 21,\n\tMT6359_IRQ_VCN33_2_OC = 22,\n\tMT6359_IRQ_VCN13_OC = 23,\n\tMT6359_IRQ_VCN18_OC = 24,\n\tMT6359_IRQ_VA09_OC = 25,\n\tMT6359_IRQ_VCAMIO_OC = 26,\n\tMT6359_IRQ_VA12_OC = 27,\n\tMT6359_IRQ_VAUX18_OC = 28,\n\tMT6359_IRQ_VAUD18_OC = 29,\n\tMT6359_IRQ_VIO18_OC = 30,\n\tMT6359_IRQ_VSRAM_PROC1_OC = 31,\n\tMT6359_IRQ_VSRAM_PROC2_OC = 32,\n\tMT6359_IRQ_VSRAM_OTHERS_OC = 33,\n\tMT6359_IRQ_VSRAM_MD_OC = 34,\n\tMT6359_IRQ_VEMC_OC = 35,\n\tMT6359_IRQ_VSIM1_OC = 36,\n\tMT6359_IRQ_VSIM2_OC = 37,\n\tMT6359_IRQ_VUSB_OC = 38,\n\tMT6359_IRQ_VRFCK_OC = 39,\n\tMT6359_IRQ_VBBCK_OC = 40,\n\tMT6359_IRQ_VBIF28_OC = 41,\n\tMT6359_IRQ_VIBR_OC = 42,\n\tMT6359_IRQ_VIO28_OC = 43,\n\tMT6359_IRQ_VM18_OC = 44,\n\tMT6359_IRQ_VUFS_OC = 45,\n\tMT6359_IRQ_PWRKEY = 48,\n\tMT6359_IRQ_HOMEKEY = 49,\n\tMT6359_IRQ_PWRKEY_R = 50,\n\tMT6359_IRQ_HOMEKEY_R = 51,\n\tMT6359_IRQ_NI_LBAT_INT = 52,\n\tMT6359_IRQ_CHRDET_EDGE = 53,\n\tMT6359_IRQ_RTC = 64,\n\tMT6359_IRQ_FG_BAT_H = 80,\n\tMT6359_IRQ_FG_BAT_L = 81,\n\tMT6359_IRQ_FG_CUR_H = 82,\n\tMT6359_IRQ_FG_CUR_L = 83,\n\tMT6359_IRQ_FG_ZCV = 84,\n\tMT6359_IRQ_FG_N_CHARGE_L = 87,\n\tMT6359_IRQ_FG_IAVG_H = 88,\n\tMT6359_IRQ_FG_IAVG_L = 89,\n\tMT6359_IRQ_FG_DISCHARGE = 91,\n\tMT6359_IRQ_FG_CHARGE = 92,\n\tMT6359_IRQ_BATON_LV = 96,\n\tMT6359_IRQ_BATON_BAT_IN = 98,\n\tMT6359_IRQ_BATON_BAT_OU = 99,\n\tMT6359_IRQ_BIF = 100,\n\tMT6359_IRQ_BAT_H = 112,\n\tMT6359_IRQ_BAT_L = 113,\n\tMT6359_IRQ_BAT2_H = 114,\n\tMT6359_IRQ_BAT2_L = 115,\n\tMT6359_IRQ_BAT_TEMP_H = 116,\n\tMT6359_IRQ_BAT_TEMP_L = 117,\n\tMT6359_IRQ_THR_H = 118,\n\tMT6359_IRQ_THR_L = 119,\n\tMT6359_IRQ_AUXADC_IMP = 120,\n\tMT6359_IRQ_NAG_C_DLTV = 121,\n\tMT6359_IRQ_AUDIO = 128,\n\tMT6359_IRQ_ACCDET = 133,\n\tMT6359_IRQ_ACCDET_EINT0 = 134,\n\tMT6359_IRQ_ACCDET_EINT1 = 135,\n\tMT6359_IRQ_SPI_CMD_ALERT = 144,\n\tMT6359_IRQ_NR = 145,\n};\n\nenum mt6359_irq_top_status_shift {\n\tMT6359_BUCK_TOP = 0,\n\tMT6359_LDO_TOP = 1,\n\tMT6359_PSC_TOP = 2,\n\tMT6359_SCK_TOP = 3,\n\tMT6359_BM_TOP = 4,\n\tMT6359_HK_TOP = 5,\n\tMT6359_AUD_TOP = 7,\n\tMT6359_MISC_TOP = 8,\n};\n\nenum mt6397_irq_numbers {\n\tMT6397_IRQ_SPKL_AB = 0,\n\tMT6397_IRQ_SPKR_AB = 1,\n\tMT6397_IRQ_SPKL = 2,\n\tMT6397_IRQ_SPKR = 3,\n\tMT6397_IRQ_BAT_L = 4,\n\tMT6397_IRQ_BAT_H = 5,\n\tMT6397_IRQ_FG_BAT_L = 6,\n\tMT6397_IRQ_FG_BAT_H = 7,\n\tMT6397_IRQ_WATCHDOG = 8,\n\tMT6397_IRQ_PWRKEY = 9,\n\tMT6397_IRQ_THR_L = 10,\n\tMT6397_IRQ_THR_H = 11,\n\tMT6397_IRQ_VBATON_UNDET = 12,\n\tMT6397_IRQ_BVALID_DET = 13,\n\tMT6397_IRQ_CHRDET = 14,\n\tMT6397_IRQ_OV = 15,\n\tMT6397_IRQ_LDO = 16,\n\tMT6397_IRQ_HOMEKEY = 17,\n\tMT6397_IRQ_ACCDET = 18,\n\tMT6397_IRQ_AUDIO = 19,\n\tMT6397_IRQ_RTC = 20,\n\tMT6397_IRQ_PWRKEY_RSTB = 21,\n\tMT6397_IRQ_HDMI_SIFM = 22,\n\tMT6397_IRQ_HDMI_CEC = 23,\n\tMT6397_IRQ_VCA15 = 24,\n\tMT6397_IRQ_VSRMCA15 = 25,\n\tMT6397_IRQ_VCORE = 26,\n\tMT6397_IRQ_VGPU = 27,\n\tMT6397_IRQ_VIO18 = 28,\n\tMT6397_IRQ_VPCA7 = 29,\n\tMT6397_IRQ_VSRMCA7 = 30,\n\tMT6397_IRQ_VDRM = 31,\n\tMT6397_IRQ_NR = 32,\n};\n\nenum mtd_file_modes {\n\tMTD_FILE_MODE_NORMAL = 0,\n\tMTD_FILE_MODE_OTP_FACTORY = 1,\n\tMTD_FILE_MODE_OTP_USER = 2,\n\tMTD_FILE_MODE_RAW = 3,\n};\n\nenum mthp_stat_item {\n\tMTHP_STAT_ANON_FAULT_ALLOC = 0,\n\tMTHP_STAT_ANON_FAULT_FALLBACK = 1,\n\tMTHP_STAT_ANON_FAULT_FALLBACK_CHARGE = 2,\n\tMTHP_STAT_ZSWPOUT = 3,\n\tMTHP_STAT_SWPIN = 4,\n\tMTHP_STAT_SWPIN_FALLBACK = 5,\n\tMTHP_STAT_SWPIN_FALLBACK_CHARGE = 6,\n\tMTHP_STAT_SWPOUT = 7,\n\tMTHP_STAT_SWPOUT_FALLBACK = 8,\n\tMTHP_STAT_SHMEM_ALLOC = 9,\n\tMTHP_STAT_SHMEM_FALLBACK = 10,\n\tMTHP_STAT_SHMEM_FALLBACK_CHARGE = 11,\n\tMTHP_STAT_SPLIT = 12,\n\tMTHP_STAT_SPLIT_FAILED = 13,\n\tMTHP_STAT_SPLIT_DEFERRED = 14,\n\tMTHP_STAT_NR_ANON = 15,\n\tMTHP_STAT_NR_ANON_PARTIALLY_MAPPED = 16,\n\t__MTHP_STAT_COUNT = 17,\n};\n\nenum mtk_cirq_regoffs_index {\n\tCIRQ_STA = 0,\n\tCIRQ_ACK = 1,\n\tCIRQ_MASK_SET = 2,\n\tCIRQ_MASK_CLR = 3,\n\tCIRQ_SENS_SET = 4,\n\tCIRQ_SENS_CLR = 5,\n\tCIRQ_POL_SET = 6,\n\tCIRQ_POL_CLR = 7,\n\tCIRQ_CONTROL = 8,\n};\n\nenum mtk_iommu_plat {\n\tM4U_MT2712 = 0,\n\tM4U_MT6779 = 1,\n\tM4U_MT6795 = 2,\n\tM4U_MT8167 = 3,\n\tM4U_MT8173 = 4,\n\tM4U_MT8183 = 5,\n\tM4U_MT8186 = 6,\n\tM4U_MT8188 = 7,\n\tM4U_MT8192 = 8,\n\tM4U_MT8195 = 9,\n\tM4U_MT8365 = 10,\n};\n\nenum mtk_phy_version {\n\tMTK_PHY_V1 = 1,\n\tMTK_PHY_V2 = 2,\n\tMTK_PHY_V3 = 3,\n};\n\nenum mtk_reset_version {\n\tMTK_RST_SIMPLE = 0,\n\tMTK_RST_SET_CLR = 1,\n\tMTK_RST_MAX = 2,\n};\n\nenum mtk_smi_type {\n\tMTK_SMI_GEN1 = 0,\n\tMTK_SMI_GEN2 = 1,\n\tMTK_SMI_GEN2_SUB_COMM = 2,\n};\n\nenum mtk_trans_op {\n\tI2C_MASTER_WR = 1,\n\tI2C_MASTER_RD = 2,\n\tI2C_MASTER_WRRD = 3,\n};\n\nenum mtu3_dr_force_mode {\n\tMTU3_DR_FORCE_NONE = 0,\n\tMTU3_DR_FORCE_HOST = 1,\n\tMTU3_DR_FORCE_DEVICE = 2,\n};\n\nenum mtu3_g_ep0_state {\n\tMU3D_EP0_STATE_SETUP = 1,\n\tMU3D_EP0_STATE_TX = 2,\n\tMU3D_EP0_STATE_RX = 3,\n\tMU3D_EP0_STATE_TX_END = 4,\n\tMU3D_EP0_STATE_STALL = 5,\n};\n\nenum mtu3_speed {\n\tMTU3_SPEED_INACTIVE = 0,\n\tMTU3_SPEED_FULL = 1,\n\tMTU3_SPEED_HIGH = 3,\n\tMTU3_SPEED_SUPER = 4,\n\tMTU3_SPEED_SUPER_PLUS = 5,\n};\n\nenum multi_stop_state {\n\tMULTI_STOP_NONE = 0,\n\tMULTI_STOP_PREPARE = 1,\n\tMULTI_STOP_DISABLE_IRQ = 2,\n\tMULTI_STOP_RUN = 3,\n\tMULTI_STOP_EXIT = 4,\n};\n\nenum musb_buf_mode {\n\tBUF_SINGLE = 0,\n\tBUF_DOUBLE = 1,\n} __attribute__((mode(byte)));\n\nenum musb_fifo_style {\n\tFIFO_RXTX = 0,\n\tFIFO_TX = 1,\n\tFIFO_RX = 2,\n} __attribute__((mode(byte)));\n\nenum musb_g_ep0_state {\n\tMUSB_EP0_STAGE_IDLE = 0,\n\tMUSB_EP0_STAGE_SETUP = 1,\n\tMUSB_EP0_STAGE_TX = 2,\n\tMUSB_EP0_STAGE_RX = 3,\n\tMUSB_EP0_STAGE_STATUSIN = 4,\n\tMUSB_EP0_STAGE_STATUSOUT = 5,\n\tMUSB_EP0_STAGE_ACKWAIT = 6,\n} __attribute__((mode(byte)));\n\nenum musb_h_ep0_state {\n\tMUSB_EP0_IDLE = 0,\n\tMUSB_EP0_START = 1,\n\tMUSB_EP0_IN = 2,\n\tMUSB_EP0_OUT = 3,\n\tMUSB_EP0_STATUS = 4,\n} __attribute__((mode(byte)));\n\nenum musb_mode {\n\tMUSB_UNDEFINED = 0,\n\tMUSB_HOST = 1,\n\tMUSB_PERIPHERAL = 2,\n\tMUSB_OTG = 3,\n};\n\nenum musb_vbus_id_status {\n\tMUSB_UNKNOWN = 0,\n\tMUSB_ID_GROUND = 1,\n\tMUSB_ID_FLOAT = 2,\n\tMUSB_VBUS_VALID = 3,\n\tMUSB_VBUS_OFF = 4,\n};\n\nenum muxtype {\n\tpca954x_ismux = 0,\n\tpca954x_isswi = 1,\n};\n\nenum mv_xor_mode {\n\tXOR_MODE_IN_REG = 0,\n\tXOR_MODE_IN_DESC = 1,\n};\n\nenum mv_xor_type {\n\tXOR_ORION = 0,\n\tXOR_ARMADA_38X = 1,\n\tXOR_ARMADA_37XX = 2,\n};\n\nenum mvneta_bm_type {\n\tMVNETA_BM_FREE = 0,\n\tMVNETA_BM_LONG = 1,\n\tMVNETA_BM_SHORT = 2,\n};\n\nenum mvneta_tx_buf_type {\n\tMVNETA_TYPE_TSO = 0,\n\tMVNETA_TYPE_SKB = 1,\n\tMVNETA_TYPE_XDP_TX = 2,\n\tMVNETA_TYPE_XDP_NDO = 3,\n};\n\nenum mvpp22_cls_c2_action {\n\tMVPP22_C2_NO_UPD = 0,\n\tMVPP22_C2_NO_UPD_LOCK = 1,\n\tMVPP22_C2_UPD = 2,\n\tMVPP22_C2_UPD_LOCK = 3,\n};\n\nenum mvpp22_cls_c2_color_action {\n\tMVPP22_C2_COL_NO_UPD = 0,\n\tMVPP22_C2_COL_NO_UPD_LOCK = 1,\n\tMVPP22_C2_COL_GREEN = 2,\n\tMVPP22_C2_COL_GREEN_LOCK = 3,\n\tMVPP22_C2_COL_YELLOW = 4,\n\tMVPP22_C2_COL_YELLOW_LOCK = 5,\n\tMVPP22_C2_COL_RED = 6,\n\tMVPP22_C2_COL_RED_LOCK = 7,\n};\n\nenum mvpp22_cls_c2_fwd_action {\n\tMVPP22_C2_FWD_NO_UPD = 0,\n\tMVPP22_C2_FWD_NO_UPD_LOCK = 1,\n\tMVPP22_C2_FWD_SW = 2,\n\tMVPP22_C2_FWD_SW_LOCK = 3,\n\tMVPP22_C2_FWD_HW = 4,\n\tMVPP22_C2_FWD_HW_LOCK = 5,\n\tMVPP22_C2_FWD_HW_LOW_LAT = 6,\n\tMVPP22_C2_FWD_HW_LOW_LAT_LOCK = 7,\n};\n\nenum mvpp22_ptp_action {\n\tMVPP22_PTP_ACTION_NONE = 0,\n\tMVPP22_PTP_ACTION_FORWARD = 1,\n\tMVPP22_PTP_ACTION_CAPTURE = 3,\n\tMVPP22_PTP_ACTION_ADDTIME = 4,\n\tMVPP22_PTP_ACTION_ADDCORRECTEDTIME = 5,\n\tMVPP22_PTP_ACTION_CAPTUREADDTIME = 6,\n\tMVPP22_PTP_ACTION_CAPTUREADDCORRECTEDTIME = 7,\n\tMVPP22_PTP_ACTION_ADDINGRESSTIME = 8,\n\tMVPP22_PTP_ACTION_CAPTUREADDINGRESSTIME = 9,\n\tMVPP22_PTP_ACTION_CAPTUREINGRESSTIME = 10,\n};\n\nenum mvpp22_ptp_packet_format {\n\tMVPP22_PTP_PKT_FMT_PTPV2 = 0,\n\tMVPP22_PTP_PKT_FMT_PTPV1 = 1,\n\tMVPP22_PTP_PKT_FMT_Y1731 = 2,\n\tMVPP22_PTP_PKT_FMT_NTPTS = 3,\n\tMVPP22_PTP_PKT_FMT_NTPRX = 4,\n\tMVPP22_PTP_PKT_FMT_NTPTX = 5,\n\tMVPP22_PTP_PKT_FMT_TWAMP = 6,\n};\n\nenum mvpp2_bm_pool_log_num {\n\tMVPP2_BM_SHORT = 0,\n\tMVPP2_BM_LONG = 1,\n\tMVPP2_BM_JUMBO = 2,\n\tMVPP2_BM_POOLS_NUM = 3,\n};\n\nenum mvpp2_cls_engine {\n\tMVPP22_CLS_ENGINE_C2 = 1,\n\tMVPP22_CLS_ENGINE_C3A = 2,\n\tMVPP22_CLS_ENGINE_C3B = 3,\n\tMVPP22_CLS_ENGINE_C4 = 4,\n\tMVPP22_CLS_ENGINE_C3HA = 6,\n\tMVPP22_CLS_ENGINE_C3HB = 7,\n};\n\nenum mvpp2_cls_field_id {\n\tMVPP22_CLS_FIELD_MAC_DA = 3,\n\tMVPP22_CLS_FIELD_VLAN_PRI = 5,\n\tMVPP22_CLS_FIELD_VLAN = 6,\n\tMVPP22_CLS_FIELD_L3_PROTO = 15,\n\tMVPP22_CLS_FIELD_IP4SA = 16,\n\tMVPP22_CLS_FIELD_IP4DA = 17,\n\tMVPP22_CLS_FIELD_IP6SA = 23,\n\tMVPP22_CLS_FIELD_IP6DA = 26,\n\tMVPP22_CLS_FIELD_L4SIP = 29,\n\tMVPP22_CLS_FIELD_L4DIP = 30,\n};\n\nenum mvpp2_cls_lu_type {\n\tMVPP22_CLS_LU_TYPE_ALL = 63,\n};\n\nenum mvpp2_prs_flow {\n\tMVPP2_FL_START = 8,\n\tMVPP2_FL_IP4_TCP_NF_UNTAG = 8,\n\tMVPP2_FL_IP4_UDP_NF_UNTAG = 9,\n\tMVPP2_FL_IP4_TCP_NF_TAG = 10,\n\tMVPP2_FL_IP4_UDP_NF_TAG = 11,\n\tMVPP2_FL_IP6_TCP_NF_UNTAG = 12,\n\tMVPP2_FL_IP6_UDP_NF_UNTAG = 13,\n\tMVPP2_FL_IP6_TCP_NF_TAG = 14,\n\tMVPP2_FL_IP6_UDP_NF_TAG = 15,\n\tMVPP2_FL_IP4_TCP_FRAG_UNTAG = 16,\n\tMVPP2_FL_IP4_UDP_FRAG_UNTAG = 17,\n\tMVPP2_FL_IP4_TCP_FRAG_TAG = 18,\n\tMVPP2_FL_IP4_UDP_FRAG_TAG = 19,\n\tMVPP2_FL_IP6_TCP_FRAG_UNTAG = 20,\n\tMVPP2_FL_IP6_UDP_FRAG_UNTAG = 21,\n\tMVPP2_FL_IP6_TCP_FRAG_TAG = 22,\n\tMVPP2_FL_IP6_UDP_FRAG_TAG = 23,\n\tMVPP2_FL_IP4_UNTAG = 24,\n\tMVPP2_FL_IP4_TAG = 25,\n\tMVPP2_FL_IP6_UNTAG = 26,\n\tMVPP2_FL_IP6_TAG = 27,\n\tMVPP2_FL_NON_IP_UNTAG = 28,\n\tMVPP2_FL_NON_IP_TAG = 29,\n\tMVPP2_FL_LAST = 30,\n};\n\nenum mvpp2_prs_l2_cast {\n\tMVPP2_PRS_L2_UNI_CAST = 0,\n\tMVPP2_PRS_L2_MULTI_CAST = 1,\n};\n\nenum mvpp2_prs_l3_cast {\n\tMVPP2_PRS_L3_UNI_CAST = 0,\n\tMVPP2_PRS_L3_MULTI_CAST = 1,\n\tMVPP2_PRS_L3_BROAD_CAST = 2,\n};\n\nenum mvpp2_prs_lookup {\n\tMVPP2_PRS_LU_MH = 0,\n\tMVPP2_PRS_LU_MAC = 1,\n\tMVPP2_PRS_LU_DSA = 2,\n\tMVPP2_PRS_LU_VLAN = 3,\n\tMVPP2_PRS_LU_VID = 4,\n\tMVPP2_PRS_LU_L2 = 5,\n\tMVPP2_PRS_LU_PPPOE = 6,\n\tMVPP2_PRS_LU_IP4 = 7,\n\tMVPP2_PRS_LU_IP6 = 8,\n\tMVPP2_PRS_LU_FLOWS = 9,\n\tMVPP2_PRS_LU_LAST = 10,\n};\n\nenum mvpp2_prs_udf {\n\tMVPP2_PRS_UDF_MAC_DEF = 0,\n\tMVPP2_PRS_UDF_MAC_RANGE = 1,\n\tMVPP2_PRS_UDF_L2_DEF = 2,\n\tMVPP2_PRS_UDF_L2_DEF_COPY = 3,\n\tMVPP2_PRS_UDF_L2_USER = 4,\n};\n\nenum mvpp2_tag_type {\n\tMVPP2_TAG_TYPE_NONE = 0,\n\tMVPP2_TAG_TYPE_MH = 1,\n\tMVPP2_TAG_TYPE_DSA = 2,\n\tMVPP2_TAG_TYPE_EDSA = 3,\n\tMVPP2_TAG_TYPE_VLAN = 4,\n\tMVPP2_TAG_TYPE_LAST = 5,\n};\n\nenum mvpp2_tx_buf_type {\n\tMVPP2_TYPE_SKB = 0,\n\tMVPP2_TYPE_XDP_TX = 1,\n\tMVPP2_TYPE_XDP_NDO = 2,\n};\n\nenum nand_bbt_block_status {\n\tNAND_BBT_BLOCK_STATUS_UNKNOWN = 0,\n\tNAND_BBT_BLOCK_GOOD = 1,\n\tNAND_BBT_BLOCK_WORN = 2,\n\tNAND_BBT_BLOCK_RESERVED = 3,\n\tNAND_BBT_BLOCK_FACTORY_BAD = 4,\n\tNAND_BBT_BLOCK_NUM_STATUS = 5,\n};\n\nenum nand_ecc_algo {\n\tNAND_ECC_ALGO_UNKNOWN = 0,\n\tNAND_ECC_ALGO_HAMMING = 1,\n\tNAND_ECC_ALGO_BCH = 2,\n\tNAND_ECC_ALGO_RS = 3,\n};\n\nenum nand_ecc_engine_integration {\n\tNAND_ECC_ENGINE_INTEGRATION_INVALID = 0,\n\tNAND_ECC_ENGINE_INTEGRATION_PIPELINED = 1,\n\tNAND_ECC_ENGINE_INTEGRATION_EXTERNAL = 2,\n};\n\nenum nand_ecc_engine_type {\n\tNAND_ECC_ENGINE_TYPE_INVALID = 0,\n\tNAND_ECC_ENGINE_TYPE_NONE = 1,\n\tNAND_ECC_ENGINE_TYPE_SOFT = 2,\n\tNAND_ECC_ENGINE_TYPE_ON_HOST = 3,\n\tNAND_ECC_ENGINE_TYPE_ON_DIE = 4,\n};\n\nenum nand_ecc_legacy_mode {\n\tNAND_ECC_INVALID = 0,\n\tNAND_ECC_NONE = 1,\n\tNAND_ECC_SOFT = 2,\n\tNAND_ECC_SOFT_BCH = 3,\n\tNAND_ECC_HW = 4,\n\tNAND_ECC_HW_SYNDROME = 5,\n\tNAND_ECC_ON_DIE = 6,\n};\n\nenum nand_ecc_placement {\n\tNAND_ECC_PLACEMENT_UNKNOWN = 0,\n\tNAND_ECC_PLACEMENT_OOB = 1,\n\tNAND_ECC_PLACEMENT_INTERLEAVED = 2,\n};\n\nenum nand_interface_type {\n\tNAND_SDR_IFACE = 0,\n\tNAND_NVDDR_IFACE = 1,\n};\n\nenum nand_op_instr_type {\n\tNAND_OP_CMD_INSTR = 0,\n\tNAND_OP_ADDR_INSTR = 1,\n\tNAND_OP_DATA_IN_INSTR = 2,\n\tNAND_OP_DATA_OUT_INSTR = 3,\n\tNAND_OP_WAITRDY_INSTR = 4,\n};\n\nenum nand_page_io_req_type {\n\tNAND_PAGE_READ = 0,\n\tNAND_PAGE_WRITE = 1,\n};\n\nenum nbcon_prio {\n\tNBCON_PRIO_NONE = 0,\n\tNBCON_PRIO_NORMAL = 1,\n\tNBCON_PRIO_EMERGENCY = 2,\n\tNBCON_PRIO_PANIC = 3,\n\tNBCON_PRIO_MAX = 4,\n};\n\nenum net_device_flags {\n\tIFF_UP = 1,\n\tIFF_BROADCAST = 2,\n\tIFF_DEBUG = 4,\n\tIFF_LOOPBACK = 8,\n\tIFF_POINTOPOINT = 16,\n\tIFF_NOTRAILERS = 32,\n\tIFF_RUNNING = 64,\n\tIFF_NOARP = 128,\n\tIFF_PROMISC = 256,\n\tIFF_ALLMULTI = 512,\n\tIFF_MASTER = 1024,\n\tIFF_SLAVE = 2048,\n\tIFF_MULTICAST = 4096,\n\tIFF_PORTSEL = 8192,\n\tIFF_AUTOMEDIA = 16384,\n\tIFF_DYNAMIC = 32768,\n\tIFF_LOWER_UP = 65536,\n\tIFF_DORMANT = 131072,\n\tIFF_ECHO = 262144,\n};\n\nenum net_device_path_type {\n\tDEV_PATH_ETHERNET = 0,\n\tDEV_PATH_VLAN = 1,\n\tDEV_PATH_BRIDGE = 2,\n\tDEV_PATH_PPPOE = 3,\n\tDEV_PATH_DSA = 4,\n\tDEV_PATH_MTK_WDMA = 5,\n};\n\nenum net_prot {\n\tNET_PROT_NONE = 0,\n\tNET_PROT_PAYLOAD = 1,\n\tNET_PROT_ETH = 2,\n\tNET_PROT_VLAN = 3,\n\tNET_PROT_IPV4 = 4,\n\tNET_PROT_IPV6 = 5,\n\tNET_PROT_IP = 6,\n\tNET_PROT_TCP = 7,\n\tNET_PROT_UDP = 8,\n\tNET_PROT_UDP_LITE = 9,\n\tNET_PROT_IPHC = 10,\n\tNET_PROT_SCTP = 11,\n\tNET_PROT_SCTP_CHUNK_DATA = 12,\n\tNET_PROT_PPPOE = 13,\n\tNET_PROT_PPP = 14,\n\tNET_PROT_PPPMUX = 15,\n\tNET_PROT_PPPMUX_SUBFRM = 16,\n\tNET_PROT_L2TPV2 = 17,\n\tNET_PROT_L2TPV3_CTRL = 18,\n\tNET_PROT_L2TPV3_SESS = 19,\n\tNET_PROT_LLC = 20,\n\tNET_PROT_LLC_SNAP = 21,\n\tNET_PROT_NLPID = 22,\n\tNET_PROT_SNAP = 23,\n\tNET_PROT_MPLS = 24,\n\tNET_PROT_IPSEC_AH = 25,\n\tNET_PROT_IPSEC_ESP = 26,\n\tNET_PROT_UDP_ENC_ESP = 27,\n\tNET_PROT_MACSEC = 28,\n\tNET_PROT_GRE = 29,\n\tNET_PROT_MINENCAP = 30,\n\tNET_PROT_DCCP = 31,\n\tNET_PROT_ICMP = 32,\n\tNET_PROT_IGMP = 33,\n\tNET_PROT_ARP = 34,\n\tNET_PROT_CAPWAP_DATA = 35,\n\tNET_PROT_CAPWAP_CTRL = 36,\n\tNET_PROT_RFC2684 = 37,\n\tNET_PROT_ICMPV6 = 38,\n\tNET_PROT_FCOE = 39,\n\tNET_PROT_FIP = 40,\n\tNET_PROT_ISCSI = 41,\n\tNET_PROT_GTP = 42,\n\tNET_PROT_USER_DEFINED_L2 = 43,\n\tNET_PROT_USER_DEFINED_L3 = 44,\n\tNET_PROT_USER_DEFINED_L4 = 45,\n\tNET_PROT_USER_DEFINED_L5 = 46,\n\tNET_PROT_USER_DEFINED_SHIM1 = 47,\n\tNET_PROT_USER_DEFINED_SHIM2 = 48,\n\tNET_PROT_DUMMY_LAST = 49,\n};\n\nenum net_xmit_qdisc_t {\n\t__NET_XMIT_STOLEN = 65536,\n\t__NET_XMIT_BYPASS = 131072,\n};\n\nenum netdev_cmd {\n\tNETDEV_UP = 1,\n\tNETDEV_DOWN = 2,\n\tNETDEV_REBOOT = 3,\n\tNETDEV_CHANGE = 4,\n\tNETDEV_REGISTER = 5,\n\tNETDEV_UNREGISTER = 6,\n\tNETDEV_CHANGEMTU = 7,\n\tNETDEV_CHANGEADDR = 8,\n\tNETDEV_PRE_CHANGEADDR = 9,\n\tNETDEV_GOING_DOWN = 10,\n\tNETDEV_CHANGENAME = 11,\n\tNETDEV_FEAT_CHANGE = 12,\n\tNETDEV_BONDING_FAILOVER = 13,\n\tNETDEV_PRE_UP = 14,\n\tNETDEV_PRE_TYPE_CHANGE = 15,\n\tNETDEV_POST_TYPE_CHANGE = 16,\n\tNETDEV_POST_INIT = 17,\n\tNETDEV_PRE_UNINIT = 18,\n\tNETDEV_RELEASE = 19,\n\tNETDEV_NOTIFY_PEERS = 20,\n\tNETDEV_JOIN = 21,\n\tNETDEV_CHANGEUPPER = 22,\n\tNETDEV_RESEND_IGMP = 23,\n\tNETDEV_PRECHANGEMTU = 24,\n\tNETDEV_CHANGEINFODATA = 25,\n\tNETDEV_BONDING_INFO = 26,\n\tNETDEV_PRECHANGEUPPER = 27,\n\tNETDEV_CHANGELOWERSTATE = 28,\n\tNETDEV_UDP_TUNNEL_PUSH_INFO = 29,\n\tNETDEV_UDP_TUNNEL_DROP_INFO = 30,\n\tNETDEV_CHANGE_TX_QUEUE_LEN = 31,\n\tNETDEV_CVLAN_FILTER_PUSH_INFO = 32,\n\tNETDEV_CVLAN_FILTER_DROP_INFO = 33,\n\tNETDEV_SVLAN_FILTER_PUSH_INFO = 34,\n\tNETDEV_SVLAN_FILTER_DROP_INFO = 35,\n\tNETDEV_OFFLOAD_XSTATS_ENABLE = 36,\n\tNETDEV_OFFLOAD_XSTATS_DISABLE = 37,\n\tNETDEV_OFFLOAD_XSTATS_REPORT_USED = 38,\n\tNETDEV_OFFLOAD_XSTATS_REPORT_DELTA = 39,\n\tNETDEV_XDP_FEAT_CHANGE = 40,\n};\n\nenum netdev_lag_hash {\n\tNETDEV_LAG_HASH_NONE = 0,\n\tNETDEV_LAG_HASH_L2 = 1,\n\tNETDEV_LAG_HASH_L34 = 2,\n\tNETDEV_LAG_HASH_L23 = 3,\n\tNETDEV_LAG_HASH_E23 = 4,\n\tNETDEV_LAG_HASH_E34 = 5,\n\tNETDEV_LAG_HASH_VLAN_SRCMAC = 6,\n\tNETDEV_LAG_HASH_UNKNOWN = 7,\n};\n\nenum netdev_lag_tx_type {\n\tNETDEV_LAG_TX_TYPE_UNKNOWN = 0,\n\tNETDEV_LAG_TX_TYPE_RANDOM = 1,\n\tNETDEV_LAG_TX_TYPE_BROADCAST = 2,\n\tNETDEV_LAG_TX_TYPE_ROUNDROBIN = 3,\n\tNETDEV_LAG_TX_TYPE_ACTIVEBACKUP = 4,\n\tNETDEV_LAG_TX_TYPE_HASH = 5,\n};\n\nenum netdev_ml_priv_type {\n\tML_PRIV_NONE = 0,\n\tML_PRIV_CAN = 1,\n};\n\nenum netdev_offload_xstats_type {\n\tNETDEV_OFFLOAD_XSTATS_TYPE_L3 = 1,\n};\n\nenum netdev_priv_flags {\n\tIFF_802_1Q_VLAN = 1,\n\tIFF_EBRIDGE = 2,\n\tIFF_BONDING = 4,\n\tIFF_ISATAP = 8,\n\tIFF_WAN_HDLC = 16,\n\tIFF_XMIT_DST_RELEASE = 32,\n\tIFF_DONT_BRIDGE = 64,\n\tIFF_DISABLE_NETPOLL = 128,\n\tIFF_MACVLAN_PORT = 256,\n\tIFF_BRIDGE_PORT = 512,\n\tIFF_OVS_DATAPATH = 1024,\n\tIFF_TX_SKB_SHARING = 2048,\n\tIFF_UNICAST_FLT = 4096,\n\tIFF_TEAM_PORT = 8192,\n\tIFF_SUPP_NOFCS = 16384,\n\tIFF_LIVE_ADDR_CHANGE = 32768,\n\tIFF_MACVLAN = 65536,\n\tIFF_XMIT_DST_RELEASE_PERM = 131072,\n\tIFF_L3MDEV_MASTER = 262144,\n\tIFF_NO_QUEUE = 524288,\n\tIFF_OPENVSWITCH = 1048576,\n\tIFF_L3MDEV_SLAVE = 2097152,\n\tIFF_TEAM = 4194304,\n\tIFF_RXFH_CONFIGURED = 8388608,\n\tIFF_PHONY_HEADROOM = 16777216,\n\tIFF_MACSEC = 33554432,\n\tIFF_NO_RX_HANDLER = 67108864,\n\tIFF_FAILOVER = 134217728,\n\tIFF_FAILOVER_SLAVE = 268435456,\n\tIFF_L3MDEV_RX_HANDLER = 536870912,\n\tIFF_NO_ADDRCONF = 1073741824,\n\tIFF_TX_SKB_NO_LINEAR = 2147483648,\n};\n\nenum netdev_qstats_scope {\n\tNETDEV_QSTATS_SCOPE_QUEUE = 1,\n};\n\nenum netdev_queue_state_t {\n\t__QUEUE_STATE_DRV_XOFF = 0,\n\t__QUEUE_STATE_STACK_XOFF = 1,\n\t__QUEUE_STATE_FROZEN = 2,\n};\n\nenum netdev_queue_type {\n\tNETDEV_QUEUE_TYPE_RX = 0,\n\tNETDEV_QUEUE_TYPE_TX = 1,\n};\n\nenum netdev_reg_state {\n\tNETREG_UNINITIALIZED = 0,\n\tNETREG_REGISTERED = 1,\n\tNETREG_UNREGISTERING = 2,\n\tNETREG_UNREGISTERED = 3,\n\tNETREG_RELEASED = 4,\n\tNETREG_DUMMY = 5,\n};\n\nenum netdev_stat_type {\n\tNETDEV_PCPU_STAT_NONE = 0,\n\tNETDEV_PCPU_STAT_LSTATS = 1,\n\tNETDEV_PCPU_STAT_TSTATS = 2,\n\tNETDEV_PCPU_STAT_DSTATS = 3,\n};\n\nenum netdev_state_t {\n\t__LINK_STATE_START = 0,\n\t__LINK_STATE_PRESENT = 1,\n\t__LINK_STATE_NOCARRIER = 2,\n\t__LINK_STATE_LINKWATCH_PENDING = 3,\n\t__LINK_STATE_DORMANT = 4,\n\t__LINK_STATE_TESTING = 5,\n};\n\nenum netdev_tx {\n\t__NETDEV_TX_MIN = -2147483648,\n\tNETDEV_TX_OK = 0,\n\tNETDEV_TX_BUSY = 16,\n};\n\ntypedef enum netdev_tx netdev_tx_t;\n\nenum netdev_xdp_act {\n\tNETDEV_XDP_ACT_BASIC = 1,\n\tNETDEV_XDP_ACT_REDIRECT = 2,\n\tNETDEV_XDP_ACT_NDO_XMIT = 4,\n\tNETDEV_XDP_ACT_XSK_ZEROCOPY = 8,\n\tNETDEV_XDP_ACT_HW_OFFLOAD = 16,\n\tNETDEV_XDP_ACT_RX_SG = 32,\n\tNETDEV_XDP_ACT_NDO_XMIT_SG = 64,\n\tNETDEV_XDP_ACT_MASK = 127,\n};\n\nenum netdev_xdp_rx_metadata {\n\tNETDEV_XDP_RX_METADATA_TIMESTAMP = 1,\n\tNETDEV_XDP_RX_METADATA_HASH = 2,\n\tNETDEV_XDP_RX_METADATA_VLAN_TAG = 4,\n};\n\nenum netdev_xsk_flags {\n\tNETDEV_XSK_FLAGS_TX_TIMESTAMP = 1,\n\tNETDEV_XSK_FLAGS_TX_CHECKSUM = 2,\n};\n\nenum netevent_notif_type {\n\tNETEVENT_NEIGH_UPDATE = 1,\n\tNETEVENT_REDIRECT = 2,\n\tNETEVENT_DELAY_PROBE_TIME_UPDATE = 3,\n\tNETEVENT_IPV4_MPATH_HASH_UPDATE = 4,\n\tNETEVENT_IPV6_MPATH_HASH_UPDATE = 5,\n\tNETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE = 6,\n};\n\nenum netfs_collect_contig_trace {\n\tnetfs_contig_trace_collect = 0,\n\tnetfs_contig_trace_jump = 1,\n\tnetfs_contig_trace_unlock = 2,\n} __attribute__((mode(byte)));\n\nenum netfs_donate_trace {\n\tnetfs_trace_donate_tail_to_prev = 0,\n\tnetfs_trace_donate_to_prev = 1,\n\tnetfs_trace_donate_to_next = 2,\n\tnetfs_trace_donate_to_deferred_next = 3,\n} __attribute__((mode(byte)));\n\nenum netfs_failure {\n\tnetfs_fail_check_write_begin = 0,\n\tnetfs_fail_copy_to_cache = 1,\n\tnetfs_fail_dio_read_short = 2,\n\tnetfs_fail_dio_read_zero = 3,\n\tnetfs_fail_read = 4,\n\tnetfs_fail_short_read = 5,\n\tnetfs_fail_prepare_write = 6,\n\tnetfs_fail_write = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_folio_trace {\n\tnetfs_folio_is_uptodate = 0,\n\tnetfs_just_prefetch = 1,\n\tnetfs_whole_folio_modify = 2,\n\tnetfs_modify_and_clear = 3,\n\tnetfs_streaming_write = 4,\n\tnetfs_streaming_write_cont = 5,\n\tnetfs_flush_content = 6,\n\tnetfs_streaming_filled_page = 7,\n\tnetfs_streaming_cont_filled_page = 8,\n\tnetfs_folio_trace_abandon = 9,\n\tnetfs_folio_trace_alloc_buffer = 10,\n\tnetfs_folio_trace_cancel_copy = 11,\n\tnetfs_folio_trace_cancel_store = 12,\n\tnetfs_folio_trace_clear = 13,\n\tnetfs_folio_trace_clear_cc = 14,\n\tnetfs_folio_trace_clear_g = 15,\n\tnetfs_folio_trace_clear_s = 16,\n\tnetfs_folio_trace_copy_to_cache = 17,\n\tnetfs_folio_trace_end_copy = 18,\n\tnetfs_folio_trace_filled_gaps = 19,\n\tnetfs_folio_trace_kill = 20,\n\tnetfs_folio_trace_kill_cc = 21,\n\tnetfs_folio_trace_kill_g = 22,\n\tnetfs_folio_trace_kill_s = 23,\n\tnetfs_folio_trace_mkwrite = 24,\n\tnetfs_folio_trace_mkwrite_plus = 25,\n\tnetfs_folio_trace_not_under_wback = 26,\n\tnetfs_folio_trace_not_locked = 27,\n\tnetfs_folio_trace_put = 28,\n\tnetfs_folio_trace_read = 29,\n\tnetfs_folio_trace_read_done = 30,\n\tnetfs_folio_trace_read_gaps = 31,\n\tnetfs_folio_trace_read_unlock = 32,\n\tnetfs_folio_trace_redirtied = 33,\n\tnetfs_folio_trace_store = 34,\n\tnetfs_folio_trace_store_copy = 35,\n\tnetfs_folio_trace_store_plus = 36,\n\tnetfs_folio_trace_wthru = 37,\n\tnetfs_folio_trace_wthru_plus = 38,\n} __attribute__((mode(byte)));\n\nenum netfs_folioq_trace {\n\tnetfs_trace_folioq_alloc_buffer = 0,\n\tnetfs_trace_folioq_clear = 1,\n\tnetfs_trace_folioq_delete = 2,\n\tnetfs_trace_folioq_make_space = 3,\n\tnetfs_trace_folioq_rollbuf_init = 4,\n\tnetfs_trace_folioq_read_progress = 5,\n} __attribute__((mode(byte)));\n\nenum netfs_io_origin {\n\tNETFS_READAHEAD = 0,\n\tNETFS_READPAGE = 1,\n\tNETFS_READ_GAPS = 2,\n\tNETFS_READ_SINGLE = 3,\n\tNETFS_READ_FOR_WRITE = 4,\n\tNETFS_DIO_READ = 5,\n\tNETFS_WRITEBACK = 6,\n\tNETFS_WRITEBACK_SINGLE = 7,\n\tNETFS_WRITETHROUGH = 8,\n\tNETFS_UNBUFFERED_WRITE = 9,\n\tNETFS_DIO_WRITE = 10,\n\tNETFS_PGPRIV2_COPY_TO_CACHE = 11,\n\tnr__netfs_io_origin = 12,\n} __attribute__((mode(byte)));\n\nenum netfs_io_source {\n\tNETFS_SOURCE_UNKNOWN = 0,\n\tNETFS_FILL_WITH_ZEROES = 1,\n\tNETFS_DOWNLOAD_FROM_SERVER = 2,\n\tNETFS_READ_FROM_CACHE = 3,\n\tNETFS_INVALID_READ = 4,\n\tNETFS_UPLOAD_TO_SERVER = 5,\n\tNETFS_WRITE_TO_CACHE = 6,\n\tNETFS_INVALID_WRITE = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_read_from_hole {\n\tNETFS_READ_HOLE_IGNORE = 0,\n\tNETFS_READ_HOLE_CLEAR = 1,\n\tNETFS_READ_HOLE_FAIL = 2,\n};\n\nenum netfs_read_trace {\n\tnetfs_read_trace_dio_read = 0,\n\tnetfs_read_trace_expanded = 1,\n\tnetfs_read_trace_readahead = 2,\n\tnetfs_read_trace_readpage = 3,\n\tnetfs_read_trace_read_gaps = 4,\n\tnetfs_read_trace_read_single = 5,\n\tnetfs_read_trace_prefetch_for_write = 6,\n\tnetfs_read_trace_write_begin = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_rreq_ref_trace {\n\tnetfs_rreq_trace_get_for_outstanding = 0,\n\tnetfs_rreq_trace_get_subreq = 1,\n\tnetfs_rreq_trace_get_work = 2,\n\tnetfs_rreq_trace_put_complete = 3,\n\tnetfs_rreq_trace_put_discard = 4,\n\tnetfs_rreq_trace_put_failed = 5,\n\tnetfs_rreq_trace_put_no_submit = 6,\n\tnetfs_rreq_trace_put_return = 7,\n\tnetfs_rreq_trace_put_subreq = 8,\n\tnetfs_rreq_trace_put_work = 9,\n\tnetfs_rreq_trace_put_work_complete = 10,\n\tnetfs_rreq_trace_put_work_nq = 11,\n\tnetfs_rreq_trace_see_work = 12,\n\tnetfs_rreq_trace_new = 13,\n} __attribute__((mode(byte)));\n\nenum netfs_rreq_trace {\n\tnetfs_rreq_trace_assess = 0,\n\tnetfs_rreq_trace_copy = 1,\n\tnetfs_rreq_trace_collect = 2,\n\tnetfs_rreq_trace_complete = 3,\n\tnetfs_rreq_trace_dirty = 4,\n\tnetfs_rreq_trace_done = 5,\n\tnetfs_rreq_trace_free = 6,\n\tnetfs_rreq_trace_redirty = 7,\n\tnetfs_rreq_trace_resubmit = 8,\n\tnetfs_rreq_trace_set_abandon = 9,\n\tnetfs_rreq_trace_set_pause = 10,\n\tnetfs_rreq_trace_unlock = 11,\n\tnetfs_rreq_trace_unlock_pgpriv2 = 12,\n\tnetfs_rreq_trace_unmark = 13,\n\tnetfs_rreq_trace_wait_ip = 14,\n\tnetfs_rreq_trace_wait_pause = 15,\n\tnetfs_rreq_trace_wait_queue = 16,\n\tnetfs_rreq_trace_wake_ip = 17,\n\tnetfs_rreq_trace_wake_queue = 18,\n\tnetfs_rreq_trace_woke_queue = 19,\n\tnetfs_rreq_trace_unpause = 20,\n\tnetfs_rreq_trace_write_done = 21,\n} __attribute__((mode(byte)));\n\nenum netfs_sreq_ref_trace {\n\tnetfs_sreq_trace_get_copy_to_cache = 0,\n\tnetfs_sreq_trace_get_resubmit = 1,\n\tnetfs_sreq_trace_get_submit = 2,\n\tnetfs_sreq_trace_get_short_read = 3,\n\tnetfs_sreq_trace_new = 4,\n\tnetfs_sreq_trace_put_abandon = 5,\n\tnetfs_sreq_trace_put_cancel = 6,\n\tnetfs_sreq_trace_put_clear = 7,\n\tnetfs_sreq_trace_put_consumed = 8,\n\tnetfs_sreq_trace_put_done = 9,\n\tnetfs_sreq_trace_put_failed = 10,\n\tnetfs_sreq_trace_put_merged = 11,\n\tnetfs_sreq_trace_put_no_copy = 12,\n\tnetfs_sreq_trace_put_oom = 13,\n\tnetfs_sreq_trace_put_wip = 14,\n\tnetfs_sreq_trace_put_work = 15,\n\tnetfs_sreq_trace_put_terminated = 16,\n} __attribute__((mode(byte)));\n\nenum netfs_sreq_trace {\n\tnetfs_sreq_trace_add_donations = 0,\n\tnetfs_sreq_trace_added = 1,\n\tnetfs_sreq_trace_cache_nowrite = 2,\n\tnetfs_sreq_trace_cache_prepare = 3,\n\tnetfs_sreq_trace_cache_write = 4,\n\tnetfs_sreq_trace_cancel = 5,\n\tnetfs_sreq_trace_clear = 6,\n\tnetfs_sreq_trace_discard = 7,\n\tnetfs_sreq_trace_donate_to_prev = 8,\n\tnetfs_sreq_trace_donate_to_next = 9,\n\tnetfs_sreq_trace_download_instead = 10,\n\tnetfs_sreq_trace_fail = 11,\n\tnetfs_sreq_trace_free = 12,\n\tnetfs_sreq_trace_hit_eof = 13,\n\tnetfs_sreq_trace_io_progress = 14,\n\tnetfs_sreq_trace_limited = 15,\n\tnetfs_sreq_trace_need_clear = 16,\n\tnetfs_sreq_trace_partial_read = 17,\n\tnetfs_sreq_trace_need_retry = 18,\n\tnetfs_sreq_trace_prepare = 19,\n\tnetfs_sreq_trace_prep_failed = 20,\n\tnetfs_sreq_trace_progress = 21,\n\tnetfs_sreq_trace_reprep_failed = 22,\n\tnetfs_sreq_trace_retry = 23,\n\tnetfs_sreq_trace_short = 24,\n\tnetfs_sreq_trace_split = 25,\n\tnetfs_sreq_trace_submit = 26,\n\tnetfs_sreq_trace_superfluous = 27,\n\tnetfs_sreq_trace_terminated = 28,\n\tnetfs_sreq_trace_wait_for = 29,\n\tnetfs_sreq_trace_write = 30,\n\tnetfs_sreq_trace_write_skip = 31,\n\tnetfs_sreq_trace_write_term = 32,\n} __attribute__((mode(byte)));\n\nenum netfs_write_trace {\n\tnetfs_write_trace_copy_to_cache = 0,\n\tnetfs_write_trace_dio_write = 1,\n\tnetfs_write_trace_unbuffered_write = 2,\n\tnetfs_write_trace_writeback = 3,\n\tnetfs_write_trace_writethrough = 4,\n} __attribute__((mode(byte)));\n\nenum netlink_attribute_type {\n\tNL_ATTR_TYPE_INVALID = 0,\n\tNL_ATTR_TYPE_FLAG = 1,\n\tNL_ATTR_TYPE_U8 = 2,\n\tNL_ATTR_TYPE_U16 = 3,\n\tNL_ATTR_TYPE_U32 = 4,\n\tNL_ATTR_TYPE_U64 = 5,\n\tNL_ATTR_TYPE_S8 = 6,\n\tNL_ATTR_TYPE_S16 = 7,\n\tNL_ATTR_TYPE_S32 = 8,\n\tNL_ATTR_TYPE_S64 = 9,\n\tNL_ATTR_TYPE_BINARY = 10,\n\tNL_ATTR_TYPE_STRING = 11,\n\tNL_ATTR_TYPE_NUL_STRING = 12,\n\tNL_ATTR_TYPE_NESTED = 13,\n\tNL_ATTR_TYPE_NESTED_ARRAY = 14,\n\tNL_ATTR_TYPE_BITFIELD32 = 15,\n\tNL_ATTR_TYPE_SINT = 16,\n\tNL_ATTR_TYPE_UINT = 17,\n};\n\nenum netlink_policy_type_attr {\n\tNL_POLICY_TYPE_ATTR_UNSPEC = 0,\n\tNL_POLICY_TYPE_ATTR_TYPE = 1,\n\tNL_POLICY_TYPE_ATTR_MIN_VALUE_S = 2,\n\tNL_POLICY_TYPE_ATTR_MAX_VALUE_S = 3,\n\tNL_POLICY_TYPE_ATTR_MIN_VALUE_U = 4,\n\tNL_POLICY_TYPE_ATTR_MAX_VALUE_U = 5,\n\tNL_POLICY_TYPE_ATTR_MIN_LENGTH = 6,\n\tNL_POLICY_TYPE_ATTR_MAX_LENGTH = 7,\n\tNL_POLICY_TYPE_ATTR_POLICY_IDX = 8,\n\tNL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 9,\n\tNL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 10,\n\tNL_POLICY_TYPE_ATTR_PAD = 11,\n\tNL_POLICY_TYPE_ATTR_MASK = 12,\n\t__NL_POLICY_TYPE_ATTR_MAX = 13,\n\tNL_POLICY_TYPE_ATTR_MAX = 12,\n};\n\nenum netlink_skb_flags {\n\tNETLINK_SKB_DST = 8,\n};\n\nenum netlink_validation {\n\tNL_VALIDATE_LIBERAL = 0,\n\tNL_VALIDATE_TRAILING = 1,\n\tNL_VALIDATE_MAXTYPE = 2,\n\tNL_VALIDATE_UNSPEC = 4,\n\tNL_VALIDATE_STRICT_ATTRS = 8,\n\tNL_VALIDATE_NESTED = 16,\n};\n\nenum netloc_type4 {\n\tNL4_NAME = 1,\n\tNL4_URL = 2,\n\tNL4_NETADDR = 3,\n};\n\nenum netns_bpf_attach_type {\n\tNETNS_BPF_INVALID = -1,\n\tNETNS_BPF_FLOW_DISSECTOR = 0,\n\tNETNS_BPF_SK_LOOKUP = 1,\n\tMAX_NETNS_BPF_ATTACH_TYPE = 2,\n};\n\nenum nexthop_event_type {\n\tNEXTHOP_EVENT_DEL = 0,\n\tNEXTHOP_EVENT_REPLACE = 1,\n\tNEXTHOP_EVENT_RES_TABLE_PRE_REPLACE = 2,\n\tNEXTHOP_EVENT_BUCKET_REPLACE = 3,\n\tNEXTHOP_EVENT_HW_STATS_REPORT_DELTA = 4,\n};\n\nenum nf_ct_ext_id {\n\tNF_CT_EXT_HELPER = 0,\n\tNF_CT_EXT_NAT = 1,\n\tNF_CT_EXT_SEQADJ = 2,\n\tNF_CT_EXT_ACCT = 3,\n\tNF_CT_EXT_ECACHE = 4,\n\tNF_CT_EXT_NUM = 5,\n};\n\nenum nf_dev_hooks {\n\tNF_NETDEV_INGRESS = 0,\n\tNF_NETDEV_EGRESS = 1,\n\tNF_NETDEV_NUMHOOKS = 2,\n};\n\nenum nf_hook_ops_type {\n\tNF_HOOK_OP_UNDEFINED = 0,\n\tNF_HOOK_OP_NF_TABLES = 1,\n\tNF_HOOK_OP_BPF = 2,\n};\n\nenum nf_inet_hooks {\n\tNF_INET_PRE_ROUTING = 0,\n\tNF_INET_LOCAL_IN = 1,\n\tNF_INET_FORWARD = 2,\n\tNF_INET_LOCAL_OUT = 3,\n\tNF_INET_POST_ROUTING = 4,\n\tNF_INET_NUMHOOKS = 5,\n\tNF_INET_INGRESS = 5,\n};\n\nenum nf_ip_hook_priorities {\n\tNF_IP_PRI_FIRST = -2147483648,\n\tNF_IP_PRI_RAW_BEFORE_DEFRAG = -450,\n\tNF_IP_PRI_CONNTRACK_DEFRAG = -400,\n\tNF_IP_PRI_RAW = -300,\n\tNF_IP_PRI_SELINUX_FIRST = -225,\n\tNF_IP_PRI_CONNTRACK = -200,\n\tNF_IP_PRI_MANGLE = -150,\n\tNF_IP_PRI_NAT_DST = -100,\n\tNF_IP_PRI_FILTER = 0,\n\tNF_IP_PRI_SECURITY = 50,\n\tNF_IP_PRI_NAT_SRC = 100,\n\tNF_IP_PRI_SELINUX_LAST = 225,\n\tNF_IP_PRI_CONNTRACK_HELPER = 300,\n\tNF_IP_PRI_CONNTRACK_CONFIRM = 2147483647,\n\tNF_IP_PRI_LAST = 2147483647,\n};\n\nenum nf_log_type {\n\tNF_LOG_TYPE_LOG = 0,\n\tNF_LOG_TYPE_ULOG = 1,\n\tNF_LOG_TYPE_MAX = 2,\n};\n\nenum nf_nat_manip_type;\n\nenum nfs3_createmode {\n\tNFS3_CREATE_UNCHECKED = 0,\n\tNFS3_CREATE_GUARDED = 1,\n\tNFS3_CREATE_EXCLUSIVE = 2,\n};\n\nenum nfs3_ftype {\n\tNF3NON = 0,\n\tNF3REG = 1,\n\tNF3DIR = 2,\n\tNF3BLK = 3,\n\tNF3CHR = 4,\n\tNF3LNK = 5,\n\tNF3SOCK = 6,\n\tNF3FIFO = 7,\n\tNF3BAD = 8,\n};\n\nenum nfs3_stable_how {\n\tNFS_UNSTABLE = 0,\n\tNFS_DATA_SYNC = 1,\n\tNFS_FILE_SYNC = 2,\n\tNFS_INVALID_STABLE_HOW = -1,\n};\n\nenum nfs4_acl_type {\n\tNFS4ACL_NONE = 0,\n\tNFS4ACL_ACL = 1,\n\tNFS4ACL_DACL = 2,\n\tNFS4ACL_SACL = 3,\n};\n\nenum nfs4_callback_procnum {\n\tCB_NULL = 0,\n\tCB_COMPOUND = 1,\n};\n\nenum nfs4_change_attr_type {\n\tNFS4_CHANGE_TYPE_IS_MONOTONIC_INCR = 0,\n\tNFS4_CHANGE_TYPE_IS_VERSION_COUNTER = 1,\n\tNFS4_CHANGE_TYPE_IS_VERSION_COUNTER_NOPNFS = 2,\n\tNFS4_CHANGE_TYPE_IS_TIME_METADATA = 3,\n\tNFS4_CHANGE_TYPE_IS_UNDEFINED = 4,\n};\n\nenum nfs4_client_state {\n\tNFS4CLNT_MANAGER_RUNNING = 0,\n\tNFS4CLNT_CHECK_LEASE = 1,\n\tNFS4CLNT_LEASE_EXPIRED = 2,\n\tNFS4CLNT_RECLAIM_REBOOT = 3,\n\tNFS4CLNT_RECLAIM_NOGRACE = 4,\n\tNFS4CLNT_DELEGRETURN = 5,\n\tNFS4CLNT_SESSION_RESET = 6,\n\tNFS4CLNT_LEASE_CONFIRM = 7,\n\tNFS4CLNT_SERVER_SCOPE_MISMATCH = 8,\n\tNFS4CLNT_PURGE_STATE = 9,\n\tNFS4CLNT_BIND_CONN_TO_SESSION = 10,\n\tNFS4CLNT_MOVED = 11,\n\tNFS4CLNT_LEASE_MOVED = 12,\n\tNFS4CLNT_DELEGATION_EXPIRED = 13,\n\tNFS4CLNT_RUN_MANAGER = 14,\n\tNFS4CLNT_MANAGER_AVAILABLE = 15,\n\tNFS4CLNT_RECALL_RUNNING = 16,\n\tNFS4CLNT_RECALL_ANY_LAYOUT_READ = 17,\n\tNFS4CLNT_RECALL_ANY_LAYOUT_RW = 18,\n\tNFS4CLNT_DELEGRETURN_DELAYED = 19,\n};\n\nenum nfs4_ff_op_type {\n\tNFS4_FF_OP_LAYOUTSTATS = 0,\n\tNFS4_FF_OP_LAYOUTRETURN = 1,\n};\n\nenum nfs4_open_delegation_type4 {\n\tNFS4_OPEN_DELEGATE_NONE = 0,\n\tNFS4_OPEN_DELEGATE_READ = 1,\n\tNFS4_OPEN_DELEGATE_WRITE = 2,\n\tNFS4_OPEN_DELEGATE_NONE_EXT = 3,\n\tNFS4_OPEN_DELEGATE_READ_ATTRS_DELEG = 4,\n\tNFS4_OPEN_DELEGATE_WRITE_ATTRS_DELEG = 5,\n};\n\nenum nfs4_session_state {\n\tNFS4_SESSION_INITING = 0,\n\tNFS4_SESSION_ESTABLISHED = 1,\n};\n\nenum nfs4_setxattr_options {\n\tSETXATTR4_EITHER = 0,\n\tSETXATTR4_CREATE = 1,\n\tSETXATTR4_REPLACE = 2,\n};\n\nenum nfs4_slot_tbl_state {\n\tNFS4_SLOT_TBL_DRAINING = 0,\n};\n\nenum nfs_cb_opnum4 {\n\tOP_CB_GETATTR = 3,\n\tOP_CB_RECALL = 4,\n\tOP_CB_LAYOUTRECALL = 5,\n\tOP_CB_NOTIFY = 6,\n\tOP_CB_PUSH_DELEG = 7,\n\tOP_CB_RECALL_ANY = 8,\n\tOP_CB_RECALLABLE_OBJ_AVAIL = 9,\n\tOP_CB_RECALL_SLOT = 10,\n\tOP_CB_SEQUENCE = 11,\n\tOP_CB_WANTS_CANCELLED = 12,\n\tOP_CB_NOTIFY_LOCK = 13,\n\tOP_CB_NOTIFY_DEVICEID = 14,\n\tOP_CB_OFFLOAD = 15,\n\tOP_CB_ILLEGAL = 10044,\n};\n\nenum nfs_ftype4 {\n\tNF4BAD = 0,\n\tNF4REG = 1,\n\tNF4DIR = 2,\n\tNF4BLK = 3,\n\tNF4CHR = 4,\n\tNF4LNK = 5,\n\tNF4SOCK = 6,\n\tNF4FIFO = 7,\n\tNF4ATTRDIR = 8,\n\tNF4NAMEDATTR = 9,\n};\n\nenum nfs_lock_status {\n\tNFS_LOCK_NOT_SET = 0,\n\tNFS_LOCK_LOCK = 1,\n\tNFS_LOCK_NOLOCK = 2,\n};\n\nenum nfs_opnum4 {\n\tOP_ACCESS = 3,\n\tOP_CLOSE = 4,\n\tOP_COMMIT = 5,\n\tOP_CREATE = 6,\n\tOP_DELEGPURGE = 7,\n\tOP_DELEGRETURN = 8,\n\tOP_GETATTR = 9,\n\tOP_GETFH = 10,\n\tOP_LINK = 11,\n\tOP_LOCK = 12,\n\tOP_LOCKT = 13,\n\tOP_LOCKU = 14,\n\tOP_LOOKUP = 15,\n\tOP_LOOKUPP = 16,\n\tOP_NVERIFY = 17,\n\tOP_OPEN = 18,\n\tOP_OPENATTR = 19,\n\tOP_OPEN_CONFIRM = 20,\n\tOP_OPEN_DOWNGRADE = 21,\n\tOP_PUTFH = 22,\n\tOP_PUTPUBFH = 23,\n\tOP_PUTROOTFH = 24,\n\tOP_READ = 25,\n\tOP_READDIR = 26,\n\tOP_READLINK = 27,\n\tOP_REMOVE = 28,\n\tOP_RENAME = 29,\n\tOP_RENEW = 30,\n\tOP_RESTOREFH = 31,\n\tOP_SAVEFH = 32,\n\tOP_SECINFO = 33,\n\tOP_SETATTR = 34,\n\tOP_SETCLIENTID = 35,\n\tOP_SETCLIENTID_CONFIRM = 36,\n\tOP_VERIFY = 37,\n\tOP_WRITE = 38,\n\tOP_RELEASE_LOCKOWNER = 39,\n\tOP_BACKCHANNEL_CTL = 40,\n\tOP_BIND_CONN_TO_SESSION = 41,\n\tOP_EXCHANGE_ID = 42,\n\tOP_CREATE_SESSION = 43,\n\tOP_DESTROY_SESSION = 44,\n\tOP_FREE_STATEID = 45,\n\tOP_GET_DIR_DELEGATION = 46,\n\tOP_GETDEVICEINFO = 47,\n\tOP_GETDEVICELIST = 48,\n\tOP_LAYOUTCOMMIT = 49,\n\tOP_LAYOUTGET = 50,\n\tOP_LAYOUTRETURN = 51,\n\tOP_SECINFO_NO_NAME = 52,\n\tOP_SEQUENCE = 53,\n\tOP_SET_SSV = 54,\n\tOP_TEST_STATEID = 55,\n\tOP_WANT_DELEGATION = 56,\n\tOP_DESTROY_CLIENTID = 57,\n\tOP_RECLAIM_COMPLETE = 58,\n\tOP_ALLOCATE = 59,\n\tOP_COPY = 60,\n\tOP_COPY_NOTIFY = 61,\n\tOP_DEALLOCATE = 62,\n\tOP_IO_ADVISE = 63,\n\tOP_LAYOUTERROR = 64,\n\tOP_LAYOUTSTATS = 65,\n\tOP_OFFLOAD_CANCEL = 66,\n\tOP_OFFLOAD_STATUS = 67,\n\tOP_READ_PLUS = 68,\n\tOP_SEEK = 69,\n\tOP_WRITE_SAME = 70,\n\tOP_CLONE = 71,\n\tOP_GETXATTR = 72,\n\tOP_SETXATTR = 73,\n\tOP_LISTXATTRS = 74,\n\tOP_REMOVEXATTR = 75,\n\tOP_ILLEGAL = 10044,\n};\n\nenum nfs_param {\n\tOpt_ac = 0,\n\tOpt_acdirmax = 1,\n\tOpt_acdirmin = 2,\n\tOpt_acl___2 = 3,\n\tOpt_acregmax = 4,\n\tOpt_acregmin = 5,\n\tOpt_actimeo = 6,\n\tOpt_addr = 7,\n\tOpt_bg = 8,\n\tOpt_bsize = 9,\n\tOpt_clientaddr = 10,\n\tOpt_cto = 11,\n\tOpt_alignwrite = 12,\n\tOpt_fg = 13,\n\tOpt_fscache = 14,\n\tOpt_fscache_flag = 15,\n\tOpt_hard = 16,\n\tOpt_intr = 17,\n\tOpt_local_lock = 18,\n\tOpt_lock = 19,\n\tOpt_lookupcache = 20,\n\tOpt_migration = 21,\n\tOpt_minorversion = 22,\n\tOpt_mountaddr = 23,\n\tOpt_mounthost = 24,\n\tOpt_mountport = 25,\n\tOpt_mountproto = 26,\n\tOpt_mountvers = 27,\n\tOpt_namelen = 28,\n\tOpt_nconnect = 29,\n\tOpt_max_connect = 30,\n\tOpt_port___2 = 31,\n\tOpt_posix = 32,\n\tOpt_proto = 33,\n\tOpt_rdirplus = 34,\n\tOpt_rdma = 35,\n\tOpt_resvport = 36,\n\tOpt_retrans = 37,\n\tOpt_retry = 38,\n\tOpt_rsize = 39,\n\tOpt_sec = 40,\n\tOpt_sharecache = 41,\n\tOpt_sloppy = 42,\n\tOpt_soft = 43,\n\tOpt_softerr = 44,\n\tOpt_softreval = 45,\n\tOpt_source___2 = 46,\n\tOpt_tcp = 47,\n\tOpt_timeo = 48,\n\tOpt_trunkdiscovery = 49,\n\tOpt_udp = 50,\n\tOpt_v = 51,\n\tOpt_vers = 52,\n\tOpt_wsize = 53,\n\tOpt_write = 54,\n\tOpt_xprtsec = 55,\n};\n\nenum nfs_stat {\n\tNFS_OK = 0,\n\tNFSERR_PERM = 1,\n\tNFSERR_NOENT = 2,\n\tNFSERR_IO = 5,\n\tNFSERR_NXIO = 6,\n\tNFSERR_EAGAIN = 11,\n\tNFSERR_ACCES = 13,\n\tNFSERR_EXIST = 17,\n\tNFSERR_XDEV = 18,\n\tNFSERR_NODEV = 19,\n\tNFSERR_NOTDIR = 20,\n\tNFSERR_ISDIR = 21,\n\tNFSERR_INVAL = 22,\n\tNFSERR_FBIG = 27,\n\tNFSERR_NOSPC = 28,\n\tNFSERR_ROFS = 30,\n\tNFSERR_MLINK = 31,\n\tNFSERR_NAMETOOLONG = 63,\n\tNFSERR_NOTEMPTY = 66,\n\tNFSERR_DQUOT = 69,\n\tNFSERR_STALE = 70,\n\tNFSERR_REMOTE = 71,\n\tNFSERR_WFLUSH = 99,\n\tNFSERR_BADHANDLE = 10001,\n\tNFSERR_NOT_SYNC = 10002,\n\tNFSERR_BAD_COOKIE = 10003,\n\tNFSERR_NOTSUPP = 10004,\n\tNFSERR_TOOSMALL = 10005,\n\tNFSERR_SERVERFAULT = 10006,\n\tNFSERR_BADTYPE = 10007,\n\tNFSERR_JUKEBOX = 10008,\n\tNFSERR_SAME = 10009,\n\tNFSERR_DENIED = 10010,\n\tNFSERR_EXPIRED = 10011,\n\tNFSERR_LOCKED = 10012,\n\tNFSERR_GRACE = 10013,\n\tNFSERR_FHEXPIRED = 10014,\n\tNFSERR_SHARE_DENIED = 10015,\n\tNFSERR_WRONGSEC = 10016,\n\tNFSERR_CLID_INUSE = 10017,\n\tNFSERR_RESOURCE = 10018,\n\tNFSERR_MOVED = 10019,\n\tNFSERR_NOFILEHANDLE = 10020,\n\tNFSERR_MINOR_VERS_MISMATCH = 10021,\n\tNFSERR_STALE_CLIENTID = 10022,\n\tNFSERR_STALE_STATEID = 10023,\n\tNFSERR_OLD_STATEID = 10024,\n\tNFSERR_BAD_STATEID = 10025,\n\tNFSERR_BAD_SEQID = 10026,\n\tNFSERR_NOT_SAME = 10027,\n\tNFSERR_LOCK_RANGE = 10028,\n\tNFSERR_SYMLINK = 10029,\n\tNFSERR_RESTOREFH = 10030,\n\tNFSERR_LEASE_MOVED = 10031,\n\tNFSERR_ATTRNOTSUPP = 10032,\n\tNFSERR_NO_GRACE = 10033,\n\tNFSERR_RECLAIM_BAD = 10034,\n\tNFSERR_RECLAIM_CONFLICT = 10035,\n\tNFSERR_BAD_XDR = 10036,\n\tNFSERR_LOCKS_HELD = 10037,\n\tNFSERR_OPENMODE = 10038,\n\tNFSERR_BADOWNER = 10039,\n\tNFSERR_BADCHAR = 10040,\n\tNFSERR_BADNAME = 10041,\n\tNFSERR_BAD_RANGE = 10042,\n\tNFSERR_LOCK_NOTSUPP = 10043,\n\tNFSERR_OP_ILLEGAL = 10044,\n\tNFSERR_DEADLOCK = 10045,\n\tNFSERR_FILE_OPEN = 10046,\n\tNFSERR_ADMIN_REVOKED = 10047,\n\tNFSERR_CB_PATH_DOWN = 10048,\n};\n\nenum nfs_stat_bytecounters {\n\tNFSIOS_NORMALREADBYTES = 0,\n\tNFSIOS_NORMALWRITTENBYTES = 1,\n\tNFSIOS_DIRECTREADBYTES = 2,\n\tNFSIOS_DIRECTWRITTENBYTES = 3,\n\tNFSIOS_SERVERREADBYTES = 4,\n\tNFSIOS_SERVERWRITTENBYTES = 5,\n\tNFSIOS_READPAGES = 6,\n\tNFSIOS_WRITEPAGES = 7,\n\t__NFSIOS_BYTESMAX = 8,\n};\n\nenum nfs_stat_eventcounters {\n\tNFSIOS_INODEREVALIDATE = 0,\n\tNFSIOS_DENTRYREVALIDATE = 1,\n\tNFSIOS_DATAINVALIDATE = 2,\n\tNFSIOS_ATTRINVALIDATE = 3,\n\tNFSIOS_VFSOPEN = 4,\n\tNFSIOS_VFSLOOKUP = 5,\n\tNFSIOS_VFSACCESS = 6,\n\tNFSIOS_VFSUPDATEPAGE = 7,\n\tNFSIOS_VFSREADPAGE = 8,\n\tNFSIOS_VFSREADPAGES = 9,\n\tNFSIOS_VFSWRITEPAGE = 10,\n\tNFSIOS_VFSWRITEPAGES = 11,\n\tNFSIOS_VFSGETDENTS = 12,\n\tNFSIOS_VFSSETATTR = 13,\n\tNFSIOS_VFSFLUSH = 14,\n\tNFSIOS_VFSFSYNC = 15,\n\tNFSIOS_VFSLOCK = 16,\n\tNFSIOS_VFSRELEASE = 17,\n\tNFSIOS_CONGESTIONWAIT = 18,\n\tNFSIOS_SETATTRTRUNC = 19,\n\tNFSIOS_EXTENDWRITE = 20,\n\tNFSIOS_SILLYRENAME = 21,\n\tNFSIOS_SHORTREAD = 22,\n\tNFSIOS_SHORTWRITE = 23,\n\tNFSIOS_DELAY = 24,\n\tNFSIOS_PNFS_READ = 25,\n\tNFSIOS_PNFS_WRITE = 26,\n\t__NFSIOS_COUNTSMAX = 27,\n};\n\nenum nfsstat4 {\n\tNFS4_OK = 0,\n\tNFS4ERR_PERM = 1,\n\tNFS4ERR_NOENT = 2,\n\tNFS4ERR_IO = 5,\n\tNFS4ERR_NXIO = 6,\n\tNFS4ERR_ACCESS = 13,\n\tNFS4ERR_EXIST = 17,\n\tNFS4ERR_XDEV = 18,\n\tNFS4ERR_NOTDIR = 20,\n\tNFS4ERR_ISDIR = 21,\n\tNFS4ERR_INVAL = 22,\n\tNFS4ERR_FBIG = 27,\n\tNFS4ERR_NOSPC = 28,\n\tNFS4ERR_ROFS = 30,\n\tNFS4ERR_MLINK = 31,\n\tNFS4ERR_NAMETOOLONG = 63,\n\tNFS4ERR_NOTEMPTY = 66,\n\tNFS4ERR_DQUOT = 69,\n\tNFS4ERR_STALE = 70,\n\tNFS4ERR_BADHANDLE = 10001,\n\tNFS4ERR_BAD_COOKIE = 10003,\n\tNFS4ERR_NOTSUPP = 10004,\n\tNFS4ERR_TOOSMALL = 10005,\n\tNFS4ERR_SERVERFAULT = 10006,\n\tNFS4ERR_BADTYPE = 10007,\n\tNFS4ERR_DELAY = 10008,\n\tNFS4ERR_SAME = 10009,\n\tNFS4ERR_DENIED = 10010,\n\tNFS4ERR_EXPIRED = 10011,\n\tNFS4ERR_LOCKED = 10012,\n\tNFS4ERR_GRACE = 10013,\n\tNFS4ERR_FHEXPIRED = 10014,\n\tNFS4ERR_SHARE_DENIED = 10015,\n\tNFS4ERR_WRONGSEC = 10016,\n\tNFS4ERR_CLID_INUSE = 10017,\n\tNFS4ERR_RESOURCE = 10018,\n\tNFS4ERR_MOVED = 10019,\n\tNFS4ERR_NOFILEHANDLE = 10020,\n\tNFS4ERR_MINOR_VERS_MISMATCH = 10021,\n\tNFS4ERR_STALE_CLIENTID = 10022,\n\tNFS4ERR_STALE_STATEID = 10023,\n\tNFS4ERR_OLD_STATEID = 10024,\n\tNFS4ERR_BAD_STATEID = 10025,\n\tNFS4ERR_BAD_SEQID = 10026,\n\tNFS4ERR_NOT_SAME = 10027,\n\tNFS4ERR_LOCK_RANGE = 10028,\n\tNFS4ERR_SYMLINK = 10029,\n\tNFS4ERR_RESTOREFH = 10030,\n\tNFS4ERR_LEASE_MOVED = 10031,\n\tNFS4ERR_ATTRNOTSUPP = 10032,\n\tNFS4ERR_NO_GRACE = 10033,\n\tNFS4ERR_RECLAIM_BAD = 10034,\n\tNFS4ERR_RECLAIM_CONFLICT = 10035,\n\tNFS4ERR_BADXDR = 10036,\n\tNFS4ERR_LOCKS_HELD = 10037,\n\tNFS4ERR_OPENMODE = 10038,\n\tNFS4ERR_BADOWNER = 10039,\n\tNFS4ERR_BADCHAR = 10040,\n\tNFS4ERR_BADNAME = 10041,\n\tNFS4ERR_BAD_RANGE = 10042,\n\tNFS4ERR_LOCK_NOTSUPP = 10043,\n\tNFS4ERR_OP_ILLEGAL = 10044,\n\tNFS4ERR_DEADLOCK = 10045,\n\tNFS4ERR_FILE_OPEN = 10046,\n\tNFS4ERR_ADMIN_REVOKED = 10047,\n\tNFS4ERR_CB_PATH_DOWN = 10048,\n\tNFS4ERR_BADIOMODE = 10049,\n\tNFS4ERR_BADLAYOUT = 10050,\n\tNFS4ERR_BAD_SESSION_DIGEST = 10051,\n\tNFS4ERR_BADSESSION = 10052,\n\tNFS4ERR_BADSLOT = 10053,\n\tNFS4ERR_COMPLETE_ALREADY = 10054,\n\tNFS4ERR_CONN_NOT_BOUND_TO_SESSION = 10055,\n\tNFS4ERR_DELEG_ALREADY_WANTED = 10056,\n\tNFS4ERR_BACK_CHAN_BUSY = 10057,\n\tNFS4ERR_LAYOUTTRYLATER = 10058,\n\tNFS4ERR_LAYOUTUNAVAILABLE = 10059,\n\tNFS4ERR_NOMATCHING_LAYOUT = 10060,\n\tNFS4ERR_RECALLCONFLICT = 10061,\n\tNFS4ERR_UNKNOWN_LAYOUTTYPE = 10062,\n\tNFS4ERR_SEQ_MISORDERED = 10063,\n\tNFS4ERR_SEQUENCE_POS = 10064,\n\tNFS4ERR_REQ_TOO_BIG = 10065,\n\tNFS4ERR_REP_TOO_BIG = 10066,\n\tNFS4ERR_REP_TOO_BIG_TO_CACHE = 10067,\n\tNFS4ERR_RETRY_UNCACHED_REP = 10068,\n\tNFS4ERR_UNSAFE_COMPOUND = 10069,\n\tNFS4ERR_TOO_MANY_OPS = 10070,\n\tNFS4ERR_OP_NOT_IN_SESSION = 10071,\n\tNFS4ERR_HASH_ALG_UNSUPP = 10072,\n\tNFS4ERR_CLIENTID_BUSY = 10074,\n\tNFS4ERR_PNFS_IO_HOLE = 10075,\n\tNFS4ERR_SEQ_FALSE_RETRY = 10076,\n\tNFS4ERR_BAD_HIGH_SLOT = 10077,\n\tNFS4ERR_DEADSESSION = 10078,\n\tNFS4ERR_ENCR_ALG_UNSUPP = 10079,\n\tNFS4ERR_PNFS_NO_LAYOUT = 10080,\n\tNFS4ERR_NOT_ONLY_OP = 10081,\n\tNFS4ERR_WRONG_CRED = 10082,\n\tNFS4ERR_WRONG_TYPE = 10083,\n\tNFS4ERR_DIRDELEG_UNAVAIL = 10084,\n\tNFS4ERR_REJECT_DELEG = 10085,\n\tNFS4ERR_RETURNCONFLICT = 10086,\n\tNFS4ERR_DELEG_REVOKED = 10087,\n\tNFS4ERR_PARTNER_NOTSUPP = 10088,\n\tNFS4ERR_PARTNER_NO_AUTH = 10089,\n\tNFS4ERR_UNION_NOTSUPP = 10090,\n\tNFS4ERR_OFFLOAD_DENIED = 10091,\n\tNFS4ERR_WRONG_LFS = 10092,\n\tNFS4ERR_BADLABEL = 10093,\n\tNFS4ERR_OFFLOAD_NO_REQS = 10094,\n\tNFS4ERR_NOXATTR = 10095,\n\tNFS4ERR_XATTR2BIG = 10096,\n\tNFS4ERR_FIRST_FREE = 10097,\n};\n\nenum nh_notifier_info_type {\n\tNH_NOTIFIER_INFO_TYPE_SINGLE = 0,\n\tNH_NOTIFIER_INFO_TYPE_GRP = 1,\n\tNH_NOTIFIER_INFO_TYPE_RES_TABLE = 2,\n\tNH_NOTIFIER_INFO_TYPE_RES_BUCKET = 3,\n\tNH_NOTIFIER_INFO_TYPE_GRP_HW_STATS = 4,\n};\n\nenum nla_policy_validation {\n\tNLA_VALIDATE_NONE = 0,\n\tNLA_VALIDATE_RANGE = 1,\n\tNLA_VALIDATE_RANGE_WARN_TOO_LONG = 2,\n\tNLA_VALIDATE_MIN = 3,\n\tNLA_VALIDATE_MAX = 4,\n\tNLA_VALIDATE_MASK = 5,\n\tNLA_VALIDATE_RANGE_PTR = 6,\n\tNLA_VALIDATE_FUNCTION = 7,\n};\n\nenum nlmsgerr_attrs {\n\tNLMSGERR_ATTR_UNUSED = 0,\n\tNLMSGERR_ATTR_MSG = 1,\n\tNLMSGERR_ATTR_OFFS = 2,\n\tNLMSGERR_ATTR_COOKIE = 3,\n\tNLMSGERR_ATTR_POLICY = 4,\n\tNLMSGERR_ATTR_MISS_TYPE = 5,\n\tNLMSGERR_ATTR_MISS_NEST = 6,\n\t__NLMSGERR_ATTR_MAX = 7,\n\tNLMSGERR_ATTR_MAX = 6,\n};\n\nenum node_stat_item {\n\tNR_LRU_BASE = 0,\n\tNR_INACTIVE_ANON = 0,\n\tNR_ACTIVE_ANON = 1,\n\tNR_INACTIVE_FILE = 2,\n\tNR_ACTIVE_FILE = 3,\n\tNR_UNEVICTABLE = 4,\n\tNR_SLAB_RECLAIMABLE_B = 5,\n\tNR_SLAB_UNRECLAIMABLE_B = 6,\n\tNR_ISOLATED_ANON = 7,\n\tNR_ISOLATED_FILE = 8,\n\tWORKINGSET_NODES = 9,\n\tWORKINGSET_REFAULT_BASE = 10,\n\tWORKINGSET_REFAULT_ANON = 10,\n\tWORKINGSET_REFAULT_FILE = 11,\n\tWORKINGSET_ACTIVATE_BASE = 12,\n\tWORKINGSET_ACTIVATE_ANON = 12,\n\tWORKINGSET_ACTIVATE_FILE = 13,\n\tWORKINGSET_RESTORE_BASE = 14,\n\tWORKINGSET_RESTORE_ANON = 14,\n\tWORKINGSET_RESTORE_FILE = 15,\n\tWORKINGSET_NODERECLAIM = 16,\n\tNR_ANON_MAPPED = 17,\n\tNR_FILE_MAPPED = 18,\n\tNR_FILE_PAGES = 19,\n\tNR_FILE_DIRTY = 20,\n\tNR_WRITEBACK = 21,\n\tNR_WRITEBACK_TEMP = 22,\n\tNR_SHMEM = 23,\n\tNR_SHMEM_THPS = 24,\n\tNR_SHMEM_PMDMAPPED = 25,\n\tNR_FILE_THPS = 26,\n\tNR_FILE_PMDMAPPED = 27,\n\tNR_ANON_THPS = 28,\n\tNR_VMSCAN_WRITE = 29,\n\tNR_VMSCAN_IMMEDIATE = 30,\n\tNR_DIRTIED = 31,\n\tNR_WRITTEN = 32,\n\tNR_THROTTLED_WRITTEN = 33,\n\tNR_KERNEL_MISC_RECLAIMABLE = 34,\n\tNR_FOLL_PIN_ACQUIRED = 35,\n\tNR_FOLL_PIN_RELEASED = 36,\n\tNR_KERNEL_STACK_KB = 37,\n\tNR_PAGETABLE = 38,\n\tNR_SECONDARY_PAGETABLE = 39,\n\tNR_IOMMU_PAGES = 40,\n\tNR_SWAPCACHE = 41,\n\tPGPROMOTE_SUCCESS = 42,\n\tPGPROMOTE_CANDIDATE = 43,\n\tPGDEMOTE_KSWAPD = 44,\n\tPGDEMOTE_DIRECT = 45,\n\tPGDEMOTE_KHUGEPAGED = 46,\n\tNR_HUGETLB = 47,\n\tNR_VM_NODE_STAT_ITEMS = 48,\n};\n\nenum node_states {\n\tN_POSSIBLE = 0,\n\tN_ONLINE = 1,\n\tN_NORMAL_MEMORY = 2,\n\tN_HIGH_MEMORY = 2,\n\tN_MEMORY = 3,\n\tN_CPU = 4,\n\tN_GENERIC_INITIATOR = 5,\n\tNR_NODE_STATES = 6,\n};\n\nenum notify_state {\n\tSECCOMP_NOTIFY_INIT = 0,\n\tSECCOMP_NOTIFY_SENT = 1,\n\tSECCOMP_NOTIFY_REPLIED = 2,\n};\n\nenum numa_faults_stats {\n\tNUMA_MEM = 0,\n\tNUMA_CPU = 1,\n\tNUMA_MEMBUF = 2,\n\tNUMA_CPUBUF = 3,\n};\n\nenum numa_stat_item {\n\tNUMA_HIT = 0,\n\tNUMA_MISS = 1,\n\tNUMA_FOREIGN = 2,\n\tNUMA_INTERLEAVE_HIT = 3,\n\tNUMA_LOCAL = 4,\n\tNUMA_OTHER = 5,\n\tNR_VM_NUMA_EVENT_ITEMS = 6,\n};\n\nenum numa_topology_type {\n\tNUMA_DIRECT = 0,\n\tNUMA_GLUELESS_MESH = 1,\n\tNUMA_BACKPLANE = 2,\n};\n\nenum numa_type {\n\tnode_has_spare = 0,\n\tnode_fully_busy = 1,\n\tnode_overloaded = 2,\n};\n\nenum numa_vmaskip_reason {\n\tNUMAB_SKIP_UNSUITABLE = 0,\n\tNUMAB_SKIP_SHARED_RO = 1,\n\tNUMAB_SKIP_INACCESSIBLE = 2,\n\tNUMAB_SKIP_SCAN_DELAY = 3,\n\tNUMAB_SKIP_PID_INACTIVE = 4,\n\tNUMAB_SKIP_IGNORE_PID = 5,\n\tNUMAB_SKIP_SEQ_COMPLETED = 6,\n};\n\nenum nvmem_type {\n\tNVMEM_TYPE_UNKNOWN = 0,\n\tNVMEM_TYPE_EEPROM = 1,\n\tNVMEM_TYPE_OTP = 2,\n\tNVMEM_TYPE_BATTERY_BACKED = 3,\n\tNVMEM_TYPE_FRAM = 4,\n};\n\nenum objext_flags {\n\tOBJEXTS_ALLOC_FAIL = 4,\n\t__NR_OBJEXTS_FLAGS = 8,\n};\n\nenum ocotp_devtype {\n\tIMX8QXP = 0,\n\tIMX8QM = 1,\n};\n\nenum of_gpio_flags {\n\tOF_GPIO_ACTIVE_LOW = 1,\n\tOF_GPIO_SINGLE_ENDED = 2,\n\tOF_GPIO_OPEN_DRAIN = 4,\n\tOF_GPIO_TRANSITORY = 8,\n\tOF_GPIO_PULL_UP = 16,\n\tOF_GPIO_PULL_DOWN = 32,\n\tOF_GPIO_PULL_DISABLE = 64,\n};\n\nenum of_reconfig_change {\n\tOF_RECONFIG_NO_CHANGE = 0,\n\tOF_RECONFIG_CHANGE_ADD = 1,\n\tOF_RECONFIG_CHANGE_REMOVE = 2,\n};\n\nenum offload_act_command {\n\tFLOW_ACT_REPLACE = 0,\n\tFLOW_ACT_DESTROY = 1,\n\tFLOW_ACT_STATS = 2,\n};\n\nenum ohci_rh_state {\n\tOHCI_RH_HALTED = 0,\n\tOHCI_RH_SUSPENDED = 1,\n\tOHCI_RH_RUNNING = 2,\n};\n\nenum oom_constraint {\n\tCONSTRAINT_NONE = 0,\n\tCONSTRAINT_CPUSET = 1,\n\tCONSTRAINT_MEMORY_POLICY = 2,\n\tCONSTRAINT_MEMCG = 3,\n};\n\nenum open_claim_type4 {\n\tNFS4_OPEN_CLAIM_NULL = 0,\n\tNFS4_OPEN_CLAIM_PREVIOUS = 1,\n\tNFS4_OPEN_CLAIM_DELEGATE_CUR = 2,\n\tNFS4_OPEN_CLAIM_DELEGATE_PREV = 3,\n\tNFS4_OPEN_CLAIM_FH = 4,\n\tNFS4_OPEN_CLAIM_DELEG_CUR_FH = 5,\n\tNFS4_OPEN_CLAIM_DELEG_PREV_FH = 6,\n};\n\nenum opentype4 {\n\tNFS4_OPEN_NOCREATE = 0,\n\tNFS4_OPEN_CREATE = 1,\n};\n\nenum opp_table_access {\n\tOPP_TABLE_ACCESS_UNKNOWN = 0,\n\tOPP_TABLE_ACCESS_EXCLUSIVE = 1,\n\tOPP_TABLE_ACCESS_SHARED = 2,\n};\n\nenum orion_ehci_phy_ver {\n\tEHCI_PHY_ORION = 0,\n\tEHCI_PHY_DD = 1,\n\tEHCI_PHY_KW = 2,\n\tEHCI_PHY_NA = 3,\n};\n\nenum orion_mdio_bus_type {\n\tBUS_TYPE_SMI = 0,\n\tBUS_TYPE_XSMI = 1,\n};\n\nenum orion_spi_type {\n\tORION_SPI = 0,\n\tARMADA_SPI = 1,\n};\n\nenum ospi_mux_select_type {\n\tPM_OSPI_MUX_SEL_DMA = 0,\n\tPM_OSPI_MUX_SEL_LINEAR = 1,\n};\n\nenum otg_fsm_timer {\n\tA_WAIT_VRISE = 0,\n\tA_WAIT_VFALL = 1,\n\tA_WAIT_BCON = 2,\n\tA_AIDL_BDIS = 3,\n\tB_ASE0_BRST = 4,\n\tA_BIDL_ADIS = 5,\n\tB_AIDL_BDIS = 6,\n\tB_SE0_SRP = 7,\n\tB_SRP_FAIL = 8,\n\tA_WAIT_ENUM = 9,\n\tB_DATA_PLS = 10,\n\tB_SSEND_SRP = 11,\n\tNUM_OTG_FSM_TIMERS = 12,\n};\n\nenum owl_dma_id {\n\tS900_DMA = 0,\n\tS700_DMA = 1,\n};\n\nenum owl_dmadesc_offsets {\n\tOWL_DMADESC_NEXT_LLI = 0,\n\tOWL_DMADESC_SADDR = 1,\n\tOWL_DMADESC_DADDR = 2,\n\tOWL_DMADESC_FLEN = 3,\n\tOWL_DMADESC_SRC_STRIDE = 4,\n\tOWL_DMADESC_DST_STRIDE = 5,\n\tOWL_DMADESC_CTRLA = 6,\n\tOWL_DMADESC_CTRLB = 7,\n\tOWL_DMADESC_CONST_NUM = 8,\n\tOWL_DMADESC_SIZE = 9,\n};\n\nenum owl_pinconf_drv {\n\tOWL_PINCONF_DRV_2MA = 0,\n\tOWL_PINCONF_DRV_4MA = 1,\n\tOWL_PINCONF_DRV_8MA = 2,\n\tOWL_PINCONF_DRV_12MA = 3,\n};\n\nenum owner_state {\n\tOWNER_NULL = 1,\n\tOWNER_WRITER = 2,\n\tOWNER_READER = 4,\n\tOWNER_NONSPINNABLE = 8,\n};\n\nenum p9_cache_bits {\n\tCACHE_NONE = 0,\n\tCACHE_FILE = 1,\n\tCACHE_META = 2,\n\tCACHE_WRITEBACK = 4,\n\tCACHE_LOOSE = 8,\n\tCACHE_FSCACHE = 128,\n};\n\nenum p9_cache_shortcuts {\n\tCACHE_SC_NONE = 0,\n\tCACHE_SC_READAHEAD = 1,\n\tCACHE_SC_MMAP = 5,\n\tCACHE_SC_LOOSE = 15,\n\tCACHE_SC_FSCACHE = 143,\n};\n\nenum p9_fid_reftype {\n\tP9_FID_REF_CREATE = 0,\n\tP9_FID_REF_GET = 1,\n\tP9_FID_REF_PUT = 2,\n\tP9_FID_REF_DESTROY = 3,\n} __attribute__((mode(byte)));\n\nenum p9_msg_t {\n\tP9_TLERROR = 6,\n\tP9_RLERROR = 7,\n\tP9_TSTATFS = 8,\n\tP9_RSTATFS = 9,\n\tP9_TLOPEN = 12,\n\tP9_RLOPEN = 13,\n\tP9_TLCREATE = 14,\n\tP9_RLCREATE = 15,\n\tP9_TSYMLINK = 16,\n\tP9_RSYMLINK = 17,\n\tP9_TMKNOD = 18,\n\tP9_RMKNOD = 19,\n\tP9_TRENAME = 20,\n\tP9_RRENAME = 21,\n\tP9_TREADLINK = 22,\n\tP9_RREADLINK = 23,\n\tP9_TGETATTR = 24,\n\tP9_RGETATTR = 25,\n\tP9_TSETATTR = 26,\n\tP9_RSETATTR = 27,\n\tP9_TXATTRWALK = 30,\n\tP9_RXATTRWALK = 31,\n\tP9_TXATTRCREATE = 32,\n\tP9_RXATTRCREATE = 33,\n\tP9_TREADDIR = 40,\n\tP9_RREADDIR = 41,\n\tP9_TFSYNC = 50,\n\tP9_RFSYNC = 51,\n\tP9_TLOCK = 52,\n\tP9_RLOCK = 53,\n\tP9_TGETLOCK = 54,\n\tP9_RGETLOCK = 55,\n\tP9_TLINK = 70,\n\tP9_RLINK = 71,\n\tP9_TMKDIR = 72,\n\tP9_RMKDIR = 73,\n\tP9_TRENAMEAT = 74,\n\tP9_RRENAMEAT = 75,\n\tP9_TUNLINKAT = 76,\n\tP9_RUNLINKAT = 77,\n\tP9_TVERSION = 100,\n\tP9_RVERSION = 101,\n\tP9_TAUTH = 102,\n\tP9_RAUTH = 103,\n\tP9_TATTACH = 104,\n\tP9_RATTACH = 105,\n\tP9_TERROR = 106,\n\tP9_RERROR = 107,\n\tP9_TFLUSH = 108,\n\tP9_RFLUSH = 109,\n\tP9_TWALK = 110,\n\tP9_RWALK = 111,\n\tP9_TOPEN = 112,\n\tP9_ROPEN = 113,\n\tP9_TCREATE = 114,\n\tP9_RCREATE = 115,\n\tP9_TREAD = 116,\n\tP9_RREAD = 117,\n\tP9_TWRITE = 118,\n\tP9_RWRITE = 119,\n\tP9_TCLUNK = 120,\n\tP9_RCLUNK = 121,\n\tP9_TREMOVE = 122,\n\tP9_RREMOVE = 123,\n\tP9_TSTAT = 124,\n\tP9_RSTAT = 125,\n\tP9_TWSTAT = 126,\n\tP9_RWSTAT = 127,\n};\n\nenum p9_open_mode_t {\n\tP9_OREAD = 0,\n\tP9_OWRITE = 1,\n\tP9_ORDWR = 2,\n\tP9_OEXEC = 3,\n\tP9_OTRUNC = 16,\n\tP9_OREXEC = 32,\n\tP9_ORCLOSE = 64,\n\tP9_OAPPEND = 128,\n\tP9_OEXCL = 4096,\n\tP9L_MODE_MASK = 8191,\n\tP9L_DIRECT = 8192,\n\tP9L_NOWRITECACHE = 16384,\n\tP9L_LOOSE = 32768,\n};\n\nenum p9_perm_t {\n\tP9_DMDIR = 2147483648,\n\tP9_DMAPPEND = 1073741824,\n\tP9_DMEXCL = 536870912,\n\tP9_DMMOUNT = 268435456,\n\tP9_DMAUTH = 134217728,\n\tP9_DMTMP = 67108864,\n\tP9_DMSYMLINK = 33554432,\n\tP9_DMLINK = 16777216,\n\tP9_DMDEVICE = 8388608,\n\tP9_DMNAMEDPIPE = 2097152,\n\tP9_DMSOCKET = 1048576,\n\tP9_DMSETUID = 524288,\n\tP9_DMSETGID = 262144,\n\tP9_DMSETVTX = 65536,\n};\n\nenum p9_proto_versions {\n\tp9_proto_legacy = 0,\n\tp9_proto_2000u = 1,\n\tp9_proto_2000L = 2,\n};\n\nenum p9_req_status_t {\n\tREQ_STATUS_ALLOC = 0,\n\tREQ_STATUS_UNSENT = 1,\n\tREQ_STATUS_SENT = 2,\n\tREQ_STATUS_RCVD = 3,\n\tREQ_STATUS_FLSHD = 4,\n\tREQ_STATUS_ERROR = 5,\n};\n\nenum p9_session_flags {\n\tV9FS_PROTO_2000U = 1,\n\tV9FS_PROTO_2000L = 2,\n\tV9FS_ACCESS_SINGLE = 4,\n\tV9FS_ACCESS_USER = 8,\n\tV9FS_ACCESS_CLIENT = 16,\n\tV9FS_POSIX_ACL = 32,\n\tV9FS_NO_XATTR = 64,\n\tV9FS_IGNORE_QV = 128,\n\tV9FS_DIRECT_IO = 256,\n\tV9FS_SYNC = 512,\n};\n\nenum p9_trans_status {\n\tConnected = 0,\n\tBeginDisconnect = 1,\n\tDisconnected = 2,\n\tHung = 3,\n};\n\nenum packet_sock_flags {\n\tPACKET_SOCK_ORIGDEV = 0,\n\tPACKET_SOCK_AUXDATA = 1,\n\tPACKET_SOCK_TX_HAS_OFF = 2,\n\tPACKET_SOCK_TP_LOSS = 3,\n\tPACKET_SOCK_RUNNING = 4,\n\tPACKET_SOCK_PRESSURE = 5,\n\tPACKET_SOCK_QDISC_BYPASS = 6,\n};\n\nenum packing_op {\n\tPACK = 0,\n\tUNPACK = 1,\n};\n\nenum pad_func_e {\n\tIMX_SC_PAD_FUNC_SET = 15,\n\tIMX_SC_PAD_FUNC_GET = 16,\n};\n\nenum page_memcg_data_flags {\n\tMEMCG_DATA_OBJEXTS = 1,\n\tMEMCG_DATA_KMEM = 2,\n\t__NR_MEMCG_DATA_FLAGS = 4,\n};\n\nenum page_size_enum {\n\t__PAGE_SIZE = 4096,\n};\n\nenum page_walk_action {\n\tACTION_SUBTREE = 0,\n\tACTION_CONTINUE = 1,\n\tACTION_AGAIN = 2,\n};\n\nenum page_walk_lock {\n\tPGWALK_RDLOCK = 0,\n\tPGWALK_WRLOCK = 1,\n\tPGWALK_WRLOCK_VERIFY = 2,\n};\n\nenum pageblock_bits {\n\tPB_migrate = 0,\n\tPB_migrate_end = 2,\n\tPB_migrate_skip = 3,\n\tNR_PAGEBLOCK_BITS = 4,\n};\n\nenum pageflags {\n\tPG_locked = 0,\n\tPG_writeback = 1,\n\tPG_referenced = 2,\n\tPG_uptodate = 3,\n\tPG_dirty = 4,\n\tPG_lru = 5,\n\tPG_head = 6,\n\tPG_waiters = 7,\n\tPG_active = 8,\n\tPG_workingset = 9,\n\tPG_owner_priv_1 = 10,\n\tPG_owner_2 = 11,\n\tPG_arch_1 = 12,\n\tPG_reserved = 13,\n\tPG_private = 14,\n\tPG_private_2 = 15,\n\tPG_reclaim = 16,\n\tPG_swapbacked = 17,\n\tPG_unevictable = 18,\n\tPG_dropbehind = 19,\n\tPG_mlocked = 20,\n\tPG_hwpoison = 21,\n\tPG_arch_2 = 22,\n\tPG_arch_3 = 23,\n\t__NR_PAGEFLAGS = 24,\n\tPG_readahead = 16,\n\tPG_swapcache = 10,\n\tPG_checked = 10,\n\tPG_anon_exclusive = 11,\n\tPG_mappedtodisk = 11,\n\tPG_fscache = 15,\n\tPG_pinned = 10,\n\tPG_savepinned = 4,\n\tPG_foreign = 10,\n\tPG_xen_remapped = 10,\n\tPG_isolated = 16,\n\tPG_reported = 3,\n\tPG_vmemmap_self_hosted = 10,\n\tPG_has_hwpoisoned = 8,\n\tPG_large_rmappable = 9,\n\tPG_partially_mapped = 16,\n};\n\nenum pagetype {\n\tPGTY_buddy = 240,\n\tPGTY_offline = 241,\n\tPGTY_table = 242,\n\tPGTY_guard = 243,\n\tPGTY_hugetlb = 244,\n\tPGTY_slab = 245,\n\tPGTY_zsmalloc = 246,\n\tPGTY_unaccepted = 247,\n\tPGTY_mapcount_underflow = 255,\n};\n\nenum partition_cmd {\n\tpartcmd_enable = 0,\n\tpartcmd_enablei = 1,\n\tpartcmd_disable = 2,\n\tpartcmd_update = 3,\n\tpartcmd_invalidate = 4,\n};\n\nenum passtype {\n\tPASS_SCAN = 0,\n\tPASS_REVOKE = 1,\n\tPASS_REPLAY = 2,\n};\n\nenum pca9450_chip_type {\n\tPCA9450_TYPE_PCA9450A = 0,\n\tPCA9450_TYPE_PCA9450BC = 1,\n\tPCA9450_TYPE_PCA9451A = 2,\n\tPCA9450_TYPE_PCA9452 = 3,\n\tPCA9450_TYPE_AMOUNT = 4,\n};\n\nenum pca_type {\n\tmax_7356 = 0,\n\tmax_7357 = 1,\n\tmax_7358 = 2,\n\tmax_7367 = 3,\n\tmax_7368 = 4,\n\tmax_7369 = 5,\n\tpca_9540 = 6,\n\tpca_9542 = 7,\n\tpca_9543 = 8,\n\tpca_9544 = 9,\n\tpca_9545 = 10,\n\tpca_9546 = 11,\n\tpca_9547 = 12,\n\tpca_9548 = 13,\n\tpca_9846 = 14,\n\tpca_9847 = 15,\n\tpca_9848 = 16,\n\tpca_9849 = 17,\n};\n\nenum pce_status {\n\tPCE_STATUS_NONE = 0,\n\tPCE_STATUS_ACQUIRED = 1,\n\tPCE_STATUS_PREPARED = 2,\n\tPCE_STATUS_ENABLED = 3,\n\tPCE_STATUS_ERROR = 4,\n};\n\nenum pchg_state {\n\tPCHG_STATE_RESET = 0,\n\tPCHG_STATE_INITIALIZED = 1,\n\tPCHG_STATE_ENABLED = 2,\n\tPCHG_STATE_DETECTED = 3,\n\tPCHG_STATE_CHARGING = 4,\n\tPCHG_STATE_FULL = 5,\n\tPCHG_STATE_DOWNLOAD = 6,\n\tPCHG_STATE_DOWNLOADING = 7,\n\tPCHG_STATE_CONNECTED = 8,\n\tPCHG_STATE_COUNT = 9,\n};\n\nenum pci_bar_type {\n\tpci_bar_unknown = 0,\n\tpci_bar_io = 1,\n\tpci_bar_mem32 = 2,\n\tpci_bar_mem64 = 3,\n};\n\nenum pci_barno {\n\tNO_BAR = -1,\n\tBAR_0 = 0,\n\tBAR_1 = 1,\n\tBAR_2 = 2,\n\tBAR_3 = 3,\n\tBAR_4 = 4,\n\tBAR_5 = 5,\n};\n\nenum pci_board_num_t {\n\tpbn_default = 0,\n\tpbn_b0_1_115200 = 1,\n\tpbn_b0_2_115200 = 2,\n\tpbn_b0_4_115200 = 3,\n\tpbn_b0_5_115200 = 4,\n\tpbn_b0_8_115200 = 5,\n\tpbn_b0_1_921600 = 6,\n\tpbn_b0_2_921600 = 7,\n\tpbn_b0_4_921600 = 8,\n\tpbn_b0_2_1130000 = 9,\n\tpbn_b0_4_1152000 = 10,\n\tpbn_b0_4_1250000 = 11,\n\tpbn_b0_2_1843200 = 12,\n\tpbn_b0_4_1843200 = 13,\n\tpbn_b0_1_15625000 = 14,\n\tpbn_b0_bt_1_115200 = 15,\n\tpbn_b0_bt_2_115200 = 16,\n\tpbn_b0_bt_4_115200 = 17,\n\tpbn_b0_bt_8_115200 = 18,\n\tpbn_b0_bt_1_460800 = 19,\n\tpbn_b0_bt_2_460800 = 20,\n\tpbn_b0_bt_4_460800 = 21,\n\tpbn_b0_bt_1_921600 = 22,\n\tpbn_b0_bt_2_921600 = 23,\n\tpbn_b0_bt_4_921600 = 24,\n\tpbn_b0_bt_8_921600 = 25,\n\tpbn_b1_1_115200 = 26,\n\tpbn_b1_2_115200 = 27,\n\tpbn_b1_4_115200 = 28,\n\tpbn_b1_8_115200 = 29,\n\tpbn_b1_16_115200 = 30,\n\tpbn_b1_1_921600 = 31,\n\tpbn_b1_2_921600 = 32,\n\tpbn_b1_4_921600 = 33,\n\tpbn_b1_8_921600 = 34,\n\tpbn_b1_2_1250000 = 35,\n\tpbn_b1_bt_1_115200 = 36,\n\tpbn_b1_bt_2_115200 = 37,\n\tpbn_b1_bt_4_115200 = 38,\n\tpbn_b1_bt_2_921600 = 39,\n\tpbn_b1_1_1382400 = 40,\n\tpbn_b1_2_1382400 = 41,\n\tpbn_b1_4_1382400 = 42,\n\tpbn_b1_8_1382400 = 43,\n\tpbn_b2_1_115200 = 44,\n\tpbn_b2_2_115200 = 45,\n\tpbn_b2_4_115200 = 46,\n\tpbn_b2_8_115200 = 47,\n\tpbn_b2_1_460800 = 48,\n\tpbn_b2_4_460800 = 49,\n\tpbn_b2_8_460800 = 50,\n\tpbn_b2_16_460800 = 51,\n\tpbn_b2_1_921600 = 52,\n\tpbn_b2_4_921600 = 53,\n\tpbn_b2_8_921600 = 54,\n\tpbn_b2_8_1152000 = 55,\n\tpbn_b2_bt_1_115200 = 56,\n\tpbn_b2_bt_2_115200 = 57,\n\tpbn_b2_bt_4_115200 = 58,\n\tpbn_b2_bt_2_921600 = 59,\n\tpbn_b2_bt_4_921600 = 60,\n\tpbn_b3_2_115200 = 61,\n\tpbn_b3_4_115200 = 62,\n\tpbn_b3_8_115200 = 63,\n\tpbn_b4_bt_2_921600 = 64,\n\tpbn_b4_bt_4_921600 = 65,\n\tpbn_b4_bt_8_921600 = 66,\n\tpbn_panacom = 67,\n\tpbn_panacom2 = 68,\n\tpbn_panacom4 = 69,\n\tpbn_plx_romulus = 70,\n\tpbn_oxsemi = 71,\n\tpbn_oxsemi_1_15625000 = 72,\n\tpbn_oxsemi_2_15625000 = 73,\n\tpbn_oxsemi_4_15625000 = 74,\n\tpbn_oxsemi_8_15625000 = 75,\n\tpbn_intel_i960 = 76,\n\tpbn_sgi_ioc3 = 77,\n\tpbn_computone_4 = 78,\n\tpbn_computone_6 = 79,\n\tpbn_computone_8 = 80,\n\tpbn_sbsxrsio = 81,\n\tpbn_pasemi_1682M = 82,\n\tpbn_ni8430_2 = 83,\n\tpbn_ni8430_4 = 84,\n\tpbn_ni8430_8 = 85,\n\tpbn_ni8430_16 = 86,\n\tpbn_ADDIDATA_PCIe_1_3906250 = 87,\n\tpbn_ADDIDATA_PCIe_2_3906250 = 88,\n\tpbn_ADDIDATA_PCIe_4_3906250 = 89,\n\tpbn_ADDIDATA_PCIe_8_3906250 = 90,\n\tpbn_ce4100_1_115200 = 91,\n\tpbn_omegapci = 92,\n\tpbn_NETMOS9900_2s_115200 = 93,\n\tpbn_brcm_trumanage = 94,\n\tpbn_fintek_4 = 95,\n\tpbn_fintek_8 = 96,\n\tpbn_fintek_12 = 97,\n\tpbn_fintek_F81504A = 98,\n\tpbn_fintek_F81508A = 99,\n\tpbn_fintek_F81512A = 100,\n\tpbn_wch382_2 = 101,\n\tpbn_wch384_4 = 102,\n\tpbn_wch384_8 = 103,\n\tpbn_sunix_pci_1s = 104,\n\tpbn_sunix_pci_2s = 105,\n\tpbn_sunix_pci_4s = 106,\n\tpbn_sunix_pci_8s = 107,\n\tpbn_sunix_pci_16s = 108,\n\tpbn_titan_1_4000000 = 109,\n\tpbn_titan_2_4000000 = 110,\n\tpbn_titan_4_4000000 = 111,\n\tpbn_titan_8_4000000 = 112,\n\tpbn_moxa_2 = 113,\n\tpbn_moxa_4 = 114,\n\tpbn_moxa_8 = 115,\n};\n\nenum pci_bus_flags {\n\tPCI_BUS_FLAGS_NO_MSI = 1,\n\tPCI_BUS_FLAGS_NO_MMRBC = 2,\n\tPCI_BUS_FLAGS_NO_AERSID = 4,\n\tPCI_BUS_FLAGS_NO_EXTCFG = 8,\n};\n\nenum pci_bus_speed {\n\tPCI_SPEED_33MHz = 0,\n\tPCI_SPEED_66MHz = 1,\n\tPCI_SPEED_66MHz_PCIX = 2,\n\tPCI_SPEED_100MHz_PCIX = 3,\n\tPCI_SPEED_133MHz_PCIX = 4,\n\tPCI_SPEED_66MHz_PCIX_ECC = 5,\n\tPCI_SPEED_100MHz_PCIX_ECC = 6,\n\tPCI_SPEED_133MHz_PCIX_ECC = 7,\n\tPCI_SPEED_66MHz_PCIX_266 = 9,\n\tPCI_SPEED_100MHz_PCIX_266 = 10,\n\tPCI_SPEED_133MHz_PCIX_266 = 11,\n\tAGP_UNKNOWN = 12,\n\tAGP_1X = 13,\n\tAGP_2X = 14,\n\tAGP_4X = 15,\n\tAGP_8X = 16,\n\tPCI_SPEED_66MHz_PCIX_533 = 17,\n\tPCI_SPEED_100MHz_PCIX_533 = 18,\n\tPCI_SPEED_133MHz_PCIX_533 = 19,\n\tPCIE_SPEED_2_5GT = 20,\n\tPCIE_SPEED_5_0GT = 21,\n\tPCIE_SPEED_8_0GT = 22,\n\tPCIE_SPEED_16_0GT = 23,\n\tPCIE_SPEED_32_0GT = 24,\n\tPCIE_SPEED_64_0GT = 25,\n\tPCI_SPEED_UNKNOWN = 255,\n};\n\nenum pci_dev_flags {\n\tPCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = 1,\n\tPCI_DEV_FLAGS_NO_D3 = 2,\n\tPCI_DEV_FLAGS_ASSIGNED = 4,\n\tPCI_DEV_FLAGS_ACS_ENABLED_QUIRK = 8,\n\tPCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = 32,\n\tPCI_DEV_FLAGS_NO_BUS_RESET = 64,\n\tPCI_DEV_FLAGS_NO_PM_RESET = 128,\n\tPCI_DEV_FLAGS_VPD_REF_F0 = 256,\n\tPCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = 512,\n\tPCI_DEV_FLAGS_NO_FLR_RESET = 1024,\n\tPCI_DEV_FLAGS_NO_RELAXED_ORDERING = 2048,\n\tPCI_DEV_FLAGS_HAS_MSI_MASKING = 4096,\n};\n\nenum pci_dev_reg_1 {\n\tPCI_Y2_PIG_ENA = -2147483648,\n\tPCI_Y2_DLL_DIS = 1073741824,\n\tPCI_SW_PWR_ON_RST = 1073741824,\n\tPCI_Y2_PHY2_COMA = 536870912,\n\tPCI_Y2_PHY1_COMA = 268435456,\n\tPCI_Y2_PHY2_POWD = 134217728,\n\tPCI_Y2_PHY1_POWD = 67108864,\n\tPCI_Y2_PME_LEGACY = 32768,\n\tPCI_PHY_LNK_TIM_MSK = 768,\n\tPCI_ENA_L1_EVENT = 128,\n\tPCI_ENA_GPHY_LNK = 64,\n\tPCI_FORCE_PEX_L1 = 32,\n};\n\nenum pci_dev_reg_2 {\n\tPCI_VPD_WR_THR = 4278190080,\n\tPCI_DEV_SEL = 16646144,\n\tPCI_VPD_ROM_SZ = 114688,\n\tPCI_PATCH_DIR = 3840,\n\tPCI_EXT_PATCHS = 240,\n\tPCI_EN_DUMMY_RD = 8,\n\tPCI_REV_DESC = 4,\n\tPCI_USEDATA64 = 1,\n};\n\nenum pci_dev_reg_3 {\n\tP_CLK_ASF_REGS_DIS = 262144,\n\tP_CLK_COR_REGS_D0_DIS = 131072,\n\tP_CLK_MACSEC_DIS = 131072,\n\tP_CLK_PCI_REGS_D0_DIS = 65536,\n\tP_CLK_COR_YTB_ARB_DIS = 32768,\n\tP_CLK_MAC_LNK1_D3_DIS = 16384,\n\tP_CLK_COR_LNK1_D0_DIS = 8192,\n\tP_CLK_MAC_LNK1_D0_DIS = 4096,\n\tP_CLK_COR_LNK1_D3_DIS = 2048,\n\tP_CLK_PCI_MST_ARB_DIS = 1024,\n\tP_CLK_COR_REGS_D3_DIS = 512,\n\tP_CLK_PCI_REGS_D3_DIS = 256,\n\tP_CLK_REF_LNK1_GM_DIS = 128,\n\tP_CLK_COR_LNK1_GM_DIS = 64,\n\tP_CLK_PCI_COMMON_DIS = 32,\n\tP_CLK_COR_COMMON_DIS = 16,\n\tP_CLK_PCI_LNK1_BMU_DIS = 8,\n\tP_CLK_COR_LNK1_BMU_DIS = 4,\n\tP_CLK_PCI_LNK1_BIU_DIS = 2,\n\tP_CLK_COR_LNK1_BIU_DIS = 1,\n\tPCIE_OUR3_WOL_D3_COLD_SET = 406548,\n};\n\nenum pci_dev_reg_4 {\n\tP_PEX_LTSSM_STAT_MSK = 4261412864,\n\tP_PEX_LTSSM_L1_STAT = 52,\n\tP_PEX_LTSSM_DET_STAT = 1,\n\tP_TIMER_VALUE_MSK = 16711680,\n\tP_FORCE_ASPM_REQUEST = 32768,\n\tP_ASPM_GPHY_LINK_DOWN = 16384,\n\tP_ASPM_INT_FIFO_EMPTY = 8192,\n\tP_ASPM_CLKRUN_REQUEST = 4096,\n\tP_ASPM_FORCE_CLKREQ_ENA = 16,\n\tP_ASPM_CLKREQ_PAD_CTL = 8,\n\tP_ASPM_A1_MODE_SELECT = 4,\n\tP_CLK_GATE_PEX_UNIT_ENA = 2,\n\tP_CLK_GATE_ROOT_COR_ENA = 1,\n\tP_ASPM_CONTROL_MSK = 61440,\n};\n\nenum pci_dev_reg_5 {\n\tP_CTL_DIV_CORE_CLK_ENA = -2147483648,\n\tP_CTL_SRESET_VMAIN_AV = 1073741824,\n\tP_CTL_BYPASS_VMAIN_AV = 536870912,\n\tP_CTL_TIM_VMAIN_AV_MSK = 402653184,\n\tP_REL_PCIE_RST_DE_ASS = 67108864,\n\tP_REL_GPHY_REC_PACKET = 33554432,\n\tP_REL_INT_FIFO_N_EMPTY = 16777216,\n\tP_REL_MAIN_PWR_AVAIL = 8388608,\n\tP_REL_CLKRUN_REQ_REL = 4194304,\n\tP_REL_PCIE_RESET_ASS = 2097152,\n\tP_REL_PME_ASSERTED = 1048576,\n\tP_REL_PCIE_EXIT_L1_ST = 524288,\n\tP_REL_LOADER_NOT_FIN = 262144,\n\tP_REL_PCIE_RX_EX_IDLE = 131072,\n\tP_REL_GPHY_LINK_UP = 65536,\n\tP_GAT_PCIE_RST_ASSERTED = 1024,\n\tP_GAT_GPHY_N_REC_PACKET = 512,\n\tP_GAT_INT_FIFO_EMPTY = 256,\n\tP_GAT_MAIN_PWR_N_AVAIL = 128,\n\tP_GAT_CLKRUN_REQ_REL = 64,\n\tP_GAT_PCIE_RESET_ASS = 32,\n\tP_GAT_PME_DE_ASSERTED = 16,\n\tP_GAT_PCIE_ENTER_L1_ST = 8,\n\tP_GAT_LOADER_FINISHED = 4,\n\tP_GAT_PCIE_RX_EL_IDLE = 2,\n\tP_GAT_GPHY_LINK_DOWN = 1,\n\tPCIE_OUR5_EVENT_CLK_D3_SET = 50987786,\n};\n\nenum pci_epc_bar_type {\n\tBAR_PROGRAMMABLE = 0,\n\tBAR_FIXED = 1,\n\tBAR_RESERVED = 2,\n};\n\nenum pci_epc_interface_type {\n\tUNKNOWN_INTERFACE = -1,\n\tPRIMARY_INTERFACE = 0,\n\tSECONDARY_INTERFACE = 1,\n};\n\nenum pci_ers_result {\n\tPCI_ERS_RESULT_NONE = 1,\n\tPCI_ERS_RESULT_CAN_RECOVER = 2,\n\tPCI_ERS_RESULT_NEED_RESET = 3,\n\tPCI_ERS_RESULT_DISCONNECT = 4,\n\tPCI_ERS_RESULT_RECOVERED = 5,\n\tPCI_ERS_RESULT_NO_AER_DRIVER = 6,\n};\n\nenum pci_fixup_pass {\n\tpci_fixup_early = 0,\n\tpci_fixup_header = 1,\n\tpci_fixup_final = 2,\n\tpci_fixup_enable = 3,\n\tpci_fixup_resume = 4,\n\tpci_fixup_suspend = 5,\n\tpci_fixup_resume_early = 6,\n\tpci_fixup_suspend_late = 7,\n};\n\nenum pci_interrupt_pin {\n\tPCI_INTERRUPT_UNKNOWN = 0,\n\tPCI_INTERRUPT_INTA = 1,\n\tPCI_INTERRUPT_INTB = 2,\n\tPCI_INTERRUPT_INTC = 3,\n\tPCI_INTERRUPT_INTD = 4,\n};\n\nenum pci_mmap_api {\n\tPCI_MMAP_SYSFS = 0,\n\tPCI_MMAP_PROCFS = 1,\n};\n\nenum pci_mmap_state {\n\tpci_mmap_io = 0,\n\tpci_mmap_mem = 1,\n};\n\nenum pci_p2pdma_map_type {\n\tPCI_P2PDMA_MAP_UNKNOWN = 0,\n\tPCI_P2PDMA_MAP_NOT_SUPPORTED = 1,\n\tPCI_P2PDMA_MAP_BUS_ADDR = 2,\n\tPCI_P2PDMA_MAP_THRU_HOST_BRIDGE = 3,\n};\n\nenum pcie_bus_config_types {\n\tPCIE_BUS_TUNE_OFF = 0,\n\tPCIE_BUS_DEFAULT = 1,\n\tPCIE_BUS_SAFE = 2,\n\tPCIE_BUS_PERFORMANCE = 3,\n\tPCIE_BUS_PEER2PEER = 4,\n};\n\nenum pcie_kirin_phy_type {\n\tPCIE_KIRIN_INTERNAL_PHY = 0,\n\tPCIE_KIRIN_EXTERNAL_PHY = 1,\n};\n\nenum pcie_link_width {\n\tPCIE_LNK_WIDTH_RESRV = 0,\n\tPCIE_LNK_X1 = 1,\n\tPCIE_LNK_X2 = 2,\n\tPCIE_LNK_X4 = 4,\n\tPCIE_LNK_X8 = 8,\n\tPCIE_LNK_X12 = 12,\n\tPCIE_LNK_X16 = 16,\n\tPCIE_LNK_X32 = 32,\n\tPCIE_LNK_WIDTH_UNKNOWN = 255,\n};\n\nenum pcie_reset_state {\n\tpcie_deassert_reset = 1,\n\tpcie_warm_reset = 2,\n\tpcie_hot_reset = 3,\n};\n\nenum pcim_addr_devres_type {\n\tPCIM_ADDR_DEVRES_TYPE_INVALID = 0,\n\tPCIM_ADDR_DEVRES_TYPE_REGION = 1,\n\tPCIM_ADDR_DEVRES_TYPE_REGION_MAPPING = 2,\n\tPCIM_ADDR_DEVRES_TYPE_MAPPING = 3,\n};\n\nenum pcpu_fc {\n\tPCPU_FC_AUTO = 0,\n\tPCPU_FC_EMBED = 1,\n\tPCPU_FC_PAGE = 2,\n\tPCPU_FC_NR = 3,\n};\n\nenum pdc_irq_config_bits {\n\tPDC_LEVEL_LOW = 0,\n\tPDC_EDGE_FALLING = 2,\n\tPDC_LEVEL_HIGH = 4,\n\tPDC_EDGE_RISING = 6,\n\tPDC_EDGE_DUAL = 7,\n};\n\nenum pedit_cmd {\n\tTCA_PEDIT_KEY_EX_CMD_SET = 0,\n\tTCA_PEDIT_KEY_EX_CMD_ADD = 1,\n\t__PEDIT_CMD_MAX = 2,\n};\n\nenum pedit_header_type {\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK = 0,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_ETH = 1,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_IP4 = 2,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_IP6 = 3,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_TCP = 4,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5,\n\t__PEDIT_HDR_TYPE_MAX = 6,\n};\n\nenum perf_addr_filter_action_t {\n\tPERF_ADDR_FILTER_ACTION_STOP = 0,\n\tPERF_ADDR_FILTER_ACTION_START = 1,\n\tPERF_ADDR_FILTER_ACTION_FILTER = 2,\n};\n\nenum perf_bpf_event_type {\n\tPERF_BPF_EVENT_UNKNOWN = 0,\n\tPERF_BPF_EVENT_PROG_LOAD = 1,\n\tPERF_BPF_EVENT_PROG_UNLOAD = 2,\n\tPERF_BPF_EVENT_MAX = 3,\n};\n\nenum perf_branch_sample_type {\n\tPERF_SAMPLE_BRANCH_USER = 1,\n\tPERF_SAMPLE_BRANCH_KERNEL = 2,\n\tPERF_SAMPLE_BRANCH_HV = 4,\n\tPERF_SAMPLE_BRANCH_ANY = 8,\n\tPERF_SAMPLE_BRANCH_ANY_CALL = 16,\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 32,\n\tPERF_SAMPLE_BRANCH_IND_CALL = 64,\n\tPERF_SAMPLE_BRANCH_ABORT_TX = 128,\n\tPERF_SAMPLE_BRANCH_IN_TX = 256,\n\tPERF_SAMPLE_BRANCH_NO_TX = 512,\n\tPERF_SAMPLE_BRANCH_COND = 1024,\n\tPERF_SAMPLE_BRANCH_CALL_STACK = 2048,\n\tPERF_SAMPLE_BRANCH_IND_JUMP = 4096,\n\tPERF_SAMPLE_BRANCH_CALL = 8192,\n\tPERF_SAMPLE_BRANCH_NO_FLAGS = 16384,\n\tPERF_SAMPLE_BRANCH_NO_CYCLES = 32768,\n\tPERF_SAMPLE_BRANCH_TYPE_SAVE = 65536,\n\tPERF_SAMPLE_BRANCH_HW_INDEX = 131072,\n\tPERF_SAMPLE_BRANCH_PRIV_SAVE = 262144,\n\tPERF_SAMPLE_BRANCH_COUNTERS = 524288,\n\tPERF_SAMPLE_BRANCH_MAX = 1048576,\n};\n\nenum perf_branch_sample_type_shift {\n\tPERF_SAMPLE_BRANCH_USER_SHIFT = 0,\n\tPERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1,\n\tPERF_SAMPLE_BRANCH_HV_SHIFT = 2,\n\tPERF_SAMPLE_BRANCH_ANY_SHIFT = 3,\n\tPERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4,\n\tPERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5,\n\tPERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6,\n\tPERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7,\n\tPERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8,\n\tPERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9,\n\tPERF_SAMPLE_BRANCH_COND_SHIFT = 10,\n\tPERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11,\n\tPERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12,\n\tPERF_SAMPLE_BRANCH_CALL_SHIFT = 13,\n\tPERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14,\n\tPERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15,\n\tPERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16,\n\tPERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17,\n\tPERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18,\n\tPERF_SAMPLE_BRANCH_COUNTERS_SHIFT = 19,\n\tPERF_SAMPLE_BRANCH_MAX_SHIFT = 20,\n};\n\nenum perf_callchain_context {\n\tPERF_CONTEXT_HV = 18446744073709551584ULL,\n\tPERF_CONTEXT_KERNEL = 18446744073709551488ULL,\n\tPERF_CONTEXT_USER = 18446744073709551104ULL,\n\tPERF_CONTEXT_GUEST = 18446744073709549568ULL,\n\tPERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL,\n\tPERF_CONTEXT_GUEST_USER = 18446744073709549056ULL,\n\tPERF_CONTEXT_MAX = 18446744073709547521ULL,\n};\n\nenum perf_event_arm_regs {\n\tPERF_REG_ARM64_X0 = 0,\n\tPERF_REG_ARM64_X1 = 1,\n\tPERF_REG_ARM64_X2 = 2,\n\tPERF_REG_ARM64_X3 = 3,\n\tPERF_REG_ARM64_X4 = 4,\n\tPERF_REG_ARM64_X5 = 5,\n\tPERF_REG_ARM64_X6 = 6,\n\tPERF_REG_ARM64_X7 = 7,\n\tPERF_REG_ARM64_X8 = 8,\n\tPERF_REG_ARM64_X9 = 9,\n\tPERF_REG_ARM64_X10 = 10,\n\tPERF_REG_ARM64_X11 = 11,\n\tPERF_REG_ARM64_X12 = 12,\n\tPERF_REG_ARM64_X13 = 13,\n\tPERF_REG_ARM64_X14 = 14,\n\tPERF_REG_ARM64_X15 = 15,\n\tPERF_REG_ARM64_X16 = 16,\n\tPERF_REG_ARM64_X17 = 17,\n\tPERF_REG_ARM64_X18 = 18,\n\tPERF_REG_ARM64_X19 = 19,\n\tPERF_REG_ARM64_X20 = 20,\n\tPERF_REG_ARM64_X21 = 21,\n\tPERF_REG_ARM64_X22 = 22,\n\tPERF_REG_ARM64_X23 = 23,\n\tPERF_REG_ARM64_X24 = 24,\n\tPERF_REG_ARM64_X25 = 25,\n\tPERF_REG_ARM64_X26 = 26,\n\tPERF_REG_ARM64_X27 = 27,\n\tPERF_REG_ARM64_X28 = 28,\n\tPERF_REG_ARM64_X29 = 29,\n\tPERF_REG_ARM64_LR = 30,\n\tPERF_REG_ARM64_SP = 31,\n\tPERF_REG_ARM64_PC = 32,\n\tPERF_REG_ARM64_MAX = 33,\n\tPERF_REG_ARM64_VG = 46,\n\tPERF_REG_ARM64_EXTENDED_MAX = 47,\n};\n\nenum perf_event_ioc_flags {\n\tPERF_IOC_FLAG_GROUP = 1,\n};\n\nenum perf_event_read_format {\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 1,\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 2,\n\tPERF_FORMAT_ID = 4,\n\tPERF_FORMAT_GROUP = 8,\n\tPERF_FORMAT_LOST = 16,\n\tPERF_FORMAT_MAX = 32,\n};\n\nenum perf_event_sample_format {\n\tPERF_SAMPLE_IP = 1,\n\tPERF_SAMPLE_TID = 2,\n\tPERF_SAMPLE_TIME = 4,\n\tPERF_SAMPLE_ADDR = 8,\n\tPERF_SAMPLE_READ = 16,\n\tPERF_SAMPLE_CALLCHAIN = 32,\n\tPERF_SAMPLE_ID = 64,\n\tPERF_SAMPLE_CPU = 128,\n\tPERF_SAMPLE_PERIOD = 256,\n\tPERF_SAMPLE_STREAM_ID = 512,\n\tPERF_SAMPLE_RAW = 1024,\n\tPERF_SAMPLE_BRANCH_STACK = 2048,\n\tPERF_SAMPLE_REGS_USER = 4096,\n\tPERF_SAMPLE_STACK_USER = 8192,\n\tPERF_SAMPLE_WEIGHT = 16384,\n\tPERF_SAMPLE_DATA_SRC = 32768,\n\tPERF_SAMPLE_IDENTIFIER = 65536,\n\tPERF_SAMPLE_TRANSACTION = 131072,\n\tPERF_SAMPLE_REGS_INTR = 262144,\n\tPERF_SAMPLE_PHYS_ADDR = 524288,\n\tPERF_SAMPLE_AUX = 1048576,\n\tPERF_SAMPLE_CGROUP = 2097152,\n\tPERF_SAMPLE_DATA_PAGE_SIZE = 4194304,\n\tPERF_SAMPLE_CODE_PAGE_SIZE = 8388608,\n\tPERF_SAMPLE_WEIGHT_STRUCT = 16777216,\n\tPERF_SAMPLE_MAX = 33554432,\n};\n\nenum perf_event_state {\n\tPERF_EVENT_STATE_DEAD = -4,\n\tPERF_EVENT_STATE_EXIT = -3,\n\tPERF_EVENT_STATE_ERROR = -2,\n\tPERF_EVENT_STATE_OFF = -1,\n\tPERF_EVENT_STATE_INACTIVE = 0,\n\tPERF_EVENT_STATE_ACTIVE = 1,\n};\n\nenum perf_event_task_context {\n\tperf_invalid_context = -1,\n\tperf_hw_context = 0,\n\tperf_sw_context = 1,\n\tperf_nr_task_contexts = 2,\n};\n\nenum perf_event_type {\n\tPERF_RECORD_MMAP = 1,\n\tPERF_RECORD_LOST = 2,\n\tPERF_RECORD_COMM = 3,\n\tPERF_RECORD_EXIT = 4,\n\tPERF_RECORD_THROTTLE = 5,\n\tPERF_RECORD_UNTHROTTLE = 6,\n\tPERF_RECORD_FORK = 7,\n\tPERF_RECORD_READ = 8,\n\tPERF_RECORD_SAMPLE = 9,\n\tPERF_RECORD_MMAP2 = 10,\n\tPERF_RECORD_AUX = 11,\n\tPERF_RECORD_ITRACE_START = 12,\n\tPERF_RECORD_LOST_SAMPLES = 13,\n\tPERF_RECORD_SWITCH = 14,\n\tPERF_RECORD_SWITCH_CPU_WIDE = 15,\n\tPERF_RECORD_NAMESPACES = 16,\n\tPERF_RECORD_KSYMBOL = 17,\n\tPERF_RECORD_BPF_EVENT = 18,\n\tPERF_RECORD_CGROUP = 19,\n\tPERF_RECORD_TEXT_POKE = 20,\n\tPERF_RECORD_AUX_OUTPUT_HW_ID = 21,\n\tPERF_RECORD_MAX = 22,\n};\n\nenum perf_hw_cache_id {\n\tPERF_COUNT_HW_CACHE_L1D = 0,\n\tPERF_COUNT_HW_CACHE_L1I = 1,\n\tPERF_COUNT_HW_CACHE_LL = 2,\n\tPERF_COUNT_HW_CACHE_DTLB = 3,\n\tPERF_COUNT_HW_CACHE_ITLB = 4,\n\tPERF_COUNT_HW_CACHE_BPU = 5,\n\tPERF_COUNT_HW_CACHE_NODE = 6,\n\tPERF_COUNT_HW_CACHE_MAX = 7,\n};\n\nenum perf_hw_cache_op_id {\n\tPERF_COUNT_HW_CACHE_OP_READ = 0,\n\tPERF_COUNT_HW_CACHE_OP_WRITE = 1,\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 2,\n\tPERF_COUNT_HW_CACHE_OP_MAX = 3,\n};\n\nenum perf_hw_cache_op_result_id {\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0,\n\tPERF_COUNT_HW_CACHE_RESULT_MISS = 1,\n\tPERF_COUNT_HW_CACHE_RESULT_MAX = 2,\n};\n\nenum perf_hw_id {\n\tPERF_COUNT_HW_CPU_CYCLES = 0,\n\tPERF_COUNT_HW_INSTRUCTIONS = 1,\n\tPERF_COUNT_HW_CACHE_REFERENCES = 2,\n\tPERF_COUNT_HW_CACHE_MISSES = 3,\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4,\n\tPERF_COUNT_HW_BRANCH_MISSES = 5,\n\tPERF_COUNT_HW_BUS_CYCLES = 6,\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7,\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8,\n\tPERF_COUNT_HW_REF_CPU_CYCLES = 9,\n\tPERF_COUNT_HW_MAX = 10,\n};\n\nenum perf_pmu_scope {\n\tPERF_PMU_SCOPE_NONE = 0,\n\tPERF_PMU_SCOPE_CORE = 1,\n\tPERF_PMU_SCOPE_DIE = 2,\n\tPERF_PMU_SCOPE_CLUSTER = 3,\n\tPERF_PMU_SCOPE_PKG = 4,\n\tPERF_PMU_SCOPE_SYS_WIDE = 5,\n\tPERF_PMU_MAX_SCOPE = 6,\n};\n\nenum perf_probe_config {\n\tPERF_PROBE_CONFIG_IS_RETPROBE = 1,\n\tPERF_UPROBE_REF_CTR_OFFSET_BITS = 32,\n\tPERF_UPROBE_REF_CTR_OFFSET_SHIFT = 32,\n};\n\nenum perf_record_ksymbol_type {\n\tPERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0,\n\tPERF_RECORD_KSYMBOL_TYPE_BPF = 1,\n\tPERF_RECORD_KSYMBOL_TYPE_OOL = 2,\n\tPERF_RECORD_KSYMBOL_TYPE_MAX = 3,\n};\n\nenum perf_sample_regs_abi {\n\tPERF_SAMPLE_REGS_ABI_NONE = 0,\n\tPERF_SAMPLE_REGS_ABI_32 = 1,\n\tPERF_SAMPLE_REGS_ABI_64 = 2,\n};\n\nenum perf_sw_ids {\n\tPERF_COUNT_SW_CPU_CLOCK = 0,\n\tPERF_COUNT_SW_TASK_CLOCK = 1,\n\tPERF_COUNT_SW_PAGE_FAULTS = 2,\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 3,\n\tPERF_COUNT_SW_CPU_MIGRATIONS = 4,\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN = 5,\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 7,\n\tPERF_COUNT_SW_EMULATION_FAULTS = 8,\n\tPERF_COUNT_SW_DUMMY = 9,\n\tPERF_COUNT_SW_BPF_OUTPUT = 10,\n\tPERF_COUNT_SW_CGROUP_SWITCHES = 11,\n\tPERF_COUNT_SW_MAX = 12,\n};\n\nenum perf_type_id {\n\tPERF_TYPE_HARDWARE = 0,\n\tPERF_TYPE_SOFTWARE = 1,\n\tPERF_TYPE_TRACEPOINT = 2,\n\tPERF_TYPE_HW_CACHE = 3,\n\tPERF_TYPE_RAW = 4,\n\tPERF_TYPE_BREAKPOINT = 5,\n\tPERF_TYPE_MAX = 6,\n};\n\nenum pf8x00_buck_states {\n\tSW_CONFIG1 = 0,\n\tSW_CONFIG2 = 1,\n\tSW_PWRUP = 2,\n\tSW_MODE1 = 3,\n\tSW_RUN_VOLT = 4,\n\tSW_STBY_VOLT = 5,\n};\n\nenum pf8x00_devid {\n\tPF8100 = 0,\n\tPF8121A = 2,\n\tPF8200 = 8,\n};\n\nenum pf8x00_ldo_states {\n\tLDO_CONFIG1 = 0,\n\tLDO_CONFIG2 = 1,\n\tLDO_PWRUP = 2,\n\tLDO_RUN_VOLT = 3,\n\tLDO_STBY_VOLT = 4,\n};\n\nenum pf8x00_regulators {\n\tPF8X00_LDO1 = 0,\n\tPF8X00_LDO2 = 1,\n\tPF8X00_LDO3 = 2,\n\tPF8X00_LDO4 = 3,\n\tPF8X00_BUCK1 = 4,\n\tPF8X00_BUCK2 = 5,\n\tPF8X00_BUCK3 = 6,\n\tPF8X00_BUCK4 = 7,\n\tPF8X00_BUCK5 = 8,\n\tPF8X00_BUCK6 = 9,\n\tPF8X00_BUCK7 = 10,\n\tPF8X00_VSNVS = 11,\n\tPF8X00_MAX_REGULATORS = 12,\n};\n\nenum pg_states {\n\tPG_STATE_OFF = 0,\n\tPG_STATE_ON = 1,\n\tPG_STATE_RUNNING = 2,\n};\n\nenum pgdat_flags {\n\tPGDAT_DIRTY = 0,\n\tPGDAT_WRITEBACK = 1,\n\tPGDAT_RECLAIM_LOCKED = 2,\n};\n\nenum pgt_entry {\n\tNORMAL_PMD = 0,\n\tHPAGE_PMD = 1,\n\tNORMAL_PUD = 2,\n\tHPAGE_PUD = 3,\n};\n\nenum phy_event {\n\tPHYE_LOSS_OF_SIGNAL = 0,\n\tPHYE_OOB_DONE = 1,\n\tPHYE_OOB_ERROR = 2,\n\tPHYE_SPINUP_HOLD = 3,\n\tPHYE_RESUME_TIMEOUT = 4,\n\tPHYE_SHUTDOWN = 5,\n\tPHY_NUM_EVENTS = 6,\n};\n\nenum phy_func {\n\tPHY_FUNC_NOP = 0,\n\tPHY_FUNC_LINK_RESET = 1,\n\tPHY_FUNC_HARD_RESET = 2,\n\tPHY_FUNC_DISABLE = 3,\n\tPHY_FUNC_CLEAR_ERROR_LOG = 5,\n\tPHY_FUNC_CLEAR_AFFIL = 6,\n\tPHY_FUNC_TX_SATA_PS_SIGNAL = 7,\n\tPHY_FUNC_RELEASE_SPINUP_HOLD = 16,\n\tPHY_FUNC_SET_LINK_RATE = 17,\n\tPHY_FUNC_GET_EVENTS = 18,\n};\n\nenum phy_led_modes {\n\tPHY_LED_ACTIVE_HIGH = 0,\n\tPHY_LED_ACTIVE_LOW = 1,\n\tPHY_LED_INACTIVE_HIGH_IMPEDANCE = 2,\n\t__PHY_LED_MODES_NUM = 3,\n};\n\nenum phy_media {\n\tPHY_MEDIA_DEFAULT = 0,\n\tPHY_MEDIA_SR = 1,\n\tPHY_MEDIA_DAC = 2,\n};\n\nenum phy_mode {\n\tPHY_MODE_INVALID = 0,\n\tPHY_MODE_USB_HOST = 1,\n\tPHY_MODE_USB_HOST_LS = 2,\n\tPHY_MODE_USB_HOST_FS = 3,\n\tPHY_MODE_USB_HOST_HS = 4,\n\tPHY_MODE_USB_HOST_SS = 5,\n\tPHY_MODE_USB_DEVICE = 6,\n\tPHY_MODE_USB_DEVICE_LS = 7,\n\tPHY_MODE_USB_DEVICE_FS = 8,\n\tPHY_MODE_USB_DEVICE_HS = 9,\n\tPHY_MODE_USB_DEVICE_SS = 10,\n\tPHY_MODE_USB_OTG = 11,\n\tPHY_MODE_UFS_HS_A = 12,\n\tPHY_MODE_UFS_HS_B = 13,\n\tPHY_MODE_PCIE = 14,\n\tPHY_MODE_ETHERNET = 15,\n\tPHY_MODE_MIPI_DPHY = 16,\n\tPHY_MODE_SATA = 17,\n\tPHY_MODE_LVDS = 18,\n\tPHY_MODE_DP = 19,\n};\n\nenum phy_reset_delays {\n\tPRE_DELAY = 0,\n\tPULSE = 1,\n\tPOST_DELAY = 2,\n\tDELAYS_NUM = 3,\n};\n\nenum phy_state {\n\tPHY_DOWN = 0,\n\tPHY_READY = 1,\n\tPHY_HALTED = 2,\n\tPHY_ERROR = 3,\n\tPHY_UP = 4,\n\tPHY_RUNNING = 5,\n\tPHY_NOLINK = 6,\n\tPHY_CABLETEST = 7,\n};\n\nenum phy_state_work {\n\tPHY_STATE_WORK_NONE = 0,\n\tPHY_STATE_WORK_ANEG = 1,\n\tPHY_STATE_WORK_SUSPEND = 2,\n};\n\nenum phy_tunable_id {\n\tETHTOOL_PHY_ID_UNSPEC = 0,\n\tETHTOOL_PHY_DOWNSHIFT = 1,\n\tETHTOOL_PHY_FAST_LINK_DOWN = 2,\n\tETHTOOL_PHY_EDPD = 3,\n\t__ETHTOOL_PHY_TUNABLE_COUNT = 4,\n};\n\nenum phy_upstream {\n\tPHY_UPSTREAM_MAC = 0,\n\tPHY_UPSTREAM_PHY = 1,\n};\n\nenum phylink_op_type {\n\tPHYLINK_NETDEV = 0,\n\tPHYLINK_DEV = 1,\n};\n\nenum pid_type {\n\tPIDTYPE_PID = 0,\n\tPIDTYPE_TGID = 1,\n\tPIDTYPE_PGID = 2,\n\tPIDTYPE_SID = 3,\n\tPIDTYPE_MAX = 4,\n};\n\nenum pidcg_event {\n\tPIDCG_MAX = 0,\n\tPIDCG_FORKFAIL = 1,\n\tNR_PIDCG_EVENTS = 2,\n};\n\nenum pin_config_param {\n\tPIN_CONFIG_BIAS_BUS_HOLD = 0,\n\tPIN_CONFIG_BIAS_DISABLE = 1,\n\tPIN_CONFIG_BIAS_HIGH_IMPEDANCE = 2,\n\tPIN_CONFIG_BIAS_PULL_DOWN = 3,\n\tPIN_CONFIG_BIAS_PULL_PIN_DEFAULT = 4,\n\tPIN_CONFIG_BIAS_PULL_UP = 5,\n\tPIN_CONFIG_DRIVE_OPEN_DRAIN = 6,\n\tPIN_CONFIG_DRIVE_OPEN_SOURCE = 7,\n\tPIN_CONFIG_DRIVE_PUSH_PULL = 8,\n\tPIN_CONFIG_DRIVE_STRENGTH = 9,\n\tPIN_CONFIG_DRIVE_STRENGTH_UA = 10,\n\tPIN_CONFIG_INPUT_DEBOUNCE = 11,\n\tPIN_CONFIG_INPUT_ENABLE = 12,\n\tPIN_CONFIG_INPUT_SCHMITT = 13,\n\tPIN_CONFIG_INPUT_SCHMITT_ENABLE = 14,\n\tPIN_CONFIG_INPUT_SCHMITT_UV = 15,\n\tPIN_CONFIG_MODE_LOW_POWER = 16,\n\tPIN_CONFIG_MODE_PWM = 17,\n\tPIN_CONFIG_OUTPUT = 18,\n\tPIN_CONFIG_OUTPUT_ENABLE = 19,\n\tPIN_CONFIG_OUTPUT_IMPEDANCE_OHMS = 20,\n\tPIN_CONFIG_PERSIST_STATE = 21,\n\tPIN_CONFIG_POWER_SOURCE = 22,\n\tPIN_CONFIG_SKEW_DELAY = 23,\n\tPIN_CONFIG_SLEEP_HARDWARE_STATE = 24,\n\tPIN_CONFIG_SLEW_RATE = 25,\n\tPIN_CONFIG_END = 127,\n\tPIN_CONFIG_MAX = 255,\n};\n\nenum pincfg_type {\n\tPINCFG_TYPE_FUNC = 0,\n\tPINCFG_TYPE_DAT = 1,\n\tPINCFG_TYPE_PUD = 2,\n\tPINCFG_TYPE_DRV = 3,\n\tPINCFG_TYPE_CON_PDN = 4,\n\tPINCFG_TYPE_PUD_PDN = 5,\n\tPINCFG_TYPE_NUM = 6,\n};\n\nenum pinctrl_map_type {\n\tPIN_MAP_TYPE_INVALID = 0,\n\tPIN_MAP_TYPE_DUMMY_STATE = 1,\n\tPIN_MAP_TYPE_MUX_GROUP = 2,\n\tPIN_MAP_TYPE_CONFIGS_PIN = 3,\n\tPIN_MAP_TYPE_CONFIGS_GROUP = 4,\n};\n\nenum pkcs7_actions {\n\tACT_pkcs7_check_content_type = 0,\n\tACT_pkcs7_extract_cert = 1,\n\tACT_pkcs7_note_OID = 2,\n\tACT_pkcs7_note_certificate_list = 3,\n\tACT_pkcs7_note_content = 4,\n\tACT_pkcs7_note_data = 5,\n\tACT_pkcs7_note_signed_info = 6,\n\tACT_pkcs7_note_signeddata_version = 7,\n\tACT_pkcs7_note_signerinfo_version = 8,\n\tACT_pkcs7_sig_note_authenticated_attr = 9,\n\tACT_pkcs7_sig_note_digest_algo = 10,\n\tACT_pkcs7_sig_note_issuer = 11,\n\tACT_pkcs7_sig_note_pkey_algo = 12,\n\tACT_pkcs7_sig_note_serial = 13,\n\tACT_pkcs7_sig_note_set_of_authattrs = 14,\n\tACT_pkcs7_sig_note_signature = 15,\n\tACT_pkcs7_sig_note_skid = 16,\n\tNR__pkcs7_actions = 17,\n};\n\nenum pkt_hash_types {\n\tPKT_HASH_TYPE_NONE = 0,\n\tPKT_HASH_TYPE_L2 = 1,\n\tPKT_HASH_TYPE_L3 = 2,\n\tPKT_HASH_TYPE_L4 = 3,\n};\n\nenum pkvm_component_id {\n\tPKVM_ID_HOST = 0,\n\tPKVM_ID_HYP = 1,\n\tPKVM_ID_FFA = 2,\n};\n\nenum pkvm_page_state {\n\tPKVM_PAGE_OWNED = 0,\n\tPKVM_PAGE_SHARED_OWNED = 1,\n\tPKVM_PAGE_SHARED_BORROWED = 2,\n\t__PKVM_PAGE_RESERVED = 3,\n\tPKVM_NOPAGE = 4,\n};\n\nenum pl011_rs485_tx_state {\n\tOFF___2 = 0,\n\tWAIT_AFTER_RTS___2 = 1,\n\tSEND___2 = 2,\n\tWAIT_AFTER_SEND___2 = 3,\n};\n\nenum pl330_byteswap {\n\tSWAP_NO = 0,\n\tSWAP_2 = 1,\n\tSWAP_4 = 2,\n\tSWAP_8 = 3,\n\tSWAP_16 = 4,\n};\n\nenum pl330_cachectrl {\n\tCCTRL0 = 0,\n\tCCTRL1 = 1,\n\tCCTRL2 = 2,\n\tCCTRL3 = 3,\n\tINVALID1 = 4,\n\tINVALID2 = 5,\n\tCCTRL6 = 6,\n\tCCTRL7 = 7,\n};\n\nenum pl330_cond {\n\tSINGLE = 0,\n\tBURST = 1,\n\tALWAYS = 2,\n};\n\nenum pl330_dmac_state {\n\tUNINIT___2 = 0,\n\tINIT = 1,\n\tDYING = 2,\n};\n\nenum pl330_op_err {\n\tPL330_ERR_NONE = 0,\n\tPL330_ERR_ABORT = 1,\n\tPL330_ERR_FAIL = 2,\n};\n\nenum pll_ctrl_bits {\n\tPLL_RESETB = 0,\n\tSSPLL_SUSPEND_EN = 1,\n\tPLL_SEQ_START = 2,\n\tPLL_LOCK = 3,\n};\n\nenum pll_mode {\n\tPLL_MODE_INT = 0,\n\tPLL_MODE_FRAC = 1,\n\tPLL_MODE_ERROR = 2,\n};\n\nenum pm_api_cb_id {\n\tPM_INIT_SUSPEND_CB = 30,\n\tPM_ACKNOWLEDGE_CB = 31,\n\tPM_NOTIFY_CB = 32,\n};\n\nenum pm_api_id {\n\tPM_API_FEATURES = 0,\n\tPM_GET_API_VERSION = 1,\n\tPM_REGISTER_NOTIFIER = 5,\n\tPM_FORCE_POWERDOWN = 8,\n\tPM_REQUEST_WAKEUP = 10,\n\tPM_SYSTEM_SHUTDOWN = 12,\n\tPM_REQUEST_NODE = 13,\n\tPM_RELEASE_NODE = 14,\n\tPM_SET_REQUIREMENT = 15,\n\tPM_RESET_ASSERT = 17,\n\tPM_RESET_GET_STATUS = 18,\n\tPM_MMIO_WRITE = 19,\n\tPM_MMIO_READ = 20,\n\tPM_PM_INIT_FINALIZE = 21,\n\tPM_FPGA_LOAD = 22,\n\tPM_FPGA_GET_STATUS = 23,\n\tPM_GET_CHIPID = 24,\n\tPM_SECURE_SHA = 26,\n\tPM_PINCTRL_REQUEST = 28,\n\tPM_PINCTRL_RELEASE = 29,\n\tPM_PINCTRL_SET_FUNCTION = 31,\n\tPM_PINCTRL_CONFIG_PARAM_GET = 32,\n\tPM_PINCTRL_CONFIG_PARAM_SET = 33,\n\tPM_IOCTL = 34,\n\tPM_QUERY_DATA = 35,\n\tPM_CLOCK_ENABLE = 36,\n\tPM_CLOCK_DISABLE = 37,\n\tPM_CLOCK_GETSTATE = 38,\n\tPM_CLOCK_SETDIVIDER = 39,\n\tPM_CLOCK_GETDIVIDER = 40,\n\tPM_CLOCK_SETPARENT = 43,\n\tPM_CLOCK_GETPARENT = 44,\n\tPM_FPGA_READ = 46,\n\tPM_SECURE_AES = 47,\n\tPM_EFUSE_ACCESS = 53,\n\tPM_FEATURE_CHECK = 63,\n};\n\nenum pm_feature_config_id {\n\tPM_FEATURE_INVALID = 0,\n\tPM_FEATURE_OVERTEMP_STATUS = 1,\n\tPM_FEATURE_OVERTEMP_VALUE = 2,\n\tPM_FEATURE_EXTWDT_STATUS = 3,\n\tPM_FEATURE_EXTWDT_VALUE = 4,\n};\n\nenum pm_gem_config_type {\n\tGEM_CONFIG_SGMII_MODE = 1,\n\tGEM_CONFIG_FIXED = 2,\n};\n\nenum pm_ioctl_id {\n\tIOCTL_GET_RPU_OPER_MODE = 0,\n\tIOCTL_SET_RPU_OPER_MODE = 1,\n\tIOCTL_RPU_BOOT_ADDR_CONFIG = 2,\n\tIOCTL_TCM_COMB_CONFIG = 3,\n\tIOCTL_SET_TAPDELAY_BYPASS = 4,\n\tIOCTL_SD_DLL_RESET = 6,\n\tIOCTL_SET_SD_TAPDELAY = 7,\n\tIOCTL_SET_PLL_FRAC_MODE = 8,\n\tIOCTL_GET_PLL_FRAC_MODE = 9,\n\tIOCTL_SET_PLL_FRAC_DATA = 10,\n\tIOCTL_GET_PLL_FRAC_DATA = 11,\n\tIOCTL_WRITE_GGS = 12,\n\tIOCTL_READ_GGS = 13,\n\tIOCTL_WRITE_PGGS = 14,\n\tIOCTL_READ_PGGS = 15,\n\tIOCTL_SET_BOOT_HEALTH_STATUS = 17,\n\tIOCTL_OSPI_MUX_SELECT = 21,\n\tIOCTL_REGISTER_SGI = 25,\n\tIOCTL_SET_FEATURE_CONFIG = 26,\n\tIOCTL_GET_FEATURE_CONFIG = 27,\n\tIOCTL_READ_REG = 28,\n\tIOCTL_SET_SD_CONFIG = 30,\n\tIOCTL_SET_GEM_CONFIG = 31,\n\tIOCTL_GET_QOS = 34,\n};\n\nenum pm_module_id {\n\tPM_MODULE_ID = 0,\n\tXPM_MODULE_ID = 2,\n\tXSEM_MODULE_ID = 3,\n\tTF_A_MODULE_ID = 10,\n};\n\nenum pm_node_id {\n\tNODE_SD_0 = 39,\n\tNODE_SD_1 = 40,\n};\n\nenum pm_pinctrl_bias_status {\n\tPM_PINCTRL_BIAS_DISABLE = 0,\n\tPM_PINCTRL_BIAS_ENABLE = 1,\n};\n\nenum pm_pinctrl_config_param {\n\tPM_PINCTRL_CONFIG_SLEW_RATE = 0,\n\tPM_PINCTRL_CONFIG_BIAS_STATUS = 1,\n\tPM_PINCTRL_CONFIG_PULL_CTRL = 2,\n\tPM_PINCTRL_CONFIG_SCHMITT_CMOS = 3,\n\tPM_PINCTRL_CONFIG_DRIVE_STRENGTH = 4,\n\tPM_PINCTRL_CONFIG_VOLTAGE_STATUS = 5,\n\tPM_PINCTRL_CONFIG_TRI_STATE = 6,\n\tPM_PINCTRL_CONFIG_MAX = 7,\n};\n\nenum pm_pinctrl_drive_strength {\n\tPM_PINCTRL_DRIVE_STRENGTH_2MA = 0,\n\tPM_PINCTRL_DRIVE_STRENGTH_4MA = 1,\n\tPM_PINCTRL_DRIVE_STRENGTH_8MA = 2,\n\tPM_PINCTRL_DRIVE_STRENGTH_12MA = 3,\n};\n\nenum pm_pinctrl_pull_ctrl {\n\tPM_PINCTRL_BIAS_PULL_DOWN = 0,\n\tPM_PINCTRL_BIAS_PULL_UP = 1,\n};\n\nenum pm_pinctrl_tri_state {\n\tPM_PINCTRL_TRI_STATE_DISABLE = 0,\n\tPM_PINCTRL_TRI_STATE_ENABLE = 1,\n};\n\nenum pm_qos_flags_status {\n\tPM_QOS_FLAGS_UNDEFINED = -1,\n\tPM_QOS_FLAGS_NONE = 0,\n\tPM_QOS_FLAGS_SOME = 1,\n\tPM_QOS_FLAGS_ALL = 2,\n};\n\nenum pm_qos_req_action {\n\tPM_QOS_ADD_REQ = 0,\n\tPM_QOS_UPDATE_REQ = 1,\n\tPM_QOS_REMOVE_REQ = 2,\n};\n\nenum pm_qos_type {\n\tPM_QOS_UNITIALIZED = 0,\n\tPM_QOS_MAX = 1,\n\tPM_QOS_MIN = 2,\n};\n\nenum pm_query_id {\n\tPM_QID_INVALID = 0,\n\tPM_QID_CLOCK_GET_NAME = 1,\n\tPM_QID_CLOCK_GET_TOPOLOGY = 2,\n\tPM_QID_CLOCK_GET_FIXEDFACTOR_PARAMS = 3,\n\tPM_QID_CLOCK_GET_PARENTS = 4,\n\tPM_QID_CLOCK_GET_ATTRIBUTES = 5,\n\tPM_QID_PINCTRL_GET_NUM_PINS = 6,\n\tPM_QID_PINCTRL_GET_NUM_FUNCTIONS = 7,\n\tPM_QID_PINCTRL_GET_NUM_FUNCTION_GROUPS = 8,\n\tPM_QID_PINCTRL_GET_FUNCTION_NAME = 9,\n\tPM_QID_PINCTRL_GET_FUNCTION_GROUPS = 10,\n\tPM_QID_PINCTRL_GET_PIN_GROUPS = 11,\n\tPM_QID_CLOCK_GET_NUM_CLOCKS = 12,\n\tPM_QID_CLOCK_GET_MAX_DIVISOR = 13,\n\tPM_QID_PINCTRL_GET_ATTRIBUTES = 15,\n};\n\nenum pm_ret_status {\n\tXST_PM_SUCCESS = 0,\n\tXST_PM_INVALID_VERSION = 4,\n\tXST_PM_NO_FEATURE = 19,\n\tXST_PM_INVALID_CRC = 301,\n\tXST_PM_INTERNAL = 2000,\n\tXST_PM_CONFLICT = 2001,\n\tXST_PM_NO_ACCESS = 2002,\n\tXST_PM_INVALID_NODE = 2003,\n\tXST_PM_DOUBLE_REQ = 2004,\n\tXST_PM_ABORT_SUSPEND = 2005,\n\tXST_PM_MULT_USER = 2008,\n};\n\nenum pm_sd_config_type {\n\tSD_CONFIG_EMMC_SEL = 1,\n\tSD_CONFIG_BASECLK = 2,\n\tSD_CONFIG_8BIT = 3,\n\tSD_CONFIG_FIXED = 4,\n};\n\nenum pm_suspend_mode {\n\tPM_SUSPEND_MODE_FIRST = 0,\n\tPM_SUSPEND_MODE_STD = 0,\n\tPM_SUSPEND_MODE_POWER_OFF = 1,\n};\n\nenum pmic_arb_channel {\n\tPMIC_ARB_CHANNEL_RW = 0,\n\tPMIC_ARB_CHANNEL_OBS = 1,\n};\n\nenum pmic_arb_chnl_status {\n\tPMIC_ARB_STATUS_DONE = 1,\n\tPMIC_ARB_STATUS_FAILURE = 2,\n\tPMIC_ARB_STATUS_DENIED = 4,\n\tPMIC_ARB_STATUS_DROPPED = 8,\n};\n\nenum pmic_arb_cmd_op_code {\n\tPMIC_ARB_OP_EXT_WRITEL = 0,\n\tPMIC_ARB_OP_EXT_READL = 1,\n\tPMIC_ARB_OP_EXT_WRITE = 2,\n\tPMIC_ARB_OP_RESET = 3,\n\tPMIC_ARB_OP_SLEEP = 4,\n\tPMIC_ARB_OP_SHUTDOWN = 5,\n\tPMIC_ARB_OP_WAKEUP = 6,\n\tPMIC_ARB_OP_AUTHENTICATE = 7,\n\tPMIC_ARB_OP_MSTR_READ = 8,\n\tPMIC_ARB_OP_MSTR_WRITE = 9,\n\tPMIC_ARB_OP_EXT_READ = 13,\n\tPMIC_ARB_OP_WRITE = 14,\n\tPMIC_ARB_OP_READ = 15,\n\tPMIC_ARB_OP_ZERO_WRITE = 16,\n};\n\nenum pmic_gpio_func_index {\n\tPMIC_GPIO_FUNC_INDEX_NORMAL = 0,\n\tPMIC_GPIO_FUNC_INDEX_PAIRED = 1,\n\tPMIC_GPIO_FUNC_INDEX_FUNC1 = 2,\n\tPMIC_GPIO_FUNC_INDEX_FUNC2 = 3,\n\tPMIC_GPIO_FUNC_INDEX_FUNC3 = 4,\n\tPMIC_GPIO_FUNC_INDEX_FUNC4 = 5,\n\tPMIC_GPIO_FUNC_INDEX_DTEST1 = 6,\n\tPMIC_GPIO_FUNC_INDEX_DTEST2 = 7,\n\tPMIC_GPIO_FUNC_INDEX_DTEST3 = 8,\n\tPMIC_GPIO_FUNC_INDEX_DTEST4 = 9,\n};\n\nenum pmic_type {\n\tPMIC_MT6323 = 0,\n\tPMIC_MT6331 = 1,\n\tPMIC_MT6332 = 2,\n\tPMIC_MT6351 = 3,\n\tPMIC_MT6357 = 4,\n\tPMIC_MT6358 = 5,\n\tPMIC_MT6359 = 6,\n\tPMIC_MT6380 = 7,\n\tPMIC_MT6397 = 8,\n};\n\nenum pnfs_iomode {\n\tIOMODE_READ = 1,\n\tIOMODE_RW = 2,\n\tIOMODE_ANY = 3,\n};\n\nenum pnfs_layout_destroy_mode {\n\tPNFS_LAYOUT_INVALIDATE = 0,\n\tPNFS_LAYOUT_BULK_RETURN = 1,\n\tPNFS_LAYOUT_FILE_BULK_RETURN = 2,\n};\n\nenum pnfs_layoutreturn_type {\n\tRETURN_FILE = 1,\n\tRETURN_FSID = 2,\n\tRETURN_ALL = 3,\n};\n\nenum pnfs_layouttype {\n\tLAYOUT_NFSV4_1_FILES = 1,\n\tLAYOUT_OSD2_OBJECTS = 2,\n\tLAYOUT_BLOCK_VOLUME = 3,\n\tLAYOUT_FLEX_FILES = 4,\n\tLAYOUT_SCSI = 5,\n\tLAYOUT_TYPE_MAX = 6,\n};\n\nenum pnfs_notify_deviceid_type4 {\n\tNOTIFY_DEVICEID4_CHANGE = 2,\n\tNOTIFY_DEVICEID4_DELETE = 4,\n};\n\nenum pnfs_try_status {\n\tPNFS_ATTEMPTED = 0,\n\tPNFS_NOT_ATTEMPTED = 1,\n\tPNFS_TRY_AGAIN = 2,\n};\n\nenum pnfs_update_layout_reason {\n\tPNFS_UPDATE_LAYOUT_UNKNOWN = 0,\n\tPNFS_UPDATE_LAYOUT_NO_PNFS = 1,\n\tPNFS_UPDATE_LAYOUT_RD_ZEROLEN = 2,\n\tPNFS_UPDATE_LAYOUT_MDSTHRESH = 3,\n\tPNFS_UPDATE_LAYOUT_NOMEM = 4,\n\tPNFS_UPDATE_LAYOUT_BULK_RECALL = 5,\n\tPNFS_UPDATE_LAYOUT_IO_TEST_FAIL = 6,\n\tPNFS_UPDATE_LAYOUT_FOUND_CACHED = 7,\n\tPNFS_UPDATE_LAYOUT_RETURN = 8,\n\tPNFS_UPDATE_LAYOUT_RETRY = 9,\n\tPNFS_UPDATE_LAYOUT_BLOCKED = 10,\n\tPNFS_UPDATE_LAYOUT_INVALID_OPEN = 11,\n\tPNFS_UPDATE_LAYOUT_SEND_LAYOUTGET = 12,\n\tPNFS_UPDATE_LAYOUT_EXIT = 13,\n};\n\nenum poll_time_type {\n\tPT_TIMEVAL = 0,\n\tPT_OLD_TIMEVAL = 1,\n\tPT_TIMESPEC = 2,\n\tPT_OLD_TIMESPEC = 3,\n};\n\nenum pool_workqueue_stats {\n\tPWQ_STAT_STARTED = 0,\n\tPWQ_STAT_COMPLETED = 1,\n\tPWQ_STAT_CPU_TIME = 2,\n\tPWQ_STAT_CPU_INTENSIVE = 3,\n\tPWQ_STAT_CM_WAKEUP = 4,\n\tPWQ_STAT_REPATRIATED = 5,\n\tPWQ_STAT_MAYDAY = 6,\n\tPWQ_STAT_RESCUED = 7,\n\tPWQ_NR_STATS = 8,\n};\n\nenum port_event {\n\tPORTE_BYTES_DMAED = 0,\n\tPORTE_BROADCAST_RCVD = 1,\n\tPORTE_LINK_RESET_ERR = 2,\n\tPORTE_TIMER_EVENT = 3,\n\tPORTE_HARD_RESET = 4,\n\tPORT_NUM_EVENTS = 5,\n};\n\nenum port_pkey_state {\n\tIB_PORT_PKEY_NOT_VALID = 0,\n\tIB_PORT_PKEY_VALID = 1,\n\tIB_PORT_PKEY_LISTED = 2,\n};\n\nenum port_type {\n\tRX___2 = 0,\n\tTX___2 = 1,\n};\n\nenum positive_aop_returns {\n\tAOP_WRITEPAGE_ACTIVATE = 524288,\n\tAOP_TRUNCATED_PAGE = 524289,\n};\n\nenum posix_timer_state {\n\tPOSIX_TIMER_DISARMED = 0,\n\tPOSIX_TIMER_ARMED = 1,\n\tPOSIX_TIMER_REQUEUE_PENDING = 2,\n};\n\nenum power_desc_param_offset {\n\tPWR_DESC_LEN = 0,\n\tPWR_DESC_TYPE = 1,\n\tPWR_DESC_ACTIVE_LVLS_VCC_0 = 2,\n\tPWR_DESC_ACTIVE_LVLS_VCCQ_0 = 34,\n\tPWR_DESC_ACTIVE_LVLS_VCCQ2_0 = 66,\n};\n\nenum power_supply_charge_behaviour {\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_AUTO = 0,\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE = 1,\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_FORCE_DISCHARGE = 2,\n};\n\nenum power_supply_charge_type {\n\tPOWER_SUPPLY_CHARGE_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_CHARGE_TYPE_NONE = 1,\n\tPOWER_SUPPLY_CHARGE_TYPE_TRICKLE = 2,\n\tPOWER_SUPPLY_CHARGE_TYPE_FAST = 3,\n\tPOWER_SUPPLY_CHARGE_TYPE_STANDARD = 4,\n\tPOWER_SUPPLY_CHARGE_TYPE_ADAPTIVE = 5,\n\tPOWER_SUPPLY_CHARGE_TYPE_CUSTOM = 6,\n\tPOWER_SUPPLY_CHARGE_TYPE_LONGLIFE = 7,\n\tPOWER_SUPPLY_CHARGE_TYPE_BYPASS = 8,\n};\n\nenum power_supply_notifier_events {\n\tPSY_EVENT_PROP_CHANGED = 0,\n};\n\nenum power_supply_property {\n\tPOWER_SUPPLY_PROP_STATUS = 0,\n\tPOWER_SUPPLY_PROP_CHARGE_TYPE = 1,\n\tPOWER_SUPPLY_PROP_CHARGE_TYPES = 2,\n\tPOWER_SUPPLY_PROP_HEALTH = 3,\n\tPOWER_SUPPLY_PROP_PRESENT = 4,\n\tPOWER_SUPPLY_PROP_ONLINE = 5,\n\tPOWER_SUPPLY_PROP_AUTHENTIC = 6,\n\tPOWER_SUPPLY_PROP_TECHNOLOGY = 7,\n\tPOWER_SUPPLY_PROP_CYCLE_COUNT = 8,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MAX = 9,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MIN = 10,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN = 11,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN = 12,\n\tPOWER_SUPPLY_PROP_VOLTAGE_NOW = 13,\n\tPOWER_SUPPLY_PROP_VOLTAGE_AVG = 14,\n\tPOWER_SUPPLY_PROP_VOLTAGE_OCV = 15,\n\tPOWER_SUPPLY_PROP_VOLTAGE_BOOT = 16,\n\tPOWER_SUPPLY_PROP_CURRENT_MAX = 17,\n\tPOWER_SUPPLY_PROP_CURRENT_NOW = 18,\n\tPOWER_SUPPLY_PROP_CURRENT_AVG = 19,\n\tPOWER_SUPPLY_PROP_CURRENT_BOOT = 20,\n\tPOWER_SUPPLY_PROP_POWER_NOW = 21,\n\tPOWER_SUPPLY_PROP_POWER_AVG = 22,\n\tPOWER_SUPPLY_PROP_CHARGE_FULL_DESIGN = 23,\n\tPOWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN = 24,\n\tPOWER_SUPPLY_PROP_CHARGE_FULL = 25,\n\tPOWER_SUPPLY_PROP_CHARGE_EMPTY = 26,\n\tPOWER_SUPPLY_PROP_CHARGE_NOW = 27,\n\tPOWER_SUPPLY_PROP_CHARGE_AVG = 28,\n\tPOWER_SUPPLY_PROP_CHARGE_COUNTER = 29,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT = 30,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX = 31,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE = 32,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX = 33,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT = 34,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX = 35,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD = 36,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD = 37,\n\tPOWER_SUPPLY_PROP_CHARGE_BEHAVIOUR = 38,\n\tPOWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT = 39,\n\tPOWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT = 40,\n\tPOWER_SUPPLY_PROP_INPUT_POWER_LIMIT = 41,\n\tPOWER_SUPPLY_PROP_ENERGY_FULL_DESIGN = 42,\n\tPOWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN = 43,\n\tPOWER_SUPPLY_PROP_ENERGY_FULL = 44,\n\tPOWER_SUPPLY_PROP_ENERGY_EMPTY = 45,\n\tPOWER_SUPPLY_PROP_ENERGY_NOW = 46,\n\tPOWER_SUPPLY_PROP_ENERGY_AVG = 47,\n\tPOWER_SUPPLY_PROP_CAPACITY = 48,\n\tPOWER_SUPPLY_PROP_CAPACITY_ALERT_MIN = 49,\n\tPOWER_SUPPLY_PROP_CAPACITY_ALERT_MAX = 50,\n\tPOWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN = 51,\n\tPOWER_SUPPLY_PROP_CAPACITY_LEVEL = 52,\n\tPOWER_SUPPLY_PROP_TEMP = 53,\n\tPOWER_SUPPLY_PROP_TEMP_MAX = 54,\n\tPOWER_SUPPLY_PROP_TEMP_MIN = 55,\n\tPOWER_SUPPLY_PROP_TEMP_ALERT_MIN = 56,\n\tPOWER_SUPPLY_PROP_TEMP_ALERT_MAX = 57,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT = 58,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN = 59,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX = 60,\n\tPOWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW = 61,\n\tPOWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG = 62,\n\tPOWER_SUPPLY_PROP_TIME_TO_FULL_NOW = 63,\n\tPOWER_SUPPLY_PROP_TIME_TO_FULL_AVG = 64,\n\tPOWER_SUPPLY_PROP_TYPE = 65,\n\tPOWER_SUPPLY_PROP_USB_TYPE = 66,\n\tPOWER_SUPPLY_PROP_SCOPE = 67,\n\tPOWER_SUPPLY_PROP_PRECHARGE_CURRENT = 68,\n\tPOWER_SUPPLY_PROP_CHARGE_TERM_CURRENT = 69,\n\tPOWER_SUPPLY_PROP_CALIBRATE = 70,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_YEAR = 71,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_MONTH = 72,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_DAY = 73,\n\tPOWER_SUPPLY_PROP_MODEL_NAME = 74,\n\tPOWER_SUPPLY_PROP_MANUFACTURER = 75,\n\tPOWER_SUPPLY_PROP_SERIAL_NUMBER = 76,\n};\n\nenum power_supply_type {\n\tPOWER_SUPPLY_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_TYPE_BATTERY = 1,\n\tPOWER_SUPPLY_TYPE_UPS = 2,\n\tPOWER_SUPPLY_TYPE_MAINS = 3,\n\tPOWER_SUPPLY_TYPE_USB = 4,\n\tPOWER_SUPPLY_TYPE_USB_DCP = 5,\n\tPOWER_SUPPLY_TYPE_USB_CDP = 6,\n\tPOWER_SUPPLY_TYPE_USB_ACA = 7,\n\tPOWER_SUPPLY_TYPE_USB_TYPE_C = 8,\n\tPOWER_SUPPLY_TYPE_USB_PD = 9,\n\tPOWER_SUPPLY_TYPE_USB_PD_DRP = 10,\n\tPOWER_SUPPLY_TYPE_APPLE_BRICK_ID = 11,\n\tPOWER_SUPPLY_TYPE_WIRELESS = 12,\n};\n\nenum power_supply_usb_type {\n\tPOWER_SUPPLY_USB_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_USB_TYPE_SDP = 1,\n\tPOWER_SUPPLY_USB_TYPE_DCP = 2,\n\tPOWER_SUPPLY_USB_TYPE_CDP = 3,\n\tPOWER_SUPPLY_USB_TYPE_ACA = 4,\n\tPOWER_SUPPLY_USB_TYPE_C = 5,\n\tPOWER_SUPPLY_USB_TYPE_PD = 6,\n\tPOWER_SUPPLY_USB_TYPE_PD_DRP = 7,\n\tPOWER_SUPPLY_USB_TYPE_PD_PPS = 8,\n\tPOWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID = 9,\n};\n\nenum ppe_common_mode {\n\tPPE_COMMON_MODE_DEBUG = 0,\n\tPPE_COMMON_MODE_SERVICE = 1,\n\tPPE_COMMON_MODE_MAX = 2,\n};\n\nenum ppe_port_mode {\n\tPPE_MODE_GE = 0,\n\tPPE_MODE_XGE = 1,\n};\n\nenum ppe_qid_mode {\n\tPPE_QID_MODE0 = 0,\n\tPPE_QID_MODE1 = 1,\n\tPPE_QID_MODE2 = 2,\n\tPPE_QID_MODE3 = 3,\n\tPPE_QID_MODE4 = 4,\n\tPPE_QID_MODE5 = 5,\n\tPPE_QID_MODE6 = 6,\n\tPPE_QID_MODE7 = 7,\n\tPPE_QID_MODE8 = 8,\n\tPPE_QID_MODE9 = 9,\n\tPPE_QID_MODE10 = 10,\n\tPPE_QID_MODE11 = 11,\n};\n\nenum pr_status {\n\tPR_STS_SUCCESS = 0,\n\tPR_STS_IOERR = 2,\n\tPR_STS_RESERVATION_CONFLICT = 24,\n\tPR_STS_RETRY_PATH_FAILURE = 917504,\n\tPR_STS_PATH_FAST_FAILED = 983040,\n\tPR_STS_PATH_FAILED = 65536,\n};\n\nenum pr_type {\n\tPR_WRITE_EXCLUSIVE = 1,\n\tPR_EXCLUSIVE_ACCESS = 2,\n\tPR_WRITE_EXCLUSIVE_REG_ONLY = 3,\n\tPR_EXCLUSIVE_ACCESS_REG_ONLY = 4,\n\tPR_WRITE_EXCLUSIVE_ALL_REGS = 5,\n\tPR_EXCLUSIVE_ACCESS_ALL_REGS = 6,\n};\n\nenum prep_dispatch {\n\tPREP_DISPATCH_OK = 0,\n\tPREP_DISPATCH_NO_TAG = 1,\n\tPREP_DISPATCH_NO_BUDGET = 2,\n};\n\nenum pri_resp {\n\tPRI_RESP_DENY = 0,\n\tPRI_RESP_FAIL = 1,\n\tPRI_RESP_SUCC = 2,\n};\n\nenum print_line_t {\n\tTRACE_TYPE_PARTIAL_LINE = 0,\n\tTRACE_TYPE_HANDLED = 1,\n\tTRACE_TYPE_UNHANDLED = 2,\n\tTRACE_TYPE_NO_CONSUME = 3,\n};\n\nenum printk_info_flags {\n\tLOG_FORCE_CON = 1,\n\tLOG_NEWLINE = 2,\n\tLOG_CONT = 8,\n};\n\nenum priv_stack_mode {\n\tPRIV_STACK_UNKNOWN = 0,\n\tNO_PRIV_STACK = 1,\n\tPRIV_STACK_ADAPTIVE = 2,\n};\n\nenum probe_insn {\n\tINSN_REJECTED = 0,\n\tINSN_GOOD_NO_SLOT = 1,\n\tINSN_GOOD = 2,\n};\n\nenum probe_print_type {\n\tPROBE_PRINT_NORMAL = 0,\n\tPROBE_PRINT_RETURN = 1,\n\tPROBE_PRINT_EVENT = 2,\n};\n\nenum probe_type {\n\tPROBE_DEFAULT_STRATEGY = 0,\n\tPROBE_PREFER_ASYNCHRONOUS = 1,\n\tPROBE_FORCE_SYNCHRONOUS = 2,\n};\n\nenum proc_cn_event {\n\tPROC_EVENT_NONE = 0,\n\tPROC_EVENT_FORK = 1,\n\tPROC_EVENT_EXEC = 2,\n\tPROC_EVENT_UID = 4,\n\tPROC_EVENT_GID = 64,\n\tPROC_EVENT_SID = 128,\n\tPROC_EVENT_PTRACE = 256,\n\tPROC_EVENT_COMM = 512,\n\tPROC_EVENT_NONZERO_EXIT = 536870912,\n\tPROC_EVENT_COREDUMP = 1073741824,\n\tPROC_EVENT_EXIT = 2147483648,\n};\n\nenum proc_hidepid {\n\tHIDEPID_OFF = 0,\n\tHIDEPID_NO_ACCESS = 1,\n\tHIDEPID_INVISIBLE = 2,\n\tHIDEPID_NOT_PTRACEABLE = 4,\n};\n\nenum proc_mem_force {\n\tPROC_MEM_FORCE_ALWAYS = 0,\n\tPROC_MEM_FORCE_PTRACE = 1,\n\tPROC_MEM_FORCE_NEVER = 2,\n};\n\nenum proc_param {\n\tOpt_gid___8 = 0,\n\tOpt_hidepid = 1,\n\tOpt_subset = 2,\n};\n\nenum proc_pidonly {\n\tPROC_PIDONLY_OFF = 0,\n\tPROC_PIDONLY_ON = 1,\n};\n\nenum procmap_query_flags {\n\tPROCMAP_QUERY_VMA_READABLE = 1,\n\tPROCMAP_QUERY_VMA_WRITABLE = 2,\n\tPROCMAP_QUERY_VMA_EXECUTABLE = 4,\n\tPROCMAP_QUERY_VMA_SHARED = 8,\n\tPROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16,\n\tPROCMAP_QUERY_FILE_BACKED_VMA = 32,\n};\n\nenum prs_errcode {\n\tPERR_NONE = 0,\n\tPERR_INVCPUS = 1,\n\tPERR_INVPARENT = 2,\n\tPERR_NOTPART = 3,\n\tPERR_NOTEXCL = 4,\n\tPERR_NOCPUS = 5,\n\tPERR_HOTPLUG = 6,\n\tPERR_CPUSEMPTY = 7,\n\tPERR_HKEEPING = 8,\n\tPERR_ACCESS = 9,\n};\n\nenum ps2_disposition {\n\tPS2_PROCESS = 0,\n\tPS2_IGNORE = 1,\n\tPS2_ERROR = 2,\n};\n\nenum psil_endpoint_type {\n\tPSIL_EP_NATIVE = 0,\n\tPSIL_EP_PDMA_XY = 1,\n\tPSIL_EP_PDMA_MCAN = 2,\n\tPSIL_EP_PDMA_AASRC = 3,\n};\n\nenum psmouse_scale {\n\tPSMOUSE_SCALE11 = 0,\n\tPSMOUSE_SCALE21 = 1,\n};\n\nenum psmouse_state {\n\tPSMOUSE_IGNORE = 0,\n\tPSMOUSE_INITIALIZING = 1,\n\tPSMOUSE_RESYNCING = 2,\n\tPSMOUSE_CMD_MODE = 3,\n\tPSMOUSE_ACTIVATED = 4,\n};\n\nenum psmouse_type {\n\tPSMOUSE_NONE = 0,\n\tPSMOUSE_PS2 = 1,\n\tPSMOUSE_PS2PP = 2,\n\tPSMOUSE_THINKPS = 3,\n\tPSMOUSE_GENPS = 4,\n\tPSMOUSE_IMPS = 5,\n\tPSMOUSE_IMEX = 6,\n\tPSMOUSE_SYNAPTICS = 7,\n\tPSMOUSE_ALPS = 8,\n\tPSMOUSE_LIFEBOOK = 9,\n\tPSMOUSE_TRACKPOINT = 10,\n\tPSMOUSE_TOUCHKIT_PS2 = 11,\n\tPSMOUSE_CORTRON = 12,\n\tPSMOUSE_HGPK = 13,\n\tPSMOUSE_ELANTECH = 14,\n\tPSMOUSE_FSP = 15,\n\tPSMOUSE_SYNAPTICS_RELATIVE = 16,\n\tPSMOUSE_CYPRESS = 17,\n\tPSMOUSE_FOCALTECH = 18,\n\tPSMOUSE_VMMOUSE = 19,\n\tPSMOUSE_BYD = 20,\n\tPSMOUSE_SYNAPTICS_SMBUS = 21,\n\tPSMOUSE_ELANTECH_SMBUS = 22,\n\tPSMOUSE_AUTO = 23,\n};\n\nenum pstore_type_id {\n\tPSTORE_TYPE_DMESG = 0,\n\tPSTORE_TYPE_MCE = 1,\n\tPSTORE_TYPE_CONSOLE = 2,\n\tPSTORE_TYPE_FTRACE = 3,\n\tPSTORE_TYPE_PPC_RTAS = 4,\n\tPSTORE_TYPE_PPC_OF = 5,\n\tPSTORE_TYPE_PPC_COMMON = 6,\n\tPSTORE_TYPE_PMSG = 7,\n\tPSTORE_TYPE_PPC_OPAL = 8,\n\tPSTORE_TYPE_MAX = 9,\n};\n\nenum ptp_clock_events {\n\tPTP_CLOCK_ALARM = 0,\n\tPTP_CLOCK_EXTTS = 1,\n\tPTP_CLOCK_EXTOFF = 2,\n\tPTP_CLOCK_PPS = 3,\n\tPTP_CLOCK_PPSUSR = 4,\n};\n\nenum ptp_pin_function {\n\tPTP_PF_NONE = 0,\n\tPTP_PF_EXTTS = 1,\n\tPTP_PF_PEROUT = 2,\n\tPTP_PF_PHYSYNC = 3,\n};\n\nenum ptrace_syscall_dir {\n\tPTRACE_SYSCALL_ENTER = 0,\n\tPTRACE_SYSCALL_EXIT = 1,\n};\n\nenum pud_index {\n\tPUD_PULL_DISABLE = 0,\n\tPUD_PULL_DOWN = 1,\n\tPUD_PULL_UP = 2,\n\tPUD_MAX = 3,\n};\n\nenum pwm_polarity {\n\tPWM_POLARITY_NORMAL = 0,\n\tPWM_POLARITY_INVERSED = 1,\n};\n\nenum pwrap_regs {\n\tPWRAP_MUX_SEL = 0,\n\tPWRAP_WRAP_EN = 1,\n\tPWRAP_DIO_EN = 2,\n\tPWRAP_SIDLY = 3,\n\tPWRAP_CSHEXT_WRITE = 4,\n\tPWRAP_CSHEXT_READ = 5,\n\tPWRAP_CSLEXT_START = 6,\n\tPWRAP_CSLEXT_END = 7,\n\tPWRAP_STAUPD_PRD = 8,\n\tPWRAP_STAUPD_GRPEN = 9,\n\tPWRAP_STAUPD_MAN_TRIG = 10,\n\tPWRAP_STAUPD_STA = 11,\n\tPWRAP_WRAP_STA = 12,\n\tPWRAP_HARB_INIT = 13,\n\tPWRAP_HARB_HPRIO = 14,\n\tPWRAP_HIPRIO_ARB_EN = 15,\n\tPWRAP_HARB_STA0 = 16,\n\tPWRAP_HARB_STA1 = 17,\n\tPWRAP_MAN_EN = 18,\n\tPWRAP_MAN_CMD = 19,\n\tPWRAP_MAN_RDATA = 20,\n\tPWRAP_MAN_VLDCLR = 21,\n\tPWRAP_WACS0_EN = 22,\n\tPWRAP_INIT_DONE0 = 23,\n\tPWRAP_WACS0_CMD = 24,\n\tPWRAP_WACS0_RDATA = 25,\n\tPWRAP_WACS0_VLDCLR = 26,\n\tPWRAP_WACS1_EN = 27,\n\tPWRAP_INIT_DONE1 = 28,\n\tPWRAP_WACS1_CMD = 29,\n\tPWRAP_WACS1_RDATA = 30,\n\tPWRAP_WACS1_VLDCLR = 31,\n\tPWRAP_WACS2_EN = 32,\n\tPWRAP_INIT_DONE2 = 33,\n\tPWRAP_WACS2_CMD = 34,\n\tPWRAP_WACS2_RDATA = 35,\n\tPWRAP_WACS2_VLDCLR = 36,\n\tPWRAP_INT_EN = 37,\n\tPWRAP_INT_FLG_RAW = 38,\n\tPWRAP_INT_FLG = 39,\n\tPWRAP_INT_CLR = 40,\n\tPWRAP_SIG_ADR = 41,\n\tPWRAP_SIG_MODE = 42,\n\tPWRAP_SIG_VALUE = 43,\n\tPWRAP_SIG_ERRVAL = 44,\n\tPWRAP_CRC_EN = 45,\n\tPWRAP_TIMER_EN = 46,\n\tPWRAP_TIMER_STA = 47,\n\tPWRAP_WDT_UNIT = 48,\n\tPWRAP_WDT_SRC_EN = 49,\n\tPWRAP_WDT_FLG = 50,\n\tPWRAP_DEBUG_INT_SEL = 51,\n\tPWRAP_CIPHER_KEY_SEL = 52,\n\tPWRAP_CIPHER_IV_SEL = 53,\n\tPWRAP_CIPHER_RDY = 54,\n\tPWRAP_CIPHER_MODE = 55,\n\tPWRAP_CIPHER_SWRST = 56,\n\tPWRAP_DCM_EN = 57,\n\tPWRAP_DCM_DBC_PRD = 58,\n\tPWRAP_EINT_STA0_ADR = 59,\n\tPWRAP_EINT_STA1_ADR = 60,\n\tPWRAP_SWINF_2_WDATA_31_0 = 61,\n\tPWRAP_SWINF_2_RDATA_31_0 = 62,\n\tPWRAP_ADC_CMD_ADDR = 63,\n\tPWRAP_PWRAP_ADC_CMD = 64,\n\tPWRAP_ADC_RDY_ADDR = 65,\n\tPWRAP_ADC_RDATA_ADDR1 = 66,\n\tPWRAP_ADC_RDATA_ADDR2 = 67,\n\tPWRAP_STA = 68,\n\tPWRAP_CLR = 69,\n\tPWRAP_DVFS_ADR8 = 70,\n\tPWRAP_DVFS_WDATA8 = 71,\n\tPWRAP_DVFS_ADR9 = 72,\n\tPWRAP_DVFS_WDATA9 = 73,\n\tPWRAP_DVFS_ADR10 = 74,\n\tPWRAP_DVFS_WDATA10 = 75,\n\tPWRAP_DVFS_ADR11 = 76,\n\tPWRAP_DVFS_WDATA11 = 77,\n\tPWRAP_DVFS_ADR12 = 78,\n\tPWRAP_DVFS_WDATA12 = 79,\n\tPWRAP_DVFS_ADR13 = 80,\n\tPWRAP_DVFS_WDATA13 = 81,\n\tPWRAP_DVFS_ADR14 = 82,\n\tPWRAP_DVFS_WDATA14 = 83,\n\tPWRAP_DVFS_ADR15 = 84,\n\tPWRAP_DVFS_WDATA15 = 85,\n\tPWRAP_EXT_CK = 86,\n\tPWRAP_ADC_RDATA_ADDR = 87,\n\tPWRAP_GPS_STA = 88,\n\tPWRAP_SW_RST = 89,\n\tPWRAP_DVFS_STEP_CTRL0 = 90,\n\tPWRAP_DVFS_STEP_CTRL1 = 91,\n\tPWRAP_DVFS_STEP_CTRL2 = 92,\n\tPWRAP_SPI2_CTRL = 93,\n\tPWRAP_CSHEXT = 94,\n\tPWRAP_EVENT_IN_EN = 95,\n\tPWRAP_EVENT_DST_EN = 96,\n\tPWRAP_RRARB_INIT = 97,\n\tPWRAP_RRARB_EN = 98,\n\tPWRAP_RRARB_STA0 = 99,\n\tPWRAP_RRARB_STA1 = 100,\n\tPWRAP_EVENT_STA = 101,\n\tPWRAP_EVENT_STACLR = 102,\n\tPWRAP_CIPHER_LOAD = 103,\n\tPWRAP_CIPHER_START = 104,\n\tPWRAP_RDDMY = 105,\n\tPWRAP_SI_CK_CON = 106,\n\tPWRAP_DVFS_ADR0 = 107,\n\tPWRAP_DVFS_WDATA0 = 108,\n\tPWRAP_DVFS_ADR1 = 109,\n\tPWRAP_DVFS_WDATA1 = 110,\n\tPWRAP_DVFS_ADR2 = 111,\n\tPWRAP_DVFS_WDATA2 = 112,\n\tPWRAP_DVFS_ADR3 = 113,\n\tPWRAP_DVFS_WDATA3 = 114,\n\tPWRAP_DVFS_ADR4 = 115,\n\tPWRAP_DVFS_WDATA4 = 116,\n\tPWRAP_DVFS_ADR5 = 117,\n\tPWRAP_DVFS_WDATA5 = 118,\n\tPWRAP_DVFS_ADR6 = 119,\n\tPWRAP_DVFS_WDATA6 = 120,\n\tPWRAP_DVFS_ADR7 = 121,\n\tPWRAP_DVFS_WDATA7 = 122,\n\tPWRAP_SPMINF_STA = 123,\n\tPWRAP_CIPHER_EN = 124,\n\tPWRAP_SI_SAMPLE_CTRL = 125,\n\tPWRAP_CSLEXT_WRITE = 126,\n\tPWRAP_CSLEXT_READ = 127,\n\tPWRAP_EXT_CK_WRITE = 128,\n\tPWRAP_STAUPD_CTRL = 129,\n\tPWRAP_WACS_P2P_EN = 130,\n\tPWRAP_INIT_DONE_P2P = 131,\n\tPWRAP_WACS_MD32_EN = 132,\n\tPWRAP_INIT_DONE_MD32 = 133,\n\tPWRAP_INT1_EN = 134,\n\tPWRAP_INT1_FLG = 135,\n\tPWRAP_INT1_CLR = 136,\n\tPWRAP_WDT_SRC_EN_1 = 137,\n\tPWRAP_INT_GPS_AUXADC_CMD_ADDR = 138,\n\tPWRAP_INT_GPS_AUXADC_CMD = 139,\n\tPWRAP_INT_GPS_AUXADC_RDATA_ADDR = 140,\n\tPWRAP_EXT_GPS_AUXADC_RDATA_ADDR = 141,\n\tPWRAP_GPSINF_0_STA = 142,\n\tPWRAP_GPSINF_1_STA = 143,\n\tPWRAP_OP_TYPE = 144,\n\tPWRAP_MSB_FIRST = 145,\n};\n\nenum pwrap_type {\n\tPWRAP_MT2701 = 0,\n\tPWRAP_MT6765 = 1,\n\tPWRAP_MT6779 = 2,\n\tPWRAP_MT6795 = 3,\n\tPWRAP_MT6797 = 4,\n\tPWRAP_MT6873 = 5,\n\tPWRAP_MT7622 = 6,\n\tPWRAP_MT8135 = 7,\n\tPWRAP_MT8173 = 8,\n\tPWRAP_MT8183 = 9,\n\tPWRAP_MT8186 = 10,\n\tPWRAP_MT8195 = 11,\n\tPWRAP_MT8365 = 12,\n\tPWRAP_MT8516 = 13,\n};\n\nenum px30_plls {\n\tapll = 0,\n\tdpll = 1,\n\tcpll = 2,\n\tnpll = 3,\n\tapll_b_h = 4,\n\tapll_b_l = 5,\n};\n\nenum px30_pmu_plls {\n\tgpll = 0,\n};\n\nenum pxa_i2c_types {\n\tREGS_PXA2XX = 0,\n\tREGS_PXA3XX = 1,\n\tREGS_CE4100 = 2,\n\tREGS_PXA910 = 3,\n\tREGS_A3700 = 4,\n};\n\nenum qb_enqueue_commands {\n\tenqueue_empty = 0,\n\tenqueue_response_always = 1,\n\tenqueue_rejects_to_fq = 2,\n};\n\nenum qb_pull_dt_e {\n\tqb_pull_dt_channel = 0,\n\tqb_pull_dt_workqueue = 1,\n\tqb_pull_dt_framequeue = 2,\n};\n\nenum qbman_pull_type_e {\n\tqbman_pull_type_prio = 1,\n\tqbman_pull_type_active = 2,\n\tqbman_pull_type_active_noics = 3,\n};\n\nenum qbman_sdqcr_dct {\n\tqbman_sdqcr_dct_null = 0,\n\tqbman_sdqcr_dct_prio_ics = 1,\n\tqbman_sdqcr_dct_active_ics = 2,\n\tqbman_sdqcr_dct_active = 3,\n};\n\nenum qbman_sdqcr_fc {\n\tqbman_sdqcr_fc_one = 0,\n\tqbman_sdqcr_fc_up_to_3 = 1,\n};\n\nenum qcm2290_functions {\n\tmsm_mux_adsp_ext___5 = 0,\n\tmsm_mux_agera_pll___2 = 1,\n\tmsm_mux_atest = 2,\n\tmsm_mux_cam_mclk___5 = 3,\n\tmsm_mux_cci_async___5 = 4,\n\tmsm_mux_cci_i2c___5 = 5,\n\tmsm_mux_cci_timer0___6 = 6,\n\tmsm_mux_cci_timer1___6 = 7,\n\tmsm_mux_cci_timer2___6 = 8,\n\tmsm_mux_cci_timer3___5 = 9,\n\tmsm_mux_char_exec = 10,\n\tmsm_mux_cri_trng___7 = 11,\n\tmsm_mux_cri_trng0___9 = 12,\n\tmsm_mux_cri_trng1___9 = 13,\n\tmsm_mux_dac_calib = 14,\n\tmsm_mux_dbg_out___10 = 15,\n\tmsm_mux_ddr_bist___4 = 16,\n\tmsm_mux_ddr_pxi0 = 17,\n\tmsm_mux_ddr_pxi1 = 18,\n\tmsm_mux_ddr_pxi2 = 19,\n\tmsm_mux_ddr_pxi3 = 20,\n\tmsm_mux_gcc_gp1 = 21,\n\tmsm_mux_gcc_gp2 = 22,\n\tmsm_mux_gcc_gp3 = 23,\n\tmsm_mux_gpio___12 = 24,\n\tmsm_mux_gp_pdm0___2 = 25,\n\tmsm_mux_gp_pdm1___2 = 26,\n\tmsm_mux_gp_pdm2___2 = 27,\n\tmsm_mux_gsm0_tx___3 = 28,\n\tmsm_mux_gsm1_tx___3 = 29,\n\tmsm_mux_jitter_bist___2 = 30,\n\tmsm_mux_mdp_vsync___7 = 31,\n\tmsm_mux_mdp_vsync_out_0 = 32,\n\tmsm_mux_mdp_vsync_out_1 = 33,\n\tmsm_mux_mpm_pwr = 34,\n\tmsm_mux_mss_lte___5 = 35,\n\tmsm_mux_m_voc___6 = 36,\n\tmsm_mux_nav_gpio = 37,\n\tmsm_mux_pa_indicator___6 = 38,\n\tmsm_mux_pbs0___3 = 39,\n\tmsm_mux_pbs1___3 = 40,\n\tmsm_mux_pbs2___3 = 41,\n\tmsm_mux_pbs3 = 42,\n\tmsm_mux_pbs4 = 43,\n\tmsm_mux_pbs5 = 44,\n\tmsm_mux_pbs6 = 45,\n\tmsm_mux_pbs7 = 46,\n\tmsm_mux_pbs8 = 47,\n\tmsm_mux_pbs9 = 48,\n\tmsm_mux_pbs10 = 49,\n\tmsm_mux_pbs11 = 50,\n\tmsm_mux_pbs12 = 51,\n\tmsm_mux_pbs13 = 52,\n\tmsm_mux_pbs14 = 53,\n\tmsm_mux_pbs15 = 54,\n\tmsm_mux_pbs_out = 55,\n\tmsm_mux_phase_flag___2 = 56,\n\tmsm_mux_pll_bist = 57,\n\tmsm_mux_pll_bypassnl___3 = 58,\n\tmsm_mux_pll_reset___3 = 59,\n\tmsm_mux_prng_rosc___8 = 60,\n\tmsm_mux_pwm_0 = 61,\n\tmsm_mux_pwm_1 = 62,\n\tmsm_mux_pwm_2 = 63,\n\tmsm_mux_pwm_3 = 64,\n\tmsm_mux_pwm_4 = 65,\n\tmsm_mux_pwm_5 = 66,\n\tmsm_mux_pwm_6 = 67,\n\tmsm_mux_pwm_7 = 68,\n\tmsm_mux_pwm_8 = 69,\n\tmsm_mux_pwm_9 = 70,\n\tmsm_mux_qdss_cti___2 = 71,\n\tmsm_mux_qdss_gpio = 72,\n\tmsm_mux_qup0 = 73,\n\tmsm_mux_qup1 = 74,\n\tmsm_mux_qup2 = 75,\n\tmsm_mux_qup3 = 76,\n\tmsm_mux_qup4 = 77,\n\tmsm_mux_qup5 = 78,\n\tmsm_mux_sdc1_tb = 79,\n\tmsm_mux_sdc2_tb = 80,\n\tmsm_mux_sd_write___8 = 81,\n\tmsm_mux_ssbi_wtr1___4 = 82,\n\tmsm_mux_tgu_ch0___2 = 83,\n\tmsm_mux_tgu_ch1___2 = 84,\n\tmsm_mux_tgu_ch2 = 85,\n\tmsm_mux_tgu_ch3 = 86,\n\tmsm_mux_tsense_pwm = 87,\n\tmsm_mux_uim1_clk___4 = 88,\n\tmsm_mux_uim1_data___4 = 89,\n\tmsm_mux_uim1_present___4 = 90,\n\tmsm_mux_uim1_reset___4 = 91,\n\tmsm_mux_uim2_clk___4 = 92,\n\tmsm_mux_uim2_data___4 = 93,\n\tmsm_mux_uim2_present___4 = 94,\n\tmsm_mux_uim2_reset___4 = 95,\n\tmsm_mux_usb_phy___2 = 96,\n\tmsm_mux_vfr_1___3 = 97,\n\tmsm_mux_vsense_trigger = 98,\n\tmsm_mux_wlan1_adc0___2 = 99,\n\tmsm_mux_wlan1_adc1___2 = 100,\n\tmsm_mux_____7 = 101,\n};\n\nenum qcom_icc_type {\n\tQCOM_ICC_NOC = 0,\n\tQCOM_ICC_BIMC = 1,\n\tQCOM_ICC_QNOC = 2,\n};\n\nenum qcom_iommu_clk {\n\tCLK_IFACE = 0,\n\tCLK_BUS = 1,\n\tCLK_TBU = 2,\n\tCLK_NUM = 3,\n};\n\nenum qcom_scm_arg_types {\n\tQCOM_SCM_VAL = 0,\n\tQCOM_SCM_RO = 1,\n\tQCOM_SCM_RW = 2,\n\tQCOM_SCM_BUFVAL = 3,\n};\n\nenum qcom_scm_convention {\n\tSMC_CONVENTION_UNKNOWN = 0,\n\tSMC_CONVENTION_LEGACY = 1,\n\tSMC_CONVENTION_ARM_32 = 2,\n\tSMC_CONVENTION_ARM_64 = 3,\n};\n\nenum qcom_scm_ice_cipher {\n\tQCOM_SCM_ICE_CIPHER_AES_128_XTS = 0,\n\tQCOM_SCM_ICE_CIPHER_AES_128_CBC = 1,\n\tQCOM_SCM_ICE_CIPHER_AES_256_XTS = 3,\n\tQCOM_SCM_ICE_CIPHER_AES_256_CBC = 4,\n};\n\nenum qcom_scm_ocmem_client {\n\tQCOM_SCM_OCMEM_UNUSED_ID = 0,\n\tQCOM_SCM_OCMEM_GRAPHICS_ID = 1,\n\tQCOM_SCM_OCMEM_VIDEO_ID = 2,\n\tQCOM_SCM_OCMEM_LP_AUDIO_ID = 3,\n\tQCOM_SCM_OCMEM_SENSORS_ID = 4,\n\tQCOM_SCM_OCMEM_OTHER_OS_ID = 5,\n\tQCOM_SCM_OCMEM_DEBUG_ID = 6,\n};\n\nenum qcom_scm_qseecom_resp_type {\n\tQSEECOM_SCM_RES_APP_ID = 60929,\n\tQSEECOM_SCM_RES_QSEOS_LISTENER_ID = 60930,\n};\n\nenum qcom_scm_qseecom_result {\n\tQSEECOM_RESULT_SUCCESS = 0,\n\tQSEECOM_RESULT_INCOMPLETE = 1,\n\tQSEECOM_RESULT_BLOCKED_ON_LISTENER = 2,\n\tQSEECOM_RESULT_FAILURE = 4294967295,\n};\n\nenum qcom_scm_qseecom_tz_cmd_app {\n\tQSEECOM_TZ_CMD_APP_SEND = 1,\n\tQSEECOM_TZ_CMD_APP_LOOKUP = 3,\n};\n\nenum qcom_scm_qseecom_tz_cmd_info {\n\tQSEECOM_TZ_CMD_INFO_VERSION = 3,\n};\n\nenum qcom_scm_qseecom_tz_owner {\n\tQSEECOM_TZ_OWNER_SIP = 2,\n\tQSEECOM_TZ_OWNER_TZ_APPS = 48,\n\tQSEECOM_TZ_OWNER_QSEE_OS = 50,\n};\n\nenum qcom_scm_qseecom_tz_svc {\n\tQSEECOM_TZ_SVC_APP_ID_PLACEHOLDER = 0,\n\tQSEECOM_TZ_SVC_APP_MGR = 1,\n\tQSEECOM_TZ_SVC_INFO = 6,\n};\n\nenum qcom_smmu_impl_reg_offset {\n\tQCOM_SMMU_TBU_PWR_STATUS = 0,\n\tQCOM_SMMU_STATS_SYNC_INV_TBU_ACK = 1,\n\tQCOM_SMMU_MMU2QSS_AND_SAFE_WAIT_CNTR = 2,\n};\n\nenum qcom_socinfo_feature_code {\n\tSOCINFO_FC_UNKNOWN = 0,\n\tSOCINFO_FC_AA = 1,\n\tSOCINFO_FC_AB = 2,\n\tSOCINFO_FC_AC = 3,\n\tSOCINFO_FC_AD = 4,\n\tSOCINFO_FC_AE = 5,\n\tSOCINFO_FC_AF = 6,\n\tSOCINFO_FC_AG = 7,\n\tSOCINFO_FC_AH = 8,\n};\n\nenum qcom_tzmem_policy {\n\tQCOM_TZMEM_POLICY_STATIC = 1,\n\tQCOM_TZMEM_POLICY_MULTIPLIER = 2,\n\tQCOM_TZMEM_POLICY_ON_DEMAND = 3,\n};\n\nenum qcs404_functions {\n\tmsm_mux_gpio___13 = 0,\n\tmsm_mux_hdmi_tx = 1,\n\tmsm_mux_hdmi_ddc___4 = 2,\n\tmsm_mux_blsp_uart_tx_a2 = 3,\n\tmsm_mux_blsp_spi2___7 = 4,\n\tmsm_mux_m_voc___7 = 5,\n\tmsm_mux_qdss_cti_trig_in_a0___7 = 6,\n\tmsm_mux_blsp_uart_rx_a2 = 7,\n\tmsm_mux_qdss_tracectl_a___11 = 8,\n\tmsm_mux_blsp_uart2___6 = 9,\n\tmsm_mux_aud_cdc = 10,\n\tmsm_mux_blsp_i2c_sda_a2 = 11,\n\tmsm_mux_qdss_tracedata_a___11 = 12,\n\tmsm_mux_blsp_i2c_scl_a2 = 13,\n\tmsm_mux_qdss_tracectl_b___11 = 14,\n\tmsm_mux_qdss_cti_trig_in_b0___7 = 15,\n\tmsm_mux_blsp_uart1___5 = 16,\n\tmsm_mux_blsp_spi_mosi_a1 = 17,\n\tmsm_mux_blsp_spi_miso_a1 = 18,\n\tmsm_mux_qdss_tracedata_b___11 = 19,\n\tmsm_mux_blsp_i2c1___7 = 20,\n\tmsm_mux_blsp_spi_cs_n_a1 = 21,\n\tmsm_mux_gcc_plltest___7 = 22,\n\tmsm_mux_blsp_spi_clk_a1 = 23,\n\tmsm_mux_rgb_data0 = 24,\n\tmsm_mux_blsp_uart5___5 = 25,\n\tmsm_mux_blsp_spi5___7 = 26,\n\tmsm_mux_adsp_ext___6 = 27,\n\tmsm_mux_rgb_data1 = 28,\n\tmsm_mux_prng_rosc___9 = 29,\n\tmsm_mux_rgb_data2 = 30,\n\tmsm_mux_blsp_i2c5___7 = 31,\n\tmsm_mux_gcc_gp1_clk_b___6 = 32,\n\tmsm_mux_rgb_data3 = 33,\n\tmsm_mux_gcc_gp2_clk_b___6 = 34,\n\tmsm_mux_blsp_spi0 = 35,\n\tmsm_mux_blsp_uart0 = 36,\n\tmsm_mux_gcc_gp3_clk_b___6 = 37,\n\tmsm_mux_blsp_i2c0 = 38,\n\tmsm_mux_qdss_traceclk_b___11 = 39,\n\tmsm_mux_pcie_clk = 40,\n\tmsm_mux_nfc_irq___2 = 41,\n\tmsm_mux_blsp_spi4___7 = 42,\n\tmsm_mux_nfc_dwl___2 = 43,\n\tmsm_mux_audio_ts = 44,\n\tmsm_mux_rgb_data4 = 45,\n\tmsm_mux_spi_lcd = 46,\n\tmsm_mux_blsp_uart_tx_b2 = 47,\n\tmsm_mux_gcc_gp3_clk_a___6 = 48,\n\tmsm_mux_rgb_data5 = 49,\n\tmsm_mux_blsp_uart_rx_b2 = 50,\n\tmsm_mux_blsp_i2c_sda_b2 = 51,\n\tmsm_mux_blsp_i2c_scl_b2 = 52,\n\tmsm_mux_pwm_led11 = 53,\n\tmsm_mux_i2s_3_data0_a = 54,\n\tmsm_mux_ebi2_lcd = 55,\n\tmsm_mux_i2s_3_data1_a = 56,\n\tmsm_mux_i2s_3_data2_a = 57,\n\tmsm_mux_atest_char___10 = 58,\n\tmsm_mux_pwm_led3 = 59,\n\tmsm_mux_i2s_3_data3_a = 60,\n\tmsm_mux_pwm_led4 = 61,\n\tmsm_mux_i2s_4 = 62,\n\tmsm_mux_ebi2_a = 63,\n\tmsm_mux_dsd_clk_b = 64,\n\tmsm_mux_pwm_led5 = 65,\n\tmsm_mux_pwm_led6 = 66,\n\tmsm_mux_pwm_led7 = 67,\n\tmsm_mux_pwm_led8 = 68,\n\tmsm_mux_pwm_led24 = 69,\n\tmsm_mux_spkr_dac0 = 70,\n\tmsm_mux_blsp_i2c4___7 = 71,\n\tmsm_mux_pwm_led9 = 72,\n\tmsm_mux_pwm_led10 = 73,\n\tmsm_mux_spdifrx_opt = 74,\n\tmsm_mux_pwm_led12 = 75,\n\tmsm_mux_pwm_led13 = 76,\n\tmsm_mux_pwm_led14 = 77,\n\tmsm_mux_wlan1_adc1___3 = 78,\n\tmsm_mux_rgb_data_b0 = 79,\n\tmsm_mux_pwm_led15 = 80,\n\tmsm_mux_blsp_spi_mosi_b1 = 81,\n\tmsm_mux_wlan1_adc0___3 = 82,\n\tmsm_mux_rgb_data_b1 = 83,\n\tmsm_mux_pwm_led16 = 84,\n\tmsm_mux_blsp_spi_miso_b1 = 85,\n\tmsm_mux_qdss_cti_trig_out_b0___7 = 86,\n\tmsm_mux_wlan2_adc1___2 = 87,\n\tmsm_mux_rgb_data_b2 = 88,\n\tmsm_mux_pwm_led17 = 89,\n\tmsm_mux_blsp_spi_cs_n_b1 = 90,\n\tmsm_mux_wlan2_adc0___2 = 91,\n\tmsm_mux_rgb_data_b3 = 92,\n\tmsm_mux_pwm_led18 = 93,\n\tmsm_mux_blsp_spi_clk_b1 = 94,\n\tmsm_mux_rgb_data_b4 = 95,\n\tmsm_mux_pwm_led19 = 96,\n\tmsm_mux_ext_mclk1_b = 97,\n\tmsm_mux_qdss_traceclk_a___11 = 98,\n\tmsm_mux_rgb_data_b5 = 99,\n\tmsm_mux_pwm_led20 = 100,\n\tmsm_mux_atest_char3___8 = 101,\n\tmsm_mux_i2s_3_sck_b = 102,\n\tmsm_mux_ldo_update___6 = 103,\n\tmsm_mux_bimc_dte0___5 = 104,\n\tmsm_mux_rgb_hsync = 105,\n\tmsm_mux_pwm_led21 = 106,\n\tmsm_mux_i2s_3_ws_b = 107,\n\tmsm_mux_dbg_out___11 = 108,\n\tmsm_mux_rgb_vsync = 109,\n\tmsm_mux_i2s_3_data0_b = 110,\n\tmsm_mux_ldo_en___6 = 111,\n\tmsm_mux_hdmi_dtest = 112,\n\tmsm_mux_rgb_de = 113,\n\tmsm_mux_i2s_3_data1_b = 114,\n\tmsm_mux_hdmi_lbk9 = 115,\n\tmsm_mux_rgb_clk = 116,\n\tmsm_mux_atest_char1___8 = 117,\n\tmsm_mux_i2s_3_data2_b = 118,\n\tmsm_mux_ebi_cdc___2 = 119,\n\tmsm_mux_hdmi_lbk8 = 120,\n\tmsm_mux_rgb_mdp = 121,\n\tmsm_mux_atest_char0___8 = 122,\n\tmsm_mux_i2s_3_data3_b = 123,\n\tmsm_mux_hdmi_lbk7 = 124,\n\tmsm_mux_rgb_data_b6 = 125,\n\tmsm_mux_rgb_data_b7 = 126,\n\tmsm_mux_hdmi_lbk6 = 127,\n\tmsm_mux_rgmii_int = 128,\n\tmsm_mux_cri_trng1___10 = 129,\n\tmsm_mux_rgmii_wol = 130,\n\tmsm_mux_cri_trng0___10 = 131,\n\tmsm_mux_gcc_tlmm___7 = 132,\n\tmsm_mux_rgmii_ck = 133,\n\tmsm_mux_rgmii_tx = 134,\n\tmsm_mux_hdmi_lbk5 = 135,\n\tmsm_mux_hdmi_pixel = 136,\n\tmsm_mux_hdmi_rcv___4 = 137,\n\tmsm_mux_hdmi_lbk4 = 138,\n\tmsm_mux_rgmii_ctl = 139,\n\tmsm_mux_ext_lpass___3 = 140,\n\tmsm_mux_rgmii_rx = 141,\n\tmsm_mux_cri_trng___8 = 142,\n\tmsm_mux_hdmi_lbk3 = 143,\n\tmsm_mux_hdmi_lbk2 = 144,\n\tmsm_mux_qdss_cti_trig_out_b1___7 = 145,\n\tmsm_mux_rgmii_mdio = 146,\n\tmsm_mux_hdmi_lbk1 = 147,\n\tmsm_mux_rgmii_mdc = 148,\n\tmsm_mux_hdmi_lbk0 = 149,\n\tmsm_mux_ir_in = 150,\n\tmsm_mux_wsa_en___3 = 151,\n\tmsm_mux_rgb_data6 = 152,\n\tmsm_mux_rgb_data7 = 153,\n\tmsm_mux_atest_char2___8 = 154,\n\tmsm_mux_ebi_ch0___2 = 155,\n\tmsm_mux_blsp_uart3___3 = 156,\n\tmsm_mux_blsp_spi3___7 = 157,\n\tmsm_mux_sd_write___9 = 158,\n\tmsm_mux_blsp_i2c3___7 = 159,\n\tmsm_mux_gcc_gp1_clk_a___6 = 160,\n\tmsm_mux_qdss_cti_trig_in_b1___7 = 161,\n\tmsm_mux_gcc_gp2_clk_a___6 = 162,\n\tmsm_mux_ext_mclk0 = 163,\n\tmsm_mux_mclk_in1 = 164,\n\tmsm_mux_i2s_1 = 165,\n\tmsm_mux_dsd_clk_a = 166,\n\tmsm_mux_qdss_cti_trig_in_a1___7 = 167,\n\tmsm_mux_rgmi_dll1 = 168,\n\tmsm_mux_pwm_led22 = 169,\n\tmsm_mux_pwm_led23 = 170,\n\tmsm_mux_qdss_cti_trig_out_a0___7 = 171,\n\tmsm_mux_rgmi_dll2 = 172,\n\tmsm_mux_pwm_led1 = 173,\n\tmsm_mux_qdss_cti_trig_out_a1___7 = 174,\n\tmsm_mux_pwm_led2 = 175,\n\tmsm_mux_i2s_2 = 176,\n\tmsm_mux_pll_bist___2 = 177,\n\tmsm_mux_ext_mclk1_a = 178,\n\tmsm_mux_mclk_in2 = 179,\n\tmsm_mux_bimc_dte1___5 = 180,\n\tmsm_mux_i2s_3_sck_a = 181,\n\tmsm_mux_i2s_3_ws_a = 182,\n\tmsm_mux_____8 = 183,\n};\n\nenum qcs615_functions {\n\tmsm_mux_gpio___14 = 0,\n\tmsm_mux_adsp_ext___7 = 1,\n\tmsm_mux_agera_pll___3 = 2,\n\tmsm_mux_aoss_cti = 3,\n\tmsm_mux_atest_char___11 = 4,\n\tmsm_mux_atest_tsens___5 = 5,\n\tmsm_mux_atest_usb = 6,\n\tmsm_mux_cam_mclk___6 = 7,\n\tmsm_mux_cci_async___6 = 8,\n\tmsm_mux_cci_i2c___6 = 9,\n\tmsm_mux_cci_timer = 10,\n\tmsm_mux_copy_gp = 11,\n\tmsm_mux_copy_phase = 12,\n\tmsm_mux_cri_trng___9 = 13,\n\tmsm_mux_dbg_out_clk = 14,\n\tmsm_mux_ddr_bist___5 = 15,\n\tmsm_mux_ddr_pxi = 16,\n\tmsm_mux_dp_hot = 17,\n\tmsm_mux_edp_hot___3 = 18,\n\tmsm_mux_edp_lcd___3 = 19,\n\tmsm_mux_emac_gcc = 20,\n\tmsm_mux_emac_phy_intr = 21,\n\tmsm_mux_forced_usb = 22,\n\tmsm_mux_gcc_gp = 23,\n\tmsm_mux_gp_pdm = 24,\n\tmsm_mux_gps_tx___2 = 25,\n\tmsm_mux_hs0_mi2s = 26,\n\tmsm_mux_hs1_mi2s = 27,\n\tmsm_mux_jitter_bist___3 = 28,\n\tmsm_mux_ldo_en___7 = 29,\n\tmsm_mux_ldo_update___7 = 30,\n\tmsm_mux_m_voc___8 = 31,\n\tmsm_mux_mclk1 = 32,\n\tmsm_mux_mclk2 = 33,\n\tmsm_mux_mdp_vsync___8 = 34,\n\tmsm_mux_mdp_vsync0_out = 35,\n\tmsm_mux_mdp_vsync1_out = 36,\n\tmsm_mux_mdp_vsync2_out = 37,\n\tmsm_mux_mdp_vsync3_out = 38,\n\tmsm_mux_mdp_vsync4_out = 39,\n\tmsm_mux_mdp_vsync5_out = 40,\n\tmsm_mux_mi2s_1 = 41,\n\tmsm_mux_mss_lte___6 = 42,\n\tmsm_mux_nav_pps_in = 43,\n\tmsm_mux_nav_pps_out = 44,\n\tmsm_mux_pa_indicator_or = 45,\n\tmsm_mux_pcie_clk_req = 46,\n\tmsm_mux_pcie_ep_rst = 47,\n\tmsm_mux_phase_flag___3 = 48,\n\tmsm_mux_pll_bist___3 = 49,\n\tmsm_mux_pll_bypassnl___4 = 50,\n\tmsm_mux_pll_reset_n = 51,\n\tmsm_mux_prng_rosc___10 = 52,\n\tmsm_mux_qdss_cti___3 = 53,\n\tmsm_mux_qdss_gpio___2 = 54,\n\tmsm_mux_qlink_enable___2 = 55,\n\tmsm_mux_qlink_request___2 = 56,\n\tmsm_mux_qspi = 57,\n\tmsm_mux_qup0___2 = 58,\n\tmsm_mux_qup1___2 = 59,\n\tmsm_mux_rgmii = 60,\n\tmsm_mux_sd_write_protect = 61,\n\tmsm_mux_sp_cmu___2 = 62,\n\tmsm_mux_ter_mi2s___4 = 63,\n\tmsm_mux_tgu_ch = 64,\n\tmsm_mux_uim1___4 = 65,\n\tmsm_mux_uim2___4 = 66,\n\tmsm_mux_usb0_hs = 67,\n\tmsm_mux_usb1_hs = 68,\n\tmsm_mux_usb_phy_ps = 69,\n\tmsm_mux_vfr_1___4 = 70,\n\tmsm_mux_vsense_trigger_mirnat = 71,\n\tmsm_mux_wlan = 72,\n\tmsm_mux_wsa_clk = 73,\n\tmsm_mux_wsa_data = 74,\n\tmsm_mux_____9 = 75,\n};\n\nenum qcs8300_functions {\n\tmsm_mux_gpio___15 = 0,\n\tmsm_mux_aoss_cti___2 = 1,\n\tmsm_mux_atest_char___12 = 2,\n\tmsm_mux_atest_usb2___2 = 3,\n\tmsm_mux_audio_ref___3 = 4,\n\tmsm_mux_cam_mclk___7 = 5,\n\tmsm_mux_cci_async___7 = 6,\n\tmsm_mux_cci_i2c_scl = 7,\n\tmsm_mux_cci_i2c_sda = 8,\n\tmsm_mux_cci_timer___2 = 9,\n\tmsm_mux_cri_trng___10 = 10,\n\tmsm_mux_dbg_out___12 = 11,\n\tmsm_mux_ddr_bist___6 = 12,\n\tmsm_mux_ddr_pxi0___2 = 13,\n\tmsm_mux_ddr_pxi1___2 = 14,\n\tmsm_mux_ddr_pxi2___2 = 15,\n\tmsm_mux_ddr_pxi3___2 = 16,\n\tmsm_mux_edp0_hot = 17,\n\tmsm_mux_edp0_lcd = 18,\n\tmsm_mux_edp1_lcd = 19,\n\tmsm_mux_egpio = 20,\n\tmsm_mux_emac0_mcg0 = 21,\n\tmsm_mux_emac0_mcg1 = 22,\n\tmsm_mux_emac0_mcg2 = 23,\n\tmsm_mux_emac0_mcg3 = 24,\n\tmsm_mux_emac0_mdc = 25,\n\tmsm_mux_emac0_mdio = 26,\n\tmsm_mux_emac0_ptp_aux = 27,\n\tmsm_mux_emac0_ptp_pps = 28,\n\tmsm_mux_gcc_gp1___2 = 29,\n\tmsm_mux_gcc_gp2___2 = 30,\n\tmsm_mux_gcc_gp3___2 = 31,\n\tmsm_mux_gcc_gp4 = 32,\n\tmsm_mux_gcc_gp5 = 33,\n\tmsm_mux_hs0_mi2s___2 = 34,\n\tmsm_mux_hs1_mi2s___2 = 35,\n\tmsm_mux_hs2_mi2s = 36,\n\tmsm_mux_ibi_i3c = 37,\n\tmsm_mux_jitter_bist___4 = 38,\n\tmsm_mux_mdp0_vsync0 = 39,\n\tmsm_mux_mdp0_vsync1 = 40,\n\tmsm_mux_mdp0_vsync3 = 41,\n\tmsm_mux_mdp0_vsync6 = 42,\n\tmsm_mux_mdp0_vsync7 = 43,\n\tmsm_mux_mdp_vsync___9 = 44,\n\tmsm_mux_mi2s1_data0 = 45,\n\tmsm_mux_mi2s1_data1 = 46,\n\tmsm_mux_mi2s1_sck = 47,\n\tmsm_mux_mi2s1_ws = 48,\n\tmsm_mux_mi2s2_data0 = 49,\n\tmsm_mux_mi2s2_data1 = 50,\n\tmsm_mux_mi2s2_sck = 51,\n\tmsm_mux_mi2s2_ws = 52,\n\tmsm_mux_mi2s_mclk0 = 53,\n\tmsm_mux_mi2s_mclk1 = 54,\n\tmsm_mux_pcie0_clkreq = 55,\n\tmsm_mux_pcie1_clkreq = 56,\n\tmsm_mux_phase_flag___4 = 57,\n\tmsm_mux_pll_bist___4 = 58,\n\tmsm_mux_pll_clk = 59,\n\tmsm_mux_prng_rosc0___3 = 60,\n\tmsm_mux_prng_rosc1___3 = 61,\n\tmsm_mux_prng_rosc2___3 = 62,\n\tmsm_mux_prng_rosc3___3 = 63,\n\tmsm_mux_qdss_cti___4 = 64,\n\tmsm_mux_qdss_gpio___3 = 65,\n\tmsm_mux_qup0_se0 = 66,\n\tmsm_mux_qup0_se1 = 67,\n\tmsm_mux_qup0_se2 = 68,\n\tmsm_mux_qup0_se3 = 69,\n\tmsm_mux_qup0_se4 = 70,\n\tmsm_mux_qup0_se5 = 71,\n\tmsm_mux_qup0_se6 = 72,\n\tmsm_mux_qup0_se7 = 73,\n\tmsm_mux_qup1_se0 = 74,\n\tmsm_mux_qup1_se1 = 75,\n\tmsm_mux_qup1_se2 = 76,\n\tmsm_mux_qup1_se3 = 77,\n\tmsm_mux_qup1_se4 = 78,\n\tmsm_mux_qup1_se5 = 79,\n\tmsm_mux_qup1_se6 = 80,\n\tmsm_mux_qup1_se7 = 81,\n\tmsm_mux_qup2_se0 = 82,\n\tmsm_mux_sailss_emac0 = 83,\n\tmsm_mux_sailss_ospi = 84,\n\tmsm_mux_sgmii_phy = 85,\n\tmsm_mux_tb_trig = 86,\n\tmsm_mux_tgu_ch0___3 = 87,\n\tmsm_mux_tgu_ch1___3 = 88,\n\tmsm_mux_tgu_ch2___2 = 89,\n\tmsm_mux_tgu_ch3___2 = 90,\n\tmsm_mux_tsense_pwm1___3 = 91,\n\tmsm_mux_tsense_pwm2___3 = 92,\n\tmsm_mux_tsense_pwm3 = 93,\n\tmsm_mux_tsense_pwm4 = 94,\n\tmsm_mux_usb2phy_ac = 95,\n\tmsm_mux_vsense_trigger___2 = 96,\n\tmsm_mux_____10 = 97,\n};\n\nenum qdisc_class_ops_flags {\n\tQDISC_CLASS_OPS_DOIT_UNLOCKED = 1,\n};\n\nenum qdisc_state2_t {\n\t__QDISC_STATE2_RUNNING = 0,\n};\n\nenum qdisc_state_t {\n\t__QDISC_STATE_SCHED = 0,\n\t__QDISC_STATE_DEACTIVATED = 1,\n\t__QDISC_STATE_MISSED = 2,\n\t__QDISC_STATE_DRAINING = 3,\n};\n\nenum qdu1000_functions {\n\tmsm_mux_gpio___16 = 0,\n\tmsm_mux_cmo_pri = 1,\n\tmsm_mux_si5518_int = 2,\n\tmsm_mux_atest_char___13 = 3,\n\tmsm_mux_atest_usb___2 = 4,\n\tmsm_mux_char_exec___2 = 5,\n\tmsm_mux_cmu_rng = 6,\n\tmsm_mux_dbg_out_clk___2 = 7,\n\tmsm_mux_ddr_bist___7 = 8,\n\tmsm_mux_ddr_pxi0___3 = 9,\n\tmsm_mux_ddr_pxi1___3 = 10,\n\tmsm_mux_ddr_pxi2___3 = 11,\n\tmsm_mux_ddr_pxi3___3 = 12,\n\tmsm_mux_ddr_pxi4 = 13,\n\tmsm_mux_ddr_pxi5 = 14,\n\tmsm_mux_ddr_pxi6 = 15,\n\tmsm_mux_ddr_pxi7 = 16,\n\tmsm_mux_eth012_int_n = 17,\n\tmsm_mux_eth345_int_n = 18,\n\tmsm_mux_eth6_int_n = 19,\n\tmsm_mux_gcc_gp1___3 = 20,\n\tmsm_mux_gcc_gp2___3 = 21,\n\tmsm_mux_gcc_gp3___3 = 22,\n\tmsm_mux_gps_pps_in = 23,\n\tmsm_mux_hardsync_pps_in = 24,\n\tmsm_mux_intr_c = 25,\n\tmsm_mux_jitter_bist_ref = 26,\n\tmsm_mux_pcie_clkreqn = 27,\n\tmsm_mux_phase_flag___5 = 28,\n\tmsm_mux_pll_bist___5 = 29,\n\tmsm_mux_pll_clk___2 = 30,\n\tmsm_mux_prng_rosc___11 = 31,\n\tmsm_mux_qdss_cti___5 = 32,\n\tmsm_mux_qdss_gpio___4 = 33,\n\tmsm_mux_qlink0_enable = 34,\n\tmsm_mux_qlink0_request = 35,\n\tmsm_mux_qlink0_wmss = 36,\n\tmsm_mux_qlink1_enable = 37,\n\tmsm_mux_qlink1_request = 38,\n\tmsm_mux_qlink1_wmss = 39,\n\tmsm_mux_qlink2_enable = 40,\n\tmsm_mux_qlink2_request = 41,\n\tmsm_mux_qlink2_wmss = 42,\n\tmsm_mux_qlink3_enable = 43,\n\tmsm_mux_qlink3_request = 44,\n\tmsm_mux_qlink3_wmss = 45,\n\tmsm_mux_qlink4_enable = 46,\n\tmsm_mux_qlink4_request = 47,\n\tmsm_mux_qlink4_wmss = 48,\n\tmsm_mux_qlink5_enable = 49,\n\tmsm_mux_qlink5_request = 50,\n\tmsm_mux_qlink5_wmss = 51,\n\tmsm_mux_qlink6_enable = 52,\n\tmsm_mux_qlink6_request = 53,\n\tmsm_mux_qlink6_wmss = 54,\n\tmsm_mux_qlink7_enable = 55,\n\tmsm_mux_qlink7_request = 56,\n\tmsm_mux_qlink7_wmss = 57,\n\tmsm_mux_qspi_clk___5 = 58,\n\tmsm_mux_qspi_cs___5 = 59,\n\tmsm_mux_qspi0___2 = 60,\n\tmsm_mux_qspi1___2 = 61,\n\tmsm_mux_qspi2___2 = 62,\n\tmsm_mux_qspi3___2 = 63,\n\tmsm_mux_qup00 = 64,\n\tmsm_mux_qup01 = 65,\n\tmsm_mux_qup02 = 66,\n\tmsm_mux_qup03 = 67,\n\tmsm_mux_qup04 = 68,\n\tmsm_mux_qup05 = 69,\n\tmsm_mux_qup06 = 70,\n\tmsm_mux_qup07 = 71,\n\tmsm_mux_qup08 = 72,\n\tmsm_mux_qup10 = 73,\n\tmsm_mux_qup11 = 74,\n\tmsm_mux_qup12 = 75,\n\tmsm_mux_qup13 = 76,\n\tmsm_mux_qup14 = 77,\n\tmsm_mux_qup15 = 78,\n\tmsm_mux_qup16 = 79,\n\tmsm_mux_qup17 = 80,\n\tmsm_mux_qup20 = 81,\n\tmsm_mux_qup21 = 82,\n\tmsm_mux_qup22 = 83,\n\tmsm_mux_smb_alert = 84,\n\tmsm_mux_smb_clk = 85,\n\tmsm_mux_smb_dat = 86,\n\tmsm_mux_tb_trig___2 = 87,\n\tmsm_mux_tgu_ch0___4 = 88,\n\tmsm_mux_tgu_ch1___4 = 89,\n\tmsm_mux_tgu_ch2___3 = 90,\n\tmsm_mux_tgu_ch3___3 = 91,\n\tmsm_mux_tgu_ch4 = 92,\n\tmsm_mux_tgu_ch5 = 93,\n\tmsm_mux_tgu_ch6 = 94,\n\tmsm_mux_tgu_ch7 = 95,\n\tmsm_mux_tmess_prng0 = 96,\n\tmsm_mux_tmess_prng1 = 97,\n\tmsm_mux_tmess_prng2 = 98,\n\tmsm_mux_tmess_prng3 = 99,\n\tmsm_mux_tod_pps_in = 100,\n\tmsm_mux_tsense_pwm1___4 = 101,\n\tmsm_mux_tsense_pwm2___4 = 102,\n\tmsm_mux_usb2phy_ac___2 = 103,\n\tmsm_mux_usb_con_det = 104,\n\tmsm_mux_usb_dfp_en = 105,\n\tmsm_mux_usb_phy___3 = 106,\n\tmsm_mux_vfr_0 = 107,\n\tmsm_mux_vfr_1___5 = 108,\n\tmsm_mux_vsense_trigger___3 = 109,\n\tmsm_mux_____11 = 110,\n};\n\nenum qm_dc_portal {\n\tqm_dc_portal_fman0 = 0,\n\tqm_dc_portal_fman1 = 1,\n};\n\nenum qm_dqrr_cmode {\n\tqm_dqrr_cci = 0,\n\tqm_dqrr_cce = 1,\n\tqm_dqrr_cdc = 2,\n};\n\nenum qm_dqrr_dmode {\n\tqm_dqrr_dpush = 0,\n\tqm_dqrr_dpull = 1,\n};\n\nenum qm_dqrr_pmode {\n\tqm_dqrr_pci = 0,\n\tqm_dqrr_pce = 1,\n\tqm_dqrr_pvb = 2,\n};\n\nenum qm_eqcr_pmode {\n\tqm_eqcr_pci = 0,\n\tqm_eqcr_pce = 1,\n\tqm_eqcr_pvb = 2,\n};\n\nenum qm_fd_format {\n\tqm_fd_contig = 0,\n\tqm_fd_contig_big = 1073741824,\n\tqm_fd_sg = 2147483648,\n\tqm_fd_sg_big = 3221225472,\n\tqm_fd_compound = 536870912,\n};\n\nenum qm_memory {\n\tqm_memory_fqd = 0,\n\tqm_memory_pfdr = 1,\n};\n\nenum qm_mr_cmode {\n\tqm_mr_cci = 0,\n\tqm_mr_cce = 1,\n};\n\nenum qm_mr_pmode {\n\tqm_mr_pci = 0,\n\tqm_mr_pce = 1,\n\tqm_mr_pvb = 2,\n};\n\nenum qm_wq_class {\n\tqm_wq_portal = 0,\n\tqm_wq_pool = 1,\n\tqm_wq_fman0 = 2,\n\tqm_wq_fman1 = 3,\n\tqm_wq_caam = 4,\n\tqm_wq_pme = 5,\n\tqm_wq_first = 0,\n\tqm_wq_last = 5,\n};\n\nenum qman_cb_dqrr_result {\n\tqman_cb_dqrr_consume = 0,\n\tqman_cb_dqrr_park = 1,\n\tqman_cb_dqrr_defer = 2,\n\tqman_cb_dqrr_stop = 3,\n\tqman_cb_dqrr_consume_stop = 4,\n};\n\nenum qman_fq_state {\n\tqman_fq_state_oos = 0,\n\tqman_fq_state_parked = 1,\n\tqman_fq_state_sched = 2,\n\tqman_fq_state_retired = 3,\n};\n\nenum qos_mode {\n\tNOC_QOS_MODE_INVALID = 0,\n\tNOC_QOS_MODE_FIXED = 1,\n\tNOC_QOS_MODE_BYPASS = 2,\n};\n\nenum qpnpint_regs {\n\tQPNPINT_REG_RT_STS = 16,\n\tQPNPINT_REG_SET_TYPE = 17,\n\tQPNPINT_REG_POLARITY_HIGH = 18,\n\tQPNPINT_REG_POLARITY_LOW = 19,\n\tQPNPINT_REG_LATCHED_CLR = 20,\n\tQPNPINT_REG_EN_SET = 21,\n\tQPNPINT_REG_EN_CLR = 22,\n\tQPNPINT_REG_LATCHED_STS = 24,\n};\n\nenum query_opcode {\n\tUPIU_QUERY_OPCODE_NOP = 0,\n\tUPIU_QUERY_OPCODE_READ_DESC = 1,\n\tUPIU_QUERY_OPCODE_WRITE_DESC = 2,\n\tUPIU_QUERY_OPCODE_READ_ATTR = 3,\n\tUPIU_QUERY_OPCODE_WRITE_ATTR = 4,\n\tUPIU_QUERY_OPCODE_READ_FLAG = 5,\n\tUPIU_QUERY_OPCODE_SET_FLAG = 6,\n\tUPIU_QUERY_OPCODE_CLEAR_FLAG = 7,\n\tUPIU_QUERY_OPCODE_TOGGLE_FLAG = 8,\n};\n\nenum queue_mode {\n\tQUEUE_MODE_STRICT_PRIORITY = 0,\n\tQUEUE_MODE_STREAM_RESERVATION = 1,\n};\n\nenum quota_type {\n\tUSRQUOTA = 0,\n\tGRPQUOTA = 1,\n\tPRJQUOTA = 2,\n};\n\nenum r8a77970_clk_types {\n\tCLK_TYPE_R8A77970_SD0H = 23,\n\tCLK_TYPE_R8A77970_SD0 = 24,\n};\n\nenum ramfs_param {\n\tOpt_mode___5 = 0,\n};\n\nenum ravb_reg {\n\tCCC = 0,\n\tDBAT = 4,\n\tDLR = 8,\n\tCSR = 12,\n\tCDAR0 = 16,\n\tCDAR1 = 20,\n\tCDAR2 = 24,\n\tCDAR3 = 28,\n\tCDAR4 = 32,\n\tCDAR5 = 36,\n\tCDAR6 = 40,\n\tCDAR7 = 44,\n\tCDAR8 = 48,\n\tCDAR9 = 52,\n\tCDAR10 = 56,\n\tCDAR11 = 60,\n\tCDAR12 = 64,\n\tCDAR13 = 68,\n\tCDAR14 = 72,\n\tCDAR15 = 76,\n\tCDAR16 = 80,\n\tCDAR17 = 84,\n\tCDAR18 = 88,\n\tCDAR19 = 92,\n\tCDAR20 = 96,\n\tCDAR21 = 100,\n\tESR = 136,\n\tAPSR = 140,\n\tRCR = 144,\n\tRQC0 = 148,\n\tRQC1 = 152,\n\tRQC2 = 156,\n\tRQC3 = 160,\n\tRQC4 = 164,\n\tRPC = 176,\n\tRTC = 180,\n\tUFCW = 188,\n\tUFCS = 192,\n\tUFCV0 = 196,\n\tUFCV1 = 200,\n\tUFCV2 = 204,\n\tUFCV3 = 208,\n\tUFCV4 = 212,\n\tUFCD0 = 224,\n\tUFCD1 = 228,\n\tUFCD2 = 232,\n\tUFCD3 = 236,\n\tUFCD4 = 240,\n\tSFO = 252,\n\tSFP0 = 256,\n\tSFP1 = 260,\n\tSFP2 = 264,\n\tSFP3 = 268,\n\tSFP4 = 272,\n\tSFP5 = 276,\n\tSFP6 = 280,\n\tSFP7 = 284,\n\tSFP8 = 288,\n\tSFP9 = 292,\n\tSFP10 = 296,\n\tSFP11 = 300,\n\tSFP12 = 304,\n\tSFP13 = 308,\n\tSFP14 = 312,\n\tSFP15 = 316,\n\tSFP16 = 320,\n\tSFP17 = 324,\n\tSFP18 = 328,\n\tSFP19 = 332,\n\tSFP20 = 336,\n\tSFP21 = 340,\n\tSFP22 = 344,\n\tSFP23 = 348,\n\tSFP24 = 352,\n\tSFP25 = 356,\n\tSFP26 = 360,\n\tSFP27 = 364,\n\tSFP28 = 368,\n\tSFP29 = 372,\n\tSFP30 = 376,\n\tSFP31 = 380,\n\tSFM0 = 448,\n\tSFM1 = 452,\n\tTGC = 768,\n\tTCCR = 772,\n\tTSR = 776,\n\tTFA0 = 784,\n\tTFA1 = 788,\n\tTFA2 = 792,\n\tCIVR0 = 800,\n\tCIVR1 = 804,\n\tCDVR0 = 808,\n\tCDVR1 = 812,\n\tCUL0 = 816,\n\tCUL1 = 820,\n\tCLL0 = 824,\n\tCLL1 = 828,\n\tDIC = 848,\n\tDIS = 852,\n\tEIC = 856,\n\tEIS = 860,\n\tRIC0 = 864,\n\tRIS0 = 868,\n\tRIC1 = 872,\n\tRIS1 = 876,\n\tRIC2 = 880,\n\tRIS2 = 884,\n\tTIC = 888,\n\tTIS = 892,\n\tISS = 896,\n\tCIE = 900,\n\tGCCR = 912,\n\tGMTT = 916,\n\tGPTC = 920,\n\tGTI = 924,\n\tGTO0 = 928,\n\tGTO1 = 932,\n\tGTO2 = 936,\n\tGIC = 940,\n\tGIS = 944,\n\tGCPT = 948,\n\tGCT0 = 952,\n\tGCT1 = 956,\n\tGCT2 = 960,\n\tGIE = 972,\n\tGID = 976,\n\tDIL = 1088,\n\tRIE0 = 1120,\n\tRID0 = 1124,\n\tRIE2 = 1136,\n\tRID2 = 1140,\n\tTIE = 1144,\n\tTID = 1148,\n\tECMR___2 = 1280,\n\tRFLR___2 = 1288,\n\tECSR___2 = 1296,\n\tECSIPR___2 = 1304,\n\tPIR___2 = 1312,\n\tPSR___2 = 1320,\n\tPIPR___2 = 1324,\n\tCXR31 = 1328,\n\tCXR35 = 1344,\n\tMPR___2 = 1368,\n\tPFTCR___2 = 1372,\n\tPFRCR___2 = 1376,\n\tGECMR___2 = 1456,\n\tMAHR___2 = 1472,\n\tMALR___2 = 1480,\n\tTROCR___2 = 1792,\n\tCXR41 = 1800,\n\tCXR42 = 1808,\n\tCEFCR___2 = 1856,\n\tFRECR___2 = 1864,\n\tTSFRCR___2 = 1872,\n\tTLFRCR___2 = 1880,\n\tRFCR___2 = 1888,\n\tMAFCR___2 = 1912,\n\tCSR0 = 2048,\n\tCSR1 = 2052,\n\tCSR2 = 2056,\n};\n\nenum rcar_gen3_clk_types {\n\tCLK_TYPE_GEN3_MAIN = 5,\n\tCLK_TYPE_GEN3_PLL0 = 6,\n\tCLK_TYPE_GEN3_PLL1 = 7,\n\tCLK_TYPE_GEN3_PLL2 = 8,\n\tCLK_TYPE_GEN3_PLL3 = 9,\n\tCLK_TYPE_GEN3_PLL4 = 10,\n\tCLK_TYPE_GEN3_SDH = 11,\n\tCLK_TYPE_GEN3_SD = 12,\n\tCLK_TYPE_GEN3_R = 13,\n\tCLK_TYPE_GEN3_MDSEL = 14,\n\tCLK_TYPE_GEN3_Z = 15,\n\tCLK_TYPE_GEN3_ZG = 16,\n\tCLK_TYPE_GEN3_OSC = 17,\n\tCLK_TYPE_GEN3_RCKSEL = 18,\n\tCLK_TYPE_GEN3_RPCSRC = 19,\n\tCLK_TYPE_GEN3_E3_RPCSRC = 20,\n\tCLK_TYPE_GEN3_RPC = 21,\n\tCLK_TYPE_GEN3_RPCD2 = 22,\n\tCLK_TYPE_GEN3_SOC_BASE = 23,\n};\n\nenum rcar_gen3_phy_index {\n\tPHY_INDEX_BOTH_HC = 0,\n\tPHY_INDEX_OHCI = 1,\n\tPHY_INDEX_EHCI = 2,\n\tPHY_INDEX_HSUSB = 3,\n};\n\nenum rcar_gen4_clk_types {\n\tCLK_TYPE_GEN4_MAIN = 5,\n\tCLK_TYPE_GEN4_PLL1 = 6,\n\tCLK_TYPE_GEN4_PLL2X_3X = 7,\n\tCLK_TYPE_GEN4_PLL5 = 8,\n\tCLK_TYPE_GEN4_PLL_F8_25 = 9,\n\tCLK_TYPE_GEN4_PLL_V8_25 = 10,\n\tCLK_TYPE_GEN4_PLL_F9_24 = 11,\n\tCLK_TYPE_GEN4_PLL_V9_24 = 12,\n\tCLK_TYPE_GEN4_SDSRC = 13,\n\tCLK_TYPE_GEN4_SDH = 14,\n\tCLK_TYPE_GEN4_SD = 15,\n\tCLK_TYPE_GEN4_MDSEL = 16,\n\tCLK_TYPE_GEN4_Z = 17,\n\tCLK_TYPE_GEN4_OSC = 18,\n\tCLK_TYPE_GEN4_RPCSRC = 19,\n\tCLK_TYPE_GEN4_RPC = 20,\n\tCLK_TYPE_GEN4_RPCD2 = 21,\n\tCLK_TYPE_GEN4_SOC_BASE = 22,\n};\n\nenum rcar_gen4_ptp_reg {\n\tPTPTMEC = 16,\n\tPTPTMDC = 20,\n\tPTPTIVC0 = 32,\n\tPTPTOVC00 = 48,\n\tPTPTOVC10 = 52,\n\tPTPTOVC20 = 56,\n\tPTPGPTPTM00 = 80,\n\tPTPGPTPTM10 = 84,\n\tPTPGPTPTM20 = 88,\n};\n\nenum rcar_gen4_ptp_reg_layout {\n\tRCAR_GEN4_PTP_REG_LAYOUT = 0,\n};\n\nenum rcar_i2c_type {\n\tI2C_RCAR_GEN1 = 0,\n\tI2C_RCAR_GEN2 = 1,\n\tI2C_RCAR_GEN3 = 2,\n\tI2C_RCAR_GEN4 = 3,\n};\n\nenum rcb_int_flag {\n\tRCB_INT_FLAG_TX = 1,\n\tRCB_INT_FLAG_RX = 2,\n\tRCB_INT_FLAG_MAX = 4,\n};\n\nenum rdma_ah_attr_type {\n\tRDMA_AH_ATTR_TYPE_UNDEFINED = 0,\n\tRDMA_AH_ATTR_TYPE_IB = 1,\n\tRDMA_AH_ATTR_TYPE_ROCE = 2,\n\tRDMA_AH_ATTR_TYPE_OPA = 3,\n};\n\nenum rdma_driver_id {\n\tRDMA_DRIVER_UNKNOWN = 0,\n\tRDMA_DRIVER_MLX5 = 1,\n\tRDMA_DRIVER_MLX4 = 2,\n\tRDMA_DRIVER_CXGB3 = 3,\n\tRDMA_DRIVER_CXGB4 = 4,\n\tRDMA_DRIVER_MTHCA = 5,\n\tRDMA_DRIVER_BNXT_RE = 6,\n\tRDMA_DRIVER_OCRDMA = 7,\n\tRDMA_DRIVER_NES = 8,\n\tRDMA_DRIVER_I40IW = 9,\n\tRDMA_DRIVER_IRDMA = 9,\n\tRDMA_DRIVER_VMW_PVRDMA = 10,\n\tRDMA_DRIVER_QEDR = 11,\n\tRDMA_DRIVER_HNS = 12,\n\tRDMA_DRIVER_USNIC = 13,\n\tRDMA_DRIVER_RXE = 14,\n\tRDMA_DRIVER_HFI1 = 15,\n\tRDMA_DRIVER_QIB = 16,\n\tRDMA_DRIVER_EFA = 17,\n\tRDMA_DRIVER_SIW = 18,\n\tRDMA_DRIVER_ERDMA = 19,\n\tRDMA_DRIVER_MANA = 20,\n};\n\nenum rdma_link_layer {\n\tIB_LINK_LAYER_UNSPECIFIED = 0,\n\tIB_LINK_LAYER_INFINIBAND = 1,\n\tIB_LINK_LAYER_ETHERNET = 2,\n};\n\nenum rdma_netdev_t {\n\tRDMA_NETDEV_OPA_VNIC = 0,\n\tRDMA_NETDEV_IPOIB = 1,\n};\n\nenum rdma_nl_counter_mask {\n\tRDMA_COUNTER_MASK_QP_TYPE = 1,\n\tRDMA_COUNTER_MASK_PID = 2,\n};\n\nenum rdma_nl_counter_mode {\n\tRDMA_COUNTER_MODE_NONE = 0,\n\tRDMA_COUNTER_MODE_AUTO = 1,\n\tRDMA_COUNTER_MODE_MANUAL = 2,\n\tRDMA_COUNTER_MODE_MAX = 3,\n};\n\nenum rdma_nl_dev_type {\n\tRDMA_DEVICE_TYPE_SMI = 1,\n};\n\nenum rdma_nl_name_assign_type {\n\tRDMA_NAME_ASSIGN_TYPE_UNKNOWN = 0,\n\tRDMA_NAME_ASSIGN_TYPE_USER = 1,\n};\n\nenum rdma_restrack_type {\n\tRDMA_RESTRACK_PD = 0,\n\tRDMA_RESTRACK_CQ = 1,\n\tRDMA_RESTRACK_QP = 2,\n\tRDMA_RESTRACK_CM_ID = 3,\n\tRDMA_RESTRACK_MR = 4,\n\tRDMA_RESTRACK_CTX = 5,\n\tRDMA_RESTRACK_COUNTER = 6,\n\tRDMA_RESTRACK_SRQ = 7,\n\tRDMA_RESTRACK_MAX = 8,\n};\n\nenum reboot_mode {\n\tREBOOT_UNDEFINED = -1,\n\tREBOOT_COLD = 0,\n\tREBOOT_WARM = 1,\n\tREBOOT_HARD = 2,\n\tREBOOT_SOFT = 3,\n\tREBOOT_GPIO = 4,\n};\n\nenum reboot_type {\n\tBOOT_TRIPLE = 116,\n\tBOOT_KBD = 107,\n\tBOOT_BIOS = 98,\n\tBOOT_ACPI = 97,\n\tBOOT_EFI = 101,\n\tBOOT_CF9_FORCE = 112,\n\tBOOT_CF9_SAFE = 113,\n};\n\nenum ref_state_type {\n\tREF_TYPE_PTR = 1,\n\tREF_TYPE_IRQ = 2,\n\tREF_TYPE_LOCK = 3,\n};\n\nenum refcount_saturation_type {\n\tREFCOUNT_ADD_NOT_ZERO_OVF = 0,\n\tREFCOUNT_ADD_OVF = 1,\n\tREFCOUNT_ADD_UAF = 2,\n\tREFCOUNT_SUB_UAF = 3,\n\tREFCOUNT_DEC_LEAK = 4,\n};\n\nenum reg_arg_type {\n\tSRC_OP = 0,\n\tDST_OP = 1,\n\tDST_OP_NO_MARK = 2,\n};\n\nenum regcache_type {\n\tREGCACHE_NONE = 0,\n\tREGCACHE_RBTREE = 1,\n\tREGCACHE_FLAT = 2,\n\tREGCACHE_MAPLE = 3,\n};\n\nenum regex_type {\n\tMATCH_FULL = 0,\n\tMATCH_FRONT_ONLY = 1,\n\tMATCH_MIDDLE_ONLY = 2,\n\tMATCH_END_ONLY = 3,\n\tMATCH_GLOB = 4,\n\tMATCH_INDEX = 5,\n};\n\nenum regfield_ids {\n\tVER_MAJOR = 0,\n\tVER_MINOR = 1,\n\tVER_STEP = 2,\n\tTSENS_EN = 3,\n\tTSENS_SW_RST = 4,\n\tSENSOR_EN = 5,\n\tCODE_OR_TEMP = 6,\n\tTRDY = 7,\n\tINT_EN = 8,\n\tLAST_TEMP_0 = 9,\n\tLAST_TEMP_1 = 10,\n\tLAST_TEMP_2 = 11,\n\tLAST_TEMP_3 = 12,\n\tLAST_TEMP_4 = 13,\n\tLAST_TEMP_5 = 14,\n\tLAST_TEMP_6 = 15,\n\tLAST_TEMP_7 = 16,\n\tLAST_TEMP_8 = 17,\n\tLAST_TEMP_9 = 18,\n\tLAST_TEMP_10 = 19,\n\tLAST_TEMP_11 = 20,\n\tLAST_TEMP_12 = 21,\n\tLAST_TEMP_13 = 22,\n\tLAST_TEMP_14 = 23,\n\tLAST_TEMP_15 = 24,\n\tVALID_0 = 25,\n\tVALID_1 = 26,\n\tVALID_2 = 27,\n\tVALID_3 = 28,\n\tVALID_4 = 29,\n\tVALID_5 = 30,\n\tVALID_6 = 31,\n\tVALID_7 = 32,\n\tVALID_8 = 33,\n\tVALID_9 = 34,\n\tVALID_10 = 35,\n\tVALID_11 = 36,\n\tVALID_12 = 37,\n\tVALID_13 = 38,\n\tVALID_14 = 39,\n\tVALID_15 = 40,\n\tLOWER_STATUS_0 = 41,\n\tLOWER_STATUS_1 = 42,\n\tLOWER_STATUS_2 = 43,\n\tLOWER_STATUS_3 = 44,\n\tLOWER_STATUS_4 = 45,\n\tLOWER_STATUS_5 = 46,\n\tLOWER_STATUS_6 = 47,\n\tLOWER_STATUS_7 = 48,\n\tLOWER_STATUS_8 = 49,\n\tLOWER_STATUS_9 = 50,\n\tLOWER_STATUS_10 = 51,\n\tLOWER_STATUS_11 = 52,\n\tLOWER_STATUS_12 = 53,\n\tLOWER_STATUS_13 = 54,\n\tLOWER_STATUS_14 = 55,\n\tLOWER_STATUS_15 = 56,\n\tLOW_INT_STATUS_0 = 57,\n\tLOW_INT_STATUS_1 = 58,\n\tLOW_INT_STATUS_2 = 59,\n\tLOW_INT_STATUS_3 = 60,\n\tLOW_INT_STATUS_4 = 61,\n\tLOW_INT_STATUS_5 = 62,\n\tLOW_INT_STATUS_6 = 63,\n\tLOW_INT_STATUS_7 = 64,\n\tLOW_INT_STATUS_8 = 65,\n\tLOW_INT_STATUS_9 = 66,\n\tLOW_INT_STATUS_10 = 67,\n\tLOW_INT_STATUS_11 = 68,\n\tLOW_INT_STATUS_12 = 69,\n\tLOW_INT_STATUS_13 = 70,\n\tLOW_INT_STATUS_14 = 71,\n\tLOW_INT_STATUS_15 = 72,\n\tLOW_INT_CLEAR_0 = 73,\n\tLOW_INT_CLEAR_1 = 74,\n\tLOW_INT_CLEAR_2 = 75,\n\tLOW_INT_CLEAR_3 = 76,\n\tLOW_INT_CLEAR_4 = 77,\n\tLOW_INT_CLEAR_5 = 78,\n\tLOW_INT_CLEAR_6 = 79,\n\tLOW_INT_CLEAR_7 = 80,\n\tLOW_INT_CLEAR_8 = 81,\n\tLOW_INT_CLEAR_9 = 82,\n\tLOW_INT_CLEAR_10 = 83,\n\tLOW_INT_CLEAR_11 = 84,\n\tLOW_INT_CLEAR_12 = 85,\n\tLOW_INT_CLEAR_13 = 86,\n\tLOW_INT_CLEAR_14 = 87,\n\tLOW_INT_CLEAR_15 = 88,\n\tLOW_INT_MASK_0 = 89,\n\tLOW_INT_MASK_1 = 90,\n\tLOW_INT_MASK_2 = 91,\n\tLOW_INT_MASK_3 = 92,\n\tLOW_INT_MASK_4 = 93,\n\tLOW_INT_MASK_5 = 94,\n\tLOW_INT_MASK_6 = 95,\n\tLOW_INT_MASK_7 = 96,\n\tLOW_INT_MASK_8 = 97,\n\tLOW_INT_MASK_9 = 98,\n\tLOW_INT_MASK_10 = 99,\n\tLOW_INT_MASK_11 = 100,\n\tLOW_INT_MASK_12 = 101,\n\tLOW_INT_MASK_13 = 102,\n\tLOW_INT_MASK_14 = 103,\n\tLOW_INT_MASK_15 = 104,\n\tLOW_THRESH_0 = 105,\n\tLOW_THRESH_1 = 106,\n\tLOW_THRESH_2 = 107,\n\tLOW_THRESH_3 = 108,\n\tLOW_THRESH_4 = 109,\n\tLOW_THRESH_5 = 110,\n\tLOW_THRESH_6 = 111,\n\tLOW_THRESH_7 = 112,\n\tLOW_THRESH_8 = 113,\n\tLOW_THRESH_9 = 114,\n\tLOW_THRESH_10 = 115,\n\tLOW_THRESH_11 = 116,\n\tLOW_THRESH_12 = 117,\n\tLOW_THRESH_13 = 118,\n\tLOW_THRESH_14 = 119,\n\tLOW_THRESH_15 = 120,\n\tUPPER_STATUS_0 = 121,\n\tUPPER_STATUS_1 = 122,\n\tUPPER_STATUS_2 = 123,\n\tUPPER_STATUS_3 = 124,\n\tUPPER_STATUS_4 = 125,\n\tUPPER_STATUS_5 = 126,\n\tUPPER_STATUS_6 = 127,\n\tUPPER_STATUS_7 = 128,\n\tUPPER_STATUS_8 = 129,\n\tUPPER_STATUS_9 = 130,\n\tUPPER_STATUS_10 = 131,\n\tUPPER_STATUS_11 = 132,\n\tUPPER_STATUS_12 = 133,\n\tUPPER_STATUS_13 = 134,\n\tUPPER_STATUS_14 = 135,\n\tUPPER_STATUS_15 = 136,\n\tUP_INT_STATUS_0 = 137,\n\tUP_INT_STATUS_1 = 138,\n\tUP_INT_STATUS_2 = 139,\n\tUP_INT_STATUS_3 = 140,\n\tUP_INT_STATUS_4 = 141,\n\tUP_INT_STATUS_5 = 142,\n\tUP_INT_STATUS_6 = 143,\n\tUP_INT_STATUS_7 = 144,\n\tUP_INT_STATUS_8 = 145,\n\tUP_INT_STATUS_9 = 146,\n\tUP_INT_STATUS_10 = 147,\n\tUP_INT_STATUS_11 = 148,\n\tUP_INT_STATUS_12 = 149,\n\tUP_INT_STATUS_13 = 150,\n\tUP_INT_STATUS_14 = 151,\n\tUP_INT_STATUS_15 = 152,\n\tUP_INT_CLEAR_0 = 153,\n\tUP_INT_CLEAR_1 = 154,\n\tUP_INT_CLEAR_2 = 155,\n\tUP_INT_CLEAR_3 = 156,\n\tUP_INT_CLEAR_4 = 157,\n\tUP_INT_CLEAR_5 = 158,\n\tUP_INT_CLEAR_6 = 159,\n\tUP_INT_CLEAR_7 = 160,\n\tUP_INT_CLEAR_8 = 161,\n\tUP_INT_CLEAR_9 = 162,\n\tUP_INT_CLEAR_10 = 163,\n\tUP_INT_CLEAR_11 = 164,\n\tUP_INT_CLEAR_12 = 165,\n\tUP_INT_CLEAR_13 = 166,\n\tUP_INT_CLEAR_14 = 167,\n\tUP_INT_CLEAR_15 = 168,\n\tUP_INT_MASK_0 = 169,\n\tUP_INT_MASK_1 = 170,\n\tUP_INT_MASK_2 = 171,\n\tUP_INT_MASK_3 = 172,\n\tUP_INT_MASK_4 = 173,\n\tUP_INT_MASK_5 = 174,\n\tUP_INT_MASK_6 = 175,\n\tUP_INT_MASK_7 = 176,\n\tUP_INT_MASK_8 = 177,\n\tUP_INT_MASK_9 = 178,\n\tUP_INT_MASK_10 = 179,\n\tUP_INT_MASK_11 = 180,\n\tUP_INT_MASK_12 = 181,\n\tUP_INT_MASK_13 = 182,\n\tUP_INT_MASK_14 = 183,\n\tUP_INT_MASK_15 = 184,\n\tUP_THRESH_0 = 185,\n\tUP_THRESH_1 = 186,\n\tUP_THRESH_2 = 187,\n\tUP_THRESH_3 = 188,\n\tUP_THRESH_4 = 189,\n\tUP_THRESH_5 = 190,\n\tUP_THRESH_6 = 191,\n\tUP_THRESH_7 = 192,\n\tUP_THRESH_8 = 193,\n\tUP_THRESH_9 = 194,\n\tUP_THRESH_10 = 195,\n\tUP_THRESH_11 = 196,\n\tUP_THRESH_12 = 197,\n\tUP_THRESH_13 = 198,\n\tUP_THRESH_14 = 199,\n\tUP_THRESH_15 = 200,\n\tCRITICAL_STATUS_0 = 201,\n\tCRITICAL_STATUS_1 = 202,\n\tCRITICAL_STATUS_2 = 203,\n\tCRITICAL_STATUS_3 = 204,\n\tCRITICAL_STATUS_4 = 205,\n\tCRITICAL_STATUS_5 = 206,\n\tCRITICAL_STATUS_6 = 207,\n\tCRITICAL_STATUS_7 = 208,\n\tCRITICAL_STATUS_8 = 209,\n\tCRITICAL_STATUS_9 = 210,\n\tCRITICAL_STATUS_10 = 211,\n\tCRITICAL_STATUS_11 = 212,\n\tCRITICAL_STATUS_12 = 213,\n\tCRITICAL_STATUS_13 = 214,\n\tCRITICAL_STATUS_14 = 215,\n\tCRITICAL_STATUS_15 = 216,\n\tCRIT_INT_STATUS_0 = 217,\n\tCRIT_INT_STATUS_1 = 218,\n\tCRIT_INT_STATUS_2 = 219,\n\tCRIT_INT_STATUS_3 = 220,\n\tCRIT_INT_STATUS_4 = 221,\n\tCRIT_INT_STATUS_5 = 222,\n\tCRIT_INT_STATUS_6 = 223,\n\tCRIT_INT_STATUS_7 = 224,\n\tCRIT_INT_STATUS_8 = 225,\n\tCRIT_INT_STATUS_9 = 226,\n\tCRIT_INT_STATUS_10 = 227,\n\tCRIT_INT_STATUS_11 = 228,\n\tCRIT_INT_STATUS_12 = 229,\n\tCRIT_INT_STATUS_13 = 230,\n\tCRIT_INT_STATUS_14 = 231,\n\tCRIT_INT_STATUS_15 = 232,\n\tCRIT_INT_CLEAR_0 = 233,\n\tCRIT_INT_CLEAR_1 = 234,\n\tCRIT_INT_CLEAR_2 = 235,\n\tCRIT_INT_CLEAR_3 = 236,\n\tCRIT_INT_CLEAR_4 = 237,\n\tCRIT_INT_CLEAR_5 = 238,\n\tCRIT_INT_CLEAR_6 = 239,\n\tCRIT_INT_CLEAR_7 = 240,\n\tCRIT_INT_CLEAR_8 = 241,\n\tCRIT_INT_CLEAR_9 = 242,\n\tCRIT_INT_CLEAR_10 = 243,\n\tCRIT_INT_CLEAR_11 = 244,\n\tCRIT_INT_CLEAR_12 = 245,\n\tCRIT_INT_CLEAR_13 = 246,\n\tCRIT_INT_CLEAR_14 = 247,\n\tCRIT_INT_CLEAR_15 = 248,\n\tCRIT_INT_MASK_0 = 249,\n\tCRIT_INT_MASK_1 = 250,\n\tCRIT_INT_MASK_2 = 251,\n\tCRIT_INT_MASK_3 = 252,\n\tCRIT_INT_MASK_4 = 253,\n\tCRIT_INT_MASK_5 = 254,\n\tCRIT_INT_MASK_6 = 255,\n\tCRIT_INT_MASK_7 = 256,\n\tCRIT_INT_MASK_8 = 257,\n\tCRIT_INT_MASK_9 = 258,\n\tCRIT_INT_MASK_10 = 259,\n\tCRIT_INT_MASK_11 = 260,\n\tCRIT_INT_MASK_12 = 261,\n\tCRIT_INT_MASK_13 = 262,\n\tCRIT_INT_MASK_14 = 263,\n\tCRIT_INT_MASK_15 = 264,\n\tCRIT_THRESH_0 = 265,\n\tCRIT_THRESH_1 = 266,\n\tCRIT_THRESH_2 = 267,\n\tCRIT_THRESH_3 = 268,\n\tCRIT_THRESH_4 = 269,\n\tCRIT_THRESH_5 = 270,\n\tCRIT_THRESH_6 = 271,\n\tCRIT_THRESH_7 = 272,\n\tCRIT_THRESH_8 = 273,\n\tCRIT_THRESH_9 = 274,\n\tCRIT_THRESH_10 = 275,\n\tCRIT_THRESH_11 = 276,\n\tCRIT_THRESH_12 = 277,\n\tCRIT_THRESH_13 = 278,\n\tCRIT_THRESH_14 = 279,\n\tCRIT_THRESH_15 = 280,\n\tWDOG_BARK_STATUS = 281,\n\tWDOG_BARK_CLEAR = 282,\n\tWDOG_BARK_MASK = 283,\n\tWDOG_BARK_COUNT = 284,\n\tCC_MON_STATUS = 285,\n\tCC_MON_CLEAR = 286,\n\tCC_MON_MASK = 287,\n\tMIN_STATUS_0 = 288,\n\tMIN_STATUS_1 = 289,\n\tMIN_STATUS_2 = 290,\n\tMIN_STATUS_3 = 291,\n\tMIN_STATUS_4 = 292,\n\tMIN_STATUS_5 = 293,\n\tMIN_STATUS_6 = 294,\n\tMIN_STATUS_7 = 295,\n\tMIN_STATUS_8 = 296,\n\tMIN_STATUS_9 = 297,\n\tMIN_STATUS_10 = 298,\n\tMIN_STATUS_11 = 299,\n\tMIN_STATUS_12 = 300,\n\tMIN_STATUS_13 = 301,\n\tMIN_STATUS_14 = 302,\n\tMIN_STATUS_15 = 303,\n\tMAX_STATUS_0 = 304,\n\tMAX_STATUS_1 = 305,\n\tMAX_STATUS_2 = 306,\n\tMAX_STATUS_3 = 307,\n\tMAX_STATUS_4 = 308,\n\tMAX_STATUS_5 = 309,\n\tMAX_STATUS_6 = 310,\n\tMAX_STATUS_7 = 311,\n\tMAX_STATUS_8 = 312,\n\tMAX_STATUS_9 = 313,\n\tMAX_STATUS_10 = 314,\n\tMAX_STATUS_11 = 315,\n\tMAX_STATUS_12 = 316,\n\tMAX_STATUS_13 = 317,\n\tMAX_STATUS_14 = 318,\n\tMAX_STATUS_15 = 319,\n\tMAX_REGFIELDS = 320,\n};\n\nenum regmap_endian {\n\tREGMAP_ENDIAN_DEFAULT = 0,\n\tREGMAP_ENDIAN_BIG = 1,\n\tREGMAP_ENDIAN_LITTLE = 2,\n\tREGMAP_ENDIAN_NATIVE = 3,\n};\n\nenum regulator_active_discharge {\n\tREGULATOR_ACTIVE_DISCHARGE_DEFAULT = 0,\n\tREGULATOR_ACTIVE_DISCHARGE_DISABLE = 1,\n\tREGULATOR_ACTIVE_DISCHARGE_ENABLE = 2,\n};\n\nenum regulator_detection_severity {\n\tREGULATOR_SEVERITY_PROT = 0,\n\tREGULATOR_SEVERITY_ERR = 1,\n\tREGULATOR_SEVERITY_WARN = 2,\n};\n\nenum regulator_get_type {\n\tNORMAL_GET = 0,\n\tEXCLUSIVE_GET = 1,\n\tOPTIONAL_GET = 2,\n\tMAX_GET_TYPE = 3,\n};\n\nenum regulator_status {\n\tREGULATOR_STATUS_OFF = 0,\n\tREGULATOR_STATUS_ON = 1,\n\tREGULATOR_STATUS_ERROR = 2,\n\tREGULATOR_STATUS_FAST = 3,\n\tREGULATOR_STATUS_NORMAL = 4,\n\tREGULATOR_STATUS_IDLE = 5,\n\tREGULATOR_STATUS_STANDBY = 6,\n\tREGULATOR_STATUS_BYPASS = 7,\n\tREGULATOR_STATUS_UNDEFINED = 8,\n};\n\nenum regulator_type {\n\tREGULATOR_VOLTAGE = 0,\n\tREGULATOR_CURRENT = 1,\n};\n\nenum release_type {\n\tleaf_only = 0,\n\twhole_subtree = 1,\n};\n\nenum renesas_sdhi_dma_cookie {\n\tCOOKIE_UNMAPPED___2 = 0,\n\tCOOKIE_PRE_MAPPED___2 = 1,\n\tCOOKIE_MAPPED___2 = 2,\n};\n\nenum req_flag_bits {\n\t__REQ_FAILFAST_DEV = 8,\n\t__REQ_FAILFAST_TRANSPORT = 9,\n\t__REQ_FAILFAST_DRIVER = 10,\n\t__REQ_SYNC = 11,\n\t__REQ_META = 12,\n\t__REQ_PRIO = 13,\n\t__REQ_NOMERGE = 14,\n\t__REQ_IDLE = 15,\n\t__REQ_INTEGRITY = 16,\n\t__REQ_FUA = 17,\n\t__REQ_PREFLUSH = 18,\n\t__REQ_RAHEAD = 19,\n\t__REQ_BACKGROUND = 20,\n\t__REQ_NOWAIT = 21,\n\t__REQ_POLLED = 22,\n\t__REQ_ALLOC_CACHE = 23,\n\t__REQ_SWAP = 24,\n\t__REQ_DRV = 25,\n\t__REQ_FS_PRIVATE = 26,\n\t__REQ_ATOMIC = 27,\n\t__REQ_NOUNMAP = 28,\n\t__REQ_NR_BITS = 29,\n};\n\nenum req_op {\n\tREQ_OP_READ = 0,\n\tREQ_OP_WRITE = 1,\n\tREQ_OP_FLUSH = 2,\n\tREQ_OP_DISCARD = 3,\n\tREQ_OP_SECURE_ERASE = 5,\n\tREQ_OP_ZONE_APPEND = 7,\n\tREQ_OP_WRITE_ZEROES = 9,\n\tREQ_OP_ZONE_OPEN = 10,\n\tREQ_OP_ZONE_CLOSE = 11,\n\tREQ_OP_ZONE_FINISH = 12,\n\tREQ_OP_ZONE_RESET = 13,\n\tREQ_OP_ZONE_RESET_ALL = 15,\n\tREQ_OP_DRV_IN = 34,\n\tREQ_OP_DRV_OUT = 35,\n\tREQ_OP_LAST = 36,\n};\n\nenum resctrl_conf_type {\n\tCDP_NONE = 0,\n\tCDP_CODE = 1,\n\tCDP_DATA = 2,\n};\n\nenum reset_control_flags {\n\tRESET_CONTROL_EXCLUSIVE = 4,\n\tRESET_CONTROL_EXCLUSIVE_DEASSERTED = 12,\n\tRESET_CONTROL_EXCLUSIVE_RELEASED = 0,\n\tRESET_CONTROL_SHARED = 1,\n\tRESET_CONTROL_SHARED_DEASSERTED = 9,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE = 6,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE_DEASSERTED = 14,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED = 2,\n\tRESET_CONTROL_OPTIONAL_SHARED = 3,\n\tRESET_CONTROL_OPTIONAL_SHARED_DEASSERTED = 11,\n};\n\nenum resolve_mode {\n\tRESOLVE_TBD = 0,\n\tRESOLVE_PTR = 1,\n\tRESOLVE_STRUCT_OR_ARRAY = 2,\n};\n\nenum rgmii_clock_delay {\n\tRGMII_CLK_DELAY_0_2_NS = 0,\n\tRGMII_CLK_DELAY_0_8_NS = 1,\n\tRGMII_CLK_DELAY_1_1_NS = 2,\n\tRGMII_CLK_DELAY_1_7_NS = 3,\n\tRGMII_CLK_DELAY_2_0_NS = 4,\n\tRGMII_CLK_DELAY_2_3_NS = 5,\n\tRGMII_CLK_DELAY_2_6_NS = 6,\n\tRGMII_CLK_DELAY_3_4_NS = 7,\n};\n\nenum riic_reg_list {\n\tRIIC_ICCR1 = 0,\n\tRIIC_ICCR2 = 1,\n\tRIIC_ICMR1 = 2,\n\tRIIC_ICMR3 = 3,\n\tRIIC_ICFER = 4,\n\tRIIC_ICSER = 5,\n\tRIIC_ICIER = 6,\n\tRIIC_ICSR2 = 7,\n\tRIIC_ICBRL = 8,\n\tRIIC_ICBRH = 9,\n\tRIIC_ICDRT = 10,\n\tRIIC_ICDRR = 11,\n\tRIIC_REG_END = 12,\n};\n\nenum ring_buffer_flags {\n\tRB_FL_OVERWRITE = 1,\n};\n\nenum ring_buffer_type {\n\tRINGBUF_TYPE_DATA_TYPE_LEN_MAX = 28,\n\tRINGBUF_TYPE_PADDING = 29,\n\tRINGBUF_TYPE_TIME_EXTEND = 30,\n\tRINGBUF_TYPE_TIME_STAMP = 31,\n};\n\nenum ring_id {\n\tNETSEC_RING_TX = 0,\n\tNETSEC_RING_RX = 1,\n};\n\nenum ripas {\n\tRSI_RIPAS_EMPTY = 0,\n\tRSI_RIPAS_RAM = 1,\n\tRSI_RIPAS_DESTROYED = 2,\n\tRSI_RIPAS_DEV = 3,\n};\n\nenum rk3308_plls {\n\tapll___2 = 0,\n\tdpll___2 = 1,\n\tvpll0 = 2,\n\tvpll1 = 3,\n};\n\nenum rk3328_plls {\n\tapll___3 = 0,\n\tdpll___3 = 1,\n\tcpll___2 = 2,\n\tgpll___2 = 3,\n\tnpll___2 = 4,\n};\n\nenum rk3368_plls {\n\tapllb = 0,\n\taplll = 1,\n\tdpll___4 = 2,\n\tcpll___3 = 3,\n\tgpll___3 = 4,\n\tnpll___3 = 5,\n};\n\nenum rk3399_plls {\n\tlpll = 0,\n\tbpll = 1,\n\tdpll___5 = 2,\n\tcpll___4 = 3,\n\tgpll___4 = 4,\n\tnpll___4 = 5,\n\tvpll = 6,\n};\n\nenum rk3399_pmu_plls {\n\tppll = 0,\n};\n\nenum rk3568_plls {\n\tapll___4 = 0,\n\tdpll___6 = 1,\n\tgpll___5 = 2,\n\tcpll___5 = 3,\n\tnpll___5 = 4,\n\tvpll___2 = 5,\n};\n\nenum rk3568_pmu_plls {\n\tppll___2 = 0,\n\thpll = 1,\n};\n\nenum rk3576_plls {\n\tbpll___2 = 0,\n\tlpll___2 = 1,\n\tvpll___3 = 2,\n\taupll = 3,\n\tcpll___6 = 4,\n\tgpll___6 = 5,\n\tppll___3 = 6,\n};\n\nenum rk3588_plls {\n\tb0pll = 0,\n\tb1pll = 1,\n\tlpll___3 = 2,\n\tv0pll = 3,\n\taupll___2 = 4,\n\tcpll___7 = 5,\n\tgpll___7 = 6,\n\tnpll___6 = 7,\n\tppll___4 = 8,\n};\n\nenum rk3x_i2c_state {\n\tSTATE_IDLE___3 = 0,\n\tSTATE_START = 1,\n\tSTATE_READ___2 = 2,\n\tSTATE_WRITE___2 = 3,\n\tSTATE_STOP = 4,\n};\n\nenum rk805_reg {\n\tRK805_ID_DCDC1 = 0,\n\tRK805_ID_DCDC2 = 1,\n\tRK805_ID_DCDC3 = 2,\n\tRK805_ID_DCDC4 = 3,\n\tRK805_ID_LDO1 = 4,\n\tRK805_ID_LDO2 = 5,\n\tRK805_ID_LDO3 = 6,\n};\n\nenum rk806_irqs {\n\tRK806_IRQ_PWRON_FALL = 0,\n\tRK806_IRQ_PWRON_RISE = 1,\n\tRK806_IRQ_PWRON = 2,\n\tRK806_IRQ_PWRON_LP = 3,\n\tRK806_IRQ_HOTDIE = 4,\n\tRK806_IRQ_VDC_RISE = 5,\n\tRK806_IRQ_VDC_FALL = 6,\n\tRK806_IRQ_VB_LO = 7,\n\tRK806_IRQ_REV0 = 8,\n\tRK806_IRQ_REV1 = 9,\n\tRK806_IRQ_REV2 = 10,\n\tRK806_IRQ_CRC_ERROR = 11,\n\tRK806_IRQ_SLP3_GPIO = 12,\n\tRK806_IRQ_SLP2_GPIO = 13,\n\tRK806_IRQ_SLP1_GPIO = 14,\n\tRK806_IRQ_WDT = 15,\n};\n\nenum rk806_reg_id {\n\tRK806_ID_DCDC1 = 0,\n\tRK806_ID_DCDC2 = 1,\n\tRK806_ID_DCDC3 = 2,\n\tRK806_ID_DCDC4 = 3,\n\tRK806_ID_DCDC5 = 4,\n\tRK806_ID_DCDC6 = 5,\n\tRK806_ID_DCDC7 = 6,\n\tRK806_ID_DCDC8 = 7,\n\tRK806_ID_DCDC9 = 8,\n\tRK806_ID_DCDC10 = 9,\n\tRK806_ID_NLDO1 = 10,\n\tRK806_ID_NLDO2 = 11,\n\tRK806_ID_NLDO3 = 12,\n\tRK806_ID_NLDO4 = 13,\n\tRK806_ID_NLDO5 = 14,\n\tRK806_ID_PLDO1 = 15,\n\tRK806_ID_PLDO2 = 16,\n\tRK806_ID_PLDO3 = 17,\n\tRK806_ID_PLDO4 = 18,\n\tRK806_ID_PLDO5 = 19,\n\tRK806_ID_PLDO6 = 20,\n\tRK806_ID_END = 21,\n};\n\nenum rk808_reg {\n\tRK808_ID_DCDC1 = 0,\n\tRK808_ID_DCDC2 = 1,\n\tRK808_ID_DCDC3 = 2,\n\tRK808_ID_DCDC4 = 3,\n\tRK808_ID_LDO1 = 4,\n\tRK808_ID_LDO2 = 5,\n\tRK808_ID_LDO3 = 6,\n\tRK808_ID_LDO4 = 7,\n\tRK808_ID_LDO5 = 8,\n\tRK808_ID_LDO6 = 9,\n\tRK808_ID_LDO7 = 10,\n\tRK808_ID_LDO8 = 11,\n\tRK808_ID_SWITCH1 = 12,\n\tRK808_ID_SWITCH2 = 13,\n};\n\nenum rk809_reg_id {\n\tRK809_ID_DCDC5 = 13,\n\tRK809_ID_SW1 = 14,\n\tRK809_ID_SW2 = 15,\n\tRK809_NUM_REGULATORS = 16,\n};\n\nenum rk816_irqs {\n\tRK816_IRQ_PWRON_FALL = 0,\n\tRK816_IRQ_PWRON_RISE = 1,\n\tRK816_IRQ_VB_LOW = 2,\n\tRK816_IRQ_PWRON = 3,\n\tRK816_IRQ_PWRON_LP = 4,\n\tRK816_IRQ_HOTDIE = 5,\n\tRK816_IRQ_RTC_ALARM = 6,\n\tRK816_IRQ_RTC_PERIOD = 7,\n\tRK816_IRQ_USB_OV = 8,\n\tRK816_IRQ_PLUG_IN = 9,\n\tRK816_IRQ_PLUG_OUT = 10,\n\tRK816_IRQ_CHG_OK = 11,\n\tRK816_IRQ_CHG_TE = 12,\n\tRK816_IRQ_CHG_TS = 13,\n\tRK816_IRQ_CHG_CVTLIM = 14,\n\tRK816_IRQ_DISCHG_ILIM = 15,\n};\n\nenum rk816_reg {\n\tRK816_ID_DCDC1 = 0,\n\tRK816_ID_DCDC2 = 1,\n\tRK816_ID_DCDC3 = 2,\n\tRK816_ID_DCDC4 = 3,\n\tRK816_ID_LDO1 = 4,\n\tRK816_ID_LDO2 = 5,\n\tRK816_ID_LDO3 = 6,\n\tRK816_ID_LDO4 = 7,\n\tRK816_ID_LDO5 = 8,\n\tRK816_ID_LDO6 = 9,\n\tRK816_ID_BOOST = 10,\n\tRK816_ID_OTG_SW = 11,\n};\n\nenum rk817_reg_id {\n\tRK817_ID_DCDC1 = 0,\n\tRK817_ID_DCDC2 = 1,\n\tRK817_ID_DCDC3 = 2,\n\tRK817_ID_DCDC4 = 3,\n\tRK817_ID_LDO1 = 4,\n\tRK817_ID_LDO2 = 5,\n\tRK817_ID_LDO3 = 6,\n\tRK817_ID_LDO4 = 7,\n\tRK817_ID_LDO5 = 8,\n\tRK817_ID_LDO6 = 9,\n\tRK817_ID_LDO7 = 10,\n\tRK817_ID_LDO8 = 11,\n\tRK817_ID_LDO9 = 12,\n\tRK817_ID_BOOST = 13,\n\tRK817_ID_BOOST_OTG_SW = 14,\n\tRK817_NUM_REGULATORS = 15,\n};\n\nenum rk818_reg {\n\tRK818_ID_DCDC1 = 0,\n\tRK818_ID_DCDC2 = 1,\n\tRK818_ID_DCDC3 = 2,\n\tRK818_ID_DCDC4 = 3,\n\tRK818_ID_BOOST = 4,\n\tRK818_ID_LDO1 = 5,\n\tRK818_ID_LDO2 = 6,\n\tRK818_ID_LDO3 = 7,\n\tRK818_ID_LDO4 = 8,\n\tRK818_ID_LDO5 = 9,\n\tRK818_ID_LDO6 = 10,\n\tRK818_ID_LDO7 = 11,\n\tRK818_ID_LDO8 = 12,\n\tRK818_ID_LDO9 = 13,\n\tRK818_ID_SWITCH = 14,\n\tRK818_ID_HDMI_SWITCH = 15,\n\tRK818_ID_OTG_SWITCH = 16,\n};\n\nenum rlimit_type {\n\tUCOUNT_RLIMIT_NPROC = 0,\n\tUCOUNT_RLIMIT_MSGQUEUE = 1,\n\tUCOUNT_RLIMIT_SIGPENDING = 2,\n\tUCOUNT_RLIMIT_MEMLOCK = 3,\n\tUCOUNT_RLIMIT_COUNTS = 4,\n};\n\nenum rmap_level {\n\tRMAP_LEVEL_PTE = 0,\n\tRMAP_LEVEL_PMD = 1,\n};\n\nenum rmi_reg_state {\n\tRMI_REG_STATE_DEFAULT = 0,\n\tRMI_REG_STATE_OFF = 1,\n\tRMI_REG_STATE_ON = 2,\n};\n\nenum rmi_sensor_type {\n\trmi_sensor_default = 0,\n\trmi_sensor_touchscreen = 1,\n\trmi_sensor_touchpad = 2,\n};\n\nenum rmp_flags {\n\tRMP_LOCKED = 1,\n\tRMP_USE_SHARED_ZEROPAGE = 2,\n};\n\nenum rockchip_clk_branch_type {\n\tbranch_composite = 0,\n\tbranch_mux = 1,\n\tbranch_muxgrf = 2,\n\tbranch_divider = 3,\n\tbranch_fraction_divider = 4,\n\tbranch_gate = 5,\n\tbranch_linked_gate = 6,\n\tbranch_mmc = 7,\n\tbranch_inverter = 8,\n\tbranch_factor = 9,\n\tbranch_ddrclk = 10,\n\tbranch_half_divider = 11,\n};\n\nenum rockchip_mux_route_location {\n\tROCKCHIP_ROUTE_SAME = 0,\n\tROCKCHIP_ROUTE_PMU = 1,\n\tROCKCHIP_ROUTE_GRF = 2,\n};\n\nenum rockchip_pin_drv_type {\n\tDRV_TYPE_IO_DEFAULT = 0,\n\tDRV_TYPE_IO_1V8_OR_3V0 = 1,\n\tDRV_TYPE_IO_1V8_ONLY = 2,\n\tDRV_TYPE_IO_1V8_3V0_AUTO = 3,\n\tDRV_TYPE_IO_3V3_ONLY = 4,\n\tDRV_TYPE_MAX = 5,\n};\n\nenum rockchip_pin_pull_type {\n\tPULL_TYPE_IO_DEFAULT = 0,\n\tPULL_TYPE_IO_1V8_ONLY = 1,\n\tPULL_TYPE_MAX = 2,\n};\n\nenum rockchip_pinctrl_type {\n\tPX30 = 0,\n\tRV1108 = 1,\n\tRV1126 = 2,\n\tRK2928 = 3,\n\tRK3066B = 4,\n\tRK3128 = 5,\n\tRK3188 = 6,\n\tRK3288 = 7,\n\tRK3308 = 8,\n\tRK3328 = 9,\n\tRK3368 = 10,\n\tRK3399 = 11,\n\tRK3562 = 12,\n\tRK3568 = 13,\n\tRK3576 = 14,\n\tRK3588 = 15,\n};\n\nenum rockchip_pll_type {\n\tpll_rk3036 = 0,\n\tpll_rk3066 = 1,\n\tpll_rk3328 = 2,\n\tpll_rk3399 = 3,\n\tpll_rk3588 = 4,\n\tpll_rk3588_core = 5,\n\tpll_rk3588_ddr = 6,\n};\n\nenum rockchip_usb2phy_host_state {\n\tPHY_STATE_HS_ONLINE = 0,\n\tPHY_STATE_DISCONNECT = 1,\n\tPHY_STATE_CONNECT = 2,\n\tPHY_STATE_FS_LS_ONLINE = 4,\n};\n\nenum rockchip_usb2phy_port_id {\n\tUSB2PHY_PORT_OTG = 0,\n\tUSB2PHY_PORT_HOST = 1,\n\tUSB2PHY_NUM_PORTS = 2,\n};\n\nenum rohm_chip_type {\n\tROHM_CHIP_TYPE_BD9571 = 0,\n\tROHM_CHIP_TYPE_BD9573 = 1,\n\tROHM_CHIP_TYPE_BD9574 = 2,\n\tROHM_CHIP_TYPE_BD9576 = 3,\n\tROHM_CHIP_TYPE_BD71815 = 4,\n\tROHM_CHIP_TYPE_BD71828 = 5,\n\tROHM_CHIP_TYPE_BD71837 = 6,\n\tROHM_CHIP_TYPE_BD71847 = 7,\n\tROHM_CHIP_TYPE_BD96801 = 8,\n\tROHM_CHIP_TYPE_AMOUNT = 9,\n};\n\nenum routing_attribute {\n\tDIRECT_ROUTING = 0,\n\tSUBTRACTIVE_ROUTING = 1,\n\tTABLE_ROUTING = 2,\n};\n\nenum rp_check {\n\tRP_CHECK_CALL = 0,\n\tRP_CHECK_CHAIN_CALL = 1,\n\tRP_CHECK_RET = 2,\n};\n\nenum rpc_accept_stat {\n\tRPC_SUCCESS = 0,\n\tRPC_PROG_UNAVAIL = 1,\n\tRPC_PROG_MISMATCH = 2,\n\tRPC_PROC_UNAVAIL = 3,\n\tRPC_GARBAGE_ARGS = 4,\n\tRPC_SYSTEM_ERR = 5,\n\tRPC_DROP_REPLY = 60000,\n};\n\nenum rpc_auth_flavors {\n\tRPC_AUTH_NULL = 0,\n\tRPC_AUTH_UNIX = 1,\n\tRPC_AUTH_SHORT = 2,\n\tRPC_AUTH_DES = 3,\n\tRPC_AUTH_KRB = 4,\n\tRPC_AUTH_GSS = 6,\n\tRPC_AUTH_TLS = 7,\n\tRPC_AUTH_MAXFLAVOR = 8,\n\tRPC_AUTH_GSS_KRB5 = 390003,\n\tRPC_AUTH_GSS_KRB5I = 390004,\n\tRPC_AUTH_GSS_KRB5P = 390005,\n\tRPC_AUTH_GSS_LKEY = 390006,\n\tRPC_AUTH_GSS_LKEYI = 390007,\n\tRPC_AUTH_GSS_LKEYP = 390008,\n\tRPC_AUTH_GSS_SPKM = 390009,\n\tRPC_AUTH_GSS_SPKMI = 390010,\n\tRPC_AUTH_GSS_SPKMP = 390011,\n};\n\nenum rpc_auth_stat {\n\tRPC_AUTH_OK = 0,\n\tRPC_AUTH_BADCRED = 1,\n\tRPC_AUTH_REJECTEDCRED = 2,\n\tRPC_AUTH_BADVERF = 3,\n\tRPC_AUTH_REJECTEDVERF = 4,\n\tRPC_AUTH_TOOWEAK = 5,\n\tRPCSEC_GSS_CREDPROBLEM = 13,\n\tRPCSEC_GSS_CTXPROBLEM = 14,\n};\n\nenum rpc_display_format_t {\n\tRPC_DISPLAY_ADDR = 0,\n\tRPC_DISPLAY_PORT = 1,\n\tRPC_DISPLAY_PROTO = 2,\n\tRPC_DISPLAY_HEX_ADDR = 3,\n\tRPC_DISPLAY_HEX_PORT = 4,\n\tRPC_DISPLAY_NETID = 5,\n\tRPC_DISPLAY_MAX = 6,\n};\n\nenum rpc_gss_proc {\n\tRPC_GSS_PROC_DATA = 0,\n\tRPC_GSS_PROC_INIT = 1,\n\tRPC_GSS_PROC_CONTINUE_INIT = 2,\n\tRPC_GSS_PROC_DESTROY = 3,\n};\n\nenum rpc_gss_svc {\n\tRPC_GSS_SVC_NONE = 1,\n\tRPC_GSS_SVC_INTEGRITY = 2,\n\tRPC_GSS_SVC_PRIVACY = 3,\n};\n\nenum rpc_msg_type {\n\tRPC_CALL = 0,\n\tRPC_REPLY = 1,\n};\n\nenum rpc_reject_stat {\n\tRPC_MISMATCH = 0,\n\tRPC_AUTH_ERROR = 1,\n};\n\nenum rpc_reply_stat {\n\tRPC_MSG_ACCEPTED = 0,\n\tRPC_MSG_DENIED = 1,\n};\n\nenum rpi_firmware_property_status {\n\tRPI_FIRMWARE_STATUS_REQUEST = 0,\n\tRPI_FIRMWARE_STATUS_SUCCESS = 2147483648,\n\tRPI_FIRMWARE_STATUS_ERROR = 2147483649,\n};\n\nenum rpi_firmware_property_tag {\n\tRPI_FIRMWARE_PROPERTY_END = 0,\n\tRPI_FIRMWARE_GET_FIRMWARE_REVISION = 1,\n\tRPI_FIRMWARE_SET_CURSOR_INFO = 32784,\n\tRPI_FIRMWARE_SET_CURSOR_STATE = 32785,\n\tRPI_FIRMWARE_GET_BOARD_MODEL = 65537,\n\tRPI_FIRMWARE_GET_BOARD_REVISION = 65538,\n\tRPI_FIRMWARE_GET_BOARD_MAC_ADDRESS = 65539,\n\tRPI_FIRMWARE_GET_BOARD_SERIAL = 65540,\n\tRPI_FIRMWARE_GET_ARM_MEMORY = 65541,\n\tRPI_FIRMWARE_GET_VC_MEMORY = 65542,\n\tRPI_FIRMWARE_GET_CLOCKS = 65543,\n\tRPI_FIRMWARE_GET_POWER_STATE = 131073,\n\tRPI_FIRMWARE_GET_TIMING = 131074,\n\tRPI_FIRMWARE_SET_POWER_STATE = 163841,\n\tRPI_FIRMWARE_GET_CLOCK_STATE = 196609,\n\tRPI_FIRMWARE_GET_CLOCK_RATE = 196610,\n\tRPI_FIRMWARE_GET_VOLTAGE = 196611,\n\tRPI_FIRMWARE_GET_MAX_CLOCK_RATE = 196612,\n\tRPI_FIRMWARE_GET_MAX_VOLTAGE = 196613,\n\tRPI_FIRMWARE_GET_TEMPERATURE = 196614,\n\tRPI_FIRMWARE_GET_MIN_CLOCK_RATE = 196615,\n\tRPI_FIRMWARE_GET_MIN_VOLTAGE = 196616,\n\tRPI_FIRMWARE_GET_TURBO = 196617,\n\tRPI_FIRMWARE_GET_MAX_TEMPERATURE = 196618,\n\tRPI_FIRMWARE_GET_STC = 196619,\n\tRPI_FIRMWARE_ALLOCATE_MEMORY = 196620,\n\tRPI_FIRMWARE_LOCK_MEMORY = 196621,\n\tRPI_FIRMWARE_UNLOCK_MEMORY = 196622,\n\tRPI_FIRMWARE_RELEASE_MEMORY = 196623,\n\tRPI_FIRMWARE_EXECUTE_CODE = 196624,\n\tRPI_FIRMWARE_EXECUTE_QPU = 196625,\n\tRPI_FIRMWARE_SET_ENABLE_QPU = 196626,\n\tRPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE = 196628,\n\tRPI_FIRMWARE_GET_EDID_BLOCK = 196640,\n\tRPI_FIRMWARE_GET_CUSTOMER_OTP = 196641,\n\tRPI_FIRMWARE_GET_DOMAIN_STATE = 196656,\n\tRPI_FIRMWARE_GET_THROTTLED = 196678,\n\tRPI_FIRMWARE_GET_CLOCK_MEASURED = 196679,\n\tRPI_FIRMWARE_NOTIFY_REBOOT = 196680,\n\tRPI_FIRMWARE_SET_CLOCK_STATE = 229377,\n\tRPI_FIRMWARE_SET_CLOCK_RATE = 229378,\n\tRPI_FIRMWARE_SET_VOLTAGE = 229379,\n\tRPI_FIRMWARE_SET_TURBO = 229385,\n\tRPI_FIRMWARE_SET_CUSTOMER_OTP = 229409,\n\tRPI_FIRMWARE_SET_DOMAIN_STATE = 229424,\n\tRPI_FIRMWARE_GET_GPIO_STATE = 196673,\n\tRPI_FIRMWARE_SET_GPIO_STATE = 229441,\n\tRPI_FIRMWARE_SET_SDHOST_CLOCK = 229442,\n\tRPI_FIRMWARE_GET_GPIO_CONFIG = 196675,\n\tRPI_FIRMWARE_SET_GPIO_CONFIG = 229443,\n\tRPI_FIRMWARE_GET_PERIPH_REG = 196677,\n\tRPI_FIRMWARE_SET_PERIPH_REG = 229445,\n\tRPI_FIRMWARE_GET_POE_HAT_VAL = 196681,\n\tRPI_FIRMWARE_SET_POE_HAT_VAL = 196688,\n\tRPI_FIRMWARE_NOTIFY_XHCI_RESET = 196696,\n\tRPI_FIRMWARE_NOTIFY_DISPLAY_DONE = 196710,\n\tRPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 262145,\n\tRPI_FIRMWARE_FRAMEBUFFER_BLANK = 262146,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PHYSICAL_WIDTH_HEIGHT = 262147,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_WIDTH_HEIGHT = 262148,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_DEPTH = 262149,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PIXEL_ORDER = 262150,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_ALPHA_MODE = 262151,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PITCH = 262152,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET = 262153,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN = 262154,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE = 262155,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF = 262159,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF = 262160,\n\tRPI_FIRMWARE_FRAMEBUFFER_RELEASE = 294913,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 278531,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT = 278532,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_DEPTH = 278533,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PIXEL_ORDER = 278534,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_ALPHA_MODE = 278535,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET = 278537,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN = 278538,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE = 278539,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC = 278542,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT = 294915,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT = 294916,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH = 294917,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER = 294918,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE = 294919,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 294921,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 294922,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 294923,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF = 294943,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF = 294944,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC = 294926,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 294927,\n\tRPI_FIRMWARE_VCHIQ_INIT = 294928,\n\tRPI_FIRMWARE_GET_COMMAND_LINE = 327681,\n\tRPI_FIRMWARE_GET_DMA_CHANNELS = 393217,\n};\n\nenum rpm_request {\n\tRPM_REQ_NONE = 0,\n\tRPM_REQ_IDLE = 1,\n\tRPM_REQ_SUSPEND = 2,\n\tRPM_REQ_AUTOSUSPEND = 3,\n\tRPM_REQ_RESUME = 4,\n};\n\nenum rpm_status {\n\tRPM_INVALID = -1,\n\tRPM_ACTIVE = 0,\n\tRPM_RESUMING = 1,\n\tRPM_SUSPENDED = 2,\n\tRPM_SUSPENDING = 3,\n};\n\nenum rpmb_type {\n\tRPMB_TYPE_EMMC = 0,\n\tRPMB_TYPE_UFS = 1,\n\tRPMB_TYPE_NVME = 2,\n};\n\nenum rpmb_unit_desc_param {\n\tRPMB_UNIT_DESC_PARAM_LEN = 0,\n\tRPMB_UNIT_DESC_PARAM_TYPE = 1,\n\tRPMB_UNIT_DESC_PARAM_UNIT_INDEX = 2,\n\tRPMB_UNIT_DESC_PARAM_LU_ENABLE = 3,\n\tRPMB_UNIT_DESC_PARAM_BOOT_LUN_ID = 4,\n\tRPMB_UNIT_DESC_PARAM_LU_WR_PROTECT = 5,\n\tRPMB_UNIT_DESC_PARAM_LU_Q_DEPTH = 6,\n\tRPMB_UNIT_DESC_PARAM_PSA_SENSITIVE = 7,\n\tRPMB_UNIT_DESC_PARAM_MEM_TYPE = 8,\n\tRPMB_UNIT_DESC_PARAM_REGION_EN = 9,\n\tRPMB_UNIT_DESC_PARAM_LOGICAL_BLK_SIZE = 10,\n\tRPMB_UNIT_DESC_PARAM_LOGICAL_BLK_COUNT = 11,\n\tRPMB_UNIT_DESC_PARAM_REGION0_SIZE = 19,\n\tRPMB_UNIT_DESC_PARAM_REGION1_SIZE = 20,\n\tRPMB_UNIT_DESC_PARAM_REGION2_SIZE = 21,\n\tRPMB_UNIT_DESC_PARAM_REGION3_SIZE = 22,\n\tRPMB_UNIT_DESC_PARAM_PROVISIONING_TYPE = 23,\n\tRPMB_UNIT_DESC_PARAM_PHY_MEM_RSRC_CNT = 24,\n};\n\nenum rpmh_regulator_type {\n\tVRM = 0,\n\tXOB = 1,\n};\n\nenum rpmh_state {\n\tRPMH_SLEEP_STATE = 0,\n\tRPMH_WAKE_ONLY_STATE = 1,\n\tRPMH_ACTIVE_ONLY_STATE = 2,\n};\n\nenum rpmsg_ns_flags {\n\tRPMSG_NS_CREATE = 0,\n\tRPMSG_NS_DESTROY = 1,\n};\n\nenum rproc_crash_type {\n\tRPROC_MMUFAULT = 0,\n\tRPROC_WATCHDOG = 1,\n\tRPROC_FATAL_ERROR = 2,\n};\n\nenum rproc_dump_mechanism {\n\tRPROC_COREDUMP_DISABLED = 0,\n\tRPROC_COREDUMP_ENABLED = 1,\n\tRPROC_COREDUMP_INLINE = 2,\n};\n\nenum rproc_features {\n\tRPROC_FEAT_ATTACH_ON_RECOVERY = 0,\n\tRPROC_MAX_FEATURES = 1,\n};\n\nenum rproc_state {\n\tRPROC_OFFLINE = 0,\n\tRPROC_SUSPENDED = 1,\n\tRPROC_RUNNING = 2,\n\tRPROC_CRASHED = 3,\n\tRPROC_DELETED = 4,\n\tRPROC_ATTACHED = 5,\n\tRPROC_DETACHED = 6,\n\tRPROC_LAST = 7,\n};\n\nenum rpu_oper_mode {\n\tPM_RPU_MODE_LOCKSTEP = 0,\n\tPM_RPU_MODE_SPLIT = 1,\n};\n\nenum rpu_tcm_comb {\n\tPM_RPU_TCM_SPLIT = 0,\n\tPM_RPU_TCM_COMB = 1,\n};\n\nenum rq_end_io_ret {\n\tRQ_END_IO_NONE = 0,\n\tRQ_END_IO_FREE = 1,\n};\n\nenum rq_qos_id {\n\tRQ_QOS_WBT = 0,\n\tRQ_QOS_LATENCY = 1,\n\tRQ_QOS_COST = 2,\n};\n\nenum rqf_flags {\n\t__RQF_STARTED = 0,\n\t__RQF_FLUSH_SEQ = 1,\n\t__RQF_MIXED_MERGE = 2,\n\t__RQF_DONTPREP = 3,\n\t__RQF_SCHED_TAGS = 4,\n\t__RQF_USE_SCHED = 5,\n\t__RQF_FAILED = 6,\n\t__RQF_QUIET = 7,\n\t__RQF_IO_STAT = 8,\n\t__RQF_PM = 9,\n\t__RQF_HASHED = 10,\n\t__RQF_STATS = 11,\n\t__RQF_SPECIAL_PAYLOAD = 12,\n\t__RQF_ZONE_WRITE_PLUGGING = 13,\n\t__RQF_TIMED_OUT = 14,\n\t__RQF_RESV = 15,\n\t__RQF_BITS = 16,\n};\n\nenum rsaprivkey_actions {\n\tACT_rsa_get_d = 0,\n\tACT_rsa_get_dp = 1,\n\tACT_rsa_get_dq = 2,\n\tACT_rsa_get_e = 3,\n\tACT_rsa_get_n = 4,\n\tACT_rsa_get_p = 5,\n\tACT_rsa_get_q = 6,\n\tACT_rsa_get_qinv = 7,\n\tNR__rsaprivkey_actions = 8,\n};\n\nenum rsapubkey_actions {\n\tACT_rsa_get_e___2 = 0,\n\tACT_rsa_get_n___2 = 1,\n\tNR__rsapubkey_actions = 2,\n};\n\nenum rsc_handling_status {\n\tRSC_HANDLED = 0,\n\tRSC_IGNORED = 1,\n};\n\nenum rseq_cpu_id_state {\n\tRSEQ_CPU_ID_UNINITIALIZED = -1,\n\tRSEQ_CPU_ID_REGISTRATION_FAILED = -2,\n};\n\nenum rseq_cs_flags {\n\tRSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = 1,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = 2,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = 4,\n};\n\nenum rseq_cs_flags_bit {\n\tRSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2,\n};\n\nenum rseq_event_mask_bits {\n\tRSEQ_EVENT_PREEMPT_BIT = 0,\n\tRSEQ_EVENT_SIGNAL_BIT = 1,\n\tRSEQ_EVENT_MIGRATE_BIT = 2,\n};\n\nenum rseq_flags {\n\tRSEQ_FLAG_UNREGISTER = 1,\n};\n\nenum rswitch_etha_mode {\n\tEAMC_OPC_RESET = 0,\n\tEAMC_OPC_DISABLE = 1,\n\tEAMC_OPC_CONFIG = 2,\n\tEAMC_OPC_OPERATION = 3,\n};\n\nenum rswitch_gwca_mode {\n\tGWMC_OPC_RESET = 0,\n\tGWMC_OPC_DISABLE = 1,\n\tGWMC_OPC_CONFIG = 2,\n\tGWMC_OPC_OPERATION = 3,\n};\n\nenum rswitch_reg {\n\tFWGC = 0,\n\tFWTTC0 = 16,\n\tFWTTC1 = 20,\n\tFWLBMC = 24,\n\tFWCEPTC = 32,\n\tFWCEPRC0 = 36,\n\tFWCEPRC1 = 40,\n\tFWCEPRC2 = 44,\n\tFWCLPTC = 48,\n\tFWCLPRC = 52,\n\tFWCMPTC = 64,\n\tFWEMPTC = 68,\n\tFWSDMPTC = 80,\n\tFWSDMPVC = 84,\n\tFWLBWMC0 = 128,\n\tFWPC00 = 256,\n\tFWPC10 = 260,\n\tFWPC20 = 264,\n\tFWCTGC00 = 1024,\n\tFWCTGC10 = 1028,\n\tFWCTTC00 = 1032,\n\tFWCTTC10 = 1036,\n\tFWCTTC200 = 1040,\n\tFWCTSC00 = 1056,\n\tFWCTSC10 = 1060,\n\tFWCTSC20 = 1064,\n\tFWCTSC30 = 1068,\n\tFWCTSC40 = 1072,\n\tFWTWBFC0 = 4096,\n\tFWTWBFVC0 = 4100,\n\tFWTHBFC0 = 5120,\n\tFWTHBFV0C0 = 5124,\n\tFWTHBFV1C0 = 5128,\n\tFWFOBFC0 = 6144,\n\tFWFOBFV0C0 = 6148,\n\tFWFOBFV1C0 = 6152,\n\tFWRFC0 = 7168,\n\tFWRFVC0 = 7172,\n\tFWCFC0 = 8192,\n\tFWCFMC00 = 8196,\n\tFWIP4SC = 16392,\n\tFWIP6SC = 16408,\n\tFWIP6OC = 16412,\n\tFWL2SC = 16416,\n\tFWSFHEC = 16432,\n\tFWSHCR0 = 16448,\n\tFWSHCR1 = 16452,\n\tFWSHCR2 = 16456,\n\tFWSHCR3 = 16460,\n\tFWSHCR4 = 16464,\n\tFWSHCR5 = 16468,\n\tFWSHCR6 = 16472,\n\tFWSHCR7 = 16476,\n\tFWSHCR8 = 16480,\n\tFWSHCR9 = 16484,\n\tFWSHCR10 = 16488,\n\tFWSHCR11 = 16492,\n\tFWSHCR12 = 16496,\n\tFWSHCR13 = 16500,\n\tFWSHCRR = 16504,\n\tFWLTHHEC = 16528,\n\tFWLTHHC = 16532,\n\tFWLTHTL0 = 16544,\n\tFWLTHTL1 = 16548,\n\tFWLTHTL2 = 16552,\n\tFWLTHTL3 = 16556,\n\tFWLTHTL4 = 16560,\n\tFWLTHTL5 = 16564,\n\tFWLTHTL6 = 16568,\n\tFWLTHTL7 = 16572,\n\tFWLTHTL80 = 16576,\n\tFWLTHTL9 = 16592,\n\tFWLTHTLR = 16596,\n\tFWLTHTIM = 16608,\n\tFWLTHTEM = 16612,\n\tFWLTHTS0 = 16640,\n\tFWLTHTS1 = 16644,\n\tFWLTHTS2 = 16648,\n\tFWLTHTS3 = 16652,\n\tFWLTHTS4 = 16656,\n\tFWLTHTSR0 = 16672,\n\tFWLTHTSR1 = 16676,\n\tFWLTHTSR2 = 16680,\n\tFWLTHTSR3 = 16684,\n\tFWLTHTSR40 = 16688,\n\tFWLTHTSR5 = 16704,\n\tFWLTHTR = 16720,\n\tFWLTHTRR0 = 16724,\n\tFWLTHTRR1 = 16728,\n\tFWLTHTRR2 = 16732,\n\tFWLTHTRR3 = 16736,\n\tFWLTHTRR4 = 16740,\n\tFWLTHTRR5 = 16744,\n\tFWLTHTRR6 = 16748,\n\tFWLTHTRR7 = 16752,\n\tFWLTHTRR8 = 16756,\n\tFWLTHTRR9 = 16768,\n\tFWLTHTRR10 = 16784,\n\tFWIPHEC = 16916,\n\tFWIPHC = 16920,\n\tFWIPTL0 = 16928,\n\tFWIPTL1 = 16932,\n\tFWIPTL2 = 16936,\n\tFWIPTL3 = 16940,\n\tFWIPTL4 = 16944,\n\tFWIPTL5 = 16948,\n\tFWIPTL6 = 16952,\n\tFWIPTL7 = 16960,\n\tFWIPTL8 = 16976,\n\tFWIPTLR = 16980,\n\tFWIPTIM = 16992,\n\tFWIPTEM = 16996,\n\tFWIPTS0 = 17008,\n\tFWIPTS1 = 17012,\n\tFWIPTS2 = 17016,\n\tFWIPTS3 = 17020,\n\tFWIPTS4 = 17024,\n\tFWIPTSR0 = 17028,\n\tFWIPTSR1 = 17032,\n\tFWIPTSR2 = 17036,\n\tFWIPTSR3 = 17040,\n\tFWIPTSR4 = 17056,\n\tFWIPTR = 17072,\n\tFWIPTRR0 = 17076,\n\tFWIPTRR1 = 17080,\n\tFWIPTRR2 = 17084,\n\tFWIPTRR3 = 17088,\n\tFWIPTRR4 = 17092,\n\tFWIPTRR5 = 17096,\n\tFWIPTRR6 = 17100,\n\tFWIPTRR7 = 17104,\n\tFWIPTRR8 = 17120,\n\tFWIPTRR9 = 17136,\n\tFWIPHLEC = 17152,\n\tFWIPAGUSPC = 17664,\n\tFWIPAGC = 17668,\n\tFWIPAGM0 = 17680,\n\tFWIPAGM1 = 17684,\n\tFWIPAGM2 = 17688,\n\tFWIPAGM3 = 17692,\n\tFWIPAGM4 = 17696,\n\tFWMACHEC = 17952,\n\tFWMACHC = 17956,\n\tFWMACTL0 = 17968,\n\tFWMACTL1 = 17972,\n\tFWMACTL2 = 17976,\n\tFWMACTL3 = 17980,\n\tFWMACTL4 = 17984,\n\tFWMACTL5 = 18000,\n\tFWMACTLR = 18004,\n\tFWMACTIM = 18016,\n\tFWMACTEM = 18020,\n\tFWMACTS0 = 18032,\n\tFWMACTS1 = 18036,\n\tFWMACTSR0 = 18040,\n\tFWMACTSR1 = 18044,\n\tFWMACTSR2 = 18048,\n\tFWMACTSR3 = 18064,\n\tFWMACTR = 18080,\n\tFWMACTRR0 = 18084,\n\tFWMACTRR1 = 18088,\n\tFWMACTRR2 = 18092,\n\tFWMACTRR3 = 18096,\n\tFWMACTRR4 = 18100,\n\tFWMACTRR5 = 18112,\n\tFWMACTRR6 = 18128,\n\tFWMACHLEC = 18176,\n\tFWMACAGUSPC = 18560,\n\tFWMACAGC = 18564,\n\tFWMACAGM0 = 18568,\n\tFWMACAGM1 = 18572,\n\tFWVLANTEC = 18688,\n\tFWVLANTL0 = 18704,\n\tFWVLANTL1 = 18708,\n\tFWVLANTL2 = 18712,\n\tFWVLANTL3 = 18720,\n\tFWVLANTL4 = 18736,\n\tFWVLANTLR = 18740,\n\tFWVLANTIM = 18752,\n\tFWVLANTEM = 18756,\n\tFWVLANTS = 18768,\n\tFWVLANTSR0 = 18772,\n\tFWVLANTSR1 = 18776,\n\tFWVLANTSR2 = 18784,\n\tFWVLANTSR3 = 18800,\n\tFWPBFC0 = 18944,\n\tFWPBFCSDC00 = 18948,\n\tFWL23URL0 = 19968,\n\tFWL23URL1 = 19972,\n\tFWL23URL2 = 19976,\n\tFWL23URL3 = 19980,\n\tFWL23URLR = 19984,\n\tFWL23UTIM = 20000,\n\tFWL23URR = 20016,\n\tFWL23URRR0 = 20020,\n\tFWL23URRR1 = 20024,\n\tFWL23URRR2 = 20028,\n\tFWL23URRR3 = 20032,\n\tFWL23URMC0 = 20224,\n\tFWPMFGC0 = 20480,\n\tFWPGFC0 = 20736,\n\tFWPGFIGSC0 = 20740,\n\tFWPGFENC0 = 20744,\n\tFWPGFENM0 = 20748,\n\tFWPGFCSTC00 = 20752,\n\tFWPGFCSTC10 = 20756,\n\tFWPGFCSTM00 = 20760,\n\tFWPGFCSTM10 = 20764,\n\tFWPGFCTC0 = 20768,\n\tFWPGFCTM0 = 20772,\n\tFWPGFHCC0 = 20776,\n\tFWPGFSM0 = 20780,\n\tFWPGFGC0 = 20784,\n\tFWPGFGL0 = 21760,\n\tFWPGFGL1 = 21764,\n\tFWPGFGLR = 21784,\n\tFWPGFGR = 21776,\n\tFWPGFGRR0 = 21780,\n\tFWPGFGRR1 = 21784,\n\tFWPGFRIM = 21792,\n\tFWPMTRFC0 = 22016,\n\tFWPMTRCBSC0 = 22020,\n\tFWPMTRC0RC0 = 22024,\n\tFWPMTREBSC0 = 22028,\n\tFWPMTREIRC0 = 22032,\n\tFWPMTRFM0 = 22036,\n\tFWFTL0 = 24576,\n\tFWFTL1 = 24580,\n\tFWFTLR = 24584,\n\tFWFTOC = 24592,\n\tFWFTOPC = 24596,\n\tFWFTIM = 24608,\n\tFWFTR = 24624,\n\tFWFTRR0 = 24628,\n\tFWFTRR1 = 24632,\n\tFWFTRR2 = 24636,\n\tFWSEQNGC0 = 24832,\n\tFWSEQNGM0 = 24836,\n\tFWSEQNRC = 25088,\n\tFWCTFDCN0 = 25344,\n\tFWLTHFDCN0 = 25348,\n\tFWIPFDCN0 = 25352,\n\tFWLTWFDCN0 = 25356,\n\tFWPBFDCN0 = 25360,\n\tFWMHLCN0 = 25364,\n\tFWIHLCN0 = 25368,\n\tFWICRDCN0 = 25856,\n\tFWWMRDCN0 = 25860,\n\tFWCTRDCN0 = 25864,\n\tFWLTHRDCN0 = 25868,\n\tFWIPRDCN0 = 25872,\n\tFWLTWRDCN0 = 25876,\n\tFWPBRDCN0 = 25880,\n\tFWPMFDCN0 = 26368,\n\tFWPGFDCN0 = 26496,\n\tFWPMGDCN0 = 26624,\n\tFWPMYDCN0 = 26628,\n\tFWPMRDCN0 = 26632,\n\tFWFRPPCN0 = 27136,\n\tFWFRDPCN0 = 27140,\n\tFWEIS00 = 30976,\n\tFWEIE00 = 30980,\n\tFWEID00 = 30984,\n\tFWEIS1 = 31232,\n\tFWEIE1 = 31236,\n\tFWEID1 = 31240,\n\tFWEIS2 = 31248,\n\tFWEIE2 = 31252,\n\tFWEID2 = 31256,\n\tFWEIS3 = 31264,\n\tFWEIE3 = 31268,\n\tFWEID3 = 31272,\n\tFWEIS4 = 31280,\n\tFWEIE4 = 31284,\n\tFWEID4 = 31288,\n\tFWEIS5 = 31296,\n\tFWEIE5 = 31300,\n\tFWEID5 = 31304,\n\tFWEIS60 = 31312,\n\tFWEIE60 = 31316,\n\tFWEID60 = 31320,\n\tFWEIS61 = 31328,\n\tFWEIE61 = 31332,\n\tFWEID61 = 31336,\n\tFWEIS62 = 31344,\n\tFWEIE62 = 31348,\n\tFWEID62 = 31352,\n\tFWEIS63 = 31360,\n\tFWEIE63 = 31364,\n\tFWEID63 = 31368,\n\tFWEIS70 = 31376,\n\tFWEIE70 = 31380,\n\tFWEID70 = 31384,\n\tFWEIS71 = 31392,\n\tFWEIE71 = 31396,\n\tFWEID71 = 31400,\n\tFWEIS72 = 31408,\n\tFWEIE72 = 31412,\n\tFWEID72 = 31416,\n\tFWEIS73 = 31424,\n\tFWEIE73 = 31428,\n\tFWEID73 = 31432,\n\tFWEIS80 = 31440,\n\tFWEIE80 = 31444,\n\tFWEID80 = 31448,\n\tFWEIS81 = 31456,\n\tFWEIE81 = 31460,\n\tFWEID81 = 31464,\n\tFWEIS82 = 31472,\n\tFWEIE82 = 31476,\n\tFWEID82 = 31480,\n\tFWEIS83 = 31488,\n\tFWEIE83 = 31492,\n\tFWEID83 = 31496,\n\tFWMIS0 = 31744,\n\tFWMIE0 = 31748,\n\tFWMID0 = 31752,\n\tFWSCR0 = 32000,\n\tFWSCR1 = 32004,\n\tFWSCR2 = 32008,\n\tFWSCR3 = 32012,\n\tFWSCR4 = 32016,\n\tFWSCR5 = 32020,\n\tFWSCR6 = 32024,\n\tFWSCR7 = 32028,\n\tFWSCR8 = 32032,\n\tFWSCR9 = 32036,\n\tFWSCR10 = 32040,\n\tFWSCR11 = 32044,\n\tFWSCR12 = 32048,\n\tFWSCR13 = 32052,\n\tFWSCR14 = 32056,\n\tFWSCR15 = 32060,\n\tFWSCR16 = 32064,\n\tFWSCR17 = 32068,\n\tFWSCR18 = 32072,\n\tFWSCR19 = 32076,\n\tFWSCR20 = 32080,\n\tFWSCR21 = 32084,\n\tFWSCR22 = 32088,\n\tFWSCR23 = 32092,\n\tFWSCR24 = 32096,\n\tFWSCR25 = 32100,\n\tFWSCR26 = 32104,\n\tFWSCR27 = 32108,\n\tFWSCR28 = 32112,\n\tFWSCR29 = 32116,\n\tFWSCR30 = 32120,\n\tFWSCR31 = 32124,\n\tFWSCR32 = 32128,\n\tFWSCR33 = 32132,\n\tFWSCR34 = 32136,\n\tFWSCR35 = 32140,\n\tFWSCR36 = 32144,\n\tFWSCR37 = 32148,\n\tFWSCR38 = 32152,\n\tFWSCR39 = 32156,\n\tFWSCR40 = 32160,\n\tFWSCR41 = 32164,\n\tFWSCR42 = 32168,\n\tFWSCR43 = 32172,\n\tFWSCR44 = 32176,\n\tFWSCR45 = 32180,\n\tFWSCR46 = 32184,\n\tTPEMIMC0 = 32768,\n\tTPEMIMC1 = 32772,\n\tTPEMIMC2 = 32776,\n\tTPEMIMC3 = 32780,\n\tTPEMIMC4 = 32784,\n\tTPEMIMC5 = 32788,\n\tTPEMIMC60 = 32896,\n\tTPEMIMC70 = 33024,\n\tTSIM = 34560,\n\tTFIM = 34564,\n\tTCIM = 34568,\n\tTGIM0 = 34576,\n\tTGIM1 = 34580,\n\tTEIM0 = 34592,\n\tTEIM1 = 34596,\n\tTEIM2 = 34600,\n\tRIPV = 36864,\n\tRRC = 36868,\n\tRCEC = 36872,\n\tRCDC = 36876,\n\tRSSIS = 36880,\n\tRSSIE = 36884,\n\tRSSID = 36888,\n\tCABPIBWMC = 36896,\n\tCABPWMLC = 36928,\n\tCABPPFLC0 = 36944,\n\tCABPPWMLC0 = 36960,\n\tCABPPPFLC00 = 37024,\n\tCABPULC = 37120,\n\tCABPIRM = 37184,\n\tCABPPCM = 37188,\n\tCABPLCM = 37192,\n\tCABPCPM = 37248,\n\tCABPMCPM = 37376,\n\tCARDNM = 37504,\n\tCARDMNM = 37508,\n\tCARDCN = 37520,\n\tCAEIS0 = 37632,\n\tCAEIE0 = 37636,\n\tCAEID0 = 37640,\n\tCAEIS1 = 37648,\n\tCAEIE1 = 37652,\n\tCAEID1 = 37656,\n\tCAMIS0 = 37696,\n\tCAMIE0 = 37700,\n\tCAMID0 = 37704,\n\tCAMIS1 = 37712,\n\tCAMIE1 = 37716,\n\tCAMID1 = 37720,\n\tCASCR = 37760,\n\tEAMC = 0,\n\tEAMS = 4,\n\tEAIRC = 16,\n\tEATDQSC = 20,\n\tEATDQC = 24,\n\tEATDQAC = 28,\n\tEATPEC = 32,\n\tEATMFSC0 = 64,\n\tEATDQDC0 = 96,\n\tEATDQM0 = 128,\n\tEATDQMLM0 = 160,\n\tEACTQC = 256,\n\tEACTDQDC = 260,\n\tEACTDQM = 264,\n\tEACTDQMLM = 268,\n\tEAVCC = 304,\n\tEAVTC = 308,\n\tEATTFC = 312,\n\tEACAEC = 512,\n\tEACC = 516,\n\tEACAIVC0 = 544,\n\tEACAULC0 = 576,\n\tEACOEM = 608,\n\tEACOIVM0 = 640,\n\tEACOULM0 = 672,\n\tEACGSM = 704,\n\tEATASC = 768,\n\tEATASENC0 = 800,\n\tEATASCTENC = 832,\n\tEATASENM0 = 864,\n\tEATASCTENM = 896,\n\tEATASCSTC0 = 928,\n\tEATASCSTC1 = 932,\n\tEATASCSTM0 = 936,\n\tEATASCSTM1 = 940,\n\tEATASCTC = 944,\n\tEATASCTM = 948,\n\tEATASGL0 = 960,\n\tEATASGL1 = 964,\n\tEATASGLR = 968,\n\tEATASGR = 976,\n\tEATASGRR = 980,\n\tEATASHCC = 992,\n\tEATASRIRM = 996,\n\tEATASSM = 1000,\n\tEAUSMFSECN = 1024,\n\tEATFECN = 1028,\n\tEAFSECN = 1032,\n\tEADQOECN = 1036,\n\tEADQSECN = 1040,\n\tEACKSECN = 1044,\n\tEAEIS0 = 1280,\n\tEAEIE0 = 1284,\n\tEAEID0 = 1288,\n\tEAEIS1 = 1296,\n\tEAEIE1 = 1300,\n\tEAEID1 = 1304,\n\tEAEIS2 = 1312,\n\tEAEIE2 = 1316,\n\tEAEID2 = 1320,\n\tEASCR = 1408,\n\tMPSM = 4096,\n\tMPIC = 4100,\n\tMPIM = 4104,\n\tMIOC = 4112,\n\tMIOM = 4116,\n\tMXMS = 4120,\n\tMTFFC = 4128,\n\tMTPFC = 4132,\n\tMTPFC2 = 4136,\n\tMTPFC30 = 4144,\n\tMTATC0 = 4176,\n\tMTIM = 4192,\n\tMRGC = 4224,\n\tMRMAC0 = 4228,\n\tMRMAC1 = 4232,\n\tMRAFC = 4236,\n\tMRSCE = 4240,\n\tMRSCP = 4244,\n\tMRSCC = 4248,\n\tMRFSCE = 4252,\n\tMRFSCP = 4256,\n\tMTRC = 4260,\n\tMRIM = 4264,\n\tMRPFM = 4268,\n\tMPFC0 = 4352,\n\tMLVC = 4480,\n\tMEEEC = 4484,\n\tMLBC = 4488,\n\tMXGMIIC = 4496,\n\tMPCH = 4500,\n\tMANC = 4504,\n\tMANM = 4508,\n\tMPLCA1 = 4512,\n\tMPLCA2 = 4516,\n\tMPLCA3 = 4520,\n\tMPLCA4 = 4524,\n\tMPLCAM = 4528,\n\tMHDC1 = 4544,\n\tMHDC2 = 4548,\n\tMEIS = 4608,\n\tMEIE = 4612,\n\tMEID = 4616,\n\tMMIS0 = 4624,\n\tMMIE0 = 4628,\n\tMMID0 = 4632,\n\tMMIS1 = 4640,\n\tMMIE1 = 4644,\n\tMMID1 = 4648,\n\tMMIS2 = 4656,\n\tMMIE2 = 4660,\n\tMMID2 = 4664,\n\tMMPFTCT = 4864,\n\tMAPFTCT = 4868,\n\tMPFRCT = 4872,\n\tMFCICT = 4876,\n\tMEEECT = 4880,\n\tMMPCFTCT0 = 4896,\n\tMAPCFTCT0 = 4912,\n\tMPCFRCT0 = 4928,\n\tMHDCC = 4944,\n\tMROVFC = 4948,\n\tMRHCRCEC = 4952,\n\tMRXBCE = 5120,\n\tMRXBCP = 5124,\n\tMRGFCE = 5128,\n\tMRGFCP = 5132,\n\tMRBFC = 5136,\n\tMRMFC = 5140,\n\tMRUFC = 5144,\n\tMRPEFC = 5148,\n\tMRNEFC = 5152,\n\tMRFMEFC = 5156,\n\tMRFFMEFC = 5160,\n\tMRCFCEFC = 5164,\n\tMRFCEFC = 5168,\n\tMRRCFEFC = 5172,\n\tMRUEFC = 5180,\n\tMROEFC = 5184,\n\tMRBOEC = 5188,\n\tMTXBCE = 5376,\n\tMTXBCP = 5380,\n\tMTGFCE = 5384,\n\tMTGFCP = 5388,\n\tMTBFC = 5392,\n\tMTMFC = 5396,\n\tMTUFC = 5400,\n\tMTEFC = 5404,\n\tGWMC = 65536,\n\tGWMS = 65540,\n\tGWIRC = 65552,\n\tGWRDQSC = 65556,\n\tGWRDQC = 65560,\n\tGWRDQAC = 65564,\n\tGWRGC = 65568,\n\tGWRMFSC0 = 65600,\n\tGWRDQDC0 = 65632,\n\tGWRDQM0 = 65664,\n\tGWRDQMLM0 = 65696,\n\tGWMTIRM = 65792,\n\tGWMSTLS = 65796,\n\tGWMSTLR = 65800,\n\tGWMSTSS = 65804,\n\tGWMSTSR = 65808,\n\tGWMAC0 = 65824,\n\tGWMAC1 = 65828,\n\tGWVCC = 65840,\n\tGWVTC = 65844,\n\tGWTTFC = 65848,\n\tGWTDCAC00 = 65856,\n\tGWTDCAC10 = 65860,\n\tGWTSDCC0 = 65888,\n\tGWTNM = 65920,\n\tGWTMNM = 65924,\n\tGWAC = 65936,\n\tGWDCBAC0 = 65940,\n\tGWDCBAC1 = 65944,\n\tGWIICBSC = 65948,\n\tGWMDNC = 65952,\n\tGWTRC0 = 66048,\n\tGWTPC0 = 66304,\n\tGWARIRM = 66432,\n\tGWDCC0 = 66560,\n\tGWAARSS = 67584,\n\tGWAARSR0 = 67588,\n\tGWAARSR1 = 67592,\n\tGWIDAUAS0 = 67648,\n\tGWIDASM0 = 67712,\n\tGWIDASAM00 = 67840,\n\tGWIDASAM10 = 67844,\n\tGWIDACAM00 = 67968,\n\tGWIDACAM10 = 67972,\n\tGWGRLC = 68096,\n\tGWGRLULC = 68100,\n\tGWRLIVC0 = 68224,\n\tGWRLULC0 = 68228,\n\tGWIDPC = 68352,\n\tGWIDC0 = 68608,\n\tGWDIS0 = 69888,\n\tGWDIE0 = 69892,\n\tGWDID0 = 69896,\n\tGWTSDIS = 70016,\n\tGWTSDIE = 70020,\n\tGWTSDID = 70024,\n\tGWEIS0 = 70032,\n\tGWEIE0 = 70036,\n\tGWEID0 = 70040,\n\tGWEIS1 = 70048,\n\tGWEIE1 = 70052,\n\tGWEID1 = 70056,\n\tGWEIS20 = 70144,\n\tGWEIE20 = 70148,\n\tGWEID20 = 70152,\n\tGWEIS3 = 70272,\n\tGWEIE3 = 70276,\n\tGWEID3 = 70280,\n\tGWEIS4 = 70288,\n\tGWEIE4 = 70292,\n\tGWEID4 = 70296,\n\tGWEIS5 = 70304,\n\tGWEIE5 = 70308,\n\tGWEID5 = 70312,\n\tGWSCR0 = 71680,\n\tGWSCR1 = 71936,\n};\n\nenum rt_class_t {\n\tRT_TABLE_UNSPEC = 0,\n\tRT_TABLE_COMPAT = 252,\n\tRT_TABLE_DEFAULT = 253,\n\tRT_TABLE_MAIN = 254,\n\tRT_TABLE_LOCAL = 255,\n\tRT_TABLE_MAX = 4294967295,\n};\n\nenum rt_scope_t {\n\tRT_SCOPE_UNIVERSE = 0,\n\tRT_SCOPE_SITE = 200,\n\tRT_SCOPE_LINK = 253,\n\tRT_SCOPE_HOST = 254,\n\tRT_SCOPE_NOWHERE = 255,\n};\n\nenum rtattr_type_t {\n\tRTA_UNSPEC = 0,\n\tRTA_DST = 1,\n\tRTA_SRC = 2,\n\tRTA_IIF = 3,\n\tRTA_OIF = 4,\n\tRTA_GATEWAY = 5,\n\tRTA_PRIORITY = 6,\n\tRTA_PREFSRC = 7,\n\tRTA_METRICS = 8,\n\tRTA_MULTIPATH = 9,\n\tRTA_PROTOINFO = 10,\n\tRTA_FLOW = 11,\n\tRTA_CACHEINFO = 12,\n\tRTA_SESSION = 13,\n\tRTA_MP_ALGO = 14,\n\tRTA_TABLE = 15,\n\tRTA_MARK = 16,\n\tRTA_MFC_STATS = 17,\n\tRTA_VIA = 18,\n\tRTA_NEWDST = 19,\n\tRTA_PREF = 20,\n\tRTA_ENCAP_TYPE = 21,\n\tRTA_ENCAP = 22,\n\tRTA_EXPIRES = 23,\n\tRTA_PAD = 24,\n\tRTA_UID = 25,\n\tRTA_TTL_PROPAGATE = 26,\n\tRTA_IP_PROTO = 27,\n\tRTA_SPORT = 28,\n\tRTA_DPORT = 29,\n\tRTA_NH_ID = 30,\n\tRTA_FLOWLABEL = 31,\n\t__RTA_MAX = 32,\n};\n\nenum rtd13xxd_iso_pins {\n\tRTD1319D_ISO_GPIO_0 = 0,\n\tRTD1319D_ISO_GPIO_1 = 1,\n\tRTD1319D_ISO_GPIO_2 = 2,\n\tRTD1319D_ISO_GPIO_3 = 3,\n\tRTD1319D_ISO_GPIO_4 = 4,\n\tRTD1319D_ISO_GPIO_5 = 5,\n\tRTD1319D_ISO_GPIO_6 = 6,\n\tRTD1319D_ISO_GPIO_7 = 7,\n\tRTD1319D_ISO_GPIO_8 = 8,\n\tRTD1319D_ISO_GPIO_9 = 9,\n\tRTD1319D_ISO_GPIO_10 = 10,\n\tRTD1319D_ISO_GPIO_11 = 11,\n\tRTD1319D_ISO_GPIO_12 = 12,\n\tRTD1319D_ISO_GPIO_13 = 13,\n\tRTD1319D_ISO_GPIO_14 = 14,\n\tRTD1319D_ISO_GPIO_15 = 15,\n\tRTD1319D_ISO_GPIO_16 = 16,\n\tRTD1319D_ISO_GPIO_17 = 17,\n\tRTD1319D_ISO_GPIO_18 = 18,\n\tRTD1319D_ISO_GPIO_19 = 19,\n\tRTD1319D_ISO_GPIO_20 = 20,\n\tRTD1319D_ISO_GPIO_21 = 21,\n\tRTD1319D_ISO_GPIO_22 = 22,\n\tRTD1319D_ISO_GPIO_23 = 23,\n\tRTD1319D_ISO_USB_CC2 = 24,\n\tRTD1319D_ISO_GPIO_25 = 25,\n\tRTD1319D_ISO_GPIO_26 = 26,\n\tRTD1319D_ISO_GPIO_27 = 27,\n\tRTD1319D_ISO_GPIO_28 = 28,\n\tRTD1319D_ISO_GPIO_29 = 29,\n\tRTD1319D_ISO_GPIO_30 = 30,\n\tRTD1319D_ISO_GPIO_31 = 31,\n\tRTD1319D_ISO_GPIO_32 = 32,\n\tRTD1319D_ISO_GPIO_33 = 33,\n\tRTD1319D_ISO_GPIO_34 = 34,\n\tRTD1319D_ISO_GPIO_35 = 35,\n\tRTD1319D_ISO_HIF_DATA = 36,\n\tRTD1319D_ISO_HIF_EN = 37,\n\tRTD1319D_ISO_HIF_RDY = 38,\n\tRTD1319D_ISO_HIF_CLK = 39,\n\tRTD1319D_ISO_GPIO_40 = 40,\n\tRTD1319D_ISO_GPIO_41 = 41,\n\tRTD1319D_ISO_GPIO_42 = 42,\n\tRTD1319D_ISO_GPIO_43 = 43,\n\tRTD1319D_ISO_GPIO_44 = 44,\n\tRTD1319D_ISO_GPIO_45 = 45,\n\tRTD1319D_ISO_GPIO_46 = 46,\n\tRTD1319D_ISO_GPIO_47 = 47,\n\tRTD1319D_ISO_GPIO_48 = 48,\n\tRTD1319D_ISO_GPIO_49 = 49,\n\tRTD1319D_ISO_GPIO_50 = 50,\n\tRTD1319D_ISO_USB_CC1 = 51,\n\tRTD1319D_ISO_GPIO_52 = 52,\n\tRTD1319D_ISO_GPIO_53 = 53,\n\tRTD1319D_ISO_IR_RX = 54,\n\tRTD1319D_ISO_UR0_RX = 55,\n\tRTD1319D_ISO_UR0_TX = 56,\n\tRTD1319D_ISO_GPIO_57 = 57,\n\tRTD1319D_ISO_GPIO_58 = 58,\n\tRTD1319D_ISO_GPIO_59 = 59,\n\tRTD1319D_ISO_GPIO_60 = 60,\n\tRTD1319D_ISO_GPIO_61 = 61,\n\tRTD1319D_ISO_GPIO_62 = 62,\n\tRTD1319D_ISO_GPIO_63 = 63,\n\tRTD1319D_ISO_GPIO_64 = 64,\n\tRTD1319D_ISO_EMMC_RST_N = 65,\n\tRTD1319D_ISO_EMMC_DD_SB = 66,\n\tRTD1319D_ISO_EMMC_CLK = 67,\n\tRTD1319D_ISO_EMMC_CMD = 68,\n\tRTD1319D_ISO_EMMC_DATA_0 = 69,\n\tRTD1319D_ISO_EMMC_DATA_1 = 70,\n\tRTD1319D_ISO_EMMC_DATA_2 = 71,\n\tRTD1319D_ISO_EMMC_DATA_3 = 72,\n\tRTD1319D_ISO_EMMC_DATA_4 = 73,\n\tRTD1319D_ISO_EMMC_DATA_5 = 74,\n\tRTD1319D_ISO_EMMC_DATA_6 = 75,\n\tRTD1319D_ISO_EMMC_DATA_7 = 76,\n\tRTD1319D_ISO_GPIO_DUMMY_77 = 77,\n\tRTD1319D_ISO_GPIO_78 = 78,\n\tRTD1319D_ISO_GPIO_79 = 79,\n\tRTD1319D_ISO_GPIO_80 = 80,\n\tRTD1319D_ISO_GPIO_81 = 81,\n\tRTD1319D_ISO_UR2_LOC = 82,\n\tRTD1319D_ISO_GSPI_LOC = 83,\n\tRTD1319D_ISO_HI_WIDTH = 84,\n\tRTD1319D_ISO_SF_EN = 85,\n\tRTD1319D_ISO_ARM_TRACE_DBG_EN = 86,\n\tRTD1319D_ISO_EJTAG_AUCPU_LOC = 87,\n\tRTD1319D_ISO_EJTAG_ACPU_LOC = 88,\n\tRTD1319D_ISO_EJTAG_VCPU_LOC = 89,\n\tRTD1319D_ISO_EJTAG_SCPU_LOC = 90,\n\tRTD1319D_ISO_DMIC_LOC = 91,\n\tRTD1319D_ISO_EJTAG_SECPU_LOC = 92,\n\tRTD1319D_ISO_VTC_DMIC_LOC = 93,\n\tRTD1319D_ISO_VTC_TDM_LOC = 94,\n\tRTD1319D_ISO_VTC_I2SI_LOC = 95,\n\tRTD1319D_ISO_TDM_AI_LOC = 96,\n\tRTD1319D_ISO_AI_LOC = 97,\n\tRTD1319D_ISO_SPDIF_LOC = 98,\n\tRTD1319D_ISO_HIF_EN_LOC = 99,\n\tRTD1319D_ISO_SC0_LOC = 100,\n\tRTD1319D_ISO_SC1_LOC = 101,\n\tRTD1319D_ISO_SCAN_SWITCH = 102,\n\tRTD1319D_ISO_WD_RSET = 103,\n\tRTD1319D_ISO_BOOT_SEL = 104,\n\tRTD1319D_ISO_RESET_N = 105,\n\tRTD1319D_ISO_TESTMODE = 106,\n};\n\nenum rtd13xxe_iso_pins {\n\tRTD1315E_ISO_GPIO_0 = 0,\n\tRTD1315E_ISO_GPIO_1 = 1,\n\tRTD1315E_ISO_EMMC_RST_N = 2,\n\tRTD1315E_ISO_EMMC_DD_SB = 3,\n\tRTD1315E_ISO_EMMC_CLK = 4,\n\tRTD1315E_ISO_EMMC_CMD = 5,\n\tRTD1315E_ISO_GPIO_6 = 6,\n\tRTD1315E_ISO_GPIO_7 = 7,\n\tRTD1315E_ISO_GPIO_8 = 8,\n\tRTD1315E_ISO_GPIO_9 = 9,\n\tRTD1315E_ISO_GPIO_10 = 10,\n\tRTD1315E_ISO_GPIO_11 = 11,\n\tRTD1315E_ISO_GPIO_12 = 12,\n\tRTD1315E_ISO_GPIO_13 = 13,\n\tRTD1315E_ISO_GPIO_14 = 14,\n\tRTD1315E_ISO_GPIO_15 = 15,\n\tRTD1315E_ISO_GPIO_16 = 16,\n\tRTD1315E_ISO_GPIO_17 = 17,\n\tRTD1315E_ISO_GPIO_18 = 18,\n\tRTD1315E_ISO_GPIO_19 = 19,\n\tRTD1315E_ISO_GPIO_20 = 20,\n\tRTD1315E_ISO_EMMC_DATA_0 = 21,\n\tRTD1315E_ISO_EMMC_DATA_1 = 22,\n\tRTD1315E_ISO_EMMC_DATA_2 = 23,\n\tRTD1315E_ISO_USB_CC2 = 24,\n\tRTD1315E_ISO_GPIO_25 = 25,\n\tRTD1315E_ISO_GPIO_26 = 26,\n\tRTD1315E_ISO_GPIO_27 = 27,\n\tRTD1315E_ISO_GPIO_28 = 28,\n\tRTD1315E_ISO_GPIO_29 = 29,\n\tRTD1315E_ISO_GPIO_30 = 30,\n\tRTD1315E_ISO_GPIO_31 = 31,\n\tRTD1315E_ISO_GPIO_32 = 32,\n\tRTD1315E_ISO_GPIO_33 = 33,\n\tRTD1315E_ISO_GPIO_34 = 34,\n\tRTD1315E_ISO_GPIO_35 = 35,\n\tRTD1315E_ISO_HIF_DATA = 36,\n\tRTD1315E_ISO_HIF_EN = 37,\n\tRTD1315E_ISO_HIF_RDY = 38,\n\tRTD1315E_ISO_HIF_CLK = 39,\n\tRTD1315E_ISO_GPIO_DUMMY_40 = 40,\n\tRTD1315E_ISO_GPIO_DUMMY_41 = 41,\n\tRTD1315E_ISO_GPIO_DUMMY_42 = 42,\n\tRTD1315E_ISO_GPIO_DUMMY_43 = 43,\n\tRTD1315E_ISO_GPIO_DUMMY_44 = 44,\n\tRTD1315E_ISO_GPIO_DUMMY_45 = 45,\n\tRTD1315E_ISO_GPIO_46 = 46,\n\tRTD1315E_ISO_GPIO_47 = 47,\n\tRTD1315E_ISO_GPIO_48 = 48,\n\tRTD1315E_ISO_GPIO_49 = 49,\n\tRTD1315E_ISO_GPIO_50 = 50,\n\tRTD1315E_ISO_USB_CC1 = 51,\n\tRTD1315E_ISO_EMMC_DATA_3 = 52,\n\tRTD1315E_ISO_EMMC_DATA_4 = 53,\n\tRTD1315E_ISO_IR_RX = 54,\n\tRTD1315E_ISO_UR0_RX = 55,\n\tRTD1315E_ISO_UR0_TX = 56,\n\tRTD1315E_ISO_GPIO_57 = 57,\n\tRTD1315E_ISO_GPIO_58 = 58,\n\tRTD1315E_ISO_GPIO_59 = 59,\n\tRTD1315E_ISO_GPIO_60 = 60,\n\tRTD1315E_ISO_GPIO_61 = 61,\n\tRTD1315E_ISO_GPIO_62 = 62,\n\tRTD1315E_ISO_GPIO_DUMMY_63 = 63,\n\tRTD1315E_ISO_GPIO_DUMMY_64 = 64,\n\tRTD1315E_ISO_GPIO_DUMMY_65 = 65,\n\tRTD1315E_ISO_GPIO_66 = 66,\n\tRTD1315E_ISO_GPIO_67 = 67,\n\tRTD1315E_ISO_GPIO_68 = 68,\n\tRTD1315E_ISO_GPIO_69 = 69,\n\tRTD1315E_ISO_GPIO_70 = 70,\n\tRTD1315E_ISO_GPIO_71 = 71,\n\tRTD1315E_ISO_GPIO_72 = 72,\n\tRTD1315E_ISO_GPIO_DUMMY_73 = 73,\n\tRTD1315E_ISO_EMMC_DATA_5 = 74,\n\tRTD1315E_ISO_EMMC_DATA_6 = 75,\n\tRTD1315E_ISO_EMMC_DATA_7 = 76,\n\tRTD1315E_ISO_GPIO_DUMMY_77 = 77,\n\tRTD1315E_ISO_GPIO_78 = 78,\n\tRTD1315E_ISO_GPIO_79 = 79,\n\tRTD1315E_ISO_GPIO_80 = 80,\n\tRTD1315E_ISO_GPIO_81 = 81,\n\tRTD1315E_ISO_UR2_LOC = 82,\n\tRTD1315E_ISO_GSPI_LOC = 83,\n\tRTD1315E_ISO_HI_WIDTH = 84,\n\tRTD1315E_ISO_SF_EN = 85,\n\tRTD1315E_ISO_ARM_TRACE_DBG_EN = 86,\n\tRTD1315E_ISO_EJTAG_AUCPU_LOC = 87,\n\tRTD1315E_ISO_EJTAG_ACPU_LOC = 88,\n\tRTD1315E_ISO_EJTAG_VCPU_LOC = 89,\n\tRTD1315E_ISO_EJTAG_SCPU_LOC = 90,\n\tRTD1315E_ISO_DMIC_LOC = 91,\n\tRTD1315E_ISO_VTC_DMIC_LOC = 92,\n\tRTD1315E_ISO_VTC_TDM_LOC = 93,\n\tRTD1315E_ISO_VTC_I2SI_LOC = 94,\n\tRTD1315E_ISO_TDM_AI_LOC = 95,\n\tRTD1315E_ISO_AI_LOC = 96,\n\tRTD1315E_ISO_SPDIF_LOC = 97,\n\tRTD1315E_ISO_HIF_EN_LOC = 98,\n\tRTD1315E_ISO_SCAN_SWITCH = 99,\n\tRTD1315E_ISO_WD_RSET = 100,\n\tRTD1315E_ISO_BOOT_SEL = 101,\n\tRTD1315E_ISO_RESET_N = 102,\n\tRTD1315E_ISO_TESTMODE = 103,\n};\n\nenum rtd16xxb_iso_pins {\n\tRTD1619B_ISO_GPIO_0 = 0,\n\tRTD1619B_ISO_GPIO_1 = 1,\n\tRTD1619B_ISO_GPIO_2 = 2,\n\tRTD1619B_ISO_GPIO_3 = 3,\n\tRTD1619B_ISO_GPIO_4 = 4,\n\tRTD1619B_ISO_GPIO_5 = 5,\n\tRTD1619B_ISO_GPIO_6 = 6,\n\tRTD1619B_ISO_GPIO_7 = 7,\n\tRTD1619B_ISO_GPIO_8 = 8,\n\tRTD1619B_ISO_GPIO_9 = 9,\n\tRTD1619B_ISO_GPIO_10 = 10,\n\tRTD1619B_ISO_GPIO_11 = 11,\n\tRTD1619B_ISO_GPIO_12 = 12,\n\tRTD1619B_ISO_GPIO_13 = 13,\n\tRTD1619B_ISO_GPIO_14 = 14,\n\tRTD1619B_ISO_GPIO_15 = 15,\n\tRTD1619B_ISO_GPIO_16 = 16,\n\tRTD1619B_ISO_GPIO_17 = 17,\n\tRTD1619B_ISO_GPIO_18 = 18,\n\tRTD1619B_ISO_GPIO_19 = 19,\n\tRTD1619B_ISO_GPIO_20 = 20,\n\tRTD1619B_ISO_GPIO_21 = 21,\n\tRTD1619B_ISO_GPIO_22 = 22,\n\tRTD1619B_ISO_GPIO_23 = 23,\n\tRTD1619B_ISO_USB_CC2 = 24,\n\tRTD1619B_ISO_GPIO_25 = 25,\n\tRTD1619B_ISO_GPIO_26 = 26,\n\tRTD1619B_ISO_GPIO_27 = 27,\n\tRTD1619B_ISO_GPIO_28 = 28,\n\tRTD1619B_ISO_GPIO_29 = 29,\n\tRTD1619B_ISO_GPIO_30 = 30,\n\tRTD1619B_ISO_GPIO_31 = 31,\n\tRTD1619B_ISO_GPIO_32 = 32,\n\tRTD1619B_ISO_GPIO_33 = 33,\n\tRTD1619B_ISO_GPIO_34 = 34,\n\tRTD1619B_ISO_GPIO_35 = 35,\n\tRTD1619B_ISO_HIF_DATA = 36,\n\tRTD1619B_ISO_HIF_EN = 37,\n\tRTD1619B_ISO_HIF_RDY = 38,\n\tRTD1619B_ISO_HIF_CLK = 39,\n\tRTD1619B_ISO_GPIO_40 = 40,\n\tRTD1619B_ISO_GPIO_41 = 41,\n\tRTD1619B_ISO_GPIO_42 = 42,\n\tRTD1619B_ISO_GPIO_43 = 43,\n\tRTD1619B_ISO_GPIO_44 = 44,\n\tRTD1619B_ISO_GPIO_45 = 45,\n\tRTD1619B_ISO_GPIO_46 = 46,\n\tRTD1619B_ISO_GPIO_47 = 47,\n\tRTD1619B_ISO_GPIO_48 = 48,\n\tRTD1619B_ISO_GPIO_49 = 49,\n\tRTD1619B_ISO_GPIO_50 = 50,\n\tRTD1619B_ISO_USB_CC1 = 51,\n\tRTD1619B_ISO_GPIO_52 = 52,\n\tRTD1619B_ISO_GPIO_53 = 53,\n\tRTD1619B_ISO_IR_RX = 54,\n\tRTD1619B_ISO_UR0_RX = 55,\n\tRTD1619B_ISO_UR0_TX = 56,\n\tRTD1619B_ISO_GPIO_57 = 57,\n\tRTD1619B_ISO_GPIO_58 = 58,\n\tRTD1619B_ISO_GPIO_59 = 59,\n\tRTD1619B_ISO_GPIO_60 = 60,\n\tRTD1619B_ISO_GPIO_61 = 61,\n\tRTD1619B_ISO_GPIO_62 = 62,\n\tRTD1619B_ISO_GPIO_63 = 63,\n\tRTD1619B_ISO_GPIO_64 = 64,\n\tRTD1619B_ISO_GPIO_65 = 65,\n\tRTD1619B_ISO_GPIO_66 = 66,\n\tRTD1619B_ISO_GPIO_67 = 67,\n\tRTD1619B_ISO_GPIO_68 = 68,\n\tRTD1619B_ISO_GPIO_69 = 69,\n\tRTD1619B_ISO_GPIO_70 = 70,\n\tRTD1619B_ISO_GPIO_71 = 71,\n\tRTD1619B_ISO_GPIO_72 = 72,\n\tRTD1619B_ISO_GPIO_73 = 73,\n\tRTD1619B_ISO_GPIO_74 = 74,\n\tRTD1619B_ISO_GPIO_75 = 75,\n\tRTD1619B_ISO_GPIO_76 = 76,\n\tRTD1619B_ISO_EMMC_CMD = 77,\n\tRTD1619B_ISO_SPI_CE_N = 78,\n\tRTD1619B_ISO_SPI_SCK = 79,\n\tRTD1619B_ISO_SPI_SO = 80,\n\tRTD1619B_ISO_SPI_SI = 81,\n\tRTD1619B_ISO_EMMC_RST_N = 82,\n\tRTD1619B_ISO_EMMC_DD_SB = 83,\n\tRTD1619B_ISO_EMMC_CLK = 84,\n\tRTD1619B_ISO_EMMC_DATA_0 = 85,\n\tRTD1619B_ISO_EMMC_DATA_1 = 86,\n\tRTD1619B_ISO_EMMC_DATA_2 = 87,\n\tRTD1619B_ISO_EMMC_DATA_3 = 88,\n\tRTD1619B_ISO_EMMC_DATA_4 = 89,\n\tRTD1619B_ISO_EMMC_DATA_5 = 90,\n\tRTD1619B_ISO_EMMC_DATA_6 = 91,\n\tRTD1619B_ISO_EMMC_DATA_7 = 92,\n\tRTD1619B_ISO_UR2_LOC = 93,\n\tRTD1619B_ISO_GSPI_LOC = 94,\n\tRTD1619B_ISO_SDIO_LOC = 95,\n\tRTD1619B_ISO_HI_LOC = 96,\n\tRTD1619B_ISO_HI_WIDTH = 97,\n\tRTD1619B_ISO_SF_EN = 98,\n\tRTD1619B_ISO_ARM_TRACE_DBG_EN = 99,\n\tRTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC0 = 100,\n\tRTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC0 = 101,\n\tRTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC1 = 102,\n\tRTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC1 = 103,\n\tRTD1619B_ISO_EJTAG_ACPU_LOC = 104,\n\tRTD1619B_ISO_EJTAG_VCPU_LOC = 105,\n\tRTD1619B_ISO_EJTAG_SCPU_LOC = 106,\n\tRTD1619B_ISO_DMIC_LOC = 107,\n\tRTD1619B_ISO_ISO_GSPI_LOC = 108,\n\tRTD1619B_ISO_EJTAG_VE3_LOC = 109,\n\tRTD1619B_ISO_EJTAG_AUCPU0_LOC = 110,\n\tRTD1619B_ISO_EJTAG_AUCPU1_LOC = 111,\n};\n\nenum rtmutex_chainwalk {\n\tRT_MUTEX_MIN_CHAINWALK = 0,\n\tRT_MUTEX_FULL_CHAINWALK = 1,\n};\n\nenum rtnetlink_groups {\n\tRTNLGRP_NONE = 0,\n\tRTNLGRP_LINK = 1,\n\tRTNLGRP_NOTIFY = 2,\n\tRTNLGRP_NEIGH = 3,\n\tRTNLGRP_TC = 4,\n\tRTNLGRP_IPV4_IFADDR = 5,\n\tRTNLGRP_IPV4_MROUTE = 6,\n\tRTNLGRP_IPV4_ROUTE = 7,\n\tRTNLGRP_IPV4_RULE = 8,\n\tRTNLGRP_IPV6_IFADDR = 9,\n\tRTNLGRP_IPV6_MROUTE = 10,\n\tRTNLGRP_IPV6_ROUTE = 11,\n\tRTNLGRP_IPV6_IFINFO = 12,\n\tRTNLGRP_DECnet_IFADDR = 13,\n\tRTNLGRP_NOP2 = 14,\n\tRTNLGRP_DECnet_ROUTE = 15,\n\tRTNLGRP_DECnet_RULE = 16,\n\tRTNLGRP_NOP4 = 17,\n\tRTNLGRP_IPV6_PREFIX = 18,\n\tRTNLGRP_IPV6_RULE = 19,\n\tRTNLGRP_ND_USEROPT = 20,\n\tRTNLGRP_PHONET_IFADDR = 21,\n\tRTNLGRP_PHONET_ROUTE = 22,\n\tRTNLGRP_DCB = 23,\n\tRTNLGRP_IPV4_NETCONF = 24,\n\tRTNLGRP_IPV6_NETCONF = 25,\n\tRTNLGRP_MDB = 26,\n\tRTNLGRP_MPLS_ROUTE = 27,\n\tRTNLGRP_NSID = 28,\n\tRTNLGRP_MPLS_NETCONF = 29,\n\tRTNLGRP_IPV4_MROUTE_R = 30,\n\tRTNLGRP_IPV6_MROUTE_R = 31,\n\tRTNLGRP_NEXTHOP = 32,\n\tRTNLGRP_BRVLAN = 33,\n\tRTNLGRP_MCTP_IFADDR = 34,\n\tRTNLGRP_TUNNEL = 35,\n\tRTNLGRP_STATS = 36,\n\tRTNLGRP_IPV4_MCADDR = 37,\n\tRTNLGRP_IPV6_MCADDR = 38,\n\tRTNLGRP_IPV6_ACADDR = 39,\n\t__RTNLGRP_MAX = 40,\n};\n\nenum rtnl_kinds {\n\tRTNL_KIND_NEW = 0,\n\tRTNL_KIND_DEL = 1,\n\tRTNL_KIND_GET = 2,\n\tRTNL_KIND_SET = 3,\n};\n\nenum rtnl_link_flags {\n\tRTNL_FLAG_DOIT_UNLOCKED = 1,\n\tRTNL_FLAG_BULK_DEL_SUPPORTED = 2,\n\tRTNL_FLAG_DUMP_UNLOCKED = 4,\n\tRTNL_FLAG_DUMP_SPLIT_NLM_DONE = 8,\n};\n\nenum rtsn_mode {\n\tOCR_OPC_DISABLE = 0,\n\tOCR_OPC_CONFIG = 1,\n\tOCR_OPC_OPERATION = 2,\n};\n\nenum rtsn_reg {\n\tAXIWC = 0,\n\tAXIRC = 4,\n\tTDPC0 = 16,\n\tTFT = 144,\n\tTATLS0 = 160,\n\tTATLS1 = 164,\n\tTATLR = 168,\n\tRATLS0 = 176,\n\tRATLS1 = 180,\n\tRATLR = 184,\n\tTSA0 = 192,\n\tTSS0 = 196,\n\tTRCR0 = 320,\n\tRIDAUAS0 = 384,\n\tRR = 512,\n\tTATS = 528,\n\tTATSR0 = 532,\n\tTATSR1 = 536,\n\tTATSR2 = 540,\n\tRATS = 544,\n\tRATSR0 = 548,\n\tRATSR1 = 552,\n\tRATSR2 = 556,\n\tRIDASM0 = 576,\n\tRIDASAM0 = 580,\n\tRIDACAM0 = 584,\n\tEIS0 = 768,\n\tEIE0 = 772,\n\tEID0 = 776,\n\tEIS1 = 784,\n\tEIE1 = 788,\n\tEID1 = 792,\n\tTCEIS0 = 832,\n\tTCEIE0 = 836,\n\tTCEID0 = 840,\n\tRFSEIS0 = 1216,\n\tRFSEIE0 = 1220,\n\tRFSEID0 = 1224,\n\tRFEIS0 = 1344,\n\tRFEIE0 = 1348,\n\tRFEID0 = 1352,\n\tRCEIS0 = 1472,\n\tRCEIE0 = 1476,\n\tRCEID0 = 1480,\n\tRIDAOIS = 1600,\n\tRIDAOIE = 1604,\n\tRIDAOID = 1608,\n\tTSFEIS = 1728,\n\tTSFEIE = 1732,\n\tTSFEID = 1736,\n\tTSCEIS = 1744,\n\tTSCEIE = 1748,\n\tTSCEID = 1752,\n\tDIS___2 = 2816,\n\tDIE___2 = 2820,\n\tDID = 2824,\n\tTDIS0 = 2832,\n\tTDIE0 = 2836,\n\tTDID0 = 2840,\n\tRDIS0 = 2960,\n\tRDIE0 = 2964,\n\tRDID0 = 2968,\n\tTSDIS = 3088,\n\tTSDIE = 3092,\n\tTSDID = 3096,\n\tGPOUT = 24576,\n\tOCR = 4096,\n\tOSR = 4100,\n\tSWR = 4104,\n\tSIS = 4108,\n\tGIS___2 = 4112,\n\tGIE___2 = 4116,\n\tGID___2 = 4120,\n\tTIS1 = 4128,\n\tTIE1 = 4132,\n\tTID1 = 4136,\n\tTIS2 = 4144,\n\tTIE2 = 4148,\n\tTID2 = 4152,\n\tRIS = 4160,\n\tRIE = 4164,\n\tRID = 4168,\n\tTGC1 = 4176,\n\tTGC2 = 4180,\n\tTFS0 = 4192,\n\tTCF0 = 4208,\n\tTCR1 = 4224,\n\tTCR2 = 4228,\n\tTCR3 = 4232,\n\tTCR4 = 4236,\n\tTMS0 = 4240,\n\tTSR1 = 4272,\n\tTSR2 = 4276,\n\tTSR3 = 4280,\n\tTSR4 = 4284,\n\tTSR5 = 4288,\n\tRGC = 4304,\n\tRDFCR = 4308,\n\tRCFCR = 4312,\n\tREFCNCR = 4316,\n\tRSR1 = 4320,\n\tRSR2 = 4324,\n\tRSR3 = 4328,\n\tTCIS = 4576,\n\tTCIE = 4580,\n\tTCID = 4584,\n\tTPTPC = 4592,\n\tTTML = 4596,\n\tTTJ = 4600,\n\tTCC = 4608,\n\tTCS = 4612,\n\tTGS = 4620,\n\tTACST0 = 4624,\n\tTACST1 = 4628,\n\tTACST2 = 4632,\n\tTALIT0 = 4640,\n\tTALIT1 = 4644,\n\tTALIT2 = 4648,\n\tTAEN0 = 4656,\n\tTAEN1 = 4660,\n\tTASFE = 4672,\n\tTACLL0 = 4688,\n\tTACLL1 = 4692,\n\tTACLL2 = 4696,\n\tCACC = 4704,\n\tCCS = 4708,\n\tCAIV0 = 4720,\n\tCAUL0 = 4752,\n\tTOCST0 = 4864,\n\tTOCST1 = 4868,\n\tTOCST2 = 4872,\n\tTOLIT0 = 4880,\n\tTOLIT1 = 4884,\n\tTOLIT2 = 4888,\n\tTOEN0 = 4896,\n\tTOEN1 = 4900,\n\tTOSFE = 4912,\n\tTCLR0 = 4928,\n\tTCLR1 = 4932,\n\tTCLR2 = 4936,\n\tTSMS = 4944,\n\tCOCC = 4960,\n\tCOIV0 = 5040,\n\tCOUL0 = 5072,\n\tQSTMACU0 = 5120,\n\tQSTMACD0 = 5124,\n\tQSTMAMU0 = 5128,\n\tQSTMAMD0 = 5132,\n\tQSFTVL0 = 5136,\n\tQSFTVLM0 = 5140,\n\tQSFTMSD0 = 5144,\n\tQSFTGMI0 = 5148,\n\tQSFTLS = 5632,\n\tQSFTLIS = 5636,\n\tQSFTLIE = 5640,\n\tQSFTLID = 5644,\n\tQSMSMC = 5648,\n\tQSGTMC = 5652,\n\tQSEIS = 5656,\n\tQSEIE = 5660,\n\tQSEID = 5664,\n\tQGACST0 = 5680,\n\tQGACST1 = 5684,\n\tQGACST2 = 5688,\n\tQGALIT1 = 5696,\n\tQGALIT2 = 5700,\n\tQGAEN0 = 5704,\n\tQGAEN1 = 5964,\n\tQGIGS = 5712,\n\tQGGC = 5716,\n\tQGATL0 = 5732,\n\tQGATL1 = 5736,\n\tQGATL2 = 5740,\n\tQGOCST0 = 5744,\n\tQGOCST1 = 5748,\n\tQGOCST2 = 5752,\n\tQGOLIT0 = 5756,\n\tQGOLIT1 = 5760,\n\tQGOLIT2 = 5764,\n\tQGOEN0 = 5768,\n\tQGOEN1 = 5772,\n\tQGTRO = 5776,\n\tQGTR1 = 5780,\n\tQGTR2 = 5784,\n\tQGFSMS = 5788,\n\tQTMIS = 5856,\n\tQTMIE = 5860,\n\tQTMID = 5864,\n\tQMEC = 5888,\n\tQMMC = 5892,\n\tQRFDC = 5896,\n\tQYFDC = 5900,\n\tQVTCMC0 = 5904,\n\tQMCBSC0 = 5968,\n\tQMCIRC0 = 6032,\n\tQMEBSC0 = 6096,\n\tQMEIRC0 = 5904,\n\tQMCFC = 6224,\n\tQMEIS = 6240,\n\tQMEIE = 6244,\n\tQMEID = 6252,\n\tQSMFC0 = 6256,\n\tQMSPPC0 = 6320,\n\tQMSRPC0 = 6384,\n\tQGPPC0 = 6448,\n\tQGRPC0 = 6480,\n\tQMDPC0 = 6512,\n\tQMGPC0 = 6576,\n\tQMYPC0 = 6640,\n\tQMRPC0 = 6704,\n\tMQSTMACU = 6768,\n\tMQSTMACD = 6772,\n\tMQSTMAMU = 6776,\n\tMQSTMAMD = 6780,\n\tMQSFTVL = 6784,\n\tMQSFTVLM = 6788,\n\tMQSFTMSD = 6792,\n\tMQSFTGMI = 6796,\n\tCFCR0 = 10240,\n\tFMSCR = 11280,\n\tMMC = 14336,\n\tMPSM___2 = 14352,\n\tMPIC___2 = 14356,\n\tMTFFC___2 = 14368,\n\tMTPFC___2 = 14372,\n\tMTATC0___2 = 14400,\n\tMRGC___2 = 14464,\n\tMRMAC0___2 = 14468,\n\tMRMAC1___2 = 14472,\n\tMRAFC___2 = 14476,\n\tMRSCE___2 = 14480,\n\tMRSCP___2 = 14484,\n\tMRSCC___2 = 14488,\n\tMRFSCE___2 = 14492,\n\tMRFSCP___2 = 14496,\n\tMTRC___2 = 14500,\n\tMPFC = 14592,\n\tMLVC___2 = 15168,\n\tMEEEC___2 = 15184,\n\tMLBC___2 = 15200,\n\tMGMR = 15360,\n\tMMPFTCT___2 = 15376,\n\tMAPFTCT___2 = 15380,\n\tMPFRCT___2 = 15384,\n\tMFCICT___2 = 15388,\n\tMEEECT___2 = 15392,\n\tMEIS___2 = 15616,\n\tMEIE___2 = 15620,\n\tMEID___2 = 15624,\n\tMMIS0___2 = 15632,\n\tMMIE0___2 = 15636,\n\tMMID0___2 = 15640,\n\tMMIS1___2 = 15648,\n\tMMIE1___2 = 15652,\n\tMMID1___2 = 15656,\n\tMMIS2___2 = 15664,\n\tMMIE2___2 = 15668,\n\tMMID2___2 = 15672,\n\tMXMS___2 = 15872,\n};\n\nenum rw_hint {\n\tWRITE_LIFE_NOT_SET = 0,\n\tWRITE_LIFE_NONE = 1,\n\tWRITE_LIFE_SHORT = 2,\n\tWRITE_LIFE_MEDIUM = 3,\n\tWRITE_LIFE_LONG = 4,\n\tWRITE_LIFE_EXTREME = 5,\n} __attribute__((mode(byte)));\n\nenum rwsem_waiter_type {\n\tRWSEM_WAITING_FOR_WRITE = 0,\n\tRWSEM_WAITING_FOR_READ = 1,\n};\n\nenum rwsem_wake_type {\n\tRWSEM_WAKE_ANY = 0,\n\tRWSEM_WAKE_READERS = 1,\n\tRWSEM_WAKE_READ_OWNED = 2,\n};\n\nenum rwsig_action {\n\tRWSIG_ACTION_ABORT = 0,\n\tRWSIG_ACTION_CONTINUE = 1,\n};\n\nenum rx_handler_result {\n\tRX_HANDLER_CONSUMED = 0,\n\tRX_HANDLER_ANOTHER = 1,\n\tRX_HANDLER_EXACT = 2,\n\tRX_HANDLER_PASS = 3,\n};\n\ntypedef enum rx_handler_result rx_handler_result_t;\n\nenum rx_stats_reg_offset {\n\tRX_OCTS = 0,\n\tRX_UCAST = 1,\n\tRX_BCAST = 2,\n\tRX_MCAST = 3,\n\tRX_RED = 4,\n\tRX_RED_OCTS = 5,\n\tRX_ORUN = 6,\n\tRX_ORUN_OCTS = 7,\n\tRX_FCS = 8,\n\tRX_L2ERR = 9,\n\tRX_DRP_BCAST = 10,\n\tRX_DRP_MCAST = 11,\n\tRX_DRP_L3BCAST = 12,\n\tRX_DRP_L3MCAST = 13,\n\tRX_STATS_ENUM_LAST = 14,\n};\n\nenum rz_dmac_prep_type {\n\tRZ_DMAC_DESC_MEMCPY = 0,\n\tRZ_DMAC_DESC_SLAVE_SG = 1,\n};\n\nenum rz_mtu3_channels {\n\tRZ_MTU3_CHAN_0 = 0,\n\tRZ_MTU3_CHAN_1 = 1,\n\tRZ_MTU3_CHAN_2 = 2,\n\tRZ_MTU3_CHAN_3 = 3,\n\tRZ_MTU3_CHAN_4 = 4,\n\tRZ_MTU3_CHAN_5 = 5,\n\tRZ_MTU3_CHAN_6 = 6,\n\tRZ_MTU3_CHAN_7 = 7,\n\tRZ_MTU3_CHAN_8 = 8,\n\tRZ_MTU_NUM_CHANNELS = 9,\n};\n\nenum rz_wdt_type {\n\tWDT_RZG2L = 0,\n\tWDT_RZV2M = 1,\n};\n\nenum rzg2l_iolh_index {\n\tRZG2L_IOLH_IDX_1V8 = 0,\n\tRZG2L_IOLH_IDX_2V5 = 4,\n\tRZG2L_IOLH_IDX_3V3 = 8,\n\tRZG2L_IOLH_IDX_MAX = 12,\n};\n\nenum s2idle_states {\n\tS2IDLE_STATE_NONE = 0,\n\tS2IDLE_STATE_ENTER = 1,\n\tS2IDLE_STATE_WAKE = 2,\n};\n\nenum s2mpa01_reg {\n\tS2MPA01_REG_ID = 0,\n\tS2MPA01_REG_INT1 = 1,\n\tS2MPA01_REG_INT2 = 2,\n\tS2MPA01_REG_INT3 = 3,\n\tS2MPA01_REG_INT1M = 4,\n\tS2MPA01_REG_INT2M = 5,\n\tS2MPA01_REG_INT3M = 6,\n\tS2MPA01_REG_ST1 = 7,\n\tS2MPA01_REG_ST2 = 8,\n\tS2MPA01_REG_PWRONSRC = 9,\n\tS2MPA01_REG_OFFSRC = 10,\n\tS2MPA01_REG_RTC_BUF = 11,\n\tS2MPA01_REG_CTRL1 = 12,\n\tS2MPA01_REG_ETC_TEST = 13,\n\tS2MPA01_REG_RSVD1 = 14,\n\tS2MPA01_REG_BU_CHG = 15,\n\tS2MPA01_REG_RAMP1 = 16,\n\tS2MPA01_REG_RAMP2 = 17,\n\tS2MPA01_REG_LDO_DSCH1 = 18,\n\tS2MPA01_REG_LDO_DSCH2 = 19,\n\tS2MPA01_REG_LDO_DSCH3 = 20,\n\tS2MPA01_REG_LDO_DSCH4 = 21,\n\tS2MPA01_REG_OTP_ADRL = 22,\n\tS2MPA01_REG_OTP_ADRH = 23,\n\tS2MPA01_REG_OTP_DATA = 24,\n\tS2MPA01_REG_MON1SEL = 25,\n\tS2MPA01_REG_MON2SEL = 26,\n\tS2MPA01_REG_LEE = 27,\n\tS2MPA01_REG_RSVD2 = 28,\n\tS2MPA01_REG_RSVD3 = 29,\n\tS2MPA01_REG_RSVD4 = 30,\n\tS2MPA01_REG_RSVD5 = 31,\n\tS2MPA01_REG_RSVD6 = 32,\n\tS2MPA01_REG_TOP_RSVD = 33,\n\tS2MPA01_REG_DVS_SEL = 34,\n\tS2MPA01_REG_DVS_PTR = 35,\n\tS2MPA01_REG_DVS_DATA = 36,\n\tS2MPA01_REG_RSVD_NO = 37,\n\tS2MPA01_REG_UVLO = 38,\n\tS2MPA01_REG_LEE_NO = 39,\n\tS2MPA01_REG_B1CTRL1 = 40,\n\tS2MPA01_REG_B1CTRL2 = 41,\n\tS2MPA01_REG_B2CTRL1 = 42,\n\tS2MPA01_REG_B2CTRL2 = 43,\n\tS2MPA01_REG_B3CTRL1 = 44,\n\tS2MPA01_REG_B3CTRL2 = 45,\n\tS2MPA01_REG_B4CTRL1 = 46,\n\tS2MPA01_REG_B4CTRL2 = 47,\n\tS2MPA01_REG_B5CTRL1 = 48,\n\tS2MPA01_REG_B5CTRL2 = 49,\n\tS2MPA01_REG_B5CTRL3 = 50,\n\tS2MPA01_REG_B5CTRL4 = 51,\n\tS2MPA01_REG_B5CTRL5 = 52,\n\tS2MPA01_REG_B5CTRL6 = 53,\n\tS2MPA01_REG_B6CTRL1 = 54,\n\tS2MPA01_REG_B6CTRL2 = 55,\n\tS2MPA01_REG_B7CTRL1 = 56,\n\tS2MPA01_REG_B7CTRL2 = 57,\n\tS2MPA01_REG_B8CTRL1 = 58,\n\tS2MPA01_REG_B8CTRL2 = 59,\n\tS2MPA01_REG_B9CTRL1 = 60,\n\tS2MPA01_REG_B9CTRL2 = 61,\n\tS2MPA01_REG_B10CTRL1 = 62,\n\tS2MPA01_REG_B10CTRL2 = 63,\n\tS2MPA01_REG_L1CTRL = 64,\n\tS2MPA01_REG_L2CTRL = 65,\n\tS2MPA01_REG_L3CTRL = 66,\n\tS2MPA01_REG_L4CTRL = 67,\n\tS2MPA01_REG_L5CTRL = 68,\n\tS2MPA01_REG_L6CTRL = 69,\n\tS2MPA01_REG_L7CTRL = 70,\n\tS2MPA01_REG_L8CTRL = 71,\n\tS2MPA01_REG_L9CTRL = 72,\n\tS2MPA01_REG_L10CTRL = 73,\n\tS2MPA01_REG_L11CTRL = 74,\n\tS2MPA01_REG_L12CTRL = 75,\n\tS2MPA01_REG_L13CTRL = 76,\n\tS2MPA01_REG_L14CTRL = 77,\n\tS2MPA01_REG_L15CTRL = 78,\n\tS2MPA01_REG_L16CTRL = 79,\n\tS2MPA01_REG_L17CTRL = 80,\n\tS2MPA01_REG_L18CTRL = 81,\n\tS2MPA01_REG_L19CTRL = 82,\n\tS2MPA01_REG_L20CTRL = 83,\n\tS2MPA01_REG_L21CTRL = 84,\n\tS2MPA01_REG_L22CTRL = 85,\n\tS2MPA01_REG_L23CTRL = 86,\n\tS2MPA01_REG_L24CTRL = 87,\n\tS2MPA01_REG_L25CTRL = 88,\n\tS2MPA01_REG_L26CTRL = 89,\n\tS2MPA01_REG_LDO_OVCB1 = 90,\n\tS2MPA01_REG_LDO_OVCB2 = 91,\n\tS2MPA01_REG_LDO_OVCB3 = 92,\n\tS2MPA01_REG_LDO_OVCB4 = 93,\n};\n\nenum s2mps11_irq {\n\tS2MPS11_IRQ_PWRONF = 0,\n\tS2MPS11_IRQ_PWRONR = 1,\n\tS2MPS11_IRQ_JIGONBF = 2,\n\tS2MPS11_IRQ_JIGONBR = 3,\n\tS2MPS11_IRQ_ACOKBF = 4,\n\tS2MPS11_IRQ_ACOKBR = 5,\n\tS2MPS11_IRQ_PWRON1S = 6,\n\tS2MPS11_IRQ_MRB = 7,\n\tS2MPS11_IRQ_RTC60S = 8,\n\tS2MPS11_IRQ_RTCA1 = 9,\n\tS2MPS11_IRQ_RTCA0 = 10,\n\tS2MPS11_IRQ_SMPL = 11,\n\tS2MPS11_IRQ_RTC1S = 12,\n\tS2MPS11_IRQ_WTSR = 13,\n\tS2MPS11_IRQ_INT120C = 14,\n\tS2MPS11_IRQ_INT140C = 15,\n\tS2MPS11_IRQ_NR = 16,\n};\n\nenum s2mps11_reg {\n\tS2MPS11_REG_ID = 0,\n\tS2MPS11_REG_INT1 = 1,\n\tS2MPS11_REG_INT2 = 2,\n\tS2MPS11_REG_INT3 = 3,\n\tS2MPS11_REG_INT1M = 4,\n\tS2MPS11_REG_INT2M = 5,\n\tS2MPS11_REG_INT3M = 6,\n\tS2MPS11_REG_ST1 = 7,\n\tS2MPS11_REG_ST2 = 8,\n\tS2MPS11_REG_OFFSRC = 9,\n\tS2MPS11_REG_PWRONSRC = 10,\n\tS2MPS11_REG_RTC_CTRL = 11,\n\tS2MPS11_REG_CTRL1 = 12,\n\tS2MPS11_REG_ETC_TEST = 13,\n\tS2MPS11_REG_RSVD3 = 14,\n\tS2MPS11_REG_BU_CHG = 15,\n\tS2MPS11_REG_RAMP = 16,\n\tS2MPS11_REG_RAMP_BUCK = 17,\n\tS2MPS11_REG_LDO1_8 = 18,\n\tS2MPS11_REG_LDO9_16 = 19,\n\tS2MPS11_REG_LDO17_24 = 20,\n\tS2MPS11_REG_LDO25_32 = 21,\n\tS2MPS11_REG_LDO33_38 = 22,\n\tS2MPS11_REG_LDO1_8_1 = 23,\n\tS2MPS11_REG_LDO9_16_1 = 24,\n\tS2MPS11_REG_LDO17_24_1 = 25,\n\tS2MPS11_REG_LDO25_32_1 = 26,\n\tS2MPS11_REG_LDO33_38_1 = 27,\n\tS2MPS11_REG_OTP_ADRL = 28,\n\tS2MPS11_REG_OTP_ADRH = 29,\n\tS2MPS11_REG_OTP_DATA = 30,\n\tS2MPS11_REG_MON1SEL = 31,\n\tS2MPS11_REG_MON2SEL = 32,\n\tS2MPS11_REG_LEE = 33,\n\tS2MPS11_REG_RSVD_NO = 34,\n\tS2MPS11_REG_UVLO = 35,\n\tS2MPS11_REG_LEE_NO = 36,\n\tS2MPS11_REG_B1CTRL1 = 37,\n\tS2MPS11_REG_B1CTRL2 = 38,\n\tS2MPS11_REG_B2CTRL1 = 39,\n\tS2MPS11_REG_B2CTRL2 = 40,\n\tS2MPS11_REG_B3CTRL1 = 41,\n\tS2MPS11_REG_B3CTRL2 = 42,\n\tS2MPS11_REG_B4CTRL1 = 43,\n\tS2MPS11_REG_B4CTRL2 = 44,\n\tS2MPS11_REG_B5CTRL1 = 45,\n\tS2MPS11_REG_BUCK5_SW = 46,\n\tS2MPS11_REG_B5CTRL2 = 47,\n\tS2MPS11_REG_B5CTRL3 = 48,\n\tS2MPS11_REG_B5CTRL4 = 49,\n\tS2MPS11_REG_B5CTRL5 = 50,\n\tS2MPS11_REG_B6CTRL1 = 51,\n\tS2MPS11_REG_B6CTRL2 = 52,\n\tS2MPS11_REG_B7CTRL1 = 53,\n\tS2MPS11_REG_B7CTRL2 = 54,\n\tS2MPS11_REG_B8CTRL1 = 55,\n\tS2MPS11_REG_B8CTRL2 = 56,\n\tS2MPS11_REG_B9CTRL1 = 57,\n\tS2MPS11_REG_B9CTRL2 = 58,\n\tS2MPS11_REG_B10CTRL1 = 59,\n\tS2MPS11_REG_B10CTRL2 = 60,\n\tS2MPS11_REG_L1CTRL = 61,\n\tS2MPS11_REG_L2CTRL = 62,\n\tS2MPS11_REG_L3CTRL = 63,\n\tS2MPS11_REG_L4CTRL = 64,\n\tS2MPS11_REG_L5CTRL = 65,\n\tS2MPS11_REG_L6CTRL = 66,\n\tS2MPS11_REG_L7CTRL = 67,\n\tS2MPS11_REG_L8CTRL = 68,\n\tS2MPS11_REG_L9CTRL = 69,\n\tS2MPS11_REG_L10CTRL = 70,\n\tS2MPS11_REG_L11CTRL = 71,\n\tS2MPS11_REG_L12CTRL = 72,\n\tS2MPS11_REG_L13CTRL = 73,\n\tS2MPS11_REG_L14CTRL = 74,\n\tS2MPS11_REG_L15CTRL = 75,\n\tS2MPS11_REG_L16CTRL = 76,\n\tS2MPS11_REG_L17CTRL = 77,\n\tS2MPS11_REG_L18CTRL = 78,\n\tS2MPS11_REG_L19CTRL = 79,\n\tS2MPS11_REG_L20CTRL = 80,\n\tS2MPS11_REG_L21CTRL = 81,\n\tS2MPS11_REG_L22CTRL = 82,\n\tS2MPS11_REG_L23CTRL = 83,\n\tS2MPS11_REG_L24CTRL = 84,\n\tS2MPS11_REG_L25CTRL = 85,\n\tS2MPS11_REG_L26CTRL = 86,\n\tS2MPS11_REG_L27CTRL = 87,\n\tS2MPS11_REG_L28CTRL = 88,\n\tS2MPS11_REG_L29CTRL = 89,\n\tS2MPS11_REG_L30CTRL = 90,\n\tS2MPS11_REG_L31CTRL = 91,\n\tS2MPS11_REG_L32CTRL = 92,\n\tS2MPS11_REG_L33CTRL = 93,\n\tS2MPS11_REG_L34CTRL = 94,\n\tS2MPS11_REG_L35CTRL = 95,\n\tS2MPS11_REG_L36CTRL = 96,\n\tS2MPS11_REG_L37CTRL = 97,\n\tS2MPS11_REG_L38CTRL = 98,\n};\n\nenum s2mps11_regulators {\n\tS2MPS11_LDO1 = 0,\n\tS2MPS11_LDO2 = 1,\n\tS2MPS11_LDO3 = 2,\n\tS2MPS11_LDO4 = 3,\n\tS2MPS11_LDO5 = 4,\n\tS2MPS11_LDO6 = 5,\n\tS2MPS11_LDO7 = 6,\n\tS2MPS11_LDO8 = 7,\n\tS2MPS11_LDO9 = 8,\n\tS2MPS11_LDO10 = 9,\n\tS2MPS11_LDO11 = 10,\n\tS2MPS11_LDO12 = 11,\n\tS2MPS11_LDO13 = 12,\n\tS2MPS11_LDO14 = 13,\n\tS2MPS11_LDO15 = 14,\n\tS2MPS11_LDO16 = 15,\n\tS2MPS11_LDO17 = 16,\n\tS2MPS11_LDO18 = 17,\n\tS2MPS11_LDO19 = 18,\n\tS2MPS11_LDO20 = 19,\n\tS2MPS11_LDO21 = 20,\n\tS2MPS11_LDO22 = 21,\n\tS2MPS11_LDO23 = 22,\n\tS2MPS11_LDO24 = 23,\n\tS2MPS11_LDO25 = 24,\n\tS2MPS11_LDO26 = 25,\n\tS2MPS11_LDO27 = 26,\n\tS2MPS11_LDO28 = 27,\n\tS2MPS11_LDO29 = 28,\n\tS2MPS11_LDO30 = 29,\n\tS2MPS11_LDO31 = 30,\n\tS2MPS11_LDO32 = 31,\n\tS2MPS11_LDO33 = 32,\n\tS2MPS11_LDO34 = 33,\n\tS2MPS11_LDO35 = 34,\n\tS2MPS11_LDO36 = 35,\n\tS2MPS11_LDO37 = 36,\n\tS2MPS11_LDO38 = 37,\n\tS2MPS11_BUCK1 = 38,\n\tS2MPS11_BUCK2 = 39,\n\tS2MPS11_BUCK3 = 40,\n\tS2MPS11_BUCK4 = 41,\n\tS2MPS11_BUCK5 = 42,\n\tS2MPS11_BUCK6 = 43,\n\tS2MPS11_BUCK7 = 44,\n\tS2MPS11_BUCK8 = 45,\n\tS2MPS11_BUCK9 = 46,\n\tS2MPS11_BUCK10 = 47,\n\tS2MPS11_REGULATOR_MAX = 48,\n};\n\nenum s2mps13_reg {\n\tS2MPS13_REG_ID = 0,\n\tS2MPS13_REG_INT1 = 1,\n\tS2MPS13_REG_INT2 = 2,\n\tS2MPS13_REG_INT3 = 3,\n\tS2MPS13_REG_INT1M = 4,\n\tS2MPS13_REG_INT2M = 5,\n\tS2MPS13_REG_INT3M = 6,\n\tS2MPS13_REG_ST1 = 7,\n\tS2MPS13_REG_ST2 = 8,\n\tS2MPS13_REG_PWRONSRC = 9,\n\tS2MPS13_REG_OFFSRC = 10,\n\tS2MPS13_REG_BU_CHG = 11,\n\tS2MPS13_REG_RTCCTRL = 12,\n\tS2MPS13_REG_CTRL1 = 13,\n\tS2MPS13_REG_CTRL2 = 14,\n\tS2MPS13_REG_RSVD1 = 15,\n\tS2MPS13_REG_RSVD2 = 16,\n\tS2MPS13_REG_RSVD3 = 17,\n\tS2MPS13_REG_RSVD4 = 18,\n\tS2MPS13_REG_RSVD5 = 19,\n\tS2MPS13_REG_RSVD6 = 20,\n\tS2MPS13_REG_CTRL3 = 21,\n\tS2MPS13_REG_RSVD7 = 22,\n\tS2MPS13_REG_RSVD8 = 23,\n\tS2MPS13_REG_WRSTBI = 24,\n\tS2MPS13_REG_B1CTRL = 25,\n\tS2MPS13_REG_B1OUT = 26,\n\tS2MPS13_REG_B2CTRL = 27,\n\tS2MPS13_REG_B2OUT = 28,\n\tS2MPS13_REG_B3CTRL = 29,\n\tS2MPS13_REG_B3OUT = 30,\n\tS2MPS13_REG_B4CTRL = 31,\n\tS2MPS13_REG_B4OUT = 32,\n\tS2MPS13_REG_B5CTRL = 33,\n\tS2MPS13_REG_B5OUT = 34,\n\tS2MPS13_REG_B6CTRL = 35,\n\tS2MPS13_REG_B6OUT = 36,\n\tS2MPS13_REG_B7CTRL = 37,\n\tS2MPS13_REG_B7SW = 38,\n\tS2MPS13_REG_B7OUT = 39,\n\tS2MPS13_REG_B8CTRL = 40,\n\tS2MPS13_REG_B8OUT = 41,\n\tS2MPS13_REG_B9CTRL = 42,\n\tS2MPS13_REG_B9OUT = 43,\n\tS2MPS13_REG_B10CTRL = 44,\n\tS2MPS13_REG_B10OUT = 45,\n\tS2MPS13_REG_BB1CTRL = 46,\n\tS2MPS13_REG_BB1OUT = 47,\n\tS2MPS13_REG_BUCK_RAMP1 = 48,\n\tS2MPS13_REG_BUCK_RAMP2 = 49,\n\tS2MPS13_REG_LDO_DVS1 = 50,\n\tS2MPS13_REG_LDO_DVS2 = 51,\n\tS2MPS13_REG_LDO_DVS3 = 52,\n\tS2MPS13_REG_B6OUT2 = 53,\n\tS2MPS13_REG_L1CTRL = 54,\n\tS2MPS13_REG_L2CTRL = 55,\n\tS2MPS13_REG_L3CTRL = 56,\n\tS2MPS13_REG_L4CTRL = 57,\n\tS2MPS13_REG_L5CTRL = 58,\n\tS2MPS13_REG_L6CTRL = 59,\n\tS2MPS13_REG_L7CTRL = 60,\n\tS2MPS13_REG_L8CTRL = 61,\n\tS2MPS13_REG_L9CTRL = 62,\n\tS2MPS13_REG_L10CTRL = 63,\n\tS2MPS13_REG_L11CTRL = 64,\n\tS2MPS13_REG_L12CTRL = 65,\n\tS2MPS13_REG_L13CTRL = 66,\n\tS2MPS13_REG_L14CTRL = 67,\n\tS2MPS13_REG_L15CTRL = 68,\n\tS2MPS13_REG_L16CTRL = 69,\n\tS2MPS13_REG_L17CTRL = 70,\n\tS2MPS13_REG_L18CTRL = 71,\n\tS2MPS13_REG_L19CTRL = 72,\n\tS2MPS13_REG_L20CTRL = 73,\n\tS2MPS13_REG_L21CTRL = 74,\n\tS2MPS13_REG_L22CTRL = 75,\n\tS2MPS13_REG_L23CTRL = 76,\n\tS2MPS13_REG_L24CTRL = 77,\n\tS2MPS13_REG_L25CTRL = 78,\n\tS2MPS13_REG_L26CTRL = 79,\n\tS2MPS13_REG_L27CTRL = 80,\n\tS2MPS13_REG_L28CTRL = 81,\n\tS2MPS13_REG_L29CTRL = 82,\n\tS2MPS13_REG_L30CTRL = 83,\n\tS2MPS13_REG_L31CTRL = 84,\n\tS2MPS13_REG_L32CTRL = 85,\n\tS2MPS13_REG_L33CTRL = 86,\n\tS2MPS13_REG_L34CTRL = 87,\n\tS2MPS13_REG_L35CTRL = 88,\n\tS2MPS13_REG_L36CTRL = 89,\n\tS2MPS13_REG_L37CTRL = 90,\n\tS2MPS13_REG_L38CTRL = 91,\n\tS2MPS13_REG_L39CTRL = 92,\n\tS2MPS13_REG_L40CTRL = 93,\n\tS2MPS13_REG_LDODSCH1 = 94,\n\tS2MPS13_REG_LDODSCH2 = 95,\n\tS2MPS13_REG_LDODSCH3 = 96,\n\tS2MPS13_REG_LDODSCH4 = 97,\n\tS2MPS13_REG_LDODSCH5 = 98,\n};\n\nenum s2mps13_regulators {\n\tS2MPS13_LDO1 = 0,\n\tS2MPS13_LDO2 = 1,\n\tS2MPS13_LDO3 = 2,\n\tS2MPS13_LDO4 = 3,\n\tS2MPS13_LDO5 = 4,\n\tS2MPS13_LDO6 = 5,\n\tS2MPS13_LDO7 = 6,\n\tS2MPS13_LDO8 = 7,\n\tS2MPS13_LDO9 = 8,\n\tS2MPS13_LDO10 = 9,\n\tS2MPS13_LDO11 = 10,\n\tS2MPS13_LDO12 = 11,\n\tS2MPS13_LDO13 = 12,\n\tS2MPS13_LDO14 = 13,\n\tS2MPS13_LDO15 = 14,\n\tS2MPS13_LDO16 = 15,\n\tS2MPS13_LDO17 = 16,\n\tS2MPS13_LDO18 = 17,\n\tS2MPS13_LDO19 = 18,\n\tS2MPS13_LDO20 = 19,\n\tS2MPS13_LDO21 = 20,\n\tS2MPS13_LDO22 = 21,\n\tS2MPS13_LDO23 = 22,\n\tS2MPS13_LDO24 = 23,\n\tS2MPS13_LDO25 = 24,\n\tS2MPS13_LDO26 = 25,\n\tS2MPS13_LDO27 = 26,\n\tS2MPS13_LDO28 = 27,\n\tS2MPS13_LDO29 = 28,\n\tS2MPS13_LDO30 = 29,\n\tS2MPS13_LDO31 = 30,\n\tS2MPS13_LDO32 = 31,\n\tS2MPS13_LDO33 = 32,\n\tS2MPS13_LDO34 = 33,\n\tS2MPS13_LDO35 = 34,\n\tS2MPS13_LDO36 = 35,\n\tS2MPS13_LDO37 = 36,\n\tS2MPS13_LDO38 = 37,\n\tS2MPS13_LDO39 = 38,\n\tS2MPS13_LDO40 = 39,\n\tS2MPS13_BUCK1 = 40,\n\tS2MPS13_BUCK2 = 41,\n\tS2MPS13_BUCK3 = 42,\n\tS2MPS13_BUCK4 = 43,\n\tS2MPS13_BUCK5 = 44,\n\tS2MPS13_BUCK6 = 45,\n\tS2MPS13_BUCK7 = 46,\n\tS2MPS13_BUCK8 = 47,\n\tS2MPS13_BUCK9 = 48,\n\tS2MPS13_BUCK10 = 49,\n\tS2MPS13_REGULATOR_MAX = 50,\n};\n\nenum s2mps14_irq {\n\tS2MPS14_IRQ_PWRONF = 0,\n\tS2MPS14_IRQ_PWRONR = 1,\n\tS2MPS14_IRQ_JIGONBF = 2,\n\tS2MPS14_IRQ_JIGONBR = 3,\n\tS2MPS14_IRQ_ACOKBF = 4,\n\tS2MPS14_IRQ_ACOKBR = 5,\n\tS2MPS14_IRQ_PWRON1S = 6,\n\tS2MPS14_IRQ_MRB = 7,\n\tS2MPS14_IRQ_RTC60S = 8,\n\tS2MPS14_IRQ_RTCA1 = 9,\n\tS2MPS14_IRQ_RTCA0 = 10,\n\tS2MPS14_IRQ_SMPL = 11,\n\tS2MPS14_IRQ_RTC1S = 12,\n\tS2MPS14_IRQ_WTSR = 13,\n\tS2MPS14_IRQ_INT120C = 14,\n\tS2MPS14_IRQ_INT140C = 15,\n\tS2MPS14_IRQ_TSD = 16,\n\tS2MPS14_IRQ_NR = 17,\n};\n\nenum s2mps14_reg {\n\tS2MPS14_REG_ID = 0,\n\tS2MPS14_REG_INT1 = 1,\n\tS2MPS14_REG_INT2 = 2,\n\tS2MPS14_REG_INT3 = 3,\n\tS2MPS14_REG_INT1M = 4,\n\tS2MPS14_REG_INT2M = 5,\n\tS2MPS14_REG_INT3M = 6,\n\tS2MPS14_REG_ST1 = 7,\n\tS2MPS14_REG_ST2 = 8,\n\tS2MPS14_REG_PWRONSRC = 9,\n\tS2MPS14_REG_OFFSRC = 10,\n\tS2MPS14_REG_BU_CHG = 11,\n\tS2MPS14_REG_RTCCTRL = 12,\n\tS2MPS14_REG_CTRL1 = 13,\n\tS2MPS14_REG_CTRL2 = 14,\n\tS2MPS14_REG_RSVD1 = 15,\n\tS2MPS14_REG_RSVD2 = 16,\n\tS2MPS14_REG_RSVD3 = 17,\n\tS2MPS14_REG_RSVD4 = 18,\n\tS2MPS14_REG_RSVD5 = 19,\n\tS2MPS14_REG_RSVD6 = 20,\n\tS2MPS14_REG_CTRL3 = 21,\n\tS2MPS14_REG_RSVD7 = 22,\n\tS2MPS14_REG_RSVD8 = 23,\n\tS2MPS14_REG_WRSTBI = 24,\n\tS2MPS14_REG_B1CTRL1 = 25,\n\tS2MPS14_REG_B1CTRL2 = 26,\n\tS2MPS14_REG_B2CTRL1 = 27,\n\tS2MPS14_REG_B2CTRL2 = 28,\n\tS2MPS14_REG_B3CTRL1 = 29,\n\tS2MPS14_REG_B3CTRL2 = 30,\n\tS2MPS14_REG_B4CTRL1 = 31,\n\tS2MPS14_REG_B4CTRL2 = 32,\n\tS2MPS14_REG_B5CTRL1 = 33,\n\tS2MPS14_REG_B5CTRL2 = 34,\n\tS2MPS14_REG_L1CTRL = 35,\n\tS2MPS14_REG_L2CTRL = 36,\n\tS2MPS14_REG_L3CTRL = 37,\n\tS2MPS14_REG_L4CTRL = 38,\n\tS2MPS14_REG_L5CTRL = 39,\n\tS2MPS14_REG_L6CTRL = 40,\n\tS2MPS14_REG_L7CTRL = 41,\n\tS2MPS14_REG_L8CTRL = 42,\n\tS2MPS14_REG_L9CTRL = 43,\n\tS2MPS14_REG_L10CTRL = 44,\n\tS2MPS14_REG_L11CTRL = 45,\n\tS2MPS14_REG_L12CTRL = 46,\n\tS2MPS14_REG_L13CTRL = 47,\n\tS2MPS14_REG_L14CTRL = 48,\n\tS2MPS14_REG_L15CTRL = 49,\n\tS2MPS14_REG_L16CTRL = 50,\n\tS2MPS14_REG_L17CTRL = 51,\n\tS2MPS14_REG_L18CTRL = 52,\n\tS2MPS14_REG_L19CTRL = 53,\n\tS2MPS14_REG_L20CTRL = 54,\n\tS2MPS14_REG_L21CTRL = 55,\n\tS2MPS14_REG_L22CTRL = 56,\n\tS2MPS14_REG_L23CTRL = 57,\n\tS2MPS14_REG_L24CTRL = 58,\n\tS2MPS14_REG_L25CTRL = 59,\n\tS2MPS14_REG_LDODSCH1 = 60,\n\tS2MPS14_REG_LDODSCH2 = 61,\n\tS2MPS14_REG_LDODSCH3 = 62,\n};\n\nenum s2mps14_regulators {\n\tS2MPS14_LDO1 = 0,\n\tS2MPS14_LDO2 = 1,\n\tS2MPS14_LDO3 = 2,\n\tS2MPS14_LDO4 = 3,\n\tS2MPS14_LDO5 = 4,\n\tS2MPS14_LDO6 = 5,\n\tS2MPS14_LDO7 = 6,\n\tS2MPS14_LDO8 = 7,\n\tS2MPS14_LDO9 = 8,\n\tS2MPS14_LDO10 = 9,\n\tS2MPS14_LDO11 = 10,\n\tS2MPS14_LDO12 = 11,\n\tS2MPS14_LDO13 = 12,\n\tS2MPS14_LDO14 = 13,\n\tS2MPS14_LDO15 = 14,\n\tS2MPS14_LDO16 = 15,\n\tS2MPS14_LDO17 = 16,\n\tS2MPS14_LDO18 = 17,\n\tS2MPS14_LDO19 = 18,\n\tS2MPS14_LDO20 = 19,\n\tS2MPS14_LDO21 = 20,\n\tS2MPS14_LDO22 = 21,\n\tS2MPS14_LDO23 = 22,\n\tS2MPS14_LDO24 = 23,\n\tS2MPS14_LDO25 = 24,\n\tS2MPS14_BUCK1 = 25,\n\tS2MPS14_BUCK2 = 26,\n\tS2MPS14_BUCK3 = 27,\n\tS2MPS14_BUCK4 = 28,\n\tS2MPS14_BUCK5 = 29,\n\tS2MPS14_REGULATOR_MAX = 30,\n};\n\nenum s2mps15_reg {\n\tS2MPS15_REG_ID = 0,\n\tS2MPS15_REG_INT1 = 1,\n\tS2MPS15_REG_INT2 = 2,\n\tS2MPS15_REG_INT3 = 3,\n\tS2MPS15_REG_INT1M = 4,\n\tS2MPS15_REG_INT2M = 5,\n\tS2MPS15_REG_INT3M = 6,\n\tS2MPS15_REG_ST1 = 7,\n\tS2MPS15_REG_ST2 = 8,\n\tS2MPS15_REG_PWRONSRC = 9,\n\tS2MPS15_REG_OFFSRC = 10,\n\tS2MPS15_REG_BU_CHG = 11,\n\tS2MPS15_REG_RTC_BUF = 12,\n\tS2MPS15_REG_CTRL1 = 13,\n\tS2MPS15_REG_CTRL2 = 14,\n\tS2MPS15_REG_RSVD1 = 15,\n\tS2MPS15_REG_RSVD2 = 16,\n\tS2MPS15_REG_RSVD3 = 17,\n\tS2MPS15_REG_RSVD4 = 18,\n\tS2MPS15_REG_RSVD5 = 19,\n\tS2MPS15_REG_RSVD6 = 20,\n\tS2MPS15_REG_CTRL3 = 21,\n\tS2MPS15_REG_RSVD7 = 22,\n\tS2MPS15_REG_RSVD8 = 23,\n\tS2MPS15_REG_RSVD9 = 24,\n\tS2MPS15_REG_B1CTRL1 = 25,\n\tS2MPS15_REG_B1CTRL2 = 26,\n\tS2MPS15_REG_B2CTRL1 = 27,\n\tS2MPS15_REG_B2CTRL2 = 28,\n\tS2MPS15_REG_B3CTRL1 = 29,\n\tS2MPS15_REG_B3CTRL2 = 30,\n\tS2MPS15_REG_B4CTRL1 = 31,\n\tS2MPS15_REG_B4CTRL2 = 32,\n\tS2MPS15_REG_B5CTRL1 = 33,\n\tS2MPS15_REG_B5CTRL2 = 34,\n\tS2MPS15_REG_B6CTRL1 = 35,\n\tS2MPS15_REG_B6CTRL2 = 36,\n\tS2MPS15_REG_B7CTRL1 = 37,\n\tS2MPS15_REG_B7CTRL2 = 38,\n\tS2MPS15_REG_B8CTRL1 = 39,\n\tS2MPS15_REG_B8CTRL2 = 40,\n\tS2MPS15_REG_B9CTRL1 = 41,\n\tS2MPS15_REG_B9CTRL2 = 42,\n\tS2MPS15_REG_B10CTRL1 = 43,\n\tS2MPS15_REG_B10CTRL2 = 44,\n\tS2MPS15_REG_BBCTRL1 = 45,\n\tS2MPS15_REG_BBCTRL2 = 46,\n\tS2MPS15_REG_BRAMP = 47,\n\tS2MPS15_REG_LDODVS1 = 48,\n\tS2MPS15_REG_LDODVS2 = 49,\n\tS2MPS15_REG_LDODVS3 = 50,\n\tS2MPS15_REG_LDODVS4 = 51,\n\tS2MPS15_REG_L1CTRL = 52,\n\tS2MPS15_REG_L2CTRL = 53,\n\tS2MPS15_REG_L3CTRL = 54,\n\tS2MPS15_REG_L4CTRL = 55,\n\tS2MPS15_REG_L5CTRL = 56,\n\tS2MPS15_REG_L6CTRL = 57,\n\tS2MPS15_REG_L7CTRL = 58,\n\tS2MPS15_REG_L8CTRL = 59,\n\tS2MPS15_REG_L9CTRL = 60,\n\tS2MPS15_REG_L10CTRL = 61,\n\tS2MPS15_REG_L11CTRL = 62,\n\tS2MPS15_REG_L12CTRL = 63,\n\tS2MPS15_REG_L13CTRL = 64,\n\tS2MPS15_REG_L14CTRL = 65,\n\tS2MPS15_REG_L15CTRL = 66,\n\tS2MPS15_REG_L16CTRL = 67,\n\tS2MPS15_REG_L17CTRL = 68,\n\tS2MPS15_REG_L18CTRL = 69,\n\tS2MPS15_REG_L19CTRL = 70,\n\tS2MPS15_REG_L20CTRL = 71,\n\tS2MPS15_REG_L21CTRL = 72,\n\tS2MPS15_REG_L22CTRL = 73,\n\tS2MPS15_REG_L23CTRL = 74,\n\tS2MPS15_REG_L24CTRL = 75,\n\tS2MPS15_REG_L25CTRL = 76,\n\tS2MPS15_REG_L26CTRL = 77,\n\tS2MPS15_REG_L27CTRL = 78,\n\tS2MPS15_REG_LDODSCH1 = 79,\n\tS2MPS15_REG_LDODSCH2 = 80,\n\tS2MPS15_REG_LDODSCH3 = 81,\n\tS2MPS15_REG_LDODSCH4 = 82,\n};\n\nenum s2mps15_regulators {\n\tS2MPS15_LDO1 = 0,\n\tS2MPS15_LDO2 = 1,\n\tS2MPS15_LDO3 = 2,\n\tS2MPS15_LDO4 = 3,\n\tS2MPS15_LDO5 = 4,\n\tS2MPS15_LDO6 = 5,\n\tS2MPS15_LDO7 = 6,\n\tS2MPS15_LDO8 = 7,\n\tS2MPS15_LDO9 = 8,\n\tS2MPS15_LDO10 = 9,\n\tS2MPS15_LDO11 = 10,\n\tS2MPS15_LDO12 = 11,\n\tS2MPS15_LDO13 = 12,\n\tS2MPS15_LDO14 = 13,\n\tS2MPS15_LDO15 = 14,\n\tS2MPS15_LDO16 = 15,\n\tS2MPS15_LDO17 = 16,\n\tS2MPS15_LDO18 = 17,\n\tS2MPS15_LDO19 = 18,\n\tS2MPS15_LDO20 = 19,\n\tS2MPS15_LDO21 = 20,\n\tS2MPS15_LDO22 = 21,\n\tS2MPS15_LDO23 = 22,\n\tS2MPS15_LDO24 = 23,\n\tS2MPS15_LDO25 = 24,\n\tS2MPS15_LDO26 = 25,\n\tS2MPS15_LDO27 = 26,\n\tS2MPS15_BUCK1 = 27,\n\tS2MPS15_BUCK2 = 28,\n\tS2MPS15_BUCK3 = 29,\n\tS2MPS15_BUCK4 = 30,\n\tS2MPS15_BUCK5 = 31,\n\tS2MPS15_BUCK6 = 32,\n\tS2MPS15_BUCK7 = 33,\n\tS2MPS15_BUCK8 = 34,\n\tS2MPS15_BUCK9 = 35,\n\tS2MPS15_BUCK10 = 36,\n\tS2MPS15_BUCK11 = 37,\n\tS2MPS15_REGULATOR_MAX = 38,\n};\n\nenum s2mps_rtc_reg {\n\tS2MPS_RTC_CTRL = 0,\n\tS2MPS_WTSR_SMPL_CNTL = 1,\n\tS2MPS_RTC_UDR_CON = 2,\n\tS2MPS_RSVD = 3,\n\tS2MPS_RTC_SEC = 4,\n\tS2MPS_RTC_MIN = 5,\n\tS2MPS_RTC_HOUR = 6,\n\tS2MPS_RTC_WEEKDAY = 7,\n\tS2MPS_RTC_DATE = 8,\n\tS2MPS_RTC_MONTH = 9,\n\tS2MPS_RTC_YEAR = 10,\n\tS2MPS_ALARM0_SEC = 11,\n\tS2MPS_ALARM0_MIN = 12,\n\tS2MPS_ALARM0_HOUR = 13,\n\tS2MPS_ALARM0_WEEKDAY = 14,\n\tS2MPS_ALARM0_DATE = 15,\n\tS2MPS_ALARM0_MONTH = 16,\n\tS2MPS_ALARM0_YEAR = 17,\n\tS2MPS_ALARM1_SEC = 18,\n\tS2MPS_ALARM1_MIN = 19,\n\tS2MPS_ALARM1_HOUR = 20,\n\tS2MPS_ALARM1_WEEKDAY = 21,\n\tS2MPS_ALARM1_DATE = 22,\n\tS2MPS_ALARM1_MONTH = 23,\n\tS2MPS_ALARM1_YEAR = 24,\n\tS2MPS_OFFSRC = 25,\n\tS2MPS_RTC_REG_MAX = 26,\n};\n\nenum s2mpu02_irq {\n\tS2MPU02_IRQ_PWRONF = 0,\n\tS2MPU02_IRQ_PWRONR = 1,\n\tS2MPU02_IRQ_JIGONBF = 2,\n\tS2MPU02_IRQ_JIGONBR = 3,\n\tS2MPU02_IRQ_ACOKBF = 4,\n\tS2MPU02_IRQ_ACOKBR = 5,\n\tS2MPU02_IRQ_PWRON1S = 6,\n\tS2MPU02_IRQ_MRB = 7,\n\tS2MPU02_IRQ_RTC60S = 8,\n\tS2MPU02_IRQ_RTCA1 = 9,\n\tS2MPU02_IRQ_RTCA0 = 10,\n\tS2MPU02_IRQ_SMPL = 11,\n\tS2MPU02_IRQ_RTC1S = 12,\n\tS2MPU02_IRQ_WTSR = 13,\n\tS2MPU02_IRQ_INT120C = 14,\n\tS2MPU02_IRQ_INT140C = 15,\n\tS2MPU02_IRQ_TSD = 16,\n\tS2MPU02_IRQ_NR = 17,\n};\n\nenum s3c24xx_i2c_state {\n\tSTATE_IDLE___4 = 0,\n\tSTATE_START___2 = 1,\n\tSTATE_READ___3 = 2,\n\tSTATE_WRITE___3 = 3,\n\tSTATE_STOP___2 = 4,\n};\n\nenum s3c24xx_port_type {\n\tTYPE_S3C6400 = 0,\n\tTYPE_APPLE_S5L = 1,\n};\n\nenum s5m8767_irq {\n\tS5M8767_IRQ_PWRR = 0,\n\tS5M8767_IRQ_PWRF = 1,\n\tS5M8767_IRQ_PWR1S = 2,\n\tS5M8767_IRQ_JIGR = 3,\n\tS5M8767_IRQ_JIGF = 4,\n\tS5M8767_IRQ_LOWBAT2 = 5,\n\tS5M8767_IRQ_LOWBAT1 = 6,\n\tS5M8767_IRQ_MRB = 7,\n\tS5M8767_IRQ_DVSOK2 = 8,\n\tS5M8767_IRQ_DVSOK3 = 9,\n\tS5M8767_IRQ_DVSOK4 = 10,\n\tS5M8767_IRQ_RTC60S = 11,\n\tS5M8767_IRQ_RTCA1 = 12,\n\tS5M8767_IRQ_RTCA2 = 13,\n\tS5M8767_IRQ_SMPL = 14,\n\tS5M8767_IRQ_RTC1S = 15,\n\tS5M8767_IRQ_WTSR = 16,\n\tS5M8767_IRQ_NR = 17,\n};\n\nenum s5m8767_reg {\n\tS5M8767_REG_ID = 0,\n\tS5M8767_REG_INT1 = 1,\n\tS5M8767_REG_INT2 = 2,\n\tS5M8767_REG_INT3 = 3,\n\tS5M8767_REG_INT1M = 4,\n\tS5M8767_REG_INT2M = 5,\n\tS5M8767_REG_INT3M = 6,\n\tS5M8767_REG_STATUS1 = 7,\n\tS5M8767_REG_STATUS2 = 8,\n\tS5M8767_REG_STATUS3 = 9,\n\tS5M8767_REG_CTRL1 = 10,\n\tS5M8767_REG_CTRL2 = 11,\n\tS5M8767_REG_LOWBAT1 = 12,\n\tS5M8767_REG_LOWBAT2 = 13,\n\tS5M8767_REG_BUCHG = 14,\n\tS5M8767_REG_DVSRAMP = 15,\n\tS5M8767_REG_DVSTIMER2 = 16,\n\tS5M8767_REG_DVSTIMER3 = 17,\n\tS5M8767_REG_DVSTIMER4 = 18,\n\tS5M8767_REG_LDO1 = 19,\n\tS5M8767_REG_LDO2 = 20,\n\tS5M8767_REG_LDO3 = 21,\n\tS5M8767_REG_LDO4 = 22,\n\tS5M8767_REG_LDO5 = 23,\n\tS5M8767_REG_LDO6 = 24,\n\tS5M8767_REG_LDO7 = 25,\n\tS5M8767_REG_LDO8 = 26,\n\tS5M8767_REG_LDO9 = 27,\n\tS5M8767_REG_LDO10 = 28,\n\tS5M8767_REG_LDO11 = 29,\n\tS5M8767_REG_LDO12 = 30,\n\tS5M8767_REG_LDO13 = 31,\n\tS5M8767_REG_LDO14 = 32,\n\tS5M8767_REG_LDO15 = 33,\n\tS5M8767_REG_LDO16 = 34,\n\tS5M8767_REG_LDO17 = 35,\n\tS5M8767_REG_LDO18 = 36,\n\tS5M8767_REG_LDO19 = 37,\n\tS5M8767_REG_LDO20 = 38,\n\tS5M8767_REG_LDO21 = 39,\n\tS5M8767_REG_LDO22 = 40,\n\tS5M8767_REG_LDO23 = 41,\n\tS5M8767_REG_LDO24 = 42,\n\tS5M8767_REG_LDO25 = 43,\n\tS5M8767_REG_LDO26 = 44,\n\tS5M8767_REG_LDO27 = 45,\n\tS5M8767_REG_LDO28 = 46,\n\tS5M8767_REG_UVLO = 49,\n\tS5M8767_REG_BUCK1CTRL1 = 50,\n\tS5M8767_REG_BUCK1CTRL2 = 51,\n\tS5M8767_REG_BUCK2CTRL = 52,\n\tS5M8767_REG_BUCK2DVS1 = 53,\n\tS5M8767_REG_BUCK2DVS2 = 54,\n\tS5M8767_REG_BUCK2DVS3 = 55,\n\tS5M8767_REG_BUCK2DVS4 = 56,\n\tS5M8767_REG_BUCK2DVS5 = 57,\n\tS5M8767_REG_BUCK2DVS6 = 58,\n\tS5M8767_REG_BUCK2DVS7 = 59,\n\tS5M8767_REG_BUCK2DVS8 = 60,\n\tS5M8767_REG_BUCK3CTRL = 61,\n\tS5M8767_REG_BUCK3DVS1 = 62,\n\tS5M8767_REG_BUCK3DVS2 = 63,\n\tS5M8767_REG_BUCK3DVS3 = 64,\n\tS5M8767_REG_BUCK3DVS4 = 65,\n\tS5M8767_REG_BUCK3DVS5 = 66,\n\tS5M8767_REG_BUCK3DVS6 = 67,\n\tS5M8767_REG_BUCK3DVS7 = 68,\n\tS5M8767_REG_BUCK3DVS8 = 69,\n\tS5M8767_REG_BUCK4CTRL = 70,\n\tS5M8767_REG_BUCK4DVS1 = 71,\n\tS5M8767_REG_BUCK4DVS2 = 72,\n\tS5M8767_REG_BUCK4DVS3 = 73,\n\tS5M8767_REG_BUCK4DVS4 = 74,\n\tS5M8767_REG_BUCK4DVS5 = 75,\n\tS5M8767_REG_BUCK4DVS6 = 76,\n\tS5M8767_REG_BUCK4DVS7 = 77,\n\tS5M8767_REG_BUCK4DVS8 = 78,\n\tS5M8767_REG_BUCK5CTRL1 = 79,\n\tS5M8767_REG_BUCK5CTRL2 = 80,\n\tS5M8767_REG_BUCK5CTRL3 = 81,\n\tS5M8767_REG_BUCK5CTRL4 = 82,\n\tS5M8767_REG_BUCK5CTRL5 = 83,\n\tS5M8767_REG_BUCK6CTRL1 = 84,\n\tS5M8767_REG_BUCK6CTRL2 = 85,\n\tS5M8767_REG_BUCK7CTRL1 = 86,\n\tS5M8767_REG_BUCK7CTRL2 = 87,\n\tS5M8767_REG_BUCK8CTRL1 = 88,\n\tS5M8767_REG_BUCK8CTRL2 = 89,\n\tS5M8767_REG_BUCK9CTRL1 = 90,\n\tS5M8767_REG_BUCK9CTRL2 = 91,\n\tS5M8767_REG_LDO1CTRL = 92,\n\tS5M8767_REG_LDO2_1CTRL = 93,\n\tS5M8767_REG_LDO2_2CTRL = 94,\n\tS5M8767_REG_LDO2_3CTRL = 95,\n\tS5M8767_REG_LDO2_4CTRL = 96,\n\tS5M8767_REG_LDO3CTRL = 97,\n\tS5M8767_REG_LDO4CTRL = 98,\n\tS5M8767_REG_LDO5CTRL = 99,\n\tS5M8767_REG_LDO6CTRL = 100,\n\tS5M8767_REG_LDO7CTRL = 101,\n\tS5M8767_REG_LDO8CTRL = 102,\n\tS5M8767_REG_LDO9CTRL = 103,\n\tS5M8767_REG_LDO10CTRL = 104,\n\tS5M8767_REG_LDO11CTRL = 105,\n\tS5M8767_REG_LDO12CTRL = 106,\n\tS5M8767_REG_LDO13CTRL = 107,\n\tS5M8767_REG_LDO14CTRL = 108,\n\tS5M8767_REG_LDO15CTRL = 109,\n\tS5M8767_REG_LDO16CTRL = 110,\n\tS5M8767_REG_LDO17CTRL = 111,\n\tS5M8767_REG_LDO18CTRL = 112,\n\tS5M8767_REG_LDO19CTRL = 113,\n\tS5M8767_REG_LDO20CTRL = 114,\n\tS5M8767_REG_LDO21CTRL = 115,\n\tS5M8767_REG_LDO22CTRL = 116,\n\tS5M8767_REG_LDO23CTRL = 117,\n\tS5M8767_REG_LDO24CTRL = 118,\n\tS5M8767_REG_LDO25CTRL = 119,\n\tS5M8767_REG_LDO26CTRL = 120,\n\tS5M8767_REG_LDO27CTRL = 121,\n\tS5M8767_REG_LDO28CTRL = 122,\n};\n\nenum s5m_rtc_reg {\n\tS5M_RTC_SEC = 0,\n\tS5M_RTC_MIN = 1,\n\tS5M_RTC_HOUR = 2,\n\tS5M_RTC_WEEKDAY = 3,\n\tS5M_RTC_DATE = 4,\n\tS5M_RTC_MONTH = 5,\n\tS5M_RTC_YEAR1 = 6,\n\tS5M_RTC_YEAR2 = 7,\n\tS5M_ALARM0_SEC = 8,\n\tS5M_ALARM0_MIN = 9,\n\tS5M_ALARM0_HOUR = 10,\n\tS5M_ALARM0_WEEKDAY = 11,\n\tS5M_ALARM0_DATE = 12,\n\tS5M_ALARM0_MONTH = 13,\n\tS5M_ALARM0_YEAR1 = 14,\n\tS5M_ALARM0_YEAR2 = 15,\n\tS5M_ALARM1_SEC = 16,\n\tS5M_ALARM1_MIN = 17,\n\tS5M_ALARM1_HOUR = 18,\n\tS5M_ALARM1_WEEKDAY = 19,\n\tS5M_ALARM1_DATE = 20,\n\tS5M_ALARM1_MONTH = 21,\n\tS5M_ALARM1_YEAR1 = 22,\n\tS5M_ALARM1_YEAR2 = 23,\n\tS5M_ALARM0_CONF = 24,\n\tS5M_ALARM1_CONF = 25,\n\tS5M_RTC_STATUS = 26,\n\tS5M_WTSR_SMPL_CNTL = 27,\n\tS5M_RTC_UDR_CON = 28,\n\tS5M_RTC_REG_MAX = 29,\n};\n\nenum s700_pinconf_pull {\n\tOWL_PINCONF_PULL_DOWN = 0,\n\tOWL_PINCONF_PULL_UP = 1,\n};\n\nenum s700_pinmux_functions {\n\tS700_MUX_NOR = 0,\n\tS700_MUX_ETH_RGMII = 1,\n\tS700_MUX_ETH_SGMII = 2,\n\tS700_MUX_SPI0 = 3,\n\tS700_MUX_SPI1 = 4,\n\tS700_MUX_SPI2 = 5,\n\tS700_MUX_SPI3 = 6,\n\tS700_MUX_SENS0 = 7,\n\tS700_MUX_SENS1 = 8,\n\tS700_MUX_UART0 = 9,\n\tS700_MUX_UART1 = 10,\n\tS700_MUX_UART2 = 11,\n\tS700_MUX_UART3 = 12,\n\tS700_MUX_UART4 = 13,\n\tS700_MUX_UART5 = 14,\n\tS700_MUX_UART6 = 15,\n\tS700_MUX_I2S0 = 16,\n\tS700_MUX_I2S1 = 17,\n\tS700_MUX_PCM1 = 18,\n\tS700_MUX_PCM0 = 19,\n\tS700_MUX_KS = 20,\n\tS700_MUX_JTAG = 21,\n\tS700_MUX_PWM0 = 22,\n\tS700_MUX_PWM1 = 23,\n\tS700_MUX_PWM2 = 24,\n\tS700_MUX_PWM3 = 25,\n\tS700_MUX_PWM4 = 26,\n\tS700_MUX_PWM5 = 27,\n\tS700_MUX_P0 = 28,\n\tS700_MUX_SD0 = 29,\n\tS700_MUX_SD1 = 30,\n\tS700_MUX_SD2 = 31,\n\tS700_MUX_I2C0 = 32,\n\tS700_MUX_I2C1 = 33,\n\tS700_MUX_I2C2 = 34,\n\tS700_MUX_I2C3 = 35,\n\tS700_MUX_DSI = 36,\n\tS700_MUX_LVDS = 37,\n\tS700_MUX_USB30 = 38,\n\tS700_MUX_CLKO_25M = 39,\n\tS700_MUX_MIPI_CSI = 40,\n\tS700_MUX_NAND = 41,\n\tS700_MUX_SPDIF = 42,\n\tS700_MUX_SIRQ0 = 43,\n\tS700_MUX_SIRQ1 = 44,\n\tS700_MUX_SIRQ2 = 45,\n\tS700_MUX_BT = 46,\n\tS700_MUX_LCD0 = 47,\n\tS700_MUX_RESERVED = 48,\n};\n\nenum s900_pinconf_pull {\n\tOWL_PINCONF_PULL_HIZ = 0,\n\tOWL_PINCONF_PULL_DOWN___2 = 1,\n\tOWL_PINCONF_PULL_UP___2 = 2,\n\tOWL_PINCONF_PULL_HOLD = 3,\n};\n\nenum s900_pinmux_functions {\n\tS900_MUX_ERAM = 0,\n\tS900_MUX_ETH_RMII = 1,\n\tS900_MUX_ETH_SMII = 2,\n\tS900_MUX_SPI0 = 3,\n\tS900_MUX_SPI1 = 4,\n\tS900_MUX_SPI2 = 5,\n\tS900_MUX_SPI3 = 6,\n\tS900_MUX_SENS0 = 7,\n\tS900_MUX_UART0 = 8,\n\tS900_MUX_UART1 = 9,\n\tS900_MUX_UART2 = 10,\n\tS900_MUX_UART3 = 11,\n\tS900_MUX_UART4 = 12,\n\tS900_MUX_UART5 = 13,\n\tS900_MUX_UART6 = 14,\n\tS900_MUX_I2S0 = 15,\n\tS900_MUX_I2S1 = 16,\n\tS900_MUX_PCM0 = 17,\n\tS900_MUX_PCM1 = 18,\n\tS900_MUX_JTAG = 19,\n\tS900_MUX_PWM0 = 20,\n\tS900_MUX_PWM1 = 21,\n\tS900_MUX_PWM2 = 22,\n\tS900_MUX_PWM3 = 23,\n\tS900_MUX_PWM4 = 24,\n\tS900_MUX_PWM5 = 25,\n\tS900_MUX_SD0 = 26,\n\tS900_MUX_SD1 = 27,\n\tS900_MUX_SD2 = 28,\n\tS900_MUX_SD3 = 29,\n\tS900_MUX_I2C0 = 30,\n\tS900_MUX_I2C1 = 31,\n\tS900_MUX_I2C2 = 32,\n\tS900_MUX_I2C3 = 33,\n\tS900_MUX_I2C4 = 34,\n\tS900_MUX_I2C5 = 35,\n\tS900_MUX_LVDS = 36,\n\tS900_MUX_USB20 = 37,\n\tS900_MUX_USB30 = 38,\n\tS900_MUX_GPU = 39,\n\tS900_MUX_MIPI_CSI0 = 40,\n\tS900_MUX_MIPI_CSI1 = 41,\n\tS900_MUX_MIPI_DSI = 42,\n\tS900_MUX_NAND0 = 43,\n\tS900_MUX_NAND1 = 44,\n\tS900_MUX_SPDIF = 45,\n\tS900_MUX_SIRQ0 = 46,\n\tS900_MUX_SIRQ1 = 47,\n\tS900_MUX_SIRQ2 = 48,\n\tS900_MUX_AUX_START = 49,\n\tS900_MUX_MAX = 50,\n\tS900_MUX_RESERVED = 51,\n};\n\nenum s_alloc {\n\tsa_rootdomain = 0,\n\tsa_sd = 1,\n\tsa_sd_storage = 2,\n\tsa_none = 3,\n};\n\nenum sa8775p_functions {\n\tmsm_mux_gpio___17 = 0,\n\tmsm_mux_atest_char___14 = 1,\n\tmsm_mux_atest_usb2___3 = 2,\n\tmsm_mux_audio_ref___4 = 3,\n\tmsm_mux_cam_mclk___8 = 4,\n\tmsm_mux_cci_async___8 = 5,\n\tmsm_mux_cci_i2c___7 = 6,\n\tmsm_mux_cci_timer0___7 = 7,\n\tmsm_mux_cci_timer1___7 = 8,\n\tmsm_mux_cci_timer2___7 = 9,\n\tmsm_mux_cci_timer3___6 = 10,\n\tmsm_mux_cci_timer4___5 = 11,\n\tmsm_mux_cci_timer5 = 12,\n\tmsm_mux_cci_timer6 = 13,\n\tmsm_mux_cci_timer7 = 14,\n\tmsm_mux_cci_timer8 = 15,\n\tmsm_mux_cci_timer9 = 16,\n\tmsm_mux_cri_trng___11 = 17,\n\tmsm_mux_cri_trng0___11 = 18,\n\tmsm_mux_cri_trng1___11 = 19,\n\tmsm_mux_dbg_out___13 = 20,\n\tmsm_mux_ddr_bist___8 = 21,\n\tmsm_mux_ddr_pxi0___4 = 22,\n\tmsm_mux_ddr_pxi1___4 = 23,\n\tmsm_mux_ddr_pxi2___4 = 24,\n\tmsm_mux_ddr_pxi3___4 = 25,\n\tmsm_mux_ddr_pxi4___2 = 26,\n\tmsm_mux_ddr_pxi5___2 = 27,\n\tmsm_mux_edp0_hot___2 = 28,\n\tmsm_mux_edp0_lcd___2 = 29,\n\tmsm_mux_edp1_hot = 30,\n\tmsm_mux_edp1_lcd___2 = 31,\n\tmsm_mux_edp2_hot = 32,\n\tmsm_mux_edp2_lcd = 33,\n\tmsm_mux_edp3_hot = 34,\n\tmsm_mux_edp3_lcd = 35,\n\tmsm_mux_emac0_mcg0___2 = 36,\n\tmsm_mux_emac0_mcg1___2 = 37,\n\tmsm_mux_emac0_mcg2___2 = 38,\n\tmsm_mux_emac0_mcg3___2 = 39,\n\tmsm_mux_emac0_mdc___2 = 40,\n\tmsm_mux_emac0_mdio___2 = 41,\n\tmsm_mux_emac0_ptp_aux___2 = 42,\n\tmsm_mux_emac0_ptp_pps___2 = 43,\n\tmsm_mux_emac1_mcg0 = 44,\n\tmsm_mux_emac1_mcg1 = 45,\n\tmsm_mux_emac1_mcg2 = 46,\n\tmsm_mux_emac1_mcg3 = 47,\n\tmsm_mux_emac1_mdc = 48,\n\tmsm_mux_emac1_mdio = 49,\n\tmsm_mux_emac1_ptp_aux = 50,\n\tmsm_mux_emac1_ptp_pps = 51,\n\tmsm_mux_gcc_gp1___4 = 52,\n\tmsm_mux_gcc_gp2___4 = 53,\n\tmsm_mux_gcc_gp3___4 = 54,\n\tmsm_mux_gcc_gp4___2 = 55,\n\tmsm_mux_gcc_gp5___2 = 56,\n\tmsm_mux_hs0_mi2s___3 = 57,\n\tmsm_mux_hs1_mi2s___3 = 58,\n\tmsm_mux_hs2_mi2s___2 = 59,\n\tmsm_mux_ibi_i3c___2 = 60,\n\tmsm_mux_jitter_bist___5 = 61,\n\tmsm_mux_mdp0_vsync0___2 = 62,\n\tmsm_mux_mdp0_vsync1___2 = 63,\n\tmsm_mux_mdp0_vsync2 = 64,\n\tmsm_mux_mdp0_vsync3___2 = 65,\n\tmsm_mux_mdp0_vsync4 = 66,\n\tmsm_mux_mdp0_vsync5 = 67,\n\tmsm_mux_mdp0_vsync6___2 = 68,\n\tmsm_mux_mdp0_vsync7___2 = 69,\n\tmsm_mux_mdp0_vsync8 = 70,\n\tmsm_mux_mdp1_vsync0 = 71,\n\tmsm_mux_mdp1_vsync1 = 72,\n\tmsm_mux_mdp1_vsync2 = 73,\n\tmsm_mux_mdp1_vsync3 = 74,\n\tmsm_mux_mdp1_vsync4 = 75,\n\tmsm_mux_mdp1_vsync5 = 76,\n\tmsm_mux_mdp1_vsync6 = 77,\n\tmsm_mux_mdp1_vsync7 = 78,\n\tmsm_mux_mdp1_vsync8 = 79,\n\tmsm_mux_mdp_vsync___10 = 80,\n\tmsm_mux_mi2s1_data0___2 = 81,\n\tmsm_mux_mi2s1_data1___2 = 82,\n\tmsm_mux_mi2s1_sck___2 = 83,\n\tmsm_mux_mi2s1_ws___2 = 84,\n\tmsm_mux_mi2s2_data0___2 = 85,\n\tmsm_mux_mi2s2_data1___2 = 86,\n\tmsm_mux_mi2s2_sck___2 = 87,\n\tmsm_mux_mi2s2_ws___2 = 88,\n\tmsm_mux_mi2s_mclk0___2 = 89,\n\tmsm_mux_mi2s_mclk1___2 = 90,\n\tmsm_mux_pcie0_clkreq___2 = 91,\n\tmsm_mux_pcie1_clkreq___2 = 92,\n\tmsm_mux_phase_flag___6 = 93,\n\tmsm_mux_pll_bist___6 = 94,\n\tmsm_mux_pll_clk___3 = 95,\n\tmsm_mux_prng_rosc0___4 = 96,\n\tmsm_mux_prng_rosc1___4 = 97,\n\tmsm_mux_prng_rosc2___4 = 98,\n\tmsm_mux_prng_rosc3___4 = 99,\n\tmsm_mux_qdss_cti___6 = 100,\n\tmsm_mux_qdss_gpio___5 = 101,\n\tmsm_mux_qup0_se0___2 = 102,\n\tmsm_mux_qup0_se1___2 = 103,\n\tmsm_mux_qup0_se2___2 = 104,\n\tmsm_mux_qup0_se3___2 = 105,\n\tmsm_mux_qup0_se4___2 = 106,\n\tmsm_mux_qup0_se5___2 = 107,\n\tmsm_mux_qup1_se0___2 = 108,\n\tmsm_mux_qup1_se1___2 = 109,\n\tmsm_mux_qup1_se2___2 = 110,\n\tmsm_mux_qup1_se3___2 = 111,\n\tmsm_mux_qup1_se4___2 = 112,\n\tmsm_mux_qup1_se5___2 = 113,\n\tmsm_mux_qup1_se6___2 = 114,\n\tmsm_mux_qup2_se0___2 = 115,\n\tmsm_mux_qup2_se1 = 116,\n\tmsm_mux_qup2_se2 = 117,\n\tmsm_mux_qup2_se3 = 118,\n\tmsm_mux_qup2_se4 = 119,\n\tmsm_mux_qup2_se5 = 120,\n\tmsm_mux_qup2_se6 = 121,\n\tmsm_mux_qup3_se0 = 122,\n\tmsm_mux_sail_top = 123,\n\tmsm_mux_sailss_emac0___2 = 124,\n\tmsm_mux_sailss_ospi___2 = 125,\n\tmsm_mux_sgmii_phy___2 = 126,\n\tmsm_mux_tb_trig___3 = 127,\n\tmsm_mux_tgu_ch0___5 = 128,\n\tmsm_mux_tgu_ch1___5 = 129,\n\tmsm_mux_tgu_ch2___4 = 130,\n\tmsm_mux_tgu_ch3___4 = 131,\n\tmsm_mux_tgu_ch4___2 = 132,\n\tmsm_mux_tgu_ch5___2 = 133,\n\tmsm_mux_tsense_pwm1___5 = 134,\n\tmsm_mux_tsense_pwm2___5 = 135,\n\tmsm_mux_tsense_pwm3___2 = 136,\n\tmsm_mux_tsense_pwm4___2 = 137,\n\tmsm_mux_usb2phy_ac___3 = 138,\n\tmsm_mux_vsense_trigger___4 = 139,\n\tmsm_mux_____12 = 140,\n};\n\nenum sam_status {\n\tSAM_STAT_GOOD = 0,\n\tSAM_STAT_CHECK_CONDITION = 2,\n\tSAM_STAT_CONDITION_MET = 4,\n\tSAM_STAT_BUSY = 8,\n\tSAM_STAT_INTERMEDIATE = 16,\n\tSAM_STAT_INTERMEDIATE_CONDITION_MET = 20,\n\tSAM_STAT_RESERVATION_CONFLICT = 24,\n\tSAM_STAT_COMMAND_TERMINATED = 34,\n\tSAM_STAT_TASK_SET_FULL = 40,\n\tSAM_STAT_ACA_ACTIVE = 48,\n\tSAM_STAT_TASK_ABORTED = 64,\n};\n\nenum samsung_pll_type {\n\tpll_2126 = 0,\n\tpll_3000 = 1,\n\tpll_35xx = 2,\n\tpll_36xx = 3,\n\tpll_2550 = 4,\n\tpll_2650 = 5,\n\tpll_4500 = 6,\n\tpll_4502 = 7,\n\tpll_4508 = 8,\n\tpll_4600 = 9,\n\tpll_4650 = 10,\n\tpll_4650c = 11,\n\tpll_6552 = 12,\n\tpll_6552_s3c2416 = 13,\n\tpll_6553 = 14,\n\tpll_2550x = 15,\n\tpll_2550xx = 16,\n\tpll_2650x = 17,\n\tpll_2650xx = 18,\n\tpll_1417x = 19,\n\tpll_1418x = 20,\n\tpll_1450x = 21,\n\tpll_1451x = 22,\n\tpll_1452x = 23,\n\tpll_1460x = 24,\n\tpll_0818x = 25,\n\tpll_0822x = 26,\n\tpll_0831x = 27,\n\tpll_142xx = 28,\n\tpll_0516x = 29,\n\tpll_0517x = 30,\n\tpll_0518x = 31,\n\tpll_531x = 32,\n\tpll_1051x = 33,\n\tpll_1052x = 34,\n\tpll_0717x = 35,\n\tpll_0718x = 36,\n\tpll_0732x = 37,\n};\n\nenum sas_device_type {\n\tSAS_PHY_UNUSED = 0,\n\tSAS_END_DEVICE = 1,\n\tSAS_EDGE_EXPANDER_DEVICE = 2,\n\tSAS_FANOUT_EXPANDER_DEVICE = 3,\n\tSAS_HA = 4,\n\tSAS_SATA_DEV = 5,\n\tSAS_SATA_PM = 7,\n\tSAS_SATA_PM_PORT = 8,\n\tSAS_SATA_PENDING = 9,\n};\n\nenum sas_gpio_reg_type {\n\tSAS_GPIO_REG_CFG = 0,\n\tSAS_GPIO_REG_RX = 1,\n\tSAS_GPIO_REG_RX_GP = 2,\n\tSAS_GPIO_REG_TX = 3,\n\tSAS_GPIO_REG_TX_GP = 4,\n};\n\nenum sas_ha_state {\n\tSAS_HA_REGISTERED = 0,\n\tSAS_HA_DRAINING = 1,\n\tSAS_HA_ATA_EH_ACTIVE = 2,\n\tSAS_HA_FROZEN = 3,\n\tSAS_HA_RESUMING = 4,\n};\n\nenum sas_internal_abort {\n\tSAS_INTERNAL_ABORT_SINGLE = 0,\n\tSAS_INTERNAL_ABORT_DEV = 1,\n};\n\nenum sas_linkrate {\n\tSAS_LINK_RATE_UNKNOWN = 0,\n\tSAS_PHY_DISABLED = 1,\n\tSAS_PHY_RESET_PROBLEM = 2,\n\tSAS_SATA_SPINUP_HOLD = 3,\n\tSAS_SATA_PORT_SELECTOR = 4,\n\tSAS_PHY_RESET_IN_PROGRESS = 5,\n\tSAS_LINK_RATE_1_5_GBPS = 8,\n\tSAS_LINK_RATE_G1 = 8,\n\tSAS_LINK_RATE_3_0_GBPS = 9,\n\tSAS_LINK_RATE_G2 = 9,\n\tSAS_LINK_RATE_6_0_GBPS = 10,\n\tSAS_LINK_RATE_12_0_GBPS = 11,\n\tSAS_LINK_RATE_22_5_GBPS = 12,\n\tSAS_LINK_RATE_FAILED = 16,\n\tSAS_PHY_VIRTUAL = 17,\n};\n\nenum sas_oob_mode {\n\tOOB_NOT_CONNECTED = 0,\n\tSATA_OOB_MODE = 1,\n\tSAS_OOB_MODE = 2,\n};\n\nenum sas_open_rej_reason {\n\tSAS_OREJ_UNKNOWN = 0,\n\tSAS_OREJ_BAD_DEST = 1,\n\tSAS_OREJ_CONN_RATE = 2,\n\tSAS_OREJ_EPROTO = 3,\n\tSAS_OREJ_RESV_AB0 = 4,\n\tSAS_OREJ_RESV_AB1 = 5,\n\tSAS_OREJ_RESV_AB2 = 6,\n\tSAS_OREJ_RESV_AB3 = 7,\n\tSAS_OREJ_WRONG_DEST = 8,\n\tSAS_OREJ_STP_NORES = 9,\n\tSAS_OREJ_NO_DEST = 10,\n\tSAS_OREJ_PATH_BLOCKED = 11,\n\tSAS_OREJ_RSVD_CONT0 = 12,\n\tSAS_OREJ_RSVD_CONT1 = 13,\n\tSAS_OREJ_RSVD_INIT0 = 14,\n\tSAS_OREJ_RSVD_INIT1 = 15,\n\tSAS_OREJ_RSVD_STOP0 = 16,\n\tSAS_OREJ_RSVD_STOP1 = 17,\n\tSAS_OREJ_RSVD_RETRY = 18,\n};\n\nenum sas_phy_role {\n\tPHY_ROLE_NONE = 0,\n\tPHY_ROLE_TARGET = 64,\n\tPHY_ROLE_INITIATOR = 128,\n};\n\nenum sas_protocol {\n\tSAS_PROTOCOL_NONE = 0,\n\tSAS_PROTOCOL_SATA = 1,\n\tSAS_PROTOCOL_SMP = 2,\n\tSAS_PROTOCOL_STP = 4,\n\tSAS_PROTOCOL_SSP = 8,\n\tSAS_PROTOCOL_ALL = 14,\n\tSAS_PROTOCOL_STP_ALL = 5,\n\tSAS_PROTOCOL_INTERNAL_ABORT = 16,\n};\n\nenum sata_phy_ctrl_regs {\n\tPHY_CTRL_1 = 0,\n\tPHY_CTRL_1_RESET = 1,\n};\n\nenum sata_phy_regs {\n\tBLOCK0_REG_BANK = 0,\n\tBLOCK0_XGXSSTATUS = 129,\n\tBLOCK0_XGXSSTATUS_PLL_LOCK = 4096,\n\tBLOCK0_SPARE = 141,\n\tBLOCK0_SPARE_OOB_CLK_SEL_MASK = 3,\n\tBLOCK0_SPARE_OOB_CLK_SEL_REFBY2 = 1,\n\tBLOCK1_REG_BANK = 16,\n\tBLOCK1_TEST_TX = 131,\n\tBLOCK1_TEST_TX_AMP_SHIFT = 12,\n\tPLL_REG_BANK_0 = 80,\n\tPLL_REG_BANK_0_PLLCONTROL_0 = 129,\n\tPLLCONTROL_0_FREQ_DET_RESTART = 8192,\n\tPLLCONTROL_0_FREQ_MONITOR = 4096,\n\tPLLCONTROL_0_SEQ_START = 32768,\n\tPLL_CAP_CHARGE_TIME = 131,\n\tPLL_VCO_CAL_THRESH = 132,\n\tPLL_CAP_CONTROL = 133,\n\tPLL_FREQ_DET_TIME = 134,\n\tPLL_ACTRL2 = 139,\n\tPLL_ACTRL2_SELDIV_MASK = 31,\n\tPLL_ACTRL2_SELDIV_SHIFT = 9,\n\tPLL_ACTRL6 = 134,\n\tPLL1_REG_BANK = 96,\n\tPLL1_ACTRL2 = 130,\n\tPLL1_ACTRL3 = 131,\n\tPLL1_ACTRL4 = 132,\n\tPLL1_ACTRL5 = 133,\n\tPLL1_ACTRL6 = 134,\n\tPLL1_ACTRL7 = 135,\n\tPLL1_ACTRL8 = 136,\n\tTX_REG_BANK = 112,\n\tTX_ACTRL0 = 128,\n\tTX_ACTRL0_TXPOL_FLIP = 64,\n\tTX_ACTRL5 = 133,\n\tTX_ACTRL5_SSC_EN = 2048,\n\tAEQRX_REG_BANK_0 = 208,\n\tAEQ_CONTROL1 = 129,\n\tAEQ_CONTROL1_ENABLE = 4,\n\tAEQ_CONTROL1_FREEZE = 8,\n\tAEQ_FRC_EQ = 131,\n\tAEQ_FRC_EQ_FORCE = 1,\n\tAEQ_FRC_EQ_FORCE_VAL = 2,\n\tAEQ_RFZ_FRC_VAL = 256,\n\tAEQRX_REG_BANK_1 = 224,\n\tAEQRX_SLCAL0_CTRL0 = 130,\n\tAEQRX_SLCAL1_CTRL0 = 134,\n\tOOB_REG_BANK = 336,\n\tOOB1_REG_BANK = 352,\n\tOOB_CTRL1 = 128,\n\tOOB_CTRL1_BURST_MAX_MASK = 15,\n\tOOB_CTRL1_BURST_MAX_SHIFT = 12,\n\tOOB_CTRL1_BURST_MIN_MASK = 15,\n\tOOB_CTRL1_BURST_MIN_SHIFT = 8,\n\tOOB_CTRL1_WAKE_IDLE_MAX_MASK = 15,\n\tOOB_CTRL1_WAKE_IDLE_MAX_SHIFT = 4,\n\tOOB_CTRL1_WAKE_IDLE_MIN_MASK = 15,\n\tOOB_CTRL1_WAKE_IDLE_MIN_SHIFT = 0,\n\tOOB_CTRL2 = 129,\n\tOOB_CTRL2_SEL_ENA_SHIFT = 15,\n\tOOB_CTRL2_SEL_ENA_RC_SHIFT = 14,\n\tOOB_CTRL2_RESET_IDLE_MAX_MASK = 63,\n\tOOB_CTRL2_RESET_IDLE_MAX_SHIFT = 8,\n\tOOB_CTRL2_BURST_CNT_MASK = 3,\n\tOOB_CTRL2_BURST_CNT_SHIFT = 6,\n\tOOB_CTRL2_RESET_IDLE_MIN_MASK = 63,\n\tOOB_CTRL2_RESET_IDLE_MIN_SHIFT = 0,\n\tTXPMD_REG_BANK = 416,\n\tTXPMD_CONTROL1 = 129,\n\tTXPMD_CONTROL1_TX_SSC_EN_FRC = 1,\n\tTXPMD_CONTROL1_TX_SSC_EN_FRC_VAL = 2,\n\tTXPMD_TX_FREQ_CTRL_CONTROL1 = 130,\n\tTXPMD_TX_FREQ_CTRL_CONTROL2 = 131,\n\tTXPMD_TX_FREQ_CTRL_CONTROL2_FMIN_MASK = 1023,\n\tTXPMD_TX_FREQ_CTRL_CONTROL3 = 132,\n\tTXPMD_TX_FREQ_CTRL_CONTROL3_FMAX_MASK = 1023,\n\tRXPMD_REG_BANK = 448,\n\tRXPMD_RX_CDR_CONTROL1 = 129,\n\tRXPMD_RX_PPM_VAL_MASK = 511,\n\tRXPMD_RXPMD_EN_FRC = 4096,\n\tRXPMD_RXPMD_EN_FRC_VAL = 8192,\n\tRXPMD_RX_CDR_CDR_PROP_BW = 130,\n\tRXPMD_G_CDR_PROP_BW_MASK = 7,\n\tRXPMD_G1_CDR_PROP_BW_SHIFT = 0,\n\tRXPMD_G2_CDR_PROP_BW_SHIFT = 3,\n\tRXPMD_G3_CDR_PROB_BW_SHIFT = 6,\n\tRXPMD_RX_CDR_CDR_ACQ_INTEG_BW = 131,\n\tRXPMD_G_CDR_ACQ_INT_BW_MASK = 7,\n\tRXPMD_G1_CDR_ACQ_INT_BW_SHIFT = 0,\n\tRXPMD_G2_CDR_ACQ_INT_BW_SHIFT = 3,\n\tRXPMD_G3_CDR_ACQ_INT_BW_SHIFT = 6,\n\tRXPMD_RX_CDR_CDR_LOCK_INTEG_BW = 132,\n\tRXPMD_G_CDR_LOCK_INT_BW_MASK = 7,\n\tRXPMD_G1_CDR_LOCK_INT_BW_SHIFT = 0,\n\tRXPMD_G2_CDR_LOCK_INT_BW_SHIFT = 3,\n\tRXPMD_G3_CDR_LOCK_INT_BW_SHIFT = 6,\n\tRXPMD_RX_FREQ_MON_CONTROL1 = 135,\n\tRXPMD_MON_CORRECT_EN = 256,\n\tRXPMD_MON_MARGIN_VAL_MASK = 255,\n};\n\nenum sata_rcar_type {\n\tRCAR_GEN1_SATA = 0,\n\tRCAR_GEN2_SATA = 1,\n\tRCAR_GEN3_SATA = 2,\n\tRCAR_R8A7790_ES1_SATA = 3,\n};\n\nenum sc7180_functions {\n\tmsm_mux_adsp_ext___8 = 0,\n\tmsm_mux_agera_pll___4 = 1,\n\tmsm_mux_aoss_cti___3 = 2,\n\tmsm_mux_atest_char___15 = 3,\n\tmsm_mux_atest_char0___9 = 4,\n\tmsm_mux_atest_char1___9 = 5,\n\tmsm_mux_atest_char2___9 = 6,\n\tmsm_mux_atest_char3___9 = 7,\n\tmsm_mux_atest_tsens___6 = 8,\n\tmsm_mux_atest_tsens2___3 = 9,\n\tmsm_mux_atest_usb1___3 = 10,\n\tmsm_mux_atest_usb2___4 = 11,\n\tmsm_mux_atest_usb10___3 = 12,\n\tmsm_mux_atest_usb11___3 = 13,\n\tmsm_mux_atest_usb12___3 = 14,\n\tmsm_mux_atest_usb13___3 = 15,\n\tmsm_mux_atest_usb20___2 = 16,\n\tmsm_mux_atest_usb21___2 = 17,\n\tmsm_mux_atest_usb22___2 = 18,\n\tmsm_mux_atest_usb23___2 = 19,\n\tmsm_mux_audio_ref___5 = 20,\n\tmsm_mux_btfm_slimbus___3 = 21,\n\tmsm_mux_cam_mclk___9 = 22,\n\tmsm_mux_cci_async___9 = 23,\n\tmsm_mux_cci_i2c___8 = 24,\n\tmsm_mux_cci_timer0___8 = 25,\n\tmsm_mux_cci_timer1___8 = 26,\n\tmsm_mux_cci_timer2___8 = 27,\n\tmsm_mux_cci_timer3___7 = 28,\n\tmsm_mux_cci_timer4___6 = 29,\n\tmsm_mux_cri_trng___12 = 30,\n\tmsm_mux_dbg_out___14 = 31,\n\tmsm_mux_ddr_bist___9 = 32,\n\tmsm_mux_ddr_pxi0___5 = 33,\n\tmsm_mux_ddr_pxi1___5 = 34,\n\tmsm_mux_ddr_pxi2___5 = 35,\n\tmsm_mux_ddr_pxi3___5 = 36,\n\tmsm_mux_dp_hot___2 = 37,\n\tmsm_mux_edp_lcd___4 = 38,\n\tmsm_mux_gcc_gp1___5 = 39,\n\tmsm_mux_gcc_gp2___5 = 40,\n\tmsm_mux_gcc_gp3___5 = 41,\n\tmsm_mux_gpio___18 = 42,\n\tmsm_mux_gp_pdm0___3 = 43,\n\tmsm_mux_gp_pdm1___3 = 44,\n\tmsm_mux_gp_pdm2___3 = 45,\n\tmsm_mux_gps_tx___3 = 46,\n\tmsm_mux_jitter_bist___6 = 47,\n\tmsm_mux_ldo_en___8 = 48,\n\tmsm_mux_ldo_update___8 = 49,\n\tmsm_mux_lpass_ext = 50,\n\tmsm_mux_mdp_vsync___11 = 51,\n\tmsm_mux_mdp_vsync0___2 = 52,\n\tmsm_mux_mdp_vsync1___2 = 53,\n\tmsm_mux_mdp_vsync2___2 = 54,\n\tmsm_mux_mdp_vsync3___2 = 55,\n\tmsm_mux_mi2s_1___2 = 56,\n\tmsm_mux_mi2s_0 = 57,\n\tmsm_mux_mi2s_2 = 58,\n\tmsm_mux_mss_lte___7 = 59,\n\tmsm_mux_m_voc___9 = 60,\n\tmsm_mux_pa_indicator___7 = 61,\n\tmsm_mux_phase_flag___7 = 62,\n\tmsm_mux_PLL_BIST = 63,\n\tmsm_mux_pll_bypassnl___5 = 64,\n\tmsm_mux_pll_reset___4 = 65,\n\tmsm_mux_prng_rosc___12 = 66,\n\tmsm_mux_qdss___2 = 67,\n\tmsm_mux_qdss_cti___7 = 68,\n\tmsm_mux_qlink_enable___3 = 69,\n\tmsm_mux_qlink_request___3 = 70,\n\tmsm_mux_qspi_clk___6 = 71,\n\tmsm_mux_qspi_cs___6 = 72,\n\tmsm_mux_qspi_data___4 = 73,\n\tmsm_mux_qup00___2 = 74,\n\tmsm_mux_qup01___2 = 75,\n\tmsm_mux_qup02_i2c = 76,\n\tmsm_mux_qup02_uart = 77,\n\tmsm_mux_qup03___2 = 78,\n\tmsm_mux_qup04_i2c = 79,\n\tmsm_mux_qup04_uart = 80,\n\tmsm_mux_qup05___2 = 81,\n\tmsm_mux_qup10___2 = 82,\n\tmsm_mux_qup11_i2c = 83,\n\tmsm_mux_qup11_uart = 84,\n\tmsm_mux_qup12___2 = 85,\n\tmsm_mux_qup13_i2c = 86,\n\tmsm_mux_qup13_uart = 87,\n\tmsm_mux_qup14___2 = 88,\n\tmsm_mux_qup15___2 = 89,\n\tmsm_mux_sdc1_tb___2 = 90,\n\tmsm_mux_sdc2_tb___2 = 91,\n\tmsm_mux_sd_write___10 = 92,\n\tmsm_mux_sp_cmu___3 = 93,\n\tmsm_mux_tgu_ch0___6 = 94,\n\tmsm_mux_tgu_ch1___6 = 95,\n\tmsm_mux_tgu_ch2___5 = 96,\n\tmsm_mux_tgu_ch3___5 = 97,\n\tmsm_mux_tsense_pwm1___6 = 98,\n\tmsm_mux_tsense_pwm2___6 = 99,\n\tmsm_mux_uim1___5 = 100,\n\tmsm_mux_uim2___5 = 101,\n\tmsm_mux_uim_batt___6 = 102,\n\tmsm_mux_usb_phy___4 = 103,\n\tmsm_mux_vfr_1___6 = 104,\n\tmsm_mux__V_GPIO = 105,\n\tmsm_mux__V_PPS_IN = 106,\n\tmsm_mux__V_PPS_OUT = 107,\n\tmsm_mux_vsense_trigger___5 = 108,\n\tmsm_mux_wlan1_adc0___4 = 109,\n\tmsm_mux_wlan1_adc1___4 = 110,\n\tmsm_mux_wlan2_adc0___3 = 111,\n\tmsm_mux_wlan2_adc1___3 = 112,\n\tmsm_mux_____13 = 113,\n};\n\nenum sc7280_functions {\n\tmsm_mux_atest_char___16 = 0,\n\tmsm_mux_atest_char0___10 = 1,\n\tmsm_mux_atest_char1___10 = 2,\n\tmsm_mux_atest_char2___10 = 3,\n\tmsm_mux_atest_char3___10 = 4,\n\tmsm_mux_atest_usb0 = 5,\n\tmsm_mux_atest_usb00 = 6,\n\tmsm_mux_atest_usb01 = 7,\n\tmsm_mux_atest_usb02 = 8,\n\tmsm_mux_atest_usb03 = 9,\n\tmsm_mux_atest_usb1___4 = 10,\n\tmsm_mux_atest_usb10___4 = 11,\n\tmsm_mux_atest_usb11___4 = 12,\n\tmsm_mux_atest_usb12___4 = 13,\n\tmsm_mux_atest_usb13___4 = 14,\n\tmsm_mux_audio_ref___6 = 15,\n\tmsm_mux_cam_mclk___10 = 16,\n\tmsm_mux_cci_async___10 = 17,\n\tmsm_mux_cci_i2c___9 = 18,\n\tmsm_mux_cci_timer0___9 = 19,\n\tmsm_mux_cci_timer1___9 = 20,\n\tmsm_mux_cci_timer2___9 = 21,\n\tmsm_mux_cci_timer3___8 = 22,\n\tmsm_mux_cci_timer4___7 = 23,\n\tmsm_mux_cmu_rng0 = 24,\n\tmsm_mux_cmu_rng1 = 25,\n\tmsm_mux_cmu_rng2 = 26,\n\tmsm_mux_cmu_rng3 = 27,\n\tmsm_mux_coex_uart1 = 28,\n\tmsm_mux_cri_trng___13 = 29,\n\tmsm_mux_cri_trng0___12 = 30,\n\tmsm_mux_cri_trng1___12 = 31,\n\tmsm_mux_dbg_out___15 = 32,\n\tmsm_mux_ddr_bist___10 = 33,\n\tmsm_mux_ddr_pxi0___6 = 34,\n\tmsm_mux_ddr_pxi1___6 = 35,\n\tmsm_mux_dp_hot___3 = 36,\n\tmsm_mux_dp_lcd = 37,\n\tmsm_mux_edp_hot___4 = 38,\n\tmsm_mux_edp_lcd___5 = 39,\n\tmsm_mux_egpio___2 = 40,\n\tmsm_mux_gcc_gp1___6 = 41,\n\tmsm_mux_gcc_gp2___6 = 42,\n\tmsm_mux_gcc_gp3___6 = 43,\n\tmsm_mux_gpio___19 = 44,\n\tmsm_mux_host2wlan_sol = 45,\n\tmsm_mux_ibi_i3c___3 = 46,\n\tmsm_mux_jitter_bist___7 = 47,\n\tmsm_mux_lpass_slimbus___5 = 48,\n\tmsm_mux_mdp_vsync___12 = 49,\n\tmsm_mux_mdp_vsync0___3 = 50,\n\tmsm_mux_mdp_vsync1___3 = 51,\n\tmsm_mux_mdp_vsync2___3 = 52,\n\tmsm_mux_mdp_vsync3___3 = 53,\n\tmsm_mux_mdp_vsync4 = 54,\n\tmsm_mux_mdp_vsync5 = 55,\n\tmsm_mux_mi2s0_data0 = 56,\n\tmsm_mux_mi2s0_data1 = 57,\n\tmsm_mux_mi2s0_sck = 58,\n\tmsm_mux_mi2s0_ws = 59,\n\tmsm_mux_mi2s1_data0___3 = 60,\n\tmsm_mux_mi2s1_data1___3 = 61,\n\tmsm_mux_mi2s1_sck___3 = 62,\n\tmsm_mux_mi2s1_ws___3 = 63,\n\tmsm_mux_mi2s2_data0___3 = 64,\n\tmsm_mux_mi2s2_data1___3 = 65,\n\tmsm_mux_mi2s2_sck___3 = 66,\n\tmsm_mux_mi2s2_ws___3 = 67,\n\tmsm_mux_mss_grfc0 = 68,\n\tmsm_mux_mss_grfc1 = 69,\n\tmsm_mux_mss_grfc10 = 70,\n\tmsm_mux_mss_grfc11 = 71,\n\tmsm_mux_mss_grfc12 = 72,\n\tmsm_mux_mss_grfc2 = 73,\n\tmsm_mux_mss_grfc3 = 74,\n\tmsm_mux_mss_grfc4 = 75,\n\tmsm_mux_mss_grfc5 = 76,\n\tmsm_mux_mss_grfc6 = 77,\n\tmsm_mux_mss_grfc7 = 78,\n\tmsm_mux_mss_grfc8 = 79,\n\tmsm_mux_mss_grfc9 = 80,\n\tmsm_mux_nav_gpio0 = 81,\n\tmsm_mux_nav_gpio1 = 82,\n\tmsm_mux_nav_gpio2 = 83,\n\tmsm_mux_pa_indicator___8 = 84,\n\tmsm_mux_pcie0_clkreqn = 85,\n\tmsm_mux_pcie1_clkreqn = 86,\n\tmsm_mux_phase_flag___8 = 87,\n\tmsm_mux_pll_bist___7 = 88,\n\tmsm_mux_pll_bypassnl___6 = 89,\n\tmsm_mux_pll_clk___4 = 90,\n\tmsm_mux_pll_reset___5 = 91,\n\tmsm_mux_pri_mi2s___7 = 92,\n\tmsm_mux_prng_rosc___13 = 93,\n\tmsm_mux_qdss___3 = 94,\n\tmsm_mux_qdss_cti___8 = 95,\n\tmsm_mux_qlink0_enable___2 = 96,\n\tmsm_mux_qlink0_request___2 = 97,\n\tmsm_mux_qlink0_wmss___2 = 98,\n\tmsm_mux_qlink1_enable___2 = 99,\n\tmsm_mux_qlink1_request___2 = 100,\n\tmsm_mux_qlink1_wmss___2 = 101,\n\tmsm_mux_qspi_clk___7 = 102,\n\tmsm_mux_qspi_cs___7 = 103,\n\tmsm_mux_qspi_data___5 = 104,\n\tmsm_mux_qup00___3 = 105,\n\tmsm_mux_qup01___3 = 106,\n\tmsm_mux_qup02___2 = 107,\n\tmsm_mux_qup03___3 = 108,\n\tmsm_mux_qup04___2 = 109,\n\tmsm_mux_qup05___3 = 110,\n\tmsm_mux_qup06___2 = 111,\n\tmsm_mux_qup07___2 = 112,\n\tmsm_mux_qup10___3 = 113,\n\tmsm_mux_qup11___2 = 114,\n\tmsm_mux_qup12___3 = 115,\n\tmsm_mux_qup13___2 = 116,\n\tmsm_mux_qup14___3 = 117,\n\tmsm_mux_qup15___3 = 118,\n\tmsm_mux_qup16___2 = 119,\n\tmsm_mux_qup17___2 = 120,\n\tmsm_mux_sd_write___11 = 121,\n\tmsm_mux_sdc40___3 = 122,\n\tmsm_mux_sdc41___3 = 123,\n\tmsm_mux_sdc42___3 = 124,\n\tmsm_mux_sdc43___3 = 125,\n\tmsm_mux_sdc4_clk___3 = 126,\n\tmsm_mux_sdc4_cmd___3 = 127,\n\tmsm_mux_sec_mi2s___7 = 128,\n\tmsm_mux_tb_trig___4 = 129,\n\tmsm_mux_tgu_ch0___7 = 130,\n\tmsm_mux_tgu_ch1___7 = 131,\n\tmsm_mux_tsense_pwm1___7 = 132,\n\tmsm_mux_tsense_pwm2___7 = 133,\n\tmsm_mux_uim0_clk = 134,\n\tmsm_mux_uim0_data = 135,\n\tmsm_mux_uim0_present = 136,\n\tmsm_mux_uim0_reset = 137,\n\tmsm_mux_uim1_clk___5 = 138,\n\tmsm_mux_uim1_data___5 = 139,\n\tmsm_mux_uim1_present___5 = 140,\n\tmsm_mux_uim1_reset___5 = 141,\n\tmsm_mux_usb2phy_ac___4 = 142,\n\tmsm_mux_usb_phy___5 = 143,\n\tmsm_mux_vfr_0___2 = 144,\n\tmsm_mux_vfr_1___7 = 145,\n\tmsm_mux_vsense_trigger___6 = 146,\n\tmsm_mux_____14 = 147,\n};\n\nenum sc8180x_functions {\n\tmsm_mux_adsp_ext___9 = 0,\n\tmsm_mux_agera_pll___5 = 1,\n\tmsm_mux_aoss_cti___4 = 2,\n\tmsm_mux_atest_char___17 = 3,\n\tmsm_mux_atest_tsens___7 = 4,\n\tmsm_mux_atest_tsens2___4 = 5,\n\tmsm_mux_atest_usb0___2 = 6,\n\tmsm_mux_atest_usb1___5 = 7,\n\tmsm_mux_atest_usb2___5 = 8,\n\tmsm_mux_atest_usb3 = 9,\n\tmsm_mux_atest_usb4 = 10,\n\tmsm_mux_audio_ref___7 = 11,\n\tmsm_mux_btfm_slimbus___4 = 12,\n\tmsm_mux_cam_mclk___11 = 13,\n\tmsm_mux_cci_async___11 = 14,\n\tmsm_mux_cci_i2c___10 = 15,\n\tmsm_mux_cci_timer0___10 = 16,\n\tmsm_mux_cci_timer1___10 = 17,\n\tmsm_mux_cci_timer2___10 = 18,\n\tmsm_mux_cci_timer3___9 = 19,\n\tmsm_mux_cci_timer4___8 = 20,\n\tmsm_mux_cci_timer5___2 = 21,\n\tmsm_mux_cci_timer6___2 = 22,\n\tmsm_mux_cci_timer7___2 = 23,\n\tmsm_mux_cci_timer8___2 = 24,\n\tmsm_mux_cci_timer9___2 = 25,\n\tmsm_mux_cri_trng___14 = 26,\n\tmsm_mux_dbg_out___16 = 27,\n\tmsm_mux_ddr_bist___11 = 28,\n\tmsm_mux_ddr_pxi___2 = 29,\n\tmsm_mux_debug_hot = 30,\n\tmsm_mux_dp_hot___4 = 31,\n\tmsm_mux_edp_hot___5 = 32,\n\tmsm_mux_edp_lcd___6 = 33,\n\tmsm_mux_emac_phy = 34,\n\tmsm_mux_emac_pps = 35,\n\tmsm_mux_gcc_gp1___7 = 36,\n\tmsm_mux_gcc_gp2___7 = 37,\n\tmsm_mux_gcc_gp3___7 = 38,\n\tmsm_mux_gcc_gp4___3 = 39,\n\tmsm_mux_gcc_gp5___3 = 40,\n\tmsm_mux_gpio___20 = 41,\n\tmsm_mux_gps = 42,\n\tmsm_mux_grfc = 43,\n\tmsm_mux_hs1_mi2s___4 = 44,\n\tmsm_mux_hs2_mi2s___3 = 45,\n\tmsm_mux_hs3_mi2s = 46,\n\tmsm_mux_jitter_bist___8 = 47,\n\tmsm_mux_lpass_slimbus___6 = 48,\n\tmsm_mux_m_voc___10 = 49,\n\tmsm_mux_mdp_vsync___13 = 50,\n\tmsm_mux_mdp_vsync0___4 = 51,\n\tmsm_mux_mdp_vsync1___4 = 52,\n\tmsm_mux_mdp_vsync2___4 = 53,\n\tmsm_mux_mdp_vsync3___4 = 54,\n\tmsm_mux_mdp_vsync4___2 = 55,\n\tmsm_mux_mdp_vsync5___2 = 56,\n\tmsm_mux_mss_lte___8 = 57,\n\tmsm_mux_nav_pps___6 = 58,\n\tmsm_mux_pa_indicator___9 = 59,\n\tmsm_mux_pci_e0___4 = 60,\n\tmsm_mux_pci_e1___3 = 61,\n\tmsm_mux_pci_e2___2 = 62,\n\tmsm_mux_pci_e3 = 63,\n\tmsm_mux_phase_flag___9 = 64,\n\tmsm_mux_pll_bist___8 = 65,\n\tmsm_mux_pll_bypassnl___7 = 66,\n\tmsm_mux_pll_reset___6 = 67,\n\tmsm_mux_pri_mi2s___8 = 68,\n\tmsm_mux_pri_mi2s_ws___4 = 69,\n\tmsm_mux_prng_rosc___14 = 70,\n\tmsm_mux_qdss_cti___9 = 71,\n\tmsm_mux_qdss_gpio___6 = 72,\n\tmsm_mux_qlink = 73,\n\tmsm_mux_qspi0___3 = 74,\n\tmsm_mux_qspi0_clk = 75,\n\tmsm_mux_qspi0_cs = 76,\n\tmsm_mux_qspi1___3 = 77,\n\tmsm_mux_qspi1_clk = 78,\n\tmsm_mux_qspi1_cs = 79,\n\tmsm_mux_qua_mi2s___4 = 80,\n\tmsm_mux_qup0___3 = 81,\n\tmsm_mux_qup1___3 = 82,\n\tmsm_mux_qup2___2 = 83,\n\tmsm_mux_qup3___2 = 84,\n\tmsm_mux_qup4___2 = 85,\n\tmsm_mux_qup5___2 = 86,\n\tmsm_mux_qup6 = 87,\n\tmsm_mux_qup7 = 88,\n\tmsm_mux_qup8 = 89,\n\tmsm_mux_qup9 = 90,\n\tmsm_mux_qup10___4 = 91,\n\tmsm_mux_qup11___3 = 92,\n\tmsm_mux_qup12___4 = 93,\n\tmsm_mux_qup13___3 = 94,\n\tmsm_mux_qup14___4 = 95,\n\tmsm_mux_qup15___4 = 96,\n\tmsm_mux_qup16___3 = 97,\n\tmsm_mux_qup17___3 = 98,\n\tmsm_mux_qup18 = 99,\n\tmsm_mux_qup19 = 100,\n\tmsm_mux_qup_l4 = 101,\n\tmsm_mux_qup_l5 = 102,\n\tmsm_mux_qup_l6 = 103,\n\tmsm_mux_rgmii___2 = 104,\n\tmsm_mux_sd_write___12 = 105,\n\tmsm_mux_sdc4___2 = 106,\n\tmsm_mux_sdc4_clk___4 = 107,\n\tmsm_mux_sdc4_cmd___4 = 108,\n\tmsm_mux_sec_mi2s___8 = 109,\n\tmsm_mux_sp_cmu___4 = 110,\n\tmsm_mux_spkr_i2s___4 = 111,\n\tmsm_mux_ter_mi2s___5 = 112,\n\tmsm_mux_tgu = 113,\n\tmsm_mux_tsense_pwm1___8 = 114,\n\tmsm_mux_tsense_pwm2___8 = 115,\n\tmsm_mux_tsif1___3 = 116,\n\tmsm_mux_tsif2___2 = 117,\n\tmsm_mux_uim1___6 = 118,\n\tmsm_mux_uim2___6 = 119,\n\tmsm_mux_uim_batt___7 = 120,\n\tmsm_mux_usb0_phy = 121,\n\tmsm_mux_usb1_phy = 122,\n\tmsm_mux_usb2phy_ac___5 = 123,\n\tmsm_mux_vfr_1___8 = 124,\n\tmsm_mux_vsense_trigger___7 = 125,\n\tmsm_mux_wlan1_adc = 126,\n\tmsm_mux_wlan2_adc = 127,\n\tmsm_mux_wmss_reset = 128,\n\tmsm_mux_____15 = 129,\n};\n\nenum sc8280xp_functions {\n\tmsm_mux_atest_char___18 = 0,\n\tmsm_mux_atest_usb___3 = 1,\n\tmsm_mux_audio_ref___8 = 2,\n\tmsm_mux_cam_mclk___12 = 3,\n\tmsm_mux_cci_async___12 = 4,\n\tmsm_mux_cci_i2c___11 = 5,\n\tmsm_mux_cci_timer0___11 = 6,\n\tmsm_mux_cci_timer1___11 = 7,\n\tmsm_mux_cci_timer2___11 = 8,\n\tmsm_mux_cci_timer3___10 = 9,\n\tmsm_mux_cci_timer4___9 = 10,\n\tmsm_mux_cci_timer5___3 = 11,\n\tmsm_mux_cci_timer6___3 = 12,\n\tmsm_mux_cci_timer7___3 = 13,\n\tmsm_mux_cci_timer8___3 = 14,\n\tmsm_mux_cci_timer9___3 = 15,\n\tmsm_mux_cmu_rng___2 = 16,\n\tmsm_mux_cri_trng___15 = 17,\n\tmsm_mux_cri_trng0___13 = 18,\n\tmsm_mux_cri_trng1___13 = 19,\n\tmsm_mux_dbg_out___17 = 20,\n\tmsm_mux_ddr_bist___12 = 21,\n\tmsm_mux_ddr_pxi0___7 = 22,\n\tmsm_mux_ddr_pxi1___7 = 23,\n\tmsm_mux_ddr_pxi2___6 = 24,\n\tmsm_mux_ddr_pxi3___6 = 25,\n\tmsm_mux_ddr_pxi4___3 = 26,\n\tmsm_mux_ddr_pxi5___3 = 27,\n\tmsm_mux_ddr_pxi6___2 = 28,\n\tmsm_mux_ddr_pxi7___2 = 29,\n\tmsm_mux_dp2_hot = 30,\n\tmsm_mux_dp3_hot = 31,\n\tmsm_mux_edp0_lcd___3 = 32,\n\tmsm_mux_edp1_lcd___3 = 33,\n\tmsm_mux_edp2_lcd___2 = 34,\n\tmsm_mux_edp3_lcd___2 = 35,\n\tmsm_mux_edp_hot___6 = 36,\n\tmsm_mux_egpio___3 = 37,\n\tmsm_mux_emac0_dll = 38,\n\tmsm_mux_emac0_mcg0___3 = 39,\n\tmsm_mux_emac0_mcg1___3 = 40,\n\tmsm_mux_emac0_mcg2___3 = 41,\n\tmsm_mux_emac0_mcg3___3 = 42,\n\tmsm_mux_emac0_phy = 43,\n\tmsm_mux_emac0_ptp = 44,\n\tmsm_mux_emac1_dll0 = 45,\n\tmsm_mux_emac1_dll1 = 46,\n\tmsm_mux_emac1_mcg0___2 = 47,\n\tmsm_mux_emac1_mcg1___2 = 48,\n\tmsm_mux_emac1_mcg2___2 = 49,\n\tmsm_mux_emac1_mcg3___2 = 50,\n\tmsm_mux_emac1_phy = 51,\n\tmsm_mux_emac1_ptp = 52,\n\tmsm_mux_gcc_gp1___8 = 53,\n\tmsm_mux_gcc_gp2___8 = 54,\n\tmsm_mux_gcc_gp3___8 = 55,\n\tmsm_mux_gcc_gp4___4 = 56,\n\tmsm_mux_gcc_gp5___4 = 57,\n\tmsm_mux_gpio___21 = 58,\n\tmsm_mux_hs1_mi2s___5 = 59,\n\tmsm_mux_hs2_mi2s___4 = 60,\n\tmsm_mux_hs3_mi2s___2 = 61,\n\tmsm_mux_ibi_i3c___4 = 62,\n\tmsm_mux_jitter_bist___9 = 63,\n\tmsm_mux_lpass_slimbus___7 = 64,\n\tmsm_mux_mdp0_vsync0___3 = 65,\n\tmsm_mux_mdp0_vsync1___3 = 66,\n\tmsm_mux_mdp0_vsync2___2 = 67,\n\tmsm_mux_mdp0_vsync3___3 = 68,\n\tmsm_mux_mdp0_vsync4___2 = 69,\n\tmsm_mux_mdp0_vsync5___2 = 70,\n\tmsm_mux_mdp0_vsync6___3 = 71,\n\tmsm_mux_mdp0_vsync7___3 = 72,\n\tmsm_mux_mdp0_vsync8___2 = 73,\n\tmsm_mux_mdp1_vsync0___2 = 74,\n\tmsm_mux_mdp1_vsync1___2 = 75,\n\tmsm_mux_mdp1_vsync2___2 = 76,\n\tmsm_mux_mdp1_vsync3___2 = 77,\n\tmsm_mux_mdp1_vsync4___2 = 78,\n\tmsm_mux_mdp1_vsync5___2 = 79,\n\tmsm_mux_mdp1_vsync6___2 = 80,\n\tmsm_mux_mdp1_vsync7___2 = 81,\n\tmsm_mux_mdp1_vsync8___2 = 82,\n\tmsm_mux_mdp_vsync___14 = 83,\n\tmsm_mux_mi2s0_data0___2 = 84,\n\tmsm_mux_mi2s0_data1___2 = 85,\n\tmsm_mux_mi2s0_sck___2 = 86,\n\tmsm_mux_mi2s0_ws___2 = 87,\n\tmsm_mux_mi2s1_data0___4 = 88,\n\tmsm_mux_mi2s1_data1___4 = 89,\n\tmsm_mux_mi2s1_sck___4 = 90,\n\tmsm_mux_mi2s1_ws___4 = 91,\n\tmsm_mux_mi2s2_data0___4 = 92,\n\tmsm_mux_mi2s2_data1___4 = 93,\n\tmsm_mux_mi2s2_sck___4 = 94,\n\tmsm_mux_mi2s2_ws___4 = 95,\n\tmsm_mux_mi2s_mclk1___3 = 96,\n\tmsm_mux_mi2s_mclk2 = 97,\n\tmsm_mux_pcie2a_clkreq = 98,\n\tmsm_mux_pcie2b_clkreq = 99,\n\tmsm_mux_pcie3a_clkreq = 100,\n\tmsm_mux_pcie3b_clkreq = 101,\n\tmsm_mux_pcie4_clkreq = 102,\n\tmsm_mux_phase_flag___10 = 103,\n\tmsm_mux_pll_bist___9 = 104,\n\tmsm_mux_pll_clk___5 = 105,\n\tmsm_mux_prng_rosc0___5 = 106,\n\tmsm_mux_prng_rosc1___5 = 107,\n\tmsm_mux_prng_rosc2___5 = 108,\n\tmsm_mux_prng_rosc3___5 = 109,\n\tmsm_mux_qdss_cti___10 = 110,\n\tmsm_mux_qdss_gpio___7 = 111,\n\tmsm_mux_qspi___2 = 112,\n\tmsm_mux_qspi_clk___8 = 113,\n\tmsm_mux_qspi_cs___8 = 114,\n\tmsm_mux_qup0___4 = 115,\n\tmsm_mux_qup1___4 = 116,\n\tmsm_mux_qup10___5 = 117,\n\tmsm_mux_qup11___4 = 118,\n\tmsm_mux_qup12___5 = 119,\n\tmsm_mux_qup13___4 = 120,\n\tmsm_mux_qup14___5 = 121,\n\tmsm_mux_qup15___5 = 122,\n\tmsm_mux_qup16___4 = 123,\n\tmsm_mux_qup17___4 = 124,\n\tmsm_mux_qup18___2 = 125,\n\tmsm_mux_qup19___2 = 126,\n\tmsm_mux_qup2___3 = 127,\n\tmsm_mux_qup20___2 = 128,\n\tmsm_mux_qup21___2 = 129,\n\tmsm_mux_qup22___2 = 130,\n\tmsm_mux_qup23 = 131,\n\tmsm_mux_qup3___3 = 132,\n\tmsm_mux_qup4___3 = 133,\n\tmsm_mux_qup5___3 = 134,\n\tmsm_mux_qup6___2 = 135,\n\tmsm_mux_qup7___2 = 136,\n\tmsm_mux_qup8___2 = 137,\n\tmsm_mux_qup9___2 = 138,\n\tmsm_mux_rgmii_0 = 139,\n\tmsm_mux_rgmii_1 = 140,\n\tmsm_mux_sd_write___13 = 141,\n\tmsm_mux_sdc40___4 = 142,\n\tmsm_mux_sdc42___4 = 143,\n\tmsm_mux_sdc43___4 = 144,\n\tmsm_mux_sdc4_clk___5 = 145,\n\tmsm_mux_sdc4_cmd___5 = 146,\n\tmsm_mux_tb_trig___5 = 147,\n\tmsm_mux_tgu___2 = 148,\n\tmsm_mux_tsense_pwm1___9 = 149,\n\tmsm_mux_tsense_pwm2___9 = 150,\n\tmsm_mux_tsense_pwm3___3 = 151,\n\tmsm_mux_tsense_pwm4___3 = 152,\n\tmsm_mux_usb0_dp = 153,\n\tmsm_mux_usb0_phy___2 = 154,\n\tmsm_mux_usb0_sbrx = 155,\n\tmsm_mux_usb0_sbtx = 156,\n\tmsm_mux_usb0_usb4 = 157,\n\tmsm_mux_usb1_dp = 158,\n\tmsm_mux_usb1_phy___2 = 159,\n\tmsm_mux_usb1_sbrx = 160,\n\tmsm_mux_usb1_sbtx = 161,\n\tmsm_mux_usb1_usb4 = 162,\n\tmsm_mux_usb2phy_ac___6 = 163,\n\tmsm_mux_vsense_trigger___8 = 164,\n\tmsm_mux_____16 = 165,\n};\n\nenum scale_freq_source {\n\tSCALE_FREQ_SOURCE_CPUFREQ = 0,\n\tSCALE_FREQ_SOURCE_ARCH = 1,\n\tSCALE_FREQ_SOURCE_CPPC = 2,\n\tSCALE_FREQ_SOURCE_VIRT = 3,\n};\n\nenum scan_balance {\n\tSCAN_EQUAL = 0,\n\tSCAN_FRACT = 1,\n\tSCAN_ANON = 2,\n\tSCAN_FILE = 3,\n};\n\nenum scan_result {\n\tSCAN_FAIL = 0,\n\tSCAN_SUCCEED = 1,\n\tSCAN_PMD_NULL = 2,\n\tSCAN_PMD_NONE = 3,\n\tSCAN_PMD_MAPPED = 4,\n\tSCAN_EXCEED_NONE_PTE = 5,\n\tSCAN_EXCEED_SWAP_PTE = 6,\n\tSCAN_EXCEED_SHARED_PTE = 7,\n\tSCAN_PTE_NON_PRESENT = 8,\n\tSCAN_PTE_UFFD_WP = 9,\n\tSCAN_PTE_MAPPED_HUGEPAGE = 10,\n\tSCAN_PAGE_RO = 11,\n\tSCAN_LACK_REFERENCED_PAGE = 12,\n\tSCAN_PAGE_NULL = 13,\n\tSCAN_SCAN_ABORT = 14,\n\tSCAN_PAGE_COUNT = 15,\n\tSCAN_PAGE_LRU = 16,\n\tSCAN_PAGE_LOCK = 17,\n\tSCAN_PAGE_ANON = 18,\n\tSCAN_PAGE_COMPOUND = 19,\n\tSCAN_ANY_PROCESS = 20,\n\tSCAN_VMA_NULL = 21,\n\tSCAN_VMA_CHECK = 22,\n\tSCAN_ADDRESS_RANGE = 23,\n\tSCAN_DEL_PAGE_LRU = 24,\n\tSCAN_ALLOC_HUGE_PAGE_FAIL = 25,\n\tSCAN_CGROUP_CHARGE_FAIL = 26,\n\tSCAN_TRUNCATED = 27,\n\tSCAN_PAGE_HAS_PRIVATE = 28,\n\tSCAN_STORE_FAILED = 29,\n\tSCAN_COPY_MC = 30,\n\tSCAN_PAGE_FILLED = 31,\n};\n\nenum sched_tunable_scaling {\n\tSCHED_TUNABLESCALING_NONE = 0,\n\tSCHED_TUNABLESCALING_LOG = 1,\n\tSCHED_TUNABLESCALING_LINEAR = 2,\n\tSCHED_TUNABLESCALING_END = 3,\n};\n\nenum scmi_bad_msg {\n\tMSG_UNEXPECTED = -1,\n\tMSG_INVALID = -2,\n\tMSG_UNKNOWN = -3,\n\tMSG_NOMEM = -4,\n\tMSG_MBOX_SPURIOUS = -5,\n};\n\nenum scmi_base_protocol_cmd {\n\tBASE_DISCOVER_VENDOR = 3,\n\tBASE_DISCOVER_SUB_VENDOR = 4,\n\tBASE_DISCOVER_IMPLEMENT_VERSION = 5,\n\tBASE_DISCOVER_LIST_PROTOCOLS = 6,\n\tBASE_DISCOVER_AGENT = 7,\n\tBASE_NOTIFY_ERRORS = 8,\n\tBASE_SET_DEVICE_PERMISSIONS = 9,\n\tBASE_SET_PROTOCOL_PERMISSIONS = 10,\n\tBASE_RESET_AGENT_CONFIGURATION = 11,\n};\n\nenum scmi_clk_feats {\n\tSCMI_CLK_ATOMIC_SUPPORTED = 0,\n\tSCMI_CLK_STATE_CTRL_SUPPORTED = 1,\n\tSCMI_CLK_RATE_CTRL_SUPPORTED = 2,\n\tSCMI_CLK_PARENT_CTRL_SUPPORTED = 3,\n\tSCMI_CLK_DUTY_CYCLE_SUPPORTED = 4,\n\tSCMI_CLK_FEATS_COUNT = 5,\n};\n\nenum scmi_clock_oem_config {\n\tSCMI_CLOCK_CFG_DUTY_CYCLE = 1,\n\tSCMI_CLOCK_CFG_PHASE = 2,\n\tSCMI_CLOCK_CFG_OEM_START = 128,\n\tSCMI_CLOCK_CFG_OEM_END = 255,\n};\n\nenum scmi_clock_protocol_cmd {\n\tCLOCK_ATTRIBUTES = 3,\n\tCLOCK_DESCRIBE_RATES = 4,\n\tCLOCK_RATE_SET = 5,\n\tCLOCK_RATE_GET = 6,\n\tCLOCK_CONFIG_SET = 7,\n\tCLOCK_NAME_GET = 8,\n\tCLOCK_RATE_NOTIFY = 9,\n\tCLOCK_RATE_CHANGE_REQUESTED_NOTIFY = 10,\n\tCLOCK_CONFIG_GET = 11,\n\tCLOCK_POSSIBLE_PARENTS_GET = 12,\n\tCLOCK_PARENT_SET = 13,\n\tCLOCK_PARENT_GET = 14,\n\tCLOCK_GET_PERMISSIONS = 15,\n};\n\nenum scmi_common_cmd {\n\tPROTOCOL_VERSION = 0,\n\tPROTOCOL_ATTRIBUTES = 1,\n\tPROTOCOL_MESSAGE_ATTRIBUTES = 2,\n\tNEGOTIATE_PROTOCOL_VERSION = 16,\n};\n\nenum scmi_error_codes {\n\tSCMI_SUCCESS = 0,\n\tSCMI_ERR_SUPPORT = -1,\n\tSCMI_ERR_PARAMS = -2,\n\tSCMI_ERR_ACCESS = -3,\n\tSCMI_ERR_ENTRY = -4,\n\tSCMI_ERR_RANGE = -5,\n\tSCMI_ERR_BUSY = -6,\n\tSCMI_ERR_COMMS = -7,\n\tSCMI_ERR_GENERIC = -8,\n\tSCMI_ERR_HARDWARE = -9,\n\tSCMI_ERR_PROTOCOL = -10,\n};\n\nenum scmi_imx_bbm_protocol_cmd {\n\tIMX_BBM_GPR_SET = 3,\n\tIMX_BBM_GPR_GET = 4,\n\tIMX_BBM_RTC_ATTRIBUTES = 5,\n\tIMX_BBM_RTC_TIME_SET = 6,\n\tIMX_BBM_RTC_TIME_GET = 7,\n\tIMX_BBM_RTC_ALARM_SET = 8,\n\tIMX_BBM_BUTTON_GET = 9,\n\tIMX_BBM_RTC_NOTIFY = 10,\n\tIMX_BBM_BUTTON_NOTIFY = 11,\n};\n\nenum scmi_imx_misc_protocol_cmd {\n\tSCMI_IMX_MISC_CTRL_SET = 3,\n\tSCMI_IMX_MISC_CTRL_GET = 4,\n\tSCMI_IMX_MISC_CTRL_NOTIFY = 8,\n};\n\nenum scmi_notification_events {\n\tSCMI_EVENT_POWER_STATE_CHANGED = 0,\n\tSCMI_EVENT_CLOCK_RATE_CHANGED = 0,\n\tSCMI_EVENT_CLOCK_RATE_CHANGE_REQUESTED = 1,\n\tSCMI_EVENT_PERFORMANCE_LIMITS_CHANGED = 0,\n\tSCMI_EVENT_PERFORMANCE_LEVEL_CHANGED = 1,\n\tSCMI_EVENT_SENSOR_TRIP_POINT_EVENT = 0,\n\tSCMI_EVENT_SENSOR_UPDATE = 1,\n\tSCMI_EVENT_RESET_ISSUED = 0,\n\tSCMI_EVENT_BASE_ERROR_EVENT = 0,\n\tSCMI_EVENT_SYSTEM_POWER_STATE_NOTIFIER = 0,\n\tSCMI_EVENT_POWERCAP_CAP_CHANGED = 0,\n\tSCMI_EVENT_POWERCAP_MEASUREMENTS_CHANGED = 1,\n};\n\nenum scmi_nxp_notification_events {\n\tSCMI_EVENT_IMX_BBM_RTC = 0,\n\tSCMI_EVENT_IMX_BBM_BUTTON = 1,\n\tSCMI_EVENT_IMX_MISC_CONTROL = 0,\n};\n\nenum scmi_optee_pta_cmd {\n\tPTA_SCMI_CMD_CAPABILITIES = 0,\n\tPTA_SCMI_CMD_PROCESS_SMT_CHANNEL = 1,\n\tPTA_SCMI_CMD_PROCESS_SMT_CHANNEL_MESSAGE = 2,\n\tPTA_SCMI_CMD_GET_CHANNEL = 3,\n\tPTA_SCMI_CMD_PROCESS_MSG_CHANNEL = 4,\n};\n\nenum scmi_performance_protocol_cmd {\n\tPERF_DOMAIN_ATTRIBUTES = 3,\n\tPERF_DESCRIBE_LEVELS = 4,\n\tPERF_LIMITS_SET = 5,\n\tPERF_LIMITS_GET = 6,\n\tPERF_LEVEL_SET = 7,\n\tPERF_LEVEL_GET = 8,\n\tPERF_NOTIFY_LIMITS = 9,\n\tPERF_NOTIFY_LEVEL = 10,\n\tPERF_DESCRIBE_FASTCHANNEL = 11,\n\tPERF_DOMAIN_NAME_GET = 12,\n};\n\nenum scmi_pinctrl_conf_type {\n\tSCMI_PIN_DEFAULT = 0,\n\tSCMI_PIN_BIAS_BUS_HOLD = 1,\n\tSCMI_PIN_BIAS_DISABLE = 2,\n\tSCMI_PIN_BIAS_HIGH_IMPEDANCE = 3,\n\tSCMI_PIN_BIAS_PULL_UP = 4,\n\tSCMI_PIN_BIAS_PULL_DEFAULT = 5,\n\tSCMI_PIN_BIAS_PULL_DOWN = 6,\n\tSCMI_PIN_DRIVE_OPEN_DRAIN = 7,\n\tSCMI_PIN_DRIVE_OPEN_SOURCE = 8,\n\tSCMI_PIN_DRIVE_PUSH_PULL = 9,\n\tSCMI_PIN_DRIVE_STRENGTH = 10,\n\tSCMI_PIN_INPUT_DEBOUNCE = 11,\n\tSCMI_PIN_INPUT_MODE = 12,\n\tSCMI_PIN_PULL_MODE = 13,\n\tSCMI_PIN_INPUT_VALUE = 14,\n\tSCMI_PIN_INPUT_SCHMITT = 15,\n\tSCMI_PIN_LOW_POWER_MODE = 16,\n\tSCMI_PIN_OUTPUT_MODE = 17,\n\tSCMI_PIN_OUTPUT_VALUE = 18,\n\tSCMI_PIN_POWER_SOURCE = 19,\n\tSCMI_PIN_SLEW_RATE = 20,\n\tSCMI_PIN_OEM_START = 192,\n\tSCMI_PIN_OEM_END = 255,\n};\n\nenum scmi_pinctrl_protocol_cmd {\n\tPINCTRL_ATTRIBUTES = 3,\n\tPINCTRL_LIST_ASSOCIATIONS = 4,\n\tPINCTRL_SETTINGS_GET = 5,\n\tPINCTRL_SETTINGS_CONFIGURE = 6,\n\tPINCTRL_REQUEST = 7,\n\tPINCTRL_RELEASE = 8,\n\tPINCTRL_NAME_GET = 9,\n\tPINCTRL_SET_PERMISSIONS = 10,\n};\n\nenum scmi_pinctrl_selector_type {\n\tPIN_TYPE = 0,\n\tGROUP_TYPE = 1,\n\tFUNCTION_TYPE = 2,\n};\n\nenum scmi_power_protocol_cmd {\n\tPOWER_DOMAIN_ATTRIBUTES = 3,\n\tPOWER_STATE_SET = 4,\n\tPOWER_STATE_GET = 5,\n\tPOWER_STATE_NOTIFY = 6,\n\tPOWER_DOMAIN_NAME_GET = 8,\n};\n\nenum scmi_power_scale {\n\tSCMI_POWER_BOGOWATTS = 0,\n\tSCMI_POWER_MILLIWATTS = 1,\n\tSCMI_POWER_MICROWATTS = 2,\n};\n\nenum scmi_powercap_protocol_cmd {\n\tPOWERCAP_DOMAIN_ATTRIBUTES = 3,\n\tPOWERCAP_CAP_GET = 4,\n\tPOWERCAP_CAP_SET = 5,\n\tPOWERCAP_PAI_GET = 6,\n\tPOWERCAP_PAI_SET = 7,\n\tPOWERCAP_DOMAIN_NAME_GET = 8,\n\tPOWERCAP_MEASUREMENTS_GET = 9,\n\tPOWERCAP_CAP_NOTIFY = 10,\n\tPOWERCAP_MEASUREMENTS_NOTIFY = 11,\n\tPOWERCAP_DESCRIBE_FASTCHANNEL = 12,\n};\n\nenum scmi_reset_protocol_cmd {\n\tRESET_DOMAIN_ATTRIBUTES = 3,\n\tRESET = 4,\n\tRESET_NOTIFY = 5,\n\tRESET_DOMAIN_NAME_GET = 6,\n};\n\nenum scmi_sensor_class {\n\tNONE = 0,\n\tUNSPEC = 1,\n\tTEMPERATURE_C = 2,\n\tTEMPERATURE_F = 3,\n\tTEMPERATURE_K = 4,\n\tVOLTAGE = 5,\n\tCURRENT = 6,\n\tPOWER = 7,\n\tENERGY = 8,\n\tCHARGE = 9,\n\tVOLTAMPERE = 10,\n\tNITS = 11,\n\tLUMENS = 12,\n\tLUX = 13,\n\tCANDELAS = 14,\n\tKPA = 15,\n\tPSI = 16,\n\tNEWTON = 17,\n\tCFM = 18,\n\tRPM = 19,\n\tHERTZ = 20,\n\tSECS = 21,\n\tMINS = 22,\n\tHOURS = 23,\n\tDAYS = 24,\n\tWEEKS = 25,\n\tMILS = 26,\n\tINCHES = 27,\n\tFEET = 28,\n\tCUBIC_INCHES = 29,\n\tCUBIC_FEET = 30,\n\tMETERS = 31,\n\tCUBIC_CM = 32,\n\tCUBIC_METERS = 33,\n\tLITERS = 34,\n\tFLUID_OUNCES = 35,\n\tRADIANS = 36,\n\tSTERADIANS = 37,\n\tREVOLUTIONS = 38,\n\tCYCLES = 39,\n\tGRAVITIES = 40,\n\tOUNCES = 41,\n\tPOUNDS = 42,\n\tFOOT_POUNDS = 43,\n\tOUNCE_INCHES = 44,\n\tGAUSS = 45,\n\tGILBERTS = 46,\n\tHENRIES = 47,\n\tFARADS = 48,\n\tOHMS = 49,\n\tSIEMENS = 50,\n\tMOLES = 51,\n\tBECQUERELS = 52,\n\tPPM = 53,\n\tDECIBELS = 54,\n\tDBA = 55,\n\tDBC = 56,\n\tGRAYS = 57,\n\tSIEVERTS = 58,\n\tCOLOR_TEMP_K = 59,\n\tBITS = 60,\n\tBYTES = 61,\n\tWORDS = 62,\n\tDWORDS = 63,\n\tQWORDS = 64,\n\tPERCENTAGE = 65,\n\tPASCALS = 66,\n\tCOUNTS = 67,\n\tGRAMS = 68,\n\tNEWTON_METERS = 69,\n\tHITS = 70,\n\tMISSES = 71,\n\tRETRIES = 72,\n\tOVERRUNS = 73,\n\tUNDERRUNS = 74,\n\tCOLLISIONS = 75,\n\tPACKETS = 76,\n\tMESSAGES = 77,\n\tCHARS = 78,\n\tERRORS = 79,\n\tCORRECTED_ERRS = 80,\n\tUNCORRECTABLE_ERRS = 81,\n\tSQ_MILS = 82,\n\tSQ_INCHES = 83,\n\tSQ_FEET = 84,\n\tSQ_CM = 85,\n\tSQ_METERS = 86,\n\tRADIANS_SEC = 87,\n\tBPM = 88,\n\tMETERS_SEC_SQUARED = 89,\n\tMETERS_SEC = 90,\n\tCUBIC_METERS_SEC = 91,\n\tMM_MERCURY = 92,\n\tRADIANS_SEC_SQUARED = 93,\n\tOEM_UNIT = 255,\n};\n\nenum scmi_sensor_protocol_cmd {\n\tSENSOR_DESCRIPTION_GET = 3,\n\tSENSOR_TRIP_POINT_NOTIFY = 4,\n\tSENSOR_TRIP_POINT_CONFIG = 5,\n\tSENSOR_READING_GET = 6,\n\tSENSOR_AXIS_DESCRIPTION_GET = 7,\n\tSENSOR_LIST_UPDATE_INTERVALS = 8,\n\tSENSOR_CONFIG_GET = 9,\n\tSENSOR_CONFIG_SET = 10,\n\tSENSOR_CONTINUOUS_UPDATE_NOTIFY = 11,\n\tSENSOR_NAME_GET = 12,\n\tSENSOR_AXIS_NAME_GET = 13,\n};\n\nenum scmi_std_protocol {\n\tSCMI_PROTOCOL_BASE = 16,\n\tSCMI_PROTOCOL_POWER = 17,\n\tSCMI_PROTOCOL_SYSTEM = 18,\n\tSCMI_PROTOCOL_PERF = 19,\n\tSCMI_PROTOCOL_CLOCK = 20,\n\tSCMI_PROTOCOL_SENSOR = 21,\n\tSCMI_PROTOCOL_RESET = 22,\n\tSCMI_PROTOCOL_VOLTAGE = 23,\n\tSCMI_PROTOCOL_POWERCAP = 24,\n\tSCMI_PROTOCOL_PINCTRL = 25,\n};\n\nenum scmi_system_events {\n\tSCMI_SYSTEM_SHUTDOWN = 0,\n\tSCMI_SYSTEM_COLDRESET = 1,\n\tSCMI_SYSTEM_WARMRESET = 2,\n\tSCMI_SYSTEM_POWERUP = 3,\n\tSCMI_SYSTEM_SUSPEND = 4,\n\tSCMI_SYSTEM_MAX = 5,\n};\n\nenum scmi_system_protocol_cmd {\n\tSYSTEM_POWER_STATE_NOTIFY = 5,\n};\n\nenum scmi_voltage_level_mode {\n\tSCMI_VOLTAGE_LEVEL_SET_AUTO = 0,\n\tSCMI_VOLTAGE_LEVEL_SET_SYNC = 1,\n};\n\nenum scmi_voltage_protocol_cmd {\n\tVOLTAGE_DOMAIN_ATTRIBUTES = 3,\n\tVOLTAGE_DESCRIBE_LEVELS = 4,\n\tVOLTAGE_CONFIG_SET = 5,\n\tVOLTAGE_CONFIG_GET = 6,\n\tVOLTAGE_LEVEL_SET = 7,\n\tVOLTAGE_LEVEL_GET = 8,\n\tVOLTAGE_DOMAIN_NAME_GET = 9,\n};\n\nenum scpi_drv_cmds {\n\tCMD_SCPI_CAPABILITIES = 0,\n\tCMD_GET_CLOCK_INFO = 1,\n\tCMD_GET_CLOCK_VALUE = 2,\n\tCMD_SET_CLOCK_VALUE = 3,\n\tCMD_GET_DVFS = 4,\n\tCMD_SET_DVFS = 5,\n\tCMD_GET_DVFS_INFO = 6,\n\tCMD_SENSOR_CAPABILITIES = 7,\n\tCMD_SENSOR_INFO = 8,\n\tCMD_SENSOR_VALUE = 9,\n\tCMD_SET_DEVICE_PWR_STATE = 10,\n\tCMD_GET_DEVICE_PWR_STATE = 11,\n\tCMD_MAX_COUNT = 12,\n};\n\nenum scpi_error_codes {\n\tSCPI_SUCCESS = 0,\n\tSCPI_ERR_PARAM = 1,\n\tSCPI_ERR_ALIGN = 2,\n\tSCPI_ERR_SIZE = 3,\n\tSCPI_ERR_HANDLER = 4,\n\tSCPI_ERR_ACCESS = 5,\n\tSCPI_ERR_RANGE = 6,\n\tSCPI_ERR_TIMEOUT = 7,\n\tSCPI_ERR_NOMEM = 8,\n\tSCPI_ERR_PWRSTATE = 9,\n\tSCPI_ERR_SUPPORT = 10,\n\tSCPI_ERR_DEVICE = 11,\n\tSCPI_ERR_BUSY = 12,\n\tSCPI_ERR_MAX = 13,\n};\n\nenum scpi_power_domain_state {\n\tSCPI_PD_STATE_ON = 0,\n\tSCPI_PD_STATE_OFF = 3,\n};\n\nenum scpi_sensor_class {\n\tTEMPERATURE = 0,\n\tVOLTAGE___2 = 1,\n\tCURRENT___2 = 2,\n\tPOWER___2 = 3,\n\tENERGY___2 = 4,\n};\n\nenum scpi_std_cmd {\n\tSCPI_CMD_INVALID = 0,\n\tSCPI_CMD_SCPI_READY = 1,\n\tSCPI_CMD_SCPI_CAPABILITIES = 2,\n\tSCPI_CMD_SET_CSS_PWR_STATE = 3,\n\tSCPI_CMD_GET_CSS_PWR_STATE = 4,\n\tSCPI_CMD_SET_SYS_PWR_STATE = 5,\n\tSCPI_CMD_SET_CPU_TIMER = 6,\n\tSCPI_CMD_CANCEL_CPU_TIMER = 7,\n\tSCPI_CMD_DVFS_CAPABILITIES = 8,\n\tSCPI_CMD_GET_DVFS_INFO = 9,\n\tSCPI_CMD_SET_DVFS = 10,\n\tSCPI_CMD_GET_DVFS = 11,\n\tSCPI_CMD_GET_DVFS_STAT = 12,\n\tSCPI_CMD_CLOCK_CAPABILITIES = 13,\n\tSCPI_CMD_GET_CLOCK_INFO = 14,\n\tSCPI_CMD_SET_CLOCK_VALUE = 15,\n\tSCPI_CMD_GET_CLOCK_VALUE = 16,\n\tSCPI_CMD_PSU_CAPABILITIES = 17,\n\tSCPI_CMD_GET_PSU_INFO = 18,\n\tSCPI_CMD_SET_PSU = 19,\n\tSCPI_CMD_GET_PSU = 20,\n\tSCPI_CMD_SENSOR_CAPABILITIES = 21,\n\tSCPI_CMD_SENSOR_INFO = 22,\n\tSCPI_CMD_SENSOR_VALUE = 23,\n\tSCPI_CMD_SENSOR_CFG_PERIODIC = 24,\n\tSCPI_CMD_SENSOR_CFG_BOUNDS = 25,\n\tSCPI_CMD_SENSOR_ASYNC_VALUE = 26,\n\tSCPI_CMD_SET_DEVICE_PWR_STATE = 27,\n\tSCPI_CMD_GET_DEVICE_PWR_STATE = 28,\n\tSCPI_CMD_COUNT = 29,\n};\n\nenum scpsys_bus_prot_flags {\n\tBUS_PROT_REG_UPDATE = 2,\n\tBUS_PROT_IGNORE_CLR_ACK = 4,\n\tBUS_PROT_INVERTED = 8,\n\tBUS_PROT_COMPONENT_INFRA = 16,\n\tBUS_PROT_COMPONENT_SMI = 32,\n\tBUS_PROT_STA_COMPONENT_INFRA_NAO = 64,\n};\n\nenum scrub_type {\n\tSCRUB_UNKNOWN = 0,\n\tSCRUB_NONE = 1,\n\tSCRUB_SW_PROG = 2,\n\tSCRUB_SW_SRC = 3,\n\tSCRUB_SW_PROG_SRC = 4,\n\tSCRUB_SW_TUNABLE = 5,\n\tSCRUB_HW_PROG = 6,\n\tSCRUB_HW_SRC = 7,\n\tSCRUB_HW_PROG_SRC = 8,\n\tSCRUB_HW_TUNABLE = 9,\n};\n\nenum scsi_cmnd_submitter {\n\tSUBMITTED_BY_BLOCK_LAYER = 0,\n\tSUBMITTED_BY_SCSI_ERROR_HANDLER = 1,\n\tSUBMITTED_BY_SCSI_RESET_IOCTL = 2,\n} __attribute__((mode(byte)));\n\nenum scsi_device_event {\n\tSDEV_EVT_MEDIA_CHANGE = 1,\n\tSDEV_EVT_INQUIRY_CHANGE_REPORTED = 2,\n\tSDEV_EVT_CAPACITY_CHANGE_REPORTED = 3,\n\tSDEV_EVT_SOFT_THRESHOLD_REACHED_REPORTED = 4,\n\tSDEV_EVT_MODE_PARAMETER_CHANGE_REPORTED = 5,\n\tSDEV_EVT_LUN_CHANGE_REPORTED = 6,\n\tSDEV_EVT_ALUA_STATE_CHANGE_REPORTED = 7,\n\tSDEV_EVT_POWER_ON_RESET_OCCURRED = 8,\n\tSDEV_EVT_FIRST = 1,\n\tSDEV_EVT_LAST = 8,\n\tSDEV_EVT_MAXBITS = 9,\n};\n\nenum scsi_device_state {\n\tSDEV_CREATED = 1,\n\tSDEV_RUNNING = 2,\n\tSDEV_CANCEL = 3,\n\tSDEV_DEL = 4,\n\tSDEV_QUIESCE = 5,\n\tSDEV_OFFLINE = 6,\n\tSDEV_TRANSPORT_OFFLINE = 7,\n\tSDEV_BLOCK = 8,\n\tSDEV_CREATED_BLOCK = 9,\n};\n\nenum scsi_devinfo_key {\n\tSCSI_DEVINFO_GLOBAL = 0,\n\tSCSI_DEVINFO_SPI = 1,\n};\n\nenum scsi_disposition {\n\tNEEDS_RETRY = 8193,\n\tSUCCESS = 8194,\n\tFAILED = 8195,\n\tQUEUED = 8196,\n\tSOFT_ERROR = 8197,\n\tADD_TO_MLQUEUE = 8198,\n\tTIMEOUT_ERROR = 8199,\n\tSCSI_RETURN_NOT_HANDLED = 8200,\n\tFAST_IO_FAIL = 8201,\n};\n\nenum scsi_host_guard_type {\n\tSHOST_DIX_GUARD_CRC = 1,\n\tSHOST_DIX_GUARD_IP = 2,\n};\n\nenum scsi_host_prot_capabilities {\n\tSHOST_DIF_TYPE1_PROTECTION = 1,\n\tSHOST_DIF_TYPE2_PROTECTION = 2,\n\tSHOST_DIF_TYPE3_PROTECTION = 4,\n\tSHOST_DIX_TYPE0_PROTECTION = 8,\n\tSHOST_DIX_TYPE1_PROTECTION = 16,\n\tSHOST_DIX_TYPE2_PROTECTION = 32,\n\tSHOST_DIX_TYPE3_PROTECTION = 64,\n};\n\nenum scsi_host_state {\n\tSHOST_CREATED = 1,\n\tSHOST_RUNNING = 2,\n\tSHOST_CANCEL = 3,\n\tSHOST_DEL = 4,\n\tSHOST_RECOVERY = 5,\n\tSHOST_CANCEL_RECOVERY = 6,\n\tSHOST_DEL_RECOVERY = 7,\n};\n\nenum scsi_host_status {\n\tDID_OK = 0,\n\tDID_NO_CONNECT = 1,\n\tDID_BUS_BUSY = 2,\n\tDID_TIME_OUT = 3,\n\tDID_BAD_TARGET = 4,\n\tDID_ABORT = 5,\n\tDID_PARITY = 6,\n\tDID_ERROR = 7,\n\tDID_RESET = 8,\n\tDID_BAD_INTR = 9,\n\tDID_PASSTHROUGH = 10,\n\tDID_SOFT_ERROR = 11,\n\tDID_IMM_RETRY = 12,\n\tDID_REQUEUE = 13,\n\tDID_TRANSPORT_DISRUPTED = 14,\n\tDID_TRANSPORT_FAILFAST = 15,\n\tDID_TRANSPORT_MARGINAL = 20,\n};\n\nenum scsi_ml_status {\n\tSCSIML_STAT_OK = 0,\n\tSCSIML_STAT_RESV_CONFLICT = 1,\n\tSCSIML_STAT_NOSPC = 2,\n\tSCSIML_STAT_MED_ERROR = 3,\n\tSCSIML_STAT_TGT_FAILURE = 4,\n\tSCSIML_STAT_DL_TIMEOUT = 5,\n};\n\nenum scsi_msg_byte {\n\tCOMMAND_COMPLETE = 0,\n\tEXTENDED_MESSAGE = 1,\n\tSAVE_POINTERS = 2,\n\tRESTORE_POINTERS = 3,\n\tDISCONNECT = 4,\n\tINITIATOR_ERROR = 5,\n\tABORT_TASK_SET = 6,\n\tMESSAGE_REJECT = 7,\n\tNOP = 8,\n\tMSG_PARITY_ERROR = 9,\n\tLINKED_CMD_COMPLETE = 10,\n\tLINKED_FLG_CMD_COMPLETE = 11,\n\tTARGET_RESET = 12,\n\tABORT_TASK = 13,\n\tCLEAR_TASK_SET = 14,\n\tINITIATE_RECOVERY = 15,\n\tRELEASE_RECOVERY = 16,\n\tTERMINATE_IO_PROC = 17,\n\tCLEAR_ACA = 22,\n\tLOGICAL_UNIT_RESET = 23,\n\tSIMPLE_QUEUE_TAG = 32,\n\tHEAD_OF_QUEUE_TAG = 33,\n\tORDERED_QUEUE_TAG = 34,\n\tIGNORE_WIDE_RESIDUE = 35,\n\tACA = 36,\n\tQAS_REQUEST = 85,\n\tBUS_DEVICE_RESET = 12,\n\tABORT = 6,\n};\n\nenum scsi_pr_type {\n\tSCSI_PR_WRITE_EXCLUSIVE = 1,\n\tSCSI_PR_EXCLUSIVE_ACCESS = 3,\n\tSCSI_PR_WRITE_EXCLUSIVE_REG_ONLY = 5,\n\tSCSI_PR_EXCLUSIVE_ACCESS_REG_ONLY = 6,\n\tSCSI_PR_WRITE_EXCLUSIVE_ALL_REGS = 7,\n\tSCSI_PR_EXCLUSIVE_ACCESS_ALL_REGS = 8,\n};\n\nenum scsi_prot_flags {\n\tSCSI_PROT_TRANSFER_PI = 1,\n\tSCSI_PROT_GUARD_CHECK = 2,\n\tSCSI_PROT_REF_CHECK = 4,\n\tSCSI_PROT_REF_INCREMENT = 8,\n\tSCSI_PROT_IP_CHECKSUM = 16,\n};\n\nenum scsi_prot_operations {\n\tSCSI_PROT_NORMAL = 0,\n\tSCSI_PROT_READ_INSERT = 1,\n\tSCSI_PROT_WRITE_STRIP = 2,\n\tSCSI_PROT_READ_STRIP = 3,\n\tSCSI_PROT_WRITE_INSERT = 4,\n\tSCSI_PROT_READ_PASS = 5,\n\tSCSI_PROT_WRITE_PASS = 6,\n};\n\nenum scsi_scan_mode {\n\tSCSI_SCAN_INITIAL = 0,\n\tSCSI_SCAN_RESCAN = 1,\n\tSCSI_SCAN_MANUAL = 2,\n};\n\nenum scsi_target_state {\n\tSTARGET_CREATED = 1,\n\tSTARGET_RUNNING = 2,\n\tSTARGET_REMOVE = 3,\n\tSTARGET_CREATED_REMOVE = 4,\n\tSTARGET_DEL = 5,\n};\n\nenum scsi_timeout_action {\n\tSCSI_EH_DONE = 0,\n\tSCSI_EH_RESET_TIMER = 1,\n\tSCSI_EH_NOT_HANDLED = 2,\n};\n\nenum scsi_timeouts {\n\tSCSI_DEFAULT_EH_TIMEOUT = 2500,\n};\n\nenum scsi_vpd_parameters {\n\tSCSI_VPD_HEADER_SIZE = 4,\n\tSCSI_VPD_LIST_SIZE = 36,\n};\n\nenum sctp_conntrack {\n\tSCTP_CONNTRACK_NONE = 0,\n\tSCTP_CONNTRACK_CLOSED = 1,\n\tSCTP_CONNTRACK_COOKIE_WAIT = 2,\n\tSCTP_CONNTRACK_COOKIE_ECHOED = 3,\n\tSCTP_CONNTRACK_ESTABLISHED = 4,\n\tSCTP_CONNTRACK_SHUTDOWN_SENT = 5,\n\tSCTP_CONNTRACK_SHUTDOWN_RECD = 6,\n\tSCTP_CONNTRACK_SHUTDOWN_ACK_SENT = 7,\n\tSCTP_CONNTRACK_HEARTBEAT_SENT = 8,\n\tSCTP_CONNTRACK_HEARTBEAT_ACKED = 9,\n\tSCTP_CONNTRACK_MAX = 10,\n};\n\nenum sctp_msg_flags {\n\tMSG_NOTIFICATION = 32768,\n};\n\nenum sd_uhs2_operation {\n\tUHS2_PHY_INIT = 0,\n\tUHS2_SET_CONFIG = 1,\n\tUHS2_ENABLE_INT = 2,\n\tUHS2_DISABLE_INT = 3,\n\tUHS2_ENABLE_CLK = 4,\n\tUHS2_DISABLE_CLK = 5,\n\tUHS2_CHECK_DORMANT = 6,\n\tUHS2_SET_IOS = 7,\n};\n\nenum sdhci_cookie {\n\tCOOKIE_UNMAPPED___3 = 0,\n\tCOOKIE_PRE_MAPPED___3 = 1,\n\tCOOKIE_MAPPED___3 = 2,\n};\n\nenum sdhci_reset_reason {\n\tSDHCI_RESET_FOR_INIT = 0,\n\tSDHCI_RESET_FOR_REQUEST_ERROR = 1,\n\tSDHCI_RESET_FOR_REQUEST_ERROR_DATA_ONLY = 2,\n\tSDHCI_RESET_FOR_TUNING_ABORT = 3,\n\tSDHCI_RESET_FOR_CARD_REMOVED = 4,\n\tSDHCI_RESET_FOR_CQE_RECOVERY = 5,\n};\n\nenum sdm660_functions {\n\tmsm_mux_adsp_ext___10 = 0,\n\tmsm_mux_agera_pll___6 = 1,\n\tmsm_mux_atest_char___19 = 2,\n\tmsm_mux_atest_char0___11 = 3,\n\tmsm_mux_atest_char1___11 = 4,\n\tmsm_mux_atest_char2___11 = 5,\n\tmsm_mux_atest_char3___11 = 6,\n\tmsm_mux_atest_gpsadc0___4 = 7,\n\tmsm_mux_atest_gpsadc1___4 = 8,\n\tmsm_mux_atest_tsens___8 = 9,\n\tmsm_mux_atest_tsens2___5 = 10,\n\tmsm_mux_atest_usb1___6 = 11,\n\tmsm_mux_atest_usb10___5 = 12,\n\tmsm_mux_atest_usb11___5 = 13,\n\tmsm_mux_atest_usb12___5 = 14,\n\tmsm_mux_atest_usb13___5 = 15,\n\tmsm_mux_atest_usb2___6 = 16,\n\tmsm_mux_atest_usb20___3 = 17,\n\tmsm_mux_atest_usb21___3 = 18,\n\tmsm_mux_atest_usb22___3 = 19,\n\tmsm_mux_atest_usb23___3 = 20,\n\tmsm_mux_audio_ref___9 = 21,\n\tmsm_mux_bimc_dte0___6 = 22,\n\tmsm_mux_bimc_dte1___6 = 23,\n\tmsm_mux_blsp_i2c1___8 = 24,\n\tmsm_mux_blsp_i2c2___7 = 25,\n\tmsm_mux_blsp_i2c3___8 = 26,\n\tmsm_mux_blsp_i2c4___8 = 27,\n\tmsm_mux_blsp_i2c5___8 = 28,\n\tmsm_mux_blsp_i2c6___7 = 29,\n\tmsm_mux_blsp_i2c7___5 = 30,\n\tmsm_mux_blsp_i2c8_a = 31,\n\tmsm_mux_blsp_i2c8_b = 32,\n\tmsm_mux_blsp_spi1___7 = 33,\n\tmsm_mux_blsp_spi2___8 = 34,\n\tmsm_mux_blsp_spi3___8 = 35,\n\tmsm_mux_blsp_spi3_cs1___2 = 36,\n\tmsm_mux_blsp_spi3_cs2___2 = 37,\n\tmsm_mux_blsp_spi4___8 = 38,\n\tmsm_mux_blsp_spi5___8 = 39,\n\tmsm_mux_blsp_spi6___7 = 40,\n\tmsm_mux_blsp_spi7___5 = 41,\n\tmsm_mux_blsp_spi8_a = 42,\n\tmsm_mux_blsp_spi8_b = 43,\n\tmsm_mux_blsp_spi8_cs1 = 44,\n\tmsm_mux_blsp_spi8_cs2 = 45,\n\tmsm_mux_blsp_uart1___6 = 46,\n\tmsm_mux_blsp_uart2___7 = 47,\n\tmsm_mux_blsp_uart5___6 = 48,\n\tmsm_mux_blsp_uart6_a = 49,\n\tmsm_mux_blsp_uart6_b = 50,\n\tmsm_mux_blsp_uim1___4 = 51,\n\tmsm_mux_blsp_uim2___4 = 52,\n\tmsm_mux_blsp_uim5___3 = 53,\n\tmsm_mux_blsp_uim6___3 = 54,\n\tmsm_mux_cam_mclk___13 = 55,\n\tmsm_mux_cci_async___13 = 56,\n\tmsm_mux_cci_i2c___12 = 57,\n\tmsm_mux_cri_trng___16 = 58,\n\tmsm_mux_cri_trng0___14 = 59,\n\tmsm_mux_cri_trng1___14 = 60,\n\tmsm_mux_dbg_out___18 = 61,\n\tmsm_mux_ddr_bist___13 = 62,\n\tmsm_mux_gcc_gp1___9 = 63,\n\tmsm_mux_gcc_gp2___9 = 64,\n\tmsm_mux_gcc_gp3___9 = 65,\n\tmsm_mux_gpio___22 = 66,\n\tmsm_mux_gps_tx_a = 67,\n\tmsm_mux_gps_tx_b = 68,\n\tmsm_mux_gps_tx_c = 69,\n\tmsm_mux_isense_dbg___3 = 70,\n\tmsm_mux_jitter_bist___10 = 71,\n\tmsm_mux_ldo_en___9 = 72,\n\tmsm_mux_ldo_update___9 = 73,\n\tmsm_mux_m_voc___11 = 74,\n\tmsm_mux_mdp_vsync___15 = 75,\n\tmsm_mux_mdss_vsync0 = 76,\n\tmsm_mux_mdss_vsync1 = 77,\n\tmsm_mux_mdss_vsync2 = 78,\n\tmsm_mux_mdss_vsync3 = 79,\n\tmsm_mux_mss_lte___9 = 80,\n\tmsm_mux_nav_pps_a = 81,\n\tmsm_mux_nav_pps_b = 82,\n\tmsm_mux_nav_pps_c = 83,\n\tmsm_mux_pa_indicator___10 = 84,\n\tmsm_mux_phase_flag0 = 85,\n\tmsm_mux_phase_flag1 = 86,\n\tmsm_mux_phase_flag2 = 87,\n\tmsm_mux_phase_flag3 = 88,\n\tmsm_mux_phase_flag4 = 89,\n\tmsm_mux_phase_flag5 = 90,\n\tmsm_mux_phase_flag6 = 91,\n\tmsm_mux_phase_flag7 = 92,\n\tmsm_mux_phase_flag8 = 93,\n\tmsm_mux_phase_flag9 = 94,\n\tmsm_mux_phase_flag10 = 95,\n\tmsm_mux_phase_flag11 = 96,\n\tmsm_mux_phase_flag12 = 97,\n\tmsm_mux_phase_flag13 = 98,\n\tmsm_mux_phase_flag14 = 99,\n\tmsm_mux_phase_flag15 = 100,\n\tmsm_mux_phase_flag16 = 101,\n\tmsm_mux_phase_flag17 = 102,\n\tmsm_mux_phase_flag18 = 103,\n\tmsm_mux_phase_flag19 = 104,\n\tmsm_mux_phase_flag20 = 105,\n\tmsm_mux_phase_flag21 = 106,\n\tmsm_mux_phase_flag22 = 107,\n\tmsm_mux_phase_flag23 = 108,\n\tmsm_mux_phase_flag24 = 109,\n\tmsm_mux_phase_flag25 = 110,\n\tmsm_mux_phase_flag26 = 111,\n\tmsm_mux_phase_flag27 = 112,\n\tmsm_mux_phase_flag28 = 113,\n\tmsm_mux_phase_flag29 = 114,\n\tmsm_mux_phase_flag30 = 115,\n\tmsm_mux_phase_flag31 = 116,\n\tmsm_mux_pll_bypassnl___8 = 117,\n\tmsm_mux_pll_reset___7 = 118,\n\tmsm_mux_pri_mi2s___9 = 119,\n\tmsm_mux_pri_mi2s_ws___5 = 120,\n\tmsm_mux_prng_rosc___15 = 121,\n\tmsm_mux_pwr_crypto___3 = 122,\n\tmsm_mux_pwr_modem___3 = 123,\n\tmsm_mux_pwr_nav___3 = 124,\n\tmsm_mux_qdss_cti0_a___2 = 125,\n\tmsm_mux_qdss_cti0_b___2 = 126,\n\tmsm_mux_qdss_cti1_a___2 = 127,\n\tmsm_mux_qdss_cti1_b___2 = 128,\n\tmsm_mux_qdss_gpio___8 = 129,\n\tmsm_mux_qdss_gpio0 = 130,\n\tmsm_mux_qdss_gpio1 = 131,\n\tmsm_mux_qdss_gpio10 = 132,\n\tmsm_mux_qdss_gpio11 = 133,\n\tmsm_mux_qdss_gpio12 = 134,\n\tmsm_mux_qdss_gpio13 = 135,\n\tmsm_mux_qdss_gpio14 = 136,\n\tmsm_mux_qdss_gpio15 = 137,\n\tmsm_mux_qdss_gpio2 = 138,\n\tmsm_mux_qdss_gpio3 = 139,\n\tmsm_mux_qdss_gpio4 = 140,\n\tmsm_mux_qdss_gpio5 = 141,\n\tmsm_mux_qdss_gpio6 = 142,\n\tmsm_mux_qdss_gpio7 = 143,\n\tmsm_mux_qdss_gpio8 = 144,\n\tmsm_mux_qdss_gpio9 = 145,\n\tmsm_mux_qlink_enable___4 = 146,\n\tmsm_mux_qlink_request___4 = 147,\n\tmsm_mux_qspi_clk___9 = 148,\n\tmsm_mux_qspi_cs___9 = 149,\n\tmsm_mux_qspi_data0 = 150,\n\tmsm_mux_qspi_data1 = 151,\n\tmsm_mux_qspi_data2 = 152,\n\tmsm_mux_qspi_data3 = 153,\n\tmsm_mux_qspi_resetn = 154,\n\tmsm_mux_sec_mi2s___9 = 155,\n\tmsm_mux_sndwire_clk = 156,\n\tmsm_mux_sndwire_data = 157,\n\tmsm_mux_sp_cmu___5 = 158,\n\tmsm_mux_ssc_irq___3 = 159,\n\tmsm_mux_tgu_ch0___8 = 160,\n\tmsm_mux_tgu_ch1___8 = 161,\n\tmsm_mux_tsense_pwm1___10 = 162,\n\tmsm_mux_tsense_pwm2___10 = 163,\n\tmsm_mux_uim1_clk___6 = 164,\n\tmsm_mux_uim1_data___6 = 165,\n\tmsm_mux_uim1_present___6 = 166,\n\tmsm_mux_uim1_reset___6 = 167,\n\tmsm_mux_uim2_clk___5 = 168,\n\tmsm_mux_uim2_data___5 = 169,\n\tmsm_mux_uim2_present___5 = 170,\n\tmsm_mux_uim2_reset___5 = 171,\n\tmsm_mux_uim_batt___8 = 172,\n\tmsm_mux_vfr_1___9 = 173,\n\tmsm_mux_vsense_clkout___2 = 174,\n\tmsm_mux_vsense_data0___2 = 175,\n\tmsm_mux_vsense_data1___2 = 176,\n\tmsm_mux_vsense_mode___2 = 177,\n\tmsm_mux_wlan1_adc0___5 = 178,\n\tmsm_mux_wlan1_adc1___5 = 179,\n\tmsm_mux_wlan2_adc0___4 = 180,\n\tmsm_mux_wlan2_adc1___4 = 181,\n\tmsm_mux_____17 = 182,\n};\n\nenum sdm670_functions {\n\tmsm_mux_gpio___23 = 0,\n\tmsm_mux_adsp_ext___11 = 1,\n\tmsm_mux_agera_pll___7 = 2,\n\tmsm_mux_atest_char___20 = 3,\n\tmsm_mux_atest_tsens___9 = 4,\n\tmsm_mux_atest_tsens2___6 = 5,\n\tmsm_mux_atest_usb1___7 = 6,\n\tmsm_mux_atest_usb10___6 = 7,\n\tmsm_mux_atest_usb11___6 = 8,\n\tmsm_mux_atest_usb12___6 = 9,\n\tmsm_mux_atest_usb13___6 = 10,\n\tmsm_mux_atest_usb2___7 = 11,\n\tmsm_mux_atest_usb20___4 = 12,\n\tmsm_mux_atest_usb21___4 = 13,\n\tmsm_mux_atest_usb22___4 = 14,\n\tmsm_mux_atest_usb23___4 = 15,\n\tmsm_mux_cam_mclk___14 = 16,\n\tmsm_mux_cci_async___14 = 17,\n\tmsm_mux_cci_i2c___13 = 18,\n\tmsm_mux_cci_timer0___12 = 19,\n\tmsm_mux_cci_timer1___12 = 20,\n\tmsm_mux_cci_timer2___12 = 21,\n\tmsm_mux_cci_timer3___11 = 22,\n\tmsm_mux_cci_timer4___10 = 23,\n\tmsm_mux_copy_gp___2 = 24,\n\tmsm_mux_copy_phase___2 = 25,\n\tmsm_mux_dbg_out___19 = 26,\n\tmsm_mux_ddr_bist___14 = 27,\n\tmsm_mux_ddr_pxi0___8 = 28,\n\tmsm_mux_ddr_pxi1___8 = 29,\n\tmsm_mux_ddr_pxi2___7 = 30,\n\tmsm_mux_ddr_pxi3___7 = 31,\n\tmsm_mux_edp_hot___7 = 32,\n\tmsm_mux_edp_lcd___7 = 33,\n\tmsm_mux_gcc_gp1___10 = 34,\n\tmsm_mux_gcc_gp2___10 = 35,\n\tmsm_mux_gcc_gp3___10 = 36,\n\tmsm_mux_gp_pdm0___4 = 37,\n\tmsm_mux_gp_pdm1___4 = 38,\n\tmsm_mux_gp_pdm2___4 = 39,\n\tmsm_mux_gps_tx___4 = 40,\n\tmsm_mux_jitter_bist___11 = 41,\n\tmsm_mux_ldo_en___10 = 42,\n\tmsm_mux_ldo_update___10 = 43,\n\tmsm_mux_lpass_slimbus___8 = 44,\n\tmsm_mux_m_voc___12 = 45,\n\tmsm_mux_mdp_vsync___16 = 46,\n\tmsm_mux_mdp_vsync0___5 = 47,\n\tmsm_mux_mdp_vsync1___5 = 48,\n\tmsm_mux_mdp_vsync2___5 = 49,\n\tmsm_mux_mdp_vsync3___5 = 50,\n\tmsm_mux_mss_lte___10 = 51,\n\tmsm_mux_nav_pps___7 = 52,\n\tmsm_mux_pa_indicator___11 = 53,\n\tmsm_mux_pci_e0___5 = 54,\n\tmsm_mux_pci_e1___4 = 55,\n\tmsm_mux_phase_flag___11 = 56,\n\tmsm_mux_pll_bist___10 = 57,\n\tmsm_mux_pll_bypassnl___9 = 58,\n\tmsm_mux_pll_reset___8 = 59,\n\tmsm_mux_pri_mi2s___10 = 60,\n\tmsm_mux_pri_mi2s_ws___6 = 61,\n\tmsm_mux_prng_rosc___16 = 62,\n\tmsm_mux_qdss_cti___11 = 63,\n\tmsm_mux_qdss___4 = 64,\n\tmsm_mux_qlink_enable___5 = 65,\n\tmsm_mux_qlink_request___5 = 66,\n\tmsm_mux_qua_mi2s___5 = 67,\n\tmsm_mux_qup0___5 = 68,\n\tmsm_mux_qup1___5 = 69,\n\tmsm_mux_qup10___6 = 70,\n\tmsm_mux_qup11___5 = 71,\n\tmsm_mux_qup12___6 = 72,\n\tmsm_mux_qup13___5 = 73,\n\tmsm_mux_qup14___6 = 74,\n\tmsm_mux_qup15___6 = 75,\n\tmsm_mux_qup2___4 = 76,\n\tmsm_mux_qup3___4 = 77,\n\tmsm_mux_qup4___4 = 78,\n\tmsm_mux_qup5___4 = 79,\n\tmsm_mux_qup6___3 = 80,\n\tmsm_mux_qup7___3 = 81,\n\tmsm_mux_qup8___3 = 82,\n\tmsm_mux_qup9___3 = 83,\n\tmsm_mux_qup_l4___2 = 84,\n\tmsm_mux_qup_l5___2 = 85,\n\tmsm_mux_qup_l6___2 = 86,\n\tmsm_mux_sd_write___14 = 87,\n\tmsm_mux_sdc4_clk___6 = 88,\n\tmsm_mux_sdc4_cmd___6 = 89,\n\tmsm_mux_sdc4_data = 90,\n\tmsm_mux_sec_mi2s___10 = 91,\n\tmsm_mux_ter_mi2s___6 = 92,\n\tmsm_mux_tgu_ch0___9 = 93,\n\tmsm_mux_tgu_ch1___9 = 94,\n\tmsm_mux_tgu_ch2___6 = 95,\n\tmsm_mux_tgu_ch3___6 = 96,\n\tmsm_mux_tsif1_clk___2 = 97,\n\tmsm_mux_tsif1_data___2 = 98,\n\tmsm_mux_tsif1_en___2 = 99,\n\tmsm_mux_tsif1_error___2 = 100,\n\tmsm_mux_tsif1_sync___2 = 101,\n\tmsm_mux_tsif2_clk___2 = 102,\n\tmsm_mux_tsif2_data___2 = 103,\n\tmsm_mux_tsif2_en___2 = 104,\n\tmsm_mux_tsif2_error___2 = 105,\n\tmsm_mux_tsif2_sync___2 = 106,\n\tmsm_mux_uim1_clk___7 = 107,\n\tmsm_mux_uim1_data___7 = 108,\n\tmsm_mux_uim1_present___7 = 109,\n\tmsm_mux_uim1_reset___7 = 110,\n\tmsm_mux_uim2_clk___6 = 111,\n\tmsm_mux_uim2_data___6 = 112,\n\tmsm_mux_uim2_present___6 = 113,\n\tmsm_mux_uim2_reset___6 = 114,\n\tmsm_mux_uim_batt___9 = 115,\n\tmsm_mux_usb_phy___6 = 116,\n\tmsm_mux_vfr_1___10 = 117,\n\tmsm_mux_vsense_trigger___9 = 118,\n\tmsm_mux_wlan1_adc0___6 = 119,\n\tmsm_mux_wlan1_adc1___6 = 120,\n\tmsm_mux_wlan2_adc0___5 = 121,\n\tmsm_mux_wlan2_adc1___5 = 122,\n\tmsm_mux_wsa_clk___2 = 123,\n\tmsm_mux_wsa_data___2 = 124,\n\tmsm_mux_____18 = 125,\n};\n\nenum sdm845_functions {\n\tmsm_mux_gpio___24 = 0,\n\tmsm_mux_adsp_ext___12 = 1,\n\tmsm_mux_agera_pll___8 = 2,\n\tmsm_mux_atest_char___21 = 3,\n\tmsm_mux_atest_tsens___10 = 4,\n\tmsm_mux_atest_tsens2___7 = 5,\n\tmsm_mux_atest_usb1___8 = 6,\n\tmsm_mux_atest_usb10___7 = 7,\n\tmsm_mux_atest_usb11___7 = 8,\n\tmsm_mux_atest_usb12___7 = 9,\n\tmsm_mux_atest_usb13___7 = 10,\n\tmsm_mux_atest_usb2___8 = 11,\n\tmsm_mux_atest_usb20___5 = 12,\n\tmsm_mux_atest_usb21___5 = 13,\n\tmsm_mux_atest_usb22___5 = 14,\n\tmsm_mux_atest_usb23___5 = 15,\n\tmsm_mux_audio_ref___10 = 16,\n\tmsm_mux_btfm_slimbus___5 = 17,\n\tmsm_mux_cam_mclk___15 = 18,\n\tmsm_mux_cci_async___15 = 19,\n\tmsm_mux_cci_i2c___14 = 20,\n\tmsm_mux_cci_timer0___13 = 21,\n\tmsm_mux_cci_timer1___13 = 22,\n\tmsm_mux_cci_timer2___13 = 23,\n\tmsm_mux_cci_timer3___12 = 24,\n\tmsm_mux_cci_timer4___11 = 25,\n\tmsm_mux_cri_trng___17 = 26,\n\tmsm_mux_cri_trng0___15 = 27,\n\tmsm_mux_cri_trng1___15 = 28,\n\tmsm_mux_dbg_out___20 = 29,\n\tmsm_mux_ddr_bist___15 = 30,\n\tmsm_mux_ddr_pxi0___9 = 31,\n\tmsm_mux_ddr_pxi1___9 = 32,\n\tmsm_mux_ddr_pxi2___8 = 33,\n\tmsm_mux_ddr_pxi3___8 = 34,\n\tmsm_mux_edp_hot___8 = 35,\n\tmsm_mux_edp_lcd___8 = 36,\n\tmsm_mux_gcc_gp1___11 = 37,\n\tmsm_mux_gcc_gp2___11 = 38,\n\tmsm_mux_gcc_gp3___11 = 39,\n\tmsm_mux_jitter_bist___12 = 40,\n\tmsm_mux_ldo_en___11 = 41,\n\tmsm_mux_ldo_update___11 = 42,\n\tmsm_mux_lpass_slimbus___9 = 43,\n\tmsm_mux_m_voc___13 = 44,\n\tmsm_mux_mdp_vsync___17 = 45,\n\tmsm_mux_mdp_vsync0___6 = 46,\n\tmsm_mux_mdp_vsync1___6 = 47,\n\tmsm_mux_mdp_vsync2___6 = 48,\n\tmsm_mux_mdp_vsync3___6 = 49,\n\tmsm_mux_mss_lte___11 = 50,\n\tmsm_mux_nav_pps___8 = 51,\n\tmsm_mux_pa_indicator___12 = 52,\n\tmsm_mux_pci_e0___6 = 53,\n\tmsm_mux_pci_e1___5 = 54,\n\tmsm_mux_phase_flag___12 = 55,\n\tmsm_mux_pll_bist___11 = 56,\n\tmsm_mux_pll_bypassnl___10 = 57,\n\tmsm_mux_pll_reset___9 = 58,\n\tmsm_mux_pri_mi2s___11 = 59,\n\tmsm_mux_pri_mi2s_ws___7 = 60,\n\tmsm_mux_prng_rosc___17 = 61,\n\tmsm_mux_qdss_cti___12 = 62,\n\tmsm_mux_qdss___5 = 63,\n\tmsm_mux_qlink_enable___6 = 64,\n\tmsm_mux_qlink_request___6 = 65,\n\tmsm_mux_qspi_clk___10 = 66,\n\tmsm_mux_qspi_cs___10 = 67,\n\tmsm_mux_qspi_data___6 = 68,\n\tmsm_mux_qua_mi2s___6 = 69,\n\tmsm_mux_qup0___6 = 70,\n\tmsm_mux_qup1___6 = 71,\n\tmsm_mux_qup10___7 = 72,\n\tmsm_mux_qup11___6 = 73,\n\tmsm_mux_qup12___7 = 74,\n\tmsm_mux_qup13___6 = 75,\n\tmsm_mux_qup14___7 = 76,\n\tmsm_mux_qup15___7 = 77,\n\tmsm_mux_qup2___5 = 78,\n\tmsm_mux_qup3___5 = 79,\n\tmsm_mux_qup4___5 = 80,\n\tmsm_mux_qup5___5 = 81,\n\tmsm_mux_qup6___4 = 82,\n\tmsm_mux_qup7___4 = 83,\n\tmsm_mux_qup8___4 = 84,\n\tmsm_mux_qup9___4 = 85,\n\tmsm_mux_qup_l4___3 = 86,\n\tmsm_mux_qup_l5___3 = 87,\n\tmsm_mux_qup_l6___3 = 88,\n\tmsm_mux_sd_write___15 = 89,\n\tmsm_mux_sdc4_clk___7 = 90,\n\tmsm_mux_sdc4_cmd___7 = 91,\n\tmsm_mux_sdc4_data___2 = 92,\n\tmsm_mux_sec_mi2s___11 = 93,\n\tmsm_mux_sp_cmu___6 = 94,\n\tmsm_mux_spkr_i2s___5 = 95,\n\tmsm_mux_ter_mi2s___7 = 96,\n\tmsm_mux_tgu_ch0___10 = 97,\n\tmsm_mux_tgu_ch1___10 = 98,\n\tmsm_mux_tgu_ch2___7 = 99,\n\tmsm_mux_tgu_ch3___7 = 100,\n\tmsm_mux_tsense_pwm1___11 = 101,\n\tmsm_mux_tsense_pwm2___11 = 102,\n\tmsm_mux_tsif1_clk___3 = 103,\n\tmsm_mux_tsif1_data___3 = 104,\n\tmsm_mux_tsif1_en___3 = 105,\n\tmsm_mux_tsif1_error___3 = 106,\n\tmsm_mux_tsif1_sync___3 = 107,\n\tmsm_mux_tsif2_clk___3 = 108,\n\tmsm_mux_tsif2_data___3 = 109,\n\tmsm_mux_tsif2_en___3 = 110,\n\tmsm_mux_tsif2_error___3 = 111,\n\tmsm_mux_tsif2_sync___3 = 112,\n\tmsm_mux_uim1_clk___8 = 113,\n\tmsm_mux_uim1_data___8 = 114,\n\tmsm_mux_uim1_present___8 = 115,\n\tmsm_mux_uim1_reset___8 = 116,\n\tmsm_mux_uim2_clk___7 = 117,\n\tmsm_mux_uim2_data___7 = 118,\n\tmsm_mux_uim2_present___7 = 119,\n\tmsm_mux_uim2_reset___7 = 120,\n\tmsm_mux_uim_batt___10 = 121,\n\tmsm_mux_usb_phy___7 = 122,\n\tmsm_mux_vfr_1___11 = 123,\n\tmsm_mux_vsense_trigger___10 = 124,\n\tmsm_mux_wlan1_adc0___7 = 125,\n\tmsm_mux_wlan1_adc1___7 = 126,\n\tmsm_mux_wlan2_adc0___6 = 127,\n\tmsm_mux_wlan2_adc1___6 = 128,\n\tmsm_mux_____19 = 129,\n};\n\nenum sdx75_functions {\n\tmsm_mux_adsp_ext___13 = 0,\n\tmsm_mux_atest_char___22 = 1,\n\tmsm_mux_audio_ref_clk___2 = 2,\n\tmsm_mux_bimc_dte = 3,\n\tmsm_mux_char_exec___3 = 4,\n\tmsm_mux_coex_uart2 = 5,\n\tmsm_mux_coex_uart = 6,\n\tmsm_mux_cri_trng___18 = 7,\n\tmsm_mux_cri_trng0___16 = 8,\n\tmsm_mux_cri_trng1___16 = 9,\n\tmsm_mux_dbg_out_clk___3 = 10,\n\tmsm_mux_ddr_bist___16 = 11,\n\tmsm_mux_ddr_pxi0___10 = 12,\n\tmsm_mux_ebi0_wrcdc___2 = 13,\n\tmsm_mux_ebi2_a___2 = 14,\n\tmsm_mux_ebi2_lcd___2 = 15,\n\tmsm_mux_ebi2_lcd_te = 16,\n\tmsm_mux_emac0_mcg = 17,\n\tmsm_mux_emac0_ptp___2 = 18,\n\tmsm_mux_emac1_mcg = 19,\n\tmsm_mux_emac1_ptp___2 = 20,\n\tmsm_mux_emac_cdc = 21,\n\tmsm_mux_emac_pps_in = 22,\n\tmsm_mux_eth0_mdc = 23,\n\tmsm_mux_eth0_mdio = 24,\n\tmsm_mux_eth1_mdc = 25,\n\tmsm_mux_eth1_mdio = 26,\n\tmsm_mux_ext_dbg = 27,\n\tmsm_mux_gcc_125_clk = 28,\n\tmsm_mux_gcc_gp1_clk = 29,\n\tmsm_mux_gcc_gp2_clk = 30,\n\tmsm_mux_gcc_gp3_clk = 31,\n\tmsm_mux_gcc_plltest___8 = 32,\n\tmsm_mux_gpio___25 = 33,\n\tmsm_mux_i2s_mclk = 34,\n\tmsm_mux_jitter_bist___13 = 35,\n\tmsm_mux_ldo_en___12 = 36,\n\tmsm_mux_ldo_update___12 = 37,\n\tmsm_mux_m_voc___14 = 38,\n\tmsm_mux_mgpi_clk = 39,\n\tmsm_mux_native_char = 40,\n\tmsm_mux_native_tsens = 41,\n\tmsm_mux_native_tsense = 42,\n\tmsm_mux_nav_dr_sync = 43,\n\tmsm_mux_nav_gpio___2 = 44,\n\tmsm_mux_pa_indicator___13 = 45,\n\tmsm_mux_pci_e = 46,\n\tmsm_mux_pcie0_clkreq_n = 47,\n\tmsm_mux_pcie1_clkreq_n = 48,\n\tmsm_mux_pcie2_clkreq_n = 49,\n\tmsm_mux_pll_bist_sync = 50,\n\tmsm_mux_pll_clk_aux = 51,\n\tmsm_mux_pll_ref_clk = 52,\n\tmsm_mux_pri_mi2s___12 = 53,\n\tmsm_mux_prng_rosc___18 = 54,\n\tmsm_mux_qdss_cti___13 = 55,\n\tmsm_mux_qdss_gpio___9 = 56,\n\tmsm_mux_qlink0_b_en = 57,\n\tmsm_mux_qlink0_b_req = 58,\n\tmsm_mux_qlink0_l_en = 59,\n\tmsm_mux_qlink0_l_req = 60,\n\tmsm_mux_qlink0_wmss___3 = 61,\n\tmsm_mux_qlink1_l_en = 62,\n\tmsm_mux_qlink1_l_req = 63,\n\tmsm_mux_qlink1_wmss___3 = 64,\n\tmsm_mux_qup_se0 = 65,\n\tmsm_mux_qup_se1_l2_mira = 66,\n\tmsm_mux_qup_se1_l2_mirb = 67,\n\tmsm_mux_qup_se1_l3_mira = 68,\n\tmsm_mux_qup_se1_l3_mirb = 69,\n\tmsm_mux_qup_se2 = 70,\n\tmsm_mux_qup_se3 = 71,\n\tmsm_mux_qup_se4 = 72,\n\tmsm_mux_qup_se5 = 73,\n\tmsm_mux_qup_se6 = 74,\n\tmsm_mux_qup_se7 = 75,\n\tmsm_mux_qup_se8 = 76,\n\tmsm_mux_rgmii_rx_ctl = 77,\n\tmsm_mux_rgmii_rxc = 78,\n\tmsm_mux_rgmii_rxd = 79,\n\tmsm_mux_rgmii_tx_ctl = 80,\n\tmsm_mux_rgmii_txc = 81,\n\tmsm_mux_rgmii_txd = 82,\n\tmsm_mux_sd_card___6 = 83,\n\tmsm_mux_sdc1_tb___3 = 84,\n\tmsm_mux_sdc2_tb_trig = 85,\n\tmsm_mux_sec_mi2s___12 = 86,\n\tmsm_mux_sgmii_phy_intr0_n = 87,\n\tmsm_mux_sgmii_phy_intr1_n = 88,\n\tmsm_mux_spmi_coex = 89,\n\tmsm_mux_spmi_vgi = 90,\n\tmsm_mux_tgu_ch0_trigout = 91,\n\tmsm_mux_tmess_prng0___2 = 92,\n\tmsm_mux_tmess_prng1___2 = 93,\n\tmsm_mux_tmess_prng2___2 = 94,\n\tmsm_mux_tmess_prng3___2 = 95,\n\tmsm_mux_tri_mi2s = 96,\n\tmsm_mux_uim1_clk___9 = 97,\n\tmsm_mux_uim1_data___9 = 98,\n\tmsm_mux_uim1_present___9 = 99,\n\tmsm_mux_uim1_reset___9 = 100,\n\tmsm_mux_uim2_clk___8 = 101,\n\tmsm_mux_uim2_data___8 = 102,\n\tmsm_mux_uim2_present___8 = 103,\n\tmsm_mux_uim2_reset___8 = 104,\n\tmsm_mux_usb2phy_ac_en = 105,\n\tmsm_mux_vsense_trigger_mirnat___2 = 106,\n\tmsm_mux_____20 = 107,\n};\n\nenum sec_device_type {\n\tS5M8767X = 0,\n\tS2DOS05 = 1,\n\tS2MPA01 = 2,\n\tS2MPS11X = 3,\n\tS2MPS13X = 4,\n\tS2MPS14X = 5,\n\tS2MPS15X = 6,\n\tS2MPU02 = 7,\n};\n\nenum serdev_parity {\n\tSERDEV_PARITY_NONE = 0,\n\tSERDEV_PARITY_EVEN = 1,\n\tSERDEV_PARITY_ODD = 2,\n};\n\nenum serio_event_type {\n\tSERIO_RESCAN_PORT = 0,\n\tSERIO_RECONNECT_PORT = 1,\n\tSERIO_RECONNECT_SUBTREE = 2,\n\tSERIO_REGISTER_PORT = 3,\n\tSERIO_ATTACH_DRIVER = 4,\n};\n\nenum service_response {\n\tSAS_TASK_COMPLETE = 0,\n\tSAS_TASK_UNDELIVERED = -1,\n};\n\nenum set_event_iter_type {\n\tSET_EVENT_FILE = 0,\n\tSET_EVENT_MOD = 1,\n};\n\nenum sgmii_speed {\n\tSGMII_SPEED_10 = 0,\n\tSGMII_SPEED_100 = 1,\n\tSGMII_SPEED_1000 = 2,\n\tSGMII_SPEED_2500 = 2,\n};\n\nenum sgp_type {\n\tSGP_READ = 0,\n\tSGP_NOALLOC = 1,\n\tSGP_CACHE = 2,\n\tSGP_WRITE = 3,\n\tSGP_FALLOC = 4,\n};\n\nenum sh_cmt_model {\n\tSH_CMT_16BIT = 0,\n\tSH_CMT_32BIT = 1,\n\tSH_CMT_48BIT = 2,\n\tSH_CMT0_RCAR_GEN2 = 3,\n\tSH_CMT1_RCAR_GEN2 = 4,\n};\n\nenum sh_mobile_i2c_op {\n\tOP_START = 0,\n\tOP_TX_FIRST = 1,\n\tOP_TX = 2,\n\tOP_TX_STOP = 3,\n\tOP_TX_TO_RX = 4,\n\tOP_RX = 5,\n\tOP_RX_STOP = 6,\n\tOP_RX_STOP_DATA = 7,\n};\n\nenum sh_tmu_model {\n\tSH_TMU = 0,\n\tSH_TMU_SH3 = 1,\n};\n\nenum shmem_param {\n\tOpt_gid___9 = 0,\n\tOpt_huge = 1,\n\tOpt_mode___6 = 2,\n\tOpt_mpol = 3,\n\tOpt_nr_blocks = 4,\n\tOpt_nr_inodes___2 = 5,\n\tOpt_size___2 = 6,\n\tOpt_uid___8 = 7,\n\tOpt_inode32 = 8,\n\tOpt_inode64 = 9,\n\tOpt_noswap = 10,\n\tOpt_quota___2 = 11,\n\tOpt_usrquota___2 = 12,\n\tOpt_grpquota___2 = 13,\n\tOpt_usrquota_block_hardlimit = 14,\n\tOpt_usrquota_inode_hardlimit = 15,\n\tOpt_grpquota_block_hardlimit = 16,\n\tOpt_grpquota_inode_hardlimit = 17,\n\tOpt_casefold_version = 18,\n\tOpt_casefold = 19,\n\tOpt_strict_encoding = 20,\n};\n\nenum shutdown_state {\n\tSHUTDOWN_INVALID = -1,\n\tSHUTDOWN_POWEROFF = 0,\n\tSHUTDOWN_SUSPEND = 2,\n\tSHUTDOWN_HALT = 4,\n};\n\nenum si_type {\n\tSI_TYPE_INVALID = 0,\n\tSI_KCS = 1,\n\tSI_SMIC = 2,\n\tSI_BT = 3,\n\tSI_TYPE_MAX = 4,\n};\n\nenum sig_handler {\n\tHANDLER_CURRENT = 0,\n\tHANDLER_SIG_DFL = 1,\n\tHANDLER_EXIT = 2,\n};\n\nenum siginfo_layout {\n\tSIL_KILL = 0,\n\tSIL_TIMER = 1,\n\tSIL_POLL = 2,\n\tSIL_FAULT = 3,\n\tSIL_FAULT_TRAPNO = 4,\n\tSIL_FAULT_MCEERR = 5,\n\tSIL_FAULT_BNDERR = 6,\n\tSIL_FAULT_PKUERR = 7,\n\tSIL_FAULT_PERF_EVENT = 8,\n\tSIL_CHLD = 9,\n\tSIL_RT = 10,\n\tSIL_SYS = 11,\n};\n\nenum sk_action {\n\tSK_DROP = 0,\n\tSK_PASS = 1,\n};\n\nenum sk_pacing {\n\tSK_PACING_NONE = 0,\n\tSK_PACING_NEEDED = 1,\n\tSK_PACING_FQ = 2,\n};\n\nenum sk_psock_state_bits {\n\tSK_PSOCK_TX_ENABLED = 0,\n\tSK_PSOCK_RX_STRP_ENABLED = 1,\n};\n\nenum sk_rst_reason {\n\tSK_RST_REASON_NOT_SPECIFIED = 0,\n\tSK_RST_REASON_NO_SOCKET = 1,\n\tSK_RST_REASON_TCP_INVALID_ACK_SEQUENCE = 2,\n\tSK_RST_REASON_TCP_RFC7323_PAWS = 3,\n\tSK_RST_REASON_TCP_TOO_OLD_ACK = 4,\n\tSK_RST_REASON_TCP_ACK_UNSENT_DATA = 5,\n\tSK_RST_REASON_TCP_FLAGS = 6,\n\tSK_RST_REASON_TCP_OLD_ACK = 7,\n\tSK_RST_REASON_TCP_ABORT_ON_DATA = 8,\n\tSK_RST_REASON_TCP_TIMEWAIT_SOCKET = 9,\n\tSK_RST_REASON_INVALID_SYN = 10,\n\tSK_RST_REASON_TCP_ABORT_ON_CLOSE = 11,\n\tSK_RST_REASON_TCP_ABORT_ON_LINGER = 12,\n\tSK_RST_REASON_TCP_ABORT_ON_MEMORY = 13,\n\tSK_RST_REASON_TCP_STATE = 14,\n\tSK_RST_REASON_TCP_KEEPALIVE_TIMEOUT = 15,\n\tSK_RST_REASON_TCP_DISCONNECT_WITH_DATA = 16,\n\tSK_RST_REASON_MPTCP_RST_EUNSPEC = 17,\n\tSK_RST_REASON_MPTCP_RST_EMPTCP = 18,\n\tSK_RST_REASON_MPTCP_RST_ERESOURCE = 19,\n\tSK_RST_REASON_MPTCP_RST_EPROHIBIT = 20,\n\tSK_RST_REASON_MPTCP_RST_EWQ2BIG = 21,\n\tSK_RST_REASON_MPTCP_RST_EBADPERF = 22,\n\tSK_RST_REASON_MPTCP_RST_EMIDDLEBOX = 23,\n\tSK_RST_REASON_ERROR = 24,\n\tSK_RST_REASON_MAX = 25,\n};\n\nenum skb_drop_reason {\n\tSKB_NOT_DROPPED_YET = 0,\n\tSKB_CONSUMED = 1,\n\tSKB_DROP_REASON_NOT_SPECIFIED = 2,\n\tSKB_DROP_REASON_NO_SOCKET = 3,\n\tSKB_DROP_REASON_SOCKET_CLOSE = 4,\n\tSKB_DROP_REASON_SOCKET_FILTER = 5,\n\tSKB_DROP_REASON_SOCKET_RCVBUFF = 6,\n\tSKB_DROP_REASON_UNIX_DISCONNECT = 7,\n\tSKB_DROP_REASON_UNIX_SKIP_OOB = 8,\n\tSKB_DROP_REASON_PKT_TOO_SMALL = 9,\n\tSKB_DROP_REASON_TCP_CSUM = 10,\n\tSKB_DROP_REASON_UDP_CSUM = 11,\n\tSKB_DROP_REASON_NETFILTER_DROP = 12,\n\tSKB_DROP_REASON_OTHERHOST = 13,\n\tSKB_DROP_REASON_IP_CSUM = 14,\n\tSKB_DROP_REASON_IP_INHDR = 15,\n\tSKB_DROP_REASON_IP_RPFILTER = 16,\n\tSKB_DROP_REASON_UNICAST_IN_L2_MULTICAST = 17,\n\tSKB_DROP_REASON_XFRM_POLICY = 18,\n\tSKB_DROP_REASON_IP_NOPROTO = 19,\n\tSKB_DROP_REASON_PROTO_MEM = 20,\n\tSKB_DROP_REASON_TCP_AUTH_HDR = 21,\n\tSKB_DROP_REASON_TCP_MD5NOTFOUND = 22,\n\tSKB_DROP_REASON_TCP_MD5UNEXPECTED = 23,\n\tSKB_DROP_REASON_TCP_MD5FAILURE = 24,\n\tSKB_DROP_REASON_TCP_AONOTFOUND = 25,\n\tSKB_DROP_REASON_TCP_AOUNEXPECTED = 26,\n\tSKB_DROP_REASON_TCP_AOKEYNOTFOUND = 27,\n\tSKB_DROP_REASON_TCP_AOFAILURE = 28,\n\tSKB_DROP_REASON_SOCKET_BACKLOG = 29,\n\tSKB_DROP_REASON_TCP_FLAGS = 30,\n\tSKB_DROP_REASON_TCP_ABORT_ON_DATA = 31,\n\tSKB_DROP_REASON_TCP_ZEROWINDOW = 32,\n\tSKB_DROP_REASON_TCP_OLD_DATA = 33,\n\tSKB_DROP_REASON_TCP_OVERWINDOW = 34,\n\tSKB_DROP_REASON_TCP_OFOMERGE = 35,\n\tSKB_DROP_REASON_TCP_RFC7323_PAWS = 36,\n\tSKB_DROP_REASON_TCP_RFC7323_PAWS_ACK = 37,\n\tSKB_DROP_REASON_TCP_OLD_SEQUENCE = 38,\n\tSKB_DROP_REASON_TCP_INVALID_SEQUENCE = 39,\n\tSKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE = 40,\n\tSKB_DROP_REASON_TCP_RESET = 41,\n\tSKB_DROP_REASON_TCP_INVALID_SYN = 42,\n\tSKB_DROP_REASON_TCP_CLOSE = 43,\n\tSKB_DROP_REASON_TCP_FASTOPEN = 44,\n\tSKB_DROP_REASON_TCP_OLD_ACK = 45,\n\tSKB_DROP_REASON_TCP_TOO_OLD_ACK = 46,\n\tSKB_DROP_REASON_TCP_ACK_UNSENT_DATA = 47,\n\tSKB_DROP_REASON_TCP_OFO_QUEUE_PRUNE = 48,\n\tSKB_DROP_REASON_TCP_OFO_DROP = 49,\n\tSKB_DROP_REASON_IP_OUTNOROUTES = 50,\n\tSKB_DROP_REASON_BPF_CGROUP_EGRESS = 51,\n\tSKB_DROP_REASON_IPV6DISABLED = 52,\n\tSKB_DROP_REASON_NEIGH_CREATEFAIL = 53,\n\tSKB_DROP_REASON_NEIGH_FAILED = 54,\n\tSKB_DROP_REASON_NEIGH_QUEUEFULL = 55,\n\tSKB_DROP_REASON_NEIGH_DEAD = 56,\n\tSKB_DROP_REASON_TC_EGRESS = 57,\n\tSKB_DROP_REASON_SECURITY_HOOK = 58,\n\tSKB_DROP_REASON_QDISC_DROP = 59,\n\tSKB_DROP_REASON_QDISC_OVERLIMIT = 60,\n\tSKB_DROP_REASON_QDISC_CONGESTED = 61,\n\tSKB_DROP_REASON_CAKE_FLOOD = 62,\n\tSKB_DROP_REASON_FQ_BAND_LIMIT = 63,\n\tSKB_DROP_REASON_FQ_HORIZON_LIMIT = 64,\n\tSKB_DROP_REASON_FQ_FLOW_LIMIT = 65,\n\tSKB_DROP_REASON_CPU_BACKLOG = 66,\n\tSKB_DROP_REASON_XDP = 67,\n\tSKB_DROP_REASON_TC_INGRESS = 68,\n\tSKB_DROP_REASON_UNHANDLED_PROTO = 69,\n\tSKB_DROP_REASON_SKB_CSUM = 70,\n\tSKB_DROP_REASON_SKB_GSO_SEG = 71,\n\tSKB_DROP_REASON_SKB_UCOPY_FAULT = 72,\n\tSKB_DROP_REASON_DEV_HDR = 73,\n\tSKB_DROP_REASON_DEV_READY = 74,\n\tSKB_DROP_REASON_FULL_RING = 75,\n\tSKB_DROP_REASON_NOMEM = 76,\n\tSKB_DROP_REASON_HDR_TRUNC = 77,\n\tSKB_DROP_REASON_TAP_FILTER = 78,\n\tSKB_DROP_REASON_TAP_TXFILTER = 79,\n\tSKB_DROP_REASON_ICMP_CSUM = 80,\n\tSKB_DROP_REASON_INVALID_PROTO = 81,\n\tSKB_DROP_REASON_IP_INADDRERRORS = 82,\n\tSKB_DROP_REASON_IP_INNOROUTES = 83,\n\tSKB_DROP_REASON_IP_LOCAL_SOURCE = 84,\n\tSKB_DROP_REASON_IP_INVALID_SOURCE = 85,\n\tSKB_DROP_REASON_IP_LOCALNET = 86,\n\tSKB_DROP_REASON_IP_INVALID_DEST = 87,\n\tSKB_DROP_REASON_PKT_TOO_BIG = 88,\n\tSKB_DROP_REASON_DUP_FRAG = 89,\n\tSKB_DROP_REASON_FRAG_REASM_TIMEOUT = 90,\n\tSKB_DROP_REASON_FRAG_TOO_FAR = 91,\n\tSKB_DROP_REASON_TCP_MINTTL = 92,\n\tSKB_DROP_REASON_IPV6_BAD_EXTHDR = 93,\n\tSKB_DROP_REASON_IPV6_NDISC_FRAG = 94,\n\tSKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 95,\n\tSKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 96,\n\tSKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 97,\n\tSKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 98,\n\tSKB_DROP_REASON_QUEUE_PURGE = 99,\n\tSKB_DROP_REASON_TC_COOKIE_ERROR = 100,\n\tSKB_DROP_REASON_PACKET_SOCK_ERROR = 101,\n\tSKB_DROP_REASON_TC_CHAIN_NOTFOUND = 102,\n\tSKB_DROP_REASON_TC_RECLASSIFY_LOOP = 103,\n\tSKB_DROP_REASON_VXLAN_INVALID_HDR = 104,\n\tSKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 105,\n\tSKB_DROP_REASON_MAC_INVALID_SOURCE = 106,\n\tSKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 107,\n\tSKB_DROP_REASON_NO_TX_TARGET = 108,\n\tSKB_DROP_REASON_IP_TUNNEL_ECN = 109,\n\tSKB_DROP_REASON_TUNNEL_TXINFO = 110,\n\tSKB_DROP_REASON_LOCAL_MAC = 111,\n\tSKB_DROP_REASON_ARP_PVLAN_DISABLE = 112,\n\tSKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 113,\n\tSKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 114,\n\tSKB_DROP_REASON_MAX = 115,\n\tSKB_DROP_REASON_SUBSYS_MASK = 4294901760,\n};\n\nenum skb_drop_reason_subsys {\n\tSKB_DROP_REASON_SUBSYS_CORE = 0,\n\tSKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE = 1,\n\tSKB_DROP_REASON_SUBSYS_MAC80211_MONITOR = 2,\n\tSKB_DROP_REASON_SUBSYS_OPENVSWITCH = 3,\n\tSKB_DROP_REASON_SUBSYS_NUM = 4,\n};\n\nenum skb_ext_id {\n\tSKB_EXT_BRIDGE_NF = 0,\n\tSKB_EXT_NUM = 1,\n};\n\nenum skb_tstamp_type {\n\tSKB_CLOCK_REALTIME = 0,\n\tSKB_CLOCK_MONOTONIC = 1,\n\tSKB_CLOCK_TAI = 2,\n\t__SKB_CLOCK_MAX = 2,\n};\n\nenum sknetlink_groups {\n\tSKNLGRP_NONE = 0,\n\tSKNLGRP_INET_TCP_DESTROY = 1,\n\tSKNLGRP_INET_UDP_DESTROY = 2,\n\tSKNLGRP_INET6_TCP_DESTROY = 3,\n\tSKNLGRP_INET6_UDP_DESTROY = 4,\n\t__SKNLGRP_MAX = 5,\n};\n\nenum slab_stat_type {\n\tSL_ALL = 0,\n\tSL_PARTIAL = 1,\n\tSL_CPU = 2,\n\tSL_OBJECTS = 3,\n\tSL_TOTAL = 4,\n};\n\nenum slab_state {\n\tDOWN___2 = 0,\n\tPARTIAL = 1,\n\tUP___2 = 2,\n\tFULL = 3,\n};\n\nenum sm4450_functions {\n\tmsm_mux_gpio___26 = 0,\n\tmsm_mux_atest_char___23 = 1,\n\tmsm_mux_atest_usb0___3 = 2,\n\tmsm_mux_audio_ref_clk___3 = 3,\n\tmsm_mux_cam_mclk___16 = 4,\n\tmsm_mux_cci_async_in0___2 = 5,\n\tmsm_mux_cci_i2c___15 = 6,\n\tmsm_mux_cci = 7,\n\tmsm_mux_cmu_rng___3 = 8,\n\tmsm_mux_coex_uart1_rx = 9,\n\tmsm_mux_coex_uart1_tx = 10,\n\tmsm_mux_cri_trng___19 = 11,\n\tmsm_mux_dbg_out_clk___4 = 12,\n\tmsm_mux_ddr_bist___17 = 13,\n\tmsm_mux_ddr_pxi0_test = 14,\n\tmsm_mux_ddr_pxi1_test = 15,\n\tmsm_mux_gcc_gp1_clk___2 = 16,\n\tmsm_mux_gcc_gp2_clk___2 = 17,\n\tmsm_mux_gcc_gp3_clk___2 = 18,\n\tmsm_mux_host2wlan_sol___2 = 19,\n\tmsm_mux_ibi_i3c_qup0 = 20,\n\tmsm_mux_ibi_i3c_qup1 = 21,\n\tmsm_mux_jitter_bist_ref___2 = 22,\n\tmsm_mux_mdp_vsync0_out___2 = 23,\n\tmsm_mux_mdp_vsync1_out___2 = 24,\n\tmsm_mux_mdp_vsync2_out___2 = 25,\n\tmsm_mux_mdp_vsync3_out___2 = 26,\n\tmsm_mux_mdp_vsync___18 = 27,\n\tmsm_mux_nav = 28,\n\tmsm_mux_pcie0_clk_req = 29,\n\tmsm_mux_phase_flag___13 = 30,\n\tmsm_mux_pll_bist_sync___2 = 31,\n\tmsm_mux_pll_clk_aux___2 = 32,\n\tmsm_mux_prng_rosc___19 = 33,\n\tmsm_mux_qdss_cti_trig0 = 34,\n\tmsm_mux_qdss_cti_trig1 = 35,\n\tmsm_mux_qdss_gpio___10 = 36,\n\tmsm_mux_qlink0_enable___3 = 37,\n\tmsm_mux_qlink0_request___3 = 38,\n\tmsm_mux_qlink0_wmss_reset = 39,\n\tmsm_mux_qup0_se0___3 = 40,\n\tmsm_mux_qup0_se1___3 = 41,\n\tmsm_mux_qup0_se2___3 = 42,\n\tmsm_mux_qup0_se3___3 = 43,\n\tmsm_mux_qup0_se4___3 = 44,\n\tmsm_mux_qup1_se0___3 = 45,\n\tmsm_mux_qup1_se1___3 = 46,\n\tmsm_mux_qup1_se2___3 = 47,\n\tmsm_mux_qup1_se3___3 = 48,\n\tmsm_mux_qup1_se4___3 = 49,\n\tmsm_mux_sd_write_protect___2 = 50,\n\tmsm_mux_tb_trig_sdc1 = 51,\n\tmsm_mux_tb_trig_sdc2 = 52,\n\tmsm_mux_tgu_ch0_trigout___2 = 53,\n\tmsm_mux_tgu_ch1_trigout = 54,\n\tmsm_mux_tgu_ch2_trigout = 55,\n\tmsm_mux_tgu_ch3_trigout = 56,\n\tmsm_mux_tmess_prng = 57,\n\tmsm_mux_tsense_pwm1_out = 58,\n\tmsm_mux_tsense_pwm2_out = 59,\n\tmsm_mux_uim0 = 60,\n\tmsm_mux_uim1___7 = 61,\n\tmsm_mux_usb0_hs_ac = 62,\n\tmsm_mux_usb0_phy_ps = 63,\n\tmsm_mux_vfr_0_mira = 64,\n\tmsm_mux_vfr_0_mirb = 65,\n\tmsm_mux_vfr_1___12 = 66,\n\tmsm_mux_vsense_trigger_mirnat___3 = 67,\n\tmsm_mux_wlan1_adc_dtest0 = 68,\n\tmsm_mux_wlan1_adc_dtest1 = 69,\n\tmsm_mux_____21 = 70,\n};\n\nenum sm6115_functions {\n\tmsm_mux_adsp_ext___14 = 0,\n\tmsm_mux_agera_pll___9 = 1,\n\tmsm_mux_atest___2 = 2,\n\tmsm_mux_cam_mclk___17 = 3,\n\tmsm_mux_cci_async___16 = 4,\n\tmsm_mux_cci_i2c___16 = 5,\n\tmsm_mux_cci_timer___3 = 6,\n\tmsm_mux_cri_trng___20 = 7,\n\tmsm_mux_dac_calib___2 = 8,\n\tmsm_mux_dbg_out___21 = 9,\n\tmsm_mux_ddr_bist___18 = 10,\n\tmsm_mux_ddr_pxi0___11 = 11,\n\tmsm_mux_ddr_pxi1___10 = 12,\n\tmsm_mux_ddr_pxi2___9 = 13,\n\tmsm_mux_ddr_pxi3___9 = 14,\n\tmsm_mux_gcc_gp1___12 = 15,\n\tmsm_mux_gcc_gp2___12 = 16,\n\tmsm_mux_gcc_gp3___12 = 17,\n\tmsm_mux_gpio___27 = 18,\n\tmsm_mux_gp_pdm0___5 = 19,\n\tmsm_mux_gp_pdm1___5 = 20,\n\tmsm_mux_gp_pdm2___5 = 21,\n\tmsm_mux_gsm0_tx___4 = 22,\n\tmsm_mux_gsm1_tx___4 = 23,\n\tmsm_mux_jitter_bist___14 = 24,\n\tmsm_mux_mdp_vsync___19 = 25,\n\tmsm_mux_mdp_vsync_out_0___2 = 26,\n\tmsm_mux_mdp_vsync_out_1___2 = 27,\n\tmsm_mux_mpm_pwr___2 = 28,\n\tmsm_mux_mss_lte___12 = 29,\n\tmsm_mux_m_voc___15 = 30,\n\tmsm_mux_nav_gpio___3 = 31,\n\tmsm_mux_pa_indicator___14 = 32,\n\tmsm_mux_pbs = 33,\n\tmsm_mux_pbs_out___2 = 34,\n\tmsm_mux_phase_flag___14 = 35,\n\tmsm_mux_pll_bist___12 = 36,\n\tmsm_mux_pll_bypassnl___11 = 37,\n\tmsm_mux_pll_reset___10 = 38,\n\tmsm_mux_prng_rosc___20 = 39,\n\tmsm_mux_qdss_cti___14 = 40,\n\tmsm_mux_qdss_gpio___11 = 41,\n\tmsm_mux_qup0___7 = 42,\n\tmsm_mux_qup1___7 = 43,\n\tmsm_mux_qup2___6 = 44,\n\tmsm_mux_qup3___6 = 45,\n\tmsm_mux_qup4___6 = 46,\n\tmsm_mux_qup5___6 = 47,\n\tmsm_mux_sdc1_tb___4 = 48,\n\tmsm_mux_sdc2_tb___3 = 49,\n\tmsm_mux_sd_write___16 = 50,\n\tmsm_mux_ssbi_wtr1___5 = 51,\n\tmsm_mux_tgu___3 = 52,\n\tmsm_mux_tsense_pwm___2 = 53,\n\tmsm_mux_uim1_clk___10 = 54,\n\tmsm_mux_uim1_data___10 = 55,\n\tmsm_mux_uim1_present___10 = 56,\n\tmsm_mux_uim1_reset___10 = 57,\n\tmsm_mux_uim2_clk___9 = 58,\n\tmsm_mux_uim2_data___9 = 59,\n\tmsm_mux_uim2_present___9 = 60,\n\tmsm_mux_uim2_reset___9 = 61,\n\tmsm_mux_usb_phy___8 = 62,\n\tmsm_mux_vfr_1___13 = 63,\n\tmsm_mux_vsense_trigger___11 = 64,\n\tmsm_mux_wlan1_adc0___8 = 65,\n\tmsm_mux_wlan1_adc1___8 = 66,\n\tmsm_mux_____22 = 67,\n};\n\nenum sm6125_functions {\n\tmsm_mux_qup00___4 = 0,\n\tmsm_mux_gpio___28 = 1,\n\tmsm_mux_qdss___6 = 2,\n\tmsm_mux_qup01___4 = 3,\n\tmsm_mux_qup02___3 = 4,\n\tmsm_mux_ddr_pxi0___12 = 5,\n\tmsm_mux_ddr_bist___19 = 6,\n\tmsm_mux_atest_tsens2___8 = 7,\n\tmsm_mux_vsense_trigger___12 = 8,\n\tmsm_mux_atest_usb1___9 = 9,\n\tmsm_mux_gp_pdm1___6 = 10,\n\tmsm_mux_phase_flag___15 = 11,\n\tmsm_mux_dbg_out___22 = 12,\n\tmsm_mux_qup14___8 = 13,\n\tmsm_mux_atest_usb11___8 = 14,\n\tmsm_mux_ddr_pxi2___10 = 15,\n\tmsm_mux_atest_usb10___8 = 16,\n\tmsm_mux_jitter_bist___15 = 17,\n\tmsm_mux_ddr_pxi3___10 = 18,\n\tmsm_mux_pll_bypassnl___12 = 19,\n\tmsm_mux_pll_bist___13 = 20,\n\tmsm_mux_qup03___4 = 21,\n\tmsm_mux_pll_reset___11 = 22,\n\tmsm_mux_agera_pll___10 = 23,\n\tmsm_mux_qdss_cti___15 = 24,\n\tmsm_mux_qup04___3 = 25,\n\tmsm_mux_wlan2_adc1___7 = 26,\n\tmsm_mux_wlan2_adc0___7 = 27,\n\tmsm_mux_wsa_clk___3 = 28,\n\tmsm_mux_qup13___7 = 29,\n\tmsm_mux_ter_mi2s___8 = 30,\n\tmsm_mux_wsa_data___3 = 31,\n\tmsm_mux_qup10___8 = 32,\n\tmsm_mux_gcc_gp3___13 = 33,\n\tmsm_mux_qup12___8 = 34,\n\tmsm_mux_sd_write___17 = 35,\n\tmsm_mux_qup11___7 = 36,\n\tmsm_mux_cam_mclk___18 = 37,\n\tmsm_mux_atest_tsens___11 = 38,\n\tmsm_mux_cci_i2c___17 = 39,\n\tmsm_mux_cci_timer2___14 = 40,\n\tmsm_mux_cci_timer1___14 = 41,\n\tmsm_mux_gcc_gp2___13 = 42,\n\tmsm_mux_cci_async___17 = 43,\n\tmsm_mux_cci_timer4___12 = 44,\n\tmsm_mux_cci_timer0___14 = 45,\n\tmsm_mux_gcc_gp1___13 = 46,\n\tmsm_mux_cci_timer3___13 = 47,\n\tmsm_mux_wlan1_adc1___9 = 48,\n\tmsm_mux_wlan1_adc0___9 = 49,\n\tmsm_mux_qlink_request___7 = 50,\n\tmsm_mux_qlink_enable___7 = 51,\n\tmsm_mux_pa_indicator___15 = 52,\n\tmsm_mux_nav_pps___9 = 53,\n\tmsm_mux_gps_tx___5 = 54,\n\tmsm_mux_gp_pdm0___6 = 55,\n\tmsm_mux_atest_usb13___8 = 56,\n\tmsm_mux_ddr_pxi1___11 = 57,\n\tmsm_mux_atest_usb12___8 = 58,\n\tmsm_mux_cri_trng0___17 = 59,\n\tmsm_mux_cri_trng___21 = 60,\n\tmsm_mux_cri_trng1___17 = 61,\n\tmsm_mux_gp_pdm2___6 = 62,\n\tmsm_mux_sp_cmu___7 = 63,\n\tmsm_mux_atest_usb2___9 = 64,\n\tmsm_mux_atest_usb23___6 = 65,\n\tmsm_mux_uim2_data___10 = 66,\n\tmsm_mux_uim2_clk___10 = 67,\n\tmsm_mux_uim2_reset___10 = 68,\n\tmsm_mux_atest_usb22___6 = 69,\n\tmsm_mux_uim2_present___10 = 70,\n\tmsm_mux_atest_usb21___6 = 71,\n\tmsm_mux_uim1_data___11 = 72,\n\tmsm_mux_atest_usb20___6 = 73,\n\tmsm_mux_uim1_clk___11 = 74,\n\tmsm_mux_uim1_reset___11 = 75,\n\tmsm_mux_uim1_present___11 = 76,\n\tmsm_mux_mdp_vsync___20 = 77,\n\tmsm_mux_copy_gp___3 = 78,\n\tmsm_mux_tsense_pwm___3 = 79,\n\tmsm_mux_mpm_pwr___3 = 80,\n\tmsm_mux_tgu_ch3___8 = 81,\n\tmsm_mux_mdp_vsync0___7 = 82,\n\tmsm_mux_mdp_vsync1___7 = 83,\n\tmsm_mux_mdp_vsync2___7 = 84,\n\tmsm_mux_mdp_vsync3___7 = 85,\n\tmsm_mux_mdp_vsync4___3 = 86,\n\tmsm_mux_mdp_vsync5___3 = 87,\n\tmsm_mux_tgu_ch0___11 = 88,\n\tmsm_mux_tgu_ch1___11 = 89,\n\tmsm_mux_atest_char1___12 = 90,\n\tmsm_mux_vfr_1___14 = 91,\n\tmsm_mux_tgu_ch2___8 = 92,\n\tmsm_mux_atest_char0___12 = 93,\n\tmsm_mux_atest_char2___12 = 94,\n\tmsm_mux_atest_char3___12 = 95,\n\tmsm_mux_ldo_en___13 = 96,\n\tmsm_mux_ldo_update___13 = 97,\n\tmsm_mux_prng_rosc___21 = 98,\n\tmsm_mux_dp_hot___5 = 99,\n\tmsm_mux_debug_hot___2 = 100,\n\tmsm_mux_copy_phase___3 = 101,\n\tmsm_mux_usb_phy___9 = 102,\n\tmsm_mux_atest_char___24 = 103,\n\tmsm_mux_unused1 = 104,\n\tmsm_mux_qua_mi2s___7 = 105,\n\tmsm_mux_mss_lte___13 = 106,\n\tmsm_mux_swr_tx = 107,\n\tmsm_mux_aud_sb = 108,\n\tmsm_mux_unused2 = 109,\n\tmsm_mux_swr_rx = 110,\n\tmsm_mux_edp_hot___9 = 111,\n\tmsm_mux_audio_ref___11 = 112,\n\tmsm_mux_pri_mi2s___13 = 113,\n\tmsm_mux_pri_mi2s_ws___8 = 114,\n\tmsm_mux_adsp_ext___15 = 115,\n\tmsm_mux_edp_lcd___9 = 116,\n\tmsm_mux_mclk2___2 = 117,\n\tmsm_mux_m_voc___16 = 118,\n\tmsm_mux_mclk1___2 = 119,\n\tmsm_mux_qca_sb = 120,\n\tmsm_mux_qui_mi2s = 121,\n\tmsm_mux_dmic0_clk___4 = 122,\n\tmsm_mux_sec_mi2s___13 = 123,\n\tmsm_mux_dmic0_data___4 = 124,\n\tmsm_mux_dmic1_clk = 125,\n\tmsm_mux_dmic1_data = 126,\n\tmsm_mux_____23 = 127,\n};\n\nenum sm6350_functions {\n\tmsm_mux_adsp_ext___16 = 0,\n\tmsm_mux_agera_pll___11 = 1,\n\tmsm_mux_atest_char___25 = 2,\n\tmsm_mux_atest_char0___13 = 3,\n\tmsm_mux_atest_char1___13 = 4,\n\tmsm_mux_atest_char2___13 = 5,\n\tmsm_mux_atest_char3___13 = 6,\n\tmsm_mux_atest_tsens___12 = 7,\n\tmsm_mux_atest_tsens2___9 = 8,\n\tmsm_mux_atest_usb___4 = 9,\n\tmsm_mux_audio_ref___12 = 10,\n\tmsm_mux_btfm_slimbus___6 = 11,\n\tmsm_mux_cam_mclk0___3 = 12,\n\tmsm_mux_cam_mclk1___3 = 13,\n\tmsm_mux_cam_mclk2___2 = 14,\n\tmsm_mux_cam_mclk3___2 = 15,\n\tmsm_mux_cam_mclk4 = 16,\n\tmsm_mux_cci_async___18 = 17,\n\tmsm_mux_cci_i2c___18 = 18,\n\tmsm_mux_cci_timer0___15 = 19,\n\tmsm_mux_cci_timer1___15 = 20,\n\tmsm_mux_cci_timer2___15 = 21,\n\tmsm_mux_cci_timer3___14 = 22,\n\tmsm_mux_cci_timer4___13 = 23,\n\tmsm_mux_cri_trng___22 = 24,\n\tmsm_mux_dbg_out___23 = 25,\n\tmsm_mux_ddr_bist___20 = 26,\n\tmsm_mux_ddr_pxi0___13 = 27,\n\tmsm_mux_ddr_pxi1___12 = 28,\n\tmsm_mux_ddr_pxi2___11 = 29,\n\tmsm_mux_ddr_pxi3___11 = 30,\n\tmsm_mux_dp_hot___6 = 31,\n\tmsm_mux_edp_lcd___10 = 32,\n\tmsm_mux_gcc_gp1___14 = 33,\n\tmsm_mux_gcc_gp2___14 = 34,\n\tmsm_mux_gcc_gp3___14 = 35,\n\tmsm_mux_gp_pdm0___7 = 36,\n\tmsm_mux_gp_pdm1___7 = 37,\n\tmsm_mux_gp_pdm2___7 = 38,\n\tmsm_mux_gpio___29 = 39,\n\tmsm_mux_gps_tx___6 = 40,\n\tmsm_mux_ibi_i3c___5 = 41,\n\tmsm_mux_jitter_bist___16 = 42,\n\tmsm_mux_ldo_en___14 = 43,\n\tmsm_mux_ldo_update___14 = 44,\n\tmsm_mux_lpass_ext___2 = 45,\n\tmsm_mux_m_voc___17 = 46,\n\tmsm_mux_mclk = 47,\n\tmsm_mux_mdp_vsync___21 = 48,\n\tmsm_mux_mdp_vsync0___8 = 49,\n\tmsm_mux_mdp_vsync1___8 = 50,\n\tmsm_mux_mdp_vsync2___8 = 51,\n\tmsm_mux_mdp_vsync3___8 = 52,\n\tmsm_mux_mi2s_0___2 = 53,\n\tmsm_mux_mi2s_1___3 = 54,\n\tmsm_mux_mi2s_2___2 = 55,\n\tmsm_mux_mss_lte___14 = 56,\n\tmsm_mux_nav_gpio___4 = 57,\n\tmsm_mux_nav_pps___10 = 58,\n\tmsm_mux_pa_indicator___16 = 59,\n\tmsm_mux_pcie0_clk___6 = 60,\n\tmsm_mux_phase_flag___16 = 61,\n\tmsm_mux_pll_bist___14 = 62,\n\tmsm_mux_pll_bypassnl___13 = 63,\n\tmsm_mux_pll_reset___12 = 64,\n\tmsm_mux_prng_rosc___22 = 65,\n\tmsm_mux_qdss_cti___16 = 66,\n\tmsm_mux_qdss_gpio___12 = 67,\n\tmsm_mux_qdss_gpio0___2 = 68,\n\tmsm_mux_qdss_gpio1___2 = 69,\n\tmsm_mux_qdss_gpio10___2 = 70,\n\tmsm_mux_qdss_gpio11___2 = 71,\n\tmsm_mux_qdss_gpio12___2 = 72,\n\tmsm_mux_qdss_gpio13___2 = 73,\n\tmsm_mux_qdss_gpio14___2 = 74,\n\tmsm_mux_qdss_gpio15___2 = 75,\n\tmsm_mux_qdss_gpio2___2 = 76,\n\tmsm_mux_qdss_gpio3___2 = 77,\n\tmsm_mux_qdss_gpio4___2 = 78,\n\tmsm_mux_qdss_gpio5___2 = 79,\n\tmsm_mux_qdss_gpio6___2 = 80,\n\tmsm_mux_qdss_gpio7___2 = 81,\n\tmsm_mux_qdss_gpio8___2 = 82,\n\tmsm_mux_qdss_gpio9___2 = 83,\n\tmsm_mux_qlink0_enable___4 = 84,\n\tmsm_mux_qlink0_request___4 = 85,\n\tmsm_mux_qlink0_wmss___4 = 86,\n\tmsm_mux_qlink1_enable___3 = 87,\n\tmsm_mux_qlink1_request___3 = 88,\n\tmsm_mux_qlink1_wmss___4 = 89,\n\tmsm_mux_qup00___5 = 90,\n\tmsm_mux_qup01___5 = 91,\n\tmsm_mux_qup02___4 = 92,\n\tmsm_mux_qup10___9 = 93,\n\tmsm_mux_qup11___8 = 94,\n\tmsm_mux_qup12___9 = 95,\n\tmsm_mux_qup13_f1 = 96,\n\tmsm_mux_qup13_f2 = 97,\n\tmsm_mux_qup14___9 = 98,\n\tmsm_mux_rffe0_clk = 99,\n\tmsm_mux_rffe0_data = 100,\n\tmsm_mux_rffe1_clk = 101,\n\tmsm_mux_rffe1_data = 102,\n\tmsm_mux_rffe2_clk = 103,\n\tmsm_mux_rffe2_data = 104,\n\tmsm_mux_rffe3_clk = 105,\n\tmsm_mux_rffe3_data = 106,\n\tmsm_mux_rffe4_clk = 107,\n\tmsm_mux_rffe4_data = 108,\n\tmsm_mux_sd_write___18 = 109,\n\tmsm_mux_sdc1_tb___5 = 110,\n\tmsm_mux_sdc2_tb___4 = 111,\n\tmsm_mux_sp_cmu___8 = 112,\n\tmsm_mux_tgu_ch0___12 = 113,\n\tmsm_mux_tgu_ch1___12 = 114,\n\tmsm_mux_tgu_ch2___9 = 115,\n\tmsm_mux_tgu_ch3___9 = 116,\n\tmsm_mux_tsense_pwm1___12 = 117,\n\tmsm_mux_tsense_pwm2___12 = 118,\n\tmsm_mux_uim1_clk___12 = 119,\n\tmsm_mux_uim1_data___12 = 120,\n\tmsm_mux_uim1_present___12 = 121,\n\tmsm_mux_uim1_reset___12 = 122,\n\tmsm_mux_uim2_clk___11 = 123,\n\tmsm_mux_uim2_data___11 = 124,\n\tmsm_mux_uim2_present___11 = 125,\n\tmsm_mux_uim2_reset___11 = 126,\n\tmsm_mux_usb_phy___10 = 127,\n\tmsm_mux_vfr_1___15 = 128,\n\tmsm_mux_vsense_trigger___13 = 129,\n\tmsm_mux_wlan1_adc0___10 = 130,\n\tmsm_mux_wlan1_adc1___10 = 131,\n\tmsm_mux_wlan2_adc0___8 = 132,\n\tmsm_mux_wlan2_adc1___8 = 133,\n\tmsm_mux_____24 = 134,\n};\n\nenum sm6375_functions {\n\tmsm_mux_adsp_ext___17 = 0,\n\tmsm_mux_agera_pll___12 = 1,\n\tmsm_mux_atest_char___26 = 2,\n\tmsm_mux_atest_char0___14 = 3,\n\tmsm_mux_atest_char1___14 = 4,\n\tmsm_mux_atest_char2___14 = 5,\n\tmsm_mux_atest_char3___14 = 6,\n\tmsm_mux_atest_tsens___13 = 7,\n\tmsm_mux_atest_tsens2___10 = 8,\n\tmsm_mux_atest_usb1___10 = 9,\n\tmsm_mux_atest_usb10___9 = 10,\n\tmsm_mux_atest_usb11___9 = 11,\n\tmsm_mux_atest_usb12___9 = 12,\n\tmsm_mux_atest_usb13___9 = 13,\n\tmsm_mux_atest_usb2___10 = 14,\n\tmsm_mux_atest_usb20___7 = 15,\n\tmsm_mux_atest_usb21___7 = 16,\n\tmsm_mux_atest_usb22___7 = 17,\n\tmsm_mux_atest_usb23___7 = 18,\n\tmsm_mux_audio_ref___13 = 19,\n\tmsm_mux_btfm_slimbus___7 = 20,\n\tmsm_mux_cam_mclk___19 = 21,\n\tmsm_mux_cci_async___19 = 22,\n\tmsm_mux_cci_i2c___19 = 23,\n\tmsm_mux_cci_timer0___16 = 24,\n\tmsm_mux_cci_timer1___16 = 25,\n\tmsm_mux_cci_timer2___16 = 26,\n\tmsm_mux_cci_timer3___15 = 27,\n\tmsm_mux_cci_timer4___14 = 28,\n\tmsm_mux_cri_trng___23 = 29,\n\tmsm_mux_dbg_out___24 = 30,\n\tmsm_mux_ddr_bist___21 = 31,\n\tmsm_mux_ddr_pxi0___14 = 32,\n\tmsm_mux_ddr_pxi1___13 = 33,\n\tmsm_mux_ddr_pxi2___12 = 34,\n\tmsm_mux_ddr_pxi3___12 = 35,\n\tmsm_mux_dp_hot___7 = 36,\n\tmsm_mux_edp_lcd___11 = 37,\n\tmsm_mux_gcc_gp1___15 = 38,\n\tmsm_mux_gcc_gp2___15 = 39,\n\tmsm_mux_gcc_gp3___15 = 40,\n\tmsm_mux_gp_pdm0___8 = 41,\n\tmsm_mux_gp_pdm1___8 = 42,\n\tmsm_mux_gp_pdm2___8 = 43,\n\tmsm_mux_gpio___30 = 44,\n\tmsm_mux_gps_tx___7 = 45,\n\tmsm_mux_ibi_i3c___6 = 46,\n\tmsm_mux_jitter_bist___17 = 47,\n\tmsm_mux_ldo_en___15 = 48,\n\tmsm_mux_ldo_update___15 = 49,\n\tmsm_mux_lpass_ext___3 = 50,\n\tmsm_mux_m_voc___18 = 51,\n\tmsm_mux_mclk___2 = 52,\n\tmsm_mux_mdp_vsync___22 = 53,\n\tmsm_mux_mdp_vsync0___9 = 54,\n\tmsm_mux_mdp_vsync1___9 = 55,\n\tmsm_mux_mdp_vsync2___9 = 56,\n\tmsm_mux_mdp_vsync3___9 = 57,\n\tmsm_mux_mi2s_0___3 = 58,\n\tmsm_mux_mi2s_1___4 = 59,\n\tmsm_mux_mi2s_2___3 = 60,\n\tmsm_mux_mss_lte___15 = 61,\n\tmsm_mux_nav_gpio___5 = 62,\n\tmsm_mux_nav_pps___11 = 63,\n\tmsm_mux_pa_indicator___17 = 64,\n\tmsm_mux_phase_flag0___2 = 65,\n\tmsm_mux_phase_flag1___2 = 66,\n\tmsm_mux_phase_flag10___2 = 67,\n\tmsm_mux_phase_flag11___2 = 68,\n\tmsm_mux_phase_flag12___2 = 69,\n\tmsm_mux_phase_flag13___2 = 70,\n\tmsm_mux_phase_flag14___2 = 71,\n\tmsm_mux_phase_flag15___2 = 72,\n\tmsm_mux_phase_flag16___2 = 73,\n\tmsm_mux_phase_flag17___2 = 74,\n\tmsm_mux_phase_flag18___2 = 75,\n\tmsm_mux_phase_flag19___2 = 76,\n\tmsm_mux_phase_flag2___2 = 77,\n\tmsm_mux_phase_flag20___2 = 78,\n\tmsm_mux_phase_flag21___2 = 79,\n\tmsm_mux_phase_flag22___2 = 80,\n\tmsm_mux_phase_flag23___2 = 81,\n\tmsm_mux_phase_flag24___2 = 82,\n\tmsm_mux_phase_flag25___2 = 83,\n\tmsm_mux_phase_flag26___2 = 84,\n\tmsm_mux_phase_flag27___2 = 85,\n\tmsm_mux_phase_flag28___2 = 86,\n\tmsm_mux_phase_flag29___2 = 87,\n\tmsm_mux_phase_flag3___2 = 88,\n\tmsm_mux_phase_flag30___2 = 89,\n\tmsm_mux_phase_flag31___2 = 90,\n\tmsm_mux_phase_flag4___2 = 91,\n\tmsm_mux_phase_flag5___2 = 92,\n\tmsm_mux_phase_flag6___2 = 93,\n\tmsm_mux_phase_flag7___2 = 94,\n\tmsm_mux_phase_flag8___2 = 95,\n\tmsm_mux_phase_flag9___2 = 96,\n\tmsm_mux_pll_bist___15 = 97,\n\tmsm_mux_pll_bypassnl___14 = 98,\n\tmsm_mux_pll_clk___6 = 99,\n\tmsm_mux_pll_reset___13 = 100,\n\tmsm_mux_prng_rosc0___6 = 101,\n\tmsm_mux_prng_rosc1___6 = 102,\n\tmsm_mux_prng_rosc2___6 = 103,\n\tmsm_mux_prng_rosc3___6 = 104,\n\tmsm_mux_qdss_cti___17 = 105,\n\tmsm_mux_qdss_gpio___13 = 106,\n\tmsm_mux_qdss_gpio0___3 = 107,\n\tmsm_mux_qdss_gpio1___3 = 108,\n\tmsm_mux_qdss_gpio10___3 = 109,\n\tmsm_mux_qdss_gpio11___3 = 110,\n\tmsm_mux_qdss_gpio12___3 = 111,\n\tmsm_mux_qdss_gpio13___3 = 112,\n\tmsm_mux_qdss_gpio14___3 = 113,\n\tmsm_mux_qdss_gpio15___3 = 114,\n\tmsm_mux_qdss_gpio2___3 = 115,\n\tmsm_mux_qdss_gpio3___3 = 116,\n\tmsm_mux_qdss_gpio4___3 = 117,\n\tmsm_mux_qdss_gpio5___3 = 118,\n\tmsm_mux_qdss_gpio6___3 = 119,\n\tmsm_mux_qdss_gpio7___3 = 120,\n\tmsm_mux_qdss_gpio8___3 = 121,\n\tmsm_mux_qdss_gpio9___3 = 122,\n\tmsm_mux_qlink0_enable___5 = 123,\n\tmsm_mux_qlink0_request___5 = 124,\n\tmsm_mux_qlink0_wmss___5 = 125,\n\tmsm_mux_qlink1_enable___4 = 126,\n\tmsm_mux_qlink1_request___4 = 127,\n\tmsm_mux_qlink1_wmss___5 = 128,\n\tmsm_mux_qup00___6 = 129,\n\tmsm_mux_qup01___6 = 130,\n\tmsm_mux_qup02___5 = 131,\n\tmsm_mux_qup10___10 = 132,\n\tmsm_mux_qup11_f1 = 133,\n\tmsm_mux_qup11_f2 = 134,\n\tmsm_mux_qup12___10 = 135,\n\tmsm_mux_qup13_f1___2 = 136,\n\tmsm_mux_qup13_f2___2 = 137,\n\tmsm_mux_qup14___10 = 138,\n\tmsm_mux_sd_write___19 = 139,\n\tmsm_mux_sdc1_tb___6 = 140,\n\tmsm_mux_sdc2_tb___5 = 141,\n\tmsm_mux_sp_cmu___9 = 142,\n\tmsm_mux_tgu_ch0___13 = 143,\n\tmsm_mux_tgu_ch1___13 = 144,\n\tmsm_mux_tgu_ch2___10 = 145,\n\tmsm_mux_tgu_ch3___10 = 146,\n\tmsm_mux_tsense_pwm1___13 = 147,\n\tmsm_mux_tsense_pwm2___13 = 148,\n\tmsm_mux_uim1_clk___13 = 149,\n\tmsm_mux_uim1_data___13 = 150,\n\tmsm_mux_uim1_present___13 = 151,\n\tmsm_mux_uim1_reset___13 = 152,\n\tmsm_mux_uim2_clk___12 = 153,\n\tmsm_mux_uim2_data___12 = 154,\n\tmsm_mux_uim2_present___12 = 155,\n\tmsm_mux_uim2_reset___12 = 156,\n\tmsm_mux_usb2phy_ac___7 = 157,\n\tmsm_mux_usb_phy___11 = 158,\n\tmsm_mux_vfr_1___16 = 159,\n\tmsm_mux_vsense_trigger___14 = 160,\n\tmsm_mux_wlan1_adc0___11 = 161,\n\tmsm_mux_wlan1_adc1___11 = 162,\n\tmsm_mux_wlan2_adc0___9 = 163,\n\tmsm_mux_wlan2_adc1___9 = 164,\n\tmsm_mux_____25 = 165,\n};\n\nenum sm8150_functions {\n\tmsm_mux_adsp_ext___18 = 0,\n\tmsm_mux_agera_pll___13 = 1,\n\tmsm_mux_aoss_cti___5 = 2,\n\tmsm_mux_atest_char___27 = 3,\n\tmsm_mux_atest_char0___15 = 4,\n\tmsm_mux_atest_char1___15 = 5,\n\tmsm_mux_atest_char2___15 = 6,\n\tmsm_mux_atest_char3___15 = 7,\n\tmsm_mux_atest_usb1___11 = 8,\n\tmsm_mux_atest_usb2___11 = 9,\n\tmsm_mux_atest_usb10___10 = 10,\n\tmsm_mux_atest_usb11___10 = 11,\n\tmsm_mux_atest_usb12___10 = 12,\n\tmsm_mux_atest_usb13___10 = 13,\n\tmsm_mux_atest_usb20___8 = 14,\n\tmsm_mux_atest_usb21___8 = 15,\n\tmsm_mux_atest_usb22___8 = 16,\n\tmsm_mux_atest_usb23___8 = 17,\n\tmsm_mux_audio_ref___14 = 18,\n\tmsm_mux_btfm_slimbus___8 = 19,\n\tmsm_mux_cam_mclk___20 = 20,\n\tmsm_mux_cci_async___20 = 21,\n\tmsm_mux_cci_i2c___20 = 22,\n\tmsm_mux_cci_timer0___17 = 23,\n\tmsm_mux_cci_timer1___17 = 24,\n\tmsm_mux_cci_timer2___17 = 25,\n\tmsm_mux_cci_timer3___16 = 26,\n\tmsm_mux_cci_timer4___15 = 27,\n\tmsm_mux_cri_trng___24 = 28,\n\tmsm_mux_cri_trng0___18 = 29,\n\tmsm_mux_cri_trng1___18 = 30,\n\tmsm_mux_dbg_out___25 = 31,\n\tmsm_mux_ddr_bist___22 = 32,\n\tmsm_mux_ddr_pxi0___15 = 33,\n\tmsm_mux_ddr_pxi1___14 = 34,\n\tmsm_mux_ddr_pxi2___13 = 35,\n\tmsm_mux_ddr_pxi3___13 = 36,\n\tmsm_mux_edp_hot___10 = 37,\n\tmsm_mux_edp_lcd___12 = 38,\n\tmsm_mux_emac_phy___2 = 39,\n\tmsm_mux_emac_pps___2 = 40,\n\tmsm_mux_gcc_gp1___16 = 41,\n\tmsm_mux_gcc_gp2___16 = 42,\n\tmsm_mux_gcc_gp3___16 = 43,\n\tmsm_mux_gpio___31 = 44,\n\tmsm_mux_jitter_bist___18 = 45,\n\tmsm_mux_hs1_mi2s___6 = 46,\n\tmsm_mux_hs2_mi2s___5 = 47,\n\tmsm_mux_hs3_mi2s___3 = 48,\n\tmsm_mux_lpass_slimbus___10 = 49,\n\tmsm_mux_mdp_vsync___23 = 50,\n\tmsm_mux_mdp_vsync0___10 = 51,\n\tmsm_mux_mdp_vsync1___10 = 52,\n\tmsm_mux_mdp_vsync2___10 = 53,\n\tmsm_mux_mdp_vsync3___10 = 54,\n\tmsm_mux_mss_lte___16 = 55,\n\tmsm_mux_m_voc___19 = 56,\n\tmsm_mux_nav_pps___12 = 57,\n\tmsm_mux_pa_indicator___18 = 58,\n\tmsm_mux_pci_e0___7 = 59,\n\tmsm_mux_pci_e1___6 = 60,\n\tmsm_mux_phase_flag___17 = 61,\n\tmsm_mux_pll_bist___16 = 62,\n\tmsm_mux_pll_bypassnl___15 = 63,\n\tmsm_mux_pll_reset___14 = 64,\n\tmsm_mux_pri_mi2s___14 = 65,\n\tmsm_mux_pri_mi2s_ws___9 = 66,\n\tmsm_mux_prng_rosc___23 = 67,\n\tmsm_mux_qdss___7 = 68,\n\tmsm_mux_qdss_cti___18 = 69,\n\tmsm_mux_qlink_enable___8 = 70,\n\tmsm_mux_qlink_request___8 = 71,\n\tmsm_mux_qspi0___4 = 72,\n\tmsm_mux_qspi1___4 = 73,\n\tmsm_mux_qspi2___3 = 74,\n\tmsm_mux_qspi3___3 = 75,\n\tmsm_mux_qspi_clk___11 = 76,\n\tmsm_mux_qspi_cs___11 = 77,\n\tmsm_mux_qua_mi2s___8 = 78,\n\tmsm_mux_qup0___8 = 79,\n\tmsm_mux_qup1___8 = 80,\n\tmsm_mux_qup2___7 = 81,\n\tmsm_mux_qup3___7 = 82,\n\tmsm_mux_qup4___7 = 83,\n\tmsm_mux_qup5___7 = 84,\n\tmsm_mux_qup6___5 = 85,\n\tmsm_mux_qup7___5 = 86,\n\tmsm_mux_qup8___5 = 87,\n\tmsm_mux_qup9___5 = 88,\n\tmsm_mux_qup10___11 = 89,\n\tmsm_mux_qup11___9 = 90,\n\tmsm_mux_qup12___11 = 91,\n\tmsm_mux_qup13___8 = 92,\n\tmsm_mux_qup14___11 = 93,\n\tmsm_mux_qup15___8 = 94,\n\tmsm_mux_qup16___5 = 95,\n\tmsm_mux_qup17___5 = 96,\n\tmsm_mux_qup18___3 = 97,\n\tmsm_mux_qup19___3 = 98,\n\tmsm_mux_qup_l4___4 = 99,\n\tmsm_mux_qup_l5___4 = 100,\n\tmsm_mux_qup_l6___4 = 101,\n\tmsm_mux_rgmii___3 = 102,\n\tmsm_mux_sdc4___3 = 103,\n\tmsm_mux_sd_write___20 = 104,\n\tmsm_mux_sec_mi2s___14 = 105,\n\tmsm_mux_spkr_i2s___6 = 106,\n\tmsm_mux_sp_cmu___10 = 107,\n\tmsm_mux_ter_mi2s___9 = 108,\n\tmsm_mux_tgu_ch0___14 = 109,\n\tmsm_mux_tgu_ch2___11 = 110,\n\tmsm_mux_tgu_ch1___14 = 111,\n\tmsm_mux_tgu_ch3___11 = 112,\n\tmsm_mux_tsense_pwm1___14 = 113,\n\tmsm_mux_tsense_pwm2___14 = 114,\n\tmsm_mux_tsif1___4 = 115,\n\tmsm_mux_tsif2___3 = 116,\n\tmsm_mux_uim1___8 = 117,\n\tmsm_mux_uim2___7 = 118,\n\tmsm_mux_uim_batt___11 = 119,\n\tmsm_mux_usb2phy_ac___8 = 120,\n\tmsm_mux_usb_phy___12 = 121,\n\tmsm_mux_vfr_1___17 = 122,\n\tmsm_mux_vsense_trigger___15 = 123,\n\tmsm_mux_wlan1_adc1___12 = 124,\n\tmsm_mux_wlan1_adc0___12 = 125,\n\tmsm_mux_wlan2_adc1___10 = 126,\n\tmsm_mux_wlan2_adc0___10 = 127,\n\tmsm_mux_wmss_reset___2 = 128,\n\tmsm_mux_____26 = 129,\n};\n\nenum sm8250_functions {\n\tmsm_mux_aoss_cti___6 = 0,\n\tmsm_mux_atest___3 = 1,\n\tmsm_mux_audio_ref___15 = 2,\n\tmsm_mux_cam_mclk___21 = 3,\n\tmsm_mux_cci_async___21 = 4,\n\tmsm_mux_cci_i2c___21 = 5,\n\tmsm_mux_cci_timer0___18 = 6,\n\tmsm_mux_cci_timer1___18 = 7,\n\tmsm_mux_cci_timer2___18 = 8,\n\tmsm_mux_cci_timer3___17 = 9,\n\tmsm_mux_cci_timer4___16 = 10,\n\tmsm_mux_cri_trng___25 = 11,\n\tmsm_mux_cri_trng0___19 = 12,\n\tmsm_mux_cri_trng1___19 = 13,\n\tmsm_mux_dbg_out___26 = 14,\n\tmsm_mux_ddr_bist___23 = 15,\n\tmsm_mux_ddr_pxi0___16 = 16,\n\tmsm_mux_ddr_pxi1___15 = 17,\n\tmsm_mux_ddr_pxi2___14 = 18,\n\tmsm_mux_ddr_pxi3___14 = 19,\n\tmsm_mux_dp_hot___8 = 20,\n\tmsm_mux_dp_lcd___2 = 21,\n\tmsm_mux_gcc_gp1___17 = 22,\n\tmsm_mux_gcc_gp2___17 = 23,\n\tmsm_mux_gcc_gp3___17 = 24,\n\tmsm_mux_gpio___32 = 25,\n\tmsm_mux_ibi_i3c___7 = 26,\n\tmsm_mux_jitter_bist___19 = 27,\n\tmsm_mux_lpass_slimbus___11 = 28,\n\tmsm_mux_mdp_vsync___24 = 29,\n\tmsm_mux_mdp_vsync0___11 = 30,\n\tmsm_mux_mdp_vsync1___11 = 31,\n\tmsm_mux_mdp_vsync2___11 = 32,\n\tmsm_mux_mdp_vsync3___11 = 33,\n\tmsm_mux_mi2s0_data0___3 = 34,\n\tmsm_mux_mi2s0_data1___3 = 35,\n\tmsm_mux_mi2s0_sck___3 = 36,\n\tmsm_mux_mi2s0_ws___3 = 37,\n\tmsm_mux_mi2s1_data0___5 = 38,\n\tmsm_mux_mi2s1_data1___5 = 39,\n\tmsm_mux_mi2s1_sck___5 = 40,\n\tmsm_mux_mi2s1_ws___5 = 41,\n\tmsm_mux_mi2s2_data0___5 = 42,\n\tmsm_mux_mi2s2_data1___5 = 43,\n\tmsm_mux_mi2s2_sck___5 = 44,\n\tmsm_mux_mi2s2_ws___5 = 45,\n\tmsm_mux_pci_e0___8 = 46,\n\tmsm_mux_pci_e1___7 = 47,\n\tmsm_mux_pci_e2___3 = 48,\n\tmsm_mux_phase_flag___18 = 49,\n\tmsm_mux_pll_bist___17 = 50,\n\tmsm_mux_pll_bypassnl___16 = 51,\n\tmsm_mux_pll_clk___7 = 52,\n\tmsm_mux_pll_reset___15 = 53,\n\tmsm_mux_pri_mi2s___15 = 54,\n\tmsm_mux_prng_rosc___24 = 55,\n\tmsm_mux_qdss_cti___19 = 56,\n\tmsm_mux_qdss_gpio___14 = 57,\n\tmsm_mux_qspi0___5 = 58,\n\tmsm_mux_qspi1___5 = 59,\n\tmsm_mux_qspi2___4 = 60,\n\tmsm_mux_qspi3___4 = 61,\n\tmsm_mux_qspi_clk___12 = 62,\n\tmsm_mux_qspi_cs___12 = 63,\n\tmsm_mux_qup0___9 = 64,\n\tmsm_mux_qup1___9 = 65,\n\tmsm_mux_qup10___12 = 66,\n\tmsm_mux_qup11___10 = 67,\n\tmsm_mux_qup12___12 = 68,\n\tmsm_mux_qup13___9 = 69,\n\tmsm_mux_qup14___12 = 70,\n\tmsm_mux_qup15___9 = 71,\n\tmsm_mux_qup16___6 = 72,\n\tmsm_mux_qup17___6 = 73,\n\tmsm_mux_qup18___4 = 74,\n\tmsm_mux_qup19___4 = 75,\n\tmsm_mux_qup2___8 = 76,\n\tmsm_mux_qup3___8 = 77,\n\tmsm_mux_qup4___8 = 78,\n\tmsm_mux_qup5___8 = 79,\n\tmsm_mux_qup6___6 = 80,\n\tmsm_mux_qup7___6 = 81,\n\tmsm_mux_qup8___6 = 82,\n\tmsm_mux_qup9___6 = 83,\n\tmsm_mux_qup_l4___5 = 84,\n\tmsm_mux_qup_l5___5 = 85,\n\tmsm_mux_qup_l6___5 = 86,\n\tmsm_mux_sd_write___21 = 87,\n\tmsm_mux_sdc40___5 = 88,\n\tmsm_mux_sdc41___4 = 89,\n\tmsm_mux_sdc42___5 = 90,\n\tmsm_mux_sdc43___5 = 91,\n\tmsm_mux_sdc4_clk___8 = 92,\n\tmsm_mux_sdc4_cmd___8 = 93,\n\tmsm_mux_sec_mi2s___15 = 94,\n\tmsm_mux_sp_cmu___11 = 95,\n\tmsm_mux_tgu_ch0___15 = 96,\n\tmsm_mux_tgu_ch1___15 = 97,\n\tmsm_mux_tgu_ch2___12 = 98,\n\tmsm_mux_tgu_ch3___12 = 99,\n\tmsm_mux_tsense_pwm1___15 = 100,\n\tmsm_mux_tsense_pwm2___15 = 101,\n\tmsm_mux_tsif0_clk = 102,\n\tmsm_mux_tsif0_data = 103,\n\tmsm_mux_tsif0_en = 104,\n\tmsm_mux_tsif0_error = 105,\n\tmsm_mux_tsif0_sync = 106,\n\tmsm_mux_tsif1_clk___4 = 107,\n\tmsm_mux_tsif1_data___4 = 108,\n\tmsm_mux_tsif1_en___4 = 109,\n\tmsm_mux_tsif1_error___4 = 110,\n\tmsm_mux_tsif1_sync___4 = 111,\n\tmsm_mux_usb2phy_ac___9 = 112,\n\tmsm_mux_usb_phy___13 = 113,\n\tmsm_mux_vsense_trigger___16 = 114,\n\tmsm_mux_____27 = 115,\n};\n\nenum sm8350_functions {\n\tmsm_mux_atest_char___28 = 0,\n\tmsm_mux_atest_usb___5 = 1,\n\tmsm_mux_audio_ref___16 = 2,\n\tmsm_mux_cam_mclk___22 = 3,\n\tmsm_mux_cci_async___22 = 4,\n\tmsm_mux_cci_i2c___22 = 5,\n\tmsm_mux_cci_timer___4 = 6,\n\tmsm_mux_cmu_rng___4 = 7,\n\tmsm_mux_coex_uart1___2 = 8,\n\tmsm_mux_coex_uart2___2 = 9,\n\tmsm_mux_cri_trng___26 = 10,\n\tmsm_mux_cri_trng0___20 = 11,\n\tmsm_mux_cri_trng1___20 = 12,\n\tmsm_mux_dbg_out___27 = 13,\n\tmsm_mux_ddr_bist___24 = 14,\n\tmsm_mux_ddr_pxi0___17 = 15,\n\tmsm_mux_ddr_pxi1___16 = 16,\n\tmsm_mux_ddr_pxi2___15 = 17,\n\tmsm_mux_ddr_pxi3___15 = 18,\n\tmsm_mux_dp_hot___9 = 19,\n\tmsm_mux_dp_lcd___3 = 20,\n\tmsm_mux_gcc_gp1___18 = 21,\n\tmsm_mux_gcc_gp2___18 = 22,\n\tmsm_mux_gcc_gp3___18 = 23,\n\tmsm_mux_gpio___33 = 24,\n\tmsm_mux_ibi_i3c___8 = 25,\n\tmsm_mux_jitter_bist___20 = 26,\n\tmsm_mux_lpass_slimbus___12 = 27,\n\tmsm_mux_mdp_vsync___25 = 28,\n\tmsm_mux_mdp_vsync0___12 = 29,\n\tmsm_mux_mdp_vsync1___12 = 30,\n\tmsm_mux_mdp_vsync2___12 = 31,\n\tmsm_mux_mdp_vsync3___12 = 32,\n\tmsm_mux_mi2s0_data0___4 = 33,\n\tmsm_mux_mi2s0_data1___4 = 34,\n\tmsm_mux_mi2s0_sck___4 = 35,\n\tmsm_mux_mi2s0_ws___4 = 36,\n\tmsm_mux_mi2s1_data0___6 = 37,\n\tmsm_mux_mi2s1_data1___6 = 38,\n\tmsm_mux_mi2s1_sck___6 = 39,\n\tmsm_mux_mi2s1_ws___6 = 40,\n\tmsm_mux_mi2s2_data0___6 = 41,\n\tmsm_mux_mi2s2_data1___6 = 42,\n\tmsm_mux_mi2s2_sck___6 = 43,\n\tmsm_mux_mi2s2_ws___6 = 44,\n\tmsm_mux_mss_grfc0___2 = 45,\n\tmsm_mux_mss_grfc1___2 = 46,\n\tmsm_mux_mss_grfc10___2 = 47,\n\tmsm_mux_mss_grfc11___2 = 48,\n\tmsm_mux_mss_grfc12___2 = 49,\n\tmsm_mux_mss_grfc2___2 = 50,\n\tmsm_mux_mss_grfc3___2 = 51,\n\tmsm_mux_mss_grfc4___2 = 52,\n\tmsm_mux_mss_grfc5___2 = 53,\n\tmsm_mux_mss_grfc6___2 = 54,\n\tmsm_mux_mss_grfc7___2 = 55,\n\tmsm_mux_mss_grfc8___2 = 56,\n\tmsm_mux_mss_grfc9___2 = 57,\n\tmsm_mux_nav_gpio___6 = 58,\n\tmsm_mux_pa_indicator___19 = 59,\n\tmsm_mux_pcie0_clkreqn___2 = 60,\n\tmsm_mux_pcie1_clkreqn___2 = 61,\n\tmsm_mux_phase_flag___19 = 62,\n\tmsm_mux_pll_bist___18 = 63,\n\tmsm_mux_pll_clk___8 = 64,\n\tmsm_mux_pri_mi2s___16 = 65,\n\tmsm_mux_prng_rosc___25 = 66,\n\tmsm_mux_qdss_cti___20 = 67,\n\tmsm_mux_qdss_gpio___15 = 68,\n\tmsm_mux_qlink0_enable___6 = 69,\n\tmsm_mux_qlink0_request___6 = 70,\n\tmsm_mux_qlink0_wmss___6 = 71,\n\tmsm_mux_qlink1_enable___5 = 72,\n\tmsm_mux_qlink1_request___5 = 73,\n\tmsm_mux_qlink1_wmss___6 = 74,\n\tmsm_mux_qlink2_enable___2 = 75,\n\tmsm_mux_qlink2_request___2 = 76,\n\tmsm_mux_qlink2_wmss___2 = 77,\n\tmsm_mux_qspi0___6 = 78,\n\tmsm_mux_qspi1___6 = 79,\n\tmsm_mux_qspi2___5 = 80,\n\tmsm_mux_qspi3___5 = 81,\n\tmsm_mux_qspi_clk___13 = 82,\n\tmsm_mux_qspi_cs___13 = 83,\n\tmsm_mux_qup0___10 = 84,\n\tmsm_mux_qup1___10 = 85,\n\tmsm_mux_qup10___13 = 86,\n\tmsm_mux_qup11___11 = 87,\n\tmsm_mux_qup12___13 = 88,\n\tmsm_mux_qup13___10 = 89,\n\tmsm_mux_qup14___13 = 90,\n\tmsm_mux_qup15___10 = 91,\n\tmsm_mux_qup16___7 = 92,\n\tmsm_mux_qup17___7 = 93,\n\tmsm_mux_qup18___5 = 94,\n\tmsm_mux_qup19___5 = 95,\n\tmsm_mux_qup2___9 = 96,\n\tmsm_mux_qup3___9 = 97,\n\tmsm_mux_qup4___9 = 98,\n\tmsm_mux_qup5___9 = 99,\n\tmsm_mux_qup6___7 = 100,\n\tmsm_mux_qup7___7 = 101,\n\tmsm_mux_qup8___7 = 102,\n\tmsm_mux_qup9___7 = 103,\n\tmsm_mux_qup_l4___6 = 104,\n\tmsm_mux_qup_l5___6 = 105,\n\tmsm_mux_qup_l6___6 = 106,\n\tmsm_mux_sd_write___22 = 107,\n\tmsm_mux_sdc40___6 = 108,\n\tmsm_mux_sdc41___5 = 109,\n\tmsm_mux_sdc42___6 = 110,\n\tmsm_mux_sdc43___6 = 111,\n\tmsm_mux_sdc4_clk___9 = 112,\n\tmsm_mux_sdc4_cmd___9 = 113,\n\tmsm_mux_sec_mi2s___16 = 114,\n\tmsm_mux_tb_trig___6 = 115,\n\tmsm_mux_tgu_ch0___16 = 116,\n\tmsm_mux_tgu_ch1___16 = 117,\n\tmsm_mux_tgu_ch2___13 = 118,\n\tmsm_mux_tgu_ch3___13 = 119,\n\tmsm_mux_tsense_pwm1___16 = 120,\n\tmsm_mux_tsense_pwm2___16 = 121,\n\tmsm_mux_uim0_clk___2 = 122,\n\tmsm_mux_uim0_data___2 = 123,\n\tmsm_mux_uim0_present___2 = 124,\n\tmsm_mux_uim0_reset___2 = 125,\n\tmsm_mux_uim1_clk___14 = 126,\n\tmsm_mux_uim1_data___14 = 127,\n\tmsm_mux_uim1_present___14 = 128,\n\tmsm_mux_uim1_reset___14 = 129,\n\tmsm_mux_usb2phy_ac___10 = 130,\n\tmsm_mux_usb_phy___14 = 131,\n\tmsm_mux_vfr_0___3 = 132,\n\tmsm_mux_vfr_1___18 = 133,\n\tmsm_mux_vsense_trigger___17 = 134,\n\tmsm_mux_____28 = 135,\n};\n\nenum sm8450_functions {\n\tmsm_mux_gpio___34 = 0,\n\tmsm_mux_aon_cam = 1,\n\tmsm_mux_atest_char___29 = 2,\n\tmsm_mux_atest_usb___6 = 3,\n\tmsm_mux_audio_ref___17 = 4,\n\tmsm_mux_cam_mclk___23 = 5,\n\tmsm_mux_cci_async___23 = 6,\n\tmsm_mux_cci_i2c___23 = 7,\n\tmsm_mux_cci_timer___5 = 8,\n\tmsm_mux_cmu_rng___5 = 9,\n\tmsm_mux_coex_uart1___3 = 10,\n\tmsm_mux_coex_uart2___3 = 11,\n\tmsm_mux_cri_trng___27 = 12,\n\tmsm_mux_cri_trng0___21 = 13,\n\tmsm_mux_cri_trng1___21 = 14,\n\tmsm_mux_dbg_out___28 = 15,\n\tmsm_mux_ddr_bist___25 = 16,\n\tmsm_mux_ddr_pxi0___18 = 17,\n\tmsm_mux_ddr_pxi1___17 = 18,\n\tmsm_mux_ddr_pxi2___16 = 19,\n\tmsm_mux_ddr_pxi3___16 = 20,\n\tmsm_mux_dp_hot___10 = 21,\n\tmsm_mux_egpio___4 = 22,\n\tmsm_mux_gcc_gp1___19 = 23,\n\tmsm_mux_gcc_gp2___19 = 24,\n\tmsm_mux_gcc_gp3___19 = 25,\n\tmsm_mux_ibi_i3c___9 = 26,\n\tmsm_mux_jitter_bist___21 = 27,\n\tmsm_mux_mdp_vsync___26 = 28,\n\tmsm_mux_mdp_vsync0___13 = 29,\n\tmsm_mux_mdp_vsync1___13 = 30,\n\tmsm_mux_mdp_vsync2___13 = 31,\n\tmsm_mux_mdp_vsync3___13 = 32,\n\tmsm_mux_mi2s0_data0___5 = 33,\n\tmsm_mux_mi2s0_data1___5 = 34,\n\tmsm_mux_mi2s0_sck___5 = 35,\n\tmsm_mux_mi2s0_ws___5 = 36,\n\tmsm_mux_mi2s2_data0___7 = 37,\n\tmsm_mux_mi2s2_data1___7 = 38,\n\tmsm_mux_mi2s2_sck___7 = 39,\n\tmsm_mux_mi2s2_ws___7 = 40,\n\tmsm_mux_mss_grfc0___3 = 41,\n\tmsm_mux_mss_grfc1___3 = 42,\n\tmsm_mux_mss_grfc10___3 = 43,\n\tmsm_mux_mss_grfc11___3 = 44,\n\tmsm_mux_mss_grfc12___3 = 45,\n\tmsm_mux_mss_grfc2___3 = 46,\n\tmsm_mux_mss_grfc3___3 = 47,\n\tmsm_mux_mss_grfc4___3 = 48,\n\tmsm_mux_mss_grfc5___3 = 49,\n\tmsm_mux_mss_grfc6___3 = 50,\n\tmsm_mux_mss_grfc7___3 = 51,\n\tmsm_mux_mss_grfc8___3 = 52,\n\tmsm_mux_mss_grfc9___3 = 53,\n\tmsm_mux_nav___2 = 54,\n\tmsm_mux_pcie0_clkreqn___3 = 55,\n\tmsm_mux_pcie1_clkreqn___3 = 56,\n\tmsm_mux_phase_flag___20 = 57,\n\tmsm_mux_pll_bist___19 = 58,\n\tmsm_mux_pll_clk___9 = 59,\n\tmsm_mux_pri_mi2s___17 = 60,\n\tmsm_mux_prng_rosc___26 = 61,\n\tmsm_mux_qdss_cti___21 = 62,\n\tmsm_mux_qdss_gpio___16 = 63,\n\tmsm_mux_qlink0_enable___7 = 64,\n\tmsm_mux_qlink0_request___7 = 65,\n\tmsm_mux_qlink0_wmss___7 = 66,\n\tmsm_mux_qlink1_enable___6 = 67,\n\tmsm_mux_qlink1_request___6 = 68,\n\tmsm_mux_qlink1_wmss___7 = 69,\n\tmsm_mux_qlink2_enable___3 = 70,\n\tmsm_mux_qlink2_request___3 = 71,\n\tmsm_mux_qlink2_wmss___3 = 72,\n\tmsm_mux_qspi0___7 = 73,\n\tmsm_mux_qspi1___7 = 74,\n\tmsm_mux_qspi2___6 = 75,\n\tmsm_mux_qspi3___6 = 76,\n\tmsm_mux_qspi_clk___14 = 77,\n\tmsm_mux_qspi_cs___14 = 78,\n\tmsm_mux_qup0___11 = 79,\n\tmsm_mux_qup1___11 = 80,\n\tmsm_mux_qup10___14 = 81,\n\tmsm_mux_qup11___12 = 82,\n\tmsm_mux_qup12___14 = 83,\n\tmsm_mux_qup13___11 = 84,\n\tmsm_mux_qup14___14 = 85,\n\tmsm_mux_qup15___11 = 86,\n\tmsm_mux_qup16___8 = 87,\n\tmsm_mux_qup17___8 = 88,\n\tmsm_mux_qup18___6 = 89,\n\tmsm_mux_qup19___6 = 90,\n\tmsm_mux_qup2___10 = 91,\n\tmsm_mux_qup20___3 = 92,\n\tmsm_mux_qup21___3 = 93,\n\tmsm_mux_qup3___10 = 94,\n\tmsm_mux_qup4___10 = 95,\n\tmsm_mux_qup5___10 = 96,\n\tmsm_mux_qup6___8 = 97,\n\tmsm_mux_qup7___8 = 98,\n\tmsm_mux_qup8___8 = 99,\n\tmsm_mux_qup9___8 = 100,\n\tmsm_mux_qup_l4___7 = 101,\n\tmsm_mux_qup_l5___7 = 102,\n\tmsm_mux_qup_l6___7 = 103,\n\tmsm_mux_sd_write___23 = 104,\n\tmsm_mux_sdc40___7 = 105,\n\tmsm_mux_sdc41___6 = 106,\n\tmsm_mux_sdc42___7 = 107,\n\tmsm_mux_sdc43___7 = 108,\n\tmsm_mux_sdc4_clk___10 = 109,\n\tmsm_mux_sdc4_cmd___10 = 110,\n\tmsm_mux_sec_mi2s___17 = 111,\n\tmsm_mux_tb_trig___7 = 112,\n\tmsm_mux_tgu_ch0___17 = 113,\n\tmsm_mux_tgu_ch1___17 = 114,\n\tmsm_mux_tgu_ch2___14 = 115,\n\tmsm_mux_tgu_ch3___14 = 116,\n\tmsm_mux_tmess_prng0___3 = 117,\n\tmsm_mux_tmess_prng1___3 = 118,\n\tmsm_mux_tmess_prng2___3 = 119,\n\tmsm_mux_tmess_prng3___3 = 120,\n\tmsm_mux_tsense_pwm1___17 = 121,\n\tmsm_mux_tsense_pwm2___17 = 122,\n\tmsm_mux_uim0_clk___3 = 123,\n\tmsm_mux_uim0_data___3 = 124,\n\tmsm_mux_uim0_present___3 = 125,\n\tmsm_mux_uim0_reset___3 = 126,\n\tmsm_mux_uim1_clk___15 = 127,\n\tmsm_mux_uim1_data___15 = 128,\n\tmsm_mux_uim1_present___15 = 129,\n\tmsm_mux_uim1_reset___15 = 130,\n\tmsm_mux_usb2phy_ac___11 = 131,\n\tmsm_mux_usb_phy___15 = 132,\n\tmsm_mux_vfr_0___4 = 133,\n\tmsm_mux_vfr_1___19 = 134,\n\tmsm_mux_vsense_trigger___18 = 135,\n\tmsm_mux_____29 = 136,\n};\n\nenum sm8550_functions {\n\tmsm_mux_gpio___35 = 0,\n\tmsm_mux_aon_cci = 1,\n\tmsm_mux_aoss_cti___7 = 2,\n\tmsm_mux_atest_char___30 = 3,\n\tmsm_mux_atest_usb___7 = 4,\n\tmsm_mux_audio_ext_mclk0 = 5,\n\tmsm_mux_audio_ext_mclk1 = 6,\n\tmsm_mux_audio_ref_clk___4 = 7,\n\tmsm_mux_cam_aon_mclk4 = 8,\n\tmsm_mux_cam_mclk___24 = 9,\n\tmsm_mux_cci_async_in = 10,\n\tmsm_mux_cci_i2c_scl___2 = 11,\n\tmsm_mux_cci_i2c_sda___2 = 12,\n\tmsm_mux_cci_timer___6 = 13,\n\tmsm_mux_cmu_rng___6 = 14,\n\tmsm_mux_coex_uart1_rx___2 = 15,\n\tmsm_mux_coex_uart1_tx___2 = 16,\n\tmsm_mux_coex_uart2_rx = 17,\n\tmsm_mux_coex_uart2_tx = 18,\n\tmsm_mux_cri_trng___28 = 19,\n\tmsm_mux_dbg_out_clk___5 = 20,\n\tmsm_mux_ddr_bist_complete = 21,\n\tmsm_mux_ddr_bist_fail = 22,\n\tmsm_mux_ddr_bist_start = 23,\n\tmsm_mux_ddr_bist_stop = 24,\n\tmsm_mux_ddr_pxi0___19 = 25,\n\tmsm_mux_ddr_pxi1___18 = 26,\n\tmsm_mux_ddr_pxi2___17 = 27,\n\tmsm_mux_ddr_pxi3___17 = 28,\n\tmsm_mux_dp_hot___11 = 29,\n\tmsm_mux_gcc_gp1___20 = 30,\n\tmsm_mux_gcc_gp2___20 = 31,\n\tmsm_mux_gcc_gp3___20 = 32,\n\tmsm_mux_i2chub0_se0 = 33,\n\tmsm_mux_i2chub0_se1 = 34,\n\tmsm_mux_i2chub0_se2 = 35,\n\tmsm_mux_i2chub0_se3 = 36,\n\tmsm_mux_i2chub0_se4 = 37,\n\tmsm_mux_i2chub0_se5 = 38,\n\tmsm_mux_i2chub0_se6 = 39,\n\tmsm_mux_i2chub0_se7 = 40,\n\tmsm_mux_i2chub0_se8 = 41,\n\tmsm_mux_i2chub0_se9 = 42,\n\tmsm_mux_i2s0_data0 = 43,\n\tmsm_mux_i2s0_data1 = 44,\n\tmsm_mux_i2s0_sck = 45,\n\tmsm_mux_i2s0_ws = 46,\n\tmsm_mux_i2s1_data0 = 47,\n\tmsm_mux_i2s1_data1 = 48,\n\tmsm_mux_i2s1_sck = 49,\n\tmsm_mux_i2s1_ws = 50,\n\tmsm_mux_ibi_i3c___10 = 51,\n\tmsm_mux_jitter_bist___22 = 52,\n\tmsm_mux_mdp_vsync___27 = 53,\n\tmsm_mux_mdp_vsync0_out___3 = 54,\n\tmsm_mux_mdp_vsync1_out___3 = 55,\n\tmsm_mux_mdp_vsync2_out___3 = 56,\n\tmsm_mux_mdp_vsync3_out___3 = 57,\n\tmsm_mux_mdp_vsync_e = 58,\n\tmsm_mux_nav_gpio0___2 = 59,\n\tmsm_mux_nav_gpio1___2 = 60,\n\tmsm_mux_nav_gpio2___2 = 61,\n\tmsm_mux_pcie0_clk_req_n = 62,\n\tmsm_mux_pcie1_clk_req_n = 63,\n\tmsm_mux_phase_flag___21 = 64,\n\tmsm_mux_pll_bist_sync___3 = 65,\n\tmsm_mux_pll_clk_aux___3 = 66,\n\tmsm_mux_prng_rosc0___7 = 67,\n\tmsm_mux_prng_rosc1___7 = 68,\n\tmsm_mux_prng_rosc2___7 = 69,\n\tmsm_mux_prng_rosc3___7 = 70,\n\tmsm_mux_qdss_cti___22 = 71,\n\tmsm_mux_qdss_gpio___17 = 72,\n\tmsm_mux_qlink0_enable___8 = 73,\n\tmsm_mux_qlink0_request___8 = 74,\n\tmsm_mux_qlink0_wmss___8 = 75,\n\tmsm_mux_qlink1_enable___7 = 76,\n\tmsm_mux_qlink1_request___7 = 77,\n\tmsm_mux_qlink1_wmss___8 = 78,\n\tmsm_mux_qlink2_enable___4 = 79,\n\tmsm_mux_qlink2_request___4 = 80,\n\tmsm_mux_qlink2_wmss___4 = 81,\n\tmsm_mux_qspi0___8 = 82,\n\tmsm_mux_qspi1___8 = 83,\n\tmsm_mux_qspi2___7 = 84,\n\tmsm_mux_qspi3___7 = 85,\n\tmsm_mux_qspi_clk___15 = 86,\n\tmsm_mux_qspi_cs___15 = 87,\n\tmsm_mux_qup1_se0___4 = 88,\n\tmsm_mux_qup1_se1___4 = 89,\n\tmsm_mux_qup1_se2___4 = 90,\n\tmsm_mux_qup1_se3___4 = 91,\n\tmsm_mux_qup1_se4___4 = 92,\n\tmsm_mux_qup1_se5___3 = 93,\n\tmsm_mux_qup1_se6___3 = 94,\n\tmsm_mux_qup1_se7___2 = 95,\n\tmsm_mux_qup2_se0___3 = 96,\n\tmsm_mux_qup2_se0_l0_mira = 97,\n\tmsm_mux_qup2_se0_l0_mirb = 98,\n\tmsm_mux_qup2_se0_l1_mira = 99,\n\tmsm_mux_qup2_se0_l1_mirb = 100,\n\tmsm_mux_qup2_se0_l2_mira = 101,\n\tmsm_mux_qup2_se0_l2_mirb = 102,\n\tmsm_mux_qup2_se0_l3_mira = 103,\n\tmsm_mux_qup2_se0_l3_mirb = 104,\n\tmsm_mux_qup2_se1___2 = 105,\n\tmsm_mux_qup2_se2___2 = 106,\n\tmsm_mux_qup2_se3___2 = 107,\n\tmsm_mux_qup2_se4___2 = 108,\n\tmsm_mux_qup2_se5___2 = 109,\n\tmsm_mux_qup2_se6___2 = 110,\n\tmsm_mux_qup2_se7 = 111,\n\tmsm_mux_resout_n = 112,\n\tmsm_mux_sd_write_protect___3 = 113,\n\tmsm_mux_sdc40___8 = 114,\n\tmsm_mux_sdc41___7 = 115,\n\tmsm_mux_sdc42___8 = 116,\n\tmsm_mux_sdc43___8 = 117,\n\tmsm_mux_sdc4_clk___11 = 118,\n\tmsm_mux_sdc4_cmd___11 = 119,\n\tmsm_mux_tb_trig_sdc2___2 = 120,\n\tmsm_mux_tb_trig_sdc4 = 121,\n\tmsm_mux_tgu_ch0_trigout___3 = 122,\n\tmsm_mux_tgu_ch1_trigout___2 = 123,\n\tmsm_mux_tgu_ch2_trigout___2 = 124,\n\tmsm_mux_tgu_ch3_trigout___2 = 125,\n\tmsm_mux_tmess_prng0___4 = 126,\n\tmsm_mux_tmess_prng1___4 = 127,\n\tmsm_mux_tmess_prng2___4 = 128,\n\tmsm_mux_tmess_prng3___4 = 129,\n\tmsm_mux_tsense_pwm1___18 = 130,\n\tmsm_mux_tsense_pwm2___18 = 131,\n\tmsm_mux_tsense_pwm3___4 = 132,\n\tmsm_mux_uim0_clk___4 = 133,\n\tmsm_mux_uim0_data___4 = 134,\n\tmsm_mux_uim0_present___4 = 135,\n\tmsm_mux_uim0_reset___4 = 136,\n\tmsm_mux_uim1_clk___16 = 137,\n\tmsm_mux_uim1_data___16 = 138,\n\tmsm_mux_uim1_present___16 = 139,\n\tmsm_mux_uim1_reset___16 = 140,\n\tmsm_mux_usb1_hs___2 = 141,\n\tmsm_mux_usb_phy___16 = 142,\n\tmsm_mux_vfr_0___5 = 143,\n\tmsm_mux_vfr_1___20 = 144,\n\tmsm_mux_vsense_trigger_mirnat___4 = 145,\n\tmsm_mux_____30 = 146,\n};\n\nenum sm8650_functions {\n\tmsm_mux_gpio___36 = 0,\n\tmsm_mux_aoss_cti___8 = 1,\n\tmsm_mux_atest_char___31 = 2,\n\tmsm_mux_atest_usb___8 = 3,\n\tmsm_mux_audio_ext_mclk0___2 = 4,\n\tmsm_mux_audio_ext_mclk1___2 = 5,\n\tmsm_mux_audio_ref_clk___5 = 6,\n\tmsm_mux_cam_aon_mclk2 = 7,\n\tmsm_mux_cam_aon_mclk4___2 = 8,\n\tmsm_mux_cam_mclk___25 = 9,\n\tmsm_mux_cci_async_in___2 = 10,\n\tmsm_mux_cci_i2c_scl___3 = 11,\n\tmsm_mux_cci_i2c_sda___3 = 12,\n\tmsm_mux_cci_timer___7 = 13,\n\tmsm_mux_cmu_rng___7 = 14,\n\tmsm_mux_coex_uart1_rx___3 = 15,\n\tmsm_mux_coex_uart1_tx___3 = 16,\n\tmsm_mux_coex_uart2_rx___2 = 17,\n\tmsm_mux_coex_uart2_tx___2 = 18,\n\tmsm_mux_cri_trng___29 = 19,\n\tmsm_mux_dbg_out_clk___6 = 20,\n\tmsm_mux_ddr_bist_complete___2 = 21,\n\tmsm_mux_ddr_bist_fail___2 = 22,\n\tmsm_mux_ddr_bist_start___2 = 23,\n\tmsm_mux_ddr_bist_stop___2 = 24,\n\tmsm_mux_ddr_pxi0___20 = 25,\n\tmsm_mux_ddr_pxi1___19 = 26,\n\tmsm_mux_ddr_pxi2___18 = 27,\n\tmsm_mux_ddr_pxi3___18 = 28,\n\tmsm_mux_do_not = 29,\n\tmsm_mux_dp_hot___12 = 30,\n\tmsm_mux_egpio___5 = 31,\n\tmsm_mux_gcc_gp1___21 = 32,\n\tmsm_mux_gcc_gp2___21 = 33,\n\tmsm_mux_gcc_gp3___21 = 34,\n\tmsm_mux_gnss_adc0 = 35,\n\tmsm_mux_gnss_adc1 = 36,\n\tmsm_mux_i2chub0_se0___2 = 37,\n\tmsm_mux_i2chub0_se1___2 = 38,\n\tmsm_mux_i2chub0_se2___2 = 39,\n\tmsm_mux_i2chub0_se3___2 = 40,\n\tmsm_mux_i2chub0_se4___2 = 41,\n\tmsm_mux_i2chub0_se5___2 = 42,\n\tmsm_mux_i2chub0_se6___2 = 43,\n\tmsm_mux_i2chub0_se7___2 = 44,\n\tmsm_mux_i2chub0_se8___2 = 45,\n\tmsm_mux_i2chub0_se9___2 = 46,\n\tmsm_mux_i2s0_data0___2 = 47,\n\tmsm_mux_i2s0_data1___2 = 48,\n\tmsm_mux_i2s0_sck___2 = 49,\n\tmsm_mux_i2s0_ws___2 = 50,\n\tmsm_mux_i2s1_data0___2 = 51,\n\tmsm_mux_i2s1_data1___2 = 52,\n\tmsm_mux_i2s1_sck___2 = 53,\n\tmsm_mux_i2s1_ws___2 = 54,\n\tmsm_mux_ibi_i3c___11 = 55,\n\tmsm_mux_jitter_bist___23 = 56,\n\tmsm_mux_mdp_vsync___28 = 57,\n\tmsm_mux_mdp_vsync0_out___4 = 58,\n\tmsm_mux_mdp_vsync1_out___4 = 59,\n\tmsm_mux_mdp_vsync2_out___4 = 60,\n\tmsm_mux_mdp_vsync3_out___4 = 61,\n\tmsm_mux_mdp_vsync_e___2 = 62,\n\tmsm_mux_nav_gpio0___3 = 63,\n\tmsm_mux_nav_gpio1___3 = 64,\n\tmsm_mux_nav_gpio2___3 = 65,\n\tmsm_mux_nav_gpio3 = 66,\n\tmsm_mux_pcie0_clk_req_n___2 = 67,\n\tmsm_mux_pcie1_clk_req_n___2 = 68,\n\tmsm_mux_phase_flag___22 = 69,\n\tmsm_mux_pll_bist_sync___4 = 70,\n\tmsm_mux_pll_clk_aux___4 = 71,\n\tmsm_mux_prng_rosc0___8 = 72,\n\tmsm_mux_prng_rosc1___8 = 73,\n\tmsm_mux_prng_rosc2___8 = 74,\n\tmsm_mux_prng_rosc3___8 = 75,\n\tmsm_mux_qdss_cti___23 = 76,\n\tmsm_mux_qdss_gpio___18 = 77,\n\tmsm_mux_qlink_big_enable = 78,\n\tmsm_mux_qlink_big_request = 79,\n\tmsm_mux_qlink_little_enable = 80,\n\tmsm_mux_qlink_little_request = 81,\n\tmsm_mux_qlink_wmss = 82,\n\tmsm_mux_qspi0___9 = 83,\n\tmsm_mux_qspi1___9 = 84,\n\tmsm_mux_qspi2___8 = 85,\n\tmsm_mux_qspi3___8 = 86,\n\tmsm_mux_qspi_clk___16 = 87,\n\tmsm_mux_qspi_cs___16 = 88,\n\tmsm_mux_qup1_se0___5 = 89,\n\tmsm_mux_qup1_se1___5 = 90,\n\tmsm_mux_qup1_se2___5 = 91,\n\tmsm_mux_qup1_se3___5 = 92,\n\tmsm_mux_qup1_se4___5 = 93,\n\tmsm_mux_qup1_se5___4 = 94,\n\tmsm_mux_qup1_se6___4 = 95,\n\tmsm_mux_qup1_se7___3 = 96,\n\tmsm_mux_qup2_se0___4 = 97,\n\tmsm_mux_qup2_se1___3 = 98,\n\tmsm_mux_qup2_se2___3 = 99,\n\tmsm_mux_qup2_se3___3 = 100,\n\tmsm_mux_qup2_se4___3 = 101,\n\tmsm_mux_qup2_se5___3 = 102,\n\tmsm_mux_qup2_se6___3 = 103,\n\tmsm_mux_qup2_se7___2 = 104,\n\tmsm_mux_sd_write_protect___4 = 105,\n\tmsm_mux_sdc40___9 = 106,\n\tmsm_mux_sdc41___8 = 107,\n\tmsm_mux_sdc42___9 = 108,\n\tmsm_mux_sdc43___9 = 109,\n\tmsm_mux_sdc4_clk___12 = 110,\n\tmsm_mux_sdc4_cmd___12 = 111,\n\tmsm_mux_tb_trig_sdc2___3 = 112,\n\tmsm_mux_tb_trig_sdc4___2 = 113,\n\tmsm_mux_tgu_ch0_trigout___4 = 114,\n\tmsm_mux_tgu_ch1_trigout___3 = 115,\n\tmsm_mux_tgu_ch2_trigout___3 = 116,\n\tmsm_mux_tgu_ch3_trigout___3 = 117,\n\tmsm_mux_tmess_prng0___5 = 118,\n\tmsm_mux_tmess_prng1___5 = 119,\n\tmsm_mux_tmess_prng2___5 = 120,\n\tmsm_mux_tmess_prng3___5 = 121,\n\tmsm_mux_tsense_pwm1___19 = 122,\n\tmsm_mux_tsense_pwm2___19 = 123,\n\tmsm_mux_tsense_pwm3___5 = 124,\n\tmsm_mux_uim0_clk___5 = 125,\n\tmsm_mux_uim0_data___5 = 126,\n\tmsm_mux_uim0_present___5 = 127,\n\tmsm_mux_uim0_reset___5 = 128,\n\tmsm_mux_uim1_clk___17 = 129,\n\tmsm_mux_uim1_data___17 = 130,\n\tmsm_mux_uim1_present___17 = 131,\n\tmsm_mux_uim1_reset___17 = 132,\n\tmsm_mux_usb1_hs___3 = 133,\n\tmsm_mux_usb_phy___17 = 134,\n\tmsm_mux_vfr_0___6 = 135,\n\tmsm_mux_vfr_1___21 = 136,\n\tmsm_mux_vsense_trigger_mirnat___5 = 137,\n\tmsm_mux_____31 = 138,\n};\n\nenum sm8750_functions {\n\tmsm_mux_gpio___37 = 0,\n\tmsm_mux_aoss_cti___9 = 1,\n\tmsm_mux_atest_char___32 = 2,\n\tmsm_mux_atest_usb___9 = 3,\n\tmsm_mux_audio_ext_mclk0___3 = 4,\n\tmsm_mux_audio_ext_mclk1___3 = 5,\n\tmsm_mux_audio_ref_clk___6 = 6,\n\tmsm_mux_cam_aon_mclk2___2 = 7,\n\tmsm_mux_cam_aon_mclk4___3 = 8,\n\tmsm_mux_cam_mclk___26 = 9,\n\tmsm_mux_cci_async_in___3 = 10,\n\tmsm_mux_cci_i2c_scl___4 = 11,\n\tmsm_mux_cci_i2c_sda___4 = 12,\n\tmsm_mux_cci_timer___8 = 13,\n\tmsm_mux_cmu_rng___8 = 14,\n\tmsm_mux_coex_uart1_rx___4 = 15,\n\tmsm_mux_coex_uart1_tx___4 = 16,\n\tmsm_mux_coex_uart2_rx___3 = 17,\n\tmsm_mux_coex_uart2_tx___3 = 18,\n\tmsm_mux_dbg_out_clk___7 = 19,\n\tmsm_mux_ddr_bist_complete___3 = 20,\n\tmsm_mux_ddr_bist_fail___3 = 21,\n\tmsm_mux_ddr_bist_start___3 = 22,\n\tmsm_mux_ddr_bist_stop___3 = 23,\n\tmsm_mux_ddr_pxi0___21 = 24,\n\tmsm_mux_ddr_pxi1___20 = 25,\n\tmsm_mux_ddr_pxi2___19 = 26,\n\tmsm_mux_ddr_pxi3___19 = 27,\n\tmsm_mux_dp_hot___13 = 28,\n\tmsm_mux_egpio___6 = 29,\n\tmsm_mux_gcc_gp1___22 = 30,\n\tmsm_mux_gcc_gp2___22 = 31,\n\tmsm_mux_gcc_gp3___22 = 32,\n\tmsm_mux_gnss_adc0___2 = 33,\n\tmsm_mux_gnss_adc1___2 = 34,\n\tmsm_mux_i2chub0_se0___3 = 35,\n\tmsm_mux_i2chub0_se1___3 = 36,\n\tmsm_mux_i2chub0_se2___3 = 37,\n\tmsm_mux_i2chub0_se3___3 = 38,\n\tmsm_mux_i2chub0_se4___3 = 39,\n\tmsm_mux_i2chub0_se5___3 = 40,\n\tmsm_mux_i2chub0_se6___3 = 41,\n\tmsm_mux_i2chub0_se7___3 = 42,\n\tmsm_mux_i2chub0_se8___3 = 43,\n\tmsm_mux_i2chub0_se9___3 = 44,\n\tmsm_mux_i2s0_data0___3 = 45,\n\tmsm_mux_i2s0_data1___3 = 46,\n\tmsm_mux_i2s0_sck___3 = 47,\n\tmsm_mux_i2s0_ws___3 = 48,\n\tmsm_mux_i2s1_data0___3 = 49,\n\tmsm_mux_i2s1_data1___3 = 50,\n\tmsm_mux_i2s1_sck___3 = 51,\n\tmsm_mux_i2s1_ws___3 = 52,\n\tmsm_mux_ibi_i3c___12 = 53,\n\tmsm_mux_jitter_bist___24 = 54,\n\tmsm_mux_mdp_esync0_out = 55,\n\tmsm_mux_mdp_esync1_out = 56,\n\tmsm_mux_mdp_vsync___29 = 57,\n\tmsm_mux_mdp_vsync0_out___5 = 58,\n\tmsm_mux_mdp_vsync1_out___5 = 59,\n\tmsm_mux_mdp_vsync2_out___5 = 60,\n\tmsm_mux_mdp_vsync3_out___5 = 61,\n\tmsm_mux_mdp_vsync5_out___2 = 62,\n\tmsm_mux_mdp_vsync_e___3 = 63,\n\tmsm_mux_nav_gpio0___4 = 64,\n\tmsm_mux_nav_gpio1___4 = 65,\n\tmsm_mux_nav_gpio2___4 = 66,\n\tmsm_mux_nav_gpio3___2 = 67,\n\tmsm_mux_pcie0_clk_req_n___3 = 68,\n\tmsm_mux_phase_flag___23 = 69,\n\tmsm_mux_pll_bist_sync___5 = 70,\n\tmsm_mux_pll_clk_aux___5 = 71,\n\tmsm_mux_prng_rosc0___9 = 72,\n\tmsm_mux_prng_rosc1___9 = 73,\n\tmsm_mux_prng_rosc2___9 = 74,\n\tmsm_mux_prng_rosc3___9 = 75,\n\tmsm_mux_qdss_cti___24 = 76,\n\tmsm_mux_qlink_big_enable___2 = 77,\n\tmsm_mux_qlink_big_request___2 = 78,\n\tmsm_mux_qlink_little_enable___2 = 79,\n\tmsm_mux_qlink_little_request___2 = 80,\n\tmsm_mux_qlink_wmss___2 = 81,\n\tmsm_mux_qspi0___10 = 82,\n\tmsm_mux_qspi1___10 = 83,\n\tmsm_mux_qspi2___9 = 84,\n\tmsm_mux_qspi3___9 = 85,\n\tmsm_mux_qspi_clk___17 = 86,\n\tmsm_mux_qspi_cs___17 = 87,\n\tmsm_mux_qup1_se0___6 = 88,\n\tmsm_mux_qup1_se1___6 = 89,\n\tmsm_mux_qup1_se2___6 = 90,\n\tmsm_mux_qup1_se3___6 = 91,\n\tmsm_mux_qup1_se4___6 = 92,\n\tmsm_mux_qup1_se5___5 = 93,\n\tmsm_mux_qup1_se6___5 = 94,\n\tmsm_mux_qup1_se7___4 = 95,\n\tmsm_mux_qup2_se0___5 = 96,\n\tmsm_mux_qup2_se1___4 = 97,\n\tmsm_mux_qup2_se2___4 = 98,\n\tmsm_mux_qup2_se3___4 = 99,\n\tmsm_mux_qup2_se4___4 = 100,\n\tmsm_mux_qup2_se5___4 = 101,\n\tmsm_mux_qup2_se6___4 = 102,\n\tmsm_mux_qup2_se7___3 = 103,\n\tmsm_mux_sd_write_protect___5 = 104,\n\tmsm_mux_sdc40___10 = 105,\n\tmsm_mux_sdc41___9 = 106,\n\tmsm_mux_sdc42___10 = 107,\n\tmsm_mux_sdc43___10 = 108,\n\tmsm_mux_sdc4_clk___13 = 109,\n\tmsm_mux_sdc4_cmd___13 = 110,\n\tmsm_mux_tb_trig_sdc2___4 = 111,\n\tmsm_mux_tb_trig_sdc4___3 = 112,\n\tmsm_mux_tmess_prng0___6 = 113,\n\tmsm_mux_tmess_prng1___6 = 114,\n\tmsm_mux_tmess_prng2___6 = 115,\n\tmsm_mux_tmess_prng3___6 = 116,\n\tmsm_mux_tsense_pwm1___20 = 117,\n\tmsm_mux_tsense_pwm2___20 = 118,\n\tmsm_mux_tsense_pwm3___6 = 119,\n\tmsm_mux_tsense_pwm4___4 = 120,\n\tmsm_mux_uim0_clk___6 = 121,\n\tmsm_mux_uim0_data___6 = 122,\n\tmsm_mux_uim0_present___6 = 123,\n\tmsm_mux_uim0_reset___6 = 124,\n\tmsm_mux_uim1_clk___18 = 125,\n\tmsm_mux_uim1_data___18 = 126,\n\tmsm_mux_uim1_present___18 = 127,\n\tmsm_mux_uim1_reset___18 = 128,\n\tmsm_mux_usb1_hs___4 = 129,\n\tmsm_mux_usb_phy___18 = 130,\n\tmsm_mux_vfr_0___7 = 131,\n\tmsm_mux_vfr_1___22 = 132,\n\tmsm_mux_vsense_trigger_mirnat___6 = 133,\n\tmsm_mux_wcn_sw = 134,\n\tmsm_mux_wcn_sw_ctrl = 135,\n\tmsm_mux_____32 = 136,\n};\n\nenum smbios_attr_enum {\n\tSMBIOS_ATTR_NONE = 0,\n\tSMBIOS_ATTR_LABEL_SHOW = 1,\n\tSMBIOS_ATTR_INSTANCE_SHOW = 2,\n};\n\nenum smcwd_call {\n\tSMCWD_INIT = 0,\n\tSMCWD_SET_TIMEOUT = 1,\n\tSMCWD_ENABLE = 2,\n\tSMCWD_PET = 3,\n\tSMCWD_GET_TIMELEFT = 4,\n};\n\nenum smd_channel_state {\n\tSMD_CHANNEL_CLOSED = 0,\n\tSMD_CHANNEL_OPENING = 1,\n\tSMD_CHANNEL_OPENED = 2,\n\tSMD_CHANNEL_FLUSHING = 3,\n\tSMD_CHANNEL_CLOSING = 4,\n\tSMD_CHANNEL_RESET = 5,\n\tSMD_CHANNEL_RESET_OPENING = 6,\n};\n\nenum snd_compr_direction {\n\tSND_COMPRESS_PLAYBACK = 0,\n\tSND_COMPRESS_CAPTURE = 1,\n\tSND_COMPRESS_ACCEL = 2,\n};\n\nenum snd_compr_state {\n\tSND_COMPRESS_TASK_STATE_IDLE = 0,\n\tSND_COMPRESS_TASK_STATE_ACTIVE = 1,\n\tSND_COMPRESS_TASK_STATE_FINISHED = 2,\n};\n\nenum snd_ctl_add_mode {\n\tCTL_ADD_EXCLUSIVE = 0,\n\tCTL_REPLACE = 1,\n\tCTL_ADD_ON_REPLACE = 2,\n};\n\nenum snd_device_state {\n\tSNDRV_DEV_BUILD = 0,\n\tSNDRV_DEV_REGISTERED = 1,\n\tSNDRV_DEV_DISCONNECTED = 2,\n};\n\nenum snd_device_type {\n\tSNDRV_DEV_LOWLEVEL = 0,\n\tSNDRV_DEV_INFO = 1,\n\tSNDRV_DEV_BUS = 2,\n\tSNDRV_DEV_CODEC = 3,\n\tSNDRV_DEV_PCM = 4,\n\tSNDRV_DEV_COMPRESS = 5,\n\tSNDRV_DEV_RAWMIDI = 6,\n\tSNDRV_DEV_TIMER = 7,\n\tSNDRV_DEV_SEQUENCER = 8,\n\tSNDRV_DEV_HWDEP = 9,\n\tSNDRV_DEV_JACK = 10,\n\tSNDRV_DEV_CONTROL = 11,\n};\n\nenum snd_dma_sync_mode {\n\tSNDRV_DMA_SYNC_CPU = 0,\n\tSNDRV_DMA_SYNC_DEVICE = 1,\n};\n\nenum snd_jack_types {\n\tSND_JACK_HEADPHONE = 1,\n\tSND_JACK_MICROPHONE = 2,\n\tSND_JACK_HEADSET = 3,\n\tSND_JACK_LINEOUT = 4,\n\tSND_JACK_MECHANICAL = 8,\n\tSND_JACK_VIDEOOUT = 16,\n\tSND_JACK_AVOUT = 20,\n\tSND_JACK_LINEIN = 32,\n\tSND_JACK_BTN_0 = 16384,\n\tSND_JACK_BTN_1 = 8192,\n\tSND_JACK_BTN_2 = 4096,\n\tSND_JACK_BTN_3 = 2048,\n\tSND_JACK_BTN_4 = 1024,\n\tSND_JACK_BTN_5 = 512,\n};\n\nenum snd_soc_bias_level {\n\tSND_SOC_BIAS_OFF = 0,\n\tSND_SOC_BIAS_STANDBY = 1,\n\tSND_SOC_BIAS_PREPARE = 2,\n\tSND_SOC_BIAS_ON = 3,\n};\n\nenum snd_soc_dapm_direction {\n\tSND_SOC_DAPM_DIR_IN = 0,\n\tSND_SOC_DAPM_DIR_OUT = 1,\n};\n\nenum snd_soc_dapm_type {\n\tsnd_soc_dapm_input = 0,\n\tsnd_soc_dapm_output = 1,\n\tsnd_soc_dapm_mux = 2,\n\tsnd_soc_dapm_demux = 3,\n\tsnd_soc_dapm_mixer = 4,\n\tsnd_soc_dapm_mixer_named_ctl = 5,\n\tsnd_soc_dapm_pga = 6,\n\tsnd_soc_dapm_out_drv = 7,\n\tsnd_soc_dapm_adc = 8,\n\tsnd_soc_dapm_dac = 9,\n\tsnd_soc_dapm_micbias = 10,\n\tsnd_soc_dapm_mic = 11,\n\tsnd_soc_dapm_hp = 12,\n\tsnd_soc_dapm_spk = 13,\n\tsnd_soc_dapm_line = 14,\n\tsnd_soc_dapm_switch = 15,\n\tsnd_soc_dapm_vmid = 16,\n\tsnd_soc_dapm_pre = 17,\n\tsnd_soc_dapm_post = 18,\n\tsnd_soc_dapm_supply = 19,\n\tsnd_soc_dapm_pinctrl = 20,\n\tsnd_soc_dapm_regulator_supply = 21,\n\tsnd_soc_dapm_clock_supply = 22,\n\tsnd_soc_dapm_aif_in = 23,\n\tsnd_soc_dapm_aif_out = 24,\n\tsnd_soc_dapm_siggen = 25,\n\tsnd_soc_dapm_sink = 26,\n\tsnd_soc_dapm_dai_in = 27,\n\tsnd_soc_dapm_dai_out = 28,\n\tsnd_soc_dapm_dai_link = 29,\n\tsnd_soc_dapm_kcontrol = 30,\n\tsnd_soc_dapm_buffer = 31,\n\tsnd_soc_dapm_scheduler = 32,\n\tsnd_soc_dapm_effect = 33,\n\tsnd_soc_dapm_src = 34,\n\tsnd_soc_dapm_asrc = 35,\n\tsnd_soc_dapm_encoder = 36,\n\tsnd_soc_dapm_decoder = 37,\n\tSND_SOC_DAPM_TYPE_COUNT = 38,\n};\n\nenum snd_soc_dobj_type {\n\tSND_SOC_DOBJ_NONE = 0,\n\tSND_SOC_DOBJ_MIXER = 1,\n\tSND_SOC_DOBJ_BYTES = 2,\n\tSND_SOC_DOBJ_ENUM = 3,\n\tSND_SOC_DOBJ_GRAPH = 4,\n\tSND_SOC_DOBJ_WIDGET = 5,\n\tSND_SOC_DOBJ_DAI_LINK = 6,\n\tSND_SOC_DOBJ_PCM = 7,\n\tSND_SOC_DOBJ_CODEC_LINK = 8,\n\tSND_SOC_DOBJ_BACKEND_LINK = 9,\n};\n\nenum snd_soc_dpcm_link_state {\n\tSND_SOC_DPCM_LINK_STATE_NEW = 0,\n\tSND_SOC_DPCM_LINK_STATE_FREE = 1,\n};\n\nenum snd_soc_dpcm_state {\n\tSND_SOC_DPCM_STATE_NEW = 0,\n\tSND_SOC_DPCM_STATE_OPEN = 1,\n\tSND_SOC_DPCM_STATE_HW_PARAMS = 2,\n\tSND_SOC_DPCM_STATE_PREPARE = 3,\n\tSND_SOC_DPCM_STATE_START = 4,\n\tSND_SOC_DPCM_STATE_STOP = 5,\n\tSND_SOC_DPCM_STATE_PAUSED = 6,\n\tSND_SOC_DPCM_STATE_SUSPEND = 7,\n\tSND_SOC_DPCM_STATE_HW_FREE = 8,\n\tSND_SOC_DPCM_STATE_CLOSE = 9,\n};\n\nenum snd_soc_dpcm_trigger {\n\tSND_SOC_DPCM_TRIGGER_PRE = 0,\n\tSND_SOC_DPCM_TRIGGER_POST = 1,\n};\n\nenum snd_soc_dpcm_update {\n\tSND_SOC_DPCM_UPDATE_NO = 0,\n\tSND_SOC_DPCM_UPDATE_BE = 1,\n\tSND_SOC_DPCM_UPDATE_FE = 2,\n};\n\nenum snd_soc_pcm_subclass {\n\tSND_SOC_PCM_CLASS_PCM = 0,\n\tSND_SOC_PCM_CLASS_BE = 1,\n};\n\nenum snd_soc_trigger_order {\n\tSND_SOC_TRIGGER_ORDER_DEFAULT = 0,\n\tSND_SOC_TRIGGER_ORDER_LDC = 1,\n\tSND_SOC_TRIGGER_ORDER_MAX = 2,\n};\n\nenum sndrv_ctl_event_type {\n\tSNDRV_CTL_EVENT_ELEM = 0,\n\tSNDRV_CTL_EVENT_LAST = 0,\n};\n\nenum snoop_when {\n\tSUBMIT = 0,\n\tCOMPLETE = 1,\n};\n\nenum soc_pad_ctrl_type {\n\tSOC_PAD_SD = 0,\n\tSOC_PAD_FIXED_1_8V = 1,\n};\n\nenum soc_type {\n\tSOC_ARCH_EXYNOS3250 = 1,\n\tSOC_ARCH_EXYNOS4210 = 2,\n\tSOC_ARCH_EXYNOS4412 = 3,\n\tSOC_ARCH_EXYNOS5250 = 4,\n\tSOC_ARCH_EXYNOS5260 = 5,\n\tSOC_ARCH_EXYNOS5420 = 6,\n\tSOC_ARCH_EXYNOS5420_TRIMINFO = 7,\n\tSOC_ARCH_EXYNOS5433 = 8,\n\tSOC_ARCH_EXYNOS7 = 9,\n};\n\nenum sock_flags {\n\tSOCK_DEAD = 0,\n\tSOCK_DONE = 1,\n\tSOCK_URGINLINE = 2,\n\tSOCK_KEEPOPEN = 3,\n\tSOCK_LINGER = 4,\n\tSOCK_DESTROY = 5,\n\tSOCK_BROADCAST = 6,\n\tSOCK_TIMESTAMP = 7,\n\tSOCK_ZAPPED = 8,\n\tSOCK_USE_WRITE_QUEUE = 9,\n\tSOCK_DBG = 10,\n\tSOCK_RCVTSTAMP = 11,\n\tSOCK_RCVTSTAMPNS = 12,\n\tSOCK_LOCALROUTE = 13,\n\tSOCK_MEMALLOC = 14,\n\tSOCK_TIMESTAMPING_RX_SOFTWARE = 15,\n\tSOCK_FASYNC = 16,\n\tSOCK_RXQ_OVFL = 17,\n\tSOCK_ZEROCOPY = 18,\n\tSOCK_WIFI_STATUS = 19,\n\tSOCK_NOFCS = 20,\n\tSOCK_FILTER_LOCKED = 21,\n\tSOCK_SELECT_ERR_QUEUE = 22,\n\tSOCK_RCU_FREE = 23,\n\tSOCK_TXTIME = 24,\n\tSOCK_XDP = 25,\n\tSOCK_TSTAMP_NEW = 26,\n\tSOCK_RCVMARK = 27,\n\tSOCK_RCVPRIORITY = 28,\n};\n\nenum sock_shutdown_cmd {\n\tSHUT_RD = 0,\n\tSHUT_WR = 1,\n\tSHUT_RDWR = 2,\n};\n\nenum sock_type {\n\tSOCK_STREAM = 1,\n\tSOCK_DGRAM = 2,\n\tSOCK_RAW = 3,\n\tSOCK_RDM = 4,\n\tSOCK_SEQPACKET = 5,\n\tSOCK_DCCP = 6,\n\tSOCK_PACKET = 10,\n};\n\nenum special_kfunc_type {\n\tKF_bpf_obj_new_impl = 0,\n\tKF_bpf_obj_drop_impl = 1,\n\tKF_bpf_refcount_acquire_impl = 2,\n\tKF_bpf_list_push_front_impl = 3,\n\tKF_bpf_list_push_back_impl = 4,\n\tKF_bpf_list_pop_front = 5,\n\tKF_bpf_list_pop_back = 6,\n\tKF_bpf_cast_to_kern_ctx = 7,\n\tKF_bpf_rdonly_cast = 8,\n\tKF_bpf_rcu_read_lock = 9,\n\tKF_bpf_rcu_read_unlock = 10,\n\tKF_bpf_rbtree_remove = 11,\n\tKF_bpf_rbtree_add_impl = 12,\n\tKF_bpf_rbtree_first = 13,\n\tKF_bpf_dynptr_from_skb = 14,\n\tKF_bpf_dynptr_from_xdp = 15,\n\tKF_bpf_dynptr_slice = 16,\n\tKF_bpf_dynptr_slice_rdwr = 17,\n\tKF_bpf_dynptr_clone = 18,\n\tKF_bpf_percpu_obj_new_impl = 19,\n\tKF_bpf_percpu_obj_drop_impl = 20,\n\tKF_bpf_throw = 21,\n\tKF_bpf_wq_set_callback_impl = 22,\n\tKF_bpf_preempt_disable = 23,\n\tKF_bpf_preempt_enable = 24,\n\tKF_bpf_iter_css_task_new = 25,\n\tKF_bpf_session_cookie = 26,\n\tKF_bpf_get_kmem_cache = 27,\n\tKF_bpf_local_irq_save = 28,\n\tKF_bpf_local_irq_restore = 29,\n\tKF_bpf_iter_num_new = 30,\n\tKF_bpf_iter_num_next = 31,\n\tKF_bpf_iter_num_destroy = 32,\n};\n\nenum spectre_v4_policy {\n\tSPECTRE_V4_POLICY_MITIGATION_DYNAMIC = 0,\n\tSPECTRE_V4_POLICY_MITIGATION_ENABLED = 1,\n\tSPECTRE_V4_POLICY_MITIGATION_DISABLED = 2,\n};\n\nenum spi_mem_data_dir {\n\tSPI_MEM_NO_DATA = 0,\n\tSPI_MEM_DATA_IN = 1,\n\tSPI_MEM_DATA_OUT = 2,\n};\n\nenum spi_nor_cmd_ext {\n\tSPI_NOR_EXT_NONE = 0,\n\tSPI_NOR_EXT_REPEAT = 1,\n\tSPI_NOR_EXT_INVERT = 2,\n\tSPI_NOR_EXT_HEX = 3,\n};\n\nenum spi_nor_option_flags {\n\tSNOR_F_HAS_SR_TB = 1,\n\tSNOR_F_NO_OP_CHIP_ERASE = 2,\n\tSNOR_F_BROKEN_RESET = 4,\n\tSNOR_F_4B_OPCODES = 8,\n\tSNOR_F_HAS_4BAIT = 16,\n\tSNOR_F_HAS_LOCK = 32,\n\tSNOR_F_HAS_16BIT_SR = 64,\n\tSNOR_F_NO_READ_CR = 128,\n\tSNOR_F_HAS_SR_TB_BIT6 = 256,\n\tSNOR_F_HAS_4BIT_BP = 512,\n\tSNOR_F_HAS_SR_BP3_BIT6 = 1024,\n\tSNOR_F_IO_MODE_EN_VOLATILE = 2048,\n\tSNOR_F_SOFT_RESET = 4096,\n\tSNOR_F_SWP_IS_VOLATILE = 8192,\n\tSNOR_F_RWW = 16384,\n\tSNOR_F_ECC = 32768,\n\tSNOR_F_NO_WP = 65536,\n\tSNOR_F_SWAP16 = 131072,\n};\n\nenum spi_nor_pp_command_index {\n\tSNOR_CMD_PP = 0,\n\tSNOR_CMD_PP_1_1_4 = 1,\n\tSNOR_CMD_PP_1_4_4 = 2,\n\tSNOR_CMD_PP_4_4_4 = 3,\n\tSNOR_CMD_PP_1_1_8 = 4,\n\tSNOR_CMD_PP_1_8_8 = 5,\n\tSNOR_CMD_PP_8_8_8 = 6,\n\tSNOR_CMD_PP_8_8_8_DTR = 7,\n\tSNOR_CMD_PP_MAX = 8,\n};\n\nenum spi_nor_protocol {\n\tSNOR_PROTO_1_1_1 = 65793,\n\tSNOR_PROTO_1_1_2 = 65794,\n\tSNOR_PROTO_1_1_4 = 65796,\n\tSNOR_PROTO_1_1_8 = 65800,\n\tSNOR_PROTO_1_2_2 = 66050,\n\tSNOR_PROTO_1_4_4 = 66564,\n\tSNOR_PROTO_1_8_8 = 67592,\n\tSNOR_PROTO_2_2_2 = 131586,\n\tSNOR_PROTO_4_4_4 = 263172,\n\tSNOR_PROTO_8_8_8 = 526344,\n\tSNOR_PROTO_1_1_1_DTR = 16843009,\n\tSNOR_PROTO_1_2_2_DTR = 16843266,\n\tSNOR_PROTO_1_4_4_DTR = 16843780,\n\tSNOR_PROTO_1_8_8_DTR = 16844808,\n\tSNOR_PROTO_8_8_8_DTR = 17303560,\n};\n\nenum spi_nor_read_command_index {\n\tSNOR_CMD_READ = 0,\n\tSNOR_CMD_READ_FAST = 1,\n\tSNOR_CMD_READ_1_1_1_DTR = 2,\n\tSNOR_CMD_READ_1_1_2 = 3,\n\tSNOR_CMD_READ_1_2_2 = 4,\n\tSNOR_CMD_READ_2_2_2 = 5,\n\tSNOR_CMD_READ_1_2_2_DTR = 6,\n\tSNOR_CMD_READ_1_1_4 = 7,\n\tSNOR_CMD_READ_1_4_4 = 8,\n\tSNOR_CMD_READ_4_4_4 = 9,\n\tSNOR_CMD_READ_1_4_4_DTR = 10,\n\tSNOR_CMD_READ_1_1_8 = 11,\n\tSNOR_CMD_READ_1_8_8 = 12,\n\tSNOR_CMD_READ_8_8_8 = 13,\n\tSNOR_CMD_READ_1_8_8_DTR = 14,\n\tSNOR_CMD_READ_8_8_8_DTR = 15,\n\tSNOR_CMD_READ_MAX = 16,\n};\n\nenum spmi_boost_byp_registers {\n\tSPMI_BOOST_BYP_REG_CURRENT_LIMIT = 75,\n};\n\nenum spmi_boost_registers {\n\tSPMI_BOOST_REG_CURRENT_LIMIT = 74,\n};\n\nenum spmi_common_control_register_index {\n\tSPMI_COMMON_IDX_VOLTAGE_RANGE = 0,\n\tSPMI_COMMON_IDX_VOLTAGE_SET = 1,\n\tSPMI_COMMON_IDX_MODE = 5,\n\tSPMI_COMMON_IDX_ENABLE = 6,\n};\n\nenum spmi_common_regulator_registers {\n\tSPMI_COMMON_REG_DIG_MAJOR_REV = 1,\n\tSPMI_COMMON_REG_TYPE = 4,\n\tSPMI_COMMON_REG_SUBTYPE = 5,\n\tSPMI_COMMON_REG_VOLTAGE_RANGE = 64,\n\tSPMI_COMMON_REG_VOLTAGE_SET = 65,\n\tSPMI_COMMON_REG_MODE = 69,\n\tSPMI_COMMON_REG_ENABLE = 70,\n\tSPMI_COMMON_REG_PULL_DOWN = 72,\n\tSPMI_COMMON_REG_SOFT_START = 76,\n\tSPMI_COMMON_REG_STEP_CTRL = 97,\n};\n\nenum spmi_ftsmps426_regulator_registers {\n\tSPMI_FTSMPS426_REG_VOLTAGE_LSB = 64,\n\tSPMI_FTSMPS426_REG_VOLTAGE_MSB = 65,\n\tSPMI_FTSMPS426_REG_VOLTAGE_ULS_LSB = 104,\n\tSPMI_FTSMPS426_REG_VOLTAGE_ULS_MSB = 105,\n};\n\nenum spmi_hfsmps_regulator_registers {\n\tSPMI_HFSMPS_REG_STEP_CTRL = 60,\n\tSPMI_HFSMPS_REG_PULL_DOWN = 160,\n};\n\nenum spmi_regulator_logical_type {\n\tSPMI_REGULATOR_LOGICAL_TYPE_SMPS = 0,\n\tSPMI_REGULATOR_LOGICAL_TYPE_LDO = 1,\n\tSPMI_REGULATOR_LOGICAL_TYPE_VS = 2,\n\tSPMI_REGULATOR_LOGICAL_TYPE_BOOST = 3,\n\tSPMI_REGULATOR_LOGICAL_TYPE_FTSMPS = 4,\n\tSPMI_REGULATOR_LOGICAL_TYPE_BOOST_BYP = 5,\n\tSPMI_REGULATOR_LOGICAL_TYPE_LN_LDO = 6,\n\tSPMI_REGULATOR_LOGICAL_TYPE_ULT_LO_SMPS = 7,\n\tSPMI_REGULATOR_LOGICAL_TYPE_ULT_HO_SMPS = 8,\n\tSPMI_REGULATOR_LOGICAL_TYPE_ULT_LDO = 9,\n\tSPMI_REGULATOR_LOGICAL_TYPE_FTSMPS426 = 10,\n\tSPMI_REGULATOR_LOGICAL_TYPE_HFS430 = 11,\n\tSPMI_REGULATOR_LOGICAL_TYPE_FTSMPS3 = 12,\n\tSPMI_REGULATOR_LOGICAL_TYPE_LDO_510 = 13,\n\tSPMI_REGULATOR_LOGICAL_TYPE_HFSMPS = 14,\n};\n\nenum spmi_regulator_subtype {\n\tSPMI_REGULATOR_SUBTYPE_GP_CTL = 8,\n\tSPMI_REGULATOR_SUBTYPE_RF_CTL = 9,\n\tSPMI_REGULATOR_SUBTYPE_N50 = 1,\n\tSPMI_REGULATOR_SUBTYPE_N150 = 2,\n\tSPMI_REGULATOR_SUBTYPE_N300 = 3,\n\tSPMI_REGULATOR_SUBTYPE_N600 = 4,\n\tSPMI_REGULATOR_SUBTYPE_N1200 = 5,\n\tSPMI_REGULATOR_SUBTYPE_N600_ST = 6,\n\tSPMI_REGULATOR_SUBTYPE_N1200_ST = 7,\n\tSPMI_REGULATOR_SUBTYPE_N900_ST = 20,\n\tSPMI_REGULATOR_SUBTYPE_N300_ST = 21,\n\tSPMI_REGULATOR_SUBTYPE_P50 = 8,\n\tSPMI_REGULATOR_SUBTYPE_P150 = 9,\n\tSPMI_REGULATOR_SUBTYPE_P300 = 10,\n\tSPMI_REGULATOR_SUBTYPE_P600 = 11,\n\tSPMI_REGULATOR_SUBTYPE_P1200 = 12,\n\tSPMI_REGULATOR_SUBTYPE_LN = 16,\n\tSPMI_REGULATOR_SUBTYPE_LV_P50 = 40,\n\tSPMI_REGULATOR_SUBTYPE_LV_P150 = 41,\n\tSPMI_REGULATOR_SUBTYPE_LV_P300 = 42,\n\tSPMI_REGULATOR_SUBTYPE_LV_P600 = 43,\n\tSPMI_REGULATOR_SUBTYPE_LV_P1200 = 44,\n\tSPMI_REGULATOR_SUBTYPE_LV_P450 = 45,\n\tSPMI_REGULATOR_SUBTYPE_HT_N300_ST = 48,\n\tSPMI_REGULATOR_SUBTYPE_HT_N600_ST = 49,\n\tSPMI_REGULATOR_SUBTYPE_HT_N1200_ST = 50,\n\tSPMI_REGULATOR_SUBTYPE_HT_LVP150 = 59,\n\tSPMI_REGULATOR_SUBTYPE_HT_LVP300 = 60,\n\tSPMI_REGULATOR_SUBTYPE_L660_N300_ST = 66,\n\tSPMI_REGULATOR_SUBTYPE_L660_N600_ST = 67,\n\tSPMI_REGULATOR_SUBTYPE_L660_P50 = 70,\n\tSPMI_REGULATOR_SUBTYPE_L660_P150 = 71,\n\tSPMI_REGULATOR_SUBTYPE_L660_P600 = 73,\n\tSPMI_REGULATOR_SUBTYPE_L660_LVP150 = 77,\n\tSPMI_REGULATOR_SUBTYPE_L660_LVP600 = 79,\n\tSPMI_REGULATOR_SUBTYPE_LV100 = 1,\n\tSPMI_REGULATOR_SUBTYPE_LV300 = 2,\n\tSPMI_REGULATOR_SUBTYPE_MV300 = 8,\n\tSPMI_REGULATOR_SUBTYPE_MV500 = 9,\n\tSPMI_REGULATOR_SUBTYPE_HDMI = 16,\n\tSPMI_REGULATOR_SUBTYPE_OTG = 17,\n\tSPMI_REGULATOR_SUBTYPE_5V_BOOST = 1,\n\tSPMI_REGULATOR_SUBTYPE_FTS_CTL = 8,\n\tSPMI_REGULATOR_SUBTYPE_FTS2p5_CTL = 9,\n\tSPMI_REGULATOR_SUBTYPE_FTS426_CTL = 10,\n\tSPMI_REGULATOR_SUBTYPE_BB_2A = 1,\n\tSPMI_REGULATOR_SUBTYPE_ULT_HF_CTL1 = 13,\n\tSPMI_REGULATOR_SUBTYPE_ULT_HF_CTL2 = 14,\n\tSPMI_REGULATOR_SUBTYPE_ULT_HF_CTL3 = 15,\n\tSPMI_REGULATOR_SUBTYPE_ULT_HF_CTL4 = 16,\n\tSPMI_REGULATOR_SUBTYPE_HFS430 = 10,\n\tSPMI_REGULATOR_SUBTYPE_HT_P150 = 53,\n\tSPMI_REGULATOR_SUBTYPE_HT_P600 = 61,\n\tSPMI_REGULATOR_SUBTYPE_HFSMPS_510 = 10,\n\tSPMI_REGULATOR_SUBTYPE_FTSMPS_510 = 11,\n\tSPMI_REGULATOR_SUBTYPE_LV_P150_510 = 113,\n\tSPMI_REGULATOR_SUBTYPE_LV_P300_510 = 114,\n\tSPMI_REGULATOR_SUBTYPE_LV_P600_510 = 115,\n\tSPMI_REGULATOR_SUBTYPE_N300_510 = 106,\n\tSPMI_REGULATOR_SUBTYPE_N600_510 = 107,\n\tSPMI_REGULATOR_SUBTYPE_N1200_510 = 108,\n\tSPMI_REGULATOR_SUBTYPE_MV_P50_510 = 122,\n\tSPMI_REGULATOR_SUBTYPE_MV_P150_510 = 123,\n\tSPMI_REGULATOR_SUBTYPE_MV_P600_510 = 125,\n};\n\nenum spmi_regulator_type {\n\tSPMI_REGULATOR_TYPE_BUCK = 3,\n\tSPMI_REGULATOR_TYPE_LDO = 4,\n\tSPMI_REGULATOR_TYPE_VS = 5,\n\tSPMI_REGULATOR_TYPE_BOOST = 27,\n\tSPMI_REGULATOR_TYPE_FTS = 28,\n\tSPMI_REGULATOR_TYPE_BOOST_BYP = 31,\n\tSPMI_REGULATOR_TYPE_ULT_LDO = 33,\n\tSPMI_REGULATOR_TYPE_ULT_BUCK = 34,\n};\n\nenum spmi_saw3_registers {\n\tSAW3_SECURE = 0,\n\tSAW3_ID = 4,\n\tSAW3_SPM_STS = 12,\n\tSAW3_AVS_STS = 16,\n\tSAW3_PMIC_STS = 20,\n\tSAW3_RST = 24,\n\tSAW3_VCTL = 28,\n\tSAW3_AVS_CTL = 32,\n\tSAW3_AVS_LIMIT = 36,\n\tSAW3_AVS_DLY = 40,\n\tSAW3_AVS_HYSTERESIS = 44,\n\tSAW3_SPM_STS2 = 56,\n\tSAW3_SPM_PMIC_DATA_3 = 76,\n\tSAW3_VERSION = 4048,\n};\n\nenum spmi_vs_registers {\n\tSPMI_VS_REG_OCP = 74,\n\tSPMI_VS_REG_SOFT_START = 76,\n};\n\nenum spmi_vs_soft_start_str {\n\tSPMI_VS_SOFT_START_STR_0P05_UA = 0,\n\tSPMI_VS_SOFT_START_STR_0P25_UA = 1,\n\tSPMI_VS_SOFT_START_STR_0P55_UA = 2,\n\tSPMI_VS_SOFT_START_STR_0P75_UA = 3,\n\tSPMI_VS_SOFT_START_STR_HW_DEFAULT = 4,\n};\n\nenum squashfs_param {\n\tOpt_errors___3 = 0,\n\tOpt_threads = 1,\n};\n\nenum ssp_clkdelay {\n\tSSP_FEEDBACK_CLK_DELAY_NONE = 0,\n\tSSP_FEEDBACK_CLK_DELAY_1T = 1,\n\tSSP_FEEDBACK_CLK_DELAY_2T = 2,\n\tSSP_FEEDBACK_CLK_DELAY_3T = 3,\n\tSSP_FEEDBACK_CLK_DELAY_4T = 4,\n\tSSP_FEEDBACK_CLK_DELAY_5T = 5,\n\tSSP_FEEDBACK_CLK_DELAY_6T = 6,\n\tSSP_FEEDBACK_CLK_DELAY_7T = 7,\n};\n\nenum ssp_data_size {\n\tSSP_DATA_BITS_4 = 3,\n\tSSP_DATA_BITS_5 = 4,\n\tSSP_DATA_BITS_6 = 5,\n\tSSP_DATA_BITS_7 = 6,\n\tSSP_DATA_BITS_8 = 7,\n\tSSP_DATA_BITS_9 = 8,\n\tSSP_DATA_BITS_10 = 9,\n\tSSP_DATA_BITS_11 = 10,\n\tSSP_DATA_BITS_12 = 11,\n\tSSP_DATA_BITS_13 = 12,\n\tSSP_DATA_BITS_14 = 13,\n\tSSP_DATA_BITS_15 = 14,\n\tSSP_DATA_BITS_16 = 15,\n\tSSP_DATA_BITS_17 = 16,\n\tSSP_DATA_BITS_18 = 17,\n\tSSP_DATA_BITS_19 = 18,\n\tSSP_DATA_BITS_20 = 19,\n\tSSP_DATA_BITS_21 = 20,\n\tSSP_DATA_BITS_22 = 21,\n\tSSP_DATA_BITS_23 = 22,\n\tSSP_DATA_BITS_24 = 23,\n\tSSP_DATA_BITS_25 = 24,\n\tSSP_DATA_BITS_26 = 25,\n\tSSP_DATA_BITS_27 = 26,\n\tSSP_DATA_BITS_28 = 27,\n\tSSP_DATA_BITS_29 = 28,\n\tSSP_DATA_BITS_30 = 29,\n\tSSP_DATA_BITS_31 = 30,\n\tSSP_DATA_BITS_32 = 31,\n};\n\nenum ssp_duplex {\n\tSSP_MICROWIRE_CHANNEL_FULL_DUPLEX = 0,\n\tSSP_MICROWIRE_CHANNEL_HALF_DUPLEX = 1,\n};\n\nenum ssp_hierarchy {\n\tSSP_MASTER = 0,\n\tSSP_SLAVE = 1,\n};\n\nenum ssp_interface {\n\tSSP_INTERFACE_MOTOROLA_SPI = 0,\n\tSSP_INTERFACE_TI_SYNC_SERIAL = 1,\n\tSSP_INTERFACE_NATIONAL_MICROWIRE = 2,\n\tSSP_INTERFACE_UNIDIRECTIONAL = 3,\n};\n\nenum ssp_loopback {\n\tLOOPBACK_DISABLED = 0,\n\tLOOPBACK_ENABLED = 1,\n};\n\nenum ssp_microwire_ctrl_len {\n\tSSP_BITS_4 = 3,\n\tSSP_BITS_5 = 4,\n\tSSP_BITS_6 = 5,\n\tSSP_BITS_7 = 6,\n\tSSP_BITS_8 = 7,\n\tSSP_BITS_9 = 8,\n\tSSP_BITS_10 = 9,\n\tSSP_BITS_11 = 10,\n\tSSP_BITS_12 = 11,\n\tSSP_BITS_13 = 12,\n\tSSP_BITS_14 = 13,\n\tSSP_BITS_15 = 14,\n\tSSP_BITS_16 = 15,\n\tSSP_BITS_17 = 16,\n\tSSP_BITS_18 = 17,\n\tSSP_BITS_19 = 18,\n\tSSP_BITS_20 = 19,\n\tSSP_BITS_21 = 20,\n\tSSP_BITS_22 = 21,\n\tSSP_BITS_23 = 22,\n\tSSP_BITS_24 = 23,\n\tSSP_BITS_25 = 24,\n\tSSP_BITS_26 = 25,\n\tSSP_BITS_27 = 26,\n\tSSP_BITS_28 = 27,\n\tSSP_BITS_29 = 28,\n\tSSP_BITS_30 = 29,\n\tSSP_BITS_31 = 30,\n\tSSP_BITS_32 = 31,\n};\n\nenum ssp_microwire_wait_state {\n\tSSP_MWIRE_WAIT_ZERO = 0,\n\tSSP_MWIRE_WAIT_ONE = 1,\n};\n\nenum ssp_mode {\n\tINTERRUPT_TRANSFER = 0,\n\tPOLLING_TRANSFER = 1,\n\tDMA_TRANSFER = 2,\n};\n\nenum ssp_reading {\n\tREADING_NULL = 0,\n\tREADING_U8 = 1,\n\tREADING_U16 = 2,\n\tREADING_U32 = 3,\n};\n\nenum ssp_rx_endian {\n\tSSP_RX_MSB = 0,\n\tSSP_RX_LSB = 1,\n};\n\nenum ssp_rx_level_trig {\n\tSSP_RX_1_OR_MORE_ELEM = 0,\n\tSSP_RX_4_OR_MORE_ELEM = 1,\n\tSSP_RX_8_OR_MORE_ELEM = 2,\n\tSSP_RX_16_OR_MORE_ELEM = 3,\n\tSSP_RX_32_OR_MORE_ELEM = 4,\n};\n\nenum ssp_spi_clk_phase {\n\tSSP_CLK_FIRST_EDGE = 0,\n\tSSP_CLK_SECOND_EDGE = 1,\n};\n\nenum ssp_spi_clk_pol {\n\tSSP_CLK_POL_IDLE_LOW = 0,\n\tSSP_CLK_POL_IDLE_HIGH = 1,\n};\n\nenum ssp_tx_endian {\n\tSSP_TX_MSB = 0,\n\tSSP_TX_LSB = 1,\n};\n\nenum ssp_tx_level_trig {\n\tSSP_TX_1_OR_MORE_EMPTY_LOC = 0,\n\tSSP_TX_4_OR_MORE_EMPTY_LOC = 1,\n\tSSP_TX_8_OR_MORE_EMPTY_LOC = 2,\n\tSSP_TX_16_OR_MORE_EMPTY_LOC = 3,\n\tSSP_TX_32_OR_MORE_EMPTY_LOC = 4,\n};\n\nenum ssp_writing {\n\tWRITING_NULL = 0,\n\tWRITING_U8 = 1,\n\tWRITING_U16 = 2,\n\tWRITING_U32 = 3,\n};\n\nenum ssusb_uwk_vers {\n\tSSUSB_UWK_V1 = 1,\n\tSSUSB_UWK_V2 = 2,\n\tSSUSB_UWK_V1_1 = 101,\n\tSSUSB_UWK_V1_2 = 102,\n\tSSUSB_UWK_V1_3 = 103,\n\tSSUSB_UWK_V1_4 = 104,\n\tSSUSB_UWK_V1_5 = 105,\n\tSSUSB_UWK_V1_6 = 106,\n};\n\nenum ssusb_uwk_vers___2 {\n\tSSUSB_UWK_V1___2 = 1,\n\tSSUSB_UWK_V2___2 = 2,\n\tSSUSB_UWK_V1_1___2 = 101,\n\tSSUSB_UWK_V1_2___2 = 102,\n\tSSUSB_UWK_V1_3___2 = 103,\n\tSSUSB_UWK_V1_5___2 = 105,\n\tSSUSB_UWK_V1_6___2 = 106,\n};\n\nenum stat_group {\n\tSTAT_READ = 0,\n\tSTAT_WRITE = 1,\n\tSTAT_DISCARD = 2,\n\tSTAT_FLUSH = 3,\n\tNR_STAT_GROUPS = 4,\n};\n\nenum stat_item {\n\tALLOC_FASTPATH = 0,\n\tALLOC_SLOWPATH = 1,\n\tFREE_FASTPATH = 2,\n\tFREE_SLOWPATH = 3,\n\tFREE_FROZEN = 4,\n\tFREE_ADD_PARTIAL = 5,\n\tFREE_REMOVE_PARTIAL = 6,\n\tALLOC_FROM_PARTIAL = 7,\n\tALLOC_SLAB = 8,\n\tALLOC_REFILL = 9,\n\tALLOC_NODE_MISMATCH = 10,\n\tFREE_SLAB = 11,\n\tCPUSLAB_FLUSH = 12,\n\tDEACTIVATE_FULL = 13,\n\tDEACTIVATE_EMPTY = 14,\n\tDEACTIVATE_TO_HEAD = 15,\n\tDEACTIVATE_TO_TAIL = 16,\n\tDEACTIVATE_REMOTE_FREES = 17,\n\tDEACTIVATE_BYPASS = 18,\n\tORDER_FALLBACK = 19,\n\tCMPXCHG_DOUBLE_CPU_FAIL = 20,\n\tCMPXCHG_DOUBLE_FAIL = 21,\n\tCPU_PARTIAL_ALLOC = 22,\n\tCPU_PARTIAL_FREE = 23,\n\tCPU_PARTIAL_NODE = 24,\n\tCPU_PARTIAL_DRAIN = 25,\n\tNR_SLUB_STAT_ITEMS = 26,\n};\n\nenum state {\n\tStart = 0,\n\tCollect = 1,\n\tGotHeader = 2,\n\tSkipIt = 3,\n\tGotName = 4,\n\tCopyFile = 5,\n\tGotSymlink = 6,\n\tReset = 7,\n};\n\nenum state_protect_how4 {\n\tSP4_NONE = 0,\n\tSP4_MACH_CRED = 1,\n\tSP4_SSV = 2,\n};\n\nenum status_css {\n\tCSS_TCPUDPCSOK = 128,\n\tCSS_ISUDP = 64,\n\tCSS_ISTCP = 32,\n\tCSS_ISIPFRAG = 16,\n\tCSS_ISIPV6 = 8,\n\tCSS_IPV4CSUMOK = 4,\n\tCSS_ISIPV4 = 2,\n\tCSS_LINK_BIT = 1,\n};\n\nenum store_type {\n\twr_invalid = 0,\n\twr_new_root = 1,\n\twr_store_root = 2,\n\twr_exact_fit = 3,\n\twr_spanning_store = 4,\n\twr_split_store = 5,\n\twr_rebalance = 6,\n\twr_append = 7,\n\twr_node_store = 8,\n\twr_slot_store = 9,\n};\n\nenum stratix10_svc_command_code {\n\tCOMMAND_NOOP = 0,\n\tCOMMAND_RECONFIG = 1,\n\tCOMMAND_RECONFIG_DATA_SUBMIT = 2,\n\tCOMMAND_RECONFIG_DATA_CLAIM = 3,\n\tCOMMAND_RECONFIG_STATUS = 4,\n\tCOMMAND_RSU_STATUS = 10,\n\tCOMMAND_RSU_UPDATE = 11,\n\tCOMMAND_RSU_NOTIFY = 12,\n\tCOMMAND_RSU_RETRY = 13,\n\tCOMMAND_RSU_MAX_RETRY = 14,\n\tCOMMAND_RSU_DCMF_VERSION = 15,\n\tCOMMAND_RSU_DCMF_STATUS = 16,\n\tCOMMAND_FIRMWARE_VERSION = 17,\n\tCOMMAND_FCS_REQUEST_SERVICE = 20,\n\tCOMMAND_FCS_SEND_CERTIFICATE = 21,\n\tCOMMAND_FCS_GET_PROVISION_DATA = 22,\n\tCOMMAND_FCS_DATA_ENCRYPTION = 23,\n\tCOMMAND_FCS_DATA_DECRYPTION = 24,\n\tCOMMAND_FCS_RANDOM_NUMBER_GEN = 25,\n\tCOMMAND_POLL_SERVICE_STATUS = 40,\n\tCOMMAND_MBOX_SEND_CMD = 100,\n\tCOMMAND_SMC_SVC_VERSION = 200,\n};\n\nenum streamid_type {\n\tSTREAMID_TYPE_RESERVED = 0,\n\tSTREAMID_TYPE_NULL = 1,\n\tSTREAMID_TYPE_SMAC = 2,\n};\n\nenum streamid_vlan_tagged {\n\tSTREAMID_VLAN_RESERVED = 0,\n\tSTREAMID_VLAN_TAGGED = 1,\n\tSTREAMID_VLAN_UNTAGGED = 2,\n\tSTREAMID_VLAN_ALL = 3,\n};\n\nenum string_size_units {\n\tSTRING_UNITS_10 = 0,\n\tSTRING_UNITS_2 = 1,\n\tSTRING_UNITS_MASK = 1,\n\tSTRING_UNITS_NO_SPACE = 1073741824,\n\tSTRING_UNITS_NO_BYTES = 2147483648,\n};\n\nenum stripetype4 {\n\tSTRIPE_SPARSE = 1,\n\tSTRIPE_DENSE = 2,\n};\n\nenum sum_check_bits {\n\tSUM_CHECK_P = 0,\n\tSUM_CHECK_Q = 1,\n};\n\nenum sum_check_flags {\n\tSUM_CHECK_P_RESULT = 1,\n\tSUM_CHECK_Q_RESULT = 2,\n};\n\nenum sunxi_desc_bias_voltage {\n\tBIAS_VOLTAGE_NONE = 0,\n\tBIAS_VOLTAGE_GRP_CONFIG = 1,\n\tBIAS_VOLTAGE_PIO_POW_MODE_SEL = 2,\n\tBIAS_VOLTAGE_PIO_POW_MODE_CTL = 3,\n};\n\nenum support_mode {\n\tALLOW_LEGACY = 0,\n\tDENY_LEGACY = 1,\n};\n\nenum suspend_stat_step {\n\tSUSPEND_WORKING = 0,\n\tSUSPEND_FREEZE = 1,\n\tSUSPEND_PREPARE = 2,\n\tSUSPEND_SUSPEND = 3,\n\tSUSPEND_SUSPEND_LATE = 4,\n\tSUSPEND_SUSPEND_NOIRQ = 5,\n\tSUSPEND_RESUME_NOIRQ = 6,\n\tSUSPEND_RESUME_EARLY = 7,\n\tSUSPEND_RESUME = 8,\n};\n\nenum svc_auth_status {\n\tSVC_GARBAGE = 1,\n\tSVC_SYSERR = 2,\n\tSVC_VALID = 3,\n\tSVC_NEGATIVE = 4,\n\tSVC_OK = 5,\n\tSVC_DROP = 6,\n\tSVC_CLOSE = 7,\n\tSVC_DENIED = 8,\n\tSVC_PENDING = 9,\n\tSVC_COMPLETE = 10,\n};\n\nenum sw_activity {\n\tOFF___3 = 0,\n\tBLINK_ON = 1,\n\tBLINK_OFF = 2,\n};\n\nenum swap_cluster_flags {\n\tCLUSTER_FLAG_NONE = 0,\n\tCLUSTER_FLAG_FREE = 1,\n\tCLUSTER_FLAG_NONFULL = 2,\n\tCLUSTER_FLAG_FRAG = 3,\n\tCLUSTER_FLAG_USABLE = 3,\n\tCLUSTER_FLAG_FULL = 4,\n\tCLUSTER_FLAG_DISCARD = 5,\n\tCLUSTER_FLAG_MAX = 6,\n};\n\nenum switchdev_attr_id {\n\tSWITCHDEV_ATTR_ID_UNDEFINED = 0,\n\tSWITCHDEV_ATTR_ID_PORT_STP_STATE = 1,\n\tSWITCHDEV_ATTR_ID_PORT_MST_STATE = 2,\n\tSWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS = 3,\n\tSWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS = 4,\n\tSWITCHDEV_ATTR_ID_PORT_MROUTER = 5,\n\tSWITCHDEV_ATTR_ID_BRIDGE_AGEING_TIME = 6,\n\tSWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING = 7,\n\tSWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL = 8,\n\tSWITCHDEV_ATTR_ID_BRIDGE_MC_DISABLED = 9,\n\tSWITCHDEV_ATTR_ID_BRIDGE_MROUTER = 10,\n\tSWITCHDEV_ATTR_ID_BRIDGE_MST = 11,\n\tSWITCHDEV_ATTR_ID_MRP_PORT_ROLE = 12,\n\tSWITCHDEV_ATTR_ID_VLAN_MSTI = 13,\n};\n\nenum switchdev_notifier_type {\n\tSWITCHDEV_FDB_ADD_TO_BRIDGE = 1,\n\tSWITCHDEV_FDB_DEL_TO_BRIDGE = 2,\n\tSWITCHDEV_FDB_ADD_TO_DEVICE = 3,\n\tSWITCHDEV_FDB_DEL_TO_DEVICE = 4,\n\tSWITCHDEV_FDB_OFFLOADED = 5,\n\tSWITCHDEV_FDB_FLUSH_TO_BRIDGE = 6,\n\tSWITCHDEV_PORT_OBJ_ADD = 7,\n\tSWITCHDEV_PORT_OBJ_DEL = 8,\n\tSWITCHDEV_PORT_ATTR_SET = 9,\n\tSWITCHDEV_VXLAN_FDB_ADD_TO_BRIDGE = 10,\n\tSWITCHDEV_VXLAN_FDB_DEL_TO_BRIDGE = 11,\n\tSWITCHDEV_VXLAN_FDB_ADD_TO_DEVICE = 12,\n\tSWITCHDEV_VXLAN_FDB_DEL_TO_DEVICE = 13,\n\tSWITCHDEV_VXLAN_FDB_OFFLOADED = 14,\n\tSWITCHDEV_BRPORT_OFFLOADED = 15,\n\tSWITCHDEV_BRPORT_UNOFFLOADED = 16,\n\tSWITCHDEV_BRPORT_REPLAY = 17,\n};\n\nenum switchdev_obj_id {\n\tSWITCHDEV_OBJ_ID_UNDEFINED = 0,\n\tSWITCHDEV_OBJ_ID_PORT_VLAN = 1,\n\tSWITCHDEV_OBJ_ID_PORT_MDB = 2,\n\tSWITCHDEV_OBJ_ID_HOST_MDB = 3,\n\tSWITCHDEV_OBJ_ID_MRP = 4,\n\tSWITCHDEV_OBJ_ID_RING_TEST_MRP = 5,\n\tSWITCHDEV_OBJ_ID_RING_ROLE_MRP = 6,\n\tSWITCHDEV_OBJ_ID_RING_STATE_MRP = 7,\n\tSWITCHDEV_OBJ_ID_IN_TEST_MRP = 8,\n\tSWITCHDEV_OBJ_ID_IN_ROLE_MRP = 9,\n\tSWITCHDEV_OBJ_ID_IN_STATE_MRP = 10,\n};\n\nenum swxilim_bits {\n\tSWXILIM_2100_MA = 0,\n\tSWXILIM_2600_MA = 1,\n\tSWXILIM_3000_MA = 2,\n\tSWXILIM_4500_MA = 3,\n};\n\nenum synaptics_pkt_type {\n\tSYN_NEWABS = 0,\n\tSYN_NEWABS_STRICT = 1,\n\tSYN_NEWABS_RELAXED = 2,\n\tSYN_OLDABS = 3,\n};\n\nenum sys_off_mode {\n\tSYS_OFF_MODE_POWER_OFF_PREPARE = 0,\n\tSYS_OFF_MODE_POWER_OFF = 1,\n\tSYS_OFF_MODE_RESTART_PREPARE = 2,\n\tSYS_OFF_MODE_RESTART = 3,\n};\n\nenum sys_powerdown {\n\tSYS_AFTR = 0,\n\tSYS_LPA = 1,\n\tSYS_SLEEP = 2,\n\tNUM_SYS_POWERDOWN = 3,\n};\n\nenum sysc_clocks {\n\tSYSC_FCK = 0,\n\tSYSC_ICK = 1,\n\tSYSC_OPTFCK0 = 2,\n\tSYSC_OPTFCK1 = 3,\n\tSYSC_OPTFCK2 = 4,\n\tSYSC_OPTFCK3 = 5,\n\tSYSC_OPTFCK4 = 6,\n\tSYSC_OPTFCK5 = 7,\n\tSYSC_OPTFCK6 = 8,\n\tSYSC_OPTFCK7 = 9,\n\tSYSC_MAX_CLOCKS = 10,\n};\n\nenum sysc_registers {\n\tSYSC_REVISION = 0,\n\tSYSC_SYSCONFIG = 1,\n\tSYSC_SYSSTATUS = 2,\n\tSYSC_MAX_REGS = 3,\n};\n\nenum sysc_soc {\n\tSOC_UNKNOWN = 0,\n\tSOC_2420 = 1,\n\tSOC_2430 = 2,\n\tSOC_3430 = 3,\n\tSOC_AM35 = 4,\n\tSOC_3630 = 5,\n\tSOC_4430 = 6,\n\tSOC_4460 = 7,\n\tSOC_4470 = 8,\n\tSOC_5430 = 9,\n\tSOC_AM3 = 10,\n\tSOC_AM4 = 11,\n\tSOC_DRA7 = 12,\n};\n\nenum sysctl_writes_mode {\n\tSYSCTL_WRITES_LEGACY = -1,\n\tSYSCTL_WRITES_WARN = 0,\n\tSYSCTL_WRITES_STRICT = 1,\n};\n\nenum system_states {\n\tSYSTEM_BOOTING = 0,\n\tSYSTEM_SCHEDULING = 1,\n\tSYSTEM_FREEING_INITMEM = 2,\n\tSYSTEM_RUNNING = 3,\n\tSYSTEM_HALT = 4,\n\tSYSTEM_POWER_OFF = 5,\n\tSYSTEM_RESTART = 6,\n\tSYSTEM_SUSPEND = 7,\n};\n\nenum t10_dif_type {\n\tT10_PI_TYPE0_PROTECTION = 0,\n\tT10_PI_TYPE1_PROTECTION = 1,\n\tT10_PI_TYPE2_PROTECTION = 2,\n\tT10_PI_TYPE3_PROTECTION = 3,\n};\n\nenum ta_cmd {\n\tTA_CMD_BNXT_FASTBOOT = 0,\n\tTA_CMD_BNXT_COPY_COREDUMP = 3,\n};\n\nenum tap_delay_type {\n\tPM_TAPDELAY_INPUT = 0,\n\tPM_TAPDELAY_OUTPUT = 1,\n};\n\nenum task_attribute {\n\tTASK_ATTR_SIMPLE = 0,\n\tTASK_ATTR_HOQ = 1,\n\tTASK_ATTR_ORDERED = 2,\n\tTASK_ATTR_ACA = 4,\n};\n\nenum task_disposition {\n\tTASK_IS_DONE = 0,\n\tTASK_IS_ABORTED = 1,\n\tTASK_IS_AT_LU = 2,\n\tTASK_IS_NOT_AT_LU = 3,\n\tTASK_ABORT_FAILED = 4,\n};\n\nenum task_work_notify_mode {\n\tTWA_NONE = 0,\n\tTWA_RESUME = 1,\n\tTWA_SIGNAL = 2,\n\tTWA_SIGNAL_NO_IPI = 3,\n\tTWA_NMI_CURRENT = 4,\n};\n\nenum tc_fifo_command {\n\tTC_FIFO_REPLACE = 0,\n\tTC_FIFO_DESTROY = 1,\n\tTC_FIFO_STATS = 2,\n};\n\nenum tc_link_layer {\n\tTC_LINKLAYER_UNAWARE = 0,\n\tTC_LINKLAYER_ETHERNET = 1,\n\tTC_LINKLAYER_ATM = 2,\n};\n\nenum tc_mq_command {\n\tTC_MQ_CREATE = 0,\n\tTC_MQ_DESTROY = 1,\n\tTC_MQ_STATS = 2,\n\tTC_MQ_GRAFT = 3,\n};\n\nenum tc_root_command {\n\tTC_ROOT_GRAFT = 0,\n};\n\nenum tc_setup_type {\n\tTC_QUERY_CAPS = 0,\n\tTC_SETUP_QDISC_MQPRIO = 1,\n\tTC_SETUP_CLSU32 = 2,\n\tTC_SETUP_CLSFLOWER = 3,\n\tTC_SETUP_CLSMATCHALL = 4,\n\tTC_SETUP_CLSBPF = 5,\n\tTC_SETUP_BLOCK = 6,\n\tTC_SETUP_QDISC_CBS = 7,\n\tTC_SETUP_QDISC_RED = 8,\n\tTC_SETUP_QDISC_PRIO = 9,\n\tTC_SETUP_QDISC_MQ = 10,\n\tTC_SETUP_QDISC_ETF = 11,\n\tTC_SETUP_ROOT_QDISC = 12,\n\tTC_SETUP_QDISC_GRED = 13,\n\tTC_SETUP_QDISC_TAPRIO = 14,\n\tTC_SETUP_FT = 15,\n\tTC_SETUP_QDISC_ETS = 16,\n\tTC_SETUP_QDISC_TBF = 17,\n\tTC_SETUP_QDISC_FIFO = 18,\n\tTC_SETUP_QDISC_HTB = 19,\n\tTC_SETUP_ACT = 20,\n};\n\nenum tc_taprio_qopt_cmd {\n\tTAPRIO_CMD_REPLACE = 0,\n\tTAPRIO_CMD_DESTROY = 1,\n\tTAPRIO_CMD_STATS = 2,\n\tTAPRIO_CMD_QUEUE_STATS = 3,\n};\n\nenum tc_tbf_command {\n\tTC_TBF_REPLACE = 0,\n\tTC_TBF_DESTROY = 1,\n\tTC_TBF_STATS = 2,\n\tTC_TBF_GRAFT = 3,\n};\n\nenum tca_id {\n\tTCA_ID_UNSPEC = 0,\n\tTCA_ID_POLICE = 1,\n\tTCA_ID_GACT = 5,\n\tTCA_ID_IPT = 6,\n\tTCA_ID_PEDIT = 7,\n\tTCA_ID_MIRRED = 8,\n\tTCA_ID_NAT = 9,\n\tTCA_ID_XT = 10,\n\tTCA_ID_SKBEDIT = 11,\n\tTCA_ID_VLAN = 12,\n\tTCA_ID_BPF = 13,\n\tTCA_ID_CONNMARK = 14,\n\tTCA_ID_SKBMOD = 15,\n\tTCA_ID_CSUM = 16,\n\tTCA_ID_TUNNEL_KEY = 17,\n\tTCA_ID_SIMP = 22,\n\tTCA_ID_IFE = 25,\n\tTCA_ID_SAMPLE = 26,\n\tTCA_ID_CTINFO = 27,\n\tTCA_ID_MPLS = 28,\n\tTCA_ID_CT = 29,\n\tTCA_ID_GATE = 30,\n\t__TCA_ID_MAX = 255,\n};\n\nenum tcf_proto_ops_flags {\n\tTCF_PROTO_OPS_DOIT_UNLOCKED = 1,\n};\n\nenum tcp_ca_ack_event_flags {\n\tCA_ACK_SLOWPATH = 1,\n\tCA_ACK_WIN_UPDATE = 2,\n\tCA_ACK_ECE = 4,\n};\n\nenum tcp_ca_event {\n\tCA_EVENT_TX_START = 0,\n\tCA_EVENT_CWND_RESTART = 1,\n\tCA_EVENT_COMPLETE_CWR = 2,\n\tCA_EVENT_LOSS = 3,\n\tCA_EVENT_ECN_NO_CE = 4,\n\tCA_EVENT_ECN_IS_CE = 5,\n};\n\nenum tcp_ca_state {\n\tTCP_CA_Open = 0,\n\tTCP_CA_Disorder = 1,\n\tTCP_CA_CWR = 2,\n\tTCP_CA_Recovery = 3,\n\tTCP_CA_Loss = 4,\n};\n\nenum tcp_chrono {\n\tTCP_CHRONO_UNSPEC = 0,\n\tTCP_CHRONO_BUSY = 1,\n\tTCP_CHRONO_RWND_LIMITED = 2,\n\tTCP_CHRONO_SNDBUF_LIMITED = 3,\n\t__TCP_CHRONO_MAX = 4,\n};\n\nenum tcp_conntrack {\n\tTCP_CONNTRACK_NONE = 0,\n\tTCP_CONNTRACK_SYN_SENT = 1,\n\tTCP_CONNTRACK_SYN_RECV = 2,\n\tTCP_CONNTRACK_ESTABLISHED = 3,\n\tTCP_CONNTRACK_FIN_WAIT = 4,\n\tTCP_CONNTRACK_CLOSE_WAIT = 5,\n\tTCP_CONNTRACK_LAST_ACK = 6,\n\tTCP_CONNTRACK_TIME_WAIT = 7,\n\tTCP_CONNTRACK_CLOSE = 8,\n\tTCP_CONNTRACK_LISTEN = 9,\n\tTCP_CONNTRACK_MAX = 10,\n\tTCP_CONNTRACK_IGNORE = 11,\n\tTCP_CONNTRACK_RETRANS = 12,\n\tTCP_CONNTRACK_UNACK = 13,\n\tTCP_CONNTRACK_TIMEOUT_MAX = 14,\n};\n\nenum tcp_fastopen_client_fail {\n\tTFO_STATUS_UNSPEC = 0,\n\tTFO_COOKIE_UNAVAILABLE = 1,\n\tTFO_DATA_NOT_ACKED = 2,\n\tTFO_SYN_RETRANSMITTED = 3,\n};\n\nenum tcp_metric_index {\n\tTCP_METRIC_RTT = 0,\n\tTCP_METRIC_RTTVAR = 1,\n\tTCP_METRIC_SSTHRESH = 2,\n\tTCP_METRIC_CWND = 3,\n\tTCP_METRIC_REORDERING = 4,\n\tTCP_METRIC_RTT_US = 5,\n\tTCP_METRIC_RTTVAR_US = 6,\n\t__TCP_METRIC_MAX = 7,\n};\n\nenum tcp_queue {\n\tTCP_FRAG_IN_WRITE_QUEUE = 0,\n\tTCP_FRAG_IN_RTX_QUEUE = 1,\n};\n\nenum tcp_seq_states {\n\tTCP_SEQ_STATE_LISTENING = 0,\n\tTCP_SEQ_STATE_ESTABLISHED = 1,\n};\n\nenum tcp_skb_cb_sacked_flags {\n\tTCPCB_SACKED_ACKED = 1,\n\tTCPCB_SACKED_RETRANS = 2,\n\tTCPCB_LOST = 4,\n\tTCPCB_TAGBITS = 7,\n\tTCPCB_REPAIRED = 16,\n\tTCPCB_EVER_RETRANS = 128,\n\tTCPCB_RETRANS = 146,\n};\n\nenum tcp_synack_type {\n\tTCP_SYNACK_NORMAL = 0,\n\tTCP_SYNACK_FASTOPEN = 1,\n\tTCP_SYNACK_COOKIE = 2,\n};\n\nenum tcp_tw_status {\n\tTCP_TW_SUCCESS = 0,\n\tTCP_TW_RST = 1,\n\tTCP_TW_ACK = 2,\n\tTCP_TW_SYN = 3,\n};\n\nenum tcpa_event_types {\n\tPREBOOT = 0,\n\tPOST_CODE = 1,\n\tUNUSED = 2,\n\tNO_ACTION = 3,\n\tSEPARATOR = 4,\n\tACTION = 5,\n\tEVENT_TAG = 6,\n\tSCRTM_CONTENTS = 7,\n\tSCRTM_VERSION = 8,\n\tCPU_MICROCODE = 9,\n\tPLATFORM_CONFIG_FLAGS = 10,\n\tTABLE_OF_DEVICES = 11,\n\tCOMPACT_HASH = 12,\n\tIPL = 13,\n\tIPL_PARTITION_DATA = 14,\n\tNONHOST_CODE = 15,\n\tNONHOST_CONFIG = 16,\n\tNONHOST_INFO = 17,\n};\n\nenum tcpa_pc_event_ids {\n\tSMBIOS = 1,\n\tBIS_CERT = 2,\n\tPOST_BIOS_ROM = 3,\n\tESCD = 4,\n\tCMOS = 5,\n\tNVRAM = 6,\n\tOPTION_ROM_EXEC = 7,\n\tOPTION_ROM_CONFIG = 8,\n\tOPTION_ROM_MICROCODE = 10,\n\tS_CRTM_VERSION = 11,\n\tS_CRTM_CONTENTS = 12,\n\tPOST_CONTENTS = 13,\n\tHOST_TABLE_OF_DEVICES = 14,\n};\n\nenum tcx_action_base {\n\tTCX_NEXT = -1,\n\tTCX_PASS = 0,\n\tTCX_DROP = 2,\n\tTCX_REDIRECT = 7,\n};\n\nenum tegra124_function {\n\tTEGRA124_FUNC_SNPS = 0,\n\tTEGRA124_FUNC_XUSB = 1,\n\tTEGRA124_FUNC_UART = 2,\n\tTEGRA124_FUNC_PCIE = 3,\n\tTEGRA124_FUNC_USB3 = 4,\n\tTEGRA124_FUNC_SATA = 5,\n\tTEGRA124_FUNC_RSVD = 6,\n};\n\nenum tegra234_cbb_fabric_ids {\n\tCBB_FAB_ID = 0,\n\tSCE_FAB_ID = 1,\n\tRCE_FAB_ID = 2,\n\tDCE_FAB_ID = 3,\n\tAON_FAB_ID = 4,\n\tPSC_FAB_ID = 5,\n\tBPMP_FAB_ID = 6,\n\tFSI_FAB_ID = 7,\n\tMAX_FAB_ID = 8,\n};\n\nenum tegra_dfll_pmu_if {\n\tTEGRA_DFLL_PMU_I2C = 0,\n\tTEGRA_DFLL_PMU_PWM = 1,\n};\n\nenum tegra_hte_type {\n\tHTE_TEGRA_TYPE_GPIO = 1,\n\tHTE_TEGRA_TYPE_LIC = 2,\n};\n\nenum tegra_icc_client_type {\n\tTEGRA_ICC_NONE = 0,\n\tTEGRA_ICC_NISO = 1,\n\tTEGRA_ICC_ISO_DISPLAY = 2,\n\tTEGRA_ICC_ISO_VI = 3,\n\tTEGRA_ICC_ISO_AUDIO = 4,\n\tTEGRA_ICC_ISO_VIFAL = 5,\n};\n\nenum tegra_io_pad {\n\tTEGRA_IO_PAD_AUDIO = 0,\n\tTEGRA_IO_PAD_AUDIO_HV = 1,\n\tTEGRA_IO_PAD_BB = 2,\n\tTEGRA_IO_PAD_CAM = 3,\n\tTEGRA_IO_PAD_COMP = 4,\n\tTEGRA_IO_PAD_CONN = 5,\n\tTEGRA_IO_PAD_CSIA = 6,\n\tTEGRA_IO_PAD_CSIB = 7,\n\tTEGRA_IO_PAD_CSIC = 8,\n\tTEGRA_IO_PAD_CSID = 9,\n\tTEGRA_IO_PAD_CSIE = 10,\n\tTEGRA_IO_PAD_CSIF = 11,\n\tTEGRA_IO_PAD_CSIG = 12,\n\tTEGRA_IO_PAD_CSIH = 13,\n\tTEGRA_IO_PAD_DAP3 = 14,\n\tTEGRA_IO_PAD_DAP5 = 15,\n\tTEGRA_IO_PAD_DBG = 16,\n\tTEGRA_IO_PAD_DEBUG_NONAO = 17,\n\tTEGRA_IO_PAD_DMIC = 18,\n\tTEGRA_IO_PAD_DMIC_HV = 19,\n\tTEGRA_IO_PAD_DP = 20,\n\tTEGRA_IO_PAD_DSI = 21,\n\tTEGRA_IO_PAD_DSIB = 22,\n\tTEGRA_IO_PAD_DSIC = 23,\n\tTEGRA_IO_PAD_DSID = 24,\n\tTEGRA_IO_PAD_EDP = 25,\n\tTEGRA_IO_PAD_EMMC = 26,\n\tTEGRA_IO_PAD_EMMC2 = 27,\n\tTEGRA_IO_PAD_EQOS = 28,\n\tTEGRA_IO_PAD_GPIO = 29,\n\tTEGRA_IO_PAD_GP_PWM2 = 30,\n\tTEGRA_IO_PAD_GP_PWM3 = 31,\n\tTEGRA_IO_PAD_HDMI = 32,\n\tTEGRA_IO_PAD_HDMI_DP0 = 33,\n\tTEGRA_IO_PAD_HDMI_DP1 = 34,\n\tTEGRA_IO_PAD_HDMI_DP2 = 35,\n\tTEGRA_IO_PAD_HDMI_DP3 = 36,\n\tTEGRA_IO_PAD_HSIC = 37,\n\tTEGRA_IO_PAD_HV = 38,\n\tTEGRA_IO_PAD_LVDS = 39,\n\tTEGRA_IO_PAD_MIPI_BIAS = 40,\n\tTEGRA_IO_PAD_NAND = 41,\n\tTEGRA_IO_PAD_PEX_BIAS = 42,\n\tTEGRA_IO_PAD_PEX_CLK_BIAS = 43,\n\tTEGRA_IO_PAD_PEX_CLK1 = 44,\n\tTEGRA_IO_PAD_PEX_CLK2 = 45,\n\tTEGRA_IO_PAD_PEX_CLK3 = 46,\n\tTEGRA_IO_PAD_PEX_CLK_2_BIAS = 47,\n\tTEGRA_IO_PAD_PEX_CLK_2 = 48,\n\tTEGRA_IO_PAD_PEX_CNTRL = 49,\n\tTEGRA_IO_PAD_PEX_CTL2 = 50,\n\tTEGRA_IO_PAD_PEX_L0_RST = 51,\n\tTEGRA_IO_PAD_PEX_L1_RST = 52,\n\tTEGRA_IO_PAD_PEX_L5_RST = 53,\n\tTEGRA_IO_PAD_PWR_CTL = 54,\n\tTEGRA_IO_PAD_SDMMC1 = 55,\n\tTEGRA_IO_PAD_SDMMC1_HV = 56,\n\tTEGRA_IO_PAD_SDMMC2 = 57,\n\tTEGRA_IO_PAD_SDMMC2_HV = 58,\n\tTEGRA_IO_PAD_SDMMC3 = 59,\n\tTEGRA_IO_PAD_SDMMC3_HV = 60,\n\tTEGRA_IO_PAD_SDMMC4 = 61,\n\tTEGRA_IO_PAD_SOC_GPIO10 = 62,\n\tTEGRA_IO_PAD_SOC_GPIO12 = 63,\n\tTEGRA_IO_PAD_SOC_GPIO13 = 64,\n\tTEGRA_IO_PAD_SOC_GPIO53 = 65,\n\tTEGRA_IO_PAD_SPI = 66,\n\tTEGRA_IO_PAD_SPI_HV = 67,\n\tTEGRA_IO_PAD_SYS_DDC = 68,\n\tTEGRA_IO_PAD_UART = 69,\n\tTEGRA_IO_PAD_UART4 = 70,\n\tTEGRA_IO_PAD_UART5 = 71,\n\tTEGRA_IO_PAD_UFS = 72,\n\tTEGRA_IO_PAD_USB0 = 73,\n\tTEGRA_IO_PAD_USB1 = 74,\n\tTEGRA_IO_PAD_USB2 = 75,\n\tTEGRA_IO_PAD_USB3 = 76,\n\tTEGRA_IO_PAD_USB_BIAS = 77,\n\tTEGRA_IO_PAD_AO_HV = 78,\n};\n\nenum tegra_ivc_state {\n\tTEGRA_IVC_STATE_ESTABLISHED = 0,\n\tTEGRA_IVC_STATE_SYNC = 1,\n\tTEGRA_IVC_STATE_ACK = 2,\n};\n\nenum tegra_mux {\n\tTEGRA_MUX_AUD = 0,\n\tTEGRA_MUX_BCL = 1,\n\tTEGRA_MUX_BLINK = 2,\n\tTEGRA_MUX_CCLA = 3,\n\tTEGRA_MUX_CEC = 4,\n\tTEGRA_MUX_CLDVFS = 5,\n\tTEGRA_MUX_CLK = 6,\n\tTEGRA_MUX_CORE = 7,\n\tTEGRA_MUX_CPU = 8,\n\tTEGRA_MUX_DISPLAYA = 9,\n\tTEGRA_MUX_DISPLAYB = 10,\n\tTEGRA_MUX_DMIC1 = 11,\n\tTEGRA_MUX_DMIC2 = 12,\n\tTEGRA_MUX_DMIC3 = 13,\n\tTEGRA_MUX_DP = 14,\n\tTEGRA_MUX_DTV = 15,\n\tTEGRA_MUX_EXTPERIPH3 = 16,\n\tTEGRA_MUX_I2C1 = 17,\n\tTEGRA_MUX_I2C2 = 18,\n\tTEGRA_MUX_I2C3 = 19,\n\tTEGRA_MUX_I2CPMU = 20,\n\tTEGRA_MUX_I2CVI = 21,\n\tTEGRA_MUX_I2S1 = 22,\n\tTEGRA_MUX_I2S2 = 23,\n\tTEGRA_MUX_I2S3 = 24,\n\tTEGRA_MUX_I2S4A = 25,\n\tTEGRA_MUX_I2S4B = 26,\n\tTEGRA_MUX_I2S5A = 27,\n\tTEGRA_MUX_I2S5B = 28,\n\tTEGRA_MUX_IQC0 = 29,\n\tTEGRA_MUX_IQC1 = 30,\n\tTEGRA_MUX_JTAG = 31,\n\tTEGRA_MUX_PE = 32,\n\tTEGRA_MUX_PE0 = 33,\n\tTEGRA_MUX_PE1 = 34,\n\tTEGRA_MUX_PMI = 35,\n\tTEGRA_MUX_PWM0 = 36,\n\tTEGRA_MUX_PWM1 = 37,\n\tTEGRA_MUX_PWM2 = 38,\n\tTEGRA_MUX_PWM3 = 39,\n\tTEGRA_MUX_QSPI = 40,\n\tTEGRA_MUX_RSVD0 = 41,\n\tTEGRA_MUX_RSVD1 = 42,\n\tTEGRA_MUX_RSVD2 = 43,\n\tTEGRA_MUX_RSVD3 = 44,\n\tTEGRA_MUX_SATA = 45,\n\tTEGRA_MUX_SDMMC1 = 46,\n\tTEGRA_MUX_SDMMC3 = 47,\n\tTEGRA_MUX_SHUTDOWN = 48,\n\tTEGRA_MUX_SOC = 49,\n\tTEGRA_MUX_SOR0 = 50,\n\tTEGRA_MUX_SOR1 = 51,\n\tTEGRA_MUX_SPDIF = 52,\n\tTEGRA_MUX_SPI1 = 53,\n\tTEGRA_MUX_SPI2 = 54,\n\tTEGRA_MUX_SPI3 = 55,\n\tTEGRA_MUX_SPI4 = 56,\n\tTEGRA_MUX_SYS = 57,\n\tTEGRA_MUX_TOUCH = 58,\n\tTEGRA_MUX_UART = 59,\n\tTEGRA_MUX_UARTA = 60,\n\tTEGRA_MUX_UARTB = 61,\n\tTEGRA_MUX_UARTC = 62,\n\tTEGRA_MUX_UARTD = 63,\n\tTEGRA_MUX_USB = 64,\n\tTEGRA_MUX_VGP1 = 65,\n\tTEGRA_MUX_VGP2 = 66,\n\tTEGRA_MUX_VGP3 = 67,\n\tTEGRA_MUX_VGP4 = 68,\n\tTEGRA_MUX_VGP5 = 69,\n\tTEGRA_MUX_VGP6 = 70,\n\tTEGRA_MUX_VIMCLK = 71,\n\tTEGRA_MUX_VIMCLK2 = 72,\n};\n\nenum tegra_mux___2 {\n\tTEGRA_MUX_BLINK___2 = 0,\n\tTEGRA_MUX_CCLA___2 = 1,\n\tTEGRA_MUX_CEC___2 = 2,\n\tTEGRA_MUX_CLDVFS___2 = 3,\n\tTEGRA_MUX_CLK___2 = 4,\n\tTEGRA_MUX_CLK12 = 5,\n\tTEGRA_MUX_CPU___2 = 6,\n\tTEGRA_MUX_CSI = 7,\n\tTEGRA_MUX_DAP = 8,\n\tTEGRA_MUX_DAP1 = 9,\n\tTEGRA_MUX_DAP2 = 10,\n\tTEGRA_MUX_DEV3 = 11,\n\tTEGRA_MUX_DISPLAYA___2 = 12,\n\tTEGRA_MUX_DISPLAYA_ALT = 13,\n\tTEGRA_MUX_DISPLAYB___2 = 14,\n\tTEGRA_MUX_DP___2 = 15,\n\tTEGRA_MUX_DSI_B = 16,\n\tTEGRA_MUX_DTV___2 = 17,\n\tTEGRA_MUX_EXTPERIPH1 = 18,\n\tTEGRA_MUX_EXTPERIPH2 = 19,\n\tTEGRA_MUX_EXTPERIPH3___2 = 20,\n\tTEGRA_MUX_GMI = 21,\n\tTEGRA_MUX_GMI_ALT = 22,\n\tTEGRA_MUX_HDA = 23,\n\tTEGRA_MUX_HSI = 24,\n\tTEGRA_MUX_I2C1___2 = 25,\n\tTEGRA_MUX_I2C2___2 = 26,\n\tTEGRA_MUX_I2C3___2 = 27,\n\tTEGRA_MUX_I2C4 = 28,\n\tTEGRA_MUX_I2CPWR = 29,\n\tTEGRA_MUX_I2S0 = 30,\n\tTEGRA_MUX_I2S1___2 = 31,\n\tTEGRA_MUX_I2S2___2 = 32,\n\tTEGRA_MUX_I2S3___2 = 33,\n\tTEGRA_MUX_I2S4 = 34,\n\tTEGRA_MUX_IRDA = 35,\n\tTEGRA_MUX_KBC = 36,\n\tTEGRA_MUX_OWR = 37,\n\tTEGRA_MUX_PE___2 = 38,\n\tTEGRA_MUX_PE0___2 = 39,\n\tTEGRA_MUX_PE1___2 = 40,\n\tTEGRA_MUX_PMI___2 = 41,\n\tTEGRA_MUX_PWM0___2 = 42,\n\tTEGRA_MUX_PWM1___2 = 43,\n\tTEGRA_MUX_PWM2___2 = 44,\n\tTEGRA_MUX_PWM3___2 = 45,\n\tTEGRA_MUX_PWRON = 46,\n\tTEGRA_MUX_RESET_OUT_N = 47,\n\tTEGRA_MUX_RSVD1___2 = 48,\n\tTEGRA_MUX_RSVD2___2 = 49,\n\tTEGRA_MUX_RSVD3___2 = 50,\n\tTEGRA_MUX_RSVD4 = 51,\n\tTEGRA_MUX_RTCK = 52,\n\tTEGRA_MUX_SATA___2 = 53,\n\tTEGRA_MUX_SDMMC1___2 = 54,\n\tTEGRA_MUX_SDMMC2 = 55,\n\tTEGRA_MUX_SDMMC3___2 = 56,\n\tTEGRA_MUX_SDMMC4 = 57,\n\tTEGRA_MUX_SOC___2 = 58,\n\tTEGRA_MUX_SPDIF___2 = 59,\n\tTEGRA_MUX_SPI1___2 = 60,\n\tTEGRA_MUX_SPI2___2 = 61,\n\tTEGRA_MUX_SPI3___2 = 62,\n\tTEGRA_MUX_SPI4___2 = 63,\n\tTEGRA_MUX_SPI5 = 64,\n\tTEGRA_MUX_SPI6 = 65,\n\tTEGRA_MUX_SYS___2 = 66,\n\tTEGRA_MUX_TMDS = 67,\n\tTEGRA_MUX_TRACE = 68,\n\tTEGRA_MUX_UARTA___2 = 69,\n\tTEGRA_MUX_UARTB___2 = 70,\n\tTEGRA_MUX_UARTC___2 = 71,\n\tTEGRA_MUX_UARTD___2 = 72,\n\tTEGRA_MUX_ULPI = 73,\n\tTEGRA_MUX_USB___2 = 74,\n\tTEGRA_MUX_VGP1___2 = 75,\n\tTEGRA_MUX_VGP2___2 = 76,\n\tTEGRA_MUX_VGP3___2 = 77,\n\tTEGRA_MUX_VGP4___2 = 78,\n\tTEGRA_MUX_VGP5___2 = 79,\n\tTEGRA_MUX_VGP6___2 = 80,\n\tTEGRA_MUX_VI = 81,\n\tTEGRA_MUX_VI_ALT1 = 82,\n\tTEGRA_MUX_VI_ALT3 = 83,\n\tTEGRA_MUX_VIMCLK2___2 = 84,\n\tTEGRA_MUX_VIMCLK2_ALT = 85,\n};\n\nenum tegra_mux_dt {\n\tTEGRA_MUX_RSVD0___2 = 0,\n\tTEGRA_MUX_RSVD1___3 = 1,\n\tTEGRA_MUX_RSVD2___3 = 2,\n\tTEGRA_MUX_RSVD3___3 = 3,\n\tTEGRA_MUX_TOUCH___2 = 4,\n\tTEGRA_MUX_UARTC___3 = 5,\n\tTEGRA_MUX_I2C8 = 6,\n\tTEGRA_MUX_UARTG = 7,\n\tTEGRA_MUX_SPI2___3 = 8,\n\tTEGRA_MUX_GP = 9,\n\tTEGRA_MUX_DCA = 10,\n\tTEGRA_MUX_WDT = 11,\n\tTEGRA_MUX_I2C2___3 = 12,\n\tTEGRA_MUX_CAN1 = 13,\n\tTEGRA_MUX_CAN0 = 14,\n\tTEGRA_MUX_DMIC3___2 = 15,\n\tTEGRA_MUX_DMIC5 = 16,\n\tTEGRA_MUX_GPIO = 17,\n\tTEGRA_MUX_DSPK1 = 18,\n\tTEGRA_MUX_DSPK0 = 19,\n\tTEGRA_MUX_SPDIF___3 = 20,\n\tTEGRA_MUX_AUD___2 = 21,\n\tTEGRA_MUX_I2S1___3 = 22,\n\tTEGRA_MUX_DMIC1___2 = 23,\n\tTEGRA_MUX_DMIC2___2 = 24,\n\tTEGRA_MUX_I2S3___3 = 25,\n\tTEGRA_MUX_DMIC4 = 26,\n\tTEGRA_MUX_I2S4___2 = 27,\n\tTEGRA_MUX_EXTPERIPH2___2 = 28,\n\tTEGRA_MUX_EXTPERIPH1___2 = 29,\n\tTEGRA_MUX_I2C3___3 = 30,\n\tTEGRA_MUX_VGP1___3 = 31,\n\tTEGRA_MUX_VGP2___3 = 32,\n\tTEGRA_MUX_VGP3___3 = 33,\n\tTEGRA_MUX_VGP4___3 = 34,\n\tTEGRA_MUX_VGP5___3 = 35,\n\tTEGRA_MUX_VGP6___3 = 36,\n\tTEGRA_MUX_SLVS = 37,\n\tTEGRA_MUX_EXTPERIPH3___3 = 38,\n\tTEGRA_MUX_EXTPERIPH4 = 39,\n\tTEGRA_MUX_I2S2___3 = 40,\n\tTEGRA_MUX_UARTD___3 = 41,\n\tTEGRA_MUX_I2C1___3 = 42,\n\tTEGRA_MUX_UARTA___3 = 43,\n\tTEGRA_MUX_DIRECTDC1 = 44,\n\tTEGRA_MUX_DIRECTDC = 45,\n\tTEGRA_MUX_IQC1___2 = 46,\n\tTEGRA_MUX_IQC2 = 47,\n\tTEGRA_MUX_I2S6 = 48,\n\tTEGRA_MUX_SDMMC3___3 = 49,\n\tTEGRA_MUX_SDMMC1___3 = 50,\n\tTEGRA_MUX_DP___3 = 51,\n\tTEGRA_MUX_HDMI = 52,\n\tTEGRA_MUX_PE2 = 53,\n\tTEGRA_MUX_IGPU = 54,\n\tTEGRA_MUX_SATA___3 = 55,\n\tTEGRA_MUX_PE1___3 = 56,\n\tTEGRA_MUX_PE0___3 = 57,\n\tTEGRA_MUX_PE3 = 58,\n\tTEGRA_MUX_PE4 = 59,\n\tTEGRA_MUX_PE5 = 60,\n\tTEGRA_MUX_SOC___3 = 61,\n\tTEGRA_MUX_EQOS = 62,\n\tTEGRA_MUX_QSPI___2 = 63,\n\tTEGRA_MUX_QSPI0 = 64,\n\tTEGRA_MUX_QSPI1 = 65,\n\tTEGRA_MUX_MIPI = 66,\n\tTEGRA_MUX_SCE = 67,\n\tTEGRA_MUX_I2C5 = 68,\n\tTEGRA_MUX_DISPLAYA___3 = 69,\n\tTEGRA_MUX_DISPLAYB___3 = 70,\n\tTEGRA_MUX_DCB = 71,\n\tTEGRA_MUX_SPI1___3 = 72,\n\tTEGRA_MUX_UARTB___3 = 73,\n\tTEGRA_MUX_UARTE = 74,\n\tTEGRA_MUX_SPI3___3 = 75,\n\tTEGRA_MUX_NV = 76,\n\tTEGRA_MUX_CCLA___3 = 77,\n\tTEGRA_MUX_I2S5 = 78,\n\tTEGRA_MUX_USB___3 = 79,\n\tTEGRA_MUX_UFS0 = 80,\n\tTEGRA_MUX_DGPU = 81,\n\tTEGRA_MUX_SDMMC4___2 = 82,\n};\n\nenum tegra_mux_dt___2 {\n\tTEGRA_MUX_GP___2 = 0,\n\tTEGRA_MUX_UARTC___4 = 1,\n\tTEGRA_MUX_I2C8___2 = 2,\n\tTEGRA_MUX_SPI2___4 = 3,\n\tTEGRA_MUX_I2C2___4 = 4,\n\tTEGRA_MUX_CAN1___2 = 5,\n\tTEGRA_MUX_CAN0___2 = 6,\n\tTEGRA_MUX_RSVD0___3 = 7,\n\tTEGRA_MUX_ETH0 = 8,\n\tTEGRA_MUX_ETH2 = 9,\n\tTEGRA_MUX_ETH1 = 10,\n\tTEGRA_MUX_DP___4 = 11,\n\tTEGRA_MUX_ETH3 = 12,\n\tTEGRA_MUX_I2C4___2 = 13,\n\tTEGRA_MUX_I2C7 = 14,\n\tTEGRA_MUX_I2C9 = 15,\n\tTEGRA_MUX_EQOS___2 = 16,\n\tTEGRA_MUX_PE2___2 = 17,\n\tTEGRA_MUX_PE1___4 = 18,\n\tTEGRA_MUX_PE0___4 = 19,\n\tTEGRA_MUX_PE3___2 = 20,\n\tTEGRA_MUX_PE4___2 = 21,\n\tTEGRA_MUX_PE5___2 = 22,\n\tTEGRA_MUX_PE6 = 23,\n\tTEGRA_MUX_PE10 = 24,\n\tTEGRA_MUX_PE7 = 25,\n\tTEGRA_MUX_PE8 = 26,\n\tTEGRA_MUX_PE9 = 27,\n\tTEGRA_MUX_QSPI0___2 = 28,\n\tTEGRA_MUX_QSPI1___2 = 29,\n\tTEGRA_MUX_QSPI___3 = 30,\n\tTEGRA_MUX_SDMMC1___4 = 31,\n\tTEGRA_MUX_SCE___2 = 32,\n\tTEGRA_MUX_SOC___4 = 33,\n\tTEGRA_MUX_GPIO___2 = 34,\n\tTEGRA_MUX_HDMI___2 = 35,\n\tTEGRA_MUX_UFS0___2 = 36,\n\tTEGRA_MUX_SPI3___4 = 37,\n\tTEGRA_MUX_SPI1___4 = 38,\n\tTEGRA_MUX_UARTB___4 = 39,\n\tTEGRA_MUX_UARTE___2 = 40,\n\tTEGRA_MUX_USB___4 = 41,\n\tTEGRA_MUX_EXTPERIPH2___3 = 42,\n\tTEGRA_MUX_EXTPERIPH1___3 = 43,\n\tTEGRA_MUX_I2C3___4 = 44,\n\tTEGRA_MUX_VI0 = 45,\n\tTEGRA_MUX_I2C5___2 = 46,\n\tTEGRA_MUX_UARTA___4 = 47,\n\tTEGRA_MUX_UARTD___4 = 48,\n\tTEGRA_MUX_I2C1___4 = 49,\n\tTEGRA_MUX_I2S4___3 = 50,\n\tTEGRA_MUX_I2S6___2 = 51,\n\tTEGRA_MUX_AUD___3 = 52,\n\tTEGRA_MUX_SPI5___2 = 53,\n\tTEGRA_MUX_TOUCH___3 = 54,\n\tTEGRA_MUX_UARTJ = 55,\n\tTEGRA_MUX_RSVD1___4 = 56,\n\tTEGRA_MUX_WDT___2 = 57,\n\tTEGRA_MUX_TSC = 58,\n\tTEGRA_MUX_DMIC3___3 = 59,\n\tTEGRA_MUX_LED = 60,\n\tTEGRA_MUX_VI0_ALT = 61,\n\tTEGRA_MUX_I2S5___2 = 62,\n\tTEGRA_MUX_NV___2 = 63,\n\tTEGRA_MUX_EXTPERIPH3___4 = 64,\n\tTEGRA_MUX_EXTPERIPH4___2 = 65,\n\tTEGRA_MUX_SPI4___3 = 66,\n\tTEGRA_MUX_CCLA___4 = 67,\n\tTEGRA_MUX_I2S2___4 = 68,\n\tTEGRA_MUX_I2S1___4 = 69,\n\tTEGRA_MUX_I2S8 = 70,\n\tTEGRA_MUX_I2S3___4 = 71,\n\tTEGRA_MUX_RSVD2___4 = 72,\n\tTEGRA_MUX_DMIC5___2 = 73,\n\tTEGRA_MUX_DCA___2 = 74,\n\tTEGRA_MUX_DISPLAYB___4 = 75,\n\tTEGRA_MUX_DISPLAYA___4 = 76,\n\tTEGRA_MUX_VI1 = 77,\n\tTEGRA_MUX_DCB___2 = 78,\n\tTEGRA_MUX_DMIC1___3 = 79,\n\tTEGRA_MUX_DMIC4___2 = 80,\n\tTEGRA_MUX_I2S7 = 81,\n\tTEGRA_MUX_DMIC2___3 = 82,\n\tTEGRA_MUX_DSPK0___2 = 83,\n\tTEGRA_MUX_RSVD3___4 = 84,\n\tTEGRA_MUX_TSC_ALT = 85,\n\tTEGRA_MUX_ISTCTRL = 86,\n\tTEGRA_MUX_VI1_ALT = 87,\n\tTEGRA_MUX_DSPK1___2 = 88,\n\tTEGRA_MUX_IGPU___2 = 89,\n};\n\nenum tegra_pinconf_param {\n\tTEGRA_PINCONF_PARAM_PULL = 0,\n\tTEGRA_PINCONF_PARAM_TRISTATE = 1,\n\tTEGRA_PINCONF_PARAM_ENABLE_INPUT = 2,\n\tTEGRA_PINCONF_PARAM_OPEN_DRAIN = 3,\n\tTEGRA_PINCONF_PARAM_LOCK = 4,\n\tTEGRA_PINCONF_PARAM_IORESET = 5,\n\tTEGRA_PINCONF_PARAM_RCV_SEL = 6,\n\tTEGRA_PINCONF_PARAM_HIGH_SPEED_MODE = 7,\n\tTEGRA_PINCONF_PARAM_SCHMITT = 8,\n\tTEGRA_PINCONF_PARAM_LOW_POWER_MODE = 9,\n\tTEGRA_PINCONF_PARAM_DRIVE_DOWN_STRENGTH = 10,\n\tTEGRA_PINCONF_PARAM_DRIVE_UP_STRENGTH = 11,\n\tTEGRA_PINCONF_PARAM_SLEW_RATE_FALLING = 12,\n\tTEGRA_PINCONF_PARAM_SLEW_RATE_RISING = 13,\n\tTEGRA_PINCONF_PARAM_DRIVE_TYPE = 14,\n};\n\nenum tegra_platform {\n\tTEGRA_PLATFORM_SILICON = 0,\n\tTEGRA_PLATFORM_QT = 1,\n\tTEGRA_PLATFORM_SYSTEM_FPGA = 2,\n\tTEGRA_PLATFORM_UNIT_FPGA = 3,\n\tTEGRA_PLATFORM_ASIM_QT = 4,\n\tTEGRA_PLATFORM_ASIM_LINSIM = 5,\n\tTEGRA_PLATFORM_DSIM_ASIM_LINSIM = 6,\n\tTEGRA_PLATFORM_VERIFICATION_SIMULATION = 7,\n\tTEGRA_PLATFORM_VDK = 8,\n\tTEGRA_PLATFORM_VSP = 9,\n\tTEGRA_PLATFORM_MAX = 10,\n};\n\nenum tegra_revision {\n\tTEGRA_REVISION_UNKNOWN = 0,\n\tTEGRA_REVISION_A01 = 1,\n\tTEGRA_REVISION_A02 = 2,\n\tTEGRA_REVISION_A03 = 3,\n\tTEGRA_REVISION_A03p = 4,\n\tTEGRA_REVISION_A04 = 5,\n\tTEGRA_REVISION_MAX = 6,\n};\n\nenum tegra_super_gen {\n\tgen4 = 4,\n\tgen5 = 5,\n};\n\nenum tegra_suspend_mode {\n\tTEGRA_SUSPEND_NONE = 0,\n\tTEGRA_SUSPEND_LP2 = 1,\n\tTEGRA_SUSPEND_LP1 = 2,\n\tTEGRA_SUSPEND_LP0 = 3,\n\tTEGRA_MAX_SUSPEND_MODE = 4,\n\tTEGRA_SUSPEND_NOT_READY = 5,\n};\n\nenum tegra_usb_phy_port_speed {\n\tTEGRA_USB_PHY_PORT_SPEED_FULL = 0,\n\tTEGRA_USB_PHY_PORT_SPEED_LOW = 1,\n\tTEGRA_USB_PHY_PORT_SPEED_HIGH = 2,\n};\n\nenum tegra_xusb_mbox_cmd {\n\tMBOX_CMD_MSG_ENABLED = 1,\n\tMBOX_CMD_INC_FALC_CLOCK = 2,\n\tMBOX_CMD_DEC_FALC_CLOCK = 3,\n\tMBOX_CMD_INC_SSPI_CLOCK = 4,\n\tMBOX_CMD_DEC_SSPI_CLOCK = 5,\n\tMBOX_CMD_SET_BW = 6,\n\tMBOX_CMD_SET_SS_PWR_GATING = 7,\n\tMBOX_CMD_SET_SS_PWR_UNGATING = 8,\n\tMBOX_CMD_SAVE_DFE_CTLE_CTX = 9,\n\tMBOX_CMD_AIRPLANE_MODE_ENABLED = 10,\n\tMBOX_CMD_AIRPLANE_MODE_DISABLED = 11,\n\tMBOX_CMD_START_HSIC_IDLE = 12,\n\tMBOX_CMD_STOP_HSIC_IDLE = 13,\n\tMBOX_CMD_DBC_WAKE_STACK = 14,\n\tMBOX_CMD_HSIC_PRETEND_CONNECT = 15,\n\tMBOX_CMD_RESET_SSPI = 16,\n\tMBOX_CMD_DISABLE_SS_LFPS_DETECTION = 17,\n\tMBOX_CMD_ENABLE_SS_LFPS_DETECTION = 18,\n\tMBOX_CMD_MAX = 19,\n\tMBOX_CMD_ACK = 128,\n\tMBOX_CMD_NAK = 129,\n};\n\nenum tegra_xusb_padctl_param {\n\tTEGRA_XUSB_PADCTL_IDDQ = 0,\n};\n\nenum thermal_device_mode {\n\tTHERMAL_DEVICE_DISABLED = 0,\n\tTHERMAL_DEVICE_ENABLED = 1,\n};\n\nenum thermal_notify_event {\n\tTHERMAL_EVENT_UNSPECIFIED = 0,\n\tTHERMAL_EVENT_TEMP_SAMPLE = 1,\n\tTHERMAL_TRIP_VIOLATED = 2,\n\tTHERMAL_TRIP_CHANGED = 3,\n\tTHERMAL_DEVICE_DOWN = 4,\n\tTHERMAL_DEVICE_UP = 5,\n\tTHERMAL_DEVICE_POWER_CAPABILITY_CHANGED = 6,\n\tTHERMAL_TABLE_CHANGED = 7,\n\tTHERMAL_EVENT_KEEP_ALIVE = 8,\n\tTHERMAL_TZ_BIND_CDEV = 9,\n\tTHERMAL_TZ_UNBIND_CDEV = 10,\n\tTHERMAL_INSTANCE_WEIGHT_CHANGED = 11,\n\tTHERMAL_TZ_RESUME = 12,\n\tTHERMAL_TZ_ADD_THRESHOLD = 13,\n\tTHERMAL_TZ_DEL_THRESHOLD = 14,\n\tTHERMAL_TZ_FLUSH_THRESHOLDS = 15,\n};\n\nenum thermal_trend {\n\tTHERMAL_TREND_STABLE = 0,\n\tTHERMAL_TREND_RAISING = 1,\n\tTHERMAL_TREND_DROPPING = 2,\n};\n\nenum thermal_trip_type {\n\tTHERMAL_TRIP_ACTIVE = 0,\n\tTHERMAL_TRIP_PASSIVE = 1,\n\tTHERMAL_TRIP_HOT = 2,\n\tTHERMAL_TRIP_CRITICAL = 3,\n};\n\nenum ti_sysc_module_type {\n\tTI_SYSC_OMAP2 = 0,\n\tTI_SYSC_OMAP2_TIMER = 1,\n\tTI_SYSC_OMAP3_SHAM = 2,\n\tTI_SYSC_OMAP3_AES = 3,\n\tTI_SYSC_OMAP4 = 4,\n\tTI_SYSC_OMAP4_TIMER = 5,\n\tTI_SYSC_OMAP4_SIMPLE = 6,\n\tTI_SYSC_OMAP34XX_SR = 7,\n\tTI_SYSC_OMAP36XX_SR = 8,\n\tTI_SYSC_OMAP4_SR = 9,\n\tTI_SYSC_OMAP4_MCASP = 10,\n\tTI_SYSC_OMAP4_USB_HOST_FS = 11,\n\tTI_SYSC_DRA7_MCAN = 12,\n\tTI_SYSC_PRUSS = 13,\n};\n\nenum tick_broadcast_mode {\n\tTICK_BROADCAST_OFF = 0,\n\tTICK_BROADCAST_ON = 1,\n\tTICK_BROADCAST_FORCE = 2,\n};\n\nenum tick_broadcast_state {\n\tTICK_BROADCAST_EXIT = 0,\n\tTICK_BROADCAST_ENTER = 1,\n};\n\nenum tick_dep_bits {\n\tTICK_DEP_BIT_POSIX_TIMER = 0,\n\tTICK_DEP_BIT_PERF_EVENTS = 1,\n\tTICK_DEP_BIT_SCHED = 2,\n\tTICK_DEP_BIT_CLOCK_UNSTABLE = 3,\n\tTICK_DEP_BIT_RCU = 4,\n\tTICK_DEP_BIT_RCU_EXP = 5,\n};\n\nenum tick_device_mode {\n\tTICKDEV_MODE_PERIODIC = 0,\n\tTICKDEV_MODE_ONESHOT = 1,\n};\n\nenum timekeeping_adv_mode {\n\tTK_ADV_TICK = 0,\n\tTK_ADV_FREQ = 1,\n};\n\nenum timer_tread_format {\n\tTREAD_FORMAT_NONE = 0,\n\tTREAD_FORMAT_TIME64 = 1,\n\tTREAD_FORMAT_TIME32 = 2,\n};\n\nenum timespec_type {\n\tTT_NONE = 0,\n\tTT_NATIVE = 1,\n\tTT_COMPAT = 2,\n};\n\nenum tis_access {\n\tTPM_ACCESS_VALID = 128,\n\tTPM_ACCESS_ACTIVE_LOCALITY = 32,\n\tTPM_ACCESS_REQUEST_PENDING = 4,\n\tTPM_ACCESS_REQUEST_USE = 2,\n};\n\nenum tis_defaults {\n\tTIS_SHORT_TIMEOUT = 750,\n\tTIS_LONG_TIMEOUT = 2000,\n};\n\nenum tis_status {\n\tTPM_STS_VALID = 128,\n\tTPM_STS_COMMAND_READY = 64,\n\tTPM_STS_GO = 32,\n\tTPM_STS_DATA_AVAIL = 16,\n\tTPM_STS_DATA_EXPECT = 8,\n};\n\nenum tk_offsets {\n\tTK_OFFS_REAL = 0,\n\tTK_OFFS_BOOT = 1,\n\tTK_OFFS_TAI = 2,\n\tTK_OFFS_MAX = 3,\n};\n\nenum tlb_flush_reason {\n\tTLB_FLUSH_ON_TASK_SWITCH = 0,\n\tTLB_REMOTE_SHOOTDOWN = 1,\n\tTLB_LOCAL_SHOOTDOWN = 2,\n\tTLB_LOCAL_MM_SHOOTDOWN = 3,\n\tTLB_REMOTE_SEND_IPI = 4,\n\tTLB_REMOTE_WRONG_CPU = 5,\n\tNR_TLB_FLUSH_REASONS = 6,\n};\n\nenum topology_type {\n\tTYPE_INVALID = 0,\n\tTYPE_MUX = 1,\n\tTYPE_PLL = 2,\n\tTYPE_FIXEDFACTOR = 3,\n\tTYPE_DIV1 = 4,\n\tTYPE_DIV2 = 5,\n\tTYPE_GATE = 6,\n};\n\nenum tp_func_state {\n\tTP_FUNC_0 = 0,\n\tTP_FUNC_1 = 1,\n\tTP_FUNC_2 = 2,\n\tTP_FUNC_N = 3,\n};\n\nenum tp_transition_sync {\n\tTP_TRANSITION_SYNC_1_0_1 = 0,\n\tTP_TRANSITION_SYNC_N_2_1 = 1,\n\t_NR_TP_TRANSITION_SYNC = 2,\n};\n\nenum tpacket_versions {\n\tTPACKET_V1 = 0,\n\tTPACKET_V2 = 1,\n\tTPACKET_V3 = 2,\n};\n\nenum tpm2_capabilities {\n\tTPM2_CAP_HANDLES = 1,\n\tTPM2_CAP_COMMANDS = 2,\n\tTPM2_CAP_PCRS = 5,\n\tTPM2_CAP_TPM_PROPERTIES = 6,\n};\n\nenum tpm2_cc_attrs {\n\tTPM2_CC_ATTR_CHANDLES = 25,\n\tTPM2_CC_ATTR_RHANDLE = 28,\n\tTPM2_CC_ATTR_VENDOR = 29,\n};\n\nenum tpm2_command_codes {\n\tTPM2_CC_FIRST = 287,\n\tTPM2_CC_HIERARCHY_CONTROL = 289,\n\tTPM2_CC_HIERARCHY_CHANGE_AUTH = 297,\n\tTPM2_CC_CREATE_PRIMARY = 305,\n\tTPM2_CC_SEQUENCE_COMPLETE = 318,\n\tTPM2_CC_SELF_TEST = 323,\n\tTPM2_CC_STARTUP = 324,\n\tTPM2_CC_SHUTDOWN = 325,\n\tTPM2_CC_NV_READ = 334,\n\tTPM2_CC_CREATE = 339,\n\tTPM2_CC_LOAD = 343,\n\tTPM2_CC_SEQUENCE_UPDATE = 348,\n\tTPM2_CC_UNSEAL = 350,\n\tTPM2_CC_CONTEXT_LOAD = 353,\n\tTPM2_CC_CONTEXT_SAVE = 354,\n\tTPM2_CC_FLUSH_CONTEXT = 357,\n\tTPM2_CC_READ_PUBLIC = 371,\n\tTPM2_CC_START_AUTH_SESS = 374,\n\tTPM2_CC_VERIFY_SIGNATURE = 375,\n\tTPM2_CC_GET_CAPABILITY = 378,\n\tTPM2_CC_GET_RANDOM = 379,\n\tTPM2_CC_PCR_READ = 382,\n\tTPM2_CC_PCR_EXTEND = 386,\n\tTPM2_CC_EVENT_SEQUENCE_COMPLETE = 389,\n\tTPM2_CC_HASH_SEQUENCE_START = 390,\n\tTPM2_CC_CREATE_LOADED = 401,\n\tTPM2_CC_LAST = 403,\n};\n\nenum tpm2_const {\n\tTPM2_PLATFORM_PCR = 24,\n\tTPM2_PCR_SELECT_MIN = 3,\n};\n\nenum tpm2_handle_types {\n\tTPM2_HT_HMAC_SESSION = 33554432,\n\tTPM2_HT_POLICY_SESSION = 50331648,\n\tTPM2_HT_TRANSIENT = 2147483648,\n};\n\nenum tpm2_permanent_handles {\n\tTPM2_RH_NULL = 1073741831,\n\tTPM2_RS_PW = 1073741833,\n};\n\nenum tpm2_properties {\n\tTPM_PT_TOTAL_COMMANDS = 297,\n};\n\nenum tpm2_return_codes {\n\tTPM2_RC_SUCCESS = 0,\n\tTPM2_RC_HASH = 131,\n\tTPM2_RC_HANDLE = 139,\n\tTPM2_RC_INTEGRITY = 159,\n\tTPM2_RC_INITIALIZE = 256,\n\tTPM2_RC_FAILURE = 257,\n\tTPM2_RC_DISABLED = 288,\n\tTPM2_RC_UPGRADE = 301,\n\tTPM2_RC_COMMAND_CODE = 323,\n\tTPM2_RC_TESTING = 2314,\n\tTPM2_RC_REFERENCE_H0 = 2320,\n\tTPM2_RC_RETRY = 2338,\n};\n\nenum tpm2_session_attributes {\n\tTPM2_SA_CONTINUE_SESSION = 1,\n\tTPM2_SA_AUDIT_EXCLUSIVE = 2,\n\tTPM2_SA_AUDIT_RESET = 8,\n\tTPM2_SA_DECRYPT = 32,\n\tTPM2_SA_ENCRYPT = 64,\n\tTPM2_SA_AUDIT = 128,\n};\n\nenum tpm2_startup_types {\n\tTPM2_SU_CLEAR = 0,\n\tTPM2_SU_STATE = 1,\n};\n\nenum tpm2_structures {\n\tTPM2_ST_NO_SESSIONS = 32769,\n\tTPM2_ST_SESSIONS = 32770,\n\tTPM2_ST_CREATION = 32801,\n};\n\nenum tpm2_timeouts {\n\tTPM2_TIMEOUT_A = 750,\n\tTPM2_TIMEOUT_B = 2000,\n\tTPM2_TIMEOUT_C = 200,\n\tTPM2_TIMEOUT_D = 30,\n\tTPM2_DURATION_SHORT = 20,\n\tTPM2_DURATION_MEDIUM = 750,\n\tTPM2_DURATION_LONG = 2000,\n\tTPM2_DURATION_LONG_LONG = 300000,\n\tTPM2_DURATION_DEFAULT = 120000,\n};\n\nenum tpm_algorithms {\n\tTPM_ALG_ERROR = 0,\n\tTPM_ALG_SHA1 = 4,\n\tTPM_ALG_AES = 6,\n\tTPM_ALG_KEYEDHASH = 8,\n\tTPM_ALG_SHA256 = 11,\n\tTPM_ALG_SHA384 = 12,\n\tTPM_ALG_SHA512 = 13,\n\tTPM_ALG_NULL = 16,\n\tTPM_ALG_SM3_256 = 18,\n\tTPM_ALG_ECC = 35,\n\tTPM_ALG_CFB = 67,\n};\n\nenum tpm_buf_flags {\n\tTPM_BUF_OVERFLOW = 1,\n\tTPM_BUF_TPM2B = 2,\n\tTPM_BUF_BOUNDARY_ERROR = 4,\n};\n\nenum tpm_capabilities {\n\tTPM_CAP_FLAG = 4,\n\tTPM_CAP_PROP = 5,\n\tTPM_CAP_VERSION_1_1 = 6,\n\tTPM_CAP_VERSION_1_2 = 26,\n};\n\nenum tpm_chip_flags {\n\tTPM_CHIP_FLAG_BOOTSTRAPPED = 1,\n\tTPM_CHIP_FLAG_TPM2 = 2,\n\tTPM_CHIP_FLAG_IRQ = 4,\n\tTPM_CHIP_FLAG_VIRTUAL = 8,\n\tTPM_CHIP_FLAG_HAVE_TIMEOUTS = 16,\n\tTPM_CHIP_FLAG_ALWAYS_POWERED = 32,\n\tTPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED = 64,\n\tTPM_CHIP_FLAG_FIRMWARE_UPGRADE = 128,\n\tTPM_CHIP_FLAG_SUSPENDED = 256,\n\tTPM_CHIP_FLAG_HWRNG_DISABLED = 512,\n\tTPM_CHIP_FLAG_DISABLE = 1024,\n};\n\nenum tpm_duration {\n\tTPM_SHORT = 0,\n\tTPM_MEDIUM = 1,\n\tTPM_LONG = 2,\n\tTPM_LONG_LONG = 3,\n\tTPM_UNDEFINED = 4,\n\tTPM_NUM_DURATIONS = 4,\n};\n\nenum tpm_sub_capabilities {\n\tTPM_CAP_PROP_PCR = 257,\n\tTPM_CAP_PROP_MANUFACTURER = 259,\n\tTPM_CAP_FLAG_PERM = 264,\n\tTPM_CAP_FLAG_VOL = 265,\n\tTPM_CAP_PROP_OWNER = 273,\n\tTPM_CAP_PROP_TIS_TIMEOUT = 277,\n\tTPM_CAP_PROP_TIS_DURATION = 288,\n};\n\nenum tpm_timeout {\n\tTPM_TIMEOUT = 5,\n\tTPM_TIMEOUT_RETRY = 100,\n\tTPM_TIMEOUT_RANGE_US = 300,\n\tTPM_TIMEOUT_POLL = 1,\n\tTPM_TIMEOUT_USECS_MIN = 100,\n\tTPM_TIMEOUT_USECS_MAX = 500,\n};\n\nenum tps65219_regulator_id {\n\tTPS65219_BUCK_1 = 0,\n\tTPS65219_BUCK_2 = 1,\n\tTPS65219_BUCK_3 = 2,\n\tTPS65219_LDO_1 = 3,\n\tTPS65219_LDO_2 = 4,\n\tTPS65219_LDO_3 = 5,\n\tTPS65219_LDO_4 = 6,\n};\n\nenum trace_flag_type {\n\tTRACE_FLAG_IRQS_OFF = 1,\n\tTRACE_FLAG_NEED_RESCHED_LAZY = 2,\n\tTRACE_FLAG_NEED_RESCHED = 4,\n\tTRACE_FLAG_HARDIRQ = 8,\n\tTRACE_FLAG_SOFTIRQ = 16,\n\tTRACE_FLAG_PREEMPT_RESCHED = 32,\n\tTRACE_FLAG_NMI = 64,\n\tTRACE_FLAG_BH_OFF = 128,\n};\n\nenum trace_iter_flags {\n\tTRACE_FILE_LAT_FMT = 1,\n\tTRACE_FILE_ANNOTATE = 2,\n\tTRACE_FILE_TIME_IN_NS = 4,\n};\n\nenum trace_iterator_bits {\n\tTRACE_ITER_PRINT_PARENT_BIT = 0,\n\tTRACE_ITER_SYM_OFFSET_BIT = 1,\n\tTRACE_ITER_SYM_ADDR_BIT = 2,\n\tTRACE_ITER_VERBOSE_BIT = 3,\n\tTRACE_ITER_RAW_BIT = 4,\n\tTRACE_ITER_HEX_BIT = 5,\n\tTRACE_ITER_BIN_BIT = 6,\n\tTRACE_ITER_BLOCK_BIT = 7,\n\tTRACE_ITER_FIELDS_BIT = 8,\n\tTRACE_ITER_PRINTK_BIT = 9,\n\tTRACE_ITER_ANNOTATE_BIT = 10,\n\tTRACE_ITER_USERSTACKTRACE_BIT = 11,\n\tTRACE_ITER_SYM_USEROBJ_BIT = 12,\n\tTRACE_ITER_PRINTK_MSGONLY_BIT = 13,\n\tTRACE_ITER_CONTEXT_INFO_BIT = 14,\n\tTRACE_ITER_LATENCY_FMT_BIT = 15,\n\tTRACE_ITER_RECORD_CMD_BIT = 16,\n\tTRACE_ITER_RECORD_TGID_BIT = 17,\n\tTRACE_ITER_OVERWRITE_BIT = 18,\n\tTRACE_ITER_STOP_ON_FREE_BIT = 19,\n\tTRACE_ITER_IRQ_INFO_BIT = 20,\n\tTRACE_ITER_MARKERS_BIT = 21,\n\tTRACE_ITER_EVENT_FORK_BIT = 22,\n\tTRACE_ITER_TRACE_PRINTK_BIT = 23,\n\tTRACE_ITER_PAUSE_ON_TRACE_BIT = 24,\n\tTRACE_ITER_HASH_PTR_BIT = 25,\n\tTRACE_ITER_STACKTRACE_BIT = 26,\n\tTRACE_ITER_LAST_BIT = 27,\n};\n\nenum trace_iterator_flags {\n\tTRACE_ITER_PRINT_PARENT = 1,\n\tTRACE_ITER_SYM_OFFSET = 2,\n\tTRACE_ITER_SYM_ADDR = 4,\n\tTRACE_ITER_VERBOSE = 8,\n\tTRACE_ITER_RAW = 16,\n\tTRACE_ITER_HEX = 32,\n\tTRACE_ITER_BIN = 64,\n\tTRACE_ITER_BLOCK = 128,\n\tTRACE_ITER_FIELDS = 256,\n\tTRACE_ITER_PRINTK = 512,\n\tTRACE_ITER_ANNOTATE = 1024,\n\tTRACE_ITER_USERSTACKTRACE = 2048,\n\tTRACE_ITER_SYM_USEROBJ = 4096,\n\tTRACE_ITER_PRINTK_MSGONLY = 8192,\n\tTRACE_ITER_CONTEXT_INFO = 16384,\n\tTRACE_ITER_LATENCY_FMT = 32768,\n\tTRACE_ITER_RECORD_CMD = 65536,\n\tTRACE_ITER_RECORD_TGID = 131072,\n\tTRACE_ITER_OVERWRITE = 262144,\n\tTRACE_ITER_STOP_ON_FREE = 524288,\n\tTRACE_ITER_IRQ_INFO = 1048576,\n\tTRACE_ITER_MARKERS = 2097152,\n\tTRACE_ITER_EVENT_FORK = 4194304,\n\tTRACE_ITER_TRACE_PRINTK = 8388608,\n\tTRACE_ITER_PAUSE_ON_TRACE = 16777216,\n\tTRACE_ITER_HASH_PTR = 33554432,\n\tTRACE_ITER_STACKTRACE = 67108864,\n};\n\nenum trace_reg {\n\tTRACE_REG_REGISTER = 0,\n\tTRACE_REG_UNREGISTER = 1,\n\tTRACE_REG_PERF_REGISTER = 2,\n\tTRACE_REG_PERF_UNREGISTER = 3,\n\tTRACE_REG_PERF_OPEN = 4,\n\tTRACE_REG_PERF_CLOSE = 5,\n\tTRACE_REG_PERF_ADD = 6,\n\tTRACE_REG_PERF_DEL = 7,\n};\n\nenum trace_type {\n\t__TRACE_FIRST_TYPE = 0,\n\tTRACE_FN = 1,\n\tTRACE_CTX = 2,\n\tTRACE_WAKE = 3,\n\tTRACE_STACK = 4,\n\tTRACE_PRINT = 5,\n\tTRACE_BPRINT = 6,\n\tTRACE_MMIO_RW = 7,\n\tTRACE_MMIO_MAP = 8,\n\tTRACE_BRANCH = 9,\n\tTRACE_GRAPH_RET = 10,\n\tTRACE_GRAPH_ENT = 11,\n\tTRACE_GRAPH_RETADDR_ENT = 12,\n\tTRACE_USER_STACK = 13,\n\tTRACE_BLK = 14,\n\tTRACE_BPUTS = 15,\n\tTRACE_HWLAT = 16,\n\tTRACE_OSNOISE = 17,\n\tTRACE_TIMERLAT = 18,\n\tTRACE_RAW_DATA = 19,\n\tTRACE_FUNC_REPEATS = 20,\n\t__TRACE_LAST_TYPE = 21,\n};\n\nenum track_item {\n\tTRACK_ALLOC = 0,\n\tTRACK_FREE = 1,\n};\n\nenum trans_regime {\n\tTR_EL10 = 0,\n\tTR_EL20 = 1,\n\tTR_EL2 = 2,\n};\n\nenum translation_map {\n\tLAT1_MAP = 0,\n\tGRAF_MAP = 1,\n\tIBMPC_MAP = 2,\n\tUSER_MAP = 3,\n\tFIRST_MAP = 0,\n\tLAST_MAP = 3,\n};\n\nenum transparent_hugepage_flag {\n\tTRANSPARENT_HUGEPAGE_UNSUPPORTED = 0,\n\tTRANSPARENT_HUGEPAGE_FLAG = 1,\n\tTRANSPARENT_HUGEPAGE_REQ_MADV_FLAG = 2,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG = 3,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG = 4,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG = 5,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG = 6,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG = 7,\n\tTRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG = 8,\n};\n\nenum trap_behaviour {\n\tBEHAVE_HANDLE_LOCALLY = 0,\n\tBEHAVE_FORWARD_READ = 1,\n\tBEHAVE_FORWARD_WRITE = 2,\n\tBEHAVE_FORWARD_RW = 3,\n\tBEHAVE_FORWARD_IN_HOST_EL0 = 4,\n};\n\nenum tre_type {\n\tHIDMA_TRE_MEMCPY = 3,\n\tHIDMA_TRE_MEMSET = 4,\n};\n\nenum tsens_irq_type {\n\tLOWER = 0,\n\tUPPER = 1,\n\tCRITICAL = 2,\n};\n\nenum tsens_ver {\n\tVER_0 = 0,\n\tVER_0_1 = 1,\n\tVER_1_X = 2,\n\tVER_2_X = 3,\n};\n\nenum tsq_enum {\n\tTSQ_THROTTLED = 0,\n\tTSQ_QUEUED = 1,\n\tTCP_TSQ_DEFERRED = 2,\n\tTCP_WRITE_TIMER_DEFERRED = 3,\n\tTCP_DELACK_TIMER_DEFERRED = 4,\n\tTCP_MTU_REDUCED_DEFERRED = 5,\n\tTCP_ACK_DEFERRED = 6,\n};\n\nenum tsq_flags {\n\tTSQF_THROTTLED = 1,\n\tTSQF_QUEUED = 2,\n\tTCPF_TSQ_DEFERRED = 4,\n\tTCPF_WRITE_TIMER_DEFERRED = 8,\n\tTCPF_DELACK_TIMER_DEFERRED = 16,\n\tTCPF_MTU_REDUCED_DEFERRED = 32,\n\tTCPF_ACK_DEFERRED = 64,\n};\n\nenum ttu_flags {\n\tTTU_SPLIT_HUGE_PMD = 4,\n\tTTU_IGNORE_MLOCK = 8,\n\tTTU_SYNC = 16,\n\tTTU_HWPOISON = 32,\n\tTTU_BATCH_FLUSH = 64,\n\tTTU_RMAP_LOCKED = 128,\n};\n\nenum tty_flow_change {\n\tTTY_FLOW_NO_CHANGE = 0,\n\tTTY_THROTTLE_SAFE = 1,\n\tTTY_UNTHROTTLE_SAFE = 2,\n};\n\nenum tunable_id {\n\tETHTOOL_ID_UNSPEC = 0,\n\tETHTOOL_RX_COPYBREAK = 1,\n\tETHTOOL_TX_COPYBREAK = 2,\n\tETHTOOL_PFC_PREVENTION_TOUT = 3,\n\tETHTOOL_TX_COPYBREAK_BUF_SIZE = 4,\n\t__ETHTOOL_TUNABLE_COUNT = 5,\n};\n\nenum tunable_type_id {\n\tETHTOOL_TUNABLE_UNSPEC = 0,\n\tETHTOOL_TUNABLE_U8 = 1,\n\tETHTOOL_TUNABLE_U16 = 2,\n\tETHTOOL_TUNABLE_U32 = 3,\n\tETHTOOL_TUNABLE_U64 = 4,\n\tETHTOOL_TUNABLE_STRING = 5,\n\tETHTOOL_TUNABLE_S8 = 6,\n\tETHTOOL_TUNABLE_S16 = 7,\n\tETHTOOL_TUNABLE_S32 = 8,\n\tETHTOOL_TUNABLE_S64 = 9,\n};\n\nenum tx_queue_prio {\n\tTX_QUEUE_PRIO_HIGH = 0,\n\tTX_QUEUE_PRIO_LOW = 1,\n};\n\nenum tx_stats_reg_offset {\n\tTX_OCTS = 0,\n\tTX_UCAST = 1,\n\tTX_BCAST = 2,\n\tTX_MCAST = 3,\n\tTX_DROP = 4,\n\tTX_STATS_ENUM_LAST = 5,\n};\n\nenum txtime_flags {\n\tSOF_TXTIME_DEADLINE_MODE = 1,\n\tSOF_TXTIME_REPORT_ERRORS = 2,\n\tSOF_TXTIME_FLAGS_LAST = 2,\n\tSOF_TXTIME_FLAGS_MASK = 3,\n};\n\nenum u2_phy_params {\n\tU2P_EYE_VRT = 0,\n\tU2P_EYE_TERM = 1,\n\tU2P_EFUSE_EN = 2,\n\tU2P_EFUSE_INTR = 3,\n\tU2P_DISCTH = 4,\n\tU2P_PRE_EMPHASIS = 5,\n};\n\nenum u3_phy_params {\n\tU3P_EFUSE_EN = 0,\n\tU3P_EFUSE_INTR = 1,\n\tU3P_EFUSE_TX_IMP = 2,\n\tU3P_EFUSE_RX_IMP = 3,\n};\n\nenum uart_pm_state {\n\tUART_PM_STATE_ON = 0,\n\tUART_PM_STATE_OFF = 3,\n\tUART_PM_STATE_UNDEFINED = 4,\n};\n\nenum uclamp_id {\n\tUCLAMP_MIN = 0,\n\tUCLAMP_MAX = 1,\n\tUCLAMP_CNT = 2,\n};\n\nenum ucount_type {\n\tUCOUNT_USER_NAMESPACES = 0,\n\tUCOUNT_PID_NAMESPACES = 1,\n\tUCOUNT_UTS_NAMESPACES = 2,\n\tUCOUNT_IPC_NAMESPACES = 3,\n\tUCOUNT_NET_NAMESPACES = 4,\n\tUCOUNT_MNT_NAMESPACES = 5,\n\tUCOUNT_CGROUP_NAMESPACES = 6,\n\tUCOUNT_TIME_NAMESPACES = 7,\n\tUCOUNT_INOTIFY_INSTANCES = 8,\n\tUCOUNT_INOTIFY_WATCHES = 9,\n\tUCOUNT_FANOTIFY_GROUPS = 10,\n\tUCOUNT_FANOTIFY_MARKS = 11,\n\tUCOUNT_COUNTS = 12,\n};\n\nenum udma_chan_state {\n\tUDMA_CHAN_IS_IDLE = 0,\n\tUDMA_CHAN_IS_ACTIVE = 1,\n\tUDMA_CHAN_IS_TERMINATING = 2,\n};\n\nenum udma_mmr {\n\tMMR_GCFG = 0,\n\tMMR_BCHANRT = 1,\n\tMMR_RCHANRT = 2,\n\tMMR_TCHANRT = 3,\n\tMMR_LAST = 4,\n};\n\nenum udma_rm_range {\n\tRM_RANGE_BCHAN = 0,\n\tRM_RANGE_TCHAN = 1,\n\tRM_RANGE_RCHAN = 2,\n\tRM_RANGE_RFLOW = 3,\n\tRM_RANGE_TFLOW = 4,\n\tRM_RANGE_LAST = 5,\n};\n\nenum udma_tp_level {\n\tUDMA_TP_NORMAL = 0,\n\tUDMA_TP_HIGH = 1,\n\tUDMA_TP_ULTRAHIGH = 2,\n\tUDMA_TP_LAST = 3,\n};\n\nenum udp_conntrack {\n\tUDP_CT_UNREPLIED = 0,\n\tUDP_CT_REPLIED = 1,\n\tUDP_CT_MAX = 2,\n};\n\nenum udp_parsable_tunnel_type {\n\tUDP_TUNNEL_TYPE_VXLAN = 1,\n\tUDP_TUNNEL_TYPE_GENEVE = 2,\n\tUDP_TUNNEL_TYPE_VXLAN_GPE = 4,\n};\n\nenum udp_tunnel_nic_info_flags {\n\tUDP_TUNNEL_NIC_INFO_MAY_SLEEP = 1,\n\tUDP_TUNNEL_NIC_INFO_OPEN_ONLY = 2,\n\tUDP_TUNNEL_NIC_INFO_IPV4_ONLY = 4,\n\tUDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN = 8,\n};\n\nenum ufs_bsg_msg_code {\n\tUPIU_TRANSACTION_UIC_CMD = 31,\n\tUPIU_TRANSACTION_ARPMB_CMD = 32,\n};\n\nenum ufs_dev_pwr_mode {\n\tUFS_ACTIVE_PWR_MODE = 1,\n\tUFS_SLEEP_PWR_MODE = 2,\n\tUFS_POWERDOWN_PWR_MODE = 3,\n\tUFS_DEEPSLEEP_PWR_MODE = 4,\n};\n\nenum ufs_event_type {\n\tUFS_EVT_PA_ERR = 0,\n\tUFS_EVT_DL_ERR = 1,\n\tUFS_EVT_NL_ERR = 2,\n\tUFS_EVT_TL_ERR = 3,\n\tUFS_EVT_DME_ERR = 4,\n\tUFS_EVT_AUTO_HIBERN8_ERR = 5,\n\tUFS_EVT_FATAL_ERR = 6,\n\tUFS_EVT_LINK_STARTUP_FAIL = 7,\n\tUFS_EVT_RESUME_ERR = 8,\n\tUFS_EVT_SUSPEND_ERR = 9,\n\tUFS_EVT_WL_SUSP_ERR = 10,\n\tUFS_EVT_WL_RES_ERR = 11,\n\tUFS_EVT_DEV_RESET = 12,\n\tUFS_EVT_HOST_RESET = 13,\n\tUFS_EVT_ABORT = 14,\n\tUFS_EVT_CNT = 15,\n};\n\nenum ufs_hs_gear_rate {\n\tPA_HS_MODE_A = 1,\n\tPA_HS_MODE_B = 2,\n};\n\nenum ufs_hs_gear_tag {\n\tUFS_HS_DONT_CHANGE = 0,\n\tUFS_HS_G1 = 1,\n\tUFS_HS_G2 = 2,\n\tUFS_HS_G3 = 3,\n\tUFS_HS_G4 = 4,\n\tUFS_HS_G5 = 5,\n};\n\nenum ufs_lanes {\n\tUFS_LANE_DONT_CHANGE = 0,\n\tUFS_LANE_1 = 1,\n\tUFS_LANE_2 = 2,\n};\n\nenum ufs_lu_wp_type {\n\tUFS_LU_NO_WP = 0,\n\tUFS_LU_POWER_ON_WP = 1,\n\tUFS_LU_PERM_WP = 2,\n};\n\nenum ufs_notify_change_status {\n\tPRE_CHANGE = 0,\n\tPOST_CHANGE = 1,\n};\n\nenum ufs_pa_pwr_mode {\n\tFAST_MODE = 1,\n\tSLOW_MODE = 2,\n\tFASTAUTO_MODE = 4,\n\tSLOWAUTO_MODE = 5,\n\tUNCHANGED = 7,\n};\n\nenum ufs_pm_level {\n\tUFS_PM_LVL_0 = 0,\n\tUFS_PM_LVL_1 = 1,\n\tUFS_PM_LVL_2 = 2,\n\tUFS_PM_LVL_3 = 3,\n\tUFS_PM_LVL_4 = 4,\n\tUFS_PM_LVL_5 = 5,\n\tUFS_PM_LVL_6 = 6,\n\tUFS_PM_LVL_MAX = 7,\n};\n\nenum ufs_pm_op {\n\tUFS_RUNTIME_PM = 0,\n\tUFS_SYSTEM_PM = 1,\n\tUFS_SHUTDOWN_PM = 2,\n};\n\nenum ufs_pwm_gear_tag {\n\tUFS_PWM_DONT_CHANGE = 0,\n\tUFS_PWM_G1 = 1,\n\tUFS_PWM_G2 = 2,\n\tUFS_PWM_G3 = 3,\n\tUFS_PWM_G4 = 4,\n\tUFS_PWM_G5 = 5,\n\tUFS_PWM_G6 = 6,\n\tUFS_PWM_G7 = 7,\n};\n\nenum ufs_ref_clk_freq {\n\tREF_CLK_FREQ_19_2_MHZ = 0,\n\tREF_CLK_FREQ_26_MHZ = 1,\n\tREF_CLK_FREQ_38_4_MHZ = 2,\n\tREF_CLK_FREQ_52_MHZ = 3,\n\tREF_CLK_FREQ_INVAL = -1,\n};\n\nenum ufs_rpmb_op_type {\n\tUFS_RPMB_WRITE_KEY = 1,\n\tUFS_RPMB_READ_CNT = 2,\n\tUFS_RPMB_WRITE = 3,\n\tUFS_RPMB_READ = 4,\n\tUFS_RPMB_READ_RESP = 5,\n\tUFS_RPMB_SEC_CONF_WRITE = 6,\n\tUFS_RPMB_SEC_CONF_READ = 7,\n\tUFS_RPMB_PURGE_ENABLE = 8,\n\tUFS_RPMB_PURGE_STATUS_READ = 9,\n};\n\nenum ufs_rtc_time {\n\tUFS_RTC_RELATIVE = 0,\n\tUFS_RTC_ABSOLUTE = 1,\n};\n\nenum ufs_trace_str_t {\n\tUFS_CMD_SEND = 0,\n\tUFS_CMD_COMP = 1,\n\tUFS_DEV_COMP = 2,\n\tUFS_QUERY_SEND = 3,\n\tUFS_QUERY_COMP = 4,\n\tUFS_QUERY_ERR = 5,\n\tUFS_TM_SEND = 6,\n\tUFS_TM_COMP = 7,\n\tUFS_TM_ERR = 8,\n};\n\nenum ufs_trace_tsf_t {\n\tUFS_TSF_CDB = 0,\n\tUFS_TSF_OSF = 1,\n\tUFS_TSF_TM_INPUT = 2,\n\tUFS_TSF_TM_OUTPUT = 3,\n};\n\nenum ufshcd_caps {\n\tUFSHCD_CAP_CLK_GATING = 1,\n\tUFSHCD_CAP_HIBERN8_WITH_CLK_GATING = 2,\n\tUFSHCD_CAP_CLK_SCALING = 4,\n\tUFSHCD_CAP_AUTO_BKOPS_SUSPEND = 8,\n\tUFSHCD_CAP_INTR_AGGR = 16,\n\tUFSHCD_CAP_KEEP_AUTO_BKOPS_ENABLED_EXCEPT_SUSPEND = 32,\n\tUFSHCD_CAP_RPM_AUTOSUSPEND = 64,\n\tUFSHCD_CAP_WB_EN = 128,\n\tUFSHCD_CAP_CRYPTO = 256,\n\tUFSHCD_CAP_AGGR_POWER_COLLAPSE = 512,\n\tUFSHCD_CAP_DEEPSLEEP = 1024,\n\tUFSHCD_CAP_TEMP_NOTIF = 2048,\n\tUFSHCD_CAP_WB_WITH_CLK_SCALING = 4096,\n};\n\nenum ufshcd_mcq_opr {\n\tOPR_SQD = 0,\n\tOPR_SQIS = 1,\n\tOPR_CQD = 2,\n\tOPR_CQIS = 3,\n\tOPR_MAX = 4,\n};\n\nenum ufshcd_quirks {\n\tUFSHCD_QUIRK_BROKEN_INTR_AGGR = 1,\n\tUFSHCD_QUIRK_DELAY_BEFORE_DME_CMDS = 2,\n\tUFSHCD_QUIRK_BROKEN_LCC = 4,\n\tUFSHCD_QUIRK_BROKEN_PA_RXHSUNTERMCAP = 8,\n\tUFSHCD_QUIRK_DME_PEER_ACCESS_AUTO_MODE = 16,\n\tUFSHCD_QUIRK_BROKEN_UFS_HCI_VERSION = 32,\n\tUFSHCI_QUIRK_BROKEN_REQ_LIST_CLR = 64,\n\tUFSHCI_QUIRK_SKIP_RESET_INTR_AGGR = 128,\n\tUFSHCI_QUIRK_BROKEN_HCE = 256,\n\tUFSHCD_QUIRK_PRDT_BYTE_GRAN = 512,\n\tUFSHCD_QUIRK_BROKEN_OCS_FATAL_ERROR = 1024,\n\tUFSHCD_QUIRK_BROKEN_AUTO_HIBERN8 = 2048,\n\tUFSHCI_QUIRK_SKIP_MANUAL_WB_FLUSH_CTRL = 4096,\n\tUFSHCD_QUIRK_SKIP_DEF_UNIPRO_TIMEOUT_SETTING = 8192,\n\tUFSHCD_QUIRK_BROKEN_UIC_CMD = 32768,\n\tUFSHCD_QUIRK_SKIP_PH_CONFIGURATION = 65536,\n\tUFSHCD_QUIRK_HIBERN_FASTAUTO = 262144,\n\tUFSHCD_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH = 524288,\n\tUFSHCD_QUIRK_MCQ_BROKEN_INTR = 1048576,\n\tUFSHCD_QUIRK_MCQ_BROKEN_RTC = 2097152,\n\tUFSHCD_QUIRK_CUSTOM_CRYPTO_PROFILE = 4194304,\n\tUFSHCD_QUIRK_BROKEN_CRYPTO_ENABLE = 8388608,\n\tUFSHCD_QUIRK_KEYS_IN_PRDT = 16777216,\n\tUFSHCD_QUIRK_BROKEN_LSDBS_CAP = 33554432,\n};\n\nenum ufshcd_res {\n\tRES_UFS = 0,\n\tRES_MCQ = 1,\n\tRES_MCQ_SQD = 2,\n\tRES_MCQ_SQIS = 3,\n\tRES_MCQ_CQD = 4,\n\tRES_MCQ_CQIS = 5,\n\tRES_MCQ_VS = 6,\n\tRES_MAX = 7,\n};\n\nenum ufshcd_state {\n\tUFSHCD_STATE_RESET = 0,\n\tUFSHCD_STATE_OPERATIONAL = 1,\n\tUFSHCD_STATE_EH_SCHEDULED_NON_FATAL = 2,\n\tUFSHCD_STATE_EH_SCHEDULED_FATAL = 3,\n\tUFSHCD_STATE_ERROR = 4,\n};\n\nenum uic_cmd_dme {\n\tUIC_CMD_DME_GET = 1,\n\tUIC_CMD_DME_SET = 2,\n\tUIC_CMD_DME_PEER_GET = 3,\n\tUIC_CMD_DME_PEER_SET = 4,\n\tUIC_CMD_DME_POWERON = 16,\n\tUIC_CMD_DME_POWEROFF = 17,\n\tUIC_CMD_DME_ENABLE = 18,\n\tUIC_CMD_DME_RESET = 20,\n\tUIC_CMD_DME_END_PT_RST = 21,\n\tUIC_CMD_DME_LINK_STARTUP = 22,\n\tUIC_CMD_DME_HIBER_ENTER = 23,\n\tUIC_CMD_DME_HIBER_EXIT = 24,\n\tUIC_CMD_DME_TEST_MODE = 26,\n};\n\nenum uic_link_state {\n\tUIC_LINK_OFF_STATE = 0,\n\tUIC_LINK_ACTIVE_STATE = 1,\n\tUIC_LINK_HIBERN8_STATE = 2,\n\tUIC_LINK_BROKEN_STATE = 3,\n};\n\nenum umh_disable_depth {\n\tUMH_ENABLED = 0,\n\tUMH_FREEZING = 1,\n\tUMH_DISABLED = 2,\n};\n\nenum umount_tree_flags {\n\tUMOUNT_SYNC = 1,\n\tUMOUNT_PROPAGATE = 2,\n\tUMOUNT_CONNECTED = 4,\n};\n\nenum uniphier_clk_type {\n\tUNIPHIER_CLK_TYPE_CPUGEAR = 0,\n\tUNIPHIER_CLK_TYPE_FIXED_FACTOR = 1,\n\tUNIPHIER_CLK_TYPE_FIXED_RATE = 2,\n\tUNIPHIER_CLK_TYPE_GATE = 3,\n\tUNIPHIER_CLK_TYPE_MUX = 4,\n};\n\nenum uniphier_pin_drv_type {\n\tUNIPHIER_PIN_DRV_1BIT = 0,\n\tUNIPHIER_PIN_DRV_2BIT = 1,\n\tUNIPHIER_PIN_DRV_3BIT = 2,\n\tUNIPHIER_PIN_DRV_FIXED4 = 3,\n\tUNIPHIER_PIN_DRV_FIXED5 = 4,\n\tUNIPHIER_PIN_DRV_FIXED8 = 5,\n\tUNIPHIER_PIN_DRV_NONE = 6,\n};\n\nenum uniphier_pin_pull_dir {\n\tUNIPHIER_PIN_PULL_UP = 0,\n\tUNIPHIER_PIN_PULL_DOWN = 1,\n\tUNIPHIER_PIN_PULL_UP_FIXED = 2,\n\tUNIPHIER_PIN_PULL_DOWN_FIXED = 3,\n\tUNIPHIER_PIN_PULL_NONE = 4,\n};\n\nenum unit_desc_param {\n\tUNIT_DESC_PARAM_LEN = 0,\n\tUNIT_DESC_PARAM_TYPE = 1,\n\tUNIT_DESC_PARAM_UNIT_INDEX = 2,\n\tUNIT_DESC_PARAM_LU_ENABLE = 3,\n\tUNIT_DESC_PARAM_BOOT_LUN_ID = 4,\n\tUNIT_DESC_PARAM_LU_WR_PROTECT = 5,\n\tUNIT_DESC_PARAM_LU_Q_DEPTH = 6,\n\tUNIT_DESC_PARAM_PSA_SENSITIVE = 7,\n\tUNIT_DESC_PARAM_MEM_TYPE = 8,\n\tUNIT_DESC_PARAM_DATA_RELIABILITY = 9,\n\tUNIT_DESC_PARAM_LOGICAL_BLK_SIZE = 10,\n\tUNIT_DESC_PARAM_LOGICAL_BLK_COUNT = 11,\n\tUNIT_DESC_PARAM_ERASE_BLK_SIZE = 19,\n\tUNIT_DESC_PARAM_PROVISIONING_TYPE = 23,\n\tUNIT_DESC_PARAM_PHY_MEM_RSRC_CNT = 24,\n\tUNIT_DESC_PARAM_CTX_CAPABILITIES = 32,\n\tUNIT_DESC_PARAM_LARGE_UNIT_SIZE_M1 = 34,\n\tUNIT_DESC_PARAM_HPB_LU_MAX_ACTIVE_RGNS = 35,\n\tUNIT_DESC_PARAM_HPB_PIN_RGN_START_OFF = 37,\n\tUNIT_DESC_PARAM_HPB_NUM_PIN_RGNS = 39,\n\tUNIT_DESC_PARAM_WB_BUF_ALLOC_UNITS = 41,\n};\n\nenum unix_vertex_index {\n\tUNIX_VERTEX_INDEX_MARK1 = 0,\n\tUNIX_VERTEX_INDEX_MARK2 = 1,\n\tUNIX_VERTEX_INDEX_START = 2,\n};\n\nenum upiu_request_transaction {\n\tUPIU_TRANSACTION_NOP_OUT = 0,\n\tUPIU_TRANSACTION_COMMAND = 1,\n\tUPIU_TRANSACTION_DATA_OUT = 2,\n\tUPIU_TRANSACTION_TASK_REQ = 4,\n\tUPIU_TRANSACTION_QUERY_REQ = 22,\n};\n\nenum upiu_response_transaction {\n\tUPIU_TRANSACTION_NOP_IN = 32,\n\tUPIU_TRANSACTION_RESPONSE = 33,\n\tUPIU_TRANSACTION_DATA_IN = 34,\n\tUPIU_TRANSACTION_TASK_RSP = 36,\n\tUPIU_TRANSACTION_READY_XFER = 49,\n\tUPIU_TRANSACTION_QUERY_RSP = 54,\n\tUPIU_TRANSACTION_REJECT_UPIU = 63,\n};\n\nenum uprobe_task_state {\n\tUTASK_RUNNING = 0,\n\tUTASK_SSTEP = 1,\n\tUTASK_SSTEP_ACK = 2,\n\tUTASK_SSTEP_TRAPPED = 3,\n};\n\nenum usb3503_mode {\n\tUSB3503_MODE_UNKNOWN = 0,\n\tUSB3503_MODE_HUB = 1,\n\tUSB3503_MODE_STANDBY = 2,\n\tUSB3503_MODE_BYPASS = 3,\n};\n\nenum usb3_link_state {\n\tUSB3_LPM_U0 = 0,\n\tUSB3_LPM_U1 = 1,\n\tUSB3_LPM_U2 = 2,\n\tUSB3_LPM_U3 = 3,\n};\n\nenum usb_charger_state {\n\tUSB_CHARGER_DEFAULT = 0,\n\tUSB_CHARGER_PRESENT = 1,\n\tUSB_CHARGER_ABSENT = 2,\n};\n\nenum usb_charger_type {\n\tUNKNOWN_TYPE = 0,\n\tSDP_TYPE = 1,\n\tDCP_TYPE = 2,\n\tCDP_TYPE = 3,\n\tACA_TYPE = 4,\n};\n\nenum usb_chg_state {\n\tUSB_CHG_STATE_UNDEFINED = 0,\n\tUSB_CHG_STATE_WAIT_FOR_DCD = 1,\n\tUSB_CHG_STATE_DCD_DONE = 2,\n\tUSB_CHG_STATE_PRIMARY_DONE = 3,\n\tUSB_CHG_STATE_SECONDARY_DONE = 4,\n\tUSB_CHG_STATE_DETECTED = 5,\n};\n\nenum usb_chg_type {\n\tUSB_CHG_TYPE_NONE = 0,\n\tUSB_CHG_TYPE_PD = 1,\n\tUSB_CHG_TYPE_C = 2,\n\tUSB_CHG_TYPE_PROPRIETARY = 3,\n\tUSB_CHG_TYPE_BC12_DCP = 4,\n\tUSB_CHG_TYPE_BC12_CDP = 5,\n\tUSB_CHG_TYPE_BC12_SDP = 6,\n\tUSB_CHG_TYPE_OTHER = 7,\n\tUSB_CHG_TYPE_VBUS = 8,\n\tUSB_CHG_TYPE_UNKNOWN = 9,\n\tUSB_CHG_TYPE_DEDICATED = 10,\n};\n\nenum usb_data_roles {\n\tDR_NONE = 0,\n\tDR_HOST = 1,\n\tDR_DEVICE = 2,\n};\n\nenum usb_dev_authorize_policy {\n\tUSB_DEVICE_AUTHORIZE_NONE = 0,\n\tUSB_DEVICE_AUTHORIZE_ALL = 1,\n\tUSB_DEVICE_AUTHORIZE_INTERNAL = 2,\n};\n\nenum usb_device_speed {\n\tUSB_SPEED_UNKNOWN = 0,\n\tUSB_SPEED_LOW = 1,\n\tUSB_SPEED_FULL = 2,\n\tUSB_SPEED_HIGH = 3,\n\tUSB_SPEED_WIRELESS = 4,\n\tUSB_SPEED_SUPER = 5,\n\tUSB_SPEED_SUPER_PLUS = 6,\n};\n\nenum usb_device_state {\n\tUSB_STATE_NOTATTACHED = 0,\n\tUSB_STATE_ATTACHED = 1,\n\tUSB_STATE_POWERED = 2,\n\tUSB_STATE_RECONNECTING = 3,\n\tUSB_STATE_UNAUTHENTICATED = 4,\n\tUSB_STATE_DEFAULT = 5,\n\tUSB_STATE_ADDRESS = 6,\n\tUSB_STATE_CONFIGURED = 7,\n\tUSB_STATE_SUSPENDED = 8,\n};\n\nenum usb_dr_mode {\n\tUSB_DR_MODE_UNKNOWN = 0,\n\tUSB_DR_MODE_HOST = 1,\n\tUSB_DR_MODE_PERIPHERAL = 2,\n\tUSB_DR_MODE_OTG = 3,\n};\n\nenum usb_interface_condition {\n\tUSB_INTERFACE_UNBOUND = 0,\n\tUSB_INTERFACE_BINDING = 1,\n\tUSB_INTERFACE_BOUND = 2,\n\tUSB_INTERFACE_UNBINDING = 3,\n};\n\nenum usb_led_event {\n\tUSB_LED_EVENT_HOST = 0,\n\tUSB_LED_EVENT_GADGET = 1,\n};\n\nenum usb_link_tunnel_mode {\n\tUSB_LINK_UNKNOWN = 0,\n\tUSB_LINK_NATIVE = 1,\n\tUSB_LINK_TUNNELED = 2,\n};\n\nenum usb_otg_state {\n\tOTG_STATE_UNDEFINED = 0,\n\tOTG_STATE_B_IDLE = 1,\n\tOTG_STATE_B_SRP_INIT = 2,\n\tOTG_STATE_B_PERIPHERAL = 3,\n\tOTG_STATE_B_WAIT_ACON = 4,\n\tOTG_STATE_B_HOST = 5,\n\tOTG_STATE_A_IDLE = 6,\n\tOTG_STATE_A_WAIT_VRISE = 7,\n\tOTG_STATE_A_WAIT_BCON = 8,\n\tOTG_STATE_A_HOST = 9,\n\tOTG_STATE_A_SUSPEND = 10,\n\tOTG_STATE_A_PERIPHERAL = 11,\n\tOTG_STATE_A_WAIT_VFALL = 12,\n\tOTG_STATE_A_VBUS_ERR = 13,\n};\n\nenum usb_pd_control_mux {\n\tUSB_PD_CTRL_MUX_NO_CHANGE = 0,\n\tUSB_PD_CTRL_MUX_NONE = 1,\n\tUSB_PD_CTRL_MUX_USB = 2,\n\tUSB_PD_CTRL_MUX_DP = 3,\n\tUSB_PD_CTRL_MUX_DOCK = 4,\n\tUSB_PD_CTRL_MUX_AUTO = 5,\n\tUSB_PD_CTRL_MUX_COUNT = 6,\n};\n\nenum usb_pd_control_role {\n\tUSB_PD_CTRL_ROLE_NO_CHANGE = 0,\n\tUSB_PD_CTRL_ROLE_TOGGLE_ON = 1,\n\tUSB_PD_CTRL_ROLE_TOGGLE_OFF = 2,\n\tUSB_PD_CTRL_ROLE_FORCE_SINK = 3,\n\tUSB_PD_CTRL_ROLE_FORCE_SOURCE = 4,\n\tUSB_PD_CTRL_ROLE_FREEZE = 5,\n\tUSB_PD_CTRL_ROLE_COUNT = 6,\n};\n\nenum usb_pd_control_swap {\n\tUSB_PD_CTRL_SWAP_NONE = 0,\n\tUSB_PD_CTRL_SWAP_DATA = 1,\n\tUSB_PD_CTRL_SWAP_POWER = 2,\n\tUSB_PD_CTRL_SWAP_VCONN = 3,\n\tUSB_PD_CTRL_SWAP_COUNT = 4,\n};\n\nenum usb_phy_events {\n\tUSB_EVENT_NONE = 0,\n\tUSB_EVENT_VBUS = 1,\n\tUSB_EVENT_ID = 2,\n\tUSB_EVENT_CHARGER = 3,\n\tUSB_EVENT_ENUMERATED = 4,\n};\n\nenum usb_phy_interface {\n\tUSBPHY_INTERFACE_MODE_UNKNOWN = 0,\n\tUSBPHY_INTERFACE_MODE_UTMI = 1,\n\tUSBPHY_INTERFACE_MODE_UTMIW = 2,\n\tUSBPHY_INTERFACE_MODE_ULPI = 3,\n\tUSBPHY_INTERFACE_MODE_SERIAL = 4,\n\tUSBPHY_INTERFACE_MODE_HSIC = 5,\n};\n\nenum usb_phy_type {\n\tUSB_PHY_TYPE_UNDEFINED = 0,\n\tUSB_PHY_TYPE_USB2 = 1,\n\tUSB_PHY_TYPE_USB3 = 2,\n};\n\nenum usb_port_connect_type {\n\tUSB_PORT_CONNECT_TYPE_UNKNOWN = 0,\n\tUSB_PORT_CONNECT_TYPE_HOT_PLUG = 1,\n\tUSB_PORT_CONNECT_TYPE_HARD_WIRED = 2,\n\tUSB_PORT_NOT_USED = 3,\n};\n\nenum usb_role {\n\tUSB_ROLE_NONE = 0,\n\tUSB_ROLE_HOST = 1,\n\tUSB_ROLE_DEVICE = 2,\n};\n\nenum usb_ssp_rate {\n\tUSB_SSP_GEN_UNKNOWN = 0,\n\tUSB_SSP_GEN_2x1 = 1,\n\tUSB_SSP_GEN_1x2 = 2,\n\tUSB_SSP_GEN_2x2 = 3,\n};\n\nenum usb_wireless_status {\n\tUSB_WIRELESS_STATUS_NA = 0,\n\tUSB_WIRELESS_STATUS_DISCONNECTED = 1,\n\tUSB_WIRELESS_STATUS_CONNECTED = 2,\n};\n\nenum utf16_endian {\n\tUTF16_HOST_ENDIAN = 0,\n\tUTF16_LITTLE_ENDIAN = 1,\n\tUTF16_BIG_ENDIAN = 2,\n};\n\nenum utf8_normalization {\n\tUTF8_NFDI = 0,\n\tUTF8_NFDICF = 1,\n\tUTF8_NMAX = 2,\n};\n\nenum utp_data_direction {\n\tUTP_NO_DATA_TRANSFER = 0,\n\tUTP_HOST_TO_DEVICE = 1,\n\tUTP_DEVICE_TO_HOST = 2,\n};\n\nenum utp_ocs {\n\tOCS_SUCCESS = 0,\n\tOCS_INVALID_CMD_TABLE_ATTR = 1,\n\tOCS_INVALID_PRDT_ATTR = 2,\n\tOCS_MISMATCH_DATA_BUF_SIZE = 3,\n\tOCS_MISMATCH_RESP_UPIU_SIZE = 4,\n\tOCS_PEER_COMM_FAILURE = 5,\n\tOCS_ABORTED = 6,\n\tOCS_FATAL_ERROR = 7,\n\tOCS_DEVICE_FATAL_ERROR = 8,\n\tOCS_INVALID_CRYPTO_CONFIG = 9,\n\tOCS_GENERAL_CRYPTO_ERROR = 10,\n\tOCS_INVALID_COMMAND_STATUS = 15,\n};\n\nenum uts_proc {\n\tUTS_PROC_ARCH = 0,\n\tUTS_PROC_OSTYPE = 1,\n\tUTS_PROC_OSRELEASE = 2,\n\tUTS_PROC_VERSION = 3,\n\tUTS_PROC_HOSTNAME = 4,\n\tUTS_PROC_DOMAINNAME = 5,\n};\n\nenum v4l2_av1_segment_feature {\n\tV4L2_AV1_SEG_LVL_ALT_Q = 0,\n\tV4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,\n\tV4L2_AV1_SEG_LVL_REF_FRAME = 5,\n\tV4L2_AV1_SEG_LVL_REF_SKIP = 6,\n\tV4L2_AV1_SEG_LVL_REF_GLOBALMV = 7,\n\tV4L2_AV1_SEG_LVL_MAX = 8,\n};\n\nenum v4l2_fwnode_bus_type {\n\tV4L2_FWNODE_BUS_TYPE_GUESS = 0,\n\tV4L2_FWNODE_BUS_TYPE_CSI2_CPHY = 1,\n\tV4L2_FWNODE_BUS_TYPE_CSI1 = 2,\n\tV4L2_FWNODE_BUS_TYPE_CCP2 = 3,\n\tV4L2_FWNODE_BUS_TYPE_CSI2_DPHY = 4,\n\tV4L2_FWNODE_BUS_TYPE_PARALLEL = 5,\n\tV4L2_FWNODE_BUS_TYPE_BT656 = 6,\n\tV4L2_FWNODE_BUS_TYPE_DPI = 7,\n\tNR_OF_V4L2_FWNODE_BUS_TYPE = 8,\n};\n\nenum v4l2_preemphasis {\n\tV4L2_PREEMPHASIS_DISABLED = 0,\n\tV4L2_PREEMPHASIS_50_uS = 1,\n\tV4L2_PREEMPHASIS_75_uS = 2,\n};\n\nenum vc3_clk {\n\tVC3_REF = 0,\n\tVC3_SE1 = 1,\n\tVC3_SE2 = 2,\n\tVC3_SE3 = 3,\n\tVC3_DIFF1 = 4,\n\tVC3_DIFF2 = 5,\n};\n\nenum vc3_clk_mux {\n\tVC3_SE1_MUX = 0,\n\tVC3_SE2_MUX = 1,\n\tVC3_SE3_MUX = 2,\n\tVC3_DIFF1_MUX = 3,\n\tVC3_DIFF2_MUX = 4,\n};\n\nenum vc3_div {\n\tVC3_DIV1 = 0,\n\tVC3_DIV2 = 1,\n\tVC3_DIV3 = 2,\n\tVC3_DIV4 = 3,\n\tVC3_DIV5 = 4,\n};\n\nenum vc3_div_mux {\n\tVC3_DIV1_MUX = 0,\n\tVC3_DIV3_MUX = 1,\n\tVC3_DIV4_MUX = 2,\n};\n\nenum vc3_pfd {\n\tVC3_PFD1 = 0,\n\tVC3_PFD2 = 1,\n\tVC3_PFD3 = 2,\n};\n\nenum vc3_pfd_mux {\n\tVC3_PFD2_MUX = 0,\n\tVC3_PFD3_MUX = 1,\n};\n\nenum vc3_pll {\n\tVC3_PLL1 = 0,\n\tVC3_PLL2 = 1,\n\tVC3_PLL3 = 2,\n};\n\nenum vc5_model {\n\tIDT_VC5_5P49V5923 = 0,\n\tIDT_VC5_5P49V5925 = 1,\n\tIDT_VC5_5P49V5933 = 2,\n\tIDT_VC5_5P49V5935 = 3,\n\tIDT_VC6_5P49V60 = 4,\n\tIDT_VC6_5P49V6901 = 5,\n\tIDT_VC6_5P49V6965 = 6,\n\tIDT_VC6_5P49V6975 = 7,\n};\n\nenum vc_ctl_state {\n\tESnormal = 0,\n\tESesc = 1,\n\tESsquare = 2,\n\tESgetpars = 3,\n\tESfunckey = 4,\n\tEShash = 5,\n\tESsetG0 = 6,\n\tESsetG1 = 7,\n\tESpercent = 8,\n\tEScsiignore = 9,\n\tESnonstd = 10,\n\tESpalette = 11,\n\tESosc = 12,\n\tESANSI_first = 12,\n\tESapc = 13,\n\tESpm = 14,\n\tESdcs = 15,\n\tESANSI_last = 15,\n};\n\nenum vc_intensity {\n\tVCI_HALF_BRIGHT = 0,\n\tVCI_NORMAL = 1,\n\tVCI_BOLD = 2,\n\tVCI_MASK = 3,\n};\n\nenum vco_freq_range {\n\tVCO_LOW = 700000000,\n\tVCO_MID = 1200000000,\n\tVCO_HIGH = 2200000000,\n\tVCO_HIGH_HIGH = 3100000000,\n\tVCO_MAX = 4000000000,\n};\n\nenum vcpu_sysreg {\n\t__INVALID_SYSREG__ = 0,\n\tMPIDR_EL1 = 1,\n\tCLIDR_EL1 = 2,\n\tCSSELR_EL1 = 3,\n\tTPIDR_EL0 = 4,\n\tTPIDRRO_EL0 = 5,\n\tTPIDR_EL1 = 6,\n\tCNTKCTL_EL1 = 7,\n\tPAR_EL1 = 8,\n\tMDCCINT_EL1 = 9,\n\tOSLSR_EL1 = 10,\n\tDISR_EL1 = 11,\n\tPMCR_EL0 = 12,\n\tPMSELR_EL0 = 13,\n\tPMEVCNTR0_EL0 = 14,\n\tPMEVCNTR30_EL0 = 44,\n\tPMCCNTR_EL0 = 45,\n\tPMEVTYPER0_EL0 = 46,\n\tPMEVTYPER30_EL0 = 76,\n\tPMCCFILTR_EL0 = 77,\n\tPMCNTENSET_EL0 = 78,\n\tPMINTENSET_EL1 = 79,\n\tPMOVSSET_EL0 = 80,\n\tPMUSERENR_EL0 = 81,\n\tAPIAKEYLO_EL1 = 82,\n\tAPIAKEYHI_EL1 = 83,\n\tAPIBKEYLO_EL1 = 84,\n\tAPIBKEYHI_EL1 = 85,\n\tAPDAKEYLO_EL1 = 86,\n\tAPDAKEYHI_EL1 = 87,\n\tAPDBKEYLO_EL1 = 88,\n\tAPDBKEYHI_EL1 = 89,\n\tAPGAKEYLO_EL1 = 90,\n\tAPGAKEYHI_EL1 = 91,\n\tRGSR_EL1 = 92,\n\tGCR_EL1 = 93,\n\tTFSRE0_EL1 = 94,\n\tPOR_EL0 = 95,\n\tSVCR = 96,\n\tFPMR = 97,\n\tDACR32_EL2 = 98,\n\tIFSR32_EL2 = 99,\n\tFPEXC32_EL2 = 100,\n\tDBGVCR32_EL2 = 101,\n\tSCTLR_EL2 = 102,\n\tACTLR_EL2 = 103,\n\tCPTR_EL2 = 104,\n\tHACR_EL2 = 105,\n\tZCR_EL2 = 106,\n\tTTBR0_EL2 = 107,\n\tTTBR1_EL2 = 108,\n\tTCR_EL2 = 109,\n\tPIRE0_EL2 = 110,\n\tPIR_EL2 = 111,\n\tPOR_EL2 = 112,\n\tSPSR_EL2 = 113,\n\tELR_EL2 = 114,\n\tAFSR0_EL2 = 115,\n\tAFSR1_EL2 = 116,\n\tESR_EL2 = 117,\n\tFAR_EL2 = 118,\n\tHPFAR_EL2 = 119,\n\tMAIR_EL2 = 120,\n\tAMAIR_EL2 = 121,\n\tVBAR_EL2 = 122,\n\tRVBAR_EL2 = 123,\n\tCONTEXTIDR_EL2 = 124,\n\tSP_EL2 = 125,\n\tCNTHP_CTL_EL2 = 126,\n\tCNTHP_CVAL_EL2 = 127,\n\tCNTHV_CTL_EL2 = 128,\n\tCNTHV_CVAL_EL2 = 129,\n\t__SANITISED_REG_START__ = 130,\n\t__after___SANITISED_REG_START__ = 129,\n\tTCR2_EL2 = 130,\n\tMDCR_EL2 = 131,\n\tCNTHCTL_EL2 = 132,\n\t__VNCR_START__ = 133,\n\t__after___VNCR_START__ = 132,\n\t__before_SCTLR_EL1 = 133,\n\tSCTLR_EL1 = 167,\n\t__after_SCTLR_EL1 = 167,\n\t__before_ACTLR_EL1 = 168,\n\tACTLR_EL1 = 168,\n\t__after_ACTLR_EL1 = 168,\n\t__before_CPACR_EL1 = 169,\n\tCPACR_EL1 = 165,\n\t__after_CPACR_EL1 = 168,\n\t__before_ZCR_EL1 = 169,\n\tZCR_EL1 = 193,\n\t__after_ZCR_EL1 = 193,\n\t__before_TTBR0_EL1 = 194,\n\tTTBR0_EL1 = 197,\n\t__after_TTBR0_EL1 = 197,\n\t__before_TTBR1_EL1 = 198,\n\tTTBR1_EL1 = 199,\n\t__after_TTBR1_EL1 = 199,\n\t__before_TCR_EL1 = 200,\n\tTCR_EL1 = 169,\n\t__after_TCR_EL1 = 199,\n\t__before_TCR2_EL1 = 200,\n\tTCR2_EL1 = 211,\n\t__after_TCR2_EL1 = 211,\n\t__before_ESR_EL1 = 212,\n\tESR_EL1 = 172,\n\t__after_ESR_EL1 = 211,\n\t__before_AFSR0_EL1 = 212,\n\tAFSR0_EL1 = 170,\n\t__after_AFSR0_EL1 = 211,\n\t__before_AFSR1_EL1 = 212,\n\tAFSR1_EL1 = 171,\n\t__after_AFSR1_EL1 = 211,\n\t__before_FAR_EL1 = 212,\n\tFAR_EL1 = 201,\n\t__after_FAR_EL1 = 211,\n\t__before_MAIR_EL1 = 212,\n\tMAIR_EL1 = 173,\n\t__after_MAIR_EL1 = 211,\n\t__before_VBAR_EL1 = 212,\n\tVBAR_EL1 = 207,\n\t__after_VBAR_EL1 = 211,\n\t__before_CONTEXTIDR_EL1 = 212,\n\tCONTEXTIDR_EL1 = 166,\n\t__after_CONTEXTIDR_EL1 = 211,\n\t__before_AMAIR_EL1 = 212,\n\tAMAIR_EL1 = 174,\n\t__after_AMAIR_EL1 = 211,\n\t__before_MDSCR_EL1 = 212,\n\tMDSCR_EL1 = 176,\n\t__after_MDSCR_EL1 = 211,\n\t__before_ELR_EL1 = 212,\n\tELR_EL1 = 203,\n\t__after_ELR_EL1 = 211,\n\t__before_SP_EL1 = 212,\n\tSP_EL1 = 205,\n\t__after_SP_EL1 = 211,\n\t__before_SPSR_EL1 = 212,\n\tSPSR_EL1 = 177,\n\t__after_SPSR_EL1 = 211,\n\t__before_TFSR_EL1 = 212,\n\tTFSR_EL1 = 183,\n\t__after_TFSR_EL1 = 211,\n\t__before_VPIDR_EL2 = 212,\n\tVPIDR_EL2 = 150,\n\t__after_VPIDR_EL2 = 211,\n\t__before_VMPIDR_EL2 = 212,\n\tVMPIDR_EL2 = 143,\n\t__after_VMPIDR_EL2 = 211,\n\t__before_HCR_EL2 = 212,\n\tHCR_EL2 = 148,\n\t__after_HCR_EL2 = 211,\n\t__before_HSTR_EL2 = 212,\n\tHSTR_EL2 = 149,\n\t__after_HSTR_EL2 = 211,\n\t__before_VTTBR_EL2 = 212,\n\tVTTBR_EL2 = 137,\n\t__after_VTTBR_EL2 = 211,\n\t__before_VTCR_EL2 = 212,\n\tVTCR_EL2 = 141,\n\t__after_VTCR_EL2 = 211,\n\t__before_TPIDR_EL2 = 212,\n\tTPIDR_EL2 = 151,\n\t__after_TPIDR_EL2 = 211,\n\t__before_HCRX_EL2 = 212,\n\tHCRX_EL2 = 153,\n\t__after_HCRX_EL2 = 211,\n\t__before_PIR_EL1 = 212,\n\tPIR_EL1 = 217,\n\t__after_PIR_EL1 = 217,\n\t__before_PIRE0_EL1 = 218,\n\tPIRE0_EL1 = 215,\n\t__after_PIRE0_EL1 = 217,\n\t__before_POR_EL1 = 218,\n\tPOR_EL1 = 218,\n\t__after_POR_EL1 = 218,\n\t__before_HFGRTR_EL2 = 219,\n\tHFGRTR_EL2 = 188,\n\t__after_HFGRTR_EL2 = 218,\n\t__before_HFGWTR_EL2 = 219,\n\tHFGWTR_EL2 = 189,\n\t__after_HFGWTR_EL2 = 218,\n\t__before_HFGITR_EL2 = 219,\n\tHFGITR_EL2 = 190,\n\t__after_HFGITR_EL2 = 218,\n\t__before_HDFGRTR_EL2 = 219,\n\tHDFGRTR_EL2 = 191,\n\t__after_HDFGRTR_EL2 = 218,\n\t__before_HDFGWTR_EL2 = 219,\n\tHDFGWTR_EL2 = 192,\n\t__after_HDFGWTR_EL2 = 218,\n\t__before_HAFGRTR_EL2 = 219,\n\tHAFGRTR_EL2 = 194,\n\t__after_HAFGRTR_EL2 = 218,\n\t__before_CNTVOFF_EL2 = 219,\n\tCNTVOFF_EL2 = 145,\n\t__after_CNTVOFF_EL2 = 218,\n\t__before_CNTV_CVAL_EL0 = 219,\n\tCNTV_CVAL_EL0 = 178,\n\t__after_CNTV_CVAL_EL0 = 218,\n\t__before_CNTV_CTL_EL0 = 219,\n\tCNTV_CTL_EL0 = 179,\n\t__after_CNTV_CTL_EL0 = 218,\n\t__before_CNTP_CVAL_EL0 = 219,\n\tCNTP_CVAL_EL0 = 180,\n\t__after_CNTP_CVAL_EL0 = 218,\n\t__before_CNTP_CTL_EL0 = 219,\n\tCNTP_CTL_EL0 = 181,\n\t__after_CNTP_CTL_EL0 = 218,\n\t__before_ICH_HCR_EL2 = 219,\n\tICH_HCR_EL2 = 285,\n\t__after_ICH_HCR_EL2 = 285,\n\tNR_SYS_REGS = 286,\n};\n\nenum vdso_abi {\n\tVDSO_ABI_AA64 = 0,\n\tVDSO_ABI_AA32 = 1,\n};\n\nenum vdso_clock_mode {\n\tVDSO_CLOCKMODE_NONE = 0,\n\tVDSO_CLOCKMODE_ARCHTIMER = 1,\n\tVDSO_CLOCKMODE_ARCHTIMER_NOCOMPAT = 2,\n\tVDSO_CLOCKMODE_MAX = 3,\n\tVDSO_CLOCKMODE_TIMENS = 2147483647,\n};\n\nenum vec_type {\n\tARM64_VEC_SVE = 0,\n\tARM64_VEC_SME = 1,\n\tARM64_VEC_MAX = 2,\n};\n\nenum verifier_phase {\n\tCHECK_META = 0,\n\tCHECK_TYPE = 1,\n};\n\nenum vesa_blank_mode {\n\tVESA_NO_BLANKING = 0,\n\tVESA_VSYNC_SUSPEND = 1,\n\tVESA_HSYNC_SUSPEND = 2,\n\tVESA_POWERDOWN = 3,\n\tVESA_BLANK_MAX = 3,\n};\n\nenum vfio_device_mig_state {\n\tVFIO_DEVICE_STATE_ERROR = 0,\n\tVFIO_DEVICE_STATE_STOP = 1,\n\tVFIO_DEVICE_STATE_RUNNING = 2,\n\tVFIO_DEVICE_STATE_STOP_COPY = 3,\n\tVFIO_DEVICE_STATE_RESUMING = 4,\n\tVFIO_DEVICE_STATE_RUNNING_P2P = 5,\n\tVFIO_DEVICE_STATE_PRE_COPY = 6,\n\tVFIO_DEVICE_STATE_PRE_COPY_P2P = 7,\n\tVFIO_DEVICE_STATE_NR = 8,\n};\n\nenum vfio_group_type {\n\tVFIO_IOMMU = 0,\n\tVFIO_EMULATED_IOMMU = 1,\n\tVFIO_NO_IOMMU = 2,\n};\n\nenum vgic_irq_config {\n\tVGIC_CONFIG_EDGE = 0,\n\tVGIC_CONFIG_LEVEL = 1,\n};\n\nenum vgic_type {\n\tVGIC_V2 = 0,\n\tVGIC_V3 = 1,\n};\n\nenum virtio_balloon_config_read {\n\tVIRTIO_BALLOON_CONFIG_READ_CMD_ID = 0,\n};\n\nenum virtio_balloon_vq {\n\tVIRTIO_BALLOON_VQ_INFLATE = 0,\n\tVIRTIO_BALLOON_VQ_DEFLATE = 1,\n\tVIRTIO_BALLOON_VQ_STATS = 2,\n\tVIRTIO_BALLOON_VQ_FREE_PAGE = 3,\n\tVIRTIO_BALLOON_VQ_REPORTING = 4,\n\tVIRTIO_BALLOON_VQ_MAX = 5,\n};\n\nenum virtnet_xmit_type {\n\tVIRTNET_XMIT_TYPE_SKB = 0,\n\tVIRTNET_XMIT_TYPE_SKB_ORPHAN = 1,\n\tVIRTNET_XMIT_TYPE_XDP = 2,\n\tVIRTNET_XMIT_TYPE_XSK = 3,\n};\n\nenum visit_state {\n\tNOT_VISITED = 0,\n\tVISITED = 1,\n\tRESOLVED = 2,\n};\n\nenum vlan_flags {\n\tVLAN_FLAG_REORDER_HDR = 1,\n\tVLAN_FLAG_GVRP = 2,\n\tVLAN_FLAG_LOOSE_BINDING = 4,\n\tVLAN_FLAG_MVRP = 8,\n\tVLAN_FLAG_BRIDGE_BINDING = 16,\n};\n\nenum vlan_protos {\n\tVLAN_PROTO_8021Q = 0,\n\tVLAN_PROTO_8021AD = 1,\n\tVLAN_PROTO_NUM = 2,\n};\n\nenum vm_event_item {\n\tPGPGIN = 0,\n\tPGPGOUT = 1,\n\tPSWPIN = 2,\n\tPSWPOUT = 3,\n\tPGALLOC_DMA = 4,\n\tPGALLOC_DMA32 = 5,\n\tPGALLOC_NORMAL = 6,\n\tPGALLOC_MOVABLE = 7,\n\tALLOCSTALL_DMA = 8,\n\tALLOCSTALL_DMA32 = 9,\n\tALLOCSTALL_NORMAL = 10,\n\tALLOCSTALL_MOVABLE = 11,\n\tPGSCAN_SKIP_DMA = 12,\n\tPGSCAN_SKIP_DMA32 = 13,\n\tPGSCAN_SKIP_NORMAL = 14,\n\tPGSCAN_SKIP_MOVABLE = 15,\n\tPGFREE = 16,\n\tPGACTIVATE = 17,\n\tPGDEACTIVATE = 18,\n\tPGLAZYFREE = 19,\n\tPGFAULT = 20,\n\tPGMAJFAULT = 21,\n\tPGLAZYFREED = 22,\n\tPGREFILL = 23,\n\tPGREUSE = 24,\n\tPGSTEAL_KSWAPD = 25,\n\tPGSTEAL_DIRECT = 26,\n\tPGSTEAL_KHUGEPAGED = 27,\n\tPGSCAN_KSWAPD = 28,\n\tPGSCAN_DIRECT = 29,\n\tPGSCAN_KHUGEPAGED = 30,\n\tPGSCAN_DIRECT_THROTTLE = 31,\n\tPGSCAN_ANON = 32,\n\tPGSCAN_FILE = 33,\n\tPGSTEAL_ANON = 34,\n\tPGSTEAL_FILE = 35,\n\tPGSCAN_ZONE_RECLAIM_SUCCESS = 36,\n\tPGSCAN_ZONE_RECLAIM_FAILED = 37,\n\tPGINODESTEAL = 38,\n\tSLABS_SCANNED = 39,\n\tKSWAPD_INODESTEAL = 40,\n\tKSWAPD_LOW_WMARK_HIT_QUICKLY = 41,\n\tKSWAPD_HIGH_WMARK_HIT_QUICKLY = 42,\n\tPAGEOUTRUN = 43,\n\tPGROTATED = 44,\n\tDROP_PAGECACHE = 45,\n\tDROP_SLAB = 46,\n\tOOM_KILL = 47,\n\tNUMA_PTE_UPDATES = 48,\n\tNUMA_HUGE_PTE_UPDATES = 49,\n\tNUMA_HINT_FAULTS = 50,\n\tNUMA_HINT_FAULTS_LOCAL = 51,\n\tNUMA_PAGE_MIGRATE = 52,\n\tPGMIGRATE_SUCCESS = 53,\n\tPGMIGRATE_FAIL = 54,\n\tTHP_MIGRATION_SUCCESS = 55,\n\tTHP_MIGRATION_FAIL = 56,\n\tTHP_MIGRATION_SPLIT = 57,\n\tCOMPACTMIGRATE_SCANNED = 58,\n\tCOMPACTFREE_SCANNED = 59,\n\tCOMPACTISOLATED = 60,\n\tCOMPACTSTALL = 61,\n\tCOMPACTFAIL = 62,\n\tCOMPACTSUCCESS = 63,\n\tKCOMPACTD_WAKE = 64,\n\tKCOMPACTD_MIGRATE_SCANNED = 65,\n\tKCOMPACTD_FREE_SCANNED = 66,\n\tHTLB_BUDDY_PGALLOC = 67,\n\tHTLB_BUDDY_PGALLOC_FAIL = 68,\n\tCMA_ALLOC_SUCCESS = 69,\n\tCMA_ALLOC_FAIL = 70,\n\tUNEVICTABLE_PGCULLED = 71,\n\tUNEVICTABLE_PGSCANNED = 72,\n\tUNEVICTABLE_PGRESCUED = 73,\n\tUNEVICTABLE_PGMLOCKED = 74,\n\tUNEVICTABLE_PGMUNLOCKED = 75,\n\tUNEVICTABLE_PGCLEARED = 76,\n\tUNEVICTABLE_PGSTRANDED = 77,\n\tTHP_FAULT_ALLOC = 78,\n\tTHP_FAULT_FALLBACK = 79,\n\tTHP_FAULT_FALLBACK_CHARGE = 80,\n\tTHP_COLLAPSE_ALLOC = 81,\n\tTHP_COLLAPSE_ALLOC_FAILED = 82,\n\tTHP_FILE_ALLOC = 83,\n\tTHP_FILE_FALLBACK = 84,\n\tTHP_FILE_FALLBACK_CHARGE = 85,\n\tTHP_FILE_MAPPED = 86,\n\tTHP_SPLIT_PAGE = 87,\n\tTHP_SPLIT_PAGE_FAILED = 88,\n\tTHP_DEFERRED_SPLIT_PAGE = 89,\n\tTHP_UNDERUSED_SPLIT_PAGE = 90,\n\tTHP_SPLIT_PMD = 91,\n\tTHP_SCAN_EXCEED_NONE_PTE = 92,\n\tTHP_SCAN_EXCEED_SWAP_PTE = 93,\n\tTHP_SCAN_EXCEED_SHARED_PTE = 94,\n\tTHP_ZERO_PAGE_ALLOC = 95,\n\tTHP_ZERO_PAGE_ALLOC_FAILED = 96,\n\tTHP_SWPOUT = 97,\n\tTHP_SWPOUT_FALLBACK = 98,\n\tBALLOON_INFLATE = 99,\n\tBALLOON_DEFLATE = 100,\n\tBALLOON_MIGRATE = 101,\n\tSWAP_RA = 102,\n\tSWAP_RA_HIT = 103,\n\tSWPIN_ZERO = 104,\n\tSWPOUT_ZERO = 105,\n\tKSM_SWPIN_COPY = 106,\n\tCOW_KSM = 107,\n\tNR_VM_EVENT_ITEMS = 108,\n};\n\nenum vm_fault_reason {\n\tVM_FAULT_OOM = 1,\n\tVM_FAULT_SIGBUS = 2,\n\tVM_FAULT_MAJOR = 4,\n\tVM_FAULT_HWPOISON = 16,\n\tVM_FAULT_HWPOISON_LARGE = 32,\n\tVM_FAULT_SIGSEGV = 64,\n\tVM_FAULT_NOPAGE = 256,\n\tVM_FAULT_LOCKED = 512,\n\tVM_FAULT_RETRY = 1024,\n\tVM_FAULT_FALLBACK = 2048,\n\tVM_FAULT_DONE_COW = 4096,\n\tVM_FAULT_NEEDDSYNC = 8192,\n\tVM_FAULT_COMPLETED = 16384,\n\tVM_FAULT_HINDEX_MASK = 983040,\n};\n\nenum vm_stat_item {\n\tNR_DIRTY_THRESHOLD = 0,\n\tNR_DIRTY_BG_THRESHOLD = 1,\n\tNR_MEMMAP_PAGES = 2,\n\tNR_MEMMAP_BOOT_PAGES = 3,\n\tNR_VM_STAT_ITEMS = 4,\n};\n\nenum vma_merge_flags {\n\tVMG_FLAG_DEFAULT = 0,\n\tVMG_FLAG_JUST_EXPAND = 1,\n};\n\nenum vma_merge_state {\n\tVMA_MERGE_START = 0,\n\tVMA_MERGE_ERROR_NOMEM = 1,\n\tVMA_MERGE_NOMERGE = 2,\n\tVMA_MERGE_SUCCESS = 3,\n};\n\nenum vma_resv_mode {\n\tVMA_NEEDS_RESV = 0,\n\tVMA_COMMIT_RESV = 1,\n\tVMA_END_RESV = 2,\n\tVMA_ADD_RESV = 3,\n\tVMA_DEL_RESV = 4,\n};\n\nenum vmpressure_levels {\n\tVMPRESSURE_LOW = 0,\n\tVMPRESSURE_MEDIUM = 1,\n\tVMPRESSURE_CRITICAL = 2,\n\tVMPRESSURE_NUM_LEVELS = 3,\n};\n\nenum vmpressure_modes {\n\tVMPRESSURE_NO_PASSTHROUGH = 0,\n\tVMPRESSURE_HIERARCHY = 1,\n\tVMPRESSURE_LOCAL = 2,\n\tVMPRESSURE_NUM_MODES = 3,\n};\n\nenum vmscan_throttle_state {\n\tVMSCAN_THROTTLE_WRITEBACK = 0,\n\tVMSCAN_THROTTLE_ISOLATED = 1,\n\tVMSCAN_THROTTLE_NOPROGRESS = 2,\n\tVMSCAN_THROTTLE_CONGESTED = 3,\n\tNR_VMSCAN_THROTTLE = 4,\n};\n\nenum voltage_change_dir {\n\tNO_CHANGE = 0,\n\tDOWN___3 = 1,\n\tUP___3 = 2,\n};\n\nenum vp_vq_vector_policy {\n\tVP_VQ_VECTOR_POLICY_EACH = 0,\n\tVP_VQ_VECTOR_POLICY_SHARED_SLOW = 1,\n\tVP_VQ_VECTOR_POLICY_SHARED = 2,\n};\n\nenum vsc85xx_global_phy {\n\tVSC88XX_BASE_ADDR = 0,\n};\n\nenum vvar_pages {\n\tVVAR_DATA_PAGE_OFFSET = 0,\n\tVVAR_TIMENS_PAGE_OFFSET = 1,\n\tVVAR_NR_PAGES = 2,\n};\n\nenum wb_reason {\n\tWB_REASON_BACKGROUND = 0,\n\tWB_REASON_VMSCAN = 1,\n\tWB_REASON_SYNC = 2,\n\tWB_REASON_PERIODIC = 3,\n\tWB_REASON_LAPTOP_TIMER = 4,\n\tWB_REASON_FS_FREE_SPACE = 5,\n\tWB_REASON_FORKER_THREAD = 6,\n\tWB_REASON_FOREIGN_FLUSH = 7,\n\tWB_REASON_MAX = 8,\n};\n\nenum wb_stat_item {\n\tWB_RECLAIMABLE = 0,\n\tWB_WRITEBACK = 1,\n\tWB_DIRTIED = 2,\n\tWB_WRITTEN = 3,\n\tNR_WB_STAT_ITEMS = 4,\n};\n\nenum wb_state {\n\tWB_registered = 0,\n\tWB_writeback_running = 1,\n\tWB_has_dirty_io = 2,\n\tWB_start_all = 3,\n};\n\nenum why_no_delegation4 {\n\tWND4_NOT_WANTED = 0,\n\tWND4_CONTENTION = 1,\n\tWND4_RESOURCE = 2,\n\tWND4_NOT_SUPP_FTYPE = 3,\n\tWND4_WRITE_DELEG_NOT_SUPP_FTYPE = 4,\n\tWND4_NOT_SUPP_UPGRADE = 5,\n\tWND4_NOT_SUPP_DOWNGRADE = 6,\n\tWND4_CANCELLED = 7,\n\tWND4_IS_DIR = 8,\n};\n\nenum work_bits {\n\tWORK_STRUCT_PENDING_BIT = 0,\n\tWORK_STRUCT_INACTIVE_BIT = 1,\n\tWORK_STRUCT_PWQ_BIT = 2,\n\tWORK_STRUCT_LINKED_BIT = 3,\n\tWORK_STRUCT_FLAG_BITS = 4,\n\tWORK_STRUCT_COLOR_SHIFT = 4,\n\tWORK_STRUCT_COLOR_BITS = 4,\n\tWORK_STRUCT_PWQ_SHIFT = 8,\n\tWORK_OFFQ_FLAG_SHIFT = 4,\n\tWORK_OFFQ_BH_BIT = 4,\n\tWORK_OFFQ_FLAG_END = 5,\n\tWORK_OFFQ_FLAG_BITS = 1,\n\tWORK_OFFQ_DISABLE_SHIFT = 5,\n\tWORK_OFFQ_DISABLE_BITS = 16,\n\tWORK_OFFQ_POOL_SHIFT = 21,\n\tWORK_OFFQ_LEFT = 43,\n\tWORK_OFFQ_POOL_BITS = 31,\n};\n\nenum work_cancel_flags {\n\tWORK_CANCEL_DELAYED = 1,\n\tWORK_CANCEL_DISABLE = 2,\n};\n\nenum work_flags {\n\tWORK_STRUCT_PENDING = 1,\n\tWORK_STRUCT_INACTIVE = 2,\n\tWORK_STRUCT_PWQ = 4,\n\tWORK_STRUCT_LINKED = 8,\n\tWORK_STRUCT_STATIC = 0,\n};\n\nenum worker_flags {\n\tWORKER_DIE = 2,\n\tWORKER_IDLE = 4,\n\tWORKER_PREP = 8,\n\tWORKER_CPU_INTENSIVE = 64,\n\tWORKER_UNBOUND = 128,\n\tWORKER_REBOUND = 256,\n\tWORKER_NOT_RUNNING = 456,\n};\n\nenum worker_pool_flags {\n\tPOOL_BH = 1,\n\tPOOL_MANAGER_ACTIVE = 2,\n\tPOOL_DISASSOCIATED = 4,\n\tPOOL_BH_DRAINING = 8,\n};\n\nenum wp_types {\n\tESDHC_WP_NONE = 0,\n\tESDHC_WP_CONTROLLER = 1,\n\tESDHC_WP_GPIO = 2,\n};\n\nenum wq_affn_scope {\n\tWQ_AFFN_DFL = 0,\n\tWQ_AFFN_CPU = 1,\n\tWQ_AFFN_SMT = 2,\n\tWQ_AFFN_CACHE = 3,\n\tWQ_AFFN_NUMA = 4,\n\tWQ_AFFN_SYSTEM = 5,\n\tWQ_AFFN_NR_TYPES = 6,\n};\n\nenum wq_consts {\n\tWQ_MAX_ACTIVE = 2048,\n\tWQ_UNBOUND_MAX_ACTIVE = 2048,\n\tWQ_DFL_ACTIVE = 1024,\n\tWQ_DFL_MIN_ACTIVE = 8,\n};\n\nenum wq_flags {\n\tWQ_BH = 1,\n\tWQ_UNBOUND = 2,\n\tWQ_FREEZABLE = 4,\n\tWQ_MEM_RECLAIM = 8,\n\tWQ_HIGHPRI = 16,\n\tWQ_CPU_INTENSIVE = 32,\n\tWQ_SYSFS = 64,\n\tWQ_POWER_EFFICIENT = 128,\n\t__WQ_DESTROYING = 32768,\n\t__WQ_DRAINING = 65536,\n\t__WQ_ORDERED = 131072,\n\t__WQ_LEGACY = 262144,\n\t__WQ_BH_ALLOWS = 17,\n};\n\nenum wq_internal_consts {\n\tNR_STD_WORKER_POOLS = 2,\n\tUNBOUND_POOL_HASH_ORDER = 6,\n\tBUSY_WORKER_HASH_ORDER = 6,\n\tMAX_IDLE_WORKERS_RATIO = 4,\n\tIDLE_WORKER_TIMEOUT = 75000,\n\tMAYDAY_INITIAL_TIMEOUT = 2,\n\tMAYDAY_INTERVAL = 25,\n\tCREATE_COOLDOWN = 250,\n\tRESCUER_NICE_LEVEL = -20,\n\tHIGHPRI_NICE_LEVEL = -20,\n\tWQ_NAME_LEN = 32,\n\tWORKER_ID_LEN = 42,\n};\n\nenum wq_misc_consts {\n\tWORK_NR_COLORS = 16,\n\tWORK_CPU_UNBOUND = 512,\n\tWORK_BUSY_PENDING = 1,\n\tWORK_BUSY_RUNNING = 2,\n\tWORKER_DESC_LEN = 32,\n};\n\nenum writeback_sync_modes {\n\tWB_SYNC_NONE = 0,\n\tWB_SYNC_ALL = 1,\n};\n\nenum x1e80100_functions {\n\tmsm_mux_gpio___38 = 0,\n\tmsm_mux_RESOUT_GPIO = 1,\n\tmsm_mux_aon_cci___2 = 2,\n\tmsm_mux_aoss_cti___10 = 3,\n\tmsm_mux_atest_char___33 = 4,\n\tmsm_mux_atest_char0___16 = 5,\n\tmsm_mux_atest_char1___16 = 6,\n\tmsm_mux_atest_char2___16 = 7,\n\tmsm_mux_atest_char3___16 = 8,\n\tmsm_mux_atest_usb___10 = 9,\n\tmsm_mux_audio_ext = 10,\n\tmsm_mux_audio_ref___18 = 11,\n\tmsm_mux_cam_aon = 12,\n\tmsm_mux_cam_mclk___27 = 13,\n\tmsm_mux_cci_async___24 = 14,\n\tmsm_mux_cci_i2c___24 = 15,\n\tmsm_mux_cci_timer0___19 = 16,\n\tmsm_mux_cci_timer1___19 = 17,\n\tmsm_mux_cci_timer2___19 = 18,\n\tmsm_mux_cci_timer3___18 = 19,\n\tmsm_mux_cci_timer4___17 = 20,\n\tmsm_mux_cmu_rng0___2 = 21,\n\tmsm_mux_cmu_rng1___2 = 22,\n\tmsm_mux_cmu_rng2___2 = 23,\n\tmsm_mux_cmu_rng3___2 = 24,\n\tmsm_mux_cri_trng___30 = 25,\n\tmsm_mux_dbg_out___29 = 26,\n\tmsm_mux_ddr_bist___26 = 27,\n\tmsm_mux_ddr_pxi0___22 = 28,\n\tmsm_mux_ddr_pxi1___21 = 29,\n\tmsm_mux_ddr_pxi2___20 = 30,\n\tmsm_mux_ddr_pxi3___20 = 31,\n\tmsm_mux_ddr_pxi4___4 = 32,\n\tmsm_mux_ddr_pxi5___4 = 33,\n\tmsm_mux_ddr_pxi6___3 = 34,\n\tmsm_mux_ddr_pxi7___3 = 35,\n\tmsm_mux_edp0_hot___3 = 36,\n\tmsm_mux_edp0_lcd___4 = 37,\n\tmsm_mux_edp1_hot___2 = 38,\n\tmsm_mux_edp1_lcd___4 = 39,\n\tmsm_mux_eusb0_ac = 40,\n\tmsm_mux_eusb1_ac = 41,\n\tmsm_mux_eusb2_ac = 42,\n\tmsm_mux_eusb3_ac = 43,\n\tmsm_mux_eusb5_ac = 44,\n\tmsm_mux_eusb6_ac = 45,\n\tmsm_mux_gcc_gp1___23 = 46,\n\tmsm_mux_gcc_gp2___23 = 47,\n\tmsm_mux_gcc_gp3___23 = 48,\n\tmsm_mux_i2s0_data0___4 = 49,\n\tmsm_mux_i2s0_data1___4 = 50,\n\tmsm_mux_i2s0_sck___4 = 51,\n\tmsm_mux_i2s0_ws___4 = 52,\n\tmsm_mux_i2s1_data0___4 = 53,\n\tmsm_mux_i2s1_data1___4 = 54,\n\tmsm_mux_i2s1_sck___4 = 55,\n\tmsm_mux_i2s1_ws___4 = 56,\n\tmsm_mux_ibi_i3c___13 = 57,\n\tmsm_mux_jitter_bist___25 = 58,\n\tmsm_mux_mdp_vsync0___14 = 59,\n\tmsm_mux_mdp_vsync1___14 = 60,\n\tmsm_mux_mdp_vsync2___14 = 61,\n\tmsm_mux_mdp_vsync3___14 = 62,\n\tmsm_mux_mdp_vsync4___4 = 63,\n\tmsm_mux_mdp_vsync5___4 = 64,\n\tmsm_mux_mdp_vsync6 = 65,\n\tmsm_mux_mdp_vsync7 = 66,\n\tmsm_mux_mdp_vsync8 = 67,\n\tmsm_mux_pcie3_clk___2 = 68,\n\tmsm_mux_pcie4_clk = 69,\n\tmsm_mux_pcie5_clk = 70,\n\tmsm_mux_pcie6a_clk = 71,\n\tmsm_mux_pcie6b_clk = 72,\n\tmsm_mux_phase_flag___24 = 73,\n\tmsm_mux_pll_bist___20 = 74,\n\tmsm_mux_pll_clk___10 = 75,\n\tmsm_mux_prng_rosc0___10 = 76,\n\tmsm_mux_prng_rosc1___10 = 77,\n\tmsm_mux_prng_rosc2___10 = 78,\n\tmsm_mux_prng_rosc3___10 = 79,\n\tmsm_mux_qdss_cti___25 = 80,\n\tmsm_mux_qdss_gpio___19 = 81,\n\tmsm_mux_qspi00 = 82,\n\tmsm_mux_qspi01 = 83,\n\tmsm_mux_qspi02 = 84,\n\tmsm_mux_qspi03 = 85,\n\tmsm_mux_qspi0_clk___2 = 86,\n\tmsm_mux_qspi0_cs0 = 87,\n\tmsm_mux_qspi0_cs1 = 88,\n\tmsm_mux_qup0_se0___4 = 89,\n\tmsm_mux_qup0_se1___4 = 90,\n\tmsm_mux_qup0_se2___4 = 91,\n\tmsm_mux_qup0_se3___4 = 92,\n\tmsm_mux_qup0_se4___4 = 93,\n\tmsm_mux_qup0_se5___3 = 94,\n\tmsm_mux_qup0_se6___2 = 95,\n\tmsm_mux_qup0_se7___2 = 96,\n\tmsm_mux_qup1_se0___7 = 97,\n\tmsm_mux_qup1_se1___7 = 98,\n\tmsm_mux_qup1_se2___7 = 99,\n\tmsm_mux_qup1_se3___7 = 100,\n\tmsm_mux_qup1_se4___7 = 101,\n\tmsm_mux_qup1_se5___6 = 102,\n\tmsm_mux_qup1_se6___6 = 103,\n\tmsm_mux_qup1_se7___5 = 104,\n\tmsm_mux_qup2_se0___6 = 105,\n\tmsm_mux_qup2_se1___5 = 106,\n\tmsm_mux_qup2_se2___5 = 107,\n\tmsm_mux_qup2_se3___5 = 108,\n\tmsm_mux_qup2_se4___5 = 109,\n\tmsm_mux_qup2_se5___5 = 110,\n\tmsm_mux_qup2_se6___5 = 111,\n\tmsm_mux_qup2_se7___4 = 112,\n\tmsm_mux_sd_write___24 = 113,\n\tmsm_mux_sdc4_clk___14 = 114,\n\tmsm_mux_sdc4_cmd___14 = 115,\n\tmsm_mux_sdc4_data0 = 116,\n\tmsm_mux_sdc4_data1 = 117,\n\tmsm_mux_sdc4_data2 = 118,\n\tmsm_mux_sdc4_data3 = 119,\n\tmsm_mux_sys_throttle = 120,\n\tmsm_mux_tb_trig___8 = 121,\n\tmsm_mux_tgu_ch0___18 = 122,\n\tmsm_mux_tgu_ch1___18 = 123,\n\tmsm_mux_tgu_ch2___15 = 124,\n\tmsm_mux_tgu_ch3___15 = 125,\n\tmsm_mux_tgu_ch4___3 = 126,\n\tmsm_mux_tgu_ch5___3 = 127,\n\tmsm_mux_tgu_ch6___2 = 128,\n\tmsm_mux_tgu_ch7___2 = 129,\n\tmsm_mux_tmess_prng0___7 = 130,\n\tmsm_mux_tmess_prng1___7 = 131,\n\tmsm_mux_tmess_prng2___7 = 132,\n\tmsm_mux_tmess_prng3___7 = 133,\n\tmsm_mux_tsense_pwm1___21 = 134,\n\tmsm_mux_tsense_pwm2___21 = 135,\n\tmsm_mux_tsense_pwm3___7 = 136,\n\tmsm_mux_tsense_pwm4___5 = 137,\n\tmsm_mux_usb0_dp___2 = 138,\n\tmsm_mux_usb0_phy___3 = 139,\n\tmsm_mux_usb0_sbrx___2 = 140,\n\tmsm_mux_usb0_sbtx___2 = 141,\n\tmsm_mux_usb1_dp___2 = 142,\n\tmsm_mux_usb1_phy___3 = 143,\n\tmsm_mux_usb1_sbrx___2 = 144,\n\tmsm_mux_usb1_sbtx___2 = 145,\n\tmsm_mux_usb2_dp = 146,\n\tmsm_mux_usb2_phy = 147,\n\tmsm_mux_usb2_sbrx = 148,\n\tmsm_mux_usb2_sbtx = 149,\n\tmsm_mux_vsense_trigger___19 = 150,\n\tmsm_mux_____33 = 151,\n};\n\nenum x509_actions {\n\tACT_x509_extract_key_data = 0,\n\tACT_x509_extract_name_segment = 1,\n\tACT_x509_note_OID = 2,\n\tACT_x509_note_issuer = 3,\n\tACT_x509_note_not_after = 4,\n\tACT_x509_note_not_before = 5,\n\tACT_x509_note_params = 6,\n\tACT_x509_note_serial = 7,\n\tACT_x509_note_sig_algo = 8,\n\tACT_x509_note_signature = 9,\n\tACT_x509_note_subject = 10,\n\tACT_x509_note_tbs_certificate = 11,\n\tACT_x509_process_extension = 12,\n\tNR__x509_actions = 13,\n};\n\nenum x509_akid_actions {\n\tACT_x509_akid_note_kid = 0,\n\tACT_x509_akid_note_name = 1,\n\tACT_x509_akid_note_serial = 2,\n\tACT_x509_extract_name_segment___2 = 3,\n\tACT_x509_note_OID___2 = 4,\n\tNR__x509_akid_actions = 5,\n};\n\nenum xa_lock_type {\n\tXA_LOCK_IRQ = 1,\n\tXA_LOCK_BH = 2,\n};\n\nenum xb_req_state {\n\txb_req_state_queued = 0,\n\txb_req_state_wait_reply = 1,\n\txb_req_state_got_reply = 2,\n\txb_req_state_aborted = 3,\n};\n\nenum xdp_action {\n\tXDP_ABORTED = 0,\n\tXDP_DROP = 1,\n\tXDP_PASS = 2,\n\tXDP_TX = 3,\n\tXDP_REDIRECT = 4,\n};\n\nenum xdp_buff_flags {\n\tXDP_FLAGS_HAS_FRAGS = 1,\n\tXDP_FLAGS_FRAGS_PF_MEMALLOC = 2,\n};\n\nenum xdp_mem_type {\n\tMEM_TYPE_PAGE_SHARED = 0,\n\tMEM_TYPE_PAGE_ORDER0 = 1,\n\tMEM_TYPE_PAGE_POOL = 2,\n\tMEM_TYPE_XSK_BUFF_POOL = 3,\n\tMEM_TYPE_MAX = 4,\n};\n\nenum xdp_rss_hash_type {\n\tXDP_RSS_L3_IPV4 = 1,\n\tXDP_RSS_L3_IPV6 = 2,\n\tXDP_RSS_L3_DYNHDR = 4,\n\tXDP_RSS_L4 = 8,\n\tXDP_RSS_L4_TCP = 16,\n\tXDP_RSS_L4_UDP = 32,\n\tXDP_RSS_L4_SCTP = 64,\n\tXDP_RSS_L4_IPSEC = 128,\n\tXDP_RSS_L4_ICMP = 256,\n\tXDP_RSS_TYPE_NONE = 0,\n\tXDP_RSS_TYPE_L2 = 0,\n\tXDP_RSS_TYPE_L3_IPV4 = 1,\n\tXDP_RSS_TYPE_L3_IPV6 = 2,\n\tXDP_RSS_TYPE_L3_IPV4_OPT = 5,\n\tXDP_RSS_TYPE_L3_IPV6_EX = 6,\n\tXDP_RSS_TYPE_L4_ANY = 8,\n\tXDP_RSS_TYPE_L4_IPV4_TCP = 25,\n\tXDP_RSS_TYPE_L4_IPV4_UDP = 41,\n\tXDP_RSS_TYPE_L4_IPV4_SCTP = 73,\n\tXDP_RSS_TYPE_L4_IPV4_IPSEC = 137,\n\tXDP_RSS_TYPE_L4_IPV4_ICMP = 265,\n\tXDP_RSS_TYPE_L4_IPV6_TCP = 26,\n\tXDP_RSS_TYPE_L4_IPV6_UDP = 42,\n\tXDP_RSS_TYPE_L4_IPV6_SCTP = 74,\n\tXDP_RSS_TYPE_L4_IPV6_IPSEC = 138,\n\tXDP_RSS_TYPE_L4_IPV6_ICMP = 266,\n\tXDP_RSS_TYPE_L4_IPV6_TCP_EX = 30,\n\tXDP_RSS_TYPE_L4_IPV6_UDP_EX = 46,\n\tXDP_RSS_TYPE_L4_IPV6_SCTP_EX = 78,\n};\n\nenum xdp_rx_metadata {\n\tXDP_METADATA_KFUNC_RX_TIMESTAMP = 0,\n\tXDP_METADATA_KFUNC_RX_HASH = 1,\n\tXDP_METADATA_KFUNC_RX_VLAN_TAG = 2,\n\tMAX_XDP_METADATA_KFUNC = 3,\n};\n\nenum xen_domain_type {\n\tXEN_NATIVE = 0,\n\tXEN_PV_DOMAIN = 1,\n\tXEN_HVM_DOMAIN = 2,\n};\n\nenum xen_irq_type {\n\tIRQT_UNBOUND = 0,\n\tIRQT_PIRQ = 1,\n\tIRQT_VIRQ = 2,\n\tIRQT_IPI = 3,\n\tIRQT_EVTCHN = 4,\n};\n\nenum xenbus_state {\n\tXenbusStateUnknown = 0,\n\tXenbusStateInitialising = 1,\n\tXenbusStateInitWait = 2,\n\tXenbusStateInitialised = 3,\n\tXenbusStateConnected = 4,\n\tXenbusStateClosing = 5,\n\tXenbusStateClosed = 6,\n\tXenbusStateReconfiguring = 7,\n\tXenbusStateReconfigured = 8,\n};\n\nenum xenon_phy_type_enum {\n\tEMMC_5_0_PHY = 0,\n\tEMMC_5_1_PHY = 1,\n\tNR_PHY_TYPES = 2,\n};\n\nenum xenon_variant {\n\tXENON_A3700 = 0,\n\tXENON_AP806 = 1,\n\tXENON_AP807 = 2,\n\tXENON_CP110 = 3,\n\tXENON_AC5 = 4,\n};\n\nenum xenstore_init {\n\tXS_UNKNOWN = 0,\n\tXS_PV = 1,\n\tXS_HVM = 2,\n\tXS_LOCAL = 3,\n};\n\nenum xfer_buf_dir {\n\tTO_XFER_BUF = 0,\n\tFROM_XFER_BUF = 1,\n};\n\nenum xfrm_attr_type_t {\n\tXFRMA_UNSPEC = 0,\n\tXFRMA_ALG_AUTH = 1,\n\tXFRMA_ALG_CRYPT = 2,\n\tXFRMA_ALG_COMP = 3,\n\tXFRMA_ENCAP = 4,\n\tXFRMA_TMPL = 5,\n\tXFRMA_SA = 6,\n\tXFRMA_POLICY = 7,\n\tXFRMA_SEC_CTX = 8,\n\tXFRMA_LTIME_VAL = 9,\n\tXFRMA_REPLAY_VAL = 10,\n\tXFRMA_REPLAY_THRESH = 11,\n\tXFRMA_ETIMER_THRESH = 12,\n\tXFRMA_SRCADDR = 13,\n\tXFRMA_COADDR = 14,\n\tXFRMA_LASTUSED = 15,\n\tXFRMA_POLICY_TYPE = 16,\n\tXFRMA_MIGRATE = 17,\n\tXFRMA_ALG_AEAD = 18,\n\tXFRMA_KMADDRESS = 19,\n\tXFRMA_ALG_AUTH_TRUNC = 20,\n\tXFRMA_MARK = 21,\n\tXFRMA_TFCPAD = 22,\n\tXFRMA_REPLAY_ESN_VAL = 23,\n\tXFRMA_SA_EXTRA_FLAGS = 24,\n\tXFRMA_PROTO = 25,\n\tXFRMA_ADDRESS_FILTER = 26,\n\tXFRMA_PAD = 27,\n\tXFRMA_OFFLOAD_DEV = 28,\n\tXFRMA_SET_MARK = 29,\n\tXFRMA_SET_MARK_MASK = 30,\n\tXFRMA_IF_ID = 31,\n\tXFRMA_MTIMER_THRESH = 32,\n\tXFRMA_SA_DIR = 33,\n\tXFRMA_NAT_KEEPALIVE_INTERVAL = 34,\n\tXFRMA_SA_PCPU = 35,\n\tXFRMA_IPTFS_DROP_TIME = 36,\n\tXFRMA_IPTFS_REORDER_WINDOW = 37,\n\tXFRMA_IPTFS_DONT_FRAG = 38,\n\tXFRMA_IPTFS_INIT_DELAY = 39,\n\tXFRMA_IPTFS_MAX_QSIZE = 40,\n\tXFRMA_IPTFS_PKT_SIZE = 41,\n\t__XFRMA_MAX = 42,\n};\n\nenum xfrm_replay_mode {\n\tXFRM_REPLAY_MODE_LEGACY = 0,\n\tXFRM_REPLAY_MODE_BMP = 1,\n\tXFRM_REPLAY_MODE_ESN = 2,\n};\n\nenum xgbe_an {\n\tXGBE_AN_READY = 0,\n\tXGBE_AN_PAGE_RECEIVED = 1,\n\tXGBE_AN_INCOMPAT_LINK = 2,\n\tXGBE_AN_COMPLETE = 3,\n\tXGBE_AN_NO_LINK = 4,\n\tXGBE_AN_ERROR = 5,\n};\n\nenum xgbe_an_mode {\n\tXGBE_AN_MODE_CL73 = 0,\n\tXGBE_AN_MODE_CL73_REDRV = 1,\n\tXGBE_AN_MODE_CL37 = 2,\n\tXGBE_AN_MODE_CL37_SGMII = 3,\n\tXGBE_AN_MODE_NONE = 4,\n};\n\nenum xgbe_conn_type {\n\tXGBE_CONN_TYPE_NONE = 0,\n\tXGBE_CONN_TYPE_SFP = 1,\n\tXGBE_CONN_TYPE_MDIO = 2,\n\tXGBE_CONN_TYPE_RSVD1 = 3,\n\tXGBE_CONN_TYPE_BACKPLANE = 4,\n\tXGBE_CONN_TYPE_MAX = 5,\n};\n\nenum xgbe_ecc_sec {\n\tXGBE_ECC_SEC_TX = 0,\n\tXGBE_ECC_SEC_RX = 1,\n\tXGBE_ECC_SEC_DESC = 2,\n};\n\nenum xgbe_i2c_cmd {\n\tXGBE_I2C_CMD_READ = 0,\n\tXGBE_I2C_CMD_WRITE = 1,\n};\n\nenum xgbe_int {\n\tXGMAC_INT_DMA_CH_SR_TI = 0,\n\tXGMAC_INT_DMA_CH_SR_TPS = 1,\n\tXGMAC_INT_DMA_CH_SR_TBU = 2,\n\tXGMAC_INT_DMA_CH_SR_RI = 3,\n\tXGMAC_INT_DMA_CH_SR_RBU = 4,\n\tXGMAC_INT_DMA_CH_SR_RPS = 5,\n\tXGMAC_INT_DMA_CH_SR_TI_RI = 6,\n\tXGMAC_INT_DMA_CH_SR_FBE = 7,\n\tXGMAC_INT_DMA_ALL = 8,\n};\n\nenum xgbe_mb_cmd {\n\tXGBE_MB_CMD_POWER_OFF = 0,\n\tXGBE_MB_CMD_SET_1G = 1,\n\tXGBE_MB_CMD_SET_2_5G = 2,\n\tXGBE_MB_CMD_SET_10G_SFI = 3,\n\tXGBE_MB_CMD_SET_10G_KR = 4,\n\tXGBE_MB_CMD_RRC = 5,\n};\n\nenum xgbe_mb_subcmd {\n\tXGBE_MB_SUBCMD_NONE = 0,\n\tXGBE_MB_SUBCMD_RX_ADAP = 1,\n\tXGBE_MB_SUBCMD_ACTIVE = 0,\n\tXGBE_MB_SUBCMD_PASSIVE_1M = 1,\n\tXGBE_MB_SUBCMD_PASSIVE_3M = 2,\n\tXGBE_MB_SUBCMD_PASSIVE_OTHER = 3,\n\tXGBE_MB_SUBCMD_10MBITS = 0,\n\tXGBE_MB_SUBCMD_100MBITS = 1,\n\tXGBE_MB_SUBCMD_1G_SGMII = 2,\n\tXGBE_MB_SUBCMD_1G_KX = 3,\n};\n\nenum xgbe_mdio_mode {\n\tXGBE_MDIO_MODE_NONE = 0,\n\tXGBE_MDIO_MODE_CL22 = 1,\n\tXGBE_MDIO_MODE_CL45 = 2,\n};\n\nenum xgbe_mdio_reset {\n\tXGBE_MDIO_RESET_NONE = 0,\n\tXGBE_MDIO_RESET_I2C_GPIO = 1,\n\tXGBE_MDIO_RESET_INT_GPIO = 2,\n\tXGBE_MDIO_RESET_MAX = 3,\n};\n\nenum xgbe_mode {\n\tXGBE_MODE_KX_1000 = 0,\n\tXGBE_MODE_KX_2500 = 1,\n\tXGBE_MODE_KR = 2,\n\tXGBE_MODE_X = 3,\n\tXGBE_MODE_SGMII_10 = 4,\n\tXGBE_MODE_SGMII_100 = 5,\n\tXGBE_MODE_SGMII_1000 = 6,\n\tXGBE_MODE_SFI = 7,\n\tXGBE_MODE_UNKNOWN = 8,\n};\n\nenum xgbe_phy_redrv_if {\n\tXGBE_PHY_REDRV_IF_MDIO = 0,\n\tXGBE_PHY_REDRV_IF_I2C = 1,\n\tXGBE_PHY_REDRV_IF_MAX = 2,\n};\n\nenum xgbe_phy_redrv_mode {\n\tXGBE_PHY_REDRV_MODE_CX = 5,\n\tXGBE_PHY_REDRV_MODE_SR = 9,\n};\n\nenum xgbe_phy_redrv_model {\n\tXGBE_PHY_REDRV_MODEL_4223 = 0,\n\tXGBE_PHY_REDRV_MODEL_4227 = 1,\n\tXGBE_PHY_REDRV_MODEL_MAX = 2,\n};\n\nenum xgbe_port_mode {\n\tXGBE_PORT_MODE_RSVD = 0,\n\tXGBE_PORT_MODE_BACKPLANE = 1,\n\tXGBE_PORT_MODE_BACKPLANE_2500 = 2,\n\tXGBE_PORT_MODE_1000BASE_T = 3,\n\tXGBE_PORT_MODE_1000BASE_X = 4,\n\tXGBE_PORT_MODE_NBASE_T = 5,\n\tXGBE_PORT_MODE_10GBASE_T = 6,\n\tXGBE_PORT_MODE_10GBASE_R = 7,\n\tXGBE_PORT_MODE_SFP = 8,\n\tXGBE_PORT_MODE_BACKPLANE_NO_AUTONEG = 9,\n\tXGBE_PORT_MODE_MAX = 10,\n};\n\nenum xgbe_rx {\n\tXGBE_RX_BPA = 0,\n\tXGBE_RX_XNP = 1,\n\tXGBE_RX_COMPLETE = 2,\n\tXGBE_RX_ERROR = 3,\n};\n\nenum xgbe_sfp_base {\n\tXGBE_SFP_BASE_UNKNOWN = 0,\n\tXGBE_SFP_BASE_1000_T = 1,\n\tXGBE_SFP_BASE_1000_SX = 2,\n\tXGBE_SFP_BASE_1000_LX = 3,\n\tXGBE_SFP_BASE_1000_CX = 4,\n\tXGBE_SFP_BASE_10000_SR = 5,\n\tXGBE_SFP_BASE_10000_LR = 6,\n\tXGBE_SFP_BASE_10000_LRM = 7,\n\tXGBE_SFP_BASE_10000_ER = 8,\n\tXGBE_SFP_BASE_10000_CR = 9,\n};\n\nenum xgbe_sfp_cable {\n\tXGBE_SFP_CABLE_UNKNOWN = 0,\n\tXGBE_SFP_CABLE_ACTIVE = 1,\n\tXGBE_SFP_CABLE_PASSIVE = 2,\n\tXGBE_SFP_CABLE_FIBER = 3,\n};\n\nenum xgbe_sfp_comm {\n\tXGBE_SFP_COMM_DIRECT = 0,\n\tXGBE_SFP_COMM_PCA9545 = 1,\n};\n\nenum xgbe_sfp_speed {\n\tXGBE_SFP_SPEED_UNKNOWN = 0,\n\tXGBE_SFP_SPEED_100_1000 = 1,\n\tXGBE_SFP_SPEED_1000 = 2,\n\tXGBE_SFP_SPEED_10000 = 3,\n};\n\nenum xgbe_speed {\n\tXGBE_SPEED_1000 = 0,\n\tXGBE_SPEED_2500 = 1,\n\tXGBE_SPEED_10000 = 2,\n\tXGBE_SPEEDS = 3,\n};\n\nenum xgbe_speedset {\n\tXGBE_SPEEDSET_1000_10000 = 0,\n\tXGBE_SPEEDSET_2500_10000 = 1,\n};\n\nenum xgbe_state {\n\tXGBE_DOWN = 0,\n\tXGBE_LINK_INIT = 1,\n\tXGBE_LINK_ERR = 2,\n\tXGBE_STOPPED = 3,\n};\n\nenum xgbe_xpcs_access {\n\tXGBE_XPCS_ACCESS_V1 = 0,\n\tXGBE_XPCS_ACCESS_V2 = 1,\n};\n\nenum xgene_ahci_version {\n\tXGENE_AHCI_V1 = 1,\n\tXGENE_AHCI_V2 = 2,\n};\n\nenum xgene_cle_byte_store {\n\tNO_BYTE = 0,\n\tFIRST_BYTE = 1,\n\tSECOND_BYTE = 2,\n\tBOTH_BYTES = 3,\n};\n\nenum xgene_cle_cmd_type {\n\tCLE_CMD_WR = 1,\n\tCLE_CMD_RD = 2,\n\tCLE_CMD_AVL_ADD = 8,\n\tCLE_CMD_AVL_DEL = 16,\n\tCLE_CMD_AVL_SRCH = 32,\n};\n\nenum xgene_cle_dram_type {\n\tPKT_RAM = 0,\n\tRSS_IDT = 1,\n\tRSS_IPV4_HASH_SKEY = 2,\n\tPTREE_RAM = 12,\n\tAVL_RAM = 13,\n\tDB_RAM = 14,\n};\n\nenum xgene_cle_ipv4_rss_hashtype {\n\tRSS_IPV4_8B = 0,\n\tRSS_IPV4_12B = 1,\n};\n\nenum xgene_cle_node_type {\n\tINV = 0,\n\tKN = 1,\n\tEWDN = 2,\n\tRES_NODE = 3,\n};\n\nenum xgene_cle_op_type {\n\tEQT = 0,\n\tNEQT = 1,\n\tLTEQT = 2,\n\tGTEQT = 3,\n\tAND = 4,\n\tNAND = 5,\n};\n\nenum xgene_cle_parser {\n\tPARSER0 = 0,\n\tPARSER1 = 1,\n\tPARSER2 = 2,\n\tPARSER_ALL = 3,\n};\n\nenum xgene_cle_prot_type {\n\tXGENE_CLE_TCP = 0,\n\tXGENE_CLE_UDP = 1,\n\tXGENE_CLE_ESP = 2,\n\tXGENE_CLE_OTHER = 3,\n};\n\nenum xgene_cle_prot_version {\n\tXGENE_CLE_IPV4 = 0,\n};\n\nenum xgene_cle_ptree_dbptrs {\n\tDB_RES_DROP = 0,\n\tDB_RES_DEF = 1,\n\tDB_RES_ACCEPT = 2,\n\tDB_MAX_PTRS = 3,\n};\n\nenum xgene_cle_ptree_nodes {\n\tPKT_TYPE_NODE = 0,\n\tPKT_PROT_NODE = 1,\n\tRSS_IPV4_TCP_NODE = 2,\n\tRSS_IPV4_UDP_NODE = 3,\n\tRSS_IPV4_OTHERS_NODE = 4,\n\tLAST_NODE = 5,\n\tMAX_NODES = 6,\n};\n\nenum xgene_enet_buf_len {\n\tSIZE_2K = 2048,\n\tSIZE_4K = 4096,\n\tSIZE_16K = 16384,\n};\n\nenum xgene_enet_cmd {\n\tXGENE_ENET_WR_CMD = 2147483648,\n\tXGENE_ENET_RD_CMD = 1073741824,\n};\n\nenum xgene_enet_err_code {\n\tHBF_READ_DATA = 3,\n\tHBF_LL_READ = 4,\n\tBAD_WORK_MSG = 6,\n\tBUFPOOL_TIMEOUT = 15,\n\tINGRESS_CRC = 16,\n\tINGRESS_CHECKSUM = 17,\n\tINGRESS_TRUNC_FRAME = 18,\n\tINGRESS_PKT_LEN = 19,\n\tINGRESS_PKT_UNDER = 20,\n\tINGRESS_FIFO_OVERRUN = 21,\n\tINGRESS_CHECKSUM_COMPUTE = 26,\n\tERR_CODE_INVALID = 27,\n};\n\nenum xgene_enet_id {\n\tXGENE_ENET1 = 1,\n\tXGENE_ENET2 = 2,\n};\n\nenum xgene_enet_ring_bufnum {\n\tRING_BUFNUM_REGULAR = 0,\n\tRING_BUFNUM_BUFPOOL = 32,\n\tRING_BUFNUM_INVALID = 33,\n};\n\nenum xgene_enet_ring_cfgsize {\n\tRING_CFGSIZE_512B = 0,\n\tRING_CFGSIZE_2KB = 1,\n\tRING_CFGSIZE_16KB = 2,\n\tRING_CFGSIZE_64KB = 3,\n\tRING_CFGSIZE_512KB = 4,\n\tRING_CFGSIZE_INVALID = 5,\n};\n\nenum xgene_enet_ring_type {\n\tRING_DISABLED = 0,\n\tRING_REGULAR = 1,\n\tRING_BUFPOOL = 2,\n};\n\nenum xgene_enet_rm {\n\tRM0 = 0,\n\tRM1 = 1,\n\tRM3 = 3,\n};\n\nenum xgene_mdio_id {\n\tXGENE_MDIO_RGMII = 1,\n\tXGENE_MDIO_XFI = 2,\n};\n\nenum xgene_phy_mode {\n\tMODE_SATA = 0,\n\tMODE_SGMII = 1,\n\tMODE_PCIE = 2,\n\tMODE_USB = 3,\n\tMODE_XFI = 4,\n\tMODE_MAX = 5,\n};\n\nenum xgene_phy_speed {\n\tPHY_SPEED_10 = 0,\n\tPHY_SPEED_100 = 1,\n\tPHY_SPEED_1000 = 2,\n};\n\nenum xgene_pll_type {\n\tPLL_TYPE_PCP = 0,\n\tPLL_TYPE_SOC = 1,\n};\n\nenum xgene_ring_owner {\n\tRING_OWNER_ETH0 = 0,\n\tRING_OWNER_ETH1 = 1,\n\tRING_OWNER_CPU = 15,\n\tRING_OWNER_INVALID = 16,\n};\n\nenum xhci_cancelled_td_status {\n\tTD_DIRTY = 0,\n\tTD_HALTED = 1,\n\tTD_CLEARING_CACHE = 2,\n\tTD_CLEARING_CACHE_DEFERRED = 3,\n\tTD_CLEARED = 4,\n};\n\nenum xhci_ep_reset_type {\n\tEP_HARD_RESET = 0,\n\tEP_SOFT_RESET = 1,\n};\n\nenum xhci_overhead_type {\n\tLS_OVERHEAD_TYPE = 0,\n\tFS_OVERHEAD_TYPE = 1,\n\tHS_OVERHEAD_TYPE = 2,\n};\n\nenum xhci_ring_type {\n\tTYPE_CTRL = 0,\n\tTYPE_ISOC = 1,\n\tTYPE_BULK = 2,\n\tTYPE_INTR = 3,\n\tTYPE_STREAM = 4,\n\tTYPE_COMMAND = 5,\n\tTYPE_EVENT = 6,\n};\n\nenum xhci_setup_dev {\n\tSETUP_CONTEXT_ONLY = 0,\n\tSETUP_CONTEXT_ADDRESS = 1,\n};\n\nenum xprt_transports {\n\tXPRT_TRANSPORT_UDP = 17,\n\tXPRT_TRANSPORT_TCP = 6,\n\tXPRT_TRANSPORT_BC_TCP = -2147483642,\n\tXPRT_TRANSPORT_RDMA = 256,\n\tXPRT_TRANSPORT_BC_RDMA = -2147483392,\n\tXPRT_TRANSPORT_LOCAL = 257,\n\tXPRT_TRANSPORT_TCP_TLS = 258,\n};\n\nenum xprt_xid_rb_cmp {\n\tXID_RB_EQUAL = 0,\n\tXID_RB_LEFT = 1,\n\tXID_RB_RIGHT = 2,\n};\n\nenum xprtsec_policies {\n\tRPC_XPRTSEC_NONE = 0,\n\tRPC_XPRTSEC_TLS_ANON = 1,\n\tRPC_XPRTSEC_TLS_X509 = 2,\n};\n\nenum xps_map_type {\n\tXPS_CPUS = 0,\n\tXPS_RXQS = 1,\n\tXPS_MAPS_MAX = 2,\n};\n\nenum xsd_sockmsg_type {\n\tXS_CONTROL = 0,\n\tXS_DIRECTORY = 1,\n\tXS_READ = 2,\n\tXS_GET_PERMS = 3,\n\tXS_WATCH = 4,\n\tXS_UNWATCH = 5,\n\tXS_TRANSACTION_START = 6,\n\tXS_TRANSACTION_END = 7,\n\tXS_INTRODUCE = 8,\n\tXS_RELEASE = 9,\n\tXS_GET_DOMAIN_PATH = 10,\n\tXS_WRITE = 11,\n\tXS_MKDIR = 12,\n\tXS_RM = 13,\n\tXS_SET_PERMS = 14,\n\tXS_WATCH_EVENT = 15,\n\tXS_ERROR = 16,\n\tXS_IS_DOMAIN_INTRODUCED = 17,\n\tXS_RESUME = 18,\n\tXS_SET_TARGET = 19,\n\tXS_RESET_WATCHES = 21,\n\tXS_DIRECTORY_PART = 22,\n\tXS_TYPE_COUNT = 23,\n\tXS_INVALID = 65535,\n};\n\nenum xz_check {\n\tXZ_CHECK_NONE = 0,\n\tXZ_CHECK_CRC32 = 1,\n\tXZ_CHECK_CRC64 = 4,\n\tXZ_CHECK_SHA256 = 10,\n};\n\nenum xz_mode {\n\tXZ_SINGLE = 0,\n\tXZ_PREALLOC = 1,\n\tXZ_DYNALLOC = 2,\n};\n\nenum xz_ret {\n\tXZ_OK = 0,\n\tXZ_STREAM_END = 1,\n\tXZ_UNSUPPORTED_CHECK = 2,\n\tXZ_MEM_ERROR = 3,\n\tXZ_MEMLIMIT_ERROR = 4,\n\tXZ_FORMAT_ERROR = 5,\n\tXZ_OPTIONS_ERROR = 6,\n\tXZ_DATA_ERROR = 7,\n\tXZ_BUF_ERROR = 8,\n};\n\nenum yukon_ec_rev {\n\tCHIP_REV_YU_EC_A1 = 0,\n\tCHIP_REV_YU_EC_A2 = 1,\n\tCHIP_REV_YU_EC_A3 = 2,\n};\n\nenum yukon_ec_u_rev {\n\tCHIP_REV_YU_EC_U_A0 = 1,\n\tCHIP_REV_YU_EC_U_A1 = 2,\n\tCHIP_REV_YU_EC_U_B0 = 3,\n\tCHIP_REV_YU_EC_U_B1 = 5,\n};\n\nenum yukon_ex_rev {\n\tCHIP_REV_YU_EX_A0 = 1,\n\tCHIP_REV_YU_EX_B0 = 2,\n};\n\nenum yukon_fe_p_rev {\n\tCHIP_REV_YU_FE2_A0 = 0,\n};\n\nenum yukon_prm_rev {\n\tCHIP_REV_YU_PRM_Z1 = 1,\n\tCHIP_REV_YU_PRM_A0 = 2,\n};\n\nenum yukon_supr_rev {\n\tCHIP_REV_YU_SU_A0 = 0,\n\tCHIP_REV_YU_SU_B0 = 1,\n\tCHIP_REV_YU_SU_B1 = 3,\n};\n\nenum yukon_xl_rev {\n\tCHIP_REV_YU_XL_A0 = 0,\n\tCHIP_REV_YU_XL_A1 = 1,\n\tCHIP_REV_YU_XL_A2 = 2,\n\tCHIP_REV_YU_XL_A3 = 3,\n};\n\nenum zone_flags {\n\tZONE_BOOSTED_WATERMARK = 0,\n\tZONE_RECLAIM_ACTIVE = 1,\n\tZONE_BELOW_HIGH = 2,\n};\n\nenum zone_stat_item {\n\tNR_FREE_PAGES = 0,\n\tNR_ZONE_LRU_BASE = 1,\n\tNR_ZONE_INACTIVE_ANON = 1,\n\tNR_ZONE_ACTIVE_ANON = 2,\n\tNR_ZONE_INACTIVE_FILE = 3,\n\tNR_ZONE_ACTIVE_FILE = 4,\n\tNR_ZONE_UNEVICTABLE = 5,\n\tNR_ZONE_WRITE_PENDING = 6,\n\tNR_MLOCK = 7,\n\tNR_BOUNCE = 8,\n\tNR_FREE_CMA_PAGES = 9,\n\tNR_VM_ZONE_STAT_ITEMS = 10,\n};\n\nenum zone_type {\n\tZONE_DMA = 0,\n\tZONE_DMA32 = 1,\n\tZONE_NORMAL = 2,\n\tZONE_MOVABLE = 3,\n\t__MAX_NR_ZONES = 4,\n};\n\nenum zone_watermarks {\n\tWMARK_MIN = 0,\n\tWMARK_LOW = 1,\n\tWMARK_HIGH = 2,\n\tWMARK_PROMO = 3,\n\tNR_WMARK = 4,\n};\n\nenum zynqmp_pm_request_ack {\n\tZYNQMP_PM_REQUEST_ACK_NO = 1,\n\tZYNQMP_PM_REQUEST_ACK_BLOCKING = 2,\n\tZYNQMP_PM_REQUEST_ACK_NON_BLOCKING = 3,\n};\n\nenum zynqmp_pm_reset {\n\tZYNQMP_PM_RESET_START = 1000,\n\tZYNQMP_PM_RESET_PCIE_CFG = 1000,\n\tZYNQMP_PM_RESET_PCIE_BRIDGE = 1001,\n\tZYNQMP_PM_RESET_PCIE_CTRL = 1002,\n\tZYNQMP_PM_RESET_DP = 1003,\n\tZYNQMP_PM_RESET_SWDT_CRF = 1004,\n\tZYNQMP_PM_RESET_AFI_FM5 = 1005,\n\tZYNQMP_PM_RESET_AFI_FM4 = 1006,\n\tZYNQMP_PM_RESET_AFI_FM3 = 1007,\n\tZYNQMP_PM_RESET_AFI_FM2 = 1008,\n\tZYNQMP_PM_RESET_AFI_FM1 = 1009,\n\tZYNQMP_PM_RESET_AFI_FM0 = 1010,\n\tZYNQMP_PM_RESET_GDMA = 1011,\n\tZYNQMP_PM_RESET_GPU_PP1 = 1012,\n\tZYNQMP_PM_RESET_GPU_PP0 = 1013,\n\tZYNQMP_PM_RESET_GPU = 1014,\n\tZYNQMP_PM_RESET_GT = 1015,\n\tZYNQMP_PM_RESET_SATA = 1016,\n\tZYNQMP_PM_RESET_ACPU3_PWRON = 1017,\n\tZYNQMP_PM_RESET_ACPU2_PWRON = 1018,\n\tZYNQMP_PM_RESET_ACPU1_PWRON = 1019,\n\tZYNQMP_PM_RESET_ACPU0_PWRON = 1020,\n\tZYNQMP_PM_RESET_APU_L2 = 1021,\n\tZYNQMP_PM_RESET_ACPU3 = 1022,\n\tZYNQMP_PM_RESET_ACPU2 = 1023,\n\tZYNQMP_PM_RESET_ACPU1 = 1024,\n\tZYNQMP_PM_RESET_ACPU0 = 1025,\n\tZYNQMP_PM_RESET_DDR = 1026,\n\tZYNQMP_PM_RESET_APM_FPD = 1027,\n\tZYNQMP_PM_RESET_SOFT = 1028,\n\tZYNQMP_PM_RESET_GEM0 = 1029,\n\tZYNQMP_PM_RESET_GEM1 = 1030,\n\tZYNQMP_PM_RESET_GEM2 = 1031,\n\tZYNQMP_PM_RESET_GEM3 = 1032,\n\tZYNQMP_PM_RESET_QSPI = 1033,\n\tZYNQMP_PM_RESET_UART0 = 1034,\n\tZYNQMP_PM_RESET_UART1 = 1035,\n\tZYNQMP_PM_RESET_SPI0 = 1036,\n\tZYNQMP_PM_RESET_SPI1 = 1037,\n\tZYNQMP_PM_RESET_SDIO0 = 1038,\n\tZYNQMP_PM_RESET_SDIO1 = 1039,\n\tZYNQMP_PM_RESET_CAN0 = 1040,\n\tZYNQMP_PM_RESET_CAN1 = 1041,\n\tZYNQMP_PM_RESET_I2C0 = 1042,\n\tZYNQMP_PM_RESET_I2C1 = 1043,\n\tZYNQMP_PM_RESET_TTC0 = 1044,\n\tZYNQMP_PM_RESET_TTC1 = 1045,\n\tZYNQMP_PM_RESET_TTC2 = 1046,\n\tZYNQMP_PM_RESET_TTC3 = 1047,\n\tZYNQMP_PM_RESET_SWDT_CRL = 1048,\n\tZYNQMP_PM_RESET_NAND = 1049,\n\tZYNQMP_PM_RESET_ADMA = 1050,\n\tZYNQMP_PM_RESET_GPIO = 1051,\n\tZYNQMP_PM_RESET_IOU_CC = 1052,\n\tZYNQMP_PM_RESET_TIMESTAMP = 1053,\n\tZYNQMP_PM_RESET_RPU_R50 = 1054,\n\tZYNQMP_PM_RESET_RPU_R51 = 1055,\n\tZYNQMP_PM_RESET_RPU_AMBA = 1056,\n\tZYNQMP_PM_RESET_OCM = 1057,\n\tZYNQMP_PM_RESET_RPU_PGE = 1058,\n\tZYNQMP_PM_RESET_USB0_CORERESET = 1059,\n\tZYNQMP_PM_RESET_USB1_CORERESET = 1060,\n\tZYNQMP_PM_RESET_USB0_HIBERRESET = 1061,\n\tZYNQMP_PM_RESET_USB1_HIBERRESET = 1062,\n\tZYNQMP_PM_RESET_USB0_APB = 1063,\n\tZYNQMP_PM_RESET_USB1_APB = 1064,\n\tZYNQMP_PM_RESET_IPI = 1065,\n\tZYNQMP_PM_RESET_APM_LPD = 1066,\n\tZYNQMP_PM_RESET_RTC = 1067,\n\tZYNQMP_PM_RESET_SYSMON = 1068,\n\tZYNQMP_PM_RESET_AFI_FM6 = 1069,\n\tZYNQMP_PM_RESET_LPD_SWDT = 1070,\n\tZYNQMP_PM_RESET_FPD = 1071,\n\tZYNQMP_PM_RESET_RPU_DBG1 = 1072,\n\tZYNQMP_PM_RESET_RPU_DBG0 = 1073,\n\tZYNQMP_PM_RESET_DBG_LPD = 1074,\n\tZYNQMP_PM_RESET_DBG_FPD = 1075,\n\tZYNQMP_PM_RESET_APLL = 1076,\n\tZYNQMP_PM_RESET_DPLL = 1077,\n\tZYNQMP_PM_RESET_VPLL = 1078,\n\tZYNQMP_PM_RESET_IOPLL = 1079,\n\tZYNQMP_PM_RESET_RPLL = 1080,\n\tZYNQMP_PM_RESET_GPO3_PL_0 = 1081,\n\tZYNQMP_PM_RESET_GPO3_PL_1 = 1082,\n\tZYNQMP_PM_RESET_GPO3_PL_2 = 1083,\n\tZYNQMP_PM_RESET_GPO3_PL_3 = 1084,\n\tZYNQMP_PM_RESET_GPO3_PL_4 = 1085,\n\tZYNQMP_PM_RESET_GPO3_PL_5 = 1086,\n\tZYNQMP_PM_RESET_GPO3_PL_6 = 1087,\n\tZYNQMP_PM_RESET_GPO3_PL_7 = 1088,\n\tZYNQMP_PM_RESET_GPO3_PL_8 = 1089,\n\tZYNQMP_PM_RESET_GPO3_PL_9 = 1090,\n\tZYNQMP_PM_RESET_GPO3_PL_10 = 1091,\n\tZYNQMP_PM_RESET_GPO3_PL_11 = 1092,\n\tZYNQMP_PM_RESET_GPO3_PL_12 = 1093,\n\tZYNQMP_PM_RESET_GPO3_PL_13 = 1094,\n\tZYNQMP_PM_RESET_GPO3_PL_14 = 1095,\n\tZYNQMP_PM_RESET_GPO3_PL_15 = 1096,\n\tZYNQMP_PM_RESET_GPO3_PL_16 = 1097,\n\tZYNQMP_PM_RESET_GPO3_PL_17 = 1098,\n\tZYNQMP_PM_RESET_GPO3_PL_18 = 1099,\n\tZYNQMP_PM_RESET_GPO3_PL_19 = 1100,\n\tZYNQMP_PM_RESET_GPO3_PL_20 = 1101,\n\tZYNQMP_PM_RESET_GPO3_PL_21 = 1102,\n\tZYNQMP_PM_RESET_GPO3_PL_22 = 1103,\n\tZYNQMP_PM_RESET_GPO3_PL_23 = 1104,\n\tZYNQMP_PM_RESET_GPO3_PL_24 = 1105,\n\tZYNQMP_PM_RESET_GPO3_PL_25 = 1106,\n\tZYNQMP_PM_RESET_GPO3_PL_26 = 1107,\n\tZYNQMP_PM_RESET_GPO3_PL_27 = 1108,\n\tZYNQMP_PM_RESET_GPO3_PL_28 = 1109,\n\tZYNQMP_PM_RESET_GPO3_PL_29 = 1110,\n\tZYNQMP_PM_RESET_GPO3_PL_30 = 1111,\n\tZYNQMP_PM_RESET_GPO3_PL_31 = 1112,\n\tZYNQMP_PM_RESET_RPU_LS = 1113,\n\tZYNQMP_PM_RESET_PS_ONLY = 1114,\n\tZYNQMP_PM_RESET_PL = 1115,\n\tZYNQMP_PM_RESET_PS_PL0 = 1116,\n\tZYNQMP_PM_RESET_PS_PL1 = 1117,\n\tZYNQMP_PM_RESET_PS_PL2 = 1118,\n\tZYNQMP_PM_RESET_PS_PL3 = 1119,\n\tZYNQMP_PM_RESET_END = 1119,\n};\n\nenum zynqmp_pm_reset_action {\n\tPM_RESET_ACTION_RELEASE = 0,\n\tPM_RESET_ACTION_ASSERT = 1,\n\tPM_RESET_ACTION_PULSE = 2,\n};\n\nenum zynqmp_pm_shutdown_subtype {\n\tZYNQMP_PM_SHUTDOWN_SUBTYPE_SUBSYSTEM = 0,\n\tZYNQMP_PM_SHUTDOWN_SUBTYPE_PS_ONLY = 1,\n\tZYNQMP_PM_SHUTDOWN_SUBTYPE_SYSTEM = 2,\n};\n\nenum zynqmp_pm_shutdown_type {\n\tZYNQMP_PM_SHUTDOWN_TYPE_SHUTDOWN = 0,\n\tZYNQMP_PM_SHUTDOWN_TYPE_RESET = 1,\n\tZYNQMP_PM_SHUTDOWN_TYPE_SETSCOPE_ONLY = 2,\n};\n\nenum zynqmp_pm_suspend_reason {\n\tSUSPEND_POWER_REQUEST = 201,\n\tSUSPEND_ALERT = 202,\n\tSUSPEND_SYSTEM_SHUTDOWN = 203,\n};\n\ntypedef _Bool bool;\n\ntypedef __int128 unsigned __u128;\n\ntypedef __u128 u128;\n\ntypedef u128 freelist_full_t;\n\ntypedef freelist_full_t pcp_op_T__;\n\ntypedef char __pad_after_uframe[0];\n\ntypedef char __pad_before_u32[0];\n\ntypedef char __pad_before_uframe[0];\n\ntypedef char acpi_bus_id[8];\n\ntypedef char acpi_device_class[20];\n\ntypedef char acpi_device_name[40];\n\ntypedef char *acpi_string;\n\ntypedef const char (* const ethnl_string_array_t)[32];\n\ntypedef int __kernel_clockid_t;\n\ntypedef int __kernel_daddr_t;\n\ntypedef int __kernel_ipc_pid_t;\n\ntypedef int __kernel_key_t;\n\ntypedef int __kernel_mqd_t;\n\ntypedef int __kernel_pid_t;\n\ntypedef int __kernel_rwf_t;\n\ntypedef int __kernel_timer_t;\n\ntypedef int __s32;\n\ntypedef int class_get_unused_fd_t;\n\ntypedef __kernel_clockid_t clockid_t;\n\ntypedef __s32 s32;\n\ntypedef s32 compat_clock_t;\n\ntypedef s32 compat_daddr_t;\n\ntypedef s32 compat_int_t;\n\ntypedef s32 compat_key_t;\n\ntypedef s32 compat_long_t;\n\ntypedef s32 compat_off_t;\n\ntypedef s32 compat_pid_t;\n\ntypedef s32 compat_ssize_t;\n\ntypedef s32 compat_timer_t;\n\ntypedef int cydp_t;\n\ntypedef s32 dma_cookie_t;\n\ntypedef int ext4_grpblk_t;\n\ntypedef int folio_walk_flags_t;\n\ntypedef int fpb_t;\n\ntypedef int fpi_t;\n\ntypedef int initcall_entry_t;\n\ntypedef s32 int32_t;\n\ntypedef int32_t key_serial_t;\n\ntypedef __kernel_key_t key_t;\n\ntypedef int kprobe_opcode_t;\n\ntypedef int mhp_t;\n\ntypedef int mpi_size_t;\n\ntypedef __kernel_mqd_t mqd_t;\n\ntypedef s32 old_time32_t;\n\ntypedef int pci_power_t;\n\ntypedef __kernel_pid_t pid_t;\n\ntypedef int rmap_t;\n\ntypedef __kernel_rwf_t rwf_t;\n\ntypedef int snd_ctl_elem_iface_t;\n\ntypedef int snd_ctl_elem_type_t;\n\ntypedef int snd_pcm_access_t;\n\ntypedef int snd_pcm_format_t;\n\ntypedef int snd_pcm_hw_param_t;\n\ntypedef int snd_pcm_state_t;\n\ntypedef int snd_pcm_subformat_t;\n\ntypedef int suspend_state_t;\n\ntypedef __kernel_timer_t timer_t;\n\ntypedef const int tracepoint_ptr_t;\n\ntypedef long int __kernel_long_t;\n\ntypedef __kernel_long_t __kernel_clock_t;\n\ntypedef __kernel_long_t __kernel_off_t;\n\ntypedef __kernel_long_t __kernel_old_time_t;\n\ntypedef __kernel_long_t __kernel_ptrdiff_t;\n\ntypedef __kernel_long_t __kernel_ssize_t;\n\ntypedef __kernel_long_t __kernel_suseconds_t;\n\ntypedef __kernel_clock_t clock_t;\n\ntypedef long int intptr_t;\n\ntypedef long int mpi_limb_signed_t;\n\ntypedef __kernel_off_t off_t;\n\ntypedef volatile long int prel64_t;\n\ntypedef __kernel_ptrdiff_t ptrdiff_t;\n\ntypedef long int snd_pcm_sframes_t;\n\ntypedef __kernel_ssize_t ssize_t;\n\ntypedef __kernel_suseconds_t suseconds_t;\n\ntypedef long long int __s64;\n\ntypedef __s64 Elf64_Sxword;\n\ntypedef long long int __kernel_loff_t;\n\ntypedef long long int __kernel_time64_t;\n\ntypedef __s64 s64;\n\ntypedef s64 compat_loff_t;\n\ntypedef s64 compat_s64;\n\ntypedef s64 int64_t;\n\ntypedef s64 ktime_t;\n\ntypedef __kernel_loff_t loff_t;\n\ntypedef long long int qsize_t;\n\ntypedef __s64 time64_t;\n\ntypedef int64_t xen_long_t;\n\ntypedef long long unsigned int __u64;\n\ntypedef __u64 Elf64_Addr;\n\ntypedef __u64 Elf64_Off;\n\ntypedef __u64 Elf64_Xword;\n\ntypedef __u64 u64;\n\ntypedef u64 uint64_t;\n\ntypedef uint64_t U64;\n\ntypedef __u64 __addrpair;\n\ntypedef __u64 __be64;\n\ntypedef __u64 __le64;\n\ntypedef __u64 __virtio64;\n\ntypedef u64 acpi_bus_address;\n\ntypedef u64 acpi_integer;\n\ntypedef u64 acpi_io_address;\n\ntypedef u64 acpi_physical_address;\n\ntypedef u64 acpi_size;\n\ntypedef u64 arm_lpae_iopte;\n\ntypedef u64 async_cookie_t;\n\ntypedef __u64 blist_flags_t;\n\ntypedef u64 blkcnt_t;\n\ntypedef uint64_t blkif_sector_t;\n\ntypedef u64 clientid4;\n\ntypedef u64 compat_u64;\n\ntypedef u64 dart_iopte;\n\ntypedef u64 dma_addr_t;\n\ntypedef u64 efi_physical_addr_t;\n\ntypedef long long unsigned int ext4_fsblk_t;\n\ntypedef __be64 fdt64_t;\n\ntypedef u64 gfn_t;\n\ntypedef u64 gpa_t;\n\ntypedef u64 hfn_t;\n\ntypedef u64 hpa_t;\n\ntypedef u64 io_req_flags_t;\n\ntypedef hfn_t kvm_pfn_t;\n\ntypedef u64 kvm_pte_t;\n\ntypedef kvm_pte_t *kvm_pteref_t;\n\ntypedef long long unsigned int llu;\n\ntypedef u64 netdev_features_t;\n\ntypedef u64 p4dval_t;\n\ntypedef u64 pci_bus_addr_t;\n\ntypedef u64 pgdval_t;\n\ntypedef u64 phys_addr_t;\n\ntypedef u64 phys_cpuid_t;\n\ntypedef u64 pmdval_t;\n\ntypedef u64 pteval_t;\n\ntypedef u64 pudval_t;\n\ntypedef phys_addr_t resource_size_t;\n\ntypedef u64 sci_t;\n\ntypedef u64 sector_t;\n\ntypedef __u64 timeu64_t;\n\ntypedef u64 u_int64_t;\n\ntypedef u64 upf_t;\n\ntypedef uint64_t vli_type;\n\ntypedef uint64_t xen_pfn_t;\n\ntypedef uint64_t xen_ulong_t;\n\ntypedef long unsigned int mpi_limb_t;\n\ntypedef mpi_limb_t UWtype;\n\ntypedef long unsigned int __kernel_ulong_t;\n\ntypedef __kernel_ulong_t __kernel_size_t;\n\ntypedef __kernel_ulong_t aio_context_t;\n\ntypedef long unsigned int cycles_t;\n\ntypedef long unsigned int dax_entry_t;\n\ntypedef long unsigned int efi_status_t;\n\ntypedef long unsigned int elf_greg_t;\n\ntypedef elf_greg_t elf_gregset_t[34];\n\ntypedef long unsigned int hva_t;\n\ntypedef __kernel_ulong_t ino_t;\n\ntypedef long unsigned int irq_hw_number_t;\n\ntypedef long unsigned int kernel_ulong_t;\n\ntypedef long unsigned int kimage_entry_t;\n\ntypedef mpi_limb_t *mpi_ptr_t;\n\ntypedef long unsigned int netmem_ref;\n\ntypedef long unsigned int old_sigset_t;\n\ntypedef long unsigned int perf_trace_t[1024];\n\ntypedef long unsigned int pte_marker;\n\ntypedef __kernel_size_t size_t;\n\ntypedef long unsigned int snd_pcm_uframes_t;\n\ntypedef long unsigned int uLong;\n\ntypedef long unsigned int u_long;\n\ntypedef long unsigned int uintptr_t;\n\ntypedef long unsigned int ulg;\n\ntypedef long unsigned int ulong;\n\ntypedef uintptr_t uptrval;\n\ntypedef long unsigned int vm_flags_t;\n\ntypedef short int __s16;\n\ntypedef __s16 s16;\n\ntypedef s16 int16_t;\n\ntypedef int16_t S16;\n\ntypedef short unsigned int __u16;\n\ntypedef __u16 Elf32_Half;\n\ntypedef __u16 Elf64_Half;\n\ntypedef short unsigned int ush;\n\ntypedef ush Pos;\n\ntypedef __u16 u16;\n\ntypedef u16 uint16_t;\n\ntypedef uint16_t U16;\n\ntypedef __u16 __be16;\n\ntypedef u16 __compat_gid16_t;\n\ntypedef u16 __compat_gid_t;\n\ntypedef u16 __compat_uid16_t;\n\ntypedef u16 __compat_uid_t;\n\ntypedef __u16 __hc16;\n\ntypedef short unsigned int __kernel_gid16_t;\n\ntypedef short unsigned int __kernel_old_gid_t;\n\ntypedef short unsigned int __kernel_old_uid_t;\n\ntypedef short unsigned int __kernel_sa_family_t;\n\ntypedef short unsigned int __kernel_uid16_t;\n\ntypedef __u16 __le16;\n\ntypedef __u16 __rpmsg16;\n\ntypedef __u16 __sum16;\n\ntypedef __u16 __virtio16;\n\ntypedef u16 acpi_owner_id;\n\ntypedef u16 acpi_rs_length;\n\ntypedef uint16_t blkif_vdev_t;\n\ntypedef __u16 comp_t;\n\ntypedef u16 compat_ipc_pid_t;\n\ntypedef u16 compat_mode_t;\n\ntypedef u16 compat_ushort_t;\n\ntypedef uint16_t domid_t;\n\ntypedef u16 efi_char16_t;\n\ntypedef __kernel_gid16_t gid16_t;\n\ntypedef uint16_t grant_status_t;\n\ntypedef __kernel_old_gid_t old_gid_t;\n\ntypedef __kernel_old_uid_t old_uid_t;\n\ntypedef short unsigned int pci_bus_flags_t;\n\ntypedef short unsigned int pci_dev_flags_t;\n\ntypedef __u16 port_id;\n\ntypedef __kernel_sa_family_t sa_family_t;\n\ntypedef u16 u_int16_t;\n\ntypedef short unsigned int u_short;\n\ntypedef u16 ucs2_char_t;\n\ntypedef __kernel_uid16_t uid16_t;\n\ntypedef __u16 uio_meta_flags_t;\n\ntypedef short unsigned int umode_t;\n\ntypedef short unsigned int ushort;\n\ntypedef u16 wchar_t;\n\ntypedef signed char __s8;\n\ntypedef __s8 s8;\n\ntypedef s8 int8_t;\n\ntypedef unsigned char __u8;\n\ntypedef __u8 u8;\n\ntypedef u8 uint8_t;\n\ntypedef uint8_t BYTE;\n\ntypedef unsigned char Byte;\n\ntypedef uint8_t U8;\n\ntypedef u8 acpi_adr_space_type;\n\ntypedef u8 blk_status_t;\n\ntypedef unsigned char cc_t;\n\ntypedef u8 dscp_t;\n\ntypedef u8 efi_bool_t;\n\ntypedef u8 enet_addr_t[6];\n\ntypedef u8 rmap_age_t;\n\ntypedef unsigned char u8___2;\n\ntypedef unsigned char u_char;\n\ntypedef u8 u_int8_t;\n\ntypedef unsigned char uch;\n\ntypedef __u8 virtio_net_ctrl_ack;\n\ntypedef uint8_t xen_domain_handle_t[16];\n\ntypedef unsigned int __u32;\n\ntypedef __u32 Elf32_Addr;\n\ntypedef __u32 Elf32_Off;\n\ntypedef __u32 Elf32_Word;\n\ntypedef __u32 Elf64_Word;\n\ntypedef unsigned int FSE_DTable;\n\ntypedef __u32 u32;\n\ntypedef u32 uint32_t;\n\ntypedef uint32_t U32;\n\ntypedef U32 HUF_DTable;\n\ntypedef unsigned int IPos;\n\ntypedef unsigned int OM_uint32;\n\ntypedef unsigned int RING_IDX;\n\ntypedef unsigned int UHWtype;\n\ntypedef uint32_t XENCONS_RING_IDX;\n\ntypedef uint32_t XENSTORE_RING_IDX;\n\ntypedef __u32 __be32;\n\ntypedef u32 __compat_gid32_t;\n\ntypedef u32 __compat_uid32_t;\n\ntypedef __u32 __dw;\n\ntypedef __u32 __hc32;\n\ntypedef u32 __kernel_dev_t;\n\ntypedef unsigned int __kernel_gid32_t;\n\ntypedef unsigned int __kernel_gid_t;\n\ntypedef unsigned int __kernel_mode_t;\n\ntypedef unsigned int __kernel_old_dev_t;\n\ntypedef unsigned int __kernel_uid32_t;\n\ntypedef unsigned int __kernel_uid_t;\n\ntypedef __u32 __le32;\n\ntypedef unsigned int __poll_t;\n\ntypedef __u32 __portpair;\n\ntypedef __u32 __rpmsg32;\n\ntypedef __u32 __virtio32;\n\ntypedef __u32 __wsum;\n\ntypedef u32 acpi_event_status;\n\ntypedef u32 acpi_mutex_handle;\n\ntypedef u32 acpi_name;\n\ntypedef u32 acpi_object_type;\n\ntypedef u32 acpi_rsdesc_size;\n\ntypedef u32 acpi_status;\n\ntypedef u32 arm_v7s_iopte;\n\ntypedef unsigned int autofs_wqt_t;\n\ntypedef unsigned int blk_features_t;\n\ntypedef unsigned int blk_flags_t;\n\ntypedef unsigned int blk_insert_t;\n\ntypedef unsigned int blk_mode_t;\n\ntypedef __u32 blk_mq_req_flags_t;\n\ntypedef __u32 blk_opf_t;\n\ntypedef unsigned int blk_qc_t;\n\ntypedef u32 compat_aio_context_t;\n\ntypedef u32 compat_caddr_t;\n\ntypedef u32 compat_dev_t;\n\ntypedef unsigned int compat_elf_greg_t;\n\ntypedef compat_elf_greg_t compat_elf_gregset_t[18];\n\ntypedef u32 compat_ino_t;\n\ntypedef u32 compat_old_sigset_t;\n\ntypedef u32 compat_sigset_word;\n\ntypedef u32 compat_size_t;\n\ntypedef u32 compat_uint_t;\n\ntypedef u32 compat_ulong_t;\n\ntypedef u32 compat_uptr_t;\n\ntypedef u32 cppi5_tr_flags_t;\n\ntypedef u32 depot_flags_t;\n\ntypedef u32 depot_stack_handle_t;\n\ntypedef __kernel_dev_t dev_t;\n\ntypedef uint32_t drbg_flag_t;\n\ntypedef u32 efi_cc_event_algorithm_bitmap_t;\n\ntypedef u32 efi_cc_event_log_bitmap_t;\n\ntypedef u32 efi_cc_event_log_format_t;\n\ntypedef u32 efi_cc_mr_index_t;\n\ntypedef u32 efi_tcg2_event_log_format;\n\ntypedef u32 errseq_t;\n\ntypedef uint32_t event_word_t;\n\ntypedef uint32_t evtchn_port_t;\n\ntypedef unsigned int ext4_group_t;\n\ntypedef __u32 ext4_lblk_t;\n\ntypedef __be32 fdt32_t;\n\ntypedef unsigned int fgf_t;\n\ntypedef unsigned int fmode_t;\n\ntypedef unsigned int fop_flags_t;\n\ntypedef unsigned int gfp_t;\n\ntypedef __kernel_gid32_t gid_t;\n\ntypedef uint32_t grant_handle_t;\n\ntypedef uint32_t grant_ref_t;\n\ntypedef unsigned int ioasid_t;\n\ntypedef unsigned int iov_iter_extraction_t;\n\ntypedef unsigned int isolate_mode_t;\n\ntypedef unsigned int kasan_vmalloc_flags_t;\n\ntypedef uint32_t key_perm_t;\n\ntypedef unsigned int mmc_pm_flag_t;\n\ntypedef __kernel_mode_t mode_t;\n\ntypedef u32 nlink_t;\n\ntypedef u32 note_buf_t[106];\n\ntypedef unsigned int pci_channel_state_t;\n\ntypedef unsigned int pci_ers_result_t;\n\ntypedef unsigned int pgtbl_mod_mask;\n\ntypedef u32 phandle;\n\ntypedef unsigned int pipe_index_t;\n\ntypedef unsigned int pkvm_handle_t;\n\ntypedef __kernel_uid32_t projid_t;\n\ntypedef __kernel_uid32_t qid_t;\n\ntypedef U32 rankValCol_t[13];\n\ntypedef __u32 req_flags_t;\n\ntypedef u32 rpc_authflavor_t;\n\ntypedef __be32 rpc_fraghdr;\n\ntypedef unsigned int sk_buff_data_t;\n\ntypedef unsigned int slab_flags_t;\n\ntypedef unsigned int speed_t;\n\ntypedef unsigned int t_key;\n\ntypedef unsigned int tcflag_t;\n\ntypedef unsigned int tid_t;\n\ntypedef unsigned int uInt;\n\ntypedef unsigned int u_int;\n\ntypedef u32 u_int32_t;\n\ntypedef __kernel_uid32_t uid_t;\n\ntypedef unsigned int uint;\n\ntypedef u32 unicode_t;\n\ntypedef __le32 uprobe_opcode_t;\n\ntypedef unsigned int upstat_t;\n\ntypedef u32 usb_port_location_t;\n\ntypedef unsigned int vm_fault_t;\n\ntypedef unsigned int xa_mark_t;\n\ntypedef u32 xdp_features_t;\n\ntypedef unsigned int zap_flags_t;\n\ntypedef struct {\n\tsize_t bitContainer;\n\tunsigned int bitsConsumed;\n\tconst char *ptr;\n\tconst char *start;\n\tconst char *limitPtr;\n} BIT_DStream_t;\n\ntypedef struct {\n\tBYTE maxTableLog;\n\tBYTE tableType;\n\tBYTE tableLog;\n\tBYTE reserved;\n} DTableDesc;\n\ntypedef struct {\n\tsize_t state;\n\tconst void *table;\n} FSE_DState_t;\n\ntypedef struct {\n\tU16 tableLog;\n\tU16 fastMode;\n} FSE_DTableHeader;\n\ntypedef struct {\n\tshort int ncount[256];\n\tFSE_DTable dtable[0];\n} FSE_DecompressWksp;\n\ntypedef struct {\n\tshort unsigned int newState;\n\tunsigned char symbol;\n\tunsigned char nbBits;\n} FSE_decode_t;\n\ntypedef struct {\n\tBYTE nbBits;\n\tBYTE byte;\n} HUF_DEltX1;\n\ntypedef struct {\n\tU16 sequence;\n\tBYTE nbBits;\n\tBYTE length;\n} HUF_DEltX2;\n\ntypedef struct {\n\tU32 rankVal[13];\n\tU32 rankStart[13];\n\tU32 statsWksp[218];\n\tBYTE symbols[256];\n\tBYTE huffWeight[256];\n} HUF_ReadDTableX1_Workspace;\n\ntypedef struct {\n\tBYTE symbol;\n} sortedSymbol_t;\n\ntypedef struct {\n\tU32 rankVal[156];\n\tU32 rankStats[13];\n\tU32 rankStart0[15];\n\tsortedSymbol_t sortedSymbol[256];\n\tBYTE weightList[256];\n\tU32 calleeWksp[218];\n} HUF_ReadDTableX2_Workspace;\n\nstruct buffer_head;\n\ntypedef struct {\n\t__le32 *p;\n\t__le32 key;\n\tstruct buffer_head *bh;\n} Indirect;\n\ntypedef struct {\n\tconst uint8_t *externalDict;\n\tsize_t extDictSize;\n\tconst uint8_t *prefixEnd;\n\tsize_t prefixSize;\n} LZ4_streamDecode_t_internal;\n\ntypedef union {\n\tlong long unsigned int table[4];\n\tLZ4_streamDecode_t_internal internal_donotuse;\n} LZ4_streamDecode_t;\n\nstruct folio;\n\ntypedef struct {\n\tstruct folio *v;\n} Sector;\n\nstruct ZSTD_DDict_s;\n\ntypedef struct ZSTD_DDict_s ZSTD_DDict;\n\ntypedef struct {\n\tconst ZSTD_DDict **ddictPtrTable;\n\tsize_t ddictPtrTableSize;\n\tsize_t ddictPtrCount;\n} ZSTD_DDictHashSet;\n\ntypedef struct {\n\tsize_t error;\n\tint lowerBound;\n\tint upperBound;\n} ZSTD_bounds;\n\ntypedef void * (*ZSTD_allocFunction)(void *, size_t);\n\ntypedef void (*ZSTD_freeFunction)(void *, void *);\n\ntypedef struct {\n\tZSTD_allocFunction customAlloc;\n\tZSTD_freeFunction customFree;\n\tvoid *opaque;\n} ZSTD_customMem;\n\ntypedef struct {\n\tU16 nextState;\n\tBYTE nbAdditionalBits;\n\tBYTE nbBits;\n\tU32 baseValue;\n} ZSTD_seqSymbol;\n\ntypedef struct {\n\tZSTD_seqSymbol LLTable[513];\n\tZSTD_seqSymbol OFTable[257];\n\tZSTD_seqSymbol MLTable[513];\n\tHUF_DTable hufTable[4097];\n\tU32 rep[3];\n\tU32 workspace[157];\n} ZSTD_entropyDTables_t;\n\ntypedef struct {\n\tlong long unsigned int frameContentSize;\n\tlong long unsigned int windowSize;\n\tunsigned int blockSizeMax;\n\tZSTD_frameType_e frameType;\n\tunsigned int headerSize;\n\tunsigned int dictID;\n\tunsigned int checksumFlag;\n} ZSTD_frameHeader;\n\ntypedef struct {\n\tsize_t compressedSize;\n\tlong long unsigned int decompressedBound;\n} ZSTD_frameSizeInfo;\n\ntypedef struct {\n\tsize_t state;\n\tconst ZSTD_seqSymbol *table;\n} ZSTD_fseState;\n\ntypedef struct {\n\tU32 fastMode;\n\tU32 tableLog;\n} ZSTD_seqSymbol_header;\n\ntypedef struct {\n\tunion {\n\t\tchar *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_char;\n\ntypedef struct {\n\tunion {\n\t\tevtchn_port_t *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_evtchn_port_t;\n\ntypedef struct {\n\tunion {\n\t\tint *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_int;\n\ntypedef struct {\n\tunion {\n\t\tunsigned char *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_uchar;\n\ntypedef struct {\n\tunion {\n\t\tuint32_t *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_uint32_t;\n\ntypedef struct {\n\tunion {\n\t\tuint64_t *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_uint64_t;\n\nstruct vcpu_runstate_info;\n\ntypedef struct {\n\tunion {\n\t\tstruct vcpu_runstate_info *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_vcpu_runstate_info;\n\ntypedef struct {\n\tunion {\n\t\tvoid *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_void;\n\ntypedef struct {\n\tunion {\n\t\txen_pfn_t *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_xen_pfn_t;\n\nstruct xen_processor_csd;\n\ntypedef struct {\n\tunion {\n\t\tstruct xen_processor_csd *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_xen_processor_csd;\n\nstruct xen_processor_cx;\n\ntypedef struct {\n\tunion {\n\t\tstruct xen_processor_cx *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_xen_processor_cx;\n\nstruct xen_processor_px;\n\ntypedef struct {\n\tunion {\n\t\tstruct xen_processor_px *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_xen_processor_px;\n\ntypedef struct {\n\tunion {\n\t\txen_ulong_t *p;\n\t\tuint64_t q;\n\t};\n} __guest_handle_xen_ulong_t;\n\ntypedef struct {\n\tlong unsigned int fds_bits[16];\n} __kernel_fd_set;\n\ntypedef struct {\n\tint val[2];\n} __kernel_fsid_t;\n\ntypedef struct {\n\tU32 tableTime;\n\tU32 decode256Time;\n} algo_time_t;\n\ntypedef struct {\n\ts64 counter;\n} atomic64_t;\n\ntypedef atomic64_t atomic_long_t;\n\ntypedef struct {\n\tint counter;\n} atomic_t;\n\ntypedef struct {\n\t__be64 a;\n\t__be64 b;\n} be128;\n\ntypedef struct {\n\tblockType_e blockType;\n\tU32 lastBlock;\n\tU32 origSize;\n} blockProperties_t;\n\ntypedef struct {\n\tunion {\n\t\tvoid *kernel;\n\t\tvoid *user;\n\t};\n\tbool is_kernel: 1;\n} sockptr_t;\n\ntypedef sockptr_t bpfptr_t;\n\nstruct permanent_flags_t {\n\t__be16 tag;\n\tu8 disable;\n\tu8 ownership;\n\tu8 deactivated;\n\tu8 readPubek;\n\tu8 disableOwnerClear;\n\tu8 allowMaintenance;\n\tu8 physicalPresenceLifetimeLock;\n\tu8 physicalPresenceHWEnable;\n\tu8 physicalPresenceCMDEnable;\n\tu8 CEKPUsed;\n\tu8 TPMpost;\n\tu8 TPMpostLock;\n\tu8 FIPS;\n\tu8 operator;\n\tu8 enableRevokeEK;\n\tu8 nvLocked;\n\tu8 readSRKPub;\n\tu8 tpmEstablished;\n\tu8 maintenanceDone;\n\tu8 disableFullDALogicInfo;\n};\n\nstruct stclear_flags_t {\n\t__be16 tag;\n\tu8 deactivated;\n\tu8 disableForceClear;\n\tu8 physicalPresence;\n\tu8 physicalPresenceLock;\n\tu8 bGlobalLock;\n} __attribute__((packed));\n\nstruct tpm1_version {\n\tu8 major;\n\tu8 minor;\n\tu8 rev_major;\n\tu8 rev_minor;\n};\n\nstruct tpm1_version2 {\n\t__be16 tag;\n\tstruct tpm1_version version;\n};\n\nstruct timeout_t {\n\t__be32 a;\n\t__be32 b;\n\t__be32 c;\n\t__be32 d;\n};\n\nstruct duration_t {\n\t__be32 tpm_short;\n\t__be32 tpm_medium;\n\t__be32 tpm_long;\n};\n\ntypedef union {\n\tstruct permanent_flags_t perm_flags;\n\tstruct stclear_flags_t stclear_flags;\n\t__u8 owned;\n\t__be32 num_pcrs;\n\tstruct tpm1_version version1;\n\tstruct tpm1_version2 version2;\n\t__be32 manufacturer_id;\n\tstruct timeout_t timeout;\n\tstruct duration_t duration;\n} cap_t;\n\ntypedef struct {\n\tunsigned int interval;\n\tunsigned int timeout;\n} cisco_proto;\n\nstruct raw_spinlock;\n\ntypedef struct raw_spinlock raw_spinlock_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n\traw_spinlock_t *lock2;\n} class_double_raw_spinlock_t;\n\nstruct rq;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq *lock2;\n} class_double_rq_lock_t;\n\ntypedef struct {\n\tvoid *lock;\n\tlong unsigned int flags;\n} class_irqsave_t;\n\nstruct snd_pcm_substream;\n\ntypedef struct {\n\tstruct snd_pcm_substream *lock;\n} class_pcm_stream_lock_irq_t;\n\ntypedef struct {\n\tstruct snd_pcm_substream *lock;\n\tlong unsigned int flags;\n} class_pcm_stream_lock_irqsave_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_preempt_notrace_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_preempt_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n} class_raw_spinlock_irq_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n\tlong unsigned int flags;\n} class_raw_spinlock_irqsave_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n} class_raw_spinlock_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_rcu_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_rcu_tasks_trace_t;\n\nstruct qspinlock {\n\tunion {\n\t\tatomic_t val;\n\t\tstruct {\n\t\t\tu8 locked;\n\t\t\tu8 pending;\n\t\t};\n\t\tstruct {\n\t\t\tu16 locked_pending;\n\t\t\tu16 tail;\n\t\t};\n\t};\n};\n\ntypedef struct qspinlock arch_spinlock_t;\n\nstruct qrwlock {\n\tunion {\n\t\tatomic_t cnts;\n\t\tstruct {\n\t\t\tu8 wlocked;\n\t\t\tu8 __lstate[3];\n\t\t};\n\t};\n\tarch_spinlock_t wait_lock;\n};\n\ntypedef struct qrwlock arch_rwlock_t;\n\ntypedef struct {\n\tarch_rwlock_t raw_lock;\n} rwlock_t;\n\ntypedef struct {\n\trwlock_t *lock;\n\tlong unsigned int flags;\n} class_read_lock_irqsave_t;\n\nstruct pin_cookie {};\n\nstruct rq_flags {\n\tlong unsigned int flags;\n\tstruct pin_cookie cookie;\n};\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_irqsave_t;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_t;\n\nstruct spinlock;\n\ntypedef struct spinlock spinlock_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n} class_spinlock_irq_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n} class_spinlock_irqsave_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n} class_spinlock_t;\n\nstruct srcu_struct;\n\ntypedef struct {\n\tstruct srcu_struct *lock;\n\tint idx;\n} class_srcu_t;\n\nstruct task_struct;\n\ntypedef struct {\n\tstruct task_struct *lock;\n\tstruct rq *rq;\n\tstruct rq_flags rf;\n} class_task_rq_lock_t;\n\ntypedef struct {\n\trwlock_t *lock;\n} class_write_lock_irq_t;\n\ntypedef struct {\n\trwlock_t *lock;\n\tlong unsigned int flags;\n} class_write_lock_irqsave_t;\n\ntypedef struct {\n\tunsigned char op;\n\tunsigned char bits;\n\tshort unsigned int val;\n} code;\n\ntypedef __kernel_fsid_t compat_fsid_t;\n\ntypedef struct {\n\tcompat_sigset_word sig[2];\n} compat_sigset_t;\n\ntypedef struct {\n\tlong unsigned int bits[1];\n} dma_cap_mask_t;\n\ntypedef struct {\n\tu64 length;\n\tu64 data;\n} efi_capsule_block_desc_t;\n\ntypedef struct {\n\t__u8 b[16];\n} guid_t;\n\ntypedef guid_t efi_guid_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu32 headersize;\n\tu32 flags;\n\tu32 imagesize;\n} efi_capsule_header_t;\n\ntypedef struct {\n\tu8 major;\n\tu8 minor;\n} efi_cc_version_t;\n\ntypedef struct {\n\tu8 type;\n\tu8 sub_type;\n} efi_cc_type_t;\n\ntypedef struct {\n\tu8 size;\n\tefi_cc_version_t structure_version;\n\tefi_cc_version_t protocol_version;\n\tefi_cc_event_algorithm_bitmap_t hash_algorithm_bitmap;\n\tefi_cc_event_log_bitmap_t supported_event_logs;\n\tefi_cc_type_t cc_type;\n} efi_cc_boot_service_cap_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu32 table;\n} efi_config_table_32_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu64 table;\n} efi_config_table_64_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_guid_t guid;\n\t\tvoid *table;\n\t};\n\tefi_config_table_32_t mixed_mode;\n} efi_config_table_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tlong unsigned int *ptr;\n\tconst char name[16];\n} efi_config_table_type_t;\n\ntypedef struct {\n\tu16 year;\n\tu8 month;\n\tu8 day;\n\tu8 hour;\n\tu8 minute;\n\tu8 second;\n\tu8 pad1;\n\tu32 nanosecond;\n\ts16 timezone;\n\tu8 daylight;\n\tu8 pad2;\n} efi_time_t;\n\ntypedef struct {\n\tu64 size;\n\tu64 file_size;\n\tu64 phys_size;\n\tefi_time_t create_time;\n\tefi_time_t last_access_time;\n\tefi_time_t modification_time;\n\t__u64 attribute;\n\tefi_char16_t filename[0];\n} efi_file_info_t;\n\ntypedef struct {\n\tu32 red_mask;\n\tu32 green_mask;\n\tu32 blue_mask;\n\tu32 reserved_mask;\n} efi_pixel_bitmask_t;\n\ntypedef struct {\n\tu32 version;\n\tu32 horizontal_resolution;\n\tu32 vertical_resolution;\n\tint pixel_format;\n\tefi_pixel_bitmask_t pixel_information;\n\tu32 pixels_per_scan_line;\n} efi_graphics_output_mode_info_t;\n\ntypedef struct {\n\tu16 scan_code;\n\tefi_char16_t unicode_char;\n} efi_input_key_t;\n\ntypedef struct {\n\tu32 attributes;\n\tu16 file_path_list_length;\n\tu8 variable_data[0];\n} __attribute__((packed)) efi_load_option_t;\n\nstruct efi_generic_dev_path;\n\ntypedef struct efi_generic_dev_path efi_device_path_protocol_t;\n\ntypedef struct {\n\tu32 attributes;\n\tu16 file_path_list_length;\n\tconst efi_char16_t *description;\n\tconst efi_device_path_protocol_t *file_path_list;\n\tu32 optional_data_size;\n\tconst void *optional_data;\n} efi_load_option_unpacked_t;\n\ntypedef void *efi_handle_t;\n\ntypedef struct {\n\tu64 signature;\n\tu32 revision;\n\tu32 headersize;\n\tu32 crc32;\n\tu32 reserved;\n} efi_table_hdr_t;\n\ntypedef struct {\n\tu32 resolution;\n\tu32 accuracy;\n\tu8 sets_to_zero;\n} efi_time_cap_t;\n\ntypedef efi_status_t efi_get_time_t(efi_time_t *, efi_time_cap_t *);\n\ntypedef efi_status_t efi_set_time_t(efi_time_t *);\n\ntypedef efi_status_t efi_get_wakeup_time_t(efi_bool_t *, efi_bool_t *, efi_time_t *);\n\ntypedef efi_status_t efi_set_wakeup_time_t(efi_bool_t, efi_time_t *);\n\ntypedef struct {\n\tu32 type;\n\tu32 pad;\n\tu64 phys_addr;\n\tu64 virt_addr;\n\tu64 num_pages;\n\tu64 attribute;\n} efi_memory_desc_t;\n\ntypedef efi_status_t efi_set_virtual_address_map_t(long unsigned int, long unsigned int, u32, efi_memory_desc_t *);\n\ntypedef efi_status_t efi_get_variable_t(efi_char16_t *, efi_guid_t *, u32 *, long unsigned int *, void *);\n\ntypedef efi_status_t efi_get_next_variable_t(long unsigned int *, efi_char16_t *, efi_guid_t *);\n\ntypedef efi_status_t efi_set_variable_t(efi_char16_t *, efi_guid_t *, u32, long unsigned int, void *);\n\ntypedef efi_status_t efi_get_next_high_mono_count_t(u32 *);\n\ntypedef void efi_reset_system_t(int, efi_status_t, long unsigned int, efi_char16_t *);\n\ntypedef efi_status_t efi_update_capsule_t(efi_capsule_header_t **, long unsigned int, long unsigned int);\n\ntypedef efi_status_t efi_query_capsule_caps_t(efi_capsule_header_t **, long unsigned int, u64 *, int *);\n\ntypedef efi_status_t efi_query_variable_info_t(u32, u64 *, u64 *, u64 *);\n\ntypedef struct {\n\tefi_table_hdr_t hdr;\n\tu32 get_time;\n\tu32 set_time;\n\tu32 get_wakeup_time;\n\tu32 set_wakeup_time;\n\tu32 set_virtual_address_map;\n\tu32 convert_pointer;\n\tu32 get_variable;\n\tu32 get_next_variable;\n\tu32 set_variable;\n\tu32 get_next_high_mono_count;\n\tu32 reset_system;\n\tu32 update_capsule;\n\tu32 query_capsule_caps;\n\tu32 query_variable_info;\n} efi_runtime_services_32_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tefi_get_time_t *get_time;\n\t\tefi_set_time_t *set_time;\n\t\tefi_get_wakeup_time_t *get_wakeup_time;\n\t\tefi_set_wakeup_time_t *set_wakeup_time;\n\t\tefi_set_virtual_address_map_t *set_virtual_address_map;\n\t\tvoid *convert_pointer;\n\t\tefi_get_variable_t *get_variable;\n\t\tefi_get_next_variable_t *get_next_variable;\n\t\tefi_set_variable_t *set_variable;\n\t\tefi_get_next_high_mono_count_t *get_next_high_mono_count;\n\t\tefi_reset_system_t *reset_system;\n\t\tefi_update_capsule_t *update_capsule;\n\t\tefi_query_capsule_caps_t *query_capsule_caps;\n\t\tefi_query_variable_info_t *query_variable_info;\n\t};\n\tefi_runtime_services_32_t mixed_mode;\n} efi_runtime_services_t;\n\ntypedef struct {\n\tefi_table_hdr_t hdr;\n\tu32 fw_vendor;\n\tu32 fw_revision;\n\tu32 con_in_handle;\n\tu32 con_in;\n\tu32 con_out_handle;\n\tu32 con_out;\n\tu32 stderr_handle;\n\tu32 stderr;\n\tu32 runtime;\n\tu32 boottime;\n\tu32 nr_tables;\n\tu32 tables;\n} efi_system_table_32_t;\n\nunion efi_simple_text_input_protocol;\n\ntypedef union efi_simple_text_input_protocol efi_simple_text_input_protocol_t;\n\nunion efi_simple_text_output_protocol;\n\ntypedef union efi_simple_text_output_protocol efi_simple_text_output_protocol_t;\n\nunion efi_boot_services;\n\ntypedef union efi_boot_services efi_boot_services_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tlong unsigned int fw_vendor;\n\t\tu32 fw_revision;\n\t\tlong unsigned int con_in_handle;\n\t\tefi_simple_text_input_protocol_t *con_in;\n\t\tlong unsigned int con_out_handle;\n\t\tefi_simple_text_output_protocol_t *con_out;\n\t\tlong unsigned int stderr_handle;\n\t\tlong unsigned int stderr;\n\t\tefi_runtime_services_t *runtime;\n\t\tefi_boot_services_t *boottime;\n\t\tlong unsigned int nr_tables;\n\t\tlong unsigned int tables;\n\t};\n\tefi_system_table_32_t mixed_mode;\n} efi_system_table_t;\n\ntypedef union {\n\tstruct {\n\t\tu32 revision;\n\t\tefi_handle_t parent_handle;\n\t\tefi_system_table_t *system_table;\n\t\tefi_handle_t device_handle;\n\t\tvoid *file_path;\n\t\tvoid *reserved;\n\t\tu32 load_options_size;\n\t\tvoid *load_options;\n\t\tvoid *image_base;\n\t\t__u64 image_size;\n\t\tunsigned int image_code_type;\n\t\tunsigned int image_data_type;\n\t\tefi_status_t (*unload)(efi_handle_t);\n\t};\n\tstruct {\n\t\tu32 revision;\n\t\tu32 parent_handle;\n\t\tu32 system_table;\n\t\tu32 device_handle;\n\t\tu32 file_path;\n\t\tu32 reserved;\n\t\tu32 load_options_size;\n\t\tu32 load_options;\n\t\tu32 image_base;\n\t\t__u64 image_size;\n\t\tu32 image_code_type;\n\t\tu32 image_data_type;\n\t\tu32 unload;\n\t} mixed_mode;\n} efi_loaded_image_t;\n\ntypedef struct {\n\tu32 version;\n\tu32 num_entries;\n\tu32 desc_size;\n\tu32 flags;\n\tefi_memory_desc_t entry[0];\n} efi_memory_attributes_table_t;\n\ntypedef struct {\n\tu32 read;\n\tu32 write;\n} efi_pci_io_protocol_access_32_t;\n\ntypedef struct {\n\tvoid *read;\n\tvoid *write;\n} efi_pci_io_protocol_access_t;\n\nunion efi_pci_io_protocol;\n\ntypedef union efi_pci_io_protocol efi_pci_io_protocol_t;\n\ntypedef efi_status_t (*efi_pci_io_protocol_cfg_t)(efi_pci_io_protocol_t *, EFI_PCI_IO_PROTOCOL_WIDTH, u32, long unsigned int, void *);\n\ntypedef struct {\n\tefi_pci_io_protocol_cfg_t read;\n\tefi_pci_io_protocol_cfg_t write;\n} efi_pci_io_protocol_config_access_t;\n\ntypedef struct {\n\tu16 version;\n\tu16 length;\n\tu32 runtime_services_supported;\n} efi_rt_properties_table_t;\n\ntypedef struct {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n} ext4_acl_entry;\n\ntypedef struct {\n\t__le32 a_version;\n} ext4_acl_header;\n\ntypedef __kernel_fd_set fd_set;\n\ntypedef struct {\n\tlong unsigned int *in;\n\tlong unsigned int *out;\n\tlong unsigned int *ex;\n\tlong unsigned int *res_in;\n\tlong unsigned int *res_out;\n\tlong unsigned int *res_ex;\n} fd_set_bits;\n\ntypedef struct {\n\tatomic64_t refcnt;\n} file_ref_t;\n\ntypedef struct {\n\tunsigned int t391;\n\tunsigned int t392;\n\tunsigned int n391;\n\tunsigned int n392;\n\tunsigned int n393;\n\tshort unsigned int lmi;\n\tshort unsigned int dce;\n} fr_proto;\n\ntypedef struct {\n\tunsigned int dlci;\n} fr_proto_pvc;\n\ntypedef struct {\n\tunsigned int dlci;\n\tchar master[16];\n} fr_proto_pvc_info;\n\ntypedef union {\n\tstruct {\n\t\tvoid *freelist;\n\t\tlong unsigned int counter;\n\t};\n\tfreelist_full_t full;\n} freelist_aba_t;\n\ntypedef struct {\n\tlong unsigned int v;\n} freeptr_t;\n\ntypedef struct {\n\tlong unsigned int key[2];\n} hsiphash_key_t;\n\ntypedef struct {\n\tunsigned int __softirq_pending;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n} irq_cpustat_t;\n\ntypedef struct {\n\tu64 val;\n} kernel_cap_t;\n\ntypedef struct {\n\tgid_t val;\n} kgid_t;\n\ntypedef struct {\n\tprojid_t val;\n} kprojid_t;\n\ntypedef struct {\n\tuid_t val;\n} kuid_t;\n\ntypedef struct {\n\t__le64 b;\n\t__le64 a;\n} le128;\n\ntypedef struct {\n\tatomic_long_t a;\n} local_t;\n\ntypedef struct {\n\tlocal_t a;\n} local64_t;\n\ntypedef struct {} local_lock_t;\n\ntypedef struct {} lockdep_map_p;\n\ntypedef union {\n\tlong unsigned int x[1];\n} map_word;\n\nstruct refcount_struct {\n\tatomic_t refs;\n};\n\ntypedef struct refcount_struct refcount_t;\n\ntypedef struct {\n\tatomic64_t id;\n\tvoid *sigpage;\n\trefcount_t pinned;\n\tvoid *vdso;\n\tlong unsigned int flags;\n\tu8 pkey_allocation_map;\n} mm_context_t;\n\ntypedef struct {} netdevice_tracker;\n\ntypedef struct {} netns_tracker;\n\ntypedef struct {\n\tchar data[8];\n} nfs4_verifier;\n\ntypedef struct {\n\tlong unsigned int bits[1];\n} nodemask_t;\n\ntypedef struct {\n\tp4dval_t p4d;\n} p4d_t;\n\ntypedef struct {\n\tu64 pme;\n} pagemap_entry_t;\n\ntypedef struct {\n\tu64 val;\n} pfn_t;\n\ntypedef struct {\n\tpgdval_t pgd;\n} pgd_t;\n\ntypedef struct {\n\tpteval_t pgprot;\n} pgprot_t;\n\ntypedef struct {\n\tpmdval_t pmd;\n} pmd_t;\n\ntypedef struct {\n\tlong unsigned int bits[4];\n} pnp_irq_mask_t;\n\nstruct net;\n\ntypedef struct {\n\tstruct net *net;\n} possible_net_t;\n\ntypedef struct {\n\tpteval_t pte;\n} pte_t;\n\ntypedef struct {\n\tpudval_t pud;\n} pud_t;\n\ntypedef struct {\n\tshort unsigned int encoding;\n\tshort unsigned int parity;\n} raw_hdlc_proto;\n\ntypedef struct {\n\tatomic_t refcnt;\n} rcuref_t;\n\ntypedef struct {\n\tsize_t written;\n\tsize_t count;\n\tunion {\n\t\tchar *buf;\n\t\tvoid *data;\n\t} arg;\n\tint error;\n} read_descriptor_t;\n\ntypedef union {\n} release_pages_arg;\n\ntypedef struct {\n\tBIT_DStream_t DStream;\n\tZSTD_fseState stateLL;\n\tZSTD_fseState stateOffb;\n\tZSTD_fseState stateML;\n\tsize_t prevOffset[3];\n} seqState_t;\n\ntypedef struct {\n\tsize_t litLength;\n\tsize_t matchLength;\n\tsize_t offset;\n} seq_t;\n\nstruct seqcount {\n\tunsigned int sequence;\n};\n\ntypedef struct seqcount seqcount_t;\n\ntypedef struct {\n\tseqcount_t seqcount;\n} seqcount_latch_t;\n\nstruct seqcount_spinlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_spinlock seqcount_spinlock_t;\n\nstruct raw_spinlock {\n\tarch_spinlock_t raw_lock;\n};\n\nstruct spinlock {\n\tunion {\n\t\tstruct raw_spinlock rlock;\n\t};\n};\n\ntypedef struct {\n\tseqcount_spinlock_t seqcount;\n\tspinlock_t lock;\n} seqlock_t;\n\ntypedef struct {\n\tlong unsigned int sig[1];\n} sigset_t;\n\ntypedef struct {\n\tu64 key[2];\n} siphash_key_t;\n\nstruct list_head {\n\tstruct list_head *next;\n\tstruct list_head *prev;\n};\n\nstruct wait_queue_head {\n\tspinlock_t lock;\n\tstruct list_head head;\n};\n\ntypedef struct wait_queue_head wait_queue_head_t;\n\ntypedef struct {\n\tspinlock_t slock;\n\tint owned;\n\twait_queue_head_t wq;\n} socket_lock_t;\n\ntypedef struct {\n\tchar *from;\n\tchar *to;\n} substring_t;\n\ntypedef struct {\n\tlong unsigned int val;\n} swp_entry_t;\n\ntypedef struct {\n\tunsigned int clock_rate;\n\tunsigned int clock_type;\n\tshort unsigned int loopback;\n} sync_serial_settings;\n\ntypedef struct {\n\tunsigned int clock_rate;\n\tunsigned int clock_type;\n\tshort unsigned int loopback;\n\tunsigned int slot_map;\n} te1_settings;\n\ntypedef struct {\n\tlocal64_t v;\n} u64_stats_t;\n\ntypedef struct {\n\t__u8 b[16];\n} uuid_t;\n\ntypedef struct {\n\tgid_t val;\n} vfsgid_t;\n\ntypedef struct {\n\tuid_t val;\n} vfsuid_t;\n\ntypedef struct {\n\tshort unsigned int dce;\n\tunsigned int modulo;\n\tunsigned int window;\n\tunsigned int t1;\n\tunsigned int t2;\n\tunsigned int n2;\n} x25_hdlc_proto;\n\nstruct in6_addr {\n\tunion {\n\t\t__u8 u6_addr8[16];\n\t\t__be16 u6_addr16[8];\n\t\t__be32 u6_addr32[4];\n\t} in6_u;\n};\n\ntypedef union {\n\t__be32 a4;\n\t__be32 a6[4];\n\tstruct in6_addr in6;\n} xfrm_address_t;\n\ntypedef ZSTD_customMem zstd_custom_mem;\n\ntypedef ZSTD_frameHeader zstd_frame_header;\n\nstruct IOV_111 {\n\tu8 maxVFsSupported;\n\tu8 numVFsEnabled;\n\tu8 requestorId;\n\tu8 reserved[5];\n};\n\nstruct IO_REQUEST_INFO {\n\tu64 ldStartBlock;\n\tu32 numBlocks;\n\tu16 ldTgtId;\n\tu8 isRead;\n\t__le16 devHandle;\n\tu8 pd_interface;\n\tu64 pdBlock;\n\tu8 fpOkForIo;\n\tu8 IoforUnevenSpan;\n\tu8 start_span;\n\tu8 do_fp_rlbypass;\n\tu64 start_row;\n\tu8 span_arm;\n\tu8 pd_after_lb;\n\tu16 r1_alt_dev_handle;\n\tbool ra_capable;\n\tu8 data_arms;\n};\n\nstruct LD_LOAD_BALANCE_INFO {\n\tu8 loadBalanceFlag;\n\tu8 reserved1;\n\tatomic_t scsi_pending_cmds[256];\n\tu64 last_accessed_block[256];\n};\n\nstruct megasas_cmd_fusion;\n\nstruct STREAM_DETECT {\n\tu64 next_seq_lba;\n\tstruct megasas_cmd_fusion *first_cmd_fusion;\n\tstruct megasas_cmd_fusion *last_cmd_fusion;\n\tu32 count_cmds_in_stream;\n\tu16 num_sges_in_group;\n\tu8 is_read;\n\tu8 group_depth;\n\tbool group_flush;\n\tu8 reserved[7];\n};\n\nstruct LD_STREAM_DETECT {\n\tbool write_back;\n\tbool fp_write_enabled;\n\tbool members_ssds;\n\tbool fp_cache_bypass_capable;\n\tu32 mru_bit_map;\n\tstruct STREAM_DETECT stream_track[8];\n};\n\nstruct _LD_SPAN_SET {\n\tu64 log_start_lba;\n\tu64 log_end_lba;\n\tu64 span_row_start;\n\tu64 span_row_end;\n\tu64 data_strip_start;\n\tu64 data_strip_end;\n\tu64 data_row_start;\n\tu64 data_row_end;\n\tu8 strip_offset[8];\n\tu32 span_row_data_width;\n\tu32 diff;\n\tu32 reserved[2];\n};\n\ntypedef struct _LD_SPAN_SET LD_SPAN_SET;\n\nstruct LOG_BLOCK_SPAN_INFO {\n\tLD_SPAN_SET span_set[8];\n};\n\ntypedef struct LOG_BLOCK_SPAN_INFO LD_SPAN_INFO;\n\ntypedef struct LOG_BLOCK_SPAN_INFO *PLD_SPAN_INFO;\n\nstruct MEGASAS_RAID_MFA_IO_REQUEST_DESCRIPTOR {\n\tu32 RequestFlags: 8;\n\tu32 MessageAddress1: 24;\n\tu32 MessageAddress2;\n};\n\nstruct MPI2_DEFAULT_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 DescriptorTypeDependent;\n};\n\nstruct MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 Reserved1;\n};\n\nstruct MPI2_SCSI_IO_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 DevHandle;\n};\n\nstruct MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 IoIndex;\n};\n\nstruct MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 Reserved;\n};\n\nunion MEGASAS_REQUEST_DESCRIPTOR_UNION {\n\tstruct MPI2_DEFAULT_REQUEST_DESCRIPTOR Default;\n\tstruct MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR HighPriority;\n\tstruct MPI2_SCSI_IO_REQUEST_DESCRIPTOR SCSIIO;\n\tstruct MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR SCSITarget;\n\tstruct MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR RAIDAccelerator;\n\tstruct MEGASAS_RAID_MFA_IO_REQUEST_DESCRIPTOR MFAIo;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 low;\n\t\t\t__le32 high;\n\t\t} u;\n\t\t__le64 Words;\n\t};\n};\n\nstruct MPI25_IEEE_SGE_CHAIN64 {\n\t__le64 Address;\n\t__le32 Length;\n\t__le16 Reserved1;\n\tu8 NextChainOffset;\n\tu8 Flags;\n};\n\nstruct MPI2_ADDRESS_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le32 ReplyFrameAddress;\n};\n\nstruct MPI2_DEFAULT_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 DescriptorTypeDependent1;\n\t__le32 DescriptorTypeDependent2;\n};\n\nstruct MPI2_IEEE_SGE_CHAIN32 {\n\t__le32 Address;\n\t__le32 FlagsLength;\n};\n\nstruct MPI2_IEEE_SGE_CHAIN64 {\n\t__le64 Address;\n\t__le32 Length;\n\t__le16 Reserved1;\n\tu8 Reserved2;\n\tu8 Flags;\n};\n\nunion MPI2_IEEE_SGE_CHAIN_UNION {\n\tstruct MPI2_IEEE_SGE_CHAIN32 Chain32;\n\tstruct MPI2_IEEE_SGE_CHAIN64 Chain64;\n};\n\nstruct MPI2_IEEE_SGE_SIMPLE32 {\n\t__le32 Address;\n\t__le32 FlagsLength;\n};\n\nstruct MPI2_IEEE_SGE_SIMPLE64 {\n\t__le64 Address;\n\t__le32 Length;\n\t__le16 Reserved1;\n\tu8 Reserved2;\n\tu8 Flags;\n};\n\nunion MPI2_IEEE_SGE_SIMPLE_UNION {\n\tstruct MPI2_IEEE_SGE_SIMPLE32 Simple32;\n\tstruct MPI2_IEEE_SGE_SIMPLE64 Simple64;\n};\n\nstruct MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY {\n\tu64 RDPQBaseAddress;\n\tu32 Reserved1;\n\tu32 Reserved2;\n};\n\nstruct MPI2_IOC_INIT_REQUEST {\n\tu8 WhoInit;\n\tu8 Reserved1;\n\tu8 ChainOffset;\n\tu8 Function;\n\t__le16 Reserved2;\n\tu8 Reserved3;\n\tu8 MsgFlags;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\t__le16 Reserved4;\n\t__le16 MsgVersion;\n\t__le16 HeaderVersion;\n\tu32 Reserved5;\n\t__le16 Reserved6;\n\tu8 HostPageSize;\n\tu8 HostMSIxVectors;\n\t__le16 Reserved8;\n\t__le16 SystemRequestFrameSize;\n\t__le16 ReplyDescriptorPostQueueDepth;\n\t__le16 ReplyFreeQueueDepth;\n\t__le32 SenseBufferAddressHigh;\n\t__le32 SystemReplyAddressHigh;\n\t__le64 SystemRequestFrameBaseAddress;\n\t__le64 ReplyDescriptorPostQueueAddress;\n\t__le64 ReplyFreeQueueAddress;\n\t__le64 TimeStamp;\n};\n\nstruct MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le32 Reserved;\n};\n\nstruct MPI2_SCSI_IO_CDB_EEDP32 {\n\tu8 CDB[20];\n\t__be32 PrimaryReferenceTag;\n\t__be16 PrimaryApplicationTag;\n\t__be16 PrimaryApplicationTagMask;\n\t__le32 TransferLength;\n};\n\nstruct MPI2_SGE_SIMPLE_UNION {\n\t__le32 FlagsLength;\n\tunion {\n\t\t__le32 Address32;\n\t\t__le64 Address64;\n\t} u;\n};\n\nunion MPI2_SCSI_IO_CDB_UNION {\n\tu8 CDB32[32];\n\tstruct MPI2_SCSI_IO_CDB_EEDP32 EEDP32;\n\tstruct MPI2_SGE_SIMPLE_UNION SGE;\n};\n\nstruct RAID_CONTEXT {\n\tu8 type: 4;\n\tu8 nseg: 4;\n\tu8 resvd0;\n\t__le16 timeout_value;\n\tu8 reg_lock_flags;\n\tu8 resvd1;\n\t__le16 virtual_disk_tgt_id;\n\t__le64 reg_lock_row_lba;\n\t__le32 reg_lock_length;\n\t__le16 next_lmid;\n\tu8 ex_status;\n\tu8 status;\n\tu8 raid_flags;\n\tu8 num_sge;\n\t__le16 config_seq_num;\n\tu8 span_arm;\n\tu8 priority;\n\tu8 num_sge_ext;\n\tu8 resvd2;\n};\n\nstruct RAID_CONTEXT_G35 {\n\tu16 nseg_type;\n\tu16 timeout_value;\n\tu16 routing_flags;\n\tu16 virtual_disk_tgt_id;\n\t__le64 reg_lock_row_lba;\n\tu32 reg_lock_length;\n\tunion {\n\t\tu16 rmw_op_index;\n\t\tu16 peer_smid;\n\t\tu16 r56_arm_map;\n\t} flow_specific;\n\tu8 ex_status;\n\tu8 status;\n\tu8 raid_flags;\n\tu8 span_arm;\n\tu16 config_seq_num;\n\tunion {\n\t\tstruct {\n\t\t\tu16 num_sge: 12;\n\t\t\tu16 reserved: 3;\n\t\t\tu16 stream_detected: 1;\n\t\t} bits;\n\t\tu8 bytes[2];\n\t} u;\n\tu8 resvd2[2];\n};\n\nunion RAID_CONTEXT_UNION {\n\tstruct RAID_CONTEXT raid_context;\n\tstruct RAID_CONTEXT_G35 raid_context_g35;\n};\n\nstruct MPI2_SGE_CHAIN_UNION {\n\t__le16 Length;\n\tu8 NextChainOffset;\n\tu8 Flags;\n\tunion {\n\t\t__le32 Address32;\n\t\t__le64 Address64;\n\t} u;\n};\n\nunion MPI2_SGE_IO_UNION {\n\tstruct MPI2_SGE_SIMPLE_UNION MpiSimple;\n\tstruct MPI2_SGE_CHAIN_UNION MpiChain;\n\tunion MPI2_IEEE_SGE_SIMPLE_UNION IeeeSimple;\n\tunion MPI2_IEEE_SGE_CHAIN_UNION IeeeChain;\n};\n\nstruct MPI2_RAID_SCSI_IO_REQUEST {\n\t__le16 DevHandle;\n\tu8 ChainOffset;\n\tu8 Function;\n\t__le16 Reserved1;\n\tu8 Reserved2;\n\tu8 MsgFlags;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\t__le16 Reserved3;\n\t__le32 SenseBufferLowAddress;\n\t__le16 SGLFlags;\n\tu8 SenseBufferLength;\n\tu8 Reserved4;\n\tu8 SGLOffset0;\n\tu8 SGLOffset1;\n\tu8 SGLOffset2;\n\tu8 SGLOffset3;\n\t__le32 SkipCount;\n\t__le32 DataLength;\n\t__le32 BidirectionalDataLength;\n\t__le16 IoFlags;\n\t__le16 EEDPFlags;\n\t__le32 EEDPBlockSize;\n\t__le32 SecondaryReferenceTag;\n\t__le16 SecondaryApplicationTag;\n\t__le16 ApplicationTagTranslationMask;\n\tu8 LUN[8];\n\t__le32 Control;\n\tunion MPI2_SCSI_IO_CDB_UNION CDB;\n\tunion RAID_CONTEXT_UNION RaidContext;\n\tunion {\n\t\tunion MPI2_SGE_IO_UNION SGL;\n\t\tstruct {\n\t\t\tstruct {} __empty_SGLs;\n\t\t\tunion MPI2_SGE_IO_UNION SGLs[0];\n\t\t};\n\t};\n};\n\nstruct MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 TaskTag;\n\t__le16 Reserved1;\n};\n\nstruct MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\tu8 SequenceNumber;\n\tu8 Reserved1;\n\t__le16 IoIndex;\n};\n\nstruct MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\tu8 VP_ID;\n\tu8 Flags;\n\t__le16 InitiatorDevHandle;\n\t__le16 IoIndex;\n};\n\nunion MPI2_REPLY_DESCRIPTORS_UNION {\n\tstruct MPI2_DEFAULT_REPLY_DESCRIPTOR Default;\n\tstruct MPI2_ADDRESS_REPLY_DESCRIPTOR AddressReply;\n\tstruct MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR SCSIIOSuccess;\n\tstruct MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR TargetAssistSuccess;\n\tstruct MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR TargetCommandBuffer;\n\tstruct MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR RAIDAcceleratorSuccess;\n\t__le64 Words;\n};\n\nstruct MPI2_SCSI_TASK_MANAGE_REPLY {\n\tu16 DevHandle;\n\tu8 MsgLength;\n\tu8 Function;\n\tu8 ResponseCode;\n\tu8 TaskType;\n\tu8 Reserved1;\n\tu8 MsgFlags;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\tu16 Reserved2;\n\tu16 Reserved3;\n\tu16 IOCStatus;\n\tu32 IOCLogInfo;\n\tu32 TerminationCount;\n\tu32 ResponseInfo;\n};\n\nstruct MPI2_SCSI_TASK_MANAGE_REQUEST {\n\tu16 DevHandle;\n\tu8 ChainOffset;\n\tu8 Function;\n\tu8 Reserved1;\n\tu8 TaskType;\n\tu8 Reserved2;\n\tu8 MsgFlags;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\tu16 Reserved3;\n\tu8 LUN[8];\n\tu32 Reserved4[7];\n\tu16 TaskMID;\n\tu16 Reserved5;\n};\n\nstruct MR_ARRAY_INFO {\n\t__le16 pd[32];\n};\n\nstruct MR_CPU_AFFINITY_MASK {\n\tunion {\n\t\tstruct {\n\t\t\tu8 hw_path: 1;\n\t\t\tu8 cpu0: 1;\n\t\t\tu8 cpu1: 1;\n\t\t\tu8 cpu2: 1;\n\t\t\tu8 cpu3: 1;\n\t\t\tu8 reserved: 3;\n\t\t};\n\t\tu8 core_mask;\n\t};\n};\n\nstruct MR_CTRL_HB_HOST_MEM {\n\tstruct {\n\t\tu32 fwCounter;\n\t\tstruct {\n\t\t\tu32 debugmode: 1;\n\t\t\tu32 reserved: 31;\n\t\t} debug;\n\t\tu32 reserved_fw[6];\n\t\tu32 driverCounter;\n\t\tu32 reserved_driver[7];\n\t} HB;\n\tu8 pad[960];\n};\n\nstruct MR_DEV_HANDLE_INFO {\n\t__le16 curDevHdl;\n\tu8 validHandles;\n\tu8 interfaceType;\n\t__le16 devHandle[2];\n};\n\nstruct MR_IO_AFFINITY {\n\tunion {\n\t\tstruct {\n\t\t\tstruct MR_CPU_AFFINITY_MASK pdRead;\n\t\t\tstruct MR_CPU_AFFINITY_MASK pdWrite;\n\t\t\tstruct MR_CPU_AFFINITY_MASK ldRead;\n\t\t\tstruct MR_CPU_AFFINITY_MASK ldWrite;\n\t\t};\n\t\tu32 word;\n\t};\n\tu8 maxCores;\n\tu8 reserved[3];\n};\n\nstruct MR_LD_RAID {\n\tstruct {\n\t\tu32 fpCapable: 1;\n\t\tu32 ra_capable: 1;\n\t\tu32 reserved5: 2;\n\t\tu32 ldPiMode: 4;\n\t\tu32 pdPiMode: 4;\n\t\tu32 encryptionType: 8;\n\t\tu32 fpWriteCapable: 1;\n\t\tu32 fpReadCapable: 1;\n\t\tu32 fpWriteAcrossStripe: 1;\n\t\tu32 fpReadAcrossStripe: 1;\n\t\tu32 fpNonRWCapable: 1;\n\t\tu32 tmCapable: 1;\n\t\tu32 fpBypassRegionLock: 1;\n\t\tu32 disable_coalescing: 1;\n\t\tu32 fp_rmw_capable: 1;\n\t\tu32 fp_cache_bypass_capable: 1;\n\t\tu32 reserved4: 2;\n\t} capability;\n\t__le32 reserved6;\n\t__le64 size;\n\tu8 spanDepth;\n\tu8 level;\n\tu8 stripeShift;\n\tu8 rowSize;\n\tu8 rowDataSize;\n\tu8 writeMode;\n\tu8 PRL;\n\tu8 SRL;\n\t__le16 targetId;\n\tu8 ldState;\n\tu8 regTypeReqOnWrite;\n\tu8 modFactor;\n\tu8 regTypeReqOnRead;\n\t__le16 seqNum;\n\tstruct {\n\t\tu32 ldSyncRequired: 1;\n\t\tu32 regTypeReqOnReadIsValid: 1;\n\t\tu32 isEPD: 1;\n\t\tu32 enableSLDOnAllRWIOs: 1;\n\t\tu32 reserved: 28;\n\t} flags;\n\tu8 LUN[8];\n\tu8 fpIoTimeoutForLd;\n\tu8 ld_accept_priority_type;\n\tu8 reserved2[2];\n\tu32 logical_block_length;\n\tstruct {\n\t\tu32 ld_pi_exp: 4;\n\t\tu32 ld_logical_block_exp: 4;\n\t\tu32 reserved1: 24;\n\t};\n\tstruct MR_IO_AFFINITY cpuAffinity;\n\tu8 reserved3[64];\n};\n\nstruct MR_LD_SPAN {\n\t__le64 startBlk;\n\t__le64 numBlks;\n\t__le16 arrayRef;\n\tu8 spanRowSize;\n\tu8 spanRowDataSize;\n\tu8 reserved[4];\n};\n\nstruct MR_QUAD_ELEMENT {\n\t__le64 logStart;\n\t__le64 logEnd;\n\t__le64 offsetInSpan;\n\t__le32 diff;\n\t__le32 reserved1;\n};\n\nstruct MR_SPAN_INFO {\n\t__le32 noElements;\n\t__le32 reserved1;\n\tstruct MR_QUAD_ELEMENT quad[8];\n};\n\nstruct MR_SPAN_BLOCK_INFO {\n\t__le64 num_rows;\n\tstruct MR_LD_SPAN span;\n\tstruct MR_SPAN_INFO block_span_info;\n};\n\nstruct MR_LD_SPAN_MAP {\n\tstruct MR_LD_RAID ldRaid;\n\tu8 dataArmMap[32];\n\tstruct MR_SPAN_BLOCK_INFO spanBlock[8];\n};\n\nstruct MR_DRV_RAID_MAP {\n\t__le32 totalSize;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 maxLd;\n\t\t\t__le32 maxSpanDepth;\n\t\t\t__le32 maxRowSize;\n\t\t\t__le32 maxPdCount;\n\t\t\t__le32 maxArrays;\n\t\t} validationInfo;\n\t\t__le32 version[5];\n\t};\n\tu8 fpPdIoTimeoutSec;\n\tu8 reserved2[7];\n\t__le16 ldCount;\n\t__le16 arCount;\n\t__le16 spanCount;\n\t__le16 reserve3;\n\tstruct MR_DEV_HANDLE_INFO devHndlInfo[512];\n\tu16 ldTgtIdToLd[512];\n\tstruct MR_ARRAY_INFO arMapInfo[512];\n\tstruct MR_LD_SPAN_MAP ldSpanMap[0];\n};\n\nstruct MR_DRV_RAID_MAP_ALL {\n\tstruct MR_DRV_RAID_MAP raidMap;\n\tstruct MR_LD_SPAN_MAP ldSpanMap[512];\n};\n\nstruct MR_DRV_SYSTEM_INFO {\n\tu8 infoVersion;\n\tu8 systemIdLength;\n\tu16 reserved0;\n\tu8 systemId[64];\n\tu8 reserved[1980];\n};\n\nstruct MR_FW_RAID_MAP {\n\t__le32 totalSize;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 maxLd;\n\t\t\t__le32 maxSpanDepth;\n\t\t\t__le32 maxRowSize;\n\t\t\t__le32 maxPdCount;\n\t\t\t__le32 maxArrays;\n\t\t} validationInfo;\n\t\t__le32 version[5];\n\t};\n\t__le32 ldCount;\n\t__le32 Reserved1;\n\tu8 ldTgtIdToLd[128];\n\tu8 fpPdIoTimeoutSec;\n\tu8 reserved2[7];\n\tstruct MR_ARRAY_INFO arMapInfo[128];\n\tstruct MR_DEV_HANDLE_INFO devHndlInfo[256];\n\tstruct MR_LD_SPAN_MAP ldSpanMap[0];\n};\n\nstruct MR_FW_RAID_MAP_ALL {\n\tstruct MR_FW_RAID_MAP raidMap;\n\tstruct MR_LD_SPAN_MAP ldSpanMap[64];\n};\n\nstruct MR_RAID_MAP_DESC_TABLE {\n\tu32 raid_map_desc_type;\n\tu32 raid_map_desc_offset;\n\tu32 raid_map_desc_buffer_size;\n\tu32 raid_map_desc_elements;\n};\n\nstruct MR_FW_RAID_MAP_DYNAMIC {\n\tu32 raid_map_size;\n\tu32 desc_table_offset;\n\tu32 desc_table_size;\n\tu32 desc_table_num_elements;\n\tu64 reserved1;\n\tu32 reserved2[3];\n\tu8 fp_pd_io_timeout_sec;\n\tu8 reserved3[3];\n\tu32 rmw_fp_seq_num;\n\tu16 ld_count;\n\tu16 ar_count;\n\tu16 span_count;\n\tu16 reserved4[3];\n\tunion {\n\t\tstruct {\n\t\t\tstruct MR_DEV_HANDLE_INFO *dev_hndl_info;\n\t\t\tu16 *ld_tgt_id_to_ld;\n\t\t\tstruct MR_ARRAY_INFO *ar_map_info;\n\t\t\tstruct MR_LD_SPAN_MAP *ld_span_map;\n\t\t};\n\t\tu64 ptr_structure_size[4];\n\t};\n\tstruct MR_RAID_MAP_DESC_TABLE raid_map_desc_table[4];\n\tu32 raid_map_desc_data[0];\n};\n\nstruct MR_FW_RAID_MAP_EXT {\n\tu32 reserved;\n\tunion {\n\t\tstruct {\n\t\t\tu32 maxLd;\n\t\t\tu32 maxSpanDepth;\n\t\t\tu32 maxRowSize;\n\t\t\tu32 maxPdCount;\n\t\t\tu32 maxArrays;\n\t\t} validationInfo;\n\t\tu32 version[5];\n\t};\n\tu8 fpPdIoTimeoutSec;\n\tu8 reserved2[7];\n\t__le16 ldCount;\n\t__le16 arCount;\n\t__le16 spanCount;\n\t__le16 reserve3;\n\tstruct MR_DEV_HANDLE_INFO devHndlInfo[256];\n\tu8 ldTgtIdToLd[256];\n\tstruct MR_ARRAY_INFO arMapInfo[256];\n\tstruct MR_LD_SPAN_MAP ldSpanMap[256];\n};\n\nstruct MR_HOST_DEVICE_LIST_ENTRY {\n\tstruct {\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tu8 is_sys_pd: 1;\n\t\t\t\tu8 reserved: 7;\n\t\t\t} bits;\n\t\t\tu8 byte;\n\t\t} u;\n\t} flags;\n\tu8 scsi_type;\n\t__le16 target_id;\n\tu8 reserved[4];\n\t__le64 sas_addr[2];\n};\n\nstruct MR_HOST_DEVICE_LIST {\n\t__le32 size;\n\t__le32 count;\n\t__le32 reserved[2];\n\tstruct MR_HOST_DEVICE_LIST_ENTRY host_device_list[0];\n};\n\nunion MR_LD_REF {\n\tstruct {\n\t\tu8 targetId;\n\t\tu8 reserved;\n\t\t__le16 seqNum;\n\t};\n\t__le32 ref;\n};\n\nstruct MR_LD_LIST {\n\t__le32 ldCount;\n\t__le32 reserved;\n\tstruct {\n\t\tunion MR_LD_REF ref;\n\t\tu8 state;\n\t\tu8 reserved[3];\n\t\t__le64 size;\n\t} ldList[256];\n};\n\nstruct MR_LD_TARGETID_LIST {\n\t__le32 size;\n\t__le32 count;\n\tu8 pad[3];\n\tu8 targetId[256];\n};\n\nstruct MR_LD_TARGET_SYNC {\n\tu8 targetId;\n\tu8 reserved;\n\t__le16 seqNum;\n};\n\nstruct MR_LD_VF_MAP {\n\tu32 size;\n\tunion MR_LD_REF ref;\n\tu8 ldVfCount;\n\tu8 reserved[6];\n\tu8 policy[0];\n};\n\nstruct MR_LD_VF_AFFILIATION {\n\tu32 size;\n\tu8 ldCount;\n\tu8 vfCount;\n\tu8 thisVf;\n\tu8 reserved[9];\n\tstruct MR_LD_VF_MAP map[1];\n};\n\nstruct MR_LD_VF_MAP_111 {\n\tu8 targetId;\n\tu8 reserved[3];\n\tu8 policy[8];\n};\n\nstruct MR_LD_VF_AFFILIATION_111 {\n\tu8 vdCount;\n\tu8 vfCount;\n\tu8 thisVf;\n\tu8 reserved[5];\n\tstruct MR_LD_VF_MAP_111 map[64];\n};\n\nstruct MR_PD_ADDRESS {\n\t__le16 deviceId;\n\tu16 enclDeviceId;\n\tunion {\n\t\tstruct {\n\t\t\tu8 enclIndex;\n\t\t\tu8 slotNumber;\n\t\t} mrPdAddress;\n\t\tstruct {\n\t\t\tu8 enclPosition;\n\t\t\tu8 enclConnectorIndex;\n\t\t} mrEnclAddress;\n\t};\n\tu8 scsiDevType;\n\tunion {\n\t\tu8 connectedPortBitmap;\n\t\tu8 connectedPortNumbers;\n\t};\n\tu64 sasAddr[2];\n};\n\nstruct MR_PD_CFG_SEQ {\n\tu16 seqNum;\n\tu16 devHandle;\n\tstruct {\n\t\tu8 tmCapable: 1;\n\t\tu8 reserved: 7;\n\t} capability;\n\tu8 reserved;\n\tu16 pd_target_id;\n};\n\nstruct MR_PD_CFG_SEQ_NUM_SYNC {\n\t__le32 size;\n\t__le32 count;\n\tstruct MR_PD_CFG_SEQ seq[0];\n};\n\nunion MR_PD_DDF_TYPE {\n\tstruct {\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tu16 forcedPDGUID: 1;\n\t\t\t\tu16 inVD: 1;\n\t\t\t\tu16 isGlobalSpare: 1;\n\t\t\t\tu16 isSpare: 1;\n\t\t\t\tu16 isForeign: 1;\n\t\t\t\tu16 reserved: 7;\n\t\t\t\tu16 intf: 4;\n\t\t\t} pdType;\n\t\t\tu16 type;\n\t\t};\n\t\tu16 reserved;\n\t} ddf;\n\tstruct {\n\t\tu32 reserved;\n\t} nonDisk;\n\tu32 type;\n};\n\nunion MR_PD_REF {\n\tstruct {\n\t\tu16 deviceId;\n\t\tu16 seqNum;\n\t} mrPdRef;\n\tu32 ref;\n};\n\nunion MR_PROGRESS {\n\tstruct {\n\t\tu16 progress;\n\t\tunion {\n\t\t\tu16 elapsedSecs;\n\t\t\tu16 elapsedSecsForLastPercent;\n\t\t};\n\t} mrProgress;\n\tu32 w;\n};\n\nstruct MR_PD_PROGRESS {\n\tstruct {\n\t\tu32 rbld: 1;\n\t\tu32 patrol: 1;\n\t\tu32 clear: 1;\n\t\tu32 copyBack: 1;\n\t\tu32 erase: 1;\n\t\tu32 locate: 1;\n\t\tu32 reserved: 26;\n\t} active;\n\tunion MR_PROGRESS rbld;\n\tunion MR_PROGRESS patrol;\n\tunion {\n\t\tunion MR_PROGRESS clear;\n\t\tunion MR_PROGRESS erase;\n\t};\n\tstruct {\n\t\tu32 rbld: 1;\n\t\tu32 patrol: 1;\n\t\tu32 clear: 1;\n\t\tu32 copyBack: 1;\n\t\tu32 erase: 1;\n\t\tu32 reserved: 27;\n\t} pause;\n\tunion MR_PROGRESS reserved[3];\n};\n\nstruct MR_PD_INFO {\n\tunion MR_PD_REF ref;\n\tu8 inquiryData[96];\n\tu8 vpdPage83[64];\n\tu8 notSupported;\n\tu8 scsiDevType;\n\tunion {\n\t\tu8 connectedPortBitmap;\n\t\tu8 connectedPortNumbers;\n\t};\n\tu8 deviceSpeed;\n\tu32 mediaErrCount;\n\tu32 otherErrCount;\n\tu32 predFailCount;\n\tu32 lastPredFailEventSeqNum;\n\tu16 fwState;\n\tu8 disabledForRemoval;\n\tu8 linkSpeed;\n\tunion MR_PD_DDF_TYPE state;\n\tstruct {\n\t\tu8 count;\n\t\tu8 isPathBroken: 4;\n\t\tu8 reserved3: 3;\n\t\tu8 widePortCapable: 1;\n\t\tu8 connectorIndex[2];\n\t\tu8 reserved[4];\n\t\tu64 sasAddr[2];\n\t\tu8 reserved2[16];\n\t} pathInfo;\n\tu64 rawSize;\n\tu64 nonCoercedSize;\n\tu64 coercedSize;\n\tu16 enclDeviceId;\n\tu8 enclIndex;\n\tunion {\n\t\tu8 slotNumber;\n\t\tu8 enclConnectorIndex;\n\t};\n\tstruct MR_PD_PROGRESS progInfo;\n\tu8 badBlockTableFull;\n\tu8 unusableInCurrentConfig;\n\tu8 vpdPage83Ext[64];\n\tu8 powerState;\n\tu8 enclPosition;\n\tu32 allowedOps;\n\tu16 copyBackPartnerId;\n\tu16 enclPartnerDeviceId;\n\tstruct {\n\t\tu16 fdeCapable: 1;\n\t\tu16 fdeEnabled: 1;\n\t\tu16 secured: 1;\n\t\tu16 locked: 1;\n\t\tu16 foreign: 1;\n\t\tu16 needsEKM: 1;\n\t\tu16 reserved: 10;\n\t} security;\n\tu8 mediaType;\n\tu8 notCertified;\n\tu8 bridgeVendor[8];\n\tu8 bridgeProductIdentification[16];\n\tu8 bridgeProductRevisionLevel[4];\n\tu8 satBridgeExists;\n\tu8 interfaceType;\n\tu8 temperature;\n\tu8 emulatedBlockSize;\n\tu16 userDataBlockSize;\n\tu16 reserved2;\n\tstruct {\n\t\tu32 piType: 3;\n\t\tu32 piFormatted: 1;\n\t\tu32 piEligible: 1;\n\t\tu32 NCQ: 1;\n\t\tu32 WCE: 1;\n\t\tu32 commissionedSpare: 1;\n\t\tu32 emergencySpare: 1;\n\t\tu32 ineligibleForSSCD: 1;\n\t\tu32 ineligibleForLd: 1;\n\t\tu32 useSSEraseType: 1;\n\t\tu32 wceUnchanged: 1;\n\t\tu32 supportScsiUnmap: 1;\n\t\tu32 reserved: 18;\n\t} properties;\n\tu64 shieldDiagCompletionTime;\n\tu8 shieldCounter;\n\tu8 linkSpeedOther;\n\tu8 reserved4[2];\n\tstruct {\n\t\tu32 bbmErrCountSupported: 1;\n\t\tu32 bbmErrCount: 31;\n\t} bbmErr;\n\tu8 reserved1[84];\n} __attribute__((packed));\n\nstruct MR_PD_LIST {\n\t__le32 size;\n\t__le32 count;\n\tstruct MR_PD_ADDRESS addr[1];\n};\n\nstruct MR_PRIV_DEVICE {\n\tbool is_tm_capable;\n\tbool tm_busy;\n\tatomic_t sdev_priv_busy;\n\tatomic_t r1_ldio_hint;\n\tu8 interface_type;\n\tu8 task_abort_tmo;\n\tu8 target_reset_tmo;\n};\n\nstruct MR_SNAPDUMP_PROPERTIES {\n\tu8 offload_num;\n\tu8 max_num_supported;\n\tu8 cur_num_supported;\n\tu8 trigger_min_num_sec_before_ocr;\n\tu8 reserved[12];\n};\n\nstruct MR_TARGET_PROPERTIES {\n\tu32 max_io_size_kb;\n\tu32 device_qdepth;\n\tu32 sector_size;\n\tu8 reset_tmo;\n\tu8 reserved[499];\n};\n\nstruct MR_TM_REQUEST {\n\tchar request[128];\n};\n\nstruct MR_TM_REPLY {\n\tchar reply[128];\n};\n\nstruct MR_TASK_MANAGE_REQUEST {\n\tstruct MR_TM_REQUEST TmRequest;\n\tunion {\n\t\tstruct {\n\t\t\tu32 isTMForLD: 1;\n\t\t\tu32 isTMForPD: 1;\n\t\t\tu32 reserved1: 30;\n\t\t\tu32 reserved2;\n\t\t} tmReqFlags;\n\t\tstruct MR_TM_REPLY TMReply;\n\t};\n};\n\nstruct hlist_node {\n\tstruct hlist_node *next;\n\tstruct hlist_node **pprev;\n};\n\nstruct sk_buff;\n\nstruct sk_buff_list {\n\tstruct sk_buff *next;\n\tstruct sk_buff *prev;\n};\n\nstruct sk_buff_head {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *next;\n\t\t\tstruct sk_buff *prev;\n\t\t};\n\t\tstruct sk_buff_list list;\n\t};\n\t__u32 qlen;\n\tspinlock_t lock;\n};\n\nstruct qdisc_skb_head {\n\tstruct sk_buff *head;\n\tstruct sk_buff *tail;\n\t__u32 qlen;\n\tspinlock_t lock;\n};\n\nstruct u64_stats_sync {};\n\nstruct gnet_stats_basic_sync {\n\tu64_stats_t bytes;\n\tu64_stats_t packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct gnet_stats_queue {\n\t__u32 qlen;\n\t__u32 backlog;\n\t__u32 drops;\n\t__u32 requeues;\n\t__u32 overlimits;\n};\n\nstruct callback_head {\n\tstruct callback_head *next;\n\tvoid (*func)(struct callback_head *);\n};\n\nstruct lock_class_key {};\n\nstruct Qdisc_ops;\n\nstruct qdisc_size_table;\n\nstruct netdev_queue;\n\nstruct net_rate_estimator;\n\nstruct Qdisc {\n\tint (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **);\n\tstruct sk_buff * (*dequeue)(struct Qdisc *);\n\tunsigned int flags;\n\tu32 limit;\n\tconst struct Qdisc_ops *ops;\n\tstruct qdisc_size_table *stab;\n\tstruct hlist_node hash;\n\tu32 handle;\n\tu32 parent;\n\tstruct netdev_queue *dev_queue;\n\tstruct net_rate_estimator *rate_est;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tint pad;\n\trefcount_t refcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sk_buff_head gso_skb;\n\tstruct qdisc_skb_head q;\n\tstruct gnet_stats_basic_sync bstats;\n\tstruct gnet_stats_queue qstats;\n\tint owner;\n\tlong unsigned int state;\n\tlong unsigned int state2;\n\tstruct Qdisc *next_sched;\n\tstruct sk_buff_head skb_bad_txq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t busylock;\n\tspinlock_t seqlock;\n\tstruct callback_head rcu;\n\tnetdevice_tracker dev_tracker;\n\tstruct lock_class_key root_lock_key;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong int privdata[0];\n};\n\nstruct Qdisc_class_common {\n\tu32 classid;\n\tunsigned int filter_cnt;\n\tstruct hlist_node hnode;\n};\n\nstruct hlist_head;\n\nstruct Qdisc_class_hash {\n\tstruct hlist_head *hash;\n\tunsigned int hashsize;\n\tunsigned int hashmask;\n\tunsigned int hashelems;\n};\n\nstruct tcmsg;\n\nstruct netlink_ext_ack;\n\nstruct nlattr;\n\nstruct qdisc_walker;\n\nstruct tcf_block;\n\nstruct gnet_dump;\n\nstruct Qdisc_class_ops {\n\tunsigned int flags;\n\tstruct netdev_queue * (*select_queue)(struct Qdisc *, struct tcmsg *);\n\tint (*graft)(struct Qdisc *, long unsigned int, struct Qdisc *, struct Qdisc **, struct netlink_ext_ack *);\n\tstruct Qdisc * (*leaf)(struct Qdisc *, long unsigned int);\n\tvoid (*qlen_notify)(struct Qdisc *, long unsigned int);\n\tlong unsigned int (*find)(struct Qdisc *, u32);\n\tint (*change)(struct Qdisc *, u32, u32, struct nlattr **, long unsigned int *, struct netlink_ext_ack *);\n\tint (*delete)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *);\n\tvoid (*walk)(struct Qdisc *, struct qdisc_walker *);\n\tstruct tcf_block * (*tcf_block)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *);\n\tlong unsigned int (*bind_tcf)(struct Qdisc *, long unsigned int, u32);\n\tvoid (*unbind_tcf)(struct Qdisc *, long unsigned int);\n\tint (*dump)(struct Qdisc *, long unsigned int, struct sk_buff *, struct tcmsg *);\n\tint (*dump_stats)(struct Qdisc *, long unsigned int, struct gnet_dump *);\n};\n\nstruct module;\n\nstruct Qdisc_ops {\n\tstruct Qdisc_ops *next;\n\tconst struct Qdisc_class_ops *cl_ops;\n\tchar id[16];\n\tint priv_size;\n\tunsigned int static_flags;\n\tint (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **);\n\tstruct sk_buff * (*dequeue)(struct Qdisc *);\n\tstruct sk_buff * (*peek)(struct Qdisc *);\n\tint (*init)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *);\n\tvoid (*reset)(struct Qdisc *);\n\tvoid (*destroy)(struct Qdisc *);\n\tint (*change)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *);\n\tvoid (*attach)(struct Qdisc *);\n\tint (*change_tx_queue_len)(struct Qdisc *, unsigned int);\n\tvoid (*change_real_num_tx)(struct Qdisc *, unsigned int);\n\tint (*dump)(struct Qdisc *, struct sk_buff *);\n\tint (*dump_stats)(struct Qdisc *, struct gnet_dump *);\n\tvoid (*ingress_block_set)(struct Qdisc *, u32);\n\tvoid (*egress_block_set)(struct Qdisc *, u32);\n\tu32 (*ingress_block_get)(struct Qdisc *);\n\tu32 (*egress_block_get)(struct Qdisc *);\n\tstruct module *owner;\n};\n\nstruct optimistic_spin_queue {\n\tatomic_t tail;\n};\n\nstruct mutex {\n\tatomic_long_t owner;\n\traw_spinlock_t wait_lock;\n\tstruct optimistic_spin_queue osq;\n\tstruct list_head wait_list;\n};\n\nstruct kref {\n\trefcount_t refcount;\n};\n\nstruct swait_queue_head {\n\traw_spinlock_t lock;\n\tstruct list_head task_list;\n};\n\nstruct completion {\n\tunsigned int done;\n\tstruct swait_queue_head wait;\n};\n\nstruct blk_mq_queue_map {\n\tunsigned int *mq_map;\n\tunsigned int nr_queues;\n\tunsigned int queue_offset;\n};\n\nstruct blk_mq_ops;\n\nstruct blk_mq_tags;\n\nstruct blk_mq_tag_set {\n\tconst struct blk_mq_ops *ops;\n\tstruct blk_mq_queue_map map[3];\n\tunsigned int nr_maps;\n\tunsigned int nr_hw_queues;\n\tunsigned int queue_depth;\n\tunsigned int reserved_tags;\n\tunsigned int cmd_size;\n\tint numa_node;\n\tunsigned int timeout;\n\tunsigned int flags;\n\tvoid *driver_data;\n\tstruct blk_mq_tags **tags;\n\tstruct blk_mq_tags *shared_tags;\n\tstruct mutex tag_list_lock;\n\tstruct list_head tag_list;\n\tstruct srcu_struct *srcu;\n};\n\nstruct kset;\n\nstruct kobj_type;\n\nstruct kernfs_node;\n\nstruct kobject {\n\tconst char *name;\n\tstruct list_head entry;\n\tstruct kobject *parent;\n\tstruct kset *kset;\n\tconst struct kobj_type *ktype;\n\tstruct kernfs_node *sd;\n\tstruct kref kref;\n\tunsigned int state_initialized: 1;\n\tunsigned int state_in_sysfs: 1;\n\tunsigned int state_add_uevent_sent: 1;\n\tunsigned int state_remove_uevent_sent: 1;\n\tunsigned int uevent_suppress: 1;\n};\n\nstruct dev_links_info {\n\tstruct list_head suppliers;\n\tstruct list_head consumers;\n\tstruct list_head defer_sync;\n\tenum dl_dev_state status;\n};\n\nstruct pm_message {\n\tint event;\n};\n\ntypedef struct pm_message pm_message_t;\n\nstruct rb_node {\n\tlong unsigned int __rb_parent_color;\n\tstruct rb_node *rb_right;\n\tstruct rb_node *rb_left;\n};\n\nstruct timerqueue_node {\n\tstruct rb_node node;\n\tktime_t expires;\n};\n\nstruct hrtimer_clock_base;\n\nstruct hrtimer {\n\tstruct timerqueue_node node;\n\tktime_t _softexpires;\n\tenum hrtimer_restart (*function)(struct hrtimer *);\n\tstruct hrtimer_clock_base *base;\n\tu8 state;\n\tu8 is_rel;\n\tu8 is_soft;\n\tu8 is_hard;\n};\n\nstruct work_struct;\n\ntypedef void (*work_func_t)(struct work_struct *);\n\nstruct work_struct {\n\tatomic_long_t data;\n\tstruct list_head entry;\n\twork_func_t func;\n};\n\nstruct wakeup_source;\n\nstruct wake_irq;\n\nstruct pm_subsys_data;\n\nstruct device;\n\nstruct dev_pm_qos;\n\nstruct dev_pm_info {\n\tpm_message_t power_state;\n\tbool can_wakeup: 1;\n\tbool async_suspend: 1;\n\tbool in_dpm_list: 1;\n\tbool is_prepared: 1;\n\tbool is_suspended: 1;\n\tbool is_noirq_suspended: 1;\n\tbool is_late_suspended: 1;\n\tbool no_pm: 1;\n\tbool early_init: 1;\n\tbool direct_complete: 1;\n\tu32 driver_flags;\n\tspinlock_t lock;\n\tstruct list_head entry;\n\tstruct completion completion;\n\tstruct wakeup_source *wakeup;\n\tbool wakeup_path: 1;\n\tbool syscore: 1;\n\tbool no_pm_callbacks: 1;\n\tbool async_in_progress: 1;\n\tbool must_resume: 1;\n\tbool set_active: 1;\n\tbool may_skip_resume: 1;\n\tstruct hrtimer suspend_timer;\n\tu64 timer_expires;\n\tstruct work_struct work;\n\twait_queue_head_t wait_queue;\n\tstruct wake_irq *wakeirq;\n\tatomic_t usage_count;\n\tatomic_t child_count;\n\tunsigned int disable_depth: 3;\n\tbool idle_notification: 1;\n\tbool request_pending: 1;\n\tbool deferred_resume: 1;\n\tbool needs_force_resume: 1;\n\tbool runtime_auto: 1;\n\tbool ignore_children: 1;\n\tbool no_callbacks: 1;\n\tbool irq_safe: 1;\n\tbool use_autosuspend: 1;\n\tbool timer_autosuspends: 1;\n\tbool memalloc_noio: 1;\n\tunsigned int links_count;\n\tenum rpm_request request;\n\tenum rpm_status runtime_status;\n\tenum rpm_status last_status;\n\tint runtime_error;\n\tint autosuspend_delay;\n\tu64 last_busy;\n\tu64 active_time;\n\tu64 suspended_time;\n\tu64 accounting_timestamp;\n\tstruct pm_subsys_data *subsys_data;\n\tvoid (*set_latency_tolerance)(struct device *, s32);\n\tstruct dev_pm_qos *qos;\n};\n\nstruct irq_domain;\n\nstruct msi_device_data;\n\nstruct dev_msi_info {\n\tstruct irq_domain *domain;\n\tstruct msi_device_data *data;\n};\n\nstruct dev_archdata {};\n\nstruct device_private;\n\nstruct device_type;\n\nstruct bus_type;\n\nstruct device_driver;\n\nstruct dev_pm_domain;\n\nstruct em_perf_domain;\n\nstruct dev_pin_info;\n\nstruct dma_map_ops;\n\nstruct bus_dma_region;\n\nstruct device_dma_parameters;\n\nstruct dma_coherent_mem;\n\nstruct cma;\n\nstruct io_tlb_mem;\n\nstruct device_node;\n\nstruct fwnode_handle;\n\nstruct class;\n\nstruct attribute_group;\n\nstruct iommu_group;\n\nstruct dev_iommu;\n\nstruct device_physical_location;\n\nstruct device {\n\tstruct kobject kobj;\n\tstruct device *parent;\n\tstruct device_private *p;\n\tconst char *init_name;\n\tconst struct device_type *type;\n\tconst struct bus_type *bus;\n\tstruct device_driver *driver;\n\tvoid *platform_data;\n\tvoid *driver_data;\n\tstruct mutex mutex;\n\tstruct dev_links_info links;\n\tstruct dev_pm_info power;\n\tstruct dev_pm_domain *pm_domain;\n\tstruct em_perf_domain *em_pd;\n\tstruct dev_pin_info *pins;\n\tstruct dev_msi_info msi;\n\tconst struct dma_map_ops *dma_ops;\n\tu64 *dma_mask;\n\tu64 coherent_dma_mask;\n\tu64 bus_dma_limit;\n\tconst struct bus_dma_region *dma_range_map;\n\tstruct device_dma_parameters *dma_parms;\n\tstruct list_head dma_pools;\n\tstruct dma_coherent_mem *dma_mem;\n\tstruct cma *cma_area;\n\tstruct io_tlb_mem *dma_io_tlb_mem;\n\tstruct dev_archdata archdata;\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tint numa_node;\n\tdev_t devt;\n\tu32 id;\n\tspinlock_t devres_lock;\n\tstruct list_head devres_head;\n\tconst struct class *class;\n\tconst struct attribute_group **groups;\n\tvoid (*release)(struct device *);\n\tstruct iommu_group *iommu_group;\n\tstruct dev_iommu *iommu;\n\tstruct device_physical_location *physical_location;\n\tenum device_removable removable;\n\tbool offline_disabled: 1;\n\tbool offline: 1;\n\tbool of_node_reused: 1;\n\tbool state_synced: 1;\n\tbool can_match: 1;\n\tbool dma_coherent: 1;\n\tbool dma_skip_sync: 1;\n\tbool dma_iommu: 1;\n};\n\nstruct scsi_host_template;\n\nstruct scsi_transport_template;\n\nstruct workqueue_struct;\n\nstruct Scsi_Host {\n\tstruct list_head __devices;\n\tstruct list_head __targets;\n\tstruct list_head starved_list;\n\tspinlock_t default_lock;\n\tspinlock_t *host_lock;\n\tstruct mutex scan_mutex;\n\tstruct list_head eh_abort_list;\n\tstruct list_head eh_cmd_q;\n\tstruct task_struct *ehandler;\n\tstruct completion *eh_action;\n\twait_queue_head_t host_wait;\n\tconst struct scsi_host_template *hostt;\n\tstruct scsi_transport_template *transportt;\n\tstruct kref tagset_refcnt;\n\tstruct completion tagset_freed;\n\tstruct blk_mq_tag_set tag_set;\n\tatomic_t host_blocked;\n\tunsigned int host_failed;\n\tunsigned int host_eh_scheduled;\n\tunsigned int host_no;\n\tint eh_deadline;\n\tlong unsigned int last_reset;\n\tunsigned int max_channel;\n\tunsigned int max_id;\n\tu64 max_lun;\n\tunsigned int unique_id;\n\tshort unsigned int max_cmd_len;\n\tint this_id;\n\tint can_queue;\n\tshort int cmd_per_lun;\n\tshort unsigned int sg_tablesize;\n\tshort unsigned int sg_prot_tablesize;\n\tunsigned int max_sectors;\n\tunsigned int opt_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int dma_alignment;\n\tlong unsigned int dma_boundary;\n\tlong unsigned int virt_boundary_mask;\n\tunsigned int nr_hw_queues;\n\tunsigned int nr_maps;\n\tunsigned int active_mode: 2;\n\tunsigned int host_self_blocked: 1;\n\tunsigned int reverse_ordering: 1;\n\tunsigned int tmf_in_progress: 1;\n\tunsigned int async_scan: 1;\n\tunsigned int eh_noresume: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int host_tagset: 1;\n\tunsigned int queuecommand_may_block: 1;\n\tunsigned int short_inquiry: 1;\n\tunsigned int no_scsi2_lun_in_cdb: 1;\n\tunsigned int no_highmem: 1;\n\tstruct workqueue_struct *work_q;\n\tstruct workqueue_struct *tmf_work_q;\n\tunsigned int max_host_blocked;\n\tunsigned int prot_capabilities;\n\tunsigned char prot_guard_type;\n\tlong unsigned int base;\n\tlong unsigned int io_port;\n\tunsigned char n_io_port;\n\tunsigned char dma_channel;\n\tunsigned int irq;\n\tenum scsi_host_state shost_state;\n\tstruct device shost_gendev;\n\tstruct device shost_dev;\n\tvoid *shost_data;\n\tstruct device *dma_dev;\n\tint rpm_autosuspend_delay;\n\tlong unsigned int hostdata[0];\n};\n\nstruct xxh64_state {\n\tuint64_t total_len;\n\tuint64_t v1;\n\tuint64_t v2;\n\tuint64_t v3;\n\tuint64_t v4;\n\tuint64_t mem64[4];\n\tuint32_t memsize;\n};\n\nstruct ZSTD_outBuffer_s {\n\tvoid *dst;\n\tsize_t size;\n\tsize_t pos;\n};\n\ntypedef struct ZSTD_outBuffer_s ZSTD_outBuffer;\n\nstruct ZSTD_DCtx_s {\n\tconst ZSTD_seqSymbol *LLTptr;\n\tconst ZSTD_seqSymbol *MLTptr;\n\tconst ZSTD_seqSymbol *OFTptr;\n\tconst HUF_DTable *HUFptr;\n\tZSTD_entropyDTables_t entropy;\n\tU32 workspace[640];\n\tconst void *previousDstEnd;\n\tconst void *prefixStart;\n\tconst void *virtualStart;\n\tconst void *dictEnd;\n\tsize_t expected;\n\tZSTD_frameHeader fParams;\n\tU64 processedCSize;\n\tU64 decodedSize;\n\tblockType_e bType;\n\tZSTD_dStage stage;\n\tU32 litEntropy;\n\tU32 fseEntropy;\n\tstruct xxh64_state xxhState;\n\tsize_t headerSize;\n\tZSTD_format_e format;\n\tZSTD_forceIgnoreChecksum_e forceIgnoreChecksum;\n\tU32 validateChecksum;\n\tconst BYTE *litPtr;\n\tZSTD_customMem customMem;\n\tsize_t litSize;\n\tsize_t rleSize;\n\tsize_t staticSize;\n\tZSTD_DDict *ddictLocal;\n\tconst ZSTD_DDict *ddict;\n\tU32 dictID;\n\tint ddictIsCold;\n\tZSTD_dictUses_e dictUses;\n\tZSTD_DDictHashSet *ddictSet;\n\tZSTD_refMultipleDDicts_e refMultipleDDicts;\n\tZSTD_dStreamStage streamStage;\n\tchar *inBuff;\n\tsize_t inBuffSize;\n\tsize_t inPos;\n\tsize_t maxWindowSize;\n\tchar *outBuff;\n\tsize_t outBuffSize;\n\tsize_t outStart;\n\tsize_t outEnd;\n\tsize_t lhSize;\n\tU32 hostageByte;\n\tint noForwardProgress;\n\tZSTD_bufferMode_e outBufferMode;\n\tZSTD_outBuffer expectedOutBuffer;\n\tBYTE *litBuffer;\n\tconst BYTE *litBufferEnd;\n\tZSTD_litLocation_e litBufferLocation;\n\tBYTE litExtraBuffer[65568];\n\tBYTE headerBuffer[18];\n\tsize_t oversizedDuration;\n};\n\ntypedef struct ZSTD_DCtx_s ZSTD_DCtx;\n\ntypedef ZSTD_DCtx ZSTD_DStream;\n\ntypedef ZSTD_DCtx zstd_dctx;\n\ntypedef ZSTD_DStream zstd_dstream;\n\nstruct ZSTD_DDict_s {\n\tvoid *dictBuffer;\n\tconst void *dictContent;\n\tsize_t dictSize;\n\tZSTD_entropyDTables_t entropy;\n\tU32 dictID;\n\tU32 entropyPresent;\n\tZSTD_customMem cMem;\n};\n\ntypedef ZSTD_DDict zstd_ddict;\n\nstruct ZSTD_inBuffer_s {\n\tconst void *src;\n\tsize_t size;\n\tsize_t pos;\n};\n\ntypedef struct ZSTD_inBuffer_s ZSTD_inBuffer;\n\ntypedef ZSTD_inBuffer zstd_in_buffer;\n\ntypedef ZSTD_outBuffer zstd_out_buffer;\n\nunion _MFI_CAPABILITIES {\n\tstruct {\n\t\tu32 support_fp_remote_lun: 1;\n\t\tu32 support_additional_msix: 1;\n\t\tu32 support_fastpath_wb: 1;\n\t\tu32 support_max_255lds: 1;\n\t\tu32 support_ndrive_r1_lb: 1;\n\t\tu32 support_core_affinity: 1;\n\t\tu32 security_protocol_cmds_fw: 1;\n\t\tu32 support_ext_queue_depth: 1;\n\t\tu32 support_ext_io_size: 1;\n\t\tu32 support_vfid_in_ioframe: 1;\n\t\tu32 support_fp_rlbypass: 1;\n\t\tu32 support_qd_throttling: 1;\n\t\tu32 support_pd_map_target_id: 1;\n\t\tu32 support_64bit_mode: 1;\n\t\tu32 support_nvme_passthru: 1;\n\t\tu32 support_fw_exposed_dev_list: 1;\n\t\tu32 support_memdump: 1;\n\t\tu32 reserved: 15;\n\t} mfi_capabilities;\n\t__le32 reg;\n};\n\ntypedef union _MFI_CAPABILITIES MFI_CAPABILITIES;\n\nstruct __aio_sigset {\n\tconst sigset_t *sigmask;\n\tsize_t sigsetsize;\n};\n\nstruct llist_node {\n\tstruct llist_node *next;\n};\n\nstruct __call_single_node {\n\tstruct llist_node llist;\n\tunion {\n\t\tunsigned int u_flags;\n\t\tatomic_t a_flags;\n\t};\n\tu16 src;\n\tu16 dst;\n};\n\ntypedef void (*smp_call_func_t)(void *);\n\nstruct __call_single_data {\n\tstruct __call_single_node node;\n\tsmp_call_func_t func;\n\tvoid *info;\n};\n\ntypedef struct __call_single_data call_single_data_t;\n\nstruct cpumask;\n\nstruct __cmp_key {\n\tconst struct cpumask *cpus;\n\tstruct cpumask ***masks;\n\tint node;\n\tint cpu;\n\tint w;\n};\n\nstruct __compat_aio_sigset {\n\tcompat_uptr_t sigmask;\n\tcompat_size_t sigsetsize;\n};\n\nstruct __extcon_info {\n\tunsigned int type;\n\tunsigned int id;\n\tconst char *name;\n};\n\nstruct __fat_dirent {\n\tlong int d_ino;\n\t__kernel_off_t d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[256];\n};\n\nstruct __fb_timings {\n\tu32 dclk;\n\tu32 hfreq;\n\tu32 vfreq;\n\tu32 hactive;\n\tu32 vactive;\n\tu32 hblank;\n\tu32 vblank;\n\tu32 htotal;\n\tu32 vtotal;\n};\n\nunion __fpsimd_vreg {\n\t__int128 unsigned raw;\n\tstruct {\n\t\tu64 lo;\n\t\tu64 hi;\n\t};\n};\n\nstruct arm64_ftr_reg;\n\nstruct __ftr_reg_entry {\n\tu32 sys_id;\n\tstruct arm64_ftr_reg *reg;\n};\n\nstruct genradix_root;\n\nstruct __genradix {\n\tstruct genradix_root *root;\n};\n\nstruct pmu;\n\nstruct cgroup;\n\nstruct __group_key {\n\tint cpu;\n\tstruct pmu *pmu;\n\tstruct cgroup *cgroup;\n};\n\nstruct __kernel_timespec {\n\t__kernel_time64_t tv_sec;\n\tlong long int tv_nsec;\n};\n\nstruct __kernel_itimerspec {\n\tstruct __kernel_timespec it_interval;\n\tstruct __kernel_timespec it_value;\n};\n\nstruct __kernel_old_timeval {\n\t__kernel_long_t tv_sec;\n\t__kernel_long_t tv_usec;\n};\n\nstruct __kernel_old_itimerval {\n\tstruct __kernel_old_timeval it_interval;\n\tstruct __kernel_old_timeval it_value;\n};\n\nstruct __kernel_old_timespec {\n\t__kernel_old_time_t tv_sec;\n\tlong int tv_nsec;\n};\n\nstruct __kernel_sock_timeval {\n\t__s64 tv_sec;\n\t__s64 tv_usec;\n};\n\nstruct __kernel_sockaddr_storage {\n\tunion {\n\t\tstruct {\n\t\t\t__kernel_sa_family_t ss_family;\n\t\t\tchar __data[126];\n\t\t};\n\t\tvoid *__align;\n\t};\n};\n\nstruct __kernel_timex_timeval {\n\t__kernel_time64_t tv_sec;\n\tlong long int tv_usec;\n};\n\nstruct __kernel_timex {\n\tunsigned int modes;\n\tlong long int offset;\n\tlong long int freq;\n\tlong long int maxerror;\n\tlong long int esterror;\n\tint status;\n\tlong long int constant;\n\tlong long int precision;\n\tlong long int tolerance;\n\tstruct __kernel_timex_timeval time;\n\tlong long int tick;\n\tlong long int ppsfreq;\n\tlong long int jitter;\n\tint shift;\n\tlong long int stabil;\n\tlong long int jitcnt;\n\tlong long int calcnt;\n\tlong long int errcnt;\n\tlong long int stbcnt;\n\tint tai;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct __kfifo {\n\tunsigned int in;\n\tunsigned int out;\n\tunsigned int mask;\n\tunsigned int esize;\n\tvoid *data;\n};\n\nstruct qm_cgr_wr_parm {\n\t__be32 word;\n};\n\nstruct qm_cgr_cs_thres {\n\t__be16 word;\n};\n\nstruct __qm_mc_cgr {\n\tstruct qm_cgr_wr_parm wr_parm_g;\n\tstruct qm_cgr_wr_parm wr_parm_y;\n\tstruct qm_cgr_wr_parm wr_parm_r;\n\tu8 wr_en_g;\n\tu8 wr_en_y;\n\tu8 wr_en_r;\n\tu8 cscn_en;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 cscn_targ_upd_ctrl;\n\t\t\t__be16 cscn_targ_dcp_low;\n\t\t};\n\t\t__be32 cscn_targ;\n\t};\n\tu8 cstd_en;\n\tu8 cs;\n\tstruct qm_cgr_cs_thres cs_thres;\n\tu8 mode;\n} __attribute__((packed));\n\nstruct __qm_mcr_querycongestion {\n\tu32 state[8];\n};\n\nunion sigval {\n\tint sival_int;\n\tvoid *sival_ptr;\n};\n\ntypedef union sigval sigval_t;\n\nunion __sifields {\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t} _kill;\n\tstruct {\n\t\t__kernel_timer_t _tid;\n\t\tint _overrun;\n\t\tsigval_t _sigval;\n\t\tint _sys_private;\n\t} _timer;\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t\tsigval_t _sigval;\n\t} _rt;\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t\tint _status;\n\t\t__kernel_clock_t _utime;\n\t\t__kernel_clock_t _stime;\n\t} _sigchld;\n\tstruct {\n\t\tvoid *_addr;\n\t\tunion {\n\t\t\tint _trapno;\n\t\t\tshort int _addr_lsb;\n\t\t\tstruct {\n\t\t\t\tchar _dummy_bnd[8];\n\t\t\t\tvoid *_lower;\n\t\t\t\tvoid *_upper;\n\t\t\t} _addr_bnd;\n\t\t\tstruct {\n\t\t\t\tchar _dummy_pkey[8];\n\t\t\t\t__u32 _pkey;\n\t\t\t} _addr_pkey;\n\t\t\tstruct {\n\t\t\t\tlong unsigned int _data;\n\t\t\t\t__u32 _type;\n\t\t\t\t__u32 _flags;\n\t\t\t} _perf;\n\t\t};\n\t} _sigfault;\n\tstruct {\n\t\tlong int _band;\n\t\tint _fd;\n\t} _sigpoll;\n\tstruct {\n\t\tvoid *_call_addr;\n\t\tint _syscall;\n\t\tunsigned int _arch;\n\t} _sigsys;\n};\n\nstruct bpf_flow_keys;\n\nstruct bpf_sock;\n\nstruct __sk_buff {\n\t__u32 len;\n\t__u32 pkt_type;\n\t__u32 mark;\n\t__u32 queue_mapping;\n\t__u32 protocol;\n\t__u32 vlan_present;\n\t__u32 vlan_tci;\n\t__u32 vlan_proto;\n\t__u32 priority;\n\t__u32 ingress_ifindex;\n\t__u32 ifindex;\n\t__u32 tc_index;\n\t__u32 cb[5];\n\t__u32 hash;\n\t__u32 tc_classid;\n\t__u32 data;\n\t__u32 data_end;\n\t__u32 napi_id;\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 data_meta;\n\tunion {\n\t\tstruct bpf_flow_keys *flow_keys;\n\t};\n\t__u64 tstamp;\n\t__u32 wire_len;\n\t__u32 gso_segs;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\t__u32 gso_size;\n\t__u8 tstamp_type;\n\t__u64 hwtstamp;\n};\n\nstruct __snd_pcm_mmap_control64_buggy {\n\t__pad_before_u32 __pad1;\n\t__u32 appl_ptr;\n\t__pad_before_u32 __pad2;\n\t__pad_before_u32 __pad3;\n\t__u32 avail_min;\n\t__pad_after_uframe __pad4;\n};\n\nstruct dentry;\n\nstruct __track_dentry_update_args {\n\tstruct dentry *dentry;\n\tint op;\n};\n\nstruct __track_range_args {\n\text4_lblk_t start;\n\text4_lblk_t end;\n};\n\nunion __u128_halves {\n\tu128 full;\n\tstruct {\n\t\tu64 low;\n\t\tu64 high;\n\t};\n};\n\nstruct __una_u32 {\n\tu32 x;\n};\n\nstruct inode;\n\nstruct __uprobe_key {\n\tstruct inode *inode;\n\tloff_t offset;\n};\n\nstruct __user_cap_data_struct {\n\t__u32 effective;\n\t__u32 permitted;\n\t__u32 inheritable;\n};\n\ntypedef struct __user_cap_data_struct *cap_user_data_t;\n\nstruct __user_cap_header_struct {\n\t__u32 version;\n\tint pid;\n};\n\ntypedef struct __user_cap_header_struct *cap_user_header_t;\n\nstruct __va_list {\n\tvoid *__stack;\n\tvoid *__gr_top;\n\tvoid *__vr_top;\n\tint __gr_offs;\n\tint __vr_offs;\n};\n\ntypedef struct __va_list va_list;\n\nstruct _aarch64_ctx {\n\t__u32 magic;\n\t__u32 size;\n};\n\nstruct _arg_GO {\n\tu8 chan;\n\tu32 addr;\n\tunsigned int ns;\n};\n\nstruct _arg_LPEND {\n\tenum pl330_cond cond;\n\tbool forever;\n\tunsigned int loop;\n\tu8 bjump;\n};\n\nstruct net_device;\n\nstruct _bpf_dtab_netdev {\n\tstruct net_device *dev;\n};\n\nstruct _ccu_mult {\n\tlong unsigned int mult;\n\tlong unsigned int min;\n\tlong unsigned int max;\n};\n\nstruct _ccu_nk {\n\tlong unsigned int n;\n\tlong unsigned int min_n;\n\tlong unsigned int max_n;\n\tlong unsigned int k;\n\tlong unsigned int min_k;\n\tlong unsigned int max_k;\n};\n\nstruct _ccu_nkm {\n\tlong unsigned int n;\n\tlong unsigned int min_n;\n\tlong unsigned int max_n;\n\tlong unsigned int k;\n\tlong unsigned int min_k;\n\tlong unsigned int max_k;\n\tlong unsigned int m;\n\tlong unsigned int min_m;\n\tlong unsigned int max_m;\n};\n\nstruct _ccu_nkmp {\n\tlong unsigned int n;\n\tlong unsigned int min_n;\n\tlong unsigned int max_n;\n\tlong unsigned int k;\n\tlong unsigned int min_k;\n\tlong unsigned int max_k;\n\tlong unsigned int m;\n\tlong unsigned int min_m;\n\tlong unsigned int max_m;\n\tlong unsigned int p;\n\tlong unsigned int min_p;\n\tlong unsigned int max_p;\n};\n\nstruct _ccu_nm {\n\tlong unsigned int n;\n\tlong unsigned int min_n;\n\tlong unsigned int max_n;\n\tlong unsigned int m;\n\tlong unsigned int min_m;\n\tlong unsigned int max_m;\n};\n\nstruct _flow_keys_digest_data {\n\t__be16 n_proto;\n\tu8 ip_proto;\n\tu8 padding;\n\t__be32 ports;\n\t__be32 src;\n\t__be32 dst;\n};\n\nstruct _gpiochip_for_each_data {\n\tconst char **label;\n\tunsigned int *i;\n};\n\ntypedef struct _gpiochip_for_each_data class__gpiochip_for_each_data_t;\n\nstruct _gpt_entry_attributes {\n\tu64 required_to_function: 1;\n\tu64 reserved: 47;\n\tu64 type_guid_specific: 16;\n};\n\ntypedef struct _gpt_entry_attributes gpt_entry_attributes;\n\nstruct _gpt_entry {\n\tefi_guid_t partition_type_guid;\n\tefi_guid_t unique_partition_guid;\n\t__le64 starting_lba;\n\t__le64 ending_lba;\n\tgpt_entry_attributes attributes;\n\t__le16 partition_name[36];\n};\n\ntypedef struct _gpt_entry gpt_entry;\n\nstruct _gpt_header {\n\t__le64 signature;\n\t__le32 revision;\n\t__le32 header_size;\n\t__le32 header_crc32;\n\t__le32 reserved1;\n\t__le64 my_lba;\n\t__le64 alternate_lba;\n\t__le64 first_usable_lba;\n\t__le64 last_usable_lba;\n\tefi_guid_t disk_guid;\n\t__le64 partition_entry_lba;\n\t__le32 num_partition_entries;\n\t__le32 sizeof_partition_entry;\n\t__le32 partition_entry_array_crc32;\n} __attribute__((packed));\n\ntypedef struct _gpt_header gpt_header;\n\nstruct _gpt_mbr_record {\n\tu8 boot_indicator;\n\tu8 start_head;\n\tu8 start_sector;\n\tu8 start_track;\n\tu8 os_type;\n\tu8 end_head;\n\tu8 end_sector;\n\tu8 end_track;\n\t__le32 starting_lba;\n\t__le32 size_in_lba;\n};\n\ntypedef struct _gpt_mbr_record gpt_mbr_record;\n\nstruct kvm_io_device_ops;\n\nstruct kvm_io_device {\n\tconst struct kvm_io_device_ops *ops;\n};\n\nstruct eventfd_ctx;\n\nstruct _ioeventfd {\n\tstruct list_head list;\n\tu64 addr;\n\tint length;\n\tstruct eventfd_ctx *eventfd;\n\tu64 datamatch;\n\tstruct kvm_io_device dev;\n\tu8 bus_idx;\n\tbool wildcard;\n};\n\nstruct kvm_stats_desc {\n\t__u32 flags;\n\t__s16 exponent;\n\t__u16 size;\n\t__u32 offset;\n\t__u32 bucket_size;\n\tchar name[0];\n};\n\nstruct _kvm_stats_desc {\n\tstruct kvm_stats_desc desc;\n\tchar name[48];\n};\n\nstruct _legacy_mbr {\n\tu8 boot_code[440];\n\t__le32 unique_mbr_signature;\n\t__le16 unknown;\n\tgpt_mbr_record partition_record[4];\n\t__le16 signature;\n} __attribute__((packed));\n\ntypedef struct _legacy_mbr legacy_mbr;\n\nstruct dma_pl330_desc;\n\nstruct _pl330_req {\n\tu32 mc_bus;\n\tvoid *mc_cpu;\n\tstruct dma_pl330_desc *desc;\n};\n\nstruct _pl330_tbd {\n\tbool reset_dmac;\n\tbool reset_mngr;\n\tu8 reset_chan;\n};\n\nstruct _scpi_sensor_info {\n\t__le16 sensor_id;\n\tu8 class;\n\tu8 trigger_type;\n\tchar name[20];\n};\n\nstruct strp_msg {\n\tint full_len;\n\tint offset;\n};\n\nstruct _strp_msg {\n\tstruct strp_msg strp;\n\tint accum_len;\n};\n\nstruct _xfer_spec {\n\tu32 ccr;\n\tstruct dma_pl330_desc *desc;\n};\n\nstruct spi_controller;\n\nstruct clk;\n\nstruct a3700_spi {\n\tstruct spi_controller *host;\n\tvoid *base;\n\tstruct clk *clk;\n\tunsigned int irq;\n\tunsigned int flags;\n\tbool xmit_data;\n\tconst u8 *tx_buf;\n\tu8 *rx_buf;\n\tsize_t buf_len;\n\tu8 byte_len;\n\tu32 wait_mask;\n\tstruct completion done;\n};\n\nstruct a4tech_sc {\n\tlong unsigned int quirks;\n\tunsigned int hw_wheel;\n\t__s32 delayed_value;\n};\n\nstruct aarch64_insn_patch {\n\tvoid **text_addrs;\n\tu32 *new_insns;\n\tint insn_cnt;\n\tatomic_t cpu_count;\n};\n\nstruct reg_sequence;\n\nstruct acc_desc {\n\tunsigned int enable_reg;\n\tu32 enable_mask;\n\tstruct reg_sequence *config;\n\tstruct reg_sequence *settings;\n\tint num_regs_per_fuse;\n};\n\nstruct access_coordinate {\n\tunsigned int read_bandwidth;\n\tunsigned int write_bandwidth;\n\tunsigned int read_latency;\n\tunsigned int write_latency;\n};\n\nstruct acct_v3 {\n\tchar ac_flag;\n\tchar ac_version;\n\t__u16 ac_tty;\n\t__u32 ac_exitcode;\n\t__u32 ac_uid;\n\t__u32 ac_gid;\n\t__u32 ac_pid;\n\t__u32 ac_ppid;\n\t__u32 ac_btime;\n\t__u32 ac_etime;\n\tcomp_t ac_utime;\n\tcomp_t ac_stime;\n\tcomp_t ac_mem;\n\tcomp_t ac_io;\n\tcomp_t ac_rw;\n\tcomp_t ac_minflt;\n\tcomp_t ac_majflt;\n\tcomp_t ac_swaps;\n\tchar ac_comm[16];\n};\n\ntypedef struct acct_v3 acct_t;\n\nstruct ack_sample {\n\tu32 pkts_acked;\n\ts32 rtt_us;\n\tu32 in_flight;\n};\n\nstruct crypto_tfm;\n\nstruct cipher_alg {\n\tunsigned int cia_min_keysize;\n\tunsigned int cia_max_keysize;\n\tint (*cia_setkey)(struct crypto_tfm *, const u8 *, unsigned int);\n\tvoid (*cia_encrypt)(struct crypto_tfm *, u8 *, const u8 *);\n\tvoid (*cia_decrypt)(struct crypto_tfm *, u8 *, const u8 *);\n};\n\nstruct compress_alg {\n\tint (*coa_compress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *);\n\tint (*coa_decompress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *);\n};\n\nstruct crypto_type;\n\nstruct crypto_alg {\n\tstruct list_head cra_list;\n\tstruct list_head cra_users;\n\tu32 cra_flags;\n\tunsigned int cra_blocksize;\n\tunsigned int cra_ctxsize;\n\tunsigned int cra_alignmask;\n\tint cra_priority;\n\trefcount_t cra_refcnt;\n\tchar cra_name[128];\n\tchar cra_driver_name[128];\n\tconst struct crypto_type *cra_type;\n\tunion {\n\t\tstruct cipher_alg cipher;\n\t\tstruct compress_alg compress;\n\t} cra_u;\n\tint (*cra_init)(struct crypto_tfm *);\n\tvoid (*cra_exit)(struct crypto_tfm *);\n\tvoid (*cra_destroy)(struct crypto_alg *);\n\tstruct module *cra_module;\n};\n\nstruct comp_alg_common {\n\tstruct crypto_alg base;\n};\n\nstruct acomp_req;\n\nstruct scatterlist;\n\nstruct crypto_acomp;\n\nstruct acomp_alg {\n\tint (*compress)(struct acomp_req *);\n\tint (*decompress)(struct acomp_req *);\n\tvoid (*dst_free)(struct scatterlist *);\n\tint (*init)(struct crypto_acomp *);\n\tvoid (*exit)(struct crypto_acomp *);\n\tunsigned int reqsize;\n\tunion {\n\t\tstruct {\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct comp_alg_common calg;\n\t};\n};\n\ntypedef void (*crypto_completion_t)(void *, int);\n\nstruct crypto_async_request {\n\tstruct list_head list;\n\tcrypto_completion_t complete;\n\tvoid *data;\n\tstruct crypto_tfm *tfm;\n\tu32 flags;\n};\n\nstruct acomp_req {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int slen;\n\tunsigned int dlen;\n\tu32 flags;\n\tvoid *__ctx[0];\n};\n\nstruct power_supply;\n\nunion power_supply_propval;\n\nstruct power_supply_desc {\n\tconst char *name;\n\tenum power_supply_type type;\n\tu8 charge_behaviours;\n\tu32 charge_types;\n\tu32 usb_types;\n\tconst enum power_supply_property *properties;\n\tsize_t num_properties;\n\tint (*get_property)(struct power_supply *, enum power_supply_property, union power_supply_propval *);\n\tint (*set_property)(struct power_supply *, enum power_supply_property, const union power_supply_propval *);\n\tint (*property_is_writeable)(struct power_supply *, enum power_supply_property);\n\tvoid (*external_power_changed)(struct power_supply *);\n\tvoid (*set_charged)(struct power_supply *);\n\tbool no_thermal;\n\tint use_for_apm;\n};\n\nstruct notifier_block;\n\ntypedef int (*notifier_fn_t)(struct notifier_block *, long unsigned int, void *);\n\nstruct notifier_block {\n\tnotifier_fn_t notifier_call;\n\tstruct notifier_block *next;\n\tint priority;\n};\n\nstruct acpi_device;\n\nstruct acpi_ac {\n\tstruct power_supply *charger;\n\tstruct power_supply_desc charger_desc;\n\tstruct acpi_device *device;\n\tlong long unsigned int state;\n\tstruct notifier_block battery_nb;\n};\n\nstruct acpi_address16_attribute {\n\tu16 granularity;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 translation_offset;\n\tu16 address_length;\n};\n\nstruct acpi_address32_attribute {\n\tu32 granularity;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 translation_offset;\n\tu32 address_length;\n};\n\nstruct acpi_address64_attribute {\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n};\n\nstruct acpi_namespace_node;\n\nstruct acpi_address_range {\n\tstruct acpi_address_range *next;\n\tstruct acpi_namespace_node *region_node;\n\tacpi_physical_address start_address;\n\tacpi_physical_address end_address;\n};\n\nstruct acpi_apmt_node {\n\tu16 length;\n\tu8 flags;\n\tu8 type;\n\tu32 id;\n\tu64 inst_primary;\n\tu32 inst_secondary;\n\tu64 base_address0;\n\tu64 base_address1;\n\tu32 ovflw_irq;\n\tu32 reserved;\n\tu32 ovflw_irq_flags;\n\tu32 proc_affinity;\n\tu32 impl_id;\n} __attribute__((packed));\n\nstruct acpi_battery {\n\tstruct mutex lock;\n\tstruct mutex sysfs_lock;\n\tstruct power_supply *bat;\n\tstruct power_supply_desc bat_desc;\n\tstruct acpi_device *device;\n\tstruct notifier_block pm_nb;\n\tstruct list_head list;\n\tlong unsigned int update_time;\n\tint revision;\n\tint rate_now;\n\tint capacity_now;\n\tint voltage_now;\n\tint design_capacity;\n\tint full_charge_capacity;\n\tint technology;\n\tint design_voltage;\n\tint design_capacity_warning;\n\tint design_capacity_low;\n\tint cycle_count;\n\tint measurement_accuracy;\n\tint max_sampling_time;\n\tint min_sampling_time;\n\tint max_averaging_interval;\n\tint min_averaging_interval;\n\tint capacity_granularity_1;\n\tint capacity_granularity_2;\n\tint alarm;\n\tchar model_number[64];\n\tchar serial_number[64];\n\tchar type[64];\n\tchar oem_info[64];\n\tint state;\n\tint power_unit;\n\tlong unsigned int flags;\n};\n\nstruct acpi_battery_hook {\n\tconst char *name;\n\tint (*add_battery)(struct power_supply *, struct acpi_battery_hook *);\n\tint (*remove_battery)(struct power_supply *, struct acpi_battery_hook *);\n\tstruct list_head list;\n};\n\nstruct acpi_bert_region {\n\tu32 block_status;\n\tu32 raw_data_offset;\n\tu32 raw_data_length;\n\tu32 data_length;\n\tu32 error_severity;\n};\n\nstruct acpi_buffer {\n\tacpi_size length;\n\tvoid *pointer;\n};\n\nstruct acpi_bus_event {\n\tstruct list_head node;\n\tacpi_device_class device_class;\n\tacpi_bus_id bus_id;\n\tu32 type;\n\tu32 data;\n};\n\nstruct acpi_bus_type {\n\tstruct list_head list;\n\tconst char *name;\n\tbool (*match)(struct device *);\n\tstruct acpi_device * (*find_companion)(struct device *);\n\tvoid (*setup)(struct device *);\n};\n\nstruct input_dev;\n\nstruct acpi_button {\n\tunsigned int type;\n\tstruct input_dev *input;\n\tchar phys[32];\n\tlong unsigned int pushed;\n\tint last_state;\n\tktime_t last_time;\n\tbool suspended;\n\tbool lid_state_initialized;\n};\n\nstruct acpi_cdat_header {\n\tu8 type;\n\tu8 reserved;\n\tu16 length;\n};\n\nstruct acpi_cedt_header {\n\tu8 type;\n\tu8 reserved;\n\tu16 length;\n};\n\nstruct acpi_cedt_cfmws {\n\tstruct acpi_cedt_header header;\n\tu32 reserved1;\n\tu64 base_hpa;\n\tu64 window_size;\n\tu8 interleave_ways;\n\tu8 interleave_arithmetic;\n\tu16 reserved2;\n\tu32 granularity;\n\tu16 restrictions;\n\tu16 qtg_id;\n\tu32 interleave_targets[0];\n} __attribute__((packed));\n\nstruct acpi_comment_node {\n\tchar *comment;\n\tstruct acpi_comment_node *next;\n};\n\nstruct acpi_common_descriptor {\n\tvoid *common_pointer;\n\tu8 descriptor_type;\n};\n\nstruct acpi_common_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n};\n\nstruct acpi_connection_info {\n\tu8 *connection;\n\tu16 length;\n\tu8 access_length;\n};\n\nunion acpi_parse_object;\n\nstruct acpi_control_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu16 opcode;\n\tunion acpi_parse_object *predicate_op;\n\tu8 *aml_predicate_start;\n\tu8 *package_end;\n\tu64 loop_timeout;\n};\n\nstruct acpi_create_field_info {\n\tstruct acpi_namespace_node *region_node;\n\tstruct acpi_namespace_node *field_node;\n\tstruct acpi_namespace_node *register_node;\n\tstruct acpi_namespace_node *data_register_node;\n\tstruct acpi_namespace_node *connection_node;\n\tu8 *resource_buffer;\n\tu32 bank_value;\n\tu32 field_bit_position;\n\tu32 field_bit_length;\n\tu16 resource_length;\n\tu16 pin_number_index;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 field_type;\n\tu8 access_length;\n};\n\nstruct acpi_csrt_group {\n\tu32 length;\n\tu32 vendor_id;\n\tu32 subvendor_id;\n\tu16 device_id;\n\tu16 subdevice_id;\n\tu16 revision;\n\tu16 reserved;\n\tu32 shared_info_length;\n};\n\nstruct acpi_csrt_shared_info {\n\tu16 major_version;\n\tu16 minor_version;\n\tu32 mmio_base_low;\n\tu32 mmio_base_high;\n\tu32 gsi_interrupt;\n\tu8 interrupt_polarity;\n\tu8 interrupt_mode;\n\tu8 num_channels;\n\tu8 dma_address_width;\n\tu16 base_request_line;\n\tu16 num_handshake_signals;\n\tu32 max_block_size;\n};\n\nstruct attribute {\n\tconst char *name;\n\tumode_t mode;\n};\n\nstruct address_space;\n\nstruct file;\n\nstruct vm_area_struct;\n\nstruct bin_attribute {\n\tstruct attribute attr;\n\tsize_t size;\n\tvoid *private;\n\tstruct address_space * (*f_mapping)(void);\n\tssize_t (*read)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*read_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*write)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*write_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t);\n\tloff_t (*llseek)(struct file *, struct kobject *, const struct bin_attribute *, loff_t, int);\n\tint (*mmap)(struct file *, struct kobject *, const struct bin_attribute *, struct vm_area_struct *);\n};\n\nstruct acpi_data_attr {\n\tstruct bin_attribute attr;\n\tu64 addr;\n};\n\ntypedef void *acpi_handle;\n\nstruct fwnode_operations;\n\nstruct fwnode_handle {\n\tstruct fwnode_handle *secondary;\n\tconst struct fwnode_operations *ops;\n\tstruct device *dev;\n\tstruct list_head suppliers;\n\tstruct list_head consumers;\n\tu8 flags;\n};\n\nunion acpi_object;\n\nstruct acpi_device_data {\n\tconst union acpi_object *pointer;\n\tstruct list_head properties;\n\tconst union acpi_object *of_compatible;\n\tstruct list_head subnodes;\n};\n\nstruct acpi_data_node {\n\tstruct list_head sibling;\n\tconst char *name;\n\tacpi_handle handle;\n\tstruct fwnode_handle fwnode;\n\tstruct fwnode_handle *parent;\n\tstruct acpi_device_data data;\n\tstruct kobject kobj;\n\tstruct completion kobj_done;\n};\n\nstruct acpi_data_node_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct acpi_data_node *, char *);\n\tssize_t (*store)(struct acpi_data_node *, const char *, size_t);\n};\n\nstruct acpi_data_obj {\n\tchar *name;\n\tint (*fn)(void *, struct acpi_data_attr *);\n};\n\nstruct acpi_data_table_mapping {\n\tvoid *pointer;\n};\n\nstruct acpi_dep_data {\n\tstruct list_head node;\n\tacpi_handle supplier;\n\tacpi_handle consumer;\n\tbool honor_dep;\n\tbool met;\n\tbool free_when_met;\n};\n\nunion acpi_operand_object;\n\nstruct acpi_object_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n};\n\nstruct acpi_object_integer {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 fill[3];\n\tu64 value;\n};\n\nstruct acpi_object_string {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tchar *pointer;\n\tu32 length;\n};\n\nstruct acpi_object_buffer {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 *pointer;\n\tu32 length;\n\tu32 aml_length;\n\tu8 *aml_start;\n\tstruct acpi_namespace_node *node;\n};\n\nstruct acpi_object_package {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object **elements;\n\tu8 *aml_start;\n\tu32 aml_length;\n\tu32 count;\n};\n\nstruct acpi_object_event {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tvoid *os_semaphore;\n};\n\nstruct acpi_walk_state;\n\ntypedef acpi_status (*acpi_internal_method)(struct acpi_walk_state *);\n\nstruct acpi_object_method {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 info_flags;\n\tu8 param_count;\n\tu8 sync_level;\n\tunion acpi_operand_object *mutex;\n\tunion acpi_operand_object *node;\n\tu8 *aml_start;\n\tunion {\n\t\tacpi_internal_method implementation;\n\t\tunion acpi_operand_object *handler;\n\t} dispatch;\n\tu32 aml_length;\n\tacpi_owner_id owner_id;\n\tu8 thread_count;\n};\n\nstruct acpi_thread_state;\n\nstruct acpi_object_mutex {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 sync_level;\n\tu16 acquisition_depth;\n\tvoid *os_mutex;\n\tu64 thread_id;\n\tstruct acpi_thread_state *owner_thread;\n\tunion acpi_operand_object *prev;\n\tunion acpi_operand_object *next;\n\tstruct acpi_namespace_node *node;\n\tu8 original_sync_level;\n};\n\nstruct acpi_object_region {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 space_id;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *handler;\n\tunion acpi_operand_object *next;\n\tacpi_physical_address address;\n\tu32 length;\n\tvoid *pointer;\n};\n\nstruct acpi_object_notify_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n};\n\nstruct acpi_gpe_block_info;\n\nstruct acpi_object_device {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tstruct acpi_gpe_block_info *gpe_block;\n};\n\nstruct acpi_object_power_resource {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tu32 system_level;\n\tu32 resource_order;\n};\n\nstruct acpi_object_processor {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 proc_id;\n\tu8 length;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tacpi_io_address address;\n};\n\nstruct acpi_object_thermal_zone {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n};\n\nstruct acpi_object_field_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *region_obj;\n};\n\nstruct acpi_object_region_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tu16 resource_length;\n\tunion acpi_operand_object *region_obj;\n\tu8 *resource_buffer;\n\tu16 pin_number_index;\n\tu8 *internal_pcc_buffer;\n};\n\nstruct acpi_object_buffer_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tu8 is_create_field;\n\tunion acpi_operand_object *buffer_obj;\n};\n\nstruct acpi_object_bank_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *region_obj;\n\tunion acpi_operand_object *bank_obj;\n};\n\nstruct acpi_object_index_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *index_obj;\n\tunion acpi_operand_object *data_obj;\n};\n\ntypedef void (*acpi_notify_handler)(acpi_handle, u32, void *);\n\nstruct acpi_object_notify_handler {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *node;\n\tu32 handler_type;\n\tacpi_notify_handler handler;\n\tvoid *context;\n\tunion acpi_operand_object *next[2];\n};\n\ntypedef acpi_status (*acpi_adr_space_handler)(u32, acpi_physical_address, u32, u64 *, void *, void *);\n\ntypedef acpi_status (*acpi_adr_space_setup)(acpi_handle, u32, void *, void **);\n\nstruct acpi_object_addr_handler {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 space_id;\n\tu8 handler_flags;\n\tacpi_adr_space_handler handler;\n\tstruct acpi_namespace_node *node;\n\tvoid *context;\n\tvoid *context_mutex;\n\tacpi_adr_space_setup setup;\n\tunion acpi_operand_object *region_list;\n\tunion acpi_operand_object *next;\n};\n\nstruct acpi_object_reference {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 class;\n\tu8 target_type;\n\tu8 resolved;\n\tvoid *object;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object **where;\n\tu8 *index_pointer;\n\tu8 *aml;\n\tu32 value;\n};\n\nstruct acpi_object_extra {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *method_REG;\n\tstruct acpi_namespace_node *scope_node;\n\tvoid *region_context;\n\tu8 *aml_start;\n\tu32 aml_length;\n};\n\ntypedef void (*acpi_object_handler)(acpi_handle, void *);\n\nstruct acpi_object_data {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tacpi_object_handler handler;\n\tvoid *pointer;\n};\n\nstruct acpi_object_cache_list {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *next;\n};\n\nunion acpi_name_union {\n\tu32 integer;\n\tchar ascii[4];\n};\n\nstruct acpi_namespace_node {\n\tunion acpi_operand_object *object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 flags;\n\tunion acpi_name_union name;\n\tstruct acpi_namespace_node *parent;\n\tstruct acpi_namespace_node *child;\n\tstruct acpi_namespace_node *peer;\n\tacpi_owner_id owner_id;\n};\n\nunion acpi_operand_object {\n\tstruct acpi_object_common common;\n\tstruct acpi_object_integer integer;\n\tstruct acpi_object_string string;\n\tstruct acpi_object_buffer buffer;\n\tstruct acpi_object_package package;\n\tstruct acpi_object_event event;\n\tstruct acpi_object_method method;\n\tstruct acpi_object_mutex mutex;\n\tstruct acpi_object_region region;\n\tstruct acpi_object_notify_common common_notify;\n\tstruct acpi_object_device device;\n\tstruct acpi_object_power_resource power_resource;\n\tstruct acpi_object_processor processor;\n\tstruct acpi_object_thermal_zone thermal_zone;\n\tstruct acpi_object_field_common common_field;\n\tstruct acpi_object_region_field field;\n\tstruct acpi_object_buffer_field buffer_field;\n\tstruct acpi_object_bank_field bank_field;\n\tstruct acpi_object_index_field index_field;\n\tstruct acpi_object_notify_handler notify;\n\tstruct acpi_object_addr_handler address_space;\n\tstruct acpi_object_reference reference;\n\tstruct acpi_object_extra extra;\n\tstruct acpi_object_data data;\n\tstruct acpi_object_cache_list cache;\n\tstruct acpi_namespace_node node;\n};\n\nunion acpi_parse_value {\n\tu64 integer;\n\tu32 size;\n\tchar *string;\n\tu8 *buffer;\n\tchar *name;\n\tunion acpi_parse_object *arg;\n};\n\nstruct acpi_parse_obj_common {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n};\n\nstruct acpi_parse_obj_named {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n\tchar *path;\n\tu8 *data;\n\tu32 length;\n\tu32 name;\n};\n\nstruct acpi_parse_obj_asl {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n\tunion acpi_parse_object *child;\n\tunion acpi_parse_object *parent_method;\n\tchar *filename;\n\tu8 file_changed;\n\tchar *parent_filename;\n\tchar *external_name;\n\tchar *namepath;\n\tchar name_seg[4];\n\tu32 extra_value;\n\tu32 column;\n\tu32 line_number;\n\tu32 logical_line_number;\n\tu32 logical_byte_offset;\n\tu32 end_line;\n\tu32 end_logical_line;\n\tu32 acpi_btype;\n\tu32 aml_length;\n\tu32 aml_subtree_length;\n\tu32 final_aml_length;\n\tu32 final_aml_offset;\n\tu32 compile_flags;\n\tu16 parse_opcode;\n\tu8 aml_opcode_length;\n\tu8 aml_pkg_len_bytes;\n\tu8 extra;\n\tchar parse_op_name[20];\n};\n\nunion acpi_parse_object {\n\tstruct acpi_parse_obj_common common;\n\tstruct acpi_parse_obj_named named;\n\tstruct acpi_parse_obj_asl asl;\n};\n\nunion acpi_descriptor {\n\tstruct acpi_common_descriptor common;\n\tunion acpi_operand_object object;\n\tstruct acpi_namespace_node node;\n\tunion acpi_parse_object op;\n};\n\nstruct acpi_device_id {\n\t__u8 id[16];\n\tkernel_ulong_t driver_data;\n\t__u32 cls;\n\t__u32 cls_msk;\n};\n\nstruct acpi_dev_match_info {\n\tstruct acpi_device_id hid[2];\n\tconst char *uid;\n\ts64 hrv;\n};\n\nstruct acpi_dev_walk_context {\n\tint (*fn)(struct acpi_device *, void *);\n\tvoid *data;\n};\n\nstruct acpi_device_status {\n\tu32 present: 1;\n\tu32 enabled: 1;\n\tu32 show_in_ui: 1;\n\tu32 functional: 1;\n\tu32 battery_present: 1;\n\tu32 reserved: 27;\n};\n\nstruct acpi_device_flags {\n\tu32 dynamic_status: 1;\n\tu32 removable: 1;\n\tu32 ejectable: 1;\n\tu32 power_manageable: 1;\n\tu32 match_driver: 1;\n\tu32 initialized: 1;\n\tu32 visited: 1;\n\tu32 hotplug_notify: 1;\n\tu32 is_dock_station: 1;\n\tu32 of_compatible_ok: 1;\n\tu32 coherent_dma: 1;\n\tu32 cca_seen: 1;\n\tu32 enumeration_by_parent: 1;\n\tu32 honor_deps: 1;\n\tu32 reserved: 18;\n};\n\nstruct acpi_pnp_type {\n\tu32 hardware_id: 1;\n\tu32 bus_address: 1;\n\tu32 platform_id: 1;\n\tu32 backlight: 1;\n\tu32 reserved: 28;\n};\n\nstruct acpi_device_pnp {\n\tacpi_bus_id bus_id;\n\tint instance_no;\n\tstruct acpi_pnp_type type;\n\tacpi_bus_address bus_address;\n\tchar *unique_id;\n\tstruct list_head ids;\n\tacpi_device_name device_name;\n\tacpi_device_class device_class;\n};\n\nstruct acpi_device_power_flags {\n\tu32 explicit_get: 1;\n\tu32 power_resources: 1;\n\tu32 inrush_current: 1;\n\tu32 power_removed: 1;\n\tu32 ignore_parent: 1;\n\tu32 dsw_present: 1;\n\tu32 reserved: 26;\n};\n\nstruct acpi_device_power_state {\n\tstruct list_head resources;\n\tstruct {\n\t\tu8 valid: 1;\n\t\tu8 explicit_set: 1;\n\t\tu8 reserved: 6;\n\t} flags;\n\tint power;\n\tint latency;\n};\n\nstruct acpi_device_power {\n\tint state;\n\tstruct acpi_device_power_flags flags;\n\tstruct acpi_device_power_state states[5];\n\tu8 state_for_enumeration;\n};\n\nstruct acpi_device_wakeup_flags {\n\tu8 valid: 1;\n\tu8 notifier_present: 1;\n};\n\nstruct acpi_device_wakeup_context {\n\tvoid (*func)(struct acpi_device_wakeup_context *);\n\tstruct device *dev;\n};\n\nstruct acpi_device_wakeup {\n\tacpi_handle gpe_device;\n\tu64 gpe_number;\n\tu64 sleep_state;\n\tstruct list_head resources;\n\tstruct acpi_device_wakeup_flags flags;\n\tstruct acpi_device_wakeup_context context;\n\tstruct wakeup_source *ws;\n\tint prepare_count;\n\tint enable_count;\n};\n\nstruct acpi_device_perf_flags {\n\tu8 reserved: 8;\n};\n\nstruct acpi_device_perf_state;\n\nstruct acpi_device_perf {\n\tint state;\n\tstruct acpi_device_perf_flags flags;\n\tint state_count;\n\tstruct acpi_device_perf_state *states;\n};\n\nstruct proc_dir_entry;\n\nstruct acpi_device_dir {\n\tstruct proc_dir_entry *entry;\n};\n\nstruct acpi_scan_handler;\n\nstruct acpi_hotplug_context;\n\nstruct acpi_device_software_nodes;\n\nstruct acpi_gpio_mapping;\n\nstruct acpi_device {\n\tu32 pld_crc;\n\tint device_type;\n\tacpi_handle handle;\n\tstruct fwnode_handle fwnode;\n\tstruct list_head wakeup_list;\n\tstruct list_head del_list;\n\tstruct acpi_device_status status;\n\tstruct acpi_device_flags flags;\n\tstruct acpi_device_pnp pnp;\n\tstruct acpi_device_power power;\n\tstruct acpi_device_wakeup wakeup;\n\tstruct acpi_device_perf performance;\n\tstruct acpi_device_dir dir;\n\tstruct acpi_device_data data;\n\tstruct acpi_scan_handler *handler;\n\tstruct acpi_hotplug_context *hp;\n\tstruct acpi_device_software_nodes *swnodes;\n\tconst struct acpi_gpio_mapping *driver_gpios;\n\tvoid *driver_data;\n\tstruct device dev;\n\tunsigned int physical_node_count;\n\tunsigned int dep_unmet;\n\tstruct list_head physical_node_list;\n\tstruct mutex physical_node_lock;\n\tvoid (*remove)(struct acpi_device *);\n};\n\nstruct xarray {\n\tspinlock_t xa_lock;\n\tgfp_t xa_flags;\n\tvoid *xa_head;\n};\n\nstruct ida {\n\tstruct xarray xa;\n};\n\nstruct acpi_device_bus_id {\n\tconst char *bus_id;\n\tstruct ida instance_ida;\n\tstruct list_head node;\n};\n\nstruct acpi_pnp_device_id {\n\tu32 length;\n\tchar *string;\n};\n\nstruct acpi_pnp_device_id_list {\n\tu32 count;\n\tu32 list_size;\n\tstruct acpi_pnp_device_id ids[0];\n};\n\nstruct acpi_device_info {\n\tu32 info_size;\n\tu32 name;\n\tacpi_object_type type;\n\tu8 param_count;\n\tu16 valid;\n\tu8 flags;\n\tu8 highest_dstates[4];\n\tu8 lowest_dstates[5];\n\tu64 address;\n\tstruct acpi_pnp_device_id hardware_id;\n\tstruct acpi_pnp_device_id unique_id;\n\tstruct acpi_pnp_device_id class_code;\n\tstruct acpi_pnp_device_id_list compatible_id_list;\n};\n\ntypedef int (*acpi_op_add)(struct acpi_device *);\n\ntypedef void (*acpi_op_remove)(struct acpi_device *);\n\ntypedef void (*acpi_op_notify)(struct acpi_device *, u32);\n\nstruct acpi_device_ops {\n\tacpi_op_add add;\n\tacpi_op_remove remove;\n\tacpi_op_notify notify;\n};\n\nstruct acpi_device_perf_state {\n\tstruct {\n\t\tu8 valid: 1;\n\t\tu8 reserved: 7;\n\t} flags;\n\tu8 power;\n\tu8 performance;\n\tint latency;\n};\n\nstruct acpi_device_physical_node {\n\tstruct list_head node;\n\tstruct device *dev;\n\tunsigned int node_id;\n\tbool put_online: 1;\n};\n\nstruct acpi_device_properties {\n\tstruct list_head list;\n\tconst guid_t *guid;\n\tunion acpi_object *properties;\n\tvoid **bufs;\n};\n\nstruct property_entry {\n\tconst char *name;\n\tsize_t length;\n\tbool is_inline;\n\tenum dev_prop_type type;\n\tunion {\n\t\tconst void *pointer;\n\t\tunion {\n\t\t\tu8 u8_data[8];\n\t\t\tu16 u16_data[4];\n\t\t\tu32 u32_data[2];\n\t\t\tu64 u64_data[1];\n\t\t\tconst char *str[1];\n\t\t} value;\n\t};\n};\n\nstruct software_node;\n\nstruct software_node_ref_args {\n\tconst struct software_node *node;\n\tunsigned int nargs;\n\tu64 args[8];\n};\n\nstruct acpi_device_software_node_port {\n\tchar port_name[9];\n\tu32 data_lanes[8];\n\tu32 lane_polarities[9];\n\tu64 link_frequencies[8];\n\tunsigned int port_nr;\n\tbool crs_csi2_local;\n\tstruct property_entry port_props[2];\n\tstruct property_entry ep_props[8];\n\tstruct software_node_ref_args remote_ep[1];\n};\n\nstruct acpi_device_software_nodes {\n\tstruct property_entry dev_props[6];\n\tstruct software_node *nodes;\n\tconst struct software_node **nodeptrs;\n\tstruct acpi_device_software_node_port *ports;\n\tunsigned int num_ports;\n};\n\nstruct acpi_table_desc;\n\nstruct acpi_evaluate_info;\n\nstruct acpi_device_walk_info {\n\tstruct acpi_table_desc *table_desc;\n\tstruct acpi_evaluate_info *evaluate_info;\n\tu32 device_count;\n\tu32 num_STA;\n\tu32 num_INI;\n};\n\nstruct dma_chan;\n\nstruct acpi_dma_spec;\n\nstruct acpi_dma {\n\tstruct list_head dma_controllers;\n\tstruct device *dev;\n\tstruct dma_chan * (*acpi_dma_xlate)(struct acpi_dma_spec *, struct acpi_dma *);\n\tvoid *data;\n\tshort unsigned int base_request_line;\n\tshort unsigned int end_request_line;\n};\n\ntypedef bool (*dma_filter_fn)(struct dma_chan *, void *);\n\nstruct acpi_dma_filter_info {\n\tdma_cap_mask_t dma_cap;\n\tdma_filter_fn filter_fn;\n};\n\nstruct acpi_dma_spec {\n\tint chan_id;\n\tint slave_id;\n\tstruct device *dev;\n};\n\nstruct acpi_dma_parser_data {\n\tstruct acpi_dma_spec dma_spec;\n\tsize_t index;\n\tsize_t n;\n};\n\nstruct of_device_id;\n\nstruct dev_pm_ops;\n\nstruct driver_private;\n\nstruct device_driver {\n\tconst char *name;\n\tconst struct bus_type *bus;\n\tstruct module *owner;\n\tconst char *mod_name;\n\tbool suppress_bind_attrs;\n\tenum probe_type probe_type;\n\tconst struct of_device_id *of_match_table;\n\tconst struct acpi_device_id *acpi_match_table;\n\tint (*probe)(struct device *);\n\tvoid (*sync_state)(struct device *);\n\tint (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tint (*suspend)(struct device *, pm_message_t);\n\tint (*resume)(struct device *);\n\tconst struct attribute_group **groups;\n\tconst struct attribute_group **dev_groups;\n\tconst struct dev_pm_ops *pm;\n\tvoid (*coredump)(struct device *);\n\tstruct driver_private *p;\n};\n\nstruct acpi_driver {\n\tchar name[80];\n\tchar class[80];\n\tconst struct acpi_device_id *ids;\n\tunsigned int flags;\n\tstruct acpi_device_ops ops;\n\tstruct device_driver drv;\n};\n\nstruct acpi_einj_trigger {\n\tu32 header_size;\n\tu32 revision;\n\tu32 table_size;\n\tu32 entry_count;\n};\n\nunion acpi_predefined_info;\n\nstruct acpi_evaluate_info {\n\tstruct acpi_namespace_node *prefix_node;\n\tconst char *relative_pathname;\n\tunion acpi_operand_object **parameters;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *obj_desc;\n\tchar *full_pathname;\n\tconst union acpi_predefined_info *predefined;\n\tunion acpi_operand_object *return_object;\n\tunion acpi_operand_object *parent_package;\n\tu32 return_flags;\n\tu32 return_btype;\n\tu16 param_count;\n\tu16 node_flags;\n\tu8 pass_number;\n\tu8 return_object_type;\n\tu8 flags;\n};\n\nstruct acpi_exception_info {\n\tchar *name;\n};\n\nstruct acpi_fadt_info {\n\tconst char *name;\n\tu16 address64;\n\tu16 address32;\n\tu16 length;\n\tu8 default_length;\n\tu8 flags;\n};\n\nstruct acpi_generic_address;\n\nstruct acpi_fadt_pm_info {\n\tstruct acpi_generic_address *target;\n\tu16 source;\n\tu8 register_num;\n};\n\nstruct acpi_fan_fif {\n\tu8 revision;\n\tu8 fine_grain_ctrl;\n\tu8 step_size;\n\tu8 low_speed_notification;\n};\n\nstruct device_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct device *, struct device_attribute *, char *);\n\tssize_t (*store)(struct device *, struct device_attribute *, const char *, size_t);\n};\n\nstruct acpi_fan_fps;\n\nstruct thermal_cooling_device;\n\nstruct acpi_fan {\n\tbool acpi4;\n\tstruct acpi_fan_fif fif;\n\tstruct acpi_fan_fps *fps;\n\tint fps_count;\n\tstruct thermal_cooling_device *cdev;\n\tstruct device_attribute fst_speed;\n\tstruct device_attribute fine_grain_control;\n};\n\nstruct acpi_fan_fps {\n\tu64 control;\n\tu64 trip_point;\n\tu64 speed;\n\tu64 noise_level;\n\tu64 power;\n\tchar name[20];\n\tstruct device_attribute dev_attr;\n};\n\nstruct acpi_fan_fst {\n\tu64 revision;\n\tu64 control;\n\tu64 speed;\n};\n\nstruct acpi_ffh_info {\n\tu64 offset;\n\tu64 length;\n};\n\nstruct acpi_ged_device {\n\tstruct device *dev;\n\tstruct list_head event_list;\n};\n\nstruct acpi_ged_event {\n\tstruct list_head node;\n\tstruct device *dev;\n\tunsigned int gsi;\n\tunsigned int irq;\n\tacpi_handle handle;\n};\n\nstruct acpi_ged_handler_info {\n\tstruct acpi_ged_handler_info *next;\n\tu32 int_id;\n\tstruct acpi_namespace_node *evt_method;\n};\n\nstruct acpi_generic_address {\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_width;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_update_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tunion acpi_operand_object *object;\n};\n\nstruct acpi_scope_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tstruct acpi_namespace_node *node;\n};\n\nstruct acpi_pscope_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu32 arg_count;\n\tunion acpi_parse_object *op;\n\tu8 *arg_end;\n\tu8 *pkg_end;\n\tu32 arg_list;\n};\n\nstruct acpi_pkg_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu32 index;\n\tunion acpi_operand_object *source_object;\n\tunion acpi_operand_object *dest_object;\n\tstruct acpi_walk_state *walk_state;\n\tvoid *this_target_obj;\n\tu32 num_packages;\n};\n\nstruct acpi_thread_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu8 current_sync_level;\n\tstruct acpi_walk_state *walk_state_list;\n\tunion acpi_operand_object *acquired_mutex_list;\n\tu64 thread_id;\n};\n\nstruct acpi_result_values {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tunion acpi_operand_object *obj_desc[8];\n};\n\nstruct acpi_global_notify_handler;\n\nstruct acpi_notify_info {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu8 handler_list_id;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *handler_list_head;\n\tstruct acpi_global_notify_handler *global;\n};\n\nunion acpi_generic_state {\n\tstruct acpi_common_state common;\n\tstruct acpi_control_state control;\n\tstruct acpi_update_state update;\n\tstruct acpi_scope_state scope;\n\tstruct acpi_pscope_state parse_scope;\n\tstruct acpi_pkg_state pkg;\n\tstruct acpi_thread_state thread;\n\tstruct acpi_result_values results;\n\tstruct acpi_notify_info notify;\n};\n\nstruct acpi_genl_event {\n\tacpi_device_class device_class;\n\tchar bus_id[15];\n\tu32 type;\n\tu32 data;\n};\n\ntypedef acpi_status (*acpi_walk_callback)(acpi_handle, u32, void *, void **);\n\nstruct acpi_get_devices_info {\n\tacpi_walk_callback user_function;\n\tvoid *context;\n\tconst char *hid;\n};\n\nstruct acpi_global_notify_handler {\n\tacpi_notify_handler handler;\n\tvoid *context;\n};\n\nstruct acpi_gpe_address {\n\tu8 space_id;\n\tu64 address;\n};\n\nstruct acpi_gpe_xrupt_info;\n\nstruct acpi_gpe_register_info;\n\nstruct acpi_gpe_event_info;\n\nstruct acpi_gpe_block_info {\n\tstruct acpi_namespace_node *node;\n\tstruct acpi_gpe_block_info *previous;\n\tstruct acpi_gpe_block_info *next;\n\tstruct acpi_gpe_xrupt_info *xrupt_block;\n\tstruct acpi_gpe_register_info *register_info;\n\tstruct acpi_gpe_event_info *event_info;\n\tu64 address;\n\tu32 register_count;\n\tu16 gpe_count;\n\tu16 block_base_number;\n\tu8 space_id;\n\tu8 initialized;\n};\n\nstruct acpi_gpe_handler_info;\n\nstruct acpi_gpe_notify_info;\n\nunion acpi_gpe_dispatch_info {\n\tstruct acpi_namespace_node *method_node;\n\tstruct acpi_gpe_handler_info *handler;\n\tstruct acpi_gpe_notify_info *notify_list;\n};\n\nstruct acpi_gpe_event_info {\n\tunion acpi_gpe_dispatch_info dispatch;\n\tstruct acpi_gpe_register_info *register_info;\n\tu8 flags;\n\tu8 gpe_number;\n\tu8 runtime_count;\n\tu8 disable_for_dispatch;\n};\n\ntypedef u32 (*acpi_gpe_handler)(acpi_handle, u32, void *);\n\nstruct acpi_gpe_handler_info {\n\tacpi_gpe_handler address;\n\tvoid *context;\n\tstruct acpi_namespace_node *method_node;\n\tu8 original_flags;\n\tu8 originally_enabled;\n};\n\nstruct acpi_gpe_notify_info {\n\tstruct acpi_namespace_node *device_node;\n\tstruct acpi_gpe_notify_info *next;\n};\n\nstruct acpi_gpe_register_info {\n\tstruct acpi_gpe_address status_address;\n\tstruct acpi_gpe_address enable_address;\n\tu16 base_gpe_number;\n\tu8 enable_for_wake;\n\tu8 enable_for_run;\n\tu8 mask_for_run;\n\tu8 enable_mask;\n};\n\nstruct acpi_gpe_xrupt_info {\n\tstruct acpi_gpe_xrupt_info *previous;\n\tstruct acpi_gpe_xrupt_info *next;\n\tstruct acpi_gpe_block_info *gpe_block_list_head;\n\tu32 interrupt_number;\n};\n\nstruct gpio_chip;\n\nstruct acpi_gpio_chip {\n\tstruct acpi_connection_info conn_info;\n\tstruct list_head conns;\n\tstruct mutex conn_lock;\n\tstruct gpio_chip *chip;\n\tstruct list_head events;\n\tstruct list_head deferred_req_irqs_list_entry;\n};\n\nstruct gpio_desc;\n\nstruct acpi_gpio_connection {\n\tstruct list_head node;\n\tunsigned int pin;\n\tstruct gpio_desc *desc;\n};\n\ntypedef irqreturn_t (*irq_handler_t)(int, void *);\n\nstruct acpi_gpio_event {\n\tstruct list_head node;\n\tacpi_handle handle;\n\tirq_handler_t handler;\n\tunsigned int pin;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tbool irq_is_wake;\n\tbool irq_requested;\n\tstruct gpio_desc *desc;\n};\n\nstruct acpi_gpio_info {\n\tstruct acpi_device *adev;\n\tenum gpiod_flags flags;\n\tbool gpioint;\n\tint pin_config;\n\tint polarity;\n\tint triggering;\n\tbool wake_capable;\n\tunsigned int debounce;\n\tunsigned int quirks;\n};\n\nstruct acpi_gpio_lookup {\n\tstruct acpi_gpio_info info;\n\tint index;\n\tu16 pin_index;\n\tbool active_low;\n\tstruct gpio_desc *desc;\n\tint n;\n};\n\nstruct acpi_gpio_params;\n\nstruct acpi_gpio_mapping {\n\tconst char *name;\n\tconst struct acpi_gpio_params *data;\n\tunsigned int size;\n\tunsigned int quirks;\n};\n\nstruct acpi_gpio_params {\n\tunsigned int crs_entry_index;\n\tunsigned int line_index;\n\tbool active_low;\n};\n\nstruct acpi_gpiolib_dmi_quirk {\n\tbool no_edge_events_on_boot;\n\tchar *ignore_wake;\n\tchar *ignore_interrupt;\n};\n\nstruct acpi_table_gtdt;\n\nstruct acpi_gtdt_descriptor {\n\tstruct acpi_table_gtdt *gtdt;\n\tvoid *gtdt_end;\n\tvoid *platform_timer;\n};\n\nstruct acpi_gtdt_header {\n\tu8 type;\n\tu16 length;\n} __attribute__((packed));\n\nstruct acpi_gtdt_timer_block {\n\tstruct acpi_gtdt_header header;\n\tu8 reserved;\n\tu64 block_address;\n\tu32 timer_count;\n\tu32 timer_offset;\n} __attribute__((packed));\n\nstruct acpi_gtdt_timer_entry {\n\tu8 frame_number;\n\tu8 reserved[3];\n\tu64 base_address;\n\tu64 el0_base_address;\n\tu32 timer_interrupt;\n\tu32 timer_flags;\n\tu32 virtual_timer_interrupt;\n\tu32 virtual_timer_flags;\n\tu32 common_flags;\n} __attribute__((packed));\n\nstruct acpi_gtdt_watchdog {\n\tstruct acpi_gtdt_header header;\n\tu8 reserved;\n\tu64 refresh_frame_address;\n\tu64 control_frame_address;\n\tu32 timer_interrupt;\n\tu32 timer_flags;\n} __attribute__((packed));\n\nstruct acpi_handle_list {\n\tu32 count;\n\tacpi_handle *handles;\n};\n\nstruct acpi_hardware_id {\n\tstruct list_head list;\n\tconst char *id;\n};\n\nstruct acpi_hest_header {\n\tu16 type;\n\tu16 source_id;\n};\n\nstruct acpi_hest_notify {\n\tu8 type;\n\tu8 length;\n\tu16 config_write_enable;\n\tu32 poll_interval;\n\tu32 vector;\n\tu32 polling_threshold_value;\n\tu32 polling_threshold_window;\n\tu32 error_threshold_value;\n\tu32 error_threshold_window;\n};\n\nstruct acpi_hest_generic {\n\tstruct acpi_hest_header header;\n\tu16 related_source_id;\n\tu8 reserved;\n\tu8 enabled;\n\tu32 records_to_preallocate;\n\tu32 max_sections_per_record;\n\tu32 max_raw_data_length;\n\tstruct acpi_generic_address error_status_address;\n\tstruct acpi_hest_notify notify;\n\tu32 error_block_length;\n};\n\nstruct acpi_hest_generic_data {\n\tu8 section_type[16];\n\tu32 error_severity;\n\tu16 revision;\n\tu8 validation_bits;\n\tu8 flags;\n\tu32 error_data_length;\n\tu8 fru_id[16];\n\tu8 fru_text[20];\n};\n\nstruct acpi_hest_generic_data_v300 {\n\tu8 section_type[16];\n\tu32 error_severity;\n\tu16 revision;\n\tu8 validation_bits;\n\tu8 flags;\n\tu32 error_data_length;\n\tu8 fru_id[16];\n\tu8 fru_text[20];\n\tu64 time_stamp;\n};\n\nstruct acpi_hest_generic_status {\n\tu32 block_status;\n\tu32 raw_data_offset;\n\tu32 raw_data_length;\n\tu32 data_length;\n\tu32 error_severity;\n};\n\nstruct acpi_hest_generic_v2 {\n\tstruct acpi_hest_header header;\n\tu16 related_source_id;\n\tu8 reserved;\n\tu8 enabled;\n\tu32 records_to_preallocate;\n\tu32 max_sections_per_record;\n\tu32 max_raw_data_length;\n\tstruct acpi_generic_address error_status_address;\n\tstruct acpi_hest_notify notify;\n\tu32 error_block_length;\n\tstruct acpi_generic_address read_ack_register;\n\tu64 read_ack_preserve;\n\tu64 read_ack_write;\n} __attribute__((packed));\n\nstruct acpi_hest_ia_corrected {\n\tstruct acpi_hest_header header;\n\tu16 reserved1;\n\tu8 flags;\n\tu8 enabled;\n\tu32 records_to_preallocate;\n\tu32 max_sections_per_record;\n\tstruct acpi_hest_notify notify;\n\tu8 num_hardware_banks;\n\tu8 reserved2[3];\n};\n\nstruct acpi_hest_ia_deferred_check {\n\tstruct acpi_hest_header header;\n\tu16 reserved1;\n\tu8 flags;\n\tu8 enabled;\n\tu32 records_to_preallocate;\n\tu32 max_sections_per_record;\n\tstruct acpi_hest_notify notify;\n\tu8 num_hardware_banks;\n\tu8 reserved2[3];\n};\n\nstruct acpi_hest_ia_machine_check {\n\tstruct acpi_hest_header header;\n\tu16 reserved1;\n\tu8 flags;\n\tu8 enabled;\n\tu32 records_to_preallocate;\n\tu32 max_sections_per_record;\n\tu64 global_capability_data;\n\tu64 global_control_data;\n\tu8 num_hardware_banks;\n\tu8 reserved3[7];\n};\n\nstruct acpi_hmat_structure {\n\tu16 type;\n\tu16 reserved;\n\tu32 length;\n};\n\nstruct acpi_hmat_cache {\n\tstruct acpi_hmat_structure header;\n\tu32 memory_PD;\n\tu32 reserved1;\n\tu64 cache_size;\n\tu32 cache_attributes;\n\tu16 address_mode;\n\tu16 number_of_SMBIOShandles;\n};\n\nstruct acpi_hmat_locality {\n\tstruct acpi_hmat_structure header;\n\tu8 flags;\n\tu8 data_type;\n\tu8 min_transfer_size;\n\tu8 reserved1;\n\tu32 number_of_initiator_Pds;\n\tu32 number_of_target_Pds;\n\tu32 reserved2;\n\tu64 entry_base_unit;\n};\n\nstruct acpi_hmat_proximity_domain {\n\tstruct acpi_hmat_structure header;\n\tu16 flags;\n\tu16 reserved1;\n\tu32 processor_PD;\n\tu32 memory_PD;\n\tu32 reserved2;\n\tu64 reserved3;\n\tu64 reserved4;\n};\n\ntypedef int (*acpi_hp_notify)(struct acpi_device *, u32);\n\ntypedef void (*acpi_hp_uevent)(struct acpi_device *, u32);\n\ntypedef void (*acpi_hp_fixup)(struct acpi_device *);\n\nstruct acpi_hotplug_context {\n\tstruct acpi_device *self;\n\tacpi_hp_notify notify;\n\tacpi_hp_uevent uevent;\n\tacpi_hp_fixup fixup;\n};\n\nstruct acpi_hotplug_profile {\n\tstruct kobject kobj;\n\tint (*scan_dependent)(struct acpi_device *);\n\tvoid (*notify_online)(struct acpi_device *);\n\tbool enabled: 1;\n\tbool demand_offline: 1;\n};\n\nstruct acpi_hp_work {\n\tstruct work_struct work;\n\tstruct acpi_device *adev;\n\tu32 src;\n};\n\nstruct acpi_init_walk_info {\n\tu32 table_index;\n\tu32 object_count;\n\tu32 method_count;\n\tu32 serial_method_count;\n\tu32 non_serial_method_count;\n\tu32 serialized_method_count;\n\tu32 device_count;\n\tu32 op_region_count;\n\tu32 field_count;\n\tu32 buffer_count;\n\tu32 package_count;\n\tu32 op_region_init;\n\tu32 field_init;\n\tu32 buffer_init;\n\tu32 package_init;\n\tacpi_owner_id owner_id;\n};\n\nstruct acpi_interface_info {\n\tchar *name;\n\tstruct acpi_interface_info *next;\n\tu8 flags;\n\tu8 value;\n};\n\nstruct acpi_io_attribute {\n\tu8 range_type;\n\tu8 translation;\n\tu8 translation_type;\n\tu8 reserved1;\n};\n\nstruct rcu_work {\n\tstruct work_struct work;\n\tstruct callback_head rcu;\n\tstruct workqueue_struct *wq;\n};\n\nstruct acpi_ioremap {\n\tstruct list_head list;\n\tvoid *virt;\n\tacpi_physical_address phys;\n\tacpi_size size;\n\tunion {\n\t\tlong unsigned int refcount;\n\t\tstruct rcu_work rwork;\n\t} track;\n};\n\nstruct acpi_iort_id_mapping {\n\tu32 input_base;\n\tu32 id_count;\n\tu32 output_base;\n\tu32 output_reference;\n\tu32 flags;\n};\n\nstruct acpi_iort_its_group {\n\tu32 its_count;\n\tu32 identifiers[0];\n};\n\nstruct acpi_iort_memory_access {\n\tu32 cache_coherency;\n\tu8 hints;\n\tu16 reserved;\n\tu8 memory_flags;\n} __attribute__((packed));\n\nstruct acpi_iort_named_component {\n\tu32 node_flags;\n\tu64 memory_properties;\n\tu8 memory_address_limit;\n\tchar device_name[0];\n} __attribute__((packed));\n\nstruct acpi_iort_node {\n\tu8 type;\n\tu16 length;\n\tu8 revision;\n\tu32 identifier;\n\tu32 mapping_count;\n\tu32 mapping_offset;\n\tchar node_data[0];\n} __attribute__((packed));\n\nstruct acpi_iort_pmcg {\n\tu64 page0_base_address;\n\tu32 overflow_gsiv;\n\tu32 node_reference;\n\tu64 page1_base_address;\n};\n\nstruct acpi_iort_rmr {\n\tu32 flags;\n\tu32 rmr_count;\n\tu32 rmr_offset;\n};\n\nstruct acpi_iort_rmr_desc {\n\tu64 base_address;\n\tu64 length;\n\tu32 reserved;\n} __attribute__((packed));\n\nstruct acpi_iort_root_complex {\n\tu64 memory_properties;\n\tu32 ats_attribute;\n\tu32 pci_segment_number;\n\tu8 memory_address_limit;\n\tu16 pasid_capabilities;\n\tu8 reserved[0];\n} __attribute__((packed));\n\nstruct acpi_iort_smmu {\n\tu64 base_address;\n\tu64 span;\n\tu32 model;\n\tu32 flags;\n\tu32 global_interrupt_offset;\n\tu32 context_interrupt_count;\n\tu32 context_interrupt_offset;\n\tu32 pmu_interrupt_count;\n\tu32 pmu_interrupt_offset;\n\tu64 interrupts[0];\n} __attribute__((packed));\n\nstruct acpi_iort_smmu_v3 {\n\tu64 base_address;\n\tu32 flags;\n\tu32 reserved;\n\tu64 vatos_address;\n\tu32 model;\n\tu32 event_gsiv;\n\tu32 pri_gsiv;\n\tu32 gerr_gsiv;\n\tu32 sync_gsiv;\n\tu32 pxm;\n\tu32 id_mapping_index;\n} __attribute__((packed));\n\nstruct irq_fwspec;\n\nstruct acpi_irq_parse_one_ctx {\n\tint rc;\n\tunsigned int index;\n\tlong unsigned int *res_flags;\n\tstruct irq_fwspec *fwspec;\n};\n\nstruct acpi_lpat {\n\tint temp;\n\tint raw;\n};\n\nstruct acpi_lpat_conversion_table {\n\tstruct acpi_lpat *lpat;\n\tint lpat_count;\n};\n\nstruct acpi_lpi_state {\n\tu32 min_residency;\n\tu32 wake_latency;\n\tu32 flags;\n\tu32 arch_flags;\n\tu32 res_cnt_freq;\n\tu32 enable_parent_state;\n\tu64 address;\n\tu8 index;\n\tu8 entry_method;\n\tchar desc[32];\n};\n\nstruct acpi_lpi_states_array {\n\tunsigned int size;\n\tunsigned int composite_states_size;\n\tstruct acpi_lpi_state *entries;\n\tstruct acpi_lpi_state *composite_states[8];\n};\n\nstruct acpi_subtable_header {\n\tu8 type;\n\tu8 length;\n};\n\nstruct acpi_madt_core_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu32 processor_id;\n\tu32 core_id;\n\tu32 flags;\n} __attribute__((packed));\n\nstruct acpi_madt_generic_distributor {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 gic_id;\n\tu64 base_address;\n\tu32 global_irq_base;\n\tu8 version;\n\tu8 reserved2[3];\n};\n\nstruct acpi_madt_generic_interrupt {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 cpu_interface_number;\n\tu32 uid;\n\tu32 flags;\n\tu32 parking_version;\n\tu32 performance_interrupt;\n\tu64 parked_address;\n\tu64 base_address;\n\tu64 gicv_base_address;\n\tu64 gich_base_address;\n\tu32 vgic_interrupt;\n\tu64 gicr_base_address;\n\tu64 arm_mpidr;\n\tu8 efficiency_class;\n\tu8 reserved2[1];\n\tu16 spe_interrupt;\n\tu16 trbe_interrupt;\n} __attribute__((packed));\n\nstruct acpi_madt_generic_msi_frame {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 msi_frame_id;\n\tu64 base_address;\n\tu32 flags;\n\tu16 spi_count;\n\tu16 spi_base;\n};\n\nstruct acpi_madt_generic_redistributor {\n\tstruct acpi_subtable_header header;\n\tu8 flags;\n\tu8 reserved;\n\tu64 base_address;\n\tu32 length;\n} __attribute__((packed));\n\nstruct acpi_madt_generic_translator {\n\tstruct acpi_subtable_header header;\n\tu8 flags;\n\tu8 reserved;\n\tu32 translation_id;\n\tu64 base_address;\n\tu32 reserved2;\n} __attribute__((packed));\n\nstruct acpi_madt_interrupt_override {\n\tstruct acpi_subtable_header header;\n\tu8 bus;\n\tu8 source_irq;\n\tu32 global_irq;\n\tu16 inti_flags;\n} __attribute__((packed));\n\nstruct acpi_madt_interrupt_source {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu8 type;\n\tu8 id;\n\tu8 eid;\n\tu8 io_sapic_vector;\n\tu32 global_irq;\n\tu32 flags;\n};\n\nstruct acpi_madt_io_apic {\n\tstruct acpi_subtable_header header;\n\tu8 id;\n\tu8 reserved;\n\tu32 address;\n\tu32 global_irq_base;\n};\n\nstruct acpi_madt_io_sapic {\n\tstruct acpi_subtable_header header;\n\tu8 id;\n\tu8 reserved;\n\tu32 global_irq_base;\n\tu64 address;\n};\n\nstruct acpi_madt_local_apic {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu8 id;\n\tu32 lapic_flags;\n};\n\nstruct acpi_madt_local_apic_nmi {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu16 inti_flags;\n\tu8 lint;\n} __attribute__((packed));\n\nstruct acpi_madt_local_apic_override {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_madt_local_sapic {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu8 id;\n\tu8 eid;\n\tu8 reserved[3];\n\tu32 lapic_flags;\n\tu32 uid;\n\tchar uid_string[0];\n};\n\nstruct acpi_madt_local_x2apic {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 local_apic_id;\n\tu32 lapic_flags;\n\tu32 uid;\n};\n\nstruct acpi_madt_local_x2apic_nmi {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu32 uid;\n\tu8 lint;\n\tu8 reserved[3];\n};\n\nstruct acpi_madt_multiproc_wakeup {\n\tstruct acpi_subtable_header header;\n\tu16 version;\n\tu32 reserved;\n\tu64 mailbox_address;\n\tu64 reset_vector;\n};\n\nstruct acpi_madt_nmi_source {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu32 global_irq;\n};\n\nstruct acpi_madt_rintc {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu8 reserved;\n\tu32 flags;\n\tu64 hart_id;\n\tu32 uid;\n\tu32 ext_intc_id;\n\tu64 imsic_addr;\n\tu32 imsic_size;\n} __attribute__((packed));\n\nstruct acpi_mcfg_allocation {\n\tu64 address;\n\tu16 pci_segment;\n\tu8 start_bus_number;\n\tu8 end_bus_number;\n\tu32 reserved;\n};\n\nstruct acpi_mem_mapping {\n\tacpi_physical_address physical_address;\n\tu8 *logical_address;\n\tacpi_size length;\n\tstruct acpi_mem_mapping *next_mm;\n};\n\nstruct acpi_mem_space_context {\n\tu32 length;\n\tacpi_physical_address address;\n\tstruct acpi_mem_mapping *cur_mm;\n\tstruct acpi_mem_mapping *first_mm;\n};\n\nstruct acpi_memory_attribute {\n\tu8 write_protect;\n\tu8 caching;\n\tu8 range_type;\n\tu8 translation;\n};\n\nstruct acpi_memory_device {\n\tstruct acpi_device *device;\n\tstruct list_head res_list;\n\tint mgid;\n};\n\nstruct acpi_memory_info {\n\tstruct list_head list;\n\tu64 start_addr;\n\tu64 length;\n\tshort unsigned int caching;\n\tshort unsigned int write_protect;\n\tunsigned int enabled: 1;\n};\n\nstruct acpi_mutex_info {\n\tvoid *mutex;\n\tu32 use_count;\n\tu64 thread_id;\n};\n\nstruct acpi_name_info {\n\tchar name[4];\n\tu16 argument_list;\n\tu8 expected_btypes;\n} __attribute__((packed));\n\nstruct acpi_namestring_info {\n\tconst char *external_name;\n\tconst char *next_external_char;\n\tchar *internal_name;\n\tu32 length;\n\tu32 num_segments;\n\tu32 num_carats;\n\tu8 fully_qualified;\n};\n\nunion acpi_object {\n\tacpi_object_type type;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu64 value;\n\t} integer;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 length;\n\t\tchar *pointer;\n\t} string;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 length;\n\t\tu8 *pointer;\n\t} buffer;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 count;\n\t\tunion acpi_object *elements;\n\t} package;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tacpi_object_type actual_type;\n\t\tacpi_handle handle;\n\t} reference;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 proc_id;\n\t\tacpi_io_address pblk_address;\n\t\tu32 pblk_length;\n\t} processor;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 system_level;\n\t\tu32 resource_order;\n\t} power_resource;\n};\n\nstruct acpi_object_list {\n\tu32 count;\n\tunion acpi_object *pointer;\n};\n\nstruct acpi_offsets {\n\tsize_t offset;\n\tu8 mode;\n};\n\nstruct acpi_opcode_info {\n\tu32 parse_args;\n\tu32 runtime_args;\n\tu16 flags;\n\tu8 object_type;\n\tu8 class;\n\tu8 type;\n};\n\ntypedef void (*acpi_osd_exec_callback)(void *);\n\nstruct acpi_os_dpc {\n\tacpi_osd_exec_callback function;\n\tvoid *context;\n\tstruct work_struct work;\n};\n\nstruct acpi_osc_context {\n\tchar *uuid_str;\n\tint rev;\n\tstruct acpi_buffer cap;\n\tstruct acpi_buffer ret;\n};\n\nstruct acpi_osi_config {\n\tu8 default_disabling;\n\tunsigned int linux_enable: 1;\n\tunsigned int linux_dmi: 1;\n\tunsigned int linux_cmdline: 1;\n\tunsigned int darwin_enable: 1;\n\tunsigned int darwin_dmi: 1;\n\tunsigned int darwin_cmdline: 1;\n};\n\nstruct acpi_osi_entry {\n\tchar string[64];\n\tbool enable;\n};\n\nstruct acpi_package_info {\n\tu8 type;\n\tu8 object_type1;\n\tu8 count1;\n\tu8 object_type2;\n\tu8 count2;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_package_info2 {\n\tu8 type;\n\tu8 count;\n\tu8 object_type[4];\n\tu8 reserved;\n};\n\nstruct acpi_package_info3 {\n\tu8 type;\n\tu8 count;\n\tu8 object_type[2];\n\tu8 tail_object_type;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_package_info4 {\n\tu8 type;\n\tu8 object_type1;\n\tu8 count1;\n\tu8 sub_object_types;\n\tu8 pkg_count;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_parse_state {\n\tu8 *aml_start;\n\tu8 *aml;\n\tu8 *aml_end;\n\tu8 *pkg_start;\n\tu8 *pkg_end;\n\tunion acpi_parse_object *start_op;\n\tstruct acpi_namespace_node *start_node;\n\tunion acpi_generic_state *scope;\n\tunion acpi_parse_object *start_scope;\n\tu32 aml_size;\n};\n\nstruct acpi_pcc_info {\n\tu8 subspace_id;\n\tu16 length;\n\tu8 *internal_buffer;\n};\n\nstruct acpi_pcct_ext_pcc_master {\n\tstruct acpi_subtable_header header;\n\tu32 platform_interrupt;\n\tu8 flags;\n\tu8 reserved1;\n\tu64 base_address;\n\tu32 length;\n\tstruct acpi_generic_address doorbell_register;\n\tu64 preserve_mask;\n\tu64 write_mask;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu32 min_turnaround_time;\n\tstruct acpi_generic_address platform_ack_register;\n\tu64 ack_preserve_mask;\n\tu64 ack_set_mask;\n\tu64 reserved2;\n\tstruct acpi_generic_address cmd_complete_register;\n\tu64 cmd_complete_mask;\n\tstruct acpi_generic_address cmd_update_register;\n\tu64 cmd_update_preserve_mask;\n\tu64 cmd_update_set_mask;\n\tstruct acpi_generic_address error_status_register;\n\tu64 error_status_mask;\n} __attribute__((packed));\n\nstruct acpi_pcct_ext_pcc_shared_memory {\n\tu32 signature;\n\tu32 flags;\n\tu32 length;\n\tu32 command;\n};\n\nstruct acpi_pcct_hw_reduced {\n\tstruct acpi_subtable_header header;\n\tu32 platform_interrupt;\n\tu8 flags;\n\tu8 reserved;\n\tu64 base_address;\n\tu64 length;\n\tstruct acpi_generic_address doorbell_register;\n\tu64 preserve_mask;\n\tu64 write_mask;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu16 min_turnaround_time;\n} __attribute__((packed));\n\nstruct acpi_pcct_hw_reduced_type2 {\n\tstruct acpi_subtable_header header;\n\tu32 platform_interrupt;\n\tu8 flags;\n\tu8 reserved;\n\tu64 base_address;\n\tu64 length;\n\tstruct acpi_generic_address doorbell_register;\n\tu64 preserve_mask;\n\tu64 write_mask;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu16 min_turnaround_time;\n\tstruct acpi_generic_address platform_ack_register;\n\tu64 ack_preserve_mask;\n\tu64 ack_write_mask;\n} __attribute__((packed));\n\nstruct acpi_pcct_shared_memory {\n\tu32 signature;\n\tu16 command;\n\tu16 status;\n};\n\nstruct acpi_pcct_subspace {\n\tstruct acpi_subtable_header header;\n\tu8 reserved[6];\n\tu64 base_address;\n\tu64 length;\n\tstruct acpi_generic_address doorbell_register;\n\tu64 preserve_mask;\n\tu64 write_mask;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu16 min_turnaround_time;\n} __attribute__((packed));\n\nstruct acpi_pci_device {\n\tacpi_handle device;\n\tstruct acpi_pci_device *next;\n};\n\nstruct acpi_pci_root;\n\nstruct acpi_pci_root_ops;\n\nstruct acpi_pci_root_info {\n\tstruct acpi_pci_root *root;\n\tstruct acpi_device *bridge;\n\tstruct acpi_pci_root_ops *ops;\n\tstruct list_head resources;\n\tchar name[16];\n};\n\nstruct pci_config_window;\n\nstruct acpi_pci_generic_root_info {\n\tstruct acpi_pci_root_info common;\n\tstruct pci_config_window *cfg;\n};\n\nstruct acpi_pci_id {\n\tu16 segment;\n\tu16 bus;\n\tu16 device;\n\tu16 function;\n};\n\nstruct acpi_pci_link_irq {\n\tu32 active;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 resource_type;\n\tu8 possible_count;\n\tu32 possible[16];\n\tu8 initialized: 1;\n\tu8 reserved: 7;\n};\n\nstruct acpi_pci_link {\n\tstruct list_head list;\n\tstruct acpi_device *device;\n\tstruct acpi_pci_link_irq irq;\n\tint refcnt;\n};\n\nstruct resource {\n\tresource_size_t start;\n\tresource_size_t end;\n\tconst char *name;\n\tlong unsigned int flags;\n\tlong unsigned int desc;\n\tstruct resource *parent;\n\tstruct resource *sibling;\n\tstruct resource *child;\n};\n\nstruct pci_bus;\n\nstruct acpi_pci_root {\n\tstruct acpi_device *device;\n\tstruct pci_bus *bus;\n\tu16 segment;\n\tint bridge_type;\n\tstruct resource secondary;\n\tu32 osc_support_set;\n\tu32 osc_control_set;\n\tu32 osc_ext_support_set;\n\tu32 osc_ext_control_set;\n\tphys_addr_t mcfg_addr;\n};\n\nstruct pci_ops;\n\nstruct acpi_pci_root_ops {\n\tstruct pci_ops *pci_ops;\n\tint (*init_info)(struct acpi_pci_root_info *);\n\tvoid (*release_info)(struct acpi_pci_root_info *);\n\tint (*prepare_resources)(struct acpi_pci_root_info *);\n};\n\nstruct acpi_pci_routing_table {\n\tu32 length;\n\tu32 pin;\n\tu64 address;\n\tu32 source_index;\n\tunion {\n\t\tchar pad[4];\n\t\tstruct {\n\t\t\tstruct {} __Empty_source;\n\t\t\tchar source[0];\n\t\t};\n\t};\n};\n\nstruct acpi_pct_register {\n\tu8 descriptor;\n\tu16 length;\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 reserved;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_pkg_info {\n\tu8 *free_space;\n\tacpi_size length;\n\tu32 object_space;\n\tu32 num_packages;\n};\n\nstruct acpi_platform_list {\n\tchar oem_id[7];\n\tchar oem_table_id[9];\n\tu32 oem_revision;\n\tchar *table;\n\tenum acpi_predicate pred;\n\tchar *reason;\n\tu32 data;\n};\n\nstruct acpi_pld_info {\n\tu8 revision;\n\tu8 ignore_color;\n\tu8 red;\n\tu8 green;\n\tu8 blue;\n\tu16 width;\n\tu16 height;\n\tu8 user_visible;\n\tu8 dock;\n\tu8 lid;\n\tu8 panel;\n\tu8 vertical_position;\n\tu8 horizontal_position;\n\tu8 shape;\n\tu8 group_orientation;\n\tu8 group_token;\n\tu8 group_position;\n\tu8 bay;\n\tu8 ejectable;\n\tu8 ospm_eject_required;\n\tu8 cabinet_number;\n\tu8 card_cage_number;\n\tu8 reference;\n\tu8 rotation;\n\tu8 order;\n\tu8 reserved;\n\tu16 vertical_offset;\n\tu16 horizontal_offset;\n};\n\nstruct acpi_port_info {\n\tchar *name;\n\tu16 start;\n\tu16 end;\n\tu8 osi_dependency;\n};\n\nstruct acpi_power_dependent_device {\n\tstruct device *dev;\n\tstruct list_head node;\n};\n\nstruct acpi_power_register {\n\tu8 descriptor;\n\tu16 length;\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_power_resource {\n\tstruct acpi_device device;\n\tstruct list_head list_node;\n\tu32 system_level;\n\tu32 order;\n\tunsigned int ref_count;\n\tu8 state;\n\tstruct mutex resource_lock;\n\tstruct list_head dependents;\n};\n\nstruct acpi_power_resource_entry {\n\tstruct list_head node;\n\tstruct acpi_power_resource *resource;\n};\n\nstruct acpi_pptt_cache {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 flags;\n\tu32 next_level_of_cache;\n\tu32 size;\n\tu32 number_of_sets;\n\tu8 associativity;\n\tu8 attributes;\n\tu16 line_size;\n};\n\nstruct acpi_pptt_cache_v1 {\n\tu32 cache_id;\n};\n\nstruct acpi_pptt_processor {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 flags;\n\tu32 parent;\n\tu32 acpi_processor_id;\n\tu32 number_of_priv_resources;\n};\n\nunion acpi_predefined_info {\n\tstruct acpi_name_info info;\n\tstruct acpi_package_info ret_info;\n\tstruct acpi_package_info2 ret_info2;\n\tstruct acpi_package_info3 ret_info3;\n\tstruct acpi_package_info4 ret_info4;\n};\n\nstruct acpi_predefined_names {\n\tconst char *name;\n\tu8 type;\n\tchar *val;\n};\n\nstruct acpi_prmt_handler_info {\n\tu16 revision;\n\tu16 length;\n\tu8 handler_guid[16];\n\tu64 handler_address;\n\tu64 static_data_buffer_address;\n\tu64 acpi_param_buffer_address;\n} __attribute__((packed));\n\nstruct acpi_prmt_module_header {\n\tu16 revision;\n\tu16 length;\n};\n\nstruct acpi_prmt_module_info {\n\tu16 revision;\n\tu16 length;\n\tu8 module_guid[16];\n\tu16 major_rev;\n\tu16 minor_rev;\n\tu16 handler_info_count;\n\tu32 handler_info_offset;\n\tu64 mmio_list_pointer;\n} __attribute__((packed));\n\nstruct acpi_probe_entry;\n\ntypedef bool (*acpi_probe_entry_validate_subtbl)(struct acpi_subtable_header *, struct acpi_probe_entry *);\n\nstruct acpi_table_header;\n\ntypedef int (*acpi_tbl_table_handler)(struct acpi_table_header *);\n\nunion acpi_subtable_headers;\n\ntypedef int (*acpi_tbl_entry_handler)(union acpi_subtable_headers *, const long unsigned int);\n\nstruct acpi_probe_entry {\n\t__u8 id[5];\n\t__u8 type;\n\tacpi_probe_entry_validate_subtbl subtable_valid;\n\tunion {\n\t\tacpi_tbl_table_handler probe_table;\n\t\tacpi_tbl_entry_handler probe_subtbl;\n\t};\n\tkernel_ulong_t driver_data;\n};\n\nstruct acpi_processor_flags {\n\tu8 power: 1;\n\tu8 performance: 1;\n\tu8 throttling: 1;\n\tu8 limit: 1;\n\tu8 bm_control: 1;\n\tu8 bm_check: 1;\n\tu8 has_cst: 1;\n\tu8 has_lpi: 1;\n\tu8 power_setup_done: 1;\n\tu8 bm_rld_set: 1;\n\tu8 previously_online: 1;\n};\n\nstruct acpi_processor_cx {\n\tu8 valid;\n\tu8 type;\n\tu32 address;\n\tu8 entry_method;\n\tu8 index;\n\tu32 latency;\n\tu8 bm_sts_skip;\n\tchar desc[32];\n};\n\nstruct acpi_processor_power {\n\tint count;\n\tunion {\n\t\tstruct acpi_processor_cx states[8];\n\t\tstruct acpi_lpi_state lpi_states[8];\n\t};\n\tint timer_broadcast_on_state;\n};\n\nstruct acpi_tsd_package {\n\tu64 num_entries;\n\tu64 revision;\n\tu64 domain;\n\tu64 coord_type;\n\tu64 num_processors;\n};\n\ntypedef struct cpumask *cpumask_var_t;\n\nstruct acpi_processor_tx {\n\tu16 power;\n\tu16 performance;\n};\n\nstruct acpi_processor_tx_tss;\n\nstruct acpi_processor;\n\nstruct acpi_processor_throttling {\n\tunsigned int state;\n\tunsigned int platform_limit;\n\tstruct acpi_pct_register control_register;\n\tstruct acpi_pct_register status_register;\n\tunsigned int state_count;\n\tstruct acpi_processor_tx_tss *states_tss;\n\tstruct acpi_tsd_package domain_info;\n\tcpumask_var_t shared_cpu_map;\n\tint (*acpi_processor_get_throttling)(struct acpi_processor *);\n\tint (*acpi_processor_set_throttling)(struct acpi_processor *, int, bool);\n\tu32 address;\n\tu8 duty_offset;\n\tu8 duty_width;\n\tu8 tsd_valid_flag;\n\tunsigned int shared_type;\n\tstruct acpi_processor_tx states[16];\n};\n\nstruct acpi_processor_lx {\n\tint px;\n\tint tx;\n};\n\nstruct acpi_processor_limit {\n\tstruct acpi_processor_lx state;\n\tstruct acpi_processor_lx thermal;\n\tstruct acpi_processor_lx user;\n};\n\nstruct plist_node {\n\tint prio;\n\tstruct list_head prio_list;\n\tstruct list_head node_list;\n};\n\nstruct freq_constraints;\n\nstruct freq_qos_request {\n\tenum freq_qos_req_type type;\n\tstruct plist_node pnode;\n\tstruct freq_constraints *qos;\n};\n\nstruct acpi_processor_performance;\n\nstruct acpi_processor {\n\tacpi_handle handle;\n\tu32 acpi_id;\n\tphys_cpuid_t phys_id;\n\tu32 id;\n\tu32 pblk;\n\tint performance_platform_limit;\n\tint throttling_platform_limit;\n\tstruct acpi_processor_flags flags;\n\tstruct acpi_processor_power power;\n\tstruct acpi_processor_performance *performance;\n\tstruct acpi_processor_throttling throttling;\n\tstruct acpi_processor_limit limit;\n\tstruct thermal_cooling_device *cdev;\n\tstruct device *dev;\n\tstruct freq_qos_request perflib_req;\n\tstruct freq_qos_request thermal_req;\n};\n\nstruct acpi_processor_errata {\n\tu8 smp;\n\tstruct {\n\t\tu8 throttle: 1;\n\t\tu8 fdma: 1;\n\t\tu8 reserved: 6;\n\t\tu32 bmisx;\n\t} piix4;\n};\n\nstruct acpi_psd_package {\n\tu64 num_entries;\n\tu64 revision;\n\tu64 domain;\n\tu64 coord_type;\n\tu64 num_processors;\n};\n\nstruct acpi_processor_px;\n\nstruct acpi_processor_performance {\n\tunsigned int state;\n\tunsigned int platform_limit;\n\tstruct acpi_pct_register control_register;\n\tstruct acpi_pct_register status_register;\n\tunsigned int state_count;\n\tstruct acpi_processor_px *states;\n\tstruct acpi_psd_package domain_info;\n\tcpumask_var_t shared_cpu_map;\n\tunsigned int shared_type;\n};\n\nstruct acpi_processor_px {\n\tu64 core_frequency;\n\tu64 power;\n\tu64 transition_latency;\n\tu64 bus_master_latency;\n\tu64 control;\n\tu64 status;\n};\n\nstruct acpi_processor_tx_tss {\n\tu64 freqpercentage;\n\tu64 power;\n\tu64 transition_latency;\n\tu64 control;\n\tu64 status;\n};\n\nstruct acpi_prt_entry {\n\tstruct acpi_pci_id id;\n\tu8 pin;\n\tacpi_handle link;\n\tu32 index;\n};\n\nstruct acpi_reg_walk_info {\n\tu32 function;\n\tu32 reg_run_count;\n\tacpi_adr_space_type space_id;\n};\n\ntypedef acpi_status (*acpi_repair_function)(struct acpi_evaluate_info *, union acpi_operand_object **);\n\nstruct acpi_repair_info {\n\tchar name[4];\n\tacpi_repair_function repair_function;\n};\n\nstruct acpi_resource_irq {\n\tu8 descriptor_length;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 interrupt_count;\n\tunion {\n\t\tu8 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu8 interrupts[0];\n\t\t};\n\t};\n};\n\nstruct acpi_resource_dma {\n\tu8 type;\n\tu8 bus_master;\n\tu8 transfer;\n\tu8 channel_count;\n\tunion {\n\t\tu8 channel;\n\t\tstruct {\n\t\t\tstruct {} __Empty_channels;\n\t\t\tu8 channels[0];\n\t\t};\n\t};\n};\n\nstruct acpi_resource_start_dependent {\n\tu8 descriptor_length;\n\tu8 compatibility_priority;\n\tu8 performance_robustness;\n};\n\nstruct acpi_resource_io {\n\tu8 io_decode;\n\tu8 alignment;\n\tu8 address_length;\n\tu16 minimum;\n\tu16 maximum;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_io {\n\tu16 address;\n\tu8 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_dma {\n\tu16 request_lines;\n\tu16 channels;\n\tu8 width;\n} __attribute__((packed));\n\nstruct acpi_resource_vendor {\n\tu16 byte_length;\n\tu8 byte_data[0];\n};\n\nstruct acpi_resource_vendor_typed {\n\tu16 byte_length;\n\tu8 uuid_subtype;\n\tu8 uuid[16];\n\tu8 byte_data[0];\n} __attribute__((packed));\n\nstruct acpi_resource_end_tag {\n\tu8 checksum;\n};\n\nstruct acpi_resource_memory24 {\n\tu8 write_protect;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 alignment;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_memory32 {\n\tu8 write_protect;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 alignment;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_memory32 {\n\tu8 write_protect;\n\tu32 address;\n\tu32 address_length;\n} __attribute__((packed));\n\nunion acpi_resource_attribute {\n\tstruct acpi_memory_attribute mem;\n\tstruct acpi_io_attribute io;\n\tu8 type_specific;\n};\n\nstruct acpi_resource_source {\n\tu8 index;\n\tu16 string_length;\n\tchar *string_ptr;\n} __attribute__((packed));\n\nstruct acpi_resource_address16 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address16_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address32 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address32_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address64 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address64_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_extended_address64 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tu8 revision_ID;\n\tstruct acpi_address64_attribute address;\n\tu64 type_specific;\n} __attribute__((packed));\n\nstruct acpi_resource_extended_irq {\n\tu8 producer_consumer;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 interrupt_count;\n\tstruct acpi_resource_source resource_source;\n\tunion {\n\t\tu32 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu32 interrupts[0];\n\t\t};\n\t};\n} __attribute__((packed));\n\nstruct acpi_resource_generic_register {\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_resource_gpio {\n\tu8 revision_id;\n\tu8 connection_type;\n\tu8 producer_consumer;\n\tu8 pin_config;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 io_restriction;\n\tu8 triggering;\n\tu8 polarity;\n\tu16 drive_strength;\n\tu16 debounce_timeout;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_i2c_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 access_mode;\n\tu16 slave_address;\n\tu32 connection_speed;\n} __attribute__((packed));\n\nstruct acpi_resource_spi_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 wire_mode;\n\tu8 device_polarity;\n\tu8 data_bit_length;\n\tu8 clock_phase;\n\tu8 clock_polarity;\n\tu16 device_selection;\n\tu32 connection_speed;\n} __attribute__((packed));\n\nstruct acpi_resource_uart_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 endian;\n\tu8 data_bits;\n\tu8 stop_bits;\n\tu8 flow_control;\n\tu8 parity;\n\tu8 lines_enabled;\n\tu16 rx_fifo_size;\n\tu16 tx_fifo_size;\n\tu32 default_baud_rate;\n} __attribute__((packed));\n\nstruct acpi_resource_csi2_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 local_port_instance;\n\tu8 phy_type;\n} __attribute__((packed));\n\nstruct acpi_resource_common_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_function {\n\tu8 revision_id;\n\tu8 pin_config;\n\tu8 shareable;\n\tu16 function_number;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_config {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_label {\n\tu16 string_length;\n\tchar *string_ptr;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tu16 *pin_table;\n\tstruct acpi_resource_label resource_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group_function {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu16 function_number;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tstruct acpi_resource_label resource_source_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group_config {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tstruct acpi_resource_label resource_source_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_clock_input {\n\tu8 revision_id;\n\tu8 mode;\n\tu8 scale;\n\tu16 frequency_divisor;\n\tu32 frequency_numerator;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n};\n\nunion acpi_resource_data {\n\tstruct acpi_resource_irq irq;\n\tstruct acpi_resource_dma dma;\n\tstruct acpi_resource_start_dependent start_dpf;\n\tstruct acpi_resource_io io;\n\tstruct acpi_resource_fixed_io fixed_io;\n\tstruct acpi_resource_fixed_dma fixed_dma;\n\tstruct acpi_resource_vendor vendor;\n\tstruct acpi_resource_vendor_typed vendor_typed;\n\tstruct acpi_resource_end_tag end_tag;\n\tstruct acpi_resource_memory24 memory24;\n\tstruct acpi_resource_memory32 memory32;\n\tstruct acpi_resource_fixed_memory32 fixed_memory32;\n\tstruct acpi_resource_address16 address16;\n\tstruct acpi_resource_address32 address32;\n\tstruct acpi_resource_address64 address64;\n\tstruct acpi_resource_extended_address64 ext_address64;\n\tstruct acpi_resource_extended_irq extended_irq;\n\tstruct acpi_resource_generic_register generic_reg;\n\tstruct acpi_resource_gpio gpio;\n\tstruct acpi_resource_i2c_serialbus i2c_serial_bus;\n\tstruct acpi_resource_spi_serialbus spi_serial_bus;\n\tstruct acpi_resource_uart_serialbus uart_serial_bus;\n\tstruct acpi_resource_csi2_serialbus csi2_serial_bus;\n\tstruct acpi_resource_common_serialbus common_serial_bus;\n\tstruct acpi_resource_pin_function pin_function;\n\tstruct acpi_resource_pin_config pin_config;\n\tstruct acpi_resource_pin_group pin_group;\n\tstruct acpi_resource_pin_group_function pin_group_function;\n\tstruct acpi_resource_pin_group_config pin_group_config;\n\tstruct acpi_resource_clock_input clock_input;\n\tstruct acpi_resource_address address;\n};\n\nstruct acpi_resource {\n\tu32 type;\n\tu32 length;\n\tunion acpi_resource_data data;\n};\n\nstruct acpi_rsconvert_info {\n\tu8 opcode;\n\tu8 resource_offset;\n\tu8 aml_offset;\n\tu8 value;\n};\n\nstruct acpi_rw_lock {\n\tvoid *writer_mutex;\n\tvoid *reader_mutex;\n\tu32 num_readers;\n};\n\nstruct acpi_scan_clear_dep_work {\n\tstruct work_struct work;\n\tstruct acpi_device *adev;\n};\n\nstruct acpi_scan_handler {\n\tstruct list_head list_node;\n\tconst struct acpi_device_id *ids;\n\tbool (*match)(const char *, const struct acpi_device_id **);\n\tint (*attach)(struct acpi_device *, const struct acpi_device_id *);\n\tvoid (*detach)(struct acpi_device *);\n\tvoid (*post_eject)(struct acpi_device *);\n\tvoid (*bind)(struct device *);\n\tvoid (*unbind)(struct device *);\n\tstruct acpi_hotplug_profile hotplug;\n};\n\ntypedef u32 (*acpi_sci_handler)(void *);\n\nstruct acpi_sci_handler_info {\n\tstruct acpi_sci_handler_info *next;\n\tacpi_sci_handler address;\n\tvoid *context;\n};\n\nstruct acpi_serdev_lookup {\n\tacpi_handle device_handle;\n\tacpi_handle controller_handle;\n\tint n;\n\tint index;\n};\n\nstruct acpi_signal_fatal_info {\n\tu32 type;\n\tu32 code;\n\tu32 argument;\n};\n\ntypedef acpi_status (*acpi_object_converter)(struct acpi_namespace_node *, union acpi_operand_object *, union acpi_operand_object **);\n\nstruct acpi_simple_repair_info {\n\tchar name[4];\n\tu32 unexpected_btypes;\n\tu32 package_index;\n\tacpi_object_converter object_converter;\n};\n\nstruct acpi_spi_lookup {\n\tstruct spi_controller *ctlr;\n\tu32 max_speed_hz;\n\tu32 mode;\n\tint irq;\n\tu8 bits_per_word;\n\tu8 chip_select;\n\tint n;\n\tint index;\n};\n\nstruct acpi_srat_cpu_affinity {\n\tstruct acpi_subtable_header header;\n\tu8 proximity_domain_lo;\n\tu8 apic_id;\n\tu32 flags;\n\tu8 local_sapic_eid;\n\tu8 proximity_domain_hi[3];\n\tu32 clock_domain;\n};\n\nstruct acpi_srat_generic_affinity {\n\tstruct acpi_subtable_header header;\n\tu8 reserved;\n\tu8 device_handle_type;\n\tu32 proximity_domain;\n\tu8 device_handle[16];\n\tu32 flags;\n\tu32 reserved1;\n};\n\nstruct acpi_srat_gic_its_affinity {\n\tstruct acpi_subtable_header header;\n\tu32 proximity_domain;\n\tu16 reserved;\n\tu32 its_id;\n} __attribute__((packed));\n\nstruct acpi_srat_gicc_affinity {\n\tstruct acpi_subtable_header header;\n\tu32 proximity_domain;\n\tu32 acpi_processor_uid;\n\tu32 flags;\n\tu32 clock_domain;\n} __attribute__((packed));\n\nstruct acpi_srat_mem_affinity {\n\tstruct acpi_subtable_header header;\n\tu32 proximity_domain;\n\tu16 reserved;\n\tu64 base_address;\n\tu64 length;\n\tu32 reserved1;\n\tu32 flags;\n\tu64 reserved2;\n} __attribute__((packed));\n\nstruct acpi_srat_rintc_affinity {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 proximity_domain;\n\tu32 acpi_processor_uid;\n\tu32 flags;\n\tu32 clock_domain;\n};\n\nstruct acpi_srat_x2apic_cpu_affinity {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 proximity_domain;\n\tu32 apic_id;\n\tu32 flags;\n\tu32 clock_domain;\n\tu32 reserved2;\n};\n\nstruct acpi_subtable_entry {\n\tunion acpi_subtable_headers *hdr;\n\tenum acpi_subtable_type type;\n};\n\nunion acpi_subtable_headers {\n\tstruct acpi_subtable_header common;\n\tstruct acpi_hmat_structure hmat;\n\tstruct acpi_prmt_module_header prmt;\n\tstruct acpi_cedt_header cedt;\n\tstruct acpi_cdat_header cdat;\n};\n\ntypedef int (*acpi_tbl_entry_handler_arg)(union acpi_subtable_headers *, void *, const long unsigned int);\n\nstruct acpi_subtable_proc {\n\tint id;\n\tacpi_tbl_entry_handler handler;\n\tacpi_tbl_entry_handler_arg handler_arg;\n\tvoid *arg;\n\tint count;\n};\n\nstruct acpi_table_header {\n\tchar signature[4];\n\tu32 length;\n\tu8 revision;\n\tu8 checksum;\n\tchar oem_id[6];\n\tchar oem_table_id[8];\n\tu32 oem_revision;\n\tchar asl_compiler_id[4];\n\tu32 asl_compiler_revision;\n};\n\nstruct acpi_table_apmt {\n\tstruct acpi_table_header header;\n};\n\nstruct acpi_table_attr {\n\tstruct bin_attribute attr;\n\tchar name[4];\n\tint instance;\n\tchar filename[8];\n\tstruct list_head node;\n};\n\nstruct acpi_table_bert {\n\tstruct acpi_table_header header;\n\tu32 region_length;\n\tu64 address;\n};\n\nstruct acpi_table_ccel {\n\tstruct acpi_table_header header;\n\tu8 CCtype;\n\tu8 Ccsub_type;\n\tu16 reserved;\n\tu64 log_area_minimum_length;\n\tu64 log_area_start_address;\n};\n\nstruct acpi_table_cdat {\n\tu32 length;\n\tu8 revision;\n\tu8 checksum;\n\tu8 reserved[6];\n\tu32 sequence;\n};\n\nstruct acpi_table_csrt {\n\tstruct acpi_table_header header;\n};\n\nstruct acpi_table_desc {\n\tacpi_physical_address address;\n\tstruct acpi_table_header *pointer;\n\tu32 length;\n\tunion acpi_name_union signature;\n\tacpi_owner_id owner_id;\n\tu8 flags;\n\tu16 validation_count;\n};\n\nstruct acpi_table_einj {\n\tstruct acpi_table_header header;\n\tu32 header_length;\n\tu8 flags;\n\tu8 reserved[3];\n\tu32 entries;\n};\n\nstruct acpi_table_erst {\n\tstruct acpi_table_header header;\n\tu32 header_length;\n\tu32 reserved;\n\tu32 entries;\n};\n\nstruct acpi_table_facs {\n\tchar signature[4];\n\tu32 length;\n\tu32 hardware_signature;\n\tu32 firmware_waking_vector;\n\tu32 global_lock;\n\tu32 flags;\n\tu64 xfirmware_waking_vector;\n\tu8 version;\n\tu8 reserved[3];\n\tu32 ospm_flags;\n\tu8 reserved1[24];\n};\n\nstruct acpi_table_fadt {\n\tstruct acpi_table_header header;\n\tu32 facs;\n\tu32 dsdt;\n\tu8 model;\n\tu8 preferred_profile;\n\tu16 sci_interrupt;\n\tu32 smi_command;\n\tu8 acpi_enable;\n\tu8 acpi_disable;\n\tu8 s4_bios_request;\n\tu8 pstate_control;\n\tu32 pm1a_event_block;\n\tu32 pm1b_event_block;\n\tu32 pm1a_control_block;\n\tu32 pm1b_control_block;\n\tu32 pm2_control_block;\n\tu32 pm_timer_block;\n\tu32 gpe0_block;\n\tu32 gpe1_block;\n\tu8 pm1_event_length;\n\tu8 pm1_control_length;\n\tu8 pm2_control_length;\n\tu8 pm_timer_length;\n\tu8 gpe0_block_length;\n\tu8 gpe1_block_length;\n\tu8 gpe1_base;\n\tu8 cst_control;\n\tu16 c2_latency;\n\tu16 c3_latency;\n\tu16 flush_size;\n\tu16 flush_stride;\n\tu8 duty_offset;\n\tu8 duty_width;\n\tu8 day_alarm;\n\tu8 month_alarm;\n\tu8 century;\n\tu16 boot_flags;\n\tu8 reserved;\n\tu32 flags;\n\tstruct acpi_generic_address reset_register;\n\tu8 reset_value;\n\tu16 arm_boot_flags;\n\tu8 minor_revision;\n\tu64 Xfacs;\n\tu64 Xdsdt;\n\tstruct acpi_generic_address xpm1a_event_block;\n\tstruct acpi_generic_address xpm1b_event_block;\n\tstruct acpi_generic_address xpm1a_control_block;\n\tstruct acpi_generic_address xpm1b_control_block;\n\tstruct acpi_generic_address xpm2_control_block;\n\tstruct acpi_generic_address xpm_timer_block;\n\tstruct acpi_generic_address xgpe0_block;\n\tstruct acpi_generic_address xgpe1_block;\n\tstruct acpi_generic_address sleep_control;\n\tstruct acpi_generic_address sleep_status;\n\tu64 hypervisor_id;\n} __attribute__((packed));\n\nstruct acpi_table_gtdt {\n\tstruct acpi_table_header header;\n\tu64 counter_block_addresss;\n\tu32 reserved;\n\tu32 secure_el1_interrupt;\n\tu32 secure_el1_flags;\n\tu32 non_secure_el1_interrupt;\n\tu32 non_secure_el1_flags;\n\tu32 virtual_timer_interrupt;\n\tu32 virtual_timer_flags;\n\tu32 non_secure_el2_interrupt;\n\tu32 non_secure_el2_flags;\n\tu64 counter_read_block_address;\n\tu32 platform_timer_count;\n\tu32 platform_timer_offset;\n} __attribute__((packed));\n\nstruct acpi_table_hest {\n\tstruct acpi_table_header header;\n\tu32 error_source_count;\n};\n\nstruct acpi_table_iort {\n\tstruct acpi_table_header header;\n\tu32 node_count;\n\tu32 node_offset;\n\tu32 reserved;\n};\n\nstruct acpi_table_list {\n\tstruct acpi_table_desc *tables;\n\tu32 current_table_count;\n\tu32 max_table_count;\n\tu8 flags;\n};\n\nstruct acpi_table_madt {\n\tstruct acpi_table_header header;\n\tu32 address;\n\tu32 flags;\n};\n\nstruct acpi_table_mcfg {\n\tstruct acpi_table_header header;\n\tu8 reserved[8];\n};\n\nstruct acpi_table_pcct {\n\tstruct acpi_table_header header;\n\tu32 flags;\n\tu64 reserved;\n};\n\nstruct acpi_table_rsdp {\n\tchar signature[8];\n\tu8 checksum;\n\tchar oem_id[6];\n\tu8 revision;\n\tu32 rsdt_physical_address;\n\tu32 length;\n\tu64 xsdt_physical_address;\n\tu8 extended_checksum;\n\tu8 reserved[3];\n} __attribute__((packed));\n\nstruct acpi_table_slit {\n\tstruct acpi_table_header header;\n\tu64 locality_count;\n\tu8 entry[0];\n} __attribute__((packed));\n\nstruct acpi_table_spcr {\n\tstruct acpi_table_header header;\n\tu8 interface_type;\n\tu8 reserved[3];\n\tstruct acpi_generic_address serial_port;\n\tu8 interrupt_type;\n\tu8 pc_interrupt;\n\tu32 interrupt;\n\tu8 baud_rate;\n\tu8 parity;\n\tu8 stop_bits;\n\tu8 flow_control;\n\tu8 terminal_type;\n\tu8 language;\n\tu16 pci_device_id;\n\tu16 pci_vendor_id;\n\tu8 pci_bus;\n\tu8 pci_device;\n\tu8 pci_function;\n\tu32 pci_flags;\n\tu8 pci_segment;\n\tu32 uart_clk_freq;\n\tu32 precise_baudrate;\n\tu16 name_space_string_length;\n\tu16 name_space_string_offset;\n\tchar name_space_string[0];\n} __attribute__((packed));\n\nstruct acpi_table_srat {\n\tstruct acpi_table_header header;\n\tu32 table_revision;\n\tu64 reserved;\n};\n\nstruct acpi_table_stao {\n\tstruct acpi_table_header header;\n\tu8 ignore_uart;\n} __attribute__((packed));\n\nstruct acpi_table_tpm2 {\n\tstruct acpi_table_header header;\n\tu16 platform_class;\n\tu16 reserved;\n\tu64 control_address;\n\tu32 start_method;\n} __attribute__((packed));\n\nstruct client_hdr {\n\tu32 log_max_len;\n\tu64 log_start_addr;\n} __attribute__((packed));\n\nstruct server_hdr {\n\tu16 reserved;\n\tu64 log_max_len;\n\tu64 log_start_addr;\n} __attribute__((packed));\n\nstruct acpi_tcpa {\n\tstruct acpi_table_header hdr;\n\tu16 platform_class;\n\tunion {\n\t\tstruct client_hdr client;\n\t\tstruct server_hdr server;\n\t};\n};\n\nstruct acpi_thermal_trip {\n\tlong unsigned int temp_dk;\n\tstruct acpi_handle_list devices;\n};\n\nstruct acpi_thermal_passive {\n\tstruct acpi_thermal_trip trip;\n\tlong unsigned int tc1;\n\tlong unsigned int tc2;\n\tlong unsigned int delay;\n};\n\nstruct acpi_thermal_active {\n\tstruct acpi_thermal_trip trip;\n};\n\nstruct acpi_thermal_trips {\n\tstruct acpi_thermal_passive passive;\n\tstruct acpi_thermal_active active[10];\n};\n\nstruct thermal_zone_device;\n\nstruct acpi_thermal {\n\tstruct acpi_device *device;\n\tacpi_bus_id name;\n\tlong unsigned int temp_dk;\n\tlong unsigned int last_temp_dk;\n\tlong unsigned int polling_frequency;\n\tvolatile u8 zombie;\n\tstruct acpi_thermal_trips trips;\n\tstruct thermal_zone_device *thermal_zone;\n\tint kelvin_offset;\n\tstruct work_struct thermal_check_work;\n\tstruct mutex thermal_check_lock;\n\trefcount_t thermal_check_count;\n};\n\nstruct acpi_tpm2_phy {\n\tu8 start_method_specific[12];\n\tu32 log_area_minimum_length;\n\tu64 log_area_start_address;\n};\n\nstruct acpi_vendor_uuid {\n\tu8 subtype;\n\tu8 data[16];\n};\n\nstruct acpi_vendor_walk_info {\n\tstruct acpi_vendor_uuid *uuid;\n\tstruct acpi_buffer *buffer;\n\tacpi_status status;\n};\n\nstruct acpi_wakeup_handler {\n\tstruct list_head list_node;\n\tbool (*wakeup)(void *);\n\tvoid *context;\n};\n\ntypedef acpi_status (*acpi_parse_downwards)(struct acpi_walk_state *, union acpi_parse_object **);\n\ntypedef acpi_status (*acpi_parse_upwards)(struct acpi_walk_state *);\n\nstruct acpi_walk_state {\n\tstruct acpi_walk_state *next;\n\tu8 descriptor_type;\n\tu8 walk_type;\n\tu16 opcode;\n\tu8 next_op_info;\n\tu8 num_operands;\n\tu8 operand_index;\n\tacpi_owner_id owner_id;\n\tu8 last_predicate;\n\tu8 current_result;\n\tu8 return_used;\n\tu8 scope_depth;\n\tu8 pass_number;\n\tu8 namespace_override;\n\tu8 result_size;\n\tu8 result_count;\n\tu8 *aml;\n\tu32 arg_types;\n\tu32 method_breakpoint;\n\tu32 user_breakpoint;\n\tu32 parse_flags;\n\tstruct acpi_parse_state parser_state;\n\tu32 prev_arg_types;\n\tu32 arg_count;\n\tu16 method_nesting_depth;\n\tu8 method_is_nested;\n\tstruct acpi_namespace_node arguments[7];\n\tstruct acpi_namespace_node local_variables[8];\n\tunion acpi_operand_object *operands[9];\n\tunion acpi_operand_object **params;\n\tu8 *aml_last_while;\n\tunion acpi_operand_object **caller_return_desc;\n\tunion acpi_generic_state *control_state;\n\tstruct acpi_namespace_node *deferred_node;\n\tunion acpi_operand_object *implicit_return_obj;\n\tstruct acpi_namespace_node *method_call_node;\n\tunion acpi_parse_object *method_call_op;\n\tunion acpi_operand_object *method_desc;\n\tstruct acpi_namespace_node *method_node;\n\tchar *method_pathname;\n\tunion acpi_parse_object *op;\n\tconst struct acpi_opcode_info *op_info;\n\tunion acpi_parse_object *origin;\n\tunion acpi_operand_object *result_obj;\n\tunion acpi_generic_state *results;\n\tunion acpi_operand_object *return_desc;\n\tunion acpi_generic_state *scope_info;\n\tunion acpi_parse_object *prev_op;\n\tunion acpi_parse_object *next_op;\n\tstruct acpi_thread_state *thread;\n\tacpi_parse_downwards descending_callback;\n\tacpi_parse_upwards ascending_callback;\n};\n\nstruct acpi_whea_header {\n\tu8 action;\n\tu8 instruction;\n\tu8 flags;\n\tu8 reserved;\n\tstruct acpi_generic_address register_region;\n\tu64 value;\n\tu64 mask;\n};\n\nstruct hotplug_slot;\n\nstruct acpiphp_attention_info {\n\tint (*set_attn)(struct hotplug_slot *, u8);\n\tint (*get_attn)(struct hotplug_slot *, u8 *);\n\tstruct module *owner;\n};\n\nstruct acpiphp_context;\n\nstruct pci_dev;\n\nstruct acpiphp_bridge {\n\tstruct list_head list;\n\tstruct list_head slots;\n\tstruct kref ref;\n\tstruct acpiphp_context *context;\n\tint nr_slots;\n\tstruct pci_bus *pci_bus;\n\tstruct pci_dev *pci_dev;\n\tbool is_going_away;\n};\n\nstruct acpiphp_slot;\n\nstruct acpiphp_func {\n\tstruct acpiphp_bridge *parent;\n\tstruct acpiphp_slot *slot;\n\tstruct list_head sibling;\n\tu8 function;\n\tu32 flags;\n};\n\nstruct acpiphp_context {\n\tstruct acpi_hotplug_context hp;\n\tstruct acpiphp_func func;\n\tstruct acpiphp_bridge *bridge;\n\tunsigned int refcount;\n};\n\nstruct acpiphp_root_context {\n\tstruct acpi_hotplug_context hp;\n\tstruct acpiphp_bridge *root_bridge;\n};\n\nstruct slot;\n\nstruct acpiphp_slot {\n\tstruct list_head node;\n\tstruct pci_bus *bus;\n\tstruct list_head funcs;\n\tstruct slot *slot;\n\tu8 device;\n\tu32 flags;\n};\n\nstruct pnp_dev;\n\nstruct acpipnp_parse_option_s {\n\tstruct pnp_dev *dev;\n\tunsigned int option_flags;\n};\n\nstruct action_cache {\n\tlong unsigned int allow_native[8];\n\tlong unsigned int allow_compat[8];\n};\n\nstruct action_devres {\n\tvoid *data;\n\tvoid (*action)(void *);\n};\n\nstruct action_gate_entry {\n\tu8 gate_state;\n\tu32 interval;\n\ts32 ipv;\n\ts32 maxoctets;\n};\n\nstruct action_ops {\n\tint (*pre_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tint (*do_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tvoid (*undo_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tvoid (*post_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n};\n\nstruct actions_fwd {\n\tu64 actions;\n\tu64 keys;\n\tenum forward_type output;\n};\n\nstruct rw_semaphore {\n\tatomic_long_t count;\n\tatomic_long_t owner;\n\tstruct optimistic_spin_queue osq;\n\traw_spinlock_t wait_lock;\n\tstruct list_head wait_list;\n};\n\nstruct rb_root {\n\tstruct rb_node *rb_node;\n};\n\nstruct rb_root_cached {\n\tstruct rb_root rb_root;\n\tstruct rb_node *rb_leftmost;\n};\n\nstruct address_space_operations;\n\nstruct address_space {\n\tstruct inode *host;\n\tstruct xarray i_pages;\n\tstruct rw_semaphore invalidate_lock;\n\tgfp_t gfp_mask;\n\tatomic_t i_mmap_writable;\n\tstruct rb_root_cached i_mmap;\n\tlong unsigned int nrpages;\n\tlong unsigned int writeback_index;\n\tconst struct address_space_operations *a_ops;\n\tlong unsigned int flags;\n\terrseq_t wb_err;\n\tspinlock_t i_private_lock;\n\tstruct list_head i_private_list;\n\tstruct rw_semaphore i_mmap_rwsem;\n\tvoid *i_private_data;\n};\n\nstruct page;\n\nstruct writeback_control;\n\nstruct readahead_control;\n\nstruct kiocb;\n\nstruct iov_iter;\n\nstruct swap_info_struct;\n\nstruct address_space_operations {\n\tint (*writepage)(struct page *, struct writeback_control *);\n\tint (*read_folio)(struct file *, struct folio *);\n\tint (*writepages)(struct address_space *, struct writeback_control *);\n\tbool (*dirty_folio)(struct address_space *, struct folio *);\n\tvoid (*readahead)(struct readahead_control *);\n\tint (*write_begin)(struct file *, struct address_space *, loff_t, unsigned int, struct folio **, void **);\n\tint (*write_end)(struct file *, struct address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *);\n\tsector_t (*bmap)(struct address_space *, sector_t);\n\tvoid (*invalidate_folio)(struct folio *, size_t, size_t);\n\tbool (*release_folio)(struct folio *, gfp_t);\n\tvoid (*free_folio)(struct folio *);\n\tssize_t (*direct_IO)(struct kiocb *, struct iov_iter *);\n\tint (*migrate_folio)(struct address_space *, struct folio *, struct folio *, enum migrate_mode);\n\tint (*launder_folio)(struct folio *);\n\tbool (*is_partially_uptodate)(struct folio *, size_t, size_t);\n\tvoid (*is_dirty_writeback)(struct folio *, bool *, bool *);\n\tint (*error_remove_folio)(struct address_space *, struct folio *);\n\tint (*swap_activate)(struct swap_info_struct *, struct file *, sector_t *);\n\tvoid (*swap_deactivate)(struct file *);\n\tint (*swap_rw)(struct kiocb *, struct iov_iter *);\n};\n\nstruct adjust_trip_data {\n\tstruct acpi_thermal *tz;\n\tu32 event;\n};\n\nstruct dma_device;\n\nstruct dma_chan_dev;\n\nstruct dma_chan_percpu;\n\nstruct dma_router;\n\nstruct dma_chan {\n\tstruct dma_device *device;\n\tstruct device *slave;\n\tdma_cookie_t cookie;\n\tdma_cookie_t completed_cookie;\n\tint chan_id;\n\tstruct dma_chan_dev *dev;\n\tconst char *name;\n\tchar *dbg_client_name;\n\tstruct list_head device_node;\n\tstruct dma_chan_percpu *local;\n\tint client_count;\n\tint table_count;\n\tstruct dma_router *router;\n\tvoid *route_data;\n\tvoid *private;\n};\n\nstruct tasklet_struct {\n\tstruct tasklet_struct *next;\n\tlong unsigned int state;\n\tatomic_t count;\n\tbool use_callback;\n\tunion {\n\t\tvoid (*func)(long unsigned int);\n\t\tvoid (*callback)(struct tasklet_struct *);\n\t};\n\tlong unsigned int data;\n};\n\nstruct admac_data;\n\nstruct admac_tx;\n\nstruct admac_chan {\n\tunsigned int no;\n\tstruct admac_data *host;\n\tstruct dma_chan chan;\n\tstruct tasklet_struct tasklet;\n\tu32 carveout;\n\tspinlock_t lock;\n\tstruct admac_tx *current_tx;\n\tint nperiod_acks;\n\tstruct list_head submitted;\n\tstruct list_head issued;\n\tstruct list_head to_free;\n};\n\nstruct dma_slave_map;\n\nstruct dma_filter {\n\tdma_filter_fn fn;\n\tint mapcnt;\n\tconst struct dma_slave_map *map;\n};\n\nstruct dma_async_tx_descriptor;\n\nstruct dma_vec;\n\nstruct dma_interleaved_template;\n\nstruct dma_slave_caps;\n\nstruct dma_slave_config;\n\nstruct dma_tx_state;\n\nstruct seq_file;\n\nstruct dma_device {\n\tstruct kref ref;\n\tunsigned int chancnt;\n\tunsigned int privatecnt;\n\tstruct list_head channels;\n\tstruct list_head global_node;\n\tstruct dma_filter filter;\n\tdma_cap_mask_t cap_mask;\n\tenum dma_desc_metadata_mode desc_metadata_modes;\n\tshort unsigned int max_xor;\n\tshort unsigned int max_pq;\n\tenum dmaengine_alignment copy_align;\n\tenum dmaengine_alignment xor_align;\n\tenum dmaengine_alignment pq_align;\n\tenum dmaengine_alignment fill_align;\n\tint dev_id;\n\tstruct device *dev;\n\tstruct module *owner;\n\tstruct ida chan_ida;\n\tu32 src_addr_widths;\n\tu32 dst_addr_widths;\n\tu32 directions;\n\tu32 min_burst;\n\tu32 max_burst;\n\tu32 max_sg_burst;\n\tbool descriptor_reuse;\n\tenum dma_residue_granularity residue_granularity;\n\tint (*device_alloc_chan_resources)(struct dma_chan *);\n\tint (*device_router_config)(struct dma_chan *);\n\tvoid (*device_free_chan_resources)(struct dma_chan *);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memcpy)(struct dma_chan *, dma_addr_t, dma_addr_t, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_xor)(struct dma_chan *, dma_addr_t, dma_addr_t *, unsigned int, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_xor_val)(struct dma_chan *, dma_addr_t *, unsigned int, size_t, enum sum_check_flags *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_pq)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_pq_val)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, enum sum_check_flags *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memset)(struct dma_chan *, dma_addr_t, int, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memset_sg)(struct dma_chan *, struct scatterlist *, unsigned int, int, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_interrupt)(struct dma_chan *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_peripheral_dma_vec)(struct dma_chan *, const struct dma_vec *, size_t, enum dma_transfer_direction, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_slave_sg)(struct dma_chan *, struct scatterlist *, unsigned int, enum dma_transfer_direction, long unsigned int, void *);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_cyclic)(struct dma_chan *, dma_addr_t, size_t, size_t, enum dma_transfer_direction, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_interleaved_dma)(struct dma_chan *, struct dma_interleaved_template *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_imm_data)(struct dma_chan *, dma_addr_t, u64, long unsigned int);\n\tvoid (*device_caps)(struct dma_chan *, struct dma_slave_caps *);\n\tint (*device_config)(struct dma_chan *, struct dma_slave_config *);\n\tint (*device_pause)(struct dma_chan *);\n\tint (*device_resume)(struct dma_chan *);\n\tint (*device_terminate_all)(struct dma_chan *);\n\tvoid (*device_synchronize)(struct dma_chan *);\n\tenum dma_status (*device_tx_status)(struct dma_chan *, dma_cookie_t, struct dma_tx_state *);\n\tvoid (*device_issue_pending)(struct dma_chan *);\n\tvoid (*device_release)(struct dma_device *);\n\tvoid (*dbg_summary_show)(struct seq_file *, struct dma_device *);\n\tstruct dentry *dbg_dev_root;\n};\n\nstruct admac_sram {\n\tu32 size;\n\tu32 allocated;\n};\n\nstruct reset_control;\n\nstruct admac_data {\n\tstruct dma_device dma;\n\tstruct device *dev;\n\tvoid *base;\n\tstruct reset_control *rstc;\n\tstruct mutex cache_alloc_lock;\n\tstruct admac_sram txcache;\n\tstruct admac_sram rxcache;\n\tint irq;\n\tint irq_index;\n\tint nchannels;\n\tstruct admac_chan channels[0];\n};\n\ntypedef void (*dma_async_tx_callback)(void *);\n\nstruct dmaengine_result;\n\ntypedef void (*dma_async_tx_callback_result)(void *, const struct dmaengine_result *);\n\nstruct dmaengine_unmap_data;\n\nstruct dma_descriptor_metadata_ops;\n\nstruct dma_async_tx_descriptor {\n\tdma_cookie_t cookie;\n\tenum dma_ctrl_flags flags;\n\tdma_addr_t phys;\n\tstruct dma_chan *chan;\n\tdma_cookie_t (*tx_submit)(struct dma_async_tx_descriptor *);\n\tint (*desc_free)(struct dma_async_tx_descriptor *);\n\tdma_async_tx_callback callback;\n\tdma_async_tx_callback_result callback_result;\n\tvoid *callback_param;\n\tstruct dmaengine_unmap_data *unmap;\n\tenum dma_desc_metadata_mode desc_metadata_mode;\n\tstruct dma_descriptor_metadata_ops *metadata_ops;\n\tstruct dma_async_tx_descriptor *next;\n\tstruct dma_async_tx_descriptor *parent;\n\tspinlock_t lock;\n};\n\nstruct admac_tx {\n\tstruct dma_async_tx_descriptor tx;\n\tbool cyclic;\n\tdma_addr_t buf_addr;\n\tdma_addr_t buf_end;\n\tsize_t buf_len;\n\tsize_t period_len;\n\tsize_t submitted_pos;\n\tsize_t reclaimed_pos;\n\tstruct list_head node;\n};\n\nstruct adreno_smmu_fault_info {\n\tu64 far;\n\tu64 ttbr0;\n\tu32 contextidr;\n\tu32 fsr;\n\tu32 fsynr0;\n\tu32 fsynr1;\n\tu32 cbfrsynra;\n};\n\nstruct io_pgtable_cfg;\n\nstruct adreno_smmu_priv {\n\tconst void *cookie;\n\tconst struct io_pgtable_cfg * (*get_ttbr1_cfg)(const void *);\n\tint (*set_ttbr0_cfg)(const void *, const struct io_pgtable_cfg *);\n\tvoid (*get_fault_info)(const void *, struct adreno_smmu_fault_info *);\n\tvoid (*set_stall)(const void *, bool);\n\tvoid (*resume_translation)(const void *, bool);\n\tvoid (*set_prr_bit)(const void *, bool);\n\tvoid (*set_prr_addr)(const void *, phys_addr_t);\n};\n\nstruct advisor_ctx {\n\tktime_t start_scan;\n\tlong unsigned int scan_time;\n\tlong unsigned int change;\n\tlong long unsigned int cpu_time;\n};\n\nstruct irq_data;\n\nstruct msi_msg;\n\nstruct irq_chip {\n\tconst char *name;\n\tunsigned int (*irq_startup)(struct irq_data *);\n\tvoid (*irq_shutdown)(struct irq_data *);\n\tvoid (*irq_enable)(struct irq_data *);\n\tvoid (*irq_disable)(struct irq_data *);\n\tvoid (*irq_ack)(struct irq_data *);\n\tvoid (*irq_mask)(struct irq_data *);\n\tvoid (*irq_mask_ack)(struct irq_data *);\n\tvoid (*irq_unmask)(struct irq_data *);\n\tvoid (*irq_eoi)(struct irq_data *);\n\tint (*irq_set_affinity)(struct irq_data *, const struct cpumask *, bool);\n\tint (*irq_retrigger)(struct irq_data *);\n\tint (*irq_set_type)(struct irq_data *, unsigned int);\n\tint (*irq_set_wake)(struct irq_data *, unsigned int);\n\tvoid (*irq_bus_lock)(struct irq_data *);\n\tvoid (*irq_bus_sync_unlock)(struct irq_data *);\n\tvoid (*irq_suspend)(struct irq_data *);\n\tvoid (*irq_resume)(struct irq_data *);\n\tvoid (*irq_pm_shutdown)(struct irq_data *);\n\tvoid (*irq_calc_mask)(struct irq_data *);\n\tvoid (*irq_print_chip)(struct irq_data *, struct seq_file *);\n\tint (*irq_request_resources)(struct irq_data *);\n\tvoid (*irq_release_resources)(struct irq_data *);\n\tvoid (*irq_compose_msi_msg)(struct irq_data *, struct msi_msg *);\n\tvoid (*irq_write_msi_msg)(struct irq_data *, struct msi_msg *);\n\tint (*irq_get_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool *);\n\tint (*irq_set_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool);\n\tint (*irq_set_vcpu_affinity)(struct irq_data *, void *);\n\tvoid (*ipi_send_single)(struct irq_data *, unsigned int);\n\tvoid (*ipi_send_mask)(struct irq_data *, const struct cpumask *);\n\tint (*irq_nmi_setup)(struct irq_data *);\n\tvoid (*irq_nmi_teardown)(struct irq_data *);\n\tlong unsigned int flags;\n};\n\nstruct pci_bridge_emul_conf {\n\t__le16 vendor;\n\t__le16 device;\n\t__le16 command;\n\t__le16 status;\n\t__le32 class_revision;\n\tu8 cache_line_size;\n\tu8 latency_timer;\n\tu8 header_type;\n\tu8 bist;\n\t__le32 bar[2];\n\tu8 primary_bus;\n\tu8 secondary_bus;\n\tu8 subordinate_bus;\n\tu8 secondary_latency_timer;\n\tu8 iobase;\n\tu8 iolimit;\n\t__le16 secondary_status;\n\t__le16 membase;\n\t__le16 memlimit;\n\t__le16 pref_mem_base;\n\t__le16 pref_mem_limit;\n\t__le32 prefbaseupper;\n\t__le32 preflimitupper;\n\t__le16 iobaseupper;\n\t__le16 iolimitupper;\n\tu8 capabilities_pointer;\n\tu8 reserve[3];\n\t__le32 romaddr;\n\tu8 intline;\n\tu8 intpin;\n\t__le16 bridgectrl;\n};\n\nstruct pci_bridge_emul_pcie_conf {\n\tu8 cap_id;\n\tu8 next;\n\t__le16 cap;\n\t__le32 devcap;\n\t__le16 devctl;\n\t__le16 devsta;\n\t__le32 lnkcap;\n\t__le16 lnkctl;\n\t__le16 lnksta;\n\t__le32 slotcap;\n\t__le16 slotctl;\n\t__le16 slotsta;\n\t__le16 rootctl;\n\t__le16 rootcap;\n\t__le32 rootsta;\n\t__le32 devcap2;\n\t__le16 devctl2;\n\t__le16 devsta2;\n\t__le32 lnkcap2;\n\t__le16 lnkctl2;\n\t__le16 lnksta2;\n\t__le32 slotcap2;\n\t__le16 slotctl2;\n\t__le16 slotsta2;\n};\n\nstruct pci_bridge_emul_ops;\n\nstruct pci_bridge_reg_behavior;\n\nstruct pci_bridge_emul {\n\tstruct pci_bridge_emul_conf conf;\n\tstruct pci_bridge_emul_pcie_conf pcie_conf;\n\tconst struct pci_bridge_emul_ops *ops;\n\tstruct pci_bridge_reg_behavior *pci_regs_behavior;\n\tstruct pci_bridge_reg_behavior *pcie_cap_regs_behavior;\n\tvoid *data;\n\tu8 pcie_start;\n\tu8 ssid_start;\n\tbool has_pcie;\n\tu16 subsystem_vendor_id;\n\tu16 subsystem_id;\n};\n\nstruct platform_device;\n\nstruct phy;\n\nstruct advk_pcie {\n\tstruct platform_device *pdev;\n\tvoid *base;\n\tstruct {\n\t\tphys_addr_t match;\n\t\tphys_addr_t remap;\n\t\tphys_addr_t mask;\n\t\tu32 actions;\n\t} wins[8];\n\tu8 wins_count;\n\tstruct irq_domain *rp_irq_domain;\n\tstruct irq_domain *irq_domain;\n\tstruct irq_chip irq_chip;\n\traw_spinlock_t irq_lock;\n\tstruct irq_domain *msi_domain;\n\tstruct irq_domain *msi_inner_domain;\n\traw_spinlock_t msi_irq_lock;\n\tlong unsigned int msi_used[1];\n\tstruct mutex msi_used_lock;\n\tint link_gen;\n\tstruct pci_bridge_emul bridge;\n\tstruct gpio_desc *reset_gpio;\n\tstruct phy *phy;\n};\n\nstruct crypto_aead;\n\nstruct aead_request;\n\nstruct aead_alg {\n\tint (*setkey)(struct crypto_aead *, const u8 *, unsigned int);\n\tint (*setauthsize)(struct crypto_aead *, unsigned int);\n\tint (*encrypt)(struct aead_request *);\n\tint (*decrypt)(struct aead_request *);\n\tint (*init)(struct crypto_aead *);\n\tvoid (*exit)(struct crypto_aead *);\n\tunsigned int ivsize;\n\tunsigned int maxauthsize;\n\tunsigned int chunksize;\n\tstruct crypto_alg base;\n};\n\nstruct crypto_sync_skcipher;\n\nstruct aead_geniv_ctx {\n\tspinlock_t lock;\n\tstruct crypto_aead *child;\n\tstruct crypto_sync_skcipher *sknull;\n\tu8 salt[0];\n};\n\nstruct crypto_template;\n\nstruct crypto_spawn;\n\nstruct crypto_instance {\n\tstruct crypto_alg alg;\n\tstruct crypto_template *tmpl;\n\tunion {\n\t\tstruct hlist_node list;\n\t\tstruct crypto_spawn *spawns;\n\t};\n\tstruct work_struct free_work;\n\tvoid *__ctx[0];\n};\n\nstruct aead_instance {\n\tvoid (*free)(struct aead_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[64];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct aead_alg alg;\n\t};\n};\n\nstruct aead_request {\n\tstruct crypto_async_request base;\n\tunsigned int assoclen;\n\tunsigned int cryptlen;\n\tu8 *iv;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tvoid *__ctx[0];\n};\n\nstruct pcie_tlp_log {\n\tu32 dw[4];\n\tu32 prefix[4];\n};\n\nstruct aer_capability_regs {\n\tu32 header;\n\tu32 uncor_status;\n\tu32 uncor_mask;\n\tu32 uncor_severity;\n\tu32 cor_status;\n\tu32 cor_mask;\n\tu32 cap_control;\n\tstruct pcie_tlp_log header_log;\n\tu32 root_command;\n\tu32 root_status;\n\tu16 cor_err_source;\n\tu16 uncor_err_source;\n};\n\nstruct aer_err_info {\n\tstruct pci_dev *dev[5];\n\tint error_dev_num;\n\tunsigned int id: 16;\n\tunsigned int severity: 2;\n\tunsigned int __pad1: 5;\n\tunsigned int multi_error_valid: 1;\n\tunsigned int first_error: 5;\n\tunsigned int __pad2: 2;\n\tunsigned int tlp_header_valid: 1;\n\tunsigned int status;\n\tunsigned int mask;\n\tstruct pcie_tlp_log tlp;\n};\n\nstruct aer_err_source {\n\tu32 status;\n\tu32 id;\n};\n\nstruct aer_recover_entry {\n\tu8 bus;\n\tu8 devfn;\n\tu16 domain;\n\tint severity;\n\tstruct aer_capability_regs *regs;\n};\n\nstruct aer_rpc {\n\tstruct pci_dev *rpd;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct aer_err_source *type;\n\t\t\tconst struct aer_err_source *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct aer_err_source *ptr;\n\t\t\tconst struct aer_err_source *ptr_const;\n\t\t};\n\t\tstruct aer_err_source buf[128];\n\t} aer_fifo;\n};\n\nstruct aer_stats {\n\tu64 dev_cor_errs[16];\n\tu64 dev_fatal_errs[27];\n\tu64 dev_nonfatal_errs[27];\n\tu64 dev_total_cor_errs;\n\tu64 dev_total_fatal_errs;\n\tu64 dev_total_nonfatal_errs;\n\tu64 rootport_total_cor_errs;\n\tu64 rootport_total_fatal_errs;\n\tu64 rootport_total_nonfatal_errs;\n};\n\nstruct aes_block {\n\tu8 b[16];\n};\n\nstruct affinity_context {\n\tconst struct cpumask *new_mask;\n\tstruct cpumask *user_mask;\n\tunsigned int flags;\n};\n\ntypedef void (*event_cb_func_t)(const u32 *, void *);\n\nstruct agent_cb {\n\tvoid *agent_data;\n\tevent_cb_func_t eve_cb;\n\tstruct list_head list;\n};\n\nstruct aggregate_control {\n\tlong int *aggregate;\n\tlong int *local;\n\tlong int *pending;\n\tlong int *ppending;\n\tlong int *cstat;\n\tlong int *cstat_prev;\n\tint size;\n};\n\nstruct component_master_ops;\n\nstruct component_match;\n\nstruct aggregate_device {\n\tstruct list_head node;\n\tbool bound;\n\tconst struct component_master_ops *ops;\n\tstruct device *parent;\n\tstruct component_match *match;\n};\n\nstruct hash_alg_common {\n\tunsigned int digestsize;\n\tunsigned int statesize;\n\tstruct crypto_alg base;\n};\n\nstruct ahash_request;\n\nstruct crypto_ahash;\n\nstruct ahash_alg {\n\tint (*init)(struct ahash_request *);\n\tint (*update)(struct ahash_request *);\n\tint (*final)(struct ahash_request *);\n\tint (*finup)(struct ahash_request *);\n\tint (*digest)(struct ahash_request *);\n\tint (*export)(struct ahash_request *, void *);\n\tint (*import)(struct ahash_request *, const void *);\n\tint (*setkey)(struct crypto_ahash *, const u8 *, unsigned int);\n\tint (*init_tfm)(struct crypto_ahash *);\n\tvoid (*exit_tfm)(struct crypto_ahash *);\n\tint (*clone_tfm)(struct crypto_ahash *, struct crypto_ahash *);\n\tstruct hash_alg_common halg;\n};\n\nstruct ahash_instance {\n\tvoid (*free)(struct ahash_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[96];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct ahash_alg alg;\n\t};\n};\n\nstruct ahash_request {\n\tstruct crypto_async_request base;\n\tunsigned int nbytes;\n\tstruct scatterlist *src;\n\tu8 *result;\n\tvoid *priv;\n\tvoid *__ctx[0];\n};\n\nstruct ahci_cmd_hdr {\n\t__le32 opts;\n\t__le32 status;\n\t__le32 tbl_addr;\n\t__le32 tbl_addr_hi;\n\t__le32 reserved[4];\n};\n\nstruct timer_list {\n\tstruct hlist_node entry;\n\tlong unsigned int expires;\n\tvoid (*function)(struct timer_list *);\n\tu32 flags;\n};\n\nstruct ata_link;\n\nstruct ahci_em_priv {\n\tenum sw_activity blink_policy;\n\tstruct timer_list timer;\n\tlong unsigned int saved_activity;\n\tlong unsigned int activity;\n\tlong unsigned int led_state;\n\tstruct ata_link *link;\n};\n\nstruct clk_bulk_data;\n\nstruct regulator;\n\nstruct ata_port;\n\nstruct ata_host;\n\nstruct ahci_host_priv {\n\tunsigned int flags;\n\tu32 mask_port_map;\n\tvoid *mmio;\n\tu32 cap;\n\tu32 cap2;\n\tu32 version;\n\tu32 port_map;\n\tu32 saved_cap;\n\tu32 saved_cap2;\n\tu32 saved_port_map;\n\tu32 saved_port_cap[32];\n\tu32 em_loc;\n\tu32 em_buf_sz;\n\tu32 em_msg_type;\n\tu32 remapped_nvme;\n\tbool got_runtime_pm;\n\tunsigned int n_clks;\n\tstruct clk_bulk_data *clks;\n\tunsigned int f_rsts;\n\tstruct reset_control *rsts;\n\tstruct regulator **target_pwrs;\n\tstruct regulator *ahci_regulator;\n\tstruct regulator *phy_regulator;\n\tstruct phy **phys;\n\tunsigned int nports;\n\tvoid *plat_data;\n\tunsigned int irq;\n\tvoid (*start_engine)(struct ata_port *);\n\tint (*stop_engine)(struct ata_port *);\n\tirqreturn_t (*irq_handler)(int, void *);\n\tint (*get_irq_vector)(struct ata_host *, int);\n};\n\nstruct ahci_mvebu_plat_data {\n\tint (*plat_config)(struct ahci_host_priv *);\n\tunsigned int flags;\n};\n\nstruct ahci_port_priv {\n\tstruct ata_link *active_link;\n\tstruct ahci_cmd_hdr *cmd_slot;\n\tdma_addr_t cmd_slot_dma;\n\tvoid *cmd_tbl;\n\tdma_addr_t cmd_tbl_dma;\n\tvoid *rx_fis;\n\tdma_addr_t rx_fis_dma;\n\tunsigned int ncq_saw_d2h: 1;\n\tunsigned int ncq_saw_dmas: 1;\n\tunsigned int ncq_saw_sdb: 1;\n\tspinlock_t lock;\n\tu32 intr_mask;\n\tbool fbs_supported;\n\tbool fbs_enabled;\n\tint fbs_last_dev;\n\tstruct ahci_em_priv em_priv[15];\n\tchar *irq_desc;\n};\n\nstruct ccsr_ahci;\n\nstruct ahci_qoriq_priv {\n\tstruct ccsr_ahci *reg_base;\n\tenum ahci_qoriq_type type;\n\tvoid *ecc_addr;\n\tbool is_dmacoherent;\n};\n\nstruct ahci_sg {\n\t__le32 addr;\n\t__le32 addr_hi;\n\t__le32 reserved;\n\t__le32 flags_size;\n};\n\nstruct aic_info {\n\tint version;\n\tu32 event;\n\tu32 target_cpu;\n\tu32 irq_cfg;\n\tu32 sw_set;\n\tu32 sw_clr;\n\tu32 mask_set;\n\tu32 mask_clr;\n\tu32 die_stride;\n\tbool fast_ipi;\n\tbool local_fast_ipi;\n};\n\nstruct cpumask {\n\tlong unsigned int bits[8];\n};\n\ntypedef struct cpumask cpumask_t;\n\nstruct aic_irq_chip {\n\tvoid *base;\n\tvoid *event;\n\tstruct irq_domain *hw_domain;\n\tstruct {\n\t\tcpumask_t aff;\n\t} *fiq_aff[7];\n\tint nr_irq;\n\tint max_irq;\n\tint nr_die;\n\tint max_die;\n\tstruct aic_info info;\n};\n\nstruct wait_page_queue;\n\nstruct kiocb {\n\tstruct file *ki_filp;\n\tloff_t ki_pos;\n\tvoid (*ki_complete)(struct kiocb *, long int);\n\tvoid *private;\n\tint ki_flags;\n\tu16 ki_ioprio;\n\tunion {\n\t\tstruct wait_page_queue *ki_waitq;\n\t\tssize_t (*dio_complete)(void *);\n\t};\n};\n\nstruct cred;\n\nstruct fsync_iocb {\n\tstruct file *file;\n\tstruct work_struct work;\n\tbool datasync;\n\tstruct cred *creds;\n};\n\nstruct wait_queue_entry;\n\ntypedef int (*wait_queue_func_t)(struct wait_queue_entry *, unsigned int, int, void *);\n\nstruct wait_queue_entry {\n\tunsigned int flags;\n\tvoid *private;\n\twait_queue_func_t func;\n\tstruct list_head entry;\n};\n\nstruct poll_iocb {\n\tstruct file *file;\n\tstruct wait_queue_head *head;\n\t__poll_t events;\n\tbool cancelled;\n\tbool work_scheduled;\n\tbool work_need_resched;\n\tstruct wait_queue_entry wait;\n\tstruct work_struct work;\n};\n\ntypedef int kiocb_cancel_fn(struct kiocb *);\n\nstruct io_event {\n\t__u64 data;\n\t__u64 obj;\n\t__s64 res;\n\t__s64 res2;\n};\n\nstruct kioctx;\n\nstruct aio_kiocb {\n\tunion {\n\t\tstruct file *ki_filp;\n\t\tstruct kiocb rw;\n\t\tstruct fsync_iocb fsync;\n\t\tstruct poll_iocb poll;\n\t};\n\tstruct kioctx *ki_ctx;\n\tkiocb_cancel_fn *ki_cancel;\n\tstruct io_event ki_res;\n\tstruct list_head ki_list;\n\trefcount_t ki_refcnt;\n\tstruct eventfd_ctx *ki_eventfd;\n};\n\nstruct poll_table_struct;\n\ntypedef void (*poll_queue_proc)(struct file *, wait_queue_head_t *, struct poll_table_struct *);\n\nstruct poll_table_struct {\n\tpoll_queue_proc _qproc;\n\t__poll_t _key;\n};\n\nstruct aio_poll_table {\n\tstruct poll_table_struct pt;\n\tstruct aio_kiocb *iocb;\n\tbool queued;\n\tint error;\n};\n\nstruct aio_ring {\n\tunsigned int id;\n\tunsigned int nr;\n\tunsigned int head;\n\tunsigned int tail;\n\tunsigned int magic;\n\tunsigned int compat_features;\n\tunsigned int incompat_features;\n\tunsigned int header_length;\n\tstruct io_event io_events[0];\n};\n\nstruct aio_waiter {\n\tstruct wait_queue_entry w;\n\tsize_t min_nr;\n};\n\nstruct clk_core;\n\nstruct clk_init_data;\n\nstruct clk_hw {\n\tstruct clk_core *core;\n\tstruct clk *clk;\n\tconst struct clk_init_data *init;\n};\n\nstruct dev_pm_ops {\n\tint (*prepare)(struct device *);\n\tvoid (*complete)(struct device *);\n\tint (*suspend)(struct device *);\n\tint (*resume)(struct device *);\n\tint (*freeze)(struct device *);\n\tint (*thaw)(struct device *);\n\tint (*poweroff)(struct device *);\n\tint (*restore)(struct device *);\n\tint (*suspend_late)(struct device *);\n\tint (*resume_early)(struct device *);\n\tint (*freeze_late)(struct device *);\n\tint (*thaw_early)(struct device *);\n\tint (*poweroff_late)(struct device *);\n\tint (*restore_early)(struct device *);\n\tint (*suspend_noirq)(struct device *);\n\tint (*resume_noirq)(struct device *);\n\tint (*freeze_noirq)(struct device *);\n\tint (*thaw_noirq)(struct device *);\n\tint (*poweroff_noirq)(struct device *);\n\tint (*restore_noirq)(struct device *);\n\tint (*runtime_suspend)(struct device *);\n\tint (*runtime_resume)(struct device *);\n\tint (*runtime_idle)(struct device *);\n};\n\nstruct dev_pm_domain {\n\tstruct dev_pm_ops ops;\n\tint (*start)(struct device *);\n\tvoid (*detach)(struct device *, bool);\n\tint (*activate)(struct device *);\n\tvoid (*sync)(struct device *);\n\tvoid (*dismiss)(struct device *);\n\tint (*set_performance_state)(struct device *, unsigned int);\n};\n\nstruct raw_notifier_head {\n\tstruct notifier_block *head;\n};\n\nstruct gpd_dev_ops {\n\tint (*start)(struct device *);\n\tint (*stop)(struct device *);\n};\n\nstruct dev_power_governor;\n\nstruct genpd_governor_data;\n\nstruct opp_table;\n\nstruct genpd_power_state;\n\nstruct genpd_lock_ops;\n\nstruct generic_pm_domain {\n\tstruct device dev;\n\tstruct dev_pm_domain domain;\n\tstruct list_head gpd_list_node;\n\tstruct list_head parent_links;\n\tstruct list_head child_links;\n\tstruct list_head dev_list;\n\tstruct dev_power_governor *gov;\n\tstruct genpd_governor_data *gd;\n\tstruct work_struct power_off_work;\n\tstruct fwnode_handle *provider;\n\tbool has_provider;\n\tconst char *name;\n\tatomic_t sd_count;\n\tenum gpd_status status;\n\tunsigned int device_count;\n\tunsigned int device_id;\n\tunsigned int suspended_count;\n\tunsigned int prepared_count;\n\tunsigned int performance_state;\n\tcpumask_var_t cpus;\n\tbool synced_poweroff;\n\tint (*power_off)(struct generic_pm_domain *);\n\tint (*power_on)(struct generic_pm_domain *);\n\tstruct raw_notifier_head power_notifiers;\n\tstruct opp_table *opp_table;\n\tint (*set_performance_state)(struct generic_pm_domain *, unsigned int);\n\tstruct gpd_dev_ops dev_ops;\n\tint (*set_hwmode_dev)(struct generic_pm_domain *, struct device *, bool);\n\tbool (*get_hwmode_dev)(struct generic_pm_domain *, struct device *);\n\tint (*attach_dev)(struct generic_pm_domain *, struct device *);\n\tvoid (*detach_dev)(struct generic_pm_domain *, struct device *);\n\tunsigned int flags;\n\tstruct genpd_power_state *states;\n\tvoid (*free_states)(struct genpd_power_state *, unsigned int);\n\tunsigned int state_count;\n\tunsigned int state_idx;\n\tu64 on_time;\n\tu64 accounting_time;\n\tconst struct genpd_lock_ops *lock_ops;\n\tunion {\n\t\tstruct mutex mlock;\n\t\tstruct {\n\t\t\tspinlock_t slock;\n\t\t\tlong unsigned int lock_flags;\n\t\t};\n\t\tstruct {\n\t\t\traw_spinlock_t raw_slock;\n\t\t\tlong unsigned int raw_lock_flags;\n\t\t};\n\t};\n};\n\nstruct airoha_cpu_pmdomain_priv {\n\tstruct clk_hw hw;\n\tstruct generic_pm_domain pd;\n};\n\nstruct dev_pm_domain_list;\n\nstruct airoha_cpufreq_priv {\n\tint opp_token;\n\tstruct dev_pm_domain_list *pd_list;\n\tstruct platform_device *cpufreq_dt;\n};\n\nstruct irq_domain_ops {\n\tint (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token);\n\tint (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token);\n\tint (*map)(struct irq_domain *, unsigned int, irq_hw_number_t);\n\tvoid (*unmap)(struct irq_domain *, unsigned int);\n\tint (*xlate)(struct irq_domain *, struct device_node *, const u32 *, unsigned int, long unsigned int *, unsigned int *);\n\tint (*alloc)(struct irq_domain *, unsigned int, unsigned int, void *);\n\tvoid (*free)(struct irq_domain *, unsigned int, unsigned int);\n\tint (*activate)(struct irq_domain *, struct irq_data *, bool);\n\tvoid (*deactivate)(struct irq_domain *, struct irq_data *);\n\tint (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *);\n};\n\nstruct irq_desc;\n\ntypedef void (*irq_flow_handler_t)(struct irq_desc *);\n\nunion gpio_irq_fwspec;\n\nstruct gpio_irq_chip {\n\tstruct irq_chip *chip;\n\tstruct irq_domain *domain;\n\tstruct fwnode_handle *fwnode;\n\tstruct irq_domain *parent_domain;\n\tint (*child_to_parent_hwirq)(struct gpio_chip *, unsigned int, unsigned int, unsigned int *, unsigned int *);\n\tint (*populate_parent_alloc_arg)(struct gpio_chip *, union gpio_irq_fwspec *, unsigned int, unsigned int);\n\tunsigned int (*child_offset_to_irq)(struct gpio_chip *, unsigned int);\n\tstruct irq_domain_ops child_irq_domain_ops;\n\tirq_flow_handler_t handler;\n\tunsigned int default_type;\n\tstruct lock_class_key *lock_key;\n\tstruct lock_class_key *request_key;\n\tirq_flow_handler_t parent_handler;\n\tunion {\n\t\tvoid *parent_handler_data;\n\t\tvoid **parent_handler_data_array;\n\t};\n\tunsigned int num_parents;\n\tunsigned int *parents;\n\tunsigned int *map;\n\tbool threaded;\n\tbool per_parent_data;\n\tbool initialized;\n\tbool domain_is_allocated_externally;\n\tint (*init_hw)(struct gpio_chip *);\n\tvoid (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int);\n\tlong unsigned int *valid_mask;\n\tunsigned int first;\n\tvoid (*irq_enable)(struct irq_data *);\n\tvoid (*irq_disable)(struct irq_data *);\n\tvoid (*irq_unmask)(struct irq_data *);\n\tvoid (*irq_mask)(struct irq_data *);\n};\n\nstruct gpio_device;\n\nstruct of_phandle_args;\n\nstruct gpio_chip {\n\tconst char *label;\n\tstruct gpio_device *gpiodev;\n\tstruct device *parent;\n\tstruct fwnode_handle *fwnode;\n\tstruct module *owner;\n\tint (*request)(struct gpio_chip *, unsigned int);\n\tvoid (*free)(struct gpio_chip *, unsigned int);\n\tint (*get_direction)(struct gpio_chip *, unsigned int);\n\tint (*direction_input)(struct gpio_chip *, unsigned int);\n\tint (*direction_output)(struct gpio_chip *, unsigned int, int);\n\tint (*get)(struct gpio_chip *, unsigned int);\n\tint (*get_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *);\n\tvoid (*set)(struct gpio_chip *, unsigned int, int);\n\tvoid (*set_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *);\n\tint (*set_config)(struct gpio_chip *, unsigned int, long unsigned int);\n\tint (*to_irq)(struct gpio_chip *, unsigned int);\n\tvoid (*dbg_show)(struct seq_file *, struct gpio_chip *);\n\tint (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int);\n\tint (*add_pin_ranges)(struct gpio_chip *);\n\tint (*en_hw_timestamp)(struct gpio_chip *, u32, long unsigned int);\n\tint (*dis_hw_timestamp)(struct gpio_chip *, u32, long unsigned int);\n\tint base;\n\tu16 ngpio;\n\tu16 offset;\n\tconst char * const *names;\n\tbool can_sleep;\n\tlong unsigned int (*read_reg)(void *);\n\tvoid (*write_reg)(void *, long unsigned int);\n\tbool be_bits;\n\tvoid *reg_dat;\n\tvoid *reg_set;\n\tvoid *reg_clr;\n\tvoid *reg_dir_out;\n\tvoid *reg_dir_in;\n\tbool bgpio_dir_unreadable;\n\tint bgpio_bits;\n\traw_spinlock_t bgpio_lock;\n\tlong unsigned int bgpio_data;\n\tlong unsigned int bgpio_dir;\n\tstruct gpio_irq_chip irq;\n\tlong unsigned int *valid_mask;\n\tunsigned int of_gpio_n_cells;\n\tint (*of_xlate)(struct gpio_chip *, const struct of_phandle_args *, u32 *);\n};\n\nstruct airoha_gpio_ctrl {\n\tstruct gpio_chip gc;\n\tvoid *data;\n\tvoid *dir[2];\n\tvoid *output;\n};\n\nstruct hwrng {\n\tconst char *name;\n\tint (*init)(struct hwrng *);\n\tvoid (*cleanup)(struct hwrng *);\n\tint (*data_present)(struct hwrng *, int);\n\tint (*data_read)(struct hwrng *, u32 *);\n\tint (*read)(struct hwrng *, void *, size_t, bool);\n\tlong unsigned int priv;\n\tshort unsigned int quality;\n\tstruct list_head list;\n\tstruct kref ref;\n\tstruct completion cleanup_done;\n\tstruct completion dying;\n};\n\nstruct airoha_trng {\n\tvoid *base;\n\tstruct hwrng rng;\n\tstruct device *dev;\n\tstruct completion rng_op_done;\n};\n\nstruct akcipher_request;\n\nstruct crypto_akcipher;\n\nstruct akcipher_alg {\n\tint (*encrypt)(struct akcipher_request *);\n\tint (*decrypt)(struct akcipher_request *);\n\tint (*set_pub_key)(struct crypto_akcipher *, const void *, unsigned int);\n\tint (*set_priv_key)(struct crypto_akcipher *, const void *, unsigned int);\n\tunsigned int (*max_size)(struct crypto_akcipher *);\n\tint (*init)(struct crypto_akcipher *);\n\tvoid (*exit)(struct crypto_akcipher *);\n\tstruct crypto_alg base;\n};\n\nstruct akcipher_instance {\n\tvoid (*free)(struct akcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[56];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct akcipher_alg alg;\n\t};\n};\n\nstruct akcipher_request {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int src_len;\n\tunsigned int dst_len;\n\tvoid *__ctx[0];\n};\n\nstruct al_pcie_acpi {\n\tvoid *dbi_base;\n};\n\nstruct alarm {\n\tstruct timerqueue_node node;\n\tstruct hrtimer timer;\n\tvoid (*function)(struct alarm *, ktime_t);\n\tenum alarmtimer_type type;\n\tint state;\n\tvoid *data;\n};\n\nstruct timerqueue_head {\n\tstruct rb_root_cached rb_root;\n};\n\nstruct timespec64;\n\nstruct alarm_base {\n\tspinlock_t lock;\n\tstruct timerqueue_head timerqueue;\n\tktime_t (*get_ktime)(void);\n\tvoid (*get_timespec)(struct timespec64 *);\n\tclockid_t base_clockid;\n};\n\nstruct alarm_regs {\n\tu32 tmr_alarm1_h;\n\tu32 tmr_alarm1_l;\n\tu32 tmr_alarm2_h;\n\tu32 tmr_alarm2_l;\n};\n\nstruct ale_control_info {\n\tconst char *name;\n\tint offset;\n\tint port_offset;\n\tint shift;\n\tint port_shift;\n\tint bits;\n};\n\nstruct ale_entry_fld {\n\tu8 start_bit;\n\tu8 num_bits;\n\tu8 flags;\n};\n\nstruct alert_data {\n\tshort unsigned int addr;\n\tenum i2c_alert_protocol type;\n\tunsigned int data;\n};\n\nstruct alias_prop {\n\tstruct list_head link;\n\tconst char *alias;\n\tstruct device_node *np;\n\tint id;\n\tchar stem[0];\n};\n\nstruct zonelist;\n\nstruct zoneref;\n\nstruct alloc_context {\n\tstruct zonelist *zonelist;\n\tnodemask_t *nodemask;\n\tstruct zoneref *preferred_zoneref;\n\tint migratetype;\n\tenum zone_type highest_zoneidx;\n\tbool spread_dirty_pages;\n};\n\nstruct codetag {\n\tunsigned int flags;\n\tunsigned int lineno;\n\tconst char *modname;\n\tconst char *function;\n\tconst char *filename;\n};\n\nstruct alloc_tag_counters;\n\nstruct alloc_tag {\n\tstruct codetag ct;\n\tstruct alloc_tag_counters *counters;\n};\n\nstruct alloc_tag_counters {\n\tu64 bytes;\n\tu64 calls;\n};\n\nstruct alpha_pll_config {\n\tu32 l;\n\tu32 alpha;\n\tu32 alpha_hi;\n\tu32 config_ctl_val;\n\tu32 config_ctl_hi_val;\n\tu32 config_ctl_hi1_val;\n\tu32 config_ctl_hi2_val;\n\tu32 user_ctl_val;\n\tu32 user_ctl_hi_val;\n\tu32 user_ctl_hi1_val;\n\tu32 test_ctl_val;\n\tu32 test_ctl_mask;\n\tu32 test_ctl_hi_val;\n\tu32 test_ctl_hi_mask;\n\tu32 test_ctl_hi1_val;\n\tu32 test_ctl_hi2_val;\n\tu32 test_ctl_hi3_val;\n\tu32 main_output_mask;\n\tu32 aux_output_mask;\n\tu32 aux2_output_mask;\n\tu32 early_output_mask;\n\tu32 alpha_en_mask;\n\tu32 alpha_mode_mask;\n\tu32 pre_div_val;\n\tu32 pre_div_mask;\n\tu32 post_div_val;\n\tu32 post_div_mask;\n\tu32 vco_val;\n\tu32 vco_mask;\n\tu32 status_val;\n\tu32 status_mask;\n\tu32 lock_det;\n};\n\nstruct alpine_msix_data {\n\tspinlock_t msi_map_lock;\n\tphys_addr_t addr;\n\tu32 spi_first;\n\tu32 num_spis;\n\tlong unsigned int *msi_map;\n};\n\nstruct alps_bitmap_point {\n\tint start_bit;\n\tint num_bits;\n};\n\nstruct delayed_work {\n\tstruct work_struct work;\n\tstruct timer_list timer;\n\tstruct workqueue_struct *wq;\n\tint cpu;\n};\n\nstruct input_mt_pos {\n\ts16 x;\n\ts16 y;\n};\n\nstruct alps_fields {\n\tunsigned int x_map;\n\tunsigned int y_map;\n\tunsigned int fingers;\n\tint pressure;\n\tstruct input_mt_pos st;\n\tstruct input_mt_pos mt[4];\n\tunsigned int first_mp: 1;\n\tunsigned int is_mp: 1;\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int ts_left: 1;\n\tunsigned int ts_right: 1;\n\tunsigned int ts_middle: 1;\n};\n\nstruct psmouse;\n\nstruct alps_nibble_commands;\n\nstruct alps_data {\n\tstruct psmouse *psmouse;\n\tstruct input_dev *dev2;\n\tstruct input_dev *dev3;\n\tchar phys2[32];\n\tchar phys3[32];\n\tstruct delayed_work dev3_register_work;\n\tconst struct alps_nibble_commands *nibble_commands;\n\tint addr_command;\n\tu16 proto_version;\n\tu8 byte0;\n\tu8 mask0;\n\tu8 dev_id[3];\n\tu8 fw_ver[3];\n\tint flags;\n\tint x_max;\n\tint y_max;\n\tint x_bits;\n\tint y_bits;\n\tunsigned int x_res;\n\tunsigned int y_res;\n\tint (*hw_init)(struct psmouse *);\n\tvoid (*process_packet)(struct psmouse *);\n\tint (*decode_fields)(struct alps_fields *, unsigned char *, struct psmouse *);\n\tvoid (*set_abs_params)(struct alps_data *, struct input_dev *);\n\tint prev_fin;\n\tint multi_packet;\n\tint second_touch;\n\tunsigned char multi_data[6];\n\tstruct alps_fields f;\n\tu8 quirks;\n\tstruct timer_list timer;\n};\n\nstruct alps_protocol_info {\n\tu16 version;\n\tu8 byte0;\n\tu8 mask0;\n\tunsigned int flags;\n};\n\nstruct alps_model_info {\n\tu8 signature[3];\n\tstruct alps_protocol_info protocol_info;\n};\n\nstruct alps_nibble_commands {\n\tint command;\n\tunsigned char data;\n};\n\nstruct alt_instr {\n\ts32 orig_offset;\n\ts32 alt_offset;\n\tu16 cpucap;\n\tu8 orig_len;\n\tu8 alt_len;\n};\n\nstruct alt_region {\n\tstruct alt_instr *begin;\n\tstruct alt_instr *end;\n};\n\nstruct altera_msi {\n\tlong unsigned int used[1];\n\tstruct mutex lock;\n\tstruct platform_device *pdev;\n\tstruct irq_domain *msi_domain;\n\tstruct irq_domain *inner_domain;\n\tvoid *csr_base;\n\tvoid *vector_base;\n\tphys_addr_t vector_phy;\n\tu32 num_of_vectors;\n\tint irq;\n};\n\nstruct altera_pcie_data;\n\nstruct altera_pcie {\n\tstruct platform_device *pdev;\n\tvoid *cra_base;\n\tvoid *hip_base;\n\tint irq;\n\tu8 root_bus_nr;\n\tstruct irq_domain *irq_domain;\n\tstruct resource bus_range;\n\tconst struct altera_pcie_data *pcie_data;\n};\n\nstruct altera_pcie_ops;\n\nstruct altera_pcie_data {\n\tconst struct altera_pcie_ops *ops;\n\tenum altera_pcie_version version;\n\tu32 cap_offset;\n\tu32 cfgrd0;\n\tu32 cfgrd1;\n\tu32 cfgwr0;\n\tu32 cfgwr1;\n};\n\nstruct altera_pcie_ops {\n\tint (*tlp_read_pkt)(struct altera_pcie *, u32 *);\n\tvoid (*tlp_write_pkt)(struct altera_pcie *, u32 *, u32, bool);\n\tbool (*get_link_status)(struct altera_pcie *);\n\tint (*rp_read_cfg)(struct altera_pcie *, int, int, u32 *);\n\tint (*rp_write_cfg)(struct altera_pcie *, u8, int, int, u32);\n};\n\nstruct regmap;\n\nstruct altr_sysmgr {\n\tstruct regmap *regmap;\n};\n\nstruct am65_cpsw_ale_ratelimit {\n\tlong unsigned int cookie;\n\tu64 rate_packet_ps;\n};\n\nstruct am65_cpsw_pdata {\n\tu32 quirks;\n\tu64 extra_modes;\n\tenum k3_ring_mode fdqring_mode;\n\tconst char *ale_dev_id;\n};\n\nstruct am65_cpsw_common;\n\nstruct am65_cpsw_host {\n\tstruct am65_cpsw_common *common;\n\tvoid *port_base;\n\tvoid *stat_base;\n\tu32 vid_context;\n};\n\nstruct gro_list {\n\tstruct list_head list;\n\tint count;\n};\n\nstruct napi_config;\n\nstruct napi_struct {\n\tstruct list_head poll_list;\n\tlong unsigned int state;\n\tint weight;\n\tu32 defer_hard_irqs_count;\n\tlong unsigned int gro_bitmask;\n\tint (*poll)(struct napi_struct *, int);\n\tint list_owner;\n\tstruct net_device *dev;\n\tstruct gro_list gro_hash[8];\n\tstruct sk_buff *skb;\n\tstruct list_head rx_list;\n\tint rx_count;\n\tunsigned int napi_id;\n\tstruct hrtimer timer;\n\tstruct task_struct *thread;\n\tlong unsigned int gro_flush_timeout;\n\tlong unsigned int irq_suspend_timeout;\n\tu32 defer_hard_irqs;\n\tstruct list_head dev_list;\n\tstruct hlist_node napi_hash_node;\n\tint irq;\n\tint index;\n\tstruct napi_config *config;\n};\n\nstruct k3_cppi_desc_pool;\n\nstruct k3_udma_glue_tx_channel;\n\nstruct am65_cpsw_tx_chn {\n\tstruct device *dma_dev;\n\tstruct napi_struct napi_tx;\n\tstruct am65_cpsw_common *common;\n\tstruct k3_cppi_desc_pool *desc_pool;\n\tstruct k3_udma_glue_tx_channel *tx_chn;\n\tspinlock_t lock;\n\tstruct hrtimer tx_hrtimer;\n\tlong unsigned int tx_pace_timeout;\n\tint irq;\n\tu32 id;\n\tu32 descs_num;\n\tunsigned char dsize_log2;\n\tchar tx_chn_name[128];\n\tu32 rate_mbps;\n};\n\nstruct page_pool;\n\nstruct am65_cpsw_rx_flow {\n\tu32 id;\n\tstruct napi_struct napi_rx;\n\tstruct am65_cpsw_common *common;\n\tint irq;\n\tbool irq_disabled;\n\tstruct hrtimer rx_hrtimer;\n\tlong unsigned int rx_pace_timeout;\n\tstruct page_pool *page_pool;\n\tchar name[32];\n};\n\nstruct k3_udma_glue_rx_channel;\n\nstruct am65_cpsw_rx_chn {\n\tstruct device *dev;\n\tstruct device *dma_dev;\n\tstruct k3_cppi_desc_pool *desc_pool;\n\tstruct k3_udma_glue_rx_channel *rx_chn;\n\tu32 descs_num;\n\tunsigned char dsize_log2;\n\tstruct am65_cpsw_rx_flow flows[8];\n};\n\nstruct am65_cpts;\n\nstruct am65_cpsw_port;\n\nstruct cpsw_ale;\n\nstruct devlink;\n\nstruct am65_cpsw_common {\n\tstruct device *dev;\n\tstruct device *mdio_dev;\n\tstruct am65_cpsw_pdata pdata;\n\tvoid *ss_base;\n\tvoid *cpsw_base;\n\tu32 port_num;\n\tstruct am65_cpsw_host host;\n\tstruct am65_cpsw_port *ports;\n\tu32 disabled_ports_mask;\n\tstruct net_device *dma_ndev;\n\tint usage_count;\n\tstruct cpsw_ale *ale;\n\tint tx_ch_num;\n\tu32 tx_ch_rate_msk;\n\tu32 rx_flow_id_base;\n\tstruct am65_cpsw_tx_chn tx_chns[8];\n\tstruct completion tdown_complete;\n\tatomic_t tdown_cnt;\n\tint rx_ch_num_flows;\n\tstruct am65_cpsw_rx_chn rx_chns;\n\tu32 nuss_ver;\n\tu32 cpsw_ver;\n\tlong unsigned int bus_freq;\n\tbool pf_p0_rx_ptype_rrobin;\n\tstruct am65_cpts *cpts;\n\tint est_enabled;\n\tbool iet_enabled;\n\tbool is_emac_mode;\n\tu16 br_members;\n\tint default_vlan;\n\tstruct devlink *devlink;\n\tstruct net_device *hw_bridge_dev;\n\tstruct notifier_block am65_cpsw_netdevice_nb;\n\tunsigned char switch_id[32];\n\tu32 *ale_context;\n};\n\nstruct am65_cpsw_devlink {\n\tstruct am65_cpsw_common *common;\n};\n\nstruct tc_taprio_qopt_stats {\n\tu64 window_drops;\n\tu64 tx_overruns;\n};\n\nstruct tc_taprio_qopt_queue_stats {\n\tint queue;\n\tstruct tc_taprio_qopt_stats stats;\n};\n\nstruct tc_mqprio_qopt {\n\t__u8 num_tc;\n\t__u8 prio_tc_map[16];\n\t__u8 hw;\n\t__u16 count[16];\n\t__u16 offset[16];\n};\n\nstruct tc_mqprio_qopt_offload {\n\tstruct tc_mqprio_qopt qopt;\n\tstruct netlink_ext_ack *extack;\n\tu16 mode;\n\tu16 shaper;\n\tu32 flags;\n\tu64 min_rate[16];\n\tu64 max_rate[16];\n\tlong unsigned int preemptible_tcs;\n};\n\nstruct tc_taprio_sched_entry {\n\tu8 command;\n\tu32 gate_mask;\n\tu32 interval;\n};\n\nstruct tc_taprio_qopt_offload {\n\tenum tc_taprio_qopt_cmd cmd;\n\tunion {\n\t\tstruct tc_taprio_qopt_stats stats;\n\t\tstruct tc_taprio_qopt_queue_stats queue_stats;\n\t\tstruct {\n\t\t\tstruct tc_mqprio_qopt_offload mqprio;\n\t\t\tstruct netlink_ext_ack *extack;\n\t\t\tktime_t base_time;\n\t\t\tu64 cycle_time;\n\t\t\tu64 cycle_time_extension;\n\t\t\tu32 max_sdu[16];\n\t\t\tsize_t num_entries;\n\t\t\tstruct tc_taprio_sched_entry entries[0];\n\t\t};\n\t};\n};\n\nstruct am65_cpsw_est {\n\tint buf;\n\tstruct tc_taprio_qopt_offload taprio;\n};\n\nstruct am65_cpsw_ethtool_stat {\n\tchar desc[32];\n\tint offset;\n};\n\nstruct am65_cpsw_iet {\n\tu8 preemptible_tcs;\n\tu32 original_max_blks;\n\tint verify_time_ms;\n};\n\nstruct am65_cpsw_mqprio {\n\tstruct tc_mqprio_qopt_offload mqprio_hw;\n\tu64 max_rate_total;\n\tbool shaper_en;\n};\n\nstruct am65_cpsw_ndev_priv {\n\tu32 msg_enable;\n\tstruct am65_cpsw_port *port;\n\tbool offload_fwd_mark;\n\tstruct mutex mm_lock;\n};\n\nstruct phylink_link_state;\n\nstruct phylink_config {\n\tstruct device *dev;\n\tenum phylink_op_type type;\n\tbool poll_fixed_state;\n\tbool mac_managed_pm;\n\tbool mac_requires_rxc;\n\tbool default_an_inband;\n\tbool eee_rx_clk_stop_enable;\n\tvoid (*get_fixed_state)(struct phylink_config *, struct phylink_link_state *);\n\tlong unsigned int supported_interfaces[1];\n\tlong unsigned int lpi_interfaces[1];\n\tlong unsigned int mac_capabilities;\n\tlong unsigned int lpi_capabilities;\n\tu32 lpi_timer_default;\n\tbool eee_enabled_default;\n};\n\nstruct cpsw_sl;\n\nstruct phylink;\n\nstruct am65_cpsw_slave_data {\n\tbool mac_only;\n\tstruct cpsw_sl *mac_sl;\n\tstruct device_node *port_np;\n\tphy_interface_t phy_if;\n\tstruct phy *ifphy;\n\tstruct phy *serdes_phy;\n\tbool rx_pause;\n\tbool tx_pause;\n\tu8 mac_addr[6];\n\tint port_vlan;\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n};\n\nstruct am65_cpsw_qos {\n\tstruct am65_cpsw_est *est_admin;\n\tstruct am65_cpsw_est *est_oper;\n\tktime_t link_down_time;\n\tint link_speed;\n\tstruct am65_cpsw_mqprio mqprio;\n\tstruct am65_cpsw_iet iet;\n\tstruct am65_cpsw_ale_ratelimit ale_bc_ratelimit;\n\tstruct am65_cpsw_ale_ratelimit ale_mc_ratelimit;\n};\n\nstruct netdev_phys_item_id {\n\tunsigned char id[32];\n\tunsigned char id_len;\n};\n\nstruct devlink_port_phys_attrs {\n\tu32 port_number;\n\tu32 split_subport_number;\n};\n\nstruct devlink_port_pci_pf_attrs {\n\tu32 controller;\n\tu16 pf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_pci_vf_attrs {\n\tu32 controller;\n\tu16 pf;\n\tu16 vf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_pci_sf_attrs {\n\tu32 controller;\n\tu32 sf;\n\tu16 pf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_attrs {\n\tu8 split: 1;\n\tu8 splittable: 1;\n\tu32 lanes;\n\tenum devlink_port_flavour flavour;\n\tstruct netdev_phys_item_id switch_id;\n\tunion {\n\t\tstruct devlink_port_phys_attrs phys;\n\t\tstruct devlink_port_pci_pf_attrs pci_pf;\n\t\tstruct devlink_port_pci_vf_attrs pci_vf;\n\t\tstruct devlink_port_pci_sf_attrs pci_sf;\n\t};\n};\n\nstruct devlink_port_ops;\n\nstruct ib_device;\n\nstruct devlink_rate;\n\nstruct devlink_linecard;\n\nstruct devlink_port {\n\tstruct list_head list;\n\tstruct list_head region_list;\n\tstruct devlink *devlink;\n\tconst struct devlink_port_ops *ops;\n\tunsigned int index;\n\tspinlock_t type_lock;\n\tenum devlink_port_type type;\n\tenum devlink_port_type desired_type;\n\tunion {\n\t\tstruct {\n\t\t\tstruct net_device *netdev;\n\t\t\tint ifindex;\n\t\t\tchar ifname[16];\n\t\t} type_eth;\n\t\tstruct {\n\t\t\tstruct ib_device *ibdev;\n\t\t} type_ib;\n\t};\n\tstruct devlink_port_attrs attrs;\n\tu8 attrs_set: 1;\n\tu8 switch_port: 1;\n\tu8 registered: 1;\n\tu8 initialized: 1;\n\tstruct delayed_work type_warn_dw;\n\tstruct list_head reporter_list;\n\tstruct devlink_rate *devlink_rate;\n\tstruct devlink_linecard *linecard;\n\tu32 rel_index;\n};\n\nstruct xdp_mem_info {\n\tu32 type;\n\tu32 id;\n};\n\nstruct xdp_rxq_info {\n\tstruct net_device *dev;\n\tu32 queue_index;\n\tu32 reg_state;\n\tstruct xdp_mem_info mem;\n\tu32 frag_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_prog;\n\nstruct am65_cpsw_port {\n\tstruct am65_cpsw_common *common;\n\tstruct net_device *ndev;\n\tconst char *name;\n\tu32 port_id;\n\tvoid *port_base;\n\tvoid *sgmii_base;\n\tvoid *stat_base;\n\tvoid *fetch_ram_base;\n\tbool disabled;\n\tstruct am65_cpsw_slave_data slave;\n\tbool tx_ts_enabled;\n\tbool rx_ts_enabled;\n\tstruct am65_cpsw_qos qos;\n\tstruct devlink_port devlink_port;\n\tstruct bpf_prog *xdp_prog;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq[8];\n\tu32 vid_context;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct am65_cpsw_regdump_hdr {\n\tu32 module_id;\n\tu32 len;\n};\n\nstruct am65_cpsw_regdump_item {\n\tstruct am65_cpsw_regdump_hdr hdr;\n\tu32 start_ofs;\n\tu32 end_ofs;\n};\n\nstruct am65_cpsw_soc_pdata {\n\tu32 quirks_dis;\n};\n\nstruct am65_cpsw_stats_regs {\n\tu32 rx_good_frames;\n\tu32 rx_broadcast_frames;\n\tu32 rx_multicast_frames;\n\tu32 rx_pause_frames;\n\tu32 rx_crc_errors;\n\tu32 rx_align_code_errors;\n\tu32 rx_oversized_frames;\n\tu32 rx_jabber_frames;\n\tu32 rx_undersized_frames;\n\tu32 rx_fragments;\n\tu32 ale_drop;\n\tu32 ale_overrun_drop;\n\tu32 rx_octets;\n\tu32 tx_good_frames;\n\tu32 tx_broadcast_frames;\n\tu32 tx_multicast_frames;\n\tu32 tx_pause_frames;\n\tu32 tx_deferred_frames;\n\tu32 tx_collision_frames;\n\tu32 tx_single_coll_frames;\n\tu32 tx_mult_coll_frames;\n\tu32 tx_excessive_collisions;\n\tu32 tx_late_collisions;\n\tu32 rx_ipg_error;\n\tu32 tx_carrier_sense_errors;\n\tu32 tx_octets;\n\tu32 tx_64B_frames;\n\tu32 tx_65_to_127B_frames;\n\tu32 tx_128_to_255B_frames;\n\tu32 tx_256_to_511B_frames;\n\tu32 tx_512_to_1023B_frames;\n\tu32 tx_1024B_frames;\n\tu32 net_octets;\n\tu32 rx_bottom_fifo_drop;\n\tu32 rx_port_mask_drop;\n\tu32 rx_top_fifo_drop;\n\tu32 ale_rate_limit_drop;\n\tu32 ale_vid_ingress_drop;\n\tu32 ale_da_eq_sa_drop;\n\tu32 ale_block_drop;\n\tu32 ale_secure_drop;\n\tu32 ale_auth_drop;\n\tu32 ale_unknown_ucast;\n\tu32 ale_unknown_ucast_bytes;\n\tu32 ale_unknown_mcast;\n\tu32 ale_unknown_mcast_bytes;\n\tu32 ale_unknown_bcast;\n\tu32 ale_unknown_bcast_bytes;\n\tu32 ale_pol_match;\n\tu32 ale_pol_match_red;\n\tu32 ale_pol_match_yellow;\n\tu32 ale_mcast_sa_drop;\n\tu32 ale_dual_vlan_drop;\n\tu32 ale_len_err_drop;\n\tu32 ale_ip_next_hdr_drop;\n\tu32 ale_ipv4_frag_drop;\n\tu32 __rsvd_1[24];\n\tu32 iet_rx_assembly_err;\n\tu32 iet_rx_assembly_ok;\n\tu32 iet_rx_smd_err;\n\tu32 iet_rx_frag;\n\tu32 iet_tx_hold;\n\tu32 iet_tx_frag;\n\tu32 __rsvd_2[9];\n\tu32 tx_mem_protect_err;\n\tu32 tx_pri0;\n\tu32 tx_pri1;\n\tu32 tx_pri2;\n\tu32 tx_pri3;\n\tu32 tx_pri4;\n\tu32 tx_pri5;\n\tu32 tx_pri6;\n\tu32 tx_pri7;\n\tu32 tx_pri0_bcnt;\n\tu32 tx_pri1_bcnt;\n\tu32 tx_pri2_bcnt;\n\tu32 tx_pri3_bcnt;\n\tu32 tx_pri4_bcnt;\n\tu32 tx_pri5_bcnt;\n\tu32 tx_pri6_bcnt;\n\tu32 tx_pri7_bcnt;\n\tu32 tx_pri0_drop;\n\tu32 tx_pri1_drop;\n\tu32 tx_pri2_drop;\n\tu32 tx_pri3_drop;\n\tu32 tx_pri4_drop;\n\tu32 tx_pri5_drop;\n\tu32 tx_pri6_drop;\n\tu32 tx_pri7_drop;\n\tu32 tx_pri0_drop_bcnt;\n\tu32 tx_pri1_drop_bcnt;\n\tu32 tx_pri2_drop_bcnt;\n\tu32 tx_pri3_drop_bcnt;\n\tu32 tx_pri4_drop_bcnt;\n\tu32 tx_pri5_drop_bcnt;\n\tu32 tx_pri6_drop_bcnt;\n\tu32 tx_pri7_drop_bcnt;\n};\n\nstruct am65_cpsw_swdata {\n\tu32 flow_id;\n\tstruct page *page;\n};\n\nstruct amba_cs_uci_id {\n\tunsigned int devarch;\n\tunsigned int devarch_mask;\n\tunsigned int devtype;\n\tvoid *data;\n};\n\nstruct device_dma_parameters {\n\tunsigned int max_segment_size;\n\tunsigned int min_align_mask;\n\tlong unsigned int segment_boundary_mask;\n};\n\nstruct amba_device {\n\tstruct device dev;\n\tstruct resource res;\n\tstruct clk *pclk;\n\tstruct device_dma_parameters dma_parms;\n\tunsigned int periphid;\n\tstruct mutex periphid_lock;\n\tunsigned int cid;\n\tstruct amba_cs_uci_id uci;\n\tunsigned int irq[9];\n\tconst char *driver_override;\n};\n\nstruct amba_id;\n\nstruct amba_driver {\n\tstruct device_driver drv;\n\tint (*probe)(struct amba_device *, const struct amba_id *);\n\tvoid (*remove)(struct amba_device *);\n\tvoid (*shutdown)(struct amba_device *);\n\tconst struct amba_id *id_table;\n\tbool driver_managed_dma;\n};\n\nstruct amba_id {\n\tunsigned int id;\n\tunsigned int mask;\n\tvoid *data;\n};\n\nstruct serio;\n\nstruct amba_kmi_port {\n\tstruct serio *io;\n\tstruct clk *clk;\n\tvoid *base;\n\tunsigned int irq;\n\tunsigned int divisor;\n\tunsigned int open;\n};\n\nstruct amba_pl011_data {\n\tbool (*dma_filter)(struct dma_chan *, void *);\n\tvoid *dma_rx_param;\n\tvoid *dma_tx_param;\n\tbool dma_rx_poll_enable;\n\tunsigned int dma_rx_poll_rate;\n\tunsigned int dma_rx_poll_timeout;\n\tvoid (*init)(void);\n\tvoid (*exit)(void);\n};\n\nstruct amd_sdhci_host {\n\tbool tuned_clock;\n\tbool dll_enabled;\n};\n\nstruct aml_resource_small_header {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_large_header {\n\tu8 descriptor_type;\n\tu16 resource_length;\n} __attribute__((packed));\n\nstruct aml_resource_irq {\n\tu8 descriptor_type;\n\tu16 irq_mask;\n\tu8 flags;\n} __attribute__((packed));\n\nstruct aml_resource_dma {\n\tu8 descriptor_type;\n\tu8 dma_channel_mask;\n\tu8 flags;\n};\n\nstruct aml_resource_start_dependent {\n\tu8 descriptor_type;\n\tu8 flags;\n};\n\nstruct aml_resource_end_dependent {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_io {\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 minimum;\n\tu16 maximum;\n\tu8 alignment;\n\tu8 address_length;\n};\n\nstruct aml_resource_fixed_io {\n\tu8 descriptor_type;\n\tu16 address;\n\tu8 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_fixed_dma {\n\tu8 descriptor_type;\n\tu16 request_lines;\n\tu16 channels;\n\tu8 width;\n} __attribute__((packed));\n\nstruct aml_resource_vendor_small {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_end_tag {\n\tu8 descriptor_type;\n\tu8 checksum;\n};\n\nstruct aml_resource_memory24 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 alignment;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_generic_register {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 address_space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct aml_resource_vendor_large {\n\tu8 descriptor_type;\n\tu16 resource_length;\n} __attribute__((packed));\n\nstruct aml_resource_memory32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 alignment;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_fixed_memory32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu32 address;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address16 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu16 granularity;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 translation_offset;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu32 granularity;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 translation_offset;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address64 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_extended_address64 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu8 revision_ID;\n\tu8 reserved;\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n\tu64 type_specific;\n} __attribute__((packed));\n\nstruct aml_resource_extended_irq {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu8 interrupt_count;\n\tunion {\n\t\tu32 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu32 interrupts[0];\n\t\t};\n\t};\n} __attribute__((packed));\n\nstruct aml_resource_gpio {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 connection_type;\n\tu16 flags;\n\tu16 int_flags;\n\tu8 pin_config;\n\tu16 drive_strength;\n\tu16 debounce_timeout;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_i2c_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 connection_speed;\n\tu16 slave_address;\n} __attribute__((packed));\n\nstruct aml_resource_spi_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 connection_speed;\n\tu8 data_bit_length;\n\tu8 clock_phase;\n\tu8 clock_polarity;\n\tu16 device_selection;\n} __attribute__((packed));\n\nstruct aml_resource_uart_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 default_baud_rate;\n\tu16 rx_fifo_size;\n\tu16 tx_fifo_size;\n\tu8 parity;\n\tu8 lines_enabled;\n} __attribute__((packed));\n\nstruct aml_resource_csi2_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n} __attribute__((packed));\n\nstruct aml_resource_common_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_function {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config;\n\tu16 function_number;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_config {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 pin_table_offset;\n\tu16 label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group_function {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 function_number;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 res_source_label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group_config {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 res_source_label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_clock_input {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 frequency_divisor;\n\tu32 frequency_numerator;\n} __attribute__((packed));\n\nstruct aml_resource_address {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n} __attribute__((packed));\n\nunion aml_resource {\n\tu8 descriptor_type;\n\tstruct aml_resource_small_header small_header;\n\tstruct aml_resource_large_header large_header;\n\tstruct aml_resource_irq irq;\n\tstruct aml_resource_dma dma;\n\tstruct aml_resource_start_dependent start_dpf;\n\tstruct aml_resource_end_dependent end_dpf;\n\tstruct aml_resource_io io;\n\tstruct aml_resource_fixed_io fixed_io;\n\tstruct aml_resource_fixed_dma fixed_dma;\n\tstruct aml_resource_vendor_small vendor_small;\n\tstruct aml_resource_end_tag end_tag;\n\tstruct aml_resource_memory24 memory24;\n\tstruct aml_resource_generic_register generic_reg;\n\tstruct aml_resource_vendor_large vendor_large;\n\tstruct aml_resource_memory32 memory32;\n\tstruct aml_resource_fixed_memory32 fixed_memory32;\n\tstruct aml_resource_address16 address16;\n\tstruct aml_resource_address32 address32;\n\tstruct aml_resource_address64 address64;\n\tstruct aml_resource_extended_address64 ext_address64;\n\tstruct aml_resource_extended_irq extended_irq;\n\tstruct aml_resource_gpio gpio;\n\tstruct aml_resource_i2c_serialbus i2c_serial_bus;\n\tstruct aml_resource_spi_serialbus spi_serial_bus;\n\tstruct aml_resource_uart_serialbus uart_serial_bus;\n\tstruct aml_resource_csi2_serialbus csi2_serial_bus;\n\tstruct aml_resource_common_serialbus common_serial_bus;\n\tstruct aml_resource_pin_function pin_function;\n\tstruct aml_resource_pin_config pin_config;\n\tstruct aml_resource_pin_group pin_group;\n\tstruct aml_resource_pin_group_function pin_group_function;\n\tstruct aml_resource_pin_group_config pin_group_config;\n\tstruct aml_resource_clock_input clock_input;\n\tstruct aml_resource_address address;\n\tu32 dword_item;\n\tu16 word_item;\n\tu8 byte_item;\n};\n\nstruct aml_rtc_config {\n\tbool gray_stored;\n};\n\nstruct rtc_device;\n\nstruct aml_rtc_data {\n\tstruct regmap *map;\n\tstruct rtc_device *rtc_dev;\n\tint irq;\n\tstruct clk *rtc_clk;\n\tstruct clk *sys_clk;\n\tint rtc_enabled;\n\tconst struct aml_rtc_config *config;\n};\n\nstruct amlogic_thermal_data;\n\nstruct amlogic_thermal {\n\tstruct platform_device *pdev;\n\tconst struct amlogic_thermal_data *data;\n\tstruct regmap *regmap;\n\tstruct regmap *sec_ao_map;\n\tstruct clk *clk;\n\tstruct thermal_zone_device *tzd;\n\tu32 trim_info;\n};\n\nstruct amlogic_thermal_soc_calib_data;\n\nstruct regmap_config;\n\nstruct amlogic_thermal_data {\n\tint u_efuse_off;\n\tconst struct amlogic_thermal_soc_calib_data *calibration_parameters;\n\tconst struct regmap_config *regmap_config;\n};\n\nstruct amlogic_thermal_soc_calib_data {\n\tint A;\n\tint B;\n\tint m;\n\tint n;\n};\n\nstruct kobj_uevent_env;\n\nstruct kobj_ns_type_operations;\n\nstruct class {\n\tconst char *name;\n\tconst struct attribute_group **class_groups;\n\tconst struct attribute_group **dev_groups;\n\tint (*dev_uevent)(const struct device *, struct kobj_uevent_env *);\n\tchar * (*devnode)(const struct device *, umode_t *);\n\tvoid (*class_release)(const struct class *);\n\tvoid (*dev_release)(struct device *);\n\tint (*shutdown_pre)(struct device *);\n\tconst struct kobj_ns_type_operations *ns_type;\n\tconst void * (*namespace)(const struct device *);\n\tvoid (*get_ownership)(const struct device *, kuid_t *, kgid_t *);\n\tconst struct dev_pm_ops *pm;\n};\n\nstruct transport_container;\n\nstruct transport_class {\n\tstruct class class;\n\tint (*setup)(struct transport_container *, struct device *, struct device *);\n\tint (*configure)(struct transport_container *, struct device *, struct device *);\n\tint (*remove)(struct transport_container *, struct device *, struct device *);\n};\n\nstruct klist_node;\n\nstruct klist {\n\tspinlock_t k_lock;\n\tstruct list_head k_list;\n\tvoid (*get)(struct klist_node *);\n\tvoid (*put)(struct klist_node *);\n};\n\nstruct attribute_container {\n\tstruct list_head node;\n\tstruct klist containers;\n\tstruct class *class;\n\tconst struct attribute_group *grp;\n\tstruct device_attribute **attrs;\n\tint (*match)(struct attribute_container *, struct device *);\n\tlong unsigned int flags;\n};\n\nstruct anon_transport_class {\n\tstruct transport_class tclass;\n\tstruct attribute_container container;\n};\n\nstruct anon_vma {\n\tstruct anon_vma *root;\n\tstruct rw_semaphore rwsem;\n\tatomic_t refcount;\n\tlong unsigned int num_children;\n\tlong unsigned int num_active_vmas;\n\tstruct anon_vma *parent;\n\tstruct rb_root_cached rb_root;\n};\n\nstruct anon_vma_chain {\n\tstruct vm_area_struct *vma;\n\tstruct anon_vma *anon_vma;\n\tstruct list_head same_vma;\n\tstruct rb_node rb;\n\tlong unsigned int rb_subtree_last;\n};\n\nstruct anon_vma_name {\n\tstruct kref kref;\n\tchar name[0];\n};\n\nstruct ap_reset_log_entry {\n\tuint16_t reset_cause;\n\tuint16_t reserved;\n\tuint32_t reset_time_ms;\n};\n\nstruct apd_private_data;\n\nstruct apd_device_desc {\n\tunsigned int fixed_clk_rate;\n\tstruct property_entry *properties;\n\tint (*setup)(struct apd_private_data *);\n};\n\nstruct apd_private_data {\n\tstruct clk *clk;\n\tstruct acpi_device *adev;\n\tconst struct apd_device_desc *dev_desc;\n};\n\nstruct apei_exec_ins_type;\n\nstruct apei_exec_context {\n\tu32 ip;\n\tu64 value;\n\tu64 var1;\n\tu64 var2;\n\tu64 src_base;\n\tu64 dst_base;\n\tstruct apei_exec_ins_type *ins_table;\n\tu32 instructions;\n\tstruct acpi_whea_header *action_table;\n\tu32 entries;\n};\n\ntypedef int (*apei_exec_ins_func_t)(struct apei_exec_context *, struct acpi_whea_header *);\n\nstruct apei_exec_ins_type {\n\tu32 flags;\n\tapei_exec_ins_func_t run;\n};\n\nstruct apei_res {\n\tstruct list_head list;\n\tlong unsigned int start;\n\tlong unsigned int end;\n};\n\nstruct apei_resources {\n\tstruct list_head iomem;\n\tstruct list_head ioport;\n};\n\nstruct aperture_range {\n\tstruct device *dev;\n\tresource_size_t base;\n\tresource_size_t size;\n\tstruct list_head lh;\n\tvoid (*detach)(struct device *);\n};\n\nstruct api_context {\n\tstruct completion done;\n\tint status;\n};\n\nstruct apid_data {\n\tu16 ppid;\n\tu8 write_ee;\n\tu8 irq_ee;\n};\n\nstruct apple_backlight_config_report {\n\tu8 report_id;\n\tu8 version;\n\tu16 backlight_off;\n\tu16 backlight_on_min;\n\tu16 backlight_on_max;\n};\n\nstruct apple_backlight_set_report {\n\tu8 report_id;\n\tu8 version;\n\tu16 backlight;\n\tu16 rate;\n};\n\nstruct apple_soc_cpufreq_info;\n\nstruct apple_cpu_priv {\n\tstruct device *cpu_dev;\n\tvoid *reg_base;\n\tconst struct apple_soc_cpufreq_info *info;\n};\n\nstruct iommu_ops;\n\nstruct iommu_device {\n\tstruct list_head list;\n\tconst struct iommu_ops *ops;\n\tstruct fwnode_handle *fwnode;\n\tstruct device *dev;\n\tstruct iommu_group *singleton_group;\n\tu32 max_pasids;\n};\n\nstruct apple_dart_hw;\n\nstruct apple_dart {\n\tstruct device *dev;\n\tconst struct apple_dart_hw *hw;\n\tvoid *regs;\n\tint irq;\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tspinlock_t lock;\n\tu32 ias;\n\tu32 oas;\n\tu32 pgsize;\n\tu32 num_streams;\n\tu32 supports_bypass: 1;\n\tstruct iommu_group *sid2group[256];\n\tstruct iommu_device iommu;\n\tu32 save_tcr[256];\n\tu32 save_ttbr[1024];\n};\n\nstruct apple_dart_atomic_stream_map {\n\tstruct apple_dart *dart;\n\tatomic_long_t sidmap[4];\n};\n\nstruct iommu_domain_geometry {\n\tdma_addr_t aperture_start;\n\tdma_addr_t aperture_end;\n\tbool force_aperture;\n};\n\nstruct iommu_domain;\n\ntypedef int (*iommu_fault_handler_t)(struct iommu_domain *, struct device *, long unsigned int, int, void *);\n\nstruct iommu_domain_ops;\n\nstruct iommu_dirty_ops;\n\nstruct iommu_dma_cookie;\n\nstruct iopf_group;\n\nstruct mm_struct;\n\nstruct iommu_domain {\n\tunsigned int type;\n\tconst struct iommu_domain_ops *ops;\n\tconst struct iommu_dirty_ops *dirty_ops;\n\tconst struct iommu_ops *owner;\n\tlong unsigned int pgsize_bitmap;\n\tstruct iommu_domain_geometry geometry;\n\tstruct iommu_dma_cookie *iova_cookie;\n\tint (*iopf_handler)(struct iopf_group *);\n\tvoid *fault_data;\n\tunion {\n\t\tstruct {\n\t\t\tiommu_fault_handler_t handler;\n\t\t\tvoid *handler_token;\n\t\t};\n\t\tstruct {\n\t\t\tstruct mm_struct *mm;\n\t\t\tint users;\n\t\t\tstruct list_head next;\n\t\t};\n\t};\n};\n\nstruct io_pgtable_ops;\n\nstruct apple_dart_domain {\n\tstruct io_pgtable_ops *pgtbl_ops;\n\tbool finalized;\n\tstruct mutex init_lock;\n\tstruct apple_dart_atomic_stream_map stream_maps[2];\n\tstruct iommu_domain domain;\n};\n\nstruct apple_dart_stream_map;\n\nstruct apple_dart_hw {\n\tenum dart_type type;\n\tirqreturn_t (*irq_handler)(int, void *);\n\tint (*invalidate_tlb)(struct apple_dart_stream_map *);\n\tu32 oas;\n\tenum io_pgtable_fmt fmt;\n\tint max_sid_count;\n\tu64 lock;\n\tu64 lock_bit;\n\tu64 error;\n\tu64 enable_streams;\n\tu64 tcr;\n\tu64 tcr_enabled;\n\tu64 tcr_disabled;\n\tu64 tcr_bypass;\n\tu64 ttbr;\n\tu64 ttbr_valid;\n\tu64 ttbr_addr_field_shift;\n\tu64 ttbr_shift;\n\tint ttbr_count;\n};\n\nstruct apple_dart_stream_map {\n\tstruct apple_dart *dart;\n\tlong unsigned int sidmap[4];\n};\n\nstruct apple_dart_master_cfg {\n\tstruct apple_dart_stream_map stream_maps[2];\n};\n\nstruct apple_efuses_priv {\n\tvoid *fuses;\n};\n\nstruct apple_key_translation {\n\tu16 from;\n\tu16 to;\n\tu8 flags;\n};\n\nstruct led_pattern;\n\nstruct led_trigger;\n\nstruct led_hw_trigger_type;\n\nstruct led_classdev {\n\tconst char *name;\n\tunsigned int brightness;\n\tunsigned int max_brightness;\n\tunsigned int color;\n\tint flags;\n\tlong unsigned int work_flags;\n\tvoid (*brightness_set)(struct led_classdev *, enum led_brightness);\n\tint (*brightness_set_blocking)(struct led_classdev *, enum led_brightness);\n\tenum led_brightness (*brightness_get)(struct led_classdev *);\n\tint (*blink_set)(struct led_classdev *, long unsigned int *, long unsigned int *);\n\tint (*pattern_set)(struct led_classdev *, struct led_pattern *, u32, int);\n\tint (*pattern_clear)(struct led_classdev *);\n\tstruct device *dev;\n\tconst struct attribute_group **groups;\n\tstruct list_head node;\n\tconst char *default_trigger;\n\tlong unsigned int blink_delay_on;\n\tlong unsigned int blink_delay_off;\n\tstruct timer_list blink_timer;\n\tint blink_brightness;\n\tint new_blink_brightness;\n\tvoid (*flash_resume)(struct led_classdev *);\n\tstruct workqueue_struct *wq;\n\tstruct work_struct set_brightness_work;\n\tint delayed_set_value;\n\tlong unsigned int delayed_delay_on;\n\tlong unsigned int delayed_delay_off;\n\tstruct rw_semaphore trigger_lock;\n\tstruct led_trigger *trigger;\n\tstruct list_head trig_list;\n\tvoid *trigger_data;\n\tbool activated;\n\tstruct led_hw_trigger_type *trigger_type;\n\tconst char *hw_control_trigger;\n\tint (*hw_control_is_supported)(struct led_classdev *, long unsigned int);\n\tint (*hw_control_set)(struct led_classdev *, long unsigned int);\n\tint (*hw_control_get)(struct led_classdev *, long unsigned int *);\n\tstruct device * (*hw_control_get_device)(struct led_classdev *);\n\tstruct mutex led_access;\n};\n\nstruct hid_report;\n\nstruct apple_magic_backlight {\n\tstruct led_classdev cdev;\n\tstruct hid_report *brightness;\n\tstruct hid_report *power;\n};\n\nstruct apple_mbox_hw;\n\nstruct apple_mbox_msg;\n\nstruct apple_mbox {\n\tstruct device *dev;\n\tvoid *regs;\n\tconst struct apple_mbox_hw *hw;\n\tbool active;\n\tint irq_recv_not_empty;\n\tint irq_send_empty;\n\tspinlock_t rx_lock;\n\tspinlock_t tx_lock;\n\tstruct completion tx_empty;\n\tvoid (*rx)(struct apple_mbox *, struct apple_mbox_msg, void *);\n\tvoid *cookie;\n};\n\nstruct apple_mbox_hw {\n\tunsigned int control_full;\n\tunsigned int control_empty;\n\tunsigned int a2i_control;\n\tunsigned int a2i_send0;\n\tunsigned int a2i_send1;\n\tunsigned int i2a_control;\n\tunsigned int i2a_recv0;\n\tunsigned int i2a_recv1;\n\tbool has_irq_controls;\n\tunsigned int irq_enable;\n\tunsigned int irq_ack;\n\tunsigned int irq_bit_recv_not_empty;\n\tunsigned int irq_bit_send_empty;\n};\n\nstruct apple_mbox_msg {\n\tu64 msg0;\n\tu32 msg1;\n};\n\nstruct apple_non_apple_keyboard {\n\tchar *name;\n};\n\nstruct reset_control_ops;\n\nstruct reset_controller_dev {\n\tconst struct reset_control_ops *ops;\n\tstruct module *owner;\n\tstruct list_head list;\n\tstruct list_head reset_control_head;\n\tstruct device *dev;\n\tstruct device_node *of_node;\n\tconst struct of_phandle_args *of_args;\n\tint of_reset_n_cells;\n\tint (*of_xlate)(struct reset_controller_dev *, const struct of_phandle_args *);\n\tunsigned int nr_resets;\n};\n\nstruct apple_pmgr_ps {\n\tstruct device *dev;\n\tstruct generic_pm_domain genpd;\n\tstruct reset_controller_dev rcdev;\n\tstruct regmap *regmap;\n\tu32 offset;\n\tu32 min_state;\n};\n\nstruct apple_rtkit_shmem {\n\tvoid *buffer;\n\tvoid *iomem;\n\tsize_t size;\n\tdma_addr_t iova;\n\tbool is_mapped;\n\tvoid *private;\n};\n\nstruct apple_rtkit_ops;\n\nstruct apple_rtkit {\n\tvoid *cookie;\n\tconst struct apple_rtkit_ops *ops;\n\tstruct device *dev;\n\tstruct apple_mbox *mbox;\n\tstruct completion epmap_completion;\n\tstruct completion iop_pwr_ack_completion;\n\tstruct completion ap_pwr_ack_completion;\n\tint boot_result;\n\tint version;\n\tunsigned int iop_power_state;\n\tunsigned int ap_power_state;\n\tbool crashed;\n\tlong unsigned int endpoints[4];\n\tstruct apple_rtkit_shmem ioreport_buffer;\n\tstruct apple_rtkit_shmem crashlog_buffer;\n\tstruct apple_rtkit_shmem syslog_buffer;\n\tchar *syslog_msg_buffer;\n\tsize_t syslog_n_entries;\n\tsize_t syslog_msg_size;\n\tstruct workqueue_struct *wq;\n};\n\nstruct apple_rtkit_crashlog_header {\n\tu32 fourcc;\n\tu32 version;\n\tu32 size;\n\tu32 flags;\n\tu8 _unk[16];\n};\n\nstruct apple_rtkit_crashlog_mbox_entry {\n\tu64 msg0;\n\tu64 msg1;\n\tu32 timestamp;\n\tu8 _unk[4];\n};\n\nstruct apple_rtkit_crashlog_regs {\n\tu32 unk_0;\n\tu32 unk_4;\n\tu64 regs[31];\n\tu64 sp;\n\tu64 pc;\n\tu64 psr;\n\tu64 cpacr;\n\tu64 fpsr;\n\tu64 fpcr;\n\tu64 unk[64];\n\tu64 far;\n\tu64 unk_X;\n\tu64 esr;\n\tu64 unk_Z;\n};\n\nstruct apple_rtkit_ops {\n\tvoid (*crashed)(void *);\n\tvoid (*recv_message)(void *, u8, u64);\n\tbool (*recv_message_early)(void *, u8, u64);\n\tint (*shmem_setup)(void *, struct apple_rtkit_shmem *);\n\tvoid (*shmem_destroy)(void *, struct apple_rtkit_shmem *);\n};\n\nstruct apple_rtkit_rx_work {\n\tstruct apple_rtkit *rtk;\n\tu8 ep;\n\tu64 msg;\n\tstruct work_struct work;\n};\n\nstruct apple_sart_ops;\n\nstruct apple_sart {\n\tstruct device *dev;\n\tvoid *regs;\n\tconst struct apple_sart_ops *ops;\n\tlong unsigned int protected_entries;\n\tlong unsigned int used_entries;\n};\n\nstruct apple_sart_ops {\n\tvoid (*get_entry)(struct apple_sart *, int, u8 *, phys_addr_t *, size_t *);\n\tvoid (*set_entry)(struct apple_sart *, int, u8, phys_addr_t, size_t);\n\tunsigned int size_shift;\n\tunsigned int paddr_shift;\n\tsize_t size_max;\n};\n\nstruct hid_device;\n\nstruct apple_sc_backlight;\n\nstruct apple_sc {\n\tstruct hid_device *hdev;\n\tlong unsigned int quirks;\n\tunsigned int fn_on;\n\tunsigned int fn_found;\n\tlong unsigned int pressed_numlock[12];\n\tstruct timer_list battery_timer;\n\tstruct apple_sc_backlight *backlight;\n};\n\nstruct apple_sc_backlight {\n\tstruct led_classdev cdev;\n\tstruct hid_device *hdev;\n};\n\nstruct apple_soc_cpufreq_info {\n\tbool has_ps2;\n\tu64 max_pstate;\n\tu64 cur_pstate_mask;\n\tu64 cur_pstate_shift;\n\tu64 ps1_mask;\n\tu64 ps1_shift;\n};\n\nstruct applnco_tables;\n\nstruct applnco_channel {\n\tvoid *base;\n\tstruct applnco_tables *tbl;\n\tstruct clk_hw hw;\n\tspinlock_t lock;\n};\n\nstruct applnco_tables {\n\tu16 fwd[2048];\n\tu16 inv[2048];\n};\n\nstruct workqueue_attrs;\n\nstruct pool_workqueue;\n\nstruct apply_wqattrs_ctx {\n\tstruct workqueue_struct *wq;\n\tstruct workqueue_attrs *attrs;\n\tstruct list_head list;\n\tstruct pool_workqueue *dfl_pwq;\n\tstruct pool_workqueue *pwq_tbl[0];\n};\n\nstruct clk_alpha_pll;\n\nstruct apss_pll_data {\n\tint pll_type;\n\tstruct clk_alpha_pll *pll;\n\tconst struct alpha_pll_config *pll_config;\n};\n\nstruct aqr107_hw_stat {\n\tconst char *name;\n\tint reg;\n\tint size;\n};\n\nstruct aqr107_priv {\n\tu64 sgmii_stats[10];\n\tlong unsigned int leds_active_low;\n\tlong unsigned int leds_active_high;\n};\n\nstruct arch_elf_state {\n\tint flags;\n};\n\nstruct arch_hibernate_hdr_invariants {\n\tchar uts_version[65];\n};\n\nstruct arch_hibernate_hdr {\n\tstruct arch_hibernate_hdr_invariants invariants;\n\tphys_addr_t ttbr1_el1;\n\tvoid (*reenter_kernel)(void);\n\tphys_addr_t __hyp_stub_vectors;\n\tu64 sleep_cpu_mpidr;\n};\n\nstruct arch_hw_breakpoint_ctrl {\n\tu32 __reserved: 19;\n\tu32 len: 8;\n\tu32 type: 2;\n\tu32 privilege: 2;\n\tu32 enabled: 1;\n};\n\nstruct arch_hw_breakpoint {\n\tu64 address;\n\tu64 trigger;\n\tstruct arch_hw_breakpoint_ctrl ctrl;\n};\n\nstruct arch_io_reserve_memtype_wc_devres {\n\tresource_size_t start;\n\tresource_size_t size;\n};\n\nstruct arch_msi_msg_addr_hi {\n\tu32 address_hi;\n};\n\ntypedef struct arch_msi_msg_addr_hi arch_msi_msg_addr_hi_t;\n\nstruct arch_msi_msg_addr_lo {\n\tu32 address_lo;\n};\n\ntypedef struct arch_msi_msg_addr_lo arch_msi_msg_addr_lo_t;\n\nstruct arch_msi_msg_data {\n\tu32 data;\n};\n\ntypedef struct arch_msi_msg_data arch_msi_msg_data_t;\n\nstruct pt_regs;\n\ntypedef void probes_handler_t(u32, long int, struct pt_regs *);\n\nstruct arch_probe_insn {\n\tprobes_handler_t *handler;\n};\n\nstruct arch_shared_info {};\n\nstruct arch_specific_insn {\n\tint dummy;\n};\n\nstruct clock_event_device {\n\tvoid (*event_handler)(struct clock_event_device *);\n\tint (*set_next_event)(long unsigned int, struct clock_event_device *);\n\tint (*set_next_ktime)(ktime_t, struct clock_event_device *);\n\tktime_t next_event;\n\tu64 max_delta_ns;\n\tu64 min_delta_ns;\n\tu32 mult;\n\tu32 shift;\n\tenum clock_event_state state_use_accessors;\n\tunsigned int features;\n\tlong unsigned int retries;\n\tint (*set_state_periodic)(struct clock_event_device *);\n\tint (*set_state_oneshot)(struct clock_event_device *);\n\tint (*set_state_oneshot_stopped)(struct clock_event_device *);\n\tint (*set_state_shutdown)(struct clock_event_device *);\n\tint (*tick_resume)(struct clock_event_device *);\n\tvoid (*broadcast)(const struct cpumask *);\n\tvoid (*suspend)(struct clock_event_device *);\n\tvoid (*resume)(struct clock_event_device *);\n\tlong unsigned int min_delta_ticks;\n\tlong unsigned int max_delta_ticks;\n\tconst char *name;\n\tint rating;\n\tint irq;\n\tint bound_on;\n\tconst struct cpumask *cpumask;\n\tstruct list_head list;\n\tstruct module *owner;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct arch_timer {\n\tvoid *base;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct clock_event_device evt;\n};\n\nstruct arch_timer_offset {\n\tu64 *vm_offset;\n\tu64 *vcpu_offset;\n};\n\nstruct kvm_vcpu;\n\nstruct arch_timer_context {\n\tstruct kvm_vcpu *vcpu;\n\tstruct hrtimer hrtimer;\n\tu64 ns_frac;\n\tstruct arch_timer_offset offset;\n\tbool loaded;\n\tstruct {\n\t\tbool level;\n\t} irq;\n\tu32 host_timer_irq;\n};\n\nstruct arch_timer_cpu {\n\tstruct arch_timer_context timers[4];\n\tstruct hrtimer bg_timer;\n\tbool enabled;\n};\n\nstruct arch_timer_erratum_workaround {\n\tenum arch_timer_erratum_match_type match_type;\n\tconst void *id;\n\tconst char *desc;\n\tu64 (*read_cntpct_el0)(void);\n\tu64 (*read_cntvct_el0)(void);\n\tint (*set_next_event_phys)(long unsigned int, struct clock_event_device *);\n\tint (*set_next_event_virt)(long unsigned int, struct clock_event_device *);\n\tbool disable_compat_vdso;\n};\n\nstruct cyclecounter;\n\nstruct timecounter {\n\tconst struct cyclecounter *cc;\n\tu64 cycle_last;\n\tu64 nsec;\n\tu64 mask;\n\tu64 frac;\n};\n\nstruct arch_timer_kvm_info {\n\tstruct timecounter timecounter;\n\tint virtual_irq;\n\tint physical_irq;\n};\n\nstruct arch_timer_mem_frame {\n\tbool valid;\n\tphys_addr_t cntbase;\n\tsize_t size;\n\tint phys_irq;\n\tint virt_irq;\n};\n\nstruct arch_timer_mem {\n\tphys_addr_t cntctlbase;\n\tsize_t size;\n\tstruct arch_timer_mem_frame frame[8];\n};\n\nstruct arch_timer_vm_data {\n\tu64 voffset;\n\tu64 poffset;\n\tu8 ppi[4];\n};\n\nstruct arch_tlbflush_unmap_batch {};\n\nstruct arch_uprobe {\n\tunion {\n\t\t__le32 insn;\n\t\t__le32 ixol;\n\t};\n\tstruct arch_probe_insn api;\n\tbool simulate;\n};\n\nstruct arch_uprobe_task {};\n\nstruct arch_vcpu_info {};\n\nstruct arch_vdso_time_data {};\n\nstruct args_askumount {\n\t__u32 may_umount;\n};\n\nstruct args_expire {\n\t__u32 how;\n};\n\nstruct args_fail {\n\t__u32 token;\n\t__s32 status;\n};\n\nstruct args_in {\n\t__u32 type;\n};\n\nstruct args_out {\n\t__u32 devid;\n\t__u32 magic;\n};\n\nstruct args_ismountpoint {\n\tunion {\n\t\tstruct args_in in;\n\t\tstruct args_out out;\n\t};\n};\n\nstruct args_openmount {\n\t__u32 devid;\n};\n\nstruct args_protosubver {\n\t__u32 sub_version;\n};\n\nstruct args_protover {\n\t__u32 version;\n};\n\nstruct args_ready {\n\t__u32 token;\n};\n\nstruct args_requester {\n\t__u32 uid;\n\t__u32 gid;\n};\n\nstruct args_setpipefd {\n\t__s32 pipefd;\n};\n\nstruct args_timeout {\n\t__u64 timeout;\n};\n\nstruct midr_range {\n\tu32 model;\n\tu32 rv_min;\n\tu32 rv_max;\n};\n\nstruct arm64_midr_revidr;\n\nstruct arm64_cpu_capabilities {\n\tconst char *desc;\n\tu16 capability;\n\tu16 type;\n\tbool (*matches)(const struct arm64_cpu_capabilities *, int);\n\tvoid (*cpu_enable)(const struct arm64_cpu_capabilities *);\n\tunion {\n\t\tstruct {\n\t\t\tstruct midr_range midr_range;\n\t\t\tconst struct arm64_midr_revidr * const fixed_revs;\n\t\t};\n\t\tconst struct midr_range *midr_range_list;\n\t\tstruct {\n\t\t\tu32 sys_reg;\n\t\t\tu8 field_pos;\n\t\t\tu8 field_width;\n\t\t\tu8 min_field_value;\n\t\t\tu8 max_field_value;\n\t\t\tu8 hwcap_type;\n\t\t\tbool sign;\n\t\t\tlong unsigned int hwcap;\n\t\t};\n\t};\n\tconst struct arm64_cpu_capabilities *match_list;\n\tconst struct cpumask *cpus;\n};\n\nstruct arm64_ftr_bits {\n\tbool sign;\n\tbool visible;\n\tbool strict;\n\tenum ftr_type type;\n\tu8 shift;\n\tu8 width;\n\ts64 safe_val;\n};\n\nstruct arm64_ftr_override {\n\tu64 val;\n\tu64 mask;\n};\n\nstruct arm64_ftr_reg {\n\tconst char *name;\n\tu64 strict_mask;\n\tu64 user_mask;\n\tu64 sys_val;\n\tu64 user_val;\n\tstruct arm64_ftr_override *override;\n\tconst struct arm64_ftr_bits *ftr_bits;\n};\n\nstruct arm64_image_header {\n\t__le32 code0;\n\t__le32 code1;\n\t__le64 text_offset;\n\t__le64 image_size;\n\t__le64 flags;\n\t__le64 res2;\n\t__le64 res3;\n\t__le64 res4;\n\t__le32 magic;\n\t__le32 res5;\n};\n\nstruct jit_ctx {\n\tconst struct bpf_prog *prog;\n\tint idx;\n\tint epilogue_offset;\n\tint *offset;\n\tint exentry_idx;\n\tint nr_used_callee_reg;\n\tu8 used_callee_reg[8];\n\t__le32 *image;\n\t__le32 *ro_image;\n\tu32 stack_size;\n\tu64 user_vm_start;\n\tu64 arena_vm_start;\n\tbool fp_used;\n\tbool write;\n};\n\nstruct bpf_binary_header;\n\nstruct arm64_jit_data {\n\tstruct bpf_binary_header *header;\n\tu8 *ro_image;\n\tstruct bpf_binary_header *ro_header;\n\tstruct jit_ctx ctx;\n};\n\nstruct arm64_mem_crypt_ops {\n\tint (*encrypt)(long unsigned int, int);\n\tint (*decrypt)(long unsigned int, int);\n};\n\nstruct arm64_midr_revidr {\n\tu32 midr_rv;\n\tu32 revidr_mask;\n};\n\nstruct arm_cpuidle_irq_context {};\n\nstruct iommu_flush_ops;\n\nstruct io_pgtable_cfg {\n\tlong unsigned int quirks;\n\tlong unsigned int pgsize_bitmap;\n\tunsigned int ias;\n\tunsigned int oas;\n\tbool coherent_walk;\n\tconst struct iommu_flush_ops *tlb;\n\tstruct device *iommu_dev;\n\tvoid * (*alloc)(void *, size_t, gfp_t);\n\tvoid (*free)(void *, void *, size_t);\n\tunion {\n\t\tstruct {\n\t\t\tu64 ttbr;\n\t\t\tstruct {\n\t\t\t\tu32 ips: 3;\n\t\t\t\tu32 tg: 2;\n\t\t\t\tu32 sh: 2;\n\t\t\t\tu32 orgn: 2;\n\t\t\t\tu32 irgn: 2;\n\t\t\t\tu32 tsz: 6;\n\t\t\t} tcr;\n\t\t\tu64 mair;\n\t\t} arm_lpae_s1_cfg;\n\t\tstruct {\n\t\t\tu64 vttbr;\n\t\t\tstruct {\n\t\t\t\tu32 ps: 3;\n\t\t\t\tu32 tg: 2;\n\t\t\t\tu32 sh: 2;\n\t\t\t\tu32 orgn: 2;\n\t\t\t\tu32 irgn: 2;\n\t\t\t\tu32 sl: 2;\n\t\t\t\tu32 tsz: 6;\n\t\t\t} vtcr;\n\t\t} arm_lpae_s2_cfg;\n\t\tstruct {\n\t\t\tu32 ttbr;\n\t\t\tu32 tcr;\n\t\t\tu32 nmrr;\n\t\t\tu32 prrr;\n\t\t} arm_v7s_cfg;\n\t\tstruct {\n\t\t\tu64 transtab;\n\t\t\tu64 memattr;\n\t\t} arm_mali_lpae_cfg;\n\t\tstruct {\n\t\t\tu64 ttbr[4];\n\t\t\tu32 n_ttbrs;\n\t\t} apple_dart_cfg;\n\t\tstruct {\n\t\t\tint nid;\n\t\t} amd;\n\t};\n};\n\nstruct iommu_iotlb_gather;\n\nstruct iommu_dirty_bitmap;\n\nstruct io_pgtable_ops {\n\tint (*map_pages)(struct io_pgtable_ops *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *);\n\tsize_t (*unmap_pages)(struct io_pgtable_ops *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *);\n\tphys_addr_t (*iova_to_phys)(struct io_pgtable_ops *, long unsigned int);\n\tint (*pgtable_walk)(struct io_pgtable_ops *, long unsigned int, void *);\n\tint (*read_and_clear_dirty)(struct io_pgtable_ops *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *);\n};\n\nstruct io_pgtable {\n\tenum io_pgtable_fmt fmt;\n\tvoid *cookie;\n\tstruct io_pgtable_cfg cfg;\n\tstruct io_pgtable_ops ops;\n};\n\nstruct arm_lpae_io_pgtable {\n\tstruct io_pgtable iop;\n\tint pgd_bits;\n\tint start_level;\n\tint bits_per_level;\n\tvoid *pgd;\n};\n\nstruct arm_lpae_io_pgtable_walk_data {\n\tu64 ptes[4];\n};\n\nstruct mhu_db_link {\n\tunsigned int irq;\n\tvoid *tx_reg;\n\tvoid *rx_reg;\n};\n\nstruct mbox_chan_ops;\n\nstruct mbox_chan;\n\nstruct mbox_controller {\n\tstruct device *dev;\n\tconst struct mbox_chan_ops *ops;\n\tstruct mbox_chan *chans;\n\tint num_chans;\n\tbool txdone_irq;\n\tbool txdone_poll;\n\tunsigned int txpoll_period;\n\tstruct mbox_chan * (*of_xlate)(struct mbox_controller *, const struct of_phandle_args *);\n\tstruct hrtimer poll_hrt;\n\tspinlock_t poll_hrt_lock;\n\tstruct list_head node;\n};\n\nstruct arm_mhu {\n\tvoid *base;\n\tstruct mhu_db_link mlink[3];\n\tstruct mbox_controller mbox;\n\tstruct device *dev;\n};\n\nstruct mhu_link {\n\tunsigned int irq;\n\tvoid *tx_reg;\n\tvoid *rx_reg;\n};\n\nstruct mbox_client;\n\nstruct mbox_chan {\n\tstruct mbox_controller *mbox;\n\tunsigned int txdone_method;\n\tstruct mbox_client *cl;\n\tstruct completion tx_complete;\n\tvoid *active_req;\n\tunsigned int msg_count;\n\tunsigned int msg_free;\n\tvoid *msg_data[20];\n\tspinlock_t lock;\n\tvoid *con_priv;\n};\n\nstruct arm_mhu___2 {\n\tvoid *base;\n\tstruct mhu_link mlink[3];\n\tstruct mbox_chan chan[3];\n\tstruct mbox_controller mbox;\n};\n\nstruct perf_cpu_pmu_context;\n\nstruct perf_event;\n\nstruct perf_event_pmu_context;\n\nstruct kmem_cache;\n\nstruct perf_output_handle;\n\nstruct pmu {\n\tstruct list_head entry;\n\tstruct module *module;\n\tstruct device *dev;\n\tstruct device *parent;\n\tconst struct attribute_group **attr_groups;\n\tconst struct attribute_group **attr_update;\n\tconst char *name;\n\tint type;\n\tint capabilities;\n\tunsigned int scope;\n\tint *pmu_disable_count;\n\tstruct perf_cpu_pmu_context *cpu_pmu_context;\n\tatomic_t exclusive_cnt;\n\tint task_ctx_nr;\n\tint hrtimer_interval_ms;\n\tunsigned int nr_addr_filters;\n\tvoid (*pmu_enable)(struct pmu *);\n\tvoid (*pmu_disable)(struct pmu *);\n\tint (*event_init)(struct perf_event *);\n\tvoid (*event_mapped)(struct perf_event *, struct mm_struct *);\n\tvoid (*event_unmapped)(struct perf_event *, struct mm_struct *);\n\tint (*add)(struct perf_event *, int);\n\tvoid (*del)(struct perf_event *, int);\n\tvoid (*start)(struct perf_event *, int);\n\tvoid (*stop)(struct perf_event *, int);\n\tvoid (*read)(struct perf_event *);\n\tvoid (*start_txn)(struct pmu *, unsigned int);\n\tint (*commit_txn)(struct pmu *);\n\tvoid (*cancel_txn)(struct pmu *);\n\tint (*event_idx)(struct perf_event *);\n\tvoid (*sched_task)(struct perf_event_pmu_context *, bool);\n\tstruct kmem_cache *task_ctx_cache;\n\tvoid (*swap_task_ctx)(struct perf_event_pmu_context *, struct perf_event_pmu_context *);\n\tvoid * (*setup_aux)(struct perf_event *, void **, int, bool);\n\tvoid (*free_aux)(void *);\n\tlong int (*snapshot_aux)(struct perf_event *, struct perf_output_handle *, long unsigned int);\n\tint (*addr_filters_validate)(struct list_head *);\n\tvoid (*addr_filters_sync)(struct perf_event *);\n\tint (*aux_output_match)(struct perf_event *);\n\tbool (*filter)(struct pmu *, int);\n\tint (*check_period)(struct perf_event *, u64);\n};\n\nstruct pmu_hw_events;\n\nstruct hw_perf_event;\n\nstruct perf_event_attr;\n\nstruct arm_pmu {\n\tstruct pmu pmu;\n\tcpumask_t supported_cpus;\n\tchar *name;\n\tint pmuver;\n\tirqreturn_t (*handle_irq)(struct arm_pmu *);\n\tvoid (*enable)(struct perf_event *);\n\tvoid (*disable)(struct perf_event *);\n\tint (*get_event_idx)(struct pmu_hw_events *, struct perf_event *);\n\tvoid (*clear_event_idx)(struct pmu_hw_events *, struct perf_event *);\n\tint (*set_event_filter)(struct hw_perf_event *, struct perf_event_attr *);\n\tu64 (*read_counter)(struct perf_event *);\n\tvoid (*write_counter)(struct perf_event *, u64);\n\tvoid (*start)(struct arm_pmu *);\n\tvoid (*stop)(struct arm_pmu *);\n\tvoid (*reset)(void *);\n\tint (*map_event)(struct perf_event *);\n\tlong unsigned int cntr_mask[1];\n\tbool secure_access;\n\tlong unsigned int pmceid_bitmap[1];\n\tlong unsigned int pmceid_ext_bitmap[1];\n\tstruct platform_device *plat_device;\n\tstruct pmu_hw_events *hw_events;\n\tstruct hlist_node node;\n\tstruct notifier_block cpu_pm_nb;\n\tconst struct attribute_group *attr_groups[5];\n\tu64 reg_pmmir;\n\tlong unsigned int acpi_cpuid;\n};\n\nstruct arm_pmu_entry {\n\tstruct list_head entry;\n\tstruct arm_pmu *arm_pmu;\n};\n\nstruct arm_smccc_args {\n\tlong unsigned int args[8];\n};\n\nstruct arm_smccc_quirk {\n\tint id;\n\tunion {\n\t\tlong unsigned int a6;\n\t} state;\n};\n\nstruct arm_smccc_res {\n\tlong unsigned int a0;\n\tlong unsigned int a1;\n\tlong unsigned int a2;\n\tlong unsigned int a3;\n};\n\nstruct arm_smmu_master;\n\nstruct arm_smmu_attach_state {\n\tstruct iommu_domain *old_domain;\n\tstruct arm_smmu_master *master;\n\tbool cd_needs_ats;\n\tbool disable_ats;\n\tioasid_t ssid;\n\tbool ats_enabled;\n};\n\nstruct arm_smmu_cfg;\n\nstruct arm_smmu_cb {\n\tu64 ttbr[2];\n\tu32 tcr[2];\n\tu32 mair[2];\n\tstruct arm_smmu_cfg *cfg;\n};\n\nstruct arm_smmu_cd {\n\t__le64 data[8];\n};\n\nstruct arm_smmu_entry_writer_ops;\n\nstruct arm_smmu_entry_writer {\n\tconst struct arm_smmu_entry_writer_ops *ops;\n\tstruct arm_smmu_master *master;\n};\n\nstruct arm_smmu_cd_writer {\n\tstruct arm_smmu_entry_writer writer;\n\tunsigned int ssid;\n};\n\nstruct arm_smmu_cdtab_l1 {\n\t__le64 l2ptr;\n};\n\nstruct arm_smmu_cdtab_l2 {\n\tstruct arm_smmu_cd cds[1024];\n};\n\nstruct arm_smmu_cfg {\n\tu8 cbndx;\n\tu8 irptndx;\n\tunion {\n\t\tu16 asid;\n\t\tu16 vmid;\n\t};\n\tenum arm_smmu_cbar_type cbar;\n\tenum arm_smmu_context_fmt fmt;\n\tbool flush_walk_prefer_tlbiasid;\n};\n\nstruct arm_smmu_ll_queue {\n\tunion {\n\t\tu64 val;\n\t\tstruct {\n\t\t\tu32 prod;\n\t\t\tu32 cons;\n\t\t};\n\t\tstruct {\n\t\t\tatomic_t prod;\n\t\t\tatomic_t cons;\n\t\t} atomic;\n\t\tu8 __pad[64];\n\t};\n\tu32 max_n_shift;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct arm_smmu_queue {\n\tstruct arm_smmu_ll_queue llq;\n\tint irq;\n\t__le64 *base;\n\tdma_addr_t base_dma;\n\tu64 q_base;\n\tsize_t ent_dwords;\n\tu32 *prod_reg;\n\tu32 *cons_reg;\n\tlong: 64;\n};\n\nstruct arm_smmu_cmdq_ent;\n\nstruct arm_smmu_cmdq {\n\tstruct arm_smmu_queue q;\n\tatomic_long_t *valid_map;\n\tatomic_t owner_prod;\n\tatomic_t lock;\n\tbool (*supports_cmd)(struct arm_smmu_cmdq_ent *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct arm_smmu_cmdq_batch {\n\tu64 cmds[128];\n\tstruct arm_smmu_cmdq *cmdq;\n\tint num;\n};\n\nstruct arm_smmu_cmdq_ent {\n\tu8 opcode;\n\tbool substream_valid;\n\tunion {\n\t\tstruct {\n\t\t\tu32 sid;\n\t\t} prefetch;\n\t\tstruct {\n\t\t\tu32 sid;\n\t\t\tu32 ssid;\n\t\t\tunion {\n\t\t\t\tbool leaf;\n\t\t\t\tu8 span;\n\t\t\t};\n\t\t} cfgi;\n\t\tstruct {\n\t\t\tu8 num;\n\t\t\tu8 scale;\n\t\t\tu16 asid;\n\t\t\tu16 vmid;\n\t\t\tbool leaf;\n\t\t\tu8 ttl;\n\t\t\tu8 tg;\n\t\t\tu64 addr;\n\t\t} tlbi;\n\t\tstruct {\n\t\t\tu32 sid;\n\t\t\tu32 ssid;\n\t\t\tu64 addr;\n\t\t\tu8 size;\n\t\t\tbool global;\n\t\t} atc;\n\t\tstruct {\n\t\t\tu32 sid;\n\t\t\tu32 ssid;\n\t\t\tu16 grpid;\n\t\t\tenum pri_resp resp;\n\t\t} pri;\n\t\tstruct {\n\t\t\tu32 sid;\n\t\t\tu16 stag;\n\t\t\tu8 resp;\n\t\t} resume;\n\t\tstruct {\n\t\t\tu64 msiaddr;\n\t\t} sync;\n\t};\n};\n\nstruct arm_smmu_context_fault_info {\n\tlong unsigned int iova;\n\tu32 fsr;\n\tu32 fsynr;\n\tu32 cbfrsynra;\n};\n\nstruct arm_smmu_ctx_desc {\n\tu16 asid;\n};\n\nstruct arm_smmu_ctx_desc_cfg {\n\tunion {\n\t\tstruct {\n\t\t\tstruct arm_smmu_cd *table;\n\t\t\tunsigned int num_ents;\n\t\t} linear;\n\t\tstruct {\n\t\t\tstruct arm_smmu_cdtab_l1 *l1tab;\n\t\t\tstruct arm_smmu_cdtab_l2 **l2ptrs;\n\t\t\tunsigned int num_l1_ents;\n\t\t} l2;\n\t};\n\tdma_addr_t cdtab_dma;\n\tunsigned int used_ssids;\n\tu8 in_ste;\n\tu8 s1fmt;\n\tu8 s1cdmax;\n};\n\nstruct iopf_queue;\n\nstruct arm_smmu_evtq {\n\tstruct arm_smmu_queue q;\n\tstruct iopf_queue *iopf;\n\tu32 max_stalls;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct arm_smmu_priq {\n\tstruct arm_smmu_queue q;\n};\n\nstruct arm_smmu_ste;\n\nstruct arm_smmu_strtab_l1;\n\nstruct arm_smmu_strtab_l2;\n\nstruct arm_smmu_strtab_cfg {\n\tunion {\n\t\tstruct {\n\t\t\tstruct arm_smmu_ste *table;\n\t\t\tdma_addr_t ste_dma;\n\t\t\tunsigned int num_ents;\n\t\t} linear;\n\t\tstruct {\n\t\t\tstruct arm_smmu_strtab_l1 *l1tab;\n\t\t\tstruct arm_smmu_strtab_l2 **l2ptrs;\n\t\t\tdma_addr_t l1_dma;\n\t\t\tunsigned int num_l1_ents;\n\t\t} l2;\n\t};\n};\n\nstruct arm_smmu_impl_ops;\n\nstruct arm_smmu_device {\n\tstruct device *dev;\n\tstruct device *impl_dev;\n\tconst struct arm_smmu_impl_ops *impl_ops;\n\tvoid *base;\n\tvoid *page1;\n\tu32 features;\n\tu32 options;\n\tlong: 64;\n\tlong: 64;\n\tstruct arm_smmu_cmdq cmdq;\n\tstruct arm_smmu_evtq evtq;\n\tstruct arm_smmu_priq priq;\n\tint gerr_irq;\n\tint combined_irq;\n\tlong unsigned int ias;\n\tlong unsigned int oas;\n\tlong unsigned int pgsize_bitmap;\n\tunsigned int asid_bits;\n\tunsigned int vmid_bits;\n\tstruct ida vmid_map;\n\tunsigned int ssid_bits;\n\tunsigned int sid_bits;\n\tstruct arm_smmu_strtab_cfg strtab_cfg;\n\tstruct iommu_device iommu;\n\tstruct rb_root streams;\n\tstruct mutex streams_mutex;\n};\n\nstruct arm_smmu_impl;\n\nstruct arm_smmu_smr;\n\nstruct arm_smmu_s2cr;\n\nstruct arm_smmu_device___2 {\n\tstruct device *dev;\n\tvoid *base;\n\tphys_addr_t ioaddr;\n\tunsigned int numpage;\n\tunsigned int pgshift;\n\tu32 features;\n\tenum arm_smmu_arch_version version;\n\tenum arm_smmu_implementation model;\n\tconst struct arm_smmu_impl *impl;\n\tu32 num_context_banks;\n\tu32 num_s2_context_banks;\n\tlong unsigned int context_map[2];\n\tstruct arm_smmu_cb *cbs;\n\tatomic_t irptndx;\n\tu32 num_mapping_groups;\n\tu16 streamid_mask;\n\tu16 smr_mask_mask;\n\tstruct arm_smmu_smr *smrs;\n\tstruct arm_smmu_s2cr *s2crs;\n\tstruct mutex stream_map_mutex;\n\tlong unsigned int va_size;\n\tlong unsigned int ipa_size;\n\tlong unsigned int pa_size;\n\tlong unsigned int pgsize_bitmap;\n\tint num_context_irqs;\n\tint num_clks;\n\tunsigned int *irqs;\n\tstruct clk_bulk_data *clks;\n\tspinlock_t global_sync_lock;\n\tstruct iommu_device iommu;\n};\n\nstruct arm_smmu_domain {\n\tstruct arm_smmu_device___2 *smmu;\n\tstruct io_pgtable_ops *pgtbl_ops;\n\tlong unsigned int pgtbl_quirks;\n\tconst struct iommu_flush_ops *flush_ops;\n\tstruct arm_smmu_cfg cfg;\n\tenum arm_smmu_domain_stage___2 stage;\n\tstruct mutex init_mutex;\n\tspinlock_t cb_lock;\n\tstruct iommu_domain domain;\n};\n\nstruct arm_smmu_s2_cfg {\n\tu16 vmid;\n};\n\nstruct mmu_notifier_ops;\n\nstruct mmu_notifier {\n\tstruct hlist_node hlist;\n\tconst struct mmu_notifier_ops *ops;\n\tstruct mm_struct *mm;\n\tstruct callback_head rcu;\n\tunsigned int users;\n};\n\nstruct arm_smmu_domain___2 {\n\tstruct arm_smmu_device *smmu;\n\tstruct io_pgtable_ops *pgtbl_ops;\n\tatomic_t nr_ats_masters;\n\tenum arm_smmu_domain_stage stage;\n\tunion {\n\t\tstruct arm_smmu_ctx_desc cd;\n\t\tstruct arm_smmu_s2_cfg s2_cfg;\n\t};\n\tstruct iommu_domain domain;\n\tstruct list_head devices;\n\tspinlock_t devices_lock;\n\tbool enforce_cache_coherency: 1;\n\tbool nest_parent: 1;\n\tstruct mmu_notifier mmu_notifier;\n};\n\nstruct arm_smmu_entry_writer_ops {\n\tvoid (*get_used)(const __le64 *, __le64 *);\n\tvoid (*sync)(struct arm_smmu_entry_writer *);\n};\n\nstruct arm_smmu_event {\n\tu8 stall: 1;\n\tu8 ssv: 1;\n\tu8 privileged: 1;\n\tu8 instruction: 1;\n\tu8 s2: 1;\n\tu8 read: 1;\n\tu8 ttrnw: 1;\n\tu8 class_tt: 1;\n\tu8 id;\n\tu8 class;\n\tu16 stag;\n\tu32 sid;\n\tu32 ssid;\n\tu64 iova;\n\tu64 ipa;\n\tu64 fetch_addr;\n\tstruct device *dev;\n};\n\nstruct arm_smmu_impl {\n\tu32 (*read_reg)(struct arm_smmu_device___2 *, int, int);\n\tvoid (*write_reg)(struct arm_smmu_device___2 *, int, int, u32);\n\tu64 (*read_reg64)(struct arm_smmu_device___2 *, int, int);\n\tvoid (*write_reg64)(struct arm_smmu_device___2 *, int, int, u64);\n\tint (*cfg_probe)(struct arm_smmu_device___2 *);\n\tint (*reset)(struct arm_smmu_device___2 *);\n\tint (*init_context)(struct arm_smmu_domain *, struct io_pgtable_cfg *, struct device *);\n\tvoid (*tlb_sync)(struct arm_smmu_device___2 *, int, int, int);\n\tint (*def_domain_type)(struct device *);\n\tirqreturn_t (*global_fault)(int, void *);\n\tirqreturn_t (*context_fault)(int, void *);\n\tbool context_fault_needs_threaded_irq;\n\tint (*alloc_context_bank)(struct arm_smmu_domain *, struct arm_smmu_device___2 *, struct device *, int);\n\tvoid (*write_s2cr)(struct arm_smmu_device___2 *, int);\n\tvoid (*write_sctlr)(struct arm_smmu_device___2 *, int, u32);\n\tvoid (*probe_finalize)(struct arm_smmu_device___2 *, struct device *);\n};\n\nstruct arm_smmu_impl_ops {\n\tint (*device_reset)(struct arm_smmu_device *);\n\tvoid (*device_remove)(struct arm_smmu_device *);\n\tint (*init_structures)(struct arm_smmu_device *);\n\tstruct arm_smmu_cmdq * (*get_secondary_cmdq)(struct arm_smmu_device *, struct arm_smmu_cmdq_ent *);\n};\n\nstruct arm_smmu_stream;\n\nstruct arm_smmu_master {\n\tstruct arm_smmu_device *smmu;\n\tstruct device *dev;\n\tstruct arm_smmu_stream *streams;\n\tstruct arm_smmu_ctx_desc_cfg cd_table;\n\tunsigned int num_streams;\n\tbool ats_enabled: 1;\n\tbool ste_ats_enabled: 1;\n\tbool stall_enabled;\n\tbool sva_enabled;\n\tbool iopf_enabled;\n\tunsigned int ssid_bits;\n};\n\nstruct arm_smmu_master_cfg {\n\tstruct arm_smmu_device___2 *smmu;\n\ts16 smendx[0];\n};\n\nstruct arm_smmu_master_domain {\n\tstruct list_head devices_elm;\n\tstruct arm_smmu_master *master;\n\tioasid_t ssid;\n\tbool nested_ats_flush: 1;\n};\n\nstruct arm_smmu_match_data {\n\tenum arm_smmu_arch_version version;\n\tenum arm_smmu_implementation model;\n};\n\nstruct arm_vsmmu;\n\nstruct arm_smmu_nested_domain {\n\tstruct iommu_domain domain;\n\tstruct arm_vsmmu *vsmmu;\n\tbool enable_ats: 1;\n\t__le64 ste[2];\n};\n\nstruct arm_smmu_option_prop {\n\tu32 opt;\n\tconst char *prop;\n};\n\nstruct arm_smmu_queue_poll {\n\tktime_t timeout;\n\tunsigned int delay;\n\tunsigned int spin_cnt;\n\tbool wfe;\n};\n\nstruct arm_smmu_s2cr {\n\tstruct iommu_group *group;\n\tint count;\n\tenum arm_smmu_s2cr_type type;\n\tenum arm_smmu_s2cr_privcfg privcfg;\n\tu8 cbndx;\n};\n\nstruct arm_smmu_smr {\n\tu16 mask;\n\tu16 id;\n\tbool valid;\n\tbool pinned;\n};\n\nstruct arm_smmu_ste {\n\t__le64 data[8];\n};\n\nstruct arm_smmu_ste_writer {\n\tstruct arm_smmu_entry_writer writer;\n\tu32 sid;\n};\n\nstruct arm_smmu_stream {\n\tu32 id;\n\tstruct arm_smmu_master *master;\n\tstruct rb_node node;\n};\n\nstruct arm_smmu_strtab_l1 {\n\t__le64 l2ptr;\n};\n\nstruct arm_smmu_strtab_l2 {\n\tstruct arm_smmu_ste stes[256];\n};\n\nstruct arm_v7s_io_pgtable {\n\tstruct io_pgtable iop;\n\tarm_v7s_iopte *pgd;\n\tstruct kmem_cache *l2_tables;\n};\n\nstruct iommufd_object {\n\trefcount_t shortterm_users;\n\trefcount_t users;\n\tenum iommufd_object_type type;\n\tunsigned int id;\n};\n\nstruct iommufd_ctx;\n\nstruct iommufd_hwpt_paging;\n\nstruct iommufd_viommu_ops;\n\nstruct iommufd_viommu {\n\tstruct iommufd_object obj;\n\tstruct iommufd_ctx *ictx;\n\tstruct iommu_device *iommu_dev;\n\tstruct iommufd_hwpt_paging *hwpt;\n\tconst struct iommufd_viommu_ops *ops;\n\tstruct xarray vdevs;\n\tunsigned int type;\n};\n\nstruct arm_vsmmu {\n\tstruct iommufd_viommu core;\n\tstruct arm_smmu_device *smmu;\n\tstruct arm_smmu_domain___2 *s2_parent;\n\tu16 vmid;\n};\n\nstruct armada37xx_cpufreq_state {\n\tstruct platform_device *pdev;\n\tstruct device *cpu_dev;\n\tstruct regmap *regmap;\n\tu32 nb_l0l1;\n\tu32 nb_l2l3;\n\tu32 nb_dyn_mod;\n\tu32 nb_cpu_load;\n};\n\nstruct value_to_freq;\n\nstruct armada38x_rtc_data;\n\nstruct armada38x_rtc {\n\tstruct rtc_device *rtc_dev;\n\tvoid *regs;\n\tvoid *regs_soc;\n\tspinlock_t lock;\n\tint irq;\n\tbool initialized;\n\tstruct value_to_freq *val_to_freq;\n\tconst struct armada38x_rtc_data *data;\n};\n\nstruct armada38x_rtc_data {\n\tvoid (*update_mbus_timing)(struct armada38x_rtc *);\n\tu32 (*read_rtc_reg)(struct armada38x_rtc *, u8);\n\tvoid (*clear_isr)(struct armada38x_rtc *);\n\tvoid (*unmask_interrupt)(struct armada38x_rtc *);\n\tu32 alarm;\n};\n\nstruct dw_pcie;\n\nstruct armada8k_pcie {\n\tstruct dw_pcie *pci;\n\tstruct clk *clk;\n\tstruct clk *clk_reg;\n\tstruct phy *phy[4];\n\tunsigned int phy_count;\n};\n\nstruct armada_37xx_dvfs {\n\tu32 cpu_freq_max;\n\tu8 divider[4];\n\tu32 avs[4];\n};\n\nstruct armada_37xx_pin_group;\n\nstruct armada_37xx_pin_data {\n\tu8 nr_pins;\n\tchar *name;\n\tstruct armada_37xx_pin_group *groups;\n\tint ngroups;\n};\n\nstruct armada_37xx_pin_group {\n\tconst char *name;\n\tunsigned int start_pin;\n\tunsigned int npins;\n\tu32 reg_mask;\n\tu32 val[3];\n\tunsigned int extra_pin;\n\tunsigned int extra_npins;\n\tconst char *funcs[3];\n\tunsigned int *pins;\n};\n\nstruct pinctrl_pin_desc;\n\nstruct pinctrl_ops;\n\nstruct pinmux_ops;\n\nstruct pinconf_ops;\n\nstruct pinconf_generic_params;\n\nstruct pin_config_item;\n\nstruct pinctrl_desc {\n\tconst char *name;\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tconst struct pinctrl_ops *pctlops;\n\tconst struct pinmux_ops *pmxops;\n\tconst struct pinconf_ops *confops;\n\tstruct module *owner;\n\tunsigned int num_custom_params;\n\tconst struct pinconf_generic_params *custom_params;\n\tconst struct pin_config_item *custom_conf_items;\n\tbool link_consumers;\n};\n\nstruct armada_37xx_pm_state {\n\tu32 out_en_l;\n\tu32 out_en_h;\n\tu32 out_val_l;\n\tu32 out_val_h;\n\tu32 irq_en_l;\n\tu32 irq_en_h;\n\tu32 irq_pol_l;\n\tu32 irq_pol_h;\n\tu32 selection;\n};\n\nstruct pinctrl_dev;\n\nstruct armada_37xx_pmx_func;\n\nstruct armada_37xx_pinctrl {\n\tstruct regmap *regmap;\n\tvoid *base;\n\tconst struct armada_37xx_pin_data *data;\n\tstruct device *dev;\n\tstruct gpio_chip gpio_chip;\n\traw_spinlock_t irq_lock;\n\tstruct pinctrl_desc pctl;\n\tstruct pinctrl_dev *pctl_dev;\n\tstruct armada_37xx_pin_group *groups;\n\tunsigned int ngroups;\n\tstruct armada_37xx_pmx_func *funcs;\n\tunsigned int nfuncs;\n\tstruct armada_37xx_pm_state pm;\n};\n\nstruct armada_37xx_pmx_func {\n\tconst char *name;\n\tconst char **groups;\n\tunsigned int ngroups;\n};\n\nstruct armada_thermal_priv;\n\nstruct armada_drvdata {\n\tenum drvtype type;\n\tunion {\n\t\tstruct armada_thermal_priv *priv;\n\t\tstruct thermal_zone_device *tz;\n\t} data;\n};\n\nstruct armada_thermal_data {\n\tvoid (*init)(struct platform_device *, struct armada_thermal_priv *);\n\ts64 coef_b;\n\ts64 coef_m;\n\tu32 coef_div;\n\tbool inverted;\n\tbool signed_sample;\n\tunsigned int temp_shift;\n\tunsigned int temp_mask;\n\tunsigned int thresh_shift;\n\tunsigned int hyst_shift;\n\tunsigned int hyst_mask;\n\tu32 is_valid_bit;\n\tunsigned int syscon_control0_off;\n\tunsigned int syscon_control1_off;\n\tunsigned int syscon_status_off;\n\tunsigned int dfx_irq_cause_off;\n\tunsigned int dfx_irq_mask_off;\n\tunsigned int dfx_overheat_irq;\n\tunsigned int dfx_server_irq_mask_off;\n\tunsigned int dfx_server_irq_en;\n\tunsigned int cpu_nr;\n};\n\nstruct armada_thermal_priv {\n\tstruct device *dev;\n\tstruct regmap *syscon;\n\tchar zone_name[20];\n\tstruct mutex update_lock;\n\tstruct armada_thermal_data *data;\n\tstruct thermal_zone_device *overheat_sensor;\n\tint interrupt_source;\n\tint current_channel;\n\tlong int current_threshold;\n\tlong int current_hysteresis;\n};\n\nstruct armada_thermal_sensor {\n\tstruct armada_thermal_priv *priv;\n\tint id;\n};\n\nstruct armctrl_ic {\n\tvoid *base;\n\tvoid *pending[3];\n\tvoid *enable[3];\n\tvoid *disable[3];\n\tstruct irq_domain *domain;\n};\n\nstruct armv8pmu_probe_info {\n\tstruct arm_pmu *pmu;\n\tbool present;\n};\n\nstruct arphdr {\n\t__be16 ar_hrd;\n\t__be16 ar_pro;\n\tunsigned char ar_hln;\n\tunsigned char ar_pln;\n\t__be16 ar_op;\n};\n\nstruct sockaddr {\n\tsa_family_t sa_family;\n\tunion {\n\t\tchar sa_data_min[14];\n\t\tstruct {\n\t\t\tstruct {} __empty_sa_data;\n\t\t\tchar sa_data[0];\n\t\t};\n\t};\n};\n\nstruct arpreq {\n\tstruct sockaddr arp_pa;\n\tstruct sockaddr arp_ha;\n\tint arp_flags;\n\tstruct sockaddr arp_netmask;\n\tchar arp_dev[16];\n};\n\nstruct trace_array;\n\nstruct trace_buffer;\n\nstruct trace_array_cpu;\n\nstruct array_buffer {\n\tstruct trace_array *tr;\n\tstruct trace_buffer *buffer;\n\tstruct trace_array_cpu *data;\n\tu64 time_start;\n\tint cpu;\n};\n\nstruct sas_work {\n\tstruct list_head drain_node;\n\tstruct work_struct work;\n};\n\nstruct asd_sas_phy;\n\nstruct asd_sas_event {\n\tstruct sas_work work;\n\tstruct asd_sas_phy *phy;\n\tint event;\n};\n\nstruct sas_phy;\n\nstruct asd_sas_port;\n\nstruct sas_ha_struct;\n\nstruct asd_sas_phy {\n\tatomic_t event_nr;\n\tint in_shutdown;\n\tint error;\n\tint suspended;\n\tstruct sas_phy *phy;\n\tint enabled;\n\tint id;\n\tenum sas_protocol iproto;\n\tenum sas_protocol tproto;\n\tenum sas_phy_role role;\n\tenum sas_oob_mode oob_mode;\n\tenum sas_linkrate linkrate;\n\tu8 *sas_addr;\n\tu8 attached_sas_addr[8];\n\tspinlock_t frame_rcvd_lock;\n\tu8 *frame_rcvd;\n\tint frame_rcvd_size;\n\tspinlock_t sas_prim_lock;\n\tu32 sas_prim;\n\tstruct list_head port_phy_el;\n\tstruct asd_sas_port *port;\n\tstruct sas_ha_struct *ha;\n\tvoid *lldd_phy;\n};\n\nstruct sas_discovery_event {\n\tstruct sas_work work;\n\tstruct asd_sas_port *port;\n};\n\nstruct sas_discovery {\n\tstruct sas_discovery_event disc_work[4];\n\tlong unsigned int pending;\n\tu8 fanout_sas_addr[8];\n\tu8 eeds_a[8];\n\tu8 eeds_b[8];\n\tint max_level;\n};\n\nstruct domain_device;\n\nstruct sas_port;\n\nstruct asd_sas_port {\n\tstruct sas_discovery disc;\n\tstruct domain_device *port_dev;\n\tspinlock_t dev_list_lock;\n\tstruct list_head dev_list;\n\tstruct list_head disco_list;\n\tstruct list_head destroy_list;\n\tstruct list_head sas_port_del_list;\n\tenum sas_linkrate linkrate;\n\tstruct sas_work work;\n\tint suspended;\n\tint id;\n\tu8 sas_addr[8];\n\tu8 attached_sas_addr[8];\n\tenum sas_protocol iproto;\n\tenum sas_protocol tproto;\n\tenum sas_oob_mode oob_mode;\n\tspinlock_t phy_list_lock;\n\tstruct list_head phy_list;\n\tint num_phys;\n\tu32 phy_mask;\n\tstruct sas_ha_struct *ha;\n\tstruct sas_port *port;\n\tvoid *lldd_port;\n};\n\ntypedef int (*asn1_action_t)(void *, size_t, unsigned char, const void *, size_t);\n\nstruct asn1_decoder {\n\tconst unsigned char *machine;\n\tsize_t machlen;\n\tconst asn1_action_t *actions;\n};\n\nstruct assoc_array_ptr;\n\nstruct assoc_array {\n\tstruct assoc_array_ptr *root;\n\tlong unsigned int nr_leaves_on_tree;\n};\n\nstruct assoc_array_node;\n\nstruct assoc_array_delete_collapse_context {\n\tstruct assoc_array_node *node;\n\tconst void *skip_leaf;\n\tint slot;\n};\n\nstruct assoc_array_ops;\n\nstruct assoc_array_edit {\n\tstruct callback_head rcu;\n\tstruct assoc_array *array;\n\tconst struct assoc_array_ops *ops;\n\tconst struct assoc_array_ops *ops_for_excised_subtree;\n\tstruct assoc_array_ptr *leaf;\n\tstruct assoc_array_ptr **leaf_p;\n\tstruct assoc_array_ptr *dead_leaf;\n\tstruct assoc_array_ptr *new_meta[3];\n\tstruct assoc_array_ptr *excised_meta[1];\n\tstruct assoc_array_ptr *excised_subtree;\n\tstruct assoc_array_ptr **set_backpointers[16];\n\tstruct assoc_array_ptr *set_backpointers_to;\n\tstruct assoc_array_node *adjust_count_on;\n\tlong int adjust_count_by;\n\tstruct {\n\t\tstruct assoc_array_ptr **ptr;\n\t\tstruct assoc_array_ptr *to;\n\t} set[2];\n\tstruct {\n\t\tu8 *p;\n\t\tu8 to;\n\t} set_parent_slot[1];\n\tu8 segment_cache[17];\n};\n\nstruct assoc_array_node {\n\tstruct assoc_array_ptr *back_pointer;\n\tu8 parent_slot;\n\tstruct assoc_array_ptr *slots[16];\n\tlong unsigned int nr_leaves_on_branch;\n};\n\nstruct assoc_array_ops {\n\tlong unsigned int (*get_key_chunk)(const void *, int);\n\tlong unsigned int (*get_object_key_chunk)(const void *, int);\n\tbool (*compare_object)(const void *, const void *);\n\tint (*diff_objects)(const void *, const void *);\n\tvoid (*free_object)(void *);\n};\n\nstruct assoc_array_shortcut {\n\tstruct assoc_array_ptr *back_pointer;\n\tint parent_slot;\n\tint skip_to_level;\n\tstruct assoc_array_ptr *next_node;\n\tlong unsigned int index_key[0];\n};\n\nstruct assoc_array_walk_result {\n\tstruct {\n\t\tstruct assoc_array_node *node;\n\t\tint level;\n\t\tint slot;\n\t} terminal_node;\n\tstruct {\n\t\tstruct assoc_array_shortcut *shortcut;\n\t\tint level;\n\t\tint sc_level;\n\t\tlong unsigned int sc_segments;\n\t\tlong unsigned int dissimilarity;\n\t} wrong_shortcut;\n};\n\nstruct asym_cap_data {\n\tstruct list_head link;\n\tstruct callback_head rcu;\n\tlong unsigned int capacity;\n\tlong unsigned int cpus[0];\n};\n\nstruct asymmetric_key_id {\n\tshort unsigned int len;\n\tunsigned char data[0];\n};\n\nstruct asymmetric_key_ids {\n\tvoid *id[3];\n};\n\nstruct key_preparsed_payload;\n\nstruct asymmetric_key_parser {\n\tstruct list_head link;\n\tstruct module *owner;\n\tconst char *name;\n\tint (*parse)(struct key_preparsed_payload *);\n};\n\nstruct key;\n\nstruct kernel_pkey_params;\n\nstruct kernel_pkey_query;\n\nstruct public_key_signature;\n\nstruct asymmetric_key_subtype {\n\tstruct module *owner;\n\tconst char *name;\n\tshort unsigned int name_len;\n\tvoid (*describe)(const struct key *, struct seq_file *);\n\tvoid (*destroy)(void *, void *);\n\tint (*query)(const struct kernel_pkey_params *, struct kernel_pkey_query *);\n\tint (*eds_op)(struct kernel_pkey_params *, const void *, void *);\n\tint (*verify_signature)(const struct key *, const struct public_key_signature *);\n};\n\nstruct usb_dev_state;\n\nstruct pid;\n\nstruct urb;\n\nstruct usb_memory;\n\nstruct async {\n\tstruct list_head asynclist;\n\tstruct usb_dev_state *ps;\n\tstruct pid *pid;\n\tconst struct cred *cred;\n\tunsigned int signr;\n\tunsigned int ifnum;\n\tvoid *userbuffer;\n\tvoid *userurb;\n\tsigval_t userurb_sigval;\n\tstruct urb *urb;\n\tstruct usb_memory *usbm;\n\tunsigned int mem_usage;\n\tint status;\n\tu8 bulk_addr;\n\tu8 bulk_status;\n};\n\nstruct async_domain {\n\tstruct list_head pending;\n\tunsigned int registered: 1;\n};\n\ntypedef void (*async_func_t)(void *, async_cookie_t);\n\nstruct async_entry {\n\tstruct list_head domain_list;\n\tstruct list_head global_list;\n\tstruct work_struct work;\n\tasync_cookie_t cookie;\n\tasync_func_t func;\n\tvoid *data;\n\tstruct async_domain *domain;\n};\n\nstruct io_poll {\n\tstruct file *file;\n\tstruct wait_queue_head *head;\n\t__poll_t events;\n\tint retries;\n\tstruct wait_queue_entry wait;\n};\n\nstruct async_poll {\n\tstruct io_poll poll;\n\tstruct io_poll *double_poll;\n};\n\nstruct async_scan_data {\n\tstruct list_head list;\n\tstruct Scsi_Host *shost;\n\tstruct completion prev_finished;\n};\n\nstruct at803x_context {\n\tu16 bmcr;\n\tu16 advertise;\n\tu16 control1000;\n\tu16 int_enable;\n\tu16 smart_speed;\n\tu16 led_control;\n};\n\nstruct regulator_dev;\n\nstruct at803x_priv {\n\tint flags;\n\tu16 clk_25m_reg;\n\tu16 clk_25m_mask;\n\tu8 smarteee_lpi_tw_1g;\n\tu8 smarteee_lpi_tw_100m;\n\tbool is_fiber;\n\tbool is_1000basex;\n\tstruct regulator_dev *vddio_rdev;\n\tstruct regulator_dev *vddh_rdev;\n};\n\nstruct at803x_ss_mask {\n\tu16 speed_mask;\n\tu8 speed_shift;\n};\n\nstruct ata_acpi_drive {\n\tu32 pio;\n\tu32 dma;\n};\n\nstruct ata_acpi_gtf {\n\tu8 tf[7];\n};\n\nstruct ata_acpi_gtm {\n\tstruct ata_acpi_drive drive[2];\n\tu32 flags;\n};\n\nstruct ata_device;\n\nstruct ata_acpi_hotplug_context {\n\tstruct acpi_hotplug_context hp;\n\tunion {\n\t\tstruct ata_port *ap;\n\t\tstruct ata_device *dev;\n\t} data;\n};\n\nstruct ata_bmdma_prd {\n\t__le32 addr;\n\t__le32 flags_len;\n};\n\nstruct ata_cdl {\n\tu8 desc_log_buf[512];\n\tu8 ncq_sense_log_buf[1024];\n};\n\nstruct ata_cpr {\n\tu8 num;\n\tu8 num_storage_elements;\n\tu64 start_lba;\n\tu64 num_lbas;\n};\n\nstruct ata_cpr_log {\n\tu8 nr_cpr;\n\tstruct ata_cpr cpr[0];\n};\n\nstruct ata_dev_quirks_entry {\n\tconst char *model_num;\n\tconst char *model_rev;\n\tunsigned int quirks;\n};\n\nstruct ata_ering_entry {\n\tunsigned int eflags;\n\tunsigned int err_mask;\n\tu64 timestamp;\n};\n\nstruct ata_ering {\n\tint cursor;\n\tstruct ata_ering_entry ring[32];\n};\n\nstruct scsi_device;\n\nstruct ata_device {\n\tstruct ata_link *link;\n\tunsigned int devno;\n\tunsigned int quirks;\n\tlong unsigned int flags;\n\tstruct scsi_device *sdev;\n\tvoid *private_data;\n\tunion acpi_object *gtf_cache;\n\tunsigned int gtf_filter;\n\tstruct device tdev;\n\tu64 n_sectors;\n\tu64 n_native_sectors;\n\tunsigned int class;\n\tlong unsigned int unpark_deadline;\n\tu8 pio_mode;\n\tu8 dma_mode;\n\tu8 xfer_mode;\n\tunsigned int xfer_shift;\n\tunsigned int multi_count;\n\tunsigned int max_sectors;\n\tunsigned int cdb_len;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tu16 cylinders;\n\tu16 heads;\n\tu16 sectors;\n\tlong: 64;\n\tunion {\n\t\tu16 id[256];\n\t\tu32 gscr[128];\n\t};\n\tu8 devslp_timing[8];\n\tu8 ncq_send_recv_cmds[20];\n\tu8 ncq_non_data_cmds[64];\n\tu32 zac_zoned_cap;\n\tu32 zac_zones_optimal_open;\n\tu32 zac_zones_optimal_nonseq;\n\tu32 zac_zones_max_open;\n\tstruct ata_cpr_log *cpr_log;\n\tstruct ata_cdl *cdl;\n\tint spdn_cnt;\n\tstruct ata_ering ering;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 sector_buf[512];\n};\n\nstruct ata_eh_cmd_timeout_ent {\n\tconst u8 *commands;\n\tconst unsigned int *timeouts;\n};\n\nstruct ata_eh_info {\n\tstruct ata_device *dev;\n\tu32 serror;\n\tunsigned int err_mask;\n\tunsigned int action;\n\tunsigned int dev_action[2];\n\tunsigned int flags;\n\tunsigned int probe_mask;\n\tchar desc[80];\n\tint desc_len;\n};\n\nstruct ata_eh_context {\n\tstruct ata_eh_info i;\n\tint tries[2];\n\tint cmd_timeout_idx[16];\n\tunsigned int classes[2];\n\tunsigned int did_probe_mask;\n\tunsigned int unloaded_mask;\n\tunsigned int saved_ncq_enabled;\n\tu8 saved_xfer_mode[2];\n\tlong unsigned int last_reset;\n};\n\nstruct ata_force_param {\n\tconst char *name;\n\tu8 cbl;\n\tu8 spd_limit;\n\tunsigned int xfer_mask;\n\tunsigned int quirk_on;\n\tunsigned int quirk_off;\n\tu16 lflags_on;\n\tu16 lflags_off;\n};\n\nstruct ata_force_ent {\n\tint port;\n\tint device;\n\tstruct ata_force_param param;\n};\n\nstruct ata_port_operations;\n\nstruct ata_host {\n\tspinlock_t lock;\n\tstruct device *dev;\n\tvoid * const *iomap;\n\tunsigned int n_ports;\n\tunsigned int n_tags;\n\tvoid *private_data;\n\tstruct ata_port_operations *ops;\n\tlong unsigned int flags;\n\tstruct kref kref;\n\tstruct mutex eh_mutex;\n\tstruct task_struct *eh_owner;\n\tstruct ata_port *simplex_claimed;\n\tstruct ata_port *ports[0];\n};\n\nstruct transport_container {\n\tstruct attribute_container ac;\n\tconst struct attribute_group *statistics;\n};\n\nstruct scsi_transport_template {\n\tstruct transport_container host_attrs;\n\tstruct transport_container target_attrs;\n\tstruct transport_container device_attrs;\n\tint (*user_scan)(struct Scsi_Host *, uint, uint, u64);\n\tint device_size;\n\tint device_private_offset;\n\tint target_size;\n\tint target_private_offset;\n\tint host_size;\n\tunsigned int create_work_queue: 1;\n\tvoid (*eh_strategy_handler)(struct Scsi_Host *);\n};\n\nstruct ata_internal {\n\tstruct scsi_transport_template t;\n\tstruct device_attribute private_port_attrs[3];\n\tstruct device_attribute private_link_attrs[3];\n\tstruct device_attribute private_dev_attrs[9];\n\tstruct transport_container link_attr_cont;\n\tstruct transport_container dev_attr_cont;\n\tstruct device_attribute *link_attrs[4];\n\tstruct device_attribute *port_attrs[4];\n\tstruct device_attribute *dev_attrs[10];\n};\n\nstruct ata_ioports {\n\tvoid *cmd_addr;\n\tvoid *data_addr;\n\tvoid *error_addr;\n\tvoid *feature_addr;\n\tvoid *nsect_addr;\n\tvoid *lbal_addr;\n\tvoid *lbam_addr;\n\tvoid *lbah_addr;\n\tvoid *device_addr;\n\tvoid *status_addr;\n\tvoid *command_addr;\n\tvoid *altstatus_addr;\n\tvoid *ctl_addr;\n\tvoid *bmdma_addr;\n\tvoid *scr_addr;\n};\n\nstruct ata_link {\n\tstruct ata_port *ap;\n\tint pmp;\n\tstruct device tdev;\n\tunsigned int active_tag;\n\tu32 sactive;\n\tunsigned int flags;\n\tu32 saved_scontrol;\n\tunsigned int hw_sata_spd_limit;\n\tunsigned int sata_spd_limit;\n\tunsigned int sata_spd;\n\tenum ata_lpm_policy lpm_policy;\n\tstruct ata_eh_info eh_info;\n\tstruct ata_eh_context eh_context;\n\tstruct ata_device device[2];\n\tlong unsigned int last_lpm_change;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ata_taskfile {\n\tlong unsigned int flags;\n\tu8 protocol;\n\tu8 ctl;\n\tu8 hob_feature;\n\tu8 hob_nsect;\n\tu8 hob_lbal;\n\tu8 hob_lbam;\n\tu8 hob_lbah;\n\tunion {\n\t\tu8 error;\n\t\tu8 feature;\n\t};\n\tu8 nsect;\n\tu8 lbal;\n\tu8 lbam;\n\tu8 lbah;\n\tu8 device;\n\tunion {\n\t\tu8 status;\n\t\tu8 command;\n\t};\n\tu32 auxiliary;\n};\n\nstruct scatterlist {\n\tlong unsigned int page_link;\n\tunsigned int offset;\n\tunsigned int length;\n\tdma_addr_t dma_address;\n\tunsigned int dma_length;\n\tunsigned int dma_flags;\n};\n\nstruct ata_queued_cmd;\n\ntypedef void (*ata_qc_cb_t)(struct ata_queued_cmd *);\n\nstruct scsi_cmnd;\n\nstruct ata_queued_cmd {\n\tstruct ata_port *ap;\n\tstruct ata_device *dev;\n\tstruct scsi_cmnd *scsicmd;\n\tvoid (*scsidone)(struct scsi_cmnd *);\n\tstruct ata_taskfile tf;\n\tu8 cdb[16];\n\tlong unsigned int flags;\n\tunsigned int tag;\n\tunsigned int hw_tag;\n\tunsigned int n_elem;\n\tunsigned int orig_n_elem;\n\tint dma_dir;\n\tunsigned int sect_size;\n\tunsigned int nbytes;\n\tunsigned int extrabytes;\n\tunsigned int curbytes;\n\tstruct scatterlist sgent;\n\tstruct scatterlist *sg;\n\tstruct scatterlist *cursg;\n\tunsigned int cursg_ofs;\n\tunsigned int err_mask;\n\tstruct ata_taskfile result_tf;\n\tata_qc_cb_t complete_fn;\n\tvoid *private_data;\n\tvoid *lldd_task;\n};\n\nstruct ata_port_stats {\n\tlong unsigned int unhandled_irq;\n\tlong unsigned int idle_irq;\n\tlong unsigned int rw_reqbuf;\n};\n\nstruct ata_port {\n\tstruct Scsi_Host *scsi_host;\n\tstruct ata_port_operations *ops;\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n\tunsigned int pflags;\n\tunsigned int print_id;\n\tunsigned int port_no;\n\tstruct ata_ioports ioaddr;\n\tu8 ctl;\n\tu8 last_ctl;\n\tstruct ata_link *sff_pio_task_link;\n\tstruct delayed_work sff_pio_task;\n\tstruct ata_bmdma_prd *bmdma_prd;\n\tdma_addr_t bmdma_prd_dma;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tunsigned int cbl;\n\tstruct ata_queued_cmd qcmd[33];\n\tu64 qc_active;\n\tint nr_active_links;\n\tlong: 64;\n\tlong: 64;\n\tstruct ata_link link;\n\tstruct ata_link *slave_link;\n\tint nr_pmp_links;\n\tstruct ata_link *pmp_link;\n\tstruct ata_link *excl_link;\n\tstruct ata_port_stats stats;\n\tstruct ata_host *host;\n\tstruct device *dev;\n\tstruct device tdev;\n\tstruct mutex scsi_scan_mutex;\n\tstruct delayed_work hotplug_task;\n\tstruct delayed_work scsi_rescan_task;\n\tunsigned int hsm_task_state;\n\tstruct list_head eh_done_q;\n\twait_queue_head_t eh_wait_q;\n\tint eh_tries;\n\tstruct completion park_req_pending;\n\tpm_message_t pm_mesg;\n\tenum ata_lpm_policy target_lpm_policy;\n\tstruct timer_list fastdrain_timer;\n\tunsigned int fastdrain_cnt;\n\tasync_cookie_t cookie;\n\tint em_message_type;\n\tvoid *private_data;\n\tstruct ata_acpi_gtm __acpi_init_gtm;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ata_port_info {\n\tlong unsigned int flags;\n\tlong unsigned int link_flags;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tstruct ata_port_operations *port_ops;\n\tvoid *private_data;\n};\n\ntypedef int (*ata_prereset_fn_t)(struct ata_link *, long unsigned int);\n\ntypedef int (*ata_reset_fn_t)(struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*ata_postreset_fn_t)(struct ata_link *, unsigned int *);\n\nstruct ata_port_operations {\n\tint (*qc_defer)(struct ata_queued_cmd *);\n\tint (*check_atapi_dma)(struct ata_queued_cmd *);\n\tenum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *);\n\tunsigned int (*qc_issue)(struct ata_queued_cmd *);\n\tvoid (*qc_fill_rtf)(struct ata_queued_cmd *);\n\tvoid (*qc_ncq_fill_rtf)(struct ata_port *, u64);\n\tint (*cable_detect)(struct ata_port *);\n\tunsigned int (*mode_filter)(struct ata_device *, unsigned int);\n\tvoid (*set_piomode)(struct ata_port *, struct ata_device *);\n\tvoid (*set_dmamode)(struct ata_port *, struct ata_device *);\n\tint (*set_mode)(struct ata_link *, struct ata_device **);\n\tunsigned int (*read_id)(struct ata_device *, struct ata_taskfile *, __le16 *);\n\tvoid (*dev_config)(struct ata_device *);\n\tvoid (*freeze)(struct ata_port *);\n\tvoid (*thaw)(struct ata_port *);\n\tata_prereset_fn_t prereset;\n\tata_reset_fn_t softreset;\n\tata_reset_fn_t hardreset;\n\tata_postreset_fn_t postreset;\n\tata_prereset_fn_t pmp_prereset;\n\tata_reset_fn_t pmp_softreset;\n\tata_reset_fn_t pmp_hardreset;\n\tata_postreset_fn_t pmp_postreset;\n\tvoid (*error_handler)(struct ata_port *);\n\tvoid (*lost_interrupt)(struct ata_port *);\n\tvoid (*post_internal_cmd)(struct ata_queued_cmd *);\n\tvoid (*sched_eh)(struct ata_port *);\n\tvoid (*end_eh)(struct ata_port *);\n\tint (*scr_read)(struct ata_link *, unsigned int, u32 *);\n\tint (*scr_write)(struct ata_link *, unsigned int, u32);\n\tvoid (*pmp_attach)(struct ata_port *);\n\tvoid (*pmp_detach)(struct ata_port *);\n\tint (*set_lpm)(struct ata_link *, enum ata_lpm_policy, unsigned int);\n\tint (*port_suspend)(struct ata_port *, pm_message_t);\n\tint (*port_resume)(struct ata_port *);\n\tint (*port_start)(struct ata_port *);\n\tvoid (*port_stop)(struct ata_port *);\n\tvoid (*host_stop)(struct ata_host *);\n\tvoid (*sff_dev_select)(struct ata_port *, unsigned int);\n\tvoid (*sff_set_devctl)(struct ata_port *, u8);\n\tu8 (*sff_check_status)(struct ata_port *);\n\tu8 (*sff_check_altstatus)(struct ata_port *);\n\tvoid (*sff_tf_load)(struct ata_port *, const struct ata_taskfile *);\n\tvoid (*sff_tf_read)(struct ata_port *, struct ata_taskfile *);\n\tvoid (*sff_exec_command)(struct ata_port *, const struct ata_taskfile *);\n\tunsigned int (*sff_data_xfer)(struct ata_queued_cmd *, unsigned char *, unsigned int, int);\n\tvoid (*sff_irq_on)(struct ata_port *);\n\tbool (*sff_irq_check)(struct ata_port *);\n\tvoid (*sff_irq_clear)(struct ata_port *);\n\tvoid (*sff_drain_fifo)(struct ata_queued_cmd *);\n\tvoid (*bmdma_setup)(struct ata_queued_cmd *);\n\tvoid (*bmdma_start)(struct ata_queued_cmd *);\n\tvoid (*bmdma_stop)(struct ata_queued_cmd *);\n\tu8 (*bmdma_status)(struct ata_port *);\n\tssize_t (*em_show)(struct ata_port *, char *);\n\tssize_t (*em_store)(struct ata_port *, const char *, size_t);\n\tssize_t (*sw_activity_show)(struct ata_device *, char *);\n\tssize_t (*sw_activity_store)(struct ata_device *, enum sw_activity);\n\tssize_t (*transmit_led_message)(struct ata_port *, u32, ssize_t);\n\tconst struct ata_port_operations *inherits;\n};\n\nstruct ata_show_ering_arg {\n\tchar *buf;\n\tint written;\n};\n\nstruct ata_task_resp {\n\tu16 frame_len;\n\tu8 ending_fis[24];\n};\n\nstruct ata_timing {\n\tshort unsigned int mode;\n\tshort unsigned int setup;\n\tshort unsigned int act8b;\n\tshort unsigned int rec8b;\n\tshort unsigned int cyc8b;\n\tshort unsigned int active;\n\tshort unsigned int recover;\n\tshort unsigned int dmack_hold;\n\tshort unsigned int cycle;\n\tshort unsigned int udma;\n};\n\nstruct ata_xfer_ent {\n\tint shift;\n\tint bits;\n\tu8 base;\n};\n\nstruct ate_acpi_oem_info {\n\tchar oem_id[7];\n\tchar oem_table_id[9];\n\tu32 oem_revision;\n};\n\nstruct ps2dev;\n\ntypedef enum ps2_disposition (*ps2_pre_receive_handler_t)(struct ps2dev *, u8, unsigned int);\n\ntypedef void (*ps2_receive_handler_t)(struct ps2dev *, u8);\n\nstruct ps2dev {\n\tstruct serio *serio;\n\tstruct mutex cmd_mutex;\n\twait_queue_head_t wait;\n\tlong unsigned int flags;\n\tu8 cmdbuf[8];\n\tu8 cmdcnt;\n\tu8 nak;\n\tps2_pre_receive_handler_t pre_receive_handler;\n\tps2_receive_handler_t receive_handler;\n};\n\nstruct vivaldi_data {\n\tu32 function_row_physmap[24];\n\tunsigned int num_function_row_keys;\n};\n\nstruct atkbd {\n\tstruct ps2dev ps2dev;\n\tstruct input_dev *dev;\n\tchar name[64];\n\tchar phys[32];\n\tshort unsigned int id;\n\tshort unsigned int keycode[512];\n\tlong unsigned int force_release_mask[8];\n\tunsigned char set;\n\tbool translated;\n\tbool extra;\n\tbool write;\n\tbool softrepeat;\n\tbool softraw;\n\tbool scroll;\n\tbool enabled;\n\tunsigned char emul;\n\tbool resend;\n\tbool release;\n\tlong unsigned int xl_bit;\n\tunsigned int last;\n\tlong unsigned int time;\n\tlong unsigned int err_count;\n\tstruct delayed_work event_work;\n\tlong unsigned int event_jiffies;\n\tlong unsigned int event_mask;\n\tstruct mutex mutex;\n\tstruct vivaldi_data vdata;\n};\n\nstruct atomic_notifier_head {\n\tspinlock_t lock;\n\tstruct notifier_block *head;\n};\n\nstruct attr_resp {\n\tu32 attr[1];\n};\n\nstruct attribute_group {\n\tconst char *name;\n\tumode_t (*is_visible)(struct kobject *, struct attribute *, int);\n\tumode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int);\n\tsize_t (*bin_size)(struct kobject *, const struct bin_attribute *, int);\n\tstruct attribute **attrs;\n\tunion {\n\t\tstruct bin_attribute **bin_attrs;\n\t\tconst struct bin_attribute * const *bin_attrs_new;\n\t};\n};\n\nstruct audit_aux_data {\n\tstruct audit_aux_data *next;\n\tint type;\n};\n\nstruct audit_cap_data {\n\tkernel_cap_t permitted;\n\tkernel_cap_t inheritable;\n\tunion {\n\t\tunsigned int fE;\n\t\tkernel_cap_t effective;\n\t};\n\tkernel_cap_t ambient;\n\tkuid_t rootid;\n};\n\nstruct audit_aux_data_bprm_fcaps {\n\tstruct audit_aux_data d;\n\tstruct audit_cap_data fcap;\n\tunsigned int fcap_ver;\n\tstruct audit_cap_data old_pcap;\n\tstruct audit_cap_data new_pcap;\n};\n\nstruct lsm_prop_selinux {};\n\nstruct lsm_prop_smack {};\n\nstruct lsm_prop_apparmor {};\n\nstruct lsm_prop_bpf {};\n\nstruct lsm_prop {\n\tstruct lsm_prop_selinux selinux;\n\tstruct lsm_prop_smack smack;\n\tstruct lsm_prop_apparmor apparmor;\n\tstruct lsm_prop_bpf bpf;\n};\n\nstruct audit_aux_data_pids {\n\tstruct audit_aux_data d;\n\tpid_t target_pid[16];\n\tkuid_t target_auid[16];\n\tkuid_t target_uid[16];\n\tunsigned int target_sessionid[16];\n\tstruct lsm_prop target_ref[16];\n\tchar target_comm[256];\n\tint pid_count;\n};\n\nstruct audit_context;\n\nstruct audit_buffer {\n\tstruct sk_buff *skb;\n\tstruct audit_context *ctx;\n\tgfp_t gfp_mask;\n};\n\nstruct audit_tree;\n\nstruct audit_node {\n\tstruct list_head list;\n\tstruct audit_tree *owner;\n\tunsigned int index;\n};\n\nstruct fsnotify_mark;\n\nstruct audit_chunk {\n\tstruct list_head hash;\n\tlong unsigned int key;\n\tstruct fsnotify_mark *mark;\n\tstruct list_head trees;\n\tint count;\n\tatomic_long_t refs;\n\tstruct callback_head head;\n\tstruct audit_node owners[0];\n};\n\nstruct timespec64 {\n\ttime64_t tv_sec;\n\tlong int tv_nsec;\n};\n\nstruct filename;\n\nstruct audit_names {\n\tstruct list_head list;\n\tstruct filename *name;\n\tint name_len;\n\tbool hidden;\n\tlong unsigned int ino;\n\tdev_t dev;\n\tumode_t mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tdev_t rdev;\n\tstruct lsm_prop oprop;\n\tstruct audit_cap_data fcap;\n\tunsigned int fcap_ver;\n\tunsigned char type;\n\tbool should_free;\n};\n\nstruct vfsmount;\n\nstruct path {\n\tstruct vfsmount *mnt;\n\tstruct dentry *dentry;\n};\n\nstruct mq_attr {\n\t__kernel_long_t mq_flags;\n\t__kernel_long_t mq_maxmsg;\n\t__kernel_long_t mq_msgsize;\n\t__kernel_long_t mq_curmsgs;\n\t__kernel_long_t __reserved[4];\n};\n\nstruct open_how {\n\t__u64 flags;\n\t__u64 mode;\n\t__u64 resolve;\n};\n\nstruct audit_ntp_val {\n\tlong long int oldval;\n\tlong long int newval;\n};\n\nstruct audit_ntp_data {\n\tstruct audit_ntp_val vals[6];\n};\n\nstruct audit_proctitle {\n\tint len;\n\tchar *value;\n};\n\nstruct audit_tree_refs;\n\nstruct audit_context {\n\tint dummy;\n\tenum {\n\t\tAUDIT_CTX_UNUSED = 0,\n\t\tAUDIT_CTX_SYSCALL = 1,\n\t\tAUDIT_CTX_URING = 2,\n\t} context;\n\tenum audit_state state;\n\tenum audit_state current_state;\n\tunsigned int serial;\n\tint major;\n\tint uring_op;\n\tstruct timespec64 ctime;\n\tlong unsigned int argv[4];\n\tlong int return_code;\n\tu64 prio;\n\tint return_valid;\n\tstruct audit_names preallocated_names[5];\n\tint name_count;\n\tstruct list_head names_list;\n\tchar *filterkey;\n\tstruct path pwd;\n\tstruct audit_aux_data *aux;\n\tstruct audit_aux_data *aux_pids;\n\tstruct __kernel_sockaddr_storage *sockaddr;\n\tsize_t sockaddr_len;\n\tpid_t ppid;\n\tkuid_t uid;\n\tkuid_t euid;\n\tkuid_t suid;\n\tkuid_t fsuid;\n\tkgid_t gid;\n\tkgid_t egid;\n\tkgid_t sgid;\n\tkgid_t fsgid;\n\tlong unsigned int personality;\n\tint arch;\n\tpid_t target_pid;\n\tkuid_t target_auid;\n\tkuid_t target_uid;\n\tunsigned int target_sessionid;\n\tstruct lsm_prop target_ref;\n\tchar target_comm[16];\n\tstruct audit_tree_refs *trees;\n\tstruct audit_tree_refs *first_trees;\n\tstruct list_head killed_trees;\n\tint tree_count;\n\tint type;\n\tunion {\n\t\tstruct {\n\t\t\tint nargs;\n\t\t\tlong int args[6];\n\t\t} socketcall;\n\t\tstruct {\n\t\t\tkuid_t uid;\n\t\t\tkgid_t gid;\n\t\t\tumode_t mode;\n\t\t\tstruct lsm_prop oprop;\n\t\t\tint has_perm;\n\t\t\tuid_t perm_uid;\n\t\t\tgid_t perm_gid;\n\t\t\tumode_t perm_mode;\n\t\t\tlong unsigned int qbytes;\n\t\t} ipc;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tstruct mq_attr mqstat;\n\t\t} mq_getsetattr;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tint sigev_signo;\n\t\t} mq_notify;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tsize_t msg_len;\n\t\t\tunsigned int msg_prio;\n\t\t\tstruct timespec64 abs_timeout;\n\t\t} mq_sendrecv;\n\t\tstruct {\n\t\t\tint oflag;\n\t\t\tumode_t mode;\n\t\t\tstruct mq_attr attr;\n\t\t} mq_open;\n\t\tstruct {\n\t\t\tpid_t pid;\n\t\t\tstruct audit_cap_data cap;\n\t\t} capset;\n\t\tstruct {\n\t\t\tint fd;\n\t\t\tint flags;\n\t\t} mmap;\n\t\tstruct open_how openat2;\n\t\tstruct {\n\t\t\tint argc;\n\t\t} execve;\n\t\tstruct {\n\t\t\tchar *name;\n\t\t} module;\n\t\tstruct {\n\t\t\tstruct audit_ntp_data ntp_data;\n\t\t\tstruct timespec64 tk_injoffset;\n\t\t} time;\n\t};\n\tint fds[2];\n\tstruct audit_proctitle proctitle;\n};\n\nstruct audit_ctl_mutex {\n\tstruct mutex lock;\n\tvoid *owner;\n};\n\nstruct audit_field;\n\nstruct audit_watch;\n\nstruct audit_fsnotify_mark;\n\nstruct audit_krule {\n\tu32 pflags;\n\tu32 flags;\n\tu32 listnr;\n\tu32 action;\n\tu32 mask[64];\n\tu32 buflen;\n\tu32 field_count;\n\tchar *filterkey;\n\tstruct audit_field *fields;\n\tstruct audit_field *arch_f;\n\tstruct audit_field *inode_f;\n\tstruct audit_watch *watch;\n\tstruct audit_tree *tree;\n\tstruct audit_fsnotify_mark *exe;\n\tstruct list_head rlist;\n\tstruct list_head list;\n\tu64 prio;\n};\n\nstruct audit_entry {\n\tstruct list_head list;\n\tstruct callback_head rcu;\n\tstruct audit_krule rule;\n};\n\nstruct audit_features {\n\t__u32 vers;\n\t__u32 mask;\n\t__u32 features;\n\t__u32 lock;\n};\n\nstruct audit_field {\n\tu32 type;\n\tunion {\n\t\tu32 val;\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t\tstruct {\n\t\t\tchar *lsm_str;\n\t\t\tvoid *lsm_rule;\n\t\t};\n\t};\n\tu32 op;\n};\n\nstruct fsnotify_group;\n\nstruct fsnotify_mark_connector;\n\nstruct fsnotify_mark {\n\t__u32 mask;\n\trefcount_t refcnt;\n\tstruct fsnotify_group *group;\n\tstruct list_head g_list;\n\tspinlock_t lock;\n\tstruct hlist_node obj_list;\n\tstruct fsnotify_mark_connector *connector;\n\t__u32 ignore_mask;\n\tunsigned int flags;\n};\n\nstruct audit_fsnotify_mark {\n\tdev_t dev;\n\tlong unsigned int ino;\n\tchar *path;\n\tstruct fsnotify_mark mark;\n\tstruct audit_krule *rule;\n};\n\nstruct sock;\n\nstruct audit_net {\n\tstruct sock *sk;\n};\n\nstruct audit_netlink_list {\n\t__u32 portid;\n\tstruct net *net;\n\tstruct sk_buff_head q;\n};\n\nstruct audit_nfcfgop_tab {\n\tenum audit_nfcfgop op;\n\tconst char *s;\n};\n\nstruct audit_parent {\n\tstruct list_head watches;\n\tstruct fsnotify_mark mark;\n};\n\nstruct audit_reply {\n\t__u32 portid;\n\tstruct net *net;\n\tstruct sk_buff *skb;\n};\n\nstruct audit_rule_data {\n\t__u32 flags;\n\t__u32 action;\n\t__u32 field_count;\n\t__u32 mask[64];\n\t__u32 fields[64];\n\t__u32 values[64];\n\t__u32 fieldflags[64];\n\t__u32 buflen;\n\tchar buf[0];\n};\n\nstruct audit_sig_info {\n\tuid_t uid;\n\tpid_t pid;\n\tchar ctx[0];\n};\n\nstruct audit_status {\n\t__u32 mask;\n\t__u32 enabled;\n\t__u32 failure;\n\t__u32 pid;\n\t__u32 rate_limit;\n\t__u32 backlog_limit;\n\t__u32 lost;\n\t__u32 backlog;\n\tunion {\n\t\t__u32 version;\n\t\t__u32 feature_bitmap;\n\t};\n\t__u32 backlog_wait_time;\n\t__u32 backlog_wait_time_actual;\n};\n\nstruct audit_tree {\n\trefcount_t count;\n\tint goner;\n\tstruct audit_chunk *root;\n\tstruct list_head chunks;\n\tstruct list_head rules;\n\tstruct list_head list;\n\tstruct list_head same_root;\n\tstruct callback_head head;\n\tchar pathname[0];\n};\n\nstruct audit_tree_mark {\n\tstruct fsnotify_mark mark;\n\tstruct audit_chunk *chunk;\n};\n\nstruct audit_tree_refs {\n\tstruct audit_tree_refs *next;\n\tstruct audit_chunk *c[31];\n};\n\nstruct audit_tty_status {\n\t__u32 enabled;\n\t__u32 log_passwd;\n};\n\nstruct audit_watch {\n\trefcount_t count;\n\tdev_t dev;\n\tchar *path;\n\tlong unsigned int ino;\n\tstruct audit_parent *parent;\n\tstruct list_head wlist;\n\tstruct list_head rules;\n};\n\nstruct auditd_connection {\n\tstruct pid *pid;\n\tu32 portid;\n\tstruct net *net;\n\tstruct callback_head rcu;\n};\n\nstruct auth_cred {\n\tconst struct cred *cred;\n\tconst char *principal;\n};\n\nstruct auth_ops;\n\nstruct auth_domain {\n\tstruct kref ref;\n\tstruct hlist_node hash;\n\tchar *name;\n\tstruct auth_ops *flavour;\n\tstruct callback_head callback_head;\n};\n\nstruct svc_rqst;\n\nstruct auth_ops {\n\tchar *name;\n\tstruct module *owner;\n\tint flavour;\n\tenum svc_auth_status (*accept)(struct svc_rqst *);\n\tint (*release)(struct svc_rqst *);\n\tvoid (*domain_release)(struct auth_domain *);\n\tenum svc_auth_status (*set_client)(struct svc_rqst *);\n\trpc_authflavor_t (*pseudoflavor)(struct svc_rqst *);\n};\n\nstruct auto_mode_param {\n\tint qp_type;\n};\n\nstruct auto_movable_group_stats {\n\tlong unsigned int movable_pages;\n\tlong unsigned int req_kernel_early_pages;\n};\n\nstruct auto_movable_stats {\n\tlong unsigned int kernel_early_pages;\n\tlong unsigned int movable_pages;\n};\n\nstruct autofs_dev_ioctl {\n\t__u32 ver_major;\n\t__u32 ver_minor;\n\t__u32 size;\n\t__s32 ioctlfd;\n\tunion {\n\t\tstruct args_protover protover;\n\t\tstruct args_protosubver protosubver;\n\t\tstruct args_openmount openmount;\n\t\tstruct args_ready ready;\n\t\tstruct args_fail fail;\n\t\tstruct args_setpipefd setpipefd;\n\t\tstruct args_timeout timeout;\n\t\tstruct args_requester requester;\n\t\tstruct args_expire expire;\n\t\tstruct args_askumount askumount;\n\t\tstruct args_ismountpoint ismountpoint;\n\t};\n\tchar path[0];\n};\n\nstruct autofs_fs_context {\n\tkuid_t uid;\n\tkgid_t gid;\n\tint pgrp;\n\tbool pgrp_set;\n};\n\nstruct autofs_sb_info;\n\nstruct autofs_info {\n\tstruct dentry *dentry;\n\tint flags;\n\tstruct completion expire_complete;\n\tstruct list_head active;\n\tstruct list_head expiring;\n\tstruct autofs_sb_info *sbi;\n\tlong unsigned int exp_timeout;\n\tlong unsigned int last_used;\n\tint count;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct callback_head rcu;\n};\n\nstruct autofs_packet_hdr {\n\tint proto_version;\n\tint type;\n};\n\nstruct autofs_packet_expire {\n\tstruct autofs_packet_hdr hdr;\n\tint len;\n\tchar name[256];\n};\n\nstruct autofs_packet_expire_multi {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\tint len;\n\tchar name[256];\n};\n\nstruct autofs_packet_missing {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\tint len;\n\tchar name[256];\n};\n\nunion autofs_packet_union {\n\tstruct autofs_packet_hdr hdr;\n\tstruct autofs_packet_missing missing;\n\tstruct autofs_packet_expire expire;\n\tstruct autofs_packet_expire_multi expire_multi;\n};\n\nstruct super_block;\n\nstruct autofs_wait_queue;\n\nstruct autofs_sb_info {\n\tu32 magic;\n\tint pipefd;\n\tstruct file *pipe;\n\tstruct pid *oz_pgrp;\n\tint version;\n\tint sub_version;\n\tint min_proto;\n\tint max_proto;\n\tunsigned int flags;\n\tlong unsigned int exp_timeout;\n\tunsigned int type;\n\tstruct super_block *sb;\n\tstruct mutex wq_mutex;\n\tstruct mutex pipe_mutex;\n\tspinlock_t fs_lock;\n\tstruct autofs_wait_queue *queues;\n\tspinlock_t lookup_lock;\n\tstruct list_head active_list;\n\tstruct list_head expiring_list;\n\tstruct callback_head rcu;\n};\n\nstruct autofs_v5_packet {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\t__u32 dev;\n\t__u64 ino;\n\t__u32 uid;\n\t__u32 gid;\n\t__u32 pid;\n\t__u32 tgid;\n\t__u32 len;\n\tchar name[256];\n};\n\ntypedef struct autofs_v5_packet autofs_packet_expire_direct_t;\n\ntypedef struct autofs_v5_packet autofs_packet_expire_indirect_t;\n\ntypedef struct autofs_v5_packet autofs_packet_missing_direct_t;\n\ntypedef struct autofs_v5_packet autofs_packet_missing_indirect_t;\n\nunion autofs_v5_packet_union {\n\tstruct autofs_packet_hdr hdr;\n\tstruct autofs_v5_packet v5_packet;\n\tautofs_packet_missing_indirect_t missing_indirect;\n\tautofs_packet_expire_indirect_t expire_indirect;\n\tautofs_packet_missing_direct_t missing_direct;\n\tautofs_packet_expire_direct_t expire_direct;\n};\n\nstruct qstr {\n\tunion {\n\t\tstruct {\n\t\t\tu32 hash;\n\t\t\tu32 len;\n\t\t};\n\t\tu64 hash_len;\n\t};\n\tconst unsigned char *name;\n};\n\nstruct autofs_wait_queue {\n\twait_queue_head_t queue;\n\tstruct autofs_wait_queue *next;\n\tautofs_wqt_t wait_queue_token;\n\tstruct qstr name;\n\tu32 offset;\n\tu32 dev;\n\tu64 ino;\n\tkuid_t uid;\n\tkgid_t gid;\n\tpid_t pid;\n\tpid_t tgid;\n\tint status;\n\tunsigned int wait_ctr;\n};\n\nstruct task_group;\n\nstruct autogroup {\n\tstruct kref kref;\n\tstruct task_group *tg;\n\tstruct rw_semaphore lock;\n\tlong unsigned int id;\n\tint nice;\n};\n\nstruct auxiliary_device {\n\tstruct device dev;\n\tconst char *name;\n\tu32 id;\n\tstruct {\n\t\tstruct xarray irqs;\n\t\tstruct mutex lock;\n\t\tbool irq_dir_exists;\n\t} sysfs;\n};\n\nstruct auxiliary_device_id {\n\tchar name[32];\n\tkernel_ulong_t driver_data;\n};\n\nstruct auxiliary_driver {\n\tint (*probe)(struct auxiliary_device *, const struct auxiliary_device_id *);\n\tvoid (*remove)(struct auxiliary_device *);\n\tvoid (*shutdown)(struct auxiliary_device *);\n\tint (*suspend)(struct auxiliary_device *, pm_message_t);\n\tint (*resume)(struct auxiliary_device *);\n\tconst char *name;\n\tstruct device_driver driver;\n\tconst struct auxiliary_device_id *id_table;\n};\n\nstruct auxiliary_irq_info {\n\tstruct device_attribute sysfs_attr;\n\tchar name[11];\n};\n\nstruct ave_desc {\n\tstruct sk_buff *skbs;\n\tdma_addr_t skbs_dma;\n\tsize_t skbs_dmalen;\n};\n\nstruct ave_desc_info {\n\tu32 ndesc;\n\tu32 daddr;\n\tu32 proc_idx;\n\tu32 done_idx;\n\tstruct ave_desc *desc;\n};\n\nstruct ave_stats {\n\tstruct u64_stats_sync syncp;\n\tu64 packets;\n\tu64 bytes;\n\tu64 errors;\n\tu64 dropped;\n\tu64 collisions;\n\tu64 fifo_errors;\n};\n\nstruct phy_device;\n\nstruct mii_bus;\n\nstruct ave_soc_data;\n\nstruct ave_private {\n\tvoid *base;\n\tint irq;\n\tint phy_id;\n\tunsigned int desc_size;\n\tu32 msg_enable;\n\tint nclks;\n\tstruct clk *clk[4];\n\tint nrsts;\n\tstruct reset_control *rst[2];\n\tphy_interface_t phy_mode;\n\tstruct phy_device *phydev;\n\tstruct mii_bus *mdio;\n\tstruct regmap *regmap;\n\tunsigned int pinmode_mask;\n\tunsigned int pinmode_val;\n\tu32 wolopts;\n\tstruct ave_stats stats_rx;\n\tstruct ave_stats stats_tx;\n\tstruct net_device *ndev;\n\tstruct napi_struct napi_rx;\n\tstruct napi_struct napi_tx;\n\tstruct ave_desc_info rx;\n\tstruct ave_desc_info tx;\n\tint pause_auto;\n\tint pause_rx;\n\tint pause_tx;\n\tconst struct ave_soc_data *data;\n};\n\nstruct ave_soc_data {\n\tbool is_desc_64bit;\n\tconst char *clock_names[4];\n\tconst char *reset_names[2];\n\tint (*get_pinmode)(struct ave_private *, phy_interface_t, u32);\n};\n\nstruct regmap_irq_chip_data;\n\nstruct mfd_cell;\n\nstruct regmap_irq_chip;\n\nstruct axp20x_dev {\n\tstruct device *dev;\n\tint irq;\n\tlong unsigned int irq_flags;\n\tstruct regmap *regmap;\n\tstruct regmap_irq_chip_data *regmap_irqc;\n\tenum axp20x_variants variant;\n\tint nr_cells;\n\tconst struct mfd_cell *cells;\n\tconst struct regmap_config *regmap_cfg;\n\tconst struct regmap_irq_chip *regmap_irq_chip;\n};\n\nstruct backing_aio {\n\tstruct kiocb iocb;\n\trefcount_t ref;\n\tstruct kiocb *orig_iocb;\n\tvoid (*end_write)(struct kiocb *, ssize_t);\n\tstruct work_struct work;\n\tlong int res;\n};\n\nstruct percpu_counter {\n\traw_spinlock_t lock;\n\ts64 count;\n\tstruct list_head list;\n\ts32 *counters;\n};\n\nstruct fprop_local_percpu {\n\tstruct percpu_counter events;\n\tunsigned int period;\n\traw_spinlock_t lock;\n};\n\nstruct percpu_ref_data;\n\nstruct percpu_ref {\n\tlong unsigned int percpu_count_ptr;\n\tstruct percpu_ref_data *data;\n};\n\nstruct backing_dev_info;\n\nstruct cgroup_subsys_state;\n\nstruct bdi_writeback {\n\tstruct backing_dev_info *bdi;\n\tlong unsigned int state;\n\tlong unsigned int last_old_flush;\n\tstruct list_head b_dirty;\n\tstruct list_head b_io;\n\tstruct list_head b_more_io;\n\tstruct list_head b_dirty_time;\n\tspinlock_t list_lock;\n\tatomic_t writeback_inodes;\n\tstruct percpu_counter stat[4];\n\tlong unsigned int bw_time_stamp;\n\tlong unsigned int dirtied_stamp;\n\tlong unsigned int written_stamp;\n\tlong unsigned int write_bandwidth;\n\tlong unsigned int avg_write_bandwidth;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int balanced_dirty_ratelimit;\n\tstruct fprop_local_percpu completions;\n\tint dirty_exceeded;\n\tenum wb_reason start_all_reason;\n\tspinlock_t work_lock;\n\tstruct list_head work_list;\n\tstruct delayed_work dwork;\n\tstruct delayed_work bw_dwork;\n\tstruct list_head bdi_node;\n\tstruct percpu_ref refcnt;\n\tstruct fprop_local_percpu memcg_completions;\n\tstruct cgroup_subsys_state *memcg_css;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct list_head memcg_node;\n\tstruct list_head blkcg_node;\n\tstruct list_head b_attached;\n\tstruct list_head offline_node;\n\tunion {\n\t\tstruct work_struct release_work;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct backing_dev_info {\n\tu64 id;\n\tstruct rb_node rb_node;\n\tstruct list_head bdi_list;\n\tlong unsigned int ra_pages;\n\tlong unsigned int io_pages;\n\tstruct kref refcnt;\n\tunsigned int capabilities;\n\tunsigned int min_ratio;\n\tunsigned int max_ratio;\n\tunsigned int max_prop_frac;\n\tatomic_long_t tot_write_bandwidth;\n\tlong unsigned int last_bdp_sleep;\n\tstruct bdi_writeback wb;\n\tstruct list_head wb_list;\n\tstruct xarray cgwb_tree;\n\tstruct mutex cgwb_release_mutex;\n\tstruct rw_semaphore wb_switch_rwsem;\n\twait_queue_head_t wb_waitq;\n\tstruct device *dev;\n\tchar dev_name[64];\n\tstruct device *owner;\n\tstruct timer_list laptop_mode_wb_timer;\n\tstruct dentry *debug_dir;\n};\n\nstruct file_ra_state {\n\tlong unsigned int start;\n\tunsigned int size;\n\tunsigned int async_size;\n\tunsigned int ra_pages;\n\tunsigned int mmap_miss;\n\tloff_t prev_pos;\n};\n\nstruct file_operations;\n\nstruct fown_struct;\n\nstruct file {\n\tfile_ref_t f_ref;\n\tspinlock_t f_lock;\n\tfmode_t f_mode;\n\tconst struct file_operations *f_op;\n\tstruct address_space *f_mapping;\n\tvoid *private_data;\n\tstruct inode *f_inode;\n\tunsigned int f_flags;\n\tunsigned int f_iocb_flags;\n\tconst struct cred *f_cred;\n\tstruct path f_path;\n\tunion {\n\t\tstruct mutex f_pos_lock;\n\t\tu64 f_pipe;\n\t};\n\tloff_t f_pos;\n\tvoid *f_security;\n\tstruct fown_struct *f_owner;\n\terrseq_t f_wb_err;\n\terrseq_t f_sb_err;\n\tstruct hlist_head *f_ep;\n\tunion {\n\t\tstruct callback_head f_task_work;\n\t\tstruct llist_node f_llist;\n\t\tstruct file_ra_state f_ra;\n\t\tfreeptr_t f_freeptr;\n\t};\n};\n\nstruct backing_file {\n\tstruct file file;\n\tunion {\n\t\tstruct path user_path;\n\t\tfreeptr_t bf_freeptr;\n\t};\n};\n\nstruct backing_file_ctx {\n\tconst struct cred *cred;\n\tvoid (*accessed)(struct file *);\n\tvoid (*end_write)(struct kiocb *, ssize_t);\n};\n\nstruct bpf_verifier_env;\n\nstruct backtrack_state {\n\tstruct bpf_verifier_env *env;\n\tu32 frame;\n\tu32 reg_masks[8];\n\tu64 stack_masks[8];\n};\n\nstruct badblocks {\n\tstruct device *dev;\n\tint count;\n\tint unacked_exist;\n\tint shift;\n\tu64 *page;\n\tint changed;\n\tseqlock_t lock;\n\tsector_t sector;\n\tsector_t size;\n};\n\nstruct badblocks_context {\n\tsector_t start;\n\tsector_t len;\n\tint ack;\n};\n\nstruct balance_callback {\n\tstruct balance_callback *next;\n\tvoid (*func)(struct rq *);\n};\n\nstruct balloon_dev_info {\n\tlong unsigned int isolated_pages;\n\tspinlock_t pages_lock;\n\tstruct list_head pages;\n\tint (*migratepage)(struct balloon_dev_info *, struct page *, struct page *, enum migrate_mode);\n};\n\nstruct balloon_stats {\n\tlong unsigned int current_pages;\n\tlong unsigned int target_pages;\n\tlong unsigned int target_unpopulated;\n\tlong unsigned int balloon_low;\n\tlong unsigned int balloon_high;\n\tlong unsigned int total_pages;\n\tlong unsigned int schedule_delay;\n\tlong unsigned int max_schedule_delay;\n\tlong unsigned int retry_count;\n\tlong unsigned int max_retry_count;\n};\n\nstruct dmaengine_result {\n\tenum dmaengine_tx_result result;\n\tu32 residue;\n};\n\nstruct virt_dma_desc {\n\tstruct dma_async_tx_descriptor tx;\n\tstruct dmaengine_result tx_result;\n\tstruct list_head node;\n};\n\nstruct bam_desc_hw {\n\t__le32 addr;\n\t__le16 size;\n\t__le16 flags;\n};\n\nstruct bam_async_desc {\n\tstruct virt_dma_desc vd;\n\tu32 num_desc;\n\tu32 xfer_len;\n\tu16 flags;\n\tstruct bam_desc_hw *curr_desc;\n\tstruct list_head desc_node;\n\tenum dma_transfer_direction dir;\n\tsize_t length;\n\tstruct bam_desc_hw desc[0];\n};\n\nstruct virt_dma_chan {\n\tstruct dma_chan chan;\n\tstruct tasklet_struct task;\n\tvoid (*desc_free)(struct virt_dma_desc *);\n\tspinlock_t lock;\n\tstruct list_head desc_allocated;\n\tstruct list_head desc_submitted;\n\tstruct list_head desc_issued;\n\tstruct list_head desc_completed;\n\tstruct list_head desc_terminated;\n\tstruct virt_dma_desc *cyclic;\n};\n\nstruct dma_slave_config {\n\tenum dma_transfer_direction direction;\n\tphys_addr_t src_addr;\n\tphys_addr_t dst_addr;\n\tenum dma_slave_buswidth src_addr_width;\n\tenum dma_slave_buswidth dst_addr_width;\n\tu32 src_maxburst;\n\tu32 dst_maxburst;\n\tu32 src_port_window_size;\n\tu32 dst_port_window_size;\n\tbool device_fc;\n\tvoid *peripheral_config;\n\tsize_t peripheral_size;\n};\n\nstruct bam_device;\n\nstruct bam_chan {\n\tstruct virt_dma_chan vc;\n\tstruct bam_device *bdev;\n\tu32 id;\n\tstruct dma_slave_config slave;\n\tstruct bam_desc_hw *fifo_virt;\n\tdma_addr_t fifo_phys;\n\tshort unsigned int head;\n\tshort unsigned int tail;\n\tunsigned int initialized;\n\tunsigned int paused;\n\tunsigned int reconfigure;\n\tstruct list_head desc_list;\n\tstruct list_head node;\n};\n\nstruct bam_cmd_element {\n\t__le32 cmd_and_addr;\n\t__le32 data;\n\t__le32 mask;\n\t__le32 reserved;\n};\n\nstruct reg_offset_data;\n\nstruct bam_device {\n\tvoid *regs;\n\tstruct device *dev;\n\tstruct dma_device common;\n\tstruct bam_chan *channels;\n\tu32 num_channels;\n\tu32 num_ees;\n\tu32 ee;\n\tbool controlled_remotely;\n\tbool powered_remotely;\n\tu32 active_channels;\n\tconst struct reg_offset_data *layout;\n\tstruct clk *bamclk;\n\tint irq;\n\tstruct tasklet_struct task;\n};\n\nstruct bam_transaction {\n\tstruct bam_cmd_element *bam_ce;\n\tstruct scatterlist *cmd_sgl;\n\tstruct scatterlist *data_sgl;\n\tstruct dma_async_tx_descriptor *last_data_desc;\n\tstruct dma_async_tx_descriptor *last_cmd_desc;\n\tstruct completion txn_done;\n\tunion {\n\t\tstruct {\n\t\t\tu32 bam_ce_pos;\n\t\t\tu32 bam_ce_start;\n\t\t\tu32 cmd_sgl_pos;\n\t\t\tu32 cmd_sgl_start;\n\t\t\tu32 tx_sgl_pos;\n\t\t\tu32 tx_sgl_start;\n\t\t\tu32 rx_sgl_pos;\n\t\t\tu32 rx_sgl_start;\n\t\t};\n\t\tstruct {\n\t\t\tu32 bam_ce_pos;\n\t\t\tu32 bam_ce_start;\n\t\t\tu32 cmd_sgl_pos;\n\t\t\tu32 cmd_sgl_start;\n\t\t\tu32 tx_sgl_pos;\n\t\t\tu32 tx_sgl_start;\n\t\t\tu32 rx_sgl_pos;\n\t\t\tu32 rx_sgl_start;\n\t\t} bam_positions;\n\t};\n};\n\nstruct batadv_unicast_packet {\n\t__u8 packet_type;\n\t__u8 version;\n\t__u8 ttl;\n\t__u8 ttvn;\n\t__u8 dest[6];\n};\n\nstruct tcs_cmd;\n\nstruct tcs_request {\n\tenum rpmh_state state;\n\tu32 wait_for_compl;\n\tu32 num_cmds;\n\tstruct tcs_cmd *cmds;\n};\n\nstruct tcs_cmd {\n\tu32 addr;\n\tu32 data;\n\tu32 wait;\n};\n\nstruct rpmh_request {\n\tstruct tcs_request msg;\n\tstruct tcs_cmd cmd[16];\n\tstruct completion *completion;\n\tconst struct device *dev;\n\tbool needs_free;\n};\n\nstruct batch_cache_req {\n\tstruct list_head list;\n\tint count;\n\tstruct rpmh_request rpm_msgs[0];\n};\n\nstruct batch_u16 {\n\tu16 entropy[48];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u32 {\n\tu32 entropy[24];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u64 {\n\tu64 entropy[12];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u8 {\n\tu8 entropy[96];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct mdiobb_ops;\n\nstruct mdiobb_ctrl {\n\tconst struct mdiobb_ops *ops;\n\tunsigned int override_op_c22;\n\tu8 op_c22_read;\n\tu8 op_c22_write;\n};\n\nstruct bb_info {\n\tvoid (*set_gate)(void *);\n\tstruct mdiobb_ctrl ctrl;\n\tvoid *addr;\n};\n\nstruct bcm2835_dma_cb;\n\nstruct bcm2835_cb_entry {\n\tstruct bcm2835_dma_cb *cb;\n\tdma_addr_t paddr;\n};\n\nstruct bcm2835_desc;\n\nstruct dma_pool;\n\nstruct bcm2835_chan {\n\tstruct virt_dma_chan vc;\n\tstruct dma_slave_config cfg;\n\tunsigned int dreq;\n\tint ch;\n\tstruct bcm2835_desc *desc;\n\tstruct dma_pool *cb_pool;\n\tvoid *chan_base;\n\tint irq_number;\n\tunsigned int irq_flags;\n\tbool is_lite_channel;\n};\n\nstruct bcm2835_cprman;\n\nstruct bcm2835_clk_desc {\n\tstruct clk_hw * (*clk_register)(struct bcm2835_cprman *, const void *);\n\tunsigned int supported;\n\tconst void *data;\n};\n\nstruct bcm2835_clock_data;\n\nstruct bcm2835_clock {\n\tstruct clk_hw hw;\n\tstruct bcm2835_cprman *cprman;\n\tconst struct bcm2835_clock_data *data;\n};\n\nstruct bcm2835_clock_data {\n\tconst char *name;\n\tconst char * const *parents;\n\tint num_mux_parents;\n\tunsigned int set_rate_parent;\n\tu32 ctl_reg;\n\tu32 div_reg;\n\tu32 int_bits;\n\tu32 frac_bits;\n\tu32 flags;\n\tbool is_vpu_clock;\n\tbool is_mash_clock;\n\tbool low_jitter;\n\tu32 tcnt_mux;\n\tbool round_up;\n};\n\nstruct clk_hw_onecell_data {\n\tunsigned int num;\n\tstruct clk_hw *hws[0];\n};\n\nstruct bcm2835_cprman {\n\tstruct device *dev;\n\tvoid *regs;\n\tspinlock_t regs_lock;\n\tunsigned int soc;\n\tconst char *real_parent_names[7];\n\tstruct clk_hw_onecell_data onecell;\n};\n\nstruct bcm2835_desc {\n\tstruct bcm2835_chan *c;\n\tstruct virt_dma_desc vd;\n\tenum dma_transfer_direction dir;\n\tunsigned int frames;\n\tsize_t size;\n\tbool cyclic;\n\tstruct bcm2835_cb_entry cb_list[0];\n};\n\nstruct bcm2835_dma_cb {\n\tuint32_t info;\n\tuint32_t src;\n\tuint32_t dst;\n\tuint32_t length;\n\tuint32_t stride;\n\tuint32_t next;\n\tuint32_t pad[2];\n};\n\nstruct bcm2835_dmadev {\n\tstruct dma_device ddev;\n\tvoid *base;\n\tdma_addr_t zero_page;\n};\n\nstruct bcm2835_gate_data {\n\tconst char *name;\n\tconst char *parent;\n\tu32 ctl_reg;\n};\n\nstruct sg_page_iter {\n\tstruct scatterlist *sg;\n\tunsigned int sg_pgoffset;\n\tunsigned int __nents;\n\tint __pg_advance;\n};\n\nstruct sg_mapping_iter {\n\tstruct page *page;\n\tvoid *addr;\n\tsize_t length;\n\tsize_t consumed;\n\tstruct sg_page_iter piter;\n\tunsigned int __offset;\n\tunsigned int __remaining;\n\tunsigned int __flags;\n};\n\nstruct mmc_request;\n\nstruct mmc_command;\n\nstruct mmc_data;\n\nstruct bcm2835_host {\n\tspinlock_t lock;\n\tstruct mutex mutex;\n\tvoid *ioaddr;\n\tu32 phys_addr;\n\tstruct clk *clk;\n\tstruct platform_device *pdev;\n\tunsigned int clock;\n\tunsigned int max_clk;\n\tstruct work_struct dma_work;\n\tstruct delayed_work timeout_work;\n\tstruct sg_mapping_iter sg_miter;\n\tunsigned int blocks;\n\tint irq;\n\tu32 ns_per_fifo_word;\n\tu32 hcfg;\n\tu32 cdiv;\n\tstruct mmc_request *mrq;\n\tstruct mmc_command *cmd;\n\tstruct mmc_data *data;\n\tbool data_complete: 1;\n\tbool use_busy: 1;\n\tbool use_sbc: 1;\n\tbool irq_block;\n\tbool irq_busy;\n\tbool irq_data;\n\tstruct dma_chan *dma_chan_rxtx;\n\tstruct dma_chan *dma_chan;\n\tstruct dma_slave_config dma_cfg_rx;\n\tstruct dma_slave_config dma_cfg_tx;\n\tstruct dma_async_tx_descriptor *dma_desc;\n\tu32 dma_dir;\n\tu32 drain_words;\n\tstruct page *drain_page;\n\tu32 drain_offset;\n\tbool use_dma;\n};\n\nstruct bcm2835_mbox {\n\tvoid *regs;\n\tspinlock_t lock;\n\tstruct mbox_controller controller;\n};\n\nstruct pinctrl_gpio_range {\n\tstruct list_head node;\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int base;\n\tunsigned int pin_base;\n\tunsigned int npins;\n\tconst unsigned int *pins;\n\tstruct gpio_chip *gc;\n};\n\nstruct bcm2835_pinctrl {\n\tstruct device *dev;\n\tvoid *base;\n\tint *wake_irq;\n\tlong unsigned int enabled_irq_map[2];\n\tunsigned int irq_type[58];\n\tstruct pinctrl_dev *pctl_dev;\n\tstruct gpio_chip gpio_chip;\n\tstruct pinctrl_desc pctl_desc;\n\tstruct pinctrl_gpio_range gpio_range;\n\traw_spinlock_t irq_lock[2];\n\tspinlock_t fsel_lock;\n};\n\nstruct bcm2835_pll_data;\n\nstruct bcm2835_pll {\n\tstruct clk_hw hw;\n\tstruct bcm2835_cprman *cprman;\n\tconst struct bcm2835_pll_data *data;\n};\n\nstruct bcm2835_pll_ana_bits {\n\tu32 mask0;\n\tu32 set0;\n\tu32 mask1;\n\tu32 set1;\n\tu32 mask3;\n\tu32 set3;\n\tu32 fb_prediv_mask;\n};\n\nstruct bcm2835_pll_data {\n\tconst char *name;\n\tu32 cm_ctrl_reg;\n\tu32 a2w_ctrl_reg;\n\tu32 frac_reg;\n\tu32 ana_reg_base;\n\tu32 reference_enable_mask;\n\tu32 lock_mask;\n\tu32 flags;\n\tconst struct bcm2835_pll_ana_bits *ana;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int max_fb_rate;\n};\n\nstruct clk_div_table;\n\nstruct clk_divider {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu8 width;\n\tu16 flags;\n\tconst struct clk_div_table *table;\n\tspinlock_t *lock;\n};\n\nstruct bcm2835_pll_divider_data;\n\nstruct bcm2835_pll_divider {\n\tstruct clk_divider div;\n\tstruct bcm2835_cprman *cprman;\n\tconst struct bcm2835_pll_divider_data *data;\n};\n\nstruct bcm2835_pll_divider_data {\n\tconst char *name;\n\tconst char *source_pll;\n\tu32 cm_reg;\n\tu32 a2w_reg;\n\tu32 load_mask;\n\tu32 hold_mask;\n\tu32 fixed_divider;\n\tu32 flags;\n};\n\nstruct bcm2835_pm {\n\tstruct device *dev;\n\tvoid *base;\n\tvoid *asb;\n\tvoid *rpivid_asb;\n};\n\ntypedef struct generic_pm_domain * (*genpd_xlate_t)(const struct of_phandle_args *, void *);\n\nstruct genpd_onecell_data {\n\tstruct generic_pm_domain **domains;\n\tunsigned int num_domains;\n\tgenpd_xlate_t xlate;\n};\n\nstruct bcm2835_power;\n\nstruct bcm2835_power_domain {\n\tstruct generic_pm_domain base;\n\tstruct bcm2835_power *power;\n\tu32 domain;\n\tstruct clk *clk;\n};\n\nstruct bcm2835_power {\n\tstruct device *dev;\n\tvoid *base;\n\tvoid *asb;\n\tvoid *rpivid_asb;\n\tstruct genpd_onecell_data pd_xlate;\n\tstruct bcm2835_power_domain domains[13];\n\tstruct reset_controller_dev reset;\n};\n\nstruct bcm2835_rng_of_data {\n\tbool mask_interrupts;\n};\n\nstruct bcm2835_rng_priv {\n\tstruct hwrng rng;\n\tvoid *base;\n\tbool mask_interrupts;\n\tstruct clk *clk;\n\tstruct reset_control *reset;\n};\n\nstruct bcm2835_wdt {\n\tvoid *base;\n\tspinlock_t lock;\n};\n\nstruct bcm2835aux_data {\n\tstruct clk *clk;\n\tint line;\n\tu32 cntl;\n};\n\nstruct bcm2836_arm_irqchip_intc {\n\tstruct irq_domain *domain;\n\tvoid *base;\n};\n\nstruct bcm4908_enet_dma_ring_bd;\n\nstruct bcm4908_enet_dma_ring_slot;\n\nstruct bcm4908_enet_dma_ring {\n\tint is_tx;\n\tint read_idx;\n\tint write_idx;\n\tint length;\n\tu16 cfg_block;\n\tu16 st_ram_block;\n\tstruct napi_struct napi;\n\tunion {\n\t\tvoid *cpu_addr;\n\t\tstruct bcm4908_enet_dma_ring_bd *buf_desc;\n\t};\n\tdma_addr_t dma_addr;\n\tstruct bcm4908_enet_dma_ring_slot *slots;\n};\n\nstruct bcm4908_enet {\n\tstruct device *dev;\n\tstruct net_device *netdev;\n\tvoid *base;\n\tint irq_tx;\n\tstruct bcm4908_enet_dma_ring tx_ring;\n\tstruct bcm4908_enet_dma_ring rx_ring;\n};\n\nstruct bcm4908_enet_dma_ring_bd {\n\t__le32 ctl;\n\t__le32 addr;\n};\n\nstruct bcm4908_enet_dma_ring_slot {\n\tunion {\n\t\tvoid *buf;\n\t\tstruct sk_buff *skb;\n\t};\n\tunsigned int len;\n\tdma_addr_t dma_addr;\n};\n\nstruct bcm4908_pinctrl {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct mutex mutex;\n\tstruct pinctrl_dev *pctldev;\n\tstruct pinctrl_desc pctldesc;\n};\n\nstruct bcm4908_pinctrl_function {\n\tconst char *name;\n\tconst char * const *groups;\n\tconst unsigned int num_groups;\n};\n\nstruct bcm4908_pinctrl_pin_setup;\n\nstruct bcm4908_pinctrl_grp {\n\tconst char *name;\n\tconst struct bcm4908_pinctrl_pin_setup *pins;\n\tconst unsigned int num_pins;\n};\n\nstruct bcm4908_pinctrl_pin_setup {\n\tunsigned int number;\n\tunsigned int function;\n};\n\nstruct bcm63138_leds;\n\nstruct bcm63138_led {\n\tstruct bcm63138_leds *leds;\n\tstruct led_classdev cdev;\n\tu32 pin;\n\tbool active_low;\n};\n\nstruct bcm63138_leds {\n\tstruct device *dev;\n\tvoid *base;\n\tspinlock_t lock;\n};\n\nstruct bcm7038_l1_cpu;\n\nstruct bcm7038_l1_chip {\n\traw_spinlock_t lock;\n\tunsigned int n_words;\n\tstruct irq_domain *domain;\n\tstruct bcm7038_l1_cpu *cpus[512];\n\tstruct list_head list;\n\tu32 wake_mask[8];\n\tu32 irq_fwd_mask[8];\n\tu8 affinity[256];\n};\n\nstruct bcm7038_l1_cpu {\n\tvoid *map_base;\n\tu32 mask_cache[0];\n};\n\nstruct bcm7120_l2_intc_data;\n\nstruct bcm7120_l1_intc_data {\n\tstruct bcm7120_l2_intc_data *b;\n\tu32 irq_map_mask[4];\n};\n\nstruct bcm7120_l2_intc_data {\n\tunsigned int n_words;\n\tvoid *map_base[8];\n\tvoid *pair_base[4];\n\tint en_offset[4];\n\tint stat_offset[4];\n\tstruct irq_domain *domain;\n\tbool can_wake;\n\tu32 irq_fwd_mask[4];\n\tstruct bcm7120_l1_intc_data *l1_data;\n\tint num_parent_irqs;\n\tconst __be32 *map_mask_prop;\n};\n\nstruct bcm74110_priv {\n\tvoid *base;\n};\n\nstruct bcm_db {\n\t__le32 unit;\n\t__le16 width;\n\tu8 vcd;\n\tu8 reserved;\n};\n\nstruct rt_mutex_base {\n\traw_spinlock_t wait_lock;\n\tstruct rb_root_cached waiters;\n\tstruct task_struct *owner;\n};\n\nstruct rt_mutex {\n\tstruct rt_mutex_base rtmutex;\n};\n\nstruct i2c_algorithm;\n\nstruct i2c_lock_operations;\n\nstruct i2c_bus_recovery_info;\n\nstruct i2c_adapter_quirks;\n\nstruct i2c_adapter {\n\tstruct module *owner;\n\tunsigned int class;\n\tconst struct i2c_algorithm *algo;\n\tvoid *algo_data;\n\tconst struct i2c_lock_operations *lock_ops;\n\tstruct rt_mutex bus_lock;\n\tstruct rt_mutex mux_lock;\n\tint timeout;\n\tint retries;\n\tstruct device dev;\n\tlong unsigned int locked_flags;\n\tint nr;\n\tchar name[48];\n\tstruct completion dev_released;\n\tstruct mutex userspace_clients_lock;\n\tstruct list_head userspace_clients;\n\tstruct i2c_bus_recovery_info *bus_recovery_info;\n\tconst struct i2c_adapter_quirks *quirks;\n\tstruct irq_domain *host_notify_domain;\n\tstruct regulator *bus_regulator;\n\tstruct dentry *debugfs;\n\tlong unsigned int addrs_in_instantiation[2];\n};\n\nstruct i2c_msg;\n\nstruct i2c_client;\n\nstruct bcm_iproc_i2c_dev {\n\tstruct device *device;\n\tenum bcm_iproc_i2c_type type;\n\tint irq;\n\tvoid *base;\n\tvoid *idm_base;\n\tu32 ape_addr_mask;\n\tspinlock_t idm_lock;\n\tstruct i2c_adapter adapter;\n\tunsigned int bus_speed;\n\tstruct completion done;\n\tint xfer_is_done;\n\tstruct i2c_msg *msg;\n\tstruct i2c_client *slave;\n\tunsigned int tx_bytes;\n\tunsigned int rx_bytes;\n\tunsigned int thld_bytes;\n\tbool slave_rx_only;\n\tbool rx_start_rcvd;\n\tbool slave_read_complete;\n\tu32 tx_underrun;\n\tu32 slave_int_mask;\n\tstruct tasklet_struct slave_rx_tasklet;\n};\n\nstruct bcm_qspi_soc_intc {\n\tvoid (*bcm_qspi_int_ack)(struct bcm_qspi_soc_intc *, int);\n\tvoid (*bcm_qspi_int_set)(struct bcm_qspi_soc_intc *, int, bool);\n\tu32 (*bcm_qspi_get_int_status)(struct bcm_qspi_soc_intc *);\n};\n\nstruct bcm_iproc_intc {\n\tstruct bcm_qspi_soc_intc soc_intc;\n\tstruct platform_device *pdev;\n\tvoid *int_reg;\n\tvoid *int_status_reg;\n\tspinlock_t soclock;\n\tbool big_endian;\n};\n\nstruct bcm_plat_data {\n\tconst struct gpio_chip *gpio_chip;\n\tconst struct pinctrl_desc *pctl_desc;\n\tconst struct pinctrl_gpio_range *gpio_range;\n};\n\nstruct bcm_pmb {\n\tstruct device *dev;\n\tvoid *base;\n\tspinlock_t lock;\n\tbool little_endian;\n\tstruct genpd_onecell_data genpd_onecell_data;\n};\n\nstruct bcm_pmb_pd_data {\n\tconst char * const name;\n\tint id;\n\tu8 bus;\n\tu8 device;\n};\n\nstruct bcm_pmb_pm_domain {\n\tstruct bcm_pmb *pmb;\n\tconst struct bcm_pmb_pd_data *data;\n\tstruct generic_pm_domain genpd;\n};\n\nstruct bcm_qspi_parms {\n\tu32 speed_hz;\n\tu8 mode;\n\tu8 bits_per_word;\n};\n\nstruct spi_transfer;\n\nstruct qspi_trans {\n\tstruct spi_transfer *trans;\n\tint byte;\n\tbool mspi_last_trans;\n};\n\nstruct bcm_xfer_mode {\n\tbool flex_mode;\n\tunsigned int width;\n\tunsigned int addrlen;\n\tunsigned int hp;\n};\n\nstruct spi_mem_op;\n\nstruct bcm_qspi_dev_id;\n\nstruct bcm_qspi {\n\tstruct platform_device *pdev;\n\tstruct spi_controller *host;\n\tstruct clk *clk;\n\tu32 base_clk;\n\tu32 max_speed_hz;\n\tvoid *base[3];\n\tstruct bcm_qspi_soc_intc *soc_intc;\n\tstruct bcm_qspi_parms last_parms;\n\tstruct qspi_trans trans_pos;\n\tint curr_cs;\n\tint bspi_maj_rev;\n\tint bspi_min_rev;\n\tint bspi_enabled;\n\tconst struct spi_mem_op *bspi_rf_op;\n\tu32 bspi_rf_op_idx;\n\tu32 bspi_rf_op_len;\n\tu32 bspi_rf_op_status;\n\tstruct bcm_xfer_mode xfer_mode;\n\tu32 s3_strap_override_ctrl;\n\tbool bspi_mode;\n\tbool big_endian;\n\tint num_irqs;\n\tstruct bcm_qspi_dev_id *dev_ids;\n\tstruct completion mspi_done;\n\tstruct completion bspi_done;\n\tu8 mspi_maj_rev;\n\tu8 mspi_min_rev;\n\tbool mspi_spcr3_sysclk;\n};\n\nstruct bcm_qspi_data {\n\tbool has_mspi_rev;\n\tbool has_spcr3_sysclk;\n};\n\nstruct bcm_qspi_irq;\n\nstruct bcm_qspi_dev_id {\n\tconst struct bcm_qspi_irq *irqp;\n\tvoid *dev;\n};\n\nstruct bcm_qspi_irq {\n\tconst char *irq_name;\n\tconst irq_handler_t irq_handler;\n\tint irq_source;\n\tu32 mask;\n};\n\nstruct bcm_usb_phy_cfg {\n\tuint32_t type;\n\tuint32_t version;\n\tvoid *regs;\n\tstruct phy *phy;\n\tconst u8 *offset;\n};\n\nstruct bcm_voter {\n\tstruct device *dev;\n\tstruct device_node *np;\n\tstruct mutex lock;\n\tstruct list_head commit_list;\n\tstruct list_head ws_list;\n\tstruct list_head voter_node;\n\tu32 tcs_wait;\n};\n\nstruct bcma_boardinfo {\n\tu16 vendor;\n\tu16 type;\n};\n\nstruct bcma_chipinfo {\n\tu16 id;\n\tu8 rev;\n\tu8 pkg;\n};\n\nstruct bcma_device;\n\nstruct bcma_chipcommon_pmu {\n\tstruct bcma_device *core;\n\tu8 rev;\n\tu32 crystalfreq;\n};\n\nstruct bcma_drv_cc {\n\tstruct bcma_device *core;\n\tu32 status;\n\tu32 capabilities;\n\tu32 capabilities_ext;\n\tu8 setup_done: 1;\n\tu8 early_setup_done: 1;\n\tu16 fast_pwrup_delay;\n\tstruct bcma_chipcommon_pmu pmu;\n\tu32 ticks_per_ms;\n\tstruct platform_device *watchdog;\n\tspinlock_t gpio_lock;\n};\n\nstruct bcma_drv_cc_b {\n\tstruct bcma_device *core;\n\tu8 setup_done: 1;\n\tvoid *mii;\n};\n\nstruct bcma_drv_pci {\n\tstruct bcma_device *core;\n\tu8 early_setup_done: 1;\n\tu8 setup_done: 1;\n\tu8 hostmode: 1;\n};\n\nstruct bcma_drv_pcie2 {\n\tstruct bcma_device *core;\n\tu16 reqsize;\n};\n\nstruct bcma_drv_mips {\n\tstruct bcma_device *core;\n\tu8 setup_done: 1;\n\tu8 early_setup_done: 1;\n};\n\nstruct bcma_drv_gmac_cmn {\n\tstruct bcma_device *core;\n\tstruct mutex phy_mutex;\n};\n\nstruct ssb_sprom_core_pwr_info {\n\tu8 itssi_2g;\n\tu8 itssi_5g;\n\tu8 maxpwr_2g;\n\tu8 maxpwr_5gl;\n\tu8 maxpwr_5g;\n\tu8 maxpwr_5gh;\n\tu16 pa_2g[4];\n\tu16 pa_5gl[4];\n\tu16 pa_5g[4];\n\tu16 pa_5gh[4];\n};\n\nstruct ssb_sprom {\n\tu8 revision;\n\tshort: 0;\n\tu8 il0mac[6];\n\tu8 et0mac[6];\n\tu8 et1mac[6];\n\tu8 et2mac[6];\n\tu8 et0phyaddr;\n\tu8 et1phyaddr;\n\tu8 et2phyaddr;\n\tu8 et0mdcport;\n\tu8 et1mdcport;\n\tu8 et2mdcport;\n\tu16 dev_id;\n\tu16 board_rev;\n\tu16 board_num;\n\tu16 board_type;\n\tu8 country_code;\n\tchar alpha2[2];\n\tu8 leddc_on_time;\n\tu8 leddc_off_time;\n\tu8 ant_available_a;\n\tu8 ant_available_bg;\n\tu16 pa0b0;\n\tu16 pa0b1;\n\tu16 pa0b2;\n\tu16 pa1b0;\n\tu16 pa1b1;\n\tu16 pa1b2;\n\tu16 pa1lob0;\n\tu16 pa1lob1;\n\tu16 pa1lob2;\n\tu16 pa1hib0;\n\tu16 pa1hib1;\n\tu16 pa1hib2;\n\tu8 gpio0;\n\tu8 gpio1;\n\tu8 gpio2;\n\tu8 gpio3;\n\tu8 maxpwr_bg;\n\tu8 maxpwr_al;\n\tu8 maxpwr_a;\n\tu8 maxpwr_ah;\n\tu8 itssi_a;\n\tu8 itssi_bg;\n\tu8 tri2g;\n\tu8 tri5gl;\n\tu8 tri5g;\n\tu8 tri5gh;\n\tu8 txpid2g[4];\n\tu8 txpid5gl[4];\n\tu8 txpid5g[4];\n\tu8 txpid5gh[4];\n\ts8 rxpo2g;\n\ts8 rxpo5g;\n\tu8 rssisav2g;\n\tu8 rssismc2g;\n\tu8 rssismf2g;\n\tu8 bxa2g;\n\tu8 rssisav5g;\n\tu8 rssismc5g;\n\tu8 rssismf5g;\n\tu8 bxa5g;\n\tu16 cck2gpo;\n\tu32 ofdm2gpo;\n\tu32 ofdm5glpo;\n\tu32 ofdm5gpo;\n\tu32 ofdm5ghpo;\n\tu32 boardflags;\n\tu32 boardflags2;\n\tu32 boardflags3;\n\tu16 boardflags_lo;\n\tu16 boardflags_hi;\n\tu16 boardflags2_lo;\n\tu16 boardflags2_hi;\n\tstruct ssb_sprom_core_pwr_info core_pwr_info[4];\n\tstruct {\n\t\ts8 a0;\n\t\ts8 a1;\n\t\ts8 a2;\n\t\ts8 a3;\n\t} antenna_gain;\n\tstruct {\n\t\tstruct {\n\t\t\tu8 tssipos;\n\t\t\tu8 extpa_gain;\n\t\t\tu8 pdet_range;\n\t\t\tu8 tr_iso;\n\t\t\tu8 antswlut;\n\t\t} ghz2;\n\t\tstruct {\n\t\t\tu8 tssipos;\n\t\t\tu8 extpa_gain;\n\t\t\tu8 pdet_range;\n\t\t\tu8 tr_iso;\n\t\t\tu8 antswlut;\n\t\t} ghz5;\n\t} fem;\n\tu16 mcs2gpo[8];\n\tu16 mcs5gpo[8];\n\tu16 mcs5glpo[8];\n\tu16 mcs5ghpo[8];\n\tu8 opo;\n\tu8 rxgainerr2ga[3];\n\tu8 rxgainerr5gla[3];\n\tu8 rxgainerr5gma[3];\n\tu8 rxgainerr5gha[3];\n\tu8 rxgainerr5gua[3];\n\tu8 noiselvl2ga[3];\n\tu8 noiselvl5gla[3];\n\tu8 noiselvl5gma[3];\n\tu8 noiselvl5gha[3];\n\tu8 noiselvl5gua[3];\n\tu8 regrev;\n\tu8 txchain;\n\tu8 rxchain;\n\tu8 antswitch;\n\tu16 cddpo;\n\tu16 stbcpo;\n\tu16 bw40po;\n\tu16 bwduppo;\n\tu8 tempthresh;\n\tu8 tempoffset;\n\tu16 rawtempsense;\n\tu8 measpower;\n\tu8 tempsense_slope;\n\tu8 tempcorrx;\n\tu8 tempsense_option;\n\tu8 freqoffset_corr;\n\tu8 iqcal_swp_dis;\n\tu8 hw_iqcal_en;\n\tu8 elna2g;\n\tu8 elna5g;\n\tu8 phycal_tempdelta;\n\tu8 temps_period;\n\tu8 temps_hysteresis;\n\tu8 measpower1;\n\tu8 measpower2;\n\tu8 pcieingress_war;\n\tu16 cckbw202gpo;\n\tu16 cckbw20ul2gpo;\n\tu32 legofdmbw202gpo;\n\tu32 legofdmbw20ul2gpo;\n\tu32 legofdmbw205glpo;\n\tu32 legofdmbw20ul5glpo;\n\tu32 legofdmbw205gmpo;\n\tu32 legofdmbw20ul5gmpo;\n\tu32 legofdmbw205ghpo;\n\tu32 legofdmbw20ul5ghpo;\n\tu32 mcsbw202gpo;\n\tu32 mcsbw20ul2gpo;\n\tu32 mcsbw402gpo;\n\tu32 mcsbw205glpo;\n\tu32 mcsbw20ul5glpo;\n\tu32 mcsbw405glpo;\n\tu32 mcsbw205gmpo;\n\tu32 mcsbw20ul5gmpo;\n\tu32 mcsbw405gmpo;\n\tu32 mcsbw205ghpo;\n\tu32 mcsbw20ul5ghpo;\n\tu32 mcsbw405ghpo;\n\tu16 mcs32po;\n\tu16 legofdm40duppo;\n\tu8 sar2g;\n\tu8 sar5g;\n};\n\nstruct bcma_host_ops;\n\nstruct bcma_bus {\n\tstruct device *dev;\n\tvoid *mmio;\n\tconst struct bcma_host_ops *ops;\n\tenum bcma_hosttype hosttype;\n\tbool host_is_pcie2;\n\tstruct pci_dev *host_pci;\n\tstruct bcma_chipinfo chipinfo;\n\tstruct bcma_boardinfo boardinfo;\n\tstruct bcma_device *mapped_core;\n\tstruct list_head cores;\n\tu8 nr_cores;\n\tu8 num;\n\tstruct bcma_drv_cc drv_cc;\n\tstruct bcma_drv_cc_b drv_cc_b;\n\tstruct bcma_drv_pci drv_pci[2];\n\tstruct bcma_drv_pcie2 drv_pcie2;\n\tstruct bcma_drv_mips drv_mips;\n\tstruct bcma_drv_gmac_cmn drv_gmac_cmn;\n\tstruct ssb_sprom sprom;\n};\n\nstruct bcma_device_id {\n\t__u16 manuf;\n\t__u16 id;\n\t__u8 rev;\n\t__u8 class;\n};\n\nstruct bcma_device {\n\tstruct bcma_bus *bus;\n\tstruct bcma_device_id id;\n\tstruct device dev;\n\tstruct device *dma_dev;\n\tunsigned int irq;\n\tbool dev_registered;\n\tu8 core_index;\n\tu8 core_unit;\n\tu32 addr;\n\tu32 addr_s[8];\n\tu32 wrap;\n\tvoid *io_addr;\n\tvoid *io_wrap;\n\tvoid *drvdata;\n\tstruct list_head list;\n};\n\nstruct bcma_host_ops {\n\tu8 (*read8)(struct bcma_device *, u16);\n\tu16 (*read16)(struct bcma_device *, u16);\n\tu32 (*read32)(struct bcma_device *, u16);\n\tvoid (*write8)(struct bcma_device *, u16, u8);\n\tvoid (*write16)(struct bcma_device *, u16, u16);\n\tvoid (*write32)(struct bcma_device *, u16, u32);\n\tu32 (*aread32)(struct bcma_device *, u16);\n\tvoid (*awrite32)(struct bcma_device *, u16, u32);\n};\n\nstruct bcmasp_desc {\n\tu64 buf;\n\tu32 size;\n\tu32 flags;\n};\n\nstruct bcmasp_hw_info {\n\tu32 rx_ctrl_flush;\n\tu32 umac2fb;\n\tu32 rx_ctrl_fb_out_frame_count;\n\tu32 rx_ctrl_fb_filt_out_frame_count;\n\tu32 rx_ctrl_fb_rx_fifo_depth;\n};\n\nstruct bcmasp_res {\n\tvoid *umac;\n\tvoid *umac2fb;\n\tvoid *rgmii;\n\tvoid *tx_spb_ctrl;\n\tvoid *tx_spb_top;\n\tvoid *tx_epkt_core;\n\tvoid *tx_pause_ctrl;\n};\n\nstruct bcmasp_intf_stats64 {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t rx_errors;\n\tu64_stats_t rx_dropped;\n\tu64_stats_t rx_crc_errs;\n\tu64_stats_t rx_sym_errs;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct bcmasp_mib_counters {\n\tu32 edpkt_ts;\n\tu32 edpkt_rx_pkt_cnt;\n\tu32 edpkt_hdr_ext_cnt;\n\tu32 edpkt_hdr_out_cnt;\n\tu32 umac_frm_cnt;\n\tu32 fb_frm_cnt;\n\tu32 fb_rx_fifo_depth;\n\tu32 fb_out_frm_cnt;\n\tu32 fb_filt_out_frm_cnt;\n\tu32 alloc_rx_skb_failed;\n\tu32 tx_dma_failed;\n\tu32 mc_filters_full_cnt;\n\tu32 uc_filters_full_cnt;\n\tu32 filters_combine_cnt;\n\tu32 promisc_filters_cnt;\n\tu32 tx_realloc_offload_failed;\n\tu32 tx_timeout_cnt;\n};\n\nstruct bcmasp_priv;\n\nstruct bcmasp_intf_ops;\n\nstruct bcmasp_tx_cb;\n\nstruct bcmasp_intf {\n\tstruct list_head list;\n\tstruct net_device *ndev;\n\tstruct bcmasp_priv *parent;\n\tint channel;\n\tint port;\n\tconst struct bcmasp_intf_ops *ops;\n\tint index;\n\tstruct napi_struct tx_napi;\n\tvoid *tx_spb_dma;\n\tint tx_spb_index;\n\tint tx_spb_clean_index;\n\tstruct bcmasp_desc *tx_spb_cpu;\n\tdma_addr_t tx_spb_dma_addr;\n\tdma_addr_t tx_spb_dma_valid;\n\tdma_addr_t tx_spb_dma_read;\n\tstruct bcmasp_tx_cb *tx_cbs;\n\tvoid *rx_edpkt_cfg;\n\tvoid *rx_edpkt_dma;\n\tint rx_edpkt_index;\n\tint rx_buf_order;\n\tstruct bcmasp_desc *rx_edpkt_cpu;\n\tdma_addr_t rx_edpkt_dma_addr;\n\tdma_addr_t rx_edpkt_dma_read;\n\tdma_addr_t rx_edpkt_dma_valid;\n\tvoid *rx_ring_cpu;\n\tdma_addr_t rx_ring_dma;\n\tdma_addr_t rx_ring_dma_valid;\n\tstruct napi_struct rx_napi;\n\tstruct bcmasp_res res;\n\tunsigned int crc_fwd;\n\tstruct device_node *phy_dn;\n\tstruct device_node *ndev_dn;\n\tphy_interface_t phy_interface;\n\tbool internal_phy;\n\tint old_pause;\n\tint old_link;\n\tint old_duplex;\n\tu32 msg_enable;\n\tstruct bcmasp_intf_stats64 stats64;\n\tstruct bcmasp_mib_counters mib;\n\tu32 wolopts;\n\tu8 sopass[6];\n\tint wol_irq;\n\tunsigned int wol_irq_enabled: 1;\n};\n\nstruct bcmasp_intf_ops {\n\tlong unsigned int (*rx_desc_read)(struct bcmasp_intf *);\n\tvoid (*rx_buffer_write)(struct bcmasp_intf *, dma_addr_t);\n\tvoid (*rx_desc_write)(struct bcmasp_intf *, dma_addr_t);\n\tlong unsigned int (*tx_read)(struct bcmasp_intf *);\n\tvoid (*tx_write)(struct bcmasp_intf *, dma_addr_t);\n};\n\nstruct bcmasp_mda_filter {\n\tint port;\n\tbool en;\n\tu8 addr[6];\n\tu8 mask[6];\n};\n\nstruct ethtool_tcpip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be16 psrc;\n\t__be16 pdst;\n\t__u8 tos;\n};\n\nstruct ethtool_ah_espip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be32 spi;\n\t__u8 tos;\n};\n\nstruct ethtool_usrip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be32 l4_4_bytes;\n\t__u8 tos;\n\t__u8 ip_ver;\n\t__u8 proto;\n};\n\nstruct ethtool_tcpip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be16 psrc;\n\t__be16 pdst;\n\t__u8 tclass;\n};\n\nstruct ethtool_ah_espip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be32 spi;\n\t__u8 tclass;\n};\n\nstruct ethtool_usrip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be32 l4_4_bytes;\n\t__u8 tclass;\n\t__u8 l4_proto;\n};\n\nstruct ethhdr {\n\tunsigned char h_dest[6];\n\tunsigned char h_source[6];\n\t__be16 h_proto;\n};\n\nunion ethtool_flow_union {\n\tstruct ethtool_tcpip4_spec tcp_ip4_spec;\n\tstruct ethtool_tcpip4_spec udp_ip4_spec;\n\tstruct ethtool_tcpip4_spec sctp_ip4_spec;\n\tstruct ethtool_ah_espip4_spec ah_ip4_spec;\n\tstruct ethtool_ah_espip4_spec esp_ip4_spec;\n\tstruct ethtool_usrip4_spec usr_ip4_spec;\n\tstruct ethtool_tcpip6_spec tcp_ip6_spec;\n\tstruct ethtool_tcpip6_spec udp_ip6_spec;\n\tstruct ethtool_tcpip6_spec sctp_ip6_spec;\n\tstruct ethtool_ah_espip6_spec ah_ip6_spec;\n\tstruct ethtool_ah_espip6_spec esp_ip6_spec;\n\tstruct ethtool_usrip6_spec usr_ip6_spec;\n\tstruct ethhdr ether_spec;\n\t__u8 hdata[52];\n};\n\nstruct ethtool_flow_ext {\n\t__u8 padding[2];\n\tunsigned char h_dest[6];\n\t__be16 vlan_etype;\n\t__be16 vlan_tci;\n\t__be32 data[2];\n};\n\nstruct ethtool_rx_flow_spec {\n\t__u32 flow_type;\n\tunion ethtool_flow_union h_u;\n\tstruct ethtool_flow_ext h_ext;\n\tunion ethtool_flow_union m_u;\n\tstruct ethtool_flow_ext m_ext;\n\t__u64 ring_cookie;\n\t__u32 location;\n};\n\nstruct bcmasp_net_filter {\n\tstruct ethtool_rx_flow_spec fs;\n\tbool claimed;\n\tbool wake_filter;\n\tint port;\n\tunsigned int hw_index;\n};\n\nstruct bcmasp_pkt_offload {\n\t__be32 nop;\n\t__be32 header;\n\t__be32 header2;\n\t__be32 epkt;\n\t__be32 end;\n};\n\nstruct bcmasp_plat_data {\n\tvoid (*init_wol)(struct bcmasp_priv *);\n\tvoid (*enable_wol)(struct bcmasp_intf *, bool);\n\tvoid (*destroy_wol)(struct bcmasp_priv *);\n\tvoid (*core_clock_select)(struct bcmasp_priv *, bool);\n\tvoid (*eee_fixup)(struct bcmasp_intf *, bool);\n\tstruct bcmasp_hw_info *hw_info;\n};\n\nstruct bcmasp_priv {\n\tstruct platform_device *pdev;\n\tstruct clk *clk;\n\tint irq;\n\tu32 irq_mask;\n\tstruct mutex wol_lock;\n\tint wol_irq;\n\tlong unsigned int wol_irq_enabled_mask;\n\tvoid (*init_wol)(struct bcmasp_priv *);\n\tvoid (*enable_wol)(struct bcmasp_intf *, bool);\n\tvoid (*destroy_wol)(struct bcmasp_priv *);\n\tvoid (*core_clock_select)(struct bcmasp_priv *, bool);\n\tvoid (*eee_fixup)(struct bcmasp_intf *, bool);\n\tvoid *base;\n\tstruct bcmasp_hw_info *hw_info;\n\tstruct list_head intfs;\n\tstruct bcmasp_mda_filter mda_filters[32];\n\tspinlock_t mda_lock;\n\tspinlock_t clk_lock;\n\tstruct bcmasp_net_filter net_filters[32];\n\tstruct mutex net_lock;\n};\n\nstruct bcmasp_stats {\n\tchar stat_string[32];\n\tenum bcmasp_stat_type type;\n\tu32 reg_offset;\n};\n\nstruct bcmasp_tx_cb {\n\tstruct sk_buff *skb;\n\tunsigned int bytes_sent;\n\tbool last;\n\tdma_addr_t dma_addr;\n\t__u32 dma_len;\n};\n\nstruct regulator_config;\n\nstruct regulator_ops;\n\nstruct linear_range;\n\nstruct regulator_desc {\n\tconst char *name;\n\tconst char *supply_name;\n\tconst char *of_match;\n\tbool of_match_full_name;\n\tconst char *regulators_node;\n\tint (*of_parse_cb)(struct device_node *, const struct regulator_desc *, struct regulator_config *);\n\tint (*init_cb)(struct regulator_dev *, struct regulator_config *);\n\tint id;\n\tunsigned int continuous_voltage_range: 1;\n\tunsigned int n_voltages;\n\tunsigned int n_current_limits;\n\tconst struct regulator_ops *ops;\n\tint irq;\n\tenum regulator_type type;\n\tstruct module *owner;\n\tunsigned int min_uV;\n\tunsigned int uV_step;\n\tunsigned int linear_min_sel;\n\tint fixed_uV;\n\tunsigned int ramp_delay;\n\tint min_dropout_uV;\n\tconst struct linear_range *linear_ranges;\n\tconst unsigned int *linear_range_selectors_bitfield;\n\tint n_linear_ranges;\n\tconst unsigned int *volt_table;\n\tconst unsigned int *curr_table;\n\tunsigned int vsel_range_reg;\n\tunsigned int vsel_range_mask;\n\tbool range_applied_by_vsel;\n\tunsigned int vsel_reg;\n\tunsigned int vsel_mask;\n\tunsigned int vsel_step;\n\tunsigned int csel_reg;\n\tunsigned int csel_mask;\n\tunsigned int apply_reg;\n\tunsigned int apply_bit;\n\tunsigned int enable_reg;\n\tunsigned int enable_mask;\n\tunsigned int enable_val;\n\tunsigned int disable_val;\n\tbool enable_is_inverted;\n\tunsigned int bypass_reg;\n\tunsigned int bypass_mask;\n\tunsigned int bypass_val_on;\n\tunsigned int bypass_val_off;\n\tunsigned int active_discharge_on;\n\tunsigned int active_discharge_off;\n\tunsigned int active_discharge_mask;\n\tunsigned int active_discharge_reg;\n\tunsigned int soft_start_reg;\n\tunsigned int soft_start_mask;\n\tunsigned int soft_start_val_on;\n\tunsigned int pull_down_reg;\n\tunsigned int pull_down_mask;\n\tunsigned int pull_down_val_on;\n\tunsigned int ramp_reg;\n\tunsigned int ramp_mask;\n\tconst unsigned int *ramp_delay_table;\n\tunsigned int n_ramp_values;\n\tunsigned int enable_time;\n\tunsigned int off_on_delay;\n\tunsigned int poll_enabled_time;\n\tunsigned int (*of_map_mode)(unsigned int);\n};\n\nstruct rohm_dvs_config {\n\tuint64_t level_map;\n\tunsigned int run_reg;\n\tunsigned int run_mask;\n\tunsigned int run_on_mask;\n\tunsigned int idle_reg;\n\tunsigned int idle_mask;\n\tunsigned int idle_on_mask;\n\tunsigned int suspend_reg;\n\tunsigned int suspend_mask;\n\tunsigned int suspend_on_mask;\n\tunsigned int lpsr_reg;\n\tunsigned int lpsr_mask;\n\tunsigned int lpsr_on_mask;\n\tunsigned int snvs_reg;\n\tunsigned int snvs_mask;\n\tunsigned int snvs_on_mask;\n};\n\nstruct reg_init {\n\tunsigned int reg;\n\tunsigned int mask;\n\tunsigned int val;\n};\n\nstruct bd718xx_regulator_data {\n\tstruct regulator_desc desc;\n\tconst struct rohm_dvs_config dvs;\n\tconst struct reg_init init;\n\tconst struct reg_init *additional_inits;\n\tint additional_init_amnt;\n};\n\nstruct bd9571mwv_reg {\n\tstruct regmap *regmap;\n\tu8 bkup_mode_cnt_keepon;\n\tu8 bkup_mode_cnt_saved;\n\tbool bkup_mode_enabled;\n\tbool rstbmode_level;\n\tbool rstbmode_pulse;\n};\n\nstruct bd_holder_disk {\n\tstruct list_head list;\n\tstruct kobject *holder_dir;\n\tint refcnt;\n};\n\nstruct bd_table;\n\nstruct bd_list {\n\tstruct bd_table **bd_table_array;\n\tint num_tabs;\n\tint max_bdi;\n\tint eqp_bdi;\n\tint hwd_bdi;\n\tint num_bds_table;\n};\n\nstruct bdc_bd;\n\nstruct bd_table {\n\tstruct bdc_bd *start_bd;\n\tdma_addr_t dma;\n};\n\nstruct bdc_req;\n\nstruct bd_transfer {\n\tstruct bdc_req *req;\n\tint start_bdi;\n\tint next_hwd_bdi;\n\tint num_bds;\n};\n\nstruct usb_udc;\n\nstruct usb_gadget_ops;\n\nstruct usb_ep;\n\nstruct usb_otg_caps;\n\nstruct usb_gadget {\n\tstruct work_struct work;\n\tstruct usb_udc *udc;\n\tconst struct usb_gadget_ops *ops;\n\tstruct usb_ep *ep0;\n\tstruct list_head ep_list;\n\tenum usb_device_speed speed;\n\tenum usb_device_speed max_speed;\n\tenum usb_ssp_rate ssp_rate;\n\tenum usb_ssp_rate max_ssp_rate;\n\tenum usb_device_state state;\n\tconst char *name;\n\tstruct device dev;\n\tunsigned int isoch_delay;\n\tunsigned int out_epnum;\n\tunsigned int in_epnum;\n\tunsigned int mA;\n\tstruct usb_otg_caps *otg_caps;\n\tunsigned int sg_supported: 1;\n\tunsigned int is_otg: 1;\n\tunsigned int is_a_peripheral: 1;\n\tunsigned int b_hnp_enable: 1;\n\tunsigned int a_hnp_support: 1;\n\tunsigned int a_alt_hnp_support: 1;\n\tunsigned int hnp_polling_support: 1;\n\tunsigned int host_request_flag: 1;\n\tunsigned int quirk_ep_out_aligned_size: 1;\n\tunsigned int quirk_altset_not_supp: 1;\n\tunsigned int quirk_stall_not_supp: 1;\n\tunsigned int quirk_zlp_not_supp: 1;\n\tunsigned int quirk_avoids_skb_reserve: 1;\n\tunsigned int is_selfpowered: 1;\n\tunsigned int deactivated: 1;\n\tunsigned int connected: 1;\n\tunsigned int lpm_capable: 1;\n\tunsigned int wakeup_capable: 1;\n\tunsigned int wakeup_armed: 1;\n\tint irq;\n\tint id_number;\n};\n\nstruct bdc_scratchpad {\n\tdma_addr_t sp_dma;\n\tvoid *buff;\n\tu32 size;\n};\n\nstruct bdc_sr;\n\nstruct srr {\n\tstruct bdc_sr *sr_bds;\n\tu16 eqp_index;\n\tu16 dqp_index;\n\tdma_addr_t dma_addr;\n};\n\nstruct usb_ctrlrequest {\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__le16 wValue;\n\t__le16 wIndex;\n\t__le16 wLength;\n};\n\nstruct usb_request {\n\tvoid *buf;\n\tunsigned int length;\n\tdma_addr_t dma;\n\tstruct scatterlist *sg;\n\tunsigned int num_sgs;\n\tunsigned int num_mapped_sgs;\n\tunsigned int stream_id: 16;\n\tunsigned int is_last: 1;\n\tunsigned int no_interrupt: 1;\n\tunsigned int zero: 1;\n\tunsigned int short_not_ok: 1;\n\tunsigned int dma_mapped: 1;\n\tunsigned int sg_was_mapped: 1;\n\tvoid (*complete)(struct usb_ep *, struct usb_request *);\n\tvoid *context;\n\tstruct list_head list;\n\tunsigned int frame_number;\n\tint status;\n\tunsigned int actual;\n};\n\nstruct bdc_ep;\n\nstruct bdc_req {\n\tstruct usb_request usb_req;\n\tstruct list_head queue;\n\tstruct bdc_ep *ep;\n\tstruct bd_transfer bd_xfr;\n\tint epnum;\n};\n\nstruct usb_gadget_driver;\n\nstruct bdc {\n\tstruct usb_gadget gadget;\n\tstruct usb_gadget_driver *gadget_driver;\n\tstruct device *dev;\n\tspinlock_t lock;\n\tstruct phy **phys;\n\tint num_phys;\n\tunsigned int num_eps;\n\tstruct bdc_ep **bdc_ep_array;\n\tvoid *regs;\n\tstruct bdc_scratchpad scratchpad;\n\tu32 sp_buff_size;\n\tstruct srr srr;\n\tstruct usb_ctrlrequest setup_pkt;\n\tstruct bdc_req ep0_req;\n\tstruct bdc_req status_req;\n\tenum bdc_ep0_state ep0_state;\n\tbool delayed_status;\n\tbool zlp_needed;\n\tbool reinit;\n\tbool pullup;\n\tu32 devstatus;\n\tint irq;\n\tvoid *mem;\n\tu32 dev_addr;\n\tstruct dma_pool *bd_table_pool;\n\tu8 test_mode;\n\tvoid (*sr_handler[2])(struct bdc *, struct bdc_sr *);\n\tvoid (*sr_xsf_ep0[3])(struct bdc *, struct bdc_sr *);\n\tunsigned char ep0_response_buff[6];\n\tstruct delayed_work func_wake_notify;\n\tstruct clk *clk;\n};\n\nstruct bdc_bd {\n\t__le32 offset[4];\n};\n\nstruct usb_ep_caps {\n\tunsigned int type_control: 1;\n\tunsigned int type_iso: 1;\n\tunsigned int type_bulk: 1;\n\tunsigned int type_int: 1;\n\tunsigned int dir_in: 1;\n\tunsigned int dir_out: 1;\n};\n\nstruct usb_ep_ops;\n\nstruct usb_endpoint_descriptor;\n\nstruct usb_ss_ep_comp_descriptor;\n\nstruct usb_ep {\n\tvoid *driver_data;\n\tconst char *name;\n\tconst struct usb_ep_ops *ops;\n\tconst struct usb_endpoint_descriptor *desc;\n\tconst struct usb_ss_ep_comp_descriptor *comp_desc;\n\tstruct list_head ep_list;\n\tstruct usb_ep_caps caps;\n\tbool claimed;\n\tbool enabled;\n\tunsigned int mult: 2;\n\tunsigned int maxburst: 5;\n\tu8 address;\n\tu16 maxpacket;\n\tu16 maxpacket_limit;\n\tu16 max_streams;\n};\n\nstruct bdc_ep {\n\tstruct usb_ep usb_ep;\n\tstruct list_head queue;\n\tstruct bdc *bdc;\n\tu8 ep_type;\n\tu8 dir;\n\tu8 ep_num;\n\tconst struct usb_ss_ep_comp_descriptor *comp_desc;\n\tconst struct usb_endpoint_descriptor *desc;\n\tunsigned int flags;\n\tchar name[20];\n\tstruct bd_list bd_list;\n\tbool ignore_next_sr;\n};\n\nstruct bdc_sr {\n\t__le32 offset[4];\n};\n\nstruct gendisk;\n\nstruct request_queue;\n\nstruct disk_stats;\n\nstruct blk_holder_ops;\n\nstruct partition_meta_info;\n\nstruct block_device {\n\tsector_t bd_start_sect;\n\tsector_t bd_nr_sectors;\n\tstruct gendisk *bd_disk;\n\tstruct request_queue *bd_queue;\n\tstruct disk_stats *bd_stats;\n\tlong unsigned int bd_stamp;\n\tatomic_t __bd_flags;\n\tdev_t bd_dev;\n\tstruct address_space *bd_mapping;\n\tatomic_t bd_openers;\n\tspinlock_t bd_size_lock;\n\tvoid *bd_claiming;\n\tvoid *bd_holder;\n\tconst struct blk_holder_ops *bd_holder_ops;\n\tstruct mutex bd_holder_lock;\n\tint bd_holders;\n\tstruct kobject *bd_holder_dir;\n\tatomic_t bd_fsfreeze_count;\n\tstruct mutex bd_fsfreeze_mutex;\n\tstruct partition_meta_info *bd_meta_info;\n\tint bd_writers;\n\tvoid *bd_security;\n\tstruct device bd_device;\n};\n\nstruct hlist_head {\n\tstruct hlist_node *first;\n};\n\nstruct posix_acl;\n\nstruct inode_operations;\n\nstruct file_lock_context;\n\nstruct pipe_inode_info;\n\nstruct cdev;\n\nstruct inode {\n\tumode_t i_mode;\n\tshort unsigned int i_opflags;\n\tkuid_t i_uid;\n\tkgid_t i_gid;\n\tunsigned int i_flags;\n\tstruct posix_acl *i_acl;\n\tstruct posix_acl *i_default_acl;\n\tconst struct inode_operations *i_op;\n\tstruct super_block *i_sb;\n\tstruct address_space *i_mapping;\n\tvoid *i_security;\n\tlong unsigned int i_ino;\n\tunion {\n\t\tconst unsigned int i_nlink;\n\t\tunsigned int __i_nlink;\n\t};\n\tdev_t i_rdev;\n\tloff_t i_size;\n\ttime64_t i_atime_sec;\n\ttime64_t i_mtime_sec;\n\ttime64_t i_ctime_sec;\n\tu32 i_atime_nsec;\n\tu32 i_mtime_nsec;\n\tu32 i_ctime_nsec;\n\tu32 i_generation;\n\tspinlock_t i_lock;\n\tshort unsigned int i_bytes;\n\tu8 i_blkbits;\n\tenum rw_hint i_write_hint;\n\tblkcnt_t i_blocks;\n\tu32 i_state;\n\tstruct rw_semaphore i_rwsem;\n\tlong unsigned int dirtied_when;\n\tlong unsigned int dirtied_time_when;\n\tstruct hlist_node i_hash;\n\tstruct list_head i_io_list;\n\tstruct bdi_writeback *i_wb;\n\tint i_wb_frn_winner;\n\tu16 i_wb_frn_avg_time;\n\tu16 i_wb_frn_history;\n\tstruct list_head i_lru;\n\tstruct list_head i_sb_list;\n\tstruct list_head i_wb_list;\n\tunion {\n\t\tstruct hlist_head i_dentry;\n\t\tstruct callback_head i_rcu;\n\t};\n\tatomic64_t i_version;\n\tatomic64_t i_sequence;\n\tatomic_t i_count;\n\tatomic_t i_dio_count;\n\tatomic_t i_writecount;\n\tatomic_t i_readcount;\n\tunion {\n\t\tconst struct file_operations *i_fop;\n\t\tvoid (*free_inode)(struct inode *);\n\t};\n\tstruct file_lock_context *i_flctx;\n\tstruct address_space i_data;\n\tunion {\n\t\tstruct list_head i_devices;\n\t\tint i_linklen;\n\t};\n\tunion {\n\t\tstruct pipe_inode_info *i_pipe;\n\t\tstruct cdev *i_cdev;\n\t\tchar *i_link;\n\t\tunsigned int i_dir_seq;\n\t};\n\t__u32 i_fsnotify_mask;\n\tstruct fsnotify_mark_connector *i_fsnotify_marks;\n\tvoid *i_private;\n};\n\nstruct bdev_inode {\n\tstruct block_device bdev;\n\tstruct inode vfs_inode;\n};\n\nstruct berlin2_avpll_channel {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tu8 flags;\n\tu8 index;\n};\n\nstruct berlin2_avpll_vco {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tu8 flags;\n};\n\nstruct berlin2_div_map {\n\tu16 pll_select_offs;\n\tu16 pll_switch_offs;\n\tu16 div_select_offs;\n\tu16 div_switch_offs;\n\tu16 div3_switch_offs;\n\tu16 gate_offs;\n\tu8 pll_select_shift;\n\tu8 pll_switch_shift;\n\tu8 div_select_shift;\n\tu8 div_switch_shift;\n\tu8 div3_switch_shift;\n\tu8 gate_shift;\n};\n\nstruct berlin2_div {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tstruct berlin2_div_map map;\n\tspinlock_t *lock;\n};\n\nstruct berlin2_pll_map {\n\tconst u8 vcodiv[16];\n\tu8 mult;\n\tu8 fbdiv_shift;\n\tu8 rfdiv_shift;\n\tu8 divsel_shift;\n};\n\nstruct berlin2_pll {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tstruct berlin2_pll_map map;\n};\n\nstruct bfq_sched_data;\n\nstruct bfq_queue;\n\nstruct bfq_entity {\n\tstruct rb_node rb_node;\n\tbool on_st_or_in_serv;\n\tu64 start;\n\tu64 finish;\n\tstruct rb_root *tree;\n\tu64 min_start;\n\tint service;\n\tint budget;\n\tint allocated;\n\tint dev_weight;\n\tint weight;\n\tint new_weight;\n\tint orig_weight;\n\tstruct bfq_entity *parent;\n\tstruct bfq_sched_data *my_sched_data;\n\tstruct bfq_sched_data *sched_data;\n\tint prio_changed;\n\tbool in_groups_with_pending_reqs;\n\tstruct bfq_queue *last_bfqq_created;\n};\n\nstruct bfq_ttime {\n\tu64 last_end_request;\n\tu64 ttime_total;\n\tlong unsigned int ttime_samples;\n\tu64 ttime_mean;\n};\n\nstruct bfq_data;\n\nstruct request;\n\nstruct bfq_weight_counter;\n\nstruct bfq_io_cq;\n\nstruct bfq_queue {\n\tint ref;\n\tint stable_ref;\n\tstruct bfq_data *bfqd;\n\tshort unsigned int ioprio;\n\tshort unsigned int ioprio_class;\n\tshort unsigned int new_ioprio;\n\tshort unsigned int new_ioprio_class;\n\tu64 last_serv_time_ns;\n\tunsigned int inject_limit;\n\tlong unsigned int decrease_time_jif;\n\tstruct bfq_queue *new_bfqq;\n\tstruct rb_node pos_node;\n\tstruct rb_root *pos_root;\n\tstruct rb_root sort_list;\n\tstruct request *next_rq;\n\tint queued[2];\n\tint meta_pending;\n\tstruct list_head fifo;\n\tstruct bfq_entity entity;\n\tstruct bfq_weight_counter *weight_counter;\n\tint max_budget;\n\tlong unsigned int budget_timeout;\n\tint dispatched;\n\tlong unsigned int flags;\n\tstruct list_head bfqq_list;\n\tstruct bfq_ttime ttime;\n\tu64 io_start_time;\n\tu64 tot_idle_time;\n\tu32 seek_history;\n\tstruct hlist_node burst_list_node;\n\tsector_t last_request_pos;\n\tunsigned int requests_within_timer;\n\tpid_t pid;\n\tstruct bfq_io_cq *bic;\n\tlong unsigned int wr_cur_max_time;\n\tlong unsigned int soft_rt_next_start;\n\tlong unsigned int last_wr_start_finish;\n\tunsigned int wr_coeff;\n\tlong unsigned int last_idle_bklogged;\n\tlong unsigned int service_from_backlogged;\n\tlong unsigned int service_from_wr;\n\tlong unsigned int wr_start_at_switch_to_srt;\n\tlong unsigned int split_time;\n\tlong unsigned int first_IO_time;\n\tlong unsigned int creation_time;\n\tstruct bfq_queue *waker_bfqq;\n\tstruct bfq_queue *tentative_waker_bfqq;\n\tunsigned int num_waker_detections;\n\tu64 waker_detection_started;\n\tstruct hlist_node woken_list_node;\n\tstruct hlist_head woken_list;\n\tunsigned int actuator_idx;\n};\n\nstruct blk_independent_access_range {\n\tstruct kobject kobj;\n\tsector_t sector;\n\tsector_t nr_sectors;\n};\n\nstruct bfq_group;\n\nstruct bfq_data {\n\tstruct request_queue *queue;\n\tstruct list_head dispatch;\n\tstruct bfq_group *root_group;\n\tstruct rb_root_cached queue_weights_tree;\n\tunsigned int num_groups_with_pending_reqs;\n\tunsigned int busy_queues[3];\n\tint wr_busy_queues;\n\tint queued;\n\tint tot_rq_in_driver;\n\tint rq_in_driver[8];\n\tbool nonrot_with_queueing;\n\tint max_rq_in_driver;\n\tint hw_tag_samples;\n\tint hw_tag;\n\tint budgets_assigned;\n\tstruct hrtimer idle_slice_timer;\n\tstruct bfq_queue *in_service_queue;\n\tsector_t last_position;\n\tsector_t in_serv_last_pos;\n\tu64 last_completion;\n\tstruct bfq_queue *last_completed_rq_bfqq;\n\tstruct bfq_queue *last_bfqq_created;\n\tu64 last_empty_occupied_ns;\n\tbool wait_dispatch;\n\tstruct request *waited_rq;\n\tbool rqs_injected;\n\tu64 first_dispatch;\n\tu64 last_dispatch;\n\tktime_t last_budget_start;\n\tktime_t last_idling_start;\n\tlong unsigned int last_idling_start_jiffies;\n\tint peak_rate_samples;\n\tu32 sequential_samples;\n\tu64 tot_sectors_dispatched;\n\tu32 last_rq_max_size;\n\tu64 delta_from_first;\n\tu32 peak_rate;\n\tint bfq_max_budget;\n\tstruct list_head active_list[8];\n\tstruct list_head idle_list;\n\tu64 bfq_fifo_expire[2];\n\tunsigned int bfq_back_penalty;\n\tunsigned int bfq_back_max;\n\tu32 bfq_slice_idle;\n\tint bfq_user_max_budget;\n\tunsigned int bfq_timeout;\n\tbool strict_guarantees;\n\tlong unsigned int last_ins_in_burst;\n\tlong unsigned int bfq_burst_interval;\n\tint burst_size;\n\tstruct bfq_entity *burst_parent_entity;\n\tlong unsigned int bfq_large_burst_thresh;\n\tbool large_burst;\n\tstruct hlist_head burst_list;\n\tbool low_latency;\n\tunsigned int bfq_wr_coeff;\n\tunsigned int bfq_wr_rt_max_time;\n\tunsigned int bfq_wr_min_idle_time;\n\tlong unsigned int bfq_wr_min_inter_arr_async;\n\tunsigned int bfq_wr_max_softrt_rate;\n\tu64 rate_dur_prod;\n\tstruct bfq_queue oom_bfqq;\n\tspinlock_t lock;\n\tstruct bfq_io_cq *bio_bic;\n\tstruct bfq_queue *bio_bfqq;\n\tunsigned int word_depths[4];\n\tunsigned int full_depth_shift;\n\tunsigned int num_actuators;\n\tsector_t sector[8];\n\tsector_t nr_sectors[8];\n\tstruct blk_independent_access_range ia_ranges[8];\n\tunsigned int actuator_load_threshold;\n};\n\nstruct blkcg_gq;\n\nstruct blkg_policy_data {\n\tstruct blkcg_gq *blkg;\n\tint plid;\n\tbool online;\n};\n\nstruct bfq_service_tree {\n\tstruct rb_root active;\n\tstruct rb_root idle;\n\tstruct bfq_entity *first_idle;\n\tstruct bfq_entity *last_idle;\n\tu64 vtime;\n\tlong unsigned int wsum;\n};\n\nstruct bfq_sched_data {\n\tstruct bfq_entity *in_service_entity;\n\tstruct bfq_entity *next_in_service;\n\tstruct bfq_service_tree service_tree[3];\n\tlong unsigned int bfq_class_idle_last_service;\n};\n\nstruct blkg_rwstat {\n\tstruct percpu_counter cpu_cnt[5];\n\tatomic64_t aux_cnt[5];\n};\n\nstruct bfqg_stats {\n\tstruct blkg_rwstat bytes;\n\tstruct blkg_rwstat ios;\n};\n\nstruct bfq_group {\n\tstruct blkg_policy_data pd;\n\trefcount_t ref;\n\tstruct bfq_entity entity;\n\tstruct bfq_sched_data sched_data;\n\tstruct bfq_data *bfqd;\n\tstruct bfq_queue *async_bfqq[128];\n\tstruct bfq_queue *async_idle_bfqq[8];\n\tstruct bfq_entity *my_entity;\n\tint active_entities;\n\tint num_queues_with_pending_reqs;\n\tstruct rb_root rq_pos_tree;\n\tstruct bfqg_stats stats;\n};\n\nstruct blkcg;\n\nstruct blkcg_policy_data {\n\tstruct blkcg *blkcg;\n\tint plid;\n};\n\nstruct bfq_group_data {\n\tstruct blkcg_policy_data pd;\n\tunsigned int weight;\n};\n\nstruct io_context;\n\nstruct io_cq {\n\tstruct request_queue *q;\n\tstruct io_context *ioc;\n\tunion {\n\t\tstruct list_head q_node;\n\t\tstruct kmem_cache *__rcu_icq_cache;\n\t};\n\tunion {\n\t\tstruct hlist_node ioc_node;\n\t\tstruct callback_head __rcu_head;\n\t};\n\tunsigned int flags;\n};\n\nstruct bfq_iocq_bfqq_data {\n\tbool saved_has_short_ttime;\n\tbool saved_IO_bound;\n\tu64 saved_io_start_time;\n\tu64 saved_tot_idle_time;\n\tbool saved_in_large_burst;\n\tbool was_in_burst_list;\n\tunsigned int saved_weight;\n\tlong unsigned int saved_wr_coeff;\n\tlong unsigned int saved_last_wr_start_finish;\n\tlong unsigned int saved_service_from_wr;\n\tlong unsigned int saved_wr_start_at_switch_to_srt;\n\tunsigned int saved_wr_cur_max_time;\n\tstruct bfq_ttime saved_ttime;\n\tu64 saved_last_serv_time_ns;\n\tunsigned int saved_inject_limit;\n\tlong unsigned int saved_decrease_time_jif;\n\tstruct bfq_queue *stable_merge_bfqq;\n\tbool stably_merged;\n};\n\nstruct bfq_io_cq {\n\tstruct io_cq icq;\n\tstruct bfq_queue *bfqq[16];\n\tint ioprio;\n\tuint64_t blkcg_serial_nr;\n\tstruct bfq_iocq_bfqq_data bfqq_data[8];\n\tunsigned int requests;\n};\n\nstruct bfq_weight_counter {\n\tunsigned int weight;\n\tunsigned int num_active;\n\tstruct rb_node weights_node;\n};\n\nstruct bgl_lock {\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bgmac_slot_info {\n\tunion {\n\t\tstruct sk_buff *skb;\n\t\tvoid *buf;\n\t};\n\tdma_addr_t dma_addr;\n};\n\nstruct bgmac_dma_desc;\n\nstruct bgmac_dma_ring {\n\tu32 start;\n\tu32 end;\n\tstruct bgmac_dma_desc *cpu_base;\n\tdma_addr_t dma_base;\n\tu32 index_base;\n\tu16 mmio_base;\n\tbool unaligned;\n\tstruct bgmac_slot_info slots[512];\n};\n\nstruct bgmac {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *base;\n\t\t\tvoid *idm_base;\n\t\t\tvoid *nicpm_base;\n\t\t} plat;\n\t\tstruct {\n\t\t\tstruct bcma_device *core;\n\t\t\tstruct bcma_device *cmn;\n\t\t} bcma;\n\t};\n\tstruct device *dev;\n\tstruct device *dma_dev;\n\tu32 feature_flags;\n\tstruct net_device *net_dev;\n\tstruct napi_struct napi;\n\tstruct mii_bus *mii_bus;\n\tstruct bgmac_dma_ring tx_ring[4];\n\tstruct bgmac_dma_ring rx_ring[1];\n\tbool stats_grabbed;\n\tu32 mib_tx_regs[43];\n\tu32 mib_rx_regs[31];\n\tint irq;\n\tu32 int_mask;\n\tbool in_init;\n\tint mac_speed;\n\tint mac_duplex;\n\tu8 phyaddr;\n\tbool has_robosw;\n\tbool loopback;\n\tu32 (*read)(struct bgmac *, u16);\n\tvoid (*write)(struct bgmac *, u16, u32);\n\tu32 (*idm_read)(struct bgmac *, u16);\n\tvoid (*idm_write)(struct bgmac *, u16, u32);\n\tbool (*clk_enabled)(struct bgmac *);\n\tvoid (*clk_enable)(struct bgmac *, u32);\n\tvoid (*cco_ctl_maskset)(struct bgmac *, u32, u32, u32);\n\tu32 (*get_bus_clock)(struct bgmac *);\n\tvoid (*cmn_maskset32)(struct bgmac *, u16, u32, u32);\n\tint (*phy_connect)(struct bgmac *);\n};\n\nstruct bgmac_dma_desc {\n\t__le32 ctl0;\n\t__le32 ctl1;\n\t__le32 addr_low;\n\t__le32 addr_high;\n};\n\nstruct bgmac_rx_header {\n\t__le16 len;\n\t__le16 flags;\n\t__le16 pad[12];\n};\n\nstruct bgmac_stat {\n\tu8 size;\n\tu32 offset;\n\tconst char *name;\n};\n\nstruct bgpio_pdata {\n\tconst char *label;\n\tint base;\n\tint ngpio;\n};\n\nstruct bgx;\n\nstruct dmac_map;\n\nstruct lmac {\n\tstruct bgx *bgx;\n\tu8 dmacs_cfg;\n\tu8 dmacs_count;\n\tstruct dmac_map *dmacs;\n\tu8 mac[6];\n\tu8 lmac_type;\n\tu8 lane_to_sds;\n\tbool use_training;\n\tbool autoneg;\n\tbool link_up;\n\tint lmacid;\n\tint lmacid_bd;\n\tstruct net_device *netdev;\n\tstruct phy_device *phydev;\n\tunsigned int last_duplex;\n\tunsigned int last_link;\n\tunsigned int last_speed;\n\tbool is_sgmii;\n\tstruct delayed_work dwork;\n\tstruct workqueue_struct *check_link;\n};\n\nstruct bgx {\n\tu8 bgx_id;\n\tstruct lmac lmac[4];\n\tu8 lmac_count;\n\tu8 max_lmac;\n\tu8 acpi_lmac_idx;\n\tvoid *reg_base;\n\tstruct pci_dev *pdev;\n\tbool is_dlm;\n\tbool is_rgx;\n};\n\nstruct bgx_link_status {\n\tu8 msg;\n\tu8 mac_type;\n\tu8 link_up;\n\tu8 duplex;\n\tu32 speed;\n};\n\nstruct bgx_stats_msg {\n\tu8 msg;\n\tu8 vf_id;\n\tu8 rx;\n\tu8 idx;\n\tu64 stats;\n};\n\nstruct bh_accounting {\n\tint nr;\n\tint ratelimit;\n};\n\nstruct bh_lru {\n\tstruct buffer_head *bhs[16];\n};\n\nstruct bictcp {\n\tu32 cnt;\n\tu32 last_max_cwnd;\n\tu32 last_cwnd;\n\tu32 last_time;\n\tu32 bic_origin_point;\n\tu32 bic_K;\n\tu32 delay_min;\n\tu32 epoch_start;\n\tu32 ack_cnt;\n\tu32 tcp_cwnd;\n\tu16 unused;\n\tu8 sample_cnt;\n\tu8 found;\n\tu32 round_start;\n\tu32 end_seq;\n\tu32 last_ack;\n\tu32 curr_rtt;\n};\n\nstruct bvec_iter {\n\tsector_t bi_sector;\n\tunsigned int bi_size;\n\tunsigned int bi_idx;\n\tunsigned int bi_bvec_done;\n} __attribute__((packed));\n\nstruct bio;\n\ntypedef void bio_end_io_t(struct bio *);\n\nstruct bio_issue {\n\tu64 value;\n};\n\nstruct bio_vec {\n\tstruct page *bv_page;\n\tunsigned int bv_len;\n\tunsigned int bv_offset;\n};\n\nstruct bio_integrity_payload;\n\nstruct bio_set;\n\nstruct bio {\n\tstruct bio *bi_next;\n\tstruct block_device *bi_bdev;\n\tblk_opf_t bi_opf;\n\tshort unsigned int bi_flags;\n\tshort unsigned int bi_ioprio;\n\tenum rw_hint bi_write_hint;\n\tblk_status_t bi_status;\n\tatomic_t __bi_remaining;\n\tstruct bvec_iter bi_iter;\n\tunion {\n\t\tblk_qc_t bi_cookie;\n\t\tunsigned int __bi_nr_segments;\n\t};\n\tbio_end_io_t *bi_end_io;\n\tvoid *bi_private;\n\tstruct blkcg_gq *bi_blkg;\n\tstruct bio_issue bi_issue;\n\tstruct bio_integrity_payload *bi_integrity;\n\tshort unsigned int bi_vcnt;\n\tshort unsigned int bi_max_vecs;\n\tatomic_t __bi_cnt;\n\tstruct bio_vec *bi_io_vec;\n\tstruct bio_set *bi_pool;\n\tstruct bio_vec bi_inline_vecs[0];\n};\n\nstruct bio_alloc_cache {\n\tstruct bio *free_list;\n\tstruct bio *free_list_irq;\n\tunsigned int nr;\n\tunsigned int nr_irq;\n};\n\nstruct blk_crypto_key;\n\nstruct bio_crypt_ctx {\n\tconst struct blk_crypto_key *bc_key;\n\tu64 bc_dun[4];\n};\n\nstruct bio_integrity_payload {\n\tstruct bio *bip_bio;\n\tstruct bvec_iter bip_iter;\n\tshort unsigned int bip_vcnt;\n\tshort unsigned int bip_max_vcnt;\n\tshort unsigned int bip_flags;\n\tu16 app_tag;\n\tstruct bvec_iter bio_iter;\n\tstruct work_struct bip_work;\n\tstruct bio_vec *bip_vec;\n\tstruct bio_vec bip_inline_vecs[0];\n};\n\nstruct bio_list {\n\tstruct bio *head;\n\tstruct bio *tail;\n};\n\nstruct iovec {\n\tvoid *iov_base;\n\t__kernel_size_t iov_len;\n};\n\nstruct kvec;\n\nstruct folio_queue;\n\nstruct iov_iter {\n\tu8 iter_type;\n\tbool nofault;\n\tbool data_source;\n\tsize_t iov_offset;\n\tunion {\n\t\tstruct iovec __ubuf_iovec;\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tconst struct iovec *__iov;\n\t\t\t\tconst struct kvec *kvec;\n\t\t\t\tconst struct bio_vec *bvec;\n\t\t\t\tconst struct folio_queue *folioq;\n\t\t\t\tstruct xarray *xarray;\n\t\t\t\tvoid *ubuf;\n\t\t\t};\n\t\t\tsize_t count;\n\t\t};\n\t};\n\tunion {\n\t\tlong unsigned int nr_segs;\n\t\tu8 folioq_slot;\n\t\tloff_t xarray_start;\n\t};\n};\n\nstruct bio_map_data {\n\tbool is_our_pages: 1;\n\tbool is_null_mapped: 1;\n\tstruct iov_iter iter;\n\tstruct iovec iov[0];\n};\n\nstruct bio_post_read_ctx {\n\tstruct bio *bio;\n\tstruct work_struct work;\n\tunsigned int cur_step;\n\tunsigned int enabled_steps;\n};\n\ntypedef void *mempool_alloc_t(gfp_t, void *);\n\ntypedef void mempool_free_t(void *, void *);\n\nstruct mempool_s {\n\tspinlock_t lock;\n\tint min_nr;\n\tint curr_nr;\n\tvoid **elements;\n\tvoid *pool_data;\n\tmempool_alloc_t *alloc;\n\tmempool_free_t *free;\n\twait_queue_head_t wait;\n};\n\ntypedef struct mempool_s mempool_t;\n\nstruct bio_set {\n\tstruct kmem_cache *bio_slab;\n\tunsigned int front_pad;\n\tstruct bio_alloc_cache *cache;\n\tmempool_t bio_pool;\n\tmempool_t bvec_pool;\n\tmempool_t bio_integrity_pool;\n\tmempool_t bvec_integrity_pool;\n\tunsigned int back_pad;\n\tspinlock_t rescue_lock;\n\tstruct bio_list rescue_list;\n\tstruct work_struct rescue_work;\n\tstruct workqueue_struct *rescue_workqueue;\n\tstruct hlist_node cpuhp_dead;\n};\n\nstruct bio_slab {\n\tstruct kmem_cache *slab;\n\tunsigned int slab_ref;\n\tunsigned int slab_size;\n\tchar name[12];\n};\n\nstruct biovec_slab {\n\tint nr_vecs;\n\tchar *name;\n\tstruct kmem_cache *slab;\n};\n\nstruct bl_dev_msg {\n\tint32_t status;\n\tuint32_t major;\n\tuint32_t minor;\n};\n\nstruct blacklist_entry {\n\tstruct list_head next;\n\tchar *buf;\n};\n\nstruct blake2s_state {\n\tu32 h[8];\n\tu32 t[2];\n\tu32 f[2];\n\tu8 buf[64];\n\tunsigned int buflen;\n\tunsigned int outlen;\n};\n\nstruct blk_crypto_config {\n\tenum blk_crypto_mode_num crypto_mode;\n\tunsigned int data_unit_size;\n\tunsigned int dun_bytes;\n};\n\nstruct blk_crypto_key {\n\tstruct blk_crypto_config crypto_cfg;\n\tunsigned int data_unit_size_bits;\n\tunsigned int size;\n\tu8 raw[64];\n};\n\nstruct blk_expired_data {\n\tbool has_timedout_rq;\n\tlong unsigned int next;\n\tlong unsigned int timeout_start;\n};\n\nstruct blk_flush_queue {\n\tspinlock_t mq_flush_lock;\n\tunsigned int flush_pending_idx: 1;\n\tunsigned int flush_running_idx: 1;\n\tblk_status_t rq_status;\n\tlong unsigned int flush_pending_since;\n\tstruct list_head flush_queue[2];\n\tlong unsigned int flush_data_in_flight;\n\tstruct request *flush_rq;\n};\n\nstruct blk_holder_ops {\n\tvoid (*mark_dead)(struct block_device *, bool);\n\tvoid (*sync)(struct block_device *);\n\tint (*freeze)(struct block_device *);\n\tint (*thaw)(struct block_device *);\n};\n\nstruct blk_ia_range_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_independent_access_range *, char *);\n};\n\nstruct blk_independent_access_ranges {\n\tstruct kobject kobj;\n\tbool sysfs_registered;\n\tunsigned int nr_ia_ranges;\n\tstruct blk_independent_access_range ia_range[0];\n};\n\nstruct blk_integrity {\n\tunsigned char flags;\n\tenum blk_integrity_checksum csum_type;\n\tunsigned char tuple_size;\n\tunsigned char pi_offset;\n\tunsigned char interval_exp;\n\tunsigned char tag_size;\n};\n\nstruct blk_integrity_iter {\n\tvoid *prot_buf;\n\tvoid *data_buf;\n\tsector_t seed;\n\tunsigned int data_size;\n\tshort unsigned int interval;\n\tconst char *disk_name;\n};\n\nstruct blk_iou_cmd {\n\tint res;\n\tbool nowait;\n};\n\nstruct blk_major_name {\n\tstruct blk_major_name *next;\n\tint major;\n\tchar name[16];\n\tvoid (*probe)(dev_t);\n};\n\nstruct rq_list;\n\nstruct blk_mq_ctx;\n\nstruct blk_mq_hw_ctx;\n\nstruct blk_mq_alloc_data {\n\tstruct request_queue *q;\n\tblk_mq_req_flags_t flags;\n\tunsigned int shallow_depth;\n\tblk_opf_t cmd_flags;\n\treq_flags_t rq_flags;\n\tunsigned int nr_tags;\n\tstruct rq_list *cached_rqs;\n\tstruct blk_mq_ctx *ctx;\n\tstruct blk_mq_hw_ctx *hctx;\n};\n\nstruct blk_mq_ctxs;\n\nstruct blk_mq_ctx {\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head rq_lists[3];\n\t\tlong: 64;\n\t};\n\tunsigned int cpu;\n\tshort unsigned int index_hw[3];\n\tstruct blk_mq_hw_ctx *hctxs[3];\n\tstruct request_queue *queue;\n\tstruct blk_mq_ctxs *ctxs;\n\tstruct kobject kobj;\n\tlong: 64;\n};\n\nstruct blk_mq_ctxs {\n\tstruct kobject kobj;\n\tstruct blk_mq_ctx *queue_ctx;\n};\n\nstruct seq_operations;\n\nstruct blk_mq_debugfs_attr {\n\tconst char *name;\n\tumode_t mode;\n\tint (*show)(void *, struct seq_file *);\n\tssize_t (*write)(void *, const char *, size_t, loff_t *);\n\tconst struct seq_operations *seq_ops;\n};\n\nstruct sbitmap_word;\n\nstruct sbitmap {\n\tunsigned int depth;\n\tunsigned int shift;\n\tunsigned int map_nr;\n\tbool round_robin;\n\tstruct sbitmap_word *map;\n\tunsigned int *alloc_hint;\n};\n\ntypedef struct wait_queue_entry wait_queue_entry_t;\n\nstruct blk_mq_hw_ctx {\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head dispatch;\n\t\tlong unsigned int state;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct delayed_work run_work;\n\tcpumask_var_t cpumask;\n\tint next_cpu;\n\tint next_cpu_batch;\n\tlong unsigned int flags;\n\tvoid *sched_data;\n\tstruct request_queue *queue;\n\tstruct blk_flush_queue *fq;\n\tvoid *driver_data;\n\tstruct sbitmap ctx_map;\n\tstruct blk_mq_ctx *dispatch_from;\n\tunsigned int dispatch_busy;\n\tshort unsigned int type;\n\tshort unsigned int nr_ctx;\n\tstruct blk_mq_ctx **ctxs;\n\tspinlock_t dispatch_wait_lock;\n\twait_queue_entry_t dispatch_wait;\n\tatomic_t wait_index;\n\tstruct blk_mq_tags *tags;\n\tstruct blk_mq_tags *sched_tags;\n\tunsigned int numa_node;\n\tunsigned int queue_num;\n\tatomic_t nr_active;\n\tstruct hlist_node cpuhp_online;\n\tstruct hlist_node cpuhp_dead;\n\tstruct kobject kobj;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *sched_debugfs_dir;\n\tstruct list_head hctx_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct blk_mq_hw_ctx_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_mq_hw_ctx *, char *);\n};\n\nstruct blk_mq_queue_data;\n\nstruct io_comp_batch;\n\nstruct blk_mq_ops {\n\tblk_status_t (*queue_rq)(struct blk_mq_hw_ctx *, const struct blk_mq_queue_data *);\n\tvoid (*commit_rqs)(struct blk_mq_hw_ctx *);\n\tvoid (*queue_rqs)(struct rq_list *);\n\tint (*get_budget)(struct request_queue *);\n\tvoid (*put_budget)(struct request_queue *, int);\n\tvoid (*set_rq_budget_token)(struct request *, int);\n\tint (*get_rq_budget_token)(struct request *);\n\tenum blk_eh_timer_return (*timeout)(struct request *);\n\tint (*poll)(struct blk_mq_hw_ctx *, struct io_comp_batch *);\n\tvoid (*complete)(struct request *);\n\tint (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int);\n\tvoid (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tint (*init_request)(struct blk_mq_tag_set *, struct request *, unsigned int, unsigned int);\n\tvoid (*exit_request)(struct blk_mq_tag_set *, struct request *, unsigned int);\n\tvoid (*cleanup_rq)(struct request *);\n\tbool (*busy)(struct request_queue *);\n\tvoid (*map_queues)(struct blk_mq_tag_set *);\n\tvoid (*show_rq)(struct seq_file *, struct request *);\n};\n\nstruct elevator_type;\n\nstruct blk_mq_qe_pair {\n\tstruct list_head node;\n\tstruct request_queue *q;\n\tstruct elevator_type *type;\n};\n\nstruct blk_mq_queue_data {\n\tstruct request *rq;\n\tbool last;\n};\n\nstruct sbq_wait_state;\n\nstruct sbitmap_queue {\n\tstruct sbitmap sb;\n\tunsigned int wake_batch;\n\tatomic_t wake_index;\n\tstruct sbq_wait_state *ws;\n\tatomic_t ws_active;\n\tunsigned int min_shallow_depth;\n\tatomic_t completion_cnt;\n\tatomic_t wakeup_cnt;\n};\n\nstruct blk_mq_tags {\n\tunsigned int nr_tags;\n\tunsigned int nr_reserved_tags;\n\tunsigned int active_queues;\n\tstruct sbitmap_queue bitmap_tags;\n\tstruct sbitmap_queue breserved_tags;\n\tstruct request **rqs;\n\tstruct request **static_rqs;\n\tstruct list_head page_list;\n\tspinlock_t lock;\n};\n\nstruct rq_list {\n\tstruct request *head;\n\tstruct request *tail;\n};\n\nstruct blk_plug {\n\tstruct rq_list mq_list;\n\tstruct rq_list cached_rqs;\n\tu64 cur_ktime;\n\tshort unsigned int nr_ios;\n\tshort unsigned int rq_count;\n\tbool multiple_queues;\n\tbool has_elevator;\n\tstruct list_head cb_list;\n};\n\nstruct blk_plug_cb;\n\ntypedef void (*blk_plug_cb_fn)(struct blk_plug_cb *, bool);\n\nstruct blk_plug_cb {\n\tstruct list_head list;\n\tblk_plug_cb_fn callback;\n\tvoid *data;\n};\n\nstruct blk_queue_stats {\n\tstruct list_head callbacks;\n\tspinlock_t lock;\n\tint accounting;\n};\n\nstruct blk_rq_stat {\n\tu64 mean;\n\tu64 min;\n\tu64 max;\n\tu32 nr_samples;\n\tu64 batch;\n};\n\nstruct blk_rq_wait {\n\tstruct completion done;\n\tblk_status_t ret;\n};\n\nstruct blkif_request_segment {\n\tgrant_ref_t gref;\n\tuint8_t first_sect;\n\tuint8_t last_sect;\n};\n\nstruct blkif_request_rw {\n\tuint8_t nr_segments;\n\tblkif_vdev_t handle;\n\tuint32_t _pad1;\n\tuint64_t id;\n\tblkif_sector_t sector_number;\n\tstruct blkif_request_segment seg[11];\n} __attribute__((packed));\n\nstruct blkif_request_discard {\n\tuint8_t flag;\n\tblkif_vdev_t _pad1;\n\tuint32_t _pad2;\n\tuint64_t id;\n\tblkif_sector_t sector_number;\n\tuint64_t nr_sectors;\n\tuint8_t _pad3;\n} __attribute__((packed));\n\nstruct blkif_request_other {\n\tuint8_t _pad1;\n\tblkif_vdev_t _pad2;\n\tuint32_t _pad3;\n\tuint64_t id;\n} __attribute__((packed));\n\nstruct blkif_request_indirect {\n\tuint8_t indirect_op;\n\tuint16_t nr_segments;\n\tuint32_t _pad1;\n\tuint64_t id;\n\tblkif_sector_t sector_number;\n\tblkif_vdev_t handle;\n\tuint16_t _pad2;\n\tgrant_ref_t indirect_grefs[8];\n\tuint32_t _pad3;\n} __attribute__((packed));\n\nstruct blkif_request {\n\tuint8_t operation;\n\tunion {\n\t\tstruct blkif_request_rw rw;\n\t\tstruct blkif_request_discard discard;\n\t\tstruct blkif_request_other other;\n\t\tstruct blkif_request_indirect indirect;\n\t} u;\n};\n\nstruct grant;\n\nstruct blk_shadow {\n\tstruct blkif_request req;\n\tstruct request *request;\n\tstruct grant **grants_used;\n\tstruct grant **indirect_grants;\n\tstruct scatterlist *sg;\n\tunsigned int num_sg;\n\tenum blk_req_status status;\n\tlong unsigned int associated_id;\n};\n\nstruct blk_stat_callback {\n\tstruct list_head list;\n\tstruct timer_list timer;\n\tstruct blk_rq_stat *cpu_stat;\n\tint (*bucket_fn)(const struct request *);\n\tunsigned int buckets;\n\tstruct blk_rq_stat *stat;\n\tvoid (*timer_fn)(struct blk_stat_callback *);\n\tvoid *data;\n\tstruct callback_head rcu;\n};\n\nstruct blk_zone {\n\t__u64 start;\n\t__u64 len;\n\t__u64 wp;\n\t__u8 type;\n\t__u8 cond;\n\t__u8 non_seq;\n\t__u8 reset;\n\t__u8 resv[4];\n\t__u64 capacity;\n\t__u8 reserved[24];\n};\n\nstruct cgroup_subsys;\n\nstruct cgroup_subsys_state {\n\tstruct cgroup *cgroup;\n\tstruct cgroup_subsys *ss;\n\tstruct percpu_ref refcnt;\n\tstruct list_head sibling;\n\tstruct list_head children;\n\tstruct list_head rstat_css_node;\n\tint id;\n\tunsigned int flags;\n\tu64 serial_nr;\n\tatomic_t online_cnt;\n\tstruct work_struct destroy_work;\n\tstruct rcu_work destroy_rwork;\n\tstruct cgroup_subsys_state *parent;\n\tint nr_descendants;\n};\n\nstruct llist_head;\n\nstruct blkcg {\n\tstruct cgroup_subsys_state css;\n\tspinlock_t lock;\n\trefcount_t online_pin;\n\tatomic_t congestion_count;\n\tstruct xarray blkg_tree;\n\tstruct blkcg_gq *blkg_hint;\n\tstruct hlist_head blkg_list;\n\tstruct blkcg_policy_data *cpd[6];\n\tstruct list_head all_blkcgs_node;\n\tstruct llist_head *lhead;\n\tstruct list_head cgwb_list;\n};\n\nstruct blkg_iostat {\n\tu64 bytes[3];\n\tu64 ios[3];\n};\n\nstruct blkg_iostat_set {\n\tstruct u64_stats_sync sync;\n\tstruct blkcg_gq *blkg;\n\tstruct llist_node lnode;\n\tint lqueued;\n\tstruct blkg_iostat cur;\n\tstruct blkg_iostat last;\n};\n\nstruct blkcg_gq {\n\tstruct request_queue *q;\n\tstruct list_head q_node;\n\tstruct hlist_node blkcg_node;\n\tstruct blkcg *blkcg;\n\tstruct blkcg_gq *parent;\n\tstruct percpu_ref refcnt;\n\tbool online;\n\tstruct blkg_iostat_set *iostat_cpu;\n\tstruct blkg_iostat_set iostat;\n\tstruct blkg_policy_data *pd[6];\n\tspinlock_t async_bio_lock;\n\tstruct bio_list async_bios;\n\tunion {\n\t\tstruct work_struct async_bio_work;\n\t\tstruct work_struct free_work;\n\t};\n\tatomic_t use_delay;\n\tatomic64_t delay_nsec;\n\tatomic64_t delay_start;\n\tu64 last_delay;\n\tint last_use;\n\tstruct callback_head callback_head;\n};\n\ntypedef struct blkcg_policy_data *blkcg_pol_alloc_cpd_fn(gfp_t);\n\ntypedef void blkcg_pol_free_cpd_fn(struct blkcg_policy_data *);\n\ntypedef struct blkg_policy_data *blkcg_pol_alloc_pd_fn(struct gendisk *, struct blkcg *, gfp_t);\n\ntypedef void blkcg_pol_init_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_online_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_offline_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_free_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_reset_pd_stats_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_stat_pd_fn(struct blkg_policy_data *, struct seq_file *);\n\nstruct cftype;\n\nstruct blkcg_policy {\n\tint plid;\n\tstruct cftype *dfl_cftypes;\n\tstruct cftype *legacy_cftypes;\n\tblkcg_pol_alloc_cpd_fn *cpd_alloc_fn;\n\tblkcg_pol_free_cpd_fn *cpd_free_fn;\n\tblkcg_pol_alloc_pd_fn *pd_alloc_fn;\n\tblkcg_pol_init_pd_fn *pd_init_fn;\n\tblkcg_pol_online_pd_fn *pd_online_fn;\n\tblkcg_pol_offline_pd_fn *pd_offline_fn;\n\tblkcg_pol_free_pd_fn *pd_free_fn;\n\tblkcg_pol_reset_pd_stats_fn *pd_reset_stats_fn;\n\tblkcg_pol_stat_pd_fn *pd_stat_fn;\n};\n\nstruct blkdev_dio {\n\tunion {\n\t\tstruct kiocb *iocb;\n\t\tstruct task_struct *waiter;\n\t};\n\tsize_t size;\n\tatomic_t ref;\n\tunsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bio bio;\n\tlong: 64;\n};\n\nstruct xenbus_device;\n\nstruct blkfront_ring_info;\n\nstruct blkfront_info {\n\tstruct mutex mutex;\n\tstruct xenbus_device *xbdev;\n\tstruct gendisk *gd;\n\tu16 sector_size;\n\tunsigned int physical_sector_size;\n\tlong unsigned int vdisk_info;\n\tint vdevice;\n\tblkif_vdev_t handle;\n\tenum blkif_state connected;\n\tunsigned int nr_ring_pages;\n\tstruct request_queue *rq;\n\tunsigned int feature_flush: 1;\n\tunsigned int feature_fua: 1;\n\tunsigned int feature_discard: 1;\n\tunsigned int feature_secdiscard: 1;\n\tunsigned int feature_persistent_parm: 1;\n\tunsigned int feature_persistent: 1;\n\tunsigned int bounce: 1;\n\tunsigned int discard_granularity;\n\tunsigned int discard_alignment;\n\tunsigned int max_indirect_segments;\n\tint is_ready;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct blkfront_ring_info *rinfo;\n\tunsigned int nr_rings;\n\tunsigned int rinfo_size;\n\tstruct list_head requests;\n\tstruct bio_list bio_list;\n\tstruct list_head info_list;\n};\n\nstruct blkif_sring;\n\nstruct blkif_front_ring {\n\tRING_IDX req_prod_pvt;\n\tRING_IDX rsp_cons;\n\tunsigned int nr_ents;\n\tstruct blkif_sring *sring;\n};\n\nstruct gnttab_free_callback {\n\tstruct gnttab_free_callback *next;\n\tvoid (*fn)(void *);\n\tvoid *arg;\n\tu16 count;\n};\n\nstruct blkfront_ring_info {\n\tspinlock_t ring_lock;\n\tstruct blkif_front_ring ring;\n\tunsigned int ring_ref[16];\n\tunsigned int evtchn;\n\tunsigned int irq;\n\tstruct work_struct work;\n\tstruct gnttab_free_callback callback;\n\tstruct list_head indirect_pages;\n\tstruct list_head grants;\n\tunsigned int persistent_gnts_c;\n\tlong unsigned int shadow_free;\n\tstruct blkfront_info *dev_info;\n\tstruct blk_shadow shadow[0];\n};\n\nstruct blkg_conf_ctx {\n\tchar *input;\n\tchar *body;\n\tstruct block_device *bdev;\n\tstruct blkcg_gq *blkg;\n};\n\nstruct blkg_rwstat_sample {\n\tu64 cnt[5];\n};\n\nstruct blkif_req {\n\tblk_status_t error;\n};\n\nstruct blkif_response {\n\tuint64_t id;\n\tuint8_t operation;\n\tint16_t status;\n};\n\nunion blkif_sring_entry {\n\tstruct blkif_request req;\n\tstruct blkif_response rsp;\n};\n\nstruct blkif_sring {\n\tRING_IDX req_prod;\n\tRING_IDX req_event;\n\tRING_IDX rsp_prod;\n\tRING_IDX rsp_event;\n\tuint8_t __pad[48];\n\tunion blkif_sring_entry ring[0];\n};\n\nstruct blkpg_compat_ioctl_arg {\n\tcompat_int_t op;\n\tcompat_int_t flags;\n\tcompat_int_t datalen;\n\tcompat_uptr_t data;\n};\n\nstruct blkpg_ioctl_arg {\n\tint op;\n\tint flags;\n\tint datalen;\n\tvoid *data;\n};\n\nstruct blkpg_partition {\n\tlong long int start;\n\tlong long int length;\n\tint pno;\n\tchar devname[64];\n\tchar volname[64];\n};\n\ntypedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *);\n\nstruct hd_geometry;\n\nstruct pr_ops;\n\nstruct block_device_operations {\n\tvoid (*submit_bio)(struct bio *);\n\tint (*poll_bio)(struct bio *, struct io_comp_batch *, unsigned int);\n\tint (*open)(struct gendisk *, blk_mode_t);\n\tvoid (*release)(struct gendisk *);\n\tint (*ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int);\n\tunsigned int (*check_events)(struct gendisk *, unsigned int);\n\tvoid (*unlock_native_capacity)(struct gendisk *);\n\tint (*getgeo)(struct block_device *, struct hd_geometry *);\n\tint (*set_read_only)(struct block_device *, bool);\n\tvoid (*free_disk)(struct gendisk *);\n\tvoid (*swap_slot_free_notify)(struct block_device *, long unsigned int);\n\tint (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *);\n\tchar * (*devnode)(struct gendisk *, umode_t *);\n\tint (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id);\n\tstruct module *owner;\n\tconst struct pr_ops *pr_ops;\n\tint (*alternative_gpt_sector)(struct gendisk *, sector_t *);\n};\n\nstruct blockgroup_lock {\n\tstruct bgl_lock locks[128];\n};\n\nstruct blocking_notifier_head {\n\tstruct rw_semaphore rwsem;\n\tstruct notifier_block *head;\n};\n\nstruct bm_addr {\n\tvoid *ce;\n\t__be32 *ce_be;\n\tvoid *ci;\n};\n\nstruct bm_buffer {\n\tunion {\n\t\tstruct {\n\t\t\t__be16 bpid;\n\t\t\t__be16 hi;\n\t\t\t__be32 lo;\n\t\t};\n\t\t__be64 data;\n\t};\n};\n\nstruct bm_mc_command;\n\nunion bm_mc_result;\n\nstruct bm_mc {\n\tstruct bm_mc_command *cr;\n\tunion bm_mc_result *rr;\n\tu8 rridx;\n\tu8 vbit;\n};\n\nstruct bm_mc_command {\n\tu8 _ncw_verb;\n\tu8 bpid;\n\tu8 __reserved[62];\n};\n\nunion bm_mc_result {\n\tstruct {\n\t\tu8 verb;\n\t\tu8 bpid;\n\t\tu8 __reserved[62];\n\t};\n\tstruct bm_buffer bufs[8];\n};\n\nstruct bm_rcr_entry;\n\nstruct bm_rcr {\n\tstruct bm_rcr_entry *ring;\n\tstruct bm_rcr_entry *cursor;\n\tu8 ci;\n\tu8 available;\n\tu8 ithresh;\n\tu8 vbit;\n};\n\nstruct bm_portal {\n\tstruct bm_addr addr;\n\tstruct bm_rcr rcr;\n\tstruct bm_mc mc;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bm_portal_config {\n\tvoid *addr_virt_ce;\n\tvoid *addr_virt_ci;\n\tstruct list_head list;\n\tstruct device *dev;\n\tint cpu;\n\tint irq;\n};\n\nstruct mem_zone_bm_rtree;\n\nstruct rtree_node;\n\nstruct bm_position {\n\tstruct mem_zone_bm_rtree *zone;\n\tstruct rtree_node *node;\n\tlong unsigned int node_pfn;\n\tlong unsigned int cur_pfn;\n\tint node_bit;\n};\n\nstruct bm_rcr_entry {\n\tunion {\n\t\tstruct {\n\t\t\tu8 _ncw_verb;\n\t\t\tu8 bpid;\n\t\t\tu8 __reserved1[62];\n\t\t};\n\t\tstruct bm_buffer bufs[8];\n\t};\n};\n\nstruct bman_hwerr_txt {\n\tu32 mask;\n\tconst char *txt;\n};\n\nstruct bman_portal;\n\nstruct bman_pool {\n\tu32 bpid;\n\tstruct bman_portal *portal;\n\tstruct bman_pool *next;\n};\n\nstruct bman_portal {\n\tstruct bm_portal p;\n\tlong unsigned int irq_sources;\n\tconst struct bm_portal_config *config;\n\tchar irqname[16];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct spi_board_info {\n\tchar modalias[32];\n\tconst void *platform_data;\n\tconst struct software_node *swnode;\n\tvoid *controller_data;\n\tint irq;\n\tu32 max_speed_hz;\n\tu16 bus_num;\n\tu16 chip_select;\n\tu32 mode;\n};\n\nstruct boardinfo {\n\tstruct list_head list;\n\tstruct spi_board_info board_info;\n};\n\nstruct boot_triggers {\n\tconst char *event;\n\tchar *trigger;\n};\n\nstruct iphdr {\n\t__u8 ihl: 4;\n\t__u8 version: 4;\n\t__u8 tos;\n\t__be16 tot_len;\n\t__be16 id;\n\t__be16 frag_off;\n\t__u8 ttl;\n\t__u8 protocol;\n\t__sum16 check;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t};\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t} addrs;\n\t};\n};\n\nstruct udphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be16 len;\n\t__sum16 check;\n};\n\nstruct bootp_pkt {\n\tstruct iphdr iph;\n\tstruct udphdr udph;\n\tu8 op;\n\tu8 htype;\n\tu8 hlen;\n\tu8 hops;\n\t__be32 xid;\n\t__be16 secs;\n\t__be16 flags;\n\t__be32 client_ip;\n\t__be32 your_ip;\n\t__be32 server_ip;\n\t__be32 relay_ip;\n\tu8 hw_addr[16];\n\tu8 serv_name[64];\n\tu8 boot_file[128];\n\tu8 exten[312];\n};\n\nstruct bp_slots_histogram {\n\tatomic_t *count;\n};\n\nstruct bp_cpuinfo {\n\tunsigned int cpu_pinned;\n\tstruct bp_slots_histogram tsk_pinned;\n};\n\ntypedef void (*bp_hardening_cb_t)(void);\n\nstruct bp_hardening_data {\n\tenum arm64_hyp_spectre_vector slot;\n\tbp_hardening_cb_t fn;\n};\n\nstruct bpf_map_ops;\n\nstruct btf_record;\n\nstruct btf;\n\nstruct obj_cgroup;\n\nstruct btf_type;\n\nstruct bpf_map {\n\tconst struct bpf_map_ops *ops;\n\tstruct bpf_map *inner_map_meta;\n\tvoid *security;\n\tenum bpf_map_type map_type;\n\tu32 key_size;\n\tu32 value_size;\n\tu32 max_entries;\n\tu64 map_extra;\n\tu32 map_flags;\n\tu32 id;\n\tstruct btf_record *record;\n\tint numa_node;\n\tu32 btf_key_type_id;\n\tu32 btf_value_type_id;\n\tu32 btf_vmlinux_value_type_id;\n\tstruct btf *btf;\n\tstruct obj_cgroup *objcg;\n\tchar name[16];\n\tstruct mutex freeze_mutex;\n\tatomic64_t refcnt;\n\tatomic64_t usercnt;\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n\tatomic64_t writecnt;\n\tstruct {\n\t\tconst struct btf_type *attach_func_proto;\n\t\tspinlock_t lock;\n\t\tenum bpf_prog_type type;\n\t\tbool jited;\n\t\tbool xdp_has_frags;\n\t} owner;\n\tbool bypass_spec_v1;\n\tbool frozen;\n\tbool free_after_mult_rcu_gp;\n\tbool free_after_rcu_gp;\n\tatomic64_t sleepable_refcnt;\n\ts64 *elem_count;\n};\n\nstruct range_tree {\n\tstruct rb_root_cached it_root;\n\tstruct rb_root_cached range_size_root;\n};\n\nstruct vm_struct;\n\nstruct bpf_arena {\n\tstruct bpf_map map;\n\tu64 user_vm_start;\n\tu64 user_vm_end;\n\tstruct vm_struct *kern_vm;\n\tstruct range_tree rt;\n\tstruct list_head vma_list;\n\tstruct mutex lock;\n};\n\nstruct bpf_array_aux;\n\nstruct bpf_array {\n\tstruct bpf_map map;\n\tu32 elem_size;\n\tu32 index_mask;\n\tstruct bpf_array_aux *aux;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_value;\n\t\t\tchar value[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_ptrs;\n\t\t\tvoid *ptrs[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_pptrs;\n\t\t\tvoid *pptrs[0];\n\t\t};\n\t};\n};\n\nstruct bpf_array_aux {\n\tstruct list_head poke_progs;\n\tstruct bpf_map *map;\n\tstruct mutex poke_mutex;\n\tstruct work_struct work;\n};\n\nstruct bpf_async_cb {\n\tstruct bpf_map *map;\n\tstruct bpf_prog *prog;\n\tvoid *callback_fn;\n\tvoid *value;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct delete_work;\n\t};\n\tu64 flags;\n};\n\nstruct bpf_spin_lock {\n\t__u32 val;\n};\n\nstruct bpf_hrtimer;\n\nstruct bpf_work;\n\nstruct bpf_async_kern {\n\tunion {\n\t\tstruct bpf_async_cb *cb;\n\t\tstruct bpf_hrtimer *timer;\n\t\tstruct bpf_work *work;\n\t};\n\tstruct bpf_spin_lock lock;\n};\n\nstruct btf_func_model {\n\tu8 ret_size;\n\tu8 ret_flags;\n\tu8 nr_args;\n\tu8 arg_size[12];\n\tu8 arg_flags[12];\n};\n\nstruct bpf_attach_target_info {\n\tstruct btf_func_model fmodel;\n\tlong int tgt_addr;\n\tstruct module *tgt_mod;\n\tconst char *tgt_name;\n\tconst struct btf_type *tgt_type;\n};\n\nunion bpf_attr {\n\tstruct {\n\t\t__u32 map_type;\n\t\t__u32 key_size;\n\t\t__u32 value_size;\n\t\t__u32 max_entries;\n\t\t__u32 map_flags;\n\t\t__u32 inner_map_fd;\n\t\t__u32 numa_node;\n\t\tchar map_name[16];\n\t\t__u32 map_ifindex;\n\t\t__u32 btf_fd;\n\t\t__u32 btf_key_type_id;\n\t\t__u32 btf_value_type_id;\n\t\t__u32 btf_vmlinux_value_type_id;\n\t\t__u64 map_extra;\n\t\t__s32 value_type_btf_obj_fd;\n\t\t__s32 map_token_fd;\n\t};\n\tstruct {\n\t\t__u32 map_fd;\n\t\t__u64 key;\n\t\tunion {\n\t\t\t__u64 value;\n\t\t\t__u64 next_key;\n\t\t};\n\t\t__u64 flags;\n\t};\n\tstruct {\n\t\t__u64 in_batch;\n\t\t__u64 out_batch;\n\t\t__u64 keys;\n\t\t__u64 values;\n\t\t__u32 count;\n\t\t__u32 map_fd;\n\t\t__u64 elem_flags;\n\t\t__u64 flags;\n\t} batch;\n\tstruct {\n\t\t__u32 prog_type;\n\t\t__u32 insn_cnt;\n\t\t__u64 insns;\n\t\t__u64 license;\n\t\t__u32 log_level;\n\t\t__u32 log_size;\n\t\t__u64 log_buf;\n\t\t__u32 kern_version;\n\t\t__u32 prog_flags;\n\t\tchar prog_name[16];\n\t\t__u32 prog_ifindex;\n\t\t__u32 expected_attach_type;\n\t\t__u32 prog_btf_fd;\n\t\t__u32 func_info_rec_size;\n\t\t__u64 func_info;\n\t\t__u32 func_info_cnt;\n\t\t__u32 line_info_rec_size;\n\t\t__u64 line_info;\n\t\t__u32 line_info_cnt;\n\t\t__u32 attach_btf_id;\n\t\tunion {\n\t\t\t__u32 attach_prog_fd;\n\t\t\t__u32 attach_btf_obj_fd;\n\t\t};\n\t\t__u32 core_relo_cnt;\n\t\t__u64 fd_array;\n\t\t__u64 core_relos;\n\t\t__u32 core_relo_rec_size;\n\t\t__u32 log_true_size;\n\t\t__s32 prog_token_fd;\n\t\t__u32 fd_array_cnt;\n\t};\n\tstruct {\n\t\t__u64 pathname;\n\t\t__u32 bpf_fd;\n\t\t__u32 file_flags;\n\t\t__s32 path_fd;\n\t};\n\tstruct {\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_bpf_fd;\n\t\t__u32 attach_type;\n\t\t__u32 attach_flags;\n\t\t__u32 replace_bpf_fd;\n\t\tunion {\n\t\t\t__u32 relative_fd;\n\t\t\t__u32 relative_id;\n\t\t};\n\t\t__u64 expected_revision;\n\t};\n\tstruct {\n\t\t__u32 prog_fd;\n\t\t__u32 retval;\n\t\t__u32 data_size_in;\n\t\t__u32 data_size_out;\n\t\t__u64 data_in;\n\t\t__u64 data_out;\n\t\t__u32 repeat;\n\t\t__u32 duration;\n\t\t__u32 ctx_size_in;\n\t\t__u32 ctx_size_out;\n\t\t__u64 ctx_in;\n\t\t__u64 ctx_out;\n\t\t__u32 flags;\n\t\t__u32 cpu;\n\t\t__u32 batch_size;\n\t} test;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 start_id;\n\t\t\t__u32 prog_id;\n\t\t\t__u32 map_id;\n\t\t\t__u32 btf_id;\n\t\t\t__u32 link_id;\n\t\t};\n\t\t__u32 next_id;\n\t\t__u32 open_flags;\n\t};\n\tstruct {\n\t\t__u32 bpf_fd;\n\t\t__u32 info_len;\n\t\t__u64 info;\n\t} info;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_type;\n\t\t__u32 query_flags;\n\t\t__u32 attach_flags;\n\t\t__u64 prog_ids;\n\t\tunion {\n\t\t\t__u32 prog_cnt;\n\t\t\t__u32 count;\n\t\t};\n\t\t__u64 prog_attach_flags;\n\t\t__u64 link_ids;\n\t\t__u64 link_attach_flags;\n\t\t__u64 revision;\n\t} query;\n\tstruct {\n\t\t__u64 name;\n\t\t__u32 prog_fd;\n\t\t__u64 cookie;\n\t} raw_tracepoint;\n\tstruct {\n\t\t__u64 btf;\n\t\t__u64 btf_log_buf;\n\t\t__u32 btf_size;\n\t\t__u32 btf_log_size;\n\t\t__u32 btf_log_level;\n\t\t__u32 btf_log_true_size;\n\t\t__u32 btf_flags;\n\t\t__s32 btf_token_fd;\n\t};\n\tstruct {\n\t\t__u32 pid;\n\t\t__u32 fd;\n\t\t__u32 flags;\n\t\t__u32 buf_len;\n\t\t__u64 buf;\n\t\t__u32 prog_id;\n\t\t__u32 fd_type;\n\t\t__u64 probe_offset;\n\t\t__u64 probe_addr;\n\t} task_fd_query;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 prog_fd;\n\t\t\t__u32 map_fd;\n\t\t};\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_type;\n\t\t__u32 flags;\n\t\tunion {\n\t\t\t__u32 target_btf_id;\n\t\t\tstruct {\n\t\t\t\t__u64 iter_info;\n\t\t\t\t__u32 iter_info_len;\n\t\t\t};\n\t\t\tstruct {\n\t\t\t\t__u64 bpf_cookie;\n\t\t\t} perf_event;\n\t\t\tstruct {\n\t\t\t\t__u32 flags;\n\t\t\t\t__u32 cnt;\n\t\t\t\t__u64 syms;\n\t\t\t\t__u64 addrs;\n\t\t\t\t__u64 cookies;\n\t\t\t} kprobe_multi;\n\t\t\tstruct {\n\t\t\t\t__u32 target_btf_id;\n\t\t\t\t__u64 cookie;\n\t\t\t} tracing;\n\t\t\tstruct {\n\t\t\t\t__u32 pf;\n\t\t\t\t__u32 hooknum;\n\t\t\t\t__s32 priority;\n\t\t\t\t__u32 flags;\n\t\t\t} netfilter;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32 relative_fd;\n\t\t\t\t\t__u32 relative_id;\n\t\t\t\t};\n\t\t\t\t__u64 expected_revision;\n\t\t\t} tcx;\n\t\t\tstruct {\n\t\t\t\t__u64 path;\n\t\t\t\t__u64 offsets;\n\t\t\t\t__u64 ref_ctr_offsets;\n\t\t\t\t__u64 cookies;\n\t\t\t\t__u32 cnt;\n\t\t\t\t__u32 flags;\n\t\t\t\t__u32 pid;\n\t\t\t} uprobe_multi;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32 relative_fd;\n\t\t\t\t\t__u32 relative_id;\n\t\t\t\t};\n\t\t\t\t__u64 expected_revision;\n\t\t\t} netkit;\n\t\t};\n\t} link_create;\n\tstruct {\n\t\t__u32 link_fd;\n\t\tunion {\n\t\t\t__u32 new_prog_fd;\n\t\t\t__u32 new_map_fd;\n\t\t};\n\t\t__u32 flags;\n\t\tunion {\n\t\t\t__u32 old_prog_fd;\n\t\t\t__u32 old_map_fd;\n\t\t};\n\t} link_update;\n\tstruct {\n\t\t__u32 link_fd;\n\t} link_detach;\n\tstruct {\n\t\t__u32 type;\n\t} enable_stats;\n\tstruct {\n\t\t__u32 link_fd;\n\t\t__u32 flags;\n\t} iter_create;\n\tstruct {\n\t\t__u32 prog_fd;\n\t\t__u32 map_fd;\n\t\t__u32 flags;\n\t} prog_bind_map;\n\tstruct {\n\t\t__u32 flags;\n\t\t__u32 bpffs_fd;\n\t} token_create;\n};\n\nstruct bpf_binary_header {\n\tu32 size;\n\tlong: 0;\n\tu8 image[0];\n};\n\nstruct bpf_bloom_filter {\n\tstruct bpf_map map;\n\tu32 bitset_mask;\n\tu32 hash_seed;\n\tu32 nr_hash_funcs;\n\tlong unsigned int bitset[0];\n};\n\nstruct bpf_bprintf_buffers {\n\tchar bin_args[512];\n\tchar buf[1024];\n};\n\nstruct bpf_bprintf_data {\n\tu32 *bin_args;\n\tchar *buf;\n\tbool get_bin_args;\n\tbool get_buf;\n};\n\nstruct bpf_btf_info {\n\t__u64 btf;\n\t__u32 btf_size;\n\t__u32 id;\n\t__u64 name;\n\t__u32 name_len;\n\t__u32 kernel_btf;\n};\n\nstruct btf_field;\n\nstruct bpf_call_arg_meta {\n\tstruct bpf_map *map_ptr;\n\tbool raw_mode;\n\tbool pkt_access;\n\tu8 release_regno;\n\tint regno;\n\tint access_size;\n\tint mem_size;\n\tu64 msize_max_value;\n\tint ref_obj_id;\n\tint dynptr_id;\n\tint map_uid;\n\tint func_id;\n\tstruct btf *btf;\n\tu32 btf_id;\n\tstruct btf *ret_btf;\n\tu32 ret_btf_id;\n\tu32 subprogno;\n\tstruct btf_field *kptr_field;\n\ts64 const_map_key;\n};\n\nstruct bpf_cand_cache {\n\tconst char *name;\n\tu32 name_len;\n\tu16 kind;\n\tu16 cnt;\n\tstruct {\n\t\tconst struct btf *btf;\n\t\tu32 id;\n\t} cands[0];\n};\n\nstruct bpf_run_ctx {};\n\nstruct bpf_prog_array_item;\n\nstruct bpf_cg_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tconst struct bpf_prog_array_item *prog_item;\n\tint retval;\n};\n\nstruct bpf_cgroup_dev_ctx {\n\t__u32 access_type;\n\t__u32 major;\n\t__u32 minor;\n};\n\nstruct bpf_link_ops;\n\nstruct bpf_link {\n\tatomic64_t refcnt;\n\tu32 id;\n\tenum bpf_link_type type;\n\tconst struct bpf_link_ops *ops;\n\tstruct bpf_prog *prog;\n\tbool sleepable;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n};\n\nstruct bpf_cgroup_link {\n\tstruct bpf_link link;\n\tstruct cgroup *cgroup;\n\tenum bpf_attach_type type;\n};\n\nstruct bpf_cgroup_storage_key {\n\t__u64 cgroup_inode_id;\n\t__u32 attach_type;\n};\n\nstruct bpf_storage_buffer;\n\nstruct bpf_cgroup_storage_map;\n\nstruct bpf_cgroup_storage {\n\tunion {\n\t\tstruct bpf_storage_buffer *buf;\n\t\tvoid *percpu_buf;\n\t};\n\tstruct bpf_cgroup_storage_map *map;\n\tstruct bpf_cgroup_storage_key key;\n\tstruct list_head list_map;\n\tstruct list_head list_cg;\n\tstruct rb_node node;\n\tstruct callback_head rcu;\n};\n\nstruct bpf_cgroup_storage_map {\n\tstruct bpf_map map;\n\tspinlock_t lock;\n\tstruct rb_root root;\n\tstruct list_head list;\n};\n\nstruct bpf_lru_list {\n\tstruct list_head lists[3];\n\tunsigned int counts[2];\n\tstruct list_head *next_inactive_rotation;\n\traw_spinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_lru_locallist;\n\nstruct bpf_common_lru {\n\tstruct bpf_lru_list lru_list;\n\tstruct bpf_lru_locallist *local_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_core_accessor {\n\t__u32 type_id;\n\t__u32 idx;\n\tconst char *name;\n};\n\nstruct bpf_core_cand {\n\tconst struct btf *btf;\n\t__u32 id;\n};\n\nstruct bpf_core_cand_list {\n\tstruct bpf_core_cand *cands;\n\tint len;\n};\n\nstruct bpf_verifier_log;\n\nstruct bpf_core_ctx {\n\tstruct bpf_verifier_log *log;\n\tconst struct btf *btf;\n};\n\nstruct bpf_core_relo {\n\t__u32 insn_off;\n\t__u32 type_id;\n\t__u32 access_str_off;\n\tenum bpf_core_relo_kind kind;\n};\n\nstruct bpf_core_relo_res {\n\t__u64 orig_val;\n\t__u64 new_val;\n\tbool poison;\n\tbool validate;\n\tbool fail_memsz_adjust;\n\t__u32 orig_sz;\n\t__u32 orig_type_id;\n\t__u32 new_sz;\n\t__u32 new_type_id;\n};\n\nstruct bpf_core_spec {\n\tconst struct btf *btf;\n\tstruct bpf_core_accessor spec[64];\n\t__u32 root_type_id;\n\tenum bpf_core_relo_kind relo_kind;\n\tint len;\n\tint raw_spec[64];\n\tint raw_len;\n\t__u32 bit_offset;\n};\n\nstruct bpf_cpu_map_entry;\n\nstruct bpf_cpu_map {\n\tstruct bpf_map map;\n\tstruct bpf_cpu_map_entry **cpu_map;\n};\n\nstruct bpf_cpumap_val {\n\t__u32 qsize;\n\tunion {\n\t\tint fd;\n\t\t__u32 id;\n\t} bpf_prog;\n};\n\nstruct xdp_bulk_queue;\n\nstruct ptr_ring;\n\nstruct bpf_cpu_map_entry {\n\tu32 cpu;\n\tint map_id;\n\tstruct xdp_bulk_queue *bulkq;\n\tstruct ptr_ring *queue;\n\tstruct task_struct *kthread;\n\tstruct bpf_cpumap_val value;\n\tstruct bpf_prog *prog;\n\tstruct completion kthread_running;\n\tstruct rcu_work free_work;\n};\n\nstruct bpf_cpumask {\n\tcpumask_t cpumask;\n\trefcount_t usage;\n};\n\nstruct bpf_crypto_type;\n\nstruct bpf_crypto_ctx {\n\tconst struct bpf_crypto_type *type;\n\tvoid *tfm;\n\tu32 siv_len;\n\tstruct callback_head rcu;\n\trefcount_t usage;\n};\n\nstruct bpf_crypto_params {\n\tchar type[14];\n\tu8 reserved[2];\n\tchar algo[128];\n\tu8 key[256];\n\tu32 key_len;\n\tu32 authsize;\n};\n\nstruct bpf_crypto_type {\n\tvoid * (*alloc_tfm)(const char *);\n\tvoid (*free_tfm)(void *);\n\tint (*has_algo)(const char *);\n\tint (*setkey)(void *, const u8 *, unsigned int);\n\tint (*setauthsize)(void *, unsigned int);\n\tint (*encrypt)(void *, const u8 *, u8 *, unsigned int, u8 *);\n\tint (*decrypt)(void *, const u8 *, u8 *, unsigned int, u8 *);\n\tunsigned int (*ivsize)(void *);\n\tunsigned int (*statesize)(void *);\n\tu32 (*get_flags)(void *);\n\tstruct module *owner;\n\tchar name[14];\n};\n\nstruct bpf_crypto_type_list {\n\tconst struct bpf_crypto_type *type;\n\tstruct list_head list;\n};\n\nstruct bpf_ctx_arg_aux {\n\tu32 offset;\n\tenum bpf_reg_type reg_type;\n\tstruct btf *btf;\n\tu32 btf_id;\n};\n\nstruct skb_ext;\n\nstruct sk_buff {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *next;\n\t\t\tstruct sk_buff *prev;\n\t\t\tunion {\n\t\t\t\tstruct net_device *dev;\n\t\t\t\tlong unsigned int dev_scratch;\n\t\t\t};\n\t\t};\n\t\tstruct rb_node rbnode;\n\t\tstruct list_head list;\n\t\tstruct llist_node ll_node;\n\t};\n\tstruct sock *sk;\n\tunion {\n\t\tktime_t tstamp;\n\t\tu64 skb_mstamp_ns;\n\t};\n\tchar cb[48];\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _skb_refdst;\n\t\t\tvoid (*destructor)(struct sk_buff *);\n\t\t};\n\t\tstruct list_head tcp_tsorted_anchor;\n\t\tlong unsigned int _sk_redir;\n\t};\n\tlong unsigned int _nfct;\n\tunsigned int len;\n\tunsigned int data_len;\n\t__u16 mac_len;\n\t__u16 hdr_len;\n\t__u16 queue_mapping;\n\t__u8 __cloned_offset[0];\n\t__u8 cloned: 1;\n\t__u8 nohdr: 1;\n\t__u8 fclone: 2;\n\t__u8 peeked: 1;\n\t__u8 head_frag: 1;\n\t__u8 pfmemalloc: 1;\n\t__u8 pp_recycle: 1;\n\t__u8 active_extensions;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 __pkt_type_offset[0];\n\t\t\t__u8 pkt_type: 3;\n\t\t\t__u8 ignore_df: 1;\n\t\t\t__u8 dst_pending_confirm: 1;\n\t\t\t__u8 ip_summed: 2;\n\t\t\t__u8 ooo_okay: 1;\n\t\t\t__u8 __mono_tc_offset[0];\n\t\t\t__u8 tstamp_type: 2;\n\t\t\t__u8 tc_at_ingress: 1;\n\t\t\t__u8 tc_skip_classify: 1;\n\t\t\t__u8 remcsum_offload: 1;\n\t\t\t__u8 csum_complete_sw: 1;\n\t\t\t__u8 csum_level: 2;\n\t\t\t__u8 inner_protocol_type: 1;\n\t\t\t__u8 l4_hash: 1;\n\t\t\t__u8 sw_hash: 1;\n\t\t\t__u8 wifi_acked_valid: 1;\n\t\t\t__u8 wifi_acked: 1;\n\t\t\t__u8 no_fcs: 1;\n\t\t\t__u8 encapsulation: 1;\n\t\t\t__u8 encap_hdr_csum: 1;\n\t\t\t__u8 csum_valid: 1;\n\t\t\t__u8 ndisc_nodetype: 2;\n\t\t\t__u8 ipvs_property: 1;\n\t\t\t__u8 offload_fwd_mark: 1;\n\t\t\t__u8 offload_l3_fwd_mark: 1;\n\t\t\t__u8 redirected: 1;\n\t\t\t__u8 nf_skip_egress: 1;\n\t\t\t__u8 slow_gro: 1;\n\t\t\t__u8 unreadable: 1;\n\t\t\t__u16 tc_index;\n\t\t\tu16 alloc_cpu;\n\t\t\tunion {\n\t\t\t\t__wsum csum;\n\t\t\t\tstruct {\n\t\t\t\t\t__u16 csum_start;\n\t\t\t\t\t__u16 csum_offset;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__u32 priority;\n\t\t\tint skb_iif;\n\t\t\t__u32 hash;\n\t\t\tunion {\n\t\t\t\tu32 vlan_all;\n\t\t\t\tstruct {\n\t\t\t\t\t__be16 vlan_proto;\n\t\t\t\t\t__u16 vlan_tci;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tunsigned int napi_id;\n\t\t\t\tunsigned int sender_cpu;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__u32 mark;\n\t\t\t\t__u32 reserved_tailroom;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__be16 inner_protocol;\n\t\t\t\t__u8 inner_ipproto;\n\t\t\t};\n\t\t\t__u16 inner_transport_header;\n\t\t\t__u16 inner_network_header;\n\t\t\t__u16 inner_mac_header;\n\t\t\t__be16 protocol;\n\t\t\t__u16 transport_header;\n\t\t\t__u16 network_header;\n\t\t\t__u16 mac_header;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 __pkt_type_offset[0];\n\t\t\t__u8 pkt_type: 3;\n\t\t\t__u8 ignore_df: 1;\n\t\t\t__u8 dst_pending_confirm: 1;\n\t\t\t__u8 ip_summed: 2;\n\t\t\t__u8 ooo_okay: 1;\n\t\t\t__u8 __mono_tc_offset[0];\n\t\t\t__u8 tstamp_type: 2;\n\t\t\t__u8 tc_at_ingress: 1;\n\t\t\t__u8 tc_skip_classify: 1;\n\t\t\t__u8 remcsum_offload: 1;\n\t\t\t__u8 csum_complete_sw: 1;\n\t\t\t__u8 csum_level: 2;\n\t\t\t__u8 inner_protocol_type: 1;\n\t\t\t__u8 l4_hash: 1;\n\t\t\t__u8 sw_hash: 1;\n\t\t\t__u8 wifi_acked_valid: 1;\n\t\t\t__u8 wifi_acked: 1;\n\t\t\t__u8 no_fcs: 1;\n\t\t\t__u8 encapsulation: 1;\n\t\t\t__u8 encap_hdr_csum: 1;\n\t\t\t__u8 csum_valid: 1;\n\t\t\t__u8 ndisc_nodetype: 2;\n\t\t\t__u8 ipvs_property: 1;\n\t\t\t__u8 offload_fwd_mark: 1;\n\t\t\t__u8 offload_l3_fwd_mark: 1;\n\t\t\t__u8 redirected: 1;\n\t\t\t__u8 nf_skip_egress: 1;\n\t\t\t__u8 slow_gro: 1;\n\t\t\t__u8 unreadable: 1;\n\t\t\t__u16 tc_index;\n\t\t\tu16 alloc_cpu;\n\t\t\tunion {\n\t\t\t\t__wsum csum;\n\t\t\t\tstruct {\n\t\t\t\t\t__u16 csum_start;\n\t\t\t\t\t__u16 csum_offset;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__u32 priority;\n\t\t\tint skb_iif;\n\t\t\t__u32 hash;\n\t\t\tunion {\n\t\t\t\tu32 vlan_all;\n\t\t\t\tstruct {\n\t\t\t\t\t__be16 vlan_proto;\n\t\t\t\t\t__u16 vlan_tci;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tunsigned int napi_id;\n\t\t\t\tunsigned int sender_cpu;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__u32 mark;\n\t\t\t\t__u32 reserved_tailroom;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__be16 inner_protocol;\n\t\t\t\t__u8 inner_ipproto;\n\t\t\t};\n\t\t\t__u16 inner_transport_header;\n\t\t\t__u16 inner_network_header;\n\t\t\t__u16 inner_mac_header;\n\t\t\t__be16 protocol;\n\t\t\t__u16 transport_header;\n\t\t\t__u16 network_header;\n\t\t\t__u16 mac_header;\n\t\t} headers;\n\t};\n\tsk_buff_data_t tail;\n\tsk_buff_data_t end;\n\tunsigned char *head;\n\tunsigned char *data;\n\tunsigned int truesize;\n\trefcount_t users;\n\tstruct skb_ext *extensions;\n};\n\nstruct xdp_md {\n\t__u32 data;\n\t__u32 data_end;\n\t__u32 data_meta;\n\t__u32 ingress_ifindex;\n\t__u32 rx_queue_index;\n\t__u32 egress_ifindex;\n};\n\nstruct xdp_txq_info;\n\nstruct xdp_buff {\n\tvoid *data;\n\tvoid *data_end;\n\tvoid *data_meta;\n\tvoid *data_hard_start;\n\tstruct xdp_rxq_info *rxq;\n\tstruct xdp_txq_info *txq;\n\tu32 frame_sz;\n\tu32 flags;\n};\n\nstruct bpf_sock {\n\t__u32 bound_dev_if;\n\t__u32 family;\n\t__u32 type;\n\t__u32 protocol;\n\t__u32 mark;\n\t__u32 priority;\n\t__u32 src_ip4;\n\t__u32 src_ip6[4];\n\t__u32 src_port;\n\t__be16 dst_port;\n\t__u32 dst_ip4;\n\t__u32 dst_ip6[4];\n\t__u32 state;\n\t__s32 rx_queue_mapping;\n};\n\nstruct hlist_nulls_node {\n\tstruct hlist_nulls_node *next;\n\tstruct hlist_nulls_node **pprev;\n};\n\nstruct proto;\n\nstruct inet_timewait_death_row;\n\nstruct sock_common {\n\tunion {\n\t\t__addrpair skc_addrpair;\n\t\tstruct {\n\t\t\t__be32 skc_daddr;\n\t\t\t__be32 skc_rcv_saddr;\n\t\t};\n\t};\n\tunion {\n\t\tunsigned int skc_hash;\n\t\t__u16 skc_u16hashes[2];\n\t};\n\tunion {\n\t\t__portpair skc_portpair;\n\t\tstruct {\n\t\t\t__be16 skc_dport;\n\t\t\t__u16 skc_num;\n\t\t};\n\t};\n\tshort unsigned int skc_family;\n\tvolatile unsigned char skc_state;\n\tunsigned char skc_reuse: 4;\n\tunsigned char skc_reuseport: 1;\n\tunsigned char skc_ipv6only: 1;\n\tunsigned char skc_net_refcnt: 1;\n\tint skc_bound_dev_if;\n\tunion {\n\t\tstruct hlist_node skc_bind_node;\n\t\tstruct hlist_node skc_portaddr_node;\n\t};\n\tstruct proto *skc_prot;\n\tpossible_net_t skc_net;\n\tstruct in6_addr skc_v6_daddr;\n\tstruct in6_addr skc_v6_rcv_saddr;\n\tatomic64_t skc_cookie;\n\tunion {\n\t\tlong unsigned int skc_flags;\n\t\tstruct sock *skc_listener;\n\t\tstruct inet_timewait_death_row *skc_tw_dr;\n\t};\n\tint skc_dontcopy_begin[0];\n\tunion {\n\t\tstruct hlist_node skc_node;\n\t\tstruct hlist_nulls_node skc_nulls_node;\n\t};\n\tshort unsigned int skc_tx_queue_mapping;\n\tshort unsigned int skc_rx_queue_mapping;\n\tunion {\n\t\tint skc_incoming_cpu;\n\t\tu32 skc_rcv_wnd;\n\t\tu32 skc_tw_rcv_nxt;\n\t};\n\trefcount_t skc_refcnt;\n\tint skc_dontcopy_end[0];\n\tunion {\n\t\tu32 skc_rxhash;\n\t\tu32 skc_window_clamp;\n\t\tu32 skc_tw_snd_nxt;\n\t};\n};\n\nstruct page_frag {\n\tstruct page *page;\n\t__u32 offset;\n\t__u32 size;\n};\n\nstruct sock_cgroup_data {\n\tstruct cgroup *cgroup;\n};\n\nstruct dst_entry;\n\nstruct sk_filter;\n\nstruct socket_wq;\n\nstruct socket;\n\nstruct mem_cgroup;\n\nstruct sock_reuseport;\n\nstruct bpf_local_storage;\n\nstruct sock {\n\tstruct sock_common __sk_common;\n\t__u8 __cacheline_group_begin__sock_write_rx[0];\n\tatomic_t sk_drops;\n\t__s32 sk_peek_off;\n\tstruct sk_buff_head sk_error_queue;\n\tstruct sk_buff_head sk_receive_queue;\n\tstruct {\n\t\tatomic_t rmem_alloc;\n\t\tint len;\n\t\tstruct sk_buff *head;\n\t\tstruct sk_buff *tail;\n\t} sk_backlog;\n\t__u8 __cacheline_group_end__sock_write_rx[0];\n\t__u8 __cacheline_group_begin__sock_read_rx[0];\n\tstruct dst_entry *sk_rx_dst;\n\tint sk_rx_dst_ifindex;\n\tu32 sk_rx_dst_cookie;\n\tunsigned int sk_ll_usec;\n\tunsigned int sk_napi_id;\n\tu16 sk_busy_poll_budget;\n\tu8 sk_prefer_busy_poll;\n\tu8 sk_userlocks;\n\tint sk_rcvbuf;\n\tstruct sk_filter *sk_filter;\n\tunion {\n\t\tstruct socket_wq *sk_wq;\n\t\tstruct socket_wq *sk_wq_raw;\n\t};\n\tvoid (*sk_data_ready)(struct sock *);\n\tlong int sk_rcvtimeo;\n\tint sk_rcvlowat;\n\t__u8 __cacheline_group_end__sock_read_rx[0];\n\t__u8 __cacheline_group_begin__sock_read_rxtx[0];\n\tint sk_err;\n\tstruct socket *sk_socket;\n\tstruct mem_cgroup *sk_memcg;\n\t__u8 __cacheline_group_end__sock_read_rxtx[0];\n\t__u8 __cacheline_group_begin__sock_write_rxtx[0];\n\tsocket_lock_t sk_lock;\n\tu32 sk_reserved_mem;\n\tint sk_forward_alloc;\n\tu32 sk_tsflags;\n\t__u8 __cacheline_group_end__sock_write_rxtx[0];\n\t__u8 __cacheline_group_begin__sock_write_tx[0];\n\tint sk_write_pending;\n\tatomic_t sk_omem_alloc;\n\tint sk_sndbuf;\n\tint sk_wmem_queued;\n\trefcount_t sk_wmem_alloc;\n\tlong unsigned int sk_tsq_flags;\n\tunion {\n\t\tstruct sk_buff *sk_send_head;\n\t\tstruct rb_root tcp_rtx_queue;\n\t};\n\tstruct sk_buff_head sk_write_queue;\n\tu32 sk_dst_pending_confirm;\n\tu32 sk_pacing_status;\n\tstruct page_frag sk_frag;\n\tstruct timer_list sk_timer;\n\tlong unsigned int sk_pacing_rate;\n\tatomic_t sk_zckey;\n\tatomic_t sk_tskey;\n\t__u8 __cacheline_group_end__sock_write_tx[0];\n\t__u8 __cacheline_group_begin__sock_read_tx[0];\n\tlong unsigned int sk_max_pacing_rate;\n\tlong int sk_sndtimeo;\n\tu32 sk_priority;\n\tu32 sk_mark;\n\tstruct dst_entry *sk_dst_cache;\n\tnetdev_features_t sk_route_caps;\n\tu16 sk_gso_type;\n\tu16 sk_gso_max_segs;\n\tunsigned int sk_gso_max_size;\n\tgfp_t sk_allocation;\n\tu32 sk_txhash;\n\tu8 sk_pacing_shift;\n\tbool sk_use_task_frag;\n\t__u8 __cacheline_group_end__sock_read_tx[0];\n\tu8 sk_gso_disabled: 1;\n\tu8 sk_kern_sock: 1;\n\tu8 sk_no_check_tx: 1;\n\tu8 sk_no_check_rx: 1;\n\tu8 sk_shutdown;\n\tu16 sk_type;\n\tu16 sk_protocol;\n\tlong unsigned int sk_lingertime;\n\tstruct proto *sk_prot_creator;\n\trwlock_t sk_callback_lock;\n\tint sk_err_soft;\n\tu32 sk_ack_backlog;\n\tu32 sk_max_ack_backlog;\n\tkuid_t sk_uid;\n\tspinlock_t sk_peer_lock;\n\tint sk_bind_phc;\n\tstruct pid *sk_peer_pid;\n\tconst struct cred *sk_peer_cred;\n\tktime_t sk_stamp;\n\tint sk_disconnects;\n\tu8 sk_txrehash;\n\tu8 sk_clockid;\n\tu8 sk_txtime_deadline_mode: 1;\n\tu8 sk_txtime_report_errors: 1;\n\tu8 sk_txtime_unused: 6;\n\tvoid *sk_user_data;\n\tvoid *sk_security;\n\tstruct sock_cgroup_data sk_cgrp_data;\n\tvoid (*sk_state_change)(struct sock *);\n\tvoid (*sk_write_space)(struct sock *);\n\tvoid (*sk_error_report)(struct sock *);\n\tint (*sk_backlog_rcv)(struct sock *, struct sk_buff *);\n\tvoid (*sk_destruct)(struct sock *);\n\tstruct sock_reuseport *sk_reuseport_cb;\n\tstruct bpf_local_storage *sk_bpf_storage;\n\tstruct callback_head sk_rcu;\n\tnetns_tracker ns_tracker;\n\tstruct xarray sk_user_frags;\n};\n\nstruct bpf_sock_addr {\n\t__u32 user_family;\n\t__u32 user_ip4;\n\t__u32 user_ip6[4];\n\t__u32 user_port;\n\t__u32 family;\n\t__u32 type;\n\t__u32 protocol;\n\t__u32 msg_src_ip4;\n\t__u32 msg_src_ip6[4];\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n};\n\nstruct bpf_sock_addr_kern {\n\tstruct sock *sk;\n\tstruct sockaddr *uaddr;\n\tu64 tmp_reg;\n\tvoid *t_ctx;\n\tu32 uaddrlen;\n};\n\nstruct bpf_sock_ops {\n\t__u32 op;\n\tunion {\n\t\t__u32 args[4];\n\t\t__u32 reply;\n\t\t__u32 replylong[4];\n\t};\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 is_fullsock;\n\t__u32 snd_cwnd;\n\t__u32 srtt_us;\n\t__u32 bpf_sock_ops_cb_flags;\n\t__u32 state;\n\t__u32 rtt_min;\n\t__u32 snd_ssthresh;\n\t__u32 rcv_nxt;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 mss_cache;\n\t__u32 ecn_flags;\n\t__u32 rate_delivered;\n\t__u32 rate_interval_us;\n\t__u32 packets_out;\n\t__u32 retrans_out;\n\t__u32 total_retrans;\n\t__u32 segs_in;\n\t__u32 data_segs_in;\n\t__u32 segs_out;\n\t__u32 data_segs_out;\n\t__u32 lost_out;\n\t__u32 sacked_out;\n\t__u32 sk_txhash;\n\t__u64 bytes_received;\n\t__u64 bytes_acked;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tvoid *skb_data;\n\t};\n\tunion {\n\t\tvoid *skb_data_end;\n\t};\n\t__u32 skb_len;\n\t__u32 skb_tcp_flags;\n\t__u64 skb_hwtstamp;\n};\n\nstruct bpf_sock_ops_kern {\n\tstruct sock *sk;\n\tunion {\n\t\tu32 args[4];\n\t\tu32 reply;\n\t\tu32 replylong[4];\n\t};\n\tstruct sk_buff *syn_skb;\n\tstruct sk_buff *skb;\n\tvoid *skb_data_end;\n\tu8 op;\n\tu8 is_fullsock;\n\tu8 remaining_opt_len;\n\tu64 temp;\n};\n\nstruct sk_msg_md {\n\tunion {\n\t\tvoid *data;\n\t};\n\tunion {\n\t\tvoid *data_end;\n\t};\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 size;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n};\n\nstruct sk_msg_sg {\n\tu32 start;\n\tu32 curr;\n\tu32 end;\n\tu32 size;\n\tu32 copybreak;\n\tlong unsigned int copy[1];\n\tstruct scatterlist data[19];\n};\n\nstruct sk_msg {\n\tstruct sk_msg_sg sg;\n\tvoid *data;\n\tvoid *data_end;\n\tu32 apply_bytes;\n\tu32 cork_bytes;\n\tu32 flags;\n\tstruct sk_buff *skb;\n\tstruct sock *sk_redir;\n\tstruct sock *sk;\n\tstruct list_head list;\n};\n\nstruct bpf_flow_dissector {\n\tstruct bpf_flow_keys *flow_keys;\n\tconst struct sk_buff *skb;\n\tconst void *data;\n\tconst void *data_end;\n};\n\nstruct user_pt_regs {\n\t__u64 regs[31];\n\t__u64 sp;\n\t__u64 pc;\n\t__u64 pstate;\n};\n\ntypedef struct user_pt_regs bpf_user_pt_regs_t;\n\nstruct frame_record {\n\tu64 fp;\n\tu64 lr;\n};\n\nstruct frame_record_meta {\n\tstruct frame_record record;\n\tu64 type;\n};\n\nstruct pt_regs {\n\tunion {\n\t\tstruct user_pt_regs user_regs;\n\t\tstruct {\n\t\t\tu64 regs[31];\n\t\t\tu64 sp;\n\t\t\tu64 pc;\n\t\t\tu64 pstate;\n\t\t};\n\t};\n\tu64 orig_x0;\n\ts32 syscallno;\n\tu32 pmr;\n\tu64 sdei_ttbr1;\n\tstruct frame_record_meta stackframe;\n\tu64 lockdep_hardirqs;\n\tu64 exit_rcu;\n};\n\nstruct bpf_perf_event_data {\n\tbpf_user_pt_regs_t regs;\n\t__u64 sample_period;\n\t__u64 addr;\n};\n\nstruct perf_sample_data;\n\nstruct bpf_perf_event_data_kern {\n\tbpf_user_pt_regs_t *regs;\n\tstruct perf_sample_data *data;\n\tstruct perf_event *event;\n};\n\nstruct bpf_raw_tracepoint_args {\n\t__u64 args[0];\n};\n\nstruct bpf_sysctl {\n\t__u32 write;\n\t__u32 file_pos;\n};\n\nstruct ctl_table_header;\n\nstruct ctl_table;\n\nstruct bpf_sysctl_kern {\n\tstruct ctl_table_header *head;\n\tconst struct ctl_table *table;\n\tvoid *cur_val;\n\tsize_t cur_len;\n\tvoid *new_val;\n\tsize_t new_len;\n\tint new_updated;\n\tint write;\n\tloff_t *ppos;\n\tu64 tmp_reg;\n};\n\nstruct bpf_sockopt {\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tvoid *optval;\n\t};\n\tunion {\n\t\tvoid *optval_end;\n\t};\n\t__s32 level;\n\t__s32 optname;\n\t__s32 optlen;\n\t__s32 retval;\n};\n\nstruct bpf_sockopt_kern {\n\tstruct sock *sk;\n\tu8 *optval;\n\tu8 *optval_end;\n\ts32 level;\n\ts32 optname;\n\ts32 optlen;\n\tstruct task_struct *current_task;\n\tu64 tmp_reg;\n};\n\nstruct sk_reuseport_md {\n\tunion {\n\t\tvoid *data;\n\t};\n\tunion {\n\t\tvoid *data_end;\n\t};\n\t__u32 len;\n\t__u32 eth_protocol;\n\t__u32 ip_protocol;\n\t__u32 bind_inany;\n\t__u32 hash;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tstruct bpf_sock *migrating_sk;\n\t};\n};\n\nstruct sk_reuseport_kern {\n\tstruct sk_buff *skb;\n\tstruct sock *sk;\n\tstruct sock *selected_sk;\n\tstruct sock *migrating_sk;\n\tvoid *data_end;\n\tu32 hash;\n\tu32 reuseport_id;\n\tbool bind_inany;\n};\n\nstruct bpf_sk_lookup {\n\tunion {\n\t\tunion {\n\t\t\tstruct bpf_sock *sk;\n\t\t};\n\t\t__u64 cookie;\n\t};\n\t__u32 family;\n\t__u32 protocol;\n\t__u32 remote_ip4;\n\t__u32 remote_ip6[4];\n\t__be16 remote_port;\n\t__u32 local_ip4;\n\t__u32 local_ip6[4];\n\t__u32 local_port;\n\t__u32 ingress_ifindex;\n};\n\nstruct bpf_sk_lookup_kern {\n\tu16 family;\n\tu16 protocol;\n\t__be16 sport;\n\tu16 dport;\n\tstruct {\n\t\t__be32 saddr;\n\t\t__be32 daddr;\n\t} v4;\n\tstruct {\n\t\tconst struct in6_addr *saddr;\n\t\tconst struct in6_addr *daddr;\n\t} v6;\n\tstruct sock *selected_sk;\n\tu32 ingress_ifindex;\n\tbool no_reuseport;\n};\n\nstruct nf_hook_state;\n\nstruct bpf_nf_ctx {\n\tconst struct nf_hook_state *state;\n\tstruct sk_buff *skb;\n};\n\nstruct bpf_ctx_convert {\n\tstruct __sk_buff BPF_PROG_TYPE_SOCKET_FILTER_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SOCKET_FILTER_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SCHED_CLS_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SCHED_CLS_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SCHED_ACT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SCHED_ACT_kern;\n\tstruct xdp_md BPF_PROG_TYPE_XDP_prog;\n\tstruct xdp_buff BPF_PROG_TYPE_XDP_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_CGROUP_SKB_prog;\n\tstruct sk_buff BPF_PROG_TYPE_CGROUP_SKB_kern;\n\tstruct bpf_sock BPF_PROG_TYPE_CGROUP_SOCK_prog;\n\tstruct sock BPF_PROG_TYPE_CGROUP_SOCK_kern;\n\tstruct bpf_sock_addr BPF_PROG_TYPE_CGROUP_SOCK_ADDR_prog;\n\tstruct bpf_sock_addr_kern BPF_PROG_TYPE_CGROUP_SOCK_ADDR_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_IN_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_IN_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_OUT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_OUT_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_XMIT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_XMIT_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_kern;\n\tstruct bpf_sock_ops BPF_PROG_TYPE_SOCK_OPS_prog;\n\tstruct bpf_sock_ops_kern BPF_PROG_TYPE_SOCK_OPS_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SK_SKB_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SK_SKB_kern;\n\tstruct sk_msg_md BPF_PROG_TYPE_SK_MSG_prog;\n\tstruct sk_msg BPF_PROG_TYPE_SK_MSG_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_FLOW_DISSECTOR_prog;\n\tstruct bpf_flow_dissector BPF_PROG_TYPE_FLOW_DISSECTOR_kern;\n\tbpf_user_pt_regs_t BPF_PROG_TYPE_KPROBE_prog;\n\tstruct pt_regs BPF_PROG_TYPE_KPROBE_kern;\n\t__u64 BPF_PROG_TYPE_TRACEPOINT_prog;\n\tu64 BPF_PROG_TYPE_TRACEPOINT_kern;\n\tstruct bpf_perf_event_data BPF_PROG_TYPE_PERF_EVENT_prog;\n\tstruct bpf_perf_event_data_kern BPF_PROG_TYPE_PERF_EVENT_kern;\n\tstruct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_prog;\n\tu64 BPF_PROG_TYPE_RAW_TRACEPOINT_kern;\n\tstruct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_prog;\n\tu64 BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_kern;\n\tvoid *BPF_PROG_TYPE_TRACING_prog;\n\tvoid *BPF_PROG_TYPE_TRACING_kern;\n\tstruct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_prog;\n\tstruct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_kern;\n\tstruct bpf_sysctl BPF_PROG_TYPE_CGROUP_SYSCTL_prog;\n\tstruct bpf_sysctl_kern BPF_PROG_TYPE_CGROUP_SYSCTL_kern;\n\tstruct bpf_sockopt BPF_PROG_TYPE_CGROUP_SOCKOPT_prog;\n\tstruct bpf_sockopt_kern BPF_PROG_TYPE_CGROUP_SOCKOPT_kern;\n\tstruct sk_reuseport_md BPF_PROG_TYPE_SK_REUSEPORT_prog;\n\tstruct sk_reuseport_kern BPF_PROG_TYPE_SK_REUSEPORT_kern;\n\tstruct bpf_sk_lookup BPF_PROG_TYPE_SK_LOOKUP_prog;\n\tstruct bpf_sk_lookup_kern BPF_PROG_TYPE_SK_LOOKUP_kern;\n\tvoid *BPF_PROG_TYPE_STRUCT_OPS_prog;\n\tvoid *BPF_PROG_TYPE_STRUCT_OPS_kern;\n\tvoid *BPF_PROG_TYPE_EXT_prog;\n\tvoid *BPF_PROG_TYPE_EXT_kern;\n\tvoid *BPF_PROG_TYPE_SYSCALL_prog;\n\tvoid *BPF_PROG_TYPE_SYSCALL_kern;\n\tstruct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_prog;\n\tstruct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_kern;\n};\n\nstruct bpf_devmap_val {\n\t__u32 ifindex;\n\tunion {\n\t\tint fd;\n\t\t__u32 id;\n\t} bpf_prog;\n};\n\nstruct bpf_dispatcher_prog {\n\tstruct bpf_prog *prog;\n\trefcount_t users;\n};\n\nstruct latch_tree_node {\n\tstruct rb_node node[2];\n};\n\nstruct bpf_ksym {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar name[512];\n\tstruct list_head lnode;\n\tstruct latch_tree_node tnode;\n\tbool prog;\n};\n\nstruct bpf_dispatcher {\n\tstruct mutex mutex;\n\tvoid *func;\n\tstruct bpf_dispatcher_prog progs[48];\n\tint num_progs;\n\tvoid *image;\n\tvoid *rw_image;\n\tu32 image_off;\n\tstruct bpf_ksym ksym;\n};\n\nstruct bpf_dtab_netdev;\n\nstruct bpf_dtab {\n\tstruct bpf_map map;\n\tstruct bpf_dtab_netdev **netdev_map;\n\tstruct list_head list;\n\tstruct hlist_head *dev_index_head;\n\tspinlock_t index_lock;\n\tunsigned int items;\n\tu32 n_buckets;\n};\n\nstruct bpf_dtab_netdev {\n\tstruct net_device *dev;\n\tstruct hlist_node index_hlist;\n\tstruct bpf_prog *xdp_prog;\n\tstruct callback_head rcu;\n\tunsigned int idx;\n\tstruct bpf_devmap_val val;\n};\n\nstruct bpf_dummy_ops_state;\n\nstruct bpf_dummy_ops {\n\tint (*test_1)(struct bpf_dummy_ops_state *);\n\tint (*test_2)(struct bpf_dummy_ops_state *, int, short unsigned int, char, long unsigned int);\n\tint (*test_sleepable)(struct bpf_dummy_ops_state *);\n};\n\nstruct bpf_dummy_ops_state {\n\tint val;\n};\n\nstruct bpf_dummy_ops_test_args {\n\tu64 args[12];\n\tstruct bpf_dummy_ops_state state;\n};\n\nstruct bpf_dynptr {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_dynptr_kern {\n\tvoid *data;\n\tu32 size;\n\tu32 offset;\n};\n\nstruct bpf_prog_array_item {\n\tstruct bpf_prog *prog;\n\tunion {\n\t\tstruct bpf_cgroup_storage *cgroup_storage[2];\n\t\tu64 bpf_cookie;\n\t};\n};\n\nstruct bpf_prog_array {\n\tstruct callback_head rcu;\n\tstruct bpf_prog_array_item items[0];\n};\n\nstruct bpf_empty_prog_array {\n\tstruct bpf_prog_array hdr;\n\tstruct bpf_prog *null_prog;\n};\n\nstruct bpf_event_entry {\n\tstruct perf_event *event;\n\tstruct file *perf_file;\n\tstruct file *map_file;\n\tstruct callback_head rcu;\n};\n\nstruct bpf_fentry_test_t {\n\tstruct bpf_fentry_test_t *a;\n};\n\nstruct bpf_fib_lookup {\n\t__u8 family;\n\t__u8 l4_protocol;\n\t__be16 sport;\n\t__be16 dport;\n\tunion {\n\t\t__u16 tot_len;\n\t\t__u16 mtu_result;\n\t};\n\t__u32 ifindex;\n\tunion {\n\t\t__u8 tos;\n\t\t__be32 flowinfo;\n\t\t__u32 rt_metric;\n\t};\n\tunion {\n\t\t__be32 ipv4_src;\n\t\t__u32 ipv6_src[4];\n\t};\n\tunion {\n\t\t__be32 ipv4_dst;\n\t\t__u32 ipv6_dst[4];\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__be16 h_vlan_proto;\n\t\t\t__be16 h_vlan_TCI;\n\t\t};\n\t\t__u32 tbid;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__u32 mark;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 smac[6];\n\t\t\t__u8 dmac[6];\n\t\t};\n\t};\n};\n\nstruct bpf_flow_keys {\n\t__u16 nhoff;\n\t__u16 thoff;\n\t__u16 addr_proto;\n\t__u8 is_frag;\n\t__u8 is_first_frag;\n\t__u8 is_encap;\n\t__u8 ip_proto;\n\t__be16 n_proto;\n\t__be16 sport;\n\t__be16 dport;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 ipv4_src;\n\t\t\t__be32 ipv4_dst;\n\t\t};\n\t\tstruct {\n\t\t\t__u32 ipv6_src[4];\n\t\t\t__u32 ipv6_dst[4];\n\t\t};\n\t};\n\t__u32 flags;\n\t__be32 flow_label;\n};\n\nstruct bpf_func_info {\n\t__u32 insn_off;\n\t__u32 type_id;\n};\n\nstruct bpf_func_info_aux {\n\tu16 linkage;\n\tbool unreliable;\n\tbool called: 1;\n\tbool verified: 1;\n};\n\nstruct bpf_func_proto {\n\tu64 (*func)(u64, u64, u64, u64, u64);\n\tbool gpl_only;\n\tbool pkt_access;\n\tbool might_sleep;\n\tbool allow_fastcall;\n\tenum bpf_return_type ret_type;\n\tunion {\n\t\tstruct {\n\t\t\tenum bpf_arg_type arg1_type;\n\t\t\tenum bpf_arg_type arg2_type;\n\t\t\tenum bpf_arg_type arg3_type;\n\t\t\tenum bpf_arg_type arg4_type;\n\t\t\tenum bpf_arg_type arg5_type;\n\t\t};\n\t\tenum bpf_arg_type arg_type[5];\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu32 *arg1_btf_id;\n\t\t\tu32 *arg2_btf_id;\n\t\t\tu32 *arg3_btf_id;\n\t\t\tu32 *arg4_btf_id;\n\t\t\tu32 *arg5_btf_id;\n\t\t};\n\t\tu32 *arg_btf_id[5];\n\t\tstruct {\n\t\t\tsize_t arg1_size;\n\t\t\tsize_t arg2_size;\n\t\t\tsize_t arg3_size;\n\t\t\tsize_t arg4_size;\n\t\t\tsize_t arg5_size;\n\t\t};\n\t\tsize_t arg_size[5];\n\t};\n\tint *ret_btf_id;\n\tbool (*allowed)(const struct bpf_prog *);\n};\n\nstruct tnum {\n\tu64 value;\n\tu64 mask;\n};\n\nstruct bpf_reg_state {\n\tenum bpf_reg_type type;\n\ts32 off;\n\tunion {\n\t\tint range;\n\t\tstruct {\n\t\t\tstruct bpf_map *map_ptr;\n\t\t\tu32 map_uid;\n\t\t};\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t};\n\t\tstruct {\n\t\t\tu32 mem_size;\n\t\t\tu32 dynptr_id;\n\t\t};\n\t\tstruct {\n\t\t\tenum bpf_dynptr_type type;\n\t\t\tbool first_slot;\n\t\t} dynptr;\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t\tenum bpf_iter_state state: 2;\n\t\t\tint depth: 30;\n\t\t} iter;\n\t\tstruct {\n\t\t\tlong unsigned int raw1;\n\t\t\tlong unsigned int raw2;\n\t\t} raw;\n\t\tu32 subprogno;\n\t};\n\tstruct tnum var_off;\n\ts64 smin_value;\n\ts64 smax_value;\n\tu64 umin_value;\n\tu64 umax_value;\n\ts32 s32_min_value;\n\ts32 s32_max_value;\n\tu32 u32_min_value;\n\tu32 u32_max_value;\n\tu32 id;\n\tu32 ref_obj_id;\n\tstruct bpf_reg_state *parent;\n\tu32 frameno;\n\ts32 subreg_def;\n\tenum bpf_reg_liveness live;\n\tbool precise;\n};\n\nstruct bpf_retval_range {\n\ts32 minval;\n\ts32 maxval;\n};\n\nstruct bpf_stack_state;\n\nstruct bpf_func_state {\n\tstruct bpf_reg_state regs[11];\n\tint callsite;\n\tu32 frameno;\n\tu32 subprogno;\n\tu32 async_entry_cnt;\n\tstruct bpf_retval_range callback_ret_range;\n\tbool in_callback_fn;\n\tbool in_async_callback_fn;\n\tbool in_exception_callback_fn;\n\tu32 callback_depth;\n\tstruct bpf_stack_state *stack;\n\tint allocated_stack;\n};\n\nstruct bpf_hrtimer {\n\tstruct bpf_async_cb cb;\n\tstruct hrtimer timer;\n\tatomic_t cancelling;\n};\n\nstruct bpf_mem_caches;\n\nstruct bpf_mem_cache;\n\nstruct bpf_mem_alloc {\n\tstruct bpf_mem_caches *caches;\n\tstruct bpf_mem_cache *cache;\n\tstruct obj_cgroup *objcg;\n\tbool percpu;\n\tstruct work_struct work;\n};\n\nstruct pcpu_freelist_node;\n\nstruct pcpu_freelist_head {\n\tstruct pcpu_freelist_node *first;\n\traw_spinlock_t lock;\n};\n\nstruct pcpu_freelist {\n\tstruct pcpu_freelist_head *freelist;\n\tstruct pcpu_freelist_head extralist;\n};\n\nstruct bpf_lru_node;\n\ntypedef bool (*del_from_htab_func)(void *, struct bpf_lru_node *);\n\nstruct bpf_lru {\n\tunion {\n\t\tstruct bpf_common_lru common_lru;\n\t\tstruct bpf_lru_list *percpu_lru;\n\t};\n\tdel_from_htab_func del_from_htab;\n\tvoid *del_arg;\n\tunsigned int hash_offset;\n\tunsigned int nr_scans;\n\tbool percpu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bucket;\n\nstruct htab_elem;\n\nstruct bpf_htab {\n\tstruct bpf_map map;\n\tstruct bpf_mem_alloc ma;\n\tstruct bpf_mem_alloc pcpu_ma;\n\tstruct bucket *buckets;\n\tvoid *elems;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunion {\n\t\tstruct pcpu_freelist freelist;\n\t\tstruct bpf_lru lru;\n\t};\n\tstruct htab_elem **extra_elems;\n\tstruct percpu_counter pcount;\n\tatomic_t count;\n\tbool use_percpu_counter;\n\tu32 n_buckets;\n\tu32 elem_size;\n\tu32 hashrnd;\n\tstruct lock_class_key lockdep_key;\n\tint *map_locked[8];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_id_pair {\n\tu32 old;\n\tu32 cur;\n};\n\nstruct bpf_idmap {\n\tu32 tmp_id_gen;\n\tstruct bpf_id_pair map[600];\n};\n\nstruct bpf_idset {\n\tu32 count;\n\tu32 ids[600];\n};\n\nstruct bpf_insn {\n\t__u8 code;\n\t__u8 dst_reg: 4;\n\t__u8 src_reg: 4;\n\t__s16 off;\n\t__s32 imm;\n};\n\nstruct bpf_insn_access_aux {\n\tenum bpf_reg_type reg_type;\n\tbool is_ldsx;\n\tunion {\n\t\tint ctx_field_size;\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t};\n\t};\n\tstruct bpf_verifier_log *log;\n\tbool is_retval;\n};\n\nstruct bpf_map_ptr_state {\n\tstruct bpf_map *map_ptr;\n\tbool poison;\n\tbool unpriv;\n};\n\nstruct bpf_loop_inline_state {\n\tunsigned int initialized: 1;\n\tunsigned int fit_for_inline: 1;\n\tu32 callback_subprogno;\n};\n\nstruct btf_struct_meta;\n\nstruct bpf_insn_aux_data {\n\tunion {\n\t\tenum bpf_reg_type ptr_type;\n\t\tstruct bpf_map_ptr_state map_ptr_state;\n\t\ts32 call_imm;\n\t\tu32 alu_limit;\n\t\tstruct {\n\t\t\tu32 map_index;\n\t\t\tu32 map_off;\n\t\t};\n\t\tstruct {\n\t\t\tenum bpf_reg_type reg_type;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tstruct btf *btf;\n\t\t\t\t\tu32 btf_id;\n\t\t\t\t};\n\t\t\t\tu32 mem_size;\n\t\t\t};\n\t\t} btf_var;\n\t\tstruct bpf_loop_inline_state loop_inline_state;\n\t};\n\tunion {\n\t\tu64 obj_new_size;\n\t\tu64 insert_off;\n\t};\n\tstruct btf_struct_meta *kptr_struct_meta;\n\tu64 map_key_state;\n\tint ctx_field_size;\n\tu32 seen;\n\tbool sanitize_stack_spill;\n\tbool zext_dst;\n\tbool needs_zext;\n\tbool storage_get_func_atomic;\n\tbool is_iter_next;\n\tbool call_with_percpu_alloc_ptr;\n\tu8 alu_state;\n\tu8 fastcall_pattern: 1;\n\tu8 fastcall_spills_num: 3;\n\tunsigned int orig_idx;\n\tbool jmp_point;\n\tbool prune_point;\n\tbool force_checkpoint;\n\tbool calls_callback;\n};\n\ntypedef void (*bpf_insn_print_t)(void *, const char *, ...);\n\ntypedef const char * (*bpf_insn_revmap_call_t)(void *, const struct bpf_insn *);\n\ntypedef const char * (*bpf_insn_print_imm_t)(void *, const struct bpf_insn *, __u64);\n\nstruct bpf_insn_cbs {\n\tbpf_insn_print_t cb_print;\n\tbpf_insn_revmap_call_t cb_call;\n\tbpf_insn_print_imm_t cb_imm;\n\tvoid *private_data;\n};\n\nstruct bpf_insn_hist_entry {\n\tu32 idx;\n\tu32 prev_idx: 22;\n\tu32 flags: 10;\n\tu64 linked_regs;\n};\n\nstruct bpf_iter_meta;\n\nstruct bpf_iter__bpf_link {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_link *link;\n\t};\n};\n\nstruct bpf_iter__bpf_map {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n};\n\nstruct bpf_iter__bpf_map_elem {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tvoid *key;\n\t};\n\tunion {\n\t\tvoid *value;\n\t};\n};\n\nstruct bpf_iter__bpf_prog {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_prog *prog;\n\t};\n};\n\nstruct bpf_iter__bpf_sk_storage_map {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tstruct sock *sk;\n\t};\n\tunion {\n\t\tvoid *value;\n\t};\n};\n\nstruct bpf_iter__cgroup {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct cgroup *cgroup;\n\t};\n};\n\nstruct bpf_iter__kmem_cache {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct kmem_cache *s;\n\t};\n};\n\nstruct kallsym_iter;\n\nstruct bpf_iter__ksym {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct kallsym_iter *ksym;\n\t};\n};\n\nstruct netlink_sock;\n\nstruct bpf_iter__netlink {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct netlink_sock *sk;\n\t};\n};\n\nstruct bpf_iter__sockmap {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tvoid *key;\n\t};\n\tunion {\n\t\tstruct sock *sk;\n\t};\n};\n\nstruct bpf_iter__task {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n};\n\nstruct bpf_iter__task__safe_trusted {\n\tstruct bpf_iter_meta *meta;\n\tstruct task_struct *task;\n};\n\nstruct bpf_iter__task_file {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n\tu32 fd;\n\tunion {\n\t\tstruct file *file;\n\t};\n};\n\nstruct bpf_iter__task_vma {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n\tunion {\n\t\tstruct vm_area_struct *vma;\n\t};\n};\n\nstruct bpf_iter__tcp {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct sock_common *sk_common;\n\t};\n\tuid_t uid;\n};\n\nstruct udp_sock;\n\nstruct bpf_iter__udp {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct udp_sock *udp_sk;\n\t};\n\tuid_t uid;\n\tlong: 0;\n\tint bucket;\n};\n\nstruct unix_sock;\n\nstruct bpf_iter__unix {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct unix_sock *unix_sk;\n\t};\n\tuid_t uid;\n};\n\nstruct bpf_iter_aux_info {\n\tstruct bpf_map *map;\n\tstruct {\n\t\tstruct cgroup *start;\n\t\tenum bpf_cgroup_iter_order order;\n\t} cgroup;\n\tstruct {\n\t\tenum bpf_iter_task_type type;\n\t\tu32 pid;\n\t} task;\n};\n\nstruct bpf_iter_bits {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_iter_bits_kern {\n\tunion {\n\t\t__u64 *bits;\n\t\t__u64 bits_copy;\n\t};\n\tint nr_bits;\n\tint bit;\n};\n\nstruct bpf_iter_css {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_iter_css_kern {\n\tstruct cgroup_subsys_state *start;\n\tstruct cgroup_subsys_state *pos;\n\tunsigned int flags;\n};\n\nstruct bpf_iter_css_task {\n\t__u64 __opaque[1];\n};\n\nstruct css_task_iter;\n\nstruct bpf_iter_css_task_kern {\n\tstruct css_task_iter *css_it;\n};\n\nstruct bpf_iter_kmem_cache {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_kmem_cache_kern {\n\tstruct kmem_cache *pos;\n};\n\nstruct bpf_iter_target_info;\n\nstruct bpf_iter_link {\n\tstruct bpf_link link;\n\tstruct bpf_iter_aux_info aux;\n\tstruct bpf_iter_target_info *tinfo;\n};\n\nunion bpf_iter_link_info {\n\tstruct {\n\t\t__u32 map_fd;\n\t} map;\n\tstruct {\n\t\tenum bpf_cgroup_iter_order order;\n\t\t__u32 cgroup_fd;\n\t\t__u64 cgroup_id;\n\t} cgroup;\n\tstruct {\n\t\t__u32 tid;\n\t\t__u32 pid;\n\t\t__u32 pid_fd;\n\t} task;\n};\n\nstruct bpf_iter_meta {\n\tunion {\n\t\tstruct seq_file *seq;\n\t};\n\tu64 session_id;\n\tu64 seq_num;\n};\n\nstruct bpf_iter_meta__safe_trusted {\n\tstruct seq_file *seq;\n};\n\nstruct bpf_iter_num {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_num_kern {\n\tint cur;\n\tint end;\n};\n\nstruct bpf_iter_seq_info;\n\nstruct bpf_iter_priv_data {\n\tstruct bpf_iter_target_info *tinfo;\n\tconst struct bpf_iter_seq_info *seq_info;\n\tstruct bpf_prog *prog;\n\tu64 session_id;\n\tu64 seq_num;\n\tbool done_stop;\n\tlong: 0;\n\tu8 target_private[0];\n};\n\ntypedef int (*bpf_iter_attach_target_t)(struct bpf_prog *, union bpf_iter_link_info *, struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_detach_target_t)(struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_show_fdinfo_t)(const struct bpf_iter_aux_info *, struct seq_file *);\n\nstruct bpf_link_info;\n\ntypedef int (*bpf_iter_fill_link_info_t)(const struct bpf_iter_aux_info *, struct bpf_link_info *);\n\ntypedef const struct bpf_func_proto * (*bpf_iter_get_func_proto_t)(enum bpf_func_id, const struct bpf_prog *);\n\nstruct bpf_iter_reg {\n\tconst char *target;\n\tbpf_iter_attach_target_t attach_target;\n\tbpf_iter_detach_target_t detach_target;\n\tbpf_iter_show_fdinfo_t show_fdinfo;\n\tbpf_iter_fill_link_info_t fill_link_info;\n\tbpf_iter_get_func_proto_t get_func_proto;\n\tu32 ctx_arg_info_size;\n\tu32 feature;\n\tstruct bpf_ctx_arg_aux ctx_arg_info[2];\n\tconst struct bpf_iter_seq_info *seq_info;\n};\n\nstruct bpf_iter_seq_array_map_info {\n\tstruct bpf_map *map;\n\tvoid *percpu_value_buf;\n\tu32 index;\n};\n\nstruct bpf_iter_seq_hash_map_info {\n\tstruct bpf_map *map;\n\tstruct bpf_htab *htab;\n\tvoid *percpu_value_buf;\n\tu32 bucket_id;\n\tu32 skip_elems;\n};\n\ntypedef int (*bpf_iter_init_seq_priv_t)(void *, struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_fini_seq_priv_t)(void *);\n\nstruct bpf_iter_seq_info {\n\tconst struct seq_operations *seq_ops;\n\tbpf_iter_init_seq_priv_t init_seq_private;\n\tbpf_iter_fini_seq_priv_t fini_seq_private;\n\tu32 seq_priv_size;\n};\n\nstruct bpf_iter_seq_link_info {\n\tu32 link_id;\n};\n\nstruct bpf_iter_seq_map_info {\n\tu32 map_id;\n};\n\nstruct bpf_iter_seq_prog_info {\n\tu32 prog_id;\n};\n\nstruct bpf_iter_seq_sk_storage_map_info {\n\tstruct bpf_map *map;\n\tunsigned int bucket_id;\n\tunsigned int skip_elems;\n};\n\nstruct pid_namespace;\n\nstruct bpf_iter_seq_task_common {\n\tstruct pid_namespace *ns;\n\tenum bpf_iter_task_type type;\n\tu32 pid;\n\tu32 pid_visiting;\n};\n\nstruct bpf_iter_seq_task_file_info {\n\tstruct bpf_iter_seq_task_common common;\n\tstruct task_struct *task;\n\tu32 tid;\n\tu32 fd;\n};\n\nstruct bpf_iter_seq_task_info {\n\tstruct bpf_iter_seq_task_common common;\n\tu32 tid;\n};\n\nstruct bpf_iter_seq_task_vma_info {\n\tstruct bpf_iter_seq_task_common common;\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct vm_area_struct *vma;\n\tu32 tid;\n\tlong unsigned int prev_vm_start;\n\tlong unsigned int prev_vm_end;\n};\n\nstruct bpf_iter_target_info {\n\tstruct list_head list;\n\tconst struct bpf_iter_reg *reg_info;\n\tu32 btf_id;\n};\n\nstruct bpf_iter_task {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_iter_task_kern {\n\tstruct task_struct *task;\n\tstruct task_struct *pos;\n\tunsigned int flags;\n};\n\nstruct bpf_iter_task_vma {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_task_vma_kern_data;\n\nstruct bpf_iter_task_vma_kern {\n\tstruct bpf_iter_task_vma_kern_data *data;\n};\n\nstruct maple_enode;\n\nstruct maple_tree;\n\nstruct maple_alloc;\n\nstruct ma_state {\n\tstruct maple_tree *tree;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tstruct maple_enode *node;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tstruct maple_alloc *alloc;\n\tenum maple_status status;\n\tunsigned char depth;\n\tunsigned char offset;\n\tunsigned char mas_flags;\n\tunsigned char end;\n\tenum store_type store_type;\n};\n\nstruct vma_iterator {\n\tstruct ma_state mas;\n};\n\nstruct mmap_unlock_irq_work;\n\nstruct bpf_iter_task_vma_kern_data {\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct mmap_unlock_irq_work *work;\n\tstruct vma_iterator vmi;\n};\n\nstruct bpf_jit_poke_descriptor {\n\tvoid *tailcall_target;\n\tvoid *tailcall_bypass;\n\tvoid *bypass_addr;\n\tvoid *aux;\n\tunion {\n\t\tstruct {\n\t\t\tstruct bpf_map *map;\n\t\t\tu32 key;\n\t\t} tail_call;\n\t};\n\tbool tailcall_target_stable;\n\tu8 adj_off;\n\tu16 reason;\n\tu32 insn_idx;\n};\n\nstruct bpf_key {\n\tstruct key *key;\n\tbool has_ref;\n};\n\nstruct bpf_kfunc_btf {\n\tstruct btf *btf;\n\tstruct module *module;\n\tu16 offset;\n};\n\nstruct bpf_kfunc_btf_tab {\n\tstruct bpf_kfunc_btf descs[256];\n\tu32 nr_descs;\n};\n\nstruct bpf_kfunc_call_arg_meta {\n\tstruct btf *btf;\n\tu32 func_id;\n\tu32 kfunc_flags;\n\tconst struct btf_type *func_proto;\n\tconst char *func_name;\n\tu32 ref_obj_id;\n\tu8 release_regno;\n\tbool r0_rdonly;\n\tu32 ret_btf_id;\n\tu64 r0_size;\n\tu32 subprogno;\n\tstruct {\n\t\tu64 value;\n\t\tbool found;\n\t} arg_constant;\n\tstruct btf *arg_btf;\n\tu32 arg_btf_id;\n\tbool arg_owning_ref;\n\tstruct {\n\t\tstruct btf_field *field;\n\t} arg_list_head;\n\tstruct {\n\t\tstruct btf_field *field;\n\t} arg_rbtree_root;\n\tstruct {\n\t\tenum bpf_dynptr_type type;\n\t\tu32 id;\n\t\tu32 ref_obj_id;\n\t} initialized_dynptr;\n\tstruct {\n\t\tu8 spi;\n\t\tu8 frameno;\n\t} iter;\n\tstruct {\n\t\tstruct bpf_map *ptr;\n\t\tint uid;\n\t} map;\n\tu64 mem_size;\n};\n\nstruct bpf_kfunc_desc {\n\tstruct btf_func_model func_model;\n\tu32 func_id;\n\ts32 imm;\n\tu16 offset;\n\tlong unsigned int addr;\n};\n\nstruct bpf_kfunc_desc_tab {\n\tstruct bpf_kfunc_desc descs[256];\n\tu32 nr_descs;\n};\n\nstruct bpf_line_info {\n\t__u32 insn_off;\n\t__u32 file_name_off;\n\t__u32 line_off;\n\t__u32 line_col;\n};\n\nstruct bpf_link_info {\n\t__u32 type;\n\t__u32 id;\n\t__u32 prog_id;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 tp_name;\n\t\t\t__u32 tp_name_len;\n\t\t} raw_tracepoint;\n\t\tstruct {\n\t\t\t__u32 attach_type;\n\t\t\t__u32 target_obj_id;\n\t\t\t__u32 target_btf_id;\n\t\t} tracing;\n\t\tstruct {\n\t\t\t__u64 cgroup_id;\n\t\t\t__u32 attach_type;\n\t\t} cgroup;\n\t\tstruct {\n\t\t\t__u64 target_name;\n\t\t\t__u32 target_name_len;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 map_id;\n\t\t\t\t} map;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 cgroup_id;\n\t\t\t\t\t__u32 order;\n\t\t\t\t} cgroup;\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 tid;\n\t\t\t\t\t__u32 pid;\n\t\t\t\t} task;\n\t\t\t};\n\t\t} iter;\n\t\tstruct {\n\t\t\t__u32 netns_ino;\n\t\t\t__u32 attach_type;\n\t\t} netns;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t} xdp;\n\t\tstruct {\n\t\t\t__u32 map_id;\n\t\t} struct_ops;\n\t\tstruct {\n\t\t\t__u32 pf;\n\t\t\t__u32 hooknum;\n\t\t\t__s32 priority;\n\t\t\t__u32 flags;\n\t\t} netfilter;\n\t\tstruct {\n\t\t\t__u64 addrs;\n\t\t\t__u32 count;\n\t\t\t__u32 flags;\n\t\t\t__u64 missed;\n\t\t\t__u64 cookies;\n\t\t} kprobe_multi;\n\t\tstruct {\n\t\t\t__u64 path;\n\t\t\t__u64 offsets;\n\t\t\t__u64 ref_ctr_offsets;\n\t\t\t__u64 cookies;\n\t\t\t__u32 path_size;\n\t\t\t__u32 count;\n\t\t\t__u32 flags;\n\t\t\t__u32 pid;\n\t\t} uprobe_multi;\n\t\tstruct {\n\t\t\t__u32 type;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 file_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u32 offset;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} uprobe;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 func_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u32 offset;\n\t\t\t\t\t__u64 addr;\n\t\t\t\t\t__u64 missed;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} kprobe;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 tp_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} tracepoint;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 config;\n\t\t\t\t\t__u32 type;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} event;\n\t\t\t};\n\t\t} perf_event;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t\t__u32 attach_type;\n\t\t} tcx;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t\t__u32 attach_type;\n\t\t} netkit;\n\t\tstruct {\n\t\t\t__u32 map_id;\n\t\t\t__u32 attach_type;\n\t\t} sockmap;\n\t};\n};\n\nstruct bpf_link_ops {\n\tvoid (*release)(struct bpf_link *);\n\tvoid (*dealloc)(struct bpf_link *);\n\tvoid (*dealloc_deferred)(struct bpf_link *);\n\tint (*detach)(struct bpf_link *);\n\tint (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);\n\tvoid (*show_fdinfo)(const struct bpf_link *, struct seq_file *);\n\tint (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);\n\tint (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *);\n\t__poll_t (*poll)(struct file *, struct poll_table_struct *);\n};\n\nstruct bpf_link_primer {\n\tstruct bpf_link *link;\n\tstruct file *file;\n\tint fd;\n\tu32 id;\n};\n\nstruct bpf_list_head {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_list_node {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_list_node_kern {\n\tstruct list_head list_head;\n\tvoid *owner;\n};\n\nstruct bpf_local_storage_data;\n\nstruct bpf_local_storage_map;\n\nstruct bpf_local_storage {\n\tstruct bpf_local_storage_data *cache[16];\n\tstruct bpf_local_storage_map *smap;\n\tstruct hlist_head list;\n\tvoid *owner;\n\tstruct callback_head rcu;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_local_storage_cache {\n\tspinlock_t idx_lock;\n\tu64 idx_usage_counts[16];\n};\n\nstruct bpf_local_storage_data {\n\tstruct bpf_local_storage_map *smap;\n\tu8 data[0];\n};\n\nstruct bpf_local_storage_elem {\n\tstruct hlist_node map_node;\n\tstruct hlist_node snode;\n\tstruct bpf_local_storage *local_storage;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct hlist_node free_node;\n\t};\n\tlong: 64;\n\tstruct bpf_local_storage_data sdata;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_local_storage_map_bucket;\n\nstruct bpf_local_storage_map {\n\tstruct bpf_map map;\n\tstruct bpf_local_storage_map_bucket *buckets;\n\tu32 bucket_log;\n\tu16 elem_size;\n\tu16 cache_idx;\n\tstruct bpf_mem_alloc selem_ma;\n\tstruct bpf_mem_alloc storage_ma;\n\tbool bpf_ma;\n};\n\nstruct bpf_local_storage_map_bucket {\n\tstruct hlist_head list;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_lpm_trie_key_hdr {\n\t__u32 prefixlen;\n};\n\nstruct bpf_lpm_trie_key_u8 {\n\tunion {\n\t\tstruct bpf_lpm_trie_key_hdr hdr;\n\t\t__u32 prefixlen;\n\t};\n\t__u8 data[0];\n};\n\nstruct bpf_lru_locallist {\n\tstruct list_head lists[2];\n\tu16 next_steal;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_lru_node {\n\tstruct list_head list;\n\tu16 cpu;\n\tu8 type;\n\tu8 ref;\n};\n\nstruct bpf_offloaded_map;\n\nstruct bpf_map_dev_ops {\n\tint (*map_get_next_key)(struct bpf_offloaded_map *, void *, void *);\n\tint (*map_lookup_elem)(struct bpf_offloaded_map *, void *, void *);\n\tint (*map_update_elem)(struct bpf_offloaded_map *, void *, void *, u64);\n\tint (*map_delete_elem)(struct bpf_offloaded_map *, void *);\n};\n\nstruct bpf_map_info {\n\t__u32 type;\n\t__u32 id;\n\t__u32 key_size;\n\t__u32 value_size;\n\t__u32 max_entries;\n\t__u32 map_flags;\n\tchar name[16];\n\t__u32 ifindex;\n\t__u32 btf_vmlinux_value_type_id;\n\t__u64 netns_dev;\n\t__u64 netns_ino;\n\t__u32 btf_id;\n\t__u32 btf_key_type_id;\n\t__u32 btf_value_type_id;\n\t__u32 btf_vmlinux_id;\n\t__u64 map_extra;\n};\n\ntypedef u64 (*bpf_callback_t)(u64, u64, u64, u64, u64);\n\nstruct bpf_prog_aux;\n\nstruct bpf_map_ops {\n\tint (*map_alloc_check)(union bpf_attr *);\n\tstruct bpf_map * (*map_alloc)(union bpf_attr *);\n\tvoid (*map_release)(struct bpf_map *, struct file *);\n\tvoid (*map_free)(struct bpf_map *);\n\tint (*map_get_next_key)(struct bpf_map *, void *, void *);\n\tvoid (*map_release_uref)(struct bpf_map *);\n\tvoid * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);\n\tint (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);\n\tint (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tvoid * (*map_lookup_elem)(struct bpf_map *, void *);\n\tlong int (*map_update_elem)(struct bpf_map *, void *, void *, u64);\n\tlong int (*map_delete_elem)(struct bpf_map *, void *);\n\tlong int (*map_push_elem)(struct bpf_map *, void *, u64);\n\tlong int (*map_pop_elem)(struct bpf_map *, void *);\n\tlong int (*map_peek_elem)(struct bpf_map *, void *);\n\tvoid * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32);\n\tvoid * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);\n\tvoid (*map_fd_put_ptr)(struct bpf_map *, void *, bool);\n\tint (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);\n\tu32 (*map_fd_sys_lookup_elem)(void *);\n\tvoid (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);\n\tint (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);\n\tint (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);\n\tvoid (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);\n\tvoid (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);\n\tint (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);\n\tint (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);\n\tint (*map_mmap)(struct bpf_map *, struct vm_area_struct *);\n\t__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);\n\tlong unsigned int (*map_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tint (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);\n\tvoid (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);\n\tstruct bpf_local_storage ** (*map_owner_storage_ptr)(void *);\n\tlong int (*map_redirect)(struct bpf_map *, u64, u64);\n\tbool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);\n\tint (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);\n\tlong int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64);\n\tu64 (*map_mem_usage)(const struct bpf_map *);\n\tint *map_btf_id;\n\tconst struct bpf_iter_seq_info *iter_seq_info;\n};\n\nstruct llist_head {\n\tstruct llist_node *first;\n};\n\nstruct rcuwait {\n\tstruct task_struct *task;\n};\n\nstruct irq_work {\n\tstruct __call_single_node node;\n\tvoid (*func)(struct irq_work *);\n\tstruct rcuwait irqwait;\n};\n\nstruct bpf_mem_cache {\n\tstruct llist_head free_llist;\n\tlocal_t active;\n\tstruct llist_head free_llist_extra;\n\tstruct irq_work refill_work;\n\tstruct obj_cgroup *objcg;\n\tint unit_size;\n\tint free_cnt;\n\tint low_watermark;\n\tint high_watermark;\n\tint batch;\n\tint percpu_size;\n\tbool draining;\n\tstruct bpf_mem_cache *tgt;\n\tstruct llist_head free_by_rcu;\n\tstruct llist_node *free_by_rcu_tail;\n\tstruct llist_head waiting_for_gp;\n\tstruct llist_node *waiting_for_gp_tail;\n\tstruct callback_head rcu;\n\tatomic_t call_rcu_in_progress;\n\tstruct llist_head free_llist_extra_rcu;\n\tstruct llist_head free_by_rcu_ttrace;\n\tstruct llist_head waiting_for_gp_ttrace;\n\tstruct callback_head rcu_ttrace;\n\tatomic_t call_rcu_ttrace_in_progress;\n};\n\nstruct bpf_mem_caches {\n\tstruct bpf_mem_cache cache[11];\n};\n\nstruct bpf_mount_opts {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tu64 delegate_cmds;\n\tu64 delegate_maps;\n\tu64 delegate_progs;\n\tu64 delegate_attachs;\n};\n\nstruct bpf_mprog_fp {\n\tstruct bpf_prog *prog;\n};\n\nstruct bpf_mprog_bundle;\n\nstruct bpf_mprog_entry {\n\tstruct bpf_mprog_fp fp_items[64];\n\tstruct bpf_mprog_bundle *parent;\n};\n\nstruct bpf_mprog_cp {\n\tstruct bpf_link *link;\n};\n\nstruct bpf_mprog_bundle {\n\tstruct bpf_mprog_entry a;\n\tstruct bpf_mprog_entry b;\n\tstruct bpf_mprog_cp cp_items[64];\n\tstruct bpf_prog *ref;\n\tatomic64_t revision;\n\tu32 count;\n};\n\nstruct bpf_nested_pt_regs {\n\tstruct pt_regs regs[3];\n};\n\nstruct bpf_nh_params {\n\tu32 nh_family;\n\tunion {\n\t\tu32 ipv4_nh;\n\t\tstruct in6_addr ipv6_nh;\n\t};\n};\n\nstruct bpf_redirect_info {\n\tu64 tgt_index;\n\tvoid *tgt_value;\n\tstruct bpf_map *map;\n\tu32 flags;\n\tu32 map_id;\n\tenum bpf_map_type map_type;\n\tstruct bpf_nh_params nh;\n\tu32 kern_flags;\n};\n\nstruct bpf_net_context {\n\tstruct bpf_redirect_info ri;\n\tstruct list_head cpu_map_flush_list;\n\tstruct list_head dev_map_flush_list;\n\tstruct list_head xskmap_map_flush_list;\n};\n\nstruct bpf_netns_link {\n\tstruct bpf_link link;\n\tenum bpf_attach_type type;\n\tenum netns_bpf_attach_type netns_type;\n\tstruct net *net;\n\tstruct list_head node;\n};\n\ntypedef unsigned int nf_hookfn(void *, struct sk_buff *, const struct nf_hook_state *);\n\nstruct nf_hook_ops {\n\tnf_hookfn *hook;\n\tstruct net_device *dev;\n\tvoid *priv;\n\tu8 pf;\n\tenum nf_hook_ops_type hook_ops_type: 8;\n\tunsigned int hooknum;\n\tint priority;\n};\n\nstruct nf_defrag_hook;\n\nstruct bpf_nf_link {\n\tstruct bpf_link link;\n\tstruct nf_hook_ops hook_ops;\n\tnetns_tracker ns_tracker;\n\tstruct net *net;\n\tu32 dead;\n\tconst struct nf_defrag_hook *defrag_hook;\n};\n\nstruct bpf_prog_offload_ops;\n\nstruct bpf_offload_dev {\n\tconst struct bpf_prog_offload_ops *ops;\n\tstruct list_head netdevs;\n\tvoid *priv;\n};\n\nstruct rhash_head {\n\tstruct rhash_head *next;\n};\n\nstruct bpf_offload_netdev {\n\tstruct rhash_head l;\n\tstruct net_device *netdev;\n\tstruct bpf_offload_dev *offdev;\n\tstruct list_head progs;\n\tstruct list_head maps;\n\tstruct list_head offdev_netdevs;\n};\n\nstruct bpf_offloaded_map {\n\tstruct bpf_map map;\n\tstruct net_device *netdev;\n\tconst struct bpf_map_dev_ops *dev_ops;\n\tvoid *dev_priv;\n\tstruct list_head offloads;\n};\n\nstruct bpf_perf_event_value {\n\t__u64 counter;\n\t__u64 enabled;\n\t__u64 running;\n};\n\nstruct bpf_perf_link {\n\tstruct bpf_link link;\n\tstruct file *perf_file;\n};\n\nstruct bpf_pidns_info {\n\t__u32 pid;\n\t__u32 tgid;\n};\n\nstruct bpf_plt {\n\tu32 insn_ldr;\n\tu32 insn_br;\n\tu64 target;\n};\n\nstruct bpf_preload_info {\n\tchar link_name[16];\n\tstruct bpf_link *link;\n};\n\nstruct bpf_preload_ops {\n\tint (*preload)(struct bpf_preload_info *);\n\tstruct module *owner;\n};\n\nstruct sock_filter {\n\t__u16 code;\n\t__u8 jt;\n\t__u8 jf;\n\t__u32 k;\n};\n\nstruct bpf_prog_stats;\n\nstruct sock_fprog_kern;\n\nstruct bpf_prog {\n\tu16 pages;\n\tu16 jited: 1;\n\tu16 jit_requested: 1;\n\tu16 gpl_compatible: 1;\n\tu16 cb_access: 1;\n\tu16 dst_needed: 1;\n\tu16 blinding_requested: 1;\n\tu16 blinded: 1;\n\tu16 is_func: 1;\n\tu16 kprobe_override: 1;\n\tu16 has_callchain_buf: 1;\n\tu16 enforce_expected_attach_type: 1;\n\tu16 call_get_stack: 1;\n\tu16 call_get_func_ip: 1;\n\tu16 tstamp_type_access: 1;\n\tu16 sleepable: 1;\n\tenum bpf_prog_type type;\n\tenum bpf_attach_type expected_attach_type;\n\tu32 len;\n\tu32 jited_len;\n\tu8 tag[8];\n\tstruct bpf_prog_stats *stats;\n\tint *active;\n\tunsigned int (*bpf_func)(const void *, const struct bpf_insn *);\n\tstruct bpf_prog_aux *aux;\n\tstruct sock_fprog_kern *orig_prog;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_insns;\n\t\t\tstruct sock_filter insns[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_insnsi;\n\t\t\tstruct bpf_insn insnsi[0];\n\t\t};\n\t};\n};\n\nstruct bpf_trampoline;\n\nstruct bpf_prog_ops;\n\nstruct btf_mod_pair;\n\nstruct user_struct;\n\nstruct bpf_token;\n\nstruct bpf_prog_offload;\n\nstruct exception_table_entry;\n\nstruct bpf_prog_aux {\n\tatomic64_t refcnt;\n\tu32 used_map_cnt;\n\tu32 used_btf_cnt;\n\tu32 max_ctx_offset;\n\tu32 max_pkt_offset;\n\tu32 max_tp_access;\n\tu32 stack_depth;\n\tu32 id;\n\tu32 func_cnt;\n\tu32 real_func_cnt;\n\tu32 func_idx;\n\tu32 attach_btf_id;\n\tu32 ctx_arg_info_size;\n\tu32 max_rdonly_access;\n\tu32 max_rdwr_access;\n\tstruct btf *attach_btf;\n\tconst struct bpf_ctx_arg_aux *ctx_arg_info;\n\tvoid *priv_stack_ptr;\n\tstruct mutex dst_mutex;\n\tstruct bpf_prog *dst_prog;\n\tstruct bpf_trampoline *dst_trampoline;\n\tenum bpf_prog_type saved_dst_prog_type;\n\tenum bpf_attach_type saved_dst_attach_type;\n\tbool verifier_zext;\n\tbool dev_bound;\n\tbool offload_requested;\n\tbool attach_btf_trace;\n\tbool attach_tracing_prog;\n\tbool func_proto_unreliable;\n\tbool tail_call_reachable;\n\tbool xdp_has_frags;\n\tbool exception_cb;\n\tbool exception_boundary;\n\tbool is_extended;\n\tbool jits_use_priv_stack;\n\tbool priv_stack_requested;\n\tbool changes_pkt_data;\n\tu64 prog_array_member_cnt;\n\tstruct mutex ext_mutex;\n\tstruct bpf_arena *arena;\n\tvoid (*recursion_detected)(struct bpf_prog *);\n\tconst struct btf_type *attach_func_proto;\n\tconst char *attach_func_name;\n\tstruct bpf_prog **func;\n\tvoid *jit_data;\n\tstruct bpf_jit_poke_descriptor *poke_tab;\n\tstruct bpf_kfunc_desc_tab *kfunc_tab;\n\tstruct bpf_kfunc_btf_tab *kfunc_btf_tab;\n\tu32 size_poke_tab;\n\tstruct bpf_ksym ksym;\n\tconst struct bpf_prog_ops *ops;\n\tstruct bpf_map **used_maps;\n\tstruct mutex used_maps_mutex;\n\tstruct btf_mod_pair *used_btfs;\n\tstruct bpf_prog *prog;\n\tstruct user_struct *user;\n\tu64 load_time;\n\tu32 verified_insns;\n\tint cgroup_atype;\n\tstruct bpf_map *cgroup_storage[2];\n\tchar name[16];\n\tu64 (*bpf_exception_cb)(u64, u64, u64, u64, u64);\n\tvoid *security;\n\tstruct bpf_token *token;\n\tstruct bpf_prog_offload *offload;\n\tstruct btf *btf;\n\tstruct bpf_func_info *func_info;\n\tstruct bpf_func_info_aux *func_info_aux;\n\tstruct bpf_line_info *linfo;\n\tvoid **jited_linfo;\n\tu32 func_info_cnt;\n\tu32 nr_linfo;\n\tu32 linfo_idx;\n\tstruct module *mod;\n\tu32 num_exentries;\n\tstruct exception_table_entry *extable;\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct bpf_prog_dummy {\n\tstruct bpf_prog prog;\n};\n\nstruct bpf_prog_info {\n\t__u32 type;\n\t__u32 id;\n\t__u8 tag[8];\n\t__u32 jited_prog_len;\n\t__u32 xlated_prog_len;\n\t__u64 jited_prog_insns;\n\t__u64 xlated_prog_insns;\n\t__u64 load_time;\n\t__u32 created_by_uid;\n\t__u32 nr_map_ids;\n\t__u64 map_ids;\n\tchar name[16];\n\t__u32 ifindex;\n\t__u32 gpl_compatible: 1;\n\t__u64 netns_dev;\n\t__u64 netns_ino;\n\t__u32 nr_jited_ksyms;\n\t__u32 nr_jited_func_lens;\n\t__u64 jited_ksyms;\n\t__u64 jited_func_lens;\n\t__u32 btf_id;\n\t__u32 func_info_rec_size;\n\t__u64 func_info;\n\t__u32 nr_func_info;\n\t__u32 nr_line_info;\n\t__u64 line_info;\n\t__u64 jited_line_info;\n\t__u32 nr_jited_line_info;\n\t__u32 line_info_rec_size;\n\t__u32 jited_line_info_rec_size;\n\t__u32 nr_prog_tags;\n\t__u64 prog_tags;\n\t__u64 run_time_ns;\n\t__u64 run_cnt;\n\t__u64 recursion_misses;\n\t__u32 verified_insns;\n\t__u32 attach_btf_obj_id;\n\t__u32 attach_btf_id;\n};\n\nstruct bpf_prog_kstats {\n\tu64 nsecs;\n\tu64 cnt;\n\tu64 misses;\n};\n\nstruct bpf_prog_list {\n\tstruct hlist_node node;\n\tstruct bpf_prog *prog;\n\tstruct bpf_cgroup_link *link;\n\tstruct bpf_cgroup_storage *storage[2];\n};\n\nstruct bpf_prog_offload {\n\tstruct bpf_prog *prog;\n\tstruct net_device *netdev;\n\tstruct bpf_offload_dev *offdev;\n\tvoid *dev_priv;\n\tstruct list_head offloads;\n\tbool dev_state;\n\tbool opt_failed;\n\tvoid *jited_image;\n\tu32 jited_len;\n};\n\nstruct bpf_prog_offload_ops {\n\tint (*insn_hook)(struct bpf_verifier_env *, int, int);\n\tint (*finalize)(struct bpf_verifier_env *);\n\tint (*replace_insn)(struct bpf_verifier_env *, u32, struct bpf_insn *);\n\tint (*remove_insns)(struct bpf_verifier_env *, u32, u32);\n\tint (*prepare)(struct bpf_prog *);\n\tint (*translate)(struct bpf_prog *);\n\tvoid (*destroy)(struct bpf_prog *);\n};\n\nstruct bpf_prog_ops {\n\tint (*test_run)(struct bpf_prog *, const union bpf_attr *, union bpf_attr *);\n};\n\nstruct bpf_prog_pack {\n\tstruct list_head list;\n\tvoid *ptr;\n\tlong unsigned int bitmap[0];\n};\n\nstruct bpf_prog_stats {\n\tu64_stats_t cnt;\n\tu64_stats_t nsecs;\n\tu64_stats_t misses;\n\tstruct u64_stats_sync syncp;\n\tlong: 64;\n};\n\nstruct bpf_queue_stack {\n\tstruct bpf_map map;\n\traw_spinlock_t lock;\n\tu32 head;\n\tu32 tail;\n\tu32 size;\n\tchar elements[0];\n};\n\nstruct tracepoint;\n\nstruct bpf_raw_event_map {\n\tstruct tracepoint *tp;\n\tvoid *bpf_func;\n\tu32 num_args;\n\tu32 writable_size;\n\tlong: 64;\n};\n\nstruct bpf_raw_tp_link {\n\tstruct bpf_link link;\n\tstruct bpf_raw_event_map *btp;\n\tu64 cookie;\n};\n\nstruct bpf_raw_tp_null_args {\n\tconst char *func;\n\tu64 mask;\n};\n\nstruct bpf_raw_tp_regs {\n\tstruct pt_regs regs[3];\n};\n\nstruct bpf_raw_tp_test_run_info {\n\tstruct bpf_prog *prog;\n\tvoid *ctx;\n\tu32 retval;\n};\n\nstruct bpf_rb_node {\n\t__u64 __opaque[4];\n};\n\nstruct bpf_rb_node_kern {\n\tstruct rb_node rb_node;\n\tvoid *owner;\n};\n\nstruct bpf_rb_root {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_redir_neigh {\n\t__u32 nh_family;\n\tunion {\n\t\t__be32 ipv4_nh;\n\t\t__u32 ipv6_nh[4];\n\t};\n};\n\nstruct bpf_refcount {\n\t__u32 __opaque[1];\n};\n\nstruct bpf_reference_state {\n\tenum ref_state_type type;\n\tint id;\n\tint insn_idx;\n\tvoid *ptr;\n};\n\nstruct bpf_reg_types {\n\tconst enum bpf_reg_type types[10];\n\tu32 *btf_id;\n};\n\nstruct bpf_ringbuf {\n\twait_queue_head_t waitq;\n\tstruct irq_work work;\n\tu64 mask;\n\tstruct page **pages;\n\tint nr_pages;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t spinlock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t busy;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int consumer_pos;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int producer_pos;\n\tlong unsigned int pending_pos;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tchar data[0];\n};\n\nstruct bpf_ringbuf_hdr {\n\tu32 len;\n\tu32 pg_off;\n};\n\nstruct bpf_ringbuf_map {\n\tstruct bpf_map map;\n\tstruct bpf_ringbuf *rb;\n};\n\nstruct bpf_sanitize_info {\n\tstruct bpf_insn_aux_data aux;\n\tbool mask_to_left;\n};\n\nstruct bpf_session_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tbool is_return;\n\tvoid *data;\n};\n\nstruct sk_psock_progs {\n\tstruct bpf_prog *msg_parser;\n\tstruct bpf_prog *stream_parser;\n\tstruct bpf_prog *stream_verdict;\n\tstruct bpf_prog *skb_verdict;\n\tstruct bpf_link *msg_parser_link;\n\tstruct bpf_link *stream_parser_link;\n\tstruct bpf_link *stream_verdict_link;\n\tstruct bpf_link *skb_verdict_link;\n};\n\nstruct bpf_shtab_bucket;\n\nstruct bpf_shtab {\n\tstruct bpf_map map;\n\tstruct bpf_shtab_bucket *buckets;\n\tu32 buckets_num;\n\tu32 elem_size;\n\tstruct sk_psock_progs progs;\n\tatomic_t count;\n};\n\nstruct bpf_shtab_bucket {\n\tstruct hlist_head head;\n\tspinlock_t lock;\n};\n\nstruct bpf_shtab_elem {\n\tstruct callback_head rcu;\n\tu32 hash;\n\tstruct sock *sk;\n\tstruct hlist_node node;\n\tu8 key[0];\n};\n\nstruct bpf_sk_storage_diag {\n\tu32 nr_maps;\n\tstruct bpf_map *maps[0];\n};\n\nstruct qdisc_skb_cb {\n\tstruct {\n\t\tunsigned int pkt_len;\n\t\tu16 slave_dev_queue_mapping;\n\t\tu16 tc_classid;\n\t};\n\tunsigned char data[20];\n};\n\nstruct bpf_skb_data_end {\n\tstruct qdisc_skb_cb qdisc_cb;\n\tvoid *data_meta;\n\tvoid *data_end;\n};\n\nstruct bpf_sock_tuple {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t\t__be16 sport;\n\t\t\t__be16 dport;\n\t\t} ipv4;\n\t\tstruct {\n\t\t\t__be32 saddr[4];\n\t\t\t__be32 daddr[4];\n\t\t\t__be16 sport;\n\t\t\t__be16 dport;\n\t\t} ipv6;\n\t};\n};\n\nstruct bpf_sockopt_buf {\n\tu8 data[32];\n};\n\nstruct bpf_stab {\n\tstruct bpf_map map;\n\tstruct sock **sks;\n\tstruct sk_psock_progs progs;\n\tspinlock_t lock;\n};\n\nstruct bpf_stack_build_id {\n\t__s32 status;\n\tunsigned char build_id[20];\n\tunion {\n\t\t__u64 offset;\n\t\t__u64 ip;\n\t};\n};\n\nstruct stack_map_bucket;\n\nstruct bpf_stack_map {\n\tstruct bpf_map map;\n\tvoid *elems;\n\tstruct pcpu_freelist freelist;\n\tu32 n_buckets;\n\tstruct stack_map_bucket *buckets[0];\n};\n\nstruct bpf_stack_state {\n\tstruct bpf_reg_state spilled_ptr;\n\tu8 slot_type[8];\n};\n\nstruct bpf_storage_buffer {\n\tstruct callback_head rcu;\n\tchar data[0];\n};\n\nstruct bpf_verifier_ops;\n\nstruct btf_member;\n\nstruct bpf_struct_ops {\n\tconst struct bpf_verifier_ops *verifier_ops;\n\tint (*init)(struct btf *);\n\tint (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *);\n\tint (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);\n\tint (*reg)(void *, struct bpf_link *);\n\tvoid (*unreg)(void *, struct bpf_link *);\n\tint (*update)(void *, void *, struct bpf_link *);\n\tint (*validate)(void *);\n\tvoid *cfi_stubs;\n\tstruct module *owner;\n\tconst char *name;\n\tstruct btf_func_model func_models[64];\n};\n\nstruct bpf_struct_ops_arg_info {\n\tstruct bpf_ctx_arg_aux *info;\n\tu32 cnt;\n};\n\nstruct bpf_struct_ops_common_value {\n\trefcount_t refcnt;\n\tenum bpf_struct_ops_state state;\n};\n\nstruct bpf_struct_ops_bpf_dummy_ops {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bpf_dummy_ops data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_struct_ops_desc {\n\tstruct bpf_struct_ops *st_ops;\n\tconst struct btf_type *type;\n\tconst struct btf_type *value_type;\n\tu32 type_id;\n\tu32 value_id;\n\tstruct bpf_struct_ops_arg_info *arg_info;\n};\n\nstruct bpf_struct_ops_link {\n\tstruct bpf_link link;\n\tstruct bpf_map *map;\n\twait_queue_head_t wait_hup;\n};\n\nstruct bpf_struct_ops_value {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tchar data[0];\n};\n\nstruct bpf_struct_ops_map {\n\tstruct bpf_map map;\n\tconst struct bpf_struct_ops_desc *st_ops_desc;\n\tstruct mutex lock;\n\tstruct bpf_link **links;\n\tstruct bpf_ksym **ksyms;\n\tu32 funcs_cnt;\n\tu32 image_pages_cnt;\n\tvoid *image_pages[8];\n\tstruct btf *btf;\n\tstruct bpf_struct_ops_value *uvalue;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bpf_struct_ops_value kvalue;\n};\n\nstruct rate_sample;\n\nunion tcp_cc_info;\n\nstruct tcp_congestion_ops {\n\tu32 (*ssthresh)(struct sock *);\n\tvoid (*cong_avoid)(struct sock *, u32, u32);\n\tvoid (*set_state)(struct sock *, u8);\n\tvoid (*cwnd_event)(struct sock *, enum tcp_ca_event);\n\tvoid (*in_ack_event)(struct sock *, u32);\n\tvoid (*pkts_acked)(struct sock *, const struct ack_sample *);\n\tu32 (*min_tso_segs)(struct sock *);\n\tvoid (*cong_control)(struct sock *, u32, int, const struct rate_sample *);\n\tu32 (*undo_cwnd)(struct sock *);\n\tu32 (*sndbuf_expand)(struct sock *);\n\tsize_t (*get_info)(struct sock *, u32, int *, union tcp_cc_info *);\n\tchar name[16];\n\tstruct module *owner;\n\tstruct list_head list;\n\tu32 key;\n\tu32 flags;\n\tvoid (*init)(struct sock *);\n\tvoid (*release)(struct sock *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_struct_ops_tcp_congestion_ops {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct tcp_congestion_ops data;\n};\n\nstruct bpf_subprog_arg_info {\n\tenum bpf_arg_type arg_type;\n\tunion {\n\t\tu32 mem_size;\n\t\tu32 btf_id;\n\t};\n};\n\nstruct bpf_subprog_info {\n\tu32 start;\n\tu32 linfo_idx;\n\tu16 stack_depth;\n\tu16 stack_extra;\n\ts16 fastcall_stack_off;\n\tbool has_tail_call: 1;\n\tbool tail_call_reachable: 1;\n\tbool has_ld_abs: 1;\n\tbool is_cb: 1;\n\tbool is_async_cb: 1;\n\tbool is_exception_cb: 1;\n\tbool args_cached: 1;\n\tbool keep_fastcall_stack: 1;\n\tbool changes_pkt_data: 1;\n\tenum priv_stack_mode priv_stack_mode;\n\tu8 arg_cnt;\n\tstruct bpf_subprog_arg_info args[5];\n};\n\nstruct seq_net_private {\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n};\n\nstruct tcp_iter_state {\n\tstruct seq_net_private p;\n\tenum tcp_seq_states state;\n\tstruct sock *syn_wait_sk;\n\tint bucket;\n\tint offset;\n\tint sbucket;\n\tint num;\n\tloff_t last_pos;\n};\n\nstruct bpf_tcp_iter_state {\n\tstruct tcp_iter_state state;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_tcp_req_attrs {\n\tu32 rcv_tsval;\n\tu32 rcv_tsecr;\n\tu16 mss;\n\tu8 rcv_wscale;\n\tu8 snd_wscale;\n\tu8 ecn_ok;\n\tu8 wscale_ok;\n\tu8 sack_ok;\n\tu8 tstamp_ok;\n\tu8 usec_ts_ok;\n\tu8 reserved[3];\n};\n\nstruct bpf_tcp_sock {\n\t__u32 snd_cwnd;\n\t__u32 srtt_us;\n\t__u32 rtt_min;\n\t__u32 snd_ssthresh;\n\t__u32 rcv_nxt;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 mss_cache;\n\t__u32 ecn_flags;\n\t__u32 rate_delivered;\n\t__u32 rate_interval_us;\n\t__u32 packets_out;\n\t__u32 retrans_out;\n\t__u32 total_retrans;\n\t__u32 segs_in;\n\t__u32 data_segs_in;\n\t__u32 segs_out;\n\t__u32 data_segs_out;\n\t__u32 lost_out;\n\t__u32 sacked_out;\n\t__u64 bytes_received;\n\t__u64 bytes_acked;\n\t__u32 dsack_dups;\n\t__u32 delivered;\n\t__u32 delivered_ce;\n\t__u32 icsk_retransmits;\n};\n\nstruct bpf_test_timer {\n\tenum {\n\t\tNO_PREEMPT = 0,\n\t\tNO_MIGRATE = 1,\n\t} mode;\n\tu32 i;\n\tu64 time_start;\n\tu64 time_spent;\n};\n\nstruct bpf_throw_ctx {\n\tstruct bpf_prog_aux *aux;\n\tu64 sp;\n\tu64 bp;\n\tint cnt;\n};\n\nstruct bpf_timer {\n\t__u64 __opaque[2];\n};\n\nstruct user_namespace;\n\nstruct bpf_token {\n\tstruct work_struct work;\n\tatomic64_t refcnt;\n\tstruct user_namespace *userns;\n\tu64 allowed_cmds;\n\tu64 allowed_maps;\n\tu64 allowed_progs;\n\tu64 allowed_attachs;\n\tvoid *security;\n};\n\nstruct bpf_trace_module {\n\tstruct module *module;\n\tstruct list_head list;\n};\n\nstruct bpf_trace_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tu64 bpf_cookie;\n\tbool is_uprobe;\n};\n\nunion perf_sample_weight {\n\t__u64 full;\n\tstruct {\n\t\t__u32 var1_dw;\n\t\t__u16 var2_w;\n\t\t__u16 var3_w;\n\t};\n};\n\nunion perf_mem_data_src {\n\t__u64 val;\n\tstruct {\n\t\t__u64 mem_op: 5;\n\t\t__u64 mem_lvl: 14;\n\t\t__u64 mem_snoop: 5;\n\t\t__u64 mem_lock: 2;\n\t\t__u64 mem_dtlb: 7;\n\t\t__u64 mem_lvl_num: 4;\n\t\t__u64 mem_remote: 1;\n\t\t__u64 mem_snoopx: 2;\n\t\t__u64 mem_blk: 3;\n\t\t__u64 mem_hops: 3;\n\t\t__u64 mem_rsvd: 18;\n\t};\n};\n\nstruct perf_regs {\n\t__u64 abi;\n\tstruct pt_regs *regs;\n};\n\nstruct perf_callchain_entry;\n\nstruct perf_raw_record;\n\nstruct perf_branch_stack;\n\nstruct perf_sample_data {\n\tu64 sample_flags;\n\tu64 period;\n\tu64 dyn_size;\n\tu64 type;\n\tstruct {\n\t\tu32 pid;\n\t\tu32 tid;\n\t} tid_entry;\n\tu64 time;\n\tu64 id;\n\tstruct {\n\t\tu32 cpu;\n\t\tu32 reserved;\n\t} cpu_entry;\n\tu64 ip;\n\tstruct perf_callchain_entry *callchain;\n\tstruct perf_raw_record *raw;\n\tstruct perf_branch_stack *br_stack;\n\tu64 *br_stack_cntr;\n\tunion perf_sample_weight weight;\n\tunion perf_mem_data_src data_src;\n\tu64 txn;\n\tstruct perf_regs regs_user;\n\tstruct perf_regs regs_intr;\n\tu64 stack_user_size;\n\tu64 stream_id;\n\tu64 cgroup;\n\tu64 addr;\n\tu64 phys_addr;\n\tu64 data_page_size;\n\tu64 code_page_size;\n\tu64 aux_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_trace_sample_data {\n\tstruct perf_sample_data sds[3];\n};\n\nstruct bpf_tramp_link {\n\tstruct bpf_link link;\n\tstruct hlist_node tramp_hlist;\n\tu64 cookie;\n};\n\nstruct bpf_tracing_link {\n\tstruct bpf_tramp_link link;\n\tenum bpf_attach_type attach_type;\n\tstruct bpf_trampoline *trampoline;\n\tstruct bpf_prog *tgt_prog;\n};\n\nstruct bpf_tramp_image {\n\tvoid *image;\n\tint size;\n\tstruct bpf_ksym ksym;\n\tstruct percpu_ref pcref;\n\tvoid *ip_after_call;\n\tvoid *ip_epilogue;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n};\n\nstruct bpf_tramp_links {\n\tstruct bpf_tramp_link *links[38];\n\tint nr_links;\n};\n\nstruct bpf_tramp_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tu64 bpf_cookie;\n\tstruct bpf_run_ctx *saved_run_ctx;\n};\n\nstruct ftrace_ops;\n\nstruct bpf_trampoline {\n\tstruct hlist_node hlist;\n\tstruct ftrace_ops *fops;\n\tstruct mutex mutex;\n\trefcount_t refcnt;\n\tu32 flags;\n\tu64 key;\n\tstruct {\n\t\tstruct btf_func_model model;\n\t\tvoid *addr;\n\t\tbool ftrace_managed;\n\t} func;\n\tstruct bpf_prog *extension_prog;\n\tstruct hlist_head progs_hlist[3];\n\tint progs_cnt[3];\n\tstruct bpf_tramp_image *cur_image;\n};\n\nstruct bpf_tunnel_key {\n\t__u32 tunnel_id;\n\tunion {\n\t\t__u32 remote_ipv4;\n\t\t__u32 remote_ipv6[4];\n\t};\n\t__u8 tunnel_tos;\n\t__u8 tunnel_ttl;\n\tunion {\n\t\t__u16 tunnel_ext;\n\t\t__be16 tunnel_flags;\n\t};\n\t__u32 tunnel_label;\n\tunion {\n\t\t__u32 local_ipv4;\n\t\t__u32 local_ipv6[4];\n\t};\n};\n\nstruct bpf_tuple {\n\tstruct bpf_prog *prog;\n\tstruct bpf_link *link;\n};\n\nstruct udp_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n};\n\nstruct bpf_udp_iter_state {\n\tstruct udp_iter_state state;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tint offset;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_unix_iter_state {\n\tstruct seq_net_private p;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_unwind_consume_entry_data {\n\tbool (*consume_entry)(void *, u64, u64, u64);\n\tvoid *cookie;\n};\n\nstruct uprobe_consumer {\n\tint (*handler)(struct uprobe_consumer *, struct pt_regs *, __u64 *);\n\tint (*ret_handler)(struct uprobe_consumer *, long unsigned int, struct pt_regs *, __u64 *);\n\tbool (*filter)(struct uprobe_consumer *, struct mm_struct *);\n\tstruct list_head cons_node;\n\t__u64 id;\n};\n\nstruct bpf_uprobe_multi_link;\n\nstruct uprobe;\n\nstruct bpf_uprobe {\n\tstruct bpf_uprobe_multi_link *link;\n\tloff_t offset;\n\tlong unsigned int ref_ctr_offset;\n\tu64 cookie;\n\tstruct uprobe *uprobe;\n\tstruct uprobe_consumer consumer;\n\tbool session;\n};\n\nstruct bpf_uprobe_multi_link {\n\tstruct path path;\n\tstruct bpf_link link;\n\tu32 cnt;\n\tu32 flags;\n\tstruct bpf_uprobe *uprobes;\n\tstruct task_struct *task;\n};\n\nstruct bpf_uprobe_multi_run_ctx {\n\tstruct bpf_session_run_ctx session_ctx;\n\tlong unsigned int entry_ip;\n\tstruct bpf_uprobe *uprobe;\n};\n\nstruct btf_mod_pair {\n\tstruct btf *btf;\n\tstruct module *module;\n};\n\nstruct bpf_verifier_log {\n\tu64 start_pos;\n\tu64 end_pos;\n\tchar *ubuf;\n\tu32 level;\n\tu32 len_total;\n\tu32 len_max;\n\tchar kbuf[1024];\n};\n\nstruct bpf_verifier_stack_elem;\n\nstruct bpf_verifier_state;\n\nstruct bpf_verifier_state_list;\n\nstruct bpf_verifier_env {\n\tu32 insn_idx;\n\tu32 prev_insn_idx;\n\tstruct bpf_prog *prog;\n\tconst struct bpf_verifier_ops *ops;\n\tstruct module *attach_btf_mod;\n\tstruct bpf_verifier_stack_elem *head;\n\tint stack_size;\n\tbool strict_alignment;\n\tbool test_state_freq;\n\tbool test_reg_invariants;\n\tstruct bpf_verifier_state *cur_state;\n\tstruct bpf_verifier_state_list **explored_states;\n\tstruct bpf_verifier_state_list *free_list;\n\tstruct bpf_map *used_maps[64];\n\tstruct btf_mod_pair used_btfs[64];\n\tu32 used_map_cnt;\n\tu32 used_btf_cnt;\n\tu32 id_gen;\n\tu32 hidden_subprog_cnt;\n\tint exception_callback_subprog;\n\tbool explore_alu_limits;\n\tbool allow_ptr_leaks;\n\tbool allow_uninit_stack;\n\tbool bpf_capable;\n\tbool bypass_spec_v1;\n\tbool bypass_spec_v4;\n\tbool seen_direct_write;\n\tbool seen_exception;\n\tstruct bpf_insn_aux_data *insn_aux_data;\n\tconst struct bpf_line_info *prev_linfo;\n\tstruct bpf_verifier_log log;\n\tstruct bpf_subprog_info subprog_info[258];\n\tunion {\n\t\tstruct bpf_idmap idmap_scratch;\n\t\tstruct bpf_idset idset_scratch;\n\t};\n\tstruct {\n\t\tint *insn_state;\n\t\tint *insn_stack;\n\t\tint cur_stack;\n\t} cfg;\n\tstruct backtrack_state bt;\n\tstruct bpf_insn_hist_entry *insn_hist;\n\tstruct bpf_insn_hist_entry *cur_hist_ent;\n\tu32 insn_hist_cap;\n\tu32 pass_cnt;\n\tu32 subprog_cnt;\n\tu32 prev_insn_processed;\n\tu32 insn_processed;\n\tu32 prev_jmps_processed;\n\tu32 jmps_processed;\n\tu64 verification_time;\n\tu32 max_states_per_insn;\n\tu32 total_states;\n\tu32 peak_states;\n\tu32 longest_mark_read_walk;\n\tbpfptr_t fd_array;\n\tu32 scratched_regs;\n\tu64 scratched_stack_slots;\n\tu64 prev_log_pos;\n\tu64 prev_insn_print_pos;\n\tstruct bpf_reg_state fake_reg[2];\n\tchar tmp_str_buf[320];\n\tstruct bpf_insn insn_buf[32];\n\tstruct bpf_insn epilogue_buf[32];\n};\n\nstruct bpf_verifier_ops {\n\tconst struct bpf_func_proto * (*get_func_proto)(enum bpf_func_id, const struct bpf_prog *);\n\tbool (*is_valid_access)(int, int, enum bpf_access_type, const struct bpf_prog *, struct bpf_insn_access_aux *);\n\tint (*gen_prologue)(struct bpf_insn *, bool, const struct bpf_prog *);\n\tint (*gen_epilogue)(struct bpf_insn *, const struct bpf_prog *, s16);\n\tint (*gen_ld_abs)(const struct bpf_insn *, struct bpf_insn *);\n\tu32 (*convert_ctx_access)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *);\n\tint (*btf_struct_access)(struct bpf_verifier_log *, const struct bpf_reg_state *, int, int);\n};\n\nstruct bpf_verifier_state {\n\tstruct bpf_func_state *frame[8];\n\tstruct bpf_verifier_state *parent;\n\tstruct bpf_reference_state *refs;\n\tu32 branches;\n\tu32 insn_idx;\n\tu32 curframe;\n\tu32 acquired_refs;\n\tu32 active_locks;\n\tu32 active_preempt_locks;\n\tu32 active_irq_id;\n\tbool active_rcu_lock;\n\tbool speculative;\n\tbool used_as_loop_entry;\n\tbool in_sleepable;\n\tu32 first_insn_idx;\n\tu32 last_insn_idx;\n\tstruct bpf_verifier_state *loop_entry;\n\tu32 insn_hist_start;\n\tu32 insn_hist_end;\n\tu32 dfs_depth;\n\tu32 callback_unroll_depth;\n\tu32 may_goto_depth;\n};\n\nstruct bpf_verifier_stack_elem {\n\tstruct bpf_verifier_state st;\n\tint insn_idx;\n\tint prev_insn_idx;\n\tstruct bpf_verifier_stack_elem *next;\n\tu32 log_pos;\n};\n\nstruct bpf_verifier_state_list {\n\tstruct bpf_verifier_state state;\n\tstruct bpf_verifier_state_list *next;\n\tint miss_cnt;\n\tint hit_cnt;\n};\n\nstruct bpf_work {\n\tstruct bpf_async_cb cb;\n\tstruct work_struct work;\n\tstruct work_struct delete_work;\n};\n\nstruct bpf_wq {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_xdp_link;\n\nstruct bpf_xdp_entity {\n\tstruct bpf_prog *prog;\n\tstruct bpf_xdp_link *link;\n};\n\nstruct bpf_xdp_link {\n\tstruct bpf_link link;\n\tstruct net_device *dev;\n\tint flags;\n};\n\nstruct bpf_xdp_sock {\n\t__u32 queue_id;\n};\n\nstruct bpffs_btf_enums {\n\tconst struct btf *btf;\n\tconst struct btf_type *cmd_t;\n\tconst struct btf_type *map_t;\n\tconst struct btf_type *prog_t;\n\tconst struct btf_type *attach_t;\n};\n\nstruct trace_entry {\n\tshort unsigned int type;\n\tunsigned char flags;\n\tunsigned char preempt_count;\n\tint pid;\n};\n\nstruct bprint_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tconst char *fmt;\n\tu32 buf[0];\n};\n\nstruct bputs_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tconst char *str;\n};\n\nstruct bq27xxx_device_info;\n\nstruct bq27xxx_access_methods {\n\tint (*read)(struct bq27xxx_device_info *, u8, bool);\n\tint (*write)(struct bq27xxx_device_info *, u8, int, bool);\n\tint (*read_bulk)(struct bq27xxx_device_info *, u8, u8 *, int);\n\tint (*write_bulk)(struct bq27xxx_device_info *, u8, u8 *, int);\n};\n\nstruct bq27xxx_reg_cache {\n\tint capacity;\n\tint flags;\n};\n\nunion power_supply_propval {\n\tint intval;\n\tconst char *strval;\n};\n\nstruct bq27xxx_dm_reg;\n\nstruct bq27xxx_device_info {\n\tstruct device *dev;\n\tenum bq27xxx_chip chip;\n\tu32 opts;\n\tconst char *name;\n\tstruct bq27xxx_dm_reg *dm_regs;\n\tu32 unseal_key;\n\tstruct bq27xxx_access_methods bus;\n\tstruct bq27xxx_reg_cache cache;\n\tint charge_design_full;\n\tint voltage_min_design;\n\tbool removed;\n\tlong unsigned int last_update;\n\tunion power_supply_propval last_status;\n\tstruct delayed_work work;\n\tstruct power_supply *bat;\n\tstruct list_head list;\n\tstruct mutex lock;\n\tu8 *regs;\n};\n\nstruct bq27xxx_dm_buf {\n\tu8 class;\n\tu8 block;\n\tu8 data[32];\n\tbool has_data;\n\tbool dirty;\n};\n\nstruct bq27xxx_dm_reg {\n\tu8 subclass_id;\n\tu8 offset;\n\tu8 bytes;\n\tu16 min;\n\tu16 max;\n};\n\nstruct br_ip {\n\tunion {\n\t\t__be32 ip4;\n\t\tstruct in6_addr ip6;\n\t} src;\n\tunion {\n\t\t__be32 ip4;\n\t\tstruct in6_addr ip6;\n\t\tunsigned char mac_addr[6];\n\t} dst;\n\t__be16 proto;\n\t__u16 vid;\n};\n\nstruct br_mcast_stats {\n\t__u64 igmp_v1queries[2];\n\t__u64 igmp_v2queries[2];\n\t__u64 igmp_v3queries[2];\n\t__u64 igmp_leaves[2];\n\t__u64 igmp_v1reports[2];\n\t__u64 igmp_v2reports[2];\n\t__u64 igmp_v3reports[2];\n\t__u64 igmp_parse_errors;\n\t__u64 mld_v1queries[2];\n\t__u64 mld_v2queries[2];\n\t__u64 mld_leaves[2];\n\t__u64 mld_v1reports[2];\n\t__u64 mld_v2reports[2];\n\t__u64 mld_parse_errors;\n\t__u64 mcast_bytes[2];\n\t__u64 mcast_packets[2];\n};\n\nstruct br_mdb_entry {\n\t__u32 ifindex;\n\t__u8 state;\n\t__u8 flags;\n\t__u16 vid;\n\tstruct {\n\t\tunion {\n\t\t\t__be32 ip4;\n\t\t\tstruct in6_addr ip6;\n\t\t\tunsigned char mac_addr[6];\n\t\t} u;\n\t\t__be16 proto;\n\t} addr;\n};\n\nstruct br_port_msg {\n\t__u8 family;\n\t__u32 ifindex;\n};\n\nstruct metadata_dst;\n\nstruct br_tunnel_info {\n\t__be64 tunnel_id;\n\tstruct metadata_dst *tunnel_dst;\n};\n\nstruct brcm_rescal_reset {\n\tvoid *base;\n\tstruct device *dev;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct brcm_sata_phy;\n\nstruct brcm_sata_port {\n\tint portnum;\n\tstruct phy *phy;\n\tstruct brcm_sata_phy *phy_priv;\n\tbool ssc_en;\n\tenum brcm_sata_phy_rxaeq_mode rxaeq_mode;\n\tu32 rxaeq_val;\n\tu32 tx_amplitude_val;\n};\n\nstruct brcm_sata_phy {\n\tstruct device *dev;\n\tvoid *phy_base;\n\tvoid *ctrl_base;\n\tenum brcm_sata_phy_version version;\n\tstruct brcm_sata_port phys[2];\n};\n\nstruct brcm_usb_init_params;\n\nstruct brcm_usb_init_ops {\n\tvoid (*init_ipp)(struct brcm_usb_init_params *);\n\tvoid (*init_common)(struct brcm_usb_init_params *);\n\tvoid (*init_eohci)(struct brcm_usb_init_params *);\n\tvoid (*init_xhci)(struct brcm_usb_init_params *);\n\tvoid (*uninit_common)(struct brcm_usb_init_params *);\n\tvoid (*uninit_eohci)(struct brcm_usb_init_params *);\n\tvoid (*uninit_xhci)(struct brcm_usb_init_params *);\n\tint (*get_dual_select)(struct brcm_usb_init_params *);\n\tvoid (*set_dual_select)(struct brcm_usb_init_params *);\n};\n\nstruct brcm_usb_init_params {\n\tvoid *regs[6];\n\tint ioc;\n\tint ipp;\n\tint supported_port_modes;\n\tint port_mode;\n\tu32 family_id;\n\tu32 product_id;\n\tint selected_family;\n\tconst char *family_name;\n\tconst u32 *usb_reg_bits_map;\n\tconst struct brcm_usb_init_ops *ops;\n\tstruct regmap *syscon_piarbctl;\n\tbool wake_enabled;\n};\n\nstruct brcm_usb_phy {\n\tstruct phy *phy;\n\tunsigned int id;\n\tbool inited;\n};\n\nstruct brcm_usb_phy_data {\n\tstruct brcm_usb_init_params ini;\n\tbool has_eohci;\n\tbool has_xhci;\n\tstruct clk *usb_20_clk;\n\tstruct clk *usb_30_clk;\n\tstruct clk *suspend_clk;\n\tstruct mutex mutex;\n\tint init_count;\n\tint wake_irq;\n\tstruct brcm_usb_phy phys[2];\n\tstruct notifier_block pm_notifier;\n\tbool pm_active;\n};\n\nstruct dpfe_api;\n\nstruct brcmstb_dpfe_priv {\n\tvoid *regs;\n\tvoid *dmem;\n\tvoid *imem;\n\tstruct device *dev;\n\tconst struct dpfe_api *dpfe_api;\n\tstruct mutex lock;\n};\n\nstruct brcmstb_gisb_arb_device {\n\tvoid *base;\n\tconst int *gisb_offsets;\n\tbool big_endian;\n\tstruct mutex lock;\n\tstruct list_head next;\n\tu32 valid_mask;\n\tconst char *master_names[32];\n\tu32 saved_timeout;\n};\n\nstruct brcmstb_gpio_priv;\n\nstruct brcmstb_gpio_bank {\n\tstruct list_head node;\n\tint id;\n\tstruct gpio_chip gc;\n\tstruct brcmstb_gpio_priv *parent_priv;\n\tu32 width;\n\tu32 wake_active;\n\tu32 saved_regs[7];\n};\n\nstruct brcmstb_gpio_priv {\n\tstruct list_head bank_list;\n\tvoid *reg_base;\n\tstruct platform_device *pdev;\n\tstruct irq_domain *irq_domain;\n\tstruct irq_chip irq_chip;\n\tint parent_irq;\n\tint num_gpios;\n\tint parent_wake_irq;\n};\n\nstruct bsc_regs;\n\nstruct brcmstb_i2c_dev {\n\tstruct device *device;\n\tvoid *base;\n\tint irq;\n\tstruct bsc_regs *bsc_regmap;\n\tstruct i2c_adapter adapter;\n\tstruct completion done;\n\tu32 clk_freq_hz;\n\tint data_regsz;\n\tbool atomic;\n};\n\nstruct brcmstb_intc_init_params {\n\tirq_flow_handler_t handler;\n\tint cpu_status;\n\tint cpu_clear;\n\tint cpu_mask_status;\n\tint cpu_mask_set;\n\tint cpu_mask_clear;\n};\n\nstruct irq_chip_generic;\n\nstruct brcmstb_l2_intc_data {\n\tstruct irq_domain *domain;\n\tstruct irq_chip_generic *gc;\n\tint status_offset;\n\tint mask_offset;\n\tbool can_wake;\n\tu32 saved_mask;\n};\n\nstruct sdhci_host;\n\nstruct mmc_host;\n\nstruct mmc_ios;\n\nstruct sdhci_ops;\n\nstruct brcmstb_match_priv {\n\tvoid (*cfginit)(struct sdhci_host *);\n\tvoid (*hs400es)(struct mmc_host *, struct mmc_ios *);\n\tstruct sdhci_ops *ops;\n\tconst unsigned int flags;\n};\n\nstruct brcmstb_memc {\n\tstruct device *dev;\n\tvoid *ddr_ctrl;\n\tunsigned int timeout_cycles;\n\tu32 frequency;\n\tu32 srpd_offset;\n};\n\nstruct brcmstb_memc_data {\n\tu32 srpd_offset;\n};\n\nstruct brcmstb_reset {\n\tvoid *base;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct in_pin;\n\nstruct out_pin;\n\nstruct brcmstb_usb_pinmap_data {\n\tvoid *regs;\n\tint in_count;\n\tstruct in_pin *in_pins;\n\tint out_count;\n\tstruct out_pin *out_pins;\n};\n\nstruct brcmstb_waketmr {\n\tstruct rtc_device *rtc;\n\tstruct device *dev;\n\tvoid *base;\n\tunsigned int wake_irq;\n\tunsigned int alarm_irq;\n\tstruct notifier_block reboot_notifier;\n\tstruct clk *clk;\n\tu32 rate;\n\tlong unsigned int rtc_alarm;\n\tbool alarm_en;\n\tbool alarm_expired;\n};\n\nstruct uart_8250_port;\n\nstruct uart_8250_dma {\n\tint (*tx_dma)(struct uart_8250_port *);\n\tint (*rx_dma)(struct uart_8250_port *);\n\tvoid (*prepare_tx_dma)(struct uart_8250_port *);\n\tvoid (*prepare_rx_dma)(struct uart_8250_port *);\n\tdma_filter_fn fn;\n\tvoid *rx_param;\n\tvoid *tx_param;\n\tstruct dma_slave_config rxconf;\n\tstruct dma_slave_config txconf;\n\tstruct dma_chan *rxchan;\n\tstruct dma_chan *txchan;\n\tphys_addr_t rx_dma_addr;\n\tphys_addr_t tx_dma_addr;\n\tdma_addr_t rx_addr;\n\tdma_addr_t tx_addr;\n\tdma_cookie_t rx_cookie;\n\tdma_cookie_t tx_cookie;\n\tvoid *rx_buf;\n\tsize_t rx_size;\n\tsize_t tx_size;\n\tunsigned char tx_running;\n\tunsigned char tx_err;\n\tunsigned char rx_running;\n};\n\nstruct uart_port;\n\nstruct brcmuart_priv {\n\tint line;\n\tstruct clk *baud_mux_clk;\n\tlong unsigned int default_mux_rate;\n\tu32 real_rates[4];\n\tconst u32 *rate_table;\n\tktime_t char_wait;\n\tstruct uart_port *up;\n\tstruct hrtimer hrt;\n\tbool shutdown;\n\tbool dma_enabled;\n\tstruct uart_8250_dma dma;\n\tvoid *regs[5];\n\tdma_addr_t rx_addr;\n\tvoid *rx_bufs;\n\tsize_t rx_size;\n\tint rx_next_buf;\n\tdma_addr_t tx_addr;\n\tvoid *tx_buf;\n\tsize_t tx_size;\n\tbool tx_running;\n\tbool rx_running;\n\tstruct dentry *debugfs_dir;\n\tu64 dma_rx_partial_buf;\n\tu64 dma_rx_full_buf;\n\tu32 rx_bad_timeout_late_char;\n\tu32 rx_bad_timeout_no_char;\n\tu32 rx_missing_close_timeout;\n\tu32 rx_err;\n\tu32 rx_timeout;\n\tu32 rx_abort;\n\tu32 saved_mctrl;\n};\n\nstruct break_hook {\n\tstruct list_head node;\n\tint (*fn)(struct pt_regs *, long unsigned int);\n\tu16 imm;\n\tu16 mask;\n};\n\nstruct bridge_id {\n\tunsigned char prio[2];\n\tunsigned char addr[6];\n};\n\ntypedef struct bridge_id bridge_id;\n\nstruct bridge_mcast_other_query {\n\tstruct timer_list timer;\n\tstruct timer_list delay_timer;\n};\n\nstruct bridge_mcast_own_query {\n\tstruct timer_list timer;\n\tu32 startup_sent;\n};\n\nstruct bridge_mcast_querier {\n\tstruct br_ip addr;\n\tint port_ifidx;\n\tseqcount_spinlock_t seq;\n};\n\nstruct bridge_mcast_stats {\n\tstruct br_mcast_stats mstats;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct bridge_stp_xstats {\n\t__u64 transition_blk;\n\t__u64 transition_fwd;\n\t__u64 rx_bpdu;\n\t__u64 tx_bpdu;\n\t__u64 rx_tcn;\n\t__u64 tx_tcn;\n};\n\nstruct broadcast_sk {\n\tstruct sock *sk;\n\tstruct work_struct work;\n};\n\nstruct broken_edid {\n\tu8 manufacturer[4];\n\tu32 model;\n\tu32 fix;\n};\n\nstruct bsc_clk_param {\n\tu32 hz;\n\tu32 scl_mask;\n\tu32 div_mask;\n};\n\nstruct bsc_regs {\n\tu32 chip_address;\n\tu32 data_in[8];\n\tu32 cnt_reg;\n\tu32 ctl_reg;\n\tu32 iic_enable;\n\tu32 data_out[8];\n\tu32 ctlhi_reg;\n\tu32 scl_param;\n};\n\nstruct fs_pin {\n\twait_queue_head_t wait;\n\tint done;\n\tstruct hlist_node s_list;\n\tstruct hlist_node m_list;\n\tvoid (*kill)(struct fs_pin *);\n};\n\nstruct bsd_acct_struct {\n\tstruct fs_pin pin;\n\tatomic_long_t count;\n\tstruct callback_head rcu;\n\tstruct mutex lock;\n\tbool active;\n\tbool check_space;\n\tlong unsigned int needcheck;\n\tstruct file *file;\n\tstruct pid_namespace *ns;\n\tstruct work_struct work;\n\tstruct completion done;\n\tacct_t ac;\n};\n\nstruct bsg_buffer {\n\tunsigned int payload_len;\n\tint sg_cnt;\n\tstruct scatterlist *sg_list;\n};\n\nstruct cdev {\n\tstruct kobject kobj;\n\tstruct module *owner;\n\tconst struct file_operations *ops;\n\tstruct list_head list;\n\tdev_t dev;\n\tunsigned int count;\n};\n\nstruct sg_io_v4;\n\ntypedef int bsg_sg_io_fn(struct request_queue *, struct sg_io_v4 *, bool, unsigned int);\n\nstruct bsg_device {\n\tstruct request_queue *queue;\n\tstruct device device;\n\tstruct cdev cdev;\n\tint max_queue;\n\tunsigned int timeout;\n\tunsigned int reserved_size;\n\tbsg_sg_io_fn *sg_io_fn;\n};\n\nstruct bsg_job {\n\tstruct device *dev;\n\tstruct kref kref;\n\tunsigned int timeout;\n\tvoid *request;\n\tvoid *reply;\n\tunsigned int request_len;\n\tunsigned int reply_len;\n\tstruct bsg_buffer request_payload;\n\tstruct bsg_buffer reply_payload;\n\tint result;\n\tunsigned int reply_payload_rcv_len;\n\tstruct request *bidi_rq;\n\tstruct bio *bidi_bio;\n\tvoid *dd_data;\n};\n\ntypedef int bsg_job_fn(struct bsg_job *);\n\ntypedef enum blk_eh_timer_return bsg_timeout_fn(struct request *);\n\nstruct bsg_set {\n\tstruct blk_mq_tag_set tag_set;\n\tstruct bsg_device *bd;\n\tbsg_job_fn *job_fn;\n\tbsg_timeout_fn *timeout_fn;\n};\n\ntypedef bool busy_tag_iter_fn(struct request *, void *);\n\nstruct bt_iter_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct request_queue *q;\n\tbusy_tag_iter_fn *fn;\n\tvoid *data;\n\tbool reserved;\n};\n\nstruct bt_tags_iter_data {\n\tstruct blk_mq_tags *tags;\n\tbusy_tag_iter_fn *fn;\n\tvoid *data;\n\tunsigned int flags;\n};\n\nstruct btf_header {\n\t__u16 magic;\n\t__u8 version;\n\t__u8 flags;\n\t__u32 hdr_len;\n\t__u32 type_off;\n\t__u32 type_len;\n\t__u32 str_off;\n\t__u32 str_len;\n};\n\nstruct btf_kfunc_set_tab;\n\nstruct btf_id_dtor_kfunc_tab;\n\nstruct btf_struct_metas;\n\nstruct btf_struct_ops_tab;\n\nstruct btf {\n\tvoid *data;\n\tstruct btf_type **types;\n\tu32 *resolved_ids;\n\tu32 *resolved_sizes;\n\tconst char *strings;\n\tvoid *nohdr_data;\n\tstruct btf_header hdr;\n\tu32 nr_types;\n\tu32 types_size;\n\tu32 data_size;\n\trefcount_t refcnt;\n\tu32 id;\n\tstruct callback_head rcu;\n\tstruct btf_kfunc_set_tab *kfunc_set_tab;\n\tstruct btf_id_dtor_kfunc_tab *dtor_kfunc_tab;\n\tstruct btf_struct_metas *struct_meta_tab;\n\tstruct btf_struct_ops_tab *struct_ops_tab;\n\tstruct btf *base_btf;\n\tu32 start_id;\n\tu32 start_str_off;\n\tchar name[56];\n\tbool kernel_btf;\n\t__u32 *base_id_map;\n};\n\nstruct btf_array {\n\t__u32 type;\n\t__u32 index_type;\n\t__u32 nelems;\n};\n\nstruct btf_decl_tag {\n\t__s32 component_idx;\n};\n\nstruct btf_enum {\n\t__u32 name_off;\n\t__s32 val;\n};\n\nstruct btf_enum64 {\n\t__u32 name_off;\n\t__u32 val_lo32;\n\t__u32 val_hi32;\n};\n\ntypedef void (*btf_dtor_kfunc_t)(void *);\n\nstruct btf_field_kptr {\n\tstruct btf *btf;\n\tstruct module *module;\n\tbtf_dtor_kfunc_t dtor;\n\tu32 btf_id;\n};\n\nstruct btf_field_graph_root {\n\tstruct btf *btf;\n\tu32 value_btf_id;\n\tu32 node_offset;\n\tstruct btf_record *value_rec;\n};\n\nstruct btf_field {\n\tu32 offset;\n\tu32 size;\n\tenum btf_field_type type;\n\tunion {\n\t\tstruct btf_field_kptr kptr;\n\t\tstruct btf_field_graph_root graph_root;\n\t};\n};\n\nstruct btf_field_desc {\n\tint t_off_cnt;\n\tint t_offs[2];\n\tint m_sz;\n\tint m_off_cnt;\n\tint m_offs[1];\n};\n\nstruct btf_field_info {\n\tenum btf_field_type type;\n\tu32 off;\n\tunion {\n\t\tstruct {\n\t\t\tu32 type_id;\n\t\t} kptr;\n\t\tstruct {\n\t\t\tconst char *node_name;\n\t\t\tu32 value_btf_id;\n\t\t} graph_root;\n\t};\n};\n\nstruct btf_field_iter {\n\tstruct btf_field_desc desc;\n\tvoid *p;\n\tint m_idx;\n\tint off_idx;\n\tint vlen;\n};\n\nstruct btf_id_dtor_kfunc {\n\tu32 btf_id;\n\tu32 kfunc_btf_id;\n};\n\nstruct btf_id_dtor_kfunc_tab {\n\tu32 cnt;\n\tstruct btf_id_dtor_kfunc dtors[0];\n};\n\nstruct btf_id_set {\n\tu32 cnt;\n\tu32 ids[0];\n};\n\nstruct btf_id_set8 {\n\tu32 cnt;\n\tu32 flags;\n\tstruct {\n\t\tu32 id;\n\t\tu32 flags;\n\t} pairs[0];\n};\n\ntypedef int (*btf_kfunc_filter_t)(const struct bpf_prog *, u32);\n\nstruct btf_kfunc_hook_filter {\n\tbtf_kfunc_filter_t filters[16];\n\tu32 nr_filters;\n};\n\nstruct btf_kfunc_id_set {\n\tstruct module *owner;\n\tstruct btf_id_set8 *set;\n\tbtf_kfunc_filter_t filter;\n};\n\nstruct btf_kfunc_set_tab {\n\tstruct btf_id_set8 *sets[14];\n\tstruct btf_kfunc_hook_filter hook_filters[14];\n};\n\nstruct btf_verifier_env;\n\nstruct resolve_vertex;\n\nstruct btf_show;\n\nstruct btf_kind_operations {\n\ts32 (*check_meta)(struct btf_verifier_env *, const struct btf_type *, u32);\n\tint (*resolve)(struct btf_verifier_env *, const struct resolve_vertex *);\n\tint (*check_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *);\n\tint (*check_kflag_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *);\n\tvoid (*log_details)(struct btf_verifier_env *, const struct btf_type *);\n\tvoid (*show)(const struct btf *, const struct btf_type *, u32, void *, u8, struct btf_show *);\n};\n\nstruct btf_member {\n\t__u32 name_off;\n\t__u32 type;\n\t__u32 offset;\n};\n\nstruct btf_module {\n\tstruct list_head list;\n\tstruct module *module;\n\tstruct btf *btf;\n\tstruct bin_attribute *sysfs_attr;\n\tint flags;\n};\n\nstruct btf_name_info {\n\tconst char *name;\n\tbool needs_size: 1;\n\tunsigned int size: 31;\n\t__u32 id;\n};\n\nstruct btf_param {\n\t__u32 name_off;\n\t__u32 type;\n};\n\nstruct btf_ptr {\n\tvoid *ptr;\n\t__u32 type_id;\n\t__u32 flags;\n};\n\nstruct btf_record {\n\tu32 cnt;\n\tu32 field_mask;\n\tint spin_lock_off;\n\tint timer_off;\n\tint wq_off;\n\tint refcount_off;\n\tstruct btf_field fields[0];\n};\n\nstruct btf_relocate {\n\tstruct btf *btf;\n\tconst struct btf *base_btf;\n\tconst struct btf *dist_base_btf;\n\tunsigned int nr_base_types;\n\tunsigned int nr_split_types;\n\tunsigned int nr_dist_base_types;\n\tint dist_str_len;\n\tint base_str_len;\n\t__u32 *id_map;\n\t__u32 *str_map;\n};\n\nstruct btf_sec_info {\n\tu32 off;\n\tu32 len;\n};\n\nstruct btf_show {\n\tu64 flags;\n\tvoid *target;\n\tvoid (*showfn)(struct btf_show *, const char *, va_list);\n\tconst struct btf *btf;\n\tstruct {\n\t\tu8 depth;\n\t\tu8 depth_to_show;\n\t\tu8 depth_check;\n\t\tu8 array_member: 1;\n\t\tu8 array_terminated: 1;\n\t\tu16 array_encoding;\n\t\tu32 type_id;\n\t\tint status;\n\t\tconst struct btf_type *type;\n\t\tconst struct btf_member *member;\n\t\tchar name[80];\n\t} state;\n\tstruct {\n\t\tu32 size;\n\t\tvoid *head;\n\t\tvoid *data;\n\t\tu8 safe[32];\n\t} obj;\n};\n\nstruct btf_show_snprintf {\n\tstruct btf_show show;\n\tint len_left;\n\tint len;\n};\n\nstruct btf_struct_meta {\n\tu32 btf_id;\n\tstruct btf_record *record;\n};\n\nstruct btf_struct_metas {\n\tu32 cnt;\n\tstruct btf_struct_meta types[0];\n};\n\nstruct btf_struct_ops_tab {\n\tu32 cnt;\n\tu32 capacity;\n\tstruct bpf_struct_ops_desc ops[0];\n};\n\nstruct btf_type {\n\t__u32 name_off;\n\t__u32 info;\n\tunion {\n\t\t__u32 size;\n\t\t__u32 type;\n\t};\n};\n\nstruct btf_var {\n\t__u32 linkage;\n};\n\nstruct btf_var_secinfo {\n\t__u32 type;\n\t__u32 offset;\n\t__u32 size;\n};\n\nstruct resolve_vertex {\n\tconst struct btf_type *t;\n\tu32 type_id;\n\tu16 next_member;\n};\n\nstruct btf_verifier_env {\n\tstruct btf *btf;\n\tu8 *visit_states;\n\tstruct resolve_vertex stack[32];\n\tstruct bpf_verifier_log log;\n\tu32 log_type_id;\n\tu32 top_stack;\n\tenum verifier_phase phase;\n\tenum resolve_mode resolve_mode;\n};\n\nstruct hlist_nulls_head {\n\tstruct hlist_nulls_node *first;\n};\n\nstruct bucket {\n\tstruct hlist_nulls_head head;\n\traw_spinlock_t raw_lock;\n};\n\nstruct lockdep_map {};\n\nstruct rhash_lock_head;\n\nstruct bucket_table {\n\tunsigned int size;\n\tunsigned int nest;\n\tu32 hash_rnd;\n\tstruct list_head walkers;\n\tstruct callback_head rcu;\n\tstruct bucket_table *future_tbl;\n\tstruct lockdep_map dep_map;\n\tlong: 64;\n\tstruct rhash_lock_head *buckets[0];\n};\n\nstruct buf_sel_arg {\n\tstruct iovec *iovs;\n\tsize_t out_len;\n\tsize_t max_len;\n\tshort unsigned int nr_iovs;\n\tshort unsigned int mode;\n};\n\nstruct bufdesc {\n\t__le16 cbd_datlen;\n\t__le16 cbd_sc;\n\t__le32 cbd_bufaddr;\n};\n\nstruct bufdesc_ex {\n\tstruct bufdesc desc;\n\t__le32 cbd_esc;\n\t__le32 cbd_prot;\n\t__le32 cbd_bdu;\n\t__le32 ts;\n\t__le16 res0[4];\n};\n\nstruct bufdesc_prop {\n\tint qid;\n\tstruct bufdesc *base;\n\tstruct bufdesc *last;\n\tstruct bufdesc *cur;\n\tvoid *reg_desc_active;\n\tdma_addr_t dma;\n\tshort unsigned int ring_size;\n\tunsigned char dsize;\n\tunsigned char dsize_log2;\n};\n\nstruct buffer_data_page {\n\tu64 time_stamp;\n\tlocal_t commit;\n\tunsigned char data[0];\n};\n\nstruct buffer_data_read_page {\n\tunsigned int order;\n\tstruct buffer_data_page *data;\n};\n\ntypedef void bh_end_io_t(struct buffer_head *, int);\n\nstruct buffer_head {\n\tlong unsigned int b_state;\n\tstruct buffer_head *b_this_page;\n\tunion {\n\t\tstruct page *b_page;\n\t\tstruct folio *b_folio;\n\t};\n\tsector_t b_blocknr;\n\tsize_t b_size;\n\tchar *b_data;\n\tstruct block_device *b_bdev;\n\tbh_end_io_t *b_end_io;\n\tvoid *b_private;\n\tstruct list_head b_assoc_buffers;\n\tstruct address_space *b_assoc_map;\n\tatomic_t b_count;\n\tspinlock_t b_uptodate_lock;\n};\n\nstruct buffer_page {\n\tstruct list_head list;\n\tlocal_t write;\n\tunsigned int read;\n\tlocal_t entries;\n\tlong unsigned int real_end;\n\tunsigned int order;\n\tu32 id: 30;\n\tu32 range: 1;\n\tstruct buffer_data_page *page;\n};\n\nstruct buffer_ref {\n\tstruct trace_buffer *buffer;\n\tvoid *page;\n\tint cpu;\n\trefcount_t refcount;\n};\n\nstruct bug_entry {\n\tint bug_addr_disp;\n\tint file_disp;\n\tshort unsigned int line;\n\tshort unsigned int flags;\n};\n\nstruct builtin_fw {\n\tchar *name;\n\tvoid *data;\n\tlong unsigned int size;\n};\n\nstruct bulk_cb_wrap {\n\t__le32 Signature;\n\t__u32 Tag;\n\t__le32 DataTransferLength;\n\t__u8 Flags;\n\t__u8 Lun;\n\t__u8 Length;\n\t__u8 CDB[16];\n};\n\nstruct bulk_cs_wrap {\n\t__le32 Signature;\n\t__u32 Tag;\n\t__le32 Residue;\n\t__u8 Status;\n};\n\nstruct group_data {\n\tint limit[21];\n\tint base[20];\n\tint permute[258];\n\tint minLen;\n\tint maxLen;\n};\n\nstruct bunzip_data {\n\tint writeCopies;\n\tint writePos;\n\tint writeRunCountdown;\n\tint writeCount;\n\tint writeCurrent;\n\tlong int (*fill)(void *, long unsigned int);\n\tlong int inbufCount;\n\tlong int inbufPos;\n\tunsigned char *inbuf;\n\tunsigned int inbufBitCount;\n\tunsigned int inbufBits;\n\tunsigned int crc32Table[256];\n\tunsigned int headerCRC;\n\tunsigned int totalCRC;\n\tunsigned int writeCRC;\n\tunsigned int *dbuf;\n\tunsigned int dbufSize;\n\tunsigned char selectors[32768];\n\tstruct group_data groups[6];\n\tint io_error;\n\tint byteCount[256];\n\tunsigned char symToByte[256];\n\tunsigned char mtfSymbol[256];\n};\n\nstruct bus_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct bus_type *, char *);\n\tssize_t (*store)(const struct bus_type *, const char *, size_t);\n};\n\nstruct bus_dma_region {\n\tphys_addr_t cpu_start;\n\tdma_addr_t dma_start;\n\tu64 size;\n};\n\nstruct bus_type {\n\tconst char *name;\n\tconst char *dev_name;\n\tconst struct attribute_group **bus_groups;\n\tconst struct attribute_group **dev_groups;\n\tconst struct attribute_group **drv_groups;\n\tint (*match)(struct device *, const struct device_driver *);\n\tint (*uevent)(const struct device *, struct kobj_uevent_env *);\n\tint (*probe)(struct device *);\n\tvoid (*sync_state)(struct device *);\n\tvoid (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tconst struct cpumask * (*irq_get_affinity)(struct device *, unsigned int);\n\tint (*online)(struct device *);\n\tint (*offline)(struct device *);\n\tint (*suspend)(struct device *, pm_message_t);\n\tint (*resume)(struct device *);\n\tint (*num_vf)(struct device *);\n\tint (*dma_configure)(struct device *);\n\tvoid (*dma_cleanup)(struct device *);\n\tconst struct dev_pm_ops *pm;\n\tbool need_parent_lock;\n};\n\nstruct bvec_iter_all {\n\tstruct bio_vec bv;\n\tint idx;\n\tunsigned int done;\n};\n\nstruct byd_data {\n\tstruct timer_list timer;\n\tstruct psmouse *psmouse;\n\ts32 abs_x;\n\ts32 abs_y;\n\tvolatile long unsigned int last_touch_time;\n\tbool btn_left;\n\tbool btn_right;\n\tbool touch;\n};\n\nstruct cache_head;\n\nstruct cache_deferred_req {\n\tstruct hlist_node hash;\n\tstruct list_head recent;\n\tstruct cache_head *item;\n\tvoid *owner;\n\tvoid (*revisit)(struct cache_deferred_req *, int);\n};\n\nstruct cache_detail {\n\tstruct module *owner;\n\tint hash_size;\n\tstruct hlist_head *hash_table;\n\tspinlock_t hash_lock;\n\tchar *name;\n\tvoid (*cache_put)(struct kref *);\n\tint (*cache_upcall)(struct cache_detail *, struct cache_head *);\n\tvoid (*cache_request)(struct cache_detail *, struct cache_head *, char **, int *);\n\tint (*cache_parse)(struct cache_detail *, char *, int);\n\tint (*cache_show)(struct seq_file *, struct cache_detail *, struct cache_head *);\n\tvoid (*warn_no_listener)(struct cache_detail *, int);\n\tstruct cache_head * (*alloc)(void);\n\tvoid (*flush)(void);\n\tint (*match)(struct cache_head *, struct cache_head *);\n\tvoid (*init)(struct cache_head *, struct cache_head *);\n\tvoid (*update)(struct cache_head *, struct cache_head *);\n\ttime64_t flush_time;\n\tstruct list_head others;\n\ttime64_t nextcheck;\n\tint entries;\n\tstruct list_head queue;\n\tatomic_t writers;\n\ttime64_t last_close;\n\ttime64_t last_warn;\n\tunion {\n\t\tstruct proc_dir_entry *procfs;\n\t\tstruct dentry *pipefs;\n\t};\n\tstruct net *net;\n};\n\nstruct cache_head {\n\tstruct hlist_node cache_list;\n\ttime64_t expiry_time;\n\ttime64_t last_refresh;\n\tstruct kref ref;\n\tlong unsigned int flags;\n};\n\nstruct cache_queue {\n\tstruct list_head list;\n\tint reader;\n};\n\nstruct cache_reader {\n\tstruct cache_queue q;\n\tint offset;\n};\n\nstruct cache_req {\n\tstruct cache_deferred_req * (*defer)(struct cache_req *);\n\tlong unsigned int thread_wait;\n};\n\nstruct cache_req___2 {\n\tu32 addr;\n\tu32 sleep_val;\n\tu32 wake_val;\n\tstruct list_head list;\n};\n\nstruct cache_request {\n\tstruct cache_queue q;\n\tstruct cache_head *item;\n\tchar *buf;\n\tint len;\n\tint readers;\n};\n\nstruct cache_type_info {\n\tconst char *size_prop;\n\tconst char *line_size_props[2];\n\tconst char *nr_sets_prop;\n};\n\nstruct cacheinfo {\n\tunsigned int id;\n\tenum cache_type type;\n\tunsigned int level;\n\tunsigned int coherency_line_size;\n\tunsigned int number_of_sets;\n\tunsigned int ways_of_associativity;\n\tunsigned int physical_line_partition;\n\tunsigned int size;\n\tcpumask_t shared_cpu_map;\n\tunsigned int attributes;\n\tvoid *fw_token;\n\tbool disable_sysfs;\n\tvoid *priv;\n};\n\nstruct cacheline_padding {\n\tchar x[0];\n};\n\nstruct cachestat {\n\t__u64 nr_cache;\n\t__u64 nr_dirty;\n\t__u64 nr_writeback;\n\t__u64 nr_evicted;\n\t__u64 nr_recently_evicted;\n};\n\nstruct cachestat_range {\n\t__u64 off;\n\t__u64 len;\n};\n\nstruct call_function_data {\n\tcall_single_data_t *csd;\n\tcpumask_var_t cpumask;\n\tcpumask_var_t cpumask_ipi;\n};\n\nstruct cb_process_state;\n\nstruct xdr_stream;\n\nstruct callback_op {\n\t__be32 (*process_op)(void *, void *, struct cb_process_state *);\n\t__be32 (*decode_args)(struct svc_rqst *, struct xdr_stream *, void *);\n\t__be32 (*encode_res)(struct svc_rqst *, struct xdr_stream *, const void *);\n\tlong int res_maxsize;\n};\n\nstruct callchain_cpus_entries {\n\tstruct callback_head callback_head;\n\tstruct perf_callchain_entry *cpu_entries[0];\n};\n\nstruct capsule_info {\n\tefi_capsule_header_t header;\n\tefi_capsule_header_t *capsule;\n\tint reset_type;\n\tlong int index;\n\tsize_t count;\n\tsize_t total_size;\n\tstruct page **pages;\n\tphys_addr_t *phys;\n\tsize_t page_bytes_remain;\n};\n\nstruct compact_control;\n\nstruct capture_control {\n\tstruct compact_control *cc;\n\tstruct page *page;\n};\n\nstruct cavium_mdiobus {\n\tstruct mii_bus *mii_bus;\n\tvoid *register_base;\n\tenum cavium_mdiobus_mode mode;\n};\n\nstruct cavium_rng {\n\tstruct hwrng ops;\n\tvoid *result;\n\tvoid *pf_regbase;\n\tstruct pci_dev *pdev;\n\tu64 clock_rate;\n\tu64 prev_error;\n\tu64 prev_time;\n};\n\nstruct cavium_rng_pf {\n\tvoid *control_status;\n};\n\nstruct cavium_smmu {\n\tstruct arm_smmu_device___2 smmu;\n\tu32 id_base;\n};\n\nstruct cb_compound_hdr_arg {\n\tunsigned int taglen;\n\tconst char *tag;\n\tunsigned int minorversion;\n\tunsigned int cb_ident;\n\tunsigned int nops;\n};\n\nstruct cb_compound_hdr_res {\n\t__be32 *status;\n\tunsigned int taglen;\n\tconst char *tag;\n\t__be32 *nops;\n};\n\nstruct cb_devicenotifyitem;\n\nstruct cb_devicenotifyargs {\n\tuint32_t ndevs;\n\tstruct cb_devicenotifyitem *devs;\n};\n\nstruct nfs4_deviceid {\n\tchar data[16];\n};\n\nstruct cb_devicenotifyitem {\n\tuint32_t cbd_notify_type;\n\tuint32_t cbd_layout_type;\n\tstruct nfs4_deviceid cbd_dev_id;\n\tuint32_t cbd_immediate;\n};\n\nstruct nfs_fh {\n\tshort unsigned int size;\n\tunsigned char data[128];\n};\n\nstruct cb_getattrargs {\n\tstruct nfs_fh fh;\n\tuint32_t bitmap[3];\n};\n\nstruct cb_getattrres {\n\t__be32 status;\n\tuint32_t bitmap[3];\n\tuint64_t size;\n\tuint64_t change_attr;\n\tstruct timespec64 atime;\n\tstruct timespec64 ctime;\n\tstruct timespec64 mtime;\n};\n\nstruct pnfs_layout_range {\n\tu32 iomode;\n\tu64 offset;\n\tu64 length;\n};\n\nstruct nfs4_stateid_struct {\n\tunion {\n\t\tchar data[16];\n\t\tstruct {\n\t\t\t__be32 seqid;\n\t\t\tchar other[12];\n\t\t};\n\t};\n\tenum {\n\t\tNFS4_INVALID_STATEID_TYPE = 0,\n\t\tNFS4_SPECIAL_STATEID_TYPE = 1,\n\t\tNFS4_OPEN_STATEID_TYPE = 2,\n\t\tNFS4_LOCK_STATEID_TYPE = 3,\n\t\tNFS4_DELEGATION_STATEID_TYPE = 4,\n\t\tNFS4_LAYOUT_STATEID_TYPE = 5,\n\t\tNFS4_PNFS_DS_STATEID_TYPE = 6,\n\t\tNFS4_REVOKED_STATEID_TYPE = 7,\n\t} type;\n};\n\ntypedef struct nfs4_stateid_struct nfs4_stateid;\n\nstruct nfs_fsid {\n\tuint64_t major;\n\tuint64_t minor;\n};\n\nstruct cb_layoutrecallargs {\n\tuint32_t cbl_recall_type;\n\tuint32_t cbl_layout_type;\n\tuint32_t cbl_layoutchanged;\n\tunion {\n\t\tstruct {\n\t\t\tstruct nfs_fh cbl_fh;\n\t\t\tstruct pnfs_layout_range cbl_range;\n\t\t\tnfs4_stateid cbl_stateid;\n\t\t};\n\t\tstruct nfs_fsid cbl_fsid;\n\t};\n};\n\nstruct nfs_lowner {\n\t__u64 clientid;\n\t__u64 id;\n\tdev_t s_dev;\n};\n\nstruct cb_notify_lock_args {\n\tstruct nfs_fh cbnl_fh;\n\tstruct nfs_lowner cbnl_owner;\n\tbool cbnl_valid;\n};\n\nstruct nfs_write_verifier {\n\tchar data[8];\n};\n\nstruct nfs_writeverf {\n\tstruct nfs_write_verifier verifier;\n\tenum nfs3_stable_how committed;\n};\n\nstruct cb_offloadargs {\n\tstruct nfs_fh coa_fh;\n\tnfs4_stateid coa_stateid;\n\tuint32_t error;\n\tuint64_t wr_count;\n\tstruct nfs_writeverf wr_writeverf;\n};\n\nstruct nfs_client;\n\nstruct nfs4_slot;\n\nstruct cb_process_state {\n\tstruct nfs_client *clp;\n\tstruct nfs4_slot *slot;\n\tstruct net *net;\n\tu32 minorversion;\n\t__be32 drc_status;\n\tunsigned int referring_calls;\n};\n\nstruct cb_recallanyargs {\n\tuint32_t craa_objs_to_keep;\n\tuint32_t craa_type_mask;\n};\n\nstruct cb_recallargs {\n\tstruct nfs_fh fh;\n\tnfs4_stateid stateid;\n\tuint32_t truncate;\n};\n\nstruct cb_recallslotargs {\n\tuint32_t crsa_target_highest_slotid;\n};\n\nstruct nfs4_sessionid {\n\tunsigned char data[16];\n};\n\nstruct referring_call_list;\n\nstruct cb_sequenceargs {\n\tstruct sockaddr *csa_addr;\n\tstruct nfs4_sessionid csa_sessionid;\n\tuint32_t csa_sequenceid;\n\tuint32_t csa_slotid;\n\tuint32_t csa_highestslotid;\n\tuint32_t csa_cachethis;\n\tuint32_t csa_nrclists;\n\tstruct referring_call_list *csa_rclists;\n};\n\nstruct cb_sequenceres {\n\t__be32 csr_status;\n\tstruct nfs4_sessionid csr_sessionid;\n\tuint32_t csr_sequenceid;\n\tuint32_t csr_slotid;\n\tuint32_t csr_highestslotid;\n\tuint32_t csr_target_highestslotid;\n};\n\nstruct ccsr_guts {\n\tu32 porpllsr;\n\tu32 porbmsr;\n\tu32 porimpscr;\n\tu32 pordevsr;\n\tu32 pordbgmsr;\n\tu32 pordevsr2;\n\tu8 res018[8];\n\tu32 porcir;\n\tu8 res024[12];\n\tu32 gpiocr;\n\tu8 res034[12];\n\tu32 gpoutdr;\n\tu8 res044[12];\n\tu32 gpindr;\n\tu8 res054[12];\n\tu32 pmuxcr;\n\tu32 pmuxcr2;\n\tu32 dmuxcr;\n\tu8 res06c[4];\n\tu32 devdisr;\n\tu32 devdisr2;\n\tu8 res078[4];\n\tu32 pmjcr;\n\tu32 powmgtcsr;\n\tu32 pmrccr;\n\tu32 pmpdccr;\n\tu32 pmcdr;\n\tu32 mcpsumr;\n\tu32 rstrscr;\n\tu32 ectrstcr;\n\tu32 autorstsr;\n\tu32 pvr;\n\tu32 svr;\n\tu8 res0a8[8];\n\tu32 rstcr;\n\tu8 res0b4[12];\n\tu32 iovselsr;\n\tu8 res0c4[60];\n\tu32 rcwsr[16];\n\tu8 res140[228];\n\tu32 iodelay1;\n\tu32 iodelay2;\n\tu8 res22c[984];\n\tu32 pamubypenr;\n\tu8 res608[504];\n\tu32 clkdvdr;\n\tu8 res804[252];\n\tu32 ircr;\n\tu8 res904[4];\n\tu32 dmacr;\n\tu8 res90c[8];\n\tu32 elbccr;\n\tu8 res918[520];\n\tu32 ddr1clkdr;\n\tu32 ddr2clkdr;\n\tu32 ddrclkdr;\n\tu8 resb2c[724];\n\tu32 clkocr;\n\tu8 rese04[12];\n\tu32 ddrdllcr;\n\tu8 rese14[12];\n\tu32 lbcdllcr;\n\tu32 cpfor;\n\tu8 rese28[220];\n\tu32 srds1cr0;\n\tu32 srds1cr1;\n\tu8 resf0c[32];\n\tu32 itcr;\n\tu8 resf30[16];\n\tu32 srds2cr0;\n\tu32 srds2cr1;\n};\n\nstruct ccu_common {\n\tvoid *base;\n\tu16 reg;\n\tu16 lock_reg;\n\tu32 prediv;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int features;\n\tspinlock_t *lock;\n\tstruct clk_hw hw;\n};\n\nstruct ccu_div_internal {\n\tu8 shift;\n\tu8 width;\n\tu32 max;\n\tu32 offset;\n\tu32 flags;\n\tstruct clk_div_table *table;\n};\n\nstruct ccu_mux_fixed_prediv;\n\nstruct ccu_mux_var_prediv;\n\nstruct ccu_mux_internal {\n\tu8 shift;\n\tu8 width;\n\tconst u8 *table;\n\tconst struct ccu_mux_fixed_prediv *fixed_predivs;\n\tu8 n_predivs;\n\tconst struct ccu_mux_var_prediv *var_predivs;\n\tu8 n_var_predivs;\n};\n\nstruct ccu_div {\n\tu32 enable;\n\tstruct ccu_div_internal div;\n\tstruct ccu_mux_internal mux;\n\tstruct ccu_common common;\n\tunsigned int fixed_post_div;\n};\n\nstruct ccu_frac_internal {\n\tu32 enable;\n\tu32 select;\n\tlong unsigned int rates[2];\n};\n\nstruct ccu_gate {\n\tu32 enable;\n\tstruct ccu_common common;\n};\n\nstruct ccu_mp {\n\tu32 enable;\n\tstruct ccu_div_internal m;\n\tstruct ccu_div_internal p;\n\tstruct ccu_mux_internal mux;\n\tunsigned int fixed_post_div;\n\tstruct ccu_common common;\n};\n\nstruct ccu_mult_internal {\n\tu8 offset;\n\tu8 shift;\n\tu8 width;\n\tu8 min;\n\tu8 max;\n};\n\nstruct ccu_mult {\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_frac_internal frac;\n\tstruct ccu_mult_internal mult;\n\tstruct ccu_mux_internal mux;\n\tstruct ccu_common common;\n};\n\nstruct ccu_mux {\n\tu32 enable;\n\tstruct ccu_mux_internal mux;\n\tstruct ccu_common common;\n};\n\nstruct ccu_mux_fixed_prediv {\n\tu8 index;\n\tu16 div;\n};\n\nstruct ccu_mux_nb {\n\tstruct notifier_block clk_nb;\n\tstruct ccu_common *common;\n\tstruct ccu_mux_internal *cm;\n\tu32 delay_us;\n\tu8 bypass_index;\n\tu8 original_index;\n};\n\nstruct ccu_mux_var_prediv {\n\tu8 index;\n\tu8 shift;\n\tu8 width;\n};\n\nstruct ccu_nk {\n\tu16 reg;\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_mult_internal n;\n\tstruct ccu_mult_internal k;\n\tunsigned int fixed_post_div;\n\tstruct ccu_common common;\n};\n\nstruct ccu_nkm {\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_mult_internal n;\n\tstruct ccu_mult_internal k;\n\tstruct ccu_div_internal m;\n\tstruct ccu_mux_internal mux;\n\tunsigned int fixed_post_div;\n\tlong unsigned int max_m_n_ratio;\n\tlong unsigned int min_parent_m_ratio;\n\tstruct ccu_common common;\n};\n\nstruct ccu_nkmp {\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_mult_internal n;\n\tstruct ccu_mult_internal k;\n\tstruct ccu_div_internal m;\n\tstruct ccu_div_internal p;\n\tunsigned int fixed_post_div;\n\tunsigned int max_rate;\n\tstruct ccu_common common;\n};\n\nstruct ccu_sdm_setting;\n\nstruct ccu_sdm_internal {\n\tstruct ccu_sdm_setting *table;\n\tu32 table_size;\n\tu32 enable;\n\tu32 tuning_enable;\n\tu16 tuning_reg;\n};\n\nstruct ccu_nm {\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_mult_internal n;\n\tstruct ccu_div_internal m;\n\tstruct ccu_frac_internal frac;\n\tstruct ccu_sdm_internal sdm;\n\tunsigned int fixed_post_div;\n\tunsigned int min_rate;\n\tunsigned int max_rate;\n\tstruct ccu_common common;\n};\n\nstruct ccu_phase {\n\tu8 shift;\n\tu8 width;\n\tstruct ccu_common common;\n};\n\nstruct ccu_pll_nb {\n\tstruct notifier_block clk_nb;\n\tstruct ccu_common *common;\n\tu32 enable;\n\tu32 lock;\n};\n\nstruct ccu_reset_map;\n\nstruct ccu_reset {\n\tvoid *base;\n\tconst struct ccu_reset_map *reset_map;\n\tspinlock_t *lock;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct ccu_reset_map {\n\tu16 reg;\n\tu32 bit;\n};\n\nstruct ccu_sdm_setting {\n\tlong unsigned int rate;\n\tu32 pattern;\n\tu32 m;\n\tu32 n;\n};\n\nstruct cdns_platform_data {\n\tu32 quirks;\n};\n\nstruct uart_driver;\n\nstruct cdns_uart {\n\tstruct uart_port *port;\n\tstruct clk *uartclk;\n\tstruct clk *pclk;\n\tstruct uart_driver *cdns_uart_driver;\n\tunsigned int baud;\n\tstruct notifier_block clk_rate_change_nb;\n\tu32 quirks;\n\tbool cts_override;\n\tstruct gpio_desc *gpiod_rts;\n\tbool rs485_tx_started;\n\tstruct hrtimer tx_timer;\n\tstruct reset_control *rstc;\n};\n\nstruct request_sense;\n\nstruct cdrom_generic_command {\n\tunsigned char cmd[12];\n\tunsigned char *buffer;\n\tunsigned int buflen;\n\tint stat;\n\tstruct request_sense *sense;\n\tunsigned char data_direction;\n\tint quiet;\n\tint timeout;\n\tunion {\n\t\tvoid *reserved[1];\n\t\tvoid *unused;\n\t};\n};\n\nstruct ce_unbind {\n\tstruct clock_event_device *ce;\n\tint res;\n};\n\nstruct ceva_ahci_priv {\n\tstruct platform_device *ahci_pdev;\n\tu32 pp2c[2];\n\tu32 pp3c[2];\n\tu32 pp4c[2];\n\tu32 pp5c[2];\n\tu32 axicc;\n\tbool is_cci_enabled;\n\tint flags;\n};\n\nstruct cfg_param {\n\tconst char *property;\n\tenum tegra_pinconf_param param;\n};\n\nstruct cfi_private;\n\nstruct cfi_early_fixup {\n\tuint16_t mfr;\n\tuint16_t id;\n\tvoid (*fixup)(struct cfi_private *);\n};\n\nstruct cfi_extquery {\n\tuint8_t pri[3];\n\tuint8_t MajorVersion;\n\tuint8_t MinorVersion;\n};\n\nstruct mtd_info;\n\nstruct cfi_fixup {\n\tuint16_t mfr;\n\tuint16_t id;\n\tvoid (*fixup)(struct mtd_info *);\n};\n\nstruct cfi_ident {\n\tuint8_t qry[3];\n\tuint16_t P_ID;\n\tuint16_t P_ADR;\n\tuint16_t A_ID;\n\tuint16_t A_ADR;\n\tuint8_t VccMin;\n\tuint8_t VccMax;\n\tuint8_t VppMin;\n\tuint8_t VppMax;\n\tuint8_t WordWriteTimeoutTyp;\n\tuint8_t BufWriteTimeoutTyp;\n\tuint8_t BlockEraseTimeoutTyp;\n\tuint8_t ChipEraseTimeoutTyp;\n\tuint8_t WordWriteTimeoutMax;\n\tuint8_t BufWriteTimeoutMax;\n\tuint8_t BlockEraseTimeoutMax;\n\tuint8_t ChipEraseTimeoutMax;\n\tuint8_t DevSize;\n\tuint16_t InterfaceDesc;\n\tuint16_t MaxBufWriteSize;\n\tuint8_t NumEraseRegions;\n\tuint32_t EraseRegionInfo[0];\n} __attribute__((packed));\n\nstruct cfi_intelext_blockinfo {\n\tuint16_t NumIdentBlocks;\n\tuint16_t BlockSize;\n\tuint16_t MinBlockEraseCycles;\n\tuint8_t BitsPerCell;\n\tuint8_t BlockCap;\n};\n\nstruct cfi_intelext_otpinfo {\n\tuint32_t ProtRegAddr;\n\tuint16_t FactGroups;\n\tuint8_t FactProtRegSize;\n\tuint16_t UserGroups;\n\tuint8_t UserProtRegSize;\n} __attribute__((packed));\n\nstruct cfi_intelext_programming_regioninfo {\n\tuint8_t ProgRegShift;\n\tuint8_t Reserved1;\n\tuint8_t ControlValid;\n\tuint8_t Reserved2;\n\tuint8_t ControlInvalid;\n\tuint8_t Reserved3;\n};\n\nstruct cfi_intelext_regioninfo {\n\tuint16_t NumIdentPartitions;\n\tuint8_t NumOpAllowed;\n\tuint8_t NumOpAllowedSimProgMode;\n\tuint8_t NumOpAllowedSimEraMode;\n\tuint8_t NumBlockTypes;\n\tstruct cfi_intelext_blockinfo BlockTypes[1];\n};\n\nstruct cfi_pri_amdstd {\n\tuint8_t pri[3];\n\tuint8_t MajorVersion;\n\tuint8_t MinorVersion;\n\tuint8_t SiliconRevision;\n\tuint8_t EraseSuspend;\n\tuint8_t BlkProt;\n\tuint8_t TmpBlkUnprotect;\n\tuint8_t BlkProtUnprot;\n\tuint8_t SimultaneousOps;\n\tuint8_t BurstMode;\n\tuint8_t PageMode;\n\tuint8_t VppMin;\n\tuint8_t VppMax;\n\tuint8_t TopBottom;\n\tuint8_t ProgramSuspend;\n\tuint8_t UnlockBypass;\n\tuint8_t SecureSiliconSector;\n\tuint8_t SoftwareFeatures;\n};\n\nstruct cfi_pri_atmel {\n\tuint8_t pri[3];\n\tuint8_t MajorVersion;\n\tuint8_t MinorVersion;\n\tuint8_t Features;\n\tuint8_t BottomBoot;\n\tuint8_t BurstMode;\n\tuint8_t PageMode;\n};\n\nstruct cfi_pri_intelext {\n\tuint8_t pri[3];\n\tuint8_t MajorVersion;\n\tuint8_t MinorVersion;\n\tuint32_t FeatureSupport;\n\tuint8_t SuspendCmdSupport;\n\tuint16_t BlkStatusRegMask;\n\tuint8_t VccOptimal;\n\tuint8_t VppOptimal;\n\tuint8_t NumProtectionFields;\n\tuint16_t ProtRegAddr;\n\tuint8_t FactProtRegSize;\n\tuint8_t UserProtRegSize;\n\tuint8_t extra[0];\n} __attribute__((packed));\n\nstruct flchip {\n\tlong unsigned int start;\n\tint ref_point_counter;\n\tflstate_t state;\n\tflstate_t oldstate;\n\tunsigned int write_suspended: 1;\n\tunsigned int erase_suspended: 1;\n\tlong unsigned int in_progress_block_addr;\n\tlong unsigned int in_progress_block_mask;\n\tstruct mutex mutex;\n\twait_queue_head_t wq;\n\tint word_write_time;\n\tint buffer_write_time;\n\tint erase_time;\n\tint word_write_time_max;\n\tint buffer_write_time_max;\n\tint erase_time_max;\n\tvoid *priv;\n};\n\nstruct map_info;\n\nstruct cfi_private {\n\tuint16_t cmdset;\n\tvoid *cmdset_priv;\n\tint interleave;\n\tint device_type;\n\tint cfi_mode;\n\tint addr_unlock1;\n\tint addr_unlock2;\n\tstruct mtd_info * (*cmdset_setup)(struct map_info *);\n\tstruct cfi_ident *cfiq;\n\tint mfr;\n\tint id;\n\tint numchips;\n\tmap_word sector_erase_cmd;\n\tlong unsigned int chipshift;\n\tconst char *im_name;\n\tlong unsigned int quirks;\n\tstruct flchip chips[0];\n};\n\nstruct cfs_bandwidth {};\n\nstruct load_weight {\n\tlong unsigned int weight;\n\tu32 inv_weight;\n};\n\nstruct sched_avg {\n\tu64 last_update_time;\n\tu64 load_sum;\n\tu64 runnable_sum;\n\tu32 util_sum;\n\tu32 period_contrib;\n\tlong unsigned int load_avg;\n\tlong unsigned int runnable_avg;\n\tlong unsigned int util_avg;\n\tunsigned int util_est;\n};\n\nstruct sched_entity;\n\nstruct cfs_rq {\n\tstruct load_weight load;\n\tunsigned int nr_queued;\n\tunsigned int h_nr_queued;\n\tunsigned int h_nr_runnable;\n\tunsigned int h_nr_idle;\n\ts64 avg_vruntime;\n\tu64 avg_load;\n\tu64 min_vruntime;\n\tstruct rb_root_cached tasks_timeline;\n\tstruct sched_entity *curr;\n\tstruct sched_entity *next;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_avg avg;\n\tstruct {\n\t\traw_spinlock_t lock;\n\t\tint nr;\n\t\tlong unsigned int load_avg;\n\t\tlong unsigned int util_avg;\n\t\tlong unsigned int runnable_avg;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t} removed;\n\tu64 last_update_tg_load_avg;\n\tlong unsigned int tg_load_avg_contrib;\n\tlong int propagate;\n\tlong int prop_runnable_sum;\n\tlong unsigned int h_load;\n\tu64 last_h_load_update;\n\tstruct sched_entity *h_load_next;\n\tstruct rq *rq;\n\tint on_list;\n\tstruct list_head leaf_cfs_rq_list;\n\tstruct task_group *tg;\n\tint idle;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kernfs_ops;\n\nstruct kernfs_open_file;\n\nstruct cftype {\n\tchar name[64];\n\tlong unsigned int private;\n\tsize_t max_write_len;\n\tunsigned int flags;\n\tunsigned int file_offset;\n\tstruct cgroup_subsys *ss;\n\tstruct list_head node;\n\tstruct kernfs_ops *kf_ops;\n\tint (*open)(struct kernfs_open_file *);\n\tvoid (*release)(struct kernfs_open_file *);\n\tu64 (*read_u64)(struct cgroup_subsys_state *, struct cftype *);\n\ts64 (*read_s64)(struct cgroup_subsys_state *, struct cftype *);\n\tint (*seq_show)(struct seq_file *, void *);\n\tvoid * (*seq_start)(struct seq_file *, loff_t *);\n\tvoid * (*seq_next)(struct seq_file *, void *, loff_t *);\n\tvoid (*seq_stop)(struct seq_file *, void *);\n\tint (*write_u64)(struct cgroup_subsys_state *, struct cftype *, u64);\n\tint (*write_s64)(struct cgroup_subsys_state *, struct cftype *, s64);\n\tssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t);\n\t__poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *);\n\tstruct lock_class_key lockdep_key;\n};\n\nstruct cgroup_file {\n\tstruct kernfs_node *kn;\n\tlong unsigned int notified_at;\n\tstruct timer_list notify_timer;\n};\n\nstruct task_cputime {\n\tu64 stime;\n\tu64 utime;\n\tlong long unsigned int sum_exec_runtime;\n};\n\nstruct cgroup_base_stat {\n\tstruct task_cputime cputime;\n\tu64 ntime;\n};\n\nstruct prev_cputime {\n\tu64 utime;\n\tu64 stime;\n\traw_spinlock_t lock;\n};\n\nstruct cgroup_bpf {\n\tstruct bpf_prog_array *effective[28];\n\tstruct hlist_head progs[28];\n\tu8 flags[28];\n\tstruct list_head storages;\n\tstruct bpf_prog_array *inactive;\n\tstruct percpu_ref refcnt;\n\tstruct work_struct release_work;\n};\n\nstruct cgroup_freezer_state {\n\tbool freeze;\n\tbool e_freeze;\n\tint nr_frozen_descendants;\n\tint nr_frozen_tasks;\n};\n\nstruct cgroup_root;\n\nstruct cgroup_rstat_cpu;\n\nstruct psi_group;\n\nstruct cgroup {\n\tstruct cgroup_subsys_state self;\n\tlong unsigned int flags;\n\tint level;\n\tint max_depth;\n\tint nr_descendants;\n\tint nr_dying_descendants;\n\tint max_descendants;\n\tint nr_populated_csets;\n\tint nr_populated_domain_children;\n\tint nr_populated_threaded_children;\n\tint nr_threaded_children;\n\tunsigned int kill_seq;\n\tstruct kernfs_node *kn;\n\tstruct cgroup_file procs_file;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file psi_files[0];\n\tu16 subtree_control;\n\tu16 subtree_ss_mask;\n\tu16 old_subtree_control;\n\tu16 old_subtree_ss_mask;\n\tstruct cgroup_subsys_state *subsys[10];\n\tint nr_dying_subsys[10];\n\tstruct cgroup_root *root;\n\tstruct list_head cset_links;\n\tstruct list_head e_csets[10];\n\tstruct cgroup *dom_cgrp;\n\tstruct cgroup *old_dom_cgrp;\n\tstruct cgroup_rstat_cpu *rstat_cpu;\n\tstruct list_head rstat_css_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad_;\n\tstruct cgroup *rstat_flush_next;\n\tstruct cgroup_base_stat last_bstat;\n\tstruct cgroup_base_stat bstat;\n\tstruct prev_cputime prev_cputime;\n\tstruct list_head pidlists;\n\tstruct mutex pidlist_mutex;\n\twait_queue_head_t offline_waitq;\n\tstruct work_struct release_agent_work;\n\tstruct psi_group *psi;\n\tstruct cgroup_bpf bpf;\n\tstruct cgroup_freezer_state freezer;\n\tstruct bpf_local_storage *bpf_cgrp_storage;\n\tstruct cgroup *ancestors[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cgroup__safe_rcu {\n\tstruct kernfs_node *kn;\n};\n\nstruct css_set;\n\nstruct css_task_iter {\n\tstruct cgroup_subsys *ss;\n\tunsigned int flags;\n\tstruct list_head *cset_pos;\n\tstruct list_head *cset_head;\n\tstruct list_head *tcset_pos;\n\tstruct list_head *tcset_head;\n\tstruct list_head *task_pos;\n\tstruct list_head *cur_tasks_head;\n\tstruct css_set *cur_cset;\n\tstruct css_set *cur_dcset;\n\tstruct task_struct *cur_task;\n\tstruct list_head iters_node;\n};\n\nstruct cgroup_of_peak {\n\tlong unsigned int value;\n\tstruct list_head list;\n};\n\nstruct cgroup_namespace;\n\nstruct cgroup_pidlist;\n\nstruct cgroup_file_ctx {\n\tstruct cgroup_namespace *ns;\n\tstruct {\n\t\tvoid *trigger;\n\t} psi;\n\tstruct {\n\t\tbool started;\n\t\tstruct css_task_iter iter;\n\t} procs;\n\tstruct {\n\t\tstruct cgroup_pidlist *pidlist;\n\t} procs1;\n\tstruct cgroup_of_peak peak;\n};\n\nstruct kernfs_root;\n\nstruct kernfs_fs_context {\n\tstruct kernfs_root *root;\n\tvoid *ns_tag;\n\tlong unsigned int magic;\n\tbool new_sb_created;\n};\n\nstruct cgroup_fs_context {\n\tstruct kernfs_fs_context kfc;\n\tstruct cgroup_root *root;\n\tstruct cgroup_namespace *ns;\n\tunsigned int flags;\n\tbool cpuset_clone_children;\n\tbool none;\n\tbool all_ss;\n\tu16 subsys_mask;\n\tchar *name;\n\tchar *release_agent;\n};\n\nstruct cgroup_iter_priv {\n\tstruct cgroup_subsys_state *start_css;\n\tbool visited_all;\n\tbool terminate;\n\tint order;\n};\n\nstruct cgroup_taskset {\n\tstruct list_head src_csets;\n\tstruct list_head dst_csets;\n\tint nr_tasks;\n\tint ssid;\n\tstruct list_head *csets;\n\tstruct css_set *cur_cset;\n\tstruct task_struct *cur_task;\n};\n\nstruct cgroup_mgctx {\n\tstruct list_head preloaded_src_csets;\n\tstruct list_head preloaded_dst_csets;\n\tstruct cgroup_taskset tset;\n\tu16 ss_mask;\n};\n\nstruct proc_ns_operations;\n\nstruct ns_common {\n\tstruct dentry *stashed;\n\tconst struct proc_ns_operations *ops;\n\tunsigned int inum;\n\trefcount_t count;\n};\n\nstruct ucounts;\n\nstruct cgroup_namespace {\n\tstruct ns_common ns;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct css_set *root_cset;\n};\n\nstruct cgroup_pidlist {\n\tstruct {\n\t\tenum cgroup_filetype type;\n\t\tstruct pid_namespace *ns;\n\t} key;\n\tpid_t *list;\n\tint length;\n\tstruct list_head links;\n\tstruct cgroup *owner;\n\tstruct delayed_work destroy_dwork;\n};\n\nstruct cgroup_root {\n\tstruct kernfs_root *kf_root;\n\tunsigned int subsys_mask;\n\tint hierarchy_id;\n\tstruct list_head root_list;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tstruct cgroup cgrp;\n\tstruct cgroup *cgrp_ancestor_storage;\n\tatomic_t nr_cgrps;\n\tunsigned int flags;\n\tchar release_agent_path[4096];\n\tchar name[64];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cgroup_rstat_cpu {\n\tstruct u64_stats_sync bsync;\n\tstruct cgroup_base_stat bstat;\n\tstruct cgroup_base_stat last_bstat;\n\tstruct cgroup_base_stat subtree_bstat;\n\tstruct cgroup_base_stat last_subtree_bstat;\n\tstruct cgroup *updated_children;\n\tstruct cgroup *updated_next;\n};\n\nstruct idr {\n\tstruct xarray idr_rt;\n\tunsigned int idr_base;\n\tunsigned int idr_next;\n};\n\nstruct cgroup_subsys {\n\tstruct cgroup_subsys_state * (*css_alloc)(struct cgroup_subsys_state *);\n\tint (*css_online)(struct cgroup_subsys_state *);\n\tvoid (*css_offline)(struct cgroup_subsys_state *);\n\tvoid (*css_released)(struct cgroup_subsys_state *);\n\tvoid (*css_free)(struct cgroup_subsys_state *);\n\tvoid (*css_reset)(struct cgroup_subsys_state *);\n\tvoid (*css_rstat_flush)(struct cgroup_subsys_state *, int);\n\tint (*css_extra_stat_show)(struct seq_file *, struct cgroup_subsys_state *);\n\tint (*css_local_stat_show)(struct seq_file *, struct cgroup_subsys_state *);\n\tint (*can_attach)(struct cgroup_taskset *);\n\tvoid (*cancel_attach)(struct cgroup_taskset *);\n\tvoid (*attach)(struct cgroup_taskset *);\n\tvoid (*post_attach)(void);\n\tint (*can_fork)(struct task_struct *, struct css_set *);\n\tvoid (*cancel_fork)(struct task_struct *, struct css_set *);\n\tvoid (*fork)(struct task_struct *);\n\tvoid (*exit)(struct task_struct *);\n\tvoid (*release)(struct task_struct *);\n\tvoid (*bind)(struct cgroup_subsys_state *);\n\tbool early_init: 1;\n\tbool implicit_on_dfl: 1;\n\tbool threaded: 1;\n\tint id;\n\tconst char *name;\n\tconst char *legacy_name;\n\tstruct cgroup_root *root;\n\tstruct idr css_idr;\n\tstruct list_head cfts;\n\tstruct cftype *dfl_cftypes;\n\tstruct cftype *legacy_cftypes;\n\tunsigned int depends_on;\n};\n\nstruct cgroupstats {\n\t__u64 nr_sleeping;\n\t__u64 nr_running;\n\t__u64 nr_stopped;\n\t__u64 nr_uninterruptible;\n\t__u64 nr_io_wait;\n};\n\nstruct cgrp_cset_link {\n\tstruct cgroup *cgrp;\n\tstruct css_set *cset;\n\tstruct list_head cset_link;\n\tstruct list_head cgrp_link;\n};\n\nstruct linked_page;\n\nstruct chain_allocator {\n\tstruct linked_page *chain;\n\tunsigned int used_space;\n\tgfp_t gfp_mask;\n\tint safe_needed;\n};\n\nstruct ethnl_reply_data {\n\tstruct net_device *dev;\n};\n\nstruct ethtool_channels {\n\t__u32 cmd;\n\t__u32 max_rx;\n\t__u32 max_tx;\n\t__u32 max_other;\n\t__u32 max_combined;\n\t__u32 rx_count;\n\t__u32 tx_count;\n\t__u32 other_count;\n\t__u32 combined_count;\n};\n\nstruct channels_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_channels channels;\n};\n\nstruct char_device_struct {\n\tstruct char_device_struct *next;\n\tunsigned int major;\n\tunsigned int baseminor;\n\tint minorct;\n\tchar name[64];\n\tstruct cdev *cdev;\n};\n\nstruct cros_ec_dev;\n\nstruct cros_ec_device;\n\nstruct port_data;\n\nstruct charger_data {\n\tstruct device *dev;\n\tstruct cros_ec_dev *ec_dev;\n\tstruct cros_ec_device *ec_device;\n\tint num_registered_psy;\n\tstruct port_data *ports[8];\n\tstruct notifier_block notifier;\n};\n\nstruct qdisc_walker {\n\tint stop;\n\tint skip;\n\tint count;\n\tint (*fn)(struct Qdisc *, long unsigned int, struct qdisc_walker *);\n};\n\nstruct check_loop_arg {\n\tstruct qdisc_walker w;\n\tstruct Qdisc *p;\n\tint depth;\n};\n\nstruct check_mount {\n\tstruct vfsmount *mnt;\n\tunsigned int mounted;\n};\n\nstruct check_walk_data {\n\tenum pkvm_page_state desired;\n\tenum pkvm_page_state (*get_page_state)(kvm_pte_t, u64);\n};\n\nstruct mt6397_chip;\n\nstruct chip_data {\n\tu32 cid_addr;\n\tu32 cid_shift;\n\tconst struct mfd_cell *cells;\n\tint cell_size;\n\tint (*irq_init)(struct mt6397_chip *);\n};\n\nstruct chip_data___2 {\n\tu32 ctar_val;\n};\n\nstruct chip_data___3 {\n\tu32 cr0;\n\tu16 cr1;\n\tu16 dmacr;\n\tu16 cpsr;\n\tu8 n_bytes;\n\tbool enable_dma;\n\tenum ssp_reading read;\n\tenum ssp_writing write;\n\tint xfer_type;\n};\n\nstruct i2c_device_identity {\n\tu16 manufacturer_id;\n\tu16 part_id;\n\tu8 die_revision;\n};\n\nstruct chip_desc {\n\tu8 nchans;\n\tu8 enable;\n\tu8 has_irq;\n\tenum muxtype muxtype;\n\tstruct i2c_device_identity id;\n};\n\nstruct chip_probe {\n\tchar *name;\n\tint (*probe_chip)(struct map_info *, __u32, long unsigned int *, struct cfi_private *);\n};\n\nstruct i2c_of_probe_cfg;\n\nstruct i2c_of_probe_simple_opts;\n\nstruct chromeos_i2c_probe_data {\n\tconst struct i2c_of_probe_cfg *cfg;\n\tconst struct i2c_of_probe_simple_opts *opts;\n};\n\nstruct hw_bank {\n\tunsigned int lpm;\n\tresource_size_t phys;\n\tvoid *abs;\n\tvoid *cap;\n\tvoid *op;\n\tsize_t size;\n\tvoid *regmap[39];\n};\n\nstruct usb_phy;\n\nstruct usb_bus;\n\nstruct usb_otg {\n\tu8 default_a;\n\tstruct phy *phy;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_bus *host;\n\tstruct usb_gadget *gadget;\n\tenum usb_otg_state state;\n\tint (*set_host)(struct usb_otg *, struct usb_bus *);\n\tint (*set_peripheral)(struct usb_otg *, struct usb_gadget *);\n\tint (*set_vbus)(struct usb_otg *, bool);\n\tint (*start_srp)(struct usb_otg *);\n\tint (*start_hnp)(struct usb_otg *);\n};\n\nstruct otg_fsm_ops;\n\nstruct otg_fsm {\n\tint id;\n\tint adp_change;\n\tint power_up;\n\tint a_srp_det;\n\tint a_vbus_vld;\n\tint b_conn;\n\tint a_bus_resume;\n\tint a_bus_suspend;\n\tint a_conn;\n\tint b_se0_srp;\n\tint b_ssend_srp;\n\tint b_sess_vld;\n\tint test_device;\n\tint a_bus_drop;\n\tint a_bus_req;\n\tint b_bus_req;\n\tint a_sess_vld;\n\tint b_bus_resume;\n\tint b_bus_suspend;\n\tint drv_vbus;\n\tint loc_conn;\n\tint loc_sof;\n\tint adp_prb;\n\tint adp_sns;\n\tint data_pulse;\n\tint a_set_b_hnp_en;\n\tint b_srp_done;\n\tint b_hnp_enable;\n\tint a_clr_err;\n\tint a_bus_drop_inf;\n\tint a_bus_req_inf;\n\tint a_clr_err_inf;\n\tint b_bus_req_inf;\n\tint a_suspend_req_inf;\n\tint a_wait_vrise_tmout;\n\tint a_wait_vfall_tmout;\n\tint a_wait_bcon_tmout;\n\tint a_aidl_bdis_tmout;\n\tint b_ase0_brst_tmout;\n\tint a_bidl_adis_tmout;\n\tstruct otg_fsm_ops *ops;\n\tstruct usb_otg *otg;\n\tint protocol;\n\tstruct mutex lock;\n\tu8 *host_req_flag;\n\tstruct delayed_work hnp_polling_work;\n\tbool hnp_work_inited;\n\tbool state_changed;\n};\n\nstruct ci_hw_qh;\n\nstruct ci_hdrc;\n\nstruct td_node;\n\nstruct ci_hw_ep {\n\tstruct usb_ep ep;\n\tu8 dir;\n\tu8 num;\n\tu8 type;\n\tchar name[16];\n\tstruct {\n\t\tstruct list_head queue;\n\t\tstruct ci_hw_qh *ptr;\n\t\tdma_addr_t dma;\n\t} qh;\n\tint wedge;\n\tstruct ci_hdrc *ci;\n\tspinlock_t *lock;\n\tstruct dma_pool *td_pool;\n\tstruct td_node *pending_td;\n};\n\nstruct ulpi_ops {\n\tint (*read)(struct device *, u8);\n\tint (*write)(struct device *, u8, u8);\n};\n\nstruct ci_role_driver;\n\nstruct usb_role_switch;\n\nstruct ci_hdrc_platform_data;\n\nstruct ulpi;\n\nstruct usb_hcd;\n\nstruct ci_hdrc {\n\tstruct device *dev;\n\tspinlock_t lock;\n\tstruct hw_bank hw_bank;\n\tint irq;\n\tstruct ci_role_driver *roles[2];\n\tenum ci_role role;\n\tbool is_otg;\n\tstruct usb_otg otg;\n\tstruct otg_fsm fsm;\n\tstruct hrtimer otg_fsm_hrtimer;\n\tktime_t hr_timeouts[12];\n\tunsigned int enabled_otg_timer_bits;\n\tenum otg_fsm_timer next_otg_timer;\n\tstruct usb_role_switch *role_switch;\n\tstruct work_struct work;\n\tstruct work_struct power_lost_work;\n\tstruct workqueue_struct *wq;\n\tstruct dma_pool *qh_pool;\n\tstruct dma_pool *td_pool;\n\tstruct usb_gadget gadget;\n\tstruct usb_gadget_driver *driver;\n\tenum usb_device_state resume_state;\n\tunsigned int hw_ep_max;\n\tstruct ci_hw_ep ci_hw_ep[32];\n\tu32 ep0_dir;\n\tstruct ci_hw_ep *ep0out;\n\tstruct ci_hw_ep *ep0in;\n\tstruct usb_request *status;\n\tbool setaddr;\n\tu8 address;\n\tu8 remote_wakeup;\n\tu8 suspended;\n\tu8 test_mode;\n\tstruct ci_hdrc_platform_data *platdata;\n\tint vbus_active;\n\tstruct ulpi *ulpi;\n\tstruct ulpi_ops ulpi_ops;\n\tstruct phy *phy;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_hcd *hcd;\n\tbool id_event;\n\tbool b_sess_valid_event;\n\tbool imx28_write_fix;\n\tbool has_portsc_pec_bug;\n\tbool has_short_pkt_limit;\n\tbool supports_runtime_pm;\n\tbool in_lpm;\n\tbool wakeup_int;\n\tenum ci_revision rev;\n\tstruct mutex mutex;\n};\n\nstruct extcon_dev;\n\nstruct ci_hdrc_cable {\n\tbool connected;\n\tbool changed;\n\tbool enabled;\n\tstruct extcon_dev *edev;\n\tstruct ci_hdrc *ci;\n\tstruct notifier_block nb;\n};\n\nstruct ci_hdrc_dma_aligned_buffer {\n\tvoid *original_buffer;\n\tu8 data[0];\n};\n\nstruct pm_qos_constraints;\n\nstruct pm_qos_request {\n\tstruct plist_node node;\n\tstruct pm_qos_constraints *qos;\n};\n\nstruct imx_usbmisc_data;\n\nstruct pinctrl;\n\nstruct pinctrl_state;\n\nstruct ci_hdrc_imx_platform_flag;\n\nstruct ci_hdrc_imx_data {\n\tstruct usb_phy *phy;\n\tstruct platform_device *ci_pdev;\n\tstruct clk *clk;\n\tstruct clk *clk_wakeup;\n\tstruct imx_usbmisc_data *usbmisc_data;\n\tbool supports_runtime_pm;\n\tbool override_phy_control;\n\tbool in_lpm;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pinctrl_hsic_active;\n\tstruct regulator *hsic_pad_regulator;\n\tbool need_three_clks;\n\tstruct clk *clk_ipg;\n\tstruct clk *clk_ahb;\n\tstruct clk *clk_per;\n\tstruct pm_qos_request pm_qos_req;\n\tconst struct ci_hdrc_imx_platform_flag *plat_data;\n};\n\nstruct ci_hdrc_imx_platform_flag {\n\tunsigned int flags;\n};\n\nstruct usb_otg_caps {\n\tu16 otg_rev;\n\tbool hnp_support;\n\tbool srp_support;\n\tbool adp_support;\n};\n\nstruct ci_hdrc_platform_data {\n\tconst char *name;\n\tuintptr_t capoffset;\n\tunsigned int power_budget;\n\tstruct phy *phy;\n\tstruct usb_phy *usb_phy;\n\tenum usb_phy_interface phy_mode;\n\tlong unsigned int flags;\n\tenum usb_dr_mode dr_mode;\n\tint (*notify_event)(struct ci_hdrc *, unsigned int);\n\tstruct regulator *reg_vbus;\n\tstruct usb_otg_caps ci_otg_caps;\n\tbool tpl_support;\n\tu32 itc_setting;\n\tu32 ahb_burst_config;\n\tu32 tx_burst_size;\n\tu32 rx_burst_size;\n\tstruct ci_hdrc_cable vbus_extcon;\n\tstruct ci_hdrc_cable id_extcon;\n\tu32 phy_clkgate_delay_us;\n\tstruct pinctrl *pctl;\n\tstruct pinctrl_state *pins_default;\n\tstruct pinctrl_state *pins_host;\n\tstruct pinctrl_state *pins_device;\n\tint (*hub_control)(struct ci_hdrc *, u16, u16, u16, char *, u16, bool *, long unsigned int *);\n\tvoid (*enter_lpm)(struct ci_hdrc *, bool);\n};\n\nstruct ci_hdrc_msm {\n\tstruct platform_device *ci;\n\tstruct clk *core_clk;\n\tstruct clk *iface_clk;\n\tstruct clk *fs_clk;\n\tstruct ci_hdrc_platform_data pdata;\n\tstruct reset_controller_dev rcdev;\n\tbool secondary_phy;\n\tbool hsic;\n\tvoid *base;\n};\n\nstruct ci_hdrc_pci {\n\tstruct platform_device *ci;\n\tstruct platform_device *phy;\n};\n\nstruct ci_hdrc_usb2_priv {\n\tstruct platform_device *ci_pdev;\n\tstruct clk *clk;\n};\n\nstruct ci_hw_td {\n\t__le32 next;\n\t__le32 token;\n\t__le32 page[5];\n};\n\nstruct ci_hw_qh {\n\t__le32 cap;\n\t__le32 curr;\n\tstruct ci_hw_td td;\n\t__le32 RESERVED;\n\tstruct usb_ctrlrequest setup;\n};\n\nstruct sg_table {\n\tstruct scatterlist *sgl;\n\tunsigned int nents;\n\tunsigned int orig_nents;\n};\n\nstruct ci_hw_req {\n\tstruct usb_request req;\n\tstruct list_head queue;\n\tstruct list_head tds;\n\tstruct sg_table sgt;\n};\n\nstruct ci_role_driver {\n\tint (*start)(struct ci_hdrc *);\n\tvoid (*stop)(struct ci_hdrc *);\n\tvoid (*suspend)(struct ci_hdrc *);\n\tvoid (*resume)(struct ci_hdrc *, bool);\n\tirqreturn_t (*irq)(struct ci_hdrc *);\n\tconst char *name;\n};\n\nstruct cipher_context {\n\tchar iv[20];\n\tchar rec_seq[8];\n};\n\nstruct circ_buf {\n\tchar *buf;\n\tint head;\n\tint tail;\n};\n\nstruct mmc_card;\n\nstruct sdio_func;\n\ntypedef int tpl_parse_t(struct mmc_card *, struct sdio_func *, const unsigned char *, unsigned int);\n\nstruct cis_tpl {\n\tunsigned char code;\n\tunsigned char min_size;\n\ttpl_parse_t *parse;\n};\n\nstruct class_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct class *, const struct class_attribute *, char *);\n\tssize_t (*store)(const struct class *, const struct class_attribute *, const char *, size_t);\n};\n\nstruct class_attribute_string {\n\tstruct class_attribute attr;\n\tchar *str;\n};\n\nstruct class_compat {\n\tstruct kobject *kobj;\n};\n\nstruct klist_iter {\n\tstruct klist *i_klist;\n\tstruct klist_node *i_cur;\n};\n\nstruct subsys_private;\n\nstruct class_dev_iter {\n\tstruct klist_iter ki;\n\tconst struct device_type *type;\n\tstruct subsys_private *sp;\n};\n\nstruct class_dir {\n\tstruct kobject kobj;\n\tconst struct class *class;\n};\n\nstruct class_info {\n\tint class;\n\tchar *class_name;\n};\n\nstruct class_interface {\n\tstruct list_head node;\n\tconst struct class *class;\n\tint (*add_dev)(struct device *);\n\tvoid (*remove_dev)(struct device *);\n};\n\nstruct cleanup_done_msg {\n\t__le32 version;\n\t__le32 response;\n\t__le32 seq_num;\n};\n\nstruct clear_refs_private {\n\tenum clear_refs_types type;\n};\n\nstruct clk {\n\tstruct clk_core *core;\n\tstruct device *dev;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tunsigned int exclusive_count;\n\tstruct hlist_node clks_node;\n};\n\nstruct clk_regmap {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tunsigned int enable_reg;\n\tunsigned int enable_mask;\n\tbool enable_is_inverted;\n};\n\nstruct pll_vco;\n\nstruct clk_alpha_pll {\n\tu32 offset;\n\tconst u8 *regs;\n\tconst struct pll_vco *vco_table;\n\tsize_t num_vco;\n\tu8 flags;\n\tstruct clk_regmap clkr;\n};\n\nstruct clk_alpha_pll_postdiv {\n\tu32 offset;\n\tu8 width;\n\tconst u8 *regs;\n\tstruct clk_regmap clkr;\n\tint post_div_shift;\n\tconst struct clk_div_table *post_div_table;\n\tsize_t num_post_div;\n};\n\nstruct clk_bit_field {\n\tu8 shift;\n\tu8 width;\n};\n\nstruct clk_branch {\n\tu32 hwcg_reg;\n\tu32 halt_reg;\n\tu8 hwcg_bit;\n\tu8 halt_bit;\n\tu8 halt_check;\n\tstruct clk_regmap clkr;\n};\n\nstruct clk_bulk_data {\n\tconst char *id;\n\tstruct clk *clk;\n};\n\nstruct clk_bulk_devres {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct clk_ops;\n\nstruct clk_busy_divider {\n\tstruct clk_divider div;\n\tconst struct clk_ops *div_ops;\n\tvoid *reg;\n\tu8 shift;\n};\n\nstruct clk_mux {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tconst u32 *table;\n\tu32 mask;\n\tu8 shift;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct clk_busy_mux {\n\tstruct clk_mux mux;\n\tconst struct clk_ops *mux_ops;\n\tvoid *reg;\n\tu8 shift;\n};\n\nstruct clk_cbf_8996_mux {\n\tu32 reg;\n\tstruct notifier_block nb;\n\tstruct clk_regmap clkr;\n};\n\nstruct clk_rate_request;\n\nstruct clk_duty;\n\nstruct clk_ops {\n\tint (*prepare)(struct clk_hw *);\n\tvoid (*unprepare)(struct clk_hw *);\n\tint (*is_prepared)(struct clk_hw *);\n\tvoid (*unprepare_unused)(struct clk_hw *);\n\tint (*enable)(struct clk_hw *);\n\tvoid (*disable)(struct clk_hw *);\n\tint (*is_enabled)(struct clk_hw *);\n\tvoid (*disable_unused)(struct clk_hw *);\n\tint (*save_context)(struct clk_hw *);\n\tvoid (*restore_context)(struct clk_hw *);\n\tlong unsigned int (*recalc_rate)(struct clk_hw *, long unsigned int);\n\tlong int (*round_rate)(struct clk_hw *, long unsigned int, long unsigned int *);\n\tint (*determine_rate)(struct clk_hw *, struct clk_rate_request *);\n\tint (*set_parent)(struct clk_hw *, u8);\n\tu8 (*get_parent)(struct clk_hw *);\n\tint (*set_rate)(struct clk_hw *, long unsigned int, long unsigned int);\n\tint (*set_rate_and_parent)(struct clk_hw *, long unsigned int, long unsigned int, u8);\n\tlong unsigned int (*recalc_accuracy)(struct clk_hw *, long unsigned int);\n\tint (*get_phase)(struct clk_hw *);\n\tint (*set_phase)(struct clk_hw *, int);\n\tint (*get_duty_cycle)(struct clk_hw *, struct clk_duty *);\n\tint (*set_duty_cycle)(struct clk_hw *, struct clk_duty *);\n\tint (*init)(struct clk_hw *);\n\tvoid (*terminate)(struct clk_hw *);\n\tvoid (*debug_init)(struct clk_hw *, struct dentry *);\n};\n\nstruct clk_composite {\n\tstruct clk_hw hw;\n\tstruct clk_ops ops;\n\tstruct clk_hw *mux_hw;\n\tstruct clk_hw *rate_hw;\n\tstruct clk_hw *gate_hw;\n\tconst struct clk_ops *mux_ops;\n\tconst struct clk_ops *rate_ops;\n\tconst struct clk_ops *gate_ops;\n};\n\nstruct clk_duty {\n\tunsigned int num;\n\tunsigned int den;\n};\n\nstruct clk_parent_map;\n\nstruct clk_core {\n\tconst char *name;\n\tconst struct clk_ops *ops;\n\tstruct clk_hw *hw;\n\tstruct module *owner;\n\tstruct device *dev;\n\tstruct hlist_node rpm_node;\n\tstruct device_node *of_node;\n\tstruct clk_core *parent;\n\tstruct clk_parent_map *parents;\n\tu8 num_parents;\n\tu8 new_parent_index;\n\tlong unsigned int rate;\n\tlong unsigned int req_rate;\n\tlong unsigned int new_rate;\n\tstruct clk_core *new_parent;\n\tstruct clk_core *new_child;\n\tlong unsigned int flags;\n\tbool orphan;\n\tbool rpm_enabled;\n\tunsigned int enable_count;\n\tunsigned int prepare_count;\n\tunsigned int protect_count;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int accuracy;\n\tint phase;\n\tstruct clk_duty duty;\n\tstruct hlist_head children;\n\tstruct hlist_node child_node;\n\tstruct hlist_head clks;\n\tunsigned int notifier_count;\n\tstruct dentry *dentry;\n\tstruct hlist_node debug_node;\n\tstruct kref ref;\n};\n\nstruct clk_cpu {\n\tstruct clk_hw hw;\n\tstruct clk *div;\n\tstruct clk *mux;\n\tstruct clk *pll;\n\tstruct clk *step;\n};\n\nstruct clk_cpu_8996_pmux {\n\tu32 reg;\n\tstruct notifier_block nb;\n\tstruct clk_regmap clkr;\n};\n\nstruct clk_div_table {\n\tunsigned int val;\n\tunsigned int div;\n};\n\nstruct clk_divider_gate {\n\tstruct clk_divider divider;\n\tu32 cached_val;\n};\n\nstruct clk_double_div {\n\tstruct clk_hw hw;\n\tvoid *reg1;\n\tu8 shift1;\n\tvoid *reg2;\n\tu8 shift2;\n};\n\nstruct reset_simple_data {\n\tspinlock_t lock;\n\tvoid *membase;\n\tstruct reset_controller_dev rcdev;\n\tbool active_low;\n\tbool status_active_low;\n\tunsigned int reset_us;\n};\n\nstruct clk_dvp {\n\tstruct clk_hw_onecell_data *data;\n\tstruct reset_simple_data reset;\n};\n\nstruct mn {\n\tu8 mnctr_en_bit;\n\tu8 mnctr_reset_bit;\n\tu8 mnctr_mode_shift;\n\tu8 n_val_shift;\n\tu8 m_val_shift;\n\tu8 width;\n\tbool reset_in_cc;\n};\n\nstruct pre_div {\n\tu8 pre_div_shift;\n\tu8 pre_div_width;\n};\n\nstruct parent_map;\n\nstruct src_sel {\n\tu8 src_sel_shift;\n\tconst struct parent_map *parent_map;\n};\n\nstruct freq_tbl;\n\nstruct clk_dyn_rcg {\n\tu32 ns_reg[2];\n\tu32 md_reg[2];\n\tu32 bank_reg;\n\tu8 mux_sel_bit;\n\tstruct mn mn[2];\n\tstruct pre_div p[2];\n\tstruct src_sel s[2];\n\tconst struct freq_tbl *freq_tbl;\n\tstruct clk_regmap clkr;\n};\n\nstruct clk_factor_table {\n\tunsigned int val;\n\tunsigned int mul;\n\tunsigned int div;\n};\n\nstruct clk_fixed_factor {\n\tstruct clk_hw hw;\n\tunsigned int mult;\n\tunsigned int div;\n\tlong unsigned int acc;\n\tunsigned int flags;\n};\n\nstruct clk_fixed_rate {\n\tstruct clk_hw hw;\n\tlong unsigned int fixed_rate;\n\tlong unsigned int fixed_accuracy;\n\tlong unsigned int flags;\n};\n\nstruct clk_fixup_div {\n\tstruct clk_divider divider;\n\tconst struct clk_ops *ops;\n\tvoid (*fixup)(u32 *);\n};\n\nstruct clk_fixup_mux {\n\tstruct clk_mux mux;\n\tconst struct clk_ops *ops;\n\tvoid (*fixup)(u32 *);\n};\n\nstruct clk_frac_pll {\n\tstruct clk_hw hw;\n\tvoid *base;\n};\n\nstruct imx_fracn_gppll_rate_table;\n\nstruct clk_fracn_gppll {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tconst struct imx_fracn_gppll_rate_table *rate_table;\n\tint rate_count;\n\tu32 flags;\n};\n\nstruct clk_fractional_divider {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 mshift;\n\tu8 mwidth;\n\tu8 nshift;\n\tu8 nwidth;\n\tu8 flags;\n\tvoid (*approximation)(struct clk_hw *, long unsigned int, long unsigned int *, long unsigned int *, long unsigned int *);\n\tspinlock_t *lock;\n};\n\nstruct clk_gate {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 bit_idx;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct clk_gate2 {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 bit_idx;\n\tu8 cgr_val;\n\tu8 cgr_mask;\n\tu8 flags;\n\tspinlock_t *lock;\n\tunsigned int *share_count;\n};\n\nstruct clk_gate_exclusive {\n\tstruct clk_gate gate;\n\tu32 exclusive_mask;\n};\n\nstruct clk_gpio {\n\tstruct clk_hw hw;\n\tstruct gpio_desc *gpiod;\n};\n\nstruct clk_gated_fixed {\n\tstruct clk_gpio clk_gpio;\n\tstruct regulator *supply;\n\tlong unsigned int rate;\n};\n\nstruct clk_get_info {\n\t__le16 id;\n\t__le16 flags;\n\t__le32 min_rate;\n\t__le32 max_rate;\n\tu8 name[20];\n};\n\nstruct clk_gpr_scu {\n\tstruct clk_hw hw;\n\tu16 rsrc_id;\n\tu8 gpr_id;\n\tu8 flags;\n\tbool gate_invert;\n};\n\nstruct hfpll_data;\n\nstruct clk_hfpll {\n\tconst struct hfpll_data *d;\n\tint init_done;\n\tstruct clk_regmap clkr;\n\tspinlock_t lock;\n};\n\nstruct clk_hisi_phase {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu32 *phase_degrees;\n\tu32 *phase_regvals;\n\tu8 phase_num;\n\tu32 mask;\n\tu8 shift;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct clk_hsio_pll {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n};\n\nstruct rzg2l_cpg_priv;\n\nstruct clk_hw_data {\n\tstruct clk_hw hw;\n\tu32 conf;\n\tu32 sconf;\n\tstruct rzg2l_cpg_priv *priv;\n};\n\nstruct clk_parent_data;\n\nstruct clk_imx8_acm_sel {\n\tconst char *name;\n\tint clkid;\n\tconst struct clk_parent_data *parents;\n\tint num_parents;\n\tu32 reg;\n\tu8 shift;\n\tu8 width;\n};\n\nstruct clk_imx8mp_audiomix_priv {\n\tvoid *base;\n\tu32 regs_save[16];\n\tstruct clk_hw_onecell_data clk_data;\n};\n\nstruct clk_parent_data {\n\tconst struct clk_hw *hw;\n\tconst char *fw_name;\n\tconst char *name;\n\tint index;\n};\n\nstruct clk_imx8mp_audiomix_sel {\n\tconst char *name;\n\tint clkid;\n\tconst struct clk_parent_data parent;\n\tconst struct clk_parent_data *parents;\n\tint num_parents;\n\tu16 reg;\n\tu8 width;\n\tu8 shift;\n};\n\nstruct device_link;\n\nstruct clk_imx_acm_pm_domains {\n\tstruct device **pd_dev;\n\tstruct device_link **pd_dev_link;\n\tint num_domains;\n};\n\nstruct clk_init_data {\n\tconst char *name;\n\tconst struct clk_ops *ops;\n\tconst char * const *parent_names;\n\tconst struct clk_parent_data *parent_data;\n\tconst struct clk_hw **parent_hws;\n\tu8 num_parents;\n\tlong unsigned int flags;\n};\n\nstruct clk_lookup {\n\tstruct list_head node;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct clk *clk;\n\tstruct clk_hw *clk_hw;\n};\n\nstruct clk_lookup_alloc {\n\tstruct clk_lookup cl;\n\tchar dev_id[24];\n\tchar con_id[16];\n};\n\nstruct clk_lpcg_scu {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 bit_idx;\n\tbool hw_gate;\n\tu32 state;\n};\n\nstruct clk_mem_branch {\n\tu32 mem_enable_reg;\n\tu32 mem_ack_reg;\n\tu32 mem_enable_ack_mask;\n\tstruct clk_branch branch;\n};\n\nstruct clk_multiplier {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu8 width;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct srcu_node;\n\nstruct srcu_usage {\n\tstruct srcu_node *node;\n\tstruct srcu_node *level[3];\n\tint srcu_size_state;\n\tstruct mutex srcu_cb_mutex;\n\tspinlock_t lock;\n\tstruct mutex srcu_gp_mutex;\n\tlong unsigned int srcu_gp_seq;\n\tlong unsigned int srcu_gp_seq_needed;\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tlong unsigned int srcu_gp_start;\n\tlong unsigned int srcu_last_gp_end;\n\tlong unsigned int srcu_size_jiffies;\n\tlong unsigned int srcu_n_lock_retries;\n\tlong unsigned int srcu_n_exp_nodelay;\n\tbool sda_is_static;\n\tlong unsigned int srcu_barrier_seq;\n\tstruct mutex srcu_barrier_mutex;\n\tstruct completion srcu_barrier_completion;\n\tatomic_t srcu_barrier_cpu_cnt;\n\tlong unsigned int reschedule_jiffies;\n\tlong unsigned int reschedule_count;\n\tstruct delayed_work work;\n\tstruct srcu_struct *srcu_ssp;\n};\n\nstruct srcu_data;\n\nstruct srcu_struct {\n\tunsigned int srcu_idx;\n\tstruct srcu_data *sda;\n\tstruct lockdep_map dep_map;\n\tstruct srcu_usage *srcu_sup;\n};\n\nstruct srcu_notifier_head {\n\tstruct mutex mutex;\n\tstruct srcu_usage srcuu;\n\tstruct srcu_struct srcu;\n\tstruct notifier_block *head;\n};\n\nstruct clk_notifier {\n\tstruct clk *clk;\n\tstruct srcu_notifier_head notifier_head;\n\tstruct list_head node;\n};\n\nstruct clk_notifier_data {\n\tstruct clk *clk;\n\tlong unsigned int old_rate;\n\tlong unsigned int new_rate;\n};\n\nstruct clk_notifier_devres {\n\tstruct clk *clk;\n\tstruct notifier_block *nb;\n};\n\nstruct clk_onecell_data {\n\tstruct clk **clks;\n\tunsigned int clk_num;\n};\n\nstruct clk_parent_map {\n\tconst struct clk_hw *hw;\n\tstruct clk_core *core;\n\tconst char *fw_name;\n\tconst char *name;\n\tint index;\n};\n\nstruct clk_periph_data {\n\tconst char *name;\n\tconst char * const *parent_names;\n\tint num_parents;\n\tstruct clk_hw *mux_hw;\n\tstruct clk_hw *rate_hw;\n\tstruct clk_hw *gate_hw;\n\tstruct clk_hw *muxrate_hw;\n\tbool is_double_div;\n};\n\nstruct clk_periph_driver_data {\n\tstruct clk_hw_onecell_data *hw_data;\n\tspinlock_t lock;\n\tvoid *reg;\n\tu32 tbg_sel;\n\tu32 div_sel0;\n\tu32 div_sel1;\n\tu32 div_sel2;\n\tu32 clk_sel;\n\tu32 clk_dis;\n};\n\nstruct clk_pfd {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 idx;\n};\n\nstruct clk_pfdv2 {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 gate_bit;\n\tu8 vld_bit;\n\tu8 frac_off;\n};\n\nstruct pll_freq_tbl;\n\nstruct clk_pll {\n\tu32 l_reg;\n\tu32 m_reg;\n\tu32 n_reg;\n\tu32 config_reg;\n\tu32 mode_reg;\n\tu32 status_reg;\n\tu8 status_bit;\n\tu8 post_div_width;\n\tu8 post_div_shift;\n\tconst struct pll_freq_tbl *freq_tbl;\n\tstruct clk_regmap clkr;\n};\n\nstruct imx_pll14xx_rate_table;\n\nstruct clk_pll14xx {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tenum imx_pll14xx_type type;\n\tconst struct imx_pll14xx_rate_table *rate_table;\n\tint rate_count;\n};\n\nstruct clk_pll_table {\n\tunsigned int val;\n\tlong unsigned int rate;\n};\n\nstruct clk_plldig {\n\tstruct clk_hw hw;\n\tvoid *regs;\n\tunsigned int vco_freq;\n};\n\nstruct clk_pllv1 {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tenum imx_pllv1_type type;\n};\n\nstruct clk_pllv2 {\n\tstruct clk_hw hw;\n\tvoid *base;\n};\n\nstruct clk_pllv3 {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tu32 power_bit;\n\tbool powerup_set;\n\tu32 div_mask;\n\tu32 div_shift;\n\tlong unsigned int ref_clock;\n\tu32 num_offset;\n\tu32 denom_offset;\n};\n\nstruct clk_pllv3_vf610_mf {\n\tu32 mfi;\n\tu32 mfn;\n\tu32 mfd;\n};\n\nstruct clk_pllv4 {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tu32 cfg_offset;\n\tu32 num_offset;\n\tu32 denom_offset;\n\tbool use_mult_range;\n};\n\nstruct clk_pm_cpu {\n\tstruct clk_hw hw;\n\tvoid *reg_mux;\n\tu8 shift_mux;\n\tu32 mask_mux;\n\tvoid *reg_div;\n\tu8 shift_div;\n\tstruct regmap *nb_pm_base;\n\tlong unsigned int l1_expiration;\n};\n\nstruct pwm_device;\n\nstruct clk_pwm {\n\tstruct clk_hw hw;\n\tstruct pwm_device *pwm;\n\tu32 fixed_rate;\n};\n\nstruct clk_rate_request {\n\tstruct clk_core *core;\n\tlong unsigned int rate;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int best_parent_rate;\n\tstruct clk_hw *best_parent_hw;\n};\n\nstruct clk_rcg {\n\tu32 ns_reg;\n\tu32 md_reg;\n\tstruct mn mn;\n\tstruct pre_div p;\n\tstruct src_sel s;\n\tconst struct freq_tbl *freq_tbl;\n\tstruct clk_regmap clkr;\n};\n\nstruct freq_multi_tbl;\n\nstruct clk_rcg2 {\n\tu32 cmd_rcgr;\n\tu8 mnd_width;\n\tu8 hid_width;\n\tu8 safe_src_index;\n\tconst struct parent_map *parent_map;\n\tunion {\n\t\tconst struct freq_tbl *freq_tbl;\n\t\tconst struct freq_multi_tbl *freq_multi_tbl;\n\t};\n\tstruct clk_regmap clkr;\n\tu8 cfg_off;\n\tu32 parked_cfg;\n\tbool hw_clk_ctrl;\n};\n\nstruct clk_rcg2_gfx3d {\n\tu8 div;\n\tstruct clk_rcg2 rcg;\n\tstruct clk_hw **hws;\n};\n\nstruct clk_rcg_dfs_data {\n\tstruct clk_rcg2 *rcg;\n\tstruct clk_init_data *init;\n};\n\nstruct clk_regmap___2 {\n\tstruct clk_hw hw;\n\tstruct regmap *map;\n\tvoid *data;\n};\n\nstruct clk_regmap_div {\n\tu32 reg;\n\tu32 shift;\n\tu32 width;\n\tstruct clk_regmap clkr;\n};\n\nstruct clk_regmap_div_data {\n\tunsigned int offset;\n\tu8 shift;\n\tu8 width;\n\tu8 flags;\n\tconst struct clk_div_table *table;\n};\n\nstruct clk_regmap_gate_data {\n\tunsigned int offset;\n\tu8 bit_idx;\n\tu8 flags;\n};\n\nstruct clk_regmap_mux {\n\tu32 reg;\n\tu32 shift;\n\tu32 width;\n\tconst struct parent_map *parent_map;\n\tstruct clk_regmap clkr;\n};\n\nstruct clk_regmap_mux_data {\n\tunsigned int offset;\n\tu32 *table;\n\tu32 mask;\n\tu8 shift;\n\tu8 flags;\n};\n\nstruct clk_regmap_mux_div {\n\tu32 reg_offset;\n\tu32 hid_width;\n\tu32 hid_shift;\n\tu32 src_width;\n\tu32 src_shift;\n\tu32 div;\n\tu32 src;\n\tconst u32 *parent_map;\n\tstruct clk_regmap clkr;\n\tstruct clk *pclk;\n\tstruct notifier_block clk_nb;\n};\n\nstruct clk_regmap_phy_mux {\n\tu32 reg;\n\tstruct clk_regmap clkr;\n};\n\nstruct clk_rk3399_inits {\n\tvoid (*inits)(struct device_node *);\n};\n\nstruct clk_rk3568_inits {\n\tvoid (*inits)(struct device_node *);\n};\n\nstruct clk_rk3576_inits {\n\tvoid (*inits)(struct device_node *);\n};\n\nstruct clk_rpmh {\n\tstruct clk_hw hw;\n\tconst char *res_name;\n\tu8 div;\n\tu32 res_addr;\n\tu32 res_on_val;\n\tu32 state;\n\tu32 aggr_state;\n\tu32 last_sent_aggr_state;\n\tu32 valid_state_mask;\n\tu32 unit;\n\tstruct device *dev;\n\tstruct clk_rpmh *peer;\n};\n\nstruct clk_rpmh_desc {\n\tstruct clk_hw **clks;\n\tsize_t num_clks;\n};\n\nstruct clk_scu {\n\tstruct clk_hw hw;\n\tu16 rsrc_id;\n\tu8 clk_type;\n\tstruct clk_hw *parent;\n\tu8 parent_index;\n\tbool is_enabled;\n\tu32 rate;\n};\n\nstruct clk_set_value {\n\t__le16 id;\n\t__le16 reserved;\n\t__le32 rate;\n};\n\nstruct clk_smd_rpm {\n\tconst int rpm_res_type;\n\tconst int rpm_key;\n\tconst int rpm_clk_id;\n\tconst bool active_only;\n\tbool enabled;\n\tbool branch;\n\tstruct clk_smd_rpm *peer;\n\tstruct clk_hw hw;\n\tlong unsigned int rate;\n};\n\nstruct clk_smd_rpm_req {\n\t__le32 key;\n\t__le32 nbytes;\n\t__le32 value;\n};\n\nstruct clk_sscg_pll_setup {\n\tint divr1;\n\tint divf1;\n\tint divr2;\n\tint divf2;\n\tint divq;\n\tint bypass;\n\tuint64_t vco1;\n\tuint64_t vco2;\n\tuint64_t fout;\n\tuint64_t ref;\n\tuint64_t ref_div1;\n\tuint64_t ref_div2;\n\tuint64_t fout_request;\n\tint fout_error;\n};\n\nstruct clk_sscg_pll {\n\tstruct clk_hw hw;\n\tconst struct clk_ops ops;\n\tvoid *base;\n\tstruct clk_sscg_pll_setup setup;\n\tu8 parent;\n\tu8 bypass1;\n\tu8 bypass2;\n};\n\nstruct stm32_gate_cfg;\n\nstruct stm32_mux_cfg;\n\nstruct stm32_div_cfg;\n\nstruct clk_stm32_clock_data {\n\tu16 *gate_cpt;\n\tconst struct stm32_gate_cfg *gates;\n\tconst struct stm32_mux_cfg *muxes;\n\tconst struct stm32_div_cfg *dividers;\n\tstruct clk_hw * (*is_multi_mux)(struct clk_hw *);\n};\n\nstruct clk_stm32_composite {\n\tu16 gate_id;\n\tu16 mux_id;\n\tu16 div_id;\n\tstruct clk_hw hw;\n\tvoid *base;\n\tstruct clk_stm32_clock_data *clock_data;\n\tspinlock_t *lock;\n};\n\nstruct clk_stm32_div {\n\tu16 div_id;\n\tstruct clk_hw hw;\n\tvoid *base;\n\tstruct clk_stm32_clock_data *clock_data;\n\tspinlock_t *lock;\n};\n\nstruct clk_stm32_gate {\n\tu16 gate_id;\n\tstruct clk_hw hw;\n\tvoid *base;\n\tstruct clk_stm32_clock_data *clock_data;\n\tspinlock_t *lock;\n};\n\nstruct clk_stm32_mux {\n\tu16 mux_id;\n\tstruct clk_hw hw;\n\tvoid *base;\n\tstruct clk_stm32_clock_data *clock_data;\n\tspinlock_t *lock;\n};\n\nstruct stm32_reset_cfg;\n\nstruct clk_stm32_reset_data {\n\tconst struct reset_control_ops *ops;\n\tconst struct stm32_reset_cfg **reset_lines;\n\tunsigned int nr_lines;\n\tu32 clear_offset;\n};\n\nstruct clkgate_separated {\n\tstruct clk_hw hw;\n\tvoid *enable;\n\tu8 bit_idx;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct stm32_rcc_match_data;\n\nstruct clock_config {\n\tlong unsigned int id;\n\tint sec_id;\n\tvoid *clock_cfg;\n\tstruct clk_hw * (*func)(struct device *, const struct stm32_rcc_match_data *, void *, spinlock_t *, const struct clock_config *);\n};\n\nstruct clock_read_data {\n\tu64 epoch_ns;\n\tu64 epoch_cyc;\n\tu64 sched_clock_mask;\n\tu64 (*read_sched_clock)(void);\n\tu32 mult;\n\tu32 shift;\n};\n\nstruct clock_data {\n\tseqcount_latch_t seq;\n\tstruct clock_read_data read_data[2];\n\tktime_t wrap_kt;\n\tlong unsigned int rate;\n\tu64 (*actual_read_sched_clock)(void);\n};\n\nstruct clock_identity {\n\tu8 id[8];\n};\n\nstruct scmi_clock_info;\n\nstruct scmi_protocol_handle;\n\nstruct clock_info {\n\tu32 version;\n\tint num_clocks;\n\tint max_async_req;\n\tbool notify_rate_changed_cmd;\n\tbool notify_rate_change_requested_cmd;\n\tatomic_t cur_async_req;\n\tstruct scmi_clock_info *clk;\n\tint (*clock_config_set)(const struct scmi_protocol_handle *, u32, enum clk_state, enum scmi_clock_oem_config, u32, bool);\n\tint (*clock_config_get)(const struct scmi_protocol_handle *, u32, enum scmi_clock_oem_config, u32 *, bool *, u32 *, bool);\n};\n\nstruct clock_parent {\n\tchar name[50];\n\tint id;\n\tu32 flag;\n};\n\nstruct clock_provider {\n\tvoid (*clk_init_cb)(struct device_node *);\n\tstruct device_node *np;\n\tstruct list_head node;\n};\n\nstruct clock_topology {\n\tu32 type;\n\tu32 flag;\n\tu32 type_flag;\n\tu8 custom_type_flag;\n};\n\nstruct clockgen_muxinfo;\n\nstruct clockgen;\n\nstruct clockgen_chipinfo {\n\tconst char *compat;\n\tconst char *guts_compat;\n\tconst struct clockgen_muxinfo *cmux_groups[2];\n\tconst struct clockgen_muxinfo *hwaccel[5];\n\tvoid (*init_periph)(struct clockgen *);\n\tint cmux_to_group[9];\n\tu32 pll_mask;\n\tu32 flags;\n};\n\nstruct clockgen_pll_div {\n\tstruct clk *clk;\n\tchar name[32];\n};\n\nstruct clockgen_pll {\n\tstruct clockgen_pll_div div[32];\n};\n\nstruct clockgen {\n\tstruct device_node *node;\n\tvoid *regs;\n\tstruct clockgen_chipinfo info;\n\tstruct clk *sysclk;\n\tstruct clk *coreclk;\n\tstruct clockgen_pll pll[6];\n\tstruct clk *cmux[8];\n\tstruct clk *hwaccel[5];\n\tstruct clk *fman[2];\n\tstruct ccsr_guts *guts;\n};\n\nstruct clockgen_sourceinfo {\n\tu32 flags;\n\tint pll;\n\tint div;\n};\n\nstruct clockgen_muxinfo {\n\tstruct clockgen_sourceinfo clksel[16];\n};\n\nstruct clocksource_base;\n\nstruct clocksource {\n\tu64 (*read)(struct clocksource *);\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n\tu64 max_idle_ns;\n\tu32 maxadj;\n\tu32 uncertainty_margin;\n\tu64 max_cycles;\n\tu64 max_raw_delta;\n\tconst char *name;\n\tstruct list_head list;\n\tu32 freq_khz;\n\tint rating;\n\tenum clocksource_ids id;\n\tenum vdso_clock_mode vdso_clock_mode;\n\tlong unsigned int flags;\n\tstruct clocksource_base *base;\n\tint (*enable)(struct clocksource *);\n\tvoid (*disable)(struct clocksource *);\n\tvoid (*suspend)(struct clocksource *);\n\tvoid (*resume)(struct clocksource *);\n\tvoid (*mark_unstable)(struct clocksource *);\n\tvoid (*tick_stable)(struct clocksource *);\n\tstruct module *owner;\n};\n\nstruct clocksource_base {\n\tenum clocksource_ids id;\n\tu32 freq_khz;\n\tu64 offset;\n\tu32 numerator;\n\tu32 denominator;\n};\n\nstruct clocksource_mmio {\n\tvoid *reg;\n\tstruct clocksource clksrc;\n};\n\nstruct clone_args {\n\t__u64 flags;\n\t__u64 pidfd;\n\t__u64 child_tid;\n\t__u64 parent_tid;\n\t__u64 exit_signal;\n\t__u64 stack;\n\t__u64 stack_size;\n\t__u64 tls;\n\t__u64 set_tid;\n\t__u64 set_tid_size;\n\t__u64 cgroup;\n};\n\nstruct l2cache_pmu;\n\nstruct cluster_pmu {\n\tstruct list_head next;\n\tstruct perf_event *events[9];\n\tstruct l2cache_pmu *l2cache_pmu;\n\tlong unsigned int used_counters[1];\n\tlong unsigned int used_groups[1];\n\tint irq;\n\tint cluster_id;\n\tint on_cpu;\n\tcpumask_t cluster_cpus;\n\tspinlock_t pmu_lock;\n};\n\nstruct cma {\n\tlong unsigned int base_pfn;\n\tlong unsigned int count;\n\tlong unsigned int *bitmap;\n\tunsigned int order_per_bit;\n\tspinlock_t lock;\n\tchar name[64];\n\tbool reserve_pages_on_error;\n};\n\nstruct cmd_bwmgr_int_calc_and_set_request {\n\tuint32_t client_id;\n\tuint32_t niso_bw;\n\tuint32_t iso_bw;\n\tuint32_t mc_floor;\n\tuint8_t floor_unit;\n} __attribute__((packed));\n\nstruct cmd_bwmgr_int_calc_and_set_response {\n\tuint64_t rate;\n};\n\nstruct cmd_bwmgr_int_cap_set_request {\n\tuint64_t rate;\n};\n\nstruct cmd_bwmgr_int_query_abi_request {\n\tuint32_t type;\n};\n\nstruct cmd_clk_disable_request {};\n\nstruct cmd_clk_enable_request {};\n\nstruct cmd_clk_get_all_info_request {};\n\nstruct cmd_clk_get_all_info_response {\n\tuint32_t flags;\n\tuint32_t parent;\n\tuint32_t parents[16];\n\tuint8_t num_parents;\n\tuint8_t name[40];\n} __attribute__((packed));\n\nstruct cmd_clk_get_fmax_at_vmin_request {};\n\nstruct cmd_clk_get_max_clk_id_request {};\n\nstruct cmd_clk_get_max_clk_id_response {\n\tuint32_t max_id;\n};\n\nstruct cmd_clk_get_parent_request {};\n\nstruct cmd_clk_get_parent_response {\n\tuint32_t parent_id;\n};\n\nstruct cmd_clk_get_possible_parent_request {\n\tuint8_t parent_idx;\n};\n\nstruct cmd_clk_get_rate_request {};\n\nstruct cmd_clk_get_rate_response {\n\tint64_t rate;\n};\n\nstruct cmd_clk_is_enabled_request {};\n\nstruct cmd_clk_is_enabled_response {\n\tint32_t state;\n};\n\nstruct cmd_clk_num_possible_parents_request {};\n\nstruct cmd_clk_possible_parents_request {};\n\nstruct cmd_clk_properties_request {};\n\nstruct cmd_clk_round_rate_request {\n\tint32_t unused;\n\tint64_t rate;\n} __attribute__((packed));\n\nstruct cmd_clk_round_rate_response {\n\tint64_t rate;\n};\n\nstruct cmd_clk_set_parent_request {\n\tuint32_t parent_id;\n};\n\nstruct cmd_clk_set_parent_response {\n\tuint32_t parent_id;\n};\n\nstruct cmd_clk_set_rate_request {\n\tint32_t unused;\n\tint64_t rate;\n} __attribute__((packed));\n\nstruct cmd_clk_set_rate_response {\n\tint64_t rate;\n};\n\nstruct rsc_hdr {\n\t__le16 slv_id;\n\t__le16 header_offset;\n\t__le16 data_offset;\n\t__le16 cnt;\n\t__le16 version;\n\t__le16 reserved[3];\n};\n\nstruct cmd_db_header {\n\t__le32 version;\n\tu8 magic[4];\n\tstruct rsc_hdr header[8];\n\t__le32 checksum;\n\t__le32 reserved;\n\tu8 data[0];\n};\n\nstruct cmd_debug_fclose_request {\n\tuint32_t fd;\n};\n\nstruct cmd_debug_fopen_request {\n\tchar name[116];\n};\n\nstruct cmd_debug_fopen_response {\n\tuint32_t fd;\n\tuint32_t datalen;\n};\n\nstruct cmd_debug_fread_request {\n\tuint32_t fd;\n};\n\nstruct cmd_debug_fread_response {\n\tuint32_t readlen;\n\tchar data[116];\n};\n\nstruct cmd_debug_fwrite_request {\n\tuint32_t fd;\n\tuint32_t datalen;\n\tchar data[108];\n};\n\nstruct cmd_debugfs_dumpdir_request {\n\tuint32_t dataaddr;\n\tuint32_t datalen;\n};\n\nstruct cmd_debugfs_dumpdir_response {\n\tuint32_t reserved;\n\tuint32_t nbytes;\n};\n\nstruct cmd_debugfs_fileop_request {\n\tuint32_t fnameaddr;\n\tuint32_t fnamelen;\n\tuint32_t dataaddr;\n\tuint32_t datalen;\n};\n\nstruct cmd_debugfs_fileop_response {\n\tuint32_t reserved;\n\tuint32_t nbytes;\n};\n\nstruct cmd_i2c_xfer_request {\n\tuint32_t bus_id;\n\tuint32_t data_size;\n\tuint8_t data_buf[108];\n};\n\nstruct cmd_i2c_xfer_response {\n\tuint32_t data_size;\n\tuint8_t data_buf[116];\n};\n\nstruct cmd_pg_get_max_id_response {\n\tuint32_t max_id;\n};\n\nstruct cmd_pg_get_name_response {\n\tuint8_t name[40];\n};\n\nstruct cmd_pg_get_state_response {\n\tuint32_t state;\n};\n\nstruct cmd_pg_query_abi_request {\n\tuint32_t type;\n};\n\nstruct cmd_pg_set_state_request {\n\tuint32_t state;\n};\n\nstruct cmis_cdb_advert_rpl {\n\tu8 inst_supported;\n\tu8 read_write_len_ext;\n\tu8 resv1;\n\tu8 resv2;\n};\n\nstruct cmis_cdb_fw_mng_features_rpl {\n\tu8 resv1;\n\tu8 resv2;\n\tu8 start_cmd_payload_size;\n\tu8 resv3;\n\tu8 read_write_len_ext;\n\tu8 write_mechanism;\n\tu8 resv4;\n\tu8 resv5;\n\t__be16 max_duration_start;\n\t__be16 resv6;\n\t__be16 max_duration_write;\n\t__be16 max_duration_complete;\n\t__be16 resv7;\n};\n\nstruct cmis_cdb_module_features_rpl {\n\tu8 resv1[34];\n\t__be16 max_completion_time;\n};\n\nstruct cmis_cdb_query_status_pl {\n\tu16 response_delay;\n};\n\nstruct cmis_cdb_query_status_rpl {\n\tu8 length;\n\tu8 status;\n};\n\nstruct cmis_cdb_run_fw_image_pl {\n\tu8 resv1;\n\tu8 image_to_run;\n\tu16 delay_to_reset;\n};\n\nstruct cmis_cdb_start_fw_download_pl_h {\n\t__be32 image_size;\n\t__be32 resv1;\n};\n\nstruct cmis_cdb_start_fw_download_pl {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 image_size;\n\t\t\t__be32 resv1;\n\t\t};\n\t\tstruct cmis_cdb_start_fw_download_pl_h head;\n\t};\n\tu8 vendor_data[112];\n};\n\nstruct cmis_cdb_write_fw_block_epl_pl {\n\tu8 fw_block[2048];\n};\n\nstruct cmis_cdb_write_fw_block_lpl_pl {\n\t__be32 block_address;\n\tu8 fw_block[116];\n};\n\nstruct cmis_fw_update_fw_mng_features {\n\tu8 start_cmd_payload_size;\n\tu8 write_mechanism;\n\tu16 max_duration_start;\n\tu16 max_duration_write;\n\tu16 max_duration_complete;\n};\n\nstruct cmis_password_entry_pl {\n\t__be32 password;\n};\n\nstruct cmis_rev_rpl {\n\tu8 rev;\n};\n\nstruct cmis_wait_for_cond_rpl {\n\tu8 state;\n};\n\nstruct crypto_comp;\n\nstruct cmp_data {\n\tstruct task_struct *thr;\n\tstruct crypto_comp *cc;\n\tatomic_t ready;\n\tatomic_t stop;\n\tint ret;\n\twait_queue_head_t go;\n\twait_queue_head_t done;\n\tsize_t unc_len;\n\tsize_t cmp_len;\n\tunsigned char unc[131072];\n\tunsigned char cmp[143360];\n};\n\nstruct cmsghdr {\n\t__kernel_size_t cmsg_len;\n\tint cmsg_level;\n\tint cmsg_type;\n};\n\nstruct cn10k_rng {\n\tvoid *reg_base;\n\tstruct hwrng ops;\n\tstruct pci_dev *pdev;\n\tbool extended_trng_regs;\n};\n\nstruct ethtool_coalesce {\n\t__u32 cmd;\n\t__u32 rx_coalesce_usecs;\n\t__u32 rx_max_coalesced_frames;\n\t__u32 rx_coalesce_usecs_irq;\n\t__u32 rx_max_coalesced_frames_irq;\n\t__u32 tx_coalesce_usecs;\n\t__u32 tx_max_coalesced_frames;\n\t__u32 tx_coalesce_usecs_irq;\n\t__u32 tx_max_coalesced_frames_irq;\n\t__u32 stats_block_coalesce_usecs;\n\t__u32 use_adaptive_rx_coalesce;\n\t__u32 use_adaptive_tx_coalesce;\n\t__u32 pkt_rate_low;\n\t__u32 rx_coalesce_usecs_low;\n\t__u32 rx_max_coalesced_frames_low;\n\t__u32 tx_coalesce_usecs_low;\n\t__u32 tx_max_coalesced_frames_low;\n\t__u32 pkt_rate_high;\n\t__u32 rx_coalesce_usecs_high;\n\t__u32 rx_max_coalesced_frames_high;\n\t__u32 tx_coalesce_usecs_high;\n\t__u32 tx_max_coalesced_frames_high;\n\t__u32 rate_sample_interval;\n};\n\nstruct kernel_ethtool_coalesce {\n\tu8 use_cqe_mode_tx;\n\tu8 use_cqe_mode_rx;\n\tu32 tx_aggr_max_bytes;\n\tu32 tx_aggr_max_frames;\n\tu32 tx_aggr_time_usecs;\n};\n\nstruct coalesce_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_coalesce coalesce;\n\tstruct kernel_ethtool_coalesce kernel_coalesce;\n\tu32 supported_params;\n};\n\nstruct collapse_control {\n\tbool is_khugepaged;\n\tu32 node_load[16];\n\tnodemask_t alloc_nmask;\n};\n\nstruct combiner_reg {\n\tvoid *addr;\n\tlong unsigned int enabled;\n};\n\nstruct combiner {\n\tstruct irq_domain *domain;\n\tint parent_irq;\n\tu32 nirqs;\n\tu32 nregs;\n\tstruct combiner_reg regs[0];\n};\n\nstruct command {\n\t__le16 id;\n\t__le16 lcid;\n\t__le32 count;\n\t__le32 size;\n\t__le32 liid;\n};\n\nstruct commit_header {\n\t__be32 h_magic;\n\t__be32 h_blocktype;\n\t__be32 h_sequence;\n\tunsigned char h_chksum_type;\n\tunsigned char h_chksum_size;\n\tunsigned char h_padding[2];\n\t__be32 h_chksum[8];\n\t__be64 h_commit_sec;\n\t__be32 h_commit_nsec;\n};\n\nstruct common {\n\tu8 verb;\n\tu8 reserved[63];\n};\n\nstruct lsm_network_audit;\n\nstruct lsm_ioctlop_audit;\n\nstruct lsm_ibpkey_audit;\n\nstruct lsm_ibendport_audit;\n\nstruct common_audit_data {\n\tchar type;\n\tunion {\n\t\tstruct path path;\n\t\tstruct dentry *dentry;\n\t\tstruct inode *inode;\n\t\tstruct lsm_network_audit *net;\n\t\tint cap;\n\t\tint ipc_id;\n\t\tstruct task_struct *tsk;\n\t\tstruct {\n\t\t\tkey_serial_t key;\n\t\t\tchar *key_desc;\n\t\t} key_struct;\n\t\tchar *kmod_name;\n\t\tstruct lsm_ioctlop_audit *op;\n\t\tstruct file *file;\n\t\tstruct lsm_ibpkey_audit *ibpkey;\n\t\tstruct lsm_ibendport_audit *ibendport;\n\t\tint reason;\n\t\tconst char *anonclass;\n\t\tu16 nlmsg_type;\n\t} u;\n\tunion {};\n};\n\nstruct zone;\n\nstruct compact_control {\n\tstruct list_head freepages[11];\n\tstruct list_head migratepages;\n\tunsigned int nr_freepages;\n\tunsigned int nr_migratepages;\n\tlong unsigned int free_pfn;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int fast_start_pfn;\n\tstruct zone *zone;\n\tlong unsigned int total_migrate_scanned;\n\tlong unsigned int total_free_scanned;\n\tshort unsigned int fast_search_fail;\n\tshort int search_order;\n\tconst gfp_t gfp_mask;\n\tint order;\n\tint migratetype;\n\tconst unsigned int alloc_flags;\n\tconst int highest_zoneidx;\n\tenum migrate_mode mode;\n\tbool ignore_skip_hint;\n\tbool no_set_skip_hint;\n\tbool ignore_block_suitable;\n\tbool direct_compaction;\n\tbool proactive_compaction;\n\tbool whole_zone;\n\tbool contended;\n\tbool finish_pageblock;\n\tbool alloc_contig;\n};\n\nstruct compat_user_vfp {\n\tcompat_u64 fpregs[32];\n\tcompat_ulong_t fpscr;\n};\n\nstruct compat_user_vfp_exc {\n\tcompat_ulong_t fpexc;\n\tcompat_ulong_t fpinst;\n\tcompat_ulong_t fpinst2;\n};\n\nstruct compat_vfp_sigframe {\n\tcompat_ulong_t magic;\n\tcompat_ulong_t size;\n\tstruct compat_user_vfp ufp;\n\tstruct compat_user_vfp_exc ufp_exc;\n};\n\nstruct compat_aux_sigframe {\n\tstruct compat_vfp_sigframe vfp;\n\tlong unsigned int end_magic;\n};\n\nstruct compat_blkpg_ioctl_arg {\n\tcompat_int_t op;\n\tcompat_int_t flags;\n\tcompat_int_t datalen;\n\tcompat_caddr_t data;\n};\n\nstruct compat_cdrom_generic_command {\n\tunsigned char cmd[12];\n\tcompat_caddr_t buffer;\n\tcompat_uint_t buflen;\n\tcompat_int_t stat;\n\tcompat_caddr_t sense;\n\tunsigned char data_direction;\n\tunsigned char pad[3];\n\tcompat_int_t quiet;\n\tcompat_int_t timeout;\n\tcompat_caddr_t unused;\n};\n\nstruct compat_cmsghdr {\n\tcompat_size_t cmsg_len;\n\tcompat_int_t cmsg_level;\n\tcompat_int_t cmsg_type;\n};\n\nstruct compat_console_font_op {\n\tcompat_uint_t op;\n\tcompat_uint_t flags;\n\tcompat_uint_t width;\n\tcompat_uint_t height;\n\tcompat_uint_t charcount;\n\tcompat_caddr_t data;\n};\n\nstruct compat_dirent {\n\tu32 d_ino;\n\tcompat_off_t d_off;\n\tu16 d_reclen;\n\tchar d_name[256];\n};\n\nstruct compat_elf_prpsinfo {\n\tchar pr_state;\n\tchar pr_sname;\n\tchar pr_zomb;\n\tchar pr_nice;\n\tcompat_ulong_t pr_flag;\n\t__compat_uid_t pr_uid;\n\t__compat_gid_t pr_gid;\n\tcompat_pid_t pr_pid;\n\tcompat_pid_t pr_ppid;\n\tcompat_pid_t pr_pgrp;\n\tcompat_pid_t pr_sid;\n\tchar pr_fname[16];\n\tchar pr_psargs[80];\n};\n\nstruct compat_elf_siginfo {\n\tcompat_int_t si_signo;\n\tcompat_int_t si_code;\n\tcompat_int_t si_errno;\n};\n\nstruct old_timeval32 {\n\told_time32_t tv_sec;\n\ts32 tv_usec;\n};\n\nstruct compat_elf_prstatus_common {\n\tstruct compat_elf_siginfo pr_info;\n\tshort int pr_cursig;\n\tcompat_ulong_t pr_sigpend;\n\tcompat_ulong_t pr_sighold;\n\tcompat_pid_t pr_pid;\n\tcompat_pid_t pr_ppid;\n\tcompat_pid_t pr_pgrp;\n\tcompat_pid_t pr_sid;\n\tstruct old_timeval32 pr_utime;\n\tstruct old_timeval32 pr_stime;\n\tstruct old_timeval32 pr_cutime;\n\tstruct old_timeval32 pr_cstime;\n};\n\nstruct compat_elf_prstatus {\n\tstruct compat_elf_prstatus_common common;\n\tcompat_elf_gregset_t pr_reg;\n\tcompat_int_t pr_fpvalid;\n};\n\nstruct compat_ext4_new_group_input {\n\tu32 group;\n\tcompat_u64 block_bitmap;\n\tcompat_u64 inode_bitmap;\n\tcompat_u64 inode_table;\n\tu32 blocks_count;\n\tu16 reserved_blocks;\n\tu16 unused;\n};\n\nstruct compat_flock {\n\tshort int l_type;\n\tshort int l_whence;\n\tcompat_off_t l_start;\n\tcompat_off_t l_len;\n\tcompat_pid_t l_pid;\n};\n\nstruct compat_flock64 {\n\tshort int l_type;\n\tshort int l_whence;\n\tcompat_loff_t l_start;\n\tcompat_loff_t l_len;\n\tcompat_pid_t l_pid;\n};\n\nstruct compat_frame_tail {\n\tcompat_uptr_t fp;\n\tu32 sp;\n\tu32 lr;\n};\n\nstruct dir_context;\n\ntypedef bool (*filldir_t)(struct dir_context *, const char *, int, loff_t, u64, unsigned int);\n\nstruct dir_context {\n\tfilldir_t actor;\n\tloff_t pos;\n};\n\nstruct compat_linux_dirent;\n\nstruct compat_getdents_callback {\n\tstruct dir_context ctx;\n\tstruct compat_linux_dirent *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct compat_group_filter {\n\tunion {\n\t\tstruct {\n\t\t\t__u32 gf_interface_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_group_aux;\n\t\t\t__u32 gf_fmode_aux;\n\t\t\t__u32 gf_numsrc_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist[1];\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\t__u32 gf_interface;\n\t\t\tstruct __kernel_sockaddr_storage gf_group;\n\t\t\t__u32 gf_fmode;\n\t\t\t__u32 gf_numsrc;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist_flex[0];\n\t\t} __attribute__((packed));\n\t};\n};\n\nstruct compat_group_req {\n\t__u32 gr_interface;\n\tstruct __kernel_sockaddr_storage gr_group;\n} __attribute__((packed));\n\nstruct compat_group_source_req {\n\t__u32 gsr_interface;\n\tstruct __kernel_sockaddr_storage gsr_group;\n\tstruct __kernel_sockaddr_storage gsr_source;\n} __attribute__((packed));\n\nstruct compat_hd_geometry {\n\tunsigned char heads;\n\tunsigned char sectors;\n\tshort unsigned int cylinders;\n\tu32 start;\n};\n\nstruct compat_if_dqblk {\n\tcompat_u64 dqb_bhardlimit;\n\tcompat_u64 dqb_bsoftlimit;\n\tcompat_u64 dqb_curspace;\n\tcompat_u64 dqb_ihardlimit;\n\tcompat_u64 dqb_isoftlimit;\n\tcompat_u64 dqb_curinodes;\n\tcompat_u64 dqb_btime;\n\tcompat_u64 dqb_itime;\n\tcompat_uint_t dqb_valid;\n};\n\nstruct compat_if_settings {\n\tunsigned int type;\n\tunsigned int size;\n\tcompat_uptr_t ifs_ifsu;\n};\n\nstruct compat_ifconf {\n\tcompat_int_t ifc_len;\n\tcompat_caddr_t ifcbuf;\n};\n\nstruct compat_ifmap {\n\tcompat_ulong_t mem_start;\n\tcompat_ulong_t mem_end;\n\tshort unsigned int base_addr;\n\tunsigned char irq;\n\tunsigned char dma;\n\tunsigned char port;\n};\n\nstruct compat_ifreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion {\n\t\tstruct sockaddr ifru_addr;\n\t\tstruct sockaddr ifru_dstaddr;\n\t\tstruct sockaddr ifru_broadaddr;\n\t\tstruct sockaddr ifru_netmask;\n\t\tstruct sockaddr ifru_hwaddr;\n\t\tshort int ifru_flags;\n\t\tcompat_int_t ifru_ivalue;\n\t\tcompat_int_t ifru_mtu;\n\t\tstruct compat_ifmap ifru_map;\n\t\tchar ifru_slave[16];\n\t\tchar ifru_newname[16];\n\t\tcompat_caddr_t ifru_data;\n\t\tstruct compat_if_settings ifru_settings;\n\t} ifr_ifru;\n};\n\nstruct compat_iovec {\n\tcompat_uptr_t iov_base;\n\tcompat_size_t iov_len;\n};\n\nstruct compat_ipc64_perm {\n\tcompat_key_t key;\n\t__compat_uid32_t uid;\n\t__compat_gid32_t gid;\n\t__compat_uid32_t cuid;\n\t__compat_gid32_t cgid;\n\tcompat_mode_t mode;\n\tunsigned char __pad1[2];\n\tcompat_ushort_t seq;\n\tcompat_ushort_t __pad2;\n\tcompat_ulong_t unused1;\n\tcompat_ulong_t unused2;\n};\n\nstruct compat_ipc_perm {\n\tkey_t key;\n\t__compat_uid_t uid;\n\t__compat_gid_t gid;\n\t__compat_uid_t cuid;\n\t__compat_gid_t cgid;\n\tcompat_mode_t mode;\n\tshort unsigned int seq;\n};\n\nstruct compat_kexec_segment {\n\tcompat_uptr_t buf;\n\tcompat_size_t bufsz;\n\tcompat_ulong_t mem;\n\tcompat_size_t memsz;\n};\n\nstruct compat_linux_dirent {\n\tcompat_ulong_t d_ino;\n\tcompat_ulong_t d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[0];\n};\n\nstruct compat_loop_info {\n\tcompat_int_t lo_number;\n\tcompat_dev_t lo_device;\n\tcompat_ulong_t lo_inode;\n\tcompat_dev_t lo_rdevice;\n\tcompat_int_t lo_offset;\n\tcompat_int_t lo_encrypt_type;\n\tcompat_int_t lo_encrypt_key_size;\n\tcompat_int_t lo_flags;\n\tchar lo_name[64];\n\tunsigned char lo_encrypt_key[32];\n\tcompat_ulong_t lo_init[2];\n\tchar reserved[4];\n};\n\nstruct megasas_header {\n\tu8 cmd;\n\tu8 sense_len;\n\tu8 cmd_status;\n\tu8 scsi_status;\n\tu8 target_id;\n\tu8 lun;\n\tu8 cdb_len;\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xferlen;\n};\n\nstruct compat_megasas_iocpacket {\n\tu16 host_no;\n\tu16 __pad1;\n\tu32 sgl_off;\n\tu32 sge_count;\n\tu32 sense_off;\n\tu32 sense_len;\n\tunion {\n\t\tu8 raw[128];\n\t\tstruct megasas_header hdr;\n\t} frame;\n\tstruct compat_iovec sgl[16];\n};\n\nstruct compat_msghdr {\n\tcompat_uptr_t msg_name;\n\tcompat_int_t msg_namelen;\n\tcompat_uptr_t msg_iov;\n\tcompat_size_t msg_iovlen;\n\tcompat_uptr_t msg_control;\n\tcompat_size_t msg_controllen;\n\tcompat_uint_t msg_flags;\n};\n\nstruct compat_mmsghdr {\n\tstruct compat_msghdr msg_hdr;\n\tcompat_uint_t msg_len;\n};\n\nstruct compat_mq_attr {\n\tcompat_long_t mq_flags;\n\tcompat_long_t mq_maxmsg;\n\tcompat_long_t mq_msgsize;\n\tcompat_long_t mq_curmsgs;\n\tcompat_long_t __reserved[4];\n};\n\nstruct compat_msgbuf {\n\tcompat_long_t mtype;\n\tchar mtext[0];\n};\n\nstruct compat_msqid64_ds {\n\tstruct compat_ipc64_perm msg_perm;\n\tcompat_ulong_t msg_stime;\n\tcompat_ulong_t msg_stime_high;\n\tcompat_ulong_t msg_rtime;\n\tcompat_ulong_t msg_rtime_high;\n\tcompat_ulong_t msg_ctime;\n\tcompat_ulong_t msg_ctime_high;\n\tcompat_ulong_t msg_cbytes;\n\tcompat_ulong_t msg_qnum;\n\tcompat_ulong_t msg_qbytes;\n\tcompat_pid_t msg_lspid;\n\tcompat_pid_t msg_lrpid;\n\tcompat_ulong_t __unused4;\n\tcompat_ulong_t __unused5;\n};\n\nstruct compat_msqid_ds {\n\tstruct compat_ipc_perm msg_perm;\n\tcompat_uptr_t msg_first;\n\tcompat_uptr_t msg_last;\n\told_time32_t msg_stime;\n\told_time32_t msg_rtime;\n\told_time32_t msg_ctime;\n\tcompat_ulong_t msg_lcbytes;\n\tcompat_ulong_t msg_lqbytes;\n\tshort unsigned int msg_cbytes;\n\tshort unsigned int msg_qnum;\n\tshort unsigned int msg_qbytes;\n\tcompat_ipc_pid_t msg_lspid;\n\tcompat_ipc_pid_t msg_lrpid;\n};\n\nstruct compat_nfs_string {\n\tcompat_uint_t len;\n\tcompat_uptr_t data;\n};\n\nstruct compat_nfs4_mount_data_v1 {\n\tcompat_int_t version;\n\tcompat_int_t flags;\n\tcompat_int_t rsize;\n\tcompat_int_t wsize;\n\tcompat_int_t timeo;\n\tcompat_int_t retrans;\n\tcompat_int_t acregmin;\n\tcompat_int_t acregmax;\n\tcompat_int_t acdirmin;\n\tcompat_int_t acdirmax;\n\tstruct compat_nfs_string client_addr;\n\tstruct compat_nfs_string mnt_path;\n\tstruct compat_nfs_string hostname;\n\tcompat_uint_t host_addrlen;\n\tcompat_uptr_t host_addr;\n\tcompat_int_t proto;\n\tcompat_int_t auth_flavourlen;\n\tcompat_uptr_t auth_flavours;\n};\n\nstruct compat_old_linux_dirent {\n\tcompat_ulong_t d_ino;\n\tcompat_ulong_t d_offset;\n\tshort unsigned int d_namlen;\n\tchar d_name[0];\n};\n\nstruct compat_old_sigaction {\n\tcompat_uptr_t sa_handler;\n\tcompat_old_sigset_t sa_mask;\n\tcompat_ulong_t sa_flags;\n\tcompat_uptr_t sa_restorer;\n};\n\nstruct compat_readdir_callback {\n\tstruct dir_context ctx;\n\tstruct compat_old_linux_dirent *dirent;\n\tint result;\n};\n\nstruct compat_resume_swap_area {\n\tcompat_loff_t offset;\n\tu32 dev;\n} __attribute__((packed));\n\nstruct compat_rlimit {\n\tcompat_ulong_t rlim_cur;\n\tcompat_ulong_t rlim_max;\n};\n\nstruct compat_robust_list {\n\tcompat_uptr_t next;\n};\n\nstruct compat_robust_list_head {\n\tstruct compat_robust_list list;\n\tcompat_long_t futex_offset;\n\tcompat_uptr_t list_op_pending;\n};\n\nunion compat_sigval {\n\tcompat_int_t sival_int;\n\tcompat_uptr_t sival_ptr;\n};\n\ntypedef union compat_sigval compat_sigval_t;\n\nstruct compat_siginfo {\n\tint si_signo;\n\tint si_errno;\n\tint si_code;\n\tunion {\n\t\tint _pad[29];\n\t\tstruct {\n\t\t\tcompat_pid_t _pid;\n\t\t\t__compat_uid32_t _uid;\n\t\t} _kill;\n\t\tstruct {\n\t\t\tcompat_timer_t _tid;\n\t\t\tint _overrun;\n\t\t\tcompat_sigval_t _sigval;\n\t\t} _timer;\n\t\tstruct {\n\t\t\tcompat_pid_t _pid;\n\t\t\t__compat_uid32_t _uid;\n\t\t\tcompat_sigval_t _sigval;\n\t\t} _rt;\n\t\tstruct {\n\t\t\tcompat_pid_t _pid;\n\t\t\t__compat_uid32_t _uid;\n\t\t\tint _status;\n\t\t\tcompat_clock_t _utime;\n\t\t\tcompat_clock_t _stime;\n\t\t} _sigchld;\n\t\tstruct {\n\t\t\tcompat_uptr_t _addr;\n\t\t\tunion {\n\t\t\t\tint _trapno;\n\t\t\t\tshort int _addr_lsb;\n\t\t\t\tstruct {\n\t\t\t\t\tchar _dummy_bnd[4];\n\t\t\t\t\tcompat_uptr_t _lower;\n\t\t\t\t\tcompat_uptr_t _upper;\n\t\t\t\t} _addr_bnd;\n\t\t\t\tstruct {\n\t\t\t\t\tchar _dummy_pkey[4];\n\t\t\t\t\tu32 _pkey;\n\t\t\t\t} _addr_pkey;\n\t\t\t\tstruct {\n\t\t\t\t\tcompat_ulong_t _data;\n\t\t\t\t\tu32 _type;\n\t\t\t\t\tu32 _flags;\n\t\t\t\t} _perf;\n\t\t\t};\n\t\t} _sigfault;\n\t\tstruct {\n\t\t\tcompat_long_t _band;\n\t\t\tint _fd;\n\t\t} _sigpoll;\n\t\tstruct {\n\t\t\tcompat_uptr_t _call_addr;\n\t\t\tint _syscall;\n\t\t\tunsigned int _arch;\n\t\t} _sigsys;\n\t} _sifields;\n};\n\nstruct compat_sigaltstack {\n\tcompat_uptr_t ss_sp;\n\tint ss_flags;\n\tcompat_size_t ss_size;\n};\n\ntypedef struct compat_sigaltstack compat_stack_t;\n\nstruct compat_sigcontext {\n\tcompat_ulong_t trap_no;\n\tcompat_ulong_t error_code;\n\tcompat_ulong_t oldmask;\n\tcompat_ulong_t arm_r0;\n\tcompat_ulong_t arm_r1;\n\tcompat_ulong_t arm_r2;\n\tcompat_ulong_t arm_r3;\n\tcompat_ulong_t arm_r4;\n\tcompat_ulong_t arm_r5;\n\tcompat_ulong_t arm_r6;\n\tcompat_ulong_t arm_r7;\n\tcompat_ulong_t arm_r8;\n\tcompat_ulong_t arm_r9;\n\tcompat_ulong_t arm_r10;\n\tcompat_ulong_t arm_fp;\n\tcompat_ulong_t arm_ip;\n\tcompat_ulong_t arm_sp;\n\tcompat_ulong_t arm_lr;\n\tcompat_ulong_t arm_pc;\n\tcompat_ulong_t arm_cpsr;\n\tcompat_ulong_t fault_address;\n};\n\nstruct compat_ucontext {\n\tcompat_ulong_t uc_flags;\n\tcompat_uptr_t uc_link;\n\tcompat_stack_t uc_stack;\n\tstruct compat_sigcontext uc_mcontext;\n\tcompat_sigset_t uc_sigmask;\n\tint __unused[30];\n\tcompat_ulong_t uc_regspace[128];\n};\n\nstruct compat_sigframe {\n\tstruct compat_ucontext uc;\n\tcompat_ulong_t retcode[2];\n};\n\nstruct compat_rt_sigframe {\n\tstruct compat_siginfo info;\n\tstruct compat_sigframe sig;\n};\n\nstruct compat_rtentry {\n\tu32 rt_pad1;\n\tstruct sockaddr rt_dst;\n\tstruct sockaddr rt_gateway;\n\tstruct sockaddr rt_genmask;\n\tshort unsigned int rt_flags;\n\tshort int rt_pad2;\n\tu32 rt_pad3;\n\tunsigned char rt_tos;\n\tunsigned char rt_class;\n\tshort int rt_pad4;\n\tshort int rt_metric;\n\tcompat_uptr_t rt_dev;\n\tu32 rt_mtu;\n\tu32 rt_window;\n\tshort unsigned int rt_irtt;\n};\n\nstruct compat_rusage {\n\tstruct old_timeval32 ru_utime;\n\tstruct old_timeval32 ru_stime;\n\tcompat_long_t ru_maxrss;\n\tcompat_long_t ru_ixrss;\n\tcompat_long_t ru_idrss;\n\tcompat_long_t ru_isrss;\n\tcompat_long_t ru_minflt;\n\tcompat_long_t ru_majflt;\n\tcompat_long_t ru_nswap;\n\tcompat_long_t ru_inblock;\n\tcompat_long_t ru_oublock;\n\tcompat_long_t ru_msgsnd;\n\tcompat_long_t ru_msgrcv;\n\tcompat_long_t ru_nsignals;\n\tcompat_long_t ru_nvcsw;\n\tcompat_long_t ru_nivcsw;\n};\n\nstruct compat_sel_arg_struct {\n\tcompat_ulong_t n;\n\tcompat_uptr_t inp;\n\tcompat_uptr_t outp;\n\tcompat_uptr_t exp;\n\tcompat_uptr_t tvp;\n};\n\nstruct compat_semid64_ds {\n\tstruct compat_ipc64_perm sem_perm;\n\tcompat_ulong_t sem_otime;\n\tcompat_ulong_t sem_otime_high;\n\tcompat_ulong_t sem_ctime;\n\tcompat_ulong_t sem_ctime_high;\n\tcompat_ulong_t sem_nsems;\n\tcompat_ulong_t __unused3;\n\tcompat_ulong_t __unused4;\n};\n\nstruct compat_semid_ds {\n\tstruct compat_ipc_perm sem_perm;\n\told_time32_t sem_otime;\n\told_time32_t sem_ctime;\n\tcompat_uptr_t sem_base;\n\tcompat_uptr_t sem_pending;\n\tcompat_uptr_t sem_pending_last;\n\tcompat_uptr_t undo;\n\tshort unsigned int sem_nsems;\n};\n\nstruct compat_sg_io_hdr {\n\tcompat_int_t interface_id;\n\tcompat_int_t dxfer_direction;\n\tunsigned char cmd_len;\n\tunsigned char mx_sb_len;\n\tshort unsigned int iovec_count;\n\tcompat_uint_t dxfer_len;\n\tcompat_uint_t dxferp;\n\tcompat_uptr_t cmdp;\n\tcompat_uptr_t sbp;\n\tcompat_uint_t timeout;\n\tcompat_uint_t flags;\n\tcompat_int_t pack_id;\n\tcompat_uptr_t usr_ptr;\n\tunsigned char status;\n\tunsigned char masked_status;\n\tunsigned char msg_status;\n\tunsigned char sb_len_wr;\n\tshort unsigned int host_status;\n\tshort unsigned int driver_status;\n\tcompat_int_t resid;\n\tcompat_uint_t duration;\n\tcompat_uint_t info;\n};\n\nstruct compat_shm_info {\n\tcompat_int_t used_ids;\n\tcompat_ulong_t shm_tot;\n\tcompat_ulong_t shm_rss;\n\tcompat_ulong_t shm_swp;\n\tcompat_ulong_t swap_attempts;\n\tcompat_ulong_t swap_successes;\n};\n\nstruct compat_shmid64_ds {\n\tstruct compat_ipc64_perm shm_perm;\n\tcompat_size_t shm_segsz;\n\tcompat_ulong_t shm_atime;\n\tcompat_ulong_t shm_atime_high;\n\tcompat_ulong_t shm_dtime;\n\tcompat_ulong_t shm_dtime_high;\n\tcompat_ulong_t shm_ctime;\n\tcompat_ulong_t shm_ctime_high;\n\tcompat_pid_t shm_cpid;\n\tcompat_pid_t shm_lpid;\n\tcompat_ulong_t shm_nattch;\n\tcompat_ulong_t __unused4;\n\tcompat_ulong_t __unused5;\n};\n\nstruct compat_shmid_ds {\n\tstruct compat_ipc_perm shm_perm;\n\tint shm_segsz;\n\told_time32_t shm_atime;\n\told_time32_t shm_dtime;\n\told_time32_t shm_ctime;\n\tcompat_ipc_pid_t shm_cpid;\n\tcompat_ipc_pid_t shm_lpid;\n\tshort unsigned int shm_nattch;\n\tshort unsigned int shm_unused;\n\tcompat_uptr_t shm_unused2;\n\tcompat_uptr_t shm_unused3;\n};\n\nstruct compat_shminfo64 {\n\tcompat_ulong_t shmmax;\n\tcompat_ulong_t shmmin;\n\tcompat_ulong_t shmmni;\n\tcompat_ulong_t shmseg;\n\tcompat_ulong_t shmall;\n\tcompat_ulong_t __unused1;\n\tcompat_ulong_t __unused2;\n\tcompat_ulong_t __unused3;\n\tcompat_ulong_t __unused4;\n};\n\nstruct compat_sigaction {\n\tcompat_uptr_t sa_handler;\n\tcompat_ulong_t sa_flags;\n\tcompat_uptr_t sa_restorer;\n\tcompat_sigset_t sa_mask;\n};\n\nstruct compat_sigevent {\n\tcompat_sigval_t sigev_value;\n\tcompat_int_t sigev_signo;\n\tcompat_int_t sigev_notify;\n\tunion {\n\t\tcompat_int_t _pad[13];\n\t\tcompat_int_t _tid;\n\t\tstruct {\n\t\t\tcompat_uptr_t _function;\n\t\t\tcompat_uptr_t _attribute;\n\t\t} _sigev_thread;\n\t} _sigev_un;\n};\n\ntypedef struct compat_siginfo compat_siginfo_t;\n\nstruct compat_sigset_argpack {\n\tcompat_uptr_t p;\n\tcompat_size_t size;\n};\n\nstruct compat_snd_pcm_status64 {\n\tsnd_pcm_state_t state;\n\tu8 rsvd[4];\n\ts64 trigger_tstamp_sec;\n\ts64 trigger_tstamp_nsec;\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tu32 appl_ptr;\n\tu32 hw_ptr;\n\ts32 delay;\n\tu32 avail;\n\tu32 avail_max;\n\tu32 overrange;\n\tsnd_pcm_state_t suspended_state;\n\tu32 audio_tstamp_data;\n\ts64 audio_tstamp_sec;\n\ts64 audio_tstamp_nsec;\n\ts64 driver_tstamp_sec;\n\ts64 driver_tstamp_nsec;\n\tu32 audio_tstamp_accuracy;\n\tunsigned char reserved[20];\n};\n\nstruct compat_sock_fprog {\n\tu16 len;\n\tcompat_uptr_t filter;\n};\n\nstruct compat_stat {\n\tcompat_dev_t st_dev;\n\tcompat_ino_t st_ino;\n\tcompat_mode_t st_mode;\n\tcompat_ushort_t st_nlink;\n\t__compat_uid16_t st_uid;\n\t__compat_gid16_t st_gid;\n\tcompat_dev_t st_rdev;\n\tcompat_off_t st_size;\n\tcompat_off_t st_blksize;\n\tcompat_off_t st_blocks;\n\told_time32_t st_atime;\n\tcompat_ulong_t st_atime_nsec;\n\told_time32_t st_mtime;\n\tcompat_ulong_t st_mtime_nsec;\n\told_time32_t st_ctime;\n\tcompat_ulong_t st_ctime_nsec;\n\tcompat_ulong_t __unused4[2];\n};\n\nstruct compat_statfs {\n\tint f_type;\n\tint f_bsize;\n\tint f_blocks;\n\tint f_bfree;\n\tint f_bavail;\n\tint f_files;\n\tint f_ffree;\n\tcompat_fsid_t f_fsid;\n\tint f_namelen;\n\tint f_frsize;\n\tint f_flags;\n\tint f_spare[4];\n};\n\nstruct compat_statfs64 {\n\t__u32 f_type;\n\t__u32 f_bsize;\n\t__u64 f_blocks;\n\t__u64 f_bfree;\n\t__u64 f_bavail;\n\t__u64 f_files;\n\t__u64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__u32 f_namelen;\n\t__u32 f_frsize;\n\t__u32 f_flags;\n\t__u32 f_spare[4];\n} __attribute__((packed));\n\nstruct compat_sysinfo {\n\ts32 uptime;\n\tu32 loads[3];\n\tu32 totalram;\n\tu32 freeram;\n\tu32 sharedram;\n\tu32 bufferram;\n\tu32 totalswap;\n\tu32 freeswap;\n\tu16 procs;\n\tu16 pad;\n\tu32 totalhigh;\n\tu32 freehigh;\n\tu32 mem_unit;\n\tchar _f[8];\n};\n\nstruct compat_tms {\n\tcompat_clock_t tms_utime;\n\tcompat_clock_t tms_stime;\n\tcompat_clock_t tms_cutime;\n\tcompat_clock_t tms_cstime;\n};\n\nstruct compat_unimapdesc {\n\tshort unsigned int entry_ct;\n\tcompat_caddr_t entries;\n};\n\nstruct compat_ustat {\n\tcompat_daddr_t f_tfree;\n\tcompat_ino_t f_tinode;\n\tchar f_fname[6];\n\tchar f_fpack[6];\n};\n\nstruct component_ops;\n\nstruct component {\n\tstruct list_head node;\n\tstruct aggregate_device *adev;\n\tbool bound;\n\tconst struct component_ops *ops;\n\tint subcomponent;\n\tstruct device *dev;\n};\n\nstruct component_master_ops {\n\tint (*bind)(struct device *);\n\tvoid (*unbind)(struct device *);\n};\n\nstruct component_match_array;\n\nstruct component_match {\n\tsize_t alloc;\n\tsize_t num;\n\tstruct component_match_array *compare;\n};\n\nstruct component_match_array {\n\tvoid *data;\n\tint (*compare)(struct device *, void *);\n\tint (*compare_typed)(struct device *, int, void *);\n\tvoid (*release)(struct device *, void *);\n\tstruct component *component;\n\tbool duplicate;\n};\n\nstruct component_ops {\n\tint (*bind)(struct device *, struct device *, void *);\n\tvoid (*unbind)(struct device *, struct device *, void *);\n};\n\nstruct compound_hdr {\n\tint32_t status;\n\tuint32_t nops;\n\t__be32 *nops_p;\n\tuint32_t taglen;\n\tchar *tag;\n\tuint32_t replen;\n\tu32 minorversion;\n};\n\ntypedef int (*decompress_fn)(unsigned char *, long int, long int (*)(void *, long unsigned int), long int (*)(void *, long unsigned int), unsigned char *, long int *, void (*)(char *));\n\nstruct compress_format {\n\tunsigned char magic[2];\n\tconst char *name;\n\tdecompress_fn decompressor;\n};\n\nstruct consw;\n\nstruct con_driver {\n\tconst struct consw *con;\n\tconst char *desc;\n\tstruct device *dev;\n\tint node;\n\tint first;\n\tint last;\n\tint flag;\n};\n\nstruct config_group;\n\nstruct config_item_type;\n\nstruct config_item {\n\tchar *ci_name;\n\tchar ci_namebuf[20];\n\tstruct kref ci_kref;\n\tstruct list_head ci_entry;\n\tstruct config_item *ci_parent;\n\tstruct config_group *ci_group;\n\tconst struct config_item_type *ci_type;\n\tstruct dentry *ci_dentry;\n};\n\nstruct configfs_subsystem;\n\nstruct config_group {\n\tstruct config_item cg_item;\n\tstruct list_head cg_children;\n\tstruct configfs_subsystem *cg_subsys;\n\tstruct list_head default_groups;\n\tstruct list_head group_entry;\n};\n\nstruct configfs_item_operations;\n\nstruct configfs_group_operations;\n\nstruct configfs_attribute;\n\nstruct configfs_bin_attribute;\n\nstruct config_item_type {\n\tstruct module *ct_owner;\n\tstruct configfs_item_operations *ct_item_ops;\n\tstruct configfs_group_operations *ct_group_ops;\n\tstruct configfs_attribute **ct_attrs;\n\tstruct configfs_bin_attribute **ct_bin_attrs;\n};\n\nstruct deflate_state;\n\ntypedef struct deflate_state deflate_state;\n\ntypedef block_state (*compress_func)(deflate_state *, int);\n\nstruct config_s {\n\tush good_length;\n\tush max_lazy;\n\tush nice_length;\n\tush max_chain;\n\tcompress_func func;\n};\n\ntypedef struct config_s config;\n\nstruct configfs_attribute {\n\tconst char *ca_name;\n\tstruct module *ca_owner;\n\tumode_t ca_mode;\n\tssize_t (*show)(struct config_item *, char *);\n\tssize_t (*store)(struct config_item *, const char *, size_t);\n};\n\nstruct configfs_bin_attribute {\n\tstruct configfs_attribute cb_attr;\n\tvoid *cb_private;\n\tsize_t cb_max_size;\n\tssize_t (*read)(struct config_item *, void *, size_t);\n\tssize_t (*write)(struct config_item *, const void *, size_t);\n};\n\nstruct configfs_buffer {\n\tsize_t count;\n\tloff_t pos;\n\tchar *page;\n\tstruct configfs_item_operations *ops;\n\tstruct mutex mutex;\n\tint needs_read_fill;\n\tbool read_in_progress;\n\tbool write_in_progress;\n\tchar *bin_buffer;\n\tint bin_buffer_size;\n\tint cb_max_size;\n\tstruct config_item *item;\n\tstruct module *owner;\n\tunion {\n\t\tstruct configfs_attribute *attr;\n\t\tstruct configfs_bin_attribute *bin_attr;\n\t};\n};\n\nstruct iattr;\n\nstruct configfs_fragment;\n\nstruct configfs_dirent {\n\tatomic_t s_count;\n\tint s_dependent_count;\n\tstruct list_head s_sibling;\n\tstruct list_head s_children;\n\tint s_links;\n\tvoid *s_element;\n\tint s_type;\n\tumode_t s_mode;\n\tstruct dentry *s_dentry;\n\tstruct iattr *s_iattr;\n\tstruct configfs_fragment *s_frag;\n};\n\nstruct configfs_fragment {\n\tatomic_t frag_count;\n\tstruct rw_semaphore frag_sem;\n\tbool frag_dead;\n};\n\nstruct configfs_group_operations {\n\tstruct config_item * (*make_item)(struct config_group *, const char *);\n\tstruct config_group * (*make_group)(struct config_group *, const char *);\n\tvoid (*disconnect_notify)(struct config_group *, struct config_item *);\n\tvoid (*drop_item)(struct config_group *, struct config_item *);\n\tbool (*is_visible)(struct config_item *, struct configfs_attribute *, int);\n\tbool (*is_bin_visible)(struct config_item *, struct configfs_bin_attribute *, int);\n};\n\nstruct configfs_item_operations {\n\tvoid (*release)(struct config_item *);\n\tint (*allow_link)(struct config_item *, struct config_item *);\n\tvoid (*drop_link)(struct config_item *, struct config_item *);\n};\n\nstruct configfs_subsystem {\n\tstruct config_group su_group;\n\tstruct mutex su_mutex;\n};\n\nstruct connect_timeout_data {\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct console;\n\nstruct printk_buffers;\n\nstruct nbcon_context {\n\tstruct console *console;\n\tunsigned int spinwait_max_us;\n\tenum nbcon_prio prio;\n\tunsigned int allow_unsafe_takeover: 1;\n\tunsigned int backlog: 1;\n\tstruct printk_buffers *pbufs;\n\tu64 seq;\n};\n\nstruct tty_driver;\n\nstruct nbcon_write_context;\n\nstruct console {\n\tchar name[16];\n\tvoid (*write)(struct console *, const char *, unsigned int);\n\tint (*read)(struct console *, char *, unsigned int);\n\tstruct tty_driver * (*device)(struct console *, int *);\n\tvoid (*unblank)(void);\n\tint (*setup)(struct console *, char *);\n\tint (*exit)(struct console *);\n\tint (*match)(struct console *, char *, int, char *);\n\tshort int flags;\n\tshort int index;\n\tint cflag;\n\tuint ispeed;\n\tuint ospeed;\n\tu64 seq;\n\tlong unsigned int dropped;\n\tvoid *data;\n\tstruct hlist_node node;\n\tvoid (*write_atomic)(struct console *, struct nbcon_write_context *);\n\tvoid (*write_thread)(struct console *, struct nbcon_write_context *);\n\tvoid (*device_lock)(struct console *, long unsigned int *);\n\tvoid (*device_unlock)(struct console *, long unsigned int);\n\tatomic_t nbcon_state;\n\tatomic_long_t nbcon_seq;\n\tstruct nbcon_context nbcon_device_ctxt;\n\tatomic_long_t nbcon_prev_seq;\n\tstruct printk_buffers *pbufs;\n\tstruct task_struct *kthread;\n\tstruct rcuwait rcuwait;\n\tstruct irq_work irq_work;\n};\n\nstruct winsize {\n\tshort unsigned int ws_row;\n\tshort unsigned int ws_col;\n\tshort unsigned int ws_xpixel;\n\tshort unsigned int ws_ypixel;\n};\n\nstruct hvc_struct;\n\nstruct console___2 {\n\tstruct list_head list;\n\tstruct hvc_struct *hvc;\n\tstruct winsize ws;\n\tu32 vtermno;\n};\n\nstruct console_cmdline {\n\tchar name[16];\n\tint index;\n\tchar devname[32];\n\tbool user_specified;\n\tchar *options;\n};\n\nstruct log_header;\n\nstruct console_data {\n\tvoid *map_addr;\n\tstruct log_header *hdr;\n\tvoid *start_addr;\n\tvoid *end_addr;\n\tvoid *end_of_data;\n\tvoid *cur_ptr;\n};\n\nstruct console_flush_type {\n\tbool nbcon_atomic;\n\tbool nbcon_offload;\n\tbool legacy_direct;\n\tbool legacy_offload;\n};\n\nstruct console_font {\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tunsigned char *data;\n};\n\nstruct console_font_op {\n\tunsigned int op;\n\tunsigned int flags;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tunsigned char *data;\n};\n\nstruct constant_table {\n\tconst char *name;\n\tint value;\n};\n\nstruct vc_data;\n\nstruct consw {\n\tstruct module *owner;\n\tconst char * (*con_startup)(void);\n\tvoid (*con_init)(struct vc_data *, bool);\n\tvoid (*con_deinit)(struct vc_data *);\n\tvoid (*con_clear)(struct vc_data *, unsigned int, unsigned int, unsigned int);\n\tvoid (*con_putc)(struct vc_data *, u16, unsigned int, unsigned int);\n\tvoid (*con_putcs)(struct vc_data *, const u16 *, unsigned int, unsigned int, unsigned int);\n\tvoid (*con_cursor)(struct vc_data *, bool);\n\tbool (*con_scroll)(struct vc_data *, unsigned int, unsigned int, enum con_scroll, unsigned int);\n\tbool (*con_switch)(struct vc_data *);\n\tbool (*con_blank)(struct vc_data *, enum vesa_blank_mode, bool);\n\tint (*con_font_set)(struct vc_data *, const struct console_font *, unsigned int, unsigned int);\n\tint (*con_font_get)(struct vc_data *, struct console_font *, unsigned int);\n\tint (*con_font_default)(struct vc_data *, struct console_font *, const char *);\n\tint (*con_resize)(struct vc_data *, unsigned int, unsigned int, bool);\n\tvoid (*con_set_palette)(struct vc_data *, const unsigned char *);\n\tvoid (*con_scrolldelta)(struct vc_data *, int);\n\tbool (*con_set_origin)(struct vc_data *);\n\tvoid (*con_save_screen)(struct vc_data *);\n\tu8 (*con_build_attr)(struct vc_data *, u8, enum vc_intensity, bool, bool, bool, bool);\n\tvoid (*con_invert_region)(struct vc_data *, u16 *, int);\n\tvoid (*con_debug_enter)(struct vc_data *);\n\tvoid (*con_debug_leave)(struct vc_data *);\n};\n\nstruct container_dev {\n\tstruct device dev;\n\tint (*offline)(struct container_dev *);\n};\n\nstruct context_tracking {\n\tatomic_t state;\n\tlong int nesting;\n\tlong int nmi_nesting;\n};\n\nstruct contig_page_info {\n\tlong unsigned int free_pages;\n\tlong unsigned int free_blocks_total;\n\tlong unsigned int free_blocks_suitable;\n};\n\nstruct virtio_net_ctrl_hdr {\n\t__u8 class;\n\t__u8 cmd;\n};\n\nstruct control_buf {\n\tstruct virtio_net_ctrl_hdr hdr;\n\tvirtio_net_ctrl_ack status;\n};\n\nstruct cooling_spec {\n\tlong unsigned int upper;\n\tlong unsigned int lower;\n\tunsigned int weight;\n};\n\nstruct copy_from_grant {\n\tconst struct blk_shadow *s;\n\tunsigned int grant_idx;\n\tunsigned int bvec_offset;\n\tchar *bvec_data;\n};\n\nstruct copy_subpage_arg {\n\tstruct folio *dst;\n\tstruct folio *src;\n\tstruct vm_area_struct *vma;\n};\n\nstruct core_name {\n\tchar *corename;\n\tint used;\n\tint size;\n};\n\nstruct core_thread {\n\tstruct task_struct *task;\n\tstruct core_thread *next;\n};\n\nstruct core_state {\n\tatomic_t nr_threads;\n\tstruct core_thread dumper;\n\tstruct completion startup;\n};\n\nstruct core_vma_metadata {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int flags;\n\tlong unsigned int dump_size;\n\tlong unsigned int pgoff;\n\tstruct file *file;\n};\n\nstruct kernel_siginfo;\n\ntypedef struct kernel_siginfo kernel_siginfo_t;\n\nstruct coredump_params {\n\tconst kernel_siginfo_t *siginfo;\n\tstruct file *file;\n\tlong unsigned int limit;\n\tlong unsigned int mm_flags;\n\tint cpu;\n\tloff_t written;\n\tloff_t pos;\n\tloff_t to_skip;\n\tint vma_count;\n\tsize_t vma_data_size;\n\tstruct core_vma_metadata *vma_meta;\n};\n\nstruct fuse_corner;\n\nstruct corner {\n\tint min_uV;\n\tint max_uV;\n\tint uV;\n\tint last_uV;\n\tint quot_adjust;\n\tu32 save_ctl;\n\tu32 save_irq;\n\tlong unsigned int freq;\n\tstruct fuse_corner *fuse_corner;\n};\n\nstruct corner_data {\n\tunsigned int fuse_corner;\n\tlong unsigned int freq;\n};\n\nstruct regulator_coupler;\n\nstruct coupling_desc {\n\tstruct regulator_dev **coupled_rdevs;\n\tstruct regulator_coupler *coupler;\n\tint n_resolved;\n\tint n_coupled;\n};\n\nstruct cp110_gate_clk {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tu8 bit_idx;\n};\n\nstruct cpc_reg {\n\tu8 descriptor;\n\tu16 length;\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_width;\n\tu64 address;\n} __attribute__((packed));\n\nstruct cpc_register_resource {\n\tacpi_object_type type;\n\tu64 *sys_mem_vaddr;\n\tunion {\n\t\tstruct cpc_reg reg;\n\t\tu64 int_value;\n\t} cpc_entry;\n};\n\nstruct cpc_desc {\n\tint num_entries;\n\tint version;\n\tint cpu_id;\n\tint write_cmd_status;\n\tint write_cmd_id;\n\traw_spinlock_t rmw_lock;\n\tstruct cpc_register_resource cpc_regs[21];\n\tstruct acpi_psd_package domain_info;\n\tstruct kobject kobj;\n};\n\nstruct cper_arm_ctx_info {\n\tu16 version;\n\tu16 type;\n\tu32 size;\n};\n\nstruct cper_arm_err_info {\n\tu8 version;\n\tu8 length;\n\tu16 validation_bits;\n\tu8 type;\n\tu16 multiple_error;\n\tu8 flags;\n\tu64 error_info;\n\tu64 virt_fault_addr;\n\tu64 physical_fault_addr;\n} __attribute__((packed));\n\nstruct cper_cxl_event_devid {\n\tu16 vendor_id;\n\tu16 device_id;\n\tu8 func_num;\n\tu8 device_num;\n\tu8 bus_num;\n\tu16 segment_num;\n\tu16 slot_num;\n\tu8 reserved;\n} __attribute__((packed));\n\nstruct cper_cxl_event_sn {\n\tu32 lower_dw;\n\tu32 upper_dw;\n};\n\nstruct cper_mem_err_compact {\n\tu64 validation_bits;\n\tu16 node;\n\tu16 card;\n\tu16 module;\n\tu16 bank;\n\tu16 device;\n\tu16 row;\n\tu16 column;\n\tu16 bit_pos;\n\tu64 requestor_id;\n\tu64 responder_id;\n\tu64 target_id;\n\tu16 rank;\n\tu16 mem_array_handle;\n\tu16 mem_dev_handle;\n\tu8 extended;\n} __attribute__((packed));\n\nstruct cper_record_header {\n\tchar signature[4];\n\tu16 revision;\n\tu32 signature_end;\n\tu16 section_count;\n\tu32 error_severity;\n\tu32 validation_bits;\n\tu32 record_length;\n\tu64 timestamp;\n\tguid_t platform_id;\n\tguid_t partition_id;\n\tguid_t creator_id;\n\tguid_t notification_type;\n\tu64 record_id;\n\tu32 flags;\n\tu64 persistence_information;\n\tu8 reserved[12];\n} __attribute__((packed));\n\nstruct cper_section_descriptor {\n\tu32 section_offset;\n\tu32 section_length;\n\tu16 revision;\n\tu8 validation_bits;\n\tu8 reserved;\n\tu32 flags;\n\tguid_t section_type;\n\tguid_t fru_id;\n\tu32 section_severity;\n\tu8 fru_text[20];\n};\n\nstruct cper_pstore_record {\n\tstruct cper_record_header hdr;\n\tstruct cper_section_descriptor sec_hdr;\n\tchar data[0];\n};\n\nstruct cper_sec_fw_err_rec_ref {\n\tu8 record_type;\n\tu8 revision;\n\tu8 reserved[6];\n\tu64 record_identifier;\n\tguid_t record_identifier_guid;\n};\n\nstruct cper_sec_mem_err {\n\tu64 validation_bits;\n\tu64 error_status;\n\tu64 physical_addr;\n\tu64 physical_addr_mask;\n\tu16 node;\n\tu16 card;\n\tu16 module;\n\tu16 bank;\n\tu16 device;\n\tu16 row;\n\tu16 column;\n\tu16 bit_pos;\n\tu64 requestor_id;\n\tu64 responder_id;\n\tu64 target_id;\n\tu8 error_type;\n\tu8 extended;\n\tu16 rank;\n\tu16 mem_array_handle;\n\tu16 mem_dev_handle;\n};\n\nstruct cper_sec_pcie {\n\tu64 validation_bits;\n\tu32 port_type;\n\tstruct {\n\t\tu8 minor;\n\t\tu8 major;\n\t\tu8 reserved[2];\n\t} version;\n\tu16 command;\n\tu16 status;\n\tu32 reserved;\n\tstruct {\n\t\tu16 vendor_id;\n\t\tu16 device_id;\n\t\tu8 class_code[3];\n\t\tu8 function;\n\t\tu8 device;\n\t\tu16 segment;\n\t\tu8 bus;\n\t\tu8 secondary_bus;\n\t\tu16 slot;\n\t\tu8 reserved;\n\t} __attribute__((packed)) device_id;\n\tstruct {\n\t\tu32 lower;\n\t\tu32 upper;\n\t} serial_number;\n\tstruct {\n\t\tu16 secondary_status;\n\t\tu16 control;\n\t} bridge;\n\tu8 capability[60];\n\tu8 aer_info[96];\n};\n\nstruct cper_sec_proc_arm {\n\tu32 validation_bits;\n\tu16 err_info_num;\n\tu16 context_info_num;\n\tu32 section_length;\n\tu8 affinity_level;\n\tu8 reserved[3];\n\tu64 mpidr;\n\tu64 midr;\n\tu32 running_state;\n\tu32 psci_state;\n};\n\nstruct cper_sec_proc_generic {\n\tu64 validation_bits;\n\tu8 proc_type;\n\tu8 proc_isa;\n\tu8 proc_error_type;\n\tu8 operation;\n\tu8 flags;\n\tu8 level;\n\tu16 reserved;\n\tu64 cpu_version;\n\tchar cpu_brand[128];\n\tu64 proc_id;\n\tu64 target_addr;\n\tu64 requestor_id;\n\tu64 responder_id;\n\tu64 ip;\n};\n\nstruct cper_sec_prot_err {\n\tu64 valid_bits;\n\tu8 agent_type;\n\tu8 reserved[7];\n\tunion {\n\t\tu64 rcrb_base_addr;\n\t\tstruct {\n\t\t\tu8 function;\n\t\t\tu8 device;\n\t\t\tu8 bus;\n\t\t\tu16 segment;\n\t\t\tu8 reserved_1[3];\n\t\t} __attribute__((packed));\n\t} agent_addr;\n\tstruct {\n\t\tu16 vendor_id;\n\t\tu16 device_id;\n\t\tu16 subsystem_vendor_id;\n\t\tu16 subsystem_id;\n\t\tu8 class_code[2];\n\t\tu16 slot;\n\t\tu8 reserved_1[4];\n\t} device_id;\n\tstruct {\n\t\tu32 lower_dw;\n\t\tu32 upper_dw;\n\t} dev_serial_num;\n\tu8 capability[60];\n\tu16 dvsec_len;\n\tu16 err_len;\n\tu8 reserved_2[4];\n} __attribute__((packed));\n\nstruct cpg_core_clk {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int type;\n\tunsigned int parent;\n\tunsigned int div;\n\tunsigned int mult;\n\tunsigned int offset;\n};\n\nstruct ddiv {\n\tunsigned int offset: 11;\n\tunsigned int shift: 4;\n\tunsigned int width: 4;\n\tunsigned int monbit: 5;\n};\n\nstruct cpg_core_clk___2 {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int parent;\n\tunsigned int div;\n\tunsigned int mult;\n\tunsigned int type;\n\tunion {\n\t\tunsigned int conf;\n\t\tstruct ddiv ddiv;\n\t} cfg;\n\tconst struct clk_div_table *dtable;\n\tu32 flag;\n};\n\nstruct cpg_core_clk___3 {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int parent;\n\tunsigned int div;\n\tunsigned int mult;\n\tunsigned int type;\n\tunsigned int conf;\n\tunsigned int sconf;\n\tconst struct clk_div_table *dtable;\n\tconst u32 *mtable;\n\tconst long unsigned int invalid_rate;\n\tconst long unsigned int max_rate;\n\tconst char * const *parent_names;\n\tnotifier_fn_t notifier;\n\tu32 flag;\n\tu32 mux_flags;\n\tint num_parents;\n};\n\nstruct cpg_mssr_clk_domain {\n\tstruct generic_pm_domain genpd;\n\tunsigned int num_core_pm_clks;\n\tunsigned int core_pm_clks[0];\n};\n\nstruct mssr_mod_clk;\n\nstruct cpg_mssr_info {\n\tconst struct cpg_core_clk *early_core_clks;\n\tunsigned int num_early_core_clks;\n\tconst struct mssr_mod_clk *early_mod_clks;\n\tunsigned int num_early_mod_clks;\n\tconst struct cpg_core_clk *core_clks;\n\tunsigned int num_core_clks;\n\tunsigned int last_dt_core_clk;\n\tunsigned int num_total_core_clks;\n\tenum clk_reg_layout reg_layout;\n\tconst struct mssr_mod_clk *mod_clks;\n\tunsigned int num_mod_clks;\n\tunsigned int num_hw_mod_clks;\n\tconst unsigned int *crit_mod_clks;\n\tunsigned int num_crit_mod_clks;\n\tconst unsigned int *core_pm_clks;\n\tunsigned int num_core_pm_clks;\n\tint (*init)(struct device *);\n\tstruct clk * (*cpg_clk_register)(struct device *, const struct cpg_core_clk *, const struct cpg_mssr_info *, struct clk **, void *, struct raw_notifier_head *);\n};\n\nstruct cpg_mssr_priv {\n\tstruct reset_controller_dev rcdev;\n\tstruct device *dev;\n\tvoid *base;\n\tenum clk_reg_layout reg_layout;\n\tspinlock_t rmw_lock;\n\tstruct device_node *np;\n\tunsigned int num_core_clks;\n\tunsigned int num_mod_clks;\n\tunsigned int last_dt_core_clk;\n\tstruct raw_notifier_head notifiers;\n\tconst u16 *status_regs;\n\tconst u16 *control_regs;\n\tconst u16 *reset_regs;\n\tconst u16 *reset_clear_regs;\n\tstruct {\n\t\tu32 mask;\n\t\tu32 val;\n\t} smstpcr_saved[30];\n\tunsigned int *reserved_ids;\n\tunsigned int num_reserved_ids;\n\tstruct clk *clks[0];\n};\n\nstruct cpg_pll_clk {\n\tstruct clk_hw hw;\n\tvoid *pllcr0_reg;\n\tvoid *pllcr1_reg;\n\tvoid *pllecr_reg;\n\tu32 pllecr_pllst_mask;\n};\n\nstruct cpg_pll_clk___2 {\n\tstruct clk_hw hw;\n\tvoid *pllcr_reg;\n\tvoid *pllecr_reg;\n\tunsigned int fixed_mult;\n\tu32 pllecr_pllst_mask;\n};\n\nstruct cpg_simple_notifier {\n\tstruct notifier_block nb;\n\tvoid *reg;\n\tu32 saved;\n};\n\nstruct cpg_z_clk {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tvoid *kick_reg;\n\tlong unsigned int max_rate;\n\tunsigned int fixed_div;\n\tu32 mask;\n};\n\nstruct cpi_cfg_msg {\n\tu8 msg;\n\tu8 vf_id;\n\tu8 rq_cnt;\n\tu8 cpi_alg;\n};\n\nstruct cpio_data {\n\tvoid *data;\n\tsize_t size;\n\tchar name[18];\n};\n\nstruct cppc_perf_caps {\n\tu32 guaranteed_perf;\n\tu32 highest_perf;\n\tu32 nominal_perf;\n\tu32 lowest_perf;\n\tu32 lowest_nonlinear_perf;\n\tu32 lowest_freq;\n\tu32 nominal_freq;\n\tu32 energy_perf;\n\tbool auto_sel;\n};\n\nstruct cppc_perf_ctrls {\n\tu32 max_perf;\n\tu32 min_perf;\n\tu32 desired_perf;\n\tu32 energy_perf;\n};\n\nstruct cppc_perf_fb_ctrs {\n\tu64 reference;\n\tu64 delivered;\n\tu64 reference_perf;\n\tu64 wraparound_time;\n};\n\nstruct cppc_cpudata {\n\tstruct list_head node;\n\tstruct cppc_perf_caps perf_caps;\n\tstruct cppc_perf_ctrls perf_ctrls;\n\tstruct cppc_perf_fb_ctrs perf_fb_ctrs;\n\tunsigned int shared_type;\n\tcpumask_var_t shared_cpu_map;\n};\n\nstruct pcc_mbox_chan;\n\nstruct cppc_pcc_data {\n\tstruct pcc_mbox_chan *pcc_channel;\n\tvoid *pcc_comm_addr;\n\tbool pcc_channel_acquired;\n\tunsigned int deadline_us;\n\tunsigned int pcc_mpar;\n\tunsigned int pcc_mrtt;\n\tunsigned int pcc_nominal;\n\tbool pending_pcc_write_cmd;\n\tbool platform_owns_pcc;\n\tunsigned int pcc_write_cnt;\n\tstruct rw_semaphore pcc_lock;\n\twait_queue_head_t pcc_write_wait_q;\n\tktime_t last_cmd_cmpl_time;\n\tktime_t last_mpar_reset;\n\tint mpar_count;\n\tint refcount;\n};\n\nstruct cppi5_desc_hdr_t {\n\tu32 pkt_info0;\n\tu32 pkt_info1;\n\tu32 pkt_info2;\n\tu32 src_dst_tag;\n};\n\nstruct cppi5_host_desc_t {\n\tstruct cppi5_desc_hdr_t hdr;\n\tu64 next_desc;\n\tu64 buf_ptr;\n\tu32 buf_info1;\n\tu32 org_buf_len;\n\tu64 org_buf_ptr;\n\tu32 epib[0];\n};\n\nstruct cppi5_tr_resp_t {\n\tu8 status;\n\tu8 _reserved;\n\tu8 cmd_id;\n\tu8 flags;\n};\n\nstruct cppi5_tr_type15_t {\n\tcppi5_tr_flags_t flags;\n\tu16 icnt0;\n\tu16 icnt1;\n\tu64 addr;\n\ts32 dim1;\n\tu16 icnt2;\n\tu16 icnt3;\n\ts32 dim2;\n\ts32 dim3;\n\tu32 _reserved;\n\ts32 ddim1;\n\tu64 daddr;\n\ts32 ddim2;\n\ts32 ddim3;\n\tu16 dicnt0;\n\tu16 dicnt1;\n\tu16 dicnt2;\n\tu16 dicnt3;\n};\n\nstruct cppi5_tr_type1_t {\n\tcppi5_tr_flags_t flags;\n\tu16 icnt0;\n\tu16 icnt1;\n\tu64 addr;\n\ts32 dim1;\n\tlong: 64;\n};\n\nstruct cpr_desc;\n\nstruct cpr_acc_desc {\n\tconst struct cpr_desc *cpr_desc;\n\tconst struct acc_desc *acc_desc;\n};\n\nstruct fuse_corner_data;\n\nstruct cpr_fuses {\n\tint init_voltage_step;\n\tint init_voltage_width;\n\tstruct fuse_corner_data *fuse_corner_data;\n};\n\nstruct cpr_desc {\n\tunsigned int num_fuse_corners;\n\tint min_diff_quot;\n\tint *step_quot;\n\tunsigned int timer_delay_us;\n\tunsigned int timer_cons_up;\n\tunsigned int timer_cons_down;\n\tunsigned int up_threshold;\n\tunsigned int down_threshold;\n\tunsigned int idle_clocks;\n\tunsigned int gcnt_us;\n\tunsigned int vdd_apc_step_up_limit;\n\tunsigned int vdd_apc_step_down_limit;\n\tunsigned int clamp_timer_interval;\n\tstruct cpr_fuses cpr_fuses;\n\tbool reduce_to_fuse_uV;\n\tbool reduce_to_corner_uV;\n};\n\nstruct cpr_fuse;\n\nstruct cpr_drv {\n\tunsigned int num_corners;\n\tunsigned int ref_clk_khz;\n\tstruct generic_pm_domain pd;\n\tstruct device *dev;\n\tstruct device *attached_cpu_dev;\n\tstruct mutex lock;\n\tvoid *base;\n\tstruct corner *corner;\n\tstruct regulator *vdd_apc;\n\tstruct clk *cpu_clk;\n\tstruct regmap *tcsr;\n\tbool loop_disabled;\n\tu32 gcnt;\n\tlong unsigned int flags;\n\tstruct fuse_corner *fuse_corners;\n\tstruct corner *corners;\n\tconst struct cpr_desc *desc;\n\tconst struct acc_desc *acc_desc;\n\tconst struct cpr_fuse *cpr_fuses;\n\tstruct dentry *debugfs;\n};\n\nstruct cpr_fuse {\n\tchar *ring_osc;\n\tchar *init_voltage;\n\tchar *quotient;\n\tchar *quotient_offset;\n};\n\nstruct cprman_plat_data {\n\tunsigned int soc;\n};\n\nstruct reg_field;\n\nstruct cpsw_ale_params {\n\tstruct device *dev;\n\tvoid *ale_regs;\n\tlong unsigned int ale_ageout;\n\tlong unsigned int ale_entries;\n\tlong unsigned int num_policers;\n\tlong unsigned int ale_ports;\n\tbool nu_switch_ale;\n\tconst struct reg_field *reg_fields;\n\tint num_fields;\n\tconst char *dev_id;\n\tlong unsigned int bus_freq;\n};\n\nstruct regmap_field;\n\nstruct cpsw_ale {\n\tstruct cpsw_ale_params params;\n\tstruct timer_list timer;\n\tstruct regmap *regmap;\n\tstruct regmap_field *fields[45];\n\tlong unsigned int ageout;\n\tu32 version;\n\tu32 features;\n\tu32 port_mask_bits;\n\tu32 port_num_bits;\n\tu32 vlan_field_bits;\n\tlong unsigned int *p0_untag_vid_mask;\n\tconst struct ale_entry_fld *vlan_entry_tbl;\n};\n\nstruct cpsw_ale_dev_id {\n\tconst char *dev_id;\n\tu32 features;\n\tu32 tbl_entries;\n\tconst struct reg_field *reg_fields;\n\tint num_fields;\n\tbool nu_switch_ale;\n\tconst struct ale_entry_fld *vlan_entry_tbl;\n};\n\nstruct cpsw_sl {\n\tstruct device *dev;\n\tvoid *sl_base;\n\tconst u16 *regs;\n\tu32 control_features;\n\tu32 idle_mask;\n};\n\nstruct cpsw_sl_dev_id {\n\tconst char *device_id;\n\tconst u16 *regs;\n\tconst u32 control_features;\n\tconst u32 regs_offset;\n\tconst u32 idle_mask;\n};\n\nstruct cpu {\n\tint node_id;\n\tint hotpluggable;\n\tstruct device dev;\n};\n\nstruct cpu_attr {\n\tstruct device_attribute attr;\n\tconst struct cpumask * const map;\n};\n\nstruct cpu_cacheinfo {\n\tstruct cacheinfo *info_list;\n\tunsigned int per_cpu_data_slice_size;\n\tunsigned int num_levels;\n\tunsigned int num_leaves;\n\tbool cpu_map_populated;\n\tbool early_ci_levels;\n};\n\nstruct cpu_clk_suspend_context {\n\tu32 clk_csite_src;\n};\n\nstruct cpu_clk_suspend_context___2 {\n\tu32 clk_csite_src;\n\tu32 cclkg_burst;\n\tu32 cclkg_divider;\n};\n\nstruct cpu_context {\n\tlong unsigned int x19;\n\tlong unsigned int x20;\n\tlong unsigned int x21;\n\tlong unsigned int x22;\n\tlong unsigned int x23;\n\tlong unsigned int x24;\n\tlong unsigned int x25;\n\tlong unsigned int x26;\n\tlong unsigned int x27;\n\tlong unsigned int x28;\n\tlong unsigned int fp;\n\tlong unsigned int sp;\n\tlong unsigned int pc;\n};\n\nstruct cpufreq_frequency_table;\n\nstruct cpu_data {\n\tstruct clk **pclk;\n\tstruct cpufreq_frequency_table *table;\n};\n\nstruct update_util_data {\n\tvoid (*func)(struct update_util_data *, u64, unsigned int);\n};\n\nstruct policy_dbs_info;\n\nstruct cpu_dbs_info {\n\tu64 prev_cpu_idle;\n\tu64 prev_update_time;\n\tu64 prev_cpu_nice;\n\tunsigned int prev_load;\n\tstruct update_util_data update_util;\n\tstruct policy_dbs_info *policy_dbs;\n};\n\nstruct cpu_down_work {\n\tunsigned int cpu;\n\tenum cpuhp_state target;\n};\n\nstruct folio_batch {\n\tunsigned char nr;\n\tunsigned char i;\n\tbool percpu_pvec_drained;\n\tstruct folio *folios[31];\n};\n\nstruct cpu_fbatches {\n\tlocal_lock_t lock;\n\tstruct folio_batch lru_add;\n\tstruct folio_batch lru_deactivate_file;\n\tstruct folio_batch lru_deactivate;\n\tstruct folio_batch lru_lazyfree;\n\tstruct folio_batch lru_activate;\n\tlocal_lock_t lock_irq;\n\tstruct folio_batch lru_move_tail;\n};\n\nstruct cpu_feature {\n\t__u16 feature;\n};\n\nstruct user_fpsimd_state;\n\nstruct cpu_fp_state {\n\tstruct user_fpsimd_state *st;\n\tvoid *sve_state;\n\tvoid *sme_state;\n\tu64 *svcr;\n\tu64 *fpmr;\n\tunsigned int sve_vl;\n\tunsigned int sme_vl;\n\tenum fp_type *fp_type;\n\tenum fp_type to_save;\n};\n\nstruct cpu_itimer {\n\tu64 expires;\n\tu64 incr;\n};\n\nstruct cpu_lpi_count {\n\tatomic_t managed;\n\tatomic_t unmanaged;\n};\n\nstruct cpu_operations {\n\tconst char *name;\n\tint (*cpu_init)(unsigned int);\n\tint (*cpu_prepare)(unsigned int);\n\tint (*cpu_boot)(unsigned int);\n\tvoid (*cpu_postboot)(void);\n\tbool (*cpu_can_disable)(unsigned int);\n\tint (*cpu_disable)(unsigned int);\n\tvoid (*cpu_die)(unsigned int);\n\tint (*cpu_kill)(unsigned int);\n};\n\nstruct cpu_rmap {\n\tstruct kref refcount;\n\tu16 size;\n\tvoid **obj;\n\tstruct {\n\t\tu16 index;\n\t\tu16 dist;\n\t} near[0];\n};\n\nstruct cpu_stop_done {\n\tatomic_t nr_todo;\n\tint ret;\n\tstruct completion completion;\n};\n\ntypedef int (*cpu_stop_fn_t)(void *);\n\nstruct cpu_stop_work {\n\tstruct list_head list;\n\tcpu_stop_fn_t fn;\n\tlong unsigned int caller;\n\tvoid *arg;\n\tstruct cpu_stop_done *done;\n};\n\nstruct cpu_stopper {\n\tstruct task_struct *thread;\n\traw_spinlock_t lock;\n\tbool enabled;\n\tstruct list_head works;\n\tstruct cpu_stop_work stop_work;\n\tlong unsigned int caller;\n\tcpu_stop_fn_t fn;\n};\n\nstruct cpu_suspend_ctx {\n\tu64 ctx_regs[13];\n\tu64 sp;\n};\n\nstruct cpu_sve_state {\n\t__u64 zcr_el1;\n\t__u32 fpsr;\n\t__u32 fpcr;\n\t__u8 sve_regs[0];\n};\n\nstruct cpu_timer {\n\tstruct timerqueue_node node;\n\tstruct timerqueue_head *head;\n\tstruct pid *pid;\n\tstruct list_head elist;\n\tbool firing;\n\tbool nanosleep;\n\tstruct task_struct *handling;\n};\n\nstruct cpu_topology {\n\tint thread_id;\n\tint core_id;\n\tint cluster_id;\n\tint package_id;\n\tcpumask_t thread_sibling;\n\tcpumask_t core_sibling;\n\tcpumask_t cluster_sibling;\n\tcpumask_t llc_sibling;\n};\n\nstruct cpu_vfs_cap_data {\n\t__u32 magic_etc;\n\tkuid_t rootid;\n\tkernel_cap_t permitted;\n\tkernel_cap_t inheritable;\n};\n\nstruct cpu_vhint_data {\n\tuint32_t ref_clk_hz;\n\tuint16_t pdiv;\n\tuint16_t mdiv;\n\tuint16_t ndiv_max;\n\tuint16_t ndiv[80];\n\tuint16_t ndiv_min;\n\tuint16_t vfloor;\n\tuint16_t vceil;\n\tuint16_t vindex_mult;\n\tuint16_t vindex_div;\n\tuint16_t reserved[328];\n};\n\nstruct kernel_cpustat;\n\nstruct cpuacct {\n\tstruct cgroup_subsys_state css;\n\tu64 *cpuusage;\n\tstruct kernel_cpustat *cpustat;\n};\n\nstruct cpudl_item;\n\nstruct cpudl {\n\traw_spinlock_t lock;\n\tint size;\n\tcpumask_var_t free_cpus;\n\tstruct cpudl_item *elements;\n};\n\nstruct cpudl_item {\n\tu64 dl;\n\tint cpu;\n\tint idx;\n};\n\nstruct thermal_cooling_device_ops {\n\tint (*get_max_state)(struct thermal_cooling_device *, long unsigned int *);\n\tint (*get_cur_state)(struct thermal_cooling_device *, long unsigned int *);\n\tint (*set_cur_state)(struct thermal_cooling_device *, long unsigned int);\n\tint (*get_requested_power)(struct thermal_cooling_device *, u32 *);\n\tint (*state2power)(struct thermal_cooling_device *, long unsigned int, u32 *);\n\tint (*power2state)(struct thermal_cooling_device *, u32, long unsigned int *);\n};\n\nstruct cpufreq_policy;\n\nstruct cpufreq_cooling_device {\n\tu32 last_load;\n\tunsigned int cpufreq_state;\n\tunsigned int max_level;\n\tstruct em_perf_domain *em;\n\tstruct cpufreq_policy *policy;\n\tstruct thermal_cooling_device_ops cooling_ops;\n\tstruct freq_qos_request qos_req;\n};\n\nstruct cpufreq_cpuinfo {\n\tunsigned int max_freq;\n\tunsigned int min_freq;\n\tunsigned int transition_latency;\n};\n\nstruct cpufreq_policy_data;\n\nstruct freq_attr;\n\nstruct cpufreq_driver {\n\tchar name[16];\n\tu16 flags;\n\tvoid *driver_data;\n\tint (*init)(struct cpufreq_policy *);\n\tint (*verify)(struct cpufreq_policy_data *);\n\tint (*setpolicy)(struct cpufreq_policy *);\n\tint (*target)(struct cpufreq_policy *, unsigned int, unsigned int);\n\tint (*target_index)(struct cpufreq_policy *, unsigned int);\n\tunsigned int (*fast_switch)(struct cpufreq_policy *, unsigned int);\n\tvoid (*adjust_perf)(unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tunsigned int (*get_intermediate)(struct cpufreq_policy *, unsigned int);\n\tint (*target_intermediate)(struct cpufreq_policy *, unsigned int);\n\tunsigned int (*get)(unsigned int);\n\tvoid (*update_limits)(unsigned int);\n\tint (*bios_limit)(int, unsigned int *);\n\tint (*online)(struct cpufreq_policy *);\n\tint (*offline)(struct cpufreq_policy *);\n\tvoid (*exit)(struct cpufreq_policy *);\n\tint (*suspend)(struct cpufreq_policy *);\n\tint (*resume)(struct cpufreq_policy *);\n\tvoid (*ready)(struct cpufreq_policy *);\n\tstruct freq_attr **attr;\n\tbool boost_enabled;\n\tint (*set_boost)(struct cpufreq_policy *, int);\n\tvoid (*register_em)(struct cpufreq_policy *);\n};\n\nstruct cpufreq_dt_platform_data {\n\tbool have_governor_per_policy;\n\tunsigned int (*get_intermediate)(struct cpufreq_policy *, unsigned int);\n\tint (*target_intermediate)(struct cpufreq_policy *, unsigned int);\n\tint (*suspend)(struct cpufreq_policy *);\n\tint (*resume)(struct cpufreq_policy *);\n};\n\nstruct cpufreq_freqs {\n\tstruct cpufreq_policy *policy;\n\tunsigned int old;\n\tunsigned int new;\n\tu8 flags;\n};\n\nstruct cpufreq_frequency_table {\n\tunsigned int flags;\n\tunsigned int driver_data;\n\tunsigned int frequency;\n};\n\nstruct cpufreq_governor {\n\tchar name[16];\n\tint (*init)(struct cpufreq_policy *);\n\tvoid (*exit)(struct cpufreq_policy *);\n\tint (*start)(struct cpufreq_policy *);\n\tvoid (*stop)(struct cpufreq_policy *);\n\tvoid (*limits)(struct cpufreq_policy *);\n\tssize_t (*show_setspeed)(struct cpufreq_policy *, char *);\n\tint (*store_setspeed)(struct cpufreq_policy *, unsigned int);\n\tstruct list_head governor_list;\n\tstruct module *owner;\n\tu8 flags;\n};\n\nstruct plist_head {\n\tstruct list_head node_list;\n};\n\nstruct pm_qos_constraints {\n\tstruct plist_head list;\n\ts32 target_value;\n\ts32 default_value;\n\ts32 no_constraint_value;\n\tenum pm_qos_type type;\n\tstruct blocking_notifier_head *notifiers;\n};\n\nstruct freq_constraints {\n\tstruct pm_qos_constraints min_freq;\n\tstruct blocking_notifier_head min_freq_notifiers;\n\tstruct pm_qos_constraints max_freq;\n\tstruct blocking_notifier_head max_freq_notifiers;\n};\n\nstruct cpufreq_stats;\n\nstruct cpufreq_policy {\n\tcpumask_var_t cpus;\n\tcpumask_var_t related_cpus;\n\tcpumask_var_t real_cpus;\n\tunsigned int shared_type;\n\tunsigned int cpu;\n\tstruct clk *clk;\n\tstruct cpufreq_cpuinfo cpuinfo;\n\tunsigned int min;\n\tunsigned int max;\n\tunsigned int cur;\n\tunsigned int suspend_freq;\n\tunsigned int policy;\n\tunsigned int last_policy;\n\tstruct cpufreq_governor *governor;\n\tvoid *governor_data;\n\tchar last_governor[16];\n\tstruct work_struct update;\n\tstruct freq_constraints constraints;\n\tstruct freq_qos_request *min_freq_req;\n\tstruct freq_qos_request *max_freq_req;\n\tstruct cpufreq_frequency_table *freq_table;\n\tenum cpufreq_table_sorting freq_table_sorted;\n\tstruct list_head policy_list;\n\tstruct kobject kobj;\n\tstruct completion kobj_unregister;\n\tstruct rw_semaphore rwsem;\n\tbool fast_switch_possible;\n\tbool fast_switch_enabled;\n\tbool strict_target;\n\tbool efficiencies_available;\n\tunsigned int transition_delay_us;\n\tbool dvfs_possible_from_any_cpu;\n\tbool boost_enabled;\n\tunsigned int cached_target_freq;\n\tunsigned int cached_resolved_idx;\n\tbool transition_ongoing;\n\tspinlock_t transition_lock;\n\twait_queue_head_t transition_wait;\n\tstruct task_struct *transition_task;\n\tstruct cpufreq_stats *stats;\n\tvoid *driver_data;\n\tstruct thermal_cooling_device *cdev;\n\tstruct notifier_block nb_min;\n\tstruct notifier_block nb_max;\n};\n\nstruct cpufreq_policy_data {\n\tstruct cpufreq_cpuinfo cpuinfo;\n\tstruct cpufreq_frequency_table *freq_table;\n\tunsigned int cpu;\n\tunsigned int min;\n\tunsigned int max;\n};\n\nstruct cpufreq_stats {\n\tunsigned int total_trans;\n\tlong long unsigned int last_time;\n\tunsigned int max_state;\n\tunsigned int state_num;\n\tunsigned int last_index;\n\tu64 *time_in_state;\n\tunsigned int *freq_table;\n\tunsigned int *trans_table;\n\tunsigned int reset_pending;\n\tlong long unsigned int reset_time;\n};\n\nstruct cpuhp_cpu_state {\n\tenum cpuhp_state state;\n\tenum cpuhp_state target;\n\tenum cpuhp_state fail;\n\tstruct task_struct *thread;\n\tbool should_run;\n\tbool rollback;\n\tbool single;\n\tbool bringup;\n\tstruct hlist_node *node;\n\tstruct hlist_node *last;\n\tenum cpuhp_state cb_state;\n\tint result;\n\tatomic_t ap_sync_state;\n\tstruct completion done_up;\n\tstruct completion done_down;\n};\n\nstruct cpuhp_step {\n\tconst char *name;\n\tunion {\n\t\tint (*single)(unsigned int);\n\t\tint (*multi)(unsigned int, struct hlist_node *);\n\t} startup;\n\tunion {\n\t\tint (*single)(unsigned int);\n\t\tint (*multi)(unsigned int, struct hlist_node *);\n\t} teardown;\n\tstruct hlist_head list;\n\tbool cant_stop;\n\tbool multi_instance;\n};\n\nstruct cpuidle_device;\n\nstruct cpuidle_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpuidle_device *, char *);\n\tssize_t (*store)(struct cpuidle_device *, const char *, size_t);\n};\n\nstruct cpuidle_state_usage {\n\tlong long unsigned int disable;\n\tlong long unsigned int usage;\n\tu64 time_ns;\n\tlong long unsigned int above;\n\tlong long unsigned int below;\n\tlong long unsigned int rejected;\n\tlong long unsigned int s2idle_usage;\n\tlong long unsigned int s2idle_time;\n};\n\nstruct cpuidle_state_kobj;\n\nstruct cpuidle_driver_kobj;\n\nstruct cpuidle_device_kobj;\n\nstruct cpuidle_device {\n\tunsigned int registered: 1;\n\tunsigned int enabled: 1;\n\tunsigned int poll_time_limit: 1;\n\tunsigned int cpu;\n\tktime_t next_hrtimer;\n\tint last_state_idx;\n\tu64 last_residency_ns;\n\tu64 poll_limit_ns;\n\tu64 forced_idle_latency_limit_ns;\n\tstruct cpuidle_state_usage states_usage[10];\n\tstruct cpuidle_state_kobj *kobjs[10];\n\tstruct cpuidle_driver_kobj *kobj_driver;\n\tstruct cpuidle_device_kobj *kobj_dev;\n\tstruct list_head device_list;\n};\n\nstruct cpuidle_device_kobj {\n\tstruct cpuidle_device *dev;\n\tstruct completion kobj_unregister;\n\tstruct kobject kobj;\n};\n\nstruct cpuidle_driver;\n\nstruct cpuidle_state {\n\tchar name[16];\n\tchar desc[32];\n\ts64 exit_latency_ns;\n\ts64 target_residency_ns;\n\tunsigned int flags;\n\tunsigned int exit_latency;\n\tint power_usage;\n\tunsigned int target_residency;\n\tint (*enter)(struct cpuidle_device *, struct cpuidle_driver *, int);\n\tvoid (*enter_dead)(struct cpuidle_device *, int);\n\tint (*enter_s2idle)(struct cpuidle_device *, struct cpuidle_driver *, int);\n};\n\nstruct cpuidle_driver {\n\tconst char *name;\n\tstruct module *owner;\n\tunsigned int bctimer: 1;\n\tstruct cpuidle_state states[10];\n\tint state_count;\n\tint safe_state_index;\n\tstruct cpumask *cpumask;\n\tconst char *governor;\n};\n\nstruct cpuidle_driver_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpuidle_driver *, char *);\n\tssize_t (*store)(struct cpuidle_driver *, const char *, size_t);\n};\n\nstruct cpuidle_driver_kobj {\n\tstruct cpuidle_driver *drv;\n\tstruct completion kobj_unregister;\n\tstruct kobject kobj;\n};\n\nstruct cpuidle_governor {\n\tchar name[16];\n\tstruct list_head governor_list;\n\tunsigned int rating;\n\tint (*enable)(struct cpuidle_driver *, struct cpuidle_device *);\n\tvoid (*disable)(struct cpuidle_driver *, struct cpuidle_device *);\n\tint (*select)(struct cpuidle_driver *, struct cpuidle_device *, bool *);\n\tvoid (*reflect)(struct cpuidle_device *, int);\n};\n\nstruct cpuidle_state_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpuidle_state *, struct cpuidle_state_usage *, char *);\n\tssize_t (*store)(struct cpuidle_state *, struct cpuidle_state_usage *, const char *, size_t);\n};\n\nstruct cpuidle_state_kobj {\n\tstruct cpuidle_state *state;\n\tstruct cpuidle_state_usage *state_usage;\n\tstruct completion kobj_unregister;\n\tstruct kobject kobj;\n\tstruct cpuidle_device *device;\n};\n\nstruct cpuinfo_32bit {\n\tu32 reg_id_dfr0;\n\tu32 reg_id_dfr1;\n\tu32 reg_id_isar0;\n\tu32 reg_id_isar1;\n\tu32 reg_id_isar2;\n\tu32 reg_id_isar3;\n\tu32 reg_id_isar4;\n\tu32 reg_id_isar5;\n\tu32 reg_id_isar6;\n\tu32 reg_id_mmfr0;\n\tu32 reg_id_mmfr1;\n\tu32 reg_id_mmfr2;\n\tu32 reg_id_mmfr3;\n\tu32 reg_id_mmfr4;\n\tu32 reg_id_mmfr5;\n\tu32 reg_id_pfr0;\n\tu32 reg_id_pfr1;\n\tu32 reg_id_pfr2;\n\tu32 reg_mvfr0;\n\tu32 reg_mvfr1;\n\tu32 reg_mvfr2;\n};\n\nstruct cpuinfo_arm64 {\n\tstruct kobject kobj;\n\tu64 reg_ctr;\n\tu64 reg_cntfrq;\n\tu64 reg_dczid;\n\tu64 reg_midr;\n\tu64 reg_revidr;\n\tu64 reg_gmid;\n\tu64 reg_smidr;\n\tu64 reg_mpamidr;\n\tu64 reg_id_aa64dfr0;\n\tu64 reg_id_aa64dfr1;\n\tu64 reg_id_aa64isar0;\n\tu64 reg_id_aa64isar1;\n\tu64 reg_id_aa64isar2;\n\tu64 reg_id_aa64isar3;\n\tu64 reg_id_aa64mmfr0;\n\tu64 reg_id_aa64mmfr1;\n\tu64 reg_id_aa64mmfr2;\n\tu64 reg_id_aa64mmfr3;\n\tu64 reg_id_aa64mmfr4;\n\tu64 reg_id_aa64pfr0;\n\tu64 reg_id_aa64pfr1;\n\tu64 reg_id_aa64pfr2;\n\tu64 reg_id_aa64zfr0;\n\tu64 reg_id_aa64smfr0;\n\tu64 reg_id_aa64fpfr0;\n\tstruct cpuinfo_32bit aarch32;\n};\n\nunion cpumask_rcuhead {\n\tcpumask_t cpumask;\n\tstruct callback_head rcu;\n};\n\nstruct cpupri_vec {\n\tatomic_t count;\n\tcpumask_var_t mask;\n};\n\nstruct cpupri {\n\tstruct cpupri_vec pri_to_cpu[101];\n\tint *cpu_to_pri;\n};\n\nstruct fmeter {\n\tint cnt;\n\tint val;\n\ttime64_t time;\n\tspinlock_t lock;\n};\n\nstruct uf_node {\n\tstruct uf_node *parent;\n\tunsigned int rank;\n};\n\nstruct cpuset {\n\tstruct cgroup_subsys_state css;\n\tlong unsigned int flags;\n\tcpumask_var_t cpus_allowed;\n\tnodemask_t mems_allowed;\n\tcpumask_var_t effective_cpus;\n\tnodemask_t effective_mems;\n\tcpumask_var_t effective_xcpus;\n\tcpumask_var_t exclusive_cpus;\n\tnodemask_t old_mems_allowed;\n\tstruct fmeter fmeter;\n\tint attach_in_progress;\n\tint relax_domain_level;\n\tint nr_subparts;\n\tint partition_root_state;\n\tint nr_deadline_tasks;\n\tint nr_migrate_dl_tasks;\n\tu64 sum_migrate_dl_bw;\n\tenum prs_errcode prs_err;\n\tstruct cgroup_file partition_file;\n\tstruct list_head remote_sibling;\n\tstruct uf_node node;\n};\n\nstruct cpuset_migrate_mm_work {\n\tstruct work_struct work;\n\tstruct mm_struct *mm;\n\tnodemask_t from;\n\tnodemask_t to;\n};\n\nstruct cq_entry {\n\t__le64 command_desc_base_addr;\n\t__le16 response_upiu_length;\n\t__le16 response_upiu_offset;\n\t__le16 prd_table_length;\n\t__le16 prd_table_offset;\n\t__le32 status;\n\t__le32 reserved[3];\n};\n\nstruct cqhci_host_ops;\n\nstruct cqhci_slot;\n\nstruct cqhci_host {\n\tconst struct cqhci_host_ops *ops;\n\tvoid *mmio;\n\tstruct mmc_host *mmc;\n\tspinlock_t lock;\n\tunsigned int rca;\n\tbool dma64;\n\tint num_slots;\n\tint qcnt;\n\tu32 dcmd_slot;\n\tu32 caps;\n\tu32 quirks;\n\tbool enabled;\n\tbool halted;\n\tbool init_done;\n\tbool activated;\n\tbool waiting_for_idle;\n\tbool recovery_halt;\n\tsize_t desc_size;\n\tsize_t data_size;\n\tu8 *desc_base;\n\tu8 slot_sz;\n\tu8 task_desc_len;\n\tu8 link_desc_len;\n\tu8 *trans_desc_base;\n\tu8 trans_desc_len;\n\tdma_addr_t desc_dma_base;\n\tdma_addr_t trans_desc_dma_base;\n\tstruct completion halt_comp;\n\twait_queue_head_t wait_queue;\n\tstruct cqhci_slot *slot;\n};\n\nstruct cqhci_host_ops {\n\tvoid (*dumpregs)(struct mmc_host *);\n\tvoid (*write_l)(struct cqhci_host *, u32, int);\n\tu32 (*read_l)(struct cqhci_host *, int);\n\tvoid (*enable)(struct mmc_host *);\n\tvoid (*disable)(struct mmc_host *, bool);\n\tvoid (*update_dcmd_desc)(struct mmc_host *, struct mmc_request *, u64 *);\n\tvoid (*pre_enable)(struct mmc_host *);\n\tvoid (*post_disable)(struct mmc_host *);\n\tvoid (*set_tran_desc)(struct cqhci_host *, u8 **, dma_addr_t, int, bool, bool);\n};\n\nstruct cqhci_slot {\n\tstruct mmc_request *mrq;\n\tunsigned int flags;\n};\n\nstruct cqspi_flash_pdata;\n\nstruct cqspi_st;\n\nstruct cqspi_driver_platdata {\n\tu32 hwcaps_mask;\n\tu16 quirks;\n\tint (*indirect_read_dma)(struct cqspi_flash_pdata *, u_char *, loff_t, size_t);\n\tu32 (*get_dma_status)(struct cqspi_st *);\n\tint (*jh7110_clk_init)(struct platform_device *, struct cqspi_st *);\n};\n\nstruct cqspi_flash_pdata {\n\tstruct cqspi_st *cqspi;\n\tu32 clk_rate;\n\tu32 read_delay;\n\tu32 tshsl_ns;\n\tu32 tsd2d_ns;\n\tu32 tchsh_ns;\n\tu32 tslch_ns;\n\tu8 cs;\n};\n\nstruct cqspi_st {\n\tstruct platform_device *pdev;\n\tstruct spi_controller *host;\n\tstruct clk *clk;\n\tstruct clk *clks[2];\n\tunsigned int sclk;\n\tvoid *iobase;\n\tvoid *ahb_base;\n\tresource_size_t ahb_size;\n\tstruct completion transfer_complete;\n\tstruct dma_chan *rx_chan;\n\tstruct completion rx_dma_complete;\n\tdma_addr_t mmap_phys_base;\n\tint current_cs;\n\tlong unsigned int master_ref_clk_hz;\n\tbool is_decoded_cs;\n\tu32 fifo_depth;\n\tu32 fifo_width;\n\tu32 num_chipselect;\n\tbool rclk_en;\n\tu32 trigger_address;\n\tu32 wr_delay;\n\tbool use_direct_mode;\n\tbool use_direct_mode_wr;\n\tstruct cqspi_flash_pdata f_pdata[4];\n\tbool use_dma_read;\n\tu32 pd_dev_id;\n\tbool wr_completion;\n\tbool slow_sram;\n\tbool apb_ahb_hazard;\n\tbool is_jh7110;\n\tbool disable_stig_mode;\n\tconst struct cqspi_driver_platdata *ddata;\n};\n\nstruct range {\n\tu64 start;\n\tu64 end;\n};\n\nstruct crash_mem {\n\tunsigned int max_nr_ranges;\n\tunsigned int nr_ranges;\n\tstruct range ranges[0];\n};\n\nstruct crc64_pi_tuple {\n\t__be64 guard_tag;\n\t__be16 app_tag;\n\t__u8 ref_tag[6];\n};\n\nstruct crc_data {\n\tstruct task_struct *thr;\n\tatomic_t ready;\n\tatomic_t stop;\n\tunsigned int run_threads;\n\twait_queue_head_t go;\n\twait_queue_head_t done;\n\tu32 *crc32;\n\tsize_t *unc_len[3];\n\tunsigned char *unc[3];\n};\n\nstruct group_info;\n\nstruct cred {\n\tatomic_long_t usage;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t suid;\n\tkgid_t sgid;\n\tkuid_t euid;\n\tkgid_t egid;\n\tkuid_t fsuid;\n\tkgid_t fsgid;\n\tunsigned int securebits;\n\tkernel_cap_t cap_inheritable;\n\tkernel_cap_t cap_permitted;\n\tkernel_cap_t cap_effective;\n\tkernel_cap_t cap_bset;\n\tkernel_cap_t cap_ambient;\n\tunsigned char jit_keyring;\n\tstruct key *session_keyring;\n\tstruct key *process_keyring;\n\tstruct key *thread_keyring;\n\tstruct key *request_key_auth;\n\tvoid *security;\n\tstruct user_struct *user;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct group_info *group_info;\n\tunion {\n\t\tint non_rcu;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct crng {\n\tu8 key[32];\n\tlong unsigned int generation;\n\tlocal_lock_t lock;\n};\n\nstruct power_supply_ext;\n\nstruct cros_chctl_priv {\n\tstruct device *dev;\n\tstruct cros_ec_device *cros_ec;\n\tstruct acpi_battery_hook battery_hook;\n\tstruct power_supply *hooked_battery;\n\tu8 cmd_version;\n\tconst struct power_supply_ext *psy_ext;\n\tstruct mutex lock;\n\tenum power_supply_charge_behaviour current_behaviour;\n\tu8 current_start_threshold;\n\tu8 current_end_threshold;\n};\n\nstruct cros_ec_bs_map {\n\tunsigned int ev_type;\n\tunsigned int code;\n\tu8 bit;\n\tbool inverted;\n};\n\nstruct cros_ec_command {\n\tuint32_t version;\n\tuint32_t command;\n\tuint32_t outsize;\n\tuint32_t insize;\n\tuint32_t result;\n\tuint8_t data[0];\n};\n\nstruct debugfs_blob_wrapper {\n\tvoid *data;\n\tlong unsigned int size;\n};\n\nstruct cros_ec_debugfs {\n\tstruct cros_ec_dev *ec;\n\tstruct dentry *dir;\n\tstruct circ_buf log_buffer;\n\tstruct cros_ec_command *read_msg;\n\tstruct mutex log_mutex;\n\tstruct delayed_work log_poll_work;\n\tstruct debugfs_blob_wrapper panicinfo_blob;\n\tstruct notifier_block notifier_panic;\n};\n\nstruct ec_response_get_features {\n\tuint32_t flags[2];\n};\n\nstruct cros_ec_dev {\n\tstruct device class_dev;\n\tstruct cros_ec_device *ec_dev;\n\tstruct device *dev;\n\tstruct cros_ec_debugfs *debug_info;\n\tbool has_kb_wake_angle;\n\tu16 cmd_offset;\n\tstruct ec_response_get_features features;\n};\n\nstruct ec_response_motion_sense_fifo_info {\n\tuint16_t size;\n\tuint16_t count;\n\tuint32_t timestamp;\n\tuint16_t total_lost;\n\tuint16_t lost[0];\n} __attribute__((packed));\n\nunion ec_response_get_next_data_v3 {\n\tuint8_t key_matrix[18];\n\tuint32_t host_event;\n\tuint64_t host_event64;\n\tstruct {\n\t\tuint8_t reserved[3];\n\t\tstruct ec_response_motion_sense_fifo_info info;\n\t} sensor_fifo;\n\tuint32_t buttons;\n\tuint32_t switches;\n\tuint32_t fp_events;\n\tuint32_t sysrq;\n\tuint32_t cec_events;\n\tuint8_t cec_message[16];\n};\n\nstruct ec_response_get_next_event_v3 {\n\tuint8_t event_type;\n\tunion ec_response_get_next_data_v3 data;\n};\n\nstruct cros_ec_device {\n\tconst char *phys_name;\n\tstruct device *dev;\n\tstruct class *cros_class;\n\tint (*cmd_readmem)(struct cros_ec_device *, unsigned int, unsigned int, void *);\n\tu16 max_request;\n\tu16 max_response;\n\tu16 max_passthru;\n\tu16 proto_version;\n\tvoid *priv;\n\tint irq;\n\tu8 *din;\n\tu8 *dout;\n\tint din_size;\n\tint dout_size;\n\tbool wake_enabled;\n\tbool suspended;\n\tint (*cmd_xfer)(struct cros_ec_device *, struct cros_ec_command *);\n\tint (*pkt_xfer)(struct cros_ec_device *, struct cros_ec_command *);\n\tstruct lock_class_key lockdep_key;\n\tstruct mutex lock;\n\tu8 mkbp_event_supported;\n\tbool host_sleep_v1;\n\tstruct blocking_notifier_head event_notifier;\n\tstruct ec_response_get_next_event_v3 event_data;\n\tint event_size;\n\tu32 host_event_wake_mask;\n\tu32 last_resume_result;\n\tu16 suspend_timeout_ms;\n\tktime_t last_event_time;\n\tstruct notifier_block notifier_ready;\n\tstruct platform_device *ec;\n\tstruct platform_device *pd;\n\tstruct blocking_notifier_head panic_notifier;\n};\n\nstruct cros_ec_extcon_info {\n\tstruct device *dev;\n\tstruct extcon_dev *edev;\n\tint port_id;\n\tstruct cros_ec_device *ec;\n\tstruct notifier_block notifier;\n\tunsigned int dr;\n\tbool pr;\n\tbool dp;\n\tbool mux;\n\tunsigned int power_type;\n};\n\nstruct cros_ec_hwmon_priv {\n\tstruct cros_ec_device *cros_ec;\n\tconst char *temp_sensor_names[24];\n\tu8 usable_fans;\n};\n\nstruct cros_ec_keyb {\n\tunsigned int rows;\n\tunsigned int cols;\n\tint row_shift;\n\tbool ghost_filter;\n\tuint8_t *valid_keys;\n\tuint8_t *old_kb_state;\n\tstruct device *dev;\n\tstruct cros_ec_device *ec;\n\tstruct input_dev *idev;\n\tstruct input_dev *bs_idev;\n\tstruct notifier_block notifier;\n\tstruct vivaldi_data vdata;\n};\n\nstruct cros_ec_platform {\n\tconst char *ec_name;\n\tu16 cmd_offset;\n};\n\nstruct cros_ec_regulator_data {\n\tstruct regulator_desc desc;\n\tstruct regulator_dev *dev;\n\tstruct cros_ec_device *ec_dev;\n\tu32 index;\n\tu16 *voltages_mV;\n\tu16 num_voltages;\n};\n\nstruct cros_ec_rtc {\n\tstruct cros_ec_device *cros_ec;\n\tstruct rtc_device *rtc;\n\tstruct notifier_block notifier;\n\tu32 saved_alarm;\n};\n\nstruct cros_ec_sensor_platform {\n\tu8 sensor_num;\n};\n\nstruct cros_ec_sensors_ec_overflow_state {\n\ts64 offset;\n\ts64 last;\n};\n\nstruct cros_ec_sensors_ts_filter_state {\n\ts64 x_offset;\n\ts64 y_offset;\n\ts64 x_history[64];\n\ts64 y_history[64];\n\ts64 m_history[64];\n\tint history_len;\n\ts64 temp_buf[64];\n\ts64 median_m;\n\ts64 median_error;\n};\n\nstruct ec_params_motion_sense;\n\nstruct ec_response_motion_sense;\n\nstruct cros_ec_sensors_ring_sample;\n\nstruct cros_ec_sensors_ts_batch_state;\n\nstruct cros_ec_sensorhub_sensor_push_data;\n\nstruct cros_ec_sensorhub {\n\tstruct device *dev;\n\tstruct cros_ec_dev *ec;\n\tint sensor_num;\n\tstruct cros_ec_command *msg;\n\tstruct ec_params_motion_sense *params;\n\tstruct ec_response_motion_sense *resp;\n\tstruct mutex cmd_lock;\n\tstruct notifier_block notifier;\n\tstruct cros_ec_sensors_ring_sample *ring;\n\tktime_t fifo_timestamp[2];\n\tstruct ec_response_motion_sense_fifo_info *fifo_info;\n\tint fifo_size;\n\tstruct cros_ec_sensors_ts_batch_state *batch_state;\n\tstruct cros_ec_sensors_ec_overflow_state overflow_a;\n\tstruct cros_ec_sensors_ec_overflow_state overflow_b;\n\tstruct cros_ec_sensors_ts_filter_state filter;\n\tint tight_timestamps;\n\ts32 future_timestamp_count;\n\ts64 future_timestamp_total_ns;\n\tstruct cros_ec_sensorhub_sensor_push_data *push_data;\n};\n\nstruct iio_dev;\n\ntypedef int (*cros_ec_sensorhub_push_data_cb_t)(struct iio_dev *, s16 *, s64);\n\nstruct cros_ec_sensorhub_sensor_push_data {\n\tstruct iio_dev *indio_dev;\n\tcros_ec_sensorhub_push_data_cb_t push_data_cb;\n};\n\nstruct cros_ec_sensors_ring_sample {\n\tu8 sensor_id;\n\tu8 flag;\n\ts16 vector[3];\n\ts64 timestamp;\n};\n\nstruct cros_ec_sensors_ts_batch_state {\n\ts64 penul_ts;\n\tint penul_len;\n\ts64 last_ts;\n\tint last_len;\n\ts64 newest_sensor_event;\n};\n\nstruct spi_device;\n\nstruct kthread_worker;\n\nstruct cros_ec_spi {\n\tstruct spi_device *spi;\n\ts64 last_transfer_ns;\n\tunsigned int start_of_msg_delay;\n\tunsigned int end_of_msg_delay;\n\tstruct kthread_worker *high_pri_worker;\n};\n\nstruct kthread_work;\n\ntypedef void (*kthread_work_func_t)(struct kthread_work *);\n\nstruct kthread_work {\n\tstruct list_head node;\n\tkthread_work_func_t func;\n\tstruct kthread_worker *worker;\n\tint canceling;\n};\n\ntypedef int (*cros_ec_xfer_fn_t)(struct cros_ec_device *, struct cros_ec_command *);\n\nstruct cros_ec_xfer_work_params {\n\tstruct kthread_work work;\n\tcros_ec_xfer_fn_t fn;\n\tstruct cros_ec_device *ec_dev;\n\tstruct cros_ec_command *ec_msg;\n\tint ret;\n};\n\nstruct cros_feature_to_cells {\n\tunsigned int id;\n\tconst struct mfd_cell *mfd_cells;\n\tunsigned int num_cells;\n};\n\nstruct cros_feature_to_name {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *desc;\n};\n\nstruct cros_usbpd_notify_data {\n\tstruct device *dev;\n\tstruct cros_ec_device *ec;\n\tstruct notifier_block nb;\n};\n\nstruct crs_csi2 {\n\tstruct list_head entry;\n\tacpi_handle handle;\n\tstruct acpi_device_software_nodes *swnodes;\n\tstruct list_head connections;\n\tu32 port_count;\n};\n\nstruct crs_csi2_connection {\n\tstruct list_head entry;\n\tstruct acpi_resource_csi2_serialbus csi2_data;\n\tacpi_handle remote_handle;\n\tchar remote_name[0];\n};\n\nstruct crypto_tfm {\n\trefcount_t refcnt;\n\tu32 crt_flags;\n\tint node;\n\tvoid (*exit)(struct crypto_tfm *);\n\tstruct crypto_alg *__crt_alg;\n\tvoid *__crt_ctx[0];\n};\n\nstruct crypto_acomp {\n\tint (*compress)(struct acomp_req *);\n\tint (*decompress)(struct acomp_req *);\n\tvoid (*dst_free)(struct scatterlist *);\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_aead {\n\tunsigned int authsize;\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_spawn {\n\tstruct list_head list;\n\tstruct crypto_alg *alg;\n\tunion {\n\t\tstruct crypto_instance *inst;\n\t\tstruct crypto_spawn *next;\n\t};\n\tconst struct crypto_type *frontend;\n\tu32 mask;\n\tbool dead;\n\tbool registered;\n};\n\nstruct crypto_aead_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_aes_ctx {\n\tu32 key_enc[60];\n\tu32 key_dec[60];\n\tu32 key_length;\n};\n\nstruct crypto_shash;\n\nstruct crypto_aes_essiv_cbc_ctx {\n\tstruct crypto_aes_ctx key1;\n\tlong: 0;\n\tstruct crypto_aes_ctx key2;\n\tstruct crypto_shash *hash;\n};\n\nstruct crypto_aes_xts_ctx {\n\tstruct crypto_aes_ctx key1;\n\tlong: 0;\n\tstruct crypto_aes_ctx key2;\n\tlong: 0;\n};\n\nstruct crypto_ahash {\n\tbool using_shash;\n\tunsigned int statesize;\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_ahash_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_akcipher {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_akcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_wait {\n\tstruct completion completion;\n\tint err;\n};\n\nstruct crypto_akcipher_sync_data {\n\tstruct crypto_akcipher *tfm;\n\tconst void *src;\n\tvoid *dst;\n\tunsigned int slen;\n\tunsigned int dlen;\n\tstruct akcipher_request *req;\n\tstruct crypto_wait cwait;\n\tstruct scatterlist sg;\n\tu8 *buf;\n};\n\nstruct crypto_attr_alg {\n\tchar name[128];\n};\n\nstruct crypto_attr_type {\n\tu32 type;\n\tu32 mask;\n};\n\nstruct crypto_cipher {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_cipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_comp {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_dump_info {\n\tstruct sk_buff *in_skb;\n\tstruct sk_buff *out_skb;\n\tu32 nlmsg_seq;\n\tu16 nlmsg_flags;\n};\n\nstruct crypto_hash_walk {\n\tchar *data;\n\tunsigned int offset;\n\tunsigned int flags;\n\tstruct page *pg;\n\tunsigned int entrylen;\n\tunsigned int total;\n\tstruct scatterlist *sg;\n};\n\nstruct crypto_kpp {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_kpp_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_larval {\n\tstruct crypto_alg alg;\n\tstruct crypto_alg *adult;\n\tstruct completion completion;\n\tu32 mask;\n\tbool test_started;\n};\n\nstruct nlmsghdr;\n\nstruct netlink_callback;\n\nstruct crypto_link {\n\tint (*doit)(struct sk_buff *, struct nlmsghdr *, struct nlattr **);\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n};\n\nstruct crypto_lskcipher {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_lskcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_queue {\n\tstruct list_head list;\n\tstruct list_head *backlog;\n\tunsigned int qlen;\n\tunsigned int max_qlen;\n};\n\nstruct crypto_report_acomp {\n\tchar type[64];\n};\n\nstruct crypto_report_aead {\n\tchar type[64];\n\tchar geniv[64];\n\tunsigned int blocksize;\n\tunsigned int maxauthsize;\n\tunsigned int ivsize;\n};\n\nstruct crypto_report_akcipher {\n\tchar type[64];\n};\n\nstruct crypto_report_blkcipher {\n\tchar type[64];\n\tchar geniv[64];\n\tunsigned int blocksize;\n\tunsigned int min_keysize;\n\tunsigned int max_keysize;\n\tunsigned int ivsize;\n};\n\nstruct crypto_report_cipher {\n\tchar type[64];\n\tunsigned int blocksize;\n\tunsigned int min_keysize;\n\tunsigned int max_keysize;\n};\n\nstruct crypto_report_comp {\n\tchar type[64];\n};\n\nstruct crypto_report_hash {\n\tchar type[64];\n\tunsigned int blocksize;\n\tunsigned int digestsize;\n};\n\nstruct crypto_report_kpp {\n\tchar type[64];\n};\n\nstruct crypto_report_larval {\n\tchar type[64];\n};\n\nstruct crypto_report_rng {\n\tchar type[64];\n\tunsigned int seedsize;\n};\n\nstruct crypto_report_sig {\n\tchar type[64];\n};\n\nstruct crypto_rng {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_scomp {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_shash {\n\tunsigned int descsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_shash_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_sig {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_sig_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_skcipher {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_skcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_sync_skcipher {\n\tstruct crypto_skcipher base;\n};\n\nstruct rtattr;\n\nstruct crypto_template {\n\tstruct list_head list;\n\tstruct hlist_head instances;\n\tstruct module *module;\n\tint (*create)(struct crypto_template *, struct rtattr **);\n\tchar name[128];\n};\n\nstruct crypto_test_param {\n\tchar driver[128];\n\tchar alg[128];\n\tu32 type;\n};\n\nstruct crypto_type {\n\tunsigned int (*ctxsize)(struct crypto_alg *, u32, u32);\n\tunsigned int (*extsize)(struct crypto_alg *);\n\tint (*init_tfm)(struct crypto_tfm *);\n\tvoid (*show)(struct seq_file *, struct crypto_alg *);\n\tint (*report)(struct sk_buff *, struct crypto_alg *);\n\tvoid (*free)(struct crypto_instance *);\n\tunsigned int type;\n\tunsigned int maskclear;\n\tunsigned int maskset;\n\tunsigned int tfmsize;\n};\n\nstruct crypto_user_alg {\n\tchar cru_name[64];\n\tchar cru_driver_name[64];\n\tchar cru_module_name[64];\n\t__u32 cru_type;\n\t__u32 cru_mask;\n\t__u32 cru_refcnt;\n\t__u32 cru_flags;\n};\n\nstruct rtattr {\n\tshort unsigned int rta_len;\n\tshort unsigned int rta_type;\n};\n\nstruct cryptomgr_param {\n\tstruct rtattr *tb[34];\n\tstruct {\n\t\tstruct rtattr attr;\n\t\tstruct crypto_attr_type data;\n\t} type;\n\tstruct {\n\t\tstruct rtattr attr;\n\t\tstruct crypto_attr_alg data;\n\t} attrs[32];\n\tchar template[128];\n\tstruct crypto_larval *larval;\n\tu32 otype;\n\tu32 omask;\n};\n\nstruct cs2000_priv {\n\tstruct clk_hw hw;\n\tstruct i2c_client *client;\n\tstruct clk *clk_in;\n\tstruct clk *ref_clk;\n\tstruct regmap *regmap;\n\tbool dynamic_mode;\n\tbool lf_ratio;\n\tbool clk_skip;\n\tlong unsigned int saved_rate;\n\tlong unsigned int saved_parent_rate;\n};\n\nstruct cs_data {\n\tu32 enable_mask;\n\tu16 slow_cfg;\n\tu16 fast_cfg;\n};\n\nstruct csi2_resources_walk_data {\n\tacpi_handle handle;\n\tstruct list_head connections;\n};\n\nstruct mem_ctl_info;\n\nstruct rank_info;\n\nstruct csrow_info {\n\tstruct device dev;\n\tlong unsigned int first_page;\n\tlong unsigned int last_page;\n\tlong unsigned int page_mask;\n\tint csrow_idx;\n\tu32 ue_count;\n\tu32 ce_count;\n\tstruct mem_ctl_info *mci;\n\tu32 nr_channels;\n\tstruct rank_info **channels;\n};\n\nstruct css_set {\n\tstruct cgroup_subsys_state *subsys[10];\n\trefcount_t refcount;\n\tstruct css_set *dom_cset;\n\tstruct cgroup *dfl_cgrp;\n\tint nr_tasks;\n\tstruct list_head tasks;\n\tstruct list_head mg_tasks;\n\tstruct list_head dying_tasks;\n\tstruct list_head task_iters;\n\tstruct list_head e_cset_node[10];\n\tstruct list_head threaded_csets;\n\tstruct list_head threaded_csets_node;\n\tstruct hlist_node hlist;\n\tstruct list_head cgrp_links;\n\tstruct list_head mg_src_preload_node;\n\tstruct list_head mg_dst_preload_node;\n\tstruct list_head mg_node;\n\tstruct cgroup *mg_src_cgrp;\n\tstruct cgroup *mg_dst_cgrp;\n\tstruct css_set *mg_dst_cset;\n\tbool dead;\n\tstruct callback_head callback_head;\n};\n\nstruct css_set__safe_rcu {\n\tstruct cgroup *dfl_cgrp;\n};\n\nstruct cstate {\n\tint state;\n\tuint32_t rep0;\n\tuint32_t rep1;\n\tuint32_t rep2;\n\tuint32_t rep3;\n};\n\nstruct csum_state {\n\t__wsum csum;\n\tsize_t off;\n};\n\nstruct ct_data_s {\n\tunion {\n\t\tush freq;\n\t\tush code;\n\t} fc;\n\tunion {\n\t\tush dad;\n\t\tush len;\n\t} dl;\n};\n\ntypedef struct ct_data_s ct_data;\n\nstruct ctl_table_root;\n\nstruct ctl_table_set;\n\nstruct ctl_dir;\n\nstruct ctl_node;\n\nstruct ctl_table_header {\n\tunion {\n\t\tstruct {\n\t\t\tconst struct ctl_table *ctl_table;\n\t\t\tint ctl_table_size;\n\t\t\tint used;\n\t\t\tint count;\n\t\t\tint nreg;\n\t\t};\n\t\tstruct callback_head rcu;\n\t};\n\tstruct completion *unregistering;\n\tconst struct ctl_table *ctl_table_arg;\n\tstruct ctl_table_root *root;\n\tstruct ctl_table_set *set;\n\tstruct ctl_dir *parent;\n\tstruct ctl_node *node;\n\tstruct hlist_head inodes;\n\tenum {\n\t\tSYSCTL_TABLE_TYPE_DEFAULT = 0,\n\t\tSYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY = 1,\n\t} type;\n};\n\nstruct ctl_dir {\n\tstruct ctl_table_header header;\n\tstruct rb_root root;\n};\n\nstruct edac_device_ctl_info;\n\nstruct ctl_info_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct edac_device_ctl_info *, char *);\n\tssize_t (*store)(struct edac_device_ctl_info *, const char *, size_t);\n};\n\nstruct ctl_node {\n\tstruct rb_node node;\n\tstruct ctl_table_header *header;\n};\n\ntypedef int proc_handler(const struct ctl_table *, int, void *, size_t *, loff_t *);\n\nstruct ctl_table_poll;\n\nstruct ctl_table {\n\tconst char *procname;\n\tvoid *data;\n\tint maxlen;\n\tumode_t mode;\n\tproc_handler *proc_handler;\n\tstruct ctl_table_poll *poll;\n\tvoid *extra1;\n\tvoid *extra2;\n};\n\nstruct ctl_table_poll {\n\tatomic_t event;\n\twait_queue_head_t wait;\n};\n\nstruct ctl_table_set {\n\tint (*is_seen)(struct ctl_table_set *);\n\tstruct ctl_dir dir;\n};\n\nstruct ctl_table_root {\n\tstruct ctl_table_set default_set;\n\tstruct ctl_table_set * (*lookup)(struct ctl_table_root *);\n\tvoid (*set_ownership)(struct ctl_table_header *, kuid_t *, kgid_t *);\n\tint (*permissions)(struct ctl_table_header *, const struct ctl_table *);\n};\n\nstruct netlink_policy_dump_state;\n\nstruct genl_family;\n\nstruct genl_op_iter;\n\nstruct ctrl_dump_policy_ctx {\n\tstruct netlink_policy_dump_state *state;\n\tconst struct genl_family *rt;\n\tstruct genl_op_iter *op_iter;\n\tu32 op;\n\tu16 fam_id;\n\tu8 dump_map: 1;\n\tu8 single_op: 1;\n};\n\nstruct ctrl_regs {\n\tu32 tmr_ctrl;\n\tu32 tmr_tevent;\n\tu32 tmr_temask;\n\tu32 tmr_pevent;\n\tu32 tmr_pemask;\n\tu32 tmr_stat;\n\tu32 tmr_cnt_h;\n\tu32 tmr_cnt_l;\n\tu32 tmr_add;\n\tu32 tmr_acc;\n\tu32 tmr_prsc;\n\tu8 res1[4];\n\tu32 tmroff_h;\n\tu32 tmroff_l;\n};\n\nstruct ctx_rq_wait {\n\tstruct completion comp;\n\tatomic_t count;\n};\n\nstruct ctx_switch_entry {\n\tstruct trace_entry ent;\n\tunsigned int prev_pid;\n\tunsigned int next_pid;\n\tunsigned int next_cpu;\n\tunsigned char prev_prio;\n\tunsigned char prev_state;\n\tunsigned char next_prio;\n\tunsigned char next_state;\n};\n\nstruct cvb_coefficients {\n\tint c0;\n\tint c1;\n\tint c2;\n};\n\nstruct cvb_cpu_dfll_data {\n\tu32 tune0_low;\n\tu32 tune0_high;\n\tu32 tune1;\n\tunsigned int tune_high_min_millivolts;\n};\n\nstruct cvb_table_freq_entry {\n\tlong unsigned int freq;\n\tstruct cvb_coefficients coefficients;\n};\n\nstruct cvb_table {\n\tint speedo_id;\n\tint process_id;\n\tint min_millivolts;\n\tint max_millivolts;\n\tint speedo_scale;\n\tint voltage_scale;\n\tstruct cvb_table_freq_entry entries[40];\n\tstruct cvb_cpu_dfll_data cpu_dfll_data;\n};\n\nstruct cvmx_smix_clk_s {\n\tu64 phase: 8;\n\tu64 sample: 4;\n\tu64 preamble: 1;\n\tu64 clk_idle: 1;\n\tu64 reserved_14_14: 1;\n\tu64 sample_mode: 1;\n\tu64 sample_hi: 5;\n\tu64 reserved_21_23: 3;\n\tu64 mode: 1;\n\tu64 reserved_25_63: 39;\n};\n\nunion cvmx_smix_clk {\n\tu64 u64;\n\tstruct cvmx_smix_clk_s s;\n};\n\nstruct cvmx_smix_cmd_s {\n\tu64 reg_adr: 5;\n\tu64 reserved_5_7: 3;\n\tu64 phy_adr: 5;\n\tu64 reserved_13_15: 3;\n\tu64 phy_op: 2;\n\tu64 reserved_18_63: 46;\n};\n\nunion cvmx_smix_cmd {\n\tu64 u64;\n\tstruct cvmx_smix_cmd_s s;\n};\n\nstruct cvmx_smix_en_s {\n\tu64 en: 1;\n\tu64 reserved_1_63: 63;\n};\n\nunion cvmx_smix_en {\n\tu64 u64;\n\tstruct cvmx_smix_en_s s;\n};\n\nstruct cvmx_smix_rd_dat_s {\n\tu64 dat: 16;\n\tu64 val: 1;\n\tu64 pending: 1;\n\tu64 reserved_18_63: 46;\n};\n\nunion cvmx_smix_rd_dat {\n\tu64 u64;\n\tstruct cvmx_smix_rd_dat_s s;\n};\n\nstruct cvmx_smix_wr_dat_s {\n\tu64 dat: 16;\n\tu64 val: 1;\n\tu64 pending: 1;\n\tu64 reserved_18_63: 46;\n};\n\nunion cvmx_smix_wr_dat {\n\tu64 u64;\n\tstruct cvmx_smix_wr_dat_s s;\n};\n\nstruct cxl_event_record_hdr {\n\tu8 length;\n\tu8 flags[3];\n\t__le16 handle;\n\t__le16 related_handle;\n\t__le64 timestamp;\n\tu8 maint_op_class;\n\tu8 maint_op_sub_class;\n\tu8 reserved[14];\n};\n\nstruct cxl_event_generic {\n\tstruct cxl_event_record_hdr hdr;\n\tu8 data[80];\n};\n\nstruct cxl_event_media_hdr {\n\tstruct cxl_event_record_hdr hdr;\n\t__le64 phys_addr;\n\tu8 descriptor;\n\tu8 type;\n\tu8 transaction_type;\n\tu8 validity_flags[2];\n\tu8 channel;\n\tu8 rank;\n} __attribute__((packed));\n\nstruct cxl_event_gen_media {\n\tstruct cxl_event_media_hdr media_hdr;\n\tu8 device[3];\n\tu8 component_id[16];\n\tu8 cme_threshold_ev_flags;\n\tu8 cme_count[3];\n\tu8 sub_type;\n\tu8 reserved[41];\n};\n\nstruct cxl_event_dram {\n\tstruct cxl_event_media_hdr media_hdr;\n\tu8 nibble_mask[3];\n\tu8 bank_group;\n\tu8 bank;\n\tu8 row[3];\n\tu8 column[2];\n\tu8 correction_mask[32];\n\tu8 component_id[16];\n\tu8 sub_channel;\n\tu8 cme_threshold_ev_flags;\n\tu8 cvme_count[3];\n\tu8 sub_type;\n\tu8 reserved;\n};\n\nstruct cxl_get_health_info {\n\tu8 health_status;\n\tu8 media_status;\n\tu8 add_status;\n\tu8 life_used;\n\tu8 device_temp[2];\n\tu8 dirty_shutdown_cnt[4];\n\tu8 cor_vol_err_cnt[4];\n\tu8 cor_per_err_cnt[4];\n};\n\nstruct cxl_event_mem_module {\n\tstruct cxl_event_record_hdr hdr;\n\tu8 event_type;\n\tstruct cxl_get_health_info info;\n\tu8 validity_flags[2];\n\tu8 component_id[16];\n\tu8 event_sub_type;\n\tu8 reserved[42];\n};\n\nunion cxl_event {\n\tstruct cxl_event_generic generic;\n\tstruct cxl_event_gen_media gen_media;\n\tstruct cxl_event_dram dram;\n\tstruct cxl_event_mem_module mem_module;\n\tstruct cxl_event_media_hdr media_hdr;\n};\n\nstruct cxl_cper_event_rec {\n\tstruct {\n\t\tu32 length;\n\t\tu64 validation_bits;\n\t\tstruct cper_cxl_event_devid device_id;\n\t\tstruct cper_cxl_event_sn dev_serial_num;\n\t} __attribute__((packed)) hdr;\n\tunion cxl_event event;\n};\n\nstruct cxl_cper_work_data {\n\tenum cxl_event_type event_type;\n\tstruct cxl_cper_event_rec rec;\n} __attribute__((packed));\n\nstruct cxl_ras_capability_regs {\n\tu32 uncor_status;\n\tu32 uncor_mask;\n\tu32 uncor_severity;\n\tu32 cor_status;\n\tu32 cor_mask;\n\tu32 cap_control;\n\tu32 header_log[16];\n};\n\nstruct cyclecounter {\n\tu64 (*read)(const struct cyclecounter *);\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n};\n\nstruct cytp_contact {\n\tint x;\n\tint y;\n\tint z;\n};\n\nstruct cytp_data {\n\tint fw_version;\n\tint pkt_size;\n\tint mode;\n\tint tp_min_pressure;\n\tint tp_max_pressure;\n\tint tp_width;\n\tint tp_high;\n\tint tp_max_abs_x;\n\tint tp_max_abs_y;\n\tint tp_res_x;\n\tint tp_res_y;\n\tint tp_metrics_supported;\n};\n\nstruct cytp_report_data {\n\tint contact_cnt;\n\tstruct cytp_contact contacts[2];\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int tap: 1;\n};\n\nstruct snd_soc_dapm_widget;\n\nstruct snd_soc_dapm_widget_list;\n\nstruct dapm_kcontrol_data {\n\tunsigned int value;\n\tstruct snd_soc_dapm_widget *widget;\n\tstruct list_head paths;\n\tstruct snd_soc_dapm_widget_list *wlist;\n};\n\nstruct dart_io_pgtable {\n\tstruct io_pgtable iop;\n\tint tbl_bits;\n\tint bits_per_level;\n\tvoid *pgd[4];\n};\n\nstruct data_chunk {\n\tsize_t size;\n\tsize_t icg;\n\tsize_t dst_icg;\n\tsize_t src_icg;\n};\n\nstruct mtd_ecc_stats {\n\t__u32 corrected;\n\t__u32 failed;\n\t__u32 badblocks;\n\t__u32 bbtblocks;\n};\n\nstruct mtd_debug_info {\n\tstruct dentry *dfs_dir;\n};\n\nstruct mtd_part {\n\tstruct list_head node;\n\tu64 offset;\n\tu64 size;\n\tu32 flags;\n};\n\nstruct mtd_master {\n\tstruct mutex partitions_lock;\n\tstruct mutex chrdev_lock;\n\tunsigned int suspended: 1;\n};\n\nstruct mtd_ooblayout_ops;\n\nstruct mtd_pairing_scheme;\n\nstruct mtd_erase_region_info;\n\nstruct erase_info;\n\nstruct mtd_oob_ops;\n\nstruct otp_info;\n\nstruct nvmem_device;\n\nstruct mtd_info {\n\tu_char type;\n\tuint32_t flags;\n\tuint64_t size;\n\tuint32_t erasesize;\n\tuint32_t writesize;\n\tuint32_t writebufsize;\n\tuint32_t oobsize;\n\tuint32_t oobavail;\n\tunsigned int erasesize_shift;\n\tunsigned int writesize_shift;\n\tunsigned int erasesize_mask;\n\tunsigned int writesize_mask;\n\tunsigned int bitflip_threshold;\n\tconst char *name;\n\tint index;\n\tconst struct mtd_ooblayout_ops *ooblayout;\n\tconst struct mtd_pairing_scheme *pairing;\n\tunsigned int ecc_step_size;\n\tunsigned int ecc_strength;\n\tint numeraseregions;\n\tstruct mtd_erase_region_info *eraseregions;\n\tint (*_erase)(struct mtd_info *, struct erase_info *);\n\tint (*_point)(struct mtd_info *, loff_t, size_t, size_t *, void **, resource_size_t *);\n\tint (*_unpoint)(struct mtd_info *, loff_t, size_t);\n\tint (*_read)(struct mtd_info *, loff_t, size_t, size_t *, u_char *);\n\tint (*_write)(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);\n\tint (*_panic_write)(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);\n\tint (*_read_oob)(struct mtd_info *, loff_t, struct mtd_oob_ops *);\n\tint (*_write_oob)(struct mtd_info *, loff_t, struct mtd_oob_ops *);\n\tint (*_get_fact_prot_info)(struct mtd_info *, size_t, size_t *, struct otp_info *);\n\tint (*_read_fact_prot_reg)(struct mtd_info *, loff_t, size_t, size_t *, u_char *);\n\tint (*_get_user_prot_info)(struct mtd_info *, size_t, size_t *, struct otp_info *);\n\tint (*_read_user_prot_reg)(struct mtd_info *, loff_t, size_t, size_t *, u_char *);\n\tint (*_write_user_prot_reg)(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);\n\tint (*_lock_user_prot_reg)(struct mtd_info *, loff_t, size_t);\n\tint (*_erase_user_prot_reg)(struct mtd_info *, loff_t, size_t);\n\tint (*_writev)(struct mtd_info *, const struct kvec *, long unsigned int, loff_t, size_t *);\n\tvoid (*_sync)(struct mtd_info *);\n\tint (*_lock)(struct mtd_info *, loff_t, uint64_t);\n\tint (*_unlock)(struct mtd_info *, loff_t, uint64_t);\n\tint (*_is_locked)(struct mtd_info *, loff_t, uint64_t);\n\tint (*_block_isreserved)(struct mtd_info *, loff_t);\n\tint (*_block_isbad)(struct mtd_info *, loff_t);\n\tint (*_block_markbad)(struct mtd_info *, loff_t);\n\tint (*_max_bad_blocks)(struct mtd_info *, loff_t, size_t);\n\tint (*_suspend)(struct mtd_info *);\n\tvoid (*_resume)(struct mtd_info *);\n\tvoid (*_reboot)(struct mtd_info *);\n\tint (*_get_device)(struct mtd_info *);\n\tvoid (*_put_device)(struct mtd_info *);\n\tbool oops_panic_write;\n\tstruct notifier_block reboot_notifier;\n\tstruct mtd_ecc_stats ecc_stats;\n\tint subpage_sft;\n\tvoid *priv;\n\tstruct module *owner;\n\tstruct device dev;\n\tstruct kref refcnt;\n\tstruct mtd_debug_info dbg;\n\tstruct nvmem_device *nvmem;\n\tstruct nvmem_device *otp_user_nvmem;\n\tstruct nvmem_device *otp_factory_nvmem;\n\tstruct mtd_info *parent;\n\tstruct list_head partitions;\n\tstruct mtd_part part;\n\tstruct mtd_master master;\n};\n\nstruct dataflash {\n\tu8 command[4];\n\tchar name[24];\n\tshort unsigned int page_offset;\n\tunsigned int page_size;\n\tstruct mutex lock;\n\tstruct spi_device *spi;\n\tstruct mtd_info mtd;\n};\n\nstruct davinci_gpio_regs {\n\tu32 dir;\n\tu32 out_data;\n\tu32 set_data;\n\tu32 clr_data;\n\tu32 in_data;\n\tu32 set_rising;\n\tu32 clr_rising;\n\tu32 set_falling;\n\tu32 clr_falling;\n\tu32 intstat;\n};\n\nstruct davinci_gpio_controller {\n\tstruct gpio_chip chip;\n\tstruct irq_domain *irq_domain;\n\tspinlock_t lock;\n\tvoid *regs[5];\n\tint gpio_unbanked;\n\tint irqs[32];\n\tstruct davinci_gpio_regs context[5];\n\tu32 binten_context;\n};\n\nstruct davinci_gpio_irq_data {\n\tvoid *regs;\n\tstruct davinci_gpio_controller *chip;\n\tint bank_num;\n};\n\nstruct mdio_platform_data {\n\tlong unsigned int bus_freq;\n};\n\nstruct davinci_mdio_regs;\n\nstruct davinci_mdio_data {\n\tstruct mdio_platform_data pdata;\n\tstruct mdiobb_ctrl bb_ctrl;\n\tstruct davinci_mdio_regs *regs;\n\tstruct clk *clk;\n\tstruct device *dev;\n\tstruct mii_bus *bus;\n\tbool active_in_suspend;\n\tlong unsigned int access_time;\n\tbool skip_scan;\n\tu32 clk_div;\n\tbool manual_mode;\n};\n\nstruct davinci_mdio_of_param {\n\tint autosuspend_delay_ms;\n\tbool manual_mode;\n};\n\nstruct davinci_mdio_regs {\n\tu32 version;\n\tu32 control;\n\tu32 alive;\n\tu32 link;\n\tu32 linkintraw;\n\tu32 linkintmasked;\n\tu32 __reserved_0[2];\n\tu32 userintraw;\n\tu32 userintmasked;\n\tu32 userintmaskset;\n\tu32 userintmaskclr;\n\tu32 manualif;\n\tu32 poll;\n\tu32 __reserved_1[18];\n\tstruct {\n\t\tu32 access;\n\t\tu32 physel;\n\t} user[0];\n};\n\nstruct dax_device;\n\nstruct dax_holder_operations {\n\tint (*notify_failure)(struct dax_device *, u64, u64, int);\n};\n\nstruct xhci_dbc;\n\nstruct dbc_driver {\n\tint (*configure)(struct xhci_dbc *);\n\tvoid (*disconnect)(struct xhci_dbc *);\n};\n\nstruct xhci_ring;\n\nstruct dbc_ep {\n\tstruct xhci_dbc *dbc;\n\tstruct list_head list_pending;\n\tstruct xhci_ring *ring;\n\tunsigned int direction: 1;\n\tunsigned int halted: 1;\n};\n\nstruct dbc_regs {\n\t__le32 capability;\n\t__le32 doorbell;\n\t__le32 ersts;\n\t__le32 __reserved_0;\n\t__le64 erstba;\n\t__le64 erdp;\n\t__le32 control;\n\t__le32 status;\n\t__le32 portsc;\n\t__le32 __reserved_1;\n\t__le64 dccp;\n\t__le32 devinfo1;\n\t__le32 devinfo2;\n};\n\nunion xhci_trb;\n\nstruct dbc_request {\n\tvoid *buf;\n\tunsigned int length;\n\tdma_addr_t dma;\n\tvoid (*complete)(struct xhci_dbc *, struct dbc_request *);\n\tstruct list_head list_pool;\n\tint status;\n\tunsigned int actual;\n\tstruct xhci_dbc *dbc;\n\tstruct list_head list_pending;\n\tdma_addr_t trb_dma;\n\tunion xhci_trb *trb;\n\tunsigned int direction: 1;\n};\n\nstruct dbc_str_descs {\n\tchar string0[64];\n\tchar manufacturer[64];\n\tchar product[64];\n\tchar serial[64];\n};\n\nstruct gov_attr_set {\n\tstruct kobject kobj;\n\tstruct list_head policy_list;\n\tstruct mutex update_lock;\n\tint usage_count;\n};\n\nstruct dbs_governor;\n\nstruct dbs_data {\n\tstruct gov_attr_set attr_set;\n\tstruct dbs_governor *gov;\n\tvoid *tuners;\n\tunsigned int ignore_nice_load;\n\tunsigned int sampling_rate;\n\tunsigned int sampling_down_factor;\n\tunsigned int up_threshold;\n\tunsigned int io_is_busy;\n};\n\nstruct sysfs_ops;\n\nstruct kobj_type {\n\tvoid (*release)(struct kobject *);\n\tconst struct sysfs_ops *sysfs_ops;\n\tconst struct attribute_group **default_groups;\n\tconst struct kobj_ns_type_operations * (*child_ns_type)(const struct kobject *);\n\tconst void * (*namespace)(const struct kobject *);\n\tvoid (*get_ownership)(const struct kobject *, kuid_t *, kgid_t *);\n};\n\nstruct dbs_governor {\n\tstruct cpufreq_governor gov;\n\tstruct kobj_type kobj_type;\n\tstruct dbs_data *gdbs_data;\n\tunsigned int (*gov_dbs_update)(struct cpufreq_policy *);\n\tstruct policy_dbs_info * (*alloc)(void);\n\tvoid (*free)(struct policy_dbs_info *);\n\tint (*init)(struct dbs_data *);\n\tvoid (*exit)(struct dbs_data *);\n\tvoid (*start)(struct cpufreq_policy *);\n};\n\nstruct dcb_app {\n\t__u8 selector;\n\t__u8 priority;\n\t__u16 protocol;\n};\n\nstruct dccp_hdr {\n\t__be16 dccph_sport;\n\t__be16 dccph_dport;\n\t__u8 dccph_doff;\n\t__u8 dccph_cscov: 4;\n\t__u8 dccph_ccval: 4;\n\t__sum16 dccph_checksum;\n\t__u8 dccph_x: 1;\n\t__u8 dccph_type: 4;\n\t__u8 dccph_reserved: 3;\n\t__u8 dccph_seq2;\n\t__be16 dccph_seq;\n};\n\nstruct io_stats_per_prio {\n\tuint32_t inserted;\n\tuint32_t merged;\n\tuint32_t dispatched;\n\tatomic_t completed;\n};\n\nstruct dd_per_prio {\n\tstruct list_head dispatch;\n\tstruct rb_root sort_list[2];\n\tstruct list_head fifo_list[2];\n\tsector_t latest_pos[2];\n\tstruct io_stats_per_prio stats;\n};\n\nstruct rzv2h_cpg_priv;\n\nstruct ddiv_clk {\n\tstruct rzv2h_cpg_priv *priv;\n\tstruct clk_divider div;\n\tu8 mon;\n};\n\nstruct deadline_data {\n\tstruct dd_per_prio per_prio[3];\n\tenum dd_data_dir last_dir;\n\tunsigned int batching;\n\tunsigned int starved;\n\tint fifo_expire[2];\n\tint fifo_batch;\n\tint writes_starved;\n\tint front_merges;\n\tu32 async_depth;\n\tint prio_aging_expire;\n\tspinlock_t lock;\n};\n\nstruct ohci_hcd;\n\nstruct debug_buffer {\n\tssize_t (*fill_func)(struct debug_buffer *);\n\tstruct ohci_hcd *ohci;\n\tstruct mutex mutex;\n\tsize_t count;\n\tchar *page;\n};\n\nstruct debug_info {\n\tint suspended_step;\n\tint bps_disabled;\n\tint wps_disabled;\n\tstruct perf_event *hbp_break[16];\n\tstruct perf_event *hbp_watch[16];\n};\n\nstruct debug_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 msg_mask;\n};\n\nstruct debugfs_cancellation {\n\tstruct list_head list;\n\tvoid (*cancel)(struct dentry *, void *);\n\tvoid *cancel_data;\n};\n\nstruct debugfs_devm_entry {\n\tint (*read)(struct seq_file *, void *);\n\tstruct device *dev;\n};\n\nstruct debugfs_fs_info {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tunsigned int opts;\n};\n\nstruct debugfs_short_fops;\n\nstruct debugfs_fsdata {\n\tconst struct file_operations *real_fops;\n\tconst struct debugfs_short_fops *short_fops;\n\tstruct {\n\t\trefcount_t active_users;\n\t\tstruct completion active_users_drained;\n\t\tstruct mutex cancellations_mtx;\n\t\tstruct list_head cancellations;\n\t\tunsigned int methods;\n\t};\n};\n\ntypedef struct vfsmount * (*debugfs_automount_t)(struct dentry *, void *);\n\nstruct debugfs_inode_info {\n\tstruct inode vfs_inode;\n\tunion {\n\t\tconst void *raw;\n\t\tconst struct file_operations *real_fops;\n\t\tconst struct debugfs_short_fops *short_fops;\n\t\tdebugfs_automount_t automount;\n\t};\n\tconst void *aux;\n};\n\nstruct debugfs_reg32 {\n\tchar *name;\n\tlong unsigned int offset;\n};\n\nstruct debugfs_regset32 {\n\tconst struct debugfs_reg32 *regs;\n\tint nregs;\n\tvoid *base;\n\tstruct device *dev;\n};\n\nstruct debugfs_short_fops {\n\tssize_t (*read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct file *, const char *, size_t, loff_t *);\n\tloff_t (*llseek)(struct file *, loff_t, int);\n};\n\nstruct debugfs_u32_array {\n\tu32 *array;\n\tu32 n_elements;\n};\n\nstruct dec_data {\n\tstruct task_struct *thr;\n\tstruct crypto_comp *cc;\n\tatomic_t ready;\n\tatomic_t stop;\n\tint ret;\n\twait_queue_head_t go;\n\twait_queue_head_t done;\n\tsize_t unc_len;\n\tsize_t cmp_len;\n\tunsigned char unc[131072];\n\tunsigned char cmp[143360];\n};\n\nstruct skcipher_request;\n\nstruct decryptor_desc {\n\tu8 iv[16];\n\tstruct skcipher_request *req;\n\tstruct scatterlist frags[4];\n\tint fragno;\n\tint fraglen;\n};\n\nstruct dma_fence;\n\nstruct dma_fence_cb;\n\ntypedef void (*dma_fence_func_t)(struct dma_fence *, struct dma_fence_cb *);\n\nstruct dma_fence_cb {\n\tstruct list_head node;\n\tdma_fence_func_t func;\n};\n\nstruct default_wait_cb {\n\tstruct dma_fence_cb base;\n\tstruct task_struct *task;\n};\n\nstruct deferred_entry {\n\tstruct list_head list;\n\tgrant_ref_t ref;\n\tuint16_t warn_delay;\n\tstruct page *page;\n};\n\nstruct deferred_split {\n\tspinlock_t split_queue_lock;\n\tstruct list_head split_queue;\n\tlong unsigned int split_queue_len;\n};\n\nstruct z_stream_s;\n\ntypedef struct z_stream_s z_stream;\n\ntypedef z_stream *z_streamp;\n\nstruct static_tree_desc_s;\n\ntypedef struct static_tree_desc_s static_tree_desc;\n\nstruct tree_desc_s {\n\tct_data *dyn_tree;\n\tint max_code;\n\tstatic_tree_desc *stat_desc;\n};\n\nstruct deflate_state {\n\tz_streamp strm;\n\tint status;\n\tByte *pending_buf;\n\tulg pending_buf_size;\n\tByte *pending_out;\n\tint pending;\n\tint noheader;\n\tByte data_type;\n\tByte method;\n\tint last_flush;\n\tuInt w_size;\n\tuInt w_bits;\n\tuInt w_mask;\n\tByte *window;\n\tulg window_size;\n\tPos *prev;\n\tPos *head;\n\tuInt ins_h;\n\tuInt hash_size;\n\tuInt hash_bits;\n\tuInt hash_mask;\n\tuInt hash_shift;\n\tlong int block_start;\n\tuInt match_length;\n\tIPos prev_match;\n\tint match_available;\n\tuInt strstart;\n\tuInt match_start;\n\tuInt lookahead;\n\tuInt prev_length;\n\tuInt max_chain_length;\n\tuInt max_lazy_match;\n\tint level;\n\tint strategy;\n\tuInt good_match;\n\tint nice_match;\n\tstruct ct_data_s dyn_ltree[573];\n\tstruct ct_data_s dyn_dtree[61];\n\tstruct ct_data_s bl_tree[39];\n\tstruct tree_desc_s l_desc;\n\tstruct tree_desc_s d_desc;\n\tstruct tree_desc_s bl_desc;\n\tush bl_count[16];\n\tint heap[573];\n\tint heap_len;\n\tint heap_max;\n\tuch depth[573];\n\tuch *l_buf;\n\tuInt lit_bufsize;\n\tuInt last_lit;\n\tush *d_buf;\n\tulg opt_len;\n\tulg static_len;\n\tulg compressed_len;\n\tuInt matches;\n\tint last_eob_len;\n\tush bi_buf;\n\tint bi_valid;\n};\n\nstruct deflate_workspace {\n\tdeflate_state deflate_memory;\n\tByte *window_memory;\n\tPos *prev_memory;\n\tPos *head_memory;\n\tchar *overlay_memory;\n};\n\ntypedef struct deflate_workspace deflate_workspace;\n\nstruct delayed_call {\n\tvoid (*fn)(void *);\n\tvoid *arg;\n};\n\nstruct delayed_uprobe {\n\tstruct list_head list;\n\tstruct uprobe *uprobe;\n\tstruct mm_struct *mm;\n};\n\nstruct demotion_nodes {\n\tnodemask_t preferred;\n};\n\nstruct nand_memory_organization {\n\tunsigned int bits_per_cell;\n\tunsigned int pagesize;\n\tunsigned int oobsize;\n\tunsigned int pages_per_eraseblock;\n\tunsigned int eraseblocks_per_lun;\n\tunsigned int max_bad_eraseblocks_per_lun;\n\tunsigned int planes_per_lun;\n\tunsigned int luns_per_target;\n\tunsigned int ntargets;\n};\n\nstruct nand_ecc_props {\n\tenum nand_ecc_engine_type engine_type;\n\tenum nand_ecc_placement placement;\n\tenum nand_ecc_algo algo;\n\tunsigned int strength;\n\tunsigned int step_size;\n\tunsigned int flags;\n};\n\nstruct nand_ecc_context {\n\tstruct nand_ecc_props conf;\n\tunsigned int nsteps;\n\tunsigned int total;\n\tvoid *priv;\n};\n\nstruct nand_ecc_engine;\n\nstruct nand_ecc {\n\tstruct nand_ecc_props defaults;\n\tstruct nand_ecc_props requirements;\n\tstruct nand_ecc_props user_conf;\n\tstruct nand_ecc_context ctx;\n\tstruct nand_ecc_engine *ondie_engine;\n\tstruct nand_ecc_engine *engine;\n};\n\nstruct nand_row_converter {\n\tunsigned int lun_addr_shift;\n\tunsigned int eraseblock_addr_shift;\n};\n\nstruct nand_bbt {\n\tlong unsigned int *cache;\n};\n\nstruct nand_ops;\n\nstruct nand_device {\n\tstruct mtd_info mtd;\n\tstruct nand_memory_organization memorg;\n\tstruct nand_ecc ecc;\n\tstruct nand_row_converter rowconv;\n\tstruct nand_bbt bbt;\n\tconst struct nand_ops *ops;\n};\n\nstruct nand_id {\n\tu8 data[8];\n\tint len;\n};\n\nstruct onfi_params;\n\nstruct nand_parameters {\n\tconst char *model;\n\tbool supports_set_get_features;\n\tbool supports_read_cache;\n\tlong unsigned int set_feature_list[4];\n\tlong unsigned int get_feature_list[4];\n\tstruct onfi_params *onfi;\n};\n\nstruct nand_manufacturer_desc;\n\nstruct nand_manufacturer {\n\tconst struct nand_manufacturer_desc *desc;\n\tvoid *priv;\n};\n\nstruct nand_chip;\n\nstruct nand_interface_config;\n\nstruct nand_chip_ops {\n\tint (*suspend)(struct nand_chip *);\n\tvoid (*resume)(struct nand_chip *);\n\tint (*lock_area)(struct nand_chip *, loff_t, uint64_t);\n\tint (*unlock_area)(struct nand_chip *, loff_t, uint64_t);\n\tint (*setup_read_retry)(struct nand_chip *, int);\n\tint (*choose_interface_config)(struct nand_chip *, struct nand_interface_config *);\n};\n\nstruct nand_controller_ops;\n\nstruct nand_controller {\n\tstruct mutex lock;\n\tconst struct nand_controller_ops *ops;\n\tstruct {\n\t\tunsigned int data_only_read: 1;\n\t\tunsigned int cont_read: 1;\n\t} supported_op;\n\tbool controller_wp;\n};\n\nstruct nand_legacy {\n\tvoid *IO_ADDR_R;\n\tvoid *IO_ADDR_W;\n\tvoid (*select_chip)(struct nand_chip *, int);\n\tu8 (*read_byte)(struct nand_chip *);\n\tvoid (*write_byte)(struct nand_chip *, u8);\n\tvoid (*write_buf)(struct nand_chip *, const u8 *, int);\n\tvoid (*read_buf)(struct nand_chip *, u8 *, int);\n\tvoid (*cmd_ctrl)(struct nand_chip *, int, unsigned int);\n\tvoid (*cmdfunc)(struct nand_chip *, unsigned int, int, int);\n\tint (*dev_ready)(struct nand_chip *);\n\tint (*waitfunc)(struct nand_chip *);\n\tint (*block_bad)(struct nand_chip *, loff_t);\n\tint (*block_markbad)(struct nand_chip *, loff_t);\n\tint (*set_features)(struct nand_chip *, int, u8 *);\n\tint (*get_features)(struct nand_chip *, int, u8 *);\n\tint chip_delay;\n\tstruct nand_controller dummy_controller;\n};\n\nstruct nand_ecc_ctrl {\n\tenum nand_ecc_engine_type engine_type;\n\tenum nand_ecc_placement placement;\n\tenum nand_ecc_algo algo;\n\tint steps;\n\tint size;\n\tint bytes;\n\tint total;\n\tint strength;\n\tint prepad;\n\tint postpad;\n\tunsigned int options;\n\tu8 *calc_buf;\n\tu8 *code_buf;\n\tvoid (*hwctl)(struct nand_chip *, int);\n\tint (*calculate)(struct nand_chip *, const uint8_t *, uint8_t *);\n\tint (*correct)(struct nand_chip *, uint8_t *, uint8_t *, uint8_t *);\n\tint (*read_page_raw)(struct nand_chip *, uint8_t *, int, int);\n\tint (*write_page_raw)(struct nand_chip *, const uint8_t *, int, int);\n\tint (*read_page)(struct nand_chip *, uint8_t *, int, int);\n\tint (*read_subpage)(struct nand_chip *, uint32_t, uint32_t, uint8_t *, int);\n\tint (*write_subpage)(struct nand_chip *, uint32_t, uint32_t, const uint8_t *, int, int);\n\tint (*write_page)(struct nand_chip *, const uint8_t *, int, int);\n\tint (*write_oob_raw)(struct nand_chip *, int);\n\tint (*read_oob_raw)(struct nand_chip *, int);\n\tint (*read_oob)(struct nand_chip *, int);\n\tint (*write_oob)(struct nand_chip *, int);\n};\n\nstruct nand_bbt_descr;\n\nstruct nand_secure_region;\n\nstruct nand_chip {\n\tstruct nand_device base;\n\tstruct nand_id id;\n\tstruct nand_parameters parameters;\n\tstruct nand_manufacturer manufacturer;\n\tstruct nand_chip_ops ops;\n\tstruct nand_legacy legacy;\n\tunsigned int options;\n\tconst struct nand_interface_config *current_interface_config;\n\tstruct nand_interface_config *best_interface_config;\n\tunsigned int bbt_erase_shift;\n\tunsigned int bbt_options;\n\tunsigned int badblockpos;\n\tunsigned int badblockbits;\n\tstruct nand_bbt_descr *bbt_td;\n\tstruct nand_bbt_descr *bbt_md;\n\tstruct nand_bbt_descr *badblock_pattern;\n\tu8 *bbt;\n\tunsigned int page_shift;\n\tunsigned int phys_erase_shift;\n\tunsigned int chip_shift;\n\tunsigned int pagemask;\n\tunsigned int subpagesize;\n\tu8 *data_buf;\n\tu8 *oob_poi;\n\tstruct {\n\t\tunsigned int bitflips;\n\t\tint page;\n\t} pagecache;\n\tlong unsigned int buf_align;\n\tstruct mutex lock;\n\tunsigned int suspended: 1;\n\twait_queue_head_t resume_wq;\n\tint cur_cs;\n\tint read_retries;\n\tstruct nand_secure_region *secure_regions;\n\tu8 nr_secure_regions;\n\tstruct {\n\t\tbool ongoing;\n\t\tunsigned int first_page;\n\t\tunsigned int pause_page;\n\t\tunsigned int last_page;\n\t} cont_read;\n\tstruct nand_controller *controller;\n\tstruct nand_ecc_ctrl ecc;\n\tvoid *priv;\n};\n\nstruct denali_chip_sel {\n\tint bank;\n\tu32 hwhr2_and_we_2_re;\n\tu32 tcwaw_and_addr_2_data;\n\tu32 re_2_we;\n\tu32 acc_clks;\n\tu32 rdwr_en_lo_cnt;\n\tu32 rdwr_en_hi_cnt;\n\tu32 cs_setup_cnt;\n\tu32 re_2_re;\n};\n\nstruct denali_chip {\n\tstruct nand_chip chip;\n\tstruct list_head node;\n\tunsigned int nsels;\n\tstruct denali_chip_sel sels[0];\n};\n\nstruct nand_ecc_caps;\n\nstruct denali_controller {\n\tstruct nand_controller controller;\n\tstruct device *dev;\n\tstruct list_head chips;\n\tlong unsigned int clk_rate;\n\tlong unsigned int clk_x_rate;\n\tvoid *reg;\n\tvoid *host;\n\tstruct completion complete;\n\tint irq;\n\tu32 irq_mask;\n\tu32 irq_status;\n\tspinlock_t irq_lock;\n\tbool dma_avail;\n\tint devs_per_cs;\n\tint oob_skip_bytes;\n\tint active_bank;\n\tint nbanks;\n\tunsigned int revision;\n\tunsigned int caps;\n\tconst struct nand_ecc_caps *ecc_caps;\n\tu32 (*host_read)(struct denali_controller *, u32);\n\tvoid (*host_write)(struct denali_controller *, u32, u32);\n\tvoid (*setup_dma)(struct denali_controller *, dma_addr_t, int, bool);\n};\n\nstruct denali_dt {\n\tstruct denali_controller controller;\n\tstruct clk *clk;\n\tstruct clk *clk_x;\n\tstruct clk *clk_ecc;\n\tstruct reset_control *rst;\n\tstruct reset_control *rst_reg;\n};\n\nstruct denali_dt_data {\n\tunsigned int revision;\n\tunsigned int caps;\n\tunsigned int oob_skip_bytes;\n\tconst struct nand_ecc_caps *ecc_caps;\n};\n\nstruct hlist_bl_node {\n\tstruct hlist_bl_node *next;\n\tstruct hlist_bl_node **pprev;\n};\n\nunion shortname_store {\n\tunsigned char string[40];\n\tlong unsigned int words[5];\n};\n\nstruct lockref {\n\tunion {\n\t\t__u64 lock_count;\n\t\tstruct {\n\t\t\tspinlock_t lock;\n\t\t\tint count;\n\t\t};\n\t};\n};\n\nstruct dentry_operations;\n\nstruct dentry {\n\tunsigned int d_flags;\n\tseqcount_spinlock_t d_seq;\n\tstruct hlist_bl_node d_hash;\n\tstruct dentry *d_parent;\n\tstruct qstr d_name;\n\tstruct inode *d_inode;\n\tunion shortname_store d_shortname;\n\tconst struct dentry_operations *d_op;\n\tstruct super_block *d_sb;\n\tlong unsigned int d_time;\n\tvoid *d_fsdata;\n\tstruct lockref d_lockref;\n\tunion {\n\t\tstruct list_head d_lru;\n\t\twait_queue_head_t *d_wait;\n\t};\n\tstruct hlist_node d_sib;\n\tstruct hlist_head d_children;\n\tunion {\n\t\tstruct hlist_node d_alias;\n\t\tstruct hlist_bl_node d_in_lookup_hash;\n\t\tstruct callback_head d_rcu;\n\t} d_u;\n};\n\nstruct dentry__safe_trusted {\n\tstruct inode *d_inode;\n};\n\nstruct dentry_info_args {\n\tint parent_ino;\n\tint dname_len;\n\tint ino;\n\tint inode_len;\n\tchar *dname;\n};\n\nstruct dentry_operations {\n\tint (*d_revalidate)(struct inode *, const struct qstr *, struct dentry *, unsigned int);\n\tint (*d_weak_revalidate)(struct dentry *, unsigned int);\n\tint (*d_hash)(const struct dentry *, struct qstr *);\n\tint (*d_compare)(const struct dentry *, unsigned int, const char *, const struct qstr *);\n\tint (*d_delete)(const struct dentry *);\n\tint (*d_init)(struct dentry *);\n\tvoid (*d_release)(struct dentry *);\n\tvoid (*d_prune)(struct dentry *);\n\tvoid (*d_iput)(struct dentry *, struct inode *);\n\tchar * (*d_dname)(struct dentry *, char *, int);\n\tstruct vfsmount * (*d_automount)(struct path *);\n\tint (*d_manage)(const struct path *, bool);\n\tstruct dentry * (*d_real)(struct dentry *, enum d_real_type);\n\tbool (*d_unalias_trylock)(const struct dentry *);\n\tvoid (*d_unalias_unlock)(const struct dentry *);\n\tlong: 64;\n};\n\nstruct dentry_stat_t {\n\tlong int nr_dentry;\n\tlong int nr_unused;\n\tlong int age_limit;\n\tlong int want_pages;\n\tlong int nr_negative;\n\tlong int dummy;\n};\n\nstruct desc_info {\n\tstruct dma_async_tx_descriptor *dma_desc;\n\tstruct list_head node;\n\tunion {\n\t\tstruct scatterlist adm_sgl;\n\t\tstruct {\n\t\t\tstruct scatterlist *bam_sgl;\n\t\t\tint sgl_cnt;\n\t\t};\n\t};\n\tenum dma_data_direction dir;\n};\n\nunion desc_value {\n\t__le64 word;\n\tstruct {\n\t\t__le32 low;\n\t\t__le32 high;\n\t} u;\n};\n\nstruct slab;\n\nstruct detached_freelist {\n\tstruct slab *slab;\n\tvoid *tail;\n\tvoid *freelist;\n\tint cnt;\n\tstruct kmem_cache *s;\n};\n\nstruct dev_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct list_head exceptions;\n\tenum devcg_behavior behavior;\n};\n\nstruct dev_ch_attribute {\n\tstruct device_attribute attr;\n\tunsigned int channel;\n};\n\nstruct dev_exception_item {\n\tu32 major;\n\tu32 minor;\n\tshort int type;\n\tshort int access;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct dev_ext_attribute {\n\tstruct device_attribute attr;\n\tvoid *var;\n};\n\nstruct dev_ifalias {\n\tstruct callback_head rcuhead;\n\tchar ifalias[0];\n};\n\nstruct iommu_fault_param;\n\nstruct iommu_fwspec;\n\nstruct dev_iommu {\n\tstruct mutex lock;\n\tstruct iommu_fault_param *fault_param;\n\tstruct iommu_fwspec *fwspec;\n\tstruct iommu_device *iommu_dev;\n\tvoid *priv;\n\tu32 max_pasids;\n\tu32 attach_deferred: 1;\n\tu32 pci_32bit_workaround: 1;\n\tu32 require_direct: 1;\n\tu32 shadow_on_flush: 1;\n};\n\nstruct dev_kfree_skb_cb {\n\tenum skb_drop_reason reason;\n};\n\nstruct vmem_altmap {\n\tlong unsigned int base_pfn;\n\tconst long unsigned int end_pfn;\n\tconst long unsigned int reserve;\n\tlong unsigned int free;\n\tlong unsigned int align;\n\tlong unsigned int alloc;\n\tbool inaccessible;\n};\n\nstruct dev_pagemap_ops;\n\nstruct dev_pagemap {\n\tstruct vmem_altmap altmap;\n\tstruct percpu_ref ref;\n\tstruct completion done;\n\tenum memory_type type;\n\tunsigned int flags;\n\tlong unsigned int vmemmap_shift;\n\tconst struct dev_pagemap_ops *ops;\n\tvoid *owner;\n\tint nr_range;\n\tunion {\n\t\tstruct range range;\n\t\tstruct {\n\t\t\tstruct {} __empty_ranges;\n\t\t\tstruct range ranges[0];\n\t\t};\n\t};\n};\n\nstruct vm_fault;\n\nstruct dev_pagemap_ops {\n\tvoid (*page_free)(struct page *);\n\tvm_fault_t (*migrate_to_ram)(struct vm_fault *);\n\tint (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int);\n};\n\nstruct dev_pin_info {\n\tstruct pinctrl *p;\n\tstruct pinctrl_state *default_state;\n\tstruct pinctrl_state *init_state;\n\tstruct pinctrl_state *sleep_state;\n\tstruct pinctrl_state *idle_state;\n};\n\nstruct dev_pm_domain_attach_data {\n\tconst char * const *pd_names;\n\tconst u32 num_pd_names;\n\tconst u32 pd_flags;\n};\n\nstruct dev_pm_domain_list {\n\tstruct device **pd_devs;\n\tstruct device_link **pd_links;\n\tu32 *opp_tokens;\n\tu32 num_pds;\n};\n\nstruct dev_pm_opp_supply;\n\nstruct dev_pm_opp_icc_bw;\n\nstruct dev_pm_opp {\n\tstruct list_head node;\n\tstruct kref kref;\n\tbool available;\n\tbool dynamic;\n\tbool turbo;\n\tbool suspend;\n\tbool removed;\n\tlong unsigned int *rates;\n\tunsigned int level;\n\tstruct dev_pm_opp_supply *supplies;\n\tstruct dev_pm_opp_icc_bw *bandwidth;\n\tlong unsigned int clock_latency_ns;\n\tstruct dev_pm_opp **required_opps;\n\tstruct opp_table *opp_table;\n\tstruct device_node *np;\n\tstruct dentry *dentry;\n\tconst char *of_name;\n};\n\ntypedef int (*config_clks_t)(struct device *, struct opp_table *, struct dev_pm_opp *, void *, bool);\n\ntypedef int (*config_regulators_t)(struct device *, struct dev_pm_opp *, struct dev_pm_opp *, struct regulator **, unsigned int);\n\nstruct dev_pm_opp_config {\n\tconst char * const *clk_names;\n\tconfig_clks_t config_clks;\n\tconst char *prop_name;\n\tconfig_regulators_t config_regulators;\n\tconst unsigned int *supported_hw;\n\tunsigned int supported_hw_count;\n\tconst char * const *regulator_names;\n\tstruct device *required_dev;\n\tunsigned int required_dev_index;\n};\n\nstruct dev_pm_opp_data {\n\tbool turbo;\n\tunsigned int level;\n\tlong unsigned int freq;\n\tlong unsigned int u_volt;\n};\n\nstruct dev_pm_opp_icc_bw {\n\tu32 avg;\n\tu32 peak;\n};\n\nstruct dev_pm_opp_supply {\n\tlong unsigned int u_volt;\n\tlong unsigned int u_volt_min;\n\tlong unsigned int u_volt_max;\n\tlong unsigned int u_amp;\n\tlong unsigned int u_watt;\n};\n\nstruct pm_qos_flags {\n\tstruct list_head list;\n\ts32 effective_flags;\n};\n\nstruct dev_pm_qos_request;\n\nstruct dev_pm_qos {\n\tstruct pm_qos_constraints resume_latency;\n\tstruct pm_qos_constraints latency_tolerance;\n\tstruct freq_constraints freq;\n\tstruct pm_qos_flags flags;\n\tstruct dev_pm_qos_request *resume_latency_req;\n\tstruct dev_pm_qos_request *latency_tolerance_req;\n\tstruct dev_pm_qos_request *flags_req;\n};\n\nstruct pm_qos_flags_request {\n\tstruct list_head node;\n\ts32 flags;\n};\n\nstruct dev_pm_qos_request {\n\tenum dev_pm_qos_req_type type;\n\tunion {\n\t\tstruct plist_node pnode;\n\t\tstruct pm_qos_flags_request flr;\n\t\tstruct freq_qos_request freq;\n\t} data;\n\tstruct device *dev;\n};\n\nstruct dev_power_governor {\n\tbool (*power_down_ok)(struct dev_pm_domain *);\n\tbool (*suspend_ok)(struct device *);\n};\n\nstruct dev_printk_info {\n\tchar subsystem[16];\n\tchar device[48];\n};\n\nstruct dev_pstate_set {\n\t__le16 dev_id;\n\tu8 pstate;\n} __attribute__((packed));\n\nstruct dev_to_host_fis {\n\tu8 fis_type;\n\tu8 flags;\n\tu8 status;\n\tu8 error;\n\tu8 lbal;\n\tunion {\n\t\tu8 lbam;\n\t\tu8 byte_count_low;\n\t};\n\tunion {\n\t\tu8 lbah;\n\t\tu8 byte_count_high;\n\t};\n\tu8 device;\n\tu8 lbal_exp;\n\tu8 lbam_exp;\n\tu8 lbah_exp;\n\tu8 _r_a;\n\tunion {\n\t\tu8 sector_count;\n\t\tu8 interrupt_reason;\n\t};\n\tu8 sector_count_exp;\n\tu8 _r_b;\n\tu8 _r_c;\n\tu32 _r_d;\n};\n\nstruct devcd_entry {\n\tstruct device devcd_dev;\n\tvoid *data;\n\tsize_t datalen;\n\tstruct mutex mutex;\n\tbool delete_work;\n\tstruct module *owner;\n\tssize_t (*read)(char *, loff_t, size_t, void *, size_t);\n\tvoid (*free)(void *);\n\tstruct delayed_work del_wk;\n\tstruct device *failing_dev;\n};\n\nstruct devfreq_dev_status {\n\tlong unsigned int total_time;\n\tlong unsigned int busy_time;\n\tlong unsigned int current_frequency;\n\tvoid *private_data;\n};\n\nstruct devfreq_stats {\n\tunsigned int total_trans;\n\tunsigned int *trans_table;\n\tu64 *time_in_state;\n\tu64 last_update;\n};\n\nstruct devfreq_dev_profile;\n\nstruct devfreq_governor;\n\nstruct devfreq {\n\tstruct list_head node;\n\tstruct mutex lock;\n\tstruct device dev;\n\tstruct devfreq_dev_profile *profile;\n\tconst struct devfreq_governor *governor;\n\tstruct opp_table *opp_table;\n\tstruct notifier_block nb;\n\tstruct delayed_work work;\n\tlong unsigned int *freq_table;\n\tunsigned int max_state;\n\tlong unsigned int previous_freq;\n\tstruct devfreq_dev_status last_status;\n\tvoid *data;\n\tvoid *governor_data;\n\tstruct dev_pm_qos_request user_min_freq_req;\n\tstruct dev_pm_qos_request user_max_freq_req;\n\tlong unsigned int scaling_min_freq;\n\tlong unsigned int scaling_max_freq;\n\tbool stop_polling;\n\tlong unsigned int suspend_freq;\n\tlong unsigned int resume_freq;\n\tatomic_t suspend_count;\n\tstruct devfreq_stats stats;\n\tstruct srcu_notifier_head transition_notifier_list;\n\tstruct thermal_cooling_device *cdev;\n\tstruct notifier_block nb_min;\n\tstruct notifier_block nb_max;\n};\n\nstruct devfreq_cooling_power;\n\nstruct devfreq_cooling_device {\n\tstruct thermal_cooling_device *cdev;\n\tstruct thermal_cooling_device_ops cooling_ops;\n\tstruct devfreq *devfreq;\n\tlong unsigned int cooling_state;\n\tu32 *freq_table;\n\tsize_t max_state;\n\tstruct devfreq_cooling_power *power_ops;\n\tu32 res_util;\n\tint capped_state;\n\tstruct dev_pm_qos_request req_max_freq;\n\tstruct em_perf_domain *em_pd;\n};\n\nstruct devfreq_cooling_power {\n\tint (*get_real_power)(struct devfreq *, u32 *, long unsigned int, long unsigned int);\n};\n\nstruct devfreq_dev_profile {\n\tlong unsigned int initial_freq;\n\tunsigned int polling_ms;\n\tenum devfreq_timer timer;\n\tint (*target)(struct device *, long unsigned int *, u32);\n\tint (*get_dev_status)(struct device *, struct devfreq_dev_status *);\n\tint (*get_cur_freq)(struct device *, long unsigned int *);\n\tvoid (*exit)(struct device *);\n\tlong unsigned int *freq_table;\n\tunsigned int max_state;\n\tbool is_cooling_device;\n};\n\nstruct devfreq_freqs {\n\tlong unsigned int old;\n\tlong unsigned int new;\n};\n\nstruct devfreq_governor {\n\tstruct list_head node;\n\tconst char name[16];\n\tconst u64 attrs;\n\tconst u64 flags;\n\tint (*get_target_freq)(struct devfreq *, long unsigned int *);\n\tint (*event_handler)(struct devfreq *, unsigned int, void *);\n};\n\nstruct devfreq_notifier_devres {\n\tstruct devfreq *devfreq;\n\tstruct notifier_block *nb;\n\tunsigned int list;\n};\n\nstruct devfreq_passive_data {\n\tstruct devfreq *parent;\n\tint (*get_target_freq)(struct devfreq *, long unsigned int *);\n\tenum devfreq_parent_dev_type parent_type;\n\tstruct devfreq *this;\n\tstruct notifier_block nb;\n\tstruct list_head cpu_data_list;\n};\n\nstruct devfreq_simple_ondemand_data {\n\tunsigned int upthreshold;\n\tunsigned int downdifferential;\n};\n\nstruct device_attach_data {\n\tstruct device *dev;\n\tbool check_async;\n\tbool want_async;\n\tbool have_async;\n};\n\nunion device_attr_group_devres {\n\tconst struct attribute_group *group;\n\tconst struct attribute_group **groups;\n};\n\nstruct device_link {\n\tstruct device *supplier;\n\tstruct list_head s_node;\n\tstruct device *consumer;\n\tstruct list_head c_node;\n\tstruct device link_dev;\n\tenum device_link_state status;\n\tu32 flags;\n\trefcount_t rpm_active;\n\tstruct kref kref;\n\tstruct work_struct rm_work;\n\tbool supplier_preactivated;\n};\n\nstruct property;\n\nstruct device_node {\n\tconst char *name;\n\tphandle phandle;\n\tconst char *full_name;\n\tstruct fwnode_handle fwnode;\n\tstruct property *properties;\n\tstruct property *deadprops;\n\tstruct device_node *parent;\n\tstruct device_node *child;\n\tstruct device_node *sibling;\n\tstruct kobject kobj;\n\tlong unsigned int _flags;\n\tvoid *data;\n};\n\nstruct device_physical_location {\n\tenum device_physical_location_panel panel;\n\tenum device_physical_location_vertical_position vertical_position;\n\tenum device_physical_location_horizontal_position horizontal_position;\n\tbool dock;\n\tbool lid;\n};\n\nstruct klist_node {\n\tvoid *n_klist;\n\tstruct list_head n_node;\n\tstruct kref n_ref;\n};\n\nstruct device_private {\n\tstruct klist klist_children;\n\tstruct klist_node knode_parent;\n\tstruct klist_node knode_driver;\n\tstruct klist_node knode_bus;\n\tstruct klist_node knode_class;\n\tstruct list_head deferred_probe;\n\tconst struct device_driver *async_driver;\n\tchar *deferred_probe_reason;\n\tstruct device *device;\n\tu8 dead: 1;\n};\n\nstruct device_type {\n\tconst char *name;\n\tconst struct attribute_group **groups;\n\tint (*uevent)(const struct device *, struct kobj_uevent_env *);\n\tchar * (*devnode)(const struct device *, umode_t *, kuid_t *, kgid_t *);\n\tvoid (*release)(struct device *);\n\tconst struct dev_pm_ops *pm;\n};\n\nstruct devinet_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table devinet_vars[33];\n};\n\nstruct ratelimit_state {\n\traw_spinlock_t lock;\n\tint interval;\n\tint burst;\n\tint printed;\n\tint missed;\n\tunsigned int flags;\n\tlong unsigned int begin;\n};\n\nstruct printk_buffers {\n\tchar outbuf[2048];\n\tchar scratchbuf[1024];\n};\n\nstruct devkmsg_user {\n\tatomic64_t seq;\n\tstruct ratelimit_state rs;\n\tstruct mutex lock;\n\tstruct printk_buffers pbufs;\n};\n\nstruct devlink_dev_stats {\n\tu32 reload_stats[6];\n\tu32 remote_reload_stats[6];\n};\n\nstruct devlink_dpipe_headers;\n\nstruct devlink_ops;\n\nstruct devlink_rel;\n\nstruct devlink {\n\tu32 index;\n\tstruct xarray ports;\n\tstruct list_head rate_list;\n\tstruct list_head sb_list;\n\tstruct list_head dpipe_table_list;\n\tstruct list_head resource_list;\n\tstruct xarray params;\n\tstruct list_head region_list;\n\tstruct list_head reporter_list;\n\tstruct devlink_dpipe_headers *dpipe_headers;\n\tstruct list_head trap_list;\n\tstruct list_head trap_group_list;\n\tstruct list_head trap_policer_list;\n\tstruct list_head linecard_list;\n\tconst struct devlink_ops *ops;\n\tstruct xarray snapshot_ids;\n\tstruct devlink_dev_stats stats;\n\tstruct device *dev;\n\tpossible_net_t _net;\n\tstruct mutex lock;\n\tstruct lock_class_key lock_key;\n\tu8 reload_failed: 1;\n\trefcount_t refcount;\n\tstruct rcu_work rwork;\n\tstruct devlink_rel *rel;\n\tstruct xarray nested_rels;\n\tchar priv[0];\n};\n\nstruct devlink_dpipe_header;\n\nstruct devlink_dpipe_action {\n\tenum devlink_dpipe_action_type type;\n\tunsigned int header_index;\n\tstruct devlink_dpipe_header *header;\n\tunsigned int field_id;\n};\n\nstruct genl_info;\n\nstruct devlink_dpipe_dump_ctx {\n\tstruct genl_info *info;\n\tenum devlink_command cmd;\n\tstruct sk_buff *skb;\n\tstruct nlattr *nest;\n\tvoid *hdr;\n};\n\nstruct devlink_dpipe_value;\n\nstruct devlink_dpipe_entry {\n\tu64 index;\n\tstruct devlink_dpipe_value *match_values;\n\tunsigned int match_values_count;\n\tstruct devlink_dpipe_value *action_values;\n\tunsigned int action_values_count;\n\tu64 counter;\n\tbool counter_valid;\n};\n\nstruct devlink_dpipe_field {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int bitwidth;\n\tenum devlink_dpipe_field_mapping_type mapping_type;\n};\n\nstruct devlink_dpipe_header {\n\tconst char *name;\n\tunsigned int id;\n\tstruct devlink_dpipe_field *fields;\n\tunsigned int fields_count;\n\tbool global;\n};\n\nstruct devlink_dpipe_headers {\n\tstruct devlink_dpipe_header **headers;\n\tunsigned int headers_count;\n};\n\nstruct devlink_dpipe_match {\n\tenum devlink_dpipe_match_type type;\n\tunsigned int header_index;\n\tstruct devlink_dpipe_header *header;\n\tunsigned int field_id;\n};\n\nstruct devlink_dpipe_table_ops;\n\nstruct devlink_dpipe_table {\n\tvoid *priv;\n\tstruct list_head list;\n\tconst char *name;\n\tbool counters_enabled;\n\tbool counter_control_extern;\n\tbool resource_valid;\n\tu64 resource_id;\n\tu64 resource_units;\n\tconst struct devlink_dpipe_table_ops *table_ops;\n\tstruct callback_head rcu;\n};\n\nstruct devlink_dpipe_table_ops {\n\tint (*actions_dump)(void *, struct sk_buff *);\n\tint (*matches_dump)(void *, struct sk_buff *);\n\tint (*entries_dump)(void *, bool, struct devlink_dpipe_dump_ctx *);\n\tint (*counters_set_update)(void *, bool);\n\tu64 (*size_get)(void *);\n};\n\nstruct devlink_dpipe_value {\n\tunion {\n\t\tstruct devlink_dpipe_action *action;\n\t\tstruct devlink_dpipe_match *match;\n\t};\n\tunsigned int mapping_value;\n\tbool mapping_valid;\n\tunsigned int value_size;\n\tvoid *value;\n\tvoid *mask;\n};\n\nstruct devlink_flash_component_lookup_ctx {\n\tconst char *lookup_name;\n\tbool lookup_name_found;\n};\n\nstruct devlink_flash_notify {\n\tconst char *status_msg;\n\tconst char *component;\n\tlong unsigned int done;\n\tlong unsigned int total;\n\tlong unsigned int timeout;\n};\n\nstruct firmware;\n\nstruct devlink_flash_update_params {\n\tconst struct firmware *fw;\n\tconst char *component;\n\tu32 overwrite_mask;\n};\n\nstruct devlink_fmsg {\n\tstruct list_head item_list;\n\tint err;\n\tbool putting_binary;\n};\n\nstruct devlink_fmsg_item {\n\tstruct list_head list;\n\tint attrtype;\n\tu8 nla_type;\n\tu16 len;\n\tint value[0];\n};\n\nstruct devlink_health_reporter_ops;\n\nstruct devlink_health_reporter {\n\tstruct list_head list;\n\tvoid *priv;\n\tconst struct devlink_health_reporter_ops *ops;\n\tstruct devlink *devlink;\n\tstruct devlink_port *devlink_port;\n\tstruct devlink_fmsg *dump_fmsg;\n\tu64 graceful_period;\n\tbool auto_recover;\n\tbool auto_dump;\n\tu8 health_state;\n\tu64 dump_ts;\n\tu64 dump_real_ts;\n\tu64 error_count;\n\tu64 recovery_count;\n\tu64 last_recovery_ts;\n};\n\nstruct devlink_health_reporter_ops {\n\tchar *name;\n\tint (*recover)(struct devlink_health_reporter *, void *, struct netlink_ext_ack *);\n\tint (*dump)(struct devlink_health_reporter *, struct devlink_fmsg *, void *, struct netlink_ext_ack *);\n\tint (*diagnose)(struct devlink_health_reporter *, struct devlink_fmsg *, struct netlink_ext_ack *);\n\tint (*test)(struct devlink_health_reporter *, struct netlink_ext_ack *);\n};\n\nstruct devlink_info_req {\n\tstruct sk_buff *msg;\n\tvoid (*version_cb)(const char *, enum devlink_info_version_type, void *);\n\tvoid *version_cb_priv;\n};\n\nstruct devlink_linecard_ops;\n\nstruct devlink_linecard_type;\n\nstruct devlink_linecard {\n\tstruct list_head list;\n\tstruct devlink *devlink;\n\tunsigned int index;\n\tconst struct devlink_linecard_ops *ops;\n\tvoid *priv;\n\tenum devlink_linecard_state state;\n\tstruct mutex state_lock;\n\tconst char *type;\n\tstruct devlink_linecard_type *types;\n\tunsigned int types_count;\n\tu32 rel_index;\n};\n\nstruct devlink_linecard_ops {\n\tint (*provision)(struct devlink_linecard *, void *, const char *, const void *, struct netlink_ext_ack *);\n\tint (*unprovision)(struct devlink_linecard *, void *, struct netlink_ext_ack *);\n\tbool (*same_provision)(struct devlink_linecard *, void *, const char *, const void *);\n\tunsigned int (*types_count)(struct devlink_linecard *, void *);\n\tvoid (*types_get)(struct devlink_linecard *, void *, unsigned int, const char **, const void **);\n};\n\nstruct devlink_linecard_type {\n\tconst char *type;\n\tconst void *priv;\n};\n\nstruct devlink_nl_dump_state {\n\tlong unsigned int instance;\n\tint idx;\n\tunion {\n\t\tstruct {\n\t\t\tu64 start_offset;\n\t\t};\n\t\tstruct {\n\t\t\tu64 dump_ts;\n\t\t};\n\t};\n};\n\nstruct devlink_obj_desc;\n\nstruct devlink_nl_sock_priv {\n\tstruct devlink_obj_desc *flt;\n\tspinlock_t flt_lock;\n};\n\nstruct devlink_obj_desc {\n\tstruct callback_head rcu;\n\tconst char *bus_name;\n\tconst char *dev_name;\n\tunsigned int port_index;\n\tbool port_index_valid;\n\tlong int data[0];\n};\n\nstruct devlink_sb_pool_info;\n\nstruct devlink_trap;\n\nstruct devlink_trap_group;\n\nstruct devlink_trap_policer;\n\nstruct devlink_port_new_attrs;\n\nstruct devlink_ops {\n\tu32 supported_flash_update_params;\n\tlong unsigned int reload_actions;\n\tlong unsigned int reload_limits;\n\tint (*reload_down)(struct devlink *, bool, enum devlink_reload_action, enum devlink_reload_limit, struct netlink_ext_ack *);\n\tint (*reload_up)(struct devlink *, enum devlink_reload_action, enum devlink_reload_limit, u32 *, struct netlink_ext_ack *);\n\tint (*sb_pool_get)(struct devlink *, unsigned int, u16, struct devlink_sb_pool_info *);\n\tint (*sb_pool_set)(struct devlink *, unsigned int, u16, u32, enum devlink_sb_threshold_type, struct netlink_ext_ack *);\n\tint (*sb_port_pool_get)(struct devlink_port *, unsigned int, u16, u32 *);\n\tint (*sb_port_pool_set)(struct devlink_port *, unsigned int, u16, u32, struct netlink_ext_ack *);\n\tint (*sb_tc_pool_bind_get)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u16 *, u32 *);\n\tint (*sb_tc_pool_bind_set)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u16, u32, struct netlink_ext_ack *);\n\tint (*sb_occ_snapshot)(struct devlink *, unsigned int);\n\tint (*sb_occ_max_clear)(struct devlink *, unsigned int);\n\tint (*sb_occ_port_pool_get)(struct devlink_port *, unsigned int, u16, u32 *, u32 *);\n\tint (*sb_occ_tc_port_bind_get)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u32 *, u32 *);\n\tint (*eswitch_mode_get)(struct devlink *, u16 *);\n\tint (*eswitch_mode_set)(struct devlink *, u16, struct netlink_ext_ack *);\n\tint (*eswitch_inline_mode_get)(struct devlink *, u8 *);\n\tint (*eswitch_inline_mode_set)(struct devlink *, u8, struct netlink_ext_ack *);\n\tint (*eswitch_encap_mode_get)(struct devlink *, enum devlink_eswitch_encap_mode *);\n\tint (*eswitch_encap_mode_set)(struct devlink *, enum devlink_eswitch_encap_mode, struct netlink_ext_ack *);\n\tint (*info_get)(struct devlink *, struct devlink_info_req *, struct netlink_ext_ack *);\n\tint (*flash_update)(struct devlink *, struct devlink_flash_update_params *, struct netlink_ext_ack *);\n\tint (*trap_init)(struct devlink *, const struct devlink_trap *, void *);\n\tvoid (*trap_fini)(struct devlink *, const struct devlink_trap *, void *);\n\tint (*trap_action_set)(struct devlink *, const struct devlink_trap *, enum devlink_trap_action, struct netlink_ext_ack *);\n\tint (*trap_group_init)(struct devlink *, const struct devlink_trap_group *);\n\tint (*trap_group_set)(struct devlink *, const struct devlink_trap_group *, const struct devlink_trap_policer *, struct netlink_ext_ack *);\n\tint (*trap_group_action_set)(struct devlink *, const struct devlink_trap_group *, enum devlink_trap_action, struct netlink_ext_ack *);\n\tint (*trap_drop_counter_get)(struct devlink *, const struct devlink_trap *, u64 *);\n\tint (*trap_policer_init)(struct devlink *, const struct devlink_trap_policer *);\n\tvoid (*trap_policer_fini)(struct devlink *, const struct devlink_trap_policer *);\n\tint (*trap_policer_set)(struct devlink *, const struct devlink_trap_policer *, u64, u64, struct netlink_ext_ack *);\n\tint (*trap_policer_counter_get)(struct devlink *, const struct devlink_trap_policer *, u64 *);\n\tint (*port_new)(struct devlink *, const struct devlink_port_new_attrs *, struct netlink_ext_ack *, struct devlink_port **);\n\tint (*rate_leaf_tx_share_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *);\n\tint (*rate_leaf_tx_max_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *);\n\tint (*rate_leaf_tx_priority_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *);\n\tint (*rate_leaf_tx_weight_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *);\n\tint (*rate_node_tx_share_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *);\n\tint (*rate_node_tx_max_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *);\n\tint (*rate_node_tx_priority_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *);\n\tint (*rate_node_tx_weight_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *);\n\tint (*rate_node_new)(struct devlink_rate *, void **, struct netlink_ext_ack *);\n\tint (*rate_node_del)(struct devlink_rate *, void *, struct netlink_ext_ack *);\n\tint (*rate_leaf_parent_set)(struct devlink_rate *, struct devlink_rate *, void *, void *, struct netlink_ext_ack *);\n\tint (*rate_node_parent_set)(struct devlink_rate *, struct devlink_rate *, void *, void *, struct netlink_ext_ack *);\n\tbool (*selftest_check)(struct devlink *, unsigned int, struct netlink_ext_ack *);\n\tenum devlink_selftest_status (*selftest_run)(struct devlink *, unsigned int, struct netlink_ext_ack *);\n};\n\nstruct devlink_param_gset_ctx;\n\nunion devlink_param_value;\n\nstruct devlink_param {\n\tu32 id;\n\tconst char *name;\n\tbool generic;\n\tenum devlink_param_type type;\n\tlong unsigned int supported_cmodes;\n\tint (*get)(struct devlink *, u32, struct devlink_param_gset_ctx *);\n\tint (*set)(struct devlink *, u32, struct devlink_param_gset_ctx *, struct netlink_ext_ack *);\n\tint (*validate)(struct devlink *, u32, union devlink_param_value, struct netlink_ext_ack *);\n};\n\nunion devlink_param_value {\n\tu8 vu8;\n\tu16 vu16;\n\tu32 vu32;\n\tchar vstr[32];\n\tbool vbool;\n};\n\nstruct devlink_param_gset_ctx {\n\tunion devlink_param_value val;\n\tenum devlink_param_cmode cmode;\n};\n\nstruct devlink_param_item {\n\tstruct list_head list;\n\tconst struct devlink_param *param;\n\tunion devlink_param_value driverinit_value;\n\tbool driverinit_value_valid;\n\tunion devlink_param_value driverinit_value_new;\n\tbool driverinit_value_new_valid;\n};\n\nstruct devlink_port_new_attrs {\n\tenum devlink_port_flavour flavour;\n\tunsigned int port_index;\n\tu32 controller;\n\tu32 sfnum;\n\tu16 pfnum;\n\tu8 port_index_valid: 1;\n\tu8 controller_valid: 1;\n\tu8 sfnum_valid: 1;\n};\n\nstruct devlink_port_ops {\n\tint (*port_split)(struct devlink *, struct devlink_port *, unsigned int, struct netlink_ext_ack *);\n\tint (*port_unsplit)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);\n\tint (*port_type_set)(struct devlink_port *, enum devlink_port_type);\n\tint (*port_del)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);\n\tint (*port_fn_hw_addr_get)(struct devlink_port *, u8 *, int *, struct netlink_ext_ack *);\n\tint (*port_fn_hw_addr_set)(struct devlink_port *, const u8 *, int, struct netlink_ext_ack *);\n\tint (*port_fn_roce_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_roce_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_migratable_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_migratable_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_state_get)(struct devlink_port *, enum devlink_port_fn_state *, enum devlink_port_fn_opstate *, struct netlink_ext_ack *);\n\tint (*port_fn_state_set)(struct devlink_port *, enum devlink_port_fn_state, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_crypto_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_crypto_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_packet_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_packet_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_max_io_eqs_get)(struct devlink_port *, u32 *, struct netlink_ext_ack *);\n\tint (*port_fn_max_io_eqs_set)(struct devlink_port *, u32, struct netlink_ext_ack *);\n};\n\nstruct devlink_port_region_ops {\n\tconst char *name;\n\tvoid (*destructor)(const void *);\n\tint (*snapshot)(struct devlink_port *, const struct devlink_port_region_ops *, struct netlink_ext_ack *, u8 **);\n\tint (*read)(struct devlink_port *, const struct devlink_port_region_ops *, struct netlink_ext_ack *, u64, u32, u8 *);\n\tvoid *priv;\n};\n\nstruct devlink_rate {\n\tstruct list_head list;\n\tenum devlink_rate_type type;\n\tstruct devlink *devlink;\n\tvoid *priv;\n\tu64 tx_share;\n\tu64 tx_max;\n\tstruct devlink_rate *parent;\n\tunion {\n\t\tstruct devlink_port *devlink_port;\n\t\tstruct {\n\t\t\tchar *name;\n\t\t\trefcount_t refcnt;\n\t\t};\n\t};\n\tu32 tx_priority;\n\tu32 tx_weight;\n};\n\nstruct devlink_region_ops;\n\nstruct devlink_region {\n\tstruct devlink *devlink;\n\tstruct devlink_port *port;\n\tstruct list_head list;\n\tunion {\n\t\tconst struct devlink_region_ops *ops;\n\t\tconst struct devlink_port_region_ops *port_ops;\n\t};\n\tstruct mutex snapshot_lock;\n\tstruct list_head snapshot_list;\n\tu32 max_snapshots;\n\tu32 cur_snapshots;\n\tu64 size;\n};\n\nstruct devlink_region_ops {\n\tconst char *name;\n\tvoid (*destructor)(const void *);\n\tint (*snapshot)(struct devlink *, const struct devlink_region_ops *, struct netlink_ext_ack *, u8 **);\n\tint (*read)(struct devlink *, const struct devlink_region_ops *, struct netlink_ext_ack *, u64, u32, u8 *);\n\tvoid *priv;\n};\n\ntypedef void devlink_rel_notify_cb_t(struct devlink *, u32);\n\ntypedef void devlink_rel_cleanup_cb_t(struct devlink *, u32, u32);\n\nstruct devlink_rel {\n\tu32 index;\n\trefcount_t refcount;\n\tu32 devlink_index;\n\tstruct {\n\t\tu32 devlink_index;\n\t\tu32 obj_index;\n\t\tdevlink_rel_notify_cb_t *notify_cb;\n\t\tdevlink_rel_cleanup_cb_t *cleanup_cb;\n\t\tstruct delayed_work notify_work;\n\t} nested_in;\n};\n\nstruct devlink_reload_combination {\n\tenum devlink_reload_action action;\n\tenum devlink_reload_limit limit;\n};\n\nstruct devlink_resource_size_params {\n\tu64 size_min;\n\tu64 size_max;\n\tu64 size_granularity;\n\tenum devlink_resource_unit unit;\n};\n\ntypedef u64 devlink_resource_occ_get_t(void *);\n\nstruct devlink_resource {\n\tconst char *name;\n\tu64 id;\n\tu64 size;\n\tu64 size_new;\n\tbool size_valid;\n\tstruct devlink_resource *parent;\n\tstruct devlink_resource_size_params size_params;\n\tstruct list_head list;\n\tstruct list_head resource_list;\n\tdevlink_resource_occ_get_t *occ_get;\n\tvoid *occ_get_priv;\n};\n\nstruct devlink_sb {\n\tstruct list_head list;\n\tunsigned int index;\n\tu32 size;\n\tu16 ingress_pools_count;\n\tu16 egress_pools_count;\n\tu16 ingress_tc_count;\n\tu16 egress_tc_count;\n};\n\nstruct devlink_sb_pool_info {\n\tenum devlink_sb_pool_type pool_type;\n\tu32 size;\n\tenum devlink_sb_threshold_type threshold_type;\n\tu32 cell_size;\n};\n\nstruct devlink_snapshot {\n\tstruct list_head list;\n\tstruct devlink_region *region;\n\tu8 *data;\n\tu32 id;\n};\n\nstruct devlink_stats {\n\tu64_stats_t rx_bytes;\n\tu64_stats_t rx_packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct devlink_trap {\n\tenum devlink_trap_type type;\n\tenum devlink_trap_action init_action;\n\tbool generic;\n\tu16 id;\n\tconst char *name;\n\tu16 init_group_id;\n\tu32 metadata_cap;\n};\n\nstruct devlink_trap_group {\n\tconst char *name;\n\tu16 id;\n\tbool generic;\n\tu32 init_policer_id;\n};\n\nstruct devlink_trap_policer_item;\n\nstruct devlink_trap_group_item {\n\tconst struct devlink_trap_group *group;\n\tstruct devlink_trap_policer_item *policer_item;\n\tstruct list_head list;\n\tstruct devlink_stats *stats;\n};\n\nstruct devlink_trap_item {\n\tconst struct devlink_trap *trap;\n\tstruct devlink_trap_group_item *group_item;\n\tstruct list_head list;\n\tenum devlink_trap_action action;\n\tstruct devlink_stats *stats;\n\tvoid *priv;\n};\n\nstruct flow_action_cookie;\n\nstruct devlink_trap_metadata {\n\tconst char *trap_name;\n\tconst char *trap_group_name;\n\tstruct net_device *input_dev;\n\tnetdevice_tracker dev_tracker;\n\tconst struct flow_action_cookie *fa_cookie;\n\tenum devlink_trap_type trap_type;\n};\n\nstruct devlink_trap_policer {\n\tu32 id;\n\tu64 init_rate;\n\tu64 init_burst;\n\tu64 max_rate;\n\tu64 min_rate;\n\tu64 max_burst;\n\tu64 min_burst;\n};\n\nstruct devlink_trap_policer_item {\n\tconst struct devlink_trap_policer *policer;\n\tu64 rate;\n\tu64 burst;\n\tstruct list_head list;\n};\n\nstruct devm_clk_state {\n\tstruct clk *clk;\n\tvoid (*exit)(struct clk *);\n};\n\nstruct of_regulator_match;\n\nstruct devm_of_regulator_matches {\n\tstruct of_regulator_match *matches;\n\tunsigned int num_matches;\n};\n\ntypedef void (*dr_release_t)(struct device *, void *);\n\nstruct devres_node {\n\tstruct list_head entry;\n\tdr_release_t release;\n\tconst char *name;\n\tsize_t size;\n};\n\nstruct devres {\n\tstruct devres_node node;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 data[0];\n};\n\nstruct devres_group {\n\tstruct devres_node node[2];\n\tvoid *id;\n\tint color;\n};\n\nstruct dfll_fcpu_data {\n\tconst long unsigned int *cpu_max_freq_table;\n\tunsigned int cpu_max_freq_table_size;\n\tconst struct cvb_table *cpu_cvb_tables;\n\tunsigned int cpu_cvb_tables_size;\n};\n\nstruct dfll_rate_req {\n\tlong unsigned int rate;\n\tlong unsigned int dvco_target_rate;\n\tint lut_index;\n\tu8 mult_bits;\n\tu8 scale_bits;\n};\n\nstruct dictionary {\n\tuint8_t *buf;\n\tsize_t start;\n\tsize_t pos;\n\tsize_t full;\n\tsize_t limit;\n\tsize_t end;\n\tuint32_t size;\n\tuint32_t size_max;\n\tuint32_t allocated;\n\tenum xz_mode mode;\n};\n\nstruct die_args {\n\tstruct pt_regs *regs;\n\tconst char *str;\n\tlong int err;\n\tint trapnr;\n\tint signr;\n};\n\nstruct dim_stats {\n\tint ppms;\n\tint bpms;\n\tint epms;\n\tint cpms;\n\tint cpe_ratio;\n};\n\nstruct dim_sample {\n\tktime_t time;\n\tu32 pkt_ctr;\n\tu32 byte_ctr;\n\tu16 event_ctr;\n\tu32 comp_ctr;\n};\n\nstruct dim {\n\tu8 state;\n\tstruct dim_stats prev_stats;\n\tstruct dim_sample start_sample;\n\tstruct dim_sample measuring_sample;\n\tstruct work_struct work;\n\tvoid *priv;\n\tu8 profile_ix;\n\tu8 mode;\n\tu8 tune_state;\n\tu8 steps_right;\n\tu8 steps_left;\n\tu8 tired;\n};\n\nstruct dim_cq_moder {\n\tu16 usec;\n\tu16 pkts;\n\tu16 comps;\n\tu8 cq_period_mode;\n\tstruct callback_head rcu;\n};\n\nstruct dim_irq_moder {\n\tu8 profile_flags;\n\tu8 coal_flags;\n\tu8 dim_rx_mode;\n\tu8 dim_tx_mode;\n\tstruct dim_cq_moder *rx_profile;\n\tstruct dim_cq_moder *tx_profile;\n\tvoid (*rx_dim_work)(struct work_struct *);\n\tvoid (*tx_dim_work)(struct work_struct *);\n};\n\nstruct dimm_info {\n\tstruct device dev;\n\tchar label[32];\n\tunsigned int location[3];\n\tstruct mem_ctl_info *mci;\n\tunsigned int idx;\n\tu32 grain;\n\tenum dev_type dtype;\n\tenum mem_type mtype;\n\tenum edac_type edac_mode;\n\tu32 nr_pages;\n\tunsigned int csrow;\n\tunsigned int cschannel;\n\tu16 smbios_handle;\n\tu32 ce_count;\n\tu32 ue_count;\n};\n\ntypedef int dio_iodone_t(struct kiocb *, loff_t, ssize_t, void *);\n\nstruct dio {\n\tint flags;\n\tblk_opf_t opf;\n\tstruct gendisk *bio_disk;\n\tstruct inode *inode;\n\tloff_t i_size;\n\tdio_iodone_t *end_io;\n\tbool is_pinned;\n\tvoid *private;\n\tspinlock_t bio_lock;\n\tint page_errors;\n\tint is_async;\n\tbool defer_completion;\n\tbool should_dirty;\n\tint io_error;\n\tlong unsigned int refcount;\n\tstruct bio *bio_list;\n\tstruct task_struct *waiter;\n\tstruct kiocb *iocb;\n\tssize_t result;\n\tunion {\n\t\tstruct page *pages[64];\n\t\tstruct work_struct complete_work;\n\t};\n\tlong: 64;\n};\n\ntypedef int get_block_t(struct inode *, sector_t, struct buffer_head *, int);\n\nstruct dio_submit {\n\tstruct bio *bio;\n\tunsigned int blkbits;\n\tunsigned int blkfactor;\n\tunsigned int start_zero_done;\n\tint pages_in_io;\n\tsector_t block_in_file;\n\tunsigned int blocks_available;\n\tint reap_counter;\n\tsector_t final_block_in_request;\n\tint boundary;\n\tget_block_t *get_block;\n\tloff_t logical_offset_in_bio;\n\tsector_t final_block_in_bio;\n\tsector_t next_block_for_io;\n\tstruct page *cur_page;\n\tunsigned int cur_page_offset;\n\tunsigned int cur_page_len;\n\tsector_t cur_page_block;\n\tloff_t cur_page_fs_offset;\n\tstruct iov_iter *iter;\n\tunsigned int head;\n\tunsigned int tail;\n\tsize_t from;\n\tsize_t to;\n};\n\nstruct dir_entry {\n\tstruct list_head list;\n\ttime64_t mtime;\n\tchar name[0];\n};\n\nstruct fname;\n\nstruct dir_private_info {\n\tstruct rb_root root;\n\tstruct rb_node *curr_node;\n\tstruct fname *extra_fname;\n\tloff_t last_pos;\n\t__u32 curr_hash;\n\t__u32 curr_minor_hash;\n\t__u32 next_hash;\n\tu64 cookie;\n\tbool initialized;\n};\n\nstruct wb_domain;\n\nstruct dirty_throttle_control {\n\tstruct wb_domain *dom;\n\tstruct dirty_throttle_control *gdtc;\n\tstruct bdi_writeback *wb;\n\tstruct fprop_local_percpu *wb_completions;\n\tlong unsigned int avail;\n\tlong unsigned int dirty;\n\tlong unsigned int thresh;\n\tlong unsigned int bg_thresh;\n\tlong unsigned int wb_dirty;\n\tlong unsigned int wb_thresh;\n\tlong unsigned int wb_bg_thresh;\n\tlong unsigned int pos_ratio;\n\tbool freerun;\n\tbool dirty_exceeded;\n};\n\nstruct discover_resp {\n\tu8 _r_a[5];\n\tu8 phy_id;\n\t__be16 _r_b;\n\tu8 _r_c: 4;\n\tu8 attached_dev_type: 3;\n\tu8 _r_d: 1;\n\tu8 linkrate: 4;\n\tu8 _r_e: 4;\n\tu8 attached_sata_host: 1;\n\tu8 iproto: 3;\n\tu8 _r_f: 4;\n\tu8 attached_sata_dev: 1;\n\tu8 tproto: 3;\n\tu8 _r_g: 3;\n\tu8 attached_sata_ps: 1;\n\tu8 sas_addr[8];\n\tu8 attached_sas_addr[8];\n\tu8 attached_phy_id;\n\tu8 _r_h[7];\n\tu8 hmin_linkrate: 4;\n\tu8 pmin_linkrate: 4;\n\tu8 hmax_linkrate: 4;\n\tu8 pmax_linkrate: 4;\n\tu8 change_count;\n\tu8 pptv: 4;\n\tu8 _r_i: 3;\n\tu8 virtual: 1;\n\tu8 routing_attr: 4;\n\tu8 _r_j: 4;\n\tu8 conn_type;\n\tu8 conn_el_index;\n\tu8 conn_phy_link;\n\tu8 _r_k[8];\n};\n\nstruct disk_events {\n\tstruct list_head node;\n\tstruct gendisk *disk;\n\tspinlock_t lock;\n\tstruct mutex block_mutex;\n\tint block;\n\tunsigned int pending;\n\tunsigned int clearing;\n\tlong int poll_msecs;\n\tstruct delayed_work dwork;\n};\n\nstruct disk_stats {\n\tu64 nsecs[4];\n\tlong unsigned int sectors[4];\n\tlong unsigned int ios[4];\n\tlong unsigned int merges[4];\n\tlong unsigned int io_ticks;\n\tlocal_t in_flight[2];\n};\n\nstruct dispatch_rq_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct request *rq;\n};\n\nstruct timing_entry {\n\tu32 min;\n\tu32 typ;\n\tu32 max;\n};\n\nstruct display_timing {\n\tstruct timing_entry pixelclock;\n\tstruct timing_entry hactive;\n\tstruct timing_entry hfront_porch;\n\tstruct timing_entry hback_porch;\n\tstruct timing_entry hsync_len;\n\tstruct timing_entry vactive;\n\tstruct timing_entry vfront_porch;\n\tstruct timing_entry vback_porch;\n\tstruct timing_entry vsync_len;\n\tenum display_flags flags;\n};\n\nstruct display_timings {\n\tunsigned int num_timings;\n\tunsigned int native_mode;\n\tstruct display_timing **timings;\n};\n\nstruct div6_clock {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tunsigned int div;\n\tu32 src_mask;\n\tstruct notifier_block nb;\n\tu8 parents[0];\n};\n\nstruct div_hw_data {\n\tstruct clk_hw_data hw_data;\n\tconst struct clk_div_table *dtable;\n\tlong unsigned int invalid_rate;\n\tlong unsigned int max_rate;\n\tu32 width;\n};\n\nstruct div_nmp {\n\tu8 divn_shift;\n\tu8 divn_width;\n\tu8 divm_shift;\n\tu8 divm_width;\n\tu8 divp_shift;\n\tu8 divp_width;\n\tu8 override_divn_shift;\n\tu8 override_divm_shift;\n\tu8 override_divp_shift;\n};\n\nstruct dl_bw {\n\traw_spinlock_t lock;\n\tu64 bw;\n\tu64 total_bw;\n};\n\nstruct dl_rq {\n\tstruct rb_root_cached root;\n\tunsigned int dl_nr_running;\n\tstruct {\n\t\tu64 curr;\n\t\tu64 next;\n\t} earliest_dl;\n\tbool overloaded;\n\tstruct rb_root_cached pushable_dl_tasks_root;\n\tu64 running_bw;\n\tu64 this_bw;\n\tu64 extra_bw;\n\tu64 max_bw;\n\tu64 bw_ratio;\n};\n\nstruct dm_kobject_holder {\n\tstruct kobject kobj;\n\tstruct completion completion;\n};\n\nstruct dma_block {\n\tstruct dma_block *next_block;\n\tdma_addr_t dma;\n};\n\nstruct iosys_map {\n\tunion {\n\t\tvoid *vaddr_iomem;\n\t\tvoid *vaddr;\n\t};\n\tbool is_iomem;\n};\n\nstruct dma_buf_poll_cb_t {\n\tstruct dma_fence_cb cb;\n\twait_queue_head_t *poll;\n\t__poll_t active;\n};\n\nstruct dma_buf_ops;\n\nstruct dma_resv;\n\nstruct dma_buf {\n\tsize_t size;\n\tstruct file *file;\n\tstruct list_head attachments;\n\tconst struct dma_buf_ops *ops;\n\tunsigned int vmapping_counter;\n\tstruct iosys_map vmap_ptr;\n\tconst char *exp_name;\n\tconst char *name;\n\tspinlock_t name_lock;\n\tstruct module *owner;\n\tstruct list_head list_node;\n\tvoid *priv;\n\tstruct dma_resv *resv;\n\twait_queue_head_t poll;\n\tstruct dma_buf_poll_cb_t cb_in;\n\tstruct dma_buf_poll_cb_t cb_out;\n};\n\nstruct dma_buf_attachment;\n\nstruct dma_buf_attach_ops {\n\tbool allow_peer2peer;\n\tvoid (*move_notify)(struct dma_buf_attachment *);\n};\n\nstruct dma_buf_attachment {\n\tstruct dma_buf *dmabuf;\n\tstruct device *dev;\n\tstruct list_head node;\n\tstruct sg_table *sgt;\n\tenum dma_data_direction dir;\n\tbool peer2peer;\n\tconst struct dma_buf_attach_ops *importer_ops;\n\tvoid *importer_priv;\n\tvoid *priv;\n};\n\nstruct dma_buf_export_info {\n\tconst char *exp_name;\n\tstruct module *owner;\n\tconst struct dma_buf_ops *ops;\n\tsize_t size;\n\tint flags;\n\tstruct dma_resv *resv;\n\tvoid *priv;\n};\n\nstruct dma_buf_export_sync_file {\n\t__u32 flags;\n\t__s32 fd;\n};\n\nstruct dma_buf_import_sync_file {\n\t__u32 flags;\n\t__s32 fd;\n};\n\nstruct dma_buf_ops {\n\tbool cache_sgt_mapping;\n\tint (*attach)(struct dma_buf *, struct dma_buf_attachment *);\n\tvoid (*detach)(struct dma_buf *, struct dma_buf_attachment *);\n\tint (*pin)(struct dma_buf_attachment *);\n\tvoid (*unpin)(struct dma_buf_attachment *);\n\tstruct sg_table * (*map_dma_buf)(struct dma_buf_attachment *, enum dma_data_direction);\n\tvoid (*unmap_dma_buf)(struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction);\n\tvoid (*release)(struct dma_buf *);\n\tint (*begin_cpu_access)(struct dma_buf *, enum dma_data_direction);\n\tint (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);\n\tint (*mmap)(struct dma_buf *, struct vm_area_struct *);\n\tint (*vmap)(struct dma_buf *, struct iosys_map *);\n\tvoid (*vunmap)(struct dma_buf *, struct iosys_map *);\n};\n\nstruct dma_buf_sync {\n\t__u64 flags;\n};\n\nstruct dma_chan_dev {\n\tstruct dma_chan *chan;\n\tstruct device device;\n\tint dev_id;\n\tbool chan_dma_dev;\n};\n\nstruct dma_chan_percpu {\n\tlong unsigned int memcpy_count;\n\tlong unsigned int bytes_transferred;\n};\n\nstruct dma_chan_tbl_ent {\n\tstruct dma_chan *chan;\n};\n\nstruct dma_channel {\n\tvoid *private_data;\n\tsize_t max_len;\n\tsize_t actual_len;\n\tenum dma_channel_status status;\n\tbool desired_mode;\n\tbool rx_packet_done;\n};\n\nstruct dma_coherent_mem {\n\tvoid *virt_base;\n\tdma_addr_t device_base;\n\tlong unsigned int pfn_base;\n\tint size;\n\tlong unsigned int *bitmap;\n\tspinlock_t spinlock;\n\tbool use_dev_dma_pfn_offset;\n};\n\nstruct musb;\n\nstruct musb_hw_ep;\n\nstruct dma_controller {\n\tstruct musb *musb;\n\tstruct dma_channel * (*channel_alloc)(struct dma_controller *, struct musb_hw_ep *, u8);\n\tvoid (*channel_release)(struct dma_channel *);\n\tint (*channel_program)(struct dma_channel *, u16, u8, dma_addr_t, u32);\n\tint (*channel_abort)(struct dma_channel *);\n\tint (*is_compatible)(struct dma_channel *, u16, void *, u32);\n\tvoid (*dma_callback)(struct dma_controller *);\n};\n\nstruct dma_descriptor_metadata_ops {\n\tint (*attach)(struct dma_async_tx_descriptor *, void *, size_t);\n\tvoid * (*get_ptr)(struct dma_async_tx_descriptor *, size_t *, size_t *);\n\tint (*set_len)(struct dma_async_tx_descriptor *, size_t);\n};\n\nstruct dma_devres {\n\tsize_t size;\n\tvoid *vaddr;\n\tdma_addr_t dma_handle;\n\tlong unsigned int attrs;\n};\n\nstruct dma_fence_ops;\n\nstruct dma_fence {\n\tspinlock_t *lock;\n\tconst struct dma_fence_ops *ops;\n\tunion {\n\t\tstruct list_head cb_list;\n\t\tktime_t timestamp;\n\t\tstruct callback_head rcu;\n\t};\n\tu64 context;\n\tu64 seqno;\n\tlong unsigned int flags;\n\tstruct kref refcount;\n\tint error;\n};\n\nstruct dma_fence_array;\n\nstruct dma_fence_array_cb {\n\tstruct dma_fence_cb cb;\n\tstruct dma_fence_array *array;\n};\n\nstruct dma_fence_array {\n\tstruct dma_fence base;\n\tspinlock_t lock;\n\tunsigned int num_fences;\n\tatomic_t num_pending;\n\tstruct dma_fence **fences;\n\tstruct irq_work work;\n\tstruct dma_fence_array_cb callbacks[0];\n};\n\nstruct dma_fence_chain {\n\tstruct dma_fence base;\n\tstruct dma_fence *prev;\n\tu64 prev_seqno;\n\tstruct dma_fence *fence;\n\tunion {\n\t\tstruct dma_fence_cb cb;\n\t\tstruct irq_work work;\n\t};\n\tspinlock_t lock;\n};\n\nstruct dma_fence_ops {\n\tbool use_64bit_seqno;\n\tconst char * (*get_driver_name)(struct dma_fence *);\n\tconst char * (*get_timeline_name)(struct dma_fence *);\n\tbool (*enable_signaling)(struct dma_fence *);\n\tbool (*signaled)(struct dma_fence *);\n\tlong int (*wait)(struct dma_fence *, bool, long int);\n\tvoid (*release)(struct dma_fence *);\n\tvoid (*fence_value_str)(struct dma_fence *, char *, int);\n\tvoid (*timeline_value_str)(struct dma_fence *, char *, int);\n\tvoid (*set_deadline)(struct dma_fence *, ktime_t);\n};\n\nstruct dma_fence_unwrap {\n\tstruct dma_fence *chain;\n\tstruct dma_fence *array;\n\tunsigned int index;\n};\n\nstruct dma_interleaved_template {\n\tdma_addr_t src_start;\n\tdma_addr_t dst_start;\n\tenum dma_transfer_direction dir;\n\tbool src_inc;\n\tbool dst_inc;\n\tbool src_sgl;\n\tbool dst_sgl;\n\tsize_t numf;\n\tsize_t frame_size;\n\tstruct data_chunk sgl[0];\n};\n\nstruct dma_map_ops {\n\tvoid * (*alloc)(struct device *, size_t, dma_addr_t *, gfp_t, long unsigned int);\n\tvoid (*free)(struct device *, size_t, void *, dma_addr_t, long unsigned int);\n\tstruct page * (*alloc_pages_op)(struct device *, size_t, dma_addr_t *, enum dma_data_direction, gfp_t);\n\tvoid (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction);\n\tint (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int);\n\tint (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int);\n\tdma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tint (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\tdma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\tvoid (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\tvoid (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction);\n\tvoid (*sync_sg_for_device)(struct device *, struct scatterlist *, int, enum dma_data_direction);\n\tvoid (*cache_sync)(struct device *, void *, size_t, enum dma_data_direction);\n\tint (*dma_supported)(struct device *, u64);\n\tu64 (*get_required_mask)(struct device *);\n\tsize_t (*max_mapping_size)(struct device *);\n\tsize_t (*opt_mapping_size)(void);\n\tlong unsigned int (*get_merge_boundary)(struct device *);\n};\n\nstruct dma_page {\n\tstruct list_head page_list;\n\tvoid *vaddr;\n\tdma_addr_t dma;\n};\n\nstruct pl330_dmac;\n\nstruct pl330_thread;\n\nstruct dma_pl330_chan {\n\tstruct tasklet_struct task;\n\tstruct dma_chan chan;\n\tstruct list_head submitted_list;\n\tstruct list_head work_list;\n\tstruct list_head completed_list;\n\tstruct pl330_dmac *dmac;\n\tspinlock_t lock;\n\tstruct pl330_thread *thread;\n\tint burst_sz;\n\tint burst_len;\n\tphys_addr_t fifo_addr;\n\tdma_addr_t fifo_dma;\n\tenum dma_data_direction dir;\n\tstruct dma_slave_config slave_config;\n\tbool cyclic;\n\tbool active;\n};\n\nstruct pl330_xfer {\n\tu32 src_addr;\n\tu32 dst_addr;\n\tu32 bytes;\n};\n\nstruct pl330_config;\n\nstruct pl330_reqcfg {\n\tunsigned int dst_inc: 1;\n\tunsigned int src_inc: 1;\n\tbool nonsecure;\n\tbool privileged;\n\tbool insnaccess;\n\tunsigned int brst_len: 5;\n\tunsigned int brst_size: 3;\n\tenum pl330_cachectrl dcctl;\n\tenum pl330_cachectrl scctl;\n\tenum pl330_byteswap swap;\n\tstruct pl330_config *pcfg;\n};\n\nstruct dma_pl330_desc {\n\tstruct list_head node;\n\tstruct dma_async_tx_descriptor txd;\n\tstruct pl330_xfer px;\n\tstruct pl330_reqcfg rqcfg;\n\tenum desc_status status;\n\tint bytes_requested;\n\tbool last;\n\tstruct dma_pl330_chan *pchan;\n\tenum dma_transfer_direction rqtype;\n\tunsigned int peri: 5;\n\tstruct list_head rqd;\n};\n\nstruct dma_pool {\n\tstruct list_head page_list;\n\tspinlock_t lock;\n\tstruct dma_block *next_block;\n\tsize_t nr_blocks;\n\tsize_t nr_active;\n\tsize_t nr_pages;\n\tstruct device *dev;\n\tunsigned int size;\n\tunsigned int allocation;\n\tunsigned int boundary;\n\tchar name[32];\n\tstruct list_head pools;\n};\n\nstruct ww_acquire_ctx;\n\nstruct ww_mutex {\n\tstruct mutex base;\n\tstruct ww_acquire_ctx *ctx;\n};\n\nstruct dma_resv_list;\n\nstruct dma_resv {\n\tstruct ww_mutex lock;\n\tstruct dma_resv_list *fences;\n};\n\nstruct dma_resv_iter {\n\tstruct dma_resv *obj;\n\tenum dma_resv_usage usage;\n\tstruct dma_fence *fence;\n\tenum dma_resv_usage fence_usage;\n\tunsigned int index;\n\tstruct dma_resv_list *fences;\n\tunsigned int num_fences;\n\tbool is_restarted;\n};\n\nstruct dma_resv_list {\n\tstruct callback_head rcu;\n\tu32 num_fences;\n\tu32 max_fences;\n\tstruct dma_fence *table[0];\n};\n\nstruct dma_router {\n\tstruct device *dev;\n\tvoid (*route_free)(struct device *, void *);\n};\n\nstruct dma_sgt_handle {\n\tstruct sg_table sgt;\n\tstruct page **pages;\n};\n\nstruct dma_slave_caps {\n\tu32 src_addr_widths;\n\tu32 dst_addr_widths;\n\tu32 directions;\n\tu32 min_burst;\n\tu32 max_burst;\n\tu32 max_sg_burst;\n\tbool cmd_pause;\n\tbool cmd_resume;\n\tbool cmd_terminate;\n\tenum dma_residue_granularity residue_granularity;\n\tbool descriptor_reuse;\n};\n\nstruct dma_slave_map {\n\tconst char *devname;\n\tconst char *slave;\n\tvoid *param;\n};\n\nstruct dma_tx_state {\n\tdma_cookie_t last;\n\tdma_cookie_t used;\n\tu32 residue;\n\tu32 in_flight_bytes;\n};\n\nstruct dma_vec {\n\tdma_addr_t addr;\n\tsize_t len;\n};\n\nstruct dmabuf_cmsg {\n\t__u64 frag_offset;\n\t__u32 frag_size;\n\t__u32 frag_token;\n\t__u32 dmabuf_id;\n\t__u32 flags;\n};\n\nstruct net_iov;\n\nstruct net_devmem_dmabuf_binding;\n\nstruct dmabuf_genpool_chunk_owner {\n\tlong unsigned int base_virtual;\n\tdma_addr_t base_dma_addr;\n\tstruct net_iov *niovs;\n\tsize_t num_niovs;\n\tstruct net_devmem_dmabuf_binding *binding;\n};\n\nstruct dmabuf_token {\n\t__u32 token_start;\n\t__u32 token_count;\n};\n\nstruct dmac_map {\n\tu64 vf_map;\n\tu64 dmac;\n};\n\nstruct dmaengine_desc_callback {\n\tdma_async_tx_callback callback;\n\tdma_async_tx_callback_result callback_result;\n\tvoid *callback_param;\n};\n\nstruct snd_soc_component;\n\nstruct snd_soc_card;\n\nstruct snd_soc_dapm_context {\n\tenum snd_soc_bias_level bias_level;\n\tunsigned int idle_bias_off: 1;\n\tunsigned int suspend_bias_off: 1;\n\tstruct device *dev;\n\tstruct snd_soc_component *component;\n\tstruct snd_soc_card *card;\n\tenum snd_soc_bias_level target_bias_level;\n\tstruct list_head list;\n\tstruct snd_soc_dapm_widget *wcache_sink;\n\tstruct snd_soc_dapm_widget *wcache_source;\n\tstruct dentry *debugfs_dapm;\n};\n\nstruct snd_soc_component_driver;\n\nstruct snd_compr_stream;\n\nstruct snd_soc_component {\n\tconst char *name;\n\tint id;\n\tconst char *name_prefix;\n\tstruct device *dev;\n\tstruct snd_soc_card *card;\n\tunsigned int active;\n\tunsigned int suspended: 1;\n\tstruct list_head list;\n\tstruct list_head card_aux_list;\n\tstruct list_head card_list;\n\tconst struct snd_soc_component_driver *driver;\n\tstruct list_head dai_list;\n\tint num_dai;\n\tstruct regmap *regmap;\n\tint val_bytes;\n\tstruct mutex io_mutex;\n\tstruct list_head dobj_list;\n\tstruct snd_soc_dapm_context dapm;\n\tint (*init)(struct snd_soc_component *);\n\tvoid *mark_module;\n\tstruct snd_pcm_substream *mark_open;\n\tstruct snd_pcm_substream *mark_hw_params;\n\tstruct snd_pcm_substream *mark_trigger;\n\tstruct snd_compr_stream *mark_compr_open;\n\tvoid *mark_pm;\n\tstruct dentry *debugfs_root;\n\tconst char *debugfs_prefix;\n};\n\nstruct snd_dmaengine_pcm_config;\n\nstruct dmaengine_pcm {\n\tstruct dma_chan *chan[2];\n\tconst struct snd_dmaengine_pcm_config *config;\n\tstruct snd_soc_component component;\n\tunsigned int flags;\n};\n\nstruct dmaengine_pcm_runtime_data {\n\tstruct dma_chan *dma_chan;\n\tdma_cookie_t cookie;\n\tunsigned int pos;\n};\n\nstruct dmaengine_unmap_data {\n\tu16 map_cnt;\n\tu8 to_cnt;\n\tu8 from_cnt;\n\tu8 bidi_cnt;\n\tstruct device *dev;\n\tstruct kref kref;\n\tsize_t len;\n\tdma_addr_t addr[0];\n};\n\nstruct dmaengine_unmap_pool {\n\tstruct kmem_cache *cache;\n\tconst char *name;\n\tmempool_t *pool;\n\tsize_t size;\n};\n\nstruct dmi_device {\n\tstruct list_head list;\n\tint type;\n\tconst char *name;\n\tvoid *device_data;\n};\n\nstruct dmi_dev_onboard {\n\tstruct dmi_device dev;\n\tint instance;\n\tint segment;\n\tint bus;\n\tint devfn;\n};\n\nstruct dmi_device_attribute {\n\tstruct device_attribute dev_attr;\n\tint field;\n};\n\nstruct dmi_header {\n\tu8 type;\n\tu8 length;\n\tu16 handle;\n};\n\nstruct dmi_memdev_info {\n\tconst char *device;\n\tconst char *bank;\n\tu64 size;\n\tu16 handle;\n\tu8 type;\n};\n\nstruct dmi_strmatch {\n\tunsigned char slot: 7;\n\tunsigned char exact_match: 1;\n\tchar substr[79];\n};\n\nstruct dmi_system_id {\n\tint (*callback)(const struct dmi_system_id *);\n\tconst char *ident;\n\tstruct dmi_strmatch matches[4];\n\tvoid *driver_data;\n};\n\nstruct fb_videomode;\n\nstruct dmt_videomode {\n\tu32 dmt_id;\n\tu32 std_2byte_code;\n\tu32 cvt_3byte_code;\n\tconst struct fb_videomode *mode;\n};\n\nstruct omap_dm_timer {};\n\nstruct timer_regs {\n\tu32 ocp_cfg;\n\tu32 tidr;\n\tu32 tier;\n\tu32 twer;\n\tu32 tclr;\n\tu32 tcrr;\n\tu32 tldr;\n\tu32 ttrg;\n\tu32 twps;\n\tu32 tmar;\n\tu32 tcar1;\n\tu32 tsicr;\n\tu32 tcar2;\n\tu32 tpir;\n\tu32 tnir;\n\tu32 tcvr;\n\tu32 tocr;\n\tu32 towr;\n};\n\nstruct dmtimer {\n\tstruct omap_dm_timer cookie;\n\tint id;\n\tint irq;\n\tstruct clk *fclk;\n\tvoid *io_base;\n\tint irq_stat;\n\tint irq_ena;\n\tint irq_dis;\n\tvoid *pend;\n\tvoid *func_base;\n\tatomic_t enabled;\n\tunsigned int reserved: 1;\n\tunsigned int posted: 1;\n\tunsigned int omap1: 1;\n\tstruct timer_regs context;\n\tint revision;\n\tu32 capability;\n\tu32 errata;\n\tstruct platform_device *pdev;\n\tstruct list_head node;\n\tstruct notifier_block nb;\n\tstruct notifier_block fclk_nb;\n\tlong unsigned int fclk_rate;\n};\n\nstruct omap_dm_timer_ops;\n\nstruct dmtimer_platform_data {\n\tint (*set_timer_src)(struct platform_device *, int);\n\tu32 timer_capability;\n\tu32 timer_errata;\n\tint (*get_context_loss_count)(struct device *);\n\tconst struct omap_dm_timer_ops *timer_ops;\n};\n\nstruct dnotify_struct;\n\nstruct dnotify_mark {\n\tstruct fsnotify_mark fsn_mark;\n\tstruct dnotify_struct *dn;\n};\n\ntypedef void *fl_owner_t;\n\nstruct dnotify_struct {\n\tstruct dnotify_struct *dn_next;\n\t__u32 dn_mask;\n\tint dn_fd;\n\tstruct file *dn_filp;\n\tfl_owner_t dn_owner;\n};\n\nstruct dns_payload_header {\n\t__u8 zero;\n\t__u8 content;\n\t__u8 version;\n};\n\nstruct dns_server_list_v1_header {\n\tstruct dns_payload_header hdr;\n\t__u8 source;\n\t__u8 status;\n\t__u8 nr_servers;\n};\n\nstruct do_cleanup_msg {\n\t__le32 version;\n\t__le32 command;\n\t__le32 seq_num;\n\t__le32 name_len;\n\tchar name[32];\n};\n\nstruct do_proc_dointvec_minmax_conv_param {\n\tint *min;\n\tint *max;\n};\n\nstruct do_proc_douintvec_minmax_conv_param {\n\tunsigned int *min;\n\tunsigned int *max;\n};\n\nstruct dom0_vga_console_info {\n\tuint8_t video_type;\n\tunion {\n\t\tstruct {\n\t\t\tuint16_t font_height;\n\t\t\tuint16_t cursor_x;\n\t\t\tuint16_t cursor_y;\n\t\t\tuint16_t rows;\n\t\t\tuint16_t columns;\n\t\t} text_mode_3;\n\t\tstruct {\n\t\t\tuint16_t width;\n\t\t\tuint16_t height;\n\t\t\tuint16_t bytes_per_line;\n\t\t\tuint16_t bits_per_pixel;\n\t\t\tuint32_t lfb_base;\n\t\t\tuint32_t lfb_size;\n\t\t\tuint8_t red_pos;\n\t\t\tuint8_t red_size;\n\t\t\tuint8_t green_pos;\n\t\t\tuint8_t green_size;\n\t\t\tuint8_t blue_pos;\n\t\t\tuint8_t blue_size;\n\t\t\tuint8_t rsvd_pos;\n\t\t\tuint8_t rsvd_size;\n\t\t\tuint32_t gbl_caps;\n\t\t\tuint16_t mode_attrs;\n\t\t\tuint16_t pad;\n\t\t\tuint32_t ext_lfb_base;\n\t\t} vesa_lfb;\n\t} u;\n};\n\nstruct ex_phy;\n\nstruct expander_device {\n\tstruct list_head children;\n\tint ex_change_count;\n\tu16 max_route_indexes;\n\tu8 num_phys;\n\tu8 t2t_supp: 1;\n\tu8 configuring: 1;\n\tu8 conf_route_table: 1;\n\tu8 enclosure_logical_id[8];\n\tstruct ex_phy *ex_phy;\n\tstruct sas_port *parent_port;\n\tstruct mutex cmd_mutex;\n};\n\nstruct report_phy_sata_resp {\n\tu8 _r_a[5];\n\tu8 phy_id;\n\tu8 _r_b;\n\tu8 affil_valid: 1;\n\tu8 affil_supp: 1;\n\tu8 _r_c: 6;\n\tu32 _r_d;\n\tu8 stp_sas_addr[8];\n\tstruct dev_to_host_fis fis;\n\tu32 _r_e;\n\tu8 affil_stp_ini_addr[8];\n\t__be32 crc;\n};\n\nstruct smp_rps_resp {\n\tu8 frame_type;\n\tu8 function;\n\tu8 result;\n\tu8 reserved;\n\tstruct report_phy_sata_resp rps;\n};\n\nstruct sata_device {\n\tunsigned int class;\n\tu8 port_no;\n\tstruct ata_port *ap;\n\tstruct ata_host *ata_host;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct smp_rps_resp rps_resp;\n\tu8 fis[24];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct scsi_lun {\n\t__u8 scsi_lun[8];\n};\n\nstruct ssp_device {\n\tstruct list_head eh_list_node;\n\tstruct scsi_lun reset_lun;\n};\n\nstruct sas_rphy;\n\nstruct domain_device {\n\tspinlock_t done_lock;\n\tenum sas_device_type dev_type;\n\tenum sas_linkrate linkrate;\n\tenum sas_linkrate min_linkrate;\n\tenum sas_linkrate max_linkrate;\n\tint pathways;\n\tstruct domain_device *parent;\n\tstruct list_head siblings;\n\tstruct asd_sas_port *port;\n\tstruct sas_phy *phy;\n\tstruct list_head dev_list_node;\n\tstruct list_head disco_list_node;\n\tenum sas_protocol iproto;\n\tenum sas_protocol tproto;\n\tstruct sas_rphy *rphy;\n\tu8 sas_addr[8];\n\tu8 hashed_sas_addr[3];\n\tu8 frame_rcvd[32];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunion {\n\t\tstruct expander_device ex_dev;\n\t\tstruct sata_device sata_dev;\n\t\tstruct ssp_device ssp_dev;\n\t};\n\tvoid *lldd_dev;\n\tlong unsigned int state;\n\tstruct kref kref;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct dotl_iattr_map {\n\tint iattr_valid;\n\tint p9_iattr_valid;\n};\n\nstruct dotl_openflag_map {\n\tint open_flag;\n\tint dotl_flag;\n};\n\nstruct dp83867_private {\n\tu32 rx_id_delay;\n\tu32 tx_id_delay;\n\tu32 tx_fifo_depth;\n\tu32 rx_fifo_depth;\n\tint io_impedance;\n\tint port_mirroring;\n\tbool rxctrl_strap_quirk;\n\tbool set_clk_output;\n\tu32 clk_output_sel;\n\tbool sgmii_ref_clk_en;\n};\n\nstruct dp83td510_stats {\n\tu64 tx_pkt_cnt;\n\tu64 tx_err_pkt_cnt;\n\tu64 rx_pkt_cnt;\n\tu64 rx_err_pkt_cnt;\n};\n\nstruct dp83td510_priv {\n\tbool alcd_test_active;\n\tstruct dp83td510_stats stats;\n};\n\nstruct dp_sdp_header {\n\tu8 HB0;\n\tu8 HB1;\n\tu8 HB2;\n\tu8 HB3;\n};\n\nstruct dp_sdp {\n\tstruct dp_sdp_header sdp_header;\n\tu8 db[32];\n};\n\nstruct dpaa2_debugfs {\n\tstruct dentry *dir;\n};\n\nstruct dq {\n\tu8 verb;\n\tu8 stat;\n\t__le16 seqnum;\n\t__le16 oprid;\n\tu8 reserved;\n\tu8 tok;\n\t__le32 fqid;\n\tu32 reserved2;\n\t__le32 fq_byte_cnt;\n\t__le32 fq_frm_cnt;\n\t__le64 fqd_ctx;\n\tu8 fd[32];\n};\n\nstruct scn {\n\tu8 verb;\n\tu8 stat;\n\tu8 state;\n\tu8 reserved;\n\t__le32 rid_tok;\n\t__le64 ctx;\n};\n\nstruct dpaa2_dq {\n\tunion {\n\t\tstruct common common;\n\t\tstruct dq dq;\n\t\tstruct scn scn;\n\t};\n};\n\nstruct fsl_mc_device;\n\nstruct dpaa2_eth_bp {\n\tstruct fsl_mc_device *dev;\n\tint bpid;\n};\n\nstruct dpaa2_eth_ch_stats {\n\t__u64 dequeue_portal_busy;\n\t__u64 pull_err;\n\t__u64 cdan;\n\t__u64 xdp_drop;\n\t__u64 xdp_tx;\n\t__u64 xdp_tx_err;\n\t__u64 xdp_redirect;\n\t__u64 frames;\n\t__u64 frames_per_cdan;\n\t__u64 bytes_per_cdan;\n};\n\nstruct dpaa2_eth_ch_xdp {\n\tstruct bpf_prog *prog;\n\tunsigned int res;\n};\n\nstruct dpaa2_io_notification_ctx {\n\tvoid (*cb)(struct dpaa2_io_notification_ctx *);\n\tint is_cdan;\n\tu32 id;\n\tint desired_cpu;\n\tint dpio_id;\n\tu64 qman64;\n\tstruct list_head node;\n\tvoid *dpio_private;\n};\n\nstruct dpaa2_io;\n\nstruct dpaa2_io_store;\n\nstruct dpaa2_eth_priv;\n\nstruct xsk_buff_pool;\n\nstruct dpaa2_eth_channel {\n\tstruct dpaa2_io_notification_ctx nctx;\n\tstruct fsl_mc_device *dpcon;\n\tint dpcon_id;\n\tint ch_id;\n\tstruct napi_struct napi;\n\tstruct dpaa2_io *dpio;\n\tstruct dpaa2_io_store *store;\n\tstruct dpaa2_eth_priv *priv;\n\tint buf_count;\n\tstruct dpaa2_eth_ch_stats stats;\n\tstruct dpaa2_eth_ch_xdp xdp;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct list_head *rx_list;\n\tu64 recycled_bufs[7];\n\tint recycled_bufs_cnt;\n\tbool xsk_zc;\n\tint xsk_tx_pkts_sent;\n\tstruct xsk_buff_pool *xsk_pool;\n\tstruct dpaa2_eth_bp *bp;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct dpaa2_eth_cls_rule {\n\tstruct ethtool_rx_flow_spec fs;\n\tu8 in_use;\n};\n\nstruct dpaa2_eth_devlink_priv {\n\tstruct dpaa2_eth_priv *dpaa2_priv;\n};\n\nstruct dpaa2_eth_dist_fields {\n\tu64 rxnfc_field;\n\tenum net_prot cls_prot;\n\tint cls_field;\n\tint size;\n\tu64 id;\n};\n\nstruct dpaa2_eth_drv_stats {\n\t__u64 tx_conf_frames;\n\t__u64 tx_conf_bytes;\n\t__u64 tx_sg_frames;\n\t__u64 tx_sg_bytes;\n\t__u64 tx_tso_frames;\n\t__u64 tx_tso_bytes;\n\t__u64 rx_sg_frames;\n\t__u64 rx_sg_bytes;\n\t__u64 tx_converted_sg_frames;\n\t__u64 tx_converted_sg_bytes;\n\t__u64 tx_portal_busy;\n};\n\nstruct dpaa2_fd_simple {\n\t__le64 addr;\n\t__le32 len;\n\t__le16 bpid;\n\t__le16 format_offset;\n\t__le32 frc;\n\t__le32 ctrl;\n\t__le64 flc;\n};\n\nstruct dpaa2_fd {\n\tunion {\n\t\tu32 words[8];\n\t\tstruct dpaa2_fd_simple simple;\n\t};\n};\n\nstruct dpaa2_eth_fds {\n\tstruct dpaa2_fd array[256];\n};\n\nstruct dpaa2_eth_fq;\n\ntypedef void dpaa2_eth_consume_cb_t(struct dpaa2_eth_priv *, struct dpaa2_eth_channel *, const struct dpaa2_fd *, struct dpaa2_eth_fq *);\n\nstruct dpaa2_eth_fq_stats {\n\t__u64 frames;\n};\n\nstruct dpaa2_eth_xdp_fds {\n\tstruct dpaa2_fd fds[16];\n\tssize_t num;\n};\n\nstruct dpaa2_eth_fq {\n\tu32 fqid;\n\tu32 tx_qdbin;\n\tu32 tx_fqid[8];\n\tu16 flowid;\n\tu8 tc;\n\tint target_cpu;\n\tu32 dq_frames;\n\tu32 dq_bytes;\n\tstruct dpaa2_eth_channel *channel;\n\tenum dpaa2_eth_fq_type type;\n\tdpaa2_eth_consume_cb_t *consume;\n\tstruct dpaa2_eth_fq_stats stats;\n\tstruct dpaa2_eth_xdp_fds xdp_redirect_fds;\n\tstruct dpaa2_eth_xdp_fds xdp_tx_fds;\n};\n\nstruct dpni_attr {\n\tu32 options;\n\tu8 num_queues;\n\tu8 num_tcs;\n\tu8 mac_filter_entries;\n\tu8 vlan_filter_entries;\n\tu8 qos_entries;\n\tu16 fs_entries;\n\tu8 qos_key_size;\n\tu8 fs_key_size;\n\tu16 wriop_version;\n};\n\nstruct dpni_link_state {\n\tu32 rate;\n\tu64 options;\n\tint up;\n};\n\nstruct dpaa2_eth_sgt_cache;\n\nstruct fsl_mc_io;\n\nstruct rtnl_link_stats64;\n\nstruct dpaa2_mac;\n\nstruct dpaa2_eth_trap_data;\n\nstruct dpaa2_eth_priv {\n\tstruct net_device *net_dev;\n\tu8 num_fqs;\n\tstruct dpaa2_eth_fq fq[145];\n\tint (*enqueue)(struct dpaa2_eth_priv *, struct dpaa2_eth_fq *, struct dpaa2_fd *, u8, u32, int *);\n\tu8 num_channels;\n\tstruct dpaa2_eth_channel *channel[16];\n\tstruct dpaa2_eth_sgt_cache *sgt_cache;\n\tlong unsigned int features;\n\tstruct dpni_attr dpni_attrs;\n\tu16 dpni_ver_major;\n\tu16 dpni_ver_minor;\n\tu16 tx_data_offset;\n\tvoid *onestep_reg_base;\n\tu8 ptp_correction_off;\n\tvoid (*dpaa2_set_onestep_params_cb)(struct dpaa2_eth_priv *, u32, u8);\n\tu16 rx_buf_size;\n\tstruct iommu_domain *iommu_domain;\n\tenum hwtstamp_tx_types tx_tstamp_type;\n\tbool rx_tstamp;\n\tstruct dpaa2_eth_bp *bp[9];\n\tint num_bps;\n\tu16 tx_qdid;\n\tstruct fsl_mc_io *mc_io;\n\tstruct cpumask dpio_cpumask;\n\tstruct rtnl_link_stats64 *percpu_stats;\n\tstruct dpaa2_eth_drv_stats *percpu_extras;\n\tu16 mc_token;\n\tu8 rx_fqtd_enabled;\n\tu8 rx_cgtd_enabled;\n\tstruct dpni_link_state link_state;\n\tbool do_link_poll;\n\tstruct task_struct *poll_thread;\n\tu64 rx_hash_fields;\n\tu64 rx_cls_fields;\n\tstruct dpaa2_eth_cls_rule *cls_rules;\n\tu8 rx_cls_enabled;\n\tu8 vlan_cls_enabled;\n\tu8 pfc_enabled;\n\tstruct bpf_prog *xdp_prog;\n\tstruct dpaa2_debugfs dbg;\n\tstruct dpaa2_mac *mac;\n\tstruct mutex mac_lock;\n\tstruct workqueue_struct *dpaa2_ptp_wq;\n\tstruct work_struct tx_onestep_tstamp;\n\tstruct sk_buff_head tx_skbs;\n\tstruct mutex onestep_tstamp_lock;\n\tstruct devlink *devlink;\n\tstruct dpaa2_eth_trap_data *trap_data;\n\tstruct devlink_port devlink_port;\n\tu32 rx_copybreak;\n\tstruct dpaa2_eth_fds *fd;\n};\n\nstruct dpaa2_eth_sgt_cache {\n\tvoid *buf[256];\n\tu16 count;\n};\n\nstruct xdp_frame;\n\nstruct dpaa2_eth_swa {\n\tenum dpaa2_eth_swa_type type;\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *skb;\n\t\t\tint sgt_size;\n\t\t} single;\n\t\tstruct {\n\t\t\tstruct sk_buff *skb;\n\t\t\tstruct scatterlist *scl;\n\t\t\tint num_sg;\n\t\t\tint sgt_size;\n\t\t} sg;\n\t\tstruct {\n\t\t\tint dma_size;\n\t\t\tstruct xdp_frame *xdpf;\n\t\t} xdp;\n\t\tstruct {\n\t\t\tstruct xdp_buff *xdp_buff;\n\t\t\tint sgt_size;\n\t\t} xsk;\n\t\tstruct {\n\t\t\tstruct sk_buff *skb;\n\t\t\tint num_sg;\n\t\t\tint sgt_size;\n\t\t\tint is_last_fd;\n\t\t} tso;\n\t};\n};\n\nstruct dpaa2_eth_trap_item;\n\nstruct dpaa2_eth_trap_data {\n\tstruct dpaa2_eth_trap_item *trap_items_arr;\n\tstruct dpaa2_eth_priv *priv;\n};\n\nstruct dpaa2_eth_trap_item {\n\tvoid *trap_ctx;\n};\n\nstruct dpaa2_faead {\n\t__le32 conf_fqid;\n\t__le32 ctrl;\n};\n\nstruct dpaa2_faf_error_bit {\n\tint position;\n\tenum devlink_trap_generic_id trap_id;\n};\n\nstruct dpaa2_fapr {\n\t__le32 faf_lo;\n\t__le16 faf_ext;\n\t__le16 nxt_hdr;\n\t__le64 faf_hi;\n\tu8 last_ethertype_offset;\n\tu8 vlan_tci_offset_n;\n\tu8 vlan_tci_offset_1;\n\tu8 llc_snap_offset;\n\tu8 eth_offset;\n\tu8 ip1_pid_offset;\n\tu8 shim_offset_2;\n\tu8 shim_offset_1;\n\tu8 l5_offset;\n\tu8 l4_offset;\n\tu8 gre_offset;\n\tu8 l3_offset_n;\n\tu8 l3_offset_1;\n\tu8 mpls_offset_n;\n\tu8 mpls_offset_1;\n\tu8 pppoe_offset;\n\t__le16 running_sum;\n\t__le16 gross_running_sum;\n\tu8 ipv6_frag_offset;\n\tu8 nxt_hdr_offset;\n\tu8 routing_hdr_offset_2;\n\tu8 routing_hdr_offset_1;\n\tu8 reserved[5];\n\tu8 ip_proto_offset_n;\n\tu8 nxt_hdr_frag_offset;\n\tu8 parse_error_code;\n};\n\nstruct dpaa2_fas {\n\tu8 reserved;\n\tu8 ppid;\n\t__le16 ifpid;\n\t__le32 status;\n};\n\nstruct dpaa2_io_desc {\n\tint receives_notifications;\n\tint has_8prio;\n\tint cpu;\n\tvoid *regs_cena;\n\tvoid *regs_cinh;\n\tint dpio_id;\n\tu32 qman_version;\n\tu32 qman_clk;\n};\n\nstruct qbman_swp_desc {\n\tvoid *cena_bar;\n\tvoid *cinh_bar;\n\tu32 qman_version;\n\tu32 qman_clk;\n\tu32 qman_256_cycles_per_ns;\n};\n\nstruct qbman_swp;\n\nstruct dpaa2_io {\n\tstruct dpaa2_io_desc dpio_desc;\n\tstruct qbman_swp_desc swp_desc;\n\tstruct qbman_swp *swp;\n\tstruct list_head node;\n\tspinlock_t lock_mgmt_cmd;\n\tspinlock_t lock_notifications;\n\tstruct list_head notifications;\n\tstruct device *dev;\n\tstruct dim rx_dim;\n\tspinlock_t dim_lock;\n\tu16 event_ctr;\n\tu64 bytes;\n\tu64 frames;\n};\n\nstruct dpaa2_io_store {\n\tunsigned int max;\n\tdma_addr_t paddr;\n\tstruct dpaa2_dq *vaddr;\n\tvoid *alloced_addr;\n\tunsigned int idx;\n\tstruct qbman_swp *swp;\n\tstruct device *dev;\n};\n\nstruct dpmac_link_state {\n\tu32 rate;\n\tu64 options;\n\tint up;\n\tint state_valid;\n\tu64 supported;\n\tu64 advertising;\n};\n\nstruct dpmac_attr {\n\tu16 id;\n\tu32 max_rate;\n\tenum dpmac_eth_if eth_if;\n\tenum dpmac_link_type link_type;\n};\n\nstruct phylink_pcs;\n\nstruct dpaa2_mac {\n\tstruct fsl_mc_device *mc_dev;\n\tstruct dpmac_link_state state;\n\tstruct net_device *net_dev;\n\tstruct fsl_mc_io *mc_io;\n\tstruct dpmac_attr attr;\n\tu16 ver_major;\n\tu16 ver_minor;\n\tlong unsigned int features;\n\tstruct phylink_config phylink_config;\n\tstruct phylink *phylink;\n\tphy_interface_t if_mode;\n\tenum dpmac_link_type if_link_type;\n\tstruct phylink_pcs *pcs;\n\tstruct fwnode_handle *fw_node;\n\tstruct phy *serdes_phy;\n};\n\nstruct dpaa2_sg_entry {\n\t__le64 addr;\n\t__le32 len;\n\t__le16 bpid;\n\t__le16 format_offset;\n};\n\nstruct dpaa_priv;\n\nstruct dpaa_bp {\n\tstruct dpaa_priv *priv;\n\tint *percpu_count;\n\tsize_t raw_size;\n\tsize_t size;\n\tu16 config_count;\n\tu8 bpid;\n\tstruct bman_pool *pool;\n\tint (*seed_cb)(struct dpaa_bp *);\n\tvoid (*free_buf_cb)(const struct dpaa_bp *, struct bm_buffer *);\n\trefcount_t refs;\n};\n\nstruct dpaa_buffer_layout {\n\tu16 priv_data_size;\n};\n\nstruct dpaa_ern_cnt {\n\tu64 cg_tdrop;\n\tu64 wred;\n\tu64 err_cond;\n\tu64 early_window;\n\tu64 late_window;\n\tu64 fq_tdrop;\n\tu64 fq_retired;\n\tu64 orp_zero;\n};\n\nstruct mac_device;\n\nstruct dpaa_eth_data {\n\tstruct mac_device *mac_dev;\n\tint mac_hw_id;\n\tint fman_hw_id;\n};\n\nstruct dpaa_eth_swbp {\n\tstruct sk_buff *skb;\n\tstruct xdp_frame *xdpf;\n};\n\nstruct qman_portal;\n\nstruct qman_fq;\n\nstruct qm_dqrr_entry;\n\ntypedef enum qman_cb_dqrr_result (*qman_cb_dqrr)(struct qman_portal *, struct qman_fq *, const struct qm_dqrr_entry *, bool);\n\nunion qm_mr_entry;\n\ntypedef void (*qman_cb_mr)(struct qman_portal *, struct qman_fq *, const union qm_mr_entry *);\n\nstruct qman_fq_cb {\n\tqman_cb_dqrr dqrr;\n\tqman_cb_mr ern;\n\tqman_cb_mr fqs;\n};\n\nstruct qman_fq {\n\tstruct qman_fq_cb cb;\n\tu32 fqid;\n\tu32 idx;\n\tlong unsigned int flags;\n\tenum qman_fq_state state;\n\tint cgr_groupid;\n};\n\nstruct dpaa_fq {\n\tstruct qman_fq fq_base;\n\tstruct list_head list;\n\tstruct net_device *net_dev;\n\tbool init;\n\tu32 fqid;\n\tu32 flags;\n\tu16 channel;\n\tu8 wq;\n\tenum dpaa_fq_type fq_type;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n};\n\nstruct dpaa_fq_cbs {\n\tstruct qman_fq rx_defq;\n\tstruct qman_fq tx_defq;\n\tstruct qman_fq rx_errq;\n\tstruct qman_fq tx_errq;\n\tstruct qman_fq egress_ern;\n};\n\nstruct dpaa_napi_portal {\n\tstruct napi_struct napi;\n\tstruct qman_portal *p;\n\tbool down;\n\tint xdp_act;\n};\n\nstruct rtnl_link_stats64 {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 rx_errors;\n\t__u64 tx_errors;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n\t__u64 multicast;\n\t__u64 collisions;\n\t__u64 rx_length_errors;\n\t__u64 rx_over_errors;\n\t__u64 rx_crc_errors;\n\t__u64 rx_frame_errors;\n\t__u64 rx_fifo_errors;\n\t__u64 rx_missed_errors;\n\t__u64 tx_aborted_errors;\n\t__u64 tx_carrier_errors;\n\t__u64 tx_fifo_errors;\n\t__u64 tx_heartbeat_errors;\n\t__u64 tx_window_errors;\n\t__u64 rx_compressed;\n\t__u64 tx_compressed;\n\t__u64 rx_nohandler;\n\t__u64 rx_otherhost_dropped;\n};\n\nstruct dpaa_rx_errors {\n\tu64 dme;\n\tu64 fpe;\n\tu64 fse;\n\tu64 phe;\n};\n\nstruct dpaa_percpu_priv {\n\tstruct net_device *net_dev;\n\tstruct dpaa_napi_portal np;\n\tu64 in_interrupt;\n\tu64 tx_confirm;\n\tu64 tx_frag_skbuffs;\n\tstruct rtnl_link_stats64 stats;\n\tstruct dpaa_rx_errors rx_errors;\n\tstruct dpaa_ern_cnt ern_cnt;\n};\n\nstruct qman_cgr;\n\ntypedef void (*qman_cb_cgr)(struct qman_portal *, struct qman_cgr *, int);\n\nstruct qman_cgr {\n\tu32 cgrid;\n\tqman_cb_cgr cb;\n\tu16 chan;\n\tstruct list_head node;\n};\n\nstruct mac_device___2;\n\nstruct dpaa_priv {\n\tstruct dpaa_percpu_priv *percpu_priv;\n\tstruct dpaa_bp *dpaa_bp;\n\tu16 tx_headroom;\n\tstruct net_device *net_dev;\n\tstruct mac_device___2 *mac_dev;\n\tstruct device *rx_dma_dev;\n\tstruct device *tx_dma_dev;\n\tstruct qman_fq **egress_fqs;\n\tstruct qman_fq **conf_fqs;\n\tu16 channel;\n\tstruct list_head dpaa_fq_list;\n\tu8 num_tc;\n\tbool keygen_in_use;\n\tu32 msg_enable;\n\tstruct {\n\t\tstruct qman_cgr cgr;\n\t\tu32 congestion_start_jiffies;\n\t\tu32 congested_jiffies;\n\t\tu32 cgr_congested_count;\n\t} cgr_data;\n\tbool use_ingress_cgr;\n\tstruct qman_cgr ingress_cgr;\n\tstruct dpaa_buffer_layout buf_layout[2];\n\tu16 rx_headroom;\n\tbool tx_tstamp;\n\tbool rx_tstamp;\n\tstruct bpf_prog *xdp_prog;\n};\n\nstruct dpbp_attr {\n\tint id;\n\tu16 bpid;\n};\n\nstruct dpbp_cmd_open {\n\t__le32 dpbp_id;\n};\n\nstruct dpbp_rsp_get_attributes {\n\t__le16 pad;\n\t__le16 bpid;\n\t__le32 id;\n\t__le16 version_major;\n\t__le16 version_minor;\n};\n\nstruct dpcon_attr {\n\tint id;\n\tu16 qbman_ch_id;\n\tu8 num_priorities;\n};\n\nstruct dpcon_cmd_open {\n\t__le32 dpcon_id;\n};\n\nstruct dpcon_cmd_set_notification {\n\t__le32 dpio_id;\n\tu8 priority;\n\tu8 pad[3];\n\t__le64 user_ctx;\n};\n\nstruct dpcon_notification_cfg {\n\tint dpio_id;\n\tu8 priority;\n\tu64 user_ctx;\n};\n\nstruct dpcon_rsp_get_attr {\n\t__le32 id;\n\t__le16 qbman_ch_id;\n\tu8 num_priorities;\n\tu8 pad;\n};\n\nstruct dpfe_api {\n\tint version;\n\tconst char *fw_name;\n\tconst struct attribute_group **sysfs_attrs;\n\tu32 command[48];\n};\n\nstruct dpfe_firmware_header {\n\tu32 magic;\n\tu32 sequence;\n\tu32 version;\n\tu32 imem_size;\n\tu32 dmem_size;\n};\n\nstruct dpio_attr {\n\tint id;\n\tu64 qbman_portal_ce_offset;\n\tu64 qbman_portal_ci_offset;\n\tu16 qbman_portal_id;\n\tenum dpio_channel_mode channel_mode;\n\tu8 num_priorities;\n\tu32 qbman_version;\n\tu32 clk;\n};\n\nstruct dpio_cmd_open {\n\t__le32 dpio_id;\n};\n\nstruct dpio_priv {\n\tstruct dpaa2_io *io;\n};\n\nstruct dpio_rsp_get_attr {\n\t__le32 id;\n\t__le16 qbman_portal_id;\n\tu8 num_priorities;\n\tu8 channel_mode;\n\t__le64 qbman_portal_ce_addr;\n\t__le64 qbman_portal_ci_addr;\n\t__le32 qbman_version;\n\t__le32 pad1;\n\t__le32 clk;\n};\n\nstruct dpio_stashing_dest {\n\tu8 sdest;\n};\n\nstruct dpkg_mask {\n\tu8 mask;\n\tu8 offset;\n};\n\nstruct dpkg_extract {\n\tenum dpkg_extract_type type;\n\tunion {\n\t\tstruct {\n\t\t\tenum net_prot prot;\n\t\t\tenum dpkg_extract_from_hdr_type type;\n\t\t\tu32 field;\n\t\t\tu8 size;\n\t\t\tu8 offset;\n\t\t\tu8 hdr_index;\n\t\t} from_hdr;\n\t\tstruct {\n\t\t\tu8 size;\n\t\t\tu8 offset;\n\t\t} from_data;\n\t\tstruct {\n\t\t\tu8 size;\n\t\t\tu8 offset;\n\t\t} from_parse;\n\t} extract;\n\tu8 num_of_byte_masks;\n\tstruct dpkg_mask masks[4];\n};\n\nstruct dpkg_profile_cfg {\n\tu8 num_extracts;\n\tstruct dpkg_extract extracts[10];\n};\n\nstruct dpmac_cmd_get_counter {\n\tu8 id;\n};\n\nstruct dpmac_cmd_open {\n\t__le32 dpmac_id;\n};\n\nstruct dpmac_cmd_set_link_state {\n\t__le64 options;\n\t__le32 rate;\n\t__le32 pad0;\n\tu8 state;\n\tu8 pad1[7];\n\t__le64 supported;\n\t__le64 advertising;\n};\n\nstruct dpmac_cmd_set_protocol {\n\tu8 eth_if;\n};\n\nstruct dpmac_rsp_get_api_version {\n\t__le16 major;\n\t__le16 minor;\n};\n\nstruct dpmac_rsp_get_attributes {\n\tu8 eth_if;\n\tu8 link_type;\n\t__le16 id;\n\t__le32 max_rate;\n};\n\nstruct dpmac_rsp_get_counter {\n\t__le64 pad;\n\t__le64 counter;\n};\n\nstruct dpmcp_cmd_open {\n\t__le32 dpmcp_id;\n};\n\nstruct dpmng_rsp_get_version {\n\t__le32 revision;\n\t__le32 version_major;\n\t__le32 version_minor;\n};\n\nstruct dpni_buffer_layout {\n\tu32 options;\n\tint pass_timestamp;\n\tint pass_parser_result;\n\tint pass_frame_status;\n\tu16 private_data_size;\n\tu16 data_align;\n\tu16 data_head_room;\n\tu16 data_tail_room;\n};\n\nstruct dpni_cmd_add_fs_entry {\n\t__le16 options;\n\tu8 tc_id;\n\tu8 key_size;\n\t__le16 index;\n\t__le16 flow_id;\n\t__le64 key_iova;\n\t__le64 mask_iova;\n\t__le64 flc;\n};\n\nstruct dpni_cmd_add_mac_addr {\n\t__le16 pad;\n\tu8 mac_addr[6];\n};\n\nstruct dpni_cmd_add_qos_entry {\n\t__le16 pad;\n\tu8 tc_id;\n\tu8 key_size;\n\t__le16 index;\n\t__le16 pad1;\n\t__le64 key_iova;\n\t__le64 mask_iova;\n};\n\nstruct dpni_cmd_clear_irq_status {\n\t__le32 status;\n\tu8 irq_index;\n};\n\nstruct dpni_cmd_clear_mac_filters {\n\tu8 flags;\n};\n\nstruct dpni_cmd_enable_vlan_filter {\n\tu8 en;\n};\n\nstruct dpni_cmd_get_buffer_layout {\n\tu8 qtype;\n};\n\nstruct dpni_cmd_get_irq_enable {\n\t__le32 pad;\n\tu8 irq_index;\n};\n\nstruct dpni_cmd_get_irq_mask {\n\t__le32 pad;\n\tu8 irq_index;\n};\n\nstruct dpni_cmd_get_irq_status {\n\t__le32 status;\n\tu8 irq_index;\n};\n\nstruct dpni_cmd_get_offload {\n\tu8 pad[3];\n\tu8 dpni_offload;\n};\n\nstruct dpni_cmd_get_qdid {\n\tu8 qtype;\n};\n\nstruct dpni_cmd_get_queue {\n\tu8 qtype;\n\tu8 tc;\n\tu8 index;\n};\n\nstruct dpni_cmd_get_statistics {\n\tu8 page_number;\n};\n\nstruct dpni_cmd_get_taildrop {\n\tu8 congestion_point;\n\tu8 qtype;\n\tu8 tc;\n\tu8 index;\n};\n\nstruct dpni_cmd_link_cfg {\n\t__le64 pad0;\n\t__le32 rate;\n\t__le32 pad1;\n\t__le64 options;\n};\n\nstruct dpni_cmd_open {\n\t__le32 dpni_id;\n};\n\nstruct dpni_cmd_pool {\n\t__le16 dpbp_id;\n\tu8 priority_mask;\n\tu8 pad;\n};\n\nstruct dpni_cmd_remove_fs_entry {\n\t__le16 pad0;\n\tu8 tc_id;\n\tu8 key_size;\n\t__le32 pad1;\n\t__le64 key_iova;\n\t__le64 mask_iova;\n};\n\nstruct dpni_cmd_remove_mac_addr {\n\t__le16 pad;\n\tu8 mac_addr[6];\n};\n\nstruct dpni_cmd_remove_qos_entry {\n\tu8 pad[3];\n\tu8 key_size;\n\t__le32 pad1;\n\t__le64 key_iova;\n\t__le64 mask_iova;\n};\n\nstruct dpni_cmd_set_buffer_layout {\n\tu8 qtype;\n\tu8 pad0[3];\n\t__le16 options;\n\tu8 flags;\n\tu8 pad1;\n\t__le16 private_data_size;\n\t__le16 data_align;\n\t__le16 head_room;\n\t__le16 tail_room;\n};\n\nstruct dpni_cmd_set_congestion_notification {\n\tu8 qtype;\n\tu8 tc;\n\tu8 pad[6];\n\t__le32 dest_id;\n\t__le16 notification_mode;\n\tu8 dest_priority;\n\tu8 type_units;\n\t__le64 message_iova;\n\t__le64 message_ctx;\n\t__le32 threshold_entry;\n\t__le32 threshold_exit;\n};\n\nstruct dpni_cmd_set_errors_behavior {\n\t__le32 errors;\n\tu8 flags;\n};\n\nstruct dpni_cmd_set_irq_enable {\n\tu8 enable;\n\tu8 pad[3];\n\tu8 irq_index;\n};\n\nstruct dpni_cmd_set_irq_mask {\n\t__le32 mask;\n\tu8 irq_index;\n};\n\nstruct dpni_cmd_set_max_frame_length {\n\t__le16 max_frame_length;\n};\n\nstruct dpni_cmd_set_multicast_promisc {\n\tu8 enable;\n};\n\nstruct dpni_cmd_set_offload {\n\tu8 pad[3];\n\tu8 dpni_offload;\n\t__le32 config;\n};\n\nstruct dpni_cmd_set_pools {\n\tu8 num_dpbp;\n\tu8 backup_pool_mask;\n\tu8 pad;\n\tu8 pool_options;\n\tstruct dpni_cmd_pool pool[8];\n\t__le16 buffer_size[8];\n};\n\nstruct dpni_cmd_set_primary_mac_addr {\n\t__le16 pad;\n\tu8 mac_addr[6];\n};\n\nstruct dpni_cmd_set_qos_table {\n\t__le32 pad;\n\tu8 default_tc;\n\tu8 discard_on_miss;\n\t__le16 pad1[21];\n\t__le64 key_cfg_iova;\n};\n\nstruct dpni_cmd_set_queue {\n\tu8 qtype;\n\tu8 tc;\n\tu8 index;\n\tu8 options;\n\t__le32 pad0;\n\t__le32 dest_id;\n\t__le16 pad1;\n\tu8 dest_prio;\n\tu8 flags;\n\t__le64 flc;\n\t__le64 user_context;\n};\n\nstruct dpni_cmd_set_rx_fs_dist {\n\t__le16 dist_size;\n\tu8 enable;\n\tu8 tc;\n\t__le16 miss_flow_id;\n\t__le16 pad;\n\t__le64 key_cfg_iova;\n};\n\nstruct dpni_cmd_set_rx_hash_dist {\n\t__le16 dist_size;\n\tu8 enable;\n\tu8 tc;\n\t__le32 pad;\n\t__le64 key_cfg_iova;\n};\n\nstruct dpni_cmd_set_rx_tc_dist {\n\t__le16 dist_size;\n\tu8 tc_id;\n\tu8 flags;\n\t__le16 pad0;\n\t__le16 default_flow_id;\n\t__le64 pad1[5];\n\t__le64 key_cfg_iova;\n};\n\nstruct dpni_cmd_set_taildrop {\n\tu8 congestion_point;\n\tu8 qtype;\n\tu8 tc;\n\tu8 index;\n\t__le32 pad0;\n\tu8 enable;\n\tu8 pad1;\n\tu8 units;\n\tu8 pad2;\n\t__le32 threshold;\n};\n\nstruct dpni_cmd_set_tx_shaping {\n\t__le16 tx_cr_max_burst_size;\n\t__le16 tx_er_max_burst_size;\n\t__le32 pad;\n\t__le32 tx_cr_rate_limit;\n\t__le32 tx_er_rate_limit;\n\tu8 coupled;\n};\n\nstruct dpni_cmd_set_unicast_promisc {\n\tu8 enable;\n};\n\nstruct dpni_cmd_single_step_cfg {\n\t__le16 flags;\n\t__le16 offset;\n\t__le32 peer_delay;\n\t__le32 ptp_onestep_reg_base;\n\t__le32 pad0;\n};\n\nstruct dpni_cmd_vlan_id {\n\tu8 flags;\n\tu8 tc_id;\n\tu8 flow_id;\n\tu8 pad;\n\t__le16 vlan_id;\n};\n\nstruct dpni_dest_cfg {\n\tenum dpni_dest dest_type;\n\tint dest_id;\n\tu8 priority;\n};\n\nstruct dpni_congestion_notification_cfg {\n\tenum dpni_congestion_unit units;\n\tu32 threshold_entry;\n\tu32 threshold_exit;\n\tu64 message_ctx;\n\tu64 message_iova;\n\tstruct dpni_dest_cfg dest_cfg;\n\tu16 notification_mode;\n};\n\nstruct dpni_mask_cfg {\n\tu8 mask;\n\tu8 offset;\n};\n\nstruct dpni_dist_extract {\n\tu8 prot;\n\tu8 efh_type;\n\tu8 size;\n\tu8 offset;\n\t__le32 field;\n\tu8 hdr_index;\n\tu8 constant;\n\tu8 num_of_repeats;\n\tu8 num_of_byte_masks;\n\tu8 extract_type;\n\tu8 pad[3];\n\tstruct dpni_mask_cfg masks[4];\n};\n\nstruct dpni_error_cfg {\n\tu32 errors;\n\tenum dpni_error_action error_action;\n\tint set_frame_annotation;\n};\n\nstruct dpni_ext_set_rx_tc_dist {\n\tu8 num_extracts;\n\tu8 pad[7];\n\tstruct dpni_dist_extract extracts[10];\n};\n\nstruct dpni_fs_action_cfg {\n\tu64 flc;\n\tu16 flow_id;\n\tu16 options;\n};\n\nstruct dpni_fs_tbl_cfg {\n\tenum dpni_fs_miss_action miss_action;\n\tu16 default_flow_id;\n};\n\nstruct dpni_link_cfg {\n\tu32 rate;\n\tu64 options;\n};\n\nstruct dpni_pools_cfg {\n\tu8 num_dpbp;\n\tu8 pool_options;\n\tstruct {\n\t\tint dpbp_id;\n\t\tu8 priority_mask;\n\t\tu16 buffer_size;\n\t\tint backup_pool;\n\t} pools[8];\n};\n\nstruct dpni_qos_tbl_cfg {\n\tu64 key_cfg_iova;\n\tint discard_on_miss;\n\tu8 default_tc;\n};\n\nstruct dpni_queue {\n\tstruct {\n\t\tu16 id;\n\t\tenum dpni_dest type;\n\t\tchar hold_active;\n\t\tu8 priority;\n\t} destination;\n\tu64 user_context;\n\tstruct {\n\t\tu64 value;\n\t\tchar stash_control;\n\t} flc;\n};\n\nstruct dpni_queue_id {\n\tu32 fqid;\n\tu16 qdbin;\n};\n\nstruct dpni_rsp_get_api_version {\n\t__le16 major;\n\t__le16 minor;\n};\n\nstruct dpni_rsp_get_attr {\n\t__le32 options;\n\tu8 num_queues;\n\tu8 num_tcs;\n\tu8 mac_filter_entries;\n\tu8 pad0;\n\tu8 vlan_filter_entries;\n\tu8 pad1;\n\tu8 qos_entries;\n\tu8 pad2;\n\t__le16 fs_entries;\n\t__le16 pad3;\n\tu8 qos_key_size;\n\tu8 fs_key_size;\n\t__le16 wriop_version;\n};\n\nstruct dpni_rsp_get_buffer_layout {\n\tu8 pad0[6];\n\tu8 flags;\n\tu8 pad1;\n\t__le16 private_data_size;\n\t__le16 data_align;\n\t__le16 head_room;\n\t__le16 tail_room;\n};\n\nstruct dpni_rsp_get_irq_enable {\n\tu8 enabled;\n};\n\nstruct dpni_rsp_get_irq_mask {\n\t__le32 mask;\n};\n\nstruct dpni_rsp_get_irq_status {\n\t__le32 status;\n};\n\nstruct dpni_rsp_get_link_state {\n\t__le32 pad0;\n\tu8 flags;\n\tu8 pad1[3];\n\t__le32 rate;\n\t__le32 pad2;\n\t__le64 options;\n};\n\nstruct dpni_rsp_get_max_frame_length {\n\t__le16 max_frame_length;\n};\n\nstruct dpni_rsp_get_multicast_promisc {\n\tu8 enabled;\n};\n\nstruct dpni_rsp_get_offload {\n\t__le32 pad;\n\t__le32 config;\n};\n\nstruct dpni_rsp_get_port_mac_addr {\n\t__le16 pad;\n\tu8 mac_addr[6];\n};\n\nstruct dpni_rsp_get_primary_mac_addr {\n\t__le16 pad;\n\tu8 mac_addr[6];\n};\n\nstruct dpni_rsp_get_qdid {\n\t__le16 qdid;\n};\n\nstruct dpni_rsp_get_queue {\n\t__le64 pad0;\n\t__le32 dest_id;\n\t__le16 pad1;\n\tu8 dest_prio;\n\tu8 flags;\n\t__le64 flc;\n\t__le64 user_context;\n\t__le32 fqid;\n\t__le16 qdbin;\n};\n\nstruct dpni_rsp_get_statistics {\n\t__le64 counter[7];\n};\n\nstruct dpni_rsp_get_taildrop {\n\t__le64 pad0;\n\tu8 enable;\n\tu8 pad1;\n\tu8 units;\n\tu8 pad2;\n\t__le32 threshold;\n};\n\nstruct dpni_rsp_get_tx_data_offset {\n\t__le16 data_offset;\n};\n\nstruct dpni_rsp_get_unicast_promisc {\n\tu8 enabled;\n};\n\nstruct dpni_rsp_is_enabled {\n\tu8 enabled;\n};\n\nstruct dpni_rsp_single_step_cfg {\n\t__le16 flags;\n\t__le16 offset;\n\t__le32 peer_delay;\n\t__le32 ptp_onestep_reg_base;\n\t__le32 pad0;\n};\n\nstruct dpni_rule_cfg {\n\tu64 key_iova;\n\tu64 mask_iova;\n\tu8 key_size;\n};\n\nstruct dpni_rx_dist_cfg {\n\tu16 dist_size;\n\tu64 key_cfg_iova;\n\tu8 enable;\n\tu8 tc;\n\tu16 fs_miss_flow_id;\n};\n\nstruct dpni_rx_tc_dist_cfg {\n\tu16 dist_size;\n\tenum dpni_dist_mode dist_mode;\n\tu64 key_cfg_iova;\n\tstruct dpni_fs_tbl_cfg fs_cfg;\n};\n\nstruct dpni_single_step_cfg {\n\tu8 en;\n\tu8 ch_update;\n\tu16 offset;\n\tu32 peer_delay;\n\tu32 ptp_onestep_reg_base;\n};\n\nunion dpni_statistics {\n\tstruct {\n\t\tu64 ingress_all_frames;\n\t\tu64 ingress_all_bytes;\n\t\tu64 ingress_multicast_frames;\n\t\tu64 ingress_multicast_bytes;\n\t\tu64 ingress_broadcast_frames;\n\t\tu64 ingress_broadcast_bytes;\n\t} page_0;\n\tstruct {\n\t\tu64 egress_all_frames;\n\t\tu64 egress_all_bytes;\n\t\tu64 egress_multicast_frames;\n\t\tu64 egress_multicast_bytes;\n\t\tu64 egress_broadcast_frames;\n\t\tu64 egress_broadcast_bytes;\n\t} page_1;\n\tstruct {\n\t\tu64 ingress_filtered_frames;\n\t\tu64 ingress_discarded_frames;\n\t\tu64 ingress_nobuffer_discards;\n\t\tu64 egress_discarded_frames;\n\t\tu64 egress_confirmed_frames;\n\t} page_2;\n\tstruct {\n\t\tu64 egress_dequeue_bytes;\n\t\tu64 egress_dequeue_frames;\n\t\tu64 egress_reject_bytes;\n\t\tu64 egress_reject_frames;\n\t} page_3;\n\tstruct {\n\t\tu64 cgr_reject_frames;\n\t\tu64 cgr_reject_bytes;\n\t} page_4;\n\tstruct {\n\t\tu64 policer_cnt_red;\n\t\tu64 policer_cnt_yellow;\n\t\tu64 policer_cnt_green;\n\t\tu64 policer_cnt_re_red;\n\t\tu64 policer_cnt_re_yellow;\n\t} page_5;\n\tstruct {\n\t\tu64 tx_pending_frames;\n\t} page_6;\n\tstruct {\n\t\tu64 counter[7];\n\t} raw;\n};\n\nstruct dpni_taildrop {\n\tchar enable;\n\tenum dpni_congestion_unit units;\n\tu32 threshold;\n};\n\nstruct dpni_tx_shaping_cfg {\n\tu32 rate_limit;\n\tu16 max_burst_size;\n};\n\nstruct dprc_attributes {\n\tint container_id;\n\tu32 icid;\n\tint portal_id;\n\tu64 options;\n};\n\nstruct dprc_cmd_clear_irq_status {\n\t__le32 status;\n\tu8 irq_index;\n};\n\nstruct dprc_cmd_get_connection {\n\t__le32 ep1_id;\n\t__le16 ep1_interface_id;\n\tu8 pad[2];\n\tu8 ep1_type[16];\n};\n\nstruct dprc_cmd_get_irq_status {\n\t__le32 status;\n\tu8 irq_index;\n};\n\nstruct dprc_cmd_get_obj {\n\t__le32 obj_index;\n};\n\nstruct dprc_cmd_get_obj_region {\n\t__le32 obj_id;\n\t__le16 pad0;\n\tu8 region_index;\n\tu8 pad1;\n\t__le64 pad2[2];\n\tu8 obj_type[16];\n};\n\nstruct dprc_cmd_open {\n\t__le32 container_id;\n};\n\nstruct dprc_cmd_reset_container {\n\t__le32 child_container_id;\n\t__le32 options;\n};\n\nstruct dprc_cmd_set_irq {\n\t__le32 irq_val;\n\tu8 irq_index;\n\tu8 pad[3];\n\t__le64 irq_addr;\n\t__le32 irq_num;\n};\n\nstruct dprc_cmd_set_irq_enable {\n\tu8 enable;\n\tu8 pad[3];\n\tu8 irq_index;\n};\n\nstruct dprc_cmd_set_irq_mask {\n\t__le32 mask;\n\tu8 irq_index;\n};\n\nstruct dprc_cmd_set_obj_irq {\n\t__le32 irq_val;\n\tu8 irq_index;\n\tu8 pad[3];\n\t__le64 irq_addr;\n\t__le32 irq_num;\n\t__le32 obj_id;\n\tu8 obj_type[16];\n};\n\nstruct dprc_endpoint {\n\tchar type[16];\n\tint id;\n\tu16 if_id;\n};\n\nstruct dprc_irq_cfg {\n\tphys_addr_t paddr;\n\tu32 val;\n\tint irq_num;\n};\n\nstruct dprc_region_desc {\n\tu32 base_offset;\n\tu32 size;\n\tu32 flags;\n\tenum dprc_region_type type;\n\tu64 base_address;\n};\n\nstruct dprc_rsp_get_attributes {\n\t__le32 container_id;\n\t__le32 icid;\n\t__le32 options;\n\t__le32 portal_id;\n};\n\nstruct dprc_rsp_get_connection {\n\t__le64 pad[3];\n\t__le32 ep2_id;\n\t__le16 ep2_interface_id;\n\t__le16 pad1;\n\tu8 ep2_type[16];\n\t__le32 state;\n};\n\nstruct dprc_rsp_get_irq_status {\n\t__le32 status;\n};\n\nstruct dprc_rsp_get_obj {\n\t__le32 pad0;\n\t__le32 id;\n\t__le16 vendor;\n\tu8 irq_count;\n\tu8 region_count;\n\t__le32 state;\n\t__le16 version_major;\n\t__le16 version_minor;\n\t__le16 flags;\n\t__le16 pad1;\n\tu8 type[16];\n\tu8 label[16];\n};\n\nstruct dprc_rsp_get_obj_count {\n\t__le32 pad;\n\t__le32 obj_count;\n};\n\nstruct dprc_rsp_get_obj_region {\n\t__le64 pad0;\n\t__le64 base_offset;\n\t__le32 size;\n\tu8 type;\n\tu8 pad2[3];\n\t__le32 flags;\n\t__le32 pad3;\n\t__le64 base_addr;\n};\n\nstruct dprtc_cmd_clear_irq_status {\n\t__le32 status;\n\tu8 irq_index;\n} __attribute__((packed));\n\nstruct dprtc_cmd_get_irq {\n\t__le32 pad;\n\tu8 irq_index;\n} __attribute__((packed));\n\nstruct dprtc_cmd_get_irq_status {\n\t__le32 status;\n\tu8 irq_index;\n} __attribute__((packed));\n\nstruct dprtc_cmd_open {\n\t__le32 dprtc_id;\n};\n\nstruct dprtc_cmd_set_irq_enable {\n\tu8 en;\n\tu8 pad[3];\n\tu8 irq_index;\n};\n\nstruct dprtc_cmd_set_irq_mask {\n\t__le32 mask;\n\tu8 irq_index;\n} __attribute__((packed));\n\nstruct dprtc_rsp_get_irq_enable {\n\tu8 en;\n};\n\nstruct dprtc_rsp_get_irq_mask {\n\t__le32 mask;\n};\n\nstruct dprtc_rsp_get_irq_status {\n\t__le32 status;\n};\n\nstruct dql {\n\tunsigned int num_queued;\n\tunsigned int adj_limit;\n\tunsigned int last_obj_cnt;\n\tshort unsigned int stall_thrs;\n\tlong unsigned int history_head;\n\tlong unsigned int history[4];\n\tlong: 64;\n\tunsigned int limit;\n\tunsigned int num_completed;\n\tunsigned int prev_ovlimit;\n\tunsigned int prev_num_queued;\n\tunsigned int prev_last_obj_cnt;\n\tunsigned int lowest_slack;\n\tlong unsigned int slack_start_time;\n\tunsigned int max_limit;\n\tunsigned int min_limit;\n\tunsigned int slack_hold_time;\n\tshort unsigned int stall_max;\n\tlong unsigned int last_reap;\n\tlong unsigned int stall_cnt;\n};\n\nstruct dqstats {\n\tlong unsigned int stat[8];\n\tstruct percpu_counter counter[8];\n};\n\nstruct kqid {\n\tunion {\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t\tkprojid_t projid;\n\t};\n\tenum quota_type type;\n};\n\nstruct mem_dqblk {\n\tqsize_t dqb_bhardlimit;\n\tqsize_t dqb_bsoftlimit;\n\tqsize_t dqb_curspace;\n\tqsize_t dqb_rsvspace;\n\tqsize_t dqb_ihardlimit;\n\tqsize_t dqb_isoftlimit;\n\tqsize_t dqb_curinodes;\n\ttime64_t dqb_btime;\n\ttime64_t dqb_itime;\n};\n\nstruct dquot {\n\tstruct hlist_node dq_hash;\n\tstruct list_head dq_inuse;\n\tstruct list_head dq_free;\n\tstruct list_head dq_dirty;\n\tstruct mutex dq_lock;\n\tspinlock_t dq_dqb_lock;\n\tatomic_t dq_count;\n\tstruct super_block *dq_sb;\n\tstruct kqid dq_id;\n\tloff_t dq_off;\n\tlong unsigned int dq_flags;\n\tstruct mem_dqblk dq_dqb;\n};\n\nstruct dquot_operations {\n\tint (*write_dquot)(struct dquot *);\n\tstruct dquot * (*alloc_dquot)(struct super_block *, int);\n\tvoid (*destroy_dquot)(struct dquot *);\n\tint (*acquire_dquot)(struct dquot *);\n\tint (*release_dquot)(struct dquot *);\n\tint (*mark_dirty)(struct dquot *);\n\tint (*write_info)(struct super_block *, int);\n\tqsize_t * (*get_reserved_space)(struct inode *);\n\tint (*get_projid)(struct inode *, kprojid_t *);\n\tint (*get_inode_usage)(struct inode *, qsize_t *);\n\tint (*get_next_id)(struct super_block *, struct kqid *);\n};\n\nstruct dquot_warn {\n\tstruct super_block *w_sb;\n\tstruct kqid w_dq_id;\n\tshort int w_type;\n};\n\nstruct drbg_core {\n\tdrbg_flag_t flags;\n\t__u8 statelen;\n\t__u8 blocklen_bytes;\n\tchar cra_name[128];\n\tchar backend_cra_name[128];\n};\n\nstruct drbg_string {\n\tconst unsigned char *buf;\n\tsize_t len;\n\tstruct list_head list;\n};\n\nstruct drbg_state_ops;\n\nstruct drbg_state {\n\tstruct mutex drbg_mutex;\n\tunsigned char *V;\n\tunsigned char *Vbuf;\n\tunsigned char *C;\n\tunsigned char *Cbuf;\n\tsize_t reseed_ctr;\n\tsize_t reseed_threshold;\n\tunsigned char *scratchpad;\n\tunsigned char *scratchpadbuf;\n\tvoid *priv_data;\n\tstruct crypto_skcipher *ctr_handle;\n\tstruct skcipher_request *ctr_req;\n\t__u8 *outscratchpadbuf;\n\t__u8 *outscratchpad;\n\tstruct crypto_wait ctr_wait;\n\tstruct scatterlist sg_in;\n\tstruct scatterlist sg_out;\n\tenum drbg_seed_state seeded;\n\tlong unsigned int last_seed_time;\n\tbool pr;\n\tbool fips_primed;\n\tunsigned char *prev;\n\tstruct crypto_rng *jent;\n\tconst struct drbg_state_ops *d_ops;\n\tconst struct drbg_core *core;\n\tstruct drbg_string test_data;\n};\n\nstruct drbg_state_ops {\n\tint (*update)(struct drbg_state *, struct list_head *, int);\n\tint (*generate)(struct drbg_state *, unsigned char *, unsigned int, struct list_head *);\n\tint (*crypto_init)(struct drbg_state *);\n\tint (*crypto_fini)(struct drbg_state *);\n};\n\nstruct driver_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct device_driver *, char *);\n\tssize_t (*store)(struct device_driver *, const char *, size_t);\n};\n\nstruct module_kobject;\n\nstruct driver_private {\n\tstruct kobject kobj;\n\tstruct klist klist_devices;\n\tstruct klist_node knode_bus;\n\tstruct module_kobject *mkobj;\n\tstruct device_driver *driver;\n};\n\nstruct drm_dmi_panel_orientation_data {\n\tint width;\n\tint height;\n\tconst char * const *bios_dates;\n\tint orientation;\n};\n\nstruct drm_dsc_rc_range_parameters {\n\tu8 range_min_qp;\n\tu8 range_max_qp;\n\tu8 range_bpg_offset;\n};\n\nstruct drm_dsc_config {\n\tu8 line_buf_depth;\n\tu8 bits_per_component;\n\tbool convert_rgb;\n\tu8 slice_count;\n\tu16 slice_width;\n\tu16 slice_height;\n\tbool simple_422;\n\tu16 pic_width;\n\tu16 pic_height;\n\tu8 rc_tgt_offset_high;\n\tu8 rc_tgt_offset_low;\n\tu16 bits_per_pixel;\n\tu8 rc_edge_factor;\n\tu8 rc_quant_incr_limit1;\n\tu8 rc_quant_incr_limit0;\n\tu16 initial_xmit_delay;\n\tu16 initial_dec_delay;\n\tbool block_pred_enable;\n\tu8 first_line_bpg_offset;\n\tu16 initial_offset;\n\tu16 rc_buf_thresh[14];\n\tstruct drm_dsc_rc_range_parameters rc_range_params[15];\n\tu16 rc_model_size;\n\tu8 flatness_min_qp;\n\tu8 flatness_max_qp;\n\tu8 initial_scale_value;\n\tu16 scale_decrement_interval;\n\tu16 scale_increment_interval;\n\tu16 nfl_bpg_offset;\n\tu16 slice_bpg_offset;\n\tu16 final_offset;\n\tbool vbr_enable;\n\tu8 mux_word_size;\n\tu16 slice_chunk_size;\n\tu16 rc_bits;\n\tu8 dsc_version_minor;\n\tu8 dsc_version_major;\n\tbool native_422;\n\tbool native_420;\n\tu8 second_line_bpg_offset;\n\tu16 nsl_bpg_offset;\n\tu16 second_line_offset_adj;\n};\n\nstruct drm_dsc_picture_parameter_set {\n\tu8 dsc_version;\n\tu8 pps_identifier;\n\tu8 pps_reserved;\n\tu8 pps_3;\n\tu8 pps_4;\n\tu8 bits_per_pixel_low;\n\t__be16 pic_height;\n\t__be16 pic_width;\n\t__be16 slice_height;\n\t__be16 slice_width;\n\t__be16 chunk_size;\n\tu8 initial_xmit_delay_high;\n\tu8 initial_xmit_delay_low;\n\t__be16 initial_dec_delay;\n\tu8 pps20_reserved;\n\tu8 initial_scale_value;\n\t__be16 scale_increment_interval;\n\tu8 scale_decrement_interval_high;\n\tu8 scale_decrement_interval_low;\n\tu8 pps26_reserved;\n\tu8 first_line_bpg_offset;\n\t__be16 nfl_bpg_offset;\n\t__be16 slice_bpg_offset;\n\t__be16 initial_offset;\n\t__be16 final_offset;\n\tu8 flatness_min_qp;\n\tu8 flatness_max_qp;\n\t__be16 rc_model_size;\n\tu8 rc_edge_factor;\n\tu8 rc_quant_incr_limit0;\n\tu8 rc_quant_incr_limit1;\n\tu8 rc_tgt_offset;\n\tu8 rc_buf_thresh[14];\n\t__be16 rc_range_parameters[15];\n\tu8 native_422_420;\n\tu8 second_line_bpg_offset;\n\t__be16 nsl_bpg_offset;\n\t__be16 second_line_offset_adj;\n\tu32 pps_long_94_reserved;\n\tu32 pps_long_98_reserved;\n\tu32 pps_long_102_reserved;\n\tu32 pps_long_106_reserved;\n\tu32 pps_long_110_reserved;\n\tu32 pps_long_114_reserved;\n\tu32 pps_long_118_reserved;\n\tu32 pps_long_122_reserved;\n\t__be16 pps_short_126_reserved;\n} __attribute__((packed));\n\nstruct drop_reason_list {\n\tconst char * const *reasons;\n\tsize_t n_reasons;\n};\n\nstruct pci_driver;\n\nstruct pci_device_id;\n\nstruct drv_dev_and_id {\n\tstruct pci_driver *drv;\n\tstruct pci_dev *dev;\n\tconst struct pci_device_id *id;\n};\n\nstruct ds3232 {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tint irq;\n\tstruct rtc_device *rtc;\n\tbool suspended;\n};\n\nstruct dsa_bridge {\n\tstruct net_device *dev;\n\tunsigned int num;\n\tbool tx_fwd_offload;\n\trefcount_t refcount;\n};\n\nstruct dsa_chip_data {\n\tstruct device *host_dev;\n\tint sw_addr;\n\tstruct device *netdev[12];\n\tint eeprom_len;\n\tstruct device_node *of_node;\n\tchar *port_names[12];\n\tstruct device_node *port_dn[12];\n\ts8 rtable[4];\n};\n\nstruct dsa_lag {\n\tstruct net_device *dev;\n\tunsigned int id;\n\tstruct mutex fdb_lock;\n\tstruct list_head fdbs;\n\trefcount_t refcount;\n};\n\nstruct dsa_port;\n\nstruct dsa_db {\n\tenum dsa_db_type type;\n\tunion {\n\t\tconst struct dsa_port *dp;\n\t\tstruct dsa_lag lag;\n\t\tstruct dsa_bridge bridge;\n\t};\n};\n\nstruct dsa_switch;\n\nstruct dsa_device_ops {\n\tstruct sk_buff * (*xmit)(struct sk_buff *, struct net_device *);\n\tstruct sk_buff * (*rcv)(struct sk_buff *, struct net_device *);\n\tvoid (*flow_dissect)(const struct sk_buff *, __be16 *, int *);\n\tint (*connect)(struct dsa_switch *);\n\tvoid (*disconnect)(struct dsa_switch *);\n\tunsigned int needed_headroom;\n\tunsigned int needed_tailroom;\n\tconst char *name;\n\tenum dsa_tag_protocol proto;\n\tbool promisc_on_conduit;\n};\n\nstruct dsa_mall_mirror_tc_entry {\n\tu8 to_local_port;\n\tbool ingress;\n};\n\nstruct dsa_mall_policer_tc_entry {\n\tu32 burst;\n\tu64 rate_bytes_per_sec;\n};\n\nstruct dsa_platform_data {\n\tstruct device *netdev;\n\tstruct net_device *of_netdev;\n\tint nr_chips;\n\tstruct dsa_chip_data *chip;\n};\n\nstruct dsa_switch_tree;\n\nstruct ethtool_ops;\n\nstruct dsa_port {\n\tunion {\n\t\tstruct net_device *conduit;\n\t\tstruct net_device *user;\n\t};\n\tconst struct dsa_device_ops *tag_ops;\n\tstruct dsa_switch_tree *dst;\n\tstruct sk_buff * (*rcv)(struct sk_buff *, struct net_device *);\n\tstruct dsa_switch *ds;\n\tunsigned int index;\n\tenum {\n\t\tDSA_PORT_TYPE_UNUSED = 0,\n\t\tDSA_PORT_TYPE_CPU = 1,\n\t\tDSA_PORT_TYPE_DSA = 2,\n\t\tDSA_PORT_TYPE_USER = 3,\n\t} type;\n\tconst char *name;\n\tstruct dsa_port *cpu_dp;\n\tu8 mac[6];\n\tu8 stp_state;\n\tu8 vlan_filtering: 1;\n\tu8 learning: 1;\n\tu8 lag_tx_enabled: 1;\n\tu8 conduit_admin_up: 1;\n\tu8 conduit_oper_up: 1;\n\tu8 cpu_port_in_lag: 1;\n\tu8 setup: 1;\n\tstruct device_node *dn;\n\tunsigned int ageing_time;\n\tstruct dsa_bridge *bridge;\n\tstruct devlink_port devlink_port;\n\tstruct phylink *pl;\n\tstruct phylink_config pl_config;\n\tstruct dsa_lag *lag;\n\tstruct net_device *hsr_dev;\n\tstruct list_head list;\n\tconst struct ethtool_ops *orig_ethtool_ops;\n\tstruct mutex addr_lists_lock;\n\tstruct list_head fdbs;\n\tstruct list_head mdbs;\n\tstruct mutex vlans_lock;\n\tunion {\n\t\tstruct list_head vlans;\n\t\tstruct list_head user_vlans;\n\t};\n};\n\nstruct kernel_hwtstamp_config;\n\nstruct dsa_stubs {\n\tint (*conduit_hwtstamp_validate)(struct net_device *, const struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n};\n\nstruct dsa_8021q_context;\n\nstruct dsa_switch_ops;\n\nstruct phylink_mac_ops;\n\nstruct dsa_switch {\n\tstruct device *dev;\n\tstruct dsa_switch_tree *dst;\n\tunsigned int index;\n\tu32 setup: 1;\n\tu32 vlan_filtering_is_global: 1;\n\tu32 needs_standalone_vlan_filtering: 1;\n\tu32 configure_vlan_while_not_filtering: 1;\n\tu32 untag_bridge_pvid: 1;\n\tu32 untag_vlan_aware_bridge_pvid: 1;\n\tu32 assisted_learning_on_cpu_port: 1;\n\tu32 vlan_filtering: 1;\n\tu32 mtu_enforcement_ingress: 1;\n\tu32 fdb_isolation: 1;\n\tu32 dscp_prio_mapping_is_global: 1;\n\tstruct notifier_block nb;\n\tvoid *priv;\n\tvoid *tagger_data;\n\tstruct dsa_chip_data *cd;\n\tconst struct dsa_switch_ops *ops;\n\tconst struct phylink_mac_ops *phylink_mac_ops;\n\tu32 phys_mii_mask;\n\tstruct mii_bus *user_mii_bus;\n\tunsigned int ageing_time_min;\n\tunsigned int ageing_time_max;\n\tstruct dsa_8021q_context *tag_8021q_ctx;\n\tstruct devlink *devlink;\n\tunsigned int num_tx_queues;\n\tunsigned int num_lag_ids;\n\tunsigned int max_num_bridges;\n\tunsigned int num_ports;\n};\n\ntypedef int dsa_fdb_dump_cb_t(const unsigned char *, u16, bool, void *);\n\nstruct ethtool_eth_phy_stats;\n\nstruct ethtool_eth_mac_stats;\n\nstruct ethtool_eth_ctrl_stats;\n\nstruct ethtool_rmon_stats;\n\nstruct ethtool_rmon_hist_range;\n\nstruct ethtool_ts_stats;\n\nstruct ethtool_pause_stats;\n\nstruct ethtool_test;\n\nstruct ethtool_wolinfo;\n\nstruct kernel_ethtool_ts_info;\n\nstruct ethtool_mm_state;\n\nstruct ethtool_mm_cfg;\n\nstruct ethtool_mm_stats;\n\nstruct ethtool_keee;\n\nstruct ethtool_eeprom;\n\nstruct ethtool_regs;\n\nstruct netdev_notifier_changeupper_info;\n\nstruct switchdev_mst_state;\n\nstruct switchdev_brport_flags;\n\nstruct switchdev_obj_port_vlan;\n\nstruct switchdev_vlan_msti;\n\nstruct switchdev_obj_port_mdb;\n\nstruct ethtool_rxnfc;\n\nstruct flow_cls_offload;\n\nstruct netdev_lag_upper_info;\n\nstruct ifreq;\n\nstruct switchdev_obj_mrp;\n\nstruct switchdev_obj_ring_role_mrp;\n\nstruct dsa_switch_ops {\n\tenum dsa_tag_protocol (*get_tag_protocol)(struct dsa_switch *, int, enum dsa_tag_protocol);\n\tint (*change_tag_protocol)(struct dsa_switch *, enum dsa_tag_protocol);\n\tint (*connect_tag_protocol)(struct dsa_switch *, enum dsa_tag_protocol);\n\tint (*port_change_conduit)(struct dsa_switch *, int, struct net_device *, struct netlink_ext_ack *);\n\tint (*setup)(struct dsa_switch *);\n\tvoid (*teardown)(struct dsa_switch *);\n\tint (*port_setup)(struct dsa_switch *, int);\n\tvoid (*port_teardown)(struct dsa_switch *, int);\n\tu32 (*get_phy_flags)(struct dsa_switch *, int);\n\tint (*phy_read)(struct dsa_switch *, int, int);\n\tint (*phy_write)(struct dsa_switch *, int, int, u16);\n\tvoid (*phylink_get_caps)(struct dsa_switch *, int, struct phylink_config *);\n\tvoid (*phylink_fixed_state)(struct dsa_switch *, int, struct phylink_link_state *);\n\tvoid (*get_strings)(struct dsa_switch *, int, u32, uint8_t *);\n\tvoid (*get_ethtool_stats)(struct dsa_switch *, int, uint64_t *);\n\tint (*get_sset_count)(struct dsa_switch *, int, int);\n\tvoid (*get_ethtool_phy_stats)(struct dsa_switch *, int, uint64_t *);\n\tvoid (*get_eth_phy_stats)(struct dsa_switch *, int, struct ethtool_eth_phy_stats *);\n\tvoid (*get_eth_mac_stats)(struct dsa_switch *, int, struct ethtool_eth_mac_stats *);\n\tvoid (*get_eth_ctrl_stats)(struct dsa_switch *, int, struct ethtool_eth_ctrl_stats *);\n\tvoid (*get_rmon_stats)(struct dsa_switch *, int, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **);\n\tvoid (*get_ts_stats)(struct dsa_switch *, int, struct ethtool_ts_stats *);\n\tvoid (*get_stats64)(struct dsa_switch *, int, struct rtnl_link_stats64 *);\n\tvoid (*get_pause_stats)(struct dsa_switch *, int, struct ethtool_pause_stats *);\n\tvoid (*self_test)(struct dsa_switch *, int, struct ethtool_test *, u64 *);\n\tvoid (*get_wol)(struct dsa_switch *, int, struct ethtool_wolinfo *);\n\tint (*set_wol)(struct dsa_switch *, int, struct ethtool_wolinfo *);\n\tint (*get_ts_info)(struct dsa_switch *, int, struct kernel_ethtool_ts_info *);\n\tint (*get_mm)(struct dsa_switch *, int, struct ethtool_mm_state *);\n\tint (*set_mm)(struct dsa_switch *, int, struct ethtool_mm_cfg *, struct netlink_ext_ack *);\n\tvoid (*get_mm_stats)(struct dsa_switch *, int, struct ethtool_mm_stats *);\n\tint (*port_get_default_prio)(struct dsa_switch *, int);\n\tint (*port_set_default_prio)(struct dsa_switch *, int, u8);\n\tint (*port_get_dscp_prio)(struct dsa_switch *, int, u8);\n\tint (*port_add_dscp_prio)(struct dsa_switch *, int, u8, u8);\n\tint (*port_del_dscp_prio)(struct dsa_switch *, int, u8, u8);\n\tint (*port_set_apptrust)(struct dsa_switch *, int, const u8 *, int);\n\tint (*port_get_apptrust)(struct dsa_switch *, int, u8 *, int *);\n\tint (*suspend)(struct dsa_switch *);\n\tint (*resume)(struct dsa_switch *);\n\tint (*port_enable)(struct dsa_switch *, int, struct phy_device *);\n\tvoid (*port_disable)(struct dsa_switch *, int);\n\tint (*port_set_mac_address)(struct dsa_switch *, int, const unsigned char *);\n\tstruct dsa_port * (*preferred_default_local_cpu_port)(struct dsa_switch *);\n\tbool (*support_eee)(struct dsa_switch *, int);\n\tint (*set_mac_eee)(struct dsa_switch *, int, struct ethtool_keee *);\n\tint (*get_eeprom_len)(struct dsa_switch *);\n\tint (*get_eeprom)(struct dsa_switch *, struct ethtool_eeprom *, u8 *);\n\tint (*set_eeprom)(struct dsa_switch *, struct ethtool_eeprom *, u8 *);\n\tint (*get_regs_len)(struct dsa_switch *, int);\n\tvoid (*get_regs)(struct dsa_switch *, int, struct ethtool_regs *, void *);\n\tint (*port_prechangeupper)(struct dsa_switch *, int, struct netdev_notifier_changeupper_info *);\n\tint (*set_ageing_time)(struct dsa_switch *, unsigned int);\n\tint (*port_bridge_join)(struct dsa_switch *, int, struct dsa_bridge, bool *, struct netlink_ext_ack *);\n\tvoid (*port_bridge_leave)(struct dsa_switch *, int, struct dsa_bridge);\n\tvoid (*port_stp_state_set)(struct dsa_switch *, int, u8);\n\tint (*port_mst_state_set)(struct dsa_switch *, int, const struct switchdev_mst_state *);\n\tvoid (*port_fast_age)(struct dsa_switch *, int);\n\tint (*port_vlan_fast_age)(struct dsa_switch *, int, u16);\n\tint (*port_pre_bridge_flags)(struct dsa_switch *, int, struct switchdev_brport_flags, struct netlink_ext_ack *);\n\tint (*port_bridge_flags)(struct dsa_switch *, int, struct switchdev_brport_flags, struct netlink_ext_ack *);\n\tvoid (*port_set_host_flood)(struct dsa_switch *, int, bool, bool);\n\tint (*port_vlan_filtering)(struct dsa_switch *, int, bool, struct netlink_ext_ack *);\n\tint (*port_vlan_add)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *, struct netlink_ext_ack *);\n\tint (*port_vlan_del)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *);\n\tint (*vlan_msti_set)(struct dsa_switch *, struct dsa_bridge, const struct switchdev_vlan_msti *);\n\tint (*port_fdb_add)(struct dsa_switch *, int, const unsigned char *, u16, struct dsa_db);\n\tint (*port_fdb_del)(struct dsa_switch *, int, const unsigned char *, u16, struct dsa_db);\n\tint (*port_fdb_dump)(struct dsa_switch *, int, dsa_fdb_dump_cb_t *, void *);\n\tint (*lag_fdb_add)(struct dsa_switch *, struct dsa_lag, const unsigned char *, u16, struct dsa_db);\n\tint (*lag_fdb_del)(struct dsa_switch *, struct dsa_lag, const unsigned char *, u16, struct dsa_db);\n\tint (*port_mdb_add)(struct dsa_switch *, int, const struct switchdev_obj_port_mdb *, struct dsa_db);\n\tint (*port_mdb_del)(struct dsa_switch *, int, const struct switchdev_obj_port_mdb *, struct dsa_db);\n\tint (*get_rxnfc)(struct dsa_switch *, int, struct ethtool_rxnfc *, u32 *);\n\tint (*set_rxnfc)(struct dsa_switch *, int, struct ethtool_rxnfc *);\n\tint (*cls_flower_add)(struct dsa_switch *, int, struct flow_cls_offload *, bool);\n\tint (*cls_flower_del)(struct dsa_switch *, int, struct flow_cls_offload *, bool);\n\tint (*cls_flower_stats)(struct dsa_switch *, int, struct flow_cls_offload *, bool);\n\tint (*port_mirror_add)(struct dsa_switch *, int, struct dsa_mall_mirror_tc_entry *, bool, struct netlink_ext_ack *);\n\tvoid (*port_mirror_del)(struct dsa_switch *, int, struct dsa_mall_mirror_tc_entry *);\n\tint (*port_policer_add)(struct dsa_switch *, int, struct dsa_mall_policer_tc_entry *);\n\tvoid (*port_policer_del)(struct dsa_switch *, int);\n\tint (*port_setup_tc)(struct dsa_switch *, int, enum tc_setup_type, void *);\n\tint (*crosschip_bridge_join)(struct dsa_switch *, int, int, int, struct dsa_bridge, struct netlink_ext_ack *);\n\tvoid (*crosschip_bridge_leave)(struct dsa_switch *, int, int, int, struct dsa_bridge);\n\tint (*crosschip_lag_change)(struct dsa_switch *, int, int);\n\tint (*crosschip_lag_join)(struct dsa_switch *, int, int, struct dsa_lag, struct netdev_lag_upper_info *, struct netlink_ext_ack *);\n\tint (*crosschip_lag_leave)(struct dsa_switch *, int, int, struct dsa_lag);\n\tint (*port_hwtstamp_get)(struct dsa_switch *, int, struct ifreq *);\n\tint (*port_hwtstamp_set)(struct dsa_switch *, int, struct ifreq *);\n\tvoid (*port_txtstamp)(struct dsa_switch *, int, struct sk_buff *);\n\tbool (*port_rxtstamp)(struct dsa_switch *, int, struct sk_buff *, unsigned int);\n\tint (*devlink_param_get)(struct dsa_switch *, u32, struct devlink_param_gset_ctx *);\n\tint (*devlink_param_set)(struct dsa_switch *, u32, struct devlink_param_gset_ctx *);\n\tint (*devlink_info_get)(struct dsa_switch *, struct devlink_info_req *, struct netlink_ext_ack *);\n\tint (*devlink_sb_pool_get)(struct dsa_switch *, unsigned int, u16, struct devlink_sb_pool_info *);\n\tint (*devlink_sb_pool_set)(struct dsa_switch *, unsigned int, u16, u32, enum devlink_sb_threshold_type, struct netlink_ext_ack *);\n\tint (*devlink_sb_port_pool_get)(struct dsa_switch *, int, unsigned int, u16, u32 *);\n\tint (*devlink_sb_port_pool_set)(struct dsa_switch *, int, unsigned int, u16, u32, struct netlink_ext_ack *);\n\tint (*devlink_sb_tc_pool_bind_get)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u16 *, u32 *);\n\tint (*devlink_sb_tc_pool_bind_set)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u16, u32, struct netlink_ext_ack *);\n\tint (*devlink_sb_occ_snapshot)(struct dsa_switch *, unsigned int);\n\tint (*devlink_sb_occ_max_clear)(struct dsa_switch *, unsigned int);\n\tint (*devlink_sb_occ_port_pool_get)(struct dsa_switch *, int, unsigned int, u16, u32 *, u32 *);\n\tint (*devlink_sb_occ_tc_port_bind_get)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u32 *, u32 *);\n\tint (*port_change_mtu)(struct dsa_switch *, int, int);\n\tint (*port_max_mtu)(struct dsa_switch *, int);\n\tint (*port_lag_change)(struct dsa_switch *, int);\n\tint (*port_lag_join)(struct dsa_switch *, int, struct dsa_lag, struct netdev_lag_upper_info *, struct netlink_ext_ack *);\n\tint (*port_lag_leave)(struct dsa_switch *, int, struct dsa_lag);\n\tint (*port_hsr_join)(struct dsa_switch *, int, struct net_device *, struct netlink_ext_ack *);\n\tint (*port_hsr_leave)(struct dsa_switch *, int, struct net_device *);\n\tint (*port_mrp_add)(struct dsa_switch *, int, const struct switchdev_obj_mrp *);\n\tint (*port_mrp_del)(struct dsa_switch *, int, const struct switchdev_obj_mrp *);\n\tint (*port_mrp_add_ring_role)(struct dsa_switch *, int, const struct switchdev_obj_ring_role_mrp *);\n\tint (*port_mrp_del_ring_role)(struct dsa_switch *, int, const struct switchdev_obj_ring_role_mrp *);\n\tint (*tag_8021q_vlan_add)(struct dsa_switch *, int, u16, u16);\n\tint (*tag_8021q_vlan_del)(struct dsa_switch *, int, u16);\n\tvoid (*conduit_state_change)(struct dsa_switch *, const struct net_device *, bool);\n};\n\nstruct dsa_switch_tree {\n\tstruct list_head list;\n\tstruct list_head ports;\n\tstruct raw_notifier_head nh;\n\tunsigned int index;\n\tstruct kref refcount;\n\tstruct dsa_lag **lags;\n\tconst struct dsa_device_ops *tag_ops;\n\tenum dsa_tag_protocol default_proto;\n\tbool setup;\n\tstruct dsa_platform_data *pd;\n\tstruct list_head rtable;\n\tunsigned int lags_len;\n\tunsigned int last_switch;\n};\n\nstruct hnae_ae_ops;\n\nstruct hnae_ae_dev {\n\tstruct device cls_dev;\n\tstruct device *dev;\n\tstruct hnae_ae_ops *ops;\n\tstruct list_head node;\n\tstruct module *owner;\n\tint id;\n\tchar name[16];\n\tstruct list_head handle_list;\n\tspinlock_t lock;\n};\n\nstruct dsaf_hw_stats {\n\tu64 pad_drop;\n\tu64 man_pkts;\n\tu64 rx_pkts;\n\tu64 rx_pkt_id;\n\tu64 rx_pause_frame;\n\tu64 release_buf_num;\n\tu64 sbm_drop;\n\tu64 crc_false;\n\tu64 bp_drop;\n\tu64 rslt_drop;\n\tu64 local_addr_false;\n\tu64 vlan_drop;\n\tu64 stp_drop;\n\tu64 rx_pfc[8];\n\tu64 tx_pfc[8];\n\tu64 tx_pkts;\n};\n\nstruct dsaf_int_xge_src {\n\tu32 xid_xge_ecc_err_int_src;\n\tu32 xid_xge_fsm_timout_int_src;\n\tu32 sbm_xge_lnk_fsm_timout_int_src;\n\tu32 sbm_xge_lnk_ecc_2bit_int_src;\n\tu32 sbm_xge_mib_req_failed_int_src;\n\tu32 sbm_xge_mib_req_fsm_timout_int_src;\n\tu32 sbm_xge_mib_rels_fsm_timout_int_src;\n\tu32 sbm_xge_sram_ecc_2bit_int_src;\n\tu32 sbm_xge_mib_buf_sum_err_int_src;\n\tu32 sbm_xge_mib_req_extra_int_src;\n\tu32 sbm_xge_mib_rels_extra_int_src;\n\tu32 voq_xge_start_to_over_0_int_src;\n\tu32 voq_xge_start_to_over_1_int_src;\n\tu32 voq_xge_ecc_err_int_src;\n};\n\nstruct dsaf_int_ppe_src {\n\tu32 xid_ppe_fsm_timout_int_src;\n\tu32 sbm_ppe_lnk_fsm_timout_int_src;\n\tu32 sbm_ppe_lnk_ecc_2bit_int_src;\n\tu32 sbm_ppe_mib_req_failed_int_src;\n\tu32 sbm_ppe_mib_req_fsm_timout_int_src;\n\tu32 sbm_ppe_mib_rels_fsm_timout_int_src;\n\tu32 sbm_ppe_sram_ecc_2bit_int_src;\n\tu32 sbm_ppe_mib_buf_sum_err_int_src;\n\tu32 sbm_ppe_mib_req_extra_int_src;\n\tu32 sbm_ppe_mib_rels_extra_int_src;\n\tu32 voq_ppe_start_to_over_0_int_src;\n\tu32 voq_ppe_ecc_err_int_src;\n\tu32 xod_ppe_fifo_rd_empty_int_src;\n\tu32 xod_ppe_fifo_wr_full_int_src;\n};\n\nstruct dsaf_int_rocee_src {\n\tu32 xid_rocee_fsm_timout_int_src;\n\tu32 sbm_rocee_lnk_fsm_timout_int_src;\n\tu32 sbm_rocee_lnk_ecc_2bit_int_src;\n\tu32 sbm_rocee_mib_req_failed_int_src;\n\tu32 sbm_rocee_mib_req_fsm_timout_int_src;\n\tu32 sbm_rocee_mib_rels_fsm_timout_int_src;\n\tu32 sbm_rocee_sram_ecc_2bit_int_src;\n\tu32 sbm_rocee_mib_buf_sum_err_int_src;\n\tu32 sbm_rocee_mib_req_extra_int_src;\n\tu32 sbm_rocee_mib_rels_extra_int_src;\n\tu32 voq_rocee_start_to_over_0_int_src;\n\tu32 voq_rocee_ecc_err_int_src;\n};\n\nstruct dsaf_int_tbl_src {\n\tu32 tbl_da0_mis_src;\n\tu32 tbl_da1_mis_src;\n\tu32 tbl_da2_mis_src;\n\tu32 tbl_da3_mis_src;\n\tu32 tbl_da4_mis_src;\n\tu32 tbl_da5_mis_src;\n\tu32 tbl_da6_mis_src;\n\tu32 tbl_da7_mis_src;\n\tu32 tbl_sa_mis_src;\n\tu32 tbl_old_sech_end_src;\n\tu32 lram_ecc_err1_src;\n\tu32 lram_ecc_err2_src;\n\tu32 tram_ecc_err1_src;\n\tu32 tram_ecc_err2_src;\n\tu32 tbl_ucast_bcast_xge0_src;\n\tu32 tbl_ucast_bcast_xge1_src;\n\tu32 tbl_ucast_bcast_xge2_src;\n\tu32 tbl_ucast_bcast_xge3_src;\n\tu32 tbl_ucast_bcast_xge4_src;\n\tu32 tbl_ucast_bcast_xge5_src;\n\tu32 tbl_ucast_bcast_ppe_src;\n\tu32 tbl_ucast_bcast_rocee_src;\n};\n\nstruct dsaf_int_stat {\n\tstruct dsaf_int_xge_src dsaf_int_xge_stat[6];\n\tstruct dsaf_int_ppe_src dsaf_int_ppe_stat[6];\n\tstruct dsaf_int_rocee_src dsaf_int_rocee_stat[6];\n\tstruct dsaf_int_tbl_src dsaf_int_tbl_stat[1];\n};\n\nstruct ppe_common_cb;\n\nstruct rcb_common_cb;\n\nstruct hns_mac_cb;\n\nstruct dsaf_misc_op;\n\nstruct dsaf_device {\n\tstruct device *dev;\n\tstruct hnae_ae_dev ae_dev;\n\tu8 *sc_base;\n\tu8 *sds_base;\n\tu8 *ppe_base;\n\tu8 *io_base;\n\tstruct regmap *sub_ctrl;\n\tphys_addr_t ppe_paddr;\n\tu32 desc_num;\n\tu32 buf_size;\n\tu32 reset_offset;\n\tint buf_size_type;\n\tenum dsaf_mode dsaf_mode;\n\tenum hal_dsaf_mode dsaf_en;\n\tenum hal_dsaf_tc_mode dsaf_tc_mode;\n\tu32 dsaf_ver;\n\tu16 tcam_max_num;\n\tstruct ppe_common_cb *ppe_common[1];\n\tstruct rcb_common_cb *rcb_common[1];\n\tstruct hns_mac_cb *mac_cb[6];\n\tstruct dsaf_misc_op *misc_op;\n\tstruct dsaf_hw_stats hw_stats[18];\n\tstruct dsaf_int_stat int_stat;\n\tspinlock_t tcam_lock;\n};\n\nstruct dsaf_drv_mac_single_dest_entry {\n\tu8 addr[6];\n\tu16 in_vlan_id;\n\tu8 in_port_num;\n\tu8 port_num;\n\tu8 rsv[6];\n};\n\nstruct dsaf_drv_soft_mac_tbl;\n\nstruct dsaf_drv_priv {\n\tstruct dsaf_drv_soft_mac_tbl *soft_mac_tbl;\n};\n\nstruct dsaf_drv_tbl_tcam_key {\n\tunion {\n\t\tstruct {\n\t\t\tu8 mac_3;\n\t\t\tu8 mac_2;\n\t\t\tu8 mac_1;\n\t\t\tu8 mac_0;\n\t\t} bits;\n\t\tu32 val;\n\t} high;\n\tunion {\n\t\tstruct {\n\t\t\tu16 port_vlan;\n\t\t\tu8 mac_5;\n\t\t\tu8 mac_4;\n\t\t} bits;\n\t\tu32 val;\n\t} low;\n};\n\nstruct dsaf_drv_soft_mac_tbl {\n\tstruct dsaf_drv_tbl_tcam_key tcam_key;\n\tu16 index;\n};\n\nstruct dsaf_misc_op {\n\tvoid (*cpld_set_led)(struct hns_mac_cb *, int, u16, int);\n\tvoid (*cpld_reset_led)(struct hns_mac_cb *);\n\tint (*cpld_set_led_id)(struct hns_mac_cb *, enum hnae_led_state);\n\tvoid (*dsaf_reset)(struct dsaf_device *, bool);\n\tvoid (*xge_srst)(struct dsaf_device *, u32, bool);\n\tvoid (*ge_srst)(struct dsaf_device *, u32, bool);\n\tvoid (*ppe_srst)(struct dsaf_device *, u32, bool);\n\tvoid (*ppe_comm_srst)(struct dsaf_device *, bool);\n\tphy_interface_t (*get_phy_if)(struct hns_mac_cb *);\n\tint (*get_sfp_prsnt)(struct hns_mac_cb *, int *);\n\tint (*cfg_serdes_loopback)(struct hns_mac_cb *, bool);\n};\n\nstruct dsaf_tbl_line_cfg {\n\tu32 tbl_line_mac_discard;\n\tu32 tbl_line_dvc;\n\tu32 tbl_line_out_port;\n};\n\nstruct dsaf_tbl_tcam_data {\n\tu32 tbl_tcam_data_high;\n\tu32 tbl_tcam_data_low;\n};\n\nstruct dsaf_tbl_tcam_mcast_cfg {\n\tu8 tbl_mcast_old_en;\n\tu8 tbl_mcast_item_vld;\n\tu32 tbl_mcast_port_msk[5];\n};\n\nstruct dsaf_tbl_tcam_ucast_cfg {\n\tu32 tbl_ucast_old_en;\n\tu32 tbl_ucast_item_vld;\n\tu32 tbl_ucast_mac_discard;\n\tu32 tbl_ucast_dvc;\n\tu32 tbl_ucast_out_port;\n};\n\nstruct dsi_div_hw_data {\n\tstruct clk_hw hw;\n\tu32 conf;\n\tlong unsigned int rate;\n\tstruct rzg2l_cpg_priv *priv;\n};\n\nstruct dst_cache_pcpu;\n\nstruct dst_cache {\n\tstruct dst_cache_pcpu *cache;\n\tlong unsigned int reset_ts;\n};\n\nstruct in_addr {\n\t__be32 s_addr;\n};\n\nstruct dst_cache_pcpu {\n\tlong unsigned int refresh_ts;\n\tstruct dst_entry *dst;\n\tu32 cookie;\n\tunion {\n\t\tstruct in_addr in_saddr;\n\t\tstruct in6_addr in6_saddr;\n\t};\n};\n\nstruct dst_ops;\n\nstruct uncached_list;\n\nstruct lwtunnel_state;\n\nstruct dst_entry {\n\tstruct net_device *dev;\n\tstruct dst_ops *ops;\n\tlong unsigned int _metrics;\n\tlong unsigned int expires;\n\tvoid *__pad1;\n\tint (*input)(struct sk_buff *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tshort unsigned int flags;\n\tshort int obsolete;\n\tshort unsigned int header_len;\n\tshort unsigned int trailer_len;\n\trcuref_t __rcuref;\n\tint __use;\n\tlong unsigned int lastuse;\n\tstruct callback_head callback_head;\n\tshort int error;\n\tshort int __pad;\n\t__u32 tclassid;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head rt_uncached;\n\tstruct uncached_list *rt_uncached_list;\n\tstruct lwtunnel_state *lwtstate;\n};\n\nstruct dst_metrics {\n\tu32 metrics[17];\n\trefcount_t refcnt;\n};\n\nstruct neighbour;\n\nstruct dst_ops {\n\tshort unsigned int family;\n\tunsigned int gc_thresh;\n\tvoid (*gc)(struct dst_ops *);\n\tstruct dst_entry * (*check)(struct dst_entry *, __u32);\n\tunsigned int (*default_advmss)(const struct dst_entry *);\n\tunsigned int (*mtu)(const struct dst_entry *);\n\tu32 * (*cow_metrics)(struct dst_entry *, long unsigned int);\n\tvoid (*destroy)(struct dst_entry *);\n\tvoid (*ifdown)(struct dst_entry *, struct net_device *);\n\tvoid (*negative_advice)(struct sock *, struct dst_entry *);\n\tvoid (*link_failure)(struct sk_buff *);\n\tvoid (*update_pmtu)(struct dst_entry *, struct sock *, struct sk_buff *, u32, bool);\n\tvoid (*redirect)(struct dst_entry *, struct sock *, struct sk_buff *);\n\tint (*local_out)(struct net *, struct sock *, struct sk_buff *);\n\tstruct neighbour * (*neigh_lookup)(const struct dst_entry *, struct sk_buff *, const void *);\n\tvoid (*confirm_neigh)(const struct dst_entry *, const void *);\n\tstruct kmem_cache *kmem_cachep;\n\tstruct percpu_counter pcpuc_entries;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct dtsec_cfg {\n\tu16 halfdup_retransmit;\n\tu16 halfdup_coll_window;\n\tbool tx_pad_crc;\n\tu16 tx_pause_time;\n\tbool ptp_tsu_en;\n\tbool ptp_exception_en;\n\tu32 preamble_len;\n\tu32 rx_prepend;\n\tu16 tx_pause_time_extd;\n\tu16 maximum_frame;\n\tu32 non_back_to_back_ipg1;\n\tu32 non_back_to_back_ipg2;\n\tu32 min_ifg_enforcement;\n\tu32 back_to_back_ipg;\n};\n\nstruct dtsec_regs {\n\tu32 tsec_id;\n\tu32 tsec_id2;\n\tu32 ievent;\n\tu32 imask;\n\tu32 reserved0010[1];\n\tu32 ecntrl;\n\tu32 ptv;\n\tu32 tbipa;\n\tu32 tmr_ctrl;\n\tu32 tmr_pevent;\n\tu32 tmr_pemask;\n\tu32 reserved002c[5];\n\tu32 tctrl;\n\tu32 reserved0044[3];\n\tu32 rctrl;\n\tu32 reserved0054[11];\n\tu32 igaddr[8];\n\tu32 gaddr[8];\n\tu32 reserved00c0[16];\n\tu32 maccfg1;\n\tu32 maccfg2;\n\tu32 ipgifg;\n\tu32 hafdup;\n\tu32 maxfrm;\n\tu32 reserved0114[10];\n\tu32 ifstat;\n\tu32 macstnaddr1;\n\tu32 macstnaddr2;\n\tstruct {\n\t\tu32 exact_match1;\n\t\tu32 exact_match2;\n\t} macaddr[15];\n\tu32 reserved01c0[16];\n\tu32 tr64;\n\tu32 tr127;\n\tu32 tr255;\n\tu32 tr511;\n\tu32 tr1k;\n\tu32 trmax;\n\tu32 trmgv;\n\tu32 rbyt;\n\tu32 rpkt;\n\tu32 rfcs;\n\tu32 rmca;\n\tu32 rbca;\n\tu32 rxcf;\n\tu32 rxpf;\n\tu32 rxuo;\n\tu32 raln;\n\tu32 rflr;\n\tu32 rcde;\n\tu32 rcse;\n\tu32 rund;\n\tu32 rovr;\n\tu32 rfrg;\n\tu32 rjbr;\n\tu32 rdrp;\n\tu32 tbyt;\n\tu32 tpkt;\n\tu32 tmca;\n\tu32 tbca;\n\tu32 txpf;\n\tu32 tdfr;\n\tu32 tedf;\n\tu32 tscl;\n\tu32 tmcl;\n\tu32 tlcl;\n\tu32 txcl;\n\tu32 tncl;\n\tu32 reserved0290[1];\n\tu32 tdrp;\n\tu32 tjbr;\n\tu32 tfcs;\n\tu32 txcf;\n\tu32 tovr;\n\tu32 tund;\n\tu32 tfrg;\n\tu32 car1;\n\tu32 car2;\n\tu32 cam1;\n\tu32 cam2;\n\tu32 reserved02c0[848];\n};\n\nstruct dvfs_info {\n\tu8 domain;\n\tu8 opp_count;\n\t__le16 latency;\n\tstruct {\n\t\t__le32 freq;\n\t\t__le32 m_volt;\n\t} opps[16];\n};\n\nstruct dvfs_set {\n\tu8 domain;\n\tu8 index;\n};\n\nstruct dw8250_port_data {\n\tint line;\n\tstruct uart_8250_dma dma;\n\tu32 cpr_value;\n\tu8 dlf_size;\n\tbool hw_rs485_support;\n};\n\nstruct dw8250_platform_data;\n\nstruct dw8250_data {\n\tstruct dw8250_port_data data;\n\tconst struct dw8250_platform_data *pdata;\n\tint msr_mask_on;\n\tint msr_mask_off;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct notifier_block clk_notifier;\n\tstruct work_struct clk_work;\n\tstruct reset_control *rst;\n\tunsigned int skip_autocfg: 1;\n\tunsigned int uart_16550_compatible: 1;\n};\n\nstruct dw8250_platform_data {\n\tu8 usr_reg;\n\tu32 cpr_value;\n\tunsigned int quirks;\n};\n\nstruct dw_apb_timer {\n\tvoid *base;\n\tlong unsigned int freq;\n\tint irq;\n};\n\nstruct dw_apb_clock_event_device {\n\tstruct clock_event_device ced;\n\tstruct dw_apb_timer timer;\n\tvoid (*eoi)(struct dw_apb_timer *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct dw_apb_clocksource {\n\tstruct dw_apb_timer timer;\n\tstruct clocksource cs;\n};\n\nstruct dw_edma_region {\n\tu64 paddr;\n\tunion {\n\t\tvoid *mem;\n\t\tvoid *io;\n\t} vaddr;\n\tsize_t sz;\n};\n\nstruct dw_edma;\n\nstruct dw_edma_plat_ops;\n\nstruct dw_edma_chip {\n\tstruct device *dev;\n\tint nr_irqs;\n\tconst struct dw_edma_plat_ops *ops;\n\tu32 flags;\n\tvoid *reg_base;\n\tu16 ll_wr_cnt;\n\tu16 ll_rd_cnt;\n\tstruct dw_edma_region ll_region_wr[8];\n\tstruct dw_edma_region ll_region_rd[8];\n\tstruct dw_edma_region dt_region_wr[8];\n\tstruct dw_edma_region dt_region_rd[8];\n\tenum dw_edma_map_format mf;\n\tstruct dw_edma *dw;\n};\n\nstruct dw_edma_plat_ops {\n\tint (*irq_vector)(struct device *, unsigned int);\n\tu64 (*pci_address)(struct device *, phys_addr_t);\n};\n\nstruct i2c_timings {\n\tu32 bus_freq_hz;\n\tu32 scl_rise_ns;\n\tu32 scl_fall_ns;\n\tu32 scl_int_delay_ns;\n\tu32 sda_fall_ns;\n\tu32 sda_hold_ns;\n\tu32 digital_filter_width_ns;\n\tu32 analog_filter_cutoff_freq_hz;\n};\n\nstruct i2c_bus_recovery_info {\n\tint (*recover_bus)(struct i2c_adapter *);\n\tint (*get_scl)(struct i2c_adapter *);\n\tvoid (*set_scl)(struct i2c_adapter *, int);\n\tint (*get_sda)(struct i2c_adapter *);\n\tvoid (*set_sda)(struct i2c_adapter *, int);\n\tint (*get_bus_free)(struct i2c_adapter *);\n\tvoid (*prepare_recovery)(struct i2c_adapter *);\n\tvoid (*unprepare_recovery)(struct i2c_adapter *);\n\tstruct gpio_desc *scl_gpiod;\n\tstruct gpio_desc *sda_gpiod;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_default;\n\tstruct pinctrl_state *pins_gpio;\n};\n\nstruct dw_i2c_dev {\n\tstruct device *dev;\n\tstruct regmap *map;\n\tstruct regmap *sysmap;\n\tvoid *base;\n\tvoid *ext;\n\tstruct completion cmd_complete;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct reset_control *rst;\n\tstruct i2c_client *slave;\n\tu32 (*get_clk_rate_khz)(struct dw_i2c_dev *);\n\tint cmd_err;\n\tstruct i2c_msg *msgs;\n\tint msgs_num;\n\tint msg_write_idx;\n\tu32 tx_buf_len;\n\tu8 *tx_buf;\n\tint msg_read_idx;\n\tu32 rx_buf_len;\n\tu8 *rx_buf;\n\tint msg_err;\n\tunsigned int status;\n\tunsigned int abort_source;\n\tunsigned int sw_mask;\n\tint irq;\n\tu32 flags;\n\tstruct i2c_adapter adapter;\n\tu32 functionality;\n\tu32 master_cfg;\n\tu32 slave_cfg;\n\tunsigned int tx_fifo_depth;\n\tunsigned int rx_fifo_depth;\n\tint rx_outstanding;\n\tstruct i2c_timings timings;\n\tu32 sda_hold_time;\n\tu16 ss_hcnt;\n\tu16 ss_lcnt;\n\tu16 fs_hcnt;\n\tu16 fs_lcnt;\n\tu16 fp_hcnt;\n\tu16 fp_lcnt;\n\tu16 hs_hcnt;\n\tu16 hs_lcnt;\n\tint (*acquire_lock)(void);\n\tvoid (*release_lock)(void);\n\tint semaphore_idx;\n\tbool shared_with_punit;\n\tint (*init)(struct dw_i2c_dev *);\n\tint (*set_sda_hold_time)(struct dw_i2c_dev *);\n\tint mode;\n\tstruct i2c_bus_recovery_info rinfo;\n\tu32 bus_capacitance_pF;\n\tbool clk_freq_optimized;\n};\n\nstruct uhs2_command;\n\nstruct mmc_command {\n\tu32 opcode;\n\tu32 arg;\n\tu32 resp[4];\n\tunsigned int flags;\n\tunsigned int retries;\n\tint error;\n\tunsigned int busy_timeout;\n\tstruct mmc_data *data;\n\tstruct mmc_request *mrq;\n\tstruct uhs2_command *uhs2_cmd;\n\tbool has_ext_addr;\n\tu8 ext_addr;\n};\n\nstruct dw_mci_dma_ops;\n\nstruct dw_mci_dma_slave;\n\nstruct dw_mci_board;\n\nstruct dw_mci_drv_data;\n\nstruct dw_mci_slot;\n\nstruct dw_mci {\n\tspinlock_t lock;\n\tspinlock_t irq_lock;\n\tvoid *regs;\n\tvoid *fifo_reg;\n\tu32 data_addr_override;\n\tbool wm_aligned;\n\tstruct scatterlist *sg;\n\tstruct sg_mapping_iter sg_miter;\n\tstruct mmc_request *mrq;\n\tstruct mmc_command *cmd;\n\tstruct mmc_data *data;\n\tstruct mmc_command stop_abort;\n\tunsigned int prev_blksz;\n\tunsigned char timing;\n\tint use_dma;\n\tint using_dma;\n\tint dma_64bit_address;\n\tdma_addr_t sg_dma;\n\tvoid *sg_cpu;\n\tconst struct dw_mci_dma_ops *dma_ops;\n\tunsigned int ring_size;\n\tstruct dw_mci_dma_slave *dms;\n\tresource_size_t phy_regs;\n\tu32 cmd_status;\n\tu32 data_status;\n\tu32 stop_cmdr;\n\tu32 dir_status;\n\tstruct work_struct bh_work;\n\tlong unsigned int pending_events;\n\tlong unsigned int completed_events;\n\tenum dw_mci_state state;\n\tstruct list_head queue;\n\tu32 bus_hz;\n\tu32 current_speed;\n\tu32 minimum_speed;\n\tu32 fifoth_val;\n\tu16 verid;\n\tstruct device *dev;\n\tstruct dw_mci_board *pdata;\n\tconst struct dw_mci_drv_data *drv_data;\n\tvoid *priv;\n\tstruct clk *biu_clk;\n\tstruct clk *ciu_clk;\n\tstruct dw_mci_slot *slot;\n\tint fifo_depth;\n\tint data_shift;\n\tu8 part_buf_start;\n\tu8 part_buf_count;\n\tunion {\n\t\tu16 part_buf16;\n\t\tu32 part_buf32;\n\t\tu64 part_buf;\n\t};\n\tvoid (*push_data)(struct dw_mci *, void *, int);\n\tvoid (*pull_data)(struct dw_mci *, void *, int);\n\tu32 quirks;\n\tbool vqmmc_enabled;\n\tlong unsigned int irq_flags;\n\tint irq;\n\tint sdio_id0;\n\tstruct timer_list cmd11_timer;\n\tstruct timer_list cto_timer;\n\tstruct timer_list dto_timer;\n};\n\nstruct dma_pdata;\n\nstruct dw_mci_board {\n\tunsigned int bus_hz;\n\tu32 caps;\n\tu32 caps2;\n\tu32 pm_caps;\n\tunsigned int fifo_depth;\n\tu32 detect_delay_ms;\n\tstruct reset_control *rstc;\n\tstruct dw_mci_dma_ops *dma_ops;\n\tstruct dma_pdata *data;\n};\n\nstruct dw_mci_dma_ops {\n\tint (*init)(struct dw_mci *);\n\tint (*start)(struct dw_mci *, unsigned int);\n\tvoid (*complete)(void *);\n\tvoid (*stop)(struct dw_mci *);\n\tvoid (*cleanup)(struct dw_mci *);\n\tvoid (*exit)(struct dw_mci *);\n};\n\nstruct dw_mci_dma_slave {\n\tstruct dma_chan *ch;\n\tenum dma_transfer_direction direction;\n};\n\nstruct dw_mci_drv_data {\n\tlong unsigned int *caps;\n\tu32 num_caps;\n\tu32 common_caps;\n\tint (*init)(struct dw_mci *);\n\tvoid (*set_ios)(struct dw_mci *, struct mmc_ios *);\n\tint (*parse_dt)(struct dw_mci *);\n\tint (*execute_tuning)(struct dw_mci_slot *, u32);\n\tint (*prepare_hs400_tuning)(struct dw_mci *, struct mmc_ios *);\n\tint (*switch_voltage)(struct mmc_host *, struct mmc_ios *);\n\tvoid (*set_data_timeout)(struct dw_mci *, unsigned int);\n\tu32 (*get_drto_clks)(struct dw_mci *);\n\tvoid (*hw_reset)(struct dw_mci *);\n};\n\nstruct dw_mci_exynos_compatible {\n\tchar *compatible;\n\tenum dw_mci_exynos_type ctrl_type;\n};\n\nstruct dw_mci_exynos_priv_data {\n\tenum dw_mci_exynos_type ctrl_type;\n\tu8 ciu_div;\n\tu32 sdr_timing;\n\tu32 ddr_timing;\n\tu32 hs400_timing;\n\tu32 tuned_sample;\n\tu32 cur_speed;\n\tu32 dqs_delay;\n\tu32 saved_dqs_en;\n\tu32 saved_strobe_ctrl;\n};\n\nstruct dw_mci_rockchip_priv_data {\n\tstruct clk *drv_clk;\n\tstruct clk *sample_clk;\n\tint default_sample_phase;\n\tint num_phases;\n\tbool internal_phase;\n};\n\nstruct dw_mci_slot {\n\tstruct mmc_host *mmc;\n\tstruct dw_mci *host;\n\tu32 ctype;\n\tstruct mmc_request *mrq;\n\tstruct list_head queue_node;\n\tunsigned int clock;\n\tunsigned int __clk_old;\n\tlong unsigned int flags;\n\tint id;\n\tint sdio_id;\n};\n\nstruct dw_pcie_host_ops;\n\nstruct pci_host_bridge;\n\nstruct dw_pcie_rp {\n\tbool has_msi_ctrl: 1;\n\tbool cfg0_io_shared: 1;\n\tu64 cfg0_base;\n\tvoid *va_cfg0_base;\n\tu32 cfg0_size;\n\tresource_size_t io_base;\n\tphys_addr_t io_bus_addr;\n\tu32 io_size;\n\tint irq;\n\tconst struct dw_pcie_host_ops *ops;\n\tint msi_irq[8];\n\tstruct irq_domain *irq_domain;\n\tstruct irq_domain *msi_domain;\n\tdma_addr_t msi_data;\n\tstruct irq_chip *msi_irq_chip;\n\tu32 num_vectors;\n\tu32 irq_mask[8];\n\tstruct pci_host_bridge *bridge;\n\traw_spinlock_t lock;\n\tlong unsigned int msi_irq_in_use[4];\n\tbool use_atu_msg;\n\tint msg_atu_index;\n\tstruct resource *msg_res;\n\tbool use_linkup_irq;\n};\n\nstruct pci_epc;\n\nstruct dw_pcie_ep_ops;\n\nstruct pci_epf_bar;\n\nstruct dw_pcie_ep {\n\tstruct pci_epc *epc;\n\tstruct list_head func_list;\n\tconst struct dw_pcie_ep_ops *ops;\n\tphys_addr_t phys_base;\n\tsize_t addr_size;\n\tsize_t page_size;\n\tu8 bar_to_atu[6];\n\tphys_addr_t *outbound_addr;\n\tlong unsigned int *ib_window_map;\n\tlong unsigned int *ob_window_map;\n\tvoid *msi_mem;\n\tphys_addr_t msi_mem_phys;\n\tstruct pci_epf_bar *epf_bar[6];\n};\n\nstruct reset_control_bulk_data {\n\tconst char *id;\n\tstruct reset_control *rstc;\n};\n\nstruct dw_pcie_ops;\n\nstruct dw_pcie {\n\tstruct device *dev;\n\tvoid *dbi_base;\n\tresource_size_t dbi_phys_addr;\n\tvoid *dbi_base2;\n\tvoid *atu_base;\n\tresource_size_t atu_phys_addr;\n\tsize_t atu_size;\n\tu32 num_ib_windows;\n\tu32 num_ob_windows;\n\tu32 region_align;\n\tu64 region_limit;\n\tstruct dw_pcie_rp pp;\n\tstruct dw_pcie_ep ep;\n\tconst struct dw_pcie_ops *ops;\n\tu32 version;\n\tu32 type;\n\tlong unsigned int caps;\n\tint num_lanes;\n\tint max_link_speed;\n\tu8 n_fts[2];\n\tstruct dw_edma_chip edma;\n\tstruct clk_bulk_data app_clks[3];\n\tstruct clk_bulk_data core_clks[4];\n\tstruct reset_control_bulk_data app_rsts[3];\n\tstruct reset_control_bulk_data core_rsts[7];\n\tstruct gpio_desc *pe_rst;\n\tbool suspended;\n};\n\nstruct dw_pcie_ep_func {\n\tstruct list_head list;\n\tu8 func_no;\n\tu8 msi_cap;\n\tu8 msix_cap;\n};\n\nstruct pci_epc_features;\n\nstruct dw_pcie_ep_ops {\n\tvoid (*pre_init)(struct dw_pcie_ep *);\n\tvoid (*init)(struct dw_pcie_ep *);\n\tint (*raise_irq)(struct dw_pcie_ep *, u8, unsigned int, u16);\n\tconst struct pci_epc_features * (*get_features)(struct dw_pcie_ep *);\n\tunsigned int (*get_dbi_offset)(struct dw_pcie_ep *, u8);\n\tunsigned int (*get_dbi2_offset)(struct dw_pcie_ep *, u8);\n};\n\nstruct dw_pcie_host_ops {\n\tint (*init)(struct dw_pcie_rp *);\n\tvoid (*deinit)(struct dw_pcie_rp *);\n\tvoid (*post_init)(struct dw_pcie_rp *);\n\tint (*msi_init)(struct dw_pcie_rp *);\n\tvoid (*pme_turn_off)(struct dw_pcie_rp *);\n};\n\nstruct dw_pcie_ob_atu_cfg {\n\tint index;\n\tint type;\n\tu8 func_no;\n\tu8 code;\n\tu8 routing;\n\tu64 cpu_addr;\n\tu64 pci_addr;\n\tu64 size;\n};\n\nstruct dw_pcie_ops {\n\tu64 (*cpu_addr_fixup)(struct dw_pcie *, u64);\n\tu32 (*read_dbi)(struct dw_pcie *, void *, u32, size_t);\n\tvoid (*write_dbi)(struct dw_pcie *, void *, u32, size_t, u32);\n\tvoid (*write_dbi2)(struct dw_pcie *, void *, u32, size_t, u32);\n\tint (*link_up)(struct dw_pcie *);\n\tenum dw_pcie_ltssm (*get_ltssm)(struct dw_pcie *);\n\tint (*start_link)(struct dw_pcie *);\n\tvoid (*stop_link)(struct dw_pcie *);\n};\n\nstruct dw_wdt_timeout {\n\tu32 top_val;\n\tunsigned int sec;\n\tunsigned int msec;\n};\n\nstruct watchdog_info;\n\nstruct watchdog_ops;\n\nstruct watchdog_governor;\n\nstruct watchdog_core_data;\n\nstruct watchdog_device {\n\tint id;\n\tstruct device *parent;\n\tconst struct attribute_group **groups;\n\tconst struct watchdog_info *info;\n\tconst struct watchdog_ops *ops;\n\tconst struct watchdog_governor *gov;\n\tunsigned int bootstatus;\n\tunsigned int timeout;\n\tunsigned int pretimeout;\n\tunsigned int min_timeout;\n\tunsigned int max_timeout;\n\tunsigned int min_hw_heartbeat_ms;\n\tunsigned int max_hw_heartbeat_ms;\n\tstruct notifier_block reboot_nb;\n\tstruct notifier_block restart_nb;\n\tstruct notifier_block pm_nb;\n\tvoid *driver_data;\n\tstruct watchdog_core_data *wd_data;\n\tlong unsigned int status;\n\tstruct list_head deferred;\n};\n\nstruct dw_wdt {\n\tvoid *regs;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tlong unsigned int rate;\n\tenum dw_wdt_rmod rmod;\n\tstruct dw_wdt_timeout timeouts[16];\n\tstruct watchdog_device wdd;\n\tstruct reset_control *rst;\n\tu32 control;\n\tu32 timeout;\n\tstruct dentry *dbgfs_dir;\n};\n\nstruct dwapb_context {\n\tu32 data;\n\tu32 dir;\n\tu32 ext;\n\tu32 int_en;\n\tu32 int_mask;\n\tu32 int_type;\n\tu32 int_pol;\n\tu32 int_deb;\n\tu32 wake_en;\n};\n\nstruct dwapb_gpio_port;\n\nstruct dwapb_gpio {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct dwapb_gpio_port *ports;\n\tunsigned int nr_ports;\n\tunsigned int flags;\n\tstruct reset_control *rst;\n\tstruct clk_bulk_data clks[2];\n};\n\nstruct dwapb_gpio_port_irqchip;\n\nstruct dwapb_gpio_port {\n\tstruct gpio_chip gc;\n\tstruct dwapb_gpio_port_irqchip *pirq;\n\tstruct dwapb_gpio *gpio;\n\tstruct dwapb_context *ctx;\n\tunsigned int idx;\n};\n\nstruct dwapb_gpio_port_irqchip {\n\tunsigned int nr_irqs;\n\tunsigned int irq[32];\n};\n\nstruct dwapb_port_property;\n\nstruct dwapb_platform_data {\n\tstruct dwapb_port_property *properties;\n\tunsigned int nports;\n};\n\nstruct dwapb_port_property {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int idx;\n\tunsigned int ngpio;\n\tunsigned int gpio_base;\n\tint irq[32];\n};\n\nstruct dwc2_core_params {\n\tstruct usb_otg_caps otg_caps;\n\tu8 phy_type;\n\tu8 speed;\n\tu8 phy_utmi_width;\n\tbool eusb2_disc;\n\tbool phy_ulpi_ddr;\n\tbool phy_ulpi_ext_vbus;\n\tbool enable_dynamic_fifo;\n\tbool en_multiple_tx_fifo;\n\tbool i2c_enable;\n\tbool acg_enable;\n\tbool ulpi_fs_ls;\n\tbool ts_dline;\n\tbool reload_ctl;\n\tbool uframe_sched;\n\tbool external_id_pin_ctl;\n\tint power_down;\n\tbool no_clock_gating;\n\tbool lpm;\n\tbool lpm_clock_gating;\n\tbool besl;\n\tbool hird_threshold_en;\n\tbool service_interval;\n\tu8 hird_threshold;\n\tbool activate_stm_fs_transceiver;\n\tbool activate_stm_id_vb_detection;\n\tbool activate_ingenic_overcurrent_detection;\n\tbool ipg_isoc_en;\n\tu16 max_packet_count;\n\tu32 max_transfer_size;\n\tu32 ahbcfg;\n\tu32 ref_clk_per;\n\tu16 sof_cnt_wkup_alert;\n\tbool host_dma;\n\tbool dma_desc_enable;\n\tbool dma_desc_fs_enable;\n\tbool host_support_fs_ls_low_power;\n\tbool host_ls_low_power_phy_clk;\n\tbool oc_disable;\n\tu8 host_channels;\n\tu16 host_rx_fifo_size;\n\tu16 host_nperio_tx_fifo_size;\n\tu16 host_perio_tx_fifo_size;\n\tbool g_dma;\n\tbool g_dma_desc;\n\tu32 g_rx_fifo_size;\n\tu32 g_np_tx_fifo_size;\n\tu32 g_tx_fifo_size[16];\n\tbool change_speed_quirk;\n};\n\nstruct dwc2_dma_desc {\n\tu32 status;\n\tu32 buf;\n};\n\nstruct dwc2_dregs_backup {\n\tu32 dcfg;\n\tu32 dctl;\n\tu32 daintmsk;\n\tu32 diepmsk;\n\tu32 doepmsk;\n\tu32 diepctl[16];\n\tu32 dieptsiz[16];\n\tu32 diepdma[16];\n\tu32 doepctl[16];\n\tu32 doeptsiz[16];\n\tu32 doepdma[16];\n\tu32 dtxfsiz[16];\n\tbool valid;\n};\n\nstruct dwc2_gregs_backup {\n\tu32 gotgctl;\n\tu32 gintmsk;\n\tu32 gahbcfg;\n\tu32 gusbcfg;\n\tu32 grxfsiz;\n\tu32 gnptxfsiz;\n\tu32 gi2cctl;\n\tu32 glpmcfg;\n\tu32 pcgcctl;\n\tu32 pcgcctl1;\n\tu32 gdfifocfg;\n\tu32 gpwrdn;\n\tbool valid;\n};\n\nunion dwc2_hcd_internal_flags {\n\tu32 d32;\n\tstruct {\n\t\tunsigned int port_connect_status_change: 1;\n\t\tunsigned int port_connect_status: 1;\n\t\tunsigned int port_reset_change: 1;\n\t\tunsigned int port_enable_change: 1;\n\t\tunsigned int port_suspend_change: 1;\n\t\tunsigned int port_over_current_change: 1;\n\t\tunsigned int port_l1_change: 1;\n\t\tunsigned int reserved: 25;\n\t} b;\n};\n\nstruct dwc2_hcd_iso_packet_desc {\n\tu32 offset;\n\tu32 length;\n\tu32 actual_length;\n\tu32 status;\n};\n\nstruct dwc2_hcd_pipe_info {\n\tu8 dev_addr;\n\tu8 ep_num;\n\tu8 pipe_type;\n\tu8 pipe_dir;\n\tu16 maxp;\n\tu16 maxp_mult;\n};\n\nstruct dwc2_qtd;\n\nstruct dwc2_hcd_urb {\n\tvoid *priv;\n\tstruct dwc2_qtd *qtd;\n\tvoid *buf;\n\tdma_addr_t dma;\n\tvoid *setup_packet;\n\tdma_addr_t setup_dma;\n\tu32 length;\n\tu32 actual_length;\n\tu32 status;\n\tu32 error_count;\n\tu32 packet_count;\n\tu32 flags;\n\tu16 interval;\n\tstruct dwc2_hcd_pipe_info pipe_info;\n\tstruct dwc2_hcd_iso_packet_desc iso_descs[0];\n};\n\nstruct dwc2_qh;\n\nstruct dwc2_host_chan {\n\tu8 hc_num;\n\tunsigned int dev_addr: 7;\n\tunsigned int ep_num: 4;\n\tunsigned int ep_is_in: 1;\n\tunsigned int speed: 4;\n\tunsigned int ep_type: 2;\n\tint: 6;\n\tunsigned int max_packet: 11;\n\tunsigned int data_pid_start: 2;\n\tunsigned int multi_count: 2;\n\tu8 *xfer_buf;\n\tdma_addr_t xfer_dma;\n\tdma_addr_t align_buf;\n\tu32 xfer_len;\n\tu32 xfer_count;\n\tu16 start_pkt_count;\n\tu8 xfer_started;\n\tu8 do_ping;\n\tu8 error_state;\n\tu8 halt_on_queue;\n\tu8 halt_pending;\n\tu8 do_split;\n\tu8 complete_split;\n\tu8 hub_addr;\n\tu8 hub_port;\n\tu8 xact_pos;\n\tu8 requests;\n\tu8 schinfo;\n\tu16 ntd;\n\tenum dwc2_halt_status halt_status;\n\tu32 hcint;\n\tstruct dwc2_qh *qh;\n\tstruct list_head hc_list_entry;\n\tdma_addr_t desc_list_addr;\n\tu32 desc_list_sz;\n\tstruct list_head split_order_list_entry;\n};\n\nstruct dwc2_hregs_backup {\n\tu32 hcfg;\n\tu32 hflbaddr;\n\tu32 haintmsk;\n\tu32 hcchar[16];\n\tu32 hcsplt[16];\n\tu32 hcintmsk[16];\n\tu32 hctsiz[16];\n\tu32 hcidma[16];\n\tu32 hcidmab[16];\n\tu32 hprt0;\n\tu32 hfir;\n\tu32 hptxfsiz;\n\tbool valid;\n};\n\nstruct dwc2_hs_transfer_time {\n\tu32 start_schedule_us;\n\tu16 duration_us;\n};\n\nstruct dwc2_hw_params {\n\tunsigned int op_mode: 3;\n\tunsigned int arch: 2;\n\tunsigned int dma_desc_enable: 1;\n\tunsigned int enable_dynamic_fifo: 1;\n\tunsigned int en_multiple_tx_fifo: 1;\n\tunsigned int rx_fifo_size: 16;\n\tint: 8;\n\tunsigned int host_nperio_tx_fifo_size: 16;\n\tunsigned int dev_nperio_tx_fifo_size: 16;\n\tunsigned int host_perio_tx_fifo_size: 16;\n\tunsigned int nperio_tx_q_depth: 3;\n\tunsigned int host_perio_tx_q_depth: 3;\n\tunsigned int dev_token_q_depth: 5;\n\tint: 5;\n\tunsigned int max_transfer_size: 26;\n\tlong: 6;\n\tunsigned int max_packet_count: 11;\n\tunsigned int host_channels: 5;\n\tunsigned int hs_phy_type: 2;\n\tunsigned int fs_phy_type: 2;\n\tunsigned int i2c_enable: 1;\n\tunsigned int acg_enable: 1;\n\tunsigned int num_dev_ep: 4;\n\tunsigned int num_dev_in_eps: 4;\n\tint: 2;\n\tunsigned int num_dev_perio_in_ep: 4;\n\tunsigned int total_fifo_size: 16;\n\tunsigned int power_optimized: 1;\n\tunsigned int hibernation: 1;\n\tunsigned int utmi_phy_data_width: 2;\n\tunsigned int lpm_mode: 1;\n\tunsigned int ipg_isoc_en: 1;\n\tunsigned int service_interval_mode: 1;\n\tu32 snpsid;\n\tu32 dev_ep_dirs;\n\tu32 g_tx_fifo_size[16];\n};\n\nstruct regulator_bulk_data {\n\tconst char *supply;\n\tstruct regulator *consumer;\n\tint init_load_uA;\n\tint ret;\n};\n\nstruct dwc2_hsotg_plat;\n\nstruct dwc2_hsotg_ep;\n\nstruct dwc2_hsotg {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct dwc2_hw_params hw_params;\n\tstruct dwc2_core_params params;\n\tenum usb_otg_state op_state;\n\tenum usb_dr_mode dr_mode;\n\tstruct usb_role_switch *role_sw;\n\tenum usb_dr_mode role_sw_default_mode;\n\tunsigned int hcd_enabled: 1;\n\tunsigned int gadget_enabled: 1;\n\tunsigned int ll_hw_enabled: 1;\n\tunsigned int hibernated: 1;\n\tunsigned int in_ppd: 1;\n\tbool bus_suspended;\n\tunsigned int reset_phy_on_wake: 1;\n\tunsigned int need_phy_for_wake: 1;\n\tunsigned int phy_off_for_suspend: 1;\n\tu16 frame_number;\n\tstruct phy *phy;\n\tstruct usb_phy *uphy;\n\tstruct dwc2_hsotg_plat *plat;\n\tstruct regulator_bulk_data supplies[2];\n\tstruct regulator *vbus_supply;\n\tstruct regulator *usb33d;\n\tspinlock_t lock;\n\tvoid *priv;\n\tint irq;\n\tstruct clk *clk;\n\tstruct clk *utmi_clk;\n\tstruct reset_control *reset;\n\tstruct reset_control *reset_ecc;\n\tunsigned int queuing_high_bandwidth: 1;\n\tunsigned int srp_success: 1;\n\tstruct workqueue_struct *wq_otg;\n\tstruct work_struct wf_otg;\n\tstruct timer_list wkp_timer;\n\tenum dwc2_lx_state lx_state;\n\tstruct dwc2_gregs_backup gr_backup;\n\tstruct dwc2_dregs_backup dr_backup;\n\tstruct dwc2_hregs_backup hr_backup;\n\tstruct dentry *debug_root;\n\tstruct debugfs_regset32 *regset;\n\tbool needs_byte_swap;\n\tunion dwc2_hcd_internal_flags flags;\n\tstruct list_head non_periodic_sched_inactive;\n\tstruct list_head non_periodic_sched_waiting;\n\tstruct list_head non_periodic_sched_active;\n\tstruct list_head *non_periodic_qh_ptr;\n\tstruct list_head periodic_sched_inactive;\n\tstruct list_head periodic_sched_ready;\n\tstruct list_head periodic_sched_assigned;\n\tstruct list_head periodic_sched_queued;\n\tstruct list_head split_order;\n\tu16 periodic_usecs;\n\tlong unsigned int hs_periodic_bitmap[13];\n\tu16 periodic_qh_count;\n\tbool new_connection;\n\tu16 last_frame_num;\n\tstruct list_head free_hc_list;\n\tint periodic_channels;\n\tint non_periodic_channels;\n\tint available_host_channels;\n\tstruct dwc2_host_chan *hc_ptr_array[16];\n\tu8 *status_buf;\n\tdma_addr_t status_buf_dma;\n\tstruct delayed_work start_work;\n\tstruct delayed_work reset_work;\n\tstruct work_struct phy_reset_work;\n\tu8 otg_port;\n\tu32 *frame_list;\n\tdma_addr_t frame_list_dma;\n\tu32 frame_list_sz;\n\tstruct kmem_cache *desc_gen_cache;\n\tstruct kmem_cache *desc_hsisoc_cache;\n\tstruct kmem_cache *unaligned_cache;\n\tstruct usb_gadget_driver *driver;\n\tint fifo_mem;\n\tunsigned int dedicated_fifos: 1;\n\tunsigned char num_of_eps;\n\tu32 fifo_map;\n\tstruct usb_request *ep0_reply;\n\tstruct usb_request *ctrl_req;\n\tvoid *ep0_buff;\n\tvoid *ctrl_buff;\n\tenum dwc2_ep0_state ep0_state;\n\tunsigned int delayed_status: 1;\n\tu8 test_mode;\n\tdma_addr_t setup_desc_dma[2];\n\tstruct dwc2_dma_desc *setup_desc[2];\n\tdma_addr_t ctrl_in_desc_dma;\n\tstruct dwc2_dma_desc *ctrl_in_desc;\n\tdma_addr_t ctrl_out_desc_dma;\n\tstruct dwc2_dma_desc *ctrl_out_desc;\n\tstruct usb_gadget gadget;\n\tunsigned int enabled: 1;\n\tunsigned int connected: 1;\n\tunsigned int remote_wakeup_allowed: 1;\n\tstruct dwc2_hsotg_ep *eps_in[16];\n\tstruct dwc2_hsotg_ep *eps_out[16];\n};\n\nstruct dwc2_hsotg_req;\n\nstruct dwc2_hsotg_ep {\n\tstruct usb_ep ep;\n\tstruct list_head queue;\n\tstruct dwc2_hsotg *parent;\n\tstruct dwc2_hsotg_req *req;\n\tstruct dentry *debugfs;\n\tlong unsigned int total_data;\n\tunsigned int size_loaded;\n\tunsigned int last_load;\n\tunsigned int fifo_load;\n\tshort unsigned int fifo_size;\n\tshort unsigned int fifo_index;\n\tunsigned char dir_in;\n\tunsigned char map_dir;\n\tunsigned char index;\n\tunsigned char mc;\n\tu16 interval;\n\tunsigned int halted: 1;\n\tunsigned int periodic: 1;\n\tunsigned int isochronous: 1;\n\tunsigned int send_zlp: 1;\n\tunsigned int wedged: 1;\n\tunsigned int target_frame;\n\tbool frame_overrun;\n\tdma_addr_t desc_list_dma;\n\tstruct dwc2_dma_desc *desc_list;\n\tu8 desc_count;\n\tunsigned int next_desc;\n\tunsigned int compl_desc;\n\tchar name[10];\n};\n\nstruct dwc2_hsotg_plat {\n\tenum dwc2_hsotg_dmamode dma;\n\tunsigned int is_osc: 1;\n\tint phy_type;\n\tint (*phy_init)(struct platform_device *, int);\n\tint (*phy_exit)(struct platform_device *, int);\n};\n\nstruct dwc2_hsotg_req {\n\tstruct usb_request req;\n\tstruct list_head queue;\n\tvoid *saved_req_buf;\n};\n\nstruct dwc2_tt;\n\nstruct dwc2_qh {\n\tstruct dwc2_hsotg *hsotg;\n\tu8 ep_type;\n\tu8 ep_is_in;\n\tu16 maxp;\n\tu16 maxp_mult;\n\tu8 dev_speed;\n\tu8 data_toggle;\n\tu8 ping_state;\n\tu8 do_split;\n\tu8 td_first;\n\tu8 td_last;\n\tu16 host_us;\n\tu16 device_us;\n\tu16 host_interval;\n\tu16 device_interval;\n\tu16 next_active_frame;\n\tu16 start_active_frame;\n\ts16 num_hs_transfers;\n\tstruct dwc2_hs_transfer_time hs_transfers[8];\n\tu32 ls_start_schedule_slice;\n\tu16 ntd;\n\tu8 *dw_align_buf;\n\tdma_addr_t dw_align_buf_dma;\n\tstruct list_head qtd_list;\n\tstruct dwc2_host_chan *channel;\n\tstruct list_head qh_list_entry;\n\tstruct dwc2_dma_desc *desc_list;\n\tdma_addr_t desc_list_dma;\n\tu32 desc_list_sz;\n\tu32 *n_bytes;\n\tstruct timer_list unreserve_timer;\n\tstruct hrtimer wait_timer;\n\tstruct dwc2_tt *dwc_tt;\n\tint ttport;\n\tunsigned int tt_buffer_dirty: 1;\n\tunsigned int unreserve_pending: 1;\n\tunsigned int schedule_low_speed: 1;\n\tunsigned int want_wait: 1;\n\tunsigned int wait_timer_cancel: 1;\n};\n\nstruct dwc2_qtd {\n\tenum dwc2_control_phase control_phase;\n\tu8 in_process;\n\tu8 data_toggle;\n\tu8 complete_split;\n\tu8 isoc_split_pos;\n\tu16 isoc_frame_index;\n\tu16 isoc_split_offset;\n\tu16 isoc_td_last;\n\tu16 isoc_td_first;\n\tu32 ssplit_out_xfer_count;\n\tu8 error_count;\n\tu8 n_desc;\n\tu16 isoc_frame_index_last;\n\tu16 num_naks;\n\tstruct dwc2_hcd_urb *urb;\n\tstruct dwc2_qh *qh;\n\tstruct list_head qtd_list_entry;\n};\n\nstruct usb_tt;\n\nstruct dwc2_tt {\n\tint refcount;\n\tstruct usb_tt *usb_tt;\n\tlong unsigned int periodic_bitmaps[0];\n};\n\nstruct dwc3_ep;\n\nstruct dwc3_trb;\n\nstruct dwc3_request {\n\tstruct usb_request request;\n\tstruct list_head list;\n\tstruct dwc3_ep *dep;\n\tstruct scatterlist *start_sg;\n\tunsigned int num_pending_sgs;\n\tunsigned int remaining;\n\tunsigned int status;\n\tu8 epnum;\n\tstruct dwc3_trb *trb;\n\tdma_addr_t trb_dma;\n\tunsigned int num_trbs;\n\tunsigned int direction: 1;\n\tunsigned int mapped: 1;\n};\n\nstruct dwc3_hwparams {\n\tu32 hwparams0;\n\tu32 hwparams1;\n\tu32 hwparams2;\n\tu32 hwparams3;\n\tu32 hwparams4;\n\tu32 hwparams5;\n\tu32 hwparams6;\n\tu32 hwparams7;\n\tu32 hwparams8;\n\tu32 hwparams9;\n};\n\nstruct dwc3_event_buffer;\n\nstruct dwc3 {\n\tstruct work_struct drd_work;\n\tstruct dwc3_trb *ep0_trb;\n\tvoid *bounce;\n\tu8 *setup_buf;\n\tdma_addr_t ep0_trb_addr;\n\tdma_addr_t bounce_addr;\n\tstruct dwc3_request ep0_usb_req;\n\tstruct completion ep0_in_setup;\n\tspinlock_t lock;\n\tstruct mutex mutex;\n\tstruct device *dev;\n\tstruct device *sysdev;\n\tstruct platform_device *xhci;\n\tstruct resource xhci_resources[2];\n\tstruct dwc3_event_buffer *ev_buf;\n\tstruct dwc3_ep *eps[32];\n\tstruct usb_gadget *gadget;\n\tstruct usb_gadget_driver *gadget_driver;\n\tstruct clk *bus_clk;\n\tstruct clk *ref_clk;\n\tstruct clk *susp_clk;\n\tstruct clk *utmi_clk;\n\tstruct clk *pipe_clk;\n\tstruct reset_control *reset;\n\tstruct usb_phy *usb2_phy;\n\tstruct usb_phy *usb3_phy;\n\tstruct phy *usb2_generic_phy[15];\n\tstruct phy *usb3_generic_phy[4];\n\tu8 num_usb2_ports;\n\tu8 num_usb3_ports;\n\tbool phys_ready;\n\tstruct ulpi *ulpi;\n\tbool ulpi_ready;\n\tvoid *regs;\n\tsize_t regs_size;\n\tenum usb_dr_mode dr_mode;\n\tu32 current_dr_role;\n\tu32 desired_dr_role;\n\tstruct extcon_dev *edev;\n\tstruct notifier_block edev_nb;\n\tenum usb_phy_interface hsphy_mode;\n\tstruct usb_role_switch *role_sw;\n\tenum usb_dr_mode role_switch_default_mode;\n\tstruct power_supply *usb_psy;\n\tu32 fladj;\n\tu32 ref_clk_per;\n\tu32 irq_gadget;\n\tu32 otg_irq;\n\tu32 current_otg_role;\n\tu32 desired_otg_role;\n\tbool otg_restart_host;\n\tu32 u1u2;\n\tu32 maximum_speed;\n\tu32 gadget_max_speed;\n\tenum usb_ssp_rate max_ssp_rate;\n\tenum usb_ssp_rate gadget_ssp_rate;\n\tu32 ip;\n\tu32 revision;\n\tu32 version_type;\n\tenum dwc3_ep0_next ep0_next_event;\n\tenum dwc3_ep0_state ep0state;\n\tenum dwc3_link_state link_state;\n\tu16 u2sel;\n\tu16 u2pel;\n\tu8 u1sel;\n\tu8 u1pel;\n\tu8 speed;\n\tu8 num_eps;\n\tstruct dwc3_hwparams hwparams;\n\tstruct debugfs_regset32 *regset;\n\tu32 dbg_lsp_select;\n\tu8 test_mode;\n\tu8 test_mode_nr;\n\tu8 lpm_nyet_threshold;\n\tu8 hird_threshold;\n\tu8 rx_thr_num_pkt;\n\tu8 rx_max_burst;\n\tu8 tx_thr_num_pkt;\n\tu8 tx_max_burst;\n\tu8 rx_thr_num_pkt_prd;\n\tu8 rx_max_burst_prd;\n\tu8 tx_thr_num_pkt_prd;\n\tu8 tx_max_burst_prd;\n\tu8 tx_fifo_resize_max_num;\n\tu8 clear_stall_protocol;\n\tconst char *hsphy_interface;\n\tunsigned int connected: 1;\n\tunsigned int softconnect: 1;\n\tunsigned int delayed_status: 1;\n\tunsigned int ep0_bounced: 1;\n\tunsigned int ep0_expect_in: 1;\n\tunsigned int sysdev_is_parent: 1;\n\tunsigned int has_lpm_erratum: 1;\n\tunsigned int is_utmi_l1_suspend: 1;\n\tunsigned int is_fpga: 1;\n\tunsigned int pending_events: 1;\n\tunsigned int do_fifo_resize: 1;\n\tunsigned int pullups_connected: 1;\n\tunsigned int setup_packet_pending: 1;\n\tunsigned int three_stage_setup: 1;\n\tunsigned int dis_start_transfer_quirk: 1;\n\tunsigned int usb3_lpm_capable: 1;\n\tunsigned int usb2_lpm_disable: 1;\n\tunsigned int usb2_gadget_lpm_disable: 1;\n\tunsigned int disable_scramble_quirk: 1;\n\tunsigned int u2exit_lfps_quirk: 1;\n\tunsigned int u2ss_inp3_quirk: 1;\n\tunsigned int req_p1p2p3_quirk: 1;\n\tunsigned int del_p1p2p3_quirk: 1;\n\tunsigned int del_phy_power_chg_quirk: 1;\n\tunsigned int lfps_filter_quirk: 1;\n\tunsigned int rx_detect_poll_quirk: 1;\n\tunsigned int dis_u3_susphy_quirk: 1;\n\tunsigned int dis_u2_susphy_quirk: 1;\n\tunsigned int dis_enblslpm_quirk: 1;\n\tunsigned int dis_u1_entry_quirk: 1;\n\tunsigned int dis_u2_entry_quirk: 1;\n\tunsigned int dis_rxdet_inp3_quirk: 1;\n\tunsigned int dis_u2_freeclk_exists_quirk: 1;\n\tunsigned int dis_del_phy_power_chg_quirk: 1;\n\tunsigned int dis_tx_ipgap_linecheck_quirk: 1;\n\tunsigned int resume_hs_terminations: 1;\n\tunsigned int ulpi_ext_vbus_drv: 1;\n\tunsigned int parkmode_disable_ss_quirk: 1;\n\tunsigned int parkmode_disable_hs_quirk: 1;\n\tunsigned int gfladj_refclk_lpm_sel: 1;\n\tunsigned int tx_de_emphasis_quirk: 1;\n\tunsigned int tx_de_emphasis: 2;\n\tunsigned int dis_metastability_quirk: 1;\n\tunsigned int dis_split_quirk: 1;\n\tunsigned int async_callbacks: 1;\n\tunsigned int sys_wakeup: 1;\n\tunsigned int wakeup_configured: 1;\n\tunsigned int suspended: 1;\n\tunsigned int susphy_state: 1;\n\tu16 imod_interval;\n\tint max_cfg_eps;\n\tint last_fifo_depth;\n\tint num_ep_resized;\n\tstruct dentry *debug_root;\n\tu32 gsbuscfg0_reqinfo;\n};\n\nstruct dwc3_am62 {\n\tstruct device *dev;\n\tvoid *usbss;\n\tstruct clk *usb2_refclk;\n\tint rate_code;\n\tstruct regmap *syscon;\n\tunsigned int offset;\n\tunsigned int vbus_divider;\n\tu32 wakeup_stat;\n\tvoid *phy_regs;\n};\n\nstruct dwc3_ep {\n\tstruct usb_ep endpoint;\n\tstruct delayed_work nostream_work;\n\tstruct list_head cancelled_list;\n\tstruct list_head pending_list;\n\tstruct list_head started_list;\n\tvoid *regs;\n\tstruct dwc3_trb *trb_pool;\n\tdma_addr_t trb_pool_dma;\n\tstruct dwc3 *dwc;\n\tu32 saved_state;\n\tunsigned int flags;\n\tu8 trb_enqueue;\n\tu8 trb_dequeue;\n\tu8 number;\n\tu8 type;\n\tu8 resource_index;\n\tu32 frame_number;\n\tu32 interval;\n\tchar name[20];\n\tunsigned int direction: 1;\n\tunsigned int stream_capable: 1;\n\tu8 combo_num;\n\tint start_cmd_status;\n};\n\nstruct dwc3_ep_file_map {\n\tconst char name[25];\n\tconst struct file_operations * const fops;\n};\n\nstruct dwc3_event_type {\n\tu32 is_devspec: 1;\n\tu32 type: 7;\n\tu32 reserved8_31: 24;\n};\n\nstruct dwc3_event_depevt {\n\tu32 one_bit: 1;\n\tu32 endpoint_number: 5;\n\tu32 endpoint_event: 4;\n\tu32 reserved11_10: 2;\n\tu32 status: 4;\n\tu32 parameters: 16;\n};\n\nstruct dwc3_event_devt {\n\tu32 one_bit: 1;\n\tu32 device_event: 7;\n\tu32 type: 4;\n\tu32 reserved15_12: 4;\n\tu32 event_info: 9;\n\tu32 reserved31_25: 7;\n};\n\nstruct dwc3_event_gevt {\n\tu32 one_bit: 1;\n\tu32 device_event: 7;\n\tu32 phy_port_number: 4;\n\tu32 reserved31_12: 20;\n};\n\nunion dwc3_event {\n\tu32 raw;\n\tstruct dwc3_event_type type;\n\tstruct dwc3_event_depevt depevt;\n\tstruct dwc3_event_devt devt;\n\tstruct dwc3_event_gevt gevt;\n};\n\nstruct dwc3_event_buffer {\n\tvoid *buf;\n\tvoid *cache;\n\tunsigned int length;\n\tunsigned int lpos;\n\tunsigned int count;\n\tunsigned int flags;\n\tdma_addr_t dma;\n\tstruct dwc3 *dwc;\n};\n\nstruct dwc3_exynos {\n\tstruct device *dev;\n\tconst char **clk_names;\n\tstruct clk *clks[4];\n\tint num_clks;\n\tint suspend_clk_idx;\n\tstruct regulator *vdd33;\n\tstruct regulator *vdd10;\n};\n\nstruct dwc3_exynos_driverdata {\n\tconst char *clk_names[4];\n\tint num_clks;\n\tint suspend_clk_idx;\n};\n\nstruct dwc3_gadget_ep_cmd_params {\n\tu32 param2;\n\tu32 param1;\n\tu32 param0;\n};\n\nstruct dwc3_haps {\n\tstruct platform_device *dwc3;\n\tstruct pci_dev *pci;\n};\n\nstruct dwc3_imx8mp {\n\tstruct device *dev;\n\tstruct platform_device *dwc3;\n\tvoid *hsio_blk_base;\n\tvoid *glue_base;\n\tstruct clk *hsio_clk;\n\tstruct clk *suspend_clk;\n\tint irq;\n\tbool pm_suspended;\n\tbool wakeup_pending;\n};\n\nstruct dwc3_keystone {\n\tstruct device *dev;\n\tvoid *usbss;\n\tstruct phy *usb3_phy;\n};\n\ntypedef int (*usb_role_switch_set_t)(struct usb_role_switch *, enum usb_role);\n\ntypedef enum usb_role (*usb_role_switch_get_t)(struct usb_role_switch *);\n\nstruct usb_role_switch_desc {\n\tstruct fwnode_handle *fwnode;\n\tstruct device *usb2_port;\n\tstruct device *usb3_port;\n\tstruct device *udc;\n\tusb_role_switch_set_t set;\n\tusb_role_switch_get_t get;\n\tbool allow_userspace_control;\n\tvoid *driver_data;\n\tconst char *name;\n};\n\nstruct dwc3_meson_g12a_drvdata;\n\nstruct dwc3_meson_g12a {\n\tstruct device *dev;\n\tstruct regmap *u2p_regmap[3];\n\tstruct regmap *usb_glue_regmap;\n\tstruct reset_control *reset;\n\tstruct phy *phys[3];\n\tenum usb_dr_mode otg_mode;\n\tenum phy_mode otg_phy_mode;\n\tunsigned int usb2_ports;\n\tunsigned int usb3_ports;\n\tstruct regulator *vbus;\n\tstruct usb_role_switch_desc switch_desc;\n\tstruct usb_role_switch *role_switch;\n\tconst struct dwc3_meson_g12a_drvdata *drvdata;\n};\n\nstruct dwc3_meson_g12a_drvdata {\n\tbool otg_phy_host_port_disable;\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tconst char * const *phy_names;\n\tint num_phys;\n\tint (*setup_regmaps)(struct dwc3_meson_g12a *, void *);\n\tint (*usb2_init_phy)(struct dwc3_meson_g12a *, int, enum phy_mode);\n\tint (*set_phy_mode)(struct dwc3_meson_g12a *, int, enum phy_mode);\n\tint (*usb_init)(struct dwc3_meson_g12a *);\n\tint (*usb_post_init)(struct dwc3_meson_g12a *);\n};\n\nstruct dwc3_of_simple {\n\tstruct device *dev;\n\tstruct clk_bulk_data *clks;\n\tint num_clocks;\n\tstruct reset_control *resets;\n\tbool need_reset;\n};\n\nstruct dwc3_pci {\n\tstruct platform_device *dwc3;\n\tstruct pci_dev *pci;\n\tguid_t guid;\n\tunsigned int has_dsm_for_pm: 1;\n\tstruct work_struct wakeup_work;\n};\n\nstruct dwc3_qcom_port {\n\tint qusb2_phy_irq;\n\tint dp_hs_phy_irq;\n\tint dm_hs_phy_irq;\n\tint ss_phy_irq;\n\tenum usb_device_speed usb2_speed;\n};\n\nstruct icc_path;\n\nstruct dwc3_qcom {\n\tstruct device *dev;\n\tvoid *qscratch_base;\n\tstruct platform_device *dwc3;\n\tstruct clk **clks;\n\tint num_clocks;\n\tstruct reset_control *resets;\n\tstruct dwc3_qcom_port ports[4];\n\tu8 num_ports;\n\tstruct extcon_dev *edev;\n\tstruct extcon_dev *host_edev;\n\tstruct notifier_block vbus_nb;\n\tstruct notifier_block host_nb;\n\tenum usb_dr_mode mode;\n\tbool is_suspended;\n\tbool pm_suspended;\n\tstruct icc_path *icc_path_ddr;\n\tstruct icc_path *icc_path_apps;\n};\n\nstruct dwc3_rtk {\n\tstruct device *dev;\n\tvoid *regs;\n\tsize_t regs_size;\n\tvoid *pm_base;\n\tstruct dwc3 *dwc;\n\tenum usb_role cur_role;\n\tstruct usb_role_switch *role_switch;\n};\n\nstruct dwc3_trb {\n\tu32 bpl;\n\tu32 bph;\n\tu32 size;\n\tu32 ctrl;\n};\n\nstruct dwc3_xlnx {\n\tint num_clocks;\n\tstruct clk_bulk_data *clks;\n\tstruct device *dev;\n\tvoid *regs;\n\tint (*pltfm_init)(struct dwc3_xlnx *);\n\tstruct phy *usb3_phy;\n};\n\nstruct sdhci_pltfm_data {\n\tconst struct sdhci_ops *ops;\n\tunsigned int quirks;\n\tunsigned int quirks2;\n};\n\nstruct dwcmshc_priv;\n\nstruct dwcmshc_pltfm_data {\n\tconst struct sdhci_pltfm_data pdata;\n\tint (*init)(struct device *, struct sdhci_host *, struct dwcmshc_priv *);\n\tvoid (*postinit)(struct sdhci_host *, struct dwcmshc_priv *);\n};\n\nstruct dwcmshc_priv {\n\tstruct clk *bus_clk;\n\tint vendor_specific_area1;\n\tint vendor_specific_area2;\n\tint num_other_clks;\n\tstruct clk_bulk_data other_clks[3];\n\tvoid *priv;\n\tu16 delay_line;\n\tu16 flags;\n};\n\nstruct dx_countlimit {\n\t__le16 limit;\n\t__le16 count;\n};\n\nstruct dx_entry {\n\t__le32 hash;\n\t__le32 block;\n};\n\nstruct dx_frame {\n\tstruct buffer_head *bh;\n\tstruct dx_entry *entries;\n\tstruct dx_entry *at;\n};\n\nstruct dx_hash_info {\n\tu32 hash;\n\tu32 minor_hash;\n\tint hash_version;\n\tu32 *seed;\n};\n\nstruct dx_map_entry {\n\tu32 hash;\n\tu16 offs;\n\tu16 size;\n};\n\nstruct fake_dirent {\n\t__le32 inode;\n\t__le16 rec_len;\n\tu8 name_len;\n\tu8 file_type;\n};\n\nstruct dx_node {\n\tstruct fake_dirent fake;\n\tstruct dx_entry entries[0];\n};\n\nstruct dx_root_info {\n\t__le32 reserved_zero;\n\tu8 hash_version;\n\tu8 info_length;\n\tu8 indirect_levels;\n\tu8 unused_flags;\n};\n\nstruct dx_root {\n\tstruct fake_dirent dot;\n\tchar dot_name[4];\n\tstruct fake_dirent dotdot;\n\tchar dotdot_name[4];\n\tstruct dx_root_info info;\n\tstruct dx_entry entries[0];\n};\n\nstruct dx_tail {\n\tu32 dt_reserved;\n\t__le32 dt_checksum;\n};\n\nstruct dyn_event_operations;\n\nstruct dyn_event {\n\tstruct list_head list;\n\tstruct dyn_event_operations *ops;\n};\n\nstruct dyn_event_operations {\n\tstruct list_head list;\n\tint (*create)(const char *);\n\tint (*show)(struct seq_file *, struct dyn_event *);\n\tbool (*is_busy)(struct dyn_event *);\n\tint (*free)(struct dyn_event *);\n\tbool (*match)(const char *, const char *, int, const char **, struct dyn_event *);\n};\n\nstruct dynevent_arg {\n\tconst char *str;\n\tchar separator;\n};\n\nstruct dynevent_arg_pair {\n\tconst char *lhs;\n\tconst char *rhs;\n\tchar operator;\n\tchar separator;\n};\n\nstruct seq_buf {\n\tchar *buffer;\n\tsize_t size;\n\tsize_t len;\n};\n\nstruct dynevent_cmd;\n\ntypedef int (*dynevent_create_fn_t)(struct dynevent_cmd *);\n\nstruct dynevent_cmd {\n\tstruct seq_buf seq;\n\tconst char *event_name;\n\tunsigned int n_fields;\n\tenum dynevent_type type;\n\tdynevent_create_fn_t run_command;\n\tvoid *private_data;\n};\n\nstruct e1000_eeprom_info {\n\te1000_eeprom_type type;\n\tu16 word_size;\n\tu16 opcode_bits;\n\tu16 address_bits;\n\tu16 delay_usec;\n\tu16 page_size;\n};\n\nstruct e1000_host_mng_dhcp_cookie {\n\tu32 signature;\n\tu8 status;\n\tu8 reserved0;\n\tu16 vlan_id;\n\tu32 reserved1;\n\tu16 reserved2;\n\tu8 reserved3;\n\tu8 checksum;\n};\n\nstruct e1000_shadow_ram;\n\nstruct e1000_hw {\n\tu8 *hw_addr;\n\tu8 *flash_address;\n\tvoid *ce4100_gbe_mdio_base_virt;\n\te1000_mac_type mac_type;\n\te1000_phy_type phy_type;\n\tu32 phy_init_script;\n\te1000_media_type media_type;\n\tvoid *back;\n\tstruct e1000_shadow_ram *eeprom_shadow_ram;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\te1000_fc_type fc;\n\te1000_bus_speed bus_speed;\n\te1000_bus_width bus_width;\n\te1000_bus_type bus_type;\n\tstruct e1000_eeprom_info eeprom;\n\te1000_ms_type master_slave;\n\te1000_ms_type original_master_slave;\n\te1000_ffe_config ffe_config_state;\n\tu32 asf_firmware_present;\n\tu32 eeprom_semaphore_present;\n\tlong unsigned int io_base;\n\tu32 phy_id;\n\tu32 phy_revision;\n\tu32 phy_addr;\n\tu32 original_fc;\n\tu32 txcw;\n\tu32 autoneg_failed;\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tu32 mc_filter_type;\n\tu32 num_mc_addrs;\n\tu32 collision_delta;\n\tu32 tx_packet_delta;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tbool tx_pkt_filtering;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tu16 phy_spd_default;\n\tu16 autoneg_advertised;\n\tu16 pci_cmd_word;\n\tu16 fc_high_water;\n\tu16 fc_low_water;\n\tu16 fc_pause_time;\n\tu16 current_ifs_val;\n\tu16 ifs_min_val;\n\tu16 ifs_max_val;\n\tu16 ifs_step_size;\n\tu16 ifs_ratio;\n\tu16 device_id;\n\tu16 vendor_id;\n\tu16 subsystem_id;\n\tu16 subsystem_vendor_id;\n\tu8 revision_id;\n\tu8 autoneg;\n\tu8 mdix;\n\tu8 forced_speed_duplex;\n\tu8 wait_autoneg_complete;\n\tu8 dma_fairness;\n\tu8 mac_addr[6];\n\tu8 perm_mac_addr[6];\n\tbool disable_polarity_correction;\n\tbool speed_downgraded;\n\te1000_smart_speed smart_speed;\n\te1000_dsp_config dsp_config_state;\n\tbool get_link_status;\n\tbool serdes_has_link;\n\tbool tbi_compatibility_en;\n\tbool tbi_compatibility_on;\n\tbool laa_is_present;\n\tbool phy_reset_disable;\n\tbool initialize_hw_bits_disable;\n\tbool fc_send_xon;\n\tbool fc_strict_ieee;\n\tbool report_tx_early;\n\tbool adaptive_ifs;\n\tbool ifs_params_forced;\n\tbool in_ifs_mode;\n\tbool mng_reg_access_disabled;\n\tbool leave_av_bit_off;\n\tbool bad_tx_carr_stats_fd;\n\tbool has_smbus;\n};\n\nstruct e1000_hw_stats {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 txerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorcl;\n\tu64 gorch;\n\tu64 gotcl;\n\tu64 gotch;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rlerrc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 torl;\n\tu64 torh;\n\tu64 totl;\n\tu64 toth;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n};\n\nstruct e1000_phy_info {\n\te1000_cable_length cable_length;\n\te1000_10bt_ext_dist_enable extended_10bt_distance;\n\te1000_rev_polarity cable_polarity;\n\te1000_downshift downshift;\n\te1000_polarity_reversal polarity_correction;\n\te1000_auto_x_mode mdix_mode;\n\te1000_1000t_rx_status local_rx;\n\te1000_1000t_rx_status remote_rx;\n};\n\nstruct e1000_phy_stats {\n\tu32 idle_errors;\n\tu32 receive_errors;\n};\n\nstruct e1000_tx_buffer;\n\nstruct e1000_tx_ring {\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tunsigned int next_to_use;\n\tunsigned int next_to_clean;\n\tstruct e1000_tx_buffer *buffer_info;\n\tu16 tdh;\n\tu16 tdt;\n\tbool last_tx_tso;\n};\n\nstruct e1000_rx_buffer;\n\nstruct e1000_rx_ring {\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tunsigned int next_to_use;\n\tunsigned int next_to_clean;\n\tstruct e1000_rx_buffer *buffer_info;\n\tstruct sk_buff *rx_skb_top;\n\tint cpu;\n\tu16 rdh;\n\tu16 rdt;\n};\n\nstruct e1000_adapter {\n\tlong unsigned int active_vlans[64];\n\tu16 mng_vlan_id;\n\tu32 bd_number;\n\tu32 rx_buffer_len;\n\tu32 wol;\n\tu32 smartspeed;\n\tu32 en_mng_pt;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tspinlock_t stats_lock;\n\tunsigned int total_tx_bytes;\n\tunsigned int total_tx_packets;\n\tunsigned int total_rx_bytes;\n\tunsigned int total_rx_packets;\n\tu32 itr;\n\tu32 itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tu8 fc_autoneg;\n\tstruct e1000_tx_ring *tx_ring;\n\tunsigned int restart_queue;\n\tu32 txd_cmd;\n\tu32 tx_int_delay;\n\tu32 tx_abs_int_delay;\n\tu32 gotcl;\n\tu64 gotcl_old;\n\tu64 tpt_old;\n\tu64 colc_old;\n\tu32 tx_timeout_count;\n\tu32 tx_fifo_head;\n\tu32 tx_head_addr;\n\tu32 tx_fifo_size;\n\tu8 tx_timeout_factor;\n\tatomic_t tx_fifo_stall;\n\tbool pcix_82544;\n\tbool detect_tx_hung;\n\tbool dump_buffers;\n\tbool (*clean_rx)(struct e1000_adapter *, struct e1000_rx_ring *, int *, int);\n\tvoid (*alloc_rx_buf)(struct e1000_adapter *, struct e1000_rx_ring *, int);\n\tstruct e1000_rx_ring *rx_ring;\n\tstruct napi_struct napi;\n\tint num_tx_queues;\n\tint num_rx_queues;\n\tu64 hw_csum_err;\n\tu64 hw_csum_good;\n\tu32 alloc_rx_buff_failed;\n\tu32 rx_int_delay;\n\tu32 rx_abs_int_delay;\n\tbool rx_csum;\n\tu32 gorcl;\n\tu64 gorcl_old;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tstruct e1000_hw hw;\n\tstruct e1000_hw_stats stats;\n\tstruct e1000_phy_info phy_info;\n\tstruct e1000_phy_stats phy_stats;\n\tu32 test_icr;\n\tstruct e1000_tx_ring test_tx_ring;\n\tstruct e1000_rx_ring test_rx_ring;\n\tint msg_enable;\n\tbool tso_force;\n\tbool smart_power_down;\n\tbool quad_port_a;\n\tlong unsigned int flags;\n\tu32 eeprom_wol;\n\tint bars;\n\tint need_ioport;\n\tbool discarding;\n\tstruct work_struct reset_task;\n\tstruct delayed_work watchdog_task;\n\tstruct delayed_work fifo_stall_task;\n\tstruct delayed_work phy_info_task;\n};\n\nstruct e1000_hw___2;\n\nstruct e1000_mac_operations {\n\ts32 (*id_led_init)(struct e1000_hw___2 *);\n\ts32 (*blink_led)(struct e1000_hw___2 *);\n\tbool (*check_mng_mode)(struct e1000_hw___2 *);\n\ts32 (*check_for_link)(struct e1000_hw___2 *);\n\ts32 (*cleanup_led)(struct e1000_hw___2 *);\n\tvoid (*clear_hw_cntrs)(struct e1000_hw___2 *);\n\tvoid (*clear_vfta)(struct e1000_hw___2 *);\n\ts32 (*get_bus_info)(struct e1000_hw___2 *);\n\tvoid (*set_lan_id)(struct e1000_hw___2 *);\n\ts32 (*get_link_up_info)(struct e1000_hw___2 *, u16 *, u16 *);\n\ts32 (*led_on)(struct e1000_hw___2 *);\n\ts32 (*led_off)(struct e1000_hw___2 *);\n\tvoid (*update_mc_addr_list)(struct e1000_hw___2 *, u8 *, u32);\n\ts32 (*reset_hw)(struct e1000_hw___2 *);\n\ts32 (*init_hw)(struct e1000_hw___2 *);\n\ts32 (*setup_link)(struct e1000_hw___2 *);\n\ts32 (*setup_physical_interface)(struct e1000_hw___2 *);\n\ts32 (*setup_led)(struct e1000_hw___2 *);\n\tvoid (*write_vfta)(struct e1000_hw___2 *, u32, u32);\n\tvoid (*config_collision_dist)(struct e1000_hw___2 *);\n\tint (*rar_set)(struct e1000_hw___2 *, u8 *, u32);\n\ts32 (*read_mac_addr)(struct e1000_hw___2 *);\n\tu32 (*rar_get_count)(struct e1000_hw___2 *);\n};\n\nstruct e1000_mac_info {\n\tstruct e1000_mac_operations ops;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tenum e1000_mac_type___2 type;\n\tu32 collision_delta;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tu32 mc_filter_type;\n\tu32 tx_packet_delta;\n\tu32 txcw;\n\tu16 current_ifs_val;\n\tu16 ifs_max_val;\n\tu16 ifs_min_val;\n\tu16 ifs_ratio;\n\tu16 ifs_step_size;\n\tu16 mta_reg_count;\n\tu32 mta_shadow[128];\n\tu16 rar_entry_count;\n\tu8 forced_speed_duplex;\n\tbool adaptive_ifs;\n\tbool has_fwsm;\n\tbool arc_subsystem_valid;\n\tbool autoneg;\n\tbool autoneg_failed;\n\tbool get_link_status;\n\tbool in_ifs_mode;\n\tbool serdes_has_link;\n\tbool tx_pkt_filtering;\n\tenum e1000_serdes_link_state serdes_link_state;\n};\n\nstruct e1000_fc_info {\n\tu32 high_water;\n\tu32 low_water;\n\tu16 pause_time;\n\tu16 refresh_time;\n\tbool send_xon;\n\tbool strict_ieee;\n\tenum e1000_fc_mode current_mode;\n\tenum e1000_fc_mode requested_mode;\n};\n\nstruct e1000_phy_operations {\n\ts32 (*acquire)(struct e1000_hw___2 *);\n\ts32 (*cfg_on_link_up)(struct e1000_hw___2 *);\n\ts32 (*check_polarity)(struct e1000_hw___2 *);\n\ts32 (*check_reset_block)(struct e1000_hw___2 *);\n\ts32 (*commit)(struct e1000_hw___2 *);\n\ts32 (*force_speed_duplex)(struct e1000_hw___2 *);\n\ts32 (*get_cfg_done)(struct e1000_hw___2 *);\n\ts32 (*get_cable_length)(struct e1000_hw___2 *);\n\ts32 (*get_info)(struct e1000_hw___2 *);\n\ts32 (*set_page)(struct e1000_hw___2 *, u16);\n\ts32 (*read_reg)(struct e1000_hw___2 *, u32, u16 *);\n\ts32 (*read_reg_locked)(struct e1000_hw___2 *, u32, u16 *);\n\ts32 (*read_reg_page)(struct e1000_hw___2 *, u32, u16 *);\n\tvoid (*release)(struct e1000_hw___2 *);\n\ts32 (*reset)(struct e1000_hw___2 *);\n\ts32 (*set_d0_lplu_state)(struct e1000_hw___2 *, bool);\n\ts32 (*set_d3_lplu_state)(struct e1000_hw___2 *, bool);\n\ts32 (*write_reg)(struct e1000_hw___2 *, u32, u16);\n\ts32 (*write_reg_locked)(struct e1000_hw___2 *, u32, u16);\n\ts32 (*write_reg_page)(struct e1000_hw___2 *, u32, u16);\n\tvoid (*power_up)(struct e1000_hw___2 *);\n\tvoid (*power_down)(struct e1000_hw___2 *);\n};\n\nstruct e1000_phy_info___2 {\n\tstruct e1000_phy_operations ops;\n\tenum e1000_phy_type type;\n\tenum e1000_1000t_rx_status local_rx;\n\tenum e1000_1000t_rx_status remote_rx;\n\tenum e1000_ms_type ms_type;\n\tenum e1000_ms_type original_ms_type;\n\tenum e1000_rev_polarity cable_polarity;\n\tenum e1000_smart_speed smart_speed;\n\tu32 addr;\n\tu32 id;\n\tu32 reset_delay_us;\n\tu32 revision;\n\tu32 retry_count;\n\tenum e1000_media_type media_type;\n\tu16 autoneg_advertised;\n\tu16 autoneg_mask;\n\tu16 cable_length;\n\tu16 max_cable_length;\n\tu16 min_cable_length;\n\tu8 mdix;\n\tbool disable_polarity_correction;\n\tbool is_mdix;\n\tbool polarity_correction;\n\tbool speed_downgraded;\n\tbool autoneg_wait_to_complete;\n\tbool retry_enabled;\n};\n\nstruct e1000_nvm_operations {\n\ts32 (*acquire)(struct e1000_hw___2 *);\n\ts32 (*read)(struct e1000_hw___2 *, u16, u16, u16 *);\n\tvoid (*release)(struct e1000_hw___2 *);\n\tvoid (*reload)(struct e1000_hw___2 *);\n\ts32 (*update)(struct e1000_hw___2 *);\n\ts32 (*valid_led_default)(struct e1000_hw___2 *, u16 *);\n\ts32 (*validate)(struct e1000_hw___2 *);\n\ts32 (*write)(struct e1000_hw___2 *, u16, u16, u16 *);\n};\n\nstruct e1000_nvm_info {\n\tstruct e1000_nvm_operations ops;\n\tenum e1000_nvm_type___2 type;\n\tenum e1000_nvm_override override;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\tu16 word_size;\n\tu16 delay_usec;\n\tu16 address_bits;\n\tu16 opcode_bits;\n\tu16 page_size;\n};\n\nstruct e1000_bus_info {\n\tenum e1000_bus_width width;\n\tu16 func;\n};\n\nstruct e1000_dev_spec_82571 {\n\tbool laa_is_present;\n\tu32 smb_counter;\n};\n\nstruct e1000_dev_spec_80003es2lan {\n\tbool mdic_wa_enable;\n};\n\nstruct e1000_shadow_ram___2 {\n\tu16 value;\n\tbool modified;\n};\n\nstruct e1000_dev_spec_ich8lan {\n\tbool kmrn_lock_loss_workaround_enabled;\n\tstruct e1000_shadow_ram___2 shadow_ram[2048];\n\tbool nvm_k1_enabled;\n\tbool eee_disable;\n\tu16 eee_lp_ability;\n\tenum e1000_ulp_state ulp_state;\n};\n\nstruct e1000_adapter___2;\n\nstruct e1000_hw___2 {\n\tstruct e1000_adapter___2 *adapter;\n\tvoid *hw_addr;\n\tvoid *flash_address;\n\tstruct e1000_mac_info mac;\n\tstruct e1000_fc_info fc;\n\tstruct e1000_phy_info___2 phy;\n\tstruct e1000_nvm_info nvm;\n\tstruct e1000_bus_info bus;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tunion {\n\t\tstruct e1000_dev_spec_82571 e82571;\n\t\tstruct e1000_dev_spec_80003es2lan e80003es2lan;\n\t\tstruct e1000_dev_spec_ich8lan ich8lan;\n\t} dev_spec;\n};\n\nstruct e1000_hw_stats___2 {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 tor;\n\tu64 tot;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n};\n\nstruct e1000_phy_regs {\n\tu16 bmcr;\n\tu16 bmsr;\n\tu16 advertise;\n\tu16 lpa;\n\tu16 expansion;\n\tu16 ctrl1000;\n\tu16 stat1000;\n\tu16 estatus;\n};\n\nstruct e1000_buffer;\n\nstruct e1000_ring {\n\tstruct e1000_adapter___2 *adapter;\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tu16 next_to_use;\n\tu16 next_to_clean;\n\tvoid *head;\n\tvoid *tail;\n\tstruct e1000_buffer *buffer_info;\n\tchar name[21];\n\tu32 ims_val;\n\tu32 itr_val;\n\tvoid *itr_register;\n\tint set_itr;\n\tstruct sk_buff *rx_skb_top;\n};\n\nstruct hwtstamp_config {\n\tint flags;\n\tint tx_type;\n\tint rx_filter;\n};\n\nstruct ptp_pin_desc;\n\nstruct ptp_system_timestamp;\n\nstruct system_device_crosststamp;\n\nstruct ptp_clock_request;\n\nstruct ptp_clock_info {\n\tstruct module *owner;\n\tchar name[32];\n\ts32 max_adj;\n\tint n_alarm;\n\tint n_ext_ts;\n\tint n_per_out;\n\tint n_pins;\n\tint pps;\n\tstruct ptp_pin_desc *pin_config;\n\tint (*adjfine)(struct ptp_clock_info *, long int);\n\tint (*adjphase)(struct ptp_clock_info *, s32);\n\ts32 (*getmaxphase)(struct ptp_clock_info *);\n\tint (*adjtime)(struct ptp_clock_info *, s64);\n\tint (*gettime64)(struct ptp_clock_info *, struct timespec64 *);\n\tint (*gettimex64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *);\n\tint (*getcrosststamp)(struct ptp_clock_info *, struct system_device_crosststamp *);\n\tint (*settime64)(struct ptp_clock_info *, const struct timespec64 *);\n\tint (*getcycles64)(struct ptp_clock_info *, struct timespec64 *);\n\tint (*getcyclesx64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *);\n\tint (*getcrosscycles)(struct ptp_clock_info *, struct system_device_crosststamp *);\n\tint (*enable)(struct ptp_clock_info *, struct ptp_clock_request *, int);\n\tint (*verify)(struct ptp_clock_info *, unsigned int, enum ptp_pin_function, unsigned int);\n\tlong int (*do_aux_work)(struct ptp_clock_info *);\n};\n\nstruct e1000_info;\n\nstruct msix_entry;\n\nstruct ptp_clock;\n\nstruct e1000_adapter___2 {\n\tstruct timer_list watchdog_timer;\n\tstruct timer_list phy_info_timer;\n\tstruct timer_list blink_timer;\n\tstruct work_struct reset_task;\n\tstruct work_struct watchdog_task;\n\tconst struct e1000_info *ei;\n\tlong unsigned int active_vlans[64];\n\tu32 bd_number;\n\tu32 rx_buffer_len;\n\tu16 mng_vlan_id;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tu16 eeprom_vers;\n\tlong unsigned int state;\n\tu32 itr;\n\tu32 itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct e1000_ring *tx_ring;\n\tu32 tx_fifo_limit;\n\tstruct napi_struct napi;\n\tunsigned int uncorr_errors;\n\tunsigned int corr_errors;\n\tunsigned int restart_queue;\n\tu32 txd_cmd;\n\tbool detect_tx_hung;\n\tbool tx_hang_recheck;\n\tu8 tx_timeout_factor;\n\tu32 tx_int_delay;\n\tu32 tx_abs_int_delay;\n\tunsigned int total_tx_bytes;\n\tunsigned int total_tx_packets;\n\tunsigned int total_rx_bytes;\n\tunsigned int total_rx_packets;\n\tu64 tpt_old;\n\tu64 colc_old;\n\tu32 gotc;\n\tu64 gotc_old;\n\tu32 tx_timeout_count;\n\tu32 tx_fifo_head;\n\tu32 tx_head_addr;\n\tu32 tx_fifo_size;\n\tu32 tx_dma_failed;\n\tu32 tx_hwtstamp_timeouts;\n\tu32 tx_hwtstamp_skipped;\n\tlong: 64;\n\tlong: 64;\n\tbool (*clean_rx)(struct e1000_ring *, int *, int);\n\tvoid (*alloc_rx_buf)(struct e1000_ring *, int, gfp_t);\n\tstruct e1000_ring *rx_ring;\n\tu32 rx_int_delay;\n\tu32 rx_abs_int_delay;\n\tu64 hw_csum_err;\n\tu64 hw_csum_good;\n\tu64 rx_hdr_split;\n\tu32 gorc;\n\tu64 gorc_old;\n\tu32 alloc_rx_buff_failed;\n\tu32 rx_dma_failed;\n\tu32 rx_hwtstamp_cleared;\n\tunsigned int rx_ps_pages;\n\tu16 rx_ps_bsize0;\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tstruct e1000_hw___2 hw;\n\tspinlock_t stats64_lock;\n\tstruct e1000_hw_stats___2 stats;\n\tstruct e1000_phy_info___2 phy_info;\n\tstruct e1000_phy_stats phy_stats;\n\tstruct e1000_phy_regs phy_regs;\n\tstruct e1000_ring test_tx_ring;\n\tstruct e1000_ring test_rx_ring;\n\tu32 test_icr;\n\tu32 msg_enable;\n\tunsigned int num_vectors;\n\tstruct msix_entry *msix_entries;\n\tint int_mode;\n\tu32 eiac_mask;\n\tu32 eeprom_wol;\n\tu32 wol;\n\tu32 pba;\n\tu32 max_hw_frame_size;\n\tbool fc_autoneg;\n\tunsigned int flags;\n\tunsigned int flags2;\n\tstruct work_struct downshift_task;\n\tstruct work_struct update_phy_task;\n\tstruct work_struct print_hang_task;\n\tint phy_hang_count;\n\tu16 tx_ring_count;\n\tu16 rx_ring_count;\n\tstruct hwtstamp_config hwtstamp_config;\n\tstruct delayed_work systim_overflow_work;\n\tstruct sk_buff *tx_hwtstamp_skb;\n\tlong unsigned int tx_hwtstamp_start;\n\tstruct work_struct tx_hwtstamp_work;\n\tspinlock_t systim_lock;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct pm_qos_request pm_qos_req;\n\tlong int ptp_delta;\n\tu16 eee_advert;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion e1000_adv_rx_desc {\n\tstruct {\n\t\t__le64 pkt_addr;\n\t\t__le64 hdr_addr;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\tstruct {\n\t\t\t\t__le16 pkt_info;\n\t\t\t\t__le16 hdr_info;\n\t\t\t} lo_dword;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nunion e1000_adv_rx_desc___2 {\n\tstruct {\n\t\t__le64 pkt_addr;\n\t\t__le64 hdr_addr;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\t__le32 data;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 pkt_info;\n\t\t\t\t\t__le16 hdr_info;\n\t\t\t\t} hs_rss;\n\t\t\t} lo_dword;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nstruct e1000_adv_tx_context_desc {\n\t__le32 vlan_macip_lens;\n\t__le32 seqnum_seed;\n\t__le32 type_tucmd_mlhl;\n\t__le32 mss_l4len_idx;\n};\n\nunion e1000_adv_tx_desc {\n\tstruct {\n\t\t__le64 buffer_addr;\n\t\t__le32 cmd_type_len;\n\t\t__le32 olinfo_status;\n\t} read;\n\tstruct {\n\t\t__le64 rsvd;\n\t\t__le32 nxtseq_seed;\n\t\t__le32 status;\n\t} wb;\n};\n\nstruct e1000_ps_page;\n\nstruct e1000_buffer {\n\tdma_addr_t dma;\n\tstruct sk_buff *skb;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int time_stamp;\n\t\t\tu16 length;\n\t\t\tu16 next_to_watch;\n\t\t\tunsigned int segs;\n\t\t\tunsigned int bytecount;\n\t\t\tu16 mapped_as_page;\n\t\t};\n\t\tstruct {\n\t\t\tstruct e1000_ps_page *ps_pages;\n\t\t\tstruct page *page;\n\t\t};\n\t};\n};\n\nstruct e1000_bus_info___2 {\n\tenum e1000_bus_type type;\n\tenum e1000_bus_speed speed;\n\tenum e1000_bus_width width;\n\tu32 snoop;\n\tu16 func;\n\tu16 pci_cmd_word;\n};\n\nstruct e1000_context_desc {\n\tunion {\n\t\t__le32 ip_config;\n\t\tstruct {\n\t\t\tu8 ipcss;\n\t\t\tu8 ipcso;\n\t\t\t__le16 ipcse;\n\t\t} ip_fields;\n\t} lower_setup;\n\tunion {\n\t\t__le32 tcp_config;\n\t\tstruct {\n\t\t\tu8 tucss;\n\t\t\tu8 tucso;\n\t\t\t__le16 tucse;\n\t\t} tcp_fields;\n\t} upper_setup;\n\t__le32 cmd_and_length;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\tu8 status;\n\t\t\tu8 hdr_len;\n\t\t\t__le16 mss;\n\t\t} fields;\n\t} tcp_seg_setup;\n};\n\nstruct e1000_sfp_flags {\n\tu8 e1000_base_sx: 1;\n\tu8 e1000_base_lx: 1;\n\tu8 e1000_base_cx: 1;\n\tu8 e1000_base_t: 1;\n\tu8 e100_base_lx: 1;\n\tu8 e100_base_fx: 1;\n\tu8 e10_base_bx10: 1;\n\tu8 e10_base_px: 1;\n};\n\nstruct e1000_dev_spec_82575 {\n\tbool sgmii_active;\n\tbool global_device_reset;\n\tbool eee_disable;\n\tbool clear_semaphore_once;\n\tstruct e1000_sfp_flags eth_flags;\n\tbool module_plugged;\n\tu8 media_port;\n\tbool media_changed;\n\tbool mas_capable;\n};\n\nstruct e1000_dev_spec_vf {\n\tu32 vf_number;\n\tu32 v2p_mailbox;\n};\n\nstruct e1000_fc_info___2 {\n\tu32 high_water;\n\tu32 low_water;\n\tu16 pause_time;\n\tbool send_xon;\n\tbool strict_ieee;\n\tenum e1000_fc_mode current_mode;\n\tenum e1000_fc_mode requested_mode;\n};\n\nstruct e1000_fw_version {\n\tu32 etrack_id;\n\tu16 eep_major;\n\tu16 eep_minor;\n\tu16 eep_build;\n\tu8 invm_major;\n\tu8 invm_minor;\n\tu8 invm_img_type;\n\tbool or_valid;\n\tu16 or_major;\n\tu16 or_build;\n\tu16 or_patch;\n};\n\nstruct e1000_host_mng_command_header {\n\tu8 command_id;\n\tu8 checksum;\n\tu16 reserved1;\n\tu16 reserved2;\n\tu16 command_length;\n};\n\nstruct e1000_hw___3;\n\nstruct e1000_mac_operations___2 {\n\ts32 (*check_for_link)(struct e1000_hw___3 *);\n\ts32 (*reset_hw)(struct e1000_hw___3 *);\n\ts32 (*init_hw)(struct e1000_hw___3 *);\n\tbool (*check_mng_mode)(struct e1000_hw___3 *);\n\ts32 (*setup_physical_interface)(struct e1000_hw___3 *);\n\tvoid (*rar_set)(struct e1000_hw___3 *, u8 *, u32);\n\ts32 (*read_mac_addr)(struct e1000_hw___3 *);\n\ts32 (*get_speed_and_duplex)(struct e1000_hw___3 *, u16 *, u16 *);\n\ts32 (*acquire_swfw_sync)(struct e1000_hw___3 *, u16);\n\tvoid (*release_swfw_sync)(struct e1000_hw___3 *, u16);\n\ts32 (*get_thermal_sensor_data)(struct e1000_hw___3 *);\n\ts32 (*init_thermal_sensor_thresh)(struct e1000_hw___3 *);\n\tvoid (*write_vfta)(struct e1000_hw___3 *, u32, u32);\n};\n\nstruct e1000_thermal_diode_data {\n\tu8 location;\n\tu8 temp;\n\tu8 caution_thresh;\n\tu8 max_op_thresh;\n};\n\nstruct e1000_thermal_sensor_data {\n\tstruct e1000_thermal_diode_data sensor[3];\n};\n\nstruct e1000_mac_info___2 {\n\tstruct e1000_mac_operations___2 ops;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tenum e1000_mac_type___3 type;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tu32 mc_filter_type;\n\tu32 txcw;\n\tu16 mta_reg_count;\n\tu16 uta_reg_count;\n\tu32 mta_shadow[128];\n\tu16 rar_entry_count;\n\tu8 forced_speed_duplex;\n\tbool adaptive_ifs;\n\tbool arc_subsystem_valid;\n\tbool asf_firmware_present;\n\tbool autoneg;\n\tbool autoneg_failed;\n\tbool disable_hw_init_bits;\n\tbool get_link_status;\n\tbool ifs_params_forced;\n\tbool in_ifs_mode;\n\tbool report_tx_early;\n\tbool serdes_has_link;\n\tbool tx_pkt_filtering;\n\tstruct e1000_thermal_sensor_data thermal_sensor_data;\n};\n\nstruct e1000_phy_operations___2 {\n\ts32 (*acquire)(struct e1000_hw___3 *);\n\ts32 (*check_polarity)(struct e1000_hw___3 *);\n\ts32 (*check_reset_block)(struct e1000_hw___3 *);\n\ts32 (*force_speed_duplex)(struct e1000_hw___3 *);\n\ts32 (*get_cfg_done)(struct e1000_hw___3 *);\n\ts32 (*get_cable_length)(struct e1000_hw___3 *);\n\ts32 (*get_phy_info)(struct e1000_hw___3 *);\n\ts32 (*read_reg)(struct e1000_hw___3 *, u32, u16 *);\n\tvoid (*release)(struct e1000_hw___3 *);\n\ts32 (*reset)(struct e1000_hw___3 *);\n\ts32 (*set_d0_lplu_state)(struct e1000_hw___3 *, bool);\n\ts32 (*set_d3_lplu_state)(struct e1000_hw___3 *, bool);\n\ts32 (*write_reg)(struct e1000_hw___3 *, u32, u16);\n\ts32 (*read_i2c_byte)(struct e1000_hw___3 *, u8, u8, u8 *);\n\ts32 (*write_i2c_byte)(struct e1000_hw___3 *, u8, u8, u8);\n};\n\nstruct e1000_phy_info___3 {\n\tstruct e1000_phy_operations___2 ops;\n\tenum e1000_phy_type___2 type;\n\tenum e1000_1000t_rx_status local_rx;\n\tenum e1000_1000t_rx_status remote_rx;\n\tenum e1000_ms_type ms_type;\n\tenum e1000_ms_type original_ms_type;\n\tenum e1000_rev_polarity cable_polarity;\n\tenum e1000_smart_speed smart_speed;\n\tu32 addr;\n\tu32 id;\n\tu32 reset_delay_us;\n\tu32 revision;\n\tenum e1000_media_type media_type;\n\tu16 autoneg_advertised;\n\tu16 autoneg_mask;\n\tu16 cable_length;\n\tu16 max_cable_length;\n\tu16 min_cable_length;\n\tu16 pair_length[4];\n\tu8 mdix;\n\tbool disable_polarity_correction;\n\tbool is_mdix;\n\tbool polarity_correction;\n\tbool reset_disable;\n\tbool speed_downgraded;\n\tbool autoneg_wait_to_complete;\n};\n\nstruct e1000_nvm_operations___2 {\n\ts32 (*acquire)(struct e1000_hw___3 *);\n\ts32 (*read)(struct e1000_hw___3 *, u16, u16, u16 *);\n\tvoid (*release)(struct e1000_hw___3 *);\n\ts32 (*write)(struct e1000_hw___3 *, u16, u16, u16 *);\n\ts32 (*update)(struct e1000_hw___3 *);\n\ts32 (*validate)(struct e1000_hw___3 *);\n\ts32 (*valid_led_default)(struct e1000_hw___3 *, u16 *);\n};\n\nstruct e1000_nvm_info___2 {\n\tstruct e1000_nvm_operations___2 ops;\n\tenum e1000_nvm_type type;\n\tenum e1000_nvm_override override;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\tu16 word_size;\n\tu16 delay_usec;\n\tu16 address_bits;\n\tu16 opcode_bits;\n\tu16 page_size;\n};\n\nstruct e1000_mbx_operations {\n\ts32 (*init_params)(struct e1000_hw___3 *);\n\ts32 (*read)(struct e1000_hw___3 *, u32 *, u16, u16, bool);\n\ts32 (*write)(struct e1000_hw___3 *, u32 *, u16, u16);\n\ts32 (*read_posted)(struct e1000_hw___3 *, u32 *, u16, u16);\n\ts32 (*write_posted)(struct e1000_hw___3 *, u32 *, u16, u16);\n\ts32 (*check_for_msg)(struct e1000_hw___3 *, u16);\n\ts32 (*check_for_ack)(struct e1000_hw___3 *, u16);\n\ts32 (*check_for_rst)(struct e1000_hw___3 *, u16);\n\ts32 (*unlock)(struct e1000_hw___3 *, u16);\n};\n\nstruct e1000_mbx_stats {\n\tu32 msgs_tx;\n\tu32 msgs_rx;\n\tu32 acks;\n\tu32 reqs;\n\tu32 rsts;\n};\n\nstruct e1000_mbx_info {\n\tstruct e1000_mbx_operations ops;\n\tstruct e1000_mbx_stats stats;\n\tu32 timeout;\n\tu32 usec_delay;\n\tu16 size;\n};\n\nstruct e1000_hw___3 {\n\tvoid *back;\n\tu8 *hw_addr;\n\tu8 *flash_address;\n\tlong unsigned int io_base;\n\tstruct e1000_mac_info___2 mac;\n\tstruct e1000_fc_info___2 fc;\n\tstruct e1000_phy_info___3 phy;\n\tstruct e1000_nvm_info___2 nvm;\n\tstruct e1000_bus_info___2 bus;\n\tstruct e1000_mbx_info mbx;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tunion {\n\t\tstruct e1000_dev_spec_82575 _82575;\n\t} dev_spec;\n\tu16 device_id;\n\tu16 subsystem_vendor_id;\n\tu16 subsystem_device_id;\n\tu16 vendor_id;\n\tu8 revision_id;\n};\n\nstruct e1000_hw___4;\n\nstruct e1000_mac_operations___3 {\n\ts32 (*init_params)(struct e1000_hw___4 *);\n\ts32 (*check_for_link)(struct e1000_hw___4 *);\n\tvoid (*clear_vfta)(struct e1000_hw___4 *);\n\ts32 (*get_bus_info)(struct e1000_hw___4 *);\n\ts32 (*get_link_up_info)(struct e1000_hw___4 *, u16 *, u16 *);\n\tvoid (*update_mc_addr_list)(struct e1000_hw___4 *, u8 *, u32, u32, u32);\n\ts32 (*set_uc_addr)(struct e1000_hw___4 *, u32, u8 *);\n\ts32 (*reset_hw)(struct e1000_hw___4 *);\n\ts32 (*init_hw)(struct e1000_hw___4 *);\n\ts32 (*setup_link)(struct e1000_hw___4 *);\n\tvoid (*write_vfta)(struct e1000_hw___4 *, u32, u32);\n\tvoid (*mta_set)(struct e1000_hw___4 *, u32);\n\tvoid (*rar_set)(struct e1000_hw___4 *, u8 *, u32);\n\ts32 (*read_mac_addr)(struct e1000_hw___4 *);\n\ts32 (*set_vfta)(struct e1000_hw___4 *, u16, bool);\n};\n\nstruct e1000_mac_info___3 {\n\tstruct e1000_mac_operations___3 ops;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tenum e1000_mac_type type;\n\tu16 mta_reg_count;\n\tu16 rar_entry_count;\n\tbool get_link_status;\n};\n\nstruct e1000_mbx_operations___2 {\n\ts32 (*init_params)(struct e1000_hw___4 *);\n\ts32 (*read)(struct e1000_hw___4 *, u32 *, u16);\n\ts32 (*write)(struct e1000_hw___4 *, u32 *, u16);\n\ts32 (*read_posted)(struct e1000_hw___4 *, u32 *, u16);\n\ts32 (*write_posted)(struct e1000_hw___4 *, u32 *, u16);\n\ts32 (*check_for_msg)(struct e1000_hw___4 *);\n\ts32 (*check_for_ack)(struct e1000_hw___4 *);\n\ts32 (*check_for_rst)(struct e1000_hw___4 *);\n};\n\nstruct e1000_mbx_info___2 {\n\tstruct e1000_mbx_operations___2 ops;\n\tstruct e1000_mbx_stats stats;\n\tu32 timeout;\n\tu32 usec_delay;\n\tu16 size;\n};\n\nstruct e1000_hw___4 {\n\tvoid *back;\n\tu8 *hw_addr;\n\tu8 *flash_address;\n\tlong unsigned int io_base;\n\tstruct e1000_mac_info___3 mac;\n\tstruct e1000_mbx_info___2 mbx;\n\tspinlock_t mbx_lock;\n\tunion {\n\t\tstruct e1000_dev_spec_vf vf;\n\t} dev_spec;\n\tu16 device_id;\n\tu16 subsystem_vendor_id;\n\tu16 subsystem_device_id;\n\tu16 vendor_id;\n\tu8 revision_id;\n};\n\nstruct e1000_hw_stats___3 {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 tor;\n\tu64 tot;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n\tu64 cbtmpc;\n\tu64 htdpmc;\n\tu64 cbrdpc;\n\tu64 cbrmpc;\n\tu64 rpthc;\n\tu64 hgptc;\n\tu64 htcbdpc;\n\tu64 hgorc;\n\tu64 hgotc;\n\tu64 lenerrs;\n\tu64 scvpc;\n\tu64 hrmpc;\n\tu64 doosync;\n\tu64 o2bgptc;\n\tu64 o2bspc;\n\tu64 b2ospc;\n\tu64 b2ogprc;\n};\n\nstruct e1000_info___2 {\n\ts32 (*get_invariants)(struct e1000_hw___3 *);\n\tstruct e1000_mac_operations___2 *mac_ops;\n\tconst struct e1000_phy_operations___2 *phy_ops;\n\tstruct e1000_nvm_operations___2 *nvm_ops;\n};\n\nstruct e1000_info {\n\tenum e1000_mac_type___2 mac;\n\tunsigned int flags;\n\tunsigned int flags2;\n\tu32 pba;\n\tu32 max_hw_frame_size;\n\ts32 (*get_variants)(struct e1000_adapter___2 *);\n\tconst struct e1000_mac_operations *mac_ops;\n\tconst struct e1000_phy_operations *phy_ops;\n\tconst struct e1000_nvm_operations *nvm_ops;\n};\n\nstruct e1000_opt_list {\n\tint i;\n\tchar *str;\n};\n\nstruct e1000_option {\n\tenum {\n\t\tenable_option = 0,\n\t\trange_option = 1,\n\t\tlist_option = 2,\n\t} type;\n\tconst char *name;\n\tconst char *err;\n\tint def;\n\tunion {\n\t\tstruct {\n\t\t\tint min;\n\t\t\tint max;\n\t\t} r;\n\t\tstruct {\n\t\t\tint nr;\n\t\t\tconst struct e1000_opt_list *p;\n\t\t} l;\n\t} arg;\n};\n\nstruct e1000_option___2 {\n\tenum {\n\t\tenable_option___2 = 0,\n\t\trange_option___2 = 1,\n\t\tlist_option___2 = 2,\n\t} type;\n\tconst char *name;\n\tconst char *err;\n\tint def;\n\tunion {\n\t\tstruct {\n\t\t\tint min;\n\t\t\tint max;\n\t\t} r;\n\t\tstruct {\n\t\t\tint nr;\n\t\t\tstruct e1000_opt_list *p;\n\t\t} l;\n\t} arg;\n};\n\nstruct e1000_ps_page {\n\tstruct page *page;\n\tu64 dma;\n};\n\nstruct e1000_reg_info {\n\tu32 ofs;\n\tchar *name;\n};\n\nstruct e1000_rx_buffer {\n\tunion {\n\t\tstruct page *page;\n\t\tu8 *data;\n\t} rxbuf;\n\tdma_addr_t dma;\n};\n\nstruct e1000_rx_desc {\n\t__le64 buffer_addr;\n\t__le16 length;\n\t__le16 csum;\n\tu8 status;\n\tu8 errors;\n\t__le16 special;\n};\n\nunion e1000_rx_desc_extended {\n\tstruct {\n\t\t__le64 buffer_addr;\n\t\t__le64 reserved;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\t__le32 mrq;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nunion e1000_rx_desc_packet_split {\n\tstruct {\n\t\t__le64 buffer_addr[4];\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\t__le32 mrq;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length0;\n\t\t\t__le16 vlan;\n\t\t} middle;\n\t\tstruct {\n\t\t\t__le16 header_status;\n\t\t\t__le16 length[3];\n\t\t} upper;\n\t\t__le64 reserved;\n\t} wb;\n};\n\nstruct e1000_shadow_ram {\n\tu16 eeprom_word;\n\tbool modified;\n};\n\nstruct e1000_stats {\n\tchar stat_string[32];\n\tint type;\n\tint sizeof_stat;\n\tint stat_offset;\n};\n\nstruct e1000_tx_buffer {\n\tstruct sk_buff *skb;\n\tdma_addr_t dma;\n\tlong unsigned int time_stamp;\n\tu16 length;\n\tu16 next_to_watch;\n\tbool mapped_as_page;\n\tshort unsigned int segs;\n\tunsigned int bytecount;\n};\n\nstruct e1000_tx_desc {\n\t__le64 buffer_addr;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\t__le16 length;\n\t\t\tu8 cso;\n\t\t\tu8 cmd;\n\t\t} flags;\n\t} lower;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\tu8 status;\n\t\t\tu8 css;\n\t\t\t__le16 special;\n\t\t} fields;\n\t} upper;\n};\n\nstruct e1000_vf_stats {\n\tu64 base_gprc;\n\tu64 base_gptc;\n\tu64 base_gorc;\n\tu64 base_gotc;\n\tu64 base_mprc;\n\tu64 base_gotlbc;\n\tu64 base_gptlbc;\n\tu64 base_gorlbc;\n\tu64 base_gprlbc;\n\tu32 last_gprc;\n\tu32 last_gptc;\n\tu32 last_gorc;\n\tu32 last_gotc;\n\tu32 last_mprc;\n\tu32 last_gotlbc;\n\tu32 last_gptlbc;\n\tu32 last_gorlbc;\n\tu32 last_gprlbc;\n\tu64 gprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 mprc;\n\tu64 gotlbc;\n\tu64 gptlbc;\n\tu64 gorlbc;\n\tu64 gprlbc;\n};\n\nstruct usb_device;\n\nstruct each_dev_arg {\n\tvoid *data;\n\tint (*fn)(struct usb_device *, void *);\n};\n\nstruct uart_icount {\n\t__u32 cts;\n\t__u32 dsr;\n\t__u32 rng;\n\t__u32 dcd;\n\t__u32 rx;\n\t__u32 tx;\n\t__u32 frame;\n\t__u32 overrun;\n\t__u32 parity;\n\t__u32 brk;\n\t__u32 buf_overrun;\n};\n\nstruct serial_rs485 {\n\t__u32 flags;\n\t__u32 delay_rts_before_send;\n\t__u32 delay_rts_after_send;\n\tunion {\n\t\t__u32 padding[5];\n\t\tstruct {\n\t\t\t__u8 addr_recv;\n\t\t\t__u8 addr_dest;\n\t\t\t__u8 padding0[2];\n\t\t\t__u32 padding1[4];\n\t\t};\n\t};\n};\n\nstruct serial_iso7816 {\n\t__u32 flags;\n\t__u32 tg;\n\t__u32 sc_fi;\n\t__u32 sc_di;\n\t__u32 clk;\n\t__u32 reserved[5];\n};\n\nstruct ktermios;\n\nstruct uart_state;\n\nstruct uart_ops;\n\nstruct serial_port_device;\n\nstruct uart_port {\n\tspinlock_t lock;\n\tlong unsigned int iobase;\n\tunsigned char *membase;\n\tunsigned int (*serial_in)(struct uart_port *, int);\n\tvoid (*serial_out)(struct uart_port *, int, int);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tvoid (*set_mctrl)(struct uart_port *, unsigned int);\n\tunsigned int (*get_divisor)(struct uart_port *, unsigned int, unsigned int *);\n\tvoid (*set_divisor)(struct uart_port *, unsigned int, unsigned int, unsigned int);\n\tint (*startup)(struct uart_port *);\n\tvoid (*shutdown)(struct uart_port *);\n\tvoid (*throttle)(struct uart_port *);\n\tvoid (*unthrottle)(struct uart_port *);\n\tint (*handle_irq)(struct uart_port *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tvoid (*handle_break)(struct uart_port *);\n\tint (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *);\n\tint (*iso7816_config)(struct uart_port *, struct serial_iso7816 *);\n\tunsigned int ctrl_id;\n\tunsigned int port_id;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tunsigned int uartclk;\n\tunsigned int fifosize;\n\tunsigned char x_char;\n\tunsigned char regshift;\n\tunsigned char iotype;\n\tunsigned char quirks;\n\tunsigned int read_status_mask;\n\tunsigned int ignore_status_mask;\n\tstruct uart_state *state;\n\tstruct uart_icount icount;\n\tstruct console *cons;\n\tupf_t flags;\n\tupstat_t status;\n\tbool hw_stopped;\n\tunsigned int mctrl;\n\tunsigned int frame_time;\n\tunsigned int type;\n\tconst struct uart_ops *ops;\n\tunsigned int custom_divisor;\n\tunsigned int line;\n\tunsigned int minor;\n\tresource_size_t mapbase;\n\tresource_size_t mapsize;\n\tstruct device *dev;\n\tstruct serial_port_device *port_dev;\n\tlong unsigned int sysrq;\n\tu8 sysrq_ch;\n\tunsigned char has_sysrq;\n\tunsigned char sysrq_seq;\n\tunsigned char hub6;\n\tunsigned char suspended;\n\tunsigned char console_reinit;\n\tconst char *name;\n\tstruct attribute_group *attr_group;\n\tconst struct attribute_group **tty_groups;\n\tstruct serial_rs485 rs485;\n\tstruct serial_rs485 rs485_supported;\n\tstruct gpio_desc *rs485_term_gpio;\n\tstruct gpio_desc *rs485_rx_during_tx_gpio;\n\tstruct serial_iso7816 iso7816;\n\tvoid *private_data;\n};\n\nstruct earlycon_device {\n\tstruct console *con;\n\tstruct uart_port port;\n\tchar options[32];\n\tunsigned int baud;\n};\n\nstruct earlycon_id {\n\tchar name[15];\n\tchar name_term;\n\tchar compatible[128];\n\tint (*setup)(struct earlycon_device *, const char *);\n};\n\nstruct ebi2_xmem_prop {\n\tconst char *prop;\n\tu32 max;\n\tbool slowreg;\n\tu16 shift;\n};\n\nstruct ec_host_request {\n\tuint8_t struct_version;\n\tuint8_t checksum;\n\tuint16_t command;\n\tuint8_t command_version;\n\tuint8_t reserved;\n\tuint16_t data_len;\n};\n\nstruct ec_host_request_i2c {\n\tuint8_t command_protocol;\n\tstruct ec_host_request ec_request;\n} __attribute__((packed));\n\nstruct ec_host_response {\n\tuint8_t struct_version;\n\tuint8_t checksum;\n\tuint16_t result;\n\tuint16_t data_len;\n\tuint16_t reserved;\n};\n\nstruct ec_host_response_i2c {\n\tuint8_t result;\n\tuint8_t packet_length;\n\tstruct ec_host_response ec_response;\n};\n\nstruct ec_i2c_device {\n\tstruct device *dev;\n\tstruct i2c_adapter adap;\n\tstruct cros_ec_device *ec;\n\tu16 remote_bus;\n\tu8 request_buf[256];\n\tu8 response_buf[256];\n};\n\nstruct ec_motion_sense_activity {\n\tuint8_t sensor_num;\n\tuint8_t activity;\n\tuint8_t enable;\n\tuint8_t reserved;\n\tuint16_t parameters[3];\n};\n\nstruct ec_params_charge_control {\n\tuint32_t mode;\n\tuint8_t cmd;\n\tuint8_t flags;\n\tstruct {\n\t\tint8_t lower;\n\t\tint8_t upper;\n\t} sustain_soc;\n};\n\nstruct ec_params_console_read_v1 {\n\tuint8_t subcmd;\n};\n\nstruct ec_params_get_cmd_versions {\n\tuint8_t cmd;\n};\n\nstruct ec_params_get_cmd_versions_v1 {\n\tuint16_t cmd;\n};\n\nstruct ec_params_hello {\n\tuint32_t in_data;\n};\n\nstruct ec_params_host_sleep_event {\n\tuint8_t sleep_event;\n};\n\nstruct ec_params_host_sleep_event_v1 {\n\tuint8_t sleep_event;\n\tuint8_t reserved;\n\tunion {\n\t\tstruct {\n\t\t\tuint16_t sleep_timeout_ms;\n\t\t} suspend_params;\n\t};\n};\n\nstruct ec_params_i2c_passthru_msg {\n\tuint16_t addr_flags;\n\tuint16_t len;\n};\n\nstruct ec_params_i2c_passthru {\n\tuint8_t port;\n\tuint8_t num_msgs;\n\tstruct ec_params_i2c_passthru_msg msg[0];\n};\n\nstruct rgb_s {\n\tuint8_t r;\n\tuint8_t g;\n\tuint8_t b;\n};\n\nstruct lightbar_params_v0 {\n\tint32_t google_ramp_up;\n\tint32_t google_ramp_down;\n\tint32_t s3s0_ramp_up;\n\tint32_t s0_tick_delay[2];\n\tint32_t s0a_tick_delay[2];\n\tint32_t s0s3_ramp_down;\n\tint32_t s3_sleep_for;\n\tint32_t s3_ramp_up;\n\tint32_t s3_ramp_down;\n\tuint8_t new_s0;\n\tuint8_t osc_min[2];\n\tuint8_t osc_max[2];\n\tuint8_t w_ofs[2];\n\tuint8_t bright_bl_off_fixed[2];\n\tuint8_t bright_bl_on_min[2];\n\tuint8_t bright_bl_on_max[2];\n\tuint8_t battery_threshold[3];\n\tuint8_t s0_idx[8];\n\tuint8_t s3_idx[8];\n\tstruct rgb_s color[8];\n};\n\nstruct lightbar_params_v1 {\n\tint32_t google_ramp_up;\n\tint32_t google_ramp_down;\n\tint32_t s3s0_ramp_up;\n\tint32_t s0_tick_delay[2];\n\tint32_t s0a_tick_delay[2];\n\tint32_t s0s3_ramp_down;\n\tint32_t s3_sleep_for;\n\tint32_t s3_ramp_up;\n\tint32_t s3_ramp_down;\n\tint32_t s5_ramp_up;\n\tint32_t s5_ramp_down;\n\tint32_t tap_tick_delay;\n\tint32_t tap_gate_delay;\n\tint32_t tap_display_time;\n\tuint8_t tap_pct_red;\n\tuint8_t tap_pct_green;\n\tuint8_t tap_seg_min_on;\n\tuint8_t tap_seg_max_on;\n\tuint8_t tap_seg_osc;\n\tuint8_t tap_idx[3];\n\tuint8_t osc_min[2];\n\tuint8_t osc_max[2];\n\tuint8_t w_ofs[2];\n\tuint8_t bright_bl_off_fixed[2];\n\tuint8_t bright_bl_on_min[2];\n\tuint8_t bright_bl_on_max[2];\n\tuint8_t battery_threshold[3];\n\tuint8_t s0_idx[8];\n\tuint8_t s3_idx[8];\n\tuint8_t s5_idx;\n\tstruct rgb_s color[8];\n};\n\nstruct lightbar_params_v2_timing {\n\tint32_t google_ramp_up;\n\tint32_t google_ramp_down;\n\tint32_t s3s0_ramp_up;\n\tint32_t s0_tick_delay[2];\n\tint32_t s0a_tick_delay[2];\n\tint32_t s0s3_ramp_down;\n\tint32_t s3_sleep_for;\n\tint32_t s3_ramp_up;\n\tint32_t s3_ramp_down;\n\tint32_t s5_ramp_up;\n\tint32_t s5_ramp_down;\n\tint32_t tap_tick_delay;\n\tint32_t tap_gate_delay;\n\tint32_t tap_display_time;\n};\n\nstruct lightbar_params_v2_tap {\n\tuint8_t tap_pct_red;\n\tuint8_t tap_pct_green;\n\tuint8_t tap_seg_min_on;\n\tuint8_t tap_seg_max_on;\n\tuint8_t tap_seg_osc;\n\tuint8_t tap_idx[3];\n};\n\nstruct lightbar_params_v2_oscillation {\n\tuint8_t osc_min[2];\n\tuint8_t osc_max[2];\n\tuint8_t w_ofs[2];\n};\n\nstruct lightbar_params_v2_brightness {\n\tuint8_t bright_bl_off_fixed[2];\n\tuint8_t bright_bl_on_min[2];\n\tuint8_t bright_bl_on_max[2];\n};\n\nstruct lightbar_params_v2_thresholds {\n\tuint8_t battery_threshold[3];\n};\n\nstruct lightbar_params_v2_colors {\n\tuint8_t s0_idx[8];\n\tuint8_t s3_idx[8];\n\tuint8_t s5_idx;\n\tstruct rgb_s color[8];\n};\n\nstruct lightbar_program {\n\tuint8_t size;\n\tuint8_t data[192];\n};\n\nstruct ec_params_lightbar {\n\tuint8_t cmd;\n\tunion {\n\t\tstruct {\n\t\t\tuint8_t num;\n\t\t} set_brightness;\n\t\tstruct {\n\t\t\tuint8_t num;\n\t\t} seq;\n\t\tstruct {\n\t\t\tuint8_t num;\n\t\t} demo;\n\t\tstruct {\n\t\t\tuint8_t ctrl;\n\t\t\tuint8_t reg;\n\t\t\tuint8_t value;\n\t\t} reg;\n\t\tstruct {\n\t\t\tuint8_t led;\n\t\t\tuint8_t red;\n\t\t\tuint8_t green;\n\t\t\tuint8_t blue;\n\t\t} set_rgb;\n\t\tstruct {\n\t\t\tuint8_t led;\n\t\t} get_rgb;\n\t\tstruct {\n\t\t\tuint8_t enable;\n\t\t} manual_suspend_ctrl;\n\t\tstruct lightbar_params_v0 set_params_v0;\n\t\tstruct lightbar_params_v1 set_params_v1;\n\t\tstruct lightbar_params_v2_timing set_v2par_timing;\n\t\tstruct lightbar_params_v2_tap set_v2par_tap;\n\t\tstruct lightbar_params_v2_oscillation set_v2par_osc;\n\t\tstruct lightbar_params_v2_brightness set_v2par_bright;\n\t\tstruct lightbar_params_v2_thresholds set_v2par_thlds;\n\t\tstruct lightbar_params_v2_colors set_v2par_colors;\n\t\tstruct lightbar_program set_program;\n\t};\n};\n\nstruct ec_params_mkbp_info {\n\tuint8_t info_type;\n\tuint8_t event_type;\n};\n\nstruct ec_params_motion_sense {\n\tuint8_t cmd;\n\tunion {\n\t\tstruct {\n\t\t\tuint8_t max_sensor_count;\n\t\t} dump;\n\t\tstruct {\n\t\t\tint16_t data;\n\t\t} kb_wake_angle;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t} info;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t} info_3;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t} data;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t} fifo_flush;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t} perform_calib;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t} list_activities;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t\tuint8_t roundup;\n\t\t\tuint16_t reserved;\n\t\t\tint32_t data;\n\t\t} ec_rate;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t\tuint8_t roundup;\n\t\t\tuint16_t reserved;\n\t\t\tint32_t data;\n\t\t} sensor_odr;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t\tuint8_t roundup;\n\t\t\tuint16_t reserved;\n\t\t\tint32_t data;\n\t\t} sensor_range;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t\tuint16_t flags;\n\t\t\tint16_t temp;\n\t\t\tint16_t offset[3];\n\t\t} __attribute__((packed)) sensor_offset;\n\t\tstruct {\n\t\t\tuint8_t sensor_num;\n\t\t\tuint16_t flags;\n\t\t\tint16_t temp;\n\t\t\tuint16_t scale[3];\n\t\t} __attribute__((packed)) sensor_scale;\n\t\tstruct {\n\t\t\tuint32_t max_data_vector;\n\t\t} fifo_read;\n\t\tstruct ec_motion_sense_activity set_activity;\n\t\tstruct {\n\t\t\tint8_t enable;\n\t\t} fifo_int_enable;\n\t\tstruct {\n\t\t\tuint8_t sensor_id;\n\t\t\tuint8_t spoof_enable;\n\t\t\tuint8_t reserved;\n\t\t\tint16_t components[3];\n\t\t} __attribute__((packed)) spoof;\n\t\tstruct {\n\t\t\tint16_t lid_angle;\n\t\t\tint16_t hys_degree;\n\t\t} tablet_mode_threshold;\n\t};\n} __attribute__((packed));\n\nstruct ec_params_pchg {\n\tuint8_t port;\n};\n\nstruct ec_params_read_memmap {\n\tuint8_t offset;\n\tuint8_t size;\n};\n\nstruct ec_params_reboot_ec {\n\tuint8_t cmd;\n\tuint8_t flags;\n};\n\nstruct ec_params_regulator_enable {\n\tuint32_t index;\n\tuint8_t enable;\n} __attribute__((packed));\n\nstruct ec_params_regulator_get_info {\n\tuint32_t index;\n};\n\nstruct ec_params_regulator_get_voltage {\n\tuint32_t index;\n};\n\nstruct ec_params_regulator_is_enabled {\n\tuint32_t index;\n};\n\nstruct ec_params_regulator_set_voltage {\n\tuint32_t index;\n\tuint32_t min_mv;\n\tuint32_t max_mv;\n};\n\nstruct ec_params_rwsig_action {\n\tuint32_t action;\n};\n\nstruct ec_params_temp_sensor_get_info {\n\tuint8_t id;\n};\n\nstruct ec_params_usb_pd_control {\n\tuint8_t port;\n\tuint8_t role;\n\tuint8_t mux;\n\tuint8_t swap;\n};\n\nstruct ec_params_usb_pd_mux_info {\n\tuint8_t port;\n};\n\nstruct ec_params_usb_pd_power_info {\n\tuint8_t port;\n};\n\nstruct ec_params_vbnvcontext {\n\tuint32_t op;\n\tuint8_t block[16];\n};\n\nstruct ec_response_board_version {\n\tuint16_t board_version;\n};\n\nstruct ec_response_charge_control {\n\tuint32_t mode;\n\tstruct {\n\t\tint8_t lower;\n\t\tint8_t upper;\n\t} sustain_soc;\n\tuint8_t flags;\n\tuint8_t reserved;\n};\n\nstruct ec_response_flash_info {\n\tuint32_t flash_size;\n\tuint32_t write_block_size;\n\tuint32_t erase_block_size;\n\tuint32_t protect_block_size;\n};\n\nstruct ec_response_get_chip_info {\n\tchar vendor[32];\n\tchar name[32];\n\tchar revision[32];\n};\n\nstruct ec_response_get_cmd_versions {\n\tuint32_t version_mask;\n};\n\nstruct ec_response_get_comms_status {\n\tuint32_t flags;\n};\n\nunion ec_response_get_next_data {\n\tuint8_t key_matrix[13];\n\tuint32_t host_event;\n\tuint64_t host_event64;\n\tstruct {\n\t\tuint8_t reserved[3];\n\t\tstruct ec_response_motion_sense_fifo_info info;\n\t} sensor_fifo;\n\tuint32_t buttons;\n\tuint32_t switches;\n\tuint32_t fp_events;\n\tuint32_t sysrq;\n\tuint32_t cec_events;\n};\n\nstruct ec_response_get_protocol_info {\n\tuint32_t protocol_versions;\n\tuint16_t max_request_packet_size;\n\tuint16_t max_response_packet_size;\n\tuint32_t flags;\n};\n\nstruct ec_response_get_version {\n\tchar version_string_ro[32];\n\tchar version_string_rw[32];\n\tchar reserved[32];\n\tuint32_t current_image;\n};\n\nstruct ec_response_hello {\n\tuint32_t out_data;\n};\n\nstruct ec_response_host_event_mask {\n\tuint32_t mask;\n};\n\nstruct ec_response_host_event_status {\n\tuint32_t status;\n};\n\nstruct ec_response_host_sleep_event_v1 {\n\tunion {\n\t\tstruct {\n\t\t\tuint32_t sleep_transitions;\n\t\t} resume_response;\n\t};\n};\n\nstruct ec_response_i2c_passthru {\n\tuint8_t i2c_status;\n\tuint8_t num_msgs;\n\tuint8_t data[0];\n};\n\nstruct ec_response_lightbar {\n\tunion {\n\t\tstruct {\n\t\t\tstruct {\n\t\t\t\tuint8_t reg;\n\t\t\t\tuint8_t ic0;\n\t\t\t\tuint8_t ic1;\n\t\t\t} vals[23];\n\t\t} dump;\n\t\tstruct {\n\t\t\tuint8_t num;\n\t\t} get_seq;\n\t\tstruct {\n\t\t\tuint8_t num;\n\t\t} get_brightness;\n\t\tstruct {\n\t\t\tuint8_t num;\n\t\t} get_demo;\n\t\tstruct lightbar_params_v0 get_params_v0;\n\t\tstruct lightbar_params_v1 get_params_v1;\n\t\tstruct lightbar_params_v2_timing get_params_v2_timing;\n\t\tstruct lightbar_params_v2_tap get_params_v2_tap;\n\t\tstruct lightbar_params_v2_oscillation get_params_v2_osc;\n\t\tstruct lightbar_params_v2_brightness get_params_v2_bright;\n\t\tstruct lightbar_params_v2_thresholds get_params_v2_thlds;\n\t\tstruct lightbar_params_v2_colors get_params_v2_colors;\n\t\tstruct {\n\t\t\tuint32_t num;\n\t\t\tuint32_t flags;\n\t\t} version;\n\t\tstruct {\n\t\t\tuint8_t red;\n\t\t\tuint8_t green;\n\t\t\tuint8_t blue;\n\t\t} get_rgb;\n\t};\n};\n\nstruct ec_response_motion_sensor_data {\n\tuint8_t flags;\n\tuint8_t sensor_num;\n\tunion {\n\t\tint16_t data[3];\n\t\tstruct {\n\t\t\tuint16_t reserved;\n\t\t\tuint32_t timestamp;\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\tuint8_t activity;\n\t\t\tuint8_t state;\n\t\t\tint16_t add_info[2];\n\t\t};\n\t};\n};\n\nstruct ec_response_motion_sense_fifo_data {\n\tuint32_t number_data;\n\tstruct ec_response_motion_sensor_data data[0];\n};\n\nstruct ec_response_motion_sense {\n\tunion {\n\t\tstruct {\n\t\t\tuint8_t module_flags;\n\t\t\tuint8_t sensor_count;\n\t\t\tstruct {\n\t\t\t\tstruct {} __empty_sensor;\n\t\t\t\tstruct ec_response_motion_sensor_data sensor[0];\n\t\t\t};\n\t\t} dump;\n\t\tstruct {\n\t\t\tuint8_t type;\n\t\t\tuint8_t location;\n\t\t\tuint8_t chip;\n\t\t} info;\n\t\tstruct {\n\t\t\tuint8_t type;\n\t\t\tuint8_t location;\n\t\t\tuint8_t chip;\n\t\t\tuint32_t min_frequency;\n\t\t\tuint32_t max_frequency;\n\t\t\tuint32_t fifo_max_event_count;\n\t\t} info_3;\n\t\tstruct ec_response_motion_sensor_data data;\n\t\tstruct {\n\t\t\tint32_t ret;\n\t\t} ec_rate;\n\t\tstruct {\n\t\t\tint32_t ret;\n\t\t} sensor_odr;\n\t\tstruct {\n\t\t\tint32_t ret;\n\t\t} sensor_range;\n\t\tstruct {\n\t\t\tint32_t ret;\n\t\t} kb_wake_angle;\n\t\tstruct {\n\t\t\tint32_t ret;\n\t\t} fifo_int_enable;\n\t\tstruct {\n\t\t\tint32_t ret;\n\t\t} spoof;\n\t\tstruct {\n\t\t\tint16_t temp;\n\t\t\tint16_t offset[3];\n\t\t} sensor_offset;\n\t\tstruct {\n\t\t\tint16_t temp;\n\t\t\tint16_t offset[3];\n\t\t} perform_calib;\n\t\tstruct {\n\t\t\tint16_t temp;\n\t\t\tuint16_t scale[3];\n\t\t} sensor_scale;\n\t\tstruct ec_response_motion_sense_fifo_info fifo_info;\n\t\tstruct ec_response_motion_sense_fifo_info fifo_flush;\n\t\tstruct ec_response_motion_sense_fifo_data fifo_read;\n\t\tstruct {\n\t\t\tuint16_t reserved;\n\t\t\tuint32_t enabled;\n\t\t\tuint32_t disabled;\n\t\t} __attribute__((packed)) list_activities;\n\t\tstruct {\n\t\t\tuint16_t value;\n\t\t} lid_angle;\n\t\tstruct {\n\t\t\tuint16_t lid_angle;\n\t\t\tuint16_t hys_degree;\n\t\t} tablet_mode_threshold;\n\t};\n};\n\nstruct ec_response_pchg {\n\tuint32_t error;\n\tuint8_t state;\n\tuint8_t battery_percentage;\n\tuint8_t unused0;\n\tuint8_t unused1;\n\tuint32_t fw_version;\n\tuint32_t dropped_event_count;\n};\n\nstruct ec_response_pchg_count {\n\tuint8_t port_count;\n};\n\nstruct ec_response_regulator_get_info {\n\tchar name[16];\n\tuint16_t num_voltages;\n\tuint16_t voltages_mv[16];\n};\n\nstruct ec_response_regulator_get_voltage {\n\tuint32_t voltage_mv;\n};\n\nstruct ec_response_regulator_is_enabled {\n\tuint8_t enabled;\n};\n\nstruct ec_response_rtc {\n\tuint32_t time;\n};\n\nstruct ec_response_temp_sensor_get_info {\n\tchar sensor_name[32];\n\tuint8_t sensor_type;\n};\n\nstruct ec_response_uptime_info {\n\tuint32_t time_since_ec_boot_ms;\n\tuint32_t ap_resets_since_ec_boot;\n\tuint32_t ec_reset_flags;\n\tstruct ap_reset_log_entry recent_ap_reset[4];\n};\n\nstruct ec_response_usb_pd_control_v1 {\n\tuint8_t enabled;\n\tuint8_t role;\n\tuint8_t polarity;\n\tchar state[32];\n};\n\nstruct ec_response_usb_pd_mux_info {\n\tuint8_t flags;\n};\n\nstruct ec_response_usb_pd_ports {\n\tuint8_t num_ports;\n};\n\nstruct usb_chg_measures {\n\tuint16_t voltage_max;\n\tuint16_t voltage_now;\n\tuint16_t current_max;\n\tuint16_t current_lim;\n};\n\nstruct ec_response_usb_pd_power_info {\n\tuint8_t role;\n\tuint8_t type;\n\tuint8_t dualrole;\n\tuint8_t reserved1;\n\tstruct usb_chg_measures meas;\n\tuint32_t max_power;\n};\n\nstruct td;\n\nstruct ed {\n\t__hc32 hwINFO;\n\t__hc32 hwTailP;\n\t__hc32 hwHeadP;\n\t__hc32 hwNextED;\n\tdma_addr_t dma;\n\tstruct td *dummy;\n\tstruct ed *ed_next;\n\tstruct ed *ed_prev;\n\tstruct list_head td_list;\n\tstruct list_head in_use_list;\n\tu8 state;\n\tu8 type;\n\tu8 branch;\n\tu16 interval;\n\tu16 load;\n\tu16 last_iso;\n\tu16 tick;\n\tunsigned int takeback_wdh_cnt;\n\tstruct td *pending_td;\n\tlong: 64;\n};\n\nstruct edac_dev_sysfs_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct edac_device_ctl_info *, char *);\n\tssize_t (*store)(struct edac_device_ctl_info *, const char *, size_t);\n};\n\nstruct edac_dev_sysfs_block_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kobject *, struct attribute *, char *);\n};\n\nstruct edac_device_counter {\n\tu32 ue_count;\n\tu32 ce_count;\n};\n\nstruct edac_device_instance;\n\nstruct edac_device_block {\n\tstruct edac_device_instance *instance;\n\tchar name[32];\n\tstruct edac_device_counter counters;\n\tint nr_attribs;\n\tstruct edac_dev_sysfs_block_attribute *block_attributes;\n\tstruct kobject kobj;\n};\n\nstruct edac_device_ctl_info {\n\tstruct list_head link;\n\tstruct module *owner;\n\tint dev_idx;\n\tint log_ue;\n\tint log_ce;\n\tint panic_on_ue;\n\tunsigned int poll_msec;\n\tlong unsigned int delay;\n\tstruct edac_dev_sysfs_attribute *sysfs_attributes;\n\tconst struct bus_type *edac_subsys;\n\tint op_state;\n\tstruct delayed_work work;\n\tvoid (*edac_check)(struct edac_device_ctl_info *);\n\tstruct device *dev;\n\tconst char *mod_name;\n\tconst char *ctl_name;\n\tconst char *dev_name;\n\tvoid *pvt_info;\n\tlong unsigned int start_time;\n\tchar name[32];\n\tu32 nr_instances;\n\tstruct edac_device_instance *instances;\n\tstruct edac_device_block *blocks;\n\tstruct edac_device_counter counters;\n\tstruct kobject kobj;\n};\n\nstruct edac_device_instance {\n\tstruct edac_device_ctl_info *ctl;\n\tchar name[35];\n\tstruct edac_device_counter counters;\n\tu32 nr_blocks;\n\tstruct edac_device_block *blocks;\n\tstruct kobject kobj;\n};\n\nstruct edac_mc_layer {\n\tenum edac_mc_layer_type type;\n\tunsigned int size;\n\tbool is_virt_csrow;\n};\n\nstruct edac_pci_counter {\n\tatomic_t pe_count;\n\tatomic_t npe_count;\n};\n\nstruct edac_pci_ctl_info {\n\tstruct list_head link;\n\tint pci_idx;\n\tint op_state;\n\tstruct delayed_work work;\n\tvoid (*edac_check)(struct edac_pci_ctl_info *);\n\tstruct device *dev;\n\tconst char *mod_name;\n\tconst char *ctl_name;\n\tconst char *dev_name;\n\tvoid *pvt_info;\n\tlong unsigned int start_time;\n\tchar name[32];\n\tstruct edac_pci_counter counters;\n\tstruct kobject kobj;\n};\n\nstruct edac_pci_dev_attribute {\n\tstruct attribute attr;\n\tvoid *value;\n\tssize_t (*show)(void *, char *);\n\tssize_t (*store)(void *, const char *, size_t);\n};\n\nstruct edac_pci_gen_data {\n\tint edac_idx;\n};\n\nstruct edac_raw_error_desc {\n\tchar location[256];\n\tchar label[296];\n\tlong int grain;\n\tu16 error_count;\n\tenum hw_event_mc_err_type type;\n\tint top_layer;\n\tint mid_layer;\n\tint low_layer;\n\tlong unsigned int page_frame_number;\n\tlong unsigned int offset_in_page;\n\tlong unsigned int syndrome;\n\tconst char *msg;\n\tconst char *other_detail;\n};\n\nstruct edma_regs {\n\tvoid *cr;\n\tvoid *es;\n\tvoid *erqh;\n\tvoid *erql;\n\tvoid *eeih;\n\tvoid *eeil;\n\tvoid *seei;\n\tvoid *ceei;\n\tvoid *serq;\n\tvoid *cerq;\n\tvoid *cint;\n\tvoid *cerr;\n\tvoid *ssrt;\n\tvoid *cdne;\n\tvoid *inth;\n\tvoid *intl;\n\tvoid *errh;\n\tvoid *errl;\n};\n\nstruct eee_config {\n\tu32 tx_lpi_timer;\n\tbool tx_lpi_enabled;\n\tbool eee_enabled;\n};\n\nstruct ethtool_keee {\n\tlong unsigned int supported[2];\n\tlong unsigned int advertised[2];\n\tlong unsigned int lp_advertised[2];\n\tu32 tx_lpi_timer;\n\tbool tx_lpi_enabled;\n\tbool eee_active;\n\tbool eee_enabled;\n};\n\nstruct eee_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_keee eee;\n};\n\nstruct eeprom_93cx6 {\n\tvoid *data;\n\tvoid (*register_read)(struct eeprom_93cx6 *);\n\tvoid (*register_write)(struct eeprom_93cx6 *);\n\tint width;\n\tunsigned int quirks;\n\tchar drive_data;\n\tchar reg_data_in;\n\tchar reg_data_out;\n\tchar reg_data_clock;\n\tchar reg_chip_select;\n};\n\nstruct eeprom_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 length;\n\tu8 *data;\n};\n\nstruct ethnl_req_info {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu32 flags;\n\tu32 phy_index;\n};\n\nstruct eeprom_req_info {\n\tstruct ethnl_req_info base;\n\tu32 offset;\n\tu32 length;\n\tu8 page;\n\tu8 bank;\n\tu8 i2c_address;\n};\n\nstruct efi_memory_map {\n\tphys_addr_t phys_map;\n\tvoid *map;\n\tvoid *map_end;\n\tint nr_map;\n\tlong unsigned int desc_version;\n\tlong unsigned int desc_size;\n\tlong unsigned int flags;\n};\n\nstruct efi {\n\tconst efi_runtime_services_t *runtime;\n\tunsigned int runtime_version;\n\tunsigned int runtime_supported_mask;\n\tlong unsigned int acpi;\n\tlong unsigned int acpi20;\n\tlong unsigned int smbios;\n\tlong unsigned int smbios3;\n\tlong unsigned int esrt;\n\tlong unsigned int tpm_log;\n\tlong unsigned int tpm_final_log;\n\tlong unsigned int mokvar_table;\n\tlong unsigned int coco_secret;\n\tlong unsigned int unaccepted;\n\tefi_get_time_t *get_time;\n\tefi_set_time_t *set_time;\n\tefi_get_wakeup_time_t *get_wakeup_time;\n\tefi_set_wakeup_time_t *set_wakeup_time;\n\tefi_get_variable_t *get_variable;\n\tefi_get_next_variable_t *get_next_variable;\n\tefi_set_variable_t *set_variable;\n\tefi_set_variable_t *set_variable_nonblocking;\n\tefi_query_variable_info_t *query_variable_info;\n\tefi_query_variable_info_t *query_variable_info_nonblocking;\n\tefi_update_capsule_t *update_capsule;\n\tefi_query_capsule_caps_t *query_capsule_caps;\n\tefi_get_next_high_mono_count_t *get_next_high_mono_count;\n\tefi_reset_system_t *reset_system;\n\tstruct efi_memory_map memmap;\n\tlong unsigned int flags;\n};\n\nstruct efi_boot_memmap {\n\tlong unsigned int map_size;\n\tlong unsigned int desc_size;\n\tu32 desc_ver;\n\tlong unsigned int map_key;\n\tlong unsigned int buff_size;\n\tefi_memory_desc_t map[0];\n};\n\ntypedef void *efi_event_t;\n\ntypedef void (*efi_event_notify_t)(efi_event_t, void *);\n\nunion efi_boot_services {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tvoid *raise_tpl;\n\t\tvoid *restore_tpl;\n\t\tefi_status_t (*allocate_pages)(int, int, long unsigned int, efi_physical_addr_t *);\n\t\tefi_status_t (*free_pages)(efi_physical_addr_t, long unsigned int);\n\t\tefi_status_t (*get_memory_map)(long unsigned int *, void *, long unsigned int *, long unsigned int *, u32 *);\n\t\tefi_status_t (*allocate_pool)(int, long unsigned int, void **);\n\t\tefi_status_t (*free_pool)(void *);\n\t\tefi_status_t (*create_event)(u32, long unsigned int, efi_event_notify_t, void *, efi_event_t *);\n\t\tefi_status_t (*set_timer)(efi_event_t, EFI_TIMER_DELAY, u64);\n\t\tefi_status_t (*wait_for_event)(long unsigned int, efi_event_t *, long unsigned int *);\n\t\tvoid *signal_event;\n\t\tefi_status_t (*close_event)(efi_event_t);\n\t\tvoid *check_event;\n\t\tvoid *install_protocol_interface;\n\t\tvoid *reinstall_protocol_interface;\n\t\tvoid *uninstall_protocol_interface;\n\t\tefi_status_t (*handle_protocol)(efi_handle_t, efi_guid_t *, void **);\n\t\tvoid *__reserved;\n\t\tvoid *register_protocol_notify;\n\t\tefi_status_t (*locate_handle)(int, efi_guid_t *, void *, long unsigned int *, efi_handle_t *);\n\t\tefi_status_t (*locate_device_path)(efi_guid_t *, efi_device_path_protocol_t **, efi_handle_t *);\n\t\tefi_status_t (*install_configuration_table)(efi_guid_t *, void *);\n\t\tefi_status_t (*load_image)(bool, efi_handle_t, efi_device_path_protocol_t *, void *, long unsigned int, efi_handle_t *);\n\t\tefi_status_t (*start_image)(efi_handle_t, long unsigned int *, efi_char16_t **);\n\t\tefi_status_t (*exit)(efi_handle_t, efi_status_t, long unsigned int, efi_char16_t *);\n\t\tefi_status_t (*unload_image)(efi_handle_t);\n\t\tefi_status_t (*exit_boot_services)(efi_handle_t, long unsigned int);\n\t\tvoid *get_next_monotonic_count;\n\t\tefi_status_t (*stall)(long unsigned int);\n\t\tvoid *set_watchdog_timer;\n\t\tvoid *connect_controller;\n\t\tefi_status_t (*disconnect_controller)(efi_handle_t, efi_handle_t, efi_handle_t);\n\t\tvoid *open_protocol;\n\t\tvoid *close_protocol;\n\t\tvoid *open_protocol_information;\n\t\tvoid *protocols_per_handle;\n\t\tefi_status_t (*locate_handle_buffer)(int, efi_guid_t *, void *, long unsigned int *, efi_handle_t **);\n\t\tefi_status_t (*locate_protocol)(efi_guid_t *, void *, void **);\n\t\tefi_status_t (*install_multiple_protocol_interfaces)(efi_handle_t *, ...);\n\t\tefi_status_t (*uninstall_multiple_protocol_interfaces)(efi_handle_t, ...);\n\t\tvoid *calculate_crc32;\n\t\tvoid (*copy_mem)(void *, const void *, long unsigned int);\n\t\tvoid (*set_mem)(void *, long unsigned int, unsigned char);\n\t\tvoid *create_event_ex;\n\t};\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tu32 raise_tpl;\n\t\tu32 restore_tpl;\n\t\tu32 allocate_pages;\n\t\tu32 free_pages;\n\t\tu32 get_memory_map;\n\t\tu32 allocate_pool;\n\t\tu32 free_pool;\n\t\tu32 create_event;\n\t\tu32 set_timer;\n\t\tu32 wait_for_event;\n\t\tu32 signal_event;\n\t\tu32 close_event;\n\t\tu32 check_event;\n\t\tu32 install_protocol_interface;\n\t\tu32 reinstall_protocol_interface;\n\t\tu32 uninstall_protocol_interface;\n\t\tu32 handle_protocol;\n\t\tu32 __reserved;\n\t\tu32 register_protocol_notify;\n\t\tu32 locate_handle;\n\t\tu32 locate_device_path;\n\t\tu32 install_configuration_table;\n\t\tu32 load_image;\n\t\tu32 start_image;\n\t\tu32 exit;\n\t\tu32 unload_image;\n\t\tu32 exit_boot_services;\n\t\tu32 get_next_monotonic_count;\n\t\tu32 stall;\n\t\tu32 set_watchdog_timer;\n\t\tu32 connect_controller;\n\t\tu32 disconnect_controller;\n\t\tu32 open_protocol;\n\t\tu32 close_protocol;\n\t\tu32 open_protocol_information;\n\t\tu32 protocols_per_handle;\n\t\tu32 locate_handle_buffer;\n\t\tu32 locate_protocol;\n\t\tu32 install_multiple_protocol_interfaces;\n\t\tu32 uninstall_multiple_protocol_interfaces;\n\t\tu32 calculate_crc32;\n\t\tu32 copy_mem;\n\t\tu32 set_mem;\n\t\tu32 create_event_ex;\n\t} mixed_mode;\n};\n\nstruct efi_cc_event {\n\tu32 event_size;\n\tstruct {\n\t\tu32 header_size;\n\t\tu16 header_version;\n\t\tu32 mr_index;\n\t\tu32 event_type;\n\t} __attribute__((packed)) event_header;\n} __attribute__((packed));\n\ntypedef struct efi_cc_event efi_cc_event_t;\n\nunion efi_cc_protocol;\n\ntypedef union efi_cc_protocol efi_cc_protocol_t;\n\nunion efi_cc_protocol {\n\tstruct {\n\t\tefi_status_t (*get_capability)(efi_cc_protocol_t *, efi_cc_boot_service_cap_t *);\n\t\tefi_status_t (*get_event_log)(efi_cc_protocol_t *, efi_cc_event_log_format_t, efi_physical_addr_t *, efi_physical_addr_t *, efi_bool_t *);\n\t\tefi_status_t (*hash_log_extend_event)(efi_cc_protocol_t *, u64, efi_physical_addr_t, u64, const efi_cc_event_t *);\n\t\tefi_status_t (*map_pcr_to_mr_index)(efi_cc_protocol_t *, u32, efi_cc_mr_index_t *);\n\t};\n\tstruct {\n\t\tu32 get_capability;\n\t\tu32 get_event_log;\n\t\tu32 hash_log_extend_event;\n\t\tu32 map_pcr_to_mr_index;\n\t} mixed_mode;\n};\n\nunion efi_device_path_from_text_protocol {\n\tstruct {\n\t\tefi_device_path_protocol_t * (*convert_text_to_device_node)(const efi_char16_t *);\n\t\tefi_device_path_protocol_t * (*convert_text_to_device_path)(const efi_char16_t *);\n\t};\n\tstruct {\n\t\tu32 convert_text_to_device_node;\n\t\tu32 convert_text_to_device_path;\n\t} mixed_mode;\n};\n\ntypedef union efi_device_path_from_text_protocol efi_device_path_from_text_protocol_t;\n\nstruct efi_generic_dev_path {\n\tu8 type;\n\tu8 sub_type;\n\tu16 length;\n};\n\nstruct efi_file_path_dev_path {\n\tstruct efi_generic_dev_path header;\n\tefi_char16_t filename[0];\n};\n\nunion efi_file_protocol;\n\ntypedef union efi_file_protocol efi_file_protocol_t;\n\nunion efi_file_protocol {\n\tstruct {\n\t\tu64 revision;\n\t\tefi_status_t (*open)(efi_file_protocol_t *, efi_file_protocol_t **, efi_char16_t *, u64, u64);\n\t\tefi_status_t (*close)(efi_file_protocol_t *);\n\t\tefi_status_t (*delete)(efi_file_protocol_t *);\n\t\tefi_status_t (*read)(efi_file_protocol_t *, long unsigned int *, void *);\n\t\tefi_status_t (*write)(efi_file_protocol_t *, long unsigned int, void *);\n\t\tefi_status_t (*get_position)(efi_file_protocol_t *, u64 *);\n\t\tefi_status_t (*set_position)(efi_file_protocol_t *, u64);\n\t\tefi_status_t (*get_info)(efi_file_protocol_t *, efi_guid_t *, long unsigned int *, void *);\n\t\tefi_status_t (*set_info)(efi_file_protocol_t *, efi_guid_t *, long unsigned int, void *);\n\t\tefi_status_t (*flush)(efi_file_protocol_t *);\n\t};\n\tstruct {\n\t\tu64 revision;\n\t\tu32 open;\n\t\tu32 close;\n\t\tu32 delete;\n\t\tu32 read;\n\t\tu32 write;\n\t\tu32 get_position;\n\t\tu32 set_position;\n\t\tu32 get_info;\n\t\tu32 set_info;\n\t\tu32 flush;\n\t} mixed_mode;\n};\n\nunion efi_graphics_output_protocol;\n\ntypedef union efi_graphics_output_protocol efi_graphics_output_protocol_t;\n\nunion efi_graphics_output_protocol_mode;\n\ntypedef union efi_graphics_output_protocol_mode efi_graphics_output_protocol_mode_t;\n\nunion efi_graphics_output_protocol {\n\tstruct {\n\t\tefi_status_t (*query_mode)(efi_graphics_output_protocol_t *, u32, long unsigned int *, efi_graphics_output_mode_info_t **);\n\t\tefi_status_t (*set_mode)(efi_graphics_output_protocol_t *, u32);\n\t\tvoid *blt;\n\t\tefi_graphics_output_protocol_mode_t *mode;\n\t};\n\tstruct {\n\t\tu32 query_mode;\n\t\tu32 set_mode;\n\t\tu32 blt;\n\t\tu32 mode;\n\t} mixed_mode;\n};\n\nunion efi_graphics_output_protocol_mode {\n\tstruct {\n\t\tu32 max_mode;\n\t\tu32 mode;\n\t\tefi_graphics_output_mode_info_t *info;\n\t\tlong unsigned int size_of_info;\n\t\tefi_physical_addr_t frame_buffer_base;\n\t\tlong unsigned int frame_buffer_size;\n\t};\n\tstruct {\n\t\tu32 max_mode;\n\t\tu32 mode;\n\t\tu32 info;\n\t\tu32 size_of_info;\n\t\tu64 frame_buffer_base;\n\t\tu32 frame_buffer_size;\n\t} mixed_mode;\n};\n\nunion efi_load_file_protocol;\n\ntypedef union efi_load_file_protocol efi_load_file_protocol_t;\n\nunion efi_load_file_protocol {\n\tstruct {\n\t\tefi_status_t (*load_file)(efi_load_file_protocol_t *, efi_device_path_protocol_t *, bool, long unsigned int *, void *);\n\t};\n\tstruct {\n\t\tu32 load_file;\n\t} mixed_mode;\n};\n\ntypedef union efi_load_file_protocol efi_load_file2_protocol_t;\n\nunion efi_memory_attribute_protocol;\n\ntypedef union efi_memory_attribute_protocol efi_memory_attribute_protocol_t;\n\nunion efi_memory_attribute_protocol {\n\tstruct {\n\t\tefi_status_t (*get_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64 *);\n\t\tefi_status_t (*set_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64);\n\t\tefi_status_t (*clear_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64);\n\t};\n\tstruct {\n\t\tu32 get_memory_attributes;\n\t\tu32 set_memory_attributes;\n\t\tu32 clear_memory_attributes;\n\t} mixed_mode;\n};\n\nstruct efi_memory_map_data {\n\tphys_addr_t phys_map;\n\tlong unsigned int size;\n\tlong unsigned int desc_version;\n\tlong unsigned int desc_size;\n\tlong unsigned int flags;\n};\n\nunion efi_pci_io_protocol {\n\tstruct {\n\t\tvoid *poll_mem;\n\t\tvoid *poll_io;\n\t\tefi_pci_io_protocol_access_t mem;\n\t\tefi_pci_io_protocol_access_t io;\n\t\tefi_pci_io_protocol_config_access_t pci;\n\t\tvoid *copy_mem;\n\t\tvoid *map;\n\t\tvoid *unmap;\n\t\tvoid *allocate_buffer;\n\t\tvoid *free_buffer;\n\t\tvoid *flush;\n\t\tefi_status_t (*get_location)(efi_pci_io_protocol_t *, long unsigned int *, long unsigned int *, long unsigned int *, long unsigned int *);\n\t\tvoid *attributes;\n\t\tvoid *get_bar_attributes;\n\t\tvoid *set_bar_attributes;\n\t\tuint64_t romsize;\n\t\tvoid *romimage;\n\t};\n\tstruct {\n\t\tu32 poll_mem;\n\t\tu32 poll_io;\n\t\tefi_pci_io_protocol_access_32_t mem;\n\t\tefi_pci_io_protocol_access_32_t io;\n\t\tefi_pci_io_protocol_access_32_t pci;\n\t\tu32 copy_mem;\n\t\tu32 map;\n\t\tu32 unmap;\n\t\tu32 allocate_buffer;\n\t\tu32 free_buffer;\n\t\tu32 flush;\n\t\tu32 get_location;\n\t\tu32 attributes;\n\t\tu32 get_bar_attributes;\n\t\tu32 set_bar_attributes;\n\t\tu64 romsize;\n\t\tu32 romimage;\n\t} mixed_mode;\n};\n\nunion efi_rng_protocol;\n\ntypedef union efi_rng_protocol efi_rng_protocol_t;\n\nunion efi_rng_protocol {\n\tstruct {\n\t\tefi_status_t (*get_info)(efi_rng_protocol_t *, long unsigned int *, efi_guid_t *);\n\t\tefi_status_t (*get_rng)(efi_rng_protocol_t *, efi_guid_t *, long unsigned int, u8 *);\n\t};\n\tstruct {\n\t\tu32 get_info;\n\t\tu32 get_rng;\n\t} mixed_mode;\n};\n\nunion efi_rts_args {\n\tstruct {\n\t\tefi_time_t *time;\n\t\tefi_time_cap_t *capabilities;\n\t} GET_TIME;\n\tstruct {\n\t\tefi_time_t *time;\n\t} SET_TIME;\n\tstruct {\n\t\tefi_bool_t *enabled;\n\t\tefi_bool_t *pending;\n\t\tefi_time_t *time;\n\t} GET_WAKEUP_TIME;\n\tstruct {\n\t\tefi_bool_t enable;\n\t\tefi_time_t *time;\n\t} SET_WAKEUP_TIME;\n\tstruct {\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t\tu32 *attr;\n\t\tlong unsigned int *data_size;\n\t\tvoid *data;\n\t} GET_VARIABLE;\n\tstruct {\n\t\tlong unsigned int *name_size;\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t} GET_NEXT_VARIABLE;\n\tstruct {\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t\tu32 attr;\n\t\tlong unsigned int data_size;\n\t\tvoid *data;\n\t} SET_VARIABLE;\n\tstruct {\n\t\tu32 attr;\n\t\tu64 *storage_space;\n\t\tu64 *remaining_space;\n\t\tu64 *max_variable_size;\n\t} QUERY_VARIABLE_INFO;\n\tstruct {\n\t\tu32 *high_count;\n\t} GET_NEXT_HIGH_MONO_COUNT;\n\tstruct {\n\t\tefi_capsule_header_t **capsules;\n\t\tlong unsigned int count;\n\t\tlong unsigned int sg_list;\n\t} UPDATE_CAPSULE;\n\tstruct {\n\t\tefi_capsule_header_t **capsules;\n\t\tlong unsigned int count;\n\t\tu64 *max_size;\n\t\tint *reset_type;\n\t} QUERY_CAPSULE_CAPS;\n\tstruct {\n\t\tefi_status_t (*acpi_prm_handler)(u64, void *);\n\t\tu64 param_buffer_addr;\n\t\tvoid *context;\n\t} ACPI_PRM_HANDLER;\n};\n\nstruct efi_runtime_work {\n\tunion efi_rts_args *args;\n\tefi_status_t status;\n\tstruct work_struct work;\n\tenum efi_rts_ids efi_rts_id;\n\tstruct completion efi_rts_comp;\n\tconst void *caller;\n};\n\nunion efi_simple_file_system_protocol;\n\ntypedef union efi_simple_file_system_protocol efi_simple_file_system_protocol_t;\n\nunion efi_simple_file_system_protocol {\n\tstruct {\n\t\tu64 revision;\n\t\tefi_status_t (*open_volume)(efi_simple_file_system_protocol_t *, efi_file_protocol_t **);\n\t};\n\tstruct {\n\t\tu64 revision;\n\t\tu32 open_volume;\n\t} mixed_mode;\n};\n\nunion efi_simple_text_input_protocol {\n\tstruct {\n\t\tvoid *reset;\n\t\tefi_status_t (*read_keystroke)(efi_simple_text_input_protocol_t *, efi_input_key_t *);\n\t\tefi_event_t wait_for_key;\n\t};\n\tstruct {\n\t\tu32 reset;\n\t\tu32 read_keystroke;\n\t\tu32 wait_for_key;\n\t} mixed_mode;\n};\n\nunion efi_simple_text_output_protocol {\n\tstruct {\n\t\tvoid *reset;\n\t\tefi_status_t (*output_string)(efi_simple_text_output_protocol_t *, efi_char16_t *);\n\t\tvoid *test_string;\n\t};\n\tstruct {\n\t\tu32 reset;\n\t\tu32 output_string;\n\t\tu32 test_string;\n\t} mixed_mode;\n};\n\nunion efi_smbios_protocol;\n\ntypedef union efi_smbios_protocol efi_smbios_protocol_t;\n\nstruct efi_smbios_record;\n\nunion efi_smbios_protocol {\n\tstruct {\n\t\tefi_status_t (*add)(efi_smbios_protocol_t *, efi_handle_t, u16 *, struct efi_smbios_record *);\n\t\tefi_status_t (*update_string)(efi_smbios_protocol_t *, u16 *, long unsigned int *, u8 *);\n\t\tefi_status_t (*remove)(efi_smbios_protocol_t *, u16);\n\t\tefi_status_t (*get_next)(efi_smbios_protocol_t *, u16 *, u8 *, struct efi_smbios_record **, efi_handle_t *);\n\t\tu8 major_version;\n\t\tu8 minor_version;\n\t};\n\tstruct {\n\t\tu32 add;\n\t\tu32 update_string;\n\t\tu32 remove;\n\t\tu32 get_next;\n\t\tu8 major_version;\n\t\tu8 minor_version;\n\t} mixed_mode;\n};\n\nstruct efi_smbios_record {\n\tu8 type;\n\tu8 length;\n\tu16 handle;\n};\n\nstruct efi_smbios_type4_record {\n\tstruct efi_smbios_record header;\n\tu8 socket;\n\tu8 processor_type;\n\tu8 processor_family;\n\tu8 processor_manufacturer;\n\tu8 processor_id[8];\n\tu8 processor_version;\n\tu8 voltage;\n\tu16 external_clock;\n\tu16 max_speed;\n\tu16 current_speed;\n\tu8 status;\n\tu8 processor_upgrade;\n\tu16 l1_cache_handle;\n\tu16 l2_cache_handle;\n\tu16 l3_cache_handle;\n\tu8 serial_number;\n\tu8 asset_tag;\n\tu8 part_number;\n\tu8 core_count;\n\tu8 enabled_core_count;\n\tu8 thread_count;\n\tu16 processor_characteristics;\n\tu16 processor_family2;\n\tu16 core_count2;\n\tu16 enabled_core_count2;\n\tu16 thread_count2;\n\tu16 thread_enabled;\n};\n\nstruct efi_system_resource_entry_v1 {\n\tefi_guid_t fw_class;\n\tu32 fw_type;\n\tu32 fw_version;\n\tu32 lowest_supported_fw_version;\n\tu32 capsule_flags;\n\tu32 last_attempt_version;\n\tu32 last_attempt_status;\n};\n\nstruct efi_system_resource_table {\n\tu32 fw_resource_count;\n\tu32 fw_resource_count_max;\n\tu64 fw_resource_version;\n\tu8 entries[0];\n};\n\nstruct efi_tcg2_event {\n\tu32 event_size;\n\tstruct {\n\t\tu32 header_size;\n\t\tu16 header_version;\n\t\tu32 pcr_index;\n\t\tu32 event_type;\n\t} __attribute__((packed)) event_header;\n} __attribute__((packed));\n\ntypedef struct efi_tcg2_event efi_tcg2_event_t;\n\nstruct efi_tcg2_final_events_table {\n\tu64 version;\n\tu64 nr_events;\n\tu8 events[0];\n};\n\nunion efi_tcg2_protocol;\n\ntypedef union efi_tcg2_protocol efi_tcg2_protocol_t;\n\nunion efi_tcg2_protocol {\n\tstruct {\n\t\tvoid *get_capability;\n\t\tefi_status_t (*get_event_log)(efi_tcg2_protocol_t *, efi_tcg2_event_log_format, efi_physical_addr_t *, efi_physical_addr_t *, efi_bool_t *);\n\t\tefi_status_t (*hash_log_extend_event)(efi_tcg2_protocol_t *, u64, efi_physical_addr_t, u64, const efi_tcg2_event_t *);\n\t\tvoid *submit_command;\n\t\tvoid *get_active_pcr_banks;\n\t\tvoid *set_active_pcr_banks;\n\t\tvoid *get_result_of_set_active_pcr_banks;\n\t};\n\tstruct {\n\t\tu32 get_capability;\n\t\tu32 get_event_log;\n\t\tu32 hash_log_extend_event;\n\t\tu32 submit_command;\n\t\tu32 get_active_pcr_banks;\n\t\tu32 set_active_pcr_banks;\n\t\tu32 get_result_of_set_active_pcr_banks;\n\t} mixed_mode;\n};\n\nstruct efi_unaccepted_memory {\n\tu32 version;\n\tu32 unit_size;\n\tu64 phys_base;\n\tu64 size;\n\tlong unsigned int bitmap[0];\n};\n\nstruct efi_variable {\n\tefi_char16_t VariableName[512];\n\tefi_guid_t VendorGuid;\n};\n\nstruct efi_vendor_dev_path {\n\tstruct efi_generic_dev_path header;\n\tefi_guid_t vendorguid;\n\tu8 vendordata[0];\n};\n\nstruct efifb_dmi_info {\n\tchar *optname;\n\tlong unsigned int base;\n\tint stride;\n\tint width;\n\tint height;\n\tint flags;\n};\n\nstruct efifb_par {\n\tu32 pseudo_palette[16];\n\tresource_size_t base;\n\tresource_size_t size;\n};\n\nunion efistub_event {\n\tefi_tcg2_event_t tcg2_data;\n\tefi_cc_event_t cc_data;\n};\n\nstruct tdTCG_PCClientTaggedEvent {\n\tu32 tagged_event_id;\n\tu32 tagged_event_data_size;\n\tu8 tagged_event_data[0];\n};\n\ntypedef struct tdTCG_PCClientTaggedEvent TCG_PCClientTaggedEvent;\n\nstruct efistub_measured_event {\n\tunion efistub_event event_data;\n\tTCG_PCClientTaggedEvent tagged_event;\n} __attribute__((packed));\n\nstruct efivar_entry {\n\tstruct efi_variable var;\n\tstruct inode vfs_inode;\n\tlong unsigned int open_count;\n\tbool removed;\n};\n\ntypedef efi_status_t efi_query_variable_store_t(u32, long unsigned int, bool);\n\nstruct efivar_operations {\n\tefi_get_variable_t *get_variable;\n\tefi_get_next_variable_t *get_next_variable;\n\tefi_set_variable_t *set_variable;\n\tefi_set_variable_t *set_variable_nonblocking;\n\tefi_query_variable_store_t *query_variable_store;\n\tefi_query_variable_info_t *query_variable_info;\n};\n\nstruct efivarfs_ctx {\n\tstruct dir_context ctx;\n\tstruct super_block *sb;\n\tstruct dentry *dentry;\n};\n\nstruct efivarfs_mount_opts {\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\nstruct efivarfs_fs_info {\n\tstruct efivarfs_mount_opts mount_opts;\n\tstruct super_block *sb;\n\tstruct notifier_block nb;\n\tstruct notifier_block pm_nb;\n};\n\nstruct efivars {\n\tstruct kset *kset;\n\tconst struct efivar_operations *ops;\n};\n\nstruct ehci_caps {\n\tu32 hc_capbase;\n\tu32 hcs_params;\n\tu32 hcc_params;\n\tu8 portroute[8];\n};\n\nstruct ehci_ci_priv {\n\tstruct regulator *reg_vbus;\n\tbool enabled;\n};\n\nstruct ehci_dbg_port {\n\tu32 control;\n\tu32 pids;\n\tu32 data03;\n\tu32 data47;\n\tu32 address;\n};\n\nstruct ehci_driver_overrides {\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n\tint (*port_power)(struct usb_hcd *, int, bool);\n};\n\nstruct ehci_qh;\n\nstruct ehci_itd;\n\nstruct ehci_sitd;\n\nstruct ehci_fstn;\n\nunion ehci_shadow {\n\tstruct ehci_qh *qh;\n\tstruct ehci_itd *itd;\n\tstruct ehci_sitd *sitd;\n\tstruct ehci_fstn *fstn;\n\t__le32 *hw_next;\n\tvoid *ptr;\n};\n\nstruct ehci_fstn {\n\t__le32 hw_next;\n\t__le32 hw_prev;\n\tdma_addr_t fstn_dma;\n\tunion ehci_shadow fstn_next;\n\tlong: 64;\n};\n\nstruct ehci_regs;\n\nstruct ehci_hcd {\n\tenum ehci_hrtimer_event next_hrtimer_event;\n\tunsigned int enabled_hrtimer_events;\n\tktime_t hr_timeouts[12];\n\tstruct hrtimer hrtimer;\n\tint PSS_poll_count;\n\tint ASS_poll_count;\n\tint died_poll_count;\n\tstruct ehci_caps *caps;\n\tstruct ehci_regs *regs;\n\tstruct ehci_dbg_port *debug;\n\t__u32 hcs_params;\n\tspinlock_t lock;\n\tenum ehci_rh_state rh_state;\n\tbool scanning: 1;\n\tbool need_rescan: 1;\n\tbool intr_unlinking: 1;\n\tbool iaa_in_progress: 1;\n\tbool async_unlinking: 1;\n\tbool shutdown: 1;\n\tstruct ehci_qh *qh_scan_next;\n\tstruct ehci_qh *async;\n\tstruct ehci_qh *dummy;\n\tstruct list_head async_unlink;\n\tstruct list_head async_idle;\n\tunsigned int async_unlink_cycle;\n\tunsigned int async_count;\n\t__le32 old_current;\n\t__le32 old_token;\n\tunsigned int periodic_size;\n\t__le32 *periodic;\n\tdma_addr_t periodic_dma;\n\tstruct list_head intr_qh_list;\n\tunsigned int i_thresh;\n\tunion ehci_shadow *pshadow;\n\tstruct list_head intr_unlink_wait;\n\tstruct list_head intr_unlink;\n\tunsigned int intr_unlink_wait_cycle;\n\tunsigned int intr_unlink_cycle;\n\tunsigned int now_frame;\n\tunsigned int last_iso_frame;\n\tunsigned int intr_count;\n\tunsigned int isoc_count;\n\tunsigned int periodic_count;\n\tunsigned int uframe_periodic_max;\n\tstruct list_head cached_itd_list;\n\tstruct ehci_itd *last_itd_to_free;\n\tstruct list_head cached_sitd_list;\n\tstruct ehci_sitd *last_sitd_to_free;\n\tlong unsigned int reset_done[15];\n\tlong unsigned int bus_suspended;\n\tlong unsigned int companion_ports;\n\tlong unsigned int owned_ports;\n\tlong unsigned int port_c_suspend;\n\tlong unsigned int suspended_ports;\n\tlong unsigned int resuming_ports;\n\tstruct dma_pool *qh_pool;\n\tstruct dma_pool *qtd_pool;\n\tstruct dma_pool *itd_pool;\n\tstruct dma_pool *sitd_pool;\n\tunsigned int random_frame;\n\tlong unsigned int next_statechange;\n\tktime_t last_periodic_enable;\n\tu32 command;\n\tunsigned int no_selective_suspend: 1;\n\tunsigned int has_fsl_port_bug: 1;\n\tunsigned int has_fsl_hs_errata: 1;\n\tunsigned int has_fsl_susp_errata: 1;\n\tunsigned int has_ci_pec_bug: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_capbase: 1;\n\tunsigned int has_amcc_usb23: 1;\n\tunsigned int need_io_watchdog: 1;\n\tunsigned int amd_pll_fix: 1;\n\tunsigned int use_dummy_qh: 1;\n\tunsigned int has_synopsys_hc_bug: 1;\n\tunsigned int frame_index_bug: 1;\n\tunsigned int need_oc_pp_cycle: 1;\n\tunsigned int imx28_write_fix: 1;\n\tunsigned int spurious_oc: 1;\n\tunsigned int is_aspeed: 1;\n\tunsigned int zx_wakeup_clear_needed: 1;\n\t__le32 *ohci_hcctrl_reg;\n\tunsigned int has_hostpc: 1;\n\tunsigned int has_tdi_phy_lpm: 1;\n\tunsigned int has_ppcd: 1;\n\tu8 sbrn;\n\tu8 bandwidth[64];\n\tu8 tt_budget[64];\n\tstruct list_head tt_list;\n\tlong unsigned int priv[0];\n};\n\nstruct ehci_iso_packet {\n\tu64 bufp;\n\t__le32 transaction;\n\tu8 cross;\n\tu32 buf1;\n};\n\nstruct ehci_iso_sched {\n\tstruct list_head td_list;\n\tunsigned int span;\n\tunsigned int first_packet;\n\tstruct ehci_iso_packet packet[0];\n};\n\nstruct usb_host_endpoint;\n\nstruct ehci_per_sched {\n\tstruct usb_device *udev;\n\tstruct usb_host_endpoint *ep;\n\tstruct list_head ps_list;\n\tu16 tt_usecs;\n\tu16 cs_mask;\n\tu16 period;\n\tu16 phase;\n\tu8 bw_phase;\n\tu8 phase_uf;\n\tu8 usecs;\n\tu8 c_usecs;\n\tu8 bw_uperiod;\n\tu8 bw_period;\n};\n\nstruct ehci_qh_hw;\n\nstruct ehci_iso_stream {\n\tstruct ehci_qh_hw *hw;\n\tu8 bEndpointAddress;\n\tu8 highspeed;\n\tstruct list_head td_list;\n\tstruct list_head free_list;\n\tstruct ehci_per_sched ps;\n\tunsigned int next_uframe;\n\t__le32 splits;\n\tu16 uperiod;\n\tu16 maxp;\n\tunsigned int bandwidth;\n\t__le32 buf0;\n\t__le32 buf1;\n\t__le32 buf2;\n\t__le32 address;\n};\n\nstruct ehci_itd {\n\t__le32 hw_next;\n\t__le32 hw_transaction[8];\n\t__le32 hw_bufp[7];\n\t__le32 hw_bufp_hi[7];\n\tdma_addr_t itd_dma;\n\tunion ehci_shadow itd_next;\n\tstruct urb *urb;\n\tstruct ehci_iso_stream *stream;\n\tstruct list_head itd_list;\n\tunsigned int frame;\n\tunsigned int pg;\n\tunsigned int index[8];\n\tlong: 64;\n};\n\nstruct ehci_platform_priv {\n\tstruct clk *clks[4];\n\tstruct reset_control *rsts;\n\tbool reset_on_resume;\n\tbool quirk_poll;\n\tstruct timer_list poll_timer;\n\tstruct delayed_work poll_work;\n};\n\nstruct ehci_qtd;\n\nstruct ehci_qh {\n\tstruct ehci_qh_hw *hw;\n\tdma_addr_t qh_dma;\n\tunion ehci_shadow qh_next;\n\tstruct list_head qtd_list;\n\tstruct list_head intr_node;\n\tstruct ehci_qtd *dummy;\n\tstruct list_head unlink_node;\n\tstruct ehci_per_sched ps;\n\tunsigned int unlink_cycle;\n\tu8 qh_state;\n\tu8 xacterrs;\n\tu8 unlink_reason;\n\tu8 gap_uf;\n\tunsigned int is_out: 1;\n\tunsigned int clearing_tt: 1;\n\tunsigned int dequeue_during_giveback: 1;\n\tunsigned int should_be_inactive: 1;\n};\n\nstruct ehci_qh_hw {\n\t__le32 hw_next;\n\t__le32 hw_info1;\n\t__le32 hw_info2;\n\t__le32 hw_current;\n\t__le32 hw_qtd_next;\n\t__le32 hw_alt_next;\n\t__le32 hw_token;\n\t__le32 hw_buf[5];\n\t__le32 hw_buf_hi[5];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ehci_qtd {\n\t__le32 hw_next;\n\t__le32 hw_alt_next;\n\t__le32 hw_token;\n\t__le32 hw_buf[5];\n\t__le32 hw_buf_hi[5];\n\tdma_addr_t qtd_dma;\n\tstruct list_head qtd_list;\n\tstruct urb *urb;\n\tsize_t length;\n};\n\nstruct ehci_regs {\n\tu32 command;\n\tu32 status;\n\tu32 intr_enable;\n\tu32 frame_index;\n\tu32 segment;\n\tu32 frame_list;\n\tu32 async_next;\n\tu32 reserved1[2];\n\tu32 txfill_tuning;\n\tu32 reserved2[6];\n\tu32 configured_flag;\n\tunion {\n\t\tu32 port_status[15];\n\t\tstruct {\n\t\t\tu32 reserved3[9];\n\t\t\tu32 usbmode;\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu32 reserved4;\n\t\t\tu32 hostpc[15];\n\t\t};\n\t\tu32 brcm_insnreg[4];\n\t};\n\tu32 reserved5[2];\n\tu32 usbmode_ex;\n};\n\nstruct ehci_sitd {\n\t__le32 hw_next;\n\t__le32 hw_fullspeed_ep;\n\t__le32 hw_uframe;\n\t__le32 hw_results;\n\t__le32 hw_buf[2];\n\t__le32 hw_backpointer;\n\t__le32 hw_buf_hi[2];\n\tdma_addr_t sitd_dma;\n\tunion ehci_shadow sitd_next;\n\tstruct urb *urb;\n\tstruct ehci_iso_stream *stream;\n\tstruct list_head sitd_list;\n\tunsigned int frame;\n\tunsigned int index;\n};\n\nstruct ehci_tt {\n\tu16 bandwidth[8];\n\tstruct list_head tt_list;\n\tstruct list_head ps_list;\n\tstruct usb_tt *usb_tt;\n\tint tt_port;\n};\n\nstruct einj_parameter {\n\tu64 type;\n\tu64 reserved1;\n\tu64 reserved2;\n\tu64 param1;\n\tu64 param2;\n};\n\nstruct elevator_queue;\n\nstruct elevator_mq_ops {\n\tint (*init_sched)(struct request_queue *, struct elevator_type *);\n\tvoid (*exit_sched)(struct elevator_queue *);\n\tint (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tvoid (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tvoid (*depth_updated)(struct blk_mq_hw_ctx *);\n\tbool (*allow_merge)(struct request_queue *, struct request *, struct bio *);\n\tbool (*bio_merge)(struct request_queue *, struct bio *, unsigned int);\n\tint (*request_merge)(struct request_queue *, struct request **, struct bio *);\n\tvoid (*request_merged)(struct request_queue *, struct request *, enum elv_merge);\n\tvoid (*requests_merged)(struct request_queue *, struct request *, struct request *);\n\tvoid (*limit_depth)(blk_opf_t, struct blk_mq_alloc_data *);\n\tvoid (*prepare_request)(struct request *);\n\tvoid (*finish_request)(struct request *);\n\tvoid (*insert_requests)(struct blk_mq_hw_ctx *, struct list_head *, blk_insert_t);\n\tstruct request * (*dispatch_request)(struct blk_mq_hw_ctx *);\n\tbool (*has_work)(struct blk_mq_hw_ctx *);\n\tvoid (*completed_request)(struct request *, u64);\n\tvoid (*requeue_request)(struct request *);\n\tstruct request * (*former_request)(struct request_queue *, struct request *);\n\tstruct request * (*next_request)(struct request_queue *, struct request *);\n\tvoid (*init_icq)(struct io_cq *);\n\tvoid (*exit_icq)(struct io_cq *);\n};\n\nstruct elevator_queue {\n\tstruct elevator_type *type;\n\tvoid *elevator_data;\n\tstruct kobject kobj;\n\tstruct mutex sysfs_lock;\n\tlong unsigned int flags;\n\tstruct hlist_head hash[64];\n};\n\nstruct elv_fs_entry;\n\nstruct elevator_type {\n\tstruct kmem_cache *icq_cache;\n\tstruct elevator_mq_ops ops;\n\tsize_t icq_size;\n\tsize_t icq_align;\n\tconst struct elv_fs_entry *elevator_attrs;\n\tconst char *elevator_name;\n\tconst char *elevator_alias;\n\tstruct module *elevator_owner;\n\tconst struct blk_mq_debugfs_attr *queue_debugfs_attrs;\n\tconst struct blk_mq_debugfs_attr *hctx_debugfs_attrs;\n\tchar icq_cache_name[22];\n\tstruct list_head list;\n};\n\nstruct elf32_hdr {\n\tunsigned char e_ident[16];\n\tElf32_Half e_type;\n\tElf32_Half e_machine;\n\tElf32_Word e_version;\n\tElf32_Addr e_entry;\n\tElf32_Off e_phoff;\n\tElf32_Off e_shoff;\n\tElf32_Word e_flags;\n\tElf32_Half e_ehsize;\n\tElf32_Half e_phentsize;\n\tElf32_Half e_phnum;\n\tElf32_Half e_shentsize;\n\tElf32_Half e_shnum;\n\tElf32_Half e_shstrndx;\n};\n\ntypedef struct elf32_hdr Elf32_Ehdr;\n\nstruct elf32_note {\n\tElf32_Word n_namesz;\n\tElf32_Word n_descsz;\n\tElf32_Word n_type;\n};\n\ntypedef struct elf32_note Elf32_Nhdr;\n\nstruct elf32_phdr {\n\tElf32_Word p_type;\n\tElf32_Off p_offset;\n\tElf32_Addr p_vaddr;\n\tElf32_Addr p_paddr;\n\tElf32_Word p_filesz;\n\tElf32_Word p_memsz;\n\tElf32_Word p_flags;\n\tElf32_Word p_align;\n};\n\ntypedef struct elf32_phdr Elf32_Phdr;\n\nstruct elf32_shdr {\n\tElf32_Word sh_name;\n\tElf32_Word sh_type;\n\tElf32_Word sh_flags;\n\tElf32_Addr sh_addr;\n\tElf32_Off sh_offset;\n\tElf32_Word sh_size;\n\tElf32_Word sh_link;\n\tElf32_Word sh_info;\n\tElf32_Word sh_addralign;\n\tElf32_Word sh_entsize;\n};\n\nstruct elf64_hdr {\n\tunsigned char e_ident[16];\n\tElf64_Half e_type;\n\tElf64_Half e_machine;\n\tElf64_Word e_version;\n\tElf64_Addr e_entry;\n\tElf64_Off e_phoff;\n\tElf64_Off e_shoff;\n\tElf64_Word e_flags;\n\tElf64_Half e_ehsize;\n\tElf64_Half e_phentsize;\n\tElf64_Half e_phnum;\n\tElf64_Half e_shentsize;\n\tElf64_Half e_shnum;\n\tElf64_Half e_shstrndx;\n};\n\ntypedef struct elf64_hdr Elf64_Ehdr;\n\nstruct elf64_note {\n\tElf64_Word n_namesz;\n\tElf64_Word n_descsz;\n\tElf64_Word n_type;\n};\n\ntypedef struct elf64_note Elf64_Nhdr;\n\nstruct elf64_phdr {\n\tElf64_Word p_type;\n\tElf64_Word p_flags;\n\tElf64_Off p_offset;\n\tElf64_Addr p_vaddr;\n\tElf64_Addr p_paddr;\n\tElf64_Xword p_filesz;\n\tElf64_Xword p_memsz;\n\tElf64_Xword p_align;\n};\n\ntypedef struct elf64_phdr Elf64_Phdr;\n\nstruct elf64_rela {\n\tElf64_Addr r_offset;\n\tElf64_Xword r_info;\n\tElf64_Sxword r_addend;\n};\n\ntypedef struct elf64_rela Elf64_Rela;\n\nstruct elf64_shdr {\n\tElf64_Word sh_name;\n\tElf64_Word sh_type;\n\tElf64_Xword sh_flags;\n\tElf64_Addr sh_addr;\n\tElf64_Off sh_offset;\n\tElf64_Xword sh_size;\n\tElf64_Word sh_link;\n\tElf64_Word sh_info;\n\tElf64_Xword sh_addralign;\n\tElf64_Xword sh_entsize;\n};\n\ntypedef struct elf64_shdr Elf64_Shdr;\n\nstruct elf64_sym {\n\tElf64_Word st_name;\n\tunsigned char st_info;\n\tunsigned char st_other;\n\tElf64_Half st_shndx;\n\tElf64_Addr st_value;\n\tElf64_Xword st_size;\n};\n\ntypedef struct elf64_sym Elf64_Sym;\n\nstruct memelfnote {\n\tconst char *name;\n\tint type;\n\tunsigned int datasz;\n\tvoid *data;\n};\n\nstruct elf_thread_core_info;\n\nstruct elf_note_info {\n\tstruct elf_thread_core_info *thread;\n\tstruct memelfnote psinfo;\n\tstruct memelfnote signote;\n\tstruct memelfnote auxv;\n\tstruct memelfnote files;\n\tcompat_siginfo_t csigdata;\n\tsize_t size;\n\tint thread_notes;\n};\n\nstruct siginfo {\n\tunion {\n\t\tstruct {\n\t\t\tint si_signo;\n\t\t\tint si_errno;\n\t\t\tint si_code;\n\t\t\tunion __sifields _sifields;\n\t\t};\n\t\tint _si_pad[32];\n\t};\n};\n\ntypedef struct siginfo siginfo_t;\n\nstruct elf_thread_core_info___2;\n\nstruct elf_note_info___2 {\n\tstruct elf_thread_core_info___2 *thread;\n\tstruct memelfnote psinfo;\n\tstruct memelfnote signote;\n\tstruct memelfnote auxv;\n\tstruct memelfnote files;\n\tsiginfo_t csigdata;\n\tsize_t size;\n\tint thread_notes;\n};\n\nstruct elf_prpsinfo {\n\tchar pr_state;\n\tchar pr_sname;\n\tchar pr_zomb;\n\tchar pr_nice;\n\tlong unsigned int pr_flag;\n\t__kernel_uid_t pr_uid;\n\t__kernel_gid_t pr_gid;\n\tpid_t pr_pid;\n\tpid_t pr_ppid;\n\tpid_t pr_pgrp;\n\tpid_t pr_sid;\n\tchar pr_fname[16];\n\tchar pr_psargs[80];\n};\n\nstruct elf_siginfo {\n\tint si_signo;\n\tint si_code;\n\tint si_errno;\n};\n\nstruct elf_prstatus_common {\n\tstruct elf_siginfo pr_info;\n\tshort int pr_cursig;\n\tlong unsigned int pr_sigpend;\n\tlong unsigned int pr_sighold;\n\tpid_t pr_pid;\n\tpid_t pr_ppid;\n\tpid_t pr_pgrp;\n\tpid_t pr_sid;\n\tstruct __kernel_old_timeval pr_utime;\n\tstruct __kernel_old_timeval pr_stime;\n\tstruct __kernel_old_timeval pr_cutime;\n\tstruct __kernel_old_timeval pr_cstime;\n};\n\nstruct elf_prstatus {\n\tstruct elf_prstatus_common common;\n\telf_gregset_t pr_reg;\n\tint pr_fpvalid;\n};\n\nstruct elf_thread_core_info___2 {\n\tstruct elf_thread_core_info___2 *next;\n\tstruct task_struct *task;\n\tstruct elf_prstatus prstatus;\n\tstruct memelfnote notes[0];\n};\n\nstruct elf_thread_core_info {\n\tstruct elf_thread_core_info *next;\n\tstruct task_struct *task;\n\tstruct compat_elf_prstatus prstatus;\n\tstruct memelfnote notes[0];\n};\n\nstruct elv_fs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct elevator_queue *, char *);\n\tssize_t (*store)(struct elevator_queue *, const char *, size_t);\n};\n\nstruct em_data_callback {\n\tint (*active_power)(struct device *, long unsigned int *, long unsigned int *);\n\tint (*get_cost)(struct device *, long unsigned int, long unsigned int *);\n};\n\nstruct em_dbg_info {\n\tstruct em_perf_domain *pd;\n\tint ps_id;\n};\n\nstruct em_perf_table;\n\nstruct em_perf_domain {\n\tstruct em_perf_table *em_table;\n\tint nr_perf_states;\n\tint min_perf_state;\n\tint max_perf_state;\n\tlong unsigned int flags;\n\tlong unsigned int cpus[0];\n};\n\nstruct em_perf_state {\n\tlong unsigned int performance;\n\tlong unsigned int frequency;\n\tlong unsigned int power;\n\tlong unsigned int cost;\n\tlong unsigned int flags;\n};\n\nstruct em_perf_table {\n\tstruct callback_head rcu;\n\tstruct kref kref;\n\tstruct em_perf_state state[0];\n};\n\nstruct emc_dvfs_latency {\n\tuint32_t freq;\n\tuint32_t latency;\n};\n\nstruct en_clk_desc {\n\tint id;\n\tconst char *name;\n\tu32 base_reg;\n\tu8 base_bits;\n\tu8 base_shift;\n\tunion {\n\t\tconst unsigned int *base_values;\n\t\tunsigned int base_value;\n\t};\n\tsize_t n_base_values;\n\tu16 div_reg;\n\tu8 div_bits;\n\tu8 div_shift;\n\tu16 div_val0;\n\tu8 div_step;\n\tu8 div_offset;\n};\n\nstruct en_clk_gate {\n\tvoid *base;\n\tstruct clk_hw hw;\n};\n\nstruct en_clk_soc_data {\n\tu32 num_clocks;\n\tconst struct clk_ops pcie_ops;\n\tint (*hw_init)(struct platform_device *, struct clk_hw_onecell_data *);\n};\n\nstruct en_rst_data {\n\tconst u16 *bank_ofs;\n\tconst u16 *idx_map;\n\tvoid *base;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct trace_event_file;\n\nstruct enable_trigger_data {\n\tstruct trace_event_file *file;\n\tbool enable;\n\tbool hist;\n};\n\nunion trap_config {\n\tu64 val;\n\tstruct {\n\t\tlong unsigned int cgt: 10;\n\t\tlong unsigned int fgt: 4;\n\t\tlong unsigned int bit: 6;\n\t\tlong unsigned int pol: 1;\n\t\tlong unsigned int fgf: 5;\n\t\tlong unsigned int sri: 10;\n\t\tlong unsigned int unused: 27;\n\t\tlong unsigned int mbz: 1;\n\t};\n};\n\nstruct encoding_to_trap_config {\n\tconst u32 encoding;\n\tconst u32 end;\n\tconst union trap_config tc;\n\tconst unsigned int line;\n};\n\nstruct xdr_buf;\n\nstruct encryptor_desc {\n\tu8 iv[16];\n\tstruct skcipher_request *req;\n\tint pos;\n\tstruct xdr_buf *outbuf;\n\tstruct page **pages;\n\tstruct scatterlist infrags[4];\n\tstruct scatterlist outfrags[4];\n\tint fragno;\n\tint fraglen;\n};\n\nstruct energy_env {\n\tlong unsigned int task_busy_time;\n\tlong unsigned int pd_busy_time;\n\tlong unsigned int cpu_cap;\n\tlong unsigned int pd_cap;\n};\n\nstruct enetc_xdp_data {\n\tstruct xdp_rxq_info rxq;\n\tstruct bpf_prog *prog;\n\tint xdp_tx_in_flight;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct enetc_ring_stats {\n\tunsigned int packets;\n\tunsigned int bytes;\n\tunsigned int rx_alloc_errs;\n\tunsigned int xdp_drops;\n\tunsigned int xdp_tx;\n\tunsigned int xdp_tx_drops;\n\tunsigned int xdp_redirect;\n\tunsigned int xdp_redirect_failures;\n\tunsigned int recycles;\n\tunsigned int recycle_failures;\n\tunsigned int win_drop;\n};\n\nstruct enetc_tx_swbd;\n\nstruct enetc_rx_swbd;\n\nstruct enetc_bdr {\n\tstruct device *dev;\n\tstruct net_device *ndev;\n\tvoid *bd_base;\n\tunion {\n\t\tvoid *tpir;\n\t\tvoid *rcir;\n\t};\n\tu16 index;\n\tu16 prio;\n\tint bd_count;\n\tint next_to_use;\n\tint next_to_clean;\n\tunion {\n\t\tstruct enetc_tx_swbd *tx_swbd;\n\t\tstruct enetc_rx_swbd *rx_swbd;\n\t};\n\tunion {\n\t\tvoid *tcir;\n\t\tint next_to_alloc;\n\t};\n\tvoid *idr;\n\tint buffer_offset;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct enetc_xdp_data xdp;\n\tstruct enetc_ring_stats stats;\n\tdma_addr_t bd_dma_base;\n\tu8 tsd_enable;\n\tbool ext_en;\n\tchar *tso_headers;\n\tdma_addr_t tso_headers_dma;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct enetc_bdr_resource {\n\tstruct device *dev;\n\tsize_t bd_count;\n\tsize_t bd_size;\n\tvoid *bd_base;\n\tdma_addr_t bd_dma_base;\n\tunion {\n\t\tstruct enetc_tx_swbd *tx_swbd;\n\t\tstruct enetc_rx_swbd *rx_swbd;\n\t};\n\tchar *tso_headers;\n\tdma_addr_t tso_headers_dma;\n};\n\nstruct sfi_conf {\n\t__le32 stream_handle;\n\tu8 multi;\n\tu8 res[2];\n\tu8 sthm;\n\t__le16 fm_inst_table_index;\n\t__le16 msdu;\n\t__le16 sg_inst_table_index;\n\tu8 res1[2];\n\t__le32 input_ports;\n\tu8 res2[3];\n\tu8 en;\n};\n\nstruct sgi_table {\n\tu8 res[8];\n\tu8 oipv;\n\tu8 res0[2];\n\tu8 ocgtst;\n\tu8 res1[7];\n\tu8 gset;\n\tu8 oacl_len;\n\tu8 res2[2];\n\tu8 en;\n};\n\nstruct fmi_conf {\n\t__le32 cir;\n\t__le32 cbs;\n\t__le32 eir;\n\t__le32 ebs;\n\tu8 conf;\n\tu8 res1;\n\tu8 ir_fpp;\n\tu8 res2[4];\n\tu8 en;\n};\n\nstruct tgs_gcl_conf {\n\tu8 atc;\n\tu8 res[7];\n\tstruct {\n\t\tu8 res1[4];\n\t\t__le16 acl_len;\n\t\tu8 res2[2];\n\t};\n};\n\nstruct streamid_conf {\n\t__le32 stream_handle;\n\t__le32 iports;\n\tu8 id_type;\n\tu8 oui[3];\n\tu8 res[3];\n\tu8 en;\n};\n\nstruct sgcl_conf {\n\tu8 aipv;\n\tu8 res[2];\n\tu8 agtst;\n\tu8 res1[4];\n\tunion {\n\t\tstruct {\n\t\t\tu8 res2[4];\n\t\t\tu8 acl_len;\n\t\t\tu8 res3[3];\n\t\t};\n\t\tu8 cct[8];\n\t};\n};\n\nstruct enetc_cbd {\n\tunion {\n\t\tstruct sfi_conf sfi_conf;\n\t\tstruct sgi_table sgi_table;\n\t\tstruct fmi_conf fmi_conf;\n\t\tstruct {\n\t\t\t__le32 addr[2];\n\t\t\tunion {\n\t\t\t\t__le32 opt[4];\n\t\t\t\tstruct tgs_gcl_conf gcl_conf;\n\t\t\t\tstruct streamid_conf sid_set;\n\t\t\t\tstruct sgcl_conf sgcl_conf;\n\t\t\t};\n\t\t};\n\t\t__le32 data[6];\n\t};\n\t__le16 index;\n\t__le16 length;\n\tu8 cmd;\n\tu8 cls;\n\tu8 _res;\n\tu8 status_flags;\n};\n\nstruct enetc_cbdr {\n\tvoid *bd_base;\n\tvoid *pir;\n\tvoid *cir;\n\tvoid *mr;\n\tint bd_count;\n\tint next_to_use;\n\tint next_to_clean;\n\tdma_addr_t bd_dma_base;\n\tstruct device *dma_dev;\n};\n\nstruct enetc_cls_rule {\n\tstruct ethtool_rx_flow_spec fs;\n\tint used;\n};\n\nstruct enetc_cmd_rfse {\n\tu8 smac_h[6];\n\tu8 smac_m[6];\n\tu8 dmac_h[6];\n\tu8 dmac_m[6];\n\t__be32 sip_h[4];\n\t__be32 sip_m[4];\n\t__be32 dip_h[4];\n\t__be32 dip_m[4];\n\tu16 ethtype_h;\n\tu16 ethtype_m;\n\tu16 ethtype4_h;\n\tu16 ethtype4_m;\n\tu16 sport_h;\n\tu16 sport_m;\n\tu16 dport_h;\n\tu16 dport_m;\n\tu16 vlan_h;\n\tu16 vlan_m;\n\tu8 proto_h;\n\tu8 proto_m;\n\tu16 flags;\n\tu16 result;\n\tu16 mode;\n};\n\nstruct enetc_drvdata {\n\tu32 pmac_offset;\n\tu8 tx_csum: 1;\n\tu8 max_frags;\n\tu64 sysclk_freq;\n\tconst struct ethtool_ops *eth_ops;\n};\n\nstruct enetc_hw {\n\tvoid *reg;\n\tvoid *port;\n\tvoid *global;\n};\n\nstruct enetc_ierb {\n\tvoid *regs;\n};\n\nstruct enetc_int_vector {\n\tvoid *rbier;\n\tvoid *tbier_base;\n\tvoid *ricr1;\n\tlong unsigned int tx_rings_map;\n\tint count_tx_rings;\n\tu32 rx_ictt;\n\tu16 comp_cnt;\n\tbool rx_dim_en;\n\tbool rx_napi_work;\n\tlong: 64;\n\tlong: 64;\n\tstruct napi_struct napi;\n\tlong: 64;\n\tlong: 64;\n\tstruct dim rx_dim;\n\tchar name[24];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct enetc_bdr rx_ring;\n\tstruct enetc_bdr tx_ring[0];\n};\n\nstruct enetc_lso_t {\n\tbool ipv6;\n\tbool tcp;\n\tu8 l3_hdr_len;\n\tu8 hdr_len;\n\tu8 l3_start;\n\tu16 lso_seg_size;\n\tint total_len;\n};\n\nstruct enetc_mac_filter {\n\tunion {\n\t\tchar mac_addr[6];\n\t\tlong unsigned int mac_hash_table[1];\n\t};\n\tint mac_addr_cnt;\n};\n\nstruct enetc_mdio_priv {\n\tstruct enetc_hw *hw;\n\tint mdio_base;\n};\n\nstruct enetc_msg_cmd_header {\n\tu16 type;\n\tu16 id;\n};\n\nstruct enetc_msg_cmd_set_primary_mac {\n\tstruct enetc_msg_cmd_header header;\n\tstruct sockaddr mac;\n};\n\nstruct enetc_msg_swbd {\n\tvoid *vaddr;\n\tdma_addr_t dma;\n\tint size;\n};\n\nstruct psfp_cap {\n\tu32 max_streamid;\n\tu32 max_psfp_filter;\n\tu32 max_psfp_gate;\n\tu32 max_psfp_gatelist;\n\tu32 max_psfp_meter;\n};\n\nstruct enetc_si;\n\nstruct enetc_ndev_priv {\n\tstruct net_device *ndev;\n\tstruct device *dev;\n\tstruct enetc_si *si;\n\tint bdr_int_num;\n\tstruct enetc_int_vector *int_vector[6];\n\tu16 num_rx_rings;\n\tu16 num_tx_rings;\n\tu16 rx_bd_count;\n\tu16 tx_bd_count;\n\tu16 msg_enable;\n\tu8 preemptible_tcs;\n\tu8 max_frags;\n\tenum enetc_active_offloads active_offloads;\n\tu32 speed;\n\tstruct enetc_bdr **xdp_tx_ring;\n\tstruct enetc_bdr *tx_ring[16];\n\tstruct enetc_bdr *rx_ring[16];\n\tconst struct enetc_bdr_resource *tx_res;\n\tconst struct enetc_bdr_resource *rx_res;\n\tstruct enetc_cls_rule *cls_rules;\n\tstruct psfp_cap psfp_cap;\n\tunsigned int min_num_stack_tx_queues;\n\tstruct phylink *phylink;\n\tint ic_mode;\n\tu32 tx_ictt;\n\tstruct bpf_prog *xdp_prog;\n\tlong unsigned int flags;\n\tstruct work_struct tx_onestep_tstamp;\n\tstruct sk_buff_head tx_skbs;\n\tstruct mutex mm_lock;\n\tstruct clk *ref_clk;\n\tu64 sysclk_freq;\n};\n\nstruct enetc_port_caps {\n\tu32 half_duplex: 1;\n\tint num_vsi;\n\tint num_msix;\n\tint num_rx_bdr;\n\tint num_tx_bdr;\n};\n\nstruct enetc_vf_state;\n\nstruct enetc_pf_ops;\n\nstruct enetc_pf {\n\tstruct enetc_si *si;\n\tint num_vfs;\n\tint total_vfs;\n\tstruct enetc_vf_state *vf_state;\n\tstruct enetc_mac_filter mac_filter[6];\n\tstruct enetc_msg_swbd rxmsg[2];\n\tstruct work_struct msg_task;\n\tchar msg_int_name[24];\n\tchar vlan_promisc_simap;\n\tlong unsigned int vlan_ht_filter[1];\n\tlong unsigned int active_vlans[64];\n\tstruct mii_bus *mdio;\n\tstruct mii_bus *imdio;\n\tstruct phylink_pcs *pcs;\n\tphy_interface_t if_mode;\n\tstruct phylink_config phylink_config;\n\tstruct enetc_port_caps caps;\n\tconst struct enetc_pf_ops *ops;\n};\n\nstruct enetc_pf_ops {\n\tvoid (*set_si_primary_mac)(struct enetc_hw *, int, const u8 *);\n\tvoid (*get_si_primary_mac)(struct enetc_hw *, int, u8 *);\n\tstruct phylink_pcs * (*create_pcs)(struct enetc_pf *, struct mii_bus *);\n\tvoid (*destroy_pcs)(struct phylink_pcs *);\n\tint (*enable_psfp)(struct enetc_ndev_priv *);\n};\n\nstruct enetc_platform_info {\n\tu16 revision;\n\tu16 dev_id;\n\tconst struct enetc_drvdata *data;\n};\n\nstruct enetc_psfp {\n\tlong unsigned int dev_bitmap;\n\tlong unsigned int *psfp_sfi_bitmap;\n\tstruct hlist_head stream_list;\n\tstruct hlist_head psfp_filter_list;\n\tstruct hlist_head psfp_gate_list;\n\tstruct hlist_head psfp_meter_list;\n\tspinlock_t psfp_lock;\n};\n\nstruct enetc_psfp_filter {\n\tu32 index;\n\ts32 handle;\n\ts8 prio;\n\tu32 maxsdu;\n\tu32 gate_id;\n\ts32 meter_id;\n\trefcount_t refcount;\n\tstruct hlist_node node;\n};\n\nstruct enetc_psfp_gate {\n\tu32 index;\n\ts8 init_ipv;\n\tu64 basetime;\n\tu64 cycletime;\n\tu64 cycletimext;\n\tu32 num_entries;\n\trefcount_t refcount;\n\tstruct hlist_node node;\n\tstruct action_gate_entry entries[0];\n};\n\nstruct enetc_psfp_meter {\n\tu32 index;\n\tu32 cir;\n\tu32 cbs;\n\trefcount_t refcount;\n\tstruct hlist_node node;\n};\n\nunion enetc_rx_bd {\n\tstruct {\n\t\t__le64 addr;\n\t\tu8 reserved[8];\n\t} w;\n\tstruct {\n\t\t__le16 inet_csum;\n\t\t__le16 parse_summary;\n\t\t__le32 rss_hash;\n\t\t__le16 buf_len;\n\t\t__le16 vlan_opt;\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\t__le16 flags;\n\t\t\t\t__le16 error;\n\t\t\t};\n\t\t\t__le32 lstatus;\n\t\t};\n\t} r;\n\tstruct {\n\t\t__le32 tstamp;\n\t\tu8 reserved[12];\n\t} ext;\n};\n\nstruct enetc_rx_swbd {\n\tdma_addr_t dma;\n\tstruct page *page;\n\tu16 page_offset;\n\tenum dma_data_direction dir;\n\tu16 len;\n};\n\nstruct enetc_si {\n\tstruct pci_dev *pdev;\n\tstruct enetc_hw hw;\n\tenum enetc_errata errata;\n\tstruct net_device *ndev;\n\tstruct enetc_cbdr cbd_ring;\n\tint num_rx_rings;\n\tint num_tx_rings;\n\tint num_fs_entries;\n\tint num_rss;\n\tshort unsigned int pad;\n\tu16 revision;\n\tint hw_features;\n\tconst struct enetc_drvdata *drvdata;\n};\n\nstruct enetc_streamid {\n\tu32 index;\n\tunion {\n\t\tu8 src_mac[6];\n\t\tu8 dst_mac[6];\n\t};\n\tu8 filtertype;\n\tu16 vid;\n\tu8 tagged;\n\ts32 handle;\n};\n\nstruct flow_stats {\n\tu64 pkts;\n\tu64 bytes;\n\tu64 drops;\n\tu64 lastused;\n\tenum flow_action_hw_stats used_hw_stats;\n\tbool used_hw_stats_valid;\n};\n\nstruct enetc_stream_filter {\n\tstruct enetc_streamid sid;\n\tu32 sfi_index;\n\tu32 sgi_index;\n\tu32 flags;\n\tu32 fmi_index;\n\tstruct flow_stats stats;\n\tstruct hlist_node node;\n};\n\nunion enetc_tx_bd {\n\tstruct {\n\t\t__le64 addr;\n\t\tunion {\n\t\t\t__le16 buf_len;\n\t\t\t__le16 hdr_len;\n\t\t};\n\t\t__le16 frm_len;\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tu8 l3_aux0;\n\t\t\t\tu8 l3_aux1;\n\t\t\t\tu8 l4_aux;\n\t\t\t\tu8 flags;\n\t\t\t};\n\t\t\t__le32 txstart;\n\t\t\t__le32 lstatus;\n\t\t};\n\t};\n\tstruct {\n\t\t__le32 tstamp;\n\t\t__le16 tpid;\n\t\t__le16 vid;\n\t\t__le16 lso_sg_size;\n\t\t__le16 frm_len_ext;\n\t\tu8 reserved[2];\n\t\tu8 e_flags;\n\t\tu8 flags;\n\t} ext;\n\tstruct {\n\t\t__le32 tstamp;\n\t\tu8 reserved[8];\n\t\t__le16 lso_err_count;\n\t\tu8 status;\n\t\tu8 flags;\n\t} wb;\n};\n\nstruct enetc_tx_swbd {\n\tunion {\n\t\tstruct sk_buff *skb;\n\t\tstruct xdp_frame *xdp_frame;\n\t};\n\tdma_addr_t dma;\n\tstruct page *page;\n\tu16 page_offset;\n\tu16 len;\n\tenum dma_data_direction dir;\n\tu8 is_dma_page: 1;\n\tu8 check_wb: 1;\n\tu8 do_twostep_tstamp: 1;\n\tu8 is_eof: 1;\n\tu8 is_xdp_tx: 1;\n\tu8 is_xdp_redirect: 1;\n\tu8 qbv_en: 1;\n};\n\nstruct enetc_vf_state {\n\tenum enetc_vf_flags flags;\n};\n\nstruct entropy_timer_state {\n\tlong unsigned int entropy;\n\tstruct timer_list timer;\n\tatomic_t samples;\n\tunsigned int samples_per_bit;\n};\n\nstruct entry_header {\n\tu8 id[8];\n\t__le32 priority[2];\n\t__le32 addr;\n\t__le16 len;\n\t__le16 offset;\n};\n\nstruct ep_device {\n\tstruct usb_endpoint_descriptor *desc;\n\tstruct usb_device *udev;\n\tstruct device dev;\n};\n\ntypedef struct poll_table_struct poll_table;\n\nstruct epitem;\n\nstruct ep_pqueue {\n\tpoll_table pt;\n\tstruct epitem *epi;\n};\n\nstruct epoll_filefd {\n\tstruct file *file;\n\tint fd;\n} __attribute__((packed));\n\nstruct epoll_event {\n\t__poll_t events;\n\t__u64 data;\n};\n\nstruct eppoll_entry;\n\nstruct eventpoll;\n\nstruct epitem {\n\tunion {\n\t\tstruct rb_node rbn;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct list_head rdllink;\n\tstruct epitem *next;\n\tstruct epoll_filefd ffd;\n\tbool dying;\n\tstruct eppoll_entry *pwqlist;\n\tstruct eventpoll *ep;\n\tstruct hlist_node fllink;\n\tstruct wakeup_source *ws;\n\tstruct epoll_event event;\n};\n\nstruct epitems_head {\n\tstruct hlist_head epitems;\n\tstruct epitems_head *next;\n};\n\nstruct epoll_params {\n\t__u32 busy_poll_usecs;\n\t__u16 busy_poll_budget;\n\t__u8 prefer_busy_poll;\n\t__u8 __pad;\n};\n\nstruct eppoll_entry {\n\tstruct eppoll_entry *next;\n\tstruct epitem *base;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *whead;\n};\n\nstruct trace_eprobe;\n\nstruct eprobe_data {\n\tstruct trace_event_file *file;\n\tstruct trace_eprobe *ep;\n};\n\nstruct eprobe_trace_entry_head {\n\tstruct trace_entry ent;\n};\n\nstruct equation_set_coef {\n\tint a;\n\tint b;\n};\n\nstruct erase_info {\n\tuint64_t addr;\n\tuint64_t len;\n\tuint64_t fail_addr;\n};\n\nstruct erase_info_user {\n\t__u32 start;\n\t__u32 length;\n};\n\nstruct erase_info_user64 {\n\t__u64 start;\n\t__u64 length;\n};\n\nstruct err_info {\n\tconst char **errs;\n\tu8 type;\n\tu16 pos;\n\tu64 ts;\n};\n\nstruct errormap {\n\tchar *name;\n\tint val;\n\tint namelen;\n\tstruct hlist_node list;\n};\n\nstruct erspan_md2 {\n\t__be32 timestamp;\n\t__be16 sgt;\n\t__u8 hwid_upper: 2;\n\t__u8 ft: 5;\n\t__u8 p: 1;\n\t__u8 o: 1;\n\t__u8 gra: 2;\n\t__u8 dir: 1;\n\t__u8 hwid: 4;\n};\n\nstruct erspan_metadata {\n\tint version;\n\tunion {\n\t\t__be32 index;\n\t\tstruct erspan_md2 md2;\n\t} u;\n};\n\nstruct erst_erange {\n\tu64 base;\n\tu64 size;\n\tvoid *vaddr;\n\tu32 attr;\n\tu64 timings;\n};\n\nstruct erst_record_id_cache {\n\tstruct mutex lock;\n\tu64 *entries;\n\tint len;\n\tint size;\n\tint refcount;\n};\n\nstruct esdhc_clk_fixup {\n\tconst unsigned int sd_dflt_max_clk;\n\tconst unsigned int max_clk[11];\n};\n\nstruct esdhc_platform_data {\n\tenum wp_types wp_type;\n\tenum cd_types cd_type;\n\tint max_bus_width;\n\tunsigned int delay_line;\n\tunsigned int tuning_step;\n\tunsigned int tuning_start_tap;\n\tunsigned int strobe_dll_delay_target;\n};\n\nstruct esdhc_soc_data {\n\tu32 flags;\n\tu32 quirks;\n};\n\nstruct esr_context {\n\tstruct _aarch64_ctx head;\n\t__u64 esr;\n};\n\nstruct esre_entry;\n\nstruct esre_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct esre_entry *, char *);\n};\n\nstruct esre_entry {\n\tunion {\n\t\tstruct efi_system_resource_entry_v1 *esre1;\n\t} esre;\n\tstruct kobject kobj;\n\tstruct list_head list;\n};\n\nstruct eth_hash_entry {\n\tu64 addr;\n\tstruct list_head node;\n};\n\nstruct eth_hash_t {\n\tu16 size;\n\tstruct list_head *lsts;\n};\n\nstruct ethnl_request_ops;\n\nstruct ethnl_dump_ctx {\n\tconst struct ethnl_request_ops *ops;\n\tstruct ethnl_req_info *req_info;\n\tstruct ethnl_reply_data *reply_data;\n\tlong unsigned int pos_ifindex;\n};\n\nstruct ethnl_module_fw_flash_ntf_params {\n\tu32 portid;\n\tu32 seq;\n\tbool closed_sock;\n};\n\nstruct phy_req_info;\n\nstruct ethnl_phy_dump_ctx {\n\tstruct phy_req_info *phy_req_info;\n\tlong unsigned int ifindex;\n\tlong unsigned int phy_index;\n};\n\nstruct ethnl_request_ops {\n\tu8 request_cmd;\n\tu8 reply_cmd;\n\tu16 hdr_attr;\n\tunsigned int req_info_size;\n\tunsigned int reply_data_size;\n\tbool allow_nodev_do;\n\tu8 set_ntf_cmd;\n\tint (*parse_request)(struct ethnl_req_info *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*prepare_data)(const struct ethnl_req_info *, struct ethnl_reply_data *, const struct genl_info *);\n\tint (*reply_size)(const struct ethnl_req_info *, const struct ethnl_reply_data *);\n\tint (*fill_reply)(struct sk_buff *, const struct ethnl_req_info *, const struct ethnl_reply_data *);\n\tvoid (*cleanup_data)(struct ethnl_reply_data *);\n\tint (*set_validate)(struct ethnl_req_info *, struct genl_info *);\n\tint (*set)(struct ethnl_req_info *, struct genl_info *);\n};\n\nstruct ethnl_sock_priv {\n\tstruct net_device *dev;\n\tu32 portid;\n\tenum ethnl_sock_type type;\n};\n\nstruct tsinfo_req_info;\n\nstruct tsinfo_reply_data;\n\nstruct ethnl_tsinfo_dump_ctx {\n\tstruct tsinfo_req_info *req_info;\n\tstruct tsinfo_reply_data *reply_data;\n\tlong unsigned int pos_ifindex;\n\tbool netdev_dump_done;\n\tlong unsigned int pos_phyindex;\n\tenum hwtstamp_provider_qualifier pos_phcqualifier;\n};\n\nstruct ethnl_tunnel_info_dump_ctx {\n\tstruct ethnl_req_info req_info;\n\tlong unsigned int ifindex;\n};\n\nstruct ethtool_c33_pse_ext_state_info {\n\tenum ethtool_c33_pse_ext_state c33_pse_ext_state;\n\tunion {\n\t\tenum ethtool_c33_pse_ext_substate_error_condition error_condition;\n\t\tenum ethtool_c33_pse_ext_substate_mr_pse_enable mr_pse_enable;\n\t\tenum ethtool_c33_pse_ext_substate_option_detect_ted option_detect_ted;\n\t\tenum ethtool_c33_pse_ext_substate_option_vport_lim option_vport_lim;\n\t\tenum ethtool_c33_pse_ext_substate_ovld_detected ovld_detected;\n\t\tenum ethtool_c33_pse_ext_substate_power_not_available power_not_available;\n\t\tenum ethtool_c33_pse_ext_substate_short_detected short_detected;\n\t\tu32 __c33_pse_ext_substate;\n\t};\n};\n\nstruct ethtool_c33_pse_pw_limit_range {\n\tu32 min;\n\tu32 max;\n};\n\nstruct ethtool_cmd {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 advertising;\n\t__u16 speed;\n\t__u8 duplex;\n\t__u8 port;\n\t__u8 phy_address;\n\t__u8 transceiver;\n\t__u8 autoneg;\n\t__u8 mdio_support;\n\t__u32 maxtxpkt;\n\t__u32 maxrxpkt;\n\t__u16 speed_hi;\n\t__u8 eth_tp_mdix;\n\t__u8 eth_tp_mdix_ctrl;\n\t__u32 lp_advertising;\n\t__u32 reserved[2];\n};\n\nstruct ethtool_cmis_cdb {\n\tu8 cmis_rev;\n\tu8 read_write_len_ext;\n\tu16 max_completion_time;\n};\n\nstruct ethtool_cmis_cdb_request {\n\t__be16 id;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 epl_len;\n\t\t\tu8 lpl_len;\n\t\t\tu8 chk_code;\n\t\t\tu8 resv1;\n\t\t\tu8 resv2;\n\t\t\tu8 payload[120];\n\t\t};\n\t\tstruct {\n\t\t\t__be16 epl_len;\n\t\t\tu8 lpl_len;\n\t\t\tu8 chk_code;\n\t\t\tu8 resv1;\n\t\t\tu8 resv2;\n\t\t\tu8 payload[120];\n\t\t} body;\n\t};\n\tu8 *epl;\n};\n\nstruct ethtool_cmis_cdb_cmd_args {\n\tstruct ethtool_cmis_cdb_request req;\n\tu16 max_duration;\n\tu8 read_write_len_ext;\n\tu8 msleep_pre_rpl;\n\tu8 rpl_exp_len;\n\tu8 flags;\n\tchar *err_msg;\n};\n\nstruct ethtool_cmis_cdb_rpl_hdr {\n\tu8 rpl_len;\n\tu8 rpl_chk_code;\n};\n\nstruct ethtool_cmis_cdb_rpl {\n\tstruct ethtool_cmis_cdb_rpl_hdr hdr;\n\tu8 payload[120];\n};\n\nstruct ethtool_module_fw_flash_params {\n\t__be32 password;\n\tu8 password_valid: 1;\n};\n\nstruct ethtool_cmis_fw_update_params {\n\tstruct net_device *dev;\n\tstruct ethtool_module_fw_flash_params params;\n\tstruct ethnl_module_fw_flash_ntf_params ntf_params;\n\tconst struct firmware *fw;\n};\n\nstruct ethtool_flash {\n\t__u32 cmd;\n\t__u32 region;\n\tchar data[128];\n};\n\nstruct ethtool_drvinfo {\n\t__u32 cmd;\n\tchar driver[32];\n\tchar version[32];\n\tchar fw_version[32];\n\tchar bus_info[32];\n\tchar erom_version[32];\n\tchar reserved2[12];\n\t__u32 n_priv_flags;\n\t__u32 n_stats;\n\t__u32 testinfo_len;\n\t__u32 eedump_len;\n\t__u32 regdump_len;\n};\n\nstruct ethtool_devlink_compat {\n\tstruct devlink *devlink;\n\tunion {\n\t\tstruct ethtool_flash efl;\n\t\tstruct ethtool_drvinfo info;\n\t};\n};\n\nstruct ethtool_dump {\n\t__u32 cmd;\n\t__u32 version;\n\t__u32 flag;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_eee {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 advertised;\n\t__u32 lp_advertised;\n\t__u32 eee_active;\n\t__u32 eee_enabled;\n\t__u32 tx_lpi_enabled;\n\t__u32 tx_lpi_timer;\n\t__u32 reserved[2];\n};\n\nstruct ethtool_eeprom {\n\t__u32 cmd;\n\t__u32 magic;\n\t__u32 offset;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_eth_ctrl_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 MACControlFramesTransmitted;\n\t\t\tu64 MACControlFramesReceived;\n\t\t\tu64 UnsupportedOpcodesReceived;\n\t\t};\n\t\tstruct {\n\t\t\tu64 MACControlFramesTransmitted;\n\t\t\tu64 MACControlFramesReceived;\n\t\t\tu64 UnsupportedOpcodesReceived;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_eth_mac_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 FramesTransmittedOK;\n\t\t\tu64 SingleCollisionFrames;\n\t\t\tu64 MultipleCollisionFrames;\n\t\t\tu64 FramesReceivedOK;\n\t\t\tu64 FrameCheckSequenceErrors;\n\t\t\tu64 AlignmentErrors;\n\t\t\tu64 OctetsTransmittedOK;\n\t\t\tu64 FramesWithDeferredXmissions;\n\t\t\tu64 LateCollisions;\n\t\t\tu64 FramesAbortedDueToXSColls;\n\t\t\tu64 FramesLostDueToIntMACXmitError;\n\t\t\tu64 CarrierSenseErrors;\n\t\t\tu64 OctetsReceivedOK;\n\t\t\tu64 FramesLostDueToIntMACRcvError;\n\t\t\tu64 MulticastFramesXmittedOK;\n\t\t\tu64 BroadcastFramesXmittedOK;\n\t\t\tu64 FramesWithExcessiveDeferral;\n\t\t\tu64 MulticastFramesReceivedOK;\n\t\t\tu64 BroadcastFramesReceivedOK;\n\t\t\tu64 InRangeLengthErrors;\n\t\t\tu64 OutOfRangeLengthField;\n\t\t\tu64 FrameTooLongErrors;\n\t\t};\n\t\tstruct {\n\t\t\tu64 FramesTransmittedOK;\n\t\t\tu64 SingleCollisionFrames;\n\t\t\tu64 MultipleCollisionFrames;\n\t\t\tu64 FramesReceivedOK;\n\t\t\tu64 FrameCheckSequenceErrors;\n\t\t\tu64 AlignmentErrors;\n\t\t\tu64 OctetsTransmittedOK;\n\t\t\tu64 FramesWithDeferredXmissions;\n\t\t\tu64 LateCollisions;\n\t\t\tu64 FramesAbortedDueToXSColls;\n\t\t\tu64 FramesLostDueToIntMACXmitError;\n\t\t\tu64 CarrierSenseErrors;\n\t\t\tu64 OctetsReceivedOK;\n\t\t\tu64 FramesLostDueToIntMACRcvError;\n\t\t\tu64 MulticastFramesXmittedOK;\n\t\t\tu64 BroadcastFramesXmittedOK;\n\t\t\tu64 FramesWithExcessiveDeferral;\n\t\t\tu64 MulticastFramesReceivedOK;\n\t\t\tu64 BroadcastFramesReceivedOK;\n\t\t\tu64 InRangeLengthErrors;\n\t\t\tu64 OutOfRangeLengthField;\n\t\t\tu64 FrameTooLongErrors;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_eth_phy_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 SymbolErrorDuringCarrier;\n\t\t};\n\t\tstruct {\n\t\t\tu64 SymbolErrorDuringCarrier;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_fec_stat {\n\tu64 total;\n\tu64 lanes[8];\n};\n\nstruct ethtool_fec_stats {\n\tstruct ethtool_fec_stat corrected_blocks;\n\tstruct ethtool_fec_stat uncorrectable_blocks;\n\tstruct ethtool_fec_stat corrected_bits;\n};\n\nstruct ethtool_fecparam {\n\t__u32 cmd;\n\t__u32 active_fec;\n\t__u32 fec;\n\t__u32 reserved;\n};\n\nstruct ethtool_forced_speed_map {\n\tu32 speed;\n\tlong unsigned int caps[2];\n\tconst u32 *cap_arr;\n\tu32 arr_size;\n};\n\nstruct ethtool_get_features_block {\n\t__u32 available;\n\t__u32 requested;\n\t__u32 active;\n\t__u32 never_changed;\n};\n\nstruct ethtool_gfeatures {\n\t__u32 cmd;\n\t__u32 size;\n\tstruct ethtool_get_features_block features[0];\n};\n\nstruct ethtool_gstrings {\n\t__u32 cmd;\n\t__u32 string_set;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_link_ext_state_info {\n\tenum ethtool_link_ext_state link_ext_state;\n\tunion {\n\t\tenum ethtool_link_ext_substate_autoneg autoneg;\n\t\tenum ethtool_link_ext_substate_link_training link_training;\n\t\tenum ethtool_link_ext_substate_link_logical_mismatch link_logical_mismatch;\n\t\tenum ethtool_link_ext_substate_bad_signal_integrity bad_signal_integrity;\n\t\tenum ethtool_link_ext_substate_cable_issue cable_issue;\n\t\tenum ethtool_link_ext_substate_module module;\n\t\tu32 __link_ext_substate;\n\t};\n};\n\nstruct ethtool_link_ext_stats {\n\tu64 link_down_events;\n};\n\nstruct ethtool_link_settings {\n\t__u32 cmd;\n\t__u32 speed;\n\t__u8 duplex;\n\t__u8 port;\n\t__u8 phy_address;\n\t__u8 autoneg;\n\t__u8 mdio_support;\n\t__u8 eth_tp_mdix;\n\t__u8 eth_tp_mdix_ctrl;\n\t__s8 link_mode_masks_nwords;\n\t__u8 transceiver;\n\t__u8 master_slave_cfg;\n\t__u8 master_slave_state;\n\t__u8 rate_matching;\n\t__u32 reserved[7];\n};\n\nstruct ethtool_link_ksettings {\n\tstruct ethtool_link_settings base;\n\tstruct {\n\t\tlong unsigned int supported[2];\n\t\tlong unsigned int advertising[2];\n\t\tlong unsigned int lp_advertising[2];\n\t} link_modes;\n\tu32 lanes;\n};\n\nstruct ethtool_link_usettings {\n\tstruct ethtool_link_settings base;\n\tstruct {\n\t\t__u32 supported[4];\n\t\t__u32 advertising[4];\n\t\t__u32 lp_advertising[4];\n\t} link_modes;\n};\n\nstruct ethtool_mm_cfg {\n\tu32 verify_time;\n\tbool verify_enabled;\n\tbool tx_enabled;\n\tbool pmac_enabled;\n\tu32 tx_min_frag_size;\n};\n\nstruct ethtool_mm_state {\n\tu32 verify_time;\n\tu32 max_verify_time;\n\tenum ethtool_mm_verify_status verify_status;\n\tbool tx_enabled;\n\tbool tx_active;\n\tbool pmac_enabled;\n\tbool verify_enabled;\n\tu32 tx_min_frag_size;\n\tu32 rx_min_frag_size;\n};\n\nstruct ethtool_mm_stats {\n\tu64 MACMergeFrameAssErrorCount;\n\tu64 MACMergeFrameSmdErrorCount;\n\tu64 MACMergeFrameAssOkCount;\n\tu64 MACMergeFragCountRx;\n\tu64 MACMergeFragCountTx;\n\tu64 MACMergeHoldCount;\n};\n\nstruct ethtool_modinfo {\n\t__u32 cmd;\n\t__u32 type;\n\t__u32 eeprom_len;\n\t__u32 reserved[8];\n};\n\nstruct ethtool_module_eeprom {\n\tu32 offset;\n\tu32 length;\n\tu8 page;\n\tu8 bank;\n\tu8 i2c_address;\n\tu8 *data;\n};\n\nstruct ethtool_module_fw_flash {\n\tstruct list_head list;\n\tnetdevice_tracker dev_tracker;\n\tstruct work_struct work;\n\tstruct ethtool_cmis_fw_update_params fw_update;\n};\n\nstruct ethtool_module_power_mode_params {\n\tenum ethtool_module_power_mode_policy policy;\n\tenum ethtool_module_power_mode mode;\n};\n\nstruct ethtool_netdev_state {\n\tstruct xarray rss_ctx;\n\tstruct mutex rss_lock;\n\tunsigned int wol_enabled: 1;\n\tunsigned int module_fw_flash_in_progress: 1;\n};\n\nstruct ethtool_ringparam;\n\nstruct kernel_ethtool_ringparam;\n\nstruct ethtool_pauseparam;\n\nstruct ethtool_stats;\n\nstruct ethtool_rxfh_param;\n\nstruct ethtool_rxfh_context;\n\nstruct ethtool_tunable;\n\nstruct ethtool_ops {\n\tu32 cap_link_lanes_supported: 1;\n\tu32 cap_rss_ctx_supported: 1;\n\tu32 cap_rss_sym_xor_supported: 1;\n\tu32 rxfh_per_ctx_key: 1;\n\tu32 cap_rss_rxnfc_adds: 1;\n\tu32 rxfh_indir_space;\n\tu16 rxfh_key_space;\n\tu16 rxfh_priv_size;\n\tu32 rxfh_max_num_contexts;\n\tu32 supported_coalesce_params;\n\tu32 supported_ring_params;\n\tu32 supported_hwtstamp_qualifiers;\n\tvoid (*get_drvinfo)(struct net_device *, struct ethtool_drvinfo *);\n\tint (*get_regs_len)(struct net_device *);\n\tvoid (*get_regs)(struct net_device *, struct ethtool_regs *, void *);\n\tvoid (*get_wol)(struct net_device *, struct ethtool_wolinfo *);\n\tint (*set_wol)(struct net_device *, struct ethtool_wolinfo *);\n\tu32 (*get_msglevel)(struct net_device *);\n\tvoid (*set_msglevel)(struct net_device *, u32);\n\tint (*nway_reset)(struct net_device *);\n\tu32 (*get_link)(struct net_device *);\n\tint (*get_link_ext_state)(struct net_device *, struct ethtool_link_ext_state_info *);\n\tvoid (*get_link_ext_stats)(struct net_device *, struct ethtool_link_ext_stats *);\n\tint (*get_eeprom_len)(struct net_device *);\n\tint (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*get_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *);\n\tint (*set_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *);\n\tvoid (*get_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *);\n\tint (*set_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *);\n\tvoid (*get_pause_stats)(struct net_device *, struct ethtool_pause_stats *);\n\tvoid (*get_pauseparam)(struct net_device *, struct ethtool_pauseparam *);\n\tint (*set_pauseparam)(struct net_device *, struct ethtool_pauseparam *);\n\tvoid (*self_test)(struct net_device *, struct ethtool_test *, u64 *);\n\tvoid (*get_strings)(struct net_device *, u32, u8 *);\n\tint (*set_phys_id)(struct net_device *, enum ethtool_phys_id_state);\n\tvoid (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *);\n\tint (*begin)(struct net_device *);\n\tvoid (*complete)(struct net_device *);\n\tu32 (*get_priv_flags)(struct net_device *);\n\tint (*set_priv_flags)(struct net_device *, u32);\n\tint (*get_sset_count)(struct net_device *, int);\n\tint (*get_rxnfc)(struct net_device *, struct ethtool_rxnfc *, u32 *);\n\tint (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *);\n\tint (*flash_device)(struct net_device *, struct ethtool_flash *);\n\tint (*reset)(struct net_device *, u32 *);\n\tu32 (*get_rxfh_key_size)(struct net_device *);\n\tu32 (*get_rxfh_indir_size)(struct net_device *);\n\tint (*get_rxfh)(struct net_device *, struct ethtool_rxfh_param *);\n\tint (*set_rxfh)(struct net_device *, struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*create_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*modify_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*remove_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, u32, struct netlink_ext_ack *);\n\tvoid (*get_channels)(struct net_device *, struct ethtool_channels *);\n\tint (*set_channels)(struct net_device *, struct ethtool_channels *);\n\tint (*get_dump_flag)(struct net_device *, struct ethtool_dump *);\n\tint (*get_dump_data)(struct net_device *, struct ethtool_dump *, void *);\n\tint (*set_dump)(struct net_device *, struct ethtool_dump *);\n\tint (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *);\n\tvoid (*get_ts_stats)(struct net_device *, struct ethtool_ts_stats *);\n\tint (*get_module_info)(struct net_device *, struct ethtool_modinfo *);\n\tint (*get_module_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*get_eee)(struct net_device *, struct ethtool_keee *);\n\tint (*set_eee)(struct net_device *, struct ethtool_keee *);\n\tint (*get_tunable)(struct net_device *, const struct ethtool_tunable *, void *);\n\tint (*set_tunable)(struct net_device *, const struct ethtool_tunable *, const void *);\n\tint (*get_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *);\n\tint (*set_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *);\n\tint (*get_link_ksettings)(struct net_device *, struct ethtool_link_ksettings *);\n\tint (*set_link_ksettings)(struct net_device *, const struct ethtool_link_ksettings *);\n\tvoid (*get_fec_stats)(struct net_device *, struct ethtool_fec_stats *);\n\tint (*get_fecparam)(struct net_device *, struct ethtool_fecparam *);\n\tint (*set_fecparam)(struct net_device *, struct ethtool_fecparam *);\n\tvoid (*get_ethtool_phy_stats)(struct net_device *, struct ethtool_stats *, u64 *);\n\tint (*get_phy_tunable)(struct net_device *, const struct ethtool_tunable *, void *);\n\tint (*set_phy_tunable)(struct net_device *, const struct ethtool_tunable *, const void *);\n\tint (*get_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n\tint (*set_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n\tvoid (*get_eth_phy_stats)(struct net_device *, struct ethtool_eth_phy_stats *);\n\tvoid (*get_eth_mac_stats)(struct net_device *, struct ethtool_eth_mac_stats *);\n\tvoid (*get_eth_ctrl_stats)(struct net_device *, struct ethtool_eth_ctrl_stats *);\n\tvoid (*get_rmon_stats)(struct net_device *, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **);\n\tint (*get_module_power_mode)(struct net_device *, struct ethtool_module_power_mode_params *, struct netlink_ext_ack *);\n\tint (*set_module_power_mode)(struct net_device *, const struct ethtool_module_power_mode_params *, struct netlink_ext_ack *);\n\tint (*get_mm)(struct net_device *, struct ethtool_mm_state *);\n\tint (*set_mm)(struct net_device *, struct ethtool_mm_cfg *, struct netlink_ext_ack *);\n\tvoid (*get_mm_stats)(struct net_device *, struct ethtool_mm_stats *);\n};\n\nstruct ethtool_pause_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 tx_pause_frames;\n\t\t\tu64 rx_pause_frames;\n\t\t};\n\t\tstruct {\n\t\t\tu64 tx_pause_frames;\n\t\t\tu64 rx_pause_frames;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_pauseparam {\n\t__u32 cmd;\n\t__u32 autoneg;\n\t__u32 rx_pause;\n\t__u32 tx_pause;\n};\n\nstruct ethtool_per_queue_op {\n\t__u32 cmd;\n\t__u32 sub_command;\n\t__u32 queue_mask[128];\n\tchar data[0];\n};\n\nstruct ethtool_perm_addr {\n\t__u32 cmd;\n\t__u32 size;\n\t__u8 data[0];\n};\n\nstruct phy_plca_cfg;\n\nstruct phy_plca_status;\n\nstruct phy_tdr_config;\n\nstruct ethtool_phy_ops {\n\tint (*get_sset_count)(struct phy_device *);\n\tint (*get_strings)(struct phy_device *, u8 *);\n\tint (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *);\n\tint (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *);\n\tint (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *, struct netlink_ext_ack *);\n\tint (*get_plca_status)(struct phy_device *, struct phy_plca_status *);\n\tint (*start_cable_test)(struct phy_device *, struct netlink_ext_ack *);\n\tint (*start_cable_test_tdr)(struct phy_device *, struct netlink_ext_ack *, const struct phy_tdr_config *);\n};\n\nstruct ethtool_phy_stats {\n\tu64 rx_packets;\n\tu64 rx_bytes;\n\tu64 rx_errors;\n\tu64 tx_packets;\n\tu64 tx_bytes;\n\tu64 tx_errors;\n};\n\nstruct ethtool_pse_control_status {\n\tenum ethtool_podl_pse_admin_state podl_admin_state;\n\tenum ethtool_podl_pse_pw_d_status podl_pw_status;\n\tenum ethtool_c33_pse_admin_state c33_admin_state;\n\tenum ethtool_c33_pse_pw_d_status c33_pw_status;\n\tu32 c33_pw_class;\n\tu32 c33_actual_pw;\n\tstruct ethtool_c33_pse_ext_state_info c33_ext_state_info;\n\tu32 c33_avail_pw_limit;\n\tstruct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges;\n\tu32 c33_pw_limit_nb_ranges;\n};\n\nstruct ethtool_regs {\n\t__u32 cmd;\n\t__u32 version;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_ringparam {\n\t__u32 cmd;\n\t__u32 rx_max_pending;\n\t__u32 rx_mini_max_pending;\n\t__u32 rx_jumbo_max_pending;\n\t__u32 tx_max_pending;\n\t__u32 rx_pending;\n\t__u32 rx_mini_pending;\n\t__u32 rx_jumbo_pending;\n\t__u32 tx_pending;\n};\n\nstruct ethtool_rmon_hist_range {\n\tu16 low;\n\tu16 high;\n};\n\nstruct ethtool_rmon_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 undersize_pkts;\n\t\t\tu64 oversize_pkts;\n\t\t\tu64 fragments;\n\t\t\tu64 jabbers;\n\t\t\tu64 hist[10];\n\t\t\tu64 hist_tx[10];\n\t\t};\n\t\tstruct {\n\t\t\tu64 undersize_pkts;\n\t\t\tu64 oversize_pkts;\n\t\t\tu64 fragments;\n\t\t\tu64 jabbers;\n\t\t\tu64 hist[10];\n\t\t\tu64 hist_tx[10];\n\t\t} stats;\n\t};\n};\n\nstruct flow_dissector_key_basic {\n\t__be16 n_proto;\n\tu8 ip_proto;\n\tu8 padding;\n};\n\nstruct flow_dissector_key_ipv4_addrs {\n\t__be32 src;\n\t__be32 dst;\n};\n\nstruct flow_dissector_key_ipv6_addrs {\n\tstruct in6_addr src;\n\tstruct in6_addr dst;\n};\n\nstruct flow_dissector_key_ports {\n\tunion {\n\t\t__be32 ports;\n\t\tstruct {\n\t\t\t__be16 src;\n\t\t\t__be16 dst;\n\t\t};\n\t};\n};\n\nstruct flow_dissector_key_ip {\n\t__u8 tos;\n\t__u8 ttl;\n};\n\nstruct flow_dissector_key_vlan {\n\tunion {\n\t\tstruct {\n\t\t\tu16 vlan_id: 12;\n\t\t\tu16 vlan_dei: 1;\n\t\t\tu16 vlan_priority: 3;\n\t\t};\n\t\t__be16 vlan_tci;\n\t};\n\t__be16 vlan_tpid;\n\t__be16 vlan_eth_type;\n\tu16 padding;\n};\n\nstruct flow_dissector_key_eth_addrs {\n\tunsigned char dst[6];\n\tunsigned char src[6];\n};\n\nstruct ethtool_rx_flow_key {\n\tstruct flow_dissector_key_basic basic;\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs ipv4;\n\t\tstruct flow_dissector_key_ipv6_addrs ipv6;\n\t};\n\tstruct flow_dissector_key_ports tp;\n\tstruct flow_dissector_key_ip ip;\n\tstruct flow_dissector_key_vlan vlan;\n\tstruct flow_dissector_key_eth_addrs eth_addrs;\n};\n\nstruct flow_dissector {\n\tlong long unsigned int used_keys;\n\tshort unsigned int offset[33];\n};\n\nstruct ethtool_rx_flow_match {\n\tstruct flow_dissector dissector;\n\tstruct ethtool_rx_flow_key key;\n\tstruct ethtool_rx_flow_key mask;\n};\n\nstruct flow_rule;\n\nstruct ethtool_rx_flow_rule {\n\tstruct flow_rule *rule;\n\tlong unsigned int priv[0];\n};\n\nstruct ethtool_rx_flow_spec_input {\n\tconst struct ethtool_rx_flow_spec *fs;\n\tu32 rss_ctx;\n};\n\nstruct ethtool_rx_fs_item {\n\tstruct ethtool_rx_flow_spec fs;\n\tstruct list_head list;\n};\n\nstruct ethtool_rx_fs_list {\n\tstruct list_head list;\n\tunsigned int count;\n};\n\nstruct ethtool_rxfh {\n\t__u32 cmd;\n\t__u32 rss_context;\n\t__u32 indir_size;\n\t__u32 key_size;\n\t__u8 hfunc;\n\t__u8 input_xfrm;\n\t__u8 rsvd8[2];\n\t__u32 rsvd32;\n\t__u32 rss_config[0];\n};\n\nstruct ethtool_rxfh_context {\n\tu32 indir_size;\n\tu32 key_size;\n\tu16 priv_size;\n\tu8 hfunc;\n\tu8 input_xfrm;\n\tu8 indir_configured: 1;\n\tu8 key_configured: 1;\n\tu32 key_off;\n\tlong: 0;\n\tu8 data[0];\n};\n\nstruct ethtool_rxfh_param {\n\tu8 hfunc;\n\tu32 indir_size;\n\tu32 *indir;\n\tu32 key_size;\n\tu8 *key;\n\tu32 rss_context;\n\tu8 rss_delete;\n\tu8 input_xfrm;\n};\n\nstruct ethtool_rxnfc {\n\t__u32 cmd;\n\t__u32 flow_type;\n\t__u64 data;\n\tstruct ethtool_rx_flow_spec fs;\n\tunion {\n\t\t__u32 rule_cnt;\n\t\t__u32 rss_context;\n\t};\n\t__u32 rule_locs[0];\n};\n\nstruct ethtool_set_features_block {\n\t__u32 valid;\n\t__u32 requested;\n};\n\nstruct ethtool_sfeatures {\n\t__u32 cmd;\n\t__u32 size;\n\tstruct ethtool_set_features_block features[0];\n};\n\nstruct ethtool_sset_info {\n\t__u32 cmd;\n\t__u32 reserved;\n\t__u64 sset_mask;\n\t__u32 data[0];\n};\n\nstruct ethtool_stats {\n\t__u32 cmd;\n\t__u32 n_stats;\n\t__u64 data[0];\n};\n\nstruct ethtool_test {\n\t__u32 cmd;\n\t__u32 flags;\n\t__u32 reserved;\n\t__u32 len;\n\t__u64 data[0];\n};\n\nstruct ethtool_ts_info {\n\t__u32 cmd;\n\t__u32 so_timestamping;\n\t__s32 phc_index;\n\t__u32 tx_types;\n\t__u32 tx_reserved[3];\n\t__u32 rx_filters;\n\t__u32 rx_reserved[3];\n};\n\nstruct ethtool_ts_stats {\n\tunion {\n\t\tstruct {\n\t\t\tu64 pkts;\n\t\t\tu64 onestep_pkts_unconfirmed;\n\t\t\tu64 lost;\n\t\t\tu64 err;\n\t\t};\n\t\tstruct {\n\t\t\tu64 pkts;\n\t\t\tu64 onestep_pkts_unconfirmed;\n\t\t\tu64 lost;\n\t\t\tu64 err;\n\t\t} tx_stats;\n\t};\n};\n\nstruct ethtool_tunable {\n\t__u32 cmd;\n\t__u32 id;\n\t__u32 type_id;\n\t__u32 len;\n\tvoid *data[0];\n};\n\nstruct ethtool_value {\n\t__u32 cmd;\n\t__u32 data;\n};\n\nstruct ethtool_wolinfo {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 wolopts;\n\t__u8 sopass[6];\n};\n\nstruct etts_regs {\n\tu32 tmr_etts1_h;\n\tu32 tmr_etts1_l;\n\tu32 tmr_etts2_h;\n\tu32 tmr_etts2_l;\n};\n\nstruct input_handler;\n\nstruct input_value;\n\nstruct input_handle {\n\tvoid *private;\n\tint open;\n\tconst char *name;\n\tstruct input_dev *dev;\n\tstruct input_handler *handler;\n\tunsigned int (*handle_events)(struct input_handle *, struct input_value *, unsigned int);\n\tstruct list_head d_node;\n\tstruct list_head h_node;\n};\n\nstruct evdev_client;\n\nstruct evdev {\n\tint open;\n\tstruct input_handle handle;\n\tstruct evdev_client *grab;\n\tstruct list_head client_list;\n\tspinlock_t client_lock;\n\tstruct mutex mutex;\n\tstruct device dev;\n\tstruct cdev cdev;\n\tbool exist;\n};\n\nstruct input_event {\n\t__kernel_ulong_t __sec;\n\t__kernel_ulong_t __usec;\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct fasync_struct;\n\nstruct evdev_client {\n\tunsigned int head;\n\tunsigned int tail;\n\tunsigned int packet_head;\n\tspinlock_t buffer_lock;\n\twait_queue_head_t wait;\n\tstruct fasync_struct *fasync;\n\tstruct evdev *evdev;\n\tstruct list_head node;\n\tenum input_clock_type clk_type;\n\tbool revoked;\n\tlong unsigned int *evmasks[32];\n\tunsigned int bufsize;\n\tstruct input_event buffer[0];\n};\n\nstruct event_trigger_data;\n\nstruct event_trigger_ops;\n\nstruct event_command {\n\tstruct list_head list;\n\tchar *name;\n\tenum event_trigger_type trigger_type;\n\tint flags;\n\tint (*parse)(struct event_command *, struct trace_event_file *, char *, char *, char *);\n\tint (*reg)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tvoid (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tvoid (*unreg_all)(struct trace_event_file *);\n\tint (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tstruct event_trigger_ops * (*get_trigger_ops)(char *, char *);\n};\n\nstruct event_counter {\n\tu32 count;\n\tu32 flags;\n};\n\nstruct event_file_link {\n\tstruct trace_event_file *file;\n\tstruct list_head list;\n};\n\nstruct prog_entry;\n\nstruct event_filter {\n\tstruct prog_entry *prog;\n\tchar *filter_string;\n};\n\nstruct perf_cpu_context;\n\nstruct perf_event_context;\n\ntypedef void (*event_f)(struct perf_event *, struct perf_cpu_context *, struct perf_event_context *, void *);\n\nstruct event_function_struct {\n\tstruct perf_event *event;\n\tevent_f func;\n\tvoid *data;\n};\n\nstruct its_vm;\n\nstruct its_vlpi_map;\n\nstruct event_lpi_map {\n\tlong unsigned int *lpi_map;\n\tu16 *col_map;\n\tirq_hw_number_t lpi_base;\n\tint nr_lpis;\n\traw_spinlock_t vlpi_lock;\n\tstruct its_vm *vm;\n\tstruct its_vlpi_map *vlpi_maps;\n\tint nr_vlpis;\n};\n\nstruct event_mod_load {\n\tstruct list_head list;\n\tchar *module;\n\tchar *match;\n\tchar *system;\n\tchar *event;\n};\n\nstruct event_subsystem {\n\tstruct list_head list;\n\tconst char *name;\n\tstruct event_filter *filter;\n\tint ref_count;\n};\n\nstruct event_trigger_data {\n\tlong unsigned int count;\n\tint ref;\n\tint flags;\n\tstruct event_trigger_ops *ops;\n\tstruct event_command *cmd_ops;\n\tstruct event_filter *filter;\n\tchar *filter_str;\n\tvoid *private_data;\n\tbool paused;\n\tbool paused_tmp;\n\tstruct list_head list;\n\tchar *name;\n\tstruct list_head named_list;\n\tstruct event_trigger_data *named_data;\n};\n\nstruct ring_buffer_event;\n\nstruct event_trigger_ops {\n\tvoid (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *);\n\tint (*init)(struct event_trigger_data *);\n\tvoid (*free)(struct event_trigger_data *);\n\tint (*print)(struct seq_file *, struct event_trigger_data *);\n};\n\nstruct eventfd_ctx {\n\tstruct kref kref;\n\twait_queue_head_t wqh;\n\t__u64 count;\n\tunsigned int flags;\n\tint id;\n};\n\nstruct eventfs_attr {\n\tint mode;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\ntypedef int (*eventfs_callback)(const char *, umode_t *, void **, const struct file_operations **);\n\ntypedef void (*eventfs_release)(const char *, void *);\n\nstruct eventfs_entry {\n\tconst char *name;\n\teventfs_callback callback;\n\teventfs_release release;\n};\n\nstruct eventfs_inode {\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct list_head children;\n\tconst struct eventfs_entry *entries;\n\tconst char *name;\n\tstruct eventfs_attr *entry_attrs;\n\tvoid *data;\n\tstruct eventfs_attr attr;\n\tstruct kref kref;\n\tunsigned int is_freed: 1;\n\tunsigned int is_events: 1;\n\tunsigned int nr_entries: 30;\n\tunsigned int ino;\n};\n\nstruct eventfs_root_inode {\n\tstruct eventfs_inode ei;\n\tstruct dentry *events_dir;\n};\n\nstruct eventpoll {\n\tstruct mutex mtx;\n\twait_queue_head_t wq;\n\twait_queue_head_t poll_wait;\n\tstruct list_head rdllist;\n\trwlock_t lock;\n\tstruct rb_root_cached rbr;\n\tstruct epitem *ovflist;\n\tstruct wakeup_source *ws;\n\tstruct user_struct *user;\n\tstruct file *file;\n\tu64 gen;\n\tstruct hlist_head refs;\n\trefcount_t refcount;\n\tunsigned int napi_id;\n\tu32 busy_poll_usecs;\n\tu16 busy_poll_budget;\n\tbool prefer_busy_poll;\n};\n\nstruct kfifo {\n\tunion {\n\t\tstruct __kfifo kfifo;\n\t\tunsigned char *type;\n\t\tconst unsigned char *const_type;\n\t\tchar (*rectype)[0];\n\t\tvoid *ptr;\n\t\tconst void *ptr_const;\n\t};\n\tunsigned char buf[0];\n};\n\nstruct events_queue {\n\tsize_t sz;\n\tstruct kfifo kfifo;\n\tstruct work_struct notify_work;\n\tstruct workqueue_struct *wq;\n};\n\nstruct evtchn_alloc_unbound {\n\tdomid_t dom;\n\tdomid_t remote_dom;\n\tevtchn_port_t port;\n};\n\nstruct evtchn_bind_interdomain {\n\tdomid_t remote_dom;\n\tevtchn_port_t remote_port;\n\tevtchn_port_t local_port;\n};\n\nstruct evtchn_bind_ipi {\n\tuint32_t vcpu;\n\tevtchn_port_t port;\n};\n\nstruct evtchn_bind_pirq {\n\tuint32_t pirq;\n\tuint32_t flags;\n\tevtchn_port_t port;\n};\n\nstruct evtchn_bind_vcpu {\n\tevtchn_port_t port;\n\tuint32_t vcpu;\n};\n\nstruct evtchn_bind_virq {\n\tuint32_t virq;\n\tuint32_t vcpu;\n\tevtchn_port_t port;\n};\n\nstruct evtchn_close {\n\tevtchn_port_t port;\n};\n\nstruct evtchn_expand_array {\n\tuint64_t array_gfn;\n};\n\nstruct evtchn_fifo_control_block {\n\tuint32_t ready;\n\tuint32_t _rsvd;\n\tevent_word_t head[16];\n};\n\nstruct evtchn_fifo_queue {\n\tuint32_t head[16];\n};\n\nstruct evtchn_init_control {\n\tuint64_t control_gfn;\n\tuint32_t offset;\n\tuint32_t vcpu;\n\tuint8_t link_bits;\n\tuint8_t _pad[7];\n};\n\nstruct evtchn_loop_ctrl {\n\tktime_t timeout;\n\tunsigned int count;\n\tbool defer_eoi;\n};\n\nstruct evtchn_ops {\n\tunsigned int (*max_channels)(void);\n\tunsigned int (*nr_channels)(void);\n\tint (*setup)(evtchn_port_t);\n\tvoid (*remove)(evtchn_port_t, unsigned int);\n\tvoid (*bind_to_cpu)(evtchn_port_t, unsigned int, unsigned int);\n\tvoid (*clear_pending)(evtchn_port_t);\n\tvoid (*set_pending)(evtchn_port_t);\n\tbool (*is_pending)(evtchn_port_t);\n\tvoid (*mask)(evtchn_port_t);\n\tvoid (*unmask)(evtchn_port_t);\n\tvoid (*handle_events)(unsigned int, struct evtchn_loop_ctrl *);\n\tvoid (*resume)(void);\n\tint (*percpu_init)(unsigned int);\n\tint (*percpu_deinit)(unsigned int);\n};\n\nstruct evtchn_send {\n\tevtchn_port_t port;\n};\n\nstruct evtchn_set_priority {\n\tevtchn_port_t port;\n\tuint32_t priority;\n};\n\nstruct evtchn_status {\n\tdomid_t dom;\n\tevtchn_port_t port;\n\tuint32_t status;\n\tuint32_t vcpu;\n\tunion {\n\t\tstruct {\n\t\t\tdomid_t dom;\n\t\t} unbound;\n\t\tstruct {\n\t\t\tdomid_t dom;\n\t\t\tevtchn_port_t port;\n\t\t} interdomain;\n\t\tuint32_t pirq;\n\t\tuint32_t virq;\n\t} u;\n};\n\nstruct evtchn_unmask {\n\tevtchn_port_t port;\n};\n\nstruct ewma_pkt_len {\n\tlong unsigned int internal;\n};\n\nstruct ex_phy {\n\tint phy_id;\n\tenum ex_phy_state phy_state;\n\tenum sas_device_type attached_dev_type;\n\tenum sas_linkrate linkrate;\n\tu8 attached_sata_host: 1;\n\tu8 attached_sata_dev: 1;\n\tu8 attached_sata_ps: 1;\n\tenum sas_protocol attached_tproto;\n\tenum sas_protocol attached_iproto;\n\tu8 attached_sas_addr[8];\n\tu8 attached_phy_id;\n\tint phy_change_count;\n\tenum routing_attribute routing_attr;\n\tu8 virtual: 1;\n\tint last_da_index;\n\tstruct sas_phy *phy;\n\tstruct sas_port *port;\n};\n\nstruct exar8250_board;\n\nstruct exar8250 {\n\tunsigned int nr;\n\tunsigned int osc_freq;\n\tstruct exar8250_board *board;\n\tstruct eeprom_93cx6 eeprom;\n\tvoid *virt;\n\tint line[0];\n};\n\nstruct exar8250_board {\n\tunsigned int num_ports;\n\tunsigned int reg_shift;\n\tint (*setup)(struct exar8250 *, struct pci_dev *, struct uart_8250_port *, int);\n\tvoid (*exit)(struct pci_dev *);\n};\n\nstruct exar8250_platform {\n\tint (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *);\n\tconst struct serial_rs485 *rs485_supported;\n\tint (*register_gpio)(struct pci_dev *, struct uart_8250_port *);\n\tvoid (*unregister_gpio)(struct uart_8250_port *);\n};\n\nstruct exception_table_entry {\n\tint insn;\n\tint fixup;\n\tshort int type;\n\tshort int data;\n};\n\nstruct execmem_range {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int fallback_start;\n\tlong unsigned int fallback_end;\n\tpgprot_t pgprot;\n\tunsigned int alignment;\n\tenum execmem_range_flags flags;\n};\n\nstruct execmem_info {\n\tstruct execmem_range ranges[5];\n};\n\nstruct execute_work {\n\tstruct work_struct work;\n};\n\nstruct exit_boot_struct {\n\tstruct efi_boot_memmap *boot_memmap;\n\tefi_memory_desc_t *runtime_map;\n\tint runtime_entry_count;\n\tvoid *new_fdt_addr;\n};\n\nstruct exiu_irq_data {\n\tvoid *base;\n\tu32 spi_base;\n};\n\nstruct fid;\n\nstruct iomap;\n\nstruct handle_to_path_ctx;\n\nstruct export_operations {\n\tint (*encode_fh)(struct inode *, __u32 *, int *, struct inode *);\n\tstruct dentry * (*fh_to_dentry)(struct super_block *, struct fid *, int, int);\n\tstruct dentry * (*fh_to_parent)(struct super_block *, struct fid *, int, int);\n\tint (*get_name)(struct dentry *, char *, struct dentry *);\n\tstruct dentry * (*get_parent)(struct dentry *);\n\tint (*commit_metadata)(struct inode *);\n\tint (*get_uuid)(struct super_block *, u8 *, u32 *, u64 *);\n\tint (*map_blocks)(struct inode *, loff_t, u64, struct iomap *, bool, u32 *);\n\tint (*commit_blocks)(struct inode *, struct iomap *, int, struct iattr *);\n\tint (*permission)(struct handle_to_path_ctx *, unsigned int);\n\tstruct file * (*open)(struct path *, unsigned int);\n\tlong unsigned int flags;\n};\n\nstruct ext4_free_extent {\n\text4_lblk_t fe_logical;\n\text4_grpblk_t fe_start;\n\text4_group_t fe_group;\n\text4_grpblk_t fe_len;\n};\n\nstruct ext4_prealloc_space;\n\nstruct ext4_locality_group;\n\nstruct ext4_allocation_context {\n\tstruct inode *ac_inode;\n\tstruct super_block *ac_sb;\n\tstruct ext4_free_extent ac_o_ex;\n\tstruct ext4_free_extent ac_g_ex;\n\tstruct ext4_free_extent ac_b_ex;\n\tstruct ext4_free_extent ac_f_ex;\n\text4_grpblk_t ac_orig_goal_len;\n\t__u32 ac_flags;\n\t__u32 ac_groups_linear_remaining;\n\t__u16 ac_groups_scanned;\n\t__u16 ac_found;\n\t__u16 ac_cX_found[5];\n\t__u16 ac_tail;\n\t__u16 ac_buddy;\n\t__u8 ac_status;\n\t__u8 ac_criteria;\n\t__u8 ac_2order;\n\t__u8 ac_op;\n\tstruct folio *ac_bitmap_folio;\n\tstruct folio *ac_buddy_folio;\n\tstruct ext4_prealloc_space *ac_pa;\n\tstruct ext4_locality_group *ac_lg;\n};\n\nstruct ext4_allocation_request {\n\tstruct inode *inode;\n\tunsigned int len;\n\text4_lblk_t logical;\n\text4_lblk_t lleft;\n\text4_lblk_t lright;\n\text4_fsblk_t goal;\n\text4_fsblk_t pleft;\n\text4_fsblk_t pright;\n\tunsigned int flags;\n};\n\nstruct ext4_attr {\n\tstruct attribute attr;\n\tshort int attr_id;\n\tshort int attr_ptr;\n\tshort unsigned int attr_size;\n\tunion {\n\t\tint offset;\n\t\tvoid *explicit_ptr;\n\t} u;\n};\n\nstruct ext4_group_info;\n\nstruct ext4_buddy {\n\tstruct folio *bd_buddy_folio;\n\tvoid *bd_buddy;\n\tstruct folio *bd_bitmap_folio;\n\tvoid *bd_bitmap;\n\tstruct ext4_group_info *bd_info;\n\tstruct super_block *bd_sb;\n\t__u16 bd_blkbits;\n\text4_group_t bd_group;\n};\n\nstruct ext4_dir_entry {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__le16 name_len;\n\tchar name[255];\n};\n\nstruct ext4_dir_entry_2 {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[255];\n};\n\nstruct ext4_dir_entry_hash {\n\t__le32 hash;\n\t__le32 minor_hash;\n};\n\nstruct ext4_dir_entry_tail {\n\t__le32 det_reserved_zero1;\n\t__le16 det_rec_len;\n\t__u8 det_reserved_zero2;\n\t__u8 det_reserved_ft;\n\t__le32 det_checksum;\n};\n\nstruct ext4_err_translation {\n\tint code;\n\tint errno;\n};\n\nstruct ext4_es_stats {\n\tlong unsigned int es_stats_shrunk;\n\tstruct percpu_counter es_stats_cache_hits;\n\tstruct percpu_counter es_stats_cache_misses;\n\tu64 es_stats_scan_time;\n\tu64 es_stats_max_scan_time;\n\tstruct percpu_counter es_stats_all_cnt;\n\tstruct percpu_counter es_stats_shk_cnt;\n};\n\nstruct extent_status;\n\nstruct ext4_es_tree {\n\tstruct rb_root root;\n\tstruct extent_status *cache_es;\n};\n\nstruct ext4_extent;\n\nstruct ext4_extent_idx;\n\nstruct ext4_extent_header;\n\nstruct ext4_ext_path {\n\text4_fsblk_t p_block;\n\t__u16 p_depth;\n\t__u16 p_maxdepth;\n\tstruct ext4_extent *p_ext;\n\tstruct ext4_extent_idx *p_idx;\n\tstruct ext4_extent_header *p_hdr;\n\tstruct buffer_head *p_bh;\n};\n\nstruct ext4_extent {\n\t__le32 ee_block;\n\t__le16 ee_len;\n\t__le16 ee_start_hi;\n\t__le32 ee_start_lo;\n};\n\nstruct ext4_extent_header {\n\t__le16 eh_magic;\n\t__le16 eh_entries;\n\t__le16 eh_max;\n\t__le16 eh_depth;\n\t__le32 eh_generation;\n};\n\nstruct ext4_extent_idx {\n\t__le32 ei_block;\n\t__le32 ei_leaf_lo;\n\t__le16 ei_leaf_hi;\n\t__u16 ei_unused;\n};\n\nstruct ext4_extent_tail {\n\t__le32 et_checksum;\n};\n\nstruct ext4_fc_add_range {\n\t__le32 fc_ino;\n\t__u8 fc_ex[12];\n};\n\nstruct ext4_fc_alloc_region {\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tint ino;\n\tint len;\n};\n\nstruct ext4_fc_del_range {\n\t__le32 fc_ino;\n\t__le32 fc_lblk;\n\t__le32 fc_len;\n};\n\nstruct ext4_fc_dentry_info {\n\t__le32 fc_parent_ino;\n\t__le32 fc_ino;\n\t__u8 fc_dname[0];\n};\n\nstruct name_snapshot {\n\tstruct qstr name;\n\tunion shortname_store inline_name;\n};\n\nstruct ext4_fc_dentry_update {\n\tint fcd_op;\n\tint fcd_parent;\n\tint fcd_ino;\n\tstruct name_snapshot fcd_name;\n\tstruct list_head fcd_list;\n\tstruct list_head fcd_dilist;\n};\n\nstruct ext4_fc_head {\n\t__le32 fc_features;\n\t__le32 fc_tid;\n};\n\nstruct ext4_fc_inode {\n\t__le32 fc_ino;\n\t__u8 fc_raw_inode[0];\n};\n\nstruct ext4_fc_replay_state {\n\tint fc_replay_num_tags;\n\tint fc_replay_expected_off;\n\tint fc_current_pass;\n\tint fc_cur_tag;\n\tint fc_crc;\n\tstruct ext4_fc_alloc_region *fc_regions;\n\tint fc_regions_size;\n\tint fc_regions_used;\n\tint fc_regions_valid;\n\tint *fc_modified_inodes;\n\tint fc_modified_inodes_used;\n\tint fc_modified_inodes_size;\n};\n\nstruct ext4_fc_stats {\n\tunsigned int fc_ineligible_reason_count[10];\n\tlong unsigned int fc_num_commits;\n\tlong unsigned int fc_ineligible_commits;\n\tlong unsigned int fc_failed_commits;\n\tlong unsigned int fc_skipped_commits;\n\tlong unsigned int fc_numblks;\n\tu64 s_fc_avg_commit_time;\n};\n\nstruct ext4_fc_tail {\n\t__le32 fc_tid;\n\t__le32 fc_crc;\n};\n\nstruct ext4_fc_tl {\n\t__le16 fc_tag;\n\t__le16 fc_len;\n};\n\nstruct ext4_fc_tl_mem {\n\tu16 fc_tag;\n\tu16 fc_len;\n};\n\nstruct fscrypt_str {\n\tunsigned char *name;\n\tu32 len;\n};\n\nstruct ext4_filename {\n\tconst struct qstr *usr_fname;\n\tstruct fscrypt_str disk_name;\n\tstruct dx_hash_info hinfo;\n};\n\nstruct ext4_free_data {\n\tstruct list_head efd_list;\n\tstruct rb_node efd_node;\n\text4_group_t efd_group;\n\text4_grpblk_t efd_start_cluster;\n\text4_grpblk_t efd_count;\n\ttid_t efd_tid;\n};\n\nstruct fscrypt_dummy_policy {};\n\nstruct ext4_fs_context {\n\tchar *s_qf_names[3];\n\tstruct fscrypt_dummy_policy dummy_enc_policy;\n\tint s_jquota_fmt;\n\tshort unsigned int qname_spec;\n\tlong unsigned int vals_s_flags;\n\tlong unsigned int mask_s_flags;\n\tlong unsigned int journal_devnum;\n\tlong unsigned int s_commit_interval;\n\tlong unsigned int s_stripe;\n\tunsigned int s_inode_readahead_blks;\n\tunsigned int s_want_extra_isize;\n\tunsigned int s_li_wait_mult;\n\tunsigned int s_max_dir_size_kb;\n\tunsigned int journal_ioprio;\n\tunsigned int vals_s_mount_opt;\n\tunsigned int mask_s_mount_opt;\n\tunsigned int vals_s_mount_opt2;\n\tunsigned int mask_s_mount_opt2;\n\tunsigned int opt_flags;\n\tunsigned int spec;\n\tu32 s_max_batch_time;\n\tu32 s_min_batch_time;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\text4_fsblk_t s_sb_block;\n};\n\nstruct ext4_fsmap {\n\tstruct list_head fmr_list;\n\tdev_t fmr_device;\n\tuint32_t fmr_flags;\n\tuint64_t fmr_physical;\n\tuint64_t fmr_owner;\n\tuint64_t fmr_length;\n};\n\nstruct ext4_fsmap_head {\n\tuint32_t fmh_iflags;\n\tuint32_t fmh_oflags;\n\tunsigned int fmh_count;\n\tunsigned int fmh_entries;\n\tstruct ext4_fsmap fmh_keys[2];\n};\n\nstruct ext4_getfsmap_info;\n\nstruct ext4_getfsmap_dev {\n\tint (*gfd_fn)(struct super_block *, struct ext4_fsmap *, struct ext4_getfsmap_info *);\n\tu32 gfd_dev;\n};\n\ntypedef int (*ext4_fsmap_format_t)(struct ext4_fsmap *, void *);\n\nstruct ext4_getfsmap_info {\n\tstruct ext4_fsmap_head *gfi_head;\n\text4_fsmap_format_t gfi_formatter;\n\tvoid *gfi_format_arg;\n\text4_fsblk_t gfi_next_fsblk;\n\tu32 gfi_dev;\n\text4_group_t gfi_agno;\n\tstruct ext4_fsmap gfi_low;\n\tstruct ext4_fsmap gfi_high;\n\tstruct ext4_fsmap gfi_lastfree;\n\tstruct list_head gfi_meta_list;\n\tbool gfi_last;\n};\n\nstruct ext4_group_desc {\n\t__le32 bg_block_bitmap_lo;\n\t__le32 bg_inode_bitmap_lo;\n\t__le32 bg_inode_table_lo;\n\t__le16 bg_free_blocks_count_lo;\n\t__le16 bg_free_inodes_count_lo;\n\t__le16 bg_used_dirs_count_lo;\n\t__le16 bg_flags;\n\t__le32 bg_exclude_bitmap_lo;\n\t__le16 bg_block_bitmap_csum_lo;\n\t__le16 bg_inode_bitmap_csum_lo;\n\t__le16 bg_itable_unused_lo;\n\t__le16 bg_checksum;\n\t__le32 bg_block_bitmap_hi;\n\t__le32 bg_inode_bitmap_hi;\n\t__le32 bg_inode_table_hi;\n\t__le16 bg_free_blocks_count_hi;\n\t__le16 bg_free_inodes_count_hi;\n\t__le16 bg_used_dirs_count_hi;\n\t__le16 bg_itable_unused_hi;\n\t__le32 bg_exclude_bitmap_hi;\n\t__le16 bg_block_bitmap_csum_hi;\n\t__le16 bg_inode_bitmap_csum_hi;\n\t__u32 bg_reserved;\n};\n\nstruct ext4_group_info {\n\tlong unsigned int bb_state;\n\tstruct rb_root bb_free_root;\n\text4_grpblk_t bb_first_free;\n\text4_grpblk_t bb_free;\n\text4_grpblk_t bb_fragments;\n\tint bb_avg_fragment_size_order;\n\text4_grpblk_t bb_largest_free_order;\n\text4_group_t bb_group;\n\tstruct list_head bb_prealloc_list;\n\tstruct rw_semaphore alloc_sem;\n\tstruct list_head bb_avg_fragment_size_node;\n\tstruct list_head bb_largest_free_order_node;\n\text4_grpblk_t bb_counters[0];\n};\n\nstruct ext4_iloc {\n\tstruct buffer_head *bh;\n\tlong unsigned int offset;\n\text4_group_t block_group;\n};\n\nstruct ext4_inode {\n\t__le16 i_mode;\n\t__le16 i_uid;\n\t__le32 i_size_lo;\n\t__le32 i_atime;\n\t__le32 i_ctime;\n\t__le32 i_mtime;\n\t__le32 i_dtime;\n\t__le16 i_gid;\n\t__le16 i_links_count;\n\t__le32 i_blocks_lo;\n\t__le32 i_flags;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 l_i_version;\n\t\t} linux1;\n\t\tstruct {\n\t\t\t__u32 h_i_translator;\n\t\t} hurd1;\n\t\tstruct {\n\t\t\t__u32 m_i_reserved1;\n\t\t} masix1;\n\t} osd1;\n\t__le32 i_block[15];\n\t__le32 i_generation;\n\t__le32 i_file_acl_lo;\n\t__le32 i_size_high;\n\t__le32 i_obso_faddr;\n\tunion {\n\t\tstruct {\n\t\t\t__le16 l_i_blocks_high;\n\t\t\t__le16 l_i_file_acl_high;\n\t\t\t__le16 l_i_uid_high;\n\t\t\t__le16 l_i_gid_high;\n\t\t\t__le16 l_i_checksum_lo;\n\t\t\t__le16 l_i_reserved;\n\t\t} linux2;\n\t\tstruct {\n\t\t\t__le16 h_i_reserved1;\n\t\t\t__u16 h_i_mode_high;\n\t\t\t__u16 h_i_uid_high;\n\t\t\t__u16 h_i_gid_high;\n\t\t\t__u32 h_i_author;\n\t\t} hurd2;\n\t\tstruct {\n\t\t\t__le16 h_i_reserved1;\n\t\t\t__le16 m_i_file_acl_high;\n\t\t\t__u32 m_i_reserved2[2];\n\t\t} masix2;\n\t} osd2;\n\t__le16 i_extra_isize;\n\t__le16 i_checksum_hi;\n\t__le32 i_ctime_extra;\n\t__le32 i_mtime_extra;\n\t__le32 i_atime_extra;\n\t__le32 i_crtime;\n\t__le32 i_crtime_extra;\n\t__le32 i_version_hi;\n\t__le32 i_projid;\n};\n\nstruct ext4_pending_tree {\n\tstruct rb_root root;\n};\n\nstruct jbd2_inode;\n\nstruct ext4_inode_info {\n\t__le32 i_data[15];\n\t__u32 i_dtime;\n\text4_fsblk_t i_file_acl;\n\text4_group_t i_block_group;\n\text4_lblk_t i_dir_start_lookup;\n\tlong unsigned int i_flags;\n\tstruct rw_semaphore xattr_sem;\n\tunion {\n\t\tstruct list_head i_orphan;\n\t\tunsigned int i_orphan_idx;\n\t};\n\tstruct list_head i_fc_dilist;\n\tstruct list_head i_fc_list;\n\text4_lblk_t i_fc_lblk_start;\n\text4_lblk_t i_fc_lblk_len;\n\tatomic_t i_fc_updates;\n\tatomic_t i_unwritten;\n\twait_queue_head_t i_fc_wait;\n\tstruct mutex i_fc_lock;\n\tloff_t i_disksize;\n\tstruct rw_semaphore i_data_sem;\n\tstruct inode vfs_inode;\n\tstruct jbd2_inode *jinode;\n\tspinlock_t i_raw_lock;\n\tstruct timespec64 i_crtime;\n\tatomic_t i_prealloc_active;\n\tunsigned int i_reserved_data_blocks;\n\tstruct rb_root i_prealloc_node;\n\trwlock_t i_prealloc_lock;\n\tstruct ext4_es_tree i_es_tree;\n\trwlock_t i_es_lock;\n\tstruct list_head i_es_list;\n\tunsigned int i_es_all_nr;\n\tunsigned int i_es_shk_nr;\n\text4_lblk_t i_es_shrink_lblk;\n\text4_group_t i_last_alloc_group;\n\tstruct ext4_pending_tree i_pending_tree;\n\t__u16 i_extra_isize;\n\tu16 i_inline_off;\n\tu16 i_inline_size;\n\tqsize_t i_reserved_quota;\n\tspinlock_t i_completed_io_lock;\n\tstruct list_head i_rsv_conversion_list;\n\tstruct work_struct i_rsv_conversion_work;\n\tspinlock_t i_block_reservation_lock;\n\ttid_t i_sync_tid;\n\ttid_t i_datasync_tid;\n\tstruct dquot *i_dquot[3];\n\t__u32 i_csum_seed;\n\tkprojid_t i_projid;\n};\n\nstruct jbd2_journal_handle;\n\ntypedef struct jbd2_journal_handle handle_t;\n\nstruct ext4_io_end {\n\tstruct list_head list;\n\thandle_t *handle;\n\tstruct inode *inode;\n\tstruct bio *bio;\n\tunsigned int flag;\n\trefcount_t count;\n\tstruct list_head list_vec;\n};\n\ntypedef struct ext4_io_end ext4_io_end_t;\n\nstruct ext4_io_end_vec {\n\tstruct list_head list;\n\tloff_t offset;\n\tssize_t size;\n};\n\nstruct ext4_io_submit {\n\tstruct writeback_control *io_wbc;\n\tstruct bio *io_bio;\n\text4_io_end_t *io_end;\n\tsector_t io_next_block;\n};\n\nstruct ext4_journal_cb_entry {\n\tstruct list_head jce_list;\n\tvoid (*jce_func)(struct super_block *, struct ext4_journal_cb_entry *, int);\n};\n\nstruct jbd2_buffer_trigger_type {\n\tvoid (*t_frozen)(struct jbd2_buffer_trigger_type *, struct buffer_head *, void *, size_t);\n\tvoid (*t_abort)(struct jbd2_buffer_trigger_type *, struct buffer_head *);\n};\n\nstruct ext4_journal_trigger {\n\tstruct jbd2_buffer_trigger_type tr_triggers;\n\tstruct super_block *sb;\n};\n\nstruct ext4_lazy_init {\n\tlong unsigned int li_state;\n\tstruct list_head li_request_list;\n\tstruct mutex li_list_mtx;\n};\n\nstruct ext4_li_request {\n\tstruct super_block *lr_super;\n\tenum ext4_li_mode lr_mode;\n\text4_group_t lr_first_not_zeroed;\n\text4_group_t lr_next_group;\n\tstruct list_head lr_request;\n\tlong unsigned int lr_next_sched;\n\tlong unsigned int lr_timeout;\n};\n\nstruct ext4_locality_group {\n\tstruct mutex lg_mutex;\n\tstruct list_head lg_prealloc_list[10];\n\tspinlock_t lg_prealloc_lock;\n};\n\nstruct ext4_map_blocks {\n\text4_fsblk_t m_pblk;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\tunsigned int m_flags;\n};\n\nstruct ext4_mount_options {\n\tlong unsigned int s_mount_opt;\n\tlong unsigned int s_mount_opt2;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tlong unsigned int s_commit_interval;\n\tu32 s_min_batch_time;\n\tu32 s_max_batch_time;\n\tint s_jquota_fmt;\n\tchar *s_qf_names[3];\n};\n\nstruct ext4_new_group_data;\n\nstruct ext4_new_flex_group_data {\n\tstruct ext4_new_group_data *groups;\n\t__u16 *bg_flags;\n\text4_group_t resize_bg;\n\text4_group_t count;\n};\n\nstruct ext4_new_group_data {\n\t__u32 group;\n\t__u64 block_bitmap;\n\t__u64 inode_bitmap;\n\t__u64 inode_table;\n\t__u32 blocks_count;\n\t__u16 reserved_blocks;\n\t__u16 mdata_blocks;\n\t__u32 free_clusters_count;\n};\n\nstruct ext4_new_group_input {\n\t__u32 group;\n\t__u64 block_bitmap;\n\t__u64 inode_bitmap;\n\t__u64 inode_table;\n\t__u32 blocks_count;\n\t__u16 reserved_blocks;\n\t__u16 unused;\n};\n\nstruct ext4_orphan_block {\n\tatomic_t ob_free_entries;\n\tstruct buffer_head *ob_bh;\n};\n\nstruct ext4_orphan_block_tail {\n\t__le32 ob_magic;\n\t__le32 ob_checksum;\n};\n\nstruct ext4_orphan_info {\n\tint of_blocks;\n\t__u32 of_csum_seed;\n\tstruct ext4_orphan_block *of_binfo;\n};\n\nstruct ext4_prealloc_space {\n\tunion {\n\t\tstruct rb_node inode_node;\n\t\tstruct list_head lg_list;\n\t} pa_node;\n\tstruct list_head pa_group_list;\n\tunion {\n\t\tstruct list_head pa_tmp_list;\n\t\tstruct callback_head pa_rcu;\n\t} u;\n\tspinlock_t pa_lock;\n\tatomic_t pa_count;\n\tunsigned int pa_deleted;\n\text4_fsblk_t pa_pstart;\n\text4_lblk_t pa_lstart;\n\text4_grpblk_t pa_len;\n\text4_grpblk_t pa_free;\n\tshort unsigned int pa_type;\n\tunion {\n\t\trwlock_t *inode_lock;\n\t\tspinlock_t *lg_lock;\n\t} pa_node_lock;\n\tstruct inode *pa_inode;\n};\n\nstruct ext4_rcu_ptr {\n\tstruct callback_head rcu;\n\tvoid *ptr;\n};\n\nstruct ext4_renament {\n\tstruct inode *dir;\n\tstruct dentry *dentry;\n\tstruct inode *inode;\n\tbool is_dir;\n\tint dir_nlink_delta;\n\tstruct buffer_head *bh;\n\tstruct ext4_dir_entry_2 *de;\n\tint inlined;\n\tstruct buffer_head *dir_bh;\n\tstruct ext4_dir_entry_2 *parent_de;\n\tint dir_inlined;\n};\n\nstruct rcu_sync {\n\tint gp_state;\n\tint gp_count;\n\twait_queue_head_t gp_wait;\n\tstruct callback_head cb_head;\n};\n\nstruct percpu_rw_semaphore {\n\tstruct rcu_sync rss;\n\tunsigned int *read_count;\n\tstruct rcuwait writer;\n\twait_queue_head_t waiters;\n\tatomic_t block;\n};\n\nstruct ext4_super_block;\n\nstruct journal_s;\n\nstruct ext4_system_blocks;\n\nstruct flex_groups;\n\nstruct shrinker;\n\nstruct mb_cache;\n\nstruct ext4_sb_info {\n\tlong unsigned int s_desc_size;\n\tlong unsigned int s_inodes_per_block;\n\tlong unsigned int s_blocks_per_group;\n\tlong unsigned int s_clusters_per_group;\n\tlong unsigned int s_inodes_per_group;\n\tlong unsigned int s_itb_per_group;\n\tlong unsigned int s_gdb_count;\n\tlong unsigned int s_desc_per_block;\n\text4_group_t s_groups_count;\n\text4_group_t s_blockfile_groups;\n\tlong unsigned int s_overhead;\n\tunsigned int s_cluster_ratio;\n\tunsigned int s_cluster_bits;\n\tloff_t s_bitmap_maxbytes;\n\tstruct buffer_head *s_sbh;\n\tstruct ext4_super_block *s_es;\n\tstruct buffer_head **s_group_desc;\n\tunsigned int s_mount_opt;\n\tunsigned int s_mount_opt2;\n\tlong unsigned int s_mount_flags;\n\tunsigned int s_def_mount_opt;\n\tunsigned int s_def_mount_opt2;\n\text4_fsblk_t s_sb_block;\n\tatomic64_t s_resv_clusters;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tshort unsigned int s_mount_state;\n\tshort unsigned int s_pad;\n\tint s_addr_per_block_bits;\n\tint s_desc_per_block_bits;\n\tint s_inode_size;\n\tint s_first_ino;\n\tunsigned int s_inode_readahead_blks;\n\tunsigned int s_inode_goal;\n\tu32 s_hash_seed[4];\n\tint s_def_hash_version;\n\tint s_hash_unsigned;\n\tstruct percpu_counter s_freeclusters_counter;\n\tstruct percpu_counter s_freeinodes_counter;\n\tstruct percpu_counter s_dirs_counter;\n\tstruct percpu_counter s_dirtyclusters_counter;\n\tstruct percpu_counter s_sra_exceeded_retry_limit;\n\tstruct blockgroup_lock *s_blockgroup_lock;\n\tstruct proc_dir_entry *s_proc;\n\tstruct kobject s_kobj;\n\tstruct completion s_kobj_unregister;\n\tstruct super_block *s_sb;\n\tstruct buffer_head *s_mmp_bh;\n\tstruct journal_s *s_journal;\n\tlong unsigned int s_ext4_flags;\n\tstruct mutex s_orphan_lock;\n\tstruct list_head s_orphan;\n\tstruct ext4_orphan_info s_orphan_info;\n\tlong unsigned int s_commit_interval;\n\tu32 s_max_batch_time;\n\tu32 s_min_batch_time;\n\tstruct file *s_journal_bdev_file;\n\tchar *s_qf_names[3];\n\tint s_jquota_fmt;\n\tunsigned int s_want_extra_isize;\n\tstruct ext4_system_blocks *s_system_blks;\n\tstruct ext4_group_info ***s_group_info;\n\tstruct inode *s_buddy_cache;\n\tspinlock_t s_md_lock;\n\tshort unsigned int *s_mb_offsets;\n\tunsigned int *s_mb_maxs;\n\tunsigned int s_group_info_size;\n\tunsigned int s_mb_free_pending;\n\tstruct list_head s_freed_data_list[2];\n\tstruct list_head s_discard_list;\n\tstruct work_struct s_discard_work;\n\tatomic_t s_retry_alloc_pending;\n\tstruct list_head *s_mb_avg_fragment_size;\n\trwlock_t *s_mb_avg_fragment_size_locks;\n\tstruct list_head *s_mb_largest_free_orders;\n\trwlock_t *s_mb_largest_free_orders_locks;\n\tlong unsigned int s_stripe;\n\tunsigned int s_mb_max_linear_groups;\n\tunsigned int s_mb_stream_request;\n\tunsigned int s_mb_max_to_scan;\n\tunsigned int s_mb_min_to_scan;\n\tunsigned int s_mb_stats;\n\tunsigned int s_mb_order2_reqs;\n\tunsigned int s_mb_group_prealloc;\n\tunsigned int s_max_dir_size_kb;\n\tlong unsigned int s_mb_last_group;\n\tlong unsigned int s_mb_last_start;\n\tunsigned int s_mb_prefetch;\n\tunsigned int s_mb_prefetch_limit;\n\tunsigned int s_mb_best_avail_max_trim_order;\n\tatomic_t s_bal_reqs;\n\tatomic_t s_bal_success;\n\tatomic_t s_bal_allocated;\n\tatomic_t s_bal_ex_scanned;\n\tatomic_t s_bal_cX_ex_scanned[5];\n\tatomic_t s_bal_groups_scanned;\n\tatomic_t s_bal_goals;\n\tatomic_t s_bal_len_goals;\n\tatomic_t s_bal_breaks;\n\tatomic_t s_bal_2orders;\n\tatomic_t s_bal_p2_aligned_bad_suggestions;\n\tatomic_t s_bal_goal_fast_bad_suggestions;\n\tatomic_t s_bal_best_avail_bad_suggestions;\n\tatomic64_t s_bal_cX_groups_considered[5];\n\tatomic64_t s_bal_cX_hits[5];\n\tatomic64_t s_bal_cX_failed[5];\n\tatomic_t s_mb_buddies_generated;\n\tatomic64_t s_mb_generation_time;\n\tatomic_t s_mb_lost_chunks;\n\tatomic_t s_mb_preallocated;\n\tatomic_t s_mb_discarded;\n\tatomic_t s_lock_busy;\n\tstruct ext4_locality_group *s_locality_groups;\n\tlong unsigned int s_sectors_written_start;\n\tu64 s_kbytes_written;\n\tunsigned int s_extent_max_zeroout_kb;\n\tunsigned int s_log_groups_per_flex;\n\tstruct flex_groups **s_flex_groups;\n\text4_group_t s_flex_groups_allocated;\n\tstruct workqueue_struct *rsv_conversion_wq;\n\tstruct timer_list s_err_report;\n\tstruct ext4_li_request *s_li_request;\n\tunsigned int s_li_wait_mult;\n\tstruct task_struct *s_mmp_tsk;\n\tlong unsigned int s_last_trim_minblks;\n\t__u32 s_csum_seed;\n\tstruct shrinker *s_es_shrinker;\n\tstruct list_head s_es_list;\n\tlong int s_es_nr_inode;\n\tstruct ext4_es_stats s_es_stats;\n\tstruct mb_cache *s_ea_block_cache;\n\tstruct mb_cache *s_ea_inode_cache;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t s_es_lock;\n\tstruct ext4_journal_trigger s_journal_triggers[1];\n\tstruct ratelimit_state s_err_ratelimit_state;\n\tstruct ratelimit_state s_warning_ratelimit_state;\n\tstruct ratelimit_state s_msg_ratelimit_state;\n\tatomic_t s_warning_count;\n\tatomic_t s_msg_count;\n\tstruct fscrypt_dummy_policy s_dummy_enc_policy;\n\tstruct percpu_rw_semaphore s_writepages_rwsem;\n\tstruct dax_device *s_daxdev;\n\tu64 s_dax_part_off;\n\terrseq_t s_bdev_wb_err;\n\tspinlock_t s_bdev_wb_lock;\n\tspinlock_t s_error_lock;\n\tint s_add_error_count;\n\tint s_first_error_code;\n\t__u32 s_first_error_line;\n\t__u32 s_first_error_ino;\n\t__u64 s_first_error_block;\n\tconst char *s_first_error_func;\n\ttime64_t s_first_error_time;\n\tint s_last_error_code;\n\t__u32 s_last_error_line;\n\t__u32 s_last_error_ino;\n\t__u64 s_last_error_block;\n\tconst char *s_last_error_func;\n\ttime64_t s_last_error_time;\n\tstruct work_struct s_sb_upd_work;\n\tunsigned int s_awu_min;\n\tunsigned int s_awu_max;\n\tatomic_t s_fc_subtid;\n\tstruct list_head s_fc_q[2];\n\tstruct list_head s_fc_dentry_q[2];\n\tunsigned int s_fc_bytes;\n\tspinlock_t s_fc_lock;\n\tstruct buffer_head *s_fc_bh;\n\tstruct ext4_fc_stats s_fc_stats;\n\ttid_t s_fc_ineligible_tid;\n\tstruct ext4_fc_replay_state s_fc_replay_state;\n\tlong: 64;\n};\n\nstruct ext4_super_block {\n\t__le32 s_inodes_count;\n\t__le32 s_blocks_count_lo;\n\t__le32 s_r_blocks_count_lo;\n\t__le32 s_free_blocks_count_lo;\n\t__le32 s_free_inodes_count;\n\t__le32 s_first_data_block;\n\t__le32 s_log_block_size;\n\t__le32 s_log_cluster_size;\n\t__le32 s_blocks_per_group;\n\t__le32 s_clusters_per_group;\n\t__le32 s_inodes_per_group;\n\t__le32 s_mtime;\n\t__le32 s_wtime;\n\t__le16 s_mnt_count;\n\t__le16 s_max_mnt_count;\n\t__le16 s_magic;\n\t__le16 s_state;\n\t__le16 s_errors;\n\t__le16 s_minor_rev_level;\n\t__le32 s_lastcheck;\n\t__le32 s_checkinterval;\n\t__le32 s_creator_os;\n\t__le32 s_rev_level;\n\t__le16 s_def_resuid;\n\t__le16 s_def_resgid;\n\t__le32 s_first_ino;\n\t__le16 s_inode_size;\n\t__le16 s_block_group_nr;\n\t__le32 s_feature_compat;\n\t__le32 s_feature_incompat;\n\t__le32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\tchar s_volume_name[16];\n\tchar s_last_mounted[64];\n\t__le32 s_algorithm_usage_bitmap;\n\t__u8 s_prealloc_blocks;\n\t__u8 s_prealloc_dir_blocks;\n\t__le16 s_reserved_gdt_blocks;\n\t__u8 s_journal_uuid[16];\n\t__le32 s_journal_inum;\n\t__le32 s_journal_dev;\n\t__le32 s_last_orphan;\n\t__le32 s_hash_seed[4];\n\t__u8 s_def_hash_version;\n\t__u8 s_jnl_backup_type;\n\t__le16 s_desc_size;\n\t__le32 s_default_mount_opts;\n\t__le32 s_first_meta_bg;\n\t__le32 s_mkfs_time;\n\t__le32 s_jnl_blocks[17];\n\t__le32 s_blocks_count_hi;\n\t__le32 s_r_blocks_count_hi;\n\t__le32 s_free_blocks_count_hi;\n\t__le16 s_min_extra_isize;\n\t__le16 s_want_extra_isize;\n\t__le32 s_flags;\n\t__le16 s_raid_stride;\n\t__le16 s_mmp_update_interval;\n\t__le64 s_mmp_block;\n\t__le32 s_raid_stripe_width;\n\t__u8 s_log_groups_per_flex;\n\t__u8 s_checksum_type;\n\t__u8 s_encryption_level;\n\t__u8 s_reserved_pad;\n\t__le64 s_kbytes_written;\n\t__le32 s_snapshot_inum;\n\t__le32 s_snapshot_id;\n\t__le64 s_snapshot_r_blocks_count;\n\t__le32 s_snapshot_list;\n\t__le32 s_error_count;\n\t__le32 s_first_error_time;\n\t__le32 s_first_error_ino;\n\t__le64 s_first_error_block;\n\t__u8 s_first_error_func[32];\n\t__le32 s_first_error_line;\n\t__le32 s_last_error_time;\n\t__le32 s_last_error_ino;\n\t__le32 s_last_error_line;\n\t__le64 s_last_error_block;\n\t__u8 s_last_error_func[32];\n\t__u8 s_mount_opts[64];\n\t__le32 s_usr_quota_inum;\n\t__le32 s_grp_quota_inum;\n\t__le32 s_overhead_clusters;\n\t__le32 s_backup_bgs[2];\n\t__u8 s_encrypt_algos[4];\n\t__u8 s_encrypt_pw_salt[16];\n\t__le32 s_lpf_ino;\n\t__le32 s_prj_quota_inum;\n\t__le32 s_checksum_seed;\n\t__u8 s_wtime_hi;\n\t__u8 s_mtime_hi;\n\t__u8 s_mkfs_time_hi;\n\t__u8 s_lastcheck_hi;\n\t__u8 s_first_error_time_hi;\n\t__u8 s_last_error_time_hi;\n\t__u8 s_first_error_errcode;\n\t__u8 s_last_error_errcode;\n\t__le16 s_encoding;\n\t__le16 s_encoding_flags;\n\t__le32 s_orphan_file_inum;\n\t__le32 s_reserved[94];\n\t__le32 s_checksum;\n};\n\nstruct ext4_system_blocks {\n\tstruct rb_root root;\n\tstruct callback_head rcu;\n};\n\nstruct ext4_system_zone {\n\tstruct rb_node node;\n\text4_fsblk_t start_blk;\n\tunsigned int count;\n\tu32 ino;\n};\n\nstruct ext4_xattr_entry;\n\nstruct ext4_xattr_search {\n\tstruct ext4_xattr_entry *first;\n\tvoid *base;\n\tvoid *end;\n\tstruct ext4_xattr_entry *here;\n\tint not_found;\n};\n\nstruct ext4_xattr_block_find {\n\tstruct ext4_xattr_search s;\n\tstruct buffer_head *bh;\n};\n\nstruct ext4_xattr_entry {\n\t__u8 e_name_len;\n\t__u8 e_name_index;\n\t__le16 e_value_offs;\n\t__le32 e_value_inum;\n\t__le32 e_value_size;\n\t__le32 e_hash;\n\tchar e_name[0];\n};\n\nstruct ext4_xattr_header {\n\t__le32 h_magic;\n\t__le32 h_refcount;\n\t__le32 h_blocks;\n\t__le32 h_hash;\n\t__le32 h_checksum;\n\t__u32 h_reserved[3];\n};\n\nstruct ext4_xattr_ibody_find {\n\tstruct ext4_xattr_search s;\n\tstruct ext4_iloc iloc;\n};\n\nstruct ext4_xattr_ibody_header {\n\t__le32 h_magic;\n};\n\nstruct ext4_xattr_info {\n\tconst char *name;\n\tconst void *value;\n\tsize_t value_len;\n\tint name_index;\n\tint in_inode;\n};\n\nstruct ext4_xattr_inode_array {\n\tunsigned int count;\n\tstruct inode *inodes[0];\n};\n\nstruct ext_arg {\n\tsize_t argsz;\n\tstruct timespec64 ts;\n\tconst sigset_t *sig;\n\tktime_t min_time;\n\tbool ts_set;\n};\n\nstruct msg_msg;\n\nstruct ext_wait_queue {\n\tstruct task_struct *task;\n\tstruct list_head list;\n\tstruct msg_msg *msg;\n\tint state;\n};\n\nunion extcon_property_value {\n\tint intval;\n};\n\nstruct extcon_cable {\n\tstruct extcon_dev *edev;\n\tint cable_index;\n\tstruct attribute_group attr_g;\n\tstruct device_attribute attr_name;\n\tstruct device_attribute attr_state;\n\tstruct attribute *attrs[3];\n\tunion extcon_property_value usb_propval[3];\n\tunion extcon_property_value chg_propval[1];\n\tunion extcon_property_value jack_propval[1];\n\tunion extcon_property_value disp_propval[2];\n\tlong unsigned int usb_bits[1];\n\tlong unsigned int chg_bits[1];\n\tlong unsigned int jack_bits[1];\n\tlong unsigned int disp_bits[1];\n};\n\nstruct extcon_dev {\n\tconst char *name;\n\tconst unsigned int *supported_cable;\n\tconst u32 *mutually_exclusive;\n\tstruct device dev;\n\tunsigned int id;\n\tstruct raw_notifier_head nh_all;\n\tstruct raw_notifier_head *nh;\n\tstruct list_head entry;\n\tint max_supported;\n\tspinlock_t lock;\n\tu32 state;\n\tstruct device_type extcon_dev_type;\n\tstruct extcon_cable *cables;\n\tstruct attribute_group attr_g_muex;\n\tstruct attribute **attrs_muex;\n\tstruct device_attribute *d_attrs_muex;\n};\n\nstruct extcon_dev_notifier_devres {\n\tstruct extcon_dev *edev;\n\tunsigned int id;\n\tstruct notifier_block *nb;\n};\n\nstruct extcon_specific_cable_nb {\n\tstruct notifier_block *user_nb;\n\tint cable_index;\n\tstruct extcon_dev *edev;\n\tlong unsigned int previous_value;\n};\n\nstruct extent_status {\n\tstruct rb_node rb_node;\n\text4_lblk_t es_lblk;\n\text4_lblk_t es_len;\n\text4_fsblk_t es_pblk;\n};\n\nstruct external_name {\n\tatomic_t count;\n\tstruct callback_head head;\n\tunsigned char name[0];\n};\n\nstruct extra_context {\n\tstruct _aarch64_ctx head;\n\t__u64 datap;\n\t__u32 size;\n\t__u32 __reserved[3];\n};\n\nstruct exynos_hsi2c_variant;\n\nstruct exynos5_i2c {\n\tstruct i2c_adapter adap;\n\tstruct i2c_msg *msg;\n\tstruct completion msg_complete;\n\tunsigned int msg_ptr;\n\tunsigned int irq;\n\tvoid *regs;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct device *dev;\n\tint state;\n\tspinlock_t lock;\n\tint trans_done;\n\tunsigned int atomic;\n\tunsigned int op_clock;\n\tconst struct exynos_hsi2c_variant *variant;\n};\n\nstruct exynos5_usbdrd_phy_config;\n\nstruct phy_usb_instance {\n\tstruct phy *phy;\n\tu32 index;\n\tstruct regmap *reg_pmu;\n\tu32 pmu_offset;\n\tconst struct exynos5_usbdrd_phy_config *phy_cfg;\n};\n\nstruct exynos5_usbdrd_phy_drvdata;\n\nstruct exynos5_usbdrd_phy {\n\tstruct device *dev;\n\tvoid *reg_phy;\n\tvoid *reg_pcs;\n\tvoid *reg_pma;\n\tstruct clk_bulk_data *clks;\n\tstruct clk_bulk_data *core_clks;\n\tconst struct exynos5_usbdrd_phy_drvdata *drv_data;\n\tstruct phy_usb_instance phys[2];\n\tu32 extrefclk;\n\tstruct regulator_bulk_data *regulators;\n};\n\nstruct exynos5_usbdrd_phy_config {\n\tu32 id;\n\tvoid (*phy_isol)(struct phy_usb_instance *, bool);\n\tvoid (*phy_init)(struct exynos5_usbdrd_phy *);\n\tunsigned int (*set_refclk)(struct phy_usb_instance *);\n};\n\nstruct exynos5_usbdrd_phy_tuning;\n\nstruct phy_ops;\n\nstruct exynos5_usbdrd_phy_drvdata {\n\tconst struct exynos5_usbdrd_phy_config *phy_cfg;\n\tconst struct exynos5_usbdrd_phy_tuning **phy_tunes;\n\tconst struct phy_ops *phy_ops;\n\tconst char * const *clk_names;\n\tint n_clks;\n\tconst char * const *core_clk_names;\n\tint n_core_clks;\n\tconst char * const *regulator_names;\n\tint n_regulators;\n\tu32 pmu_offset_usbdrd0_phy;\n\tu32 pmu_offset_usbdrd0_phy_ss;\n\tu32 pmu_offset_usbdrd1_phy;\n};\n\nstruct exynos5_usbdrd_phy_tuning {\n\tu32 off;\n\tu32 mask;\n\tu32 val;\n\tchar region;\n};\n\nstruct exynos_adc_data;\n\nstruct exynos_adc {\n\tstruct exynos_adc_data *data;\n\tstruct device *dev;\n\tstruct input_dev *input;\n\tvoid *regs;\n\tstruct regmap *pmu_map;\n\tstruct clk *clk;\n\tstruct clk *sclk;\n\tunsigned int irq;\n\tunsigned int tsirq;\n\tunsigned int delay;\n\tstruct regulator *vdd;\n\tstruct completion completion;\n\tu32 value;\n\tunsigned int version;\n\tbool ts_enabled;\n\tbool read_ts;\n\tu32 ts_x;\n\tu32 ts_y;\n\tstruct mutex lock;\n};\n\nstruct exynos_adc_data {\n\tint num_channels;\n\tbool needs_sclk;\n\tbool needs_adc_phy;\n\tint phy_offset;\n\tu32 mask;\n\tvoid (*init_hw)(struct exynos_adc *);\n\tvoid (*exit_hw)(struct exynos_adc *);\n\tvoid (*clear_irq)(struct exynos_adc *);\n\tvoid (*start_conv)(struct exynos_adc *, long unsigned int);\n};\n\nstruct samsung_clk_reg_dump;\n\nstruct samsung_clk_provider;\n\nstruct exynos_arm64_cmu_data {\n\tstruct samsung_clk_reg_dump *clk_save;\n\tunsigned int nr_clk_save;\n\tconst struct samsung_clk_reg_dump *clk_suspend;\n\tunsigned int nr_clk_suspend;\n\tstruct clk *clk;\n\tstruct clk **pclks;\n\tint nr_pclks;\n\tstruct samsung_clk_provider *ctx;\n};\n\nstruct exynos_asv_table {\n\tunsigned int num_rows;\n\tunsigned int num_cols;\n\tu32 *buf;\n};\n\nstruct exynos_asv;\n\nstruct exynos_asv_subsys {\n\tstruct exynos_asv *asv;\n\tconst char *cpu_dt_compat;\n\tint id;\n\tstruct exynos_asv_table table;\n\tunsigned int base_volt;\n\tunsigned int offset_volt_h;\n\tunsigned int offset_volt_l;\n};\n\nstruct exynos_asv {\n\tstruct device *dev;\n\tstruct regmap *chipid_regmap;\n\tstruct exynos_asv_subsys subsys[2];\n\tint (*opp_get_voltage)(const struct exynos_asv_subsys *, int, unsigned int);\n\tunsigned int group;\n\tunsigned int table;\n\tbool use_sg;\n\tint of_bin;\n};\n\nstruct exynos_audss_clk_drvdata {\n\tunsigned int has_adma_clk: 1;\n\tunsigned int has_mst_clk: 1;\n\tunsigned int enable_epll: 1;\n\tunsigned int num_clks;\n};\n\nstruct exynos_chipid_info {\n\tu32 product_id;\n\tu32 revision;\n};\n\nstruct exynos_chipid_variant {\n\tunsigned int rev_reg;\n\tunsigned int main_rev_shift;\n\tunsigned int sub_rev_shift;\n};\n\nstruct exynos_clkout {\n\tstruct clk_gate gate;\n\tstruct clk_mux mux;\n\tspinlock_t slock;\n\tvoid *reg;\n\tstruct device_node *np;\n\tu32 pmu_debug_save;\n\tstruct clk_hw_onecell_data data;\n};\n\nstruct exynos_clkout_variant {\n\tu32 mux_mask;\n};\n\nstruct exynos_cpuclk_cfg_data;\n\nstruct exynos_cpuclk_chip;\n\nstruct exynos_cpuclk {\n\tstruct clk_hw hw;\n\tconst struct clk_hw *alt_parent;\n\tvoid *base;\n\tspinlock_t *lock;\n\tconst struct exynos_cpuclk_cfg_data *cfg;\n\tconst long unsigned int num_cfgs;\n\tstruct notifier_block clk_nb;\n\tlong unsigned int flags;\n\tconst struct exynos_cpuclk_chip *chip;\n};\n\nstruct exynos_cpuclk_cfg_data {\n\tlong unsigned int prate;\n\tlong unsigned int div0;\n\tlong unsigned int div1;\n};\n\ntypedef int (*exynos_rate_change_fn_t)(struct clk_notifier_data *, struct exynos_cpuclk *);\n\nstruct exynos_cpuclk_regs;\n\nstruct exynos_cpuclk_chip {\n\tconst struct exynos_cpuclk_regs *regs;\n\texynos_rate_change_fn_t pre_rate_cb;\n\texynos_rate_change_fn_t post_rate_cb;\n};\n\nstruct exynos_cpuclk_regs {\n\tu32 mux_sel;\n\tu32 mux_stat;\n\tu32 div_cpu0;\n\tu32 div_cpu1;\n\tu32 div_stat_cpu0;\n\tu32 div_stat_cpu1;\n\tu32 mux;\n\tu32 divs[4];\n};\n\nstruct exynos_dp_video_phy_drvdata;\n\nstruct exynos_dp_video_phy {\n\tstruct regmap *regs;\n\tconst struct exynos_dp_video_phy_drvdata *drvdata;\n};\n\nstruct exynos_dp_video_phy_drvdata {\n\tu32 phy_ctrl_offset;\n};\n\nstruct exynos_ehci_hcd {\n\tstruct clk *clk;\n\tstruct device_node *of_node;\n\tstruct phy *phy[3];\n\tbool legacy_phy;\n};\n\nstruct exynos_eint_gpio_save {\n\tu32 eint_con;\n\tu32 eint_fltcon0;\n\tu32 eint_fltcon1;\n\tu32 eint_mask;\n};\n\nstruct exynos_hsi2c_variant {\n\tunsigned int fifo_depth;\n\tenum i2c_type_exynos hw;\n};\n\nstruct samsung_pinctrl_drv_data;\n\nstruct exynos_irq_chip {\n\tstruct irq_chip chip;\n\tu32 eint_con;\n\tu32 eint_mask;\n\tu32 eint_pend;\n\tu32 *eint_wake_mask_value;\n\tu32 eint_wake_mask_reg;\n\tvoid (*set_eint_wakeup_mask)(struct samsung_pinctrl_drv_data *, struct exynos_irq_chip *);\n};\n\nstruct exynos_mipi_phy_desc {\n\tenum exynos_mipi_phy_id coupled_phy_id;\n\tu32 enable_val;\n\tunsigned int enable_reg;\n\tenum exynos_mipi_phy_regmap_id enable_map;\n\tu32 resetn_val;\n\tunsigned int resetn_reg;\n\tenum exynos_mipi_phy_regmap_id resetn_map;\n};\n\nstruct video_phy_desc {\n\tstruct phy *phy;\n\tunsigned int index;\n\tconst struct exynos_mipi_phy_desc *data;\n};\n\nstruct exynos_mipi_video_phy {\n\tstruct regmap *regmaps[4];\n\tint num_phys;\n\tstruct video_phy_desc phys[5];\n\tspinlock_t slock;\n};\n\nstruct samsung_pin_bank;\n\nstruct exynos_muxed_weint_data {\n\tunsigned int nr_banks;\n\tstruct samsung_pin_bank *banks[0];\n};\n\nstruct exynos_ohci_hcd {\n\tstruct clk *clk;\n\tstruct device_node *of_node;\n\tstruct phy *phy[3];\n\tbool legacy_phy;\n};\n\nstruct exynos_pm_domain {\n\tvoid *base;\n\tstruct generic_pm_domain pd;\n\tu32 local_pwr_cfg;\n};\n\nstruct exynos_pm_domain_config {\n\tu32 local_pwr_cfg;\n};\n\nstruct exynos_pmu_conf {\n\tunsigned int offset;\n\tu8 val[3];\n};\n\nstruct exynos_pmu_data;\n\nstruct exynos_pmu_context {\n\tstruct device *dev;\n\tconst struct exynos_pmu_data *pmu_data;\n\tstruct regmap *pmureg;\n};\n\nstruct exynos_pmu_data {\n\tconst struct exynos_pmu_conf *pmu_config;\n\tconst struct exynos_pmu_conf *pmu_config_extra;\n\tbool pmu_secure;\n\tvoid (*pmu_init)(void);\n\tvoid (*powerdown_conf)(enum sys_powerdown);\n\tvoid (*powerdown_conf_extra)(enum sys_powerdown);\n};\n\nstruct exynos_soc_id {\n\tconst char *name;\n\tunsigned int id;\n};\n\nstruct exynos_tmu_data {\n\tvoid *base;\n\tvoid *base_second;\n\tint irq;\n\tenum soc_type soc;\n\tstruct mutex lock;\n\tstruct clk *clk;\n\tstruct clk *clk_sec;\n\tstruct clk *sclk;\n\tu32 cal_type;\n\tu32 efuse_value;\n\tu32 min_efuse_value;\n\tu32 max_efuse_value;\n\tu16 temp_error1;\n\tu16 temp_error2;\n\tu8 gain;\n\tu8 reference_voltage;\n\tstruct thermal_zone_device *tzd;\n\tbool enabled;\n\tvoid (*tmu_set_low_temp)(struct exynos_tmu_data *, u8);\n\tvoid (*tmu_set_high_temp)(struct exynos_tmu_data *, u8);\n\tvoid (*tmu_set_crit_temp)(struct exynos_tmu_data *, u8);\n\tvoid (*tmu_disable_low)(struct exynos_tmu_data *);\n\tvoid (*tmu_disable_high)(struct exynos_tmu_data *);\n\tvoid (*tmu_initialize)(struct platform_device *);\n\tvoid (*tmu_control)(struct platform_device *, bool);\n\tint (*tmu_read)(struct exynos_tmu_data *);\n\tvoid (*tmu_set_emulation)(struct exynos_tmu_data *, int);\n\tvoid (*tmu_clear_irqs)(struct exynos_tmu_data *);\n};\n\nstruct exynos_trng_dev {\n\tstruct device *dev;\n\tvoid *mem;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct hwrng rng;\n\tlong unsigned int flags;\n};\n\nstruct ufs_pa_layer_attr {\n\tu32 gear_rx;\n\tu32 gear_tx;\n\tu32 lane_rx;\n\tu32 lane_tx;\n\tu32 pwr_rx;\n\tu32 pwr_tx;\n\tu32 hs_rate;\n};\n\nstruct ufs_phy_time_cfg {\n\tu32 tx_linereset_p;\n\tu32 tx_linereset_n;\n\tu32 tx_high_z_cnt;\n\tu32 tx_base_n_val;\n\tu32 tx_gran_n_val;\n\tu32 tx_sleep_cnt;\n\tu32 rx_linereset;\n\tu32 rx_hibern8_wait;\n\tu32 rx_base_n_val;\n\tu32 rx_gran_n_val;\n\tu32 rx_sleep_cnt;\n\tu32 rx_stall_cnt;\n};\n\nstruct ufs_hba;\n\nstruct exynos_ufs_drv_data;\n\nstruct exynos_ufs {\n\tstruct ufs_hba *hba;\n\tstruct phy *phy;\n\tvoid *reg_hci;\n\tvoid *reg_unipro;\n\tvoid *reg_ufsp;\n\tstruct clk *clk_hci_core;\n\tstruct clk *clk_unipro_main;\n\tstruct clk *clk_apb;\n\tu32 pclk_rate;\n\tu32 pclk_div;\n\tu32 pclk_avail_min;\n\tu32 pclk_avail_max;\n\tlong unsigned int mclk_rate;\n\tint avail_ln_rx;\n\tint avail_ln_tx;\n\tint rx_sel_idx;\n\tstruct ufs_pa_layer_attr dev_req_params;\n\tstruct ufs_phy_time_cfg t_cfg;\n\tktime_t entry_hibern8_t;\n\tconst struct exynos_ufs_drv_data *drv_data;\n\tstruct regmap *sysreg;\n\tu32 shareability_reg_offset;\n\tu32 opts;\n};\n\nstruct ufs_hba_variant_ops;\n\nstruct exynos_ufs_uic_attr;\n\nstruct exynos_ufs_drv_data {\n\tconst struct ufs_hba_variant_ops *vops;\n\tstruct exynos_ufs_uic_attr *uic_attr;\n\tunsigned int quirks;\n\tunsigned int opts;\n\tint (*drv_init)(struct exynos_ufs *);\n\tint (*pre_link)(struct exynos_ufs *);\n\tint (*post_link)(struct exynos_ufs *);\n\tint (*pre_pwr_change)(struct exynos_ufs *, struct ufs_pa_layer_attr *);\n\tint (*post_pwr_change)(struct exynos_ufs *, struct ufs_pa_layer_attr *);\n\tint (*pre_hce_enable)(struct exynos_ufs *);\n\tint (*post_hce_enable)(struct exynos_ufs *);\n};\n\nstruct exynos_ufs_uic_attr {\n\tunsigned int tx_trailingclks;\n\tunsigned int tx_dif_p_nsec;\n\tunsigned int tx_dif_n_nsec;\n\tunsigned int tx_high_z_cnt_nsec;\n\tunsigned int tx_base_unit_nsec;\n\tunsigned int tx_gran_unit_nsec;\n\tunsigned int tx_sleep_cnt;\n\tunsigned int tx_min_activatetime;\n\tunsigned int rx_filler_enable;\n\tunsigned int rx_dif_p_nsec;\n\tunsigned int rx_hibern8_wait_nsec;\n\tunsigned int rx_base_unit_nsec;\n\tunsigned int rx_gran_unit_nsec;\n\tunsigned int rx_sleep_cnt;\n\tunsigned int rx_stall_cnt;\n\tunsigned int rx_hs_g1_sync_len_cap;\n\tunsigned int rx_hs_g2_sync_len_cap;\n\tunsigned int rx_hs_g3_sync_len_cap;\n\tunsigned int rx_hs_g1_prep_sync_len_cap;\n\tunsigned int rx_hs_g2_prep_sync_len_cap;\n\tunsigned int rx_hs_g3_prep_sync_len_cap;\n\tunsigned int cmn_pwm_clk_ctrl;\n\tunsigned int pa_dbg_clk_period_off;\n\tunsigned int pa_dbg_opt_suite1_val;\n\tunsigned int pa_dbg_opt_suite1_off;\n\tunsigned int pa_dbg_opt_suite2_val;\n\tunsigned int pa_dbg_opt_suite2_off;\n\tunsigned int rx_adv_fine_gran_sup_en;\n\tunsigned int rx_adv_fine_gran_step;\n\tunsigned int rx_min_actv_time_cap;\n\tunsigned int rx_hibern8_time_cap;\n\tunsigned int rx_adv_min_actv_time_cap;\n\tunsigned int rx_adv_hibern8_time_cap;\n\tunsigned int pa_granularity;\n\tunsigned int pa_tactivate;\n\tunsigned int pa_hibern8time;\n};\n\nstruct exynos_usi_variant;\n\nstruct exynos_usi {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct clk_bulk_data *clks;\n\tsize_t mode;\n\tbool clkreq_on;\n\tstruct regmap *sysreg;\n\tunsigned int sw_conf;\n\tconst struct exynos_usi_variant *data;\n};\n\nstruct exynos_usi_mode {\n\tconst char *name;\n\tunsigned int val;\n};\n\nstruct exynos_usi_variant {\n\tenum exynos_usi_ver ver;\n\tunsigned int sw_conf_mask;\n\tsize_t min_mode;\n\tsize_t max_mode;\n\tsize_t num_clks;\n\tconst char * const *clk_names;\n};\n\nstruct exynos_weint_data {\n\tunsigned int irq;\n\tstruct samsung_pin_bank *bank;\n};\n\nstruct f815xxa_data {\n\tspinlock_t lock;\n\tint idx;\n};\n\nstruct f_owner_ex {\n\tint type;\n\t__kernel_pid_t pid;\n};\n\nstruct f_sdhost_priv {\n\tstruct clk *clk_iface;\n\tstruct clk *clk;\n\tstruct reset_control *rst;\n\tu32 vendor_hs200;\n\tstruct device *dev;\n\tbool enable_cmd_dat_delay;\n};\n\nstruct failover_ops;\n\nstruct failover {\n\tstruct list_head list;\n\tstruct net_device *failover_dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct failover_ops *ops;\n};\n\nstruct failover_ops {\n\tint (*slave_pre_register)(struct net_device *, struct net_device *);\n\tint (*slave_register)(struct net_device *, struct net_device *);\n\tint (*slave_pre_unregister)(struct net_device *, struct net_device *);\n\tint (*slave_unregister)(struct net_device *, struct net_device *);\n\tint (*slave_link_change)(struct net_device *, struct net_device *);\n\tint (*slave_name_change)(struct net_device *, struct net_device *);\n\trx_handler_result_t (*slave_handle_frame)(struct sk_buff **);\n};\n\nstruct regulator_init_data;\n\nstruct fan53555_device_info {\n\tenum fan53555_vendor vendor;\n\tstruct device *dev;\n\tstruct regulator_desc desc;\n\tstruct regulator_init_data *regulator;\n\tint chip_id;\n\tint chip_rev;\n\tunsigned int vol_reg;\n\tunsigned int sleep_reg;\n\tunsigned int en_reg;\n\tunsigned int sleep_en_reg;\n\tunsigned int vsel_min;\n\tunsigned int vsel_step;\n\tunsigned int vsel_count;\n\tunsigned int mode_reg;\n\tunsigned int mode_mask;\n\tunsigned int sleep_vol_cache;\n\tunsigned int slew_reg;\n\tunsigned int slew_mask;\n\tconst unsigned int *ramp_delay_table;\n\tunsigned int n_ramp_values;\n\tunsigned int slew_rate;\n};\n\nstruct fan53555_platform_data {\n\tstruct regulator_init_data *regulator;\n\tunsigned int slew_rate;\n\tunsigned int sleep_vsel_id;\n};\n\nstruct fan_fsid {\n\tstruct super_block *sb;\n\t__kernel_fsid_t id;\n\tbool weak;\n};\n\nstruct fsnotify_event {\n\tstruct list_head list;\n};\n\nstruct fanotify_event {\n\tstruct fsnotify_event fse;\n\tstruct hlist_node merge_list;\n\tu32 mask;\n\tstruct {\n\t\tunsigned int type: 3;\n\t\tunsigned int hash: 29;\n\t};\n\tstruct pid *pid;\n};\n\nstruct fanotify_fh {\n\tu8 type;\n\tu8 len;\n\tu8 flags;\n\tu8 pad;\n\tunsigned char buf[0];\n};\n\nstruct fanotify_error_event {\n\tstruct fanotify_event fae;\n\ts32 error;\n\tu32 err_count;\n\t__kernel_fsid_t fsid;\n\tstruct {\n\t\tstruct fanotify_fh object_fh;\n\t\tunsigned char _inline_fh_buf[128];\n\t};\n};\n\nstruct fanotify_event_info_header {\n\t__u8 info_type;\n\t__u8 pad;\n\t__u16 len;\n};\n\nstruct fanotify_event_info_error {\n\tstruct fanotify_event_info_header hdr;\n\t__s32 error;\n\t__u32 error_count;\n};\n\nstruct fanotify_event_info_fid {\n\tstruct fanotify_event_info_header hdr;\n\t__kernel_fsid_t fsid;\n\tunsigned char handle[0];\n};\n\nstruct fanotify_event_info_pidfd {\n\tstruct fanotify_event_info_header hdr;\n\t__s32 pidfd;\n};\n\nstruct fanotify_event_info_range {\n\tstruct fanotify_event_info_header hdr;\n\t__u32 pad;\n\t__u64 offset;\n\t__u64 count;\n};\n\nstruct fanotify_event_metadata {\n\t__u32 event_len;\n\t__u8 vers;\n\t__u8 reserved;\n\t__u16 metadata_len;\n\t__u64 mask;\n\t__s32 fd;\n\t__s32 pid;\n};\n\nstruct fanotify_fid_event {\n\tstruct fanotify_event fae;\n\t__kernel_fsid_t fsid;\n\tstruct {\n\t\tstruct fanotify_fh object_fh;\n\t\tunsigned char _inline_fh_buf[12];\n\t};\n};\n\nstruct fanotify_group_private_data {\n\tstruct hlist_head *merge_hash;\n\tstruct list_head access_list;\n\twait_queue_head_t access_waitq;\n\tint flags;\n\tint f_flags;\n\tstruct ucounts *ucounts;\n\tmempool_t error_events_pool;\n};\n\nstruct fanotify_info {\n\tu8 dir_fh_totlen;\n\tu8 dir2_fh_totlen;\n\tu8 file_fh_totlen;\n\tu8 name_len;\n\tu8 name2_len;\n\tu8 pad[3];\n\tunsigned char buf[0];\n};\n\nstruct fanotify_mark {\n\tstruct fsnotify_mark fsn_mark;\n\t__kernel_fsid_t fsid;\n};\n\nstruct fanotify_name_event {\n\tstruct fanotify_event fae;\n\t__kernel_fsid_t fsid;\n\tstruct fanotify_info info;\n};\n\nstruct fanotify_path_event {\n\tstruct fanotify_event fae;\n\tstruct path path;\n};\n\nstruct fanotify_response_info_header {\n\t__u8 type;\n\t__u8 pad;\n\t__u16 len;\n};\n\nstruct fanotify_response_info_audit_rule {\n\tstruct fanotify_response_info_header hdr;\n\t__u32 rule_number;\n\t__u32 subj_trust;\n\t__u32 obj_trust;\n};\n\nstruct fanotify_perm_event {\n\tstruct fanotify_event fae;\n\tstruct path path;\n\tconst loff_t *ppos;\n\tsize_t count;\n\tu32 response;\n\tshort unsigned int state;\n\tint fd;\n\tunion {\n\t\tstruct fanotify_response_info_header hdr;\n\t\tstruct fanotify_response_info_audit_rule audit_rule;\n\t};\n};\n\nstruct fanotify_response {\n\t__s32 fd;\n\t__u32 response;\n};\n\nstruct fanout_args {\n\t__u16 id;\n\t__u16 type_flags;\n\t__u32 max_num_members;\n};\n\nstruct fast_pool {\n\tlong unsigned int pool[4];\n\tlong unsigned int last;\n\tunsigned int count;\n\tstruct timer_list mix;\n};\n\nstruct request_sock;\n\nstruct tcp_fastopen_context;\n\nstruct fastopen_queue {\n\tstruct request_sock *rskq_rst_head;\n\tstruct request_sock *rskq_rst_tail;\n\tspinlock_t lock;\n\tint qlen;\n\tint max_qlen;\n\tstruct tcp_fastopen_context *ctx;\n};\n\nstruct fasync_struct {\n\trwlock_t fa_lock;\n\tint magic;\n\tint fa_fd;\n\tstruct fasync_struct *fa_next;\n\tstruct file *fa_file;\n\tstruct callback_head fa_rcu;\n};\n\nstruct fat_bios_param_block {\n\tu16 fat_sector_size;\n\tu8 fat_sec_per_clus;\n\tu16 fat_reserved;\n\tu8 fat_fats;\n\tu16 fat_dir_entries;\n\tu16 fat_sectors;\n\tu16 fat_fat_length;\n\tu32 fat_total_sect;\n\tu8 fat16_state;\n\tu32 fat16_vol_id;\n\tu32 fat32_length;\n\tu32 fat32_root_cluster;\n\tu16 fat32_info_sector;\n\tu8 fat32_state;\n\tu32 fat32_vol_id;\n};\n\nstruct fat_boot_fsinfo {\n\t__le32 signature1;\n\t__le32 reserved1[120];\n\t__le32 signature2;\n\t__le32 free_clusters;\n\t__le32 next_cluster;\n\t__le32 reserved2[4];\n};\n\nstruct fat_boot_sector {\n\t__u8 ignored[3];\n\t__u8 system_id[8];\n\t__u8 sector_size[2];\n\t__u8 sec_per_clus;\n\t__le16 reserved;\n\t__u8 fats;\n\t__u8 dir_entries[2];\n\t__u8 sectors[2];\n\t__u8 media;\n\t__le16 fat_length;\n\t__le16 secs_track;\n\t__le16 heads;\n\t__le32 hidden;\n\t__le32 total_sect;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 drive_number;\n\t\t\t__u8 state;\n\t\t\t__u8 signature;\n\t\t\t__u8 vol_id[4];\n\t\t\t__u8 vol_label[11];\n\t\t\t__u8 fs_type[8];\n\t\t} fat16;\n\t\tstruct {\n\t\t\t__le32 length;\n\t\t\t__le16 flags;\n\t\t\t__u8 version[2];\n\t\t\t__le32 root_cluster;\n\t\t\t__le16 info_sector;\n\t\t\t__le16 backup_boot;\n\t\t\t__le16 reserved2[6];\n\t\t\t__u8 drive_number;\n\t\t\t__u8 state;\n\t\t\t__u8 signature;\n\t\t\t__u8 vol_id[4];\n\t\t\t__u8 vol_label[11];\n\t\t\t__u8 fs_type[8];\n\t\t} fat32;\n\t};\n};\n\nstruct fat_cache {\n\tstruct list_head cache_list;\n\tint nr_contig;\n\tint fcluster;\n\tint dcluster;\n};\n\nstruct fat_cache_id {\n\tunsigned int id;\n\tint nr_contig;\n\tint fcluster;\n\tint dcluster;\n};\n\nstruct fat_entry {\n\tint entry;\n\tunion {\n\t\tu8 *ent12_p[2];\n\t\t__le16 *ent16_p;\n\t\t__le32 *ent32_p;\n\t} u;\n\tint nr_bhs;\n\tstruct buffer_head *bhs[2];\n\tstruct inode *fat_inode;\n};\n\nstruct fat_fid {\n\tu32 i_gen;\n\tu32 i_pos_low;\n\tu16 i_pos_hi;\n\tu16 parent_i_pos_hi;\n\tu32 parent_i_pos_low;\n\tu32 parent_i_gen;\n};\n\nstruct fat_floppy_defaults {\n\tunsigned int nr_sectors;\n\tunsigned int sec_per_clus;\n\tunsigned int dir_entries;\n\tunsigned int media;\n\tunsigned int fat_length;\n};\n\nstruct fat_ioctl_filldir_callback {\n\tstruct dir_context ctx;\n\tvoid *dirent;\n\tint result;\n\tconst char *longname;\n\tint long_len;\n\tconst char *shortname;\n\tint short_len;\n};\n\nstruct fat_mount_options {\n\tkuid_t fs_uid;\n\tkgid_t fs_gid;\n\tshort unsigned int fs_fmask;\n\tshort unsigned int fs_dmask;\n\tshort unsigned int codepage;\n\tint time_offset;\n\tchar *iocharset;\n\tshort unsigned int shortname;\n\tunsigned char name_check;\n\tunsigned char errors;\n\tunsigned char nfs;\n\tshort unsigned int allow_utime;\n\tunsigned int quiet: 1;\n\tunsigned int showexec: 1;\n\tunsigned int sys_immutable: 1;\n\tunsigned int dotsOK: 1;\n\tunsigned int isvfat: 1;\n\tunsigned int utf8: 1;\n\tunsigned int unicode_xlate: 1;\n\tunsigned int numtail: 1;\n\tunsigned int flush: 1;\n\tunsigned int nocase: 1;\n\tunsigned int usefree: 1;\n\tunsigned int tz_set: 1;\n\tunsigned int rodir: 1;\n\tunsigned int discard: 1;\n\tunsigned int dos1xfloppy: 1;\n\tunsigned int debug: 1;\n};\n\nstruct msdos_dir_entry;\n\nstruct fat_slot_info {\n\tloff_t i_pos;\n\tloff_t slot_off;\n\tint nr_slots;\n\tstruct msdos_dir_entry *de;\n\tstruct buffer_head *bh;\n};\n\nstruct fatent_operations {\n\tvoid (*ent_blocknr)(struct super_block *, int, int *, sector_t *);\n\tvoid (*ent_set_ptr)(struct fat_entry *, int);\n\tint (*ent_bread)(struct super_block *, struct fat_entry *, int, sector_t);\n\tint (*ent_get)(struct fat_entry *);\n\tvoid (*ent_put)(struct fat_entry *, int);\n\tint (*ent_next)(struct fat_entry *);\n};\n\nstruct fatent_ra {\n\tsector_t cur;\n\tsector_t limit;\n\tunsigned int ra_blocks;\n\tsector_t ra_advance;\n\tsector_t ra_next;\n\tsector_t ra_limit;\n};\n\nstruct fault_info {\n\tint (*fn)(long unsigned int, long unsigned int, struct pt_regs *);\n\tint sig;\n\tint code;\n\tconst char *name;\n};\n\nstruct faux_device {\n\tstruct device dev;\n};\n\nstruct faux_device_ops {\n\tint (*probe)(struct faux_device *);\n\tvoid (*remove)(struct faux_device *);\n};\n\nstruct faux_object {\n\tstruct faux_device faux_dev;\n\tconst struct faux_device_ops *faux_ops;\n};\n\nstruct fb_bitfield {\n\t__u32 offset;\n\t__u32 length;\n\t__u32 msb_right;\n};\n\nstruct fb_blit_caps {\n\tlong unsigned int x[1];\n\tlong unsigned int y[2];\n\tu32 len;\n\tu32 flags;\n};\n\nstruct fb_chroma {\n\t__u32 redx;\n\t__u32 greenx;\n\t__u32 bluex;\n\t__u32 whitex;\n\t__u32 redy;\n\t__u32 greeny;\n\t__u32 bluey;\n\t__u32 whitey;\n};\n\nstruct fb_cmap {\n\t__u32 start;\n\t__u32 len;\n\t__u16 *red;\n\t__u16 *green;\n\t__u16 *blue;\n\t__u16 *transp;\n};\n\nstruct fb_cmap32 {\n\tu32 start;\n\tu32 len;\n\tcompat_caddr_t red;\n\tcompat_caddr_t green;\n\tcompat_caddr_t blue;\n\tcompat_caddr_t transp;\n};\n\nstruct fb_cmap_user {\n\t__u32 start;\n\t__u32 len;\n\t__u16 *red;\n\t__u16 *green;\n\t__u16 *blue;\n\t__u16 *transp;\n};\n\nstruct fb_con2fbmap {\n\t__u32 console;\n\t__u32 framebuffer;\n};\n\nstruct fb_copyarea {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 sx;\n\t__u32 sy;\n};\n\nstruct fbcurpos {\n\t__u16 x;\n\t__u16 y;\n};\n\nstruct fb_image {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 fg_color;\n\t__u32 bg_color;\n\t__u8 depth;\n\tconst char *data;\n\tstruct fb_cmap cmap;\n};\n\nstruct fb_cursor {\n\t__u16 set;\n\t__u16 enable;\n\t__u16 rop;\n\tconst char *mask;\n\tstruct fbcurpos hot;\n\tstruct fb_image image;\n};\n\nstruct fb_cvt_data {\n\tu32 xres;\n\tu32 yres;\n\tu32 refresh;\n\tu32 f_refresh;\n\tu32 pixclock;\n\tu32 hperiod;\n\tu32 hblank;\n\tu32 hfreq;\n\tu32 htotal;\n\tu32 vtotal;\n\tu32 vsync;\n\tu32 hsync;\n\tu32 h_front_porch;\n\tu32 h_back_porch;\n\tu32 v_front_porch;\n\tu32 v_back_porch;\n\tu32 h_margin;\n\tu32 v_margin;\n\tu32 interlace;\n\tu32 aspect_ratio;\n\tu32 active_pixels;\n\tu32 flags;\n\tu32 status;\n};\n\nstruct fb_info;\n\nstruct fb_deferred_io {\n\tlong unsigned int delay;\n\tbool sort_pagereflist;\n\tint open_count;\n\tstruct mutex lock;\n\tstruct list_head pagereflist;\n\tstruct page * (*get_page)(struct fb_info *, long unsigned int);\n\tvoid (*deferred_io)(struct fb_info *, struct list_head *);\n};\n\nstruct fb_deferred_io_pageref {\n\tstruct page *page;\n\tlong unsigned int offset;\n\tstruct list_head list;\n};\n\nstruct fb_event {\n\tstruct fb_info *info;\n\tvoid *data;\n};\n\nstruct fb_fillrect {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 color;\n\t__u32 rop;\n};\n\nstruct fb_fix_screeninfo {\n\tchar id[16];\n\tlong unsigned int smem_start;\n\t__u32 smem_len;\n\t__u32 type;\n\t__u32 type_aux;\n\t__u32 visual;\n\t__u16 xpanstep;\n\t__u16 ypanstep;\n\t__u16 ywrapstep;\n\t__u32 line_length;\n\tlong unsigned int mmio_start;\n\t__u32 mmio_len;\n\t__u32 accel;\n\t__u16 capabilities;\n\t__u16 reserved[2];\n};\n\nstruct fb_fix_screeninfo32 {\n\tchar id[16];\n\tcompat_caddr_t smem_start;\n\tu32 smem_len;\n\tu32 type;\n\tu32 type_aux;\n\tu32 visual;\n\tu16 xpanstep;\n\tu16 ypanstep;\n\tu16 ywrapstep;\n\tu32 line_length;\n\tcompat_caddr_t mmio_start;\n\tu32 mmio_len;\n\tu32 accel;\n\tu16 reserved[3];\n};\n\nstruct fb_var_screeninfo {\n\t__u32 xres;\n\t__u32 yres;\n\t__u32 xres_virtual;\n\t__u32 yres_virtual;\n\t__u32 xoffset;\n\t__u32 yoffset;\n\t__u32 bits_per_pixel;\n\t__u32 grayscale;\n\tstruct fb_bitfield red;\n\tstruct fb_bitfield green;\n\tstruct fb_bitfield blue;\n\tstruct fb_bitfield transp;\n\t__u32 nonstd;\n\t__u32 activate;\n\t__u32 height;\n\t__u32 width;\n\t__u32 accel_flags;\n\t__u32 pixclock;\n\t__u32 left_margin;\n\t__u32 right_margin;\n\t__u32 upper_margin;\n\t__u32 lower_margin;\n\t__u32 hsync_len;\n\t__u32 vsync_len;\n\t__u32 sync;\n\t__u32 vmode;\n\t__u32 rotate;\n\t__u32 colorspace;\n\t__u32 reserved[4];\n};\n\nstruct fb_monspecs {\n\tstruct fb_chroma chroma;\n\tstruct fb_videomode *modedb;\n\t__u8 manufacturer[4];\n\t__u8 monitor[14];\n\t__u8 serial_no[14];\n\t__u8 ascii[14];\n\t__u32 modedb_len;\n\t__u32 model;\n\t__u32 serial;\n\t__u32 year;\n\t__u32 week;\n\t__u32 hfmin;\n\t__u32 hfmax;\n\t__u32 dclkmin;\n\t__u32 dclkmax;\n\t__u16 input;\n\t__u16 dpms;\n\t__u16 signal;\n\t__u16 vfmin;\n\t__u16 vfmax;\n\t__u16 gamma;\n\t__u16 gtf: 1;\n\t__u16 misc;\n\t__u8 version;\n\t__u8 revision;\n\t__u8 max_x;\n\t__u8 max_y;\n};\n\nstruct fb_pixmap {\n\tu8 *addr;\n\tu32 size;\n\tu32 offset;\n\tu32 buf_align;\n\tu32 scan_align;\n\tu32 access_align;\n\tu32 flags;\n\tlong unsigned int blit_x[1];\n\tlong unsigned int blit_y[2];\n\tvoid (*writeio)(struct fb_info *, void *, void *, unsigned int);\n\tvoid (*readio)(struct fb_info *, void *, void *, unsigned int);\n};\n\nstruct lcd_device;\n\nstruct fb_ops;\n\nstruct fb_info {\n\trefcount_t count;\n\tint node;\n\tint flags;\n\tint fbcon_rotate_hint;\n\tstruct mutex lock;\n\tstruct mutex mm_lock;\n\tstruct fb_var_screeninfo var;\n\tstruct fb_fix_screeninfo fix;\n\tstruct fb_monspecs monspecs;\n\tstruct fb_pixmap pixmap;\n\tstruct fb_pixmap sprite;\n\tstruct fb_cmap cmap;\n\tstruct list_head modelist;\n\tstruct fb_videomode *mode;\n\tstruct lcd_device *lcd_dev;\n\tstruct delayed_work deferred_work;\n\tlong unsigned int npagerefs;\n\tstruct fb_deferred_io_pageref *pagerefs;\n\tstruct fb_deferred_io *fbdefio;\n\tconst struct fb_ops *fbops;\n\tstruct device *device;\n\tstruct device *dev;\n\tint class_flag;\n\tunion {\n\t\tchar *screen_base;\n\t\tchar *screen_buffer;\n\t};\n\tlong unsigned int screen_size;\n\tvoid *pseudo_palette;\n\tu32 state;\n\tvoid *fbcon_par;\n\tvoid *par;\n\tbool skip_vt_switch;\n\tbool skip_panic;\n};\n\nstruct fb_videomode {\n\tconst char *name;\n\tu32 refresh;\n\tu32 xres;\n\tu32 yres;\n\tu32 pixclock;\n\tu32 left_margin;\n\tu32 right_margin;\n\tu32 upper_margin;\n\tu32 lower_margin;\n\tu32 hsync_len;\n\tu32 vsync_len;\n\tu32 sync;\n\tu32 vmode;\n\tu32 flag;\n};\n\nstruct fb_modelist {\n\tstruct list_head list;\n\tstruct fb_videomode mode;\n};\n\nstruct fb_ops {\n\tstruct module *owner;\n\tint (*fb_open)(struct fb_info *, int);\n\tint (*fb_release)(struct fb_info *, int);\n\tssize_t (*fb_read)(struct fb_info *, char *, size_t, loff_t *);\n\tssize_t (*fb_write)(struct fb_info *, const char *, size_t, loff_t *);\n\tint (*fb_check_var)(struct fb_var_screeninfo *, struct fb_info *);\n\tint (*fb_set_par)(struct fb_info *);\n\tint (*fb_setcolreg)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, struct fb_info *);\n\tint (*fb_setcmap)(struct fb_cmap *, struct fb_info *);\n\tint (*fb_blank)(int, struct fb_info *);\n\tint (*fb_pan_display)(struct fb_var_screeninfo *, struct fb_info *);\n\tvoid (*fb_fillrect)(struct fb_info *, const struct fb_fillrect *);\n\tvoid (*fb_copyarea)(struct fb_info *, const struct fb_copyarea *);\n\tvoid (*fb_imageblit)(struct fb_info *, const struct fb_image *);\n\tint (*fb_cursor)(struct fb_info *, struct fb_cursor *);\n\tint (*fb_sync)(struct fb_info *);\n\tint (*fb_ioctl)(struct fb_info *, unsigned int, long unsigned int);\n\tint (*fb_compat_ioctl)(struct fb_info *, unsigned int, long unsigned int);\n\tint (*fb_mmap)(struct fb_info *, struct vm_area_struct *);\n\tvoid (*fb_get_caps)(struct fb_info *, struct fb_blit_caps *, struct fb_var_screeninfo *);\n\tvoid (*fb_destroy)(struct fb_info *);\n\tint (*fb_debug_enter)(struct fb_info *);\n\tint (*fb_debug_leave)(struct fb_info *);\n};\n\nstruct fbcon_display {\n\tconst u_char *fontdata;\n\tint userfont;\n\tu_short inverse;\n\tshort int yscroll;\n\tint vrows;\n\tint cursor_shape;\n\tint con_rotate;\n\tu32 xres_virtual;\n\tu32 yres_virtual;\n\tu32 height;\n\tu32 width;\n\tu32 bits_per_pixel;\n\tu32 grayscale;\n\tu32 nonstd;\n\tu32 accel_flags;\n\tu32 rotate;\n\tstruct fb_bitfield red;\n\tstruct fb_bitfield green;\n\tstruct fb_bitfield blue;\n\tstruct fb_bitfield transp;\n\tconst struct fb_videomode *mode;\n};\n\nstruct fbcon_ops {\n\tvoid (*bmove)(struct vc_data *, struct fb_info *, int, int, int, int, int, int);\n\tvoid (*clear)(struct vc_data *, struct fb_info *, int, int, int, int);\n\tvoid (*putcs)(struct vc_data *, struct fb_info *, const short unsigned int *, int, int, int, int, int);\n\tvoid (*clear_margins)(struct vc_data *, struct fb_info *, int, int);\n\tvoid (*cursor)(struct vc_data *, struct fb_info *, bool, int, int);\n\tint (*update_start)(struct fb_info *);\n\tint (*rotate_font)(struct fb_info *, struct vc_data *);\n\tstruct fb_var_screeninfo var;\n\tstruct delayed_work cursor_work;\n\tstruct fb_cursor cursor_state;\n\tstruct fbcon_display *p;\n\tstruct fb_info *info;\n\tint currcon;\n\tint cur_blink_jiffies;\n\tint cursor_flash;\n\tint cursor_reset;\n\tint blank_state;\n\tint graphics;\n\tint save_graphics;\n\tbool initialized;\n\tint rotate;\n\tint cur_rotate;\n\tchar *cursor_data;\n\tu8 *fontbuffer;\n\tu8 *fontdata;\n\tu8 *cursor_src;\n\tu32 cursor_size;\n\tu32 fd_size;\n};\n\nstruct fc_log {\n\trefcount_t usage;\n\tu8 head;\n\tu8 tail;\n\tu8 need_free;\n\tstruct module *owner;\n\tchar *buffer[8];\n};\n\nstruct fd {\n\tlong unsigned int word;\n};\n\ntypedef struct fd class_fd_pos_t;\n\ntypedef struct fd class_fd_raw_t;\n\ntypedef struct fd class_fd_t;\n\nstruct fd_data {\n\tfmode_t mode;\n\tunsigned int fd;\n};\n\nstruct fd_range {\n\tunsigned int from;\n\tunsigned int to;\n};\n\nstruct fdt_errtabent {\n\tconst char *str;\n};\n\nstruct fdt_header {\n\tfdt32_t magic;\n\tfdt32_t totalsize;\n\tfdt32_t off_dt_struct;\n\tfdt32_t off_dt_strings;\n\tfdt32_t off_mem_rsvmap;\n\tfdt32_t version;\n\tfdt32_t last_comp_version;\n\tfdt32_t boot_cpuid_phys;\n\tfdt32_t size_dt_strings;\n\tfdt32_t size_dt_struct;\n};\n\nstruct fdt_node_header {\n\tfdt32_t tag;\n\tchar name[0];\n};\n\nstruct fdt_property {\n\tfdt32_t tag;\n\tfdt32_t len;\n\tfdt32_t nameoff;\n\tchar data[0];\n};\n\nstruct fdt_reserve_entry {\n\tfdt64_t address;\n\tfdt64_t size;\n};\n\nstruct fdtable {\n\tunsigned int max_fds;\n\tstruct file **fd;\n\tlong unsigned int *close_on_exec;\n\tlong unsigned int *open_fds;\n\tlong unsigned int *full_fds_bits;\n\tstruct callback_head rcu;\n};\n\nstruct features_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 hw[2];\n\tu32 wanted[2];\n\tu32 active[2];\n\tu32 nochange[2];\n\tu32 all[2];\n};\n\nstruct fec_devinfo {\n\tu32 quirks;\n};\n\nstruct fec_dma_devres {\n\tsize_t size;\n\tvoid *vaddr;\n\tdma_addr_t dma_handle;\n};\n\nstruct fec_enet_priv_txrx_info {\n\tint offset;\n\tstruct page *page;\n\tstruct sk_buff *skb;\n};\n\nstruct fec_enet_priv_rx_q {\n\tstruct bufdesc_prop bd;\n\tstruct fec_enet_priv_txrx_info rx_skb_info[256];\n\tstruct page_pool *page_pool;\n\tstruct xdp_rxq_info xdp_rxq;\n\tu32 stats[7];\n\tu8 id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct fec_tx_buffer {\n\tvoid *buf_p;\n\tenum fec_txbuf_type type;\n};\n\nstruct fec_enet_priv_tx_q {\n\tstruct bufdesc_prop bd;\n\tunsigned char *tx_bounce[1024];\n\tstruct fec_tx_buffer tx_buf[1024];\n\tshort unsigned int tx_stop_threshold;\n\tshort unsigned int tx_wake_threshold;\n\tstruct bufdesc *dirty_tx;\n\tchar *tso_hdrs;\n\tdma_addr_t tso_hdrs_dma;\n};\n\nstruct fec_stop_mode_gpr {\n\tstruct regmap *gpr;\n\tu8 reg;\n\tu8 bit;\n};\n\nstruct imx_sc_ipc;\n\nstruct fec_enet_private {\n\tvoid *hwp;\n\tstruct net_device *netdev;\n\tstruct clk *clk_ipg;\n\tstruct clk *clk_ahb;\n\tstruct clk *clk_ref;\n\tstruct clk *clk_enet_out;\n\tstruct clk *clk_ptp;\n\tstruct clk *clk_2x_txclk;\n\tbool ptp_clk_on;\n\tstruct mutex ptp_clk_mutex;\n\tunsigned int num_tx_queues;\n\tunsigned int num_rx_queues;\n\tstruct fec_enet_priv_tx_q *tx_queue[3];\n\tstruct fec_enet_priv_rx_q *rx_queue[3];\n\tunsigned int total_tx_ring_size;\n\tunsigned int total_rx_ring_size;\n\tstruct platform_device *pdev;\n\tint dev_id;\n\tstruct mii_bus *mii_bus;\n\tuint phy_speed;\n\tphy_interface_t phy_interface;\n\tstruct device_node *phy_node;\n\tbool rgmii_txc_dly;\n\tbool rgmii_rxc_dly;\n\tbool rpm_active;\n\tint link;\n\tint full_duplex;\n\tint speed;\n\tint irq[3];\n\tbool bufdesc_ex;\n\tint pause_flag;\n\tint wol_flag;\n\tint wake_irq;\n\tu32 quirks;\n\tstruct napi_struct napi;\n\tint csum_flags;\n\tstruct work_struct tx_timeout_work;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_caps;\n\tspinlock_t tmreg_lock;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tu32 cycle_speed;\n\tint hwts_rx_en;\n\tint hwts_tx_en;\n\tstruct delayed_work time_keep;\n\tstruct regulator *reg_phy;\n\tstruct fec_stop_mode_gpr stop_gpr;\n\tstruct pm_qos_request pm_qos_req;\n\tunsigned int tx_align;\n\tunsigned int rx_align;\n\tunsigned int rx_pkts_itr;\n\tunsigned int rx_time_itr;\n\tunsigned int tx_pkts_itr;\n\tunsigned int tx_time_itr;\n\tunsigned int itr_clk_rate;\n\tunsigned int clk_ref_rate;\n\tunsigned int ptp_inc;\n\tint pps_channel;\n\tunsigned int reload_period;\n\tint pps_enable;\n\tunsigned int next_counter;\n\tstruct hrtimer perout_timer;\n\tu64 perout_stime;\n\tstruct imx_sc_ipc *ipc_handle;\n\tstruct bpf_prog *xdp_prog;\n\tstruct {\n\t\tint pps_enable;\n\t\tu64 ns_sys;\n\t\tu64 ns_phc;\n\t\tu32 at_corr;\n\t\tu8 at_inc_corr;\n\t} ptp_saved_state;\n\tu64 ethtool_stats[0];\n};\n\nstruct fec_platform_data {\n\tphy_interface_t phy;\n\tunsigned char mac[6];\n\tvoid (*sleep_mode_enable)(int);\n};\n\nstruct fec_stat_grp {\n\tu64 stats[9];\n\tu8 cnt;\n};\n\nstruct fec_reply_data {\n\tstruct ethnl_reply_data base;\n\tlong unsigned int fec_link_modes[2];\n\tu32 active_fec;\n\tu8 fec_auto;\n\tstruct fec_stat_grp corr;\n\tstruct fec_stat_grp uncorr;\n\tstruct fec_stat_grp corr_bits;\n};\n\nstruct fec_stat {\n\tchar name[32];\n\tu16 offset;\n};\n\nstruct fetch_insn {\n\tenum fetch_op op;\n\tunion {\n\t\tunsigned int param;\n\t\tstruct {\n\t\t\tunsigned int size;\n\t\t\tint offset;\n\t\t};\n\t\tstruct {\n\t\t\tunsigned char basesize;\n\t\t\tunsigned char lshift;\n\t\t\tunsigned char rshift;\n\t\t};\n\t\tlong unsigned int immediate;\n\t\tvoid *data;\n\t};\n};\n\nstruct trace_seq;\n\ntypedef int (*print_type_func_t)(struct trace_seq *, void *, void *);\n\nstruct fetch_type {\n\tconst char *name;\n\tsize_t size;\n\tbool is_signed;\n\tbool is_string;\n\tprint_type_func_t print;\n\tconst char *fmt;\n\tconst char *fmttype;\n};\n\nstruct ff_condition_effect {\n\t__u16 right_saturation;\n\t__u16 left_saturation;\n\t__s16 right_coeff;\n\t__s16 left_coeff;\n\t__u16 deadband;\n\t__s16 center;\n};\n\nstruct ff_envelope {\n\t__u16 attack_length;\n\t__u16 attack_level;\n\t__u16 fade_length;\n\t__u16 fade_level;\n};\n\nstruct ff_constant_effect {\n\t__s16 level;\n\tstruct ff_envelope envelope;\n};\n\nstruct ff_effect;\n\nstruct ff_device {\n\tint (*upload)(struct input_dev *, struct ff_effect *, struct ff_effect *);\n\tint (*erase)(struct input_dev *, int);\n\tint (*playback)(struct input_dev *, int, int);\n\tvoid (*set_gain)(struct input_dev *, u16);\n\tvoid (*set_autocenter)(struct input_dev *, u16);\n\tvoid (*destroy)(struct ff_device *);\n\tvoid *private;\n\tlong unsigned int ffbit[2];\n\tstruct mutex mutex;\n\tint max_effects;\n\tstruct ff_effect *effects;\n\tstruct file *effect_owners[0];\n};\n\nstruct ff_trigger {\n\t__u16 button;\n\t__u16 interval;\n};\n\nstruct ff_replay {\n\t__u16 length;\n\t__u16 delay;\n};\n\nstruct ff_ramp_effect {\n\t__s16 start_level;\n\t__s16 end_level;\n\tstruct ff_envelope envelope;\n};\n\nstruct ff_periodic_effect {\n\t__u16 waveform;\n\t__u16 period;\n\t__s16 magnitude;\n\t__s16 offset;\n\t__u16 phase;\n\tstruct ff_envelope envelope;\n\t__u32 custom_len;\n\t__s16 *custom_data;\n};\n\nstruct ff_rumble_effect {\n\t__u16 strong_magnitude;\n\t__u16 weak_magnitude;\n};\n\nstruct ff_effect {\n\t__u16 type;\n\t__s16 id;\n\t__u16 direction;\n\tstruct ff_trigger trigger;\n\tstruct ff_replay replay;\n\tunion {\n\t\tstruct ff_constant_effect constant;\n\t\tstruct ff_ramp_effect ramp;\n\t\tstruct ff_periodic_effect periodic;\n\t\tstruct ff_condition_effect condition[2];\n\t\tstruct ff_rumble_effect rumble;\n\t} u;\n};\n\nstruct ff_periodic_effect_compat {\n\t__u16 waveform;\n\t__u16 period;\n\t__s16 magnitude;\n\t__s16 offset;\n\t__u16 phase;\n\tstruct ff_envelope envelope;\n\t__u32 custom_len;\n\tcompat_uptr_t custom_data;\n};\n\nstruct ff_effect_compat {\n\t__u16 type;\n\t__s16 id;\n\t__u16 direction;\n\tstruct ff_trigger trigger;\n\tstruct ff_replay replay;\n\tunion {\n\t\tstruct ff_constant_effect constant;\n\t\tstruct ff_ramp_effect ramp;\n\t\tstruct ff_periodic_effect_compat periodic;\n\t\tstruct ff_condition_effect condition[2];\n\t\tstruct ff_rumble_effect rumble;\n\t} u;\n};\n\nstruct ffa_mem_region_addr_range {\n\tu64 address;\n\tu32 pg_cnt;\n\tu32 reserved;\n};\n\nstruct ffa_composite_mem_region {\n\tu32 total_pg_cnt;\n\tu32 addr_range_cnt;\n\tu64 reserved;\n\tstruct ffa_mem_region_addr_range constituents[0];\n};\n\nstruct ffa_device;\n\nstruct ffa_cpu_ops {\n\tint (*run)(struct ffa_device *, u16);\n};\n\nstruct ffa_ops;\n\nstruct ffa_device {\n\tu32 id;\n\tu32 properties;\n\tint vm_id;\n\tbool mode_32bit;\n\tuuid_t uuid;\n\tstruct device dev;\n\tconst struct ffa_ops *ops;\n};\n\nstruct ffa_device_id {\n\tuuid_t uuid;\n};\n\nstruct ffa_driver {\n\tconst char *name;\n\tint (*probe)(struct ffa_device *);\n\tvoid (*remove)(struct ffa_device *);\n\tconst struct ffa_device_id *id_table;\n\tstruct device_driver driver;\n};\n\nstruct ffa_partition_info;\n\nstruct ffa_info_ops {\n\tu32 (*api_version_get)(void);\n\tint (*partition_info_get)(const char *, struct ffa_partition_info *);\n};\n\nstruct ffa_mem_ops_args;\n\nstruct ffa_mem_ops {\n\tint (*memory_reclaim)(u64, u32);\n\tint (*memory_share)(struct ffa_mem_ops_args *);\n\tint (*memory_lend)(struct ffa_mem_ops_args *);\n};\n\nstruct ffa_mem_region_attributes;\n\nstruct ffa_mem_ops_args {\n\tbool use_txbuf;\n\tu32 nattrs;\n\tu32 flags;\n\tu64 tag;\n\tu64 g_handle;\n\tstruct scatterlist *sg;\n\tstruct ffa_mem_region_attributes *attrs;\n};\n\nstruct ffa_mem_region {\n\tu16 sender_id;\n\tu16 attributes;\n\tu32 flags;\n\tu64 handle;\n\tu64 tag;\n\tu32 ep_mem_size;\n\tu32 ep_count;\n\tu32 ep_mem_offset;\n\tu32 reserved[3];\n};\n\nstruct ffa_mem_region_attributes {\n\tu16 receiver;\n\tu8 attrs;\n\tu8 flag;\n\tu32 composite_off;\n\tu64 reserved;\n};\n\nstruct ffa_send_direct_data;\n\nstruct ffa_send_direct_data2;\n\nstruct ffa_msg_ops {\n\tvoid (*mode_32bit_set)(struct ffa_device *);\n\tint (*sync_send_receive)(struct ffa_device *, struct ffa_send_direct_data *);\n\tint (*indirect_send)(struct ffa_device *, void *, size_t);\n\tint (*sync_send_receive2)(struct ffa_device *, const uuid_t *, struct ffa_send_direct_data2 *);\n};\n\ntypedef void (*ffa_sched_recv_cb)(u16, bool, void *);\n\ntypedef void (*ffa_notifier_cb)(int, void *);\n\nstruct ffa_notifier_ops {\n\tint (*sched_recv_cb_register)(struct ffa_device *, ffa_sched_recv_cb, void *);\n\tint (*sched_recv_cb_unregister)(struct ffa_device *);\n\tint (*notify_request)(struct ffa_device *, bool, ffa_notifier_cb, void *, int);\n\tint (*notify_relinquish)(struct ffa_device *, int);\n\tint (*notify_send)(struct ffa_device *, int, bool, u16);\n};\n\nstruct ffa_ops {\n\tconst struct ffa_info_ops *info_ops;\n\tconst struct ffa_msg_ops *msg_ops;\n\tconst struct ffa_mem_ops *mem_ops;\n\tconst struct ffa_cpu_ops *cpu_ops;\n\tconst struct ffa_notifier_ops *notifier_ops;\n};\n\nstruct ffa_partition_info {\n\tu16 id;\n\tu16 exec_ctxt;\n\tu32 properties;\n\tu32 uuid[4];\n};\n\nstruct ffa_send_direct_data {\n\tlong unsigned int data0;\n\tlong unsigned int data1;\n\tlong unsigned int data2;\n\tlong unsigned int data3;\n\tlong unsigned int data4;\n};\n\nstruct ffa_send_direct_data2 {\n\tlong unsigned int data[14];\n};\n\nstruct mtk_fh;\n\nstruct fh_operation {\n\tint (*hopping)(struct mtk_fh *, unsigned int, unsigned int);\n\tint (*ssc_enable)(struct mtk_fh *, u32);\n};\n\nstruct fh_pll_data {\n\tint pll_id;\n\tint fh_id;\n\tint fh_ver;\n\tu32 fhx_offset;\n\tu32 dds_mask;\n\tu32 slope0_value;\n\tu32 slope1_value;\n\tu32 sfstrx_en;\n\tu32 frddsx_en;\n\tu32 fhctlx_en;\n\tu32 tgl_org;\n\tu32 dvfs_tri;\n\tu32 pcwchg;\n\tu32 dt_val;\n\tu32 df_val;\n\tu32 updnlmt_shft;\n\tu32 msk_frddsx_dys;\n\tu32 msk_frddsx_dts;\n};\n\nstruct fh_pll_regs {\n\tvoid *reg_hp_en;\n\tvoid *reg_clk_con;\n\tvoid *reg_rst_con;\n\tvoid *reg_slope0;\n\tvoid *reg_slope1;\n\tvoid *reg_cfg;\n\tvoid *reg_updnlmt;\n\tvoid *reg_dds;\n\tvoid *reg_dvfs;\n\tvoid *reg_mon;\n};\n\nstruct fh_pll_state {\n\tvoid *base;\n\tu32 fh_enable;\n\tu32 ssc_rate;\n};\n\nstruct fhctl_offset {\n\tu32 offset_hp_en;\n\tu32 offset_clk_con;\n\tu32 offset_rst_con;\n\tu32 offset_slope0;\n\tu32 offset_slope1;\n\tu32 offset_cfg;\n\tu32 offset_updnlmt;\n\tu32 offset_dds;\n\tu32 offset_dvfs;\n\tu32 offset_mon;\n};\n\nstruct nl_info {\n\tstruct nlmsghdr *nlh;\n\tstruct net *nl_net;\n\tu32 portid;\n\tu8 skip_notify: 1;\n\tu8 skip_notify_kernel: 1;\n};\n\nstruct fib6_config {\n\tu32 fc_table;\n\tu32 fc_metric;\n\tint fc_dst_len;\n\tint fc_src_len;\n\tint fc_ifindex;\n\tu32 fc_flags;\n\tu32 fc_protocol;\n\tu16 fc_type;\n\tu16 fc_delete_all_nh: 1;\n\tu16 fc_ignore_dev_down: 1;\n\tu16 __unused: 14;\n\tu32 fc_nh_id;\n\tstruct in6_addr fc_dst;\n\tstruct in6_addr fc_src;\n\tstruct in6_addr fc_prefsrc;\n\tstruct in6_addr fc_gateway;\n\tlong unsigned int fc_expires;\n\tstruct nlattr *fc_mx;\n\tint fc_mx_len;\n\tint fc_mp_len;\n\tstruct nlattr *fc_mp;\n\tstruct nl_info fc_nlinfo;\n\tstruct nlattr *fc_encap;\n\tu16 fc_encap_type;\n\tbool fc_is_fdb;\n};\n\nstruct rt6key {\n\tstruct in6_addr addr;\n\tint plen;\n};\n\nstruct rtable;\n\nstruct fnhe_hash_bucket;\n\nstruct fib_nh_common {\n\tstruct net_device *nhc_dev;\n\tnetdevice_tracker nhc_dev_tracker;\n\tint nhc_oif;\n\tunsigned char nhc_scope;\n\tu8 nhc_family;\n\tu8 nhc_gw_family;\n\tunsigned char nhc_flags;\n\tstruct lwtunnel_state *nhc_lwtstate;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} nhc_gw;\n\tint nhc_weight;\n\tatomic_t nhc_upper_bound;\n\tstruct rtable **nhc_pcpu_rth_output;\n\tstruct rtable *nhc_rth_input;\n\tstruct fnhe_hash_bucket *nhc_exceptions;\n};\n\nstruct rt6_info;\n\nstruct rt6_exception_bucket;\n\nstruct fib6_nh {\n\tstruct fib_nh_common nh_common;\n\tstruct rt6_info **rt6i_pcpu;\n\tstruct rt6_exception_bucket *rt6i_exception_bucket;\n};\n\nstruct fib6_table;\n\nstruct fib6_node;\n\nstruct nexthop;\n\nstruct fib6_info {\n\tstruct fib6_table *fib6_table;\n\tstruct fib6_info *fib6_next;\n\tstruct fib6_node *fib6_node;\n\tunion {\n\t\tstruct list_head fib6_siblings;\n\t\tstruct list_head nh_list;\n\t};\n\tunsigned int fib6_nsiblings;\n\trefcount_t fib6_ref;\n\tlong unsigned int expires;\n\tstruct hlist_node gc_link;\n\tstruct dst_metrics *fib6_metrics;\n\tstruct rt6key fib6_dst;\n\tu32 fib6_flags;\n\tstruct rt6key fib6_src;\n\tstruct rt6key fib6_prefsrc;\n\tu32 fib6_metric;\n\tu8 fib6_protocol;\n\tu8 fib6_type;\n\tu8 offload;\n\tu8 trap;\n\tu8 offload_failed;\n\tu8 should_flush: 1;\n\tu8 dst_nocount: 1;\n\tu8 dst_nopolicy: 1;\n\tu8 fib6_destroying: 1;\n\tu8 unused: 4;\n\tstruct callback_head rcu;\n\tstruct nexthop *nh;\n\tstruct fib6_nh fib6_nh[0];\n};\n\nstruct fib6_node {\n\tstruct fib6_node *parent;\n\tstruct fib6_node *left;\n\tstruct fib6_node *right;\n\tstruct fib6_info *leaf;\n\t__u16 fn_bit;\n\t__u16 fn_flags;\n\tint fn_sernum;\n\tstruct fib6_info *rr_ptr;\n\tstruct callback_head rcu;\n};\n\nstruct fib6_result {\n\tstruct fib6_nh *nh;\n\tstruct fib6_info *f6i;\n\tu32 fib6_flags;\n\tu8 fib6_type;\n\tstruct rt6_info *rt6;\n};\n\nstruct inet_peer_base {\n\tstruct rb_root rb_root;\n\tseqlock_t lock;\n\tint total;\n};\n\nstruct fib6_table {\n\tstruct hlist_node tb6_hlist;\n\tu32 tb6_id;\n\tspinlock_t tb6_lock;\n\tstruct fib6_node tb6_root;\n\tstruct inet_peer_base tb6_peers;\n\tunsigned int flags;\n\tunsigned int fib_seq;\n\tstruct hlist_head tb6_gc_hlist;\n};\n\nstruct fib_info;\n\nstruct fib_alias {\n\tstruct hlist_node fa_list;\n\tstruct fib_info *fa_info;\n\tdscp_t fa_dscp;\n\tu8 fa_type;\n\tu8 fa_state;\n\tu8 fa_slen;\n\tu32 tb_id;\n\ts16 fa_default;\n\tu8 offload;\n\tu8 trap;\n\tu8 offload_failed;\n\tstruct callback_head rcu;\n};\n\nstruct rtnexthop;\n\nstruct fib_config {\n\tu8 fc_dst_len;\n\tdscp_t fc_dscp;\n\tu8 fc_protocol;\n\tu8 fc_scope;\n\tu8 fc_type;\n\tu8 fc_gw_family;\n\tu32 fc_table;\n\t__be32 fc_dst;\n\tunion {\n\t\t__be32 fc_gw4;\n\t\tstruct in6_addr fc_gw6;\n\t};\n\tint fc_oif;\n\tu32 fc_flags;\n\tu32 fc_priority;\n\t__be32 fc_prefsrc;\n\tu32 fc_nh_id;\n\tstruct nlattr *fc_mx;\n\tstruct rtnexthop *fc_mp;\n\tint fc_mx_len;\n\tint fc_mp_len;\n\tu32 fc_flow;\n\tu32 fc_nlflags;\n\tstruct nl_info fc_nlinfo;\n\tstruct nlattr *fc_encap;\n\tu16 fc_encap_type;\n};\n\nstruct fib_dump_filter {\n\tu32 table_id;\n\tbool filter_set;\n\tbool dump_routes;\n\tbool dump_exceptions;\n\tbool rtnl_held;\n\tunsigned char protocol;\n\tunsigned char rt_type;\n\tunsigned int flags;\n\tstruct net_device *dev;\n};\n\nstruct fib_notifier_info {\n\tint family;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct fib_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tu32 dst;\n\tint dst_len;\n\tstruct fib_info *fi;\n\tdscp_t dscp;\n\tu8 type;\n\tu32 tb_id;\n};\n\nstruct fib_nh {\n\tstruct fib_nh_common nh_common;\n\tstruct hlist_node nh_hash;\n\tstruct fib_info *nh_parent;\n\t__be32 nh_saddr;\n\tint nh_saddr_genid;\n};\n\nstruct fib_info {\n\tstruct hlist_node fib_hash;\n\tstruct hlist_node fib_lhash;\n\tstruct list_head nh_list;\n\tstruct net *fib_net;\n\trefcount_t fib_treeref;\n\trefcount_t fib_clntref;\n\tunsigned int fib_flags;\n\tunsigned char fib_dead;\n\tunsigned char fib_protocol;\n\tunsigned char fib_scope;\n\tunsigned char fib_type;\n\t__be32 fib_prefsrc;\n\tu32 fib_tb_id;\n\tu32 fib_priority;\n\tstruct dst_metrics *fib_metrics;\n\tint fib_nhs;\n\tbool fib_nh_is_v6;\n\tbool nh_updated;\n\tbool pfsrc_removed;\n\tstruct nexthop *nh;\n\tstruct callback_head rcu;\n\tstruct fib_nh fib_nh[0];\n};\n\nstruct fib_nh_exception {\n\tstruct fib_nh_exception *fnhe_next;\n\tint fnhe_genid;\n\t__be32 fnhe_daddr;\n\tu32 fnhe_pmtu;\n\tbool fnhe_mtu_locked;\n\t__be32 fnhe_gw;\n\tlong unsigned int fnhe_expires;\n\tstruct rtable *fnhe_rth_input;\n\tstruct rtable *fnhe_rth_output;\n\tlong unsigned int fnhe_stamp;\n\tstruct callback_head rcu;\n};\n\nstruct fib_nh_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct fib_nh *fib_nh;\n};\n\nstruct fib_notifier_net {\n\tstruct list_head fib_notifier_ops;\n\tstruct atomic_notifier_head fib_chain;\n};\n\nstruct fib_notifier_ops {\n\tint family;\n\tstruct list_head list;\n\tunsigned int (*fib_seq_read)(const struct net *);\n\tint (*fib_dump)(struct net *, struct notifier_block *, struct netlink_ext_ack *);\n\tstruct module *owner;\n\tstruct callback_head rcu;\n};\n\nstruct fib_prop {\n\tint error;\n\tu8 scope;\n};\n\nstruct fib_table;\n\nstruct fib_result {\n\t__be32 prefix;\n\tunsigned char prefixlen;\n\tunsigned char nh_sel;\n\tunsigned char type;\n\tunsigned char scope;\n\tu32 tclassid;\n\tdscp_t dscp;\n\tstruct fib_nh_common *nhc;\n\tstruct fib_info *fi;\n\tstruct fib_table *table;\n\tstruct hlist_head *fa_head;\n};\n\nstruct fib_result_nl {\n\t__be32 fl_addr;\n\tu32 fl_mark;\n\tunsigned char fl_tos;\n\tunsigned char fl_scope;\n\tunsigned char tb_id_in;\n\tunsigned char tb_id;\n\tunsigned char prefixlen;\n\tunsigned char nh_sel;\n\tunsigned char type;\n\tunsigned char scope;\n\tint err;\n};\n\nstruct key_vector;\n\nstruct fib_route_iter {\n\tstruct seq_net_private p;\n\tstruct fib_table *main_tb;\n\tstruct key_vector *tnode;\n\tloff_t pos;\n\tt_key key;\n};\n\nstruct fib_rt_info {\n\tstruct fib_info *fi;\n\tu32 tb_id;\n\t__be32 dst;\n\tint dst_len;\n\tdscp_t dscp;\n\tu8 type;\n\tu8 offload: 1;\n\tu8 trap: 1;\n\tu8 offload_failed: 1;\n\tu8 unused: 5;\n};\n\nstruct fib_table {\n\tstruct hlist_node tb_hlist;\n\tu32 tb_id;\n\tint tb_num_default;\n\tstruct callback_head rcu;\n\tlong unsigned int *tb_data;\n\tlong unsigned int __data[0];\n};\n\nstruct fib_trie_iter {\n\tstruct seq_net_private p;\n\tstruct fib_table *tb;\n\tstruct key_vector *tnode;\n\tunsigned int index;\n\tunsigned int depth;\n};\n\nstruct fid {\n\tunion {\n\t\tstruct {\n\t\t\tu32 ino;\n\t\t\tu32 gen;\n\t\t\tu32 parent_ino;\n\t\t\tu32 parent_gen;\n\t\t} i32;\n\t\tstruct {\n\t\t\tu64 ino;\n\t\t\tu32 gen;\n\t\t} __attribute__((packed)) i64;\n\t\tstruct {\n\t\t\tu32 block;\n\t\t\tu16 partref;\n\t\t\tu16 parent_partref;\n\t\t\tu32 generation;\n\t\t\tu32 parent_block;\n\t\t\tu32 parent_generation;\n\t\t} udf;\n\t\tstruct {\n\t\t\tstruct {} __empty_raw;\n\t\t\t__u32 raw[0];\n\t\t};\n\t};\n};\n\nstruct fiemap_extent {\n\t__u64 fe_logical;\n\t__u64 fe_physical;\n\t__u64 fe_length;\n\t__u64 fe_reserved64[2];\n\t__u32 fe_flags;\n\t__u32 fe_reserved[3];\n};\n\nstruct fiemap {\n\t__u64 fm_start;\n\t__u64 fm_length;\n\t__u32 fm_flags;\n\t__u32 fm_mapped_extents;\n\t__u32 fm_extent_count;\n\t__u32 fm_reserved;\n\tstruct fiemap_extent fm_extents[0];\n};\n\nstruct fiemap_extent_info {\n\tunsigned int fi_flags;\n\tunsigned int fi_extents_mapped;\n\tunsigned int fi_extents_max;\n\tstruct fiemap_extent *fi_extents_start;\n};\n\nstruct file__safe_trusted {\n\tstruct inode *f_inode;\n};\n\nstruct file_clone_range {\n\t__s64 src_fd;\n\t__u64 src_offset;\n\t__u64 src_length;\n\t__u64 dest_offset;\n};\n\nstruct file_dedupe_range_info {\n\t__s64 dest_fd;\n\t__u64 dest_offset;\n\t__u64 bytes_deduped;\n\t__s32 status;\n\t__u32 reserved;\n};\n\nstruct file_dedupe_range {\n\t__u64 src_offset;\n\t__u64 src_length;\n\t__u16 dest_count;\n\t__u16 reserved1;\n\t__u32 reserved2;\n\tstruct file_dedupe_range_info info[0];\n};\n\nstruct file_handle {\n\t__u32 handle_bytes;\n\tint handle_type;\n\tunsigned char f_handle[0];\n};\n\nstruct file_lock_core {\n\tstruct file_lock_core *flc_blocker;\n\tstruct list_head flc_list;\n\tstruct hlist_node flc_link;\n\tstruct list_head flc_blocked_requests;\n\tstruct list_head flc_blocked_member;\n\tfl_owner_t flc_owner;\n\tunsigned int flc_flags;\n\tunsigned char flc_type;\n\tpid_t flc_pid;\n\tint flc_link_cpu;\n\twait_queue_head_t flc_wait;\n\tstruct file *flc_file;\n};\n\nstruct lease_manager_operations;\n\nstruct file_lease {\n\tstruct file_lock_core c;\n\tstruct fasync_struct *fl_fasync;\n\tlong unsigned int fl_break_time;\n\tlong unsigned int fl_downgrade_time;\n\tconst struct lease_manager_operations *fl_lmops;\n};\n\nstruct nlm_lockowner;\n\nstruct nfs_lock_info {\n\tu32 state;\n\tstruct nlm_lockowner *owner;\n\tstruct list_head list;\n};\n\nstruct nfs4_lock_state;\n\nstruct nfs4_lock_info {\n\tstruct nfs4_lock_state *owner;\n};\n\nstruct file_lock_operations;\n\nstruct lock_manager_operations;\n\nstruct file_lock {\n\tstruct file_lock_core c;\n\tloff_t fl_start;\n\tloff_t fl_end;\n\tconst struct file_lock_operations *fl_ops;\n\tconst struct lock_manager_operations *fl_lmops;\n\tunion {\n\t\tstruct nfs_lock_info nfs_fl;\n\t\tstruct nfs4_lock_info nfs4_fl;\n\t\tstruct {\n\t\t\tstruct list_head link;\n\t\t\tint state;\n\t\t\tunsigned int debug_id;\n\t\t} afs;\n\t\tstruct {\n\t\t\tstruct inode *inode;\n\t\t} ceph;\n\t} fl_u;\n};\n\nstruct file_lock_context {\n\tspinlock_t flc_lock;\n\tstruct list_head flc_flock;\n\tstruct list_head flc_posix;\n\tstruct list_head flc_lease;\n};\n\nstruct file_lock_list_struct {\n\tspinlock_t lock;\n\tstruct hlist_head hlist;\n};\n\nstruct file_lock_operations {\n\tvoid (*fl_copy_lock)(struct file_lock *, struct file_lock *);\n\tvoid (*fl_release_private)(struct file_lock *);\n};\n\nstruct io_uring_cmd;\n\nstruct file_operations {\n\tstruct module *owner;\n\tfop_flags_t fop_flags;\n\tloff_t (*llseek)(struct file *, loff_t, int);\n\tssize_t (*read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct file *, const char *, size_t, loff_t *);\n\tssize_t (*read_iter)(struct kiocb *, struct iov_iter *);\n\tssize_t (*write_iter)(struct kiocb *, struct iov_iter *);\n\tint (*iopoll)(struct kiocb *, struct io_comp_batch *, unsigned int);\n\tint (*iterate_shared)(struct file *, struct dir_context *);\n\t__poll_t (*poll)(struct file *, struct poll_table_struct *);\n\tlong int (*unlocked_ioctl)(struct file *, unsigned int, long unsigned int);\n\tlong int (*compat_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*mmap)(struct file *, struct vm_area_struct *);\n\tint (*open)(struct inode *, struct file *);\n\tint (*flush)(struct file *, fl_owner_t);\n\tint (*release)(struct inode *, struct file *);\n\tint (*fsync)(struct file *, loff_t, loff_t, int);\n\tint (*fasync)(int, struct file *, int);\n\tint (*lock)(struct file *, int, struct file_lock *);\n\tlong unsigned int (*get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tint (*check_flags)(int);\n\tint (*flock)(struct file *, int, struct file_lock *);\n\tssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);\n\tssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*splice_eof)(struct file *);\n\tint (*setlease)(struct file *, int, struct file_lease **, void **);\n\tlong int (*fallocate)(struct file *, int, loff_t, loff_t);\n\tvoid (*show_fdinfo)(struct seq_file *, struct file *);\n\tssize_t (*copy_file_range)(struct file *, loff_t, struct file *, loff_t, size_t, unsigned int);\n\tloff_t (*remap_file_range)(struct file *, loff_t, struct file *, loff_t, loff_t, unsigned int);\n\tint (*fadvise)(struct file *, loff_t, loff_t, int);\n\tint (*uring_cmd)(struct io_uring_cmd *, unsigned int);\n\tint (*uring_cmd_iopoll)(struct io_uring_cmd *, struct io_comp_batch *, unsigned int);\n};\n\nstruct tpm_chip;\n\nstruct tpm_space;\n\nstruct file_priv {\n\tstruct tpm_chip *chip;\n\tstruct tpm_space *space;\n\tstruct mutex buffer_mutex;\n\tstruct timer_list user_read_timer;\n\tstruct work_struct timeout_work;\n\tstruct work_struct async_work;\n\twait_queue_head_t async_wait;\n\tssize_t response_length;\n\tbool response_read;\n\tbool command_enqueued;\n\tu8 data_buffer[4096];\n};\n\nstruct file_range {\n\tconst struct path *path;\n\tloff_t pos;\n\tsize_t count;\n};\n\nstruct page_counter;\n\nstruct file_region {\n\tstruct list_head link;\n\tlong int from;\n\tlong int to;\n\tstruct page_counter *reservation_counter;\n\tstruct cgroup_subsys_state *css;\n};\n\nstruct fs_context;\n\nstruct fs_parameter_spec;\n\nstruct file_system_type {\n\tconst char *name;\n\tint fs_flags;\n\tint (*init_fs_context)(struct fs_context *);\n\tconst struct fs_parameter_spec *parameters;\n\tstruct dentry * (*mount)(struct file_system_type *, int, const char *, void *);\n\tvoid (*kill_sb)(struct super_block *);\n\tstruct module *owner;\n\tstruct file_system_type *next;\n\tstruct hlist_head fs_supers;\n\tstruct lock_class_key s_lock_key;\n\tstruct lock_class_key s_umount_key;\n\tstruct lock_class_key s_vfs_rename_key;\n\tstruct lock_class_key s_writers_key[3];\n\tstruct lock_class_key i_lock_key;\n\tstruct lock_class_key i_mutex_key;\n\tstruct lock_class_key invalidate_lock_key;\n\tstruct lock_class_key i_mutex_dir_key;\n};\n\nstruct fileattr {\n\tu32 flags;\n\tu32 fsx_xflags;\n\tu32 fsx_extsize;\n\tu32 fsx_nextents;\n\tu32 fsx_projid;\n\tu32 fsx_cowextsize;\n\tbool flags_valid: 1;\n\tbool fsx_valid: 1;\n};\n\nstruct filename {\n\tconst char *name;\n\tconst char *uptr;\n\tatomic_t refcnt;\n\tstruct audit_names *aname;\n\tconst char iname[0];\n};\n\nstruct files_stat_struct {\n\tlong unsigned int nr_files;\n\tlong unsigned int nr_free_files;\n\tlong unsigned int max_files;\n};\n\nstruct files_struct {\n\tatomic_t count;\n\tbool resize_in_progress;\n\twait_queue_head_t resize_wait;\n\tstruct fdtable *fdt;\n\tstruct fdtable fdtab;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t file_lock;\n\tunsigned int next_fd;\n\tlong unsigned int close_on_exec_init[1];\n\tlong unsigned int open_fds_init[1];\n\tlong unsigned int full_fds_bits_init[1];\n\tstruct file *fd_array[64];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct filter_list {\n\tstruct list_head list;\n\tstruct event_filter *filter;\n};\n\nstruct filter_parse_error {\n\tint lasterr;\n\tint lasterr_pos;\n};\n\nstruct regex;\n\nstruct ftrace_event_field;\n\nstruct filter_pred {\n\tstruct regex *regex;\n\tstruct cpumask *mask;\n\tshort unsigned int *ops;\n\tstruct ftrace_event_field *field;\n\tu64 val;\n\tu64 val2;\n\tenum filter_pred_fn fn_num;\n\tint offset;\n\tint not;\n\tint op;\n};\n\nstruct find_child_walk_data {\n\tstruct acpi_device *adev;\n\tu64 address;\n\tint score;\n\tbool check_sta;\n\tbool check_children;\n};\n\nstruct find_interface_arg {\n\tint minor;\n\tstruct device_driver *drv;\n};\n\nstruct kernel_symbol;\n\nstruct find_symbol_arg {\n\tconst char *name;\n\tbool gplok;\n\tbool warn;\n\tstruct module *owner;\n\tconst u32 *crc;\n\tconst struct kernel_symbol *sym;\n\tenum mod_license license;\n};\n\nstruct finfo {\n\tefi_file_info_t info;\n\tefi_char16_t filename[256];\n};\n\nstruct fiper_regs {\n\tu32 tmr_fiper1;\n\tu32 tmr_fiper2;\n\tu32 tmr_fiper3;\n};\n\nstruct firmware {\n\tsize_t size;\n\tconst u8 *data;\n\tvoid *priv;\n};\n\nstruct firmware_cache {\n\tspinlock_t lock;\n\tstruct list_head head;\n\tint state;\n\tspinlock_t name_lock;\n\tstruct list_head fw_names;\n\tstruct delayed_work work;\n\tstruct notifier_block pm_notify;\n};\n\nstruct firmware_fallback_config {\n\tunsigned int force_sysfs_fallback;\n\tunsigned int ignore_sysfs_fallback;\n\tint old_timeout;\n\tint loading_timeout;\n};\n\nstruct firmware_work {\n\tstruct work_struct work;\n\tstruct module *module;\n\tconst char *name;\n\tstruct device *device;\n\tvoid *context;\n\tvoid (*cont)(const struct firmware *, void *);\n\tu32 opt_flags;\n};\n\nstruct fixed_dev_type {\n\tbool has_enable_clock;\n\tbool has_performance_state;\n};\n\nstruct fixed_mdio_bus {\n\tstruct mii_bus *mii_bus;\n\tstruct list_head phys;\n};\n\nstruct mtd_partition;\n\nstruct fixed_partitions_quirks {\n\tint (*post_parse)(struct mtd_info *, struct mtd_partition *, int);\n};\n\nstruct fixed_phy_status {\n\tint link;\n\tint speed;\n\tint duplex;\n\tint pause;\n\tint asym_pause;\n};\n\nstruct fixed_phy {\n\tint addr;\n\tstruct phy_device *phydev;\n\tstruct fixed_phy_status status;\n\tbool no_carrier;\n\tint (*link_update)(struct net_device *, struct fixed_phy_status *);\n\tstruct list_head node;\n\tstruct gpio_desc *link_gpiod;\n};\n\nstruct fixed_voltage_config {\n\tconst char *supply_name;\n\tconst char *input_supply;\n\tint microvolts;\n\tunsigned int startup_delay;\n\tunsigned int off_on_delay;\n\tunsigned int enabled_at_boot: 1;\n\tstruct regulator_init_data *init_data;\n};\n\nstruct regulator_state {\n\tint uV;\n\tint min_uV;\n\tint max_uV;\n\tunsigned int mode;\n\tint enabled;\n\tbool changeable;\n};\n\nstruct notification_limit {\n\tint prot;\n\tint err;\n\tint warn;\n};\n\nstruct regulation_constraints {\n\tconst char *name;\n\tint min_uV;\n\tint max_uV;\n\tint uV_offset;\n\tint min_uA;\n\tint max_uA;\n\tint ilim_uA;\n\tint pw_budget_mW;\n\tint system_load;\n\tu32 *max_spread;\n\tint max_uV_step;\n\tunsigned int valid_modes_mask;\n\tunsigned int valid_ops_mask;\n\tint input_uV;\n\tstruct regulator_state state_disk;\n\tstruct regulator_state state_mem;\n\tstruct regulator_state state_standby;\n\tstruct notification_limit over_curr_limits;\n\tstruct notification_limit over_voltage_limits;\n\tstruct notification_limit under_voltage_limits;\n\tstruct notification_limit temp_limits;\n\tsuspend_state_t initial_state;\n\tunsigned int initial_mode;\n\tunsigned int ramp_delay;\n\tunsigned int settling_time;\n\tunsigned int settling_time_up;\n\tunsigned int settling_time_down;\n\tunsigned int enable_time;\n\tunsigned int uv_less_critical_window_ms;\n\tunsigned int active_discharge;\n\tunsigned int always_on: 1;\n\tunsigned int boot_on: 1;\n\tunsigned int apply_uV: 1;\n\tunsigned int ramp_disable: 1;\n\tunsigned int soft_start: 1;\n\tunsigned int pull_down: 1;\n\tunsigned int system_critical: 1;\n\tunsigned int over_current_protection: 1;\n\tunsigned int over_current_detection: 1;\n\tunsigned int over_voltage_detection: 1;\n\tunsigned int under_voltage_detection: 1;\n\tunsigned int over_temp_detection: 1;\n};\n\nstruct regulator_consumer_supply;\n\nstruct regulator_init_data {\n\tconst char *supply_regulator;\n\tstruct regulation_constraints constraints;\n\tint num_consumer_supplies;\n\tstruct regulator_consumer_supply *consumer_supplies;\n\tvoid *driver_data;\n};\n\nstruct pdev_archdata {};\n\nstruct platform_device_id;\n\nstruct platform_device {\n\tconst char *name;\n\tint id;\n\tbool id_auto;\n\tstruct device dev;\n\tu64 platform_dma_mask;\n\tstruct device_dma_parameters dma_parms;\n\tu32 num_resources;\n\tstruct resource *resource;\n\tconst struct platform_device_id *id_entry;\n\tconst char *driver_override;\n\tstruct mfd_cell *mfd_cell;\n\tstruct pdev_archdata archdata;\n};\n\nstruct fixed_regulator_data {\n\tstruct fixed_voltage_config cfg;\n\tstruct regulator_init_data init_data;\n\tstruct platform_device pdev;\n};\n\nstruct fixed_voltage_data {\n\tstruct regulator_desc desc;\n\tstruct regulator_dev *dev;\n\tstruct clk *enable_clock;\n\tunsigned int enable_counter;\n\tint performance_state;\n};\n\nstruct flash_info {\n\tchar *name;\n\tu64 jedec_id;\n\tunsigned int nr_pages;\n\tu16 pagesize;\n\tu16 pageoffset;\n\tu16 flags;\n};\n\nstruct flash_info___2 {\n\tconst char *name;\n\tuint16_t device_id;\n\tunsigned int page_size;\n\tunsigned int nr_pages;\n\tunsigned int erase_size;\n};\n\nstruct spi_nor_id;\n\nstruct spi_nor_otp_organization;\n\nstruct spi_nor_fixups;\n\nstruct flash_info___3 {\n\tchar *name;\n\tconst struct spi_nor_id *id;\n\tsize_t size;\n\tunsigned int sector_size;\n\tu16 page_size;\n\tu8 n_banks;\n\tu8 addr_nbytes;\n\tu16 flags;\n\tu8 no_sfdp_flags;\n\tu8 fixup_flags;\n\tu8 mfr_flags;\n\tconst struct spi_nor_otp_organization *otp;\n\tconst struct spi_nor_fixups *fixups;\n};\n\nstruct flash_platform_data {\n\tchar *name;\n\tstruct mtd_partition *parts;\n\tunsigned int nr_parts;\n\tchar *type;\n};\n\nstruct flchip_shared {\n\tstruct mutex lock;\n\tstruct flchip *writing;\n\tstruct flchip *erasing;\n};\n\nstruct flex_groups {\n\tatomic64_t free_clusters;\n\tatomic_t free_inodes;\n\tatomic_t used_dirs;\n};\n\nstruct flock {\n\tshort int l_type;\n\tshort int l_whence;\n\t__kernel_off_t l_start;\n\t__kernel_off_t l_len;\n\t__kernel_pid_t l_pid;\n};\n\nstruct flock64 {\n\tshort int l_type;\n\tshort int l_whence;\n\t__kernel_loff_t l_start;\n\t__kernel_loff_t l_len;\n\t__kernel_pid_t l_pid;\n};\n\ntypedef void (*action_destr)(void *);\n\nstruct nf_flowtable;\n\nstruct ip_tunnel_info;\n\nstruct psample_group;\n\nstruct flow_action_entry {\n\tenum flow_action_id id;\n\tu32 hw_index;\n\tlong unsigned int cookie;\n\tu64 miss_cookie;\n\tenum flow_action_hw_stats hw_stats;\n\taction_destr destructor;\n\tvoid *destructor_priv;\n\tunion {\n\t\tu32 chain_index;\n\t\tstruct net_device *dev;\n\t\tstruct {\n\t\t\tu16 vid;\n\t\t\t__be16 proto;\n\t\t\tu8 prio;\n\t\t} vlan;\n\t\tstruct {\n\t\t\tunsigned char dst[6];\n\t\t\tunsigned char src[6];\n\t\t} vlan_push_eth;\n\t\tstruct {\n\t\t\tenum flow_action_mangle_base htype;\n\t\t\tu32 offset;\n\t\t\tu32 mask;\n\t\t\tu32 val;\n\t\t} mangle;\n\t\tstruct ip_tunnel_info *tunnel;\n\t\tu32 csum_flags;\n\t\tu32 mark;\n\t\tu16 ptype;\n\t\tu16 rx_queue;\n\t\tu32 priority;\n\t\tstruct {\n\t\t\tu32 ctx;\n\t\t\tu32 index;\n\t\t\tu8 vf;\n\t\t} queue;\n\t\tstruct {\n\t\t\tstruct psample_group *psample_group;\n\t\t\tu32 rate;\n\t\t\tu32 trunc_size;\n\t\t\tbool truncate;\n\t\t} sample;\n\t\tstruct {\n\t\t\tu32 burst;\n\t\t\tu64 rate_bytes_ps;\n\t\t\tu64 peakrate_bytes_ps;\n\t\t\tu32 avrate;\n\t\t\tu16 overhead;\n\t\t\tu64 burst_pkt;\n\t\t\tu64 rate_pkt_ps;\n\t\t\tu32 mtu;\n\t\t\tstruct {\n\t\t\t\tenum flow_action_id act_id;\n\t\t\t\tu32 extval;\n\t\t\t} exceed;\n\t\t\tstruct {\n\t\t\t\tenum flow_action_id act_id;\n\t\t\t\tu32 extval;\n\t\t\t} notexceed;\n\t\t} police;\n\t\tstruct {\n\t\t\tint action;\n\t\t\tu16 zone;\n\t\t\tstruct nf_flowtable *flow_table;\n\t\t} ct;\n\t\tstruct {\n\t\t\tlong unsigned int cookie;\n\t\t\tu32 mark;\n\t\t\tu32 labels[4];\n\t\t\tbool orig_dir;\n\t\t} ct_metadata;\n\t\tstruct {\n\t\t\tu32 label;\n\t\t\t__be16 proto;\n\t\t\tu8 tc;\n\t\t\tu8 bos;\n\t\t\tu8 ttl;\n\t\t} mpls_push;\n\t\tstruct {\n\t\t\t__be16 proto;\n\t\t} mpls_pop;\n\t\tstruct {\n\t\t\tu32 label;\n\t\t\tu8 tc;\n\t\t\tu8 bos;\n\t\t\tu8 ttl;\n\t\t} mpls_mangle;\n\t\tstruct {\n\t\t\ts32 prio;\n\t\t\tu64 basetime;\n\t\t\tu64 cycletime;\n\t\t\tu64 cycletimeext;\n\t\t\tu32 num_entries;\n\t\t\tstruct action_gate_entry *entries;\n\t\t} gate;\n\t\tstruct {\n\t\t\tu16 sid;\n\t\t} pppoe;\n\t};\n\tstruct flow_action_cookie *user_cookie;\n};\n\nstruct flow_action {\n\tunsigned int num_entries;\n\tstruct flow_action_entry entries[0];\n};\n\nstruct flow_action_cookie {\n\tu32 cookie_len;\n\tu8 cookie[0];\n};\n\nstruct flow_block {\n\tstruct list_head cb_list;\n};\n\ntypedef int flow_setup_cb_t(enum tc_setup_type, void *, void *);\n\nstruct flow_block_cb;\n\nstruct flow_block_indr {\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tstruct Qdisc *sch;\n\tenum flow_block_binder_type binder_type;\n\tvoid *data;\n\tvoid *cb_priv;\n\tvoid (*cleanup)(struct flow_block_cb *);\n};\n\nstruct flow_block_cb {\n\tstruct list_head driver_list;\n\tstruct list_head list;\n\tflow_setup_cb_t *cb;\n\tvoid *cb_ident;\n\tvoid *cb_priv;\n\tvoid (*release)(void *);\n\tstruct flow_block_indr indr;\n\tunsigned int refcnt;\n};\n\nstruct flow_block_offload {\n\tenum flow_block_command command;\n\tenum flow_block_binder_type binder_type;\n\tbool block_shared;\n\tbool unlocked_driver_cb;\n\tstruct net *net;\n\tstruct flow_block *block;\n\tstruct list_head cb_list;\n\tstruct list_head *driver_block_list;\n\tstruct netlink_ext_ack *extack;\n\tstruct Qdisc *sch;\n\tstruct list_head *cb_list_head;\n};\n\nstruct flow_cls_common_offload {\n\tu32 chain_index;\n\t__be16 protocol;\n\tu32 prio;\n\tbool skip_sw;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct flow_cls_offload {\n\tstruct flow_cls_common_offload common;\n\tenum flow_cls_command command;\n\tbool use_act_stats;\n\tlong unsigned int cookie;\n\tstruct flow_rule *rule;\n\tstruct flow_stats stats;\n\tu32 classid;\n};\n\nstruct flow_dissector_key {\n\tenum flow_dissector_key_id key_id;\n\tsize_t offset;\n};\n\nstruct flow_dissector_key_tipc {\n\t__be32 key;\n};\n\nstruct flow_dissector_key_addrs {\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs v4addrs;\n\t\tstruct flow_dissector_key_ipv6_addrs v6addrs;\n\t\tstruct flow_dissector_key_tipc tipckey;\n\t};\n};\n\nstruct flow_dissector_key_arp {\n\t__u32 sip;\n\t__u32 tip;\n\t__u8 op;\n\tunsigned char sha[6];\n\tunsigned char tha[6];\n};\n\nstruct flow_dissector_key_cfm {\n\tu8 mdl_ver;\n\tu8 opcode;\n};\n\nstruct flow_dissector_key_control {\n\tu16 thoff;\n\tu16 addr_type;\n\tu32 flags;\n};\n\nstruct flow_dissector_key_ct {\n\tu16 ct_state;\n\tu16 ct_zone;\n\tu32 ct_mark;\n\tu32 ct_labels[4];\n};\n\nstruct flow_dissector_key_enc_opts {\n\tu8 data[255];\n\tu8 len;\n\tu32 dst_opt_type;\n};\n\nstruct flow_dissector_key_hash {\n\tu32 hash;\n};\n\nstruct flow_dissector_key_icmp {\n\tstruct {\n\t\tu8 type;\n\t\tu8 code;\n\t};\n\tu16 id;\n};\n\nstruct flow_dissector_key_ipsec {\n\t__be32 spi;\n};\n\nstruct flow_dissector_key_keyid {\n\t__be32 keyid;\n};\n\nstruct flow_dissector_key_l2tpv3 {\n\t__be32 session_id;\n};\n\nstruct flow_dissector_key_meta {\n\tint ingress_ifindex;\n\tu16 ingress_iftype;\n\tu8 l2_miss;\n};\n\nstruct flow_dissector_mpls_lse {\n\tu32 mpls_ttl: 8;\n\tu32 mpls_bos: 1;\n\tu32 mpls_tc: 3;\n\tu32 mpls_label: 20;\n};\n\nstruct flow_dissector_key_mpls {\n\tstruct flow_dissector_mpls_lse ls[7];\n\tu8 used_lses;\n};\n\nstruct flow_dissector_key_num_of_vlans {\n\tu8 num_of_vlans;\n};\n\nstruct flow_dissector_key_ports_range {\n\tunion {\n\t\tstruct flow_dissector_key_ports tp;\n\t\tstruct {\n\t\t\tstruct flow_dissector_key_ports tp_min;\n\t\t\tstruct flow_dissector_key_ports tp_max;\n\t\t};\n\t};\n};\n\nstruct flow_dissector_key_pppoe {\n\t__be16 session_id;\n\t__be16 ppp_proto;\n\t__be16 type;\n};\n\nstruct flow_dissector_key_tags {\n\tu32 flow_label;\n};\n\nstruct flow_dissector_key_tcp {\n\t__be16 flags;\n};\n\nstruct flow_indir_dev_info {\n\tvoid *data;\n\tstruct net_device *dev;\n\tstruct Qdisc *sch;\n\tenum tc_setup_type type;\n\tvoid (*cleanup)(struct flow_block_cb *);\n\tstruct list_head list;\n\tenum flow_block_command command;\n\tenum flow_block_binder_type binder_type;\n\tstruct list_head *cb_list;\n};\n\ntypedef int flow_indr_block_bind_cb_t(struct net_device *, struct Qdisc *, void *, enum tc_setup_type, void *, void *, void (*)(struct flow_block_cb *));\n\nstruct flow_indr_dev {\n\tstruct list_head list;\n\tflow_indr_block_bind_cb_t *cb;\n\tvoid *cb_priv;\n\trefcount_t refcnt;\n};\n\nstruct flow_keys {\n\tstruct flow_dissector_key_control control;\n\tstruct flow_dissector_key_basic basic;\n\tstruct flow_dissector_key_tags tags;\n\tstruct flow_dissector_key_vlan vlan;\n\tstruct flow_dissector_key_vlan cvlan;\n\tstruct flow_dissector_key_keyid keyid;\n\tstruct flow_dissector_key_ports ports;\n\tstruct flow_dissector_key_icmp icmp;\n\tstruct flow_dissector_key_addrs addrs;\n\tlong: 0;\n};\n\nstruct flow_keys_basic {\n\tstruct flow_dissector_key_control control;\n\tstruct flow_dissector_key_basic basic;\n};\n\nstruct flow_keys_digest {\n\tu8 data[16];\n};\n\nstruct flow_match {\n\tstruct flow_dissector *dissector;\n\tvoid *mask;\n\tvoid *key;\n};\n\nstruct flow_match_arp {\n\tstruct flow_dissector_key_arp *key;\n\tstruct flow_dissector_key_arp *mask;\n};\n\nstruct flow_match_basic {\n\tstruct flow_dissector_key_basic *key;\n\tstruct flow_dissector_key_basic *mask;\n};\n\nstruct flow_match_control {\n\tstruct flow_dissector_key_control *key;\n\tstruct flow_dissector_key_control *mask;\n};\n\nstruct flow_match_ct {\n\tstruct flow_dissector_key_ct *key;\n\tstruct flow_dissector_key_ct *mask;\n};\n\nstruct flow_match_enc_keyid {\n\tstruct flow_dissector_key_keyid *key;\n\tstruct flow_dissector_key_keyid *mask;\n};\n\nstruct flow_match_enc_opts {\n\tstruct flow_dissector_key_enc_opts *key;\n\tstruct flow_dissector_key_enc_opts *mask;\n};\n\nstruct flow_match_eth_addrs {\n\tstruct flow_dissector_key_eth_addrs *key;\n\tstruct flow_dissector_key_eth_addrs *mask;\n};\n\nstruct flow_match_icmp {\n\tstruct flow_dissector_key_icmp *key;\n\tstruct flow_dissector_key_icmp *mask;\n};\n\nstruct flow_match_ip {\n\tstruct flow_dissector_key_ip *key;\n\tstruct flow_dissector_key_ip *mask;\n};\n\nstruct flow_match_ipsec {\n\tstruct flow_dissector_key_ipsec *key;\n\tstruct flow_dissector_key_ipsec *mask;\n};\n\nstruct flow_match_ipv4_addrs {\n\tstruct flow_dissector_key_ipv4_addrs *key;\n\tstruct flow_dissector_key_ipv4_addrs *mask;\n};\n\nstruct flow_match_ipv6_addrs {\n\tstruct flow_dissector_key_ipv6_addrs *key;\n\tstruct flow_dissector_key_ipv6_addrs *mask;\n};\n\nstruct flow_match_l2tpv3 {\n\tstruct flow_dissector_key_l2tpv3 *key;\n\tstruct flow_dissector_key_l2tpv3 *mask;\n};\n\nstruct flow_match_meta {\n\tstruct flow_dissector_key_meta *key;\n\tstruct flow_dissector_key_meta *mask;\n};\n\nstruct flow_match_mpls {\n\tstruct flow_dissector_key_mpls *key;\n\tstruct flow_dissector_key_mpls *mask;\n};\n\nstruct flow_match_ports {\n\tstruct flow_dissector_key_ports *key;\n\tstruct flow_dissector_key_ports *mask;\n};\n\nstruct flow_match_ports_range {\n\tstruct flow_dissector_key_ports_range *key;\n\tstruct flow_dissector_key_ports_range *mask;\n};\n\nstruct flow_match_pppoe {\n\tstruct flow_dissector_key_pppoe *key;\n\tstruct flow_dissector_key_pppoe *mask;\n};\n\nstruct flow_match_tcp {\n\tstruct flow_dissector_key_tcp *key;\n\tstruct flow_dissector_key_tcp *mask;\n};\n\nstruct flow_match_vlan {\n\tstruct flow_dissector_key_vlan *key;\n\tstruct flow_dissector_key_vlan *mask;\n};\n\nstruct flow_offload_action {\n\tstruct netlink_ext_ack *extack;\n\tenum offload_act_command command;\n\tenum flow_action_id id;\n\tu32 index;\n\tlong unsigned int cookie;\n\tstruct flow_stats stats;\n\tstruct flow_action action;\n};\n\nstruct flow_rule {\n\tstruct flow_match match;\n\tstruct flow_action action;\n};\n\nstruct flowi_tunnel {\n\t__be64 tun_id;\n};\n\nstruct flowi_common {\n\tint flowic_oif;\n\tint flowic_iif;\n\tint flowic_l3mdev;\n\t__u32 flowic_mark;\n\t__u8 flowic_tos;\n\t__u8 flowic_scope;\n\t__u8 flowic_proto;\n\t__u8 flowic_flags;\n\t__u32 flowic_secid;\n\tkuid_t flowic_uid;\n\t__u32 flowic_multipath_hash;\n\tstruct flowi_tunnel flowic_tun_key;\n};\n\nunion flowi_uli {\n\tstruct {\n\t\t__be16 dport;\n\t\t__be16 sport;\n\t} ports;\n\tstruct {\n\t\t__u8 type;\n\t\t__u8 code;\n\t} icmpt;\n\t__be32 gre_key;\n\tstruct {\n\t\t__u8 type;\n\t} mht;\n};\n\nstruct flowi4 {\n\tstruct flowi_common __fl_common;\n\t__be32 saddr;\n\t__be32 daddr;\n\tunion flowi_uli uli;\n};\n\nstruct flowi6 {\n\tstruct flowi_common __fl_common;\n\tstruct in6_addr daddr;\n\tstruct in6_addr saddr;\n\t__be32 flowlabel;\n\tunion flowi_uli uli;\n\t__u32 mp_hash;\n};\n\nstruct flowi {\n\tunion {\n\t\tstruct flowi_common __fl_common;\n\t\tstruct flowi4 ip4;\n\t\tstruct flowi6 ip6;\n\t} u;\n};\n\nstruct flush_backlogs {\n\tcpumask_t flush_cpus;\n\tstruct work_struct w[0];\n};\n\nstruct flush_busy_ctx_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct list_head *list;\n};\n\nstruct kyber_hctx_data;\n\nstruct flush_kcq_data {\n\tstruct kyber_hctx_data *khd;\n\tunsigned int sched_domain;\n\tstruct list_head *list;\n};\n\nstruct fm_port_fqs {\n\tstruct dpaa_fq *tx_defq;\n\tstruct dpaa_fq *tx_errq;\n\tstruct dpaa_fq *rx_defq;\n\tstruct dpaa_fq *rx_errq;\n\tstruct dpaa_fq *rx_pcdq;\n};\n\nstruct fman_intr_src {\n\tvoid (*isr_cb)(void *);\n\tvoid *src_handle;\n};\n\nstruct fman;\n\ntypedef irqreturn_t fman_exceptions_cb(struct fman *, enum fman_exceptions);\n\ntypedef irqreturn_t fman_bus_error_cb(struct fman *, u8, u64, u8, u16);\n\nstruct fman_dts_params {\n\tvoid *base_addr;\n\tstruct resource *res;\n\tu8 id;\n\tint err_irq;\n\tu16 clk_freq;\n\tu32 qman_channel_base;\n\tu32 num_of_qman_channels;\n\tstruct resource muram_res;\n};\n\nstruct fman_fpm_regs;\n\nstruct fman_bmi_regs;\n\nstruct fman_qmi_regs;\n\nstruct fman_dma_regs;\n\nstruct fman_hwp_regs;\n\nstruct fman_kg_regs;\n\nstruct fman_state_struct;\n\nstruct fman_cfg;\n\nstruct muram_info;\n\nstruct fman_keygen;\n\nstruct fman {\n\tstruct device *dev;\n\tvoid *base_addr;\n\tstruct fman_intr_src intr_mng[24];\n\tstruct fman_fpm_regs *fpm_regs;\n\tstruct fman_bmi_regs *bmi_regs;\n\tstruct fman_qmi_regs *qmi_regs;\n\tstruct fman_dma_regs *dma_regs;\n\tstruct fman_hwp_regs *hwp_regs;\n\tstruct fman_kg_regs *kg_regs;\n\tfman_exceptions_cb *exception_cb;\n\tfman_bus_error_cb *bus_error_cb;\n\tspinlock_t spinlock;\n\tstruct fman_state_struct *state;\n\tstruct fman_cfg *cfg;\n\tstruct muram_info *muram;\n\tstruct fman_keygen *keygen;\n\tlong unsigned int cam_offset;\n\tsize_t cam_size;\n\tlong unsigned int fifo_offset;\n\tsize_t fifo_size;\n\tu32 liodn_base[64];\n\tu32 liodn_offset[64];\n\tstruct fman_dts_params dts_params;\n};\n\nstruct fman_bmi_regs {\n\tu32 fmbm_init;\n\tu32 fmbm_cfg1;\n\tu32 fmbm_cfg2;\n\tu32 res000c[5];\n\tu32 fmbm_ievr;\n\tu32 fmbm_ier;\n\tu32 fmbm_ifr;\n\tu32 res002c[5];\n\tu32 fmbm_arb[8];\n\tu32 res0060[12];\n\tu32 fmbm_dtc[3];\n\tu32 res009c;\n\tu32 fmbm_dcv[12];\n\tu32 fmbm_dcm[12];\n\tu32 fmbm_gde;\n\tu32 fmbm_pp[63];\n\tu32 res0200;\n\tu32 fmbm_pfs[63];\n\tu32 res0300;\n\tu32 fmbm_spliodn[63];\n};\n\nstruct fman_buf_pool_depletion {\n\tbool pools_grp_mode_enable;\n\tu8 num_of_pools;\n\tbool pools_to_consider[64];\n\tbool single_pool_mode_enable;\n\tbool pools_to_consider_for_single_mode[64];\n};\n\nstruct fman_buffer_prefix_content {\n\tu16 priv_data_size;\n\tbool pass_prs_result;\n\tbool pass_time_stamp;\n\tbool pass_hash_result;\n\tu16 data_align;\n};\n\nstruct fman_cfg {\n\tu8 disp_limit_tsh;\n\tu8 prs_disp_tsh;\n\tu8 plcr_disp_tsh;\n\tu8 kg_disp_tsh;\n\tu8 bmi_disp_tsh;\n\tu8 qmi_enq_disp_tsh;\n\tu8 qmi_deq_disp_tsh;\n\tu8 fm_ctl1_disp_tsh;\n\tu8 fm_ctl2_disp_tsh;\n\tint dma_cache_override;\n\tenum fman_dma_aid_mode dma_aid_mode;\n\tu32 dma_axi_dbg_num_of_beats;\n\tu32 dma_cam_num_of_entries;\n\tu32 dma_watchdog;\n\tu8 dma_comm_qtsh_asrt_emer;\n\tu32 dma_write_buf_tsh_asrt_emer;\n\tu32 dma_read_buf_tsh_asrt_emer;\n\tu8 dma_comm_qtsh_clr_emer;\n\tu32 dma_write_buf_tsh_clr_emer;\n\tu32 dma_read_buf_tsh_clr_emer;\n\tu32 dma_sos_emergency;\n\tint dma_dbg_cnt_mode;\n\tint catastrophic_err;\n\tint dma_err;\n\tu32 exceptions;\n\tu16 clk_freq;\n\tu32 cam_base_addr;\n\tu32 fifo_base_addr;\n\tu32 total_fifo_size;\n\tu32 total_num_of_tasks;\n\tu32 qmi_def_tnums_thresh;\n};\n\nstruct fman_dma_regs {\n\tu32 fmdmsr;\n\tu32 fmdmmr;\n\tu32 fmdmtr;\n\tu32 fmdmhy;\n\tu32 fmdmsetr;\n\tu32 fmdmtah;\n\tu32 fmdmtal;\n\tu32 fmdmtcid;\n\tu32 fmdmra;\n\tu32 fmdmrd;\n\tu32 fmdmwcr;\n\tu32 fmdmebcr;\n\tu32 fmdmccqdr;\n\tu32 fmdmccqvr1;\n\tu32 fmdmccqvr2;\n\tu32 fmdmcqvr3;\n\tu32 fmdmcqvr4;\n\tu32 fmdmcqvr5;\n\tu32 fmdmsefrc;\n\tu32 fmdmsqfrc;\n\tu32 fmdmssrc;\n\tu32 fmdmdcr;\n\tu32 fmdmemsr;\n\tu32 res005c;\n\tu32 fmdmplr[32];\n\tu32 res00e0[968];\n};\n\nstruct fman_ext_pool_params {\n\tu8 id;\n\tu16 size;\n};\n\nstruct fman_ext_pools {\n\tu8 num_of_pools_used;\n\tstruct fman_ext_pool_params ext_buf_pool[8];\n};\n\nstruct fman_fpm_regs {\n\tu32 fmfp_tnc;\n\tu32 fmfp_prc;\n\tu32 fmfp_brkc;\n\tu32 fmfp_mxd;\n\tu32 fmfp_dist1;\n\tu32 fmfp_dist2;\n\tu32 fm_epi;\n\tu32 fm_rie;\n\tu32 fmfp_fcev[4];\n\tu32 res0030[4];\n\tu32 fmfp_cee[4];\n\tu32 res0050[4];\n\tu32 fmfp_tsc1;\n\tu32 fmfp_tsc2;\n\tu32 fmfp_tsp;\n\tu32 fmfp_tsf;\n\tu32 fm_rcr;\n\tu32 fmfp_extc;\n\tu32 fmfp_ext1;\n\tu32 fmfp_ext2;\n\tu32 fmfp_drd[16];\n\tu32 fmfp_dra;\n\tu32 fm_ip_rev_1;\n\tu32 fm_ip_rev_2;\n\tu32 fm_rstc;\n\tu32 fm_cld;\n\tu32 fm_npi;\n\tu32 fmfp_exte;\n\tu32 fmfp_ee;\n\tu32 fmfp_cev[4];\n\tu32 res00f0[4];\n\tu32 fmfp_ps[50];\n\tu32 res01c8[14];\n\tu32 fmfp_clfabc;\n\tu32 fmfp_clfcc;\n\tu32 fmfp_clfaval;\n\tu32 fmfp_clfbval;\n\tu32 fmfp_clfcval;\n\tu32 fmfp_clfamsk;\n\tu32 fmfp_clfbmsk;\n\tu32 fmfp_clfcmsk;\n\tu32 fmfp_clfamc;\n\tu32 fmfp_clfbmc;\n\tu32 fmfp_clfcmc;\n\tu32 fmfp_decceh;\n\tu32 res0230[116];\n\tu32 fmfp_ts[128];\n\tu32 res0600[640];\n};\n\nstruct fman_hwp_regs {\n\tu32 res0000[529];\n\tu32 fmprrpimac;\n\tu32 res[494];\n};\n\nstruct fman_iram_regs {\n\tu32 iadd;\n\tu32 idata;\n\tu32 itcfg;\n\tu32 iready;\n};\n\nstruct keygen_scheme {\n\tbool used;\n\tu8 hw_port_id;\n\tu32 base_fqid;\n\tu32 hash_fqid_count;\n\tbool use_hashing;\n\tbool symmetric_hash;\n\tu8 hashShift;\n\tu32 match_vector;\n};\n\nstruct fman_keygen {\n\tstruct keygen_scheme schemes[32];\n\tstruct fman_kg_regs *keygen_regs;\n};\n\nstruct fman_kg_pe_regs {\n\tu32 fmkg_pe_sp;\n\tu32 fmkg_pe_cpp;\n};\n\nstruct fman_kg_scheme_regs {\n\tu32 kgse_mode;\n\tu32 kgse_ekfc;\n\tu32 kgse_ekdv;\n\tu32 kgse_bmch;\n\tu32 kgse_bmcl;\n\tu32 kgse_fqb;\n\tu32 kgse_hc;\n\tu32 kgse_ppc;\n\tu32 kgse_gec[8];\n\tu32 kgse_spc;\n\tu32 kgse_dv0;\n\tu32 kgse_dv1;\n\tu32 kgse_ccbs;\n\tu32 kgse_mv;\n\tu32 kgse_om;\n\tu32 kgse_vsp;\n};\n\nstruct fman_kg_regs {\n\tu32 fmkg_gcr;\n\tu32 res004;\n\tu32 res008;\n\tu32 fmkg_eer;\n\tu32 fmkg_eeer;\n\tu32 res014;\n\tu32 res018;\n\tu32 fmkg_seer;\n\tu32 fmkg_seeer;\n\tu32 fmkg_gsr;\n\tu32 fmkg_tpc;\n\tu32 fmkg_serc;\n\tu32 res030[4];\n\tu32 fmkg_fdor;\n\tu32 fmkg_gdv0r;\n\tu32 fmkg_gdv1r;\n\tu32 res04c[6];\n\tu32 fmkg_feer;\n\tu32 res068[38];\n\tunion {\n\t\tu32 fmkg_indirect[63];\n\t\tstruct fman_kg_scheme_regs fmkg_sch;\n\t\tstruct fman_kg_pe_regs fmkg_pe;\n\t};\n\tu32 fmkg_ar;\n};\n\nstruct mac_device___3;\n\ntypedef void fman_mac_exception_cb(struct mac_device___3 *, enum fman_mac_exceptions);\n\nstruct fman_rev_info {\n\tu8 major;\n\tu8 minor;\n};\n\nstruct memac_regs;\n\nstruct memac_cfg;\n\nstruct fman_mac {\n\tstruct memac_regs *regs;\n\tu64 addr;\n\tstruct mac_device___3 *dev_id;\n\tfman_mac_exception_cb *exception_cb;\n\tfman_mac_exception_cb *event_cb;\n\tstruct eth_hash_t *multicast_addr_hash;\n\tstruct eth_hash_t *unicast_addr_hash;\n\tu8 mac_id;\n\tu32 exceptions;\n\tstruct memac_cfg *memac_drv_param;\n\tvoid *fm;\n\tstruct fman_rev_info fm_rev_info;\n\tstruct phy *serdes;\n\tstruct phylink_pcs *sgmii_pcs;\n\tstruct phylink_pcs *qsgmii_pcs;\n\tstruct phylink_pcs *xfi_pcs;\n\tbool allmulti_enabled;\n\tbool rgmii_no_half_duplex;\n};\n\ntypedef void fman_mac_exception_cb___2(struct mac_device___2 *, enum fman_mac_exceptions);\n\nstruct tgec_regs;\n\nstruct tgec_cfg;\n\nstruct fman_mac___2 {\n\tstruct tgec_regs *regs;\n\tu64 addr;\n\tu16 max_speed;\n\tstruct mac_device___2 *dev_id;\n\tfman_mac_exception_cb___2 *exception_cb;\n\tfman_mac_exception_cb___2 *event_cb;\n\tstruct eth_hash_t *multicast_addr_hash;\n\tstruct eth_hash_t *unicast_addr_hash;\n\tu8 mac_id;\n\tu32 exceptions;\n\tstruct tgec_cfg *cfg;\n\tvoid *fm;\n\tstruct fman_rev_info fm_rev_info;\n\tbool allmulti_enabled;\n};\n\ntypedef void fman_mac_exception_cb___3(struct mac_device *, enum fman_mac_exceptions);\n\nstruct phylink_pcs_ops;\n\nstruct phylink_pcs {\n\tlong unsigned int supported_interfaces[1];\n\tconst struct phylink_pcs_ops *ops;\n\tstruct phylink *phylink;\n\tbool neg_mode;\n\tbool poll;\n\tbool rxc_always_on;\n};\n\nstruct mdio_device;\n\nstruct fman_mac___3 {\n\tstruct dtsec_regs *regs;\n\tu64 addr;\n\tphy_interface_t phy_if;\n\tu16 max_speed;\n\tstruct mac_device *dev_id;\n\tfman_mac_exception_cb___3 *exception_cb;\n\tfman_mac_exception_cb___3 *event_cb;\n\tu8 num_of_ind_addr_in_regs;\n\tstruct eth_hash_t *multicast_addr_hash;\n\tstruct eth_hash_t *unicast_addr_hash;\n\tu8 mac_id;\n\tu32 exceptions;\n\tbool ptp_tsu_enabled;\n\tbool en_tsu_err_exception;\n\tstruct dtsec_cfg *dtsec_drv_param;\n\tvoid *fm;\n\tstruct fman_rev_info fm_rev_info;\n\tbool basex_if;\n\tstruct mdio_device *tbidev;\n\tstruct phylink_pcs pcs;\n};\n\nstruct fman_mac_params {\n\tu8 mac_id;\n\tvoid *fm;\n\tfman_mac_exception_cb___3 *event_cb;\n\tfman_mac_exception_cb___3 *exception_cb;\n};\n\nstruct fman_mac_params___2 {\n\tu8 mac_id;\n\tvoid *fm;\n\tfman_mac_exception_cb *event_cb;\n\tfman_mac_exception_cb *exception_cb;\n};\n\nstruct fman_mac_params___3 {\n\tu8 mac_id;\n\tvoid *fm;\n\tfman_mac_exception_cb___2 *event_cb;\n\tfman_mac_exception_cb___2 *exception_cb;\n};\n\nstruct fman_sp_buffer_offsets {\n\tu32 data_offset;\n\tu32 prs_result_offset;\n\tu32 time_stamp_offset;\n\tu32 hash_result_offset;\n};\n\nstruct fman_port_rsrc {\n\tu32 num;\n\tu32 extra;\n};\n\nstruct fman_port_rx_pools_params {\n\tu8 num_of_pools;\n\tu16 largest_buf_size;\n};\n\nstruct fman_port_dts_params {\n\tvoid *base_addr;\n\tenum fman_port_type type;\n\tu16 speed;\n\tu8 id;\n\tu32 qman_channel_id;\n\tstruct fman *fman;\n};\n\nunion fman_port_bmi_regs;\n\nstruct fman_port_qmi_regs;\n\nstruct fman_port_hwp_regs;\n\nstruct fman_port_cfg;\n\nstruct fman_port {\n\tvoid *fm;\n\tstruct device *dev;\n\tstruct fman_rev_info rev_info;\n\tu8 port_id;\n\tenum fman_port_type port_type;\n\tu16 port_speed;\n\tunion fman_port_bmi_regs *bmi_regs;\n\tstruct fman_port_qmi_regs *qmi_regs;\n\tstruct fman_port_hwp_regs *hwp_regs;\n\tstruct fman_sp_buffer_offsets buffer_offsets;\n\tu8 internal_buf_offset;\n\tstruct fman_ext_pools ext_buf_pools;\n\tu16 max_frame_length;\n\tstruct fman_port_rsrc open_dmas;\n\tstruct fman_port_rsrc tasks;\n\tstruct fman_port_rsrc fifo_bufs;\n\tstruct fman_port_rx_pools_params rx_pools_params;\n\tstruct fman_port_cfg *cfg;\n\tstruct fman_port_dts_params dts_params;\n\tu8 ext_pools_num;\n\tu32 max_port_fifo_size;\n\tu32 max_num_of_ext_pools;\n\tu32 max_num_of_sub_portals;\n\tu32 bm_max_num_of_pools;\n};\n\nstruct fman_port_rx_bmi_regs {\n\tu32 fmbm_rcfg;\n\tu32 fmbm_rst;\n\tu32 fmbm_rda;\n\tu32 fmbm_rfp;\n\tu32 fmbm_rfed;\n\tu32 fmbm_ricp;\n\tu32 fmbm_rim;\n\tu32 fmbm_rebm;\n\tu32 fmbm_rfne;\n\tu32 fmbm_rfca;\n\tu32 fmbm_rfpne;\n\tu32 fmbm_rpso;\n\tu32 fmbm_rpp;\n\tu32 fmbm_rccb;\n\tu32 fmbm_reth;\n\tu32 reserved003c[1];\n\tu32 fmbm_rprai[8];\n\tu32 fmbm_rfqid;\n\tu32 fmbm_refqid;\n\tu32 fmbm_rfsdm;\n\tu32 fmbm_rfsem;\n\tu32 fmbm_rfene;\n\tu32 reserved0074[2];\n\tu32 fmbm_rcmne;\n\tu32 reserved0080[32];\n\tu32 fmbm_ebmpi[8];\n\tu32 fmbm_acnt[8];\n\tu32 reserved0130[8];\n\tu32 fmbm_rcgm[8];\n\tu32 fmbm_mpd;\n\tu32 reserved0184[31];\n\tu32 fmbm_rstc;\n\tu32 fmbm_rfrc;\n\tu32 fmbm_rfbc;\n\tu32 fmbm_rlfc;\n\tu32 fmbm_rffc;\n\tu32 fmbm_rfdc;\n\tu32 fmbm_rfldec;\n\tu32 fmbm_rodc;\n\tu32 fmbm_rbdc;\n\tu32 fmbm_rpec;\n\tu32 reserved0224[22];\n\tu32 fmbm_rpc;\n\tu32 fmbm_rpcp;\n\tu32 fmbm_rccn;\n\tu32 fmbm_rtuc;\n\tu32 fmbm_rrquc;\n\tu32 fmbm_rduc;\n\tu32 fmbm_rfuc;\n\tu32 fmbm_rpac;\n\tu32 reserved02a0[24];\n\tu32 fmbm_rdcfg[3];\n\tu32 fmbm_rgpr;\n\tu32 reserved0310[58];\n};\n\nstruct fman_port_tx_bmi_regs {\n\tu32 fmbm_tcfg;\n\tu32 fmbm_tst;\n\tu32 fmbm_tda;\n\tu32 fmbm_tfp;\n\tu32 fmbm_tfed;\n\tu32 fmbm_ticp;\n\tu32 fmbm_tfdne;\n\tu32 fmbm_tfca;\n\tu32 fmbm_tcfqid;\n\tu32 fmbm_tefqid;\n\tu32 fmbm_tfene;\n\tu32 fmbm_trlmts;\n\tu32 fmbm_trlmt;\n\tu32 reserved0034[14];\n\tu32 fmbm_tccb;\n\tu32 fmbm_tfne;\n\tu32 fmbm_tpfcm[2];\n\tu32 fmbm_tcmne;\n\tu32 reserved0080[96];\n\tu32 fmbm_tstc;\n\tu32 fmbm_tfrc;\n\tu32 fmbm_tfdc;\n\tu32 fmbm_tfledc;\n\tu32 fmbm_tfufdc;\n\tu32 fmbm_tbdc;\n\tu32 reserved0218[26];\n\tu32 fmbm_tpc;\n\tu32 fmbm_tpcp;\n\tu32 fmbm_tccn;\n\tu32 fmbm_ttuc;\n\tu32 fmbm_ttcquc;\n\tu32 fmbm_tduc;\n\tu32 fmbm_tfuc;\n\tu32 reserved029c[16];\n\tu32 fmbm_tdcfg[3];\n\tu32 fmbm_tgpr;\n\tu32 reserved0310[58];\n};\n\nunion fman_port_bmi_regs {\n\tstruct fman_port_rx_bmi_regs rx;\n\tstruct fman_port_tx_bmi_regs tx;\n};\n\nstruct fman_port_bpools {\n\tu8 count;\n\tbool counters_enable;\n\tu8 grp_bp_depleted_num;\n\tstruct {\n\t\tu8 bpid;\n\t\tu16 size;\n\t\tbool is_backup;\n\t\tbool grp_bp_depleted;\n\t\tbool single_bp_depleted;\n\t} bpool[8];\n};\n\nstruct fman_sp_buf_margins {\n\tu16 start_margins;\n\tu16 end_margins;\n};\n\nstruct fman_sp_int_context_data_copy {\n\tu16 ext_buf_offset;\n\tu8 int_context_offset;\n\tu16 size;\n};\n\nstruct fman_port_cfg {\n\tu32 dflt_fqid;\n\tu32 err_fqid;\n\tu32 pcd_base_fqid;\n\tu32 pcd_fqs_count;\n\tu8 deq_sp;\n\tbool deq_high_priority;\n\tenum fman_port_deq_type deq_type;\n\tenum fman_port_deq_prefetch deq_prefetch_option;\n\tu16 deq_byte_cnt;\n\tu8 cheksum_last_bytes_ignore;\n\tu8 rx_cut_end_bytes;\n\tstruct fman_buf_pool_depletion buf_pool_depletion;\n\tstruct fman_ext_pools ext_buf_pools;\n\tu32 tx_fifo_min_level;\n\tu32 tx_fifo_low_comf_level;\n\tu32 rx_pri_elevation;\n\tu32 rx_fifo_thr;\n\tstruct fman_sp_buf_margins buf_margins;\n\tu32 int_buf_start_margin;\n\tstruct fman_sp_int_context_data_copy int_context;\n\tu32 discard_mask;\n\tu32 err_mask;\n\tstruct fman_buffer_prefix_content buffer_prefix_content;\n\tbool dont_release_buf;\n\tu8 rx_fd_bits;\n\tu32 tx_fifo_deq_pipeline_depth;\n\tbool errata_A006320;\n\tbool excessive_threshold_register;\n\tbool fmbm_tfne_has_features;\n\tenum fman_port_dma_swap dma_swap_data;\n\tenum fman_port_color color;\n};\n\nstruct fman_port_hwp_regs {\n\tstruct {\n\t\tu32 ssa;\n\t\tu32 lcv;\n\t} pmda[16];\n\tu32 reserved080[222];\n\tu32 fmpr_pcac;\n};\n\nstruct fman_port_init_params {\n\tu8 port_id;\n\tenum fman_port_type port_type;\n\tu16 port_speed;\n\tu16 liodn_offset;\n\tu8 num_of_tasks;\n\tu8 num_of_extra_tasks;\n\tu8 num_of_open_dmas;\n\tu8 num_of_extra_open_dmas;\n\tu32 size_of_fifo;\n\tu32 extra_size_of_fifo;\n\tu8 deq_pipeline_depth;\n\tu16 max_frame_length;\n\tu16 liodn_base;\n};\n\nstruct fman_port_non_rx_params {\n\tu32 err_fqid;\n\tu32 dflt_fqid;\n};\n\nstruct fman_port_rx_params {\n\tu32 err_fqid;\n\tu32 dflt_fqid;\n\tu32 pcd_base_fqid;\n\tu32 pcd_fqs_count;\n\tstruct fman_ext_pools ext_buf_pools;\n};\n\nunion fman_port_specific_params {\n\tstruct fman_port_rx_params rx_params;\n\tstruct fman_port_non_rx_params non_rx_params;\n};\n\nstruct fman_port_params {\n\tvoid *fm;\n\tunion fman_port_specific_params specific_params;\n};\n\nstruct fman_port_qmi_regs {\n\tu32 fmqm_pnc;\n\tu32 fmqm_pns;\n\tu32 fmqm_pnts;\n\tu32 reserved00c[4];\n\tu32 fmqm_pnen;\n\tu32 fmqm_pnetfc;\n\tu32 reserved024[2];\n\tu32 fmqm_pndn;\n\tu32 fmqm_pndc;\n\tu32 fmqm_pndtfc;\n\tu32 fmqm_pndfdc;\n\tu32 fmqm_pndcc;\n};\n\nstruct fman_prs_result {\n\tu8 lpid;\n\tu8 shimr;\n\t__be16 l2r;\n\t__be16 l3r;\n\tu8 l4r;\n\tu8 cplan;\n\t__be16 nxthdr;\n\t__be16 cksum;\n\t__be16 flags_frag_off;\n\tu8 route_type;\n\tu8 rhp_ip_valid;\n\tu8 shim_off[2];\n\tu8 ip_pid_off;\n\tu8 eth_off;\n\tu8 llc_snap_off;\n\tu8 vlan_off[2];\n\tu8 etype_off;\n\tu8 pppoe_off;\n\tu8 mpls_off[2];\n\tu8 ip_off[2];\n\tu8 gre_off;\n\tu8 l4_off;\n\tu8 nxthdr_off;\n};\n\nstruct fman_qmi_regs {\n\tu32 fmqm_gc;\n\tu32 res0004;\n\tu32 fmqm_eie;\n\tu32 fmqm_eien;\n\tu32 fmqm_eif;\n\tu32 fmqm_ie;\n\tu32 fmqm_ien;\n\tu32 fmqm_if;\n\tu32 fmqm_gs;\n\tu32 fmqm_ts;\n\tu32 fmqm_etfc;\n\tu32 fmqm_dtfc;\n\tu32 fmqm_dc0;\n\tu32 fmqm_dc1;\n\tu32 fmqm_dc2;\n\tu32 fmqm_dc3;\n\tu32 fmqm_dfdc;\n\tu32 fmqm_dfcc;\n\tu32 fmqm_dffc;\n\tu32 fmqm_dcc;\n\tu32 res0050[7];\n\tu32 fmqm_tapc;\n\tu32 fmqm_dmcvc;\n\tu32 fmqm_difdcc;\n\tu32 fmqm_da1v;\n\tu32 res007c;\n\tu32 fmqm_dtc;\n\tu32 fmqm_efddd;\n\tu32 res0088[2];\n\tstruct {\n\t\tu32 fmqm_dtcfg1;\n\t\tu32 fmqm_dtval1;\n\t\tu32 fmqm_dtm1;\n\t\tu32 fmqm_dtc1;\n\t\tu32 fmqm_dtcfg2;\n\t\tu32 fmqm_dtval2;\n\t\tu32 fmqm_dtm2;\n\t\tu32 res001c;\n\t} dbg_traps[3];\n\tu8 res00f0[784];\n};\n\nstruct fman_state_struct {\n\tu8 fm_id;\n\tu16 fm_clk_freq;\n\tstruct fman_rev_info rev_info;\n\tbool enabled_time_stamp;\n\tu8 count1_micro_bit;\n\tu8 total_num_of_tasks;\n\tu8 accumulated_num_of_tasks;\n\tu32 accumulated_fifo_size;\n\tu8 accumulated_num_of_open_dmas;\n\tu8 accumulated_num_of_deq_tnums;\n\tu32 exceptions;\n\tu32 extra_fifo_pool_size;\n\tu8 extra_tasks_pool_size;\n\tu8 extra_open_dmas_pool_size;\n\tu16 port_mfl[10];\n\tu16 mac_mfl[10];\n\tu32 fm_iram_size;\n\tu32 dma_thresh_max_commq;\n\tu32 dma_thresh_max_buf;\n\tu32 max_num_of_open_dmas;\n\tu32 qmi_max_num_of_tnums;\n\tu32 qmi_def_tnums_thresh;\n\tu32 bmi_max_num_of_tasks;\n\tu32 bmi_max_fifo_size;\n\tu32 fm_port_num_of_cg;\n\tu32 num_of_rx_ports;\n\tu32 total_fifo_size;\n\tu32 qman_channel_base;\n\tu32 num_of_qman_channels;\n\tstruct resource *res;\n};\n\nstruct fmt {\n\tconst char *str;\n\tunsigned char state;\n\tunsigned char size;\n};\n\nstruct fname {\n\t__u32 hash;\n\t__u32 minor_hash;\n\tstruct rb_node rb_hash;\n\tstruct fname *next;\n\t__u32 inode;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[0];\n};\n\nstruct fnhe_hash_bucket {\n\tstruct fib_nh_exception *chain;\n};\n\nstruct focaltech_finger_state {\n\tbool active;\n\tbool valid;\n\tunsigned int x;\n\tunsigned int y;\n};\n\nstruct focaltech_hw_state {\n\tstruct focaltech_finger_state fingers[5];\n\tunsigned int width;\n\tbool pressed;\n};\n\nstruct focaltech_data {\n\tunsigned int x_max;\n\tunsigned int y_max;\n\tstruct focaltech_hw_state state;\n};\n\nstruct page {\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct list_head lru;\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *__filler;\n\t\t\t\t\tunsigned int mlock_count;\n\t\t\t\t};\n\t\t\t\tstruct list_head buddy_list;\n\t\t\t\tstruct list_head pcp_list;\n\t\t\t};\n\t\t\tstruct address_space *mapping;\n\t\t\tunion {\n\t\t\t\tlong unsigned int index;\n\t\t\t\tlong unsigned int share;\n\t\t\t};\n\t\t\tlong unsigned int private;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int pp_magic;\n\t\t\tstruct page_pool *pp;\n\t\t\tlong unsigned int _pp_mapping_pad;\n\t\t\tlong unsigned int dma_addr;\n\t\t\tatomic_long_t pp_ref_count;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int compound_head;\n\t\t};\n\t\tstruct {\n\t\t\tstruct dev_pagemap *pgmap;\n\t\t\tvoid *zone_device_data;\n\t\t};\n\t\tstruct callback_head callback_head;\n\t};\n\tunion {\n\t\tunsigned int page_type;\n\t\tatomic_t _mapcount;\n\t};\n\tatomic_t _refcount;\n\tlong unsigned int memcg_data;\n};\n\nstruct folio {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int flags;\n\t\t\tunion {\n\t\t\t\tstruct list_head lru;\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *__filler;\n\t\t\t\t\tunsigned int mlock_count;\n\t\t\t\t};\n\t\t\t};\n\t\t\tstruct address_space *mapping;\n\t\t\tlong unsigned int index;\n\t\t\tunion {\n\t\t\t\tvoid *private;\n\t\t\t\tswp_entry_t swap;\n\t\t\t};\n\t\t\tatomic_t _mapcount;\n\t\t\tatomic_t _refcount;\n\t\t\tlong unsigned int memcg_data;\n\t\t};\n\t\tstruct page page;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _flags_1;\n\t\t\tlong unsigned int _head_1;\n\t\t\tatomic_t _large_mapcount;\n\t\t\tatomic_t _entire_mapcount;\n\t\t\tatomic_t _nr_pages_mapped;\n\t\t\tatomic_t _pincount;\n\t\t\tunsigned int _folio_nr_pages;\n\t\t};\n\t\tstruct page __page_1;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _flags_2;\n\t\t\tlong unsigned int _head_2;\n\t\t\tvoid *_hugetlb_subpool;\n\t\t\tvoid *_hugetlb_cgroup;\n\t\t\tvoid *_hugetlb_cgroup_rsvd;\n\t\t\tvoid *_hugetlb_hwpoison;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int _flags_2a;\n\t\t\tlong unsigned int _head_2a;\n\t\t\tstruct list_head _deferred_list;\n\t\t};\n\t\tstruct page __page_2;\n\t};\n};\n\nstruct folio_iter {\n\tstruct folio *folio;\n\tsize_t offset;\n\tsize_t length;\n\tstruct folio *_next;\n\tsize_t _seg_count;\n\tint _i;\n};\n\nstruct folio_queue {\n\tstruct folio_batch vec;\n\tu8 orders[31];\n\tstruct folio_queue *next;\n\tstruct folio_queue *prev;\n\tlong unsigned int marks;\n\tlong unsigned int marks2;\n\tlong unsigned int marks3;\n\tunsigned int rreq_id;\n\tunsigned int debug_id;\n};\n\nstruct folio_referenced_arg {\n\tint mapcount;\n\tint referenced;\n\tlong unsigned int vm_flags;\n\tstruct mem_cgroup *memcg;\n};\n\nstruct folio_walk {\n\tstruct page *page;\n\tenum folio_walk_level level;\n\tunion {\n\t\tpte_t *ptep;\n\t\tpud_t *pudp;\n\t\tpmd_t *pmdp;\n\t};\n\tunion {\n\t\tpte_t pte;\n\t\tpud_t pud;\n\t\tpmd_t pmd;\n\t};\n\tstruct vm_area_struct *vma;\n\tspinlock_t *ptl;\n};\n\nstruct follow_page_context {\n\tstruct dev_pagemap *pgmap;\n\tunsigned int page_mask;\n};\n\nstruct follow_pfnmap_args {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int address;\n\tspinlock_t *lock;\n\tpte_t *ptep;\n\tlong unsigned int pfn;\n\tpgprot_t pgprot;\n\tbool writable;\n\tbool special;\n};\n\nstruct font_data {\n\tunsigned int extra[4];\n\tconst unsigned char data[0];\n};\n\nstruct font_desc {\n\tint idx;\n\tconst char *name;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tconst void *data;\n\tint pref;\n};\n\nstruct memory_block;\n\ntypedef int (*walk_memory_blocks_func_t)(struct memory_block *, void *);\n\nstruct for_each_memory_block_cb_data {\n\twalk_memory_blocks_func_t func;\n\tvoid *arg;\n};\n\nstruct format_state___2 {\n\tunsigned char state;\n\tunsigned char size;\n\tunsigned char flags_or_double_size;\n\tunsigned char base;\n};\n\nstruct fown_struct {\n\tstruct file *file;\n\trwlock_t lock;\n\tstruct pid *pid;\n\tenum pid_type pid_type;\n\tkuid_t uid;\n\tkuid_t euid;\n\tint signum;\n};\n\nstruct fpga_compat_id {\n\tu64 id_h;\n\tu64 id_l;\n};\n\nstruct fpga_image_info {\n\tu32 flags;\n\tu32 enable_timeout_us;\n\tu32 disable_timeout_us;\n\tu32 config_complete_timeout_us;\n\tchar *firmware_name;\n\tstruct sg_table *sgt;\n\tconst char *buf;\n\tsize_t count;\n\tsize_t header_size;\n\tsize_t data_size;\n\tint region_id;\n\tstruct device *dev;\n\tstruct device_node *overlay;\n};\n\nstruct fpga_manager_ops;\n\nstruct fpga_manager {\n\tconst char *name;\n\tstruct device dev;\n\tstruct mutex ref_mutex;\n\tenum fpga_mgr_states state;\n\tstruct fpga_compat_id *compat_id;\n\tconst struct fpga_manager_ops *mops;\n\tstruct module *mops_owner;\n\tvoid *priv;\n};\n\nstruct fpga_manager_info {\n\tconst char *name;\n\tstruct fpga_compat_id *compat_id;\n\tconst struct fpga_manager_ops *mops;\n\tvoid *priv;\n};\n\nstruct fpga_manager_ops {\n\tsize_t initial_header_size;\n\tbool skip_header;\n\tenum fpga_mgr_states (*state)(struct fpga_manager *);\n\tu64 (*status)(struct fpga_manager *);\n\tint (*parse_header)(struct fpga_manager *, struct fpga_image_info *, const char *, size_t);\n\tint (*write_init)(struct fpga_manager *, struct fpga_image_info *, const char *, size_t);\n\tint (*write)(struct fpga_manager *, const char *, size_t);\n\tint (*write_sg)(struct fpga_manager *, struct sg_table *);\n\tint (*write_complete)(struct fpga_manager *, struct fpga_image_info *);\n\tvoid (*fpga_remove)(struct fpga_manager *);\n\tconst struct attribute_group **groups;\n};\n\nstruct fpga_mgr_devres {\n\tstruct fpga_manager *mgr;\n};\n\nstruct fpmr_context {\n\tstruct _aarch64_ctx head;\n\t__u64 fpmr;\n};\n\nstruct fprop_global {\n\tstruct percpu_counter events;\n\tunsigned int period;\n\tseqcount_t sequence;\n};\n\nstruct fpsimd_context {\n\tstruct _aarch64_ctx head;\n\t__u32 fpsr;\n\t__u32 fpcr;\n\t__int128 unsigned vregs[32];\n};\n\ntypedef u32 (*rht_hashfn_t)(const void *, u32, u32);\n\ntypedef u32 (*rht_obj_hashfn_t)(const void *, u32, u32);\n\nstruct rhashtable_compare_arg;\n\ntypedef int (*rht_obj_cmpfn_t)(struct rhashtable_compare_arg *, const void *);\n\nstruct rhashtable_params {\n\tu16 nelem_hint;\n\tu16 key_len;\n\tu16 key_offset;\n\tu16 head_offset;\n\tunsigned int max_size;\n\tu16 min_size;\n\tbool automatic_shrinking;\n\trht_hashfn_t hashfn;\n\trht_obj_hashfn_t obj_hashfn;\n\trht_obj_cmpfn_t obj_cmpfn;\n};\n\nstruct rhashtable {\n\tstruct bucket_table *tbl;\n\tunsigned int key_len;\n\tunsigned int max_elems;\n\tstruct rhashtable_params p;\n\tbool rhlist;\n\tstruct work_struct run_work;\n\tstruct mutex mutex;\n\tspinlock_t lock;\n\tatomic_t nelems;\n};\n\nstruct inet_frags;\n\nstruct fqdir {\n\tlong int high_thresh;\n\tlong int low_thresh;\n\tint timeout;\n\tint max_dist;\n\tstruct inet_frags *f;\n\tstruct net *net;\n\tbool dead;\n\tlong: 64;\n\tlong: 64;\n\tstruct rhashtable rhashtable;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_long_t mem;\n\tstruct work_struct destroy_work;\n\tstruct llist_node free_list;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct frac_entry {\n\tint num;\n\tint den;\n};\n\nstruct frag_hdr {\n\t__u8 nexthdr;\n\t__u8 reserved;\n\t__be16 frag_off;\n\t__be32 identification;\n};\n\nstruct frag_v4_compare_key {\n\t__be32 saddr;\n\t__be32 daddr;\n\tu32 user;\n\tu32 vif;\n\t__be16 id;\n\tu16 protocol;\n};\n\nstruct frag_v6_compare_key {\n\tstruct in6_addr saddr;\n\tstruct in6_addr daddr;\n\tu32 user;\n\t__be32 id;\n\tu32 iif;\n};\n\nstruct frags_info {\n\t__le32 addr;\n\t__le32 size;\n};\n\nstruct frame_tail {\n\tstruct frame_tail *fp;\n\tlong unsigned int lr;\n};\n\nstruct freader {\n\tvoid *buf;\n\tu32 buf_sz;\n\tint err;\n\tunion {\n\t\tstruct {\n\t\t\tstruct file *file;\n\t\t\tstruct folio *folio;\n\t\t\tvoid *addr;\n\t\t\tloff_t folio_off;\n\t\t\tbool may_fault;\n\t\t};\n\t\tstruct {\n\t\t\tconst char *data;\n\t\t\tu64 data_sz;\n\t\t};\n\t};\n};\n\nstruct free_area {\n\tstruct list_head free_list[6];\n\tlong unsigned int nr_free;\n};\n\nstruct freezer {\n\tstruct cgroup_subsys_state css;\n\tunsigned int state;\n};\n\nstruct freq_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpufreq_policy *, char *);\n\tssize_t (*store)(struct cpufreq_policy *, const char *, size_t);\n};\n\nstruct freq_conf {\n\tu8 src;\n\tu8 pre_div;\n\tu16 m;\n\tu16 n;\n};\n\nstruct freq_multi_tbl {\n\tlong unsigned int freq;\n\tsize_t num_confs;\n\tconst struct freq_conf *confs;\n};\n\nstruct freq_tbl {\n\tlong unsigned int freq;\n\tu8 src;\n\tu8 pre_div;\n\tu16 m;\n\tu16 n;\n};\n\nstruct p_log {\n\tconst char *prefix;\n\tstruct fc_log *log;\n};\n\nstruct fs_context_operations;\n\nstruct fs_context {\n\tconst struct fs_context_operations *ops;\n\tstruct mutex uapi_mutex;\n\tstruct file_system_type *fs_type;\n\tvoid *fs_private;\n\tvoid *sget_key;\n\tstruct dentry *root;\n\tstruct user_namespace *user_ns;\n\tstruct net *net_ns;\n\tconst struct cred *cred;\n\tstruct p_log log;\n\tconst char *source;\n\tvoid *security;\n\tvoid *s_fs_info;\n\tunsigned int sb_flags;\n\tunsigned int sb_flags_mask;\n\tunsigned int s_iflags;\n\tenum fs_context_purpose purpose: 8;\n\tenum fs_context_phase phase: 8;\n\tbool need_free: 1;\n\tbool global: 1;\n\tbool oldapi: 1;\n\tbool exclusive: 1;\n};\n\nstruct fs_parameter;\n\nstruct fs_context_operations {\n\tvoid (*free)(struct fs_context *);\n\tint (*dup)(struct fs_context *, struct fs_context *);\n\tint (*parse_param)(struct fs_context *, struct fs_parameter *);\n\tint (*parse_monolithic)(struct fs_context *, void *);\n\tint (*get_tree)(struct fs_context *);\n\tint (*reconfigure)(struct fs_context *);\n};\n\nstruct fs_disk_quota {\n\t__s8 d_version;\n\t__s8 d_flags;\n\t__u16 d_fieldmask;\n\t__u32 d_id;\n\t__u64 d_blk_hardlimit;\n\t__u64 d_blk_softlimit;\n\t__u64 d_ino_hardlimit;\n\t__u64 d_ino_softlimit;\n\t__u64 d_bcount;\n\t__u64 d_icount;\n\t__s32 d_itimer;\n\t__s32 d_btimer;\n\t__u16 d_iwarns;\n\t__u16 d_bwarns;\n\t__s8 d_itimer_hi;\n\t__s8 d_btimer_hi;\n\t__s8 d_rtbtimer_hi;\n\t__s8 d_padding2;\n\t__u64 d_rtb_hardlimit;\n\t__u64 d_rtb_softlimit;\n\t__u64 d_rtbcount;\n\t__s32 d_rtbtimer;\n\t__u16 d_rtbwarns;\n\t__s16 d_padding3;\n\tchar d_padding4[8];\n};\n\nstruct fs_error_report {\n\tint error;\n\tstruct inode *inode;\n\tstruct super_block *sb;\n};\n\nstruct fs_parameter {\n\tconst char *key;\n\tenum fs_value_type type: 8;\n\tunion {\n\t\tchar *string;\n\t\tvoid *blob;\n\t\tstruct filename *name;\n\t\tstruct file *file;\n\t};\n\tsize_t size;\n\tint dirfd;\n};\n\nstruct fs_parse_result;\n\ntypedef int fs_param_type(struct p_log *, const struct fs_parameter_spec *, struct fs_parameter *, struct fs_parse_result *);\n\nstruct fs_parameter_spec {\n\tconst char *name;\n\tfs_param_type *type;\n\tu8 opt;\n\tshort unsigned int flags;\n\tconst void *data;\n};\n\nstruct fs_parse_result {\n\tbool negated;\n\tunion {\n\t\tbool boolean;\n\t\tint int_32;\n\t\tunsigned int uint_32;\n\t\tu64 uint_64;\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t};\n};\n\nstruct fs_qfilestat {\n\t__u64 qfs_ino;\n\t__u64 qfs_nblks;\n\t__u32 qfs_nextents;\n};\n\ntypedef struct fs_qfilestat fs_qfilestat_t;\n\nstruct fs_qfilestatv {\n\t__u64 qfs_ino;\n\t__u64 qfs_nblks;\n\t__u32 qfs_nextents;\n\t__u32 qfs_pad;\n};\n\nstruct fs_quota_stat {\n\t__s8 qs_version;\n\t__u16 qs_flags;\n\t__s8 qs_pad;\n\tfs_qfilestat_t qs_uquota;\n\tfs_qfilestat_t qs_gquota;\n\t__u32 qs_incoredqs;\n\t__s32 qs_btimelimit;\n\t__s32 qs_itimelimit;\n\t__s32 qs_rtbtimelimit;\n\t__u16 qs_bwarnlimit;\n\t__u16 qs_iwarnlimit;\n};\n\nstruct fs_quota_statv {\n\t__s8 qs_version;\n\t__u8 qs_pad1;\n\t__u16 qs_flags;\n\t__u32 qs_incoredqs;\n\tstruct fs_qfilestatv qs_uquota;\n\tstruct fs_qfilestatv qs_gquota;\n\tstruct fs_qfilestatv qs_pquota;\n\t__s32 qs_btimelimit;\n\t__s32 qs_itimelimit;\n\t__s32 qs_rtbtimelimit;\n\t__u16 qs_bwarnlimit;\n\t__u16 qs_iwarnlimit;\n\t__u16 qs_rtbwarnlimit;\n\t__u16 qs_pad3;\n\t__u32 qs_pad4;\n\t__u64 qs_pad2[7];\n};\n\nstruct fs_struct {\n\tint users;\n\tspinlock_t lock;\n\tseqcount_spinlock_t seq;\n\tint umask;\n\tint in_exec;\n\tstruct path root;\n\tstruct path pwd;\n};\n\nstruct fs_sysfs_path {\n\t__u8 len;\n\t__u8 name[128];\n};\n\nstruct fscache_cache_ops;\n\nstruct fscache_cache {\n\tconst struct fscache_cache_ops *ops;\n\tstruct list_head cache_link;\n\tvoid *cache_priv;\n\trefcount_t ref;\n\tatomic_t n_volumes;\n\tatomic_t n_accesses;\n\tatomic_t object_count;\n\tunsigned int debug_id;\n\tenum fscache_cache_state state;\n\tchar *name;\n};\n\nstruct fscache_volume;\n\nstruct fscache_cookie;\n\nstruct netfs_cache_resources;\n\nstruct fscache_cache_ops {\n\tconst char *name;\n\tvoid (*acquire_volume)(struct fscache_volume *);\n\tvoid (*free_volume)(struct fscache_volume *);\n\tbool (*lookup_cookie)(struct fscache_cookie *);\n\tvoid (*withdraw_cookie)(struct fscache_cookie *);\n\tvoid (*resize_cookie)(struct netfs_cache_resources *, loff_t);\n\tbool (*invalidate_cookie)(struct fscache_cookie *);\n\tbool (*begin_operation)(struct netfs_cache_resources *, enum fscache_want_state);\n\tvoid (*prepare_to_write)(struct fscache_cookie *);\n};\n\nstruct fscache_cookie {\n\trefcount_t ref;\n\tatomic_t n_active;\n\tatomic_t n_accesses;\n\tunsigned int debug_id;\n\tunsigned int inval_counter;\n\tspinlock_t lock;\n\tstruct fscache_volume *volume;\n\tvoid *cache_priv;\n\tstruct hlist_bl_node hash_link;\n\tstruct list_head proc_link;\n\tstruct list_head commit_link;\n\tstruct work_struct work;\n\tloff_t object_size;\n\tlong unsigned int unused_at;\n\tlong unsigned int flags;\n\tenum fscache_cookie_state state;\n\tu8 advice;\n\tu8 key_len;\n\tu8 aux_len;\n\tu32 key_hash;\n\tunion {\n\t\tvoid *key;\n\t\tu8 inline_key[16];\n\t};\n\tunion {\n\t\tvoid *aux;\n\t\tu8 inline_aux[8];\n\t};\n};\n\nstruct fscache_volume {\n\trefcount_t ref;\n\tatomic_t n_cookies;\n\tatomic_t n_accesses;\n\tunsigned int debug_id;\n\tunsigned int key_hash;\n\tu8 *key;\n\tstruct list_head proc_link;\n\tstruct hlist_bl_node hash_link;\n\tstruct work_struct work;\n\tstruct fscache_cache *cache;\n\tvoid *cache_priv;\n\tspinlock_t lock;\n\tlong unsigned int flags;\n\tu8 coherency_len;\n\tu8 coherency[0];\n};\n\nstruct fscrypt_name {\n\tconst struct qstr *usr_fname;\n\tstruct fscrypt_str disk_name;\n\tu32 hash;\n\tu32 minor_hash;\n\tstruct fscrypt_str crypto_buf;\n\tbool is_nokey_name;\n};\n\nstruct fsl8250_data {\n\tint line;\n};\n\nstruct spi_message;\n\nstruct fsl_dspi_devtype_data;\n\nstruct fsl_dspi_dma;\n\nstruct fsl_dspi {\n\tstruct spi_controller *ctlr;\n\tstruct platform_device *pdev;\n\tstruct regmap *regmap;\n\tstruct regmap *regmap_pushr;\n\tint irq;\n\tstruct clk *clk;\n\tstruct spi_transfer *cur_transfer;\n\tstruct spi_message *cur_msg;\n\tstruct chip_data___2 *cur_chip;\n\tsize_t progress;\n\tsize_t len;\n\tconst void *tx;\n\tvoid *rx;\n\tu16 tx_cmd;\n\tconst struct fsl_dspi_devtype_data *devtype_data;\n\tstruct completion xfer_done;\n\tstruct fsl_dspi_dma *dma;\n\tint oper_word_size;\n\tint oper_bits_per_word;\n\tint words_in_flight;\n\tint pushr_cmd;\n\tint pushr_tx;\n\tvoid (*host_to_dev)(struct fsl_dspi *, u32 *);\n\tvoid (*dev_to_host)(struct fsl_dspi *, u32);\n};\n\nstruct fsl_dspi_devtype_data {\n\tenum dspi_trans_mode trans_mode;\n\tu8 max_clock_factor;\n\tint fifo_size;\n};\n\nstruct fsl_dspi_dma {\n\tu32 *tx_dma_buf;\n\tstruct dma_chan *chan_tx;\n\tdma_addr_t tx_dma_phys;\n\tstruct completion cmd_tx_complete;\n\tstruct dma_async_tx_descriptor *tx_desc;\n\tu32 *rx_dma_buf;\n\tstruct dma_chan *chan_rx;\n\tdma_addr_t rx_dma_phys;\n\tstruct completion cmd_rx_complete;\n\tstruct dma_async_tx_descriptor *rx_desc;\n};\n\nstruct fsl_dspi_platform_data {\n\tu32 cs_num;\n\tu32 bus_num;\n\tu32 sck_cs_delay;\n\tu32 cs_sck_delay;\n};\n\nstruct fsl_edma_hw_tcd {\n\t__le32 saddr;\n\t__le16 soff;\n\t__le16 attr;\n\t__le32 nbytes;\n\t__le32 slast;\n\t__le32 daddr;\n\t__le16 doff;\n\t__le16 citer;\n\t__le32 dlast_sga;\n\t__le16 csr;\n\t__le16 biter;\n};\n\nstruct fsl_edma_hw_tcd64 {\n\t__le64 saddr;\n\t__le16 soff;\n\t__le16 attr;\n\t__le32 nbytes;\n\t__le64 slast;\n\t__le64 daddr;\n\t__le64 dlast_sga;\n\t__le16 doff;\n\t__le16 citer;\n\t__le16 csr;\n\t__le16 biter;\n};\n\nstruct fsl_edma3_ch_reg {\n\t__le32 ch_csr;\n\t__le32 ch_es;\n\t__le32 ch_int;\n\t__le32 ch_sbr;\n\t__le32 ch_pri;\n\t__le32 ch_mux;\n\t__le32 ch_mattr;\n\t__le32 ch_reserved;\n\tunion {\n\t\tstruct fsl_edma_hw_tcd tcd;\n\t\tstruct fsl_edma_hw_tcd64 tcd64;\n\t};\n};\n\nstruct fsl_edma_engine;\n\nstruct fsl_edma_desc;\n\nstruct fsl_edma_chan {\n\tstruct virt_dma_chan vchan;\n\tenum dma_status status;\n\tenum fsl_edma_pm_state pm_state;\n\tstruct fsl_edma_engine *edma;\n\tstruct fsl_edma_desc *edesc;\n\tstruct dma_slave_config cfg;\n\tu32 attr;\n\tbool is_sw;\n\tstruct dma_pool *tcd_pool;\n\tdma_addr_t dma_dev_addr;\n\tu32 dma_dev_size;\n\tenum dma_data_direction dma_dir;\n\tchar chan_name[32];\n\tvoid *tcd;\n\tvoid *mux_addr;\n\tu32 real_count;\n\tstruct work_struct issue_worker;\n\tstruct platform_device *pdev;\n\tstruct device *pd_dev;\n\tstruct device_link *pd_dev_link;\n\tu32 srcid;\n\tstruct clk *clk;\n\tint priority;\n\tint hw_chanid;\n\tint txirq;\n\tirqreturn_t (*irq_handler)(int, void *);\n\tbool is_rxchan;\n\tbool is_remote;\n\tbool is_multi_fifo;\n};\n\nstruct fsl_edma_sw_tcd {\n\tdma_addr_t ptcd;\n\tvoid *vtcd;\n};\n\nstruct fsl_edma_desc {\n\tstruct virt_dma_desc vdesc;\n\tstruct fsl_edma_chan *echan;\n\tbool iscyclic;\n\tenum dma_transfer_direction dirn;\n\tunsigned int n_tcds;\n\tstruct fsl_edma_sw_tcd tcd[0];\n};\n\nstruct fsl_edma_drvdata {\n\tu32 dmamuxs;\n\tu32 chreg_off;\n\tu32 chreg_space_sz;\n\tu32 flags;\n\tu32 mux_off;\n\tu32 mux_skip;\n\tint (*setup_irq)(struct platform_device *, struct fsl_edma_engine *);\n};\n\nstruct fsl_edma_engine {\n\tstruct dma_device dma_dev;\n\tvoid *membase;\n\tvoid *muxbase[2];\n\tstruct clk *muxclk[2];\n\tstruct clk *dmaclk;\n\tstruct mutex fsl_edma_mutex;\n\tconst struct fsl_edma_drvdata *drvdata;\n\tu32 n_chans;\n\tint txirq;\n\tint txirq_16_31;\n\tint errirq;\n\tbool big_endian;\n\tstruct edma_regs regs;\n\tu64 chan_masked;\n\tstruct fsl_edma_chan chans[0];\n};\n\nstruct fsl_gpio_soc_data {\n\tbool have_paddr;\n\tbool have_dual_base;\n};\n\nstruct fsl_ifc_global;\n\nstruct fsl_ifc_runtime;\n\nstruct fsl_ifc_ctrl {\n\tstruct device *dev;\n\tstruct fsl_ifc_global *gregs;\n\tstruct fsl_ifc_runtime *rregs;\n\tint irq;\n\tint nand_irq;\n\tspinlock_t lock;\n\tvoid *nand;\n\tint version;\n\tint banks;\n\tu32 nand_stat;\n\twait_queue_head_t nand_wait;\n\tbool little_endian;\n};\n\nstruct fsl_ifc_global {\n\t__be32 ifc_rev;\n\tu32 res1[2];\n\tstruct {\n\t\t__be32 cspr_ext;\n\t\t__be32 cspr;\n\t\tu32 res2;\n\t} cspr_cs[8];\n\tu32 res3[13];\n\tstruct {\n\t\t__be32 amask;\n\t\tu32 res4[2];\n\t} amask_cs[8];\n\tu32 res5[12];\n\tstruct {\n\t\t__be32 csor;\n\t\t__be32 csor_ext;\n\t\tu32 res6;\n\t} csor_cs[8];\n\tu32 res7[12];\n\tstruct {\n\t\t__be32 ftim[4];\n\t\tu32 res8[8];\n\t} ftim_cs[8];\n\tu32 res9[48];\n\t__be32 rb_stat;\n\t__be32 rb_map;\n\t__be32 wb_map;\n\t__be32 ifc_gcr;\n\tu32 res10[2];\n\t__be32 cm_evter_stat;\n\tu32 res11[2];\n\t__be32 cm_evter_en;\n\tu32 res12[2];\n\t__be32 cm_evter_intr_en;\n\tu32 res13[2];\n\t__be32 cm_erattr0;\n\t__be32 cm_erattr1;\n\tu32 res14[2];\n\t__be32 ifc_ccr;\n\t__be32 ifc_csr;\n\t__be32 ddr_ccr_low;\n};\n\nstruct fsl_ifc_gpcm {\n\t__be32 gpcm_evter_stat;\n\tu32 res1[2];\n\t__be32 gpcm_evter_en;\n\tu32 res2[2];\n\t__be32 gpcm_evter_intr_en;\n\tu32 res3[2];\n\t__be32 gpcm_erattr0;\n\t__be32 gpcm_erattr1;\n\t__be32 gpcm_erattr2;\n\t__be32 gpcm_stat;\n};\n\nstruct fsl_ifc_mtd {\n\tstruct nand_chip chip;\n\tstruct fsl_ifc_ctrl *ctrl;\n\tstruct device *dev;\n\tint bank;\n\tunsigned int bufnum_mask;\n\tu8 *vbase;\n};\n\nstruct fsl_ifc_nand {\n\t__be32 ncfgr;\n\tu32 res1[4];\n\t__be32 nand_fcr0;\n\t__be32 nand_fcr1;\n\tu32 res2[8];\n\t__be32 row0;\n\tu32 res3;\n\t__be32 col0;\n\tu32 res4;\n\t__be32 row1;\n\tu32 res5;\n\t__be32 col1;\n\tu32 res6;\n\t__be32 row2;\n\tu32 res7;\n\t__be32 col2;\n\tu32 res8;\n\t__be32 row3;\n\tu32 res9;\n\t__be32 col3;\n\tu32 res10[36];\n\t__be32 nand_fbcr;\n\tu32 res11;\n\t__be32 nand_fir0;\n\t__be32 nand_fir1;\n\t__be32 nand_fir2;\n\tu32 res12[16];\n\t__be32 nand_csel;\n\tu32 res13;\n\t__be32 nandseq_strt;\n\tu32 res14;\n\t__be32 nand_evter_stat;\n\tu32 res15;\n\t__be32 pgrdcmpl_evt_stat;\n\tu32 res16[2];\n\t__be32 nand_evter_en;\n\tu32 res17[2];\n\t__be32 nand_evter_intr_en;\n\t__be32 nand_vol_addr_stat;\n\tu32 res18;\n\t__be32 nand_erattr0;\n\t__be32 nand_erattr1;\n\tu32 res19[16];\n\t__be32 nand_fsr;\n\tu32 res20;\n\t__be32 nand_eccstat[8];\n\tu32 res21[28];\n\t__be32 nanndcr;\n\tu32 res22[2];\n\t__be32 nand_autoboot_trgr;\n\tu32 res23;\n\t__be32 nand_mdr;\n\tu32 res24[28];\n\t__be32 nand_dll_lowcfg0;\n\t__be32 nand_dll_lowcfg1;\n\tu32 res25;\n\t__be32 nand_dll_lowstat;\n\tu32 res26[60];\n};\n\nstruct fsl_ifc_nand_ctrl {\n\tstruct nand_controller controller;\n\tstruct fsl_ifc_mtd *chips[8];\n\tvoid *addr;\n\tunsigned int page;\n\tunsigned int read_bytes;\n\tunsigned int column;\n\tunsigned int index;\n\tunsigned int oob;\n\tunsigned int eccread;\n\tunsigned int counter;\n\tunsigned int max_bitflips;\n};\n\nstruct fsl_ifc_nor {\n\t__be32 nor_evter_stat;\n\tu32 res1[2];\n\t__be32 nor_evter_en;\n\tu32 res2[2];\n\t__be32 nor_evter_intr_en;\n\tu32 res3[2];\n\t__be32 nor_erattr0;\n\t__be32 nor_erattr1;\n\t__be32 nor_erattr2;\n\tu32 res4[4];\n\t__be32 norcr;\n\tu32 res5[239];\n};\n\nstruct fsl_ifc_runtime {\n\tstruct fsl_ifc_nand ifc_nand;\n\tstruct fsl_ifc_nor ifc_nor;\n\tstruct fsl_ifc_gpcm ifc_gpcm;\n};\n\nstruct lpspi_config {\n\tu8 bpw;\n\tu8 chip_select;\n\tu8 prescale;\n\tu16 mode;\n\tu32 speed_hz;\n\tu32 effective_speed_hz;\n};\n\nstruct fsl_lpspi_devtype_data;\n\nstruct fsl_lpspi_data {\n\tstruct device *dev;\n\tvoid *base;\n\tlong unsigned int base_phys;\n\tstruct clk *clk_ipg;\n\tstruct clk *clk_per;\n\tbool is_target;\n\tbool is_only_cs1;\n\tbool is_first_byte;\n\tvoid *rx_buf;\n\tconst void *tx_buf;\n\tvoid (*tx)(struct fsl_lpspi_data *);\n\tvoid (*rx)(struct fsl_lpspi_data *);\n\tu32 remain;\n\tu8 watermark;\n\tu8 txfifosize;\n\tu8 rxfifosize;\n\tstruct lpspi_config config;\n\tstruct completion xfer_done;\n\tbool target_aborted;\n\tbool usedma;\n\tstruct completion dma_rx_completion;\n\tstruct completion dma_tx_completion;\n\tconst struct fsl_lpspi_devtype_data *devtype_data;\n};\n\nstruct fsl_lpspi_devtype_data {\n\tu8 prescale_max;\n};\n\nstruct fsl_mc_addr_translation_range;\n\nstruct fsl_mc {\n\tstruct fsl_mc_device *root_mc_bus_dev;\n\tu8 num_translation_ranges;\n\tstruct fsl_mc_addr_translation_range *translation_ranges;\n\tvoid *fsl_mc_regs;\n};\n\nstruct fsl_mc_addr_translation_range {\n\tenum dprc_region_type mc_region_type;\n\tu64 start_mc_offset;\n\tu64 end_mc_offset;\n\tphys_addr_t start_phys_addr;\n};\n\nstruct fsl_mc_obj_desc {\n\tchar type[16];\n\tint id;\n\tu16 vendor;\n\tu16 ver_major;\n\tu16 ver_minor;\n\tu8 irq_count;\n\tu8 region_count;\n\tu32 state;\n\tchar label[16];\n\tu16 flags;\n};\n\nstruct fsl_mc_device_irq;\n\nstruct fsl_mc_resource;\n\nstruct fsl_mc_device {\n\tstruct device dev;\n\tu64 dma_mask;\n\tu16 flags;\n\tu32 icid;\n\tu16 mc_handle;\n\tstruct fsl_mc_io *mc_io;\n\tstruct fsl_mc_obj_desc obj_desc;\n\tstruct resource *regions;\n\tstruct fsl_mc_device_irq **irqs;\n\tstruct fsl_mc_resource *resource;\n\tstruct device_link *consumer_link;\n\tconst char *driver_override;\n};\n\nstruct fsl_mc_bus;\n\nstruct fsl_mc_resource_pool {\n\tenum fsl_mc_pool_type type;\n\tint max_count;\n\tint free_count;\n\tstruct mutex mutex;\n\tstruct list_head free_list;\n\tstruct fsl_mc_bus *mc_bus;\n};\n\nstruct miscdevice {\n\tint minor;\n\tconst char *name;\n\tconst struct file_operations *fops;\n\tstruct list_head list;\n\tstruct device *parent;\n\tstruct device *this_device;\n\tconst struct attribute_group **groups;\n\tconst char *nodename;\n\tumode_t mode;\n};\n\nstruct fsl_mc_uapi {\n\tstruct miscdevice misc;\n\tstruct device *device;\n\tstruct mutex mutex;\n\tu32 local_instance_in_use;\n\tstruct fsl_mc_io *static_mc_io;\n};\n\nstruct fsl_mc_bus {\n\tstruct fsl_mc_device mc_dev;\n\tstruct fsl_mc_resource_pool resource_pools[4];\n\tstruct fsl_mc_device_irq *irq_resources;\n\tstruct mutex scan_mutex;\n\tstruct dprc_attributes dprc_attr;\n\tstruct fsl_mc_uapi uapi_misc;\n\tint irq_enabled;\n};\n\nstruct fsl_mc_child_objs {\n\tint child_count;\n\tstruct fsl_mc_obj_desc *child_array;\n};\n\nstruct fsl_mc_command {\n\t__le64 header;\n\t__le64 params[7];\n};\n\nstruct fsl_mc_device_id {\n\t__u16 vendor;\n\tconst char obj_type[16];\n};\n\nstruct fsl_mc_resource {\n\tenum fsl_mc_pool_type type;\n\ts32 id;\n\tvoid *data;\n\tstruct fsl_mc_resource_pool *parent_pool;\n\tstruct list_head node;\n};\n\nstruct fsl_mc_device_irq {\n\tunsigned int virq;\n\tstruct fsl_mc_device *mc_dev;\n\tu8 dev_irq_index;\n\tstruct fsl_mc_resource resource;\n};\n\nstruct fsl_mc_driver {\n\tstruct device_driver driver;\n\tconst struct fsl_mc_device_id *match_id_table;\n\tint (*probe)(struct fsl_mc_device *);\n\tvoid (*remove)(struct fsl_mc_device *);\n\tvoid (*shutdown)(struct fsl_mc_device *);\n\tint (*suspend)(struct fsl_mc_device *, pm_message_t);\n\tint (*resume)(struct fsl_mc_device *);\n\tbool driver_managed_dma;\n};\n\nstruct fsl_mc_io {\n\tstruct device *dev;\n\tu16 flags;\n\tu32 portal_size;\n\tphys_addr_t portal_phys_addr;\n\tvoid *portal_virt_addr;\n\tstruct fsl_mc_device *dpmcp_dev;\n\tunion {\n\t\tstruct mutex mutex;\n\t\traw_spinlock_t spinlock;\n\t};\n};\n\nstruct fsl_mc_obj_cmd_open {\n\t__le32 obj_id;\n};\n\nstruct fsl_mc_version {\n\tu32 major;\n\tu32 minor;\n\tu32 revision;\n};\n\nstruct fsl_qspi_devtype_data;\n\nstruct fsl_qspi {\n\tvoid *iobase;\n\tvoid *ahb_addr;\n\tu32 memmap_phy;\n\tstruct clk *clk;\n\tstruct clk *clk_en;\n\tstruct device *dev;\n\tstruct completion c;\n\tconst struct fsl_qspi_devtype_data *devtype_data;\n\tstruct mutex lock;\n\tstruct pm_qos_request pm_qos_req;\n\tint selected;\n};\n\nstruct fsl_qspi_devtype_data {\n\tunsigned int rxfifo;\n\tunsigned int txfifo;\n\tint invalid_mstrid;\n\tunsigned int ahb_buf_size;\n\tunsigned int quirks;\n\tbool little_endian;\n};\n\nstruct fsl_sai_clk {\n\tstruct clk_divider div;\n\tstruct clk_gate gate;\n\tspinlock_t lock;\n};\n\nstruct fsl_soc_data {\n\tconst char *sfp_compat;\n\tu32 uid_offset;\n};\n\nstruct fsl_soc_die_attr {\n\tchar *die;\n\tu32 svr;\n\tu32 mask;\n};\n\nstruct fsmap {\n\t__u32 fmr_device;\n\t__u32 fmr_flags;\n\t__u64 fmr_physical;\n\t__u64 fmr_owner;\n\t__u64 fmr_offset;\n\t__u64 fmr_length;\n\t__u64 fmr_reserved[3];\n};\n\nstruct fsmap_head {\n\t__u32 fmh_iflags;\n\t__u32 fmh_oflags;\n\t__u32 fmh_count;\n\t__u32 fmh_entries;\n\t__u64 fmh_reserved[6];\n\tstruct fsmap fmh_keys[2];\n\tstruct fsmap fmh_recs[0];\n};\n\nstruct inotify_group_private_data {\n\tspinlock_t idr_lock;\n\tstruct idr idr;\n\tstruct ucounts *ucounts;\n};\n\nstruct fsnotify_ops;\n\nstruct fsnotify_group {\n\tconst struct fsnotify_ops *ops;\n\trefcount_t refcnt;\n\tspinlock_t notification_lock;\n\tstruct list_head notification_list;\n\twait_queue_head_t notification_waitq;\n\tunsigned int q_len;\n\tunsigned int max_events;\n\tenum fsnotify_group_prio priority;\n\tbool shutdown;\n\tint flags;\n\tunsigned int owner_flags;\n\tstruct mutex mark_mutex;\n\tatomic_t user_waits;\n\tstruct list_head marks_list;\n\tstruct fasync_struct *fsn_fa;\n\tstruct fsnotify_event *overflow_event;\n\tstruct mem_cgroup *memcg;\n\tunion {\n\t\tvoid *private;\n\t\tstruct inotify_group_private_data inotify_data;\n\t\tstruct fanotify_group_private_data fanotify_data;\n\t};\n};\n\nstruct fsnotify_iter_info {\n\tstruct fsnotify_mark *marks[5];\n\tstruct fsnotify_group *current_group;\n\tunsigned int report_mask;\n\tint srcu_idx;\n};\n\ntypedef struct fsnotify_mark_connector *fsnotify_connp_t;\n\nstruct fsnotify_mark_connector {\n\tspinlock_t lock;\n\tunsigned char type;\n\tunsigned char prio;\n\tshort unsigned int flags;\n\tunion {\n\t\tvoid *obj;\n\t\tstruct fsnotify_mark_connector *destroy_next;\n\t};\n\tstruct hlist_head list;\n};\n\nstruct fsnotify_ops {\n\tint (*handle_event)(struct fsnotify_group *, u32, const void *, int, struct inode *, const struct qstr *, u32, struct fsnotify_iter_info *);\n\tint (*handle_inode_event)(struct fsnotify_mark *, u32, struct inode *, struct inode *, const struct qstr *, u32);\n\tvoid (*free_group_priv)(struct fsnotify_group *);\n\tvoid (*freeing_mark)(struct fsnotify_mark *, struct fsnotify_group *);\n\tvoid (*free_event)(struct fsnotify_group *, struct fsnotify_event *);\n\tvoid (*free_mark)(struct fsnotify_mark *);\n};\n\nstruct fsnotify_sb_info {\n\tstruct fsnotify_mark_connector *sb_marks;\n\tatomic_long_t watched_objects[3];\n};\n\nstruct fstrim_range {\n\t__u64 start;\n\t__u64 len;\n\t__u64 minlen;\n};\n\nstruct fsuuid {\n\t__u32 fsu_len;\n\t__u32 fsu_flags;\n\t__u8 fsu_uuid[0];\n};\n\nstruct fsuuid2 {\n\t__u8 len;\n\t__u8 uuid[16];\n};\n\nstruct fsxattr {\n\t__u32 fsx_xflags;\n\t__u32 fsx_extsize;\n\t__u32 fsx_nextents;\n\t__u32 fsx_projid;\n\t__u32 fsx_cowextsize;\n\tunsigned char fsx_pad[8];\n};\n\ntypedef bool filter_t(u64);\n\nstruct ftr_set_desc {\n\tchar name[20];\n\tunion {\n\t\tstruct arm64_ftr_override *override;\n\t\tprel64_t override_prel;\n\t};\n\tstruct {\n\t\tchar name[10];\n\t\tu8 shift;\n\t\tu8 width;\n\t\tunion {\n\t\t\tfilter_t *filter;\n\t\t\tprel64_t filter_prel;\n\t\t};\n\t} fields[0];\n};\n\nstruct trace_seq {\n\tchar buffer[8156];\n\tstruct seq_buf seq;\n\tsize_t readpos;\n\tint full;\n};\n\nstruct tracer;\n\nstruct ring_buffer_iter;\n\nstruct trace_iterator {\n\tstruct trace_array *tr;\n\tstruct tracer *trace;\n\tstruct array_buffer *array_buffer;\n\tvoid *private;\n\tint cpu_file;\n\tstruct mutex mutex;\n\tstruct ring_buffer_iter **buffer_iter;\n\tlong unsigned int iter_flags;\n\tvoid *temp;\n\tunsigned int temp_size;\n\tchar *fmt;\n\tunsigned int fmt_size;\n\tatomic_t wait_index;\n\tstruct trace_seq tmp_seq;\n\tcpumask_var_t started;\n\tbool closed;\n\tbool snapshot;\n\tstruct trace_seq seq;\n\tstruct trace_entry *ent;\n\tlong unsigned int lost_events;\n\tint leftover;\n\tint ent_size;\n\tint cpu;\n\tu64 ts;\n\tloff_t pos;\n\tlong int idx;\n};\n\nstruct ftrace_buffer_info {\n\tstruct trace_iterator iter;\n\tvoid *spare;\n\tunsigned int spare_cpu;\n\tunsigned int spare_size;\n\tunsigned int read;\n};\n\nstruct ftrace_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n};\n\nstruct ftrace_event_field {\n\tstruct list_head link;\n\tconst char *name;\n\tconst char *type;\n\tint filter_type;\n\tint offset;\n\tint size;\n\tunsigned int is_signed: 1;\n\tunsigned int needs_test: 1;\n\tint len;\n};\n\nstruct ftrace_stack {\n\tlong unsigned int calls[1024];\n};\n\nstruct ftrace_stacks {\n\tstruct ftrace_stack stacks[4];\n};\n\nstruct func_repeats_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tu16 count;\n\tu16 top_delta_ts;\n\tu32 bottom_delta_ts;\n};\n\nstruct pinfunction {\n\tconst char *name;\n\tconst char * const *groups;\n\tsize_t ngroups;\n};\n\nstruct function_desc {\n\tstruct pinfunction func;\n\tvoid *data;\n};\n\nstruct fuse_corner {\n\tint min_uV;\n\tint max_uV;\n\tint uV;\n\tint quot;\n\tint step_quot;\n\tconst struct reg_sequence *accs;\n\tint num_accs;\n\tlong unsigned int max_freq;\n\tu8 ring_osc_idx;\n};\n\nstruct fuse_corner_data {\n\tint ref_uV;\n\tint max_uV;\n\tint min_uV;\n\tint max_volt_scale;\n\tint max_quot_scale;\n\tint quot_offset;\n\tint quot_scale;\n\tint quot_adjust;\n\tint quot_offset_scale;\n\tint quot_offset_adjust;\n};\n\nstruct rdpq_alloc_detail {\n\tstruct dma_pool *dma_pool_ptr;\n\tdma_addr_t pool_entry_phys;\n\tunion MPI2_REPLY_DESCRIPTORS_UNION *pool_entry_virt;\n};\n\nstruct megasas_cmd;\n\nstruct fusion_context {\n\tstruct megasas_cmd_fusion **cmd_list;\n\tdma_addr_t req_frames_desc_phys;\n\tu8 *req_frames_desc;\n\tstruct dma_pool *io_request_frames_pool;\n\tdma_addr_t io_request_frames_phys;\n\tu8 *io_request_frames;\n\tstruct dma_pool *sg_dma_pool;\n\tstruct dma_pool *sense_dma_pool;\n\tu8 *sense;\n\tdma_addr_t sense_phys_addr;\n\tatomic_t busy_mq_poll[128];\n\tdma_addr_t reply_frames_desc_phys[128];\n\tunion MPI2_REPLY_DESCRIPTORS_UNION *reply_frames_desc[128];\n\tstruct rdpq_alloc_detail rdpq_tracker[8];\n\tstruct dma_pool *reply_frames_desc_pool;\n\tstruct dma_pool *reply_frames_desc_pool_align;\n\tu16 last_reply_idx[128];\n\tu32 reply_q_depth;\n\tu32 request_alloc_sz;\n\tu32 reply_alloc_sz;\n\tu32 io_frames_alloc_sz;\n\tstruct MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY *rdpq_virt;\n\tdma_addr_t rdpq_phys;\n\tu16 max_sge_in_main_msg;\n\tu16 max_sge_in_chain;\n\tu8 chain_offset_io_request;\n\tu8 chain_offset_mfi_pthru;\n\tstruct MR_FW_RAID_MAP_DYNAMIC *ld_map[2];\n\tdma_addr_t ld_map_phys[2];\n\tstruct MR_DRV_RAID_MAP_ALL *ld_drv_map[2];\n\tu32 max_map_sz;\n\tu32 current_map_sz;\n\tu32 old_map_sz;\n\tu32 new_map_sz;\n\tu32 drv_map_sz;\n\tu32 drv_map_pages;\n\tstruct MR_PD_CFG_SEQ_NUM_SYNC *pd_seq_sync[2];\n\tdma_addr_t pd_seq_phys[2];\n\tu8 fast_path_io;\n\tstruct LD_LOAD_BALANCE_INFO *load_balance_info;\n\tu32 load_balance_info_pages;\n\tLD_SPAN_INFO *log_to_span;\n\tu32 log_to_span_pages;\n\tstruct LD_STREAM_DETECT **stream_detect_by_ld;\n\tdma_addr_t ioc_init_request_phys;\n\tstruct MPI2_IOC_INIT_REQUEST *ioc_init_request;\n\tstruct megasas_cmd *ioc_init_cmd;\n\tbool pcie_bw_limitation;\n\tbool r56_div_offload;\n};\n\nstruct futex_hash_bucket {\n\tatomic_t waiters;\n\tspinlock_t lock;\n\tstruct plist_head chain;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion futex_key {\n\tstruct {\n\t\tu64 i_seq;\n\t\tlong unsigned int pgoff;\n\t\tunsigned int offset;\n\t} shared;\n\tstruct {\n\t\tunion {\n\t\t\tstruct mm_struct *mm;\n\t\t\tu64 __tmp;\n\t\t};\n\t\tlong unsigned int address;\n\t\tunsigned int offset;\n\t} private;\n\tstruct {\n\t\tu64 ptr;\n\t\tlong unsigned int word;\n\t\tunsigned int offset;\n\t} both;\n};\n\nstruct futex_pi_state {\n\tstruct list_head list;\n\tstruct rt_mutex_base pi_mutex;\n\tstruct task_struct *owner;\n\trefcount_t refcount;\n\tunion futex_key key;\n};\n\nstruct wake_q_head;\n\nstruct futex_q;\n\ntypedef void futex_wake_fn(struct wake_q_head *, struct futex_q *);\n\nstruct rt_mutex_waiter;\n\nstruct futex_q {\n\tstruct plist_node list;\n\tstruct task_struct *task;\n\tspinlock_t *lock_ptr;\n\tfutex_wake_fn *wake;\n\tvoid *wake_data;\n\tunion futex_key key;\n\tstruct futex_pi_state *pi_state;\n\tstruct rt_mutex_waiter *rt_waiter;\n\tunion futex_key *requeue_pi_key;\n\tu32 bitset;\n\tatomic_t requeue_state;\n};\n\nstruct futex_waitv {\n\t__u64 val;\n\t__u64 uaddr;\n\t__u32 flags;\n\t__u32 __reserved;\n};\n\nstruct futex_vector {\n\tstruct futex_waitv w;\n\tstruct futex_q q;\n};\n\nstruct fw_cache_entry {\n\tstruct list_head list;\n\tconst char *name;\n};\n\nstruct fw_name_devm {\n\tlong unsigned int magic;\n\tconst char *name;\n};\n\nstruct fw_state {\n\tstruct completion completion;\n\tenum fw_status status;\n};\n\nstruct fw_priv {\n\tstruct kref ref;\n\tstruct list_head list;\n\tstruct firmware_cache *fwc;\n\tstruct fw_state fw_st;\n\tvoid *data;\n\tsize_t size;\n\tsize_t allocated_size;\n\tsize_t offset;\n\tu32 opt_flags;\n\tbool is_paged_buf;\n\tstruct page **pages;\n\tint nr_pages;\n\tint page_array_size;\n\tbool need_uevent;\n\tstruct list_head pending_list;\n\tconst char *fw_name;\n};\n\nstruct fw_rsc_carveout {\n\tu32 da;\n\tu32 pa;\n\tu32 len;\n\tu32 flags;\n\tu32 reserved;\n\tu8 name[32];\n};\n\nstruct fw_rsc_devmem {\n\tu32 da;\n\tu32 pa;\n\tu32 len;\n\tu32 flags;\n\tu32 reserved;\n\tu8 name[32];\n};\n\nstruct fw_rsc_hdr {\n\tu32 type;\n\tu8 data[0];\n};\n\nstruct fw_rsc_trace {\n\tu32 da;\n\tu32 len;\n\tu32 reserved;\n\tu8 name[32];\n};\n\nstruct fw_rsc_vdev_vring {\n\tu32 da;\n\tu32 align;\n\tu32 num;\n\tu32 notifyid;\n\tu32 pa;\n};\n\nstruct fw_rsc_vdev {\n\tu32 id;\n\tu32 notifyid;\n\tu32 dfeatures;\n\tu32 gfeatures;\n\tu32 config_len;\n\tu8 status;\n\tu8 num_of_vrings;\n\tu8 reserved[2];\n\tstruct fw_rsc_vdev_vring vring[0];\n};\n\nstruct fw_sysfs {\n\tbool nowait;\n\tstruct device dev;\n\tstruct fw_priv *fw_priv;\n\tstruct firmware *fw;\n\tvoid *fw_upload_priv;\n};\n\nunion fw_table_header {\n\tstruct acpi_table_header acpi;\n\tstruct acpi_table_cdat cdat;\n};\n\nstruct fwh_xxlock_thunk {\n\tenum fwh_lock_state val;\n\tflstate_t state;\n};\n\nstruct fwnode_endpoint {\n\tunsigned int port;\n\tunsigned int id;\n\tconst struct fwnode_handle *local_fwnode;\n};\n\nstruct fwnode_link {\n\tstruct fwnode_handle *supplier;\n\tstruct list_head s_hook;\n\tstruct fwnode_handle *consumer;\n\tstruct list_head c_hook;\n\tu8 flags;\n};\n\nstruct fwnode_reference_args;\n\nstruct fwnode_operations {\n\tstruct fwnode_handle * (*get)(struct fwnode_handle *);\n\tvoid (*put)(struct fwnode_handle *);\n\tbool (*device_is_available)(const struct fwnode_handle *);\n\tconst void * (*device_get_match_data)(const struct fwnode_handle *, const struct device *);\n\tbool (*device_dma_supported)(const struct fwnode_handle *);\n\tenum dev_dma_attr (*device_get_dma_attr)(const struct fwnode_handle *);\n\tbool (*property_present)(const struct fwnode_handle *, const char *);\n\tbool (*property_read_bool)(const struct fwnode_handle *, const char *);\n\tint (*property_read_int_array)(const struct fwnode_handle *, const char *, unsigned int, void *, size_t);\n\tint (*property_read_string_array)(const struct fwnode_handle *, const char *, const char **, size_t);\n\tconst char * (*get_name)(const struct fwnode_handle *);\n\tconst char * (*get_name_prefix)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_parent)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_next_child_node)(const struct fwnode_handle *, struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_named_child_node)(const struct fwnode_handle *, const char *);\n\tint (*get_reference_args)(const struct fwnode_handle *, const char *, const char *, unsigned int, unsigned int, struct fwnode_reference_args *);\n\tstruct fwnode_handle * (*graph_get_next_endpoint)(const struct fwnode_handle *, struct fwnode_handle *);\n\tstruct fwnode_handle * (*graph_get_remote_endpoint)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*graph_get_port_parent)(struct fwnode_handle *);\n\tint (*graph_parse_endpoint)(const struct fwnode_handle *, struct fwnode_endpoint *);\n\tvoid * (*iomap)(struct fwnode_handle *, int);\n\tint (*irq_get)(const struct fwnode_handle *, unsigned int);\n\tint (*add_links)(struct fwnode_handle *);\n};\n\nstruct fwnode_reference_args {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int nargs;\n\tu64 args[8];\n};\n\nstruct g12a_cpu_clk_postmux_nb_data {\n\tstruct notifier_block nb;\n\tstruct clk_hw *xtal;\n\tstruct clk_hw *cpu_clk_dyn;\n\tstruct clk_hw *cpu_clk_postmux0;\n\tstruct clk_hw *cpu_clk_postmux1;\n\tstruct clk_hw *cpu_clk_premux1;\n};\n\nstruct g12a_sys_pll_nb_data {\n\tstruct notifier_block nb;\n\tstruct clk_hw *sys_pll;\n\tstruct clk_hw *cpu_clk;\n\tstruct clk_hw *cpu_clk_dyn;\n};\n\nstruct gbe_phy_init_data_fix {\n\tu16 addr;\n\tu16 value;\n};\n\nstruct gce {\n\t__le32 period;\n\tu8 gate;\n\tu8 res[3];\n};\n\nstruct ghash_key {\n\tbe128 k;\n\tu64 h[0];\n};\n\nstruct gcm_aes_ctx {\n\tstruct crypto_aes_ctx aes_key;\n\tu8 nonce[4];\n\tstruct ghash_key ghash_key;\n};\n\nstruct gcry_mpi;\n\ntypedef struct gcry_mpi *MPI;\n\nstruct gcry_mpi {\n\tint alloced;\n\tint nlimbs;\n\tint nbits;\n\tint sign;\n\tunsigned int flags;\n\tmpi_limb_t *d;\n};\n\nstruct gcs_context {\n\tstruct _aarch64_ctx head;\n\t__u64 gcspr;\n\t__u64 features_enabled;\n\t__u64 reserved;\n};\n\nstruct gdsc {\n\tstruct generic_pm_domain pd;\n\tstruct generic_pm_domain *parent;\n\tstruct regmap *regmap;\n\tunsigned int gdscr;\n\tunsigned int collapse_ctrl;\n\tunsigned int collapse_mask;\n\tunsigned int gds_hw_ctrl;\n\tunsigned int clamp_io_ctrl;\n\tunsigned int *cxcs;\n\tunsigned int cxc_count;\n\tunsigned int en_rest_wait_val;\n\tunsigned int en_few_wait_val;\n\tunsigned int clk_dis_wait_val;\n\tconst u8 pwrsts;\n\tconst u16 flags;\n\tstruct reset_controller_dev *rcdev;\n\tunsigned int *resets;\n\tunsigned int reset_count;\n\tconst char *supply;\n\tstruct regulator *rsupply;\n};\n\nstruct gdsc_desc {\n\tstruct device *dev;\n\tstruct gdsc **scs;\n\tsize_t num;\n};\n\nstruct gem_statistic {\n\tchar stat_string[32];\n\tint offset;\n\tu32 stat_bits;\n};\n\nstruct gem_stats {\n\tu32 tx_octets_31_0;\n\tu32 tx_octets_47_32;\n\tu32 tx_frames;\n\tu32 tx_broadcast_frames;\n\tu32 tx_multicast_frames;\n\tu32 tx_pause_frames;\n\tu32 tx_64_byte_frames;\n\tu32 tx_65_127_byte_frames;\n\tu32 tx_128_255_byte_frames;\n\tu32 tx_256_511_byte_frames;\n\tu32 tx_512_1023_byte_frames;\n\tu32 tx_1024_1518_byte_frames;\n\tu32 tx_greater_than_1518_byte_frames;\n\tu32 tx_underrun;\n\tu32 tx_single_collision_frames;\n\tu32 tx_multiple_collision_frames;\n\tu32 tx_excessive_collisions;\n\tu32 tx_late_collisions;\n\tu32 tx_deferred_frames;\n\tu32 tx_carrier_sense_errors;\n\tu32 rx_octets_31_0;\n\tu32 rx_octets_47_32;\n\tu32 rx_frames;\n\tu32 rx_broadcast_frames;\n\tu32 rx_multicast_frames;\n\tu32 rx_pause_frames;\n\tu32 rx_64_byte_frames;\n\tu32 rx_65_127_byte_frames;\n\tu32 rx_128_255_byte_frames;\n\tu32 rx_256_511_byte_frames;\n\tu32 rx_512_1023_byte_frames;\n\tu32 rx_1024_1518_byte_frames;\n\tu32 rx_greater_than_1518_byte_frames;\n\tu32 rx_undersized_frames;\n\tu32 rx_oversize_frames;\n\tu32 rx_jabbers;\n\tu32 rx_frame_check_sequence_errors;\n\tu32 rx_length_field_frame_errors;\n\tu32 rx_symbol_errors;\n\tu32 rx_alignment_errors;\n\tu32 rx_resource_errors;\n\tu32 rx_overruns;\n\tu32 rx_ip_header_checksum_errors;\n\tu32 rx_tcp_checksum_errors;\n\tu32 rx_udp_checksum_errors;\n};\n\nstruct pcpu_gen_cookie;\n\nstruct gen_cookie {\n\tstruct pcpu_gen_cookie *local;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic64_t forward_last;\n\tatomic64_t reverse_last;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct gen_pool;\n\ntypedef long unsigned int (*genpool_algo_t)(long unsigned int *, long unsigned int, long unsigned int, unsigned int, void *, struct gen_pool *, long unsigned int);\n\nstruct gen_pool {\n\tspinlock_t lock;\n\tstruct list_head chunks;\n\tint min_alloc_order;\n\tgenpool_algo_t algo;\n\tvoid *data;\n\tconst char *name;\n};\n\nstruct gen_pool_chunk {\n\tstruct list_head next_chunk;\n\tatomic_long_t avail;\n\tphys_addr_t phys_addr;\n\tvoid *owner;\n\tlong unsigned int start_addr;\n\tlong unsigned int end_addr;\n\tlong unsigned int bits[0];\n};\n\nstruct timer_rand_state;\n\nstruct gendisk {\n\tint major;\n\tint first_minor;\n\tint minors;\n\tchar disk_name[32];\n\tshort unsigned int events;\n\tshort unsigned int event_flags;\n\tstruct xarray part_tbl;\n\tstruct block_device *part0;\n\tconst struct block_device_operations *fops;\n\tstruct request_queue *queue;\n\tvoid *private_data;\n\tstruct bio_set bio_split;\n\tint flags;\n\tlong unsigned int state;\n\tstruct mutex open_mutex;\n\tunsigned int open_partitions;\n\tstruct backing_dev_info *bdi;\n\tstruct kobject queue_kobj;\n\tstruct kobject *slave_dir;\n\tstruct list_head slave_bdevs;\n\tstruct timer_rand_state *random;\n\tatomic_t sync_io;\n\tstruct disk_events *ev;\n\tint node_id;\n\tstruct badblocks *bb;\n\tstruct lockdep_map lockdep_map;\n\tu64 diskseq;\n\tblk_mode_t open_mode;\n\tstruct blk_independent_access_ranges *ia_ranges;\n};\n\nstruct pm_domain_data {\n\tstruct list_head list_node;\n\tstruct device *dev;\n};\n\nstruct gpd_timing_data;\n\nstruct generic_pm_domain_data {\n\tstruct pm_domain_data base;\n\tstruct gpd_timing_data *td;\n\tstruct notifier_block nb;\n\tstruct notifier_block *power_nb;\n\tint cpu;\n\tunsigned int performance_state;\n\tunsigned int default_pstate;\n\tunsigned int rpm_pstate;\n\tunsigned int opp_token;\n\tbool hw_mode;\n\tvoid *data;\n};\n\nstruct geneve_opt {\n\t__be16 opt_class;\n\tu8 type;\n\tu8 length: 5;\n\tu8 r3: 1;\n\tu8 r2: 1;\n\tu8 r1: 1;\n\tu8 opt_data[0];\n};\n\nstruct geni_icc_path {\n\tstruct icc_path *path;\n\tunsigned int avg_bw;\n};\n\nstruct geni_wrapper;\n\nstruct geni_se {\n\tvoid *base;\n\tstruct device *dev;\n\tstruct geni_wrapper *wrapper;\n\tstruct clk *clk;\n\tunsigned int num_clk_levels;\n\tlong unsigned int *clk_perf_tbl;\n\tstruct geni_icc_path icc_paths[3];\n};\n\nstruct geni_se_desc {\n\tunsigned int num_clks;\n\tconst char * const *clks;\n};\n\nstruct geni_wrapper {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk_bulk_data clks[2];\n\tunsigned int num_clks;\n};\n\nstruct nla_policy;\n\nstruct genl_split_ops {\n\tunion {\n\t\tstruct {\n\t\t\tint (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\t\t\tint (*doit)(struct sk_buff *, struct genl_info *);\n\t\t\tvoid (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\t\t};\n\t\tstruct {\n\t\t\tint (*start)(struct netlink_callback *);\n\t\t\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\t\t\tint (*done)(struct netlink_callback *);\n\t\t};\n\t};\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genlmsghdr;\n\nstruct genl_info {\n\tu32 snd_seq;\n\tu32 snd_portid;\n\tconst struct genl_family *family;\n\tconst struct nlmsghdr *nlhdr;\n\tstruct genlmsghdr *genlhdr;\n\tstruct nlattr **attrs;\n\tpossible_net_t _net;\n\tunion {\n\t\tu8 ctx[48];\n\t\tvoid *user_ptr[2];\n\t};\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct genl_dumpit_info {\n\tstruct genl_split_ops op;\n\tstruct genl_info info;\n};\n\nstruct genl_ops;\n\nstruct genl_small_ops;\n\nstruct genl_multicast_group;\n\nstruct genl_family {\n\tunsigned int hdrsize;\n\tchar name[16];\n\tunsigned int version;\n\tunsigned int maxattr;\n\tu8 netnsok: 1;\n\tu8 parallel_ops: 1;\n\tu8 n_ops;\n\tu8 n_small_ops;\n\tu8 n_split_ops;\n\tu8 n_mcgrps;\n\tu8 resv_start_op;\n\tconst struct nla_policy *policy;\n\tint (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\tvoid (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\tint (*bind)(int);\n\tvoid (*unbind)(int);\n\tconst struct genl_ops *ops;\n\tconst struct genl_small_ops *small_ops;\n\tconst struct genl_split_ops *split_ops;\n\tconst struct genl_multicast_group *mcgrps;\n\tstruct module *module;\n\tsize_t sock_priv_size;\n\tvoid (*sock_priv_init)(void *);\n\tvoid (*sock_priv_destroy)(void *);\n\tint id;\n\tunsigned int mcgrp_offset;\n\tstruct xarray *sock_privs;\n};\n\nstruct genl_multicast_group {\n\tchar name[16];\n\tu8 flags;\n};\n\nstruct genl_op_iter {\n\tconst struct genl_family *family;\n\tstruct genl_split_ops doit;\n\tstruct genl_split_ops dumpit;\n\tint cmd_idx;\n\tint entry_idx;\n\tu32 cmd;\n\tu8 flags;\n};\n\nstruct genl_ops {\n\tint (*doit)(struct sk_buff *, struct genl_info *);\n\tint (*start)(struct netlink_callback *);\n\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genl_small_ops {\n\tint (*doit)(struct sk_buff *, struct genl_info *);\n\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genl_start_context {\n\tconst struct genl_family *family;\n\tstruct nlmsghdr *nlh;\n\tstruct netlink_ext_ack *extack;\n\tconst struct genl_split_ops *ops;\n\tint hdrlen;\n};\n\nstruct genlmsghdr {\n\t__u8 cmd;\n\t__u8 version;\n\t__u16 reserved;\n};\n\nstruct genpd_governor_data {\n\ts64 max_off_time_ns;\n\tbool max_off_time_changed;\n\tktime_t next_wakeup;\n\tktime_t next_hrtimer;\n\tbool cached_power_down_ok;\n\tbool cached_power_down_state_idx;\n};\n\nstruct genpd_lock_ops {\n\tvoid (*lock)(struct generic_pm_domain *);\n\tvoid (*lock_nested)(struct generic_pm_domain *, int);\n\tint (*lock_interruptible)(struct generic_pm_domain *);\n\tvoid (*unlock)(struct generic_pm_domain *);\n};\n\nstruct genpd_power_state {\n\tconst char *name;\n\ts64 power_off_latency_ns;\n\ts64 power_on_latency_ns;\n\ts64 residency_ns;\n\tu64 usage;\n\tu64 rejected;\n\tstruct fwnode_handle *fwnode;\n\tu64 idle_time;\n\tvoid *data;\n};\n\nstruct genpool_data_align {\n\tint align;\n};\n\nstruct genpool_data_fixed {\n\tlong unsigned int offset;\n};\n\nstruct genradix_iter {\n\tsize_t offset;\n\tsize_t pos;\n};\n\nstruct genradix_node {\n\tunion {\n\t\tstruct genradix_node *children[64];\n\t\tu8 data[512];\n\t};\n};\n\nstruct get_registers_context {\n\tstruct device *dev;\n\tstruct combiner *combiner;\n\tint err;\n};\n\nstruct getcpu_cache {\n\tlong unsigned int blob[16];\n};\n\nstruct getdents_callback {\n\tstruct dir_context ctx;\n\tchar *name;\n\tu64 ino;\n\tint found;\n\tint sequence;\n};\n\nstruct linux_dirent;\n\nstruct getdents_callback___2 {\n\tstruct dir_context ctx;\n\tstruct linux_dirent *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct linux_dirent64;\n\nstruct getdents_callback64 {\n\tstruct dir_context ctx;\n\tstruct linux_dirent64 *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct getfsmap_info {\n\tstruct super_block *gi_sb;\n\tstruct fsmap_head *gi_data;\n\tunsigned int gi_idx;\n\t__u32 gi_last_flags;\n};\n\nstruct input_keymap_entry {\n\t__u8 flags;\n\t__u8 len;\n\t__u16 index;\n\t__u32 keycode;\n\t__u8 scancode[32];\n};\n\nstruct getset_keycode_data {\n\tstruct input_keymap_entry ke;\n\tint error;\n};\n\nstruct gf128mul_4k {\n\tbe128 t[256];\n};\n\nstruct gf128mul_64k {\n\tstruct gf128mul_4k *t[16];\n};\n\nstruct kvm_memory_slot;\n\nstruct gfn_to_hva_cache {\n\tu64 generation;\n\tgpa_t gpa;\n\tlong unsigned int hva;\n\tlong unsigned int len;\n\tstruct kvm_memory_slot *memslot;\n};\n\nstruct ghash_desc_ctx {\n\tu64 digest[2];\n\tu8 buf[16];\n\tu32 count;\n};\n\nstruct ghes {\n\tunion {\n\t\tstruct acpi_hest_generic *generic;\n\t\tstruct acpi_hest_generic_v2 *generic_v2;\n\t};\n\tstruct acpi_hest_generic_status *estatus;\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct timer_list timer;\n\t\tunsigned int irq;\n\t};\n\tstruct device *dev;\n\tstruct list_head elist;\n};\n\nstruct ghes_arr {\n\tstruct platform_device **ghes_devs;\n\tunsigned int count;\n};\n\nstruct ghes_estatus_cache {\n\tu32 estatus_len;\n\tatomic_t count;\n\tstruct acpi_hest_generic *generic;\n\tlong long unsigned int time_in;\n\tstruct callback_head rcu;\n};\n\nstruct ghes_estatus_node {\n\tstruct llist_node llnode;\n\tstruct acpi_hest_generic *generic;\n\tstruct ghes *ghes;\n\tint task_work_cpu;\n\tstruct callback_head task_work;\n};\n\nstruct ghes_hw_desc {\n\tint num_dimms;\n\tstruct dimm_info *dimms;\n};\n\nstruct ghes_pvt {\n\tstruct mem_ctl_info *mci;\n\tchar other_detail[400];\n\tchar msg[80];\n};\n\nstruct ghes_vendor_record_entry {\n\tstruct work_struct work;\n\tint error_severity;\n\tchar vendor_record[0];\n};\n\nunion gic_base {\n\tvoid *common_base;\n\tvoid **percpu_base;\n};\n\nstruct gic_chip_data {\n\tunion gic_base dist_base;\n\tunion gic_base cpu_base;\n\tvoid *raw_dist_base;\n\tvoid *raw_cpu_base;\n\tu32 percpu_offset;\n\tu32 saved_spi_enable[32];\n\tu32 saved_spi_active[32];\n\tu32 saved_spi_conf[64];\n\tu32 saved_spi_target[255];\n\tu32 *saved_ppi_enable;\n\tu32 *saved_ppi_active;\n\tu32 *saved_ppi_conf;\n\tstruct irq_domain *domain;\n\tunsigned int gic_irqs;\n};\n\nstruct rdists {\n\tstruct {\n\t\traw_spinlock_t rd_lock;\n\t\tvoid *rd_base;\n\t\tstruct page *pend_page;\n\t\tphys_addr_t phys_base;\n\t\tu64 flags;\n\t\tcpumask_t *vpe_table_mask;\n\t\tvoid *vpe_l1_base;\n\t} *rdist;\n\tphys_addr_t prop_table_pa;\n\tvoid *prop_table_va;\n\tu64 flags;\n\tu32 gicd_typer;\n\tu32 gicd_typer2;\n\tint cpuhp_memreserve_state;\n\tbool has_vlpis;\n\tbool has_rvpeid;\n\tbool has_direct_lpi;\n\tbool has_vpend_valid_dirty;\n};\n\nstruct redist_region;\n\nstruct partition_desc;\n\nstruct gic_chip_data___2 {\n\tstruct fwnode_handle *fwnode;\n\tphys_addr_t dist_phys_base;\n\tvoid *dist_base;\n\tstruct redist_region *redist_regions;\n\tstruct rdists rdists;\n\tstruct irq_domain *domain;\n\tu64 redist_stride;\n\tu32 nr_redist_regions;\n\tu64 flags;\n\tbool has_rss;\n\tunsigned int ppi_nr;\n\tstruct partition_desc **ppi_descs;\n};\n\nstruct gic_chip_data;\n\nstruct gic_clk_data;\n\nstruct gic_chip_pm {\n\tstruct gic_chip_data *chip_data;\n\tconst struct gic_clk_data *clk_data;\n\tstruct clk_bulk_data *clks;\n};\n\nstruct gic_clk_data {\n\tunsigned int num_clocks;\n\tconst char * const *clocks;\n};\n\nstruct gic_kvm_info {\n\tenum gic_type type;\n\tstruct resource vcpu;\n\tunsigned int maint_irq;\n\tbool no_maint_irq_mask;\n\tstruct resource vctrl;\n\tbool has_v4;\n\tbool has_v4_1;\n\tbool no_hw_deactivation;\n};\n\nstruct gic_quirk {\n\tconst char *desc;\n\tconst char *compatible;\n\tconst char *property;\n\tbool (*init)(void *);\n\tu32 iidr;\n\tu32 mask;\n};\n\nstruct giveback_urb_bh {\n\tbool running;\n\tbool high_prio;\n\tspinlock_t lock;\n\tstruct list_head head;\n\tstruct work_struct bh;\n\tstruct usb_host_endpoint *completing_ep;\n};\n\nstruct rpmsg_device;\n\ntypedef int (*rpmsg_rx_cb_t)(struct rpmsg_device *, void *, int, void *, u32);\n\ntypedef int (*rpmsg_flowcontrol_cb_t)(struct rpmsg_device *, void *, bool);\n\nstruct rpmsg_endpoint_ops;\n\nstruct rpmsg_endpoint {\n\tstruct rpmsg_device *rpdev;\n\tstruct kref refcount;\n\trpmsg_rx_cb_t cb;\n\trpmsg_flowcontrol_cb_t flow_cb;\n\tstruct mutex cb_lock;\n\tu32 addr;\n\tvoid *priv;\n\tconst struct rpmsg_endpoint_ops *ops;\n};\n\nstruct qcom_glink;\n\nstruct glink_core_rx_intent;\n\nstruct glink_channel {\n\tstruct rpmsg_endpoint ept;\n\tstruct rpmsg_device *rpdev;\n\tstruct qcom_glink *glink;\n\tstruct kref refcount;\n\tspinlock_t recv_lock;\n\tchar *name;\n\tunsigned int lcid;\n\tunsigned int rcid;\n\tspinlock_t intent_lock;\n\tstruct idr liids;\n\tstruct idr riids;\n\tstruct work_struct intent_work;\n\tstruct list_head done_intents;\n\tstruct glink_core_rx_intent *buf;\n\tint buf_offset;\n\tint buf_size;\n\tstruct completion open_ack;\n\tstruct completion open_req;\n\tstruct mutex intent_req_lock;\n\tint intent_req_result;\n\tbool intent_received;\n\twait_queue_head_t intent_req_wq;\n};\n\nstruct glink_core_rx_intent {\n\tvoid *data;\n\tu32 id;\n\tsize_t size;\n\tbool reuse;\n\tbool in_use;\n\tu32 offset;\n\tstruct list_head node;\n};\n\nstruct glink_msg_hdr {\n\t__le16 cmd;\n\t__le16 param1;\n\t__le32 param2;\n};\n\nstruct glink_defer_cmd {\n\tstruct list_head node;\n\tstruct glink_msg_hdr msg;\n\tu8 data[0];\n};\n\nstruct glink_msg {\n\tunion {\n\t\tstruct {\n\t\t\t__le16 cmd;\n\t\t\t__le16 param1;\n\t\t\t__le32 param2;\n\t\t};\n\t\tstruct glink_msg_hdr hdr;\n\t};\n\tu8 data[0];\n};\n\nstruct mbox_client {\n\tstruct device *dev;\n\tbool tx_block;\n\tlong unsigned int tx_tout;\n\tbool knows_txdone;\n\tvoid (*rx_callback)(struct mbox_client *, void *);\n\tvoid (*tx_prepare)(struct mbox_client *, void *);\n\tvoid (*tx_done)(struct mbox_client *, void *, int);\n};\n\nstruct qcom_glink_pipe {\n\tsize_t length;\n\tsize_t (*avail)(struct qcom_glink_pipe *);\n\tvoid (*peek)(struct qcom_glink_pipe *, void *, unsigned int, size_t);\n\tvoid (*advance)(struct qcom_glink_pipe *, size_t);\n\tvoid (*write)(struct qcom_glink_pipe *, const void *, size_t, const void *, size_t);\n\tvoid (*kick)(struct qcom_glink_pipe *);\n};\n\nstruct glink_rpm_pipe {\n\tstruct qcom_glink_pipe native;\n\tvoid *tail;\n\tvoid *head;\n\tvoid *fifo;\n};\n\nstruct glink_rpm {\n\tstruct qcom_glink *glink;\n\tint irq;\n\tstruct mbox_client mbox_client;\n\tstruct mbox_chan *mbox_chan;\n\tstruct glink_rpm_pipe rx_pipe;\n\tstruct glink_rpm_pipe tx_pipe;\n};\n\nstruct glink_ssr {\n\tstruct device *dev;\n\tstruct rpmsg_endpoint *ept;\n\tstruct notifier_block nb;\n\tu32 seq_num;\n\tstruct completion completion;\n};\n\nstruct tc_stats {\n\t__u64 bytes;\n\t__u32 packets;\n\t__u32 drops;\n\t__u32 overlimits;\n\t__u32 bps;\n\t__u32 pps;\n\t__u32 qlen;\n\t__u32 backlog;\n};\n\nstruct gnet_dump {\n\tspinlock_t *lock;\n\tstruct sk_buff *skb;\n\tstruct nlattr *tail;\n\tint compat_tc_stats;\n\tint compat_xstats;\n\tint padattr;\n\tvoid *xstats;\n\tint xstats_len;\n\tstruct tc_stats tc_stats;\n};\n\nstruct gnet_estimator {\n\tsigned char interval;\n\tunsigned char ewma_log;\n};\n\nstruct gnet_stats_basic {\n\t__u64 bytes;\n\t__u32 packets;\n};\n\nstruct gnet_stats_rate_est {\n\t__u32 bps;\n\t__u32 pps;\n};\n\nstruct gnet_stats_rate_est64 {\n\t__u64 bps;\n\t__u64 pps;\n};\n\nstruct gntab_unmap_queue_data;\n\ntypedef void (*gnttab_unmap_refs_done)(int, struct gntab_unmap_queue_data *);\n\nstruct gnttab_unmap_grant_ref;\n\nstruct gntab_unmap_queue_data {\n\tstruct delayed_work gnttab_work;\n\tvoid *data;\n\tgnttab_unmap_refs_done done;\n\tstruct gnttab_unmap_grant_ref *unmap_ops;\n\tstruct gnttab_unmap_grant_ref *kunmap_ops;\n\tstruct page **pages;\n\tunsigned int count;\n\tunsigned int age;\n};\n\nstruct gntalloc_file_private_data {\n\tstruct list_head list;\n\tuint64_t index;\n};\n\nstruct notify_info {\n\tuint16_t pgoff: 12;\n\tuint16_t flags: 2;\n\tint event;\n};\n\nstruct gntalloc_gref {\n\tstruct list_head next_gref;\n\tstruct list_head next_file;\n\tstruct page *page;\n\tuint64_t file_index;\n\tunsigned int users;\n\tgrant_ref_t gref_id;\n\tstruct notify_info notify;\n};\n\nstruct gntalloc_vma_private_data {\n\tstruct gntalloc_gref *gref;\n\tint users;\n\tint count;\n};\n\nstruct gnttab_copy_ptr {\n\tunion {\n\t\tgrant_ref_t ref;\n\t\txen_pfn_t gmfn;\n\t} u;\n\tdomid_t domid;\n\tuint16_t offset;\n};\n\nstruct gnttab_copy {\n\tstruct gnttab_copy_ptr source;\n\tstruct gnttab_copy_ptr dest;\n\tuint16_t len;\n\tuint16_t flags;\n\tint16_t status;\n};\n\nstruct gntdev_copy_batch {\n\tstruct gnttab_copy ops[16];\n\tstruct page *pages[16];\n\ts16 *status[16];\n\tunsigned int nr_ops;\n\tunsigned int nr_pages;\n\tbool writeable;\n};\n\nstruct gntdev_grant_copy_segment {\n\tunion {\n\t\tvoid *virt;\n\t\tstruct {\n\t\t\tgrant_ref_t ref;\n\t\t\t__u16 offset;\n\t\t\tdomid_t domid;\n\t\t} foreign;\n\t} source;\n\tunion {\n\t\tvoid *virt;\n\t\tstruct {\n\t\t\tgrant_ref_t ref;\n\t\t\t__u16 offset;\n\t\t\tdomid_t domid;\n\t\t} foreign;\n\t} dest;\n\t__u16 len;\n\t__u16 flags;\n\t__s16 status;\n};\n\nstruct interval_tree_node {\n\tstruct rb_node rb;\n\tlong unsigned int start;\n\tlong unsigned int last;\n\tlong unsigned int __subtree_last;\n};\n\nstruct mmu_interval_notifier_ops;\n\nstruct mmu_interval_notifier {\n\tstruct interval_tree_node interval_tree;\n\tconst struct mmu_interval_notifier_ops *ops;\n\tstruct mm_struct *mm;\n\tstruct hlist_node deferred_item;\n\tlong unsigned int invalidate_seq;\n};\n\nstruct gntdev_unmap_notify {\n\tint flags;\n\tint addr;\n\tevtchn_port_t event;\n};\n\nstruct ioctl_gntdev_grant_ref;\n\nstruct gnttab_map_grant_ref;\n\nstruct gntdev_grant_map {\n\tatomic_t in_use;\n\tstruct mmu_interval_notifier notifier;\n\tbool notifier_init;\n\tstruct list_head next;\n\tint index;\n\tint count;\n\tint flags;\n\trefcount_t users;\n\tstruct gntdev_unmap_notify notify;\n\tstruct ioctl_gntdev_grant_ref *grants;\n\tstruct gnttab_map_grant_ref *map_ops;\n\tstruct gnttab_unmap_grant_ref *unmap_ops;\n\tstruct gnttab_map_grant_ref *kmap_ops;\n\tstruct gnttab_unmap_grant_ref *kunmap_ops;\n\tbool *being_removed;\n\tstruct page **pages;\n\tlong unsigned int pages_vm_start;\n\tatomic_t live_grants;\n\tstruct gntab_unmap_queue_data unmap_data;\n};\n\nstruct gntdev_priv {\n\tstruct list_head maps;\n\tstruct mutex lock;\n};\n\nstruct gnttab_cache_flush {\n\tunion {\n\t\tuint64_t dev_bus_addr;\n\t\tgrant_ref_t ref;\n\t} a;\n\tuint16_t offset;\n\tuint16_t length;\n\tuint32_t op;\n};\n\nstruct gnttab_get_status_frames {\n\tuint32_t nr_frames;\n\tdomid_t dom;\n\tint16_t status;\n\t__guest_handle_uint64_t frame_list;\n};\n\nstruct gnttab_map_grant_ref {\n\tuint64_t host_addr;\n\tuint32_t flags;\n\tgrant_ref_t ref;\n\tdomid_t dom;\n\tint16_t status;\n\tgrant_handle_t handle;\n\tuint64_t dev_bus_addr;\n};\n\nstruct gnttab_ops {\n\tunsigned int version;\n\tunsigned int grefs_per_grant_frame;\n\tint (*map_frames)(xen_pfn_t *, unsigned int);\n\tvoid (*unmap_frames)(void);\n\tvoid (*update_entry)(grant_ref_t, domid_t, long unsigned int, unsigned int);\n\tint (*end_foreign_access_ref)(grant_ref_t);\n\tlong unsigned int (*read_frame)(grant_ref_t);\n};\n\nstruct gnttab_page_cache {\n\tspinlock_t lock;\n\tstruct list_head pages;\n\tunsigned int num_pages;\n};\n\nstruct gnttab_query_size {\n\tdomid_t dom;\n\tuint32_t nr_frames;\n\tuint32_t max_nr_frames;\n\tint16_t status;\n};\n\nstruct gnttab_set_version {\n\tuint32_t version;\n};\n\nstruct gnttab_setup_table {\n\tdomid_t dom;\n\tuint32_t nr_frames;\n\tint16_t status;\n\t__guest_handle_xen_pfn_t frame_list;\n};\n\nstruct gnttab_unmap_grant_ref {\n\tuint64_t host_addr;\n\tuint64_t dev_bus_addr;\n\tgrant_handle_t handle;\n\tint16_t status;\n};\n\nstruct gnu_property {\n\tu32 pr_type;\n\tu32 pr_datasz;\n};\n\nstruct governor_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct gov_attr_set *, char *);\n\tssize_t (*store)(struct gov_attr_set *, const char *, size_t);\n};\n\nstruct gpcv2_irqchip_data {\n\tstruct raw_spinlock rlock;\n\tvoid *gpc_base;\n\tu32 wakeup_sources[4];\n\tu32 saved_irq_mask[4];\n\tu32 cpu2wakeup;\n};\n\nstruct gpd_link {\n\tstruct generic_pm_domain *parent;\n\tstruct list_head parent_node;\n\tstruct generic_pm_domain *child;\n\tstruct list_head child_node;\n\tunsigned int performance_state;\n\tunsigned int prev_performance_state;\n};\n\nstruct gpd_timing_data {\n\ts64 suspend_latency_ns;\n\ts64 resume_latency_ns;\n\ts64 effective_constraint_ns;\n\tktime_t next_wakeup;\n\tbool constraint_changed;\n\tbool cached_suspend_ok;\n};\n\nstruct gpio_array {\n\tstruct gpio_desc **desc;\n\tunsigned int size;\n\tstruct gpio_device *gdev;\n\tlong unsigned int *get_mask;\n\tlong unsigned int *set_mask;\n\tlong unsigned int invert_mask[0];\n};\n\nstruct gpio_keys_button;\n\nstruct gpio_button_data {\n\tconst struct gpio_keys_button *button;\n\tstruct input_dev *input;\n\tstruct gpio_desc *gpiod;\n\tshort unsigned int *code;\n\tstruct hrtimer release_timer;\n\tunsigned int release_delay;\n\tstruct delayed_work work;\n\tstruct hrtimer debounce_timer;\n\tunsigned int software_debounce;\n\tunsigned int irq;\n\tunsigned int wakeirq;\n\tunsigned int wakeup_trigger_type;\n\tspinlock_t lock;\n\tbool disabled;\n\tbool key_pressed;\n\tbool suspended;\n\tbool debounce_use_hrtimer;\n};\n\nstruct gpio_v2_line_attribute {\n\t__u32 id;\n\t__u32 padding;\n\tunion {\n\t\t__u64 flags;\n\t\t__u64 values;\n\t\t__u32 debounce_period_us;\n\t};\n};\n\nstruct gpio_v2_line_info {\n\tchar name[32];\n\tchar consumer[32];\n\t__u32 offset;\n\t__u32 num_attrs;\n\t__u64 flags;\n\tstruct gpio_v2_line_attribute attrs[10];\n\t__u32 padding[4];\n};\n\nstruct gpio_v2_line_info_changed {\n\tstruct gpio_v2_line_info info;\n\t__u64 timestamp_ns;\n\t__u32 event_type;\n\t__u32 padding[5];\n};\n\nstruct gpio_chardev_data {\n\tstruct gpio_device *gdev;\n\twait_queue_head_t wait;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpio_v2_line_info_changed *type;\n\t\t\tconst struct gpio_v2_line_info_changed *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpio_v2_line_info_changed *ptr;\n\t\t\tconst struct gpio_v2_line_info_changed *ptr_const;\n\t\t};\n\t\tstruct gpio_v2_line_info_changed buf[32];\n\t} events;\n\tstruct notifier_block lineinfo_changed_nb;\n\tstruct notifier_block device_unregistered_nb;\n\tlong unsigned int *watched_lines;\n\tatomic_t watch_abi_version;\n\tstruct file *fp;\n};\n\nstruct gpio_chip_guard {\n\tstruct gpio_device *gdev;\n\tstruct gpio_chip *gc;\n\tint idx;\n};\n\ntypedef struct gpio_chip_guard class_gpio_chip_guard_t;\n\nstruct gpio_desc_label;\n\nstruct gpio_desc {\n\tstruct gpio_device *gdev;\n\tlong unsigned int flags;\n\tstruct gpio_desc_label *label;\n\tconst char *name;\n\tstruct device_node *hog;\n\tunsigned int debounce_period_us;\n};\n\nstruct gpio_desc_label {\n\tstruct callback_head rh;\n\tchar str[0];\n};\n\nstruct gpio_descs {\n\tstruct gpio_array *info;\n\tunsigned int ndescs;\n\tstruct gpio_desc *desc[0];\n};\n\nstruct gpio_device {\n\tstruct device dev;\n\tstruct cdev chrdev;\n\tint id;\n\tstruct device *mockdev;\n\tstruct module *owner;\n\tstruct gpio_chip *chip;\n\tstruct gpio_desc *descs;\n\tstruct srcu_struct desc_srcu;\n\tunsigned int base;\n\tu16 ngpio;\n\tbool can_sleep;\n\tconst char *label;\n\tvoid *data;\n\tstruct list_head list;\n\tstruct raw_notifier_head line_state_notifier;\n\trwlock_t line_state_lock;\n\tstruct workqueue_struct *line_state_wq;\n\tstruct blocking_notifier_head device_notifier;\n\tstruct srcu_struct srcu;\n\tstruct list_head pin_ranges;\n};\n\nstruct gpio_get_config {\n\tu32 gpio;\n\tu32 direction;\n\tu32 polarity;\n\tu32 term_en;\n\tu32 term_pull_up;\n};\n\nstruct gpio_get_set_state {\n\tu32 gpio;\n\tu32 state;\n};\n\nstruct irq_fwspec {\n\tstruct fwnode_handle *fwnode;\n\tint param_count;\n\tu32 param[16];\n};\n\nstruct msi_desc;\n\nstruct msi_alloc_info {\n\tstruct msi_desc *desc;\n\tirq_hw_number_t hwirq;\n\tlong unsigned int flags;\n\tunion {\n\t\tlong unsigned int ul;\n\t\tvoid *ptr;\n\t} scratchpad[2];\n};\n\ntypedef struct msi_alloc_info msi_alloc_info_t;\n\nunion gpio_irq_fwspec {\n\tstruct irq_fwspec fwspec;\n\tmsi_alloc_info_t msiinfo;\n};\n\nstruct gpio_keys_button {\n\tunsigned int code;\n\tint gpio;\n\tint active_low;\n\tconst char *desc;\n\tunsigned int type;\n\tint wakeup;\n\tint wakeup_event_action;\n\tint debounce_interval;\n\tbool can_disable;\n\tint value;\n\tunsigned int irq;\n\tunsigned int wakeirq;\n};\n\nstruct gpio_keys_platform_data;\n\nstruct gpio_keys_drvdata {\n\tconst struct gpio_keys_platform_data *pdata;\n\tstruct input_dev *input;\n\tstruct mutex disable_lock;\n\tshort unsigned int *keymap;\n\tstruct gpio_button_data data[0];\n};\n\nstruct gpio_keys_platform_data {\n\tconst struct gpio_keys_button *buttons;\n\tint nbuttons;\n\tunsigned int poll_interval;\n\tunsigned int rep: 1;\n\tint (*enable)(struct device *);\n\tvoid (*disable)(struct device *);\n\tconst char *name;\n};\n\nstruct gpio_led {\n\tconst char *name;\n\tconst char *default_trigger;\n\tunsigned int gpio;\n\tunsigned int active_low: 1;\n\tunsigned int retain_state_suspended: 1;\n\tunsigned int panic_indicator: 1;\n\tunsigned int default_state: 2;\n\tunsigned int retain_state_shutdown: 1;\n\tstruct gpio_desc *gpiod;\n};\n\ntypedef int (*gpio_blink_set_t)(struct gpio_desc *, int, long unsigned int *, long unsigned int *);\n\nstruct gpio_led_data {\n\tstruct led_classdev cdev;\n\tstruct gpio_desc *gpiod;\n\tu8 can_sleep;\n\tu8 blinking;\n\tgpio_blink_set_t platform_gpio_blink_set;\n};\n\nstruct gpio_led_platform_data {\n\tint num_leds;\n\tconst struct gpio_led *leds;\n\tgpio_blink_set_t gpio_blink_set;\n};\n\nstruct gpio_leds_priv {\n\tint num_leds;\n\tstruct gpio_led_data leds[0];\n};\n\nstruct gpio_pin_range {\n\tstruct list_head node;\n\tstruct pinctrl_dev *pctldev;\n\tstruct pinctrl_gpio_range range;\n};\n\nstruct gpio_rcar_bank_info {\n\tu32 iointsel;\n\tu32 inoutsel;\n\tu32 outdt;\n\tu32 posneg;\n\tu32 edglevel;\n\tu32 bothedge;\n\tu32 intmsk;\n};\n\nstruct gpio_rcar_info {\n\tbool has_outdtsel;\n\tbool has_both_edge_trigger;\n\tbool has_always_in;\n\tbool has_inen;\n};\n\nstruct gpio_rcar_priv {\n\tvoid *base;\n\traw_spinlock_t lock;\n\tstruct device *dev;\n\tstruct gpio_chip gpio_chip;\n\tunsigned int irq_parent;\n\tatomic_t wakeup_path;\n\tstruct gpio_rcar_info info;\n\tstruct gpio_rcar_bank_info bank_info;\n};\n\nstruct gpio_regulator_state;\n\nstruct gpio_regulator_config {\n\tconst char *supply_name;\n\tconst char *input_supply;\n\tunsigned int enabled_at_boot: 1;\n\tunsigned int startup_delay;\n\tenum gpiod_flags *gflags;\n\tint ngpios;\n\tstruct gpio_regulator_state *states;\n\tint nr_states;\n\tenum regulator_type type;\n\tstruct regulator_init_data *init_data;\n};\n\nstruct gpio_regulator_data {\n\tstruct regulator_desc desc;\n\tstruct gpio_desc **gpiods;\n\tint nr_gpios;\n\tstruct gpio_regulator_state *states;\n\tint nr_states;\n\tint state;\n};\n\nstruct gpio_regulator_state {\n\tint value;\n\tint gpios;\n};\n\nstruct gpio_set_config {\n\tu32 gpio;\n\tu32 direction;\n\tu32 polarity;\n\tu32 term_en;\n\tu32 term_pull_up;\n\tu32 state;\n};\n\nstruct gpio_v2_line_config_attribute {\n\tstruct gpio_v2_line_attribute attr;\n\t__u64 mask;\n};\n\nstruct gpio_v2_line_config {\n\t__u64 flags;\n\t__u32 num_attrs;\n\t__u32 padding[5];\n\tstruct gpio_v2_line_config_attribute attrs[10];\n};\n\nstruct gpio_v2_line_event {\n\t__u64 timestamp_ns;\n\t__u32 id;\n\t__u32 offset;\n\t__u32 seqno;\n\t__u32 line_seqno;\n\t__u32 padding[6];\n};\n\nstruct gpio_v2_line_request {\n\t__u32 offsets[64];\n\tchar consumer[32];\n\tstruct gpio_v2_line_config config;\n\t__u32 num_lines;\n\t__u32 event_buffer_size;\n\t__u32 padding[5];\n\t__s32 fd;\n};\n\nstruct gpio_v2_line_values {\n\t__u64 bits;\n\t__u64 mask;\n};\n\nstruct gpiochip_info {\n\tchar name[32];\n\tchar label[32];\n\t__u32 lines;\n};\n\nstruct gpiod_hog {\n\tstruct list_head list;\n\tconst char *chip_label;\n\tu16 chip_hwnum;\n\tconst char *line_name;\n\tlong unsigned int lflags;\n\tint dflags;\n};\n\nstruct gpiod_lookup {\n\tconst char *key;\n\tu16 chip_hwnum;\n\tconst char *con_id;\n\tunsigned int idx;\n\tlong unsigned int flags;\n};\n\nstruct gpiod_lookup_table {\n\tstruct list_head list;\n\tconst char *dev_id;\n\tstruct gpiod_lookup table[0];\n};\n\nstruct gpioevent_data {\n\t__u64 timestamp;\n\t__u32 id;\n};\n\nstruct gpioevent_request {\n\t__u32 lineoffset;\n\t__u32 handleflags;\n\t__u32 eventflags;\n\tchar consumer_label[32];\n\tint fd;\n};\n\nstruct gpiohandle_config {\n\t__u32 flags;\n\t__u8 default_values[64];\n\t__u32 padding[4];\n};\n\nstruct gpiohandle_data {\n\t__u8 values[64];\n};\n\nstruct gpiohandle_request {\n\t__u32 lineoffsets[64];\n\t__u32 flags;\n\t__u8 default_values[64];\n\tchar consumer_label[32];\n\t__u32 lines;\n\tint fd;\n};\n\nstruct gpiolib_seq_priv {\n\tbool newline;\n\tint idx;\n};\n\nstruct gpioline_info {\n\t__u32 line_offset;\n\t__u32 flags;\n\tchar name[32];\n\tchar consumer[32];\n};\n\nstruct gpioline_info_changed {\n\tstruct gpioline_info info;\n\t__u64 timestamp;\n\t__u32 event_type;\n\t__u32 padding[5];\n};\n\nstruct grant {\n\tgrant_ref_t gref;\n\tstruct page *page;\n\tstruct list_head node;\n};\n\nstruct grant_entry_header {\n\tuint16_t flags;\n\tdomid_t domid;\n};\n\nstruct grant_entry_v1 {\n\tuint16_t flags;\n\tdomid_t domid;\n\tuint32_t frame;\n};\n\nunion grant_entry_v2 {\n\tstruct grant_entry_header hdr;\n\tstruct {\n\t\tstruct grant_entry_header hdr;\n\t\tuint32_t pad0;\n\t\tuint64_t frame;\n\t} full_page;\n\tstruct {\n\t\tstruct grant_entry_header hdr;\n\t\tuint16_t page_off;\n\t\tuint16_t length;\n\t\tuint64_t frame;\n\t} sub_page;\n\tstruct {\n\t\tstruct grant_entry_header hdr;\n\t\tdomid_t trans_domid;\n\t\tuint16_t pad0;\n\t\tgrant_ref_t gref;\n\t} transitive;\n\tuint32_t __spacer[4];\n};\n\nstruct grant_frames {\n\txen_pfn_t *pfn;\n\tunsigned int count;\n\tvoid *vaddr;\n};\n\nstruct gre_base_hdr {\n\t__be16 flags;\n\t__be16 protocol;\n};\n\nstruct gre_full_hdr {\n\tstruct gre_base_hdr fixed_header;\n\t__be16 csum;\n\t__be16 reserved1;\n\t__be32 key;\n\t__be32 seq;\n};\n\nstruct gro_cell {\n\tstruct sk_buff_head napi_skbs;\n\tstruct napi_struct napi;\n};\n\nstruct gro_cells {\n\tstruct gro_cell *cells;\n};\n\nstruct pingroup {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tsize_t npins;\n};\n\nstruct group_desc {\n\tstruct pingroup grp;\n\tvoid *data;\n};\n\nstruct group_device {\n\tstruct list_head list;\n\tstruct device *dev;\n\tchar *name;\n};\n\nstruct group_filter {\n\tunion {\n\t\tstruct {\n\t\t\t__u32 gf_interface_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_group_aux;\n\t\t\t__u32 gf_fmode_aux;\n\t\t\t__u32 gf_numsrc_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist[1];\n\t\t};\n\t\tstruct {\n\t\t\t__u32 gf_interface;\n\t\t\tstruct __kernel_sockaddr_storage gf_group;\n\t\t\t__u32 gf_fmode;\n\t\t\t__u32 gf_numsrc;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist_flex[0];\n\t\t};\n\t};\n};\n\nstruct group_for_pci_data {\n\tstruct pci_dev *pdev;\n\tstruct iommu_group *group;\n};\n\nstruct group_info {\n\trefcount_t usage;\n\tint ngroups;\n\tkgid_t gid[0];\n};\n\nstruct group_req {\n\t__u32 gr_interface;\n\tstruct __kernel_sockaddr_storage gr_group;\n};\n\nstruct group_source_req {\n\t__u32 gsr_interface;\n\tstruct __kernel_sockaddr_storage gsr_group;\n\tstruct __kernel_sockaddr_storage gsr_source;\n};\n\nstruct gsb_buffer {\n\tu8 status;\n\tu8 len;\n\tunion {\n\t\tu16 wdata;\n\t\tu8 bdata;\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\tu8 data[0];\n\t\t};\n\t};\n};\n\nstruct rpc_clnt;\n\nstruct rpc_pipe_ops;\n\nstruct gss_alloc_pdo {\n\tstruct rpc_clnt *clnt;\n\tconst char *name;\n\tconst struct rpc_pipe_ops *upcall_ops;\n};\n\nstruct rpcsec_gss_oid {\n\tunsigned int len;\n\tu8 data[32];\n};\n\nstruct gss_api_ops;\n\nstruct pf_desc;\n\nstruct gss_api_mech {\n\tstruct list_head gm_list;\n\tstruct module *gm_owner;\n\tstruct rpcsec_gss_oid gm_oid;\n\tchar *gm_name;\n\tconst struct gss_api_ops *gm_ops;\n\tint gm_pf_num;\n\tstruct pf_desc *gm_pfs;\n\tconst char *gm_upcall_enctypes;\n};\n\nstruct gss_ctx;\n\nstruct xdr_netobj;\n\nstruct gss_api_ops {\n\tint (*gss_import_sec_context)(const void *, size_t, struct gss_ctx *, time64_t *, gfp_t);\n\tu32 (*gss_get_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*gss_verify_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*gss_wrap)(struct gss_ctx *, int, struct xdr_buf *, struct page **);\n\tu32 (*gss_unwrap)(struct gss_ctx *, int, int, struct xdr_buf *);\n\tvoid (*gss_delete_sec_context)(void *);\n};\n\nstruct rpc_authops;\n\nstruct rpc_cred_cache;\n\nstruct rpc_auth {\n\tunsigned int au_cslack;\n\tunsigned int au_rslack;\n\tunsigned int au_verfsize;\n\tunsigned int au_ralign;\n\tlong unsigned int au_flags;\n\tconst struct rpc_authops *au_ops;\n\trpc_authflavor_t au_flavor;\n\trefcount_t au_count;\n\tstruct rpc_cred_cache *au_credcache;\n};\n\nstruct gss_pipe;\n\nstruct gss_auth {\n\tstruct kref kref;\n\tstruct hlist_node hash;\n\tstruct rpc_auth rpc_auth;\n\tstruct gss_api_mech *mech;\n\tenum rpc_gss_svc service;\n\tstruct rpc_clnt *client;\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n\tstruct gss_pipe *gss_pipe[2];\n\tconst char *target_name;\n};\n\nstruct xdr_netobj {\n\tunsigned int len;\n\tu8 *data;\n};\n\nstruct gss_cl_ctx {\n\trefcount_t count;\n\tenum rpc_gss_proc gc_proc;\n\tu32 gc_seq;\n\tu32 gc_seq_xmit;\n\tspinlock_t gc_seq_lock;\n\tstruct gss_ctx *gc_gss_ctx;\n\tstruct xdr_netobj gc_wire_ctx;\n\tstruct xdr_netobj gc_acceptor;\n\tu32 gc_win;\n\tlong unsigned int gc_expiry;\n\tstruct callback_head gc_rcu;\n};\n\nstruct rpc_credops;\n\nstruct rpc_cred {\n\tstruct hlist_node cr_hash;\n\tstruct list_head cr_lru;\n\tstruct callback_head cr_rcu;\n\tstruct rpc_auth *cr_auth;\n\tconst struct rpc_credops *cr_ops;\n\tlong unsigned int cr_expire;\n\tlong unsigned int cr_flags;\n\trefcount_t cr_count;\n\tconst struct cred *cr_cred;\n};\n\nstruct gss_upcall_msg;\n\nstruct gss_cred {\n\tstruct rpc_cred gc_base;\n\tenum rpc_gss_svc gc_service;\n\tstruct gss_cl_ctx *gc_ctx;\n\tstruct gss_upcall_msg *gc_upcall;\n\tconst char *gc_principal;\n\tlong unsigned int gc_upcall_timestamp;\n};\n\nstruct gss_ctx {\n\tstruct gss_api_mech *mech_type;\n\tvoid *internal_ctx_id;\n\tunsigned int slack;\n\tunsigned int align;\n};\n\nstruct gss_domain {\n\tstruct auth_domain h;\n\tu32 pseudoflavor;\n};\n\nstruct krb5_ctx;\n\nstruct gss_krb5_enctype {\n\tconst u32 etype;\n\tconst u32 ctype;\n\tconst char *name;\n\tconst char *encrypt_name;\n\tconst char *aux_cipher;\n\tconst char *cksum_name;\n\tconst u16 signalg;\n\tconst u16 sealalg;\n\tconst u32 cksumlength;\n\tconst u32 keyed_cksum;\n\tconst u32 keybytes;\n\tconst u32 keylength;\n\tconst u32 Kc_length;\n\tconst u32 Ke_length;\n\tconst u32 Ki_length;\n\tint (*derive_key)(const struct gss_krb5_enctype *, const struct xdr_netobj *, struct xdr_netobj *, const struct xdr_netobj *, gfp_t);\n\tu32 (*encrypt)(struct krb5_ctx *, u32, struct xdr_buf *, struct page **);\n\tu32 (*decrypt)(struct krb5_ctx *, u32, u32, struct xdr_buf *, u32 *, u32 *);\n\tu32 (*get_mic)(struct krb5_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*verify_mic)(struct krb5_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*wrap)(struct krb5_ctx *, int, struct xdr_buf *, struct page **);\n\tu32 (*unwrap)(struct krb5_ctx *, int, int, struct xdr_buf *, unsigned int *, unsigned int *);\n};\n\nstruct rpc_pipe_dir_object_ops;\n\nstruct rpc_pipe_dir_object {\n\tstruct list_head pdo_head;\n\tconst struct rpc_pipe_dir_object_ops *pdo_ops;\n\tvoid *pdo_data;\n};\n\nstruct rpc_pipe;\n\nstruct gss_pipe {\n\tstruct rpc_pipe_dir_object pdo;\n\tstruct rpc_pipe *pipe;\n\tstruct rpc_clnt *clnt;\n\tconst char *name;\n\tstruct kref kref;\n};\n\nstruct rpc_gss_wire_cred {\n\tu32 gc_v;\n\tu32 gc_proc;\n\tu32 gc_seq;\n\tu32 gc_svc;\n\tstruct xdr_netobj gc_ctx;\n};\n\nstruct rsc;\n\nstruct gss_svc_data {\n\tstruct rpc_gss_wire_cred clcred;\n\tu32 gsd_databody_offset;\n\tstruct rsc *rsci;\n\t__be32 gsd_seq_num;\n\tu8 gsd_scratch[40];\n};\n\nstruct gss_svc_seq_data {\n\tu32 sd_max;\n\tlong unsigned int sd_win[2];\n\tspinlock_t sd_lock;\n};\n\nstruct rpc_pipe_msg {\n\tstruct list_head list;\n\tvoid *data;\n\tsize_t len;\n\tsize_t copied;\n\tint errno;\n};\n\nstruct rpc_timer {\n\tstruct list_head list;\n\tlong unsigned int expires;\n\tstruct delayed_work dwork;\n};\n\nstruct rpc_wait_queue {\n\tspinlock_t lock;\n\tstruct list_head tasks[4];\n\tunsigned char maxpriority;\n\tunsigned char priority;\n\tunsigned char nr;\n\tunsigned int qlen;\n\tstruct rpc_timer timer_list;\n\tconst char *name;\n};\n\nstruct gss_upcall_msg {\n\trefcount_t count;\n\tkuid_t uid;\n\tconst char *service_name;\n\tstruct rpc_pipe_msg msg;\n\tstruct list_head list;\n\tstruct gss_auth *auth;\n\tstruct rpc_pipe *pipe;\n\tstruct rpc_wait_queue rpc_waitqueue;\n\twait_queue_head_t waitqueue;\n\tstruct gss_cl_ctx *ctx;\n\tchar databuf[256];\n};\n\nstruct gssp_in_token {\n\tstruct page **pages;\n\tunsigned int page_base;\n\tunsigned int page_len;\n};\n\nstruct svc_cred {\n\tkuid_t cr_uid;\n\tkgid_t cr_gid;\n\tstruct group_info *cr_group_info;\n\tu32 cr_flavor;\n\tchar *cr_raw_principal;\n\tchar *cr_principal;\n\tchar *cr_targ_princ;\n\tstruct gss_api_mech *cr_gss_mech;\n};\n\nstruct gssp_upcall_data {\n\tstruct xdr_netobj in_handle;\n\tstruct gssp_in_token in_token;\n\tstruct xdr_netobj out_handle;\n\tstruct xdr_netobj out_token;\n\tstruct rpcsec_gss_oid mech_oid;\n\tstruct svc_cred creds;\n\tint found_creds;\n\tint major_status;\n\tint minor_status;\n};\n\ntypedef struct xdr_netobj utf8string;\n\ntypedef struct xdr_netobj gssx_buffer;\n\nstruct gssx_option;\n\nstruct gssx_option_array {\n\tu32 count;\n\tstruct gssx_option *data;\n};\n\nstruct gssx_call_ctx {\n\tutf8string locale;\n\tgssx_buffer server_ctx;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_ctx;\n\nstruct gssx_cred;\n\nstruct gssx_cb;\n\nstruct gssx_arg_accept_sec_context {\n\tstruct gssx_call_ctx call_ctx;\n\tstruct gssx_ctx *context_handle;\n\tstruct gssx_cred *cred_handle;\n\tstruct gssp_in_token input_token;\n\tstruct gssx_cb *input_cb;\n\tu32 ret_deleg_cred;\n\tstruct gssx_option_array options;\n\tstruct page **pages;\n\tunsigned int npages;\n};\n\nstruct gssx_cb {\n\tu64 initiator_addrtype;\n\tgssx_buffer initiator_address;\n\tu64 acceptor_addrtype;\n\tgssx_buffer acceptor_address;\n\tgssx_buffer application_data;\n};\n\nstruct gssx_name {\n\tgssx_buffer display_name;\n};\n\ntypedef struct gssx_name gssx_name;\n\nstruct gssx_cred_element;\n\nstruct gssx_cred_element_array {\n\tu32 count;\n\tstruct gssx_cred_element *data;\n};\n\nstruct gssx_cred {\n\tgssx_name desired_name;\n\tstruct gssx_cred_element_array elements;\n\tgssx_buffer cred_handle_reference;\n\tu32 needs_release;\n};\n\ntypedef struct xdr_netobj gssx_OID;\n\nstruct gssx_cred_element {\n\tgssx_name MN;\n\tgssx_OID mech;\n\tu32 cred_usage;\n\tu64 initiator_time_rec;\n\tu64 acceptor_time_rec;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_ctx {\n\tgssx_buffer exported_context_token;\n\tgssx_buffer state;\n\tu32 need_release;\n\tgssx_OID mech;\n\tgssx_name src_name;\n\tgssx_name targ_name;\n\tu64 lifetime;\n\tu64 ctx_flags;\n\tu32 locally_initiated;\n\tu32 open;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_name_attr {\n\tgssx_buffer attr;\n\tgssx_buffer value;\n\tstruct gssx_option_array extensions;\n};\n\nstruct gssx_name_attr_array {\n\tu32 count;\n\tstruct gssx_name_attr *data;\n};\n\nstruct gssx_option {\n\tgssx_buffer option;\n\tgssx_buffer value;\n};\n\nstruct gssx_status {\n\tu64 major_status;\n\tgssx_OID mech;\n\tu64 minor_status;\n\tutf8string major_status_string;\n\tutf8string minor_status_string;\n\tgssx_buffer server_ctx;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_res_accept_sec_context {\n\tstruct gssx_status status;\n\tstruct gssx_ctx *context_handle;\n\tgssx_buffer *output_token;\n\tstruct gssx_option_array options;\n};\n\nstruct gti_match_data {\n\tu32 gti_num_timers;\n};\n\nstruct gti_wdt_priv {\n\tstruct watchdog_device wdev;\n\tvoid *base;\n\tu32 clock_freq;\n\tstruct clk *sclk;\n\tu32 wdt_timer_idx;\n\tconst struct gti_match_data *data;\n};\n\nunion handle_parts {\n\tdepot_stack_handle_t handle;\n\tstruct {\n\t\tu32 pool_index_plus_1: 17;\n\t\tu32 offset: 10;\n\t\tu32 extra: 5;\n\t};\n};\n\nstruct handle_to_path_ctx {\n\tstruct path root;\n\tenum handle_to_path_flags flags;\n\tunsigned int fh_flags;\n};\n\nstruct handshake_net {\n\tspinlock_t hn_lock;\n\tint hn_pending;\n\tint hn_pending_max;\n\tstruct list_head hn_requests;\n\tlong unsigned int hn_flags;\n};\n\nstruct handshake_req;\n\nstruct handshake_proto {\n\tint hp_handler_class;\n\tsize_t hp_privsize;\n\tlong unsigned int hp_flags;\n\tint (*hp_accept)(struct handshake_req *, struct genl_info *, int);\n\tvoid (*hp_done)(struct handshake_req *, unsigned int, struct genl_info *);\n\tvoid (*hp_destroy)(struct handshake_req *);\n};\n\nstruct handshake_req {\n\tstruct list_head hr_list;\n\tstruct rhash_head hr_rhash;\n\tlong unsigned int hr_flags;\n\tconst struct handshake_proto *hr_proto;\n\tstruct sock *hr_sk;\n\tvoid (*hr_odestruct)(struct sock *);\n\tchar hr_priv[0];\n};\n\nstruct hash {\n\tint ino;\n\tint minor;\n\tint major;\n\tumode_t mode;\n\tstruct hash *next;\n\tchar name[4098];\n};\n\nstruct hash_prefix {\n\tconst char *name;\n\tconst u8 *data;\n\tsize_t size;\n};\n\nstruct hc_driver {\n\tconst char *description;\n\tconst char *product_desc;\n\tsize_t hcd_priv_size;\n\tirqreturn_t (*irq)(struct usb_hcd *);\n\tint flags;\n\tint (*reset)(struct usb_hcd *);\n\tint (*start)(struct usb_hcd *);\n\tint (*pci_suspend)(struct usb_hcd *, bool);\n\tint (*pci_resume)(struct usb_hcd *, pm_message_t);\n\tint (*pci_poweroff_late)(struct usb_hcd *, bool);\n\tvoid (*stop)(struct usb_hcd *);\n\tvoid (*shutdown)(struct usb_hcd *);\n\tint (*get_frame_number)(struct usb_hcd *);\n\tint (*urb_enqueue)(struct usb_hcd *, struct urb *, gfp_t);\n\tint (*urb_dequeue)(struct usb_hcd *, struct urb *, int);\n\tint (*map_urb_for_dma)(struct usb_hcd *, struct urb *, gfp_t);\n\tvoid (*unmap_urb_for_dma)(struct usb_hcd *, struct urb *);\n\tvoid (*endpoint_disable)(struct usb_hcd *, struct usb_host_endpoint *);\n\tvoid (*endpoint_reset)(struct usb_hcd *, struct usb_host_endpoint *);\n\tint (*hub_status_data)(struct usb_hcd *, char *);\n\tint (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16);\n\tint (*bus_suspend)(struct usb_hcd *);\n\tint (*bus_resume)(struct usb_hcd *);\n\tint (*start_port_reset)(struct usb_hcd *, unsigned int);\n\tlong unsigned int (*get_resuming_ports)(struct usb_hcd *);\n\tvoid (*relinquish_port)(struct usb_hcd *, int);\n\tint (*port_handed_over)(struct usb_hcd *, int);\n\tvoid (*clear_tt_buffer_complete)(struct usb_hcd *, struct usb_host_endpoint *);\n\tint (*alloc_dev)(struct usb_hcd *, struct usb_device *);\n\tvoid (*free_dev)(struct usb_hcd *, struct usb_device *);\n\tint (*alloc_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, unsigned int, gfp_t);\n\tint (*free_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, gfp_t);\n\tint (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*check_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tvoid (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tint (*address_device)(struct usb_hcd *, struct usb_device *, unsigned int);\n\tint (*enable_device)(struct usb_hcd *, struct usb_device *);\n\tint (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t);\n\tint (*reset_device)(struct usb_hcd *, struct usb_device *);\n\tint (*update_device)(struct usb_hcd *, struct usb_device *);\n\tint (*set_usb2_hw_lpm)(struct usb_hcd *, struct usb_device *, int);\n\tint (*enable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state);\n\tint (*disable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state);\n\tint (*find_raw_port_number)(struct usb_hcd *, int);\n\tint (*port_power)(struct usb_hcd *, int, bool);\n\tint (*submit_single_step_set_feature)(struct usb_hcd *, struct urb *, int);\n};\n\nstruct hclge_basic_info {\n\tu8 hw_tc_map;\n\tu8 rsv;\n\t__le16 mbx_api_version;\n\t__le32 pf_caps;\n};\n\nstruct hclge_bp_to_qs_map_cmd {\n\tu8 tc_id;\n\tu8 rsvd[2];\n\tu8 qs_group_id;\n\t__le32 qs_bit_map;\n\tu32 rsvd1;\n};\n\nstruct hclge_cfg {\n\tu8 tc_num;\n\tu8 vlan_fliter_cap;\n\tu16 tqp_desc_num;\n\tu16 rx_buf_len;\n\tu16 vf_rss_size_max;\n\tu16 pf_rss_size_max;\n\tu8 phy_addr;\n\tu8 media_type;\n\tu8 mac_addr[6];\n\tu8 default_speed;\n\tu32 numa_node_map;\n\tu32 tx_spare_buf_size;\n\tu16 speed_ability;\n\tu16 umv_space;\n};\n\nstruct hclge_cfg_com_tqp_queue_cmd {\n\t__le16 tqp_id;\n\t__le16 stream_id;\n\tu8 enable;\n\tu8 rsv[19];\n};\n\nstruct hclge_cfg_gro_status_cmd {\n\tu8 gro_en;\n\tu8 rsv[23];\n};\n\nstruct hclge_cfg_param_cmd {\n\t__le32 offset;\n\t__le32 rsv;\n\t__le32 param[4];\n};\n\nstruct hclge_cfg_pause_param_cmd {\n\tu8 mac_addr[6];\n\tu8 pause_trans_gap;\n\tu8 rsvd;\n\t__le16 pause_trans_time;\n\tu8 rsvd1[6];\n\tu8 mac_addr_extra[6];\n\tu16 rsvd2;\n};\n\nstruct hclge_cfg_tso_status_cmd {\n\t__le16 tso_mss_min;\n\t__le16 tso_mss_max;\n\tu8 rsv[20];\n};\n\nstruct hclge_cmdq_tx_timeout_map {\n\tu32 opcode;\n\tu32 tx_timeout;\n};\n\nstruct hclge_comm_caps_bit_map {\n\tu16 imp_bit;\n\tu16 local_bit;\n};\n\nstruct hclge_desc;\n\nstruct hclge_comm_cmq_ring {\n\tdma_addr_t desc_dma_addr;\n\tstruct hclge_desc *desc;\n\tstruct pci_dev *pdev;\n\tu32 head;\n\tu32 tail;\n\tu16 buf_size;\n\tu16 desc_num;\n\tint next_to_use;\n\tint next_to_clean;\n\tu8 ring_type;\n\tspinlock_t lock;\n};\n\nstruct hclge_comm_hw;\n\nstruct hclge_comm_cmq_ops {\n\tvoid (*trace_cmd_send)(struct hclge_comm_hw *, struct hclge_desc *, int, bool);\n\tvoid (*trace_cmd_get)(struct hclge_comm_hw *, struct hclge_desc *, int, bool);\n};\n\nstruct hclge_comm_cmq {\n\tstruct hclge_comm_cmq_ring csq;\n\tstruct hclge_comm_cmq_ring crq;\n\tu16 tx_timeout;\n\tenum hclge_comm_cmd_status last_status;\n\tstruct hclge_comm_cmq_ops ops;\n};\n\nstruct hclge_comm_errcode {\n\tu32 imp_errcode;\n\tint common_errno;\n};\n\nstruct hclge_comm_firmware_compat_cmd {\n\t__le32 compat;\n\tu8 rsv[20];\n};\n\nstruct hclge_comm_hw {\n\tvoid *io_base;\n\tvoid *mem_base;\n\tstruct hclge_comm_cmq cmq;\n\tlong unsigned int comm_state;\n};\n\nstruct hclge_comm_query_scc_cmd {\n\t__le32 scc_version;\n\tu8 rsv[20];\n};\n\nstruct hclge_comm_query_version_cmd {\n\t__le32 firmware;\n\t__le32 hardware;\n\t__le32 api_caps;\n\t__le32 caps[3];\n};\n\nstruct hclge_comm_rss_tuple_cfg {\n\tu8 ipv4_tcp_en;\n\tu8 ipv4_udp_en;\n\tu8 ipv4_sctp_en;\n\tu8 ipv4_fragment_en;\n\tu8 ipv6_tcp_en;\n\tu8 ipv6_udp_en;\n\tu8 ipv6_sctp_en;\n\tu8 ipv6_fragment_en;\n};\n\nstruct hclge_comm_rss_cfg {\n\tu8 rss_hash_key[40];\n\tu16 *rss_indirection_tbl;\n\tu32 rss_algo;\n\tstruct hclge_comm_rss_tuple_cfg rss_tuple_sets;\n\tu32 rss_size;\n};\n\nstruct hclge_comm_rss_config_cmd {\n\tu8 hash_config;\n\tu8 rsv[7];\n\tu8 hash_key[16];\n};\n\nstruct hclge_comm_rss_ind_tbl_cmd {\n\t__le16 start_table_index;\n\t__le16 rss_set_bitmap;\n\tu8 rss_qid_h[4];\n\tu8 rss_qid_l[16];\n};\n\nstruct hclge_comm_rss_input_tuple_cmd {\n\tu8 ipv4_tcp_en;\n\tu8 ipv4_udp_en;\n\tu8 ipv4_sctp_en;\n\tu8 ipv4_fragment_en;\n\tu8 ipv6_tcp_en;\n\tu8 ipv6_udp_en;\n\tu8 ipv6_sctp_en;\n\tu8 ipv6_fragment_en;\n\tu8 rsv[16];\n};\n\nstruct hclge_comm_rss_tc_mode_cmd {\n\t__le16 rss_tc_mode[8];\n\tu8 rsv[8];\n};\n\nstruct hclge_comm_stats_str {\n\tchar desc[32];\n\tu32 stats_num;\n\tlong unsigned int offset;\n};\n\nstruct hnae3_ae_algo;\n\nstruct hnae3_handle;\n\nstruct hnae3_queue {\n\tvoid *io_base;\n\tvoid *mem_base;\n\tstruct hnae3_ae_algo *ae_algo;\n\tstruct hnae3_handle *handle;\n\tint tqp_index;\n\tu32 buf_size;\n\tu16 tx_desc_num;\n\tu16 rx_desc_num;\n};\n\nstruct hclge_comm_tqp_stats {\n\tu64 rcb_tx_ring_pktnum_rcd;\n\tu64 rcb_rx_ring_pktnum_rcd;\n};\n\nstruct hclge_comm_tqp {\n\tstruct device *dev;\n\tstruct hnae3_queue q;\n\tstruct hclge_comm_tqp_stats tqp_stats;\n\tu16 index;\n\tbool alloced;\n};\n\nstruct hclge_common_lb_cmd {\n\tu8 mask;\n\tu8 enable;\n\tu8 result;\n\tu8 rsv[21];\n};\n\nstruct hclge_config_auto_neg_cmd {\n\t__le32 cfg_an_cmd_flag;\n\tu8 rsv[20];\n};\n\nstruct hclge_config_fec_cmd {\n\tu8 fec_mode;\n\tu8 default_config;\n\tu8 rsv[22];\n};\n\nstruct hclge_config_mac_mode_cmd {\n\t__le32 txrx_pad_fcs_loop_en;\n\tu8 rsv[20];\n};\n\nstruct hclge_config_mac_speed_dup_cmd {\n\tu8 speed_dup;\n\tu8 mac_change_fec_en;\n\tu8 rsv[4];\n\tu8 lane_num;\n\tu8 rsv1[17];\n};\n\nstruct hclge_config_max_frm_size_cmd {\n\t__le16 max_frm_size;\n\tu8 min_frm_size;\n\tu8 rsv[21];\n};\n\nstruct hclge_ctrl_vector_chain_cmd {\n\tu8 int_vector_id_l;\n\tu8 int_cause_num;\n\t__le16 tqp_type_and_id[10];\n\tu8 vfid;\n\tu8 int_vector_id_h;\n};\n\nstruct hclge_dbg_bitmap_cmd {\n\tunion {\n\t\tu8 bitmap;\n\t\tstruct {\n\t\t\tu8 bit0: 1;\n\t\t\tu8 bit1: 1;\n\t\t\tu8 bit2: 1;\n\t\t\tu8 bit3: 1;\n\t\t\tu8 bit4: 1;\n\t\t\tu8 bit5: 1;\n\t\t\tu8 bit6: 1;\n\t\t\tu8 bit7: 1;\n\t\t};\n\t};\n};\n\nstruct hclge_dbg_dfx_message {\n\tint flag;\n\tchar message[60];\n};\n\nstruct hclge_dev;\n\nstruct hclge_dbg_func {\n\tenum hnae3_dbg_cmd cmd;\n\tint (*dbg_dump)(struct hclge_dev *, char *, int);\n\tint (*dbg_dump_reg)(struct hclge_dev *, enum hnae3_dbg_cmd, char *, int);\n};\n\nstruct hclge_dbg_item {\n\tchar name[32];\n\tu16 interval;\n};\n\nstruct hclge_dbg_reg_common_msg {\n\tint msg_num;\n\tint offset;\n\tenum hclge_opcode_type cmd;\n};\n\nstruct hclge_dbg_reg_type_info {\n\tenum hnae3_dbg_cmd cmd;\n\tconst struct hclge_dbg_dfx_message *dfx_msg;\n\tstruct hclge_dbg_reg_common_msg reg_msg;\n};\n\nstruct hclge_dbg_status_dfx_info {\n\tu32 offset;\n\tchar message[60];\n};\n\nstruct hclge_dbg_tcam_msg {\n\tu8 stage;\n\tu32 loc;\n};\n\nstruct hclge_dbg_vlan_cfg {\n\tu16 pvid;\n\tu8 accept_tag1;\n\tu8 accept_tag2;\n\tu8 accept_untag1;\n\tu8 accept_untag2;\n\tu8 insert_tag1;\n\tu8 insert_tag2;\n\tu8 shift_tag;\n\tu8 strip_tag1;\n\tu8 strip_tag2;\n\tu8 drop_tag1;\n\tu8 drop_tag2;\n\tu8 pri_only1;\n\tu8 pri_only2;\n};\n\nstruct hclge_desc {\n\t__le16 opcode;\n\t__le16 flag;\n\t__le16 retval;\n\t__le16 rsv;\n\t__le32 data[6];\n};\n\nstruct hclge_wol_info {\n\tu32 wol_support_mode;\n\tu32 wol_current_mode;\n\tu8 wol_sopass[6];\n\tu8 wol_sopass_size;\n};\n\nstruct hclge_mac {\n\tu8 mac_id;\n\tu8 phy_addr;\n\tu8 flag;\n\tu8 media_type;\n\tu8 mac_addr[6];\n\tu8 autoneg;\n\tu8 req_autoneg;\n\tu8 duplex;\n\tu8 req_duplex;\n\tu8 support_autoneg;\n\tu8 speed_type;\n\tu8 lane_num;\n\tu32 speed;\n\tu32 req_speed;\n\tu32 max_speed;\n\tu32 speed_ability;\n\tu32 module_type;\n\tu32 fec_mode;\n\tu32 user_fec_mode;\n\tu32 fec_ability;\n\tint link;\n\tstruct hclge_wol_info wol;\n\tstruct phy_device *phydev;\n\tstruct mii_bus *mdio_bus;\n\tphy_interface_t phy_if;\n\tlong unsigned int supported[2];\n\tlong unsigned int advertising[2];\n};\n\nstruct hclge_hw {\n\tstruct hclge_comm_hw hw;\n\tstruct hclge_mac mac;\n\tint num_vec;\n};\n\nstruct hclge_misc_vector {\n\tu8 *addr;\n\tint vector_irq;\n\tchar name[32];\n};\n\nstruct hclge_mac_stats {\n\tu64 mac_tx_mac_pause_num;\n\tu64 mac_rx_mac_pause_num;\n\tu64 rsv0;\n\tu64 mac_tx_pfc_pri0_pkt_num;\n\tu64 mac_tx_pfc_pri1_pkt_num;\n\tu64 mac_tx_pfc_pri2_pkt_num;\n\tu64 mac_tx_pfc_pri3_pkt_num;\n\tu64 mac_tx_pfc_pri4_pkt_num;\n\tu64 mac_tx_pfc_pri5_pkt_num;\n\tu64 mac_tx_pfc_pri6_pkt_num;\n\tu64 mac_tx_pfc_pri7_pkt_num;\n\tu64 mac_rx_pfc_pri0_pkt_num;\n\tu64 mac_rx_pfc_pri1_pkt_num;\n\tu64 mac_rx_pfc_pri2_pkt_num;\n\tu64 mac_rx_pfc_pri3_pkt_num;\n\tu64 mac_rx_pfc_pri4_pkt_num;\n\tu64 mac_rx_pfc_pri5_pkt_num;\n\tu64 mac_rx_pfc_pri6_pkt_num;\n\tu64 mac_rx_pfc_pri7_pkt_num;\n\tu64 mac_tx_total_pkt_num;\n\tu64 mac_tx_total_oct_num;\n\tu64 mac_tx_good_pkt_num;\n\tu64 mac_tx_bad_pkt_num;\n\tu64 mac_tx_good_oct_num;\n\tu64 mac_tx_bad_oct_num;\n\tu64 mac_tx_uni_pkt_num;\n\tu64 mac_tx_multi_pkt_num;\n\tu64 mac_tx_broad_pkt_num;\n\tu64 mac_tx_undersize_pkt_num;\n\tu64 mac_tx_oversize_pkt_num;\n\tu64 mac_tx_64_oct_pkt_num;\n\tu64 mac_tx_65_127_oct_pkt_num;\n\tu64 mac_tx_128_255_oct_pkt_num;\n\tu64 mac_tx_256_511_oct_pkt_num;\n\tu64 mac_tx_512_1023_oct_pkt_num;\n\tu64 mac_tx_1024_1518_oct_pkt_num;\n\tu64 mac_tx_1519_2047_oct_pkt_num;\n\tu64 mac_tx_2048_4095_oct_pkt_num;\n\tu64 mac_tx_4096_8191_oct_pkt_num;\n\tu64 rsv1;\n\tu64 mac_tx_8192_9216_oct_pkt_num;\n\tu64 mac_tx_9217_12287_oct_pkt_num;\n\tu64 mac_tx_12288_16383_oct_pkt_num;\n\tu64 mac_tx_1519_max_good_oct_pkt_num;\n\tu64 mac_tx_1519_max_bad_oct_pkt_num;\n\tu64 mac_rx_total_pkt_num;\n\tu64 mac_rx_total_oct_num;\n\tu64 mac_rx_good_pkt_num;\n\tu64 mac_rx_bad_pkt_num;\n\tu64 mac_rx_good_oct_num;\n\tu64 mac_rx_bad_oct_num;\n\tu64 mac_rx_uni_pkt_num;\n\tu64 mac_rx_multi_pkt_num;\n\tu64 mac_rx_broad_pkt_num;\n\tu64 mac_rx_undersize_pkt_num;\n\tu64 mac_rx_oversize_pkt_num;\n\tu64 mac_rx_64_oct_pkt_num;\n\tu64 mac_rx_65_127_oct_pkt_num;\n\tu64 mac_rx_128_255_oct_pkt_num;\n\tu64 mac_rx_256_511_oct_pkt_num;\n\tu64 mac_rx_512_1023_oct_pkt_num;\n\tu64 mac_rx_1024_1518_oct_pkt_num;\n\tu64 mac_rx_1519_2047_oct_pkt_num;\n\tu64 mac_rx_2048_4095_oct_pkt_num;\n\tu64 mac_rx_4096_8191_oct_pkt_num;\n\tu64 rsv2;\n\tu64 mac_rx_8192_9216_oct_pkt_num;\n\tu64 mac_rx_9217_12287_oct_pkt_num;\n\tu64 mac_rx_12288_16383_oct_pkt_num;\n\tu64 mac_rx_1519_max_good_oct_pkt_num;\n\tu64 mac_rx_1519_max_bad_oct_pkt_num;\n\tu64 mac_tx_fragment_pkt_num;\n\tu64 mac_tx_undermin_pkt_num;\n\tu64 mac_tx_jabber_pkt_num;\n\tu64 mac_tx_err_all_pkt_num;\n\tu64 mac_tx_from_app_good_pkt_num;\n\tu64 mac_tx_from_app_bad_pkt_num;\n\tu64 mac_rx_fragment_pkt_num;\n\tu64 mac_rx_undermin_pkt_num;\n\tu64 mac_rx_jabber_pkt_num;\n\tu64 mac_rx_fcs_err_pkt_num;\n\tu64 mac_rx_send_app_good_pkt_num;\n\tu64 mac_rx_send_app_bad_pkt_num;\n\tu64 mac_tx_pfc_pause_pkt_num;\n\tu64 mac_rx_pfc_pause_pkt_num;\n\tu64 mac_tx_ctrl_pkt_num;\n\tu64 mac_rx_ctrl_pkt_num;\n\tu64 mac_tx_pfc_pri0_xoff_time;\n\tu64 mac_tx_pfc_pri1_xoff_time;\n\tu64 mac_tx_pfc_pri2_xoff_time;\n\tu64 mac_tx_pfc_pri3_xoff_time;\n\tu64 mac_tx_pfc_pri4_xoff_time;\n\tu64 mac_tx_pfc_pri5_xoff_time;\n\tu64 mac_tx_pfc_pri6_xoff_time;\n\tu64 mac_tx_pfc_pri7_xoff_time;\n\tu64 mac_rx_pfc_pri0_xoff_time;\n\tu64 mac_rx_pfc_pri1_xoff_time;\n\tu64 mac_rx_pfc_pri2_xoff_time;\n\tu64 mac_rx_pfc_pri3_xoff_time;\n\tu64 mac_rx_pfc_pri4_xoff_time;\n\tu64 mac_rx_pfc_pri5_xoff_time;\n\tu64 mac_rx_pfc_pri6_xoff_time;\n\tu64 mac_rx_pfc_pri7_xoff_time;\n\tu64 mac_tx_pause_xoff_time;\n\tu64 mac_rx_pause_xoff_time;\n};\n\nstruct hclge_fec_stats {\n\tu64 rs_corr_blocks;\n\tu64 rs_uncorr_blocks;\n\tu64 rs_error_blocks;\n\tu64 base_r_lane_num;\n\tu64 base_r_corr_blocks;\n\tu64 base_r_uncorr_blocks;\n\tunion {\n\t\tstruct {\n\t\t\tu64 base_r_corr_per_lanes[8];\n\t\t\tu64 base_r_uncorr_per_lanes[8];\n\t\t};\n\t\tu64 per_lanes[16];\n\t};\n};\n\nstruct hclge_rst_stats {\n\tu32 reset_done_cnt;\n\tu32 hw_reset_done_cnt;\n\tu32 pf_rst_cnt;\n\tu32 flr_rst_cnt;\n\tu32 global_rst_cnt;\n\tu32 imp_rst_cnt;\n\tu32 reset_cnt;\n\tu32 reset_fail_cnt;\n};\n\nstruct semaphore {\n\traw_spinlock_t lock;\n\tunsigned int count;\n\tstruct list_head wait_list;\n};\n\nstruct hclge_pg_info {\n\tu8 pg_id;\n\tu8 pg_sch_mode;\n\tu8 tc_bit_map;\n\tu32 bw_limit;\n\tu8 tc_dwrr[8];\n};\n\nstruct hclge_tc_info {\n\tu8 tc_id;\n\tu8 tc_sch_mode;\n\tu8 pgid;\n\tu32 bw_limit;\n};\n\nstruct hclge_tm_info {\n\tu8 num_tc;\n\tu8 num_pg;\n\tu8 pg_dwrr[4];\n\tu8 prio_tc[8];\n\tstruct hclge_pg_info pg_info[4];\n\tstruct hclge_tc_info tc_info[8];\n\tenum hclge_fc_mode fc_mode;\n\tu8 hw_pfc_map;\n\tu8 pfc_en;\n};\n\nstruct hclge_vlan_type_cfg {\n\tu16 rx_ot_fst_vlan_type;\n\tu16 rx_ot_sec_vlan_type;\n\tu16 rx_in_fst_vlan_type;\n\tu16 rx_in_sec_vlan_type;\n\tu16 tx_ot_vlan_type;\n\tu16 tx_in_vlan_type;\n};\n\nstruct hclge_fd_key_cfg {\n\tu8 key_sel;\n\tu8 inner_sipv6_word_en;\n\tu8 inner_dipv6_word_en;\n\tu8 outer_sipv6_word_en;\n\tu8 outer_dipv6_word_en;\n\tu32 tuple_active;\n\tu32 meta_data_active;\n};\n\nstruct hclge_fd_user_def_cfg {\n\tu16 ref_cnt;\n\tu16 offset;\n};\n\nstruct hclge_fd_cfg {\n\tu8 fd_mode;\n\tu16 max_key_length;\n\tu32 rule_num[2];\n\tu16 cnt_num[2];\n\tstruct hclge_fd_key_cfg key_cfg[2];\n\tstruct hclge_fd_user_def_cfg user_def_cfg[3];\n};\n\nstruct hclge_mac_tnl_stats {\n\tu64 time;\n\tu32 status;\n};\n\nstruct hnae3_ae_dev;\n\nstruct hclge_vport;\n\nstruct hnae3_client;\n\nstruct hclge_ptp;\n\nstruct hclge_dev {\n\tstruct pci_dev *pdev;\n\tstruct hnae3_ae_dev *ae_dev;\n\tstruct hclge_hw hw;\n\tstruct hclge_misc_vector misc_vector;\n\tstruct hclge_mac_stats mac_stats;\n\tstruct hclge_fec_stats fec_stats;\n\tlong unsigned int state;\n\tlong unsigned int flr_state;\n\tlong unsigned int last_reset_time;\n\tenum hnae3_reset_type reset_type;\n\tenum hnae3_reset_type reset_level;\n\tlong unsigned int default_reset_request;\n\tlong unsigned int reset_request;\n\tlong unsigned int reset_pending;\n\tstruct hclge_rst_stats rst_stats;\n\tstruct semaphore reset_sem;\n\tu32 fw_version;\n\tu16 num_tqps;\n\tu16 num_req_vfs;\n\tu16 base_tqp_pid;\n\tu16 alloc_rss_size;\n\tu16 vf_rss_size_max;\n\tu16 pf_rss_size_max;\n\tu32 tx_spare_buf_size;\n\tu16 fdir_pf_filter_count;\n\tu16 num_alloc_vport;\n\tnodemask_t numa_node_mask;\n\tu16 rx_buf_len;\n\tu16 num_tx_desc;\n\tu16 num_rx_desc;\n\tu8 hw_tc_map;\n\tenum hclge_fc_mode fc_mode_last_time;\n\tu8 support_sfp_query;\n\tu8 tx_sch_mode;\n\tu8 tc_max;\n\tu8 pfc_max;\n\tu8 default_up;\n\tu8 dcbx_cap;\n\tstruct hclge_tm_info tm_info;\n\tu16 num_msi;\n\tu16 num_msi_left;\n\tu16 num_msi_used;\n\tu16 *vector_status;\n\tint *vector_irq;\n\tu16 num_nic_msi;\n\tu16 num_roce_msi;\n\tlong unsigned int service_timer_period;\n\tlong unsigned int service_timer_previous;\n\tstruct timer_list reset_timer;\n\tstruct delayed_work service_task;\n\tbool cur_promisc;\n\tint num_alloc_vfs;\n\tstruct hclge_comm_tqp *htqp;\n\tstruct hclge_vport *vport;\n\tstruct dentry *hclge_dbgfs;\n\tstruct hnae3_client *nic_client;\n\tstruct hnae3_client *roce_client;\n\tu32 flag;\n\tu32 pkt_buf_size;\n\tu32 tx_buf_size;\n\tu32 dv_buf_size;\n\tu32 mps;\n\tstruct mutex vport_lock;\n\tstruct hclge_vlan_type_cfg vlan_type_cfg;\n\tlong unsigned int vlan_table[16384];\n\tlong unsigned int vf_vlan_full[4];\n\tlong unsigned int vport_config_block[4];\n\tstruct hclge_fd_cfg fd_cfg;\n\tstruct hlist_head fd_rule_list;\n\tspinlock_t fd_rule_lock;\n\tu16 hclge_fd_rule_num;\n\tlong unsigned int serv_processed_cnt;\n\tlong unsigned int last_serv_processed;\n\tlong unsigned int last_rst_scheduled;\n\tlong unsigned int last_mbx_scheduled;\n\tlong unsigned int fd_bmap[64];\n\tenum HCLGE_FD_ACTIVE_RULE_TYPE fd_active_type;\n\tu8 fd_en;\n\tbool gro_en;\n\tu16 wanted_umv_size;\n\tu16 max_umv_size;\n\tu16 priv_umv_size;\n\tu16 share_umv_size;\n\tu16 used_mc_mac_num;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct hclge_mac_tnl_stats *type;\n\t\t\tconst struct hclge_mac_tnl_stats *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct hclge_mac_tnl_stats *ptr;\n\t\t\tconst struct hclge_mac_tnl_stats *ptr_const;\n\t\t};\n\t\tstruct hclge_mac_tnl_stats buf[8];\n\t} mac_tnl_log;\n\tstruct hclge_ptp *ptp;\n\tstruct devlink *devlink;\n\tstruct hclge_comm_rss_cfg rss_cfg;\n};\n\nstruct hclge_dev_specs_0_cmd {\n\t__le32 rsv0;\n\t__le32 mac_entry_num;\n\t__le32 mng_entry_num;\n\t__le16 rss_ind_tbl_size;\n\t__le16 rss_key_size;\n\t__le16 int_ql_max;\n\tu8 max_non_tso_bd_num;\n\tu8 rsv1;\n\t__le32 max_tm_rate;\n};\n\nstruct hclge_dev_specs_1_cmd {\n\t__le16 max_frm_size;\n\t__le16 max_qset_num;\n\t__le16 max_int_gl;\n\tu8 rsv0[2];\n\t__le16 umv_size;\n\t__le16 mc_mac_size;\n\tu8 rsv1[6];\n\tu8 tnl_num;\n\tu8 hilink_version;\n\tu8 rsv2[4];\n};\n\nstruct hclge_devlink_priv {\n\tstruct hclge_dev *hdev;\n};\n\nstruct hclge_ets_tc_weight_cmd {\n\tu8 tc_weight[8];\n\tu8 weight_offset;\n\tu8 rsvd[15];\n};\n\nstruct hclge_fd_ad_cnt_read_cmd {\n\tu8 rsv0[4];\n\t__le16 index;\n\tu8 rsv1[2];\n\t__le64 cnt;\n\tu8 rsv2[8];\n};\n\nstruct hclge_fd_ad_config_cmd {\n\tu8 stage;\n\tu8 rsv1[3];\n\t__le32 index;\n\t__le64 ad_data;\n\tu8 rsv2[8];\n};\n\nstruct hclge_fd_ad_data {\n\tu16 ad_id;\n\tu8 drop_packet;\n\tu8 forward_to_direct_queue;\n\tu16 queue_id;\n\tu8 use_counter;\n\tu8 counter_id;\n\tu8 use_next_stage;\n\tu8 write_rule_id_to_bd;\n\tu8 next_input_key;\n\tu16 rule_id;\n\tu16 tc_size;\n\tu8 override_tc;\n};\n\nstruct hclge_fd_rule_tuples {\n\tu8 src_mac[6];\n\tu8 dst_mac[6];\n\tu32 src_ip[4];\n\tu32 dst_ip[4];\n\tu16 src_port;\n\tu16 dst_port;\n\tu16 vlan_tag1;\n\tu16 ether_proto;\n\tu16 l2_user_def;\n\tu16 l3_user_def;\n\tu32 l4_user_def;\n\tu8 ip_tos;\n\tu8 ip_proto;\n};\n\nstruct hclge_fd_user_def_info {\n\tenum HCLGE_FD_USER_DEF_LAYER layer;\n\tu16 data;\n\tu16 data_mask;\n\tu16 offset;\n};\n\nstruct hclge_fd_rule {\n\tstruct hlist_node rule_node;\n\tstruct hclge_fd_rule_tuples tuples;\n\tstruct hclge_fd_rule_tuples tuples_mask;\n\tu32 unused_tuple;\n\tu32 flow_type;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int cookie;\n\t\t\tu8 tc;\n\t\t} cls_flower;\n\t\tstruct {\n\t\t\tu16 flow_id;\n\t\t} arfs;\n\t\tstruct {\n\t\t\tstruct hclge_fd_user_def_info user_def;\n\t\t} ep;\n\t};\n\tu16 queue_id;\n\tu16 vf_id;\n\tu16 location;\n\tenum HCLGE_FD_ACTIVE_RULE_TYPE rule_type;\n\tenum HCLGE_FD_NODE_STATE state;\n\tu8 action;\n};\n\nstruct hclge_fd_tcam_config_1_cmd {\n\tu8 stage;\n\tu8 xy_sel;\n\tu8 port_info;\n\tu8 rsv1[1];\n\t__le32 index;\n\tu8 entry_vld;\n\tu8 rsv2[7];\n\tu8 tcam_data[8];\n};\n\nstruct hclge_fd_tcam_config_2_cmd {\n\tu8 tcam_data[24];\n};\n\nstruct hclge_fd_tcam_config_3_cmd {\n\tu8 tcam_data[20];\n\tu8 rsv[4];\n};\n\nstruct hclge_fd_user_def_cfg_cmd {\n\t__le16 ol2_cfg;\n\t__le16 l2_cfg;\n\t__le16 ol3_cfg;\n\t__le16 l3_cfg;\n\t__le16 ol4_cfg;\n\t__le16 l4_cfg;\n\tu8 rsv[12];\n};\n\nstruct hclge_func_status_cmd {\n\t__le32 vf_rst_state[4];\n\tu8 pf_state;\n\tu8 mac_id;\n\tu8 rsv1;\n\tu8 pf_cnt_in_mac;\n\tu8 pf_num;\n\tu8 vf_num;\n\tu8 rsv[2];\n};\n\nstruct hclge_get_fd_allocation_cmd {\n\t__le32 stage1_entry_num;\n\t__le32 stage2_entry_num;\n\t__le16 stage1_counter_num;\n\t__le16 stage2_counter_num;\n\tu8 rsv[12];\n};\n\nstruct hclge_get_fd_mode_cmd {\n\tu8 mode;\n\tu8 enable;\n\tu8 rsv[22];\n};\n\nstruct hclge_get_imp_bd_cmd {\n\t__le32 bd_num;\n\tu8 rsv[20];\n};\n\nstruct hclge_hw_blk {\n\tu32 msk;\n\tconst char *name;\n\tint (*config_err_int)(struct hclge_dev *, bool);\n};\n\nstruct hclge_hw_error {\n\tu32 int_msk;\n\tconst char *msg;\n\tenum hnae3_reset_type reset_level;\n};\n\nstruct hclge_hw_module_id {\n\tenum hclge_mod_name_list module_id;\n\tconst char *msg;\n\tvoid (*query_reg_info)(struct hclge_dev *);\n};\n\nstruct hclge_hw_type_id {\n\tenum hclge_err_type_list type_id;\n\tconst char *msg;\n\tbool cause_by_vf;\n};\n\nstruct hclge_link_mode_bmap {\n\tu16 support_bit;\n\tenum ethtool_link_mode_bit_indices link_mode;\n};\n\nstruct hclge_link_status_cmd {\n\tu8 status;\n\tu8 rsv[23];\n};\n\nstruct hclge_mac_ethertype_idx_rd_cmd {\n\tu8 flags;\n\tu8 resp_code;\n\t__le16 vlan_tag;\n\tu8 mac_addr[6];\n\t__le16 index;\n\t__le16 ethter_type;\n\t__le16 egress_port;\n\t__le16 egress_queue;\n\t__le16 rev0;\n\tu8 i_port_bitmap;\n\tu8 i_port_direction;\n\tu8 rev1[2];\n};\n\nstruct hclge_mac_mgr_tbl_entry_cmd {\n\tu8 flags;\n\tu8 resp_code;\n\t__le16 vlan_tag;\n\tu8 mac_addr[6];\n\t__le16 rsv1;\n\t__le16 ethter_type;\n\t__le16 egress_port;\n\t__le16 egress_queue;\n\tu8 sw_port_id_aware;\n\tu8 rsv2;\n\tu8 i_port_bitmap;\n\tu8 i_port_direction;\n\tu8 rsv3[2];\n};\n\nstruct hclge_mac_node {\n\tstruct list_head node;\n\tenum HCLGE_MAC_NODE_STATE state;\n\tu8 mac_addr[6];\n};\n\nstruct hclge_mac_speed_map {\n\tu32 speed_drv;\n\tu32 speed_fw;\n};\n\nstruct hclge_mac_vlan_switch_cmd {\n\tu8 roce_sel;\n\tu8 rsv1[3];\n\t__le32 func_id;\n\tu8 switch_param;\n\tu8 rsv2[3];\n\tu8 param_mask;\n\tu8 rsv3[11];\n};\n\nstruct hclge_mac_vlan_tbl_entry_cmd {\n\tu8 flags;\n\tu8 resp_code;\n\t__le16 vlan_tag;\n\t__le32 mac_addr_hi32;\n\t__le16 mac_addr_lo16;\n\t__le16 rsv1;\n\tu8 entry_type;\n\tu8 mc_mac_en;\n\t__le16 egress_port;\n\t__le16 egress_queue;\n\tu8 rsv2[6];\n};\n\nstruct hclge_mbx_link_mode {\n\t__le16 idx;\n\t__le64 link_mode;\n} __attribute__((packed));\n\nstruct hclge_mbx_link_status {\n\t__le16 link_status;\n\t__le32 speed;\n\t__le16 duplex;\n\tu8 flag;\n} __attribute__((packed));\n\nstruct hclge_mbx_mtu_info {\n\t__le32 mtu;\n};\n\nstruct hclge_mbx_vf_to_pf_cmd;\n\nstruct hclge_respond_to_vf_msg;\n\nstruct hclge_mbx_ops_param {\n\tstruct hclge_vport *vport;\n\tstruct hclge_mbx_vf_to_pf_cmd *req;\n\tstruct hclge_respond_to_vf_msg *resp_msg;\n};\n\nstruct hclge_pf_to_vf_msg {\n\t__le16 code;\n\tunion {\n\t\tstruct {\n\t\t\t__le16 vf_mbx_msg_code;\n\t\t\t__le16 vf_mbx_msg_subcode;\n\t\t\t__le16 resp_status;\n\t\t\tu8 resp_data[8];\n\t\t};\n\t\tstruct {\n\t\t\tu8 msg_data[14];\n\t\t};\n\t};\n};\n\nstruct hclge_mbx_pf_to_vf_cmd {\n\tu8 dest_vfid;\n\tu8 rsv[3];\n\tu8 msg_len;\n\tu8 rsv1;\n\t__le16 match_id;\n\tstruct hclge_pf_to_vf_msg msg;\n};\n\nstruct hclge_mbx_port_base_vlan {\n\t__le16 state;\n\t__le16 vlan_proto;\n\t__le16 qos;\n\t__le16 vlan_tag;\n};\n\nstruct hclge_mbx_vf_queue_depth {\n\t__le16 num_tx_desc;\n\t__le16 num_rx_desc;\n};\n\nstruct hclge_mbx_vf_queue_info {\n\t__le16 num_tqps;\n\t__le16 rss_size;\n\t__le16 rx_buf_len;\n};\n\nstruct hclge_ring_chain_param {\n\tu8 ring_type;\n\tu8 tqp_index;\n\tu8 int_gl_index;\n};\n\nstruct hclge_vf_to_pf_msg {\n\tu8 code;\n\tunion {\n\t\tstruct {\n\t\t\tu8 subcode;\n\t\t\tu8 data[14];\n\t\t};\n\t\tstruct {\n\t\t\tu8 en_bc;\n\t\t\tu8 en_uc;\n\t\t\tu8 en_mc;\n\t\t\tu8 en_limit_promisc;\n\t\t};\n\t\tstruct {\n\t\t\tu8 vector_id;\n\t\t\tu8 ring_num;\n\t\t\tstruct hclge_ring_chain_param param[4];\n\t\t};\n\t};\n};\n\nstruct hclge_mbx_vf_to_pf_cmd {\n\tu8 rsv;\n\tu8 mbx_src_vfid;\n\tu8 mbx_need_resp;\n\tu8 rsv1[1];\n\tu8 msg_len;\n\tu8 rsv2;\n\t__le16 match_id;\n\tstruct hclge_vf_to_pf_msg msg;\n};\n\nstruct hclge_mdio_cfg_cmd {\n\tu8 ctrl_bit;\n\tu8 phyid;\n\tu8 phyad;\n\tu8 rsvd;\n\t__le16 reserve;\n\t__le16 data_wr;\n\t__le16 data_rd;\n\t__le16 sta;\n};\n\nstruct hclge_mod_err_info {\n\tu8 mod_id;\n\tu8 err_num;\n\tu8 rsv[2];\n};\n\nstruct hclge_mod_reg_info;\n\nstruct hclge_mod_reg_common_msg {\n\tenum hclge_opcode_type cmd;\n\tstruct hclge_desc *desc;\n\tu8 bd_num;\n\tbool need_para;\n\tconst struct hclge_mod_reg_info *result_regs;\n\tu16 result_regs_size;\n};\n\nstruct hclge_mod_reg_info {\n\tconst char *reg_name;\n\tbool has_suffix;\n\tu8 reg_offset_group[6];\n\tu8 group_size;\n};\n\nstruct hclge_nq_to_qs_link_cmd {\n\t__le16 nq_id;\n\t__le16 rsvd;\n\t__le16 qset_id;\n};\n\nstruct hclge_pf_res_cmd {\n\t__le16 tqp_num;\n\t__le16 buf_size;\n\t__le16 msixcap_localid_ba_nic;\n\t__le16 msixcap_localid_number_nic;\n\t__le16 pf_intr_vector_number_roce;\n\t__le16 pf_own_fun_number;\n\t__le16 tx_buf_size;\n\t__le16 dv_buf_size;\n\t__le16 ext_tqp_num;\n\tu8 rsv[6];\n};\n\nstruct hclge_pf_rst_done_cmd {\n\tu8 pf_rst_done;\n\tu8 rsv[23];\n};\n\nstruct hclge_pf_rst_sync_cmd {\n\tu8 all_vf_ready;\n\tu8 rsv[23];\n};\n\nstruct hclge_pfc_en_cmd {\n\tu8 tx_rx_en_bitmap;\n\tu8 pri_en_bitmap;\n};\n\nstruct hclge_pg_shapping_cmd {\n\tu8 pg_id;\n\tu8 rsvd[3];\n\t__le32 pg_shapping_para;\n\tu8 flag;\n\tu8 rsvd1[3];\n\t__le32 pg_rate;\n};\n\nstruct hclge_pg_to_pri_link_cmd {\n\tu8 pg_id;\n\tu8 rsvd1[3];\n\tu8 pri_bit_map;\n};\n\nstruct hclge_pg_weight_cmd {\n\tu8 pg_id;\n\tu8 dwrr;\n};\n\nstruct hclge_phy_link_ksetting_0_cmd {\n\t__le32 speed;\n\tu8 duplex;\n\tu8 autoneg;\n\tu8 eth_tp_mdix;\n\tu8 eth_tp_mdix_ctrl;\n\tu8 port;\n\tu8 transceiver;\n\tu8 phy_address;\n\tu8 rsv;\n\t__le32 supported;\n\t__le32 advertising;\n\t__le32 lp_advertising;\n};\n\nstruct hclge_phy_link_ksetting_1_cmd {\n\tu8 master_slave_cfg;\n\tu8 master_slave_state;\n\tu8 rsv[22];\n};\n\nstruct hclge_phy_reg_cmd {\n\t__le16 reg_addr;\n\tu8 rsv0[2];\n\t__le16 reg_val;\n\tu8 rsv1[18];\n};\n\nstruct hclge_waterline {\n\tu32 low;\n\tu32 high;\n};\n\nstruct hclge_priv_buf {\n\tstruct hclge_waterline wl;\n\tu32 buf_size;\n\tu32 tx_buf_size;\n\tu32 enable;\n};\n\nstruct hclge_tc_thrd {\n\tu32 low;\n\tu32 high;\n};\n\nstruct hclge_shared_buf {\n\tstruct hclge_waterline self;\n\tstruct hclge_tc_thrd tc_thrd[8];\n\tu32 buf_size;\n};\n\nstruct hclge_pkt_buf_alloc {\n\tstruct hclge_priv_buf priv_buf[8];\n\tstruct hclge_shared_buf s_buf;\n};\n\nstruct hclge_vlan_info {\n\tu16 vlan_proto;\n\tu16 qos;\n\tu16 vlan_tag;\n};\n\nstruct hclge_port_base_vlan_config {\n\tu16 state;\n\tbool tbl_sta;\n\tstruct hclge_vlan_info vlan_info;\n\tstruct hclge_vlan_info old_vlan_info;\n};\n\nstruct hclge_port_shapping_cmd {\n\t__le32 port_shapping_para;\n\tu8 flag;\n\tu8 rsvd[3];\n\t__le32 port_rate;\n};\n\nstruct hclge_port_vlan_filter_bypass_cmd {\n\tu8 bypass_state;\n\tu8 rsv1[3];\n\tu8 vf_id;\n\tu8 rsv2[19];\n};\n\nstruct hclge_pri_sch_mode_cfg_cmd {\n\tu8 pri_id;\n\tu8 rsvd[3];\n\tu8 sch_mode;\n};\n\nstruct hclge_pri_shapping_cmd {\n\tu8 pri_id;\n\tu8 rsvd[3];\n\t__le32 pri_shapping_para;\n\tu8 flag;\n\tu8 rsvd1[3];\n\t__le32 pri_rate;\n};\n\nstruct hclge_priority_weight_cmd {\n\tu8 pri_id;\n\tu8 dwrr;\n};\n\nstruct hclge_priv_wl {\n\t__le16 high;\n\t__le16 low;\n};\n\nstruct hclge_promisc_cfg_cmd {\n\tu8 promisc;\n\tu8 vf_id;\n\tu8 extend_promisc;\n\tu8 rsv0[21];\n};\n\nstruct hclge_ptp_cycle {\n\tu32 quo;\n\tu32 numer;\n\tu32 den;\n};\n\nstruct hclge_ptp {\n\tstruct hclge_dev *hdev;\n\tstruct ptp_clock *clock;\n\tstruct sk_buff *tx_skb;\n\tlong unsigned int flags;\n\tvoid *io_base;\n\tstruct ptp_clock_info info;\n\tstruct hwtstamp_config ts_cfg;\n\tspinlock_t lock;\n\tu32 ptp_cfg;\n\tu32 last_tx_seqid;\n\tstruct hclge_ptp_cycle cycle;\n\tlong unsigned int tx_start;\n\tlong unsigned int tx_cnt;\n\tlong unsigned int tx_skipped;\n\tlong unsigned int tx_cleaned;\n\tlong unsigned int last_rx;\n\tlong unsigned int rx_cnt;\n\tlong unsigned int tx_timeout;\n};\n\nstruct hclge_ptp_cfg_cmd {\n\t__le32 cfg;\n\tu8 rsvd[20];\n};\n\nstruct hclge_ptp_int_cmd {\n\tu8 int_en;\n\tu8 rsvd[23];\n};\n\nstruct hclge_qos_pri_map_cmd {\n\tu8 pri0_tc: 4;\n\tu8 pri1_tc: 4;\n\tu8 pri2_tc: 4;\n\tu8 pri3_tc: 4;\n\tu8 pri4_tc: 4;\n\tu8 pri5_tc: 4;\n\tu8 pri6_tc: 4;\n\tu8 pri7_tc: 4;\n\tu8 vlan_pri: 4;\n\tu8 rev: 4;\n};\n\nstruct hclge_qs_sch_mode_cfg_cmd {\n\t__le16 qs_id;\n\tu8 rsvd[2];\n\tu8 sch_mode;\n};\n\nstruct hclge_qs_shapping_cmd {\n\t__le16 qs_id;\n\tu8 rsvd[2];\n\t__le32 qs_shapping_para;\n\tu8 flag;\n\tu8 rsvd1[3];\n\t__le32 qs_rate;\n};\n\nstruct hclge_qs_to_pri_link_cmd {\n\t__le16 qs_id;\n\t__le16 rsvd;\n\tu8 priority;\n\tu8 link_vld;\n};\n\nstruct hclge_qs_weight_cmd {\n\t__le16 qs_id;\n\tu8 dwrr;\n};\n\nstruct hclge_query_fec_stats_cmd {\n\t__le32 rs_fec_corr_blocks;\n\t__le32 rs_fec_uncorr_blocks;\n\t__le32 rs_fec_error_blocks;\n\tu8 base_r_lane_num;\n\tu8 rsv[3];\n\t__le32 base_r_fec_corr_blocks;\n\t__le32 base_r_fec_uncorr_blocks;\n};\n\nstruct hclge_query_ppu_pf_other_int_dfx_cmd {\n\t__le16 over_8bd_no_fe_qid;\n\t__le16 over_8bd_no_fe_vf_id;\n\t__le16 tso_mss_cmp_min_err_qid;\n\t__le16 tso_mss_cmp_min_err_vf_id;\n\t__le16 tso_mss_cmp_max_err_qid;\n\t__le16 tso_mss_cmp_max_err_vf_id;\n\t__le16 tx_rd_fbd_poison_qid;\n\t__le16 tx_rd_fbd_poison_vf_id;\n\t__le16 rx_rd_fbd_poison_qid;\n\t__le16 rx_rd_fbd_poison_vf_id;\n\tu8 rsv[4];\n};\n\nstruct hclge_query_wol_supported_cmd {\n\t__le32 supported_wake_mode;\n\tu8 rsv[20];\n};\n\nstruct hclge_reg_header {\n\tu64 magic_number;\n\tu8 is_vf;\n\tu8 rsv[7];\n};\n\nstruct hclge_reg_tlv {\n\tu16 tag;\n\tu16 len;\n};\n\nstruct hclge_reset_cmd {\n\tu8 mac_func_reset;\n\tu8 fun_reset_vfid;\n\tu8 fun_reset_rcb;\n\tu8 rsv;\n\t__le16 fun_reset_rcb_vqid_start;\n\t__le16 fun_reset_rcb_vqid_num;\n\tu8 fun_reset_rcb_return_status;\n\tu8 rsv1[15];\n};\n\nstruct hclge_reset_tqp_queue_cmd {\n\t__le16 tqp_id;\n\tu8 reset_req;\n\tu8 ready_to_reset;\n\tu8 rsv[20];\n};\n\nstruct hclge_respond_to_vf_msg {\n\tint status;\n\tu8 data[8];\n\tu16 len;\n};\n\nstruct hclge_rx_com_thrd {\n\tstruct hclge_priv_wl com_thrd[4];\n};\n\nstruct hclge_rx_com_wl {\n\tstruct hclge_priv_wl com_wl;\n};\n\nstruct hclge_rx_priv_buff_cmd {\n\t__le16 buf_num[8];\n\t__le16 shared_buf;\n\tu8 rsv[6];\n};\n\nstruct hclge_rx_priv_wl_buf {\n\tstruct hclge_priv_wl tc_wl[4];\n};\n\nstruct hclge_rx_vlan_type_cfg_cmd {\n\t__le16 ot_fst_vlan_type;\n\t__le16 ot_sec_vlan_type;\n\t__le16 in_fst_vlan_type;\n\t__le16 in_sec_vlan_type;\n\tu8 rsv[16];\n};\n\nstruct hclge_rx_vtag_cfg {\n\tbool rx_vlan_offload_en;\n\tbool strip_tag1_en;\n\tbool strip_tag2_en;\n\tbool vlan1_vlan_prionly;\n\tbool vlan2_vlan_prionly;\n\tbool strip_tag1_discard_en;\n\tbool strip_tag2_discard_en;\n};\n\nstruct hclge_set_fd_key_config_cmd {\n\tu8 stage;\n\tu8 key_select;\n\tu8 inner_sipv6_word_en;\n\tu8 inner_dipv6_word_en;\n\tu8 outer_sipv6_word_en;\n\tu8 outer_dipv6_word_en;\n\tu8 rsv1[2];\n\t__le32 tuple_mask;\n\t__le32 meta_data_mask;\n\tu8 rsv2[8];\n};\n\nstruct hclge_set_led_state_cmd {\n\tu8 rsv1[3];\n\tu8 locate_led_config;\n\tu8 rsv2[20];\n};\n\nstruct hclge_sfp_info_bd0_cmd {\n\t__le16 offset;\n\t__le16 read_len;\n\tu8 data[20];\n};\n\nstruct hclge_sfp_info_cmd {\n\t__le32 speed;\n\tu8 query_type;\n\tu8 active_fec;\n\tu8 autoneg;\n\tu8 autoneg_ability;\n\t__le32 speed_ability;\n\t__le32 module_type;\n\tu8 fec_ability;\n\tu8 lane_num;\n\tu8 rsv[6];\n};\n\nstruct hclge_shaper_ir_para {\n\tu8 ir_b;\n\tu8 ir_u;\n\tu8 ir_s;\n};\n\nstruct hclge_speed_bit_map {\n\tu32 speed;\n\tu32 speed_bit;\n};\n\nstruct hclge_sum_err_info {\n\tu8 reset_type;\n\tu8 mod_num;\n\tu8 rsv[2];\n};\n\nstruct hclge_tm_nodes_cmd {\n\tu8 pg_base_id;\n\tu8 pri_base_id;\n\t__le16 qset_base_id;\n\t__le16 queue_base_id;\n\tu8 pg_num;\n\tu8 pri_num;\n\t__le16 qset_num;\n\t__le16 queue_num;\n};\n\nstruct hclge_tm_shaper_para {\n\tu32 rate;\n\tu8 ir_b;\n\tu8 ir_u;\n\tu8 ir_s;\n\tu8 bs_b;\n\tu8 bs_s;\n\tu8 flag;\n};\n\nstruct hclge_tqp_map_cmd {\n\t__le16 tqp_id;\n\tu8 tqp_vf;\n\tu8 tqp_flag;\n\t__le16 tqp_vid;\n\tu8 rsv[18];\n};\n\nstruct hclge_tqp_tx_queue_tc_cmd {\n\t__le16 queue_id;\n\t__le16 rsvd;\n\tu8 tc_id;\n\tu8 rev[3];\n};\n\nstruct hclge_tx_buff_alloc_cmd {\n\t__le16 tx_pkt_buff[8];\n\tu8 tx_buff_rsv[8];\n};\n\nstruct hclge_tx_vlan_type_cfg_cmd {\n\t__le16 ot_vlan_type;\n\t__le16 in_vlan_type;\n\tu8 rsv[20];\n};\n\nstruct hclge_tx_vtag_cfg {\n\tbool accept_tag1;\n\tbool accept_untag1;\n\tbool accept_tag2;\n\tbool accept_untag2;\n\tbool insert_tag1_en;\n\tbool insert_tag2_en;\n\tu16 default_tag1;\n\tu16 default_tag2;\n\tbool tag_shift_mode_en;\n};\n\nstruct hclge_type_reg_err_info {\n\tu8 type_id;\n\tu8 reg_num;\n\tu8 rsv[2];\n\tu32 hclge_reg[256];\n};\n\nstruct hclge_umv_spc_alc_cmd {\n\tu8 allocate;\n\tu8 rsv1[3];\n\t__le32 space_size;\n\tu8 rsv2[16];\n};\n\nstruct hclge_vf_info {\n\tint link_state;\n\tu8 mac[6];\n\tu32 spoofchk;\n\tu32 max_tx_rate;\n\tu32 trusted;\n\tu8 request_uc_en;\n\tu8 request_mc_en;\n\tu8 request_bc_en;\n};\n\nstruct hclge_vf_rst_cmd {\n\tu8 dest_vfid;\n\tu8 vf_rst;\n\tu8 rsv[22];\n};\n\nstruct hclge_vf_vlan_cfg {\n\tu8 mbx_cmd;\n\tu8 subcode;\n\tunion {\n\t\tstruct {\n\t\t\tu8 is_kill;\n\t\t\t__le16 vlan;\n\t\t\t__le16 proto;\n\t\t} __attribute__((packed));\n\t\tu8 enable;\n\t};\n};\n\nstruct hclge_vlan_filter_ctrl_cmd {\n\tu8 vlan_type;\n\tu8 vlan_fe;\n\tu8 rsv1[2];\n\tu8 vf_id;\n\tu8 rsv2[19];\n};\n\nstruct hclge_vlan_filter_pf_cfg_cmd {\n\tu8 vlan_offset;\n\tu8 vlan_cfg;\n\tu8 rsv[2];\n\tu8 vlan_offset_bitmap[20];\n};\n\nstruct hclge_vlan_filter_vf_cfg_cmd {\n\t__le16 vlan_id;\n\tu8 resp_code;\n\tu8 rsv;\n\tu8 vlan_cfg;\n\tu8 rsv1[3];\n\tu8 vf_bitmap[16];\n};\n\nstruct hnae3_tc_info {\n\tu8 prio_tc[8];\n\tu16 tqp_count[8];\n\tu16 tqp_offset[8];\n\tu8 max_tc;\n\tu8 num_tc;\n\tbool mqprio_active;\n\tbool mqprio_destroy;\n\tbool dcb_ets_active;\n};\n\nstruct hnae3_dcb_ops;\n\nstruct hnae3_knic_private_info {\n\tstruct net_device *netdev;\n\tu16 rss_size;\n\tu16 req_rss_size;\n\tu16 rx_buf_len;\n\tu16 num_tx_desc;\n\tu16 num_rx_desc;\n\tu32 tx_spare_buf_size;\n\tstruct hnae3_tc_info tc_info;\n\tu8 tc_map_mode;\n\tu8 dscp_app_cnt;\n\tu8 dscp_prio[64];\n\tu16 num_tqps;\n\tstruct hnae3_queue **tqp;\n\tconst struct hnae3_dcb_ops *dcb_ops;\n\tu16 int_rl_setting;\n\tvoid *io_base;\n};\n\nstruct hnae3_roce_private_info {\n\tstruct net_device *netdev;\n\tvoid *roce_io_base;\n\tvoid *roce_mem_base;\n\tint base_vector;\n\tint num_vectors;\n\tlong unsigned int reset_state;\n\tlong unsigned int instance_state;\n\tlong unsigned int state;\n};\n\nstruct hnae3_handle {\n\tstruct hnae3_client *client;\n\tstruct pci_dev *pdev;\n\tvoid *priv;\n\tstruct hnae3_ae_algo *ae_algo;\n\tu64 flags;\n\tunion {\n\t\tstruct net_device *netdev;\n\t\tstruct hnae3_knic_private_info kinfo;\n\t\tstruct hnae3_roce_private_info rinfo;\n\t};\n\tnodemask_t numa_node_mask;\n\tenum hnae3_port_base_vlan_state port_base_vlan_state;\n\tu8 netdev_flags;\n\tstruct dentry *hnae3_dbgfs;\n\tu32 msg_enable;\n\tlong unsigned int supported_pflags;\n\tlong unsigned int priv_flags;\n};\n\nstruct hclge_vport {\n\tu16 alloc_tqps;\n\tu16 qs_offset;\n\tu32 bw_limit;\n\tu8 dwrr;\n\tbool req_vlan_fltr_en;\n\tbool cur_vlan_fltr_en;\n\tlong unsigned int vlan_del_fail_bmap[64];\n\tstruct hclge_port_base_vlan_config port_base_vlan_cfg;\n\tstruct hclge_tx_vtag_cfg txvlan_cfg;\n\tstruct hclge_rx_vtag_cfg rxvlan_cfg;\n\tu16 used_umv_num;\n\tu16 vport_id;\n\tstruct hclge_dev *back;\n\tstruct hnae3_handle nic;\n\tstruct hnae3_handle roce;\n\tlong unsigned int state;\n\tlong unsigned int need_notify;\n\tlong unsigned int last_active_jiffies;\n\tu32 mps;\n\tstruct hclge_vf_info vf_info;\n\tu8 overflow_promisc_flags;\n\tu8 last_promisc_flags;\n\tspinlock_t mac_list_lock;\n\tstruct list_head uc_mac_list;\n\tstruct list_head mc_mac_list;\n\tstruct list_head vlan_list;\n};\n\nstruct hclge_vport_vlan_cfg {\n\tstruct list_head node;\n\tint hd_tbl_status;\n\tu16 vlan_id;\n};\n\nstruct hclge_vport_vtag_rx_cfg_cmd {\n\tu8 vport_vlan_cfg;\n\tu8 vf_offset;\n\tu8 rsv1[6];\n\tu8 vf_bitmap[8];\n\tu8 rsv2[8];\n};\n\nstruct hclge_vport_vtag_tx_cfg_cmd {\n\tu8 vport_vlan_cfg;\n\tu8 vf_offset;\n\tu8 rsv1[2];\n\t__le16 def_vlan_tag1;\n\t__le16 def_vlan_tag2;\n\tu8 vf_bitmap[8];\n\tu8 rsv2[8];\n};\n\nstruct hclge_wol_cfg_cmd {\n\t__le32 wake_on_lan_mode;\n\tu8 sopass[6];\n\tu8 sopass_size;\n\tu8 rsv[13];\n};\n\nstruct hd_geometry {\n\tunsigned char heads;\n\tunsigned char sectors;\n\tshort unsigned int cylinders;\n\tlong unsigned int start;\n};\n\nstruct hdmi_any_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n};\n\nstruct hdmi_audio_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tunsigned char channels;\n\tenum hdmi_audio_coding_type coding_type;\n\tenum hdmi_audio_sample_size sample_size;\n\tenum hdmi_audio_sample_frequency sample_frequency;\n\tenum hdmi_audio_coding_type_ext coding_type_ext;\n\tunsigned char channel_allocation;\n\tunsigned char level_shift_value;\n\tbool downmix_inhibit;\n};\n\nstruct hdmi_avi_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tbool itc;\n\tunsigned char pixel_repeat;\n\tenum hdmi_colorspace colorspace;\n\tenum hdmi_scan_mode scan_mode;\n\tenum hdmi_colorimetry colorimetry;\n\tenum hdmi_picture_aspect picture_aspect;\n\tenum hdmi_active_aspect active_aspect;\n\tenum hdmi_extended_colorimetry extended_colorimetry;\n\tenum hdmi_quantization_range quantization_range;\n\tenum hdmi_nups nups;\n\tunsigned char video_code;\n\tenum hdmi_ycc_quantization_range ycc_quantization_range;\n\tenum hdmi_content_type content_type;\n\tshort unsigned int top_bar;\n\tshort unsigned int bottom_bar;\n\tshort unsigned int left_bar;\n\tshort unsigned int right_bar;\n};\n\nstruct hdmi_drm_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tenum hdmi_eotf eotf;\n\tenum hdmi_metadata_type metadata_type;\n\tstruct {\n\t\tu16 x;\n\t\tu16 y;\n\t} display_primaries[3];\n\tstruct {\n\t\tu16 x;\n\t\tu16 y;\n\t} white_point;\n\tu16 max_display_mastering_luminance;\n\tu16 min_display_mastering_luminance;\n\tu16 max_cll;\n\tu16 max_fall;\n};\n\nstruct hdmi_spd_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tchar vendor[8];\n\tchar product[16];\n\tenum hdmi_spd_sdi sdi;\n};\n\nstruct hdmi_vendor_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tunsigned int oui;\n\tu8 vic;\n\tenum hdmi_3d_structure s3d_struct;\n\tunsigned int s3d_ext_data;\n};\n\nunion hdmi_vendor_any_infoframe {\n\tstruct {\n\t\tenum hdmi_infoframe_type type;\n\t\tunsigned char version;\n\t\tunsigned char length;\n\t\tunsigned int oui;\n\t} any;\n\tstruct hdmi_vendor_infoframe hdmi;\n};\n\nunion hdmi_infoframe {\n\tstruct hdmi_any_infoframe any;\n\tstruct hdmi_avi_infoframe avi;\n\tstruct hdmi_spd_infoframe spd;\n\tunion hdmi_vendor_any_infoframe vendor;\n\tstruct hdmi_audio_infoframe audio;\n\tstruct hdmi_drm_infoframe drm;\n};\n\nstruct hh_cache;\n\nstruct header_ops {\n\tint (*create)(struct sk_buff *, struct net_device *, short unsigned int, const void *, const void *, unsigned int);\n\tint (*parse)(const struct sk_buff *, unsigned char *);\n\tint (*cache)(const struct neighbour *, struct hh_cache *, __be16);\n\tvoid (*cache_update)(struct hh_cache *, const struct net_device *, const unsigned char *);\n\tbool (*validate)(const char *, unsigned int);\n\t__be16 (*parse_protocol)(const struct sk_buff *);\n};\n\nstruct heartbeat_trig_data {\n\tstruct led_classdev *led_cdev;\n\tunsigned int phase;\n\tunsigned int period;\n\tstruct timer_list timer;\n\tunsigned int invert;\n};\n\nstruct hfpll_data {\n\tu32 mode_reg;\n\tu32 l_reg;\n\tu32 m_reg;\n\tu32 n_reg;\n\tu32 user_reg;\n\tu32 droop_reg;\n\tu32 config_reg;\n\tu32 status_reg;\n\tu8 lock_bit;\n\tu32 l_val;\n\tu32 droop_val;\n\tu32 config_val;\n\tu32 user_val;\n\tu32 user_vco_mask;\n\tlong unsigned int low_vco_max_rate;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n};\n\nstruct hh_cache {\n\tunsigned int hh_len;\n\tseqlock_t hh_lock;\n\tlong unsigned int hh_data[12];\n};\n\nstruct hisi_clock_data;\n\nstruct hisi_reset_controller;\n\nstruct hi3519_crg_data {\n\tstruct hisi_clock_data *clk_data;\n\tstruct hisi_reset_controller *rstc;\n};\n\nstruct hi3559av100_clk_pll {\n\tstruct clk_hw hw;\n\tu32 id;\n\tvoid *ctrl_reg1;\n\tu8 frac_shift;\n\tu8 frac_width;\n\tu8 postdiv1_shift;\n\tu8 postdiv1_width;\n\tu8 postdiv2_shift;\n\tu8 postdiv2_width;\n\tvoid *ctrl_reg2;\n\tu8 fbdiv_shift;\n\tu8 fbdiv_width;\n\tu8 refdiv_shift;\n\tu8 refdiv_width;\n};\n\nstruct hi3559av100_pll_clock {\n\tu32 id;\n\tconst char *name;\n\tconst char *parent_name;\n\tconst u32 ctrl_reg1;\n\tconst u8 frac_shift;\n\tconst u8 frac_width;\n\tconst u8 postdiv1_shift;\n\tconst u8 postdiv1_width;\n\tconst u8 postdiv2_shift;\n\tconst u8 postdiv2_width;\n\tconst u32 ctrl_reg2;\n\tconst u8 fbdiv_shift;\n\tconst u8 fbdiv_width;\n\tconst u8 refdiv_shift;\n\tconst u8 refdiv_width;\n};\n\nstruct hi3660_chan_info {\n\tunsigned int dst_irq;\n\tunsigned int ack_irq;\n};\n\nstruct hi3660_mbox {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct mbox_chan chan[32];\n\tstruct hi3660_chan_info mchan[32];\n\tstruct mbox_controller controller;\n};\n\nstruct hi3660_pcie_phy {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct regmap *crgctrl;\n\tstruct regmap *sysctrl;\n\tstruct clk *apb_sys_clk;\n\tstruct clk *apb_phy_clk;\n\tstruct clk *phy_ref_clk;\n\tstruct clk *aclk;\n\tstruct clk *aux_clk;\n};\n\nstruct hi3660_reset_controller {\n\tstruct reset_controller_dev rst;\n\tstruct regmap *map;\n};\n\nstruct hi3660_stub_clk {\n\tunsigned int id;\n\tstruct clk_hw hw;\n\tunsigned int cmd;\n\tunsigned int msg[8];\n\tunsigned int rate;\n};\n\nstruct hi3660_stub_clk_chan {\n\tstruct mbox_client cl;\n\tstruct mbox_chan *mbox;\n};\n\nstruct hi3798cv200_priv {\n\tstruct clk *sample_clk;\n\tstruct clk *drive_clk;\n};\n\nstruct hi6220_clk_divider {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu8 width;\n\tu32 mask;\n\tconst struct clk_div_table *table;\n\tspinlock_t *lock;\n};\n\nstruct hi6220_divider_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 shift;\n\tu8 width;\n\tu32 mask_bit;\n\tconst char *alias;\n};\n\nstruct hi6220_mbox_chan;\n\nstruct hi6220_mbox {\n\tstruct device *dev;\n\tint irq;\n\tbool tx_irq_mode;\n\tvoid *ipc;\n\tvoid *base;\n\tunsigned int chan_num;\n\tstruct hi6220_mbox_chan *mchan;\n\tvoid *irq_map_chan[32];\n\tstruct mbox_chan *chan;\n\tstruct mbox_controller controller;\n};\n\nstruct hi6220_mbox_chan {\n\tunsigned int dir;\n\tunsigned int dst_irq;\n\tunsigned int ack_irq;\n\tunsigned int slot;\n\tstruct hi6220_mbox *parent;\n};\n\nstruct hi6220_mbox_msg {\n\tunsigned char type;\n\tunsigned char cmd;\n\tunsigned char obj;\n\tunsigned char src;\n\tunsigned char para[4];\n};\n\nunion hi6220_mbox_data {\n\tunsigned int data[8];\n\tstruct hi6220_mbox_msg msg;\n};\n\nstruct hi6220_priv {\n\tstruct regmap *reg;\n\tstruct device *dev;\n};\n\nstruct hi6220_reset_data {\n\tstruct reset_controller_dev rc_dev;\n\tstruct regmap *regmap;\n};\n\nstruct hi6220_stub_clk {\n\tu32 id;\n\tstruct device *dev;\n\tstruct clk_hw hw;\n\tstruct regmap *dfs_map;\n\tstruct mbox_client cl;\n\tstruct mbox_chan *mbox;\n};\n\nstruct hi6421_pmic {\n\tstruct regmap *regmap;\n};\n\nstruct hi6421v530_regulator_info {\n\tstruct regulator_desc rdesc;\n\tu8 mode_mask;\n};\n\nstruct hi655x_pmic;\n\nstruct hi655x_clk {\n\tstruct hi655x_pmic *hi655x;\n\tstruct clk_hw clk_hw;\n};\n\nstruct hi655x_pmic {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct gpio_desc *gpio;\n\tunsigned int ver;\n\tstruct regmap_irq_chip_data *irq_data;\n};\n\nstruct hi655x_regulator {\n\tunsigned int disable_reg;\n\tunsigned int status_reg;\n\tstruct regulator_desc rdesc;\n};\n\nstruct hib_bio_batch {\n\tatomic_t count;\n\twait_queue_head_t wait;\n\tblk_status_t error;\n\tstruct blk_plug plug;\n};\n\nstruct hid_class_descriptor {\n\t__u8 bDescriptorType;\n\t__le16 wDescriptorLength;\n} __attribute__((packed));\n\nstruct hid_collection {\n\tint parent_idx;\n\tunsigned int type;\n\tunsigned int usage;\n\tunsigned int level;\n};\n\nstruct hid_control_fifo {\n\tunsigned char dir;\n\tstruct hid_report *report;\n\tchar *raw_report;\n};\n\nstruct hid_debug_list {\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tchar *type;\n\t\t\tconst char *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tchar *ptr;\n\t\t\tconst char *ptr_const;\n\t\t};\n\t\tchar buf[0];\n\t} hid_debug_fifo;\n\tstruct fasync_struct *fasync;\n\tstruct hid_device *hdev;\n\tstruct list_head node;\n\tstruct mutex read_mutex;\n};\n\nstruct hid_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdHID;\n\t__u8 bCountryCode;\n\t__u8 bNumDescriptors;\n\tstruct hid_class_descriptor desc[1];\n} __attribute__((packed));\n\nstruct hid_report_enum {\n\tunsigned int numbered;\n\tstruct list_head report_list;\n\tstruct hid_report *report_id_hash[256];\n};\n\nstruct hid_driver;\n\nstruct hid_ll_driver;\n\nstruct hid_field;\n\nstruct hid_usage;\n\nstruct hid_device {\n\tconst __u8 *dev_rdesc;\n\tconst __u8 *bpf_rdesc;\n\tconst __u8 *rdesc;\n\tunsigned int dev_rsize;\n\tunsigned int bpf_rsize;\n\tunsigned int rsize;\n\tunsigned int collection_size;\n\tstruct hid_collection *collection;\n\tunsigned int maxcollection;\n\tunsigned int maxapplication;\n\t__u16 bus;\n\t__u16 group;\n\t__u32 vendor;\n\t__u32 product;\n\t__u32 version;\n\tenum hid_type type;\n\tunsigned int country;\n\tstruct hid_report_enum report_enum[3];\n\tstruct work_struct led_work;\n\tstruct semaphore driver_input_lock;\n\tstruct device dev;\n\tstruct hid_driver *driver;\n\tvoid *devres_group_id;\n\tconst struct hid_ll_driver *ll_driver;\n\tstruct mutex ll_open_lock;\n\tunsigned int ll_open_count;\n\tlong unsigned int status;\n\tunsigned int claimed;\n\tunsigned int quirks;\n\tunsigned int initial_quirks;\n\tbool io_started;\n\tstruct list_head inputs;\n\tvoid *hiddev;\n\tvoid *hidraw;\n\tchar name[128];\n\tchar phys[64];\n\tchar uniq[64];\n\tvoid *driver_data;\n\tint (*ff_init)(struct hid_device *);\n\tint (*hiddev_connect)(struct hid_device *, unsigned int);\n\tvoid (*hiddev_disconnect)(struct hid_device *);\n\tvoid (*hiddev_hid_event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);\n\tvoid (*hiddev_report_event)(struct hid_device *, struct hid_report *);\n\tshort unsigned int debug;\n\tstruct dentry *debug_dir;\n\tstruct dentry *debug_rdesc;\n\tstruct dentry *debug_events;\n\tstruct list_head debug_list;\n\tspinlock_t debug_list_lock;\n\twait_queue_head_t debug_wait;\n\tstruct kref ref;\n\tunsigned int id;\n};\n\nstruct hid_device_id {\n\t__u16 bus;\n\t__u16 group;\n\t__u32 vendor;\n\t__u32 product;\n\tkernel_ulong_t driver_data;\n};\n\nstruct hid_report_id;\n\nstruct hid_usage_id;\n\nstruct hid_input;\n\nstruct hid_driver {\n\tchar *name;\n\tconst struct hid_device_id *id_table;\n\tstruct list_head dyn_list;\n\tspinlock_t dyn_lock;\n\tbool (*match)(struct hid_device *, bool);\n\tint (*probe)(struct hid_device *, const struct hid_device_id *);\n\tvoid (*remove)(struct hid_device *);\n\tconst struct hid_report_id *report_table;\n\tint (*raw_event)(struct hid_device *, struct hid_report *, u8 *, int);\n\tconst struct hid_usage_id *usage_table;\n\tint (*event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);\n\tvoid (*report)(struct hid_device *, struct hid_report *);\n\tconst __u8 * (*report_fixup)(struct hid_device *, __u8 *, unsigned int *);\n\tint (*input_mapping)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *);\n\tint (*input_mapped)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *);\n\tint (*input_configured)(struct hid_device *, struct hid_input *);\n\tvoid (*feature_mapping)(struct hid_device *, struct hid_field *, struct hid_usage *);\n\tint (*suspend)(struct hid_device *, pm_message_t);\n\tint (*resume)(struct hid_device *);\n\tint (*reset_resume)(struct hid_device *);\n\tstruct device_driver driver;\n};\n\nstruct hid_dynid {\n\tstruct list_head list;\n\tstruct hid_device_id id;\n};\n\nstruct hid_field {\n\tunsigned int physical;\n\tunsigned int logical;\n\tunsigned int application;\n\tstruct hid_usage *usage;\n\tunsigned int maxusage;\n\tunsigned int flags;\n\tunsigned int report_offset;\n\tunsigned int report_size;\n\tunsigned int report_count;\n\tunsigned int report_type;\n\t__s32 *value;\n\t__s32 *new_value;\n\t__s32 *usages_priorities;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__s32 unit_exponent;\n\tunsigned int unit;\n\tbool ignored;\n\tstruct hid_report *report;\n\tunsigned int index;\n\tstruct hid_input *hidinput;\n\t__u16 dpad;\n\tunsigned int slot_idx;\n};\n\nstruct hid_field_entry {\n\tstruct list_head list;\n\tstruct hid_field *field;\n\tunsigned int index;\n\t__s32 priority;\n};\n\nstruct hid_global {\n\tunsigned int usage_page;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__s32 unit_exponent;\n\tunsigned int unit;\n\tunsigned int report_id;\n\tunsigned int report_size;\n\tunsigned int report_count;\n};\n\nstruct hid_input {\n\tstruct list_head list;\n\tstruct hid_report *report;\n\tstruct input_dev *input;\n\tconst char *name;\n\tstruct list_head reports;\n\tunsigned int application;\n\tbool registered;\n};\n\nstruct hid_item {\n\tunsigned int format;\n\t__u8 size;\n\t__u8 type;\n\t__u8 tag;\n\tunion {\n\t\t__u8 u8;\n\t\t__s8 s8;\n\t\t__u16 u16;\n\t\t__s16 s16;\n\t\t__u32 u32;\n\t\t__s32 s32;\n\t\tconst __u8 *longdata;\n\t} data;\n};\n\nstruct hid_ll_driver {\n\tint (*start)(struct hid_device *);\n\tvoid (*stop)(struct hid_device *);\n\tint (*open)(struct hid_device *);\n\tvoid (*close)(struct hid_device *);\n\tint (*power)(struct hid_device *, int);\n\tint (*parse)(struct hid_device *);\n\tvoid (*request)(struct hid_device *, struct hid_report *, int);\n\tint (*wait)(struct hid_device *);\n\tint (*raw_request)(struct hid_device *, unsigned char, __u8 *, size_t, unsigned char, int);\n\tint (*output_report)(struct hid_device *, __u8 *, size_t);\n\tint (*idle)(struct hid_device *, int, int, int);\n\tbool (*may_wakeup)(struct hid_device *);\n\tunsigned int max_buffer_size;\n};\n\nstruct hid_local {\n\tunsigned int usage[12288];\n\tu8 usage_size[12288];\n\tunsigned int collection_index[12288];\n\tunsigned int usage_index;\n\tunsigned int usage_minimum;\n\tunsigned int delimiter_depth;\n\tunsigned int delimiter_branch;\n};\n\nstruct hid_output_fifo {\n\tstruct hid_report *report;\n\tchar *raw_report;\n};\n\nstruct hid_parser {\n\tstruct hid_global global;\n\tstruct hid_global global_stack[4];\n\tunsigned int global_stack_ptr;\n\tstruct hid_local local;\n\tunsigned int *collection_stack;\n\tunsigned int collection_stack_ptr;\n\tunsigned int collection_stack_size;\n\tstruct hid_device *device;\n\tunsigned int scan_flags;\n};\n\nstruct hid_report {\n\tstruct list_head list;\n\tstruct list_head hidinput_list;\n\tstruct list_head field_entry_list;\n\tunsigned int id;\n\tenum hid_report_type type;\n\tunsigned int application;\n\tstruct hid_field *field[256];\n\tstruct hid_field_entry *field_entries;\n\tunsigned int maxfield;\n\tunsigned int size;\n\tstruct hid_device *device;\n\tbool tool_active;\n\tunsigned int tool;\n};\n\nstruct hid_report_id {\n\t__u32 report_type;\n};\n\nstruct hid_usage {\n\tunsigned int hid;\n\tunsigned int collection_index;\n\tunsigned int usage_index;\n\t__s8 resolution_multiplier;\n\t__s8 wheel_factor;\n\t__u16 code;\n\t__u8 type;\n\t__s16 hat_min;\n\t__s16 hat_max;\n\t__s16 hat_dir;\n\t__s16 wheel_accumulated;\n};\n\nstruct hid_usage_entry {\n\tunsigned int page;\n\tunsigned int usage;\n\tconst char *description;\n};\n\nstruct hid_usage_id {\n\t__u32 usage_hid;\n\t__u32 usage_type;\n\t__u32 usage_code;\n};\n\nstruct hiddev {\n\tint minor;\n\tint exist;\n\tint open;\n\tstruct mutex existancelock;\n\twait_queue_head_t wait;\n\tstruct hid_device *hid;\n\tstruct list_head list;\n\tspinlock_t list_lock;\n\tbool initialized;\n};\n\nstruct hidma_dev;\n\nstruct hidma_desc;\n\nstruct hidma_chan {\n\tbool paused;\n\tbool allocated;\n\tchar dbg_name[16];\n\tu32 dma_sig;\n\tdma_cookie_t last_success;\n\tstruct hidma_dev *dmadev;\n\tstruct hidma_desc *running;\n\tstruct dma_chan chan;\n\tstruct list_head free;\n\tstruct list_head prepared;\n\tstruct list_head queued;\n\tstruct list_head active;\n\tstruct list_head completed;\n\tspinlock_t lock;\n};\n\nstruct kobj_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kobject *, struct kobj_attribute *, char *);\n\tssize_t (*store)(struct kobject *, struct kobj_attribute *, const char *, size_t);\n};\n\nstruct hidma_mgmt_dev;\n\nstruct hidma_chan_attr {\n\tstruct hidma_mgmt_dev *mdev;\n\tint index;\n\tstruct kobj_attribute attr;\n};\n\nstruct hidma_desc {\n\tstruct dma_async_tx_descriptor desc;\n\tstruct list_head node;\n\tu32 tre_ch;\n};\n\nstruct hidma_lldev;\n\nstruct hidma_dev {\n\tint irq;\n\tint chidx;\n\tu32 nr_descriptors;\n\tint msi_virqbase;\n\tstruct hidma_lldev *lldev;\n\tvoid *dev_trca;\n\tstruct resource *trca_resource;\n\tvoid *dev_evca;\n\tstruct resource *evca_resource;\n\tspinlock_t lock;\n\tstruct dma_device ddev;\n\tstruct dentry *debugfs;\n\tstruct device_attribute *chid_attrs;\n\tstruct tasklet_struct task;\n};\n\nstruct hidma_tre;\n\nstruct hidma_lldev {\n\tbool msi_support;\n\tbool initialized;\n\tu8 trch_state;\n\tu8 evch_state;\n\tu8 chidx;\n\tu32 nr_tres;\n\tspinlock_t lock;\n\tstruct hidma_tre *trepool;\n\tstruct device *dev;\n\tvoid *trca;\n\tvoid *evca;\n\tstruct hidma_tre **pending_tre_list;\n\tatomic_t pending_tre_count;\n\tvoid *tre_ring;\n\tdma_addr_t tre_dma;\n\tu32 tre_ring_size;\n\tu32 tre_processed_off;\n\tvoid *evre_ring;\n\tdma_addr_t evre_dma;\n\tu32 evre_ring_size;\n\tu32 evre_processed_off;\n\tu32 tre_write_offset;\n\tstruct tasklet_struct task;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct hidma_tre **type;\n\t\t\tconst struct hidma_tre **const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct hidma_tre **ptr;\n\t\t\tstruct hidma_tre * const *ptr_const;\n\t\t};\n\t\tstruct hidma_tre *buf[0];\n\t} handoff_fifo;\n};\n\nstruct hidma_mgmt_dev {\n\tu8 hw_version_major;\n\tu8 hw_version_minor;\n\tu32 max_wr_xactions;\n\tu32 max_rd_xactions;\n\tu32 max_write_request;\n\tu32 max_read_request;\n\tu32 dma_channels;\n\tu32 chreset_timeout_cycles;\n\tu32 hw_version;\n\tu32 *priority;\n\tu32 *weight;\n\tvoid *virtaddr;\n\tresource_size_t addrsize;\n\tstruct kobject **chroots;\n\tstruct platform_device *pdev;\n};\n\nstruct hidma_mgmt_fileinfo {\n\tchar *name;\n\tint mode;\n\tint (*get)(struct hidma_mgmt_dev *);\n\tint (*set)(struct hidma_mgmt_dev *, u64);\n};\n\nstruct hidma_tre {\n\tatomic_t allocated;\n\tbool queued;\n\tu16 status;\n\tu32 idx;\n\tu32 dma_sig;\n\tconst char *dev_name;\n\tvoid (*callback)(void *);\n\tvoid *data;\n\tstruct hidma_lldev *lldev;\n\tu32 tre_local[9];\n\tu32 tre_index;\n\tu32 int_flags;\n\tu8 err_info;\n\tu8 err_code;\n};\n\nstruct hidraw {\n\tunsigned int minor;\n\tint exist;\n\tint open;\n\twait_queue_head_t wait;\n\tstruct hid_device *hid;\n\tstruct device *dev;\n\tspinlock_t list_lock;\n\tstruct list_head list;\n};\n\nstruct hisi_clock_data {\n\tstruct clk_onecell_data clk_data;\n\tvoid *base;\n};\n\nstruct hisi_crg_funcs;\n\nstruct hisi_crg_dev {\n\tstruct hisi_clock_data *clk_data;\n\tstruct hisi_reset_controller *rstc;\n\tconst struct hisi_crg_funcs *funcs;\n};\n\nstruct hisi_crg_funcs {\n\tstruct hisi_clock_data * (*register_clks)(struct platform_device *);\n\tvoid (*unregister_clks)(struct platform_device *);\n};\n\nstruct hisi_divider_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 shift;\n\tu8 width;\n\tu8 div_flags;\n\tstruct clk_div_table *table;\n\tconst char *alias;\n};\n\nstruct hisi_fixed_factor_clock {\n\tunsigned int id;\n\tchar *name;\n\tconst char *parent_name;\n\tlong unsigned int mult;\n\tlong unsigned int div;\n\tlong unsigned int flags;\n};\n\nstruct hisi_fixed_rate_clock {\n\tunsigned int id;\n\tchar *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tlong unsigned int fixed_rate;\n};\n\nstruct hisi_gate_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 bit_idx;\n\tu8 gate_flags;\n\tconst char *alias;\n};\n\nstruct sas_ha_struct {\n\tstruct list_head defer_q;\n\tstruct mutex drain_mutex;\n\tlong unsigned int state;\n\tspinlock_t lock;\n\tint eh_active;\n\twait_queue_head_t eh_wait_q;\n\tstruct list_head eh_dev_q;\n\tstruct mutex disco_mutex;\n\tstruct Scsi_Host *shost;\n\tchar *sas_ha_name;\n\tstruct device *dev;\n\tstruct workqueue_struct *event_q;\n\tstruct workqueue_struct *disco_q;\n\tu8 *sas_addr;\n\tu8 hashed_sas_addr[3];\n\tspinlock_t phy_port_lock;\n\tstruct asd_sas_phy **sas_phy;\n\tstruct asd_sas_port **sas_port;\n\tint num_phys;\n\tint strict_wide_ports;\n\tvoid *lldd_ha;\n\tstruct list_head eh_done_q;\n\tstruct list_head eh_ata_q;\n\tint event_thres;\n};\n\nstruct hisi_hba;\n\nstruct hisi_sas_cq {\n\tstruct hisi_hba *hisi_hba;\n\tconst struct cpumask *irq_mask;\n\tint rd_point;\n\tint id;\n\tint irq_no;\n\tspinlock_t poll_lock;\n};\n\nstruct hisi_sas_dq {\n\tstruct hisi_hba *hisi_hba;\n\tstruct list_head list;\n\tspinlock_t lock;\n\tint wr_point;\n\tint id;\n};\n\nstruct sas_identify {\n\tenum sas_device_type device_type;\n\tenum sas_protocol initiator_port_protocols;\n\tenum sas_protocol target_port_protocols;\n\tu64 sas_address;\n\tu8 phy_identifier;\n};\n\nstruct hisi_sas_debugfs_fifo {\n\tu32 signal_sel;\n\tu32 dump_msk;\n\tu32 dump_mode;\n\tu32 trigger;\n\tu32 trigger_msk;\n\tu32 trigger_mode;\n\tu32 rd_data[32];\n};\n\nstruct hisi_sas_port;\n\nstruct hisi_sas_phy {\n\tstruct work_struct works[3];\n\tstruct hisi_hba *hisi_hba;\n\tstruct hisi_sas_port *port;\n\tstruct asd_sas_phy sas_phy;\n\tstruct sas_identify identify;\n\tstruct completion *reset_completion;\n\tstruct timer_list timer;\n\tspinlock_t lock;\n\tu64 port_id;\n\tu64 frame_rcvd_size;\n\tu8 frame_rcvd[32];\n\tu8 phy_attached;\n\tu8 in_reset;\n\tu8 reserved[2];\n\tu32 phy_type;\n\tu32 code_violation_err_count;\n\tenum sas_linkrate minimum_linkrate;\n\tenum sas_linkrate maximum_linkrate;\n\tint enable;\n\tint wait_phyup_cnt;\n\tatomic_t down_cnt;\n\tstruct hisi_sas_debugfs_fifo fifo;\n};\n\nstruct hisi_sas_port {\n\tstruct asd_sas_port sas_port;\n\tu8 port_attached;\n\tu8 id;\n};\n\nstruct hisi_sas_device {\n\tstruct hisi_hba *hisi_hba;\n\tstruct domain_device *sas_device;\n\tstruct completion *completion;\n\tstruct hisi_sas_dq *dq;\n\tstruct list_head list;\n\tenum sas_device_type dev_type;\n\tenum dev_status dev_status;\n\tint device_id;\n\tint sata_idx;\n\tspinlock_t lock;\n};\n\nstruct hisi_sas_debugfs_regs {\n\tstruct hisi_hba *hisi_hba;\n\tu32 *data;\n};\n\nstruct hisi_sas_debugfs_port {\n\tstruct hisi_sas_phy *phy;\n\tu32 *data;\n};\n\nstruct hisi_sas_debugfs_cq {\n\tstruct hisi_sas_cq *cq;\n\tvoid *complete_hdr;\n};\n\nstruct hisi_sas_cmd_hdr;\n\nstruct hisi_sas_debugfs_dq {\n\tstruct hisi_sas_dq *dq;\n\tstruct hisi_sas_cmd_hdr *hdr;\n};\n\nstruct hisi_sas_iost;\n\nstruct hisi_sas_debugfs_iost {\n\tstruct hisi_sas_iost *iost;\n};\n\nstruct hisi_sas_itct;\n\nstruct hisi_sas_debugfs_itct {\n\tstruct hisi_sas_itct *itct;\n};\n\nstruct hisi_sas_iost_itct_cache;\n\nstruct hisi_sas_debugfs_iost_cache {\n\tstruct hisi_sas_iost_itct_cache *cache;\n};\n\nstruct hisi_sas_debugfs_itct_cache {\n\tstruct hisi_sas_iost_itct_cache *cache;\n};\n\nstruct hisi_sas_initial_fis;\n\nstruct hisi_sas_breakpoint;\n\nstruct hisi_sas_slot;\n\nstruct hisi_sas_hw;\n\nstruct hisi_hba {\n\tstruct sas_ha_struct *p;\n\tstruct platform_device *platform_dev;\n\tstruct pci_dev *pci_dev;\n\tstruct device *dev;\n\tint prot_mask;\n\tvoid *regs;\n\tvoid *sgpio_regs;\n\tstruct regmap *ctrl;\n\tu32 ctrl_reset_reg;\n\tu32 ctrl_reset_sts_reg;\n\tu32 ctrl_clock_ena_reg;\n\tu32 refclk_frequency_mhz;\n\tu8 sas_addr[8];\n\tint *irq_map;\n\tint n_phy;\n\tspinlock_t lock;\n\tstruct semaphore sem;\n\tstruct timer_list timer;\n\tstruct workqueue_struct *wq;\n\tint slot_index_count;\n\tint last_slot_index;\n\tint last_dev_id;\n\tlong unsigned int *slot_index_tags;\n\tlong unsigned int reject_stp_links_msk;\n\tstruct sas_ha_struct sha;\n\tstruct Scsi_Host *shost;\n\tstruct hisi_sas_cq cq[32];\n\tstruct hisi_sas_dq dq[32];\n\tstruct hisi_sas_phy phy[9];\n\tstruct hisi_sas_port port[9];\n\tint queue_count;\n\tstruct hisi_sas_device devices[1024];\n\tstruct hisi_sas_cmd_hdr *cmd_hdr[32];\n\tdma_addr_t cmd_hdr_dma[32];\n\tvoid *complete_hdr[32];\n\tdma_addr_t complete_hdr_dma[32];\n\tstruct hisi_sas_initial_fis *initial_fis;\n\tdma_addr_t initial_fis_dma;\n\tstruct hisi_sas_itct *itct;\n\tdma_addr_t itct_dma;\n\tstruct hisi_sas_iost *iost;\n\tdma_addr_t iost_dma;\n\tstruct hisi_sas_breakpoint *breakpoint;\n\tdma_addr_t breakpoint_dma;\n\tstruct hisi_sas_breakpoint *sata_breakpoint;\n\tdma_addr_t sata_breakpoint_dma;\n\tstruct hisi_sas_slot *slot_info;\n\tlong unsigned int flags;\n\tconst struct hisi_sas_hw *hw;\n\tlong unsigned int sata_dev_bitmap[16];\n\tstruct work_struct rst_work;\n\tu32 phy_state;\n\tu32 intr_coal_ticks;\n\tu32 intr_coal_count;\n\tint cq_nvecs;\n\tenum sas_linkrate debugfs_bist_linkrate;\n\tint debugfs_bist_code_mode;\n\tint debugfs_bist_phy_no;\n\tint debugfs_bist_mode;\n\tu32 debugfs_bist_cnt;\n\tint debugfs_bist_enable;\n\tu32 debugfs_bist_ffe[72];\n\tu32 debugfs_bist_fixed_code[2];\n\tstruct hisi_sas_debugfs_regs debugfs_regs[150];\n\tstruct hisi_sas_debugfs_port debugfs_port_reg[450];\n\tstruct hisi_sas_debugfs_cq debugfs_cq[1600];\n\tstruct hisi_sas_debugfs_dq debugfs_dq[1600];\n\tstruct hisi_sas_debugfs_iost debugfs_iost[50];\n\tstruct hisi_sas_debugfs_itct debugfs_itct[50];\n\tstruct hisi_sas_debugfs_iost_cache debugfs_iost_cache[50];\n\tstruct hisi_sas_debugfs_itct_cache debugfs_itct_cache[50];\n\tu64 debugfs_timestamp[50];\n\tint debugfs_dump_index;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *debugfs_dump_dentry;\n\tstruct dentry *debugfs_bist_dentry;\n\tstruct dentry *debugfs_fifo_dentry;\n\tint iopoll_q_cnt;\n};\n\nstruct hisi_inno_phy_priv;\n\nstruct hisi_inno_phy_port {\n\tstruct reset_control *utmi_rst;\n\tstruct hisi_inno_phy_priv *priv;\n};\n\nstruct hisi_inno_phy_priv {\n\tvoid *mmio;\n\tstruct clk *ref_clk;\n\tstruct reset_control *por_rst;\n\tunsigned int type;\n\tstruct hisi_inno_phy_port ports[2];\n};\n\nstruct platform_device_info;\n\nstruct hisi_lpc_acpi_cell {\n\tconst char *hid;\n\tconst struct platform_device_info *pdevinfo;\n};\n\nstruct logic_pio_hwaddr;\n\nstruct hisi_lpc_dev {\n\tspinlock_t cycle_lock;\n\tvoid *membase;\n\tstruct logic_pio_hwaddr *io_host;\n};\n\nstruct hisi_mux_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char * const *parent_names;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 shift;\n\tu8 width;\n\tu8 mux_flags;\n\tconst u32 *table;\n\tconst char *alias;\n};\n\nstruct hisi_pa_pmu_int_regs {\n\tu32 mask_offset;\n\tu32 clear_offset;\n\tu32 status_offset;\n};\n\nstruct hisi_pcie {\n\tvoid *reg_base;\n};\n\nstruct hisi_phase_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_names;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 shift;\n\tu8 width;\n\tu32 *phase_degrees;\n\tu32 *phase_regvals;\n\tu8 phase_num;\n};\n\nstruct hisi_pmu_hwevents {\n\tstruct perf_event *hw_events[16];\n\tlong unsigned int used_mask[1];\n\tconst struct attribute_group **attr_groups;\n};\n\nstruct hisi_pmu_topology {\n\tunion {\n\t\tint sccl_id;\n\t\tint sicl_id;\n\t\tint scl_id;\n\t};\n\tint ccl_id;\n\tint index_id;\n\tint sub_id;\n};\n\nstruct hisi_uncore_ops;\n\nstruct hisi_pmu_dev_info;\n\nstruct hisi_pmu {\n\tstruct pmu pmu;\n\tconst struct hisi_uncore_ops *ops;\n\tconst struct hisi_pmu_dev_info *dev_info;\n\tstruct hisi_pmu_hwevents pmu_events;\n\tstruct hisi_pmu_topology topo;\n\tcpumask_t associated_cpus;\n\tint on_cpu;\n\tint irq;\n\tstruct device *dev;\n\tstruct hlist_node node;\n\tvoid *base;\n\tint num_counters;\n\tint counter_bits;\n\tint check_event;\n\tu32 identifier;\n};\n\nstruct hisi_pmu_dev_info {\n\tconst char *name;\n\tconst struct attribute_group **attr_groups;\n\tvoid *private;\n};\n\nstruct hisi_reset_controller {\n\tspinlock_t lock;\n\tvoid *membase;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct hisi_rng {\n\tvoid *base;\n\tstruct hwrng rng;\n};\n\nstruct hisi_sas_breakpoint {\n\tu8 data[128];\n};\n\nstruct hisi_sas_cmd_hdr {\n\t__le32 dw0;\n\t__le32 dw1;\n\t__le32 dw2;\n\t__le32 transfer_tags;\n\t__le32 data_transfer_len;\n\t__le32 first_burst_num;\n\t__le32 sg_len;\n\t__le32 dw7;\n\t__le64 cmd_table_addr;\n\t__le64 sts_buffer_addr;\n\t__le64 prd_table_addr;\n\t__le64 dif_prd_table_addr;\n};\n\nstruct hisi_sas_complete_v1_hdr {\n\t__le32 data;\n};\n\nstruct hisi_sas_complete_v2_hdr {\n\t__le32 dw0;\n\t__le32 dw1;\n\t__le32 act;\n\t__le32 dw3;\n};\n\nstruct hisi_sas_complete_v3_hdr {\n\t__le32 dw0;\n\t__le32 dw1;\n\t__le32 act;\n\t__le32 dw3;\n};\n\nstruct hisi_sas_debugfs_reg_lu;\n\nstruct hisi_sas_debugfs_reg {\n\tconst struct hisi_sas_debugfs_reg_lu *lu;\n\tint count;\n\tint base_off;\n};\n\nstruct hisi_sas_debugfs_reg_lu {\n\tchar *name;\n\tint off;\n};\n\nstruct hisi_sas_err_record {\n\tu32 data[4];\n};\n\nstruct hisi_sas_err_record_v1 {\n\t__le32 dma_err_type;\n\t__le32 trans_tx_fail_type;\n\t__le32 trans_rx_fail_type;\n\tu32 rsvd;\n};\n\nstruct hisi_sas_err_record_v2 {\n\t__le32 trans_tx_fail_type;\n\t__le32 trans_rx_fail_type;\n\t__le16 dma_tx_err_type;\n\t__le16 sipc_rx_err_type;\n\t__le32 dma_rx_err_type;\n};\n\nstruct hisi_sas_err_record_v3 {\n\t__le32 trans_tx_fail_type;\n\t__le32 trans_rx_fail_type;\n\t__le16 dma_tx_err_type;\n\t__le16 sipc_rx_err_type;\n\t__le32 dma_rx_err_type;\n};\n\nstruct sas_phy_linkrates;\n\nstruct hisi_sas_hw {\n\tint (*hw_init)(struct hisi_hba *);\n\tint (*fw_info_check)(struct hisi_hba *);\n\tint (*interrupt_preinit)(struct hisi_hba *);\n\tvoid (*setup_itct)(struct hisi_hba *, struct hisi_sas_device *);\n\tint (*slot_index_alloc)(struct hisi_hba *, struct domain_device *);\n\tstruct hisi_sas_device * (*alloc_dev)(struct domain_device *);\n\tvoid (*sl_notify_ssp)(struct hisi_hba *, int);\n\tvoid (*start_delivery)(struct hisi_sas_dq *);\n\tvoid (*prep_ssp)(struct hisi_hba *, struct hisi_sas_slot *);\n\tvoid (*prep_smp)(struct hisi_hba *, struct hisi_sas_slot *);\n\tvoid (*prep_stp)(struct hisi_hba *, struct hisi_sas_slot *);\n\tvoid (*prep_abort)(struct hisi_hba *, struct hisi_sas_slot *);\n\tvoid (*phys_init)(struct hisi_hba *);\n\tvoid (*phy_start)(struct hisi_hba *, int);\n\tvoid (*phy_disable)(struct hisi_hba *, int);\n\tvoid (*phy_hard_reset)(struct hisi_hba *, int);\n\tvoid (*get_events)(struct hisi_hba *, int);\n\tvoid (*phy_set_linkrate)(struct hisi_hba *, int, struct sas_phy_linkrates *);\n\tenum sas_linkrate (*phy_get_max_linkrate)(void);\n\tint (*clear_itct)(struct hisi_hba *, struct hisi_sas_device *);\n\tvoid (*free_device)(struct hisi_sas_device *);\n\tint (*get_wideport_bitmap)(struct hisi_hba *, int);\n\tvoid (*dereg_device)(struct hisi_hba *, struct domain_device *);\n\tint (*soft_reset)(struct hisi_hba *);\n\tu32 (*get_phys_state)(struct hisi_hba *);\n\tint (*write_gpio)(struct hisi_hba *, u8, u8, u8, u8 *);\n\tvoid (*wait_cmds_complete_timeout)(struct hisi_hba *, int, int);\n\tint (*debugfs_snapshot_regs)(struct hisi_hba *);\n\tint complete_hdr_size;\n\tconst struct scsi_host_template *sht;\n};\n\nstruct hisi_sas_hw_error {\n\tu32 irq_msk;\n\tu32 msk;\n\tint shift;\n\tconst char *msg;\n\tint reg;\n\tconst struct hisi_sas_hw_error *sub;\n};\n\nstruct hisi_sas_initial_fis {\n\tstruct hisi_sas_err_record err_record;\n\tstruct dev_to_host_fis fis;\n\tu32 rsvd[3];\n};\n\nstruct hisi_sas_internal_abort_data {\n\tbool rst_ha_timeout;\n};\n\nstruct hisi_sas_iost {\n\t__le64 qw0;\n\t__le64 qw1;\n\t__le64 qw2;\n\t__le64 qw3;\n};\n\nstruct hisi_sas_iost_itct_cache {\n\tu32 data[10];\n};\n\nstruct hisi_sas_itct {\n\t__le64 qw0;\n\t__le64 sas_addr;\n\t__le64 qw2;\n\t__le64 qw3;\n\t__le64 qw4_15[12];\n};\n\nstruct hisi_sas_protect_iu_v3_hw {\n\tu32 dw0;\n\tu32 lbrtcv;\n\tu32 lbrtgv;\n\tu32 dw3;\n\tu32 dw4;\n\tu32 dw5;\n\tu32 rsv;\n};\n\nstruct hisi_sas_rst {\n\tstruct hisi_hba *hisi_hba;\n\tstruct completion *completion;\n\tstruct work_struct work;\n\tbool done;\n};\n\nstruct hisi_sas_sge {\n\t__le64 addr;\n\t__le32 page_ctrl_0;\n\t__le32 page_ctrl_1;\n\t__le32 data_len;\n\t__le32 data_off;\n};\n\nstruct hisi_sas_sge_dif_page {\n\tstruct hisi_sas_sge sge[124];\n};\n\nstruct hisi_sas_sge_page {\n\tstruct hisi_sas_sge sge[124];\n};\n\nstruct sas_task;\n\nstruct sas_tmf_task;\n\nstruct hisi_sas_slot {\n\tstruct list_head entry;\n\tstruct list_head delivery;\n\tstruct sas_task *task;\n\tstruct hisi_sas_port *port;\n\tu64 n_elem;\n\tu64 n_elem_dif;\n\tint dlvry_queue;\n\tint dlvry_queue_slot;\n\tint cmplt_queue;\n\tint cmplt_queue_slot;\n\tint abort;\n\tint ready;\n\tint device_id;\n\tvoid *cmd_hdr;\n\tdma_addr_t cmd_hdr_dma;\n\tstruct timer_list internal_abort_timer;\n\tbool is_internal;\n\tstruct sas_tmf_task *tmf;\n\tvoid *buf;\n\tdma_addr_t buf_dma;\n\tu16 idx;\n};\n\nstruct hisi_sas_status_buffer {\n\tstruct hisi_sas_err_record err;\n\tu8 iu[1024];\n};\n\nstruct hisi_thermal_ops;\n\nstruct hisi_thermal_sensor;\n\nstruct hisi_thermal_data {\n\tconst struct hisi_thermal_ops *ops;\n\tstruct hisi_thermal_sensor *sensor;\n\tstruct platform_device *pdev;\n\tstruct clk *clk;\n\tvoid *regs;\n\tint nr_sensors;\n};\n\nstruct hisi_thermal_ops {\n\tint (*get_temp)(struct hisi_thermal_sensor *);\n\tint (*enable_sensor)(struct hisi_thermal_sensor *);\n\tint (*disable_sensor)(struct hisi_thermal_sensor *);\n\tint (*irq_handler)(struct hisi_thermal_sensor *);\n\tint (*probe)(struct hisi_thermal_data *);\n};\n\nstruct hisi_thermal_sensor {\n\tstruct hisi_thermal_data *data;\n\tstruct thermal_zone_device *tzd;\n\tconst char *irq_name;\n\tuint32_t id;\n\tuint32_t thres_temp;\n};\n\nstruct hisi_uncore_ops {\n\tint (*check_filter)(struct perf_event *);\n\tvoid (*write_evtype)(struct hisi_pmu *, int, u32);\n\tint (*get_event_idx)(struct perf_event *);\n\tu64 (*read_counter)(struct hisi_pmu *, struct hw_perf_event *);\n\tvoid (*write_counter)(struct hisi_pmu *, struct hw_perf_event *, u64);\n\tvoid (*enable_counter)(struct hisi_pmu *, struct hw_perf_event *);\n\tvoid (*disable_counter)(struct hisi_pmu *, struct hw_perf_event *);\n\tvoid (*enable_counter_int)(struct hisi_pmu *, struct hw_perf_event *);\n\tvoid (*disable_counter_int)(struct hisi_pmu *, struct hw_perf_event *);\n\tvoid (*start_counters)(struct hisi_pmu *);\n\tvoid (*stop_counters)(struct hisi_pmu *);\n\tu32 (*get_int_status)(struct hisi_pmu *);\n\tvoid (*clear_int_status)(struct hisi_pmu *, int);\n\tvoid (*enable_filter)(struct perf_event *);\n\tvoid (*disable_filter)(struct perf_event *);\n};\n\nstruct histb_combphy_mode {\n\tint fixed;\n\tint select;\n\tu32 reg;\n\tu32 shift;\n\tu32 mask;\n};\n\nstruct histb_combphy_priv {\n\tvoid *mmio;\n\tstruct regmap *syscon;\n\tstruct reset_control *por_rst;\n\tstruct clk *ref_clk;\n\tstruct phy *phy;\n\tstruct histb_combphy_mode mode;\n};\n\nstruct histb_pcie {\n\tstruct dw_pcie *pci;\n\tstruct clk *aux_clk;\n\tstruct clk *pipe_clk;\n\tstruct clk *sys_clk;\n\tstruct clk *bus_clk;\n\tstruct phy *phy;\n\tstruct reset_control *soft_reset;\n\tstruct reset_control *sys_reset;\n\tstruct reset_control *bus_reset;\n\tvoid *ctrl;\n\tstruct gpio_desc *reset_gpio;\n\tstruct regulator *vpcie;\n};\n\nstruct histb_rng_priv {\n\tstruct hwrng rng;\n\tvoid *base;\n};\n\nstruct hix5hd2_desc {\n\t__le32 buff_addr;\n\t__le32 cmd;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hix5hd2_desc_sw {\n\tstruct hix5hd2_desc *desc;\n\tdma_addr_t phys_addr;\n\tunsigned int count;\n\tunsigned int size;\n};\n\nstruct sg_desc;\n\nstruct hix5hd2_sg_desc_ring {\n\tstruct sg_desc *desc;\n\tdma_addr_t phys_addr;\n};\n\nstruct hix5hd2_priv {\n\tstruct hix5hd2_desc_sw pool[4];\n\tstruct hix5hd2_sg_desc_ring tx_ring;\n\tvoid *base;\n\tvoid *ctrl_base;\n\tstruct sk_buff *tx_skb[1024];\n\tstruct sk_buff *rx_skb[1024];\n\tstruct device *dev;\n\tstruct net_device *netdev;\n\tstruct device_node *phy_node;\n\tphy_interface_t phy_mode;\n\tlong unsigned int hw_cap;\n\tunsigned int speed;\n\tunsigned int duplex;\n\tstruct clk *mac_core_clk;\n\tstruct clk *mac_ifc_clk;\n\tstruct reset_control *mac_core_rst;\n\tstruct reset_control *mac_ifc_rst;\n\tstruct reset_control *phy_rst;\n\tu32 phy_reset_delays[3];\n\tstruct mii_bus *bus;\n\tstruct napi_struct napi;\n\tstruct work_struct tx_timeout_task;\n};\n\nstruct hlist_bl_head {\n\tstruct hlist_bl_node *first;\n};\n\nstruct hmac_ctx {\n\tstruct crypto_shash *hash;\n\tu8 pads[0];\n};\n\nstruct hnae3_ae_ops;\n\nstruct hnae3_ae_algo {\n\tconst struct hnae3_ae_ops *ops;\n\tstruct list_head node;\n\tconst struct pci_device_id *pdev_id_table;\n};\n\nstruct hnae3_dev_specs {\n\tu32 mac_entry_num;\n\tu32 mng_entry_num;\n\tu32 max_tm_rate;\n\tu16 rss_ind_tbl_size;\n\tu16 rss_key_size;\n\tu16 int_ql_max;\n\tu16 max_int_gl;\n\tu8 max_non_tso_bd_num;\n\tu16 max_frm_size;\n\tu16 max_qset_num;\n\tu16 umv_size;\n\tu16 mc_mac_size;\n\tu32 mac_stats_num;\n\tu8 tnl_num;\n\tu8 hilink_version;\n};\n\nstruct hnae3_ae_dev {\n\tstruct pci_dev *pdev;\n\tconst struct hnae3_ae_ops *ops;\n\tstruct list_head node;\n\tu32 flag;\n\tlong unsigned int hw_err_reset_req;\n\tstruct hnae3_dev_specs dev_specs;\n\tu32 dev_version;\n\tlong unsigned int caps[2];\n\tvoid *priv;\n};\n\nstruct hns3_mac_stats;\n\nstruct hnae3_vector_info;\n\nstruct hnae3_ring_chain_node;\n\nstruct ifla_vf_info;\n\nstruct hnae3_ae_ops {\n\tint (*init_ae_dev)(struct hnae3_ae_dev *);\n\tvoid (*uninit_ae_dev)(struct hnae3_ae_dev *);\n\tvoid (*reset_prepare)(struct hnae3_ae_dev *, enum hnae3_reset_type);\n\tvoid (*reset_done)(struct hnae3_ae_dev *);\n\tint (*init_client_instance)(struct hnae3_client *, struct hnae3_ae_dev *);\n\tvoid (*uninit_client_instance)(struct hnae3_client *, struct hnae3_ae_dev *);\n\tint (*start)(struct hnae3_handle *);\n\tvoid (*stop)(struct hnae3_handle *);\n\tint (*client_start)(struct hnae3_handle *);\n\tvoid (*client_stop)(struct hnae3_handle *);\n\tint (*get_status)(struct hnae3_handle *);\n\tvoid (*get_ksettings_an_result)(struct hnae3_handle *, u8 *, u32 *, u8 *, u32 *);\n\tint (*cfg_mac_speed_dup_h)(struct hnae3_handle *, int, u8, u8);\n\tvoid (*get_media_type)(struct hnae3_handle *, u8 *, u8 *);\n\tint (*check_port_speed)(struct hnae3_handle *, u32);\n\tvoid (*get_fec_stats)(struct hnae3_handle *, struct ethtool_fec_stats *);\n\tvoid (*get_fec)(struct hnae3_handle *, u8 *, u8 *);\n\tint (*set_fec)(struct hnae3_handle *, u32);\n\tvoid (*adjust_link)(struct hnae3_handle *, int, int);\n\tint (*set_loopback)(struct hnae3_handle *, enum hnae3_loop, bool);\n\tint (*set_promisc_mode)(struct hnae3_handle *, bool, bool);\n\tvoid (*request_update_promisc_mode)(struct hnae3_handle *);\n\tint (*set_mtu)(struct hnae3_handle *, int);\n\tvoid (*get_pauseparam)(struct hnae3_handle *, u32 *, u32 *, u32 *);\n\tint (*set_pauseparam)(struct hnae3_handle *, u32, u32, u32);\n\tint (*set_autoneg)(struct hnae3_handle *, bool);\n\tint (*get_autoneg)(struct hnae3_handle *);\n\tint (*restart_autoneg)(struct hnae3_handle *);\n\tint (*halt_autoneg)(struct hnae3_handle *, bool);\n\tvoid (*get_coalesce_usecs)(struct hnae3_handle *, u32 *, u32 *);\n\tvoid (*get_rx_max_coalesced_frames)(struct hnae3_handle *, u32 *, u32 *);\n\tint (*set_coalesce_usecs)(struct hnae3_handle *, u32);\n\tint (*set_coalesce_frames)(struct hnae3_handle *, u32);\n\tvoid (*get_coalesce_range)(struct hnae3_handle *, u32 *, u32 *, u32 *, u32 *, u32 *, u32 *, u32 *, u32 *);\n\tvoid (*get_mac_addr)(struct hnae3_handle *, u8 *);\n\tint (*set_mac_addr)(struct hnae3_handle *, const void *, bool);\n\tint (*do_ioctl)(struct hnae3_handle *, struct ifreq *, int);\n\tint (*add_uc_addr)(struct hnae3_handle *, const unsigned char *);\n\tint (*rm_uc_addr)(struct hnae3_handle *, const unsigned char *);\n\tint (*set_mc_addr)(struct hnae3_handle *, void *);\n\tint (*add_mc_addr)(struct hnae3_handle *, const unsigned char *);\n\tint (*rm_mc_addr)(struct hnae3_handle *, const unsigned char *);\n\tvoid (*set_tso_stats)(struct hnae3_handle *, int);\n\tvoid (*update_stats)(struct hnae3_handle *);\n\tvoid (*get_stats)(struct hnae3_handle *, u64 *);\n\tvoid (*get_mac_stats)(struct hnae3_handle *, struct hns3_mac_stats *);\n\tvoid (*get_strings)(struct hnae3_handle *, u32, u8 **);\n\tint (*get_sset_count)(struct hnae3_handle *, int);\n\tvoid (*get_regs)(struct hnae3_handle *, u32 *, void *);\n\tint (*get_regs_len)(struct hnae3_handle *);\n\tu32 (*get_rss_key_size)(struct hnae3_handle *);\n\tint (*get_rss)(struct hnae3_handle *, u32 *, u8 *, u8 *);\n\tint (*set_rss)(struct hnae3_handle *, const u32 *, const u8 *, const u8);\n\tint (*set_rss_tuple)(struct hnae3_handle *, struct ethtool_rxnfc *);\n\tint (*get_rss_tuple)(struct hnae3_handle *, struct ethtool_rxnfc *);\n\tint (*get_tc_size)(struct hnae3_handle *);\n\tint (*get_vector)(struct hnae3_handle *, u16, struct hnae3_vector_info *);\n\tint (*put_vector)(struct hnae3_handle *, int);\n\tint (*map_ring_to_vector)(struct hnae3_handle *, int, struct hnae3_ring_chain_node *);\n\tint (*unmap_ring_from_vector)(struct hnae3_handle *, int, struct hnae3_ring_chain_node *);\n\tint (*reset_queue)(struct hnae3_handle *);\n\tu32 (*get_fw_version)(struct hnae3_handle *);\n\tvoid (*get_mdix_mode)(struct hnae3_handle *, u8 *, u8 *);\n\tint (*enable_vlan_filter)(struct hnae3_handle *, bool);\n\tint (*set_vlan_filter)(struct hnae3_handle *, __be16, u16, bool);\n\tint (*set_vf_vlan_filter)(struct hnae3_handle *, int, u16, u8, __be16);\n\tint (*enable_hw_strip_rxvtag)(struct hnae3_handle *, bool);\n\tvoid (*reset_event)(struct pci_dev *, struct hnae3_handle *);\n\tenum hnae3_reset_type (*get_reset_level)(struct hnae3_ae_dev *, long unsigned int *);\n\tvoid (*set_default_reset_request)(struct hnae3_ae_dev *, enum hnae3_reset_type);\n\tvoid (*get_channels)(struct hnae3_handle *, struct ethtool_channels *);\n\tvoid (*get_tqps_and_rss_info)(struct hnae3_handle *, u16 *, u16 *);\n\tint (*set_channels)(struct hnae3_handle *, u32, bool);\n\tvoid (*get_flowctrl_adv)(struct hnae3_handle *, u32 *);\n\tint (*set_led_id)(struct hnae3_handle *, enum ethtool_phys_id_state);\n\tvoid (*get_link_mode)(struct hnae3_handle *, long unsigned int *, long unsigned int *);\n\tint (*add_fd_entry)(struct hnae3_handle *, struct ethtool_rxnfc *);\n\tint (*del_fd_entry)(struct hnae3_handle *, struct ethtool_rxnfc *);\n\tint (*get_fd_rule_cnt)(struct hnae3_handle *, struct ethtool_rxnfc *);\n\tint (*get_fd_rule_info)(struct hnae3_handle *, struct ethtool_rxnfc *);\n\tint (*get_fd_all_rules)(struct hnae3_handle *, struct ethtool_rxnfc *, u32 *);\n\tvoid (*enable_fd)(struct hnae3_handle *, bool);\n\tint (*add_arfs_entry)(struct hnae3_handle *, u16, u16, struct flow_keys *);\n\tint (*dbg_read_cmd)(struct hnae3_handle *, enum hnae3_dbg_cmd, char *, int);\n\tpci_ers_result_t (*handle_hw_ras_error)(struct hnae3_ae_dev *);\n\tbool (*get_hw_reset_stat)(struct hnae3_handle *);\n\tbool (*ae_dev_resetting)(struct hnae3_handle *);\n\tlong unsigned int (*ae_dev_reset_cnt)(struct hnae3_handle *);\n\tint (*set_gro_en)(struct hnae3_handle *, bool);\n\tu16 (*get_global_queue_id)(struct hnae3_handle *, u16);\n\tvoid (*set_timer_task)(struct hnae3_handle *, bool);\n\tint (*mac_connect_phy)(struct hnae3_handle *);\n\tvoid (*mac_disconnect_phy)(struct hnae3_handle *);\n\tint (*get_vf_config)(struct hnae3_handle *, int, struct ifla_vf_info *);\n\tint (*set_vf_link_state)(struct hnae3_handle *, int, int);\n\tint (*set_vf_spoofchk)(struct hnae3_handle *, int, bool);\n\tint (*set_vf_trust)(struct hnae3_handle *, int, bool);\n\tint (*set_vf_rate)(struct hnae3_handle *, int, int, int, bool);\n\tint (*set_vf_mac)(struct hnae3_handle *, int, u8 *);\n\tint (*get_module_eeprom)(struct hnae3_handle *, u32, u32, u8 *);\n\tbool (*get_cmdq_stat)(struct hnae3_handle *);\n\tint (*add_cls_flower)(struct hnae3_handle *, struct flow_cls_offload *, int);\n\tint (*del_cls_flower)(struct hnae3_handle *, struct flow_cls_offload *);\n\tbool (*cls_flower_active)(struct hnae3_handle *);\n\tint (*get_phy_link_ksettings)(struct hnae3_handle *, struct ethtool_link_ksettings *);\n\tint (*set_phy_link_ksettings)(struct hnae3_handle *, const struct ethtool_link_ksettings *);\n\tbool (*set_tx_hwts_info)(struct hnae3_handle *, struct sk_buff *);\n\tvoid (*get_rx_hwts)(struct hnae3_handle *, struct sk_buff *, u32, u32);\n\tint (*get_ts_info)(struct hnae3_handle *, struct kernel_ethtool_ts_info *);\n\tint (*get_link_diagnosis_info)(struct hnae3_handle *, u32 *);\n\tvoid (*clean_vf_config)(struct hnae3_ae_dev *, int);\n\tint (*get_dscp_prio)(struct hnae3_handle *, u8, u8 *, u8 *);\n\tvoid (*get_wol)(struct hnae3_handle *, struct ethtool_wolinfo *);\n\tint (*set_wol)(struct hnae3_handle *, struct ethtool_wolinfo *);\n};\n\nstruct hnae3_client_ops;\n\nstruct hnae3_client {\n\tchar name[16];\n\tlong unsigned int state;\n\tenum hnae3_client_type type;\n\tconst struct hnae3_client_ops *ops;\n\tstruct list_head node;\n};\n\nstruct hnae3_client_ops {\n\tint (*init_instance)(struct hnae3_handle *);\n\tvoid (*uninit_instance)(struct hnae3_handle *, bool);\n\tvoid (*link_status_change)(struct hnae3_handle *, bool);\n\tint (*reset_notify)(struct hnae3_handle *, enum hnae3_reset_notify_type);\n\tvoid (*process_hw_error)(struct hnae3_handle *, enum hnae3_hw_error_type);\n};\n\nstruct ieee_ets;\n\nstruct ieee_pfc;\n\nstruct hnae3_dcb_ops {\n\tint (*ieee_getets)(struct hnae3_handle *, struct ieee_ets *);\n\tint (*ieee_setets)(struct hnae3_handle *, struct ieee_ets *);\n\tint (*ieee_getpfc)(struct hnae3_handle *, struct ieee_pfc *);\n\tint (*ieee_setpfc)(struct hnae3_handle *, struct ieee_pfc *);\n\tint (*ieee_setapp)(struct hnae3_handle *, struct dcb_app *);\n\tint (*ieee_delapp)(struct hnae3_handle *, struct dcb_app *);\n\tu8 (*getdcbx)(struct hnae3_handle *);\n\tu8 (*setdcbx)(struct hnae3_handle *, u8);\n\tint (*setup_tc)(struct hnae3_handle *, struct tc_mqprio_qopt_offload *);\n};\n\nstruct hnae3_ring_chain_node {\n\tstruct hnae3_ring_chain_node *next;\n\tu32 tqp_index;\n\tu32 flag;\n\tu32 int_gl_idx;\n};\n\nstruct hnae3_vector_info {\n\tu8 *io_addr;\n\tint vector;\n};\n\nstruct hnae_handle;\n\nstruct hnae_queue;\n\nstruct hnae_ring;\n\nstruct net_device_stats;\n\nstruct hnae_ae_ops {\n\tstruct hnae_handle * (*get_handle)(struct hnae_ae_dev *, u32);\n\tvoid (*put_handle)(struct hnae_handle *);\n\tvoid (*init_queue)(struct hnae_queue *);\n\tvoid (*fini_queue)(struct hnae_queue *);\n\tint (*start)(struct hnae_handle *);\n\tvoid (*stop)(struct hnae_handle *);\n\tvoid (*reset)(struct hnae_handle *);\n\tint (*set_opts)(struct hnae_handle *, int, void *);\n\tint (*get_opts)(struct hnae_handle *, int, void **);\n\tint (*get_status)(struct hnae_handle *);\n\tint (*get_info)(struct hnae_handle *, u8 *, u16 *, u8 *);\n\tvoid (*toggle_ring_irq)(struct hnae_ring *, u32);\n\tvoid (*adjust_link)(struct hnae_handle *, int, int);\n\tbool (*need_adjust_link)(struct hnae_handle *, int, int);\n\tint (*set_loopback)(struct hnae_handle *, enum hnae_loop, int);\n\tvoid (*get_ring_bdnum_limit)(struct hnae_queue *, u32 *);\n\tvoid (*get_pauseparam)(struct hnae_handle *, u32 *, u32 *, u32 *);\n\tint (*set_pauseparam)(struct hnae_handle *, u32, u32, u32);\n\tvoid (*get_coalesce_usecs)(struct hnae_handle *, u32 *, u32 *);\n\tvoid (*get_max_coalesced_frames)(struct hnae_handle *, u32 *, u32 *);\n\tint (*set_coalesce_usecs)(struct hnae_handle *, u32);\n\tint (*set_coalesce_frames)(struct hnae_handle *, u32, u32);\n\tvoid (*get_coalesce_range)(struct hnae_handle *, u32 *, u32 *, u32 *, u32 *, u32 *, u32 *, u32 *, u32 *);\n\tvoid (*set_promisc_mode)(struct hnae_handle *, u32);\n\tint (*get_mac_addr)(struct hnae_handle *, void **);\n\tint (*set_mac_addr)(struct hnae_handle *, const void *);\n\tint (*add_uc_addr)(struct hnae_handle *, const unsigned char *);\n\tint (*rm_uc_addr)(struct hnae_handle *, const unsigned char *);\n\tint (*clr_mc_addr)(struct hnae_handle *);\n\tint (*set_mc_addr)(struct hnae_handle *, void *);\n\tint (*set_mtu)(struct hnae_handle *, int);\n\tvoid (*set_tso_stats)(struct hnae_handle *, int);\n\tvoid (*update_stats)(struct hnae_handle *, struct net_device_stats *);\n\tvoid (*get_stats)(struct hnae_handle *, u64 *);\n\tvoid (*get_strings)(struct hnae_handle *, u32, u8 **);\n\tint (*get_sset_count)(struct hnae_handle *, int);\n\tvoid (*update_led_status)(struct hnae_handle *);\n\tint (*set_led_id)(struct hnae_handle *, enum hnae_led_state);\n\tvoid (*get_regs)(struct hnae_handle *, void *);\n\tint (*get_regs_len)(struct hnae_handle *);\n\tu32 (*get_rss_key_size)(struct hnae_handle *);\n\tu32 (*get_rss_indir_size)(struct hnae_handle *);\n\tint (*get_rss)(struct hnae_handle *, u32 *, u8 *, u8 *);\n\tint (*set_rss)(struct hnae_handle *, const u32 *, const u8 *, const u8);\n};\n\nstruct hnae_desc_cb;\n\nstruct hnae_buf_ops {\n\tint (*alloc_buffer)(struct hnae_ring *, struct hnae_desc_cb *);\n\tvoid (*free_buffer)(struct hnae_ring *, struct hnae_desc_cb *);\n\tint (*map_buffer)(struct hnae_ring *, struct hnae_desc_cb *);\n\tvoid (*unmap_buffer)(struct hnae_ring *, struct hnae_desc_cb *);\n};\n\nstruct hnae_desc {\n\t__le64 addr;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\t__le16 asid_bufnum_pid;\n\t\t\t\t__le16 asid;\n\t\t\t};\n\t\t\t__le16 send_size;\n\t\t\tunion {\n\t\t\t\t__le32 flag_ipoffset;\n\t\t\t\tstruct {\n\t\t\t\t\t__u8 bn_pid;\n\t\t\t\t\t__u8 ra_ri_cs_fe_vld;\n\t\t\t\t\t__u8 ip_offset;\n\t\t\t\t\t__u8 tse_vlan_snap_v6_sctp_nth;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__le16 mss;\n\t\t\t__u8 l4_len;\n\t\t\t__u8 reserved1;\n\t\t\t__le16 paylen;\n\t\t\t__u8 vmid;\n\t\t\t__u8 qid;\n\t\t\t__le32 reserved2[2];\n\t\t} tx;\n\t\tstruct {\n\t\t\t__le32 ipoff_bnum_pid_flag;\n\t\t\t__le16 pkt_len;\n\t\t\t__le16 size;\n\t\t\tunion {\n\t\t\t\t__le32 vlan_pri_asid;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 asid;\n\t\t\t\t\t__le16 vlan_cfi_pri;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__le32 rss_hash;\n\t\t\t__le32 reserved_1[2];\n\t\t} rx;\n\t};\n};\n\nstruct hnae_desc_cb {\n\tdma_addr_t dma;\n\tvoid *buf;\n\tvoid *priv;\n\tu32 page_offset;\n\tu32 length;\n\tu16 reuse_flag;\n\tu16 type;\n};\n\nstruct hnae_handle {\n\tstruct device *owner_dev;\n\tstruct hnae_ae_dev *dev;\n\tstruct phy_device *phy_dev;\n\tphy_interface_t phy_if;\n\tu32 if_support;\n\tint q_num;\n\tint vf_id;\n\tlong unsigned int coal_last_jiffies;\n\tu32 coal_param;\n\tu32 coal_ring_idx;\n\tu32 eport_id;\n\tu32 dport_id;\n\tbool coal_adapt_en;\n\tenum hnae_port_type port_type;\n\tenum hnae_media_type media_type;\n\tstruct list_head node;\n\tstruct hnae_buf_ops *bops;\n\tstruct hnae_queue *qs[0];\n};\n\nstruct ring_stats {\n\tu64 io_err_cnt;\n\tu64 sw_err_cnt;\n\tu64 seg_pkt_cnt;\n\tunion {\n\t\tstruct {\n\t\t\tu64 tx_pkts;\n\t\t\tu64 tx_bytes;\n\t\t\tu64 tx_err_cnt;\n\t\t\tu64 restart_queue;\n\t\t\tu64 tx_busy;\n\t\t};\n\t\tstruct {\n\t\t\tu64 rx_pkts;\n\t\t\tu64 rx_bytes;\n\t\t\tu64 rx_err_cnt;\n\t\t\tu64 reuse_pg_cnt;\n\t\t\tu64 err_pkt_len;\n\t\t\tu64 non_vld_descs;\n\t\t\tu64 err_bd_num;\n\t\t\tu64 l2_err;\n\t\t\tu64 l3l4_csum_err;\n\t\t};\n\t};\n};\n\nstruct hnae_ring {\n\tu8 *io_base;\n\tstruct hnae_desc *desc;\n\tstruct hnae_desc_cb *desc_cb;\n\tstruct hnae_queue *q;\n\tint irq;\n\tchar ring_name[20];\n\tstruct ring_stats stats;\n\tdma_addr_t desc_dma_addr;\n\tu32 buf_size;\n\tu16 desc_num;\n\tu16 max_desc_num_per_pkt;\n\tu16 max_raw_data_sz_per_desc;\n\tu16 max_pkt_size;\n\tint next_to_use;\n\tint next_to_clean;\n\tint flags;\n\tint irq_init_flag;\n\tu64 coal_last_rx_bytes;\n\tlong unsigned int coal_last_jiffies;\n\tu32 coal_param;\n\tu32 coal_rx_rate;\n};\n\nstruct hnae_queue {\n\tu8 *io_base;\n\tphys_addr_t phy_base;\n\tstruct hnae_ae_dev *dev;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hnae_ring rx_ring;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hnae_ring tx_ring;\n\tstruct hnae_handle *handle;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hnae_vf_cb {\n\tu8 port_index;\n\tstruct hns_mac_cb *mac_cb;\n\tstruct dsaf_device *dsaf_dev;\n\tstruct hnae_handle ae_handle;\n};\n\nstruct hns3_dbg_cap_info {\n\tconst char *name;\n\tenum HNAE3_DEV_CAP_BITS cap_bit;\n};\n\nstruct hns3_dbg_cmd_info {\n\tconst char *name;\n\tenum hnae3_dbg_cmd cmd;\n\tenum hns3_dbg_dentry_type dentry;\n\tu32 buf_len;\n\tint (*init)(struct hnae3_handle *, unsigned int);\n};\n\nstruct hns3_dbg_data {\n\tstruct hnae3_handle *handle;\n\tenum hnae3_dbg_cmd cmd;\n\tu16 qid;\n};\n\nstruct hns3_dbg_dentry_info {\n\tconst char *name;\n\tstruct dentry *dentry;\n};\n\nstruct hns3_dbg_func {\n\tenum hnae3_dbg_cmd cmd;\n\tint (*dbg_dump)(struct hnae3_handle *, char *, int);\n\tint (*dbg_dump_bd)(struct hns3_dbg_data *, char *, int);\n};\n\nstruct hns3_dbg_item {\n\tchar name[32];\n\tu16 interval;\n};\n\nstruct hns3_desc {\n\tunion {\n\t\t__le64 addr;\n\t\t__le16 csum;\n\t\tstruct {\n\t\t\t__le32 ts_nsec;\n\t\t\t__le32 ts_sec;\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__le16 vlan_tag;\n\t\t\t__le16 send_size;\n\t\t\tunion {\n\t\t\t\t__le32 type_cs_vlan_tso_len;\n\t\t\t\tstruct {\n\t\t\t\t\t__u8 type_cs_vlan_tso;\n\t\t\t\t\t__u8 l2_len;\n\t\t\t\t\t__u8 l3_len;\n\t\t\t\t\t__u8 l4_len;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__le16 outer_vlan_tag;\n\t\t\t__le16 tv;\n\t\t\tunion {\n\t\t\t\t__le32 ol_type_vlan_len_msec;\n\t\t\t\tstruct {\n\t\t\t\t\t__u8 ol_type_vlan_msec;\n\t\t\t\t\t__u8 ol2_len;\n\t\t\t\t\t__u8 ol3_len;\n\t\t\t\t\t__u8 ol4_len;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__le32 paylen_ol4cs;\n\t\t\t__le16 bdtp_fe_sc_vld_ra_ri;\n\t\t\t__le16 mss_hw_csum;\n\t\t} tx;\n\t\tstruct {\n\t\t\t__le32 l234_info;\n\t\t\t__le16 pkt_len;\n\t\t\t__le16 size;\n\t\t\t__le32 rss_hash;\n\t\t\t__le16 fd_id;\n\t\t\t__le16 vlan_tag;\n\t\t\tunion {\n\t\t\t\t__le32 ol_info;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 o_dm_vlan_id_fb;\n\t\t\t\t\t__le16 ot_vlan_tag;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__le32 bd_base_info;\n\t\t} rx;\n\t};\n};\n\nstruct hns3_desc_cb {\n\tdma_addr_t dma;\n\tvoid *buf;\n\tvoid *priv;\n\tunion {\n\t\tu32 page_offset;\n\t\tu32 send_bytes;\n\t};\n\tu32 length;\n\tu16 reuse_flag;\n\tu16 refill;\n\tu16 type;\n\tu16 pagecnt_bias;\n};\n\nstruct hns3_desc_param {\n\tu32 paylen_ol4cs;\n\tu32 ol_type_vlan_len_msec;\n\tu32 type_cs_vlan_tso;\n\tu16 mss_hw_csum;\n\tu16 inner_vtag;\n\tu16 out_vtag;\n};\n\nstruct hns3_enet_coalesce {\n\tu16 int_gl;\n\tu16 int_ql;\n\tu16 int_ql_max;\n\tu8 adapt_enable: 1;\n\tu8 ql_enable: 1;\n\tu8 unit_1us: 1;\n\tenum hns3_flow_level_range flow_level;\n};\n\nstruct ring_stats___2 {\n\tu64 sw_err_cnt;\n\tu64 seg_pkt_cnt;\n\tunion {\n\t\tstruct {\n\t\t\tu64 tx_pkts;\n\t\t\tu64 tx_bytes;\n\t\t\tu64 tx_more;\n\t\t\tu64 tx_push;\n\t\t\tu64 tx_mem_doorbell;\n\t\t\tu64 restart_queue;\n\t\t\tu64 tx_busy;\n\t\t\tu64 tx_copy;\n\t\t\tu64 tx_vlan_err;\n\t\t\tu64 tx_l4_proto_err;\n\t\t\tu64 tx_l2l3l4_err;\n\t\t\tu64 tx_tso_err;\n\t\t\tu64 over_max_recursion;\n\t\t\tu64 hw_limitation;\n\t\t\tu64 tx_bounce;\n\t\t\tu64 tx_spare_full;\n\t\t\tu64 copy_bits_err;\n\t\t\tu64 tx_sgl;\n\t\t\tu64 skb2sgl_err;\n\t\t\tu64 map_sg_err;\n\t\t};\n\t\tstruct {\n\t\t\tu64 rx_pkts;\n\t\t\tu64 rx_bytes;\n\t\t\tu64 rx_err_cnt;\n\t\t\tu64 reuse_pg_cnt;\n\t\t\tu64 err_pkt_len;\n\t\t\tu64 err_bd_num;\n\t\t\tu64 l2_err;\n\t\t\tu64 l3l4_csum_err;\n\t\t\tu64 csum_complete;\n\t\t\tu64 rx_multicast;\n\t\t\tu64 non_reuse_pg;\n\t\t\tu64 frag_alloc_err;\n\t\t\tu64 frag_alloc;\n\t\t};\n\t\t__le16 csum;\n\t};\n};\n\nstruct hns3_enet_tqp_vector;\n\nstruct hns3_tx_spare;\n\nstruct hns3_enet_ring {\n\tstruct hns3_desc *desc;\n\tstruct hns3_desc_cb *desc_cb;\n\tstruct hns3_enet_ring *next;\n\tstruct hns3_enet_tqp_vector *tqp_vector;\n\tstruct hnae3_queue *tqp;\n\tint queue_index;\n\tstruct device *dev;\n\tstruct page_pool *page_pool;\n\tstruct ring_stats___2 stats;\n\tstruct u64_stats_sync syncp;\n\tdma_addr_t desc_dma_addr;\n\tu32 buf_size;\n\tu16 desc_num;\n\tint next_to_use;\n\tint next_to_clean;\n\tu32 flag;\n\tint pending_buf;\n\tunion {\n\t\tstruct {\n\t\t\tu32 fd_qb_tx_sample;\n\t\t\tint last_to_use;\n\t\t\tu32 tx_copybreak;\n\t\t\tstruct hns3_tx_spare *tx_spare;\n\t\t};\n\t\tstruct {\n\t\t\tu32 pull_len;\n\t\t\tu32 rx_copybreak;\n\t\t\tu32 frag_num;\n\t\t\tunsigned char *va;\n\t\t\tstruct sk_buff *skb;\n\t\t\tstruct sk_buff *tail_skb;\n\t\t};\n\t};\n\tlong: 64;\n};\n\nstruct hns3_enet_ring_group {\n\tstruct hns3_enet_ring *ring;\n\tu64 total_bytes;\n\tu64 total_packets;\n\tu16 count;\n\tstruct hns3_enet_coalesce coal;\n\tstruct dim dim;\n};\n\nstruct irq_affinity_notify {\n\tunsigned int irq;\n\tstruct kref kref;\n\tstruct work_struct work;\n\tvoid (*notify)(struct irq_affinity_notify *, const cpumask_t *);\n\tvoid (*release)(struct kref *);\n};\n\nstruct hns3_enet_tqp_vector {\n\tstruct hnae3_handle *handle;\n\tu8 *mask_addr;\n\tint vector_irq;\n\tint irq_init_flag;\n\tu16 idx;\n\tstruct napi_struct napi;\n\tstruct hns3_enet_ring_group rx_group;\n\tstruct hns3_enet_ring_group tx_group;\n\tcpumask_t affinity_mask;\n\tu16 num_tqps;\n\tstruct irq_affinity_notify affinity_notify;\n\tchar name[32];\n\tu64 event_cnt;\n\tlong: 64;\n};\n\nstruct hns3_ethtool_link_ext_state_mapping {\n\tu32 status_code;\n\tenum ethtool_link_ext_state link_ext_state;\n\tu8 link_ext_substate;\n};\n\nstruct hns3_hw_error_info {\n\tenum hnae3_hw_error_type type;\n\tconst char *msg;\n};\n\nstruct hns3_mac_stats {\n\tu64 tx_pause_cnt;\n\tu64 rx_pause_cnt;\n};\n\nstruct hns3_nic_priv {\n\tstruct hnae3_handle *ae_handle;\n\tstruct net_device *netdev;\n\tstruct device *dev;\n\tstruct hns3_enet_ring *ring;\n\tstruct hns3_enet_tqp_vector *tqp_vector;\n\tu16 vector_num;\n\tu8 max_non_tso_bd_num;\n\tu64 tx_timeout_count;\n\tlong unsigned int state;\n\tenum dim_cq_period_mode tx_cqe_mode;\n\tenum dim_cq_period_mode rx_cqe_mode;\n\tstruct hns3_enet_coalesce tx_coal;\n\tstruct hns3_enet_coalesce rx_coal;\n\tu32 tx_copybreak;\n\tu32 rx_copybreak;\n};\n\nstruct hns3_pflag_desc {\n\tchar name[32];\n\tvoid (*handler)(struct net_device *, bool);\n};\n\nstruct hns3_reset_type_map {\n\tenum ethtool_reset_flags rst_flags;\n\tenum hnae3_reset_type rst_type;\n};\n\nstruct hns3_ring_param {\n\tu32 tx_desc_num;\n\tu32 rx_desc_num;\n\tu32 rx_buf_len;\n};\n\nstruct hns3_rx_ptype {\n\tu32 ptype: 8;\n\tu32 csum_level: 2;\n\tu32 ip_summed: 2;\n\tu32 l3_type: 4;\n\tu32 valid: 1;\n\tu32 hash_type: 3;\n};\n\nstruct hns3_sfp_type {\n\tu8 type;\n\tu8 ext_type;\n};\n\nstruct hns3_stats {\n\tchar stats_string[32];\n\tint stats_offset;\n};\n\nstruct hns3_tx_spare {\n\tdma_addr_t dma;\n\tvoid *buf;\n\tu32 next_to_use;\n\tu32 next_to_clean;\n\tu32 last_to_clean;\n\tu32 len;\n};\n\nstruct hns_gmac_port_mode_cfg {\n\tenum hns_port_mode port_mode;\n\tu32 max_frm_size;\n\tu32 short_runts_thr;\n\tu32 pad_enable;\n\tu32 crc_add;\n\tu32 an_enable;\n\tu32 runt_pkt_en;\n\tu32 strip_pad_en;\n};\n\nstruct mac_priv {\n\tvoid *mac;\n};\n\nstruct mac_entry_idx {\n\tu8 addr[6];\n\tu16 vlan_id: 12;\n\tu16 valid: 1;\n\tu16 qos: 3;\n};\n\nstruct mac_hw_stats {\n\tu64 rx_good_pkts;\n\tu64 rx_good_bytes;\n\tu64 rx_total_pkts;\n\tu64 rx_total_bytes;\n\tu64 rx_bad_bytes;\n\tu64 rx_uc_pkts;\n\tu64 rx_mc_pkts;\n\tu64 rx_bc_pkts;\n\tu64 rx_fragment_err;\n\tu64 rx_undersize;\n\tu64 rx_under_min;\n\tu64 rx_minto64;\n\tu64 rx_64bytes;\n\tu64 rx_65to127;\n\tu64 rx_128to255;\n\tu64 rx_256to511;\n\tu64 rx_512to1023;\n\tu64 rx_1024to1518;\n\tu64 rx_1519tomax;\n\tu64 rx_1519tomax_good;\n\tu64 rx_oversize;\n\tu64 rx_jabber_err;\n\tu64 rx_fcs_err;\n\tu64 rx_vlan_pkts;\n\tu64 rx_data_err;\n\tu64 rx_align_err;\n\tu64 rx_long_err;\n\tu64 rx_pfc_tc0;\n\tu64 rx_pfc_tc1;\n\tu64 rx_pfc_tc2;\n\tu64 rx_pfc_tc3;\n\tu64 rx_pfc_tc4;\n\tu64 rx_pfc_tc5;\n\tu64 rx_pfc_tc6;\n\tu64 rx_pfc_tc7;\n\tu64 rx_unknown_ctrl;\n\tu64 rx_filter_pkts;\n\tu64 rx_filter_bytes;\n\tu64 rx_fifo_overrun_err;\n\tu64 rx_len_err;\n\tu64 rx_comma_err;\n\tu64 rx_symbol_err;\n\tu64 tx_good_to_sw;\n\tu64 tx_bad_to_sw;\n\tu64 rx_1731_pkts;\n\tu64 tx_good_bytes;\n\tu64 tx_good_pkts;\n\tu64 tx_total_bytes;\n\tu64 tx_total_pkts;\n\tu64 tx_bad_bytes;\n\tu64 tx_bad_pkts;\n\tu64 tx_uc_pkts;\n\tu64 tx_mc_pkts;\n\tu64 tx_bc_pkts;\n\tu64 tx_undersize;\n\tu64 tx_fragment_err;\n\tu64 tx_under_min_pkts;\n\tu64 tx_64bytes;\n\tu64 tx_65to127;\n\tu64 tx_128to255;\n\tu64 tx_256to511;\n\tu64 tx_512to1023;\n\tu64 tx_1024to1518;\n\tu64 tx_1519tomax;\n\tu64 tx_1519tomax_good;\n\tu64 tx_oversize;\n\tu64 tx_jabber_err;\n\tu64 tx_underrun_err;\n\tu64 tx_vlan;\n\tu64 tx_crc_err;\n\tu64 tx_pfc_tc0;\n\tu64 tx_pfc_tc1;\n\tu64 tx_pfc_tc2;\n\tu64 tx_pfc_tc3;\n\tu64 tx_pfc_tc4;\n\tu64 tx_pfc_tc5;\n\tu64 tx_pfc_tc6;\n\tu64 tx_pfc_tc7;\n\tu64 tx_ctrl;\n\tu64 tx_1731_pkts;\n\tu64 tx_1588_pkts;\n\tu64 rx_good_from_sw;\n\tu64 rx_bad_from_sw;\n};\n\nstruct hns_mac_cb {\n\tstruct device *dev;\n\tstruct dsaf_device *dsaf_dev;\n\tstruct mac_priv priv;\n\tstruct fwnode_handle *fw_port;\n\tu8 *vaddr;\n\tu8 *sys_ctl_vaddr;\n\tu8 *serdes_vaddr;\n\tstruct regmap *serdes_ctrl;\n\tstruct regmap *cpld_ctrl;\n\tchar mc_mask[6];\n\tu32 cpld_ctrl_reg;\n\tu32 port_rst_off;\n\tu32 port_mode_off;\n\tstruct mac_entry_idx addr_entry_idx[128];\n\tu8 sfp_prsnt;\n\tu8 cpld_led_value;\n\tu8 mac_id;\n\tu8 link;\n\tu8 half_duplex;\n\tu16 speed;\n\tu16 max_speed;\n\tu16 max_frm;\n\tu16 tx_pause_frm_time;\n\tu32 if_support;\n\tu64 txpkt_for_led;\n\tu64 rxpkt_for_led;\n\tenum hnae_port_type mac_type;\n\tenum hnae_media_type media_type;\n\tphy_interface_t phy_if;\n\tenum hnae_loop loop_mode;\n\tstruct phy_device *phy_dev;\n\tstruct mac_hw_stats hw_stats;\n};\n\nstruct hns_mdio_sc_reg {\n\tu16 mdio_clk_en;\n\tu16 mdio_clk_dis;\n\tu16 mdio_reset_req;\n\tu16 mdio_reset_dreq;\n\tu16 mdio_clk_st;\n\tu16 mdio_reset_st;\n};\n\nstruct hns_mdio_device {\n\tu8 *vbase;\n\tstruct regmap *subctrl_vbase;\n\tstruct hns_mdio_sc_reg sc_reg;\n};\n\nstruct hns_nic_ops {\n\tvoid (*fill_desc)(struct hnae_ring *, void *, int, dma_addr_t, int, int, enum hns_desc_type, int, bool);\n\tint (*maybe_stop_tx)(struct sk_buff **, int *, struct hnae_ring *);\n\tvoid (*get_rxd_bnum)(u32, int *);\n};\n\nstruct hns_nic_ring_data;\n\nstruct hns_nic_priv {\n\tconst struct fwnode_handle *fwnode;\n\tu32 enet_ver;\n\tu32 port_id;\n\tint phy_mode;\n\tint phy_led_val;\n\tstruct net_device *netdev;\n\tstruct device *dev;\n\tstruct hnae_handle *ae_handle;\n\tstruct hns_nic_ops ops;\n\tstruct hns_nic_ring_data *ring_data;\n\tint link;\n\tu64 tx_timeout_count;\n\tlong unsigned int state;\n\tstruct timer_list service_timer;\n\tstruct work_struct service_task;\n\tstruct notifier_block notifier_block;\n};\n\nstruct hns_nic_ring_data {\n\tstruct hnae_ring *ring;\n\tstruct napi_struct napi;\n\tcpumask_t mask;\n\tu32 queue_index;\n\tint (*poll_one)(struct hns_nic_ring_data *, int, void *);\n\tvoid (*ex_process)(struct hns_nic_ring_data *, struct sk_buff *);\n\tbool (*fini_process)(struct hns_nic_ring_data *);\n};\n\nstruct hns_ppe_hw_stats {\n\tu64 rx_pkts_from_sw;\n\tu64 rx_pkts;\n\tu64 rx_drop_no_bd;\n\tu64 rx_alloc_buf_fail;\n\tu64 rx_alloc_buf_wait;\n\tu64 rx_drop_no_buf;\n\tu64 rx_err_fifo_full;\n\tu64 tx_bd_form_rcb;\n\tu64 tx_pkts_from_rcb;\n\tu64 tx_pkts;\n\tu64 tx_err_fifo_empty;\n\tu64 tx_err_checksum;\n};\n\nstruct hns_ppe_cb {\n\tstruct device *dev;\n\tstruct hns_ppe_cb *next;\n\tstruct ppe_common_cb *ppe_common_cb;\n\tstruct hns_ppe_hw_stats hw_stats;\n\tu8 index;\n\tu8 *io_base;\n\tint virq;\n\tu32 rss_indir_table[256];\n\tu32 rss_key[10];\n};\n\nstruct hns_ring_hw_stats {\n\tu64 tx_pkts;\n\tu64 ppe_tx_ok_pkts;\n\tu64 ppe_tx_drop_pkts;\n\tu64 rx_pkts;\n\tu64 ppe_rx_ok_pkts;\n\tu64 ppe_rx_drop_pkts;\n};\n\nstruct hop_jumbo_hdr {\n\tu8 nexthdr;\n\tu8 hdrlen;\n\tu8 tlv_type;\n\tu8 tlv_len;\n\t__be32 jumbo_payload_len;\n};\n\nstruct kvm_vmid {\n\tatomic64_t id;\n};\n\nstruct kvm_mmu_memory_cache {\n\tgfp_t gfp_zero;\n\tgfp_t gfp_custom;\n\tu64 init_value;\n\tstruct kmem_cache *kmem_cache;\n\tint capacity;\n\tint nobjs;\n\tvoid **objects;\n};\n\nstruct kvm_pgtable;\n\nstruct kvm_arch;\n\nstruct kvm_s2_mmu {\n\tstruct kvm_vmid vmid;\n\tphys_addr_t pgd_phys;\n\tstruct kvm_pgtable *pgt;\n\tu64 vtcr;\n\tint *last_vcpu_ran;\n\tstruct kvm_mmu_memory_cache split_page_cache;\n\tuint64_t split_page_chunk_size;\n\tstruct kvm_arch *arch;\n\tu64 tlb_vttbr;\n\tu64 tlb_vtcr;\n\tbool nested_stage2_enabled;\n\tbool pending_unmap;\n\tatomic_t refcnt;\n};\n\nstruct vgic_its;\n\nstruct vgic_register_region;\n\nstruct vgic_io_device {\n\tgpa_t base_addr;\n\tunion {\n\t\tstruct kvm_vcpu *redist_vcpu;\n\t\tstruct vgic_its *its;\n\t};\n\tconst struct vgic_register_region *regions;\n\tenum iodev_type iodev_type;\n\tint nr_regions;\n\tstruct kvm_io_device dev;\n};\n\nstruct its_vpe;\n\nstruct its_vm {\n\tstruct fwnode_handle *fwnode;\n\tstruct irq_domain *domain;\n\tstruct page *vprop_page;\n\tstruct its_vpe **vpes;\n\tint nr_vpes;\n\tirq_hw_number_t db_lpi_base;\n\tlong unsigned int *db_bitmap;\n\tint nr_db_lpis;\n\traw_spinlock_t vmapp_lock;\n\tu32 vlpi_count[16];\n};\n\nstruct vgic_irq;\n\nstruct vgic_state_iter;\n\nstruct vgic_dist {\n\tbool in_kernel;\n\tbool ready;\n\tbool initialized;\n\tu32 vgic_model;\n\tu32 implementation_rev;\n\tbool v2_groups_user_writable;\n\tbool msis_require_devid;\n\tint nr_spis;\n\tgpa_t vgic_dist_base;\n\tunion {\n\t\tgpa_t vgic_cpu_base;\n\t\tstruct list_head rd_regions;\n\t};\n\tbool enabled;\n\tbool nassgireq;\n\tstruct vgic_irq *spis;\n\tstruct vgic_io_device dist_iodev;\n\tbool has_its;\n\tbool table_write_in_progress;\n\tu64 propbaser;\n\tstruct xarray lpi_xa;\n\tstruct vgic_state_iter *iter;\n\tstruct its_vm its_vm;\n};\n\nstruct kvm_smccc_features {\n\tlong unsigned int std_bmap;\n\tlong unsigned int std_hyp_bmap;\n\tlong unsigned int vendor_hyp_bmap;\n};\n\nstruct maple_tree {\n\tunion {\n\t\tspinlock_t ma_lock;\n\t\tlockdep_map_p ma_external_lock;\n\t};\n\tunsigned int ma_flags;\n\tvoid *ma_root;\n};\n\nstruct pkvm_mapping;\n\nstruct kvm_hyp_memcache {\n\tphys_addr_t head;\n\tlong unsigned int nr_pages;\n\tstruct pkvm_mapping *mapping;\n};\n\nstruct kvm_protected_vm {\n\tpkvm_handle_t handle;\n\tstruct kvm_hyp_memcache teardown_mc;\n\tbool enabled;\n};\n\nstruct kvm_mpidr_data;\n\nstruct kvm_sysreg_masks;\n\nstruct kvm_arch {\n\tstruct kvm_s2_mmu mmu;\n\tu64 fgu[5];\n\tstruct kvm_s2_mmu *nested_mmus;\n\tsize_t nested_mmus_size;\n\tint nested_mmus_next;\n\tstruct vgic_dist vgic;\n\tstruct arch_timer_vm_data timer_data;\n\tu32 psci_version;\n\tstruct mutex config_lock;\n\tlong unsigned int flags;\n\tlong unsigned int vcpu_features[1];\n\tstruct kvm_mpidr_data *mpidr_data;\n\tlong unsigned int *pmu_filter;\n\tstruct arm_pmu *arm_pmu;\n\tcpumask_var_t supported_cpus;\n\tu8 pmcr_n;\n\tu8 idreg_debugfs_iter;\n\tstruct kvm_smccc_features smccc_feat;\n\tstruct maple_tree smccc_filter;\n\tu64 id_regs[56];\n\tu64 ctr_el0;\n\tstruct kvm_sysreg_masks *sysreg_masks;\n\tstruct kvm_protected_vm pkvm;\n};\n\ntypedef bool (*kvm_pgtable_force_pte_cb_t)(u64, u64, enum kvm_pgtable_prot);\n\nstruct kvm_pgtable_mm_ops;\n\nstruct kvm_pgtable {\n\tunion {\n\t\tstruct rb_root pkvm_mappings;\n\t\tstruct {\n\t\t\tu32 ia_bits;\n\t\t\ts8 start_level;\n\t\t\tkvm_pteref_t pgd;\n\t\t\tstruct kvm_pgtable_mm_ops *mm_ops;\n\t\t\tenum kvm_pgtable_stage2_flags flags;\n\t\t\tkvm_pgtable_force_pte_cb_t force_pte_cb;\n\t\t};\n\t};\n\tstruct kvm_s2_mmu *mmu;\n};\n\nstruct kvm_pgtable_mm_ops {\n\tvoid * (*zalloc_page)(void *);\n\tvoid * (*zalloc_pages_exact)(size_t);\n\tvoid (*free_pages_exact)(void *, size_t);\n\tvoid (*free_unlinked_table)(void *, s8);\n\tvoid (*get_page)(void *);\n\tvoid (*put_page)(void *);\n\tint (*page_count)(void *);\n\tvoid * (*phys_to_virt)(phys_addr_t);\n\tphys_addr_t (*virt_to_phys)(void *);\n\tvoid (*dcache_clean_inval_poc)(void *, size_t);\n\tvoid (*icache_inval_pou)(void *, size_t);\n};\n\nunion hyp_spinlock {\n\tu32 __val;\n\tstruct {\n\t\tu16 owner;\n\t\tu16 next;\n\t};\n};\n\ntypedef union hyp_spinlock hyp_spinlock_t;\n\nstruct host_mmu {\n\tstruct kvm_arch arch;\n\tstruct kvm_pgtable pgt;\n\tstruct kvm_pgtable_mm_ops mm_ops;\n\thyp_spinlock_t lock;\n};\n\nstruct host_to_dev_fis {\n\tu8 fis_type;\n\tu8 flags;\n\tu8 command;\n\tu8 features;\n\tu8 lbal;\n\tunion {\n\t\tu8 lbam;\n\t\tu8 byte_count_low;\n\t};\n\tunion {\n\t\tu8 lbah;\n\t\tu8 byte_count_high;\n\t};\n\tu8 device;\n\tu8 lbal_exp;\n\tu8 lbam_exp;\n\tu8 lbah_exp;\n\tu8 features_exp;\n\tunion {\n\t\tu8 sector_count;\n\t\tu8 interrupt_reason;\n\t};\n\tu8 sector_count_exp;\n\tu8 _r_a;\n\tu8 control;\n\tu32 _r_b;\n};\n\nstruct hotplug_slot_ops;\n\nstruct pci_slot;\n\nstruct hotplug_slot {\n\tconst struct hotplug_slot_ops *ops;\n\tstruct list_head slot_list;\n\tstruct pci_slot *pci_slot;\n\tstruct module *owner;\n\tconst char *mod_name;\n};\n\nstruct hotplug_slot_ops {\n\tint (*enable_slot)(struct hotplug_slot *);\n\tint (*disable_slot)(struct hotplug_slot *);\n\tint (*set_attention_status)(struct hotplug_slot *, u8);\n\tint (*hardware_test)(struct hotplug_slot *, u32);\n\tint (*get_power_status)(struct hotplug_slot *, u8 *);\n\tint (*get_attention_status)(struct hotplug_slot *, u8 *);\n\tint (*get_latch_status)(struct hotplug_slot *, u8 *);\n\tint (*get_adapter_status)(struct hotplug_slot *, u8 *);\n\tint (*reset_slot)(struct hotplug_slot *, bool);\n};\n\nstruct housekeeping {\n\tcpumask_var_t cpumasks[3];\n\tlong unsigned int flags;\n};\n\nstruct hprobe {\n\tenum hprobe_state state;\n\tint srcu_idx;\n\tstruct uprobe *uprobe;\n};\n\nstruct hpx_type0 {\n\tu32 revision;\n\tu8 cache_line_size;\n\tu8 latency_timer;\n\tu8 enable_serr;\n\tu8 enable_perr;\n};\n\nstruct hpx_type1 {\n\tu32 revision;\n\tu8 max_mem_read;\n\tu8 avg_max_split;\n\tu16 tot_max_split;\n};\n\nstruct hpx_type2 {\n\tu32 revision;\n\tu32 unc_err_mask_and;\n\tu32 unc_err_mask_or;\n\tu32 unc_err_sever_and;\n\tu32 unc_err_sever_or;\n\tu32 cor_err_mask_and;\n\tu32 cor_err_mask_or;\n\tu32 adv_err_cap_and;\n\tu32 adv_err_cap_or;\n\tu16 pci_exp_devctl_and;\n\tu16 pci_exp_devctl_or;\n\tu16 pci_exp_lnkctl_and;\n\tu16 pci_exp_lnkctl_or;\n\tu32 sec_unc_err_sever_and;\n\tu32 sec_unc_err_sever_or;\n\tu32 sec_unc_err_mask_and;\n\tu32 sec_unc_err_mask_or;\n};\n\nstruct hpx_type3 {\n\tu16 device_type;\n\tu16 function_type;\n\tu16 config_space_location;\n\tu16 pci_exp_cap_id;\n\tu16 pci_exp_cap_ver;\n\tu16 pci_exp_vendor_id;\n\tu16 dvsec_id;\n\tu16 dvsec_rev;\n\tu16 match_offset;\n\tu32 match_mask_and;\n\tu32 match_value;\n\tu16 reg_offset;\n\tu32 reg_mask_and;\n\tu32 reg_mask_or;\n};\n\nstruct seqcount_raw_spinlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_raw_spinlock seqcount_raw_spinlock_t;\n\nstruct hrtimer_cpu_base;\n\nstruct hrtimer_clock_base {\n\tstruct hrtimer_cpu_base *cpu_base;\n\tunsigned int index;\n\tclockid_t clockid;\n\tseqcount_raw_spinlock_t seq;\n\tstruct hrtimer *running;\n\tstruct timerqueue_head active;\n\tktime_t (*get_time)(void);\n\tktime_t offset;\n};\n\nstruct hrtimer_cpu_base {\n\traw_spinlock_t lock;\n\tunsigned int cpu;\n\tunsigned int active_bases;\n\tunsigned int clock_was_set_seq;\n\tunsigned int hres_active: 1;\n\tunsigned int in_hrtirq: 1;\n\tunsigned int hang_detected: 1;\n\tunsigned int softirq_activated: 1;\n\tunsigned int online: 1;\n\tunsigned int nr_events;\n\tshort unsigned int nr_retries;\n\tshort unsigned int nr_hangs;\n\tunsigned int max_hang_time;\n\tktime_t expires_next;\n\tstruct hrtimer *next_timer;\n\tktime_t softirq_expires_next;\n\tstruct hrtimer *softirq_next_timer;\n\tstruct hrtimer_clock_base clock_base[8];\n\tcall_single_data_t csd;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hrtimer_sleeper {\n\tstruct hrtimer timer;\n\tstruct task_struct *task;\n};\n\nstruct hs_timing {\n\tu32 drv_phase;\n\tu32 smpl_dly;\n\tu32 smpl_phase_max;\n\tu32 smpl_phase_min;\n};\n\nstruct hsq_slot {\n\tstruct mmc_request *mrq;\n};\n\nstruct hsr_tag {\n\t__be16 path_and_LSDU_size;\n\t__be16 sequence_nr;\n\t__be16 encap_proto;\n};\n\nstruct hstate {\n\tstruct mutex resize_lock;\n\tstruct lock_class_key resize_key;\n\tint next_nid_to_alloc;\n\tint next_nid_to_free;\n\tunsigned int order;\n\tunsigned int demote_order;\n\tlong unsigned int mask;\n\tlong unsigned int max_huge_pages;\n\tlong unsigned int nr_huge_pages;\n\tlong unsigned int free_huge_pages;\n\tlong unsigned int resv_huge_pages;\n\tlong unsigned int surplus_huge_pages;\n\tlong unsigned int nr_overcommit_huge_pages;\n\tstruct list_head hugepage_activelist;\n\tstruct list_head hugepage_freelists[16];\n\tunsigned int max_huge_pages_node[16];\n\tunsigned int nr_huge_pages_node[16];\n\tunsigned int free_huge_pages_node[16];\n\tunsigned int surplus_huge_pages_node[16];\n\tchar name[32];\n};\n\nstruct pcpu_freelist_node {\n\tstruct pcpu_freelist_node *next;\n};\n\nstruct htab_elem {\n\tunion {\n\t\tstruct hlist_nulls_node hash_node;\n\t\tstruct {\n\t\t\tvoid *padding;\n\t\t\tunion {\n\t\t\t\tstruct pcpu_freelist_node fnode;\n\t\t\t\tstruct htab_elem *batch_flink;\n\t\t\t};\n\t\t};\n\t};\n\tunion {\n\t\tvoid *ptr_to_pptr;\n\t\tstruct bpf_lru_node lru_node;\n\t};\n\tu32 hash;\n\tlong: 0;\n\tchar key[0];\n};\n\nstruct hte_ops;\n\nstruct hte_ts_desc;\n\nstruct hte_device;\n\nstruct hte_chip {\n\tconst char *name;\n\tstruct device *dev;\n\tconst struct hte_ops *ops;\n\tu32 nlines;\n\tint (*xlate_of)(struct hte_chip *, const struct of_phandle_args *, struct hte_ts_desc *, u32 *);\n\tint (*xlate_plat)(struct hte_chip *, struct hte_ts_desc *, u32 *);\n\tbool (*match_from_linedata)(const struct hte_chip *, const struct hte_ts_desc *);\n\tu8 of_hte_n_cells;\n\tstruct hte_device *gdev;\n\tvoid *data;\n};\n\nstruct hte_clk_info {\n\tu64 hz;\n\tclockid_t type;\n};\n\nstruct hte_ts_data;\n\ntypedef enum hte_return (*hte_ts_cb_t)(struct hte_ts_data *, void *);\n\ntypedef enum hte_return (*hte_ts_sec_cb_t)(void *);\n\nstruct hte_ts_info {\n\tu32 xlated_id;\n\tlong unsigned int flags;\n\tlong unsigned int hte_cb_flags;\n\tu64 seq;\n\tchar *line_name;\n\tbool free_attr_name;\n\thte_ts_cb_t cb;\n\thte_ts_sec_cb_t tcb;\n\tatomic_t dropped_ts;\n\tspinlock_t slock;\n\tstruct work_struct cb_work;\n\tstruct mutex req_mlock;\n\tstruct dentry *ts_dbg_root;\n\tstruct hte_device *gdev;\n\tvoid *cl_data;\n};\n\nstruct hte_device {\n\tu32 nlines;\n\tatomic_t ts_req;\n\tstruct device *sdev;\n\tstruct dentry *dbg_root;\n\tstruct list_head list;\n\tstruct hte_chip *chip;\n\tstruct module *owner;\n\tstruct hte_ts_info ei[0];\n};\n\nstruct hte_line_attr {\n\tu32 line_id;\n\tvoid *line_data;\n\tlong unsigned int edge_flags;\n\tconst char *name;\n};\n\nstruct hte_ops {\n\tint (*request)(struct hte_chip *, struct hte_ts_desc *, u32);\n\tint (*release)(struct hte_chip *, struct hte_ts_desc *, u32);\n\tint (*enable)(struct hte_chip *, u32);\n\tint (*disable)(struct hte_chip *, u32);\n\tint (*get_clk_src_info)(struct hte_chip *, struct hte_clk_info *);\n};\n\nstruct hte_slices {\n\tu32 r_val;\n\tlong unsigned int flags;\n\tspinlock_t s_lock;\n};\n\nstruct hte_ts_data {\n\tu64 tsc;\n\tu64 seq;\n\tint raw_level;\n};\n\nstruct hte_ts_desc {\n\tstruct hte_line_attr attr;\n\tvoid *hte_data;\n};\n\nstruct huge_bootmem_page {\n\tstruct list_head list;\n\tstruct hstate *hstate;\n};\n\nstruct hugepage_subpool {\n\tspinlock_t lock;\n\tlong int count;\n\tlong int max_hpages;\n\tlong int used_hpages;\n\tstruct hstate *hstate;\n\tlong int min_hpages;\n\tlong int rsv_hpages;\n};\n\nstruct page_counter {\n\tatomic_long_t usage;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tlong unsigned int emin;\n\tatomic_long_t min_usage;\n\tatomic_long_t children_min_usage;\n\tlong unsigned int elow;\n\tatomic_long_t low_usage;\n\tatomic_long_t children_low_usage;\n\tlong unsigned int watermark;\n\tlong unsigned int local_watermark;\n\tlong unsigned int failcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tbool protection_support;\n\tlong unsigned int min;\n\tlong unsigned int low;\n\tlong unsigned int high;\n\tlong unsigned int max;\n\tstruct page_counter *parent;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hugetlb_cgroup_per_node;\n\nstruct hugetlb_cgroup {\n\tstruct cgroup_subsys_state css;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct page_counter hugepage[4];\n\tstruct page_counter rsvd_hugepage[4];\n\tatomic_long_t events[4];\n\tatomic_long_t events_local[4];\n\tstruct cgroup_file events_file[4];\n\tstruct cgroup_file events_local_file[4];\n\tstruct hugetlb_cgroup_per_node *nodeinfo[0];\n};\n\nstruct hugetlb_cgroup_per_node {\n\tlong unsigned int usage[4];\n};\n\nstruct hugetlb_vma_lock {\n\tstruct kref refs;\n\tstruct rw_semaphore rw_sema;\n\tstruct vm_area_struct *vma;\n};\n\nstruct hugetlbfs_fs_context {\n\tstruct hstate *hstate;\n\tlong long unsigned int max_size_opt;\n\tlong long unsigned int min_size_opt;\n\tlong int max_hpages;\n\tlong int nr_inodes;\n\tlong int min_hpages;\n\tenum hugetlbfs_size_type max_val_type;\n\tenum hugetlbfs_size_type min_val_type;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n};\n\nstruct hugetlbfs_inode_info {\n\tstruct inode vfs_inode;\n\tunsigned int seals;\n};\n\nstruct hugetlbfs_sb_info {\n\tlong int max_inodes;\n\tlong int free_inodes;\n\tspinlock_t stat_lock;\n\tstruct hstate *hstate;\n\tstruct hugepage_subpool *spool;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n};\n\nstruct hv_ops {\n\tssize_t (*get_chars)(uint32_t, u8 *, size_t);\n\tssize_t (*put_chars)(uint32_t, const u8 *, size_t);\n\tint (*flush)(uint32_t, bool);\n\tint (*notifier_add)(struct hvc_struct *, int);\n\tvoid (*notifier_del)(struct hvc_struct *, int);\n\tvoid (*notifier_hangup)(struct hvc_struct *, int);\n\tint (*tiocmget)(struct hvc_struct *);\n\tint (*tiocmset)(struct hvc_struct *, unsigned int, unsigned int);\n\tvoid (*dtr_rts)(struct hvc_struct *, bool);\n};\n\nstruct tty_buffer {\n\tunion {\n\t\tstruct tty_buffer *next;\n\t\tstruct llist_node free;\n\t};\n\tunsigned int used;\n\tunsigned int size;\n\tunsigned int commit;\n\tunsigned int lookahead;\n\tunsigned int read;\n\tbool flags;\n\tlong: 0;\n\tu8 data[0];\n};\n\nstruct tty_bufhead {\n\tstruct tty_buffer *head;\n\tstruct work_struct work;\n\tstruct mutex lock;\n\tatomic_t priority;\n\tstruct tty_buffer sentinel;\n\tstruct llist_head free;\n\tatomic_t mem_used;\n\tint mem_limit;\n\tstruct tty_buffer *tail;\n};\n\nstruct tty_struct;\n\nstruct tty_port_operations;\n\nstruct tty_port_client_operations;\n\nstruct tty_port {\n\tstruct tty_bufhead buf;\n\tstruct tty_struct *tty;\n\tstruct tty_struct *itty;\n\tconst struct tty_port_operations *ops;\n\tconst struct tty_port_client_operations *client_ops;\n\tspinlock_t lock;\n\tint blocked_open;\n\tint count;\n\twait_queue_head_t open_wait;\n\twait_queue_head_t delta_msr_wait;\n\tlong unsigned int flags;\n\tlong unsigned int iflags;\n\tunsigned char console: 1;\n\tstruct mutex mutex;\n\tstruct mutex buf_mutex;\n\tu8 *xmit_buf;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tu8 *type;\n\t\t\tconst u8 *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tu8 *ptr;\n\t\t\tconst u8 *ptr_const;\n\t\t};\n\t\tu8 buf[0];\n\t} xmit_fifo;\n\tunsigned int close_delay;\n\tunsigned int closing_wait;\n\tint drain_delay;\n\tstruct kref kref;\n\tvoid *client_data;\n};\n\nstruct hvc_struct {\n\tstruct tty_port port;\n\tspinlock_t lock;\n\tint index;\n\tint do_wakeup;\n\tint outbuf_size;\n\tint n_outbuf;\n\tuint32_t vtermno;\n\tconst struct hv_ops *ops;\n\tint irq_requested;\n\tint data;\n\tstruct winsize ws;\n\tstruct work_struct tty_resize;\n\tstruct list_head next;\n\tlong unsigned int flags;\n\tu8 outbuf[0];\n};\n\nstruct hw_info {\n\tu8 bgx_cnt;\n\tu8 chans_per_lmac;\n\tu8 chans_per_bgx;\n\tu8 chans_per_rgx;\n\tu8 chans_per_lbk;\n\tu16 cpi_cnt;\n\tu16 rssi_cnt;\n\tu16 rss_ind_tbl_size;\n\tu16 tl4_cnt;\n\tu16 tl3_cnt;\n\tu8 tl2_cnt;\n\tu8 tl1_cnt;\n\tbool tl1_per_bgx;\n};\n\nstruct hw_perf_event_extra {\n\tu64 config;\n\tunsigned int reg;\n\tint alloc;\n\tint idx;\n};\n\nstruct rhlist_head {\n\tstruct rhash_head rhead;\n\tstruct rhlist_head *next;\n};\n\nstruct hw_perf_event {\n\tunion {\n\t\tstruct {\n\t\t\tu64 config;\n\t\t\tu64 last_tag;\n\t\t\tlong unsigned int config_base;\n\t\t\tlong unsigned int event_base;\n\t\t\tint event_base_rdpmc;\n\t\t\tint idx;\n\t\t\tint last_cpu;\n\t\t\tint flags;\n\t\t\tstruct hw_perf_event_extra extra_reg;\n\t\t\tstruct hw_perf_event_extra branch_reg;\n\t\t};\n\t\tstruct {\n\t\t\tu64 aux_config;\n\t\t\tunsigned int aux_paused;\n\t\t};\n\t\tstruct {\n\t\t\tstruct hrtimer hrtimer;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head tp_list;\n\t\t};\n\t\tstruct {\n\t\t\tu64 pwr_acc;\n\t\t\tu64 ptsc;\n\t\t};\n\t\tstruct {\n\t\t\tstruct arch_hw_breakpoint info;\n\t\t\tstruct rhlist_head bp_list;\n\t\t};\n\t\tstruct {\n\t\t\tu8 iommu_bank;\n\t\t\tu8 iommu_cntr;\n\t\t\tu16 padding;\n\t\t\tu64 conf;\n\t\t\tu64 conf1;\n\t\t};\n\t};\n\tstruct task_struct *target;\n\tvoid *addr_filters;\n\tlong unsigned int addr_filters_gen;\n\tint state;\n\tlocal64_t prev_count;\n\tu64 sample_period;\n\tunion {\n\t\tstruct {\n\t\t\tu64 last_period;\n\t\t\tlocal64_t period_left;\n\t\t};\n\t\tstruct {\n\t\t\tu64 saved_metric;\n\t\t\tu64 saved_slots;\n\t\t};\n\t};\n\tu64 interrupts_seq;\n\tu64 interrupts;\n\tu64 freq_time_stamp;\n\tu64 freq_count_stamp;\n};\n\nstruct hw_port_info {\n\tstruct net_device *lower_dev;\n\tu32 port_id;\n};\n\nstruct hw_prober_entry {\n\tconst char *compatible;\n\tint (*prober)(struct device *, const void *);\n\tconst void *data;\n};\n\nstruct hwbm_pool {\n\tint size;\n\tint frag_size;\n\tint buf_num;\n\tint (*construct)(struct hwbm_pool *, void *);\n\tstruct mutex buf_lock;\n\tvoid *priv;\n};\n\nstruct hwlat_entry {\n\tstruct trace_entry ent;\n\tu64 duration;\n\tu64 outer_duration;\n\tu64 nmi_total_ts;\n\tstruct timespec64 timestamp;\n\tunsigned int nmi_count;\n\tunsigned int seqnum;\n\tunsigned int count;\n};\n\nstruct hwmon_attr {\n\tstruct device_attribute dev_attr;\n\tstruct e1000_hw___3 *hw;\n\tstruct e1000_thermal_diode_data *sensor;\n\tchar name[12];\n};\n\nstruct hwmon_buff {\n\tstruct attribute_group group;\n\tconst struct attribute_group *groups[2];\n\tstruct attribute *attrs[13];\n\tstruct hwmon_attr hwmon_list[12];\n\tunsigned int n_hwmon;\n};\n\nstruct hwmon_channel_info {\n\tenum hwmon_sensor_types type;\n\tconst u32 *config;\n};\n\nstruct hwmon_ops;\n\nstruct hwmon_chip_info {\n\tconst struct hwmon_ops *ops;\n\tconst struct hwmon_channel_info * const *info;\n};\n\nstruct hwmon_device {\n\tconst char *name;\n\tconst char *label;\n\tstruct device dev;\n\tconst struct hwmon_chip_info *chip;\n\tstruct list_head tzdata;\n\tstruct attribute_group group;\n\tconst struct attribute_group **groups;\n};\n\nstruct hwmon_device_attribute {\n\tstruct device_attribute dev_attr;\n\tconst struct hwmon_ops *ops;\n\tenum hwmon_sensor_types type;\n\tu32 attr;\n\tint index;\n\tchar name[32];\n};\n\nstruct hwmon_ops {\n\tumode_t visible;\n\tumode_t (*is_visible)(const void *, enum hwmon_sensor_types, u32, int);\n\tint (*read)(struct device *, enum hwmon_sensor_types, u32, int, long int *);\n\tint (*read_string)(struct device *, enum hwmon_sensor_types, u32, int, const char **);\n\tint (*write)(struct device *, enum hwmon_sensor_types, u32, int, long int);\n};\n\nstruct hwmon_thermal_data {\n\tstruct list_head node;\n\tstruct device *dev;\n\tint index;\n\tstruct thermal_zone_device *tzd;\n};\n\nstruct hwmon_type_attr_list {\n\tconst u32 *attrs;\n\tsize_t n_attrs;\n};\n\nstruct to_kill {\n\tstruct list_head nd;\n\tstruct task_struct *tsk;\n\tlong unsigned int addr;\n\tshort int size_shift;\n};\n\nstruct hwpoison_walk {\n\tstruct to_kill tk;\n\tlong unsigned int pfn;\n\tint flags;\n};\n\nstruct hwspinlock_device;\n\nstruct hwspinlock {\n\tstruct hwspinlock_device *bank;\n\tspinlock_t lock;\n\tvoid *priv;\n};\n\nstruct hwspinlock_ops;\n\nstruct hwspinlock_device {\n\tstruct device *dev;\n\tconst struct hwspinlock_ops *ops;\n\tint base_id;\n\tint num_locks;\n\tstruct hwspinlock lock[0];\n};\n\nstruct hwspinlock_ops {\n\tint (*trylock)(struct hwspinlock *);\n\tvoid (*unlock)(struct hwspinlock *);\n\tint (*bust)(struct hwspinlock *, unsigned int);\n\tvoid (*relax)(struct hwspinlock *);\n};\n\nstruct hwtstamp_provider_desc {\n\tint index;\n\tenum hwtstamp_provider_qualifier qualifier;\n};\n\nstruct hwtstamp_provider {\n\tstruct callback_head callback_head;\n\tenum hwtstamp_source source;\n\tstruct phy_device *phydev;\n\tstruct hwtstamp_provider_desc desc;\n};\n\nstruct hynix_read_retry;\n\nstruct hynix_nand {\n\tconst struct hynix_read_retry *read_retry;\n};\n\nstruct hynix_read_retry {\n\tint nregs;\n\tconst u8 *regs;\n\tu8 values[0];\n};\n\nstruct hynix_read_retry_otp {\n\tint nregs;\n\tconst u8 *regs;\n\tconst u8 *values;\n\tint page;\n\tint size;\n};\n\nstruct hyp_fixmap_slot {\n\tu64 addr;\n\tkvm_pte_t *ptep;\n};\n\nstruct hyp_map_data {\n\tconst u64 phys;\n\tkvm_pte_t attr;\n};\n\nstruct hyp_page {\n\tu16 refcount;\n\tu8 order;\n\tenum pkvm_page_state host_state: 8;\n\tu32 host_share_guest_count;\n};\n\nstruct hyp_pool {\n\thyp_spinlock_t lock;\n\tstruct list_head free_area[11];\n\tphys_addr_t range_start;\n\tphys_addr_t range_end;\n\tu8 max_order;\n};\n\nstruct hyp_shared_pfn {\n\tu64 pfn;\n\tint count;\n\tstruct rb_node node;\n};\n\nstruct hyp_sysfs_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct hyp_sysfs_attr *, char *);\n\tssize_t (*store)(struct hyp_sysfs_attr *, const char *, size_t);\n\tunion {\n\t\tvoid *hyp_attr_data;\n\t\tlong unsigned int hyp_attr_value;\n\t};\n};\n\nstruct i2c_acpi_handler_data {\n\tstruct acpi_connection_info info;\n\tstruct i2c_adapter *adapter;\n};\n\nstruct i2c_acpi_irq_context {\n\tint irq;\n\tbool wake_capable;\n};\n\nstruct i2c_board_info;\n\nstruct i2c_acpi_lookup {\n\tstruct i2c_board_info *info;\n\tacpi_handle adapter_handle;\n\tacpi_handle device_handle;\n\tacpi_handle search_handle;\n\tint n;\n\tint index;\n\tu32 speed;\n\tu32 min_speed;\n\tu32 force_speed;\n};\n\nstruct i2c_adapter_quirks {\n\tu64 flags;\n\tint max_num_msgs;\n\tu16 max_write_len;\n\tu16 max_read_len;\n\tu16 max_comb_1st_msg_len;\n\tu16 max_comb_2nd_msg_len;\n};\n\nstruct i2c_algo_bit_data {\n\tvoid *data;\n\tvoid (*setsda)(void *, int);\n\tvoid (*setscl)(void *, int);\n\tint (*getsda)(void *);\n\tint (*getscl)(void *);\n\tint (*pre_xfer)(struct i2c_adapter *);\n\tvoid (*post_xfer)(struct i2c_adapter *);\n\tint udelay;\n\tint timeout;\n\tbool can_do_atomic;\n};\n\nunion i2c_smbus_data;\n\nstruct i2c_algorithm {\n\tunion {\n\t\tint (*xfer)(struct i2c_adapter *, struct i2c_msg *, int);\n\t\tint (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int);\n\t};\n\tunion {\n\t\tint (*xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int);\n\t\tint (*master_xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int);\n\t};\n\tint (*smbus_xfer)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *);\n\tint (*smbus_xfer_atomic)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *);\n\tu32 (*functionality)(struct i2c_adapter *);\n\tunion {\n\t\tint (*reg_target)(struct i2c_client *);\n\t\tint (*reg_slave)(struct i2c_client *);\n\t};\n\tunion {\n\t\tint (*unreg_target)(struct i2c_client *);\n\t\tint (*unreg_slave)(struct i2c_client *);\n\t};\n};\n\nstruct i2c_board_info {\n\tchar type[20];\n\tshort unsigned int flags;\n\tshort unsigned int addr;\n\tconst char *dev_name;\n\tvoid *platform_data;\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tconst struct software_node *swnode;\n\tconst struct resource *resources;\n\tunsigned int num_resources;\n\tint irq;\n};\n\ntypedef int (*i2c_slave_cb_t)(struct i2c_client *, enum i2c_slave_event, u8 *);\n\nstruct i2c_client {\n\tshort unsigned int flags;\n\tshort unsigned int addr;\n\tchar name[20];\n\tstruct i2c_adapter *adapter;\n\tstruct device dev;\n\tint init_irq;\n\tint irq;\n\tstruct list_head detected;\n\ti2c_slave_cb_t slave_cb;\n\tvoid *devres_group_id;\n\tstruct dentry *debugfs;\n};\n\nstruct i2c_cmd_arg {\n\tunsigned int cmd;\n\tvoid *arg;\n};\n\nstruct i2c_dev {\n\tstruct list_head list;\n\tstruct i2c_adapter *adap;\n\tstruct device dev;\n\tstruct cdev cdev;\n};\n\nstruct i2c_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct i2c_devinfo {\n\tstruct list_head list;\n\tint busnum;\n\tstruct i2c_board_info board_info;\n};\n\nstruct i2c_driver {\n\tunsigned int class;\n\tint (*probe)(struct i2c_client *);\n\tvoid (*remove)(struct i2c_client *);\n\tvoid (*shutdown)(struct i2c_client *);\n\tvoid (*alert)(struct i2c_client *, enum i2c_alert_protocol, unsigned int);\n\tint (*command)(struct i2c_client *, unsigned int, void *);\n\tstruct device_driver driver;\n\tconst struct i2c_device_id *id_table;\n\tint (*detect)(struct i2c_client *, struct i2c_board_info *);\n\tconst short unsigned int *address_list;\n\tstruct list_head clients;\n\tu32 flags;\n};\n\nstruct i2c_dw_semaphore_callbacks {\n\tint (*probe)(struct dw_i2c_dev *);\n\tvoid (*remove)(struct dw_i2c_dev *);\n};\n\nstruct i2c_lock_operations {\n\tvoid (*lock_bus)(struct i2c_adapter *, unsigned int);\n\tint (*trylock_bus)(struct i2c_adapter *, unsigned int);\n\tvoid (*unlock_bus)(struct i2c_adapter *, unsigned int);\n};\n\nstruct i2c_msg {\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\t__u8 *buf;\n};\n\nstruct i2c_msg32 {\n\tu16 addr;\n\tu16 flags;\n\tu16 len;\n\tcompat_caddr_t buf;\n};\n\nstruct i2c_mux_core {\n\tstruct i2c_adapter *parent;\n\tstruct device *dev;\n\tunsigned int mux_locked: 1;\n\tunsigned int arbitrator: 1;\n\tunsigned int gate: 1;\n\tvoid *priv;\n\tint (*select)(struct i2c_mux_core *, u32);\n\tint (*deselect)(struct i2c_mux_core *, u32);\n\tint num_adapters;\n\tint max_adapters;\n\tstruct i2c_adapter *adapter[0];\n};\n\nstruct i2c_mux_priv {\n\tstruct i2c_adapter adap;\n\tstruct i2c_algorithm algo;\n\tstruct i2c_mux_core *muxc;\n\tu32 chan_id;\n};\n\nstruct i2c_of_probe_ops;\n\nstruct i2c_of_probe_cfg {\n\tconst struct i2c_of_probe_ops *ops;\n\tconst char *type;\n};\n\nstruct i2c_of_probe_ops {\n\tint (*enable)(struct device *, struct device_node *, void *);\n\tvoid (*cleanup_early)(struct device *, void *);\n\tvoid (*cleanup)(struct device *, void *);\n};\n\nstruct i2c_of_probe_simple_ctx {\n\tconst struct i2c_of_probe_simple_opts *opts;\n\tstruct regulator *supply;\n\tstruct gpio_desc *gpiod;\n};\n\nstruct i2c_of_probe_simple_opts {\n\tconst char *res_node_compatible;\n\tconst char *supply_name;\n\tconst char *gpio_name;\n\tunsigned int post_power_on_delay_ms;\n\tunsigned int post_gpio_config_delay_ms;\n\tbool gpio_assert_to_enable;\n};\n\nstruct i2c_pxa_platform_data {\n\tunsigned int class;\n\tunsigned int use_pio: 1;\n\tunsigned int fast_mode: 1;\n\tunsigned int high_mode: 1;\n\tunsigned char master_code;\n\tlong unsigned int rate;\n};\n\nstruct i2c_rdwr_ioctl_data {\n\tstruct i2c_msg *msgs;\n\t__u32 nmsgs;\n};\n\nstruct i2c_rdwr_ioctl_data32 {\n\tcompat_caddr_t msgs;\n\tu32 nmsgs;\n};\n\nstruct i2c_slave_host_notify_status {\n\tu8 index;\n\tu8 addr;\n};\n\nstruct i2c_smbus_alert {\n\tstruct work_struct alert;\n\tstruct i2c_client *ara;\n};\n\nstruct i2c_smbus_alert_setup {\n\tint irq;\n};\n\nunion i2c_smbus_data {\n\t__u8 byte;\n\t__u16 word;\n\t__u8 block[34];\n};\n\nstruct i2c_smbus_ioctl_data {\n\t__u8 read_write;\n\t__u8 command;\n\t__u32 size;\n\tunion i2c_smbus_data *data;\n};\n\nstruct i2c_smbus_ioctl_data32 {\n\tu8 read_write;\n\tu8 command;\n\tu32 size;\n\tcompat_caddr_t data;\n};\n\nstruct i2c_spec_values {\n\tlong unsigned int min_hold_start_ns;\n\tlong unsigned int min_low_ns;\n\tlong unsigned int min_high_ns;\n\tlong unsigned int min_setup_start_ns;\n\tlong unsigned int max_data_hold_ns;\n\tlong unsigned int min_data_setup_ns;\n\tlong unsigned int min_setup_stop_ns;\n\tlong unsigned int min_hold_buffer_ns;\n};\n\nstruct i2c_spec_values___2 {\n\tunsigned int min_low_ns;\n\tunsigned int min_su_sta_ns;\n\tunsigned int max_hd_dat_ns;\n\tunsigned int min_su_dat_ns;\n};\n\nstruct iattr {\n\tunsigned int ia_valid;\n\tumode_t ia_mode;\n\tunion {\n\t\tkuid_t ia_uid;\n\t\tvfsuid_t ia_vfsuid;\n\t};\n\tunion {\n\t\tkgid_t ia_gid;\n\t\tvfsgid_t ia_vfsgid;\n\t};\n\tloff_t ia_size;\n\tstruct timespec64 ia_atime;\n\tstruct timespec64 ia_mtime;\n\tstruct timespec64 ia_ctime;\n\tstruct file *ia_file;\n};\n\nstruct ib_pd;\n\nstruct ib_uobject;\n\nstruct ib_gid_attr;\n\nstruct ib_ah {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_uobject *uobject;\n\tconst struct ib_gid_attr *sgid_attr;\n\tenum rdma_ah_attr_type type;\n};\n\nstruct ib_ah_attr {\n\tu16 dlid;\n\tu8 src_path_bits;\n};\n\nstruct ib_core_device {\n\tstruct device dev;\n\tpossible_net_t rdma_net;\n\tstruct kobject *ports_kobj;\n\tstruct list_head port_list;\n\tstruct ib_device *owner;\n};\n\nstruct ib_counters {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n};\n\nstruct ib_counters_read_attr {\n\tu64 *counters_buff;\n\tu32 ncounters;\n\tu32 flags;\n};\n\nstruct ib_ucq_object;\n\nstruct ib_cq;\n\ntypedef void (*ib_comp_handler)(struct ib_cq *, void *);\n\nstruct irq_poll;\n\ntypedef int irq_poll_fn(struct irq_poll *, int);\n\nstruct irq_poll {\n\tstruct list_head list;\n\tlong unsigned int state;\n\tint weight;\n\tirq_poll_fn *poll;\n};\n\nstruct rdma_restrack_entry {\n\tbool valid;\n\tu8 no_track: 1;\n\tstruct kref kref;\n\tstruct completion comp;\n\tstruct task_struct *task;\n\tconst char *kern_name;\n\tenum rdma_restrack_type type;\n\tbool user;\n\tu32 id;\n};\n\nstruct ib_event;\n\nstruct ib_wc;\n\nstruct ib_cq {\n\tstruct ib_device *device;\n\tstruct ib_ucq_object *uobject;\n\tib_comp_handler comp_handler;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *cq_context;\n\tint cqe;\n\tunsigned int cqe_used;\n\tatomic_t usecnt;\n\tenum ib_poll_context poll_ctx;\n\tstruct ib_wc *wc;\n\tstruct list_head pool_entry;\n\tunion {\n\t\tstruct irq_poll iop;\n\t\tstruct work_struct work;\n\t};\n\tstruct workqueue_struct *comp_wq;\n\tstruct dim *dim;\n\tktime_t timestamp;\n\tu8 interrupt: 1;\n\tu8 shared: 1;\n\tunsigned int comp_vector;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_cq_caps {\n\tu16 max_cq_moderation_count;\n\tu16 max_cq_moderation_period;\n};\n\nstruct ib_cq_init_attr {\n\tunsigned int cqe;\n\tu32 comp_vector;\n\tu32 flags;\n};\n\nstruct ib_cqe {\n\tvoid (*done)(struct ib_cq *, struct ib_wc *);\n};\n\nstruct ib_mad;\n\nstruct uverbs_attr_bundle;\n\nstruct rdma_cm_id;\n\nstruct iw_cm_id;\n\nstruct iw_cm_conn_param;\n\nstruct ib_uverbs_file;\n\nstruct ib_qp;\n\nstruct ib_send_wr;\n\nstruct ib_recv_wr;\n\nstruct ib_srq;\n\nstruct ib_grh;\n\nstruct ib_device_attr;\n\nstruct ib_udata;\n\nstruct ib_device_modify;\n\nstruct ib_port_attr;\n\nstruct ib_port_modify;\n\nstruct ib_port_immutable;\n\nstruct rdma_netdev_alloc_params;\n\nunion ib_gid;\n\nstruct ib_ucontext;\n\nstruct rdma_user_mmap_entry;\n\nstruct rdma_ah_init_attr;\n\nstruct rdma_ah_attr;\n\nstruct ib_srq_init_attr;\n\nstruct ib_srq_attr;\n\nstruct ib_qp_init_attr;\n\nstruct ib_qp_attr;\n\nstruct ib_mr;\n\nstruct ib_sge;\n\nstruct ib_mr_status;\n\nstruct ib_mw;\n\nstruct ib_xrcd;\n\nstruct ib_flow;\n\nstruct ib_flow_attr;\n\nstruct ib_flow_action;\n\nstruct ifla_vf_stats;\n\nstruct ifla_vf_guid;\n\nstruct ib_wq;\n\nstruct ib_wq_init_attr;\n\nstruct ib_wq_attr;\n\nstruct ib_rwq_ind_table;\n\nstruct ib_rwq_ind_table_init_attr;\n\nstruct ib_dm;\n\nstruct ib_dm_alloc_attr;\n\nstruct ib_dm_mr_attr;\n\nstruct rdma_hw_stats;\n\nstruct rdma_counter;\n\nstruct ib_device_ops {\n\tstruct module *owner;\n\tenum rdma_driver_id driver_id;\n\tu32 uverbs_abi_ver;\n\tunsigned int uverbs_no_driver_id_binding: 1;\n\tconst struct attribute_group *device_group;\n\tconst struct attribute_group **port_groups;\n\tint (*post_send)(struct ib_qp *, const struct ib_send_wr *, const struct ib_send_wr **);\n\tint (*post_recv)(struct ib_qp *, const struct ib_recv_wr *, const struct ib_recv_wr **);\n\tvoid (*drain_rq)(struct ib_qp *);\n\tvoid (*drain_sq)(struct ib_qp *);\n\tint (*poll_cq)(struct ib_cq *, int, struct ib_wc *);\n\tint (*peek_cq)(struct ib_cq *, int);\n\tint (*req_notify_cq)(struct ib_cq *, enum ib_cq_notify_flags);\n\tint (*post_srq_recv)(struct ib_srq *, const struct ib_recv_wr *, const struct ib_recv_wr **);\n\tint (*process_mad)(struct ib_device *, int, u32, const struct ib_wc *, const struct ib_grh *, const struct ib_mad *, struct ib_mad *, size_t *, u16 *);\n\tint (*query_device)(struct ib_device *, struct ib_device_attr *, struct ib_udata *);\n\tint (*modify_device)(struct ib_device *, int, struct ib_device_modify *);\n\tvoid (*get_dev_fw_str)(struct ib_device *, char *);\n\tconst struct cpumask * (*get_vector_affinity)(struct ib_device *, int);\n\tint (*query_port)(struct ib_device *, u32, struct ib_port_attr *);\n\tint (*modify_port)(struct ib_device *, u32, int, struct ib_port_modify *);\n\tint (*get_port_immutable)(struct ib_device *, u32, struct ib_port_immutable *);\n\tenum rdma_link_layer (*get_link_layer)(struct ib_device *, u32);\n\tstruct net_device * (*get_netdev)(struct ib_device *, u32);\n\tstruct net_device * (*alloc_rdma_netdev)(struct ib_device *, u32, enum rdma_netdev_t, const char *, unsigned char, void (*)(struct net_device *));\n\tint (*rdma_netdev_get_params)(struct ib_device *, u32, enum rdma_netdev_t, struct rdma_netdev_alloc_params *);\n\tint (*query_gid)(struct ib_device *, u32, int, union ib_gid *);\n\tint (*add_gid)(const struct ib_gid_attr *, void **);\n\tint (*del_gid)(const struct ib_gid_attr *, void **);\n\tint (*query_pkey)(struct ib_device *, u32, u16, u16 *);\n\tint (*alloc_ucontext)(struct ib_ucontext *, struct ib_udata *);\n\tvoid (*dealloc_ucontext)(struct ib_ucontext *);\n\tint (*mmap)(struct ib_ucontext *, struct vm_area_struct *);\n\tvoid (*mmap_free)(struct rdma_user_mmap_entry *);\n\tvoid (*disassociate_ucontext)(struct ib_ucontext *);\n\tint (*alloc_pd)(struct ib_pd *, struct ib_udata *);\n\tint (*dealloc_pd)(struct ib_pd *, struct ib_udata *);\n\tint (*create_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *);\n\tint (*create_user_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *);\n\tint (*modify_ah)(struct ib_ah *, struct rdma_ah_attr *);\n\tint (*query_ah)(struct ib_ah *, struct rdma_ah_attr *);\n\tint (*destroy_ah)(struct ib_ah *, u32);\n\tint (*create_srq)(struct ib_srq *, struct ib_srq_init_attr *, struct ib_udata *);\n\tint (*modify_srq)(struct ib_srq *, struct ib_srq_attr *, enum ib_srq_attr_mask, struct ib_udata *);\n\tint (*query_srq)(struct ib_srq *, struct ib_srq_attr *);\n\tint (*destroy_srq)(struct ib_srq *, struct ib_udata *);\n\tint (*create_qp)(struct ib_qp *, struct ib_qp_init_attr *, struct ib_udata *);\n\tint (*modify_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_udata *);\n\tint (*query_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_qp_init_attr *);\n\tint (*destroy_qp)(struct ib_qp *, struct ib_udata *);\n\tint (*create_cq)(struct ib_cq *, const struct ib_cq_init_attr *, struct uverbs_attr_bundle *);\n\tint (*modify_cq)(struct ib_cq *, u16, u16);\n\tint (*destroy_cq)(struct ib_cq *, struct ib_udata *);\n\tint (*resize_cq)(struct ib_cq *, int, struct ib_udata *);\n\tstruct ib_mr * (*get_dma_mr)(struct ib_pd *, int);\n\tstruct ib_mr * (*reg_user_mr)(struct ib_pd *, u64, u64, u64, int, struct ib_udata *);\n\tstruct ib_mr * (*reg_user_mr_dmabuf)(struct ib_pd *, u64, u64, u64, int, int, struct uverbs_attr_bundle *);\n\tstruct ib_mr * (*rereg_user_mr)(struct ib_mr *, int, u64, u64, u64, int, struct ib_pd *, struct ib_udata *);\n\tint (*dereg_mr)(struct ib_mr *, struct ib_udata *);\n\tstruct ib_mr * (*alloc_mr)(struct ib_pd *, enum ib_mr_type, u32);\n\tstruct ib_mr * (*alloc_mr_integrity)(struct ib_pd *, u32, u32);\n\tint (*advise_mr)(struct ib_pd *, enum ib_uverbs_advise_mr_advice, u32, struct ib_sge *, u32, struct uverbs_attr_bundle *);\n\tint (*map_mr_sg)(struct ib_mr *, struct scatterlist *, int, unsigned int *);\n\tint (*check_mr_status)(struct ib_mr *, u32, struct ib_mr_status *);\n\tint (*alloc_mw)(struct ib_mw *, struct ib_udata *);\n\tint (*dealloc_mw)(struct ib_mw *);\n\tint (*attach_mcast)(struct ib_qp *, union ib_gid *, u16);\n\tint (*detach_mcast)(struct ib_qp *, union ib_gid *, u16);\n\tint (*alloc_xrcd)(struct ib_xrcd *, struct ib_udata *);\n\tint (*dealloc_xrcd)(struct ib_xrcd *, struct ib_udata *);\n\tstruct ib_flow * (*create_flow)(struct ib_qp *, struct ib_flow_attr *, struct ib_udata *);\n\tint (*destroy_flow)(struct ib_flow *);\n\tint (*destroy_flow_action)(struct ib_flow_action *);\n\tint (*set_vf_link_state)(struct ib_device *, int, u32, int);\n\tint (*get_vf_config)(struct ib_device *, int, u32, struct ifla_vf_info *);\n\tint (*get_vf_stats)(struct ib_device *, int, u32, struct ifla_vf_stats *);\n\tint (*get_vf_guid)(struct ib_device *, int, u32, struct ifla_vf_guid *, struct ifla_vf_guid *);\n\tint (*set_vf_guid)(struct ib_device *, int, u32, u64, int);\n\tstruct ib_wq * (*create_wq)(struct ib_pd *, struct ib_wq_init_attr *, struct ib_udata *);\n\tint (*destroy_wq)(struct ib_wq *, struct ib_udata *);\n\tint (*modify_wq)(struct ib_wq *, struct ib_wq_attr *, u32, struct ib_udata *);\n\tint (*create_rwq_ind_table)(struct ib_rwq_ind_table *, struct ib_rwq_ind_table_init_attr *, struct ib_udata *);\n\tint (*destroy_rwq_ind_table)(struct ib_rwq_ind_table *);\n\tstruct ib_dm * (*alloc_dm)(struct ib_device *, struct ib_ucontext *, struct ib_dm_alloc_attr *, struct uverbs_attr_bundle *);\n\tint (*dealloc_dm)(struct ib_dm *, struct uverbs_attr_bundle *);\n\tstruct ib_mr * (*reg_dm_mr)(struct ib_pd *, struct ib_dm *, struct ib_dm_mr_attr *, struct uverbs_attr_bundle *);\n\tint (*create_counters)(struct ib_counters *, struct uverbs_attr_bundle *);\n\tint (*destroy_counters)(struct ib_counters *);\n\tint (*read_counters)(struct ib_counters *, struct ib_counters_read_attr *, struct uverbs_attr_bundle *);\n\tint (*map_mr_sg_pi)(struct ib_mr *, struct scatterlist *, int, unsigned int *, struct scatterlist *, int, unsigned int *);\n\tstruct rdma_hw_stats * (*alloc_hw_device_stats)(struct ib_device *);\n\tstruct rdma_hw_stats * (*alloc_hw_port_stats)(struct ib_device *, u32);\n\tint (*get_hw_stats)(struct ib_device *, struct rdma_hw_stats *, u32, int);\n\tint (*modify_hw_stat)(struct ib_device *, u32, unsigned int, bool);\n\tint (*fill_res_mr_entry)(struct sk_buff *, struct ib_mr *);\n\tint (*fill_res_mr_entry_raw)(struct sk_buff *, struct ib_mr *);\n\tint (*fill_res_cq_entry)(struct sk_buff *, struct ib_cq *);\n\tint (*fill_res_cq_entry_raw)(struct sk_buff *, struct ib_cq *);\n\tint (*fill_res_qp_entry)(struct sk_buff *, struct ib_qp *);\n\tint (*fill_res_qp_entry_raw)(struct sk_buff *, struct ib_qp *);\n\tint (*fill_res_cm_id_entry)(struct sk_buff *, struct rdma_cm_id *);\n\tint (*fill_res_srq_entry)(struct sk_buff *, struct ib_srq *);\n\tint (*fill_res_srq_entry_raw)(struct sk_buff *, struct ib_srq *);\n\tint (*enable_driver)(struct ib_device *);\n\tvoid (*dealloc_driver)(struct ib_device *);\n\tvoid (*iw_add_ref)(struct ib_qp *);\n\tvoid (*iw_rem_ref)(struct ib_qp *);\n\tstruct ib_qp * (*iw_get_qp)(struct ib_device *, int);\n\tint (*iw_connect)(struct iw_cm_id *, struct iw_cm_conn_param *);\n\tint (*iw_accept)(struct iw_cm_id *, struct iw_cm_conn_param *);\n\tint (*iw_reject)(struct iw_cm_id *, const void *, u8);\n\tint (*iw_create_listen)(struct iw_cm_id *, int);\n\tint (*iw_destroy_listen)(struct iw_cm_id *);\n\tint (*counter_bind_qp)(struct rdma_counter *, struct ib_qp *);\n\tint (*counter_unbind_qp)(struct ib_qp *);\n\tint (*counter_dealloc)(struct rdma_counter *);\n\tstruct rdma_hw_stats * (*counter_alloc_stats)(struct rdma_counter *);\n\tint (*counter_update_stats)(struct rdma_counter *);\n\tint (*fill_stat_mr_entry)(struct sk_buff *, struct ib_mr *);\n\tint (*query_ucontext)(struct ib_ucontext *, struct uverbs_attr_bundle *);\n\tint (*get_numa_node)(struct ib_device *);\n\tstruct ib_device * (*add_sub_dev)(struct ib_device *, enum rdma_nl_dev_type, const char *);\n\tvoid (*del_sub_dev)(struct ib_device *);\n\tvoid (*ufile_hw_cleanup)(struct ib_uverbs_file *);\n\tvoid (*report_port_event)(struct ib_device *, struct net_device *, long unsigned int);\n\tsize_t size_ib_ah;\n\tsize_t size_ib_counters;\n\tsize_t size_ib_cq;\n\tsize_t size_ib_mw;\n\tsize_t size_ib_pd;\n\tsize_t size_ib_qp;\n\tsize_t size_ib_rwq_ind_table;\n\tsize_t size_ib_srq;\n\tsize_t size_ib_ucontext;\n\tsize_t size_ib_xrcd;\n};\n\nstruct ib_odp_caps {\n\tuint64_t general_caps;\n\tstruct {\n\t\tuint32_t rc_odp_caps;\n\t\tuint32_t uc_odp_caps;\n\t\tuint32_t ud_odp_caps;\n\t\tuint32_t xrc_odp_caps;\n\t} per_transport_caps;\n};\n\nstruct ib_rss_caps {\n\tu32 supported_qpts;\n\tu32 max_rwq_indirection_tables;\n\tu32 max_rwq_indirection_table_size;\n};\n\nstruct ib_tm_caps {\n\tu32 max_rndv_hdr_size;\n\tu32 max_num_tags;\n\tu32 flags;\n\tu32 max_ops;\n\tu32 max_sge;\n};\n\nstruct ib_device_attr {\n\tu64 fw_ver;\n\t__be64 sys_image_guid;\n\tu64 max_mr_size;\n\tu64 page_size_cap;\n\tu32 vendor_id;\n\tu32 vendor_part_id;\n\tu32 hw_ver;\n\tint max_qp;\n\tint max_qp_wr;\n\tu64 device_cap_flags;\n\tu64 kernel_cap_flags;\n\tint max_send_sge;\n\tint max_recv_sge;\n\tint max_sge_rd;\n\tint max_cq;\n\tint max_cqe;\n\tint max_mr;\n\tint max_pd;\n\tint max_qp_rd_atom;\n\tint max_ee_rd_atom;\n\tint max_res_rd_atom;\n\tint max_qp_init_rd_atom;\n\tint max_ee_init_rd_atom;\n\tenum ib_atomic_cap atomic_cap;\n\tenum ib_atomic_cap masked_atomic_cap;\n\tint max_ee;\n\tint max_rdd;\n\tint max_mw;\n\tint max_raw_ipv6_qp;\n\tint max_raw_ethy_qp;\n\tint max_mcast_grp;\n\tint max_mcast_qp_attach;\n\tint max_total_mcast_qp_attach;\n\tint max_ah;\n\tint max_srq;\n\tint max_srq_wr;\n\tint max_srq_sge;\n\tunsigned int max_fast_reg_page_list_len;\n\tunsigned int max_pi_fast_reg_page_list_len;\n\tu16 max_pkeys;\n\tu8 local_ca_ack_delay;\n\tint sig_prot_cap;\n\tint sig_guard_cap;\n\tstruct ib_odp_caps odp_caps;\n\tuint64_t timestamp_mask;\n\tuint64_t hca_core_clock;\n\tstruct ib_rss_caps rss_caps;\n\tu32 max_wq_type_rq;\n\tu32 raw_packet_caps;\n\tstruct ib_tm_caps tm_caps;\n\tstruct ib_cq_caps cq_caps;\n\tu64 max_dm_size;\n\tu32 max_sgl_rd;\n};\n\nstruct hw_stats_device_data;\n\nstruct rdma_restrack_root;\n\nstruct uapi_definition;\n\nstruct ib_port_data;\n\nstruct rdma_link_ops;\n\nstruct ib_device {\n\tstruct device *dma_device;\n\tstruct ib_device_ops ops;\n\tchar name[64];\n\tstruct callback_head callback_head;\n\tstruct list_head event_handler_list;\n\tstruct rw_semaphore event_handler_rwsem;\n\tspinlock_t qp_open_list_lock;\n\tstruct rw_semaphore client_data_rwsem;\n\tstruct xarray client_data;\n\tstruct mutex unregistration_lock;\n\trwlock_t cache_lock;\n\tstruct ib_port_data *port_data;\n\tint num_comp_vectors;\n\tunion {\n\t\tstruct device dev;\n\t\tstruct ib_core_device coredev;\n\t};\n\tconst struct attribute_group *groups[4];\n\tu64 uverbs_cmd_mask;\n\tchar node_desc[64];\n\t__be64 node_guid;\n\tu32 local_dma_lkey;\n\tu16 is_switch: 1;\n\tu16 kverbs_provider: 1;\n\tu16 use_cq_dim: 1;\n\tu8 node_type;\n\tu32 phys_port_cnt;\n\tstruct ib_device_attr attrs;\n\tstruct hw_stats_device_data *hw_stats_data;\n\tu32 index;\n\tspinlock_t cq_pools_lock;\n\tstruct list_head cq_pools[3];\n\tstruct rdma_restrack_root *res;\n\tconst struct uapi_definition *driver_def;\n\trefcount_t refcount;\n\tstruct completion unreg_completion;\n\tstruct work_struct unregistration_work;\n\tconst struct rdma_link_ops *link_ops;\n\tstruct mutex compat_devs_mutex;\n\tstruct xarray compat_devs;\n\tchar iw_ifname[16];\n\tu32 iw_driver_flags;\n\tu32 lag_flags;\n\tstruct mutex subdev_lock;\n\tstruct list_head subdev_list_head;\n\tenum rdma_nl_dev_type type;\n\tstruct ib_device *parent;\n\tstruct list_head subdev_list;\n\tenum rdma_nl_name_assign_type name_assign_type;\n};\n\nstruct ib_device_modify {\n\tu64 sys_image_guid;\n\tchar node_desc[64];\n};\n\nstruct ib_dm {\n\tstruct ib_device *device;\n\tu32 length;\n\tu32 flags;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n};\n\nstruct ib_dm_alloc_attr {\n\tu64 length;\n\tu32 alignment;\n\tu32 flags;\n};\n\nstruct ib_dm_mr_attr {\n\tu64 length;\n\tu64 offset;\n\tu32 access_flags;\n};\n\nstruct ib_event {\n\tstruct ib_device *device;\n\tunion {\n\t\tstruct ib_cq *cq;\n\t\tstruct ib_qp *qp;\n\t\tstruct ib_srq *srq;\n\t\tstruct ib_wq *wq;\n\t\tu32 port_num;\n\t} element;\n\tenum ib_event_type event;\n};\n\nstruct ib_flow {\n\tstruct ib_qp *qp;\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n};\n\nstruct ib_flow_action {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tenum ib_flow_action_type type;\n\tatomic_t usecnt;\n};\n\nstruct ib_flow_eth_filter {\n\tu8 dst_mac[6];\n\tu8 src_mac[6];\n\t__be16 ether_type;\n\t__be16 vlan_tag;\n};\n\nstruct ib_flow_spec_eth {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_eth_filter val;\n\tstruct ib_flow_eth_filter mask;\n};\n\nstruct ib_flow_ib_filter {\n\t__be16 dlid;\n\t__u8 sl;\n};\n\nstruct ib_flow_spec_ib {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ib_filter val;\n\tstruct ib_flow_ib_filter mask;\n};\n\nstruct ib_flow_ipv4_filter {\n\t__be32 src_ip;\n\t__be32 dst_ip;\n\tu8 proto;\n\tu8 tos;\n\tu8 ttl;\n\tu8 flags;\n};\n\nstruct ib_flow_spec_ipv4 {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ipv4_filter val;\n\tstruct ib_flow_ipv4_filter mask;\n};\n\nstruct ib_flow_tcp_udp_filter {\n\t__be16 dst_port;\n\t__be16 src_port;\n};\n\nstruct ib_flow_spec_tcp_udp {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_tcp_udp_filter val;\n\tstruct ib_flow_tcp_udp_filter mask;\n};\n\nstruct ib_flow_ipv6_filter {\n\tu8 src_ip[16];\n\tu8 dst_ip[16];\n\t__be32 flow_label;\n\tu8 next_hdr;\n\tu8 traffic_class;\n\tu8 hop_limit;\n} __attribute__((packed));\n\nstruct ib_flow_spec_ipv6 {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ipv6_filter val;\n\tstruct ib_flow_ipv6_filter mask;\n};\n\nstruct ib_flow_tunnel_filter {\n\t__be32 tunnel_id;\n};\n\nstruct ib_flow_spec_tunnel {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_tunnel_filter val;\n\tstruct ib_flow_tunnel_filter mask;\n};\n\nstruct ib_flow_esp_filter {\n\t__be32 spi;\n\t__be32 seq;\n};\n\nstruct ib_flow_spec_esp {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_esp_filter val;\n\tstruct ib_flow_esp_filter mask;\n};\n\nstruct ib_flow_gre_filter {\n\t__be16 c_ks_res0_ver;\n\t__be16 protocol;\n\t__be32 key;\n};\n\nstruct ib_flow_spec_gre {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_gre_filter val;\n\tstruct ib_flow_gre_filter mask;\n};\n\nstruct ib_flow_mpls_filter {\n\t__be32 tag;\n};\n\nstruct ib_flow_spec_mpls {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_mpls_filter val;\n\tstruct ib_flow_mpls_filter mask;\n};\n\nstruct ib_flow_spec_action_tag {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tu32 tag_id;\n};\n\nstruct ib_flow_spec_action_drop {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n};\n\nstruct ib_flow_spec_action_handle {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tstruct ib_flow_action *act;\n};\n\nstruct ib_flow_spec_action_count {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tstruct ib_counters *counters;\n};\n\nunion ib_flow_spec {\n\tstruct {\n\t\tu32 type;\n\t\tu16 size;\n\t};\n\tstruct ib_flow_spec_eth eth;\n\tstruct ib_flow_spec_ib ib;\n\tstruct ib_flow_spec_ipv4 ipv4;\n\tstruct ib_flow_spec_tcp_udp tcp_udp;\n\tstruct ib_flow_spec_ipv6 ipv6;\n\tstruct ib_flow_spec_tunnel tunnel;\n\tstruct ib_flow_spec_esp esp;\n\tstruct ib_flow_spec_gre gre;\n\tstruct ib_flow_spec_mpls mpls;\n\tstruct ib_flow_spec_action_tag flow_tag;\n\tstruct ib_flow_spec_action_drop drop;\n\tstruct ib_flow_spec_action_handle action;\n\tstruct ib_flow_spec_action_count flow_count;\n};\n\nstruct ib_flow_attr {\n\tenum ib_flow_attr_type type;\n\tu16 size;\n\tu16 priority;\n\tu32 flags;\n\tu8 num_of_specs;\n\tu32 port;\n\tunion ib_flow_spec flows[0];\n};\n\nunion ib_gid {\n\tu8 raw[16];\n\tstruct {\n\t\t__be64 subnet_prefix;\n\t\t__be64 interface_id;\n\t} global;\n};\n\nstruct ib_gid_attr {\n\tstruct net_device *ndev;\n\tstruct ib_device *device;\n\tunion ib_gid gid;\n\tenum ib_gid_type gid_type;\n\tu16 index;\n\tu32 port_num;\n};\n\nstruct ib_global_route {\n\tconst struct ib_gid_attr *sgid_attr;\n\tunion ib_gid dgid;\n\tu32 flow_label;\n\tu8 sgid_index;\n\tu8 hop_limit;\n\tu8 traffic_class;\n};\n\nstruct ib_grh {\n\t__be32 version_tclass_flow;\n\t__be16 paylen;\n\tu8 next_hdr;\n\tu8 hop_limit;\n\tunion ib_gid sgid;\n\tunion ib_gid dgid;\n};\n\nstruct ib_sig_attrs;\n\nstruct ib_mr {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tu32 lkey;\n\tu32 rkey;\n\tu64 iova;\n\tu64 length;\n\tunsigned int page_size;\n\tenum ib_mr_type type;\n\tbool need_inval;\n\tunion {\n\t\tstruct ib_uobject *uobject;\n\t\tstruct list_head qp_entry;\n\t};\n\tstruct ib_dm *dm;\n\tstruct ib_sig_attrs *sig_attrs;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_sig_err {\n\tenum ib_sig_err_type err_type;\n\tu32 expected;\n\tu32 actual;\n\tu64 sig_err_offset;\n\tu32 key;\n};\n\nstruct ib_mr_status {\n\tu32 fail_status;\n\tstruct ib_sig_err sig_err;\n};\n\nstruct ib_mw {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_uobject *uobject;\n\tu32 rkey;\n\tenum ib_mw_type type;\n};\n\nstruct ib_pd {\n\tu32 local_dma_lkey;\n\tu32 flags;\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n\tu32 unsafe_global_rkey;\n\tstruct ib_mr *__internal_mr;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_port_attr {\n\tu64 subnet_prefix;\n\tenum ib_port_state state;\n\tenum ib_mtu max_mtu;\n\tenum ib_mtu active_mtu;\n\tu32 phys_mtu;\n\tint gid_tbl_len;\n\tunsigned int ip_gids: 1;\n\tu32 port_cap_flags;\n\tu32 max_msg_sz;\n\tu32 bad_pkey_cntr;\n\tu32 qkey_viol_cntr;\n\tu16 pkey_tbl_len;\n\tu32 sm_lid;\n\tu32 lid;\n\tu8 lmc;\n\tu8 max_vl_num;\n\tu8 sm_sl;\n\tu8 subnet_timeout;\n\tu8 init_type_reply;\n\tu8 active_width;\n\tu16 active_speed;\n\tu8 phys_state;\n\tu16 port_cap_flags2;\n};\n\nstruct ib_pkey_cache;\n\nstruct ib_gid_table;\n\nstruct ib_port_cache {\n\tu64 subnet_prefix;\n\tstruct ib_pkey_cache *pkey;\n\tstruct ib_gid_table *gid;\n\tu8 lmc;\n\tenum ib_port_state port_state;\n\tenum ib_port_state last_port_state;\n};\n\nstruct ib_port_immutable {\n\tint pkey_tbl_len;\n\tint gid_tbl_len;\n\tu32 core_cap_flags;\n\tu32 max_mad_size;\n};\n\nstruct rdma_counter_mode {\n\tenum rdma_nl_counter_mode mode;\n\tenum rdma_nl_counter_mask mask;\n\tstruct auto_mode_param param;\n};\n\nstruct rdma_port_counter {\n\tstruct rdma_counter_mode mode;\n\tstruct rdma_hw_stats *hstats;\n\tunsigned int num_counters;\n\tstruct mutex lock;\n};\n\nstruct ib_port;\n\nstruct ib_port_data {\n\tstruct ib_device *ib_dev;\n\tstruct ib_port_immutable immutable;\n\tspinlock_t pkey_list_lock;\n\tspinlock_t netdev_lock;\n\tstruct list_head pkey_list;\n\tstruct ib_port_cache cache;\n\tstruct net_device *netdev;\n\tnetdevice_tracker netdev_tracker;\n\tstruct hlist_node ndev_hash_link;\n\tstruct rdma_port_counter port_counter;\n\tstruct ib_port *sysfs;\n};\n\nstruct ib_port_modify {\n\tu32 set_port_cap_mask;\n\tu32 clr_port_cap_mask;\n\tu8 init_type;\n};\n\nstruct ib_qp_security;\n\nstruct ib_port_pkey {\n\tenum port_pkey_state state;\n\tu16 pkey_index;\n\tu32 port_num;\n\tstruct list_head qp_list;\n\tstruct list_head to_error_list;\n\tstruct ib_qp_security *sec;\n};\n\nstruct ib_ports_pkeys {\n\tstruct ib_port_pkey main;\n\tstruct ib_port_pkey alt;\n};\n\nstruct ib_uqp_object;\n\nstruct ib_qp {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_cq *send_cq;\n\tstruct ib_cq *recv_cq;\n\tspinlock_t mr_lock;\n\tint mrs_used;\n\tstruct list_head rdma_mrs;\n\tstruct list_head sig_mrs;\n\tstruct ib_srq *srq;\n\tstruct completion srq_completion;\n\tstruct ib_xrcd *xrcd;\n\tstruct list_head xrcd_list;\n\tatomic_t usecnt;\n\tstruct list_head open_list;\n\tstruct ib_qp *real_qp;\n\tstruct ib_uqp_object *uobject;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid (*registered_event_handler)(struct ib_event *, void *);\n\tvoid *qp_context;\n\tconst struct ib_gid_attr *av_sgid_attr;\n\tconst struct ib_gid_attr *alt_path_sgid_attr;\n\tu32 qp_num;\n\tu32 max_write_sge;\n\tu32 max_read_sge;\n\tenum ib_qp_type qp_type;\n\tstruct ib_rwq_ind_table *rwq_ind_tbl;\n\tstruct ib_qp_security *qp_sec;\n\tu32 port;\n\tbool integrity_en;\n\tstruct rdma_restrack_entry res;\n\tstruct rdma_counter *counter;\n};\n\nstruct ib_qp_cap {\n\tu32 max_send_wr;\n\tu32 max_recv_wr;\n\tu32 max_send_sge;\n\tu32 max_recv_sge;\n\tu32 max_inline_data;\n\tu32 max_rdma_ctxs;\n};\n\nstruct roce_ah_attr {\n\tu8 dmac[6];\n};\n\nstruct opa_ah_attr {\n\tu32 dlid;\n\tu8 src_path_bits;\n\tbool make_grd;\n};\n\nstruct rdma_ah_attr {\n\tstruct ib_global_route grh;\n\tu8 sl;\n\tu8 static_rate;\n\tu32 port_num;\n\tu8 ah_flags;\n\tenum rdma_ah_attr_type type;\n\tunion {\n\t\tstruct ib_ah_attr ib;\n\t\tstruct roce_ah_attr roce;\n\t\tstruct opa_ah_attr opa;\n\t};\n};\n\nstruct ib_qp_attr {\n\tenum ib_qp_state qp_state;\n\tenum ib_qp_state cur_qp_state;\n\tenum ib_mtu path_mtu;\n\tenum ib_mig_state path_mig_state;\n\tu32 qkey;\n\tu32 rq_psn;\n\tu32 sq_psn;\n\tu32 dest_qp_num;\n\tint qp_access_flags;\n\tstruct ib_qp_cap cap;\n\tstruct rdma_ah_attr ah_attr;\n\tstruct rdma_ah_attr alt_ah_attr;\n\tu16 pkey_index;\n\tu16 alt_pkey_index;\n\tu8 en_sqd_async_notify;\n\tu8 sq_draining;\n\tu8 max_rd_atomic;\n\tu8 max_dest_rd_atomic;\n\tu8 min_rnr_timer;\n\tu32 port_num;\n\tu8 timeout;\n\tu8 retry_cnt;\n\tu8 rnr_retry;\n\tu32 alt_port_num;\n\tu8 alt_timeout;\n\tu32 rate_limit;\n\tstruct net_device *xmit_slave;\n};\n\nstruct ib_qp_init_attr {\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *qp_context;\n\tstruct ib_cq *send_cq;\n\tstruct ib_cq *recv_cq;\n\tstruct ib_srq *srq;\n\tstruct ib_xrcd *xrcd;\n\tstruct ib_qp_cap cap;\n\tenum ib_sig_type sq_sig_type;\n\tenum ib_qp_type qp_type;\n\tu32 create_flags;\n\tu32 port_num;\n\tstruct ib_rwq_ind_table *rwq_ind_tbl;\n\tu32 source_qpn;\n};\n\nstruct ib_qp_security {\n\tstruct ib_qp *qp;\n\tstruct ib_device *dev;\n\tstruct mutex mutex;\n\tstruct ib_ports_pkeys *ports_pkeys;\n\tstruct list_head shared_qp_list;\n\tvoid *security;\n\tbool destroying;\n\tatomic_t error_list_count;\n\tstruct completion error_complete;\n\tint error_comps_pending;\n};\n\nstruct ib_rdmacg_object {};\n\nstruct ib_recv_wr {\n\tstruct ib_recv_wr *next;\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tstruct ib_sge *sg_list;\n\tint num_sge;\n};\n\nstruct ib_rwq_ind_table {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n\tu32 ind_tbl_num;\n\tu32 log_ind_tbl_size;\n\tstruct ib_wq **ind_tbl;\n};\n\nstruct ib_rwq_ind_table_init_attr {\n\tu32 log_ind_tbl_size;\n\tstruct ib_wq **ind_tbl;\n};\n\nstruct ib_send_wr {\n\tstruct ib_send_wr *next;\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tstruct ib_sge *sg_list;\n\tint num_sge;\n\tenum ib_wr_opcode opcode;\n\tint send_flags;\n\tunion {\n\t\t__be32 imm_data;\n\t\tu32 invalidate_rkey;\n\t} ex;\n};\n\nstruct ib_sge {\n\tu64 addr;\n\tu32 length;\n\tu32 lkey;\n};\n\nstruct ib_t10_dif_domain {\n\tenum ib_t10_dif_bg_type bg_type;\n\tu16 pi_interval;\n\tu16 bg;\n\tu16 app_tag;\n\tu32 ref_tag;\n\tbool ref_remap;\n\tbool app_escape;\n\tbool ref_escape;\n\tu16 apptag_check_mask;\n};\n\nstruct ib_sig_domain {\n\tenum ib_signature_type sig_type;\n\tunion {\n\t\tstruct ib_t10_dif_domain dif;\n\t} sig;\n};\n\nstruct ib_sig_attrs {\n\tu8 check_mask;\n\tstruct ib_sig_domain mem;\n\tstruct ib_sig_domain wire;\n\tint meta_length;\n};\n\nstruct ib_usrq_object;\n\nstruct ib_srq {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_usrq_object *uobject;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *srq_context;\n\tenum ib_srq_type srq_type;\n\tatomic_t usecnt;\n\tstruct {\n\t\tstruct ib_cq *cq;\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tstruct ib_xrcd *xrcd;\n\t\t\t\tu32 srq_num;\n\t\t\t} xrc;\n\t\t};\n\t} ext;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_srq_attr {\n\tu32 max_wr;\n\tu32 max_sge;\n\tu32 srq_limit;\n};\n\nstruct ib_srq_init_attr {\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *srq_context;\n\tstruct ib_srq_attr attr;\n\tenum ib_srq_type srq_type;\n\tstruct {\n\t\tstruct ib_cq *cq;\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tstruct ib_xrcd *xrcd;\n\t\t\t} xrc;\n\t\t\tstruct {\n\t\t\t\tu32 max_num_tags;\n\t\t\t} tag_matching;\n\t\t};\n\t} ext;\n};\n\nstruct ib_ucontext {\n\tstruct ib_device *device;\n\tstruct ib_uverbs_file *ufile;\n\tstruct ib_rdmacg_object cg_obj;\n\tstruct rdma_restrack_entry res;\n\tstruct xarray mmap_xa;\n};\n\nstruct ib_udata {\n\tconst void *inbuf;\n\tvoid *outbuf;\n\tsize_t inlen;\n\tsize_t outlen;\n};\n\nstruct uverbs_api_object;\n\nstruct ib_uobject {\n\tu64 user_handle;\n\tstruct ib_uverbs_file *ufile;\n\tstruct ib_ucontext *context;\n\tvoid *object;\n\tstruct list_head list;\n\tstruct ib_rdmacg_object cg_obj;\n\tint id;\n\tstruct kref ref;\n\tatomic_t usecnt;\n\tstruct callback_head rcu;\n\tconst struct uverbs_api_object *uapi_object;\n};\n\nstruct ib_wc {\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tenum ib_wc_status status;\n\tenum ib_wc_opcode opcode;\n\tu32 vendor_err;\n\tu32 byte_len;\n\tstruct ib_qp *qp;\n\tunion {\n\t\t__be32 imm_data;\n\t\tu32 invalidate_rkey;\n\t} ex;\n\tu32 src_qp;\n\tu32 slid;\n\tint wc_flags;\n\tu16 pkey_index;\n\tu8 sl;\n\tu8 dlid_path_bits;\n\tu32 port_num;\n\tu8 smac[6];\n\tu16 vlan_id;\n\tu8 network_hdr_type;\n};\n\nstruct ib_uwq_object;\n\nstruct ib_wq {\n\tstruct ib_device *device;\n\tstruct ib_uwq_object *uobject;\n\tvoid *wq_context;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tstruct ib_pd *pd;\n\tstruct ib_cq *cq;\n\tu32 wq_num;\n\tenum ib_wq_state state;\n\tenum ib_wq_type wq_type;\n\tatomic_t usecnt;\n};\n\nstruct ib_wq_attr {\n\tenum ib_wq_state wq_state;\n\tenum ib_wq_state curr_wq_state;\n\tu32 flags;\n\tu32 flags_mask;\n};\n\nstruct ib_wq_init_attr {\n\tvoid *wq_context;\n\tenum ib_wq_type wq_type;\n\tu32 max_wr;\n\tu32 max_sge;\n\tstruct ib_cq *cq;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tu32 create_flags;\n};\n\nstruct ib_xrcd {\n\tstruct ib_device *device;\n\tatomic_t usecnt;\n\tstruct inode *inode;\n\tstruct rw_semaphore tgt_qps_rwsem;\n\tstruct xarray tgt_qps;\n};\n\nstruct ic_device {\n\tstruct ic_device *next;\n\tstruct net_device *dev;\n\tshort unsigned int flags;\n\tshort int able;\n\t__be32 xid;\n};\n\nstruct icc_bulk_data {\n\tstruct icc_path *path;\n\tconst char *name;\n\tu32 avg_bw;\n\tu32 peak_bw;\n};\n\nstruct icc_bulk_devres {\n\tstruct icc_bulk_data *paths;\n\tint num_paths;\n};\n\nstruct icc_clk_data {\n\tstruct clk *clk;\n\tconst char *name;\n\tunsigned int master_id;\n\tunsigned int slave_id;\n};\n\nstruct icc_clk_node {\n\tstruct clk *clk;\n\tbool enabled;\n};\n\nstruct icc_node;\n\nstruct icc_node_data;\n\nstruct icc_provider {\n\tstruct list_head provider_list;\n\tstruct list_head nodes;\n\tint (*set)(struct icc_node *, struct icc_node *);\n\tint (*aggregate)(struct icc_node *, u32, u32, u32, u32 *, u32 *);\n\tvoid (*pre_aggregate)(struct icc_node *);\n\tint (*get_bw)(struct icc_node *, u32 *, u32 *);\n\tstruct icc_node * (*xlate)(const struct of_phandle_args *, void *);\n\tstruct icc_node_data * (*xlate_extended)(const struct of_phandle_args *, void *);\n\tstruct device *dev;\n\tint users;\n\tbool inter_set;\n\tvoid *data;\n};\n\nstruct icc_clk_provider {\n\tstruct icc_provider provider;\n\tint num_clocks;\n\tstruct icc_clk_node clocks[0];\n};\n\nstruct icc_node {\n\tint id;\n\tconst char *name;\n\tstruct icc_node **links;\n\tsize_t num_links;\n\tstruct icc_provider *provider;\n\tstruct list_head node_list;\n\tstruct list_head search_list;\n\tstruct icc_node *reverse;\n\tu8 is_traversed: 1;\n\tstruct hlist_head req_list;\n\tu32 avg_bw;\n\tu32 peak_bw;\n\tu32 init_avg;\n\tu32 init_peak;\n\tvoid *data;\n};\n\nstruct icc_node_data {\n\tstruct icc_node *node;\n\tu32 tag;\n};\n\nstruct icc_onecell_data {\n\tunsigned int num_nodes;\n\tstruct icc_node *nodes[0];\n};\n\nstruct icc_req {\n\tstruct hlist_node req_node;\n\tstruct icc_node *node;\n\tstruct device *dev;\n\tbool enabled;\n\tu32 tag;\n\tu32 avg_bw;\n\tu32 peak_bw;\n};\n\nstruct icc_path {\n\tconst char *name;\n\tsize_t num_nodes;\n\tstruct icc_req reqs[0];\n};\n\nstruct icc_rpm_smd_req {\n\t__le32 key;\n\t__le32 nbytes;\n\t__le32 value;\n};\n\nstruct ich8_pr {\n\tu32 base: 13;\n\tu32 reserved1: 2;\n\tu32 rpe: 1;\n\tu32 limit: 13;\n\tu32 reserved2: 2;\n\tu32 wpe: 1;\n};\n\nunion ich8_flash_protected_range {\n\tstruct ich8_pr range;\n\tu32 regval;\n};\n\nstruct ich8_hsflctl {\n\tu16 flcgo: 1;\n\tu16 flcycle: 2;\n\tu16 reserved: 5;\n\tu16 fldbcount: 2;\n\tu16 flockdn: 6;\n};\n\nstruct ich8_hsfsts {\n\tu16 flcdone: 1;\n\tu16 flcerr: 1;\n\tu16 dael: 1;\n\tu16 berasesz: 2;\n\tu16 flcinprog: 1;\n\tu16 reserved1: 2;\n\tu16 reserved2: 6;\n\tu16 fldesvalid: 1;\n\tu16 flockdn: 1;\n};\n\nunion ich8_hws_flash_ctrl {\n\tstruct ich8_hsflctl hsf_ctrl;\n\tu16 regval;\n};\n\nunion ich8_hws_flash_status {\n\tstruct ich8_hsfsts hsf_status;\n\tu16 regval;\n};\n\nstruct icmpv6_echo {\n\t__be16 identifier;\n\t__be16 sequence;\n};\n\nstruct icmpv6_nd_advt {\n\t__u32 reserved: 5;\n\t__u32 override: 1;\n\t__u32 solicited: 1;\n\t__u32 router: 1;\n\t__u32 reserved2: 24;\n};\n\nstruct icmpv6_nd_ra {\n\t__u8 hop_limit;\n\t__u8 reserved: 3;\n\t__u8 router_pref: 2;\n\t__u8 home_agent: 1;\n\t__u8 other: 1;\n\t__u8 managed: 1;\n\t__be16 rt_lifetime;\n};\n\nstruct icmp6hdr {\n\t__u8 icmp6_type;\n\t__u8 icmp6_code;\n\t__sum16 icmp6_cksum;\n\tunion {\n\t\t__be32 un_data32[1];\n\t\t__be16 un_data16[2];\n\t\t__u8 un_data8[4];\n\t\tstruct icmpv6_echo u_echo;\n\t\tstruct icmpv6_nd_advt u_nd_advt;\n\t\tstruct icmpv6_nd_ra u_nd_ra;\n\t} icmp6_dataun;\n};\n\nstruct icmphdr {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 checksum;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 id;\n\t\t\t__be16 sequence;\n\t\t} echo;\n\t\t__be32 gateway;\n\t\tstruct {\n\t\t\t__be16 __unused;\n\t\t\t__be16 mtu;\n\t\t} frag;\n\t\t__u8 reserved[4];\n\t} un;\n};\n\nstruct ip_options {\n\t__be32 faddr;\n\t__be32 nexthop;\n\tunsigned char optlen;\n\tunsigned char srr;\n\tunsigned char rr;\n\tunsigned char ts;\n\tunsigned char is_strictroute: 1;\n\tunsigned char srr_is_hit: 1;\n\tunsigned char is_changed: 1;\n\tunsigned char rr_needaddr: 1;\n\tunsigned char ts_needtime: 1;\n\tunsigned char ts_needaddr: 1;\n\tunsigned char router_alert;\n\tunsigned char cipso;\n\tunsigned char __pad2;\n\tunsigned char __data[0];\n};\n\nstruct ip_options_rcu {\n\tstruct callback_head rcu;\n\tstruct ip_options opt;\n};\n\nstruct ip_options_data {\n\tstruct ip_options_rcu opt;\n\tchar data[40];\n};\n\nstruct icmp_bxm {\n\tstruct sk_buff *skb;\n\tint offset;\n\tint data_len;\n\tstruct {\n\t\tstruct icmphdr icmph;\n\t\t__be32 times[3];\n\t} data;\n\tint head_len;\n\tstruct ip_options_data replyopts;\n};\n\nstruct icmp_control {\n\tenum skb_drop_reason (*handler)(struct sk_buff *);\n\tshort int error;\n};\n\nstruct icmp_err {\n\tint errno;\n\tunsigned int fatal: 1;\n};\n\nstruct icmp_ext_echo_ctype3_hdr {\n\t__be16 afi;\n\t__u8 addrlen;\n\t__u8 reserved;\n};\n\nstruct icmp_extobj_hdr {\n\t__be16 length;\n\t__u8 class_num;\n\t__u8 class_type;\n};\n\nstruct icmp_ext_echo_iio {\n\tstruct icmp_extobj_hdr extobj_hdr;\n\tunion {\n\t\tchar name[16];\n\t\t__be32 ifindex;\n\t\tstruct {\n\t\t\tstruct icmp_ext_echo_ctype3_hdr ctype3_hdr;\n\t\t\tunion {\n\t\t\t\t__be32 ipv4_addr;\n\t\t\t\tstruct in6_addr ipv6_addr;\n\t\t\t} ip_addr;\n\t\t} addr;\n\t} ident;\n};\n\nstruct icmp_ext_hdr {\n\t__u8 reserved1: 4;\n\t__u8 version: 4;\n\t__u8 reserved2;\n\t__sum16 checksum;\n};\n\nstruct icmp_filter {\n\t__u32 data;\n};\n\nstruct icmp_mib {\n\tlong unsigned int mibs[30];\n};\n\nstruct icmpmsg_mib {\n\tatomic_long_t mibs[512];\n};\n\nstruct icmpv6_mib {\n\tlong unsigned int mibs[7];\n};\n\nstruct icmpv6_mib_device {\n\tatomic_long_t mibs[7];\n};\n\nstruct icmpv6msg_mib {\n\tatomic_long_t mibs[512];\n};\n\nstruct icmpv6msg_mib_device {\n\tatomic_long_t mibs[512];\n};\n\nstruct id_to_type {\n\tu32 id;\n\tint type;\n};\n\nstruct ida_bitmap {\n\tlong unsigned int bitmap[16];\n};\n\nstruct idempotent {\n\tconst void *cookie;\n\tstruct hlist_node entry;\n\tstruct completion complete;\n\tint ret;\n};\n\nstruct idle_timer {\n\tstruct hrtimer timer;\n\tint done;\n};\n\nstruct idmac_desc {\n\t__le32 des0;\n\t__le32 des1;\n\t__le32 des2;\n\t__le32 des3;\n};\n\nstruct idmac_desc_64addr {\n\tu32 des0;\n\tu32 des1;\n\tu32 des2;\n\tu32 des3;\n\tu32 des4;\n\tu32 des5;\n\tu32 des6;\n\tu32 des7;\n};\n\nstruct idmap_legacy_upcalldata;\n\nstruct idmap {\n\tstruct rpc_pipe_dir_object idmap_pdo;\n\tstruct rpc_pipe *idmap_pipe;\n\tstruct idmap_legacy_upcalldata *idmap_upcall_data;\n\tstruct mutex idmap_mutex;\n\tstruct user_namespace *user_ns;\n};\n\nstruct idmap_key {\n\tbool map_up;\n\tu32 id;\n\tu32 count;\n};\n\nstruct idmap_msg {\n\t__u8 im_type;\n\t__u8 im_conv;\n\tchar im_name[128];\n\t__u32 im_id;\n\t__u8 im_status;\n};\n\nstruct idmap_legacy_upcalldata {\n\tstruct rpc_pipe_msg pipe_msg;\n\tstruct idmap_msg idmap_msg;\n\tstruct key *authkey;\n\tstruct idmap *idmap;\n};\n\nstruct ieee_ets {\n\t__u8 willing;\n\t__u8 ets_cap;\n\t__u8 cbs;\n\t__u8 tc_tx_bw[8];\n\t__u8 tc_rx_bw[8];\n\t__u8 tc_tsa[8];\n\t__u8 prio_tc[8];\n\t__u8 tc_reco_bw[8];\n\t__u8 tc_reco_tsa[8];\n\t__u8 reco_prio_tc[8];\n};\n\nstruct ieee_pfc {\n\t__u8 pfc_cap;\n\t__u8 pfc_en;\n\t__u8 mbc;\n\t__u16 delay;\n\t__u64 requests[8];\n\t__u64 indications[8];\n};\n\nstruct if_dqblk {\n\t__u64 dqb_bhardlimit;\n\t__u64 dqb_bsoftlimit;\n\t__u64 dqb_curspace;\n\t__u64 dqb_ihardlimit;\n\t__u64 dqb_isoftlimit;\n\t__u64 dqb_curinodes;\n\t__u64 dqb_btime;\n\t__u64 dqb_itime;\n\t__u32 dqb_valid;\n};\n\nstruct if_dqinfo {\n\t__u64 dqi_bgrace;\n\t__u64 dqi_igrace;\n\t__u32 dqi_flags;\n\t__u32 dqi_valid;\n};\n\nstruct if_nextdqblk {\n\t__u64 dqb_bhardlimit;\n\t__u64 dqb_bsoftlimit;\n\t__u64 dqb_curspace;\n\t__u64 dqb_ihardlimit;\n\t__u64 dqb_isoftlimit;\n\t__u64 dqb_curinodes;\n\t__u64 dqb_btime;\n\t__u64 dqb_itime;\n\t__u32 dqb_valid;\n\t__u32 dqb_id;\n};\n\nstruct if_settings {\n\tunsigned int type;\n\tunsigned int size;\n\tunion {\n\t\traw_hdlc_proto *raw_hdlc;\n\t\tcisco_proto *cisco;\n\t\tfr_proto *fr;\n\t\tfr_proto_pvc *fr_pvc;\n\t\tfr_proto_pvc_info *fr_pvc_info;\n\t\tx25_hdlc_proto *x25;\n\t\tsync_serial_settings *sync;\n\t\tte1_settings *te1;\n\t} ifs_ifsu;\n};\n\nstruct if_stats_msg {\n\t__u8 family;\n\t__u8 pad1;\n\t__u16 pad2;\n\t__u32 ifindex;\n\t__u32 filter_mask;\n};\n\nstruct ifa_cacheinfo {\n\t__u32 ifa_prefered;\n\t__u32 ifa_valid;\n\t__u32 cstamp;\n\t__u32 tstamp;\n};\n\nstruct ifacaddr6 {\n\tstruct in6_addr aca_addr;\n\tstruct fib6_info *aca_rt;\n\tstruct ifacaddr6 *aca_next;\n\tstruct hlist_node aca_addr_lst;\n\tint aca_users;\n\trefcount_t aca_refcnt;\n\tlong unsigned int aca_cstamp;\n\tlong unsigned int aca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ifaddrmsg {\n\t__u8 ifa_family;\n\t__u8 ifa_prefixlen;\n\t__u8 ifa_flags;\n\t__u8 ifa_scope;\n\t__u32 ifa_index;\n};\n\nstruct ifbond {\n\t__s32 bond_mode;\n\t__s32 num_slaves;\n\t__s32 miimon;\n};\n\ntypedef struct ifbond ifbond;\n\nstruct ifconf {\n\tint ifc_len;\n\tunion {\n\t\tchar *ifcu_buf;\n\t\tstruct ifreq *ifcu_req;\n\t} ifc_ifcu;\n};\n\nstruct ifinfomsg {\n\tunsigned char ifi_family;\n\tunsigned char __ifi_pad;\n\tshort unsigned int ifi_type;\n\tint ifi_index;\n\tunsigned int ifi_flags;\n\tunsigned int ifi_change;\n};\n\nstruct ifla_vf_broadcast {\n\t__u8 broadcast[32];\n};\n\nstruct ifla_vf_guid {\n\t__u32 vf;\n\t__u64 guid;\n};\n\nstruct ifla_vf_info {\n\t__u32 vf;\n\t__u8 mac[32];\n\t__u32 vlan;\n\t__u32 qos;\n\t__u32 spoofchk;\n\t__u32 linkstate;\n\t__u32 min_tx_rate;\n\t__u32 max_tx_rate;\n\t__u32 rss_query_en;\n\t__u32 trusted;\n\t__be16 vlan_proto;\n};\n\nstruct ifla_vf_link_state {\n\t__u32 vf;\n\t__u32 link_state;\n};\n\nstruct ifla_vf_mac {\n\t__u32 vf;\n\t__u8 mac[32];\n};\n\nstruct ifla_vf_rate {\n\t__u32 vf;\n\t__u32 min_tx_rate;\n\t__u32 max_tx_rate;\n};\n\nstruct ifla_vf_rss_query_en {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_spoofchk {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_stats {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 broadcast;\n\t__u64 multicast;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n};\n\nstruct ifla_vf_trust {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_tx_rate {\n\t__u32 vf;\n\t__u32 rate;\n};\n\nstruct ifla_vf_vlan {\n\t__u32 vf;\n\t__u32 vlan;\n\t__u32 qos;\n};\n\nstruct ifla_vf_vlan_info {\n\t__u32 vf;\n\t__u32 vlan;\n\t__u32 qos;\n\t__be16 vlan_proto;\n};\n\nstruct ifmap {\n\tlong unsigned int mem_start;\n\tlong unsigned int mem_end;\n\tshort unsigned int base_addr;\n\tunsigned char irq;\n\tunsigned char dma;\n\tunsigned char port;\n};\n\nstruct inet6_dev;\n\nstruct ip6_sf_list;\n\nstruct ifmcaddr6 {\n\tstruct in6_addr mca_addr;\n\tstruct inet6_dev *idev;\n\tstruct ifmcaddr6 *next;\n\tstruct ip6_sf_list *mca_sources;\n\tstruct ip6_sf_list *mca_tomb;\n\tunsigned int mca_sfmode;\n\tunsigned char mca_crcount;\n\tlong unsigned int mca_sfcount[2];\n\tstruct delayed_work mca_work;\n\tunsigned int mca_flags;\n\tint mca_users;\n\trefcount_t mca_refcnt;\n\tlong unsigned int mca_cstamp;\n\tlong unsigned int mca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ifreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion {\n\t\tstruct sockaddr ifru_addr;\n\t\tstruct sockaddr ifru_dstaddr;\n\t\tstruct sockaddr ifru_broadaddr;\n\t\tstruct sockaddr ifru_netmask;\n\t\tstruct sockaddr ifru_hwaddr;\n\t\tshort int ifru_flags;\n\t\tint ifru_ivalue;\n\t\tint ifru_mtu;\n\t\tstruct ifmap ifru_map;\n\t\tchar ifru_slave[16];\n\t\tchar ifru_newname[16];\n\t\tvoid *ifru_data;\n\t\tstruct if_settings ifru_settings;\n\t} ifr_ifru;\n};\n\nstruct ifslave {\n\t__s32 slave_id;\n\tchar slave_name[16];\n\t__s8 link;\n\t__s8 state;\n\t__u32 link_failure_count;\n};\n\ntypedef struct ifslave ifslave;\n\nstruct msix_entry {\n\tu32 vector;\n\tu16 entry;\n};\n\nstruct igb_tx_queue_stats {\n\tu64 packets;\n\tu64 bytes;\n\tu64 restart_queue;\n\tu64 restart_queue2;\n};\n\nstruct igb_rx_queue_stats {\n\tu64 packets;\n\tu64 bytes;\n\tu64 drops;\n\tu64 csum_err;\n\tu64 alloc_failed;\n};\n\nstruct igb_q_vector;\n\nstruct igb_tx_buffer;\n\nstruct igb_rx_buffer;\n\nstruct igb_ring {\n\tstruct igb_q_vector *q_vector;\n\tstruct net_device *netdev;\n\tstruct bpf_prog *xdp_prog;\n\tstruct device *dev;\n\tunion {\n\t\tstruct igb_tx_buffer *tx_buffer_info;\n\t\tstruct igb_rx_buffer *rx_buffer_info;\n\t\tstruct xdp_buff **rx_buffer_info_zc;\n\t};\n\tvoid *desc;\n\tlong unsigned int flags;\n\tvoid *tail;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tu16 count;\n\tu8 queue_index;\n\tu8 reg_idx;\n\tbool launchtime_enable;\n\tbool cbs_enable;\n\ts32 idleslope;\n\ts32 sendslope;\n\ts32 hicredit;\n\ts32 locredit;\n\tu16 next_to_clean;\n\tu16 next_to_use;\n\tu16 next_to_alloc;\n\tunion {\n\t\tstruct {\n\t\t\tstruct igb_tx_queue_stats tx_stats;\n\t\t\tstruct u64_stats_sync tx_syncp;\n\t\t\tstruct u64_stats_sync tx_syncp2;\n\t\t};\n\t\tstruct {\n\t\t\tstruct sk_buff *skb;\n\t\t\tstruct igb_rx_queue_stats rx_stats;\n\t\t\tstruct u64_stats_sync rx_syncp;\n\t\t};\n\t};\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct xsk_buff_pool *xsk_pool;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ptp_pin_desc {\n\tchar name[64];\n\tunsigned int index;\n\tunsigned int func;\n\tunsigned int chan;\n\tunsigned int rsv[5];\n};\n\nstruct vf_mac_filter {\n\tstruct list_head l;\n\tint vf;\n\tbool free;\n\tu8 vf_mac[6];\n};\n\nstruct vf_data_storage;\n\nstruct igb_mac_addr;\n\nstruct igb_adapter {\n\tlong unsigned int active_vlans[64];\n\tstruct net_device *netdev;\n\tstruct bpf_prog *xdp_prog;\n\tlong unsigned int state;\n\tunsigned int flags;\n\tunsigned int num_q_vectors;\n\tstruct msix_entry msix_entries[10];\n\tu32 rx_itr_setting;\n\tu32 tx_itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tu16 tx_work_limit;\n\tu32 tx_timeout_count;\n\tint num_tx_queues;\n\tstruct igb_ring *tx_ring[16];\n\tint num_rx_queues;\n\tstruct igb_ring *rx_ring[16];\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tstruct timer_list watchdog_timer;\n\tstruct timer_list phy_info_timer;\n\tu16 mng_vlan_id;\n\tu32 bd_number;\n\tu32 wol;\n\tu32 en_mng_pt;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tu8 *io_addr;\n\tstruct work_struct reset_task;\n\tstruct work_struct watchdog_task;\n\tbool fc_autoneg;\n\tu8 tx_timeout_factor;\n\tstruct timer_list blink_timer;\n\tlong unsigned int led_status;\n\tstruct pci_dev *pdev;\n\tspinlock_t stats64_lock;\n\tstruct rtnl_link_stats64 stats64;\n\tstruct e1000_hw___3 hw;\n\tstruct e1000_hw_stats___3 stats;\n\tstruct e1000_phy_info___3 phy_info;\n\tu32 test_icr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct igb_ring test_tx_ring;\n\tstruct igb_ring test_rx_ring;\n\tint msg_enable;\n\tstruct igb_q_vector *q_vector[8];\n\tu32 eims_enable_mask;\n\tu32 eims_other;\n\tu16 tx_ring_count;\n\tu16 rx_ring_count;\n\tunsigned int vfs_allocated_count;\n\tstruct vf_data_storage *vf_data;\n\tint vf_rate_link_speed;\n\tu32 rss_queues;\n\tu32 wvbr;\n\tu32 *shadow_vfta;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_caps;\n\tstruct delayed_work ptp_overflow_work;\n\tstruct work_struct ptp_tx_work;\n\tstruct sk_buff *ptp_tx_skb;\n\tstruct hwtstamp_config tstamp_config;\n\tlong unsigned int ptp_tx_start;\n\tlong unsigned int last_rx_ptp_check;\n\tlong unsigned int last_rx_timestamp;\n\tunsigned int ptp_flags;\n\tspinlock_t tmreg_lock;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tu32 tx_hwtstamp_timeouts;\n\tu32 tx_hwtstamp_skipped;\n\tu32 rx_hwtstamp_cleared;\n\tbool pps_sys_wrap_on;\n\tstruct ptp_pin_desc sdp_config[4];\n\tstruct {\n\t\tstruct timespec64 start;\n\t\tstruct timespec64 period;\n\t} perout[2];\n\tchar fw_version[48];\n\tstruct hwmon_buff *igb_hwmon_buff;\n\tbool ets;\n\tstruct i2c_algo_bit_data i2c_algo;\n\tstruct i2c_adapter i2c_adap;\n\tstruct i2c_client *i2c_client;\n\tu32 rss_indir_tbl_init;\n\tu8 rss_indir_tbl[128];\n\tlong unsigned int link_check_timeout;\n\tint copper_tries;\n\tstruct e1000_info___2 ei;\n\tu16 eee_advert;\n\tstruct hlist_head nfc_filter_list;\n\tstruct hlist_head cls_flower_list;\n\tunsigned int nfc_filter_count;\n\tspinlock_t nfc_lock;\n\tbool etype_bitmap[3];\n\tstruct igb_mac_addr *mac_table;\n\tstruct vf_mac_filter vf_macs;\n\tstruct vf_mac_filter *vf_mac_list;\n\tspinlock_t vfs_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct igb_mac_addr {\n\tu8 addr[6];\n\tu8 queue;\n\tu8 state;\n};\n\nstruct igb_nfc_input {\n\tu8 match_flags;\n\t__be16 etype;\n\t__be16 vlan_tci;\n\tu8 src_addr[6];\n\tu8 dst_addr[6];\n};\n\nstruct igb_nfc_filter {\n\tstruct hlist_node nfc_node;\n\tstruct igb_nfc_input filter;\n\tlong unsigned int cookie;\n\tu16 etype_reg_index;\n\tu16 sw_idx;\n\tu16 action;\n};\n\nstruct igb_ring_container {\n\tstruct igb_ring *ring;\n\tunsigned int total_bytes;\n\tunsigned int total_packets;\n\tu16 work_limit;\n\tu8 count;\n\tu8 itr;\n};\n\nstruct igb_q_vector {\n\tstruct igb_adapter *adapter;\n\tint cpu;\n\tu32 eims_value;\n\tu16 itr_val;\n\tu8 set_itr;\n\tvoid *itr_register;\n\tstruct igb_ring_container rx;\n\tstruct igb_ring_container tx;\n\tstruct napi_struct napi;\n\tstruct callback_head rcu;\n\tchar name[25];\n\tlong: 64;\n\tlong: 64;\n\tstruct igb_ring ring[0];\n};\n\nstruct igb_reg_info {\n\tu32 ofs;\n\tchar *name;\n};\n\nstruct igb_reg_test {\n\tu16 reg;\n\tu16 reg_offset;\n\tu16 array_len;\n\tu16 test_type;\n\tu32 mask;\n\tu32 write;\n};\n\nstruct igb_rx_buffer {\n\tdma_addr_t dma;\n\tstruct page *page;\n\t__u32 page_offset;\n\t__u16 pagecnt_bias;\n};\n\nstruct igb_stats {\n\tchar stat_string[32];\n\tint sizeof_stat;\n\tint stat_offset;\n};\n\nstruct igb_tx_buffer {\n\tunion e1000_adv_tx_desc *next_to_watch;\n\tlong unsigned int time_stamp;\n\tenum igb_tx_buf_type type;\n\tunion {\n\t\tstruct sk_buff *skb;\n\t\tstruct xdp_frame *xdpf;\n\t};\n\tunsigned int bytecount;\n\tu16 gso_segs;\n\t__be16 protocol;\n\tdma_addr_t dma;\n\t__u32 len;\n\tu32 tx_flags;\n};\n\nstruct igbvf_queue_stats {\n\tu64 packets;\n\tu64 bytes;\n};\n\nstruct igbvf_adapter;\n\nunion igbvf_desc;\n\nstruct igbvf_buffer;\n\nstruct igbvf_ring {\n\tstruct igbvf_adapter *adapter;\n\tunion igbvf_desc *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tu16 next_to_use;\n\tu16 next_to_clean;\n\tu16 head;\n\tu16 tail;\n\tstruct igbvf_buffer *buffer_info;\n\tstruct napi_struct napi;\n\tchar name[21];\n\tu32 eims_value;\n\tu32 itr_val;\n\tenum latency_range itr_range;\n\tu16 itr_register;\n\tint set_itr;\n\tstruct sk_buff *rx_skb_top;\n\tstruct igbvf_queue_stats stats;\n};\n\nstruct igbvf_info;\n\nstruct igbvf_adapter {\n\tstruct timer_list watchdog_timer;\n\tstruct timer_list blink_timer;\n\tstruct work_struct reset_task;\n\tstruct work_struct watchdog_task;\n\tconst struct igbvf_info *ei;\n\tlong unsigned int active_vlans[64];\n\tu32 bd_number;\n\tu32 rx_buffer_len;\n\tu32 polling_interval;\n\tu16 mng_vlan_id;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tlong unsigned int state;\n\tu32 requested_itr;\n\tu32 current_itr;\n\tstruct igbvf_ring *tx_ring;\n\tunsigned int restart_queue;\n\tu32 txd_cmd;\n\tu32 tx_int_delay;\n\tu32 tx_abs_int_delay;\n\tunsigned int total_tx_bytes;\n\tunsigned int total_tx_packets;\n\tunsigned int total_rx_bytes;\n\tunsigned int total_rx_packets;\n\tu32 tx_timeout_count;\n\tu32 tx_fifo_head;\n\tu32 tx_head_addr;\n\tu32 tx_fifo_size;\n\tu32 tx_dma_failed;\n\tstruct igbvf_ring *rx_ring;\n\tu32 rx_int_delay;\n\tu32 rx_abs_int_delay;\n\tu64 hw_csum_err;\n\tu64 hw_csum_good;\n\tu64 rx_hdr_split;\n\tu32 alloc_rx_buff_failed;\n\tu32 rx_dma_failed;\n\tunsigned int rx_ps_hdr_size;\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tstruct e1000_hw___4 hw;\n\tstruct e1000_vf_stats stats;\n\tu64 zero_base;\n\tstruct igbvf_ring test_tx_ring;\n\tstruct igbvf_ring test_rx_ring;\n\tu32 test_icr;\n\tu32 msg_enable;\n\tstruct msix_entry *msix_entries;\n\tint int_mode;\n\tu32 eims_enable_mask;\n\tu32 eims_other;\n\tu32 int_counter0;\n\tu32 int_counter1;\n\tu32 eeprom_wol;\n\tu32 wol;\n\tu32 pba;\n\tbool fc_autoneg;\n\tlong unsigned int led_status;\n\tunsigned int flags;\n\tlong unsigned int last_reset;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct igbvf_buffer {\n\tdma_addr_t dma;\n\tstruct sk_buff *skb;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int time_stamp;\n\t\t\tunion e1000_adv_tx_desc *next_to_watch;\n\t\t\tu16 length;\n\t\t\tu16 mapped_as_page;\n\t\t};\n\t\tstruct {\n\t\t\tstruct page *page;\n\t\t\tu64 page_dma;\n\t\t\tunsigned int page_offset;\n\t\t};\n\t};\n};\n\nunion igbvf_desc {\n\tunion e1000_adv_rx_desc___2 rx_desc;\n\tunion e1000_adv_tx_desc tx_desc;\n\tstruct e1000_adv_tx_context_desc tx_context_desc;\n};\n\nstruct igbvf_info {\n\tenum e1000_mac_type mac;\n\tunsigned int flags;\n\tu32 pba;\n\tvoid (*init_ops)(struct e1000_hw___4 *);\n\ts32 (*get_variants)(struct igbvf_adapter *);\n};\n\nstruct igbvf_stats {\n\tchar stat_string[32];\n\tint sizeof_stat;\n\tint stat_offset;\n\tint base_stat_offset;\n};\n\nstruct in_device;\n\nstruct igmp_mc_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct in_device *in_dev;\n};\n\nstruct ip_mc_list;\n\nstruct igmp_mcf_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct in_device *idev;\n\tstruct ip_mc_list *im;\n};\n\nstruct igmphdr {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 csum;\n\t__be32 group;\n};\n\nstruct igmpv3_grec {\n\t__u8 grec_type;\n\t__u8 grec_auxwords;\n\t__be16 grec_nsrcs;\n\t__be32 grec_mca;\n\t__be32 grec_src[0];\n};\n\nstruct igmpv3_query {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 csum;\n\t__be32 group;\n\t__u8 qrv: 3;\n\t__u8 suppress: 1;\n\t__u8 resv: 4;\n\t__u8 qqic;\n\t__be16 nsrcs;\n\t__be32 srcs[0];\n};\n\nstruct igmpv3_report {\n\t__u8 type;\n\t__u8 resv1;\n\t__sum16 csum;\n\t__be16 resv2;\n\t__be16 ngrec;\n\tstruct igmpv3_grec grec[0];\n};\n\nstruct ignore_entry {\n\tu16 vid;\n\tu16 pid;\n\tu16 bcdmin;\n\tu16 bcdmax;\n};\n\nstruct ignore_section {\n\tguid_t guid;\n\tconst char *name;\n};\n\nstruct iio_buffer_access_funcs;\n\nstruct iio_dev_attr;\n\nstruct iio_buffer {\n\tunsigned int length;\n\tlong unsigned int flags;\n\tsize_t bytes_per_datum;\n\tenum iio_buffer_direction direction;\n\tconst struct iio_buffer_access_funcs *access;\n\tlong int *scan_mask;\n\tstruct list_head demux_list;\n\twait_queue_head_t pollq;\n\tunsigned int watermark;\n\tbool scan_timestamp;\n\tstruct list_head buffer_attr_list;\n\tstruct attribute_group buffer_group;\n\tconst struct iio_dev_attr **attrs;\n\tvoid *demux_bounce;\n\tstruct list_head attached_entry;\n\tstruct list_head buffer_list;\n\tstruct kref ref;\n\tstruct list_head dmabufs;\n\tstruct mutex dmabufs_mutex;\n};\n\nstruct iio_dma_buffer_block;\n\nstruct iio_buffer_access_funcs {\n\tint (*store_to)(struct iio_buffer *, const void *);\n\tint (*read)(struct iio_buffer *, size_t, char *);\n\tsize_t (*data_available)(struct iio_buffer *);\n\tint (*remove_from)(struct iio_buffer *, void *);\n\tint (*write)(struct iio_buffer *, size_t, const char *);\n\tsize_t (*space_available)(struct iio_buffer *);\n\tint (*request_update)(struct iio_buffer *);\n\tint (*set_bytes_per_datum)(struct iio_buffer *, size_t);\n\tint (*set_length)(struct iio_buffer *, unsigned int);\n\tint (*enable)(struct iio_buffer *, struct iio_dev *);\n\tint (*disable)(struct iio_buffer *, struct iio_dev *);\n\tvoid (*release)(struct iio_buffer *);\n\tstruct iio_dma_buffer_block * (*attach_dmabuf)(struct iio_buffer *, struct dma_buf_attachment *);\n\tvoid (*detach_dmabuf)(struct iio_buffer *, struct iio_dma_buffer_block *);\n\tint (*enqueue_dmabuf)(struct iio_buffer *, struct iio_dma_buffer_block *, struct dma_fence *, struct sg_table *, size_t, bool);\n\tvoid (*lock_queue)(struct iio_buffer *);\n\tvoid (*unlock_queue)(struct iio_buffer *);\n\tunsigned int modes;\n\tunsigned int flags;\n};\n\nstruct iio_buffer_setup_ops {\n\tint (*preenable)(struct iio_dev *);\n\tint (*postenable)(struct iio_dev *);\n\tint (*predisable)(struct iio_dev *);\n\tint (*postdisable)(struct iio_dev *);\n\tbool (*validate_scan_mask)(struct iio_dev *, const long unsigned int *);\n};\n\nstruct iio_scan_type {\n\tchar sign;\n\tu8 realbits;\n\tu8 storagebits;\n\tu8 shift;\n\tu8 repeat;\n\tenum iio_endian endianness;\n};\n\nstruct iio_event_spec;\n\nstruct iio_chan_spec_ext_info;\n\nstruct iio_chan_spec {\n\tenum iio_chan_type type;\n\tint channel;\n\tint channel2;\n\tlong unsigned int address;\n\tint scan_index;\n\tunion {\n\t\tstruct iio_scan_type scan_type;\n\t\tstruct {\n\t\t\tconst struct iio_scan_type *ext_scan_type;\n\t\t\tunsigned int num_ext_scan_type;\n\t\t};\n\t};\n\tlong int info_mask_separate;\n\tlong int info_mask_separate_available;\n\tlong int info_mask_shared_by_type;\n\tlong int info_mask_shared_by_type_available;\n\tlong int info_mask_shared_by_dir;\n\tlong int info_mask_shared_by_dir_available;\n\tlong int info_mask_shared_by_all;\n\tlong int info_mask_shared_by_all_available;\n\tconst struct iio_event_spec *event_spec;\n\tunsigned int num_event_specs;\n\tconst struct iio_chan_spec_ext_info *ext_info;\n\tconst char *extend_name;\n\tconst char *datasheet_name;\n\tunsigned int modified: 1;\n\tunsigned int indexed: 1;\n\tunsigned int output: 1;\n\tunsigned int differential: 1;\n\tunsigned int has_ext_scan_type: 1;\n};\n\nstruct iio_chan_spec_ext_info {\n\tconst char *name;\n\tenum iio_shared_by shared;\n\tssize_t (*read)(struct iio_dev *, uintptr_t, const struct iio_chan_spec *, char *);\n\tssize_t (*write)(struct iio_dev *, uintptr_t, const struct iio_chan_spec *, const char *, size_t);\n\tuintptr_t private;\n};\n\nstruct iio_channel {\n\tstruct iio_dev *indio_dev;\n\tconst struct iio_chan_spec *channel;\n\tvoid *data;\n};\n\nstruct iio_const_attr {\n\tconst char *string;\n\tstruct device_attribute dev_attr;\n};\n\nstruct iio_demux_table {\n\tunsigned int from;\n\tunsigned int to;\n\tunsigned int length;\n\tstruct list_head l;\n};\n\nstruct iio_trigger;\n\nstruct iio_poll_func;\n\nstruct iio_info;\n\nstruct iio_dev {\n\tint modes;\n\tstruct device dev;\n\tstruct iio_buffer *buffer;\n\tint scan_bytes;\n\tconst long unsigned int *available_scan_masks;\n\tunsigned int masklength;\n\tconst long unsigned int *active_scan_mask;\n\tbool scan_timestamp;\n\tstruct iio_trigger *trig;\n\tstruct iio_poll_func *pollfunc;\n\tstruct iio_poll_func *pollfunc_event;\n\tconst struct iio_chan_spec *channels;\n\tint num_channels;\n\tconst char *name;\n\tconst char *label;\n\tconst struct iio_info *info;\n\tconst struct iio_buffer_setup_ops *setup_ops;\n\tvoid *priv;\n};\n\nstruct iio_dev_attr {\n\tstruct device_attribute dev_attr;\n\tu64 address;\n\tstruct list_head l;\n\tconst struct iio_chan_spec *c;\n\tstruct iio_buffer *buffer;\n};\n\nstruct iio_dev_buffer_pair {\n\tstruct iio_dev *indio_dev;\n\tstruct iio_buffer *buffer;\n};\n\nstruct iio_event_interface;\n\nstruct iio_ioctl_handler;\n\nstruct iio_dev_opaque {\n\tstruct iio_dev indio_dev;\n\tint currentmode;\n\tint id;\n\tstruct module *driver_module;\n\tstruct mutex mlock;\n\tstruct lock_class_key mlock_key;\n\tstruct mutex info_exist_lock;\n\tbool trig_readonly;\n\tstruct iio_event_interface *event_interface;\n\tstruct iio_buffer **attached_buffers;\n\tunsigned int attached_buffers_cnt;\n\tstruct iio_ioctl_handler *buffer_ioctl_handler;\n\tstruct list_head buffer_list;\n\tstruct list_head channel_attr_list;\n\tstruct attribute_group chan_attr_group;\n\tstruct list_head ioctl_handlers;\n\tconst struct attribute_group **groups;\n\tint groupcounter;\n\tstruct attribute_group legacy_scan_el_group;\n\tstruct attribute_group legacy_buffer_group;\n\tvoid *bounce_buffer;\n\tsize_t bounce_buffer_size;\n\tunsigned int scan_index_timestamp;\n\tclockid_t clock_id;\n\tstruct cdev chrdev;\n\tlong unsigned int flags;\n\tstruct dentry *debugfs_dentry;\n\tunsigned int cached_reg_addr;\n\tchar read_buf[20];\n\tunsigned int read_buf_len;\n};\n\nstruct iio_device_config {\n\tunsigned int mode;\n\tunsigned int watermark;\n\tconst long unsigned int *scan_mask;\n\tunsigned int scan_bytes;\n\tbool scan_timestamp;\n};\n\nstruct iio_dmabuf_priv;\n\nstruct iio_dma_fence {\n\tstruct dma_fence base;\n\tstruct iio_dmabuf_priv *priv;\n\tstruct work_struct work;\n};\n\nstruct iio_dmabuf {\n\t__u32 fd;\n\t__u32 flags;\n\t__u64 bytes_used;\n};\n\nstruct iio_dmabuf_priv {\n\tstruct list_head entry;\n\tstruct kref ref;\n\tstruct iio_buffer *buffer;\n\tstruct iio_dma_buffer_block *block;\n\tu64 context;\n\tspinlock_t lock;\n\tstruct dma_buf_attachment *attach;\n\tstruct sg_table *sgt;\n\tenum dma_data_direction dir;\n\tatomic_t seqno;\n};\n\nstruct iio_enum {\n\tconst char * const *items;\n\tunsigned int num_items;\n\tint (*set)(struct iio_dev *, const struct iio_chan_spec *, unsigned int);\n\tint (*get)(struct iio_dev *, const struct iio_chan_spec *);\n};\n\nstruct iio_event_data {\n\t__u64 id;\n\t__s64 timestamp;\n};\n\nstruct iio_ioctl_handler {\n\tstruct list_head entry;\n\tlong int (*ioctl)(struct iio_dev *, struct file *, unsigned int, long unsigned int);\n};\n\nstruct iio_event_interface {\n\twait_queue_head_t wait;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct iio_event_data *type;\n\t\t\tconst struct iio_event_data *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct iio_event_data *ptr;\n\t\t\tconst struct iio_event_data *ptr_const;\n\t\t};\n\t\tstruct iio_event_data buf[16];\n\t} det_events;\n\tstruct list_head dev_attr_list;\n\tlong unsigned int flags;\n\tstruct attribute_group group;\n\tstruct mutex read_lock;\n\tstruct iio_ioctl_handler ioctl_handler;\n};\n\nstruct iio_event_spec {\n\tenum iio_event_type type;\n\tenum iio_event_direction dir;\n\tlong unsigned int mask_separate;\n\tlong unsigned int mask_shared_by_type;\n\tlong unsigned int mask_shared_by_dir;\n\tlong unsigned int mask_shared_by_all;\n};\n\nstruct iio_info {\n\tconst struct attribute_group *event_attrs;\n\tconst struct attribute_group *attrs;\n\tint (*read_raw)(struct iio_dev *, const struct iio_chan_spec *, int *, int *, long int);\n\tint (*read_raw_multi)(struct iio_dev *, const struct iio_chan_spec *, int, int *, int *, long int);\n\tint (*read_avail)(struct iio_dev *, const struct iio_chan_spec *, const int **, int *, int *, long int);\n\tint (*write_raw)(struct iio_dev *, const struct iio_chan_spec *, int, int, long int);\n\tint (*read_label)(struct iio_dev *, const struct iio_chan_spec *, char *);\n\tint (*write_raw_get_fmt)(struct iio_dev *, const struct iio_chan_spec *, long int);\n\tint (*read_event_config)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction);\n\tint (*write_event_config)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction, bool);\n\tint (*read_event_value)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction, enum iio_event_info, int *, int *);\n\tint (*write_event_value)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction, enum iio_event_info, int, int);\n\tint (*read_event_label)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction, char *);\n\tint (*validate_trigger)(struct iio_dev *, struct iio_trigger *);\n\tint (*get_current_scan_type)(const struct iio_dev *, const struct iio_chan_spec *);\n\tint (*update_scan_mode)(struct iio_dev *, const long unsigned int *);\n\tint (*debugfs_reg_access)(struct iio_dev *, unsigned int, unsigned int, unsigned int *);\n\tint (*fwnode_xlate)(struct iio_dev *, const struct fwnode_reference_args *);\n\tint (*hwfifo_set_watermark)(struct iio_dev *, unsigned int);\n\tint (*hwfifo_flush_to_buffer)(struct iio_dev *, unsigned int);\n};\n\nstruct iio_map {\n\tconst char *adc_channel_label;\n\tconst char *consumer_dev_name;\n\tconst char *consumer_channel;\n\tvoid *consumer_data;\n};\n\nstruct iio_map_internal {\n\tstruct iio_dev *indio_dev;\n\tconst struct iio_map *map;\n\tstruct list_head l;\n};\n\nstruct iio_mount_matrix {\n\tconst char *rotation[9];\n};\n\nstruct iio_poll_func {\n\tstruct iio_dev *indio_dev;\n\tirqreturn_t (*h)(int, void *);\n\tirqreturn_t (*thread)(int, void *);\n\tint type;\n\tchar *name;\n\tint irq;\n\ts64 timestamp;\n};\n\nstruct iio_subirq {\n\tbool enabled;\n};\n\nstruct iio_trigger_ops;\n\nstruct iio_trigger {\n\tconst struct iio_trigger_ops *ops;\n\tstruct module *owner;\n\tint id;\n\tconst char *name;\n\tstruct device dev;\n\tstruct list_head list;\n\tstruct list_head alloc_list;\n\tatomic_t use_count;\n\tstruct irq_chip subirq_chip;\n\tint subirq_base;\n\tstruct iio_subirq subirqs[2];\n\tlong unsigned int pool[1];\n\tstruct mutex pool_lock;\n\tbool attached_own_device;\n\tstruct work_struct reenable_work;\n};\n\nstruct iio_trigger_ops {\n\tint (*set_trigger_state)(struct iio_trigger *, bool);\n\tvoid (*reenable)(struct iio_trigger *);\n\tint (*validate_device)(struct iio_trigger *, struct iio_dev *);\n};\n\nstruct imx2_wdt_data {\n\tbool wdw_supported;\n};\n\nstruct imx2_wdt_device {\n\tstruct clk *clk;\n\tstruct regmap *regmap;\n\tstruct watchdog_device wdog;\n\tconst struct imx2_wdt_data *data;\n\tbool ext_reset;\n\tbool clk_is_on;\n\tbool no_ping;\n\tbool sleep_wait;\n};\n\nstruct imx7_src_signal;\n\nstruct imx7_src {\n\tstruct reset_controller_dev rcdev;\n\tstruct regmap *regmap;\n\tconst struct imx7_src_signal *signals;\n};\n\nstruct imx7_src_signal {\n\tunsigned int offset;\n\tunsigned int bit;\n};\n\nstruct reset_control_ops {\n\tint (*reset)(struct reset_controller_dev *, long unsigned int);\n\tint (*assert)(struct reset_controller_dev *, long unsigned int);\n\tint (*deassert)(struct reset_controller_dev *, long unsigned int);\n\tint (*status)(struct reset_controller_dev *, long unsigned int);\n};\n\nstruct imx7_src_variant {\n\tconst struct imx7_src_signal *signals;\n\tunsigned int signals_num;\n\tstruct reset_control_ops ops;\n};\n\nstruct imx8_acm_soc_data;\n\nstruct imx8_acm_priv {\n\tstruct clk_imx_acm_pm_domains dev_pm;\n\tconst struct imx8_acm_soc_data *soc_data;\n\tvoid *reg;\n\tu32 regs[25];\n};\n\nstruct imx8_acm_soc_data {\n\tstruct clk_imx8_acm_sel *sels;\n\tunsigned int num_sels;\n\tstruct clk_parent_data *mclk_sels;\n};\n\nstruct imx8_pcie_phy_drvdata;\n\nstruct imx8_pcie_phy {\n\tvoid *base;\n\tstruct clk *clk;\n\tstruct phy *phy;\n\tstruct regmap *iomuxc_gpr;\n\tstruct reset_control *perst;\n\tstruct reset_control *reset;\n\tu32 refclk_pad_mode;\n\tu32 tx_deemph_gen1;\n\tu32 tx_deemph_gen2;\n\tbool clkreq_unused;\n\tconst struct imx8_pcie_phy_drvdata *drvdata;\n};\n\nstruct imx8_pcie_phy_drvdata {\n\tconst char *gpr;\n\tenum imx8_pcie_phy_type variant;\n};\n\nstruct imx8_soc_data {\n\tchar *name;\n\tint (*soc_revision)(u32 *, u64 *);\n};\n\nstruct imx8m_blk_ctrl_domain;\n\nstruct imx8m_blk_ctrl {\n\tstruct device *dev;\n\tstruct notifier_block power_nb;\n\tstruct device *bus_power_dev;\n\tstruct regmap *regmap;\n\tstruct imx8m_blk_ctrl_domain *domains;\n\tstruct genpd_onecell_data onecell_data;\n};\n\nstruct imx8m_blk_ctrl_domain_data;\n\nstruct imx8m_blk_ctrl_data {\n\tint max_reg;\n\tnotifier_fn_t power_notifier_fn;\n\tconst struct imx8m_blk_ctrl_domain_data *domains;\n\tint num_domains;\n};\n\nstruct imx8m_blk_ctrl_domain {\n\tstruct generic_pm_domain genpd;\n\tconst struct imx8m_blk_ctrl_domain_data *data;\n\tstruct clk_bulk_data clks[4];\n\tstruct icc_bulk_data paths[4];\n\tstruct device *power_dev;\n\tstruct imx8m_blk_ctrl *bc;\n\tint num_paths;\n};\n\nstruct imx8m_blk_ctrl_domain_data {\n\tconst char *name;\n\tconst char * const *clk_names;\n\tconst char * const *path_names;\n\tconst char *gpc_name;\n\tint num_clks;\n\tint num_paths;\n\tu32 rst_mask;\n\tu32 clk_mask;\n\tu32 mipi_phy_rst_mask;\n};\n\nstruct imx8mp_audiomix_reset {\n\tstruct reset_controller_dev rcdev;\n\tspinlock_t lock;\n\tvoid *base;\n};\n\nstruct imx8mp_blk_ctrl_domain;\n\nstruct imx8mp_blk_ctrl {\n\tstruct device *dev;\n\tstruct notifier_block power_nb;\n\tstruct device *bus_power_dev;\n\tstruct regmap *regmap;\n\tstruct imx8mp_blk_ctrl_domain *domains;\n\tstruct genpd_onecell_data onecell_data;\n\tvoid (*power_off)(struct imx8mp_blk_ctrl *, struct imx8mp_blk_ctrl_domain *);\n\tvoid (*power_on)(struct imx8mp_blk_ctrl *, struct imx8mp_blk_ctrl_domain *);\n};\n\nstruct imx8mp_blk_ctrl_domain_data;\n\nstruct imx8mp_blk_ctrl_data {\n\tint max_reg;\n\tint (*probe)(struct imx8mp_blk_ctrl *);\n\tnotifier_fn_t power_notifier_fn;\n\tvoid (*power_off)(struct imx8mp_blk_ctrl *, struct imx8mp_blk_ctrl_domain *);\n\tvoid (*power_on)(struct imx8mp_blk_ctrl *, struct imx8mp_blk_ctrl_domain *);\n\tconst struct imx8mp_blk_ctrl_domain_data *domains;\n\tint num_domains;\n};\n\nstruct imx8mp_blk_ctrl_domain {\n\tstruct generic_pm_domain genpd;\n\tconst struct imx8mp_blk_ctrl_domain_data *data;\n\tstruct clk_bulk_data clks[3];\n\tstruct icc_bulk_data paths[3];\n\tstruct device *power_dev;\n\tstruct imx8mp_blk_ctrl *bc;\n\tint num_paths;\n\tint id;\n};\n\nstruct imx8mp_blk_ctrl_domain_data {\n\tconst char *name;\n\tconst char * const *clk_names;\n\tint num_clks;\n\tconst char * const *path_names;\n\tint num_paths;\n\tconst char *gpc_name;\n};\n\nstruct imx8mq_usb_phy {\n\tstruct phy *phy;\n\tstruct clk *clk;\n\tvoid *base;\n\tstruct regulator *vbus;\n\tu32 pcs_tx_swing_full;\n\tu32 pcs_tx_deemph_3p5db;\n\tu32 tx_vref_tune;\n\tu32 tx_rise_tune;\n\tu32 tx_preemp_amp_tune;\n\tu32 tx_vboost_level;\n\tu32 comp_dis_tune;\n};\n\nstruct imx8qxp_lpcg_data {\n\tint id;\n\tchar *name;\n\tchar *parent;\n\tlong unsigned int flags;\n\tu32 offset;\n\tu8 bit_idx;\n\tbool hw_gate;\n};\n\nstruct imx8qxp_ss_lpcg {\n\tconst struct imx8qxp_lpcg_data *lpcg;\n\tu8 num_lpcg;\n\tu8 num_max;\n};\n\nstruct imx93_blk_ctrl_domain;\n\nstruct imx93_blk_ctrl {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tint num_clks;\n\tstruct clk_bulk_data clks[4];\n\tstruct imx93_blk_ctrl_domain *domains;\n\tstruct genpd_onecell_data onecell_data;\n};\n\nstruct imx93_blk_ctrl_domain_data;\n\nstruct regmap_access_table;\n\nstruct imx93_blk_ctrl_data {\n\tconst struct imx93_blk_ctrl_domain_data *domains;\n\tint num_domains;\n\tconst char * const *clk_names;\n\tint num_clks;\n\tconst struct regmap_access_table *reg_access_table;\n};\n\nstruct imx93_blk_ctrl_domain {\n\tstruct generic_pm_domain genpd;\n\tconst struct imx93_blk_ctrl_domain_data *data;\n\tstruct clk_bulk_data clks[4];\n\tstruct imx93_blk_ctrl *bc;\n};\n\nstruct imx93_blk_ctrl_qos {\n\tu32 reg;\n\tu32 cfg_off;\n\tu32 default_prio;\n\tu32 cfg_prio;\n};\n\nstruct imx93_blk_ctrl_domain_data {\n\tconst char *name;\n\tconst char * const *clk_names;\n\tint num_clks;\n\tu32 rst_mask;\n\tu32 clk_mask;\n\tint num_qos;\n\tstruct imx93_blk_ctrl_qos qos[4];\n};\n\nstruct imx93_clk_ccgr {\n\tu32 clk;\n\tchar *name;\n\tchar *parent_name;\n\tu32 off;\n\tlong unsigned int flags;\n\tu32 *shared_count;\n\tlong unsigned int plat;\n};\n\nstruct imx93_clk_gate {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu32 bit_idx;\n\tu32 val;\n\tu32 mask;\n\tspinlock_t *lock;\n\tunsigned int *share_count;\n};\n\nstruct imx93_clk_root {\n\tu32 clk;\n\tchar *name;\n\tu32 off;\n\tenum clk_sel sel;\n\tlong unsigned int flags;\n\tlong unsigned int plat;\n};\n\nstruct imx93_power_domain {\n\tstruct generic_pm_domain genpd;\n\tstruct device *dev;\n\tvoid *addr;\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct imx_bus {\n\tstruct devfreq_dev_profile profile;\n\tstruct devfreq *devfreq;\n\tstruct clk *clk;\n\tstruct platform_device *icc_pdev;\n};\n\nstruct imx_clk_gpr {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tu32 mask;\n\tu32 reg;\n\tconst u32 *mux_table;\n};\n\nstruct imx_clk_scu_rsrc_table {\n\tconst u32 *rsrc;\n\tu8 num;\n};\n\nstruct imx_fracn_gppll_clk {\n\tconst struct imx_fracn_gppll_rate_table *rate_table;\n\tint rate_count;\n\tint flags;\n};\n\nstruct imx_fracn_gppll_rate_table {\n\tunsigned int rate;\n\tunsigned int mfi;\n\tunsigned int mfn;\n\tunsigned int mfd;\n\tunsigned int rdiv;\n\tunsigned int odiv;\n};\n\nstruct imx_i2c_clk_pair {\n\tu16 div;\n\tu16 val;\n};\n\nstruct imx_i2c_dma {\n\tstruct dma_chan *chan_tx;\n\tstruct dma_chan *chan_rx;\n\tstruct dma_chan *chan_using;\n\tstruct completion cmd_complete;\n\tdma_addr_t dma_buf;\n\tunsigned int dma_len;\n\tenum dma_transfer_direction dma_transfer_dir;\n\tenum dma_data_direction dma_data_dir;\n};\n\nstruct imx_i2c_hwdata {\n\tenum imx_i2c_type devtype;\n\tunsigned int regshift;\n\tstruct imx_i2c_clk_pair *clk_div;\n\tunsigned int ndivs;\n\tunsigned int i2sr_clr_opcode;\n\tunsigned int i2cr_ien_opcode;\n\tbool has_err007805;\n};\n\nstruct imx_i2c_struct {\n\tstruct i2c_adapter adapter;\n\tstruct clk *clk;\n\tstruct notifier_block clk_change_nb;\n\tvoid *base;\n\twait_queue_head_t queue;\n\tlong unsigned int i2csr;\n\tunsigned int disable_delay;\n\tint stopped;\n\tunsigned int ifdr;\n\tunsigned int cur_clk;\n\tunsigned int bitrate;\n\tconst struct imx_i2c_hwdata *hwdata;\n\tstruct i2c_bus_recovery_info rinfo;\n\tstruct imx_i2c_dma *dma;\n\tstruct i2c_client *slave;\n\tenum i2c_slave_event last_slave_event;\n\tstruct i2c_msg *msg;\n\tunsigned int msg_buf_idx;\n\tint isr_result;\n\tbool is_lastmsg;\n\tenum imx_i2c_state state;\n\tbool multi_master;\n\tspinlock_t slave_lock;\n\tstruct hrtimer slave_timer;\n};\n\nstruct imx_icc_noc_setting {\n\tu32 reg;\n\tu32 prio_level;\n\tu32 mode;\n\tu32 ext_control;\n};\n\nstruct imx_icc_node_desc;\n\nstruct imx_icc_provider;\n\nstruct imx_icc_node {\n\tconst struct imx_icc_node_desc *desc;\n\tconst struct imx_icc_noc_setting *setting;\n\tstruct device *qos_dev;\n\tstruct dev_pm_qos_request qos_req;\n\tstruct imx_icc_provider *imx_provider;\n};\n\nstruct imx_icc_node_adj_desc {\n\tunsigned int bw_mul;\n\tunsigned int bw_div;\n\tconst char *phandle_name;\n\tbool main_noc;\n};\n\nstruct imx_icc_node_desc {\n\tconst char *name;\n\tu16 id;\n\tu16 links[4];\n\tu16 num_links;\n\tconst struct imx_icc_node_adj_desc *adj;\n};\n\nstruct imx_icc_provider {\n\tvoid *noc_base;\n\tstruct icc_provider provider;\n};\n\nstruct imx_mu_con_priv {\n\tunsigned int idx;\n\tchar irq_desc[32];\n\tenum imx_mu_chan_type type;\n\tstruct mbox_chan *chan;\n\tstruct work_struct txdb_work;\n};\n\nstruct imx_mu_priv;\n\nstruct imx_mu_dcfg {\n\tint (*tx)(struct imx_mu_priv *, struct imx_mu_con_priv *, void *);\n\tint (*rx)(struct imx_mu_priv *, struct imx_mu_con_priv *);\n\tint (*rxdb)(struct imx_mu_priv *, struct imx_mu_con_priv *);\n\tint (*init)(struct imx_mu_priv *);\n\tenum imx_mu_type type;\n\tu32 xTR;\n\tu32 xRR;\n\tu32 xSR[4];\n\tu32 xCR[5];\n};\n\nstruct imx_mu_priv {\n\tstruct device *dev;\n\tvoid *base;\n\tvoid *msg;\n\tspinlock_t xcr_lock;\n\tstruct mbox_controller mbox;\n\tstruct mbox_chan mbox_chans[24];\n\tstruct imx_mu_con_priv con_priv[24];\n\tconst struct imx_mu_dcfg *dcfg;\n\tstruct clk *clk;\n\tint irq[24];\n\tbool suspend;\n\tbool side_b;\n\tu32 xcr[5];\n\tu32 num_tr;\n\tu32 num_rr;\n};\n\nstruct imx_pcie_drvdata;\n\nstruct imx_pcie {\n\tstruct dw_pcie *pci;\n\tstruct gpio_desc *reset_gpiod;\n\tstruct clk_bulk_data clks[6];\n\tstruct regmap *iomuxc_gpr;\n\tu16 msi_ctrl;\n\tu32 controller_id;\n\tstruct reset_control *pciephy_reset;\n\tstruct reset_control *apps_reset;\n\tu32 tx_deemph_gen1;\n\tu32 tx_deemph_gen2_3p5db;\n\tu32 tx_deemph_gen2_6db;\n\tu32 tx_swing_full;\n\tu32 tx_swing_low;\n\tstruct regulator *vpcie;\n\tstruct regulator *vph;\n\tvoid *phy_base;\n\tstruct device *pd_pcie;\n\tstruct device *pd_pcie_phy;\n\tstruct phy *phy;\n\tconst struct imx_pcie_drvdata *drvdata;\n\tstruct mutex lock;\n};\n\nstruct imx_pcie_drvdata {\n\tenum imx_pcie_variants variant;\n\tenum dw_pcie_device_mode mode;\n\tu32 flags;\n\tint dbi_length;\n\tconst char *gpr;\n\tconst char * const *clk_names;\n\tconst u32 clks_cnt;\n\tconst u32 clks_optional_cnt;\n\tconst u32 ltssm_off;\n\tconst u32 ltssm_mask;\n\tconst u32 mode_off[2];\n\tconst u32 mode_mask[2];\n\tconst struct pci_epc_features *epc_features;\n\tint (*init_phy)(struct imx_pcie *);\n\tint (*enable_ref_clk)(struct imx_pcie *, bool);\n\tint (*core_reset)(struct imx_pcie *, bool);\n\tconst struct dw_pcie_host_ops *ops;\n};\n\nstruct imx_pgc_regs;\n\nstruct imx_pgc_domain {\n\tstruct generic_pm_domain genpd;\n\tstruct regmap *regmap;\n\tconst struct imx_pgc_regs *regs;\n\tstruct regulator *regulator;\n\tstruct reset_control *reset;\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tlong unsigned int pgc;\n\tconst struct {\n\t\tu32 pxx;\n\t\tu32 map;\n\t\tu32 hskreq;\n\t\tu32 hskack;\n\t} bits;\n\tconst int voltage;\n\tconst bool keep_clocks;\n\tstruct device *dev;\n\tunsigned int pgc_sw_pup_reg;\n\tunsigned int pgc_sw_pdn_reg;\n};\n\nstruct imx_pgc_domain_data {\n\tconst struct imx_pgc_domain *domains;\n\tsize_t domains_num;\n\tconst struct regmap_access_table *reg_access_table;\n\tconst struct imx_pgc_regs *pgc_regs;\n};\n\nstruct imx_pgc_regs {\n\tu16 map;\n\tu16 pup;\n\tu16 pdn;\n\tu16 hsk;\n};\n\nstruct imx_pin_mmio {\n\tunsigned int mux_mode;\n\tu16 input_reg;\n\tunsigned int input_val;\n\tlong unsigned int config;\n};\n\nstruct imx_pin_scu {\n\tunsigned int mux_mode;\n\tlong unsigned int config;\n};\n\nstruct imx_pin {\n\tunsigned int pin;\n\tunion {\n\t\tstruct imx_pin_mmio mmio;\n\t\tstruct imx_pin_scu scu;\n\t} conf;\n};\n\nstruct imx_pin_reg {\n\ts16 mux_reg;\n\ts16 conf_reg;\n};\n\nstruct imx_pinctrl_soc_info;\n\nstruct imx_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctl;\n\tvoid *base;\n\tvoid *input_sel_base;\n\tconst struct imx_pinctrl_soc_info *info;\n\tstruct imx_pin_reg *pin_regs;\n\tunsigned int group_index;\n\tstruct mutex mutex;\n};\n\nstruct imx_pinctrl_soc_info {\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tunsigned int flags;\n\tconst char *gpr_compatible;\n\tunsigned int mux_mask;\n\tu8 mux_shift;\n\tint (*gpio_set_direction)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int, bool);\n\tint (*imx_pinconf_get)(struct pinctrl_dev *, unsigned int, long unsigned int *);\n\tint (*imx_pinconf_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int);\n\tvoid (*imx_pinctrl_parse_pin)(struct imx_pinctrl *, unsigned int *, struct imx_pin *, const __be32 **);\n};\n\nstruct imx_pll14xx_clk {\n\tenum imx_pll14xx_type type;\n\tconst struct imx_pll14xx_rate_table *rate_table;\n\tint rate_count;\n\tint flags;\n};\n\nstruct imx_pll14xx_rate_table {\n\tunsigned int rate;\n\tunsigned int pdiv;\n\tunsigned int mdiv;\n\tunsigned int sdiv;\n\tunsigned int kdiv;\n};\n\nstruct imx_uart_data;\n\nstruct mctrl_gpios;\n\nstruct imx_port {\n\tstruct uart_port port;\n\tstruct timer_list timer;\n\tunsigned int old_status;\n\tunsigned int have_rtscts: 1;\n\tunsigned int have_rtsgpio: 1;\n\tunsigned int dte_mode: 1;\n\tunsigned int inverted_tx: 1;\n\tunsigned int inverted_rx: 1;\n\tstruct clk *clk_ipg;\n\tstruct clk *clk_per;\n\tconst struct imx_uart_data *devdata;\n\tstruct mctrl_gpios *gpios;\n\tint idle_counter;\n\tunsigned int dma_is_enabled: 1;\n\tunsigned int dma_is_rxing: 1;\n\tunsigned int dma_is_txing: 1;\n\tstruct dma_chan *dma_chan_rx;\n\tstruct dma_chan *dma_chan_tx;\n\tstruct scatterlist rx_sgl;\n\tstruct scatterlist tx_sgl[2];\n\tvoid *rx_buf;\n\tstruct circ_buf rx_ring;\n\tunsigned int rx_buf_size;\n\tunsigned int rx_period_length;\n\tunsigned int rx_periods;\n\tdma_cookie_t rx_cookie;\n\tunsigned int tx_bytes;\n\tunsigned int dma_tx_nents;\n\tunsigned int saved_reg[10];\n\tbool context_saved;\n\tbool last_putchar_was_newline;\n\tenum imx_tx_state tx_state;\n\tstruct hrtimer trigger_start_tx;\n\tstruct hrtimer trigger_stop_tx;\n};\n\nstruct imx_port_ucrs {\n\tunsigned int ucr1;\n\tunsigned int ucr2;\n\tunsigned int ucr3;\n};\n\nstruct imx_rproc_mem {\n\tvoid *cpu_addr;\n\tphys_addr_t sys_addr;\n\tsize_t size;\n};\n\nstruct rproc;\n\nstruct imx_rproc_dcfg;\n\nstruct imx_rproc {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct regmap *gpr;\n\tstruct rproc *rproc;\n\tconst struct imx_rproc_dcfg *dcfg;\n\tstruct imx_rproc_mem mem[32];\n\tstruct clk *clk;\n\tstruct mbox_client cl;\n\tstruct mbox_chan *tx_ch;\n\tstruct mbox_chan *rx_ch;\n\tstruct work_struct rproc_work;\n\tstruct workqueue_struct *workqueue;\n\tvoid *rsc_table;\n\tstruct imx_sc_ipc *ipc_handle;\n\tstruct notifier_block rproc_nb;\n\tu32 rproc_pt;\n\tu32 rsrc_id;\n\tu32 entry;\n\tu32 core_index;\n\tstruct dev_pm_domain_list *pd_list;\n};\n\nstruct imx_rproc_att {\n\tu32 da;\n\tu32 sa;\n\tu32 size;\n\tint flags;\n};\n\nstruct imx_rproc_dcfg {\n\tu32 src_reg;\n\tu32 src_mask;\n\tu32 src_start;\n\tu32 src_stop;\n\tu32 gpr_reg;\n\tu32 gpr_wait;\n\tconst struct imx_rproc_att *att;\n\tsize_t att_size;\n\tenum imx_rproc_method method;\n\tu32 flags;\n};\n\nstruct imx_s4_rpc_msg {\n\tuint8_t ver;\n\tuint8_t size;\n\tuint8_t cmd;\n\tuint8_t tag;\n};\n\nstruct imx_s4_rpc_msg_max {\n\tstruct imx_s4_rpc_msg hdr;\n\tu32 data[254];\n};\n\nstruct imx_sc_chan {\n\tstruct imx_sc_ipc *sc_ipc;\n\tstruct mbox_client cl;\n\tstruct mbox_chan *ch;\n\tint idx;\n\tstruct completion tx_done;\n};\n\nstruct imx_sc_ipc {\n\tstruct imx_sc_chan chans[8];\n\tstruct device *dev;\n\tstruct mutex lock;\n\tstruct completion done;\n\tbool fast_ipc;\n\tu32 *msg;\n\tu8 rx_size;\n\tu8 count;\n};\n\nstruct imx_sc_rpc_msg {\n\tuint8_t ver;\n\tuint8_t size;\n\tuint8_t svc;\n\tuint8_t func;\n};\n\nstruct req_get_clock_parent {\n\t__le16 resource;\n\tu8 clk;\n};\n\nstruct resp_get_clock_parent {\n\tu8 parent;\n};\n\nstruct imx_sc_msg_get_clock_parent {\n\tstruct imx_sc_rpc_msg hdr;\n\tunion {\n\t\tstruct req_get_clock_parent req;\n\t\tstruct resp_get_clock_parent resp;\n\t} data;\n};\n\nstruct req_get_clock_rate {\n\t__le16 resource;\n\tu8 clk;\n};\n\nstruct resp_get_clock_rate {\n\t__le32 rate;\n};\n\nstruct imx_sc_msg_get_clock_rate {\n\tstruct imx_sc_rpc_msg hdr;\n\tunion {\n\t\tstruct req_get_clock_rate req;\n\t\tstruct resp_get_clock_rate resp;\n\t} data;\n};\n\nstruct imx_sc_msg_gpio_set_pad_wakeup {\n\tstruct imx_sc_rpc_msg hdr;\n\tu16 pad;\n\tu8 wakeup;\n};\n\nstruct imx_sc_msg_irq_enable {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 mask;\n\tu16 resource;\n\tu8 group;\n\tu8 enable;\n};\n\nstruct imx_sc_msg_irq_get_status {\n\tstruct imx_sc_rpc_msg hdr;\n\tunion {\n\t\tstruct {\n\t\t\tu16 resource;\n\t\t\tu8 group;\n\t\t\tu8 reserved;\n\t\t} req;\n\t\tstruct {\n\t\t\tu32 status;\n\t\t} resp;\n\t} data;\n};\n\nstruct imx_sc_msg_misc_fuse_read {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 word;\n};\n\nstruct imx_sc_msg_misc_get_soc_id {\n\tstruct imx_sc_rpc_msg hdr;\n\tunion {\n\t\tstruct {\n\t\t\tu32 control;\n\t\t\tu16 resource;\n\t\t} __attribute__((packed)) req;\n\t\tstruct {\n\t\t\tu32 id;\n\t\t} resp;\n\t} data;\n};\n\nstruct imx_sc_msg_misc_get_soc_uid {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 uid_low;\n\tu32 uid_high;\n};\n\nstruct imx_sc_msg_req_clock_enable {\n\tstruct imx_sc_rpc_msg hdr;\n\t__le16 resource;\n\tu8 clk;\n\tu8 enable;\n\tu8 autog;\n\tint: 0;\n};\n\nstruct imx_sc_msg_req_cpu_start {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 address_hi;\n\tu32 address_lo;\n\tu16 resource;\n\tu8 enable;\n};\n\nstruct req_get_resource_mode {\n\tu16 resource;\n};\n\nstruct resp_get_resource_mode {\n\tu8 mode;\n};\n\nstruct imx_sc_msg_req_get_resource_power_mode {\n\tstruct imx_sc_rpc_msg hdr;\n\tunion {\n\t\tstruct req_get_resource_mode req;\n\t\tstruct resp_get_resource_mode resp;\n\t} data;\n\tlong: 0;\n};\n\nstruct imx_sc_msg_req_misc_get_ctrl {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 ctrl;\n\tu16 resource;\n};\n\nstruct imx_sc_msg_req_misc_set_ctrl {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 ctrl;\n\tu32 val;\n\tu16 resource;\n};\n\nstruct imx_sc_msg_req_pad_get {\n\tstruct imx_sc_rpc_msg hdr;\n\tu16 pad;\n\tlong: 0;\n};\n\nstruct imx_sc_msg_req_pad_set {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 val;\n\tu16 pad;\n};\n\nstruct imx_sc_msg_req_set_clock_rate {\n\tstruct imx_sc_rpc_msg hdr;\n\t__le32 rate;\n\t__le16 resource;\n\tu8 clk;\n};\n\nstruct imx_sc_msg_req_set_resource_power_mode {\n\tstruct imx_sc_rpc_msg hdr;\n\tu16 resource;\n\tu8 mode;\n};\n\nstruct imx_sc_msg_resp_misc_get_ctrl {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 val;\n};\n\nstruct imx_sc_msg_resp_pad_get {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 val;\n};\n\nstruct imx_sc_msg_rm_get_resource_owner {\n\tstruct imx_sc_rpc_msg hdr;\n\tunion {\n\t\tstruct {\n\t\t\tu16 resource;\n\t\t} req;\n\t\tstruct {\n\t\t\tu8 val;\n\t\t} resp;\n\t} data;\n\tlong: 0;\n};\n\nstruct imx_sc_msg_rm_rsrc_owned {\n\tstruct imx_sc_rpc_msg hdr;\n\tu16 resource;\n\tlong: 0;\n};\n\nstruct imx_sc_msg_set_clock_parent {\n\tstruct imx_sc_rpc_msg hdr;\n\t__le16 resource;\n\tu8 clk;\n\tu8 parent;\n};\n\nstruct imx_sc_pd_range {\n\tchar *name;\n\tu32 rsrc;\n\tu8 num;\n\tbool postfix;\n\tu8 start_from;\n};\n\nstruct imx_sc_pd_soc {\n\tconst struct imx_sc_pd_range *pd_ranges;\n\tu8 num_ranges;\n};\n\nstruct imx_sc_pm_domain {\n\tstruct generic_pm_domain pd;\n\tchar name[20];\n\tu32 rsrc;\n};\n\nstruct imx_sc_rpc_msg_max {\n\tstruct imx_sc_rpc_msg hdr;\n\tu32 data[30];\n};\n\nstruct imx_scu_clk_node {\n\tconst char *name;\n\tu32 rsrc;\n\tu8 clk_type;\n\tconst char * const *parents;\n\tint num_parents;\n\tstruct clk_hw *hw;\n\tstruct list_head node;\n};\n\nstruct imx_uart_data {\n\tunsigned int uts_reg;\n\tenum imx_uart_type devtype;\n};\n\nstruct usbmisc_ops;\n\nstruct imx_usbmisc {\n\tvoid *base;\n\tspinlock_t lock;\n\tconst struct usbmisc_ops *ops;\n};\n\nstruct imx_usbmisc_data {\n\tstruct device *dev;\n\tint index;\n\tunsigned int disable_oc: 1;\n\tunsigned int oc_pol_active_low: 1;\n\tunsigned int oc_pol_configured: 1;\n\tunsigned int pwr_pol: 1;\n\tunsigned int evdo: 1;\n\tunsigned int ulpi: 1;\n\tunsigned int hsic: 1;\n\tunsigned int ext_id: 1;\n\tunsigned int ext_vbus: 1;\n\tstruct usb_phy *usb_phy;\n\tenum usb_dr_mode available_role;\n\tint emp_curr_control;\n\tint dc_vol_level_adjust;\n\tint rise_fall_time_adjust;\n};\n\nstruct imxi2c_platform_data {\n\tu32 bitrate;\n};\n\nstruct in6_pktinfo {\n\tstruct in6_addr ipi6_addr;\n\tint ipi6_ifindex;\n};\n\nstruct ipv4_devconf {\n\tvoid *sysctl;\n\tint data[33];\n\tlong unsigned int state[1];\n};\n\nstruct in_ifaddr;\n\nstruct neigh_parms;\n\nstruct in_device {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\trefcount_t refcnt;\n\tint dead;\n\tstruct in_ifaddr *ifa_list;\n\tstruct ip_mc_list *mc_list;\n\tstruct ip_mc_list **mc_hash;\n\tint mc_count;\n\tspinlock_t mc_tomb_lock;\n\tstruct ip_mc_list *mc_tomb;\n\tlong unsigned int mr_v1_seen;\n\tlong unsigned int mr_v2_seen;\n\tlong unsigned int mr_maxdelay;\n\tlong unsigned int mr_qi;\n\tlong unsigned int mr_qri;\n\tunsigned char mr_qrv;\n\tunsigned char mr_gq_running;\n\tu32 mr_ifc_count;\n\tstruct timer_list mr_gq_timer;\n\tstruct timer_list mr_ifc_timer;\n\tstruct neigh_parms *arp_parms;\n\tstruct ipv4_devconf cnf;\n\tstruct callback_head callback_head;\n};\n\nstruct in_ifaddr {\n\tstruct hlist_node addr_lst;\n\tstruct in_ifaddr *ifa_next;\n\tstruct in_device *ifa_dev;\n\tstruct callback_head callback_head;\n\t__be32 ifa_local;\n\t__be32 ifa_address;\n\t__be32 ifa_mask;\n\t__u32 ifa_rt_priority;\n\t__be32 ifa_broadcast;\n\tunsigned char ifa_scope;\n\tunsigned char ifa_prefixlen;\n\tunsigned char ifa_proto;\n\t__u32 ifa_flags;\n\tchar ifa_label[16];\n\t__u32 ifa_valid_lft;\n\t__u32 ifa_preferred_lft;\n\tlong unsigned int ifa_cstamp;\n\tlong unsigned int ifa_tstamp;\n};\n\nstruct in_pin {\n\tu32 enable_mask;\n\tu32 value_mask;\n\tstruct gpio_desc *gpiod;\n\tconst char *name;\n\tstruct brcmstb_usb_pinmap_data *pdata;\n};\n\nstruct in_pktinfo {\n\tint ipi_ifindex;\n\tstruct in_addr ipi_spec_dst;\n\tstruct in_addr ipi_addr;\n};\n\nstruct in_validator_info {\n\t__be32 ivi_addr;\n\tstruct in_device *ivi_dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct ipv6_txoptions;\n\nstruct inet6_cork {\n\tstruct ipv6_txoptions *opt;\n\tu8 hop_limit;\n\tu8 tclass;\n};\n\nstruct ipv6_stable_secret {\n\tbool initialized;\n\tstruct in6_addr secret;\n};\n\nstruct ipv6_devconf {\n\t__u8 __cacheline_group_begin__ipv6_devconf_read_txrx[0];\n\t__s32 disable_ipv6;\n\t__s32 hop_limit;\n\t__s32 mtu6;\n\t__s32 forwarding;\n\t__s32 disable_policy;\n\t__s32 proxy_ndp;\n\t__u8 __cacheline_group_end__ipv6_devconf_read_txrx[0];\n\t__s32 accept_ra;\n\t__s32 accept_redirects;\n\t__s32 autoconf;\n\t__s32 dad_transmits;\n\t__s32 rtr_solicits;\n\t__s32 rtr_solicit_interval;\n\t__s32 rtr_solicit_max_interval;\n\t__s32 rtr_solicit_delay;\n\t__s32 force_mld_version;\n\t__s32 mldv1_unsolicited_report_interval;\n\t__s32 mldv2_unsolicited_report_interval;\n\t__s32 use_tempaddr;\n\t__s32 temp_valid_lft;\n\t__s32 temp_prefered_lft;\n\t__s32 regen_min_advance;\n\t__s32 regen_max_retry;\n\t__s32 max_desync_factor;\n\t__s32 max_addresses;\n\t__s32 accept_ra_defrtr;\n\t__u32 ra_defrtr_metric;\n\t__s32 accept_ra_min_hop_limit;\n\t__s32 accept_ra_min_lft;\n\t__s32 accept_ra_pinfo;\n\t__s32 ignore_routes_with_linkdown;\n\t__s32 accept_source_route;\n\t__s32 accept_ra_from_local;\n\t__s32 drop_unicast_in_l2_multicast;\n\t__s32 accept_dad;\n\t__s32 force_tllao;\n\t__s32 ndisc_notify;\n\t__s32 suppress_frag_ndisc;\n\t__s32 accept_ra_mtu;\n\t__s32 drop_unsolicited_na;\n\t__s32 accept_untracked_na;\n\tstruct ipv6_stable_secret stable_secret;\n\t__s32 use_oif_addrs_only;\n\t__s32 keep_addr_on_down;\n\t__s32 seg6_enabled;\n\t__u32 enhanced_dad;\n\t__u32 addr_gen_mode;\n\t__s32 ndisc_tclass;\n\t__s32 rpl_seg_enabled;\n\t__u32 ioam6_id;\n\t__u32 ioam6_id_wide;\n\t__u8 ioam6_enabled;\n\t__u8 ndisc_evict_nocarrier;\n\t__u8 ra_honor_pio_life;\n\t__u8 ra_honor_pio_pflag;\n\tstruct ctl_table_header *sysctl_header;\n};\n\nstruct ipstats_mib;\n\nstruct ipv6_devstat {\n\tstruct proc_dir_entry *proc_dir_entry;\n\tstruct ipstats_mib *ipv6;\n\tstruct icmpv6_mib_device *icmpv6dev;\n\tstruct icmpv6msg_mib_device *icmpv6msgdev;\n};\n\nstruct inet6_dev {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head addr_list;\n\tstruct ifmcaddr6 *mc_list;\n\tstruct ifmcaddr6 *mc_tomb;\n\tunsigned char mc_qrv;\n\tunsigned char mc_gq_running;\n\tunsigned char mc_ifc_count;\n\tunsigned char mc_dad_count;\n\tlong unsigned int mc_v1_seen;\n\tlong unsigned int mc_qi;\n\tlong unsigned int mc_qri;\n\tlong unsigned int mc_maxdelay;\n\tstruct delayed_work mc_gq_work;\n\tstruct delayed_work mc_ifc_work;\n\tstruct delayed_work mc_dad_work;\n\tstruct delayed_work mc_query_work;\n\tstruct delayed_work mc_report_work;\n\tstruct sk_buff_head mc_query_queue;\n\tstruct sk_buff_head mc_report_queue;\n\tspinlock_t mc_query_lock;\n\tspinlock_t mc_report_lock;\n\tstruct mutex mc_lock;\n\tstruct ifacaddr6 *ac_list;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\t__u32 if_flags;\n\tint dead;\n\tu32 desync_factor;\n\tstruct list_head tempaddr_list;\n\tstruct in6_addr token;\n\tstruct neigh_parms *nd_parms;\n\tstruct ipv6_devconf cnf;\n\tstruct ipv6_devstat stats;\n\tstruct timer_list rs_timer;\n\t__s32 rs_interval;\n\t__u8 rs_probes;\n\tlong unsigned int tstamp;\n\tstruct callback_head rcu;\n\tunsigned int ra_mtu;\n};\n\nstruct inet6_ifaddr {\n\tstruct in6_addr addr;\n\t__u32 prefix_len;\n\t__u32 rt_priority;\n\t__u32 valid_lft;\n\t__u32 prefered_lft;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tint state;\n\t__u32 flags;\n\t__u8 dad_probes;\n\t__u8 stable_privacy_retry;\n\t__u16 scope;\n\t__u64 dad_nonce;\n\tlong unsigned int cstamp;\n\tlong unsigned int tstamp;\n\tstruct delayed_work dad_work;\n\tstruct inet6_dev *idev;\n\tstruct fib6_info *rt;\n\tstruct hlist_node addr_lst;\n\tstruct list_head if_list;\n\tstruct list_head if_list_aux;\n\tstruct list_head tmp_list;\n\tstruct inet6_ifaddr *ifpub;\n\tint regen_count;\n\tbool tokenized;\n\tu8 ifa_proto;\n\tstruct callback_head rcu;\n\tstruct in6_addr peer_addr;\n};\n\nstruct inet6_skb_parm;\n\nstruct inet6_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n\tunsigned int flags;\n\tu32 secret;\n};\n\nstruct inet6_skb_parm {\n\tint iif;\n\t__be16 ra;\n\t__u16 dst0;\n\t__u16 srcrt;\n\t__u16 dst1;\n\t__u16 lastopt;\n\t__u16 nhoff;\n\t__u16 flags;\n\t__u16 frag_max_size;\n\t__u16 srhoff;\n};\n\nstruct inet_bind2_bucket {\n\tpossible_net_t ib_net;\n\tint l3mdev;\n\tshort unsigned int port;\n\tshort unsigned int addr_type;\n\tstruct in6_addr v6_rcv_saddr;\n\tstruct hlist_node node;\n\tstruct hlist_node bhash_node;\n\tstruct hlist_head owners;\n};\n\nstruct inet_bind_bucket {\n\tpossible_net_t ib_net;\n\tint l3mdev;\n\tshort unsigned int port;\n\tsigned char fastreuse;\n\tsigned char fastreuseport;\n\tkuid_t fastuid;\n\tstruct in6_addr fast_v6_rcv_saddr;\n\t__be32 fast_rcv_saddr;\n\tshort unsigned int fast_sk_family;\n\tbool fast_ipv6_only;\n\tstruct hlist_node node;\n\tstruct hlist_head bhash2;\n};\n\nstruct inet_bind_hashbucket {\n\tspinlock_t lock;\n\tstruct hlist_head chain;\n};\n\nstruct inet_cork {\n\tunsigned int flags;\n\t__be32 addr;\n\tstruct ip_options *opt;\n\tunsigned int fragsize;\n\tint length;\n\tstruct dst_entry *dst;\n\tu8 tx_flags;\n\t__u8 ttl;\n\t__s16 tos;\n\tu32 priority;\n\t__u16 gso_size;\n\tu32 ts_opt_id;\n\tu64 transmit_time;\n\tu32 mark;\n};\n\nstruct inet_cork_full {\n\tstruct inet_cork base;\n\tstruct flowi fl;\n};\n\nstruct ipv6_pinfo;\n\nstruct ip_mc_socklist;\n\nstruct inet_sock {\n\tstruct sock sk;\n\tstruct ipv6_pinfo *pinet6;\n\tlong unsigned int inet_flags;\n\t__be32 inet_saddr;\n\t__s16 uc_ttl;\n\t__be16 inet_sport;\n\tstruct ip_options_rcu *inet_opt;\n\tatomic_t inet_id;\n\t__u8 tos;\n\t__u8 min_ttl;\n\t__u8 mc_ttl;\n\t__u8 pmtudisc;\n\t__u8 rcv_tos;\n\t__u8 convert_csum;\n\tint uc_index;\n\tint mc_index;\n\t__be32 mc_addr;\n\tu32 local_port_range;\n\tstruct ip_mc_socklist *mc_list;\n\tstruct inet_cork_full cork;\n};\n\nstruct request_sock_queue {\n\tspinlock_t rskq_lock;\n\tu8 rskq_defer_accept;\n\tu32 synflood_warned;\n\tatomic_t qlen;\n\tatomic_t young;\n\tstruct request_sock *rskq_accept_head;\n\tstruct request_sock *rskq_accept_tail;\n\tstruct fastopen_queue fastopenq;\n};\n\nstruct inet_connection_sock_af_ops;\n\nstruct tcp_ulp_ops;\n\nstruct inet_connection_sock {\n\tstruct inet_sock icsk_inet;\n\tstruct request_sock_queue icsk_accept_queue;\n\tstruct inet_bind_bucket *icsk_bind_hash;\n\tstruct inet_bind2_bucket *icsk_bind2_hash;\n\tlong unsigned int icsk_timeout;\n\tstruct timer_list icsk_retransmit_timer;\n\tstruct timer_list icsk_delack_timer;\n\t__u32 icsk_rto;\n\t__u32 icsk_rto_min;\n\t__u32 icsk_delack_max;\n\t__u32 icsk_pmtu_cookie;\n\tconst struct tcp_congestion_ops *icsk_ca_ops;\n\tconst struct inet_connection_sock_af_ops *icsk_af_ops;\n\tconst struct tcp_ulp_ops *icsk_ulp_ops;\n\tvoid *icsk_ulp_data;\n\tvoid (*icsk_clean_acked)(struct sock *, u32);\n\tunsigned int (*icsk_sync_mss)(struct sock *, u32);\n\t__u8 icsk_ca_state: 5;\n\t__u8 icsk_ca_initialized: 1;\n\t__u8 icsk_ca_setsockopt: 1;\n\t__u8 icsk_ca_dst_locked: 1;\n\t__u8 icsk_retransmits;\n\t__u8 icsk_pending;\n\t__u8 icsk_backoff;\n\t__u8 icsk_syn_retries;\n\t__u8 icsk_probes_out;\n\t__u16 icsk_ext_hdr_len;\n\tstruct {\n\t\t__u8 pending;\n\t\t__u8 quick;\n\t\t__u8 pingpong;\n\t\t__u8 retry;\n\t\t__u32 ato: 8;\n\t\t__u32 lrcv_flowlabel: 20;\n\t\t__u32 unused: 4;\n\t\tlong unsigned int timeout;\n\t\t__u32 lrcvtime;\n\t\t__u16 last_seg_size;\n\t\t__u16 rcv_mss;\n\t} icsk_ack;\n\tstruct {\n\t\tint search_high;\n\t\tint search_low;\n\t\tu32 probe_size: 31;\n\t\tu32 enabled: 1;\n\t\tu32 probe_timestamp;\n\t} icsk_mtup;\n\tu32 icsk_probes_tstamp;\n\tu32 icsk_user_timeout;\n\tu64 icsk_ca_priv[13];\n};\n\nstruct inet_connection_sock_af_ops {\n\tint (*queue_xmit)(struct sock *, struct sk_buff *, struct flowi *);\n\tvoid (*send_check)(struct sock *, struct sk_buff *);\n\tint (*rebuild_header)(struct sock *);\n\tvoid (*sk_rx_dst_set)(struct sock *, const struct sk_buff *);\n\tint (*conn_request)(struct sock *, struct sk_buff *);\n\tstruct sock * (*syn_recv_sock)(const struct sock *, struct sk_buff *, struct request_sock *, struct dst_entry *, struct request_sock *, bool *);\n\tu16 net_header_len;\n\tu16 sockaddr_len;\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*addr2sockaddr)(struct sock *, struct sockaddr *);\n\tvoid (*mtu_reduced)(struct sock *);\n};\n\nstruct inet_diag_bc_op {\n\tunsigned char code;\n\tunsigned char yes;\n\tshort unsigned int no;\n};\n\nstruct inet_diag_dump_data {\n\tstruct nlattr *req_nlas[4];\n\tstruct bpf_sk_storage_diag *bpf_stg_diag;\n};\n\nstruct inet_diag_entry {\n\tconst __be32 *saddr;\n\tconst __be32 *daddr;\n\tu16 sport;\n\tu16 dport;\n\tu16 family;\n\tu16 userlocks;\n\tu32 ifindex;\n\tu32 mark;\n\tu64 cgroup_id;\n};\n\nstruct inet_diag_req_v2;\n\nstruct inet_diag_msg;\n\nstruct inet_diag_handler {\n\tstruct module *owner;\n\tvoid (*dump)(struct sk_buff *, struct netlink_callback *, const struct inet_diag_req_v2 *);\n\tint (*dump_one)(struct netlink_callback *, const struct inet_diag_req_v2 *);\n\tvoid (*idiag_get_info)(struct sock *, struct inet_diag_msg *, void *);\n\tint (*idiag_get_aux)(struct sock *, bool, struct sk_buff *);\n\tsize_t (*idiag_get_aux_size)(struct sock *, bool);\n\tint (*destroy)(struct sk_buff *, const struct inet_diag_req_v2 *);\n\t__u16 idiag_type;\n\t__u16 idiag_info_size;\n};\n\nstruct inet_diag_hostcond {\n\t__u8 family;\n\t__u8 prefix_len;\n\tint port;\n\t__be32 addr[0];\n};\n\nstruct inet_diag_markcond {\n\t__u32 mark;\n\t__u32 mask;\n};\n\nstruct inet_diag_meminfo {\n\t__u32 idiag_rmem;\n\t__u32 idiag_wmem;\n\t__u32 idiag_fmem;\n\t__u32 idiag_tmem;\n};\n\nstruct inet_diag_sockid {\n\t__be16 idiag_sport;\n\t__be16 idiag_dport;\n\t__be32 idiag_src[4];\n\t__be32 idiag_dst[4];\n\t__u32 idiag_if;\n\t__u32 idiag_cookie[2];\n};\n\nstruct inet_diag_msg {\n\t__u8 idiag_family;\n\t__u8 idiag_state;\n\t__u8 idiag_timer;\n\t__u8 idiag_retrans;\n\tstruct inet_diag_sockid id;\n\t__u32 idiag_expires;\n\t__u32 idiag_rqueue;\n\t__u32 idiag_wqueue;\n\t__u32 idiag_uid;\n\t__u32 idiag_inode;\n};\n\nstruct inet_diag_req {\n\t__u8 idiag_family;\n\t__u8 idiag_src_len;\n\t__u8 idiag_dst_len;\n\t__u8 idiag_ext;\n\tstruct inet_diag_sockid id;\n\t__u32 idiag_states;\n\t__u32 idiag_dbs;\n};\n\nstruct inet_diag_req_v2 {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n\t__u8 idiag_ext;\n\t__u8 pad;\n\t__u32 idiag_states;\n\tstruct inet_diag_sockid id;\n};\n\nstruct inet_diag_sockopt {\n\t__u8 recverr: 1;\n\t__u8 is_icsk: 1;\n\t__u8 freebind: 1;\n\t__u8 hdrincl: 1;\n\t__u8 mc_loop: 1;\n\t__u8 transparent: 1;\n\t__u8 mc_all: 1;\n\t__u8 nodefrag: 1;\n\t__u8 bind_address_no_port: 1;\n\t__u8 recverr_rfc4884: 1;\n\t__u8 defer_connect: 1;\n\t__u8 unused: 5;\n};\n\nstruct inet_ehash_bucket {\n\tstruct hlist_nulls_head chain;\n};\n\nstruct inet_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint event;\n\tunsigned int flags;\n\tint netnsid;\n\tint ifindex;\n};\n\nstruct inet_frag_queue {\n\tstruct rhash_head node;\n\tunion {\n\t\tstruct frag_v4_compare_key v4;\n\t\tstruct frag_v6_compare_key v6;\n\t} key;\n\tstruct timer_list timer;\n\tspinlock_t lock;\n\trefcount_t refcnt;\n\tstruct rb_root rb_fragments;\n\tstruct sk_buff *fragments_tail;\n\tstruct sk_buff *last_run_head;\n\tktime_t stamp;\n\tint len;\n\tint meat;\n\tu8 tstamp_type;\n\t__u8 flags;\n\tu16 max_size;\n\tstruct fqdir *fqdir;\n\tstruct callback_head rcu;\n};\n\nstruct inet_frags {\n\tunsigned int qsize;\n\tvoid (*constructor)(struct inet_frag_queue *, const void *);\n\tvoid (*destructor)(struct inet_frag_queue *);\n\tvoid (*frag_expire)(struct timer_list *);\n\tstruct kmem_cache *frags_cachep;\n\tconst char *frags_cache_name;\n\tstruct rhashtable_params rhash_params;\n\trefcount_t refcnt;\n\tstruct completion completion;\n};\n\nstruct inet_listen_hashbucket;\n\nstruct inet_hashinfo {\n\tstruct inet_ehash_bucket *ehash;\n\tspinlock_t *ehash_locks;\n\tunsigned int ehash_mask;\n\tunsigned int ehash_locks_mask;\n\tstruct kmem_cache *bind_bucket_cachep;\n\tstruct inet_bind_hashbucket *bhash;\n\tstruct kmem_cache *bind2_bucket_cachep;\n\tstruct inet_bind_hashbucket *bhash2;\n\tunsigned int bhash_size;\n\tunsigned int lhash2_mask;\n\tstruct inet_listen_hashbucket *lhash2;\n\tbool pernet;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inet_listen_hashbucket {\n\tspinlock_t lock;\n\tstruct hlist_nulls_head nulls_head;\n};\n\nstruct ipv4_addr_key {\n\t__be32 addr;\n\tint vif;\n};\n\nstruct inetpeer_addr {\n\tunion {\n\t\tstruct ipv4_addr_key a4;\n\t\tstruct in6_addr a6;\n\t\tu32 key[4];\n\t};\n\t__u16 family;\n};\n\nstruct inet_peer {\n\tstruct rb_node rb_node;\n\tstruct inetpeer_addr daddr;\n\tu32 metrics[17];\n\tu32 rate_tokens;\n\tu32 n_redirects;\n\tlong unsigned int rate_last;\n\tunion {\n\t\tstruct {\n\t\t\tatomic_t rid;\n\t\t};\n\t\tstruct callback_head rcu;\n\t};\n\t__u32 dtime;\n\trefcount_t refcnt;\n};\n\nstruct proto_ops;\n\nstruct inet_protosw {\n\tstruct list_head list;\n\tshort unsigned int type;\n\tshort unsigned int protocol;\n\tstruct proto *prot;\n\tconst struct proto_ops *ops;\n\tunsigned char flags;\n};\n\nstruct request_sock_ops;\n\nstruct saved_syn;\n\nstruct request_sock {\n\tstruct sock_common __req_common;\n\tstruct request_sock *dl_next;\n\tu16 mss;\n\tu8 num_retrans;\n\tu8 syncookie: 1;\n\tu8 num_timeout: 7;\n\tu32 ts_recent;\n\tstruct timer_list rsk_timer;\n\tconst struct request_sock_ops *rsk_ops;\n\tstruct sock *sk;\n\tstruct saved_syn *saved_syn;\n\tu32 secid;\n\tu32 peer_secid;\n\tu32 timeout;\n};\n\nstruct inet_request_sock {\n\tstruct request_sock req;\n\tu16 snd_wscale: 4;\n\tu16 rcv_wscale: 4;\n\tu16 tstamp_ok: 1;\n\tu16 sack_ok: 1;\n\tu16 wscale_ok: 1;\n\tu16 ecn_ok: 1;\n\tu16 acked: 1;\n\tu16 no_srccheck: 1;\n\tu16 smc_ok: 1;\n\tu32 ir_mark;\n\tunion {\n\t\tstruct ip_options_rcu *ireq_opt;\n\t\tstruct {\n\t\t\tstruct ipv6_txoptions *ipv6_opt;\n\t\t\tstruct sk_buff *pktopts;\n\t\t};\n\t};\n};\n\nstruct inet_skb_parm {\n\tint iif;\n\tstruct ip_options opt;\n\tu16 flags;\n\tu16 frag_max_size;\n};\n\nstruct inet_timewait_death_row {\n\trefcount_t tw_refcount;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct inet_hashinfo *hashinfo;\n\tint sysctl_max_tw_buckets;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inet_timewait_sock {\n\tstruct sock_common __tw_common;\n\t__u32 tw_mark;\n\tunsigned char tw_substate;\n\tunsigned char tw_rcv_wscale;\n\t__be16 tw_sport;\n\tunsigned int tw_transparent: 1;\n\tunsigned int tw_flowlabel: 20;\n\tunsigned int tw_usec_ts: 1;\n\tunsigned int tw_pad: 2;\n\tunsigned int tw_tos: 8;\n\tu32 tw_txhash;\n\tu32 tw_priority;\n\tu32 tw_entry_stamp;\n\tstruct timer_list tw_timer;\n\tstruct inet_bind_bucket *tw_tb;\n\tstruct inet_bind2_bucket *tw_tb2;\n};\n\nstruct inflate_state {\n\tinflate_mode mode;\n\tint last;\n\tint wrap;\n\tint havedict;\n\tint flags;\n\tunsigned int dmax;\n\tlong unsigned int check;\n\tlong unsigned int total;\n\tunsigned int wbits;\n\tunsigned int wsize;\n\tunsigned int whave;\n\tunsigned int write;\n\tunsigned char *window;\n\tlong unsigned int hold;\n\tunsigned int bits;\n\tunsigned int length;\n\tunsigned int offset;\n\tunsigned int extra;\n\tconst code *lencode;\n\tconst code *distcode;\n\tunsigned int lenbits;\n\tunsigned int distbits;\n\tunsigned int ncode;\n\tunsigned int nlen;\n\tunsigned int ndist;\n\tunsigned int have;\n\tcode *next;\n\tshort unsigned int lens[320];\n\tshort unsigned int work[288];\n\tcode codes[2048];\n};\n\nstruct inflate_workspace {\n\tstruct inflate_state inflate_state;\n\tunsigned char working_window[32768];\n};\n\nstruct init_data {\n\tunsigned int dmem_len;\n\tunsigned int imem_len;\n\tunsigned int chksum;\n\tbool is_big_endian;\n};\n\nstruct mnt_idmap;\n\nstruct kstat;\n\nstruct offset_ctx;\n\nstruct inode_operations {\n\tstruct dentry * (*lookup)(struct inode *, struct dentry *, unsigned int);\n\tconst char * (*get_link)(struct dentry *, struct inode *, struct delayed_call *);\n\tint (*permission)(struct mnt_idmap *, struct inode *, int);\n\tstruct posix_acl * (*get_inode_acl)(struct inode *, int, bool);\n\tint (*readlink)(struct dentry *, char *, int);\n\tint (*create)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, bool);\n\tint (*link)(struct dentry *, struct inode *, struct dentry *);\n\tint (*unlink)(struct inode *, struct dentry *);\n\tint (*symlink)(struct mnt_idmap *, struct inode *, struct dentry *, const char *);\n\tint (*mkdir)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t);\n\tint (*rmdir)(struct inode *, struct dentry *);\n\tint (*mknod)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, dev_t);\n\tint (*rename)(struct mnt_idmap *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int);\n\tint (*setattr)(struct mnt_idmap *, struct dentry *, struct iattr *);\n\tint (*getattr)(struct mnt_idmap *, const struct path *, struct kstat *, u32, unsigned int);\n\tssize_t (*listxattr)(struct dentry *, char *, size_t);\n\tint (*fiemap)(struct inode *, struct fiemap_extent_info *, u64, u64);\n\tint (*update_time)(struct inode *, int);\n\tint (*atomic_open)(struct inode *, struct dentry *, struct file *, unsigned int, umode_t);\n\tint (*tmpfile)(struct mnt_idmap *, struct inode *, struct file *, umode_t);\n\tstruct posix_acl * (*get_acl)(struct mnt_idmap *, struct dentry *, int);\n\tint (*set_acl)(struct mnt_idmap *, struct dentry *, struct posix_acl *, int);\n\tint (*fileattr_set)(struct mnt_idmap *, struct dentry *, struct fileattr *);\n\tint (*fileattr_get)(struct dentry *, struct fileattr *);\n\tstruct offset_ctx * (*get_offset_ctx)(struct inode *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inode_switch_wbs_context {\n\tstruct rcu_work work;\n\tstruct bdi_writeback *new_wb;\n\tstruct inode *inodes[0];\n};\n\nstruct inodes_stat_t {\n\tlong int nr_inodes;\n\tlong int nr_unused;\n\tlong int dummy[5];\n};\n\nstruct inotify_event {\n\t__s32 wd;\n\t__u32 mask;\n\t__u32 cookie;\n\t__u32 len;\n\tchar name[0];\n};\n\nstruct inotify_event_info {\n\tstruct fsnotify_event fse;\n\tu32 mask;\n\tint wd;\n\tu32 sync_cookie;\n\tint name_len;\n\tchar name[0];\n};\n\nstruct inotify_inode_mark {\n\tstruct fsnotify_mark fsn_mark;\n\tint wd;\n};\n\nstruct input_absinfo {\n\t__s32 value;\n\t__s32 minimum;\n\t__s32 maximum;\n\t__s32 fuzz;\n\t__s32 flat;\n\t__s32 resolution;\n};\n\nstruct input_id {\n\t__u16 bustype;\n\t__u16 vendor;\n\t__u16 product;\n\t__u16 version;\n};\n\nstruct input_dev_poller;\n\nstruct input_mt;\n\nstruct input_dev {\n\tconst char *name;\n\tconst char *phys;\n\tconst char *uniq;\n\tstruct input_id id;\n\tlong unsigned int propbit[1];\n\tlong unsigned int evbit[1];\n\tlong unsigned int keybit[12];\n\tlong unsigned int relbit[1];\n\tlong unsigned int absbit[1];\n\tlong unsigned int mscbit[1];\n\tlong unsigned int ledbit[1];\n\tlong unsigned int sndbit[1];\n\tlong unsigned int ffbit[2];\n\tlong unsigned int swbit[1];\n\tunsigned int hint_events_per_packet;\n\tunsigned int keycodemax;\n\tunsigned int keycodesize;\n\tvoid *keycode;\n\tint (*setkeycode)(struct input_dev *, const struct input_keymap_entry *, unsigned int *);\n\tint (*getkeycode)(struct input_dev *, struct input_keymap_entry *);\n\tstruct ff_device *ff;\n\tstruct input_dev_poller *poller;\n\tunsigned int repeat_key;\n\tstruct timer_list timer;\n\tint rep[2];\n\tstruct input_mt *mt;\n\tstruct input_absinfo *absinfo;\n\tlong unsigned int key[12];\n\tlong unsigned int led[1];\n\tlong unsigned int snd[1];\n\tlong unsigned int sw[1];\n\tint (*open)(struct input_dev *);\n\tvoid (*close)(struct input_dev *);\n\tint (*flush)(struct input_dev *, struct file *);\n\tint (*event)(struct input_dev *, unsigned int, unsigned int, int);\n\tstruct input_handle *grab;\n\tspinlock_t event_lock;\n\tstruct mutex mutex;\n\tunsigned int users;\n\tbool going_away;\n\tstruct device dev;\n\tstruct list_head h_list;\n\tstruct list_head node;\n\tunsigned int num_vals;\n\tunsigned int max_vals;\n\tstruct input_value *vals;\n\tbool devres_managed;\n\tktime_t timestamp[3];\n\tbool inhibited;\n};\n\nstruct input_dev_poller {\n\tvoid (*poll)(struct input_dev *);\n\tunsigned int poll_interval;\n\tunsigned int poll_interval_max;\n\tunsigned int poll_interval_min;\n\tstruct input_dev *input;\n\tstruct delayed_work work;\n};\n\nstruct input_device_id {\n\tkernel_ulong_t flags;\n\t__u16 bustype;\n\t__u16 vendor;\n\t__u16 product;\n\t__u16 version;\n\tkernel_ulong_t evbit[1];\n\tkernel_ulong_t keybit[12];\n\tkernel_ulong_t relbit[1];\n\tkernel_ulong_t absbit[1];\n\tkernel_ulong_t mscbit[1];\n\tkernel_ulong_t ledbit[1];\n\tkernel_ulong_t sndbit[1];\n\tkernel_ulong_t ffbit[2];\n\tkernel_ulong_t swbit[1];\n\tkernel_ulong_t propbit[1];\n\tkernel_ulong_t driver_info;\n};\n\nstruct input_devres {\n\tstruct input_dev *input;\n};\n\nstruct input_event_compat {\n\tcompat_ulong_t sec;\n\tcompat_ulong_t usec;\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct input_handler {\n\tvoid *private;\n\tvoid (*event)(struct input_handle *, unsigned int, unsigned int, int);\n\tunsigned int (*events)(struct input_handle *, struct input_value *, unsigned int);\n\tbool (*filter)(struct input_handle *, unsigned int, unsigned int, int);\n\tbool (*match)(struct input_handler *, struct input_dev *);\n\tint (*connect)(struct input_handler *, struct input_dev *, const struct input_device_id *);\n\tvoid (*disconnect)(struct input_handle *);\n\tvoid (*start)(struct input_handle *);\n\tbool passive_observer;\n\tbool legacy_minors;\n\tint minor;\n\tconst char *name;\n\tconst struct input_device_id *id_table;\n\tstruct list_head h_list;\n\tstruct list_head node;\n};\n\nstruct input_led {\n\tstruct led_classdev cdev;\n\tstruct input_handle *handle;\n\tunsigned int code;\n};\n\nstruct input_leds {\n\tstruct input_handle handle;\n\tunsigned int num_leds;\n\tstruct input_led leds[0];\n};\n\nstruct input_mask {\n\t__u32 type;\n\t__u32 codes_size;\n\t__u64 codes_ptr;\n};\n\nstruct input_mt_slot {\n\tint abs[14];\n\tunsigned int frame;\n\tunsigned int key;\n};\n\nstruct input_mt {\n\tint trkid;\n\tint num_slots;\n\tint slot;\n\tunsigned int flags;\n\tunsigned int frame;\n\tint *red;\n\tstruct input_mt_slot slots[0];\n};\n\nstruct input_seq_state {\n\tshort unsigned int pos;\n\tbool mutex_acquired;\n\tint input_devices_state;\n};\n\nstruct input_value {\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct instance_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct edac_device_instance *, char *);\n\tssize_t (*store)(struct edac_device_instance *, const char *, size_t);\n};\n\nstruct instance_attribute___2 {\n\tstruct attribute attr;\n\tssize_t (*show)(struct edac_pci_ctl_info *, char *);\n\tssize_t (*store)(struct edac_pci_ctl_info *, const char *, size_t);\n};\n\nstruct intel_host {\n\tu32 dsm_fns;\n\tu32 hs_caps;\n};\n\nstruct intent_pair {\n\t__le32 size;\n\t__le32 iid;\n};\n\nstruct internal_container {\n\tstruct klist_node node;\n\tstruct attribute_container *cont;\n\tstruct device classdev;\n};\n\nstruct internal_state {\n\tint dummy;\n};\n\nstruct interval {\n\tuint32_t first;\n\tuint32_t last;\n};\n\nstruct intmux_irqchip_data {\n\tu32 saved_reg;\n\tint chanidx;\n\tint irq;\n\tstruct irq_domain *domain;\n};\n\nstruct intmux_data {\n\traw_spinlock_t lock;\n\tvoid *regs;\n\tstruct clk *ipg_clk;\n\tint channum;\n\tstruct intmux_irqchip_data irqchip_data[0];\n};\n\nstruct io_accept {\n\tstruct file *file;\n\tstruct sockaddr *addr;\n\tint *addr_len;\n\tint flags;\n\tint iou_flags;\n\tu32 file_slot;\n\tlong unsigned int nofile;\n};\n\nstruct io_alloc_cache {\n\tvoid **entries;\n\tunsigned int nr_cached;\n\tunsigned int max_cached;\n\tunsigned int elem_size;\n\tunsigned int init_clear;\n};\n\nstruct ubuf_info;\n\nstruct msghdr {\n\tvoid *msg_name;\n\tint msg_namelen;\n\tint msg_inq;\n\tstruct iov_iter msg_iter;\n\tunion {\n\t\tvoid *msg_control;\n\t\tvoid *msg_control_user;\n\t};\n\tbool msg_control_is_user: 1;\n\tbool msg_get_inq: 1;\n\tunsigned int msg_flags;\n\t__kernel_size_t msg_controllen;\n\tstruct kiocb *msg_iocb;\n\tstruct ubuf_info *msg_ubuf;\n\tint (*sg_from_iter)(struct sk_buff *, struct iov_iter *, size_t);\n};\n\nstruct io_async_msghdr {\n\tstruct iovec *free_iov;\n\tint free_iov_nr;\n\tunion {\n\t\tstruct {\n\t\t\tint namelen;\n\t\t\tstruct iovec fast_iov;\n\t\t\t__kernel_size_t controllen;\n\t\t\t__kernel_size_t payloadlen;\n\t\t\tstruct sockaddr *uaddr;\n\t\t\tstruct msghdr msg;\n\t\t\tstruct __kernel_sockaddr_storage addr;\n\t\t};\n\t\tstruct {\n\t\t\tint namelen;\n\t\t\tstruct iovec fast_iov;\n\t\t\t__kernel_size_t controllen;\n\t\t\t__kernel_size_t payloadlen;\n\t\t\tstruct sockaddr *uaddr;\n\t\t\tstruct msghdr msg;\n\t\t\tstruct __kernel_sockaddr_storage addr;\n\t\t} clear;\n\t};\n};\n\nstruct iov_iter_state {\n\tsize_t iov_offset;\n\tsize_t count;\n\tlong unsigned int nr_segs;\n};\n\nstruct wait_page_queue {\n\tstruct folio *folio;\n\tint bit_nr;\n\twait_queue_entry_t wait;\n};\n\nstruct uio_meta {\n\tuio_meta_flags_t flags;\n\tu16 app_tag;\n\tu64 seed;\n\tstruct iov_iter iter;\n};\n\nstruct io_meta_state {\n\tu32 seed;\n\tstruct iov_iter_state iter_meta;\n};\n\nstruct io_async_rw {\n\tsize_t bytes_done;\n\tstruct iovec *free_iovec;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iov_iter iter;\n\t\t\tstruct iov_iter_state iter_state;\n\t\t\tstruct iovec fast_iov;\n\t\t\tint free_iov_nr;\n\t\t\tunion {\n\t\t\t\tstruct wait_page_queue wpq;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct uio_meta meta;\n\t\t\t\t\tstruct io_meta_state meta_state;\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\tstruct {\n\t\t\tstruct iov_iter iter;\n\t\t\tstruct iov_iter_state iter_state;\n\t\t\tstruct iovec fast_iov;\n\t\t\tint free_iov_nr;\n\t\t\tunion {\n\t\t\t\tstruct wait_page_queue wpq;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct uio_meta meta;\n\t\t\t\t\tstruct io_meta_state meta_state;\n\t\t\t\t};\n\t\t\t};\n\t\t} clear;\n\t};\n};\n\nstruct io_bind {\n\tstruct file *file;\n\tint addr_len;\n};\n\nstruct io_buffer {\n\tstruct list_head list;\n\t__u64 addr;\n\t__u32 len;\n\t__u16 bid;\n\t__u16 bgid;\n};\n\nstruct io_mapped_region {\n\tstruct page **pages;\n\tvoid *ptr;\n\tunsigned int nr_pages;\n\tunsigned int flags;\n};\n\nstruct io_uring_buf_ring;\n\nstruct io_buffer_list {\n\tunion {\n\t\tstruct list_head buf_list;\n\t\tstruct io_uring_buf_ring *buf_ring;\n\t};\n\t__u16 bgid;\n\t__u16 buf_nr_pages;\n\t__u16 nr_entries;\n\t__u16 head;\n\t__u16 mask;\n\t__u16 flags;\n\tstruct io_mapped_region region;\n};\n\nstruct io_cancel {\n\tstruct file *file;\n\tu64 addr;\n\tu32 flags;\n\ts32 fd;\n\tu8 opcode;\n};\n\nstruct io_ring_ctx;\n\nstruct io_cancel_data {\n\tstruct io_ring_ctx *ctx;\n\tunion {\n\t\tu64 data;\n\t\tstruct file *file;\n\t};\n\tu8 opcode;\n\tu32 flags;\n\tint seq;\n};\n\nstruct io_wq_work;\n\ntypedef bool work_cancel_fn(struct io_wq_work *, void *);\n\nstruct io_cb_cancel_data {\n\twork_cancel_fn *fn;\n\tvoid *data;\n\tint nr_running;\n\tint nr_pending;\n\tbool cancel_all;\n};\n\nstruct io_close {\n\tstruct file *file;\n\tint fd;\n\tu32 file_slot;\n};\n\nstruct io_cmd_data {\n\tstruct file *file;\n\t__u8 data[56];\n};\n\nstruct io_kiocb;\n\nstruct io_cold_def {\n\tconst char *name;\n\tvoid (*cleanup)(struct io_kiocb *);\n\tvoid (*fail)(struct io_kiocb *);\n};\n\nstruct io_comp_batch {\n\tstruct rq_list req_list;\n\tbool need_ts;\n\tvoid (*complete)(struct io_comp_batch *);\n};\n\nstruct io_connect {\n\tstruct file *file;\n\tstruct sockaddr *addr;\n\tint addr_len;\n\tbool in_progress;\n\tbool seen_econnaborted;\n};\n\nstruct io_context {\n\tatomic_long_t refcount;\n\tatomic_t active_ref;\n\tshort unsigned int ioprio;\n\tspinlock_t lock;\n\tstruct xarray icq_tree;\n\tstruct io_cq *icq_hint;\n\tstruct hlist_head icq_list;\n\tstruct work_struct release_work;\n};\n\nstruct io_cqe {\n\t__u64 user_data;\n\t__s32 res;\n\tunion {\n\t\t__u32 flags;\n\t\tint fd;\n\t};\n};\n\nstruct io_cqring_offsets {\n\t__u32 head;\n\t__u32 tail;\n\t__u32 ring_mask;\n\t__u32 ring_entries;\n\t__u32 overflow;\n\t__u32 cqes;\n\t__u32 flags;\n\t__u32 resv1;\n\t__u64 user_addr;\n};\n\nstruct io_defer_entry {\n\tstruct list_head list;\n\tstruct io_kiocb *req;\n\tu32 seq;\n};\n\nstruct io_epoll {\n\tstruct file *file;\n\tint epfd;\n\tint op;\n\tint fd;\n\tstruct epoll_event event;\n};\n\nstruct io_ev_fd {\n\tstruct eventfd_ctx *cq_ev_fd;\n\tunsigned int eventfd_async;\n\tunsigned int last_cq_tail;\n\trefcount_t refs;\n\tatomic_t ops;\n\tstruct callback_head rcu;\n};\n\nstruct io_fadvise {\n\tstruct file *file;\n\tu64 offset;\n\tu64 len;\n\tu32 advice;\n};\n\nstruct io_rsrc_node;\n\nstruct io_rsrc_data {\n\tunsigned int nr;\n\tstruct io_rsrc_node **nodes;\n};\n\nstruct io_file_table {\n\tstruct io_rsrc_data data;\n\tlong unsigned int *bitmap;\n\tunsigned int alloc_hint;\n};\n\nstruct io_fixed_install {\n\tstruct file *file;\n\tunsigned int o_flags;\n};\n\nstruct io_ftrunc {\n\tstruct file *file;\n\tloff_t len;\n};\n\nstruct io_futex {\n\tstruct file *file;\n\tunion {\n\t\tu32 *uaddr;\n\t\tstruct futex_waitv *uwaitv;\n\t};\n\tlong unsigned int futex_val;\n\tlong unsigned int futex_mask;\n\tlong unsigned int futexv_owned;\n\tu32 futex_flags;\n\tunsigned int futex_nr;\n\tbool futexv_unqueued;\n};\n\nstruct io_futex_data {\n\tstruct futex_q q;\n\tstruct io_kiocb *req;\n};\n\nstruct io_hash_bucket {\n\tstruct hlist_head list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct io_hash_table {\n\tstruct io_hash_bucket *hbs;\n\tunsigned int hash_bits;\n};\n\nstruct io_imu_folio_data {\n\tunsigned int nr_pages_head;\n\tunsigned int nr_pages_mid;\n\tunsigned int folio_shift;\n\tunsigned int nr_folios;\n};\n\nstruct io_uring_sqe;\n\nstruct io_issue_def {\n\tunsigned int needs_file: 1;\n\tunsigned int plug: 1;\n\tunsigned int hash_reg_file: 1;\n\tunsigned int unbound_nonreg_file: 1;\n\tunsigned int pollin: 1;\n\tunsigned int pollout: 1;\n\tunsigned int poll_exclusive: 1;\n\tunsigned int buffer_select: 1;\n\tunsigned int audit_skip: 1;\n\tunsigned int ioprio: 1;\n\tunsigned int iopoll: 1;\n\tunsigned int iopoll_queue: 1;\n\tunsigned int vectored: 1;\n\tshort unsigned int async_size;\n\tint (*issue)(struct io_kiocb *, unsigned int);\n\tint (*prep)(struct io_kiocb *, const struct io_uring_sqe *);\n};\n\nstruct io_wq_work_node {\n\tstruct io_wq_work_node *next;\n};\n\nstruct io_tw_state;\n\ntypedef void (*io_req_tw_func_t)(struct io_kiocb *, struct io_tw_state *);\n\nstruct io_task_work {\n\tstruct llist_node node;\n\tio_req_tw_func_t func;\n};\n\nstruct io_wq_work {\n\tstruct io_wq_work_node list;\n\tatomic_t flags;\n\tint cancel_seq;\n};\n\nstruct io_uring_task;\n\nstruct io_kiocb {\n\tunion {\n\t\tstruct file *file;\n\t\tstruct io_cmd_data cmd;\n\t};\n\tu8 opcode;\n\tu8 iopoll_completed;\n\tu16 buf_index;\n\tunsigned int nr_tw;\n\tio_req_flags_t flags;\n\tstruct io_cqe cqe;\n\tstruct io_ring_ctx *ctx;\n\tstruct io_uring_task *tctx;\n\tunion {\n\t\tstruct io_buffer *kbuf;\n\t\tstruct io_buffer_list *buf_list;\n\t\tstruct io_rsrc_node *buf_node;\n\t};\n\tunion {\n\t\tstruct io_wq_work_node comp_list;\n\t\t__poll_t apoll_events;\n\t};\n\tstruct io_rsrc_node *file_node;\n\tatomic_t refs;\n\tbool cancel_seq_set;\n\tstruct io_task_work io_task_work;\n\tunion {\n\t\tstruct hlist_node hash_node;\n\t\tu64 iopoll_start;\n\t};\n\tstruct async_poll *apoll;\n\tvoid *async_data;\n\tatomic_t poll_refs;\n\tstruct io_kiocb *link;\n\tconst struct cred *creds;\n\tstruct io_wq_work work;\n\tstruct {\n\t\tu64 extra1;\n\t\tu64 extra2;\n\t} big_cqe;\n};\n\nstruct io_link {\n\tstruct file *file;\n\tint old_dfd;\n\tint new_dfd;\n\tstruct filename *oldpath;\n\tstruct filename *newpath;\n\tint flags;\n};\n\nstruct io_listen {\n\tstruct file *file;\n\tint backlog;\n};\n\nstruct io_madvise {\n\tstruct file *file;\n\tu64 addr;\n\tu64 len;\n\tu32 advice;\n};\n\nstruct io_mapped_ubuf {\n\tu64 ubuf;\n\tunsigned int len;\n\tunsigned int nr_bvecs;\n\tunsigned int folio_shift;\n\trefcount_t refs;\n\tlong unsigned int acct_pages;\n\tstruct bio_vec bvec[0];\n};\n\nstruct io_mkdir {\n\tstruct file *file;\n\tint dfd;\n\tumode_t mode;\n\tstruct filename *filename;\n};\n\nstruct io_msg {\n\tstruct file *file;\n\tstruct file *src_file;\n\tstruct callback_head tw;\n\tu64 user_data;\n\tu32 len;\n\tu32 cmd;\n\tu32 src_fd;\n\tunion {\n\t\tu32 dst_fd;\n\t\tu32 cqe_flags;\n\t};\n\tu32 flags;\n};\n\nstruct io_napi_entry {\n\tunsigned int napi_id;\n\tstruct list_head list;\n\tlong unsigned int timeout;\n\tstruct hlist_node node;\n\tstruct callback_head rcu;\n};\n\nstruct io_nop {\n\tstruct file *file;\n\tint result;\n\tint fd;\n\tint buffer;\n\tunsigned int flags;\n};\n\nstruct ubuf_info_ops;\n\nstruct ubuf_info {\n\tconst struct ubuf_info_ops *ops;\n\trefcount_t refcnt;\n\tu8 flags;\n};\n\nstruct io_notif_data {\n\tstruct file *file;\n\tstruct ubuf_info uarg;\n\tstruct io_notif_data *next;\n\tstruct io_notif_data *head;\n\tunsigned int account_pages;\n\tbool zc_report;\n\tbool zc_used;\n\tbool zc_copied;\n};\n\nstruct io_open {\n\tstruct file *file;\n\tint dfd;\n\tu32 file_slot;\n\tstruct filename *filename;\n\tstruct open_how how;\n\tlong unsigned int nofile;\n};\n\nstruct io_uring_cqe {\n\t__u64 user_data;\n\t__s32 res;\n\t__u32 flags;\n\t__u64 big_cqe[0];\n};\n\nstruct io_overflow_cqe {\n\tstruct list_head list;\n\tstruct io_uring_cqe cqe;\n};\n\nstruct io_pgtable_init_fns {\n\tstruct io_pgtable * (*alloc)(struct io_pgtable_cfg *, void *);\n\tvoid (*free)(struct io_pgtable *);\n\tu32 caps;\n};\n\nstruct io_pgtable_walk_data {\n\tstruct io_pgtable *iop;\n\tvoid *data;\n\tint (*visit)(struct io_pgtable_walk_data *, int, arm_lpae_iopte *, size_t);\n\tlong unsigned int flags;\n\tu64 addr;\n\tconst u64 end;\n};\n\nstruct io_poll_table {\n\tstruct poll_table_struct pt;\n\tstruct io_kiocb *req;\n\tint nr_entries;\n\tint error;\n\tbool owning;\n\t__poll_t result_mask;\n};\n\nstruct io_poll_update {\n\tstruct file *file;\n\tu64 old_user_data;\n\tu64 new_user_data;\n\t__poll_t events;\n\tbool update_events;\n\tbool update_user_data;\n};\n\nstruct io_provide_buf {\n\tstruct file *file;\n\t__u64 addr;\n\t__u32 len;\n\t__u32 bgid;\n\t__u32 nbufs;\n\t__u16 bid;\n};\n\nstruct io_uring_recvmsg_out {\n\t__u32 namelen;\n\t__u32 controllen;\n\t__u32 payloadlen;\n\t__u32 flags;\n};\n\nstruct io_recvmsg_multishot_hdr {\n\tstruct io_uring_recvmsg_out msg;\n\tstruct __kernel_sockaddr_storage addr;\n};\n\nstruct io_rename {\n\tstruct file *file;\n\tint old_dfd;\n\tint new_dfd;\n\tstruct filename *oldpath;\n\tstruct filename *newpath;\n\tint flags;\n};\n\nstruct io_restriction {\n\tlong unsigned int register_op[1];\n\tlong unsigned int sqe_op[1];\n\tu8 sqe_flags_allowed;\n\tu8 sqe_flags_required;\n\tbool registered;\n};\n\nstruct io_wq_work_list {\n\tstruct io_wq_work_node *first;\n\tstruct io_wq_work_node *last;\n};\n\nstruct io_submit_link {\n\tstruct io_kiocb *head;\n\tstruct io_kiocb *last;\n};\n\nstruct io_submit_state {\n\tstruct io_wq_work_node free_list;\n\tstruct io_wq_work_list compl_reqs;\n\tstruct io_submit_link link;\n\tbool plug_started;\n\tbool need_plug;\n\tbool cq_flush;\n\tshort unsigned int submit_nr;\n\tstruct blk_plug plug;\n};\n\nstruct io_rings;\n\nstruct io_sq_data;\n\nstruct io_wq_hash;\n\nstruct io_ring_ctx {\n\tstruct {\n\t\tunsigned int flags;\n\t\tunsigned int drain_next: 1;\n\t\tunsigned int restricted: 1;\n\t\tunsigned int off_timeout_used: 1;\n\t\tunsigned int drain_active: 1;\n\t\tunsigned int has_evfd: 1;\n\t\tunsigned int task_complete: 1;\n\t\tunsigned int lockless_cq: 1;\n\t\tunsigned int syscall_iopoll: 1;\n\t\tunsigned int poll_activated: 1;\n\t\tunsigned int drain_disabled: 1;\n\t\tunsigned int compat: 1;\n\t\tunsigned int iowq_limits_set: 1;\n\t\tstruct task_struct *submitter_task;\n\t\tstruct io_rings *rings;\n\t\tstruct percpu_ref refs;\n\t\tclockid_t clockid;\n\t\tenum tk_offsets clock_offset;\n\t\tenum task_work_notify_mode notify_method;\n\t\tunsigned int sq_thread_idle;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct mutex uring_lock;\n\t\tu32 *sq_array;\n\t\tstruct io_uring_sqe *sq_sqes;\n\t\tunsigned int cached_sq_head;\n\t\tunsigned int sq_entries;\n\t\tatomic_t cancel_seq;\n\t\tbool poll_multi_queue;\n\t\tstruct io_wq_work_list iopoll_list;\n\t\tstruct io_file_table file_table;\n\t\tstruct io_rsrc_data buf_table;\n\t\tstruct io_submit_state submit_state;\n\t\tstruct xarray io_bl_xa;\n\t\tstruct io_hash_table cancel_table;\n\t\tstruct io_alloc_cache apoll_cache;\n\t\tstruct io_alloc_cache netmsg_cache;\n\t\tstruct io_alloc_cache rw_cache;\n\t\tstruct io_alloc_cache uring_cache;\n\t\tstruct hlist_head cancelable_uring_cmd;\n\t\tu64 hybrid_poll_time;\n\t};\n\tstruct {\n\t\tstruct io_uring_cqe *cqe_cached;\n\t\tstruct io_uring_cqe *cqe_sentinel;\n\t\tunsigned int cached_cq_tail;\n\t\tunsigned int cq_entries;\n\t\tstruct io_ev_fd *io_ev_fd;\n\t\tunsigned int cq_extra;\n\t\tvoid *cq_wait_arg;\n\t\tsize_t cq_wait_size;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct llist_head work_llist;\n\t\tstruct llist_head retry_llist;\n\t\tlong unsigned int check_cq;\n\t\tatomic_t cq_wait_nr;\n\t\tatomic_t cq_timeouts;\n\t\tstruct wait_queue_head cq_wait;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\traw_spinlock_t timeout_lock;\n\t\tstruct list_head timeout_list;\n\t\tstruct list_head ltimeout_list;\n\t\tunsigned int cq_last_tm_flush;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tspinlock_t completion_lock;\n\tstruct list_head io_buffers_comp;\n\tstruct list_head cq_overflow_list;\n\tstruct hlist_head waitid_list;\n\tstruct hlist_head futex_list;\n\tstruct io_alloc_cache futex_cache;\n\tconst struct cred *sq_creds;\n\tstruct io_sq_data *sq_data;\n\tstruct wait_queue_head sqo_sq_wait;\n\tstruct list_head sqd_list;\n\tunsigned int file_alloc_start;\n\tunsigned int file_alloc_end;\n\tstruct list_head io_buffers_cache;\n\tstruct wait_queue_head poll_wq;\n\tstruct io_restriction restrictions;\n\tu32 pers_next;\n\tstruct xarray personalities;\n\tstruct io_wq_hash *hash_map;\n\tstruct user_struct *user;\n\tstruct mm_struct *mm_account;\n\tstruct llist_head fallback_llist;\n\tstruct delayed_work fallback_work;\n\tstruct work_struct exit_work;\n\tstruct list_head tctx_list;\n\tstruct completion ref_comp;\n\tu32 iowq_limits[2];\n\tstruct callback_head poll_wq_task_work;\n\tstruct list_head defer_list;\n\tstruct io_alloc_cache msg_cache;\n\tspinlock_t msg_lock;\n\tstruct list_head napi_list;\n\tspinlock_t napi_lock;\n\tktime_t napi_busy_poll_dt;\n\tbool napi_prefer_busy_poll;\n\tu8 napi_track_mode;\n\tstruct hlist_head napi_ht[16];\n\tunsigned int evfd_last_cq_tail;\n\tstruct mutex mmap_lock;\n\tstruct io_mapped_region sq_region;\n\tstruct io_mapped_region ring_region;\n\tstruct io_mapped_region param_region;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct io_ring_ctx_rings {\n\tstruct io_rings *rings;\n\tstruct io_uring_sqe *sq_sqes;\n\tstruct io_mapped_region sq_region;\n\tstruct io_mapped_region ring_region;\n};\n\nstruct io_uring {\n\tu32 head;\n\tu32 tail;\n};\n\nstruct io_rings {\n\tstruct io_uring sq;\n\tstruct io_uring cq;\n\tu32 sq_ring_mask;\n\tu32 cq_ring_mask;\n\tu32 sq_ring_entries;\n\tu32 cq_ring_entries;\n\tu32 sq_dropped;\n\tatomic_t sq_flags;\n\tu32 cq_flags;\n\tu32 cq_overflow;\n\tlong: 64;\n\tlong: 64;\n\tstruct io_uring_cqe cqes[0];\n};\n\nstruct io_rsrc_node {\n\tunsigned char type;\n\tint refs;\n\tu64 tag;\n\tunion {\n\t\tlong unsigned int file_ptr;\n\t\tstruct io_mapped_ubuf *buf;\n\t};\n};\n\nstruct io_rsrc_update {\n\tstruct file *file;\n\tu64 arg;\n\tu32 nr_args;\n\tu32 offset;\n};\n\nstruct io_rw {\n\tstruct kiocb kiocb;\n\tu64 addr;\n\tu32 len;\n\trwf_t flags;\n};\n\nstruct io_shutdown {\n\tstruct file *file;\n\tint how;\n};\n\nstruct io_socket {\n\tstruct file *file;\n\tint domain;\n\tint type;\n\tint protocol;\n\tint flags;\n\tu32 file_slot;\n\tlong unsigned int nofile;\n};\n\nstruct io_splice {\n\tstruct file *file_out;\n\tloff_t off_out;\n\tloff_t off_in;\n\tu64 len;\n\tint splice_fd_in;\n\tunsigned int flags;\n\tstruct io_rsrc_node *rsrc_node;\n};\n\nstruct io_sq_data {\n\trefcount_t refs;\n\tatomic_t park_pending;\n\tstruct mutex lock;\n\tstruct list_head ctx_list;\n\tstruct task_struct *thread;\n\tstruct wait_queue_head wait;\n\tunsigned int sq_thread_idle;\n\tint sq_cpu;\n\tpid_t task_pid;\n\tpid_t task_tgid;\n\tu64 work_time;\n\tlong unsigned int state;\n\tstruct completion exited;\n};\n\nstruct io_sqring_offsets {\n\t__u32 head;\n\t__u32 tail;\n\t__u32 ring_mask;\n\t__u32 ring_entries;\n\t__u32 flags;\n\t__u32 dropped;\n\t__u32 array;\n\t__u32 resv1;\n\t__u64 user_addr;\n};\n\nstruct user_msghdr;\n\nstruct io_sr_msg {\n\tstruct file *file;\n\tunion {\n\t\tstruct compat_msghdr *umsg_compat;\n\t\tstruct user_msghdr *umsg;\n\t\tvoid *buf;\n\t};\n\tint len;\n\tunsigned int done_io;\n\tunsigned int msg_flags;\n\tunsigned int nr_multishot_loops;\n\tu16 flags;\n\tu16 buf_group;\n\tu16 buf_index;\n\tvoid *msg_control;\n\tstruct io_kiocb *notif;\n};\n\nstruct statx;\n\nstruct io_statx {\n\tstruct file *file;\n\tint dfd;\n\tunsigned int mask;\n\tunsigned int flags;\n\tstruct filename *filename;\n\tstruct statx *buffer;\n};\n\nstruct io_sync {\n\tstruct file *file;\n\tloff_t len;\n\tloff_t off;\n\tint flags;\n\tint mode;\n};\n\nstruct io_task_cancel {\n\tstruct io_uring_task *tctx;\n\tbool all;\n};\n\nstruct io_tctx_exit {\n\tstruct callback_head task_work;\n\tstruct completion completion;\n\tstruct io_ring_ctx *ctx;\n};\n\nstruct io_tctx_node {\n\tstruct list_head ctx_node;\n\tstruct task_struct *task;\n\tstruct io_ring_ctx *ctx;\n};\n\nstruct io_timeout {\n\tstruct file *file;\n\tu32 off;\n\tu32 target_seq;\n\tu32 repeats;\n\tstruct list_head list;\n\tstruct io_kiocb *head;\n\tstruct io_kiocb *prev;\n};\n\nstruct io_timeout_data {\n\tstruct io_kiocb *req;\n\tstruct hrtimer timer;\n\tstruct timespec64 ts;\n\tenum hrtimer_mode mode;\n\tu32 flags;\n};\n\nstruct io_timeout_rem {\n\tstruct file *file;\n\tu64 addr;\n\tstruct timespec64 ts;\n\tu32 flags;\n\tbool ltimeout;\n};\n\nstruct io_tlb_area {\n\tlong unsigned int used;\n\tunsigned int index;\n\tspinlock_t lock;\n};\n\nstruct io_tlb_slot;\n\nstruct io_tlb_pool {\n\tphys_addr_t start;\n\tphys_addr_t end;\n\tvoid *vaddr;\n\tlong unsigned int nslabs;\n\tbool late_alloc;\n\tunsigned int nareas;\n\tunsigned int area_nslabs;\n\tstruct io_tlb_area *areas;\n\tstruct io_tlb_slot *slots;\n};\n\nstruct io_tlb_mem {\n\tstruct io_tlb_pool defpool;\n\tlong unsigned int nslabs;\n\tstruct dentry *debugfs;\n\tbool force_bounce;\n\tbool for_alloc;\n\tatomic_long_t total_used;\n\tatomic_long_t used_hiwater;\n\tatomic_long_t transient_nslabs;\n};\n\nstruct io_tlb_slot {\n\tphys_addr_t orig_addr;\n\tsize_t alloc_size;\n\tshort unsigned int list;\n\tshort unsigned int pad_slots;\n};\n\nstruct io_tw_state {};\n\nstruct io_unlink {\n\tstruct file *file;\n\tint dfd;\n\tint flags;\n\tstruct filename *filename;\n};\n\nstruct io_uring_attr_pi {\n\t__u16 flags;\n\t__u16 app_tag;\n\t__u32 len;\n\t__u64 addr;\n\t__u64 seed;\n\t__u64 rsvd;\n};\n\nstruct io_uring_buf {\n\t__u64 addr;\n\t__u32 len;\n\t__u16 bid;\n\t__u16 resv;\n};\n\nstruct io_uring_buf_reg {\n\t__u64 ring_addr;\n\t__u32 ring_entries;\n\t__u16 bgid;\n\t__u16 flags;\n\t__u64 resv[3];\n};\n\nstruct io_uring_buf_ring {\n\tunion {\n\t\tstruct {\n\t\t\t__u64 resv1;\n\t\t\t__u32 resv2;\n\t\t\t__u16 resv3;\n\t\t\t__u16 tail;\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_bufs;\n\t\t\tstruct io_uring_buf bufs[0];\n\t\t};\n\t};\n};\n\nstruct io_uring_buf_status {\n\t__u32 buf_group;\n\t__u32 head;\n\t__u32 resv[8];\n};\n\nstruct io_uring_clock_register {\n\t__u32 clockid;\n\t__u32 __resv[3];\n};\n\nstruct io_uring_clone_buffers {\n\t__u32 src_fd;\n\t__u32 flags;\n\t__u32 src_off;\n\t__u32 dst_off;\n\t__u32 nr;\n\t__u32 pad[3];\n};\n\nstruct io_uring_cmd {\n\tstruct file *file;\n\tconst struct io_uring_sqe *sqe;\n\tvoid (*task_work_cb)(struct io_uring_cmd *, unsigned int);\n\tu32 cmd_op;\n\tu32 flags;\n\tu8 pdu[32];\n};\n\nstruct io_uring_sqe {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 ioprio;\n\t__s32 fd;\n\tunion {\n\t\t__u64 off;\n\t\t__u64 addr2;\n\t\tstruct {\n\t\t\t__u32 cmd_op;\n\t\t\t__u32 __pad1;\n\t\t};\n\t};\n\tunion {\n\t\t__u64 addr;\n\t\t__u64 splice_off_in;\n\t\tstruct {\n\t\t\t__u32 level;\n\t\t\t__u32 optname;\n\t\t};\n\t};\n\t__u32 len;\n\tunion {\n\t\t__kernel_rwf_t rw_flags;\n\t\t__u32 fsync_flags;\n\t\t__u16 poll_events;\n\t\t__u32 poll32_events;\n\t\t__u32 sync_range_flags;\n\t\t__u32 msg_flags;\n\t\t__u32 timeout_flags;\n\t\t__u32 accept_flags;\n\t\t__u32 cancel_flags;\n\t\t__u32 open_flags;\n\t\t__u32 statx_flags;\n\t\t__u32 fadvise_advice;\n\t\t__u32 splice_flags;\n\t\t__u32 rename_flags;\n\t\t__u32 unlink_flags;\n\t\t__u32 hardlink_flags;\n\t\t__u32 xattr_flags;\n\t\t__u32 msg_ring_flags;\n\t\t__u32 uring_cmd_flags;\n\t\t__u32 waitid_flags;\n\t\t__u32 futex_flags;\n\t\t__u32 install_fd_flags;\n\t\t__u32 nop_flags;\n\t};\n\t__u64 user_data;\n\tunion {\n\t\t__u16 buf_index;\n\t\t__u16 buf_group;\n\t};\n\t__u16 personality;\n\tunion {\n\t\t__s32 splice_fd_in;\n\t\t__u32 file_index;\n\t\t__u32 optlen;\n\t\tstruct {\n\t\t\t__u16 addr_len;\n\t\t\t__u16 __pad3[1];\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__u64 addr3;\n\t\t\t__u64 __pad2[1];\n\t\t};\n\t\tstruct {\n\t\t\t__u64 attr_ptr;\n\t\t\t__u64 attr_type_mask;\n\t\t};\n\t\t__u64 optval;\n\t\t__u8 cmd[0];\n\t};\n};\n\nstruct io_uring_cmd_data {\n\tvoid *op_data;\n\tstruct io_uring_sqe sqes[2];\n};\n\nstruct io_uring_file_index_range {\n\t__u32 off;\n\t__u32 len;\n\t__u64 resv;\n};\n\nstruct io_uring_getevents_arg {\n\t__u64 sigmask;\n\t__u32 sigmask_sz;\n\t__u32 min_wait_usec;\n\t__u64 ts;\n};\n\nstruct io_uring_mem_region_reg {\n\t__u64 region_uptr;\n\t__u64 flags;\n\t__u64 __resv[2];\n};\n\nstruct io_uring_napi {\n\t__u32 busy_poll_to;\n\t__u8 prefer_busy_poll;\n\t__u8 opcode;\n\t__u8 pad[2];\n\t__u32 op_param;\n\t__u32 resv;\n};\n\nstruct io_uring_params {\n\t__u32 sq_entries;\n\t__u32 cq_entries;\n\t__u32 flags;\n\t__u32 sq_thread_cpu;\n\t__u32 sq_thread_idle;\n\t__u32 features;\n\t__u32 wq_fd;\n\t__u32 resv[3];\n\tstruct io_sqring_offsets sq_off;\n\tstruct io_cqring_offsets cq_off;\n};\n\nstruct io_uring_probe_op {\n\t__u8 op;\n\t__u8 resv;\n\t__u16 flags;\n\t__u32 resv2;\n};\n\nstruct io_uring_probe {\n\t__u8 last_op;\n\t__u8 ops_len;\n\t__u16 resv;\n\t__u32 resv2[3];\n\tstruct io_uring_probe_op ops[0];\n};\n\nstruct io_uring_reg_wait {\n\tstruct __kernel_timespec ts;\n\t__u32 min_wait_usec;\n\t__u32 flags;\n\t__u64 sigmask;\n\t__u32 sigmask_sz;\n\t__u32 pad[3];\n\t__u64 pad2[2];\n};\n\nstruct io_uring_region_desc {\n\t__u64 user_addr;\n\t__u64 size;\n\t__u32 flags;\n\t__u32 id;\n\t__u64 mmap_offset;\n\t__u64 __resv[4];\n};\n\nstruct io_uring_restriction {\n\t__u16 opcode;\n\tunion {\n\t\t__u8 register_op;\n\t\t__u8 sqe_op;\n\t\t__u8 sqe_flags;\n\t};\n\t__u8 resv;\n\t__u32 resv2[3];\n};\n\nstruct io_uring_rsrc_register {\n\t__u32 nr;\n\t__u32 flags;\n\t__u64 resv2;\n\t__u64 data;\n\t__u64 tags;\n};\n\nstruct io_uring_rsrc_update {\n\t__u32 offset;\n\t__u32 resv;\n\t__u64 data;\n};\n\nstruct io_uring_rsrc_update2 {\n\t__u32 offset;\n\t__u32 resv;\n\t__u64 data;\n\t__u64 tags;\n\t__u32 nr;\n\t__u32 resv2;\n};\n\nstruct io_uring_sync_cancel_reg {\n\t__u64 addr;\n\t__s32 fd;\n\t__u32 flags;\n\tstruct __kernel_timespec timeout;\n\t__u8 opcode;\n\t__u8 pad[7];\n\t__u64 pad2[3];\n};\n\nstruct io_wq;\n\nstruct io_uring_task {\n\tint cached_refs;\n\tconst struct io_ring_ctx *last;\n\tstruct task_struct *task;\n\tstruct io_wq *io_wq;\n\tstruct file *registered_rings[16];\n\tstruct xarray xa;\n\tstruct wait_queue_head wait;\n\tatomic_t in_cancel;\n\tatomic_t inflight_tracked;\n\tstruct percpu_counter inflight;\n\tlong: 64;\n\tstruct {\n\t\tstruct llist_head task_list;\n\t\tstruct callback_head task_work;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n};\n\nstruct io_wait_queue {\n\tstruct wait_queue_entry wq;\n\tstruct io_ring_ctx *ctx;\n\tunsigned int cq_tail;\n\tunsigned int cq_min_tail;\n\tunsigned int nr_timeouts;\n\tint hit_timeout;\n\tktime_t min_timeout;\n\tktime_t timeout;\n\tstruct hrtimer t;\n\tktime_t napi_busy_poll_dt;\n\tbool napi_prefer_busy_poll;\n};\n\nstruct waitid_info {\n\tpid_t pid;\n\tuid_t uid;\n\tint status;\n\tint cause;\n};\n\nstruct io_waitid {\n\tstruct file *file;\n\tint which;\n\tpid_t upid;\n\tint options;\n\tatomic_t refs;\n\tstruct wait_queue_head *head;\n\tstruct siginfo *infop;\n\tstruct waitid_info info;\n};\n\nstruct rusage;\n\nstruct wait_opts {\n\tenum pid_type wo_type;\n\tint wo_flags;\n\tstruct pid *wo_pid;\n\tstruct waitid_info *wo_info;\n\tint wo_stat;\n\tstruct rusage *wo_rusage;\n\twait_queue_entry_t child_wait;\n\tint notask_error;\n};\n\nstruct io_waitid_async {\n\tstruct io_kiocb *req;\n\tstruct wait_opts wo;\n};\n\nstruct io_worker {\n\trefcount_t ref;\n\tint create_index;\n\tlong unsigned int flags;\n\tstruct hlist_nulls_node nulls_node;\n\tstruct list_head all_list;\n\tstruct task_struct *task;\n\tstruct io_wq *wq;\n\tstruct io_wq_work *cur_work;\n\traw_spinlock_t lock;\n\tstruct completion ref_done;\n\tlong unsigned int create_state;\n\tstruct callback_head create_work;\n\tint init_retries;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct delayed_work work;\n\t};\n};\n\ntypedef struct io_wq_work *free_work_fn(struct io_wq_work *);\n\ntypedef void io_wq_work_fn(struct io_wq_work *);\n\nstruct io_wq_acct {\n\tunsigned int nr_workers;\n\tunsigned int max_workers;\n\tint index;\n\tatomic_t nr_running;\n\traw_spinlock_t lock;\n\tstruct io_wq_work_list work_list;\n\tlong unsigned int flags;\n};\n\nstruct io_wq {\n\tlong unsigned int state;\n\tfree_work_fn *free_work;\n\tio_wq_work_fn *do_work;\n\tstruct io_wq_hash *hash;\n\tatomic_t worker_refs;\n\tstruct completion worker_done;\n\tstruct hlist_node cpuhp_node;\n\tstruct task_struct *task;\n\tstruct io_wq_acct acct[2];\n\traw_spinlock_t lock;\n\tstruct hlist_nulls_head free_list;\n\tstruct list_head all_list;\n\tstruct wait_queue_entry wait;\n\tstruct io_wq_work *hash_tail[64];\n\tcpumask_var_t cpu_mask;\n};\n\nstruct io_wq_data {\n\tstruct io_wq_hash *hash;\n\tstruct task_struct *task;\n\tio_wq_work_fn *do_work;\n\tfree_work_fn *free_work;\n};\n\nstruct io_wq_hash {\n\trefcount_t refs;\n\tlong unsigned int map;\n\tstruct wait_queue_head wait;\n};\n\nstruct xattr_name;\n\nstruct kernel_xattr_ctx {\n\tunion {\n\t\tconst void *cvalue;\n\t\tvoid *value;\n\t};\n\tvoid *kvalue;\n\tsize_t size;\n\tstruct xattr_name *kname;\n\tunsigned int flags;\n};\n\nstruct io_xattr {\n\tstruct file *file;\n\tstruct kernel_xattr_ctx ctx;\n\tstruct filename *filename;\n};\n\nstruct iocb {\n\t__u64 aio_data;\n\t__u32 aio_key;\n\t__kernel_rwf_t aio_rw_flags;\n\t__u16 aio_lio_opcode;\n\t__s16 aio_reqprio;\n\t__u32 aio_fildes;\n\t__u64 aio_buf;\n\t__u64 aio_nbytes;\n\t__s64 aio_offset;\n\t__u64 aio_reserved2;\n\t__u32 aio_flags;\n\t__u32 aio_resfd;\n};\n\nstruct ioctl_evtchn_bind {\n\tunsigned int port;\n};\n\nstruct ioctl_evtchn_bind_interdomain {\n\tunsigned int remote_domain;\n\tunsigned int remote_port;\n};\n\nstruct ioctl_evtchn_bind_unbound_port {\n\tunsigned int remote_domain;\n};\n\nstruct ioctl_evtchn_bind_virq {\n\tunsigned int virq;\n};\n\nstruct ioctl_evtchn_notify {\n\tunsigned int port;\n};\n\nstruct ioctl_evtchn_restrict_domid {\n\tdomid_t domid;\n};\n\nstruct ioctl_evtchn_unbind {\n\tunsigned int port;\n};\n\nstruct ioctl_gntalloc_alloc_gref {\n\t__u16 domid;\n\t__u16 flags;\n\t__u32 count;\n\t__u64 index;\n\tunion {\n\t\t__u32 gref_ids[1];\n\t\tstruct {\n\t\t\tstruct {} __empty_gref_ids_flex;\n\t\t\t__u32 gref_ids_flex[0];\n\t\t};\n\t};\n};\n\nstruct ioctl_gntalloc_dealloc_gref {\n\t__u64 index;\n\t__u32 count;\n};\n\nstruct ioctl_gntalloc_unmap_notify {\n\t__u64 index;\n\t__u32 action;\n\t__u32 event_channel_port;\n};\n\nstruct ioctl_gntdev_get_offset_for_vaddr {\n\t__u64 vaddr;\n\t__u64 offset;\n\t__u32 count;\n\t__u32 pad;\n};\n\nstruct ioctl_gntdev_grant_copy {\n\tunsigned int count;\n\tstruct gntdev_grant_copy_segment *segments;\n};\n\nstruct ioctl_gntdev_grant_ref {\n\t__u32 domid;\n\t__u32 ref;\n};\n\nstruct ioctl_gntdev_map_grant_ref {\n\t__u32 count;\n\t__u32 pad;\n\t__u64 index;\n\tstruct ioctl_gntdev_grant_ref refs[1];\n};\n\nstruct ioctl_gntdev_unmap_grant_ref {\n\t__u64 index;\n\t__u32 count;\n\t__u32 pad;\n};\n\nstruct ioctl_gntdev_unmap_notify {\n\t__u64 index;\n\t__u32 action;\n\t__u32 event_channel_port;\n};\n\nstruct iomap_folio_ops;\n\nstruct iomap {\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tstruct block_device *bdev;\n\tstruct dax_device *dax_dev;\n\tvoid *inline_data;\n\tvoid *private;\n\tconst struct iomap_folio_ops *folio_ops;\n\tu64 validity_cookie;\n};\n\nstruct iomap_dio_ops;\n\nstruct iomap_dio {\n\tstruct kiocb *iocb;\n\tconst struct iomap_dio_ops *dops;\n\tloff_t i_size;\n\tloff_t size;\n\tatomic_t ref;\n\tunsigned int flags;\n\tint error;\n\tsize_t done_before;\n\tbool wait_for_completion;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iov_iter *iter;\n\t\t\tstruct task_struct *waiter;\n\t\t} submit;\n\t\tstruct {\n\t\t\tstruct work_struct work;\n\t\t} aio;\n\t};\n};\n\nstruct iomap_iter;\n\nstruct iomap_dio_ops {\n\tint (*end_io)(struct kiocb *, ssize_t, int, unsigned int);\n\tvoid (*submit_io)(const struct iomap_iter *, struct bio *, loff_t);\n\tstruct bio_set *bio_set;\n};\n\nstruct iomap_folio_ops {\n\tstruct folio * (*get_folio)(struct iomap_iter *, loff_t, unsigned int);\n\tvoid (*put_folio)(struct inode *, loff_t, unsigned int, struct folio *);\n\tbool (*iomap_valid)(struct inode *, const struct iomap *);\n};\n\nstruct iomap_folio_state {\n\tspinlock_t state_lock;\n\tunsigned int read_bytes_pending;\n\tatomic_t write_bytes_pending;\n\tlong unsigned int state[0];\n};\n\nstruct iomap_ioend {\n\tstruct list_head io_list;\n\tu16 io_type;\n\tu16 io_flags;\n\tstruct inode *io_inode;\n\tsize_t io_size;\n\tloff_t io_offset;\n\tsector_t io_sector;\n\tstruct bio io_bio;\n};\n\nstruct iomap_iter {\n\tstruct inode *inode;\n\tloff_t pos;\n\tu64 len;\n\ts64 processed;\n\tunsigned int flags;\n\tstruct iomap iomap;\n\tstruct iomap srcmap;\n\tvoid *private;\n};\n\nstruct iomap_ops {\n\tint (*iomap_begin)(struct inode *, loff_t, loff_t, unsigned int, struct iomap *, struct iomap *);\n\tint (*iomap_end)(struct inode *, loff_t, loff_t, ssize_t, unsigned int, struct iomap *);\n};\n\nstruct iomap_readpage_ctx {\n\tstruct folio *cur_folio;\n\tbool cur_folio_in_bio;\n\tstruct bio *bio;\n\tstruct readahead_control *rac;\n};\n\nstruct iomap_swapfile_info {\n\tstruct iomap iomap;\n\tstruct swap_info_struct *sis;\n\tuint64_t lowest_ppage;\n\tuint64_t highest_ppage;\n\tlong unsigned int nr_pages;\n\tint nr_extents;\n\tstruct file *file;\n};\n\nstruct iomap_writepage_ctx;\n\nstruct iomap_writeback_ops {\n\tint (*map_blocks)(struct iomap_writepage_ctx *, struct inode *, loff_t, unsigned int);\n\tint (*prepare_ioend)(struct iomap_ioend *, int);\n\tvoid (*discard_folio)(struct folio *, loff_t);\n};\n\nstruct iomap_writepage_ctx {\n\tstruct iomap iomap;\n\tstruct iomap_ioend *ioend;\n\tconst struct iomap_writeback_ops *ops;\n\tu32 nr_folios;\n};\n\nstruct iommu_attach_handle {\n\tstruct iommu_domain *domain;\n};\n\nstruct iova_bitmap;\n\nstruct iommu_dirty_bitmap {\n\tstruct iova_bitmap *bitmap;\n\tstruct iommu_iotlb_gather *gather;\n};\n\nstruct iommu_dirty_ops {\n\tint (*set_dirty_tracking)(struct iommu_domain *, bool);\n\tint (*read_and_clear_dirty)(struct iommu_domain *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *);\n};\n\nstruct iova {\n\tstruct rb_node node;\n\tlong unsigned int pfn_hi;\n\tlong unsigned int pfn_lo;\n};\n\nstruct iova_rcache;\n\nstruct iova_domain {\n\tspinlock_t iova_rbtree_lock;\n\tstruct rb_root rbroot;\n\tstruct rb_node *cached_node;\n\tstruct rb_node *cached32_node;\n\tlong unsigned int granule;\n\tlong unsigned int start_pfn;\n\tlong unsigned int dma_32bit_pfn;\n\tlong unsigned int max32_alloc_size;\n\tstruct iova anchor;\n\tstruct iova_rcache *rcaches;\n\tstruct hlist_node cpuhp_dead;\n};\n\nstruct iommu_dma_options {\n\tenum iommu_dma_queue_type qt;\n\tsize_t fq_size;\n\tunsigned int fq_timeout;\n};\n\nstruct iova_fq;\n\nstruct iommu_dma_cookie {\n\tenum iommu_dma_cookie_type type;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iova_domain iovad;\n\t\t\tunion {\n\t\t\t\tstruct iova_fq *single_fq;\n\t\t\t\tstruct iova_fq *percpu_fq;\n\t\t\t};\n\t\t\tatomic64_t fq_flush_start_cnt;\n\t\t\tatomic64_t fq_flush_finish_cnt;\n\t\t\tstruct timer_list fq_timer;\n\t\t\tatomic_t fq_timer_on;\n\t\t};\n\t\tdma_addr_t msi_iova;\n\t};\n\tstruct list_head msi_page_list;\n\tstruct iommu_domain *fq_domain;\n\tstruct iommu_dma_options options;\n\tstruct mutex mutex;\n};\n\nstruct iommu_dma_msi_page {\n\tstruct list_head list;\n\tdma_addr_t iova;\n\tphys_addr_t phys;\n};\n\nstruct iommu_user_data_array;\n\nstruct iommu_domain_ops {\n\tint (*attach_dev)(struct iommu_domain *, struct device *);\n\tint (*set_dev_pasid)(struct iommu_domain *, struct device *, ioasid_t, struct iommu_domain *);\n\tint (*map_pages)(struct iommu_domain *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *);\n\tsize_t (*unmap_pages)(struct iommu_domain *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *);\n\tvoid (*flush_iotlb_all)(struct iommu_domain *);\n\tint (*iotlb_sync_map)(struct iommu_domain *, long unsigned int, size_t);\n\tvoid (*iotlb_sync)(struct iommu_domain *, struct iommu_iotlb_gather *);\n\tint (*cache_invalidate_user)(struct iommu_domain *, struct iommu_user_data_array *);\n\tphys_addr_t (*iova_to_phys)(struct iommu_domain *, dma_addr_t);\n\tbool (*enforce_cache_coherency)(struct iommu_domain *);\n\tint (*set_pgtable_quirks)(struct iommu_domain *, long unsigned int);\n\tvoid (*free)(struct iommu_domain *);\n};\n\nstruct iommu_fault_page_request {\n\tu32 flags;\n\tu32 pasid;\n\tu32 grpid;\n\tu32 perm;\n\tu64 addr;\n\tu64 private_data[2];\n};\n\nstruct iommu_fault {\n\tu32 type;\n\tstruct iommu_fault_page_request prm;\n};\n\nstruct iommu_fault_param {\n\tstruct mutex lock;\n\trefcount_t users;\n\tstruct callback_head rcu;\n\tstruct device *dev;\n\tstruct iopf_queue *queue;\n\tstruct list_head queue_list;\n\tstruct list_head partial;\n\tstruct list_head faults;\n};\n\nstruct iommu_flush_ops {\n\tvoid (*tlb_flush_all)(void *);\n\tvoid (*tlb_flush_walk)(long unsigned int, size_t, size_t, void *);\n\tvoid (*tlb_add_page)(struct iommu_iotlb_gather *, long unsigned int, size_t, void *);\n};\n\nstruct iommu_fwspec {\n\tstruct fwnode_handle *iommu_fwnode;\n\tu32 flags;\n\tunsigned int num_ids;\n\tu32 ids[0];\n};\n\nstruct iommu_group {\n\tstruct kobject kobj;\n\tstruct kobject *devices_kobj;\n\tstruct list_head devices;\n\tstruct xarray pasid_array;\n\tstruct mutex mutex;\n\tvoid *iommu_data;\n\tvoid (*iommu_data_release)(void *);\n\tchar *name;\n\tint id;\n\tstruct iommu_domain *default_domain;\n\tstruct iommu_domain *blocking_domain;\n\tstruct iommu_domain *domain;\n\tstruct list_head entry;\n\tunsigned int owner_cnt;\n\tvoid *owner;\n};\n\nstruct iommu_group_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct iommu_group *, char *);\n\tssize_t (*store)(struct iommu_group *, const char *, size_t);\n};\n\nstruct iommu_resv_region {\n\tstruct list_head list;\n\tphys_addr_t start;\n\tsize_t length;\n\tint prot;\n\tenum iommu_resv_type type;\n\tvoid (*free)(struct device *, struct iommu_resv_region *);\n};\n\nstruct iommu_iort_rmr_data {\n\tstruct iommu_resv_region rr;\n\tconst u32 *sids;\n\tu32 num_sids;\n};\n\nstruct iommu_iotlb_gather {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tsize_t pgsize;\n\tstruct list_head freelist;\n\tbool queued;\n};\n\nstruct iommu_user_data;\n\nstruct iopf_fault;\n\nstruct iommu_page_response;\n\nstruct iommu_ops {\n\tbool (*capable)(struct device *, enum iommu_cap);\n\tvoid * (*hw_info)(struct device *, u32 *, u32 *);\n\tstruct iommu_domain * (*domain_alloc)(unsigned int);\n\tstruct iommu_domain * (*domain_alloc_paging_flags)(struct device *, u32, const struct iommu_user_data *);\n\tstruct iommu_domain * (*domain_alloc_paging)(struct device *);\n\tstruct iommu_domain * (*domain_alloc_sva)(struct device *, struct mm_struct *);\n\tstruct iommu_domain * (*domain_alloc_nested)(struct device *, struct iommu_domain *, u32, const struct iommu_user_data *);\n\tstruct iommu_device * (*probe_device)(struct device *);\n\tvoid (*release_device)(struct device *);\n\tvoid (*probe_finalize)(struct device *);\n\tstruct iommu_group * (*device_group)(struct device *);\n\tvoid (*get_resv_regions)(struct device *, struct list_head *);\n\tint (*of_xlate)(struct device *, const struct of_phandle_args *);\n\tbool (*is_attach_deferred)(struct device *);\n\tint (*dev_enable_feat)(struct device *, enum iommu_dev_features);\n\tint (*dev_disable_feat)(struct device *, enum iommu_dev_features);\n\tvoid (*page_response)(struct device *, struct iopf_fault *, struct iommu_page_response *);\n\tint (*def_domain_type)(struct device *);\n\tstruct iommufd_viommu * (*viommu_alloc)(struct device *, struct iommu_domain *, struct iommufd_ctx *, unsigned int);\n\tconst struct iommu_domain_ops *default_domain_ops;\n\tlong unsigned int pgsize_bitmap;\n\tstruct module *owner;\n\tstruct iommu_domain *identity_domain;\n\tstruct iommu_domain *blocked_domain;\n\tstruct iommu_domain *release_domain;\n\tstruct iommu_domain *default_domain;\n\tu8 user_pasid_table: 1;\n};\n\nstruct iommu_page_response {\n\tu32 pasid;\n\tu32 grpid;\n\tu32 code;\n};\n\nstruct iommu_user_data {\n\tunsigned int type;\n\tvoid *uptr;\n\tsize_t len;\n};\n\nstruct iommu_user_data_array {\n\tunsigned int type;\n\tvoid *uptr;\n\tsize_t entry_len;\n\tu32 entry_num;\n};\n\nstruct iommufd_viommu_ops {\n\tvoid (*destroy)(struct iommufd_viommu *);\n\tstruct iommu_domain * (*alloc_domain_nested)(struct iommufd_viommu *, u32, const struct iommu_user_data *);\n\tint (*cache_invalidate)(struct iommufd_viommu *, struct iommu_user_data_array *);\n};\n\nstruct iopf_fault {\n\tstruct iommu_fault fault;\n\tstruct list_head list;\n};\n\nstruct iopf_group {\n\tstruct iopf_fault last_fault;\n\tstruct list_head faults;\n\tsize_t fault_count;\n\tstruct list_head pending_node;\n\tstruct work_struct work;\n\tstruct iommu_attach_handle *attach_handle;\n\tstruct iommu_fault_param *fault_param;\n\tstruct list_head node;\n\tu32 cookie;\n};\n\nstruct iopf_queue {\n\tstruct workqueue_struct *wq;\n\tstruct list_head devices;\n\tstruct mutex lock;\n};\n\nstruct iort_dev_config {\n\tconst char *name;\n\tint (*dev_init)(struct acpi_iort_node *);\n\tvoid (*dev_dma_configure)(struct device *, struct acpi_iort_node *);\n\tint (*dev_count_resources)(struct acpi_iort_node *);\n\tvoid (*dev_init_resources)(struct resource *, struct acpi_iort_node *);\n\tint (*dev_set_proximity)(struct device *, struct acpi_iort_node *);\n\tint (*dev_add_platdata)(struct platform_device *);\n};\n\nstruct iort_fwnode {\n\tstruct list_head list;\n\tstruct acpi_iort_node *iort_node;\n\tstruct fwnode_handle *fwnode;\n};\n\nstruct iort_its_msi_chip {\n\tstruct list_head list;\n\tstruct fwnode_handle *fw_node;\n\tphys_addr_t base_addr;\n\tu32 translation_id;\n};\n\nstruct iort_pci_alias_info {\n\tstruct device *dev;\n\tstruct acpi_iort_node *node;\n};\n\nstruct iova_magazine;\n\nstruct iova_cpu_rcache {\n\tspinlock_t lock;\n\tstruct iova_magazine *loaded;\n\tstruct iova_magazine *prev;\n};\n\nstruct iova_fq_entry {\n\tlong unsigned int iova_pfn;\n\tlong unsigned int pages;\n\tstruct list_head freelist;\n\tu64 counter;\n};\n\nstruct iova_fq {\n\tspinlock_t lock;\n\tunsigned int head;\n\tunsigned int tail;\n\tunsigned int mod_mask;\n\tstruct iova_fq_entry entries[0];\n};\n\nstruct iova_magazine {\n\tunion {\n\t\tlong unsigned int size;\n\t\tstruct iova_magazine *next;\n\t};\n\tlong unsigned int pfns[127];\n};\n\nstruct iova_rcache {\n\tspinlock_t lock;\n\tunsigned int depot_size;\n\tstruct iova_magazine *depot;\n\tstruct iova_cpu_rcache *cpu_rcaches;\n\tstruct iova_domain *iovad;\n\tstruct delayed_work work;\n};\n\nstruct iova_to_phys_data {\n\tarm_lpae_iopte pte;\n\tint lvl;\n};\n\nstruct ip6_flowlabel {\n\tstruct ip6_flowlabel *next;\n\t__be32 label;\n\tatomic_t users;\n\tstruct in6_addr dst;\n\tstruct ipv6_txoptions *opt;\n\tlong unsigned int linger;\n\tstruct callback_head rcu;\n\tu8 share;\n\tunion {\n\t\tstruct pid *pid;\n\t\tkuid_t uid;\n\t} owner;\n\tlong unsigned int lastuse;\n\tlong unsigned int expires;\n\tstruct net *fl_net;\n};\n\nstruct ip6_rt_info {\n\tstruct in6_addr daddr;\n\tstruct in6_addr saddr;\n\tu_int32_t mark;\n};\n\nstruct ip6_sf_list {\n\tstruct ip6_sf_list *sf_next;\n\tstruct in6_addr sf_addr;\n\tlong unsigned int sf_count[2];\n\tunsigned char sf_gsresp;\n\tunsigned char sf_oldin;\n\tunsigned char sf_crcount;\n\tstruct callback_head rcu;\n};\n\nstruct ip6_sf_socklist {\n\tunsigned int sl_max;\n\tunsigned int sl_count;\n\tstruct callback_head rcu;\n\tstruct in6_addr sl_addr[0];\n};\n\nstruct ip_tunnel_encap;\n\nstruct ip6_tnl_encap_ops {\n\tsize_t (*encap_hlen)(struct ip_tunnel_encap *);\n\tint (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi6 *);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n};\n\nstruct ip_auth_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__be16 reserved;\n\t__be32 spi;\n\t__be32 seq_no;\n\t__u8 auth_data[0];\n};\n\nstruct ip_conntrack_stat {\n\tunsigned int found;\n\tunsigned int invalid;\n\tunsigned int insert;\n\tunsigned int insert_failed;\n\tunsigned int clash_resolve;\n\tunsigned int drop;\n\tunsigned int early_drop;\n\tunsigned int error;\n\tunsigned int expect_new;\n\tunsigned int expect_create;\n\tunsigned int expect_delete;\n\tunsigned int search_restart;\n\tunsigned int chaintoolong;\n};\n\nstruct ip_ct_sctp {\n\tenum sctp_conntrack state;\n\t__be32 vtag[2];\n\tu8 init[2];\n\tu8 last_dir;\n\tu8 flags;\n};\n\nstruct ip_ct_tcp_state {\n\tu_int32_t td_end;\n\tu_int32_t td_maxend;\n\tu_int32_t td_maxwin;\n\tu_int32_t td_maxack;\n\tu_int8_t td_scale;\n\tu_int8_t flags;\n};\n\nstruct ip_ct_tcp {\n\tstruct ip_ct_tcp_state seen[2];\n\tu_int8_t state;\n\tu_int8_t last_dir;\n\tu_int8_t retrans;\n\tu_int8_t last_index;\n\tu_int32_t last_seq;\n\tu_int32_t last_ack;\n\tu_int32_t last_end;\n\tu_int16_t last_win;\n\tu_int8_t last_wscale;\n\tu_int8_t last_flags;\n};\n\nstruct ip_esp_hdr {\n\t__be32 spi;\n\t__be32 seq_no;\n\t__u8 enc_data[0];\n};\n\nstruct ip_frag_state {\n\tbool DF;\n\tunsigned int hlen;\n\tunsigned int ll_rs;\n\tunsigned int mtu;\n\tunsigned int left;\n\tint offset;\n\tint ptr;\n\t__be16 not_last_frag;\n};\n\nstruct ip_fraglist_iter {\n\tstruct sk_buff *frag;\n\tstruct iphdr *iph;\n\tint offset;\n\tunsigned int hlen;\n};\n\nstruct unix_domain;\n\nstruct ip_map {\n\tstruct cache_head h;\n\tchar m_class[8];\n\tstruct in6_addr m_addr;\n\tstruct unix_domain *m_client;\n\tstruct callback_head m_rcu;\n};\n\nstruct ip_sf_list;\n\nstruct ip_mc_list {\n\tstruct in_device *interface;\n\t__be32 multiaddr;\n\tunsigned int sfmode;\n\tstruct ip_sf_list *sources;\n\tstruct ip_sf_list *tomb;\n\tlong unsigned int sfcount[2];\n\tunion {\n\t\tstruct ip_mc_list *next;\n\t\tstruct ip_mc_list *next_rcu;\n\t};\n\tstruct ip_mc_list *next_hash;\n\tstruct timer_list timer;\n\tint users;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tchar tm_running;\n\tchar reporter;\n\tchar unsolicit_count;\n\tchar loaded;\n\tunsigned char gsquery;\n\tunsigned char crcount;\n\tlong unsigned int mca_cstamp;\n\tlong unsigned int mca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ip_mreqn {\n\tstruct in_addr imr_multiaddr;\n\tstruct in_addr imr_address;\n\tint imr_ifindex;\n};\n\nstruct ip_sf_socklist;\n\nstruct ip_mc_socklist {\n\tstruct ip_mc_socklist *next_rcu;\n\tstruct ip_mreqn multi;\n\tunsigned int sfmode;\n\tstruct ip_sf_socklist *sflist;\n\tstruct callback_head rcu;\n};\n\nstruct ip_mreq_source {\n\t__be32 imr_multiaddr;\n\t__be32 imr_interface;\n\t__be32 imr_sourceaddr;\n};\n\nstruct ip_msfilter {\n\t__be32 imsf_multiaddr;\n\t__be32 imsf_interface;\n\t__u32 imsf_fmode;\n\t__u32 imsf_numsrc;\n\tunion {\n\t\t__be32 imsf_slist[1];\n\t\tstruct {\n\t\t\tstruct {} __empty_imsf_slist_flex;\n\t\t\t__be32 imsf_slist_flex[0];\n\t\t};\n\t};\n};\n\nstruct ip_ra_chain {\n\tstruct ip_ra_chain *next;\n\tstruct sock *sk;\n\tunion {\n\t\tvoid (*destructor)(struct sock *);\n\t\tstruct sock *saved_sk;\n\t};\n\tstruct callback_head rcu;\n};\n\nstruct kvec {\n\tvoid *iov_base;\n\tsize_t iov_len;\n};\n\nstruct ip_reply_arg {\n\tstruct kvec iov[1];\n\tint flags;\n\t__wsum csum;\n\tint csumoffset;\n\tint bound_dev_if;\n\tu8 tos;\n\tkuid_t uid;\n};\n\nstruct ip_rt_info {\n\t__be32 daddr;\n\t__be32 saddr;\n\tu_int8_t tos;\n\tu_int32_t mark;\n};\n\nstruct ip_sf_list {\n\tstruct ip_sf_list *sf_next;\n\tlong unsigned int sf_count[2];\n\t__be32 sf_inaddr;\n\tunsigned char sf_gsresp;\n\tunsigned char sf_oldin;\n\tunsigned char sf_crcount;\n};\n\nstruct ip_sf_socklist {\n\tunsigned int sl_max;\n\tunsigned int sl_count;\n\tstruct callback_head rcu;\n\t__be32 sl_addr[0];\n};\n\nstruct ip_tunnel_encap {\n\tu16 type;\n\tu16 flags;\n\t__be16 sport;\n\t__be16 dport;\n};\n\nstruct ip_tunnel_encap_ops {\n\tsize_t (*encap_hlen)(struct ip_tunnel_encap *);\n\tint (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi4 *);\n\tint (*err_handler)(struct sk_buff *, u32);\n};\n\nstruct ip_tunnel_key {\n\t__be64 tun_id;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 src;\n\t\t\t__be32 dst;\n\t\t} ipv4;\n\t\tstruct {\n\t\t\tstruct in6_addr src;\n\t\t\tstruct in6_addr dst;\n\t\t} ipv6;\n\t} u;\n\tlong unsigned int tun_flags[1];\n\t__be32 label;\n\tu32 nhid;\n\tu8 tos;\n\tu8 ttl;\n\t__be16 tp_src;\n\t__be16 tp_dst;\n\t__u8 flow_flags;\n};\n\nstruct ip_tunnel_info {\n\tstruct ip_tunnel_key key;\n\tstruct ip_tunnel_encap encap;\n\tstruct dst_cache dst_cache;\n\tu8 options_len;\n\tu8 mode;\n};\n\nstruct ip_tunnel_parm_kern {\n\tchar name[16];\n\tlong unsigned int i_flags[1];\n\tlong unsigned int o_flags[1];\n\t__be32 i_key;\n\t__be32 o_key;\n\tint link;\n\tstruct iphdr iph;\n};\n\nstruct ipc64_perm {\n\t__kernel_key_t key;\n\t__kernel_uid32_t uid;\n\t__kernel_gid32_t gid;\n\t__kernel_uid32_t cuid;\n\t__kernel_gid32_t cgid;\n\t__kernel_mode_t mode;\n\tunsigned char __pad1[0];\n\tshort unsigned int seq;\n\tshort unsigned int __pad2;\n\t__kernel_ulong_t __unused1;\n\t__kernel_ulong_t __unused2;\n};\n\nstruct ipc_ids {\n\tint in_use;\n\tshort unsigned int seq;\n\tstruct rw_semaphore rwsem;\n\tstruct idr ipcs_idr;\n\tint max_idx;\n\tint last_idx;\n\tstruct rhashtable key_ht;\n};\n\nstruct ipc_namespace {\n\tstruct ipc_ids ids[3];\n\tint sem_ctls[4];\n\tint used_sems;\n\tunsigned int msg_ctlmax;\n\tunsigned int msg_ctlmnb;\n\tunsigned int msg_ctlmni;\n\tstruct percpu_counter percpu_msg_bytes;\n\tstruct percpu_counter percpu_msg_hdrs;\n\tsize_t shm_ctlmax;\n\tsize_t shm_ctlall;\n\tlong unsigned int shm_tot;\n\tint shm_ctlmni;\n\tint shm_rmid_forced;\n\tstruct notifier_block ipcns_nb;\n\tstruct vfsmount *mq_mnt;\n\tunsigned int mq_queues_count;\n\tunsigned int mq_queues_max;\n\tunsigned int mq_msg_max;\n\tunsigned int mq_msgsize_max;\n\tunsigned int mq_msg_default;\n\tunsigned int mq_msgsize_default;\n\tstruct ctl_table_set mq_set;\n\tstruct ctl_table_header *mq_sysctls;\n\tstruct ctl_table_set ipc_set;\n\tstruct ctl_table_header *ipc_sysctls;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct llist_node mnt_llist;\n\tstruct ns_common ns;\n};\n\nstruct ipc_params;\n\nstruct kern_ipc_perm;\n\nstruct ipc_ops {\n\tint (*getnew)(struct ipc_namespace *, struct ipc_params *);\n\tint (*associate)(struct kern_ipc_perm *, int);\n\tint (*more_checks)(struct kern_ipc_perm *, struct ipc_params *);\n};\n\nstruct ipc_params {\n\tkey_t key;\n\tint flg;\n\tunion {\n\t\tsize_t size;\n\t\tint nsems;\n\t} u;\n};\n\nstruct ipc_perm {\n\t__kernel_key_t key;\n\t__kernel_uid_t uid;\n\t__kernel_gid_t gid;\n\t__kernel_uid_t cuid;\n\t__kernel_gid_t cgid;\n\t__kernel_mode_t mode;\n\tshort unsigned int seq;\n};\n\nstruct ipc_proc_iface {\n\tconst char *path;\n\tconst char *header;\n\tint ids;\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct ipc_proc_iter {\n\tstruct ipc_namespace *ns;\n\tstruct pid_namespace *pid_ns;\n\tstruct ipc_proc_iface *iface;\n};\n\nstruct sockcm_cookie {\n\tu64 transmit_time;\n\tu32 mark;\n\tu32 tsflags;\n\tu32 ts_opt_id;\n\tu32 priority;\n};\n\nstruct ipcm_cookie {\n\tstruct sockcm_cookie sockc;\n\t__be32 addr;\n\tint oif;\n\tstruct ip_options_rcu *opt;\n\t__u8 protocol;\n\t__u8 ttl;\n\t__s16 tos;\n\t__u16 gso_size;\n};\n\nstruct ipfrag_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t};\n\tstruct sk_buff *next_frag;\n\tint frag_run_len;\n\tint ip_defrag_offset;\n};\n\nstruct ipi_mux_cpu {\n\tatomic_t enable;\n\tatomic_t bits;\n};\n\nstruct ipmi_dmi_info {\n\tenum si_type si_type;\n\tunsigned int space;\n\tlong unsigned int addr;\n\tu8 slave_addr;\n\tstruct ipmi_dmi_info *next;\n};\n\nstruct ipmi_plat_data {\n\tenum ipmi_plat_interface_type iftype;\n\tunsigned int type;\n\tunsigned int space;\n\tlong unsigned int addr;\n\tunsigned int regspacing;\n\tunsigned int regsize;\n\tunsigned int regshift;\n\tunsigned int irq;\n\tunsigned int slave_addr;\n\tenum ipmi_addr_src addr_source;\n};\n\nstruct ipq {\n\tstruct inet_frag_queue q;\n\tu8 ecn;\n\tu16 max_df_size;\n\tint iif;\n\tunsigned int rid;\n\tstruct inet_peer *peer;\n};\n\nstruct iproc_arm_pll {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tlong unsigned int rate;\n};\n\nstruct iproc_asiu_clk;\n\nstruct iproc_asiu {\n\tvoid *div_base;\n\tvoid *gate_base;\n\tstruct clk_hw_onecell_data *clk_data;\n\tstruct iproc_asiu_clk *clks;\n};\n\nstruct iproc_asiu_div {\n\tunsigned int offset;\n\tunsigned int en_shift;\n\tunsigned int high_shift;\n\tunsigned int high_width;\n\tunsigned int low_shift;\n\tunsigned int low_width;\n};\n\nstruct iproc_asiu_gate {\n\tunsigned int offset;\n\tunsigned int en_shift;\n};\n\nstruct iproc_asiu_clk {\n\tstruct clk_hw hw;\n\tconst char *name;\n\tstruct iproc_asiu *asiu;\n\tlong unsigned int rate;\n\tstruct iproc_asiu_div div;\n\tstruct iproc_asiu_gate gate;\n};\n\nstruct iproc_pll;\n\nstruct iproc_clk_ctrl;\n\nstruct iproc_clk {\n\tstruct clk_hw hw;\n\tstruct iproc_pll *pll;\n\tconst struct iproc_clk_ctrl *ctrl;\n};\n\nstruct iproc_clk_enable_ctrl {\n\tunsigned int offset;\n\tunsigned int enable_shift;\n\tunsigned int hold_shift;\n\tunsigned int bypass_shift;\n};\n\nstruct iproc_clk_reg_op {\n\tunsigned int offset;\n\tunsigned int shift;\n\tunsigned int width;\n};\n\nstruct iproc_clk_ctrl {\n\tunsigned int channel;\n\tlong unsigned int flags;\n\tstruct iproc_clk_enable_ctrl enable;\n\tstruct iproc_clk_reg_op mdiv;\n};\n\nstruct iproc_gpio {\n\tstruct device *dev;\n\tvoid *base;\n\tvoid *io_ctrl;\n\tenum iproc_pinconf_ctrl_type io_ctrl_type;\n\traw_spinlock_t lock;\n\tstruct gpio_chip gc;\n\tunsigned int num_banks;\n\tbool pinmux_is_supported;\n\tenum pin_config_param *pinconf_disable;\n\tunsigned int nr_pinconf_disable;\n\tstruct pinctrl_dev *pctl;\n\tstruct pinctrl_desc pctldesc;\n};\n\nstruct iproc_gpio_chip {\n\tstruct gpio_chip gc;\n\tspinlock_t lock;\n\tstruct device *dev;\n\tvoid *base;\n\tvoid *intr;\n};\n\nstruct iproc_mdio_priv {\n\tstruct mii_bus *mii_bus;\n\tvoid *base;\n};\n\nstruct iproc_mdiomux_desc {\n\tvoid *mux_handle;\n\tvoid *base;\n\tstruct device *dev;\n\tstruct mii_bus *mii_bus;\n\tstruct clk *core_clk;\n};\n\nstruct iproc_pcie;\n\nstruct iproc_msi_grp;\n\nstruct iproc_msi {\n\tstruct iproc_pcie *pcie;\n\tconst u16 (*reg_offsets)[8];\n\tstruct iproc_msi_grp *grps;\n\tint nr_irqs;\n\tint nr_cpus;\n\tbool has_inten_reg;\n\tlong unsigned int *bitmap;\n\tstruct mutex bitmap_lock;\n\tunsigned int nr_msi_vecs;\n\tstruct irq_domain *inner_domain;\n\tstruct irq_domain *msi_domain;\n\tunsigned int nr_eq_region;\n\tunsigned int nr_msi_region;\n\tvoid *eq_cpu;\n\tdma_addr_t eq_dma;\n\tphys_addr_t msi_addr;\n};\n\nstruct iproc_msi_grp {\n\tstruct iproc_msi *msi;\n\tint gic_irq;\n\tunsigned int eq;\n};\n\nstruct iproc_pcie_ob {\n\tresource_size_t axi_offset;\n\tunsigned int nr_windows;\n};\n\nstruct iproc_pcie_ib {\n\tunsigned int nr_regions;\n};\n\nstruct iproc_pcie_ob_map;\n\nstruct iproc_pcie_ib_map;\n\nstruct iproc_pcie {\n\tstruct device *dev;\n\tenum iproc_pcie_type type;\n\tu16 *reg_offsets;\n\tvoid *base;\n\tphys_addr_t base_addr;\n\tstruct resource mem;\n\tstruct phy *phy;\n\tint (*map_irq)(const struct pci_dev *, u8, u8);\n\tbool ep_is_internal;\n\tbool iproc_cfg_read;\n\tbool rej_unconfig_pf;\n\tbool has_apb_err_disable;\n\tbool fix_paxc_cap;\n\tbool need_ob_cfg;\n\tstruct iproc_pcie_ob ob;\n\tconst struct iproc_pcie_ob_map *ob_map;\n\tbool need_ib_cfg;\n\tstruct iproc_pcie_ib ib;\n\tconst struct iproc_pcie_ib_map *ib_map;\n\tbool need_msi_steer;\n\tstruct iproc_msi *msi;\n};\n\nstruct iproc_pcie_ib_map {\n\tenum iproc_pcie_ib_map_type type;\n\tunsigned int size_unit;\n\tresource_size_t region_sizes[9];\n\tunsigned int nr_sizes;\n\tunsigned int nr_windows;\n\tu16 imap_addr_offset;\n\tu16 imap_window_offset;\n};\n\nstruct iproc_pcie_ob_map {\n\tresource_size_t window_sizes[4];\n\tunsigned int nr_sizes;\n};\n\nstruct iproc_pll_ctrl;\n\nstruct iproc_pll_vco_param;\n\nstruct iproc_pll {\n\tvoid *status_base;\n\tvoid *control_base;\n\tvoid *pwr_base;\n\tvoid *asiu_base;\n\tconst struct iproc_pll_ctrl *ctrl;\n\tconst struct iproc_pll_vco_param *vco_param;\n\tunsigned int num_vco_entries;\n};\n\nstruct iproc_pll_aon_pwr_ctrl {\n\tunsigned int offset;\n\tunsigned int pwr_width;\n\tunsigned int pwr_shift;\n\tunsigned int iso_shift;\n};\n\nstruct iproc_pll_reset_ctrl {\n\tunsigned int offset;\n\tunsigned int reset_shift;\n\tunsigned int p_reset_shift;\n};\n\nstruct iproc_pll_dig_filter_ctrl {\n\tunsigned int offset;\n\tunsigned int ki_shift;\n\tunsigned int ki_width;\n\tunsigned int kp_shift;\n\tunsigned int kp_width;\n\tunsigned int ka_shift;\n\tunsigned int ka_width;\n};\n\nstruct iproc_pll_sw_ctrl {\n\tunsigned int offset;\n\tunsigned int shift;\n};\n\nstruct iproc_pll_vco_ctrl {\n\tunsigned int u_offset;\n\tunsigned int l_offset;\n};\n\nstruct iproc_pll_ctrl {\n\tlong unsigned int flags;\n\tstruct iproc_pll_aon_pwr_ctrl aon;\n\tstruct iproc_asiu_gate asiu;\n\tstruct iproc_pll_reset_ctrl reset;\n\tstruct iproc_pll_dig_filter_ctrl dig_filter;\n\tstruct iproc_pll_sw_ctrl sw_ctrl;\n\tstruct iproc_clk_reg_op ndiv_int;\n\tstruct iproc_clk_reg_op ndiv_frac;\n\tstruct iproc_clk_reg_op pdiv;\n\tstruct iproc_pll_vco_ctrl vco_ctrl;\n\tstruct iproc_clk_reg_op status;\n\tstruct iproc_clk_reg_op macro_mode;\n};\n\nstruct iproc_pll_vco_param {\n\tlong unsigned int rate;\n\tunsigned int ndiv_int;\n\tunsigned int ndiv_frac;\n\tunsigned int pdiv;\n};\n\nstruct iproc_pwmc {\n\tvoid *base;\n\tstruct clk *clk;\n};\n\nstruct iproc_rng200_dev {\n\tstruct hwrng rng;\n\tvoid *base;\n};\n\nstruct ipstats_mib {\n\tu64 mibs[38];\n\tstruct u64_stats_sync syncp;\n};\n\nstruct ipv6_ac_socklist {\n\tstruct in6_addr acl_addr;\n\tint acl_ifindex;\n\tstruct ipv6_ac_socklist *acl_next;\n};\n\nstruct udp_table;\n\nstruct ipv6_bpf_stub {\n\tint (*inet6_bind)(struct sock *, struct sockaddr *, int, u32);\n\tstruct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *);\n\tint (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t);\n\tint (*ipv6_dev_get_saddr)(struct net *, const struct net_device *, const struct in6_addr *, unsigned int, struct in6_addr *);\n};\n\nstruct ipv6_fl_socklist {\n\tstruct ipv6_fl_socklist *next;\n\tstruct ip6_flowlabel *fl;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6_mc_socklist {\n\tstruct in6_addr addr;\n\tint ifindex;\n\tunsigned int sfmode;\n\tstruct ipv6_mc_socklist *next;\n\tstruct ip6_sf_socklist *sflist;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6_opt_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n};\n\nstruct ipv6_pinfo {\n\tstruct in6_addr saddr;\n\tstruct in6_pktinfo sticky_pktinfo;\n\tconst struct in6_addr *daddr_cache;\n\t__be32 flow_label;\n\t__u32 frag_size;\n\ts16 hop_limit;\n\tu8 mcast_hops;\n\tint ucast_oif;\n\tint mcast_oif;\n\tunion {\n\t\tstruct {\n\t\t\t__u16 srcrt: 1;\n\t\t\t__u16 osrcrt: 1;\n\t\t\t__u16 rxinfo: 1;\n\t\t\t__u16 rxoinfo: 1;\n\t\t\t__u16 rxhlim: 1;\n\t\t\t__u16 rxohlim: 1;\n\t\t\t__u16 hopopts: 1;\n\t\t\t__u16 ohopopts: 1;\n\t\t\t__u16 dstopts: 1;\n\t\t\t__u16 odstopts: 1;\n\t\t\t__u16 rxflow: 1;\n\t\t\t__u16 rxtclass: 1;\n\t\t\t__u16 rxpmtu: 1;\n\t\t\t__u16 rxorigdstaddr: 1;\n\t\t\t__u16 recvfragsize: 1;\n\t\t} bits;\n\t\t__u16 all;\n\t} rxopt;\n\t__u8 srcprefs;\n\t__u8 pmtudisc;\n\t__u8 min_hopcount;\n\t__u8 tclass;\n\t__be32 rcv_flowinfo;\n\t__u32 dst_cookie;\n\tstruct ipv6_mc_socklist *ipv6_mc_list;\n\tstruct ipv6_ac_socklist *ipv6_ac_list;\n\tstruct ipv6_fl_socklist *ipv6_fl_list;\n\tstruct ipv6_txoptions *opt;\n\tstruct sk_buff *pktoptions;\n\tstruct sk_buff *rxpmtu;\n\tstruct inet6_cork cork;\n};\n\nstruct ipv6_rt_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n};\n\nstruct neigh_table;\n\nstruct ipv6_stub {\n\tint (*ipv6_sock_mc_join)(struct sock *, int, const struct in6_addr *);\n\tint (*ipv6_sock_mc_drop)(struct sock *, int, const struct in6_addr *);\n\tstruct dst_entry * (*ipv6_dst_lookup_flow)(struct net *, const struct sock *, struct flowi6 *, const struct in6_addr *);\n\tint (*ipv6_route_input)(struct sk_buff *);\n\tstruct fib6_table * (*fib6_get_table)(struct net *, u32);\n\tint (*fib6_lookup)(struct net *, int, struct flowi6 *, struct fib6_result *, int);\n\tint (*fib6_table_lookup)(struct net *, struct fib6_table *, int, struct flowi6 *, struct fib6_result *, int);\n\tvoid (*fib6_select_path)(const struct net *, struct fib6_result *, struct flowi6 *, int, bool, const struct sk_buff *, int);\n\tu32 (*ip6_mtu_from_fib6)(const struct fib6_result *, const struct in6_addr *, const struct in6_addr *);\n\tint (*fib6_nh_init)(struct net *, struct fib6_nh *, struct fib6_config *, gfp_t, struct netlink_ext_ack *);\n\tvoid (*fib6_nh_release)(struct fib6_nh *);\n\tvoid (*fib6_nh_release_dsts)(struct fib6_nh *);\n\tvoid (*fib6_update_sernum)(struct net *, struct fib6_info *);\n\tint (*ip6_del_rt)(struct net *, struct fib6_info *, bool);\n\tvoid (*fib6_rt_update)(struct net *, struct fib6_info *, struct nl_info *);\n\tvoid (*udpv6_encap_enable)(void);\n\tvoid (*ndisc_send_na)(struct net_device *, const struct in6_addr *, const struct in6_addr *, bool, bool, bool, bool);\n\tstruct neigh_table *nd_tbl;\n\tint (*ipv6_fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *));\n\tstruct net_device * (*ipv6_dev_find)(struct net *, const struct in6_addr *, struct net_device *);\n\tint (*ip6_xmit)(const struct sock *, struct sk_buff *, struct flowi6 *, __u32, struct ipv6_txoptions *, int, u32);\n};\n\nstruct ipv6_txoptions {\n\trefcount_t refcnt;\n\tint tot_len;\n\t__u16 opt_flen;\n\t__u16 opt_nflen;\n\tstruct ipv6_opt_hdr *hopopt;\n\tstruct ipv6_opt_hdr *dst0opt;\n\tstruct ipv6_rt_hdr *srcrt;\n\tstruct ipv6_opt_hdr *dst1opt;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6hdr {\n\t__u8 priority: 4;\n\t__u8 version: 4;\n\t__u8 flow_lbl[3];\n\t__be16 payload_len;\n\t__u8 nexthdr;\n\t__u8 hop_limit;\n\tunion {\n\t\tstruct {\n\t\t\tstruct in6_addr saddr;\n\t\t\tstruct in6_addr daddr;\n\t\t};\n\t\tstruct {\n\t\t\tstruct in6_addr saddr;\n\t\t\tstruct in6_addr daddr;\n\t\t} addrs;\n\t};\n};\n\nstruct irq_affinity {\n\tunsigned int pre_vectors;\n\tunsigned int post_vectors;\n\tunsigned int nr_sets;\n\tunsigned int set_size[4];\n\tvoid (*calc_sets)(struct irq_affinity *, unsigned int);\n\tvoid *priv;\n};\n\nstruct irq_affinity_desc {\n\tstruct cpumask mask;\n\tunsigned int is_managed: 1;\n};\n\nstruct irq_affinity_devres {\n\tunsigned int count;\n\tunsigned int irq[0];\n};\n\nstruct irq_bypass_producer;\n\nstruct irq_bypass_consumer {\n\tstruct list_head node;\n\tvoid *token;\n\tint (*add_producer)(struct irq_bypass_consumer *, struct irq_bypass_producer *);\n\tvoid (*del_producer)(struct irq_bypass_consumer *, struct irq_bypass_producer *);\n\tvoid (*stop)(struct irq_bypass_consumer *);\n\tvoid (*start)(struct irq_bypass_consumer *);\n};\n\nstruct irq_bypass_producer {\n\tstruct list_head node;\n\tvoid *token;\n\tint irq;\n\tint (*add_consumer)(struct irq_bypass_producer *, struct irq_bypass_consumer *);\n\tvoid (*del_consumer)(struct irq_bypass_producer *, struct irq_bypass_consumer *);\n\tvoid (*stop)(struct irq_bypass_producer *);\n\tvoid (*start)(struct irq_bypass_producer *);\n};\n\nstruct irq_chip_regs {\n\tlong unsigned int enable;\n\tlong unsigned int disable;\n\tlong unsigned int mask;\n\tlong unsigned int ack;\n\tlong unsigned int eoi;\n\tlong unsigned int type;\n};\n\nstruct irq_chip_type {\n\tstruct irq_chip chip;\n\tstruct irq_chip_regs regs;\n\tirq_flow_handler_t handler;\n\tu32 type;\n\tu32 mask_cache_priv;\n\tu32 *mask_cache;\n};\n\nstruct irq_chip_generic {\n\traw_spinlock_t lock;\n\tvoid *reg_base;\n\tu32 (*reg_readl)(void *);\n\tvoid (*reg_writel)(u32, void *);\n\tvoid (*suspend)(struct irq_chip_generic *);\n\tvoid (*resume)(struct irq_chip_generic *);\n\tunsigned int irq_base;\n\tunsigned int irq_cnt;\n\tu32 mask_cache;\n\tu32 wake_enabled;\n\tu32 wake_active;\n\tunsigned int num_ct;\n\tvoid *private;\n\tlong unsigned int installed;\n\tlong unsigned int unused;\n\tstruct irq_domain *domain;\n\tstruct list_head list;\n\tstruct irq_chip_type chip_types[0];\n};\n\nstruct irq_common_data {\n\tunsigned int state_use_accessors;\n\tunsigned int node;\n\tvoid *handler_data;\n\tstruct msi_desc *msi_desc;\n\tcpumask_var_t affinity;\n\tcpumask_var_t effective_affinity;\n\tunsigned int ipi_offset;\n};\n\nstruct meson_gpio_irq_controller;\n\nstruct irq_ctl_ops {\n\tvoid (*gpio_irq_sel_pin)(struct meson_gpio_irq_controller *, unsigned int, long unsigned int);\n\tvoid (*gpio_irq_init)(struct meson_gpio_irq_controller *);\n\tint (*gpio_irq_set_type)(struct meson_gpio_irq_controller *, unsigned int, u32 *);\n};\n\nstruct irq_data {\n\tu32 mask;\n\tunsigned int irq;\n\tirq_hw_number_t hwirq;\n\tstruct irq_common_data *common;\n\tstruct irq_chip *chip;\n\tstruct irq_domain *domain;\n\tstruct irq_data *parent_data;\n\tvoid *chip_data;\n};\n\nstruct irqstat;\n\nstruct irqaction;\n\nstruct irq_desc {\n\tstruct irq_common_data irq_common_data;\n\tstruct irq_data irq_data;\n\tstruct irqstat *kstat_irqs;\n\tirq_flow_handler_t handle_irq;\n\tstruct irqaction *action;\n\tunsigned int status_use_accessors;\n\tunsigned int core_internal_state__do_not_mess_with_it;\n\tunsigned int depth;\n\tunsigned int wake_depth;\n\tunsigned int tot_count;\n\tunsigned int irq_count;\n\tlong unsigned int last_unhandled;\n\tunsigned int irqs_unhandled;\n\tatomic_t threads_handled;\n\tint threads_handled_last;\n\traw_spinlock_t lock;\n\tstruct cpumask *percpu_enabled;\n\tconst struct cpumask *percpu_affinity;\n\tconst struct cpumask *affinity_hint;\n\tstruct irq_affinity_notify *affinity_notify;\n\tlong unsigned int threads_oneshot;\n\tatomic_t threads_active;\n\twait_queue_head_t wait_for_threads;\n\tunsigned int nr_actions;\n\tunsigned int no_suspend_depth;\n\tunsigned int cond_suspend_depth;\n\tunsigned int force_resume_depth;\n\tstruct proc_dir_entry *dir;\n\tstruct callback_head rcu;\n\tstruct kobject kobj;\n\tstruct mutex request_mutex;\n\tint parent_irq;\n\tstruct module *owner;\n\tconst char *name;\n\tstruct hlist_node resend_node;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct irq_desc_devres {\n\tunsigned int from;\n\tunsigned int cnt;\n};\n\nstruct irq_devres {\n\tunsigned int irq;\n\tvoid *dev_id;\n};\n\nstruct irq_domain_chip_generic;\n\nstruct msi_parent_ops;\n\nstruct irq_domain {\n\tstruct list_head link;\n\tconst char *name;\n\tconst struct irq_domain_ops *ops;\n\tvoid *host_data;\n\tunsigned int flags;\n\tunsigned int mapcount;\n\tstruct mutex mutex;\n\tstruct irq_domain *root;\n\tstruct fwnode_handle *fwnode;\n\tenum irq_domain_bus_token bus_token;\n\tstruct irq_domain_chip_generic *gc;\n\tstruct device *dev;\n\tstruct device *pm_dev;\n\tstruct irq_domain *parent;\n\tconst struct msi_parent_ops *msi_parent_ops;\n\tvoid (*exit)(struct irq_domain *);\n\tirq_hw_number_t hwirq_max;\n\tunsigned int revmap_size;\n\tstruct xarray revmap_tree;\n\tstruct irq_data *revmap[0];\n};\n\nstruct irq_domain_chip_generic {\n\tunsigned int irqs_per_chip;\n\tunsigned int num_chips;\n\tunsigned int irq_flags_to_clear;\n\tunsigned int irq_flags_to_set;\n\tenum irq_gc_flags gc_flags;\n\tvoid (*exit)(struct irq_chip_generic *);\n\tstruct irq_chip_generic *gc[0];\n};\n\nstruct irq_domain_chip_generic_info {\n\tconst char *name;\n\tirq_flow_handler_t handler;\n\tunsigned int irqs_per_chip;\n\tunsigned int num_ct;\n\tunsigned int irq_flags_to_clear;\n\tunsigned int irq_flags_to_set;\n\tenum irq_gc_flags gc_flags;\n\tint (*init)(struct irq_chip_generic *);\n\tvoid (*exit)(struct irq_chip_generic *);\n};\n\nstruct irq_domain_info {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int domain_flags;\n\tunsigned int size;\n\tirq_hw_number_t hwirq_max;\n\tint direct_max;\n\tunsigned int hwirq_base;\n\tunsigned int virq_base;\n\tenum irq_domain_bus_token bus_token;\n\tconst char *name_suffix;\n\tconst struct irq_domain_ops *ops;\n\tvoid *host_data;\n\tstruct irq_domain *parent;\n\tstruct irq_domain_chip_generic_info *dgc_info;\n\tint (*init)(struct irq_domain *);\n\tvoid (*exit)(struct irq_domain *);\n};\n\nstruct irq_generic_chip_devres {\n\tstruct irq_chip_generic *gc;\n\tu32 msk;\n\tunsigned int clr;\n\tunsigned int set;\n};\n\nstruct irq_glue {\n\tstruct irq_affinity_notify notify;\n\tstruct cpu_rmap *rmap;\n\tu16 index;\n};\n\nstruct irq_info {\n\tstruct list_head list;\n\tstruct list_head eoi_list;\n\tstruct rcu_work rwork;\n\tshort int refcnt;\n\tu8 spurious_cnt;\n\tu8 is_accounted;\n\tshort int type;\n\tu8 mask_reason;\n\tu8 is_active;\n\tunsigned int irq;\n\tevtchn_port_t evtchn;\n\tshort unsigned int cpu;\n\tshort unsigned int eoi_cpu;\n\tunsigned int irq_epoch;\n\tu64 eoi_time;\n\traw_spinlock_t lock;\n\tbool is_static;\n\tunion {\n\t\tshort unsigned int virq;\n\t\tenum ipi_vector ipi;\n\t\tstruct {\n\t\t\tshort unsigned int pirq;\n\t\t\tshort unsigned int gsi;\n\t\t\tunsigned char vector;\n\t\t\tunsigned char flags;\n\t\t\tuint16_t domid;\n\t\t} pirq;\n\t\tstruct xenbus_device *interdomain;\n\t} u;\n};\n\nstruct irq_info___2 {\n\tstruct hlist_node node;\n\tint irq;\n\tspinlock_t lock;\n\tstruct list_head *head;\n};\n\nstruct irq_ops {\n\tlong unsigned int flags;\n\tbool (*get_input_level)(int);\n};\n\nstruct irq_override_cmp {\n\tconst struct dmi_system_id *system;\n\tunsigned char irq;\n\tunsigned char triggering;\n\tunsigned char polarity;\n\tunsigned char shareable;\n\tbool override;\n};\n\nstruct irq_top_t {\n\tint hwirq_base;\n\tunsigned int num_int_regs;\n\tunsigned int en_reg;\n\tunsigned int en_reg_shift;\n\tunsigned int sta_reg;\n\tunsigned int sta_reg_shift;\n\tunsigned int top_offset;\n};\n\nstruct irqaction {\n\tirq_handler_t handler;\n\tvoid *dev_id;\n\tvoid *percpu_dev_id;\n\tstruct irqaction *next;\n\tirq_handler_t thread_fn;\n\tstruct task_struct *thread;\n\tstruct irqaction *secondary;\n\tunsigned int irq;\n\tunsigned int flags;\n\tlong unsigned int thread_flags;\n\tlong unsigned int thread_mask;\n\tconst char *name;\n\tstruct proc_dir_entry *dir;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct irqc_priv;\n\nstruct irqc_irq {\n\tint hw_irq;\n\tint requested_irq;\n\tstruct irqc_priv *p;\n};\n\nstruct irqc_priv {\n\tvoid *iomem;\n\tvoid *cpu_int_base;\n\tstruct irqc_irq irq[32];\n\tunsigned int number_of_irqs;\n\tstruct device *dev;\n\tstruct irq_chip_generic *gc;\n\tstruct irq_domain *irq_domain;\n\tatomic_t wakeup_path;\n};\n\nstruct irqchip_fwid {\n\tstruct fwnode_handle fwnode;\n\tunsigned int type;\n\tchar *name;\n\tphys_addr_t *pa;\n};\n\nstruct irqstat {\n\tunsigned int cnt;\n};\n\nstruct irqsteer_data {\n\tvoid *regs;\n\tstruct clk *ipg_clk;\n\tint irq[8];\n\tint irq_count;\n\traw_spinlock_t lock;\n\tint reg_num;\n\tint channel;\n\tstruct irq_domain *domain;\n\tu32 *saved_reg;\n\tstruct device *dev;\n};\n\nstruct irqtime {\n\tu64 total;\n\tu64 tick_delta;\n\tu64 irq_start_time;\n\tstruct u64_stats_sync sync;\n};\n\nstruct isp1760_memory_chunk {\n\tunsigned int start;\n\tunsigned int size;\n\tunsigned int free;\n};\n\nstruct isp1760_memory_layout;\n\nstruct isp1760_slotinfo;\n\nstruct isp1760_hcd {\n\tstruct usb_hcd *hcd;\n\tvoid *base;\n\tstruct regmap *regs;\n\tstruct regmap_field *fields[78];\n\tbool is_isp1763;\n\tconst struct isp1760_memory_layout *memory_layout;\n\tspinlock_t lock;\n\tstruct isp1760_slotinfo *atl_slots;\n\tint atl_done_map;\n\tstruct isp1760_slotinfo *int_slots;\n\tint int_done_map;\n\tstruct isp1760_memory_chunk memory_pool[56];\n\tstruct list_head qh_list[3];\n\tunsigned int periodic_size;\n\tunsigned int i_thresh;\n\tlong unsigned int reset_done;\n\tlong unsigned int next_statechange;\n};\n\nstruct isp1760_udc;\n\nstruct isp1760_ep {\n\tstruct isp1760_udc *udc;\n\tstruct usb_ep ep;\n\tstruct list_head queue;\n\tunsigned int addr;\n\tunsigned int maxpacket;\n\tchar name[7];\n\tconst struct usb_endpoint_descriptor *desc;\n\tbool rx_pending;\n\tbool halted;\n\tbool wedged;\n};\n\nstruct isp1760_device;\n\nstruct isp1760_udc {\n\tstruct isp1760_device *isp;\n\tint irq;\n\tchar *irqname;\n\tstruct regmap *regs;\n\tstruct regmap_field *fields[40];\n\tstruct usb_gadget_driver *driver;\n\tstruct usb_gadget gadget;\n\tspinlock_t lock;\n\tstruct timer_list vbus_timer;\n\tstruct isp1760_ep ep[15];\n\tenum isp1760_ctrl_state ep0_state;\n\tu8 ep0_dir;\n\tu16 ep0_length;\n\tbool connected;\n\tbool is_isp1763;\n\tunsigned int devstatus;\n};\n\nstruct isp1760_device {\n\tstruct device *dev;\n\tunsigned int devflags;\n\tstruct gpio_desc *rst_gpio;\n\tstruct isp1760_hcd hcd;\n\tstruct isp1760_udc udc;\n};\n\nstruct isp1760_memory_layout {\n\tunsigned int blocks[3];\n\tunsigned int blocks_size[3];\n\tunsigned int slot_num;\n\tunsigned int payload_blocks;\n\tunsigned int payload_area_size;\n};\n\nstruct isp1760_qh {\n\tstruct list_head qh_list;\n\tstruct list_head qtd_list;\n\tu32 toggle;\n\tu32 ping;\n\tint slot;\n\tint tt_buffer_dirty;\n};\n\nstruct isp1760_qtd {\n\tu8 packet_type;\n\tvoid *data_buffer;\n\tu32 payload_addr;\n\tstruct list_head qtd_list;\n\tstruct urb *urb;\n\tsize_t length;\n\tsize_t actual_length;\n\tu32 status;\n};\n\nstruct isp1760_request {\n\tstruct usb_request req;\n\tstruct list_head queue;\n\tstruct isp1760_ep *ep;\n\tunsigned int packet_size;\n};\n\nstruct isp1760_slotinfo {\n\tstruct isp1760_qh *qh;\n\tstruct isp1760_qtd *qtd;\n\tlong unsigned int timestamp;\n};\n\nstruct itimerspec64 {\n\tstruct timespec64 it_interval;\n\tstruct timespec64 it_value;\n};\n\nstruct its_baser {\n\tvoid *base;\n\tu64 val;\n\tu32 order;\n\tu32 psz;\n};\n\nstruct its_cmd_block {\n\tunion {\n\t\tu64 raw_cmd[4];\n\t\t__le64 raw_cmd_le[4];\n\t};\n};\n\nstruct its_device;\n\nstruct its_collection;\n\nstruct its_cmd_desc {\n\tunion {\n\t\tstruct {\n\t\t\tstruct its_device *dev;\n\t\t\tu32 event_id;\n\t\t} its_inv_cmd;\n\t\tstruct {\n\t\t\tstruct its_device *dev;\n\t\t\tu32 event_id;\n\t\t} its_clear_cmd;\n\t\tstruct {\n\t\t\tstruct its_device *dev;\n\t\t\tu32 event_id;\n\t\t} its_int_cmd;\n\t\tstruct {\n\t\t\tstruct its_device *dev;\n\t\t\tint valid;\n\t\t} its_mapd_cmd;\n\t\tstruct {\n\t\t\tstruct its_collection *col;\n\t\t\tint valid;\n\t\t} its_mapc_cmd;\n\t\tstruct {\n\t\t\tstruct its_device *dev;\n\t\t\tu32 phys_id;\n\t\t\tu32 event_id;\n\t\t} its_mapti_cmd;\n\t\tstruct {\n\t\t\tstruct its_device *dev;\n\t\t\tstruct its_collection *col;\n\t\t\tu32 event_id;\n\t\t} its_movi_cmd;\n\t\tstruct {\n\t\t\tstruct its_device *dev;\n\t\t\tu32 event_id;\n\t\t} its_discard_cmd;\n\t\tstruct {\n\t\t\tstruct its_collection *col;\n\t\t} its_invall_cmd;\n\t\tstruct {\n\t\t\tstruct its_vpe *vpe;\n\t\t} its_vinvall_cmd;\n\t\tstruct {\n\t\t\tstruct its_vpe *vpe;\n\t\t\tstruct its_collection *col;\n\t\t\tbool valid;\n\t\t} its_vmapp_cmd;\n\t\tstruct {\n\t\t\tstruct its_vpe *vpe;\n\t\t\tstruct its_device *dev;\n\t\t\tu32 virt_id;\n\t\t\tu32 event_id;\n\t\t\tbool db_enabled;\n\t\t} its_vmapti_cmd;\n\t\tstruct {\n\t\t\tstruct its_vpe *vpe;\n\t\t\tstruct its_device *dev;\n\t\t\tu32 event_id;\n\t\t\tbool db_enabled;\n\t\t} its_vmovi_cmd;\n\t\tstruct {\n\t\t\tstruct its_vpe *vpe;\n\t\t\tstruct its_collection *col;\n\t\t\tu16 seq_num;\n\t\t\tu16 its_list;\n\t\t} its_vmovp_cmd;\n\t\tstruct {\n\t\t\tstruct its_vpe *vpe;\n\t\t} its_invdb_cmd;\n\t\tstruct {\n\t\t\tstruct its_vpe *vpe;\n\t\t\tu8 sgi;\n\t\t\tu8 priority;\n\t\t\tbool enable;\n\t\t\tbool group;\n\t\t\tbool clear;\n\t\t} its_vsgi_cmd;\n\t};\n};\n\nstruct its_cmd_info {\n\tenum its_vcpu_info_cmd_type cmd_type;\n\tunion {\n\t\tstruct its_vlpi_map *map;\n\t\tu8 config;\n\t\tbool req_db;\n\t\tstruct {\n\t\t\tbool g0en;\n\t\t\tbool g1en;\n\t\t};\n\t\tstruct {\n\t\t\tu8 priority;\n\t\t\tbool group;\n\t\t};\n\t};\n};\n\nstruct its_collection___2 {\n\tstruct list_head coll_list;\n\tu32 collection_id;\n\tu32 target_addr;\n};\n\nstruct its_collection {\n\tu64 target_address;\n\tu16 col_id;\n};\n\nstruct its_device___2 {\n\tstruct list_head dev_list;\n\tstruct list_head itt_head;\n\tu32 num_eventid_bits;\n\tgpa_t itt_addr;\n\tu32 device_id;\n};\n\nstruct its_node;\n\nstruct its_device {\n\tstruct list_head entry;\n\tstruct its_node *its;\n\tstruct event_lpi_map event_map;\n\tvoid *itt;\n\tu32 itt_sz;\n\tu32 nr_ites;\n\tu32 device_id;\n\tbool shared;\n};\n\nstruct its_ite {\n\tstruct list_head ite_list;\n\tstruct vgic_irq *irq;\n\tstruct its_collection___2 *collection;\n\tu32 event_id;\n};\n\nstruct its_node {\n\traw_spinlock_t lock;\n\tstruct mutex dev_alloc_lock;\n\tstruct list_head entry;\n\tvoid *base;\n\tvoid *sgir_base;\n\tphys_addr_t phys_base;\n\tstruct its_cmd_block *cmd_base;\n\tstruct its_cmd_block *cmd_write;\n\tstruct its_baser tables[8];\n\tstruct its_collection *collections;\n\tstruct fwnode_handle *fwnode_handle;\n\tu64 (*get_msi_base)(struct its_device *);\n\tu64 typer;\n\tu64 cbaser_save;\n\tu32 ctlr_save;\n\tu32 mpidr;\n\tstruct list_head its_device_list;\n\tu64 flags;\n\tlong unsigned int list_nr;\n\tint numa_node;\n\tunsigned int msi_domain_flags;\n\tu32 pre_its_base;\n\tint vlpi_redist_offset;\n};\n\nstruct its_srat_map {\n\tu32 numa_node;\n\tu32 its_id;\n};\n\nstruct its_vlpi_map {\n\tstruct its_vm *vm;\n\tstruct its_vpe *vpe;\n\tu32 vintid;\n\tu8 properties;\n\tbool db_enabled;\n};\n\nstruct its_vpe {\n\tstruct page *vpt_page;\n\tstruct its_vm *its_vm;\n\tatomic_t vlpi_count;\n\tint irq;\n\tirq_hw_number_t vpe_db_lpi;\n\tbool resident;\n\tbool ready;\n\tunion {\n\t\tstruct {\n\t\t\tint vpe_proxy_event;\n\t\t\tbool idai;\n\t\t};\n\t\tstruct {\n\t\t\tstruct fwnode_handle *fwnode;\n\t\t\tstruct irq_domain *sgi_domain;\n\t\t\tstruct {\n\t\t\t\tu8 priority;\n\t\t\t\tbool enabled;\n\t\t\t\tbool group;\n\t\t\t} sgi_config[16];\n\t\t};\n\t};\n\tatomic_t vmapp_count;\n\traw_spinlock_t vpe_lock;\n\tu16 col_idx;\n\tu16 vpe_id;\n\tbool pending_last;\n};\n\nstruct iw_node_attr {\n\tstruct kobj_attribute kobj_attr;\n\tint nid;\n};\n\nstruct snd_soc_jack;\n\nstruct snd_soc_jack_gpio;\n\nstruct jack_gpio_tbl {\n\tint count;\n\tstruct snd_soc_jack *jack;\n\tstruct snd_soc_jack_gpio *gpios;\n};\n\nstruct transaction_s;\n\ntypedef struct transaction_s transaction_t;\n\nstruct jbd2_inode {\n\ttransaction_t *i_transaction;\n\ttransaction_t *i_next_transaction;\n\tstruct list_head i_list;\n\tstruct inode *i_vfs_inode;\n\tlong unsigned int i_flags;\n\tloff_t i_dirty_start;\n\tloff_t i_dirty_end;\n};\n\nstruct jbd2_journal_block_tail {\n\t__be32 t_checksum;\n};\n\ntypedef struct journal_s journal_t;\n\nstruct jbd2_journal_handle {\n\tunion {\n\t\ttransaction_t *h_transaction;\n\t\tjournal_t *h_journal;\n\t};\n\thandle_t *h_rsv_handle;\n\tint h_total_credits;\n\tint h_revoke_credits;\n\tint h_revoke_credits_requested;\n\tint h_ref;\n\tint h_err;\n\tunsigned int h_sync: 1;\n\tunsigned int h_jdata: 1;\n\tunsigned int h_reserved: 1;\n\tunsigned int h_aborted: 1;\n\tunsigned int h_type: 8;\n\tunsigned int h_line_no: 16;\n\tlong unsigned int h_start_jiffies;\n\tunsigned int h_requested_credits;\n\tunsigned int saved_alloc_context;\n};\n\nstruct journal_header_s {\n\t__be32 h_magic;\n\t__be32 h_blocktype;\n\t__be32 h_sequence;\n};\n\ntypedef struct journal_header_s journal_header_t;\n\nstruct jbd2_journal_revoke_header_s {\n\tjournal_header_t r_header;\n\t__be32 r_count;\n};\n\ntypedef struct jbd2_journal_revoke_header_s jbd2_journal_revoke_header_t;\n\nstruct jbd2_revoke_record_s {\n\tstruct list_head hash;\n\ttid_t sequence;\n\tlong long unsigned int blocknr;\n};\n\nstruct jbd2_revoke_table_s {\n\tint hash_size;\n\tint hash_shift;\n\tstruct list_head *hash_table;\n};\n\nstruct transaction_stats_s;\n\nstruct jbd2_stats_proc_session {\n\tjournal_t *journal;\n\tstruct transaction_stats_s *stats;\n\tint start;\n\tint max;\n};\n\nstruct jedec_ecc_info {\n\tu8 ecc_bits;\n\tu8 codeword_size;\n\t__le16 bb_per_lun;\n\t__le16 block_endurance;\n\tu8 reserved[2];\n};\n\nstruct rand_data;\n\nstruct shash_desc;\n\nstruct jitterentropy {\n\tspinlock_t jent_lock;\n\tstruct rand_data *entropy_collector;\n\tstruct crypto_shash *tfm;\n\tstruct shash_desc *sdesc;\n};\n\nstruct journal_block_tag3_s {\n\t__be32 t_blocknr;\n\t__be32 t_flags;\n\t__be32 t_blocknr_high;\n\t__be32 t_checksum;\n};\n\ntypedef struct journal_block_tag3_s journal_block_tag3_t;\n\nstruct journal_block_tag_s {\n\t__be32 t_blocknr;\n\t__be16 t_checksum;\n\t__be16 t_flags;\n\t__be32 t_blocknr_high;\n};\n\ntypedef struct journal_block_tag_s journal_block_tag_t;\n\nstruct journal_head {\n\tstruct buffer_head *b_bh;\n\tspinlock_t b_state_lock;\n\tint b_jcount;\n\tunsigned int b_jlist;\n\tunsigned int b_modified;\n\tchar *b_frozen_data;\n\tchar *b_committed_data;\n\ttransaction_t *b_transaction;\n\ttransaction_t *b_next_transaction;\n\tstruct journal_head *b_tnext;\n\tstruct journal_head *b_tprev;\n\ttransaction_t *b_cp_transaction;\n\tstruct journal_head *b_cpnext;\n\tstruct journal_head *b_cpprev;\n\tstruct jbd2_buffer_trigger_type *b_triggers;\n\tstruct jbd2_buffer_trigger_type *b_frozen_triggers;\n};\n\nstruct transaction_run_stats_s {\n\tlong unsigned int rs_wait;\n\tlong unsigned int rs_request_delay;\n\tlong unsigned int rs_running;\n\tlong unsigned int rs_locked;\n\tlong unsigned int rs_flushing;\n\tlong unsigned int rs_logging;\n\t__u32 rs_handle_count;\n\t__u32 rs_blocks;\n\t__u32 rs_blocks_logged;\n};\n\nstruct transaction_stats_s {\n\tlong unsigned int ts_tid;\n\tlong unsigned int ts_requested;\n\tstruct transaction_run_stats_s run;\n};\n\nstruct journal_superblock_s;\n\ntypedef struct journal_superblock_s journal_superblock_t;\n\nstruct journal_s {\n\tlong unsigned int j_flags;\n\tint j_errno;\n\tstruct mutex j_abort_mutex;\n\tstruct buffer_head *j_sb_buffer;\n\tjournal_superblock_t *j_superblock;\n\trwlock_t j_state_lock;\n\tint j_barrier_count;\n\tstruct mutex j_barrier;\n\ttransaction_t *j_running_transaction;\n\ttransaction_t *j_committing_transaction;\n\ttransaction_t *j_checkpoint_transactions;\n\twait_queue_head_t j_wait_transaction_locked;\n\twait_queue_head_t j_wait_done_commit;\n\twait_queue_head_t j_wait_commit;\n\twait_queue_head_t j_wait_updates;\n\twait_queue_head_t j_wait_reserved;\n\twait_queue_head_t j_fc_wait;\n\tstruct mutex j_checkpoint_mutex;\n\tstruct buffer_head *j_chkpt_bhs[64];\n\tstruct shrinker *j_shrinker;\n\tstruct percpu_counter j_checkpoint_jh_count;\n\ttransaction_t *j_shrink_transaction;\n\tlong unsigned int j_head;\n\tlong unsigned int j_tail;\n\tlong unsigned int j_free;\n\tlong unsigned int j_first;\n\tlong unsigned int j_last;\n\tlong unsigned int j_fc_first;\n\tlong unsigned int j_fc_off;\n\tlong unsigned int j_fc_last;\n\tstruct block_device *j_dev;\n\tint j_blocksize;\n\tlong long unsigned int j_blk_offset;\n\tchar j_devname[56];\n\tstruct block_device *j_fs_dev;\n\terrseq_t j_fs_dev_wb_err;\n\tunsigned int j_total_len;\n\tatomic_t j_reserved_credits;\n\tspinlock_t j_list_lock;\n\tstruct inode *j_inode;\n\ttid_t j_tail_sequence;\n\ttid_t j_transaction_sequence;\n\ttid_t j_commit_sequence;\n\ttid_t j_commit_request;\n\t__u8 j_uuid[16];\n\tstruct task_struct *j_task;\n\tint j_max_transaction_buffers;\n\tint j_revoke_records_per_block;\n\tint j_transaction_overhead_buffers;\n\tlong unsigned int j_commit_interval;\n\tstruct timer_list j_commit_timer;\n\tspinlock_t j_revoke_lock;\n\tstruct jbd2_revoke_table_s *j_revoke;\n\tstruct jbd2_revoke_table_s *j_revoke_table[2];\n\tstruct buffer_head **j_wbuf;\n\tstruct buffer_head **j_fc_wbuf;\n\tint j_wbufsize;\n\tint j_fc_wbufsize;\n\tpid_t j_last_sync_writer;\n\tu64 j_average_commit_time;\n\tu32 j_min_batch_time;\n\tu32 j_max_batch_time;\n\tvoid (*j_commit_callback)(journal_t *, transaction_t *);\n\tint (*j_submit_inode_data_buffers)(struct jbd2_inode *);\n\tint (*j_finish_inode_data_buffers)(struct jbd2_inode *);\n\tspinlock_t j_history_lock;\n\tstruct proc_dir_entry *j_proc_entry;\n\tstruct transaction_stats_s j_stats;\n\tunsigned int j_failed_commit;\n\tvoid *j_private;\n\t__u32 j_csum_seed;\n\tvoid (*j_fc_cleanup_callback)(struct journal_s *, int, tid_t);\n\tint (*j_fc_replay_callback)(struct journal_s *, struct buffer_head *, enum passtype, int, tid_t);\n\tint (*j_bmap)(struct journal_s *, sector_t *);\n};\n\nstruct journal_superblock_s {\n\tjournal_header_t s_header;\n\t__be32 s_blocksize;\n\t__be32 s_maxlen;\n\t__be32 s_first;\n\t__be32 s_sequence;\n\t__be32 s_start;\n\t__be32 s_errno;\n\t__be32 s_feature_compat;\n\t__be32 s_feature_incompat;\n\t__be32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\t__be32 s_nr_users;\n\t__be32 s_dynsuper;\n\t__be32 s_max_transaction;\n\t__be32 s_max_trans_data;\n\t__u8 s_checksum_type;\n\t__u8 s_padding2[3];\n\t__be32 s_num_fc_blks;\n\t__be32 s_head;\n\t__u32 s_padding[40];\n\t__be32 s_checksum;\n\t__u8 s_users[768];\n};\n\nstruct jump_entry {\n\ts32 code;\n\ts32 target;\n\tlong int key;\n};\n\nstruct k3_cppi_desc_pool {\n\tstruct device *dev;\n\tdma_addr_t dma_addr;\n\tvoid *cpumem;\n\tsize_t desc_size;\n\tsize_t mem_size;\n\tsize_t num_desc;\n\tstruct gen_pool *gen_pool;\n\tvoid **desc_infos;\n};\n\nstruct k3_desc_hw {\n\tu32 lli;\n\tu32 reserved[3];\n\tu32 count;\n\tu32 saddr;\n\tu32 daddr;\n\tu32 config;\n};\n\nstruct k3_dma_phy;\n\nstruct k3_dma_chan {\n\tu32 ccfg;\n\tstruct virt_dma_chan vc;\n\tstruct k3_dma_phy *phy;\n\tstruct list_head node;\n\tdma_addr_t dev_addr;\n\tenum dma_status status;\n\tbool cyclic;\n\tstruct dma_slave_config slave_config;\n};\n\nstruct k3_dma_desc_sw {\n\tstruct virt_dma_desc vd;\n\tdma_addr_t desc_hw_lli;\n\tsize_t desc_num;\n\tsize_t size;\n\tstruct k3_desc_hw *desc_hw;\n};\n\nstruct k3_dma_dev {\n\tstruct dma_device slave;\n\tvoid *base;\n\tstruct tasklet_struct task;\n\tspinlock_t lock;\n\tstruct list_head chan_pending;\n\tstruct k3_dma_phy *phy;\n\tstruct k3_dma_chan *chans;\n\tstruct clk *clk;\n\tstruct dma_pool *pool;\n\tu32 dma_channels;\n\tu32 dma_requests;\n\tu32 dma_channel_mask;\n\tunsigned int irq;\n};\n\nstruct k3_dma_phy {\n\tu32 idx;\n\tvoid *base;\n\tstruct k3_dma_chan *vchan;\n\tstruct k3_dma_desc_sw *ds_run;\n\tstruct k3_dma_desc_sw *ds_done;\n};\n\nstruct k3_event_route_data {\n\tvoid *priv;\n\tint (*set_event)(void *, u32);\n};\n\nstruct k3_mdio_soc_data {\n\tbool manual_mode;\n};\n\nstruct k3_priv {\n\tint ctrl_id;\n\tu32 cur_speed;\n\tstruct regmap *reg;\n};\n\nstruct k3_ring_state {\n\tu32 free;\n\tu32 occ;\n\tu32 windex;\n\tu32 rindex;\n\tu32 tdown_complete: 1;\n};\n\nstruct k3_ring_rt_regs;\n\nstruct k3_ring_fifo_regs;\n\nstruct k3_ringacc_proxy_target_regs;\n\nstruct k3_ring_ops;\n\nstruct k3_ringacc;\n\nstruct k3_ring {\n\tstruct k3_ring_rt_regs *rt;\n\tstruct k3_ring_fifo_regs *fifos;\n\tstruct k3_ringacc_proxy_target_regs *proxy;\n\tdma_addr_t ring_mem_dma;\n\tvoid *ring_mem_virt;\n\tconst struct k3_ring_ops *ops;\n\tu32 size;\n\tenum k3_ring_size elm_size;\n\tenum k3_ring_mode mode;\n\tu32 flags;\n\tstruct k3_ring_state state;\n\tu32 ring_id;\n\tstruct k3_ringacc *parent;\n\tu32 use_count;\n\tint proxy_id;\n\tstruct device *dma_dev;\n\tu32 asel;\n};\n\nstruct k3_ring_cfg {\n\tu32 size;\n\tenum k3_ring_size elm_size;\n\tenum k3_ring_mode mode;\n\tu32 flags;\n\tstruct device *dma_dev;\n\tu32 asel;\n};\n\nstruct k3_ring_fifo_regs {\n\tu32 head_data[128];\n\tu32 tail_data[128];\n\tu32 peek_head_data[128];\n\tu32 peek_tail_data[128];\n};\n\nstruct k3_ring_ops {\n\tint (*push_tail)(struct k3_ring *, void *);\n\tint (*push_head)(struct k3_ring *, void *);\n\tint (*pop_tail)(struct k3_ring *, void *);\n\tint (*pop_head)(struct k3_ring *, void *);\n};\n\nstruct k3_ring_rt_regs {\n\tu32 resv_16[4];\n\tu32 db;\n\tu32 resv_4[1];\n\tu32 occ;\n\tu32 indx;\n\tu32 hwocc;\n\tu32 hwindx;\n};\n\nstruct k3_ringacc_proxy_gcfg_regs;\n\nstruct ti_sci_resource;\n\nstruct ti_sci_handle;\n\nstruct ti_sci_rm_ringacc_ops;\n\nstruct k3_ringacc_ops;\n\nstruct k3_ringacc {\n\tstruct device *dev;\n\tstruct k3_ringacc_proxy_gcfg_regs *proxy_gcfg;\n\tvoid *proxy_target_base;\n\tu32 num_rings;\n\tlong unsigned int *rings_inuse;\n\tstruct ti_sci_resource *rm_gp_range;\n\tbool dma_ring_reset_quirk;\n\tu32 num_proxies;\n\tlong unsigned int *proxy_inuse;\n\tstruct k3_ring *rings;\n\tstruct list_head list;\n\tstruct mutex req_lock;\n\tconst struct ti_sci_handle *tisci;\n\tconst struct ti_sci_rm_ringacc_ops *tisci_ring_ops;\n\tu32 tisci_dev_id;\n\tconst struct k3_ringacc_ops *ops;\n\tbool dma_rings;\n};\n\nstruct k3_ringacc_init_data {\n\tconst struct ti_sci_handle *tisci;\n\tu32 tisci_dev_id;\n\tu32 num_rings;\n};\n\nstruct k3_ringacc_ops {\n\tint (*init)(struct platform_device *, struct k3_ringacc *);\n};\n\nstruct k3_ringacc_proxy_gcfg_regs {\n\tu32 revision;\n\tu32 config;\n};\n\nstruct k3_ringacc_proxy_target_regs {\n\tu32 control;\n\tu32 status;\n\tu8 resv_512[504];\n\tu32 data[128];\n};\n\nstruct k3_ringacc_soc_data {\n\tunsigned int dma_ring_reset_quirk: 1;\n};\n\nstruct k3_soc_id {\n\tunsigned int id;\n\tconst char *family_name;\n};\n\nstruct udma_dev;\n\nstruct udma_tisci_rm;\n\nstruct psil_endpoint_config;\n\nstruct k3_udma_glue_common {\n\tstruct device *dev;\n\tstruct device chan_dev;\n\tstruct udma_dev *udmax;\n\tconst struct udma_tisci_rm *tisci_rm;\n\tstruct k3_ringacc *ringacc;\n\tu32 src_thread;\n\tu32 dst_thread;\n\tu32 hdesc_size;\n\tbool epib;\n\tu32 psdata_size;\n\tu32 swdata_size;\n\tu32 atype_asel;\n\tstruct psil_endpoint_config *ep_config;\n};\n\nstruct udma_rchan;\n\nstruct k3_udma_glue_rx_flow;\n\nstruct k3_udma_glue_rx_channel {\n\tstruct k3_udma_glue_common common;\n\tstruct udma_rchan *udma_rchanx;\n\tint udma_rchan_id;\n\tbool remote;\n\tbool psil_paired;\n\tu32 swdata_size;\n\tint flow_id_base;\n\tstruct k3_udma_glue_rx_flow *flows;\n\tu32 flow_num;\n\tu32 flows_ready;\n};\n\nstruct k3_udma_glue_rx_flow_cfg;\n\nstruct k3_udma_glue_rx_channel_cfg {\n\tu32 swdata_size;\n\tint flow_id_base;\n\tint flow_id_num;\n\tbool flow_id_use_rxchan_id;\n\tbool remote;\n\tstruct k3_udma_glue_rx_flow_cfg *def_flow_cfg;\n};\n\nstruct udma_rflow;\n\nstruct k3_udma_glue_rx_flow {\n\tstruct udma_rflow *udma_rflow;\n\tint udma_rflow_id;\n\tstruct k3_ring *ringrx;\n\tstruct k3_ring *ringrxfdq;\n\tint virq;\n};\n\nstruct k3_udma_glue_rx_flow_cfg {\n\tstruct k3_ring_cfg rx_cfg;\n\tstruct k3_ring_cfg rxfdq_cfg;\n\tint ring_rxq_id;\n\tint ring_rxfdq0_id;\n\tbool rx_error_handling;\n\tint src_tag_lo_sel;\n};\n\nstruct udma_tchan;\n\nstruct k3_udma_glue_tx_channel {\n\tstruct k3_udma_glue_common common;\n\tstruct udma_tchan *udma_tchanx;\n\tint udma_tchan_id;\n\tstruct k3_ring *ringtx;\n\tstruct k3_ring *ringtxcq;\n\tbool psil_paired;\n\tint virq;\n\tatomic_t free_pkts;\n\tbool tx_pause_on_err;\n\tbool tx_filt_einfo;\n\tbool tx_filt_pswords;\n\tbool tx_supr_tdpkt;\n\tint udma_tflow_id;\n};\n\nstruct k3_udma_glue_tx_channel_cfg {\n\tstruct k3_ring_cfg tx_cfg;\n\tstruct k3_ring_cfg txcq_cfg;\n\tbool tx_pause_on_err;\n\tbool tx_filt_einfo;\n\tbool tx_filt_pswords;\n\tbool tx_supr_tdpkt;\n\tu32 swdata_size;\n};\n\nstruct k3dma_soc_data {\n\tlong unsigned int flags;\n};\n\nstruct k_itimer;\n\nstruct k_clock {\n\tint (*clock_getres)(const clockid_t, struct timespec64 *);\n\tint (*clock_set)(const clockid_t, const struct timespec64 *);\n\tint (*clock_get_timespec)(const clockid_t, struct timespec64 *);\n\tktime_t (*clock_get_ktime)(const clockid_t);\n\tint (*clock_adj)(const clockid_t, struct __kernel_timex *);\n\tint (*timer_create)(struct k_itimer *);\n\tint (*nsleep)(const clockid_t, int, const struct timespec64 *);\n\tint (*timer_set)(struct k_itimer *, int, struct itimerspec64 *, struct itimerspec64 *);\n\tint (*timer_del)(struct k_itimer *);\n\tvoid (*timer_get)(struct k_itimer *, struct itimerspec64 *);\n\tvoid (*timer_rearm)(struct k_itimer *);\n\ts64 (*timer_forward)(struct k_itimer *, ktime_t);\n\tktime_t (*timer_remaining)(struct k_itimer *, ktime_t);\n\tint (*timer_try_to_cancel)(struct k_itimer *);\n\tvoid (*timer_arm)(struct k_itimer *, ktime_t, bool, bool);\n\tvoid (*timer_wait_running)(struct k_itimer *);\n};\n\nstruct kernel_siginfo {\n\tstruct {\n\t\tint si_signo;\n\t\tint si_errno;\n\t\tint si_code;\n\t\tunion __sifields _sifields;\n\t};\n};\n\nstruct sigqueue {\n\tstruct list_head list;\n\tint flags;\n\tkernel_siginfo_t info;\n\tstruct ucounts *ucounts;\n};\n\nstruct signal_struct;\n\nstruct k_itimer {\n\tstruct hlist_node list;\n\tstruct hlist_node ignored_list;\n\tstruct hlist_node t_hash;\n\tspinlock_t it_lock;\n\tconst struct k_clock *kclock;\n\tclockid_t it_clock;\n\ttimer_t it_id;\n\tint it_status;\n\tbool it_sig_periodic;\n\ts64 it_overrun;\n\ts64 it_overrun_last;\n\tunsigned int it_signal_seq;\n\tunsigned int it_sigqueue_seq;\n\tint it_sigev_notify;\n\tenum pid_type it_pid_type;\n\tktime_t it_interval;\n\tstruct signal_struct *it_signal;\n\tunion {\n\t\tstruct pid *it_pid;\n\t\tstruct task_struct *it_process;\n\t};\n\tstruct sigqueue sigq;\n\trcuref_t rcuref;\n\tunion {\n\t\tstruct {\n\t\t\tstruct hrtimer timer;\n\t\t} real;\n\t\tstruct cpu_timer cpu;\n\t\tstruct {\n\t\t\tstruct alarm alarmtimer;\n\t\t} alarm;\n\t} it;\n\tstruct callback_head rcu;\n};\n\ntypedef void __signalfn_t(int);\n\ntypedef __signalfn_t *__sighandler_t;\n\ntypedef void __restorefn_t(void);\n\ntypedef __restorefn_t *__sigrestore_t;\n\nstruct sigaction {\n\t__sighandler_t sa_handler;\n\tlong unsigned int sa_flags;\n\t__sigrestore_t sa_restorer;\n\tsigset_t sa_mask;\n};\n\nstruct k_sigaction {\n\tstruct sigaction sa;\n};\n\nstruct kallsym_iter {\n\tloff_t pos;\n\tloff_t pos_mod_end;\n\tloff_t pos_ftrace_mod_end;\n\tloff_t pos_bpf_end;\n\tlong unsigned int value;\n\tunsigned int nameoff;\n\tchar type;\n\tchar name[512];\n\tchar module_name[56];\n\tint exported;\n\tint show_value;\n};\n\nstruct karatsuba_ctx {\n\tstruct karatsuba_ctx *next;\n\tmpi_ptr_t tspace;\n\tmpi_size_t tspace_size;\n\tmpi_ptr_t tp;\n\tmpi_size_t tp_size;\n};\n\nstruct led_trigger {\n\tconst char *name;\n\tint (*activate)(struct led_classdev *);\n\tvoid (*deactivate)(struct led_classdev *);\n\tenum led_brightness brightness;\n\tstruct led_hw_trigger_type *trigger_type;\n\tspinlock_t leddev_list_lock;\n\tstruct list_head led_cdevs;\n\tstruct list_head next_trig;\n\tconst struct attribute_group **groups;\n};\n\nstruct kbd_led_trigger {\n\tstruct led_trigger trigger;\n\tunsigned int mask;\n};\n\nstruct kbd_repeat {\n\tint delay;\n\tint period;\n};\n\nstruct kbd_struct {\n\tunsigned char lockstate;\n\tunsigned char slockstate;\n\tunsigned char ledmode: 1;\n\tunsigned char ledflagstate: 4;\n\tchar: 3;\n\tunsigned char default_ledflagstate: 4;\n\tunsigned char kbdmode: 3;\n\tint: 1;\n\tunsigned char modeflags: 5;\n};\n\nstruct kbdiacr {\n\tunsigned char diacr;\n\tunsigned char base;\n\tunsigned char result;\n};\n\nstruct kbdiacrs {\n\tunsigned int kb_cnt;\n\tstruct kbdiacr kbdiacr[256];\n};\n\nstruct kbdiacruc {\n\tunsigned int diacr;\n\tunsigned int base;\n\tunsigned int result;\n};\n\nstruct kbdiacrsuc {\n\tunsigned int kb_cnt;\n\tstruct kbdiacruc kbdiacruc[256];\n};\n\nstruct kbentry {\n\tunsigned char kb_table;\n\tunsigned char kb_index;\n\tshort unsigned int kb_value;\n};\n\nstruct kbkeycode {\n\tunsigned int scancode;\n\tunsigned int keycode;\n};\n\nstruct kbsentry {\n\tunsigned char kb_func;\n\tunsigned char kb_string[512];\n};\n\nstruct kcmp_epoll_slot {\n\t__u32 efd;\n\t__u32 tfd;\n\t__u32 toff;\n};\n\nstruct kcsan_scoped_access {};\n\nstruct kern_ipc_perm {\n\tspinlock_t lock;\n\tbool deleted;\n\tint id;\n\tkey_t key;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t cuid;\n\tkgid_t cgid;\n\tumode_t mode;\n\tlong unsigned int seq;\n\tvoid *security;\n\tstruct rhash_head khtnode;\n\tstruct callback_head rcu;\n\trefcount_t refcount;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kernel_clone_args {\n\tu64 flags;\n\tint *pidfd;\n\tint *child_tid;\n\tint *parent_tid;\n\tconst char *name;\n\tint exit_signal;\n\tu32 kthread: 1;\n\tu32 io_thread: 1;\n\tu32 user_worker: 1;\n\tu32 no_files: 1;\n\tlong unsigned int stack;\n\tlong unsigned int stack_size;\n\tlong unsigned int tls;\n\tpid_t *set_tid;\n\tsize_t set_tid_size;\n\tint cgroup;\n\tint idle;\n\tint (*fn)(void *);\n\tvoid *fn_arg;\n\tstruct cgroup *cgrp;\n\tstruct css_set *cset;\n\tunsigned int kill_seq;\n};\n\nstruct kernel_cpustat {\n\tu64 cpustat[10];\n};\n\nstruct kernel_ethtool_ringparam {\n\tu32 rx_buf_len;\n\tu8 tcp_data_split;\n\tu8 tx_push;\n\tu8 rx_push;\n\tu32 cqe_size;\n\tu32 tx_push_buf_len;\n\tu32 tx_push_buf_max_len;\n\tu32 hds_thresh;\n\tu32 hds_thresh_max;\n};\n\nstruct kernel_ethtool_ts_info {\n\tu32 cmd;\n\tu32 so_timestamping;\n\tint phc_index;\n\tenum hwtstamp_provider_qualifier phc_qualifier;\n\tenum hwtstamp_tx_types tx_types;\n\tenum hwtstamp_rx_filters rx_filters;\n};\n\nstruct kernel_hwtstamp_config {\n\tint flags;\n\tint tx_type;\n\tint rx_filter;\n\tstruct ifreq *ifr;\n\tbool copied_to_user;\n\tenum hwtstamp_source source;\n\tenum hwtstamp_provider_qualifier qualifier;\n};\n\nstruct kernel_param_ops;\n\nstruct kparam_string;\n\nstruct kparam_array;\n\nstruct kernel_param {\n\tconst char *name;\n\tstruct module *mod;\n\tconst struct kernel_param_ops *ops;\n\tconst u16 perm;\n\ts8 level;\n\tu8 flags;\n\tunion {\n\t\tvoid *arg;\n\t\tconst struct kparam_string *str;\n\t\tconst struct kparam_array *arr;\n\t};\n};\n\nstruct kernel_param_ops {\n\tunsigned int flags;\n\tint (*set)(const char *, const struct kernel_param *);\n\tint (*get)(char *, const struct kernel_param *);\n\tvoid (*free)(void *);\n};\n\nstruct kernel_pkey_params {\n\tstruct key *key;\n\tconst char *encoding;\n\tconst char *hash_algo;\n\tchar *info;\n\t__u32 in_len;\n\tunion {\n\t\t__u32 out_len;\n\t\t__u32 in2_len;\n\t};\n\tenum kernel_pkey_operation op: 8;\n};\n\nstruct kernel_pkey_query {\n\t__u32 supported_ops;\n\t__u32 key_size;\n\t__u16 max_data_size;\n\t__u16 max_sig_size;\n\t__u16 max_enc_size;\n\t__u16 max_dec_size;\n};\n\nstruct kernel_stat {\n\tlong unsigned int irqs_sum;\n\tunsigned int softirqs[10];\n};\n\nstruct kernel_symbol {\n\tint value_offset;\n\tint name_offset;\n\tint namespace_offset;\n};\n\nstruct kernfs_open_node;\n\nstruct kernfs_elem_attr {\n\tconst struct kernfs_ops *ops;\n\tstruct kernfs_open_node *open;\n\tloff_t size;\n\tstruct kernfs_node *notify_next;\n};\n\nstruct kernfs_elem_dir {\n\tlong unsigned int subdirs;\n\tstruct rb_root children;\n\tstruct kernfs_root *root;\n\tlong unsigned int rev;\n};\n\nstruct kernfs_elem_symlink {\n\tstruct kernfs_node *target_kn;\n};\n\nstruct kernfs_global_locks {\n\tstruct mutex open_file_mutex[1024];\n};\n\nstruct simple_xattrs {\n\tstruct rb_root rb_root;\n\trwlock_t lock;\n};\n\nstruct kernfs_iattrs {\n\tkuid_t ia_uid;\n\tkgid_t ia_gid;\n\tstruct timespec64 ia_atime;\n\tstruct timespec64 ia_mtime;\n\tstruct timespec64 ia_ctime;\n\tstruct simple_xattrs xattrs;\n\tatomic_t nr_user_xattrs;\n\tatomic_t user_xattr_size;\n};\n\nstruct kernfs_node {\n\tatomic_t count;\n\tatomic_t active;\n\tstruct kernfs_node *parent;\n\tconst char *name;\n\tstruct rb_node rb;\n\tconst void *ns;\n\tunsigned int hash;\n\tshort unsigned int flags;\n\tumode_t mode;\n\tunion {\n\t\tstruct kernfs_elem_dir dir;\n\t\tstruct kernfs_elem_symlink symlink;\n\t\tstruct kernfs_elem_attr attr;\n\t};\n\tu64 id;\n\tvoid *priv;\n\tstruct kernfs_iattrs *iattr;\n\tstruct callback_head rcu;\n};\n\nstruct vm_operations_struct;\n\nstruct kernfs_open_file {\n\tstruct kernfs_node *kn;\n\tstruct file *file;\n\tstruct seq_file *seq_file;\n\tvoid *priv;\n\tstruct mutex mutex;\n\tstruct mutex prealloc_mutex;\n\tint event;\n\tstruct list_head list;\n\tchar *prealloc_buf;\n\tsize_t atomic_write_len;\n\tbool mmapped: 1;\n\tbool released: 1;\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct kernfs_open_node {\n\tstruct callback_head callback_head;\n\tatomic_t event;\n\twait_queue_head_t poll;\n\tstruct list_head files;\n\tunsigned int nr_mmapped;\n\tunsigned int nr_to_release;\n};\n\nstruct kernfs_ops {\n\tint (*open)(struct kernfs_open_file *);\n\tvoid (*release)(struct kernfs_open_file *);\n\tint (*seq_show)(struct seq_file *, void *);\n\tvoid * (*seq_start)(struct seq_file *, loff_t *);\n\tvoid * (*seq_next)(struct seq_file *, void *, loff_t *);\n\tvoid (*seq_stop)(struct seq_file *, void *);\n\tssize_t (*read)(struct kernfs_open_file *, char *, size_t, loff_t);\n\tsize_t atomic_write_len;\n\tbool prealloc;\n\tssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t);\n\t__poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *);\n\tint (*mmap)(struct kernfs_open_file *, struct vm_area_struct *);\n\tloff_t (*llseek)(struct kernfs_open_file *, loff_t, int);\n};\n\nstruct kernfs_syscall_ops;\n\nstruct kernfs_root {\n\tstruct kernfs_node *kn;\n\tunsigned int flags;\n\tstruct idr ino_idr;\n\tu32 last_id_lowbits;\n\tu32 id_highbits;\n\tstruct kernfs_syscall_ops *syscall_ops;\n\tstruct list_head supers;\n\twait_queue_head_t deactivate_waitq;\n\tstruct rw_semaphore kernfs_rwsem;\n\tstruct rw_semaphore kernfs_iattr_rwsem;\n\tstruct rw_semaphore kernfs_supers_rwsem;\n\tstruct callback_head rcu;\n};\n\nstruct kernfs_super_info {\n\tstruct super_block *sb;\n\tstruct kernfs_root *root;\n\tconst void *ns;\n\tstruct list_head node;\n};\n\nstruct kernfs_syscall_ops {\n\tint (*show_options)(struct seq_file *, struct kernfs_root *);\n\tint (*mkdir)(struct kernfs_node *, const char *, umode_t);\n\tint (*rmdir)(struct kernfs_node *);\n\tint (*rename)(struct kernfs_node *, struct kernfs_node *, const char *);\n\tint (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *);\n};\n\nstruct kimage;\n\nstruct kexec_buf {\n\tstruct kimage *image;\n\tvoid *buffer;\n\tlong unsigned int bufsz;\n\tlong unsigned int mem;\n\tlong unsigned int memsz;\n\tlong unsigned int buf_align;\n\tlong unsigned int buf_min;\n\tlong unsigned int buf_max;\n\tbool top_down;\n};\n\ntypedef int kexec_probe_t(const char *, long unsigned int);\n\ntypedef void *kexec_load_t(struct kimage *, char *, long unsigned int, char *, long unsigned int, char *, long unsigned int);\n\ntypedef int kexec_cleanup_t(void *);\n\nstruct kexec_file_ops {\n\tkexec_probe_t *probe;\n\tkexec_load_t *load;\n\tkexec_cleanup_t *cleanup;\n};\n\nstruct kexec_load_limit {\n\tstruct mutex mutex;\n\tint limit;\n};\n\nstruct kexec_segment {\n\tunion {\n\t\tvoid *buf;\n\t\tvoid *kbuf;\n\t};\n\tsize_t bufsz;\n\tlong unsigned int mem;\n\tsize_t memsz;\n};\n\nstruct kexec_sha_region {\n\tlong unsigned int start;\n\tlong unsigned int len;\n};\n\nstruct key_type;\n\nstruct key_tag;\n\nstruct keyring_index_key {\n\tlong unsigned int hash;\n\tunion {\n\t\tstruct {\n\t\t\tu16 desc_len;\n\t\t\tchar desc[6];\n\t\t};\n\t\tlong unsigned int x;\n\t};\n\tstruct key_type *type;\n\tstruct key_tag *domain_tag;\n\tconst char *description;\n};\n\nunion key_payload {\n\tvoid *rcu_data0;\n\tvoid *data[4];\n};\n\nstruct key_user;\n\nstruct key_restriction;\n\nstruct key {\n\trefcount_t usage;\n\tkey_serial_t serial;\n\tunion {\n\t\tstruct list_head graveyard_link;\n\t\tstruct rb_node serial_node;\n\t};\n\tstruct rw_semaphore sem;\n\tstruct key_user *user;\n\tvoid *security;\n\tunion {\n\t\ttime64_t expiry;\n\t\ttime64_t revoked_at;\n\t};\n\ttime64_t last_used_at;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkey_perm_t perm;\n\tshort unsigned int quotalen;\n\tshort unsigned int datalen;\n\tshort int state;\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct keyring_index_key index_key;\n\t\tstruct {\n\t\t\tlong unsigned int hash;\n\t\t\tlong unsigned int len_desc;\n\t\t\tstruct key_type *type;\n\t\t\tstruct key_tag *domain_tag;\n\t\t\tchar *description;\n\t\t};\n\t};\n\tunion {\n\t\tunion key_payload payload;\n\t\tstruct {\n\t\t\tstruct list_head name_link;\n\t\t\tstruct assoc_array keys;\n\t\t};\n\t};\n\tstruct key_restriction *restrict_link;\n};\n\nstruct key_info {\n\tu8 key_type;\n\tu8 key_length;\n\tenum HCLGE_FD_KEY_OPT key_opt;\n\tint offset;\n\tint moffset;\n};\n\nstruct key_match_data {\n\tbool (*cmp)(const struct key *, const struct key_match_data *);\n\tconst void *raw_data;\n\tvoid *preparsed;\n\tunsigned int lookup_type;\n};\n\nstruct key_preparsed_payload {\n\tconst char *orig_description;\n\tchar *description;\n\tunion key_payload payload;\n\tconst void *data;\n\tsize_t datalen;\n\tsize_t quotalen;\n\ttime64_t expiry;\n};\n\ntypedef int (*key_restrict_link_func_t)(struct key *, const struct key_type *, const union key_payload *, struct key *);\n\nstruct key_restriction {\n\tkey_restrict_link_func_t check;\n\tstruct key *key;\n\tstruct key_type *keytype;\n};\n\nstruct key_tag {\n\tstruct callback_head rcu;\n\trefcount_t usage;\n\tbool removed;\n};\n\ntypedef int (*request_key_actor_t)(struct key *, void *);\n\nstruct key_type {\n\tconst char *name;\n\tsize_t def_datalen;\n\tunsigned int flags;\n\tint (*vet_description)(const char *);\n\tint (*preparse)(struct key_preparsed_payload *);\n\tvoid (*free_preparse)(struct key_preparsed_payload *);\n\tint (*instantiate)(struct key *, struct key_preparsed_payload *);\n\tint (*update)(struct key *, struct key_preparsed_payload *);\n\tint (*match_preparse)(struct key_match_data *);\n\tvoid (*match_free)(struct key_match_data *);\n\tvoid (*revoke)(struct key *);\n\tvoid (*destroy)(struct key *);\n\tvoid (*describe)(const struct key *, struct seq_file *);\n\tlong int (*read)(const struct key *, char *, size_t);\n\trequest_key_actor_t request_key;\n\tstruct key_restriction * (*lookup_restriction)(const char *);\n\tint (*asym_query)(const struct kernel_pkey_params *, struct kernel_pkey_query *);\n\tint (*asym_eds_op)(struct kernel_pkey_params *, const void *, void *);\n\tint (*asym_verify_signature)(struct kernel_pkey_params *, const void *, const void *);\n\tstruct list_head link;\n\tstruct lock_class_key lock_class;\n};\n\nstruct key_user {\n\tstruct rb_node node;\n\tstruct mutex cons_lock;\n\tspinlock_t lock;\n\trefcount_t usage;\n\tatomic_t nkeys;\n\tatomic_t nikeys;\n\tkuid_t uid;\n\tint qnkeys;\n\tint qnbytes;\n};\n\nstruct key_vector {\n\tt_key key;\n\tunsigned char pos;\n\tunsigned char bits;\n\tunsigned char slen;\n\tunion {\n\t\tstruct hlist_head leaf;\n\t\tstruct {\n\t\t\tstruct {} __empty_tnode;\n\t\t\tstruct key_vector *tnode[0];\n\t\t};\n\t};\n};\n\nstruct keyboard_notifier_param {\n\tstruct vc_data *vc;\n\tint down;\n\tint shift;\n\tint ledstate;\n\tunsigned int value;\n};\n\nstruct keyctl_dh_params {\n\tunion {\n\t\t__s32 private;\n\t\t__s32 priv;\n\t};\n\t__s32 prime;\n\t__s32 base;\n};\n\nstruct keyctl_kdf_params {\n\tchar *hashname;\n\tchar *otherinfo;\n\t__u32 otherinfolen;\n\t__u32 __spare[8];\n};\n\nstruct keyctl_pkey_params {\n\t__s32 key_id;\n\t__u32 in_len;\n\tunion {\n\t\t__u32 out_len;\n\t\t__u32 in2_len;\n\t};\n\t__u32 __spare[7];\n};\n\nstruct keyctl_pkey_query {\n\t__u32 supported_ops;\n\t__u32 key_size;\n\t__u16 max_data_size;\n\t__u16 max_sig_size;\n\t__u16 max_enc_size;\n\t__u16 max_dec_size;\n\t__u32 __spare[10];\n};\n\nstruct keyring_read_iterator_context {\n\tsize_t buflen;\n\tsize_t count;\n\tkey_serial_t *buffer;\n};\n\nstruct __key_reference_with_attributes;\n\ntypedef struct __key_reference_with_attributes *key_ref_t;\n\nstruct keyring_search_context {\n\tstruct keyring_index_key index_key;\n\tconst struct cred *cred;\n\tstruct key_match_data match_data;\n\tunsigned int flags;\n\tint (*iterator)(const void *, void *);\n\tint skipped_ret;\n\tbool possessed;\n\tkey_ref_t result;\n\ttime64_t now;\n};\n\nstruct rcu_gp_oldstate {\n\tlong unsigned int rgos_norm;\n\tlong unsigned int rgos_exp;\n};\n\nstruct kfree_rcu_cpu;\n\nstruct kfree_rcu_cpu_work {\n\tstruct rcu_work rcu_work;\n\tstruct callback_head *head_free;\n\tstruct rcu_gp_oldstate head_free_gp_snap;\n\tstruct list_head bulk_head_free[2];\n\tstruct kfree_rcu_cpu *krcp;\n};\n\nstruct kfree_rcu_cpu {\n\tstruct callback_head *head;\n\tlong unsigned int head_gp_snap;\n\tatomic_t head_count;\n\tstruct list_head bulk_head[2];\n\tatomic_t bulk_count[2];\n\tstruct kfree_rcu_cpu_work krw_arr[2];\n\traw_spinlock_t lock;\n\tstruct delayed_work monitor_work;\n\tbool initialized;\n\tstruct delayed_work page_cache_work;\n\tatomic_t backoff_page_cache_fill;\n\tatomic_t work_in_progress;\n\tstruct hrtimer hrtimer;\n\tstruct llist_head bkvcache;\n\tint nr_bkv_objs;\n};\n\nstruct mm_slot {\n\tstruct hlist_node hash;\n\tstruct list_head mm_node;\n\tstruct mm_struct *mm;\n};\n\nstruct khugepaged_mm_slot {\n\tstruct mm_slot slot;\n};\n\nstruct khugepaged_scan {\n\tstruct list_head mm_head;\n\tstruct khugepaged_mm_slot *mm_slot;\n\tlong unsigned int address;\n};\n\nstruct kimage_arch {\n\tvoid *dtb;\n\tphys_addr_t dtb_mem;\n\tphys_addr_t kern_reloc;\n\tphys_addr_t el2_vectors;\n\tphys_addr_t ttbr0;\n\tphys_addr_t ttbr1;\n\tphys_addr_t zero_page;\n\tlong unsigned int phys_offset;\n\tlong unsigned int t0sz;\n};\n\nstruct purgatory_info {\n\tconst Elf64_Ehdr *ehdr;\n\tElf64_Shdr *sechdrs;\n\tvoid *purgatory_buf;\n};\n\nstruct kimage {\n\tkimage_entry_t head;\n\tkimage_entry_t *entry;\n\tkimage_entry_t *last_entry;\n\tlong unsigned int start;\n\tstruct page *control_code_page;\n\tstruct page *swap_page;\n\tvoid *vmcoreinfo_data_copy;\n\tlong unsigned int nr_segments;\n\tstruct kexec_segment segment[16];\n\tstruct list_head control_pages;\n\tstruct list_head dest_pages;\n\tstruct list_head unusable_pages;\n\tlong unsigned int control_page;\n\tunsigned int type: 1;\n\tunsigned int preserve_context: 1;\n\tunsigned int file_mode: 1;\n\tstruct kimage_arch arch;\n\tvoid *kernel_buf;\n\tlong unsigned int kernel_buf_len;\n\tvoid *initrd_buf;\n\tlong unsigned int initrd_buf_len;\n\tchar *cmdline_buf;\n\tlong unsigned int cmdline_buf_len;\n\tconst struct kexec_file_ops *fops;\n\tvoid *image_loader_data;\n\tstruct purgatory_info purgatory_info;\n\tvoid *elf_headers;\n\tlong unsigned int elf_headers_sz;\n\tlong unsigned int elf_load_addr;\n};\n\nstruct kioctx_cpu;\n\nstruct kioctx {\n\tstruct percpu_ref users;\n\tatomic_t dead;\n\tstruct percpu_ref reqs;\n\tlong unsigned int user_id;\n\tstruct kioctx_cpu *cpu;\n\tunsigned int req_batch;\n\tunsigned int max_reqs;\n\tunsigned int nr_events;\n\tlong unsigned int mmap_base;\n\tlong unsigned int mmap_size;\n\tstruct folio **ring_folios;\n\tlong int nr_pages;\n\tstruct rcu_work free_rwork;\n\tstruct ctx_rq_wait *rq_wait;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct {\n\t\tatomic_t reqs_available;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tspinlock_t ctx_lock;\n\t\tstruct list_head active_reqs;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct mutex ring_lock;\n\t\twait_queue_head_t wait;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tunsigned int tail;\n\t\tunsigned int completed_events;\n\t\tspinlock_t completion_lock;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct folio *internal_folios[8];\n\tstruct file *aio_ring_file;\n\tunsigned int id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kioctx_cpu {\n\tunsigned int reqs_available;\n};\n\nstruct kioctx_table {\n\tstruct callback_head rcu;\n\tunsigned int nr;\n\tstruct kioctx *table[0];\n};\n\nstruct kirin_pcie {\n\tenum pcie_kirin_phy_type type;\n\tstruct dw_pcie *pci;\n\tstruct regmap *apb;\n\tstruct phy *phy;\n\tvoid *phy_priv;\n\tstruct gpio_desc *id_dwc_perst_gpio;\n\tint num_slots;\n\tstruct gpio_desc *id_reset_gpio[3];\n\tconst char *reset_names[3];\n\tint n_gpio_clkreq;\n\tstruct gpio_desc *id_clkreq_gpio[3];\n\tconst char *clkreq_names[3];\n};\n\nstruct kirin_pcie_data {\n\tenum pcie_kirin_phy_type phy_type;\n};\n\nstruct klist_waiter {\n\tstruct list_head list;\n\tstruct klist_node *node;\n\tstruct task_struct *process;\n\tint woken;\n};\n\nstruct kmalloc_info_struct {\n\tconst char *name[4];\n\tunsigned int size;\n};\n\nstruct kmalloced_param {\n\tstruct list_head list;\n\tchar val[0];\n};\n\nstruct kmap_ctrl {};\n\ntypedef struct kmem_cache *kmem_buckets[14];\n\nstruct reciprocal_value {\n\tu32 m;\n\tu8 sh1;\n\tu8 sh2;\n};\n\nstruct kmem_cache_order_objects {\n\tunsigned int x;\n};\n\nstruct kmem_cache_cpu;\n\nstruct kmem_cache_node;\n\nstruct kmem_cache {\n\tstruct kmem_cache_cpu *cpu_slab;\n\tslab_flags_t flags;\n\tlong unsigned int min_partial;\n\tunsigned int size;\n\tunsigned int object_size;\n\tstruct reciprocal_value reciprocal_size;\n\tunsigned int offset;\n\tunsigned int cpu_partial;\n\tunsigned int cpu_partial_slabs;\n\tstruct kmem_cache_order_objects oo;\n\tstruct kmem_cache_order_objects min;\n\tgfp_t allocflags;\n\tint refcount;\n\tvoid (*ctor)(void *);\n\tunsigned int inuse;\n\tunsigned int align;\n\tunsigned int red_left_pad;\n\tconst char *name;\n\tstruct list_head list;\n\tstruct kobject kobj;\n\tunsigned int remote_node_defrag_ratio;\n\tstruct kmem_cache_node *node[16];\n};\n\nstruct kmem_cache_args {\n\tunsigned int align;\n\tunsigned int useroffset;\n\tunsigned int usersize;\n\tunsigned int freeptr_offset;\n\tbool use_freeptr_offset;\n\tvoid (*ctor)(void *);\n};\n\nstruct kmem_cache_cpu {\n\tunion {\n\t\tstruct {\n\t\t\tvoid **freelist;\n\t\t\tlong unsigned int tid;\n\t\t};\n\t\tfreelist_aba_t freelist_tid;\n\t};\n\tstruct slab *slab;\n\tstruct slab *partial;\n\tlocal_lock_t lock;\n};\n\nunion kmem_cache_iter_priv {\n\tstruct bpf_iter_kmem_cache it;\n\tstruct bpf_iter_kmem_cache_kern kit;\n};\n\nstruct kmem_cache_node {\n\tspinlock_t list_lock;\n\tlong unsigned int nr_partial;\n\tstruct list_head partial;\n\tatomic_long_t nr_slabs;\n\tatomic_long_t total_objects;\n\tstruct list_head full;\n};\n\nstruct kmem_obj_info {\n\tvoid *kp_ptr;\n\tstruct slab *kp_slab;\n\tvoid *kp_objp;\n\tlong unsigned int kp_data_offset;\n\tstruct kmem_cache *kp_slab_cache;\n\tvoid *kp_ret;\n\tvoid *kp_stack[16];\n\tvoid *kp_free_stack[16];\n};\n\nstruct kmsg_dump_detail {\n\tenum kmsg_dump_reason reason;\n\tconst char *description;\n};\n\nstruct kmsg_dump_iter {\n\tu64 cur_seq;\n\tu64 next_seq;\n};\n\nstruct kmsg_dumper {\n\tstruct list_head list;\n\tvoid (*dump)(struct kmsg_dumper *, struct kmsg_dump_detail *);\n\tenum kmsg_dump_reason max_reason;\n\tbool registered;\n};\n\nstruct probe;\n\nstruct kobj_map {\n\tstruct probe *probes[255];\n\tstruct mutex *lock;\n};\n\nstruct kobj_ns_type_operations {\n\tenum kobj_ns_type type;\n\tbool (*current_may_mount)(void);\n\tvoid * (*grab_current_ns)(void);\n\tconst void * (*netlink_ns)(struct sock *);\n\tconst void * (*initial_ns)(void);\n\tvoid (*drop_ns)(void *);\n};\n\nstruct kobj_uevent_env {\n\tchar *argv[3];\n\tchar *envp[64];\n\tint envp_idx;\n\tchar buf[2048];\n\tint buflen;\n};\n\nstruct kparam_array {\n\tunsigned int max;\n\tunsigned int elemsize;\n\tunsigned int *num;\n\tconst struct kernel_param_ops *ops;\n\tvoid *elem;\n};\n\nstruct kparam_string {\n\tunsigned int maxlen;\n\tchar *string;\n};\n\nstruct kpp_request;\n\nstruct kpp_alg {\n\tint (*set_secret)(struct crypto_kpp *, const void *, unsigned int);\n\tint (*generate_public_key)(struct kpp_request *);\n\tint (*compute_shared_secret)(struct kpp_request *);\n\tunsigned int (*max_size)(struct crypto_kpp *);\n\tint (*init)(struct crypto_kpp *);\n\tvoid (*exit)(struct crypto_kpp *);\n\tstruct crypto_alg base;\n};\n\nstruct kpp_instance {\n\tvoid (*free)(struct kpp_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[48];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct kpp_alg alg;\n\t};\n};\n\nstruct kpp_request {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int src_len;\n\tunsigned int dst_len;\n\tvoid *__ctx[0];\n};\n\nstruct kprobe;\n\ntypedef int (*kprobe_pre_handler_t)(struct kprobe *, struct pt_regs *);\n\ntypedef void (*kprobe_post_handler_t)(struct kprobe *, struct pt_regs *, long unsigned int);\n\nstruct kprobe {\n\tstruct hlist_node hlist;\n\tstruct list_head list;\n\tlong unsigned int nmissed;\n\tkprobe_opcode_t *addr;\n\tconst char *symbol_name;\n\tunsigned int offset;\n\tkprobe_pre_handler_t pre_handler;\n\tkprobe_post_handler_t post_handler;\n\tkprobe_opcode_t opcode;\n\tstruct arch_specific_insn ainsn;\n\tu32 flags;\n};\n\nstruct krb5_ctx {\n\tint initiate;\n\tu32 enctype;\n\tu32 flags;\n\tconst struct gss_krb5_enctype *gk5e;\n\tstruct crypto_sync_skcipher *enc;\n\tstruct crypto_sync_skcipher *seq;\n\tstruct crypto_sync_skcipher *acceptor_enc;\n\tstruct crypto_sync_skcipher *initiator_enc;\n\tstruct crypto_sync_skcipher *acceptor_enc_aux;\n\tstruct crypto_sync_skcipher *initiator_enc_aux;\n\tstruct crypto_ahash *acceptor_sign;\n\tstruct crypto_ahash *initiator_sign;\n\tstruct crypto_ahash *initiator_integ;\n\tstruct crypto_ahash *acceptor_integ;\n\tu8 Ksess[32];\n\tu8 cksum[32];\n\tatomic_t seq_send;\n\tatomic64_t seq_send64;\n\ttime64_t endtime;\n\tstruct xdr_netobj mech_used;\n};\n\nstruct kset_uevent_ops;\n\nstruct kset {\n\tstruct list_head list;\n\tspinlock_t list_lock;\n\tstruct kobject kobj;\n\tconst struct kset_uevent_ops *uevent_ops;\n};\n\nstruct kset_uevent_ops {\n\tint (* const filter)(const struct kobject *);\n\tconst char * (* const name)(const struct kobject *);\n\tint (* const uevent)(const struct kobject *, struct kobj_uevent_env *);\n};\n\nstruct ksignal {\n\tstruct k_sigaction ka;\n\tkernel_siginfo_t info;\n\tint sig;\n};\n\nstruct ksm_rmap_item;\n\nstruct ksm_mm_slot {\n\tstruct mm_slot slot;\n\tstruct ksm_rmap_item *rmap_list;\n};\n\nstruct ksm_stable_node;\n\nstruct ksm_rmap_item {\n\tstruct ksm_rmap_item *rmap_list;\n\tunion {\n\t\tstruct anon_vma *anon_vma;\n\t\tint nid;\n\t};\n\tstruct mm_struct *mm;\n\tlong unsigned int address;\n\tunsigned int oldchecksum;\n\trmap_age_t age;\n\trmap_age_t remaining_skips;\n\tunion {\n\t\tstruct rb_node node;\n\t\tstruct {\n\t\t\tstruct ksm_stable_node *head;\n\t\t\tstruct hlist_node hlist;\n\t\t};\n\t};\n};\n\nstruct ksm_scan {\n\tstruct ksm_mm_slot *mm_slot;\n\tlong unsigned int address;\n\tstruct ksm_rmap_item **rmap_list;\n\tlong unsigned int seqnr;\n};\n\nstruct ksm_stable_node {\n\tunion {\n\t\tstruct rb_node node;\n\t\tstruct {\n\t\t\tstruct list_head *head;\n\t\t\tstruct {\n\t\t\t\tstruct hlist_node hlist_dup;\n\t\t\t\tstruct list_head list;\n\t\t\t};\n\t\t};\n\t};\n\tstruct hlist_head hlist;\n\tunion {\n\t\tlong unsigned int kpfn;\n\t\tlong unsigned int chain_prune_time;\n\t};\n\tint rmap_hlist_len;\n\tint nid;\n};\n\nstruct kstat {\n\tu32 result_mask;\n\tumode_t mode;\n\tunsigned int nlink;\n\tuint32_t blksize;\n\tu64 attributes;\n\tu64 attributes_mask;\n\tu64 ino;\n\tdev_t dev;\n\tdev_t rdev;\n\tkuid_t uid;\n\tkgid_t gid;\n\tloff_t size;\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tstruct timespec64 ctime;\n\tstruct timespec64 btime;\n\tu64 blocks;\n\tu64 mnt_id;\n\tu64 change_cookie;\n\tu64 subvol;\n\tu32 dio_mem_align;\n\tu32 dio_offset_align;\n\tu32 dio_read_offset_align;\n\tu32 atomic_write_unit_min;\n\tu32 atomic_write_unit_max;\n\tu32 atomic_write_segments_max;\n};\n\nstruct kstatfs {\n\tlong int f_type;\n\tlong int f_bsize;\n\tu64 f_blocks;\n\tu64 f_bfree;\n\tu64 f_bavail;\n\tu64 f_files;\n\tu64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\tlong int f_namelen;\n\tlong int f_frsize;\n\tlong int f_flags;\n\tlong int f_spare[4];\n};\n\nstruct statmount {\n\t__u32 size;\n\t__u32 mnt_opts;\n\t__u64 mask;\n\t__u32 sb_dev_major;\n\t__u32 sb_dev_minor;\n\t__u64 sb_magic;\n\t__u32 sb_flags;\n\t__u32 fs_type;\n\t__u64 mnt_id;\n\t__u64 mnt_parent_id;\n\t__u32 mnt_id_old;\n\t__u32 mnt_parent_id_old;\n\t__u64 mnt_attr;\n\t__u64 mnt_propagation;\n\t__u64 mnt_peer_group;\n\t__u64 mnt_master;\n\t__u64 propagate_from;\n\t__u32 mnt_root;\n\t__u32 mnt_point;\n\t__u64 mnt_ns_id;\n\t__u32 fs_subtype;\n\t__u32 sb_source;\n\t__u32 opt_num;\n\t__u32 opt_array;\n\t__u32 opt_sec_num;\n\t__u32 opt_sec_array;\n\t__u64 __spare2[46];\n\tchar str[0];\n};\n\nstruct seq_file {\n\tchar *buf;\n\tsize_t size;\n\tsize_t from;\n\tsize_t count;\n\tsize_t pad_until;\n\tloff_t index;\n\tloff_t read_pos;\n\tstruct mutex lock;\n\tconst struct seq_operations *op;\n\tint poll_event;\n\tconst struct file *file;\n\tvoid *private;\n};\n\nstruct kstatmount {\n\tstruct statmount *buf;\n\tsize_t bufsize;\n\tstruct vfsmount *mnt;\n\tu64 mask;\n\tstruct path root;\n\tstruct statmount sm;\n\tstruct seq_file seq;\n};\n\nstruct ksz9477_errata_write {\n\tu8 dev_addr;\n\tu8 reg_addr;\n\tu16 val;\n};\n\nstruct kszphy_hw_stat {\n\tconst char *string;\n\tu8 reg;\n\tu8 bits;\n};\n\nstruct mii_timestamper {\n\tbool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int);\n\tvoid (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int);\n\tint (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n\tvoid (*link_state)(struct mii_timestamper *, struct phy_device *);\n\tint (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *);\n\tstruct device *device;\n};\n\nstruct kszphy_ptp_priv {\n\tstruct mii_timestamper mii_ts;\n\tstruct phy_device *phydev;\n\tstruct sk_buff_head tx_queue;\n\tstruct sk_buff_head rx_queue;\n\tstruct list_head rx_ts_list;\n\tspinlock_t rx_ts_lock;\n\tint hwts_tx_type;\n\tenum hwtstamp_rx_filters rx_filter;\n\tint layer;\n\tint version;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct mutex ptp_lock;\n\tstruct ptp_pin_desc *pin_config;\n\ts64 seconds;\n\tspinlock_t seconds_lock;\n};\n\nstruct kszphy_type;\n\nstruct kszphy_priv {\n\tstruct kszphy_ptp_priv ptp_priv;\n\tconst struct kszphy_type *type;\n\tstruct clk *clk;\n\tint led_mode;\n\tu16 vct_ctrl1000;\n\tbool rmii_ref_clk_sel;\n\tbool rmii_ref_clk_sel_val;\n\tbool clk_enable;\n\tu64 stats[2];\n};\n\nstruct kszphy_type {\n\tu32 led_mode_reg;\n\tu16 interrupt_level_mask;\n\tu16 cable_diag_reg;\n\tlong unsigned int pair_mask;\n\tu16 disable_dll_tx_bit;\n\tu16 disable_dll_rx_bit;\n\tu16 disable_dll_mask;\n\tbool has_broadcast_disable;\n\tbool has_nand_tree_disable;\n\tbool has_rmii_ref_clk_sel;\n};\n\nstruct ktermios {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n\tspeed_t c_ispeed;\n\tspeed_t c_ospeed;\n};\n\nstruct kthread {\n\tlong unsigned int flags;\n\tunsigned int cpu;\n\tunsigned int node;\n\tint started;\n\tint result;\n\tint (*threadfn)(void *);\n\tvoid *data;\n\tstruct completion parked;\n\tstruct completion exited;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tchar *full_name;\n\tstruct task_struct *task;\n\tstruct list_head hotplug_node;\n\tstruct cpumask *preferred_affinity;\n};\n\nstruct kthread_create_info {\n\tchar *full_name;\n\tint (*threadfn)(void *);\n\tvoid *data;\n\tint node;\n\tstruct task_struct *result;\n\tstruct completion *done;\n\tstruct list_head list;\n};\n\nstruct kthread_delayed_work {\n\tstruct kthread_work work;\n\tstruct timer_list timer;\n};\n\nstruct kthread_flush_work {\n\tstruct kthread_work work;\n\tstruct completion done;\n};\n\nstruct kthread_worker {\n\tunsigned int flags;\n\traw_spinlock_t lock;\n\tstruct list_head work_list;\n\tstruct list_head delayed_work_list;\n\tstruct task_struct *task;\n\tstruct kthread_work *current_work;\n};\n\ntypedef bool (*stack_trace_consume_fn)(void *, long unsigned int);\n\nstruct kunwind_consume_entry_data {\n\tstack_trace_consume_fn consume_entry;\n\tvoid *cookie;\n};\n\nstruct stack_info {\n\tlong unsigned int low;\n\tlong unsigned int high;\n};\n\nstruct unwind_state {\n\tlong unsigned int fp;\n\tlong unsigned int pc;\n\tstruct stack_info stack;\n\tstruct stack_info *stacks;\n\tint nr_stacks;\n};\n\nunion unwind_flags {\n\tlong unsigned int all;\n\tstruct {\n\t\tlong unsigned int fgraph: 1;\n\t\tlong unsigned int kretprobe: 1;\n\t};\n};\n\nstruct kunwind_state {\n\tstruct unwind_state common;\n\tstruct task_struct *task;\n\tint graph_idx;\n\tenum kunwind_source source;\n\tunion unwind_flags flags;\n\tstruct pt_regs *regs;\n};\n\nstruct kvfree_rcu_bulk_data {\n\tstruct list_head list;\n\tstruct rcu_gp_oldstate gp_snap;\n\tlong unsigned int nr_records;\n\tvoid *records[0];\n};\n\nstruct kvm_memslots {\n\tu64 generation;\n\tatomic_long_t last_used_slot;\n\tstruct rb_root_cached hva_tree;\n\tstruct rb_root gfn_tree;\n\tstruct hlist_head id_hash[128];\n\tint node_idx;\n};\n\nstruct kvm_vm_stat_generic {\n\tu64 remote_tlb_flush;\n\tu64 remote_tlb_flush_requests;\n};\n\nstruct kvm_vm_stat {\n\tstruct kvm_vm_stat_generic generic;\n};\n\nstruct kvm_io_bus;\n\nstruct kvm_coalesced_mmio_ring;\n\nstruct kvm_irq_routing_table;\n\nstruct kvm_stat_data;\n\nstruct kvm {\n\trwlock_t mmu_lock;\n\tstruct mutex slots_lock;\n\tstruct mutex slots_arch_lock;\n\tstruct mm_struct *mm;\n\tlong unsigned int nr_memslot_pages;\n\tstruct kvm_memslots __memslots[2];\n\tstruct kvm_memslots *memslots[1];\n\tstruct xarray vcpu_array;\n\tatomic_t nr_memslots_dirty_logging;\n\tspinlock_t mn_invalidate_lock;\n\tlong unsigned int mn_active_invalidate_count;\n\tstruct rcuwait mn_memslots_update_rcuwait;\n\tspinlock_t gpc_lock;\n\tstruct list_head gpc_list;\n\tatomic_t online_vcpus;\n\tint max_vcpus;\n\tint created_vcpus;\n\tint last_boosted_vcpu;\n\tstruct list_head vm_list;\n\tstruct mutex lock;\n\tstruct kvm_io_bus *buses[5];\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head items;\n\t\tstruct list_head resampler_list;\n\t\tstruct mutex resampler_lock;\n\t} irqfds;\n\tstruct list_head ioeventfds;\n\tstruct kvm_vm_stat stat;\n\tstruct kvm_arch arch;\n\trefcount_t users_count;\n\tstruct kvm_coalesced_mmio_ring *coalesced_mmio_ring;\n\tspinlock_t ring_lock;\n\tstruct list_head coalesced_zones;\n\tstruct mutex irq_lock;\n\tstruct kvm_irq_routing_table *irq_routing;\n\tstruct hlist_head irq_ack_notifier_list;\n\tstruct mmu_notifier mmu_notifier;\n\tlong unsigned int mmu_invalidate_seq;\n\tlong int mmu_invalidate_in_progress;\n\tgfn_t mmu_invalidate_range_start;\n\tgfn_t mmu_invalidate_range_end;\n\tstruct list_head devices;\n\tu64 manual_dirty_log_protect;\n\tstruct dentry *debugfs_dentry;\n\tstruct kvm_stat_data **debugfs_stat_data;\n\tstruct srcu_struct srcu;\n\tstruct srcu_struct irq_srcu;\n\tpid_t userspace_pid;\n\tbool override_halt_poll_ns;\n\tunsigned int max_halt_poll_ns;\n\tu32 dirty_ring_size;\n\tbool dirty_ring_with_bitmap;\n\tbool vm_bugged;\n\tbool vm_dead;\n\tchar stats_id[48];\n};\n\nstruct kvm_arch_memory_slot {};\n\nstruct kvm_arm_copy_mte_tags {\n\t__u64 guest_ipa;\n\t__u64 length;\n\tvoid *addr;\n\t__u64 flags;\n\t__u64 reserved[2];\n};\n\nstruct kvm_arm_counter_offset {\n\t__u64 counter_offset;\n\t__u64 reserved;\n};\n\nstruct kvm_arm_device_addr {\n\t__u64 id;\n\t__u64 addr;\n};\n\nstruct kvm_clear_dirty_log {\n\t__u32 slot;\n\t__u32 num_pages;\n\t__u64 first_page;\n\tunion {\n\t\tvoid *dirty_bitmap;\n\t\t__u64 padding2;\n\t};\n};\n\nstruct kvm_coalesced_mmio {\n\t__u64 phys_addr;\n\t__u32 len;\n\tunion {\n\t\t__u32 pad;\n\t\t__u32 pio;\n\t};\n\t__u8 data[8];\n};\n\nstruct kvm_coalesced_mmio_zone {\n\t__u64 addr;\n\t__u32 size;\n\tunion {\n\t\t__u32 pad;\n\t\t__u32 pio;\n\t};\n};\n\nstruct kvm_coalesced_mmio_dev {\n\tstruct list_head list;\n\tstruct kvm_io_device dev;\n\tstruct kvm *kvm;\n\tstruct kvm_coalesced_mmio_zone zone;\n};\n\nstruct kvm_coalesced_mmio_ring {\n\t__u32 first;\n\t__u32 last;\n\tstruct kvm_coalesced_mmio coalesced_mmio[0];\n};\n\nstruct user_fpsimd_state {\n\t__int128 unsigned vregs[32];\n\t__u32 fpsr;\n\t__u32 fpcr;\n\t__u32 __reserved[2];\n};\n\nstruct kvm_cpu_context {\n\tstruct user_pt_regs regs;\n\tu64 spsr_abt;\n\tu64 spsr_und;\n\tu64 spsr_irq;\n\tu64 spsr_fiq;\n\tstruct user_fpsimd_state fp_regs;\n\tu64 sys_regs[286];\n\tstruct kvm_vcpu *__hyp_running_vcpu;\n\tu64 *vncr_array;\n};\n\nstruct kvm_create_device {\n\t__u32 type;\n\t__u32 fd;\n\t__u32 flags;\n};\n\nstruct kvm_debug_exit_arch {\n\t__u32 hsr;\n\t__u32 hsr_high;\n\t__u64 far;\n};\n\nstruct kvm_device_ops;\n\nstruct kvm_device {\n\tconst struct kvm_device_ops *ops;\n\tstruct kvm *kvm;\n\tvoid *private;\n\tstruct list_head vm_node;\n};\n\nstruct kvm_device_attr {\n\t__u32 flags;\n\t__u32 group;\n\t__u64 attr;\n\t__u64 addr;\n};\n\nstruct kvm_device_ops {\n\tconst char *name;\n\tint (*create)(struct kvm_device *, u32);\n\tvoid (*init)(struct kvm_device *);\n\tvoid (*destroy)(struct kvm_device *);\n\tvoid (*release)(struct kvm_device *);\n\tint (*set_attr)(struct kvm_device *, struct kvm_device_attr *);\n\tint (*get_attr)(struct kvm_device *, struct kvm_device_attr *);\n\tint (*has_attr)(struct kvm_device *, struct kvm_device_attr *);\n\tlong int (*ioctl)(struct kvm_device *, unsigned int, long unsigned int);\n\tint (*mmap)(struct kvm_device *, struct vm_area_struct *);\n};\n\nstruct kvm_dirty_gfn {\n\t__u32 flags;\n\t__u32 slot;\n\t__u64 offset;\n};\n\nstruct kvm_dirty_log {\n\t__u32 slot;\n\t__u32 padding1;\n\tunion {\n\t\tvoid *dirty_bitmap;\n\t\t__u64 padding2;\n\t};\n};\n\nstruct kvm_dirty_ring {\n\tu32 dirty_index;\n\tu32 reset_index;\n\tu32 size;\n\tu32 soft_limit;\n\tstruct kvm_dirty_gfn *dirty_gfns;\n\tint index;\n};\n\nstruct kvm_enable_cap {\n\t__u32 cap;\n\t__u32 flags;\n\t__u64 args[4];\n\t__u8 pad[64];\n};\n\nstruct kvm_exception_table_entry {\n\tint insn;\n\tint fixup;\n};\n\nstruct kvm_ffa_buffers {\n\thyp_spinlock_t lock;\n\tvoid *tx;\n\tvoid *rx;\n};\n\nstruct kvm_ffa_descriptor_buffer {\n\tvoid *buf;\n\tsize_t len;\n};\n\nstruct kvm_follow_pfn {\n\tconst struct kvm_memory_slot *slot;\n\tconst gfn_t gfn;\n\tlong unsigned int hva;\n\tunsigned int flags;\n\tbool pin;\n\tbool *map_writable;\n\tstruct page **refcounted_page;\n};\n\nstruct kvm_fpu {};\n\nunion kvm_mmu_notifier_arg {\n\tlong unsigned int attributes;\n};\n\nstruct kvm_gfn_range {\n\tstruct kvm_memory_slot *slot;\n\tgfn_t start;\n\tgfn_t end;\n\tunion kvm_mmu_notifier_arg arg;\n\tenum kvm_gfn_range_filter attr_filter;\n\tbool may_block;\n};\n\nstruct kvm_guest_debug_arch {\n\t__u64 dbg_bcr[16];\n\t__u64 dbg_bvr[16];\n\t__u64 dbg_wcr[16];\n\t__u64 dbg_wvr[16];\n};\n\nstruct kvm_guest_debug {\n\t__u32 control;\n\t__u32 pad;\n\tstruct kvm_guest_debug_arch arch;\n};\n\nstruct kvm_host_data {\n\tlong unsigned int flags;\n\tlong: 64;\n\tstruct kvm_cpu_context host_ctxt;\n\tstruct cpu_sve_state *sve_state;\n\tu64 fpmr;\n\tenum {\n\t\tFP_STATE_FREE = 0,\n\t\tFP_STATE_HOST_OWNED = 1,\n\t\tFP_STATE_GUEST_OWNED = 2,\n\t} fp_owner;\n\tstruct {\n\t\tstruct kvm_guest_debug_arch regs;\n\t\tu64 pmscr_el1;\n\t\tu64 trfcr_el1;\n\t\tu64 mdcr_el2;\n\t} host_debug_state;\n\tu64 trfcr_while_in_guest;\n\tunsigned int nr_event_counters;\n\tunsigned int debug_brps;\n\tunsigned int debug_wrps;\n\tlong: 64;\n};\n\nstruct kvm_host_map {\n\tstruct page *pinned_page;\n\tstruct page *page;\n\tvoid *hva;\n\tkvm_pfn_t pfn;\n\tkvm_pfn_t gfn;\n\tbool writable;\n};\n\nstruct psci_0_1_function_ids {\n\tu32 cpu_suspend;\n\tu32 cpu_on;\n\tu32 cpu_off;\n\tu32 migrate;\n};\n\nstruct kvm_host_psci_config {\n\tu32 version;\n\tu32 smccc_version;\n\tstruct psci_0_1_function_ids function_ids_0_1;\n\tbool psci_0_1_cpu_suspend_implemented;\n\tbool psci_0_1_cpu_on_implemented;\n\tbool psci_0_1_cpu_off_implemented;\n\tbool psci_0_1_migrate_implemented;\n};\n\nstruct kvm_hv_sint {\n\tu32 vcpu;\n\tu32 sint;\n};\n\nstruct kvm_hyperv_exit {\n\t__u32 type;\n\t__u32 pad1;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 msr;\n\t\t\t__u32 pad2;\n\t\t\t__u64 control;\n\t\t\t__u64 evt_page;\n\t\t\t__u64 msg_page;\n\t\t} synic;\n\t\tstruct {\n\t\t\t__u64 input;\n\t\t\t__u64 result;\n\t\t\t__u64 params[2];\n\t\t} hcall;\n\t\tstruct {\n\t\t\t__u32 msr;\n\t\t\t__u32 pad2;\n\t\t\t__u64 control;\n\t\t\t__u64 status;\n\t\t\t__u64 send_page;\n\t\t\t__u64 recv_page;\n\t\t\t__u64 pending_page;\n\t\t} syndbg;\n\t} u;\n};\n\nstruct kvm_io_range {\n\tgpa_t addr;\n\tint len;\n\tstruct kvm_io_device *dev;\n};\n\nstruct kvm_io_bus {\n\tint dev_count;\n\tint ioeventfd_count;\n\tstruct kvm_io_range range[0];\n};\n\nstruct kvm_io_device_ops {\n\tint (*read)(struct kvm_vcpu *, struct kvm_io_device *, gpa_t, int, void *);\n\tint (*write)(struct kvm_vcpu *, struct kvm_io_device *, gpa_t, int, const void *);\n\tvoid (*destructor)(struct kvm_io_device *);\n};\n\nstruct kvm_ioeventfd {\n\t__u64 datamatch;\n\t__u64 addr;\n\t__u32 len;\n\t__s32 fd;\n\t__u32 flags;\n\t__u8 pad[36];\n};\n\nstruct kvm_irq_ack_notifier {\n\tstruct hlist_node link;\n\tunsigned int gsi;\n\tvoid (*irq_acked)(struct kvm_irq_ack_notifier *);\n};\n\nstruct kvm_irq_level {\n\tunion {\n\t\t__u32 irq;\n\t\t__s32 status;\n\t};\n\t__u32 level;\n};\n\nstruct kvm_irq_routing_irqchip {\n\t__u32 irqchip;\n\t__u32 pin;\n};\n\nstruct kvm_irq_routing_msi {\n\t__u32 address_lo;\n\t__u32 address_hi;\n\t__u32 data;\n\tunion {\n\t\t__u32 pad;\n\t\t__u32 devid;\n\t};\n};\n\nstruct kvm_irq_routing_s390_adapter {\n\t__u64 ind_addr;\n\t__u64 summary_addr;\n\t__u64 ind_offset;\n\t__u32 summary_offset;\n\t__u32 adapter_id;\n};\n\nstruct kvm_irq_routing_hv_sint {\n\t__u32 vcpu;\n\t__u32 sint;\n};\n\nstruct kvm_irq_routing_xen_evtchn {\n\t__u32 port;\n\t__u32 vcpu;\n\t__u32 priority;\n};\n\nstruct kvm_irq_routing_entry {\n\t__u32 gsi;\n\t__u32 type;\n\t__u32 flags;\n\t__u32 pad;\n\tunion {\n\t\tstruct kvm_irq_routing_irqchip irqchip;\n\t\tstruct kvm_irq_routing_msi msi;\n\t\tstruct kvm_irq_routing_s390_adapter adapter;\n\t\tstruct kvm_irq_routing_hv_sint hv_sint;\n\t\tstruct kvm_irq_routing_xen_evtchn xen_evtchn;\n\t\t__u32 pad[8];\n\t} u;\n};\n\nstruct kvm_irq_routing {\n\t__u32 nr;\n\t__u32 flags;\n\tstruct kvm_irq_routing_entry entries[0];\n};\n\nstruct kvm_irq_routing_table {\n\tint chip[988];\n\tu32 nr_rt_entries;\n\tstruct hlist_head map[0];\n};\n\nstruct kvm_irqfd {\n\t__u32 fd;\n\t__u32 gsi;\n\t__u32 flags;\n\t__u32 resamplefd;\n\t__u8 pad[16];\n};\n\nstruct kvm_s390_adapter_int {\n\tu64 ind_addr;\n\tu64 summary_addr;\n\tu64 ind_offset;\n\tu32 summary_offset;\n\tu32 adapter_id;\n};\n\nstruct kvm_xen_evtchn {\n\tu32 port;\n\tu32 vcpu_id;\n\tint vcpu_idx;\n\tu32 priority;\n};\n\nstruct kvm_kernel_irq_routing_entry {\n\tu32 gsi;\n\tu32 type;\n\tint (*set)(struct kvm_kernel_irq_routing_entry *, struct kvm *, int, int, bool);\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int irqchip;\n\t\t\tunsigned int pin;\n\t\t} irqchip;\n\t\tstruct {\n\t\t\tu32 address_lo;\n\t\t\tu32 address_hi;\n\t\t\tu32 data;\n\t\t\tu32 flags;\n\t\t\tu32 devid;\n\t\t} msi;\n\t\tstruct kvm_s390_adapter_int adapter;\n\t\tstruct kvm_hv_sint hv_sint;\n\t\tstruct kvm_xen_evtchn xen_evtchn;\n\t};\n\tstruct hlist_node link;\n};\n\nstruct kvm_kernel_irqfd_resampler;\n\nstruct kvm_kernel_irqfd {\n\tstruct kvm *kvm;\n\twait_queue_entry_t wait;\n\tstruct kvm_kernel_irq_routing_entry irq_entry;\n\tseqcount_spinlock_t irq_entry_sc;\n\tint gsi;\n\tstruct work_struct inject;\n\tstruct kvm_kernel_irqfd_resampler *resampler;\n\tstruct eventfd_ctx *resamplefd;\n\tstruct list_head resampler_link;\n\tstruct eventfd_ctx *eventfd;\n\tstruct list_head list;\n\tpoll_table pt;\n\tstruct work_struct shutdown;\n\tstruct irq_bypass_consumer consumer;\n\tstruct irq_bypass_producer *producer;\n};\n\nstruct kvm_kernel_irqfd_resampler {\n\tstruct kvm *kvm;\n\tstruct list_head list;\n\tstruct kvm_irq_ack_notifier notifier;\n\tstruct list_head link;\n};\n\nstruct kvm_mem_range {\n\tu64 start;\n\tu64 end;\n};\n\nstruct kvm_memory_slot {\n\tstruct hlist_node id_node[2];\n\tstruct interval_tree_node hva_node[2];\n\tstruct rb_node gfn_node[2];\n\tgfn_t base_gfn;\n\tlong unsigned int npages;\n\tlong unsigned int *dirty_bitmap;\n\tstruct kvm_arch_memory_slot arch;\n\tlong unsigned int userspace_addr;\n\tu32 flags;\n\tshort int id;\n\tu16 as_id;\n};\n\nstruct kvm_memslot_iter {\n\tstruct kvm_memslots *slots;\n\tstruct rb_node *node;\n\tstruct kvm_memory_slot *slot;\n};\n\nstruct kvm_mmio_fragment {\n\tgpa_t gpa;\n\tvoid *data;\n\tunsigned int len;\n};\n\ntypedef bool (*gfn_handler_t)(struct kvm *, struct kvm_gfn_range *);\n\ntypedef void (*on_lock_fn_t)(struct kvm *);\n\nstruct kvm_mmu_notifier_range {\n\tu64 start;\n\tu64 end;\n\tunion kvm_mmu_notifier_arg arg;\n\tgfn_handler_t handler;\n\ton_lock_fn_t on_lock;\n\tbool flush_on_ret;\n\tbool may_block;\n};\n\nstruct kvm_mmu_notifier_return {\n\tbool ret;\n\tbool found_memslot;\n};\n\ntypedef struct kvm_mmu_notifier_return kvm_mn_ret_t;\n\nstruct kvm_mp_state {\n\t__u32 mp_state;\n};\n\nstruct kvm_mpidr_data {\n\tu64 mpidr_mask;\n\tstruct {\n\t\tstruct {} __empty_cmpidr_to_idx;\n\t\tu16 cmpidr_to_idx[0];\n\t};\n};\n\nstruct kvm_msi {\n\t__u32 address_lo;\n\t__u32 address_hi;\n\t__u32 data;\n\t__u32 flags;\n\t__u32 devid;\n\t__u8 pad[12];\n};\n\nstruct kvm_nvhe_init_params {\n\tlong unsigned int mair_el2;\n\tlong unsigned int tcr_el2;\n\tlong unsigned int tpidr_el2;\n\tlong unsigned int stack_hyp_va;\n\tlong unsigned int stack_pa;\n\tphys_addr_t pgd_pa;\n\tlong unsigned int hcr_el2;\n\tlong unsigned int vttbr;\n\tlong unsigned int vtcr;\n\tlong unsigned int tmp;\n};\n\nstruct kvm_nvhe_stacktrace_info {\n\tlong unsigned int stack_base;\n\tlong unsigned int overflow_stack_base;\n\tlong unsigned int fp;\n\tlong unsigned int pc;\n};\n\nstruct kvm_one_reg {\n\t__u64 id;\n\t__u64 addr;\n};\n\nstruct kvm_pgtable_visit_ctx {\n\tkvm_pte_t *ptep;\n\tkvm_pte_t old;\n\tvoid *arg;\n\tstruct kvm_pgtable_mm_ops *mm_ops;\n\tu64 start;\n\tu64 addr;\n\tu64 end;\n\ts8 level;\n\tenum kvm_pgtable_walk_flags flags;\n};\n\nstruct kvm_pgtable_walker;\n\nstruct kvm_pgtable_walk_data {\n\tstruct kvm_pgtable_walker *walker;\n\tconst u64 start;\n\tu64 addr;\n\tconst u64 end;\n};\n\ntypedef int (*kvm_pgtable_visitor_fn_t)(const struct kvm_pgtable_visit_ctx *, enum kvm_pgtable_walk_flags);\n\nstruct kvm_pgtable_walker {\n\tconst kvm_pgtable_visitor_fn_t cb;\n\tvoid * const arg;\n\tconst enum kvm_pgtable_walk_flags flags;\n};\n\nstruct kvm_pmc {\n\tu8 idx;\n\tstruct perf_event *perf_event;\n};\n\nstruct kvm_pmu_events {\n\tu64 events_host;\n\tu64 events_guest;\n};\n\nstruct kvm_pmu {\n\tstruct irq_work overflow_work;\n\tstruct kvm_pmu_events events;\n\tstruct kvm_pmc pmc[32];\n\tint irq_num;\n\tbool created;\n\tbool irq_level;\n};\n\nstruct kvm_pmu_event_filter {\n\t__u16 base_event;\n\t__u16 nevents;\n\t__u8 action;\n\t__u8 pad[3];\n};\n\nstruct kvm_ptp_clock {\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info caps;\n};\n\nstruct kvm_reg_list {\n\t__u64 n;\n\t__u64 reg[0];\n};\n\nstruct kvm_regs {\n\tstruct user_pt_regs regs;\n\t__u64 sp_el1;\n\t__u64 elr_el1;\n\t__u64 spsr[5];\n\tlong: 64;\n\tstruct user_fpsimd_state fp_regs;\n};\n\nstruct kvm_xen_exit {\n\t__u32 type;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 longmode;\n\t\t\t__u32 cpl;\n\t\t\t__u64 input;\n\t\t\t__u64 result;\n\t\t\t__u64 params[6];\n\t\t} hcall;\n\t} u;\n};\n\nstruct kvm_sync_regs {\n\t__u64 device_irq_level;\n};\n\nstruct kvm_run {\n\t__u8 request_interrupt_window;\n\t__u8 immediate_exit__unsafe;\n\t__u8 padding1[6];\n\t__u32 exit_reason;\n\t__u8 ready_for_interrupt_injection;\n\t__u8 if_flag;\n\t__u16 flags;\n\t__u64 cr8;\n\t__u64 apic_base;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 hardware_exit_reason;\n\t\t} hw;\n\t\tstruct {\n\t\t\t__u64 hardware_entry_failure_reason;\n\t\t\t__u32 cpu;\n\t\t} fail_entry;\n\t\tstruct {\n\t\t\t__u32 exception;\n\t\t\t__u32 error_code;\n\t\t} ex;\n\t\tstruct {\n\t\t\t__u8 direction;\n\t\t\t__u8 size;\n\t\t\t__u16 port;\n\t\t\t__u32 count;\n\t\t\t__u64 data_offset;\n\t\t} io;\n\t\tstruct {\n\t\t\tstruct kvm_debug_exit_arch arch;\n\t\t} debug;\n\t\tstruct {\n\t\t\t__u64 phys_addr;\n\t\t\t__u8 data[8];\n\t\t\t__u32 len;\n\t\t\t__u8 is_write;\n\t\t} mmio;\n\t\tstruct {\n\t\t\t__u64 phys_addr;\n\t\t\t__u8 data[8];\n\t\t\t__u32 len;\n\t\t\t__u8 is_write;\n\t\t} iocsr_io;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t\t__u64 ret;\n\t\t\tunion {\n\t\t\t\t__u64 flags;\n\t\t\t};\n\t\t} hypercall;\n\t\tstruct {\n\t\t\t__u64 rip;\n\t\t\t__u32 is_write;\n\t\t\t__u32 pad;\n\t\t} tpr_access;\n\t\tstruct {\n\t\t\t__u8 icptcode;\n\t\t\t__u16 ipa;\n\t\t\t__u32 ipb;\n\t\t} s390_sieic;\n\t\t__u64 s390_reset_flags;\n\t\tstruct {\n\t\t\t__u64 trans_exc_code;\n\t\t\t__u32 pgm_code;\n\t\t} s390_ucontrol;\n\t\tstruct {\n\t\t\t__u32 dcrn;\n\t\t\t__u32 data;\n\t\t\t__u8 is_write;\n\t\t} dcr;\n\t\tstruct {\n\t\t\t__u32 suberror;\n\t\t\t__u32 ndata;\n\t\t\t__u64 data[16];\n\t\t} internal;\n\t\tstruct {\n\t\t\t__u32 suberror;\n\t\t\t__u32 ndata;\n\t\t\t__u64 flags;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u8 insn_size;\n\t\t\t\t\t__u8 insn_bytes[15];\n\t\t\t\t};\n\t\t\t};\n\t\t} emulation_failure;\n\t\tstruct {\n\t\t\t__u64 gprs[32];\n\t\t} osi;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 ret;\n\t\t\t__u64 args[9];\n\t\t} papr_hcall;\n\t\tstruct {\n\t\t\t__u16 subchannel_id;\n\t\t\t__u16 subchannel_nr;\n\t\t\t__u32 io_int_parm;\n\t\t\t__u32 io_int_word;\n\t\t\t__u32 ipb;\n\t\t\t__u8 dequeued;\n\t\t} s390_tsch;\n\t\tstruct {\n\t\t\t__u32 epr;\n\t\t} epr;\n\t\tstruct {\n\t\t\t__u32 type;\n\t\t\t__u32 ndata;\n\t\t\tunion {\n\t\t\t\t__u64 data[16];\n\t\t\t};\n\t\t} system_event;\n\t\tstruct {\n\t\t\t__u64 addr;\n\t\t\t__u8 ar;\n\t\t\t__u8 reserved;\n\t\t\t__u8 fc;\n\t\t\t__u8 sel1;\n\t\t\t__u16 sel2;\n\t\t} s390_stsi;\n\t\tstruct {\n\t\t\t__u8 vector;\n\t\t} eoi;\n\t\tstruct kvm_hyperv_exit hyperv;\n\t\tstruct {\n\t\t\t__u64 esr_iss;\n\t\t\t__u64 fault_ipa;\n\t\t} arm_nisv;\n\t\tstruct {\n\t\t\t__u8 error;\n\t\t\t__u8 pad[7];\n\t\t\t__u32 reason;\n\t\t\t__u32 index;\n\t\t\t__u64 data;\n\t\t} msr;\n\t\tstruct kvm_xen_exit xen;\n\t\tstruct {\n\t\t\tlong unsigned int extension_id;\n\t\t\tlong unsigned int function_id;\n\t\t\tlong unsigned int args[6];\n\t\t\tlong unsigned int ret[2];\n\t\t} riscv_sbi;\n\t\tstruct {\n\t\t\tlong unsigned int csr_num;\n\t\t\tlong unsigned int new_value;\n\t\t\tlong unsigned int write_mask;\n\t\t\tlong unsigned int ret_value;\n\t\t} riscv_csr;\n\t\tstruct {\n\t\t\t__u32 flags;\n\t\t} notify;\n\t\tstruct {\n\t\t\t__u64 flags;\n\t\t\t__u64 gpa;\n\t\t\t__u64 size;\n\t\t} memory_fault;\n\t\tchar padding[256];\n\t};\n\t__u64 kvm_valid_regs;\n\t__u64 kvm_dirty_regs;\n\tunion {\n\t\tstruct kvm_sync_regs regs;\n\t\tchar padding[2048];\n\t} s;\n};\n\nstruct kvm_s2_trans {\n\tphys_addr_t output;\n\tlong unsigned int block_size;\n\tbool writable;\n\tbool readable;\n\tint level;\n\tu32 esr;\n\tu64 desc;\n};\n\nstruct kvm_signal_mask {\n\t__u32 len;\n\t__u8 sigset[0];\n};\n\nstruct kvm_smccc_filter {\n\t__u32 base;\n\t__u32 nr_functions;\n\t__u8 action;\n\t__u8 pad[15];\n};\n\nstruct kvm_sregs {};\n\nstruct kvm_stat_data {\n\tstruct kvm *kvm;\n\tconst struct _kvm_stats_desc *desc;\n\tenum kvm_stat_kind kind;\n};\n\nstruct kvm_stats_header {\n\t__u32 flags;\n\t__u32 name_size;\n\t__u32 num_desc;\n\t__u32 id_offset;\n\t__u32 desc_offset;\n\t__u32 data_offset;\n};\n\nstruct kvm_sysreg_masks {\n\tstruct {\n\t\tu64 res0;\n\t\tu64 res1;\n\t} mask[156];\n};\n\nstruct kvm_translation {\n\t__u64 linear_address;\n\t__u64 physical_address;\n\t__u8 valid;\n\t__u8 writeable;\n\t__u8 usermode;\n\t__u8 pad[5];\n};\n\nstruct kvm_userspace_memory_region {\n\t__u32 slot;\n\t__u32 flags;\n\t__u64 guest_phys_addr;\n\t__u64 memory_size;\n\t__u64 userspace_addr;\n};\n\nstruct kvm_userspace_memory_region2 {\n\t__u32 slot;\n\t__u32 flags;\n\t__u64 guest_phys_addr;\n\t__u64 memory_size;\n\t__u64 userspace_addr;\n\t__u64 guest_memfd_offset;\n\t__u32 guest_memfd;\n\t__u32 pad1;\n\t__u64 pad2[14];\n};\n\nstruct preempt_ops;\n\nstruct preempt_notifier {\n\tstruct hlist_node link;\n\tstruct preempt_ops *ops;\n};\n\nstruct kvm_vcpu_fault_info {\n\tu64 esr_el2;\n\tu64 far_el2;\n\tu64 hpfar_el2;\n\tu64 disr_el1;\n};\n\nstruct vgic_v2_cpu_if {\n\tu32 vgic_hcr;\n\tu32 vgic_vmcr;\n\tu32 vgic_apr;\n\tu32 vgic_lr[64];\n\tunsigned int used_lrs;\n};\n\nstruct vgic_v3_cpu_if {\n\tu32 vgic_hcr;\n\tu32 vgic_vmcr;\n\tu32 vgic_sre;\n\tu32 vgic_ap0r[4];\n\tu32 vgic_ap1r[4];\n\tu64 vgic_lr[16];\n\tstruct its_vpe its_vpe;\n\tunsigned int used_lrs;\n};\n\nstruct vgic_redist_region;\n\nstruct vgic_cpu {\n\tunion {\n\t\tstruct vgic_v2_cpu_if vgic_v2;\n\t\tstruct vgic_v3_cpu_if vgic_v3;\n\t};\n\tstruct vgic_irq *private_irqs;\n\traw_spinlock_t ap_list_lock;\n\tstruct list_head ap_list_head;\n\tstruct vgic_io_device rd_iodev;\n\tstruct vgic_redist_region *rdreg;\n\tu32 rdreg_index;\n\tatomic_t syncr_busy;\n\tu64 pendbaser;\n\tatomic_t ctlr;\n\tu32 num_pri_bits;\n\tu32 num_id_bits;\n};\n\nstruct vcpu_reset_state {\n\tlong unsigned int pc;\n\tlong unsigned int r0;\n\tbool be;\n\tbool reset;\n};\n\nstruct kvm_vcpu_arch {\n\tstruct kvm_cpu_context ctxt;\n\tvoid *sve_state;\n\tenum fp_type fp_type;\n\tunsigned int sve_max_vl;\n\tstruct kvm_s2_mmu *hw_mmu;\n\tu64 hcr_el2;\n\tu64 hcrx_el2;\n\tu64 mdcr_el2;\n\tstruct kvm_vcpu_fault_info fault;\n\tu8 cflags;\n\tu8 iflags;\n\tu8 sflags;\n\tbool pause;\n\tstruct kvm_guest_debug_arch vcpu_debug_state;\n\tstruct kvm_guest_debug_arch external_debug_state;\n\tu64 external_mdscr_el1;\n\tenum {\n\t\tVCPU_DEBUG_FREE = 0,\n\t\tVCPU_DEBUG_HOST_OWNED = 1,\n\t\tVCPU_DEBUG_GUEST_OWNED = 2,\n\t} debug_owner;\n\tstruct vgic_cpu vgic_cpu;\n\tstruct arch_timer_cpu timer_cpu;\n\tstruct kvm_pmu pmu;\n\tstruct kvm_mp_state mp_state;\n\tspinlock_t mp_state_lock;\n\tstruct kvm_mmu_memory_cache mmu_page_cache;\n\tstruct kvm_hyp_memcache pkvm_memcache;\n\tu64 vsesr_el2;\n\tstruct vcpu_reset_state reset_state;\n\tstruct {\n\t\tu64 last_steal;\n\t\tgpa_t base;\n\t} steal;\n\tu32 *ccsidr;\n\tlong: 64;\n};\n\nstruct kvm_vcpu_stat_generic {\n\tu64 halt_successful_poll;\n\tu64 halt_attempted_poll;\n\tu64 halt_poll_invalid;\n\tu64 halt_wakeup;\n\tu64 halt_poll_success_ns;\n\tu64 halt_poll_fail_ns;\n\tu64 halt_wait_ns;\n\tu64 halt_poll_success_hist[32];\n\tu64 halt_poll_fail_hist[32];\n\tu64 halt_wait_hist[32];\n\tu64 blocking;\n};\n\nstruct kvm_vcpu_stat {\n\tstruct kvm_vcpu_stat_generic generic;\n\tu64 hvc_exit_stat;\n\tu64 wfe_exit_stat;\n\tu64 wfi_exit_stat;\n\tu64 mmio_exit_user;\n\tu64 mmio_exit_kernel;\n\tu64 signal_exits;\n\tu64 exits;\n};\n\nstruct kvm_vcpu {\n\tstruct kvm *kvm;\n\tstruct preempt_notifier preempt_notifier;\n\tint cpu;\n\tint vcpu_id;\n\tint vcpu_idx;\n\tint ____srcu_idx;\n\tint mode;\n\tu64 requests;\n\tlong unsigned int guest_debug;\n\tstruct mutex mutex;\n\tstruct kvm_run *run;\n\tstruct rcuwait wait;\n\tstruct pid *pid;\n\trwlock_t pid_lock;\n\tint sigset_active;\n\tsigset_t sigset;\n\tunsigned int halt_poll_ns;\n\tbool valid_wakeup;\n\tint mmio_needed;\n\tint mmio_read_completed;\n\tint mmio_is_write;\n\tint mmio_cur_fragment;\n\tint mmio_nr_fragments;\n\tstruct kvm_mmio_fragment mmio_fragments[2];\n\tstruct {\n\t\tbool in_spin_loop;\n\t\tbool dy_eligible;\n\t} spin_loop;\n\tbool wants_to_run;\n\tbool preempted;\n\tbool ready;\n\tbool scheduled_out;\n\tstruct kvm_vcpu_arch arch;\n\tstruct kvm_vcpu_stat stat;\n\tchar stats_id[48];\n\tstruct kvm_dirty_ring dirty_ring;\n\tstruct kvm_memory_slot *last_used_slot;\n\tu64 last_used_slot_gen;\n\tlong: 64;\n};\n\nstruct kvm_vcpu_events {\n\tstruct {\n\t\t__u8 serror_pending;\n\t\t__u8 serror_has_esr;\n\t\t__u8 ext_dabt_pending;\n\t\t__u8 pad[5];\n\t\t__u64 serror_esr;\n\t} exception;\n\t__u32 reserved[12];\n};\n\nstruct kvm_vcpu_init {\n\t__u32 target;\n\t__u32 features[7];\n};\n\nstruct kvm_vfio {\n\tstruct list_head file_list;\n\tstruct mutex lock;\n\tbool noncoherent;\n};\n\nstruct kvm_vfio_file {\n\tstruct list_head node;\n\tstruct file *file;\n};\n\nstruct kyber_cpu_latency {\n\tatomic_t buckets[48];\n};\n\nstruct kyber_ctx_queue {\n\tspinlock_t lock;\n\tstruct list_head rq_list[4];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbq_wait {\n\tstruct sbitmap_queue *sbq;\n\tstruct wait_queue_entry wait;\n};\n\nstruct kyber_hctx_data {\n\tspinlock_t lock;\n\tstruct list_head rqs[4];\n\tunsigned int cur_domain;\n\tunsigned int batching;\n\tstruct kyber_ctx_queue *kcqs;\n\tstruct sbitmap kcq_map[4];\n\tstruct sbq_wait domain_wait[4];\n\tstruct sbq_wait_state *domain_ws[4];\n\tatomic_t wait_index[4];\n};\n\nstruct kyber_queue_data {\n\tstruct request_queue *q;\n\tdev_t dev;\n\tstruct sbitmap_queue domain_tokens[4];\n\tunsigned int async_depth;\n\tstruct kyber_cpu_latency *cpu_latency;\n\tstruct timer_list timer;\n\tunsigned int latency_buckets[48];\n\tlong unsigned int latency_timeout[3];\n\tint domain_p99[3];\n\tu64 latency_targets[3];\n};\n\nstruct l2cache_pmu {\n\tstruct hlist_node node;\n\tu32 num_pmus;\n\tstruct pmu pmu;\n\tint num_counters;\n\tcpumask_t cpumask;\n\tstruct platform_device *pdev;\n\tstruct cluster_pmu **pmu_cluster;\n\tstruct list_head clusters;\n};\n\nunion l3_hdr_info {\n\tstruct iphdr *v4;\n\tstruct ipv6hdr *v6;\n\tunsigned char *hdr;\n};\n\nstruct l3cache_event_ops {\n\tvoid (*start)(struct perf_event *);\n\tvoid (*stop)(struct perf_event *, int);\n\tvoid (*update)(struct perf_event *);\n};\n\nstruct l3cache_pmu {\n\tstruct pmu pmu;\n\tstruct hlist_node node;\n\tvoid *regs;\n\tstruct perf_event *events[8];\n\tlong unsigned int used_mask[1];\n\tcpumask_t cpumask;\n};\n\nstruct tcphdr;\n\nunion l4_hdr_info {\n\tstruct tcphdr *tcp;\n\tstruct udphdr *udp;\n\tstruct gre_base_hdr *gre;\n\tunsigned char *hdr;\n};\n\nstruct lan8814_ptp_rx_ts {\n\tstruct list_head list;\n\tu32 seconds;\n\tu32 nsec;\n\tu16 seq_id;\n};\n\nstruct lan8814_shared_priv {\n\tstruct phy_device *phydev;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct ptp_pin_desc *pin_config;\n\tstruct mutex shared_lock;\n};\n\nstruct latch_tree_ops {\n\tbool (*less)(struct latch_tree_node *, struct latch_tree_node *);\n\tint (*comp)(void *, struct latch_tree_node *);\n};\n\nstruct latch_tree_root {\n\tseqcount_latch_t seq;\n\tstruct rb_root tree[2];\n};\n\nstruct latched_seq {\n\tseqcount_latch_t latch;\n\tu64 val[2];\n};\n\nstruct lateeoi_work {\n\tstruct delayed_work delayed;\n\tspinlock_t eoi_list_lock;\n\tstruct list_head eoi_list;\n};\n\nstruct sched_domain;\n\nstruct lb_env {\n\tstruct sched_domain *sd;\n\tstruct rq *src_rq;\n\tint src_cpu;\n\tint dst_cpu;\n\tstruct rq *dst_rq;\n\tstruct cpumask *dst_grpmask;\n\tint new_dst_cpu;\n\tenum cpu_idle_type idle;\n\tlong int imbalance;\n\tstruct cpumask *cpus;\n\tunsigned int flags;\n\tunsigned int loop;\n\tunsigned int loop_break;\n\tunsigned int loop_max;\n\tenum fbq_type fbq_type;\n\tenum migration_type migration_type;\n\tstruct list_head tasks;\n};\n\nstruct ld_semaphore {\n\tatomic_long_t count;\n\traw_spinlock_t wait_lock;\n\tunsigned int wait_readers;\n\tstruct list_head read_wait;\n\tstruct list_head write_wait;\n};\n\nstruct ldsem_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n};\n\nstruct leaf_walk_data {\n\tkvm_pte_t pte;\n\ts8 level;\n};\n\nstruct lease_manager_operations {\n\tbool (*lm_break)(struct file_lease *);\n\tint (*lm_change)(struct file_lease *, int, struct list_head *);\n\tvoid (*lm_setup)(struct file_lease *, void **);\n\tbool (*lm_breaker_owns_lease)(struct file_lease *);\n};\n\nstruct mc_subled;\n\nstruct led_classdev_mc {\n\tstruct led_classdev led_cdev;\n\tunsigned int num_colors;\n\tstruct mc_subled *subled_info;\n};\n\nstruct led_hw_trigger_type {\n\tint dummy;\n};\n\nstruct led_init_data {\n\tstruct fwnode_handle *fwnode;\n\tconst char *default_label;\n\tconst char *devicename;\n\tbool devname_mandatory;\n};\n\nstruct led_lookup_data {\n\tstruct list_head list;\n\tconst char *provider;\n\tconst char *dev_id;\n\tconst char *con_id;\n};\n\nstruct led_pattern {\n\tu32 delta_t;\n\tint brightness;\n};\n\nstruct led_properties {\n\tu32 color;\n\tbool color_present;\n\tconst char *function;\n\tu32 func_enum;\n\tbool func_enum_present;\n\tconst char *label;\n};\n\nstruct led_pwm {\n\tconst char *name;\n\tu8 active_low;\n\tu8 default_state;\n\tunsigned int max_brightness;\n};\n\nstruct pwm_state {\n\tu64 period;\n\tu64 duty_cycle;\n\tenum pwm_polarity polarity;\n\tbool enabled;\n\tbool usage_power;\n};\n\nstruct led_pwm_data {\n\tstruct led_classdev cdev;\n\tstruct pwm_device *pwm;\n\tstruct pwm_state pwmstate;\n\tunsigned int active_low;\n};\n\nstruct led_pwm_priv {\n\tint num_leds;\n\tstruct led_pwm_data leds[0];\n};\n\nstruct led_trigger_cpu {\n\tbool is_active;\n\tchar name[8];\n\tstruct led_trigger *_trig;\n};\n\nstruct legacy_clk_set_value {\n\t__le32 rate;\n\t__le16 id;\n\t__le16 reserved;\n};\n\nstruct legacy_fs_context {\n\tchar *legacy_data;\n\tsize_t data_size;\n\tenum legacy_fs_param param_type;\n};\n\nstruct legacy_scpi_shared_mem {\n\t__le32 status;\n\tu8 payload[0];\n};\n\nstruct lg_drv_data {\n\tlong unsigned int quirks;\n\tvoid *device_props;\n};\n\nstruct lg_g15_led {\n\tstruct led_classdev cdev;\n\tenum led_brightness brightness;\n\tenum lg_g15_led_type led;\n\tu8 red;\n\tu8 green;\n\tu8 blue;\n};\n\nstruct lg_g15_data {\n\tu8 transfer_buf[20];\n\tstruct mutex mutex;\n\tstruct work_struct work;\n\tstruct input_dev *input;\n\tstruct hid_device *hdev;\n\tenum lg_g15_model model;\n\tstruct lg_g15_led leds[6];\n\tbool game_mode_enabled;\n};\n\nstruct limit_names {\n\tconst char *name;\n\tconst char *unit;\n};\n\nstruct linereq;\n\nstruct line {\n\tstruct gpio_desc *desc;\n\tstruct linereq *req;\n\tunsigned int irq;\n\tu64 edflags;\n\tu64 timestamp_ns;\n\tu32 req_seqno;\n\tu32 line_seqno;\n\tstruct delayed_work work;\n\tunsigned int sw_debounced;\n\tunsigned int level;\n\tstruct hte_ts_desc hdesc;\n\tint raw_level;\n\tu32 total_discard_seq;\n\tu32 last_seqno;\n};\n\nstruct linear_range {\n\tunsigned int min;\n\tunsigned int min_sel;\n\tunsigned int max_sel;\n\tunsigned int step;\n};\n\nstruct lineevent_state {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tstruct gpio_desc *desc;\n\tu32 eflags;\n\tint irq;\n\twait_queue_head_t wait;\n\tstruct notifier_block device_unregistered_nb;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpioevent_data *type;\n\t\t\tconst struct gpioevent_data *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpioevent_data *ptr;\n\t\t\tconst struct gpioevent_data *ptr_const;\n\t\t};\n\t\tstruct gpioevent_data buf[16];\n\t} events;\n\tu64 timestamp;\n};\n\nstruct linehandle_state {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tstruct gpio_desc *descs[64];\n\tu32 num_descs;\n};\n\nstruct lineinfo_changed_ctx {\n\tstruct work_struct work;\n\tstruct gpio_v2_line_info_changed chg;\n\tstruct gpio_device *gdev;\n\tstruct gpio_chardev_data *cdev;\n};\n\nstruct linereq {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tu32 num_lines;\n\twait_queue_head_t wait;\n\tstruct notifier_block device_unregistered_nb;\n\tu32 event_buffer_size;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpio_v2_line_event *type;\n\t\t\tconst struct gpio_v2_line_event *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpio_v2_line_event *ptr;\n\t\t\tconst struct gpio_v2_line_event *ptr_const;\n\t\t};\n\t\tstruct gpio_v2_line_event buf[0];\n\t} events;\n\tatomic_t seqno;\n\tstruct mutex config_mutex;\n\tstruct line lines[0];\n};\n\nstruct linger {\n\tint l_onoff;\n\tint l_linger;\n};\n\nstruct link_ctl_info {\n\tsnd_ctl_elem_type_t type;\n\tint count;\n\tint min_val;\n\tint max_val;\n};\n\nstruct snd_ctl_elem_id {\n\tunsigned int numid;\n\tsnd_ctl_elem_iface_t iface;\n\tunsigned int device;\n\tunsigned int subdevice;\n\tunsigned char name[44];\n\tunsigned int index;\n};\n\nstruct snd_kcontrol;\n\nstruct snd_ctl_elem_info;\n\ntypedef int snd_kcontrol_info_t(struct snd_kcontrol *, struct snd_ctl_elem_info *);\n\nstruct snd_ctl_elem_value;\n\ntypedef int snd_kcontrol_get_t(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\ntypedef int snd_kcontrol_put_t(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\ntypedef int snd_kcontrol_tlv_rw_t(struct snd_kcontrol *, int, unsigned int, unsigned int *);\n\nstruct snd_ctl_file;\n\nstruct snd_kcontrol_volatile {\n\tstruct snd_ctl_file *owner;\n\tunsigned int access;\n};\n\nstruct snd_kcontrol {\n\tstruct list_head list;\n\tstruct snd_ctl_elem_id id;\n\tunsigned int count;\n\tsnd_kcontrol_info_t *info;\n\tsnd_kcontrol_get_t *get;\n\tsnd_kcontrol_put_t *put;\n\tunion {\n\t\tsnd_kcontrol_tlv_rw_t *c;\n\t\tconst unsigned int *p;\n\t} tlv;\n\tlong unsigned int private_value;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_kcontrol *);\n\tstruct snd_kcontrol_volatile vd[0];\n};\n\nstruct link_master;\n\nstruct link_follower {\n\tstruct list_head list;\n\tstruct link_master *master;\n\tstruct link_ctl_info info;\n\tint vals[2];\n\tunsigned int flags;\n\tstruct snd_kcontrol *kctl;\n\tstruct snd_kcontrol follower;\n};\n\nstruct link_master {\n\tstruct list_head followers;\n\tstruct link_ctl_info info;\n\tint val;\n\tunsigned int tlv[4];\n\tvoid (*hook)(void *, int);\n\tvoid *hook_private_data;\n};\n\nstruct link_mode_info {\n\tint speed;\n\tu8 lanes;\n\tu8 duplex;\n};\n\nstruct linked_page {\n\tstruct linked_page *next;\n\tchar data[4088];\n};\n\nstruct linked_reg {\n\tu8 frameno;\n\tunion {\n\t\tu8 spi;\n\t\tu8 regno;\n\t};\n\tbool is_reg;\n};\n\nstruct linked_regs {\n\tint cnt;\n\tstruct linked_reg entries[6];\n};\n\nstruct linkinfo_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_link_ksettings ksettings;\n\tstruct ethtool_link_settings *lsettings;\n};\n\nstruct linkmodes_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_link_ksettings ksettings;\n\tstruct ethtool_link_settings *lsettings;\n\tbool peer_empty;\n};\n\nstruct linkstate_reply_data {\n\tstruct ethnl_reply_data base;\n\tint link;\n\tint sqi;\n\tint sqi_max;\n\tstruct ethtool_link_ext_stats link_stats;\n\tbool link_ext_state_provided;\n\tstruct ethtool_link_ext_state_info ethtool_link_ext_state_info;\n};\n\nstruct linux_binprm;\n\nstruct linux_binfmt {\n\tstruct list_head lh;\n\tstruct module *module;\n\tint (*load_binary)(struct linux_binprm *);\n\tint (*load_shlib)(struct file *);\n\tint (*core_dump)(struct coredump_params *);\n\tlong unsigned int min_coredump;\n};\n\nstruct rlimit {\n\t__kernel_ulong_t rlim_cur;\n\t__kernel_ulong_t rlim_max;\n};\n\nstruct linux_binprm {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int vma_pages;\n\tlong unsigned int argmin;\n\tstruct mm_struct *mm;\n\tlong unsigned int p;\n\tunsigned int have_execfd: 1;\n\tunsigned int execfd_creds: 1;\n\tunsigned int secureexec: 1;\n\tunsigned int point_of_no_return: 1;\n\tunsigned int comm_from_dentry: 1;\n\tunsigned int is_check: 1;\n\tstruct file *executable;\n\tstruct file *interpreter;\n\tstruct file *file;\n\tstruct cred *cred;\n\tint unsafe;\n\tunsigned int per_clear;\n\tint argc;\n\tint envc;\n\tconst char *filename;\n\tconst char *interp;\n\tconst char *fdpath;\n\tunsigned int interp_flags;\n\tint execfd;\n\tlong unsigned int loader;\n\tlong unsigned int exec;\n\tstruct rlimit rlim_stack;\n\tchar buf[256];\n};\n\nstruct linux_binprm__safe_trusted {\n\tstruct file *file;\n};\n\nstruct linux_dirent {\n\tlong unsigned int d_ino;\n\tlong unsigned int d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[0];\n};\n\nstruct linux_dirent64 {\n\tu64 d_ino;\n\ts64 d_off;\n\tshort unsigned int d_reclen;\n\tunsigned char d_type;\n\tchar d_name[0];\n};\n\nstruct linux_efi_initrd {\n\tlong unsigned int base;\n\tlong unsigned int size;\n};\n\nstruct linux_efi_memreserve {\n\tint size;\n\tatomic_t count;\n\tphys_addr_t next;\n\tstruct {\n\t\tphys_addr_t base;\n\t\tphys_addr_t size;\n\t} entry[0];\n};\n\nstruct linux_efi_random_seed {\n\tu32 size;\n\tu8 bits[0];\n};\n\nstruct linux_efi_tpm_eventlog {\n\tu32 size;\n\tu32 final_events_preboot_size;\n\tu8 version;\n\tu8 log[0];\n};\n\nstruct linux_logo {\n\tint type;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int clutsize;\n\tconst unsigned char *clut;\n\tconst unsigned char *data;\n};\n\nstruct linux_mib {\n\tlong unsigned int mibs[133];\n};\n\nstruct list_lru_node;\n\nstruct list_lru {\n\tstruct list_lru_node *node;\n\tstruct list_head list;\n\tint shrinker_id;\n\tbool memcg_aware;\n\tstruct xarray xa;\n};\n\nstruct list_lru_one {\n\tstruct list_head list;\n\tlong int nr_items;\n\tspinlock_t lock;\n};\n\nstruct list_lru_memcg {\n\tstruct callback_head rcu;\n\tstruct list_lru_one node[0];\n};\n\nstruct list_lru_node {\n\tstruct list_lru_one lru;\n\tatomic_long_t nr_items;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct listener {\n\tstruct list_head list;\n\tpid_t pid;\n\tchar valid;\n};\n\nstruct listener_list {\n\tstruct rw_semaphore sem;\n\tstruct list_head list;\n};\n\nstruct listeners {\n\tstruct callback_head rcu;\n\tlong unsigned int masks[0];\n};\n\nstruct load_info {\n\tconst char *name;\n\tstruct module *mod;\n\tElf64_Ehdr *hdr;\n\tlong unsigned int len;\n\tElf64_Shdr *sechdrs;\n\tchar *secstrings;\n\tchar *strtab;\n\tlong unsigned int symoffs;\n\tlong unsigned int stroffs;\n\tlong unsigned int init_typeoffs;\n\tlong unsigned int core_typeoffs;\n\tbool sig_ok;\n\tlong unsigned int mod_kallsyms_init_off;\n\tstruct {\n\t\tunsigned int sym;\n\t\tunsigned int str;\n\t\tunsigned int mod;\n\t\tunsigned int vers;\n\t\tunsigned int info;\n\t\tunsigned int pcpu;\n\t\tunsigned int vers_ext_crc;\n\t\tunsigned int vers_ext_name;\n\t} index;\n};\n\nstruct location;\n\nstruct loc_track {\n\tlong unsigned int max;\n\tlong unsigned int count;\n\tstruct location *loc;\n\tloff_t idx;\n};\n\nstruct local_ports {\n\tu32 range;\n\tbool warned;\n};\n\nstruct location {\n\tdepot_stack_handle_t handle;\n\tlong unsigned int count;\n\tlong unsigned int addr;\n\tlong unsigned int waste;\n\tlong long int sum_time;\n\tlong int min_time;\n\tlong int max_time;\n\tlong int min_pid;\n\tlong int max_pid;\n\tlong unsigned int cpus[8];\n\tnodemask_t nodes;\n};\n\nstruct lock_manager {\n\tstruct list_head list;\n\tbool block_opens;\n};\n\nstruct lock_manager_operations {\n\tvoid *lm_mod_owner;\n\tfl_owner_t (*lm_get_owner)(fl_owner_t);\n\tvoid (*lm_put_owner)(fl_owner_t);\n\tvoid (*lm_notify)(struct file_lock *);\n\tint (*lm_grant)(struct file_lock *, int);\n\tbool (*lm_lock_expirable)(struct file_lock *);\n\tvoid (*lm_expire_lock)(void);\n};\n\nstruct lockd_net {\n\tunsigned int nlmsvc_users;\n\tlong unsigned int next_gc;\n\tlong unsigned int nrhosts;\n\tstruct delayed_work grace_period_end;\n\tstruct lock_manager lockd_manager;\n\tstruct list_head nsm_handles;\n};\n\nstruct locks_iterator {\n\tint li_cpu;\n\tloff_t li_pos;\n};\n\nstruct log_header {\n\t__le32 magic_word;\n\tchar reserved[4];\n\t__le32 buf_start;\n\t__le32 buf_length;\n\t__le32 last_byte;\n};\n\nstruct logic_pio_host_ops {\n\tu32 (*in)(void *, long unsigned int, size_t);\n\tvoid (*out)(void *, long unsigned int, u32, size_t);\n\tu32 (*ins)(void *, long unsigned int, void *, size_t, unsigned int);\n\tvoid (*outs)(void *, long unsigned int, const void *, size_t, unsigned int);\n};\n\nstruct logic_pio_hwaddr {\n\tstruct list_head list;\n\tconst struct fwnode_handle *fwnode;\n\tresource_size_t hw_start;\n\tresource_size_t io_start;\n\tresource_size_t size;\n\tlong unsigned int flags;\n\tvoid *hostdata;\n\tconst struct logic_pio_host_ops *ops;\n};\n\nstruct logo_data {\n\tint depth;\n\tint needs_directpalette;\n\tint needs_truepalette;\n\tint needs_cmapreset;\n\tconst struct linux_logo *logo;\n};\n\nstruct loop_cmd {\n\tstruct list_head list_entry;\n\tbool use_aio;\n\tatomic_t ref;\n\tlong int ret;\n\tstruct kiocb iocb;\n\tstruct bio_vec *bvec;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct cgroup_subsys_state *memcg_css;\n};\n\nstruct loop_info64 {\n\t__u64 lo_device;\n\t__u64 lo_inode;\n\t__u64 lo_rdevice;\n\t__u64 lo_offset;\n\t__u64 lo_sizelimit;\n\t__u32 lo_number;\n\t__u32 lo_encrypt_type;\n\t__u32 lo_encrypt_key_size;\n\t__u32 lo_flags;\n\t__u8 lo_file_name[64];\n\t__u8 lo_crypt_name[64];\n\t__u8 lo_encrypt_key[32];\n\t__u64 lo_init[2];\n};\n\nstruct loop_config {\n\t__u32 fd;\n\t__u32 block_size;\n\tstruct loop_info64 info;\n\t__u64 __reserved[8];\n};\n\nstruct loop_device {\n\tint lo_number;\n\tloff_t lo_offset;\n\tloff_t lo_sizelimit;\n\tint lo_flags;\n\tchar lo_file_name[64];\n\tstruct file *lo_backing_file;\n\tstruct block_device *lo_device;\n\tgfp_t old_gfp_mask;\n\tspinlock_t lo_lock;\n\tint lo_state;\n\tspinlock_t lo_work_lock;\n\tstruct workqueue_struct *workqueue;\n\tstruct work_struct rootcg_work;\n\tstruct list_head rootcg_cmd_list;\n\tstruct list_head idle_worker_list;\n\tstruct rb_root worker_tree;\n\tstruct timer_list timer;\n\tbool sysfs_inited;\n\tstruct request_queue *lo_queue;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct gendisk *lo_disk;\n\tstruct mutex lo_mutex;\n\tbool idr_visible;\n};\n\nstruct loop_info {\n\tint lo_number;\n\t__kernel_old_dev_t lo_device;\n\tlong unsigned int lo_inode;\n\t__kernel_old_dev_t lo_rdevice;\n\tint lo_offset;\n\tint lo_encrypt_type;\n\tint lo_encrypt_key_size;\n\tint lo_flags;\n\tchar lo_name[64];\n\tunsigned char lo_encrypt_key[32];\n\tlong unsigned int lo_init[2];\n\tchar reserved[4];\n};\n\nstruct loop_worker {\n\tstruct rb_node rb_node;\n\tstruct work_struct work;\n\tstruct list_head cmd_list;\n\tstruct list_head idle_list;\n\tstruct loop_device *lo;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tlong unsigned int last_ran_at;\n};\n\nunion lower_chunk {\n\tunion lower_chunk *next;\n\tlong unsigned int data[256];\n};\n\nstruct lpc_cycle_para {\n\tunsigned int opflags;\n\tunsigned int csize;\n};\n\nstruct lpi2c_imx_dma {\n\tbool using_pio_mode;\n\tu8 rx_cmd_buf_len;\n\tu8 *dma_buf;\n\tu16 *rx_cmd_buf;\n\tunsigned int dma_len;\n\tunsigned int tx_burst_num;\n\tunsigned int rx_burst_num;\n\tlong unsigned int dma_msg_flag;\n\tresource_size_t phy_addr;\n\tdma_addr_t dma_tx_addr;\n\tdma_addr_t dma_addr;\n\tenum dma_data_direction dma_data_dir;\n\tenum dma_transfer_direction dma_transfer_dir;\n\tstruct dma_chan *chan_tx;\n\tstruct dma_chan *chan_rx;\n};\n\nstruct lpi2c_imx_struct {\n\tstruct i2c_adapter adapter;\n\tint num_clks;\n\tstruct clk_bulk_data *clks;\n\tvoid *base;\n\t__u8 *rx_buf;\n\t__u8 *tx_buf;\n\tstruct completion complete;\n\tlong unsigned int rate_per;\n\tunsigned int msglen;\n\tunsigned int delivered;\n\tunsigned int block_data;\n\tunsigned int bitrate;\n\tunsigned int txfifosize;\n\tunsigned int rxfifosize;\n\tenum lpi2c_imx_mode mode;\n\tstruct i2c_bus_recovery_info rinfo;\n\tbool can_use_dma;\n\tstruct lpi2c_imx_dma *dma;\n\tstruct i2c_client *target;\n};\n\nstruct lpi_range {\n\tstruct list_head entry;\n\tu32 base_id;\n\tu32 span;\n};\n\nstruct lpm_trie_node;\n\nstruct lpm_trie {\n\tstruct bpf_map map;\n\tstruct lpm_trie_node *root;\n\tstruct bpf_mem_alloc ma;\n\tsize_t n_entries;\n\tsize_t max_prefixlen;\n\tsize_t data_size;\n\traw_spinlock_t lock;\n};\n\nstruct lpm_trie_node {\n\tstruct lpm_trie_node *child[2];\n\tu32 prefixlen;\n\tu32 flags;\n\tu8 data[0];\n};\n\nstruct lpuart_port {\n\tstruct uart_port port;\n\tenum lpuart_type devtype;\n\tstruct clk *ipg_clk;\n\tstruct clk *baud_clk;\n\tunsigned int txfifo_size;\n\tunsigned int rxfifo_size;\n\tu8 rx_watermark;\n\tbool lpuart_dma_tx_use;\n\tbool lpuart_dma_rx_use;\n\tstruct dma_chan *dma_tx_chan;\n\tstruct dma_chan *dma_rx_chan;\n\tstruct dma_async_tx_descriptor *dma_tx_desc;\n\tstruct dma_async_tx_descriptor *dma_rx_desc;\n\tdma_cookie_t dma_tx_cookie;\n\tdma_cookie_t dma_rx_cookie;\n\tunsigned int dma_tx_bytes;\n\tunsigned int dma_rx_bytes;\n\tbool dma_tx_in_progress;\n\tunsigned int dma_rx_timeout;\n\tstruct timer_list lpuart_timer;\n\tstruct scatterlist rx_sgl;\n\tstruct scatterlist tx_sgl[2];\n\tstruct circ_buf rx_ring;\n\tint rx_dma_rng_buf_len;\n\tint last_residue;\n\tunsigned int dma_tx_nents;\n\twait_queue_head_t dma_wait;\n\tbool is_cs7;\n\tbool dma_idle_int;\n};\n\nstruct lpuart_soc_data {\n\tenum lpuart_type devtype;\n\tchar iotype;\n\tu8 reg_off;\n\tu8 rx_watermark;\n};\n\nstruct zswap_lruvec_state {};\n\nstruct pglist_data;\n\nstruct lruvec {\n\tstruct list_head lists[5];\n\tspinlock_t lru_lock;\n\tlong unsigned int anon_cost;\n\tlong unsigned int file_cost;\n\tatomic_long_t nonresident_age;\n\tlong unsigned int refaults[2];\n\tlong unsigned int flags;\n\tstruct pglist_data *pgdat;\n\tstruct zswap_lruvec_state zswap_lruvec_state;\n};\n\nstruct lruvec_stats {\n\tlong int state[32];\n\tlong int state_local[32];\n\tlong int state_pending[32];\n};\n\nstruct lruvec_stats_percpu {\n\tlong int state[32];\n\tlong int state_prev[32];\n};\n\nstruct ls_extirq_data {\n\tvoid *intpcr;\n\traw_spinlock_t lock;\n\tbool big_endian;\n\tbool is_ls1021a_or_ls1043a;\n\tu32 nirq;\n\tstruct irq_fwspec map[12];\n};\n\nstruct mobiveil_msi {\n\tstruct mutex lock;\n\tstruct irq_domain *msi_domain;\n\tstruct irq_domain *dev_domain;\n\tphys_addr_t msi_pages_phys;\n\tint num_of_vectors;\n\tlong unsigned int msi_irq_in_use[1];\n};\n\nstruct mobiveil_rp_ops;\n\nstruct mobiveil_root_port {\n\tvoid *config_axi_slave_base;\n\tstruct resource *ob_io_res;\n\tconst struct mobiveil_rp_ops *ops;\n\tint irq;\n\traw_spinlock_t intx_mask_lock;\n\tstruct irq_domain *intx_domain;\n\tstruct mobiveil_msi msi;\n\tstruct pci_host_bridge *bridge;\n};\n\nstruct mobiveil_pab_ops;\n\nstruct mobiveil_pcie {\n\tstruct platform_device *pdev;\n\tvoid *csr_axi_slave_base;\n\tvoid *apb_csr_base;\n\tphys_addr_t pcie_reg_base;\n\tint apio_wins;\n\tint ppio_wins;\n\tint ob_wins_configured;\n\tint ib_wins_configured;\n\tconst struct mobiveil_pab_ops *ops;\n\tstruct mobiveil_root_port rp;\n};\n\nstruct ls_g4_pcie {\n\tstruct mobiveil_pcie pci;\n\tstruct delayed_work dwork;\n\tint irq;\n};\n\nstruct ls_pcie_drvdata;\n\nstruct ls_pcie {\n\tstruct dw_pcie *pci;\n\tconst struct ls_pcie_drvdata *drvdata;\n\tvoid *pf_lut_base;\n\tstruct regmap *scfg;\n\tint index;\n\tbool big_endian;\n};\n\nstruct ls_pcie_drvdata {\n\tconst u32 pf_lut_off;\n\tconst struct dw_pcie_host_ops *ops;\n\tint (*exit_from_l2)(struct dw_pcie_rp *);\n\tbool scfg_support;\n\tbool pm_support;\n};\n\nstruct ls_scfg_msi_cfg;\n\nstruct ls_scfg_msir;\n\nstruct ls_scfg_msi {\n\tspinlock_t lock;\n\tstruct platform_device *pdev;\n\tstruct irq_domain *parent;\n\tstruct irq_domain *msi_domain;\n\tvoid *regs;\n\tphys_addr_t msiir_addr;\n\tstruct ls_scfg_msi_cfg *cfg;\n\tu32 msir_num;\n\tstruct ls_scfg_msir *msir;\n\tu32 irqs_num;\n\tlong unsigned int *used;\n};\n\nstruct ls_scfg_msi_cfg {\n\tu32 ibs_shift;\n\tu32 msir_irqs;\n\tu32 msir_base;\n};\n\nstruct ls_scfg_msir {\n\tstruct ls_scfg_msi *msi_data;\n\tunsigned int index;\n\tunsigned int gic_irq;\n\tunsigned int bit_start;\n\tunsigned int bit_end;\n\tunsigned int srs;\n\tvoid *reg;\n};\n\nstruct skcipher_alg_common {\n\tunsigned int min_keysize;\n\tunsigned int max_keysize;\n\tunsigned int ivsize;\n\tunsigned int chunksize;\n\tunsigned int statesize;\n\tstruct crypto_alg base;\n};\n\nstruct lskcipher_alg {\n\tint (*setkey)(struct crypto_lskcipher *, const u8 *, unsigned int);\n\tint (*encrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32);\n\tint (*decrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32);\n\tint (*init)(struct crypto_lskcipher *);\n\tvoid (*exit)(struct crypto_lskcipher *);\n\tstruct skcipher_alg_common co;\n};\n\nstruct lskcipher_instance {\n\tvoid (*free)(struct lskcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[64];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct lskcipher_alg alg;\n\t};\n};\n\nstruct lsm_blob_sizes {\n\tint lbs_cred;\n\tint lbs_file;\n\tint lbs_ib;\n\tint lbs_inode;\n\tint lbs_sock;\n\tint lbs_superblock;\n\tint lbs_ipc;\n\tint lbs_key;\n\tint lbs_msg_msg;\n\tint lbs_perf_event;\n\tint lbs_task;\n\tint lbs_xattr_count;\n\tint lbs_tun_dev;\n\tint lbs_bdev;\n};\n\nstruct lsm_context {\n\tchar *context;\n\tu32 len;\n\tint id;\n};\n\nstruct lsm_ctx {\n\t__u64 id;\n\t__u64 flags;\n\t__u64 len;\n\t__u64 ctx_len;\n\t__u8 ctx[0];\n};\n\nstruct lsm_ibendport_audit {\n\tconst char *dev_name;\n\tu8 port;\n};\n\nstruct lsm_ibpkey_audit {\n\tu64 subnet_prefix;\n\tu16 pkey;\n};\n\nstruct lsm_id {\n\tconst char *name;\n\tu64 id;\n};\n\nstruct lsm_info {\n\tconst char *name;\n\tenum lsm_order order;\n\tlong unsigned int flags;\n\tint *enabled;\n\tint (*init)(void);\n\tstruct lsm_blob_sizes *blobs;\n};\n\nstruct lsm_ioctlop_audit {\n\tstruct path path;\n\tu16 cmd;\n};\n\nstruct lsm_network_audit {\n\tint netif;\n\tconst struct sock *sk;\n\tu16 family;\n\t__be16 dport;\n\t__be16 sport;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 daddr;\n\t\t\t__be32 saddr;\n\t\t} v4;\n\t\tstruct {\n\t\t\tstruct in6_addr daddr;\n\t\t\tstruct in6_addr saddr;\n\t\t} v6;\n\t} fam;\n};\n\nstruct static_call_key;\n\nstruct security_hook_list;\n\nstruct static_key_false;\n\nstruct lsm_static_call {\n\tstruct static_call_key *key;\n\tvoid *trampoline;\n\tstruct security_hook_list *hl;\n\tstruct static_key_false *active;\n};\n\nstruct lsm_static_calls_table {\n\tstruct lsm_static_call binder_set_context_mgr[1];\n\tstruct lsm_static_call binder_transaction[1];\n\tstruct lsm_static_call binder_transfer_binder[1];\n\tstruct lsm_static_call binder_transfer_file[1];\n\tstruct lsm_static_call ptrace_access_check[1];\n\tstruct lsm_static_call ptrace_traceme[1];\n\tstruct lsm_static_call capget[1];\n\tstruct lsm_static_call capset[1];\n\tstruct lsm_static_call capable[1];\n\tstruct lsm_static_call quotactl[1];\n\tstruct lsm_static_call quota_on[1];\n\tstruct lsm_static_call syslog[1];\n\tstruct lsm_static_call settime[1];\n\tstruct lsm_static_call vm_enough_memory[1];\n\tstruct lsm_static_call bprm_creds_for_exec[1];\n\tstruct lsm_static_call bprm_creds_from_file[1];\n\tstruct lsm_static_call bprm_check_security[1];\n\tstruct lsm_static_call bprm_committing_creds[1];\n\tstruct lsm_static_call bprm_committed_creds[1];\n\tstruct lsm_static_call fs_context_submount[1];\n\tstruct lsm_static_call fs_context_dup[1];\n\tstruct lsm_static_call fs_context_parse_param[1];\n\tstruct lsm_static_call sb_alloc_security[1];\n\tstruct lsm_static_call sb_delete[1];\n\tstruct lsm_static_call sb_free_security[1];\n\tstruct lsm_static_call sb_free_mnt_opts[1];\n\tstruct lsm_static_call sb_eat_lsm_opts[1];\n\tstruct lsm_static_call sb_mnt_opts_compat[1];\n\tstruct lsm_static_call sb_remount[1];\n\tstruct lsm_static_call sb_kern_mount[1];\n\tstruct lsm_static_call sb_show_options[1];\n\tstruct lsm_static_call sb_statfs[1];\n\tstruct lsm_static_call sb_mount[1];\n\tstruct lsm_static_call sb_umount[1];\n\tstruct lsm_static_call sb_pivotroot[1];\n\tstruct lsm_static_call sb_set_mnt_opts[1];\n\tstruct lsm_static_call sb_clone_mnt_opts[1];\n\tstruct lsm_static_call move_mount[1];\n\tstruct lsm_static_call dentry_init_security[1];\n\tstruct lsm_static_call dentry_create_files_as[1];\n\tstruct lsm_static_call path_notify[1];\n\tstruct lsm_static_call inode_alloc_security[1];\n\tstruct lsm_static_call inode_free_security[1];\n\tstruct lsm_static_call inode_free_security_rcu[1];\n\tstruct lsm_static_call inode_init_security[1];\n\tstruct lsm_static_call inode_init_security_anon[1];\n\tstruct lsm_static_call inode_create[1];\n\tstruct lsm_static_call inode_post_create_tmpfile[1];\n\tstruct lsm_static_call inode_link[1];\n\tstruct lsm_static_call inode_unlink[1];\n\tstruct lsm_static_call inode_symlink[1];\n\tstruct lsm_static_call inode_mkdir[1];\n\tstruct lsm_static_call inode_rmdir[1];\n\tstruct lsm_static_call inode_mknod[1];\n\tstruct lsm_static_call inode_rename[1];\n\tstruct lsm_static_call inode_readlink[1];\n\tstruct lsm_static_call inode_follow_link[1];\n\tstruct lsm_static_call inode_permission[1];\n\tstruct lsm_static_call inode_setattr[1];\n\tstruct lsm_static_call inode_post_setattr[1];\n\tstruct lsm_static_call inode_getattr[1];\n\tstruct lsm_static_call inode_xattr_skipcap[1];\n\tstruct lsm_static_call inode_setxattr[1];\n\tstruct lsm_static_call inode_post_setxattr[1];\n\tstruct lsm_static_call inode_getxattr[1];\n\tstruct lsm_static_call inode_listxattr[1];\n\tstruct lsm_static_call inode_removexattr[1];\n\tstruct lsm_static_call inode_post_removexattr[1];\n\tstruct lsm_static_call inode_set_acl[1];\n\tstruct lsm_static_call inode_post_set_acl[1];\n\tstruct lsm_static_call inode_get_acl[1];\n\tstruct lsm_static_call inode_remove_acl[1];\n\tstruct lsm_static_call inode_post_remove_acl[1];\n\tstruct lsm_static_call inode_need_killpriv[1];\n\tstruct lsm_static_call inode_killpriv[1];\n\tstruct lsm_static_call inode_getsecurity[1];\n\tstruct lsm_static_call inode_setsecurity[1];\n\tstruct lsm_static_call inode_listsecurity[1];\n\tstruct lsm_static_call inode_getlsmprop[1];\n\tstruct lsm_static_call inode_copy_up[1];\n\tstruct lsm_static_call inode_copy_up_xattr[1];\n\tstruct lsm_static_call inode_setintegrity[1];\n\tstruct lsm_static_call kernfs_init_security[1];\n\tstruct lsm_static_call file_permission[1];\n\tstruct lsm_static_call file_alloc_security[1];\n\tstruct lsm_static_call file_release[1];\n\tstruct lsm_static_call file_free_security[1];\n\tstruct lsm_static_call file_ioctl[1];\n\tstruct lsm_static_call file_ioctl_compat[1];\n\tstruct lsm_static_call mmap_addr[1];\n\tstruct lsm_static_call mmap_file[1];\n\tstruct lsm_static_call file_mprotect[1];\n\tstruct lsm_static_call file_lock[1];\n\tstruct lsm_static_call file_fcntl[1];\n\tstruct lsm_static_call file_set_fowner[1];\n\tstruct lsm_static_call file_send_sigiotask[1];\n\tstruct lsm_static_call file_receive[1];\n\tstruct lsm_static_call file_open[1];\n\tstruct lsm_static_call file_post_open[1];\n\tstruct lsm_static_call file_truncate[1];\n\tstruct lsm_static_call task_alloc[1];\n\tstruct lsm_static_call task_free[1];\n\tstruct lsm_static_call cred_alloc_blank[1];\n\tstruct lsm_static_call cred_free[1];\n\tstruct lsm_static_call cred_prepare[1];\n\tstruct lsm_static_call cred_transfer[1];\n\tstruct lsm_static_call cred_getsecid[1];\n\tstruct lsm_static_call cred_getlsmprop[1];\n\tstruct lsm_static_call kernel_act_as[1];\n\tstruct lsm_static_call kernel_create_files_as[1];\n\tstruct lsm_static_call kernel_module_request[1];\n\tstruct lsm_static_call kernel_load_data[1];\n\tstruct lsm_static_call kernel_post_load_data[1];\n\tstruct lsm_static_call kernel_read_file[1];\n\tstruct lsm_static_call kernel_post_read_file[1];\n\tstruct lsm_static_call task_fix_setuid[1];\n\tstruct lsm_static_call task_fix_setgid[1];\n\tstruct lsm_static_call task_fix_setgroups[1];\n\tstruct lsm_static_call task_setpgid[1];\n\tstruct lsm_static_call task_getpgid[1];\n\tstruct lsm_static_call task_getsid[1];\n\tstruct lsm_static_call current_getlsmprop_subj[1];\n\tstruct lsm_static_call task_getlsmprop_obj[1];\n\tstruct lsm_static_call task_setnice[1];\n\tstruct lsm_static_call task_setioprio[1];\n\tstruct lsm_static_call task_getioprio[1];\n\tstruct lsm_static_call task_prlimit[1];\n\tstruct lsm_static_call task_setrlimit[1];\n\tstruct lsm_static_call task_setscheduler[1];\n\tstruct lsm_static_call task_getscheduler[1];\n\tstruct lsm_static_call task_movememory[1];\n\tstruct lsm_static_call task_kill[1];\n\tstruct lsm_static_call task_prctl[1];\n\tstruct lsm_static_call task_to_inode[1];\n\tstruct lsm_static_call userns_create[1];\n\tstruct lsm_static_call ipc_permission[1];\n\tstruct lsm_static_call ipc_getlsmprop[1];\n\tstruct lsm_static_call msg_msg_alloc_security[1];\n\tstruct lsm_static_call msg_msg_free_security[1];\n\tstruct lsm_static_call msg_queue_alloc_security[1];\n\tstruct lsm_static_call msg_queue_free_security[1];\n\tstruct lsm_static_call msg_queue_associate[1];\n\tstruct lsm_static_call msg_queue_msgctl[1];\n\tstruct lsm_static_call msg_queue_msgsnd[1];\n\tstruct lsm_static_call msg_queue_msgrcv[1];\n\tstruct lsm_static_call shm_alloc_security[1];\n\tstruct lsm_static_call shm_free_security[1];\n\tstruct lsm_static_call shm_associate[1];\n\tstruct lsm_static_call shm_shmctl[1];\n\tstruct lsm_static_call shm_shmat[1];\n\tstruct lsm_static_call sem_alloc_security[1];\n\tstruct lsm_static_call sem_free_security[1];\n\tstruct lsm_static_call sem_associate[1];\n\tstruct lsm_static_call sem_semctl[1];\n\tstruct lsm_static_call sem_semop[1];\n\tstruct lsm_static_call netlink_send[1];\n\tstruct lsm_static_call d_instantiate[1];\n\tstruct lsm_static_call getselfattr[1];\n\tstruct lsm_static_call setselfattr[1];\n\tstruct lsm_static_call getprocattr[1];\n\tstruct lsm_static_call setprocattr[1];\n\tstruct lsm_static_call ismaclabel[1];\n\tstruct lsm_static_call secid_to_secctx[1];\n\tstruct lsm_static_call lsmprop_to_secctx[1];\n\tstruct lsm_static_call secctx_to_secid[1];\n\tstruct lsm_static_call release_secctx[1];\n\tstruct lsm_static_call inode_invalidate_secctx[1];\n\tstruct lsm_static_call inode_notifysecctx[1];\n\tstruct lsm_static_call inode_setsecctx[1];\n\tstruct lsm_static_call inode_getsecctx[1];\n\tstruct lsm_static_call key_alloc[1];\n\tstruct lsm_static_call key_permission[1];\n\tstruct lsm_static_call key_getsecurity[1];\n\tstruct lsm_static_call key_post_create_or_update[1];\n\tstruct lsm_static_call audit_rule_init[1];\n\tstruct lsm_static_call audit_rule_known[1];\n\tstruct lsm_static_call audit_rule_match[1];\n\tstruct lsm_static_call audit_rule_free[1];\n\tstruct lsm_static_call bpf[1];\n\tstruct lsm_static_call bpf_map[1];\n\tstruct lsm_static_call bpf_prog[1];\n\tstruct lsm_static_call bpf_map_create[1];\n\tstruct lsm_static_call bpf_map_free[1];\n\tstruct lsm_static_call bpf_prog_load[1];\n\tstruct lsm_static_call bpf_prog_free[1];\n\tstruct lsm_static_call bpf_token_create[1];\n\tstruct lsm_static_call bpf_token_free[1];\n\tstruct lsm_static_call bpf_token_cmd[1];\n\tstruct lsm_static_call bpf_token_capable[1];\n\tstruct lsm_static_call locked_down[1];\n\tstruct lsm_static_call perf_event_open[1];\n\tstruct lsm_static_call perf_event_alloc[1];\n\tstruct lsm_static_call perf_event_read[1];\n\tstruct lsm_static_call perf_event_write[1];\n\tstruct lsm_static_call uring_override_creds[1];\n\tstruct lsm_static_call uring_sqpoll[1];\n\tstruct lsm_static_call uring_cmd[1];\n\tstruct lsm_static_call initramfs_populated[1];\n\tstruct lsm_static_call bdev_alloc_security[1];\n\tstruct lsm_static_call bdev_free_security[1];\n\tstruct lsm_static_call bdev_setintegrity[1];\n};\n\nstruct lwq {\n\tspinlock_t lock;\n\tstruct llist_node *ready;\n\tstruct llist_head new;\n};\n\nstruct lwq_node {\n\tstruct llist_node node;\n};\n\nstruct lwtunnel_encap_ops {\n\tint (*build_state)(struct net *, struct nlattr *, unsigned int, const void *, struct lwtunnel_state **, struct netlink_ext_ack *);\n\tvoid (*destroy_state)(struct lwtunnel_state *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*input)(struct sk_buff *);\n\tint (*fill_encap)(struct sk_buff *, struct lwtunnel_state *);\n\tint (*get_encap_size)(struct lwtunnel_state *);\n\tint (*cmp_encap)(struct lwtunnel_state *, struct lwtunnel_state *);\n\tint (*xmit)(struct sk_buff *);\n\tstruct module *owner;\n};\n\nstruct lwtunnel_state {\n\t__u16 type;\n\t__u16 flags;\n\t__u16 headroom;\n\tatomic_t refcnt;\n\tint (*orig_output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*orig_input)(struct sk_buff *);\n\tstruct callback_head rcu;\n\t__u8 data[0];\n};\n\nstruct lynx_pcs {\n\tstruct phylink_pcs pcs;\n\tstruct mdio_device *mdio;\n};\n\nstruct lzma2_dec {\n\tenum lzma2_seq sequence;\n\tenum lzma2_seq next_sequence;\n\tuint32_t uncompressed;\n\tuint32_t compressed;\n\tbool need_dict_reset;\n\tbool need_props;\n};\n\nstruct lzma_len_dec {\n\tuint16_t choice;\n\tuint16_t choice2;\n\tuint16_t low[128];\n\tuint16_t mid[128];\n\tuint16_t high[256];\n};\n\nstruct lzma_dec {\n\tuint32_t rep0;\n\tuint32_t rep1;\n\tuint32_t rep2;\n\tuint32_t rep3;\n\tenum lzma_state state;\n\tuint32_t len;\n\tuint32_t lc;\n\tuint32_t literal_pos_mask;\n\tuint32_t pos_mask;\n\tuint16_t is_match[192];\n\tuint16_t is_rep[12];\n\tuint16_t is_rep0[12];\n\tuint16_t is_rep1[12];\n\tuint16_t is_rep2[12];\n\tuint16_t is_rep0_long[192];\n\tuint16_t dist_slot[256];\n\tuint16_t dist_special[114];\n\tuint16_t dist_align[16];\n\tstruct lzma_len_dec match_len_dec;\n\tstruct lzma_len_dec rep_len_dec;\n\tuint16_t literal[12288];\n};\n\nstruct lzma_header {\n\tuint8_t pos;\n\tuint32_t dict_size;\n\tuint64_t dst_size;\n} __attribute__((packed));\n\nstruct lzo_ctx {\n\tvoid *lzo_comp_mem;\n};\n\nstruct lzorle_ctx {\n\tvoid *lzorle_comp_mem;\n};\n\nstruct ma35d1_adc_clk_div {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu8 width;\n\tu32 mask;\n\tconst struct clk_div_table *table;\n\tspinlock_t *lock;\n};\n\nstruct ma35d1_clk_pll {\n\tstruct clk_hw hw;\n\tu32 id;\n\tu8 mode;\n\tvoid *ctl0_base;\n\tvoid *ctl1_base;\n\tvoid *ctl2_base;\n};\n\nstruct ma35d1_reset_data {\n\tstruct reset_controller_dev rcdev;\n\tstruct notifier_block restart_handler;\n\tvoid *base;\n\tspinlock_t lock;\n};\n\nstruct ma_topiary {\n\tstruct maple_enode *head;\n\tstruct maple_enode *tail;\n\tstruct maple_tree *mtree;\n};\n\nstruct maple_node;\n\nstruct ma_wr_state {\n\tstruct ma_state *mas;\n\tstruct maple_node *node;\n\tlong unsigned int r_min;\n\tlong unsigned int r_max;\n\tenum maple_type type;\n\tunsigned char offset_end;\n\tlong unsigned int *pivots;\n\tlong unsigned int end_piv;\n\tvoid **slots;\n\tvoid *entry;\n\tvoid *content;\n};\n\nstruct mac_addr {\n\tunsigned char addr[6];\n};\n\ntypedef struct mac_addr mac_addr;\n\nstruct mac_addr___2 {\n\tu32 mac_addr_l;\n\tu32 mac_addr_u;\n};\n\nstruct mac_desc_ctx {\n\tunsigned int len;\n\tu8 dg[16];\n};\n\nstruct mac_priv_s;\n\nstruct mac_device {\n\tvoid *vaddr;\n\tstruct device *dev;\n\tstruct resource *res;\n\tu8 addr[6];\n\tstruct fman_port *port[2];\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n\tphy_interface_t phy_if;\n\tbool promisc;\n\tbool allmulti;\n\tconst struct phylink_mac_ops *phylink_ops;\n\tint (*enable)(struct fman_mac___3 *);\n\tvoid (*disable)(struct fman_mac___3 *);\n\tint (*set_promisc)(struct fman_mac___3 *, bool);\n\tint (*change_addr)(struct fman_mac___3 *, u8(*)[6]);\n\tint (*set_allmulti)(struct fman_mac___3 *, bool);\n\tint (*set_tstamp)(struct fman_mac___3 *, bool);\n\tint (*set_exception)(struct fman_mac___3 *, enum fman_mac_exceptions, bool);\n\tint (*add_hash_mac_addr)(struct fman_mac___3 *, enet_addr_t *);\n\tint (*remove_hash_mac_addr)(struct fman_mac___3 *, enet_addr_t *);\n\tvoid (*update_speed)(struct mac_device *, int);\n\tstruct fman_mac___3 *fman_mac;\n\tstruct mac_priv_s *priv;\n\tstruct device *fman_dev;\n\tstruct device *fman_port_devs[2];\n};\n\nstruct mac_device___3 {\n\tvoid *vaddr;\n\tstruct device *dev;\n\tstruct resource *res;\n\tu8 addr[6];\n\tstruct fman_port *port[2];\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n\tphy_interface_t phy_if;\n\tbool promisc;\n\tbool allmulti;\n\tconst struct phylink_mac_ops *phylink_ops;\n\tint (*enable)(struct fman_mac *);\n\tvoid (*disable)(struct fman_mac *);\n\tint (*set_promisc)(struct fman_mac *, bool);\n\tint (*change_addr)(struct fman_mac *, u8(*)[6]);\n\tint (*set_allmulti)(struct fman_mac *, bool);\n\tint (*set_tstamp)(struct fman_mac *, bool);\n\tint (*set_exception)(struct fman_mac *, enum fman_mac_exceptions, bool);\n\tint (*add_hash_mac_addr)(struct fman_mac *, enet_addr_t *);\n\tint (*remove_hash_mac_addr)(struct fman_mac *, enet_addr_t *);\n\tvoid (*update_speed)(struct mac_device___3 *, int);\n\tstruct fman_mac *fman_mac;\n\tstruct mac_priv_s *priv;\n\tstruct device *fman_dev;\n\tstruct device *fman_port_devs[2];\n};\n\nstruct mac_device___2 {\n\tvoid *vaddr;\n\tstruct device *dev;\n\tstruct resource *res;\n\tu8 addr[6];\n\tstruct fman_port *port[2];\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n\tphy_interface_t phy_if;\n\tbool promisc;\n\tbool allmulti;\n\tconst struct phylink_mac_ops *phylink_ops;\n\tint (*enable)(struct fman_mac___2 *);\n\tvoid (*disable)(struct fman_mac___2 *);\n\tint (*set_promisc)(struct fman_mac___2 *, bool);\n\tint (*change_addr)(struct fman_mac___2 *, u8(*)[6]);\n\tint (*set_allmulti)(struct fman_mac___2 *, bool);\n\tint (*set_tstamp)(struct fman_mac___2 *, bool);\n\tint (*set_exception)(struct fman_mac___2 *, enum fman_mac_exceptions, bool);\n\tint (*add_hash_mac_addr)(struct fman_mac___2 *, enet_addr_t *);\n\tint (*remove_hash_mac_addr)(struct fman_mac___2 *, enet_addr_t *);\n\tvoid (*update_speed)(struct mac_device___2 *, int);\n\tstruct fman_mac___2 *fman_mac;\n\tstruct mac_priv_s *priv;\n\tstruct device *fman_dev;\n\tstruct device *fman_port_devs[2];\n};\n\nstruct mac_info;\n\nstruct mac_driver {\n\tvoid (*mac_init)(void *);\n\tvoid (*mac_free)(void *);\n\tvoid (*mac_enable)(void *, enum mac_commom_mode);\n\tvoid (*mac_disable)(void *, enum mac_commom_mode);\n\tvoid (*set_mac_addr)(void *, const char *);\n\tint (*adjust_link)(void *, enum mac_speed, u32);\n\tbool (*need_adjust_link)(void *, enum mac_speed, int);\n\tvoid (*set_an_mode)(void *, u8);\n\tint (*config_loopback)(void *, enum hnae_loop, u8);\n\tvoid (*config_max_frame_length)(void *, u16);\n\tvoid (*config_pad_and_crc)(void *, u8);\n\tvoid (*set_tx_auto_pause_frames)(void *, u16);\n\tvoid (*set_promiscuous)(void *, u8);\n\tvoid (*mac_pausefrm_cfg)(void *, u32, u32);\n\tvoid (*autoneg_stat)(void *, u32 *);\n\tint (*set_pause_enable)(void *, u32, u32);\n\tvoid (*get_pause_enable)(void *, u32 *, u32 *);\n\tvoid (*get_link_status)(void *, u32 *);\n\tvoid (*get_regs)(void *, void *);\n\tint (*get_regs_count)(void);\n\tvoid (*get_strings)(u32, u8 **);\n\tint (*get_sset_count)(int);\n\tvoid (*get_ethtool_stats)(void *, u64 *);\n\tvoid (*get_info)(void *, struct mac_info *);\n\tvoid (*update_stats)(void *);\n\tint (*wait_fifo_clean)(void *);\n\tenum mac_mode mac_mode;\n\tu8 mac_id;\n\tstruct hns_mac_cb *mac_cb;\n\tu8 *io_base;\n\tunsigned int mac_en_flg;\n\tunsigned int virt_dev_num;\n\tstruct device *dev;\n};\n\nstruct mac_info {\n\tu16 speed;\n\tu8 duplex;\n\tu8 auto_neg;\n\tenum hnae_loop loop_mode;\n\tu8 tx_pause_en;\n\tu8 tx_pause_time;\n\tu8 rx_pause_en;\n\tu8 pad_and_crc_en;\n\tu8 promiscuous_en;\n\tu8 port_en;\n};\n\nstruct mac_params {\n\tchar addr[6];\n\tu8 *vaddr;\n\tstruct device *dev;\n\tu8 mac_id;\n\tenum mac_mode mac_mode;\n};\n\nstruct mac_priv_s {\n\tu8 cell_index;\n\tstruct fman *fman;\n\tstruct platform_device *eth_dev;\n\tu16 speed;\n};\n\nstruct mac_stats_string {\n\tconst char desc[32];\n\tlong unsigned int offset;\n};\n\nstruct mac_tfm_ctx {\n\tstruct crypto_aes_ctx key;\n\tlong: 0;\n\tu8 consts[0];\n};\n\nstruct queue_stats {\n\tunion {\n\t\tlong unsigned int first;\n\t\tlong unsigned int rx_packets;\n\t};\n\tlong unsigned int rx_bytes;\n\tlong unsigned int rx_dropped;\n\tlong unsigned int tx_packets;\n\tlong unsigned int tx_bytes;\n\tlong unsigned int tx_dropped;\n};\n\nstruct macb;\n\nstruct macb_dma_desc;\n\nstruct macb_tx_skb;\n\nstruct macb_queue {\n\tstruct macb *bp;\n\tint irq;\n\tunsigned int ISR;\n\tunsigned int IER;\n\tunsigned int IDR;\n\tunsigned int IMR;\n\tunsigned int TBQP;\n\tunsigned int TBQPH;\n\tunsigned int RBQS;\n\tunsigned int RBQP;\n\tunsigned int RBQPH;\n\tspinlock_t tx_ptr_lock;\n\tunsigned int tx_head;\n\tunsigned int tx_tail;\n\tstruct macb_dma_desc *tx_ring;\n\tstruct macb_tx_skb *tx_skb;\n\tdma_addr_t tx_ring_dma;\n\tstruct work_struct tx_error_task;\n\tbool txubr_pending;\n\tstruct napi_struct napi_tx;\n\tdma_addr_t rx_ring_dma;\n\tdma_addr_t rx_buffers_dma;\n\tunsigned int rx_tail;\n\tunsigned int rx_prepared_head;\n\tstruct macb_dma_desc *rx_ring;\n\tstruct sk_buff **rx_skbuff;\n\tvoid *rx_buffers;\n\tstruct napi_struct napi_rx;\n\tstruct queue_stats stats;\n};\n\nstruct macb_stats {\n\tu32 rx_pause_frames;\n\tu32 tx_ok;\n\tu32 tx_single_cols;\n\tu32 tx_multiple_cols;\n\tu32 rx_ok;\n\tu32 rx_fcs_errors;\n\tu32 rx_align_errors;\n\tu32 tx_deferred;\n\tu32 tx_late_cols;\n\tu32 tx_excessive_cols;\n\tu32 tx_underruns;\n\tu32 tx_carrier_errors;\n\tu32 rx_resource_errors;\n\tu32 rx_overruns;\n\tu32 rx_symbol_errors;\n\tu32 rx_oversize_pkts;\n\tu32 rx_jabbers;\n\tu32 rx_undersize_pkts;\n\tu32 sqe_test_errors;\n\tu32 rx_length_mismatch;\n\tu32 tx_pause_frames;\n};\n\nstruct macb_or_gem_ops {\n\tint (*mog_alloc_rx_buffers)(struct macb *);\n\tvoid (*mog_free_rx_buffers)(struct macb *);\n\tvoid (*mog_init_rings)(struct macb *);\n\tint (*mog_rx)(struct macb_queue *, struct napi_struct *, int);\n};\n\nstruct macb_tx_skb {\n\tstruct sk_buff *skb;\n\tdma_addr_t mapping;\n\tsize_t size;\n\tbool mapped_as_page;\n};\n\nstruct tsu_incr {\n\tu32 sub_ns;\n\tu32 ns;\n};\n\nstruct macb_pm_data {\n\tu32 scrt2;\n\tu32 usrio;\n};\n\nstruct macb_ptp_info;\n\nstruct macb_usrio_config;\n\nstruct macb {\n\tvoid *regs;\n\tbool native_io;\n\tu32 (*macb_reg_readl)(struct macb *, int);\n\tvoid (*macb_reg_writel)(struct macb *, int, u32);\n\tstruct macb_dma_desc *rx_ring_tieoff;\n\tdma_addr_t rx_ring_tieoff_dma;\n\tsize_t rx_buffer_size;\n\tunsigned int rx_ring_size;\n\tunsigned int tx_ring_size;\n\tunsigned int num_queues;\n\tunsigned int queue_mask;\n\tstruct macb_queue queues[8];\n\tspinlock_t lock;\n\tstruct platform_device *pdev;\n\tstruct clk *pclk;\n\tstruct clk *hclk;\n\tstruct clk *tx_clk;\n\tstruct clk *rx_clk;\n\tstruct clk *tsu_clk;\n\tstruct net_device *dev;\n\tspinlock_t stats_lock;\n\tunion {\n\t\tstruct macb_stats macb;\n\t\tstruct gem_stats gem;\n\t} hw_stats;\n\tstruct macb_or_gem_ops macbgem_ops;\n\tstruct mii_bus *mii_bus;\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n\tstruct phylink_pcs phylink_usx_pcs;\n\tstruct phylink_pcs phylink_sgmii_pcs;\n\tu32 caps;\n\tunsigned int dma_burst_length;\n\tphy_interface_t phy_interface;\n\tstruct macb_tx_skb rm9200_txq[2];\n\tunsigned int max_tx_length;\n\tu64 ethtool_stats[91];\n\tunsigned int rx_frm_len_mask;\n\tunsigned int jumbo_max_len;\n\tu32 wol;\n\tu32 wolopts;\n\tu32 rx_watermark;\n\tstruct macb_ptp_info *ptp_info;\n\tstruct phy *sgmii_phy;\n\tuint8_t hw_dma_cap;\n\tspinlock_t tsu_clk_lock;\n\tunsigned int tsu_rate;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct tsu_incr tsu_incr;\n\tstruct kernel_hwtstamp_config tstamp_config;\n\tstruct ethtool_rx_fs_list rx_fs_list;\n\tspinlock_t rx_fs_lock;\n\tunsigned int max_tuples;\n\tstruct work_struct hresp_err_bh_work;\n\tint rx_bd_rd_prefetch;\n\tint tx_bd_rd_prefetch;\n\tu32 rx_intr_mask;\n\tstruct macb_pm_data pm_data;\n\tconst struct macb_usrio_config *usrio;\n};\n\nstruct macb_config {\n\tu32 caps;\n\tunsigned int dma_burst_length;\n\tint (*clk_init)(struct platform_device *, struct clk **, struct clk **, struct clk **, struct clk **, struct clk **);\n\tint (*init)(struct platform_device *);\n\tunsigned int max_tx_length;\n\tint jumbo_max_len;\n\tconst struct macb_usrio_config *usrio;\n};\n\nstruct macb_dma_desc {\n\tu32 addr;\n\tu32 ctrl;\n};\n\nstruct macb_dma_desc_64 {\n\tu32 addrh;\n\tu32 resvd;\n};\n\nstruct macb_dma_desc_ptp {\n\tu32 ts_1;\n\tu32 ts_2;\n};\n\nstruct macb_platform_data {\n\tstruct clk *pclk;\n\tstruct clk *hclk;\n};\n\nstruct macb_ptp_info {\n\tvoid (*ptp_init)(struct net_device *);\n\tvoid (*ptp_remove)(struct net_device *);\n\ts32 (*get_ptp_max_adj)(void);\n\tunsigned int (*get_tsu_rate)(struct macb *);\n\tint (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *);\n\tint (*get_hwtst)(struct net_device *, struct kernel_hwtstamp_config *);\n\tint (*set_hwtst)(struct net_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n};\n\nstruct macb_usrio_config {\n\tu32 mii;\n\tu32 rmii;\n\tu32 rgmii;\n\tu32 refclk;\n\tu32 hdfctlen;\n};\n\nstruct macsec_info {\n\tsci_t sci;\n};\n\nstruct mmu_gather;\n\nstruct madvise_walk_private {\n\tstruct mmu_gather *tlb;\n\tbool pageout;\n};\n\nstruct mafield {\n\tconst char *prefix;\n\tint field;\n};\n\nstruct map_balloon_pages {\n\txen_pfn_t *pfns;\n\tunsigned int idx;\n};\n\nstruct map_files_info {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tfmode_t mode;\n};\n\nstruct map_info___2 {\n\tstruct map_info___2 *next;\n\tstruct mm_struct *mm;\n\tlong unsigned int vaddr;\n};\n\nstruct mtd_chip_driver;\n\nstruct map_info {\n\tconst char *name;\n\tlong unsigned int size;\n\tresource_size_t phys;\n\tvoid *virt;\n\tvoid *cached;\n\tint swap;\n\tint bankwidth;\n\tmap_word (*read)(struct map_info *, long unsigned int);\n\tvoid (*copy_from)(struct map_info *, void *, long unsigned int, ssize_t);\n\tvoid (*write)(struct map_info *, const map_word, long unsigned int);\n\tvoid (*copy_to)(struct map_info *, long unsigned int, const void *, ssize_t);\n\tvoid (*inval_cache)(struct map_info *, long unsigned int, ssize_t);\n\tvoid (*set_vpp)(struct map_info *, int);\n\tlong unsigned int pfow_base;\n\tlong unsigned int map_priv_1;\n\tlong unsigned int map_priv_2;\n\tstruct device_node *device_node;\n\tvoid *fldrv_priv;\n\tstruct mtd_chip_driver *fldrv;\n};\n\nstruct map_iter {\n\tvoid *key;\n\tbool done;\n};\n\nstruct xenbus_map_node;\n\nstruct map_ring_valloc {\n\tstruct xenbus_map_node *node;\n\tlong unsigned int addrs[16];\n\tphys_addr_t phys_addrs[16];\n\tstruct gnttab_map_grant_ref map[16];\n\tstruct gnttab_unmap_grant_ref unmap[16];\n\tunsigned int idx;\n};\n\nstruct maple_alloc {\n\tlong unsigned int total;\n\tunsigned char node_count;\n\tunsigned int request_count;\n\tstruct maple_alloc *slot[30];\n};\n\nstruct maple_pnode;\n\nstruct maple_metadata {\n\tunsigned char end;\n\tunsigned char gap;\n};\n\nstruct maple_arange_64 {\n\tstruct maple_pnode *parent;\n\tlong unsigned int pivot[9];\n\tvoid *slot[10];\n\tlong unsigned int gap[10];\n\tstruct maple_metadata meta;\n};\n\nstruct maple_big_node {\n\tlong unsigned int pivot[33];\n\tunion {\n\t\tstruct maple_enode *slot[34];\n\t\tstruct {\n\t\t\tlong unsigned int padding[21];\n\t\t\tlong unsigned int gap[21];\n\t\t};\n\t};\n\tunsigned char b_end;\n\tenum maple_type type;\n};\n\nstruct maple_range_64 {\n\tstruct maple_pnode *parent;\n\tlong unsigned int pivot[15];\n\tunion {\n\t\tvoid *slot[16];\n\t\tstruct {\n\t\t\tvoid *pad[15];\n\t\t\tstruct maple_metadata meta;\n\t\t};\n\t};\n};\n\nstruct maple_node {\n\tunion {\n\t\tstruct {\n\t\t\tstruct maple_pnode *parent;\n\t\t\tvoid *slot[31];\n\t\t};\n\t\tstruct {\n\t\t\tvoid *pad;\n\t\t\tstruct callback_head rcu;\n\t\t\tstruct maple_enode *piv_parent;\n\t\t\tunsigned char parent_slot;\n\t\t\tenum maple_type type;\n\t\t\tunsigned char slot_len;\n\t\t\tunsigned int ma_flags;\n\t\t};\n\t\tstruct maple_range_64 mr64;\n\t\tstruct maple_arange_64 ma64;\n\t\tstruct maple_alloc alloc;\n\t};\n};\n\nstruct maple_subtree_state {\n\tstruct ma_state *orig_l;\n\tstruct ma_state *orig_r;\n\tstruct ma_state *l;\n\tstruct ma_state *m;\n\tstruct ma_state *r;\n\tstruct ma_topiary *free;\n\tstruct ma_topiary *destroy;\n\tstruct maple_big_node *bn;\n};\n\nstruct maple_topiary {\n\tstruct maple_pnode *parent;\n\tstruct maple_enode *next;\n};\n\nstruct marvell_hw_ecc_layout {\n\tint writesize;\n\tint chunk;\n\tint strength;\n\tint nchunks;\n\tint full_chunk_cnt;\n\tint data_bytes;\n\tint spare_bytes;\n\tint ecc_bytes;\n\tint last_data_bytes;\n\tint last_spare_bytes;\n\tint last_ecc_bytes;\n};\n\nstruct marvell_nand_chip_sel {\n\tunsigned int cs;\n\tu32 ndcb0_csel;\n\tunsigned int rb;\n};\n\nstruct marvell_nand_chip {\n\tstruct nand_chip chip;\n\tstruct list_head node;\n\tconst struct marvell_hw_ecc_layout *layout;\n\tu32 ndcr;\n\tu32 ndtr0;\n\tu32 ndtr1;\n\tint addr_cyc;\n\tint selected_die;\n\tunsigned int nsels;\n\tstruct marvell_nand_chip_sel sels[0];\n};\n\nstruct marvell_nfc_caps;\n\nstruct marvell_nfc {\n\tstruct nand_controller controller;\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct clk *core_clk;\n\tstruct clk *reg_clk;\n\tstruct completion complete;\n\tlong unsigned int assigned_cs;\n\tstruct list_head chips;\n\tstruct nand_chip *selected_chip;\n\tconst struct marvell_nfc_caps *caps;\n\tbool use_dma;\n\tstruct dma_chan *dma_chan;\n\tu8 *dma_buf;\n};\n\nstruct marvell_nfc_caps {\n\tunsigned int max_cs_nb;\n\tunsigned int max_rb_nb;\n\tbool need_system_controller;\n\tbool legacy_of_bindings;\n\tbool is_nfcv2;\n\tbool use_dma;\n\tunsigned int max_mode_number;\n};\n\nstruct nand_op_instr;\n\nstruct marvell_nfc_op {\n\tu32 ndcb[4];\n\tunsigned int cle_ale_delay_ns;\n\tunsigned int rdy_timeout_ms;\n\tunsigned int rdy_delay_ns;\n\tunsigned int data_delay_ns;\n\tunsigned int data_instr_idx;\n\tconst struct nand_op_instr *data_instr;\n};\n\nstruct marvell_nfc_timings {\n\tunsigned int tRP;\n\tunsigned int tRH;\n\tunsigned int tWP;\n\tunsigned int tWH;\n\tunsigned int tCS;\n\tunsigned int tCH;\n\tunsigned int tADL;\n\tunsigned int tAR;\n\tunsigned int tWHR;\n\tunsigned int tRHW;\n\tunsigned int tR;\n};\n\nstruct match {\n\tu32 mode;\n\tu32 area;\n\tu8 depth;\n};\n\nstruct match_chip_info {\n\tvoid (*init_func)(struct brcm_usb_init_params *);\n\tu8 required_regs[7];\n\tu8 optional_reg;\n};\n\nstruct tee_ioctl_version_data;\n\nstruct match_dev_data {\n\tstruct tee_ioctl_version_data *vers;\n\tconst void *data;\n\tint (*match)(struct tee_ioctl_version_data *, const void *);\n};\n\nstruct match_ids_walk_data {\n\tstruct acpi_device_id *ids;\n\tstruct acpi_device *adev;\n};\n\nstruct match_token {\n\tint token;\n\tconst char *pattern;\n};\n\nstruct matrix_keymap_data {\n\tconst uint32_t *keymap;\n\tunsigned int keymap_size;\n};\n\nstruct max732x_chip {\n\tstruct gpio_chip gpio_chip;\n\tstruct i2c_client *client;\n\tstruct i2c_client *client_dummy;\n\tstruct i2c_client *client_group_a;\n\tstruct i2c_client *client_group_b;\n\tunsigned int mask_group_a;\n\tunsigned int dir_input;\n\tunsigned int dir_output;\n\tstruct mutex lock;\n\tuint8_t reg_out[2];\n};\n\nstruct max732x_platform_data {\n\tunsigned int gpio_base;\n};\n\nstruct max77620_chip {\n\tstruct device *dev;\n\tstruct regmap *rmap;\n\tint chip_irq;\n\tenum max77620_chip_id chip_id;\n\tbool sleep_enable;\n\tbool enable_global_lpm;\n\tint shutdown_fps_period[3];\n\tint suspend_fps_period[3];\n\tstruct regmap_irq_chip_data *top_irq_data;\n\tstruct regmap_irq_chip_data *gpio_irq_data;\n};\n\nstruct max77620_fps_config {\n\tint active_fps_src;\n\tint active_power_up_slots;\n\tint active_power_down_slots;\n\tint suspend_fps_src;\n\tint suspend_power_up_slots;\n\tint suspend_power_down_slots;\n};\n\nstruct max77620_gpio {\n\tstruct gpio_chip gpio_chip;\n\tstruct regmap *rmap;\n\tstruct device *dev;\n\tstruct mutex buslock;\n\tunsigned int irq_type[8];\n\tbool irq_enabled[8];\n};\n\nstruct max77620_pin_info {\n\tenum max77620_pin_ppdrv drv_type;\n};\n\nstruct max77620_pin_function;\n\nstruct max77620_pingroup;\n\nstruct max77620_pctrl_info {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctl;\n\tstruct regmap *rmap;\n\tconst struct max77620_pin_function *functions;\n\tunsigned int num_functions;\n\tconst struct max77620_pingroup *pin_groups;\n\tint num_pin_groups;\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int num_pins;\n\tstruct max77620_pin_info pin_info[8];\n\tstruct max77620_fps_config fps_config[8];\n};\n\nstruct max77620_pin_function {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int ngroups;\n\tint mux_option;\n};\n\nstruct max77620_pingroup {\n\tconst char *name;\n\tconst unsigned int pins[1];\n\tunsigned int npins;\n\tenum max77620_alternate_pinmux_option alt_option;\n};\n\nstruct max77620_regulator_pdata {\n\tint active_fps_src;\n\tint active_fps_pd_slot;\n\tint active_fps_pu_slot;\n\tint suspend_fps_src;\n\tint suspend_fps_pd_slot;\n\tint suspend_fps_pu_slot;\n\tint current_mode;\n\tint power_ok;\n\tint ramp_rate_setting;\n};\n\nstruct max77620_regulator_info;\n\nstruct max77620_regulator {\n\tstruct device *dev;\n\tstruct regmap *rmap;\n\tstruct max77620_regulator_info *rinfo[14];\n\tstruct max77620_regulator_pdata reg_pdata[14];\n\tint enable_power_mode[14];\n\tint current_power_mode[14];\n\tint active_fps_src[14];\n};\n\nstruct max77620_regulator_info {\n\tu8 type;\n\tu8 fps_addr;\n\tu8 volt_addr;\n\tu8 cfg_addr;\n\tu8 power_mode_mask;\n\tu8 power_mode_shift;\n\tu8 remote_sense_addr;\n\tu8 remote_sense_mask;\n\tstruct regulator_desc desc;\n};\n\nstruct max77686_rtc_driver_data {\n\tlong unsigned int delay;\n\tu8 mask;\n\tconst unsigned int *map;\n\tbool alarm_enable_reg;\n\tint rtc_i2c_addr;\n\tbool rtc_irq_from_platform;\n\tint alarm_pending_status_reg;\n\tconst struct regmap_irq_chip *rtc_irq_chip;\n\tconst struct regmap_config *regmap_config;\n};\n\nstruct max77686_rtc_info {\n\tstruct device *dev;\n\tstruct i2c_client *rtc;\n\tstruct rtc_device *rtc_dev;\n\tstruct mutex lock;\n\tstruct regmap *regmap;\n\tstruct regmap *rtc_regmap;\n\tconst struct max77686_rtc_driver_data *drv_data;\n\tstruct regmap_irq_chip_data *rtc_irq_data;\n\tint rtc_irq;\n\tint virq;\n};\n\nstruct regulator_ops {\n\tint (*list_voltage)(struct regulator_dev *, unsigned int);\n\tint (*set_voltage)(struct regulator_dev *, int, int, unsigned int *);\n\tint (*map_voltage)(struct regulator_dev *, int, int);\n\tint (*set_voltage_sel)(struct regulator_dev *, unsigned int);\n\tint (*get_voltage)(struct regulator_dev *);\n\tint (*get_voltage_sel)(struct regulator_dev *);\n\tint (*set_current_limit)(struct regulator_dev *, int, int);\n\tint (*get_current_limit)(struct regulator_dev *);\n\tint (*set_input_current_limit)(struct regulator_dev *, int);\n\tint (*set_over_current_protection)(struct regulator_dev *, int, int, bool);\n\tint (*set_over_voltage_protection)(struct regulator_dev *, int, int, bool);\n\tint (*set_under_voltage_protection)(struct regulator_dev *, int, int, bool);\n\tint (*set_thermal_protection)(struct regulator_dev *, int, int, bool);\n\tint (*set_active_discharge)(struct regulator_dev *, bool);\n\tint (*enable)(struct regulator_dev *);\n\tint (*disable)(struct regulator_dev *);\n\tint (*is_enabled)(struct regulator_dev *);\n\tint (*set_mode)(struct regulator_dev *, unsigned int);\n\tunsigned int (*get_mode)(struct regulator_dev *);\n\tint (*get_error_flags)(struct regulator_dev *, unsigned int *);\n\tint (*enable_time)(struct regulator_dev *);\n\tint (*set_ramp_delay)(struct regulator_dev *, int);\n\tint (*set_voltage_time)(struct regulator_dev *, int, int);\n\tint (*set_voltage_time_sel)(struct regulator_dev *, unsigned int, unsigned int);\n\tint (*set_soft_start)(struct regulator_dev *);\n\tint (*get_status)(struct regulator_dev *);\n\tunsigned int (*get_optimum_mode)(struct regulator_dev *, int, int, int);\n\tint (*set_load)(struct regulator_dev *, int);\n\tint (*set_bypass)(struct regulator_dev *, bool);\n\tint (*get_bypass)(struct regulator_dev *, bool *);\n\tint (*set_suspend_voltage)(struct regulator_dev *, int);\n\tint (*set_suspend_enable)(struct regulator_dev *);\n\tint (*set_suspend_disable)(struct regulator_dev *);\n\tint (*set_suspend_mode)(struct regulator_dev *, unsigned int);\n\tint (*resume)(struct regulator_dev *);\n\tint (*set_pull_down)(struct regulator_dev *);\n};\n\nstruct max8973_chip {\n\tstruct device *dev;\n\tstruct regulator_desc desc;\n\tstruct regmap *regmap;\n\tbool enable_external_control;\n\tstruct gpio_desc *dvs_gpiod;\n\tint lru_index[2];\n\tint curr_vout_val[2];\n\tint curr_vout_reg;\n\tint curr_gpio_val;\n\tstruct regulator_ops ops;\n\tenum device_id id;\n\tint junction_temp_warning;\n\tint irq;\n\tstruct thermal_zone_device *tz_device;\n};\n\nstruct max8973_regulator_platform_data {\n\tstruct regulator_init_data *reg_init_data;\n\tlong unsigned int control_flags;\n\tlong unsigned int junction_temp_warning;\n\tbool enable_ext_control;\n\tunsigned int dvs_def_state: 1;\n};\n\nstruct mb86s70_gpio_chip {\n\tstruct gpio_chip gc;\n\tvoid *base;\n\tspinlock_t lock;\n};\n\nstruct mb_cache {\n\tstruct hlist_bl_head *c_hash;\n\tint c_bucket_bits;\n\tlong unsigned int c_max_entries;\n\tspinlock_t c_list_lock;\n\tstruct list_head c_list;\n\tlong unsigned int c_entry_count;\n\tstruct shrinker *c_shrink;\n\tstruct work_struct c_shrink_work;\n};\n\nstruct mb_cache_entry {\n\tstruct list_head e_list;\n\tstruct hlist_bl_node e_hash_list;\n\tatomic_t e_refcnt;\n\tu32 e_key;\n\tlong unsigned int e_flags;\n\tu64 e_value;\n};\n\nstruct mbi_range {\n\tu32 spi_start;\n\tu32 nr_spis;\n\tlong unsigned int *bm;\n};\n\nstruct mbigen_device {\n\tstruct platform_device *pdev;\n\tvoid *base;\n};\n\nstruct mbox_chan_ops {\n\tint (*send_data)(struct mbox_chan *, void *);\n\tint (*flush)(struct mbox_chan *, long unsigned int);\n\tint (*startup)(struct mbox_chan *);\n\tvoid (*shutdown)(struct mbox_chan *);\n\tbool (*last_tx_done)(struct mbox_chan *);\n\tbool (*peek_data)(struct mbox_chan *);\n};\n\nstruct mbus_dram_window {\n\tu8 cs_index;\n\tu8 mbus_attr;\n\tu64 base;\n\tu64 size;\n};\n\nstruct mbus_dram_target_info {\n\tu8 mbus_dram_target_id;\n\tint num_cs;\n\tstruct mbus_dram_window cs[4];\n};\n\nstruct mc_cmd_header {\n\tu8 src_id;\n\tu8 flags_hw;\n\tu8 status;\n\tu8 flags_sw;\n\t__le16 token;\n\t__le16 cmd_id;\n};\n\nstruct mc_rsp_api_ver {\n\t__le16 major_ver;\n\t__le16 minor_ver;\n};\n\nstruct mc_rsp_create {\n\t__le32 object_id;\n};\n\nstruct mc_subled {\n\tunsigned int color_index;\n\tunsigned int brightness;\n\tunsigned int intensity;\n\tunsigned int channel;\n};\n\nstruct mca_data;\n\nstruct mca_cluster {\n\tint no;\n\tvoid *base;\n\tstruct mca_data *host;\n\tstruct device *pd_dev;\n\tstruct clk *clk_parent;\n\tstruct dma_chan *dma_chans[2];\n\tbool port_started[2];\n\tint port_driver;\n\tbool clocks_in_use[2];\n\tstruct device_link *pd_link;\n\tunsigned int bclk_ratio;\n\tint tdm_slots;\n\tint tdm_slot_width;\n\tunsigned int tdm_tx_mask;\n\tunsigned int tdm_rx_mask;\n};\n\nstruct mca_data {\n\tstruct device *dev;\n\tvoid *switch_base;\n\tstruct device *pd_dev;\n\tstruct reset_control *rstc;\n\tstruct device_link *pd_link;\n\tstruct mutex port_mutex;\n\tint nclusters;\n\tstruct mca_cluster clusters[0];\n};\n\nstruct mcfg_entry {\n\tstruct list_head list;\n\tphys_addr_t addr;\n\tu16 segment;\n\tu8 bus_start;\n\tu8 bus_end;\n};\n\nstruct pci_ecam_ops;\n\nstruct mcfg_fixup {\n\tchar oem_id[7];\n\tchar oem_table_id[9];\n\tu32 oem_revision;\n\tu16 segment;\n\tstruct resource bus_range;\n\tconst struct pci_ecam_ops *ops;\n\tstruct resource cfgres;\n};\n\nstruct mcs_spinlock {\n\tstruct mcs_spinlock *next;\n\tint locked;\n\tint count;\n};\n\nstruct mct_clock_event_device {\n\tstruct clock_event_device evt;\n\tlong unsigned int base;\n\tchar name[11];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct mctrl_gpios {\n\tstruct uart_port *port;\n\tstruct gpio_desc *gpio[6];\n\tint irq[6];\n\tunsigned int mctrl_prev;\n\tbool mctrl_on;\n};\n\nstruct mdio_board_info {\n\tconst char *bus_id;\n\tchar modalias[32];\n\tint mdio_addr;\n\tconst void *platform_data;\n};\n\nstruct mdio_board_entry {\n\tstruct list_head list;\n\tstruct mdio_board_info board_info;\n};\n\nstruct mdio_bus_stat_attr {\n\tint addr;\n\tunsigned int field_offset;\n};\n\nstruct mdio_bus_stats {\n\tu64_stats_t transfers;\n\tu64_stats_t errors;\n\tu64_stats_t writes;\n\tu64_stats_t reads;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct mdio_device {\n\tstruct device dev;\n\tstruct mii_bus *bus;\n\tchar modalias[32];\n\tint (*bus_match)(struct device *, const struct device_driver *);\n\tvoid (*device_free)(struct mdio_device *);\n\tvoid (*device_remove)(struct mdio_device *);\n\tint addr;\n\tint flags;\n\tint reset_state;\n\tstruct gpio_desc *reset_gpio;\n\tstruct reset_control *reset_ctrl;\n\tunsigned int reset_assert_delay;\n\tunsigned int reset_deassert_delay;\n};\n\nstruct mdio_device_id {\n\t__u32 phy_id;\n\t__u32 phy_id_mask;\n};\n\nstruct mdio_driver_common {\n\tstruct device_driver driver;\n\tint flags;\n};\n\nstruct mdio_driver {\n\tstruct mdio_driver_common mdiodrv;\n\tint (*probe)(struct mdio_device *);\n\tvoid (*remove)(struct mdio_device *);\n\tvoid (*shutdown)(struct mdio_device *);\n};\n\nstruct tgec_mdio_controller;\n\nstruct mdio_fsl_priv {\n\tstruct tgec_mdio_controller *mdio_base;\n\tstruct clk *enet_clk;\n\tu32 mdc_freq;\n\tbool is_little_endian;\n\tbool has_a009885;\n\tbool has_a011043;\n};\n\nstruct mdio_gpio_info {\n\tstruct mdiobb_ctrl ctrl;\n\tstruct gpio_desc *mdc;\n\tstruct gpio_desc *mdio;\n\tstruct gpio_desc *mdo;\n};\n\nstruct mdio_gpio_platform_data {\n\tu32 phy_mask;\n\tu32 phy_ignore_ta_mask;\n};\n\nstruct mdio_mux_parent_bus;\n\nstruct mdio_mux_child_bus {\n\tstruct mii_bus *mii_bus;\n\tstruct mdio_mux_parent_bus *parent;\n\tstruct mdio_mux_child_bus *next;\n\tint bus_number;\n};\n\nstruct mdio_mux_mmioreg_state {\n\tvoid *mux_handle;\n\tphys_addr_t phys;\n\tunsigned int iosize;\n\tunsigned int mask;\n};\n\nstruct mux_control;\n\nstruct mdio_mux_multiplexer_state {\n\tstruct mux_control *muxc;\n\tbool do_deselect;\n\tvoid *mux_handle;\n};\n\nstruct mdio_mux_parent_bus {\n\tstruct mii_bus *mii_bus;\n\tint current_child;\n\tint parent_id;\n\tvoid *switch_data;\n\tint (*switch_fn)(int, int, void *);\n\tstruct mdio_mux_child_bus *children;\n};\n\nstruct mdiobb_ops {\n\tstruct module *owner;\n\tvoid (*set_mdc)(struct mdiobb_ctrl *, int);\n\tvoid (*set_mdio_dir)(struct mdiobb_ctrl *, int);\n\tvoid (*set_mdio_data)(struct mdiobb_ctrl *, int);\n\tint (*get_mdio_data)(struct mdiobb_ctrl *);\n};\n\nstruct mdiobus_devres {\n\tstruct mii_bus *mii;\n};\n\nstruct regulator_coupler {\n\tstruct list_head list;\n\tint (*attach_regulator)(struct regulator_coupler *, struct regulator_dev *);\n\tint (*detach_regulator)(struct regulator_coupler *, struct regulator_dev *);\n\tint (*balance_voltage)(struct regulator_coupler *, struct regulator_dev *, suspend_state_t);\n};\n\nstruct mediatek_regulator_coupler {\n\tstruct regulator_coupler coupler;\n\tstruct regulator_dev *vsram_rdev;\n};\n\nstruct megasas_abort_frame {\n\tu8 cmd;\n\tu8 reserved_0;\n\tu8 cmd_status;\n\tu8 reserved_1;\n\t__le32 reserved_2;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 reserved_3;\n\t__le32 reserved_4;\n\t__le32 abort_context;\n\t__le32 pad_1;\n\t__le32 abort_mfi_phys_addr_lo;\n\t__le32 abort_mfi_phys_addr_hi;\n\t__le32 reserved_5[6];\n};\n\nstruct megasas_aen {\n\tu16 host_no;\n\tu16 __pad1;\n\tu32 seq_num;\n\tu32 class_locale_word;\n};\n\nstruct megasas_instance;\n\nstruct megasas_aen_event {\n\tstruct delayed_work hotplug_work;\n\tstruct megasas_instance *instance;\n};\n\nunion megasas_frame;\n\nstruct megasas_cmd {\n\tunion megasas_frame *frame;\n\tdma_addr_t frame_phys_addr;\n\tu8 *sense;\n\tdma_addr_t sense_phys_addr;\n\tu32 index;\n\tu8 sync_cmd;\n\tu8 cmd_status_drv;\n\tu8 abort_aen;\n\tu8 retry_for_fw_reset;\n\tstruct list_head list;\n\tstruct scsi_cmnd *scmd;\n\tu8 flags;\n\tstruct megasas_instance *instance;\n\tunion {\n\t\tstruct {\n\t\t\tu16 smid;\n\t\t\tu16 resvd;\n\t\t} context;\n\t\tu32 frame_count;\n\t};\n};\n\nstruct megasas_cmd_fusion {\n\tstruct MPI2_RAID_SCSI_IO_REQUEST *io_request;\n\tdma_addr_t io_request_phys_addr;\n\tunion MPI2_SGE_IO_UNION *sg_frame;\n\tdma_addr_t sg_frame_phys_addr;\n\tu8 *sense;\n\tdma_addr_t sense_phys_addr;\n\tstruct list_head list;\n\tstruct scsi_cmnd *scmd;\n\tstruct megasas_instance *instance;\n\tu8 retry_for_fw_reset;\n\tunion MEGASAS_REQUEST_DESCRIPTOR_UNION *request_desc;\n\tu32 sync_cmd_idx;\n\tu32 index;\n\tu8 pd_r1_lb;\n\tstruct completion done;\n\tu8 pd_interface;\n\tu16 r1_alt_dev_handle;\n\tbool cmd_completed;\n};\n\nstruct megasas_cmd_priv {\n\tvoid *cmd_priv;\n\tu8 status;\n};\n\nstruct megasas_ctrl_prop {\n\tu16 seq_num;\n\tu16 pred_fail_poll_interval;\n\tu16 intr_throttle_count;\n\tu16 intr_throttle_timeouts;\n\tu8 rebuild_rate;\n\tu8 patrol_read_rate;\n\tu8 bgi_rate;\n\tu8 cc_rate;\n\tu8 recon_rate;\n\tu8 cache_flush_interval;\n\tu8 spinup_drv_count;\n\tu8 spinup_delay;\n\tu8 cluster_enable;\n\tu8 coercion_mode;\n\tu8 alarm_enable;\n\tu8 disable_auto_rebuild;\n\tu8 disable_battery_warn;\n\tu8 ecc_bucket_size;\n\tu16 ecc_bucket_leak_rate;\n\tu8 restore_hotspare_on_insertion;\n\tu8 expose_encl_devices;\n\tu8 maintainPdFailHistory;\n\tu8 disallowHostRequestReordering;\n\tu8 abortCCOnError;\n\tu8 loadBalanceMode;\n\tu8 disableAutoDetectBackplane;\n\tu8 snapVDSpace;\n\tstruct {\n\t\tu32 copyBackDisabled: 1;\n\t\tu32 SMARTerEnabled: 1;\n\t\tu32 prCorrectUnconfiguredAreas: 1;\n\t\tu32 useFdeOnly: 1;\n\t\tu32 disableNCQ: 1;\n\t\tu32 SSDSMARTerEnabled: 1;\n\t\tu32 SSDPatrolReadEnabled: 1;\n\t\tu32 enableSpinDownUnconfigured: 1;\n\t\tu32 autoEnhancedImport: 1;\n\t\tu32 enableSecretKeyControl: 1;\n\t\tu32 disableOnlineCtrlReset: 1;\n\t\tu32 allowBootWithPinnedCache: 1;\n\t\tu32 disableSpinDownHS: 1;\n\t\tu32 enableJBOD: 1;\n\t\tu32 reserved: 18;\n\t} OnOffProperties;\n\tunion {\n\t\tu8 autoSnapVDSpace;\n\t\tu8 viewSpace;\n\t\tstruct {\n\t\t\tu16 reserved1: 4;\n\t\t\tu16 enable_snap_dump: 1;\n\t\t\tu16 reserved2: 1;\n\t\t\tu16 enable_fw_dev_list: 1;\n\t\t\tu16 reserved3: 9;\n\t\t} on_off_properties2;\n\t};\n\t__le16 spinDownTime;\n\tu8 reserved[24];\n};\n\nstruct megasas_ctrl_info {\n\tstruct {\n\t\t__le16 vendor_id;\n\t\t__le16 device_id;\n\t\t__le16 sub_vendor_id;\n\t\t__le16 sub_device_id;\n\t\tu8 reserved[24];\n\t} pci;\n\tstruct {\n\t\tu8 PCIX: 1;\n\t\tu8 PCIE: 1;\n\t\tu8 iSCSI: 1;\n\t\tu8 SAS_3G: 1;\n\t\tu8 SRIOV: 1;\n\t\tu8 reserved_0: 3;\n\t\tu8 reserved_1[6];\n\t\tu8 port_count;\n\t\tu64 port_addr[8];\n\t} host_interface;\n\tstruct {\n\t\tu8 SPI: 1;\n\t\tu8 SAS_3G: 1;\n\t\tu8 SATA_1_5G: 1;\n\t\tu8 SATA_3G: 1;\n\t\tu8 reserved_0: 4;\n\t\tu8 reserved_1[6];\n\t\tu8 port_count;\n\t\tu64 port_addr[8];\n\t} device_interface;\n\t__le32 image_check_word;\n\t__le32 image_component_count;\n\tstruct {\n\t\tchar name[8];\n\t\tchar version[32];\n\t\tchar build_date[16];\n\t\tchar built_time[16];\n\t} image_component[8];\n\t__le32 pending_image_component_count;\n\tstruct {\n\t\tchar name[8];\n\t\tchar version[32];\n\t\tchar build_date[16];\n\t\tchar build_time[16];\n\t} pending_image_component[8];\n\tu8 max_arms;\n\tu8 max_spans;\n\tu8 max_arrays;\n\tu8 max_lds;\n\tchar product_name[80];\n\tchar serial_no[32];\n\tstruct {\n\t\tu32 bbu: 1;\n\t\tu32 alarm: 1;\n\t\tu32 nvram: 1;\n\t\tu32 uart: 1;\n\t\tu32 reserved: 28;\n\t} hw_present;\n\t__le32 current_fw_time;\n\t__le16 max_concurrent_cmds;\n\t__le16 max_sge_count;\n\t__le32 max_request_size;\n\t__le16 ld_present_count;\n\t__le16 ld_degraded_count;\n\t__le16 ld_offline_count;\n\t__le16 pd_present_count;\n\t__le16 pd_disk_present_count;\n\t__le16 pd_disk_pred_failure_count;\n\t__le16 pd_disk_failed_count;\n\t__le16 nvram_size;\n\t__le16 memory_size;\n\t__le16 flash_size;\n\t__le16 mem_correctable_error_count;\n\t__le16 mem_uncorrectable_error_count;\n\tu8 cluster_permitted;\n\tu8 cluster_active;\n\t__le16 max_strips_per_io;\n\tstruct {\n\t\tu32 raid_level_0: 1;\n\t\tu32 raid_level_1: 1;\n\t\tu32 raid_level_5: 1;\n\t\tu32 raid_level_1E: 1;\n\t\tu32 raid_level_6: 1;\n\t\tu32 reserved: 27;\n\t} raid_levels;\n\tstruct {\n\t\tu32 rbld_rate: 1;\n\t\tu32 cc_rate: 1;\n\t\tu32 bgi_rate: 1;\n\t\tu32 recon_rate: 1;\n\t\tu32 patrol_rate: 1;\n\t\tu32 alarm_control: 1;\n\t\tu32 cluster_supported: 1;\n\t\tu32 bbu: 1;\n\t\tu32 spanning_allowed: 1;\n\t\tu32 dedicated_hotspares: 1;\n\t\tu32 revertible_hotspares: 1;\n\t\tu32 foreign_config_import: 1;\n\t\tu32 self_diagnostic: 1;\n\t\tu32 mixed_redundancy_arr: 1;\n\t\tu32 global_hot_spares: 1;\n\t\tu32 reserved: 17;\n\t} adapter_operations;\n\tstruct {\n\t\tu32 read_policy: 1;\n\t\tu32 write_policy: 1;\n\t\tu32 io_policy: 1;\n\t\tu32 access_policy: 1;\n\t\tu32 disk_cache_policy: 1;\n\t\tu32 reserved: 27;\n\t} ld_operations;\n\tstruct {\n\t\tu8 min;\n\t\tu8 max;\n\t\tu8 reserved[2];\n\t} stripe_sz_ops;\n\tstruct {\n\t\tu32 force_online: 1;\n\t\tu32 force_offline: 1;\n\t\tu32 force_rebuild: 1;\n\t\tu32 reserved: 29;\n\t} pd_operations;\n\tstruct {\n\t\tu32 ctrl_supports_sas: 1;\n\t\tu32 ctrl_supports_sata: 1;\n\t\tu32 allow_mix_in_encl: 1;\n\t\tu32 allow_mix_in_ld: 1;\n\t\tu32 allow_sata_in_cluster: 1;\n\t\tu32 reserved: 27;\n\t} pd_mix_support;\n\tu8 ecc_bucket_count;\n\tu8 reserved_2[11];\n\tstruct megasas_ctrl_prop properties;\n\tchar package_version[96];\n\t__le64 deviceInterfacePortAddr2[8];\n\tu8 reserved3[128];\n\tstruct {\n\t\tu16 minPdRaidLevel_0: 4;\n\t\tu16 maxPdRaidLevel_0: 12;\n\t\tu16 minPdRaidLevel_1: 4;\n\t\tu16 maxPdRaidLevel_1: 12;\n\t\tu16 minPdRaidLevel_5: 4;\n\t\tu16 maxPdRaidLevel_5: 12;\n\t\tu16 minPdRaidLevel_1E: 4;\n\t\tu16 maxPdRaidLevel_1E: 12;\n\t\tu16 minPdRaidLevel_6: 4;\n\t\tu16 maxPdRaidLevel_6: 12;\n\t\tu16 minPdRaidLevel_10: 4;\n\t\tu16 maxPdRaidLevel_10: 12;\n\t\tu16 minPdRaidLevel_50: 4;\n\t\tu16 maxPdRaidLevel_50: 12;\n\t\tu16 minPdRaidLevel_60: 4;\n\t\tu16 maxPdRaidLevel_60: 12;\n\t\tu16 minPdRaidLevel_1E_RLQ0: 4;\n\t\tu16 maxPdRaidLevel_1E_RLQ0: 12;\n\t\tu16 minPdRaidLevel_1E0_RLQ0: 4;\n\t\tu16 maxPdRaidLevel_1E0_RLQ0: 12;\n\t\tu16 reserved[6];\n\t} pdsForRaidLevels;\n\t__le16 maxPds;\n\t__le16 maxDedHSPs;\n\t__le16 maxGlobalHSP;\n\t__le16 ddfSize;\n\tu8 maxLdsPerArray;\n\tu8 partitionsInDDF;\n\tu8 lockKeyBinding;\n\tu8 maxPITsPerLd;\n\tu8 maxViewsPerLd;\n\tu8 maxTargetId;\n\t__le16 maxBvlVdSize;\n\t__le16 maxConfigurableSSCSize;\n\t__le16 currentSSCsize;\n\tchar expanderFwVersion[12];\n\t__le16 PFKTrialTimeRemaining;\n\t__le16 cacheMemorySize;\n\tstruct {\n\t\tu32 supportPIcontroller: 1;\n\t\tu32 supportLdPIType1: 1;\n\t\tu32 supportLdPIType2: 1;\n\t\tu32 supportLdPIType3: 1;\n\t\tu32 supportLdBBMInfo: 1;\n\t\tu32 supportShieldState: 1;\n\t\tu32 blockSSDWriteCacheChange: 1;\n\t\tu32 supportSuspendResumeBGops: 1;\n\t\tu32 supportEmergencySpares: 1;\n\t\tu32 supportSetLinkSpeed: 1;\n\t\tu32 supportBootTimePFKChange: 1;\n\t\tu32 supportJBOD: 1;\n\t\tu32 disableOnlinePFKChange: 1;\n\t\tu32 supportPerfTuning: 1;\n\t\tu32 supportSSDPatrolRead: 1;\n\t\tu32 realTimeScheduler: 1;\n\t\tu32 supportResetNow: 1;\n\t\tu32 supportEmulatedDrives: 1;\n\t\tu32 headlessMode: 1;\n\t\tu32 dedicatedHotSparesLimited: 1;\n\t\tu32 supportUnevenSpans: 1;\n\t\tu32 supportPointInTimeProgress: 1;\n\t\tu32 supportDataLDonSSCArray: 1;\n\t\tu32 mpio: 1;\n\t\tu32 supportConfigAutoBalance: 1;\n\t\tu32 activePassive: 2;\n\t\tu32 reserved: 5;\n\t} adapterOperations2;\n\tu8 driverVersion[32];\n\tu8 maxDAPdCountSpinup60;\n\tu8 temperatureROC;\n\tu8 temperatureCtrl;\n\tu8 reserved4;\n\t__le16 maxConfigurablePds;\n\tu8 reserved5[2];\n\tstruct {\n\t\tu32 peerIsPresent: 1;\n\t\tu32 peerIsIncompatible: 1;\n\t\tu32 hwIncompatible: 1;\n\t\tu32 fwVersionMismatch: 1;\n\t\tu32 ctrlPropIncompatible: 1;\n\t\tu32 premiumFeatureMismatch: 1;\n\t\tu32 passive: 1;\n\t\tu32 reserved: 25;\n\t} cluster;\n\tchar clusterId[16];\n\tstruct {\n\t\tu8 maxVFsSupported;\n\t\tu8 numVFsEnabled;\n\t\tu8 requestorId;\n\t\tu8 reserved;\n\t} iov;\n\tstruct {\n\t\tu32 supportPersonalityChange: 2;\n\t\tu32 supportThermalPollInterval: 1;\n\t\tu32 supportDisableImmediateIO: 1;\n\t\tu32 supportT10RebuildAssist: 1;\n\t\tu32 supportMaxExtLDs: 1;\n\t\tu32 supportCrashDump: 1;\n\t\tu32 supportSwZone: 1;\n\t\tu32 supportDebugQueue: 1;\n\t\tu32 supportNVCacheErase: 1;\n\t\tu32 supportForceTo512e: 1;\n\t\tu32 supportHOQRebuild: 1;\n\t\tu32 supportAllowedOpsforDrvRemoval: 1;\n\t\tu32 supportDrvActivityLEDSetting: 1;\n\t\tu32 supportNVDRAM: 1;\n\t\tu32 supportForceFlash: 1;\n\t\tu32 supportDisableSESMonitoring: 1;\n\t\tu32 supportCacheBypassModes: 1;\n\t\tu32 supportSecurityonJBOD: 1;\n\t\tu32 discardCacheDuringLDDelete: 1;\n\t\tu32 supportTTYLogCompression: 1;\n\t\tu32 supportCPLDUpdate: 1;\n\t\tu32 supportDiskCacheSettingForSysPDs: 1;\n\t\tu32 supportExtendedSSCSize: 1;\n\t\tu32 useSeqNumJbodFP: 1;\n\t\tu32 reserved: 7;\n\t} adapterOperations3;\n\tstruct {\n\t\tu8 cpld_in_flash: 1;\n\t\tu8 reserved: 7;\n\t\tu8 reserved1[3];\n\t\tu8 userCodeDefinition[12];\n\t} cpld;\n\tstruct {\n\t\tu16 ctrl_info_ext_supported: 1;\n\t\tu16 support_ibutton_less: 1;\n\t\tu16 supported_enc_algo: 1;\n\t\tu16 support_encrypted_mfc: 1;\n\t\tu16 image_upload_supported: 1;\n\t\tu16 support_ses_ctrl_in_multipathcfg: 1;\n\t\tu16 support_pd_map_target_id: 1;\n\t\tu16 fw_swaps_bbu_vpd_info: 1;\n\t\tu16 support_ssc_rev3: 1;\n\t\tu16 support_dual_fw_update: 1;\n\t\tu16 support_host_info: 1;\n\t\tu16 support_flash_comp_info: 1;\n\t\tu16 support_pl_debug_info: 1;\n\t\tu16 support_nvme_passthru: 1;\n\t\tu16 reserved: 2;\n\t} adapter_operations4;\n\tu8 pad[2];\n\tu32 size;\n\tu32 pad1;\n\tu8 reserved6[64];\n\tstruct {\n\t\tu32 mr_config_ext2_supported: 1;\n\t\tu32 support_profile_change: 2;\n\t\tu32 support_cvhealth_info: 1;\n\t\tu32 support_pcie: 1;\n\t\tu32 support_ext_mfg_vpd: 1;\n\t\tu32 support_oce_only: 1;\n\t\tu32 support_nvme_tm: 1;\n\t\tu32 support_snap_dump: 1;\n\t\tu32 support_fde_type_mix: 1;\n\t\tu32 support_force_personality_change: 1;\n\t\tu32 support_psoc_update: 1;\n\t\tu32 support_pci_lane_margining: 1;\n\t\tu32 reserved: 19;\n\t} adapter_operations5;\n\tu32 rsvdForAdptOp[63];\n\tu8 reserved7[3];\n\tu8 TaskAbortTO;\n\tu8 MaxResetTO;\n\tu8 reserved8[3];\n};\n\nstruct megasas_sge32 {\n\t__le32 phys_addr;\n\t__le32 length;\n};\n\nstruct megasas_sge64 {\n\t__le64 phys_addr;\n\t__le32 length;\n} __attribute__((packed));\n\nstruct megasas_sge_skinny {\n\t__le64 phys_addr;\n\t__le32 length;\n\t__le32 flag;\n};\n\nunion megasas_sgl {\n\tstruct {\n\t\tstruct {} __empty_sge32;\n\t\tstruct megasas_sge32 sge32[0];\n\t};\n\tstruct {\n\t\tstruct {} __empty_sge64;\n\t\tstruct megasas_sge64 sge64[0];\n\t};\n\tstruct {\n\t\tstruct {} __empty_sge_skinny;\n\t\tstruct megasas_sge_skinny sge_skinny[0];\n\t};\n};\n\nstruct megasas_dcmd_frame {\n\tu8 cmd;\n\tu8 reserved_0;\n\tu8 cmd_status;\n\tu8 reserved_1[4];\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xfer_len;\n\t__le32 opcode;\n\tunion {\n\t\tu8 b[12];\n\t\t__le16 s[6];\n\t\t__le32 w[3];\n\t} mbox;\n\tunion megasas_sgl sgl;\n};\n\nstruct megasas_debugfs_buffer {\n\tvoid *buf;\n\tu32 len;\n};\n\nunion megasas_evt_class_locale {\n\tstruct {\n\t\tu16 locale;\n\t\tu8 reserved;\n\t\ts8 class;\n\t} members;\n\tu32 word;\n};\n\nstruct megasas_evtarg_pd {\n\tu16 device_id;\n\tu8 encl_index;\n\tu8 slot_number;\n};\n\nstruct megasas_evtarg_ld {\n\tu16 target_id;\n\tu8 ld_index;\n\tu8 reserved;\n};\n\nstruct megasas_progress {\n\t__le16 progress;\n\t__le16 elapsed_seconds;\n};\n\nstruct megasas_evt_detail {\n\t__le32 seq_num;\n\t__le32 time_stamp;\n\t__le32 code;\n\tunion megasas_evt_class_locale cl;\n\tu8 arg_type;\n\tu8 reserved1[15];\n\tunion {\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tu8 cdb_length;\n\t\t\tu8 sense_length;\n\t\t\tu8 reserved[2];\n\t\t\tu8 cdb[16];\n\t\t\tu8 sense[64];\n\t\t} cdbSense;\n\t\tstruct megasas_evtarg_ld ld;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\t__le64 count;\n\t\t} __attribute__((packed)) ld_count;\n\t\tstruct {\n\t\t\t__le64 lba;\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t} __attribute__((packed)) ld_lba;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\t__le32 prevOwner;\n\t\t\t__le32 newOwner;\n\t\t} ld_owner;\n\t\tstruct {\n\t\t\tu64 ld_lba;\n\t\t\tu64 pd_lba;\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t} ld_lba_pd_lba;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\tstruct megasas_progress prog;\n\t\t} ld_prog;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\tu32 prev_state;\n\t\t\tu32 new_state;\n\t\t} ld_state;\n\t\tstruct {\n\t\t\tu64 strip;\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t} __attribute__((packed)) ld_strip;\n\t\tstruct megasas_evtarg_pd pd;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tu32 err;\n\t\t} pd_err;\n\t\tstruct {\n\t\t\tu64 lba;\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t} __attribute__((packed)) pd_lba;\n\t\tstruct {\n\t\t\tu64 lba;\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t} pd_lba_ld;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tstruct megasas_progress prog;\n\t\t} pd_prog;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tu32 prevState;\n\t\t\tu32 newState;\n\t\t} pd_state;\n\t\tstruct {\n\t\t\tu16 vendorId;\n\t\t\t__le16 deviceId;\n\t\t\tu16 subVendorId;\n\t\t\tu16 subDeviceId;\n\t\t} pci;\n\t\tu32 rate;\n\t\tchar str[96];\n\t\tstruct {\n\t\t\tu32 rtc;\n\t\t\tu32 elapsedSeconds;\n\t\t} time;\n\t\tstruct {\n\t\t\tu32 ecar;\n\t\t\tu32 elog;\n\t\t\tchar str[64];\n\t\t} ecc;\n\t\tu8 b[96];\n\t\t__le16 s[48];\n\t\t__le32 w[24];\n\t\t__le64 d[12];\n\t} args;\n\tchar description[128];\n};\n\nstruct megasas_evt_log_info {\n\t__le32 newest_seq_num;\n\t__le32 oldest_seq_num;\n\t__le32 clear_seq_num;\n\t__le32 shutdown_seq_num;\n\t__le32 boot_seq_num;\n};\n\nstruct megasas_init_frame {\n\tu8 cmd;\n\tu8 reserved_0;\n\tu8 cmd_status;\n\tu8 reserved_1;\n\tMFI_CAPABILITIES driver_operations;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 replyqueue_mask;\n\t__le32 data_xfer_len;\n\t__le32 queue_info_new_phys_addr_lo;\n\t__le32 queue_info_new_phys_addr_hi;\n\t__le32 queue_info_old_phys_addr_lo;\n\t__le32 queue_info_old_phys_addr_hi;\n\t__le32 reserved_4[2];\n\t__le32 system_info_lo;\n\t__le32 system_info_hi;\n\t__le32 reserved_5[2];\n};\n\nstruct megasas_io_frame {\n\tu8 cmd;\n\tu8 sense_len;\n\tu8 cmd_status;\n\tu8 scsi_status;\n\tu8 target_id;\n\tu8 access_byte;\n\tu8 reserved_0;\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 lba_count;\n\t__le32 sense_buf_phys_addr_lo;\n\t__le32 sense_buf_phys_addr_hi;\n\t__le32 start_lba_lo;\n\t__le32 start_lba_hi;\n\tunion megasas_sgl sgl;\n};\n\nstruct megasas_pthru_frame {\n\tu8 cmd;\n\tu8 sense_len;\n\tu8 cmd_status;\n\tu8 scsi_status;\n\tu8 target_id;\n\tu8 lun;\n\tu8 cdb_len;\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xfer_len;\n\t__le32 sense_buf_phys_addr_lo;\n\t__le32 sense_buf_phys_addr_hi;\n\tu8 cdb[16];\n\tunion megasas_sgl sgl;\n};\n\nstruct megasas_smp_frame {\n\tu8 cmd;\n\tu8 reserved_1;\n\tu8 cmd_status;\n\tu8 connection_status;\n\tu8 reserved_2[3];\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xfer_len;\n\t__le64 sas_addr;\n\tunion {\n\t\tstruct megasas_sge32 sge32[2];\n\t\tstruct megasas_sge64 sge64[2];\n\t} sgl;\n};\n\nstruct megasas_stp_frame {\n\tu8 cmd;\n\tu8 reserved_1;\n\tu8 cmd_status;\n\tu8 reserved_2;\n\tu8 target_id;\n\tu8 reserved_3[2];\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xfer_len;\n\t__le16 fis[10];\n\t__le32 stp_flags;\n\tunion {\n\t\tstruct megasas_sge32 sge32[2];\n\t\tstruct megasas_sge64 sge64[2];\n\t} sgl;\n};\n\nunion megasas_frame {\n\tstruct megasas_header hdr;\n\tstruct megasas_init_frame init;\n\tstruct megasas_io_frame io;\n\tstruct megasas_pthru_frame pthru;\n\tstruct megasas_dcmd_frame dcmd;\n\tstruct megasas_abort_frame abort;\n\tstruct megasas_smp_frame smp;\n\tstruct megasas_stp_frame stp;\n\tu8 raw_bytes[64];\n};\n\nstruct megasas_init_queue_info {\n\t__le32 init_flags;\n\t__le32 reply_queue_entries;\n\t__le32 reply_queue_start_phys_addr_lo;\n\t__le32 reply_queue_start_phys_addr_hi;\n\t__le32 producer_index_phys_addr_lo;\n\t__le32 producer_index_phys_addr_hi;\n\t__le32 consumer_index_phys_addr_lo;\n\t__le32 consumer_index_phys_addr_hi;\n};\n\nstruct megasas_pd_list {\n\tu16 tid;\n\tu8 driveType;\n\tu8 driveState;\n};\n\nstruct megasas_irq_context {\n\tchar name[32];\n\tstruct megasas_instance *instance;\n\tu32 MSIxIndex;\n\tu32 os_irq;\n\tstruct irq_poll irqpoll;\n\tbool irq_poll_scheduled;\n\tbool irq_line_enable;\n\tatomic_t in_used;\n};\n\nstruct megasas_register_set;\n\nstruct megasas_instance_template;\n\nstruct megasas_instance {\n\tunsigned int *reply_map;\n\t__le32 *producer;\n\tdma_addr_t producer_h;\n\t__le32 *consumer;\n\tdma_addr_t consumer_h;\n\tstruct MR_DRV_SYSTEM_INFO *system_info_buf;\n\tdma_addr_t system_info_h;\n\tstruct MR_LD_VF_AFFILIATION *vf_affiliation;\n\tdma_addr_t vf_affiliation_h;\n\tstruct MR_LD_VF_AFFILIATION_111 *vf_affiliation_111;\n\tdma_addr_t vf_affiliation_111_h;\n\tstruct MR_CTRL_HB_HOST_MEM *hb_host_mem;\n\tdma_addr_t hb_host_mem_h;\n\tstruct MR_PD_INFO *pd_info;\n\tdma_addr_t pd_info_h;\n\tstruct MR_TARGET_PROPERTIES *tgt_prop;\n\tdma_addr_t tgt_prop_h;\n\t__le32 *reply_queue;\n\tdma_addr_t reply_queue_h;\n\tu32 *crash_dump_buf;\n\tdma_addr_t crash_dump_h;\n\tstruct MR_PD_LIST *pd_list_buf;\n\tdma_addr_t pd_list_buf_h;\n\tstruct megasas_ctrl_info *ctrl_info_buf;\n\tdma_addr_t ctrl_info_buf_h;\n\tstruct MR_LD_LIST *ld_list_buf;\n\tdma_addr_t ld_list_buf_h;\n\tstruct MR_LD_TARGETID_LIST *ld_targetid_list_buf;\n\tdma_addr_t ld_targetid_list_buf_h;\n\tstruct MR_HOST_DEVICE_LIST *host_device_list_buf;\n\tdma_addr_t host_device_list_buf_h;\n\tstruct MR_SNAPDUMP_PROPERTIES *snapdump_prop;\n\tdma_addr_t snapdump_prop_h;\n\tvoid *crash_buf[512];\n\tunsigned int fw_crash_buffer_size;\n\tunsigned int fw_crash_state;\n\tunsigned int fw_crash_buffer_offset;\n\tu32 drv_buf_index;\n\tu32 drv_buf_alloc;\n\tu32 crash_dump_fw_support;\n\tu32 crash_dump_drv_support;\n\tu32 crash_dump_app_support;\n\tu32 secure_jbod_support;\n\tu32 support_morethan256jbod;\n\tbool use_seqnum_jbod_fp;\n\tbool smp_affinity_enable;\n\tstruct mutex crashdump_lock;\n\tstruct megasas_register_set *reg_set;\n\tu32 *reply_post_host_index_addr[16];\n\tstruct megasas_pd_list pd_list[256];\n\tstruct megasas_pd_list local_pd_list[256];\n\tu8 ld_ids[256];\n\tu8 ld_tgtid_status[256];\n\tu8 ld_ids_prev[256];\n\tu8 ld_ids_from_raidmap[256];\n\ts8 init_id;\n\tu16 max_num_sge;\n\tu16 max_fw_cmds;\n\tu16 max_mpt_cmds;\n\tu16 max_mfi_cmds;\n\tu16 max_scsi_cmds;\n\tu16 ldio_threshold;\n\tu16 cur_can_queue;\n\tu32 max_sectors_per_req;\n\tbool msix_load_balance;\n\tstruct megasas_aen_event *ev;\n\tstruct megasas_cmd **cmd_list;\n\tstruct list_head cmd_pool;\n\tspinlock_t mfi_pool_lock;\n\tspinlock_t hba_lock;\n\tspinlock_t stream_lock;\n\tspinlock_t completion_lock;\n\tstruct dma_pool *frame_dma_pool;\n\tstruct dma_pool *sense_dma_pool;\n\tstruct megasas_evt_detail *evt_detail;\n\tdma_addr_t evt_detail_h;\n\tstruct megasas_cmd *aen_cmd;\n\tstruct semaphore ioctl_sem;\n\tstruct Scsi_Host *host;\n\twait_queue_head_t int_cmd_wait_q;\n\twait_queue_head_t abort_cmd_wait_q;\n\tstruct pci_dev *pdev;\n\tu32 unique_id;\n\tu32 fw_support_ieee;\n\tu32 threshold_reply_count;\n\tatomic_t fw_outstanding;\n\tatomic_t ldio_outstanding;\n\tatomic_t fw_reset_no_pci_access;\n\tatomic64_t total_io_count;\n\tatomic64_t high_iops_outstanding;\n\tstruct megasas_instance_template *instancet;\n\tstruct tasklet_struct isr_tasklet;\n\tstruct work_struct work_init;\n\tstruct delayed_work fw_fault_work;\n\tstruct workqueue_struct *fw_fault_work_q;\n\tchar fault_handler_work_q_name[48];\n\tu8 flag;\n\tu8 unload;\n\tu8 flag_ieee;\n\tu8 issuepend_done;\n\tu8 disableOnlineCtrlReset;\n\tu8 UnevenSpanSupport;\n\tu8 supportmax256vd;\n\tu8 pd_list_not_supported;\n\tu16 fw_supported_vd_count;\n\tu16 fw_supported_pd_count;\n\tu16 drv_supported_vd_count;\n\tu16 drv_supported_pd_count;\n\tatomic_t adprecovery;\n\tlong unsigned int last_time;\n\tu32 mfiStatus;\n\tu32 last_seq_num;\n\tstruct list_head internal_reset_pending_q;\n\tvoid *ctrl_context;\n\tunsigned int msix_vectors;\n\tstruct megasas_irq_context irq_context[128];\n\tu64 map_id;\n\tu64 pd_seq_map_id;\n\tstruct megasas_cmd *map_update_cmd;\n\tstruct megasas_cmd *jbod_seq_cmd;\n\tlong unsigned int bar;\n\tlong int reset_flags;\n\tstruct mutex reset_mutex;\n\tstruct timer_list sriov_heartbeat_timer;\n\tchar skip_heartbeat_timer_del;\n\tu8 requestorId;\n\tchar PlasmaFW111;\n\tchar clusterId[16];\n\tu8 peerIsPresent;\n\tu8 passive;\n\tu16 throttlequeuedepth;\n\tu8 mask_interrupts;\n\tu16 max_chain_frame_sz;\n\tu8 is_imr;\n\tu8 is_rdpq;\n\tbool dev_handle;\n\tbool fw_sync_cache_support;\n\tu32 mfi_frame_size;\n\tbool msix_combined;\n\tu16 max_raid_mapsize;\n\tu8 r1_ldio_hint_default;\n\tu32 nvme_page_size;\n\tu8 adapter_type;\n\tbool consistent_mask_64bit;\n\tbool support_nvme_passthru;\n\tbool enable_sdev_max_qd;\n\tu8 task_abort_tmo;\n\tu8 max_reset_tmo;\n\tu8 snapdump_wait_time;\n\tstruct dentry *debugfs_root;\n\tstruct dentry *raidmap_dump;\n\tu8 enable_fw_dev_list;\n\tbool atomic_desc_support;\n\tbool support_seqnum_jbod_fp;\n\tbool support_pci_lane_margining;\n\tu8 low_latency_index_start;\n\tint perf_mode;\n\tint iopoll_q_count;\n};\n\nstruct megasas_instance_template {\n\tvoid (*fire_cmd)(struct megasas_instance *, dma_addr_t, u32, struct megasas_register_set *);\n\tvoid (*enable_intr)(struct megasas_instance *);\n\tvoid (*disable_intr)(struct megasas_instance *);\n\tint (*clear_intr)(struct megasas_instance *);\n\tu32 (*read_fw_status_reg)(struct megasas_instance *);\n\tint (*adp_reset)(struct megasas_instance *, struct megasas_register_set *);\n\tint (*check_reset)(struct megasas_instance *, struct megasas_register_set *);\n\tirqreturn_t (*service_isr)(int, void *);\n\tvoid (*tasklet)(long unsigned int);\n\tu32 (*init_adapter)(struct megasas_instance *);\n\tu32 (*build_and_issue_cmd)(struct megasas_instance *, struct scsi_cmnd *);\n\tvoid (*issue_dcmd)(struct megasas_instance *, struct megasas_cmd *);\n};\n\nstruct megasas_iocpacket {\n\tu16 host_no;\n\tu16 __pad1;\n\tu32 sgl_off;\n\tu32 sge_count;\n\tu32 sense_off;\n\tu32 sense_len;\n\tunion {\n\t\tu8 raw[128];\n\t\tstruct megasas_header hdr;\n\t} frame;\n\tstruct iovec sgl[16];\n} __attribute__((packed));\n\nstruct megasas_mgmt_info {\n\tu16 count;\n\tstruct megasas_instance *instance[1024];\n\tint max_index;\n};\n\nstruct megasas_register_set {\n\tu32 doorbell;\n\tu32 fusion_seq_offset;\n\tu32 fusion_host_diag;\n\tu32 reserved_01;\n\tu32 inbound_msg_0;\n\tu32 inbound_msg_1;\n\tu32 outbound_msg_0;\n\tu32 outbound_msg_1;\n\tu32 inbound_doorbell;\n\tu32 inbound_intr_status;\n\tu32 inbound_intr_mask;\n\tu32 outbound_doorbell;\n\tu32 outbound_intr_status;\n\tu32 outbound_intr_mask;\n\tu32 reserved_1[2];\n\tu32 inbound_queue_port;\n\tu32 outbound_queue_port;\n\tu32 reserved_2[9];\n\tu32 reply_post_host_index;\n\tu32 reserved_2_2[12];\n\tu32 outbound_doorbell_clear;\n\tu32 reserved_3[3];\n\tu32 outbound_scratch_pad_0;\n\tu32 outbound_scratch_pad_1;\n\tu32 outbound_scratch_pad_2;\n\tu32 outbound_scratch_pad_3;\n\tu32 inbound_low_queue_port;\n\tu32 inbound_high_queue_port;\n\tu32 inbound_single_queue_port;\n\tu32 res_6[11];\n\tu32 host_diag;\n\tu32 seq_offset;\n\tu32 index_registers[807];\n};\n\nstruct mem_cgroup_id {\n\tint id;\n\trefcount_t ref;\n};\n\nstruct vmpressure {\n\tlong unsigned int scanned;\n\tlong unsigned int reclaimed;\n\tlong unsigned int tree_scanned;\n\tlong unsigned int tree_reclaimed;\n\tspinlock_t sr_lock;\n\tstruct list_head events;\n\tstruct mutex events_lock;\n\tstruct work_struct work;\n};\n\nstruct wb_domain {\n\tspinlock_t lock;\n\tstruct fprop_global completions;\n\tstruct timer_list period_timer;\n\tlong unsigned int period_time;\n\tlong unsigned int dirty_limit_tstamp;\n\tlong unsigned int dirty_limit;\n};\n\nstruct wb_completion {\n\tatomic_t cnt;\n\twait_queue_head_t *waitq;\n};\n\nstruct memcg_cgwb_frn {\n\tu64 bdi_id;\n\tint memcg_id;\n\tu64 at;\n\tstruct wb_completion done;\n};\n\nstruct memcg_vmstats;\n\nstruct memcg_vmstats_percpu;\n\nstruct mem_cgroup_per_node;\n\nstruct mem_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct mem_cgroup_id id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct page_counter memory;\n\tunion {\n\t\tstruct page_counter swap;\n\t\tstruct page_counter memsw;\n\t};\n\tstruct list_head memory_peaks;\n\tstruct list_head swap_peaks;\n\tspinlock_t peaks_lock;\n\tstruct work_struct high_work;\n\tstruct vmpressure vmpressure;\n\tbool oom_group;\n\tint swappiness;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tstruct cgroup_file swap_events_file;\n\tstruct memcg_vmstats *vmstats;\n\tatomic_long_t memory_events[9];\n\tatomic_long_t memory_events_local[9];\n\tlong unsigned int socket_pressure;\n\tint kmemcg_id;\n\tstruct obj_cgroup *objcg;\n\tstruct obj_cgroup *orig_objcg;\n\tstruct list_head objcg_list;\n\tstruct memcg_vmstats_percpu *vmstats_percpu;\n\tstruct list_head cgwb_list;\n\tstruct wb_domain cgwb_domain;\n\tstruct memcg_cgwb_frn cgwb_frn[4];\n\tstruct deferred_split deferred_split_queue;\n\tstruct mem_cgroup_per_node *nodeinfo[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct mem_cgroup_reclaim_iter {\n\tstruct mem_cgroup *position;\n\tatomic_t generation;\n};\n\nstruct shrinker_info;\n\nstruct mem_cgroup_per_node {\n\tstruct mem_cgroup *memcg;\n\tstruct lruvec_stats_percpu *lruvec_stats_percpu;\n\tstruct lruvec_stats *lruvec_stats;\n\tstruct shrinker_info *shrinker_info;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct lruvec lruvec;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tlong unsigned int lru_zone_size[20];\n\tstruct mem_cgroup_reclaim_iter iter;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef struct pglist_data pg_data_t;\n\nstruct mem_cgroup_reclaim_cookie {\n\tpg_data_t *pgdat;\n\tint generation;\n};\n\nstruct mcidev_sysfs_attribute;\n\nstruct mem_ctl_info {\n\tstruct device dev;\n\tconst struct bus_type *bus;\n\tstruct list_head link;\n\tstruct module *owner;\n\tlong unsigned int mtype_cap;\n\tlong unsigned int edac_ctl_cap;\n\tlong unsigned int edac_cap;\n\tlong unsigned int scrub_cap;\n\tenum scrub_type scrub_mode;\n\tint (*set_sdram_scrub_rate)(struct mem_ctl_info *, u32);\n\tint (*get_sdram_scrub_rate)(struct mem_ctl_info *);\n\tvoid (*edac_check)(struct mem_ctl_info *);\n\tlong unsigned int (*ctl_page_to_phys)(struct mem_ctl_info *, long unsigned int);\n\tint mc_idx;\n\tstruct csrow_info **csrows;\n\tunsigned int nr_csrows;\n\tunsigned int num_cschannel;\n\tunsigned int n_layers;\n\tstruct edac_mc_layer *layers;\n\tbool csbased;\n\tunsigned int tot_dimms;\n\tstruct dimm_info **dimms;\n\tstruct device *pdev;\n\tconst char *mod_name;\n\tconst char *ctl_name;\n\tconst char *dev_name;\n\tvoid *pvt_info;\n\tlong unsigned int start_time;\n\tu32 ce_noinfo_count;\n\tu32 ue_noinfo_count;\n\tu32 ue_mc;\n\tu32 ce_mc;\n\tstruct completion complete;\n\tconst struct mcidev_sysfs_attribute *mc_driver_sysfs_attributes;\n\tstruct delayed_work work;\n\tstruct edac_raw_error_desc error_desc;\n\tint op_state;\n\tstruct dentry *debugfs;\n\tu8 fake_inject_layer[3];\n\tbool fake_inject_ue;\n\tu16 fake_inject_count;\n};\n\nstruct quota_format_type;\n\nstruct mem_dqinfo {\n\tstruct quota_format_type *dqi_format;\n\tint dqi_fmt_id;\n\tstruct list_head dqi_dirty_list;\n\tlong unsigned int dqi_flags;\n\tunsigned int dqi_bgrace;\n\tunsigned int dqi_igrace;\n\tqsize_t dqi_max_spc_limit;\n\tqsize_t dqi_max_ino_limit;\n\tvoid *dqi_priv;\n};\n\nstruct mem_extent {\n\tstruct list_head hook;\n\tlong unsigned int start;\n\tlong unsigned int end;\n};\n\nstruct mem_section_usage;\n\nstruct mem_section {\n\tlong unsigned int section_mem_map;\n\tstruct mem_section_usage *usage;\n};\n\nstruct mem_section_usage {\n\tstruct callback_head rcu;\n\tlong unsigned int subsection_map[1];\n\tlong unsigned int pageblock_flags[0];\n};\n\nstruct mem_size_stats {\n\tlong unsigned int resident;\n\tlong unsigned int shared_clean;\n\tlong unsigned int shared_dirty;\n\tlong unsigned int private_clean;\n\tlong unsigned int private_dirty;\n\tlong unsigned int referenced;\n\tlong unsigned int anonymous;\n\tlong unsigned int lazyfree;\n\tlong unsigned int anonymous_thp;\n\tlong unsigned int shmem_thp;\n\tlong unsigned int file_thp;\n\tlong unsigned int swap;\n\tlong unsigned int shared_hugetlb;\n\tlong unsigned int private_hugetlb;\n\tlong unsigned int ksm;\n\tu64 pss;\n\tu64 pss_anon;\n\tu64 pss_file;\n\tu64 pss_shmem;\n\tu64 pss_dirty;\n\tu64 pss_locked;\n\tu64 swap_pss;\n};\n\nstruct mem_zone_bm_rtree {\n\tstruct list_head list;\n\tstruct list_head nodes;\n\tstruct list_head leaves;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tstruct rtree_node *rtree;\n\tint levels;\n\tunsigned int blocks;\n};\n\nstruct memac_cfg {\n\tbool reset_on_init;\n\tbool pause_ignore;\n\tbool promiscuous_mode_enable;\n\tu16 max_frame_length;\n\tu16 pause_quanta;\n\tu32 tx_ipg_length;\n};\n\nstruct memac_regs {\n\tu32 res0000[2];\n\tu32 command_config;\n\tstruct mac_addr___2 mac_addr0;\n\tu32 maxfrm;\n\tu32 res0018[1];\n\tu32 rx_fifo_sections;\n\tu32 tx_fifo_sections;\n\tu32 res0024[2];\n\tu32 hashtable_ctrl;\n\tu32 res0030[4];\n\tu32 ievent;\n\tu32 tx_ipg_length;\n\tu32 res0048;\n\tu32 imask;\n\tu32 res0050;\n\tu32 pause_quanta[4];\n\tu32 pause_thresh[4];\n\tu32 rx_pause_status;\n\tu32 res0078[2];\n\tstruct mac_addr___2 mac_addr[7];\n\tu32 lpwake_timer;\n\tu32 sleep_timer;\n\tu32 res00c0[8];\n\tu32 statn_config;\n\tu32 res00e4[7];\n\tu32 reoct_l;\n\tu32 reoct_u;\n\tu32 roct_l;\n\tu32 roct_u;\n\tu32 raln_l;\n\tu32 raln_u;\n\tu32 rxpf_l;\n\tu32 rxpf_u;\n\tu32 rfrm_l;\n\tu32 rfrm_u;\n\tu32 rfcs_l;\n\tu32 rfcs_u;\n\tu32 rvlan_l;\n\tu32 rvlan_u;\n\tu32 rerr_l;\n\tu32 rerr_u;\n\tu32 ruca_l;\n\tu32 ruca_u;\n\tu32 rmca_l;\n\tu32 rmca_u;\n\tu32 rbca_l;\n\tu32 rbca_u;\n\tu32 rdrp_l;\n\tu32 rdrp_u;\n\tu32 rpkt_l;\n\tu32 rpkt_u;\n\tu32 rund_l;\n\tu32 rund_u;\n\tu32 r64_l;\n\tu32 r64_u;\n\tu32 r127_l;\n\tu32 r127_u;\n\tu32 r255_l;\n\tu32 r255_u;\n\tu32 r511_l;\n\tu32 r511_u;\n\tu32 r1023_l;\n\tu32 r1023_u;\n\tu32 r1518_l;\n\tu32 r1518_u;\n\tu32 r1519x_l;\n\tu32 r1519x_u;\n\tu32 rovr_l;\n\tu32 rovr_u;\n\tu32 rjbr_l;\n\tu32 rjbr_u;\n\tu32 rfrg_l;\n\tu32 rfrg_u;\n\tu32 rcnp_l;\n\tu32 rcnp_u;\n\tu32 rdrntp_l;\n\tu32 rdrntp_u;\n\tu32 res01d0[12];\n\tu32 teoct_l;\n\tu32 teoct_u;\n\tu32 toct_l;\n\tu32 toct_u;\n\tu32 res0210[2];\n\tu32 txpf_l;\n\tu32 txpf_u;\n\tu32 tfrm_l;\n\tu32 tfrm_u;\n\tu32 tfcs_l;\n\tu32 tfcs_u;\n\tu32 tvlan_l;\n\tu32 tvlan_u;\n\tu32 terr_l;\n\tu32 terr_u;\n\tu32 tuca_l;\n\tu32 tuca_u;\n\tu32 tmca_l;\n\tu32 tmca_u;\n\tu32 tbca_l;\n\tu32 tbca_u;\n\tu32 res0258[2];\n\tu32 tpkt_l;\n\tu32 tpkt_u;\n\tu32 tund_l;\n\tu32 tund_u;\n\tu32 t64_l;\n\tu32 t64_u;\n\tu32 t127_l;\n\tu32 t127_u;\n\tu32 t255_l;\n\tu32 t255_u;\n\tu32 t511_l;\n\tu32 t511_u;\n\tu32 t1023_l;\n\tu32 t1023_u;\n\tu32 t1518_l;\n\tu32 t1518_u;\n\tu32 t1519x_l;\n\tu32 t1519x_u;\n\tu32 res02a8[6];\n\tu32 tcnp_l;\n\tu32 tcnp_u;\n\tu32 res02c8[14];\n\tu32 if_mode;\n\tu32 if_status;\n\tu32 res0308[14];\n\tu32 hg_config;\n\tu32 res0344[3];\n\tu32 hg_pause_quanta;\n\tu32 res0354[3];\n\tu32 hg_pause_thresh;\n\tu32 res0364[3];\n\tu32 hgrx_pause_status;\n\tu32 hg_fifos_status;\n\tu32 rhm;\n\tu32 thm;\n};\n\nstruct memblock_region;\n\nstruct memblock_type {\n\tlong unsigned int cnt;\n\tlong unsigned int max;\n\tphys_addr_t total_size;\n\tstruct memblock_region *regions;\n\tchar *name;\n};\n\nstruct memblock {\n\tbool bottom_up;\n\tphys_addr_t current_limit;\n\tstruct memblock_type memory;\n\tstruct memblock_type reserved;\n};\n\nstruct memblock_region {\n\tphys_addr_t base;\n\tphys_addr_t size;\n\tenum memblock_flags flags;\n\tint nid;\n};\n\nstruct membuf {\n\tvoid *p;\n\tsize_t left;\n};\n\nstruct memcg_stock_pcp {\n\tlocal_lock_t stock_lock;\n\tstruct mem_cgroup *cached;\n\tunsigned int nr_pages;\n\tstruct obj_cgroup *cached_objcg;\n\tstruct pglist_data *cached_pgdat;\n\tunsigned int nr_bytes;\n\tint nr_slab_reclaimable_b;\n\tint nr_slab_unreclaimable_b;\n\tstruct work_struct work;\n\tlong unsigned int flags;\n};\n\nstruct memcg_vmstats {\n\tlong int state[39];\n\tlong unsigned int events[24];\n\tlong int state_local[39];\n\tlong unsigned int events_local[24];\n\tlong int state_pending[39];\n\tlong unsigned int events_pending[24];\n\tatomic64_t stats_updates;\n};\n\nstruct memcg_vmstats_percpu {\n\tunsigned int stats_updates;\n\tstruct memcg_vmstats_percpu *parent;\n\tstruct memcg_vmstats *vmstats;\n\tlong int state[39];\n\tlong unsigned int events[24];\n\tlong int state_prev[39];\n\tlong unsigned int events_prev[24];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct memdev {\n\tconst char *name;\n\tconst struct file_operations *fops;\n\tfmode_t fmode;\n\tumode_t mode;\n};\n\nstruct memdev_dmi_entry {\n\tu8 type;\n\tu8 length;\n\tu16 handle;\n\tu16 phys_mem_array_handle;\n\tu16 mem_err_info_handle;\n\tu16 total_width;\n\tu16 data_width;\n\tu16 size;\n\tu8 form_factor;\n\tu8 device_set;\n\tu8 device_locator;\n\tu8 bank_locator;\n\tu8 memory_type;\n\tu16 type_detail;\n\tu16 speed;\n\tu8 manufacturer;\n\tu8 serial_number;\n\tu8 asset_tag;\n\tu8 part_number;\n\tu8 attributes;\n\tu32 extended_size;\n\tu16 conf_mem_clk_speed;\n} __attribute__((packed));\n\nstruct memory_bitmap {\n\tstruct list_head zones;\n\tstruct linked_page *p_list;\n\tstruct bm_position cur;\n};\n\nstruct memory_group;\n\nstruct memory_block {\n\tlong unsigned int start_section_nr;\n\tlong unsigned int state;\n\tint online_type;\n\tint nid;\n\tstruct zone *zone;\n\tstruct device dev;\n\tstruct vmem_altmap *altmap;\n\tstruct memory_group *group;\n\tstruct list_head group_next;\n\tatomic_long_t nr_hwpoison;\n};\n\nstruct memory_dev_type {\n\tstruct list_head tier_sibling;\n\tstruct list_head list;\n\tint adistance;\n\tnodemask_t nodes;\n\tstruct kref kref;\n};\n\nstruct memory_failure_entry {\n\tlong unsigned int pfn;\n\tint flags;\n};\n\nstruct memory_failure_cpu {\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct memory_failure_entry *type;\n\t\t\tconst struct memory_failure_entry *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct memory_failure_entry *ptr;\n\t\t\tconst struct memory_failure_entry *ptr_const;\n\t\t};\n\t\tstruct memory_failure_entry buf[16];\n\t} fifo;\n\traw_spinlock_t lock;\n\tstruct work_struct work;\n};\n\nstruct memory_failure_stats {\n\tlong unsigned int total;\n\tlong unsigned int ignored;\n\tlong unsigned int failed;\n\tlong unsigned int delayed;\n\tlong unsigned int recovered;\n};\n\nstruct memory_group {\n\tint nid;\n\tstruct list_head memory_blocks;\n\tlong unsigned int present_kernel_pages;\n\tlong unsigned int present_movable_pages;\n\tbool is_dynamic;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int max_pages;\n\t\t} s;\n\t\tstruct {\n\t\t\tlong unsigned int unit_pages;\n\t\t} d;\n\t};\n};\n\nstruct memory_initiator {\n\tstruct list_head node;\n\tunsigned int processor_pxm;\n\tbool has_cpu;\n};\n\nstruct memory_locality {\n\tstruct list_head node;\n\tstruct acpi_hmat_locality *hmat_loc;\n};\n\nstruct memory_notify {\n\tlong unsigned int altmap_start_pfn;\n\tlong unsigned int altmap_nr_pages;\n\tlong unsigned int start_pfn;\n\tlong unsigned int nr_pages;\n\tint status_change_nid_normal;\n\tint status_change_nid;\n};\n\nstruct memory_stat {\n\tconst char *name;\n\tunsigned int idx;\n};\n\nstruct node_cache_attrs {\n\tenum cache_indexing indexing;\n\tenum cache_write_policy write_policy;\n\tu64 size;\n\tu16 line_size;\n\tu8 level;\n};\n\nstruct memory_target {\n\tstruct list_head node;\n\tunsigned int memory_pxm;\n\tunsigned int processor_pxm;\n\tstruct resource memregions;\n\tstruct access_coordinate coord[4];\n\tstruct list_head caches;\n\tstruct node_cache_attrs cache_attrs;\n\tu8 gen_port_device_handle[16];\n\tbool registered;\n\tbool ext_updated;\n};\n\nstruct memory_tier {\n\tstruct list_head list;\n\tstruct list_head memory_types;\n\tint adistance_start;\n\tstruct device dev;\n\tnodemask_t lower_tier_mask;\n};\n\nstruct mempolicy {\n\tatomic_t refcnt;\n\tshort unsigned int mode;\n\tshort unsigned int flags;\n\tnodemask_t nodes;\n\tint home_node;\n\tunion {\n\t\tnodemask_t cpuset_mems_allowed;\n\t\tnodemask_t user_nodemask;\n\t} w;\n};\n\nstruct mempolicy_operations {\n\tint (*create)(struct mempolicy *, const nodemask_t *);\n\tvoid (*rebind)(struct mempolicy *, const nodemask_t *);\n};\n\nstruct menu_device {\n\tint needs_update;\n\tint tick_wakeup;\n\tu64 next_timer_ns;\n\tunsigned int bucket;\n\tunsigned int correction_factor[6];\n\tunsigned int intervals[8];\n\tint interval_ptr;\n};\n\nstruct meson8_pmx_data {\n\tbool is_gpio;\n\tunsigned int reg;\n\tunsigned int bit;\n};\n\nstruct meson_clk_hw_data {\n\tstruct clk_hw **hws;\n\tunsigned int num;\n};\n\nstruct meson_aoclk_data {\n\tconst unsigned int reset_reg;\n\tconst int num_reset;\n\tconst unsigned int *reset;\n\tconst int num_clks;\n\tstruct clk_regmap___2 **clks;\n\tstruct meson_clk_hw_data hw_clks;\n};\n\nstruct meson_aoclk_reset_controller {\n\tstruct reset_controller_dev reset;\n\tconst struct meson_aoclk_data *data;\n\tstruct regmap *regmap;\n};\n\nstruct meson_pmx_bank;\n\nstruct meson_axg_pmx_data {\n\tconst struct meson_pmx_bank *pmx_banks;\n\tunsigned int num_pmx_banks;\n};\n\nstruct meson_reg_desc {\n\tunsigned int reg;\n\tunsigned int bit;\n};\n\nstruct meson_bank {\n\tconst char *name;\n\tunsigned int first;\n\tunsigned int last;\n\tint irq_first;\n\tint irq_last;\n\tstruct meson_reg_desc regs[6];\n};\n\nstruct parm {\n\tu16 reg_off;\n\tu8 shift;\n\tu8 width;\n};\n\nstruct meson_clk_cpu_dyndiv_data {\n\tstruct parm div;\n\tstruct parm dyn;\n};\n\nstruct meson_clk_dualdiv_param;\n\nstruct meson_clk_dualdiv_data {\n\tstruct parm n1;\n\tstruct parm n2;\n\tstruct parm m1;\n\tstruct parm m2;\n\tstruct parm dual;\n\tconst struct meson_clk_dualdiv_param *table;\n};\n\nstruct meson_clk_dualdiv_param {\n\tunsigned int n1;\n\tunsigned int n2;\n\tunsigned int m1;\n\tunsigned int m2;\n\tunsigned int dual;\n};\n\nstruct meson_clk_mpll_data {\n\tstruct parm sdm;\n\tstruct parm sdm_en;\n\tstruct parm n2;\n\tstruct parm ssen;\n\tstruct parm misc;\n\tconst struct reg_sequence *init_regs;\n\tunsigned int init_count;\n\tu8 flags;\n};\n\nstruct pll_params_table;\n\nstruct pll_mult_range;\n\nstruct meson_clk_pll_data {\n\tstruct parm en;\n\tstruct parm m;\n\tstruct parm n;\n\tstruct parm frac;\n\tstruct parm l;\n\tstruct parm rst;\n\tstruct parm current_en;\n\tstruct parm l_detect;\n\tconst struct reg_sequence *init_regs;\n\tunsigned int init_count;\n\tconst struct pll_params_table *table;\n\tconst struct pll_mult_range *range;\n\tunsigned int frac_max;\n\tu8 flags;\n};\n\nstruct meson_ee_pwrc_domain;\n\nstruct meson_ee_pwrc {\n\tstruct regmap *regmap_ao;\n\tstruct regmap *regmap_hhi;\n\tstruct meson_ee_pwrc_domain *domains;\n\tstruct genpd_onecell_data xlate;\n};\n\nstruct meson_ee_pwrc_top_domain;\n\nstruct meson_ee_pwrc_mem_domain;\n\nstruct meson_ee_pwrc_domain_desc {\n\tchar *name;\n\tunsigned int reset_names_count;\n\tunsigned int clk_names_count;\n\tstruct meson_ee_pwrc_top_domain *top_pd;\n\tunsigned int mem_pd_count;\n\tstruct meson_ee_pwrc_mem_domain *mem_pd;\n\tbool (*is_powered_off)(struct meson_ee_pwrc_domain *);\n};\n\nstruct meson_ee_pwrc_domain {\n\tstruct generic_pm_domain base;\n\tbool enabled;\n\tstruct meson_ee_pwrc *pwrc;\n\tstruct meson_ee_pwrc_domain_desc desc;\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct reset_control *rstc;\n\tint num_rstc;\n};\n\nstruct meson_ee_pwrc_domain_data {\n\tunsigned int count;\n\tstruct meson_ee_pwrc_domain_desc *domains;\n};\n\nstruct meson_ee_pwrc_mem_domain {\n\tunsigned int reg;\n\tunsigned int mask;\n};\n\nstruct meson_ee_pwrc_top_domain {\n\tunsigned int sleep_reg;\n\tunsigned int sleep_mask;\n\tunsigned int iso_reg;\n\tunsigned int iso_mask;\n};\n\nstruct meson_eeclkc_data {\n\tstruct clk_regmap___2 * const *regmap_clks;\n\tunsigned int regmap_clk_num;\n\tconst struct reg_sequence *init_regs;\n\tunsigned int init_count;\n\tstruct meson_clk_hw_data hw_clks;\n};\n\nstruct meson_g12a_data {\n\tconst struct meson_eeclkc_data eeclkc_data;\n\tint (*dvfs_setup)(struct platform_device *);\n};\n\nstruct meson_gpio_irq_params;\n\nstruct meson_gpio_irq_controller {\n\tconst struct meson_gpio_irq_params *params;\n\tvoid *base;\n\tu32 channel_irqs[64];\n\tlong unsigned int channel_map[1];\n\traw_spinlock_t lock;\n};\n\nstruct meson_gpio_irq_params {\n\tunsigned int nr_hwirq;\n\tunsigned int nr_channels;\n\tbool support_edge_both;\n\tunsigned int edge_both_offset;\n\tunsigned int edge_single_offset;\n\tunsigned int pol_low_offset;\n\tunsigned int pin_sel_mask;\n\tstruct irq_ctl_ops ops;\n};\n\nstruct meson_gx_package_id {\n\tconst char *name;\n\tunsigned int major_id;\n\tunsigned int pack_id;\n\tunsigned int pack_mask;\n};\n\nstruct meson_gx_soc_id {\n\tconst char *name;\n\tunsigned int id;\n};\n\nstruct meson_mmc_data;\n\nstruct sd_emmc_desc;\n\nstruct meson_host {\n\tstruct device *dev;\n\tconst struct meson_mmc_data *data;\n\tstruct mmc_host *mmc;\n\tstruct mmc_command *cmd;\n\tvoid *regs;\n\tstruct clk *mux_clk;\n\tstruct clk *mmc_clk;\n\tlong unsigned int req_rate;\n\tbool ddr;\n\tbool dram_access_quirk;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_clk_gate;\n\tunsigned int bounce_buf_size;\n\tvoid *bounce_buf;\n\tvoid *bounce_iomem_buf;\n\tdma_addr_t bounce_dma_addr;\n\tstruct sd_emmc_desc *descs;\n\tdma_addr_t descs_dma_addr;\n\tint irq;\n\tbool needs_pre_post_req;\n\tspinlock_t lock;\n};\n\nstruct meson_i2c_data;\n\nstruct meson_i2c {\n\tstruct i2c_adapter adap;\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct clk *clk;\n\tstruct i2c_msg *msg;\n\tint state;\n\tbool last;\n\tint count;\n\tint pos;\n\tint error;\n\tspinlock_t lock;\n\tstruct completion done;\n\tu32 tokens[2];\n\tint num_tokens;\n\tconst struct meson_i2c_data *data;\n};\n\nstruct meson_i2c_data {\n\tvoid (*set_clk_div)(struct meson_i2c *, unsigned int);\n};\n\nstruct meson_mmc_data {\n\tunsigned int tx_delay_mask;\n\tunsigned int rx_delay_mask;\n\tunsigned int always_on;\n\tunsigned int adjust;\n\tunsigned int irq_sdio_sleep;\n};\n\nstruct meson_msr;\n\nstruct meson_msr_id {\n\tstruct meson_msr *priv;\n\tunsigned int id;\n\tconst char *name;\n};\n\nstruct meson_msr {\n\tstruct regmap *regmap;\n\tstruct meson_msr_id msr_table[128];\n};\n\nstruct meson_pinctrl_data;\n\nstruct meson_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pcdev;\n\tstruct pinctrl_desc desc;\n\tstruct meson_pinctrl_data *data;\n\tstruct regmap *reg_mux;\n\tstruct regmap *reg_pullen;\n\tstruct regmap *reg_pull;\n\tstruct regmap *reg_gpio;\n\tstruct regmap *reg_ds;\n\tstruct gpio_chip chip;\n\tstruct fwnode_handle *fwnode;\n};\n\nstruct meson_pmx_group;\n\nstruct meson_pmx_func;\n\nstruct meson_pinctrl_data {\n\tconst char *name;\n\tconst struct pinctrl_pin_desc *pins;\n\tconst struct meson_pmx_group *groups;\n\tconst struct meson_pmx_func *funcs;\n\tunsigned int num_pins;\n\tunsigned int num_groups;\n\tunsigned int num_funcs;\n\tconst struct meson_bank *banks;\n\tunsigned int num_banks;\n\tconst struct pinmux_ops *pmx_ops;\n\tconst void *pmx_data;\n\tint (*parse_dt)(struct meson_pinctrl *);\n};\n\nstruct meson_pmx_axg_data {\n\tunsigned int func;\n};\n\nstruct meson_pmx_bank {\n\tconst char *name;\n\tunsigned int first;\n\tunsigned int last;\n\tunsigned int reg;\n\tunsigned int offset;\n};\n\nstruct meson_pmx_func {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int num_groups;\n};\n\nstruct meson_pmx_group {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tunsigned int num_pins;\n\tconst void *data;\n};\n\nstruct meson_reset_param;\n\nstruct meson_reset {\n\tconst struct meson_reset_param *param;\n\tstruct reset_controller_dev rcdev;\n\tstruct regmap *map;\n};\n\nstruct meson_reset_param {\n\tconst struct reset_control_ops *reset_ops;\n\tunsigned int reset_num;\n\tunsigned int reset_offset;\n\tunsigned int level_offset;\n\tbool level_low_reset;\n};\n\nstruct meson_rng_data {\n\tvoid *base;\n\tstruct hwrng rng;\n\tstruct device *dev;\n};\n\nstruct meson_rng_priv {\n\tint (*read)(struct hwrng *, void *, size_t, bool);\n};\n\nstruct meson_sar_adc_param;\n\nstruct meson_sar_adc_data {\n\tconst struct meson_sar_adc_param *param;\n\tconst char *name;\n};\n\nstruct meson_sar_adc_param {\n\tbool has_bl30_integration;\n\tlong unsigned int clock_rate;\n\tunsigned int resolution;\n\tconst struct regmap_config *regmap_config;\n\tu8 temperature_trimming_bits;\n\tunsigned int temperature_multiplier;\n\tunsigned int temperature_divider;\n\tu8 disable_ring_counter;\n\tbool has_vref_select;\n\tu8 vref_select;\n\tu8 cmv_select;\n\tu8 adc_eoc;\n\tenum meson_sar_adc_vref_sel vref_voltage;\n};\n\nstruct meson_sar_adc_priv {\n\tstruct regmap *regmap;\n\tstruct regulator *vref;\n\tconst struct meson_sar_adc_param *param;\n\tstruct clk *clkin;\n\tstruct clk *core_clk;\n\tstruct clk *adc_sel_clk;\n\tstruct clk *adc_clk;\n\tstruct clk_gate clk_gate;\n\tstruct clk *adc_div_clk;\n\tstruct clk_divider clk_div;\n\tstruct completion done;\n\tstruct mutex lock;\n\tint calibbias;\n\tint calibscale;\n\tstruct regmap *tsc_regmap;\n\tbool temperature_sensor_calibrated;\n\tu8 temperature_sensor_coefficient;\n\tu16 temperature_sensor_adc_val;\n\tenum meson_sar_adc_chan7_mux_sel chan7_mux_sel;\n};\n\nstruct meson_secure_pwrc_domain;\n\nstruct meson_sm_firmware;\n\nstruct meson_secure_pwrc {\n\tstruct meson_secure_pwrc_domain *domains;\n\tstruct genpd_onecell_data xlate;\n\tstruct meson_sm_firmware *fw;\n};\n\nstruct meson_secure_pwrc_domain {\n\tstruct generic_pm_domain base;\n\tunsigned int index;\n\tunsigned int parent;\n\tstruct meson_secure_pwrc *pwrc;\n};\n\nstruct meson_secure_pwrc_domain_desc;\n\nstruct meson_secure_pwrc_domain_data {\n\tunsigned int count;\n\tconst struct meson_secure_pwrc_domain_desc *domains;\n};\n\nstruct meson_secure_pwrc_domain_desc {\n\tunsigned int index;\n\tunsigned int parent;\n\tunsigned int flags;\n\tchar *name;\n\tbool (*is_off)(struct meson_secure_pwrc_domain *);\n};\n\nstruct meson_sm_cmd {\n\tunsigned int index;\n\tu32 smc_id;\n};\n\nstruct meson_sm_chip {\n\tunsigned int shmem_size;\n\tu32 cmd_shmem_in_base;\n\tu32 cmd_shmem_out_base;\n\tstruct meson_sm_cmd cmd[0];\n};\n\nstruct meson_sm_firmware {\n\tconst struct meson_sm_chip *chip;\n\tvoid *sm_shmem_in_base;\n\tvoid *sm_shmem_out_base;\n};\n\nstruct meson_uart_data {\n\tstruct uart_driver *uart_driver;\n\tbool has_xtal_div2;\n};\n\nstruct meson_vclk_div_data {\n\tstruct parm div;\n\tstruct parm enable;\n\tstruct parm reset;\n\tconst struct clk_div_table *table;\n\tu8 flags;\n};\n\nstruct meson_vclk_gate_data {\n\tstruct parm enable;\n\tstruct parm reset;\n\tu8 flags;\n};\n\nstruct meson_vid_pll_div_data {\n\tstruct parm val;\n\tstruct parm sel;\n};\n\nstruct meta_entry {\n\tu64 data_block;\n\tunsigned int index_block;\n\tshort unsigned int offset;\n\tshort unsigned int pad;\n};\n\nstruct meta_index {\n\tunsigned int inode_number;\n\tunsigned int offset;\n\tshort unsigned int entries;\n\tshort unsigned int skip;\n\tshort unsigned int locked;\n\tshort unsigned int pad;\n\tstruct meta_entry meta_entry[127];\n};\n\nstruct xfrm_md_info {\n\tu32 if_id;\n\tint link;\n\tstruct dst_entry *dst_orig;\n};\n\nstruct metadata_dst {\n\tstruct dst_entry dst;\n\tenum metadata_type type;\n\tunion {\n\t\tstruct ip_tunnel_info tun_info;\n\t\tstruct hw_port_info port_info;\n\t\tstruct macsec_info macsec_info;\n\t\tstruct xfrm_md_info xfrm_info;\n\t} u;\n};\n\nstruct mfd_cell_acpi_match;\n\nstruct mfd_cell {\n\tconst char *name;\n\tint id;\n\tint level;\n\tint (*suspend)(struct platform_device *);\n\tint (*resume)(struct platform_device *);\n\tconst void *platform_data;\n\tsize_t pdata_size;\n\tconst struct mfd_cell_acpi_match *acpi_match;\n\tconst struct software_node *swnode;\n\tconst char *of_compatible;\n\tu64 of_reg;\n\tbool use_of_reg;\n\tint num_resources;\n\tconst struct resource *resources;\n\tbool ignore_resource_conflicts;\n\tbool pm_runtime_no_callbacks;\n\tint num_parent_supplies;\n\tconst char * const *parent_supplies;\n};\n\nstruct mfd_cell_acpi_match {\n\tconst char *pnpid;\n\tconst long long unsigned int adr;\n};\n\nstruct mfd_of_node_entry {\n\tstruct list_head list;\n\tstruct device *dev;\n\tstruct device_node *np;\n};\n\nstruct mhp_params {\n\tstruct vmem_altmap *altmap;\n\tpgprot_t pgprot;\n\tstruct dev_pagemap *pgmap;\n};\n\nstruct mhu_db_channel {\n\tstruct arm_mhu *mhu;\n\tunsigned int pchan;\n\tunsigned int doorbell;\n};\n\nstruct micron_on_die_ecc {\n\tbool forced;\n\tbool enabled;\n\tvoid *rawbuf;\n};\n\nstruct micron_nand {\n\tstruct micron_on_die_ecc ecc;\n};\n\nstruct migrate_pages_stats {\n\tint nr_succeeded;\n\tint nr_failed_pages;\n\tint nr_thp_succeeded;\n\tint nr_thp_failed;\n\tint nr_thp_split;\n\tint nr_split;\n};\n\nstruct migrate_struct {\n\text4_lblk_t first_block;\n\text4_lblk_t last_block;\n\text4_lblk_t curr_block;\n\text4_fsblk_t first_pblock;\n\text4_fsblk_t last_pblock;\n};\n\nstruct set_affinity_pending;\n\nstruct migration_arg {\n\tstruct task_struct *task;\n\tint dest_cpu;\n\tstruct set_affinity_pending *pending;\n};\n\nstruct migration_mpol {\n\tstruct mempolicy *pol;\n\tlong unsigned int ilx;\n};\n\nstruct migration_swap_arg {\n\tstruct task_struct *src_task;\n\tstruct task_struct *dst_task;\n\tint src_cpu;\n\tint dst_cpu;\n};\n\nstruct migration_target_control {\n\tint nid;\n\tnodemask_t *nmask;\n\tgfp_t gfp_mask;\n\tenum migrate_reason reason;\n};\n\nstruct phy_package_shared;\n\nstruct mii_bus {\n\tstruct module *owner;\n\tconst char *name;\n\tchar id[61];\n\tvoid *priv;\n\tint (*read)(struct mii_bus *, int, int);\n\tint (*write)(struct mii_bus *, int, int, u16);\n\tint (*read_c45)(struct mii_bus *, int, int, int);\n\tint (*write_c45)(struct mii_bus *, int, int, int, u16);\n\tint (*reset)(struct mii_bus *);\n\tstruct mdio_bus_stats stats[32];\n\tstruct mutex mdio_lock;\n\tstruct device *parent;\n\tenum {\n\t\tMDIOBUS_ALLOCATED = 1,\n\t\tMDIOBUS_REGISTERED = 2,\n\t\tMDIOBUS_UNREGISTERED = 3,\n\t\tMDIOBUS_RELEASED = 4,\n\t} state;\n\tstruct device dev;\n\tstruct mdio_device *mdio_map[32];\n\tu32 phy_mask;\n\tu32 phy_ignore_ta_mask;\n\tint irq[32];\n\tint reset_delay_us;\n\tint reset_post_delay_us;\n\tstruct gpio_desc *reset_gpiod;\n\tstruct mutex shared_lock;\n\tstruct phy_package_shared *shared[32];\n};\n\nstruct mii_if_info {\n\tint phy_id;\n\tint advertising;\n\tint phy_id_mask;\n\tint reg_num_mask;\n\tunsigned int full_duplex: 1;\n\tunsigned int force_media: 1;\n\tunsigned int supports_gmii: 1;\n\tstruct net_device *dev;\n\tint (*mdio_read)(struct net_device *, int, int);\n\tvoid (*mdio_write)(struct net_device *, int, int, int);\n};\n\nstruct mii_ioctl_data {\n\t__u16 phy_id;\n\t__u16 reg_num;\n\t__u16 val_in;\n\t__u16 val_out;\n};\n\nstruct min_heap_callbacks {\n\tbool (*less)(const void *, const void *, void *);\n\tvoid (*swp)(void *, void *, void *);\n};\n\nstruct min_heap_char {\n\tsize_t nr;\n\tsize_t size;\n\tchar *data;\n\tchar preallocated[0];\n};\n\ntypedef struct min_heap_char min_heap_char;\n\nstruct min_max_quirk {\n\tconst char * const *pnp_ids;\n\tstruct {\n\t\tu32 min;\n\t\tu32 max;\n\t} board_id;\n\tu32 x_min;\n\tu32 x_max;\n\tu32 y_min;\n\tu32 y_max;\n};\n\nstruct tcf_proto;\n\nstruct mini_Qdisc {\n\tstruct tcf_proto *filter_list;\n\tstruct tcf_block *block;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tlong unsigned int rcu_state;\n};\n\nstruct mini_Qdisc_pair {\n\tstruct mini_Qdisc miniq1;\n\tstruct mini_Qdisc miniq2;\n\tstruct mini_Qdisc **p_miniq;\n};\n\nstruct minmax_sample {\n\tu32 t;\n\tu32 v;\n};\n\nstruct minmax {\n\tstruct minmax_sample s[3];\n};\n\nstruct mipi_dsi_host;\n\nstruct mipi_dsi_device {\n\tstruct mipi_dsi_host *host;\n\tstruct device dev;\n\tbool attached;\n\tchar name[20];\n\tunsigned int channel;\n\tunsigned int lanes;\n\tenum mipi_dsi_pixel_format format;\n\tlong unsigned int mode_flags;\n\tlong unsigned int hs_rate;\n\tlong unsigned int lp_rate;\n\tstruct drm_dsc_config *dsc;\n};\n\nstruct mipi_dsi_device_info {\n\tchar type[20];\n\tu32 channel;\n\tstruct device_node *node;\n};\n\nstruct mipi_dsi_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct mipi_dsi_device *);\n\tvoid (*remove)(struct mipi_dsi_device *);\n\tvoid (*shutdown)(struct mipi_dsi_device *);\n};\n\nstruct mipi_dsi_host_ops;\n\nstruct mipi_dsi_host {\n\tstruct device *dev;\n\tconst struct mipi_dsi_host_ops *ops;\n\tstruct list_head list;\n};\n\nstruct mipi_dsi_msg;\n\nstruct mipi_dsi_host_ops {\n\tint (*attach)(struct mipi_dsi_host *, struct mipi_dsi_device *);\n\tint (*detach)(struct mipi_dsi_host *, struct mipi_dsi_device *);\n\tssize_t (*transfer)(struct mipi_dsi_host *, const struct mipi_dsi_msg *);\n};\n\nstruct mipi_dsi_msg {\n\tu8 channel;\n\tu8 type;\n\tu16 flags;\n\tsize_t tx_len;\n\tconst void *tx_buf;\n\tsize_t rx_len;\n\tvoid *rx_buf;\n};\n\nstruct mipi_dsi_multi_context {\n\tstruct mipi_dsi_device *dsi;\n\tint accum_err;\n};\n\nstruct mipi_dsi_packet {\n\tsize_t size;\n\tu8 header[4];\n\tsize_t payload_length;\n\tconst u8 *payload;\n};\n\nstruct mipi_phy_device_desc {\n\tint num_phys;\n\tint num_regmaps;\n\tconst char *regmap_names[4];\n\tstruct exynos_mipi_phy_desc phys[5];\n};\n\nstruct ml_effect_state {\n\tstruct ff_effect *effect;\n\tlong unsigned int flags;\n\tint count;\n\tlong unsigned int play_at;\n\tlong unsigned int stop_at;\n\tlong unsigned int adj_at;\n};\n\nstruct ml_device {\n\tvoid *private;\n\tstruct ml_effect_state states[16];\n\tint gain;\n\tstruct timer_list timer;\n\tstruct input_dev *dev;\n\tint (*play_effect)(struct input_dev *, void *, struct ff_effect *);\n};\n\nstruct mld_msg {\n\tstruct icmp6hdr mld_hdr;\n\tstruct in6_addr mld_mca;\n};\n\nstruct mlock_fbatch {\n\tlocal_lock_t lock;\n\tstruct folio_batch fbatch;\n};\n\nstruct mm_cid {\n\tu64 time;\n\tint cid;\n\tint recent_cid;\n};\n\nstruct mm_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_mm_state state;\n\tstruct ethtool_mm_stats stats;\n};\n\nstruct xol_area;\n\nstruct uprobes_state {\n\tstruct xol_area *xol_area;\n};\n\nstruct mmu_notifier_subscriptions;\n\nstruct mm_struct {\n\tstruct {\n\t\tstruct {\n\t\t\tatomic_t mm_count;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t};\n\t\tstruct maple_tree mm_mt;\n\t\tlong unsigned int mmap_base;\n\t\tlong unsigned int mmap_legacy_base;\n\t\tlong unsigned int task_size;\n\t\tpgd_t *pgd;\n\t\tatomic_t membarrier_state;\n\t\tatomic_t mm_users;\n\t\tstruct mm_cid *pcpu_cid;\n\t\tlong unsigned int mm_cid_next_scan;\n\t\tunsigned int nr_cpus_allowed;\n\t\tatomic_t max_nr_cid;\n\t\traw_spinlock_t cpus_allowed_lock;\n\t\tatomic_long_t pgtables_bytes;\n\t\tint map_count;\n\t\tspinlock_t page_table_lock;\n\t\tstruct rw_semaphore mmap_lock;\n\t\tstruct list_head mmlist;\n\t\tseqcount_t mm_lock_seq;\n\t\tlong unsigned int hiwater_rss;\n\t\tlong unsigned int hiwater_vm;\n\t\tlong unsigned int total_vm;\n\t\tlong unsigned int locked_vm;\n\t\tatomic64_t pinned_vm;\n\t\tlong unsigned int data_vm;\n\t\tlong unsigned int exec_vm;\n\t\tlong unsigned int stack_vm;\n\t\tlong unsigned int def_flags;\n\t\tseqcount_t write_protect_seq;\n\t\tspinlock_t arg_lock;\n\t\tlong unsigned int start_code;\n\t\tlong unsigned int end_code;\n\t\tlong unsigned int start_data;\n\t\tlong unsigned int end_data;\n\t\tlong unsigned int start_brk;\n\t\tlong unsigned int brk;\n\t\tlong unsigned int start_stack;\n\t\tlong unsigned int arg_start;\n\t\tlong unsigned int arg_end;\n\t\tlong unsigned int env_start;\n\t\tlong unsigned int env_end;\n\t\tlong unsigned int saved_auxv[50];\n\t\tstruct percpu_counter rss_stat[4];\n\t\tstruct linux_binfmt *binfmt;\n\t\tmm_context_t context;\n\t\tlong unsigned int flags;\n\t\tspinlock_t ioctx_lock;\n\t\tstruct kioctx_table *ioctx_table;\n\t\tstruct task_struct *owner;\n\t\tstruct user_namespace *user_ns;\n\t\tstruct file *exe_file;\n\t\tstruct mmu_notifier_subscriptions *notifier_subscriptions;\n\t\tlong unsigned int numa_next_scan;\n\t\tlong unsigned int numa_scan_offset;\n\t\tint numa_scan_seq;\n\t\tatomic_t tlb_flush_pending;\n\t\tatomic_t tlb_flush_batched;\n\t\tstruct uprobes_state uprobes_state;\n\t\tatomic_long_t hugetlb_usage;\n\t\tstruct work_struct async_put_work;\n\t\tlong unsigned int ksm_merging_pages;\n\t\tlong unsigned int ksm_rmap_items;\n\t\tatomic_long_t ksm_zero_pages;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tlong unsigned int cpu_bitmap[0];\n};\n\nstruct mm_struct__safe_rcu_or_null {\n\tstruct file *exe_file;\n};\n\nstruct mm_walk_ops;\n\nstruct mm_walk {\n\tconst struct mm_walk_ops *ops;\n\tstruct mm_struct *mm;\n\tpgd_t *pgd;\n\tstruct vm_area_struct *vma;\n\tenum page_walk_action action;\n\tbool no_vma;\n\tvoid *private;\n};\n\nstruct mm_walk_ops {\n\tint (*pgd_entry)(pgd_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*p4d_entry)(p4d_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pud_entry)(pud_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pmd_entry)(pmd_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pte_entry)(pte_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pte_hole)(long unsigned int, long unsigned int, int, struct mm_walk *);\n\tint (*hugetlb_entry)(pte_t *, long unsigned int, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*test_walk)(long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pre_vma)(long unsigned int, long unsigned int, struct mm_walk *);\n\tvoid (*post_vma)(struct mm_walk *);\n\tint (*install_pte)(long unsigned int, long unsigned int, pte_t *, struct mm_walk *);\n\tenum page_walk_lock walk_lock;\n};\n\nstruct mmap_batch_state {\n\tdomid_t domain;\n\tlong unsigned int va;\n\tstruct vm_area_struct *vma;\n\tint index;\n\tint global_error;\n\tint version;\n\txen_pfn_t *user_gfn;\n\tint *user_err;\n};\n\nstruct mmap_gfn_state {\n\tlong unsigned int va;\n\tstruct vm_area_struct *vma;\n\tdomid_t domain;\n};\n\nstruct vma_munmap_struct {\n\tstruct vma_iterator *vmi;\n\tstruct vm_area_struct *vma;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct list_head *uf;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int unmap_start;\n\tlong unsigned int unmap_end;\n\tint vma_count;\n\tbool unlock;\n\tbool clear_ptes;\n\tlong unsigned int nr_pages;\n\tlong unsigned int locked_vm;\n\tlong unsigned int nr_accounted;\n\tlong unsigned int exec_vm;\n\tlong unsigned int stack_vm;\n\tlong unsigned int data_vm;\n};\n\nstruct mmap_state {\n\tstruct mm_struct *mm;\n\tstruct vma_iterator *vmi;\n\tlong unsigned int addr;\n\tlong unsigned int end;\n\tlong unsigned int pgoff;\n\tlong unsigned int pglen;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tlong unsigned int charged;\n\tbool retry_merge;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct vma_munmap_struct vms;\n\tstruct ma_state mas_detach;\n\tstruct maple_tree mt_detach;\n};\n\nstruct mmap_unlock_irq_work {\n\tstruct irq_work irq_work;\n\tstruct mm_struct *mm;\n};\n\nstruct mmc_blk_busy_data {\n\tstruct mmc_card *card;\n\tu32 status;\n};\n\nstruct mmc_ctx {\n\tstruct task_struct *task;\n};\n\nstruct mmc_blk_data;\n\nstruct mmc_queue {\n\tstruct mmc_card *card;\n\tstruct mmc_ctx ctx;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct mmc_blk_data *blkdata;\n\tstruct request_queue *queue;\n\tspinlock_t lock;\n\tint in_flight[3];\n\tunsigned int cqe_busy;\n\tbool busy;\n\tbool recovery_needed;\n\tbool in_recovery;\n\tbool rw_wait;\n\tbool waiting;\n\tstruct work_struct recovery_work;\n\twait_queue_head_t wait;\n\tstruct request *recovery_req;\n\tstruct request *complete_req;\n\tstruct mutex complete_lock;\n\tstruct work_struct complete_work;\n};\n\nstruct mmc_blk_data {\n\tstruct device *parent;\n\tstruct gendisk *disk;\n\tstruct mmc_queue queue;\n\tstruct list_head part;\n\tstruct list_head rpmbs;\n\tunsigned int flags;\n\tstruct kref kref;\n\tunsigned int read_only;\n\tunsigned int part_type;\n\tunsigned int reset_done;\n\tunsigned int part_curr;\n\tint area_type;\n\tstruct dentry *status_dentry;\n\tstruct dentry *ext_csd_dentry;\n};\n\nstruct mmc_ioc_cmd {\n\tint write_flag;\n\tint is_acmd;\n\t__u32 opcode;\n\t__u32 arg;\n\t__u32 response[4];\n\tunsigned int flags;\n\tunsigned int blksz;\n\tunsigned int blocks;\n\tunsigned int postsleep_min_us;\n\tunsigned int postsleep_max_us;\n\tunsigned int data_timeout_ns;\n\tunsigned int cmd_timeout_ms;\n\t__u32 __pad;\n\t__u64 data_ptr;\n};\n\nstruct mmc_rpmb_data;\n\nstruct mmc_blk_ioc_data {\n\tstruct mmc_ioc_cmd ic;\n\tunsigned char *buf;\n\tu64 buf_bytes;\n\tunsigned int flags;\n\tstruct mmc_rpmb_data *rpmb;\n};\n\nstruct uhs2_command {\n\tu16 header;\n\tu16 arg;\n\t__be32 payload[2];\n\tu8 payload_len;\n\tu8 packet_len;\n\tu8 tmode_half_duplex;\n\tu8 uhs2_resp[20];\n\tu8 uhs2_resp_len;\n};\n\nstruct mmc_request {\n\tstruct mmc_command *sbc;\n\tstruct mmc_command *cmd;\n\tstruct mmc_data *data;\n\tstruct mmc_command *stop;\n\tstruct completion completion;\n\tstruct completion cmd_completion;\n\tvoid (*done)(struct mmc_request *);\n\tvoid (*recovery_notifier)(struct mmc_request *);\n\tstruct mmc_host *host;\n\tbool cap_cmd_during_tfr;\n\tint tag;\n\tstruct uhs2_command uhs2_cmd;\n};\n\nstruct mmc_data {\n\tunsigned int timeout_ns;\n\tunsigned int timeout_clks;\n\tunsigned int blksz;\n\tunsigned int blocks;\n\tunsigned int blk_addr;\n\tint error;\n\tunsigned int flags;\n\tunsigned int bytes_xfered;\n\tstruct mmc_command *stop;\n\tstruct mmc_request *mrq;\n\tunsigned int sg_len;\n\tint sg_count;\n\tstruct scatterlist *sg;\n\ts32 host_cookie;\n};\n\nstruct mmc_blk_request {\n\tstruct mmc_request mrq;\n\tstruct mmc_command sbc;\n\tstruct mmc_command cmd;\n\tstruct mmc_command stop;\n\tstruct mmc_data data;\n};\n\nstruct mmc_bus_ops {\n\tvoid (*remove)(struct mmc_host *);\n\tvoid (*detect)(struct mmc_host *);\n\tint (*pre_suspend)(struct mmc_host *);\n\tint (*suspend)(struct mmc_host *);\n\tint (*resume)(struct mmc_host *);\n\tint (*runtime_suspend)(struct mmc_host *);\n\tint (*runtime_resume)(struct mmc_host *);\n\tint (*alive)(struct mmc_host *);\n\tint (*shutdown)(struct mmc_host *);\n\tint (*hw_reset)(struct mmc_host *);\n\tint (*sw_reset)(struct mmc_host *);\n\tbool (*cache_enabled)(struct mmc_host *);\n\tint (*flush_cache)(struct mmc_host *);\n};\n\nstruct mmc_busy_data {\n\tstruct mmc_card *card;\n\tbool retry_crc_err;\n\tenum mmc_busy_cmd busy_cmd;\n};\n\nstruct mmc_cid {\n\tunsigned int manfid;\n\tchar prod_name[8];\n\tunsigned char prv;\n\tunsigned int serial;\n\tshort unsigned int oemid;\n\tshort unsigned int year;\n\tunsigned char hwrev;\n\tunsigned char fwrev;\n\tunsigned char month;\n};\n\nstruct mmc_csd {\n\tunsigned char structure;\n\tunsigned char mmca_vsn;\n\tshort unsigned int cmdclass;\n\tshort unsigned int taac_clks;\n\tunsigned int taac_ns;\n\tunsigned int c_size;\n\tunsigned int r2w_factor;\n\tunsigned int max_dtr;\n\tunsigned int erase_size;\n\tunsigned int wp_grp_size;\n\tunsigned int read_blkbits;\n\tunsigned int write_blkbits;\n\tsector_t capacity;\n\tunsigned int read_partial: 1;\n\tunsigned int read_misalign: 1;\n\tunsigned int write_partial: 1;\n\tunsigned int write_misalign: 1;\n\tunsigned int dsr_imp: 1;\n};\n\nstruct mmc_ext_csd {\n\tu8 rev;\n\tu8 erase_group_def;\n\tu8 sec_feature_support;\n\tu8 rel_sectors;\n\tu8 rel_param;\n\tbool enhanced_rpmb_supported;\n\tu8 part_config;\n\tu8 cache_ctrl;\n\tu8 rst_n_function;\n\tunsigned int part_time;\n\tunsigned int sa_timeout;\n\tunsigned int generic_cmd6_time;\n\tunsigned int power_off_longtime;\n\tu8 power_off_notification;\n\tunsigned int hs_max_dtr;\n\tunsigned int hs200_max_dtr;\n\tunsigned int sectors;\n\tunsigned int hc_erase_size;\n\tunsigned int hc_erase_timeout;\n\tunsigned int sec_trim_mult;\n\tunsigned int sec_erase_mult;\n\tunsigned int trim_timeout;\n\tbool partition_setting_completed;\n\tlong long unsigned int enhanced_area_offset;\n\tunsigned int enhanced_area_size;\n\tunsigned int cache_size;\n\tbool hpi_en;\n\tbool hpi;\n\tunsigned int hpi_cmd;\n\tbool bkops;\n\tbool man_bkops_en;\n\tbool auto_bkops_en;\n\tunsigned int data_sector_size;\n\tunsigned int data_tag_unit_size;\n\tunsigned int boot_ro_lock;\n\tbool boot_ro_lockable;\n\tbool ffu_capable;\n\tbool cmdq_en;\n\tbool cmdq_support;\n\tunsigned int cmdq_depth;\n\tu8 fwrev[8];\n\tu8 raw_exception_status;\n\tu8 raw_partition_support;\n\tu8 raw_rpmb_size_mult;\n\tu8 raw_erased_mem_count;\n\tu8 strobe_support;\n\tu8 raw_ext_csd_structure;\n\tu8 raw_card_type;\n\tu8 raw_driver_strength;\n\tu8 out_of_int_time;\n\tu8 raw_pwr_cl_52_195;\n\tu8 raw_pwr_cl_26_195;\n\tu8 raw_pwr_cl_52_360;\n\tu8 raw_pwr_cl_26_360;\n\tu8 raw_s_a_timeout;\n\tu8 raw_hc_erase_gap_size;\n\tu8 raw_erase_timeout_mult;\n\tu8 raw_hc_erase_grp_size;\n\tu8 raw_boot_mult;\n\tu8 raw_sec_trim_mult;\n\tu8 raw_sec_erase_mult;\n\tu8 raw_sec_feature_support;\n\tu8 raw_trim_mult;\n\tu8 raw_pwr_cl_200_195;\n\tu8 raw_pwr_cl_200_360;\n\tu8 raw_pwr_cl_ddr_52_195;\n\tu8 raw_pwr_cl_ddr_52_360;\n\tu8 raw_pwr_cl_ddr_200_360;\n\tu8 raw_bkops_status;\n\tu8 raw_sectors[4];\n\tu8 pre_eol_info;\n\tu8 device_life_time_est_typ_a;\n\tu8 device_life_time_est_typ_b;\n\tunsigned int feature_support;\n};\n\nstruct sd_scr {\n\tunsigned char sda_vsn;\n\tunsigned char sda_spec3;\n\tunsigned char sda_spec4;\n\tunsigned char sda_specx;\n\tunsigned char bus_widths;\n\tunsigned char cmds;\n};\n\nstruct sd_ssr {\n\tunsigned int au;\n\tunsigned int erase_timeout;\n\tunsigned int erase_offset;\n};\n\nstruct sd_switch_caps {\n\tunsigned int hs_max_dtr;\n\tunsigned int uhs_max_dtr;\n\tunsigned int sd3_bus_mode;\n\tunsigned int sd3_drv_type;\n\tunsigned int sd3_curr_limit;\n};\n\nstruct sd_ext_reg {\n\tu8 fno;\n\tu8 page;\n\tu16 offset;\n\tu8 rev;\n\tu8 feature_enabled;\n\tu8 feature_support;\n};\n\nstruct sd_uhs2_config {\n\tu32 node_id;\n\tu32 n_fcu;\n\tu32 maxblk_len;\n\tu8 n_lanes;\n\tu8 dadr_len;\n\tu8 app_type;\n\tu8 phy_minor_rev;\n\tu8 phy_major_rev;\n\tu8 can_hibernate;\n\tu8 n_lss_sync;\n\tu8 n_lss_dir;\n\tu8 link_minor_rev;\n\tu8 link_major_rev;\n\tu8 dev_type;\n\tu8 n_data_gap;\n\tu32 n_fcu_set;\n\tu32 maxblk_len_set;\n\tu8 n_lanes_set;\n\tu8 speed_range_set;\n\tu8 n_lss_sync_set;\n\tu8 n_lss_dir_set;\n\tu8 n_data_gap_set;\n\tu8 max_retry_set;\n};\n\nstruct sdio_cccr {\n\tunsigned int sdio_vsn;\n\tunsigned int sd_vsn;\n\tunsigned int multi_block: 1;\n\tunsigned int low_speed: 1;\n\tunsigned int wide_bus: 1;\n\tunsigned int high_power: 1;\n\tunsigned int high_speed: 1;\n\tunsigned int disable_cd: 1;\n\tunsigned int enable_async_irq: 1;\n};\n\nstruct sdio_cis {\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tshort unsigned int blksize;\n\tunsigned int max_dtr;\n};\n\nstruct mmc_part {\n\tu64 size;\n\tunsigned int part_cfg;\n\tchar name[20];\n\tbool force_ro;\n\tunsigned int area_type;\n};\n\nstruct sdio_func_tuple;\n\nstruct mmc_card {\n\tstruct mmc_host *host;\n\tstruct device dev;\n\tu32 ocr;\n\tunsigned int rca;\n\tunsigned int type;\n\tunsigned int state;\n\tunsigned int quirks;\n\tunsigned int quirk_max_rate;\n\tbool written_flag;\n\tbool reenable_cmdq;\n\tunsigned int erase_size;\n\tunsigned int erase_shift;\n\tunsigned int pref_erase;\n\tunsigned int eg_boundary;\n\tunsigned int erase_arg;\n\tu8 erased_byte;\n\tunsigned int wp_grp_size;\n\tu32 raw_cid[4];\n\tu32 raw_csd[4];\n\tu32 raw_scr[2];\n\tu32 raw_ssr[16];\n\tstruct mmc_cid cid;\n\tstruct mmc_csd csd;\n\tstruct mmc_ext_csd ext_csd;\n\tstruct sd_scr scr;\n\tstruct sd_ssr ssr;\n\tstruct sd_switch_caps sw_caps;\n\tstruct sd_ext_reg ext_power;\n\tstruct sd_ext_reg ext_perf;\n\tstruct sd_uhs2_config uhs2_config;\n\tunsigned int sdio_funcs;\n\tatomic_t sdio_funcs_probed;\n\tstruct sdio_cccr cccr;\n\tstruct sdio_cis cis;\n\tstruct sdio_func *sdio_func[7];\n\tstruct sdio_func *sdio_single_irq;\n\tu8 major_rev;\n\tu8 minor_rev;\n\tunsigned int num_info;\n\tconst char **info;\n\tstruct sdio_func_tuple *tuples;\n\tunsigned int sd_bus_speed;\n\tunsigned int mmc_avail_type;\n\tunsigned int drive_strength;\n\tstruct dentry *debugfs_root;\n\tstruct mmc_part part[7];\n\tunsigned int nr_parts;\n\tstruct workqueue_struct *complete_wq;\n};\n\nstruct mmc_clk_phase {\n\tbool valid;\n\tu16 in_deg;\n\tu16 out_deg;\n};\n\nstruct mmc_clk_phase_map {\n\tstruct mmc_clk_phase phase[11];\n};\n\nstruct mmc_cqe_ops {\n\tint (*cqe_enable)(struct mmc_host *, struct mmc_card *);\n\tvoid (*cqe_disable)(struct mmc_host *);\n\tint (*cqe_request)(struct mmc_host *, struct mmc_request *);\n\tvoid (*cqe_post_req)(struct mmc_host *, struct mmc_request *);\n\tvoid (*cqe_off)(struct mmc_host *);\n\tint (*cqe_wait_for_idle)(struct mmc_host *);\n\tbool (*cqe_timeout)(struct mmc_host *, struct mmc_request *, bool *);\n\tvoid (*cqe_recovery_start)(struct mmc_host *);\n\tvoid (*cqe_recovery_finish)(struct mmc_host *);\n};\n\nstruct mmc_driver {\n\tstruct device_driver drv;\n\tint (*probe)(struct mmc_card *);\n\tvoid (*remove)(struct mmc_card *);\n\tvoid (*shutdown)(struct mmc_card *);\n};\n\nstruct mmc_fixup {\n\tconst char *name;\n\tu64 rev_start;\n\tu64 rev_end;\n\tunsigned int manfid;\n\tshort unsigned int oemid;\n\tshort unsigned int year;\n\tunsigned char month;\n\tu16 cis_vendor;\n\tu16 cis_device;\n\tunsigned int ext_csd_rev;\n\tconst char *of_compatible;\n\tvoid (*vendor_fixup)(struct mmc_card *, int);\n\tint data;\n};\n\nstruct mmc_gpio {\n\tstruct gpio_desc *ro_gpio;\n\tstruct gpio_desc *cd_gpio;\n\tirq_handler_t cd_gpio_isr;\n\tchar *ro_label;\n\tchar *cd_label;\n\tu32 cd_debounce_delay_ms;\n\tint cd_irq;\n};\n\nstruct sd_uhs2_caps {\n\tu32 dap;\n\tu32 gap;\n\tu32 group_desc;\n\tu32 maxblk_len;\n\tu32 n_fcu;\n\tu8 n_lanes;\n\tu8 addr64;\n\tu8 card_type;\n\tu8 phy_rev;\n\tu8 speed_range;\n\tu8 n_lss_sync;\n\tu8 n_lss_dir;\n\tu8 link_rev;\n\tu8 host_type;\n\tu8 n_data_gap;\n\tu32 maxblk_len_set;\n\tu32 n_fcu_set;\n\tu8 n_lanes_set;\n\tu8 n_lss_sync_set;\n\tu8 n_lss_dir_set;\n\tu8 n_data_gap_set;\n\tu8 max_retry_set;\n};\n\nstruct mmc_ios {\n\tunsigned int clock;\n\tshort unsigned int vdd;\n\tunsigned int power_delay_ms;\n\tunsigned char bus_mode;\n\tunsigned char chip_select;\n\tunsigned char power_mode;\n\tunsigned char bus_width;\n\tunsigned char timing;\n\tunsigned char signal_voltage;\n\tunsigned char vqmmc2_voltage;\n\tunsigned char drv_type;\n\tbool enhanced_strobe;\n};\n\nstruct mmc_slot {\n\tint cd_irq;\n\tbool cd_wake_enabled;\n\tvoid *handler_priv;\n};\n\nstruct mmc_supply {\n\tstruct regulator *vmmc;\n\tstruct regulator *vqmmc;\n\tstruct regulator *vqmmc2;\n};\n\nstruct mmc_host_ops;\n\nstruct mmc_pwrseq;\n\nstruct mmc_host {\n\tstruct device *parent;\n\tstruct device class_dev;\n\tint index;\n\tconst struct mmc_host_ops *ops;\n\tstruct mmc_pwrseq *pwrseq;\n\tunsigned int f_min;\n\tunsigned int f_max;\n\tunsigned int f_init;\n\tu32 ocr_avail;\n\tu32 ocr_avail_sdio;\n\tu32 ocr_avail_sd;\n\tu32 ocr_avail_mmc;\n\tstruct wakeup_source *ws;\n\tu32 max_current_330;\n\tu32 max_current_300;\n\tu32 max_current_180;\n\tu32 caps;\n\tu32 caps2;\n\tbool uhs2_sd_tran;\n\tbool uhs2_app_cmd;\n\tstruct sd_uhs2_caps uhs2_caps;\n\tint fixed_drv_type;\n\tmmc_pm_flag_t pm_caps;\n\tunsigned int max_seg_size;\n\tshort unsigned int max_segs;\n\tshort unsigned int unused;\n\tunsigned int max_req_size;\n\tunsigned int max_blk_size;\n\tunsigned int max_blk_count;\n\tunsigned int max_busy_timeout;\n\tspinlock_t lock;\n\tstruct mmc_ios ios;\n\tunsigned int use_spi_crc: 1;\n\tunsigned int claimed: 1;\n\tunsigned int doing_init_tune: 1;\n\tunsigned int can_retune: 1;\n\tunsigned int doing_retune: 1;\n\tunsigned int retune_now: 1;\n\tunsigned int retune_paused: 1;\n\tunsigned int retune_crc_disable: 1;\n\tunsigned int can_dma_map_merge: 1;\n\tunsigned int vqmmc_enabled: 1;\n\tint rescan_disable;\n\tint rescan_entered;\n\tint need_retune;\n\tint hold_retune;\n\tunsigned int retune_period;\n\tstruct timer_list retune_timer;\n\tbool trigger_card_event;\n\tstruct mmc_card *card;\n\twait_queue_head_t wq;\n\tstruct mmc_ctx *claimer;\n\tint claim_cnt;\n\tstruct mmc_ctx default_ctx;\n\tstruct delayed_work detect;\n\tint detect_change;\n\tstruct mmc_slot slot;\n\tconst struct mmc_bus_ops *bus_ops;\n\tunsigned int sdio_irqs;\n\tstruct task_struct *sdio_irq_thread;\n\tstruct work_struct sdio_irq_work;\n\tbool sdio_irq_pending;\n\tatomic_t sdio_irq_thread_abort;\n\tmmc_pm_flag_t pm_flags;\n\tstruct led_trigger *led;\n\tbool regulator_enabled;\n\tstruct mmc_supply supply;\n\tstruct dentry *debugfs_root;\n\tstruct mmc_request *ongoing_mrq;\n\tunsigned int actual_clock;\n\tunsigned int slotno;\n\tint dsr_req;\n\tu32 dsr;\n\tconst struct mmc_cqe_ops *cqe_ops;\n\tvoid *cqe_private;\n\tint cqe_qdepth;\n\tbool cqe_enabled;\n\tbool cqe_on;\n\tbool hsq_enabled;\n\tint hsq_depth;\n\tu32 err_stats[15];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct mmc_host_ops {\n\tvoid (*post_req)(struct mmc_host *, struct mmc_request *, int);\n\tvoid (*pre_req)(struct mmc_host *, struct mmc_request *);\n\tvoid (*request)(struct mmc_host *, struct mmc_request *);\n\tint (*request_atomic)(struct mmc_host *, struct mmc_request *);\n\tvoid (*set_ios)(struct mmc_host *, struct mmc_ios *);\n\tint (*get_ro)(struct mmc_host *);\n\tint (*get_cd)(struct mmc_host *);\n\tvoid (*enable_sdio_irq)(struct mmc_host *, int);\n\tvoid (*ack_sdio_irq)(struct mmc_host *);\n\tvoid (*init_card)(struct mmc_host *, struct mmc_card *);\n\tint (*start_signal_voltage_switch)(struct mmc_host *, struct mmc_ios *);\n\tint (*card_busy)(struct mmc_host *);\n\tint (*execute_tuning)(struct mmc_host *, u32);\n\tint (*prepare_hs400_tuning)(struct mmc_host *, struct mmc_ios *);\n\tint (*execute_hs400_tuning)(struct mmc_host *, struct mmc_card *);\n\tint (*prepare_sd_hs_tuning)(struct mmc_host *, struct mmc_card *);\n\tint (*execute_sd_hs_tuning)(struct mmc_host *, struct mmc_card *);\n\tint (*hs400_prepare_ddr)(struct mmc_host *);\n\tvoid (*hs400_downgrade)(struct mmc_host *);\n\tvoid (*hs400_complete)(struct mmc_host *);\n\tvoid (*hs400_enhanced_strobe)(struct mmc_host *, struct mmc_ios *);\n\tint (*select_drive_strength)(struct mmc_card *, unsigned int, int, int, int *);\n\tvoid (*card_hw_reset)(struct mmc_host *);\n\tvoid (*card_event)(struct mmc_host *);\n\tint (*multi_io_quirk)(struct mmc_card *, unsigned int, int);\n\tint (*init_sd_express)(struct mmc_host *, struct mmc_ios *);\n\tint (*uhs2_control)(struct mmc_host *, enum sd_uhs2_operation);\n};\n\nstruct mmc_hsq {\n\tstruct mmc_host *mmc;\n\tstruct mmc_request *mrq;\n\twait_queue_head_t wait_queue;\n\tstruct hsq_slot *slot;\n\tspinlock_t lock;\n\tstruct work_struct retry_work;\n\tint next_tag;\n\tint num_slots;\n\tint qcnt;\n\tint tail_tag;\n\tint tag_slot[64];\n\tbool enabled;\n\tbool waiting_for_idle;\n\tbool recovery_halt;\n};\n\nstruct mmc_ioc_multi_cmd {\n\t__u64 num_of_cmds;\n\tstruct mmc_ioc_cmd cmds[0];\n};\n\nstruct mmc_op_cond_busy_data {\n\tstruct mmc_host *host;\n\tu32 ocr;\n\tstruct mmc_command *cmd;\n};\n\nstruct mmc_pwrseq_ops;\n\nstruct mmc_pwrseq {\n\tconst struct mmc_pwrseq_ops *ops;\n\tstruct device *dev;\n\tstruct list_head pwrseq_node;\n\tstruct module *owner;\n};\n\nstruct mmc_pwrseq_emmc {\n\tstruct mmc_pwrseq pwrseq;\n\tstruct notifier_block reset_nb;\n\tstruct gpio_desc *reset_gpio;\n};\n\nstruct mmc_pwrseq_ops {\n\tvoid (*pre_power_on)(struct mmc_host *);\n\tvoid (*post_power_on)(struct mmc_host *);\n\tvoid (*power_off)(struct mmc_host *);\n\tvoid (*reset)(struct mmc_host *);\n};\n\nstruct mmc_pwrseq_simple {\n\tstruct mmc_pwrseq pwrseq;\n\tbool clk_enabled;\n\tu32 post_power_on_delay_ms;\n\tu32 power_off_delay_us;\n\tstruct clk *ext_clk;\n\tstruct gpio_descs *reset_gpios;\n\tstruct reset_control *reset_ctrl;\n};\n\nstruct mmc_queue_req {\n\tstruct mmc_blk_request brq;\n\tstruct scatterlist *sg;\n\tenum mmc_drv_op drv_op;\n\tint drv_op_result;\n\tvoid *drv_op_data;\n\tunsigned int ioc_count;\n\tint retries;\n};\n\nstruct rpmb_dev;\n\nstruct mmc_rpmb_data {\n\tstruct device dev;\n\tstruct cdev chrdev;\n\tint id;\n\tunsigned int part_index;\n\tstruct mmc_blk_data *md;\n\tstruct rpmb_dev *rdev;\n\tstruct list_head node;\n};\n\nstruct spi_delay {\n\tu16 value;\n\tu8 unit;\n};\n\nstruct spi_transfer {\n\tconst void *tx_buf;\n\tvoid *rx_buf;\n\tunsigned int len;\n\tu16 error;\n\tbool tx_sg_mapped;\n\tbool rx_sg_mapped;\n\tstruct sg_table tx_sg;\n\tstruct sg_table rx_sg;\n\tdma_addr_t tx_dma;\n\tdma_addr_t rx_dma;\n\tunsigned int dummy_data: 1;\n\tunsigned int cs_off: 1;\n\tunsigned int cs_change: 1;\n\tunsigned int tx_nbits: 4;\n\tunsigned int rx_nbits: 4;\n\tunsigned int timestamped: 1;\n\tu8 bits_per_word;\n\tstruct spi_delay delay;\n\tstruct spi_delay cs_change_delay;\n\tstruct spi_delay word_delay;\n\tu32 speed_hz;\n\tu32 effective_speed_hz;\n\tunsigned int ptp_sts_word_pre;\n\tunsigned int ptp_sts_word_post;\n\tstruct ptp_system_timestamp *ptp_sts;\n\tstruct list_head transfer_list;\n};\n\nstruct spi_message {\n\tstruct list_head transfers;\n\tstruct spi_device *spi;\n\tbool pre_optimized;\n\tbool optimized;\n\tbool prepared;\n\tint status;\n\tvoid (*complete)(void *);\n\tvoid *context;\n\tunsigned int frame_length;\n\tunsigned int actual_length;\n\tstruct list_head queue;\n\tvoid *state;\n\tvoid *opt_state;\n\tstruct list_head resources;\n};\n\nstruct mmc_spi_platform_data;\n\nstruct scratch;\n\nstruct mmc_spi_host {\n\tstruct mmc_host *mmc;\n\tstruct spi_device *spi;\n\tunsigned char power_mode;\n\tu16 powerup_msecs;\n\tstruct mmc_spi_platform_data *pdata;\n\tstruct spi_transfer token;\n\tstruct spi_transfer t;\n\tstruct spi_transfer crc;\n\tstruct spi_transfer early_status;\n\tstruct spi_message m;\n\tstruct spi_transfer status;\n\tstruct spi_message readback;\n\tstruct scratch *data;\n\tvoid *ones;\n};\n\nstruct mmc_spi_platform_data {\n\tint (*init)(struct device *, irqreturn_t (*)(int, void *), void *);\n\tvoid (*exit)(struct device *, void *);\n\tlong unsigned int caps;\n\tlong unsigned int caps2;\n\tu16 detect_delay;\n\tu16 powerup_msecs;\n\tu32 ocr_mask;\n\tvoid (*setpower)(struct device *, unsigned int);\n};\n\nstruct mmci_dmae_next {\n\tstruct dma_async_tx_descriptor *desc;\n\tstruct dma_chan *chan;\n};\n\nstruct mmci_dmae_priv {\n\tstruct dma_chan *cur;\n\tstruct dma_chan *rx_channel;\n\tstruct dma_chan *tx_channel;\n\tstruct dma_async_tx_descriptor *desc_current;\n\tstruct mmci_dmae_next next_data;\n};\n\nstruct mmci_platform_data;\n\nstruct mmci_host_ops;\n\nstruct variant_data;\n\nstruct mmci_host {\n\tphys_addr_t phybase;\n\tvoid *base;\n\tstruct mmc_request *mrq;\n\tstruct mmc_command *cmd;\n\tstruct mmc_command stop_abort;\n\tstruct mmc_data *data;\n\tstruct mmc_host *mmc;\n\tstruct clk *clk;\n\tu8 singleirq: 1;\n\tstruct reset_control *rst;\n\tspinlock_t lock;\n\tunsigned int mclk;\n\tunsigned int clock_cache;\n\tunsigned int cclk;\n\tu32 pwr_reg;\n\tu32 pwr_reg_add;\n\tu32 clk_reg;\n\tu32 clk_reg_add;\n\tu32 datactrl_reg;\n\tenum mmci_busy_state busy_state;\n\tu32 busy_status;\n\tu32 mask1_reg;\n\tu8 vqmmc_enabled: 1;\n\tstruct mmci_platform_data *plat;\n\tstruct mmc_host_ops *mmc_ops;\n\tstruct mmci_host_ops *ops;\n\tstruct variant_data *variant;\n\tvoid *variant_priv;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_opendrain;\n\tu8 hw_designer;\n\tu8 hw_revision: 4;\n\tstruct timer_list timer;\n\tunsigned int oldstat;\n\tu32 irq_action;\n\tstruct sg_mapping_iter sg_miter;\n\tunsigned int size;\n\tint (*get_rx_fifocnt)(struct mmci_host *, u32, int);\n\tu8 use_dma: 1;\n\tu8 dma_in_progress: 1;\n\tvoid *dma_priv;\n\ts32 next_cookie;\n\tstruct delayed_work ux500_busy_timeout_work;\n};\n\nstruct mmci_host_ops {\n\tint (*validate_data)(struct mmci_host *, struct mmc_data *);\n\tint (*prep_data)(struct mmci_host *, struct mmc_data *, bool);\n\tvoid (*unprep_data)(struct mmci_host *, struct mmc_data *, int);\n\tu32 (*get_datactrl_cfg)(struct mmci_host *);\n\tvoid (*get_next_data)(struct mmci_host *, struct mmc_data *);\n\tint (*dma_setup)(struct mmci_host *);\n\tvoid (*dma_release)(struct mmci_host *);\n\tint (*dma_start)(struct mmci_host *, unsigned int *);\n\tvoid (*dma_finalize)(struct mmci_host *, struct mmc_data *);\n\tvoid (*dma_error)(struct mmci_host *);\n\tvoid (*set_clkreg)(struct mmci_host *, unsigned int);\n\tvoid (*set_pwrreg)(struct mmci_host *, unsigned int);\n\tbool (*busy_complete)(struct mmci_host *, struct mmc_command *, u32, u32);\n\tvoid (*pre_sig_volt_switch)(struct mmci_host *);\n\tint (*post_sig_volt_switch)(struct mmci_host *, struct mmc_ios *);\n};\n\nstruct mmci_platform_data {\n\tunsigned int ocr_mask;\n\tunsigned int (*status)(struct device *);\n};\n\nstruct mmd_val {\n\tint devad;\n\tu32 regnum;\n\tu16 val;\n};\n\nstruct mminit_pfnnid_cache {\n\tlong unsigned int last_start;\n\tlong unsigned int last_end;\n\tint last_nid;\n};\n\nstruct mmp_struct {\n\t__le32 mmp_magic;\n\t__le32 mmp_seq;\n\t__le64 mmp_time;\n\tchar mmp_nodename[64];\n\tchar mmp_bdevname[32];\n\t__le16 mmp_check_interval;\n\t__le16 mmp_pad1;\n\t__le32 mmp_pad2[226];\n\t__le32 mmp_checksum;\n};\n\nstruct mmpin {\n\tstruct user_struct *user;\n\tunsigned int num_pg;\n};\n\nstruct user_msghdr {\n\tvoid *msg_name;\n\tint msg_namelen;\n\tstruct iovec *msg_iov;\n\t__kernel_size_t msg_iovlen;\n\tvoid *msg_control;\n\t__kernel_size_t msg_controllen;\n\tunsigned int msg_flags;\n};\n\nstruct mmsghdr {\n\tstruct user_msghdr msg_hdr;\n\tunsigned int msg_len;\n};\n\nstruct mmu_config {\n\tu64 ttbr0;\n\tu64 ttbr1;\n\tu64 tcr;\n\tu64 mair;\n\tu64 tcr2;\n\tu64 pir;\n\tu64 pire0;\n\tu64 por_el0;\n\tu64 por_el1;\n\tu64 sctlr;\n\tu64 vttbr;\n\tu64 vtcr;\n\tu64 hcr;\n};\n\nstruct encoded_page;\n\nstruct mmu_gather_batch {\n\tstruct mmu_gather_batch *next;\n\tunsigned int nr;\n\tunsigned int max;\n\tstruct encoded_page *encoded_pages[0];\n};\n\nstruct mmu_table_batch;\n\nstruct mmu_gather {\n\tstruct mm_struct *mm;\n\tstruct mmu_table_batch *batch;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int fullmm: 1;\n\tunsigned int need_flush_all: 1;\n\tunsigned int freed_tables: 1;\n\tunsigned int delayed_rmap: 1;\n\tunsigned int cleared_ptes: 1;\n\tunsigned int cleared_pmds: 1;\n\tunsigned int cleared_puds: 1;\n\tunsigned int cleared_p4ds: 1;\n\tunsigned int vma_exec: 1;\n\tunsigned int vma_huge: 1;\n\tunsigned int vma_pfn: 1;\n\tunsigned int batch_count;\n\tstruct mmu_gather_batch *active;\n\tstruct mmu_gather_batch local;\n\tstruct page *__pages[8];\n};\n\nstruct mmu_notifier_range;\n\nstruct mmu_interval_notifier_ops {\n\tbool (*invalidate)(struct mmu_interval_notifier *, const struct mmu_notifier_range *, long unsigned int);\n};\n\nstruct mmu_notifier_ops {\n\tvoid (*release)(struct mmu_notifier *, struct mm_struct *);\n\tint (*clear_flush_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tint (*clear_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tint (*test_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int);\n\tint (*invalidate_range_start)(struct mmu_notifier *, const struct mmu_notifier_range *);\n\tvoid (*invalidate_range_end)(struct mmu_notifier *, const struct mmu_notifier_range *);\n\tvoid (*arch_invalidate_secondary_tlbs)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tstruct mmu_notifier * (*alloc_notifier)(struct mm_struct *);\n\tvoid (*free_notifier)(struct mmu_notifier *);\n};\n\nstruct mmu_notifier_range {\n\tstruct mm_struct *mm;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int flags;\n\tenum mmu_notifier_event event;\n\tvoid *owner;\n};\n\nstruct mmu_notifier_subscriptions {\n\tstruct hlist_head list;\n\tbool has_itree;\n\tspinlock_t lock;\n\tlong unsigned int invalidate_seq;\n\tlong unsigned int active_invalidate_ranges;\n\tstruct rb_root_cached itree;\n\twait_queue_head_t wq;\n\tstruct hlist_head deferred_list;\n};\n\nstruct mmu_table_batch {\n\tstruct callback_head rcu;\n\tunsigned int nr;\n\tvoid *tables[0];\n};\n\nstruct mnt_id_req {\n\t__u32 size;\n\t__u32 spare;\n\t__u64 mnt_id;\n\t__u64 param;\n\t__u64 mnt_ns_id;\n};\n\nstruct uid_gid_extent {\n\tu32 first;\n\tu32 lower_first;\n\tu32 count;\n};\n\nstruct uid_gid_map {\n\tunion {\n\t\tstruct {\n\t\t\tstruct uid_gid_extent extent[5];\n\t\t\tu32 nr_extents;\n\t\t};\n\t\tstruct {\n\t\t\tstruct uid_gid_extent *forward;\n\t\t\tstruct uid_gid_extent *reverse;\n\t\t};\n\t};\n};\n\nstruct mnt_idmap {\n\tstruct uid_gid_map uid_map;\n\tstruct uid_gid_map gid_map;\n\trefcount_t count;\n};\n\nstruct mount;\n\nstruct mnt_namespace {\n\tstruct ns_common ns;\n\tstruct mount *root;\n\tstruct {\n\t\tstruct rb_root mounts;\n\t\tstruct rb_node *mnt_last_node;\n\t\tstruct rb_node *mnt_first_node;\n\t};\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tu64 seq;\n\tunion {\n\t\twait_queue_head_t poll;\n\t\tstruct callback_head mnt_ns_rcu;\n\t};\n\tu64 event;\n\tunsigned int nr_mounts;\n\tunsigned int pending_mounts;\n\tstruct rb_node mnt_ns_tree_node;\n\tstruct list_head mnt_ns_list;\n\trefcount_t passive;\n};\n\nstruct mnt_ns_info {\n\t__u32 size;\n\t__u32 nr_mounts;\n\t__u64 mnt_ns_id;\n};\n\nstruct mnt_pcp {\n\tint mnt_count;\n\tint mnt_writers;\n};\n\nstruct mobiveil_pab_ops {\n\tint (*link_up)(struct mobiveil_pcie *);\n};\n\nstruct mobiveil_rp_ops {\n\tint (*interrupt_init)(struct mobiveil_pcie *);\n};\n\nstruct mod_plt_sec {\n\tint plt_shndx;\n\tint plt_num_entries;\n\tint plt_max_entries;\n};\n\nstruct plt_entry;\n\nstruct mod_arch_specific {\n\tstruct mod_plt_sec core;\n\tstruct mod_plt_sec init;\n\tstruct plt_entry *ftrace_trampolines;\n};\n\nstruct mod_clock {\n\tstruct rzv2h_cpg_priv *priv;\n\tunsigned int mstop_data;\n\tstruct clk_hw hw;\n\tbool no_pm;\n\tu8 on_index;\n\tu8 on_bit;\n\ts8 mon_index;\n\tu8 mon_bit;\n};\n\nstruct mod_initfree {\n\tstruct llist_node node;\n\tvoid *init_text;\n\tvoid *init_data;\n\tvoid *init_rodata;\n};\n\nstruct mod_kallsyms {\n\tElf64_Sym *symtab;\n\tunsigned int num_symtab;\n\tchar *strtab;\n\tchar *typetab;\n};\n\nstruct mod_tree_node {\n\tstruct module *mod;\n\tstruct latch_tree_node node;\n};\n\nstruct mod_tree_root {\n\tstruct latch_tree_root root;\n\tlong unsigned int addr_min;\n\tlong unsigned int addr_max;\n};\n\nstruct mode_info {\n\tconst char *mode;\n\tu32 magic;\n\tstruct list_head list;\n};\n\nstruct module_param_attrs;\n\nstruct module_kobject {\n\tstruct kobject kobj;\n\tstruct module *mod;\n\tstruct kobject *drivers_dir;\n\tstruct module_param_attrs *mp;\n\tstruct completion *kobj_completion;\n};\n\nstruct module_memory {\n\tvoid *base;\n\tvoid *rw_copy;\n\tbool is_rox;\n\tunsigned int size;\n\tstruct mod_tree_node mtn;\n};\n\nstruct module_attribute;\n\nstruct module_sect_attrs;\n\nstruct module_notes_attrs;\n\nstruct trace_event_call;\n\nstruct trace_eval_map;\n\nstruct module {\n\tenum module_state state;\n\tstruct list_head list;\n\tchar name[56];\n\tstruct module_kobject mkobj;\n\tstruct module_attribute *modinfo_attrs;\n\tconst char *version;\n\tconst char *srcversion;\n\tstruct kobject *holders_dir;\n\tconst struct kernel_symbol *syms;\n\tconst u32 *crcs;\n\tunsigned int num_syms;\n\tstruct mutex param_lock;\n\tstruct kernel_param *kp;\n\tunsigned int num_kp;\n\tunsigned int num_gpl_syms;\n\tconst struct kernel_symbol *gpl_syms;\n\tconst u32 *gpl_crcs;\n\tbool using_gplonly_symbols;\n\tbool async_probe_requested;\n\tunsigned int num_exentries;\n\tstruct exception_table_entry *extable;\n\tint (*init)(void);\n\tstruct module_memory mem[7];\n\tstruct mod_arch_specific arch;\n\tlong unsigned int taints;\n\tunsigned int num_bugs;\n\tstruct list_head bug_list;\n\tstruct bug_entry *bug_table;\n\tstruct mod_kallsyms *kallsyms;\n\tstruct mod_kallsyms core_kallsyms;\n\tstruct module_sect_attrs *sect_attrs;\n\tstruct module_notes_attrs *notes_attrs;\n\tchar *args;\n\tvoid *percpu;\n\tunsigned int percpu_size;\n\tvoid *noinstr_text_start;\n\tunsigned int noinstr_text_size;\n\tunsigned int num_tracepoints;\n\ttracepoint_ptr_t *tracepoints_ptrs;\n\tunsigned int num_srcu_structs;\n\tstruct srcu_struct **srcu_struct_ptrs;\n\tunsigned int num_bpf_raw_events;\n\tstruct bpf_raw_event_map *bpf_raw_events;\n\tunsigned int btf_data_size;\n\tunsigned int btf_base_data_size;\n\tvoid *btf_data;\n\tvoid *btf_base_data;\n\tstruct jump_entry *jump_entries;\n\tunsigned int num_jump_entries;\n\tunsigned int num_trace_bprintk_fmt;\n\tconst char **trace_bprintk_fmt_start;\n\tstruct trace_event_call **trace_events;\n\tunsigned int num_trace_events;\n\tstruct trace_eval_map **trace_evals;\n\tunsigned int num_trace_evals;\n\tstruct list_head source_list;\n\tstruct list_head target_list;\n\tvoid (*exit)(void);\n\tatomic_t refcnt;\n};\n\nstruct module_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct module_attribute *, struct module_kobject *, char *);\n\tssize_t (*store)(const struct module_attribute *, struct module_kobject *, const char *, size_t);\n\tvoid (*setup)(struct module *, const char *);\n\tint (*test)(struct module *);\n\tvoid (*free)(struct module *);\n};\n\nstruct module_notes_attrs {\n\tstruct attribute_group grp;\n\tstruct bin_attribute attrs[0];\n};\n\nstruct param_attribute {\n\tstruct module_attribute mattr;\n\tconst struct kernel_param *param;\n};\n\nstruct module_param_attrs {\n\tunsigned int num;\n\tstruct attribute_group grp;\n\tstruct param_attribute attrs[0];\n};\n\nstruct module_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_module_power_mode_params power;\n};\n\nstruct module_sect_attrs {\n\tstruct attribute_group grp;\n\tstruct bin_attribute attrs[0];\n};\n\nstruct module_string {\n\tstruct list_head next;\n\tstruct module *module;\n\tchar *str;\n};\n\nstruct module_use {\n\tstruct list_head source_list;\n\tstruct list_head target_list;\n\tstruct module *source;\n\tstruct module *target;\n};\n\nstruct module_version_attribute {\n\tstruct module_attribute mattr;\n\tconst char *module_name;\n\tconst char *version;\n};\n\nstruct vfsmount {\n\tstruct dentry *mnt_root;\n\tstruct super_block *mnt_sb;\n\tint mnt_flags;\n\tstruct mnt_idmap *mnt_idmap;\n};\n\nstruct mountpoint;\n\nstruct mount {\n\tstruct hlist_node mnt_hash;\n\tstruct mount *mnt_parent;\n\tstruct dentry *mnt_mountpoint;\n\tstruct vfsmount mnt;\n\tunion {\n\t\tstruct rb_node mnt_node;\n\t\tstruct callback_head mnt_rcu;\n\t\tstruct llist_node mnt_llist;\n\t};\n\tstruct mnt_pcp *mnt_pcp;\n\tstruct list_head mnt_mounts;\n\tstruct list_head mnt_child;\n\tstruct list_head mnt_instance;\n\tconst char *mnt_devname;\n\tstruct list_head mnt_list;\n\tstruct list_head mnt_expire;\n\tstruct list_head mnt_share;\n\tstruct list_head mnt_slave_list;\n\tstruct list_head mnt_slave;\n\tstruct mount *mnt_master;\n\tstruct mnt_namespace *mnt_ns;\n\tstruct mountpoint *mnt_mp;\n\tunion {\n\t\tstruct hlist_node mnt_mp_list;\n\t\tstruct hlist_node mnt_umount;\n\t};\n\tstruct list_head mnt_umounting;\n\tstruct fsnotify_mark_connector *mnt_fsnotify_marks;\n\t__u32 mnt_fsnotify_mask;\n\tint mnt_id;\n\tu64 mnt_id_unique;\n\tint mnt_group_id;\n\tint mnt_expiry_mark;\n\tstruct hlist_head mnt_pins;\n\tstruct hlist_head mnt_stuck_children;\n};\n\nstruct mount_attr {\n\t__u64 attr_set;\n\t__u64 attr_clr;\n\t__u64 propagation;\n\t__u64 userns_fd;\n};\n\nstruct mount_kattr {\n\tunsigned int attr_set;\n\tunsigned int attr_clr;\n\tunsigned int propagation;\n\tunsigned int lookup_flags;\n\tbool recurse;\n\tstruct user_namespace *mnt_userns;\n\tstruct mnt_idmap *mnt_idmap;\n};\n\nstruct mount_opts {\n\tint token;\n\tint mount_opt;\n\tint flags;\n};\n\nstruct mountpoint {\n\tstruct hlist_node m_hash;\n\tstruct dentry *m_dentry;\n\tstruct hlist_head m_list;\n\tint m_count;\n};\n\nstruct mountres {\n\tint errno;\n\tstruct nfs_fh *fh;\n\tunsigned int *auth_count;\n\trpc_authflavor_t *auth_flavors;\n};\n\nstruct movable_operations {\n\tbool (*isolate_page)(struct page *, isolate_mode_t);\n\tint (*migrate_page)(struct page *, struct page *, enum migrate_mode);\n\tvoid (*putback_page)(struct page *);\n};\n\nstruct move_extent {\n\t__u32 reserved;\n\t__u32 donor_fd;\n\t__u64 orig_start;\n\t__u64 donor_start;\n\t__u64 len;\n\t__u64 moved_len;\n};\n\nstruct mpage_da_data {\n\tstruct inode *inode;\n\tstruct writeback_control *wbc;\n\tunsigned int can_map: 1;\n\tlong unsigned int first_page;\n\tlong unsigned int next_page;\n\tlong unsigned int last_page;\n\tstruct ext4_map_blocks map;\n\tstruct ext4_io_submit io_submit;\n\tunsigned int do_map: 1;\n\tunsigned int scanned_until_end: 1;\n\tunsigned int journalled_more_data: 1;\n};\n\nstruct mpage_data {\n\tstruct bio *bio;\n\tsector_t last_block_in_bio;\n\tget_block_t *get_block;\n};\n\nstruct mpage_readpage_args {\n\tstruct bio *bio;\n\tstruct folio *folio;\n\tunsigned int nr_pages;\n\tbool is_readahead;\n\tsector_t last_block_in_bio;\n\tstruct buffer_head map_bh;\n\tlong unsigned int first_logical_block;\n\tget_block_t *get_block;\n};\n\nstruct mpc8xxx_gpio_chip {\n\tstruct gpio_chip gc;\n\tvoid *regs;\n\traw_spinlock_t lock;\n\tint (*direction_output)(struct gpio_chip *, unsigned int, int);\n\tstruct irq_domain *irq;\n\tint irqn;\n};\n\nstruct mpc8xxx_gpio_devtype {\n\tint (*gpio_dir_out)(struct gpio_chip *, unsigned int, int);\n\tint (*gpio_get)(struct gpio_chip *, unsigned int);\n\tint (*irq_set_type)(struct irq_data *, unsigned int);\n};\n\nstruct mpidr_hash {\n\tu64 mask;\n\tu32 shift_aff[4];\n\tu32 bits;\n};\n\nstruct mpls_label {\n\t__be32 entry;\n};\n\nstruct mpls_shim_hdr {\n\t__be32 label_stack_entry;\n};\n\nstruct mpm_gic_map {\n\tint pin;\n\tirq_hw_number_t hwirq;\n};\n\nstruct mptcp_out_options {};\n\nstruct mptcp_sock {};\n\nstruct mq_inflight {\n\tstruct block_device *part;\n\tunsigned int inflight[2];\n};\n\nstruct mq_sched {\n\tstruct Qdisc **qdiscs;\n};\n\nstruct mqueue_fs_context {\n\tstruct ipc_namespace *ipc_ns;\n\tbool newns;\n};\n\nstruct sigevent {\n\tsigval_t sigev_value;\n\tint sigev_signo;\n\tint sigev_notify;\n\tunion {\n\t\tint _pad[12];\n\t\tint _tid;\n\t\tstruct {\n\t\t\tvoid (*_function)(sigval_t);\n\t\t\tvoid *_attribute;\n\t\t} _sigev_thread;\n\t} _sigev_un;\n};\n\nstruct posix_msg_tree_node;\n\nstruct mqueue_inode_info {\n\tspinlock_t lock;\n\tstruct inode vfs_inode;\n\twait_queue_head_t wait_q;\n\tstruct rb_root msg_tree;\n\tstruct rb_node *msg_tree_rightmost;\n\tstruct posix_msg_tree_node *node_cache;\n\tstruct mq_attr attr;\n\tstruct sigevent notify;\n\tstruct pid *notify_owner;\n\tu32 notify_self_exec_id;\n\tstruct user_namespace *notify_user_ns;\n\tstruct ucounts *ucounts;\n\tstruct sock *notify_sock;\n\tstruct sk_buff *notify_cookie;\n\tstruct ext_wait_queue e_wait_q[2];\n\tlong unsigned int qsize;\n};\n\nstruct mrq_bwmgr_int_request {\n\tuint32_t cmd;\n\tunion {\n\t\tstruct cmd_bwmgr_int_query_abi_request query_abi;\n\t\tstruct cmd_bwmgr_int_calc_and_set_request bwmgr_calc_set_req;\n\t\tstruct cmd_bwmgr_int_cap_set_request bwmgr_cap_set_req;\n\t};\n} __attribute__((packed));\n\nstruct mrq_bwmgr_int_response {\n\tunion {\n\t\tstruct cmd_bwmgr_int_calc_and_set_response bwmgr_calc_set_resp;\n\t};\n};\n\nstruct mrq_clk_request {\n\tuint32_t cmd_and_id;\n\tunion {\n\t\tstruct cmd_clk_get_rate_request clk_get_rate;\n\t\tstruct cmd_clk_set_rate_request clk_set_rate;\n\t\tstruct cmd_clk_round_rate_request clk_round_rate;\n\t\tstruct cmd_clk_get_parent_request clk_get_parent;\n\t\tstruct cmd_clk_set_parent_request clk_set_parent;\n\t\tstruct cmd_clk_enable_request clk_enable;\n\t\tstruct cmd_clk_disable_request clk_disable;\n\t\tstruct cmd_clk_is_enabled_request clk_is_enabled;\n\t\tstruct cmd_clk_properties_request clk_properties;\n\t\tstruct cmd_clk_possible_parents_request clk_possible_parents;\n\t\tstruct cmd_clk_num_possible_parents_request clk_num_possible_parents;\n\t\tstruct cmd_clk_get_possible_parent_request clk_get_possible_parent;\n\t\tstruct cmd_clk_get_all_info_request clk_get_all_info;\n\t\tstruct cmd_clk_get_max_clk_id_request clk_get_max_clk_id;\n\t\tstruct cmd_clk_get_fmax_at_vmin_request clk_get_fmax_at_vmin;\n\t};\n};\n\nstruct mrq_cpu_ndiv_limits_request {\n\tuint32_t cluster_id;\n};\n\nstruct mrq_cpu_ndiv_limits_response {\n\tuint32_t ref_clk_hz;\n\tuint16_t pdiv;\n\tuint16_t mdiv;\n\tuint16_t ndiv_max;\n\tuint16_t ndiv_min;\n};\n\nstruct mrq_cpu_vhint_request {\n\tuint32_t addr;\n\tuint32_t cluster_id;\n};\n\nstruct mrq_debug_request {\n\tuint32_t cmd;\n\tunion {\n\t\tstruct cmd_debug_fopen_request fop;\n\t\tstruct cmd_debug_fread_request frd;\n\t\tstruct cmd_debug_fwrite_request fwr;\n\t\tstruct cmd_debug_fclose_request fcl;\n\t};\n};\n\nstruct mrq_debug_response {\n\tunion {\n\t\tstruct cmd_debug_fopen_response fop;\n\t\tstruct cmd_debug_fread_response frd;\n\t};\n};\n\nstruct mrq_debugfs_request {\n\tuint32_t cmd;\n\tunion {\n\t\tstruct cmd_debugfs_fileop_request fop;\n\t\tstruct cmd_debugfs_dumpdir_request dumpdir;\n\t};\n};\n\nstruct mrq_debugfs_response {\n\tint32_t reserved;\n\tunion {\n\t\tstruct cmd_debugfs_fileop_response fop;\n\t\tstruct cmd_debugfs_dumpdir_response dumpdir;\n\t};\n};\n\nstruct mrq_emc_dvfs_latency_response {\n\tuint32_t num_pairs;\n\tstruct emc_dvfs_latency pairs[14];\n};\n\nstruct mrq_i2c_request {\n\tuint32_t cmd;\n\tstruct cmd_i2c_xfer_request xfer;\n};\n\nstruct mrq_i2c_response {\n\tstruct cmd_i2c_xfer_response xfer;\n};\n\nstruct mrq_pg_request {\n\tuint32_t cmd;\n\tuint32_t id;\n\tunion {\n\t\tstruct cmd_pg_query_abi_request query_abi;\n\t\tstruct cmd_pg_set_state_request set_state;\n\t};\n};\n\nstruct mrq_pg_response {\n\tunion {\n\t\tstruct cmd_pg_get_state_response get_state;\n\t\tstruct cmd_pg_get_name_response get_name;\n\t\tstruct cmd_pg_get_max_id_response get_max_id;\n\t};\n};\n\nstruct mrq_ping_request {\n\tuint32_t challenge;\n};\n\nstruct mrq_ping_response {\n\tuint32_t reply;\n};\n\nstruct mrq_query_abi_request {\n\tuint32_t mrq;\n};\n\nstruct mrq_query_abi_response {\n\tint32_t status;\n};\n\nstruct mrq_query_fw_tag_response {\n\tuint8_t tag[32];\n};\n\nstruct mrq_query_tag_request {\n\tuint32_t addr;\n};\n\nstruct mrq_reset_request {\n\tuint32_t cmd;\n\tuint32_t reset_id;\n};\n\nstruct ms_data {\n\tlong unsigned int quirks;\n\tstruct hid_device *hdev;\n\tstruct work_struct ff_worker;\n\t__u8 strong;\n\t__u8 weak;\n\tvoid *output_report_dmabuf;\n};\n\nstruct msdc_delay_phase {\n\tu8 maxlen;\n\tu8 start;\n\tu8 final_phase;\n};\n\nstruct mt_gpdma_desc;\n\nstruct mt_bdma_desc;\n\nstruct msdc_dma {\n\tstruct scatterlist *sg;\n\tstruct mt_gpdma_desc *gpd;\n\tstruct mt_bdma_desc *bd;\n\tdma_addr_t gpd_addr;\n\tdma_addr_t bd_addr;\n};\n\nstruct msdc_save_para {\n\tu32 msdc_cfg;\n\tu32 iocon;\n\tu32 sdc_cfg;\n\tu32 pad_tune;\n\tu32 patch_bit0;\n\tu32 patch_bit1;\n\tu32 patch_bit2;\n\tu32 pad_ds_tune;\n\tu32 pad_cmd_tune;\n\tu32 emmc50_cfg0;\n\tu32 emmc50_cfg3;\n\tu32 sdc_fifo_cfg;\n\tu32 emmc_top_control;\n\tu32 emmc_top_cmd;\n\tu32 emmc50_pad_ds_tune;\n\tu32 loop_test_control;\n};\n\nstruct msdc_tune_para {\n\tu32 iocon;\n\tu32 pad_tune;\n\tu32 pad_cmd_tune;\n\tu32 emmc_top_control;\n\tu32 emmc_top_cmd;\n};\n\nstruct mtk_mmc_compatible;\n\nstruct msdc_host {\n\tstruct device *dev;\n\tconst struct mtk_mmc_compatible *dev_comp;\n\tint cmd_rsp;\n\tspinlock_t lock;\n\tstruct mmc_request *mrq;\n\tstruct mmc_command *cmd;\n\tstruct mmc_data *data;\n\tint error;\n\tvoid *base;\n\tvoid *top_base;\n\tstruct msdc_dma dma;\n\tu64 dma_mask;\n\tu32 timeout_ns;\n\tu32 timeout_clks;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_default;\n\tstruct pinctrl_state *pins_uhs;\n\tstruct pinctrl_state *pins_eint;\n\tstruct delayed_work req_timeout;\n\tint irq;\n\tint eint_irq;\n\tstruct reset_control *reset;\n\tstruct clk *src_clk;\n\tstruct clk *h_clk;\n\tstruct clk *bus_clk;\n\tstruct clk *src_clk_cg;\n\tstruct clk *sys_clk_cg;\n\tstruct clk *crypto_clk;\n\tstruct clk_bulk_data bulk_clks[3];\n\tu32 mclk;\n\tu32 src_clk_freq;\n\tunsigned char timing;\n\tbool vqmmc_enabled;\n\tu32 latch_ck;\n\tu32 hs400_ds_delay;\n\tu32 hs400_ds_dly3;\n\tu32 hs200_cmd_int_delay;\n\tu32 hs400_cmd_int_delay;\n\tu32 tuning_step;\n\tbool hs400_cmd_resp_sel_rising;\n\tbool hs400_mode;\n\tbool hs400_tuning;\n\tbool internal_cd;\n\tbool cqhci;\n\tbool hsq_en;\n\tstruct msdc_save_para save_para;\n\tstruct msdc_tune_para def_tune_para;\n\tstruct msdc_tune_para saved_tune_para;\n\tstruct cqhci_host *cq_host;\n\tu32 cq_ssc1_time;\n};\n\nstruct msdos_dir_entry {\n\t__u8 name[11];\n\t__u8 attr;\n\t__u8 lcase;\n\t__u8 ctime_cs;\n\t__le16 ctime;\n\t__le16 cdate;\n\t__le16 adate;\n\t__le16 starthi;\n\t__le16 time;\n\t__le16 date;\n\t__le16 start;\n\t__le32 size;\n};\n\nstruct msdos_dir_slot {\n\t__u8 id;\n\t__u8 name0_4[10];\n\t__u8 attr;\n\t__u8 reserved;\n\t__u8 alias_checksum;\n\t__u8 name5_10[12];\n\t__le16 start;\n\t__u8 name11_12[4];\n};\n\nstruct msdos_inode_info {\n\tspinlock_t cache_lru_lock;\n\tstruct list_head cache_lru;\n\tint nr_caches;\n\tunsigned int cache_valid_id;\n\tloff_t mmu_private;\n\tint i_start;\n\tint i_logstart;\n\tint i_attrs;\n\tloff_t i_pos;\n\tstruct hlist_node i_fat_hash;\n\tstruct hlist_node i_dir_hash;\n\tstruct rw_semaphore truncate_lock;\n\tstruct timespec64 i_crtime;\n\tstruct inode vfs_inode;\n};\n\nstruct msdos_partition {\n\tu8 boot_ind;\n\tu8 head;\n\tu8 sector;\n\tu8 cyl;\n\tu8 sys_ind;\n\tu8 end_head;\n\tu8 end_sector;\n\tu8 end_cyl;\n\t__le32 start_sect;\n\t__le32 nr_sects;\n};\n\nstruct nls_table;\n\nstruct msdos_sb_info {\n\tshort unsigned int sec_per_clus;\n\tshort unsigned int cluster_bits;\n\tunsigned int cluster_size;\n\tunsigned char fats;\n\tunsigned char fat_bits;\n\tshort unsigned int fat_start;\n\tlong unsigned int fat_length;\n\tlong unsigned int dir_start;\n\tshort unsigned int dir_entries;\n\tlong unsigned int data_start;\n\tlong unsigned int max_cluster;\n\tlong unsigned int root_cluster;\n\tlong unsigned int fsinfo_sector;\n\tstruct mutex fat_lock;\n\tstruct mutex nfs_build_inode_lock;\n\tstruct mutex s_lock;\n\tunsigned int prev_free;\n\tunsigned int free_clusters;\n\tunsigned int free_clus_valid;\n\tstruct fat_mount_options options;\n\tstruct nls_table *nls_disk;\n\tstruct nls_table *nls_io;\n\tconst void *dir_ops;\n\tint dir_per_block;\n\tint dir_per_block_bits;\n\tunsigned int vol_id;\n\tint fatent_shift;\n\tconst struct fatent_operations *fatent_ops;\n\tstruct inode *fat_inode;\n\tstruct inode *fsinfo_inode;\n\tstruct ratelimit_state ratelimit;\n\tspinlock_t inode_hash_lock;\n\tstruct hlist_head inode_hashtable[256];\n\tspinlock_t dir_hash_lock;\n\tstruct hlist_head dir_hashtable[256];\n\tunsigned int dirty;\n\tstruct callback_head rcu;\n};\n\nstruct msg_msgseg;\n\nstruct msg_msg {\n\tstruct list_head m_list;\n\tlong int m_type;\n\tsize_t m_ts;\n\tstruct msg_msgseg *next;\n\tvoid *security;\n};\n\nstruct msg_msgseg {\n\tstruct msg_msgseg *next;\n};\n\nstruct msg_queue {\n\tstruct kern_ipc_perm q_perm;\n\ttime64_t q_stime;\n\ttime64_t q_rtime;\n\ttime64_t q_ctime;\n\tlong unsigned int q_cbytes;\n\tlong unsigned int q_qnum;\n\tlong unsigned int q_qbytes;\n\tstruct pid *q_lspid;\n\tstruct pid *q_lrpid;\n\tstruct list_head q_messages;\n\tstruct list_head q_receivers;\n\tstruct list_head q_senders;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct msg_receiver {\n\tstruct list_head r_list;\n\tstruct task_struct *r_tsk;\n\tint r_mode;\n\tlong int r_msgtype;\n\tlong int r_maxsize;\n\tstruct msg_msg *r_msg;\n};\n\nstruct msg_sender {\n\tstruct list_head list;\n\tstruct task_struct *tsk;\n\tsize_t msgsz;\n};\n\nstruct msgbuf {\n\t__kernel_long_t mtype;\n\tchar mtext[1];\n};\n\nstruct msginfo {\n\tint msgpool;\n\tint msgmap;\n\tint msgmax;\n\tint msgmnb;\n\tint msgmni;\n\tint msgssz;\n\tint msgtql;\n\tshort unsigned int msgseg;\n};\n\nstruct msi_ctrl {\n\tunsigned int domid;\n\tunsigned int first;\n\tunsigned int last;\n\tunsigned int nirqs;\n};\n\nstruct msi_msg {\n\tunion {\n\t\tu32 address_lo;\n\t\tarch_msi_msg_addr_lo_t arch_addr_lo;\n\t};\n\tunion {\n\t\tu32 address_hi;\n\t\tarch_msi_msg_addr_hi_t arch_addr_hi;\n\t};\n\tunion {\n\t\tu32 data;\n\t\tarch_msi_msg_data_t arch_data;\n\t};\n};\n\nstruct pci_msi_desc {\n\tunion {\n\t\tu32 msi_mask;\n\t\tu32 msix_ctrl;\n\t};\n\tstruct {\n\t\tu8 is_msix: 1;\n\t\tu8 multiple: 3;\n\t\tu8 multi_cap: 3;\n\t\tu8 can_mask: 1;\n\t\tu8 is_64: 1;\n\t\tu8 is_virtual: 1;\n\t\tunsigned int default_irq;\n\t} msi_attrib;\n\tunion {\n\t\tu8 mask_pos;\n\t\tvoid *mask_base;\n\t};\n};\n\nunion msi_domain_cookie {\n\tu64 value;\n\tvoid *ptr;\n\tvoid *iobase;\n};\n\nunion msi_instance_cookie {\n\tu64 value;\n\tvoid *ptr;\n};\n\nstruct msi_desc_data {\n\tunion msi_domain_cookie dcookie;\n\tunion msi_instance_cookie icookie;\n};\n\nstruct msi_desc {\n\tunsigned int irq;\n\tunsigned int nvec_used;\n\tstruct device *dev;\n\tstruct msi_msg msg;\n\tstruct irq_affinity_desc *affinity;\n\tconst void *iommu_cookie;\n\tstruct device_attribute *sysfs_attrs;\n\tvoid (*write_msi_msg)(struct msi_desc *, void *);\n\tvoid *write_msi_msg_data;\n\tu16 msi_index;\n\tunion {\n\t\tstruct pci_msi_desc pci;\n\t\tstruct msi_desc_data data;\n\t};\n};\n\nstruct msi_dev_domain {\n\tstruct xarray store;\n\tstruct irq_domain *domain;\n};\n\nstruct msi_device_data {\n\tlong unsigned int properties;\n\tstruct mutex mutex;\n\tstruct msi_dev_domain __domains[1];\n\tlong unsigned int __iter_idx;\n};\n\nstruct msi_domain_ops;\n\nstruct msi_domain_info {\n\tu32 flags;\n\tenum irq_domain_bus_token bus_token;\n\tunsigned int hwsize;\n\tstruct msi_domain_ops *ops;\n\tstruct irq_chip *chip;\n\tvoid *chip_data;\n\tirq_flow_handler_t handler;\n\tvoid *handler_data;\n\tconst char *handler_name;\n\tvoid *data;\n};\n\nstruct msi_domain_ops {\n\tirq_hw_number_t (*get_hwirq)(struct msi_domain_info *, msi_alloc_info_t *);\n\tint (*msi_init)(struct irq_domain *, struct msi_domain_info *, unsigned int, irq_hw_number_t, msi_alloc_info_t *);\n\tvoid (*msi_free)(struct irq_domain *, struct msi_domain_info *, unsigned int);\n\tint (*msi_prepare)(struct irq_domain *, struct device *, int, msi_alloc_info_t *);\n\tvoid (*prepare_desc)(struct irq_domain *, msi_alloc_info_t *, struct msi_desc *);\n\tvoid (*set_desc)(msi_alloc_info_t *, struct msi_desc *);\n\tint (*domain_alloc_irqs)(struct irq_domain *, struct device *, int);\n\tvoid (*domain_free_irqs)(struct irq_domain *, struct device *);\n\tvoid (*msi_post_free)(struct irq_domain *, struct device *);\n\tint (*msi_translate)(struct irq_domain *, struct irq_fwspec *, irq_hw_number_t *, unsigned int *);\n};\n\nstruct msi_domain_template {\n\tchar name[48];\n\tstruct irq_chip chip;\n\tstruct msi_domain_ops ops;\n\tstruct msi_domain_info info;\n};\n\nstruct msi_map {\n\tint index;\n\tint virq;\n};\n\nstruct msi_parent_ops {\n\tu32 supported_flags;\n\tu32 required_flags;\n\tu32 bus_select_token;\n\tu32 bus_select_mask;\n\tconst char *prefix;\n\tbool (*init_dev_msi_info)(struct device *, struct irq_domain *, struct irq_domain *, struct msi_domain_info *);\n};\n\nstruct msm_baud_map {\n\tu16 divisor;\n\tu8 code;\n\tu8 rxstale;\n};\n\nstruct msm_dma {\n\tstruct dma_chan *chan;\n\tenum dma_data_direction dir;\n\tunion {\n\t\tstruct {\n\t\t\tdma_addr_t phys;\n\t\t\tunsigned char *virt;\n\t\t\tunsigned int count;\n\t\t} rx;\n\t\tstruct scatterlist tx_sg;\n\t};\n\tdma_cookie_t cookie;\n\tu32 enable_bit;\n\tstruct dma_async_tx_descriptor *desc;\n};\n\nstruct msm_gpio_wakeirq_map {\n\tunsigned int gpio;\n\tunsigned int wakeirq;\n};\n\nstruct msm_pinctrl_soc_data;\n\nstruct msm_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctrl;\n\tstruct gpio_chip chip;\n\tstruct pinctrl_desc desc;\n\tstruct notifier_block restart_nb;\n\tint irq;\n\tbool intr_target_use_scm;\n\traw_spinlock_t lock;\n\tlong unsigned int dual_edge_irqs[5];\n\tlong unsigned int enabled_irqs[5];\n\tlong unsigned int skip_wake_irqs[5];\n\tlong unsigned int disabled_for_mux[5];\n\tlong unsigned int ever_gpio[5];\n\tconst struct msm_pinctrl_soc_data *soc;\n\tvoid *regs[4];\n\tu32 phys_base[4];\n};\n\nstruct msm_pingroup;\n\nstruct msm_pinctrl_soc_data {\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tconst struct pinfunction *functions;\n\tunsigned int nfunctions;\n\tconst struct msm_pingroup *groups;\n\tunsigned int ngroups;\n\tunsigned int ngpios;\n\tbool pull_no_keeper;\n\tconst char * const *tiles;\n\tunsigned int ntiles;\n\tconst int *reserved_gpios;\n\tconst struct msm_gpio_wakeirq_map *wakeirq_map;\n\tunsigned int nwakeirq_map;\n\tbool wakeirq_dual_edge_errata;\n\tunsigned int gpio_func;\n\tunsigned int egpio_func;\n};\n\nstruct msm_pingroup {\n\tstruct pingroup grp;\n\tunsigned int *funcs;\n\tunsigned int nfuncs;\n\tu32 ctl_reg;\n\tu32 io_reg;\n\tu32 intr_cfg_reg;\n\tu32 intr_status_reg;\n\tu32 intr_target_reg;\n\tunsigned int tile: 2;\n\tunsigned int mux_bit: 5;\n\tunsigned int pull_bit: 5;\n\tunsigned int drv_bit: 5;\n\tunsigned int i2c_pull_bit: 5;\n\tunsigned int od_bit: 5;\n\tunsigned int egpio_enable: 5;\n\tunsigned int egpio_present: 5;\n\tunsigned int oe_bit: 5;\n\tunsigned int in_bit: 5;\n\tunsigned int out_bit: 5;\n\tunsigned int intr_enable_bit: 5;\n\tunsigned int intr_status_bit: 5;\n\tunsigned int intr_ack_high: 1;\n\tlong: 1;\n\tunsigned int intr_wakeup_present_bit: 5;\n\tunsigned int intr_wakeup_enable_bit: 5;\n\tunsigned int intr_target_bit: 5;\n\tunsigned int intr_target_width: 5;\n\tunsigned int intr_target_kpss_val: 5;\n\tunsigned int intr_raw_status_bit: 5;\n\tint: 2;\n\tunsigned int intr_polarity_bit: 5;\n\tunsigned int intr_detection_bit: 5;\n\tunsigned int intr_detection_width: 5;\n};\n\nstruct msm_port {\n\tstruct uart_port uart;\n\tchar name[16];\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tunsigned int imr;\n\tint is_uartdm;\n\tunsigned int old_snap_state;\n\tbool break_detected;\n\tstruct msm_dma tx_dma;\n\tstruct msm_dma rx_dma;\n};\n\nstruct msqid64_ds {\n\tstruct ipc64_perm msg_perm;\n\tlong int msg_stime;\n\tlong int msg_rtime;\n\tlong int msg_ctime;\n\tlong unsigned int msg_cbytes;\n\tlong unsigned int msg_qnum;\n\tlong unsigned int msg_qbytes;\n\t__kernel_pid_t msg_lspid;\n\t__kernel_pid_t msg_lrpid;\n\tlong unsigned int __unused4;\n\tlong unsigned int __unused5;\n};\n\nstruct msg;\n\nstruct msqid_ds {\n\tstruct ipc_perm msg_perm;\n\tstruct msg *msg_first;\n\tstruct msg *msg_last;\n\t__kernel_old_time_t msg_stime;\n\t__kernel_old_time_t msg_rtime;\n\t__kernel_old_time_t msg_ctime;\n\tlong unsigned int msg_lcbytes;\n\tlong unsigned int msg_lqbytes;\n\tshort unsigned int msg_cbytes;\n\tshort unsigned int msg_qnum;\n\tshort unsigned int msg_qbytes;\n\t__kernel_ipc_pid_t msg_lspid;\n\t__kernel_ipc_pid_t msg_lrpid;\n};\n\nstruct mssr_mod_clk {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int parent;\n};\n\nstruct mst_intc_chip_data {\n\traw_spinlock_t lock;\n\tunsigned int irq_start;\n\tunsigned int nr_irqs;\n\tvoid *base;\n\tbool no_eoi;\n\tstruct list_head entry;\n\tu16 saved_polarity_conf[4];\n};\n\nstruct mstp_clock {\n\tstruct clk_hw hw;\n\tu16 off;\n\tu8 bit;\n\tbool enabled;\n\tstruct rzg2l_cpg_priv *priv;\n\tstruct mstp_clock *sibling;\n};\n\nstruct mstp_clock___2 {\n\tstruct clk_hw hw;\n\tu32 index;\n\tstruct cpg_mssr_priv *priv;\n};\n\nstruct mt6357_regulator_info {\n\tstruct regulator_desc desc;\n\tu32 da_vsel_reg;\n\tu32 da_vsel_mask;\n};\n\nstruct mt6358_regulator_info {\n\tstruct regulator_desc desc;\n\tu32 status_reg;\n\tu32 qi;\n\tu32 da_vsel_reg;\n\tu32 da_vsel_mask;\n\tu32 modeset_reg;\n\tu32 modeset_mask;\n};\n\nstruct mt6359_regulator_info {\n\tstruct regulator_desc desc;\n\tu32 status_reg;\n\tu32 qi;\n\tu32 modeset_reg;\n\tu32 modeset_mask;\n\tu32 lp_mode_reg;\n\tu32 lp_mode_mask;\n};\n\nstruct mt6360_ddata {\n\tstruct i2c_client *i2c[4];\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct regmap_irq_chip_data *irq_data;\n\tunsigned int chip_rev;\n\tu8 crc8_tbl[256];\n};\n\nstruct mt6360_irq_mapping {\n\tconst char *name;\n\tirq_handler_t handler;\n};\n\nstruct mt6360_regulator_data {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n};\n\nstruct mt6360_regulator_desc {\n\tconst struct regulator_desc desc;\n\tunsigned int mode_reg;\n\tunsigned int mode_mask;\n\tunsigned int state_reg;\n\tunsigned int state_mask;\n\tconst struct mt6360_irq_mapping *irq_tables;\n\tint irq_table_size;\n};\n\nstruct mt6397_chip {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct notifier_block pm_nb;\n\tint irq;\n\tstruct irq_domain *irq_domain;\n\tstruct mutex irqlock;\n\tu16 wake_mask[3];\n\tu16 irq_masks_cur[3];\n\tu16 irq_masks_cache[3];\n\tu16 int_con[3];\n\tu16 int_status[3];\n\tu16 chip_id;\n\tvoid *irq_data;\n};\n\nstruct mt6397_regulator_info {\n\tstruct regulator_desc desc;\n\tu32 qi;\n\tu32 vselon_reg;\n\tu32 vselctrl_reg;\n\tu32 vselctrl_mask;\n\tu32 modeset_reg;\n\tu32 modeset_mask;\n};\n\nstruct mt_bdma_desc {\n\tu32 bd_info;\n\tu32 next;\n\tu32 ptr;\n\tu32 bd_data_len;\n};\n\nstruct mt_gpdma_desc {\n\tu32 gpd_info;\n\tu32 next;\n\tu32 ptr;\n\tu32 gpd_data_len;\n\tu32 arg;\n\tu32 blknum;\n\tu32 cmd;\n};\n\nstruct mtd_blktrans_ops;\n\nstruct mtd_blktrans_dev {\n\tstruct mtd_blktrans_ops *tr;\n\tstruct list_head list;\n\tstruct mtd_info *mtd;\n\tstruct mutex lock;\n\tint devnum;\n\tbool bg_stop;\n\tlong unsigned int size;\n\tint readonly;\n\tint open;\n\tstruct kref ref;\n\tstruct gendisk *disk;\n\tstruct attribute_group *disk_attributes;\n\tstruct request_queue *rq;\n\tstruct list_head rq_list;\n\tstruct blk_mq_tag_set *tag_set;\n\tspinlock_t queue_lock;\n\tvoid *priv;\n\tbool writable;\n};\n\nstruct mtd_blktrans_ops {\n\tchar *name;\n\tint major;\n\tint part_bits;\n\tint blksize;\n\tint blkshift;\n\tint (*readsect)(struct mtd_blktrans_dev *, long unsigned int, char *);\n\tint (*writesect)(struct mtd_blktrans_dev *, long unsigned int, char *);\n\tint (*discard)(struct mtd_blktrans_dev *, long unsigned int, unsigned int);\n\tvoid (*background)(struct mtd_blktrans_dev *);\n\tint (*getgeo)(struct mtd_blktrans_dev *, struct hd_geometry *);\n\tint (*flush)(struct mtd_blktrans_dev *);\n\tint (*open)(struct mtd_blktrans_dev *);\n\tvoid (*release)(struct mtd_blktrans_dev *);\n\tvoid (*add_mtd)(struct mtd_blktrans_ops *, struct mtd_info *);\n\tvoid (*remove_dev)(struct mtd_blktrans_dev *);\n\tstruct list_head devs;\n\tstruct list_head list;\n\tstruct module *owner;\n};\n\nstruct mtd_chip_driver {\n\tstruct mtd_info * (*probe)(struct map_info *);\n\tvoid (*destroy)(struct mtd_info *);\n\tstruct module *module;\n\tchar *name;\n\tstruct list_head list;\n};\n\nstruct mtd_concat {\n\tstruct mtd_info mtd;\n\tint num_subdev;\n\tstruct mtd_info **subdev;\n};\n\nstruct mtd_erase_region_info {\n\tuint64_t offset;\n\tuint32_t erasesize;\n\tuint32_t numblocks;\n\tlong unsigned int *lockmap;\n};\n\nstruct mtd_file_info {\n\tstruct mtd_info *mtd;\n\tenum mtd_file_modes mode;\n};\n\nstruct mtd_info_user {\n\t__u8 type;\n\t__u32 flags;\n\t__u32 size;\n\t__u32 erasesize;\n\t__u32 writesize;\n\t__u32 oobsize;\n\t__u64 padding;\n};\n\nstruct mtd_notifier {\n\tvoid (*add)(struct mtd_info *);\n\tvoid (*remove)(struct mtd_info *);\n\tstruct list_head list;\n};\n\nstruct mtd_oob_buf {\n\t__u32 start;\n\t__u32 length;\n\tunsigned char *ptr;\n};\n\nstruct mtd_oob_buf32 {\n\tu_int32_t start;\n\tu_int32_t length;\n\tcompat_caddr_t ptr;\n};\n\nstruct mtd_oob_buf64 {\n\t__u64 start;\n\t__u32 pad;\n\t__u32 length;\n\t__u64 usr_ptr;\n};\n\nstruct mtd_req_stats;\n\nstruct mtd_oob_ops {\n\tunsigned int mode;\n\tsize_t len;\n\tsize_t retlen;\n\tsize_t ooblen;\n\tsize_t oobretlen;\n\tuint32_t ooboffs;\n\tuint8_t *datbuf;\n\tuint8_t *oobbuf;\n\tstruct mtd_req_stats *stats;\n};\n\nstruct mtd_oob_region {\n\tu32 offset;\n\tu32 length;\n};\n\nstruct mtd_ooblayout_ops {\n\tint (*ecc)(struct mtd_info *, int, struct mtd_oob_region *);\n\tint (*free)(struct mtd_info *, int, struct mtd_oob_region *);\n};\n\nstruct mtd_pairing_info {\n\tint pair;\n\tint group;\n};\n\nstruct mtd_pairing_scheme {\n\tint ngroups;\n\tint (*get_info)(struct mtd_info *, int, struct mtd_pairing_info *);\n\tint (*get_wunit)(struct mtd_info *, const struct mtd_pairing_info *);\n};\n\nstruct mtd_part_parser_data;\n\nstruct mtd_part_parser {\n\tstruct list_head list;\n\tstruct module *owner;\n\tconst char *name;\n\tconst struct of_device_id *of_match_table;\n\tint (*parse_fn)(struct mtd_info *, const struct mtd_partition **, struct mtd_part_parser_data *);\n\tvoid (*cleanup)(const struct mtd_partition *, int);\n};\n\nstruct mtd_part_parser_data {\n\tlong unsigned int origin;\n};\n\nstruct mtd_partition {\n\tconst char *name;\n\tconst char * const *types;\n\tuint64_t size;\n\tuint64_t offset;\n\tuint32_t mask_flags;\n\tuint32_t add_flags;\n\tstruct device_node *of_node;\n};\n\nstruct mtd_partitions {\n\tconst struct mtd_partition *parts;\n\tint nr_parts;\n\tconst struct mtd_part_parser *parser;\n};\n\nstruct mtd_read_req_ecc_stats {\n\t__u32 uncorrectable_errors;\n\t__u32 corrected_bitflips;\n\t__u32 max_bitflips;\n};\n\nstruct mtd_read_req {\n\t__u64 start;\n\t__u64 len;\n\t__u64 ooblen;\n\t__u64 usr_data;\n\t__u64 usr_oob;\n\t__u8 mode;\n\t__u8 padding[7];\n\tstruct mtd_read_req_ecc_stats ecc_stats;\n};\n\nstruct mtd_req_stats {\n\tunsigned int uncorrectable_errors;\n\tunsigned int corrected_bitflips;\n\tunsigned int max_bitflips;\n};\n\nstruct mtd_write_req {\n\t__u64 start;\n\t__u64 len;\n\t__u64 ooblen;\n\t__u64 usr_data;\n\t__u64 usr_oob;\n\t__u8 mode;\n\t__u8 padding[7];\n};\n\nstruct mtdblk_dev {\n\tstruct mtd_blktrans_dev mbd;\n\tint count;\n\tstruct mutex cache_mutex;\n\tunsigned char *cache_data;\n\tlong unsigned int cache_offset;\n\tunsigned int cache_size;\n\tenum {\n\t\tSTATE_EMPTY = 0,\n\t\tSTATE_CLEAN = 1,\n\t\tSTATE_DIRTY = 2,\n\t} cache_state;\n};\n\nstruct mthp_stat {\n\tlong unsigned int stats[170];\n};\n\nstruct mtk8250_data {\n\tint line;\n\tunsigned int rx_pos;\n\tunsigned int clk_count;\n\tstruct clk *uart_clk;\n\tstruct clk *bus_clk;\n\tstruct uart_8250_dma *dma;\n\tenum dma_rx_status rx_status;\n\tint rx_wakeup_irq;\n};\n\nstruct mtk_chip_config {\n\tu32 sample_sel;\n\tu32 tick_delay;\n};\n\nstruct mtk_cirq_chip_data {\n\tvoid *base;\n\tunsigned int ext_irq_start;\n\tunsigned int ext_irq_end;\n\tconst u32 *offsets;\n\tstruct irq_domain *domain;\n};\n\nstruct mtk_clk_cpumux {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tu32 reg;\n\tu32 mask;\n\tu8 shift;\n};\n\nstruct mtk_gate;\n\nstruct mtk_composite;\n\nstruct mtk_clk_divider;\n\nstruct mtk_fixed_clk;\n\nstruct mtk_fixed_factor;\n\nstruct mtk_mux;\n\nstruct mtk_clk_rst_desc;\n\nstruct mtk_clk_desc {\n\tconst struct mtk_gate *clks;\n\tsize_t num_clks;\n\tconst struct mtk_composite *composite_clks;\n\tsize_t num_composite_clks;\n\tconst struct mtk_clk_divider *divider_clks;\n\tsize_t num_divider_clks;\n\tconst struct mtk_fixed_clk *fixed_clks;\n\tsize_t num_fixed_clks;\n\tconst struct mtk_fixed_factor *factor_clks;\n\tsize_t num_factor_clks;\n\tconst struct mtk_mux *mux_clks;\n\tsize_t num_mux_clks;\n\tconst struct mtk_clk_rst_desc *rst_desc;\n\tspinlock_t *clk_lock;\n\tbool shared_io;\n\tint (*clk_notifier_func)(struct device *, struct clk *);\n\tunsigned int mfg_clk_idx;\n\tbool need_runtime_pm;\n};\n\nstruct mtk_clk_divider {\n\tint id;\n\tconst char *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tu32 div_reg;\n\tunsigned char div_shift;\n\tunsigned char div_width;\n\tunsigned char clk_divider_flags;\n\tconst struct clk_div_table *clk_div_table;\n};\n\nstruct mtk_clk_gate {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tint set_ofs;\n\tint clr_ofs;\n\tint sta_ofs;\n\tu8 bit;\n};\n\nstruct mtk_clk_mux {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tconst struct mtk_mux *data;\n\tspinlock_t *lock;\n\tbool reparent;\n};\n\nstruct mtk_pll_data;\n\nstruct mtk_clk_pll {\n\tstruct clk_hw hw;\n\tvoid *base_addr;\n\tvoid *pd_addr;\n\tvoid *pwr_addr;\n\tvoid *tuner_addr;\n\tvoid *tuner_en_addr;\n\tvoid *pcw_addr;\n\tvoid *pcw_chg_addr;\n\tvoid *en_addr;\n\tconst struct mtk_pll_data *data;\n};\n\nstruct mtk_clk_rst_data {\n\tstruct regmap *regmap;\n\tstruct reset_controller_dev rcdev;\n\tconst struct mtk_clk_rst_desc *desc;\n};\n\nstruct mtk_clk_rst_desc {\n\tenum mtk_reset_version version;\n\tu16 *rst_bank_ofs;\n\tu32 rst_bank_nr;\n\tu16 *rst_idx_map;\n\tu32 rst_idx_map_nr;\n};\n\nstruct mtk_composite {\n\tint id;\n\tconst char *name;\n\tconst char * const *parent_names;\n\tconst char *parent;\n\tunsigned int flags;\n\tuint32_t mux_reg;\n\tuint32_t divider_reg;\n\tuint32_t gate_reg;\n\tsigned char mux_shift;\n\tsigned char mux_width;\n\tsigned char gate_shift;\n\tsigned char divider_shift;\n\tsigned char divider_width;\n\tu8 mux_flags;\n\tsigned char num_parents;\n};\n\nstruct mtk_cpufreq_platform_data;\n\nstruct mtk_cpu_dvfs_info {\n\tstruct cpumask cpus;\n\tstruct device *cpu_dev;\n\tstruct device *cci_dev;\n\tstruct regulator *proc_reg;\n\tstruct regulator *sram_reg;\n\tstruct clk *cpu_clk;\n\tstruct clk *inter_clk;\n\tstruct list_head list_head;\n\tint intermediate_voltage;\n\tbool need_voltage_tracking;\n\tint vproc_on_boot;\n\tint pre_vproc;\n\tstruct mutex reg_lock;\n\tstruct notifier_block opp_nb;\n\tunsigned int opp_cpu;\n\tlong unsigned int current_freq;\n\tconst struct mtk_cpufreq_platform_data *soc_data;\n\tint vtrack_max;\n\tbool ccifreq_bound;\n};\n\nstruct mtk_cpufreq_platform_data {\n\tint min_volt_shift;\n\tint max_volt_shift;\n\tint proc_max_volt;\n\tint sram_min_volt;\n\tint sram_max_volt;\n\tbool ccifreq_supported;\n};\n\nstruct mtk_desc_eint {\n\tunsigned char eintmux;\n\tunsigned char eintnum;\n};\n\nstruct mtk_desc_function {\n\tconst char *name;\n\tunsigned char muxval;\n};\n\nstruct pinctrl_pin_desc {\n\tunsigned int number;\n\tconst char *name;\n\tvoid *drv_data;\n};\n\nstruct mtk_desc_pin {\n\tstruct pinctrl_pin_desc pin;\n\tconst struct mtk_desc_eint eint;\n\tconst struct mtk_desc_function *functions;\n};\n\nstruct mtk_drive_desc {\n\tu8 min;\n\tu8 max;\n\tu8 step;\n\tu8 scal;\n};\n\nstruct mtk_drv_group_desc {\n\tunsigned char min_drv;\n\tunsigned char max_drv;\n\tunsigned char low_bit;\n\tunsigned char high_bit;\n\tunsigned char step;\n};\n\nstruct mtk_efuse_pdata {\n\tbool uses_post_processing;\n};\n\nstruct mtk_efuse_priv {\n\tvoid *base;\n};\n\nstruct mtk_eint_hw;\n\nstruct mtk_eint_regs;\n\nstruct mtk_eint_xt;\n\nstruct mtk_eint {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct irq_domain *domain;\n\tint irq;\n\tint *dual_edge;\n\tu32 *wake_mask;\n\tu32 *cur_mask;\n\tconst struct mtk_eint_hw *hw;\n\tconst struct mtk_eint_regs *regs;\n\tu16 num_db_time;\n\tvoid *pctl;\n\tconst struct mtk_eint_xt *gpio_xlate;\n};\n\nstruct mtk_eint_desc {\n\tu16 eint_m;\n\tu16 eint_n;\n};\n\nstruct mtk_eint_hw {\n\tu8 port_mask;\n\tu8 ports;\n\tunsigned int ap_num;\n\tunsigned int db_cnt;\n\tconst unsigned int *db_time;\n};\n\nstruct mtk_eint_regs {\n\tunsigned int stat;\n\tunsigned int ack;\n\tunsigned int mask;\n\tunsigned int mask_set;\n\tunsigned int mask_clr;\n\tunsigned int sens;\n\tunsigned int sens_set;\n\tunsigned int sens_clr;\n\tunsigned int soft;\n\tunsigned int soft_set;\n\tunsigned int soft_clr;\n\tunsigned int pol;\n\tunsigned int pol_set;\n\tunsigned int pol_clr;\n\tunsigned int dom_en;\n\tunsigned int dbnc_ctrl;\n\tunsigned int dbnc_set;\n\tunsigned int dbnc_clr;\n};\n\nstruct mtk_eint_xt {\n\tint (*get_gpio_n)(void *, long unsigned int, unsigned int *, struct gpio_chip **);\n\tint (*get_gpio_state)(void *, long unsigned int);\n\tint (*set_gpio_as_eint)(void *, long unsigned int);\n};\n\nstruct mtk_pllfh_data;\n\nstruct mtk_fh {\n\tstruct mtk_clk_pll clk_pll;\n\tstruct fh_pll_regs regs;\n\tstruct mtk_pllfh_data *pllfh_data;\n\tconst struct fh_operation *ops;\n\tspinlock_t *lock;\n};\n\nstruct mtk_fixed_clk {\n\tint id;\n\tconst char *name;\n\tconst char *parent;\n\tlong unsigned int rate;\n};\n\nstruct mtk_fixed_factor {\n\tint id;\n\tconst char *name;\n\tconst char *parent_name;\n\tint mult;\n\tint div;\n\tlong unsigned int flags;\n};\n\nstruct mtk_func_desc {\n\tconst char *name;\n\tu8 muxval;\n};\n\nstruct mtk_gate_regs;\n\nstruct mtk_gate {\n\tint id;\n\tconst char *name;\n\tconst char *parent_name;\n\tconst struct mtk_gate_regs *regs;\n\tint shift;\n\tconst struct clk_ops *ops;\n\tlong unsigned int flags;\n};\n\nstruct mtk_gate_regs {\n\tu32 sta_ofs;\n\tu32 clr_ofs;\n\tu32 set_ofs;\n};\n\nstruct mtk_i2c_ac_timing {\n\tu16 htiming;\n\tu16 ltiming;\n\tu16 hs;\n\tu16 ext;\n\tu16 inter_clk_div;\n\tu16 scl_hl_ratio;\n\tu16 hs_scl_hl_ratio;\n\tu16 sta_stop;\n\tu16 hs_sta_stop;\n\tu16 sda_timing;\n};\n\nstruct mtk_i2c_compatible;\n\nstruct mtk_i2c {\n\tstruct i2c_adapter adap;\n\tstruct device *dev;\n\tstruct completion msg_complete;\n\tstruct i2c_timings timing_info;\n\tvoid *base;\n\tvoid *pdmabase;\n\tstruct clk_bulk_data clocks[4];\n\tbool have_pmic;\n\tbool use_push_pull;\n\tu16 irq_stat;\n\tunsigned int clk_src_div;\n\tunsigned int speed_hz;\n\tenum mtk_trans_op op;\n\tu16 timing_reg;\n\tu16 high_speed_reg;\n\tu16 ltiming_reg;\n\tunsigned char auto_restart;\n\tbool ignore_restart_irq;\n\tstruct mtk_i2c_ac_timing ac_timing;\n\tconst struct mtk_i2c_compatible *dev_comp;\n};\n\nstruct mtk_i2c_compatible {\n\tconst struct i2c_adapter_quirks *quirks;\n\tconst u16 *regs;\n\tunsigned char pmic_i2c: 1;\n\tunsigned char dcm: 1;\n\tunsigned char auto_restart: 1;\n\tunsigned char aux_len_reg: 1;\n\tunsigned char timing_adjust: 1;\n\tunsigned char dma_sync: 1;\n\tunsigned char ltiming_adjust: 1;\n\tunsigned char apdma_sync: 1;\n\tunsigned char max_dma_support;\n};\n\nstruct mtk_iommu_data;\n\nstruct mtk_iommu_domain;\n\nstruct mtk_iommu_bank_data {\n\tvoid *base;\n\tint irq;\n\tu8 id;\n\tstruct device *parent_dev;\n\tstruct mtk_iommu_data *parent_data;\n\tspinlock_t tlb_lock;\n\tstruct mtk_iommu_domain *m4u_dom;\n};\n\nstruct mtk_iommu_suspend_reg {\n\tu32 misc_ctrl;\n\tu32 dcm_dis;\n\tu32 ctrl_reg;\n\tu32 vld_pa_rng;\n\tu32 wr_len_ctrl;\n\tu32 int_control[5];\n\tu32 int_main_control[5];\n\tu32 ivrp_paddr[5];\n};\n\nstruct mtk_smi_larb_iommu {\n\tstruct device *dev;\n\tunsigned int mmu;\n\tunsigned char bank[32];\n};\n\nstruct mtk_iommu_plat_data;\n\nstruct mtk_iommu_data {\n\tstruct device *dev;\n\tstruct clk *bclk;\n\tphys_addr_t protect_base;\n\tstruct mtk_iommu_suspend_reg reg;\n\tstruct iommu_group *m4u_group[8];\n\tbool enable_4GB;\n\tstruct iommu_device iommu;\n\tconst struct mtk_iommu_plat_data *plat_data;\n\tstruct device *smicomm_dev;\n\tstruct mtk_iommu_bank_data *bank;\n\tstruct mtk_iommu_domain *share_dom;\n\tstruct regmap *pericfg;\n\tstruct mutex mutex;\n\tstruct list_head *hw_list;\n\tstruct list_head hw_list_head;\n\tstruct list_head list;\n\tstruct mtk_smi_larb_iommu larb_imu[32];\n};\n\nstruct mtk_iommu_domain {\n\tstruct io_pgtable_cfg cfg;\n\tstruct io_pgtable_ops *iop;\n\tstruct mtk_iommu_bank_data *bank;\n\tstruct iommu_domain domain;\n\tstruct mutex mutex;\n};\n\nstruct mtk_iommu_iova_region {\n\tdma_addr_t iova_base;\n\tlong long unsigned int size;\n};\n\nstruct mtk_iommu_plat_data {\n\tenum mtk_iommu_plat m4u_plat;\n\tu32 flags;\n\tu32 inv_sel_reg;\n\tchar *pericfg_comp_str;\n\tstruct list_head *hw_list;\n\tstruct {\n\t\tunsigned int iova_region_nr;\n\t\tconst struct mtk_iommu_iova_region *iova_region;\n\t\tconst u32 (*iova_region_larb_msk)[32];\n\t};\n\tstruct {\n\t\tu8 banks_num;\n\t\tbool banks_enable[5];\n\t\tunsigned int banks_portmsk[5];\n\t};\n\tunsigned char larbid_remap[64];\n};\n\nstruct mtk_mmc_compatible {\n\tu8 clk_div_bits;\n\tbool recheck_sdio_irq;\n\tbool hs400_tune;\n\tbool needs_top_base;\n\tu32 pad_tune_reg;\n\tbool async_fifo;\n\tbool data_tune;\n\tbool busy_check;\n\tbool stop_clk_fix;\n\tu8 stop_dly_sel;\n\tu8 pop_en_cnt;\n\tbool enhance_rx;\n\tbool support_64g;\n\tbool use_internal_cd;\n\tbool support_new_tx;\n\tbool support_new_rx;\n};\n\nstruct mtk_mux {\n\tint id;\n\tconst char *name;\n\tconst char * const *parent_names;\n\tconst u8 *parent_index;\n\tunsigned int flags;\n\tu32 mux_ofs;\n\tu32 set_ofs;\n\tu32 clr_ofs;\n\tu32 upd_ofs;\n\tu8 mux_shift;\n\tu8 mux_width;\n\tu8 gate_shift;\n\ts8 upd_shift;\n\tconst struct clk_ops *ops;\n\tsigned char num_parents;\n};\n\nstruct mtk_mux_nb {\n\tstruct notifier_block nb;\n\tconst struct clk_ops *ops;\n\tu8 bypass_index;\n\tu8 original_index;\n};\n\nstruct u2phy_banks {\n\tvoid *misc;\n\tvoid *fmreg;\n\tvoid *com;\n};\n\nstruct u3phy_banks {\n\tvoid *spllc;\n\tvoid *chip;\n\tvoid *phyd;\n\tvoid *phya;\n};\n\nstruct mtk_phy_instance {\n\tstruct phy *phy;\n\tvoid *port_base;\n\tunion {\n\t\tstruct u2phy_banks u2_banks;\n\t\tstruct u3phy_banks u3_banks;\n\t};\n\tstruct clk_bulk_data clks[2];\n\tu32 index;\n\tu32 type;\n\tstruct regmap *type_sw;\n\tu32 type_sw_reg;\n\tu32 type_sw_index;\n\tu32 efuse_sw_en;\n\tu32 efuse_intr;\n\tu32 efuse_tx_imp;\n\tu32 efuse_rx_imp;\n\tint eye_src;\n\tint eye_vrt;\n\tint eye_term;\n\tint intr;\n\tint discth;\n\tint pre_emphasis;\n\tbool bc12_en;\n\tbool type_force_mode;\n};\n\nstruct mtk_phy_pdata {\n\tbool avoid_rx_sen_degradation;\n\tbool sw_pll_48m_to_26m;\n\tbool sw_efuse_supported;\n\tenum mtk_phy_version version;\n};\n\nstruct mtk_pin_desc {\n\tunsigned int number;\n\tconst char *name;\n\tstruct mtk_eint_desc eint;\n\tu8 drv_n;\n\tstruct mtk_func_desc *funcs;\n};\n\nstruct mtk_pin_drv_grp {\n\tshort unsigned int pin;\n\tshort unsigned int offset;\n\tunsigned char bit;\n\tunsigned char grp;\n};\n\nstruct mtk_pin_field {\n\tu8 index;\n\tu32 offset;\n\tu32 mask;\n\tu8 bitpos;\n\tu8 next;\n};\n\nstruct mtk_pin_field_calc {\n\tu16 s_pin;\n\tu16 e_pin;\n\tu8 i_base;\n\tu32 s_addr;\n\tu8 x_addrs;\n\tu8 s_bit;\n\tu8 x_bits;\n\tu8 sz_reg;\n\tu8 fixed;\n};\n\nstruct mtk_pin_ies_smt_set {\n\tshort unsigned int start;\n\tshort unsigned int end;\n\tshort unsigned int offset;\n\tunsigned char bit;\n};\n\nstruct mtk_pin_reg_calc {\n\tconst struct mtk_pin_field_calc *range;\n\tunsigned int nranges;\n};\n\nstruct mtk_pin_rsel {\n\tu16 s_pin;\n\tu16 e_pin;\n\tu16 rsel_index;\n\tu32 up_rsel;\n\tu32 down_rsel;\n};\n\nstruct mtk_pinctrl;\n\nstruct mtk_pin_soc {\n\tconst struct mtk_pin_reg_calc *reg_cal;\n\tconst struct mtk_pin_desc *pins;\n\tunsigned int npins;\n\tconst struct group_desc *grps;\n\tunsigned int ngrps;\n\tconst struct function_desc *funcs;\n\tunsigned int nfuncs;\n\tconst struct mtk_eint_regs *eint_regs;\n\tconst struct mtk_eint_hw *eint_hw;\n\tu8 gpio_m;\n\tbool ies_present;\n\tconst char * const *base_names;\n\tunsigned int nbase_names;\n\tconst unsigned int *pull_type;\n\tconst struct mtk_pin_rsel *pin_rsel;\n\tunsigned int npin_rsel;\n\tint (*bias_disable_set)(struct mtk_pinctrl *, const struct mtk_pin_desc *);\n\tint (*bias_disable_get)(struct mtk_pinctrl *, const struct mtk_pin_desc *, int *);\n\tint (*bias_set)(struct mtk_pinctrl *, const struct mtk_pin_desc *, bool);\n\tint (*bias_get)(struct mtk_pinctrl *, const struct mtk_pin_desc *, bool, int *);\n\tint (*bias_set_combo)(struct mtk_pinctrl *, const struct mtk_pin_desc *, u32, u32);\n\tint (*bias_get_combo)(struct mtk_pinctrl *, const struct mtk_pin_desc *, u32 *, u32 *);\n\tint (*drive_set)(struct mtk_pinctrl *, const struct mtk_pin_desc *, u32);\n\tint (*drive_get)(struct mtk_pinctrl *, const struct mtk_pin_desc *, int *);\n\tint (*adv_pull_set)(struct mtk_pinctrl *, const struct mtk_pin_desc *, bool, u32);\n\tint (*adv_pull_get)(struct mtk_pinctrl *, const struct mtk_pin_desc *, bool, u32 *);\n\tint (*adv_drive_set)(struct mtk_pinctrl *, const struct mtk_pin_desc *, u32);\n\tint (*adv_drive_get)(struct mtk_pinctrl *, const struct mtk_pin_desc *, u32 *);\n\tvoid *driver_data;\n};\n\nstruct mtk_pin_spec_pupd_set_samereg {\n\tshort unsigned int pin;\n\tshort unsigned int offset;\n\tunsigned char pupd_bit;\n\tunsigned char r1_bit;\n\tunsigned char r0_bit;\n};\n\nstruct mtk_pinctrl_group;\n\nstruct mtk_pinctrl_devdata;\n\nstruct mtk_pinctrl___2 {\n\tstruct regmap *regmap1;\n\tstruct regmap *regmap2;\n\tstruct pinctrl_desc pctl_desc;\n\tstruct device *dev;\n\tstruct gpio_chip *chip;\n\tstruct mtk_pinctrl_group *groups;\n\tunsigned int ngroups;\n\tconst char **grp_names;\n\tstruct pinctrl_dev *pctl_dev;\n\tconst struct mtk_pinctrl_devdata *devdata;\n\tstruct mtk_eint *eint;\n};\n\nstruct mtk_pinctrl {\n\tstruct pinctrl_dev *pctrl;\n\tvoid **base;\n\tu8 nbase;\n\tstruct device *dev;\n\tstruct gpio_chip chip;\n\tconst struct mtk_pin_soc *soc;\n\tstruct mtk_eint *eint;\n\tstruct mtk_pinctrl_group *groups;\n\tconst char **grp_names;\n\tspinlock_t lock;\n\tbool rsel_si_unit;\n};\n\nstruct mtk_pinctrl_devdata {\n\tconst struct mtk_desc_pin *pins;\n\tunsigned int npins;\n\tconst struct mtk_drv_group_desc *grp_desc;\n\tunsigned int n_grp_cls;\n\tconst struct mtk_pin_drv_grp *pin_drv_grp;\n\tunsigned int n_pin_drv_grps;\n\tconst struct mtk_pin_ies_smt_set *spec_ies;\n\tunsigned int n_spec_ies;\n\tconst struct mtk_pin_spec_pupd_set_samereg *spec_pupd;\n\tunsigned int n_spec_pupd;\n\tconst struct mtk_pin_ies_smt_set *spec_smt;\n\tunsigned int n_spec_smt;\n\tint (*spec_pull_set)(struct regmap *, const struct mtk_pinctrl_devdata *, unsigned int, bool, unsigned int);\n\tint (*spec_ies_smt_set)(struct regmap *, const struct mtk_pinctrl_devdata *, unsigned int, int, enum pin_config_param);\n\tvoid (*spec_pinmux_set)(struct regmap *, unsigned int, unsigned int);\n\tvoid (*spec_dir_set)(unsigned int *, unsigned int);\n\tint (*mt8365_set_clr_mode)(struct regmap *, unsigned int, unsigned int, unsigned int, bool, bool);\n\tunsigned int dir_offset;\n\tunsigned int ies_offset;\n\tunsigned int smt_offset;\n\tunsigned int pullen_offset;\n\tunsigned int pullsel_offset;\n\tunsigned int drv_offset;\n\tunsigned int dout_offset;\n\tunsigned int din_offset;\n\tunsigned int pinmux_offset;\n\tshort unsigned int type1_start;\n\tshort unsigned int type1_end;\n\tunsigned char port_shf;\n\tunsigned char port_mask;\n\tunsigned char port_align;\n\tstruct mtk_eint_hw eint_hw;\n\tstruct mtk_eint_regs *eint_regs;\n\tunsigned int mode_mask;\n\tunsigned int mode_per_reg;\n\tunsigned int mode_shf;\n};\n\nstruct mtk_pinctrl_group {\n\tconst char *name;\n\tlong unsigned int config;\n\tunsigned int pin;\n};\n\nstruct mtk_pll_div_table;\n\nstruct mtk_pll_data {\n\tint id;\n\tconst char *name;\n\tu32 reg;\n\tu32 pwr_reg;\n\tu32 en_mask;\n\tu32 pd_reg;\n\tu32 tuner_reg;\n\tu32 tuner_en_reg;\n\tu8 tuner_en_bit;\n\tint pd_shift;\n\tunsigned int flags;\n\tconst struct clk_ops *ops;\n\tu32 rst_bar_mask;\n\tlong unsigned int fmin;\n\tlong unsigned int fmax;\n\tint pcwbits;\n\tint pcwibits;\n\tu32 pcw_reg;\n\tint pcw_shift;\n\tu32 pcw_chg_reg;\n\tconst struct mtk_pll_div_table *div_table;\n\tconst char *parent_name;\n\tu32 en_reg;\n\tu8 pll_en_bit;\n\tu8 pcw_chg_bit;\n};\n\nstruct mtk_pll_div_table {\n\tu32 div;\n\tlong unsigned int freq;\n};\n\nstruct mtk_pllfh_data {\n\tstruct fh_pll_state state;\n\tconst struct fh_pll_data data;\n};\n\nstruct mtk_ref2usb_tx {\n\tstruct clk_hw hw;\n\tvoid *base_addr;\n};\n\nstruct mtk_rng {\n\tvoid *base;\n\tstruct clk *clk;\n\tstruct hwrng rng;\n};\n\nstruct mtk_smi_common_plat;\n\nstruct mtk_smi {\n\tstruct device *dev;\n\tunsigned int clk_num;\n\tstruct clk_bulk_data clks[4];\n\tstruct clk *clk_async;\n\tunion {\n\t\tvoid *smi_ao_base;\n\t\tvoid *base;\n\t};\n\tstruct device *smi_common_dev;\n\tconst struct mtk_smi_common_plat *plat;\n};\n\nstruct mtk_smi_reg_pair;\n\nstruct mtk_smi_common_plat {\n\tenum mtk_smi_type type;\n\tbool has_gals;\n\tu32 bus_sel;\n\tconst struct mtk_smi_reg_pair *init;\n};\n\nstruct mtk_smi_larb_gen;\n\nstruct mtk_smi_larb {\n\tstruct mtk_smi smi;\n\tvoid *base;\n\tstruct device *smi_common_dev;\n\tconst struct mtk_smi_larb_gen *larb_gen;\n\tint larbid;\n\tu32 *mmu;\n\tunsigned char *bank;\n};\n\nstruct mtk_smi_larb_gen {\n\tint port_in_larb[33];\n\tint (*config_port)(struct device *);\n\tunsigned int larb_direct_to_common_mask;\n\tunsigned int flags_general;\n\tconst u8 (*ostd)[32];\n};\n\nstruct mtk_smi_reg_pair {\n\tunsigned int offset;\n\tu32 value;\n};\n\nstruct name_data;\n\nstruct socinfo_data;\n\nstruct soc_device;\n\nstruct mtk_socinfo {\n\tstruct device *dev;\n\tstruct name_data *name_data;\n\tstruct socinfo_data *socinfo_data;\n\tstruct soc_device *soc_dev;\n};\n\nstruct mtk_spi_compatible;\n\nstruct mtk_spi {\n\tvoid *base;\n\tu32 state;\n\tint pad_num;\n\tu32 *pad_sel;\n\tstruct clk *parent_clk;\n\tstruct clk *sel_clk;\n\tstruct clk *spi_clk;\n\tstruct clk *spi_hclk;\n\tstruct spi_transfer *cur_transfer;\n\tu32 xfer_len;\n\tu32 num_xfered;\n\tstruct scatterlist *tx_sgl;\n\tstruct scatterlist *rx_sgl;\n\tu32 tx_sgl_len;\n\tu32 rx_sgl_len;\n\tconst struct mtk_spi_compatible *dev_comp;\n\tu32 spi_clk_hz;\n\tstruct completion spimem_done;\n\tbool use_spimem;\n\tstruct device *dev;\n\tdma_addr_t tx_dma;\n\tdma_addr_t rx_dma;\n};\n\nstruct mtk_spi_compatible {\n\tbool need_pad_sel;\n\tbool must_tx;\n\tbool enhance_timing;\n\tbool dma_ext;\n\tbool no_need_unprepare;\n\tbool ipm_design;\n};\n\nstruct mtk_sysirq_chip_data {\n\traw_spinlock_t lock;\n\tu32 nr_intpol_bases;\n\tvoid **intpol_bases;\n\tu32 *intpol_words;\n\tu8 *intpol_idx;\n\tu16 *which_word;\n};\n\nstruct mtk_tphy {\n\tstruct device *dev;\n\tvoid *sif_base;\n\tconst struct mtk_phy_pdata *pdata;\n\tstruct mtk_phy_instance **phys;\n\tint nphys;\n\tint src_ref_clk;\n\tint src_coef;\n};\n\nstruct mtk_wdt_data {\n\tint toprgu_sw_rst_num;\n\tbool has_swsysrst_en;\n};\n\nstruct mtk_wdt_dev {\n\tstruct watchdog_device wdt_dev;\n\tvoid *wdt_base;\n\tspinlock_t lock;\n\tstruct reset_controller_dev rcdev;\n\tbool disable_wdt_extrst;\n\tbool reset_by_toprgu;\n\tbool has_swsysrst_en;\n};\n\nstruct mtu3_fifo_info {\n\tu32 base;\n\tu32 limit;\n\tlong unsigned int bitmap[2];\n};\n\nstruct mtu3_ep;\n\nstruct mtu3;\n\nstruct qmu_gpd;\n\nstruct mtu3_request {\n\tstruct usb_request request;\n\tstruct list_head list;\n\tstruct mtu3_ep *mep;\n\tstruct mtu3 *mtu;\n\tstruct qmu_gpd *gpd;\n\tint epnum;\n};\n\nstruct ssusb_mtk;\n\nstruct mtu3 {\n\tspinlock_t lock;\n\tstruct ssusb_mtk *ssusb;\n\tstruct device *dev;\n\tvoid *mac_base;\n\tvoid *ippc_base;\n\tint irq;\n\tstruct mtu3_fifo_info tx_fifo;\n\tstruct mtu3_fifo_info rx_fifo;\n\tstruct mtu3_ep *ep_array;\n\tstruct mtu3_ep *in_eps;\n\tstruct mtu3_ep *out_eps;\n\tstruct mtu3_ep *ep0;\n\tint num_eps;\n\tint slot;\n\tint active_ep;\n\tstruct dma_pool *qmu_gpd_pool;\n\tenum mtu3_g_ep0_state ep0_state;\n\tstruct usb_gadget g;\n\tstruct usb_gadget_driver *gadget_driver;\n\tstruct mtu3_request ep0_req;\n\tu8 setup_buf[6];\n\tenum usb_device_speed max_speed;\n\tenum usb_device_speed speed;\n\tunsigned int is_active: 1;\n\tunsigned int may_wakeup: 1;\n\tunsigned int is_self_powered: 1;\n\tunsigned int test_mode: 1;\n\tunsigned int softconnect: 1;\n\tunsigned int u1_enable: 1;\n\tunsigned int u2_enable: 1;\n\tunsigned int u3_capable: 1;\n\tunsigned int delayed_status: 1;\n\tunsigned int gen2cp: 1;\n\tunsigned int connected: 1;\n\tunsigned int async_callbacks: 1;\n\tunsigned int separate_fifo: 1;\n\tu8 address;\n\tu8 test_mode_nr;\n\tu32 hw_version;\n};\n\nstruct mtu3_gpd_ring {\n\tdma_addr_t dma;\n\tstruct qmu_gpd *start;\n\tstruct qmu_gpd *end;\n\tstruct qmu_gpd *enqueue;\n\tstruct qmu_gpd *dequeue;\n};\n\nstruct mtu3_ep {\n\tstruct usb_ep ep;\n\tchar name[12];\n\tstruct mtu3 *mtu;\n\tu8 epnum;\n\tu8 type;\n\tu8 is_in;\n\tu16 maxp;\n\tint slot;\n\tu32 fifo_size;\n\tu32 fifo_addr;\n\tu32 fifo_seg_size;\n\tstruct mtu3_fifo_info *fifo;\n\tstruct list_head req_list;\n\tstruct mtu3_gpd_ring gpd_ring;\n\tconst struct usb_ss_ep_comp_descriptor *comp_desc;\n\tconst struct usb_endpoint_descriptor *desc;\n\tint flags;\n};\n\nstruct mtu3_file_map {\n\tconst char *name;\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct mtu3_regset {\n\tchar name[32];\n\tstruct debugfs_regset32 regset;\n};\n\nstruct mu3c_ippc_regs {\n\t__le32 ip_pw_ctr0;\n\t__le32 ip_pw_ctr1;\n\t__le32 ip_pw_ctr2;\n\t__le32 ip_pw_ctr3;\n\t__le32 ip_pw_sts1;\n\t__le32 ip_pw_sts2;\n\t__le32 reserved0[3];\n\t__le32 ip_xhci_cap;\n\t__le32 reserved1[2];\n\t__le64 u3_ctrl_p[4];\n\t__le64 u2_ctrl_p[5];\n\t__le32 reserved2;\n\t__le32 u2_phy_pll;\n\t__le32 reserved3[33];\n};\n\nstruct mu3h_sch_bw_info {\n\tu32 bus_bw[64];\n};\n\nstruct mu3h_sch_tt;\n\nstruct mu3h_sch_ep_info {\n\tu32 esit;\n\tu32 num_esit;\n\tu32 num_budget_microframes;\n\tstruct list_head endpoint;\n\tstruct hlist_node hentry;\n\tstruct list_head tt_endpoint;\n\tstruct mu3h_sch_bw_info *bw_info;\n\tstruct mu3h_sch_tt *sch_tt;\n\tu32 ep_type;\n\tu32 maxpkt;\n\tstruct usb_host_endpoint *ep;\n\tenum usb_device_speed speed;\n\tbool allocated;\n\tu32 offset;\n\tu32 repeat;\n\tu32 pkts;\n\tu32 cs_count;\n\tu32 burst_mode;\n\tu32 bw_budget_table[0];\n};\n\nstruct mu3h_sch_tt {\n\tu16 fs_bus_bw_out[64];\n\tu16 fs_bus_bw_in[64];\n\tu8 ls_bus_bw[64];\n\tu16 fs_frame_bw[8];\n\tu8 in_ss_cnt[64];\n\tstruct list_head ep_list;\n};\n\nstruct multi_stop_data {\n\tcpu_stop_fn_t fn;\n\tvoid *data;\n\tunsigned int num_threads;\n\tconst struct cpumask *active_cpus;\n\tenum multi_stop_state state;\n\tatomic_t thread_ack;\n};\n\nstruct multicall_entry {\n\txen_ulong_t op;\n\txen_long_t result;\n\txen_ulong_t args[6];\n};\n\nstruct multiprocess_signals {\n\tsigset_t signal;\n\tstruct hlist_node node;\n};\n\nstruct muram_info {\n\tstruct gen_pool *pool;\n\tvoid *vbase;\n\tphys_addr_t pbase;\n};\n\nstruct musb_qh;\n\nstruct musb_io {\n\tu32 (*ep_offset)(u8, u16);\n\tvoid (*ep_select)(void *, u8);\n\tu32 (*fifo_offset)(u8);\n\tvoid (*read_fifo)(struct musb_hw_ep *, u16, u8 *);\n\tvoid (*write_fifo)(struct musb_hw_ep *, u16, const u8 *);\n\tu32 (*busctl_offset)(u8, u16);\n\tu16 (*get_toggle)(struct musb_qh *, int);\n\tu16 (*set_toggle)(struct musb_qh *, int, struct urb *);\n};\n\nstruct musb_csr_regs {\n\tu16 txmaxp;\n\tu16 txcsr;\n\tu16 rxmaxp;\n\tu16 rxcsr;\n\tu16 rxfifoadd;\n\tu16 txfifoadd;\n\tu8 txtype;\n\tu8 txinterval;\n\tu8 rxtype;\n\tu8 rxinterval;\n\tu8 rxfifosz;\n\tu8 txfifosz;\n\tu8 txfunaddr;\n\tu8 txhubaddr;\n\tu8 txhubport;\n\tu8 rxfunaddr;\n\tu8 rxhubaddr;\n\tu8 rxhubport;\n};\n\nstruct musb_context_registers {\n\tu8 power;\n\tu8 intrusbe;\n\tu16 frame;\n\tu8 index;\n\tu8 testmode;\n\tu8 devctl;\n\tu8 busctl;\n\tu8 misc;\n\tu32 otg_interfsel;\n\tstruct musb_csr_regs index_regs[16];\n};\n\nstruct musb_ep {\n\tstruct usb_ep end_point;\n\tchar name[12];\n\tstruct musb_hw_ep *hw_ep;\n\tstruct musb *musb;\n\tu8 current_epnum;\n\tu8 type;\n\tu8 is_in;\n\tu16 packet_sz;\n\tconst struct usb_endpoint_descriptor *desc;\n\tstruct dma_channel *dma;\n\tstruct list_head req_list;\n\tu8 wedged;\n\tu8 busy;\n\tu8 hb_mult;\n};\n\nstruct musb_hw_ep {\n\tstruct musb *musb;\n\tvoid *fifo;\n\tvoid *regs;\n\tu8 epnum;\n\tbool is_shared_fifo;\n\tbool tx_double_buffered;\n\tbool rx_double_buffered;\n\tu16 max_packet_sz_tx;\n\tu16 max_packet_sz_rx;\n\tstruct dma_channel *tx_channel;\n\tstruct dma_channel *rx_channel;\n\tstruct musb_qh *in_qh;\n\tstruct musb_qh *out_qh;\n\tu8 rx_reinit;\n\tu8 tx_reinit;\n\tstruct musb_ep ep_in;\n\tstruct musb_ep ep_out;\n};\n\nstruct musb_platform_ops;\n\nstruct musb_hdrc_config;\n\nstruct musb {\n\tspinlock_t lock;\n\tspinlock_t list_lock;\n\tstruct musb_io io;\n\tconst struct musb_platform_ops *ops;\n\tstruct musb_context_registers context;\n\tirqreturn_t (*isr)(int, void *);\n\tstruct delayed_work irq_work;\n\tstruct delayed_work deassert_reset_work;\n\tstruct delayed_work finish_resume_work;\n\tstruct delayed_work gadget_work;\n\tu16 hwvers;\n\tu16 intrrxe;\n\tu16 intrtxe;\n\tu32 port1_status;\n\tlong unsigned int rh_timer;\n\tenum musb_h_ep0_state ep0_stage;\n\tstruct musb_hw_ep *bulk_ep;\n\tstruct list_head control;\n\tstruct list_head in_bulk;\n\tstruct list_head out_bulk;\n\tstruct list_head pending_list;\n\tstruct timer_list otg_timer;\n\tstruct timer_list dev_timer;\n\tstruct notifier_block nb;\n\tstruct dma_controller *dma_controller;\n\tstruct device *controller;\n\tvoid *ctrl_base;\n\tvoid *mregs;\n\tu8 int_usb;\n\tu16 int_rx;\n\tu16 int_tx;\n\tstruct usb_phy *xceiv;\n\tstruct phy *phy;\n\tenum usb_otg_state otg_state;\n\tint nIrq;\n\tunsigned int irq_wake: 1;\n\tstruct musb_hw_ep endpoints[16];\n\tu16 vbuserr_retry;\n\tu16 epmask;\n\tu8 nr_endpoints;\n\tu8 min_power;\n\tenum musb_mode port_mode;\n\tbool session;\n\tlong unsigned int quirk_retries;\n\tbool is_host;\n\tint a_wait_bcon;\n\tlong unsigned int idle_timeout;\n\tunsigned int is_initialized: 1;\n\tunsigned int is_runtime_suspended: 1;\n\tunsigned int is_active: 1;\n\tunsigned int is_multipoint: 1;\n\tunsigned int hb_iso_rx: 1;\n\tunsigned int hb_iso_tx: 1;\n\tunsigned int dyn_fifo: 1;\n\tunsigned int bulk_split: 1;\n\tunsigned int bulk_combine: 1;\n\tunsigned int is_suspended: 1;\n\tunsigned int may_wakeup: 1;\n\tunsigned int is_self_powered: 1;\n\tunsigned int is_bus_powered: 1;\n\tunsigned int set_address: 1;\n\tunsigned int test_mode: 1;\n\tunsigned int softconnect: 1;\n\tunsigned int flush_irq_work: 1;\n\tu8 address;\n\tu8 test_mode_nr;\n\tu16 ackpend;\n\tenum musb_g_ep0_state ep0_state;\n\tstruct usb_gadget g;\n\tstruct usb_gadget_driver *gadget_driver;\n\tstruct usb_hcd *hcd;\n\tconst struct musb_hdrc_config *config;\n\tint xceiv_old_state;\n\tstruct dentry *debugfs_root;\n};\n\nstruct musb_fifo_cfg {\n\tu8 hw_ep_num;\n\tenum musb_fifo_style style;\n\tenum musb_buf_mode mode;\n\tu16 maxpacket;\n};\n\nstruct musb_hdrc_config {\n\tstruct musb_fifo_cfg *fifo_cfg;\n\tunsigned int fifo_cfg_size;\n\tunsigned int multipoint: 1;\n\tunsigned int dyn_fifo: 1;\n\tunsigned int host_port_deassert_reset_at_resume: 1;\n\tu8 num_eps;\n\tu8 ram_bits;\n\tu32 maximum_speed;\n};\n\nstruct musb_hdrc_platform_data {\n\tu8 mode;\n\tconst char *clock;\n\tint (*set_vbus)(struct device *, int);\n\tu8 power;\n\tu8 min_power;\n\tu8 potpgt;\n\tunsigned int extvbus: 1;\n\tconst struct musb_hdrc_config *config;\n\tvoid *board_data;\n\tconst void *platform_ops;\n};\n\nstruct musb_pending_work {\n\tint (*callback)(struct musb *, void *);\n\tvoid *data;\n\tstruct list_head node;\n};\n\nstruct musb_platform_ops {\n\tu32 quirks;\n\tint (*init)(struct musb *);\n\tint (*exit)(struct musb *);\n\tvoid (*enable)(struct musb *);\n\tvoid (*disable)(struct musb *);\n\tu32 (*ep_offset)(u8, u16);\n\tvoid (*ep_select)(void *, u8);\n\tu16 fifo_mode;\n\tu32 (*fifo_offset)(u8);\n\tu32 (*busctl_offset)(u8, u16);\n\tu8 (*readb)(void *, u32);\n\tvoid (*writeb)(void *, u32, u8);\n\tu8 (*clearb)(void *, u32);\n\tu16 (*readw)(void *, u32);\n\tvoid (*writew)(void *, u32, u16);\n\tu16 (*clearw)(void *, u32);\n\tvoid (*read_fifo)(struct musb_hw_ep *, u16, u8 *);\n\tvoid (*write_fifo)(struct musb_hw_ep *, u16, const u8 *);\n\tu16 (*get_toggle)(struct musb_qh *, int);\n\tu16 (*set_toggle)(struct musb_qh *, int, struct urb *);\n\tstruct dma_controller * (*dma_init)(struct musb *, void *);\n\tvoid (*dma_exit)(struct dma_controller *);\n\tint (*set_mode)(struct musb *, u8);\n\tvoid (*try_idle)(struct musb *, long unsigned int);\n\tint (*recover)(struct musb *);\n\tint (*vbus_status)(struct musb *);\n\tvoid (*set_vbus)(struct musb *, int);\n\tvoid (*pre_root_reset_end)(struct musb *);\n\tvoid (*post_root_reset_end)(struct musb *);\n\tint (*phy_callback)(enum musb_vbus_id_status);\n\tvoid (*clear_ep_rxintr)(struct musb *, int);\n};\n\nstruct musb_qh {\n\tstruct usb_host_endpoint *hep;\n\tstruct usb_device *dev;\n\tstruct musb_hw_ep *hw_ep;\n\tstruct list_head ring;\n\tu8 mux;\n\tunsigned int offset;\n\tunsigned int segsize;\n\tu8 type_reg;\n\tu8 intv_reg;\n\tu8 addr_reg;\n\tu8 h_addr_reg;\n\tu8 h_port_reg;\n\tu8 is_ready;\n\tu8 type;\n\tu8 epnum;\n\tu8 hb_mult;\n\tu16 maxpacket;\n\tu16 frame;\n\tunsigned int iso_idx;\n\tstruct sg_mapping_iter sg_miter;\n\tbool use_sg;\n};\n\nstruct musb_register_map {\n\tchar *name;\n\tunsigned int offset;\n\tunsigned int size;\n};\n\nstruct musb_request {\n\tstruct usb_request request;\n\tstruct list_head list;\n\tstruct musb_ep *ep;\n\tstruct musb *musb;\n\tu8 tx;\n\tu8 epnum;\n\tenum buffer_map_state map_state;\n};\n\nstruct musb_temp_buffer {\n\tvoid *kmalloc_ptr;\n\tvoid *old_xfer_buffer;\n\tu8 data[0];\n};\n\ntypedef struct mutex *class_mutex_t;\n\ntypedef class_mutex_t class_mutex_intr_t;\n\nstruct mutex_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tstruct ww_acquire_ctx *ww_ctx;\n};\n\nstruct mux_control_ops;\n\nstruct mux_chip {\n\tunsigned int controllers;\n\tstruct mux_control *mux;\n\tstruct device dev;\n\tint id;\n\tconst struct mux_control_ops *ops;\n};\n\nstruct mux_control {\n\tstruct semaphore lock;\n\tstruct mux_chip *chip;\n\tint cached_state;\n\tunsigned int states;\n\tint idle_state;\n\tktime_t last_change;\n};\n\nstruct mux_control_ops {\n\tint (*set)(struct mux_control *, int);\n};\n\nstruct mux_hwclock {\n\tstruct clk_hw hw;\n\tstruct clockgen *cg;\n\tconst struct clockgen_muxinfo *info;\n\tu32 *reg;\n\tu8 parent_to_clksel[16];\n\ts8 clksel_to_parent[16];\n\tint num_parents;\n};\n\nstruct mux_state {\n\tstruct mux_control *mux;\n\tunsigned int state;\n};\n\nstruct mv3310_mactype;\n\nstruct mv3310_chip {\n\tbool (*has_downshift)(struct phy_device *);\n\tvoid (*init_supported_interfaces)(long unsigned int *);\n\tint (*get_mactype)(struct phy_device *);\n\tint (*set_mactype)(struct phy_device *, int);\n\tint (*select_mactype)(long unsigned int *);\n\tconst struct mv3310_mactype *mactypes;\n\tsize_t n_mactypes;\n\tint (*hwmon_read_temp_reg)(struct phy_device *);\n};\n\nstruct mv3310_mactype {\n\tbool valid;\n\tbool fixed_interface;\n\tphy_interface_t interface_10g;\n};\n\nstruct mv3310_priv {\n\tlong unsigned int supported_interfaces[1];\n\tconst struct mv3310_mactype *mactype;\n\tu32 firmware_ver;\n\tbool has_downshift;\n\tstruct device *hwmon_dev;\n\tchar *hwmon_name;\n};\n\nstruct mv64xxx_i2c_regs {\n\tu8 addr;\n\tu8 ext_addr;\n\tu8 data;\n\tu8 control;\n\tu8 status;\n\tu8 clock;\n\tu8 soft_reset;\n};\n\nstruct mv64xxx_i2c_data {\n\tstruct i2c_msg *msgs;\n\tint num_msgs;\n\tint irq;\n\tu32 state;\n\tu32 action;\n\tu32 aborting;\n\tu32 cntl_bits;\n\tvoid *reg_base;\n\tstruct mv64xxx_i2c_regs reg_offsets;\n\tu32 addr1;\n\tu32 addr2;\n\tu32 bytes_left;\n\tu32 byte_posn;\n\tu32 send_stop;\n\tu32 block;\n\tint rc;\n\tu32 freq_m;\n\tu32 freq_n;\n\tstruct clk *clk;\n\tstruct clk *reg_clk;\n\twait_queue_head_t waitq;\n\tspinlock_t lock;\n\tstruct i2c_msg *msg;\n\tstruct i2c_adapter adapter;\n\tbool offload_enabled;\n\tbool errata_delay;\n\tstruct reset_control *rstc;\n\tbool irq_clear_inverted;\n\tbool clk_n_base_0;\n\tstruct i2c_bus_recovery_info rinfo;\n\tbool atomic;\n};\n\nstruct mv64xxx_i2c_pdata {\n\tu32 freq_m;\n\tu32 freq_n;\n\tu32 timeout;\n};\n\nstruct mv88q2xxx_priv {\n\tbool enable_temp;\n};\n\nstruct mv_xor_device;\n\nstruct mv_xor_chan {\n\tint pending;\n\tspinlock_t lock;\n\tvoid *mmr_base;\n\tvoid *mmr_high_base;\n\tunsigned int idx;\n\tint irq;\n\tstruct list_head chain;\n\tstruct list_head free_slots;\n\tstruct list_head allocated_slots;\n\tstruct list_head completed_slots;\n\tdma_addr_t dma_desc_pool;\n\tvoid *dma_desc_pool_virt;\n\tsize_t pool_size;\n\tstruct dma_device dmadev;\n\tstruct dma_chan dmachan;\n\tint slots_allocated;\n\tstruct tasklet_struct irq_tasklet;\n\tint op_in_desc;\n\tchar dummy_src[128];\n\tchar dummy_dst[128];\n\tdma_addr_t dummy_src_addr;\n\tdma_addr_t dummy_dst_addr;\n\tu32 saved_config_reg;\n\tu32 saved_int_mask_reg;\n\tstruct mv_xor_device *xordev;\n};\n\nstruct mv_xor_channel_data {\n\tdma_cap_mask_t cap_mask;\n};\n\nstruct mv_xor_desc {\n\tu32 status;\n\tu32 crc32_result;\n\tu32 desc_command;\n\tu32 phy_next_desc;\n\tu32 byte_count;\n\tu32 phy_dest_addr;\n\tu32 phy_src_addr[8];\n\tu32 reserved0;\n\tu32 reserved1;\n};\n\nstruct mv_xor_desc_slot {\n\tstruct list_head node;\n\tstruct list_head sg_tx_list;\n\tenum dma_transaction_type type;\n\tvoid *hw_desc;\n\tu16 idx;\n\tstruct dma_async_tx_descriptor async_tx;\n};\n\nstruct mv_xor_device {\n\tvoid *xor_base;\n\tvoid *xor_high_base;\n\tstruct clk *clk;\n\tstruct mv_xor_chan *channels[2];\n\tint xor_type;\n\tu32 win_start[8];\n\tu32 win_end[8];\n};\n\nstruct mv_xor_platform_data {\n\tstruct mv_xor_channel_data *channels;\n};\n\nstruct mv_xor_v2_descriptor {\n\tu16 desc_id;\n\tu16 flags;\n\tu32 crc32_result;\n\tu32 desc_ctrl;\n\tu32 buff_size;\n\tu32 fill_pattern_src_addr[4];\n\tu32 data_buff_addr[12];\n\tu32 reserved[12];\n};\n\nstruct mv_xor_v2_sw_desc;\n\nstruct mv_xor_v2_device {\n\tspinlock_t lock;\n\tvoid *dma_base;\n\tvoid *glob_base;\n\tstruct clk *clk;\n\tstruct clk *reg_clk;\n\tstruct tasklet_struct irq_tasklet;\n\tstruct list_head free_sw_desc;\n\tstruct dma_device dmadev;\n\tstruct dma_chan dmachan;\n\tdma_addr_t hw_desq;\n\tstruct mv_xor_v2_descriptor *hw_desq_virt;\n\tstruct mv_xor_v2_sw_desc *sw_desq;\n\tint desc_size;\n\tunsigned int npendings;\n\tunsigned int hw_queue_idx;\n\tunsigned int irq;\n};\n\nstruct mv_xor_v2_sw_desc {\n\tint idx;\n\tstruct dma_async_tx_descriptor async_tx;\n\tstruct mv_xor_v2_descriptor hw_desc;\n\tstruct list_head free_list;\n};\n\nstruct mvebu_a3700_comphy_conf {\n\tunsigned int lane;\n\tenum phy_mode mode;\n\tint submode;\n};\n\nstruct mvebu_a3700_comphy_priv;\n\nstruct mvebu_a3700_comphy_lane {\n\tstruct mvebu_a3700_comphy_priv *priv;\n\tstruct device *dev;\n\tunsigned int id;\n\tenum phy_mode mode;\n\tint submode;\n\tbool invert_tx;\n\tbool invert_rx;\n};\n\nstruct mvebu_a3700_comphy_priv {\n\tvoid *comphy_regs;\n\tvoid *lane0_phy_regs;\n\tvoid *lane1_phy_regs;\n\tvoid *lane2_phy_indirect;\n\tspinlock_t lock;\n\tbool xtal_is_40m;\n};\n\nstruct mvebu_a3700_utmi_caps;\n\nstruct mvebu_a3700_utmi {\n\tvoid *regs;\n\tstruct regmap *usb_misc;\n\tconst struct mvebu_a3700_utmi_caps *caps;\n\tstruct phy *phy;\n};\n\nstruct mvebu_a3700_utmi_caps {\n\tint usb32;\n\tconst struct phy_ops *ops;\n};\n\nstruct mvebu_comphy_conf {\n\tenum phy_mode mode;\n\tint submode;\n\tunsigned int lane;\n\tunsigned int port;\n\tu32 mux;\n\tu32 fw_mode;\n};\n\nstruct mvebu_comphy_priv;\n\nstruct mvebu_comphy_lane {\n\tstruct mvebu_comphy_priv *priv;\n\tunsigned int id;\n\tenum phy_mode mode;\n\tint submode;\n\tint port;\n};\n\nstruct mvebu_comphy_priv {\n\tvoid *base;\n\tstruct regmap *regmap;\n\tstruct device *dev;\n\tstruct clk *mg_domain_clk;\n\tstruct clk *mg_core_clk;\n\tstruct clk *axi_clk;\n\tlong unsigned int cp_phys;\n};\n\nstruct mvebu_gicp_spi_range;\n\nstruct mvebu_gicp {\n\tstruct mvebu_gicp_spi_range *spi_ranges;\n\tunsigned int spi_ranges_cnt;\n\tunsigned int spi_cnt;\n\tlong unsigned int *spi_bitmap;\n\tspinlock_t spi_lock;\n\tstruct resource *res;\n\tstruct device *dev;\n};\n\nstruct mvebu_gicp_spi_range {\n\tunsigned int start;\n\tunsigned int count;\n};\n\nstruct mvebu_pwm;\n\nstruct mvebu_gpio_chip {\n\tstruct gpio_chip chip;\n\tstruct regmap *regs;\n\tu32 offset;\n\tstruct regmap *percpu_regs;\n\tint irqbase;\n\tstruct irq_domain *domain;\n\tint soc_variant;\n\tstruct clk *clk;\n\tstruct mvebu_pwm *mvpwm;\n\tu32 out_reg;\n\tu32 io_conf_reg;\n\tu32 blink_en_reg;\n\tu32 in_pol_reg;\n\tu32 edge_mask_regs[4];\n\tu32 level_mask_regs[4];\n};\n\nstruct mvebu_icu {\n\tvoid *base;\n\tstruct device *dev;\n};\n\nstruct mvebu_icu_subset_data;\n\nstruct mvebu_icu_msi_data {\n\tstruct mvebu_icu *icu;\n\tatomic_t initialized;\n\tconst struct mvebu_icu_subset_data *subset_data;\n};\n\nstruct mvebu_icu_subset_data {\n\tunsigned int icu_group;\n\tunsigned int offset_set_ah;\n\tunsigned int offset_set_al;\n\tunsigned int offset_clr_ah;\n\tunsigned int offset_clr_al;\n};\n\nstruct mvebu_mpp_ctrl_data;\n\nstruct mvebu_mpp_ctrl {\n\tconst char *name;\n\tu8 pid;\n\tu8 npins;\n\tunsigned int *pins;\n\tint (*mpp_get)(struct mvebu_mpp_ctrl_data *, unsigned int, long unsigned int *);\n\tint (*mpp_set)(struct mvebu_mpp_ctrl_data *, unsigned int, long unsigned int);\n\tint (*mpp_gpio_req)(struct mvebu_mpp_ctrl_data *, unsigned int);\n\tint (*mpp_gpio_dir)(struct mvebu_mpp_ctrl_data *, unsigned int, bool);\n};\n\nstruct mvebu_mpp_ctrl_data {\n\tunion {\n\t\tvoid *base;\n\t\tstruct {\n\t\t\tstruct regmap *map;\n\t\t\tu32 offset;\n\t\t} regmap;\n\t};\n};\n\nstruct mvebu_mpp_ctrl_setting {\n\tu8 val;\n\tconst char *name;\n\tconst char *subname;\n\tu8 variant;\n\tu8 flags;\n};\n\nstruct mvebu_mpp_mode {\n\tu8 pid;\n\tstruct mvebu_mpp_ctrl_setting *settings;\n};\n\nstruct mvebu_pic {\n\tvoid *base;\n\tu32 parent_irq;\n\tstruct irq_domain *domain;\n\tstruct platform_device *pdev;\n};\n\nstruct mvebu_pinctrl_group;\n\nstruct mvebu_pinctrl_function;\n\nstruct mvebu_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctldev;\n\tstruct pinctrl_desc desc;\n\tstruct mvebu_pinctrl_group *groups;\n\tunsigned int num_groups;\n\tstruct mvebu_pinctrl_function *functions;\n\tunsigned int num_functions;\n\tu8 variant;\n};\n\nstruct mvebu_pinctrl_function {\n\tconst char *name;\n\tconst char **groups;\n\tunsigned int num_groups;\n};\n\nstruct mvebu_pinctrl_group {\n\tconst char *name;\n\tconst struct mvebu_mpp_ctrl *ctrl;\n\tstruct mvebu_mpp_ctrl_data *data;\n\tstruct mvebu_mpp_ctrl_setting *settings;\n\tunsigned int num_settings;\n\tunsigned int gid;\n\tunsigned int *pins;\n\tunsigned int npins;\n};\n\nstruct mvebu_pinctrl_soc_info {\n\tu8 variant;\n\tconst struct mvebu_mpp_ctrl *controls;\n\tstruct mvebu_mpp_ctrl_data *control_data;\n\tint ncontrols;\n\tstruct mvebu_mpp_mode *modes;\n\tint nmodes;\n\tstruct pinctrl_gpio_range *gpioranges;\n\tint ngpioranges;\n};\n\nstruct mvebu_pwm {\n\tstruct regmap *regs;\n\tu32 offset;\n\tlong unsigned int clk_rate;\n\tstruct gpio_desc *gpiod;\n\tspinlock_t lock;\n\tstruct mvebu_gpio_chip *mvchip;\n\tu32 blink_select;\n\tu32 blink_on_duration;\n\tu32 blink_off_duration;\n};\n\nstruct mvebu_sei_caps;\n\nstruct mvebu_sei {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct resource *res;\n\tstruct irq_domain *sei_domain;\n\tstruct irq_domain *ap_domain;\n\tstruct irq_domain *cp_domain;\n\tconst struct mvebu_sei_caps *caps;\n\tstruct mutex cp_msi_lock;\n\tlong unsigned int cp_msi_bitmap[1];\n\traw_spinlock_t mask_lock;\n};\n\nstruct mvebu_sei_interrupt_range {\n\tu32 first;\n\tu32 size;\n};\n\nstruct mvebu_sei_caps {\n\tstruct mvebu_sei_interrupt_range ap_range;\n\tstruct mvebu_sei_interrupt_range cp_range;\n};\n\nstruct mvebu_uart_pm_regs {\n\tunsigned int rbr;\n\tunsigned int tsh;\n\tunsigned int ctrl;\n\tunsigned int intr;\n\tunsigned int stat;\n\tunsigned int brdv;\n\tunsigned int osamp;\n};\n\nstruct mvebu_uart_driver_data;\n\nstruct mvebu_uart {\n\tstruct uart_port *port;\n\tstruct clk *clk;\n\tint irq[2];\n\tstruct mvebu_uart_driver_data *data;\n\tstruct mvebu_uart_pm_regs pm_regs;\n};\n\nstruct mvebu_uart_clock {\n\tstruct clk_hw clk_hw;\n\tint clock_idx;\n\tu32 pm_context_reg1;\n\tu32 pm_context_reg2;\n};\n\nstruct mvebu_uart_clock_base {\n\tstruct mvebu_uart_clock clocks[2];\n\tunsigned int parent_rates[5];\n\tint parent_idx;\n\tunsigned int div;\n\tvoid *reg1;\n\tvoid *reg2;\n\tbool configured;\n};\n\nstruct uart_regs_layout {\n\tunsigned int rbr;\n\tunsigned int tsh;\n\tunsigned int ctrl;\n\tunsigned int intr;\n};\n\nstruct uart_flags {\n\tunsigned int ctrl_tx_rdy_int;\n\tunsigned int ctrl_rx_rdy_int;\n\tunsigned int stat_tx_rdy;\n\tunsigned int stat_rx_rdy;\n};\n\nstruct mvebu_uart_driver_data {\n\tbool is_ext;\n\tstruct uart_regs_layout regs;\n\tstruct uart_flags flags;\n};\n\nstruct mvneta_bm_pool;\n\nstruct mvneta_bm {\n\tvoid *reg_base;\n\tstruct clk *clk;\n\tstruct platform_device *pdev;\n\tstruct gen_pool *bppi_pool;\n\tvoid *bppi_virt_addr;\n\tdma_addr_t bppi_phys_addr;\n\tstruct mvneta_bm_pool *bm_pools;\n};\n\nstruct mvneta_bm_pool {\n\tstruct hwbm_pool hwbm_pool;\n\tu8 id;\n\tenum mvneta_bm_type type;\n\tint pkt_size;\n\tu32 buf_size;\n\tu32 *virt_addr;\n\tdma_addr_t phys_addr;\n\tu8 port_map;\n\tstruct mvneta_bm *priv;\n};\n\nstruct mvneta_stats {\n\tu64 rx_packets;\n\tu64 rx_bytes;\n\tu64 tx_packets;\n\tu64 tx_bytes;\n\tu64 xdp_redirect;\n\tu64 xdp_pass;\n\tu64 xdp_drop;\n\tu64 xdp_xmit;\n\tu64 xdp_xmit_err;\n\tu64 xdp_tx;\n\tu64 xdp_tx_err;\n};\n\nstruct mvneta_ethtool_stats {\n\tstruct mvneta_stats ps;\n\tu64 skb_alloc_error;\n\tu64 refill_error;\n};\n\nstruct mvneta_port;\n\nstruct mvneta_pcpu_port {\n\tstruct mvneta_port *pp;\n\tstruct napi_struct napi;\n\tu32 cause_rx_tx;\n};\n\nstruct mvneta_pcpu_stats {\n\tstruct u64_stats_sync syncp;\n\tstruct mvneta_ethtool_stats es;\n\tu64 rx_dropped;\n\tu64 rx_errors;\n};\n\nstruct mvneta_rx_queue;\n\nstruct mvneta_tx_queue;\n\nstruct mvneta_port {\n\tu8 id;\n\tstruct mvneta_pcpu_port *ports;\n\tstruct mvneta_pcpu_stats *stats;\n\tlong unsigned int state;\n\tint pkt_size;\n\tvoid *base;\n\tstruct mvneta_rx_queue *rxqs;\n\tstruct mvneta_tx_queue *txqs;\n\tstruct net_device *dev;\n\tstruct hlist_node node_online;\n\tstruct hlist_node node_dead;\n\tint rxq_def;\n\tspinlock_t lock;\n\tbool is_stopped;\n\tu32 cause_rx_tx;\n\tstruct napi_struct napi;\n\tstruct bpf_prog *xdp_prog;\n\tstruct clk *clk;\n\tstruct clk *clk_bus;\n\tu8 mcast_count[256];\n\tu16 tx_ring_size;\n\tu16 rx_ring_size;\n\tphy_interface_t phy_interface;\n\tstruct device_node *dn;\n\tunsigned int tx_csum_limit;\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n\tstruct phylink_pcs phylink_pcs;\n\tstruct phy *comphy;\n\tstruct mvneta_bm *bm_priv;\n\tstruct mvneta_bm_pool *pool_long;\n\tstruct mvneta_bm_pool *pool_short;\n\tint bm_win_id;\n\tu64 ethtool_stats[42];\n\tu32 indir[1];\n\tbool neta_armada3700;\n\tbool neta_ac5;\n\tu16 rx_offset_correction;\n\tconst struct mbus_dram_target_info *dram_target_info;\n};\n\nstruct mvneta_rx_desc {\n\tu32 status;\n\tu16 reserved1;\n\tu16 data_size;\n\tu32 buf_phys_addr;\n\tu32 reserved2;\n\tu32 buf_cookie;\n\tu16 reserved3;\n\tu16 reserved4;\n\tu32 reserved5;\n\tu32 reserved6;\n};\n\nstruct mvneta_rx_queue {\n\tu8 id;\n\tint size;\n\tu32 pkts_coal;\n\tu32 time_coal;\n\tstruct page_pool *page_pool;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n\tvoid **buf_virt_addr;\n\tstruct mvneta_rx_desc *descs;\n\tdma_addr_t descs_phys;\n\tint last_desc;\n\tint next_desc_to_proc;\n\tint first_to_refill;\n\tu32 refill_num;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct mvneta_statistic {\n\tshort unsigned int offset;\n\tshort unsigned int type;\n\tconst char name[32];\n};\n\nstruct mvneta_tx_buf {\n\tenum mvneta_tx_buf_type type;\n\tunion {\n\t\tstruct xdp_frame *xdpf;\n\t\tstruct sk_buff *skb;\n\t};\n};\n\nstruct mvneta_tx_desc {\n\tu32 command;\n\tu16 reserved1;\n\tu16 data_size;\n\tu32 buf_phys_addr;\n\tu32 reserved2;\n\tu32 reserved3[4];\n};\n\nstruct mvneta_tx_queue {\n\tu8 id;\n\tint size;\n\tint count;\n\tint pending;\n\tint tx_stop_threshold;\n\tint tx_wake_threshold;\n\tstruct mvneta_tx_buf *buf;\n\tint txq_put_index;\n\tint txq_get_index;\n\tu32 done_pkts_coal;\n\tstruct mvneta_tx_desc *descs;\n\tdma_addr_t descs_phys;\n\tint last_desc;\n\tint next_desc_to_proc;\n\tchar *tso_hdrs[32];\n\tdma_addr_t tso_hdrs_phys[32];\n\tcpumask_t affinity_mask;\n};\n\nstruct mvpp2_tai;\n\nstruct mvpp2_port;\n\nstruct mvpp2_tx_queue;\n\nstruct mvpp2_bm_pool;\n\nstruct mvpp2_prs_shadow;\n\nstruct mvpp2_dbgfs_entries;\n\nstruct mvpp2_rss_table;\n\nstruct mvpp2 {\n\tvoid *lms_base;\n\tvoid *iface_base;\n\tvoid *cm3_base;\n\tvoid *swth_base[9];\n\tstruct regmap *sysctrl_base;\n\tstruct clk *pp_clk;\n\tstruct clk *gop_clk;\n\tstruct clk *mg_clk;\n\tstruct clk *mg_core_clk;\n\tstruct clk *axi_clk;\n\tint port_count;\n\tstruct mvpp2_port *port_list[4];\n\tlong unsigned int port_map;\n\tstruct mvpp2_tai *tai;\n\tunsigned int nthreads;\n\tlong unsigned int lock_map;\n\tstruct mvpp2_tx_queue *aggr_txqs;\n\tint percpu_pools;\n\tstruct mvpp2_bm_pool *bm_pools;\n\tstruct mvpp2_prs_shadow *prs_shadow;\n\tbool *prs_double_vlans;\n\tu32 tclk;\n\tenum {\n\t\tMVPP21 = 0,\n\t\tMVPP22 = 1,\n\t\tMVPP23 = 2,\n\t} hw_version;\n\tunsigned int max_port_rxqs;\n\tchar queue_name[31];\n\tstruct workqueue_struct *stats_queue;\n\tstruct dentry *dbgfs_dir;\n\tstruct mvpp2_dbgfs_entries *dbgfs_entries;\n\tstruct mvpp2_rss_table *rss_tables[8];\n\tstruct page_pool *page_pool[32];\n\tbool global_tx_fc;\n\tspinlock_t mss_spinlock;\n};\n\nstruct mvpp21_rx_desc {\n\t__le32 status;\n\t__le16 reserved1;\n\t__le16 data_size;\n\t__le32 buf_dma_addr;\n\t__le32 buf_cookie;\n\t__le16 reserved2;\n\t__le16 reserved3;\n\tu8 reserved4;\n\tu8 reserved5;\n\t__le16 reserved6;\n\t__le32 reserved7;\n\t__le32 reserved8;\n};\n\nstruct mvpp21_tx_desc {\n\t__le32 command;\n\tu8 packet_offset;\n\tu8 phys_txq;\n\t__le16 data_size;\n\t__le32 buf_dma_addr;\n\t__le32 buf_cookie;\n\t__le32 reserved1[3];\n\t__le32 reserved2;\n};\n\nstruct mvpp22_rx_desc {\n\t__le32 status;\n\t__le16 reserved1;\n\t__le16 data_size;\n\t__le32 reserved2;\n\t__le32 timestamp;\n\t__le64 buf_dma_addr_key_hash;\n\t__le64 buf_cookie_misc;\n};\n\nstruct mvpp22_tx_desc {\n\t__le32 command;\n\tu8 packet_offset;\n\tu8 phys_txq;\n\t__le16 data_size;\n\t__le32 ptp_descriptor;\n\t__le32 reserved2;\n\t__le64 buf_dma_addr_ptp;\n\t__le64 buf_cookie_misc;\n};\n\nstruct mvpp2_bm_pool {\n\tint id;\n\tint size;\n\tint size_bytes;\n\tint buf_num;\n\tint buf_size;\n\tint pkt_size;\n\tint frag_size;\n\tu32 *virt_addr;\n\tdma_addr_t dma_addr;\n\tu32 port_map;\n};\n\nstruct mvpp2_buff_hdr {\n\t__le32 next_phys_addr;\n\t__le32 next_dma_addr;\n\t__le16 byte_count;\n\t__le16 info;\n\t__le16 reserved1;\n\tu8 next_phys_addr_high;\n\tu8 next_dma_addr_high;\n\t__le16 reserved2;\n\t__le16 reserved3;\n\t__le16 reserved4;\n\t__le16 reserved5;\n};\n\nstruct mvpp2_cls_c2_entry {\n\tu32 index;\n\tu32 tcam[5];\n\tu32 act;\n\tu32 attr[5];\n\tu8 valid;\n};\n\nstruct mvpp2_prs_result_info {\n\tu32 ri;\n\tu32 ri_mask;\n};\n\nstruct mvpp2_cls_flow {\n\tint flow_type;\n\tu16 flow_id;\n\tu16 supported_hash_opts;\n\tstruct mvpp2_prs_result_info prs_ri;\n};\n\nstruct mvpp2_cls_flow_entry {\n\tu32 index;\n\tu32 data[3];\n};\n\nstruct mvpp2_cls_lookup_entry {\n\tu32 lkpid;\n\tu32 way;\n\tu32 data;\n};\n\nstruct mvpp2_dbgfs_c2_entry {\n\tint id;\n\tstruct mvpp2 *priv;\n};\n\nstruct mvpp2_dbgfs_prs_entry {\n\tint tid;\n\tstruct mvpp2 *priv;\n};\n\nstruct mvpp2_dbgfs_flow_tbl_entry {\n\tint id;\n\tstruct mvpp2 *priv;\n};\n\nstruct mvpp2_dbgfs_flow_entry {\n\tint flow;\n\tstruct mvpp2 *priv;\n};\n\nstruct mvpp2_dbgfs_port_flow_entry {\n\tstruct mvpp2_port *port;\n\tstruct mvpp2_dbgfs_flow_entry *dbg_fe;\n};\n\nstruct mvpp2_dbgfs_entries {\n\tstruct mvpp2_dbgfs_prs_entry prs_entries[256];\n\tstruct mvpp2_dbgfs_c2_entry c2_entries[256];\n\tstruct mvpp2_dbgfs_flow_tbl_entry flt_entries[512];\n\tstruct mvpp2_dbgfs_flow_entry flow_entries[52];\n\tstruct mvpp2_dbgfs_port_flow_entry port_flow_entries[4];\n};\n\nstruct mvpp2_ethtool_counter {\n\tunsigned int offset;\n\tconst char string[32];\n\tbool reg_is_64b;\n};\n\nstruct mvpp2_rfs_rule {\n\tint loc;\n\tint flow_type;\n\tint c2_index;\n\tu16 hek_fields;\n\tu8 engine;\n\tu64 c2_tcam;\n\tu64 c2_tcam_mask;\n\tstruct flow_rule *flow;\n};\n\nstruct mvpp2_ethtool_fs {\n\tstruct mvpp2_rfs_rule rule;\n\tstruct ethtool_rxnfc rxnfc;\n};\n\nstruct mvpp2_hwtstamp_queue {\n\tstruct sk_buff *skb[32];\n\tu8 next;\n};\n\nstruct mvpp2_pcpu_stats {\n\tstruct u64_stats_sync syncp;\n\tu64 rx_packets;\n\tu64 rx_bytes;\n\tu64 tx_packets;\n\tu64 tx_bytes;\n\tu64 xdp_redirect;\n\tu64 xdp_pass;\n\tu64 xdp_drop;\n\tu64 xdp_xmit;\n\tu64 xdp_xmit_err;\n\tu64 xdp_tx;\n\tu64 xdp_tx_err;\n};\n\nstruct mvpp2_queue_vector {\n\tint irq;\n\tstruct napi_struct napi;\n\tenum {\n\t\tMVPP2_QUEUE_VECTOR_SHARED = 0,\n\t\tMVPP2_QUEUE_VECTOR_PRIVATE = 1,\n\t} type;\n\tint sw_thread_id;\n\tu16 sw_thread_mask;\n\tint first_rxq;\n\tint nrxqs;\n\tu32 pending_cause_rx;\n\tstruct mvpp2_port *port;\n\tstruct cpumask *mask;\n};\n\nstruct mvpp2_rx_queue;\n\nstruct mvpp2_port_pcpu;\n\nstruct mvpp2_port {\n\tu8 id;\n\tint gop_id;\n\tint port_irq;\n\tstruct mvpp2 *priv;\n\tstruct fwnode_handle *fwnode;\n\tvoid *base;\n\tvoid *stats_base;\n\tstruct mvpp2_rx_queue **rxqs;\n\tunsigned int nrxqs;\n\tstruct mvpp2_tx_queue **txqs;\n\tunsigned int ntxqs;\n\tstruct net_device *dev;\n\tstruct bpf_prog *xdp_prog;\n\tint pkt_size;\n\tstruct mvpp2_port_pcpu *pcpu;\n\tspinlock_t bm_lock[9];\n\tspinlock_t tx_lock[9];\n\tlong unsigned int flags;\n\tu16 tx_ring_size;\n\tu16 rx_ring_size;\n\tstruct mvpp2_pcpu_stats *stats;\n\tu64 *ethtool_stats;\n\tlong unsigned int state;\n\tstruct mutex gather_stats_lock;\n\tstruct delayed_work stats_work;\n\tstruct device_node *of_node;\n\tphy_interface_t phy_interface;\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n\tstruct phylink_pcs pcs_gmac;\n\tstruct phylink_pcs pcs_xlg;\n\tstruct phy *comphy;\n\tstruct mvpp2_bm_pool *pool_long;\n\tstruct mvpp2_bm_pool *pool_short;\n\tu8 first_rxq;\n\tstruct mvpp2_queue_vector qvecs[9];\n\tunsigned int nqvecs;\n\tbool has_tx_irqs;\n\tu32 tx_time_coal;\n\tstruct mvpp2_ethtool_fs *rfs_rules[4];\n\tint n_rfs_rules;\n\tint rss_ctx[8];\n\tbool hwtstamp;\n\tbool rx_hwtstamp;\n\tenum hwtstamp_tx_types tx_hwtstamp_type;\n\tstruct mvpp2_hwtstamp_queue tx_hwtstamp_queue[2];\n\tbool tx_fc;\n};\n\nstruct mvpp2_port_pcpu {\n\tstruct hrtimer tx_done_timer;\n\tstruct net_device *dev;\n\tbool timer_scheduled;\n};\n\nstruct mvpp2_prs_entry {\n\tu32 index;\n\tu32 tcam[6];\n\tu32 sram[4];\n};\n\nstruct mvpp2_prs_shadow {\n\tbool valid;\n\tbool finish;\n\tint lu;\n\tint udf;\n\tu32 ri;\n\tu32 ri_mask;\n};\n\nstruct mvpp2_rss_table {\n\tu32 indir[32];\n};\n\nstruct mvpp2_rx_desc {\n\tunion {\n\t\tstruct mvpp21_rx_desc pp21;\n\t\tstruct mvpp22_rx_desc pp22;\n\t};\n};\n\nstruct mvpp2_rx_queue {\n\tu8 id;\n\tint size;\n\tu32 pkts_coal;\n\tu32 time_coal;\n\tstruct mvpp2_rx_desc *descs;\n\tdma_addr_t descs_dma;\n\tint last_desc;\n\tint next_desc_to_proc;\n\tint port;\n\tint logic_rxq;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq_short;\n\tstruct xdp_rxq_info xdp_rxq_long;\n};\n\nstruct mvpp2_tx_desc {\n\tunion {\n\t\tstruct mvpp21_tx_desc pp21;\n\t\tstruct mvpp22_tx_desc pp22;\n\t};\n};\n\nstruct mvpp2_txq_pcpu;\n\nstruct mvpp2_tx_queue {\n\tu8 id;\n\tu8 log_id;\n\tint size;\n\tint count;\n\tstruct mvpp2_txq_pcpu *pcpu;\n\tu32 done_pkts_coal;\n\tstruct mvpp2_tx_desc *descs;\n\tdma_addr_t descs_dma;\n\tint last_desc;\n\tint next_desc_to_proc;\n};\n\nstruct mvpp2_txq_pcpu_buf;\n\nstruct mvpp2_txq_pcpu {\n\tunsigned int thread;\n\tint size;\n\tint count;\n\tint wake_threshold;\n\tint stop_threshold;\n\tint reserved_num;\n\tstruct mvpp2_txq_pcpu_buf *buffs;\n\tint txq_put_index;\n\tint txq_get_index;\n\tchar *tso_headers;\n\tdma_addr_t tso_headers_dma;\n};\n\nstruct mvpp2_txq_pcpu_buf {\n\tenum mvpp2_tx_buf_type type;\n\tunion {\n\t\tstruct xdp_frame *xdpf;\n\t\tstruct sk_buff *skb;\n\t};\n\tdma_addr_t dma;\n\tsize_t size;\n};\n\nstruct mxc_gpio_hwdata {\n\tunsigned int dr_reg;\n\tunsigned int gdir_reg;\n\tunsigned int psr_reg;\n\tunsigned int icr1_reg;\n\tunsigned int icr2_reg;\n\tunsigned int imr_reg;\n\tunsigned int isr_reg;\n\tint edge_sel_reg;\n\tunsigned int low_level;\n\tunsigned int high_level;\n\tunsigned int rise_edge;\n\tunsigned int fall_edge;\n};\n\nstruct mxc_gpio_reg_saved {\n\tu32 icr1;\n\tu32 icr2;\n\tu32 imr;\n\tu32 gdir;\n\tu32 edge_sel;\n\tu32 dr;\n};\n\nstruct mxc_gpio_port {\n\tstruct list_head node;\n\tvoid *base;\n\tstruct clk *clk;\n\tint irq;\n\tint irq_high;\n\tvoid (*mx_irq_handler)(struct irq_desc *);\n\tstruct irq_domain *domain;\n\tstruct gpio_chip gc;\n\tstruct device *dev;\n\tu32 both_edges;\n\tstruct mxc_gpio_reg_saved gpio_saved_reg;\n\tbool power_off;\n\tu32 wakeup_pads;\n\tbool is_pad_wakeup;\n\tu32 pad_type[32];\n\tconst struct mxc_gpio_hwdata *hwdata;\n};\n\nstruct my_u {\n\t__le64 a;\n\t__le64 b;\n};\n\nstruct my_u0 {\n\t__le64 a;\n\t__le64 b;\n};\n\nstruct my_u1 {\n\t__le64 a;\n\t__le64 b;\n\t__le64 c;\n\t__le64 d;\n};\n\nstruct n5x_perip_c_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tconst char * const *parent_names;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tlong unsigned int shift;\n};\n\nstruct n_tty_data {\n\tsize_t read_head;\n\tsize_t commit_head;\n\tsize_t canon_head;\n\tsize_t echo_head;\n\tsize_t echo_commit;\n\tsize_t echo_mark;\n\tlong unsigned int char_map[4];\n\tlong unsigned int overrun_time;\n\tunsigned int num_overrun;\n\tbool no_room;\n\tunsigned char lnext: 1;\n\tunsigned char erasing: 1;\n\tunsigned char raw: 1;\n\tunsigned char real_raw: 1;\n\tunsigned char icanon: 1;\n\tunsigned char push: 1;\n\tu8 read_buf[4096];\n\tlong unsigned int read_flags[64];\n\tu8 echo_buf[4096];\n\tsize_t read_tail;\n\tsize_t line_start;\n\tsize_t lookahead_count;\n\tunsigned int column;\n\tunsigned int canon_column;\n\tsize_t echo_tail;\n\tstruct mutex atomic_read_lock;\n\tstruct mutex output_lock;\n};\n\nstruct name_resp {\n\tchar name[16];\n};\n\nstruct saved {\n\tstruct path link;\n\tstruct delayed_call done;\n\tconst char *name;\n\tunsigned int seq;\n};\n\nstruct nameidata {\n\tstruct path path;\n\tstruct qstr last;\n\tstruct path root;\n\tstruct inode *inode;\n\tunsigned int flags;\n\tunsigned int state;\n\tunsigned int seq;\n\tunsigned int next_seq;\n\tunsigned int m_seq;\n\tunsigned int r_seq;\n\tint last_type;\n\tunsigned int depth;\n\tint total_link_count;\n\tstruct saved *stack;\n\tstruct saved internal[2];\n\tstruct filename *name;\n\tconst char *pathname;\n\tstruct nameidata *saved;\n\tunsigned int root_seq;\n\tint dfd;\n\tvfsuid_t dir_vfsuid;\n\tumode_t dir_mode;\n};\n\nstruct nand_bbt_descr {\n\tint options;\n\tint pages[8];\n\tint offs;\n\tint veroffs;\n\tuint8_t version[8];\n\tint len;\n\tint maxblocks;\n\tint reserved_block_code;\n\tuint8_t *pattern;\n};\n\nstruct nand_operation;\n\nstruct nand_controller_ops {\n\tint (*attach_chip)(struct nand_chip *);\n\tvoid (*detach_chip)(struct nand_chip *);\n\tint (*exec_op)(struct nand_chip *, const struct nand_operation *, bool);\n\tint (*setup_interface)(struct nand_chip *, int, const struct nand_interface_config *);\n};\n\nstruct nand_ecc_step_info;\n\nstruct nand_ecc_caps {\n\tconst struct nand_ecc_step_info *stepinfos;\n\tint nstepinfos;\n\tint (*calc_ecc_bytes)(int, int);\n};\n\nstruct nand_ecc_engine_ops;\n\nstruct nand_ecc_engine {\n\tstruct device *dev;\n\tstruct list_head node;\n\tconst struct nand_ecc_engine_ops *ops;\n\tenum nand_ecc_engine_integration integration;\n\tvoid *priv;\n};\n\nstruct nand_page_io_req;\n\nstruct nand_ecc_engine_ops {\n\tint (*init_ctx)(struct nand_device *);\n\tvoid (*cleanup_ctx)(struct nand_device *);\n\tint (*prepare_io_req)(struct nand_device *, struct nand_page_io_req *);\n\tint (*finish_io_req)(struct nand_device *, struct nand_page_io_req *);\n};\n\nstruct nand_pos {\n\tunsigned int target;\n\tunsigned int lun;\n\tunsigned int plane;\n\tunsigned int eraseblock;\n\tunsigned int page;\n};\n\nstruct nand_page_io_req {\n\tenum nand_page_io_req_type type;\n\tstruct nand_pos pos;\n\tunsigned int dataoffs;\n\tunsigned int datalen;\n\tunion {\n\t\tconst void *out;\n\t\tvoid *in;\n\t} databuf;\n\tunsigned int ooboffs;\n\tunsigned int ooblen;\n\tunion {\n\t\tconst void *out;\n\t\tvoid *in;\n\t} oobbuf;\n\tint mode;\n\tbool continuous;\n};\n\nstruct nand_ecc_req_tweak_ctx {\n\tstruct nand_page_io_req orig_req;\n\tstruct nand_device *nand;\n\tunsigned int page_buffer_size;\n\tunsigned int oob_buffer_size;\n\tvoid *spare_databuf;\n\tvoid *spare_oobbuf;\n\tbool bounce_data;\n\tbool bounce_oob;\n};\n\nstruct nand_ecc_step_info {\n\tint stepsize;\n\tconst int *strengths;\n\tint nstrengths;\n};\n\nstruct nand_ecc_sw_hamming_conf {\n\tstruct nand_ecc_req_tweak_ctx req_ctx;\n\tunsigned int code_size;\n\tu8 *calc_buf;\n\tu8 *code_buf;\n\tunsigned int sm_order;\n};\n\nstruct nand_oobfree {\n\t__u32 offset;\n\t__u32 length;\n};\n\nstruct nand_ecclayout_user {\n\t__u32 eccbytes;\n\t__u32 eccpos[64];\n\t__u32 oobavail;\n\tstruct nand_oobfree oobfree[8];\n};\n\nstruct nand_flash_dev {\n\tchar *name;\n\tunion {\n\t\tstruct {\n\t\t\tuint8_t mfr_id;\n\t\t\tuint8_t dev_id;\n\t\t};\n\t\tuint8_t id[8];\n\t};\n\tunsigned int pagesize;\n\tunsigned int chipsize;\n\tunsigned int erasesize;\n\tunsigned int options;\n\tuint16_t id_len;\n\tuint16_t oobsize;\n\tstruct {\n\t\tuint16_t strength_ds;\n\t\tuint16_t step_ds;\n\t} ecc;\n};\n\nstruct nand_sdr_timings {\n\tu64 tBERS_max;\n\tu32 tCCS_min;\n\tu64 tPROG_max;\n\tu64 tR_max;\n\tu32 tALH_min;\n\tu32 tADL_min;\n\tu32 tALS_min;\n\tu32 tAR_min;\n\tu32 tCEA_max;\n\tu32 tCEH_min;\n\tu32 tCH_min;\n\tu32 tCHZ_max;\n\tu32 tCLH_min;\n\tu32 tCLR_min;\n\tu32 tCLS_min;\n\tu32 tCOH_min;\n\tu32 tCS_min;\n\tu32 tDH_min;\n\tu32 tDS_min;\n\tu32 tFEAT_max;\n\tu32 tIR_min;\n\tu32 tITC_max;\n\tu32 tRC_min;\n\tu32 tREA_max;\n\tu32 tREH_min;\n\tu32 tRHOH_min;\n\tu32 tRHW_min;\n\tu32 tRHZ_max;\n\tu32 tRLOH_min;\n\tu32 tRP_min;\n\tu32 tRR_min;\n\tu64 tRST_max;\n\tu32 tWB_max;\n\tu32 tWC_min;\n\tu32 tWH_min;\n\tu32 tWHR_min;\n\tu32 tWP_min;\n\tu32 tWW_min;\n};\n\nstruct nand_nvddr_timings {\n\tu64 tBERS_max;\n\tu32 tCCS_min;\n\tu64 tPROG_max;\n\tu64 tR_max;\n\tu32 tAC_min;\n\tu32 tAC_max;\n\tu32 tADL_min;\n\tu32 tCAD_min;\n\tu32 tCAH_min;\n\tu32 tCALH_min;\n\tu32 tCALS_min;\n\tu32 tCAS_min;\n\tu32 tCEH_min;\n\tu32 tCH_min;\n\tu32 tCK_min;\n\tu32 tCS_min;\n\tu32 tDH_min;\n\tu32 tDQSCK_min;\n\tu32 tDQSCK_max;\n\tu32 tDQSD_min;\n\tu32 tDQSD_max;\n\tu32 tDQSHZ_max;\n\tu32 tDQSQ_max;\n\tu32 tDS_min;\n\tu32 tDSC_min;\n\tu32 tFEAT_max;\n\tu32 tITC_max;\n\tu32 tQHS_max;\n\tu32 tRHW_min;\n\tu32 tRR_min;\n\tu32 tRST_max;\n\tu32 tWB_max;\n\tu32 tWHR_min;\n\tu32 tWRCK_min;\n\tu32 tWW_min;\n};\n\nstruct nand_timings {\n\tunsigned int mode;\n\tunion {\n\t\tstruct nand_sdr_timings sdr;\n\t\tstruct nand_nvddr_timings nvddr;\n\t};\n};\n\nstruct nand_interface_config {\n\tenum nand_interface_type type;\n\tstruct nand_timings timings;\n};\n\nstruct nand_jedec_params {\n\tu8 sig[4];\n\t__le16 revision;\n\t__le16 features;\n\tu8 opt_cmd[3];\n\t__le16 sec_cmd;\n\tu8 num_of_param_pages;\n\tu8 reserved0[18];\n\tchar manufacturer[12];\n\tchar model[20];\n\tu8 jedec_id[6];\n\tu8 reserved1[10];\n\t__le32 byte_per_page;\n\t__le16 spare_bytes_per_page;\n\tu8 reserved2[6];\n\t__le32 pages_per_block;\n\t__le32 blocks_per_lun;\n\tu8 lun_count;\n\tu8 addr_cycles;\n\tu8 bits_per_cell;\n\tu8 programs_per_page;\n\tu8 multi_plane_addr;\n\tu8 multi_plane_op_attr;\n\tu8 reserved3[38];\n\t__le16 async_sdr_speed_grade;\n\t__le16 toggle_ddr_speed_grade;\n\t__le16 sync_ddr_speed_grade;\n\tu8 async_sdr_features;\n\tu8 toggle_ddr_features;\n\tu8 sync_ddr_features;\n\t__le16 t_prog;\n\t__le16 t_bers;\n\t__le16 t_r;\n\t__le16 t_r_multi_plane;\n\t__le16 t_ccs;\n\t__le16 io_pin_capacitance_typ;\n\t__le16 input_pin_capacitance_typ;\n\t__le16 clk_pin_capacitance_typ;\n\tu8 driver_strength_support;\n\t__le16 t_adl;\n\tu8 reserved4[36];\n\tu8 guaranteed_good_blocks;\n\t__le16 guaranteed_block_endurance;\n\tstruct jedec_ecc_info ecc_info[4];\n\tu8 reserved5[29];\n\tu8 reserved6[148];\n\t__le16 vendor_rev_num;\n\tu8 reserved7[88];\n\t__le16 crc;\n} __attribute__((packed));\n\nstruct nand_manufacturer_ops;\n\nstruct nand_manufacturer_desc {\n\tint id;\n\tchar *name;\n\tconst struct nand_manufacturer_ops *ops;\n};\n\nstruct nand_onfi_params;\n\nstruct nand_manufacturer_ops {\n\tvoid (*detect)(struct nand_chip *);\n\tint (*init)(struct nand_chip *);\n\tvoid (*cleanup)(struct nand_chip *);\n\tvoid (*fixup_onfi_param_page)(struct nand_chip *, struct nand_onfi_params *);\n};\n\nstruct nand_onfi_params {\n\tu8 sig[4];\n\t__le16 revision;\n\t__le16 features;\n\t__le16 opt_cmd;\n\tu8 reserved0[2];\n\t__le16 ext_param_page_length;\n\tu8 num_of_param_pages;\n\tu8 reserved1[17];\n\tchar manufacturer[12];\n\tchar model[20];\n\tu8 jedec_id;\n\t__le16 date_code;\n\tu8 reserved2[13];\n\t__le32 byte_per_page;\n\t__le16 spare_bytes_per_page;\n\t__le32 data_bytes_per_ppage;\n\t__le16 spare_bytes_per_ppage;\n\t__le32 pages_per_block;\n\t__le32 blocks_per_lun;\n\tu8 lun_count;\n\tu8 addr_cycles;\n\tu8 bits_per_cell;\n\t__le16 bb_per_lun;\n\t__le16 block_endurance;\n\tu8 guaranteed_good_blocks;\n\t__le16 guaranteed_block_endurance;\n\tu8 programs_per_page;\n\tu8 ppage_attr;\n\tu8 ecc_bits;\n\tu8 interleaved_bits;\n\tu8 interleaved_ops;\n\tu8 reserved3[13];\n\tu8 io_pin_capacitance_max;\n\t__le16 sdr_timing_modes;\n\t__le16 program_cache_timing_mode;\n\t__le16 t_prog;\n\t__le16 t_bers;\n\t__le16 t_r;\n\t__le16 t_ccs;\n\tu8 nvddr_timing_modes;\n\tu8 nvddr2_timing_modes;\n\tu8 nvddr_nvddr2_features;\n\t__le16 clk_pin_capacitance_typ;\n\t__le16 io_pin_capacitance_typ;\n\t__le16 input_pin_capacitance_typ;\n\tu8 input_pin_capacitance_max;\n\tu8 driver_strength_support;\n\t__le16 t_int_r;\n\t__le16 t_adl;\n\tu8 reserved4[8];\n\t__le16 vendor_revision;\n\tu8 vendor[88];\n\t__le16 crc;\n} __attribute__((packed));\n\nstruct nand_onfi_vendor_macronix {\n\tu8 reserved;\n\tu8 reliability_func;\n};\n\nstruct nand_onfi_vendor_micron {\n\tu8 two_plane_read;\n\tu8 read_cache;\n\tu8 read_unique_id;\n\tu8 dq_imped;\n\tu8 dq_imped_num_settings;\n\tu8 dq_imped_feat_addr;\n\tu8 rb_pulldown_strength;\n\tu8 rb_pulldown_strength_feat_addr;\n\tu8 rb_pulldown_strength_num_settings;\n\tu8 otp_mode;\n\tu8 otp_page_start;\n\tu8 otp_data_prot_addr;\n\tu8 otp_num_pages;\n\tu8 otp_feat_addr;\n\tu8 read_retry_options;\n\tu8 reserved[72];\n\tu8 param_revision;\n};\n\nstruct nand_oobinfo {\n\t__u32 useecc;\n\t__u32 eccbytes;\n\t__u32 oobfree[16];\n\t__u32 eccpos[32];\n};\n\nstruct nand_op_addr_instr {\n\tunsigned int naddrs;\n\tconst u8 *addrs;\n};\n\nstruct nand_op_cmd_instr {\n\tu8 opcode;\n};\n\nstruct nand_op_data_instr {\n\tunsigned int len;\n\tunion {\n\t\tvoid *in;\n\t\tconst void *out;\n\t} buf;\n\tbool force_8bit;\n};\n\nstruct nand_op_waitrdy_instr {\n\tunsigned int timeout_ms;\n};\n\nstruct nand_op_instr {\n\tenum nand_op_instr_type type;\n\tunion {\n\t\tstruct nand_op_cmd_instr cmd;\n\t\tstruct nand_op_addr_instr addr;\n\t\tstruct nand_op_data_instr data;\n\t\tstruct nand_op_waitrdy_instr waitrdy;\n\t} ctx;\n\tunsigned int delay_ns;\n};\n\nstruct nand_op_parser_pattern;\n\nstruct nand_op_parser {\n\tconst struct nand_op_parser_pattern *patterns;\n\tunsigned int npatterns;\n};\n\nstruct nand_op_parser_addr_constraints {\n\tunsigned int maxcycles;\n};\n\nstruct nand_subop {\n\tunsigned int cs;\n\tconst struct nand_op_instr *instrs;\n\tunsigned int ninstrs;\n\tunsigned int first_instr_start_off;\n\tunsigned int last_instr_end_off;\n};\n\nstruct nand_op_parser_ctx {\n\tconst struct nand_op_instr *instrs;\n\tunsigned int ninstrs;\n\tstruct nand_subop subop;\n};\n\nstruct nand_op_parser_data_constraints {\n\tunsigned int maxlen;\n};\n\nstruct nand_op_parser_pattern_elem;\n\nstruct nand_op_parser_pattern {\n\tconst struct nand_op_parser_pattern_elem *elems;\n\tunsigned int nelems;\n\tint (*exec)(struct nand_chip *, const struct nand_subop *);\n};\n\nstruct nand_op_parser_pattern_elem {\n\tenum nand_op_instr_type type;\n\tbool optional;\n\tunion {\n\t\tstruct nand_op_parser_addr_constraints addr;\n\t\tstruct nand_op_parser_data_constraints data;\n\t} ctx;\n};\n\nstruct nand_operation {\n\tunsigned int cs;\n\tbool deassert_wp;\n\tconst struct nand_op_instr *instrs;\n\tunsigned int ninstrs;\n};\n\nstruct nand_ops {\n\tint (*erase)(struct nand_device *, const struct nand_pos *);\n\tint (*markbad)(struct nand_device *, const struct nand_pos *);\n\tbool (*isbad)(struct nand_device *, const struct nand_pos *);\n};\n\nstruct nand_secure_region {\n\tu64 offset;\n\tu64 size;\n};\n\nstruct nandc_regs {\n\t__le32 cmd;\n\t__le32 addr0;\n\t__le32 addr1;\n\t__le32 chip_sel;\n\t__le32 exec;\n\t__le32 cfg0;\n\t__le32 cfg1;\n\t__le32 ecc_bch_cfg;\n\t__le32 clrflashstatus;\n\t__le32 clrreadstatus;\n\t__le32 cmd1;\n\t__le32 vld;\n\t__le32 orig_cmd1;\n\t__le32 orig_vld;\n\t__le32 ecc_buf_cfg;\n\t__le32 read_location0;\n\t__le32 read_location1;\n\t__le32 read_location2;\n\t__le32 read_location3;\n\t__le32 read_location_last0;\n\t__le32 read_location_last1;\n\t__le32 read_location_last2;\n\t__le32 read_location_last3;\n\t__le32 erased_cw_detect_cfg_clr;\n\t__le32 erased_cw_detect_cfg_set;\n};\n\nstruct page_frag_cache {\n\tlong unsigned int encoded_page;\n\t__u32 offset;\n\t__u32 pagecnt_bias;\n};\n\nstruct napi_alloc_cache {\n\tlocal_lock_t bh_lock;\n\tstruct page_frag_cache page;\n\tunsigned int skb_count;\n\tvoid *skb_cache[64];\n};\n\nstruct napi_config {\n\tu64 gro_flush_timeout;\n\tu64 irq_suspend_timeout;\n\tu32 defer_hard_irqs;\n\tunsigned int napi_id;\n};\n\nstruct napi_gro_cb {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *frag0;\n\t\t\tunsigned int frag0_len;\n\t\t};\n\t\tstruct {\n\t\t\tstruct sk_buff *last;\n\t\t\tlong unsigned int age;\n\t\t};\n\t};\n\tint data_offset;\n\tu16 flush;\n\tu16 count;\n\tu16 proto;\n\tu16 pad;\n\tunion {\n\t\tstruct {\n\t\t\tu16 gro_remcsum_start;\n\t\t\tu8 same_flow: 1;\n\t\t\tu8 encap_mark: 1;\n\t\t\tu8 csum_valid: 1;\n\t\t\tu8 csum_cnt: 3;\n\t\t\tu8 free: 2;\n\t\t\tu8 is_ipv6: 1;\n\t\t\tu8 is_fou: 1;\n\t\t\tu8 ip_fixedid: 1;\n\t\t\tu8 recursion_counter: 4;\n\t\t\tu8 is_flist: 1;\n\t\t};\n\t\tstruct {\n\t\t\tu16 gro_remcsum_start;\n\t\t\tu8 same_flow: 1;\n\t\t\tu8 encap_mark: 1;\n\t\t\tu8 csum_valid: 1;\n\t\t\tu8 csum_cnt: 3;\n\t\t\tu8 free: 2;\n\t\t\tu8 is_ipv6: 1;\n\t\t\tu8 is_fou: 1;\n\t\t\tu8 ip_fixedid: 1;\n\t\t\tu8 recursion_counter: 4;\n\t\t\tu8 is_flist: 1;\n\t\t} zeroed;\n\t};\n\t__wsum csum;\n\tunion {\n\t\tstruct {\n\t\t\tu16 network_offset;\n\t\t\tu16 inner_network_offset;\n\t\t};\n\t\tu16 network_offsets[2];\n\t};\n};\n\nstruct nbcon_state {\n\tunion {\n\t\tunsigned int atom;\n\t\tstruct {\n\t\t\tunsigned int prio: 2;\n\t\t\tunsigned int req_prio: 2;\n\t\t\tunsigned int unsafe: 1;\n\t\t\tunsigned int unsafe_takeover: 1;\n\t\t\tunsigned int cpu: 24;\n\t\t};\n\t};\n};\n\nstruct nbcon_write_context {\n\tstruct nbcon_context ctxt;\n\tchar *outbuf;\n\tunsigned int len;\n\tbool unsafe_takeover;\n};\n\nstruct nd_opt_hdr {\n\t__u8 nd_opt_type;\n\t__u8 nd_opt_len;\n};\n\nstruct nda_cacheinfo {\n\t__u32 ndm_confirmed;\n\t__u32 ndm_used;\n\t__u32 ndm_updated;\n\t__u32 ndm_refcnt;\n};\n\nstruct ndisc_options;\n\nstruct prefix_info;\n\nstruct ndisc_ops {\n\tint (*parse_options)(const struct net_device *, struct nd_opt_hdr *, struct ndisc_options *);\n\tvoid (*update)(const struct net_device *, struct neighbour *, u32, u8, const struct ndisc_options *);\n\tint (*opt_addr_space)(const struct net_device *, u8, struct neighbour *, u8 *, u8 **);\n\tvoid (*fill_addr_option)(const struct net_device *, struct sk_buff *, u8, const u8 *);\n\tvoid (*prefix_rcv_add_addr)(struct net *, struct net_device *, const struct prefix_info *, struct inet6_dev *, struct in6_addr *, int, u32, bool, bool, __u32, u32, bool);\n};\n\nstruct ndisc_options {\n\tstruct nd_opt_hdr *nd_opt_array[15];\n\tstruct nd_opt_hdr *nd_useropts;\n\tstruct nd_opt_hdr *nd_useropts_end;\n};\n\nstruct ndmsg {\n\t__u8 ndm_family;\n\t__u8 ndm_pad1;\n\t__u16 ndm_pad2;\n\t__s32 ndm_ifindex;\n\t__u16 ndm_state;\n\t__u8 ndm_flags;\n\t__u8 ndm_type;\n};\n\nstruct ndo_fdb_dump_context {\n\tlong unsigned int ifindex;\n\tlong unsigned int fdb_idx;\n};\n\nstruct ndt_config {\n\t__u16 ndtc_key_len;\n\t__u16 ndtc_entry_size;\n\t__u32 ndtc_entries;\n\t__u32 ndtc_last_flush;\n\t__u32 ndtc_last_rand;\n\t__u32 ndtc_hash_rnd;\n\t__u32 ndtc_hash_mask;\n\t__u32 ndtc_hash_chain_gc;\n\t__u32 ndtc_proxy_qlen;\n};\n\nstruct ndt_stats {\n\t__u64 ndts_allocs;\n\t__u64 ndts_destroys;\n\t__u64 ndts_hash_grows;\n\t__u64 ndts_res_failed;\n\t__u64 ndts_lookups;\n\t__u64 ndts_hits;\n\t__u64 ndts_rcv_probes_mcast;\n\t__u64 ndts_rcv_probes_ucast;\n\t__u64 ndts_periodic_gc_runs;\n\t__u64 ndts_forced_gc_runs;\n\t__u64 ndts_table_fulls;\n};\n\nstruct ndtmsg {\n\t__u8 ndtm_family;\n\t__u8 ndtm_pad1;\n\t__u16 ndtm_pad2;\n};\n\nstruct neigh_dump_filter {\n\tint master_idx;\n\tint dev_idx;\n};\n\nstruct neigh_hash_table {\n\tstruct hlist_head *hash_heads;\n\tunsigned int hash_shift;\n\t__u32 hash_rnd[4];\n\tstruct callback_head rcu;\n};\n\nstruct neigh_ops {\n\tint family;\n\tvoid (*solicit)(struct neighbour *, struct sk_buff *);\n\tvoid (*error_report)(struct neighbour *, struct sk_buff *);\n\tint (*output)(struct neighbour *, struct sk_buff *);\n\tint (*connected_output)(struct neighbour *, struct sk_buff *);\n};\n\nstruct neigh_parms {\n\tpossible_net_t net;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head list;\n\tint (*neigh_setup)(struct neighbour *);\n\tstruct neigh_table *tbl;\n\tvoid *sysctl_table;\n\tint dead;\n\trefcount_t refcnt;\n\tstruct callback_head callback_head;\n\tint reachable_time;\n\tu32 qlen;\n\tint data[14];\n\tlong unsigned int data_state[1];\n};\n\nstruct neigh_seq_state {\n\tstruct seq_net_private p;\n\tstruct neigh_table *tbl;\n\tstruct neigh_hash_table *nht;\n\tvoid * (*neigh_sub_iter)(struct neigh_seq_state *, struct neighbour *, loff_t *);\n\tunsigned int bucket;\n\tunsigned int flags;\n};\n\nstruct neigh_statistics {\n\tlong unsigned int allocs;\n\tlong unsigned int destroys;\n\tlong unsigned int hash_grows;\n\tlong unsigned int res_failed;\n\tlong unsigned int lookups;\n\tlong unsigned int hits;\n\tlong unsigned int rcv_probes_mcast;\n\tlong unsigned int rcv_probes_ucast;\n\tlong unsigned int periodic_gc_runs;\n\tlong unsigned int forced_gc_runs;\n\tlong unsigned int unres_discards;\n\tlong unsigned int table_fulls;\n};\n\nstruct neigh_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table neigh_vars[21];\n};\n\nstruct pneigh_entry;\n\nstruct neigh_table {\n\tint family;\n\tunsigned int entry_size;\n\tunsigned int key_len;\n\t__be16 protocol;\n\t__u32 (*hash)(const void *, const struct net_device *, __u32 *);\n\tbool (*key_eq)(const struct neighbour *, const void *);\n\tint (*constructor)(struct neighbour *);\n\tint (*pconstructor)(struct pneigh_entry *);\n\tvoid (*pdestructor)(struct pneigh_entry *);\n\tvoid (*proxy_redo)(struct sk_buff *);\n\tint (*is_multicast)(const void *);\n\tbool (*allow_add)(const struct net_device *, struct netlink_ext_ack *);\n\tchar *id;\n\tstruct neigh_parms parms;\n\tstruct list_head parms_list;\n\tint gc_interval;\n\tint gc_thresh1;\n\tint gc_thresh2;\n\tint gc_thresh3;\n\tlong unsigned int last_flush;\n\tstruct delayed_work gc_work;\n\tstruct delayed_work managed_work;\n\tstruct timer_list proxy_timer;\n\tstruct sk_buff_head proxy_queue;\n\tatomic_t entries;\n\tatomic_t gc_entries;\n\tstruct list_head gc_list;\n\tstruct list_head managed_list;\n\trwlock_t lock;\n\tlong unsigned int last_rand;\n\tstruct neigh_statistics *stats;\n\tstruct neigh_hash_table *nht;\n\tstruct pneigh_entry **phash_buckets;\n};\n\nstruct neighbour {\n\tstruct hlist_node hash;\n\tstruct hlist_node dev_list;\n\tstruct neigh_table *tbl;\n\tstruct neigh_parms *parms;\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\tunsigned int arp_queue_len_bytes;\n\tstruct sk_buff_head arp_queue;\n\tstruct timer_list timer;\n\tlong unsigned int used;\n\tatomic_t probes;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tu8 protocol;\n\tu32 flags;\n\tseqlock_t ha_lock;\n\tlong: 0;\n\tunsigned char ha[32];\n\tstruct hh_cache hh;\n\tint (*output)(struct neighbour *, struct sk_buff *);\n\tconst struct neigh_ops *ops;\n\tstruct list_head gc_list;\n\tstruct list_head managed_list;\n\tstruct callback_head rcu;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu8 primary_key[0];\n};\n\nstruct neighbour_cb {\n\tlong unsigned int sched_next;\n\tunsigned int flags;\n};\n\nunion nested_table {\n\tunion nested_table *table;\n\tstruct rhash_lock_head *bucket;\n};\n\nstruct ref_tracker_dir {};\n\nstruct prot_inuse;\n\nstruct netns_core {\n\tstruct ctl_table_header *sysctl_hdr;\n\tint sysctl_somaxconn;\n\tint sysctl_optmem_max;\n\tu8 sysctl_txrehash;\n\tu8 sysctl_tstamp_allow_data;\n\tstruct prot_inuse *prot_inuse;\n\tstruct cpumask *rps_default_mask;\n};\n\nstruct tcp_mib;\n\nstruct udp_mib;\n\nstruct netns_mib {\n\tstruct ipstats_mib *ip_statistics;\n\tstruct ipstats_mib *ipv6_statistics;\n\tstruct tcp_mib *tcp_statistics;\n\tstruct linux_mib *net_statistics;\n\tstruct udp_mib *udp_statistics;\n\tstruct udp_mib *udp_stats_in6;\n\tstruct udp_mib *udplite_statistics;\n\tstruct udp_mib *udplite_stats_in6;\n\tstruct icmp_mib *icmp_statistics;\n\tstruct icmpmsg_mib *icmpmsg_statistics;\n\tstruct icmpv6_mib *icmpv6_statistics;\n\tstruct icmpv6msg_mib *icmpv6msg_statistics;\n\tstruct proc_dir_entry *proc_net_devsnmp6;\n};\n\nstruct netns_packet {\n\tstruct mutex sklist_lock;\n\tstruct hlist_head sklist;\n};\n\nstruct unix_table {\n\tspinlock_t *locks;\n\tstruct hlist_head *buckets;\n};\n\nstruct netns_unix {\n\tstruct unix_table table;\n\tint sysctl_max_dgram_qlen;\n\tstruct ctl_table_header *ctl;\n};\n\nstruct netns_nexthop {\n\tstruct rb_root rb_root;\n\tstruct hlist_head *devhash;\n\tunsigned int seq;\n\tu32 last_id_allocated;\n\tstruct blocking_notifier_head notifier_chain;\n};\n\nstruct ping_group_range {\n\tseqlock_t lock;\n\tkgid_t range[2];\n};\n\nstruct netns_ipv4 {\n\t__u8 __cacheline_group_begin__netns_ipv4_read_tx[0];\n\tu8 sysctl_tcp_early_retrans;\n\tu8 sysctl_tcp_tso_win_divisor;\n\tu8 sysctl_tcp_tso_rtt_log;\n\tu8 sysctl_tcp_autocorking;\n\tint sysctl_tcp_min_snd_mss;\n\tunsigned int sysctl_tcp_notsent_lowat;\n\tint sysctl_tcp_limit_output_bytes;\n\tint sysctl_tcp_min_rtt_wlen;\n\tint sysctl_tcp_wmem[3];\n\tu8 sysctl_ip_fwd_use_pmtu;\n\t__u8 __cacheline_group_end__netns_ipv4_read_tx[0];\n\t__u8 __cacheline_group_begin__netns_ipv4_read_txrx[0];\n\tu8 sysctl_tcp_moderate_rcvbuf;\n\t__u8 __cacheline_group_end__netns_ipv4_read_txrx[0];\n\t__u8 __cacheline_group_begin__netns_ipv4_read_rx[0];\n\tu8 sysctl_ip_early_demux;\n\tu8 sysctl_tcp_early_demux;\n\tu8 sysctl_tcp_l3mdev_accept;\n\tint sysctl_tcp_reordering;\n\tint sysctl_tcp_rmem[3];\n\t__u8 __cacheline_group_end__netns_ipv4_read_rx[0];\n\tlong: 64;\n\tstruct inet_timewait_death_row tcp_death_row;\n\tstruct udp_table *udp_table;\n\tstruct ctl_table_header *forw_hdr;\n\tstruct ctl_table_header *frags_hdr;\n\tstruct ctl_table_header *ipv4_hdr;\n\tstruct ctl_table_header *route_hdr;\n\tstruct ctl_table_header *xfrm4_hdr;\n\tstruct ipv4_devconf *devconf_all;\n\tstruct ipv4_devconf *devconf_dflt;\n\tstruct ip_ra_chain *ra_chain;\n\tstruct mutex ra_mutex;\n\tbool fib_has_custom_local_routes;\n\tbool fib_offload_disabled;\n\tu8 sysctl_tcp_shrink_window;\n\tstruct hlist_head *fib_table_hash;\n\tstruct sock *fibnl;\n\tstruct sock *mc_autojoin_sk;\n\tstruct inet_peer_base *peers;\n\tstruct fqdir *fqdir;\n\tu8 sysctl_icmp_echo_ignore_all;\n\tu8 sysctl_icmp_echo_enable_probe;\n\tu8 sysctl_icmp_echo_ignore_broadcasts;\n\tu8 sysctl_icmp_ignore_bogus_error_responses;\n\tu8 sysctl_icmp_errors_use_inbound_ifaddr;\n\tint sysctl_icmp_ratelimit;\n\tint sysctl_icmp_ratemask;\n\tint sysctl_icmp_msgs_per_sec;\n\tint sysctl_icmp_msgs_burst;\n\tatomic_t icmp_global_credit;\n\tu32 icmp_global_stamp;\n\tu32 ip_rt_min_pmtu;\n\tint ip_rt_mtu_expires;\n\tint ip_rt_min_advmss;\n\tstruct local_ports ip_local_ports;\n\tu8 sysctl_tcp_ecn;\n\tu8 sysctl_tcp_ecn_fallback;\n\tu8 sysctl_ip_default_ttl;\n\tu8 sysctl_ip_no_pmtu_disc;\n\tu8 sysctl_ip_fwd_update_priority;\n\tu8 sysctl_ip_nonlocal_bind;\n\tu8 sysctl_ip_autobind_reuse;\n\tu8 sysctl_ip_dynaddr;\n\tu8 sysctl_udp_early_demux;\n\tu8 sysctl_nexthop_compat_mode;\n\tu8 sysctl_fwmark_reflect;\n\tu8 sysctl_tcp_fwmark_accept;\n\tu8 sysctl_tcp_mtu_probing;\n\tint sysctl_tcp_mtu_probe_floor;\n\tint sysctl_tcp_base_mss;\n\tint sysctl_tcp_probe_threshold;\n\tu32 sysctl_tcp_probe_interval;\n\tint sysctl_tcp_keepalive_time;\n\tint sysctl_tcp_keepalive_intvl;\n\tu8 sysctl_tcp_keepalive_probes;\n\tu8 sysctl_tcp_syn_retries;\n\tu8 sysctl_tcp_synack_retries;\n\tu8 sysctl_tcp_syncookies;\n\tu8 sysctl_tcp_migrate_req;\n\tu8 sysctl_tcp_comp_sack_nr;\n\tu8 sysctl_tcp_backlog_ack_defer;\n\tu8 sysctl_tcp_pingpong_thresh;\n\tu8 sysctl_tcp_retries1;\n\tu8 sysctl_tcp_retries2;\n\tu8 sysctl_tcp_orphan_retries;\n\tu8 sysctl_tcp_tw_reuse;\n\tunsigned int sysctl_tcp_tw_reuse_delay;\n\tint sysctl_tcp_fin_timeout;\n\tu8 sysctl_tcp_sack;\n\tu8 sysctl_tcp_window_scaling;\n\tu8 sysctl_tcp_timestamps;\n\tint sysctl_tcp_rto_min_us;\n\tu8 sysctl_tcp_recovery;\n\tu8 sysctl_tcp_thin_linear_timeouts;\n\tu8 sysctl_tcp_slow_start_after_idle;\n\tu8 sysctl_tcp_retrans_collapse;\n\tu8 sysctl_tcp_stdurg;\n\tu8 sysctl_tcp_rfc1337;\n\tu8 sysctl_tcp_abort_on_overflow;\n\tu8 sysctl_tcp_fack;\n\tint sysctl_tcp_max_reordering;\n\tint sysctl_tcp_adv_win_scale;\n\tu8 sysctl_tcp_dsack;\n\tu8 sysctl_tcp_app_win;\n\tu8 sysctl_tcp_frto;\n\tu8 sysctl_tcp_nometrics_save;\n\tu8 sysctl_tcp_no_ssthresh_metrics_save;\n\tu8 sysctl_tcp_workaround_signed_windows;\n\tint sysctl_tcp_challenge_ack_limit;\n\tu8 sysctl_tcp_min_tso_segs;\n\tu8 sysctl_tcp_reflect_tos;\n\tint sysctl_tcp_invalid_ratelimit;\n\tint sysctl_tcp_pacing_ss_ratio;\n\tint sysctl_tcp_pacing_ca_ratio;\n\tunsigned int sysctl_tcp_child_ehash_entries;\n\tlong unsigned int sysctl_tcp_comp_sack_delay_ns;\n\tlong unsigned int sysctl_tcp_comp_sack_slack_ns;\n\tint sysctl_max_syn_backlog;\n\tint sysctl_tcp_fastopen;\n\tconst struct tcp_congestion_ops *tcp_congestion_control;\n\tstruct tcp_fastopen_context *tcp_fastopen_ctx;\n\tunsigned int sysctl_tcp_fastopen_blackhole_timeout;\n\tatomic_t tfo_active_disable_times;\n\tlong unsigned int tfo_active_disable_stamp;\n\tu32 tcp_challenge_timestamp;\n\tu32 tcp_challenge_count;\n\tu8 sysctl_tcp_plb_enabled;\n\tu8 sysctl_tcp_plb_idle_rehash_rounds;\n\tu8 sysctl_tcp_plb_rehash_rounds;\n\tu8 sysctl_tcp_plb_suspend_rto_sec;\n\tint sysctl_tcp_plb_cong_thresh;\n\tint sysctl_udp_wmem_min;\n\tint sysctl_udp_rmem_min;\n\tu8 sysctl_fib_notify_on_flag_change;\n\tu8 sysctl_tcp_syn_linear_timeouts;\n\tu8 sysctl_igmp_llm_reports;\n\tint sysctl_igmp_max_memberships;\n\tint sysctl_igmp_max_msf;\n\tint sysctl_igmp_qrv;\n\tstruct ping_group_range ping_group_range;\n\tatomic_t dev_addr_genid;\n\tunsigned int sysctl_udp_child_hash_entries;\n\tlong unsigned int *sysctl_local_reserved_ports;\n\tint sysctl_ip_prot_sock;\n\tstruct fib_notifier_ops *notifier_ops;\n\tunsigned int fib_seq;\n\tstruct fib_notifier_ops *ipmr_notifier_ops;\n\tunsigned int ipmr_seq;\n\tatomic_t rt_genid;\n\tsiphash_key_t ip_id_key;\n\tstruct hlist_head *inet_addr_lst;\n\tstruct delayed_work addr_chk_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netns_sysctl_ipv6 {\n\tstruct ctl_table_header *hdr;\n\tstruct ctl_table_header *route_hdr;\n\tstruct ctl_table_header *icmp_hdr;\n\tstruct ctl_table_header *frags_hdr;\n\tstruct ctl_table_header *xfrm6_hdr;\n\tint flush_delay;\n\tint ip6_rt_max_size;\n\tint ip6_rt_gc_min_interval;\n\tint ip6_rt_gc_timeout;\n\tint ip6_rt_gc_interval;\n\tint ip6_rt_gc_elasticity;\n\tint ip6_rt_mtu_expires;\n\tint ip6_rt_min_advmss;\n\tu32 multipath_hash_fields;\n\tu8 multipath_hash_policy;\n\tu8 bindv6only;\n\tu8 flowlabel_consistency;\n\tu8 auto_flowlabels;\n\tint icmpv6_time;\n\tu8 icmpv6_echo_ignore_all;\n\tu8 icmpv6_echo_ignore_multicast;\n\tu8 icmpv6_echo_ignore_anycast;\n\tlong unsigned int icmpv6_ratemask[4];\n\tlong unsigned int *icmpv6_ratemask_ptr;\n\tu8 anycast_src_echo_reply;\n\tu8 ip_nonlocal_bind;\n\tu8 fwmark_reflect;\n\tu8 flowlabel_state_ranges;\n\tint idgen_retries;\n\tint idgen_delay;\n\tint flowlabel_reflect;\n\tint max_dst_opts_cnt;\n\tint max_hbh_opts_cnt;\n\tint max_dst_opts_len;\n\tint max_hbh_opts_len;\n\tint seg6_flowlabel;\n\tu32 ioam6_id;\n\tu64 ioam6_id_wide;\n\tu8 skip_notify_on_dev_down;\n\tu8 fib_notify_on_flag_change;\n\tu8 icmpv6_error_anycast_as_unicast;\n};\n\nstruct ioam6_pernet_data;\n\nstruct rt6_statistics;\n\nstruct seg6_pernet_data;\n\nstruct netns_ipv6 {\n\tstruct dst_ops ip6_dst_ops;\n\tstruct netns_sysctl_ipv6 sysctl;\n\tstruct ipv6_devconf *devconf_all;\n\tstruct ipv6_devconf *devconf_dflt;\n\tstruct inet_peer_base *peers;\n\tstruct fqdir *fqdir;\n\tstruct fib6_info *fib6_null_entry;\n\tstruct rt6_info *ip6_null_entry;\n\tstruct rt6_statistics *rt6_stats;\n\tstruct timer_list ip6_fib_timer;\n\tstruct hlist_head *fib_table_hash;\n\tstruct fib6_table *fib6_main_tbl;\n\tstruct list_head fib6_walkers;\n\trwlock_t fib6_walker_lock;\n\tspinlock_t fib6_gc_lock;\n\tatomic_t ip6_rt_gc_expire;\n\tlong unsigned int ip6_rt_last_gc;\n\tunsigned char flowlabel_has_excl;\n\tstruct sock *ndisc_sk;\n\tstruct sock *tcp_sk;\n\tstruct sock *igmp_sk;\n\tstruct sock *mc_autojoin_sk;\n\tstruct hlist_head *inet6_addr_lst;\n\tspinlock_t addrconf_hash_lock;\n\tstruct delayed_work addr_chk_work;\n\tatomic_t dev_addr_genid;\n\tatomic_t fib6_sernum;\n\tstruct seg6_pernet_data *seg6_data;\n\tstruct fib_notifier_ops *notifier_ops;\n\tstruct fib_notifier_ops *ip6mr_notifier_ops;\n\tunsigned int ipmr_seq;\n\tstruct {\n\t\tstruct hlist_head head;\n\t\tspinlock_t lock;\n\t\tu32 seq;\n\t} ip6addrlbl_table;\n\tstruct ioam6_pernet_data *ioam6_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nf_logger;\n\nstruct nf_hook_entries;\n\nstruct netns_nf {\n\tstruct proc_dir_entry *proc_netfilter;\n\tconst struct nf_logger *nf_loggers[11];\n\tstruct ctl_table_header *nf_log_dir_header;\n\tstruct nf_hook_entries *hooks_ipv4[5];\n\tstruct nf_hook_entries *hooks_ipv6[5];\n\tstruct nf_hook_entries *hooks_bridge[5];\n\tunsigned int defrag_ipv4_users;\n\tunsigned int defrag_ipv6_users;\n};\n\nstruct nf_generic_net {\n\tunsigned int timeout;\n};\n\nstruct nf_tcp_net {\n\tunsigned int timeouts[14];\n\tu8 tcp_loose;\n\tu8 tcp_be_liberal;\n\tu8 tcp_max_retrans;\n\tu8 tcp_ignore_invalid_rst;\n};\n\nstruct nf_udp_net {\n\tunsigned int timeouts[2];\n};\n\nstruct nf_icmp_net {\n\tunsigned int timeout;\n};\n\nstruct nf_dccp_net {\n\tu8 dccp_loose;\n\tunsigned int dccp_timeout[10];\n};\n\nstruct nf_sctp_net {\n\tunsigned int timeouts[10];\n};\n\nstruct nf_ip_net {\n\tstruct nf_generic_net generic;\n\tstruct nf_tcp_net tcp;\n\tstruct nf_udp_net udp;\n\tstruct nf_icmp_net icmp;\n\tstruct nf_icmp_net icmpv6;\n\tstruct nf_dccp_net dccp;\n\tstruct nf_sctp_net sctp;\n};\n\nstruct nf_ct_event_notifier;\n\nstruct netns_ct {\n\tbool ecache_dwork_pending;\n\tu8 sysctl_log_invalid;\n\tu8 sysctl_events;\n\tu8 sysctl_acct;\n\tu8 sysctl_tstamp;\n\tu8 sysctl_checksum;\n\tstruct ip_conntrack_stat *stat;\n\tstruct nf_ct_event_notifier *nf_conntrack_event_cb;\n\tstruct nf_ip_net nf_ct_proto;\n};\n\nstruct netns_bpf {\n\tstruct bpf_prog_array *run_array[2];\n\tstruct bpf_prog *progs[2];\n\tstruct list_head links[2];\n};\n\nstruct netns_ipvs;\n\nstruct can_dev_rcv_lists;\n\nstruct can_pkg_stats;\n\nstruct can_rcv_lists_stats;\n\nstruct netns_can {\n\tstruct proc_dir_entry *proc_dir;\n\tstruct proc_dir_entry *pde_stats;\n\tstruct proc_dir_entry *pde_reset_stats;\n\tstruct proc_dir_entry *pde_rcvlist_all;\n\tstruct proc_dir_entry *pde_rcvlist_fil;\n\tstruct proc_dir_entry *pde_rcvlist_inv;\n\tstruct proc_dir_entry *pde_rcvlist_sff;\n\tstruct proc_dir_entry *pde_rcvlist_eff;\n\tstruct proc_dir_entry *pde_rcvlist_err;\n\tstruct proc_dir_entry *bcmproc_dir;\n\tstruct can_dev_rcv_lists *rx_alldev_list;\n\tspinlock_t rcvlists_lock;\n\tstruct timer_list stattimer;\n\tstruct can_pkg_stats *pkg_stats;\n\tstruct can_rcv_lists_stats *rcv_lists_stats;\n\tstruct hlist_head cgw_list;\n};\n\nstruct uevent_sock;\n\nstruct net_generic;\n\nstruct net {\n\trefcount_t passive;\n\tspinlock_t rules_mod_lock;\n\tunsigned int dev_base_seq;\n\tu32 ifindex;\n\tspinlock_t nsid_lock;\n\tatomic_t fnhe_genid;\n\tstruct list_head list;\n\tstruct list_head exit_list;\n\tstruct llist_node defer_free_list;\n\tstruct llist_node cleanup_list;\n\tstruct key_tag *key_domain;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct idr netns_ids;\n\tstruct ns_common ns;\n\tstruct ref_tracker_dir refcnt_tracker;\n\tstruct ref_tracker_dir notrefcnt_tracker;\n\tstruct list_head dev_base_head;\n\tstruct proc_dir_entry *proc_net;\n\tstruct proc_dir_entry *proc_net_stat;\n\tstruct ctl_table_set sysctls;\n\tstruct sock *rtnl;\n\tstruct sock *genl_sock;\n\tstruct uevent_sock *uevent_sock;\n\tstruct hlist_head *dev_name_head;\n\tstruct hlist_head *dev_index_head;\n\tstruct xarray dev_by_index;\n\tstruct raw_notifier_head netdev_chain;\n\tu32 hash_mix;\n\tstruct net_device *loopback_dev;\n\tstruct list_head rules_ops;\n\tstruct netns_core core;\n\tstruct netns_mib mib;\n\tstruct netns_packet packet;\n\tstruct netns_unix unx;\n\tstruct netns_nexthop nexthop;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct netns_ipv4 ipv4;\n\tstruct netns_ipv6 ipv6;\n\tstruct netns_nf nf;\n\tstruct netns_ct ct;\n\tstruct net_generic *gen;\n\tstruct netns_bpf bpf;\n\tu64 net_cookie;\n\tstruct netns_ipvs *ipvs;\n\tstruct netns_can can;\n\tstruct sock *crypto_nlsk;\n\tstruct sock *diag_nlsk;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rtable {\n\tstruct dst_entry dst;\n\tint rt_genid;\n\tunsigned int rt_flags;\n\t__u16 rt_type;\n\t__u8 rt_is_input;\n\t__u8 rt_uses_gateway;\n\tint rt_iif;\n\tu8 rt_gw_family;\n\tunion {\n\t\t__be32 rt_gw4;\n\t\tstruct in6_addr rt_gw6;\n\t};\n\tu32 rt_mtu_locked: 1;\n\tu32 rt_pmtu: 31;\n};\n\nstruct rt6_info {\n\tstruct dst_entry dst;\n\tstruct fib6_info *from;\n\tint sernum;\n\tstruct rt6key rt6i_dst;\n\tstruct rt6key rt6i_src;\n\tstruct in6_addr rt6i_gateway;\n\tstruct inet6_dev *rt6i_idev;\n\tu32 rt6i_flags;\n\tshort unsigned int rt6i_nfheader_len;\n};\n\nstruct net_bridge;\n\nstruct net_bridge_vlan;\n\nstruct net_bridge_mcast {\n\tstruct net_bridge *br;\n\tstruct net_bridge_vlan *vlan;\n\tu32 multicast_last_member_count;\n\tu32 multicast_startup_query_count;\n\tu8 multicast_querier;\n\tu8 multicast_igmp_version;\n\tu8 multicast_router;\n\tu8 multicast_mld_version;\n\tlong unsigned int multicast_last_member_interval;\n\tlong unsigned int multicast_membership_interval;\n\tlong unsigned int multicast_querier_interval;\n\tlong unsigned int multicast_query_interval;\n\tlong unsigned int multicast_query_response_interval;\n\tlong unsigned int multicast_startup_query_interval;\n\tstruct hlist_head ip4_mc_router_list;\n\tstruct timer_list ip4_mc_router_timer;\n\tstruct bridge_mcast_other_query ip4_other_query;\n\tstruct bridge_mcast_own_query ip4_own_query;\n\tstruct bridge_mcast_querier ip4_querier;\n\tstruct hlist_head ip6_mc_router_list;\n\tstruct timer_list ip6_mc_router_timer;\n\tstruct bridge_mcast_other_query ip6_other_query;\n\tstruct bridge_mcast_own_query ip6_own_query;\n\tstruct bridge_mcast_querier ip6_querier;\n};\n\nstruct net_bridge_vlan_group;\n\nstruct net_bridge {\n\tspinlock_t lock;\n\tspinlock_t hash_lock;\n\tstruct hlist_head frame_type_list;\n\tstruct net_device *dev;\n\tlong unsigned int options;\n\t__be16 vlan_proto;\n\tu16 default_pvid;\n\tstruct net_bridge_vlan_group *vlgrp;\n\tstruct rhashtable fdb_hash_tbl;\n\tstruct list_head port_list;\n\tunion {\n\t\tstruct rtable fake_rtable;\n\t\tstruct rt6_info fake_rt6_info;\n\t};\n\tu16 group_fwd_mask;\n\tu16 group_fwd_mask_required;\n\tbridge_id designated_root;\n\tbridge_id bridge_id;\n\tunsigned char topology_change;\n\tunsigned char topology_change_detected;\n\tu16 root_port;\n\tlong unsigned int max_age;\n\tlong unsigned int hello_time;\n\tlong unsigned int forward_delay;\n\tlong unsigned int ageing_time;\n\tlong unsigned int bridge_max_age;\n\tlong unsigned int bridge_hello_time;\n\tlong unsigned int bridge_forward_delay;\n\tlong unsigned int bridge_ageing_time;\n\tu32 root_path_cost;\n\tu8 group_addr[6];\n\tenum {\n\t\tBR_NO_STP = 0,\n\t\tBR_KERNEL_STP = 1,\n\t\tBR_USER_STP = 2,\n\t} stp_enabled;\n\tstruct net_bridge_mcast multicast_ctx;\n\tstruct bridge_mcast_stats *mcast_stats;\n\tu32 hash_max;\n\tspinlock_t multicast_lock;\n\tstruct rhashtable mdb_hash_tbl;\n\tstruct rhashtable sg_port_tbl;\n\tstruct hlist_head mcast_gc_list;\n\tstruct hlist_head mdb_list;\n\tstruct work_struct mcast_gc_work;\n\tstruct timer_list hello_timer;\n\tstruct timer_list tcn_timer;\n\tstruct timer_list topology_change_timer;\n\tstruct delayed_work gc_work;\n\tstruct kobject *ifobj;\n\tu32 auto_cnt;\n\tatomic_t fdb_n_learned;\n\tu32 fdb_max_learned;\n\tint last_hwdom;\n\tlong unsigned int busy_hwdoms;\n\tstruct hlist_head fdb_list;\n};\n\nstruct net_bridge_fdb_key {\n\tmac_addr addr;\n\tu16 vlan_id;\n};\n\nstruct net_bridge_port;\n\nstruct net_bridge_fdb_entry {\n\tstruct rhash_head rhnode;\n\tstruct net_bridge_port *dst;\n\tstruct net_bridge_fdb_key key;\n\tstruct hlist_node fdb_node;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct net_bridge_mcast_port {\n\tstruct net_bridge_port *port;\n\tstruct net_bridge_vlan *vlan;\n\tstruct bridge_mcast_own_query ip4_own_query;\n\tstruct timer_list ip4_mc_router_timer;\n\tstruct hlist_node ip4_rlist;\n\tstruct bridge_mcast_own_query ip6_own_query;\n\tstruct timer_list ip6_mc_router_timer;\n\tstruct hlist_node ip6_rlist;\n\tunsigned char multicast_router;\n\tu32 mdb_n_entries;\n\tu32 mdb_max_entries;\n};\n\nstruct net_bridge_port {\n\tstruct net_bridge *br;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tstruct net_bridge_vlan_group *vlgrp;\n\tstruct net_bridge_port *backup_port;\n\tu32 backup_nhid;\n\tu8 priority;\n\tu8 state;\n\tu16 port_no;\n\tunsigned char topology_change_ack;\n\tunsigned char config_pending;\n\tport_id port_id;\n\tport_id designated_port;\n\tbridge_id designated_root;\n\tbridge_id designated_bridge;\n\tu32 path_cost;\n\tu32 designated_cost;\n\tlong unsigned int designated_age;\n\tstruct timer_list forward_delay_timer;\n\tstruct timer_list hold_timer;\n\tstruct timer_list message_age_timer;\n\tstruct kobject kobj;\n\tstruct callback_head rcu;\n\tstruct net_bridge_mcast_port multicast_ctx;\n\tstruct bridge_mcast_stats *mcast_stats;\n\tu32 multicast_eht_hosts_limit;\n\tu32 multicast_eht_hosts_cnt;\n\tstruct hlist_head mglist;\n\tchar sysfs_name[16];\n\tint hwdom;\n\tint offload_count;\n\tstruct netdev_phys_item_id ppid;\n\tu16 group_fwd_mask;\n\tu16 backup_redirected_cnt;\n\tstruct bridge_stp_xstats stp_xstats;\n};\n\nstruct pcpu_sw_netstats;\n\nstruct net_bridge_vlan {\n\tstruct rhash_head vnode;\n\tstruct rhash_head tnode;\n\tu16 vid;\n\tu16 flags;\n\tu16 priv_flags;\n\tu8 state;\n\tstruct pcpu_sw_netstats *stats;\n\tunion {\n\t\tstruct net_bridge *br;\n\t\tstruct net_bridge_port *port;\n\t};\n\tunion {\n\t\trefcount_t refcnt;\n\t\tstruct net_bridge_vlan *brvlan;\n\t};\n\tstruct br_tunnel_info tinfo;\n\tunion {\n\t\tstruct net_bridge_mcast br_mcast_ctx;\n\t\tstruct net_bridge_mcast_port port_mcast_ctx;\n\t};\n\tu16 msti;\n\tstruct list_head vlist;\n\tstruct callback_head rcu;\n};\n\nstruct net_bridge_vlan_group {\n\tstruct rhashtable vlan_hash;\n\tstruct rhashtable tunnel_hash;\n\tstruct list_head vlan_list;\n\tu16 num_vlans;\n\tu16 pvid;\n\tu8 pvid_state;\n};\n\nstruct netdev_tc_txq {\n\tu16 count;\n\tu16 offset;\n};\n\ntypedef rx_handler_result_t rx_handler_func_t(struct sk_buff **);\n\nstruct net_device_stats {\n\tunion {\n\t\tlong unsigned int rx_packets;\n\t\tatomic_long_t __rx_packets;\n\t};\n\tunion {\n\t\tlong unsigned int tx_packets;\n\t\tatomic_long_t __tx_packets;\n\t};\n\tunion {\n\t\tlong unsigned int rx_bytes;\n\t\tatomic_long_t __rx_bytes;\n\t};\n\tunion {\n\t\tlong unsigned int tx_bytes;\n\t\tatomic_long_t __tx_bytes;\n\t};\n\tunion {\n\t\tlong unsigned int rx_errors;\n\t\tatomic_long_t __rx_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_errors;\n\t\tatomic_long_t __tx_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_dropped;\n\t\tatomic_long_t __rx_dropped;\n\t};\n\tunion {\n\t\tlong unsigned int tx_dropped;\n\t\tatomic_long_t __tx_dropped;\n\t};\n\tunion {\n\t\tlong unsigned int multicast;\n\t\tatomic_long_t __multicast;\n\t};\n\tunion {\n\t\tlong unsigned int collisions;\n\t\tatomic_long_t __collisions;\n\t};\n\tunion {\n\t\tlong unsigned int rx_length_errors;\n\t\tatomic_long_t __rx_length_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_over_errors;\n\t\tatomic_long_t __rx_over_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_crc_errors;\n\t\tatomic_long_t __rx_crc_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_frame_errors;\n\t\tatomic_long_t __rx_frame_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_fifo_errors;\n\t\tatomic_long_t __rx_fifo_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_missed_errors;\n\t\tatomic_long_t __rx_missed_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_aborted_errors;\n\t\tatomic_long_t __tx_aborted_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_carrier_errors;\n\t\tatomic_long_t __tx_carrier_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_fifo_errors;\n\t\tatomic_long_t __tx_fifo_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_heartbeat_errors;\n\t\tatomic_long_t __tx_heartbeat_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_window_errors;\n\t\tatomic_long_t __tx_window_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_compressed;\n\t\tatomic_long_t __rx_compressed;\n\t};\n\tunion {\n\t\tlong unsigned int tx_compressed;\n\t\tatomic_long_t __tx_compressed;\n\t};\n};\n\nstruct netdev_hw_addr_list {\n\tstruct list_head list;\n\tint count;\n\tstruct rb_root tree;\n};\n\nstruct wireless_dev;\n\nstruct garp_port;\n\nstruct mrp_port;\n\nstruct sfp_bus;\n\nstruct udp_tunnel_nic;\n\nstruct net_device_ops;\n\nstruct xps_dev_maps;\n\nstruct pcpu_lstats;\n\nstruct pcpu_dstats;\n\nstruct netdev_rx_queue;\n\nstruct netdev_name_node;\n\nstruct xdp_metadata_ops;\n\nstruct xsk_tx_metadata_ops;\n\nstruct net_device_core_stats;\n\nstruct vlan_info;\n\nstruct xdp_dev_bulk_queue;\n\nstruct rtnl_link_ops;\n\nstruct netdev_stat_ops;\n\nstruct netdev_queue_mgmt_ops;\n\nstruct phy_link_topology;\n\nstruct udp_tunnel_nic_info;\n\nstruct netdev_config;\n\nstruct rtnl_hw_stats64;\n\nstruct net_device {\n\t__u8 __cacheline_group_begin__net_device_read_tx[0];\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int priv_flags: 32;\n\t\t\tlong unsigned int lltx: 1;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int priv_flags: 32;\n\t\t\tlong unsigned int lltx: 1;\n\t\t} priv_flags_fast;\n\t};\n\tconst struct net_device_ops *netdev_ops;\n\tconst struct header_ops *header_ops;\n\tstruct netdev_queue *_tx;\n\tnetdev_features_t gso_partial_features;\n\tunsigned int real_num_tx_queues;\n\tunsigned int gso_max_size;\n\tunsigned int gso_ipv4_max_size;\n\tu16 gso_max_segs;\n\ts16 num_tc;\n\tunsigned int mtu;\n\tshort unsigned int needed_headroom;\n\tstruct netdev_tc_txq tc_to_txq[16];\n\tstruct xps_dev_maps *xps_maps[2];\n\tstruct nf_hook_entries *nf_hooks_egress;\n\tstruct bpf_mprog_entry *tcx_egress;\n\t__u8 __cacheline_group_end__net_device_read_tx[0];\n\t__u8 __cacheline_group_begin__net_device_read_txrx[0];\n\tunion {\n\t\tstruct pcpu_lstats *lstats;\n\t\tstruct pcpu_sw_netstats *tstats;\n\t\tstruct pcpu_dstats *dstats;\n\t};\n\tlong unsigned int state;\n\tunsigned int flags;\n\tshort unsigned int hard_header_len;\n\tnetdev_features_t features;\n\tstruct inet6_dev *ip6_ptr;\n\t__u8 __cacheline_group_end__net_device_read_txrx[0];\n\t__u8 __cacheline_group_begin__net_device_read_rx[0];\n\tstruct bpf_prog *xdp_prog;\n\tstruct list_head ptype_specific;\n\tint ifindex;\n\tunsigned int real_num_rx_queues;\n\tstruct netdev_rx_queue *_rx;\n\tunsigned int gro_max_size;\n\tunsigned int gro_ipv4_max_size;\n\trx_handler_func_t *rx_handler;\n\tvoid *rx_handler_data;\n\tpossible_net_t nd_net;\n\tstruct bpf_mprog_entry *tcx_ingress;\n\t__u8 __cacheline_group_end__net_device_read_rx[0];\n\tchar name[16];\n\tstruct netdev_name_node *name_node;\n\tstruct dev_ifalias *ifalias;\n\tlong unsigned int mem_end;\n\tlong unsigned int mem_start;\n\tlong unsigned int base_addr;\n\tstruct list_head dev_list;\n\tstruct list_head napi_list;\n\tstruct list_head unreg_list;\n\tstruct list_head close_list;\n\tstruct list_head ptype_all;\n\tstruct {\n\t\tstruct list_head upper;\n\t\tstruct list_head lower;\n\t} adj_list;\n\txdp_features_t xdp_features;\n\tconst struct xdp_metadata_ops *xdp_metadata_ops;\n\tconst struct xsk_tx_metadata_ops *xsk_tx_metadata_ops;\n\tshort unsigned int gflags;\n\tshort unsigned int needed_tailroom;\n\tnetdev_features_t hw_features;\n\tnetdev_features_t wanted_features;\n\tnetdev_features_t vlan_features;\n\tnetdev_features_t hw_enc_features;\n\tnetdev_features_t mpls_features;\n\tunsigned int min_mtu;\n\tunsigned int max_mtu;\n\tshort unsigned int type;\n\tunsigned char min_header_len;\n\tunsigned char name_assign_type;\n\tint group;\n\tstruct net_device_stats stats;\n\tstruct net_device_core_stats *core_stats;\n\tatomic_t carrier_up_count;\n\tatomic_t carrier_down_count;\n\tconst struct ethtool_ops *ethtool_ops;\n\tconst struct ndisc_ops *ndisc_ops;\n\tunsigned int operstate;\n\tunsigned char link_mode;\n\tunsigned char if_port;\n\tunsigned char dma;\n\tunsigned char perm_addr[32];\n\tunsigned char addr_assign_type;\n\tunsigned char addr_len;\n\tunsigned char upper_level;\n\tunsigned char lower_level;\n\tshort unsigned int neigh_priv_len;\n\tshort unsigned int dev_id;\n\tshort unsigned int dev_port;\n\tint irq;\n\tu32 priv_len;\n\tspinlock_t addr_list_lock;\n\tstruct netdev_hw_addr_list uc;\n\tstruct netdev_hw_addr_list mc;\n\tstruct netdev_hw_addr_list dev_addrs;\n\tstruct kset *queues_kset;\n\tunsigned int promiscuity;\n\tunsigned int allmulti;\n\tbool uc_promisc;\n\tstruct in_device *ip_ptr;\n\tstruct hlist_head fib_nh_head;\n\tstruct vlan_info *vlan_info;\n\tstruct dsa_port *dsa_ptr;\n\tstruct wireless_dev *ieee80211_ptr;\n\tconst unsigned char *dev_addr;\n\tunsigned int num_rx_queues;\n\tunsigned int xdp_zc_max_segs;\n\tstruct netdev_queue *ingress_queue;\n\tstruct nf_hook_entries *nf_hooks_ingress;\n\tunsigned char broadcast[32];\n\tstruct cpu_rmap *rx_cpu_rmap;\n\tstruct hlist_node index_hlist;\n\tunsigned int num_tx_queues;\n\tstruct Qdisc *qdisc;\n\tunsigned int tx_queue_len;\n\tspinlock_t tx_global_lock;\n\tstruct xdp_dev_bulk_queue *xdp_bulkq;\n\tstruct hlist_head qdisc_hash[16];\n\tstruct timer_list watchdog_timer;\n\tint watchdog_timeo;\n\tu32 proto_down_reason;\n\tstruct list_head todo_list;\n\tint *pcpu_refcnt;\n\tstruct ref_tracker_dir refcnt_tracker;\n\tstruct list_head link_watch_list;\n\tu8 reg_state;\n\tbool dismantle;\n\tenum {\n\t\tRTNL_LINK_INITIALIZED = 0,\n\t\tRTNL_LINK_INITIALIZING = 1,\n\t} rtnl_link_state: 16;\n\tbool needs_free_netdev;\n\tvoid (*priv_destructor)(struct net_device *);\n\tvoid *ml_priv;\n\tenum netdev_ml_priv_type ml_priv_type;\n\tenum netdev_stat_type pcpu_stat_type: 8;\n\tstruct garp_port *garp_port;\n\tstruct mrp_port *mrp_port;\n\tstruct device dev;\n\tconst struct attribute_group *sysfs_groups[4];\n\tconst struct attribute_group *sysfs_rx_queue_group;\n\tconst struct rtnl_link_ops *rtnl_link_ops;\n\tconst struct netdev_stat_ops *stat_ops;\n\tconst struct netdev_queue_mgmt_ops *queue_mgmt_ops;\n\tunsigned int tso_max_size;\n\tu16 tso_max_segs;\n\tu8 prio_tc_map[16];\n\tstruct phy_link_topology *link_topo;\n\tstruct phy_device *phydev;\n\tstruct sfp_bus *sfp_bus;\n\tstruct lock_class_key *qdisc_tx_busylock;\n\tbool proto_down;\n\tbool threaded;\n\tlong unsigned int see_all_hwtstamp_requests: 1;\n\tlong unsigned int change_proto_down: 1;\n\tlong unsigned int netns_local: 1;\n\tlong unsigned int fcoe_mtu: 1;\n\tstruct list_head net_notifier_list;\n\tconst struct udp_tunnel_nic_info *udp_tunnel_nic_info;\n\tstruct udp_tunnel_nic *udp_tunnel_nic;\n\tstruct netdev_config *cfg;\n\tstruct netdev_config *cfg_pending;\n\tstruct ethtool_netdev_state *ethtool;\n\tstruct bpf_xdp_entity xdp_state[3];\n\tu8 dev_addr_shadow[32];\n\tnetdevice_tracker linkwatch_dev_tracker;\n\tnetdevice_tracker watchdog_dev_tracker;\n\tnetdevice_tracker dev_registered_tracker;\n\tstruct rtnl_hw_stats64 *offload_xstats_l3;\n\tstruct devlink_port *devlink_port;\n\tstruct hlist_head page_pools;\n\tstruct dim_irq_moder *irq_moder;\n\tu64 max_pacing_offload_horizon;\n\tstruct napi_config *napi_config;\n\tlong unsigned int gro_flush_timeout;\n\tu32 napi_defer_hard_irqs;\n\tbool up;\n\tstruct mutex lock;\n\tstruct hlist_head neighbours[2];\n\tstruct hwtstamp_provider *hwprov;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 priv[0];\n};\n\nstruct net_device_core_stats {\n\tlong unsigned int rx_dropped;\n\tlong unsigned int tx_dropped;\n\tlong unsigned int rx_nohandler;\n\tlong unsigned int rx_otherhost_dropped;\n};\n\nstruct net_device_devres {\n\tstruct net_device *ndev;\n};\n\nstruct netdev_bpf;\n\nstruct net_device_path_ctx;\n\nstruct net_device_path;\n\nstruct skb_shared_hwtstamps;\n\nstruct net_device_ops {\n\tint (*ndo_init)(struct net_device *);\n\tvoid (*ndo_uninit)(struct net_device *);\n\tint (*ndo_open)(struct net_device *);\n\tint (*ndo_stop)(struct net_device *);\n\tnetdev_tx_t (*ndo_start_xmit)(struct sk_buff *, struct net_device *);\n\tnetdev_features_t (*ndo_features_check)(struct sk_buff *, struct net_device *, netdev_features_t);\n\tu16 (*ndo_select_queue)(struct net_device *, struct sk_buff *, struct net_device *);\n\tvoid (*ndo_change_rx_flags)(struct net_device *, int);\n\tvoid (*ndo_set_rx_mode)(struct net_device *);\n\tint (*ndo_set_mac_address)(struct net_device *, void *);\n\tint (*ndo_validate_addr)(struct net_device *);\n\tint (*ndo_do_ioctl)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_eth_ioctl)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_siocbond)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_siocwandev)(struct net_device *, struct if_settings *);\n\tint (*ndo_siocdevprivate)(struct net_device *, struct ifreq *, void *, int);\n\tint (*ndo_set_config)(struct net_device *, struct ifmap *);\n\tint (*ndo_change_mtu)(struct net_device *, int);\n\tint (*ndo_neigh_setup)(struct net_device *, struct neigh_parms *);\n\tvoid (*ndo_tx_timeout)(struct net_device *, unsigned int);\n\tvoid (*ndo_get_stats64)(struct net_device *, struct rtnl_link_stats64 *);\n\tbool (*ndo_has_offload_stats)(const struct net_device *, int);\n\tint (*ndo_get_offload_stats)(int, const struct net_device *, void *);\n\tstruct net_device_stats * (*ndo_get_stats)(struct net_device *);\n\tint (*ndo_vlan_rx_add_vid)(struct net_device *, __be16, u16);\n\tint (*ndo_vlan_rx_kill_vid)(struct net_device *, __be16, u16);\n\tint (*ndo_set_vf_mac)(struct net_device *, int, u8 *);\n\tint (*ndo_set_vf_vlan)(struct net_device *, int, u16, u8, __be16);\n\tint (*ndo_set_vf_rate)(struct net_device *, int, int, int);\n\tint (*ndo_set_vf_spoofchk)(struct net_device *, int, bool);\n\tint (*ndo_set_vf_trust)(struct net_device *, int, bool);\n\tint (*ndo_get_vf_config)(struct net_device *, int, struct ifla_vf_info *);\n\tint (*ndo_set_vf_link_state)(struct net_device *, int, int);\n\tint (*ndo_get_vf_stats)(struct net_device *, int, struct ifla_vf_stats *);\n\tint (*ndo_set_vf_port)(struct net_device *, int, struct nlattr **);\n\tint (*ndo_get_vf_port)(struct net_device *, int, struct sk_buff *);\n\tint (*ndo_get_vf_guid)(struct net_device *, int, struct ifla_vf_guid *, struct ifla_vf_guid *);\n\tint (*ndo_set_vf_guid)(struct net_device *, int, u64, int);\n\tint (*ndo_set_vf_rss_query_en)(struct net_device *, int, bool);\n\tint (*ndo_setup_tc)(struct net_device *, enum tc_setup_type, void *);\n\tint (*ndo_rx_flow_steer)(struct net_device *, const struct sk_buff *, u16, u32);\n\tint (*ndo_add_slave)(struct net_device *, struct net_device *, struct netlink_ext_ack *);\n\tint (*ndo_del_slave)(struct net_device *, struct net_device *);\n\tstruct net_device * (*ndo_get_xmit_slave)(struct net_device *, struct sk_buff *, bool);\n\tstruct net_device * (*ndo_sk_get_lower_dev)(struct net_device *, struct sock *);\n\tnetdev_features_t (*ndo_fix_features)(struct net_device *, netdev_features_t);\n\tint (*ndo_set_features)(struct net_device *, netdev_features_t);\n\tint (*ndo_neigh_construct)(struct net_device *, struct neighbour *);\n\tvoid (*ndo_neigh_destroy)(struct net_device *, struct neighbour *);\n\tint (*ndo_fdb_add)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, bool *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_del)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, bool *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_del_bulk)(struct nlmsghdr *, struct net_device *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_dump)(struct sk_buff *, struct netlink_callback *, struct net_device *, struct net_device *, int *);\n\tint (*ndo_fdb_get)(struct sk_buff *, struct nlattr **, struct net_device *, const unsigned char *, u16, u32, u32, struct netlink_ext_ack *);\n\tint (*ndo_mdb_add)(struct net_device *, struct nlattr **, u16, struct netlink_ext_ack *);\n\tint (*ndo_mdb_del)(struct net_device *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*ndo_mdb_del_bulk)(struct net_device *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*ndo_mdb_dump)(struct net_device *, struct sk_buff *, struct netlink_callback *);\n\tint (*ndo_mdb_get)(struct net_device *, struct nlattr **, u32, u32, struct netlink_ext_ack *);\n\tint (*ndo_bridge_setlink)(struct net_device *, struct nlmsghdr *, u16, struct netlink_ext_ack *);\n\tint (*ndo_bridge_getlink)(struct sk_buff *, u32, u32, struct net_device *, u32, int);\n\tint (*ndo_bridge_dellink)(struct net_device *, struct nlmsghdr *, u16);\n\tint (*ndo_change_carrier)(struct net_device *, bool);\n\tint (*ndo_get_phys_port_id)(struct net_device *, struct netdev_phys_item_id *);\n\tint (*ndo_get_port_parent_id)(struct net_device *, struct netdev_phys_item_id *);\n\tint (*ndo_get_phys_port_name)(struct net_device *, char *, size_t);\n\tvoid * (*ndo_dfwd_add_station)(struct net_device *, struct net_device *);\n\tvoid (*ndo_dfwd_del_station)(struct net_device *, void *);\n\tint (*ndo_set_tx_maxrate)(struct net_device *, int, u32);\n\tint (*ndo_get_iflink)(const struct net_device *);\n\tint (*ndo_fill_metadata_dst)(struct net_device *, struct sk_buff *);\n\tvoid (*ndo_set_rx_headroom)(struct net_device *, int);\n\tint (*ndo_bpf)(struct net_device *, struct netdev_bpf *);\n\tint (*ndo_xdp_xmit)(struct net_device *, int, struct xdp_frame **, u32);\n\tstruct net_device * (*ndo_xdp_get_xmit_slave)(struct net_device *, struct xdp_buff *);\n\tint (*ndo_xsk_wakeup)(struct net_device *, u32, u32);\n\tint (*ndo_tunnel_ctl)(struct net_device *, struct ip_tunnel_parm_kern *, int);\n\tstruct net_device * (*ndo_get_peer_dev)(struct net_device *);\n\tint (*ndo_fill_forward_path)(struct net_device_path_ctx *, struct net_device_path *);\n\tktime_t (*ndo_get_tstamp)(struct net_device *, const struct skb_shared_hwtstamps *, bool);\n\tint (*ndo_hwtstamp_get)(struct net_device *, struct kernel_hwtstamp_config *);\n\tint (*ndo_hwtstamp_set)(struct net_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n};\n\nstruct net_device_path {\n\tenum net_device_path_type type;\n\tconst struct net_device *dev;\n\tunion {\n\t\tstruct {\n\t\t\tu16 id;\n\t\t\t__be16 proto;\n\t\t\tu8 h_dest[6];\n\t\t} encap;\n\t\tstruct {\n\t\t\tenum {\n\t\t\t\tDEV_PATH_BR_VLAN_KEEP = 0,\n\t\t\t\tDEV_PATH_BR_VLAN_TAG = 1,\n\t\t\t\tDEV_PATH_BR_VLAN_UNTAG = 2,\n\t\t\t\tDEV_PATH_BR_VLAN_UNTAG_HW = 3,\n\t\t\t} vlan_mode;\n\t\t\tu16 vlan_id;\n\t\t\t__be16 vlan_proto;\n\t\t} bridge;\n\t\tstruct {\n\t\t\tint port;\n\t\t\tu16 proto;\n\t\t} dsa;\n\t\tstruct {\n\t\t\tu8 wdma_idx;\n\t\t\tu8 queue;\n\t\t\tu16 wcid;\n\t\t\tu8 bss;\n\t\t\tu8 amsdu;\n\t\t} mtk_wdma;\n\t};\n};\n\nstruct net_device_path_ctx {\n\tconst struct net_device *dev;\n\tu8 daddr[6];\n\tint num_vlans;\n\tstruct {\n\t\tu16 id;\n\t\t__be16 proto;\n\t} vlan[2];\n};\n\nstruct net_device_path_stack {\n\tint num_paths;\n\tstruct net_device_path path[5];\n};\n\nstruct net_devmem_dmabuf_binding {\n\tstruct dma_buf *dmabuf;\n\tstruct dma_buf_attachment *attachment;\n\tstruct sg_table *sgt;\n\tstruct net_device *dev;\n\tstruct gen_pool *chunk_pool;\n\trefcount_t ref;\n\tstruct list_head list;\n\tstruct xarray bound_rxqs;\n\tu32 id;\n};\n\nstruct net_failover_info {\n\tstruct net_device *primary_dev;\n\tstruct net_device *standby_dev;\n\tstruct rtnl_link_stats64 primary_stats;\n\tstruct rtnl_link_stats64 standby_stats;\n\tstruct rtnl_link_stats64 failover_stats;\n\tspinlock_t stats_lock;\n};\n\nstruct net_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint flags;\n\tint cmd;\n\tint nsid;\n\tbool add_ref;\n\tint ref_nsid;\n};\n\nstruct net_generic {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int len;\n\t\t\tstruct callback_head rcu;\n\t\t} s;\n\t\tstruct {\n\t\t\tstruct {} __empty_ptr;\n\t\t\tvoid *ptr[0];\n\t\t};\n\t};\n};\n\nstruct offload_callbacks {\n\tstruct sk_buff * (*gso_segment)(struct sk_buff *, netdev_features_t);\n\tstruct sk_buff * (*gro_receive)(struct list_head *, struct sk_buff *);\n\tint (*gro_complete)(struct sk_buff *, int);\n};\n\nstruct packet_offload {\n\t__be16 type;\n\tu16 priority;\n\tstruct offload_callbacks callbacks;\n\tstruct list_head list;\n};\n\nstruct net_offload {\n\tstruct offload_callbacks callbacks;\n\tunsigned int flags;\n\tu32 secret;\n};\n\nstruct net_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tunsigned int no_policy: 1;\n\tunsigned int icmp_strict_tag_validation: 1;\n\tu32 secret;\n};\n\nstruct rps_sock_flow_table;\n\nstruct net_hotdata {\n\tstruct packet_offload ip_packet_offload;\n\tstruct net_offload tcpv4_offload;\n\tstruct net_protocol tcp_protocol;\n\tstruct net_offload udpv4_offload;\n\tstruct net_protocol udp_protocol;\n\tstruct packet_offload ipv6_packet_offload;\n\tstruct net_offload tcpv6_offload;\n\tstruct inet6_protocol tcpv6_protocol;\n\tstruct inet6_protocol udpv6_protocol;\n\tstruct net_offload udpv6_offload;\n\tstruct list_head offload_base;\n\tstruct list_head ptype_all;\n\tstruct kmem_cache *skbuff_cache;\n\tstruct kmem_cache *skbuff_fclone_cache;\n\tstruct kmem_cache *skb_small_head_cache;\n\tstruct rps_sock_flow_table *rps_sock_flow_table;\n\tu32 rps_cpu_mask;\n\tint gro_normal_batch;\n\tint netdev_budget;\n\tint netdev_budget_usecs;\n\tint tstamp_prequeue;\n\tint max_backlog;\n\tint dev_tx_weight;\n\tint dev_rx_weight;\n\tint sysctl_max_skb_frags;\n\tint sysctl_skb_defer_max;\n\tint sysctl_mem_pcpu_rsv;\n};\n\nstruct net_iov {\n\tlong unsigned int __unused_padding;\n\tlong unsigned int pp_magic;\n\tstruct page_pool *pp;\n\tstruct dmabuf_genpool_chunk_owner *owner;\n\tlong unsigned int dma_addr;\n\tatomic_long_t pp_ref_count;\n};\n\nstruct net_packet_attrs {\n\tconst unsigned char *src;\n\tconst unsigned char *dst;\n\tu32 ip_src;\n\tu32 ip_dst;\n\tbool tcp;\n\tu16 sport;\n\tu16 dport;\n\tint timeout;\n\tint size;\n\tint max_size;\n\tu8 id;\n\tu16 queue_mapping;\n};\n\nstruct net_proto_family {\n\tint family;\n\tint (*create)(struct net *, struct socket *, int, int);\n\tstruct module *owner;\n};\n\nstruct net_rate_estimator {\n\tstruct gnet_stats_basic_sync *bstats;\n\tspinlock_t *stats_lock;\n\tbool running;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tu8 ewma_log;\n\tu8 intvl_log;\n\tseqcount_t seq;\n\tu64 last_packets;\n\tu64 last_bytes;\n\tu64 avpps;\n\tu64 avbps;\n\tlong unsigned int next_jiffies;\n\tstruct timer_list timer;\n\tstruct callback_head rcu;\n};\n\nstruct net_test {\n\tchar name[32];\n\tint (*fn)(struct net_device *);\n};\n\nstruct packet_type {\n\t__be16 type;\n\tbool ignore_outgoing;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tint (*func)(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *);\n\tvoid (*list_func)(struct list_head *, struct packet_type *, struct net_device *);\n\tbool (*id_match)(struct packet_type *, struct sock *);\n\tstruct net *af_packet_net;\n\tvoid *af_packet_priv;\n\tstruct list_head list;\n};\n\nstruct net_test_priv {\n\tstruct net_packet_attrs *packet;\n\tstruct packet_type pt;\n\tstruct completion comp;\n\tint double_vlan;\n\tint vlan_id;\n\tint ok;\n};\n\nstruct netconfmsg {\n\t__u8 ncm_family;\n};\n\nstruct netdev_adjacent {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tbool master;\n\tbool ignore;\n\tu16 ref_nr;\n\tvoid *private;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_bonding_info {\n\tifslave slave;\n\tifbond master;\n};\n\nstruct netdev_bpf {\n\tenum bpf_netdev_command command;\n\tunion {\n\t\tstruct {\n\t\t\tu32 flags;\n\t\t\tstruct bpf_prog *prog;\n\t\t\tstruct netlink_ext_ack *extack;\n\t\t};\n\t\tstruct {\n\t\t\tstruct bpf_offloaded_map *offmap;\n\t\t};\n\t\tstruct {\n\t\t\tstruct xsk_buff_pool *pool;\n\t\t\tu16 queue_id;\n\t\t} xsk;\n\t};\n};\n\nstruct netdev_config {\n\tu32 hds_thresh;\n\tu8 hds_config;\n};\n\nstruct netdev_hw_addr {\n\tstruct list_head list;\n\tstruct rb_node node;\n\tunsigned char addr[32];\n\tunsigned char type;\n\tbool global_use;\n\tint sync_cnt;\n\tint refcount;\n\tint synced;\n\tstruct callback_head callback_head;\n};\n\nstruct netdev_lag_lower_state_info {\n\tu8 link_up: 1;\n\tu8 tx_enabled: 1;\n};\n\nstruct netdev_lag_upper_info {\n\tenum netdev_lag_tx_type tx_type;\n\tenum netdev_lag_hash hash_type;\n};\n\nstruct netdev_name_node {\n\tstruct hlist_node hlist;\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tconst char *name;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_nested_priv {\n\tunsigned char flags;\n\tvoid *data;\n};\n\nstruct netdev_net_notifier {\n\tstruct list_head list;\n\tstruct notifier_block *nb;\n};\n\nstruct netdev_nl_dump_ctx {\n\tlong unsigned int ifindex;\n\tunsigned int rxq_idx;\n\tunsigned int txq_idx;\n\tunsigned int napi_id;\n};\n\nstruct netdev_notifier_info {\n\tstruct net_device *dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct netdev_notifier_bonding_info {\n\tstruct netdev_notifier_info info;\n\tstruct netdev_bonding_info bonding_info;\n};\n\nstruct netdev_notifier_change_info {\n\tstruct netdev_notifier_info info;\n\tunsigned int flags_changed;\n};\n\nstruct netdev_notifier_changelowerstate_info {\n\tstruct netdev_notifier_info info;\n\tvoid *lower_state_info;\n};\n\nstruct netdev_notifier_changeupper_info {\n\tstruct netdev_notifier_info info;\n\tstruct net_device *upper_dev;\n\tbool master;\n\tbool linking;\n\tvoid *upper_info;\n};\n\nstruct netdev_notifier_info_ext {\n\tstruct netdev_notifier_info info;\n\tunion {\n\t\tu32 mtu;\n\t} ext;\n};\n\nstruct netdev_notifier_offload_xstats_rd;\n\nstruct netdev_notifier_offload_xstats_ru;\n\nstruct netdev_notifier_offload_xstats_info {\n\tstruct netdev_notifier_info info;\n\tenum netdev_offload_xstats_type type;\n\tunion {\n\t\tstruct netdev_notifier_offload_xstats_rd *report_delta;\n\t\tstruct netdev_notifier_offload_xstats_ru *report_used;\n\t};\n};\n\nstruct rtnl_hw_stats64 {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 rx_errors;\n\t__u64 tx_errors;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n\t__u64 multicast;\n};\n\nstruct netdev_notifier_offload_xstats_rd {\n\tstruct rtnl_hw_stats64 stats;\n\tbool used;\n};\n\nstruct netdev_notifier_offload_xstats_ru {\n\tbool used;\n};\n\nstruct netdev_notifier_pre_changeaddr_info {\n\tstruct netdev_notifier_info info;\n\tconst unsigned char *dev_addr;\n};\n\nstruct netdev_queue {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct Qdisc *qdisc;\n\tstruct Qdisc *qdisc_sleeping;\n\tstruct kobject kobj;\n\tlong unsigned int tx_maxrate;\n\tatomic_long_t trans_timeout;\n\tstruct net_device *sb_dev;\n\tlong: 64;\n\tlong: 64;\n\tstruct dql dql;\n\tspinlock_t _xmit_lock;\n\tint xmit_lock_owner;\n\tlong unsigned int trans_start;\n\tlong unsigned int state;\n\tstruct napi_struct *napi;\n\tint numa_node;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netdev_queue_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct netdev_queue *, char *);\n\tssize_t (*store)(struct netdev_queue *, const char *, size_t);\n};\n\nstruct netdev_queue_mgmt_ops {\n\tsize_t ndo_queue_mem_size;\n\tint (*ndo_queue_mem_alloc)(struct net_device *, void *, int);\n\tvoid (*ndo_queue_mem_free)(struct net_device *, void *);\n\tint (*ndo_queue_start)(struct net_device *, void *, int);\n\tint (*ndo_queue_stop)(struct net_device *, void *, int);\n};\n\nstruct netdev_queue_stats_rx {\n\tu64 bytes;\n\tu64 packets;\n\tu64 alloc_fail;\n\tu64 hw_drops;\n\tu64 hw_drop_overruns;\n\tu64 csum_unnecessary;\n\tu64 csum_none;\n\tu64 csum_bad;\n\tu64 hw_gro_packets;\n\tu64 hw_gro_bytes;\n\tu64 hw_gro_wire_packets;\n\tu64 hw_gro_wire_bytes;\n\tu64 hw_drop_ratelimits;\n};\n\nstruct netdev_queue_stats_tx {\n\tu64 bytes;\n\tu64 packets;\n\tu64 hw_drops;\n\tu64 hw_drop_errors;\n\tu64 csum_none;\n\tu64 needs_csum;\n\tu64 hw_gso_packets;\n\tu64 hw_gso_bytes;\n\tu64 hw_gso_wire_packets;\n\tu64 hw_gso_wire_bytes;\n\tu64 hw_drop_ratelimits;\n\tu64 stop;\n\tu64 wake;\n};\n\nstruct pp_memory_provider_params {\n\tvoid *mp_priv;\n};\n\nstruct rps_map;\n\nstruct rps_dev_flow_table;\n\nstruct netdev_rx_queue {\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct rps_map *rps_map;\n\tstruct rps_dev_flow_table *rps_flow_table;\n\tstruct kobject kobj;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct napi_struct *napi;\n\tstruct pp_memory_provider_params mp_params;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netdev_stat_ops {\n\tvoid (*get_queue_stats_rx)(struct net_device *, int, struct netdev_queue_stats_rx *);\n\tvoid (*get_queue_stats_tx)(struct net_device *, int, struct netdev_queue_stats_tx *);\n\tvoid (*get_base_stats)(struct net_device *, struct netdev_queue_stats_rx *, struct netdev_queue_stats_tx *);\n};\n\nstruct netdev_xmit {\n\tu16 recursion;\n\tu8 more;\n\tu8 skip_txqueue;\n};\n\nstruct netfront_cb {\n\tint pull_to;\n};\n\nstruct netfront_queue;\n\nstruct netfront_stats;\n\nstruct netfront_info {\n\tstruct list_head list;\n\tstruct net_device *netdev;\n\tstruct xenbus_device *xbdev;\n\tstruct netfront_queue *queues;\n\tstruct netfront_stats *rx_stats;\n\tstruct netfront_stats *tx_stats;\n\tbool netback_has_xdp_headroom;\n\tbool netfront_xdp_enabled;\n\tbool broken;\n\tbool bounce;\n\tatomic_t rx_gso_checksum_fixup;\n};\n\nstruct xen_netif_tx_sring;\n\nstruct xen_netif_tx_front_ring {\n\tRING_IDX req_prod_pvt;\n\tRING_IDX rsp_cons;\n\tunsigned int nr_ents;\n\tstruct xen_netif_tx_sring *sring;\n};\n\nstruct xen_netif_rx_sring;\n\nstruct xen_netif_rx_front_ring {\n\tRING_IDX req_prod_pvt;\n\tRING_IDX rsp_cons;\n\tunsigned int nr_ents;\n\tstruct xen_netif_rx_sring *sring;\n};\n\nstruct netfront_queue {\n\tunsigned int id;\n\tchar name[22];\n\tstruct netfront_info *info;\n\tstruct bpf_prog *xdp_prog;\n\tstruct napi_struct napi;\n\tunsigned int tx_evtchn;\n\tunsigned int rx_evtchn;\n\tunsigned int tx_irq;\n\tunsigned int rx_irq;\n\tchar tx_irq_name[25];\n\tchar rx_irq_name[25];\n\tspinlock_t tx_lock;\n\tstruct xen_netif_tx_front_ring tx;\n\tint tx_ring_ref;\n\tstruct sk_buff *tx_skbs[256];\n\tshort unsigned int tx_link[256];\n\tgrant_ref_t gref_tx_head;\n\tgrant_ref_t grant_tx_ref[256];\n\tstruct page *grant_tx_page[256];\n\tunsigned int tx_skb_freelist;\n\tunsigned int tx_pend_queue;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t rx_lock;\n\tstruct xen_netif_rx_front_ring rx;\n\tint rx_ring_ref;\n\tstruct timer_list rx_refill_timer;\n\tstruct sk_buff *rx_skbs[256];\n\tgrant_ref_t gref_rx_head;\n\tgrant_ref_t grant_rx_ref[256];\n\tunsigned int rx_rsp_unconsumed;\n\tspinlock_t rx_cons_lock;\n\tstruct page_pool *page_pool;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n};\n\nstruct xen_netif_rx_response {\n\tuint16_t id;\n\tuint16_t offset;\n\tuint16_t flags;\n\tint16_t status;\n};\n\nstruct xen_netif_extra_info {\n\tuint8_t type;\n\tuint8_t flags;\n\tunion {\n\t\tstruct {\n\t\t\tuint16_t size;\n\t\t\tuint8_t type;\n\t\t\tuint8_t pad;\n\t\t\tuint16_t features;\n\t\t} gso;\n\t\tstruct {\n\t\t\tuint8_t addr[6];\n\t\t} mcast;\n\t\tstruct {\n\t\t\tuint8_t type;\n\t\t\tuint8_t algorithm;\n\t\t\tuint8_t value[4];\n\t\t} hash;\n\t\tstruct {\n\t\t\tuint16_t headroom;\n\t\t\tuint16_t pad[2];\n\t\t} xdp;\n\t\tuint16_t pad[3];\n\t} u;\n};\n\nstruct netfront_rx_info {\n\tstruct xen_netif_rx_response rx;\n\tstruct xen_netif_extra_info extras[5];\n};\n\nstruct netfront_stats {\n\tu64 packets;\n\tu64 bytes;\n\tstruct u64_stats_sync syncp;\n};\n\ntypedef void (*netfs_io_terminated_t)(void *, ssize_t, bool);\n\nstruct netfs_io_subrequest;\n\nstruct netfs_cache_ops {\n\tvoid (*end_operation)(struct netfs_cache_resources *);\n\tint (*read)(struct netfs_cache_resources *, loff_t, struct iov_iter *, enum netfs_read_from_hole, netfs_io_terminated_t, void *);\n\tint (*write)(struct netfs_cache_resources *, loff_t, struct iov_iter *, netfs_io_terminated_t, void *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tvoid (*expand_readahead)(struct netfs_cache_resources *, long long unsigned int *, long long unsigned int *, long long unsigned int);\n\tenum netfs_io_source (*prepare_read)(struct netfs_io_subrequest *, long long unsigned int);\n\tvoid (*prepare_write_subreq)(struct netfs_io_subrequest *);\n\tint (*prepare_write)(struct netfs_cache_resources *, loff_t *, size_t *, size_t, loff_t, bool);\n\tenum netfs_io_source (*prepare_ondemand_read)(struct netfs_cache_resources *, loff_t, size_t *, loff_t, long unsigned int *, ino_t);\n\tint (*query_occupancy)(struct netfs_cache_resources *, loff_t, size_t, size_t, loff_t *, size_t *);\n};\n\nstruct netfs_cache_resources {\n\tconst struct netfs_cache_ops *ops;\n\tvoid *cache_priv;\n\tvoid *cache_priv2;\n\tunsigned int debug_id;\n\tunsigned int inval_counter;\n};\n\nstruct netfs_group;\n\nstruct netfs_folio {\n\tstruct netfs_group *netfs_group;\n\tunsigned int dirty_offset;\n\tunsigned int dirty_len;\n};\n\nstruct netfs_group {\n\trefcount_t ref;\n\tvoid (*free)(struct netfs_group *);\n};\n\nstruct netfs_request_ops;\n\nstruct netfs_inode {\n\tstruct inode inode;\n\tconst struct netfs_request_ops *ops;\n\tstruct mutex wb_lock;\n\tloff_t remote_i_size;\n\tloff_t zero_point;\n\tatomic_t io_count;\n\tlong unsigned int flags;\n};\n\nstruct netfs_io_stream {\n\tstruct netfs_io_subrequest *construct;\n\tsize_t sreq_max_len;\n\tunsigned int sreq_max_segs;\n\tunsigned int submit_off;\n\tunsigned int submit_len;\n\tunsigned int submit_extendable_to;\n\tvoid (*prepare_write)(struct netfs_io_subrequest *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tstruct list_head subrequests;\n\tstruct netfs_io_subrequest *front;\n\tlong long unsigned int collected_to;\n\tsize_t transferred;\n\tenum netfs_io_source source;\n\tshort unsigned int error;\n\tunsigned char stream_nr;\n\tbool avail;\n\tbool active;\n\tbool need_retry;\n\tbool failed;\n};\n\nstruct rolling_buffer {\n\tstruct folio_queue *head;\n\tstruct folio_queue *tail;\n\tstruct iov_iter iter;\n\tu8 next_head_slot;\n\tu8 first_tail_slot;\n};\n\nstruct netfs_io_request {\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct inode *inode;\n\tstruct address_space *mapping;\n\tstruct kiocb *iocb;\n\tstruct netfs_cache_resources cache_resources;\n\tstruct netfs_io_request *copy_to_cache;\n\tstruct readahead_control *ractl;\n\tstruct list_head proc_link;\n\tstruct netfs_io_stream io_streams[2];\n\tstruct netfs_group *group;\n\tstruct rolling_buffer buffer;\n\twait_queue_head_t waitq;\n\tvoid *netfs_priv;\n\tvoid *netfs_priv2;\n\tstruct bio_vec *direct_bv;\n\tunsigned int direct_bv_count;\n\tunsigned int debug_id;\n\tunsigned int rsize;\n\tunsigned int wsize;\n\tatomic_t subreq_counter;\n\tunsigned int nr_group_rel;\n\tspinlock_t lock;\n\tlong long unsigned int submitted;\n\tlong long unsigned int len;\n\tsize_t transferred;\n\tlong int error;\n\tenum netfs_io_origin origin;\n\tbool direct_bv_unpin;\n\tlong long unsigned int i_size;\n\tlong long unsigned int start;\n\tatomic64_t issued_to;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int cleaned_to;\n\tlong long unsigned int abandon_to;\n\tlong unsigned int no_unlock_folio;\n\tunsigned char front_folio_order;\n\trefcount_t ref;\n\tlong unsigned int flags;\n\tconst struct netfs_request_ops *netfs_ops;\n\tvoid (*cleanup)(struct netfs_io_request *);\n};\n\nstruct netfs_io_subrequest {\n\tstruct netfs_io_request *rreq;\n\tstruct work_struct work;\n\tstruct list_head rreq_link;\n\tstruct iov_iter io_iter;\n\tlong long unsigned int start;\n\tsize_t len;\n\tsize_t transferred;\n\trefcount_t ref;\n\tshort int error;\n\tshort unsigned int debug_index;\n\tunsigned int nr_segs;\n\tu8 retry_count;\n\tenum netfs_io_source source;\n\tunsigned char stream_nr;\n\tlong unsigned int flags;\n};\n\nstruct netfs_request_ops {\n\tmempool_t *request_pool;\n\tmempool_t *subrequest_pool;\n\tint (*init_request)(struct netfs_io_request *, struct file *);\n\tvoid (*free_request)(struct netfs_io_request *);\n\tvoid (*free_subrequest)(struct netfs_io_subrequest *);\n\tvoid (*expand_readahead)(struct netfs_io_request *);\n\tint (*prepare_read)(struct netfs_io_subrequest *);\n\tvoid (*issue_read)(struct netfs_io_subrequest *);\n\tbool (*is_still_valid)(struct netfs_io_request *);\n\tint (*check_write_begin)(struct file *, loff_t, unsigned int, struct folio **, void **);\n\tvoid (*done)(struct netfs_io_request *);\n\tvoid (*update_i_size)(struct inode *, loff_t);\n\tvoid (*post_modify)(struct inode *);\n\tvoid (*begin_writeback)(struct netfs_io_request *);\n\tvoid (*prepare_write)(struct netfs_io_subrequest *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tvoid (*retry_request)(struct netfs_io_request *, struct netfs_io_stream *);\n\tvoid (*invalidate_cache)(struct netfs_io_request *);\n};\n\nstruct netlink_broadcast_data {\n\tstruct sock *exclude_sk;\n\tstruct net *net;\n\tu32 portid;\n\tu32 group;\n\tint failure;\n\tint delivery_failure;\n\tint congested;\n\tint delivered;\n\tgfp_t allocation;\n\tstruct sk_buff *skb;\n\tstruct sk_buff *skb2;\n\tint (*tx_filter)(struct sock *, struct sk_buff *, void *);\n\tvoid *tx_data;\n};\n\nstruct netlink_callback {\n\tstruct sk_buff *skb;\n\tconst struct nlmsghdr *nlh;\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tvoid *data;\n\tstruct module *module;\n\tstruct netlink_ext_ack *extack;\n\tu16 family;\n\tu16 answer_flags;\n\tu32 min_dump_alloc;\n\tunsigned int prev_seq;\n\tunsigned int seq;\n\tint flags;\n\tbool strict_check;\n\tunion {\n\t\tu8 ctx[48];\n\t\tlong int args[6];\n\t};\n};\n\nstruct netlink_compare_arg {\n\tpossible_net_t pnet;\n\tu32 portid;\n};\n\nstruct netlink_dump_control {\n\tint (*start)(struct netlink_callback *);\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tstruct netlink_ext_ack *extack;\n\tvoid *data;\n\tstruct module *module;\n\tu32 min_dump_alloc;\n\tint flags;\n};\n\nstruct netlink_ext_ack {\n\tconst char *_msg;\n\tconst struct nlattr *bad_attr;\n\tconst struct nla_policy *policy;\n\tconst struct nlattr *miss_nest;\n\tu16 miss_type;\n\tu8 cookie[20];\n\tu8 cookie_len;\n\tchar _msg_buf[80];\n};\n\nstruct netlink_kernel_cfg {\n\tunsigned int groups;\n\tunsigned int flags;\n\tvoid (*input)(struct sk_buff *);\n\tint (*bind)(struct net *, int);\n\tvoid (*unbind)(struct net *, int);\n\tvoid (*release)(struct sock *, long unsigned int *);\n};\n\nstruct netlink_notify {\n\tstruct net *net;\n\tu32 portid;\n\tint protocol;\n};\n\nstruct netlink_policy_dump_state {\n\tunsigned int policy_idx;\n\tunsigned int attr_idx;\n\tunsigned int n_alloc;\n\tstruct {\n\t\tconst struct nla_policy *policy;\n\t\tunsigned int maxtype;\n\t} policies[0];\n};\n\nstruct netlink_range_validation {\n\tu64 min;\n\tu64 max;\n};\n\nstruct netlink_range_validation_signed {\n\ts64 min;\n\ts64 max;\n};\n\nstruct netlink_set_err_data {\n\tstruct sock *exclude_sk;\n\tu32 portid;\n\tu32 group;\n\tint code;\n};\n\nstruct scm_creds {\n\tu32 pid;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\nstruct netlink_skb_parms {\n\tstruct scm_creds creds;\n\t__u32 portid;\n\t__u32 dst_group;\n\t__u32 flags;\n\tstruct sock *sk;\n\tbool nsid_is_set;\n\tint nsid;\n};\n\nstruct netlink_sock {\n\tstruct sock sk;\n\tlong unsigned int flags;\n\tu32 portid;\n\tu32 dst_portid;\n\tu32 dst_group;\n\tu32 subscriptions;\n\tu32 ngroups;\n\tlong unsigned int *groups;\n\tlong unsigned int state;\n\tsize_t max_recvmsg_len;\n\twait_queue_head_t wait;\n\tbool bound;\n\tbool cb_running;\n\tint dump_done_errno;\n\tstruct netlink_callback cb;\n\tstruct mutex nl_cb_mutex;\n\tvoid (*netlink_rcv)(struct sk_buff *);\n\tint (*netlink_bind)(struct net *, int);\n\tvoid (*netlink_unbind)(struct net *, int);\n\tvoid (*netlink_release)(struct sock *, long unsigned int *);\n\tstruct module *module;\n\tstruct rhash_head node;\n\tstruct callback_head rcu;\n};\n\nstruct netlink_table {\n\tstruct rhashtable hash;\n\tstruct hlist_head mc_list;\n\tstruct listeners *listeners;\n\tunsigned int flags;\n\tunsigned int groups;\n\tstruct mutex *cb_mutex;\n\tstruct module *module;\n\tint (*bind)(struct net *, int);\n\tvoid (*unbind)(struct net *, int);\n\tvoid (*release)(struct sock *, long unsigned int *);\n\tint registered;\n};\n\nstruct netlink_tap {\n\tstruct net_device *dev;\n\tstruct module *module;\n\tstruct list_head list;\n};\n\nstruct netlink_tap_net {\n\tstruct list_head netlink_tap_all;\n\tstruct mutex netlink_tap_lock;\n};\n\nstruct netsec_de {\n\tu32 attr;\n\tu32 data_buf_addr_up;\n\tu32 data_buf_addr_lw;\n\tu32 buf_len_info;\n};\n\nstruct netsec_desc {\n\tunion {\n\t\tstruct sk_buff *skb;\n\t\tstruct xdp_frame *xdpf;\n\t};\n\tdma_addr_t dma_addr;\n\tvoid *addr;\n\tu16 len;\n\tu8 buf_type;\n};\n\nstruct netsec_desc_ring {\n\tdma_addr_t desc_dma;\n\tstruct netsec_desc *desc;\n\tvoid *vaddr;\n\tu16 head;\n\tu16 tail;\n\tu16 xdp_xmit;\n\tstruct page_pool *page_pool;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netsec_priv {\n\tstruct netsec_desc_ring desc_ring[2];\n\tstruct ethtool_coalesce et_coalesce;\n\tstruct bpf_prog *xdp_prog;\n\tspinlock_t reglock;\n\tstruct napi_struct napi;\n\tphy_interface_t phy_interface;\n\tstruct net_device *ndev;\n\tstruct device_node *phy_np;\n\tstruct phy_device *phydev;\n\tstruct mii_bus *mii_bus;\n\tvoid *ioaddr;\n\tvoid *eeprom_base;\n\tstruct device *dev;\n\tstruct clk *clk;\n\tu32 msg_enable;\n\tu32 freq;\n\tu32 phy_addr;\n\tbool rx_cksum_offload_flag;\n\tlong: 64;\n};\n\nstruct netsec_rx_pkt_info {\n\tint rx_cksum_result;\n\tint err_code;\n\tbool err_flag;\n};\n\nstruct netsec_tx_pkt_ctrl {\n\tu16 tcp_seg_len;\n\tbool tcp_seg_offload_flag;\n\tbool cksum_offload_flag;\n};\n\nstruct netsfhdr {\n\t__be32 version;\n\t__be64 magic;\n\tu8 id;\n} __attribute__((packed));\n\nstruct new_utsname {\n\tchar sysname[65];\n\tchar nodename[65];\n\tchar release[65];\n\tchar version[65];\n\tchar machine[65];\n\tchar domainname[65];\n};\n\nstruct nh_info;\n\nstruct nh_group;\n\nstruct nexthop {\n\tstruct rb_node rb_node;\n\tstruct list_head fi_list;\n\tstruct list_head f6i_list;\n\tstruct list_head fdb_list;\n\tstruct list_head grp_list;\n\tstruct net *net;\n\tu32 id;\n\tu8 protocol;\n\tu8 nh_flags;\n\tbool is_group;\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tunion {\n\t\tstruct nh_info *nh_info;\n\t\tstruct nh_group *nh_grp;\n\t};\n};\n\nstruct nexthop_grp {\n\t__u32 id;\n\t__u8 weight;\n\t__u8 weight_high;\n\t__u16 resvd2;\n};\n\nstruct nf_bridge_info {\n\tenum {\n\t\tBRNF_PROTO_UNCHANGED = 0,\n\t\tBRNF_PROTO_8021Q = 1,\n\t\tBRNF_PROTO_PPPOE = 2,\n\t} orig_proto: 8;\n\tu8 pkt_otherhost: 1;\n\tu8 in_prerouting: 1;\n\tu8 bridged_dnat: 1;\n\tu8 sabotage_in_done: 1;\n\t__u16 frag_max_size;\n\tint physinif;\n\tstruct net_device *physoutdev;\n\tunion {\n\t\t__be32 ipv4_daddr;\n\t\tstruct in6_addr ipv6_daddr;\n\t\tchar neigh_header[8];\n\t};\n};\n\nstruct nf_conntrack {\n\trefcount_t use;\n};\n\nunion nf_inet_addr {\n\t__u32 all[4];\n\t__be32 ip;\n\t__be32 ip6[4];\n\tstruct in_addr in;\n\tstruct in6_addr in6;\n};\n\nunion nf_conntrack_man_proto {\n\t__be16 all;\n\tstruct {\n\t\t__be16 port;\n\t} tcp;\n\tstruct {\n\t\t__be16 port;\n\t} udp;\n\tstruct {\n\t\t__be16 id;\n\t} icmp;\n\tstruct {\n\t\t__be16 port;\n\t} dccp;\n\tstruct {\n\t\t__be16 port;\n\t} sctp;\n\tstruct {\n\t\t__be16 key;\n\t} gre;\n};\n\nstruct nf_conntrack_man {\n\tunion nf_inet_addr u3;\n\tunion nf_conntrack_man_proto u;\n\tu_int16_t l3num;\n};\n\nstruct nf_conntrack_tuple {\n\tstruct nf_conntrack_man src;\n\tstruct {\n\t\tunion nf_inet_addr u3;\n\t\tunion {\n\t\t\t__be16 all;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} tcp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} udp;\n\t\t\tstruct {\n\t\t\t\tu_int8_t type;\n\t\t\t\tu_int8_t code;\n\t\t\t} icmp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} dccp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} sctp;\n\t\t\tstruct {\n\t\t\t\t__be16 key;\n\t\t\t} gre;\n\t\t} u;\n\t\tu_int8_t protonum;\n\t\tstruct {} __nfct_hash_offsetend;\n\t\tu_int8_t dir;\n\t} dst;\n};\n\nstruct nf_conntrack_tuple_hash {\n\tstruct hlist_nulls_node hnnode;\n\tstruct nf_conntrack_tuple tuple;\n};\n\nstruct nf_ct_dccp {\n\tu_int8_t role[2];\n\tu_int8_t state;\n\tu_int8_t last_pkt;\n\tu_int8_t last_dir;\n\tu_int64_t handshake_seq;\n};\n\nstruct nf_ct_udp {\n\tlong unsigned int stream_ts;\n};\n\nstruct nf_ct_gre {\n\tunsigned int stream_timeout;\n\tunsigned int timeout;\n};\n\nunion nf_conntrack_proto {\n\tstruct nf_ct_dccp dccp;\n\tstruct ip_ct_sctp sctp;\n\tstruct ip_ct_tcp tcp;\n\tstruct nf_ct_udp udp;\n\tstruct nf_ct_gre gre;\n\tunsigned int tmpl_padto;\n};\n\nstruct nf_ct_ext;\n\nstruct nf_conn {\n\tstruct nf_conntrack ct_general;\n\tspinlock_t lock;\n\tu32 timeout;\n\tstruct nf_conntrack_tuple_hash tuplehash[2];\n\tlong unsigned int status;\n\tpossible_net_t ct_net;\n\tstruct hlist_node nat_bysource;\n\tstruct {} __nfct_init_offset;\n\tstruct nf_conn *master;\n\tstruct nf_ct_ext *ext;\n\tunion nf_conntrack_proto proto;\n};\n\nstruct nf_conn___init {\n\tstruct nf_conn ct;\n};\n\nstruct nf_conn_labels {\n\tlong unsigned int bits[2];\n};\n\nstruct nf_conntrack_tuple_mask {\n\tstruct {\n\t\tunion nf_inet_addr u3;\n\t\tunion nf_conntrack_man_proto u;\n\t} src;\n};\n\nstruct nf_conntrack_helper;\n\nstruct nf_conntrack_expect {\n\tstruct hlist_node lnode;\n\tstruct hlist_node hnode;\n\tstruct nf_conntrack_tuple tuple;\n\tstruct nf_conntrack_tuple_mask mask;\n\trefcount_t use;\n\tunsigned int flags;\n\tunsigned int class;\n\tvoid (*expectfn)(struct nf_conn *, struct nf_conntrack_expect *);\n\tstruct nf_conntrack_helper *helper;\n\tstruct nf_conn *master;\n\tstruct timer_list timeout;\n\tunion nf_inet_addr saved_addr;\n\tunion nf_conntrack_man_proto saved_proto;\n\tenum ip_conntrack_dir dir;\n\tstruct callback_head rcu;\n};\n\nstruct nf_conntrack_zone {\n\tu16 id;\n\tu8 flags;\n\tu8 dir;\n};\n\nstruct nf_ct_event {\n\tstruct nf_conn *ct;\n\tu32 portid;\n\tint report;\n};\n\nstruct nf_exp_event;\n\nstruct nf_ct_event_notifier {\n\tint (*ct_event)(unsigned int, const struct nf_ct_event *);\n\tint (*exp_event)(unsigned int, const struct nf_exp_event *);\n};\n\nstruct nf_ct_ext {\n\tu8 offset[5];\n\tu8 len;\n\tunsigned int gen_id;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct nf_ct_hook {\n\tint (*update)(struct net *, struct sk_buff *);\n\tvoid (*destroy)(struct nf_conntrack *);\n\tbool (*get_tuple_skb)(struct nf_conntrack_tuple *, const struct sk_buff *);\n\tvoid (*attach)(struct sk_buff *, const struct sk_buff *);\n\tvoid (*set_closing)(struct nf_conntrack *);\n\tint (*confirm)(struct sk_buff *);\n};\n\nstruct nf_defrag_hook {\n\tstruct module *owner;\n\tint (*enable)(struct net *);\n\tvoid (*disable)(struct net *);\n};\n\nstruct nf_exp_event {\n\tstruct nf_conntrack_expect *exp;\n\tu32 portid;\n\tint report;\n};\n\nstruct nf_hook_entry {\n\tnf_hookfn *hook;\n\tvoid *priv;\n};\n\nstruct nf_hook_entries {\n\tu16 num_hook_entries;\n\tstruct nf_hook_entry hooks[0];\n};\n\nstruct nf_hook_entries_rcu_head {\n\tstruct callback_head head;\n\tvoid *allocation;\n};\n\nstruct nf_hook_state {\n\tu8 hook;\n\tu8 pf;\n\tstruct net_device *in;\n\tstruct net_device *out;\n\tstruct sock *sk;\n\tstruct net *net;\n\tint (*okfn)(struct net *, struct sock *, struct sk_buff *);\n};\n\nstruct nf_bridge_frag_data;\n\nstruct nf_queue_entry;\n\nstruct nf_ipv6_ops {\n\tint (*chk_addr)(struct net *, const struct in6_addr *, const struct net_device *, int);\n\tint (*route_me_harder)(struct net *, struct sock *, struct sk_buff *);\n\tint (*dev_get_saddr)(struct net *, const struct net_device *, const struct in6_addr *, unsigned int, struct in6_addr *);\n\tint (*route)(struct net *, struct dst_entry **, struct flowi *, bool);\n\tu32 (*cookie_init_sequence)(const struct ipv6hdr *, const struct tcphdr *, u16 *);\n\tint (*cookie_v6_check)(const struct ipv6hdr *, const struct tcphdr *);\n\tvoid (*route_input)(struct sk_buff *);\n\tint (*fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *));\n\tint (*reroute)(struct sk_buff *, const struct nf_queue_entry *);\n\tint (*br_fragment)(struct net *, struct sock *, struct sk_buff *, struct nf_bridge_frag_data *, int (*)(struct net *, struct sock *, const struct nf_bridge_frag_data *, struct sk_buff *));\n};\n\nstruct nf_log_buf {\n\tunsigned int count;\n\tchar buf[1020];\n};\n\nstruct nf_loginfo;\n\ntypedef void nf_logfn(struct net *, u_int8_t, unsigned int, const struct sk_buff *, const struct net_device *, const struct net_device *, const struct nf_loginfo *, const char *);\n\nstruct nf_logger {\n\tchar *name;\n\tenum nf_log_type type;\n\tnf_logfn *logfn;\n\tstruct module *me;\n};\n\nstruct nf_loginfo {\n\tu_int8_t type;\n\tunion {\n\t\tstruct {\n\t\t\tu_int32_t copy_len;\n\t\t\tu_int16_t group;\n\t\t\tu_int16_t qthreshold;\n\t\t\tu_int16_t flags;\n\t\t} ulog;\n\t\tstruct {\n\t\t\tu_int8_t level;\n\t\t\tu_int8_t logflags;\n\t\t} log;\n\t} u;\n};\n\nstruct nf_nat_hook {\n\tint (*parse_nat_setup)(struct nf_conn *, enum nf_nat_manip_type, const struct nlattr *);\n\tvoid (*decode_session)(struct sk_buff *, struct flowi *);\n\tvoid (*remove_nat_bysrc)(struct nf_conn *);\n};\n\nstruct nf_queue_entry {\n\tstruct list_head list;\n\tstruct sk_buff *skb;\n\tunsigned int id;\n\tunsigned int hook_index;\n\tstruct net_device *physin;\n\tstruct net_device *physout;\n\tstruct nf_hook_state state;\n\tu16 size;\n};\n\nstruct nf_queue_handler {\n\tint (*outfn)(struct nf_queue_entry *, unsigned int);\n\tvoid (*nf_hook_drop)(struct net *);\n};\n\nstruct nf_sockopt_ops {\n\tstruct list_head list;\n\tu_int8_t pf;\n\tint set_optmin;\n\tint set_optmax;\n\tint (*set)(struct sock *, int, sockptr_t, unsigned int);\n\tint get_optmin;\n\tint get_optmax;\n\tint (*get)(struct sock *, int, void *, int *);\n\tstruct module *owner;\n};\n\nstruct nfnl_ct_hook {\n\tsize_t (*build_size)(const struct nf_conn *);\n\tint (*build)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, u_int16_t, u_int16_t);\n\tint (*parse)(const struct nlattr *, struct nf_conn *);\n\tint (*attach_expect)(const struct nlattr *, struct nf_conn *, u32, u32);\n\tvoid (*seq_adjust)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, s32);\n};\n\nstruct nfs2_fh {\n\tchar data[32];\n};\n\nstruct nfs3_accessargs {\n\tstruct nfs_fh *fh;\n\t__u32 access;\n};\n\nstruct nfs_fattr;\n\nstruct nfs3_accessres {\n\tstruct nfs_fattr *fattr;\n\t__u32 access;\n};\n\nstruct nfs3_createargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tstruct iattr *sattr;\n\tenum nfs3_createmode createmode;\n\t__be32 verifier[2];\n};\n\nstruct rpc_procinfo;\n\nstruct rpc_message {\n\tconst struct rpc_procinfo *rpc_proc;\n\tvoid *rpc_argp;\n\tvoid *rpc_resp;\n\tconst struct cred *rpc_cred;\n};\n\nstruct nfs3_mkdirargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tstruct iattr *sattr;\n};\n\nstruct nfs3_symlinkargs {\n\tstruct nfs_fh *fromfh;\n\tconst char *fromname;\n\tunsigned int fromlen;\n\tstruct page **pages;\n\tunsigned int pathlen;\n\tstruct iattr *sattr;\n};\n\nstruct nfs3_mknodargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tenum nfs3_ftype type;\n\tstruct iattr *sattr;\n\tdev_t rdev;\n};\n\nstruct nfs3_diropres {\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs4_string;\n\nstruct nfs4_threshold;\n\nstruct nfs4_label;\n\nstruct nfs_fattr {\n\tunsigned int valid;\n\tumode_t mode;\n\t__u32 nlink;\n\tkuid_t uid;\n\tkgid_t gid;\n\tdev_t rdev;\n\t__u64 size;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 blocksize;\n\t\t\t__u32 blocks;\n\t\t} nfs2;\n\t\tstruct {\n\t\t\t__u64 used;\n\t\t} nfs3;\n\t} du;\n\tstruct nfs_fsid fsid;\n\t__u64 fileid;\n\t__u64 mounted_on_fileid;\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tstruct timespec64 ctime;\n\t__u64 change_attr;\n\t__u64 pre_change_attr;\n\t__u64 pre_size;\n\tstruct timespec64 pre_mtime;\n\tstruct timespec64 pre_ctime;\n\tlong unsigned int time_start;\n\tlong unsigned int gencount;\n\tstruct nfs4_string *owner_name;\n\tstruct nfs4_string *group_name;\n\tstruct nfs4_threshold *mdsthreshold;\n\tstruct nfs4_label *label;\n};\n\nstruct nfs3_createdata {\n\tstruct rpc_message msg;\n\tunion {\n\t\tstruct nfs3_createargs create;\n\t\tstruct nfs3_mkdirargs mkdir;\n\t\tstruct nfs3_symlinkargs symlink;\n\t\tstruct nfs3_mknodargs mknod;\n\t} arg;\n\tstruct nfs3_diropres res;\n\tstruct nfs_fh fh;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_fattr dir_attr;\n};\n\nstruct nfs3_diropargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n};\n\nstruct nfs3_fh {\n\tshort unsigned int size;\n\tunsigned char data[64];\n};\n\nstruct nfs3_linkargs {\n\tstruct nfs_fh *fromfh;\n\tstruct nfs_fh *tofh;\n\tconst char *toname;\n\tunsigned int tolen;\n};\n\nstruct nfs3_linkres {\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs3_readdirargs {\n\tstruct nfs_fh *fh;\n\t__u64 cookie;\n\t__be32 verf[2];\n\tbool plus;\n\tunsigned int count;\n\tstruct page **pages;\n};\n\nstruct nfs3_readdirres {\n\tstruct nfs_fattr *dir_attr;\n\t__be32 *verf;\n\tbool plus;\n};\n\nstruct nfs3_readlinkargs {\n\tstruct nfs_fh *fh;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tstruct page **pages;\n};\n\nstruct nfs3_sattrargs {\n\tstruct nfs_fh *fh;\n\tstruct iattr *sattr;\n\tunsigned int guard;\n\tstruct timespec64 guardtime;\n};\n\nstruct nfs41_bind_conn_to_session_args {\n\tstruct nfs_client *client;\n\tstruct nfs4_sessionid sessionid;\n\tu32 dir;\n\tbool use_conn_in_rdma_mode;\n\tint retries;\n};\n\nstruct nfs41_bind_conn_to_session_res {\n\tstruct nfs4_sessionid sessionid;\n\tu32 dir;\n\tbool use_conn_in_rdma_mode;\n};\n\nstruct nfs4_channel_attrs {\n\tu32 max_rqst_sz;\n\tu32 max_resp_sz;\n\tu32 max_resp_sz_cached;\n\tu32 max_ops;\n\tu32 max_reqs;\n};\n\nstruct nfs41_create_session_args {\n\tstruct nfs_client *client;\n\tu64 clientid;\n\tuint32_t seqid;\n\tuint32_t flags;\n\tuint32_t cb_program;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_channel_attrs bc_attrs;\n};\n\nstruct nfs41_create_session_res {\n\tstruct nfs4_sessionid sessionid;\n\tuint32_t seqid;\n\tuint32_t flags;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_channel_attrs bc_attrs;\n};\n\nstruct nfs4_op_map {\n\tunion {\n\t\tlong unsigned int longs[2];\n\t\tu32 words[4];\n\t} u;\n};\n\nstruct nfs41_state_protection {\n\tu32 how;\n\tstruct nfs4_op_map enforce;\n\tstruct nfs4_op_map allow;\n};\n\nstruct nfs41_exchange_id_args {\n\tstruct nfs_client *client;\n\tnfs4_verifier verifier;\n\tu32 flags;\n\tstruct nfs41_state_protection state_protect;\n};\n\nstruct nfs41_server_owner;\n\nstruct nfs41_server_scope;\n\nstruct nfs41_impl_id;\n\nstruct nfs41_exchange_id_res {\n\tu64 clientid;\n\tu32 seqid;\n\tu32 flags;\n\tstruct nfs41_server_owner *server_owner;\n\tstruct nfs41_server_scope *server_scope;\n\tstruct nfs41_impl_id *impl_id;\n\tstruct nfs41_state_protection state_protect;\n};\n\nstruct nfs41_exchange_id_data {\n\tstruct nfs41_exchange_id_res res;\n\tstruct nfs41_exchange_id_args args;\n};\n\nstruct nfs4_sequence_args {\n\tstruct nfs4_slot *sa_slot;\n\tu8 sa_cache_this: 1;\n\tu8 sa_privileged: 1;\n};\n\nstruct nfs41_free_stateid_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs4_sequence_res {\n\tstruct nfs4_slot *sr_slot;\n\tlong unsigned int sr_timestamp;\n\tint sr_status;\n\tu32 sr_status_flags;\n\tu32 sr_highest_slotid;\n\tu32 sr_target_highest_slotid;\n};\n\nstruct nfs41_free_stateid_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n};\n\nstruct nfstime4 {\n\tint64_t seconds;\n\tuint32_t nseconds;\n};\n\nstruct nfs41_impl_id {\n\tchar domain[1025];\n\tchar name[1025];\n\tstruct nfstime4 date;\n};\n\nstruct nfs41_reclaim_complete_args {\n\tstruct nfs4_sequence_args seq_args;\n\tunsigned char one_fs: 1;\n};\n\nstruct nfs41_reclaim_complete_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs41_secinfo_no_name_args {\n\tstruct nfs4_sequence_args seq_args;\n\tint style;\n};\n\nstruct nfs41_server_owner {\n\tuint64_t minor_id;\n\tuint32_t major_id_sz;\n\tchar major_id[1024];\n};\n\nstruct nfs41_server_scope {\n\tuint32_t server_scope_sz;\n\tchar server_scope[1024];\n};\n\nstruct nfs41_test_stateid_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs41_test_stateid_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n};\n\nstruct nfs42_clone_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *src_fh;\n\tstruct nfs_fh *dst_fh;\n\tnfs4_stateid src_stateid;\n\tnfs4_stateid dst_stateid;\n\t__u64 src_offset;\n\t__u64 dst_offset;\n\t__u64 count;\n\tconst u32 *dst_bitmask;\n};\n\nstruct nfs_server;\n\nstruct nfs42_clone_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int rpc_status;\n\tstruct nfs_fattr *dst_fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nl4_server;\n\nstruct nfs42_copy_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *src_fh;\n\tnfs4_stateid src_stateid;\n\tu64 src_pos;\n\tstruct nfs_fh *dst_fh;\n\tnfs4_stateid dst_stateid;\n\tu64 dst_pos;\n\tu64 count;\n\tbool sync;\n\tstruct nl4_server *cp_src;\n};\n\nstruct nfs42_netaddr {\n\tchar netid[5];\n\tchar addr[58];\n\tu32 netid_len;\n\tu32 addr_len;\n};\n\nstruct nl4_server {\n\tenum netloc_type4 nl4_type;\n\tunion {\n\t\tstruct {\n\t\t\tint nl4_str_sz;\n\t\t\tchar nl4_str[1025];\n\t\t};\n\t\tstruct nfs42_netaddr nl4_addr;\n\t} u;\n};\n\nstruct nfs42_copy_notify_args {\n\tstruct nfs4_sequence_args cna_seq_args;\n\tstruct nfs_fh *cna_src_fh;\n\tnfs4_stateid cna_src_stateid;\n\tstruct nl4_server cna_dst;\n};\n\nstruct nfs42_copy_notify_res {\n\tstruct nfs4_sequence_res cnr_seq_res;\n\tstruct nfstime4 cnr_lease_time;\n\tnfs4_stateid cnr_stateid;\n\tstruct nl4_server cnr_src;\n};\n\nstruct nfs42_write_res {\n\tnfs4_stateid stateid;\n\tu64 count;\n\tstruct nfs_writeverf verifier;\n};\n\nstruct nfs_commitres {\n\tstruct nfs4_sequence_res seq_res;\n\t__u32 op_status;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_writeverf *verf;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs42_copy_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs42_write_res write_res;\n\tbool consecutive;\n\tbool synchronous;\n\tstruct nfs_commitres commit_res;\n};\n\nstruct nfs42_device_error {\n\tstruct nfs4_deviceid dev_id;\n\tint status;\n\tenum nfs_opnum4 opnum;\n};\n\nstruct nfs42_falloc_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *falloc_fh;\n\tnfs4_stateid falloc_stateid;\n\tu64 falloc_offset;\n\tu64 falloc_length;\n\tconst u32 *falloc_bitmask;\n};\n\nstruct nfs42_falloc_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n\tstruct nfs_fattr *falloc_fattr;\n\tconst struct nfs_server *falloc_server;\n};\n\nstruct nfs42_getxattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst char *xattr_name;\n\tsize_t xattr_len;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_getxattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tsize_t xattr_len;\n};\n\nstruct nfs42_layout_error {\n\t__u64 offset;\n\t__u64 length;\n\tnfs4_stateid stateid;\n\tstruct nfs42_device_error errors[1];\n};\n\nstruct nfs42_layouterror_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct inode *inode;\n\tunsigned int num_errors;\n\tstruct nfs42_layout_error errors[5];\n};\n\nstruct nfs42_layouterror_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int num_errors;\n\tint rpc_status;\n};\n\nstruct pnfs_layout_segment;\n\nstruct nfs42_layouterror_data {\n\tstruct nfs42_layouterror_args args;\n\tstruct nfs42_layouterror_res res;\n\tstruct inode *inode;\n\tstruct pnfs_layout_segment *lseg;\n};\n\nstruct nfs42_layoutstat_devinfo;\n\nstruct nfs42_layoutstat_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct inode *inode;\n\tnfs4_stateid stateid;\n\tint num_dev;\n\tstruct nfs42_layoutstat_devinfo *devinfo;\n};\n\nstruct nfs42_layoutstat_res {\n\tstruct nfs4_sequence_res seq_res;\n\tint num_dev;\n\tint rpc_status;\n};\n\nstruct nfs42_layoutstat_data {\n\tstruct inode *inode;\n\tstruct nfs42_layoutstat_args args;\n\tstruct nfs42_layoutstat_res res;\n};\n\nstruct nfs4_xdr_opaque_ops;\n\nstruct nfs4_xdr_opaque_data {\n\tconst struct nfs4_xdr_opaque_ops *ops;\n\tvoid *data;\n};\n\nstruct nfs42_layoutstat_devinfo {\n\tstruct nfs4_deviceid dev_id;\n\t__u64 offset;\n\t__u64 length;\n\t__u64 read_count;\n\t__u64 read_bytes;\n\t__u64 write_count;\n\t__u64 write_bytes;\n\t__u32 layout_type;\n\tstruct nfs4_xdr_opaque_data ld_private;\n};\n\nstruct nfs42_listxattrsargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tu32 count;\n\tu64 cookie;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_listxattrsres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct page *scratch;\n\tvoid *xattr_buf;\n\tsize_t xattr_len;\n\tu64 cookie;\n\tbool eof;\n\tsize_t copied;\n};\n\nstruct nfs42_offload_status_args {\n\tstruct nfs4_sequence_args osa_seq_args;\n\tstruct nfs_fh *osa_src_fh;\n\tnfs4_stateid osa_stateid;\n};\n\nstruct nfs42_offload_status_res {\n\tstruct nfs4_sequence_res osr_seq_res;\n\tuint64_t osr_count;\n\tint osr_status;\n};\n\nstruct nfs42_offload_data {\n\tstruct nfs_server *seq_server;\n\tstruct nfs42_offload_status_args args;\n\tstruct nfs42_offload_status_res res;\n};\n\nstruct nfs42_removexattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst char *xattr_name;\n};\n\nstruct nfs4_change_info {\n\tu32 atomic;\n\tu64 before;\n\tu64 after;\n};\n\nstruct nfs42_removexattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_change_info cinfo;\n};\n\nstruct nfs42_seek_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *sa_fh;\n\tnfs4_stateid sa_stateid;\n\tu64 sa_offset;\n\tu32 sa_what;\n};\n\nstruct nfs42_seek_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n\tu32 sr_eof;\n\tu64 sr_offset;\n};\n\nstruct nfs42_setxattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst u32 *bitmask;\n\tconst char *xattr_name;\n\tu32 xattr_flags;\n\tsize_t xattr_len;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_setxattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_change_info cinfo;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs4_accessargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n\tu32 access;\n};\n\nstruct nfs4_accessres {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tu32 supported;\n\tu32 access;\n};\n\nstruct nfs4_add_xprt_data {\n\tstruct nfs_client *clp;\n\tconst struct cred *cred;\n};\n\nstruct nfs4_cached_acl {\n\tenum nfs4_acl_type type;\n\tint cached;\n\tsize_t len;\n\tchar data[0];\n};\n\nstruct nfs4_call_sync_data {\n\tconst struct nfs_server *seq_server;\n\tstruct nfs4_sequence_args *seq_args;\n\tstruct nfs4_sequence_res *seq_res;\n};\n\nstruct nfs_seqid;\n\nstruct nfs4_layoutreturn_args;\n\nstruct nfs_closeargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n\tfmode_t fmode;\n\tu32 share_access;\n\tconst u32 *bitmask;\n\tu32 bitmask_store[3];\n\tstruct nfs4_layoutreturn_args *lr_args;\n};\n\nstruct nfs4_layoutreturn_res;\n\nstruct nfs_closeres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_seqid *seqid;\n\tconst struct nfs_server *server;\n\tstruct nfs4_layoutreturn_res *lr_res;\n\tint lr_ret;\n};\n\nstruct pnfs_layout_hdr;\n\nstruct nfs4_layoutreturn_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct pnfs_layout_hdr *layout;\n\tstruct inode *inode;\n\tstruct pnfs_layout_range range;\n\tnfs4_stateid stateid;\n\t__u32 layout_type;\n\tstruct nfs4_xdr_opaque_data *ld_private;\n};\n\nstruct nfs4_layoutreturn_res {\n\tstruct nfs4_sequence_res seq_res;\n\tu32 lrs_present;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs4_state;\n\nstruct nfs4_closedata {\n\tstruct inode *inode;\n\tstruct nfs4_state *state;\n\tstruct nfs_closeargs arg;\n\tstruct nfs_closeres res;\n\tstruct {\n\t\tstruct nfs4_layoutreturn_args arg;\n\t\tstruct nfs4_layoutreturn_res res;\n\t\tstruct nfs4_xdr_opaque_data ld_private;\n\t\tu32 roc_barrier;\n\t\tbool roc;\n\t} lr;\n\tstruct nfs_fattr fattr;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs4_copy_state {\n\tstruct list_head copies;\n\tstruct list_head src_copies;\n\tnfs4_stateid stateid;\n\tstruct completion completion;\n\tuint64_t count;\n\tstruct nfs_writeverf verf;\n\tint error;\n\tint flags;\n\tstruct nfs4_state *parent_src_state;\n\tstruct nfs4_state *parent_dst_state;\n};\n\nstruct nfs4_create_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tu32 ftype;\n\tunion {\n\t\tstruct {\n\t\t\tstruct page **pages;\n\t\t\tunsigned int len;\n\t\t} symlink;\n\t\tstruct {\n\t\t\tu32 specdata1;\n\t\t\tu32 specdata2;\n\t\t} device;\n\t} u;\n\tconst struct qstr *name;\n\tconst struct nfs_server *server;\n\tconst struct iattr *attrs;\n\tconst struct nfs_fh *dir_fh;\n\tconst u32 *bitmask;\n\tconst struct nfs4_label *label;\n\tumode_t umask;\n};\n\nstruct nfs4_create_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs4_change_info dir_cinfo;\n};\n\nstruct nfs4_createdata {\n\tstruct rpc_message msg;\n\tstruct nfs4_create_arg arg;\n\tstruct nfs4_create_res res;\n\tstruct nfs_fh fh;\n\tstruct nfs_fattr fattr;\n};\n\nstruct nfs4_delegattr {\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tbool atime_set;\n\tbool mtime_set;\n};\n\nstruct nfs4_delegreturnargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fhandle;\n\tconst nfs4_stateid *stateid;\n\tconst u32 *bitmask;\n\tu32 bitmask_store[3];\n\tstruct nfs4_layoutreturn_args *lr_args;\n\tstruct nfs4_delegattr *sattr_args;\n};\n\nstruct nfs4_delegreturnres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_server *server;\n\tstruct nfs4_layoutreturn_res *lr_res;\n\tint lr_ret;\n\tbool sattr_res;\n\tint sattr_ret;\n};\n\nstruct nfs4_delegreturndata {\n\tstruct nfs4_delegreturnargs args;\n\tstruct nfs4_delegreturnres res;\n\tstruct nfs_fh fh;\n\tnfs4_stateid stateid;\n\tlong unsigned int timestamp;\n\tstruct {\n\t\tstruct nfs4_layoutreturn_args arg;\n\t\tstruct nfs4_layoutreturn_res res;\n\t\tstruct nfs4_xdr_opaque_data ld_private;\n\t\tu32 roc_barrier;\n\t\tbool roc;\n\t} lr;\n\tstruct nfs4_delegattr sattr;\n\tstruct nfs_fattr fattr;\n\tint rpc_status;\n\tstruct inode *inode;\n};\n\nstruct pnfs_layoutdriver_type;\n\nstruct nfs4_deviceid_node {\n\tstruct hlist_node node;\n\tstruct hlist_node tmpnode;\n\tconst struct pnfs_layoutdriver_type *ld;\n\tconst struct nfs_client *nfs_client;\n\tlong unsigned int flags;\n\tlong unsigned int timestamp_unavailable;\n\tstruct nfs4_deviceid deviceid;\n\tstruct callback_head rcu;\n\tatomic_t ref;\n};\n\nstruct nfs4_ds_server {\n\tstruct list_head list;\n\tstruct rpc_clnt *rpc_clnt;\n};\n\nstruct nfs4_exception {\n\tstruct nfs4_state *state;\n\tstruct inode *inode;\n\tnfs4_stateid *stateid;\n\tlong int timeout;\n\tshort unsigned int retrans;\n\tunsigned char task_is_privileged: 1;\n\tunsigned char delay: 1;\n\tunsigned char recovering: 1;\n\tunsigned char retry: 1;\n\tbool interruptible;\n};\n\nstruct nfs4_ff_busy_timer {\n\tktime_t start_time;\n\tatomic_t n_ops;\n};\n\nstruct nfs4_ff_ds_version {\n\tu32 version;\n\tu32 minor_version;\n\tu32 rsize;\n\tu32 wsize;\n\tbool tightly_coupled;\n};\n\nstruct nfs4_ff_io_stat {\n\t__u64 ops_requested;\n\t__u64 bytes_requested;\n\t__u64 ops_completed;\n\t__u64 bytes_completed;\n\t__u64 bytes_not_delivered;\n\tktime_t total_busy_time;\n\tktime_t aggregate_completion_time;\n};\n\nstruct nfs4_pnfs_ds;\n\nstruct nfs4_ff_layout_ds {\n\tstruct nfs4_deviceid_node id_node;\n\tu32 ds_versions_cnt;\n\tstruct nfs4_ff_ds_version *ds_versions;\n\tstruct nfs4_pnfs_ds *ds;\n};\n\nstruct nfs4_ff_layout_ds_err {\n\tstruct list_head list;\n\tu64 offset;\n\tu64 length;\n\tint status;\n\tenum nfs_opnum4 opnum;\n\tnfs4_stateid stateid;\n\tstruct nfs4_deviceid deviceid;\n};\n\nstruct nfsd_file;\n\nstruct nfs_file_localio {\n\tstruct nfsd_file *ro_file;\n\tstruct nfsd_file *rw_file;\n\tstruct list_head list;\n\tvoid *nfs_uuid;\n};\n\nstruct nfs4_ff_layoutstat {\n\tstruct nfs4_ff_io_stat io_stat;\n\tstruct nfs4_ff_busy_timer busy_timer;\n};\n\nstruct nfs4_ff_layout_mirror {\n\tstruct pnfs_layout_hdr *layout;\n\tstruct list_head mirrors;\n\tu32 ds_count;\n\tu32 efficiency;\n\tstruct nfs4_deviceid devid;\n\tstruct nfs4_ff_layout_ds *mirror_ds;\n\tu32 fh_versions_cnt;\n\tstruct nfs_fh *fh_versions;\n\tnfs4_stateid stateid;\n\tconst struct cred *ro_cred;\n\tconst struct cred *rw_cred;\n\tstruct nfs_file_localio nfl;\n\trefcount_t ref;\n\tspinlock_t lock;\n\tlong unsigned int flags;\n\tstruct nfs4_ff_layoutstat read_stat;\n\tstruct nfs4_ff_layoutstat write_stat;\n\tktime_t start_time;\n\tu32 report_interval;\n};\n\nstruct pnfs_layout_segment {\n\tstruct list_head pls_list;\n\tstruct list_head pls_lc_list;\n\tstruct list_head pls_commits;\n\tstruct pnfs_layout_range pls_range;\n\trefcount_t pls_refcount;\n\tu32 pls_seq;\n\tlong unsigned int pls_flags;\n\tstruct pnfs_layout_hdr *pls_layout;\n};\n\nstruct nfs4_ff_layout_segment {\n\tstruct pnfs_layout_segment generic_hdr;\n\tu64 stripe_unit;\n\tu32 flags;\n\tu32 mirror_array_cnt;\n\tstruct nfs4_ff_layout_mirror *mirror_array[0];\n};\n\nstruct nfs4_file_layout_dsaddr {\n\tstruct nfs4_deviceid_node id_node;\n\tu32 stripe_count;\n\tu8 *stripe_indices;\n\tu32 ds_num;\n\tstruct nfs4_pnfs_ds *ds_list[0];\n};\n\nstruct pnfs_layout_hdr {\n\trefcount_t plh_refcount;\n\tatomic_t plh_outstanding;\n\tstruct list_head plh_layouts;\n\tstruct list_head plh_bulk_destroy;\n\tstruct list_head plh_segs;\n\tstruct list_head plh_return_segs;\n\tlong unsigned int plh_block_lgets;\n\tlong unsigned int plh_retry_timestamp;\n\tlong unsigned int plh_flags;\n\tnfs4_stateid plh_stateid;\n\tu32 plh_barrier;\n\tu32 plh_return_seq;\n\tenum pnfs_iomode plh_return_iomode;\n\tloff_t plh_lwb;\n\tconst struct cred *plh_lc_cred;\n\tstruct inode *plh_inode;\n\tstruct callback_head plh_rcu;\n};\n\nstruct pnfs_commit_ops;\n\nstruct pnfs_ds_commit_info {\n\tstruct list_head commits;\n\tunsigned int nwritten;\n\tunsigned int ncommitting;\n\tconst struct pnfs_commit_ops *ops;\n};\n\nstruct nfs4_filelayout {\n\tstruct pnfs_layout_hdr generic_hdr;\n\tstruct pnfs_ds_commit_info commit_info;\n};\n\nstruct nfs4_filelayout_segment {\n\tstruct pnfs_layout_segment generic_hdr;\n\tu32 stripe_type;\n\tu32 commit_through_mds;\n\tu32 stripe_unit;\n\tu32 first_stripe_index;\n\tu64 pattern_offset;\n\tstruct nfs4_deviceid deviceid;\n\tstruct nfs4_file_layout_dsaddr *dsaddr;\n\tunsigned int num_fh;\n\tstruct nfs_fh **fh_array;\n};\n\nstruct nfs4_flexfile_layout {\n\tstruct pnfs_layout_hdr generic_hdr;\n\tstruct pnfs_ds_commit_info commit_info;\n\tstruct list_head mirrors;\n\tstruct list_head error_list;\n\tktime_t last_report_time;\n};\n\nstruct nfs4_flexfile_layoutreturn_args {\n\tstruct list_head errors;\n\tstruct nfs42_layoutstat_devinfo devinfo[4];\n\tunsigned int num_errors;\n\tunsigned int num_dev;\n\tstruct page *pages[1];\n};\n\nstruct nfs4_string {\n\tunsigned int len;\n\tchar *data;\n};\n\nstruct nfs4_pathname {\n\tunsigned int ncomponents;\n\tstruct nfs4_string components[512];\n};\n\nstruct nfs4_fs_location {\n\tunsigned int nservers;\n\tstruct nfs4_string servers[10];\n\tstruct nfs4_pathname rootpath;\n};\n\nstruct nfs4_fs_locations {\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n\tstruct nfs4_pathname fs_path;\n\tint nlocations;\n\tstruct nfs4_fs_location locations[10];\n};\n\nstruct nfs4_fs_locations_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct nfs_fh *fh;\n\tconst struct qstr *name;\n\tstruct page *page;\n\tconst u32 *bitmask;\n\tclientid4 clientid;\n\tunsigned char migration: 1;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fs_locations_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_fs_locations *fs_locations;\n\tunsigned char migration: 1;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsid_present_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tclientid4 clientid;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsid_present_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fh *fh;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsinfo_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_fsinfo;\n\nstruct nfs4_fsinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fsinfo *fsinfo;\n};\n\nstruct nfs4_get_lease_time_args {\n\tstruct nfs4_sequence_args la_seq_args;\n};\n\nstruct nfs4_get_lease_time_res;\n\nstruct nfs4_get_lease_time_data {\n\tstruct nfs4_get_lease_time_args *args;\n\tstruct nfs4_get_lease_time_res *res;\n\tstruct nfs_client *clp;\n};\n\nstruct nfs4_get_lease_time_res {\n\tstruct nfs4_sequence_res lr_seq_res;\n\tstruct nfs_fsinfo *lr_fsinfo;\n};\n\nstruct nfs4_getattr_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_getattr_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct pnfs_device;\n\nstruct nfs4_getdeviceinfo_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct pnfs_device *pdev;\n\t__u32 notify_types;\n};\n\nstruct nfs4_getdeviceinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct pnfs_device *pdev;\n\t__u32 notification;\n};\n\nstruct nfs4_label {\n\tuint32_t lfs;\n\tuint32_t pi;\n\tu32 lsmid;\n\tu32 len;\n\tchar *label;\n};\n\nstruct nfs4_layoutcommit_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n\t__u64 lastbytewritten;\n\tstruct inode *inode;\n\tconst u32 *bitmask;\n\tsize_t layoutupdate_len;\n\tstruct page *layoutupdate_page;\n\tstruct page **layoutupdate_pages;\n\t__be32 *start_p;\n};\n\nstruct rpc_wait {\n\tstruct list_head list;\n\tstruct list_head links;\n\tstruct list_head timer_list;\n};\n\nstruct rpc_call_ops;\n\nstruct rpc_xprt;\n\nstruct rpc_rqst;\n\nstruct rpc_task {\n\tatomic_t tk_count;\n\tint tk_status;\n\tstruct list_head tk_task;\n\tvoid (*tk_callback)(struct rpc_task *);\n\tvoid (*tk_action)(struct rpc_task *);\n\tlong unsigned int tk_timeout;\n\tlong unsigned int tk_runstate;\n\tstruct rpc_wait_queue *tk_waitqueue;\n\tunion {\n\t\tstruct work_struct tk_work;\n\t\tstruct rpc_wait tk_wait;\n\t} u;\n\tstruct rpc_message tk_msg;\n\tvoid *tk_calldata;\n\tconst struct rpc_call_ops *tk_ops;\n\tstruct rpc_clnt *tk_client;\n\tstruct rpc_xprt *tk_xprt;\n\tstruct rpc_cred *tk_op_cred;\n\tstruct rpc_rqst *tk_rqstp;\n\tstruct workqueue_struct *tk_workqueue;\n\tktime_t tk_start;\n\tpid_t tk_owner;\n\tint tk_rpc_status;\n\tshort unsigned int tk_flags;\n\tshort unsigned int tk_timeouts;\n\tshort unsigned int tk_pid;\n\tunsigned char tk_priority: 2;\n\tunsigned char tk_garb_retry: 2;\n\tunsigned char tk_cred_retry: 2;\n};\n\nstruct nfs4_layoutcommit_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n\tint status;\n};\n\nstruct nfs4_layoutcommit_data {\n\tstruct rpc_task task;\n\tstruct nfs_fattr fattr;\n\tstruct list_head lseg_list;\n\tconst struct cred *cred;\n\tstruct inode *inode;\n\tstruct nfs4_layoutcommit_args args;\n\tstruct nfs4_layoutcommit_res res;\n};\n\nstruct nfs4_layoutdriver_data {\n\tstruct page **pages;\n\t__u32 pglen;\n\t__u32 len;\n};\n\nstruct nfs_open_context;\n\nstruct nfs4_layoutget_args {\n\tstruct nfs4_sequence_args seq_args;\n\t__u32 type;\n\tstruct pnfs_layout_range range;\n\t__u64 minlength;\n\t__u32 maxcount;\n\tstruct inode *inode;\n\tstruct nfs_open_context *ctx;\n\tnfs4_stateid stateid;\n\tstruct nfs4_layoutdriver_data layout;\n};\n\nstruct nfs4_layoutget_res {\n\tstruct nfs4_sequence_res seq_res;\n\tint status;\n\t__u32 return_on_close;\n\tstruct pnfs_layout_range range;\n\t__u32 type;\n\tnfs4_stateid stateid;\n\tstruct nfs4_layoutdriver_data *layoutp;\n};\n\nstruct nfs4_layoutget {\n\tstruct nfs4_layoutget_args args;\n\tstruct nfs4_layoutget_res res;\n\tconst struct cred *cred;\n\tstruct pnfs_layout_hdr *lo;\n\tgfp_t gfp_flags;\n};\n\nstruct nfs4_layoutreturn {\n\tstruct nfs4_layoutreturn_args args;\n\tstruct nfs4_layoutreturn_res res;\n\tconst struct cred *cred;\n\tstruct nfs_client *clp;\n\tstruct inode *inode;\n\tint rpc_status;\n\tstruct nfs4_xdr_opaque_data ld_private;\n};\n\nstruct nfs4_link_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_link_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs4_change_info cinfo;\n\tstruct nfs_fattr *dir_attr;\n};\n\nstruct nfs_seqid_counter {\n\tktime_t create_time;\n\tu64 owner_id;\n\tint flags;\n\tu32 counter;\n\tspinlock_t lock;\n\tstruct list_head list;\n\tstruct rpc_wait_queue wait;\n};\n\nstruct nfs4_lock_state {\n\tstruct list_head ls_locks;\n\tstruct nfs4_state *ls_state;\n\tlong unsigned int ls_flags;\n\tstruct nfs_seqid_counter ls_seqid;\n\tnfs4_stateid ls_stateid;\n\trefcount_t ls_count;\n\tfl_owner_t ls_owner;\n};\n\nstruct nfs4_lock_waiter {\n\tstruct inode *inode;\n\tstruct nfs_lowner owner;\n\twait_queue_entry_t wait;\n};\n\nstruct nfs_lock_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_seqid *lock_seqid;\n\tnfs4_stateid lock_stateid;\n\tstruct nfs_seqid *open_seqid;\n\tnfs4_stateid open_stateid;\n\tstruct nfs_lowner lock_owner;\n\tunsigned char block: 1;\n\tunsigned char reclaim: 1;\n\tunsigned char new_lock: 1;\n\tunsigned char new_lock_owner: 1;\n};\n\nstruct nfs_lock_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *lock_seqid;\n\tstruct nfs_seqid *open_seqid;\n};\n\nstruct nfs4_lockdata {\n\tstruct nfs_lock_args arg;\n\tstruct nfs_lock_res res;\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_open_context *ctx;\n\tstruct file_lock fl;\n\tlong unsigned int timestamp;\n\tint rpc_status;\n\tint cancelled;\n\tstruct nfs_server *server;\n};\n\nstruct nfs4_lookup_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookup_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_fh *fh;\n};\n\nstruct nfs4_lookup_root_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookupp_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookupp_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_fh *fh;\n};\n\nstruct nfs4_mig_recovery_ops {\n\tint (*get_locations)(struct nfs_server *, struct nfs_fh *, struct nfs4_fs_locations *, struct page *, const struct cred *);\n\tint (*fsid_present)(struct inode *, const struct cred *);\n};\n\nstruct nfs4_state_recovery_ops;\n\nstruct nfs4_state_maintenance_ops;\n\nstruct nfs4_minor_version_ops {\n\tu32 minor_version;\n\tunsigned int init_caps;\n\tint (*init_client)(struct nfs_client *);\n\tvoid (*shutdown_client)(struct nfs_client *);\n\tbool (*match_stateid)(const nfs4_stateid *, const nfs4_stateid *);\n\tint (*find_root_sec)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tvoid (*free_lock_state)(struct nfs_server *, struct nfs4_lock_state *);\n\tint (*test_and_free_expired)(struct nfs_server *, const nfs4_stateid *, const struct cred *);\n\tstruct nfs_seqid * (*alloc_seqid)(struct nfs_seqid_counter *, gfp_t);\n\tvoid (*session_trunk)(struct rpc_clnt *, struct rpc_xprt *, void *);\n\tconst struct rpc_call_ops *call_sync_ops;\n\tconst struct nfs4_state_recovery_ops *reboot_recovery_ops;\n\tconst struct nfs4_state_recovery_ops *nograce_recovery_ops;\n\tconst struct nfs4_state_maintenance_ops *state_renewal_ops;\n\tconst struct nfs4_mig_recovery_ops *mig_recovery_ops;\n};\n\nstruct nfs_string {\n\tunsigned int len;\n\tconst char *data;\n};\n\nstruct nfs4_mount_data {\n\tint version;\n\tint flags;\n\tint rsize;\n\tint wsize;\n\tint timeo;\n\tint retrans;\n\tint acregmin;\n\tint acregmax;\n\tint acdirmin;\n\tint acdirmax;\n\tstruct nfs_string client_addr;\n\tstruct nfs_string mnt_path;\n\tstruct nfs_string hostname;\n\tunsigned int host_addrlen;\n\tstruct sockaddr *host_addr;\n\tint proto;\n\tint auth_flavourlen;\n\tint *auth_flavours;\n};\n\nstruct nfs4_open_caps {\n\tu32 oa_share_access[1];\n\tu32 oa_share_deny[1];\n\tu32 oa_share_access_want[1];\n\tu32 oa_open_claim[1];\n\tu32 oa_createmode[1];\n};\n\nstruct nfs4_open_createattrs {\n\tstruct nfs4_label *label;\n\tstruct iattr *sattr;\n\tconst __u32 verf[2];\n};\n\nstruct nfs4_open_delegation {\n\t__u32 open_delegation_type;\n\tunion {\n\t\tstruct {\n\t\t\tfmode_t type;\n\t\t\t__u32 do_recall;\n\t\t\tnfs4_stateid stateid;\n\t\t\tlong unsigned int pagemod_limit;\n\t\t};\n\t\tstruct {\n\t\t\t__u32 why_no_delegation;\n\t\t\t__u32 will_notify;\n\t\t};\n\t};\n};\n\nstruct stateowner_id {\n\t__u64 create_time;\n\t__u64 uniquifier;\n};\n\nstruct nfs_openargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tstruct nfs_seqid *seqid;\n\tint open_flags;\n\tfmode_t fmode;\n\tu32 share_access;\n\tu32 access;\n\t__u64 clientid;\n\tstruct stateowner_id id;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iattr *attrs;\n\t\t\tnfs4_verifier verifier;\n\t\t};\n\t\tnfs4_stateid delegation;\n\t\t__u32 delegation_type;\n\t} u;\n\tconst struct qstr *name;\n\tconst struct nfs_server *server;\n\tconst u32 *bitmask;\n\tconst u32 *open_bitmap;\n\tenum open_claim_type4 claim;\n\tenum createmode4 createmode;\n\tconst struct nfs4_label *label;\n\tumode_t umask;\n\tstruct nfs4_layoutget_args *lg_args;\n};\n\nstruct nfs_openres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_fh fh;\n\tstruct nfs4_change_info cinfo;\n\t__u32 rflags;\n\tstruct nfs_fattr *f_attr;\n\tstruct nfs_seqid *seqid;\n\tconst struct nfs_server *server;\n\t__u32 attrset[3];\n\tstruct nfs4_string *owner;\n\tstruct nfs4_string *group_owner;\n\tstruct nfs4_open_delegation delegation;\n\t__u32 access_request;\n\t__u32 access_supported;\n\t__u32 access_result;\n\tstruct nfs4_layoutget_res *lg_res;\n};\n\nstruct nfs_open_confirmargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tnfs4_stateid *stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs_open_confirmres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs4_state_owner;\n\nstruct nfs4_opendata {\n\tstruct kref kref;\n\tstruct nfs_openargs o_arg;\n\tstruct nfs_openres o_res;\n\tstruct nfs_open_confirmargs c_arg;\n\tstruct nfs_open_confirmres c_res;\n\tstruct nfs4_string owner_name;\n\tstruct nfs4_string group_name;\n\tstruct nfs4_label *a_label;\n\tstruct nfs_fattr f_attr;\n\tstruct dentry *dir;\n\tstruct dentry *dentry;\n\tstruct nfs4_state_owner *owner;\n\tstruct nfs4_state *state;\n\tstruct iattr attrs;\n\tstruct nfs4_layoutget *lgp;\n\tlong unsigned int timestamp;\n\tbool rpc_done;\n\tbool file_created;\n\tbool is_recover;\n\tbool cancelled;\n\tint rpc_status;\n};\n\nstruct nfs4_pathconf_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_pathconf;\n\nstruct nfs4_pathconf_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_pathconf *pathconf;\n};\n\nstruct nfs4_pnfs_ds {\n\tstruct list_head ds_node;\n\tchar *ds_remotestr;\n\tstruct list_head ds_addrs;\n\tstruct nfs_client *ds_clp;\n\trefcount_t ds_count;\n\tlong unsigned int ds_state;\n};\n\nstruct nfs4_pnfs_ds_addr {\n\tstruct __kernel_sockaddr_storage da_addr;\n\tsize_t da_addrlen;\n\tstruct list_head da_node;\n\tchar *da_remotestr;\n\tconst char *da_netid;\n\tint da_transport;\n};\n\nstruct nfs4_readdir_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tu64 cookie;\n\tnfs4_verifier verifier;\n\tu32 count;\n\tstruct page **pages;\n\tunsigned int pgbase;\n\tconst u32 *bitmask;\n\tbool plus;\n};\n\nstruct nfs4_readdir_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_verifier verifier;\n\tunsigned int pgbase;\n};\n\nstruct nfs4_readlink {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tstruct page **pages;\n};\n\nstruct nfs4_readlink_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs4_reclaim_complete_data {\n\tstruct nfs_client *clp;\n\tstruct nfs41_reclaim_complete_args arg;\n\tstruct nfs41_reclaim_complete_res res;\n};\n\nstruct nfs4_renewdata {\n\tstruct nfs_client *client;\n\tlong unsigned int timestamp;\n};\n\nstruct rpcsec_gss_info {\n\tstruct rpcsec_gss_oid oid;\n\tu32 qop;\n\tu32 service;\n};\n\nstruct nfs4_secinfo4 {\n\tu32 flavor;\n\tstruct rpcsec_gss_info flavor_info;\n};\n\nstruct nfs4_secinfo_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n};\n\nstruct nfs4_secinfo_flavors {\n\tunsigned int num_flavors;\n\tstruct nfs4_secinfo4 flavors[0];\n};\n\nstruct nfs4_secinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_secinfo_flavors *flavors;\n};\n\nstruct nfs4_sequence_data {\n\tstruct nfs_client *clp;\n\tstruct nfs4_sequence_args args;\n\tstruct nfs4_sequence_res res;\n};\n\nstruct nfs4_server_caps_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fhandle;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_server_caps_res {\n\tstruct nfs4_sequence_res seq_res;\n\tu32 attr_bitmask[3];\n\tu32 exclcreat_bitmask[3];\n\tu32 acl_bitmask;\n\tu32 has_links;\n\tu32 has_symlinks;\n\tu32 fh_expire_type;\n\tu32 case_insensitive;\n\tu32 case_preserving;\n\tstruct nfs4_open_caps open_caps;\n};\n\nstruct nfs4_session;\n\nstruct nfs4_slot_table {\n\tstruct nfs4_session *session;\n\tstruct nfs4_slot *slots;\n\tlong unsigned int used_slots[16];\n\tspinlock_t slot_tbl_lock;\n\tstruct rpc_wait_queue slot_tbl_waitq;\n\twait_queue_head_t slot_waitq;\n\tu32 max_slots;\n\tu32 max_slotid;\n\tu32 highest_used_slotid;\n\tu32 target_highest_slotid;\n\tu32 server_highest_slotid;\n\ts32 d_target_highest_slotid;\n\ts32 d2_target_highest_slotid;\n\tlong unsigned int generation;\n\tstruct completion complete;\n\tlong unsigned int slot_tbl_state;\n};\n\nstruct nfs4_session {\n\tstruct nfs4_sessionid sess_id;\n\tu32 flags;\n\tlong unsigned int session_state;\n\tu32 hash_alg;\n\tu32 ssv_len;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_slot_table fc_slot_table;\n\tstruct nfs4_channel_attrs bc_attrs;\n\tstruct nfs4_slot_table bc_slot_table;\n\tstruct nfs_client *clp;\n};\n\nstruct nfs4_setclientid {\n\tconst nfs4_verifier *sc_verifier;\n\tu32 sc_prog;\n\tunsigned int sc_netid_len;\n\tchar sc_netid[6];\n\tunsigned int sc_uaddr_len;\n\tchar sc_uaddr[58];\n\tstruct nfs_client *sc_clnt;\n\tstruct rpc_cred *sc_cred;\n};\n\nstruct nfs4_setclientid_res {\n\tu64 clientid;\n\tnfs4_verifier confirm;\n};\n\nstruct nfs4_slot {\n\tstruct nfs4_slot_table *table;\n\tstruct nfs4_slot *next;\n\tlong unsigned int generation;\n\tu32 slot_nr;\n\tu32 seq_nr;\n\tu32 seq_nr_last_acked;\n\tu32 seq_nr_highest_sent;\n\tunsigned int privileged: 1;\n\tunsigned int seq_done: 1;\n};\n\nstruct nfs4_ssc_client_ops {\n\tstruct file * (*sco_open)(struct vfsmount *, struct nfs_fh *, nfs4_stateid *);\n\tvoid (*sco_close)(struct file *);\n};\n\nstruct nfs4_state {\n\tstruct list_head open_states;\n\tstruct list_head inode_states;\n\tstruct list_head lock_states;\n\tstruct nfs4_state_owner *owner;\n\tstruct inode *inode;\n\tlong unsigned int flags;\n\tspinlock_t state_lock;\n\tseqlock_t seqlock;\n\tnfs4_stateid stateid;\n\tnfs4_stateid open_stateid;\n\tunsigned int n_rdonly;\n\tunsigned int n_wronly;\n\tunsigned int n_rdwr;\n\tfmode_t state;\n\trefcount_t count;\n\twait_queue_head_t waitq;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs4_state_maintenance_ops {\n\tint (*sched_state_renewal)(struct nfs_client *, const struct cred *, unsigned int);\n\tconst struct cred * (*get_state_renewal_cred)(struct nfs_client *);\n\tint (*renew_lease)(struct nfs_client *, const struct cred *);\n};\n\nstruct nfs4_state_owner {\n\tstruct nfs_server *so_server;\n\tstruct list_head so_lru;\n\tlong unsigned int so_expires;\n\tstruct rb_node so_server_node;\n\tconst struct cred *so_cred;\n\tspinlock_t so_lock;\n\tatomic_t so_count;\n\tlong unsigned int so_flags;\n\tstruct list_head so_states;\n\tstruct nfs_seqid_counter so_seqid;\n\tstruct mutex so_delegreturn_mutex;\n};\n\nstruct nfs4_state_recovery_ops {\n\tint owner_flag_bit;\n\tint state_flag_bit;\n\tint (*recover_open)(struct nfs4_state_owner *, struct nfs4_state *);\n\tint (*recover_lock)(struct nfs4_state *, struct file_lock *);\n\tint (*establish_clid)(struct nfs_client *, const struct cred *);\n\tint (*reclaim_complete)(struct nfs_client *, const struct cred *);\n\tint (*detect_trunking)(struct nfs_client *, struct nfs_client **, const struct cred *);\n};\n\nstruct nfs4_statfs_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_fsstat;\n\nstruct nfs4_statfs_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fsstat *fsstat;\n};\n\nstruct nfs4_threshold {\n\t__u32 bm;\n\t__u32 l_type;\n\t__u64 rd_sz;\n\t__u64 wr_sz;\n\t__u64 rd_io_sz;\n\t__u64 wr_io_sz;\n};\n\nstruct nfs_locku_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_seqid *seqid;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs_locku_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs_lock_context;\n\nstruct nfs4_unlockdata {\n\tstruct nfs_locku_args arg;\n\tstruct nfs_locku_res res;\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_open_context *ctx;\n\tstruct nfs_lock_context *l_ctx;\n\tstruct file_lock fl;\n\tstruct nfs_server *server;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs4_xattr_cache;\n\nstruct nfs4_xattr_bucket {\n\tspinlock_t lock;\n\tstruct hlist_head hlist;\n\tstruct nfs4_xattr_cache *cache;\n\tbool draining;\n};\n\nstruct nfs4_xattr_entry;\n\nstruct nfs4_xattr_cache {\n\tstruct kref ref;\n\tstruct nfs4_xattr_bucket buckets[64];\n\tstruct list_head lru;\n\tstruct list_head dispose;\n\tatomic_long_t nent;\n\tspinlock_t listxattr_lock;\n\tstruct inode *inode;\n\tstruct nfs4_xattr_entry *listxattr;\n};\n\nstruct nfs4_xattr_entry {\n\tstruct kref ref;\n\tstruct hlist_node hnode;\n\tstruct list_head lru;\n\tstruct list_head dispose;\n\tchar *xattr_name;\n\tvoid *xattr_value;\n\tsize_t xattr_size;\n\tstruct nfs4_xattr_bucket *bucket;\n\tuint32_t flags;\n};\n\nstruct nfs4_xdr_opaque_ops {\n\tvoid (*encode)(struct xdr_stream *, const void *, const struct nfs4_xdr_opaque_data *);\n\tvoid (*free)(struct nfs4_xdr_opaque_data *);\n};\n\nstruct nfs_access_entry {\n\tstruct rb_node rb_node;\n\tstruct list_head lru;\n\tkuid_t fsuid;\n\tkgid_t fsgid;\n\tstruct group_info *group_info;\n\tu64 timestamp;\n\t__u32 mask;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_auth_info {\n\tunsigned int flavor_len;\n\trpc_authflavor_t flavors[12];\n};\n\nstruct nfs_cache_array_entry {\n\tu64 cookie;\n\tu64 ino;\n\tconst char *name;\n\tunsigned int name_len;\n\tunsigned char d_type;\n};\n\nstruct nfs_cache_array {\n\tu64 change_attr;\n\tu64 last_cookie;\n\tunsigned int size;\n\tunsigned char folio_full: 1;\n\tunsigned char folio_is_eof: 1;\n\tunsigned char cookies_are_ordered: 1;\n\tstruct nfs_cache_array_entry array[0];\n};\n\nstruct svc_serv;\n\nstruct nfs_callback_data {\n\tunsigned int users;\n\tstruct svc_serv *serv;\n};\n\nstruct xprtsec_parms {\n\tenum xprtsec_policies policy;\n\tkey_serial_t cert_serial;\n\tkey_serial_t privkey_serial;\n};\n\nstruct nfs_rpc_ops;\n\nstruct nfs_subversion;\n\nstruct nfs_client {\n\trefcount_t cl_count;\n\tatomic_t cl_mds_count;\n\tint cl_cons_state;\n\tlong unsigned int cl_res_state;\n\tlong unsigned int cl_flags;\n\tstruct __kernel_sockaddr_storage cl_addr;\n\tsize_t cl_addrlen;\n\tchar *cl_hostname;\n\tchar *cl_acceptor;\n\tstruct list_head cl_share_link;\n\tstruct list_head cl_superblocks;\n\tstruct rpc_clnt *cl_rpcclient;\n\tconst struct nfs_rpc_ops *rpc_ops;\n\tint cl_proto;\n\tstruct nfs_subversion *cl_nfs_mod;\n\tu32 cl_minorversion;\n\tunsigned int cl_nconnect;\n\tunsigned int cl_max_connect;\n\tconst char *cl_principal;\n\tstruct xprtsec_parms cl_xprtsec;\n\tstruct list_head cl_ds_clients;\n\tu64 cl_clientid;\n\tnfs4_verifier cl_confirm;\n\tlong unsigned int cl_state;\n\tspinlock_t cl_lock;\n\tlong unsigned int cl_lease_time;\n\tlong unsigned int cl_last_renewal;\n\tstruct delayed_work cl_renewd;\n\tstruct rpc_wait_queue cl_rpcwaitq;\n\tstruct idmap *cl_idmap;\n\tconst char *cl_owner_id;\n\tu32 cl_cb_ident;\n\tconst struct nfs4_minor_version_ops *cl_mvops;\n\tlong unsigned int cl_mig_gen;\n\tstruct nfs4_slot_table *cl_slot_tbl;\n\tu32 cl_seqid;\n\tu32 cl_exchange_flags;\n\tstruct nfs4_session *cl_session;\n\tbool cl_preserve_clid;\n\tstruct nfs41_server_owner *cl_serverowner;\n\tstruct nfs41_server_scope *cl_serverscope;\n\tstruct nfs41_impl_id *cl_implid;\n\tlong unsigned int cl_sp4_flags;\n\twait_queue_head_t cl_lock_waitq;\n\tchar cl_ipaddr[48];\n\tstruct net *cl_net;\n\tstruct list_head pending_cb_stateids;\n\tstruct callback_head rcu;\n};\n\nstruct rpc_timeout;\n\nstruct nfs_client_initdata {\n\tlong unsigned int init_flags;\n\tconst char *hostname;\n\tconst struct __kernel_sockaddr_storage *addr;\n\tconst char *nodename;\n\tconst char *ip_addr;\n\tsize_t addrlen;\n\tstruct nfs_subversion *nfs_mod;\n\tint proto;\n\tu32 minorversion;\n\tunsigned int nconnect;\n\tunsigned int max_connect;\n\tstruct net *net;\n\tconst struct rpc_timeout *timeparms;\n\tconst struct cred *cred;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct nfs_clone_mount {\n\tstruct super_block *sb;\n\tstruct dentry *dentry;\n\tstruct nfs_fattr *fattr;\n\tunsigned int inherited_bsize;\n};\n\nstruct nfs_commit_data;\n\nstruct nfs_commit_info;\n\nstruct nfs_page;\n\nstruct nfs_commit_completion_ops {\n\tvoid (*completion)(struct nfs_commit_data *);\n\tvoid (*resched_write)(struct nfs_commit_info *, struct nfs_page *);\n};\n\nstruct nfs_commitargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\t__u64 offset;\n\t__u32 count;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_direct_req;\n\nstruct nfs_commit_data {\n\tstruct rpc_task task;\n\tstruct inode *inode;\n\tconst struct cred *cred;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_writeverf verf;\n\tstruct list_head pages;\n\tstruct list_head list;\n\tstruct nfs_direct_req *dreq;\n\tstruct nfs_commitargs args;\n\tstruct nfs_commitres res;\n\tstruct nfs_open_context *context;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct nfs_client *ds_clp;\n\tint ds_commit_index;\n\tloff_t lwb;\n\tconst struct rpc_call_ops *mds_ops;\n\tconst struct nfs_commit_completion_ops *completion_ops;\n\tint (*commit_done_cb)(struct rpc_task *, struct nfs_commit_data *);\n\tlong unsigned int flags;\n};\n\nstruct nfs_mds_commit_info;\n\nstruct nfs_commit_info {\n\tstruct inode *inode;\n\tstruct nfs_mds_commit_info *mds;\n\tstruct pnfs_ds_commit_info *ds;\n\tstruct nfs_direct_req *dreq;\n\tconst struct nfs_commit_completion_ops *completion_ops;\n};\n\nstruct nfs_delegation {\n\tstruct list_head super_list;\n\tconst struct cred *cred;\n\tstruct inode *inode;\n\tnfs4_stateid stateid;\n\tfmode_t type;\n\tlong unsigned int pagemod_limit;\n\t__u64 change_attr;\n\tlong unsigned int test_gen;\n\tlong unsigned int flags;\n\trefcount_t refcount;\n\tspinlock_t lock;\n\tstruct callback_head rcu;\n};\n\nstruct nfs_mds_commit_info {\n\tatomic_t rpcs_out;\n\tatomic_long_t ncommit;\n\tstruct list_head list;\n};\n\nstruct nfs_direct_req {\n\tstruct kref kref;\n\tstruct nfs_open_context *ctx;\n\tstruct nfs_lock_context *l_ctx;\n\tstruct kiocb *iocb;\n\tstruct inode *inode;\n\tatomic_t io_count;\n\tspinlock_t lock;\n\tloff_t io_start;\n\tssize_t count;\n\tssize_t max_count;\n\tssize_t error;\n\tstruct completion completion;\n\tstruct nfs_mds_commit_info mds_cinfo;\n\tstruct pnfs_ds_commit_info ds_cinfo;\n\tstruct work_struct work;\n\tint flags;\n};\n\nstruct nfs_entry {\n\t__u64 ino;\n\t__u64 cookie;\n\tconst char *name;\n\tunsigned int len;\n\tint eof;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n\tunsigned char d_type;\n\tstruct nfs_server *server;\n};\n\nstruct nfs_find_desc {\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs_free_stateid_data {\n\tstruct nfs_server *server;\n\tstruct nfs41_free_stateid_args args;\n\tstruct nfs41_free_stateid_res res;\n};\n\nstruct nfs_fs_context {\n\tbool internal;\n\tbool skip_reconfig_option_check;\n\tbool need_mount;\n\tbool sloppy;\n\tunsigned int flags;\n\tunsigned int rsize;\n\tunsigned int wsize;\n\tunsigned int timeo;\n\tunsigned int retrans;\n\tunsigned int acregmin;\n\tunsigned int acregmax;\n\tunsigned int acdirmin;\n\tunsigned int acdirmax;\n\tunsigned int namlen;\n\tunsigned int options;\n\tunsigned int bsize;\n\tstruct nfs_auth_info auth_info;\n\trpc_authflavor_t selected_flavor;\n\tstruct xprtsec_parms xprtsec;\n\tchar *client_address;\n\tunsigned int version;\n\tunsigned int minorversion;\n\tchar *fscache_uniq;\n\tshort unsigned int protofamily;\n\tshort unsigned int mountfamily;\n\tbool has_sec_mnt_opts;\n\tint lock_status;\n\tstruct {\n\t\tunion {\n\t\t\tstruct sockaddr address;\n\t\t\tstruct __kernel_sockaddr_storage _address;\n\t\t};\n\t\tsize_t addrlen;\n\t\tchar *hostname;\n\t\tu32 version;\n\t\tint port;\n\t\tshort unsigned int protocol;\n\t} mount_server;\n\tstruct {\n\t\tunion {\n\t\t\tstruct sockaddr address;\n\t\t\tstruct __kernel_sockaddr_storage _address;\n\t\t};\n\t\tsize_t addrlen;\n\t\tchar *hostname;\n\t\tchar *export_path;\n\t\tint port;\n\t\tshort unsigned int protocol;\n\t\tshort unsigned int nconnect;\n\t\tshort unsigned int max_connect;\n\t\tshort unsigned int export_path_len;\n\t} nfs_server;\n\tstruct nfs_fh *mntfh;\n\tstruct nfs_server *server;\n\tstruct nfs_subversion *nfs_mod;\n\tstruct nfs_clone_mount clone_data;\n};\n\nstruct nfs_fsinfo {\n\tstruct nfs_fattr *fattr;\n\t__u32 rtmax;\n\t__u32 rtpref;\n\t__u32 rtmult;\n\t__u32 wtmax;\n\t__u32 wtpref;\n\t__u32 wtmult;\n\t__u32 dtpref;\n\t__u64 maxfilesize;\n\tstruct timespec64 time_delta;\n\t__u32 lease_time;\n\t__u32 nlayouttypes;\n\t__u32 layouttype[8];\n\t__u32 blksize;\n\t__u32 clone_blksize;\n\tenum nfs4_change_attr_type change_attr_type;\n\t__u32 xattr_support;\n};\n\nstruct nfs_fsstat {\n\tstruct nfs_fattr *fattr;\n\t__u64 tbytes;\n\t__u64 fbytes;\n\t__u64 abytes;\n\t__u64 tfiles;\n\t__u64 ffiles;\n\t__u64 afiles;\n};\n\nstruct nfs_getaclargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tstruct page **acl_pages;\n};\n\nstruct nfs_getaclres {\n\tstruct nfs4_sequence_res seq_res;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tsize_t acl_data_offset;\n\tint acl_flags;\n\tstruct page *acl_scratch;\n};\n\nstruct nfs_inode {\n\t__u64 fileid;\n\tstruct nfs_fh fh;\n\tlong unsigned int flags;\n\tlong unsigned int cache_validity;\n\tlong unsigned int read_cache_jiffies;\n\tlong unsigned int attrtimeo;\n\tlong unsigned int attrtimeo_timestamp;\n\tlong unsigned int attr_gencount;\n\tstruct rb_root access_cache;\n\tstruct list_head access_cache_entry_lru;\n\tstruct list_head access_cache_inode_lru;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int cache_change_attribute;\n\t\t\t__be32 cookieverf[2];\n\t\t\tstruct rw_semaphore rmdir_sem;\n\t\t};\n\t\tstruct {\n\t\t\tatomic_long_t nrequests;\n\t\t\tatomic_long_t redirtied_pages;\n\t\t\tstruct nfs_mds_commit_info commit_info;\n\t\t\tstruct mutex commit_mutex;\n\t\t};\n\t};\n\tstruct list_head open_files;\n\tstruct {\n\t\tint cnt;\n\t\tstruct {\n\t\t\tu64 start;\n\t\t\tu64 end;\n\t\t} gap[16];\n\t} *ooo;\n\tstruct nfs4_cached_acl *nfs4_acl;\n\tstruct list_head open_states;\n\tstruct nfs_delegation *delegation;\n\tstruct rw_semaphore rwsem;\n\tstruct pnfs_layout_hdr *layout;\n\t__u64 write_io;\n\t__u64 read_io;\n\tstruct nfs4_xattr_cache *xattr_cache;\n\tunion {\n\t\tstruct inode vfs_inode;\n\t};\n};\n\nstruct nfs_io_completion {\n\tvoid (*complete)(void *);\n\tvoid *data;\n\tstruct kref refcount;\n};\n\nstruct nfs_iostats {\n\tlong long unsigned int bytes[8];\n\tlong unsigned int events[27];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nfs_lock_context {\n\trefcount_t count;\n\tstruct list_head list;\n\tstruct nfs_open_context *open_context;\n\tfl_owner_t lockowner;\n\tatomic_t io_count;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_lockt_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_lowner lock_owner;\n};\n\nstruct nfs_lockt_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct file_lock *denied;\n};\n\nstruct sockaddr_in {\n\t__kernel_sa_family_t sin_family;\n\t__be16 sin_port;\n\tstruct in_addr sin_addr;\n\tunsigned char __pad[8];\n};\n\nstruct nfs_mount_data {\n\tint version;\n\tint fd;\n\tstruct nfs2_fh old_root;\n\tint flags;\n\tint rsize;\n\tint wsize;\n\tint timeo;\n\tint retrans;\n\tint acregmin;\n\tint acregmax;\n\tint acdirmin;\n\tint acdirmax;\n\tstruct sockaddr_in addr;\n\tchar hostname[256];\n\tint namlen;\n\tunsigned int bsize;\n\tstruct nfs3_fh root;\n\tint pseudoflavor;\n\tchar context[257];\n};\n\nstruct nfs_mount_request {\n\tstruct __kernel_sockaddr_storage *sap;\n\tsize_t salen;\n\tchar *hostname;\n\tchar *dirpath;\n\tu32 version;\n\tshort unsigned int protocol;\n\tstruct nfs_fh *fh;\n\tint noresvport;\n\tunsigned int *auth_flav_len;\n\trpc_authflavor_t *auth_flavs;\n\tstruct net *net;\n};\n\nstruct rpc_program;\n\nstruct rpc_stat {\n\tconst struct rpc_program *program;\n\tunsigned int netcnt;\n\tunsigned int netudpcnt;\n\tunsigned int nettcpcnt;\n\tunsigned int nettcpconn;\n\tunsigned int netreconn;\n\tunsigned int rpccnt;\n\tunsigned int rpcretrans;\n\tunsigned int rpcauthrefresh;\n\tunsigned int rpcgarbage;\n};\n\nstruct nfs_netns_client;\n\nstruct nfs_net {\n\tstruct cache_detail *nfs_dns_resolve;\n\tstruct rpc_pipe *bl_device_pipe;\n\tstruct bl_dev_msg bl_mount_reply;\n\twait_queue_head_t bl_wq;\n\tstruct mutex bl_mutex;\n\tstruct list_head nfs_client_list;\n\tstruct list_head nfs_volume_list;\n\tstruct idr cb_ident_idr;\n\tshort unsigned int nfs_callback_tcpport;\n\tshort unsigned int nfs_callback_tcpport6;\n\tint cb_users[3];\n\tstruct nfs_netns_client *nfs_client;\n\tspinlock_t nfs_client_lock;\n\tktime_t boot_time;\n\tstruct rpc_stat rpcstats;\n\tstruct proc_dir_entry *proc_nfsfs;\n};\n\nstruct nfs_netns_client {\n\tstruct kobject kobject;\n\tstruct kobject nfs_net_kobj;\n\tstruct net *net;\n\tconst char *identifier;\n};\n\nstruct nfs_open_context {\n\tstruct nfs_lock_context lock_context;\n\tfl_owner_t flock_owner;\n\tstruct dentry *dentry;\n\tconst struct cred *cred;\n\tstruct rpc_cred *ll_cred;\n\tstruct nfs4_state *state;\n\tfmode_t mode;\n\tint error;\n\tlong unsigned int flags;\n\tstruct nfs4_threshold *mdsthreshold;\n\tstruct list_head list;\n\tstruct callback_head callback_head;\n\tstruct nfs_file_localio nfl;\n};\n\nstruct nfs_open_dir_context {\n\tstruct list_head list;\n\tatomic_t cache_hits;\n\tatomic_t cache_misses;\n\tlong unsigned int attr_gencount;\n\t__be32 verf[2];\n\t__u64 dir_cookie;\n\t__u64 last_cookie;\n\tlong unsigned int page_index;\n\tunsigned int dtsize;\n\tbool force_clear;\n\tbool eof;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_page {\n\tstruct list_head wb_list;\n\tunion {\n\t\tstruct page *wb_page;\n\t\tstruct folio *wb_folio;\n\t};\n\tstruct nfs_lock_context *wb_lock_context;\n\tlong unsigned int wb_index;\n\tunsigned int wb_offset;\n\tunsigned int wb_pgbase;\n\tunsigned int wb_bytes;\n\tstruct kref wb_kref;\n\tlong unsigned int wb_flags;\n\tstruct nfs_write_verifier wb_verf;\n\tstruct nfs_page *wb_this_page;\n\tstruct nfs_page *wb_head;\n\tshort unsigned int wb_nio;\n};\n\nstruct nfs_page_array {\n\tstruct page **pagevec;\n\tunsigned int npages;\n\tstruct page *page_array[8];\n};\n\nstruct nfs_page_iter_page {\n\tconst struct nfs_page *req;\n\tsize_t count;\n};\n\nstruct nfs_pgio_mirror {\n\tstruct list_head pg_list;\n\tlong unsigned int pg_bytes_written;\n\tsize_t pg_count;\n\tsize_t pg_bsize;\n\tunsigned int pg_base;\n\tunsigned char pg_recoalesce: 1;\n};\n\nstruct nfs_pageio_ops;\n\nstruct nfs_rw_ops;\n\nstruct nfs_pgio_completion_ops;\n\nstruct nfs_pageio_descriptor {\n\tstruct inode *pg_inode;\n\tconst struct nfs_pageio_ops *pg_ops;\n\tconst struct nfs_rw_ops *pg_rw_ops;\n\tint pg_ioflags;\n\tint pg_error;\n\tconst struct rpc_call_ops *pg_rpc_callops;\n\tconst struct nfs_pgio_completion_ops *pg_completion_ops;\n\tstruct pnfs_layout_segment *pg_lseg;\n\tstruct nfs_io_completion *pg_io_completion;\n\tstruct nfs_direct_req *pg_dreq;\n\tunsigned int pg_bsize;\n\tu32 pg_mirror_count;\n\tstruct nfs_pgio_mirror *pg_mirrors;\n\tstruct nfs_pgio_mirror pg_mirrors_static[1];\n\tstruct nfs_pgio_mirror *pg_mirrors_dynamic;\n\tu32 pg_mirror_idx;\n\tshort unsigned int pg_maxretrans;\n\tunsigned char pg_moreio: 1;\n};\n\nstruct nfs_pageio_ops {\n\tvoid (*pg_init)(struct nfs_pageio_descriptor *, struct nfs_page *);\n\tsize_t (*pg_test)(struct nfs_pageio_descriptor *, struct nfs_page *, struct nfs_page *);\n\tint (*pg_doio)(struct nfs_pageio_descriptor *);\n\tunsigned int (*pg_get_mirror_count)(struct nfs_pageio_descriptor *, struct nfs_page *);\n\tvoid (*pg_cleanup)(struct nfs_pageio_descriptor *);\n\tstruct nfs_pgio_mirror * (*pg_get_mirror)(struct nfs_pageio_descriptor *, u32);\n\tu32 (*pg_set_mirror)(struct nfs_pageio_descriptor *, u32);\n};\n\nstruct nfs_pathconf {\n\tstruct nfs_fattr *fattr;\n\t__u32 max_link;\n\t__u32 max_namelen;\n};\n\nstruct nfs_pgio_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct nfs_open_context *context;\n\tstruct nfs_lock_context *lock_context;\n\tnfs4_stateid stateid;\n\t__u64 offset;\n\t__u32 count;\n\tunsigned int pgbase;\n\tstruct page **pages;\n\tunion {\n\t\tunsigned int replen;\n\t\tstruct {\n\t\t\tconst u32 *bitmask;\n\t\t\tu32 bitmask_store[3];\n\t\t\tenum nfs3_stable_how stable;\n\t\t};\n\t};\n};\n\nstruct nfs_pgio_header;\n\nstruct nfs_pgio_completion_ops {\n\tvoid (*error_cleanup)(struct list_head *, int);\n\tvoid (*init_hdr)(struct nfs_pgio_header *);\n\tvoid (*completion)(struct nfs_pgio_header *);\n\tvoid (*reschedule_io)(struct nfs_pgio_header *);\n};\n\nstruct nfs_pgio_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\t__u64 count;\n\t__u32 op_status;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int replen;\n\t\t\tint eof;\n\t\t\tvoid *scratch;\n\t\t};\n\t\tstruct {\n\t\t\tstruct nfs_writeverf *verf;\n\t\t\tconst struct nfs_server *server;\n\t\t};\n\t};\n};\n\nstruct nfs_pgio_header {\n\tstruct inode *inode;\n\tconst struct cred *cred;\n\tstruct list_head pages;\n\tstruct nfs_page *req;\n\tstruct nfs_writeverf verf;\n\tfmode_t rw_mode;\n\tstruct pnfs_layout_segment *lseg;\n\tloff_t io_start;\n\tconst struct rpc_call_ops *mds_ops;\n\tvoid (*release)(struct nfs_pgio_header *);\n\tconst struct nfs_pgio_completion_ops *completion_ops;\n\tconst struct nfs_rw_ops *rw_ops;\n\tstruct nfs_io_completion *io_completion;\n\tstruct nfs_direct_req *dreq;\n\tint pnfs_error;\n\tint error;\n\tunsigned int good_bytes;\n\tlong unsigned int flags;\n\tstruct rpc_task task;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_pgio_args args;\n\tstruct nfs_pgio_res res;\n\tlong unsigned int timestamp;\n\tint (*pgio_done_cb)(struct rpc_task *, struct nfs_pgio_header *);\n\t__u64 mds_offset;\n\tstruct nfs_page_array page_array;\n\tstruct nfs_client *ds_clp;\n\tu32 ds_commit_idx;\n\tu32 pgio_mirror_idx;\n};\n\nstruct nfs_readdir_arg {\n\tstruct dentry *dentry;\n\tconst struct cred *cred;\n\t__be32 *verf;\n\tu64 cookie;\n\tstruct page **pages;\n\tunsigned int page_len;\n\tbool plus;\n};\n\nstruct nfs_readdir_descriptor {\n\tstruct file *file;\n\tstruct folio *folio;\n\tstruct dir_context *ctx;\n\tlong unsigned int folio_index;\n\tlong unsigned int folio_index_max;\n\tu64 dir_cookie;\n\tu64 last_cookie;\n\tloff_t current_index;\n\t__be32 verf[2];\n\tlong unsigned int dir_verifier;\n\tlong unsigned int timestamp;\n\tlong unsigned int gencount;\n\tlong unsigned int attr_gencount;\n\tunsigned int cache_entry_index;\n\tunsigned int buffer_fills;\n\tunsigned int dtsize;\n\tbool clear_cache;\n\tbool plus;\n\tbool eob;\n\tbool eof;\n};\n\nstruct nfs_readdir_res {\n\t__be32 *verf;\n};\n\nstruct nfs_referral_count {\n\tstruct list_head list;\n\tconst struct task_struct *task;\n\tunsigned int referral_count;\n};\n\nstruct nfs_release_lockowner_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_lowner lock_owner;\n};\n\nstruct nfs_release_lockowner_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs_release_lockowner_data {\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_server *server;\n\tstruct nfs_release_lockowner_args args;\n\tstruct nfs_release_lockowner_res res;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs_removeargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tstruct qstr name;\n};\n\nstruct nfs_removeres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_server *server;\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs4_change_info cinfo;\n};\n\nstruct nfs_renameargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *old_dir;\n\tconst struct nfs_fh *new_dir;\n\tconst struct qstr *old_name;\n\tconst struct qstr *new_name;\n};\n\nstruct nfs_renameres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_server *server;\n\tstruct nfs4_change_info old_cinfo;\n\tstruct nfs_fattr *old_fattr;\n\tstruct nfs4_change_info new_cinfo;\n\tstruct nfs_fattr *new_fattr;\n};\n\nstruct nfs_renamedata {\n\tstruct nfs_renameargs args;\n\tstruct nfs_renameres res;\n\tstruct rpc_task task;\n\tconst struct cred *cred;\n\tstruct inode *old_dir;\n\tstruct dentry *old_dentry;\n\tstruct nfs_fattr old_fattr;\n\tstruct inode *new_dir;\n\tstruct dentry *new_dentry;\n\tstruct nfs_fattr new_fattr;\n\tvoid (*complete)(struct rpc_task *, struct nfs_renamedata *);\n\tlong int timeout;\n\tbool cancelled;\n};\n\nstruct nlmclnt_operations;\n\nstruct nfs_unlinkdata;\n\nstruct nfs_rpc_ops {\n\tu32 version;\n\tconst struct dentry_operations *dentry_ops;\n\tconst struct inode_operations *dir_inode_ops;\n\tconst struct inode_operations *file_inode_ops;\n\tconst struct file_operations *file_ops;\n\tconst struct nlmclnt_operations *nlmclnt_ops;\n\tint (*getroot)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tint (*submount)(struct fs_context *, struct nfs_server *);\n\tint (*try_get_tree)(struct fs_context *);\n\tint (*getattr)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, struct inode *);\n\tint (*setattr)(struct dentry *, struct nfs_fattr *, struct iattr *);\n\tint (*lookup)(struct inode *, struct dentry *, const struct qstr *, struct nfs_fh *, struct nfs_fattr *);\n\tint (*lookupp)(struct inode *, struct nfs_fh *, struct nfs_fattr *);\n\tint (*access)(struct inode *, struct nfs_access_entry *, const struct cred *);\n\tint (*readlink)(struct inode *, struct page *, unsigned int, unsigned int);\n\tint (*create)(struct inode *, struct dentry *, struct iattr *, int);\n\tint (*remove)(struct inode *, struct dentry *);\n\tvoid (*unlink_setup)(struct rpc_message *, struct dentry *, struct inode *);\n\tvoid (*unlink_rpc_prepare)(struct rpc_task *, struct nfs_unlinkdata *);\n\tint (*unlink_done)(struct rpc_task *, struct inode *);\n\tvoid (*rename_setup)(struct rpc_message *, struct dentry *, struct dentry *);\n\tvoid (*rename_rpc_prepare)(struct rpc_task *, struct nfs_renamedata *);\n\tint (*rename_done)(struct rpc_task *, struct inode *, struct inode *);\n\tint (*link)(struct inode *, struct inode *, const struct qstr *);\n\tint (*symlink)(struct inode *, struct dentry *, struct folio *, unsigned int, struct iattr *);\n\tint (*mkdir)(struct inode *, struct dentry *, struct iattr *);\n\tint (*rmdir)(struct inode *, const struct qstr *);\n\tint (*readdir)(struct nfs_readdir_arg *, struct nfs_readdir_res *);\n\tint (*mknod)(struct inode *, struct dentry *, struct iattr *, dev_t);\n\tint (*statfs)(struct nfs_server *, struct nfs_fh *, struct nfs_fsstat *);\n\tint (*fsinfo)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tint (*pathconf)(struct nfs_server *, struct nfs_fh *, struct nfs_pathconf *);\n\tint (*set_capabilities)(struct nfs_server *, struct nfs_fh *);\n\tint (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, bool);\n\tint (*pgio_rpc_prepare)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*read_setup)(struct nfs_pgio_header *, struct rpc_message *);\n\tint (*read_done)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*write_setup)(struct nfs_pgio_header *, struct rpc_message *, struct rpc_clnt **);\n\tint (*write_done)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*commit_setup)(struct nfs_commit_data *, struct rpc_message *, struct rpc_clnt **);\n\tvoid (*commit_rpc_prepare)(struct rpc_task *, struct nfs_commit_data *);\n\tint (*commit_done)(struct rpc_task *, struct nfs_commit_data *);\n\tint (*lock)(struct file *, int, struct file_lock *);\n\tint (*lock_check_bounds)(const struct file_lock *);\n\tvoid (*clear_acl_cache)(struct inode *);\n\tvoid (*close_context)(struct nfs_open_context *, int);\n\tstruct inode * (*open_context)(struct inode *, struct nfs_open_context *, int, struct iattr *, int *);\n\tint (*have_delegation)(struct inode *, fmode_t, int);\n\tint (*return_delegation)(struct inode *);\n\tstruct nfs_client * (*alloc_client)(const struct nfs_client_initdata *);\n\tstruct nfs_client * (*init_client)(struct nfs_client *, const struct nfs_client_initdata *);\n\tvoid (*free_client)(struct nfs_client *);\n\tstruct nfs_server * (*create_server)(struct fs_context *);\n\tstruct nfs_server * (*clone_server)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, rpc_authflavor_t);\n\tint (*discover_trunking)(struct nfs_server *, struct nfs_fh *);\n\tvoid (*enable_swap)(struct inode *);\n\tvoid (*disable_swap)(struct inode *);\n};\n\nstruct rpc_task_setup;\n\nstruct nfs_rw_ops {\n\tstruct nfs_pgio_header * (*rw_alloc_header)(void);\n\tvoid (*rw_free_header)(struct nfs_pgio_header *);\n\tint (*rw_done)(struct rpc_task *, struct nfs_pgio_header *, struct inode *);\n\tvoid (*rw_result)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*rw_initiate)(struct nfs_pgio_header *, struct rpc_message *, const struct nfs_rpc_ops *, struct rpc_task_setup *, int);\n};\n\nstruct nfs_seqid {\n\tstruct nfs_seqid_counter *sequence;\n\tstruct list_head list;\n\tstruct rpc_task *task;\n};\n\nstruct nlm_host;\n\nstruct nfs_server {\n\tstruct nfs_client *nfs_client;\n\tstruct list_head client_link;\n\tstruct list_head master_link;\n\tstruct rpc_clnt *client;\n\tstruct rpc_clnt *client_acl;\n\tstruct nlm_host *nlm_host;\n\tstruct nfs_iostats *io_stats;\n\twait_queue_head_t write_congestion_wait;\n\tatomic_long_t writeback;\n\tunsigned int write_congested;\n\tunsigned int flags;\n\tunsigned int fattr_valid;\n\tunsigned int caps;\n\tunsigned int rsize;\n\tunsigned int rpages;\n\tunsigned int wsize;\n\tunsigned int wpages;\n\tunsigned int wtmult;\n\tunsigned int dtsize;\n\tshort unsigned int port;\n\tunsigned int bsize;\n\tunsigned int gxasize;\n\tunsigned int sxasize;\n\tunsigned int lxasize;\n\tunsigned int acregmin;\n\tunsigned int acregmax;\n\tunsigned int acdirmin;\n\tunsigned int acdirmax;\n\tunsigned int namelen;\n\tunsigned int options;\n\tunsigned int clone_blksize;\n\tenum nfs4_change_attr_type change_attr_type;\n\tstruct nfs_fsid fsid;\n\tint s_sysfs_id;\n\t__u64 maxfilesize;\n\tstruct timespec64 time_delta;\n\tlong unsigned int mount_time;\n\tstruct super_block *super;\n\tdev_t s_dev;\n\tstruct nfs_auth_info auth_info;\n\tu32 pnfs_blksize;\n\tu32 attr_bitmask[3];\n\tu32 attr_bitmask_nl[3];\n\tu32 exclcreat_bitmask[3];\n\tu32 cache_consistency_bitmask[3];\n\tu32 acl_bitmask;\n\tu32 fh_expire_type;\n\tstruct pnfs_layoutdriver_type *pnfs_curr_ld;\n\tstruct rpc_wait_queue roc_rpcwaitq;\n\tvoid *pnfs_ld_data;\n\tstruct rb_root state_owners;\n\tatomic64_t owner_ctr;\n\tstruct list_head state_owners_lru;\n\tstruct list_head layouts;\n\tstruct list_head delegations;\n\tstruct list_head ss_copies;\n\tstruct list_head ss_src_copies;\n\tlong unsigned int delegation_gen;\n\tlong unsigned int mig_gen;\n\tlong unsigned int mig_status;\n\tvoid (*destroy)(struct nfs_server *);\n\tatomic_t active;\n\tstruct __kernel_sockaddr_storage mountd_address;\n\tsize_t mountd_addrlen;\n\tu32 mountd_version;\n\tshort unsigned int mountd_port;\n\tshort unsigned int mountd_protocol;\n\tstruct rpc_wait_queue uoc_rpcwaitq;\n\tunsigned int read_hdrsize;\n\tconst struct cred *cred;\n\tbool has_sec_mnt_opts;\n\tstruct kobject kobj;\n\tstruct callback_head rcu;\n};\n\nstruct nfs_setaclargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tstruct page **acl_pages;\n};\n\nstruct nfs_setaclres {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs_setattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tnfs4_stateid stateid;\n\tstruct iattr *iap;\n\tconst struct nfs_server *server;\n\tconst u32 *bitmask;\n\tconst struct nfs4_label *label;\n};\n\nstruct nfs_setattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs_ssc_client_ops {\n\tvoid (*sco_sb_deactive)(struct super_block *);\n};\n\nstruct nfs_ssc_client_ops_tbl {\n\tconst struct nfs4_ssc_client_ops *ssc_nfs4_ops;\n\tconst struct nfs_ssc_client_ops *ssc_nfs_ops;\n};\n\nstruct rpc_version;\n\nstruct super_operations;\n\nstruct xattr_handler;\n\nstruct nfs_subversion {\n\tstruct module *owner;\n\tstruct file_system_type *nfs_fs;\n\tconst struct rpc_version *rpc_vers;\n\tconst struct nfs_rpc_ops *rpc_ops;\n\tconst struct super_operations *sops;\n\tconst struct xattr_handler * const *xattr;\n};\n\nstruct nfs_unlinkdata {\n\tstruct nfs_removeargs args;\n\tstruct nfs_removeres res;\n\tstruct dentry *dentry;\n\twait_queue_head_t wq;\n\tconst struct cred *cred;\n\tstruct nfs_fattr dir_attr;\n\tlong int timeout;\n};\n\nstruct nh_config {\n\tu32 nh_id;\n\tu8 nh_family;\n\tu8 nh_protocol;\n\tu8 nh_blackhole;\n\tu8 nh_fdb;\n\tu32 nh_flags;\n\tint nh_ifindex;\n\tstruct net_device *dev;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} gw;\n\tstruct nlattr *nh_grp;\n\tu16 nh_grp_type;\n\tu16 nh_grp_res_num_buckets;\n\tlong unsigned int nh_grp_res_idle_timer;\n\tlong unsigned int nh_grp_res_unbalanced_timer;\n\tbool nh_grp_res_has_num_buckets;\n\tbool nh_grp_res_has_idle_timer;\n\tbool nh_grp_res_has_unbalanced_timer;\n\tbool nh_hw_stats;\n\tstruct nlattr *nh_encap;\n\tu16 nh_encap_type;\n\tu32 nlflags;\n\tstruct nl_info nlinfo;\n};\n\nstruct nh_dump_filter {\n\tu32 nh_id;\n\tint dev_idx;\n\tint master_idx;\n\tbool group_filter;\n\tbool fdb_filter;\n\tu32 res_bucket_nh_id;\n\tu32 op_flags;\n};\n\nstruct nh_grp_entry_stats;\n\nstruct nh_grp_entry {\n\tstruct nexthop *nh;\n\tstruct nh_grp_entry_stats *stats;\n\tu16 weight;\n\tunion {\n\t\tstruct {\n\t\t\tatomic_t upper_bound;\n\t\t} hthr;\n\t\tstruct {\n\t\t\tstruct list_head uw_nh_entry;\n\t\t\tu16 count_buckets;\n\t\t\tu16 wants_buckets;\n\t\t} res;\n\t};\n\tstruct list_head nh_list;\n\tstruct nexthop *nh_parent;\n\tu64 packets_hw;\n};\n\nstruct nh_res_table;\n\nstruct nh_group {\n\tstruct nh_group *spare;\n\tu16 num_nh;\n\tbool is_multipath;\n\tbool hash_threshold;\n\tbool resilient;\n\tbool fdb_nh;\n\tbool has_v4;\n\tbool hw_stats;\n\tstruct nh_res_table *res_table;\n\tstruct nh_grp_entry nh_entries[0];\n};\n\nstruct nh_grp_entry_stats {\n\tu64_stats_t packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct nh_info {\n\tstruct hlist_node dev_hash;\n\tstruct nexthop *nh_parent;\n\tu8 family;\n\tbool reject_nh;\n\tbool fdb_nh;\n\tunion {\n\t\tstruct fib_nh_common fib_nhc;\n\t\tstruct fib_nh fib_nh;\n\t\tstruct fib6_nh fib6_nh;\n\t};\n};\n\nstruct nh_notifier_single_info {\n\tstruct net_device *dev;\n\tu8 gw_family;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t};\n\tu32 id;\n\tu8 is_reject: 1;\n\tu8 is_fdb: 1;\n\tu8 has_encap: 1;\n};\n\nstruct nh_notifier_grp_entry_info {\n\tu16 weight;\n\tstruct nh_notifier_single_info nh;\n};\n\nstruct nh_notifier_grp_hw_stats_entry_info {\n\tu32 id;\n\tu64 packets;\n};\n\nstruct nh_notifier_grp_hw_stats_info {\n\tu16 num_nh;\n\tbool hw_stats_used;\n\tstruct nh_notifier_grp_hw_stats_entry_info stats[0];\n};\n\nstruct nh_notifier_grp_info {\n\tu16 num_nh;\n\tbool is_fdb;\n\tbool hw_stats;\n\tstruct nh_notifier_grp_entry_info nh_entries[0];\n};\n\nstruct nh_notifier_res_table_info;\n\nstruct nh_notifier_res_bucket_info;\n\nstruct nh_notifier_info {\n\tstruct net *net;\n\tstruct netlink_ext_ack *extack;\n\tu32 id;\n\tenum nh_notifier_info_type type;\n\tunion {\n\t\tstruct nh_notifier_single_info *nh;\n\t\tstruct nh_notifier_grp_info *nh_grp;\n\t\tstruct nh_notifier_res_table_info *nh_res_table;\n\t\tstruct nh_notifier_res_bucket_info *nh_res_bucket;\n\t\tstruct nh_notifier_grp_hw_stats_info *nh_grp_hw_stats;\n\t};\n};\n\nstruct nh_notifier_res_bucket_info {\n\tu16 bucket_index;\n\tunsigned int idle_timer_ms;\n\tbool force;\n\tstruct nh_notifier_single_info old_nh;\n\tstruct nh_notifier_single_info new_nh;\n};\n\nstruct nh_notifier_res_table_info {\n\tu16 num_nh_buckets;\n\tbool hw_stats;\n\tstruct nh_notifier_single_info nhs[0];\n};\n\nstruct nh_res_bucket {\n\tstruct nh_grp_entry *nh_entry;\n\tatomic_long_t used_time;\n\tlong unsigned int migrated_time;\n\tbool occupied;\n\tu8 nh_flags;\n};\n\nstruct nh_res_table {\n\tstruct net *net;\n\tu32 nhg_id;\n\tstruct delayed_work upkeep_dw;\n\tstruct list_head uw_nh_entries;\n\tlong unsigned int unbalanced_since;\n\tu32 idle_timer;\n\tu32 unbalanced_timer;\n\tu16 num_nh_buckets;\n\tstruct nh_res_bucket nh_buckets[0];\n};\n\nstruct nhmsg {\n\tunsigned char nh_family;\n\tunsigned char nh_scope;\n\tunsigned char nh_protocol;\n\tunsigned char resvd;\n\tunsigned int nh_flags;\n};\n\nstruct nic_cfg_msg {\n\tu8 msg;\n\tu8 vf_id;\n\tu8 node_id;\n\tu8 tns_mode: 1;\n\tu8 sqs_mode: 1;\n\tu8 loopback_supported: 1;\n\tu8 mac_addr[6];\n};\n\nstruct qs_cfg_msg {\n\tu8 msg;\n\tu8 num;\n\tu8 sqs_count;\n\tu64 cfg;\n};\n\nstruct rq_cfg_msg {\n\tu8 msg;\n\tu8 qs_num;\n\tu8 rq_num;\n\tu64 cfg;\n};\n\nstruct sq_cfg_msg {\n\tu8 msg;\n\tu8 qs_num;\n\tu8 sq_num;\n\tbool sqs_mode;\n\tu64 cfg;\n};\n\nstruct set_mac_msg {\n\tu8 msg;\n\tu8 vf_id;\n\tu8 mac_addr[6];\n};\n\nstruct set_frs_msg {\n\tu8 msg;\n\tu8 vf_id;\n\tu16 max_frs;\n};\n\nstruct rss_sz_msg {\n\tu8 msg;\n\tu8 vf_id;\n\tu16 ind_tbl_size;\n};\n\nstruct rss_cfg_msg {\n\tu8 msg;\n\tu8 vf_id;\n\tu8 hash_bits;\n\tu8 tbl_len;\n\tu8 tbl_offset;\n\tu8 ind_tbl[8];\n};\n\nstruct sqs_alloc {\n\tu8 msg;\n\tu8 vf_id;\n\tu8 qs_count;\n};\n\nstruct nicvf_ptr {\n\tu8 msg;\n\tu8 vf_id;\n\tbool sqs_mode;\n\tu8 sqs_id;\n\tu64 nicvf;\n};\n\nstruct set_loopback {\n\tu8 msg;\n\tu8 vf_id;\n\tbool enable;\n};\n\nstruct reset_stat_cfg {\n\tu8 msg;\n\tu16 rx_stat_mask;\n\tu8 tx_stat_mask;\n\tu16 rq_stat_mask;\n\tu16 sq_stat_mask;\n};\n\nstruct pfc {\n\tu8 msg;\n\tu8 get;\n\tu8 autoneg;\n\tu8 fc_rx;\n\tu8 fc_tx;\n};\n\nstruct set_ptp {\n\tu8 msg;\n\tbool enable;\n};\n\nstruct xcast {\n\tu8 msg;\n\tu8 mode;\n\tu64 mac: 48;\n};\n\nunion nic_mbx {\n\tstruct {\n\t\tu8 msg;\n\t} msg;\n\tstruct nic_cfg_msg nic_cfg;\n\tstruct qs_cfg_msg qs;\n\tstruct rq_cfg_msg rq;\n\tstruct sq_cfg_msg sq;\n\tstruct set_mac_msg mac;\n\tstruct set_frs_msg frs;\n\tstruct cpi_cfg_msg cpi_cfg;\n\tstruct rss_sz_msg rss_size;\n\tstruct rss_cfg_msg rss_cfg;\n\tstruct bgx_stats_msg bgx_stats;\n\tstruct bgx_link_status link_status;\n\tstruct sqs_alloc sqs_alloc;\n\tstruct nicvf_ptr nicvf;\n\tstruct set_loopback lbk;\n\tstruct reset_stat_cfg reset_stat;\n\tstruct pfc pfc;\n\tstruct set_ptp ptp;\n\tstruct xcast xcast;\n};\n\nstruct pkind_cfg {\n\tu64 minlen: 16;\n\tu64 maxlen: 16;\n\tu64 reserved_32_32: 1;\n\tu64 lenerr_en: 1;\n\tu64 rx_hdr: 3;\n\tu64 hdr_sl: 5;\n\tu64 reserved_42_63: 22;\n};\n\nstruct nicpf {\n\tstruct pci_dev *pdev;\n\tstruct hw_info *hw;\n\tu8 node;\n\tunsigned int flags;\n\tu8 num_vf_en;\n\tbool vf_enabled[128];\n\tvoid *reg_base;\n\tu8 num_sqs_en;\n\tu64 nicvf[128];\n\tu8 vf_sqs[1408];\n\tu8 pqs_vf[128];\n\tbool sqs_used[128];\n\tstruct pkind_cfg pkind;\n\tu8 *vf_lmac_map;\n\tu16 cpi_base[128];\n\tu16 rssi_base[128];\n\tu8 num_vec;\n\tunsigned int irq_allocated[10];\n\tchar irq_name[200];\n};\n\nstruct nl_pktinfo {\n\t__u32 group;\n};\n\nstruct rhashtable_walker {\n\tstruct list_head list;\n\tstruct bucket_table *tbl;\n};\n\nstruct rhashtable_iter {\n\tstruct rhashtable *ht;\n\tstruct rhash_head *p;\n\tstruct rhlist_head *list;\n\tstruct rhashtable_walker walker;\n\tunsigned int slot;\n\tunsigned int skip;\n\tbool end_of_table;\n};\n\nstruct nl_seq_iter {\n\tstruct seq_net_private p;\n\tstruct rhashtable_iter hti;\n\tint link;\n};\n\nstruct nla_bitfield32 {\n\t__u32 value;\n\t__u32 selector;\n};\n\nstruct nla_policy {\n\tu8 type;\n\tu8 validation_type;\n\tu16 len;\n\tunion {\n\t\tu16 strict_start_type;\n\t\tconst u32 bitfield32_valid;\n\t\tconst u32 mask;\n\t\tconst char *reject_message;\n\t\tconst struct nla_policy *nested_policy;\n\t\tconst struct netlink_range_validation *range;\n\t\tconst struct netlink_range_validation_signed *range_signed;\n\t\tstruct {\n\t\t\ts16 min;\n\t\t\ts16 max;\n\t\t};\n\t\tint (*validate)(const struct nlattr *, struct netlink_ext_ack *);\n\t};\n};\n\nstruct nlattr {\n\t__u16 nla_len;\n\t__u16 nla_type;\n};\n\nstruct nlm_cookie {\n\tunsigned char data[32];\n\tunsigned int len;\n};\n\nstruct nlm_lock {\n\tchar *caller;\n\tunsigned int len;\n\tstruct nfs_fh fh;\n\tstruct xdr_netobj oh;\n\tu32 svid;\n\tu64 lock_start;\n\tu64 lock_len;\n\tstruct file_lock fl;\n};\n\nstruct nlm_args {\n\tstruct nlm_cookie cookie;\n\tstruct nlm_lock lock;\n\tu32 block;\n\tu32 reclaim;\n\tu32 state;\n\tu32 monitor;\n\tu32 fsm_access;\n\tu32 fsm_mode;\n};\n\nstruct nlm_rqst;\n\nstruct nlm_file;\n\nstruct nlm_block {\n\tstruct kref b_count;\n\tstruct list_head b_list;\n\tstruct list_head b_flist;\n\tstruct nlm_rqst *b_call;\n\tstruct svc_serv *b_daemon;\n\tstruct nlm_host *b_host;\n\tlong unsigned int b_when;\n\tunsigned int b_id;\n\tunsigned char b_granted;\n\tstruct nlm_file *b_file;\n\tstruct cache_req *b_cache_req;\n\tstruct cache_deferred_req *b_deferred_req;\n\tunsigned int b_flags;\n};\n\nstruct nlm_share;\n\nstruct nlm_file {\n\tstruct hlist_node f_list;\n\tstruct nfs_fh f_handle;\n\tstruct file *f_file[2];\n\tstruct nlm_share *f_shares;\n\tstruct list_head f_blocks;\n\tunsigned int f_locks;\n\tunsigned int f_count;\n\tstruct mutex f_mutex;\n};\n\nstruct nsm_handle;\n\nstruct nlm_host {\n\tstruct hlist_node h_hash;\n\tstruct __kernel_sockaddr_storage h_addr;\n\tsize_t h_addrlen;\n\tstruct __kernel_sockaddr_storage h_srcaddr;\n\tsize_t h_srcaddrlen;\n\tstruct rpc_clnt *h_rpcclnt;\n\tchar *h_name;\n\tu32 h_version;\n\tshort unsigned int h_proto;\n\tshort unsigned int h_reclaiming: 1;\n\tshort unsigned int h_server: 1;\n\tshort unsigned int h_noresvport: 1;\n\tshort unsigned int h_inuse: 1;\n\twait_queue_head_t h_gracewait;\n\tstruct rw_semaphore h_rwsem;\n\tu32 h_state;\n\tu32 h_nsmstate;\n\tu32 h_pidcount;\n\trefcount_t h_count;\n\tstruct mutex h_mutex;\n\tlong unsigned int h_nextrebind;\n\tlong unsigned int h_expires;\n\tstruct list_head h_lockowners;\n\tspinlock_t h_lock;\n\tstruct list_head h_granted;\n\tstruct list_head h_reclaim;\n\tstruct nsm_handle *h_nsmhandle;\n\tchar *h_addrbuf;\n\tstruct net *net;\n\tconst struct cred *h_cred;\n\tchar nodename[65];\n\tconst struct nlmclnt_operations *h_nlmclnt_ops;\n};\n\nstruct nlm_lockowner {\n\tstruct list_head list;\n\trefcount_t count;\n\tstruct nlm_host *host;\n\tfl_owner_t owner;\n\tuint32_t pid;\n};\n\nstruct nlm_lookup_host_info {\n\tconst int server;\n\tconst struct sockaddr *sap;\n\tconst size_t salen;\n\tconst short unsigned int protocol;\n\tconst u32 version;\n\tconst char *hostname;\n\tconst size_t hostname_len;\n\tconst int noresvport;\n\tstruct net *net;\n\tconst struct cred *cred;\n};\n\nstruct nsm_private {\n\tunsigned char data[16];\n};\n\nstruct nlm_reboot {\n\tchar *mon;\n\tunsigned int len;\n\tu32 state;\n\tstruct nsm_private priv;\n};\n\nstruct nlm_res {\n\tstruct nlm_cookie cookie;\n\t__be32 status;\n\tstruct nlm_lock lock;\n};\n\nstruct nlm_rqst {\n\trefcount_t a_count;\n\tunsigned int a_flags;\n\tstruct nlm_host *a_host;\n\tstruct nlm_args a_args;\n\tstruct nlm_res a_res;\n\tstruct nlm_block *a_block;\n\tunsigned int a_retries;\n\tu8 a_owner[74];\n\tvoid *a_callback_data;\n};\n\nstruct nlm_share {\n\tstruct nlm_share *s_next;\n\tstruct nlm_host *s_host;\n\tstruct nlm_file *s_file;\n\tstruct xdr_netobj s_owner;\n\tu32 s_access;\n\tu32 s_mode;\n};\n\nstruct nlm_wait {\n\tstruct list_head b_list;\n\twait_queue_head_t b_wait;\n\tstruct nlm_host *b_host;\n\tstruct file_lock *b_lock;\n\t__be32 b_status;\n};\n\nstruct nlmclnt_initdata {\n\tconst char *hostname;\n\tconst struct sockaddr *address;\n\tsize_t addrlen;\n\tshort unsigned int protocol;\n\tu32 nfs_version;\n\tint noresvport;\n\tstruct net *net;\n\tconst struct nlmclnt_operations *nlmclnt_ops;\n\tconst struct cred *cred;\n};\n\nstruct nlmclnt_operations {\n\tvoid (*nlmclnt_alloc_call)(void *);\n\tbool (*nlmclnt_unlock_prepare)(struct rpc_task *, void *);\n\tvoid (*nlmclnt_release_call)(void *);\n};\n\nstruct nlmsghdr {\n\t__u32 nlmsg_len;\n\t__u16 nlmsg_type;\n\t__u16 nlmsg_flags;\n\t__u32 nlmsg_seq;\n\t__u32 nlmsg_pid;\n};\n\nstruct nlmsgerr {\n\tint error;\n\tstruct nlmsghdr msg;\n};\n\nstruct nlmsvc_binding {\n\t__be32 (*fopen)(struct svc_rqst *, struct nfs_fh *, struct file **, int);\n\tvoid (*fclose)(struct file *);\n};\n\nstruct nls_table {\n\tconst char *charset;\n\tconst char *alias;\n\tint (*uni2char)(wchar_t, unsigned char *, int);\n\tint (*char2uni)(const unsigned char *, int, wchar_t *);\n\tconst unsigned char *charset2lower;\n\tconst unsigned char *charset2upper;\n\tstruct module *owner;\n\tstruct nls_table *next;\n};\n\nstruct nmi_ctx {\n\tu64 hcr;\n\tunsigned int cnt;\n};\n\nstruct node {\n\tstruct device dev;\n\tstruct list_head access_list;\n\tstruct list_head cache_attrs;\n\tstruct device *cache_dev;\n};\n\nstruct node_access_nodes {\n\tstruct device dev;\n\tstruct list_head list_node;\n\tunsigned int access;\n\tstruct access_coordinate coord;\n};\n\nstruct node_attr {\n\tstruct device_attribute attr;\n\tenum node_states state;\n};\n\nstruct node_cache_info {\n\tstruct device dev;\n\tstruct list_head node;\n\tstruct node_cache_attrs cache_attrs;\n};\n\nstruct node_groups {\n\tunsigned int id;\n\tunion {\n\t\tunsigned int ngroups;\n\t\tunsigned int ncpus;\n\t};\n};\n\nstruct node_hstate {\n\tstruct kobject *hugepages_kobj;\n\tstruct kobject *hstate_kobjs[4];\n};\n\nstruct node_memory_type_map {\n\tstruct memory_dev_type *memtype;\n\tint map_count;\n};\n\nstruct nodemask_scratch {\n\tnodemask_t mask1;\n\tnodemask_t mask2;\n};\n\nstruct nosave_region {\n\tstruct list_head list;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n};\n\nstruct notif_entry {\n\tstruct list_head link;\n\tstruct completion c;\n\tu_int key;\n};\n\nstruct notification {\n\tatomic_t requests;\n\tu32 flags;\n\tu64 next_id;\n\tstruct list_head notifications;\n};\n\nstruct npcm_clock_adev {\n\tvoid *base;\n\tstruct auxiliary_device adev;\n};\n\nstruct npcm_reset_info;\n\nstruct npcm_rc_data {\n\tstruct reset_controller_dev rcdev;\n\tstruct notifier_block restart_nb;\n\tconst struct npcm_reset_info *info;\n\tstruct regmap *gcr_regmap;\n\tu32 sw_reset_number;\n\tstruct device *dev;\n\tvoid *base;\n\tspinlock_t lock;\n};\n\nstruct npcm_reset_info {\n\tu32 bmc_id;\n\tu32 num_ipsrst;\n\tconst u32 *ipsrst;\n};\n\nstruct npcm_rng {\n\tvoid *base;\n\tstruct hwrng rng;\n\tu32 clkp;\n};\n\nstruct npcm_udc_data {\n\tstruct platform_device *ci;\n\tstruct clk *core_clk;\n\tstruct ci_hdrc_platform_data pdata;\n};\n\nstruct npcm_wdt {\n\tstruct watchdog_device wdd;\n\tvoid *reg;\n\tstruct clk *clk;\n};\n\nstruct ns2_mux {\n\tunsigned int base;\n\tunsigned int offset;\n\tunsigned int shift;\n\tunsigned int mask;\n\tunsigned int alt;\n};\n\nstruct ns2_mux_log {\n\tstruct ns2_mux mux;\n\tbool is_configured;\n};\n\nstruct ns2_phy_driver;\n\nstruct ns2_phy_data {\n\tstruct ns2_phy_driver *driver;\n\tstruct phy *phy;\n\tint new_state;\n};\n\nstruct ns2_phy_driver {\n\tvoid *icfgdrd_regs;\n\tvoid *idmdrd_rst_ctrl;\n\tvoid *crmu_usb2_ctrl;\n\tvoid *usb2h_strap_reg;\n\tstruct ns2_phy_data *data;\n\tstruct extcon_dev *edev;\n\tstruct gpio_desc *vbus_gpiod;\n\tstruct gpio_desc *id_gpiod;\n\tint id_irq;\n\tint vbus_irq;\n\tlong unsigned int debounce_jiffies;\n\tstruct delayed_work wq_extcon;\n};\n\nstruct ns2_pinconf {\n\tunsigned int base;\n\tunsigned int offset;\n\tunsigned int src_shift;\n\tunsigned int input_en;\n\tunsigned int pull_shift;\n\tunsigned int drive_shift;\n};\n\nstruct ns2_pin {\n\tunsigned int pin;\n\tchar *name;\n\tstruct ns2_pinconf pin_conf;\n};\n\nstruct ns2_pin_function {\n\tconst char *name;\n\tconst char * const *groups;\n\tconst unsigned int num_groups;\n};\n\nstruct ns2_pin_group {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tconst unsigned int num_pins;\n\tconst struct ns2_mux mux;\n};\n\nstruct ns2_pinctrl {\n\tstruct pinctrl_dev *pctl;\n\tstruct device *dev;\n\tvoid *base0;\n\tvoid *base1;\n\tvoid *pinconf_base;\n\tconst struct ns2_pin_group *groups;\n\tunsigned int num_groups;\n\tconst struct ns2_pin_function *functions;\n\tunsigned int num_functions;\n\tstruct ns2_mux_log *mux_log;\n\tspinlock_t lock;\n};\n\nstruct ns_get_path_bpf_map_args {\n\tstruct bpf_offloaded_map *offmap;\n\tstruct bpf_map_info *info;\n};\n\nstruct ns_get_path_bpf_prog_args {\n\tstruct bpf_prog *prog;\n\tstruct bpf_prog_info *info;\n};\n\nstruct ns_get_path_task_args {\n\tconst struct proc_ns_operations *ns_ops;\n\tstruct task_struct *task;\n};\n\nstruct nsm_args {\n\tstruct nsm_private *priv;\n\tu32 prog;\n\tu32 vers;\n\tu32 proc;\n\tchar *mon_name;\n\tconst char *nodename;\n};\n\nstruct nsm_handle {\n\tstruct list_head sm_link;\n\trefcount_t sm_count;\n\tchar *sm_mon_name;\n\tchar *sm_name;\n\tstruct __kernel_sockaddr_storage sm_addr;\n\tsize_t sm_addrlen;\n\tunsigned int sm_monitored: 1;\n\tunsigned int sm_sticky: 1;\n\tstruct nsm_private sm_priv;\n\tchar sm_addrbuf[51];\n};\n\nstruct nsm_res {\n\tu32 status;\n\tu32 state;\n};\n\nstruct uts_namespace;\n\nstruct time_namespace;\n\nstruct nsproxy {\n\trefcount_t count;\n\tstruct uts_namespace *uts_ns;\n\tstruct ipc_namespace *ipc_ns;\n\tstruct mnt_namespace *mnt_ns;\n\tstruct pid_namespace *pid_ns_for_children;\n\tstruct net *net_ns;\n\tstruct time_namespace *time_ns;\n\tstruct time_namespace *time_ns_for_children;\n\tstruct cgroup_namespace *cgroup_ns;\n};\n\nstruct nsset {\n\tunsigned int flags;\n\tstruct nsproxy *nsproxy;\n\tstruct fs_struct *fs;\n\tconst struct cred *cred;\n};\n\nstruct nt_partition_info {\n\tu32 xlink_enabled;\n\tu32 target_part_low;\n\tu32 target_part_high;\n\tu32 reserved;\n};\n\nstruct ntb_ctrl_regs {\n\tu32 partition_status;\n\tu32 partition_op;\n\tu32 partition_ctrl;\n\tu32 bar_setup;\n\tu32 bar_error;\n\tu16 lut_table_entries;\n\tu16 lut_table_offset;\n\tu32 lut_error;\n\tu16 req_id_table_size;\n\tu16 req_id_table_offset;\n\tu32 req_id_error;\n\tu32 reserved1[7];\n\tstruct {\n\t\tu32 ctl;\n\t\tu32 win_size;\n\t\tu64 xlate_addr;\n\t} bar_entry[6];\n\tstruct {\n\t\tu32 win_size;\n\t\tu32 reserved[3];\n\t} bar_ext_entry[6];\n\tu32 reserved2[192];\n\tu32 req_id_table[512];\n\tu32 reserved3[256];\n\tu64 lut_entry[512];\n};\n\nstruct ntb_info_regs {\n\tu8 partition_count;\n\tu8 partition_id;\n\tu16 reserved1;\n\tu64 ep_map;\n\tu16 requester_id;\n\tu16 reserved2;\n\tu32 reserved3[4];\n\tstruct nt_partition_info ntp_info[48];\n} __attribute__((packed));\n\nstruct ntp_data {\n\tlong unsigned int tick_usec;\n\tu64 tick_length;\n\tu64 tick_length_base;\n\tint time_state;\n\tint time_status;\n\ts64 time_offset;\n\tlong int time_constant;\n\tlong int time_maxerror;\n\tlong int time_esterror;\n\ts64 time_freq;\n\ttime64_t time_reftime;\n\tlong int time_adjust;\n\ts64 ntp_tick_adj;\n\ttime64_t ntp_next_leap_sec;\n};\n\nstruct numa_group {\n\trefcount_t refcount;\n\tspinlock_t lock;\n\tint nr_tasks;\n\tpid_t gid;\n\tint active_nodes;\n\tstruct callback_head rcu;\n\tlong unsigned int total_faults;\n\tlong unsigned int max_faults_cpu;\n\tlong unsigned int faults[0];\n};\n\nstruct numa_maps {\n\tlong unsigned int pages;\n\tlong unsigned int anon;\n\tlong unsigned int active;\n\tlong unsigned int writeback;\n\tlong unsigned int mapcount_max;\n\tlong unsigned int dirty;\n\tlong unsigned int swapcache;\n\tlong unsigned int node[16];\n};\n\nstruct proc_maps_private {\n\tstruct inode *inode;\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct vma_iterator iter;\n\tstruct mempolicy *task_mempolicy;\n};\n\nstruct numa_maps_private {\n\tstruct proc_maps_private proc_maps;\n\tstruct numa_maps md;\n};\n\nstruct numa_memblk {\n\tu64 start;\n\tu64 end;\n\tint nid;\n};\n\nstruct numa_meminfo {\n\tint nr_blks;\n\tstruct numa_memblk blk[32];\n};\n\nstruct numa_stats {\n\tlong unsigned int load;\n\tlong unsigned int runnable;\n\tlong unsigned int util;\n\tlong unsigned int compute_capacity;\n\tunsigned int nr_running;\n\tunsigned int weight;\n\tenum numa_type node_type;\n\tint idle_cpu;\n};\n\nstruct tegra_mc;\n\nstruct nvidia_smmu {\n\tstruct arm_smmu_device___2 smmu;\n\tvoid *bases[2];\n\tunsigned int num_instances;\n\tstruct tegra_mc *mc;\n};\n\nstruct nvmem_cell_entry;\n\nstruct nvmem_cell {\n\tstruct nvmem_cell_entry *entry;\n\tconst char *id;\n\tint index;\n};\n\ntypedef int (*nvmem_cell_post_process_t)(void *, const char *, int, unsigned int, void *, size_t);\n\nstruct nvmem_cell_entry {\n\tconst char *name;\n\tint offset;\n\tsize_t raw_len;\n\tint bytes;\n\tint bit_offset;\n\tint nbits;\n\tnvmem_cell_post_process_t read_post_process;\n\tvoid *priv;\n\tstruct device_node *np;\n\tstruct nvmem_device *nvmem;\n\tstruct list_head node;\n};\n\nstruct nvmem_cell_info {\n\tconst char *name;\n\tunsigned int offset;\n\tsize_t raw_len;\n\tunsigned int bytes;\n\tunsigned int bit_offset;\n\tunsigned int nbits;\n\tstruct device_node *np;\n\tnvmem_cell_post_process_t read_post_process;\n\tvoid *priv;\n};\n\nstruct nvmem_cell_lookup {\n\tconst char *nvmem_name;\n\tconst char *cell_name;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct list_head node;\n};\n\nstruct nvmem_cell_table {\n\tconst char *nvmem_name;\n\tconst struct nvmem_cell_info *cells;\n\tsize_t ncells;\n\tstruct list_head node;\n};\n\ntypedef int (*nvmem_reg_read_t)(void *, unsigned int, void *, size_t);\n\ntypedef int (*nvmem_reg_write_t)(void *, unsigned int, void *, size_t);\n\nstruct nvmem_keepout;\n\nstruct nvmem_layout;\n\nstruct nvmem_config {\n\tstruct device *dev;\n\tconst char *name;\n\tint id;\n\tstruct module *owner;\n\tconst struct nvmem_cell_info *cells;\n\tint ncells;\n\tbool add_legacy_fixed_of_cells;\n\tvoid (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *);\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n\tenum nvmem_type type;\n\tbool read_only;\n\tbool root_only;\n\tbool ignore_wp;\n\tstruct nvmem_layout *layout;\n\tstruct device_node *of_node;\n\tnvmem_reg_read_t reg_read;\n\tnvmem_reg_write_t reg_write;\n\tint size;\n\tint word_size;\n\tint stride;\n\tvoid *priv;\n\tbool compat;\n\tstruct device *base_dev;\n};\n\nstruct nvmem_device {\n\tstruct module *owner;\n\tstruct device dev;\n\tstruct list_head node;\n\tint stride;\n\tint word_size;\n\tint id;\n\tstruct kref refcnt;\n\tsize_t size;\n\tbool read_only;\n\tbool root_only;\n\tint flags;\n\tenum nvmem_type type;\n\tstruct bin_attribute eeprom;\n\tstruct device *base_dev;\n\tstruct list_head cells;\n\tvoid (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *);\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n\tnvmem_reg_read_t reg_read;\n\tnvmem_reg_write_t reg_write;\n\tstruct gpio_desc *wp_gpio;\n\tstruct nvmem_layout *layout;\n\tvoid *priv;\n\tbool sysfs_cells_populated;\n};\n\nstruct nvmem_keepout {\n\tunsigned int start;\n\tunsigned int end;\n\tunsigned char value;\n};\n\nstruct nvmem_layout {\n\tstruct device dev;\n\tstruct nvmem_device *nvmem;\n\tint (*add_cells)(struct nvmem_layout *);\n};\n\nstruct nvmem_layout_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct nvmem_layout *);\n\tvoid (*remove)(struct nvmem_layout *);\n};\n\nstruct nvs_region {\n\t__u64 phys_start;\n\t__u64 size;\n\tstruct list_head node;\n};\n\nstruct nxp_fspi_devtype_data;\n\nstruct nxp_fspi {\n\tvoid *iobase;\n\tvoid *ahb_addr;\n\tu32 memmap_phy;\n\tu32 memmap_phy_size;\n\tu32 memmap_start;\n\tu32 memmap_len;\n\tstruct clk *clk;\n\tstruct clk *clk_en;\n\tstruct device *dev;\n\tstruct completion c;\n\tstruct nxp_fspi_devtype_data *devtype_data;\n\tstruct mutex lock;\n\tstruct pm_qos_request pm_qos_req;\n\tint selected;\n};\n\nstruct nxp_fspi_devtype_data {\n\tunsigned int rxfifo;\n\tunsigned int txfifo;\n\tunsigned int ahb_buf_size;\n\tunsigned int quirks;\n\tunsigned int lut_num;\n\tbool little_endian;\n};\n\nstruct obj_cgroup {\n\tstruct percpu_ref refcnt;\n\tstruct mem_cgroup *memcg;\n\tatomic_t nr_charged_bytes;\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct objpool_head;\n\ntypedef int (*objpool_fini_cb)(struct objpool_head *, void *);\n\nstruct objpool_slot;\n\nstruct objpool_head {\n\tint obj_size;\n\tint nr_objs;\n\tint nr_possible_cpus;\n\tint capacity;\n\tgfp_t gfp;\n\trefcount_t ref;\n\tlong unsigned int flags;\n\tstruct objpool_slot **cpu_slots;\n\tobjpool_fini_cb release;\n\tvoid *context;\n};\n\nstruct objpool_slot {\n\tuint32_t head;\n\tuint32_t tail;\n\tuint32_t last;\n\tuint32_t mask;\n\tvoid *entries[0];\n};\n\nstruct obs_kernel_param {\n\tconst char *str;\n\tint (*setup_func)(char *);\n\tint early;\n};\n\nstruct ocotp_ctrl_reg {\n\tu32 bm_addr;\n\tu32 bm_busy;\n\tu32 bm_error;\n\tu32 bm_rel_shadows;\n};\n\nstruct ocotp_region {\n\tu32 start;\n\tu32 end;\n\tu32 flag;\n};\n\nstruct ocotp_devtype_data {\n\tint devtype;\n\tint nregs;\n\tu32 num_region;\n\tstruct ocotp_region region[0];\n};\n\nstruct ocotp_priv;\n\nstruct ocotp_params {\n\tunsigned int nregs;\n\tunsigned int bank_address_words;\n\tvoid (*set_timing)(struct ocotp_priv *);\n\tstruct ocotp_ctrl_reg ctrl;\n};\n\nstruct ocotp_priv___2 {\n\tstruct device *dev;\n\tconst struct ocotp_devtype_data *data;\n\tstruct imx_sc_ipc *nvmem_ipc;\n};\n\nstruct ocotp_priv {\n\tstruct device *dev;\n\tstruct clk *clk;\n\tvoid *base;\n\tconst struct ocotp_params *params;\n\tstruct nvmem_config *config;\n};\n\nstruct od_dbs_tuners {\n\tunsigned int powersave_bias;\n};\n\nstruct od_ops {\n\tunsigned int (*powersave_bias_target)(struct cpufreq_policy *, unsigned int, unsigned int);\n};\n\nstruct policy_dbs_info {\n\tstruct cpufreq_policy *policy;\n\tstruct mutex update_mutex;\n\tu64 last_sample_time;\n\ts64 sample_delay_ns;\n\tatomic_t work_count;\n\tstruct irq_work irq_work;\n\tstruct work_struct work;\n\tstruct dbs_data *dbs_data;\n\tstruct list_head list;\n\tunsigned int rate_mult;\n\tunsigned int idle_periods;\n\tbool is_shared;\n\tbool work_in_progress;\n};\n\nstruct od_policy_dbs_info {\n\tstruct policy_dbs_info policy_dbs;\n\tunsigned int freq_lo;\n\tunsigned int freq_lo_delay_us;\n\tunsigned int freq_hi_delay_us;\n\tunsigned int sample_type: 1;\n};\n\nstruct odmi_data {\n\tstruct resource res;\n\tvoid *base;\n\tunsigned int spi_base;\n};\n\nstruct of_bus {\n\tvoid (*count_cells)(const void *, int, int *, int *);\n\tu64 (*map)(__be32 *, const __be32 *, int, int, int);\n\tint (*translate)(__be32 *, u64, int);\n};\n\nstruct of_bus___2 {\n\tconst char *name;\n\tconst char *addresses;\n\tint (*match)(struct device_node *);\n\tvoid (*count_cells)(struct device_node *, int *, int *);\n\tu64 (*map)(__be32 *, const __be32 *, int, int, int, int);\n\tint (*translate)(__be32 *, u64, int);\n\tint flag_cells;\n\tunsigned int (*get_flags)(const __be32 *);\n};\n\nstruct of_changeset {\n\tstruct list_head entries;\n};\n\nstruct of_changeset_entry {\n\tstruct list_head node;\n\tlong unsigned int action;\n\tstruct device_node *np;\n\tstruct property *prop;\n\tstruct property *old_prop;\n};\n\nstruct of_clk_provider {\n\tstruct list_head link;\n\tstruct device_node *node;\n\tstruct clk * (*get)(struct of_phandle_args *, void *);\n\tstruct clk_hw * (*get_hw)(struct of_phandle_args *, void *);\n\tvoid *data;\n};\n\nstruct of_dev_auxdata {\n\tchar *compatible;\n\tresource_size_t phys_addr;\n\tchar *name;\n\tvoid *platform_data;\n};\n\nstruct of_device_id {\n\tchar name[32];\n\tchar type[32];\n\tchar compatible[128];\n\tconst void *data;\n};\n\nstruct of_dma {\n\tstruct list_head of_dma_controllers;\n\tstruct device_node *of_node;\n\tstruct dma_chan * (*of_dma_xlate)(struct of_phandle_args *, struct of_dma *);\n\tvoid * (*of_dma_route_allocate)(struct of_phandle_args *, struct of_dma *);\n\tstruct dma_router *dma_router;\n\tvoid *of_dma_data;\n};\n\nstruct of_dma_filter_info {\n\tdma_cap_mask_t dma_cap;\n\tdma_filter_fn filter_fn;\n};\n\nstruct of_endpoint {\n\tunsigned int port;\n\tunsigned int id;\n\tconst struct device_node *local_node;\n};\n\nstruct of_genpd_provider {\n\tstruct list_head link;\n\tstruct device_node *node;\n\tgenpd_xlate_t xlate;\n\tvoid *data;\n};\n\ntypedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *);\n\nstruct of_intc_desc {\n\tstruct list_head list;\n\tof_irq_init_cb_t irq_init_cb;\n\tstruct device_node *dev;\n\tstruct device_node *interrupt_parent;\n};\n\nstruct of_mmc_spi {\n\tstruct mmc_spi_platform_data pdata;\n\tint detect_irq;\n};\n\nstruct of_pci_iommu_alias_info {\n\tstruct device *dev;\n\tstruct device_node *np;\n};\n\nstruct of_pci_range {\n\tunion {\n\t\tu64 pci_addr;\n\t\tu64 bus_addr;\n\t};\n\tu64 cpu_addr;\n\tu64 parent_bus_addr;\n\tu64 size;\n\tu32 flags;\n};\n\nstruct of_pci_range_parser {\n\tstruct device_node *node;\n\tconst struct of_bus___2 *bus;\n\tconst __be32 *range;\n\tconst __be32 *end;\n\tint na;\n\tint ns;\n\tint pna;\n\tbool dma;\n};\n\nstruct of_phandle_args {\n\tstruct device_node *np;\n\tint args_count;\n\tuint32_t args[16];\n};\n\nstruct of_phandle_iterator {\n\tconst char *cells_name;\n\tint cell_count;\n\tconst struct device_node *parent;\n\tconst __be32 *list_end;\n\tconst __be32 *phandle_end;\n\tconst __be32 *cur;\n\tuint32_t cur_count;\n\tphandle phandle;\n\tstruct device_node *node;\n};\n\nstruct of_reconfig_data {\n\tstruct device_node *dn;\n\tstruct property *prop;\n\tstruct property *old_prop;\n};\n\nstruct of_regulator_match {\n\tconst char *name;\n\tvoid *driver_data;\n\tstruct regulator_init_data *init_data;\n\tstruct device_node *of_node;\n\tconst struct regulator_desc *desc;\n};\n\nstruct of_rename_gpio {\n\tconst char *con_id;\n\tconst char *legacy_id;\n\tconst char *compatible;\n};\n\nstruct of_serial_info {\n\tstruct clk *clk;\n\tstruct reset_control *rst;\n\tint type;\n\tint line;\n\tstruct notifier_block clk_notifier;\n};\n\nstruct of_timer_base {\n\tvoid *base;\n\tconst char *name;\n\tint index;\n};\n\nstruct of_timer_clk {\n\tstruct clk *clk;\n\tconst char *name;\n\tint index;\n\tlong unsigned int rate;\n\tlong unsigned int period;\n};\n\nstruct of_timer_irq {\n\tint irq;\n\tint index;\n\tconst char *name;\n\tlong unsigned int flags;\n\tirq_handler_t handler;\n};\n\nstruct offset_ctx {\n\tstruct maple_tree mt;\n\tlong unsigned int next_offset;\n};\n\nstruct ohci_driver_overrides {\n\tconst char *product_desc;\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n};\n\nstruct ohci_hcca {\n\t__hc32 int_table[32];\n\t__hc32 frame_no;\n\t__hc32 done_head;\n\tu8 reserved_for_hc[116];\n\tu8 what[4];\n};\n\nstruct ohci_regs;\n\nstruct ohci_hcd {\n\tspinlock_t lock;\n\tstruct ohci_regs *regs;\n\tstruct ohci_hcca *hcca;\n\tdma_addr_t hcca_dma;\n\tstruct ed *ed_rm_list;\n\tstruct ed *ed_bulktail;\n\tstruct ed *ed_controltail;\n\tstruct ed *periodic[32];\n\tvoid (*start_hnp)(struct ohci_hcd *);\n\tstruct dma_pool *td_cache;\n\tstruct dma_pool *ed_cache;\n\tstruct td *td_hash[64];\n\tstruct td *dl_start;\n\tstruct td *dl_end;\n\tstruct list_head pending;\n\tstruct list_head eds_in_use;\n\tenum ohci_rh_state rh_state;\n\tint num_ports;\n\tint load[32];\n\tu32 hc_control;\n\tlong unsigned int next_statechange;\n\tu32 fminterval;\n\tunsigned int autostop: 1;\n\tunsigned int working: 1;\n\tunsigned int restart_work: 1;\n\tlong unsigned int flags;\n\tunsigned int prev_frame_no;\n\tunsigned int wdh_cnt;\n\tunsigned int prev_wdh_cnt;\n\tu32 prev_donehead;\n\tstruct timer_list io_watchdog;\n\tstruct work_struct nec_work;\n\tstruct dentry *debug_dir;\n\tlong unsigned int priv[0];\n};\n\nstruct ohci_platform_priv {\n\tstruct clk *clks[4];\n\tstruct reset_control *resets;\n};\n\nstruct ohci_roothub_regs {\n\t__hc32 a;\n\t__hc32 b;\n\t__hc32 status;\n\t__hc32 portstatus[15];\n};\n\nstruct ohci_regs {\n\t__hc32 revision;\n\t__hc32 control;\n\t__hc32 cmdstatus;\n\t__hc32 intrstatus;\n\t__hc32 intrenable;\n\t__hc32 intrdisable;\n\t__hc32 hcca;\n\t__hc32 ed_periodcurrent;\n\t__hc32 ed_controlhead;\n\t__hc32 ed_controlcurrent;\n\t__hc32 ed_bulkhead;\n\t__hc32 ed_bulkcurrent;\n\t__hc32 donehead;\n\t__hc32 fminterval;\n\t__hc32 fmremaining;\n\t__hc32 fmnumber;\n\t__hc32 periodicstart;\n\t__hc32 lsthresh;\n\tstruct ohci_roothub_regs roothub;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct old_timespec32 {\n\told_time32_t tv_sec;\n\ts32 tv_nsec;\n};\n\nstruct old_itimerspec32 {\n\tstruct old_timespec32 it_interval;\n\tstruct old_timespec32 it_value;\n};\n\nstruct old_itimerval32 {\n\tstruct old_timeval32 it_interval;\n\tstruct old_timeval32 it_value;\n};\n\nstruct old_serial_port {\n\tunsigned int uart;\n\tunsigned int baud_base;\n\tunsigned int port;\n\tunsigned int irq;\n\tupf_t flags;\n\tunsigned char io_type;\n\tunsigned char *iomem_base;\n\tshort unsigned int iomem_reg_shift;\n};\n\nstruct old_timex32 {\n\tu32 modes;\n\ts32 offset;\n\ts32 freq;\n\ts32 maxerror;\n\ts32 esterror;\n\ts32 status;\n\ts32 constant;\n\ts32 precision;\n\ts32 tolerance;\n\tstruct old_timeval32 time;\n\ts32 tick;\n\ts32 ppsfreq;\n\ts32 jitter;\n\ts32 shift;\n\ts32 stabil;\n\ts32 jitcnt;\n\ts32 calcnt;\n\ts32 errcnt;\n\ts32 stbcnt;\n\ts32 tai;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct old_utimbuf32 {\n\told_time32_t actime;\n\told_time32_t modtime;\n};\n\nstruct omap8250_dma_params {\n\tu32 rx_size;\n\tu8 rx_trigger;\n\tu8 tx_trigger;\n};\n\nstruct omap8250_platdata {\n\tstruct omap8250_dma_params *dma_params;\n\tu8 habit;\n};\n\nstruct omap8250_priv {\n\tvoid *membase;\n\tint line;\n\tu8 habit;\n\tu8 mdr1;\n\tu8 mdr3;\n\tu8 efr;\n\tu8 scr;\n\tu8 wer;\n\tu8 xon;\n\tu8 xoff;\n\tu8 delayed_restore;\n\tu16 quot;\n\tu8 tx_trigger;\n\tu8 rx_trigger;\n\tatomic_t active;\n\tbool is_suspending;\n\tint wakeirq;\n\tu32 latency;\n\tu32 calc_latency;\n\tstruct pm_qos_request pm_qos_request;\n\tstruct work_struct qos_work;\n\tstruct uart_8250_dma omap8250_dma;\n\tspinlock_t rx_dma_lock;\n\tbool rx_dma_broken;\n\tbool throttled;\n};\n\nstruct omap_dm_timer_ops {\n\tstruct omap_dm_timer * (*request_by_node)(struct device_node *);\n\tstruct omap_dm_timer * (*request_specific)(int);\n\tstruct omap_dm_timer * (*request)(void);\n\tint (*free)(struct omap_dm_timer *);\n\tvoid (*enable)(struct omap_dm_timer *);\n\tvoid (*disable)(struct omap_dm_timer *);\n\tint (*get_irq)(struct omap_dm_timer *);\n\tint (*set_int_enable)(struct omap_dm_timer *, unsigned int);\n\tint (*set_int_disable)(struct omap_dm_timer *, u32);\n\tstruct clk * (*get_fclk)(struct omap_dm_timer *);\n\tint (*start)(struct omap_dm_timer *);\n\tint (*stop)(struct omap_dm_timer *);\n\tint (*set_source)(struct omap_dm_timer *, int);\n\tint (*set_load)(struct omap_dm_timer *, unsigned int);\n\tint (*set_match)(struct omap_dm_timer *, int, unsigned int);\n\tint (*set_pwm)(struct omap_dm_timer *, int, int, int, int);\n\tint (*get_pwm_status)(struct omap_dm_timer *);\n\tint (*set_prescaler)(struct omap_dm_timer *, int);\n\tunsigned int (*read_counter)(struct omap_dm_timer *);\n\tint (*write_counter)(struct omap_dm_timer *, unsigned int);\n\tunsigned int (*read_status)(struct omap_dm_timer *);\n\tint (*write_status)(struct omap_dm_timer *, unsigned int);\n};\n\nstruct omap_i2c_bus_platform_data {\n\tu32 clkrate;\n\tu32 rev;\n\tu32 flags;\n\tvoid (*set_mpu_wkup_lat)(struct device *, long int);\n};\n\nstruct omap_i2c_dev {\n\tstruct device *dev;\n\tvoid *base;\n\tint irq;\n\tint reg_shift;\n\tstruct completion cmd_complete;\n\tstruct resource *ioarea;\n\tu32 latency;\n\tvoid (*set_mpu_wkup_lat)(struct device *, long int);\n\tu32 speed;\n\tu32 flags;\n\tu16 scheme;\n\tu16 cmd_err;\n\tu8 *buf;\n\tu8 *regs;\n\tsize_t buf_len;\n\tstruct i2c_adapter adapter;\n\tu8 threshold;\n\tu8 fifo_size;\n\tu32 rev;\n\tunsigned int b_hw: 1;\n\tunsigned int bb_valid: 1;\n\tunsigned int receiver: 1;\n\tu16 iestate;\n\tu16 pscstate;\n\tu16 scllstate;\n\tu16 sclhstate;\n\tu16 syscstate;\n\tu16 westate;\n\tu16 errata;\n};\n\nstruct omap_rng_pdata;\n\nstruct omap_rng_dev {\n\tvoid *base;\n\tstruct device *dev;\n\tconst struct omap_rng_pdata *pdata;\n\tstruct hwrng rng;\n\tstruct clk *clk;\n\tstruct clk *clk_reg;\n};\n\nstruct omap_rng_pdata {\n\tu16 *regs;\n\tu32 data_size;\n\tu32 (*data_present)(struct omap_rng_dev *);\n\tint (*init)(struct omap_rng_dev *);\n\tvoid (*cleanup)(struct omap_rng_dev *);\n};\n\nstruct onboard_dev_pdata {\n\tlong unsigned int reset_us;\n\tlong unsigned int power_on_delay_us;\n\tunsigned int num_supplies;\n\tconst char * const supply_names[2];\n\tbool is_hub;\n};\n\nstruct static_key_true;\n\nstruct once_work {\n\tstruct work_struct work;\n\tstruct static_key_true *key;\n\tstruct module *module;\n};\n\nstruct onfi_ext_ecc_info {\n\tu8 ecc_bits;\n\tu8 codeword_size;\n\t__le16 bb_per_lun;\n\t__le16 block_endurance;\n\tu8 reserved[2];\n};\n\nstruct onfi_ext_section {\n\tu8 type;\n\tu8 length;\n};\n\nstruct onfi_ext_param_page {\n\t__le16 crc;\n\tu8 sig[4];\n\tu8 reserved0[10];\n\tstruct onfi_ext_section sections[8];\n};\n\nstruct onfi_params {\n\tint version;\n\tu16 tPROG;\n\tu16 tBERS;\n\tu16 tR;\n\tu16 tCCS;\n\tbool fast_tCAD;\n\tu16 sdr_timing_modes;\n\tu16 nvddr_timing_modes;\n\tu16 vendor_revision;\n\tu8 vendor[88];\n};\n\nstruct online_data {\n\tunsigned int cpu;\n\tbool online;\n};\n\nstruct oom_control {\n\tstruct zonelist *zonelist;\n\tnodemask_t *nodemask;\n\tstruct mem_cgroup *memcg;\n\tconst gfp_t gfp_mask;\n\tconst int order;\n\tlong unsigned int totalpages;\n\tstruct task_struct *chosen;\n\tlong int chosen_points;\n\tenum oom_constraint constraint;\n};\n\nstruct open_flags {\n\tint open_flag;\n\tumode_t mode;\n\tint acc_mode;\n\tint intent;\n\tint lookup_flags;\n};\n\nstruct opp_config_data {\n\tstruct opp_table *opp_table;\n\tunsigned int flags;\n\tunsigned int required_dev_index;\n};\n\nstruct opp_device {\n\tstruct list_head node;\n\tconst struct device *dev;\n\tstruct dentry *dentry;\n};\n\nstruct opp_table {\n\tstruct list_head node;\n\tstruct list_head lazy;\n\tstruct blocking_notifier_head head;\n\tstruct list_head dev_list;\n\tstruct list_head opp_list;\n\tstruct kref kref;\n\tstruct mutex lock;\n\tstruct device_node *np;\n\tlong unsigned int clock_latency_ns_max;\n\tunsigned int voltage_tolerance_v1;\n\tunsigned int parsed_static_opps;\n\tenum opp_table_access shared_opp;\n\tlong unsigned int current_rate_single_clk;\n\tstruct dev_pm_opp *current_opp;\n\tstruct dev_pm_opp *suspend_opp;\n\tstruct opp_table **required_opp_tables;\n\tstruct device **required_devs;\n\tunsigned int required_opp_count;\n\tunsigned int *supported_hw;\n\tunsigned int supported_hw_count;\n\tconst char *prop_name;\n\tconfig_clks_t config_clks;\n\tstruct clk **clks;\n\tstruct clk *clk;\n\tint clk_count;\n\tconfig_regulators_t config_regulators;\n\tstruct regulator **regulators;\n\tint regulator_count;\n\tstruct icc_path **paths;\n\tunsigned int path_count;\n\tbool enabled;\n\tbool is_genpd;\n\tstruct dentry *dentry;\n\tchar dentry_name[255];\n};\n\ntypedef void optee_invoke_fn(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, struct arm_smccc_res *);\n\nstruct optee_pcpu;\n\nstruct optee_smc {\n\toptee_invoke_fn *invoke_fn;\n\tvoid *memremaped_shm;\n\tu32 sec_caps;\n\tunsigned int notif_irq;\n\tstruct optee_pcpu *optee_pcpu;\n\tstruct workqueue_struct *notif_pcpu_wq;\n\tstruct work_struct notif_pcpu_work;\n\tunsigned int notif_cpuhp_state;\n};\n\nstruct optee_ffa {\n\tstruct ffa_device *ffa_dev;\n\tu32 bottom_half_value;\n\tstruct mutex mutex;\n\tstruct rhashtable global_ids;\n};\n\nstruct optee_shm_arg_cache {\n\tu32 flags;\n\tstruct mutex mutex;\n\tstruct list_head shm_args;\n};\n\nstruct optee_call_queue {\n\tstruct mutex mutex;\n\tstruct list_head waiters;\n\tint total_thread_count;\n\tint free_thread_count;\n\tint sys_thread_req_count;\n};\n\nstruct optee_notif {\n\tu_int max_key;\n\tspinlock_t lock;\n\tstruct list_head db;\n\tu_long *bitmap;\n};\n\nstruct tee_context;\n\nstruct optee_supp {\n\tstruct mutex mutex;\n\tstruct tee_context *ctx;\n\tint req_id;\n\tstruct list_head reqs;\n\tstruct idr idr;\n\tstruct completion reqs_c;\n};\n\nstruct tee_device;\n\nstruct optee_ops;\n\nstruct tee_shm_pool;\n\nstruct optee {\n\tstruct tee_device *supp_teedev;\n\tstruct tee_device *teedev;\n\tconst struct optee_ops *ops;\n\tstruct tee_context *ctx;\n\tunion {\n\t\tstruct optee_smc smc;\n\t\tstruct optee_ffa ffa;\n\t};\n\tstruct optee_shm_arg_cache shm_arg_cache;\n\tstruct optee_call_queue call_queue;\n\tstruct optee_notif notif;\n\tstruct optee_supp supp;\n\tstruct tee_shm_pool *pool;\n\tstruct mutex rpmb_dev_mutex;\n\tstruct rpmb_dev *rpmb_dev;\n\tstruct notifier_block rpmb_intf;\n\tunsigned int rpc_param_count;\n\tbool scan_bus_done;\n\tbool rpmb_scan_bus_done;\n\tbool in_kernel_rpmb_routing;\n\tstruct work_struct scan_bus_work;\n\tstruct work_struct rpmb_scan_bus_work;\n};\n\nstruct optee_call_ctx {\n\tvoid *pages_list;\n\tsize_t num_entries;\n};\n\nstruct optee_call_waiter {\n\tstruct list_head list_node;\n\tstruct completion c;\n\tbool sys_thread;\n};\n\nstruct optee_context_data {\n\tstruct mutex mutex;\n\tstruct list_head sess_list;\n};\n\nstruct optee_msg_param_tmem {\n\tu64 buf_ptr;\n\tu64 size;\n\tu64 shm_ref;\n};\n\nstruct optee_msg_param_rmem {\n\tu64 offs;\n\tu64 size;\n\tu64 shm_ref;\n};\n\nstruct optee_msg_param_fmem {\n\tu32 offs_low;\n\tu16 offs_high;\n\tu16 internal_offs;\n\tu64 size;\n\tu64 global_id;\n};\n\nstruct optee_msg_param_value {\n\tu64 a;\n\tu64 b;\n\tu64 c;\n};\n\nstruct optee_msg_param {\n\tu64 attr;\n\tunion {\n\t\tstruct optee_msg_param_tmem tmem;\n\t\tstruct optee_msg_param_rmem rmem;\n\t\tstruct optee_msg_param_fmem fmem;\n\t\tstruct optee_msg_param_value value;\n\t\tu8 octets[24];\n\t} u;\n};\n\nstruct optee_msg_arg {\n\tu32 cmd;\n\tu32 func;\n\tu32 session;\n\tu32 cancel_id;\n\tu32 pad;\n\tu32 ret;\n\tu32 ret_origin;\n\tu32 num_params;\n\tstruct optee_msg_param params[0];\n};\n\nstruct tee_shm;\n\nstruct tee_param;\n\nstruct optee_ops {\n\tint (*do_call_with_arg)(struct tee_context *, struct tee_shm *, u_int, bool);\n\tint (*to_msg_param)(struct optee *, struct optee_msg_param *, size_t, const struct tee_param *);\n\tint (*from_msg_param)(struct optee *, struct tee_param *, size_t, const struct optee_msg_param *);\n};\n\nstruct optee_pcpu {\n\tstruct optee *optee;\n};\n\nstruct optee_rng_private {\n\tstruct device *dev;\n\tstruct tee_context *ctx;\n\tu32 session_id;\n\tu32 data_rate;\n\tstruct tee_shm *entropy_shm_pool;\n\tstruct hwrng optee_rng;\n};\n\nstruct optee_rpc_param {\n\tu32 a0;\n\tu32 a1;\n\tu32 a2;\n\tu32 a3;\n\tu32 a4;\n\tu32 a5;\n\tu32 a6;\n\tu32 a7;\n};\n\nstruct optee_session {\n\tstruct list_head list_node;\n\tu32 session_id;\n\tbool use_sys_thread;\n};\n\nstruct optee_shm_arg_entry {\n\tstruct list_head list_node;\n\tstruct tee_shm *shm;\n\tlong unsigned int map[1];\n};\n\nstruct optee_smc_call_get_os_revision_result {\n\tlong unsigned int major;\n\tlong unsigned int minor;\n\tlong unsigned int build_id;\n\tlong unsigned int reserved1;\n};\n\nstruct optee_smc_calls_revision_result {\n\tlong unsigned int major;\n\tlong unsigned int minor;\n\tlong unsigned int reserved0;\n\tlong unsigned int reserved1;\n};\n\nstruct optee_smc_disable_shm_cache_result {\n\tlong unsigned int status;\n\tlong unsigned int shm_upper32;\n\tlong unsigned int shm_lower32;\n\tlong unsigned int reserved0;\n};\n\nstruct optee_smc_exchange_capabilities_result {\n\tlong unsigned int status;\n\tlong unsigned int capabilities;\n\tlong unsigned int max_notif_value;\n\tlong unsigned int data;\n};\n\nstruct optee_smc_get_shm_config_result {\n\tlong unsigned int status;\n\tlong unsigned int start;\n\tlong unsigned int size;\n\tlong unsigned int settings;\n};\n\nstruct optee_supp_req {\n\tstruct list_head link;\n\tbool in_queue;\n\tu32 func;\n\tu32 ret;\n\tsize_t num_params;\n\tstruct tee_param *param;\n\tstruct completion c;\n};\n\nstruct optimistic_spin_node {\n\tstruct optimistic_spin_node *next;\n\tstruct optimistic_spin_node *prev;\n\tint locked;\n\tint cpu;\n};\n\nstruct orion_direct_acc {\n\tvoid *vaddr;\n\tu32 size;\n};\n\nstruct orion_child_options {\n\tstruct orion_direct_acc direct_access;\n};\n\nstruct orion_ehci_data {\n\tenum orion_ehci_phy_ver phy_version;\n};\n\nstruct orion_ehci_hcd {\n\tstruct clk *clk;\n\tstruct phy *phy;\n};\n\nstruct orion_mdio_dev {\n\tvoid *regs;\n\tstruct clk *clk[4];\n\tint err_interrupt;\n\twait_queue_head_t smi_busy_wait;\n};\n\nstruct orion_mdio_ops {\n\tint (*is_done)(struct orion_mdio_dev *);\n};\n\nstruct orion_spi_dev;\n\nstruct orion_spi {\n\tstruct spi_controller *host;\n\tvoid *base;\n\tstruct clk *clk;\n\tstruct clk *axi_clk;\n\tconst struct orion_spi_dev *devdata;\n\tstruct device *dev;\n\tstruct orion_child_options child[8];\n};\n\nstruct orion_spi_dev {\n\tenum orion_spi_type typ;\n\tlong unsigned int max_hz;\n\tunsigned int min_divisor;\n\tunsigned int max_divisor;\n\tu32 prescale_mask;\n\tbool is_errata_50mhz_ac;\n};\n\nstruct orlov_stats {\n\t__u64 free_clusters;\n\t__u32 free_inodes;\n\t__u32 used_dirs;\n};\n\nstruct osnoise_entry {\n\tstruct trace_entry ent;\n\tu64 noise;\n\tu64 runtime;\n\tu64 max_sample;\n\tunsigned int hw_count;\n\tunsigned int nmi_count;\n\tunsigned int irq_count;\n\tunsigned int softirq_count;\n\tunsigned int thread_count;\n};\n\nstruct otg_fsm_ops {\n\tvoid (*chrg_vbus)(struct otg_fsm *, int);\n\tvoid (*drv_vbus)(struct otg_fsm *, int);\n\tvoid (*loc_conn)(struct otg_fsm *, int);\n\tvoid (*loc_sof)(struct otg_fsm *, int);\n\tvoid (*start_pulse)(struct otg_fsm *);\n\tvoid (*start_adp_prb)(struct otg_fsm *);\n\tvoid (*start_adp_sns)(struct otg_fsm *);\n\tvoid (*add_timer)(struct otg_fsm *, enum otg_fsm_timer);\n\tvoid (*del_timer)(struct otg_fsm *, enum otg_fsm_timer);\n\tint (*start_host)(struct otg_fsm *, int);\n\tint (*start_gadget)(struct otg_fsm *, int);\n};\n\nstruct otg_switch_mtk {\n\tstruct regulator *vbus;\n\tstruct extcon_dev *edev;\n\tstruct notifier_block id_nb;\n\tstruct work_struct dr_work;\n\tenum usb_role desired_role;\n\tenum usb_role default_role;\n\tstruct usb_role_switch *role_sw;\n\tbool role_sw_used;\n\tbool is_u3_drd;\n\tbool manual_drd_enabled;\n};\n\nstruct otp_info {\n\t__u32 start;\n\t__u32 length;\n\t__u32 locked;\n};\n\nstruct otpc_map {\n\tu32 otpc_row_size;\n\tu16 data_r_offset[4];\n\tu16 data_w_offset[4];\n};\n\nstruct otpc_priv {\n\tstruct device *dev;\n\tvoid *base;\n\tconst struct otpc_map *map;\n\tstruct nvmem_config *config;\n};\n\nstruct out_pin {\n\tu32 enable_mask;\n\tu32 value_mask;\n\tu32 changed_mask;\n\tu32 clr_changed_mask;\n\tstruct gpio_desc *gpiod;\n\tconst char *name;\n};\n\nstruct owl_clk_common {\n\tstruct regmap *regmap;\n\tstruct clk_hw hw;\n};\n\nstruct owl_reset_map;\n\nstruct owl_clk_desc {\n\tstruct owl_clk_common **clks;\n\tlong unsigned int num_clks;\n\tstruct clk_hw_onecell_data *hw_clks;\n\tconst struct owl_reset_map *resets;\n\tlong unsigned int num_resets;\n\tstruct regmap *regmap;\n};\n\nstruct owl_mux_hw {\n\tu32 reg;\n\tu8 shift;\n\tu8 width;\n};\n\nstruct owl_gate_hw {\n\tu32 reg;\n\tu8 bit_idx;\n\tu8 gate_flags;\n};\n\nstruct owl_divider_hw {\n\tu32 reg;\n\tu8 shift;\n\tu8 width;\n\tu8 div_flags;\n\tstruct clk_div_table *table;\n};\n\nstruct owl_factor_hw {\n\tu32 reg;\n\tu8 shift;\n\tu8 width;\n\tu8 fct_flags;\n\tstruct clk_factor_table *table;\n};\n\nunion owl_rate {\n\tstruct owl_divider_hw div_hw;\n\tstruct owl_factor_hw factor_hw;\n\tstruct clk_fixed_factor fix_fact_hw;\n};\n\nstruct owl_composite {\n\tstruct owl_mux_hw mux_hw;\n\tstruct owl_gate_hw gate_hw;\n\tunion owl_rate rate;\n\tconst struct clk_ops *fix_fact_ops;\n\tstruct owl_clk_common common;\n};\n\nstruct owl_divider {\n\tstruct owl_divider_hw div_hw;\n\tstruct owl_clk_common common;\n};\n\nstruct owl_dma_pchan;\n\nstruct owl_dma_vchan;\n\nstruct owl_dma {\n\tstruct dma_device dma;\n\tvoid *base;\n\tstruct clk *clk;\n\tspinlock_t lock;\n\tstruct dma_pool *lli_pool;\n\tint irq;\n\tunsigned int nr_pchans;\n\tstruct owl_dma_pchan *pchans;\n\tunsigned int nr_vchans;\n\tstruct owl_dma_vchan *vchans;\n\tenum owl_dma_id devid;\n};\n\nstruct owl_dma_lli {\n\tu32 hw[9];\n\tdma_addr_t phys;\n\tstruct list_head node;\n};\n\nstruct owl_dma_pchan {\n\tu32 id;\n\tvoid *base;\n\tstruct owl_dma_vchan *vchan;\n};\n\nstruct owl_dma_txd {\n\tstruct virt_dma_desc vd;\n\tstruct list_head lli_list;\n\tbool cyclic;\n};\n\nstruct owl_dma_vchan {\n\tstruct virt_dma_chan vc;\n\tstruct owl_dma_pchan *pchan;\n\tstruct owl_dma_txd *txd;\n\tstruct dma_slave_config cfg;\n\tu8 drq;\n};\n\nstruct owl_factor {\n\tstruct owl_factor_hw factor_hw;\n\tstruct owl_clk_common common;\n};\n\nstruct owl_gate {\n\tstruct owl_gate_hw gate_hw;\n\tstruct owl_clk_common common;\n};\n\nstruct owl_gpio_port {\n\tunsigned int offset;\n\tunsigned int pins;\n\tunsigned int outen;\n\tunsigned int inen;\n\tunsigned int dat;\n\tunsigned int intc_ctl;\n\tunsigned int intc_pd;\n\tunsigned int intc_msk;\n\tunsigned int intc_type;\n\tu8 shared_ctl_offset;\n};\n\nstruct owl_i2c_dev {\n\tstruct i2c_adapter adap;\n\tstruct i2c_msg *msg;\n\tstruct completion msg_complete;\n\tstruct clk *clk;\n\tspinlock_t lock;\n\tvoid *base;\n\tlong unsigned int clk_rate;\n\tu32 bus_freq;\n\tu32 msg_ptr;\n\tint err;\n};\n\nstruct owl_mmc_host {\n\tstruct device *dev;\n\tstruct reset_control *reset;\n\tvoid *base;\n\tstruct clk *clk;\n\tstruct completion sdc_complete;\n\tspinlock_t lock;\n\tint irq;\n\tu32 clock;\n\tbool ddr_50;\n\tenum dma_data_direction dma_dir;\n\tstruct dma_chan *dma;\n\tstruct dma_async_tx_descriptor *desc;\n\tstruct dma_slave_config dma_cfg;\n\tstruct completion dma_complete;\n\tstruct mmc_host *mmc;\n\tstruct mmc_request *mrq;\n\tstruct mmc_command *cmd;\n\tstruct mmc_data *data;\n};\n\nstruct owl_mux {\n\tstruct owl_mux_hw mux_hw;\n\tstruct owl_clk_common common;\n};\n\nstruct owl_pullctl;\n\nstruct owl_st;\n\nstruct owl_padinfo {\n\tint pad;\n\tstruct owl_pullctl *pullctl;\n\tstruct owl_st *st;\n};\n\nstruct owl_pinctrl_soc_data;\n\nstruct owl_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctrldev;\n\tstruct gpio_chip chip;\n\traw_spinlock_t lock;\n\tstruct clk *clk;\n\tconst struct owl_pinctrl_soc_data *soc;\n\tvoid *base;\n\tunsigned int num_irq;\n\tunsigned int *irq;\n};\n\nstruct owl_pinmux_func;\n\nstruct owl_pingroup;\n\nstruct owl_pinctrl_soc_data {\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tconst struct owl_pinmux_func *functions;\n\tunsigned int nfunctions;\n\tconst struct owl_pingroup *groups;\n\tunsigned int ngroups;\n\tconst struct owl_padinfo *padinfo;\n\tunsigned int ngpios;\n\tconst struct owl_gpio_port *ports;\n\tunsigned int nports;\n\tint (*padctl_val2arg)(const struct owl_padinfo *, unsigned int, u32 *);\n\tint (*padctl_arg2val)(const struct owl_padinfo *, unsigned int, u32 *);\n};\n\nstruct owl_pingroup {\n\tconst char *name;\n\tunsigned int *pads;\n\tunsigned int npads;\n\tunsigned int *funcs;\n\tunsigned int nfuncs;\n\tint mfpctl_reg;\n\tunsigned int mfpctl_shift;\n\tunsigned int mfpctl_width;\n\tint drv_reg;\n\tunsigned int drv_shift;\n\tunsigned int drv_width;\n\tint sr_reg;\n\tunsigned int sr_shift;\n\tunsigned int sr_width;\n};\n\nstruct owl_pinmux_func {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int ngroups;\n};\n\nstruct owl_pll_hw {\n\tu32 reg;\n\tu32 bfreq;\n\tu8 bit_idx;\n\tu8 shift;\n\tu8 width;\n\tu8 min_mul;\n\tu8 max_mul;\n\tu8 delay;\n\tconst struct clk_pll_table *table;\n};\n\nstruct owl_pll {\n\tstruct owl_pll_hw pll_hw;\n\tstruct owl_clk_common common;\n};\n\nstruct owl_pullctl {\n\tint reg;\n\tunsigned int shift;\n\tunsigned int width;\n};\n\nstruct owl_reset {\n\tstruct reset_controller_dev rcdev;\n\tconst struct owl_reset_map *reset_map;\n\tstruct regmap *regmap;\n};\n\nstruct owl_reset_map {\n\tu32 reg;\n\tu32 bit;\n};\n\nstruct owl_sirq_params;\n\nstruct owl_sirq_chip_data {\n\tconst struct owl_sirq_params *params;\n\tvoid *base;\n\traw_spinlock_t lock;\n\tu32 ext_irqs[3];\n};\n\nstruct owl_sirq_params {\n\tbool reg_shared;\n\tu16 reg_offset[3];\n};\n\nstruct owl_sps_info;\n\nstruct owl_sps {\n\tstruct device *dev;\n\tconst struct owl_sps_info *info;\n\tvoid *base;\n\tstruct genpd_onecell_data genpd_data;\n\tstruct generic_pm_domain *domains[0];\n};\n\nstruct owl_sps_domain_info;\n\nstruct owl_sps_domain {\n\tstruct generic_pm_domain genpd;\n\tconst struct owl_sps_domain_info *info;\n\tstruct owl_sps *sps;\n};\n\nstruct owl_sps_domain_info {\n\tconst char *name;\n\tint pwr_bit;\n\tint ack_bit;\n\tunsigned int genpd_flags;\n};\n\nstruct owl_sps_info {\n\tunsigned int num_domains;\n\tconst struct owl_sps_domain_info *domains;\n};\n\nstruct owl_st {\n\tint reg;\n\tunsigned int shift;\n\tunsigned int width;\n};\n\nstruct owl_uart_info {\n\tunsigned int tx_fifosize;\n};\n\nstruct owl_uart_port {\n\tstruct uart_port port;\n\tstruct clk *clk;\n};\n\nstruct p9_trans_module;\n\nstruct p9_client {\n\tspinlock_t lock;\n\tunsigned int msize;\n\tunsigned char proto_version;\n\tstruct p9_trans_module *trans_mod;\n\tenum p9_trans_status status;\n\tvoid *trans;\n\tstruct kmem_cache *fcall_cache;\n\tunion {\n\t\tstruct {\n\t\t\tint rfd;\n\t\t\tint wfd;\n\t\t} fd;\n\t\tstruct {\n\t\t\tu16 port;\n\t\t\tbool privport;\n\t\t} tcp;\n\t} trans_opts;\n\tstruct idr fids;\n\tstruct idr reqs;\n\tchar name[65];\n};\n\nstruct p9_fcall {\n\tu32 size;\n\tu8 id;\n\tu16 tag;\n\tsize_t offset;\n\tsize_t capacity;\n\tstruct kmem_cache *cache;\n\tu8 *sdata;\n\tbool zc;\n};\n\nstruct p9_conn;\n\nstruct p9_poll_wait {\n\tstruct p9_conn *conn;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *wait_addr;\n};\n\nstruct p9_req_t;\n\nstruct p9_conn {\n\tstruct list_head mux_list;\n\tstruct p9_client *client;\n\tint err;\n\tspinlock_t req_lock;\n\tstruct list_head req_list;\n\tstruct list_head unsent_req_list;\n\tstruct p9_req_t *rreq;\n\tstruct p9_req_t *wreq;\n\tchar tmp_buf[7];\n\tstruct p9_fcall rc;\n\tint wpos;\n\tint wsize;\n\tchar *wbuf;\n\tstruct list_head poll_pending_link;\n\tstruct p9_poll_wait poll_wait[2];\n\tpoll_table pt;\n\tstruct work_struct rq;\n\tstruct work_struct wq;\n\tlong unsigned int wsched;\n};\n\nstruct p9_qid {\n\tu8 type;\n\tu32 version;\n\tu64 path;\n};\n\nstruct p9_dirent {\n\tstruct p9_qid qid;\n\tu64 d_off;\n\tunsigned char d_type;\n\tchar d_name[256];\n};\n\nstruct p9_fd_opts {\n\tint rfd;\n\tint wfd;\n\tu16 port;\n\tbool privport;\n};\n\nstruct p9_fid {\n\tstruct p9_client *clnt;\n\tu32 fid;\n\trefcount_t count;\n\tint mode;\n\tstruct p9_qid qid;\n\tu32 iounit;\n\tkuid_t uid;\n\tvoid *rdir;\n\tstruct hlist_node dlist;\n\tstruct hlist_node ilist;\n};\n\nstruct p9_flock {\n\tu8 type;\n\tu32 flags;\n\tu64 start;\n\tu64 length;\n\tu32 proc_id;\n\tchar *client_id;\n};\n\nstruct p9_getlock {\n\tu8 type;\n\tu64 start;\n\tu64 length;\n\tu32 proc_id;\n\tchar *client_id;\n};\n\nstruct p9_iattr_dotl {\n\tu32 valid;\n\tu32 mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tu64 size;\n\tu64 atime_sec;\n\tu64 atime_nsec;\n\tu64 mtime_sec;\n\tu64 mtime_nsec;\n};\n\nstruct p9_rdir {\n\tint head;\n\tint tail;\n\tuint8_t buf[0];\n};\n\nstruct p9_req_t {\n\tint status;\n\tint t_err;\n\trefcount_t refcount;\n\twait_queue_head_t wq;\n\tstruct p9_fcall tc;\n\tstruct p9_fcall rc;\n\tstruct list_head req_list;\n};\n\nstruct p9_rstatfs {\n\tu32 type;\n\tu32 bsize;\n\tu64 blocks;\n\tu64 bfree;\n\tu64 bavail;\n\tu64 files;\n\tu64 ffree;\n\tu64 fsid;\n\tu32 namelen;\n};\n\nstruct p9_stat_dotl {\n\tu64 st_result_mask;\n\tstruct p9_qid qid;\n\tu32 st_mode;\n\tkuid_t st_uid;\n\tkgid_t st_gid;\n\tu64 st_nlink;\n\tu64 st_rdev;\n\tu64 st_size;\n\tu64 st_blksize;\n\tu64 st_blocks;\n\tu64 st_atime_sec;\n\tu64 st_atime_nsec;\n\tu64 st_mtime_sec;\n\tu64 st_mtime_nsec;\n\tu64 st_ctime_sec;\n\tu64 st_ctime_nsec;\n\tu64 st_btime_sec;\n\tu64 st_btime_nsec;\n\tu64 st_gen;\n\tu64 st_data_version;\n};\n\nstruct p9_trans_fd {\n\tstruct file *rd;\n\tstruct file *wr;\n\tstruct p9_conn conn;\n};\n\nstruct p9_trans_module {\n\tstruct list_head list;\n\tchar *name;\n\tint maxsize;\n\tbool pooled_rbuffers;\n\tint def;\n\tstruct module *owner;\n\tint (*create)(struct p9_client *, const char *, char *);\n\tvoid (*close)(struct p9_client *);\n\tint (*request)(struct p9_client *, struct p9_req_t *);\n\tint (*cancel)(struct p9_client *, struct p9_req_t *);\n\tint (*cancelled)(struct p9_client *, struct p9_req_t *);\n\tint (*zc_request)(struct p9_client *, struct p9_req_t *, struct iov_iter *, struct iov_iter *, int, int, int);\n\tint (*show_options)(struct seq_file *, struct p9_client *);\n};\n\nstruct p9_wstat {\n\tu16 size;\n\tu16 type;\n\tu32 dev;\n\tstruct p9_qid qid;\n\tu32 mode;\n\tu32 atime;\n\tu32 mtime;\n\tu64 length;\n\tconst char *name;\n\tconst char *uid;\n\tconst char *gid;\n\tconst char *muid;\n\tchar *extension;\n\tkuid_t n_uid;\n\tkgid_t n_gid;\n\tkuid_t n_muid;\n};\n\nstruct pacct_struct {\n\tint ac_flag;\n\tlong int ac_exitcode;\n\tlong unsigned int ac_mem;\n\tu64 ac_utime;\n\tu64 ac_stime;\n\tlong unsigned int ac_minflt;\n\tlong unsigned int ac_majflt;\n};\n\nstruct packed_field_u16 {\n\tu16 startbit;\n\tu16 endbit;\n\tu16 offset;\n\tu16 size;\n};\n\nstruct packed_field_u8 {\n\tu8 startbit;\n\tu8 endbit;\n\tu8 offset;\n\tu8 size;\n};\n\nstruct packet_fanout {\n\tpossible_net_t net;\n\tunsigned int num_members;\n\tu32 max_num_members;\n\tu16 id;\n\tu8 type;\n\tu8 flags;\n\tunion {\n\t\tatomic_t rr_cur;\n\t\tstruct bpf_prog *bpf_prog;\n\t};\n\tstruct list_head list;\n\tspinlock_t lock;\n\trefcount_t sk_ref;\n\tlong: 64;\n\tstruct packet_type prot_hook;\n\tstruct sock *arr[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct packet_mclist {\n\tstruct packet_mclist *next;\n\tint ifindex;\n\tint count;\n\tshort unsigned int type;\n\tshort unsigned int alen;\n\tunsigned char addr[32];\n};\n\nstruct packet_mreq_max {\n\tint mr_ifindex;\n\tshort unsigned int mr_type;\n\tshort unsigned int mr_alen;\n\tunsigned char mr_address[32];\n};\n\nstruct pgv;\n\nstruct tpacket_kbdq_core {\n\tstruct pgv *pkbdq;\n\tunsigned int feature_req_word;\n\tunsigned int hdrlen;\n\tunsigned char reset_pending_on_curr_blk;\n\tunsigned char delete_blk_timer;\n\tshort unsigned int kactive_blk_num;\n\tshort unsigned int blk_sizeof_priv;\n\tshort unsigned int last_kactive_blk_num;\n\tchar *pkblk_start;\n\tchar *pkblk_end;\n\tint kblk_size;\n\tunsigned int max_frame_len;\n\tunsigned int knum_blocks;\n\tuint64_t knxt_seq_num;\n\tchar *prev;\n\tchar *nxt_offset;\n\tstruct sk_buff *skb;\n\trwlock_t blk_fill_in_prog_lock;\n\tshort unsigned int retire_blk_tov;\n\tshort unsigned int version;\n\tlong unsigned int tov_in_jiffies;\n\tstruct timer_list retire_blk_timer;\n};\n\nstruct packet_ring_buffer {\n\tstruct pgv *pg_vec;\n\tunsigned int head;\n\tunsigned int frames_per_block;\n\tunsigned int frame_size;\n\tunsigned int frame_max;\n\tunsigned int pg_vec_order;\n\tunsigned int pg_vec_pages;\n\tunsigned int pg_vec_len;\n\tunsigned int *pending_refcnt;\n\tunion {\n\t\tlong unsigned int *rx_owner_map;\n\t\tstruct tpacket_kbdq_core prb_bdqc;\n\t};\n};\n\nstruct packet_rollover {\n\tint sock;\n\tatomic_long_t num;\n\tatomic_long_t num_huge;\n\tatomic_long_t num_failed;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 history[16];\n};\n\nstruct sockaddr_pkt {\n\tshort unsigned int spkt_family;\n\tunsigned char spkt_device[14];\n\t__be16 spkt_protocol;\n};\n\nstruct sockaddr_ll {\n\tshort unsigned int sll_family;\n\t__be16 sll_protocol;\n\tint sll_ifindex;\n\tshort unsigned int sll_hatype;\n\tunsigned char sll_pkttype;\n\tunsigned char sll_halen;\n\tunsigned char sll_addr[8];\n};\n\nstruct packet_skb_cb {\n\tunion {\n\t\tstruct sockaddr_pkt pkt;\n\t\tunion {\n\t\t\tunsigned int origlen;\n\t\t\tstruct sockaddr_ll ll;\n\t\t};\n\t} sa;\n};\n\nstruct tpacket_stats {\n\tunsigned int tp_packets;\n\tunsigned int tp_drops;\n};\n\nstruct tpacket_stats_v3 {\n\tunsigned int tp_packets;\n\tunsigned int tp_drops;\n\tunsigned int tp_freeze_q_cnt;\n};\n\nunion tpacket_stats_u {\n\tstruct tpacket_stats stats1;\n\tstruct tpacket_stats_v3 stats3;\n};\n\nstruct packet_sock {\n\tstruct sock sk;\n\tstruct packet_fanout *fanout;\n\tunion tpacket_stats_u stats;\n\tstruct packet_ring_buffer rx_ring;\n\tstruct packet_ring_buffer tx_ring;\n\tint copy_thresh;\n\tspinlock_t bind_lock;\n\tstruct mutex pg_vec_lock;\n\tlong unsigned int flags;\n\tint ifindex;\n\tu8 vnet_hdr_sz;\n\t__be16 num;\n\tstruct packet_rollover *rollover;\n\tstruct packet_mclist *mclist;\n\tatomic_long_t mapped;\n\tenum tpacket_versions tp_version;\n\tunsigned int tp_hdrlen;\n\tunsigned int tp_reserve;\n\tunsigned int tp_tstamp;\n\tstruct completion skb_completion;\n\tstruct net_device *cached_dev;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct packet_type prot_hook;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t tp_drops;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct padata_cpumask {\n\tcpumask_var_t pcpu;\n\tcpumask_var_t cbcpu;\n};\n\nstruct padata_instance {\n\tstruct hlist_node cpu_online_node;\n\tstruct hlist_node cpu_dead_node;\n\tstruct workqueue_struct *parallel_wq;\n\tstruct workqueue_struct *serial_wq;\n\tstruct list_head pslist;\n\tstruct padata_cpumask cpumask;\n\tstruct kobject kobj;\n\tstruct mutex lock;\n\tu8 flags;\n};\n\nstruct padata_list {\n\tstruct list_head list;\n\tspinlock_t lock;\n};\n\nstruct padata_mt_job {\n\tvoid (*thread_fn)(long unsigned int, long unsigned int, void *);\n\tvoid *fn_arg;\n\tlong unsigned int start;\n\tlong unsigned int size;\n\tlong unsigned int align;\n\tlong unsigned int min_chunk;\n\tint max_threads;\n\tbool numa_aware;\n};\n\nstruct padata_mt_job_state {\n\tspinlock_t lock;\n\tstruct completion completion;\n\tstruct padata_mt_job *job;\n\tint nworks;\n\tint nworks_fini;\n\tlong unsigned int chunk_size;\n};\n\nstruct parallel_data;\n\nstruct padata_priv {\n\tstruct list_head list;\n\tstruct parallel_data *pd;\n\tint cb_cpu;\n\tunsigned int seq_nr;\n\tint info;\n\tvoid (*parallel)(struct padata_priv *);\n\tvoid (*serial)(struct padata_priv *);\n};\n\nstruct padata_serial_queue {\n\tstruct padata_list serial;\n\tstruct work_struct work;\n\tstruct parallel_data *pd;\n};\n\nstruct padata_shell {\n\tstruct padata_instance *pinst;\n\tstruct parallel_data *pd;\n\tstruct parallel_data *opd;\n\tstruct list_head list;\n};\n\nstruct padata_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct padata_instance *, struct attribute *, char *);\n\tssize_t (*store)(struct padata_instance *, struct attribute *, const char *, size_t);\n};\n\nstruct padata_work {\n\tstruct work_struct pw_work;\n\tstruct list_head pw_list;\n\tvoid *pw_data;\n};\n\ntypedef struct page *pgtable_t;\n\nstruct page_change_data {\n\tpgprot_t set_mask;\n\tpgprot_t clear_mask;\n};\n\nstruct printf_spec;\n\nstruct page_flags_fields {\n\tint width;\n\tint shift;\n\tint mask;\n\tconst struct printf_spec *spec;\n\tconst char *name;\n};\n\nstruct page_pool_params_fast {\n\tunsigned int order;\n\tunsigned int pool_size;\n\tint nid;\n\tstruct device *dev;\n\tstruct napi_struct *napi;\n\tenum dma_data_direction dma_dir;\n\tunsigned int max_len;\n\tunsigned int offset;\n};\n\nstruct page_pool_alloc_stats {\n\tu64 fast;\n\tu64 slow;\n\tu64 slow_high_order;\n\tu64 empty;\n\tu64 refill;\n\tu64 waive;\n};\n\nstruct pp_alloc_cache {\n\tu32 count;\n\tnetmem_ref cache[128];\n};\n\nstruct ptr_ring {\n\tint producer;\n\tspinlock_t producer_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tint consumer_head;\n\tint consumer_tail;\n\tspinlock_t consumer_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tint size;\n\tint batch;\n\tvoid **queue;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct page_pool_params_slow {\n\tstruct net_device *netdev;\n\tunsigned int queue_idx;\n\tunsigned int flags;\n\tvoid (*init_callback)(netmem_ref, void *);\n\tvoid *init_arg;\n};\n\nstruct page_pool_recycle_stats;\n\nstruct page_pool {\n\tstruct page_pool_params_fast p;\n\tint cpuid;\n\tu32 pages_state_hold_cnt;\n\tbool has_init_callback: 1;\n\tbool dma_map: 1;\n\tbool dma_sync: 1;\n\tbool dma_sync_for_cpu: 1;\n\tbool system: 1;\n\tlong: 0;\n\t__u8 __cacheline_group_begin__frag[0];\n\tlong int frag_users;\n\tnetmem_ref frag_page;\n\tunsigned int frag_offset;\n\tlong: 0;\n\t__u8 __cacheline_group_end__frag[0];\n\tlong: 64;\n\tstruct {} __cacheline_group_pad__frag;\n\tstruct delayed_work release_dw;\n\tvoid (*disconnect)(void *);\n\tlong unsigned int defer_start;\n\tlong unsigned int defer_warn;\n\tstruct page_pool_alloc_stats alloc_stats;\n\tu32 xdp_mem_id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct pp_alloc_cache alloc;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ptr_ring ring;\n\tvoid *mp_priv;\n\tstruct page_pool_recycle_stats *recycle_stats;\n\tatomic_t pages_state_release_cnt;\n\trefcount_t user_cnt;\n\tu64 destroy_cnt;\n\tstruct page_pool_params_slow slow;\n\tstruct {\n\t\tstruct hlist_node list;\n\t\tu64 detach_time;\n\t\tu32 id;\n\t} user;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct page_pool_dump_cb {\n\tlong unsigned int ifindex;\n\tu32 pp_id;\n};\n\nstruct page_pool_params {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int order;\n\t\t\tunsigned int pool_size;\n\t\t\tint nid;\n\t\t\tstruct device *dev;\n\t\t\tstruct napi_struct *napi;\n\t\t\tenum dma_data_direction dma_dir;\n\t\t\tunsigned int max_len;\n\t\t\tunsigned int offset;\n\t\t};\n\t\tstruct page_pool_params_fast fast;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tstruct net_device *netdev;\n\t\t\tunsigned int queue_idx;\n\t\t\tunsigned int flags;\n\t\t\tvoid (*init_callback)(netmem_ref, void *);\n\t\t\tvoid *init_arg;\n\t\t};\n\t\tstruct page_pool_params_slow slow;\n\t};\n};\n\nstruct page_pool_recycle_stats {\n\tu64 cached;\n\tu64 cache_full;\n\tu64 ring;\n\tu64 ring_full;\n\tu64 released_refcnt;\n};\n\nstruct page_pool_stats {\n\tstruct page_pool_alloc_stats alloc_stats;\n\tstruct page_pool_recycle_stats recycle_stats;\n};\n\nstruct page_region {\n\t__u64 start;\n\t__u64 end;\n\t__u64 categories;\n};\n\nstruct page_reporting_dev_info {\n\tint (*report)(struct page_reporting_dev_info *, struct scatterlist *, unsigned int);\n\tstruct delayed_work work;\n\tatomic_t state;\n\tunsigned int order;\n};\n\nstruct page_state {\n\tlong unsigned int mask;\n\tlong unsigned int res;\n\tenum mf_action_page_type type;\n\tint (*action)(struct page_state *, struct page *);\n};\n\nstruct page_vma_mapped_walk {\n\tlong unsigned int pfn;\n\tlong unsigned int nr_pages;\n\tlong unsigned int pgoff;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int address;\n\tpmd_t *pmd;\n\tpte_t *pte;\n\tspinlock_t *ptl;\n\tunsigned int flags;\n};\n\nstruct pm_scan_arg {\n\t__u64 size;\n\t__u64 flags;\n\t__u64 start;\n\t__u64 end;\n\t__u64 walk_end;\n\t__u64 vec;\n\t__u64 vec_len;\n\t__u64 max_pages;\n\t__u64 category_inverted;\n\t__u64 category_mask;\n\t__u64 category_anyof_mask;\n\t__u64 return_mask;\n};\n\nstruct pagemap_scan_private {\n\tstruct pm_scan_arg arg;\n\tlong unsigned int masks_of_interest;\n\tlong unsigned int cur_vma_category;\n\tstruct page_region *vec_buf;\n\tlong unsigned int vec_buf_len;\n\tlong unsigned int vec_buf_index;\n\tlong unsigned int found_pages;\n\tstruct page_region *vec_out;\n};\n\nstruct pagemapread {\n\tint pos;\n\tint len;\n\tpagemap_entry_t *buffer;\n\tbool show_pfn;\n};\n\nstruct pages_devres {\n\tlong unsigned int addr;\n\tunsigned int order;\n};\n\nstruct pages_or_folios {\n\tunion {\n\t\tstruct page **pages;\n\t\tstruct folio **folios;\n\t\tvoid **entries;\n\t};\n\tbool has_folios;\n\tlong int nr_entries;\n};\n\nstruct parallel_data {\n\tstruct padata_shell *ps;\n\tstruct padata_list *reorder_list;\n\tstruct padata_serial_queue *squeue;\n\trefcount_t refcnt;\n\tunsigned int seq_nr;\n\tunsigned int processed;\n\tint cpu;\n\tstruct padata_cpumask cpumask;\n\tstruct work_struct reorder_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct parent_map {\n\tu8 src;\n\tu8 cfg;\n};\n\nstruct parents_resp {\n\tu32 parents[3];\n};\n\nstruct partition_meta_info {\n\tchar uuid[37];\n\tu8 volname[64];\n};\n\nstruct parsed_partitions {\n\tstruct gendisk *disk;\n\tchar name[32];\n\tstruct {\n\t\tsector_t from;\n\t\tsector_t size;\n\t\tint flags;\n\t\tbool has_info;\n\t\tstruct partition_meta_info info;\n\t} *parts;\n\tint next;\n\tint limit;\n\tbool access_beyond_eod;\n\tchar *pp_buf;\n};\n\nstruct partial_cluster {\n\text4_fsblk_t pclu;\n\text4_lblk_t lblk;\n\tenum {\n\t\tinitial = 0,\n\t\ttofree = 1,\n\t\tnofree = 2,\n\t} state;\n};\n\nstruct partial_context {\n\tgfp_t flags;\n\tunsigned int orig_size;\n\tvoid *object;\n};\n\nstruct partial_page {\n\tunsigned int offset;\n\tunsigned int len;\n\tlong unsigned int private;\n};\n\nstruct partition_affinity {\n\tcpumask_t mask;\n\tvoid *partition_id;\n};\n\nstruct partition_desc {\n\tint nr_parts;\n\tstruct partition_affinity *parts;\n\tstruct irq_domain *domain;\n\tstruct irq_desc *chained_desc;\n\tlong unsigned int *bitmap;\n\tstruct irq_domain_ops ops;\n};\n\nstruct pasemi_smbus {\n\tstruct device *dev;\n\tstruct i2c_adapter adapter;\n\tvoid *ioaddr;\n\tunsigned int clk_div;\n\tint hw_rev;\n\tint use_irq;\n\tstruct completion irq_completion;\n};\n\nstruct pasemi_platform_i2c_data {\n\tstruct pasemi_smbus smbus;\n\tstruct clk *clk_ref;\n};\n\nstruct pata_platform_info {\n\tunsigned int ioport_shift;\n};\n\nstruct pause_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_pauseparam pauseparam;\n\tstruct ethtool_pause_stats pausestat;\n};\n\nstruct pause_req_info {\n\tstruct ethnl_req_info base;\n\tenum ethtool_mac_stats_src src;\n};\n\nstruct pbe {\n\tvoid *address;\n\tvoid *orig_address;\n\tstruct pbe *next;\n};\n\nstruct pc9450_dvs_config {\n\tunsigned int run_reg;\n\tunsigned int run_mask;\n\tunsigned int standby_reg;\n\tunsigned int standby_mask;\n};\n\nstruct pca9450 {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct gpio_desc *sd_vsel_gpio;\n\tenum pca9450_chip_type type;\n\tunsigned int rcnt;\n\tint irq;\n};\n\nstruct pca9450_regulator_desc {\n\tstruct regulator_desc desc;\n\tconst struct pc9450_dvs_config dvs;\n};\n\nstruct pca953x_reg_config;\n\nstruct pca953x_chip {\n\tunsigned int gpio_start;\n\tstruct mutex i2c_lock;\n\tstruct regmap *regmap;\n\tstruct mutex irq_lock;\n\tlong unsigned int irq_mask[1];\n\tlong unsigned int irq_stat[1];\n\tlong unsigned int irq_trig_raise[1];\n\tlong unsigned int irq_trig_fall[1];\n\tatomic_t wakeup_path;\n\tstruct i2c_client *client;\n\tstruct gpio_chip gpio_chip;\n\tlong unsigned int driver_data;\n\tstruct regulator *regulator;\n\tconst struct pca953x_reg_config *regs;\n\tu8 (*recalc_addr)(struct pca953x_chip *, int, int);\n\tbool (*check_reg)(struct pca953x_chip *, unsigned int, u32);\n};\n\nstruct pca953x_platform_data {\n\tunsigned int gpio_base;\n\tint irq_base;\n};\n\nstruct pca953x_reg_config {\n\tint direction;\n\tint output;\n\tint input;\n\tint invert;\n};\n\nstruct pca954x {\n\tconst struct chip_desc *chip;\n\tu8 last_chan;\n\ts32 idle_state;\n\tstruct i2c_client *client;\n\tstruct irq_domain *irq;\n\tunsigned int irq_mask;\n\traw_spinlock_t lock;\n\tstruct regulator *supply;\n\tstruct gpio_desc *reset_gpio;\n\tstruct reset_control *reset_cont;\n};\n\nstruct pcc_mbox_chan {\n\tstruct mbox_chan *mchan;\n\tu64 shmem_base_addr;\n\tvoid *shmem;\n\tu64 shmem_size;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu16 min_turnaround_time;\n};\n\nstruct pcc_chan_reg {\n\tvoid *vaddr;\n\tstruct acpi_generic_address *gas;\n\tu64 preserve_mask;\n\tu64 set_mask;\n\tu64 status_mask;\n};\n\nstruct pcc_chan_info {\n\tstruct pcc_mbox_chan chan;\n\tstruct pcc_chan_reg db;\n\tstruct pcc_chan_reg plat_irq_ack;\n\tstruct pcc_chan_reg cmd_complete;\n\tstruct pcc_chan_reg cmd_update;\n\tstruct pcc_chan_reg error;\n\tint plat_irq;\n\tu8 type;\n\tunsigned int plat_irq_flags;\n\tbool chan_in_use;\n};\n\nstruct pcc_data {\n\tstruct pcc_mbox_chan *pcc_chan;\n\tvoid *pcc_comm_addr;\n\tstruct completion done;\n\tstruct mbox_client cl;\n\tstruct acpi_pcc_info ctx;\n};\n\nstruct pcc_reset_dev {\n\tvoid *base;\n\tstruct reset_controller_dev rcdev;\n\tconst u32 *resets;\n\tspinlock_t *lock;\n};\n\nstruct pci_acs {\n\tu16 cap;\n\tu16 ctrl;\n\tu16 fw_ctrl;\n};\n\nstruct pci_bits {\n\tunsigned int reg;\n\tunsigned int width;\n\tlong unsigned int mask;\n\tlong unsigned int val;\n};\n\nstruct pci_bridge_emul_ops {\n\tpci_bridge_emul_read_status_t (*read_base)(struct pci_bridge_emul *, int, u32 *);\n\tpci_bridge_emul_read_status_t (*read_pcie)(struct pci_bridge_emul *, int, u32 *);\n\tpci_bridge_emul_read_status_t (*read_ext)(struct pci_bridge_emul *, int, u32 *);\n\tvoid (*write_base)(struct pci_bridge_emul *, int, u32, u32, u32);\n\tvoid (*write_pcie)(struct pci_bridge_emul *, int, u32, u32, u32);\n\tvoid (*write_ext)(struct pci_bridge_emul *, int, u32, u32, u32);\n};\n\nstruct pci_bridge_reg_behavior {\n\tu32 ro;\n\tu32 rw;\n\tu32 w1c;\n};\n\nstruct pci_bus {\n\tstruct list_head node;\n\tstruct pci_bus *parent;\n\tstruct list_head children;\n\tstruct list_head devices;\n\tstruct pci_dev *self;\n\tstruct list_head slots;\n\tstruct resource *resource[4];\n\tstruct list_head resources;\n\tstruct resource busn_res;\n\tstruct pci_ops *ops;\n\tvoid *sysdata;\n\tstruct proc_dir_entry *procdir;\n\tunsigned char number;\n\tunsigned char primary;\n\tunsigned char max_bus_speed;\n\tunsigned char cur_bus_speed;\n\tint domain_nr;\n\tchar name[48];\n\tshort unsigned int bridge_ctl;\n\tpci_bus_flags_t bus_flags;\n\tstruct device *bridge;\n\tstruct device dev;\n\tstruct bin_attribute *legacy_io;\n\tstruct bin_attribute *legacy_mem;\n\tunsigned int is_added: 1;\n\tunsigned int unsafe_warn: 1;\n};\n\nstruct pci_bus_region {\n\tpci_bus_addr_t start;\n\tpci_bus_addr_t end;\n};\n\nstruct pci_bus_resource {\n\tstruct list_head list;\n\tstruct resource *res;\n};\n\nstruct pci_cap_saved_data {\n\tu16 cap_nr;\n\tbool cap_extended;\n\tunsigned int size;\n\tu32 data[0];\n};\n\nstruct pci_cap_saved_state {\n\tstruct hlist_node next;\n\tstruct pci_cap_saved_data cap;\n};\n\nstruct pci_config_window {\n\tstruct resource res;\n\tstruct resource busr;\n\tunsigned int bus_shift;\n\tvoid *priv;\n\tconst struct pci_ecam_ops *ops;\n\tunion {\n\t\tvoid *win;\n\t\tvoid **winp;\n\t};\n\tstruct device *parent;\n};\n\nstruct pci_vpd {\n\tstruct mutex lock;\n\tunsigned int len;\n\tu8 cap;\n};\n\nstruct rcec_ea;\n\nstruct pcie_link_state;\n\nstruct pcie_bwctrl_data;\n\nstruct pci_sriov;\n\nstruct pci_dev {\n\tstruct list_head bus_list;\n\tstruct pci_bus *bus;\n\tstruct pci_bus *subordinate;\n\tvoid *sysdata;\n\tstruct proc_dir_entry *procent;\n\tstruct pci_slot *slot;\n\tunsigned int devfn;\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tshort unsigned int subsystem_vendor;\n\tshort unsigned int subsystem_device;\n\tunsigned int class;\n\tu8 revision;\n\tu8 hdr_type;\n\tu16 aer_cap;\n\tstruct aer_stats *aer_stats;\n\tstruct rcec_ea *rcec_ea;\n\tstruct pci_dev *rcec;\n\tu32 devcap;\n\tu8 pcie_cap;\n\tu8 msi_cap;\n\tu8 msix_cap;\n\tu8 pcie_mpss: 3;\n\tu8 rom_base_reg;\n\tu8 pin;\n\tu16 pcie_flags_reg;\n\tlong unsigned int *dma_alias_mask;\n\tstruct pci_driver *driver;\n\tu64 dma_mask;\n\tstruct device_dma_parameters dma_parms;\n\tpci_power_t current_state;\n\tu8 pm_cap;\n\tunsigned int pme_support: 5;\n\tunsigned int pme_poll: 1;\n\tunsigned int pinned: 1;\n\tunsigned int config_rrs_sv: 1;\n\tunsigned int imm_ready: 1;\n\tunsigned int d1_support: 1;\n\tunsigned int d2_support: 1;\n\tunsigned int no_d1d2: 1;\n\tunsigned int no_d3cold: 1;\n\tunsigned int bridge_d3: 1;\n\tunsigned int d3cold_allowed: 1;\n\tunsigned int mmio_always_on: 1;\n\tunsigned int wakeup_prepared: 1;\n\tunsigned int skip_bus_pm: 1;\n\tunsigned int ignore_hotplug: 1;\n\tunsigned int hotplug_user_indicators: 1;\n\tunsigned int clear_retrain_link: 1;\n\tunsigned int d3hot_delay;\n\tunsigned int d3cold_delay;\n\tu16 l1ss;\n\tstruct pcie_link_state *link_state;\n\tunsigned int ltr_path: 1;\n\tunsigned int pasid_no_tlp: 1;\n\tunsigned int eetlp_prefix_max: 3;\n\tpci_channel_state_t error_state;\n\tstruct device dev;\n\tint cfg_size;\n\tunsigned int irq;\n\tstruct resource resource[17];\n\tstruct resource driver_exclusive_resource;\n\tbool match_driver;\n\tunsigned int transparent: 1;\n\tunsigned int io_window: 1;\n\tunsigned int pref_window: 1;\n\tunsigned int pref_64_window: 1;\n\tunsigned int multifunction: 1;\n\tunsigned int is_busmaster: 1;\n\tunsigned int no_msi: 1;\n\tunsigned int no_64bit_msi: 1;\n\tunsigned int block_cfg_access: 1;\n\tunsigned int broken_parity_status: 1;\n\tunsigned int irq_reroute_variant: 2;\n\tunsigned int msi_enabled: 1;\n\tunsigned int msix_enabled: 1;\n\tunsigned int ari_enabled: 1;\n\tunsigned int ats_enabled: 1;\n\tunsigned int pasid_enabled: 1;\n\tunsigned int pri_enabled: 1;\n\tunsigned int tph_enabled: 1;\n\tunsigned int is_managed: 1;\n\tunsigned int is_msi_managed: 1;\n\tunsigned int needs_freset: 1;\n\tunsigned int state_saved: 1;\n\tunsigned int is_physfn: 1;\n\tunsigned int is_virtfn: 1;\n\tunsigned int is_hotplug_bridge: 1;\n\tunsigned int shpc_managed: 1;\n\tunsigned int is_thunderbolt: 1;\n\tunsigned int untrusted: 1;\n\tunsigned int external_facing: 1;\n\tunsigned int broken_intx_masking: 1;\n\tunsigned int io_window_1k: 1;\n\tunsigned int irq_managed: 1;\n\tunsigned int non_compliant_bars: 1;\n\tunsigned int is_probed: 1;\n\tunsigned int link_active_reporting: 1;\n\tunsigned int no_vf_scan: 1;\n\tunsigned int no_command_memory: 1;\n\tunsigned int rom_bar_overlap: 1;\n\tunsigned int rom_attr_enabled: 1;\n\tpci_dev_flags_t dev_flags;\n\tatomic_t enable_cnt;\n\tspinlock_t pcie_cap_lock;\n\tu32 saved_config_space[16];\n\tstruct hlist_head saved_cap_space;\n\tstruct bin_attribute *res_attr[17];\n\tstruct bin_attribute *res_attr_wc[17];\n\tvoid *msix_base;\n\traw_spinlock_t msi_lock;\n\tstruct pci_vpd vpd;\n\tstruct pcie_bwctrl_data *link_bwctrl;\n\tunion {\n\t\tstruct pci_sriov *sriov;\n\t\tstruct pci_dev *physfn;\n\t};\n\tu16 ats_cap;\n\tu8 ats_stu;\n\tu16 pasid_cap;\n\tu16 pasid_features;\n\tu16 acs_cap;\n\tu8 supported_speeds;\n\tphys_addr_t rom;\n\tsize_t romlen;\n\tconst char *driver_override;\n\tlong unsigned int priv_flags;\n\tu8 reset_methods[8];\n};\n\nstruct pci_dev_acs_enabled {\n\tu16 vendor;\n\tu16 device;\n\tint (*acs_enabled)(struct pci_dev *, u16);\n};\n\nstruct pci_dev_acs_ops {\n\tu16 vendor;\n\tu16 device;\n\tint (*enable_acs)(struct pci_dev *);\n\tint (*disable_acs_redir)(struct pci_dev *);\n};\n\nstruct pci_dev_reset_methods {\n\tu16 vendor;\n\tu16 device;\n\tint (*reset)(struct pci_dev *, bool);\n};\n\nstruct pci_dev_resource {\n\tstruct list_head list;\n\tstruct resource *res;\n\tstruct pci_dev *dev;\n\tresource_size_t start;\n\tresource_size_t end;\n\tresource_size_t add_size;\n\tresource_size_t min_align;\n\tlong unsigned int flags;\n};\n\nstruct pci_device_id {\n\t__u32 vendor;\n\t__u32 device;\n\t__u32 subvendor;\n\t__u32 subdevice;\n\t__u32 class;\n\t__u32 class_mask;\n\tkernel_ulong_t driver_data;\n\t__u32 override_only;\n};\n\nstruct physdev_pci_device {\n\tuint16_t seg;\n\tuint8_t bus;\n\tuint8_t devfn;\n};\n\nstruct pci_device_reset {\n\tstruct physdev_pci_device dev;\n\tuint32_t flags;\n};\n\nstruct pci_domain_busn_res {\n\tstruct list_head list;\n\tstruct resource res;\n\tint domain_nr;\n};\n\nstruct pci_dynids {\n\tspinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct pci_error_handlers;\n\nstruct pci_driver {\n\tconst char *name;\n\tconst struct pci_device_id *id_table;\n\tint (*probe)(struct pci_dev *, const struct pci_device_id *);\n\tvoid (*remove)(struct pci_dev *);\n\tint (*suspend)(struct pci_dev *, pm_message_t);\n\tint (*resume)(struct pci_dev *);\n\tvoid (*shutdown)(struct pci_dev *);\n\tint (*sriov_configure)(struct pci_dev *, int);\n\tint (*sriov_set_msix_vec_count)(struct pci_dev *, int);\n\tu32 (*sriov_get_vf_total_msix)(struct pci_dev *);\n\tconst struct pci_error_handlers *err_handler;\n\tconst struct attribute_group **groups;\n\tconst struct attribute_group **dev_groups;\n\tstruct device_driver driver;\n\tstruct pci_dynids dynids;\n\tbool driver_managed_dma;\n};\n\nstruct pci_dynid {\n\tstruct list_head node;\n\tstruct pci_device_id id;\n};\n\nstruct pci_ops {\n\tint (*add_bus)(struct pci_bus *);\n\tvoid (*remove_bus)(struct pci_bus *);\n\tvoid * (*map_bus)(struct pci_bus *, unsigned int, int);\n\tint (*read)(struct pci_bus *, unsigned int, int, int, u32 *);\n\tint (*write)(struct pci_bus *, unsigned int, int, int, u32);\n};\n\nstruct pci_ecam_ops {\n\tunsigned int bus_shift;\n\tstruct pci_ops pci_ops;\n\tint (*init)(struct pci_config_window *);\n\tint (*enable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid (*disable_device)(struct pci_host_bridge *, struct pci_dev *);\n};\n\nstruct pci_epc_ops;\n\nstruct pci_epc_mem;\n\nstruct pci_epc {\n\tstruct device dev;\n\tstruct list_head pci_epf;\n\tstruct mutex list_lock;\n\tconst struct pci_epc_ops *ops;\n\tstruct pci_epc_mem **windows;\n\tstruct pci_epc_mem *mem;\n\tunsigned int num_windows;\n\tu8 max_functions;\n\tu8 *max_vfs;\n\tstruct config_group *group;\n\tstruct mutex lock;\n\tlong unsigned int function_num_map;\n\tint domain_nr;\n\tbool init_complete;\n};\n\nstruct pci_epc_bar_desc {\n\tenum pci_epc_bar_type type;\n\tu64 fixed_size;\n\tbool only_64bit;\n};\n\nstruct pci_epf;\n\nstruct pci_epc_event_ops {\n\tint (*epc_init)(struct pci_epf *);\n\tvoid (*epc_deinit)(struct pci_epf *);\n\tint (*link_up)(struct pci_epf *);\n\tint (*link_down)(struct pci_epf *);\n\tint (*bus_master_enable)(struct pci_epf *);\n};\n\nstruct pci_epc_features {\n\tunsigned int linkup_notifier: 1;\n\tunsigned int msi_capable: 1;\n\tunsigned int msix_capable: 1;\n\tstruct pci_epc_bar_desc bar[6];\n\tsize_t align;\n};\n\nstruct pci_epc_group {\n\tstruct config_group group;\n\tstruct pci_epc *epc;\n\tbool start;\n};\n\nstruct pci_epc_map {\n\tu64 pci_addr;\n\tsize_t pci_size;\n\tu64 map_pci_addr;\n\tsize_t map_size;\n\tphys_addr_t phys_base;\n\tphys_addr_t phys_addr;\n\tvoid *virt_base;\n\tvoid *virt_addr;\n};\n\nstruct pci_epc_mem_window {\n\tphys_addr_t phys_base;\n\tsize_t size;\n\tsize_t page_size;\n};\n\nstruct pci_epc_mem {\n\tstruct pci_epc_mem_window window;\n\tlong unsigned int *bitmap;\n\tint pages;\n\tstruct mutex lock;\n};\n\nstruct pci_epf_header;\n\nstruct pci_epc_ops {\n\tint (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);\n\tint (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);\n\tvoid (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);\n\tu64 (*align_addr)(struct pci_epc *, u64, size_t *, size_t *);\n\tint (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);\n\tvoid (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);\n\tint (*set_msi)(struct pci_epc *, u8, u8, u8);\n\tint (*get_msi)(struct pci_epc *, u8, u8);\n\tint (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);\n\tint (*get_msix)(struct pci_epc *, u8, u8);\n\tint (*raise_irq)(struct pci_epc *, u8, u8, unsigned int, u16);\n\tint (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);\n\tint (*start)(struct pci_epc *);\n\tvoid (*stop)(struct pci_epc *);\n\tconst struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);\n\tstruct module *owner;\n};\n\nstruct pci_epf_bar {\n\tdma_addr_t phys_addr;\n\tvoid *addr;\n\tsize_t size;\n\tenum pci_barno barno;\n\tint flags;\n};\n\nstruct pci_epf_driver;\n\nstruct pci_epf_device_id;\n\nstruct pci_epf {\n\tstruct device dev;\n\tconst char *name;\n\tstruct pci_epf_header *header;\n\tstruct pci_epf_bar bar[6];\n\tu8 msi_interrupts;\n\tu16 msix_interrupts;\n\tu8 func_no;\n\tu8 vfunc_no;\n\tstruct pci_epc *epc;\n\tstruct pci_epf *epf_pf;\n\tstruct pci_epf_driver *driver;\n\tconst struct pci_epf_device_id *id;\n\tstruct list_head list;\n\tstruct mutex lock;\n\tstruct pci_epc *sec_epc;\n\tstruct list_head sec_epc_list;\n\tstruct pci_epf_bar sec_epc_bar[6];\n\tu8 sec_epc_func_no;\n\tstruct config_group *group;\n\tunsigned int is_bound;\n\tunsigned int is_vf;\n\tlong unsigned int vfunction_num_map;\n\tstruct list_head pci_vepf;\n\tconst struct pci_epc_event_ops *event_ops;\n};\n\nstruct pci_epf_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct pci_epf_ops;\n\nstruct pci_epf_driver {\n\tint (*probe)(struct pci_epf *, const struct pci_epf_device_id *);\n\tvoid (*remove)(struct pci_epf *);\n\tstruct device_driver driver;\n\tconst struct pci_epf_ops *ops;\n\tstruct module *owner;\n\tstruct list_head epf_group;\n\tconst struct pci_epf_device_id *id_table;\n};\n\nstruct pci_epf_group {\n\tstruct config_group group;\n\tstruct config_group primary_epc_group;\n\tstruct config_group secondary_epc_group;\n\tstruct delayed_work cfs_work;\n\tstruct pci_epf *epf;\n\tint index;\n};\n\nstruct pci_epf_header {\n\tu16 vendorid;\n\tu16 deviceid;\n\tu8 revid;\n\tu8 progif_code;\n\tu8 subclass_code;\n\tu8 baseclass_code;\n\tu8 cache_line_size;\n\tu16 subsys_vendor_id;\n\tu16 subsys_id;\n\tenum pci_interrupt_pin interrupt_pin;\n};\n\nstruct pci_epf_msix_tbl {\n\tu64 msg_addr;\n\tu32 msg_data;\n\tu32 vector_ctrl;\n};\n\nstruct pci_epf_ops {\n\tint (*bind)(struct pci_epf *);\n\tvoid (*unbind)(struct pci_epf *);\n\tstruct config_group * (*add_cfs)(struct pci_epf *, struct config_group *);\n};\n\nstruct pci_error_handlers {\n\tpci_ers_result_t (*error_detected)(struct pci_dev *, pci_channel_state_t);\n\tpci_ers_result_t (*mmio_enabled)(struct pci_dev *);\n\tpci_ers_result_t (*slot_reset)(struct pci_dev *);\n\tvoid (*reset_prepare)(struct pci_dev *);\n\tvoid (*reset_done)(struct pci_dev *);\n\tvoid (*resume)(struct pci_dev *);\n\tvoid (*cor_error_detected)(struct pci_dev *);\n};\n\nstruct pci_fixup {\n\tu16 vendor;\n\tu16 device;\n\tu32 class;\n\tunsigned int class_shift;\n\tint hook_offset;\n};\n\nstruct pci_host_bridge {\n\tstruct device dev;\n\tstruct pci_bus *bus;\n\tstruct pci_ops *ops;\n\tstruct pci_ops *child_ops;\n\tvoid *sysdata;\n\tint busnr;\n\tint domain_nr;\n\tstruct list_head windows;\n\tstruct list_head dma_ranges;\n\tu8 (*swizzle_irq)(struct pci_dev *, u8 *);\n\tint (*map_irq)(const struct pci_dev *, u8, u8);\n\tvoid (*release_fn)(struct pci_host_bridge *);\n\tint (*enable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid (*disable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid *release_data;\n\tunsigned int ignore_reset_delay: 1;\n\tunsigned int no_ext_tags: 1;\n\tunsigned int no_inc_mrrs: 1;\n\tunsigned int native_aer: 1;\n\tunsigned int native_pcie_hotplug: 1;\n\tunsigned int native_shpc_hotplug: 1;\n\tunsigned int native_pme: 1;\n\tunsigned int native_ltr: 1;\n\tunsigned int native_dpc: 1;\n\tunsigned int native_cxl_error: 1;\n\tunsigned int preserve_config: 1;\n\tunsigned int size_windows: 1;\n\tunsigned int msi_domain: 1;\n\tresource_size_t (*align_resource)(struct pci_dev *, const struct resource *, resource_size_t, resource_size_t, resource_size_t);\n\tlong unsigned int private[0];\n};\n\nstruct pci_osc_bit_struct {\n\tu32 bit;\n\tchar *desc;\n};\n\nstruct pci_p2pdma_map_state {\n\tstruct dev_pagemap *pgmap;\n\tint map;\n\tu64 bus_off;\n};\n\nstruct pci_pme_device {\n\tstruct list_head list;\n\tstruct pci_dev *dev;\n};\n\nstruct pci_reset_fn_method {\n\tint (*reset_fn)(struct pci_dev *, bool);\n\tchar *name;\n};\n\nstruct pci_saved_state {\n\tu32 config_space[16];\n\tstruct pci_cap_saved_data cap[0];\n};\n\nstruct serial_private;\n\nstruct pciserial_board;\n\nstruct pci_serial_quirk {\n\tu32 vendor;\n\tu32 device;\n\tu32 subvendor;\n\tu32 subdevice;\n\tint (*probe)(struct pci_dev *);\n\tint (*init)(struct pci_dev *);\n\tint (*setup)(struct serial_private *, const struct pciserial_board *, struct uart_8250_port *, int);\n\tvoid (*exit)(struct pci_dev *);\n};\n\nstruct pci_slot {\n\tstruct pci_bus *bus;\n\tstruct list_head list;\n\tstruct hotplug_slot *hotplug;\n\tunsigned char number;\n\tstruct kobject kobj;\n};\n\nstruct pci_slot_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct pci_slot *, char *);\n\tssize_t (*store)(struct pci_slot *, const char *, size_t);\n};\n\nstruct pci_sriov {\n\tint pos;\n\tint nres;\n\tu32 cap;\n\tu16 ctrl;\n\tu16 total_VFs;\n\tu16 initial_VFs;\n\tu16 num_VFs;\n\tu16 offset;\n\tu16 stride;\n\tu16 vf_device;\n\tu32 pgsz;\n\tu8 link;\n\tu8 max_VF_buses;\n\tu16 driver_max_VFs;\n\tstruct pci_dev *dev;\n\tstruct pci_dev *self;\n\tu32 class;\n\tu8 hdr_type;\n\tu16 subsystem_vendor;\n\tu16 subsystem_device;\n\tresource_size_t barsz[6];\n\tbool drivers_autoprobe;\n};\n\nstruct pcie_bwctrl_data {\n\tstruct mutex set_speed_mutex;\n\tatomic_t lbms_count;\n\tstruct thermal_cooling_device *cdev;\n};\n\nstruct pcie_device {\n\tint irq;\n\tstruct pci_dev *port;\n\tu32 service;\n\tvoid *priv_data;\n\tstruct device device;\n};\n\nstruct pcie_link_state {\n\tstruct pci_dev *pdev;\n\tstruct pci_dev *downstream;\n\tstruct pcie_link_state *root;\n\tstruct pcie_link_state *parent;\n\tstruct list_head sibling;\n\tu32 aspm_support: 7;\n\tu32 aspm_enabled: 7;\n\tu32 aspm_capable: 7;\n\tu32 aspm_default: 7;\n\tint: 4;\n\tu32 aspm_disable: 7;\n\tu32 clkpm_capable: 1;\n\tu32 clkpm_enabled: 1;\n\tu32 clkpm_default: 1;\n\tu32 clkpm_disable: 1;\n};\n\nstruct pcie_pme_service_data {\n\tspinlock_t lock;\n\tstruct pcie_device *srv;\n\tstruct work_struct work;\n\tbool noirq;\n};\n\nstruct pcie_port_service_driver {\n\tconst char *name;\n\tint (*probe)(struct pcie_device *);\n\tvoid (*remove)(struct pcie_device *);\n\tint (*suspend)(struct pcie_device *);\n\tint (*resume_noirq)(struct pcie_device *);\n\tint (*resume)(struct pcie_device *);\n\tint (*runtime_suspend)(struct pcie_device *);\n\tint (*runtime_resume)(struct pcie_device *);\n\tint (*slot_reset)(struct pcie_device *);\n\tint port_type;\n\tu32 service;\n\tstruct device_driver driver;\n};\n\nstruct pcim_addr_devres {\n\tenum pcim_addr_devres_type type;\n\tvoid *baseaddr;\n\tlong unsigned int offset;\n\tlong unsigned int len;\n\tint bar;\n};\n\nstruct pcim_intx_devres {\n\tint orig_intx;\n};\n\nstruct pcim_iomap_devres {\n\tvoid *table[6];\n};\n\nstruct pciserial_board {\n\tunsigned int flags;\n\tunsigned int num_ports;\n\tunsigned int base_baud;\n\tunsigned int uart_offset;\n\tunsigned int reg_shift;\n\tunsigned int first_offset;\n};\n\nstruct pcm_format_data {\n\tunsigned char width;\n\tunsigned char phys;\n\tsigned char le;\n\tsigned char signd;\n\tunsigned char silence[8];\n};\n\nstruct pcpu_group_info {\n\tint nr_units;\n\tlong unsigned int base_offset;\n\tunsigned int *cpu_map;\n};\n\nstruct pcpu_alloc_info {\n\tsize_t static_size;\n\tsize_t reserved_size;\n\tsize_t dyn_size;\n\tsize_t unit_size;\n\tsize_t atom_size;\n\tsize_t alloc_size;\n\tsize_t __ai_size;\n\tint nr_groups;\n\tstruct pcpu_group_info groups[0];\n};\n\nstruct pcpu_block_md {\n\tint scan_hint;\n\tint scan_hint_start;\n\tint contig_hint;\n\tint contig_hint_start;\n\tint left_free;\n\tint right_free;\n\tint first_free;\n\tint nr_bits;\n};\n\nstruct pcpuobj_ext;\n\nstruct pcpu_chunk {\n\tstruct list_head list;\n\tint free_bytes;\n\tstruct pcpu_block_md chunk_md;\n\tlong unsigned int *bound_map;\n\tvoid *base_addr;\n\tlong unsigned int *alloc_map;\n\tstruct pcpu_block_md *md_blocks;\n\tvoid *data;\n\tbool immutable;\n\tbool isolated;\n\tint start_offset;\n\tint end_offset;\n\tstruct pcpuobj_ext *obj_exts;\n\tint nr_pages;\n\tint nr_populated;\n\tint nr_empty_pop_pages;\n\tlong unsigned int populated[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pcpu_dstats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tu64_stats_t rx_drops;\n\tu64_stats_t tx_drops;\n\tstruct u64_stats_sync syncp;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pcpu_gen_cookie {\n\tlocal_t nesting;\n\tu64 last;\n};\n\nstruct pcpu_lstats {\n\tu64_stats_t packets;\n\tu64_stats_t bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct pcpu_sw_netstats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct pcpuobj_ext {\n\tstruct obj_cgroup *cgroup;\n};\n\nstruct pcs_conf_type {\n\tconst char *name;\n\tenum pin_config_param param;\n};\n\nstruct pcs_conf_vals {\n\tenum pin_config_param param;\n\tunsigned int val;\n\tunsigned int enable;\n\tunsigned int disable;\n\tunsigned int mask;\n};\n\nstruct pcs_data {\n\tstruct pinctrl_pin_desc *pa;\n\tint cur;\n};\n\nstruct pcs_soc_data {\n\tunsigned int flags;\n\tint irq;\n\tunsigned int irq_enable_mask;\n\tunsigned int irq_status_mask;\n\tvoid (*rearm)(void);\n};\n\nstruct pcs_device {\n\tstruct resource *res;\n\tvoid *base;\n\tvoid *saved_vals;\n\tunsigned int size;\n\tstruct device *dev;\n\tstruct device_node *np;\n\tstruct pinctrl_dev *pctl;\n\tunsigned int flags;\n\tstruct property *missing_nr_pinctrl_cells;\n\tstruct pcs_soc_data socdata;\n\traw_spinlock_t lock;\n\tstruct mutex mutex;\n\tunsigned int width;\n\tunsigned int fmask;\n\tunsigned int fshift;\n\tunsigned int foff;\n\tunsigned int fmax;\n\tbool bits_per_mux;\n\tunsigned int bits_per_pin;\n\tstruct pcs_data pins;\n\tstruct list_head gpiofuncs;\n\tstruct list_head irqs;\n\tstruct irq_chip chip;\n\tstruct irq_domain *domain;\n\tstruct pinctrl_desc desc;\n\tunsigned int (*read)(void *);\n\tvoid (*write)(unsigned int, void *);\n};\n\nstruct pcs_func_vals {\n\tvoid *reg;\n\tunsigned int val;\n\tunsigned int mask;\n};\n\nstruct pcs_function {\n\tconst char *name;\n\tstruct pcs_func_vals *vals;\n\tunsigned int nvals;\n\tstruct pcs_conf_vals *conf;\n\tint nconfs;\n\tstruct list_head node;\n};\n\nstruct pcs_gpiofunc_range {\n\tunsigned int offset;\n\tunsigned int npins;\n\tunsigned int gpiofunc;\n\tstruct list_head node;\n};\n\nstruct pcs_interrupt {\n\tvoid *reg;\n\tirq_hw_number_t hwirq;\n\tunsigned int irq;\n\tstruct list_head node;\n};\n\nstruct pcs_pdata {\n\tint irq;\n\tvoid (*rearm)(void);\n};\n\nstruct pdc_pin_region {\n\tu32 pin_base;\n\tu32 parent_base;\n\tu32 cnt;\n};\n\nstruct pde_opener {\n\tstruct list_head lh;\n\tstruct file *file;\n\tbool closing;\n\tstruct completion *c;\n};\n\nstruct pdev_list_entry {\n\tstruct platform_device *pdev;\n\tstruct list_head node;\n};\n\nstruct pdiv_map {\n\tu8 pdiv;\n\tu8 hw_val;\n};\n\nstruct pending_reservation {\n\tstruct rb_node rb_node;\n\text4_lblk_t lclu;\n};\n\nstruct per_cpu_nodestat {\n\ts8 stat_threshold;\n\ts8 vm_node_stat_diff[48];\n};\n\nstruct per_cpu_pages {\n\tspinlock_t lock;\n\tint count;\n\tint high;\n\tint high_min;\n\tint high_max;\n\tint batch;\n\tu8 flags;\n\tu8 alloc_factor;\n\tu8 expire;\n\tshort int free_count;\n\tstruct list_head lists[14];\n};\n\nstruct per_cpu_zonestat {\n\ts8 vm_stat_diff[10];\n\ts8 stat_threshold;\n\tlong unsigned int vm_numa_event[6];\n};\n\nstruct per_user_data {\n\tstruct mutex bind_mutex;\n\tstruct rb_root evtchns;\n\tunsigned int nr_evtchns;\n\tunsigned int ring_size;\n\tevtchn_port_t *ring;\n\tunsigned int ring_cons;\n\tunsigned int ring_prod;\n\tunsigned int ring_overflow;\n\tstruct mutex ring_cons_mutex;\n\tspinlock_t ring_prod_lock;\n\twait_queue_head_t evtchn_wait;\n\tstruct fasync_struct *evtchn_async_queue;\n\tconst char *name;\n\tdomid_t restrict_domid;\n};\n\nstruct percpu_cluster {\n\tlocal_lock_t lock;\n\tunsigned int next[10];\n};\n\nstruct percpu_free_defer {\n\tstruct callback_head rcu;\n\tvoid *ptr;\n};\n\ntypedef void percpu_ref_func_t(struct percpu_ref *);\n\nstruct percpu_ref_data {\n\tatomic_long_t count;\n\tpercpu_ref_func_t *release;\n\tpercpu_ref_func_t *confirm_switch;\n\tbool force_atomic: 1;\n\tbool allow_reinit: 1;\n\tstruct callback_head rcu;\n\tstruct percpu_ref *ref;\n};\n\nstruct perf_addr_filter {\n\tstruct list_head entry;\n\tstruct path path;\n\tlong unsigned int offset;\n\tlong unsigned int size;\n\tenum perf_addr_filter_action_t action;\n};\n\nstruct perf_addr_filter_range {\n\tlong unsigned int start;\n\tlong unsigned int size;\n};\n\nstruct perf_addr_filters_head {\n\tstruct list_head list;\n\traw_spinlock_t lock;\n\tunsigned int nr_file_filters;\n};\n\nstruct perf_event_header {\n\t__u32 type;\n\t__u16 misc;\n\t__u16 size;\n};\n\nstruct perf_aux_event {\n\tstruct perf_event_header header;\n\tu64 hw_id;\n};\n\nstruct perf_aux_event___2 {\n\tstruct perf_event_header header;\n\tu32 pid;\n\tu32 tid;\n};\n\nstruct perf_aux_event___3 {\n\tstruct perf_event_header header;\n\tu64 offset;\n\tu64 size;\n\tu64 flags;\n};\n\nstruct perf_bpf_event {\n\tstruct bpf_prog *prog;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu16 type;\n\t\tu16 flags;\n\t\tu32 id;\n\t\tu8 tag[8];\n\t} event_id;\n};\n\nstruct perf_branch_entry {\n\t__u64 from;\n\t__u64 to;\n\t__u64 mispred: 1;\n\t__u64 predicted: 1;\n\t__u64 in_tx: 1;\n\t__u64 abort: 1;\n\t__u64 cycles: 16;\n\t__u64 type: 4;\n\t__u64 spec: 2;\n\t__u64 new_type: 4;\n\t__u64 priv: 3;\n\t__u64 reserved: 31;\n};\n\nstruct perf_branch_stack {\n\t__u64 nr;\n\t__u64 hw_idx;\n\tstruct perf_branch_entry entries[0];\n};\n\nstruct perf_event_mmap_page;\n\nstruct perf_buffer {\n\trefcount_t refcount;\n\tstruct callback_head callback_head;\n\tint nr_pages;\n\tint overwrite;\n\tint paused;\n\tatomic_t poll;\n\tlocal_t head;\n\tunsigned int nest;\n\tlocal_t events;\n\tlocal_t wakeup;\n\tlocal_t lost;\n\tlong int watermark;\n\tlong int aux_watermark;\n\tspinlock_t event_lock;\n\tstruct list_head event_list;\n\tatomic_t mmap_count;\n\tlong unsigned int mmap_locked;\n\tstruct user_struct *mmap_user;\n\tstruct mutex aux_mutex;\n\tlong int aux_head;\n\tunsigned int aux_nest;\n\tlong int aux_wakeup;\n\tlong unsigned int aux_pgoff;\n\tint aux_nr_pages;\n\tint aux_overwrite;\n\tatomic_t aux_mmap_count;\n\tlong unsigned int aux_mmap_locked;\n\tvoid (*free_aux)(void *);\n\trefcount_t aux_refcount;\n\tint aux_in_sampling;\n\tint aux_in_pause_resume;\n\tvoid **aux_pages;\n\tvoid *aux_priv;\n\tstruct perf_event_mmap_page *user_page;\n\tvoid *data_pages[0];\n};\n\nstruct perf_callchain_entry {\n\t__u64 nr;\n\t__u64 ip[0];\n};\n\nstruct perf_callchain_entry_ctx {\n\tstruct perf_callchain_entry *entry;\n\tu32 max_stack;\n\tu32 nr;\n\tshort int contexts;\n\tbool contexts_maxed;\n};\n\nstruct perf_cgroup_info;\n\nstruct perf_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct perf_cgroup_info *info;\n};\n\nstruct perf_cgroup_event {\n\tchar *path;\n\tint path_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 id;\n\t\tchar path[0];\n\t} event_id;\n};\n\nstruct perf_cgroup_info {\n\tu64 time;\n\tu64 timestamp;\n\tu64 timeoffset;\n\tint active;\n};\n\nstruct perf_comm_event {\n\tstruct task_struct *task;\n\tchar *comm;\n\tint comm_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t} event_id;\n};\n\nstruct perf_event_groups {\n\tstruct rb_root tree;\n\tu64 index;\n};\n\nstruct perf_event_context {\n\traw_spinlock_t lock;\n\tstruct mutex mutex;\n\tstruct list_head pmu_ctx_list;\n\tstruct perf_event_groups pinned_groups;\n\tstruct perf_event_groups flexible_groups;\n\tstruct list_head event_list;\n\tint nr_events;\n\tint nr_user;\n\tint is_active;\n\tint nr_task_data;\n\tint nr_stat;\n\tint nr_freq;\n\tint rotate_disable;\n\trefcount_t refcount;\n\tstruct task_struct *task;\n\tu64 time;\n\tu64 timestamp;\n\tu64 timeoffset;\n\tstruct perf_event_context *parent_ctx;\n\tu64 parent_gen;\n\tu64 generation;\n\tint pin_count;\n\tint nr_cgroups;\n\tstruct callback_head callback_head;\n\tlocal_t nr_no_switch_fast;\n};\n\nstruct perf_cpu_context {\n\tstruct perf_event_context ctx;\n\tstruct perf_event_context *task_ctx;\n\tint online;\n\tstruct perf_cgroup *cgrp;\n\tint heap_size;\n\tstruct perf_event **heap;\n\tstruct perf_event *heap_default[2];\n};\n\nstruct perf_event_pmu_context {\n\tstruct pmu *pmu;\n\tstruct perf_event_context *ctx;\n\tstruct list_head pmu_ctx_entry;\n\tstruct list_head pinned_active;\n\tstruct list_head flexible_active;\n\tunsigned int embedded: 1;\n\tunsigned int nr_events;\n\tunsigned int nr_cgroups;\n\tunsigned int nr_freq;\n\tatomic_t refcount;\n\tstruct callback_head callback_head;\n\tvoid *task_ctx_data;\n\tint rotate_necessary;\n};\n\nstruct perf_cpu_pmu_context {\n\tstruct perf_event_pmu_context epc;\n\tstruct perf_event_pmu_context *task_epc;\n\tstruct list_head sched_cb_entry;\n\tint sched_cb_usage;\n\tint active_oncpu;\n\tint exclusive;\n\traw_spinlock_t hrtimer_lock;\n\tstruct hrtimer hrtimer;\n\tktime_t hrtimer_interval;\n\tunsigned int hrtimer_active;\n};\n\nstruct scmi_perf_domain_info {\n\tchar name[64];\n\tbool set_perf;\n};\n\nstruct scmi_opp {\n\tu32 perf;\n\tu32 power;\n\tu32 trans_latency_us;\n\tu32 indicative_freq;\n\tu32 level_index;\n\tstruct hlist_node hash;\n};\n\nstruct scmi_fc_info;\n\nstruct perf_dom_info {\n\tu32 id;\n\tbool set_limits;\n\tbool perf_limit_notify;\n\tbool perf_level_notify;\n\tbool perf_fastchannels;\n\tbool level_indexing_mode;\n\tu32 opp_count;\n\tu32 rate_limit_us;\n\tu32 sustained_freq_khz;\n\tu32 sustained_perf_level;\n\tlong unsigned int mult_factor;\n\tstruct scmi_perf_domain_info info;\n\tstruct scmi_opp opp[32];\n\tstruct scmi_fc_info *fc_info;\n\tstruct xarray opps_by_idx;\n\tstruct xarray opps_by_lvl;\n\tstruct hlist_head opps_by_freq[32];\n};\n\nstruct perf_domain {\n\tstruct em_perf_domain *em_pd;\n\tstruct perf_domain *next;\n\tstruct callback_head rcu;\n};\n\nstruct perf_event_attr {\n\t__u32 type;\n\t__u32 size;\n\t__u64 config;\n\tunion {\n\t\t__u64 sample_period;\n\t\t__u64 sample_freq;\n\t};\n\t__u64 sample_type;\n\t__u64 read_format;\n\t__u64 disabled: 1;\n\t__u64 inherit: 1;\n\t__u64 pinned: 1;\n\t__u64 exclusive: 1;\n\t__u64 exclude_user: 1;\n\t__u64 exclude_kernel: 1;\n\t__u64 exclude_hv: 1;\n\t__u64 exclude_idle: 1;\n\t__u64 mmap: 1;\n\t__u64 comm: 1;\n\t__u64 freq: 1;\n\t__u64 inherit_stat: 1;\n\t__u64 enable_on_exec: 1;\n\t__u64 task: 1;\n\t__u64 watermark: 1;\n\t__u64 precise_ip: 2;\n\t__u64 mmap_data: 1;\n\t__u64 sample_id_all: 1;\n\t__u64 exclude_host: 1;\n\t__u64 exclude_guest: 1;\n\t__u64 exclude_callchain_kernel: 1;\n\t__u64 exclude_callchain_user: 1;\n\t__u64 mmap2: 1;\n\t__u64 comm_exec: 1;\n\t__u64 use_clockid: 1;\n\t__u64 context_switch: 1;\n\t__u64 write_backward: 1;\n\t__u64 namespaces: 1;\n\t__u64 ksymbol: 1;\n\t__u64 bpf_event: 1;\n\t__u64 aux_output: 1;\n\t__u64 cgroup: 1;\n\t__u64 text_poke: 1;\n\t__u64 build_id: 1;\n\t__u64 inherit_thread: 1;\n\t__u64 remove_on_exec: 1;\n\t__u64 sigtrap: 1;\n\t__u64 __reserved_1: 26;\n\tunion {\n\t\t__u32 wakeup_events;\n\t\t__u32 wakeup_watermark;\n\t};\n\t__u32 bp_type;\n\tunion {\n\t\t__u64 bp_addr;\n\t\t__u64 kprobe_func;\n\t\t__u64 uprobe_path;\n\t\t__u64 config1;\n\t};\n\tunion {\n\t\t__u64 bp_len;\n\t\t__u64 kprobe_addr;\n\t\t__u64 probe_offset;\n\t\t__u64 config2;\n\t};\n\t__u64 branch_sample_type;\n\t__u64 sample_regs_user;\n\t__u32 sample_stack_user;\n\t__s32 clockid;\n\t__u64 sample_regs_intr;\n\t__u32 aux_watermark;\n\t__u16 sample_max_stack;\n\t__u16 __reserved_2;\n\t__u32 aux_sample_size;\n\tunion {\n\t\t__u32 aux_action;\n\t\tstruct {\n\t\t\t__u32 aux_start_paused: 1;\n\t\t\t__u32 aux_pause: 1;\n\t\t\t__u32 aux_resume: 1;\n\t\t\t__u32 __reserved_3: 29;\n\t\t};\n\t};\n\t__u64 sig_data;\n\t__u64 config3;\n};\n\ntypedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *);\n\nstruct perf_event {\n\tstruct list_head event_entry;\n\tstruct list_head sibling_list;\n\tstruct list_head active_list;\n\tstruct rb_node group_node;\n\tu64 group_index;\n\tstruct list_head migrate_entry;\n\tstruct hlist_node hlist_entry;\n\tstruct list_head active_entry;\n\tint nr_siblings;\n\tint event_caps;\n\tint group_caps;\n\tunsigned int group_generation;\n\tstruct perf_event *group_leader;\n\tstruct pmu *pmu;\n\tvoid *pmu_private;\n\tenum perf_event_state state;\n\tunsigned int attach_state;\n\tlocal64_t count;\n\tatomic64_t child_count;\n\tu64 total_time_enabled;\n\tu64 total_time_running;\n\tu64 tstamp;\n\tstruct perf_event_attr attr;\n\tu16 header_size;\n\tu16 id_header_size;\n\tu16 read_size;\n\tstruct hw_perf_event hw;\n\tstruct perf_event_context *ctx;\n\tstruct perf_event_pmu_context *pmu_ctx;\n\tatomic_long_t refcount;\n\tatomic64_t child_total_time_enabled;\n\tatomic64_t child_total_time_running;\n\tstruct mutex child_mutex;\n\tstruct list_head child_list;\n\tstruct perf_event *parent;\n\tint oncpu;\n\tint cpu;\n\tstruct list_head owner_entry;\n\tstruct task_struct *owner;\n\tstruct mutex mmap_mutex;\n\tatomic_t mmap_count;\n\tstruct perf_buffer *rb;\n\tstruct list_head rb_entry;\n\tlong unsigned int rcu_batches;\n\tint rcu_pending;\n\twait_queue_head_t waitq;\n\tstruct fasync_struct *fasync;\n\tunsigned int pending_wakeup;\n\tunsigned int pending_kill;\n\tunsigned int pending_disable;\n\tlong unsigned int pending_addr;\n\tstruct irq_work pending_irq;\n\tstruct irq_work pending_disable_irq;\n\tstruct callback_head pending_task;\n\tunsigned int pending_work;\n\tstruct rcuwait pending_work_wait;\n\tatomic_t event_limit;\n\tstruct perf_addr_filters_head addr_filters;\n\tstruct perf_addr_filter_range *addr_filter_ranges;\n\tlong unsigned int addr_filters_gen;\n\tstruct perf_event *aux_event;\n\tvoid (*destroy)(struct perf_event *);\n\tstruct callback_head callback_head;\n\tstruct pid_namespace *ns;\n\tu64 id;\n\tatomic64_t lost_samples;\n\tu64 (*clock)(void);\n\tperf_overflow_handler_t overflow_handler;\n\tvoid *overflow_handler_context;\n\tstruct bpf_prog *prog;\n\tu64 bpf_cookie;\n\tstruct trace_event_call *tp_event;\n\tstruct event_filter *filter;\n\tstruct perf_cgroup *cgrp;\n\tvoid *security;\n\tstruct list_head sb_list;\n\t__u32 orig_type;\n};\n\nstruct perf_event_min_heap {\n\tsize_t nr;\n\tsize_t size;\n\tstruct perf_event **data;\n\tstruct perf_event *preallocated[0];\n};\n\nstruct perf_event_mmap_page {\n\t__u32 version;\n\t__u32 compat_version;\n\t__u32 lock;\n\t__u32 index;\n\t__s64 offset;\n\t__u64 time_enabled;\n\t__u64 time_running;\n\tunion {\n\t\t__u64 capabilities;\n\t\tstruct {\n\t\t\t__u64 cap_bit0: 1;\n\t\t\t__u64 cap_bit0_is_deprecated: 1;\n\t\t\t__u64 cap_user_rdpmc: 1;\n\t\t\t__u64 cap_user_time: 1;\n\t\t\t__u64 cap_user_time_zero: 1;\n\t\t\t__u64 cap_user_time_short: 1;\n\t\t\t__u64 cap_____res: 58;\n\t\t};\n\t};\n\t__u16 pmc_width;\n\t__u16 time_shift;\n\t__u32 time_mult;\n\t__u64 time_offset;\n\t__u64 time_zero;\n\t__u32 size;\n\t__u32 __reserved_1;\n\t__u64 time_cycles;\n\t__u64 time_mask;\n\t__u8 __reserved[928];\n\t__u64 data_head;\n\t__u64 data_tail;\n\t__u64 data_offset;\n\t__u64 data_size;\n\t__u64 aux_head;\n\t__u64 aux_tail;\n\t__u64 aux_offset;\n\t__u64 aux_size;\n};\n\nstruct perf_event_query_bpf {\n\t__u32 ids_len;\n\t__u32 prog_cnt;\n\t__u32 ids[0];\n};\n\nstruct perf_guest_info_callbacks {\n\tunsigned int (*state)(void);\n\tlong unsigned int (*get_ip)(void);\n\tunsigned int (*handle_intel_pt_intr)(void);\n};\n\nstruct perf_ksymbol_event {\n\tconst char *name;\n\tint name_len;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 addr;\n\t\tu32 len;\n\t\tu16 ksym_type;\n\t\tu16 flags;\n\t} event_id;\n};\n\nstruct perf_mmap_event {\n\tstruct vm_area_struct *vma;\n\tconst char *file_name;\n\tint file_size;\n\tint maj;\n\tint min;\n\tu64 ino;\n\tu64 ino_generation;\n\tu32 prot;\n\tu32 flags;\n\tu8 build_id[20];\n\tu32 build_id_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t\tu64 start;\n\t\tu64 len;\n\t\tu64 pgoff;\n\t} event_id;\n};\n\nstruct perf_ns_link_info {\n\t__u64 dev;\n\t__u64 ino;\n};\n\nstruct perf_namespaces_event {\n\tstruct task_struct *task;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t\tu64 nr_namespaces;\n\t\tstruct perf_ns_link_info link_info[7];\n\t} event_id;\n};\n\nstruct perf_output_handle {\n\tstruct perf_event *event;\n\tstruct perf_buffer *rb;\n\tlong unsigned int wakeup;\n\tlong unsigned int size;\n\tu64 aux_flags;\n\tunion {\n\t\tvoid *addr;\n\t\tlong unsigned int head;\n\t};\n\tint page;\n};\n\nstruct perf_pmu_events_attr {\n\tstruct device_attribute attr;\n\tu64 id;\n\tconst char *event_str;\n};\n\ntypedef long unsigned int (*perf_copy_f)(void *, const void *, long unsigned int, long unsigned int);\n\nstruct perf_raw_frag {\n\tunion {\n\t\tstruct perf_raw_frag *next;\n\t\tlong unsigned int pad;\n\t};\n\tperf_copy_f copy;\n\tvoid *data;\n\tu32 size;\n} __attribute__((packed));\n\nstruct perf_raw_record {\n\tstruct perf_raw_frag frag;\n\tu32 size;\n};\n\nstruct perf_read_data {\n\tstruct perf_event *event;\n\tbool group;\n\tint ret;\n};\n\nstruct perf_read_event {\n\tstruct perf_event_header header;\n\tu32 pid;\n\tu32 tid;\n};\n\nstruct perf_switch_event {\n\tstruct task_struct *task;\n\tstruct task_struct *next_prev;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 next_prev_pid;\n\t\tu32 next_prev_tid;\n\t} event_id;\n};\n\nstruct perf_task_event {\n\tstruct task_struct *task;\n\tstruct perf_event_context *task_ctx;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 ppid;\n\t\tu32 tid;\n\t\tu32 ptid;\n\t\tu64 time;\n\t} event_id;\n};\n\nstruct perf_text_poke_event {\n\tconst void *old_bytes;\n\tconst void *new_bytes;\n\tsize_t pad;\n\tu16 old_len;\n\tu16 new_len;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 addr;\n\t} event_id;\n};\n\nstruct pericom8250 {\n\tvoid *virt;\n\tunsigned int nr;\n\tint line[0];\n};\n\nstruct vfio_pci_core_device;\n\nstruct perm_bits {\n\tu8 *virt;\n\tu8 *write;\n\tint (*readfn)(struct vfio_pci_core_device *, int, int, struct perm_bits *, int, __le32 *);\n\tint (*writefn)(struct vfio_pci_core_device *, int, int, struct perm_bits *, int, __le32);\n};\n\nstruct pernet_operations {\n\tstruct list_head list;\n\tint (*init)(struct net *);\n\tvoid (*pre_exit)(struct net *);\n\tvoid (*exit)(struct net *);\n\tvoid (*exit_batch)(struct list_head *);\n\tvoid (*exit_batch_rtnl)(struct list_head *, struct list_head *);\n\tunsigned int * const id;\n\tconst size_t size;\n};\n\nstruct pf8x00_chip {\n\tstruct regmap *regmap;\n\tstruct device *dev;\n};\n\nstruct pf8x00_regulator_data {\n\tstruct regulator_desc desc;\n\tunsigned int suspend_enable_reg;\n\tunsigned int suspend_enable_mask;\n\tunsigned int suspend_voltage_reg;\n\tunsigned int suspend_voltage_cache;\n};\n\nstruct pf_desc {\n\tu32 pseudoflavor;\n\tu32 qop;\n\tu32 service;\n\tchar *name;\n\tchar *auth_domain_name;\n\tstruct auth_domain *domain;\n\tbool datatouch;\n};\n\nstruct skb_array {\n\tstruct ptr_ring ring;\n};\n\nstruct pfifo_fast_priv {\n\tstruct skb_array q[3];\n};\n\nstruct pfuze_regulator {\n\tstruct regulator_desc desc;\n\tunsigned char stby_reg;\n\tunsigned char stby_mask;\n\tbool sw_reg;\n};\n\nstruct pfuze_chip {\n\tint chip_id;\n\tint flags;\n\tstruct regmap *regmap;\n\tstruct device *dev;\n\tstruct pfuze_regulator regulator_descs[16];\n\tstruct regulator_dev *regulators[16];\n\tconst struct pfuze_regulator *pfuze_regulators;\n};\n\nstruct zone {\n\tlong unsigned int _watermark[4];\n\tlong unsigned int watermark_boost;\n\tlong unsigned int nr_reserved_highatomic;\n\tlong unsigned int nr_free_highatomic;\n\tlong int lowmem_reserve[4];\n\tint node;\n\tstruct pglist_data *zone_pgdat;\n\tstruct per_cpu_pages *per_cpu_pageset;\n\tstruct per_cpu_zonestat *per_cpu_zonestats;\n\tint pageset_high_min;\n\tint pageset_high_max;\n\tint pageset_batch;\n\tlong unsigned int zone_start_pfn;\n\tatomic_long_t managed_pages;\n\tlong unsigned int spanned_pages;\n\tlong unsigned int present_pages;\n\tlong unsigned int present_early_pages;\n\tlong unsigned int cma_pages;\n\tconst char *name;\n\tlong unsigned int nr_isolate_pageblock;\n\tseqlock_t span_seqlock;\n\tint initialized;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct free_area free_area[11];\n\tlong unsigned int flags;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tlong unsigned int percpu_drift_mark;\n\tlong unsigned int compact_cached_free_pfn;\n\tlong unsigned int compact_cached_migrate_pfn[2];\n\tlong unsigned int compact_init_migrate_pfn;\n\tlong unsigned int compact_init_free_pfn;\n\tunsigned int compact_considered;\n\tunsigned int compact_defer_shift;\n\tint compact_order_failed;\n\tbool compact_blockskip_flush;\n\tbool contiguous;\n\tlong: 0;\n\tstruct cacheline_padding _pad3_;\n\tatomic_long_t vm_stat[10];\n\tatomic_long_t vm_numa_event[6];\n};\n\nstruct zoneref {\n\tstruct zone *zone;\n\tint zone_idx;\n};\n\nstruct zonelist {\n\tstruct zoneref _zonerefs[65];\n};\n\nstruct pglist_data {\n\tstruct zone node_zones[4];\n\tstruct zonelist node_zonelists[2];\n\tint nr_zones;\n\tspinlock_t node_size_lock;\n\tlong unsigned int node_start_pfn;\n\tlong unsigned int node_present_pages;\n\tlong unsigned int node_spanned_pages;\n\tint node_id;\n\twait_queue_head_t kswapd_wait;\n\twait_queue_head_t pfmemalloc_wait;\n\twait_queue_head_t reclaim_wait[4];\n\tatomic_t nr_writeback_throttled;\n\tlong unsigned int nr_reclaim_start;\n\tstruct mutex kswapd_lock;\n\tstruct task_struct *kswapd;\n\tint kswapd_order;\n\tenum zone_type kswapd_highest_zoneidx;\n\tint kswapd_failures;\n\tint kcompactd_max_order;\n\tenum zone_type kcompactd_highest_zoneidx;\n\twait_queue_head_t kcompactd_wait;\n\tstruct task_struct *kcompactd;\n\tbool proactive_compact_trigger;\n\tlong unsigned int totalreserve_pages;\n\tlong unsigned int min_unmapped_pages;\n\tlong unsigned int min_slab_pages;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct deferred_split deferred_split_queue;\n\tunsigned int nbp_rl_start;\n\tlong unsigned int nbp_rl_nr_cand;\n\tunsigned int nbp_threshold;\n\tunsigned int nbp_th_start;\n\tlong unsigned int nbp_th_nr_cand;\n\tstruct lruvec __lruvec;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tstruct per_cpu_nodestat *per_cpu_nodestats;\n\tatomic_long_t vm_stat[48];\n\tstruct memory_tier *memtier;\n\tstruct memory_failure_stats mf_stats;\n\tlong: 64;\n};\n\nstruct pgv {\n\tchar *buffer;\n};\n\nstruct phc_vclocks_reply_data {\n\tstruct ethnl_reply_data base;\n\tint num;\n\tint *index;\n};\n\nstruct phy_attrs {\n\tu32 bus_width;\n\tu32 max_link_rate;\n\tenum phy_mode mode;\n};\n\nstruct phy {\n\tstruct device dev;\n\tint id;\n\tconst struct phy_ops *ops;\n\tstruct mutex mutex;\n\tint init_count;\n\tint power_count;\n\tstruct phy_attrs attrs;\n\tstruct regulator *pwr;\n\tstruct dentry *debugfs;\n};\n\nstruct phy_configure_opts_mipi_dphy {\n\tunsigned int clk_miss;\n\tunsigned int clk_post;\n\tunsigned int clk_pre;\n\tunsigned int clk_prepare;\n\tunsigned int clk_settle;\n\tunsigned int clk_term_en;\n\tunsigned int clk_trail;\n\tunsigned int clk_zero;\n\tunsigned int d_term_en;\n\tunsigned int eot;\n\tunsigned int hs_exit;\n\tunsigned int hs_prepare;\n\tunsigned int hs_settle;\n\tunsigned int hs_skip;\n\tunsigned int hs_trail;\n\tunsigned int hs_zero;\n\tunsigned int init;\n\tunsigned int lpx;\n\tunsigned int ta_get;\n\tunsigned int ta_go;\n\tunsigned int ta_sure;\n\tunsigned int wakeup;\n\tlong unsigned int hs_clk_rate;\n\tlong unsigned int lp_clk_rate;\n\tunsigned char lanes;\n};\n\nstruct phy_axg_mipi_pcie_analog_priv {\n\tstruct phy *phy;\n\tstruct regmap *regmap;\n\tbool dsi_configured;\n\tbool dsi_enabled;\n\tbool powered;\n\tstruct phy_configure_opts_mipi_dphy config;\n};\n\nstruct phy_axg_pcie_priv {\n\tstruct phy *phy;\n\tstruct phy *analog;\n\tstruct regmap *regmap;\n\tstruct reset_control *reset;\n};\n\nstruct phy_c45_device_ids {\n\tu32 devices_in_package;\n\tu32 mmds_present;\n\tu32 device_ids[32];\n};\n\nstruct phy_configure_opts_dp {\n\tunsigned int link_rate;\n\tunsigned int lanes;\n\tunsigned int voltage[4];\n\tunsigned int pre[4];\n\tu8 ssc: 1;\n\tu8 set_rate: 1;\n\tu8 set_lanes: 1;\n\tu8 set_voltages: 1;\n};\n\nstruct phy_configure_opts_lvds {\n\tunsigned int bits_per_lane_and_dclk_cycle;\n\tlong unsigned int differential_clk_rate;\n\tunsigned int lanes;\n\tbool is_slave;\n};\n\nunion phy_configure_opts {\n\tstruct phy_configure_opts_mipi_dphy mipi_dphy;\n\tstruct phy_configure_opts_dp dp;\n\tstruct phy_configure_opts_lvds lvds;\n};\n\nstruct pse_control;\n\nstruct phy_driver;\n\nstruct phy_device {\n\tstruct mdio_device mdio;\n\tconst struct phy_driver *drv;\n\tstruct device_link *devlink;\n\tu32 phyindex;\n\tu32 phy_id;\n\tstruct phy_c45_device_ids c45_ids;\n\tunsigned int is_c45: 1;\n\tunsigned int is_internal: 1;\n\tunsigned int is_pseudo_fixed_link: 1;\n\tunsigned int is_gigabit_capable: 1;\n\tunsigned int has_fixups: 1;\n\tunsigned int suspended: 1;\n\tunsigned int suspended_by_mdio_bus: 1;\n\tunsigned int sysfs_links: 1;\n\tunsigned int loopback_enabled: 1;\n\tunsigned int downshifted_rate: 1;\n\tunsigned int is_on_sfp_module: 1;\n\tunsigned int mac_managed_pm: 1;\n\tunsigned int wol_enabled: 1;\n\tunsigned int autoneg: 1;\n\tunsigned int link: 1;\n\tunsigned int autoneg_complete: 1;\n\tunsigned int interrupts: 1;\n\tunsigned int irq_suspended: 1;\n\tunsigned int irq_rerun: 1;\n\tunsigned int default_timestamp: 1;\n\tint rate_matching;\n\tenum phy_state state;\n\tu32 dev_flags;\n\tphy_interface_t interface;\n\tlong unsigned int possible_interfaces[1];\n\tint speed;\n\tint duplex;\n\tint port;\n\tint pause;\n\tint asym_pause;\n\tu8 master_slave_get;\n\tu8 master_slave_set;\n\tu8 master_slave_state;\n\tlong unsigned int supported[2];\n\tlong unsigned int advertising[2];\n\tlong unsigned int lp_advertising[2];\n\tlong unsigned int adv_old[2];\n\tlong unsigned int supported_eee[2];\n\tlong unsigned int advertising_eee[2];\n\tlong unsigned int eee_broken_modes[2];\n\tbool enable_tx_lpi;\n\tbool eee_active;\n\tstruct eee_config eee_cfg;\n\tlong unsigned int host_interfaces[1];\n\tstruct list_head leds;\n\tint irq;\n\tvoid *priv;\n\tstruct phy_package_shared *shared;\n\tstruct sk_buff *skb;\n\tvoid *ehdr;\n\tstruct nlattr *nest;\n\tstruct delayed_work state_queue;\n\tstruct mutex lock;\n\tbool sfp_bus_attached;\n\tstruct sfp_bus *sfp_bus;\n\tstruct phylink *phylink;\n\tstruct net_device *attached_dev;\n\tstruct mii_timestamper *mii_ts;\n\tstruct pse_control *psec;\n\tu8 mdix;\n\tu8 mdix_ctrl;\n\tint pma_extable;\n\tunsigned int link_down_events;\n\tvoid (*phy_link_change)(struct phy_device *, bool);\n\tvoid (*adjust_link)(struct net_device *);\n};\n\nstruct phy_device_node {\n\tenum phy_upstream upstream_type;\n\tunion {\n\t\tstruct net_device *netdev;\n\t\tstruct phy_device *phydev;\n\t} upstream;\n\tstruct sfp_bus *parent_sfp_bus;\n\tstruct phy_device *phy;\n};\n\nstruct phy_devm {\n\tstruct usb_phy *phy;\n\tstruct notifier_block *nb;\n};\n\nstruct phy_driver {\n\tstruct mdio_driver_common mdiodrv;\n\tu32 phy_id;\n\tchar *name;\n\tu32 phy_id_mask;\n\tconst long unsigned int * const features;\n\tu32 flags;\n\tconst void *driver_data;\n\tint (*soft_reset)(struct phy_device *);\n\tint (*config_init)(struct phy_device *);\n\tint (*probe)(struct phy_device *);\n\tint (*get_features)(struct phy_device *);\n\tunsigned int (*inband_caps)(struct phy_device *, phy_interface_t);\n\tint (*config_inband)(struct phy_device *, unsigned int);\n\tint (*get_rate_matching)(struct phy_device *, phy_interface_t);\n\tint (*suspend)(struct phy_device *);\n\tint (*resume)(struct phy_device *);\n\tint (*config_aneg)(struct phy_device *);\n\tint (*aneg_done)(struct phy_device *);\n\tint (*read_status)(struct phy_device *);\n\tint (*config_intr)(struct phy_device *);\n\tirqreturn_t (*handle_interrupt)(struct phy_device *);\n\tvoid (*remove)(struct phy_device *);\n\tint (*match_phy_device)(struct phy_device *);\n\tint (*set_wol)(struct phy_device *, struct ethtool_wolinfo *);\n\tvoid (*get_wol)(struct phy_device *, struct ethtool_wolinfo *);\n\tvoid (*link_change_notify)(struct phy_device *);\n\tint (*read_mmd)(struct phy_device *, int, u16);\n\tint (*write_mmd)(struct phy_device *, int, u16, u16);\n\tint (*read_page)(struct phy_device *);\n\tint (*write_page)(struct phy_device *, int);\n\tint (*module_info)(struct phy_device *, struct ethtool_modinfo *);\n\tint (*module_eeprom)(struct phy_device *, struct ethtool_eeprom *, u8 *);\n\tint (*cable_test_start)(struct phy_device *);\n\tint (*cable_test_tdr_start)(struct phy_device *, const struct phy_tdr_config *);\n\tint (*cable_test_get_status)(struct phy_device *, bool *);\n\tvoid (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *);\n\tvoid (*get_link_stats)(struct phy_device *, struct ethtool_link_ext_stats *);\n\tint (*update_stats)(struct phy_device *);\n\tint (*get_sset_count)(struct phy_device *);\n\tvoid (*get_strings)(struct phy_device *, u8 *);\n\tvoid (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *);\n\tint (*get_tunable)(struct phy_device *, struct ethtool_tunable *, void *);\n\tint (*set_tunable)(struct phy_device *, struct ethtool_tunable *, const void *);\n\tint (*set_loopback)(struct phy_device *, bool);\n\tint (*get_sqi)(struct phy_device *);\n\tint (*get_sqi_max)(struct phy_device *);\n\tint (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *);\n\tint (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *);\n\tint (*get_plca_status)(struct phy_device *, struct phy_plca_status *);\n\tint (*led_brightness_set)(struct phy_device *, u8, enum led_brightness);\n\tint (*led_blink_set)(struct phy_device *, u8, long unsigned int *, long unsigned int *);\n\tint (*led_hw_is_supported)(struct phy_device *, u8, long unsigned int);\n\tint (*led_hw_control_set)(struct phy_device *, u8, long unsigned int);\n\tint (*led_hw_control_get)(struct phy_device *, u8, long unsigned int *);\n\tint (*led_polarity_set)(struct phy_device *, int, long unsigned int);\n};\n\nstruct phy_fixup {\n\tstruct list_head list;\n\tchar bus_id[64];\n\tu32 phy_uid;\n\tu32 phy_uid_mask;\n\tint (*run)(struct phy_device *);\n};\n\nstruct phy_g12a_mipi_dphy_analog_priv {\n\tstruct phy *phy;\n\tstruct regmap *regmap;\n\tstruct phy_configure_opts_mipi_dphy config;\n};\n\nstruct phy_g12a_usb3_pcie_priv {\n\tstruct regmap *regmap;\n\tstruct regmap *regmap_cr;\n\tstruct clk *clk_ref;\n\tstruct reset_control *reset;\n\tstruct phy *phy;\n\tunsigned int mode;\n};\n\nstruct phy_gmii_sel_priv;\n\nstruct phy_gmii_sel_phy_priv {\n\tstruct phy_gmii_sel_priv *priv;\n\tu32 id;\n\tstruct phy *if_phy;\n\tint rmii_clock_external;\n\tint phy_if_mode;\n\tstruct regmap_field *fields[3];\n};\n\nstruct phy_gmii_sel_soc_data;\n\nstruct phy_provider;\n\nstruct phy_gmii_sel_priv {\n\tstruct device *dev;\n\tconst struct phy_gmii_sel_soc_data *soc_data;\n\tstruct regmap *regmap;\n\tstruct phy_provider *phy_provider;\n\tstruct phy_gmii_sel_phy_priv *if_phys;\n\tu32 num_ports;\n\tu32 reg_offset;\n\tu32 qsgmii_main_ports;\n\tbool no_offset;\n};\n\nstruct reg_field {\n\tunsigned int reg;\n\tunsigned int lsb;\n\tunsigned int msb;\n\tunsigned int id_size;\n\tunsigned int id_offset;\n};\n\nstruct phy_gmii_sel_soc_data {\n\tu32 num_ports;\n\tu32 features;\n\tconst struct reg_field (*regfields)[3];\n\tbool use_of_data;\n\tu64 extra_modes;\n\tu32 num_qsgmii_main_ports;\n};\n\nstruct phy_led {\n\tstruct list_head list;\n\tstruct phy_device *phydev;\n\tstruct led_classdev led_cdev;\n\tu8 index;\n};\n\nstruct phy_link_topology {\n\tstruct xarray phys;\n\tu32 next_phy_index;\n};\n\nstruct phy_lookup {\n\tstruct list_head node;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct phy *phy;\n};\n\nstruct phy_meson8b_usb2_match_data {\n\tbool host_enable_aca;\n};\n\nstruct phy_meson8b_usb2_priv {\n\tstruct regmap *regmap;\n\tenum usb_dr_mode dr_mode;\n\tstruct clk *clk_usb_general;\n\tstruct clk *clk_usb;\n\tstruct reset_control *reset;\n\tconst struct phy_meson8b_usb2_match_data *match;\n};\n\nstruct phy_meson_axg_mipi_dphy_priv {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct clk *clk;\n\tstruct reset_control *reset;\n\tstruct phy *analog;\n\tstruct phy_configure_opts_mipi_dphy config;\n};\n\nstruct phy_meson_g12a_usb2_priv {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct clk *clk;\n\tstruct reset_control *reset;\n\tint soc_id;\n};\n\nstruct phy_meson_gxl_usb2_priv {\n\tstruct regmap *regmap;\n\tenum phy_mode mode;\n\tint is_enabled;\n\tstruct clk *clk;\n\tstruct reset_control *reset;\n};\n\nstruct phy_ops {\n\tint (*init)(struct phy *);\n\tint (*exit)(struct phy *);\n\tint (*power_on)(struct phy *);\n\tint (*power_off)(struct phy *);\n\tint (*set_mode)(struct phy *, enum phy_mode, int);\n\tint (*set_media)(struct phy *, enum phy_media);\n\tint (*set_speed)(struct phy *, int);\n\tint (*configure)(struct phy *, union phy_configure_opts *);\n\tint (*validate)(struct phy *, enum phy_mode, int, union phy_configure_opts *);\n\tint (*reset)(struct phy *);\n\tint (*calibrate)(struct phy *);\n\tint (*connect)(struct phy *, int);\n\tint (*disconnect)(struct phy *, int);\n\tvoid (*release)(struct phy *);\n\tstruct module *owner;\n};\n\nstruct phy_package_shared {\n\tu8 base_addr;\n\tstruct device_node *np;\n\trefcount_t refcnt;\n\tlong unsigned int flags;\n\tsize_t priv_size;\n\tvoid *priv;\n};\n\nstruct phy_plca_cfg {\n\tint version;\n\tint enabled;\n\tint node_id;\n\tint node_cnt;\n\tint to_tmr;\n\tint burst_cnt;\n\tint burst_tmr;\n};\n\nstruct phy_plca_status {\n\tbool pst;\n};\n\nstruct phy_provider {\n\tstruct device *dev;\n\tstruct device_node *children;\n\tstruct module *owner;\n\tstruct list_head list;\n\tstruct phy * (*of_xlate)(struct device *, const struct of_phandle_args *);\n};\n\nstruct phy_reg {\n\tu16 value;\n\tu32 addr;\n};\n\nstruct phy_req_info {\n\tstruct ethnl_req_info base;\n\tstruct phy_device_node *pdn;\n};\n\nstruct phy_setting {\n\tu32 speed;\n\tu8 duplex;\n\tu8 bit;\n};\n\nstruct phy_tdr_config {\n\tu32 first;\n\tu32 last;\n\tu32 step;\n\ts8 pair;\n};\n\nstruct phylib_stubs {\n\tint (*hwtstamp_get)(struct phy_device *, struct kernel_hwtstamp_config *);\n\tint (*hwtstamp_set)(struct phy_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n\tvoid (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *);\n\tvoid (*get_link_ext_stats)(struct phy_device *, struct ethtool_link_ext_stats *);\n};\n\nstruct phylink_link_state {\n\tlong unsigned int advertising[2];\n\tlong unsigned int lp_advertising[2];\n\tphy_interface_t interface;\n\tint speed;\n\tint duplex;\n\tint pause;\n\tint rate_matching;\n\tunsigned int link: 1;\n\tunsigned int an_complete: 1;\n};\n\nstruct phylink {\n\tstruct net_device *netdev;\n\tconst struct phylink_mac_ops *mac_ops;\n\tstruct phylink_config *config;\n\tstruct phylink_pcs *pcs;\n\tstruct device *dev;\n\tunsigned int old_link_state: 1;\n\tlong unsigned int phylink_disable_state;\n\tstruct phy_device *phydev;\n\tphy_interface_t link_interface;\n\tu8 cfg_link_an_mode;\n\tu8 req_link_an_mode;\n\tu8 act_link_an_mode;\n\tu8 link_port;\n\tlong unsigned int supported[2];\n\tlong unsigned int supported_lpi[2];\n\tstruct phylink_link_state link_config;\n\tphy_interface_t cur_interface;\n\tstruct gpio_desc *link_gpio;\n\tunsigned int link_irq;\n\tstruct timer_list link_poll;\n\tvoid (*get_fixed_state)(struct net_device *, struct phylink_link_state *);\n\tstruct mutex state_mutex;\n\tstruct phylink_link_state phy_state;\n\tunsigned int phy_ib_mode;\n\tstruct work_struct resolve;\n\tunsigned int pcs_neg_mode;\n\tunsigned int pcs_state;\n\tbool link_failed;\n\tbool mac_supports_eee_ops;\n\tbool mac_supports_eee;\n\tbool phy_enable_tx_lpi;\n\tbool mac_enable_tx_lpi;\n\tbool mac_tx_clk_stop;\n\tu32 mac_tx_lpi_timer;\n\tstruct sfp_bus *sfp_bus;\n\tbool sfp_may_have_phy;\n\tlong unsigned int sfp_interfaces[1];\n\tlong unsigned int sfp_support[2];\n\tu8 sfp_port;\n\tstruct eee_config eee_cfg;\n};\n\nstruct phylink_mac_ops {\n\tlong unsigned int (*mac_get_caps)(struct phylink_config *, phy_interface_t);\n\tstruct phylink_pcs * (*mac_select_pcs)(struct phylink_config *, phy_interface_t);\n\tint (*mac_prepare)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_config)(struct phylink_config *, unsigned int, const struct phylink_link_state *);\n\tint (*mac_finish)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_link_down)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_link_up)(struct phylink_config *, struct phy_device *, unsigned int, phy_interface_t, int, int, bool, bool);\n\tvoid (*mac_disable_tx_lpi)(struct phylink_config *);\n\tint (*mac_enable_tx_lpi)(struct phylink_config *, u32, bool);\n};\n\nstruct phylink_pcs_ops {\n\tint (*pcs_validate)(struct phylink_pcs *, long unsigned int *, const struct phylink_link_state *);\n\tunsigned int (*pcs_inband_caps)(struct phylink_pcs *, phy_interface_t);\n\tint (*pcs_enable)(struct phylink_pcs *);\n\tvoid (*pcs_disable)(struct phylink_pcs *);\n\tvoid (*pcs_pre_config)(struct phylink_pcs *, phy_interface_t);\n\tint (*pcs_post_config)(struct phylink_pcs *, phy_interface_t);\n\tvoid (*pcs_get_state)(struct phylink_pcs *, unsigned int, struct phylink_link_state *);\n\tint (*pcs_config)(struct phylink_pcs *, unsigned int, phy_interface_t, const long unsigned int *, bool);\n\tvoid (*pcs_an_restart)(struct phylink_pcs *);\n\tvoid (*pcs_link_up)(struct phylink_pcs *, unsigned int, phy_interface_t, int, int);\n\tint (*pcs_pre_init)(struct phylink_pcs *);\n};\n\nstruct phys_vec {\n\tphys_addr_t paddr;\n\tu32 len;\n};\n\nstruct physdev_dbgp_op {\n\tuint8_t op;\n\tuint8_t bus;\n\tunion {\n\t\tstruct physdev_pci_device pci;\n\t} u;\n};\n\nstruct physdev_eoi {\n\tuint32_t irq;\n};\n\nstruct physdev_get_free_pirq {\n\tint type;\n\tuint32_t pirq;\n};\n\nstruct physdev_irq {\n\tuint32_t irq;\n\tuint32_t vector;\n};\n\nstruct physdev_irq_status_query {\n\tuint32_t irq;\n\tuint32_t flags;\n};\n\nstruct physdev_manage_pci {\n\tuint8_t bus;\n\tuint8_t devfn;\n};\n\nstruct physdev_manage_pci_ext {\n\tuint8_t bus;\n\tuint8_t devfn;\n\tunsigned int is_extfn;\n\tunsigned int is_virtfn;\n\tstruct {\n\t\tuint8_t bus;\n\t\tuint8_t devfn;\n\t} physfn;\n};\n\nstruct physdev_map_pirq {\n\tdomid_t domid;\n\tint type;\n\tint index;\n\tint pirq;\n\tint bus;\n\tint devfn;\n\tint entry_nr;\n\tuint64_t table_base;\n};\n\nstruct physdev_pci_device_add {\n\tuint16_t seg;\n\tuint8_t bus;\n\tuint8_t devfn;\n\tuint32_t flags;\n\tstruct {\n\t\tuint8_t bus;\n\t\tuint8_t devfn;\n\t} physfn;\n\tuint32_t optarr[0];\n};\n\nstruct physdev_unmap_pirq {\n\tdomid_t domid;\n\tint pirq;\n};\n\nstruct physmap_flash_data {\n\tunsigned int width;\n\tint (*init)(struct platform_device *);\n\tvoid (*exit)(struct platform_device *);\n\tvoid (*set_vpp)(struct platform_device *, int);\n\tunsigned int nr_parts;\n\tunsigned int pfow_base;\n\tchar *probe_type;\n\tstruct mtd_partition *parts;\n\tconst char * const *part_probe_types;\n};\n\nstruct physmap_flash_info {\n\tunsigned int nmaps;\n\tstruct mtd_info **mtds;\n\tstruct mtd_info *cmtd;\n\tstruct map_info *maps;\n\tspinlock_t vpp_lock;\n\tint vpp_refcnt;\n\tconst char *probe_type;\n\tconst char * const *part_types;\n\tunsigned int nparts;\n\tconst struct mtd_partition *parts;\n\tstruct gpio_descs *gpios;\n\tunsigned int gpio_values;\n\tunsigned int win_order;\n};\n\nstruct upid {\n\tint nr;\n\tstruct pid_namespace *ns;\n};\n\nstruct pid {\n\trefcount_t count;\n\tunsigned int level;\n\tspinlock_t lock;\n\tstruct dentry *stashed;\n\tu64 ino;\n\tstruct rb_node pidfs_node;\n\tstruct hlist_head tasks[4];\n\tstruct hlist_head inodes;\n\twait_queue_head_t wait_pidfd;\n\tstruct callback_head rcu;\n\tstruct upid numbers[0];\n};\n\nunion proc_op {\n\tint (*proc_get_link)(struct dentry *, struct path *);\n\tint (*proc_show)(struct seq_file *, struct pid_namespace *, struct pid *, struct task_struct *);\n\tint lsmid;\n};\n\nstruct pid_entry {\n\tconst char *name;\n\tunsigned int len;\n\tumode_t mode;\n\tconst struct inode_operations *iop;\n\tconst struct file_operations *fop;\n\tunion proc_op op;\n};\n\nstruct pid_namespace {\n\tstruct idr idr;\n\tstruct callback_head rcu;\n\tunsigned int pid_allocated;\n\tstruct task_struct *child_reaper;\n\tstruct kmem_cache *pid_cachep;\n\tunsigned int level;\n\tint pid_max;\n\tstruct pid_namespace *parent;\n\tstruct fs_pin *bacct;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tint reboot;\n\tstruct ns_common ns;\n\tstruct work_struct work;\n\tstruct ctl_table_set set;\n\tstruct ctl_table_header *sysctls;\n\tint memfd_noexec_scope;\n};\n\nstruct pidfd_info {\n\t__u64 mask;\n\t__u64 cgroupid;\n\t__u32 pid;\n\t__u32 tgid;\n\t__u32 ppid;\n\t__u32 ruid;\n\t__u32 rgid;\n\t__u32 euid;\n\t__u32 egid;\n\t__u32 suid;\n\t__u32 sgid;\n\t__u32 fsuid;\n\t__u32 fsgid;\n\t__u32 spare0[1];\n};\n\nstruct pids_cgroup {\n\tstruct cgroup_subsys_state css;\n\tatomic64_t counter;\n\tatomic64_t limit;\n\tint64_t watermark;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tatomic64_t events[2];\n\tatomic64_t events_local[2];\n};\n\nstruct pin_config {\n\tconst char *property;\n\tenum pincfg_type param;\n};\n\nstruct pin_config_item {\n\tconst enum pin_config_param param;\n\tconst char * const display;\n\tconst char * const format;\n\tbool has_arg;\n};\n\nstruct pinctrl_setting_mux;\n\nstruct pin_desc {\n\tstruct pinctrl_dev *pctldev;\n\tconst char *name;\n\tbool dynamic_name;\n\tvoid *drv_data;\n\tunsigned int mux_usecount;\n\tconst char *mux_owner;\n\tconst struct pinctrl_setting_mux *mux_setting;\n\tconst char *gpio_owner;\n\tstruct mutex mux_lock;\n};\n\nstruct pinconf_generic_params {\n\tconst char * const property;\n\tenum pin_config_param param;\n\tu32 default_value;\n};\n\nstruct pinconf_ops {\n\tbool is_generic;\n\tint (*pin_config_get)(struct pinctrl_dev *, unsigned int, long unsigned int *);\n\tint (*pin_config_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int);\n\tint (*pin_config_group_get)(struct pinctrl_dev *, unsigned int, long unsigned int *);\n\tint (*pin_config_group_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int);\n\tvoid (*pin_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tvoid (*pin_config_group_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tvoid (*pin_config_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, long unsigned int);\n};\n\nstruct pinctrl {\n\tstruct list_head node;\n\tstruct device *dev;\n\tstruct list_head states;\n\tstruct pinctrl_state *state;\n\tstruct list_head dt_maps;\n\tstruct kref users;\n};\n\nstruct pinctrl_dev {\n\tstruct list_head node;\n\tstruct pinctrl_desc *desc;\n\tstruct xarray pin_desc_tree;\n\tstruct xarray pin_group_tree;\n\tunsigned int num_groups;\n\tstruct xarray pin_function_tree;\n\tunsigned int num_functions;\n\tstruct list_head gpio_ranges;\n\tstruct device *dev;\n\tstruct module *owner;\n\tvoid *driver_data;\n\tstruct pinctrl *p;\n\tstruct pinctrl_state *hog_default;\n\tstruct pinctrl_state *hog_sleep;\n\tstruct mutex mutex;\n\tstruct dentry *device_root;\n};\n\nstruct pinctrl_map;\n\nstruct pinctrl_dt_map {\n\tstruct list_head node;\n\tstruct pinctrl_dev *pctldev;\n\tstruct pinctrl_map *map;\n\tunsigned int num_maps;\n};\n\nstruct pinctrl_map_mux {\n\tconst char *group;\n\tconst char *function;\n};\n\nstruct pinctrl_map_configs {\n\tconst char *group_or_pin;\n\tlong unsigned int *configs;\n\tunsigned int num_configs;\n};\n\nstruct pinctrl_map {\n\tconst char *dev_name;\n\tconst char *name;\n\tenum pinctrl_map_type type;\n\tconst char *ctrl_dev_name;\n\tunion {\n\t\tstruct pinctrl_map_mux mux;\n\t\tstruct pinctrl_map_configs configs;\n\t} data;\n};\n\nstruct pinctrl_maps {\n\tstruct list_head node;\n\tconst struct pinctrl_map *maps;\n\tunsigned int num_maps;\n};\n\nstruct pinctrl_ops {\n\tint (*get_groups_count)(struct pinctrl_dev *);\n\tconst char * (*get_group_name)(struct pinctrl_dev *, unsigned int);\n\tint (*get_group_pins)(struct pinctrl_dev *, unsigned int, const unsigned int **, unsigned int *);\n\tvoid (*pin_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tint (*dt_node_to_map)(struct pinctrl_dev *, struct device_node *, struct pinctrl_map **, unsigned int *);\n\tvoid (*dt_free_map)(struct pinctrl_dev *, struct pinctrl_map *, unsigned int);\n};\n\nstruct pinctrl_setting_mux {\n\tunsigned int group;\n\tunsigned int func;\n};\n\nstruct pinctrl_setting_configs {\n\tunsigned int group_or_pin;\n\tlong unsigned int *configs;\n\tunsigned int num_configs;\n};\n\nstruct pinctrl_setting {\n\tstruct list_head node;\n\tenum pinctrl_map_type type;\n\tstruct pinctrl_dev *pctldev;\n\tconst char *dev_name;\n\tunion {\n\t\tstruct pinctrl_setting_mux mux;\n\t\tstruct pinctrl_setting_configs configs;\n\t} data;\n};\n\nstruct pinctrl_state {\n\tstruct list_head node;\n\tconst char *name;\n\tstruct list_head settings;\n};\n\nstruct ping_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n\tsa_family_t family;\n};\n\nstruct ping_table {\n\tstruct hlist_head hash[64];\n\tspinlock_t lock;\n};\n\nstruct pingfakehdr {\n\tstruct icmphdr icmph;\n\tstruct msghdr *msg;\n\tsa_family_t family;\n\t__wsum wcheck;\n};\n\nstruct pingv6_ops {\n\tint (*ipv6_recv_error)(struct sock *, struct msghdr *, int, int *);\n\tvoid (*ip6_datagram_recv_common_ctl)(struct sock *, struct msghdr *, struct sk_buff *);\n\tvoid (*ip6_datagram_recv_specific_ctl)(struct sock *, struct msghdr *, struct sk_buff *);\n\tint (*icmpv6_err_convert)(u8, u8, int *);\n\tvoid (*ipv6_icmp_error)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\tint (*ipv6_chk_addr)(struct net *, const struct in6_addr *, const struct net_device *, int);\n};\n\nstruct pinmux_bias_reg {\n\tu32 puen;\n\tu32 pud;\n\tconst u16 pins[32];\n};\n\nstruct pinmux_cfg_reg {\n\tu32 reg;\n\tu8 reg_width;\n\tu8 field_width;\n\tconst u16 *enum_ids;\n\tconst s8 *var_field_width;\n};\n\nstruct pinmux_data_reg {\n\tu32 reg;\n\tu8 reg_width;\n\tconst u16 *enum_ids;\n};\n\nstruct pinmux_drive_reg_field {\n\tu16 pin;\n\tu8 offset;\n\tu8 size;\n};\n\nstruct pinmux_drive_reg {\n\tu32 reg;\n\tconst struct pinmux_drive_reg_field fields[10];\n};\n\nstruct pinmux_ioctrl_reg {\n\tu32 reg;\n};\n\nstruct pinmux_ops {\n\tint (*request)(struct pinctrl_dev *, unsigned int);\n\tint (*free)(struct pinctrl_dev *, unsigned int);\n\tint (*get_functions_count)(struct pinctrl_dev *);\n\tconst char * (*get_function_name)(struct pinctrl_dev *, unsigned int);\n\tint (*get_function_groups)(struct pinctrl_dev *, unsigned int, const char * const **, unsigned int *);\n\tint (*set_mux)(struct pinctrl_dev *, unsigned int, unsigned int);\n\tint (*gpio_request_enable)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int);\n\tvoid (*gpio_disable_free)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int);\n\tint (*gpio_set_direction)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int, bool);\n\tbool strict;\n};\n\nstruct pinmux_range {\n\tu16 begin;\n\tu16 end;\n\tu16 force;\n};\n\nstruct pipe_buffer;\n\nstruct pipe_buf_operations {\n\tint (*confirm)(struct pipe_inode_info *, struct pipe_buffer *);\n\tvoid (*release)(struct pipe_inode_info *, struct pipe_buffer *);\n\tbool (*try_steal)(struct pipe_inode_info *, struct pipe_buffer *);\n\tbool (*get)(struct pipe_inode_info *, struct pipe_buffer *);\n};\n\nstruct pipe_buffer {\n\tstruct page *page;\n\tunsigned int offset;\n\tunsigned int len;\n\tconst struct pipe_buf_operations *ops;\n\tunsigned int flags;\n\tlong unsigned int private;\n};\n\nunion pipe_index {\n\tlong unsigned int head_tail;\n\tstruct {\n\t\tpipe_index_t head;\n\t\tpipe_index_t tail;\n\t};\n};\n\nstruct pipe_inode_info {\n\tstruct mutex mutex;\n\twait_queue_head_t rd_wait;\n\twait_queue_head_t wr_wait;\n\tunion {\n\t\tlong unsigned int head_tail;\n\t\tstruct {\n\t\t\tpipe_index_t head;\n\t\t\tpipe_index_t tail;\n\t\t};\n\t};\n\tunsigned int max_usage;\n\tunsigned int ring_size;\n\tunsigned int nr_accounted;\n\tunsigned int readers;\n\tunsigned int writers;\n\tunsigned int files;\n\tunsigned int r_counter;\n\tunsigned int w_counter;\n\tbool poll_usage;\n\tstruct page *tmp_page;\n\tstruct fasync_struct *fasync_readers;\n\tstruct fasync_struct *fasync_writers;\n\tstruct pipe_buffer *bufs;\n\tstruct user_struct *user;\n};\n\nstruct pipe_wait {\n\tstruct trace_iterator *iter;\n\tint wait_index;\n};\n\nstruct pkcs1pad_ctx {\n\tstruct crypto_akcipher *child;\n\tunsigned int key_size;\n};\n\nstruct pkcs1pad_inst_ctx {\n\tstruct crypto_akcipher_spawn spawn;\n};\n\nstruct pkcs1pad_request {\n\tstruct scatterlist in_sg[2];\n\tstruct scatterlist out_sg[1];\n\tuint8_t *in_buf;\n\tuint8_t *out_buf;\n\tstruct akcipher_request child_req;\n};\n\nstruct x509_certificate;\n\nstruct pkcs7_signed_info;\n\nstruct pkcs7_message {\n\tstruct x509_certificate *certs;\n\tstruct x509_certificate *crl;\n\tstruct pkcs7_signed_info *signed_infos;\n\tu8 version;\n\tbool have_authattrs;\n\tenum OID data_type;\n\tsize_t data_len;\n\tsize_t data_hdrlen;\n\tconst void *data;\n};\n\nstruct pkcs7_parse_context {\n\tstruct pkcs7_message *msg;\n\tstruct pkcs7_signed_info *sinfo;\n\tstruct pkcs7_signed_info **ppsinfo;\n\tstruct x509_certificate *certs;\n\tstruct x509_certificate **ppcerts;\n\tlong unsigned int data;\n\tenum OID last_oid;\n\tunsigned int x509_index;\n\tunsigned int sinfo_index;\n\tconst void *raw_serial;\n\tunsigned int raw_serial_size;\n\tunsigned int raw_issuer_size;\n\tconst void *raw_issuer;\n\tconst void *raw_skid;\n\tunsigned int raw_skid_size;\n\tbool expect_skid;\n};\n\nstruct pkcs7_signed_info {\n\tstruct pkcs7_signed_info *next;\n\tstruct x509_certificate *signer;\n\tunsigned int index;\n\tbool unsupported_crypto;\n\tbool blacklisted;\n\tconst void *msgdigest;\n\tunsigned int msgdigest_len;\n\tunsigned int authattrs_len;\n\tconst void *authattrs;\n\tlong unsigned int aa_set;\n\ttime64_t signing_time;\n\tstruct public_key_signature *sig;\n};\n\nstruct pkvm_hyp_vcpu {\n\tstruct kvm_vcpu vcpu;\n\tstruct kvm_vcpu *host_vcpu;\n\tstruct pkvm_hyp_vcpu **loaded_hyp_vcpu;\n};\n\nstruct pkvm_hyp_vm {\n\tstruct kvm kvm;\n\tstruct kvm *host_kvm;\n\tstruct kvm_pgtable pgt;\n\tstruct kvm_pgtable_mm_ops mm_ops;\n\tstruct hyp_pool pool;\n\thyp_spinlock_t lock;\n\tunsigned int nr_vcpus;\n\tstruct pkvm_hyp_vcpu *vcpus[0];\n};\n\nstruct pkvm_mapping {\n\tstruct rb_node node;\n\tu64 gfn;\n\tu64 pfn;\n};\n\nstruct pl011_dmabuf {\n\tdma_addr_t dma;\n\tsize_t len;\n\tchar *buf;\n};\n\nstruct pl011_dmarx_data {\n\tstruct dma_chan *chan;\n\tstruct completion complete;\n\tbool use_buf_b;\n\tstruct pl011_dmabuf dbuf_a;\n\tstruct pl011_dmabuf dbuf_b;\n\tdma_cookie_t cookie;\n\tbool running;\n\tstruct timer_list timer;\n\tunsigned int last_residue;\n\tlong unsigned int last_jiffies;\n\tbool auto_poll_rate;\n\tunsigned int poll_rate;\n\tunsigned int poll_timeout;\n};\n\nstruct pl011_dmatx_data {\n\tstruct dma_chan *chan;\n\tdma_addr_t dma;\n\tsize_t len;\n\tchar *buf;\n\tbool queued;\n};\n\nstruct vendor_data;\n\nstruct pl022_ssp_controller;\n\nstruct pl022 {\n\tstruct amba_device *adev;\n\tstruct vendor_data *vendor;\n\tresource_size_t phybase;\n\tvoid *virtbase;\n\tstruct clk *clk;\n\tstruct spi_controller *host;\n\tstruct pl022_ssp_controller *host_info;\n\tstruct spi_transfer *cur_transfer;\n\tstruct chip_data___3 *cur_chip;\n\tvoid *tx;\n\tvoid *tx_end;\n\tvoid *rx;\n\tvoid *rx_end;\n\tenum ssp_reading read;\n\tenum ssp_writing write;\n\tu32 exp_fifo_level;\n\tenum ssp_rx_level_trig rx_lev_trig;\n\tenum ssp_tx_level_trig tx_lev_trig;\n\tstruct dma_chan *dma_rx_channel;\n\tstruct dma_chan *dma_tx_channel;\n\tstruct sg_table sgt_rx;\n\tstruct sg_table sgt_tx;\n\tchar *dummypage;\n\tbool dma_running;\n\tint cur_cs;\n};\n\nstruct ssp_clock_params {\n\tu8 cpsdvsr;\n\tu8 scr;\n};\n\nstruct pl022_config_chip {\n\tenum ssp_interface iface;\n\tenum ssp_hierarchy hierarchy;\n\tbool slave_tx_disable;\n\tstruct ssp_clock_params clk_freq;\n\tenum ssp_mode com_mode;\n\tenum ssp_rx_level_trig rx_lev_trig;\n\tenum ssp_tx_level_trig tx_lev_trig;\n\tenum ssp_microwire_ctrl_len ctrl_len;\n\tenum ssp_microwire_wait_state wait_state;\n\tenum ssp_duplex duplex;\n\tenum ssp_clkdelay clkdelay;\n};\n\nstruct pl022_ssp_controller {\n\tu16 bus_id;\n\tu8 enable_dma: 1;\n\tdma_filter_fn dma_filter;\n\tvoid *dma_rx_param;\n\tvoid *dma_tx_param;\n\tint autosuspend_delay;\n\tbool rt;\n};\n\nstruct pl031_vendor_data;\n\nstruct pl031_local {\n\tstruct pl031_vendor_data *vendor;\n\tstruct rtc_device *rtc;\n\tvoid *base;\n};\n\nstruct rtc_time;\n\nstruct rtc_wkalrm;\n\nstruct rtc_param;\n\nstruct rtc_class_ops {\n\tint (*ioctl)(struct device *, unsigned int, long unsigned int);\n\tint (*read_time)(struct device *, struct rtc_time *);\n\tint (*set_time)(struct device *, struct rtc_time *);\n\tint (*read_alarm)(struct device *, struct rtc_wkalrm *);\n\tint (*set_alarm)(struct device *, struct rtc_wkalrm *);\n\tint (*proc)(struct device *, struct seq_file *);\n\tint (*alarm_irq_enable)(struct device *, unsigned int);\n\tint (*read_offset)(struct device *, long int *);\n\tint (*set_offset)(struct device *, long int);\n\tint (*param_get)(struct device *, struct rtc_param *);\n\tint (*param_set)(struct device *, struct rtc_param *);\n};\n\nstruct pl031_vendor_data {\n\tstruct rtc_class_ops ops;\n\tbool clockwatch;\n\tbool st_weekday;\n\tlong unsigned int irqflags;\n\ttime64_t range_min;\n\ttimeu64_t range_max;\n};\n\nstruct pl061_context_save_regs {\n\tu8 gpio_data;\n\tu8 gpio_dir;\n\tu8 gpio_is;\n\tu8 gpio_ibe;\n\tu8 gpio_iev;\n\tu8 gpio_ie;\n};\n\nstruct pl061 {\n\traw_spinlock_t lock;\n\tvoid *base;\n\tstruct gpio_chip gc;\n\tint parent_irq;\n\tstruct pl061_context_save_regs csave_regs;\n};\n\nstruct pl330_config {\n\tu32 periph_id;\n\tunsigned int mode;\n\tunsigned int data_bus_width: 10;\n\tunsigned int data_buf_dep: 11;\n\tunsigned int num_chan: 4;\n\tunsigned int num_peri: 6;\n\tu32 peri_ns;\n\tunsigned int num_events: 6;\n\tu32 irq_ns;\n};\n\nstruct pl330_dmac {\n\tstruct dma_device ddma;\n\tstruct list_head desc_pool;\n\tspinlock_t pool_lock;\n\tunsigned int mcbufsz;\n\tvoid *base;\n\tstruct pl330_config pcfg;\n\tspinlock_t lock;\n\tint events[32];\n\tdma_addr_t mcode_bus;\n\tvoid *mcode_cpu;\n\tstruct pl330_thread *channels;\n\tstruct pl330_thread *manager;\n\tstruct tasklet_struct tasks;\n\tstruct _pl330_tbd dmac_tbd;\n\tenum pl330_dmac_state state;\n\tstruct list_head req_done;\n\tunsigned int num_peripherals;\n\tstruct dma_pl330_chan *peripherals;\n\tint quirks;\n\tstruct reset_control *rstc;\n\tstruct reset_control *rstc_ocp;\n};\n\nstruct pl330_of_quirks {\n\tchar *quirk;\n\tint id;\n};\n\nstruct pl330_thread {\n\tu8 id;\n\tint ev;\n\tbool free;\n\tstruct pl330_dmac *dmac;\n\tstruct _pl330_req req[2];\n\tunsigned int lstenq;\n\tint req_running;\n};\n\nstruct plat_sci_port_ops;\n\nstruct plat_sci_port {\n\tunsigned int type;\n\tupf_t flags;\n\tunsigned int sampling_rate;\n\tunsigned int scscr;\n\tunsigned char regtype;\n\tstruct plat_sci_port_ops *ops;\n};\n\nstruct plat_sci_port_ops {\n\tvoid (*init_pins)(struct uart_port *, unsigned int);\n};\n\nstruct plat_sci_reg {\n\tu8 offset;\n\tu8 size;\n};\n\nstruct plat_serial8250_port {\n\tlong unsigned int iobase;\n\tvoid *membase;\n\tresource_size_t mapbase;\n\tresource_size_t mapsize;\n\tunsigned int uartclk;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tvoid *private_data;\n\tunsigned char regshift;\n\tunsigned char iotype;\n\tunsigned char hub6;\n\tunsigned char has_sysrq;\n\tunsigned int type;\n\tupf_t flags;\n\tu16 bugs;\n\tunsigned int (*serial_in)(struct uart_port *, int);\n\tvoid (*serial_out)(struct uart_port *, int, int);\n\tu32 (*dl_read)(struct uart_8250_port *);\n\tvoid (*dl_write)(struct uart_8250_port *, u32);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tint (*handle_irq)(struct uart_port *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tvoid (*handle_break)(struct uart_port *);\n};\n\nstruct platform_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct platform_device_info {\n\tstruct device *parent;\n\tstruct fwnode_handle *fwnode;\n\tbool of_node_reused;\n\tconst char *name;\n\tint id;\n\tconst struct resource *res;\n\tunsigned int num_res;\n\tconst void *data;\n\tsize_t size_data;\n\tu64 dma_mask;\n\tconst struct property_entry *properties;\n};\n\nstruct platform_driver {\n\tint (*probe)(struct platform_device *);\n\tvoid (*remove)(struct platform_device *);\n\tvoid (*shutdown)(struct platform_device *);\n\tint (*suspend)(struct platform_device *, pm_message_t);\n\tint (*resume)(struct platform_device *);\n\tstruct device_driver driver;\n\tconst struct platform_device_id *id_table;\n\tbool prevent_deferred_probe;\n\tbool driver_managed_dma;\n};\n\nstruct platform_hibernation_ops {\n\tint (*begin)(pm_message_t);\n\tvoid (*end)(void);\n\tint (*pre_snapshot)(void);\n\tvoid (*finish)(void);\n\tint (*prepare)(void);\n\tint (*enter)(void);\n\tvoid (*leave)(void);\n\tint (*pre_restore)(void);\n\tvoid (*restore_cleanup)(void);\n\tvoid (*recover)(void);\n};\n\nstruct platform_mhu_link {\n\tint irq;\n\tvoid *tx_reg;\n\tvoid *rx_reg;\n};\n\nstruct platform_mhu {\n\tvoid *base;\n\tstruct platform_mhu_link mlink[3];\n\tstruct mbox_chan chan[3];\n\tstruct mbox_controller mbox;\n};\n\nstruct platform_object {\n\tstruct platform_device pdev;\n\tchar name[0];\n};\n\nstruct platform_s2idle_ops {\n\tint (*begin)(void);\n\tint (*prepare)(void);\n\tint (*prepare_late)(void);\n\tvoid (*check)(void);\n\tbool (*wake)(void);\n\tvoid (*restore_early)(void);\n\tvoid (*restore)(void);\n\tvoid (*end)(void);\n};\n\nstruct platform_suspend_ops {\n\tint (*valid)(suspend_state_t);\n\tint (*begin)(suspend_state_t);\n\tint (*prepare)(void);\n\tint (*prepare_late)(void);\n\tint (*enter)(suspend_state_t);\n\tvoid (*wake)(void);\n\tvoid (*finish)(void);\n\tbool (*suspend_again)(void);\n\tvoid (*end)(void);\n\tvoid (*recover)(void);\n};\n\nstruct plca_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct phy_plca_cfg plca_cfg;\n\tstruct phy_plca_status plca_st;\n};\n\nstruct pll5_mux_hw_data {\n\tstruct clk_hw hw;\n\tu32 conf;\n\tlong unsigned int rate;\n\tstruct rzg2l_cpg_priv *priv;\n};\n\nstruct pll_clk {\n\tstruct rzv2h_cpg_priv *priv;\n\tvoid *base;\n\tstruct clk_hw hw;\n\tunsigned int conf;\n\tunsigned int type;\n};\n\nstruct pll_clk___2 {\n\tstruct clk_hw hw;\n\tunsigned int conf;\n\tunsigned int type;\n\tvoid *base;\n\tstruct rzg2l_cpg_priv *priv;\n};\n\nstruct pll_config {\n\tu16 l;\n\tu32 m;\n\tu32 n;\n\tu32 vco_val;\n\tu32 vco_mask;\n\tu32 pre_div_val;\n\tu32 pre_div_mask;\n\tu32 post_div_val;\n\tu32 post_div_mask;\n\tu32 mn_ena_mask;\n\tu32 main_output_mask;\n\tu32 aux_output_mask;\n};\n\nstruct pll_freq_tbl {\n\tlong unsigned int freq;\n\tu16 l;\n\tu16 m;\n\tu16 n;\n\tu32 ibits;\n};\n\nstruct pll_mult_range {\n\tunsigned int min;\n\tunsigned int max;\n};\n\nstruct pll_out_data {\n\tchar *div_name;\n\tchar *pll_out_name;\n\tu32 offset;\n\tint clk_id;\n\tu8 div_shift;\n\tu8 div_flags;\n\tu8 rst_shift;\n\tspinlock_t *lock;\n};\n\nstruct pll_params_table {\n\tunsigned int m;\n\tunsigned int n;\n};\n\nstruct pll_vco {\n\tlong unsigned int min_freq;\n\tlong unsigned int max_freq;\n\tu32 val;\n};\n\nstruct plt_entry {\n\t__le32 adrp;\n\t__le32 add;\n\t__le32 br;\n};\n\nstruct pltfm_imx_data {\n\tu32 scratchpad;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_100mhz;\n\tstruct pinctrl_state *pins_200mhz;\n\tconst struct esdhc_soc_data *socdata;\n\tstruct esdhc_platform_data boarddata;\n\tstruct clk *clk_ipg;\n\tstruct clk *clk_ahb;\n\tstruct clk *clk_per;\n\tunsigned int actual_clock;\n\tunsigned int init_card_type;\n\tenum {\n\t\tNO_CMD_PENDING = 0,\n\t\tMULTIBLK_IN_PROCESS = 1,\n\t\tWAIT_FOR_INT = 2,\n\t} multiblock_status;\n\tu32 is_ddr;\n\tstruct pm_qos_request pm_qos_req;\n};\n\nstruct pm8941_data {\n\tunsigned int pull_up_bit;\n\tunsigned int status_bit;\n\tbool supports_ps_hold_poff_config;\n\tbool supports_debounce_config;\n\tbool has_pon_pbs;\n\tconst char *name;\n\tconst char *phys;\n};\n\nstruct pm8941_pwrkey {\n\tstruct device *dev;\n\tint irq;\n\tu32 baseaddr;\n\tu32 pon_pbs_baseaddr;\n\tstruct regmap *regmap;\n\tstruct input_dev *input;\n\tunsigned int revision;\n\tunsigned int subtype;\n\tstruct notifier_block reboot_notifier;\n\tu32 code;\n\tu32 sw_debounce_time_us;\n\tktime_t sw_debounce_end_time;\n\tbool last_status;\n\tconst struct pm8941_data *data;\n};\n\nstruct pm_api_feature_data {\n\tu32 pm_api_id;\n\tint feature_status;\n\tstruct hlist_node hentry;\n};\n\nstruct pm_clk_notifier_block {\n\tstruct notifier_block nb;\n\tstruct dev_pm_domain *pm_domain;\n\tchar *con_ids[0];\n};\n\nstruct pm_clock_entry {\n\tstruct list_head node;\n\tchar *con_id;\n\tstruct clk *clk;\n\tenum pce_status status;\n\tbool enabled_when_prepared;\n};\n\nstruct pm_subsys_data {\n\tspinlock_t lock;\n\tunsigned int refcount;\n\tunsigned int clock_op_might_sleep;\n\tstruct mutex clock_mutex;\n\tstruct list_head clock_list;\n\tstruct pm_domain_data *domain_data;\n};\n\nstruct pm_vt_switch {\n\tstruct list_head head;\n\tstruct device *dev;\n\tbool required;\n};\n\nstruct pmc_clk {\n\tstruct clk_hw hw;\n\tlong unsigned int offs;\n\tu32 mux_shift;\n\tu32 force_en_shift;\n};\n\nstruct pmc_clk_gate {\n\tstruct clk_hw hw;\n\tlong unsigned int offs;\n\tu32 shift;\n};\n\nstruct pmc_clk_init_data {\n\tchar *name;\n\tconst char * const *parents;\n\tint num_parents;\n\tint clk_id;\n\tu8 mux_shift;\n\tu8 force_en_shift;\n};\n\nstruct spmi_pmic_arb_bus;\n\nstruct spmi_controller;\n\nstruct pmic_arb_ver_ops {\n\tconst char *ver_str;\n\tint (*get_core_resources)(struct platform_device *, void *);\n\tint (*init_apid)(struct spmi_pmic_arb_bus *, int);\n\tint (*ppid_to_apid)(struct spmi_pmic_arb_bus *, u16);\n\tint (*offset)(struct spmi_pmic_arb_bus *, u8, u16, enum pmic_arb_channel);\n\tu32 (*fmt_cmd)(u8, u8, u16, u8);\n\tint (*non_data_cmd)(struct spmi_controller *, u8, u8);\n\tvoid * (*owner_acc_status)(struct spmi_pmic_arb_bus *, u8, u16);\n\tvoid * (*acc_enable)(struct spmi_pmic_arb_bus *, u16);\n\tvoid * (*irq_status)(struct spmi_pmic_arb_bus *, u16);\n\tvoid * (*irq_clear)(struct spmi_pmic_arb_bus *, u16);\n\tu32 (*apid_map_offset)(u16);\n\tvoid * (*apid_owner)(struct spmi_pmic_arb_bus *, u16);\n};\n\nstruct pmic_gpio_pad {\n\tu16 base;\n\tbool is_enabled;\n\tbool out_value;\n\tbool have_buffer;\n\tbool output_enabled;\n\tbool input_enabled;\n\tbool analog_pass;\n\tbool lv_mv_type;\n\tunsigned int num_sources;\n\tunsigned int power_source;\n\tunsigned int buffer_type;\n\tunsigned int pullup;\n\tunsigned int strength;\n\tunsigned int function;\n\tunsigned int atest;\n\tunsigned int dtest_buffer;\n};\n\nstruct pmic_gpio_state {\n\tstruct device *dev;\n\tstruct regmap *map;\n\tstruct pinctrl_dev *ctrl;\n\tstruct gpio_chip chip;\n\tu8 usid;\n\tu8 pid_base;\n};\n\nstruct pmic_irq_data {\n\tunsigned int num_top;\n\tunsigned int num_pmic_irqs;\n\tshort unsigned int top_int_status_reg;\n\tbool *enable_hwirq;\n\tbool *cache_hwirq;\n\tconst struct irq_top_t *pmic_ints;\n};\n\nstruct pmic_mpp_pad {\n\tu16 base;\n\tbool is_enabled;\n\tbool out_value;\n\tbool output_enabled;\n\tbool input_enabled;\n\tbool paired;\n\tbool has_pullup;\n\tunsigned int num_sources;\n\tunsigned int power_source;\n\tunsigned int amux_input;\n\tunsigned int aout_level;\n\tunsigned int pullup;\n\tunsigned int function;\n\tunsigned int drive_strength;\n\tunsigned int dtest;\n};\n\nstruct pmic_mpp_state {\n\tstruct device *dev;\n\tstruct regmap *map;\n\tstruct pinctrl_dev *ctrl;\n\tstruct gpio_chip chip;\n};\n\nstruct pmic_wrapper_type;\n\nstruct pwrap_slv_type;\n\nstruct pmic_wrapper {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct regmap *regmap;\n\tconst struct pmic_wrapper_type *master;\n\tconst struct pwrap_slv_type *slave;\n\tstruct reset_control *rstc;\n\tstruct reset_control *rstc_bridge;\n\tvoid *bridge_base;\n};\n\nstruct pmic_wrapper_type {\n\tconst int *regs;\n\tenum pwrap_type type;\n\tu32 arb_en_all;\n\tu32 int_en_all;\n\tu32 int1_en_all;\n\tu32 spi_w;\n\tu32 wdt_src;\n\tu32 caps;\n\tint (*init_reg_clock)(struct pmic_wrapper *);\n\tint (*init_soc_specific)(struct pmic_wrapper *);\n};\n\nstruct pmu_event_list {\n\traw_spinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct pmu_hw_events {\n\tstruct perf_event *events[33];\n\tlong unsigned int used_mask[1];\n\tstruct arm_pmu *percpu_pmu;\n\tint irq;\n};\n\nstruct pmu_irq_ops {\n\tvoid (*enable_pmuirq)(unsigned int);\n\tvoid (*disable_pmuirq)(unsigned int);\n\tvoid (*free_pmuirq)(unsigned int, int, void *);\n};\n\ntypedef int (*armpmu_init_fn)(struct arm_pmu *);\n\nstruct pmu_probe_info {\n\tunsigned int cpuid;\n\tunsigned int mask;\n\tarmpmu_init_fn init;\n};\n\nstruct pneigh_entry {\n\tstruct pneigh_entry *next;\n\tpossible_net_t net;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu32 flags;\n\tu8 protocol;\n\tu32 key[0];\n};\n\nstruct pnfs_commit_bucket {\n\tstruct list_head written;\n\tstruct list_head committing;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct nfs_writeverf direct_verf;\n};\n\nstruct pnfs_commit_array {\n\tstruct list_head cinfo_list;\n\tstruct list_head lseg_list;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct callback_head rcu;\n\trefcount_t refcount;\n\tunsigned int nbuckets;\n\tstruct pnfs_commit_bucket buckets[0];\n};\n\nstruct pnfs_commit_ops {\n\tvoid (*setup_ds_info)(struct pnfs_ds_commit_info *, struct pnfs_layout_segment *);\n\tvoid (*release_ds_info)(struct pnfs_ds_commit_info *, struct inode *);\n\tint (*commit_pagelist)(struct inode *, struct list_head *, int, struct nfs_commit_info *);\n\tvoid (*mark_request_commit)(struct nfs_page *, struct pnfs_layout_segment *, struct nfs_commit_info *, u32);\n\tvoid (*clear_request_commit)(struct nfs_page *, struct nfs_commit_info *);\n\tint (*scan_commit_lists)(struct nfs_commit_info *, int);\n\tvoid (*recover_commit_reqs)(struct list_head *, struct nfs_commit_info *);\n};\n\nstruct pnfs_device {\n\tstruct nfs4_deviceid dev_id;\n\tunsigned int layout_type;\n\tunsigned int mincount;\n\tunsigned int maxcount;\n\tstruct page **pages;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tunsigned char nocache: 1;\n};\n\nstruct pnfs_layoutdriver_type {\n\tstruct list_head pnfs_tblid;\n\tconst u32 id;\n\tconst char *name;\n\tstruct module *owner;\n\tunsigned int flags;\n\tunsigned int max_layoutget_response;\n\tint (*set_layoutdriver)(struct nfs_server *, const struct nfs_fh *);\n\tint (*clear_layoutdriver)(struct nfs_server *);\n\tstruct pnfs_layout_hdr * (*alloc_layout_hdr)(struct inode *, gfp_t);\n\tvoid (*free_layout_hdr)(struct pnfs_layout_hdr *);\n\tstruct pnfs_layout_segment * (*alloc_lseg)(struct pnfs_layout_hdr *, struct nfs4_layoutget_res *, gfp_t);\n\tvoid (*free_lseg)(struct pnfs_layout_segment *);\n\tvoid (*add_lseg)(struct pnfs_layout_hdr *, struct pnfs_layout_segment *, struct list_head *);\n\tvoid (*return_range)(struct pnfs_layout_hdr *, struct pnfs_layout_range *);\n\tconst struct nfs_pageio_ops *pg_read_ops;\n\tconst struct nfs_pageio_ops *pg_write_ops;\n\tstruct pnfs_ds_commit_info * (*get_ds_info)(struct inode *);\n\tint (*sync)(struct inode *, bool);\n\tenum pnfs_try_status (*read_pagelist)(struct nfs_pgio_header *);\n\tenum pnfs_try_status (*write_pagelist)(struct nfs_pgio_header *, int);\n\tvoid (*free_deviceid_node)(struct nfs4_deviceid_node *);\n\tstruct nfs4_deviceid_node * (*alloc_deviceid_node)(struct nfs_server *, struct pnfs_device *, gfp_t);\n\tint (*prepare_layoutreturn)(struct nfs4_layoutreturn_args *);\n\tvoid (*cleanup_layoutcommit)(struct nfs4_layoutcommit_data *);\n\tint (*prepare_layoutcommit)(struct nfs4_layoutcommit_args *);\n\tint (*prepare_layoutstats)(struct nfs42_layoutstat_args *);\n\tvoid (*cancel_io)(struct pnfs_layout_segment *);\n};\n\nstruct pnp_protocol;\n\nstruct pnp_id;\n\nstruct pnp_card {\n\tstruct device dev;\n\tunsigned char number;\n\tstruct list_head global_list;\n\tstruct list_head protocol_list;\n\tstruct list_head devices;\n\tstruct pnp_protocol *protocol;\n\tstruct pnp_id *id;\n\tchar name[50];\n\tunsigned char pnpver;\n\tunsigned char productver;\n\tunsigned int serial;\n\tunsigned char checksum;\n\tstruct proc_dir_entry *procdir;\n};\n\nstruct pnp_card_device_id {\n\t__u8 id[8];\n\tkernel_ulong_t driver_data;\n\tstruct {\n\t\t__u8 id[8];\n\t} devs[8];\n};\n\nstruct pnp_device_id;\n\nstruct pnp_driver {\n\tconst char *name;\n\tconst struct pnp_device_id *id_table;\n\tunsigned int flags;\n\tint (*probe)(struct pnp_dev *, const struct pnp_device_id *);\n\tvoid (*remove)(struct pnp_dev *);\n\tvoid (*shutdown)(struct pnp_dev *);\n\tint (*suspend)(struct pnp_dev *, pm_message_t);\n\tint (*resume)(struct pnp_dev *);\n\tstruct device_driver driver;\n};\n\nstruct pnp_card_link;\n\nstruct pnp_card_driver {\n\tstruct list_head global_list;\n\tchar *name;\n\tconst struct pnp_card_device_id *id_table;\n\tunsigned int flags;\n\tint (*probe)(struct pnp_card_link *, const struct pnp_card_device_id *);\n\tvoid (*remove)(struct pnp_card_link *);\n\tint (*suspend)(struct pnp_card_link *, pm_message_t);\n\tint (*resume)(struct pnp_card_link *);\n\tstruct pnp_driver link;\n};\n\nstruct pnp_card_link {\n\tstruct pnp_card *card;\n\tstruct pnp_card_driver *driver;\n\tvoid *driver_data;\n\tpm_message_t pm_state;\n};\n\nstruct pnp_dev {\n\tstruct device dev;\n\tu64 dma_mask;\n\tunsigned int number;\n\tint status;\n\tstruct list_head global_list;\n\tstruct list_head protocol_list;\n\tstruct list_head card_list;\n\tstruct list_head rdev_list;\n\tstruct pnp_protocol *protocol;\n\tstruct pnp_card *card;\n\tstruct pnp_driver *driver;\n\tstruct pnp_card_link *card_link;\n\tstruct pnp_id *id;\n\tint active;\n\tint capabilities;\n\tunsigned int num_dependent_sets;\n\tstruct list_head resources;\n\tstruct list_head options;\n\tchar name[50];\n\tint flags;\n\tstruct proc_dir_entry *procent;\n\tvoid *data;\n};\n\nstruct pnp_device_id {\n\t__u8 id[8];\n\tkernel_ulong_t driver_data;\n};\n\nstruct pnp_dma {\n\tunsigned char map;\n\tunsigned char flags;\n};\n\nstruct pnp_fixup {\n\tchar id[7];\n\tvoid (*quirk_function)(struct pnp_dev *);\n};\n\nstruct pnp_id {\n\tchar id[8];\n\tstruct pnp_id *next;\n};\n\nstruct pnp_info_buffer {\n\tchar *buffer;\n\tchar *curr;\n\tlong unsigned int size;\n\tlong unsigned int len;\n\tint stop;\n\tint error;\n};\n\ntypedef struct pnp_info_buffer pnp_info_buffer_t;\n\nstruct pnp_irq {\n\tpnp_irq_mask_t map;\n\tunsigned char flags;\n};\n\nstruct pnp_mem {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_size_t size;\n\tunsigned char flags;\n};\n\nstruct pnp_port {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_size_t size;\n\tunsigned char flags;\n};\n\nstruct pnp_option {\n\tstruct list_head list;\n\tunsigned int flags;\n\tlong unsigned int type;\n\tunion {\n\t\tstruct pnp_port port;\n\t\tstruct pnp_irq irq;\n\t\tstruct pnp_dma dma;\n\t\tstruct pnp_mem mem;\n\t} u;\n};\n\nstruct pnp_protocol {\n\tstruct list_head protocol_list;\n\tchar *name;\n\tint (*get)(struct pnp_dev *);\n\tint (*set)(struct pnp_dev *);\n\tint (*disable)(struct pnp_dev *);\n\tbool (*can_wakeup)(struct pnp_dev *);\n\tint (*suspend)(struct pnp_dev *, pm_message_t);\n\tint (*resume)(struct pnp_dev *);\n\tunsigned char number;\n\tstruct device dev;\n\tstruct list_head cards;\n\tstruct list_head devices;\n};\n\nstruct pnp_resource {\n\tstruct list_head list;\n\tstruct resource res;\n};\n\nstruct poe_context {\n\tstruct _aarch64_ctx head;\n\t__u64 por_el0;\n};\n\nstruct pollfd {\n\tint fd;\n\tshort int events;\n\tshort int revents;\n};\n\nstruct poll_list {\n\tstruct poll_list *next;\n\tunsigned int len;\n\tstruct pollfd entries[0];\n};\n\nstruct poll_table_entry {\n\tstruct file *filp;\n\t__poll_t key;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *wait_address;\n};\n\nstruct poll_table_page {\n\tstruct poll_table_page *next;\n\tstruct poll_table_entry *entry;\n\tstruct poll_table_entry entries[0];\n};\n\nstruct poll_wqueues {\n\tpoll_table pt;\n\tstruct poll_table_page *table;\n\tstruct task_struct *polling_task;\n\tint triggered;\n\tint error;\n\tint inline_index;\n\tstruct poll_table_entry inline_entries[9];\n};\n\nstruct worker_pool;\n\nstruct pool_workqueue {\n\tstruct worker_pool *pool;\n\tstruct workqueue_struct *wq;\n\tint work_color;\n\tint flush_color;\n\tint refcnt;\n\tint nr_in_flight[16];\n\tbool plugged;\n\tint nr_active;\n\tstruct list_head inactive_works;\n\tstruct list_head pending_node;\n\tstruct list_head pwqs_node;\n\tstruct list_head mayday_node;\n\tu64 stats[8];\n\tstruct kthread_work release_work;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct port_stats {\n\tlong unsigned int bytes_sent;\n\tlong unsigned int bytes_received;\n\tlong unsigned int bytes_discarded;\n};\n\nstruct ports_device;\n\nstruct port_buffer;\n\nstruct virtqueue;\n\nstruct port {\n\tstruct list_head list;\n\tstruct ports_device *portdev;\n\tstruct port_buffer *inbuf;\n\tspinlock_t inbuf_lock;\n\tspinlock_t outvq_lock;\n\tstruct virtqueue *in_vq;\n\tstruct virtqueue *out_vq;\n\tstruct dentry *debugfs_file;\n\tstruct port_stats stats;\n\tstruct console___2 cons;\n\tstruct cdev *cdev;\n\tstruct device *dev;\n\tstruct kref kref;\n\twait_queue_head_t waitqueue;\n\tchar *name;\n\tstruct fasync_struct *async_queue;\n\tu32 id;\n\tbool outvq_full;\n\tbool host_connected;\n\tbool guest_connected;\n};\n\nstruct port_buffer {\n\tchar *buf;\n\tsize_t size;\n\tsize_t len;\n\tsize_t offset;\n\tdma_addr_t dma;\n\tstruct device *dev;\n\tstruct list_head list;\n\tunsigned int sgpages;\n\tstruct scatterlist sg[0];\n};\n\nstruct port_data {\n\tint port_number;\n\tchar name[12];\n\tstruct power_supply *psy;\n\tstruct power_supply_desc psy_desc;\n\tint psy_status;\n\tint battery_percentage;\n\tint charge_type;\n\tstruct charger_data *charger;\n\tlong unsigned int last_update;\n};\n\nstruct port_identity {\n\tstruct clock_identity clock_identity;\n\t__be16 port_number;\n};\n\nstruct portdrv_service_data {\n\tstruct pcie_port_service_driver *drv;\n\tstruct device *dev;\n\tu32 service;\n};\n\nstruct virtio_console_control {\n\t__virtio32 id;\n\t__virtio16 event;\n\t__virtio16 value;\n};\n\nstruct virtio_device;\n\nstruct ports_device {\n\tstruct list_head list;\n\tstruct work_struct control_work;\n\tstruct work_struct config_work;\n\tstruct list_head ports;\n\tspinlock_t ports_lock;\n\tspinlock_t c_ivq_lock;\n\tspinlock_t c_ovq_lock;\n\tu32 max_nr_ports;\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *c_ivq;\n\tstruct virtqueue *c_ovq;\n\tstruct virtio_console_control cpkt;\n\tstruct virtqueue **in_vqs;\n\tstruct virtqueue **out_vqs;\n\tint chr_major;\n};\n\nstruct ports_driver_data {\n\tstruct dentry *debugfs_dir;\n\tstruct list_head portdevs;\n\tstruct list_head consoles;\n};\n\nstruct posix_acl_entry {\n\tshort int e_tag;\n\tshort unsigned int e_perm;\n\tunion {\n\t\tkuid_t e_uid;\n\t\tkgid_t e_gid;\n\t};\n};\n\nstruct posix_acl {\n\trefcount_t a_refcount;\n\tunsigned int a_count;\n\tstruct callback_head a_rcu;\n\tstruct posix_acl_entry a_entries[0];\n};\n\nstruct posix_acl_xattr_entry {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n};\n\nstruct posix_acl_xattr_header {\n\t__le32 a_version;\n};\n\nstruct posix_clock;\n\nstruct posix_clock_context;\n\nstruct posix_clock_operations {\n\tstruct module *owner;\n\tint (*clock_adjtime)(struct posix_clock *, struct __kernel_timex *);\n\tint (*clock_gettime)(struct posix_clock *, struct timespec64 *);\n\tint (*clock_getres)(struct posix_clock *, struct timespec64 *);\n\tint (*clock_settime)(struct posix_clock *, const struct timespec64 *);\n\tlong int (*ioctl)(struct posix_clock_context *, unsigned int, long unsigned int);\n\tint (*open)(struct posix_clock_context *, fmode_t);\n\t__poll_t (*poll)(struct posix_clock_context *, struct file *, poll_table *);\n\tint (*release)(struct posix_clock_context *);\n\tssize_t (*read)(struct posix_clock_context *, uint, char *, size_t);\n};\n\nstruct posix_clock {\n\tstruct posix_clock_operations ops;\n\tstruct cdev cdev;\n\tstruct device *dev;\n\tstruct rw_semaphore rwsem;\n\tbool zombie;\n};\n\nstruct posix_clock_context {\n\tstruct posix_clock *clk;\n\tvoid *private_clkdata;\n};\n\nstruct posix_clock_desc {\n\tstruct file *fp;\n\tstruct posix_clock *clk;\n};\n\nstruct posix_cputimer_base {\n\tu64 nextevt;\n\tstruct timerqueue_head tqhead;\n};\n\nstruct posix_cputimers {\n\tstruct posix_cputimer_base bases[3];\n\tunsigned int timers_active;\n\tunsigned int expiry_active;\n};\n\nstruct posix_cputimers_work {\n\tstruct callback_head work;\n\tstruct mutex mutex;\n\tunsigned int scheduled;\n};\n\nstruct posix_msg_tree_node {\n\tstruct rb_node rb_node;\n\tstruct list_head msg_list;\n\tint priority;\n};\n\nstruct postprocess_bh_ctx {\n\tstruct work_struct work;\n\tstruct buffer_head *bh;\n};\n\nstruct power_actor {\n\tu32 req_power;\n\tu32 max_power;\n\tu32 granted_power;\n\tu32 extra_actor_power;\n\tu32 weighted_req_power;\n};\n\nstruct thermal_trip;\n\nstruct power_allocator_params {\n\tbool allocated_tzp;\n\tbool update_cdevs;\n\ts64 err_integral;\n\ts32 prev_err;\n\tu32 sustainable_power;\n\tconst struct thermal_trip *trip_switch_on;\n\tconst struct thermal_trip *trip_max;\n\tint total_weight;\n\tunsigned int num_actors;\n\tunsigned int buffer_size;\n\tstruct power_actor *power;\n};\n\nstruct power_dom_info {\n\tbool state_set_sync;\n\tbool state_set_async;\n\tbool state_set_notify;\n\tchar name[64];\n};\n\nstruct power_supply_battery_info;\n\nstruct power_supply {\n\tconst struct power_supply_desc *desc;\n\tchar **supplied_to;\n\tsize_t num_supplicants;\n\tchar **supplied_from;\n\tsize_t num_supplies;\n\tstruct device_node *of_node;\n\tvoid *drv_data;\n\tstruct device dev;\n\tstruct work_struct changed_work;\n\tstruct delayed_work deferred_register_work;\n\tspinlock_t changed_lock;\n\tbool changed;\n\tbool update_groups;\n\tbool initialized;\n\tbool removing;\n\tatomic_t use_cnt;\n\tstruct power_supply_battery_info *battery_info;\n\tstruct rw_semaphore extensions_sem;\n\tstruct list_head extensions;\n\tstruct thermal_zone_device *tzd;\n\tstruct thermal_cooling_device *tcd;\n\tstruct led_trigger *trig;\n\tstruct led_trigger *charging_trig;\n\tstruct led_trigger *full_trig;\n\tstruct led_trigger *charging_blink_full_solid_trig;\n\tstruct led_trigger *charging_orange_full_green_trig;\n};\n\nstruct power_supply_attr {\n\tconst char *prop_name;\n\tchar attr_name[31];\n\tstruct device_attribute dev_attr;\n\tconst char * const *text_values;\n\tint text_values_len;\n};\n\nstruct power_supply_maintenance_charge_table;\n\nstruct power_supply_battery_ocv_table;\n\nstruct power_supply_resistance_temp_table;\n\nstruct power_supply_vbat_ri_table;\n\nstruct power_supply_battery_info {\n\tunsigned int technology;\n\tint energy_full_design_uwh;\n\tint charge_full_design_uah;\n\tint voltage_min_design_uv;\n\tint voltage_max_design_uv;\n\tint tricklecharge_current_ua;\n\tint precharge_current_ua;\n\tint precharge_voltage_max_uv;\n\tint charge_term_current_ua;\n\tint charge_restart_voltage_uv;\n\tint overvoltage_limit_uv;\n\tint constant_charge_current_max_ua;\n\tint constant_charge_voltage_max_uv;\n\tconst struct power_supply_maintenance_charge_table *maintenance_charge;\n\tint maintenance_charge_size;\n\tint alert_low_temp_charge_current_ua;\n\tint alert_low_temp_charge_voltage_uv;\n\tint alert_high_temp_charge_current_ua;\n\tint alert_high_temp_charge_voltage_uv;\n\tint factory_internal_resistance_uohm;\n\tint factory_internal_resistance_charging_uohm;\n\tint ocv_temp[20];\n\tint temp_ambient_alert_min;\n\tint temp_ambient_alert_max;\n\tint temp_alert_min;\n\tint temp_alert_max;\n\tint temp_min;\n\tint temp_max;\n\tconst struct power_supply_battery_ocv_table *ocv_table[20];\n\tint ocv_table_size[20];\n\tconst struct power_supply_resistance_temp_table *resist_table;\n\tint resist_table_size;\n\tconst struct power_supply_vbat_ri_table *vbat2ri_discharging;\n\tint vbat2ri_discharging_size;\n\tconst struct power_supply_vbat_ri_table *vbat2ri_charging;\n\tint vbat2ri_charging_size;\n\tint bti_resistance_ohm;\n\tint bti_resistance_tolerance;\n};\n\nstruct power_supply_battery_ocv_table {\n\tint ocv;\n\tint capacity;\n};\n\nstruct power_supply_config {\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tvoid *drv_data;\n\tconst struct attribute_group **attr_grp;\n\tchar **supplied_to;\n\tsize_t num_supplicants;\n\tbool no_wakeup_source;\n};\n\nstruct power_supply_ext {\n\tconst char * const name;\n\tu8 charge_behaviours;\n\tconst enum power_supply_property *properties;\n\tsize_t num_properties;\n\tint (*get_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, union power_supply_propval *);\n\tint (*set_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, const union power_supply_propval *);\n\tint (*property_is_writeable)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property);\n};\n\nstruct power_supply_ext_registration {\n\tstruct list_head list_head;\n\tconst struct power_supply_ext *ext;\n\tstruct device *dev;\n\tvoid *data;\n};\n\nstruct power_supply_hwmon {\n\tstruct power_supply *psy;\n\tlong unsigned int *props;\n};\n\nstruct power_supply_led_trigger {\n\tstruct led_trigger trig;\n\tstruct power_supply *psy;\n};\n\nstruct power_supply_maintenance_charge_table {\n\tint charge_current_max_ua;\n\tint charge_voltage_max_uv;\n\tint charge_safety_timer_minutes;\n};\n\nstruct power_supply_resistance_temp_table {\n\tint temp;\n\tint resistance;\n};\n\nstruct power_supply_vbat_ri_table {\n\tint vbat_uv;\n\tint ri_uohm;\n};\n\nstruct scmi_powercap_state;\n\nstruct scmi_powercap_info;\n\nstruct powercap_info {\n\tu32 version;\n\tint num_domains;\n\tbool notify_cap_cmd;\n\tbool notify_measurements_cmd;\n\tstruct scmi_powercap_state *states;\n\tstruct scmi_powercap_info *powercaps;\n};\n\nstruct ppb_lock {\n\tstruct flchip *chip;\n\tlong unsigned int adr;\n\tint locked;\n};\n\nstruct ppe_common_cb {\n\tstruct device *dev;\n\tstruct dsaf_device *dsaf_dev;\n\tu8 *io_base;\n\tenum ppe_common_mode ppe_mode;\n\tu8 comm_index;\n\tu32 ppe_num;\n\tstruct hns_ppe_cb ppe_cb[0];\n};\n\nstruct pppoe_tag {\n\t__be16 tag_type;\n\t__be16 tag_len;\n\tchar tag_data[0];\n};\n\nstruct pppoe_hdr {\n\t__u8 type: 4;\n\t__u8 ver: 4;\n\t__u8 code;\n\t__be16 sid;\n\t__be16 length;\n\tstruct pppoe_tag tag[0];\n};\n\nstruct pps_bind_args {\n\tint tsformat;\n\tint edge;\n\tint consumer;\n};\n\nstruct pps_device;\n\nstruct pps_source_info {\n\tchar name[32];\n\tchar path[32];\n\tint mode;\n\tvoid (*echo)(struct pps_device *, int, void *);\n\tstruct module *owner;\n\tstruct device *dev;\n};\n\nstruct pps_ktime {\n\t__s64 sec;\n\t__s32 nsec;\n\t__u32 flags;\n};\n\nstruct pps_kparams {\n\tint api_version;\n\tint mode;\n\tstruct pps_ktime assert_off_tu;\n\tstruct pps_ktime clear_off_tu;\n};\n\nstruct pps_device {\n\tstruct pps_source_info info;\n\tstruct pps_kparams params;\n\t__u32 assert_sequence;\n\t__u32 clear_sequence;\n\tstruct pps_ktime assert_tu;\n\tstruct pps_ktime clear_tu;\n\tint current_mode;\n\tunsigned int last_ev;\n\twait_queue_head_t queue;\n\tunsigned int id;\n\tconst void *lookup_cookie;\n\tstruct device dev;\n\tstruct fasync_struct *async_queue;\n\tspinlock_t lock;\n};\n\nstruct pps_event_time {\n\tstruct timespec64 ts_real;\n};\n\nstruct pps_kinfo {\n\t__u32 assert_sequence;\n\t__u32 clear_sequence;\n\tstruct pps_ktime assert_tu;\n\tstruct pps_ktime clear_tu;\n\tint current_mode;\n};\n\nstruct pps_fdata {\n\tstruct pps_kinfo info;\n\tstruct pps_ktime timeout;\n};\n\nstruct pps_ktime_compat {\n\t__s64 sec;\n\t__s32 nsec;\n\t__u32 flags;\n};\n\nstruct pps_kinfo_compat {\n\t__u32 assert_sequence;\n\t__u32 clear_sequence;\n\tstruct pps_ktime_compat assert_tu;\n\tstruct pps_ktime_compat clear_tu;\n\tint current_mode;\n} __attribute__((packed));\n\nstruct pps_fdata_compat {\n\tstruct pps_kinfo_compat info;\n\tstruct pps_ktime_compat timeout;\n} __attribute__((packed));\n\nstruct pptp_gre_header {\n\tstruct gre_base_hdr gre_hd;\n\t__be16 payload_len;\n\t__be16 call_id;\n\t__be32 seq;\n\t__be32 ack;\n};\n\nstruct pr_clear {\n\t__u64 key;\n\t__u32 flags;\n\t__u32 __pad;\n};\n\nstruct pr_cont_work_struct {\n\tbool comma;\n\twork_func_t func;\n\tlong int ctr;\n};\n\nstruct pr_held_reservation {\n\tu64 key;\n\tu32 generation;\n\tenum pr_type type;\n};\n\nstruct pr_keys {\n\tu32 generation;\n\tu32 num_keys;\n\tu64 keys[0];\n};\n\nstruct pr_ops {\n\tint (*pr_register)(struct block_device *, u64, u64, u32);\n\tint (*pr_reserve)(struct block_device *, u64, enum pr_type, u32);\n\tint (*pr_release)(struct block_device *, u64, enum pr_type);\n\tint (*pr_preempt)(struct block_device *, u64, u64, enum pr_type, bool);\n\tint (*pr_clear)(struct block_device *, u64);\n\tint (*pr_read_keys)(struct block_device *, struct pr_keys *);\n\tint (*pr_read_reservation)(struct block_device *, struct pr_held_reservation *);\n};\n\nstruct pr_preempt {\n\t__u64 old_key;\n\t__u64 new_key;\n\t__u32 type;\n\t__u32 flags;\n};\n\nstruct pr_registration {\n\t__u64 old_key;\n\t__u64 new_key;\n\t__u32 flags;\n\t__u32 __pad;\n};\n\nstruct pr_reservation {\n\t__u64 key;\n\t__u32 type;\n\t__u32 flags;\n};\n\nstruct prb_data_blk_lpos {\n\tlong unsigned int begin;\n\tlong unsigned int next;\n};\n\nstruct prb_data_block {\n\tlong unsigned int id;\n\tchar data[0];\n};\n\nstruct prb_data_ring {\n\tunsigned int size_bits;\n\tchar *data;\n\tatomic_long_t head_lpos;\n\tatomic_long_t tail_lpos;\n};\n\nstruct prb_desc {\n\tatomic_long_t state_var;\n\tstruct prb_data_blk_lpos text_blk_lpos;\n};\n\nstruct printk_info;\n\nstruct prb_desc_ring {\n\tunsigned int count_bits;\n\tstruct prb_desc *descs;\n\tstruct printk_info *infos;\n\tatomic_long_t head_id;\n\tatomic_long_t tail_id;\n\tatomic_long_t last_finalized_seq;\n};\n\nstruct printk_ringbuffer;\n\nstruct prb_reserved_entry {\n\tstruct printk_ringbuffer *rb;\n\tlong unsigned int irqflags;\n\tlong unsigned int id;\n\tunsigned int text_space;\n};\n\nstruct prctl_mm_map {\n\t__u64 start_code;\n\t__u64 end_code;\n\t__u64 start_data;\n\t__u64 end_data;\n\t__u64 start_brk;\n\t__u64 brk;\n\t__u64 start_stack;\n\t__u64 arg_start;\n\t__u64 arg_end;\n\t__u64 env_start;\n\t__u64 env_end;\n\t__u64 *auxv;\n\t__u32 auxv_size;\n\t__u32 exe_fd;\n};\n\nstruct pre_voltage_change_data {\n\tlong unsigned int old_uV;\n\tlong unsigned int min_uV;\n\tlong unsigned int max_uV;\n};\n\nstruct preempt_ops {\n\tvoid (*sched_in)(struct preempt_notifier *, int);\n\tvoid (*sched_out)(struct preempt_notifier *, struct task_struct *);\n};\n\nstruct prefix_info {\n\t__u8 type;\n\t__u8 length;\n\t__u8 prefix_len;\n\tunion {\n\t\t__u8 flags;\n\t\tstruct {\n\t\t\t__u8 reserved: 4;\n\t\t\t__u8 preferpd: 1;\n\t\t\t__u8 routeraddr: 1;\n\t\t\t__u8 autoconf: 1;\n\t\t\t__u8 onlink: 1;\n\t\t};\n\t};\n\t__be32 valid;\n\t__be32 prefered;\n\t__be32 reserved2;\n\tstruct in6_addr prefix;\n};\n\nstruct prepend_buffer {\n\tchar *buf;\n\tint len;\n};\n\nstruct print_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tchar buf[0];\n};\n\nstruct printf_spec {\n\tunsigned char flags;\n\tunsigned char base;\n\tshort int precision;\n\tint field_width;\n};\n\nstruct printk_info {\n\tu64 seq;\n\tu64 ts_nsec;\n\tu16 text_len;\n\tu8 facility;\n\tu8 flags: 5;\n\tu8 level: 3;\n\tu32 caller_id;\n\tstruct dev_printk_info dev_info;\n};\n\nstruct printk_message {\n\tstruct printk_buffers *pbufs;\n\tunsigned int outbuf_len;\n\tu64 seq;\n\tlong unsigned int dropped;\n};\n\nstruct printk_record {\n\tstruct printk_info *info;\n\tchar *text_buf;\n\tunsigned int text_buf_size;\n};\n\nstruct printk_ringbuffer {\n\tstruct prb_desc_ring desc_ring;\n\tstruct prb_data_ring text_data_ring;\n\tatomic_long_t fail;\n};\n\nstruct private_data {\n\tstruct list_head node;\n\tcpumask_var_t cpus;\n\tstruct device *cpu_dev;\n\tstruct cpufreq_frequency_table *freq_table;\n\tbool have_static_opps;\n\tint opp_token;\n};\n\nstruct privcmd_buf_private {\n\tstruct mutex lock;\n\tstruct list_head list;\n};\n\nstruct privcmd_buf_vma_private {\n\tstruct privcmd_buf_private *file_priv;\n\tstruct list_head list;\n\tunsigned int users;\n\tunsigned int n_pages;\n\tstruct page *pages[0];\n};\n\nstruct privcmd_data {\n\tdomid_t domid;\n};\n\nstruct privcmd_dm_op_buf;\n\nstruct privcmd_dm_op {\n\tdomid_t dom;\n\t__u16 num;\n\tconst struct privcmd_dm_op_buf *ubufs;\n};\n\nstruct privcmd_dm_op_buf {\n\tvoid *uptr;\n\tsize_t size;\n};\n\nstruct privcmd_hypercall {\n\t__u64 op;\n\t__u64 arg[5];\n};\n\nstruct privcmd_mmap_entry;\n\nstruct privcmd_mmap {\n\tint num;\n\tdomid_t dom;\n\tstruct privcmd_mmap_entry *entry;\n};\n\nstruct privcmd_mmap_entry {\n\t__u64 va;\n\t__u64 mfn;\n\t__u64 npages;\n};\n\nstruct privcmd_mmap_resource {\n\tdomid_t dom;\n\t__u32 type;\n\t__u32 id;\n\t__u32 idx;\n\t__u64 num;\n\t__u64 addr;\n};\n\nstruct privcmd_mmapbatch_v2 {\n\tunsigned int num;\n\tdomid_t dom;\n\t__u64 addr;\n\tconst xen_pfn_t *arr;\n\tint *err;\n};\n\nstruct privflags_reply_data {\n\tstruct ethnl_reply_data base;\n\tconst char (*priv_flag_names)[32];\n\tunsigned int n_priv_flags;\n\tu32 priv_flags;\n};\n\nstruct prm_buffer {\n\tu8 prm_status;\n\tu64 efi_status;\n\tu8 prm_cmd;\n\tguid_t handler_guid;\n} __attribute__((packed));\n\nstruct prm_mmio_info;\n\nstruct prm_context_buffer {\n\tchar signature[4];\n\tu16 revision;\n\tu16 reserved;\n\tguid_t identifier;\n\tu64 static_data_buffer;\n\tstruct prm_mmio_info *mmio_ranges;\n};\n\nstruct prm_handler_info {\n\tefi_guid_t guid;\n\tefi_status_t (*handler_addr)(u64, void *);\n\tu64 static_data_buffer_addr;\n\tu64 acpi_param_buffer_addr;\n\tstruct list_head handler_list;\n};\n\nstruct prm_mmio_addr_range {\n\tu64 phys_addr;\n\tu64 virt_addr;\n\tu32 length;\n} __attribute__((packed));\n\nstruct prm_mmio_info {\n\tu64 mmio_count;\n\tstruct prm_mmio_addr_range addr_ranges[0];\n};\n\nstruct prm_module_info {\n\tguid_t guid;\n\tu16 major_rev;\n\tu16 minor_rev;\n\tu16 handler_count;\n\tstruct prm_mmio_info *mmio_info;\n\tbool updatable;\n\tstruct list_head module_list;\n\tstruct prm_handler_info handlers[0];\n};\n\nstruct prng_context {\n\tspinlock_t prng_lock;\n\tunsigned char rand_data[16];\n\tunsigned char last_rand_data[16];\n\tunsigned char DT[16];\n\tunsigned char I[16];\n\tunsigned char V[16];\n\tu32 rand_data_valid;\n\tstruct crypto_cipher *tfm;\n\tu32 flags;\n};\n\ntypedef struct kobject *kobj_probe_t(dev_t, int *, void *);\n\nstruct probe {\n\tstruct probe *next;\n\tdev_t dev;\n\tlong unsigned int range;\n\tstruct module *owner;\n\tkobj_probe_t *get;\n\tint (*lock)(dev_t, void *);\n\tvoid *data;\n};\n\nstruct probe_arg {\n\tstruct fetch_insn *code;\n\tbool dynamic;\n\tunsigned int offset;\n\tunsigned int count;\n\tconst char *name;\n\tconst char *comm;\n\tchar *fmt;\n\tconst struct fetch_type *type;\n};\n\nstruct probe_entry_arg {\n\tstruct fetch_insn *code;\n\tunsigned int size;\n};\n\ntypedef int (*proc_write_t)(struct file *, char *, size_t);\n\nstruct proc_ops;\n\nstruct proc_dir_entry {\n\tatomic_t in_use;\n\trefcount_t refcnt;\n\tstruct list_head pde_openers;\n\tspinlock_t pde_unload_lock;\n\tstruct completion *pde_unload_completion;\n\tconst struct inode_operations *proc_iops;\n\tunion {\n\t\tconst struct proc_ops *proc_ops;\n\t\tconst struct file_operations *proc_dir_ops;\n\t};\n\tconst struct dentry_operations *proc_dops;\n\tunion {\n\t\tconst struct seq_operations *seq_ops;\n\t\tint (*single_show)(struct seq_file *, void *);\n\t};\n\tproc_write_t write;\n\tvoid *data;\n\tunsigned int state_size;\n\tunsigned int low_ino;\n\tnlink_t nlink;\n\tkuid_t uid;\n\tkgid_t gid;\n\tloff_t size;\n\tstruct proc_dir_entry *parent;\n\tstruct rb_root subdir;\n\tstruct rb_node subdir_node;\n\tchar *name;\n\tumode_t mode;\n\tu8 flags;\n\tu8 namelen;\n\tchar inline_name[0];\n};\n\nstruct proc_fs_context {\n\tstruct pid_namespace *pid_ns;\n\tunsigned int mask;\n\tenum proc_hidepid hidepid;\n\tint gid;\n\tenum proc_pidonly pidonly;\n};\n\nstruct proc_fs_info {\n\tstruct pid_namespace *pid_ns;\n\tstruct dentry *proc_self;\n\tstruct dentry *proc_thread_self;\n\tkgid_t pid_gid;\n\tenum proc_hidepid hide_pid;\n\tenum proc_pidonly pidonly;\n\tstruct callback_head rcu;\n};\n\nstruct proc_fs_opts {\n\tint flag;\n\tconst char *str;\n};\n\nstruct proc_inode {\n\tstruct pid *pid;\n\tunsigned int fd;\n\tunion proc_op op;\n\tstruct proc_dir_entry *pde;\n\tstruct ctl_table_header *sysctl;\n\tconst struct ctl_table *sysctl_entry;\n\tstruct hlist_node sibling_inodes;\n\tconst struct proc_ns_operations *ns_ops;\n\tstruct inode vfs_inode;\n};\n\nstruct proc_mounts {\n\tstruct mnt_namespace *ns;\n\tstruct path root;\n\tint (*show)(struct seq_file *, struct vfsmount *);\n};\n\nstruct proc_nfs_info {\n\tint flag;\n\tconst char *str;\n\tconst char *nostr;\n};\n\nstruct proc_ns_operations {\n\tconst char *name;\n\tconst char *real_ns_name;\n\tint type;\n\tstruct ns_common * (*get)(struct task_struct *);\n\tvoid (*put)(struct ns_common *);\n\tint (*install)(struct nsset *, struct ns_common *);\n\tstruct user_namespace * (*owner)(struct ns_common *);\n\tstruct ns_common * (*get_parent)(struct ns_common *);\n};\n\nstruct proc_ops {\n\tunsigned int proc_flags;\n\tint (*proc_open)(struct inode *, struct file *);\n\tssize_t (*proc_read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*proc_read_iter)(struct kiocb *, struct iov_iter *);\n\tssize_t (*proc_write)(struct file *, const char *, size_t, loff_t *);\n\tloff_t (*proc_lseek)(struct file *, loff_t, int);\n\tint (*proc_release)(struct inode *, struct file *);\n\t__poll_t (*proc_poll)(struct file *, struct poll_table_struct *);\n\tlong int (*proc_ioctl)(struct file *, unsigned int, long unsigned int);\n\tlong int (*proc_compat_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*proc_mmap)(struct file *, struct vm_area_struct *);\n\tlong unsigned int (*proc_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n};\n\nstruct proc_timens_offset {\n\tint clockid;\n\tstruct timespec64 val;\n};\n\nstruct process_timer {\n\tstruct timer_list timer;\n\tstruct task_struct *task;\n};\n\nstruct procmap_query {\n\t__u64 size;\n\t__u64 query_flags;\n\t__u64 query_addr;\n\t__u64 vma_start;\n\t__u64 vma_end;\n\t__u64 vma_flags;\n\t__u64 vma_page_size;\n\t__u64 vma_offset;\n\t__u64 inode;\n\t__u32 dev_major;\n\t__u32 dev_minor;\n\t__u32 vma_name_size;\n\t__u32 build_id_size;\n\t__u64 vma_name_addr;\n\t__u64 build_id_addr;\n};\n\nstruct prog_entry {\n\tint target;\n\tint when_to_branch;\n\tstruct filter_pred *pred;\n};\n\nstruct prog_poke_elem {\n\tstruct list_head list;\n\tstruct bpf_prog_aux *aux;\n};\n\nstruct prog_test_member1 {\n\tint a;\n};\n\nstruct prog_test_member {\n\tstruct prog_test_member1 m;\n\tint c;\n};\n\nstruct prog_test_ref_kfunc {\n\tint a;\n\tint b;\n\tstruct prog_test_member memb;\n\tstruct prog_test_ref_kfunc *next;\n\trefcount_t cnt;\n};\n\nstruct property {\n\tchar *name;\n\tint length;\n\tvoid *value;\n\tstruct property *next;\n\tlong unsigned int _flags;\n\tstruct bin_attribute attr;\n};\n\nstruct prot_inuse {\n\tint all;\n\tint val[64];\n};\n\nstruct smc_hashinfo;\n\nstruct proto_accept_arg;\n\nstruct sk_psock;\n\nstruct timewait_sock_ops;\n\nstruct raw_hashinfo;\n\nstruct proto {\n\tvoid (*close)(struct sock *, long int);\n\tint (*pre_connect)(struct sock *, struct sockaddr *, int);\n\tint (*connect)(struct sock *, struct sockaddr *, int);\n\tint (*disconnect)(struct sock *, int);\n\tstruct sock * (*accept)(struct sock *, struct proto_accept_arg *);\n\tint (*ioctl)(struct sock *, int, int *);\n\tint (*init)(struct sock *);\n\tvoid (*destroy)(struct sock *);\n\tvoid (*shutdown)(struct sock *, int);\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*keepalive)(struct sock *, int);\n\tint (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);\n\tint (*sendmsg)(struct sock *, struct msghdr *, size_t);\n\tint (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *);\n\tvoid (*splice_eof)(struct socket *);\n\tint (*bind)(struct sock *, struct sockaddr *, int);\n\tint (*bind_add)(struct sock *, struct sockaddr *, int);\n\tint (*backlog_rcv)(struct sock *, struct sk_buff *);\n\tbool (*bpf_bypass_getsockopt)(int, int);\n\tvoid (*release_cb)(struct sock *);\n\tint (*hash)(struct sock *);\n\tvoid (*unhash)(struct sock *);\n\tvoid (*rehash)(struct sock *);\n\tint (*get_port)(struct sock *, short unsigned int);\n\tvoid (*put_port)(struct sock *);\n\tint (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);\n\tunsigned int inuse_idx;\n\tbool (*stream_memory_free)(const struct sock *, int);\n\tbool (*sock_is_readable)(struct sock *);\n\tvoid (*enter_memory_pressure)(struct sock *);\n\tvoid (*leave_memory_pressure)(struct sock *);\n\tatomic_long_t *memory_allocated;\n\tint *per_cpu_fw_alloc;\n\tstruct percpu_counter *sockets_allocated;\n\tlong unsigned int *memory_pressure;\n\tlong int *sysctl_mem;\n\tint *sysctl_wmem;\n\tint *sysctl_rmem;\n\tu32 sysctl_wmem_offset;\n\tu32 sysctl_rmem_offset;\n\tint max_header;\n\tbool no_autobind;\n\tstruct kmem_cache *slab;\n\tunsigned int obj_size;\n\tunsigned int ipv6_pinfo_offset;\n\tslab_flags_t slab_flags;\n\tunsigned int useroffset;\n\tunsigned int usersize;\n\tunsigned int *orphan_count;\n\tstruct request_sock_ops *rsk_prot;\n\tstruct timewait_sock_ops *twsk_prot;\n\tunion {\n\t\tstruct inet_hashinfo *hashinfo;\n\t\tstruct udp_table *udp_table;\n\t\tstruct raw_hashinfo *raw_hash;\n\t\tstruct smc_hashinfo *smc_hash;\n\t} h;\n\tstruct module *owner;\n\tchar name[32];\n\tstruct list_head node;\n\tint (*diag_destroy)(struct sock *, int);\n};\n\nstruct proto_accept_arg {\n\tint flags;\n\tint err;\n\tint is_empty;\n\tbool kern;\n};\n\ntypedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *, unsigned int, size_t);\n\ntypedef int (*skb_read_actor_t)(struct sock *, struct sk_buff *);\n\nstruct proto_ops {\n\tint family;\n\tstruct module *owner;\n\tint (*release)(struct socket *);\n\tint (*bind)(struct socket *, struct sockaddr *, int);\n\tint (*connect)(struct socket *, struct sockaddr *, int, int);\n\tint (*socketpair)(struct socket *, struct socket *);\n\tint (*accept)(struct socket *, struct socket *, struct proto_accept_arg *);\n\tint (*getname)(struct socket *, struct sockaddr *, int);\n\t__poll_t (*poll)(struct file *, struct socket *, struct poll_table_struct *);\n\tint (*ioctl)(struct socket *, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct socket *, unsigned int, long unsigned int);\n\tint (*gettstamp)(struct socket *, void *, bool, bool);\n\tint (*listen)(struct socket *, int);\n\tint (*shutdown)(struct socket *, int);\n\tint (*setsockopt)(struct socket *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct socket *, int, int, char *, int *);\n\tvoid (*show_fdinfo)(struct seq_file *, struct socket *);\n\tint (*sendmsg)(struct socket *, struct msghdr *, size_t);\n\tint (*recvmsg)(struct socket *, struct msghdr *, size_t, int);\n\tint (*mmap)(struct file *, struct socket *, struct vm_area_struct *);\n\tssize_t (*splice_read)(struct socket *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*splice_eof)(struct socket *);\n\tint (*set_peek_off)(struct sock *, int);\n\tint (*peek_len)(struct socket *);\n\tint (*read_sock)(struct sock *, read_descriptor_t *, sk_read_actor_t);\n\tint (*read_skb)(struct sock *, skb_read_actor_t);\n\tint (*sendmsg_locked)(struct sock *, struct msghdr *, size_t);\n\tint (*set_rcvlowat)(struct sock *, int);\n};\n\nstruct prt_quirk {\n\tconst struct dmi_system_id *system;\n\tunsigned int segment;\n\tunsigned int bus;\n\tunsigned int device;\n\tunsigned char pin;\n\tconst char *source;\n\tconst char *actual_source;\n};\n\nstruct ps2pp_info {\n\tu8 model;\n\tu8 kind;\n\tu16 features;\n};\n\nstruct psample_group {\n\tstruct list_head list;\n\tstruct net *net;\n\tu32 group_num;\n\tu32 refcount;\n\tu32 seq;\n\tstruct callback_head rcu;\n};\n\nstruct psched_pktrate {\n\tu64 rate_pkts_ps;\n\tu32 mult;\n\tu8 shift;\n};\n\nstruct psched_ratecfg {\n\tu64 rate_bytes_ps;\n\tu32 mult;\n\tu16 overhead;\n\tu16 mpu;\n\tu8 linklayer;\n\tu8 shift;\n};\n\nstruct psci_boot_args {\n\tatomic_t lock;\n\tlong unsigned int pc;\n\tlong unsigned int r0;\n};\n\nstruct psci_cpuidle_data {\n\tu32 *psci_states;\n\tstruct device *dev;\n};\n\nstruct psci_operations {\n\tu32 (*get_version)(void);\n\tint (*cpu_suspend)(u32, long unsigned int);\n\tint (*cpu_off)(u32);\n\tint (*cpu_on)(long unsigned int, long unsigned int);\n\tint (*migrate)(long unsigned int);\n\tint (*affinity_info)(long unsigned int, long unsigned int);\n\tint (*migrate_info_type)(void);\n};\n\nstruct psci_pd_provider {\n\tstruct list_head link;\n\tstruct device_node *node;\n};\n\nstruct pse_control_config {\n\tenum ethtool_podl_pse_admin_state podl_admin_control;\n\tenum ethtool_c33_pse_admin_state c33_admin_control;\n};\n\nstruct pse_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_pse_control_status status;\n};\n\nstruct pseudo_fs_context {\n\tconst struct super_operations *ops;\n\tconst struct export_operations *eops;\n\tconst struct xattr_handler * const *xattr;\n\tconst struct dentry_operations *dops;\n\tlong unsigned int magic;\n};\n\nstruct psfp_streamfilter_counters {\n\tu64 matching_frames_count;\n\tu64 passing_frames_count;\n\tu64 not_passing_frames_count;\n\tu64 passing_sdu_count;\n\tu64 not_passing_sdu_count;\n\tu64 red_frames_count;\n};\n\nstruct psi_group {};\n\nstruct psil_endpoint_config {\n\tenum psil_endpoint_type ep_type;\n\tenum udma_tp_level channel_tpl;\n\tunsigned int pkt_mode: 1;\n\tunsigned int notdpkt: 1;\n\tunsigned int needs_epib: 1;\n\tunsigned int pdma_acc32: 1;\n\tunsigned int pdma_burst: 1;\n\tu32 psd_size;\n\ts16 mapped_channel_id;\n\tu16 flow_start;\n\tu16 flow_num;\n\ts16 default_flow_id;\n};\n\nstruct psil_ep {\n\tu32 thread_id;\n\tstruct psil_endpoint_config ep_config;\n};\n\nstruct psil_ep_map {\n\tchar *name;\n\tstruct psil_ep *src;\n\tint src_count;\n\tstruct psil_ep *dst;\n\tint dst_count;\n};\n\nstruct psmouse_protocol;\n\nstruct psmouse {\n\tvoid *private;\n\tstruct input_dev *dev;\n\tstruct ps2dev ps2dev;\n\tstruct delayed_work resync_work;\n\tconst char *vendor;\n\tconst char *name;\n\tconst struct psmouse_protocol *protocol;\n\tunsigned char packet[8];\n\tunsigned char badbyte;\n\tunsigned char pktcnt;\n\tunsigned char pktsize;\n\tunsigned char oob_data_type;\n\tunsigned char extra_buttons;\n\tbool acks_disable_command;\n\tunsigned int model;\n\tlong unsigned int last;\n\tlong unsigned int out_of_sync_cnt;\n\tlong unsigned int num_resyncs;\n\tenum psmouse_state state;\n\tchar devname[64];\n\tchar phys[32];\n\tunsigned int rate;\n\tunsigned int resolution;\n\tunsigned int resetafter;\n\tunsigned int resync_time;\n\tbool smartscroll;\n\tpsmouse_ret_t (*protocol_handler)(struct psmouse *);\n\tvoid (*set_rate)(struct psmouse *, unsigned int);\n\tvoid (*set_resolution)(struct psmouse *, unsigned int);\n\tvoid (*set_scale)(struct psmouse *, enum psmouse_scale);\n\tint (*reconnect)(struct psmouse *);\n\tint (*fast_reconnect)(struct psmouse *);\n\tvoid (*disconnect)(struct psmouse *);\n\tvoid (*cleanup)(struct psmouse *);\n\tint (*poll)(struct psmouse *);\n\tvoid (*pt_activate)(struct psmouse *);\n\tvoid (*pt_deactivate)(struct psmouse *);\n};\n\nstruct psmouse_attribute {\n\tstruct device_attribute dattr;\n\tvoid *data;\n\tssize_t (*show)(struct psmouse *, void *, char *);\n\tssize_t (*set)(struct psmouse *, void *, const char *, size_t);\n\tbool protect;\n};\n\nstruct psmouse_protocol {\n\tenum psmouse_type type;\n\tbool maxproto;\n\tbool ignore_parity;\n\tbool try_passthru;\n\tbool smbus_companion;\n\tconst char *name;\n\tconst char *alias;\n\tint (*detect)(struct psmouse *, bool);\n\tint (*init)(struct psmouse *);\n};\n\nstruct psmouse_smbus_dev {\n\tstruct i2c_board_info board;\n\tstruct psmouse *psmouse;\n\tstruct i2c_client *client;\n\tstruct list_head node;\n\tbool dead;\n\tbool need_deactivate;\n};\n\nstruct psmouse_smbus_removal_work {\n\tstruct work_struct work;\n\tstruct i2c_client *client;\n};\n\nstruct pstore_ftrace_record {\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tu64 ts;\n};\n\nstruct pstore_ftrace_seq_data {\n\tconst void *ptr;\n\tsize_t off;\n\tsize_t size;\n};\n\nstruct pstore_record;\n\nstruct pstore_info {\n\tstruct module *owner;\n\tconst char *name;\n\traw_spinlock_t buf_lock;\n\tchar *buf;\n\tsize_t bufsize;\n\tstruct mutex read_mutex;\n\tint flags;\n\tint max_reason;\n\tvoid *data;\n\tint (*open)(struct pstore_info *);\n\tint (*close)(struct pstore_info *);\n\tssize_t (*read)(struct pstore_record *);\n\tint (*write)(struct pstore_record *);\n\tint (*write_user)(struct pstore_record *, const char *);\n\tint (*erase)(struct pstore_record *);\n};\n\nstruct pstore_private {\n\tstruct list_head list;\n\tstruct dentry *dentry;\n\tstruct pstore_record *record;\n\tsize_t total_size;\n};\n\nstruct pstore_record {\n\tstruct pstore_info *psi;\n\tenum pstore_type_id type;\n\tu64 id;\n\tstruct timespec64 time;\n\tchar *buf;\n\tssize_t size;\n\tssize_t ecc_notice_size;\n\tvoid *priv;\n\tint count;\n\tenum kmsg_dump_reason reason;\n\tunsigned int part;\n\tbool compressed;\n};\n\nstruct psy_am_i_supplied_data {\n\tstruct power_supply *psy;\n\tunsigned int count;\n};\n\nstruct psy_for_each_psy_cb_data {\n\tint (*fn)(struct power_supply *, void *);\n\tvoid *data;\n};\n\nstruct psy_get_supplier_prop_data {\n\tstruct power_supply *psy;\n\tenum power_supply_property psp;\n\tunion power_supply_propval *val;\n};\n\nstruct pt_regs_offset {\n\tconst char *name;\n\tint offset;\n};\n\nstruct ptd {\n\t__dw dw0;\n\t__dw dw1;\n\t__dw dw2;\n\t__dw dw3;\n\t__dw dw4;\n\t__dw dw5;\n\t__dw dw6;\n\t__dw dw7;\n};\n\nstruct ptd_le32 {\n\t__le32 dw0;\n\t__le32 dw1;\n\t__le32 dw2;\n\t__le32 dw3;\n\t__le32 dw4;\n\t__le32 dw5;\n\t__le32 dw6;\n\t__le32 dw7;\n};\n\nstruct ptdesc {\n\tlong unsigned int __page_flags;\n\tunion {\n\t\tstruct callback_head pt_rcu_head;\n\t\tstruct list_head pt_list;\n\t\tstruct {\n\t\t\tlong unsigned int _pt_pad_1;\n\t\t\tpgtable_t pmd_huge_pte;\n\t\t};\n\t};\n\tlong unsigned int __page_mapping;\n\tunion {\n\t\tlong unsigned int pt_index;\n\t\tstruct mm_struct *pt_mm;\n\t\tatomic_t pt_frag_refcount;\n\t\tatomic_t pt_share_count;\n\t};\n\tunion {\n\t\tlong unsigned int _pt_pad_2;\n\t\tspinlock_t ptl;\n\t};\n\tunsigned int __page_type;\n\tatomic_t __page_refcount;\n\tlong unsigned int pt_memcg_data;\n};\n\nstruct ptp_clock {\n\tstruct posix_clock clock;\n\tstruct device dev;\n\tstruct ptp_clock_info *info;\n\tdev_t devid;\n\tint index;\n\tstruct pps_device *pps_source;\n\tlong int dialed_frequency;\n\tstruct list_head tsevqs;\n\tspinlock_t tsevqs_lock;\n\tstruct mutex pincfg_mux;\n\twait_queue_head_t tsev_wq;\n\tint defunct;\n\tstruct device_attribute *pin_dev_attr;\n\tstruct attribute **pin_attr;\n\tstruct attribute_group pin_attr_group;\n\tconst struct attribute_group *pin_attr_groups[2];\n\tstruct kthread_worker *kworker;\n\tstruct kthread_delayed_work aux_work;\n\tunsigned int max_vclocks;\n\tunsigned int n_vclocks;\n\tint *vclock_index;\n\tstruct mutex n_vclocks_mux;\n\tbool is_virtual_clock;\n\tbool has_cycles;\n\tstruct dentry *debugfs_root;\n};\n\nstruct ptp_clock_caps {\n\tint max_adj;\n\tint n_alarm;\n\tint n_ext_ts;\n\tint n_per_out;\n\tint pps;\n\tint n_pins;\n\tint cross_timestamping;\n\tint adjust_phase;\n\tint max_phase_adj;\n\tint rsv[11];\n};\n\nstruct ptp_clock_event {\n\tint type;\n\tint index;\n\tunion {\n\t\tu64 timestamp;\n\t\ts64 offset;\n\t\tstruct pps_event_time pps_times;\n\t};\n};\n\nstruct ptp_extts_request {\n\tunsigned int index;\n\tunsigned int flags;\n\tunsigned int rsv[2];\n};\n\nstruct ptp_clock_time {\n\t__s64 sec;\n\t__u32 nsec;\n\t__u32 reserved;\n};\n\nstruct ptp_perout_request {\n\tunion {\n\t\tstruct ptp_clock_time start;\n\t\tstruct ptp_clock_time phase;\n\t};\n\tstruct ptp_clock_time period;\n\tunsigned int index;\n\tunsigned int flags;\n\tunion {\n\t\tstruct ptp_clock_time on;\n\t\tunsigned int rsv[4];\n\t};\n};\n\nstruct ptp_clock_request {\n\tenum {\n\t\tPTP_CLK_REQ_EXTTS = 0,\n\t\tPTP_CLK_REQ_PEROUT = 1,\n\t\tPTP_CLK_REQ_PPS = 2,\n\t} type;\n\tunion {\n\t\tstruct ptp_extts_request extts;\n\t\tstruct ptp_perout_request perout;\n\t};\n};\n\nstruct ptp_dte {\n\tvoid *regs;\n\tstruct ptp_clock *ptp_clk;\n\tstruct ptp_clock_info caps;\n\tstruct device *dev;\n\tu32 ts_ovf_last;\n\tu32 ts_wrap_cnt;\n\tspinlock_t lock;\n\tu32 reg_val[4];\n};\n\nstruct ptp_extts_event {\n\tstruct ptp_clock_time t;\n\tunsigned int index;\n\tunsigned int flags;\n\tunsigned int rsv[2];\n};\n\nstruct ptp_header {\n\tu8 tsmt;\n\tu8 ver;\n\t__be16 message_length;\n\tu8 domain_number;\n\tu8 reserved1;\n\tu8 flag_field[2];\n\t__be64 correction;\n\t__be32 reserved2;\n\tstruct port_identity source_port_identity;\n\t__be16 sequence_id;\n\tu8 control;\n\tu8 log_message_interval;\n} __attribute__((packed));\n\nstruct ptp_qoriq_registers {\n\tstruct ctrl_regs *ctrl_regs;\n\tstruct alarm_regs *alarm_regs;\n\tstruct fiper_regs *fiper_regs;\n\tstruct etts_regs *etts_regs;\n};\n\nstruct ptp_qoriq {\n\tvoid *base;\n\tstruct ptp_qoriq_registers regs;\n\tspinlock_t lock;\n\tstruct ptp_clock *clock;\n\tstruct ptp_clock_info caps;\n\tstruct resource *rsrc;\n\tstruct dentry *debugfs_root;\n\tstruct device *dev;\n\tbool extts_fifo_support;\n\tbool fiper3_support;\n\tbool etsec;\n\tint irq;\n\tint phc_index;\n\tu32 tclk_period;\n\tu32 tmr_prsc;\n\tu32 tmr_add;\n\tu32 cksel;\n\tu32 tmr_fiper1;\n\tu32 tmr_fiper2;\n\tu32 tmr_fiper3;\n\tu32 (*read)(unsigned int *);\n\tvoid (*write)(unsigned int *, u32);\n};\n\nstruct ptp_sys_offset {\n\tunsigned int n_samples;\n\tunsigned int rsv[3];\n\tstruct ptp_clock_time ts[51];\n};\n\nstruct ptp_sys_offset_extended {\n\tunsigned int n_samples;\n\t__kernel_clockid_t clockid;\n\tunsigned int rsv[2];\n\tstruct ptp_clock_time ts[75];\n};\n\nstruct ptp_sys_offset_precise {\n\tstruct ptp_clock_time device;\n\tstruct ptp_clock_time sys_realtime;\n\tstruct ptp_clock_time sys_monoraw;\n\tunsigned int rsv[4];\n};\n\nstruct ptp_system_timestamp {\n\tstruct timespec64 pre_ts;\n\tstruct timespec64 post_ts;\n\tclockid_t clockid;\n};\n\nstruct ptp_tstamp {\n\tu16 sec_msb;\n\tu32 sec_lsb;\n\tu32 nsec;\n};\n\nstruct ptp_vclock {\n\tstruct ptp_clock *pclock;\n\tstruct ptp_clock_info info;\n\tstruct ptp_clock *clock;\n\tstruct hlist_node vclock_hash_node;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tstruct mutex lock;\n};\n\nstruct ptrace_peeksiginfo_args {\n\t__u64 off;\n\t__u32 flags;\n\t__s32 nr;\n};\n\nstruct ptrace_rseq_configuration {\n\t__u64 rseq_abi_pointer;\n\t__u32 rseq_abi_size;\n\t__u32 signature;\n\t__u32 flags;\n\t__u32 pad;\n};\n\nstruct ptrace_syscall_info {\n\t__u8 op;\n\t__u8 pad[3];\n\t__u32 arch;\n\t__u64 instruction_pointer;\n\t__u64 stack_pointer;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t} entry;\n\t\tstruct {\n\t\t\t__s64 rval;\n\t\t\t__u8 is_error;\n\t\t} exit;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t\t__u32 ret_data;\n\t\t} seccomp;\n\t};\n};\n\nstruct ptrauth_key {\n\tlong unsigned int lo;\n\tlong unsigned int hi;\n};\n\nstruct ptrauth_keys_kernel {\n\tstruct ptrauth_key apia;\n};\n\nstruct ptrauth_keys_user {\n\tstruct ptrauth_key apia;\n\tstruct ptrauth_key apib;\n\tstruct ptrauth_key apda;\n\tstruct ptrauth_key apdb;\n\tstruct ptrauth_key apga;\n};\n\nstruct pts_mount_opts {\n\tint setuid;\n\tint setgid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tumode_t ptmxmode;\n\tint reserve;\n\tint max;\n};\n\nstruct pts_fs_info {\n\tstruct ida allocated_ptys;\n\tstruct pts_mount_opts mount_opts;\n\tstruct super_block *sb;\n\tstruct dentry *ptmx_dentry;\n};\n\nstruct public_key {\n\tvoid *key;\n\tu32 keylen;\n\tenum OID algo;\n\tvoid *params;\n\tu32 paramlen;\n\tbool key_is_private;\n\tconst char *id_type;\n\tconst char *pkey_algo;\n\tlong unsigned int key_eflags;\n};\n\nstruct public_key_signature {\n\tstruct asymmetric_key_id *auth_ids[3];\n\tu8 *s;\n\tu8 *digest;\n\tu32 s_size;\n\tu32 digest_size;\n\tconst char *pkey_algo;\n\tconst char *hash_algo;\n\tconst char *encoding;\n};\n\nstruct pvclock_vcpu_stolen_time;\n\nstruct pv_time_stolen_time_region {\n\tstruct pvclock_vcpu_stolen_time *kaddr;\n};\n\nstruct pvclock_vcpu_stolen_time {\n\t__le32 revision;\n\t__le32 attributes;\n\t__le64 stolen_time;\n\tu8 padding[48];\n};\n\nstruct pvclock_vcpu_time_info {\n\tu32 version;\n\tu32 pad0;\n\tu64 tsc_timestamp;\n\tu64 system_time;\n\tu32 tsc_to_system_mul;\n\ts8 tsc_shift;\n\tu8 flags;\n\tu8 pad[2];\n};\n\nstruct pvclock_wall_clock {\n\tu32 version;\n\tu32 sec;\n\tu32 nsec;\n\tu32 sec_hi;\n};\n\nstruct pvm_ftr_bits {\n\tbool sign;\n\tu8 shift;\n\tu8 width;\n\tu8 max_val;\n\tbool (*vm_supported)(const struct kvm *);\n};\n\nstruct pwm_args {\n\tu64 period;\n\tenum pwm_polarity polarity;\n};\n\nstruct pwm_capture {\n\tunsigned int period;\n\tunsigned int duty_cycle;\n};\n\nstruct pwm_chip;\n\ntypedef struct pwm_chip *class_pwmchip_t;\n\nstruct pwm_device {\n\tconst char *label;\n\tlong unsigned int flags;\n\tunsigned int hwpwm;\n\tstruct pwm_chip *chip;\n\tstruct pwm_args args;\n\tstruct pwm_state state;\n\tstruct pwm_state last;\n};\n\nstruct pwm_ops;\n\nstruct pwm_chip {\n\tstruct device dev;\n\tconst struct pwm_ops *ops;\n\tstruct module *owner;\n\tunsigned int id;\n\tunsigned int npwm;\n\tstruct pwm_device * (*of_xlate)(struct pwm_chip *, const struct of_phandle_args *);\n\tbool atomic;\n\tbool uses_pwmchip_alloc;\n\tbool operational;\n\tunion {\n\t\tstruct mutex nonatomic_lock;\n\t\tspinlock_t atomic_lock;\n\t};\n\tstruct pwm_device pwms[0];\n};\n\nstruct pwm_continuous_reg_data {\n\tunsigned int min_uV_dutycycle;\n\tunsigned int max_uV_dutycycle;\n\tunsigned int dutycycle_unit;\n};\n\nstruct pwm_export {\n\tstruct device pwm_dev;\n\tstruct pwm_device *pwm;\n\tstruct mutex lock;\n\tstruct pwm_state suspend;\n};\n\nstruct pwm_lookup {\n\tstruct list_head list;\n\tconst char *provider;\n\tunsigned int index;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tunsigned int period;\n\tenum pwm_polarity polarity;\n\tconst char *module;\n};\n\nstruct pwm_waveform;\n\nstruct pwm_ops {\n\tint (*request)(struct pwm_chip *, struct pwm_device *);\n\tvoid (*free)(struct pwm_chip *, struct pwm_device *);\n\tint (*capture)(struct pwm_chip *, struct pwm_device *, struct pwm_capture *, long unsigned int);\n\tsize_t sizeof_wfhw;\n\tint (*round_waveform_tohw)(struct pwm_chip *, struct pwm_device *, const struct pwm_waveform *, void *);\n\tint (*round_waveform_fromhw)(struct pwm_chip *, struct pwm_device *, const void *, struct pwm_waveform *);\n\tint (*read_waveform)(struct pwm_chip *, struct pwm_device *, void *);\n\tint (*write_waveform)(struct pwm_chip *, struct pwm_device *, const void *);\n\tint (*apply)(struct pwm_chip *, struct pwm_device *, const struct pwm_state *);\n\tint (*get_state)(struct pwm_chip *, struct pwm_device *, struct pwm_state *);\n};\n\nstruct pwm_voltages;\n\nstruct pwm_regulator_data {\n\tstruct pwm_device *pwm;\n\tstruct pwm_voltages *duty_cycle_table;\n\tstruct pwm_continuous_reg_data continuous;\n\tstruct regulator_desc desc;\n\tint state;\n\tstruct gpio_desc *enb_gpio;\n};\n\nstruct pwm_voltages {\n\tunsigned int uV;\n\tunsigned int dutycycle;\n};\n\nstruct pwm_waveform {\n\tu64 period_length_ns;\n\tu64 duty_length_ns;\n\tu64 duty_offset_ns;\n};\n\nstruct pwrap_slv_regops {\n\tconst struct regmap_config *regmap;\n\tint (*pwrap_read)(struct pmic_wrapper *, u32, u32 *);\n\tint (*pwrap_write)(struct pmic_wrapper *, u32, u32);\n};\n\nstruct pwrap_slv_type {\n\tconst u32 *dew_regs;\n\tenum pmic_type type;\n\tconst u32 *comp_dew_regs;\n\tenum pmic_type comp_type;\n\tconst struct pwrap_slv_regops *regops;\n\tu32 caps;\n};\n\nstruct pxa3xx_nand_platform_data {\n\tbool keep_config;\n\tbool flash_bbt;\n\tint ecc_strength;\n\tint ecc_step_size;\n\tconst struct mtd_partition *parts;\n\tunsigned int nr_parts;\n};\n\nstruct pxa_i2c {\n\tspinlock_t lock;\n\twait_queue_head_t wait;\n\tstruct i2c_msg *msg;\n\tunsigned int msg_num;\n\tunsigned int msg_idx;\n\tunsigned int msg_ptr;\n\tunsigned int slave_addr;\n\tunsigned int req_slave_addr;\n\tstruct i2c_adapter adap;\n\tstruct clk *clk;\n\tunsigned int irqlogidx;\n\tu32 isrlog[32];\n\tu32 icrlog[32];\n\tvoid *reg_base;\n\tvoid *reg_ibmr;\n\tvoid *reg_idbr;\n\tvoid *reg_icr;\n\tvoid *reg_isr;\n\tvoid *reg_isar;\n\tvoid *reg_ilcr;\n\tvoid *reg_iwcr;\n\tlong unsigned int iobase;\n\tlong unsigned int iosize;\n\tint irq;\n\tunsigned int use_pio: 1;\n\tunsigned int fast_mode: 1;\n\tunsigned int high_mode: 1;\n\tunsigned char master_code;\n\tlong unsigned int rate;\n\tbool highmode_enter;\n\tu32 fm_mask;\n\tu32 hs_mask;\n\tstruct i2c_bus_recovery_info recovery;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pinctrl_default;\n\tstruct pinctrl_state *pinctrl_recovery;\n};\n\nstruct pxa_reg_layout {\n\tu32 ibmr;\n\tu32 idbr;\n\tu32 icr;\n\tu32 isr;\n\tu32 isar;\n\tu32 ilcr;\n\tu32 iwcr;\n\tu32 fm;\n\tu32 hs;\n};\n\nstruct qbman_acquire_desc {\n\tu8 verb;\n\tu8 reserved;\n\t__le16 bpid;\n\tu8 num;\n\tu8 reserved2[59];\n};\n\nstruct qbman_acquire_rslt {\n\tu8 verb;\n\tu8 rslt;\n\t__le16 reserved;\n\tu8 num;\n\tu8 reserved2[3];\n\t__le64 buf[7];\n};\n\nstruct qbman_alt_fq_state_desc {\n\tu8 verb;\n\tu8 reserved[3];\n\t__le32 fqid;\n\tu8 reserved2[56];\n};\n\nstruct qbman_alt_fq_state_rslt {\n\tu8 verb;\n\tu8 rslt;\n\tu8 reserved[62];\n};\n\nstruct qbman_bp_query_desc {\n\tu8 verb;\n\tu8 reserved;\n\t__le16 bpid;\n\tu8 reserved2[60];\n};\n\nstruct qbman_bp_query_rslt {\n\tu8 verb;\n\tu8 rslt;\n\tu8 reserved[4];\n\tu8 bdi;\n\tu8 state;\n\t__le32 fill;\n\t__le32 hdotr;\n\t__le16 swdet;\n\t__le16 swdxt;\n\t__le16 hwdet;\n\t__le16 hwdxt;\n\t__le16 swset;\n\t__le16 swsxt;\n\t__le16 vbpid;\n\t__le16 icid;\n\t__le64 bpscn_addr;\n\t__le64 bpscn_ctx;\n\t__le16 hw_targ;\n\tu8 dbe;\n\tu8 reserved2;\n\tu8 sdcnt;\n\tu8 hdcnt;\n\tu8 sscnt;\n\tu8 reserved3[9];\n};\n\nstruct qbman_cdan_ctrl_desc {\n\tu8 verb;\n\tu8 reserved;\n\t__le16 ch;\n\tu8 we;\n\tu8 ctrl;\n\t__le16 reserved2;\n\t__le64 cdan_ctx;\n\tu8 reserved3[48];\n};\n\nstruct qbman_cdan_ctrl_rslt {\n\tu8 verb;\n\tu8 rslt;\n\t__le16 ch;\n\tu8 reserved[60];\n};\n\nstruct qbman_eq_desc {\n\tu8 verb;\n\tu8 dca;\n\t__le16 seqnum;\n\t__le16 orpid;\n\t__le16 reserved1;\n\t__le32 tgtid;\n\t__le32 tag;\n\t__le16 qdbin;\n\tu8 qpri;\n\tu8 reserved[3];\n\tu8 wae;\n\tu8 rspid;\n\t__le64 rsp_addr;\n};\n\nstruct qbman_fq_query_desc {\n\tu8 verb;\n\tu8 reserved[3];\n\t__le32 fqid;\n\tu8 reserved2[56];\n};\n\nstruct qbman_fq_query_np_rslt {\n\tu8 verb;\n\tu8 rslt;\n\tu8 st1;\n\tu8 st2;\n\tu8 reserved[2];\n\t__le16 od1_sfdr;\n\t__le16 od2_sfdr;\n\t__le16 od3_sfdr;\n\t__le16 ra1_sfdr;\n\t__le16 ra2_sfdr;\n\t__le32 pfdr_hptr;\n\t__le32 pfdr_tptr;\n\t__le32 frm_cnt;\n\t__le32 byte_cnt;\n\t__le16 ics_surp;\n\tu8 is;\n\tu8 reserved2[29];\n};\n\nstruct qbman_pull_desc {\n\tu8 verb;\n\tu8 numf;\n\tu8 tok;\n\tu8 reserved;\n\t__le32 dq_src;\n\t__le64 rsp_addr;\n\tu64 rsp_addr_virt;\n\tu8 padding[40];\n};\n\nstruct qbman_release_desc {\n\tu8 verb;\n\tu8 reserved;\n\t__le16 bpid;\n\t__le32 reserved2;\n\t__le64 buf[7];\n};\n\nstruct qbman_swp {\n\tconst struct qbman_swp_desc *desc;\n\tvoid *addr_cena;\n\tvoid *addr_cinh;\n\tstruct {\n\t\tu32 valid_bit;\n\t} mc;\n\tstruct {\n\t\tu32 valid_bit;\n\t} mr;\n\tu32 sdq;\n\tstruct {\n\t\tatomic_t available;\n\t\tu32 valid_bit;\n\t\tstruct dpaa2_dq *storage;\n\t} vdq;\n\tstruct {\n\t\tu32 next_idx;\n\t\tu32 valid_bit;\n\t\tu8 dqrr_size;\n\t\tint reset_bug;\n\t} dqrr;\n\tstruct {\n\t\tu32 pi;\n\t\tu32 pi_vb;\n\t\tu32 pi_ring_size;\n\t\tu32 pi_ci_mask;\n\t\tu32 ci;\n\t\tint available;\n\t\tu32 pend;\n\t\tu32 no_pfdr;\n\t} eqcr;\n\tspinlock_t access_spinlock;\n\tu32 irq_threshold;\n\tu32 irq_holdoff;\n\tint use_adaptive_rx_coalesce;\n};\n\nstruct qc_dqblk {\n\tint d_fieldmask;\n\tu64 d_spc_hardlimit;\n\tu64 d_spc_softlimit;\n\tu64 d_ino_hardlimit;\n\tu64 d_ino_softlimit;\n\tu64 d_space;\n\tu64 d_ino_count;\n\ts64 d_ino_timer;\n\ts64 d_spc_timer;\n\tint d_ino_warns;\n\tint d_spc_warns;\n\tu64 d_rt_spc_hardlimit;\n\tu64 d_rt_spc_softlimit;\n\tu64 d_rt_space;\n\ts64 d_rt_spc_timer;\n\tint d_rt_spc_warns;\n};\n\nstruct qc_info {\n\tint i_fieldmask;\n\tunsigned int i_flags;\n\tunsigned int i_spc_timelimit;\n\tunsigned int i_ino_timelimit;\n\tunsigned int i_rt_spc_timelimit;\n\tunsigned int i_spc_warnlimit;\n\tunsigned int i_ino_warnlimit;\n\tunsigned int i_rt_spc_warnlimit;\n};\n\nstruct qc_type_state {\n\tunsigned int flags;\n\tunsigned int spc_timelimit;\n\tunsigned int ino_timelimit;\n\tunsigned int rt_spc_timelimit;\n\tunsigned int spc_warnlimit;\n\tunsigned int ino_warnlimit;\n\tunsigned int rt_spc_warnlimit;\n\tlong long unsigned int ino;\n\tblkcnt_t blocks;\n\tblkcnt_t nextents;\n};\n\nstruct qc_state {\n\tunsigned int s_incoredqs;\n\tstruct qc_type_state s_state[3];\n};\n\nstruct qcom_adm_peripheral_config {\n\tu32 crci;\n\tu32 mux;\n};\n\nstruct qcom_aoss_reset_map;\n\nstruct qcom_aoss_desc {\n\tconst struct qcom_aoss_reset_map *resets;\n\tsize_t num_resets;\n};\n\nstruct qcom_aoss_reset_data {\n\tstruct reset_controller_dev rcdev;\n\tvoid *base;\n\tconst struct qcom_aoss_desc *desc;\n};\n\nstruct qcom_aoss_reset_map {\n\tunsigned int reg;\n};\n\nstruct qcom_apcs_ipc {\n\tstruct mbox_controller mbox;\n\tstruct mbox_chan mbox_chans[32];\n\tstruct regmap *regmap;\n\tlong unsigned int offset;\n\tstruct platform_device *clk;\n};\n\nstruct qcom_apcs_ipc_data {\n\tint offset;\n\tchar *clk_name;\n};\n\nstruct qcom_reset_map;\n\nstruct qcom_reset_controller {\n\tconst struct qcom_reset_map *reset_map;\n\tstruct regmap *regmap;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct qcom_cc {\n\tstruct qcom_reset_controller reset;\n\tstruct clk_regmap **rclks;\n\tsize_t num_rclks;\n};\n\nstruct qcom_icc_hws_data;\n\nstruct qcom_cc_desc {\n\tconst struct regmap_config *config;\n\tstruct clk_regmap **clks;\n\tsize_t num_clks;\n\tconst struct qcom_reset_map *resets;\n\tsize_t num_resets;\n\tstruct gdsc **gdscs;\n\tsize_t num_gdscs;\n\tstruct clk_hw **clk_hws;\n\tsize_t num_clk_hws;\n\tconst struct qcom_icc_hws_data *icc_hws;\n\tsize_t num_icc_hws;\n\tunsigned int icc_first_node_id;\n};\n\nstruct qcom_cpufreq_data {\n\tvoid *base;\n\tstruct mutex throttle_lock;\n\tint throttle_irq;\n\tchar irq_name[15];\n\tbool cancel_throttle;\n\tstruct delayed_work throttle_work;\n\tstruct cpufreq_policy *policy;\n\tstruct clk_hw cpu_clk;\n\tbool per_core_dcvs;\n};\n\nstruct qcom_cpufreq_drv_cpu {\n\tint opp_token;\n\tstruct dev_pm_domain_list *pd_list;\n};\n\nstruct qcom_cpufreq_match_data;\n\nstruct qcom_cpufreq_drv {\n\tu32 versions;\n\tconst struct qcom_cpufreq_match_data *data;\n\tstruct qcom_cpufreq_drv_cpu cpus[0];\n};\n\nstruct qcom_cpufreq_match_data {\n\tint (*get_version)(struct device *, struct nvmem_cell *, char **, struct qcom_cpufreq_drv *);\n\tconst char **pd_names;\n\tunsigned int num_pd_names;\n};\n\nstruct qcom_cpufreq_soc_data {\n\tu32 reg_enable;\n\tu32 reg_domain_state;\n\tu32 reg_dcvs_ctrl;\n\tu32 reg_freq_lut;\n\tu32 reg_volt_lut;\n\tu32 reg_intr_clr;\n\tu32 reg_current_vote;\n\tu32 reg_perf_state;\n\tu8 lut_row_size;\n};\n\nstruct qcom_geni_device_data {\n\tbool console;\n\tenum geni_se_xfer_mode mode;\n};\n\nstruct qcom_geni_private_data {\n\tstruct uart_driver *drv;\n\tu32 poll_cached_bytes;\n\tunsigned int poll_cached_bytes_cnt;\n\tu32 write_cached_bytes;\n\tunsigned int write_cached_bytes_cnt;\n};\n\nstruct qcom_geni_serial_port {\n\tstruct uart_port uport;\n\tstruct geni_se se;\n\tconst char *name;\n\tu32 tx_fifo_depth;\n\tu32 tx_fifo_width;\n\tu32 rx_fifo_depth;\n\tdma_addr_t tx_dma_addr;\n\tdma_addr_t rx_dma_addr;\n\tbool setup;\n\tlong unsigned int poll_timeout_us;\n\tlong unsigned int clk_rate;\n\tvoid *rx_buf;\n\tu32 loopback;\n\tbool brk;\n\tunsigned int tx_remaining;\n\tunsigned int tx_queued;\n\tint wakeup_irq;\n\tbool rx_tx_swap;\n\tbool cts_rts_swap;\n\tstruct qcom_geni_private_data private_data;\n\tconst struct qcom_geni_device_data *dev_data;\n};\n\nstruct qcom_glink {\n\tstruct device *dev;\n\tconst char *label;\n\tstruct qcom_glink_pipe *rx_pipe;\n\tstruct qcom_glink_pipe *tx_pipe;\n\tstruct work_struct rx_work;\n\tspinlock_t rx_lock;\n\tstruct list_head rx_queue;\n\tspinlock_t tx_lock;\n\tspinlock_t idr_lock;\n\tstruct idr lcids;\n\tstruct idr rcids;\n\tlong unsigned int features;\n\tbool intentless;\n\twait_queue_head_t tx_avail_notify;\n\tbool sent_read_notify;\n\tbool abort_tx;\n};\n\nstruct qcom_hwspinlock_of_data {\n\tu32 offset;\n\tu32 stride;\n\tconst struct regmap_config *regmap_config;\n};\n\nstruct qcom_icc_node;\n\nstruct qcom_icc_bcm {\n\tconst char *name;\n\tu32 type;\n\tu32 addr;\n\tu64 vote_x[3];\n\tu64 vote_y[3];\n\tu64 vote_scale;\n\tu32 enable_mask;\n\tbool dirty;\n\tbool keepalive;\n\tstruct bcm_db aux_data;\n\tstruct list_head list;\n\tstruct list_head ws_list;\n\tsize_t num_nodes;\n\tstruct qcom_icc_node *nodes[0];\n};\n\nstruct qcom_icc_node___2;\n\nstruct rpm_clk_resource;\n\nstruct qcom_icc_desc {\n\tstruct qcom_icc_node___2 * const *nodes;\n\tsize_t num_nodes;\n\tconst struct rpm_clk_resource *bus_clk_desc;\n\tconst char * const *intf_clocks;\n\tsize_t num_intf_clocks;\n\tbool keep_alive;\n\tenum qcom_icc_type type;\n\tconst struct regmap_config *regmap_cfg;\n\tunsigned int qos_offset;\n\tu16 ab_coeff;\n\tu16 ib_coeff;\n};\n\nstruct qcom_icc_desc___2 {\n\tconst struct regmap_config *config;\n\tstruct qcom_icc_node * const *nodes;\n\tsize_t num_nodes;\n\tstruct qcom_icc_bcm * const *bcms;\n\tsize_t num_bcms;\n\tbool qos_requires_clocks;\n};\n\nstruct qcom_icc_hws_data {\n\tint master_id;\n\tint slave_id;\n\tint clk_id;\n};\n\nstruct qcom_icc_qos {\n\tu32 areq_prio;\n\tu32 prio_level;\n\tbool limit_commands;\n\tbool ap_owned;\n\tint qos_mode;\n\tint qos_port;\n\tbool urg_fwd_en;\n};\n\nstruct qcom_icc_node___2 {\n\tunsigned char *name;\n\tu16 id;\n\tconst u16 *links;\n\tu16 num_links;\n\tu16 channels;\n\tu16 buswidth;\n\tconst struct rpm_clk_resource *bus_clk_desc;\n\tu64 sum_avg[2];\n\tu64 max_peak[2];\n\tint mas_rpm_id;\n\tint slv_rpm_id;\n\tstruct qcom_icc_qos qos;\n\tu16 ab_coeff;\n\tu16 ib_coeff;\n\tu32 bus_clk_rate[2];\n};\n\nstruct qcom_icc_qosbox;\n\nstruct qcom_icc_node {\n\tconst char *name;\n\tu16 links[128];\n\tu16 id;\n\tu16 num_links;\n\tu16 channels;\n\tu16 buswidth;\n\tu64 sum_avg[3];\n\tu64 max_peak[3];\n\tstruct qcom_icc_bcm *bcms[3];\n\tsize_t num_bcms;\n\tconst struct qcom_icc_qosbox *qosbox;\n};\n\nstruct qcom_icc_provider {\n\tstruct icc_provider provider;\n\tint num_intf_clks;\n\tenum qcom_icc_type type;\n\tstruct regmap *regmap;\n\tunsigned int qos_offset;\n\tu16 ab_coeff;\n\tu16 ib_coeff;\n\tu32 bus_clk_rate[2];\n\tconst struct rpm_clk_resource *bus_clk_desc;\n\tstruct clk *bus_clk;\n\tstruct clk_bulk_data *intf_clks;\n\tbool keep_alive;\n\tbool is_on;\n};\n\nstruct qcom_icc_provider___2 {\n\tstruct icc_provider provider;\n\tstruct device *dev;\n\tstruct qcom_icc_bcm * const *bcms;\n\tsize_t num_bcms;\n\tstruct bcm_voter *voter;\n\tstruct qcom_icc_node * const *nodes;\n\tsize_t num_nodes;\n\tstruct regmap *regmap;\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct qcom_icc_qosbox {\n\tconst u32 prio;\n\tconst bool urg_fwd;\n\tconst bool prio_fwd_disable;\n\tconst u32 num_ports;\n\tconst u32 port_offsets[2];\n};\n\nstruct qcom_iommu_ctx {\n\tstruct device *dev;\n\tvoid *base;\n\tbool secure_init;\n\tbool secured_ctx;\n\tu8 asid;\n\tstruct iommu_domain *domain;\n};\n\nstruct qcom_iommu_dev {\n\tstruct iommu_device iommu;\n\tstruct device *dev;\n\tstruct clk_bulk_data clks[3];\n\tvoid *local_base;\n\tu32 sec_id;\n\tu8 max_asid;\n\tstruct qcom_iommu_ctx *ctxs[0];\n};\n\nstruct qcom_iommu_domain {\n\tstruct io_pgtable_ops *pgtbl_ops;\n\tspinlock_t pgtbl_lock;\n\tstruct mutex init_mutex;\n\tstruct iommu_domain domain;\n\tstruct qcom_iommu_dev *iommu;\n\tstruct iommu_fwspec *fwspec;\n};\n\nstruct qcom_ipcc_chan_info;\n\nstruct qcom_ipcc {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct irq_domain *irq_domain;\n\tstruct mbox_chan *chans;\n\tstruct qcom_ipcc_chan_info *mchan;\n\tstruct mbox_controller mbox;\n\tint num_chans;\n\tint irq;\n};\n\nstruct qcom_ipcc_chan_info {\n\tu16 client_id;\n\tu16 signal_id;\n};\n\nstruct qcom_mpm_priv {\n\tvoid *base;\n\traw_spinlock_t lock;\n\tstruct mbox_client mbox_client;\n\tstruct mbox_chan *mbox_chan;\n\tstruct mpm_gic_map *maps;\n\tunsigned int map_cnt;\n\tunsigned int reg_stride;\n\tstruct irq_domain *domain;\n\tstruct generic_pm_domain genpd;\n};\n\nstruct qcom_nand_boot_partition {\n\tu32 page_offset;\n\tu32 page_size;\n};\n\nstruct qcom_nandc_props;\n\nstruct qcom_nand_controller {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk *core_clk;\n\tstruct clk *aon_clk;\n\tstruct nandc_regs *regs;\n\tstruct bam_transaction *bam_txn;\n\tconst struct qcom_nandc_props *props;\n\tstruct nand_controller *controller;\n\tstruct list_head host_list;\n\tunion {\n\t\tstruct {\n\t\t\tstruct dma_chan *tx_chan;\n\t\t\tstruct dma_chan *rx_chan;\n\t\t\tstruct dma_chan *cmd_chan;\n\t\t};\n\t\tstruct {\n\t\t\tstruct dma_chan *chan;\n\t\t\tunsigned int cmd_crci;\n\t\t\tunsigned int data_crci;\n\t\t};\n\t};\n\tstruct list_head desc_list;\n\tu8 *data_buffer;\n\t__le32 *reg_read_buf;\n\tphys_addr_t base_phys;\n\tdma_addr_t base_dma;\n\tdma_addr_t reg_read_dma;\n\tint buf_size;\n\tint buf_count;\n\tint buf_start;\n\tunsigned int max_cwperpage;\n\tint reg_read_pos;\n\tu32 cmd1;\n\tu32 vld;\n\tbool exec_opwrite;\n};\n\nstruct qcom_nand_host {\n\tstruct qcom_nand_boot_partition *boot_partitions;\n\tstruct nand_chip chip;\n\tstruct list_head node;\n\tint nr_boot_partitions;\n\tint cs;\n\tint cw_size;\n\tint cw_data;\n\tint ecc_bytes_hw;\n\tint spare_bytes;\n\tint bbm_size;\n\tint last_command;\n\tu32 cfg0;\n\tu32 cfg1;\n\tu32 cfg0_raw;\n\tu32 cfg1_raw;\n\tu32 ecc_buf_cfg;\n\tu32 ecc_bch_cfg;\n\tu32 clrflashstatus;\n\tu32 clrreadstatus;\n\tu8 status;\n\tbool codeword_fixup;\n\tbool use_ecc;\n\tbool bch_enabled;\n};\n\nstruct qcom_nandc_props {\n\tu32 ecc_modes;\n\tu32 dev_cmd_reg_start;\n\tbool supports_bam;\n\tbool nandc_part_of_qpic;\n\tbool qpic_version2;\n\tbool use_codeword_fixup;\n};\n\nstruct qcom_op {\n\tconst struct nand_op_instr *data_instr;\n\tunsigned int data_instr_idx;\n\tunsigned int rdy_timeout_ms;\n\tunsigned int rdy_delay_ns;\n\t__le32 addr1_reg;\n\t__le32 addr2_reg;\n\t__le32 cmd_reg;\n\tu8 flag;\n};\n\nstruct qcom_pcie_resources_1_0_0 {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct reset_control *core;\n\tstruct regulator *vdda;\n};\n\nstruct qcom_pcie_resources_2_1_0 {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct reset_control_bulk_data resets[6];\n\tint num_resets;\n\tstruct regulator_bulk_data supplies[3];\n};\n\nstruct qcom_pcie_resources_2_3_2 {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct regulator_bulk_data supplies[2];\n};\n\nstruct qcom_pcie_resources_2_3_3 {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct reset_control_bulk_data rst[7];\n};\n\nstruct qcom_pcie_resources_2_4_0 {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct reset_control_bulk_data resets[12];\n\tint num_resets;\n};\n\nstruct qcom_pcie_resources_2_7_0 {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct regulator_bulk_data supplies[2];\n\tstruct reset_control *rst;\n};\n\nstruct qcom_pcie_resources_2_9_0 {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct reset_control *rst;\n};\n\nunion qcom_pcie_resources {\n\tstruct qcom_pcie_resources_1_0_0 v1_0_0;\n\tstruct qcom_pcie_resources_2_1_0 v2_1_0;\n\tstruct qcom_pcie_resources_2_3_2 v2_3_2;\n\tstruct qcom_pcie_resources_2_3_3 v2_3_3;\n\tstruct qcom_pcie_resources_2_4_0 v2_4_0;\n\tstruct qcom_pcie_resources_2_7_0 v2_7_0;\n\tstruct qcom_pcie_resources_2_9_0 v2_9_0;\n};\n\nstruct qcom_pcie_cfg;\n\nstruct qcom_pcie {\n\tstruct dw_pcie *pci;\n\tvoid *parf;\n\tvoid *elbi;\n\tvoid *mhi;\n\tunion qcom_pcie_resources res;\n\tstruct phy *phy;\n\tstruct gpio_desc *reset;\n\tstruct icc_path *icc_mem;\n\tstruct icc_path *icc_cpu;\n\tconst struct qcom_pcie_cfg *cfg;\n\tstruct dentry *debugfs;\n\tbool suspended;\n\tbool use_pm_opp;\n};\n\nstruct qcom_pcie_ops;\n\nstruct qcom_pcie_cfg {\n\tconst struct qcom_pcie_ops *ops;\n\tbool override_no_snoop;\n\tbool no_l0s;\n};\n\nstruct qcom_pcie_ops {\n\tint (*get_resources)(struct qcom_pcie *);\n\tint (*init)(struct qcom_pcie *);\n\tint (*post_init)(struct qcom_pcie *);\n\tvoid (*host_post_init)(struct qcom_pcie *);\n\tvoid (*deinit)(struct qcom_pcie *);\n\tvoid (*ltssm_enable)(struct qcom_pcie *);\n\tint (*config_sid)(struct qcom_pcie *);\n};\n\nstruct qcom_reset_map {\n\tunsigned int reg;\n\tu8 bit;\n\tu16 udelay;\n\tu32 bitmask;\n};\n\nstruct qcom_rpm_header {\n\t__le32 service_type;\n\t__le32 length;\n};\n\nstruct qcom_rpm_message {\n\t__le32 msg_type;\n\t__le32 length;\n\tunion {\n\t\t__le32 msg_id;\n\t\tstruct {\n\t\t\tstruct {} __empty_message;\n\t\t\tu8 message[0];\n\t\t};\n\t};\n};\n\nstruct qcom_rpm_reg {\n\tstruct device *dev;\n\tu32 type;\n\tu32 id;\n\tstruct regulator_desc desc;\n\tint is_enabled;\n\tint uV;\n\tu32 load;\n\tunsigned int enabled_updated: 1;\n\tunsigned int uv_updated: 1;\n\tunsigned int load_updated: 1;\n};\n\nstruct qcom_rpm_request {\n\t__le32 msg_id;\n\t__le32 flags;\n\t__le32 type;\n\t__le32 id;\n\t__le32 data_len;\n};\n\nstruct qcom_tzmem_pool;\n\nstruct qcom_scm {\n\tstruct device *dev;\n\tstruct clk *core_clk;\n\tstruct clk *iface_clk;\n\tstruct clk *bus_clk;\n\tstruct icc_path *path;\n\tstruct completion waitq_comp;\n\tstruct reset_controller_dev reset;\n\tstruct mutex scm_bw_lock;\n\tint scm_vote_count;\n\tu64 dload_mode_addr;\n\tstruct qcom_tzmem_pool *mempool;\n};\n\nstruct qcom_scm_current_perm_info {\n\t__le32 vmid;\n\t__le32 perm;\n\t__le64 ctx;\n\t__le32 ctx_size;\n\t__le32 unused;\n};\n\nstruct qcom_scm_desc {\n\tu32 svc;\n\tu32 cmd;\n\tu32 arginfo;\n\tu64 args[10];\n\tu32 owner;\n};\n\nstruct qcom_scm_hdcp_req {\n\tu32 addr;\n\tu32 val;\n};\n\nstruct qcom_scm_mem_map_info {\n\t__le64 mem_addr;\n\t__le64 mem_size;\n};\n\nstruct qcom_scm_pas_metadata {\n\tvoid *ptr;\n\tdma_addr_t phys;\n\tssize_t size;\n};\n\nstruct qcom_scm_qseecom_resp {\n\tu64 result;\n\tu64 resp_type;\n\tu64 data;\n};\n\nstruct qcom_scm_res {\n\tu64 result[3];\n};\n\nstruct qcom_scm_vmperm {\n\tint vmid;\n\tint perm;\n};\n\nstruct qcom_smd_alloc_entry {\n\tu8 name[20];\n\t__le32 cid;\n\t__le32 flags;\n\t__le32 ref_count;\n};\n\nstruct qcom_smd_edge;\n\nstruct qcom_smd_endpoint;\n\nstruct smd_channel_info_pair;\n\nstruct smd_channel_info_word_pair;\n\nstruct qcom_smd_channel {\n\tstruct qcom_smd_edge *edge;\n\tstruct qcom_smd_endpoint *qsept;\n\tbool registered;\n\tchar *name;\n\tenum smd_channel_state state;\n\tenum smd_channel_state remote_state;\n\twait_queue_head_t state_change_event;\n\tstruct smd_channel_info_pair *info;\n\tstruct smd_channel_info_word_pair *info_word;\n\tspinlock_t tx_lock;\n\twait_queue_head_t fblockread_event;\n\tvoid *tx_fifo;\n\tvoid *rx_fifo;\n\tint fifo_size;\n\tvoid *bounce_buffer;\n\tspinlock_t recv_lock;\n\tint pkt_size;\n\tvoid *drvdata;\n\tstruct list_head list;\n};\n\nstruct rpmsg_device_id {\n\tchar name[32];\n\tkernel_ulong_t driver_data;\n};\n\nstruct rpmsg_device_ops;\n\nstruct rpmsg_device {\n\tstruct device dev;\n\tstruct rpmsg_device_id id;\n\tconst char *driver_override;\n\tu32 src;\n\tu32 dst;\n\tstruct rpmsg_endpoint *ept;\n\tbool announce;\n\tbool little_endian;\n\tconst struct rpmsg_device_ops *ops;\n};\n\nstruct qcom_smd_device {\n\tstruct rpmsg_device rpdev;\n\tstruct qcom_smd_edge *edge;\n};\n\nstruct qcom_smd_edge {\n\tstruct device dev;\n\tconst char *name;\n\tstruct device_node *of_node;\n\tunsigned int edge_id;\n\tunsigned int remote_pid;\n\tint irq;\n\tstruct regmap *ipc_regmap;\n\tint ipc_offset;\n\tint ipc_bit;\n\tstruct mbox_client mbox_client;\n\tstruct mbox_chan *mbox_chan;\n\tstruct list_head channels;\n\tspinlock_t channels_lock;\n\tlong unsigned int allocated[2];\n\tunsigned int smem_available;\n\twait_queue_head_t new_channel_event;\n\tstruct work_struct scan_work;\n\tstruct work_struct state_work;\n};\n\nstruct qcom_smd_endpoint {\n\tstruct rpmsg_endpoint ept;\n\tstruct qcom_smd_channel *qsch;\n};\n\nstruct qcom_smd_rpm {\n\tstruct rpmsg_endpoint *rpm_channel;\n\tstruct device *dev;\n\tstruct completion ack;\n\tstruct mutex lock;\n\tint ack_status;\n};\n\nstruct smem_partition {\n\tvoid *virt_base;\n\tphys_addr_t phys_base;\n\tsize_t cacheline;\n\tsize_t size;\n};\n\nstruct smem_region {\n\tphys_addr_t aux_base;\n\tvoid *virt_base;\n\tsize_t size;\n};\n\nstruct smem_ptable;\n\nstruct qcom_smem {\n\tstruct device *dev;\n\tstruct hwspinlock *hwlock;\n\tu32 item_count;\n\tstruct platform_device *socinfo;\n\tstruct smem_ptable *ptable;\n\tstruct smem_partition global_partition;\n\tstruct smem_partition partitions[20];\n\tunsigned int num_regions;\n\tstruct smem_region regions[0];\n};\n\nstruct qcom_smem_state_ops {\n\tint (*update_bits)(void *, u32, u32);\n};\n\nstruct qcom_smem_state {\n\tstruct kref refcount;\n\tbool orphan;\n\tstruct list_head list;\n\tstruct device_node *of_node;\n\tvoid *priv;\n\tstruct qcom_smem_state_ops ops;\n};\n\nstruct qcom_smmu_match_data;\n\nstruct qcom_smmu {\n\tstruct arm_smmu_device___2 smmu;\n\tconst struct qcom_smmu_match_data *data;\n\tbool bypass_quirk;\n\tu8 bypass_cbndx;\n\tu32 stall_enabled;\n};\n\nstruct qcom_smmu_config {\n\tconst u32 *reg_offset;\n};\n\nstruct qcom_smmu_match_data {\n\tconst struct qcom_smmu_config *cfg;\n\tconst struct arm_smmu_impl *impl;\n\tconst struct arm_smmu_impl *adreno_impl;\n\tconst struct of_device_id * const client_match;\n};\n\nstruct smp2p_smem_item;\n\nstruct qcom_smp2p {\n\tstruct device *dev;\n\tstruct smp2p_smem_item *in;\n\tstruct smp2p_smem_item *out;\n\tunsigned int smem_items[2];\n\tunsigned int valid_entries;\n\tbool ssr_ack_enabled;\n\tbool ssr_ack;\n\tbool negotiation_done;\n\tunsigned int local_pid;\n\tunsigned int remote_pid;\n\tstruct regmap *ipc_regmap;\n\tint ipc_offset;\n\tint ipc_bit;\n\tstruct mbox_client mbox_client;\n\tstruct mbox_chan *mbox_chan;\n\tstruct list_head inbound;\n\tstruct list_head outbound;\n};\n\nstruct smsm_entry;\n\nstruct smsm_host;\n\nstruct qcom_smsm {\n\tstruct device *dev;\n\tu32 local_host;\n\tu32 num_hosts;\n\tu32 num_entries;\n\tu32 *local_state;\n\tu32 *subscription;\n\tstruct qcom_smem_state *state;\n\tspinlock_t lock;\n\tstruct smsm_entry *entries;\n\tstruct smsm_host *hosts;\n\tstruct mbox_client mbox_client;\n};\n\nstruct qcom_spmi_pmic {\n\tunsigned int type;\n\tunsigned int subtype;\n\tunsigned int major;\n\tunsigned int minor;\n\tunsigned int rev2;\n\tunsigned int fab_id;\n\tconst char *name;\n};\n\nstruct qcom_spmi_dev {\n\tint num_usids;\n\tstruct qcom_spmi_pmic pmic;\n};\n\nstruct qcom_tzmem_area {\n\tstruct list_head list;\n\tvoid *vaddr;\n\tdma_addr_t paddr;\n\tsize_t size;\n\tvoid *priv;\n};\n\nstruct qcom_tzmem_chunk {\n\tsize_t size;\n\tstruct qcom_tzmem_pool *owner;\n};\n\nstruct qcom_tzmem_pool {\n\tstruct gen_pool *genpool;\n\tstruct list_head areas;\n\tenum qcom_tzmem_policy policy;\n\tsize_t increment;\n\tsize_t max_size;\n\tspinlock_t lock;\n};\n\nstruct qcom_tzmem_pool_config {\n\tsize_t initial_size;\n\tenum qcom_tzmem_policy policy;\n\tsize_t increment;\n\tsize_t max_size;\n};\n\nstruct qseecom_client;\n\nstruct qcuefi_client {\n\tstruct qseecom_client *client;\n\tstruct efivars efivars;\n\tstruct qcom_tzmem_pool *mempool;\n};\n\nstruct qdisc_dump_args {\n\tstruct qdisc_walker w;\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n};\n\nstruct tc_ratespec {\n\tunsigned char cell_log;\n\t__u8 linklayer;\n\tshort unsigned int overhead;\n\tshort int cell_align;\n\tshort unsigned int mpu;\n\t__u32 rate;\n};\n\nstruct qdisc_rate_table {\n\tstruct tc_ratespec rate;\n\tu32 data[256];\n\tstruct qdisc_rate_table *next;\n\tint refcnt;\n};\n\nstruct tc_sizespec {\n\tunsigned char cell_log;\n\tunsigned char size_log;\n\tshort int cell_align;\n\tint overhead;\n\tunsigned int linklayer;\n\tunsigned int mpu;\n\tunsigned int mtu;\n\tunsigned int tsize;\n};\n\nstruct qdisc_size_table {\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct tc_sizespec szopts;\n\tint refcnt;\n\tu16 data[0];\n};\n\nstruct qdisc_watchdog {\n\tstruct hrtimer timer;\n\tstruct Qdisc *qdisc;\n};\n\nstruct qfprom_soc_data;\n\nstruct qfprom_priv {\n\tvoid *qfpraw;\n\tvoid *qfpconf;\n\tvoid *qfpcorrected;\n\tvoid *qfpsecurity;\n\tstruct device *dev;\n\tstruct clk *secclk;\n\tstruct regulator *vcc;\n\tconst struct qfprom_soc_data *soc_data;\n};\n\nstruct qfprom_soc_compatible_data {\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n};\n\nstruct qfprom_soc_data {\n\tu32 accel_value;\n\tu32 qfprom_blow_timer_value;\n\tu32 qfprom_blow_set_freq;\n\tint qfprom_blow_uV;\n};\n\nstruct qfprom_touched_values {\n\tlong unsigned int clk_rate;\n\tu32 accel_val;\n\tu32 timer_val;\n};\n\nstruct qm_addr {\n\tvoid *ce;\n\t__be32 *ce_be;\n\tvoid *ci;\n};\n\nstruct qm_dqrr {\n\tconst struct qm_dqrr_entry *ring;\n\tconst struct qm_dqrr_entry *cursor;\n\tu8 pi;\n\tu8 ci;\n\tu8 fill;\n\tu8 ithresh;\n\tu8 vbit;\n};\n\nstruct qm_fd {\n\tunion {\n\t\tstruct {\n\t\t\tu8 cfg8b_w1;\n\t\t\tu8 bpid;\n\t\t\tu8 cfg8b_w3;\n\t\t\tu8 addr_hi;\n\t\t\t__be32 addr_lo;\n\t\t};\n\t\t__be64 data;\n\t};\n\t__be32 cfg;\n\tunion {\n\t\t__be32 cmd;\n\t\t__be32 status;\n\t};\n};\n\nstruct qm_dqrr_entry {\n\tu8 verb;\n\tu8 stat;\n\t__be16 seqnum;\n\tu8 tok;\n\tu8 __reserved2[3];\n\t__be32 fqid;\n\t__be32 context_b;\n\tstruct qm_fd fd;\n\tu8 __reserved4[32];\n};\n\nstruct qm_eadr {\n\tu32 info;\n};\n\nstruct qm_ecir {\n\tu32 info;\n};\n\nstruct qm_ecir2 {\n\tu32 info;\n};\n\nstruct qm_eqcr_entry;\n\nstruct qm_eqcr {\n\tstruct qm_eqcr_entry *ring;\n\tstruct qm_eqcr_entry *cursor;\n\tu8 ci;\n\tu8 available;\n\tu8 ithresh;\n\tu8 vbit;\n};\n\nstruct qm_eqcr_entry {\n\tu8 _ncw_verb;\n\tu8 dca;\n\t__be16 seqnum;\n\tu8 __reserved[4];\n\t__be32 fqid;\n\t__be32 tag;\n\tstruct qm_fd fd;\n\tu8 __reserved3[32];\n};\n\nstruct qm_fqd_oac {\n\tu8 oac;\n\ts8 oal;\n};\n\nstruct qm_fqd_stashing {\n\tu8 exclusive;\n\tu8 cl;\n};\n\nstruct qm_fqd {\n\tu8 orpc;\n\tu8 cgid;\n\t__be16 fq_ctrl;\n\t__be16 dest_wq;\n\t__be16 ics_cred;\n\tunion {\n\t\t__be16 td;\n\t\tstruct qm_fqd_oac oac_init;\n\t};\n\t__be32 context_b;\n\tunion {\n\t\t__be64 opaque;\n\t\tstruct {\n\t\t\t__be32 hi;\n\t\t\t__be32 lo;\n\t\t};\n\t\tstruct {\n\t\t\tstruct qm_fqd_stashing stashing;\n\t\t\t__be16 context_hi;\n\t\t\t__be32 context_lo;\n\t\t};\n\t} context_a;\n\tstruct qm_fqd_oac oac_query;\n} __attribute__((packed));\n\nunion qm_mc_command;\n\nunion qm_mc_result;\n\nstruct qm_mc {\n\tunion qm_mc_command *cr;\n\tunion qm_mc_result *rr;\n\tu8 rridx;\n\tu8 vbit;\n};\n\nstruct qm_mcc_initfq {\n\tu8 __reserved1[2];\n\t__be16 we_mask;\n\t__be32 fqid;\n\t__be16 count;\n\tstruct qm_fqd fqd;\n\tu8 __reserved2[30];\n};\n\nstruct qm_mcc_initcgr {\n\tu8 __reserve1[2];\n\t__be16 we_mask;\n\tstruct __qm_mc_cgr cgr;\n\tu8 __reserved2[2];\n\tu8 cgid;\n\tu8 __reserved3[32];\n};\n\nstruct qm_mcc_fq {\n\tu8 _ncw_verb;\n\tu8 __reserved1[3];\n\t__be32 fqid;\n\tu8 __reserved2[56];\n};\n\nstruct qm_mcc_cgr {\n\tu8 _ncw_verb;\n\tu8 __reserved1[30];\n\tu8 cgid;\n\tu8 __reserved2[32];\n};\n\nunion qm_mc_command {\n\tstruct {\n\t\tu8 _ncw_verb;\n\t\tu8 __reserved[63];\n\t};\n\tstruct qm_mcc_initfq initfq;\n\tstruct qm_mcc_initcgr initcgr;\n\tstruct qm_mcc_fq fq;\n\tstruct qm_mcc_cgr cgr;\n};\n\nstruct qm_mcr_queryfq {\n\tu8 verb;\n\tu8 result;\n\tu8 __reserved1[8];\n\tstruct qm_fqd fqd;\n\tu8 __reserved2[30];\n};\n\nstruct qm_mcr_alterfq {\n\tu8 verb;\n\tu8 result;\n\tu8 fqs;\n\tu8 __reserved1[61];\n};\n\nstruct qm_mcr_querycgr {\n\tu8 verb;\n\tu8 result;\n\tu16 __reserved1;\n\tstruct __qm_mc_cgr cgr;\n\tu8 __reserved2[6];\n\tu8 i_bcnt_hi;\n\t__be32 i_bcnt_lo;\n\tu8 __reserved3[3];\n\tu8 a_bcnt_hi;\n\t__be32 a_bcnt_lo;\n\t__be32 cscn_targ_swp[4];\n};\n\nstruct qm_mcr_querycongestion {\n\tu8 verb;\n\tu8 result;\n\tu8 __reserved[30];\n\tstruct __qm_mcr_querycongestion state;\n};\n\nstruct qm_mcr_querywq {\n\tu8 verb;\n\tu8 result;\n\tu16 channel_wq;\n\tu8 __reserved[28];\n\tu32 wq_len[8];\n};\n\nstruct qm_mcr_queryfq_np {\n\tu8 verb;\n\tu8 result;\n\tu8 __reserved1;\n\tu8 state;\n\tu32 fqd_link;\n\tu16 odp_seq;\n\tu16 orp_nesn;\n\tu16 orp_ea_hseq;\n\tu16 orp_ea_tseq;\n\tu32 orp_ea_hptr;\n\tu32 orp_ea_tptr;\n\tu32 pfdr_hptr;\n\tu32 pfdr_tptr;\n\tu8 __reserved2[5];\n\tu8 is;\n\tu16 ics_surp;\n\tu32 byte_cnt;\n\tu32 frm_cnt;\n\tu32 __reserved3;\n\tu16 ra1_sfdr;\n\tu16 ra2_sfdr;\n\tu16 __reserved4;\n\tu16 od1_sfdr;\n\tu16 od2_sfdr;\n\tu16 od3_sfdr;\n};\n\nunion qm_mc_result {\n\tstruct {\n\t\tu8 verb;\n\t\tu8 result;\n\t\tu8 __reserved1[62];\n\t};\n\tstruct qm_mcr_queryfq queryfq;\n\tstruct qm_mcr_alterfq alterfq;\n\tstruct qm_mcr_querycgr querycgr;\n\tstruct qm_mcr_querycongestion querycongestion;\n\tstruct qm_mcr_querywq querywq;\n\tstruct qm_mcr_queryfq_np queryfq_np;\n};\n\nstruct qm_mr {\n\tunion qm_mr_entry *ring;\n\tunion qm_mr_entry *cursor;\n\tu8 pi;\n\tu8 ci;\n\tu8 fill;\n\tu8 ithresh;\n\tu8 vbit;\n};\n\nunion qm_mr_entry {\n\tstruct {\n\t\tu8 verb;\n\t\tu8 __reserved[63];\n\t};\n\tstruct {\n\t\tu8 verb;\n\t\tu8 dca;\n\t\t__be16 seqnum;\n\t\tu8 rc;\n\t\tu8 __reserved[3];\n\t\t__be32 fqid;\n\t\t__be32 tag;\n\t\tstruct qm_fd fd;\n\t\tu8 __reserved1[32];\n\t} ern;\n\tstruct {\n\t\tu8 verb;\n\t\tu8 fqs;\n\t\tu8 __reserved1[6];\n\t\t__be32 fqid;\n\t\t__be32 context_b;\n\t\tu8 __reserved2[48];\n\t} fq;\n};\n\nstruct qm_portal {\n\tstruct qm_addr addr;\n\tstruct qm_eqcr eqcr;\n\tstruct qm_dqrr dqrr;\n\tstruct qm_mr mr;\n\tstruct qm_mc mc;\n\tlong: 64;\n};\n\nstruct qm_portal_config {\n\tvoid *addr_virt_ce;\n\tvoid *addr_virt_ci;\n\tstruct device *dev;\n\tstruct iommu_domain *iommu_domain;\n\tstruct list_head list;\n\tint cpu;\n\tint irq;\n\tu16 channel;\n\tu32 pools;\n};\n\nstruct qm_sg_entry {\n\tunion {\n\t\tstruct {\n\t\t\tu8 __reserved1[3];\n\t\t\tu8 addr_hi;\n\t\t\t__be32 addr_lo;\n\t\t};\n\t\t__be64 data;\n\t};\n\t__be32 cfg;\n\tu8 __reserved2;\n\tu8 bpid;\n\t__be16 offset;\n};\n\nstruct qman_cgrs {\n\tstruct __qm_mcr_querycongestion q;\n};\n\nstruct qman_error_info_mdata {\n\tu16 addr_mask;\n\tu16 bits;\n\tconst char *txt;\n};\n\nstruct qman_hwerr_txt {\n\tu32 mask;\n\tconst char *txt;\n};\n\nstruct qman_portal {\n\tstruct qm_portal p;\n\tlong unsigned int bits;\n\tlong unsigned int irq_sources;\n\tu32 use_eqcr_ci_stashing;\n\tstruct qman_fq *vdqcr_owned;\n\tu32 sdqcr;\n\tconst struct qm_portal_config *config;\n\tstruct qman_cgrs *cgrs;\n\tstruct list_head cgr_cbs;\n\traw_spinlock_t cgr_lock;\n\tstruct work_struct congestion_work;\n\tstruct work_struct mr_work;\n\tchar irqname[16];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct qmp_cooling_device;\n\nstruct qmp {\n\tvoid *msgram;\n\tstruct device *dev;\n\tstruct mbox_client mbox_client;\n\tstruct mbox_chan *mbox_chan;\n\tsize_t offset;\n\tsize_t size;\n\twait_queue_head_t event;\n\tstruct mutex tx_lock;\n\tstruct clk_hw qdss_clk;\n\tstruct qmp_cooling_device *cooling_devs;\n\tstruct dentry *debugfs_root;\n\tstruct dentry *debugfs_files[4];\n};\n\nstruct qmp_cooling_device {\n\tstruct thermal_cooling_device *cdev;\n\tstruct qmp *qmp;\n\tchar *name;\n\tbool state;\n};\n\nstruct qmp_debugfs_entry {\n\tconst char *name;\n\tconst char *fmt;\n\tbool is_bool;\n\tconst char *true_val;\n\tconst char *false_val;\n};\n\nstruct qmu_gpd {\n\t__le32 dw0_info;\n\t__le32 next_gpd;\n\t__le32 buffer;\n\t__le32 dw3_info;\n};\n\nstruct qnode {\n\tstruct mcs_spinlock mcs;\n};\n\nstruct qsee_req_uefi_get_next_variable {\n\tu32 command_id;\n\tu32 length;\n\tu32 guid_offset;\n\tu32 guid_size;\n\tu32 name_offset;\n\tu32 name_size;\n};\n\nstruct qsee_req_uefi_get_variable {\n\tu32 command_id;\n\tu32 length;\n\tu32 name_offset;\n\tu32 name_size;\n\tu32 guid_offset;\n\tu32 guid_size;\n\tu32 data_size;\n};\n\nstruct qsee_req_uefi_query_variable_info {\n\tu32 command_id;\n\tu32 length;\n\tu32 attributes;\n};\n\nstruct qsee_req_uefi_set_variable {\n\tu32 command_id;\n\tu32 length;\n\tu32 name_offset;\n\tu32 name_size;\n\tu32 guid_offset;\n\tu32 guid_size;\n\tu32 attributes;\n\tu32 data_offset;\n\tu32 data_size;\n};\n\nstruct qsee_rsp_uefi_get_next_variable {\n\tu32 command_id;\n\tu32 length;\n\tu32 status;\n\tu32 guid_offset;\n\tu32 guid_size;\n\tu32 name_offset;\n\tu32 name_size;\n};\n\nstruct qsee_rsp_uefi_get_variable {\n\tu32 command_id;\n\tu32 length;\n\tu32 status;\n\tu32 attributes;\n\tu32 data_offset;\n\tu32 data_size;\n};\n\nstruct qsee_rsp_uefi_query_variable_info {\n\tu32 command_id;\n\tu32 length;\n\tu32 status;\n\tu32 _pad;\n\tu64 storage_space;\n\tu64 remaining_space;\n\tu64 max_variable_size;\n};\n\nstruct qsee_rsp_uefi_set_variable {\n\tu32 command_id;\n\tu32 length;\n\tu32 status;\n\tu32 _unknown1;\n\tu32 _unknown2;\n};\n\nstruct qseecom_app_desc {\n\tconst char *app_name;\n\tconst char *dev_name;\n};\n\nstruct qseecom_client {\n\tstruct auxiliary_device aux_dev;\n\tu32 app_id;\n};\n\nstruct queue_limits {\n\tblk_features_t features;\n\tblk_flags_t flags;\n\tlong unsigned int seg_boundary_mask;\n\tlong unsigned int virt_boundary_mask;\n\tunsigned int max_hw_sectors;\n\tunsigned int max_dev_sectors;\n\tunsigned int chunk_sectors;\n\tunsigned int max_sectors;\n\tunsigned int max_user_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int min_segment_size;\n\tunsigned int physical_block_size;\n\tunsigned int logical_block_size;\n\tunsigned int alignment_offset;\n\tunsigned int io_min;\n\tunsigned int io_opt;\n\tunsigned int max_discard_sectors;\n\tunsigned int max_hw_discard_sectors;\n\tunsigned int max_user_discard_sectors;\n\tunsigned int max_secure_erase_sectors;\n\tunsigned int max_write_zeroes_sectors;\n\tunsigned int max_hw_zone_append_sectors;\n\tunsigned int max_zone_append_sectors;\n\tunsigned int discard_granularity;\n\tunsigned int discard_alignment;\n\tunsigned int zone_write_granularity;\n\tunsigned int atomic_write_hw_max;\n\tunsigned int atomic_write_max_sectors;\n\tunsigned int atomic_write_hw_boundary;\n\tunsigned int atomic_write_boundary_sectors;\n\tunsigned int atomic_write_hw_unit_min;\n\tunsigned int atomic_write_unit_min;\n\tunsigned int atomic_write_hw_unit_max;\n\tunsigned int atomic_write_unit_max;\n\tshort unsigned int max_segments;\n\tshort unsigned int max_integrity_segments;\n\tshort unsigned int max_discard_segments;\n\tunsigned int max_open_zones;\n\tunsigned int max_active_zones;\n\tunsigned int dma_alignment;\n\tunsigned int dma_pad_mask;\n\tstruct blk_integrity integrity;\n};\n\nstruct queue_pages {\n\tstruct list_head *pagelist;\n\tlong unsigned int flags;\n\tnodemask_t *nmask;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tstruct vm_area_struct *first;\n\tstruct folio *large;\n\tlong int nr_failed;\n};\n\nstruct queue_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct gendisk *, char *);\n\tssize_t (*store)(struct gendisk *, const char *, size_t);\n\tint (*store_limit)(struct gendisk *, const char *, size_t, struct queue_limits *);\n\tvoid (*load_module)(struct gendisk *, const char *, size_t);\n};\n\nstruct quirk_entry {\n\tu16 vid;\n\tu16 pid;\n\tu32 flags;\n};\n\nstruct quirks_list_struct {\n\tstruct hid_device_id hid_bl_item;\n\tstruct list_head node;\n};\n\nstruct quota_format_ops {\n\tint (*check_quota_file)(struct super_block *, int);\n\tint (*read_file_info)(struct super_block *, int);\n\tint (*write_file_info)(struct super_block *, int);\n\tint (*free_file_info)(struct super_block *, int);\n\tint (*read_dqblk)(struct dquot *);\n\tint (*commit_dqblk)(struct dquot *);\n\tint (*release_dqblk)(struct dquot *);\n\tint (*get_next_id)(struct super_block *, struct kqid *);\n};\n\nstruct quota_format_type {\n\tint qf_fmt_id;\n\tconst struct quota_format_ops *qf_ops;\n\tstruct module *qf_owner;\n\tstruct quota_format_type *qf_next;\n};\n\nstruct quota_info {\n\tunsigned int flags;\n\tstruct rw_semaphore dqio_sem;\n\tstruct inode *files[3];\n\tstruct mem_dqinfo info[3];\n\tconst struct quota_format_ops *ops[3];\n};\n\nstruct quota_module_name {\n\tint qm_fmt_id;\n\tchar *qm_mod_name;\n};\n\nstruct quotactl_ops {\n\tint (*quota_on)(struct super_block *, int, int, const struct path *);\n\tint (*quota_off)(struct super_block *, int);\n\tint (*quota_enable)(struct super_block *, unsigned int);\n\tint (*quota_disable)(struct super_block *, unsigned int);\n\tint (*quota_sync)(struct super_block *, int);\n\tint (*set_info)(struct super_block *, int, struct qc_info *);\n\tint (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);\n\tint (*get_nextdqblk)(struct super_block *, struct kqid *, struct qc_dqblk *);\n\tint (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);\n\tint (*get_state)(struct super_block *, struct qc_state *);\n\tint (*rm_xquota)(struct super_block *, unsigned int);\n};\n\nstruct qup_i2c_tag {\n\tu8 *start;\n\tdma_addr_t addr;\n};\n\nstruct qup_i2c_bam {\n\tstruct qup_i2c_tag tag;\n\tstruct dma_chan *dma;\n\tstruct scatterlist *sg;\n\tunsigned int sg_cnt;\n};\n\nstruct qup_i2c_block {\n\tint count;\n\tint pos;\n\tint tx_tag_len;\n\tint rx_tag_len;\n\tint data_len;\n\tint cur_blk_len;\n\tint total_tx_len;\n\tint total_rx_len;\n\tint tx_fifo_data_pos;\n\tint tx_fifo_free;\n\tint rx_fifo_data_pos;\n\tint fifo_available;\n\tu32 tx_fifo_data;\n\tu32 rx_fifo_data;\n\tu8 *cur_data;\n\tu8 *cur_tx_tags;\n\tbool tx_tags_sent;\n\tbool send_last_word;\n\tbool rx_tags_fetched;\n\tbool rx_bytes_read;\n\tbool is_tx_blk_mode;\n\tbool is_rx_blk_mode;\n\tu8 tags[6];\n};\n\nstruct qup_i2c_dev {\n\tstruct device *dev;\n\tvoid *base;\n\tint irq;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct i2c_adapter adap;\n\tint clk_ctl;\n\tint out_fifo_sz;\n\tint in_fifo_sz;\n\tint out_blk_sz;\n\tint in_blk_sz;\n\tint blk_xfer_limit;\n\tlong unsigned int one_byte_t;\n\tlong unsigned int xfer_timeout;\n\tstruct qup_i2c_block blk;\n\tstruct i2c_msg *msg;\n\tint pos;\n\tu32 bus_err;\n\tu32 qup_err;\n\tbool is_last;\n\tbool is_smbus_read;\n\tu32 config_run;\n\tbool is_dma;\n\tbool use_dma;\n\tunsigned int max_xfer_sg_len;\n\tunsigned int tag_buf_pos;\n\tunsigned int blk_mode_threshold;\n\tstruct dma_pool *dpool;\n\tstruct qup_i2c_tag start_tag;\n\tstruct qup_i2c_bam brx;\n\tstruct qup_i2c_bam btx;\n\tstruct completion xfer;\n\tvoid (*write_tx_fifo)(struct qup_i2c_dev *);\n\tvoid (*read_rx_fifo)(struct qup_i2c_dev *);\n\tvoid (*write_rx_tags)(struct qup_i2c_dev *);\n};\n\nstruct r8a779f0_eth_serdes_drv_data;\n\nstruct r8a779f0_eth_serdes_channel {\n\tstruct r8a779f0_eth_serdes_drv_data *dd;\n\tstruct phy *phy;\n\tvoid *addr;\n\tphy_interface_t phy_interface;\n\tint speed;\n\tint index;\n};\n\nstruct r8a779f0_eth_serdes_drv_data {\n\tvoid *addr;\n\tstruct platform_device *pdev;\n\tstruct reset_control *reset;\n\tstruct r8a779f0_eth_serdes_channel channel[3];\n\tbool initialized;\n};\n\nstruct xa_node;\n\nstruct radix_tree_iter {\n\tlong unsigned int index;\n\tlong unsigned int next_index;\n\tlong unsigned int tags;\n\tstruct xa_node *node;\n};\n\nstruct radix_tree_preload {\n\tlocal_lock_t lock;\n\tunsigned int nr;\n\tstruct xa_node *nodes;\n};\n\nstruct rail_alignment {\n\tint offset_uv;\n\tint step_uv;\n};\n\nstruct ramfs_mount_opts {\n\tumode_t mode;\n};\n\nstruct ramfs_fs_info {\n\tstruct ramfs_mount_opts mount_opts;\n};\n\nstruct rand_data {\n\tvoid *hash_state;\n\t__u64 prev_time;\n\t__u64 last_delta;\n\t__s64 last_delta2;\n\tunsigned int flags;\n\tunsigned int osr;\n\tunsigned char *mem;\n\tunsigned int memlocation;\n\tunsigned int memblocks;\n\tunsigned int memblocksize;\n\tunsigned int memaccessloops;\n\tunsigned int rct_count;\n\tunsigned int apt_cutoff;\n\tunsigned int apt_cutoff_permanent;\n\tunsigned int apt_observations;\n\tunsigned int apt_count;\n\tunsigned int apt_base;\n\tunsigned int health_failure;\n\tunsigned int apt_base_set: 1;\n};\n\nstruct range_node {\n\tstruct rb_node rn_rbnode;\n\tstruct rb_node rb_range_size;\n\tu32 rn_start;\n\tu32 rn_last;\n\tu32 __rn_subtree_last;\n};\n\nstruct range_t {\n\tint start;\n\tint end;\n};\n\nstruct rank_info {\n\tint chan_idx;\n\tstruct csrow_info *csrow;\n\tstruct dimm_info *dimm;\n\tu32 ce_count;\n};\n\nstruct rate_sample {\n\tu64 prior_mstamp;\n\tu32 prior_delivered;\n\tu32 prior_delivered_ce;\n\ts32 delivered;\n\ts32 delivered_ce;\n\tlong int interval_us;\n\tu32 snd_interval_us;\n\tu32 rcv_interval_us;\n\tlong int rtt_us;\n\tint losses;\n\tu32 acked_sacked;\n\tu32 prior_in_flight;\n\tu32 last_end_seq;\n\tbool is_app_limited;\n\tbool is_retrans;\n\tbool is_ack_delayed;\n};\n\nstruct ravb_desc {\n\t__le16 ds;\n\tu8 cc;\n\tu8 die_dt;\n\t__le32 dptr;\n};\n\nstruct ravb_ex_rx_desc {\n\t__le16 ds_cc;\n\tu8 msc;\n\tu8 die_dt;\n\t__le32 dptr;\n\t__le32 ts_n;\n\t__le32 ts_sl;\n\t__le16 ts_sh;\n\t__le16 res;\n};\n\nstruct ravb_hw_info {\n\tint (*receive)(struct net_device *, int, int);\n\tvoid (*set_rate)(struct net_device *);\n\tint (*set_feature)(struct net_device *, netdev_features_t);\n\tint (*dmac_init)(struct net_device *);\n\tvoid (*emac_init)(struct net_device *);\n\tconst char (*gstrings_stats)[32];\n\tsize_t gstrings_size;\n\tnetdev_features_t net_hw_features;\n\tnetdev_features_t net_features;\n\tnetdev_features_t vlan_features;\n\tint stats_len;\n\tu32 tccr_mask;\n\tu32 tx_max_frame_size;\n\tu32 rx_max_frame_size;\n\tu32 rx_buffer_size;\n\tu32 rx_desc_size;\n\tunsigned int aligned_tx: 1;\n\tunsigned int coalesce_irqs: 1;\n\tunsigned int internal_delay: 1;\n\tunsigned int tx_counters: 1;\n\tunsigned int carrier_counters: 1;\n\tunsigned int multi_irqs: 1;\n\tunsigned int irq_en_dis: 1;\n\tunsigned int err_mgmt_irqs: 1;\n\tunsigned int gptp: 1;\n\tunsigned int ccc_gac: 1;\n\tunsigned int gptp_ref_clk: 1;\n\tunsigned int nc_queues: 1;\n\tunsigned int magic_pkt: 1;\n\tunsigned int half_duplex: 1;\n};\n\nstruct ravb_ptp_perout {\n\tu32 target;\n\tu32 period;\n};\n\nstruct ravb_ptp {\n\tstruct ptp_clock *clock;\n\tstruct ptp_clock_info info;\n\tu32 default_addend;\n\tu32 current_addend;\n\tint extts[1];\n\tstruct ravb_ptp_perout perout[1];\n};\n\nstruct ravb_rx_desc;\n\nstruct ravb_tx_desc;\n\nstruct ravb_rx_buffer;\n\nstruct ravb_private {\n\tstruct net_device *ndev;\n\tstruct platform_device *pdev;\n\tvoid *addr;\n\tstruct clk *clk;\n\tstruct clk *refclk;\n\tstruct clk *gptp_clk;\n\tstruct mdiobb_ctrl mdiobb;\n\tu32 num_rx_ring[2];\n\tu32 num_tx_ring[2];\n\tu32 desc_bat_size;\n\tdma_addr_t desc_bat_dma;\n\tstruct ravb_desc *desc_bat;\n\tdma_addr_t rx_desc_dma[2];\n\tdma_addr_t tx_desc_dma[2];\n\tunion {\n\t\tstruct ravb_rx_desc *desc;\n\t\tstruct ravb_ex_rx_desc *ex_desc;\n\t\tvoid *raw;\n\t} rx_ring[2];\n\tstruct ravb_tx_desc *tx_ring[2];\n\tvoid *tx_align[2];\n\tstruct sk_buff *rx_1st_skb;\n\tstruct page_pool *rx_pool[2];\n\tstruct ravb_rx_buffer *rx_buffers[2];\n\tstruct sk_buff **tx_skb[2];\n\tu32 rx_over_errors;\n\tu32 rx_fifo_errors;\n\tstruct net_device_stats stats[2];\n\tu32 tstamp_tx_ctrl;\n\tu32 tstamp_rx_ctrl;\n\tstruct list_head ts_skb_list;\n\tu32 ts_skb_tag;\n\tstruct ravb_ptp ptp;\n\tspinlock_t lock;\n\tu32 cur_rx[2];\n\tu32 dirty_rx[2];\n\tu32 cur_tx[2];\n\tu32 dirty_tx[2];\n\tstruct napi_struct napi[2];\n\tstruct work_struct work;\n\tstruct mii_bus *mii_bus;\n\tint link;\n\tphy_interface_t phy_interface;\n\tint msg_enable;\n\tint speed;\n\tint emac_irq;\n\tunsigned int no_avb_link: 1;\n\tunsigned int avb_link_active_low: 1;\n\tunsigned int wol_enabled: 1;\n\tunsigned int rxcidm: 1;\n\tunsigned int txcidm: 1;\n\tunsigned int rgmii_override: 1;\n\tunsigned int num_tx_desc;\n\tint duplex;\n\tconst struct ravb_hw_info *info;\n\tstruct reset_control *rstc;\n\tu32 gti_tiv;\n};\n\nstruct ravb_rx_buffer {\n\tstruct page *page;\n\tunsigned int offset;\n};\n\nstruct ravb_rx_desc {\n\t__le16 ds_cc;\n\tu8 msc;\n\tu8 die_dt;\n\t__le32 dptr;\n};\n\nstruct ravb_tstamp_skb {\n\tstruct list_head list;\n\tstruct sk_buff *skb;\n\tu16 tag;\n};\n\nstruct ravb_tx_desc {\n\t__le16 ds_tagl;\n\tu8 tagh_tsr;\n\tu8 die_dt;\n\t__le32 dptr;\n};\n\nstruct raw_data_entry {\n\tstruct trace_entry ent;\n\tunsigned int id;\n\tchar buf[0];\n};\n\nstruct raw_frag_vec {\n\tstruct msghdr *msg;\n\tunion {\n\t\tstruct icmphdr icmph;\n\t\tchar c[1];\n\t} hdr;\n\tint hlen;\n};\n\nstruct raw_hashinfo {\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hlist_head ht[256];\n};\n\nstruct raw_hwp_page {\n\tstruct llist_node node;\n\tstruct page *page;\n};\n\nstruct raw_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n};\n\nstruct raw_sock {\n\tstruct inet_sock inet;\n\tstruct icmp_filter filter;\n\tu32 ipmr_table;\n};\n\nstruct rb_augment_callbacks {\n\tvoid (*propagate)(struct rb_node *, struct rb_node *);\n\tvoid (*copy)(struct rb_node *, struct rb_node *);\n\tvoid (*rotate)(struct rb_node *, struct rb_node *);\n};\n\nstruct rb_event_info {\n\tu64 ts;\n\tu64 delta;\n\tu64 before;\n\tu64 after;\n\tlong unsigned int length;\n\tstruct buffer_page *tail_page;\n\tint add_timestamp;\n};\n\nstruct rb_irq_work {\n\tstruct irq_work work;\n\twait_queue_head_t waiters;\n\twait_queue_head_t full_waiters;\n\tatomic_t seq;\n\tbool waiters_pending;\n\tbool full_waiters_pending;\n\tbool wakeup_full;\n};\n\nstruct rb_list {\n\tstruct rb_root root;\n\tstruct list_head head;\n\tspinlock_t lock;\n};\n\nstruct rb_time_struct {\n\tlocal64_t time;\n};\n\ntypedef struct rb_time_struct rb_time_t;\n\nstruct rb_wait_data {\n\tstruct rb_irq_work *irq_work;\n\tint seq;\n};\n\nstruct rc {\n\tlong int (*fill)(void *, long unsigned int);\n\tuint8_t *ptr;\n\tuint8_t *buffer;\n\tuint8_t *buffer_end;\n\tlong int buffer_size;\n\tuint32_t code;\n\tuint32_t range;\n\tuint32_t bound;\n\tvoid (*error)(char *);\n};\n\nstruct rc_dec {\n\tuint32_t range;\n\tuint32_t code;\n\tuint32_t init_bytes_left;\n\tconst uint8_t *in;\n\tsize_t in_pos;\n\tsize_t in_limit;\n};\n\nstruct rcar_dmac_chan;\n\nstruct rcar_dmac {\n\tstruct dma_device engine;\n\tstruct device *dev;\n\tvoid *dmac_base;\n\tvoid *chan_base;\n\tunsigned int n_channels;\n\tstruct rcar_dmac_chan *channels;\n\tu32 channels_mask;\n\tlong unsigned int modules[4];\n};\n\nstruct rcar_dmac_chan_slave {\n\tphys_addr_t slave_addr;\n\tunsigned int xfer_size;\n};\n\nstruct rcar_dmac_chan_map {\n\tdma_addr_t addr;\n\tenum dma_data_direction dir;\n\tstruct rcar_dmac_chan_slave slave;\n};\n\nstruct rcar_dmac_desc;\n\nstruct rcar_dmac_chan {\n\tstruct dma_chan chan;\n\tvoid *iomem;\n\tunsigned int index;\n\tint irq;\n\tstruct rcar_dmac_chan_slave src;\n\tstruct rcar_dmac_chan_slave dst;\n\tstruct rcar_dmac_chan_map map;\n\tint mid_rid;\n\tspinlock_t lock;\n\tstruct {\n\t\tstruct list_head free;\n\t\tstruct list_head pending;\n\t\tstruct list_head active;\n\t\tstruct list_head done;\n\t\tstruct list_head wait;\n\t\tstruct rcar_dmac_desc *running;\n\t\tstruct list_head chunks_free;\n\t\tstruct list_head pages;\n\t} desc;\n};\n\nstruct rcar_dmac_xfer_chunk;\n\nstruct rcar_dmac_hw_desc;\n\nstruct rcar_dmac_desc {\n\tstruct dma_async_tx_descriptor async_tx;\n\tenum dma_transfer_direction direction;\n\tunsigned int xfer_shift;\n\tu32 chcr;\n\tstruct list_head node;\n\tstruct list_head chunks;\n\tstruct rcar_dmac_xfer_chunk *running;\n\tunsigned int nchunks;\n\tstruct {\n\t\tbool use;\n\t\tstruct rcar_dmac_hw_desc *mem;\n\t\tdma_addr_t dma;\n\t\tsize_t size;\n\t} hwdescs;\n\tunsigned int size;\n\tbool cyclic;\n};\n\nstruct rcar_dmac_xfer_chunk {\n\tstruct list_head node;\n\tdma_addr_t src_addr;\n\tdma_addr_t dst_addr;\n\tu32 size;\n};\n\nstruct rcar_dmac_desc_page {\n\tstruct list_head node;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_descs;\n\t\t\tstruct rcar_dmac_desc descs[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_chunks;\n\t\t\tstruct rcar_dmac_xfer_chunk chunks[0];\n\t\t};\n\t};\n};\n\nstruct rcar_dmac_hw_desc {\n\tu32 sar;\n\tu32 dar;\n\tu32 tcr;\n\tu32 reserved;\n};\n\nstruct rcar_dmac_of_data {\n\tu32 chan_offset_base;\n\tu32 chan_offset_stride;\n};\n\nstruct rcar_gen3_chan;\n\nstruct rcar_gen3_phy {\n\tstruct phy *phy;\n\tstruct rcar_gen3_chan *ch;\n\tu32 int_enable_bits;\n\tbool initialized;\n\tbool otg_initialized;\n\tbool powered;\n};\n\nstruct rcar_gen3_chan {\n\tvoid *base;\n\tstruct device *dev;\n\tstruct extcon_dev *extcon;\n\tstruct rcar_gen3_phy rphys[4];\n\tstruct regulator *vbus;\n\tstruct reset_control *rstc;\n\tstruct work_struct work;\n\tstruct mutex lock;\n\tenum usb_dr_mode dr_mode;\n\tint irq;\n\tu32 obint_enable_bits;\n\tbool extcon_host;\n\tbool is_otg_channel;\n\tbool uses_otg_pins;\n\tbool soc_no_adp_ctrl;\n};\n\nstruct rcar_gen3_cpg_pll_config {\n\tu8 extal_div;\n\tu8 pll1_mult;\n\tu8 pll1_div;\n\tu8 pll3_mult;\n\tu8 pll3_div;\n\tu8 osc_prediv;\n};\n\nstruct rcar_gen3_phy___2 {\n\tstruct phy *phy;\n\tspinlock_t lock;\n\tvoid *base;\n};\n\nstruct rcar_gen3_phy_drv_data {\n\tconst struct phy_ops *phy_usb2_ops;\n\tbool no_adp_ctrl;\n\tbool init_bus;\n};\n\nstruct thermal_zone_device_ops {\n\tbool (*should_bind)(struct thermal_zone_device *, const struct thermal_trip *, struct thermal_cooling_device *, struct cooling_spec *);\n\tint (*get_temp)(struct thermal_zone_device *, int *);\n\tint (*set_trips)(struct thermal_zone_device *, int, int);\n\tint (*change_mode)(struct thermal_zone_device *, enum thermal_device_mode);\n\tint (*set_trip_temp)(struct thermal_zone_device *, const struct thermal_trip *, int);\n\tint (*get_crit_temp)(struct thermal_zone_device *, int *);\n\tint (*set_emul_temp)(struct thermal_zone_device *, int);\n\tint (*get_trend)(struct thermal_zone_device *, const struct thermal_trip *, enum thermal_trend *);\n\tvoid (*hot)(struct thermal_zone_device *);\n\tvoid (*critical)(struct thermal_zone_device *);\n};\n\nstruct rcar_gen3_thermal_tsc;\n\nstruct rcar_thermal_info;\n\nstruct rcar_gen3_thermal_priv {\n\tstruct rcar_gen3_thermal_tsc *tscs[5];\n\tstruct thermal_zone_device_ops ops;\n\tunsigned int num_tscs;\n\tint ptat[3];\n\tint tj_t;\n\tconst struct rcar_thermal_info *info;\n};\n\nstruct rcar_gen3_thermal_tsc {\n\tstruct rcar_gen3_thermal_priv *priv;\n\tvoid *base;\n\tstruct thermal_zone_device *zone;\n\tstruct {\n\t\tstruct equation_set_coef below;\n\t\tstruct equation_set_coef above;\n\t} coef;\n\tint thcode[3];\n};\n\nstruct rcar_gen4_cpg_pll_config {\n\tu8 extal_div;\n\tu8 pll1_mult;\n\tu8 pll1_div;\n\tu8 pll5_mult;\n\tu8 pll5_div;\n\tu8 osc_prediv;\n};\n\nstruct rcar_gen4_pm_domains {\n\tstruct genpd_onecell_data onecell_data;\n\tstruct generic_pm_domain *domains[65];\n};\n\nstruct rcar_gen4_ptp_reg_offset;\n\nstruct rcar_gen4_ptp_private {\n\tvoid *addr;\n\tstruct ptp_clock *clock;\n\tstruct ptp_clock_info info;\n\tconst struct rcar_gen4_ptp_reg_offset *offs;\n\tspinlock_t lock;\n\tu32 tstamp_tx_ctrl;\n\tu32 tstamp_rx_ctrl;\n\ts64 default_addend;\n\tbool initialized;\n};\n\nstruct rcar_gen4_ptp_reg_offset {\n\tu16 enable;\n\tu16 disable;\n\tu16 increment;\n\tu16 config_t0;\n\tu16 config_t1;\n\tu16 config_t2;\n\tu16 monitor_t0;\n\tu16 monitor_t1;\n\tu16 monitor_t2;\n};\n\nstruct rcar_gen4_sysc_area {\n\tconst char *name;\n\tu8 pdr;\n\ts8 parent;\n\tu8 flags;\n};\n\nstruct rcar_gen4_sysc_info {\n\tconst struct rcar_gen4_sysc_area *areas;\n\tunsigned int num_areas;\n};\n\nstruct rcar_gen4_sysc_pd {\n\tstruct generic_pm_domain genpd;\n\tu8 pdr;\n\tunsigned int flags;\n\tchar name[0];\n};\n\nstruct rcar_i2c_priv {\n\tu32 flags;\n\tvoid *io;\n\tstruct i2c_adapter adap;\n\tstruct i2c_msg *msg;\n\tint msgs_left;\n\tstruct clk *clk;\n\twait_queue_head_t wait;\n\tint pos;\n\tu32 icccr;\n\tu16 schd;\n\tu16 scld;\n\tu8 smd;\n\tu8 recovery_icmcr;\n\tenum rcar_i2c_type devtype;\n\tstruct i2c_client *slave;\n\tstruct resource *res;\n\tstruct dma_chan *dma_tx;\n\tstruct dma_chan *dma_rx;\n\tstruct scatterlist sg;\n\tenum dma_data_direction dma_direction;\n\tstruct reset_control *rstc;\n\tint irq;\n\tstruct i2c_client *host_notify_client;\n\tu8 slave_flags;\n};\n\nstruct rcar_msi {\n\tlong unsigned int used[1];\n\tstruct irq_domain *domain;\n\tstruct mutex map_lock;\n\tspinlock_t mask_lock;\n\tint irq1;\n\tint irq2;\n};\n\nstruct rcar_pcie {\n\tstruct device *dev;\n\tvoid *base;\n};\n\nstruct rcar_pcie_endpoint {\n\tstruct rcar_pcie pcie;\n\tphys_addr_t *ob_mapped_addr;\n\tstruct pci_epc_mem_window *ob_window;\n\tu8 max_functions;\n\tunsigned int bar_to_atu[6];\n\tlong unsigned int *ib_window_map;\n\tu32 num_ib_windows;\n\tu32 num_ob_windows;\n};\n\nstruct rcar_pcie_host {\n\tstruct rcar_pcie pcie;\n\tstruct phy *phy;\n\tstruct clk *bus_clk;\n\tstruct rcar_msi msi;\n\tint (*phy_init_fn)(struct rcar_pcie_host *);\n};\n\nstruct rcar_pm_domains {\n\tstruct genpd_onecell_data onecell_data;\n\tstruct generic_pm_domain *domains[33];\n};\n\nstruct rcar_sysc_area {\n\tconst char *name;\n\tu16 chan_offs;\n\tu8 chan_bit;\n\tu8 isr_bit;\n\ts8 parent;\n\tu8 flags;\n};\n\nstruct rcar_sysc_info {\n\tint (*init)(void);\n\tconst struct rcar_sysc_area *areas;\n\tunsigned int num_areas;\n\tu32 extmask_offs;\n\tu32 extmask_val;\n};\n\nstruct rcar_sysc_pd {\n\tstruct generic_pm_domain genpd;\n\tu16 chan_offs;\n\tu8 chan_bit;\n\tu8 isr_bit;\n\tunsigned int flags;\n\tchar name[0];\n};\n\nstruct rcar_thermal_chip {\n\tunsigned int use_of_thermal: 1;\n\tunsigned int has_filonoff: 1;\n\tunsigned int irq_per_ch: 1;\n\tunsigned int needs_suspend_resume: 1;\n\tunsigned int nirqs;\n\tunsigned int ctemp_bands;\n};\n\nstruct rcar_thermal_common {\n\tvoid *base;\n\tstruct device *dev;\n\tstruct list_head head;\n\tspinlock_t lock;\n};\n\nstruct rcar_thermal_info {\n\tint scale;\n\tint adj_below;\n\tint adj_above;\n\tvoid (*read_fuses)(struct rcar_gen3_thermal_priv *);\n};\n\nstruct rcar_thermal_priv {\n\tvoid *base;\n\tstruct rcar_thermal_common *common;\n\tstruct thermal_zone_device *zone;\n\tconst struct rcar_thermal_chip *chip;\n\tstruct delayed_work work;\n\tstruct mutex lock;\n\tstruct list_head list;\n\tint id;\n};\n\nstruct ring_pair_cb {\n\tstruct rcb_common_cb *rcb_common;\n\tstruct device *dev;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hnae_queue q;\n\tu16 index;\n\tu16 buf_size;\n\tint virq[2];\n\tu8 port_id_in_comm;\n\tu8 used_by_vf;\n\tstruct hns_ring_hw_stats hw_stats;\n};\n\nstruct rcb_common_cb {\n\tu8 *io_base;\n\tphys_addr_t phy_base;\n\tstruct dsaf_device *dsaf_dev;\n\tu16 max_vfn;\n\tu16 max_q_per_vf;\n\tu8 comm_index;\n\tu32 ring_num;\n\tu32 desc_num;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ring_pair_cb ring_pair_cb[0];\n};\n\nstruct rcec_ea {\n\tu8 nextbusn;\n\tu8 lastbusn;\n\tu32 bitmap;\n};\n\nstruct rcpm {\n\tunsigned int wakeup_cells;\n\tvoid *ippdexpcr_base;\n\tbool little_endian;\n};\n\nstruct rcu_cblist {\n\tstruct callback_head *head;\n\tstruct callback_head **tail;\n\tlong int len;\n};\n\nunion rcu_noqs {\n\tstruct {\n\t\tu8 norm;\n\t\tu8 exp;\n\t} b;\n\tu16 s;\n};\n\nstruct rcu_segcblist {\n\tstruct callback_head *head;\n\tstruct callback_head **tails[4];\n\tlong unsigned int gp_seq[4];\n\tlong int len;\n\tlong int seglen[4];\n\tu8 flags;\n};\n\nstruct rcu_snap_record {\n\tlong unsigned int gp_seq;\n\tu64 cputime_irq;\n\tu64 cputime_softirq;\n\tu64 cputime_system;\n\tlong unsigned int nr_hardirqs;\n\tunsigned int nr_softirqs;\n\tlong long unsigned int nr_csw;\n\tlong unsigned int jiffies;\n};\n\nstruct rcu_node;\n\nstruct rcu_data {\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_seq_needed;\n\tunion rcu_noqs cpu_no_qs;\n\tbool core_needs_qs;\n\tbool beenonline;\n\tbool gpwrap;\n\tbool cpu_started;\n\tstruct rcu_node *mynode;\n\tlong unsigned int grpmask;\n\tlong unsigned int ticks_this_gp;\n\tstruct irq_work defer_qs_iw;\n\tbool defer_qs_iw_pending;\n\tstruct work_struct strict_work;\n\tstruct rcu_segcblist cblist;\n\tlong int qlen_last_fqs_check;\n\tlong unsigned int n_cbs_invoked;\n\tlong unsigned int n_force_qs_snap;\n\tlong int blimit;\n\tint watching_snap;\n\tbool rcu_need_heavy_qs;\n\tbool rcu_urgent_qs;\n\tbool rcu_forced_tick;\n\tbool rcu_forced_tick_exp;\n\tlong unsigned int barrier_seq_snap;\n\tstruct callback_head barrier_head;\n\tint exp_watching_snap;\n\tstruct task_struct *rcu_cpu_kthread_task;\n\tunsigned int rcu_cpu_kthread_status;\n\tchar rcu_cpu_has_work;\n\tlong unsigned int rcuc_activity;\n\tunsigned int softirq_snap;\n\tstruct irq_work rcu_iw;\n\tbool rcu_iw_pending;\n\tlong unsigned int rcu_iw_gp_seq;\n\tlong unsigned int rcu_ofl_gp_seq;\n\tshort int rcu_ofl_gp_state;\n\tlong unsigned int rcu_onl_gp_seq;\n\tshort int rcu_onl_gp_state;\n\tlong unsigned int last_fqs_resched;\n\tlong unsigned int last_sched_clock;\n\tstruct rcu_snap_record snap_record;\n\tlong int lazy_len;\n\tint cpu;\n};\n\nstruct rcu_exp_work {\n\tlong unsigned int rew_s;\n\tstruct kthread_work rew_work;\n};\n\nstruct rcu_node {\n\traw_spinlock_t lock;\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_seq_needed;\n\tlong unsigned int completedqs;\n\tlong unsigned int qsmask;\n\tlong unsigned int rcu_gp_init_mask;\n\tlong unsigned int qsmaskinit;\n\tlong unsigned int qsmaskinitnext;\n\tlong unsigned int expmask;\n\tlong unsigned int expmaskinit;\n\tlong unsigned int expmaskinitnext;\n\tstruct kthread_worker *exp_kworker;\n\tlong unsigned int cbovldmask;\n\tlong unsigned int ffmask;\n\tlong unsigned int grpmask;\n\tint grplo;\n\tint grphi;\n\tu8 grpnum;\n\tu8 level;\n\tbool wait_blkd_tasks;\n\tstruct rcu_node *parent;\n\tstruct list_head blkd_tasks;\n\tstruct list_head *gp_tasks;\n\tstruct list_head *exp_tasks;\n\tstruct list_head *boost_tasks;\n\tstruct rt_mutex boost_mtx;\n\tlong unsigned int boost_time;\n\tstruct mutex kthread_mutex;\n\tstruct task_struct *boost_kthread_task;\n\tunsigned int boost_kthread_status;\n\tlong unsigned int n_boosts;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t fqslock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t exp_lock;\n\tlong unsigned int exp_seq_rq;\n\twait_queue_head_t exp_wq[4];\n\tstruct rcu_exp_work rew;\n\tbool exp_need_flush;\n\traw_spinlock_t exp_poll_lock;\n\tlong unsigned int exp_seq_poll_rq;\n\tstruct work_struct exp_poll_wq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion rcu_special {\n\tstruct {\n\t\tu8 blocked;\n\t\tu8 need_qs;\n\t\tu8 exp_hint;\n\t\tu8 need_mb;\n\t} b;\n\tu32 s;\n};\n\nstruct rcu_stall_chk_rdr {\n\tint nesting;\n\tunion rcu_special rs;\n\tbool on_blkd_list;\n};\n\nstruct sr_wait_node {\n\tatomic_t inuse;\n\tstruct llist_node node;\n};\n\nstruct rcu_state {\n\tstruct rcu_node node[33];\n\tstruct rcu_node *level[3];\n\tint ncpus;\n\tint n_online_cpus;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_max;\n\tstruct task_struct *gp_kthread;\n\tstruct swait_queue_head gp_wq;\n\tshort int gp_flags;\n\tshort int gp_state;\n\tlong unsigned int gp_wake_time;\n\tlong unsigned int gp_wake_seq;\n\tlong unsigned int gp_seq_polled;\n\tlong unsigned int gp_seq_polled_snap;\n\tlong unsigned int gp_seq_polled_exp_snap;\n\tstruct mutex barrier_mutex;\n\tatomic_t barrier_cpu_count;\n\tstruct completion barrier_completion;\n\tlong unsigned int barrier_sequence;\n\traw_spinlock_t barrier_lock;\n\tstruct mutex exp_mutex;\n\tstruct mutex exp_wake_mutex;\n\tlong unsigned int expedited_sequence;\n\tatomic_t expedited_need_qs;\n\tstruct swait_queue_head expedited_wq;\n\tint ncpus_snap;\n\tu8 cbovld;\n\tu8 cbovldnext;\n\tlong unsigned int jiffies_force_qs;\n\tlong unsigned int jiffies_kick_kthreads;\n\tlong unsigned int n_force_qs;\n\tlong unsigned int gp_start;\n\tlong unsigned int gp_end;\n\tlong unsigned int gp_activity;\n\tlong unsigned int gp_req_activity;\n\tlong unsigned int jiffies_stall;\n\tint nr_fqs_jiffies_stall;\n\tlong unsigned int jiffies_resched;\n\tlong unsigned int n_force_qs_gpstart;\n\tconst char *name;\n\tchar abbr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tarch_spinlock_t ofl_lock;\n\tstruct llist_head srs_next;\n\tstruct llist_node *srs_wait_tail;\n\tstruct llist_node *srs_done_tail;\n\tstruct sr_wait_node srs_wait_nodes[5];\n\tstruct work_struct srs_cleanup_work;\n\tatomic_t srs_cleanups_pending;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rcu_synchronize {\n\tstruct callback_head head;\n\tstruct completion completion;\n};\n\nstruct rcu_tasks;\n\ntypedef void (*rcu_tasks_gp_func_t)(struct rcu_tasks *);\n\ntypedef void (*pregp_func_t)(struct list_head *);\n\ntypedef void (*pertask_func_t)(struct task_struct *, struct list_head *);\n\ntypedef void (*postscan_func_t)(struct list_head *);\n\ntypedef void (*holdouts_func_t)(struct list_head *, bool, bool *);\n\ntypedef void (*postgp_func_t)(struct rcu_tasks *);\n\ntypedef void (*rcu_callback_t)(struct callback_head *);\n\ntypedef void (*call_rcu_func_t)(struct callback_head *, rcu_callback_t);\n\nstruct rcu_tasks_percpu;\n\nstruct rcu_tasks {\n\tstruct rcuwait cbs_wait;\n\traw_spinlock_t cbs_gbl_lock;\n\tstruct mutex tasks_gp_mutex;\n\tint gp_state;\n\tint gp_sleep;\n\tint init_fract;\n\tlong unsigned int gp_jiffies;\n\tlong unsigned int gp_start;\n\tlong unsigned int tasks_gp_seq;\n\tlong unsigned int n_ipis;\n\tlong unsigned int n_ipis_fails;\n\tstruct task_struct *kthread_ptr;\n\tlong unsigned int lazy_jiffies;\n\trcu_tasks_gp_func_t gp_func;\n\tpregp_func_t pregp_func;\n\tpertask_func_t pertask_func;\n\tpostscan_func_t postscan_func;\n\tholdouts_func_t holdouts_func;\n\tpostgp_func_t postgp_func;\n\tcall_rcu_func_t call_func;\n\tunsigned int wait_state;\n\tstruct rcu_tasks_percpu *rtpcpu;\n\tstruct rcu_tasks_percpu **rtpcp_array;\n\tint percpu_enqueue_shift;\n\tint percpu_enqueue_lim;\n\tint percpu_dequeue_lim;\n\tlong unsigned int percpu_dequeue_gpseq;\n\tstruct mutex barrier_q_mutex;\n\tatomic_t barrier_q_count;\n\tstruct completion barrier_q_completion;\n\tlong unsigned int barrier_q_seq;\n\tlong unsigned int barrier_q_start;\n\tchar *name;\n\tchar *kname;\n};\n\nstruct rcu_tasks_percpu {\n\tstruct rcu_segcblist cblist;\n\traw_spinlock_t lock;\n\tlong unsigned int rtp_jiffies;\n\tlong unsigned int rtp_n_lock_retries;\n\tstruct timer_list lazy_timer;\n\tunsigned int urgent_gp;\n\tstruct work_struct rtp_work;\n\tstruct irq_work rtp_irq_work;\n\tstruct callback_head barrier_q_head;\n\tstruct list_head rtp_blkd_tasks;\n\tstruct list_head rtp_exit_list;\n\tint cpu;\n\tint index;\n\tstruct rcu_tasks *rtpp;\n};\n\nstruct rdma_ah_init_attr {\n\tstruct rdma_ah_attr *ah_attr;\n\tu32 flags;\n\tstruct net_device *xmit_slave;\n};\n\nstruct rdma_counter {\n\tstruct rdma_restrack_entry res;\n\tstruct ib_device *device;\n\tuint32_t id;\n\tstruct kref kref;\n\tstruct rdma_counter_mode mode;\n\tstruct mutex lock;\n\tstruct rdma_hw_stats *stats;\n\tu32 port;\n};\n\nstruct rdma_stat_desc;\n\nstruct rdma_hw_stats {\n\tstruct mutex lock;\n\tlong unsigned int timestamp;\n\tlong unsigned int lifespan;\n\tconst struct rdma_stat_desc *descs;\n\tlong unsigned int *is_disabled;\n\tint num_counters;\n\tu64 value[0];\n};\n\nstruct rdma_link_ops {\n\tstruct list_head list;\n\tconst char *type;\n\tint (*newlink)(const char *, struct net_device *);\n};\n\nstruct rdma_netdev_alloc_params {\n\tsize_t sizeof_priv;\n\tunsigned int txqs;\n\tunsigned int rxqs;\n\tvoid *param;\n\tint (*initialize_rdma_netdev)(struct ib_device *, u32, struct net_device *, void *);\n};\n\nstruct rdma_stat_desc {\n\tconst char *name;\n\tunsigned int flags;\n\tconst void *priv;\n};\n\nstruct rdma_user_mmap_entry {\n\tstruct kref ref;\n\tstruct ib_ucontext *ucontext;\n\tlong unsigned int start_pgoff;\n\tsize_t npages;\n\tbool driver_removed;\n};\n\nstruct read_buffer {\n\tstruct list_head list;\n\tunsigned int cons;\n\tunsigned int len;\n\tchar msg[0];\n};\n\nstruct tegra_cpu_ctr {\n\tu32 cpu;\n\tu32 coreclk_cnt;\n\tu32 last_coreclk_cnt;\n\tu32 refclk_cnt;\n\tu32 last_refclk_cnt;\n};\n\nstruct read_counters_work {\n\tstruct work_struct work;\n\tstruct tegra_cpu_ctr c;\n};\n\nstruct read_plus_segment {\n\tenum data_content4 type;\n\tuint64_t offset;\n\tunion {\n\t\tstruct {\n\t\t\tuint64_t length;\n\t\t} hole;\n\t\tstruct {\n\t\t\tuint32_t length;\n\t\t\tunsigned int from;\n\t\t} data;\n\t};\n};\n\nstruct read_stats {\n\t__le32 flash;\n\t__le32 buffer;\n\t__le32 erased_cw;\n};\n\nstruct readahead_control {\n\tstruct file *file;\n\tstruct address_space *mapping;\n\tstruct file_ra_state *ra;\n\tlong unsigned int _index;\n\tunsigned int _nr_pages;\n\tunsigned int _batch_count;\n\tbool dropbehind;\n\tbool _workingset;\n\tlong unsigned int _pflags;\n};\n\nstruct realm_config {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int ipa_bits;\n\t\t\tlong unsigned int hash_algo;\n\t\t};\n\t\tu8 pad[512];\n\t};\n\tunion {\n\t\tu8 rpv[64];\n\t\tu8 pad2[3584];\n\t};\n};\n\nstruct reboot_mode_driver {\n\tstruct device *dev;\n\tstruct list_head head;\n\tint (*write)(struct reboot_mode_driver *, unsigned int);\n\tstruct notifier_block reboot_notifier;\n};\n\nstruct virtnet_rq_stats {\n\tstruct u64_stats_sync syncp;\n\tu64_stats_t packets;\n\tu64_stats_t bytes;\n\tu64_stats_t drops;\n\tu64_stats_t xdp_packets;\n\tu64_stats_t xdp_tx;\n\tu64_stats_t xdp_redirects;\n\tu64_stats_t xdp_drops;\n\tu64_stats_t kicks;\n};\n\nstruct virtnet_interrupt_coalesce {\n\tu32 max_packets;\n\tu32 max_usecs;\n};\n\nstruct virtnet_rq_dma;\n\nstruct receive_queue {\n\tstruct virtqueue *vq;\n\tstruct napi_struct napi;\n\tstruct bpf_prog *xdp_prog;\n\tstruct virtnet_rq_stats stats;\n\tu16 calls;\n\tbool dim_enabled;\n\tstruct mutex dim_lock;\n\tstruct dim dim;\n\tu32 packets_in_napi;\n\tstruct virtnet_interrupt_coalesce intr_coal;\n\tstruct page *pages;\n\tstruct ewma_pkt_len mrg_avg_pkt_len;\n\tstruct page_frag alloc_frag;\n\tstruct scatterlist sg[19];\n\tunsigned int min_buf_len;\n\tchar name[16];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct virtnet_rq_dma *last_dma;\n\tstruct xsk_buff_pool *xsk_pool;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xsk_rxq_info;\n\tstruct xdp_buff **xsk_buffs;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct reciprocal_value_adv {\n\tu32 m;\n\tu8 sh;\n\tu8 exp;\n\tbool is_wide_m;\n};\n\nstruct reclaim_stat {\n\tunsigned int nr_dirty;\n\tunsigned int nr_unqueued_dirty;\n\tunsigned int nr_congested;\n\tunsigned int nr_writeback;\n\tunsigned int nr_immediate;\n\tunsigned int nr_pageout;\n\tunsigned int nr_activate[2];\n\tunsigned int nr_ref_keep;\n\tunsigned int nr_unmap_fail;\n\tunsigned int nr_lazyfree_fail;\n\tunsigned int nr_demoted;\n};\n\nstruct reclaim_state {\n\tlong unsigned int reclaimed;\n};\n\nstruct recovery_info {\n\ttid_t start_transaction;\n\ttid_t end_transaction;\n\tlong unsigned int head_block;\n\tint nr_replays;\n\tint nr_revokes;\n\tint nr_revoke_hits;\n};\n\nstruct redist_region {\n\tvoid *redist_base;\n\tphys_addr_t phys_base;\n\tbool single_redist;\n};\n\nstruct referring_call {\n\tuint32_t rc_sequenceid;\n\tuint32_t rc_slotid;\n};\n\nstruct referring_call_list {\n\tstruct nfs4_sessionid rcl_sessionid;\n\tuint32_t rcl_nrefcalls;\n\tstruct referring_call *rcl_refcalls;\n};\n\nstruct reg_cfg {\n\tu32 val;\n\tu32 msk;\n};\n\nstruct reg_default {\n\tunsigned int reg;\n\tunsigned int def;\n};\n\nstruct reg_mask_range {\n\t__u64 addr;\n\t__u32 range;\n\t__u32 reserved[13];\n};\n\nstruct reg_offset_data {\n\tu32 base_offset;\n\tunsigned int pipe_mult;\n\tunsigned int evnt_mult;\n\tunsigned int ee_mult;\n};\n\nstruct reg_sequence {\n\tunsigned int reg;\n\tunsigned int def;\n\tunsigned int delay_us;\n};\n\nstruct reg_val {\n\tu16 reg;\n\tu32 val;\n};\n\nstruct regcache_ops {\n\tconst char *name;\n\tenum regcache_type type;\n\tint (*init)(struct regmap *);\n\tint (*exit)(struct regmap *);\n\tvoid (*debugfs_init)(struct regmap *);\n\tint (*read)(struct regmap *, unsigned int, unsigned int *);\n\tint (*write)(struct regmap *, unsigned int, unsigned int);\n\tint (*sync)(struct regmap *, unsigned int, unsigned int);\n\tint (*drop)(struct regmap *, unsigned int, unsigned int);\n};\n\nstruct regcache_rbtree_node;\n\nstruct regcache_rbtree_ctx {\n\tstruct rb_root root;\n\tstruct regcache_rbtree_node *cached_rbnode;\n};\n\nstruct regcache_rbtree_node {\n\tvoid *block;\n\tlong unsigned int *cache_present;\n\tunsigned int base_reg;\n\tunsigned int blklen;\n\tstruct rb_node node;\n};\n\ntypedef int (*regex_match_func)(char *, struct regex *, int);\n\nstruct regex {\n\tchar pattern[256];\n\tint len;\n\tint field_len;\n\tregex_match_func match;\n};\n\nstruct region {\n\tunsigned int start;\n\tunsigned int off;\n\tunsigned int group_len;\n\tunsigned int end;\n\tunsigned int nbits;\n};\n\nstruct region_devres {\n\tstruct resource *parent;\n\tresource_size_t start;\n\tresource_size_t n;\n};\n\nstruct region_info_user {\n\t__u32 offset;\n\t__u32 erasesize;\n\t__u32 numblocks;\n\t__u32 regionindex;\n};\n\nstruct registered_event_data {\n\tu64 key;\n\tenum pm_api_cb_id cb_type;\n\tbool wake;\n\tstruct list_head cb_list_head;\n\tstruct hlist_node hentry;\n};\n\ntypedef void (*regmap_lock)(void *);\n\ntypedef void (*regmap_unlock)(void *);\n\nstruct regmap_format {\n\tsize_t buf_size;\n\tsize_t reg_bytes;\n\tsize_t pad_bytes;\n\tsize_t val_bytes;\n\ts8 reg_shift;\n\tvoid (*format_write)(struct regmap *, unsigned int, unsigned int);\n\tvoid (*format_reg)(void *, unsigned int, unsigned int);\n\tvoid (*format_val)(void *, unsigned int, unsigned int);\n\tunsigned int (*parse_val)(const void *);\n\tvoid (*parse_inplace)(void *);\n};\n\nstruct regmap_bus;\n\nstruct regmap {\n\tunion {\n\t\tstruct mutex mutex;\n\t\tstruct {\n\t\t\tspinlock_t spinlock;\n\t\t\tlong unsigned int spinlock_flags;\n\t\t};\n\t\tstruct {\n\t\t\traw_spinlock_t raw_spinlock;\n\t\t\tlong unsigned int raw_spinlock_flags;\n\t\t};\n\t};\n\tstruct lock_class_key *lock_key;\n\tregmap_lock lock;\n\tregmap_unlock unlock;\n\tvoid *lock_arg;\n\tgfp_t alloc_flags;\n\tunsigned int reg_base;\n\tstruct device *dev;\n\tvoid *work_buf;\n\tstruct regmap_format format;\n\tconst struct regmap_bus *bus;\n\tvoid *bus_context;\n\tconst char *name;\n\tbool async;\n\tspinlock_t async_lock;\n\twait_queue_head_t async_waitq;\n\tstruct list_head async_list;\n\tstruct list_head async_free;\n\tint async_ret;\n\tbool debugfs_disable;\n\tstruct dentry *debugfs;\n\tconst char *debugfs_name;\n\tunsigned int debugfs_reg_len;\n\tunsigned int debugfs_val_len;\n\tunsigned int debugfs_tot_len;\n\tstruct list_head debugfs_off_cache;\n\tstruct mutex cache_lock;\n\tunsigned int max_register;\n\tbool max_register_is_set;\n\tbool (*writeable_reg)(struct device *, unsigned int);\n\tbool (*readable_reg)(struct device *, unsigned int);\n\tbool (*volatile_reg)(struct device *, unsigned int);\n\tbool (*precious_reg)(struct device *, unsigned int);\n\tbool (*writeable_noinc_reg)(struct device *, unsigned int);\n\tbool (*readable_noinc_reg)(struct device *, unsigned int);\n\tconst struct regmap_access_table *wr_table;\n\tconst struct regmap_access_table *rd_table;\n\tconst struct regmap_access_table *volatile_table;\n\tconst struct regmap_access_table *precious_table;\n\tconst struct regmap_access_table *wr_noinc_table;\n\tconst struct regmap_access_table *rd_noinc_table;\n\tint (*reg_read)(void *, unsigned int, unsigned int *);\n\tint (*reg_write)(void *, unsigned int, unsigned int);\n\tint (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\tint (*read)(void *, const void *, size_t, void *, size_t);\n\tint (*write)(void *, const void *, size_t);\n\tbool defer_caching;\n\tlong unsigned int read_flag_mask;\n\tlong unsigned int write_flag_mask;\n\tint reg_shift;\n\tint reg_stride;\n\tint reg_stride_order;\n\tbool force_write_field;\n\tconst struct regcache_ops *cache_ops;\n\tenum regcache_type cache_type;\n\tunsigned int cache_size_raw;\n\tunsigned int cache_word_size;\n\tunsigned int num_reg_defaults;\n\tunsigned int num_reg_defaults_raw;\n\tbool cache_only;\n\tbool cache_bypass;\n\tbool cache_free;\n\tstruct reg_default *reg_defaults;\n\tconst void *reg_defaults_raw;\n\tvoid *cache;\n\tbool cache_dirty;\n\tbool no_sync_defaults;\n\tstruct reg_sequence *patch;\n\tint patch_regs;\n\tbool use_single_read;\n\tbool use_single_write;\n\tbool can_multi_write;\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n\tstruct rb_root range_tree;\n\tvoid *selector_work_buf;\n\tstruct hwspinlock *hwlock;\n\tbool can_sleep;\n};\n\nstruct regmap_range;\n\nstruct regmap_access_table {\n\tconst struct regmap_range *yes_ranges;\n\tunsigned int n_yes_ranges;\n\tconst struct regmap_range *no_ranges;\n\tunsigned int n_no_ranges;\n};\n\nstruct regmap_async {\n\tstruct list_head list;\n\tstruct regmap *map;\n\tvoid *work_buf;\n};\n\nstruct regmap_async_spi {\n\tstruct regmap_async core;\n\tstruct spi_message m;\n\tstruct spi_transfer t[2];\n};\n\ntypedef int (*regmap_hw_write)(void *, const void *, size_t);\n\ntypedef int (*regmap_hw_gather_write)(void *, const void *, size_t, const void *, size_t);\n\ntypedef int (*regmap_hw_async_write)(void *, const void *, size_t, const void *, size_t, struct regmap_async *);\n\ntypedef int (*regmap_hw_reg_write)(void *, unsigned int, unsigned int);\n\ntypedef int (*regmap_hw_reg_noinc_write)(void *, unsigned int, const void *, size_t);\n\ntypedef int (*regmap_hw_reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\ntypedef int (*regmap_hw_read)(void *, const void *, size_t, void *, size_t);\n\ntypedef int (*regmap_hw_reg_read)(void *, unsigned int, unsigned int *);\n\ntypedef int (*regmap_hw_reg_noinc_read)(void *, unsigned int, void *, size_t);\n\ntypedef void (*regmap_hw_free_context)(void *);\n\ntypedef struct regmap_async * (*regmap_hw_async_alloc)(void);\n\nstruct regmap_bus {\n\tbool fast_io;\n\tbool free_on_exit;\n\tregmap_hw_write write;\n\tregmap_hw_gather_write gather_write;\n\tregmap_hw_async_write async_write;\n\tregmap_hw_reg_write reg_write;\n\tregmap_hw_reg_noinc_write reg_noinc_write;\n\tregmap_hw_reg_update_bits reg_update_bits;\n\tregmap_hw_read read;\n\tregmap_hw_reg_read reg_read;\n\tregmap_hw_reg_noinc_read reg_noinc_read;\n\tregmap_hw_free_context free_context;\n\tregmap_hw_async_alloc async_alloc;\n\tu8 read_flag_mask;\n\tenum regmap_endian reg_format_endian_default;\n\tenum regmap_endian val_format_endian_default;\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n};\n\nstruct regmap_range_cfg;\n\nstruct regmap_config {\n\tconst char *name;\n\tint reg_bits;\n\tint reg_stride;\n\tint reg_shift;\n\tunsigned int reg_base;\n\tint pad_bits;\n\tint val_bits;\n\tbool (*writeable_reg)(struct device *, unsigned int);\n\tbool (*readable_reg)(struct device *, unsigned int);\n\tbool (*volatile_reg)(struct device *, unsigned int);\n\tbool (*precious_reg)(struct device *, unsigned int);\n\tbool (*writeable_noinc_reg)(struct device *, unsigned int);\n\tbool (*readable_noinc_reg)(struct device *, unsigned int);\n\tint (*reg_read)(void *, unsigned int, unsigned int *);\n\tint (*reg_write)(void *, unsigned int, unsigned int);\n\tint (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\tint (*read)(void *, const void *, size_t, void *, size_t);\n\tint (*write)(void *, const void *, size_t);\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n\tbool can_sleep;\n\tbool fast_io;\n\tbool io_port;\n\tbool disable_locking;\n\tregmap_lock lock;\n\tregmap_unlock unlock;\n\tvoid *lock_arg;\n\tunsigned int max_register;\n\tbool max_register_is_0;\n\tconst struct regmap_access_table *wr_table;\n\tconst struct regmap_access_table *rd_table;\n\tconst struct regmap_access_table *volatile_table;\n\tconst struct regmap_access_table *precious_table;\n\tconst struct regmap_access_table *wr_noinc_table;\n\tconst struct regmap_access_table *rd_noinc_table;\n\tconst struct reg_default *reg_defaults;\n\tunsigned int num_reg_defaults;\n\tenum regcache_type cache_type;\n\tconst void *reg_defaults_raw;\n\tunsigned int num_reg_defaults_raw;\n\tlong unsigned int read_flag_mask;\n\tlong unsigned int write_flag_mask;\n\tbool zero_flag_mask;\n\tbool use_single_read;\n\tbool use_single_write;\n\tbool use_relaxed_mmio;\n\tbool can_multi_write;\n\tbool use_hwlock;\n\tbool use_raw_spinlock;\n\tunsigned int hwlock_id;\n\tunsigned int hwlock_mode;\n\tenum regmap_endian reg_format_endian;\n\tenum regmap_endian val_format_endian;\n\tconst struct regmap_range_cfg *ranges;\n\tunsigned int num_ranges;\n};\n\nstruct regmap_debugfs_node {\n\tstruct regmap *map;\n\tstruct list_head link;\n};\n\nstruct regmap_debugfs_off_cache {\n\tstruct list_head list;\n\toff_t min;\n\toff_t max;\n\tunsigned int base_reg;\n\tunsigned int max_reg;\n};\n\nstruct regmap_field {\n\tstruct regmap *regmap;\n\tunsigned int mask;\n\tunsigned int shift;\n\tunsigned int reg;\n\tunsigned int id_size;\n\tunsigned int id_offset;\n};\n\nstruct regmap_irq_type {\n\tunsigned int type_reg_offset;\n\tunsigned int type_reg_mask;\n\tunsigned int type_rising_val;\n\tunsigned int type_falling_val;\n\tunsigned int type_level_low_val;\n\tunsigned int type_level_high_val;\n\tunsigned int types_supported;\n};\n\nstruct regmap_irq {\n\tunsigned int reg_offset;\n\tunsigned int mask;\n\tstruct regmap_irq_type type;\n};\n\nstruct regmap_irq_sub_irq_map;\n\nstruct regmap_irq_chip {\n\tconst char *name;\n\tconst char *domain_suffix;\n\tunsigned int main_status;\n\tunsigned int num_main_status_bits;\n\tconst struct regmap_irq_sub_irq_map *sub_reg_offsets;\n\tint num_main_regs;\n\tunsigned int status_base;\n\tunsigned int mask_base;\n\tunsigned int unmask_base;\n\tunsigned int ack_base;\n\tunsigned int wake_base;\n\tconst unsigned int *config_base;\n\tunsigned int irq_reg_stride;\n\tunsigned int init_ack_masked: 1;\n\tunsigned int mask_unmask_non_inverted: 1;\n\tunsigned int use_ack: 1;\n\tunsigned int ack_invert: 1;\n\tunsigned int clear_ack: 1;\n\tunsigned int status_invert: 1;\n\tunsigned int wake_invert: 1;\n\tunsigned int type_in_mask: 1;\n\tunsigned int clear_on_unmask: 1;\n\tunsigned int runtime_pm: 1;\n\tunsigned int no_status: 1;\n\tint num_regs;\n\tconst struct regmap_irq *irqs;\n\tint num_irqs;\n\tint num_config_bases;\n\tint num_config_regs;\n\tint (*handle_pre_irq)(void *);\n\tint (*handle_post_irq)(void *);\n\tint (*handle_mask_sync)(int, unsigned int, unsigned int, void *);\n\tint (*set_type_config)(unsigned int **, unsigned int, const struct regmap_irq *, int, void *);\n\tunsigned int (*get_irq_reg)(struct regmap_irq_chip_data *, unsigned int, int);\n\tvoid *irq_drv_data;\n};\n\nstruct regmap_irq_chip_data {\n\tstruct mutex lock;\n\tstruct irq_chip irq_chip;\n\tstruct regmap *map;\n\tconst struct regmap_irq_chip *chip;\n\tint irq_base;\n\tstruct irq_domain *domain;\n\tint irq;\n\tint wake_count;\n\tvoid *status_reg_buf;\n\tunsigned int *main_status_buf;\n\tunsigned int *status_buf;\n\tunsigned int *mask_buf;\n\tunsigned int *mask_buf_def;\n\tunsigned int *wake_buf;\n\tunsigned int *type_buf;\n\tunsigned int *type_buf_def;\n\tunsigned int **config_buf;\n\tunsigned int irq_reg_stride;\n\tunsigned int (*get_irq_reg)(struct regmap_irq_chip_data *, unsigned int, int);\n\tunsigned int clear_status: 1;\n};\n\nstruct regmap_irq_sub_irq_map {\n\tunsigned int num_regs;\n\tunsigned int *offset;\n};\n\nstruct regmap_mmio_context {\n\tvoid *regs;\n\tunsigned int val_bytes;\n\tbool big_endian;\n\tbool attached_clk;\n\tstruct clk *clk;\n\tvoid (*reg_write)(struct regmap_mmio_context *, unsigned int, unsigned int);\n\tunsigned int (*reg_read)(struct regmap_mmio_context *, unsigned int);\n};\n\nstruct regmap_range {\n\tunsigned int range_min;\n\tunsigned int range_max;\n};\n\nstruct regmap_range_cfg {\n\tconst char *name;\n\tunsigned int range_min;\n\tunsigned int range_max;\n\tunsigned int selector_reg;\n\tunsigned int selector_mask;\n\tint selector_shift;\n\tunsigned int window_start;\n\tunsigned int window_len;\n};\n\nstruct regmap_range_node {\n\tstruct rb_node node;\n\tconst char *name;\n\tstruct regmap *map;\n\tunsigned int range_min;\n\tunsigned int range_max;\n\tunsigned int selector_reg;\n\tunsigned int selector_mask;\n\tint selector_shift;\n\tunsigned int window_start;\n\tunsigned int window_len;\n};\n\nstruct regulator_voltage {\n\tint min_uV;\n\tint max_uV;\n};\n\nstruct regulator {\n\tstruct device *dev;\n\tstruct list_head list;\n\tunsigned int always_on: 1;\n\tunsigned int bypass: 1;\n\tunsigned int device_link: 1;\n\tint uA_load;\n\tunsigned int enable_count;\n\tunsigned int deferred_disables;\n\tstruct regulator_voltage voltage[5];\n\tconst char *supply_name;\n\tstruct device_attribute dev_attr;\n\tstruct regulator_dev *rdev;\n\tstruct dentry *debugfs;\n};\n\nstruct regulator_bulk_devres {\n\tstruct regulator_bulk_data *consumers;\n\tint num_consumers;\n};\n\nstruct regulator_config {\n\tstruct device *dev;\n\tconst struct regulator_init_data *init_data;\n\tvoid *driver_data;\n\tstruct device_node *of_node;\n\tstruct regmap *regmap;\n\tstruct gpio_desc *ena_gpiod;\n};\n\nstruct regulator_consumer_supply {\n\tconst char *dev_name;\n\tconst char *supply;\n};\n\nstruct regulator_enable_gpio;\n\nstruct regulator_dev {\n\tconst struct regulator_desc *desc;\n\tint exclusive;\n\tu32 use_count;\n\tu32 open_count;\n\tu32 bypass_count;\n\tstruct list_head list;\n\tstruct list_head consumer_list;\n\tstruct coupling_desc coupling_desc;\n\tstruct blocking_notifier_head notifier;\n\tstruct ww_mutex mutex;\n\tstruct task_struct *mutex_owner;\n\tint ref_cnt;\n\tstruct module *owner;\n\tstruct device dev;\n\tstruct regulation_constraints *constraints;\n\tstruct regulator *supply;\n\tconst char *supply_name;\n\tstruct regmap *regmap;\n\tstruct delayed_work disable_work;\n\tvoid *reg_data;\n\tstruct dentry *debugfs;\n\tstruct regulator_enable_gpio *ena_pin;\n\tunsigned int ena_gpio_state: 1;\n\tunsigned int is_switch: 1;\n\tktime_t last_off;\n\tint cached_err;\n\tbool use_cached_err;\n\tspinlock_t err_lock;\n\tint pw_requested_mW;\n};\n\nstruct regulator_enable_gpio {\n\tstruct list_head list;\n\tstruct gpio_desc *gpiod;\n\tu32 enable_count;\n\tu32 request_count;\n};\n\nstruct regulator_err_state {\n\tstruct regulator_dev *rdev;\n\tlong unsigned int notifs;\n\tlong unsigned int errors;\n\tint possible_errs;\n};\n\nstruct regulator_irq_data {\n\tstruct regulator_err_state *states;\n\tint num_states;\n\tvoid *data;\n\tlong int opaque;\n};\n\nstruct regulator_irq_desc {\n\tconst char *name;\n\tint fatal_cnt;\n\tint reread_ms;\n\tint irq_off_ms;\n\tbool skip_off;\n\tbool high_prio;\n\tvoid *data;\n\tint (*die)(struct regulator_irq_data *);\n\tint (*map_event)(int, struct regulator_irq_data *, long unsigned int *);\n\tint (*renable)(struct regulator_irq_data *);\n};\n\nstruct regulator_irq {\n\tstruct regulator_irq_data rdata;\n\tstruct regulator_irq_desc desc;\n\tint irq;\n\tint retry_cnt;\n\tstruct delayed_work isr_work;\n};\n\nstruct regulator_map {\n\tstruct list_head list;\n\tconst char *dev_name;\n\tconst char *supply;\n\tstruct regulator_dev *regulator;\n};\n\nstruct regulator_notifier_match {\n\tstruct regulator *regulator;\n\tstruct notifier_block *nb;\n};\n\nstruct regulator_supply_alias {\n\tstruct list_head list;\n\tstruct device *src_dev;\n\tconst char *src_supply;\n\tstruct device *alias_dev;\n\tconst char *alias_supply;\n};\n\nstruct regulator_supply_alias_match {\n\tstruct device *dev;\n\tconst char *id;\n};\n\nstruct xen_remap_gfn_info;\n\nstruct remap_data {\n\txen_pfn_t *fgfn;\n\tint nr_fgfn;\n\tpgprot_t prot;\n\tdomid_t domid;\n\tstruct vm_area_struct *vma;\n\tint index;\n\tstruct page **pages;\n\tstruct xen_remap_gfn_info *info;\n\tint *err_ptr;\n\tint mapped;\n\tint h_errs[1];\n\txen_ulong_t h_idxs[1];\n\txen_pfn_t h_gpfns[1];\n\tint h_iter;\n};\n\nstruct remap_pfn {\n\tstruct mm_struct *mm;\n\tstruct page **pages;\n\tpgprot_t prot;\n\tlong unsigned int i;\n};\n\ntypedef int (*remote_function_f)(void *);\n\nstruct remote_function_call {\n\tstruct task_struct *p;\n\tremote_function_f func;\n\tvoid *info;\n\tint ret;\n};\n\nstruct remote_output {\n\tstruct perf_buffer *rb;\n\tint err;\n};\n\nstruct renamedata {\n\tstruct mnt_idmap *old_mnt_idmap;\n\tstruct inode *old_dir;\n\tstruct dentry *old_dentry;\n\tstruct mnt_idmap *new_mnt_idmap;\n\tstruct inode *new_dir;\n\tstruct dentry *new_dentry;\n\tstruct inode **delegated_inode;\n\tunsigned int flags;\n};\n\nstruct renesas_family {\n\tconst char name[16];\n\tu32 reg;\n};\n\nstruct renesas_id {\n\tunsigned int offset;\n\tu32 mask;\n};\n\nstruct tmio_mmc_data {\n\tvoid *chan_priv_tx;\n\tvoid *chan_priv_rx;\n\tunsigned int hclk;\n\tlong unsigned int capabilities;\n\tlong unsigned int capabilities2;\n\tlong unsigned int flags;\n\tu32 ocr_mask;\n\tdma_addr_t dma_rx_offset;\n\tunsigned int max_blk_count;\n\tshort unsigned int max_segs;\n};\n\nstruct tmio_mmc_host;\n\nstruct renesas_sdhi_dma {\n\tlong unsigned int end_flags;\n\tenum dma_slave_buswidth dma_buswidth;\n\tdma_filter_fn filter;\n\tvoid (*enable)(struct tmio_mmc_host *, bool);\n\tstruct completion dma_dataend;\n\tstruct work_struct dma_complete;\n};\n\nstruct renesas_sdhi_quirks;\n\nstruct renesas_sdhi {\n\tstruct clk *clk;\n\tstruct clk *clkh;\n\tstruct clk *clk_cd;\n\tstruct tmio_mmc_data mmc_data;\n\tstruct renesas_sdhi_dma dma_priv;\n\tconst struct renesas_sdhi_quirks *quirks;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_default;\n\tstruct pinctrl_state *pins_uhs;\n\tvoid *scc_ctl;\n\tu32 scc_tappos;\n\tu32 scc_tappos_hs400;\n\tconst u8 *adjust_hs400_calib_table;\n\tbool needs_adjust_hs400;\n\tlong unsigned int taps[1];\n\tlong unsigned int smpcmp[1];\n\tunsigned int tap_num;\n\tunsigned int tap_set;\n\tstruct reset_control *rstc;\n\tstruct tmio_mmc_host *host;\n};\n\nstruct renesas_sdhi_scc;\n\nstruct renesas_sdhi_of_data {\n\tlong unsigned int tmio_flags;\n\tu32 tmio_ocr_mask;\n\tlong unsigned int capabilities;\n\tlong unsigned int capabilities2;\n\tenum dma_slave_buswidth dma_buswidth;\n\tdma_addr_t dma_rx_offset;\n\tunsigned int bus_shift;\n\tint scc_offset;\n\tstruct renesas_sdhi_scc *taps;\n\tint taps_num;\n\tunsigned int max_blk_count;\n\tshort unsigned int max_segs;\n\tlong unsigned int sdhi_flags;\n};\n\nstruct renesas_sdhi_of_data_with_quirks {\n\tconst struct renesas_sdhi_of_data *of_data;\n\tconst struct renesas_sdhi_quirks *quirks;\n};\n\nstruct renesas_sdhi_quirks {\n\tbool hs400_disabled;\n\tbool hs400_4taps;\n\tbool fixed_addr_mode;\n\tbool dma_one_rx_only;\n\tbool manual_tap_correction;\n\tbool old_info1_layout;\n\tu32 hs400_bad_taps;\n\tconst u8 (*hs400_calib_table)[32];\n};\n\nstruct renesas_sdhi_scc {\n\tlong unsigned int clk_rate;\n\tu32 tap;\n\tu32 tap_hs400_4tap;\n};\n\nstruct renesas_soc {\n\tconst struct renesas_family *family;\n\tu32 id;\n};\n\nstruct report_general_resp {\n\t__be16 change_count;\n\t__be16 route_indexes;\n\tu8 _r_a;\n\tu8 num_phys;\n\tu8 conf_route_table: 1;\n\tu8 configuring: 1;\n\tu8 config_others: 1;\n\tu8 orej_retry_supp: 1;\n\tu8 stp_cont_awt: 1;\n\tu8 self_config: 1;\n\tu8 zone_config: 1;\n\tu8 t2t_supp: 1;\n\tu8 _r_c;\n\tu8 enclosure_logical_id[8];\n\tu8 _r_d[12];\n};\n\nstruct req {\n\tstruct req *next;\n\tstruct completion done;\n\tint err;\n\tconst char *name;\n\tumode_t mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct device *dev;\n};\n\nstruct req_iterator {\n\tstruct bvec_iter iter;\n\tstruct bio *bio;\n};\n\ntypedef enum rq_end_io_ret rq_end_io_fn(struct request *, blk_status_t);\n\nstruct request {\n\tstruct request_queue *q;\n\tstruct blk_mq_ctx *mq_ctx;\n\tstruct blk_mq_hw_ctx *mq_hctx;\n\tblk_opf_t cmd_flags;\n\treq_flags_t rq_flags;\n\tint tag;\n\tint internal_tag;\n\tunsigned int timeout;\n\tunsigned int __data_len;\n\tsector_t __sector;\n\tstruct bio *bio;\n\tstruct bio *biotail;\n\tunion {\n\t\tstruct list_head queuelist;\n\t\tstruct request *rq_next;\n\t};\n\tstruct block_device *part;\n\tu64 start_time_ns;\n\tu64 io_start_time_ns;\n\tshort unsigned int stats_sectors;\n\tshort unsigned int nr_phys_segments;\n\tshort unsigned int nr_integrity_segments;\n\tenum mq_rq_state state;\n\tatomic_t ref;\n\tlong unsigned int deadline;\n\tunion {\n\t\tstruct hlist_node hash;\n\t\tstruct llist_node ipi_list;\n\t};\n\tunion {\n\t\tstruct rb_node rb_node;\n\t\tstruct bio_vec special_vec;\n\t};\n\tstruct {\n\t\tstruct io_cq *icq;\n\t\tvoid *priv[2];\n\t} elv;\n\tstruct {\n\t\tunsigned int seq;\n\t\trq_end_io_fn *saved_end_io;\n\t} flush;\n\tu64 fifo_time;\n\trq_end_io_fn *end_io;\n\tvoid *end_io_data;\n};\n\nstruct request_desc_header {\n\tu8 cci;\n\tu8 ehs_length;\n\tu8 reserved2: 7;\n\tu8 enable_crypto: 1;\n\tu8 interrupt: 1;\n\tu8 data_direction: 2;\n\tu8 reserved1: 1;\n\tu8 command_type: 4;\n\t__le32 dunl;\n\tu8 ocs;\n\tu8 cds;\n\t__le16 ldbc;\n\t__le32 dunu;\n};\n\nstruct request_key_auth {\n\tstruct callback_head rcu;\n\tstruct key *target_key;\n\tstruct key *dest_keyring;\n\tconst struct cred *cred;\n\tvoid *callout_info;\n\tsize_t callout_len;\n\tpid_t pid;\n\tchar op[8];\n};\n\nstruct rq_qos;\n\nstruct request_queue {\n\tvoid *queuedata;\n\tstruct elevator_queue *elevator;\n\tconst struct blk_mq_ops *mq_ops;\n\tstruct blk_mq_ctx *queue_ctx;\n\tlong unsigned int queue_flags;\n\tunsigned int rq_timeout;\n\tunsigned int queue_depth;\n\trefcount_t refs;\n\tunsigned int nr_hw_queues;\n\tstruct xarray hctx_table;\n\tstruct percpu_ref q_usage_counter;\n\tstruct lock_class_key io_lock_cls_key;\n\tstruct lockdep_map io_lockdep_map;\n\tstruct lock_class_key q_lock_cls_key;\n\tstruct lockdep_map q_lockdep_map;\n\tstruct request *last_merge;\n\tspinlock_t queue_lock;\n\tint quiesce_depth;\n\tstruct gendisk *disk;\n\tstruct kobject *mq_kobj;\n\tstruct queue_limits limits;\n\tstruct device *dev;\n\tenum rpm_status rpm_status;\n\tatomic_t pm_only;\n\tstruct blk_queue_stats *stats;\n\tstruct rq_qos *rq_qos;\n\tstruct mutex rq_qos_mutex;\n\tint id;\n\tlong unsigned int nr_requests;\n\tstruct timer_list timeout;\n\tstruct work_struct timeout_work;\n\tatomic_t nr_active_requests_shared_tags;\n\tstruct blk_mq_tags *sched_shared_tags;\n\tstruct list_head icq_list;\n\tlong unsigned int blkcg_pols[1];\n\tstruct blkcg_gq *root_blkg;\n\tstruct list_head blkg_list;\n\tstruct mutex blkcg_mutex;\n\tint node;\n\tspinlock_t requeue_lock;\n\tstruct list_head requeue_list;\n\tstruct delayed_work requeue_work;\n\tstruct blk_flush_queue *fq;\n\tstruct list_head flush_list;\n\tstruct mutex sysfs_lock;\n\tstruct mutex limits_lock;\n\tstruct list_head unused_hctx_list;\n\tspinlock_t unused_hctx_lock;\n\tint mq_freeze_depth;\n\tstruct callback_head callback_head;\n\twait_queue_head_t mq_freeze_wq;\n\tstruct mutex mq_freeze_lock;\n\tstruct blk_mq_tag_set *tag_set;\n\tstruct list_head tag_set_list;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *sched_debugfs_dir;\n\tstruct dentry *rqos_debugfs_dir;\n\tstruct mutex debugfs_mutex;\n};\n\nstruct request_sense {\n\t__u8 error_code: 7;\n\t__u8 valid: 1;\n\t__u8 segment_number;\n\t__u8 sense_key: 4;\n\t__u8 reserved2: 1;\n\t__u8 ili: 1;\n\t__u8 reserved1: 2;\n\t__u8 information[4];\n\t__u8 add_sense_len;\n\t__u8 command_info[4];\n\t__u8 asc;\n\t__u8 ascq;\n\t__u8 fruc;\n\t__u8 sks[3];\n\t__u8 asb[46];\n};\n\nstruct request_sock__safe_rcu_or_null {\n\tstruct sock *sk;\n};\n\nstruct request_sock_ops {\n\tint family;\n\tunsigned int obj_size;\n\tstruct kmem_cache *slab;\n\tchar *slab_name;\n\tint (*rtx_syn_ack)(const struct sock *, struct request_sock *);\n\tvoid (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *);\n\tvoid (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason);\n\tvoid (*destructor)(struct request_sock *);\n\tvoid (*syn_ack_timeout)(const struct request_sock *);\n};\n\nstruct res_proc_context {\n\tstruct list_head *list;\n\tint (*preproc)(struct acpi_resource *, void *);\n\tvoid *preproc_data;\n\tint count;\n\tint error;\n};\n\nstruct reserve_mem_table {\n\tchar name[16];\n\tphys_addr_t start;\n\tphys_addr_t size;\n};\n\nstruct reserved_mem_ops;\n\nstruct reserved_mem {\n\tconst char *name;\n\tlong unsigned int fdt_node;\n\tconst struct reserved_mem_ops *ops;\n\tphys_addr_t base;\n\tphys_addr_t size;\n\tvoid *priv;\n};\n\nstruct reserved_mem_ops {\n\tint (*device_init)(struct reserved_mem *, struct device *);\n\tvoid (*device_release)(struct reserved_mem *, struct device *);\n};\n\nstruct reset_control {\n\tstruct reset_controller_dev *rcdev;\n\tstruct list_head list;\n\tunsigned int id;\n\tstruct kref refcnt;\n\tbool acquired;\n\tbool shared;\n\tbool array;\n\tatomic_t deassert_count;\n\tatomic_t triggered_count;\n};\n\nstruct reset_control_array {\n\tstruct reset_control base;\n\tunsigned int num_rstcs;\n\tstruct reset_control *rstc[0];\n};\n\nstruct reset_control_bulk_devres {\n\tint num_rstcs;\n\tstruct reset_control_bulk_data *rstcs;\n};\n\nstruct reset_control_lookup {\n\tstruct list_head list;\n\tconst char *provider;\n\tunsigned int index;\n\tconst char *dev_id;\n\tconst char *con_id;\n};\n\nstruct reset_dom_info {\n\tbool async_reset;\n\tbool reset_notify;\n\tu32 latency_us;\n\tchar name[64];\n};\n\nstruct reset_gpio_lookup {\n\tstruct of_phandle_args of_args;\n\tstruct list_head list;\n};\n\nstruct reset_reg_mask {\n\tu32 rst_src_en_mask;\n\tu32 sw_mstr_rst_mask;\n};\n\nstruct reset_simple_devdata {\n\tu32 reg_offset;\n\tu32 nr_resets;\n\tbool active_low;\n\tbool status_active_low;\n};\n\ntypedef resource_size_t (*resource_alignf)(void *, const struct resource *, resource_size_t, resource_size_t);\n\nstruct resource_constraint {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_alignf alignf;\n\tvoid *alignf_data;\n};\n\nstruct resource_entry {\n\tstruct list_head node;\n\tstruct resource *res;\n\tresource_size_t offset;\n\tstruct resource __res;\n};\n\nstruct resource_table {\n\tu32 ver;\n\tu32 num;\n\tu32 reserved[2];\n\tu32 offset[0];\n};\n\nstruct resource_win {\n\tstruct resource res;\n\tresource_size_t offset;\n};\n\nstruct restart_block {\n\tlong unsigned int arch_data;\n\tlong int (*fn)(struct restart_block *);\n\tunion {\n\t\tstruct {\n\t\t\tu32 *uaddr;\n\t\t\tu32 val;\n\t\t\tu32 flags;\n\t\t\tu32 bitset;\n\t\t\tu64 time;\n\t\t\tu32 *uaddr2;\n\t\t} futex;\n\t\tstruct {\n\t\t\tclockid_t clockid;\n\t\t\tenum timespec_type type;\n\t\t\tunion {\n\t\t\t\tstruct __kernel_timespec *rmtp;\n\t\t\t\tstruct old_timespec32 *compat_rmtp;\n\t\t\t};\n\t\t\tu64 expires;\n\t\t} nanosleep;\n\t\tstruct {\n\t\t\tstruct pollfd *ufds;\n\t\t\tint nfds;\n\t\t\tint has_timeout;\n\t\t\tlong unsigned int tv_sec;\n\t\t\tlong unsigned int tv_nsec;\n\t\t} poll;\n\t};\n};\n\nstruct resume_swap_area {\n\t__kernel_loff_t offset;\n\t__u32 dev;\n} __attribute__((packed));\n\nstruct resv_map {\n\tstruct kref refs;\n\tspinlock_t lock;\n\tstruct list_head regions;\n\tlong int adds_in_progress;\n\tstruct list_head region_cache;\n\tlong int region_cache_count;\n\tstruct rw_semaphore rw_sema;\n\tstruct page_counter *reservation_counter;\n\tlong unsigned int pages_per_hpage;\n\tstruct cgroup_subsys_state *css;\n};\n\nstruct return_address_data {\n\tunsigned int level;\n\tvoid *addr;\n};\n\nstruct return_consumer {\n\t__u64 cookie;\n\t__u64 id;\n};\n\nstruct return_instance {\n\tstruct hprobe hprobe;\n\tlong unsigned int func;\n\tlong unsigned int stack;\n\tlong unsigned int orig_ret_vaddr;\n\tbool chained;\n\tint cons_cnt;\n\tstruct return_instance *next;\n\tstruct callback_head rcu;\n\tstruct return_consumer consumer;\n\tstruct return_consumer *extra_consumers;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct reuseport_array {\n\tstruct bpf_map map;\n\tstruct sock *ptrs[0];\n};\n\nstruct rgb {\n\tu8 r;\n\tu8 g;\n\tu8 b;\n};\n\nstruct rhash_lock_head {};\n\nstruct rhashtable_compare_arg {\n\tstruct rhashtable *ht;\n\tconst void *key;\n};\n\nstruct rhltable {\n\tstruct rhashtable ht;\n};\n\nstruct riic_of_data;\n\nstruct riic_dev {\n\tvoid *base;\n\tu8 *buf;\n\tstruct i2c_msg *msg;\n\tint bytes_left;\n\tint err;\n\tint is_last;\n\tconst struct riic_of_data *info;\n\tstruct completion msg_done;\n\tstruct i2c_adapter adapter;\n\tstruct clk *clk;\n\tstruct reset_control *rstc;\n\tstruct i2c_timings i2c_t;\n};\n\nstruct riic_irq_desc {\n\tint res_num;\n\tirq_handler_t isr;\n\tchar *name;\n};\n\nstruct riic_of_data {\n\tconst u8 *regs;\n\tbool fast_mode_plus;\n};\n\nstruct ring_buffer_event {\n\tu32 type_len: 5;\n\tu32 time_delta: 27;\n\tu32 array[0];\n};\n\nstruct ring_buffer_per_cpu;\n\nstruct ring_buffer_iter {\n\tstruct ring_buffer_per_cpu *cpu_buffer;\n\tlong unsigned int head;\n\tlong unsigned int next_event;\n\tstruct buffer_page *head_page;\n\tstruct buffer_page *cache_reader_page;\n\tlong unsigned int cache_read;\n\tlong unsigned int cache_pages_removed;\n\tu64 read_stamp;\n\tu64 page_stamp;\n\tstruct ring_buffer_event *event;\n\tsize_t event_size;\n\tint missed_events;\n};\n\nstruct ring_buffer_meta {\n\tint magic;\n\tint struct_size;\n\tlong unsigned int text_addr;\n\tlong unsigned int data_addr;\n\tlong unsigned int first_buffer;\n\tlong unsigned int head_buffer;\n\tlong unsigned int commit_buffer;\n\t__u32 subbuf_size;\n\t__u32 nr_subbufs;\n\tint buffers[0];\n};\n\nstruct trace_buffer_meta;\n\nstruct ring_buffer_per_cpu {\n\tint cpu;\n\tatomic_t record_disabled;\n\tatomic_t resize_disabled;\n\tstruct trace_buffer *buffer;\n\traw_spinlock_t reader_lock;\n\tarch_spinlock_t lock;\n\tstruct lock_class_key lock_key;\n\tstruct buffer_data_page *free_page;\n\tlong unsigned int nr_pages;\n\tunsigned int current_context;\n\tstruct list_head *pages;\n\tlong unsigned int cnt;\n\tstruct buffer_page *head_page;\n\tstruct buffer_page *tail_page;\n\tstruct buffer_page *commit_page;\n\tstruct buffer_page *reader_page;\n\tlong unsigned int lost_events;\n\tlong unsigned int last_overrun;\n\tlong unsigned int nest;\n\tlocal_t entries_bytes;\n\tlocal_t entries;\n\tlocal_t overrun;\n\tlocal_t commit_overrun;\n\tlocal_t dropped_events;\n\tlocal_t committing;\n\tlocal_t commits;\n\tlocal_t pages_touched;\n\tlocal_t pages_lost;\n\tlocal_t pages_read;\n\tlong int last_pages_touch;\n\tsize_t shortest_full;\n\tlong unsigned int read;\n\tlong unsigned int read_bytes;\n\trb_time_t write_stamp;\n\trb_time_t before_stamp;\n\tu64 event_stamp[5];\n\tu64 read_stamp;\n\tlong unsigned int pages_removed;\n\tunsigned int mapped;\n\tunsigned int user_mapped;\n\tstruct mutex mapping_lock;\n\tlong unsigned int *subbuf_ids;\n\tstruct trace_buffer_meta *meta_page;\n\tstruct ring_buffer_meta *ring_meta;\n\tlong int nr_pages_to_update;\n\tstruct list_head new_pages;\n\tstruct work_struct update_pages_work;\n\tstruct completion update_done;\n\tstruct rb_irq_work irq_work;\n};\n\nstruct ringacc_match_data {\n\tstruct k3_ringacc_ops ops;\n};\n\nstruct rings_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_ringparam ringparam;\n\tstruct kernel_ethtool_ringparam kernel_ringparam;\n\tu32 supported_ring_params;\n};\n\nstruct rk35xx_priv {\n\tstruct reset_control *reset;\n\tenum dwcmshc_rk_type devtype;\n\tu8 txclk_tapnum;\n};\n\nstruct rk3x_i2c_soc_data;\n\nstruct rk3x_i2c {\n\tstruct i2c_adapter adap;\n\tstruct device *dev;\n\tconst struct rk3x_i2c_soc_data *soc_data;\n\tvoid *regs;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct notifier_block clk_rate_nb;\n\tint irq;\n\tstruct i2c_timings t;\n\tspinlock_t lock;\n\twait_queue_head_t wait;\n\tbool busy;\n\tstruct i2c_msg *msg;\n\tu8 addr;\n\tunsigned int mode;\n\tbool is_last_msg;\n\tenum rk3x_i2c_state state;\n\tunsigned int processed;\n\tint error;\n};\n\nstruct rk3x_i2c_calced_timings {\n\tlong unsigned int div_low;\n\tlong unsigned int div_high;\n\tunsigned int tuning;\n};\n\nstruct rk3x_i2c_soc_data {\n\tint grf_offset;\n\tint (*calc_timings)(long unsigned int, struct i2c_timings *, struct rk3x_i2c_calced_timings *);\n};\n\nstruct rk808 {\n\tstruct device *dev;\n\tstruct regmap_irq_chip_data *irq_data;\n\tstruct regmap *regmap;\n\tlong int variant;\n\tconst struct regmap_config *regmap_cfg;\n\tconst struct regmap_irq_chip *regmap_irq_chip;\n};\n\nstruct rk808_clkout {\n\tstruct regmap *regmap;\n\tstruct clk_hw clkout1_hw;\n\tstruct clk_hw clkout2_hw;\n};\n\nstruct rk808_reg_data {\n\tint addr;\n\tint mask;\n\tint value;\n};\n\nstruct rk808_regulator_data {\n\tstruct gpio_desc *dvs_gpio[2];\n};\n\nstruct rk8xx_i2c_platform_data {\n\tconst struct regmap_config *regmap_cfg;\n\tint variant;\n};\n\nstruct rk8xx_register_bit {\n\tu8 reg;\n\tu8 bit;\n};\n\nstruct rk_timer {\n\tvoid *base;\n\tvoid *ctrl;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tu32 freq;\n\tint irq;\n};\n\nstruct rk_clkevt {\n\tstruct clock_event_device ce;\n\tstruct rk_timer timer;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rk_iommu {\n\tstruct device *dev;\n\tvoid **bases;\n\tint num_mmu;\n\tint num_irq;\n\tstruct clk_bulk_data *clocks;\n\tint num_clocks;\n\tbool reset_disabled;\n\tstruct iommu_device iommu;\n\tstruct list_head node;\n\tstruct iommu_domain *domain;\n};\n\nstruct rk_iommu_domain {\n\tstruct list_head iommus;\n\tu32 *dt;\n\tdma_addr_t dt_dma;\n\tspinlock_t iommus_lock;\n\tspinlock_t dt_lock;\n\tstruct iommu_domain domain;\n};\n\nstruct rk_iommu_ops {\n\tphys_addr_t (*pt_address)(u32);\n\tu32 (*mk_dtentries)(dma_addr_t);\n\tu32 (*mk_ptentries)(phys_addr_t, int);\n\tu64 dma_bit_mask;\n\tgfp_t gfp_flags;\n};\n\nstruct rk_iommudata {\n\tstruct device_link *link;\n\tstruct rk_iommu *iommu;\n};\n\nstruct rk_rng {\n\tstruct hwrng rng;\n\tvoid *base;\n\tint clk_num;\n\tstruct clk_bulk_data *clk_bulks;\n};\n\nstruct rlimit64 {\n\t__u64 rlim_cur;\n\t__u64 rlim_max;\n};\n\nstruct rmap_walk_arg {\n\tstruct folio *folio;\n\tbool map_unused_to_zeropage;\n};\n\nstruct rmap_walk_control {\n\tvoid *arg;\n\tbool try_lock;\n\tbool contended;\n\tbool (*rmap_one)(struct folio *, struct vm_area_struct *, long unsigned int, void *);\n\tint (*done)(struct folio *);\n\tstruct anon_vma * (*anon_lock)(const struct folio *, struct rmap_walk_control *);\n\tbool (*invalid_vma)(struct vm_area_struct *, void *);\n};\n\nstruct rmem_assigned_device {\n\tstruct device *dev;\n\tstruct reserved_mem *rmem;\n\tstruct list_head list;\n};\n\nstruct rmi_2d_axis_alignment {\n\tbool swap_axes;\n\tbool flip_x;\n\tbool flip_y;\n\tu16 clip_x_low;\n\tu16 clip_y_low;\n\tu16 clip_x_high;\n\tu16 clip_y_high;\n\tu16 offset_x;\n\tu16 offset_y;\n\tu8 delta_x_threshold;\n\tu8 delta_y_threshold;\n};\n\nstruct rmi_2d_sensor_platform_data {\n\tstruct rmi_2d_axis_alignment axis_align;\n\tenum rmi_sensor_type sensor_type;\n\tint x_mm;\n\tint y_mm;\n\tint disable_report_mask;\n\tu16 rezero_wait;\n\tbool topbuttonpad;\n\tbool kernel_tracking;\n\tint dmax;\n\tint dribble;\n\tint palm_detect;\n};\n\nstruct rmi_device_platform_data_spi {\n\tu32 block_delay_us;\n\tu32 split_read_block_delay_us;\n\tu32 read_delay_us;\n\tu32 write_delay_us;\n\tu32 split_read_byte_delay_us;\n\tu32 pre_delay_us;\n\tu32 post_delay_us;\n\tu8 bits_per_word;\n\tu16 mode;\n\tvoid *cs_assert_data;\n\tint (*cs_assert)(const void *, const bool);\n};\n\nstruct rmi_f01_power_management {\n\tenum rmi_reg_state nosleep;\n\tu8 wakeup_threshold;\n\tu8 doze_holdoff;\n\tu8 doze_interval;\n};\n\nstruct rmi_gpio_data {\n\tbool buttonpad;\n\tbool trackstick_buttons;\n\tbool disable;\n};\n\nstruct rmi_device_platform_data {\n\tint reset_delay_ms;\n\tint irq;\n\tstruct rmi_device_platform_data_spi spi_data;\n\tstruct rmi_2d_sensor_platform_data sensor_pdata;\n\tstruct rmi_f01_power_management power_management;\n\tstruct rmi_gpio_data gpio_data;\n};\n\nstruct rnd_state {\n\t__u32 s1;\n\t__u32 s2;\n\t__u32 s3;\n\t__u32 s4;\n};\n\nstruct rng_alg {\n\tint (*generate)(struct crypto_rng *, const u8 *, unsigned int, u8 *, unsigned int);\n\tint (*seed)(struct crypto_rng *, const u8 *, unsigned int);\n\tvoid (*set_ent)(struct crypto_rng *, const u8 *, unsigned int);\n\tunsigned int seedsize;\n\tstruct crypto_alg base;\n};\n\nstruct robust_list {\n\tstruct robust_list *next;\n};\n\nstruct robust_list_head {\n\tstruct robust_list list;\n\tlong int futex_offset;\n\tstruct robust_list *list_op_pending;\n};\n\nstruct usb2phy_reg {\n\tunsigned int offset;\n\tunsigned int bitend;\n\tunsigned int bitstart;\n\tunsigned int disable;\n\tunsigned int enable;\n};\n\nstruct rockchip_chg_det_reg {\n\tstruct usb2phy_reg cp_det;\n\tstruct usb2phy_reg dcp_det;\n\tstruct usb2phy_reg dp_det;\n\tstruct usb2phy_reg idm_sink_en;\n\tstruct usb2phy_reg idp_sink_en;\n\tstruct usb2phy_reg idp_src_en;\n\tstruct usb2phy_reg rdm_pdwn_en;\n\tstruct usb2phy_reg vdm_src_en;\n\tstruct usb2phy_reg vdp_src_en;\n\tstruct usb2phy_reg opmode;\n};\n\nstruct rockchip_clk_branch {\n\tunsigned int id;\n\tenum rockchip_clk_branch_type branch_type;\n\tconst char *name;\n\tconst char * const *parent_names;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tint muxdiv_offset;\n\tu8 mux_shift;\n\tu8 mux_width;\n\tu8 mux_flags;\n\tu32 *mux_table;\n\tint div_offset;\n\tu8 div_shift;\n\tu8 div_width;\n\tu8 div_flags;\n\tstruct clk_div_table *div_table;\n\tint gate_offset;\n\tu8 gate_shift;\n\tu8 gate_flags;\n\tunsigned int linked_clk_id;\n\tstruct rockchip_clk_branch *child;\n};\n\nstruct rockchip_clk_frac {\n\tstruct notifier_block clk_nb;\n\tstruct clk_fractional_divider div;\n\tstruct clk_gate gate;\n\tstruct clk_mux mux;\n\tconst struct clk_ops *mux_ops;\n\tint mux_frac_idx;\n\tbool rate_change_remuxed;\n\tint rate_change_idx;\n};\n\nstruct rockchip_pll_rate_table;\n\nstruct rockchip_clk_provider;\n\nstruct rockchip_clk_pll {\n\tstruct clk_hw hw;\n\tstruct clk_mux pll_mux;\n\tconst struct clk_ops *pll_mux_ops;\n\tstruct notifier_block clk_nb;\n\tvoid *reg_base;\n\tint lock_offset;\n\tunsigned int lock_shift;\n\tenum rockchip_pll_type type;\n\tu8 flags;\n\tconst struct rockchip_pll_rate_table *rate_table;\n\tunsigned int rate_count;\n\tspinlock_t *lock;\n\tstruct rockchip_clk_provider *ctx;\n};\n\nstruct rockchip_clk_provider {\n\tvoid *reg_base;\n\tstruct clk_onecell_data clk_data;\n\tstruct device_node *cru_node;\n\tstruct regmap *grf;\n\tspinlock_t lock;\n};\n\nstruct rockchip_cpuclk_rate_table;\n\nstruct rockchip_cpuclk_reg_data;\n\nstruct rockchip_cpuclk {\n\tstruct clk_hw hw;\n\tstruct clk *alt_parent;\n\tvoid *reg_base;\n\tstruct notifier_block clk_nb;\n\tunsigned int rate_count;\n\tstruct rockchip_cpuclk_rate_table *rate_table;\n\tconst struct rockchip_cpuclk_reg_data *reg_data;\n\tspinlock_t *lock;\n};\n\nstruct rockchip_cpuclk_clksel {\n\tint reg;\n\tu32 val;\n};\n\nstruct rockchip_cpuclk_rate_table {\n\tlong unsigned int prate;\n\tstruct rockchip_cpuclk_clksel divs[6];\n\tstruct rockchip_cpuclk_clksel pre_muxs[6];\n\tstruct rockchip_cpuclk_clksel post_muxs[6];\n};\n\nstruct rockchip_cpuclk_reg_data {\n\tint core_reg[4];\n\tu8 div_core_shift[4];\n\tu32 div_core_mask[4];\n\tint num_cores;\n\tint mux_core_reg;\n\tu8 mux_core_alt;\n\tu8 mux_core_main;\n\tu8 mux_core_shift;\n\tu32 mux_core_mask;\n};\n\nstruct rockchip_data {\n\tint size;\n\tconst char * const *clks;\n\tint num_clks;\n\tnvmem_reg_read_t reg_read;\n};\n\nstruct rockchip_ddrclk {\n\tstruct clk_hw hw;\n\tvoid *reg_base;\n\tint mux_offset;\n\tint mux_shift;\n\tint mux_width;\n\tint div_shift;\n\tint div_width;\n\tint ddr_flag;\n\tspinlock_t *lock;\n};\n\nstruct rockchip_domain_info {\n\tconst char *name;\n\tint pwr_mask;\n\tint status_mask;\n\tint req_mask;\n\tint idle_mask;\n\tint ack_mask;\n\tbool active_wakeup;\n\tint pwr_w_mask;\n\tint req_w_mask;\n\tint clk_ungate_mask;\n\tint mem_status_mask;\n\tint repair_status_mask;\n\tu32 pwr_offset;\n\tu32 mem_offset;\n\tu32 req_offset;\n};\n\nstruct rockchip_drv {\n\tenum rockchip_pin_drv_type drv_type;\n\tint offset;\n};\n\nstruct rockchip_efuse_chip {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk *clk;\n};\n\nstruct rockchip_emmc_phy {\n\tunsigned int reg_offset;\n\tstruct regmap *reg_base;\n\tstruct clk *emmcclk;\n\tunsigned int drive_impedance;\n\tunsigned int enable_strobe_pulldown;\n\tunsigned int output_tapdelay_select;\n};\n\nstruct rockchip_gate_link_platdata {\n\tstruct rockchip_clk_provider *ctx;\n\tstruct rockchip_clk_branch *clkbr;\n};\n\nstruct rockchip_gpio_regs {\n\tu32 port_dr;\n\tu32 port_ddr;\n\tu32 int_en;\n\tu32 int_mask;\n\tu32 int_type;\n\tu32 int_polarity;\n\tu32 int_bothedge;\n\tu32 int_status;\n\tu32 int_rawstatus;\n\tu32 debounce;\n\tu32 dbclk_div_en;\n\tu32 dbclk_div_con;\n\tu32 port_eoi;\n\tu32 ext_port;\n\tu32 version_id;\n};\n\nstruct rockchip_grf_value;\n\nstruct rockchip_grf_info {\n\tconst struct rockchip_grf_value *values;\n\tint num_values;\n};\n\nstruct rockchip_grf_value {\n\tconst char *desc;\n\tu32 reg;\n\tu32 val;\n};\n\nstruct rockchip_inv_clock {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tint shift;\n\tint flags;\n\tspinlock_t *lock;\n};\n\nstruct rockchip_iodomain;\n\nstruct rockchip_iodomain_supply {\n\tstruct rockchip_iodomain *iod;\n\tstruct regulator *reg;\n\tstruct notifier_block nb;\n\tint idx;\n};\n\nstruct rockchip_iodomain_soc_data;\n\nstruct rockchip_iodomain {\n\tstruct device *dev;\n\tstruct regmap *grf;\n\tconst struct rockchip_iodomain_soc_data *soc_data;\n\tstruct rockchip_iodomain_supply supplies[16];\n\tint (*write)(struct rockchip_iodomain_supply *, int);\n};\n\nstruct rockchip_iodomain_soc_data {\n\tint grf_offset;\n\tconst char *supply_names[16];\n\tvoid (*init)(struct rockchip_iodomain *);\n\tint (*write)(struct rockchip_iodomain_supply *, int);\n};\n\nstruct rockchip_iomux {\n\tint type;\n\tint offset;\n};\n\nstruct rockchip_mmc_clock {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tint shift;\n\tint cached_phase;\n\tstruct notifier_block clk_rate_change_nb;\n};\n\nstruct rockchip_mux_recalced_data {\n\tu8 num;\n\tu8 pin;\n\tu32 reg;\n\tu8 bit;\n\tu8 mask;\n};\n\nstruct rockchip_mux_route_data {\n\tu8 bank_num;\n\tu8 pin;\n\tu8 func;\n\tenum rockchip_mux_route_location route_location;\n\tu32 route_offset;\n\tu32 route_val;\n};\n\nstruct rockchip_muxgrf_clock {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tu32 reg;\n\tu32 shift;\n\tu32 width;\n\tint flags;\n};\n\nstruct rockchip_otp {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk_bulk_data *clks;\n\tstruct reset_control *rst;\n\tconst struct rockchip_data *data;\n};\n\nstruct rockchip_p3phy_priv;\n\nstruct rockchip_p3phy_ops {\n\tint (*phy_init)(struct rockchip_p3phy_priv *);\n};\n\nstruct rockchip_p3phy_priv {\n\tconst struct rockchip_p3phy_ops *ops;\n\tvoid *mmio;\n\tint mode;\n\tint pcie30_phymode;\n\tstruct regmap *phy_grf;\n\tstruct regmap *pipe_grf;\n\tstruct reset_control *p30phy;\n\tstruct phy *phy;\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tint num_lanes;\n\tu32 lanes[4];\n\tu32 rx_cmn_refclk_mode[4];\n};\n\nstruct rockchip_pcie_of_data;\n\nstruct rockchip_pcie {\n\tstruct dw_pcie pci;\n\tvoid *apb_base;\n\tstruct phy *phy;\n\tstruct clk_bulk_data *clks;\n\tunsigned int clk_cnt;\n\tstruct reset_control *rst;\n\tstruct gpio_desc *rst_gpio;\n\tstruct regulator *vpcie3v3;\n\tstruct irq_domain *irq_domain;\n\tconst struct rockchip_pcie_of_data *data;\n};\n\nstruct rockchip_pcie___2 {\n\tvoid *reg_base;\n\tvoid *apb_base;\n\tbool legacy_phy;\n\tstruct phy *phys[4];\n\tstruct reset_control_bulk_data pm_rsts[3];\n\tstruct reset_control_bulk_data core_rsts[4];\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n\tstruct regulator *vpcie12v;\n\tstruct regulator *vpcie3v3;\n\tstruct regulator *vpcie1v8;\n\tstruct regulator *vpcie0v9;\n\tstruct gpio_desc *perst_gpio;\n\tu32 lanes;\n\tu8 lanes_map;\n\tint link_gen;\n\tstruct device *dev;\n\tstruct irq_domain *irq_domain;\n\tint offset;\n\tvoid *msg_region;\n\tphys_addr_t msg_bus_addr;\n\tbool is_rc;\n\tstruct resource *mem_res;\n};\n\nstruct rockchip_pcie_of_data {\n\tenum dw_pcie_device_mode mode;\n\tconst struct pci_epc_features *epc_features;\n};\n\nstruct rockchip_pinctrl;\n\nstruct rockchip_pin_bank {\n\tstruct device *dev;\n\tvoid *reg_base;\n\tstruct regmap *regmap_pull;\n\tstruct clk *clk;\n\tstruct clk *db_clk;\n\tint irq;\n\tu32 saved_masks;\n\tu32 pin_base;\n\tu8 nr_pins;\n\tchar *name;\n\tu8 bank_num;\n\tstruct rockchip_iomux iomux[4];\n\tstruct rockchip_drv drv[4];\n\tenum rockchip_pin_pull_type pull_type[4];\n\tbool valid;\n\tstruct device_node *of_node;\n\tstruct rockchip_pinctrl *drvdata;\n\tstruct irq_domain *domain;\n\tstruct gpio_chip gpio_chip;\n\tstruct pinctrl_gpio_range grange;\n\traw_spinlock_t slock;\n\tconst struct rockchip_gpio_regs *gpio_regs;\n\tu32 gpio_type;\n\tu32 toggle_edge_mode;\n\tu32 recalced_mask;\n\tu32 route_mask;\n\tstruct list_head deferred_pins;\n\tstruct mutex deferred_lock;\n};\n\nstruct rockchip_pin_config {\n\tunsigned int func;\n\tlong unsigned int *configs;\n\tunsigned int nconfigs;\n};\n\nstruct rockchip_pin_ctrl {\n\tstruct rockchip_pin_bank *pin_banks;\n\tu32 nr_banks;\n\tu32 nr_pins;\n\tchar *label;\n\tenum rockchip_pinctrl_type type;\n\tint grf_mux_offset;\n\tint pmu_mux_offset;\n\tint grf_drv_offset;\n\tint pmu_drv_offset;\n\tstruct rockchip_mux_recalced_data *iomux_recalced;\n\tu32 niomux_recalced;\n\tstruct rockchip_mux_route_data *iomux_routes;\n\tu32 niomux_routes;\n\tint (*pull_calc_reg)(struct rockchip_pin_bank *, int, struct regmap **, int *, u8 *);\n\tint (*drv_calc_reg)(struct rockchip_pin_bank *, int, struct regmap **, int *, u8 *);\n\tint (*schmitt_calc_reg)(struct rockchip_pin_bank *, int, struct regmap **, int *, u8 *);\n};\n\nstruct rockchip_pin_deferred {\n\tstruct list_head head;\n\tunsigned int pin;\n\tenum pin_config_param param;\n\tu32 arg;\n};\n\nstruct rockchip_pin_group {\n\tconst char *name;\n\tunsigned int npins;\n\tunsigned int *pins;\n\tstruct rockchip_pin_config *data;\n};\n\nstruct rockchip_pmx_func;\n\nstruct rockchip_pinctrl {\n\tstruct regmap *regmap_base;\n\tint reg_size;\n\tstruct regmap *regmap_pull;\n\tstruct regmap *regmap_pmu;\n\tstruct device *dev;\n\tstruct rockchip_pin_ctrl *ctrl;\n\tstruct pinctrl_desc pctl;\n\tstruct pinctrl_dev *pctl_dev;\n\tstruct rockchip_pin_group *groups;\n\tunsigned int ngroups;\n\tstruct rockchip_pmx_func *functions;\n\tunsigned int nfunctions;\n};\n\nstruct rockchip_pll_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char * const *parent_names;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tint con_offset;\n\tint mode_offset;\n\tint mode_shift;\n\tint lock_shift;\n\tenum rockchip_pll_type type;\n\tu8 pll_flags;\n\tstruct rockchip_pll_rate_table *rate_table;\n};\n\nstruct rockchip_pll_rate_table {\n\tlong unsigned int rate;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int nr;\n\t\t\tunsigned int nf;\n\t\t\tunsigned int no;\n\t\t\tunsigned int nb;\n\t\t};\n\t\tstruct {\n\t\t\tunsigned int fbdiv;\n\t\t\tunsigned int postdiv1;\n\t\t\tunsigned int refdiv;\n\t\t\tunsigned int postdiv2;\n\t\t\tunsigned int dsmpd;\n\t\t\tunsigned int frac;\n\t\t};\n\t\tstruct {\n\t\t\tunsigned int m;\n\t\t\tunsigned int p;\n\t\t\tunsigned int s;\n\t\t\tunsigned int k;\n\t\t};\n\t};\n};\n\nstruct rockchip_pmu;\n\nstruct rockchip_pm_domain {\n\tstruct generic_pm_domain genpd;\n\tconst struct rockchip_domain_info *info;\n\tstruct rockchip_pmu *pmu;\n\tint num_qos;\n\tstruct regmap **qos_regmap;\n\tu32 *qos_save_regs[5];\n\tint num_clks;\n\tstruct clk_bulk_data *clks;\n};\n\nstruct rockchip_pmu_info;\n\nstruct rockchip_pmu {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tconst struct rockchip_pmu_info *info;\n\tstruct mutex mutex;\n\tstruct genpd_onecell_data genpd_data;\n\tstruct generic_pm_domain *domains[0];\n};\n\nstruct rockchip_pmu_info {\n\tu32 pwr_offset;\n\tu32 status_offset;\n\tu32 req_offset;\n\tu32 idle_offset;\n\tu32 ack_offset;\n\tu32 mem_pwr_offset;\n\tu32 chain_status_offset;\n\tu32 mem_status_offset;\n\tu32 repair_status_offset;\n\tu32 clk_ungate_offset;\n\tu32 core_pwrcnt_offset;\n\tu32 gpu_pwrcnt_offset;\n\tunsigned int core_power_transition_time;\n\tunsigned int gpu_power_transition_time;\n\tint num_domains;\n\tconst struct rockchip_domain_info *domain_info;\n};\n\nstruct rockchip_pmx_func {\n\tconst char *name;\n\tconst char **groups;\n\tu8 ngroups;\n};\n\nstruct rockchip_pwm_data;\n\nstruct rockchip_pwm_chip {\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tconst struct rockchip_pwm_data *data;\n\tvoid *base;\n};\n\nstruct rockchip_pwm_regs {\n\tlong unsigned int duty;\n\tlong unsigned int period;\n\tlong unsigned int cntr;\n\tlong unsigned int ctrl;\n};\n\nstruct rockchip_pwm_data {\n\tstruct rockchip_pwm_regs regs;\n\tunsigned int prescaler;\n\tbool supports_polarity;\n\tbool supports_lock;\n\tu32 enable_conf;\n};\n\nstruct rockchip_softrst {\n\tstruct reset_controller_dev rcdev;\n\tconst int *lut;\n\tvoid *reg_base;\n\tint num_regs;\n\tint num_per_reg;\n\tu8 flags;\n\tspinlock_t lock;\n};\n\nstruct rockchip_spi {\n\tstruct device *dev;\n\tstruct clk *spiclk;\n\tstruct clk *apb_pclk;\n\tvoid *regs;\n\tdma_addr_t dma_addr_rx;\n\tdma_addr_t dma_addr_tx;\n\tconst void *tx;\n\tvoid *rx;\n\tunsigned int tx_left;\n\tunsigned int rx_left;\n\tatomic_t state;\n\tu32 fifo_len;\n\tu32 freq;\n\tu8 n_bytes;\n\tu8 rsd;\n\tbool target_abort;\n\tbool cs_inactive;\n\tbool cs_high_supported;\n\tstruct spi_transfer *xfer;\n};\n\nstruct rockchip_usb3phy_port_cfg;\n\nstruct rockchip_typec_phy {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct extcon_dev *extcon;\n\tstruct regmap *grf_regs;\n\tstruct clk *clk_core;\n\tstruct clk *clk_ref;\n\tstruct reset_control *uphy_rst;\n\tstruct reset_control *pipe_rst;\n\tstruct reset_control *tcphy_rst;\n\tconst struct rockchip_usb3phy_port_cfg *port_cfgs;\n\tstruct mutex lock;\n\tbool flip;\n\tu8 mode;\n};\n\nstruct rockchip_usb2phy_port_cfg;\n\nstruct rockchip_usb2phy_port {\n\tstruct phy *phy;\n\tunsigned int port_id;\n\tbool suspended;\n\tbool vbus_attached;\n\tbool host_disconnect;\n\tint bvalid_irq;\n\tint id_irq;\n\tint ls_irq;\n\tint otg_mux_irq;\n\tstruct mutex mutex;\n\tstruct delayed_work chg_work;\n\tstruct delayed_work otg_sm_work;\n\tstruct delayed_work sm_work;\n\tconst struct rockchip_usb2phy_port_cfg *port_cfg;\n\tstruct notifier_block event_nb;\n\tenum usb_otg_state state;\n\tenum usb_dr_mode mode;\n};\n\nstruct rockchip_usb2phy_cfg;\n\nstruct rockchip_usb2phy {\n\tstruct device *dev;\n\tstruct regmap *grf;\n\tstruct regmap *usbgrf;\n\tstruct clk_bulk_data *clks;\n\tstruct clk *clk480m;\n\tstruct clk_hw clk480m_hw;\n\tint num_clks;\n\tstruct reset_control *phy_reset;\n\tenum usb_chg_state chg_state;\n\tenum power_supply_type chg_type;\n\tu8 dcd_retries;\n\tstruct extcon_dev *edev;\n\tint irq;\n\tconst struct rockchip_usb2phy_cfg *phy_cfg;\n\tstruct rockchip_usb2phy_port ports[2];\n};\n\nstruct rockchip_usb2phy_port_cfg {\n\tstruct usb2phy_reg phy_sus;\n\tstruct usb2phy_reg bvalid_det_en;\n\tstruct usb2phy_reg bvalid_det_st;\n\tstruct usb2phy_reg bvalid_det_clr;\n\tstruct usb2phy_reg disfall_en;\n\tstruct usb2phy_reg disfall_st;\n\tstruct usb2phy_reg disfall_clr;\n\tstruct usb2phy_reg disrise_en;\n\tstruct usb2phy_reg disrise_st;\n\tstruct usb2phy_reg disrise_clr;\n\tstruct usb2phy_reg idfall_det_en;\n\tstruct usb2phy_reg idfall_det_st;\n\tstruct usb2phy_reg idfall_det_clr;\n\tstruct usb2phy_reg idrise_det_en;\n\tstruct usb2phy_reg idrise_det_st;\n\tstruct usb2phy_reg idrise_det_clr;\n\tstruct usb2phy_reg ls_det_en;\n\tstruct usb2phy_reg ls_det_st;\n\tstruct usb2phy_reg ls_det_clr;\n\tstruct usb2phy_reg utmi_avalid;\n\tstruct usb2phy_reg utmi_bvalid;\n\tstruct usb2phy_reg utmi_id;\n\tstruct usb2phy_reg utmi_ls;\n\tstruct usb2phy_reg utmi_hstdet;\n};\n\nstruct rockchip_usb2phy_cfg {\n\tunsigned int reg;\n\tunsigned int num_ports;\n\tint (*phy_tuning)(struct rockchip_usb2phy *);\n\tstruct usb2phy_reg clkout_ctl;\n\tconst struct rockchip_usb2phy_port_cfg port_cfgs[2];\n\tconst struct rockchip_chg_det_reg chg_det;\n};\n\nstruct usb3phy_reg {\n\tu32 offset;\n\tu32 enable_bit;\n\tu32 write_enable;\n};\n\nstruct rockchip_usb3phy_port_cfg {\n\tunsigned int reg;\n\tstruct usb3phy_reg typec_conn_dir;\n\tstruct usb3phy_reg usb3tousb2_en;\n\tstruct usb3phy_reg external_psm;\n\tstruct usb3phy_reg pipe_status;\n\tstruct usb3phy_reg usb3_host_disable;\n\tstruct usb3phy_reg usb3_host_port;\n\tstruct usb3phy_reg uphy_dp_sel;\n};\n\nstruct root_device {\n\tstruct device dev;\n\tstruct module *owner;\n};\n\nstruct root_domain {\n\tatomic_t refcount;\n\tatomic_t rto_count;\n\tstruct callback_head rcu;\n\tcpumask_var_t span;\n\tcpumask_var_t online;\n\tbool overloaded;\n\tbool overutilized;\n\tcpumask_var_t dlo_mask;\n\tatomic_t dlo_count;\n\tstruct dl_bw dl_bw;\n\tstruct cpudl cpudl;\n\tu64 visit_gen;\n\tstruct irq_work rto_push_work;\n\traw_spinlock_t rto_lock;\n\tint rto_loop;\n\tint rto_cpu;\n\tatomic_t rto_loop_next;\n\tatomic_t rto_loop_start;\n\tcpumask_var_t rto_mask;\n\tstruct cpupri cpupri;\n\tstruct perf_domain *pd;\n};\n\nstruct rpc_add_xprt_test {\n\tvoid (*add_xprt_test)(struct rpc_clnt *, struct rpc_xprt *, void *);\n\tvoid *data;\n};\n\nstruct rpc_auth_create_args {\n\trpc_authflavor_t pseudoflavor;\n\tconst char *target_name;\n};\n\nstruct rpc_authops {\n\tstruct module *owner;\n\trpc_authflavor_t au_flavor;\n\tchar *au_name;\n\tstruct rpc_auth * (*create)(const struct rpc_auth_create_args *, struct rpc_clnt *);\n\tvoid (*destroy)(struct rpc_auth *);\n\tint (*hash_cred)(struct auth_cred *, unsigned int);\n\tstruct rpc_cred * (*lookup_cred)(struct rpc_auth *, struct auth_cred *, int);\n\tstruct rpc_cred * (*crcreate)(struct rpc_auth *, struct auth_cred *, int, gfp_t);\n\trpc_authflavor_t (*info2flavor)(struct rpcsec_gss_info *);\n\tint (*flavor2info)(rpc_authflavor_t, struct rpcsec_gss_info *);\n\tint (*key_timeout)(struct rpc_auth *, struct rpc_cred *);\n\tint (*ping)(struct rpc_clnt *);\n};\n\nstruct rpc_bind_conn_calldata {\n\tstruct nfs_client *clp;\n\tconst struct cred *cred;\n};\n\nstruct rpc_buffer {\n\tsize_t len;\n\tchar data[0];\n};\n\nstruct rpc_call_ops {\n\tvoid (*rpc_call_prepare)(struct rpc_task *, void *);\n\tvoid (*rpc_call_done)(struct rpc_task *, void *);\n\tvoid (*rpc_count_stats)(struct rpc_task *, void *);\n\tvoid (*rpc_release)(void *);\n};\n\nstruct rpc_xprt_switch;\n\nstruct rpc_cb_add_xprt_calldata {\n\tstruct rpc_xprt_switch *xps;\n\tstruct rpc_xprt *xprt;\n};\n\nstruct rpc_pipe_dir_head {\n\tstruct list_head pdh_entries;\n\tstruct dentry *pdh_dentry;\n};\n\nstruct rpc_rtt {\n\tlong unsigned int timeo;\n\tlong unsigned int srtt[5];\n\tlong unsigned int sdrtt[5];\n\tint ntimeouts[5];\n};\n\nstruct rpc_timeout {\n\tlong unsigned int to_initval;\n\tlong unsigned int to_maxval;\n\tlong unsigned int to_increment;\n\tunsigned int to_retries;\n\tunsigned char to_exponential;\n};\n\nstruct rpc_xprt_iter_ops;\n\nstruct rpc_xprt_iter {\n\tstruct rpc_xprt_switch *xpi_xpswitch;\n\tstruct rpc_xprt *xpi_cursor;\n\tconst struct rpc_xprt_iter_ops *xpi_ops;\n};\n\nstruct rpc_iostats;\n\nstruct rpc_sysfs_client;\n\nstruct rpc_clnt {\n\trefcount_t cl_count;\n\tunsigned int cl_clid;\n\tstruct list_head cl_clients;\n\tstruct list_head cl_tasks;\n\tatomic_t cl_pid;\n\tspinlock_t cl_lock;\n\tstruct rpc_xprt *cl_xprt;\n\tconst struct rpc_procinfo *cl_procinfo;\n\tu32 cl_prog;\n\tu32 cl_vers;\n\tu32 cl_maxproc;\n\tstruct rpc_auth *cl_auth;\n\tstruct rpc_stat *cl_stats;\n\tstruct rpc_iostats *cl_metrics;\n\tunsigned int cl_softrtry: 1;\n\tunsigned int cl_softerr: 1;\n\tunsigned int cl_discrtry: 1;\n\tunsigned int cl_noretranstimeo: 1;\n\tunsigned int cl_autobind: 1;\n\tunsigned int cl_chatty: 1;\n\tunsigned int cl_shutdown: 1;\n\tstruct xprtsec_parms cl_xprtsec;\n\tstruct rpc_rtt *cl_rtt;\n\tconst struct rpc_timeout *cl_timeout;\n\tatomic_t cl_swapper;\n\tint cl_nodelen;\n\tchar cl_nodename[65];\n\tstruct rpc_pipe_dir_head cl_pipedir_objects;\n\tstruct rpc_clnt *cl_parent;\n\tstruct rpc_rtt cl_rtt_default;\n\tstruct rpc_timeout cl_timeout_default;\n\tconst struct rpc_program *cl_program;\n\tconst char *cl_principal;\n\tstruct rpc_sysfs_client *cl_sysfs;\n\tunion {\n\t\tstruct rpc_xprt_iter cl_xpi;\n\t\tstruct work_struct cl_work;\n\t};\n\tconst struct cred *cl_cred;\n\tunsigned int cl_max_connect;\n\tstruct super_block *pipefs_sb;\n\tatomic_t cl_task_count;\n};\n\nstruct rpc_clock {\n\tstruct clk_divider div;\n\tstruct clk_gate gate;\n\tstruct cpg_simple_notifier csn;\n};\n\nstruct svc_xprt;\n\nstruct rpc_create_args {\n\tstruct net *net;\n\tint protocol;\n\tstruct sockaddr *address;\n\tsize_t addrsize;\n\tstruct sockaddr *saddress;\n\tconst struct rpc_timeout *timeout;\n\tconst char *servername;\n\tconst char *nodename;\n\tconst struct rpc_program *program;\n\tstruct rpc_stat *stats;\n\tu32 prognumber;\n\tu32 version;\n\trpc_authflavor_t authflavor;\n\tu32 nconnect;\n\tlong unsigned int flags;\n\tchar *client_name;\n\tstruct svc_xprt *bc_xprt;\n\tconst struct cred *cred;\n\tunsigned int max_connect;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct rpc_cred_cache {\n\tstruct hlist_head *hashtable;\n\tunsigned int hashbits;\n\tspinlock_t lock;\n};\n\nstruct rpc_credops {\n\tconst char *cr_name;\n\tint (*cr_init)(struct rpc_auth *, struct rpc_cred *);\n\tvoid (*crdestroy)(struct rpc_cred *);\n\tint (*crmatch)(struct auth_cred *, struct rpc_cred *, int);\n\tint (*crmarshal)(struct rpc_task *, struct xdr_stream *);\n\tint (*crrefresh)(struct rpc_task *);\n\tint (*crvalidate)(struct rpc_task *, struct xdr_stream *);\n\tint (*crwrap_req)(struct rpc_task *, struct xdr_stream *);\n\tint (*crunwrap_resp)(struct rpc_task *, struct xdr_stream *);\n\tint (*crkey_timeout)(struct rpc_cred *);\n\tchar * (*crstringify_acceptor)(struct rpc_cred *);\n\tbool (*crneed_reencode)(struct rpc_task *);\n};\n\nstruct rpc_filelist {\n\tconst char *name;\n\tconst struct file_operations *i_fop;\n\tumode_t mode;\n};\n\nstruct rpc_inode {\n\tstruct inode vfs_inode;\n\tvoid *private;\n\tstruct rpc_pipe *pipe;\n\twait_queue_head_t waitq;\n};\n\nstruct rpc_iostats {\n\tspinlock_t om_lock;\n\tlong unsigned int om_ops;\n\tlong unsigned int om_ntrans;\n\tlong unsigned int om_timeouts;\n\tlong long unsigned int om_bytes_sent;\n\tlong long unsigned int om_bytes_recv;\n\tktime_t om_queue;\n\tktime_t om_rtt;\n\tktime_t om_execute;\n\tlong unsigned int om_error_status;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rpc_pipe {\n\tstruct list_head pipe;\n\tstruct list_head in_upcall;\n\tstruct list_head in_downcall;\n\tint pipelen;\n\tint nreaders;\n\tint nwriters;\n\tint flags;\n\tstruct delayed_work queue_timeout;\n\tconst struct rpc_pipe_ops *ops;\n\tspinlock_t lock;\n\tstruct dentry *dentry;\n};\n\nstruct rpc_pipe_dir_object_ops {\n\tint (*create)(struct dentry *, struct rpc_pipe_dir_object *);\n\tvoid (*destroy)(struct dentry *, struct rpc_pipe_dir_object *);\n};\n\nstruct rpc_pipe_ops {\n\tssize_t (*upcall)(struct file *, struct rpc_pipe_msg *, char *, size_t);\n\tssize_t (*downcall)(struct file *, const char *, size_t);\n\tvoid (*release_pipe)(struct inode *);\n\tint (*open_pipe)(struct inode *);\n\tvoid (*destroy_msg)(struct rpc_pipe_msg *);\n};\n\ntypedef void (*kxdreproc_t)(struct rpc_rqst *, struct xdr_stream *, const void *);\n\ntypedef int (*kxdrdproc_t)(struct rpc_rqst *, struct xdr_stream *, void *);\n\nstruct rpc_procinfo {\n\tu32 p_proc;\n\tkxdreproc_t p_encode;\n\tkxdrdproc_t p_decode;\n\tunsigned int p_arglen;\n\tunsigned int p_replen;\n\tunsigned int p_timer;\n\tu32 p_statidx;\n\tconst char *p_name;\n};\n\nstruct rpc_program {\n\tconst char *name;\n\tu32 number;\n\tunsigned int nrvers;\n\tconst struct rpc_version **version;\n\tstruct rpc_stat *stats;\n\tconst char *pipe_dir_name;\n};\n\nstruct xdr_buf {\n\tstruct kvec head[1];\n\tstruct kvec tail[1];\n\tstruct bio_vec *bvec;\n\tstruct page **pages;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int flags;\n\tunsigned int buflen;\n\tunsigned int len;\n};\n\nstruct rpc_rqst {\n\tstruct rpc_xprt *rq_xprt;\n\tstruct xdr_buf rq_snd_buf;\n\tstruct xdr_buf rq_rcv_buf;\n\tstruct rpc_task *rq_task;\n\tstruct rpc_cred *rq_cred;\n\t__be32 rq_xid;\n\tint rq_cong;\n\tu32 rq_seqno;\n\tint rq_enc_pages_num;\n\tstruct page **rq_enc_pages;\n\tvoid (*rq_release_snd_buf)(struct rpc_rqst *);\n\tunion {\n\t\tstruct list_head rq_list;\n\t\tstruct rb_node rq_recv;\n\t};\n\tstruct list_head rq_xmit;\n\tstruct list_head rq_xmit2;\n\tvoid *rq_buffer;\n\tsize_t rq_callsize;\n\tvoid *rq_rbuffer;\n\tsize_t rq_rcvsize;\n\tsize_t rq_xmit_bytes_sent;\n\tsize_t rq_reply_bytes_recvd;\n\tstruct xdr_buf rq_private_buf;\n\tlong unsigned int rq_majortimeo;\n\tlong unsigned int rq_minortimeo;\n\tlong unsigned int rq_timeout;\n\tktime_t rq_rtt;\n\tunsigned int rq_retries;\n\tunsigned int rq_connect_cookie;\n\tatomic_t rq_pin;\n\tu32 rq_bytes_sent;\n\tktime_t rq_xtime;\n\tint rq_ntrans;\n\tstruct lwq_node rq_bc_list;\n\tlong unsigned int rq_bc_pa_state;\n\tstruct list_head rq_bc_pa_list;\n};\n\nstruct rpc_sysfs_client {\n\tstruct kobject kobject;\n\tstruct net *net;\n\tstruct rpc_clnt *clnt;\n\tstruct rpc_xprt_switch *xprt_switch;\n};\n\nstruct rpc_sysfs_xprt {\n\tstruct kobject kobject;\n\tstruct rpc_xprt *xprt;\n\tstruct rpc_xprt_switch *xprt_switch;\n};\n\nstruct rpc_sysfs_xprt_switch {\n\tstruct kobject kobject;\n\tstruct net *net;\n\tstruct rpc_xprt_switch *xprt_switch;\n\tstruct rpc_xprt *xprt;\n};\n\nstruct rpc_task_setup {\n\tstruct rpc_task *task;\n\tstruct rpc_clnt *rpc_client;\n\tstruct rpc_xprt *rpc_xprt;\n\tstruct rpc_cred *rpc_op_cred;\n\tconst struct rpc_message *rpc_message;\n\tconst struct rpc_call_ops *callback_ops;\n\tvoid *callback_data;\n\tstruct workqueue_struct *workqueue;\n\tshort unsigned int flags;\n\tsigned char priority;\n};\n\nstruct rpc_version {\n\tu32 number;\n\tunsigned int nrprocs;\n\tconst struct rpc_procinfo *procs;\n\tunsigned int *counts;\n};\n\nstruct rpc_xprt_ops;\n\nstruct xprt_class;\n\nstruct rpc_xprt {\n\tstruct kref kref;\n\tconst struct rpc_xprt_ops *ops;\n\tunsigned int id;\n\tconst struct rpc_timeout *timeout;\n\tstruct __kernel_sockaddr_storage addr;\n\tsize_t addrlen;\n\tint prot;\n\tlong unsigned int cong;\n\tlong unsigned int cwnd;\n\tsize_t max_payload;\n\tstruct rpc_wait_queue binding;\n\tstruct rpc_wait_queue sending;\n\tstruct rpc_wait_queue pending;\n\tstruct rpc_wait_queue backlog;\n\tstruct list_head free;\n\tunsigned int max_reqs;\n\tunsigned int min_reqs;\n\tunsigned int num_reqs;\n\tlong unsigned int state;\n\tunsigned char resvport: 1;\n\tunsigned char reuseport: 1;\n\tatomic_t swapper;\n\tunsigned int bind_index;\n\tstruct list_head xprt_switch;\n\tlong unsigned int bind_timeout;\n\tlong unsigned int reestablish_timeout;\n\tstruct xprtsec_parms xprtsec;\n\tunsigned int connect_cookie;\n\tstruct work_struct task_cleanup;\n\tstruct timer_list timer;\n\tlong unsigned int last_used;\n\tlong unsigned int idle_timeout;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int max_reconnect_timeout;\n\tatomic_long_t queuelen;\n\tspinlock_t transport_lock;\n\tspinlock_t reserve_lock;\n\tspinlock_t queue_lock;\n\tu32 xid;\n\tstruct rpc_task *snd_task;\n\tstruct list_head xmit_queue;\n\tatomic_long_t xmit_queuelen;\n\tstruct svc_xprt *bc_xprt;\n\tstruct svc_serv *bc_serv;\n\tunsigned int bc_alloc_max;\n\tunsigned int bc_alloc_count;\n\tatomic_t bc_slot_count;\n\tspinlock_t bc_pa_lock;\n\tstruct list_head bc_pa_list;\n\tstruct rb_root recv_queue;\n\tstruct {\n\t\tlong unsigned int bind_count;\n\t\tlong unsigned int connect_count;\n\t\tlong unsigned int connect_start;\n\t\tlong unsigned int connect_time;\n\t\tlong unsigned int sends;\n\t\tlong unsigned int recvs;\n\t\tlong unsigned int bad_xids;\n\t\tlong unsigned int max_slots;\n\t\tlong long unsigned int req_u;\n\t\tlong long unsigned int bklog_u;\n\t\tlong long unsigned int sending_u;\n\t\tlong long unsigned int pending_u;\n\t} stat;\n\tstruct net *xprt_net;\n\tnetns_tracker ns_tracker;\n\tconst char *servername;\n\tconst char *address_strings[6];\n\tstruct callback_head rcu;\n\tconst struct xprt_class *xprt_class;\n\tstruct rpc_sysfs_xprt *xprt_sysfs;\n\tbool main;\n};\n\nstruct rpc_xprt_iter_ops {\n\tvoid (*xpi_rewind)(struct rpc_xprt_iter *);\n\tstruct rpc_xprt * (*xpi_xprt)(struct rpc_xprt_iter *);\n\tstruct rpc_xprt * (*xpi_next)(struct rpc_xprt_iter *);\n};\n\nstruct rpc_xprt_ops {\n\tvoid (*set_buffer_size)(struct rpc_xprt *, size_t, size_t);\n\tint (*reserve_xprt)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*release_xprt)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*alloc_slot)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*free_slot)(struct rpc_xprt *, struct rpc_rqst *);\n\tvoid (*rpcbind)(struct rpc_task *);\n\tvoid (*set_port)(struct rpc_xprt *, short unsigned int);\n\tvoid (*connect)(struct rpc_xprt *, struct rpc_task *);\n\tint (*get_srcaddr)(struct rpc_xprt *, char *, size_t);\n\tshort unsigned int (*get_srcport)(struct rpc_xprt *);\n\tint (*buf_alloc)(struct rpc_task *);\n\tvoid (*buf_free)(struct rpc_task *);\n\tint (*prepare_request)(struct rpc_rqst *, struct xdr_buf *);\n\tint (*send_request)(struct rpc_rqst *);\n\tvoid (*abort_send_request)(struct rpc_rqst *);\n\tvoid (*wait_for_reply_request)(struct rpc_task *);\n\tvoid (*timer)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*release_request)(struct rpc_task *);\n\tvoid (*close)(struct rpc_xprt *);\n\tvoid (*destroy)(struct rpc_xprt *);\n\tvoid (*set_connect_timeout)(struct rpc_xprt *, long unsigned int, long unsigned int);\n\tvoid (*print_stats)(struct rpc_xprt *, struct seq_file *);\n\tint (*enable_swap)(struct rpc_xprt *);\n\tvoid (*disable_swap)(struct rpc_xprt *);\n\tvoid (*inject_disconnect)(struct rpc_xprt *);\n\tint (*bc_setup)(struct rpc_xprt *, unsigned int);\n\tsize_t (*bc_maxpayload)(struct rpc_xprt *);\n\tunsigned int (*bc_num_slots)(struct rpc_xprt *);\n\tvoid (*bc_free_rqst)(struct rpc_rqst *);\n\tvoid (*bc_destroy)(struct rpc_xprt *, unsigned int);\n};\n\nstruct rpc_xprt_switch {\n\tspinlock_t xps_lock;\n\tstruct kref xps_kref;\n\tunsigned int xps_id;\n\tunsigned int xps_nxprts;\n\tunsigned int xps_nactive;\n\tunsigned int xps_nunique_destaddr_xprts;\n\tatomic_long_t xps_queuelen;\n\tstruct list_head xps_xprt_list;\n\tstruct net *xps_net;\n\tconst struct rpc_xprt_iter_ops *xps_iter_ops;\n\tstruct rpc_sysfs_xprt_switch *xps_sysfs;\n\tstruct callback_head xps_rcu;\n};\n\nstruct rpcb_info {\n\tu32 rpc_vers;\n\tconst struct rpc_procinfo *rpc_proc;\n};\n\nstruct rpcbind_args {\n\tstruct rpc_xprt *r_xprt;\n\tu32 r_prog;\n\tu32 r_vers;\n\tu32 r_prot;\n\tshort unsigned int r_port;\n\tconst char *r_netid;\n\tconst char *r_addr;\n\tconst char *r_owner;\n\tint r_status;\n};\n\nstruct rpcd2_clock {\n\tstruct clk_fixed_factor fixed;\n\tstruct clk_gate gate;\n};\n\nstruct rpi_firmware;\n\nstruct rpi_exp_gpio {\n\tstruct gpio_chip gc;\n\tstruct rpi_firmware *fw;\n};\n\nstruct rpi_firmware {\n\tstruct mbox_client cl;\n\tstruct mbox_chan *chan;\n\tstruct completion c;\n\tu32 enabled;\n\tstruct kref consumers;\n};\n\nstruct rpi_firmware_clk_rate_request {\n\t__le32 id;\n\t__le32 rate;\n};\n\nstruct rpi_firmware_property_tag_header {\n\tu32 tag;\n\tu32 buf_size;\n\tu32 req_resp_size;\n};\n\nstruct rpi_power_domain {\n\tu32 domain;\n\tbool enabled;\n\tbool old_interface;\n\tstruct generic_pm_domain base;\n\tstruct rpi_firmware *fw;\n};\n\nstruct rpi_power_domain_packet {\n\tu32 domain;\n\tu32 state;\n};\n\nstruct rpi_power_domains {\n\tbool has_new_interface;\n\tstruct genpd_onecell_data xlate;\n\tstruct rpi_firmware *fw;\n\tstruct rpi_power_domain domains[23];\n};\n\nstruct rpi_reset {\n\tstruct reset_controller_dev rcdev;\n\tstruct rpi_firmware *fw;\n};\n\nstruct rpm_clk_resource {\n\tu32 resource_type;\n\tu32 clock_id;\n\tbool branch;\n};\n\nstruct rpm_regulator_data {\n\tconst char *name;\n\tu32 type;\n\tu32 id;\n\tconst struct regulator_desc *desc;\n\tconst char *supply;\n};\n\nstruct rpm_regulator_req {\n\t__le32 key;\n\t__le32 nbytes;\n\t__le32 value;\n};\n\nstruct rpm_smd_clk_desc {\n\tstruct clk_smd_rpm **clks;\n\tsize_t num_clks;\n\tconst struct clk_smd_rpm ** const icc_clks;\n\tsize_t num_icc_clks;\n\tbool scaling_before_handover;\n};\n\nstruct rpm_toc_entry {\n\t__le32 id;\n\t__le32 offset;\n\t__le32 size;\n};\n\nstruct rpm_toc {\n\t__le32 magic;\n\t__le32 count;\n\tstruct rpm_toc_entry entries[0];\n};\n\nstruct rpmb_descr {\n\tenum rpmb_type type;\n\tint (*route_frames)(struct device *, u8 *, unsigned int, u8 *, unsigned int);\n\tu8 *dev_id;\n\tsize_t dev_id_len;\n\tu16 reliable_wr_count;\n\tu16 capacity;\n};\n\nstruct rpmb_dev {\n\tstruct device dev;\n\tint id;\n\tstruct list_head list_node;\n\tstruct rpmb_descr descr;\n};\n\nstruct rpmb_frame {\n\tu8 stuff[196];\n\tu8 key_mac[32];\n\tu8 data[256];\n\tu8 nonce[16];\n\t__be32 write_counter;\n\t__be16 addr;\n\t__be16 block_count;\n\t__be16 result;\n\t__be16 req_resp;\n};\n\nstruct rpmh_ctrlr {\n\tstruct list_head cache;\n\tspinlock_t cache_lock;\n\tbool dirty;\n\tstruct list_head batch_cache;\n};\n\nstruct rpmh_vreg_hw_data;\n\nstruct rpmh_vreg {\n\tstruct device *dev;\n\tu32 addr;\n\tstruct regulator_desc rdesc;\n\tconst struct rpmh_vreg_hw_data *hw_data;\n\tbool always_wait_for_ack;\n\tint enabled;\n\tbool bypassed;\n\tint voltage_selector;\n\tunsigned int mode;\n};\n\nstruct rpmh_vreg_hw_data {\n\tenum rpmh_regulator_type regulator_type;\n\tconst struct regulator_ops *ops;\n\tconst struct linear_range *voltage_ranges;\n\tint n_linear_ranges;\n\tint n_voltages;\n\tint hpm_min_load_uA;\n\tconst int *pmic_mode_map;\n\tunsigned int (*of_map_mode)(unsigned int);\n};\n\nstruct rpmh_vreg_init_data {\n\tconst char *name;\n\tconst char *resource_name;\n\tconst char *supply_name;\n\tconst struct rpmh_vreg_hw_data *hw_data;\n};\n\nstruct rpmhpd {\n\tstruct device *dev;\n\tstruct generic_pm_domain pd;\n\tstruct generic_pm_domain *parent;\n\tstruct rpmhpd *peer;\n\tconst bool active_only;\n\tunsigned int corner;\n\tunsigned int active_corner;\n\tunsigned int enable_corner;\n\tu32 level[16];\n\tsize_t level_count;\n\tbool enabled;\n\tconst char *res_name;\n\tu32 addr;\n\tbool state_synced;\n\tbool skip_retention_level;\n};\n\nstruct rpmhpd_desc {\n\tstruct rpmhpd **rpmhpds;\n\tsize_t num_pds;\n};\n\nstruct rpmpd {\n\tstruct generic_pm_domain pd;\n\tstruct generic_pm_domain *parent;\n\tstruct rpmpd *peer;\n\tconst bool active_only;\n\tunsigned int corner;\n\tbool enabled;\n\tconst int res_type;\n\tconst int res_id;\n\tunsigned int max_state;\n\t__le32 key;\n\tbool state_synced;\n};\n\nstruct rpmpd_desc {\n\tstruct rpmpd **rpmpds;\n\tsize_t num_pds;\n\tunsigned int max_state;\n};\n\nstruct rpmpd_req {\n\t__le32 key;\n\t__le32 nbytes;\n\t__le32 value;\n};\n\nstruct rpmsg_channel_info {\n\tchar name[32];\n\tu32 src;\n\tu32 dst;\n};\n\nstruct rpmsg_device_ops {\n\tstruct rpmsg_device * (*create_channel)(struct rpmsg_device *, struct rpmsg_channel_info *);\n\tint (*release_channel)(struct rpmsg_device *, struct rpmsg_channel_info *);\n\tstruct rpmsg_endpoint * (*create_ept)(struct rpmsg_device *, rpmsg_rx_cb_t, void *, struct rpmsg_channel_info);\n\tint (*announce_create)(struct rpmsg_device *);\n\tint (*announce_destroy)(struct rpmsg_device *);\n};\n\nstruct rpmsg_driver {\n\tstruct device_driver drv;\n\tconst struct rpmsg_device_id *id_table;\n\tint (*probe)(struct rpmsg_device *);\n\tvoid (*remove)(struct rpmsg_device *);\n\tint (*callback)(struct rpmsg_device *, void *, int, void *, u32);\n\tint (*flowcontrol)(struct rpmsg_device *, void *, bool);\n};\n\nstruct rpmsg_endpoint_ops {\n\tvoid (*destroy_ept)(struct rpmsg_endpoint *);\n\tint (*send)(struct rpmsg_endpoint *, void *, int);\n\tint (*sendto)(struct rpmsg_endpoint *, void *, int, u32);\n\tint (*send_offchannel)(struct rpmsg_endpoint *, u32, u32, void *, int);\n\tint (*trysend)(struct rpmsg_endpoint *, void *, int);\n\tint (*trysendto)(struct rpmsg_endpoint *, void *, int, u32);\n\tint (*trysend_offchannel)(struct rpmsg_endpoint *, u32, u32, void *, int);\n\t__poll_t (*poll)(struct rpmsg_endpoint *, struct file *, poll_table *);\n\tint (*set_flow_control)(struct rpmsg_endpoint *, bool, u32);\n\tssize_t (*get_mtu)(struct rpmsg_endpoint *);\n};\n\nstruct rpmsg_hdr {\n\t__rpmsg32 src;\n\t__rpmsg32 dst;\n\t__rpmsg32 reserved;\n\t__rpmsg16 len;\n\t__rpmsg16 flags;\n\tu8 data[0];\n};\n\nstruct rpmsg_ns_msg {\n\tchar name[32];\n\t__rpmsg32 addr;\n\t__rpmsg32 flags;\n};\n\nstruct rproc_ops;\n\nstruct rproc {\n\tstruct list_head node;\n\tstruct iommu_domain *domain;\n\tconst char *name;\n\tconst char *firmware;\n\tvoid *priv;\n\tstruct rproc_ops *ops;\n\tstruct device dev;\n\tatomic_t power;\n\tunsigned int state;\n\tenum rproc_dump_mechanism dump_conf;\n\tstruct mutex lock;\n\tstruct dentry *dbg_dir;\n\tstruct list_head traces;\n\tint num_traces;\n\tstruct list_head carveouts;\n\tstruct list_head mappings;\n\tu64 bootaddr;\n\tstruct list_head rvdevs;\n\tstruct list_head subdevs;\n\tstruct idr notifyids;\n\tint index;\n\tstruct work_struct crash_handler;\n\tunsigned int crash_cnt;\n\tbool recovery_disabled;\n\tint max_notifyid;\n\tstruct resource_table *table_ptr;\n\tstruct resource_table *clean_table;\n\tstruct resource_table *cached_table;\n\tsize_t table_sz;\n\tbool has_iommu;\n\tbool auto_boot;\n\tbool sysfs_read_only;\n\tstruct list_head dump_segments;\n\tint nb_vdev;\n\tu8 elf_class;\n\tu16 elf_machine;\n\tstruct cdev cdev;\n\tbool cdev_put_on_release;\n\tlong unsigned int features[1];\n};\n\nstruct rproc_coredump_state {\n\tstruct rproc *rproc;\n\tvoid *header;\n\tstruct completion dump_done;\n};\n\nstruct rproc_mem_entry {\n\tvoid *va;\n\tbool is_iomem;\n\tdma_addr_t dma;\n\tsize_t len;\n\tu32 da;\n\tvoid *priv;\n\tchar name[32];\n\tstruct list_head node;\n\tu32 rsc_offset;\n\tu32 flags;\n\tu32 of_resm_idx;\n\tint (*alloc)(struct rproc *, struct rproc_mem_entry *);\n\tint (*release)(struct rproc *, struct rproc_mem_entry *);\n};\n\nstruct rproc_debug_trace {\n\tstruct rproc *rproc;\n\tstruct dentry *tfile;\n\tstruct list_head node;\n\tstruct rproc_mem_entry trace_mem;\n};\n\nstruct rproc_dump_segment {\n\tstruct list_head node;\n\tdma_addr_t da;\n\tsize_t size;\n\tvoid *priv;\n\tvoid (*dump)(struct rproc *, struct rproc_dump_segment *, void *, size_t, size_t);\n\tloff_t offset;\n};\n\nstruct rproc_ops {\n\tint (*prepare)(struct rproc *);\n\tint (*unprepare)(struct rproc *);\n\tint (*start)(struct rproc *);\n\tint (*stop)(struct rproc *);\n\tint (*attach)(struct rproc *);\n\tint (*detach)(struct rproc *);\n\tvoid (*kick)(struct rproc *, int);\n\tvoid * (*da_to_va)(struct rproc *, u64, size_t, bool *);\n\tint (*parse_fw)(struct rproc *, const struct firmware *);\n\tint (*handle_rsc)(struct rproc *, u32, void *, int, int);\n\tstruct resource_table * (*find_loaded_rsc_table)(struct rproc *, const struct firmware *);\n\tstruct resource_table * (*get_loaded_rsc_table)(struct rproc *, size_t *);\n\tint (*load)(struct rproc *, const struct firmware *);\n\tint (*sanity_check)(struct rproc *, const struct firmware *);\n\tu64 (*get_boot_addr)(struct rproc *, const struct firmware *);\n\tlong unsigned int (*panic)(struct rproc *);\n\tvoid (*coredump)(struct rproc *);\n};\n\nstruct rproc_subdev {\n\tstruct list_head node;\n\tint (*prepare)(struct rproc_subdev *);\n\tint (*start)(struct rproc_subdev *);\n\tvoid (*stop)(struct rproc_subdev *, bool);\n\tvoid (*unprepare)(struct rproc_subdev *);\n};\n\nstruct rproc_vdev;\n\nstruct rproc_vring {\n\tvoid *va;\n\tint num;\n\tu32 da;\n\tu32 align;\n\tint notifyid;\n\tstruct rproc_vdev *rvdev;\n\tstruct virtqueue *vq;\n};\n\nstruct rproc_vdev {\n\tstruct rproc_subdev subdev;\n\tstruct platform_device *pdev;\n\tunsigned int id;\n\tstruct list_head node;\n\tstruct rproc *rproc;\n\tstruct rproc_vring vring[2];\n\tu32 rsc_offset;\n\tu32 index;\n};\n\nstruct rproc_vdev_data {\n\tu32 rsc_offset;\n\tunsigned int id;\n\tu32 index;\n\tstruct fw_rsc_vdev *rsc;\n};\n\nstruct rps_dev_flow {\n\tu16 cpu;\n\tu16 filter;\n\tunsigned int last_qtail;\n};\n\nstruct rps_dev_flow_table {\n\tunsigned int mask;\n\tstruct callback_head rcu;\n\tstruct rps_dev_flow flows[0];\n};\n\nstruct rps_map {\n\tunsigned int len;\n\tstruct callback_head rcu;\n\tu16 cpus[0];\n};\n\nstruct rps_sock_flow_table {\n\tu32 mask;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 ents[0];\n};\n\nstruct rt_prio_array {\n\tlong unsigned int bitmap[2];\n\tstruct list_head queue[100];\n};\n\nstruct rt_rq {\n\tstruct rt_prio_array active;\n\tunsigned int rt_nr_running;\n\tunsigned int rr_nr_running;\n\tstruct {\n\t\tint curr;\n\t\tint next;\n\t} highest_prio;\n\tbool overloaded;\n\tstruct plist_head pushable_tasks;\n\tint rt_queued;\n};\n\nstruct sched_dl_entity;\n\ntypedef bool (*dl_server_has_tasks_f)(struct sched_dl_entity *);\n\ntypedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *);\n\nstruct sched_dl_entity {\n\tstruct rb_node rb_node;\n\tu64 dl_runtime;\n\tu64 dl_deadline;\n\tu64 dl_period;\n\tu64 dl_bw;\n\tu64 dl_density;\n\ts64 runtime;\n\tu64 deadline;\n\tunsigned int flags;\n\tunsigned int dl_throttled: 1;\n\tunsigned int dl_yielded: 1;\n\tunsigned int dl_non_contending: 1;\n\tunsigned int dl_overrun: 1;\n\tunsigned int dl_server: 1;\n\tunsigned int dl_server_active: 1;\n\tunsigned int dl_defer: 1;\n\tunsigned int dl_defer_armed: 1;\n\tunsigned int dl_defer_running: 1;\n\tstruct hrtimer dl_timer;\n\tstruct hrtimer inactive_timer;\n\tstruct rq *rq;\n\tdl_server_has_tasks_f server_has_tasks;\n\tdl_server_pick_f server_pick_task;\n\tstruct sched_dl_entity *pi_se;\n};\n\nstruct rq {\n\traw_spinlock_t __lock;\n\tunsigned int nr_running;\n\tunsigned int nr_numa_running;\n\tunsigned int nr_preferred_running;\n\tunsigned int numa_migrate_on;\n\tlong unsigned int last_blocked_load_update_tick;\n\tunsigned int has_blocked_load;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t nohz_csd;\n\tunsigned int nohz_tick_stopped;\n\tatomic_t nohz_flags;\n\tunsigned int ttwu_pending;\n\tu64 nr_switches;\n\tlong: 64;\n\tstruct cfs_rq cfs;\n\tstruct rt_rq rt;\n\tstruct dl_rq dl;\n\tstruct sched_dl_entity fair_server;\n\tstruct list_head leaf_cfs_rq_list;\n\tstruct list_head *tmp_alone_branch;\n\tunsigned int nr_uninterruptible;\n\tunion {\n\t\tstruct task_struct *donor;\n\t\tstruct task_struct *curr;\n\t};\n\tstruct sched_dl_entity *dl_server;\n\tstruct task_struct *idle;\n\tstruct task_struct *stop;\n\tlong unsigned int next_balance;\n\tstruct mm_struct *prev_mm;\n\tunsigned int clock_update_flags;\n\tu64 clock;\n\tu64 clock_task;\n\tu64 clock_pelt;\n\tlong unsigned int lost_idle_time;\n\tu64 clock_pelt_idle;\n\tu64 clock_idle;\n\tatomic_t nr_iowait;\n\tint membarrier_state;\n\tstruct root_domain *rd;\n\tstruct sched_domain *sd;\n\tlong unsigned int cpu_capacity;\n\tstruct balance_callback *balance_callback;\n\tunsigned char nohz_idle_balance;\n\tunsigned char idle_balance;\n\tlong unsigned int misfit_task_load;\n\tint active_balance;\n\tint push_cpu;\n\tstruct cpu_stop_work active_balance_work;\n\tint cpu;\n\tint online;\n\tstruct list_head cfs_tasks;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_avg avg_rt;\n\tstruct sched_avg avg_dl;\n\tstruct sched_avg avg_irq;\n\tstruct sched_avg avg_hw;\n\tu64 idle_stamp;\n\tu64 avg_idle;\n\tu64 max_idle_balance_cost;\n\tstruct rcuwait hotplug_wait;\n\tu64 prev_irq_time;\n\tu64 psi_irq_time;\n\tu64 prev_steal_time;\n\tlong unsigned int calc_load_update;\n\tlong int calc_load_active;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t hrtick_csd;\n\tstruct hrtimer hrtick_timer;\n\tktime_t hrtick_time;\n\tstruct cpuidle_state *idle_state;\n\tunsigned int nr_pinned;\n\tunsigned int push_busy;\n\tstruct cpu_stop_work push_work;\n\tcpumask_var_t scratch_mask;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rq_depth {\n\tunsigned int max_depth;\n\tint scale_step;\n\tbool scaled_max;\n\tunsigned int queue_depth;\n\tunsigned int default_depth;\n};\n\nstruct rq_iter_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tbool has_rq;\n};\n\nstruct rq_map_data {\n\tstruct page **pages;\n\tlong unsigned int offset;\n\tshort unsigned int page_order;\n\tshort unsigned int nr_entries;\n\tbool null_mapped;\n\tbool from_user;\n};\n\nstruct rq_qos_ops;\n\nstruct rq_qos {\n\tconst struct rq_qos_ops *ops;\n\tstruct gendisk *disk;\n\tenum rq_qos_id id;\n\tstruct rq_qos *next;\n\tstruct dentry *debugfs_dir;\n};\n\nstruct rq_qos_ops {\n\tvoid (*throttle)(struct rq_qos *, struct bio *);\n\tvoid (*track)(struct rq_qos *, struct request *, struct bio *);\n\tvoid (*merge)(struct rq_qos *, struct request *, struct bio *);\n\tvoid (*issue)(struct rq_qos *, struct request *);\n\tvoid (*requeue)(struct rq_qos *, struct request *);\n\tvoid (*done)(struct rq_qos *, struct request *);\n\tvoid (*done_bio)(struct rq_qos *, struct bio *);\n\tvoid (*cleanup)(struct rq_qos *, struct bio *);\n\tvoid (*queue_depth_changed)(struct rq_qos *);\n\tvoid (*exit)(struct rq_qos *);\n\tconst struct blk_mq_debugfs_attr *debugfs_attrs;\n};\n\nstruct rq_wait;\n\ntypedef bool acquire_inflight_cb_t(struct rq_wait *, void *);\n\nstruct rq_qos_wait_data {\n\tstruct wait_queue_entry wq;\n\tstruct task_struct *task;\n\tstruct rq_wait *rqw;\n\tacquire_inflight_cb_t *cb;\n\tvoid *private_data;\n\tbool got_token;\n};\n\nstruct rq_wait {\n\twait_queue_head_t wait;\n\tatomic_t inflight;\n};\n\nstruct rs9_chip_info {\n\tunsigned int num_clks;\n\tu8 outshift;\n\tu8 did;\n};\n\nstruct rs9_driver_data {\n\tstruct i2c_client *client;\n\tstruct regmap *regmap;\n\tconst struct rs9_chip_info *chip_info;\n\tstruct clk_hw *clk_dif[4];\n\tu8 pll_amplitude;\n\tu8 pll_ssc;\n\tu8 clk_dif_sr;\n};\n\nstruct rsa_key {\n\tconst u8 *n;\n\tconst u8 *e;\n\tconst u8 *d;\n\tconst u8 *p;\n\tconst u8 *q;\n\tconst u8 *dp;\n\tconst u8 *dq;\n\tconst u8 *qinv;\n\tsize_t n_sz;\n\tsize_t e_sz;\n\tsize_t d_sz;\n\tsize_t p_sz;\n\tsize_t q_sz;\n\tsize_t dp_sz;\n\tsize_t dq_sz;\n\tsize_t qinv_sz;\n};\n\nstruct rsa_mpi_key {\n\tMPI n;\n\tMPI e;\n\tMPI d;\n\tMPI p;\n\tMPI q;\n\tMPI dp;\n\tMPI dq;\n\tMPI qinv;\n};\n\nstruct rsassa_pkcs1_ctx {\n\tstruct crypto_akcipher *child;\n\tunsigned int key_size;\n};\n\nstruct rsassa_pkcs1_inst_ctx {\n\tstruct crypto_akcipher_spawn spawn;\n\tconst struct hash_prefix *hash_prefix;\n};\n\nstruct rsc {\n\tstruct cache_head h;\n\tstruct xdr_netobj handle;\n\tstruct svc_cred cred;\n\tstruct gss_svc_seq_data seqdata;\n\tstruct gss_ctx *mechctx;\n\tstruct callback_head callback_head;\n};\n\nstruct rsc_drv;\n\nstruct tcs_group {\n\tstruct rsc_drv *drv;\n\tint type;\n\tu32 mask;\n\tu32 offset;\n\tint num_tcs;\n\tint ncpt;\n\tconst struct tcs_request *req[3];\n\tlong unsigned int slots[1];\n};\n\nstruct rsc_ver {\n\tu32 major;\n\tu32 minor;\n};\n\nstruct rsc_drv {\n\tconst char *name;\n\tvoid *base;\n\tvoid *tcs_base;\n\tint id;\n\tint num_tcs;\n\tstruct notifier_block rsc_pm;\n\tstruct notifier_block genpd_nb;\n\tatomic_t cpus_in_pm;\n\tstruct tcs_group tcs[4];\n\tlong unsigned int tcs_in_use[1];\n\tspinlock_t lock;\n\twait_queue_head_t tcs_wait;\n\tstruct rpmh_ctrlr client;\n\tstruct device *dev;\n\tstruct rsc_ver ver;\n\tu32 *regs;\n};\n\nstruct rseq {\n\t__u32 cpu_id_start;\n\t__u32 cpu_id;\n\t__u64 rseq_cs;\n\t__u32 flags;\n\t__u32 node_id;\n\t__u32 mm_cid;\n\tchar end[0];\n};\n\nstruct rseq_cs {\n\t__u32 version;\n\t__u32 flags;\n\t__u64 start_ip;\n\t__u64 post_commit_offset;\n\t__u64 abort_ip;\n};\n\nstruct rsi {\n\tstruct cache_head h;\n\tstruct xdr_netobj in_handle;\n\tstruct xdr_netobj in_token;\n\tstruct xdr_netobj out_handle;\n\tstruct xdr_netobj out_token;\n\tint major_status;\n\tint minor_status;\n\tstruct callback_head callback_head;\n};\n\nstruct rss_nl_dump_ctx {\n\tlong unsigned int ifindex;\n\tlong unsigned int ctx_idx;\n\tunsigned int match_ifindex;\n\tunsigned int start_ctx;\n};\n\nstruct rss_reply_data {\n\tstruct ethnl_reply_data base;\n\tbool no_key_fields;\n\tu32 indir_size;\n\tu32 hkey_size;\n\tu32 hfunc;\n\tu32 input_xfrm;\n\tu32 *indir_table;\n\tu8 *hkey;\n};\n\nstruct rss_req_info {\n\tstruct ethnl_req_info base;\n\tu32 rss_context;\n};\n\nstruct rst_config {\n\tunsigned int modemr;\n\tint (*configure)(void *);\n\tint (*set_rproc_boot_addr)(u64);\n};\n\nstruct rsvd_count {\n\tint ndelayed;\n\tbool first_do_lblk_found;\n\text4_lblk_t first_do_lblk;\n\text4_lblk_t last_do_lblk;\n\tstruct extent_status *left_es;\n\tbool partial;\n\text4_lblk_t lclu;\n};\n\nstruct rswitch_desc {\n\t__le16 info_ds;\n\tu8 die_dt;\n\t__u8 dptrh;\n\t__le32 dptrl;\n};\n\nstruct rswitch_private;\n\nstruct rswitch_gwca_queue;\n\nstruct rswitch_etha;\n\nstruct rswitch_device {\n\tstruct rswitch_private *priv;\n\tstruct net_device *ndev;\n\tstruct napi_struct napi;\n\tvoid *addr;\n\tstruct rswitch_gwca_queue *tx_queue;\n\tstruct rswitch_gwca_queue *rx_queue;\n\tstruct sk_buff *ts_skb[256];\n\tlong unsigned int ts_skb_used[4];\n\tbool disabled;\n\tint port;\n\tstruct rswitch_etha *etha;\n\tstruct device_node *np_port;\n\tstruct phy *serdes;\n};\n\nstruct rswitch_etha {\n\tunsigned int index;\n\tvoid *addr;\n\tvoid *coma_addr;\n\tbool external_phy;\n\tstruct mii_bus *mii;\n\tphy_interface_t phy_interface;\n\tu32 psmcs;\n\tu8 mac_addr[32];\n\tint link;\n\tint speed;\n\tbool operated;\n};\n\nstruct rswitch_ext_desc {\n\tstruct rswitch_desc desc;\n\t__le64 info1;\n};\n\nstruct rswitch_ext_ts_desc {\n\tstruct rswitch_desc desc;\n\t__le64 info1;\n\t__le32 ts_nsec;\n\t__le32 ts_sec;\n};\n\nstruct rswitch_ts_desc;\n\nstruct rswitch_gwca_queue {\n\tunion {\n\t\tstruct rswitch_ext_desc *tx_ring;\n\t\tstruct rswitch_ext_ts_desc *rx_ring;\n\t\tstruct rswitch_ts_desc *ts_ring;\n\t};\n\tdma_addr_t ring_dma;\n\tunsigned int ring_size;\n\tunsigned int cur;\n\tunsigned int dirty;\n\tunsigned int index;\n\tbool dir_tx;\n\tstruct net_device *ndev;\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff **skbs;\n\t\t\tdma_addr_t *unmap_addrs;\n\t\t};\n\t\tstruct {\n\t\t\tvoid **rx_bufs;\n\t\t\tstruct sk_buff *skb_fstart;\n\t\t\tu16 pkt_len;\n\t\t};\n\t};\n};\n\nstruct rswitch_gwca {\n\tunsigned int index;\n\tstruct rswitch_desc *linkfix_table;\n\tdma_addr_t linkfix_table_dma;\n\tu32 linkfix_table_size;\n\tstruct rswitch_gwca_queue *queues;\n\tint num_queues;\n\tstruct rswitch_gwca_queue ts_queue;\n\tlong unsigned int used[2];\n\tu32 tx_irq_bits[4];\n\tu32 rx_irq_bits[4];\n};\n\nstruct rswitch_mac_table_entry;\n\nstruct rswitch_mfwd {\n\tstruct rswitch_mac_table_entry *mac_table_entries;\n\tint num_mac_table_entries;\n};\n\nstruct rswitch_private {\n\tstruct platform_device *pdev;\n\tvoid *addr;\n\tstruct rcar_gen4_ptp_private *ptp_priv;\n\tstruct rswitch_device *rdev[3];\n\tlong unsigned int opened_ports[1];\n\tstruct rswitch_gwca gwca;\n\tstruct rswitch_etha etha[3];\n\tstruct rswitch_mfwd mfwd;\n\tspinlock_t lock;\n\tstruct clk *clk;\n\tbool etha_no_runtime_change;\n\tbool gwca_halt;\n};\n\nstruct rswitch_ts_desc {\n\tstruct rswitch_desc desc;\n\t__le32 ts_nsec;\n\t__le32 ts_sec;\n};\n\nstruct rt6_exception_bucket {\n\tstruct hlist_head chain;\n\tint depth;\n};\n\nstruct rt6_statistics {\n\t__u32 fib_nodes;\n\t__u32 fib_route_nodes;\n\t__u32 fib_rt_entries;\n\t__u32 fib_rt_cache;\n\t__u32 fib_discarded_routes;\n\tatomic_t fib_rt_alloc;\n};\n\nstruct rt_cache_stat {\n\tunsigned int in_slow_tot;\n\tunsigned int in_slow_mc;\n\tunsigned int in_no_route;\n\tunsigned int in_brd;\n\tunsigned int in_martian_dst;\n\tunsigned int in_martian_src;\n\tunsigned int out_slow_tot;\n\tunsigned int out_slow_mc;\n};\n\nstruct rt_waiter_node {\n\tstruct rb_node entry;\n\tint prio;\n\tu64 deadline;\n};\n\nstruct rt_mutex_waiter {\n\tstruct rt_waiter_node tree;\n\tstruct rt_waiter_node pi_tree;\n\tstruct task_struct *task;\n\tstruct rt_mutex_base *lock;\n\tunsigned int wake_state;\n\tstruct ww_acquire_ctx *ww_ctx;\n};\n\nstruct sigaltstack {\n\tvoid *ss_sp;\n\tint ss_flags;\n\t__kernel_size_t ss_size;\n};\n\ntypedef struct sigaltstack stack_t;\n\nstruct sigcontext {\n\t__u64 fault_address;\n\t__u64 regs[31];\n\t__u64 sp;\n\t__u64 pc;\n\t__u64 pstate;\n\tlong: 64;\n\t__u8 __reserved[4096];\n};\n\nstruct ucontext {\n\tlong unsigned int uc_flags;\n\tstruct ucontext *uc_link;\n\tstack_t uc_stack;\n\tsigset_t uc_sigmask;\n\t__u8 __unused[120];\n\tlong: 64;\n\tstruct sigcontext uc_mcontext;\n};\n\nstruct rt_sigframe {\n\tstruct siginfo info;\n\tstruct ucontext uc;\n};\n\nstruct rt_sigframe_user_layout {\n\tstruct rt_sigframe *sigframe;\n\tstruct frame_record *next_frame;\n\tlong unsigned int size;\n\tlong unsigned int limit;\n\tlong unsigned int fpsimd_offset;\n\tlong unsigned int esr_offset;\n\tlong unsigned int gcs_offset;\n\tlong unsigned int sve_offset;\n\tlong unsigned int tpidr2_offset;\n\tlong unsigned int za_offset;\n\tlong unsigned int zt_offset;\n\tlong unsigned int fpmr_offset;\n\tlong unsigned int poe_offset;\n\tlong unsigned int extra_offset;\n\tlong unsigned int end_offset;\n};\n\nstruct wake_q_node;\n\nstruct wake_q_head {\n\tstruct wake_q_node *first;\n\tstruct wake_q_node **lastp;\n};\n\nstruct rt_wake_q_head {\n\tstruct wake_q_head head;\n\tstruct task_struct *rtlock_task;\n};\n\nstruct rta_cacheinfo {\n\t__u32 rta_clntref;\n\t__u32 rta_lastuse;\n\t__s32 rta_expires;\n\t__u32 rta_error;\n\t__u32 rta_used;\n\t__u32 rta_id;\n\t__u32 rta_ts;\n\t__u32 rta_tsage;\n};\n\nstruct rtc_timer {\n\tstruct timerqueue_node node;\n\tktime_t period;\n\tvoid (*func)(struct rtc_device *);\n\tstruct rtc_device *rtc;\n\tint enabled;\n};\n\nstruct rtc_device {\n\tstruct device dev;\n\tstruct module *owner;\n\tint id;\n\tconst struct rtc_class_ops *ops;\n\tstruct mutex ops_lock;\n\tstruct cdev char_dev;\n\tlong unsigned int flags;\n\tlong unsigned int irq_data;\n\tspinlock_t irq_lock;\n\twait_queue_head_t irq_queue;\n\tstruct fasync_struct *async_queue;\n\tint irq_freq;\n\tint max_user_freq;\n\tstruct timerqueue_head timerqueue;\n\tstruct rtc_timer aie_timer;\n\tstruct rtc_timer uie_rtctimer;\n\tstruct hrtimer pie_timer;\n\tint pie_enabled;\n\tstruct work_struct irqwork;\n\tlong unsigned int set_offset_nsec;\n\tlong unsigned int features[1];\n\ttime64_t range_min;\n\ttimeu64_t range_max;\n\ttimeu64_t alarm_offset_max;\n\ttime64_t start_secs;\n\ttime64_t offset_secs;\n\tbool set_start_time;\n};\n\nstruct rtc_param {\n\t__u64 param;\n\tunion {\n\t\t__u64 uvalue;\n\t\t__s64 svalue;\n\t\t__u64 ptr;\n\t};\n\t__u32 index;\n\t__u32 __pad;\n};\n\nstruct rtc_time {\n\tint tm_sec;\n\tint tm_min;\n\tint tm_hour;\n\tint tm_mday;\n\tint tm_mon;\n\tint tm_year;\n\tint tm_wday;\n\tint tm_yday;\n\tint tm_isdst;\n};\n\nstruct rtc_wkalrm {\n\tunsigned char enabled;\n\tunsigned char pending;\n\tstruct rtc_time time;\n};\n\nstruct rtd119x_rtc {\n\tvoid *base;\n\tstruct clk *clk;\n\tstruct rtc_device *rtcdev;\n\tunsigned int base_year;\n};\n\nstruct rtd119x_watchdog_device {\n\tstruct watchdog_device wdt_dev;\n\tvoid *base;\n\tstruct clk *clk;\n};\n\nstruct rtd_gpio_info;\n\nstruct rtd_gpio {\n\tstruct gpio_chip gpio_chip;\n\tconst struct rtd_gpio_info *info;\n\tvoid *base;\n\tvoid *irq_base;\n\tunsigned int irqs[2];\n\traw_spinlock_t lock;\n};\n\nstruct rtd_gpio_info {\n\tconst char *name;\n\tunsigned int gpio_base;\n\tunsigned int num_gpios;\n\tu8 *dir_offset;\n\tu8 *dato_offset;\n\tu8 *dati_offset;\n\tu8 *ie_offset;\n\tu8 *dp_offset;\n\tu8 *gpa_offset;\n\tu8 *gpda_offset;\n\tu8 *deb_offset;\n\tu8 *deb_val;\n\tu8 (*get_deb_setval)(const struct rtd_gpio_info *, unsigned int, u8, u8 *, u8 *);\n};\n\nstruct rtd_pin_config_desc {\n\tconst char *name;\n\tunsigned int reg_offset;\n\tunsigned int base_bit;\n\tunsigned int pud_en_offset;\n\tunsigned int pud_sel_offset;\n\tunsigned int curr_offset;\n\tunsigned int smt_offset;\n\tunsigned int power_offset;\n\tunsigned int curr_type;\n};\n\nstruct rtd_pin_mux_desc;\n\nstruct rtd_pin_desc {\n\tconst char *name;\n\tunsigned int mux_offset;\n\tu32 mux_mask;\n\tconst struct rtd_pin_mux_desc *functions;\n};\n\nstruct rtd_pin_func_desc {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int num_groups;\n};\n\nstruct rtd_pin_group_desc {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tunsigned int num_pins;\n};\n\nstruct rtd_pin_mux_desc {\n\tconst char *name;\n\tu32 mux_value;\n};\n\nstruct rtd_pin_reg_list {\n\tunsigned int reg_offset;\n\tunsigned int val;\n};\n\nstruct rtd_pin_sconfig_desc {\n\tconst char *name;\n\tunsigned int reg_offset;\n\tunsigned int dcycle_offset;\n\tunsigned int dcycle_maskbits;\n\tunsigned int ndrive_offset;\n\tunsigned int ndrive_maskbits;\n\tunsigned int pdrive_offset;\n\tunsigned int pdrive_maskbits;\n};\n\nstruct rtd_pinctrl_desc;\n\nstruct rtd_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pcdev;\n\tvoid *base;\n\tstruct pinctrl_desc desc;\n\tconst struct rtd_pinctrl_desc *info;\n\tstruct regmap *regmap_pinctrl;\n};\n\nstruct rtd_pinctrl_desc {\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int num_pins;\n\tconst struct rtd_pin_group_desc *groups;\n\tunsigned int num_groups;\n\tconst struct rtd_pin_func_desc *functions;\n\tunsigned int num_functions;\n\tconst struct rtd_pin_desc *muxes;\n\tunsigned int num_muxes;\n\tconst struct rtd_pin_config_desc *configs;\n\tunsigned int num_configs;\n\tconst struct rtd_pin_sconfig_desc *sconfigs;\n\tunsigned int num_sconfigs;\n\tstruct rtd_pin_reg_list *lists;\n\tunsigned int num_regs;\n};\n\nstruct rtentry {\n\tlong unsigned int rt_pad1;\n\tstruct sockaddr rt_dst;\n\tstruct sockaddr rt_gateway;\n\tstruct sockaddr rt_genmask;\n\tshort unsigned int rt_flags;\n\tshort int rt_pad2;\n\tlong unsigned int rt_pad3;\n\tvoid *rt_pad4;\n\tshort int rt_metric;\n\tchar *rt_dev;\n\tlong unsigned int rt_mtu;\n\tlong unsigned int rt_window;\n\tshort unsigned int rt_irtt;\n};\n\nstruct rtgenmsg {\n\tunsigned char rtgen_family;\n};\n\nstruct rtl821x_priv {\n\tu16 phycr1;\n\tu16 phycr2;\n\tbool has_phycr2;\n\tstruct clk *clk;\n};\n\nstruct rtm_dump_res_bucket_ctx;\n\nstruct rtm_dump_nexthop_bucket_data {\n\tstruct rtm_dump_res_bucket_ctx *ctx;\n\tstruct nh_dump_filter filter;\n};\n\nstruct rtm_dump_nh_ctx {\n\tu32 idx;\n};\n\nstruct rtm_dump_res_bucket_ctx {\n\tstruct rtm_dump_nh_ctx nh;\n\tu16 bucket_index;\n};\n\nstruct rtmsg {\n\tunsigned char rtm_family;\n\tunsigned char rtm_dst_len;\n\tunsigned char rtm_src_len;\n\tunsigned char rtm_tos;\n\tunsigned char rtm_table;\n\tunsigned char rtm_protocol;\n\tunsigned char rtm_scope;\n\tunsigned char rtm_type;\n\tunsigned int rtm_flags;\n};\n\nstruct rtnexthop {\n\tshort unsigned int rtnh_len;\n\tunsigned char rtnh_flags;\n\tunsigned char rtnh_hops;\n\tint rtnh_ifindex;\n};\n\nstruct rtnl_af_ops {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tint family;\n\tint (*fill_link_af)(struct sk_buff *, const struct net_device *, u32);\n\tsize_t (*get_link_af_size)(const struct net_device *, u32);\n\tint (*validate_link_af)(const struct net_device *, const struct nlattr *, struct netlink_ext_ack *);\n\tint (*set_link_af)(struct net_device *, const struct nlattr *, struct netlink_ext_ack *);\n\tint (*fill_stats_af)(struct sk_buff *, const struct net_device *);\n\tsize_t (*get_stats_af_size)(const struct net_device *);\n};\n\ntypedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, struct netlink_ext_ack *);\n\ntypedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *);\n\nstruct rtnl_link {\n\trtnl_doit_func doit;\n\trtnl_dumpit_func dumpit;\n\tstruct module *owner;\n\tunsigned int flags;\n\tstruct callback_head rcu;\n};\n\nstruct rtnl_link_ifmap {\n\t__u64 mem_start;\n\t__u64 mem_end;\n\t__u64 base_addr;\n\t__u16 irq;\n\t__u8 dma;\n\t__u8 port;\n};\n\nstruct rtnl_link_ops {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tconst char *kind;\n\tsize_t priv_size;\n\tstruct net_device * (*alloc)(struct nlattr **, const char *, unsigned char, unsigned int, unsigned int);\n\tvoid (*setup)(struct net_device *);\n\tbool netns_refund;\n\tconst u16 peer_type;\n\tunsigned int maxtype;\n\tconst struct nla_policy *policy;\n\tint (*validate)(struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tint (*newlink)(struct net *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tint (*changelink)(struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tvoid (*dellink)(struct net_device *, struct list_head *);\n\tsize_t (*get_size)(const struct net_device *);\n\tint (*fill_info)(struct sk_buff *, const struct net_device *);\n\tsize_t (*get_xstats_size)(const struct net_device *);\n\tint (*fill_xstats)(struct sk_buff *, const struct net_device *);\n\tunsigned int (*get_num_tx_queues)(void);\n\tunsigned int (*get_num_rx_queues)(void);\n\tunsigned int slave_maxtype;\n\tconst struct nla_policy *slave_policy;\n\tint (*slave_changelink)(struct net_device *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tsize_t (*get_slave_size)(const struct net_device *, const struct net_device *);\n\tint (*fill_slave_info)(struct sk_buff *, const struct net_device *, const struct net_device *);\n\tstruct net * (*get_link_net)(const struct net_device *);\n\tsize_t (*get_linkxstats_size)(const struct net_device *, int);\n\tint (*fill_linkxstats)(struct sk_buff *, const struct net_device *, int *, int);\n};\n\nstruct rtnl_link_stats {\n\t__u32 rx_packets;\n\t__u32 tx_packets;\n\t__u32 rx_bytes;\n\t__u32 tx_bytes;\n\t__u32 rx_errors;\n\t__u32 tx_errors;\n\t__u32 rx_dropped;\n\t__u32 tx_dropped;\n\t__u32 multicast;\n\t__u32 collisions;\n\t__u32 rx_length_errors;\n\t__u32 rx_over_errors;\n\t__u32 rx_crc_errors;\n\t__u32 rx_frame_errors;\n\t__u32 rx_fifo_errors;\n\t__u32 rx_missed_errors;\n\t__u32 tx_aborted_errors;\n\t__u32 tx_carrier_errors;\n\t__u32 tx_fifo_errors;\n\t__u32 tx_heartbeat_errors;\n\t__u32 tx_window_errors;\n\t__u32 rx_compressed;\n\t__u32 tx_compressed;\n\t__u32 rx_nohandler;\n};\n\nstruct rtnl_mdb_dump_ctx {\n\tlong int idx;\n};\n\nstruct rtnl_msg_handler {\n\tstruct module *owner;\n\tint protocol;\n\tint msgtype;\n\trtnl_doit_func doit;\n\trtnl_dumpit_func dumpit;\n\tint flags;\n};\n\nstruct rtnl_net_dump_cb {\n\tstruct net *tgt_net;\n\tstruct net *ref_net;\n\tstruct sk_buff *skb;\n\tstruct net_fill_args fillargs;\n\tint idx;\n\tint s_idx;\n};\n\nstruct rtnl_nets {\n\tstruct net *net[3];\n\tunsigned char len;\n};\n\nstruct rtnl_newlink_tbs {\n\tstruct nlattr *tb[67];\n\tstruct nlattr *linkinfo[6];\n\tstruct nlattr *attr[51];\n\tstruct nlattr *slave_attr[45];\n};\n\nstruct rtnl_offload_xstats_request_used {\n\tbool request;\n\tbool used;\n};\n\nstruct rtnl_stats_dump_filters {\n\tu32 mask[6];\n};\n\nstruct rtree_node {\n\tstruct list_head list;\n\tlong unsigned int *data;\n};\n\nstruct rtsn_desc {\n\t__le16 info_ds;\n\t__u8 info;\n\tu8 die_dt;\n\t__le32 dptr;\n};\n\nstruct rtsn_ext_desc {\n\t__le16 info_ds;\n\t__u8 info;\n\tu8 die_dt;\n\t__le32 dptr;\n\t__le64 info1;\n};\n\nstruct rtsn_ext_ts_desc {\n\t__le16 info_ds;\n\t__u8 info;\n\tu8 die_dt;\n\t__le32 dptr;\n\t__le64 info1;\n\t__le32 ts_nsec;\n\t__le32 ts_sec;\n};\n\nstruct rtsn_private {\n\tstruct net_device *ndev;\n\tstruct platform_device *pdev;\n\tvoid *base;\n\tstruct rcar_gen4_ptp_private *ptp_priv;\n\tstruct clk *clk;\n\tstruct reset_control *reset;\n\tu32 num_tx_ring;\n\tu32 num_rx_ring;\n\tu32 tx_desc_bat_size;\n\tdma_addr_t tx_desc_bat_dma;\n\tstruct rtsn_desc *tx_desc_bat;\n\tu32 rx_desc_bat_size;\n\tdma_addr_t rx_desc_bat_dma;\n\tstruct rtsn_desc *rx_desc_bat;\n\tdma_addr_t tx_desc_dma;\n\tdma_addr_t rx_desc_dma;\n\tstruct rtsn_ext_desc *tx_ring;\n\tstruct rtsn_ext_ts_desc *rx_ring;\n\tstruct sk_buff **tx_skb;\n\tstruct sk_buff **rx_skb;\n\tspinlock_t lock;\n\tu32 cur_tx;\n\tu32 dirty_tx;\n\tu32 cur_rx;\n\tu32 dirty_rx;\n\tu8 ts_tag;\n\tstruct napi_struct napi;\n\tstruct rtnl_link_stats64 stats;\n\tstruct mii_bus *mii;\n\tphy_interface_t iface;\n\tint link;\n\tint speed;\n\tint tx_data_irq;\n\tint rx_data_irq;\n};\n\nstruct rtvia {\n\t__kernel_sa_family_t rtvia_family;\n\t__u8 rtvia_addr[0];\n};\n\nstruct rusage {\n\tstruct __kernel_old_timeval ru_utime;\n\tstruct __kernel_old_timeval ru_stime;\n\t__kernel_long_t ru_maxrss;\n\t__kernel_long_t ru_ixrss;\n\t__kernel_long_t ru_idrss;\n\t__kernel_long_t ru_isrss;\n\t__kernel_long_t ru_minflt;\n\t__kernel_long_t ru_majflt;\n\t__kernel_long_t ru_nswap;\n\t__kernel_long_t ru_inblock;\n\t__kernel_long_t ru_oublock;\n\t__kernel_long_t ru_msgsnd;\n\t__kernel_long_t ru_msgrcv;\n\t__kernel_long_t ru_nsignals;\n\t__kernel_long_t ru_nvcsw;\n\t__kernel_long_t ru_nivcsw;\n};\n\ntypedef struct rw_semaphore *class_rwsem_read_t;\n\ntypedef struct rw_semaphore *class_rwsem_write_t;\n\nstruct rwdt_priv {\n\tvoid *base;\n\tstruct watchdog_device wdev;\n\tlong unsigned int clk_rate;\n\tu8 cks;\n\tstruct clk *clk;\n};\n\nstruct rwsem_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tenum rwsem_waiter_type type;\n\tlong unsigned int timeout;\n\tbool handoff_set;\n};\n\nstruct rx_queue_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct netdev_rx_queue *, char *);\n\tssize_t (*store)(struct netdev_rx_queue *, const char *, size_t);\n};\n\nstruct rx_ring_info {\n\tstruct sk_buff *skb;\n\tdma_addr_t data_addr;\n\t__u32 data_size;\n\tdma_addr_t frag_addr[2];\n};\n\nstruct rz_dmac_chan;\n\nstruct rz_dmac {\n\tstruct dma_device engine;\n\tstruct device *dev;\n\tstruct reset_control *rstc;\n\tvoid *base;\n\tvoid *ext_base;\n\tunsigned int n_channels;\n\tstruct rz_dmac_chan *channels;\n\tlong unsigned int modules[16];\n};\n\nstruct rz_dmac_desc;\n\nstruct rz_lmdesc;\n\nstruct rz_dmac_chan {\n\tstruct virt_dma_chan vc;\n\tvoid *ch_base;\n\tvoid *ch_cmn_base;\n\tunsigned int index;\n\tint irq;\n\tstruct rz_dmac_desc *desc;\n\tint descs_allocated;\n\tdma_addr_t src_per_address;\n\tdma_addr_t dst_per_address;\n\tu32 chcfg;\n\tu32 chctrl;\n\tint mid_rid;\n\tstruct list_head ld_free;\n\tstruct list_head ld_queue;\n\tstruct list_head ld_active;\n\tstruct {\n\t\tstruct rz_lmdesc *base;\n\t\tstruct rz_lmdesc *head;\n\t\tstruct rz_lmdesc *tail;\n\t\tdma_addr_t base_dma;\n\t} lmdesc;\n};\n\nstruct rz_dmac_desc {\n\tstruct virt_dma_desc vd;\n\tdma_addr_t src;\n\tdma_addr_t dest;\n\tsize_t len;\n\tstruct list_head node;\n\tenum dma_transfer_direction direction;\n\tenum rz_dmac_prep_type type;\n\tstruct scatterlist *sg;\n\tunsigned int sgcount;\n};\n\nstruct rz_lmdesc {\n\tu32 header;\n\tu32 sa;\n\tu32 da;\n\tu32 tb;\n\tu32 chcfg;\n\tu32 chitvl;\n\tu32 chext;\n\tu32 nxla;\n};\n\nstruct rz_mtu3_channel {\n\tstruct device *dev;\n\tunsigned int channel_number;\n\tstruct mutex lock;\n\tbool is_busy;\n};\n\nstruct rz_mtu3 {\n\tstruct clk *clk;\n\tstruct rz_mtu3_channel channels[9];\n\tvoid *priv_data;\n};\n\nstruct rz_mtu3_priv {\n\tvoid *mmio;\n\tstruct reset_control *rstc;\n\tspinlock_t lock;\n};\n\nstruct rzg2l_mod_clk;\n\nstruct rzg2l_reset;\n\nstruct rzg2l_cpg_pm_domain_init_data;\n\nstruct rzg2l_cpg_info {\n\tconst struct cpg_core_clk___3 *core_clks;\n\tunsigned int num_core_clks;\n\tunsigned int last_dt_core_clk;\n\tunsigned int num_total_core_clks;\n\tconst struct rzg2l_mod_clk *mod_clks;\n\tunsigned int num_mod_clks;\n\tunsigned int num_hw_mod_clks;\n\tconst unsigned int *no_pm_mod_clks;\n\tunsigned int num_no_pm_mod_clks;\n\tconst struct rzg2l_reset *resets;\n\tunsigned int num_resets;\n\tconst unsigned int *crit_mod_clks;\n\tunsigned int num_crit_mod_clks;\n\tconst struct rzg2l_cpg_pm_domain_init_data *pm_domains;\n\tunsigned int num_pm_domains;\n\tbool has_clk_mon_regs;\n};\n\nstruct rzg2l_cpg_reg_conf {\n\tu16 off;\n\tu16 mask;\n};\n\nstruct rzg2l_cpg_pm_domain_conf {\n\tstruct rzg2l_cpg_reg_conf mstop;\n};\n\nstruct rzg2l_cpg_pd {\n\tstruct generic_pm_domain genpd;\n\tstruct rzg2l_cpg_priv *priv;\n\tstruct rzg2l_cpg_pm_domain_conf conf;\n\tu16 id;\n};\n\nstruct rzg2l_cpg_pm_domain_init_data {\n\tconst char * const name;\n\tstruct rzg2l_cpg_pm_domain_conf conf;\n\tu32 genpd_flags;\n\tu16 id;\n};\n\nstruct rzg2l_cpg_pm_domains {\n\tstruct genpd_onecell_data onecell_data;\n\tstruct generic_pm_domain *domains[0];\n};\n\nstruct rzg2l_pll5_mux_dsi_div_param {\n\tu8 clksrc;\n\tu8 dsi_div_a;\n\tu8 dsi_div_b;\n};\n\nstruct rzg2l_cpg_priv {\n\tstruct reset_controller_dev rcdev;\n\tstruct device *dev;\n\tvoid *base;\n\tspinlock_t rmw_lock;\n\tstruct clk **clks;\n\tunsigned int num_core_clks;\n\tunsigned int num_mod_clks;\n\tunsigned int num_resets;\n\tunsigned int last_dt_core_clk;\n\tconst struct rzg2l_cpg_info *info;\n\tstruct rzg2l_pll5_mux_dsi_div_param mux_dsi_div_params;\n};\n\nstruct rzg2l_dedicated_configs {\n\tconst char *name;\n\tu64 config;\n};\n\nstruct rzg2l_register_offsets {\n\tu16 pwpr;\n\tu16 sd_ch;\n\tu16 eth_poc;\n};\n\nstruct rzg2l_hwcfg {\n\tconst struct rzg2l_register_offsets regs;\n\tu16 iolh_groupa_ua[12];\n\tu16 iolh_groupb_ua[12];\n\tu16 iolh_groupc_ua[12];\n\tu16 iolh_groupb_oi[4];\n\tu16 tint_start_index;\n\tbool drive_strength_ua;\n\tu8 func_base;\n\tu8 oen_max_pin;\n\tu8 oen_max_port;\n};\n\nstruct rzg2l_irqc_reg_cache {\n\tu32 iitsr;\n\tu32 titsr[2];\n};\n\nstruct rzg2l_irqc_priv {\n\tvoid *base;\n\tconst struct irq_chip *irqchip;\n\tstruct irq_fwspec fwspec[41];\n\traw_spinlock_t lock;\n\tstruct rzg2l_irqc_reg_cache cache;\n};\n\nstruct rzg2l_mod_clk {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int parent;\n\tu16 off;\n\tu8 bit;\n\tbool is_coupled;\n};\n\nstruct rzg2l_pinctrl_data;\n\nstruct rzg2l_pinctrl_pin_settings;\n\nstruct rzg2l_pinctrl_reg_cache;\n\nstruct rzg2l_pinctrl {\n\tstruct pinctrl_dev *pctl;\n\tstruct pinctrl_desc desc;\n\tstruct pinctrl_pin_desc *pins;\n\tconst struct rzg2l_pinctrl_data *data;\n\tvoid *base;\n\tstruct device *dev;\n\tstruct clk *clk;\n\tstruct gpio_chip gpio_chip;\n\tstruct pinctrl_gpio_range gpio_range;\n\tlong unsigned int tint_slot[1];\n\tspinlock_t bitmap_lock;\n\tunsigned int hwirq[32];\n\tspinlock_t lock;\n\tstruct mutex mutex;\n\tstruct rzg2l_pinctrl_pin_settings *settings;\n\tstruct rzg2l_pinctrl_reg_cache *cache;\n\tstruct rzg2l_pinctrl_reg_cache *dedicated_cache;\n\tatomic_t wakeup_path;\n};\n\nstruct rzg2l_pinctrl_data {\n\tconst char * const *port_pins;\n\tconst u64 *port_pin_configs;\n\tunsigned int n_ports;\n\tconst struct rzg2l_dedicated_configs *dedicated_pins;\n\tunsigned int n_port_pins;\n\tunsigned int n_dedicated_pins;\n\tconst struct rzg2l_hwcfg *hwcfg;\n\tconst u64 *variable_pin_cfg;\n\tunsigned int n_variable_pin_cfg;\n\tunsigned int num_custom_params;\n\tconst struct pinconf_generic_params *custom_params;\n\tconst struct pin_config_item *custom_conf_items;\n\tvoid (*pwpr_pfc_lock_unlock)(struct rzg2l_pinctrl *, bool);\n\tvoid (*pmc_writeb)(struct rzg2l_pinctrl *, u8, u16);\n\tu32 (*oen_read)(struct rzg2l_pinctrl *, unsigned int);\n\tint (*oen_write)(struct rzg2l_pinctrl *, unsigned int, u8);\n\tint (*hw_to_bias_param)(unsigned int);\n\tint (*bias_param_to_hw)(enum pin_config_param);\n};\n\nstruct rzg2l_pinctrl_pin_settings {\n\tu16 power_source;\n\tu16 drive_strength_ua;\n};\n\nstruct rzg2l_pinctrl_reg_cache {\n\tu8 *p;\n\tu16 *pm;\n\tu8 *pmc;\n\tu32 *pfc;\n\tu32 *iolh[2];\n\tu32 *ien[2];\n\tu8 sd_ch[2];\n\tu8 eth_poc[2];\n\tu8 eth_mode;\n\tu8 qspi;\n};\n\nstruct rzg2l_pll5_param {\n\tu32 pl5_fracin;\n\tu8 pl5_refdiv;\n\tu8 pl5_intin;\n\tu8 pl5_postdiv1;\n\tu8 pl5_postdiv2;\n\tu8 pl5_spread;\n};\n\nstruct rzg2l_reset {\n\tu16 off;\n\tu8 bit;\n\ts8 monbit;\n};\n\nstruct rzg2l_thermal_priv {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct thermal_zone_device *zone;\n\tstruct reset_control *rstc;\n\tu32 calib0;\n\tu32 calib1;\n};\n\nstruct rzg2l_usbphy_ctrl_priv {\n\tstruct reset_controller_dev rcdev;\n\tstruct reset_control *rstc;\n\tvoid *base;\n\tstruct platform_device *vdev;\n\tspinlock_t lock;\n};\n\nstruct rzg2l_wdt_priv {\n\tvoid *base;\n\tstruct watchdog_device wdev;\n\tstruct reset_control *rstc;\n\tlong unsigned int osc_clk_rate;\n\tlong unsigned int delay;\n\tstruct clk *pclk;\n\tstruct clk *osc_clk;\n\tenum rz_wdt_type devtype;\n};\n\nstruct rzv2h_mod_clk;\n\nstruct rzv2h_reset;\n\nstruct rzv2h_cpg_info {\n\tconst struct cpg_core_clk___2 *core_clks;\n\tunsigned int num_core_clks;\n\tunsigned int last_dt_core_clk;\n\tunsigned int num_total_core_clks;\n\tconst struct rzv2h_mod_clk *mod_clks;\n\tunsigned int num_mod_clks;\n\tunsigned int num_hw_mod_clks;\n\tconst struct rzv2h_reset *resets;\n\tunsigned int num_resets;\n\tunsigned int num_mstop_bits;\n};\n\nstruct rzv2h_cpg_pd {\n\tstruct rzv2h_cpg_priv *priv;\n\tstruct generic_pm_domain genpd;\n};\n\nstruct rzv2h_cpg_priv {\n\tstruct device *dev;\n\tvoid *base;\n\tspinlock_t rmw_lock;\n\tstruct clk **clks;\n\tunsigned int num_core_clks;\n\tunsigned int num_mod_clks;\n\tstruct rzv2h_reset *resets;\n\tunsigned int num_resets;\n\tunsigned int last_dt_core_clk;\n\tatomic_t *mstop_count;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct rzv2h_icu_priv {\n\tvoid *base;\n\tconst struct irq_chip *irqchip;\n\tstruct irq_fwspec fwspec[49];\n\traw_spinlock_t lock;\n};\n\nstruct rzv2h_mod_clk {\n\tconst char *name;\n\tu32 mstop_data;\n\tu16 parent;\n\tbool critical;\n\tbool no_pm;\n\tu8 on_index;\n\tu8 on_bit;\n\ts8 mon_index;\n\tu8 mon_bit;\n};\n\nstruct rzv2h_reset {\n\tu8 reset_index;\n\tu8 reset_bit;\n\tu8 mon_index;\n\tu8 mon_bit;\n};\n\nstruct rzv2h_wdt_priv {\n\tvoid *base;\n\tstruct clk *pclk;\n\tstruct clk *oscclk;\n\tstruct reset_control *rstc;\n\tstruct watchdog_device wdev;\n};\n\nstruct rzv2m_dedicated_configs {\n\tconst char *name;\n\tu32 config;\n};\n\nstruct rzv2m_pinctrl_data;\n\nstruct rzv2m_pinctrl {\n\tstruct pinctrl_dev *pctl;\n\tstruct pinctrl_desc desc;\n\tstruct pinctrl_pin_desc *pins;\n\tconst struct rzv2m_pinctrl_data *data;\n\tvoid *base;\n\tstruct device *dev;\n\tstruct gpio_chip gpio_chip;\n\tstruct pinctrl_gpio_range gpio_range;\n\tspinlock_t lock;\n\tstruct mutex mutex;\n};\n\nstruct rzv2m_pinctrl_data {\n\tconst char * const *port_pins;\n\tconst u32 *port_pin_configs;\n\tconst struct rzv2m_dedicated_configs *dedicated_pins;\n\tunsigned int n_port_pins;\n\tunsigned int n_dedicated_pins;\n};\n\nstruct rzv2m_pwc_priv {\n\tvoid *base;\n\tstruct device *dev;\n\tstruct gpio_chip gp;\n\tlong unsigned int ch_en_bits[1];\n};\n\nstruct rzv2m_usb3drd {\n\tvoid *reg;\n\tint drd_irq;\n\tstruct device *dev;\n\tstruct reset_control *drd_rstc;\n};\n\nstruct s1_walk_info {\n\tu64 baddr;\n\tenum trans_regime regime;\n\tunsigned int max_oa_bits;\n\tunsigned int pgshift;\n\tunsigned int txsz;\n\tint sl;\n\tbool hpd;\n\tbool e0poe;\n\tbool poe;\n\tbool pan;\n\tbool be;\n\tbool s2;\n};\n\nstruct s1_walk_result {\n\tunion {\n\t\tstruct {\n\t\t\tu64 desc;\n\t\t\tu64 pa;\n\t\t\ts8 level;\n\t\t\tu8 APTable;\n\t\t\tbool UXNTable;\n\t\t\tbool PXNTable;\n\t\t\tbool uwxn;\n\t\t\tbool uov;\n\t\t\tbool ur;\n\t\t\tbool uw;\n\t\t\tbool ux;\n\t\t\tbool pwxn;\n\t\t\tbool pov;\n\t\t\tbool pr;\n\t\t\tbool pw;\n\t\t\tbool px;\n\t\t};\n\t\tstruct {\n\t\t\tu8 fst;\n\t\t\tbool ptw;\n\t\t\tbool s2;\n\t\t};\n\t};\n\tbool failed;\n};\n\nstruct s2_walk_info {\n\tint (*read_desc)(phys_addr_t, u64 *, void *);\n\tvoid *data;\n\tu64 baddr;\n\tunsigned int max_oa_bits;\n\tunsigned int pgshift;\n\tunsigned int sl;\n\tunsigned int t0sz;\n\tbool be;\n};\n\nstruct sec_pmic_dev;\n\nstruct s2mps11_clk {\n\tstruct sec_pmic_dev *iodev;\n\tstruct device_node *clk_np;\n\tstruct clk_hw hw;\n\tstruct clk *clk;\n\tstruct clk_lookup *lookup;\n\tu32 mask;\n\tunsigned int reg;\n};\n\nstruct s2mps11_info {\n\tint ramp_delay2;\n\tint ramp_delay34;\n\tint ramp_delay5;\n\tint ramp_delay16;\n\tint ramp_delay7810;\n\tint ramp_delay9;\n\tenum sec_device_type dev_type;\n\tlong unsigned int suspend_state[1];\n\tstruct gpio_desc **ext_control_gpiod;\n};\n\nstruct s3_save {\n\tu32 command;\n\tu32 dev_nt;\n\tu64 dcbaa_ptr;\n\tu32 config_reg;\n};\n\nstruct s3c2410_platform_i2c {\n\tint bus_num;\n\tunsigned int flags;\n\tunsigned int slave_addr;\n\tlong unsigned int frequency;\n\tunsigned int sda_delay;\n\tvoid (*cfg_gpio)(struct platform_device *);\n};\n\nstruct s3c2410_ts_mach_info {\n\tint delay;\n\tint presc;\n\tint oversampling_shift;\n\tvoid (*cfg_gpio)(struct platform_device *);\n};\n\nstruct s3c2410_uartcfg {\n\tunsigned char hwport;\n\tunsigned char unused;\n\tshort unsigned int flags;\n\tupf_t uart_flags;\n\tunsigned int clk_sel;\n\tunsigned int has_fracval;\n\tlong unsigned int ucon;\n\tlong unsigned int ulcon;\n\tlong unsigned int ufcon;\n};\n\nstruct s3c2410_wdt_variant;\n\nstruct s3c2410_wdt {\n\tstruct device *dev;\n\tstruct clk *bus_clk;\n\tstruct clk *src_clk;\n\tvoid *reg_base;\n\tunsigned int count;\n\tspinlock_t lock;\n\tlong unsigned int wtcon_save;\n\tlong unsigned int wtdat_save;\n\tstruct watchdog_device wdt_device;\n\tstruct notifier_block freq_transition;\n\tconst struct s3c2410_wdt_variant *drv_data;\n\tstruct regmap *pmureg;\n};\n\nstruct s3c2410_wdt_variant {\n\tint disable_reg;\n\tint mask_reset_reg;\n\tbool mask_reset_inv;\n\tint mask_bit;\n\tint rst_stat_reg;\n\tint rst_stat_bit;\n\tint cnt_en_reg;\n\tint cnt_en_bit;\n\tu32 quirks;\n};\n\nstruct s3c24xx_i2c {\n\twait_queue_head_t wait;\n\tkernel_ulong_t quirks;\n\tstruct i2c_msg *msg;\n\tunsigned int msg_num;\n\tunsigned int msg_idx;\n\tunsigned int msg_ptr;\n\tunsigned int tx_setup;\n\tunsigned int irq;\n\tenum s3c24xx_i2c_state state;\n\tlong unsigned int clkrate;\n\tvoid *regs;\n\tstruct clk *clk;\n\tstruct device *dev;\n\tstruct i2c_adapter adap;\n\tstruct s3c2410_platform_i2c *pdata;\n\tstruct gpio_desc *gpios[2];\n\tstruct pinctrl *pctrl;\n\tstruct regmap *sysreg;\n\tunsigned int sys_i2c_cfg;\n};\n\nstruct s3c24xx_uart_info {\n\tconst char *name;\n\tenum s3c24xx_port_type type;\n\tunsigned int port_type;\n\tunsigned int fifosize;\n\tu32 rx_fifomask;\n\tu32 rx_fifoshift;\n\tu32 rx_fifofull;\n\tu32 tx_fifomask;\n\tu32 tx_fifoshift;\n\tu32 tx_fifofull;\n\tu32 clksel_mask;\n\tu32 clksel_shift;\n\tu32 ucon_mask;\n\tu8 def_clk_sel;\n\tu8 num_clks;\n\tu8 iotype;\n\tbool has_divslot;\n};\n\nstruct s3c24xx_serial_drv_data {\n\tconst struct s3c24xx_uart_info info;\n\tconst struct s3c2410_uartcfg def_cfg;\n\tconst unsigned int fifosize[12];\n};\n\nstruct s3c24xx_uart_dma {\n\tunsigned int rx_chan_id;\n\tunsigned int tx_chan_id;\n\tstruct dma_slave_config rx_conf;\n\tstruct dma_slave_config tx_conf;\n\tstruct dma_chan *rx_chan;\n\tstruct dma_chan *tx_chan;\n\tdma_addr_t rx_addr;\n\tdma_addr_t tx_addr;\n\tdma_cookie_t rx_cookie;\n\tdma_cookie_t tx_cookie;\n\tchar *rx_buf;\n\tdma_addr_t tx_transfer_addr;\n\tsize_t rx_size;\n\tsize_t tx_size;\n\tstruct dma_async_tx_descriptor *tx_desc;\n\tstruct dma_async_tx_descriptor *rx_desc;\n\tint tx_bytes_requested;\n\tint rx_bytes_requested;\n};\n\nstruct s3c24xx_uart_port {\n\tunsigned char rx_enabled;\n\tunsigned char tx_enabled;\n\tunsigned int pm_level;\n\tlong unsigned int baudclk_rate;\n\tunsigned int min_dma_size;\n\tunsigned int rx_irq;\n\tunsigned int tx_irq;\n\tunsigned int tx_in_progress;\n\tunsigned int tx_mode;\n\tunsigned int rx_mode;\n\tconst struct s3c24xx_uart_info *info;\n\tstruct clk *clk;\n\tstruct clk *baudclk;\n\tstruct uart_port port;\n\tconst struct s3c24xx_serial_drv_data *drv_data;\n\tconst struct s3c2410_uartcfg *cfg;\n\tstruct s3c24xx_uart_dma *dma;\n};\n\nstruct s3c64xx_spi_csinfo {\n\tu8 fb_delay;\n};\n\nstruct s3c64xx_spi_dma_data {\n\tstruct dma_chan *ch;\n\tdma_cookie_t cookie;\n\tenum dma_transfer_direction direction;\n};\n\nstruct s3c64xx_spi_info;\n\nstruct s3c64xx_spi_port_config;\n\nstruct s3c64xx_spi_driver_data {\n\tvoid *regs;\n\tstruct clk *clk;\n\tstruct clk *src_clk;\n\tstruct clk *ioclk;\n\tstruct platform_device *pdev;\n\tstruct spi_controller *host;\n\tstruct s3c64xx_spi_info *cntrlr_info;\n\tspinlock_t lock;\n\tlong unsigned int sfr_start;\n\tstruct completion xfer_completion;\n\tunsigned int state;\n\tunsigned int cur_mode;\n\tunsigned int cur_bpw;\n\tunsigned int cur_speed;\n\tstruct s3c64xx_spi_dma_data rx_dma;\n\tstruct s3c64xx_spi_dma_data tx_dma;\n\tconst struct s3c64xx_spi_port_config *port_conf;\n\tunsigned int port_id;\n\tunsigned int fifo_depth;\n\tu32 rx_fifomask;\n\tu32 tx_fifomask;\n};\n\nstruct s3c64xx_spi_info {\n\tint src_clk_nr;\n\tint num_cs;\n\tbool no_cs;\n\tbool polling;\n\tint (*cfg_gpio)(void);\n};\n\nstruct s3c64xx_spi_port_config {\n\tint fifo_lvl_mask[12];\n\tint rx_lvl_offset;\n\tunsigned int fifo_depth;\n\tu32 rx_fifomask;\n\tu32 tx_fifomask;\n\tint tx_st_done;\n\tint quirks;\n\tint clk_div;\n\tbool high_speed;\n\tbool clk_from_cmu;\n\tbool clk_ioclk;\n\tbool has_loopback;\n\tbool use_32bit_io;\n};\n\nstruct s3c_rtc_data;\n\nstruct s3c_rtc {\n\tstruct device *dev;\n\tstruct rtc_device *rtc;\n\tvoid *base;\n\tstruct clk *rtc_clk;\n\tstruct clk *rtc_src_clk;\n\tbool alarm_enabled;\n\tconst struct s3c_rtc_data *data;\n\tint irq_alarm;\n\tspinlock_t alarm_lock;\n\tbool wake_en;\n};\n\nstruct s3c_rtc_data {\n\tbool needs_src_clk;\n\tvoid (*irq_handler)(struct s3c_rtc *, int);\n\tvoid (*enable)(struct s3c_rtc *);\n\tvoid (*disable)(struct s3c_rtc *);\n};\n\nstruct s5_hw_clk {\n\tstruct clk_hw hw;\n\tvoid *reg;\n};\n\nstruct s5_clk_data {\n\tvoid *base;\n\tstruct s5_hw_clk s5_hw[9];\n};\n\nstruct s5_pll_conf {\n\tlong unsigned int freq;\n\tu8 div;\n\tbool rot_ena;\n\tu8 rot_sel;\n\tu8 rot_dir;\n\tu8 pre_div;\n};\n\nstruct s5m_rtc_reg_config;\n\nstruct s5m_rtc_info {\n\tstruct device *dev;\n\tstruct i2c_client *i2c;\n\tstruct sec_pmic_dev *s5m87xx;\n\tstruct regmap *regmap;\n\tstruct rtc_device *rtc_dev;\n\tint irq;\n\tenum sec_device_type device_type;\n\tint rtc_24hr_mode;\n\tconst struct s5m_rtc_reg_config *regs;\n};\n\nstruct s5m_rtc_reg_config {\n\tunsigned int regs_count;\n\tunsigned int time;\n\tunsigned int ctrl;\n\tunsigned int alarm0;\n\tunsigned int alarm1;\n\tunsigned int udr_update;\n\tunsigned int autoclear_udr_mask;\n\tunsigned int read_time_udr_mask;\n\tunsigned int write_time_udr_mask;\n\tunsigned int write_alarm_udr_mask;\n};\n\nstruct s_data {\n\tstruct sched_domain **sd;\n\tstruct root_domain *rd;\n};\n\nstruct samsung_pll_rate_table;\n\nstruct samsung_clk_pll {\n\tstruct clk_hw hw;\n\tvoid *lock_reg;\n\tvoid *con_reg;\n\tshort unsigned int enable_offs;\n\tshort unsigned int lock_offs;\n\tenum samsung_pll_type type;\n\tunsigned int rate_count;\n\tconst struct samsung_pll_rate_table *rate_table;\n};\n\nstruct samsung_clk_provider {\n\tvoid *reg_base;\n\tstruct device *dev;\n\tspinlock_t lock;\n\tstruct clk_hw_onecell_data clk_data;\n};\n\nstruct samsung_clk_reg_dump {\n\tu32 offset;\n\tu32 value;\n};\n\nstruct samsung_clock_alias {\n\tunsigned int id;\n\tconst char *dev_name;\n\tconst char *alias;\n};\n\nstruct samsung_clock_reg_cache {\n\tstruct list_head node;\n\tvoid *reg_base;\n\tstruct samsung_clk_reg_dump *rdump;\n\tunsigned int rd_num;\n\tconst struct samsung_clk_reg_dump *rsuspend;\n\tunsigned int rsuspend_num;\n};\n\nstruct samsung_pll_clock;\n\nstruct samsung_mux_clock;\n\nstruct samsung_div_clock;\n\nstruct samsung_gate_clock;\n\nstruct samsung_fixed_rate_clock;\n\nstruct samsung_fixed_factor_clock;\n\nstruct samsung_cpu_clock;\n\nstruct samsung_cmu_info {\n\tconst struct samsung_pll_clock *pll_clks;\n\tunsigned int nr_pll_clks;\n\tconst struct samsung_mux_clock *mux_clks;\n\tunsigned int nr_mux_clks;\n\tconst struct samsung_div_clock *div_clks;\n\tunsigned int nr_div_clks;\n\tconst struct samsung_gate_clock *gate_clks;\n\tunsigned int nr_gate_clks;\n\tconst struct samsung_fixed_rate_clock *fixed_clks;\n\tunsigned int nr_fixed_clks;\n\tconst struct samsung_fixed_factor_clock *fixed_factor_clks;\n\tunsigned int nr_fixed_factor_clks;\n\tunsigned int nr_clk_ids;\n\tconst struct samsung_cpu_clock *cpu_clks;\n\tunsigned int nr_cpu_clks;\n\tconst long unsigned int *clk_regs;\n\tunsigned int nr_clk_regs;\n\tconst struct samsung_clk_reg_dump *suspend_regs;\n\tunsigned int nr_suspend_regs;\n\tconst char *clk_name;\n\tbool manual_plls;\n};\n\nstruct samsung_cpu_clock {\n\tunsigned int id;\n\tconst char *name;\n\tunsigned int parent_id;\n\tunsigned int alt_parent_id;\n\tlong unsigned int flags;\n\tint offset;\n\tenum exynos_cpuclk_layout reg_layout;\n\tconst struct exynos_cpuclk_cfg_data *cfg;\n};\n\nstruct samsung_div_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 shift;\n\tu8 width;\n\tu8 div_flags;\n\tstruct clk_div_table *table;\n};\n\nstruct samsung_early_console_data {\n\tu32 txfull_mask;\n\tu32 rxfifo_mask;\n};\n\nstruct samsung_fixed_factor_clock {\n\tunsigned int id;\n\tchar *name;\n\tconst char *parent_name;\n\tlong unsigned int mult;\n\tlong unsigned int div;\n\tlong unsigned int flags;\n};\n\nstruct samsung_fixed_rate_clock {\n\tunsigned int id;\n\tchar *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tlong unsigned int fixed_rate;\n};\n\nstruct samsung_gate_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 bit_idx;\n\tu8 gate_flags;\n};\n\nstruct samsung_mux_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char * const *parent_names;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 shift;\n\tu8 width;\n\tu8 mux_flags;\n};\n\nstruct samsung_pin_bank_type;\n\nstruct samsung_pin_bank {\n\tconst struct samsung_pin_bank_type *type;\n\tvoid *pctl_base;\n\tu32 pctl_offset;\n\tu8 nr_pins;\n\tvoid *eint_base;\n\tu8 eint_func;\n\tenum eint_type eint_type;\n\tu32 eint_mask;\n\tu32 eint_offset;\n\tu32 eint_con_offset;\n\tu32 eint_mask_offset;\n\tu32 eint_pend_offset;\n\tconst char *name;\n\tu32 id;\n\tu32 pin_base;\n\tvoid *soc_priv;\n\tstruct fwnode_handle *fwnode;\n\tstruct samsung_pinctrl_drv_data *drvdata;\n\tstruct irq_domain *irq_domain;\n\tstruct gpio_chip gpio_chip;\n\tstruct pinctrl_gpio_range grange;\n\tstruct exynos_irq_chip *irq_chip;\n\traw_spinlock_t slock;\n\tu32 pm_save[7];\n};\n\nstruct samsung_pin_bank_data {\n\tconst struct samsung_pin_bank_type *type;\n\tu32 pctl_offset;\n\tu8 pctl_res_idx;\n\tu8 nr_pins;\n\tu8 eint_func;\n\tenum eint_type eint_type;\n\tu32 eint_mask;\n\tu32 eint_offset;\n\tu32 eint_con_offset;\n\tu32 eint_mask_offset;\n\tu32 eint_pend_offset;\n\tconst char *name;\n};\n\nstruct samsung_pin_bank_type {\n\tu8 fld_width[6];\n\tu8 reg_offset[6];\n};\n\nstruct samsung_retention_data;\n\nstruct samsung_pin_ctrl {\n\tconst struct samsung_pin_bank_data *pin_banks;\n\tunsigned int nr_banks;\n\tunsigned int nr_ext_resources;\n\tconst struct samsung_retention_data *retention_data;\n\tint (*eint_gpio_init)(struct samsung_pinctrl_drv_data *);\n\tint (*eint_wkup_init)(struct samsung_pinctrl_drv_data *);\n\tvoid (*pud_value_init)(struct samsung_pinctrl_drv_data *);\n\tvoid (*suspend)(struct samsung_pinctrl_drv_data *);\n\tvoid (*resume)(struct samsung_pinctrl_drv_data *);\n};\n\nstruct samsung_pin_group {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tu8 num_pins;\n\tu8 func;\n};\n\nstruct samsung_pmx_func;\n\nstruct samsung_retention_ctrl;\n\nstruct samsung_pinctrl_drv_data {\n\tstruct list_head node;\n\tvoid *virt_base;\n\tstruct device *dev;\n\tint irq;\n\tstruct clk *pclk;\n\tstruct pinctrl_desc pctl;\n\tstruct pinctrl_dev *pctl_dev;\n\tconst struct samsung_pin_group *pin_groups;\n\tunsigned int nr_groups;\n\tconst struct samsung_pmx_func *pmx_functions;\n\tunsigned int nr_functions;\n\tstruct samsung_pin_bank *pin_banks;\n\tunsigned int nr_banks;\n\tunsigned int nr_pins;\n\tunsigned int pud_val[3];\n\tstruct samsung_retention_ctrl *retention_ctrl;\n\tvoid (*suspend)(struct samsung_pinctrl_drv_data *);\n\tvoid (*resume)(struct samsung_pinctrl_drv_data *);\n};\n\nstruct samsung_pinctrl_of_match_data {\n\tconst struct samsung_pin_ctrl *ctrl;\n\tunsigned int num_ctrl;\n};\n\nstruct samsung_pll_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tlong unsigned int flags;\n\tint con_offset;\n\tint lock_offset;\n\tenum samsung_pll_type type;\n\tconst struct samsung_pll_rate_table *rate_table;\n};\n\nstruct samsung_pll_rate_table {\n\tunsigned int rate;\n\tunsigned int pdiv;\n\tunsigned int mdiv;\n\tunsigned int sdiv;\n\tunsigned int kdiv;\n\tunsigned int afc;\n\tunsigned int mfr;\n\tunsigned int mrr;\n\tunsigned int vsel;\n};\n\nstruct samsung_pmx_func {\n\tconst char *name;\n\tconst char **groups;\n\tu8 num_groups;\n\tu32 val;\n};\n\nstruct samsung_pwm_channel {\n\tu32 period_ns;\n\tu32 duty_ns;\n\tu32 tin_ns;\n};\n\nstruct samsung_pwm_variant {\n\tu8 bits;\n\tu8 div_base;\n\tu8 tclk_mask;\n\tu8 output_mask;\n\tbool has_tint_cstat;\n};\n\nstruct samsung_pwm_chip {\n\tstruct samsung_pwm_variant variant;\n\tu8 inverter_mask;\n\tu8 disabled_mask;\n\tvoid *base;\n\tstruct clk *base_clk;\n\tstruct clk *tclk0;\n\tstruct clk *tclk1;\n\tstruct samsung_pwm_channel channel[5];\n};\n\nstruct samsung_retention_ctrl {\n\tconst u32 *regs;\n\tint nr_regs;\n\tu32 value;\n\tatomic_t *refcnt;\n\tvoid *priv;\n\tvoid (*enable)(struct samsung_pinctrl_drv_data *);\n\tvoid (*disable)(struct samsung_pinctrl_drv_data *);\n};\n\nstruct samsung_retention_data {\n\tconst u32 *regs;\n\tint nr_regs;\n\tu32 value;\n\tatomic_t *refcnt;\n\tstruct samsung_retention_ctrl * (*init)(struct samsung_pinctrl_drv_data *, const struct samsung_retention_data *);\n};\n\nstruct samsung_ufs_phy_pmu_isol {\n\tu32 offset;\n\tu32 mask;\n\tu32 en;\n};\n\nstruct samsung_ufs_phy_drvdata;\n\nstruct samsung_ufs_phy_cfg;\n\nstruct samsung_ufs_phy {\n\tstruct device *dev;\n\tvoid *reg_pma;\n\tstruct regmap *reg_pmu;\n\tstruct clk_bulk_data *clks;\n\tconst struct samsung_ufs_phy_drvdata *drvdata;\n\tconst struct samsung_ufs_phy_cfg * const *cfgs;\n\tstruct samsung_ufs_phy_pmu_isol isol;\n\tu8 lane_cnt;\n\tint ufs_phy_state;\n\tenum phy_mode mode;\n};\n\nstruct samsung_ufs_phy_cfg {\n\tu32 off_0;\n\tu32 off_1;\n\tu32 val;\n\tu8 desc;\n\tu8 id;\n};\n\nstruct samsung_ufs_phy_drvdata {\n\tconst struct samsung_ufs_phy_cfg **cfgs;\n\tstruct samsung_ufs_phy_pmu_isol isol;\n\tconst char * const *clk_list;\n\tint num_clks;\n\tu32 cdr_lock_status_offset;\n\tint (*wait_for_cal)(struct phy *, u8);\n\tint (*wait_for_cdr)(struct phy *, u8);\n};\n\nstruct samsung_usb2_phy_instance;\n\nstruct samsung_usb2_common_phy {\n\tint (*power_on)(struct samsung_usb2_phy_instance *);\n\tint (*power_off)(struct samsung_usb2_phy_instance *);\n\tunsigned int id;\n\tchar *label;\n};\n\nstruct samsung_usb2_phy_config {\n\tconst struct samsung_usb2_common_phy *phys;\n\tint (*rate_to_clk)(long unsigned int, u32 *);\n\tunsigned int num_phys;\n\tbool has_mode_switch;\n\tbool has_refclk_sel;\n};\n\nstruct samsung_usb2_phy_driver;\n\nstruct samsung_usb2_phy_instance {\n\tconst struct samsung_usb2_common_phy *cfg;\n\tstruct phy *phy;\n\tstruct samsung_usb2_phy_driver *drv;\n\tint int_cnt;\n\tint ext_cnt;\n};\n\nstruct samsung_usb2_phy_driver {\n\tconst struct samsung_usb2_phy_config *cfg;\n\tstruct clk *clk;\n\tstruct clk *ref_clk;\n\tstruct regulator *vbus;\n\tlong unsigned int ref_rate;\n\tu32 ref_reg_val;\n\tstruct device *dev;\n\tvoid *reg_phy;\n\tstruct regmap *reg_pmu;\n\tstruct regmap *reg_sys;\n\tspinlock_t lock;\n\tstruct samsung_usb2_phy_instance instances[0];\n};\n\nstruct sas_ata_task {\n\tstruct host_to_dev_fis fis;\n\tu8 atapi_packet[16];\n\tu8 dma_xfer: 1;\n\tu8 use_ncq: 1;\n\tu8 return_fis_on_success: 1;\n\tu8 device_control_reg_update: 1;\n\tbool force_phy;\n\tint force_phy_id;\n};\n\nstruct sas_domain_function_template {\n\tvoid (*lldd_port_formed)(struct asd_sas_phy *);\n\tvoid (*lldd_port_deformed)(struct asd_sas_phy *);\n\tint (*lldd_dev_found)(struct domain_device *);\n\tvoid (*lldd_dev_gone)(struct domain_device *);\n\tint (*lldd_execute_task)(struct sas_task *, gfp_t);\n\tint (*lldd_abort_task)(struct sas_task *);\n\tint (*lldd_abort_task_set)(struct domain_device *, u8 *);\n\tint (*lldd_clear_task_set)(struct domain_device *, u8 *);\n\tint (*lldd_I_T_nexus_reset)(struct domain_device *);\n\tint (*lldd_ata_check_ready)(struct domain_device *);\n\tvoid (*lldd_ata_set_dmamode)(struct domain_device *);\n\tint (*lldd_lu_reset)(struct domain_device *, u8 *);\n\tint (*lldd_query_task)(struct sas_task *);\n\tvoid (*lldd_tmf_exec_complete)(struct domain_device *);\n\tvoid (*lldd_tmf_aborted)(struct sas_task *);\n\tbool (*lldd_abort_timeout)(struct sas_task *, void *);\n\tint (*lldd_clear_nexus_port)(struct asd_sas_port *);\n\tint (*lldd_clear_nexus_ha)(struct sas_ha_struct *);\n\tint (*lldd_control_phy)(struct asd_sas_phy *, enum phy_func, void *);\n\tint (*lldd_write_gpio)(struct sas_ha_struct *, u8, u8, u8, u8 *);\n};\n\nstruct sas_rphy {\n\tstruct device dev;\n\tstruct sas_identify identify;\n\tstruct list_head list;\n\tstruct request_queue *q;\n\tu32 scsi_target_id;\n};\n\nstruct sas_end_device {\n\tstruct sas_rphy rphy;\n\tunsigned int ready_led_meaning: 1;\n\tunsigned int tlr_supported: 1;\n\tunsigned int tlr_enabled: 1;\n\tu16 I_T_nexus_loss_timeout;\n\tu16 initiator_response_timeout;\n};\n\nstruct sas_expander_device {\n\tint level;\n\tint next_port_id;\n\tchar vendor_id[9];\n\tchar product_id[17];\n\tchar product_rev[5];\n\tchar component_vendor_id[9];\n\tu16 component_id;\n\tu8 component_revision_id;\n\tstruct sas_rphy rphy;\n};\n\nstruct sas_function_template {\n\tint (*get_linkerrors)(struct sas_phy *);\n\tint (*get_enclosure_identifier)(struct sas_rphy *, u64 *);\n\tint (*get_bay_identifier)(struct sas_rphy *);\n\tint (*phy_reset)(struct sas_phy *, int);\n\tint (*phy_enable)(struct sas_phy *, int);\n\tint (*phy_setup)(struct sas_phy *);\n\tvoid (*phy_release)(struct sas_phy *);\n\tint (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *);\n\tvoid (*smp_handler)(struct bsg_job *, struct Scsi_Host *, struct sas_rphy *);\n};\n\nstruct sas_host_attrs {\n\tstruct list_head rphy_list;\n\tstruct mutex lock;\n\tstruct request_queue *q;\n\tu32 next_target_id;\n\tu32 next_expander_id;\n\tint next_port_id;\n};\n\nstruct sas_identify_frame {\n\tu8 frame_type: 4;\n\tu8 dev_type: 3;\n\tu8 _un0: 1;\n\tu8 _un1;\n\tunion {\n\t\tstruct {\n\t\t\tu8 _un20: 1;\n\t\t\tu8 smp_iport: 1;\n\t\t\tu8 stp_iport: 1;\n\t\t\tu8 ssp_iport: 1;\n\t\t\tu8 _un247: 4;\n\t\t};\n\t\tu8 initiator_bits;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu8 _un30: 1;\n\t\t\tu8 smp_tport: 1;\n\t\t\tu8 stp_tport: 1;\n\t\t\tu8 ssp_tport: 1;\n\t\t\tu8 _un347: 4;\n\t\t};\n\t\tu8 target_bits;\n\t};\n\tu8 _un4_11[8];\n\tu8 sas_addr[8];\n\tu8 phy_id;\n\tu8 _un21_27[7];\n\t__be32 crc;\n};\n\nstruct sas_internal {\n\tstruct scsi_transport_template t;\n\tstruct sas_function_template *f;\n\tstruct sas_domain_function_template *dft;\n\tstruct device_attribute private_host_attrs[0];\n\tstruct device_attribute private_phy_attrs[17];\n\tstruct device_attribute private_port_attrs[1];\n\tstruct device_attribute private_rphy_attrs[8];\n\tstruct device_attribute private_end_dev_attrs[5];\n\tstruct device_attribute private_expander_attrs[7];\n\tstruct transport_container phy_attr_cont;\n\tstruct transport_container port_attr_cont;\n\tstruct transport_container rphy_attr_cont;\n\tstruct transport_container end_dev_attr_cont;\n\tstruct transport_container expander_attr_cont;\n\tstruct device_attribute *host_attrs[1];\n\tstruct device_attribute *phy_attrs[18];\n\tstruct device_attribute *port_attrs[2];\n\tstruct device_attribute *rphy_attrs[9];\n\tstruct device_attribute *end_dev_attrs[6];\n\tstruct device_attribute *expander_attrs[8];\n};\n\nstruct sas_internal_abort_task {\n\tenum sas_internal_abort type;\n\tunsigned int qid;\n\tu16 tag;\n};\n\nstruct sas_phy {\n\tstruct device dev;\n\tint number;\n\tint enabled;\n\tstruct sas_identify identify;\n\tenum sas_linkrate negotiated_linkrate;\n\tenum sas_linkrate minimum_linkrate_hw;\n\tenum sas_linkrate minimum_linkrate;\n\tenum sas_linkrate maximum_linkrate_hw;\n\tenum sas_linkrate maximum_linkrate;\n\tu32 invalid_dword_count;\n\tu32 running_disparity_error_count;\n\tu32 loss_of_dword_sync_count;\n\tu32 phy_reset_problem_count;\n\tstruct list_head port_siblings;\n\tvoid *hostdata;\n};\n\nstruct sas_phy_data {\n\tstruct sas_phy *phy;\n\tstruct mutex event_lock;\n\tint hard_reset;\n\tint reset_result;\n\tstruct sas_work reset_work;\n\tint enable;\n\tint enable_result;\n\tstruct sas_work enable_work;\n};\n\nstruct sas_phy_linkrates {\n\tenum sas_linkrate maximum_linkrate;\n\tenum sas_linkrate minimum_linkrate;\n};\n\nstruct sas_port {\n\tstruct device dev;\n\tint port_identifier;\n\tint num_phys;\n\tunsigned int is_backlink: 1;\n\tstruct sas_rphy *rphy;\n\tstruct mutex phy_list_mutex;\n\tstruct list_head phy_list;\n\tstruct list_head del_list;\n};\n\nstruct sas_smp_task {\n\tstruct scatterlist smp_req;\n\tstruct scatterlist smp_resp;\n};\n\nstruct sas_ssp_task {\n\tu8 LUN[8];\n\tenum task_attribute task_attr;\n\tstruct scsi_cmnd *cmd;\n};\n\nstruct task_status_struct {\n\tenum service_response resp;\n\tenum exec_status stat;\n\tint buf_valid_size;\n\tu8 buf[96];\n\tu32 residual;\n\tenum sas_open_rej_reason open_rej_reason;\n};\n\nstruct sas_task_slow;\n\nstruct sas_task {\n\tstruct domain_device *dev;\n\tspinlock_t task_state_lock;\n\tunsigned int task_state_flags;\n\tenum sas_protocol task_proto;\n\tunion {\n\t\tstruct sas_ata_task ata_task;\n\t\tstruct sas_smp_task smp_task;\n\t\tstruct sas_ssp_task ssp_task;\n\t\tstruct sas_internal_abort_task abort_task;\n\t};\n\tstruct scatterlist *scatter;\n\tint num_scatter;\n\tu32 total_xfer_len;\n\tu8 data_dir: 2;\n\tstruct task_status_struct task_status;\n\tvoid (*task_done)(struct sas_task *);\n\tvoid *lldd_task;\n\tvoid *uldd_task;\n\tstruct sas_task_slow *slow_task;\n\tstruct sas_tmf_task *tmf;\n};\n\nstruct sas_task_slow {\n\tstruct timer_list timer;\n\tstruct completion completion;\n\tstruct sas_task *task;\n};\n\nstruct sas_tmf_task {\n\tu8 tmf;\n\tu16 tag_of_task_to_be_managed;\n};\n\nstruct sata_rcar_priv {\n\tvoid *base;\n\tu32 sataint_mask;\n\tenum sata_rcar_type type;\n};\n\nstruct saved_alias {\n\tstruct kmem_cache *s;\n\tconst char *name;\n\tstruct saved_alias *next;\n};\n\nstruct saved_cmdlines_buffer {\n\tunsigned int map_pid_to_cmdline[32769];\n\tunsigned int *map_cmdline_to_pid;\n\tunsigned int cmdline_num;\n\tint cmdline_idx;\n\tchar saved_cmdlines[0];\n};\n\nstruct saved_syn {\n\tu32 mac_hdrlen;\n\tu32 network_hdrlen;\n\tu32 tcp_hdrlen;\n\tu8 data[0];\n};\n\nstruct sb_writers {\n\tshort unsigned int frozen;\n\tint freeze_kcount;\n\tint freeze_ucount;\n\tstruct percpu_rw_semaphore rw_sem[3];\n};\n\nstruct sbitmap_word {\n\tlong unsigned int word;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int cleared;\n\traw_spinlock_t swap_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbq_wait_state {\n\twait_queue_head_t wait;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbsa_gwdt {\n\tstruct watchdog_device wdd;\n\tu32 clk;\n\tint version;\n\tvoid *refresh_base;\n\tvoid *control_base;\n};\n\nstruct scale_freq_data {\n\tenum scale_freq_source source;\n\tvoid (*set_freq_scale)(void);\n};\n\nstruct scan_control {\n\tlong unsigned int nr_to_reclaim;\n\tnodemask_t *nodemask;\n\tstruct mem_cgroup *target_mem_cgroup;\n\tlong unsigned int anon_cost;\n\tlong unsigned int file_cost;\n\tint *proactive_swappiness;\n\tunsigned int may_deactivate: 2;\n\tunsigned int force_deactivate: 1;\n\tunsigned int skipped_deactivate: 1;\n\tunsigned int may_writepage: 1;\n\tunsigned int may_unmap: 1;\n\tunsigned int may_swap: 1;\n\tunsigned int no_cache_trim_mode: 1;\n\tunsigned int cache_trim_mode_failed: 1;\n\tunsigned int proactive: 1;\n\tunsigned int memcg_low_reclaim: 1;\n\tunsigned int memcg_low_skipped: 1;\n\tunsigned int memcg_full_walk: 1;\n\tunsigned int hibernation_mode: 1;\n\tunsigned int compaction_ready: 1;\n\tunsigned int cache_trim_mode: 1;\n\tunsigned int file_is_tiny: 1;\n\tunsigned int no_demotion: 1;\n\ts8 order;\n\ts8 priority;\n\ts8 reclaim_idx;\n\tgfp_t gfp_mask;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tstruct {\n\t\tunsigned int dirty;\n\t\tunsigned int unqueued_dirty;\n\t\tunsigned int congested;\n\t\tunsigned int writeback;\n\t\tunsigned int immediate;\n\t\tunsigned int file_taken;\n\t\tunsigned int taken;\n\t} nr;\n\tstruct reclaim_state reclaim_state;\n};\n\nstruct scatter_walk {\n\tstruct scatterlist *sg;\n\tunsigned int offset;\n};\n\nstruct sch_frag_data {\n\tlong unsigned int dst;\n\tstruct qdisc_skb_cb cb;\n\t__be16 inner_protocol;\n\tu16 vlan_tci;\n\t__be16 vlan_proto;\n\tunsigned int l2_len;\n\tu8 l2_data[18];\n\tint (*xmit)(struct sk_buff *);\n};\n\nstruct sched_attr {\n\t__u32 size;\n\t__u32 sched_policy;\n\t__u64 sched_flags;\n\t__s32 sched_nice;\n\t__u32 sched_priority;\n\t__u64 sched_runtime;\n\t__u64 sched_deadline;\n\t__u64 sched_period;\n\t__u32 sched_util_min;\n\t__u32 sched_util_max;\n};\n\nstruct sched_class {\n\tvoid (*enqueue_task)(struct rq *, struct task_struct *, int);\n\tbool (*dequeue_task)(struct rq *, struct task_struct *, int);\n\tvoid (*yield_task)(struct rq *);\n\tbool (*yield_to_task)(struct rq *, struct task_struct *);\n\tvoid (*wakeup_preempt)(struct rq *, struct task_struct *, int);\n\tint (*balance)(struct rq *, struct task_struct *, struct rq_flags *);\n\tstruct task_struct * (*pick_task)(struct rq *);\n\tstruct task_struct * (*pick_next_task)(struct rq *, struct task_struct *);\n\tvoid (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *);\n\tvoid (*set_next_task)(struct rq *, struct task_struct *, bool);\n\tint (*select_task_rq)(struct task_struct *, int, int);\n\tvoid (*migrate_task_rq)(struct task_struct *, int);\n\tvoid (*task_woken)(struct rq *, struct task_struct *);\n\tvoid (*set_cpus_allowed)(struct task_struct *, struct affinity_context *);\n\tvoid (*rq_online)(struct rq *);\n\tvoid (*rq_offline)(struct rq *);\n\tstruct rq * (*find_lock_rq)(struct task_struct *, struct rq *);\n\tvoid (*task_tick)(struct rq *, struct task_struct *, int);\n\tvoid (*task_fork)(struct task_struct *);\n\tvoid (*task_dead)(struct task_struct *);\n\tvoid (*switching_to)(struct rq *, struct task_struct *);\n\tvoid (*switched_from)(struct rq *, struct task_struct *);\n\tvoid (*switched_to)(struct rq *, struct task_struct *);\n\tvoid (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *);\n\tvoid (*prio_changed)(struct rq *, struct task_struct *, int);\n\tunsigned int (*get_rr_interval)(struct rq *, struct task_struct *);\n\tvoid (*update_curr)(struct rq *);\n\tvoid (*task_change_group)(struct task_struct *);\n};\n\nstruct sched_group;\n\nstruct sched_domain_shared;\n\nstruct sched_domain {\n\tstruct sched_domain *parent;\n\tstruct sched_domain *child;\n\tstruct sched_group *groups;\n\tlong unsigned int min_interval;\n\tlong unsigned int max_interval;\n\tunsigned int busy_factor;\n\tunsigned int imbalance_pct;\n\tunsigned int cache_nice_tries;\n\tunsigned int imb_numa_nr;\n\tint nohz_idle;\n\tint flags;\n\tint level;\n\tlong unsigned int last_balance;\n\tunsigned int balance_interval;\n\tunsigned int nr_balance_failed;\n\tu64 max_newidle_lb_cost;\n\tlong unsigned int last_decay_max_lb_cost;\n\tchar *name;\n\tunion {\n\t\tvoid *private;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct sched_domain_shared *shared;\n\tunsigned int span_weight;\n\tlong unsigned int span[0];\n};\n\nstruct sched_domain_attr {\n\tint relax_domain_level;\n};\n\nstruct sched_domain_shared {\n\tatomic_t ref;\n\tatomic_t nr_busy_cpus;\n\tint has_idle_cores;\n\tint nr_idle_scan;\n};\n\ntypedef const struct cpumask * (*sched_domain_mask_f)(int);\n\ntypedef int (*sched_domain_flags_f)(void);\n\nstruct sched_group_capacity;\n\nstruct sd_data {\n\tstruct sched_domain **sd;\n\tstruct sched_domain_shared **sds;\n\tstruct sched_group **sg;\n\tstruct sched_group_capacity **sgc;\n};\n\nstruct sched_domain_topology_level {\n\tsched_domain_mask_f mask;\n\tsched_domain_flags_f sd_flags;\n\tint flags;\n\tint numa_level;\n\tstruct sd_data data;\n\tchar *name;\n};\n\nstruct sched_entity {\n\tstruct load_weight load;\n\tstruct rb_node run_node;\n\tu64 deadline;\n\tu64 min_vruntime;\n\tu64 min_slice;\n\tstruct list_head group_node;\n\tunsigned char on_rq;\n\tunsigned char sched_delayed;\n\tunsigned char rel_deadline;\n\tunsigned char custom_slice;\n\tu64 exec_start;\n\tu64 sum_exec_runtime;\n\tu64 prev_sum_exec_runtime;\n\tu64 vruntime;\n\ts64 vlag;\n\tu64 slice;\n\tu64 nr_migrations;\n\tint depth;\n\tstruct sched_entity *parent;\n\tstruct cfs_rq *cfs_rq;\n\tstruct cfs_rq *my_q;\n\tlong unsigned int runnable_weight;\n\tlong: 64;\n\tstruct sched_avg avg;\n};\n\nstruct sched_group {\n\tstruct sched_group *next;\n\tatomic_t ref;\n\tunsigned int group_weight;\n\tunsigned int cores;\n\tstruct sched_group_capacity *sgc;\n\tint asym_prefer_cpu;\n\tint flags;\n\tlong unsigned int cpumask[0];\n};\n\nstruct sched_group_capacity {\n\tatomic_t ref;\n\tlong unsigned int capacity;\n\tlong unsigned int min_capacity;\n\tlong unsigned int max_capacity;\n\tlong unsigned int next_update;\n\tint imbalance;\n\tlong unsigned int cpumask[0];\n};\n\nstruct sched_info {\n\tlong unsigned int pcount;\n\tlong long unsigned int run_delay;\n\tlong long unsigned int max_run_delay;\n\tlong long unsigned int min_run_delay;\n\tlong long unsigned int last_arrival;\n\tlong long unsigned int last_queued;\n};\n\nstruct sched_param {\n\tint sched_priority;\n};\n\nstruct sched_poll {\n\t__guest_handle_evtchn_port_t ports;\n\tunsigned int nr_ports;\n\tuint64_t timeout;\n};\n\nstruct sched_rt_entity {\n\tstruct list_head run_list;\n\tlong unsigned int timeout;\n\tlong unsigned int watchdog_stamp;\n\tunsigned int time_slice;\n\tshort unsigned int on_rq;\n\tshort unsigned int on_list;\n\tstruct sched_rt_entity *back;\n};\n\nstruct sched_shutdown {\n\tunsigned int reason;\n};\n\nstruct sched_statistics {};\n\nstruct sci_clk_provider;\n\nstruct sci_clk {\n\tstruct clk_hw hw;\n\tu16 dev_id;\n\tu32 clk_id;\n\tu32 num_parents;\n\tstruct sci_clk_provider *provider;\n\tu8 flags;\n\tstruct list_head node;\n\tlong unsigned int cached_req;\n\tlong unsigned int cached_res;\n};\n\nstruct ti_sci_clk_ops;\n\nstruct sci_clk_provider {\n\tconst struct ti_sci_handle *sci;\n\tconst struct ti_sci_clk_ops *ops;\n\tstruct device *dev;\n\tstruct sci_clk **clocks;\n\tint num_clocks;\n};\n\nstruct sci_irq_desc {\n\tconst char *desc;\n\tirq_handler_t handler;\n};\n\nstruct sci_port_params;\n\nstruct sci_port {\n\tstruct uart_port port;\n\tconst struct sci_port_params *params;\n\tconst struct plat_sci_port *cfg;\n\tunsigned int sampling_rate_mask;\n\tresource_size_t reg_size;\n\tstruct mctrl_gpios *gpios;\n\tstruct clk *clks[4];\n\tlong unsigned int clk_rates[4];\n\tint irqs[6];\n\tchar *irqstr[6];\n\tstruct dma_chan *chan_tx;\n\tstruct dma_chan *chan_rx;\n\tstruct dma_chan *chan_tx_saved;\n\tstruct dma_chan *chan_rx_saved;\n\tdma_cookie_t cookie_tx;\n\tdma_cookie_t cookie_rx[2];\n\tdma_cookie_t active_rx;\n\tdma_addr_t tx_dma_addr;\n\tunsigned int tx_dma_len;\n\tstruct scatterlist sg_rx[2];\n\tvoid *rx_buf[2];\n\tsize_t buf_len_rx;\n\tstruct work_struct work_tx;\n\tstruct hrtimer rx_timer;\n\tunsigned int rx_timeout;\n\tunsigned int rx_frame;\n\tint rx_trigger;\n\tstruct timer_list rx_fifo_timer;\n\tint rx_fifo_timeout;\n\tu16 hscif_tot;\n\tbool has_rtscts;\n\tbool autorts;\n\tbool tx_occurred;\n};\n\nstruct sci_port_params {\n\tconst struct plat_sci_reg regs[20];\n\tunsigned int fifosize;\n\tunsigned int overrun_reg;\n\tunsigned int overrun_mask;\n\tunsigned int sampling_rate_mask;\n\tunsigned int error_mask;\n\tunsigned int error_clear;\n};\n\nstruct scm_fp_list;\n\nstruct scm_cookie {\n\tstruct pid *pid;\n\tstruct scm_fp_list *fp;\n\tstruct scm_creds creds;\n};\n\nstruct unix_edge;\n\nstruct scm_fp_list {\n\tshort int count;\n\tshort int count_unix;\n\tshort int max;\n\tbool inflight;\n\tbool dead;\n\tstruct list_head vertices;\n\tstruct unix_edge *edges;\n\tstruct user_struct *user;\n\tstruct file *fp[253];\n};\n\nstruct scm_legacy_command {\n\t__le32 len;\n\t__le32 buf_offset;\n\t__le32 resp_hdr_offset;\n\t__le32 id;\n\t__le32 buf[0];\n};\n\nstruct scm_legacy_response {\n\t__le32 len;\n\t__le32 buf_offset;\n\t__le32 is_complete;\n};\n\nstruct scm_stat {\n\tatomic_t nr_fds;\n\tlong unsigned int nr_unix_fds;\n};\n\nstruct scm_timestamping {\n\tstruct __kernel_old_timespec ts[3];\n};\n\nstruct scm_timestamping64 {\n\tstruct __kernel_timespec ts[3];\n};\n\nstruct scm_timestamping_internal {\n\tstruct timespec64 ts[3];\n};\n\nstruct scm_ts_pktinfo {\n\t__u32 if_index;\n\t__u32 pkt_length;\n\t__u32 reserved[2];\n};\n\nstruct scmi_sensor_info;\n\nstruct scmi_apriv {\n\tbool any_axes_support_extended_names;\n\tstruct scmi_sensor_info *s;\n};\n\nstruct scmi_msg_resp_attrs {\n\t__le32 min_range_low;\n\t__le32 min_range_high;\n\t__le32 max_range_low;\n\t__le32 max_range_high;\n};\n\nstruct scmi_axis_descriptor {\n\t__le32 id;\n\t__le32 attributes_low;\n\t__le32 attributes_high;\n\tu8 name[16];\n\t__le32 resolution;\n\tstruct scmi_msg_resp_attrs attrs;\n};\n\nstruct scmi_base_error_notify_payld {\n\t__le32 agent_id;\n\t__le32 error_status;\n\t__le64 msg_reports[1024];\n};\n\nstruct scmi_base_error_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tbool fatal;\n\tunsigned int cmd_count;\n\tlong long unsigned int reports[0];\n};\n\nstruct scmi_handle;\n\nstruct scmi_chan_info {\n\tint id;\n\tstruct device *dev;\n\tbool is_p2a;\n\tunsigned int rx_timeout_ms;\n\tunsigned int max_msg_size;\n\tstruct scmi_handle *handle;\n\tbool no_completion_irq;\n\tvoid *transport_info;\n};\n\nstruct scmi_clk {\n\tu32 id;\n\tstruct device *dev;\n\tstruct clk_hw hw;\n\tconst struct scmi_clock_info *info;\n\tconst struct scmi_protocol_handle *ph;\n\tstruct clk_parent_data *parent_data;\n};\n\nstruct scmi_clk_ipriv {\n\tstruct device *dev;\n\tu32 clk_id;\n\tstruct scmi_clock_info *clk;\n};\n\nstruct scmi_clk_proto_ops {\n\tint (*count_get)(const struct scmi_protocol_handle *);\n\tconst struct scmi_clock_info * (*info_get)(const struct scmi_protocol_handle *, u32);\n\tint (*rate_get)(const struct scmi_protocol_handle *, u32, u64 *);\n\tint (*rate_set)(const struct scmi_protocol_handle *, u32, u64);\n\tint (*enable)(const struct scmi_protocol_handle *, u32, bool);\n\tint (*disable)(const struct scmi_protocol_handle *, u32, bool);\n\tint (*state_get)(const struct scmi_protocol_handle *, u32, bool *, bool);\n\tint (*config_oem_get)(const struct scmi_protocol_handle *, u32, enum scmi_clock_oem_config, u32 *, u32 *, bool);\n\tint (*config_oem_set)(const struct scmi_protocol_handle *, u32, enum scmi_clock_oem_config, u32, bool);\n\tint (*parent_get)(const struct scmi_protocol_handle *, u32, u32 *);\n\tint (*parent_set)(const struct scmi_protocol_handle *, u32, u32);\n};\n\nstruct scmi_clock_info {\n\tchar name[64];\n\tunsigned int enable_latency;\n\tbool rate_discrete;\n\tbool rate_changed_notifications;\n\tbool rate_change_requested_notifications;\n\tbool state_ctrl_forbidden;\n\tbool rate_ctrl_forbidden;\n\tbool parent_ctrl_forbidden;\n\tbool extended_config;\n\tunion {\n\t\tstruct {\n\t\t\tint num_rates;\n\t\t\tu64 rates[16];\n\t\t} list;\n\t\tstruct {\n\t\t\tu64 min_rate;\n\t\t\tu64 max_rate;\n\t\t\tu64 step_size;\n\t\t} range;\n\t};\n\tint num_parents;\n\tu32 *parents;\n};\n\nstruct scmi_clock_rate_notif_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int clock_id;\n\tlong long unsigned int rate;\n};\n\nstruct scmi_clock_rate_notify_payld {\n\t__le32 agent_id;\n\t__le32 clock_id;\n\t__le32 rate_low;\n\t__le32 rate_high;\n};\n\nstruct scmi_clock_set_rate {\n\t__le32 flags;\n\t__le32 id;\n\t__le32 value_low;\n\t__le32 value_high;\n};\n\nstruct scmi_data {\n\tint domain_id;\n\tint nr_opp;\n\tstruct device *cpu_dev;\n\tcpumask_var_t opp_shared_cpus;\n\tstruct notifier_block limit_notify_nb;\n\tstruct freq_qos_request limits_freq_req;\n};\n\nstruct scmi_debug_info {\n\tstruct dentry *top_dentry;\n\tconst char *name;\n\tconst char *type;\n\tbool is_atomic;\n\tatomic_t counters[14];\n};\n\nstruct scmi_transport_ops;\n\nstruct scmi_desc {\n\tconst struct scmi_transport_ops *ops;\n\tint max_rx_timeout_ms;\n\tint max_msg;\n\tint max_msg_size;\n\tunsigned int atomic_threshold;\n\tconst bool force_polling;\n\tconst bool sync_cmds_completed_on_ret;\n\tconst bool atomic_enabled;\n};\n\nstruct scmi_device {\n\tu32 id;\n\tu8 protocol_id;\n\tconst char *name;\n\tstruct device dev;\n\tstruct scmi_handle *handle;\n};\n\nstruct scmi_device_id {\n\tu8 protocol_id;\n\tconst char *name;\n};\n\nstruct scmi_driver {\n\tconst char *name;\n\tint (*probe)(struct scmi_device *);\n\tvoid (*remove)(struct scmi_device *);\n\tconst struct scmi_device_id *id_table;\n\tstruct device_driver driver;\n};\n\nstruct scmi_event {\n\tu8 id;\n\tsize_t max_payld_sz;\n\tsize_t max_report_sz;\n};\n\nstruct scmi_registered_event;\n\nstruct scmi_event_handler {\n\tu32 key;\n\trefcount_t users;\n\tstruct scmi_registered_event *r_evt;\n\tstruct blocking_notifier_head chain;\n\tstruct hlist_node hash;\n\tbool enabled;\n};\n\nstruct scmi_event_header {\n\tktime_t timestamp;\n\tsize_t payld_sz;\n\tunsigned char evt_id;\n\tunsigned char payld[0];\n};\n\nstruct scmi_event_ops {\n\tbool (*is_notify_supported)(const struct scmi_protocol_handle *, u8, u32);\n\tint (*get_num_sources)(const struct scmi_protocol_handle *);\n\tint (*set_notify_enabled)(const struct scmi_protocol_handle *, u8, u32, bool);\n\tvoid * (*fill_custom_report)(const struct scmi_protocol_handle *, u8, ktime_t, const void *, size_t, void *, u32 *);\n};\n\nstruct scmi_fc_db_info {\n\tint width;\n\tu64 set;\n\tu64 mask;\n\tvoid *addr;\n};\n\nstruct scmi_fc_info {\n\tvoid *set_addr;\n\tvoid *get_addr;\n\tstruct scmi_fc_db_info *set_db;\n\tu32 rate_limit;\n};\n\nstruct scmi_function_info {\n\tchar name[64];\n\tbool present;\n\tu32 *groups;\n\tu32 nr_groups;\n};\n\nstruct scmi_group_info {\n\tchar name[64];\n\tbool present;\n\tu32 *group_pins;\n\tu32 nr_pins;\n};\n\nstruct scmi_revision_info;\n\nstruct scmi_notify_ops;\n\nstruct scmi_handle {\n\tstruct device *dev;\n\tstruct scmi_revision_info *version;\n\tint (*devm_protocol_acquire)(struct scmi_device *, u8);\n\tconst void * (*devm_protocol_get)(struct scmi_device *, u8, struct scmi_protocol_handle **);\n\tvoid (*devm_protocol_put)(struct scmi_device *, u8);\n\tbool (*is_transport_atomic)(const struct scmi_handle *, unsigned int *);\n\tconst struct scmi_notify_ops *notify_ops;\n};\n\nstruct scmi_imx_bbm_proto_ops;\n\nstruct scmi_imx_bbm {\n\tstruct scmi_protocol_handle *ph;\n\tconst struct scmi_imx_bbm_proto_ops *ops;\n\tstruct notifier_block nb;\n\tint keycode;\n\tint keystate;\n\tbool suspended;\n\tstruct delayed_work check_work;\n\tstruct input_dev *input;\n};\n\nstruct scmi_imx_bbm___2 {\n\tconst struct scmi_imx_bbm_proto_ops *ops;\n\tstruct rtc_device *rtc_dev;\n\tstruct scmi_protocol_handle *ph;\n\tstruct notifier_block nb;\n};\n\nstruct scmi_imx_bbm_alarm_time {\n\t__le32 id;\n\t__le32 flags;\n\t__le32 value_low;\n\t__le32 value_high;\n};\n\nstruct scmi_imx_bbm_get_time {\n\t__le32 id;\n\t__le32 flags;\n};\n\nstruct scmi_imx_bbm_info {\n\tu32 version;\n\tint nr_rtc;\n\tint nr_gpr;\n};\n\nstruct scmi_imx_bbm_notif_report {\n\tbool is_rtc;\n\tbool is_button;\n\tktime_t timestamp;\n\tunsigned int rtc_id;\n\tunsigned int rtc_evt;\n};\n\nstruct scmi_imx_bbm_notify_payld {\n\t__le32 flags;\n};\n\nstruct scmi_imx_bbm_proto_ops {\n\tint (*rtc_time_set)(const struct scmi_protocol_handle *, u32, uint64_t);\n\tint (*rtc_time_get)(const struct scmi_protocol_handle *, u32, u64 *);\n\tint (*rtc_alarm_set)(const struct scmi_protocol_handle *, u32, bool, u64);\n\tint (*button_get)(const struct scmi_protocol_handle *, u32 *);\n};\n\nstruct scmi_imx_bbm_set_time {\n\t__le32 id;\n\t__le32 flags;\n\t__le32 value_low;\n\t__le32 value_high;\n};\n\nstruct scmi_imx_misc_ctrl_get_out {\n\t__le32 num;\n\t__le32 val[0];\n};\n\nstruct scmi_imx_misc_ctrl_notify_in {\n\t__le32 ctrl_id;\n\t__le32 flags;\n};\n\nstruct scmi_imx_misc_ctrl_notify_payld {\n\t__le32 ctrl_id;\n\t__le32 flags;\n};\n\nstruct scmi_imx_misc_ctrl_notify_report {\n\tktime_t timestamp;\n\tunsigned int ctrl_id;\n\tunsigned int flags;\n};\n\nstruct scmi_imx_misc_ctrl_set_in {\n\t__le32 id;\n\t__le32 num;\n\t__le32 value[0];\n};\n\nstruct scmi_imx_misc_info {\n\tu32 version;\n\tu32 nr_dev_ctrl;\n\tu32 nr_brd_ctrl;\n\tu32 nr_reason;\n};\n\nstruct scmi_imx_misc_proto_ops {\n\tint (*misc_ctrl_set)(const struct scmi_protocol_handle *, u32, u32, u32 *);\n\tint (*misc_ctrl_get)(const struct scmi_protocol_handle *, u32, u32 *, u32 *);\n\tint (*misc_ctrl_req_notify)(const struct scmi_protocol_handle *, u32, u32, u32);\n};\n\nstruct scmi_revision_info {\n\tu16 major_ver;\n\tu16 minor_ver;\n\tu8 num_protocols;\n\tu8 num_agents;\n\tu32 impl_ver;\n\tchar vendor_id[16];\n\tchar sub_vendor_id[16];\n};\n\nstruct scmi_xfers_info {\n\tlong unsigned int *xfer_alloc_table;\n\tspinlock_t xfer_lock;\n\tint max_msg;\n\tstruct hlist_head free_xfers;\n\tstruct hlist_head pending_xfers[512];\n};\n\nstruct scmi_info {\n\tint id;\n\tstruct device *dev;\n\tconst struct scmi_desc *desc;\n\tstruct scmi_revision_info version;\n\tstruct scmi_handle handle;\n\tstruct scmi_xfers_info tx_minfo;\n\tstruct scmi_xfers_info rx_minfo;\n\tstruct idr tx_idr;\n\tstruct idr rx_idr;\n\tstruct idr protocols;\n\tstruct mutex protocols_mtx;\n\tu8 *protocols_imp;\n\tstruct idr active_protocols;\n\tvoid *notify_priv;\n\tstruct list_head node;\n\tint users;\n\tstruct notifier_block bus_nb;\n\tstruct notifier_block dev_req_nb;\n\tstruct mutex devreq_mtx;\n\tstruct scmi_debug_info *dbg;\n\tvoid *raw;\n};\n\nstruct scmi_iterator_state {\n\tunsigned int desc_index;\n\tunsigned int num_returned;\n\tunsigned int num_remaining;\n\tunsigned int max_resources;\n\tunsigned int loop_idx;\n\tsize_t rx_len;\n\tvoid *priv;\n};\n\nstruct scmi_xfer;\n\nstruct scmi_iterator_ops;\n\nstruct scmi_iterator {\n\tvoid *msg;\n\tvoid *resp;\n\tstruct scmi_xfer *t;\n\tconst struct scmi_protocol_handle *ph;\n\tstruct scmi_iterator_ops *ops;\n\tstruct scmi_iterator_state state;\n\tvoid *priv;\n};\n\nstruct scmi_iterator_ops {\n\tvoid (*prepare_message)(void *, unsigned int, const void *);\n\tint (*update_state)(struct scmi_iterator_state *, const void *, void *);\n\tint (*process_response)(const struct scmi_protocol_handle *, const void *, struct scmi_iterator_state *, void *);\n};\n\nstruct scmi_shared_mem;\n\nstruct scmi_shmem_io_ops;\n\nstruct scmi_mailbox {\n\tstruct mbox_client cl;\n\tstruct mbox_chan *chan;\n\tstruct mbox_chan *chan_receiver;\n\tstruct mbox_chan *chan_platform_receiver;\n\tstruct scmi_chan_info *cinfo;\n\tstruct scmi_shared_mem *shmem;\n\tstruct mutex chan_lock;\n\tstruct scmi_shmem_io_ops *io_ops;\n};\n\nstruct scmi_msg_payld;\n\nstruct scmi_message_operations {\n\tsize_t (*response_size)(struct scmi_xfer *);\n\tsize_t (*command_size)(struct scmi_xfer *);\n\tvoid (*tx_prepare)(struct scmi_msg_payld *, struct scmi_xfer *);\n\tu32 (*read_header)(struct scmi_msg_payld *);\n\tvoid (*fetch_response)(struct scmi_msg_payld *, size_t, struct scmi_xfer *);\n\tvoid (*fetch_notification)(struct scmi_msg_payld *, size_t, size_t, struct scmi_xfer *);\n};\n\nstruct scmi_msg {\n\tvoid *buf;\n\tsize_t len;\n};\n\nstruct scmi_msg_base_error_notify {\n\t__le32 event_control;\n};\n\nstruct scmi_msg_clock_config_get {\n\t__le32 id;\n\t__le32 flags;\n};\n\nstruct scmi_msg_clock_config_set {\n\t__le32 id;\n\t__le32 attributes;\n};\n\nstruct scmi_msg_clock_config_set_v2 {\n\t__le32 id;\n\t__le32 attributes;\n\t__le32 oem_config_val;\n};\n\nstruct scmi_msg_clock_describe_rates {\n\t__le32 id;\n\t__le32 rate_index;\n};\n\nstruct scmi_msg_clock_possible_parents {\n\t__le32 id;\n\t__le32 skip_parents;\n};\n\nstruct scmi_msg_clock_rate_notify {\n\t__le32 clk_id;\n\t__le32 notify_enable;\n};\n\nstruct scmi_msg_clock_set_parent {\n\t__le32 id;\n\t__le32 parent_id;\n};\n\nstruct scmi_msg_cmd_config_set {\n\t__le32 domain_id;\n\t__le32 config;\n};\n\nstruct scmi_msg_cmd_describe_levels {\n\t__le32 domain_id;\n\t__le32 level_index;\n};\n\nstruct scmi_msg_cmd_level_set {\n\t__le32 domain_id;\n\t__le32 flags;\n\t__le32 voltage_level;\n};\n\nstruct scmi_msg_get_fc_info {\n\t__le32 domain;\n\t__le32 message_id;\n};\n\nstruct scmi_msg_hdr {\n\tu8 id;\n\tu8 protocol_id;\n\tu8 type;\n\tu16 seq;\n\tu32 status;\n\tbool poll_completion;\n};\n\nstruct scmi_msg_imx_bbm_button_notify {\n\t__le32 flags;\n};\n\nstruct scmi_msg_imx_bbm_protocol_attributes {\n\t__le32 attributes;\n};\n\nstruct scmi_msg_imx_bbm_rtc_notify {\n\t__le32 rtc_id;\n\t__le32 flags;\n};\n\nstruct scmi_msg_imx_misc_protocol_attributes {\n\t__le32 attributes;\n};\n\nstruct scmi_msg_payld {\n\t__le32 msg_header;\n\t__le32 msg_payload[0];\n};\n\nstruct scmi_msg_perf_describe_levels {\n\t__le32 domain;\n\t__le32 level_index;\n};\n\nstruct scmi_msg_pinctrl_attributes {\n\t__le32 identifier;\n\t__le32 flags;\n};\n\nstruct scmi_msg_pinctrl_list_assoc {\n\t__le32 identifier;\n\t__le32 flags;\n\t__le32 index;\n};\n\nstruct scmi_msg_pinctrl_protocol_attributes {\n\t__le32 attributes_low;\n\t__le32 attributes_high;\n};\n\nstruct scmi_msg_powercap_notify_cap {\n\t__le32 domain;\n\t__le32 notify_enable;\n};\n\nstruct scmi_msg_powercap_notify_thresh {\n\t__le32 domain;\n\t__le32 notify_enable;\n\t__le32 power_thresh_low;\n\t__le32 power_thresh_high;\n};\n\nstruct scmi_msg_powercap_set_cap_or_pai {\n\t__le32 domain;\n\t__le32 flags;\n\t__le32 value;\n};\n\nstruct scmi_msg_request {\n\t__le32 identifier;\n\t__le32 flags;\n};\n\nstruct scmi_msg_reset_domain_reset {\n\t__le32 domain_id;\n\t__le32 flags;\n\t__le32 reset_state;\n};\n\nstruct scmi_msg_reset_notify {\n\t__le32 id;\n\t__le32 event_control;\n};\n\nstruct scmi_msg_resp_base_attributes {\n\tu8 num_protocols;\n\tu8 num_agents;\n\t__le16 reserved;\n};\n\nstruct scmi_msg_resp_base_discover_agent {\n\t__le32 agent_id;\n\tu8 name[16];\n};\n\nstruct scmi_msg_resp_clock_attributes {\n\t__le32 attributes;\n\tu8 name[16];\n\t__le32 clock_enable_latency;\n};\n\nstruct scmi_msg_resp_clock_config_get {\n\t__le32 attributes;\n\t__le32 config;\n\t__le32 oem_config_val;\n};\n\nstruct scmi_msg_resp_clock_describe_rates {\n\t__le32 num_rates_flags;\n\tstruct {\n\t\t__le32 value_low;\n\t\t__le32 value_high;\n\t} rate[0];\n};\n\nstruct scmi_msg_resp_clock_possible_parents {\n\t__le32 num_parent_flags;\n\t__le32 possible_parents[0];\n};\n\nstruct scmi_msg_resp_clock_protocol_attributes {\n\t__le16 num_clocks;\n\tu8 max_async_req;\n\tu8 reserved;\n};\n\nstruct scmi_msg_resp_desc_fc {\n\t__le32 attr;\n\t__le32 rate_limit;\n\t__le32 chan_addr_low;\n\t__le32 chan_addr_high;\n\t__le32 chan_size;\n\t__le32 db_addr_low;\n\t__le32 db_addr_high;\n\t__le32 db_set_lmask;\n\t__le32 db_set_hmask;\n\t__le32 db_preserve_lmask;\n\t__le32 db_preserve_hmask;\n};\n\nstruct scmi_msg_resp_describe_levels {\n\t__le32 flags;\n\t__le32 voltage[0];\n};\n\nstruct scmi_msg_resp_domain_attributes {\n\t__le32 attr;\n\tu8 name[16];\n};\n\nstruct scmi_msg_resp_domain_name_get {\n\t__le32 flags;\n\tu8 name[64];\n};\n\nstruct scmi_msg_resp_perf_attributes {\n\t__le16 num_domains;\n\t__le16 flags;\n\t__le32 stats_addr_low;\n\t__le32 stats_addr_high;\n\t__le32 stats_size;\n};\n\nstruct scmi_msg_resp_perf_describe_levels {\n\t__le16 num_returned;\n\t__le16 num_remaining;\n\tstruct {\n\t\t__le32 perf_val;\n\t\t__le32 power;\n\t\t__le16 transition_latency_us;\n\t\t__le16 reserved;\n\t} opp[0];\n};\n\nstruct scmi_msg_resp_perf_describe_levels_v4 {\n\t__le16 num_returned;\n\t__le16 num_remaining;\n\tstruct {\n\t\t__le32 perf_val;\n\t\t__le32 power;\n\t\t__le16 transition_latency_us;\n\t\t__le16 reserved;\n\t\t__le32 indicative_freq;\n\t\t__le32 level_index;\n\t} opp[0];\n};\n\nstruct scmi_msg_resp_perf_domain_attributes {\n\t__le32 flags;\n\t__le32 rate_limit_us;\n\t__le32 sustained_freq_khz;\n\t__le32 sustained_perf_level;\n\tu8 name[16];\n};\n\nstruct scmi_msg_resp_power_attributes {\n\t__le16 num_domains;\n\t__le16 reserved;\n\t__le32 stats_addr_low;\n\t__le32 stats_addr_high;\n\t__le32 stats_size;\n};\n\nstruct scmi_msg_resp_power_domain_attributes {\n\t__le32 flags;\n\tu8 name[16];\n};\n\nstruct scmi_msg_resp_powercap_cap_set_complete {\n\t__le32 domain;\n\t__le32 power_cap;\n};\n\nstruct scmi_msg_resp_powercap_domain_attributes {\n\t__le32 attributes;\n\tu8 name[16];\n\t__le32 min_pai;\n\t__le32 max_pai;\n\t__le32 pai_step;\n\t__le32 min_power_cap;\n\t__le32 max_power_cap;\n\t__le32 power_cap_step;\n\t__le32 sustainable_power;\n\t__le32 accuracy;\n\t__le32 parent_id;\n};\n\nstruct scmi_msg_resp_powercap_meas_get {\n\t__le32 power;\n\t__le32 pai;\n};\n\nstruct scmi_msg_resp_reset_domain_attributes {\n\t__le32 attributes;\n\t__le32 latency;\n\tu8 name[16];\n};\n\nstruct scmi_msg_resp_sensor_attributes {\n\t__le16 num_sensors;\n\tu8 max_requests;\n\tu8 reserved;\n\t__le32 reg_addr_low;\n\t__le32 reg_addr_high;\n\t__le32 reg_size;\n};\n\nstruct scmi_msg_resp_sensor_axis_description {\n\t__le32 num_axis_flags;\n\tstruct scmi_axis_descriptor desc[0];\n};\n\nstruct scmi_sensor_axis_name_descriptor {\n\t__le32 axis_id;\n\tu8 name[64];\n};\n\nstruct scmi_msg_resp_sensor_axis_names_description {\n\t__le32 num_axis_flags;\n\tstruct scmi_sensor_axis_name_descriptor desc[0];\n};\n\nstruct scmi_sensor_descriptor {\n\t__le32 id;\n\t__le32 attributes_low;\n\t__le32 attributes_high;\n\tu8 name[16];\n\t__le32 power;\n\t__le32 resolution;\n\tstruct scmi_msg_resp_attrs scalar_attrs;\n};\n\nstruct scmi_msg_resp_sensor_description {\n\t__le16 num_returned;\n\t__le16 num_remaining;\n\tstruct scmi_sensor_descriptor desc[0];\n};\n\nstruct scmi_msg_resp_sensor_list_update_intervals {\n\t__le32 num_intervals_flags;\n\t__le32 intervals[0];\n};\n\nstruct scmi_msg_resp_set_rate_complete {\n\t__le32 id;\n\t__le32 rate_low;\n\t__le32 rate_high;\n};\n\nstruct scmi_msg_sensor_axis_description_get {\n\t__le32 id;\n\t__le32 axis_desc_index;\n};\n\nstruct scmi_msg_sensor_config_set {\n\t__le32 id;\n\t__le32 sensor_config;\n};\n\nstruct scmi_msg_sensor_description {\n\t__le32 desc_index;\n};\n\nstruct scmi_msg_sensor_list_update_intervals {\n\t__le32 id;\n\t__le32 index;\n};\n\nstruct scmi_msg_sensor_reading_get {\n\t__le32 id;\n\t__le32 flags;\n};\n\nstruct scmi_msg_sensor_request_notify {\n\t__le32 id;\n\t__le32 event_control;\n};\n\nstruct scmi_msg_set_sensor_trip_point {\n\t__le32 id;\n\t__le32 event_control;\n\t__le32 value_low;\n\t__le32 value_high;\n};\n\nstruct scmi_msg_settings_conf {\n\t__le32 identifier;\n\t__le32 function_id;\n\t__le32 attributes;\n\t__le32 configs[0];\n};\n\nstruct scmi_msg_settings_get {\n\t__le32 identifier;\n\t__le32 attributes;\n};\n\nstruct scmi_notifier_devres {\n\tconst struct scmi_handle *handle;\n\tu8 proto_id;\n\tu8 evt_id;\n\tu32 __src_id;\n\tu32 *src_id;\n\tstruct notifier_block *nb;\n};\n\nstruct scmi_registered_events_desc;\n\nstruct scmi_notify_instance {\n\tvoid *gid;\n\tstruct scmi_handle *handle;\n\tstruct work_struct init_work;\n\tstruct workqueue_struct *notify_wq;\n\tstruct mutex pending_mtx;\n\tstruct scmi_registered_events_desc **registered_protocols;\n\tstruct hlist_head pending_events_handlers[16];\n};\n\nstruct scmi_notify_ops {\n\tint (*devm_event_notifier_register)(struct scmi_device *, u8, u8, const u32 *, struct notifier_block *);\n\tint (*devm_event_notifier_unregister)(struct scmi_device *, struct notifier_block *);\n\tint (*event_notifier_register)(const struct scmi_handle *, u8, u8, const u32 *, struct notifier_block *);\n\tint (*event_notifier_unregister)(const struct scmi_handle *, u8, u8, const u32 *, struct notifier_block *);\n};\n\nstruct scmi_optee_agent {\n\tstruct device *dev;\n\tstruct tee_context *tee_ctx;\n\tu32 caps;\n\tstruct mutex mu;\n\tstruct list_head channel_list;\n};\n\nstruct scmi_optee_channel {\n\tu32 channel_id;\n\tu32 tee_session;\n\tu32 caps;\n\tu32 rx_len;\n\tstruct mutex mu;\n\tstruct scmi_chan_info *cinfo;\n\tunion {\n\t\tstruct scmi_shared_mem *shmem;\n\t\tstruct scmi_msg_payld *msg;\n\t} req;\n\tstruct scmi_shmem_io_ops *io_ops;\n\tstruct tee_shm *tee_shm;\n\tstruct list_head link;\n};\n\nstruct scmi_perf_proto_ops;\n\nstruct scmi_perf_domain {\n\tstruct generic_pm_domain genpd;\n\tconst struct scmi_perf_proto_ops *perf_ops;\n\tconst struct scmi_protocol_handle *ph;\n\tconst struct scmi_perf_domain_info *info;\n\tu32 domain_id;\n};\n\nstruct scmi_perf_get_limits {\n\t__le32 max_level;\n\t__le32 min_level;\n};\n\nstruct scmi_perf_info {\n\tu32 version;\n\tu16 num_domains;\n\tenum scmi_power_scale power_scale;\n\tu64 stats_addr;\n\tu32 stats_size;\n\tbool notify_lvl_cmd;\n\tbool notify_lim_cmd;\n\tstruct perf_dom_info *dom_info;\n};\n\nstruct scmi_perf_ipriv {\n\tu32 version;\n\tstruct perf_dom_info *perf_dom;\n};\n\nstruct scmi_perf_level_notify_payld {\n\t__le32 agent_id;\n\t__le32 domain_id;\n\t__le32 performance_level;\n};\n\nstruct scmi_perf_level_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int domain_id;\n\tunsigned int performance_level;\n\tlong unsigned int performance_level_freq;\n};\n\nstruct scmi_perf_limits_notify_payld {\n\t__le32 agent_id;\n\t__le32 domain_id;\n\t__le32 range_max;\n\t__le32 range_min;\n};\n\nstruct scmi_perf_limits_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int domain_id;\n\tunsigned int range_max;\n\tunsigned int range_min;\n\tlong unsigned int range_max_freq;\n\tlong unsigned int range_min_freq;\n};\n\nstruct scmi_perf_notify_level_or_limits {\n\t__le32 domain;\n\t__le32 notify_enable;\n};\n\nstruct scmi_perf_proto_ops {\n\tint (*num_domains_get)(const struct scmi_protocol_handle *);\n\tconst struct scmi_perf_domain_info * (*info_get)(const struct scmi_protocol_handle *, u32);\n\tint (*limits_set)(const struct scmi_protocol_handle *, u32, u32, u32);\n\tint (*limits_get)(const struct scmi_protocol_handle *, u32, u32 *, u32 *);\n\tint (*level_set)(const struct scmi_protocol_handle *, u32, u32, bool);\n\tint (*level_get)(const struct scmi_protocol_handle *, u32, u32 *, bool);\n\tint (*transition_latency_get)(const struct scmi_protocol_handle *, u32);\n\tint (*rate_limit_get)(const struct scmi_protocol_handle *, u32, u32 *);\n\tint (*device_opps_add)(const struct scmi_protocol_handle *, struct device *, u32);\n\tint (*freq_set)(const struct scmi_protocol_handle *, u32, long unsigned int, bool);\n\tint (*freq_get)(const struct scmi_protocol_handle *, u32, long unsigned int *, bool);\n\tint (*est_power_get)(const struct scmi_protocol_handle *, u32, long unsigned int *, long unsigned int *);\n\tbool (*fast_switch_possible)(const struct scmi_protocol_handle *, u32);\n\tint (*fast_switch_rate_limit)(const struct scmi_protocol_handle *, u32, u32 *);\n\tenum scmi_power_scale (*power_scale_get)(const struct scmi_protocol_handle *);\n};\n\nstruct scmi_perf_set_level {\n\t__le32 domain;\n\t__le32 level;\n};\n\nstruct scmi_perf_set_limits {\n\t__le32 domain;\n\t__le32 max_level;\n\t__le32 min_level;\n};\n\nstruct scmi_pin_info {\n\tchar name[64];\n\tbool present;\n};\n\nstruct scmi_pinctrl_info {\n\tu32 version;\n\tint nr_groups;\n\tint nr_functions;\n\tint nr_pins;\n\tstruct scmi_group_info *groups;\n\tstruct scmi_function_info *functions;\n\tstruct scmi_pin_info *pins;\n};\n\nstruct scmi_pinctrl_ipriv {\n\tu32 selector;\n\tenum scmi_pinctrl_selector_type type;\n\tu32 *array;\n};\n\nstruct scmi_pinctrl_proto_ops {\n\tint (*count_get)(const struct scmi_protocol_handle *, enum scmi_pinctrl_selector_type);\n\tint (*name_get)(const struct scmi_protocol_handle *, u32, enum scmi_pinctrl_selector_type, const char **);\n\tint (*group_pins_get)(const struct scmi_protocol_handle *, u32, const unsigned int **, unsigned int *);\n\tint (*function_groups_get)(const struct scmi_protocol_handle *, u32, unsigned int *, const unsigned int **);\n\tint (*mux_set)(const struct scmi_protocol_handle *, u32, u32);\n\tint (*settings_get_one)(const struct scmi_protocol_handle *, u32, enum scmi_pinctrl_selector_type, enum scmi_pinctrl_conf_type, u32 *);\n\tint (*settings_get_all)(const struct scmi_protocol_handle *, u32, enum scmi_pinctrl_selector_type, unsigned int *, enum scmi_pinctrl_conf_type *, u32 *);\n\tint (*settings_conf)(const struct scmi_protocol_handle *, u32, enum scmi_pinctrl_selector_type, unsigned int, enum scmi_pinctrl_conf_type *, u32 *);\n\tint (*pin_request)(const struct scmi_protocol_handle *, u32);\n\tint (*pin_free)(const struct scmi_protocol_handle *, u32);\n};\n\nstruct scmi_pm_domain {\n\tstruct generic_pm_domain genpd;\n\tconst struct scmi_protocol_handle *ph;\n\tconst char *name;\n\tu32 domain;\n};\n\nstruct scmi_power_info {\n\tu32 version;\n\tbool notify_state_change_cmd;\n\tint num_domains;\n\tu64 stats_addr;\n\tu32 stats_size;\n\tstruct power_dom_info *dom_info;\n};\n\nstruct scmi_power_proto_ops {\n\tint (*num_domains_get)(const struct scmi_protocol_handle *);\n\tconst char * (*name_get)(const struct scmi_protocol_handle *, u32);\n\tint (*state_set)(const struct scmi_protocol_handle *, u32, u32);\n\tint (*state_get)(const struct scmi_protocol_handle *, u32, u32 *);\n};\n\nstruct scmi_power_set_state {\n\t__le32 flags;\n\t__le32 domain;\n\t__le32 state;\n};\n\nstruct scmi_power_state_changed_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int domain_id;\n\tunsigned int power_state;\n};\n\nstruct scmi_power_state_notify {\n\t__le32 domain;\n\t__le32 notify_enable;\n};\n\nstruct scmi_power_state_notify_payld {\n\t__le32 agent_id;\n\t__le32 domain_id;\n\t__le32 power_state;\n};\n\nstruct scmi_powercap_cap_changed_notify_payld {\n\t__le32 agent_id;\n\t__le32 domain_id;\n\t__le32 power_cap;\n\t__le32 pai;\n};\n\nstruct scmi_powercap_cap_changed_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int domain_id;\n\tunsigned int power_cap;\n\tunsigned int pai;\n};\n\nstruct scmi_powercap_info {\n\tunsigned int id;\n\tbool notify_powercap_cap_change;\n\tbool notify_powercap_measurement_change;\n\tbool async_powercap_cap_set;\n\tbool powercap_cap_config;\n\tbool powercap_monitoring;\n\tbool powercap_pai_config;\n\tbool powercap_scale_mw;\n\tbool powercap_scale_uw;\n\tbool fastchannels;\n\tchar name[64];\n\tunsigned int min_pai;\n\tunsigned int max_pai;\n\tunsigned int pai_step;\n\tunsigned int min_power_cap;\n\tunsigned int max_power_cap;\n\tunsigned int power_cap_step;\n\tunsigned int sustainable_power;\n\tunsigned int accuracy;\n\tunsigned int parent_id;\n\tstruct scmi_fc_info *fc_info;\n};\n\nstruct scmi_powercap_meas_changed_notify_payld {\n\t__le32 agent_id;\n\t__le32 domain_id;\n\t__le32 power;\n};\n\nstruct scmi_powercap_meas_changed_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int domain_id;\n\tunsigned int power;\n};\n\nstruct scmi_powercap_proto_ops {\n\tint (*num_domains_get)(const struct scmi_protocol_handle *);\n\tconst struct scmi_powercap_info * (*info_get)(const struct scmi_protocol_handle *, u32);\n\tint (*cap_get)(const struct scmi_protocol_handle *, u32, u32 *);\n\tint (*cap_set)(const struct scmi_protocol_handle *, u32, u32, bool);\n\tint (*cap_enable_set)(const struct scmi_protocol_handle *, u32, bool);\n\tint (*cap_enable_get)(const struct scmi_protocol_handle *, u32, bool *);\n\tint (*pai_get)(const struct scmi_protocol_handle *, u32, u32 *);\n\tint (*pai_set)(const struct scmi_protocol_handle *, u32, u32);\n\tint (*measurements_get)(const struct scmi_protocol_handle *, u32, u32 *, u32 *);\n\tint (*measurements_threshold_set)(const struct scmi_protocol_handle *, u32, u32, u32);\n\tint (*measurements_threshold_get)(const struct scmi_protocol_handle *, u32, u32 *, u32 *);\n};\n\nstruct scmi_powercap_state {\n\tbool enabled;\n\tu32 last_pcap;\n\tbool meas_notif_enabled;\n\tu64 thresholds;\n};\n\nstruct scmi_proto_helpers_ops {\n\tint (*extended_name_get)(const struct scmi_protocol_handle *, u8, u32, u32 *, char *, size_t);\n\tvoid * (*iter_response_init)(const struct scmi_protocol_handle *, struct scmi_iterator_ops *, unsigned int, u8, size_t, void *);\n\tint (*iter_response_run)(void *);\n\tint (*protocol_msg_check)(const struct scmi_protocol_handle *, u32, u32 *);\n\tvoid (*fastchannel_init)(const struct scmi_protocol_handle *, u8, u32, u32, u32, void **, struct scmi_fc_db_info **, u32 *);\n\tvoid (*fastchannel_db_ring)(struct scmi_fc_db_info *);\n\tint (*get_max_msg_size)(const struct scmi_protocol_handle *);\n};\n\ntypedef int (*scmi_prot_init_ph_fn_t)(const struct scmi_protocol_handle *);\n\nstruct scmi_protocol_events;\n\nstruct scmi_protocol {\n\tconst u8 id;\n\tstruct module *owner;\n\tconst scmi_prot_init_ph_fn_t instance_init;\n\tconst scmi_prot_init_ph_fn_t instance_deinit;\n\tconst void *ops;\n\tconst struct scmi_protocol_events *events;\n\tunsigned int supported_version;\n\tchar *vendor_id;\n\tchar *sub_vendor_id;\n\tu32 impl_ver;\n};\n\nstruct scmi_protocol_devres {\n\tconst struct scmi_handle *handle;\n\tu8 protocol_id;\n};\n\nstruct scmi_protocol_events {\n\tsize_t queue_sz;\n\tconst struct scmi_event_ops *ops;\n\tconst struct scmi_event *evts;\n\tunsigned int num_events;\n\tunsigned int num_sources;\n};\n\nstruct scmi_xfer_ops;\n\nstruct scmi_protocol_handle {\n\tstruct device *dev;\n\tconst struct scmi_xfer_ops *xops;\n\tconst struct scmi_proto_helpers_ops *hops;\n\tint (*set_priv)(const struct scmi_protocol_handle *, void *, u32);\n\tvoid * (*get_priv)(const struct scmi_protocol_handle *);\n};\n\nstruct scmi_protocol_instance {\n\tconst struct scmi_handle *handle;\n\tconst struct scmi_protocol *proto;\n\tvoid *gid;\n\trefcount_t users;\n\tvoid *priv;\n\tunsigned int version;\n\tunsigned int negotiated_version;\n\tstruct scmi_protocol_handle ph;\n};\n\nstruct scmi_range_attrs {\n\tlong long int min_range;\n\tlong long int max_range;\n};\n\nstruct scmi_registered_event {\n\tstruct scmi_registered_events_desc *proto;\n\tconst struct scmi_event *evt;\n\tvoid *report;\n\tu32 num_sources;\n\trefcount_t *sources;\n\tstruct mutex sources_mtx;\n};\n\nstruct scmi_registered_events_desc {\n\tu8 id;\n\tconst struct scmi_event_ops *ops;\n\tstruct events_queue equeue;\n\tstruct scmi_notify_instance *ni;\n\tstruct scmi_event_header *eh;\n\tsize_t eh_sz;\n\tvoid *in_flight;\n\tint num_events;\n\tstruct scmi_registered_event **registered_events;\n\tstruct mutex registered_mtx;\n\tconst struct scmi_protocol_handle *ph;\n\tstruct hlist_head registered_events_handlers[64];\n};\n\nstruct scmi_regulator {\n\tu32 id;\n\tstruct scmi_device *sdev;\n\tstruct scmi_protocol_handle *ph;\n\tstruct regulator_dev *rdev;\n\tstruct device_node *of_node;\n\tstruct regulator_desc desc;\n\tstruct regulator_config conf;\n};\n\nstruct scmi_regulator_info {\n\tint num_doms;\n\tstruct scmi_regulator **sregv;\n};\n\nstruct scmi_requested_dev {\n\tconst struct scmi_device_id *id_table;\n\tstruct list_head node;\n};\n\nstruct scmi_reset_data {\n\tstruct reset_controller_dev rcdev;\n\tconst struct scmi_protocol_handle *ph;\n};\n\nstruct scmi_reset_info {\n\tu32 version;\n\tint num_domains;\n\tbool notify_reset_cmd;\n\tstruct reset_dom_info *dom_info;\n};\n\nstruct scmi_reset_issued_notify_payld {\n\t__le32 agent_id;\n\t__le32 domain_id;\n\t__le32 reset_state;\n};\n\nstruct scmi_reset_issued_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int domain_id;\n\tunsigned int reset_state;\n};\n\nstruct scmi_reset_proto_ops {\n\tint (*num_domains_get)(const struct scmi_protocol_handle *);\n\tconst char * (*name_get)(const struct scmi_protocol_handle *, u32);\n\tint (*latency_get)(const struct scmi_protocol_handle *, u32);\n\tint (*reset)(const struct scmi_protocol_handle *, u32);\n\tint (*assert)(const struct scmi_protocol_handle *, u32);\n\tint (*deassert)(const struct scmi_protocol_handle *, u32);\n};\n\nstruct scmi_resp_pinctrl_attributes {\n\t__le32 attributes;\n\tu8 name[16];\n};\n\nstruct scmi_resp_pinctrl_list_assoc {\n\t__le32 flags;\n\t__le16 array[0];\n};\n\nstruct scmi_resp_sensor_reading_complete {\n\t__le32 id;\n\t__le32 readings_low;\n\t__le32 readings_high;\n};\n\nstruct scmi_sensor_reading_resp {\n\t__le32 sensor_value_low;\n\t__le32 sensor_value_high;\n\t__le32 timestamp_low;\n\t__le32 timestamp_high;\n};\n\nstruct scmi_resp_sensor_reading_complete_v3 {\n\t__le32 id;\n\tstruct scmi_sensor_reading_resp readings[0];\n};\n\nstruct scmi_resp_settings_get {\n\t__le32 function_selected;\n\t__le32 num_configs;\n\t__le32 configs[0];\n};\n\nstruct scmi_resp_voltage_level_set_complete {\n\t__le32 domain_id;\n\t__le32 voltage_level;\n};\n\nstruct scmi_sens_ipriv {\n\tvoid *priv;\n\tstruct device *dev;\n};\n\nstruct scmi_sensor_axis_info {\n\tunsigned int id;\n\tunsigned int type;\n\tint scale;\n\tchar name[64];\n\tbool extended_attrs;\n\tunsigned int resolution;\n\tint exponent;\n\tstruct scmi_range_attrs attrs;\n};\n\nstruct scmi_sensor_intervals_info {\n\tbool segmented;\n\tunsigned int count;\n\tunsigned int *desc;\n\tunsigned int prealloc_pool[16];\n};\n\nstruct scmi_sensor_info {\n\tunsigned int id;\n\tunsigned int type;\n\tint scale;\n\tunsigned int num_trip_points;\n\tbool async;\n\tbool update;\n\tbool timestamped;\n\tint tstamp_scale;\n\tunsigned int num_axis;\n\tstruct scmi_sensor_axis_info *axis;\n\tstruct scmi_sensor_intervals_info intervals;\n\tunsigned int sensor_config;\n\tchar name[64];\n\tbool extended_scalar_attrs;\n\tunsigned int sensor_power;\n\tunsigned int resolution;\n\tint exponent;\n\tstruct scmi_range_attrs scalar_attrs;\n};\n\nstruct scmi_sensor_reading;\n\nstruct scmi_sensor_proto_ops {\n\tint (*count_get)(const struct scmi_protocol_handle *);\n\tconst struct scmi_sensor_info * (*info_get)(const struct scmi_protocol_handle *, u32);\n\tint (*trip_point_config)(const struct scmi_protocol_handle *, u32, u8, u64);\n\tint (*reading_get)(const struct scmi_protocol_handle *, u32, u64 *);\n\tint (*reading_get_timestamped)(const struct scmi_protocol_handle *, u32, u8, struct scmi_sensor_reading *);\n\tint (*config_get)(const struct scmi_protocol_handle *, u32, u32 *);\n\tint (*config_set)(const struct scmi_protocol_handle *, u32, u32);\n};\n\nstruct scmi_sensor_reading {\n\tlong long int value;\n\tlong long unsigned int timestamp;\n};\n\nstruct scmi_sensor_trip_notify_payld {\n\t__le32 agent_id;\n\t__le32 sensor_id;\n\t__le32 trip_point_desc;\n};\n\nstruct scmi_sensor_trip_point_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int sensor_id;\n\tunsigned int trip_point_desc;\n};\n\nstruct scmi_sensor_update_notify_payld {\n\t__le32 agent_id;\n\t__le32 sensor_id;\n\tstruct scmi_sensor_reading_resp readings[0];\n};\n\nstruct scmi_sensor_update_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int sensor_id;\n\tunsigned int readings_count;\n\tstruct scmi_sensor_reading readings[0];\n};\n\nstruct scmi_sensors {\n\tconst struct scmi_protocol_handle *ph;\n\tconst struct scmi_sensor_info **info[10];\n};\n\nstruct scmi_settings_get_ipriv {\n\tu32 selector;\n\tenum scmi_pinctrl_selector_type type;\n\tbool get_all;\n\tunsigned int *nr_configs;\n\tenum scmi_pinctrl_conf_type *config_types;\n\tu32 *config_values;\n};\n\nstruct scmi_shared_mem {\n\t__le32 reserved;\n\t__le32 channel_status;\n\t__le32 reserved1[2];\n\t__le32 flags;\n\t__le32 length;\n\t__le32 msg_header;\n\tu8 msg_payload[0];\n};\n\ntypedef void (*shmem_copy_toio_t)(void *, const void *, size_t);\n\ntypedef void (*shmem_copy_fromio_t)(void *, const void *, size_t);\n\nstruct scmi_shared_mem_operations {\n\tvoid (*tx_prepare)(struct scmi_shared_mem *, struct scmi_xfer *, struct scmi_chan_info *, shmem_copy_toio_t);\n\tu32 (*read_header)(struct scmi_shared_mem *);\n\tvoid (*fetch_response)(struct scmi_shared_mem *, struct scmi_xfer *, shmem_copy_fromio_t);\n\tvoid (*fetch_notification)(struct scmi_shared_mem *, size_t, struct scmi_xfer *, shmem_copy_fromio_t);\n\tvoid (*clear_channel)(struct scmi_shared_mem *);\n\tbool (*poll_done)(struct scmi_shared_mem *, struct scmi_xfer *);\n\tbool (*channel_free)(struct scmi_shared_mem *);\n\tbool (*channel_intr_enabled)(struct scmi_shared_mem *);\n\tvoid * (*setup_iomap)(struct scmi_chan_info *, struct device *, bool, struct resource *, struct scmi_shmem_io_ops **);\n};\n\nstruct scmi_shmem_io_ops {\n\tshmem_copy_fromio_t fromio;\n\tshmem_copy_toio_t toio;\n};\n\nstruct scmi_smc {\n\tint irq;\n\tstruct scmi_chan_info *cinfo;\n\tstruct scmi_shared_mem *shmem;\n\tstruct scmi_shmem_io_ops *io_ops;\n\tstruct mutex shmem_lock;\n\tatomic_t inflight;\n\tlong unsigned int func_id;\n\tlong unsigned int param_page;\n\tlong unsigned int param_offset;\n\tlong unsigned int cap_id;\n};\n\nstruct scmi_system_info {\n\tu32 version;\n\tbool graceful_timeout_supported;\n\tbool power_state_notify_cmd;\n};\n\nstruct scmi_system_power_state_notifier_payld {\n\t__le32 agent_id;\n\t__le32 flags;\n\t__le32 system_state;\n\t__le32 timeout;\n};\n\nstruct scmi_system_power_state_notifier_report {\n\tktime_t timestamp;\n\tunsigned int agent_id;\n\tunsigned int flags;\n\tunsigned int system_state;\n\tunsigned int timeout;\n};\n\nstruct scmi_system_power_state_notify {\n\t__le32 notify_enable;\n};\n\nstruct scmi_thermal_sensor {\n\tconst struct scmi_protocol_handle *ph;\n\tconst struct scmi_sensor_info *info;\n};\n\nstruct scmi_transport_core_operations;\n\nstruct scmi_transport {\n\tstruct device *supplier;\n\tstruct scmi_desc desc;\n\tstruct scmi_transport_core_operations **core_ops;\n};\n\nstruct scmi_transport_core_operations {\n\tvoid (*bad_message_trace)(struct scmi_chan_info *, u32, enum scmi_bad_msg);\n\tvoid (*rx_callback)(struct scmi_chan_info *, u32, void *);\n\tconst struct scmi_shared_mem_operations *shmem;\n\tconst struct scmi_message_operations *msg;\n};\n\nstruct scmi_transport_ops {\n\tbool (*chan_available)(struct device_node *, int);\n\tint (*chan_setup)(struct scmi_chan_info *, struct device *, bool);\n\tint (*chan_free)(int, void *, void *);\n\tunsigned int (*get_max_msg)(struct scmi_chan_info *);\n\tint (*send_message)(struct scmi_chan_info *, struct scmi_xfer *);\n\tvoid (*mark_txdone)(struct scmi_chan_info *, int, struct scmi_xfer *);\n\tvoid (*fetch_response)(struct scmi_chan_info *, struct scmi_xfer *);\n\tvoid (*fetch_notification)(struct scmi_chan_info *, size_t, struct scmi_xfer *);\n\tvoid (*clear_channel)(struct scmi_chan_info *);\n\tbool (*poll_done)(struct scmi_chan_info *, struct scmi_xfer *);\n};\n\nstruct scmi_voltage_info;\n\nstruct scmi_volt_ipriv {\n\tstruct device *dev;\n\tstruct scmi_voltage_info *v;\n};\n\nstruct scmi_voltage_info {\n\tunsigned int id;\n\tbool segmented;\n\tbool negative_volts_allowed;\n\tbool async_level_set;\n\tchar name[64];\n\tunsigned int num_levels;\n\tint *levels_uv;\n};\n\nstruct scmi_voltage_proto_ops {\n\tint (*num_domains_get)(const struct scmi_protocol_handle *);\n\tconst struct scmi_voltage_info * (*info_get)(const struct scmi_protocol_handle *, u32);\n\tint (*config_set)(const struct scmi_protocol_handle *, u32, u32);\n\tint (*config_get)(const struct scmi_protocol_handle *, u32, u32 *);\n\tint (*level_set)(const struct scmi_protocol_handle *, u32, enum scmi_voltage_level_mode, s32);\n\tint (*level_get)(const struct scmi_protocol_handle *, u32, s32 *);\n};\n\nstruct scmi_xfer {\n\tint transfer_id;\n\tstruct scmi_msg_hdr hdr;\n\tstruct scmi_msg tx;\n\tstruct scmi_msg rx;\n\tstruct completion done;\n\tstruct completion *async_done;\n\tbool pending;\n\tstruct hlist_node node;\n\trefcount_t users;\n\tatomic_t busy;\n\tint state;\n\tint flags;\n\tspinlock_t lock;\n\tvoid *priv;\n};\n\nstruct scmi_xfer_ops {\n\tint (*version_get)(const struct scmi_protocol_handle *, u32 *);\n\tint (*xfer_get_init)(const struct scmi_protocol_handle *, u8, size_t, size_t, struct scmi_xfer **);\n\tvoid (*reset_rx_to_maxsz)(const struct scmi_protocol_handle *, struct scmi_xfer *);\n\tint (*do_xfer)(const struct scmi_protocol_handle *, struct scmi_xfer *);\n\tint (*do_xfer_with_response)(const struct scmi_protocol_handle *, struct scmi_xfer *);\n\tvoid (*xfer_put)(const struct scmi_protocol_handle *, struct scmi_xfer *);\n};\n\nstruct scomp_alg {\n\tvoid * (*alloc_ctx)(struct crypto_scomp *);\n\tvoid (*free_ctx)(struct crypto_scomp *, void *);\n\tint (*compress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *);\n\tint (*decompress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *);\n\tunion {\n\t\tstruct {\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct comp_alg_common calg;\n\t};\n};\n\nstruct scomp_scratch {\n\tspinlock_t lock;\n\tvoid *src;\n\tvoid *dst;\n};\n\nstruct scp_ctrl_reg {\n\tint pwr_sta_offs;\n\tint pwr_sta2nd_offs;\n};\n\nstruct scp_domain;\n\nstruct scp {\n\tstruct scp_domain *domains;\n\tstruct genpd_onecell_data pd_data;\n\tstruct device *dev;\n\tvoid *base;\n\tstruct regmap *infracfg;\n\tstruct scp_ctrl_reg ctrl_reg;\n\tbool bus_prot_reg_update;\n};\n\nstruct scp_capabilities {\n\t__le32 protocol_version;\n\t__le32 event_version;\n\t__le32 platform_version;\n\t__le32 commands[4];\n};\n\nstruct scp_domain_data;\n\nstruct scp_domain {\n\tstruct generic_pm_domain genpd;\n\tstruct scp *scp;\n\tstruct clk *clk[3];\n\tconst struct scp_domain_data *data;\n\tstruct regulator *supply;\n};\n\nstruct scp_domain_data {\n\tconst char *name;\n\tu32 sta_mask;\n\tint ctl_offs;\n\tu32 sram_pdn_bits;\n\tu32 sram_pdn_ack_bits;\n\tu32 bus_prot_mask;\n\tenum clk_id___2 clk_id[3];\n\tu8 caps;\n};\n\nstruct scp_subdomain;\n\nstruct scp_soc_data {\n\tconst struct scp_domain_data *domains;\n\tint num_domains;\n\tconst struct scp_subdomain *subdomains;\n\tint num_subdomains;\n\tconst struct scp_ctrl_reg regs;\n\tbool bus_prot_reg_update;\n};\n\nstruct scp_subdomain {\n\tint origin;\n\tint subdomain;\n};\n\nstruct scpi_xfer;\n\nstruct scpi_chan {\n\tstruct mbox_client cl;\n\tstruct mbox_chan *chan;\n\tvoid *tx_payload;\n\tvoid *rx_payload;\n\tstruct list_head rx_pending;\n\tstruct list_head xfers_list;\n\tstruct scpi_xfer *xfers;\n\tspinlock_t rx_lock;\n\tstruct mutex xfers_lock;\n\tu8 token;\n};\n\nstruct scpi_dvfs_info;\n\nstruct scpi_ops;\n\nstruct scpi_clk {\n\tu32 id;\n\tstruct clk_hw hw;\n\tstruct scpi_dvfs_info *info;\n\tstruct scpi_ops *scpi_ops;\n};\n\nstruct scpi_clk_data {\n\tstruct scpi_clk **clk;\n\tunsigned int clk_num;\n};\n\nstruct scpi_data {\n\tstruct clk *clk;\n\tstruct device *cpu_dev;\n};\n\nstruct scpi_drvinfo {\n\tu32 protocol_version;\n\tu32 firmware_version;\n\tbool is_legacy;\n\tint num_chans;\n\tint *commands;\n\tlong unsigned int cmd_priority[1];\n\tatomic_t next_chan;\n\tstruct scpi_ops *scpi_ops;\n\tstruct scpi_chan *channels;\n\tstruct scpi_dvfs_info *dvfs[8];\n};\n\nstruct scpi_opp;\n\nstruct scpi_dvfs_info {\n\tunsigned int count;\n\tunsigned int latency;\n\tstruct scpi_opp *opps;\n};\n\nstruct scpi_opp {\n\tu32 freq;\n\tu32 m_volt;\n};\n\nstruct scpi_sensor_info;\n\nstruct scpi_ops {\n\tu32 (*get_version)(void);\n\tint (*clk_get_range)(u16, long unsigned int *, long unsigned int *);\n\tlong unsigned int (*clk_get_val)(u16);\n\tint (*clk_set_val)(u16, long unsigned int);\n\tint (*dvfs_get_idx)(u8);\n\tint (*dvfs_set_idx)(u8, u8);\n\tstruct scpi_dvfs_info * (*dvfs_get_info)(u8);\n\tint (*device_domain_id)(struct device *);\n\tint (*get_transition_latency)(struct device *);\n\tint (*add_opps_to_device)(struct device *);\n\tint (*sensor_get_capability)(u16 *);\n\tint (*sensor_get_info)(u16, struct scpi_sensor_info *);\n\tint (*sensor_get_value)(u16, u64 *);\n\tint (*device_get_power_state)(u16);\n\tint (*device_set_power_state)(u16, u8);\n};\n\nstruct scpi_pm_domain {\n\tstruct generic_pm_domain genpd;\n\tstruct scpi_ops *ops;\n\tu32 domain;\n};\n\nstruct scpi_sensor_info {\n\tu16 sensor_id;\n\tu8 class;\n\tu8 trigger_type;\n\tchar name[20];\n};\n\nstruct sensor_data;\n\nstruct scpi_sensors {\n\tstruct scpi_ops *scpi_ops;\n\tstruct sensor_data *data;\n\tstruct list_head thermal_zones;\n\tstruct attribute **attrs;\n\tstruct attribute_group group;\n\tconst struct attribute_group *groups[2];\n};\n\nstruct scpi_shared_mem {\n\t__le32 command;\n\t__le32 status;\n\tu8 payload[0];\n};\n\nstruct scpi_thermal_zone {\n\tint sensor_id;\n\tstruct scpi_sensors *scpi_sensors;\n};\n\nstruct scpi_xfer {\n\tu32 slot;\n\tu32 cmd;\n\tu32 status;\n\tconst void *tx_buf;\n\tvoid *rx_buf;\n\tunsigned int tx_len;\n\tunsigned int rx_len;\n\tstruct list_head node;\n\tstruct completion done;\n};\n\nstruct scpsys_soc_data;\n\nstruct scpsys {\n\tstruct device *dev;\n\tstruct regmap *base;\n\tconst struct scpsys_soc_data *soc_data;\n\tstruct genpd_onecell_data pd_data;\n\tstruct generic_pm_domain *domains[0];\n};\n\nstruct scpsys_bus_prot_data {\n\tu32 bus_prot_set_clr_mask;\n\tu32 bus_prot_set;\n\tu32 bus_prot_clr;\n\tu32 bus_prot_sta_mask;\n\tu32 bus_prot_sta;\n\tu8 flags;\n};\n\nstruct scpsys_domain_data;\n\nstruct scpsys_domain {\n\tstruct generic_pm_domain genpd;\n\tconst struct scpsys_domain_data *data;\n\tstruct scpsys *scpsys;\n\tint num_clks;\n\tstruct clk_bulk_data *clks;\n\tint num_subsys_clks;\n\tstruct clk_bulk_data *subsys_clks;\n\tstruct regmap *infracfg_nao;\n\tstruct regmap *infracfg;\n\tstruct regmap *smi;\n\tstruct regulator *supply;\n};\n\nstruct scpsys_domain_data {\n\tconst char *name;\n\tu32 sta_mask;\n\tint ctl_offs;\n\tu32 sram_pdn_bits;\n\tu32 sram_pdn_ack_bits;\n\tint ext_buck_iso_offs;\n\tu32 ext_buck_iso_mask;\n\tu16 caps;\n\tconst struct scpsys_bus_prot_data bp_cfg[6];\n\tint pwr_sta_offs;\n\tint pwr_sta2nd_offs;\n};\n\nstruct scpsys_soc_data {\n\tconst struct scpsys_domain_data *domains_data;\n\tint num_domains;\n};\n\nstruct scratch {\n\tu8 status[29];\n\tu8 data_token;\n\t__be16 crc_val;\n};\n\nstruct screen_info {\n\t__u8 orig_x;\n\t__u8 orig_y;\n\t__u16 ext_mem_k;\n\t__u16 orig_video_page;\n\t__u8 orig_video_mode;\n\t__u8 orig_video_cols;\n\t__u8 flags;\n\t__u8 unused2;\n\t__u16 orig_video_ega_bx;\n\t__u16 unused3;\n\t__u8 orig_video_lines;\n\t__u8 orig_video_isVGA;\n\t__u16 orig_video_points;\n\t__u16 lfb_width;\n\t__u16 lfb_height;\n\t__u16 lfb_depth;\n\t__u32 lfb_base;\n\t__u32 lfb_size;\n\t__u16 cl_magic;\n\t__u16 cl_offset;\n\t__u16 lfb_linelength;\n\t__u8 red_size;\n\t__u8 red_pos;\n\t__u8 green_size;\n\t__u8 green_pos;\n\t__u8 blue_size;\n\t__u8 blue_pos;\n\t__u8 rsvd_size;\n\t__u8 rsvd_pos;\n\t__u16 vesapm_seg;\n\t__u16 vesapm_off;\n\t__u16 pages;\n\t__u16 vesa_attributes;\n\t__u32 capabilities;\n\t__u32 ext_lfb_base;\n\t__u8 _reserved[2];\n} __attribute__((packed));\n\nstruct scsi_data_buffer {\n\tstruct sg_table table;\n\tunsigned int length;\n};\n\nstruct scsi_cmnd {\n\tstruct scsi_device *device;\n\tstruct list_head eh_entry;\n\tstruct delayed_work abort_work;\n\tstruct callback_head rcu;\n\tint eh_eflags;\n\tint budget_token;\n\tlong unsigned int jiffies_at_alloc;\n\tint retries;\n\tint allowed;\n\tunsigned char prot_op;\n\tunsigned char prot_type;\n\tunsigned char prot_flags;\n\tenum scsi_cmnd_submitter submitter;\n\tshort unsigned int cmd_len;\n\tenum dma_data_direction sc_data_direction;\n\tunsigned char cmnd[32];\n\tstruct scsi_data_buffer sdb;\n\tstruct scsi_data_buffer *prot_sdb;\n\tunsigned int underflow;\n\tunsigned int transfersize;\n\tunsigned int resid_len;\n\tunsigned int sense_len;\n\tunsigned char *sense_buffer;\n\tint flags;\n\tlong unsigned int state;\n\tunsigned int extra_len;\n\tunsigned char *host_scribble;\n\tint result;\n};\n\nstruct scsi_dev_info_list {\n\tstruct list_head dev_info_list;\n\tchar vendor[8];\n\tchar model[16];\n\tblist_flags_t flags;\n\tunsigned int compatible;\n};\n\nstruct scsi_dev_info_list_table {\n\tstruct list_head node;\n\tstruct list_head scsi_dev_info_list;\n\tconst char *name;\n\tint key;\n};\n\nstruct scsi_vpd;\n\nstruct scsi_target;\n\nstruct scsi_device_handler;\n\nstruct scsi_device {\n\tstruct Scsi_Host *host;\n\tstruct request_queue *request_queue;\n\tstruct list_head siblings;\n\tstruct list_head same_target_siblings;\n\tstruct sbitmap budget_map;\n\tatomic_t device_blocked;\n\tatomic_t restarts;\n\tspinlock_t list_lock;\n\tstruct list_head starved_entry;\n\tshort unsigned int queue_depth;\n\tshort unsigned int max_queue_depth;\n\tshort unsigned int last_queue_full_depth;\n\tshort unsigned int last_queue_full_count;\n\tlong unsigned int last_queue_full_time;\n\tlong unsigned int queue_ramp_up_period;\n\tlong unsigned int last_queue_ramp_up;\n\tunsigned int id;\n\tunsigned int channel;\n\tu64 lun;\n\tunsigned int manufacturer;\n\tunsigned int sector_size;\n\tvoid *hostdata;\n\tunsigned char type;\n\tchar scsi_level;\n\tchar inq_periph_qual;\n\tstruct mutex inquiry_mutex;\n\tunsigned char inquiry_len;\n\tunsigned char *inquiry;\n\tconst char *vendor;\n\tconst char *model;\n\tconst char *rev;\n\tstruct scsi_vpd *vpd_pg0;\n\tstruct scsi_vpd *vpd_pg83;\n\tstruct scsi_vpd *vpd_pg80;\n\tstruct scsi_vpd *vpd_pg89;\n\tstruct scsi_vpd *vpd_pgb0;\n\tstruct scsi_vpd *vpd_pgb1;\n\tstruct scsi_vpd *vpd_pgb2;\n\tstruct scsi_vpd *vpd_pgb7;\n\tstruct scsi_target *sdev_target;\n\tblist_flags_t sdev_bflags;\n\tunsigned int eh_timeout;\n\tunsigned int manage_system_start_stop: 1;\n\tunsigned int manage_runtime_start_stop: 1;\n\tunsigned int manage_shutdown: 1;\n\tunsigned int force_runtime_start_on_system_start: 1;\n\tunsigned int removable: 1;\n\tunsigned int changed: 1;\n\tunsigned int busy: 1;\n\tunsigned int lockable: 1;\n\tunsigned int locked: 1;\n\tunsigned int borken: 1;\n\tunsigned int disconnect: 1;\n\tunsigned int soft_reset: 1;\n\tunsigned int sdtr: 1;\n\tunsigned int wdtr: 1;\n\tunsigned int ppr: 1;\n\tunsigned int tagged_supported: 1;\n\tunsigned int simple_tags: 1;\n\tunsigned int was_reset: 1;\n\tunsigned int expecting_cc_ua: 1;\n\tunsigned int use_10_for_rw: 1;\n\tunsigned int use_10_for_ms: 1;\n\tunsigned int set_dbd_for_ms: 1;\n\tunsigned int read_before_ms: 1;\n\tunsigned int no_report_opcodes: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int use_16_for_rw: 1;\n\tunsigned int use_16_for_sync: 1;\n\tunsigned int skip_ms_page_8: 1;\n\tunsigned int skip_ms_page_3f: 1;\n\tunsigned int skip_vpd_pages: 1;\n\tunsigned int try_vpd_pages: 1;\n\tunsigned int use_192_bytes_for_3f: 1;\n\tunsigned int no_start_on_add: 1;\n\tunsigned int allow_restart: 1;\n\tunsigned int start_stop_pwr_cond: 1;\n\tunsigned int no_uld_attach: 1;\n\tunsigned int select_no_atn: 1;\n\tunsigned int fix_capacity: 1;\n\tunsigned int guess_capacity: 1;\n\tunsigned int retry_hwerror: 1;\n\tunsigned int last_sector_bug: 1;\n\tunsigned int no_read_disc_info: 1;\n\tunsigned int no_read_capacity_16: 1;\n\tunsigned int try_rc_10_first: 1;\n\tunsigned int security_supported: 1;\n\tunsigned int is_visible: 1;\n\tunsigned int wce_default_on: 1;\n\tunsigned int no_dif: 1;\n\tunsigned int broken_fua: 1;\n\tunsigned int lun_in_cdb: 1;\n\tunsigned int unmap_limit_for_ws: 1;\n\tunsigned int rpm_autosuspend: 1;\n\tunsigned int ignore_media_change: 1;\n\tunsigned int silence_suspend: 1;\n\tunsigned int no_vpd_size: 1;\n\tunsigned int cdl_supported: 1;\n\tunsigned int cdl_enable: 1;\n\tunsigned int queue_stopped;\n\tbool offline_already;\n\tatomic_t disk_events_disable_depth;\n\tlong unsigned int supported_events[1];\n\tlong unsigned int pending_events[1];\n\tstruct list_head event_list;\n\tstruct work_struct event_work;\n\tunsigned int max_device_blocked;\n\tatomic_t iorequest_cnt;\n\tatomic_t iodone_cnt;\n\tatomic_t ioerr_cnt;\n\tatomic_t iotmo_cnt;\n\tstruct device sdev_gendev;\n\tstruct device sdev_dev;\n\tstruct work_struct requeue_work;\n\tstruct scsi_device_handler *handler;\n\tvoid *handler_data;\n\tsize_t dma_drain_len;\n\tvoid *dma_drain_buf;\n\tunsigned int sg_timeout;\n\tunsigned int sg_reserved_size;\n\tstruct bsg_device *bsg_dev;\n\tunsigned char access_state;\n\tstruct mutex state_mutex;\n\tenum scsi_device_state sdev_state;\n\tstruct task_struct *quiesced_by;\n\tlong unsigned int sdev_data[0];\n};\n\ntypedef void (*activate_complete)(void *, int);\n\nstruct scsi_sense_hdr;\n\nstruct scsi_device_handler {\n\tstruct list_head list;\n\tstruct module *module;\n\tconst char *name;\n\tenum scsi_disposition (*check_sense)(struct scsi_device *, struct scsi_sense_hdr *);\n\tint (*attach)(struct scsi_device *);\n\tvoid (*detach)(struct scsi_device *);\n\tint (*activate)(struct scsi_device *, activate_complete, void *);\n\tblk_status_t (*prep_fn)(struct scsi_device *, struct request *);\n\tint (*set_params)(struct scsi_device *, const char *);\n\tvoid (*rescan)(struct scsi_device *);\n};\n\nstruct opal_dev;\n\nstruct scsi_disk {\n\tstruct scsi_device *device;\n\tstruct device disk_dev;\n\tstruct gendisk *disk;\n\tstruct opal_dev *opal_dev;\n\tatomic_t openers;\n\tsector_t capacity;\n\tint max_retries;\n\tu32 min_xfer_blocks;\n\tu32 max_xfer_blocks;\n\tu32 opt_xfer_blocks;\n\tu32 max_ws_blocks;\n\tu32 max_unmap_blocks;\n\tu32 unmap_granularity;\n\tu32 unmap_alignment;\n\tu32 max_atomic;\n\tu32 atomic_alignment;\n\tu32 atomic_granularity;\n\tu32 max_atomic_with_boundary;\n\tu32 max_atomic_boundary;\n\tu32 index;\n\tunsigned int physical_block_size;\n\tunsigned int max_medium_access_timeouts;\n\tunsigned int medium_access_timed_out;\n\tu16 permanent_stream_count;\n\tu8 media_present;\n\tu8 write_prot;\n\tu8 protection_type;\n\tu8 provisioning_mode;\n\tu8 zeroing_mode;\n\tu8 nr_actuators;\n\tbool suspended;\n\tunsigned int ATO: 1;\n\tunsigned int cache_override: 1;\n\tunsigned int WCE: 1;\n\tunsigned int RCD: 1;\n\tunsigned int DPOFUA: 1;\n\tunsigned int first_scan: 1;\n\tunsigned int lbpme: 1;\n\tunsigned int lbprz: 1;\n\tunsigned int lbpu: 1;\n\tunsigned int lbpws: 1;\n\tunsigned int lbpws10: 1;\n\tunsigned int lbpvpd: 1;\n\tunsigned int ws10: 1;\n\tunsigned int ws16: 1;\n\tunsigned int rc_basis: 2;\n\tunsigned int zoned: 2;\n\tunsigned int urswrz: 1;\n\tunsigned int security: 1;\n\tunsigned int ignore_medium_access_errors: 1;\n\tunsigned int rscs: 1;\n\tunsigned int use_atomic_write_boundary: 1;\n};\n\nstruct scsi_driver {\n\tstruct device_driver gendrv;\n\tint (*resume)(struct device *);\n\tvoid (*rescan)(struct device *);\n\tblk_status_t (*init_command)(struct scsi_cmnd *);\n\tvoid (*uninit_command)(struct scsi_cmnd *);\n\tint (*done)(struct scsi_cmnd *);\n\tint (*eh_action)(struct scsi_cmnd *, int);\n\tvoid (*eh_reset)(struct scsi_cmnd *);\n};\n\nstruct scsi_eh_save {\n\tint result;\n\tunsigned int resid_len;\n\tint eh_eflags;\n\tenum dma_data_direction data_direction;\n\tunsigned int underflow;\n\tunsigned char cmd_len;\n\tunsigned char prot_op;\n\tunsigned char cmnd[32];\n\tstruct scsi_data_buffer sdb;\n\tstruct scatterlist sense_sgl;\n};\n\nstruct scsi_event {\n\tenum scsi_device_event evt_type;\n\tstruct list_head node;\n};\n\nstruct scsi_failures;\n\nstruct scsi_exec_args {\n\tunsigned char *sense;\n\tunsigned int sense_len;\n\tstruct scsi_sense_hdr *sshdr;\n\tblk_mq_req_flags_t req_flags;\n\tint scmd_flags;\n\tint *resid;\n\tstruct scsi_failures *failures;\n};\n\nstruct scsi_failure {\n\tint result;\n\tu8 sense;\n\tu8 asc;\n\tu8 ascq;\n\ts8 allowed;\n\ts8 retries;\n};\n\nstruct scsi_failures {\n\tint total_allowed;\n\tint total_retries;\n\tstruct scsi_failure *failure_definitions;\n};\n\nstruct scsi_host_busy_iter_data {\n\tbool (*fn)(struct scsi_cmnd *, void *);\n\tvoid *priv;\n};\n\nstruct scsi_host_template {\n\tunsigned int cmd_size;\n\tint (*queuecommand)(struct Scsi_Host *, struct scsi_cmnd *);\n\tvoid (*commit_rqs)(struct Scsi_Host *, u16);\n\tstruct module *module;\n\tconst char *name;\n\tconst char * (*info)(struct Scsi_Host *);\n\tint (*ioctl)(struct scsi_device *, unsigned int, void *);\n\tint (*compat_ioctl)(struct scsi_device *, unsigned int, void *);\n\tint (*init_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *);\n\tint (*exit_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *);\n\tint (*eh_abort_handler)(struct scsi_cmnd *);\n\tint (*eh_device_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_target_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_bus_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_host_reset_handler)(struct scsi_cmnd *);\n\tint (*sdev_init)(struct scsi_device *);\n\tint (*sdev_configure)(struct scsi_device *, struct queue_limits *);\n\tvoid (*sdev_destroy)(struct scsi_device *);\n\tint (*target_alloc)(struct scsi_target *);\n\tvoid (*target_destroy)(struct scsi_target *);\n\tint (*scan_finished)(struct Scsi_Host *, long unsigned int);\n\tvoid (*scan_start)(struct Scsi_Host *);\n\tint (*change_queue_depth)(struct scsi_device *, int);\n\tvoid (*map_queues)(struct Scsi_Host *);\n\tint (*mq_poll)(struct Scsi_Host *, unsigned int);\n\tbool (*dma_need_drain)(struct request *);\n\tint (*bios_param)(struct scsi_device *, struct block_device *, sector_t, int *);\n\tvoid (*unlock_native_capacity)(struct scsi_device *);\n\tint (*show_info)(struct seq_file *, struct Scsi_Host *);\n\tint (*write_info)(struct Scsi_Host *, char *, int);\n\tenum scsi_timeout_action (*eh_timed_out)(struct scsi_cmnd *);\n\tbool (*eh_should_retry_cmd)(struct scsi_cmnd *);\n\tint (*host_reset)(struct Scsi_Host *, int);\n\tconst char *proc_name;\n\tint can_queue;\n\tint this_id;\n\tshort unsigned int sg_tablesize;\n\tshort unsigned int sg_prot_tablesize;\n\tunsigned int max_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int dma_alignment;\n\tlong unsigned int dma_boundary;\n\tlong unsigned int virt_boundary_mask;\n\tshort int cmd_per_lun;\n\tbool tag_alloc_policy_rr: 1;\n\tunsigned int track_queue_depth: 1;\n\tunsigned int supported_mode: 2;\n\tunsigned int emulated: 1;\n\tunsigned int skip_settle_delay: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int host_tagset: 1;\n\tunsigned int queuecommand_may_block: 1;\n\tunsigned int max_host_blocked;\n\tconst struct attribute_group **shost_groups;\n\tconst struct attribute_group **sdev_groups;\n\tu64 vendor_id;\n};\n\nstruct scsi_idlun {\n\t__u32 dev_id;\n\t__u32 host_unique_id;\n};\n\nstruct scsi_io_group_descriptor {\n\tu8 ic_enable: 1;\n\tu8 cs_enble: 1;\n\tu8 st_enble: 1;\n\tu8 reserved1: 3;\n\tu8 io_advice_hints_mode: 2;\n\tu8 reserved2[3];\n\tu8 lbm_descriptor_type: 4;\n\tu8 rlbsr: 2;\n\tu8 reserved3: 1;\n\tu8 acdlu: 1;\n\tu8 params[2];\n\tu8 reserved4;\n\tu8 reserved5[8];\n};\n\nstruct scsi_ioctl_command {\n\tunsigned int inlen;\n\tunsigned int outlen;\n\tunsigned char data[0];\n};\n\nstruct scsi_mode_data {\n\t__u32 length;\n\t__u16 block_descriptor_length;\n\t__u8 medium_type;\n\t__u8 device_specific;\n\t__u8 header_length;\n\t__u8 longlba: 1;\n};\n\nstruct scsi_sense_hdr {\n\tu8 response_code;\n\tu8 sense_key;\n\tu8 asc;\n\tu8 ascq;\n\tu8 byte4;\n\tu8 byte5;\n\tu8 byte6;\n\tu8 additional_length;\n};\n\nstruct scsi_stream_status {\n\tu8 reserved1: 7;\n\tu8 perm: 1;\n\tu8 reserved2;\n\t__be16 stream_identifier;\n\tu8 rel_lifetime: 6;\n\tu8 reserved3: 2;\n\tu8 reserved4[3];\n};\n\nstruct scsi_stream_status_header {\n\t__be32 len;\n\tu16 reserved;\n\t__be16 number_of_open_streams;\n\tstruct {\n\t\tstruct {} __empty_stream_status;\n\t\tstruct scsi_stream_status stream_status[0];\n\t};\n};\n\nstruct scsi_target {\n\tstruct scsi_device *starget_sdev_user;\n\tstruct list_head siblings;\n\tstruct list_head devices;\n\tstruct device dev;\n\tstruct kref reap_ref;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int create: 1;\n\tunsigned int single_lun: 1;\n\tunsigned int pdt_1f_for_no_lun: 1;\n\tunsigned int no_report_luns: 1;\n\tunsigned int expecting_lun_change: 1;\n\tatomic_t target_busy;\n\tatomic_t target_blocked;\n\tunsigned int can_queue;\n\tunsigned int max_target_blocked;\n\tchar scsi_level;\n\tenum scsi_target_state state;\n\tvoid *hostdata;\n\tlong unsigned int starget_data[0];\n};\n\nstruct scsi_varlen_cdb_hdr {\n\t__u8 opcode;\n\t__u8 control;\n\t__u8 misc[5];\n\t__u8 additional_cdb_length;\n\t__be16 service_action;\n};\n\nstruct scsi_vpd {\n\tstruct callback_head rcu;\n\tint len;\n\tunsigned char data[0];\n};\n\nstruct sctphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be32 vtag;\n\t__le32 checksum;\n};\n\nstruct scu_gpio_priv {\n\tstruct gpio_chip chip;\n\tstruct mutex lock;\n\tstruct device *dev;\n\tstruct imx_sc_ipc *handle;\n};\n\nstruct scu_wakeup {\n\tu32 mask;\n\tu32 wakeup_src;\n\tbool valid;\n};\n\nstruct sd_app_op_cond_busy_data {\n\tstruct mmc_host *host;\n\tu32 ocr;\n\tstruct mmc_command *cmd;\n};\n\nstruct sd_busy_data {\n\tstruct mmc_card *card;\n\tu8 *reg_buf;\n};\n\nstruct sd_emmc_desc {\n\tu32 cmd_cfg;\n\tu32 cmd_arg;\n\tu32 cmd_data;\n\tu32 cmd_resp;\n};\n\nstruct sd_flow_limit {\n\tu64 count;\n\tunsigned int num_buckets;\n\tunsigned int history_head;\n\tu16 history[128];\n\tu8 buckets[0];\n};\n\nstruct sg_lb_stats {\n\tlong unsigned int avg_load;\n\tlong unsigned int group_load;\n\tlong unsigned int group_capacity;\n\tlong unsigned int group_util;\n\tlong unsigned int group_runnable;\n\tunsigned int sum_nr_running;\n\tunsigned int sum_h_nr_running;\n\tunsigned int idle_cpus;\n\tunsigned int group_weight;\n\tenum group_type group_type;\n\tunsigned int group_asym_packing;\n\tunsigned int group_smt_balance;\n\tlong unsigned int group_misfit_task_load;\n\tunsigned int nr_numa_running;\n\tunsigned int nr_preferred_running;\n};\n\nstruct sd_lb_stats {\n\tstruct sched_group *busiest;\n\tstruct sched_group *local;\n\tlong unsigned int total_load;\n\tlong unsigned int total_capacity;\n\tlong unsigned int avg_load;\n\tunsigned int prefer_sibling;\n\tstruct sg_lb_stats busiest_stat;\n\tstruct sg_lb_stats local_stat;\n};\n\nstruct sd_mux_hw_data {\n\tstruct clk_hw_data hw_data;\n\tconst u32 *mtable;\n};\n\nstruct sd_uhs2_wait_active_state_data {\n\tstruct mmc_host *host;\n\tstruct mmc_command *cmd;\n};\n\nstruct shash_desc {\n\tstruct crypto_shash *tfm;\n\tvoid *__ctx[0];\n};\n\nstruct sdesc {\n\tstruct shash_desc shash;\n\tchar ctx[0];\n};\n\nstruct sdhci_acpi_chip {\n\tconst struct sdhci_ops *ops;\n\tunsigned int quirks;\n\tunsigned int quirks2;\n\tlong unsigned int caps;\n\tunsigned int caps2;\n\tmmc_pm_flag_t pm_caps;\n};\n\nstruct sdhci_acpi_slot;\n\nstruct sdhci_acpi_host {\n\tstruct sdhci_host *host;\n\tconst struct sdhci_acpi_slot *slot;\n\tstruct platform_device *pdev;\n\tbool use_runtime_pm;\n\tbool is_intel;\n\tbool reset_signal_volt_on_suspend;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct sdhci_acpi_slot {\n\tconst struct sdhci_acpi_chip *chip;\n\tunsigned int quirks;\n\tunsigned int quirks2;\n\tlong unsigned int caps;\n\tunsigned int caps2;\n\tmmc_pm_flag_t pm_caps;\n\tunsigned int flags;\n\tsize_t priv_size;\n\tint (*probe_slot)(struct platform_device *, struct acpi_device *);\n\tint (*remove_slot)(struct platform_device *);\n\tint (*free_slot)(struct platform_device *);\n\tint (*setup_host)(struct platform_device *);\n};\n\nstruct sdhci_acpi_uid_slot {\n\tconst char *hid;\n\tconst char *uid;\n\tconst struct sdhci_acpi_slot *slot;\n};\n\nstruct sdhci_adma2_64_desc {\n\t__le16 cmd;\n\t__le16 len;\n\t__le32 addr_lo;\n\t__le32 addr_hi;\n};\n\nstruct sdhci_am654_data {\n\tstruct regmap *base;\n\tu32 otap_del_sel[11];\n\tu32 itap_del_sel[11];\n\tu32 itap_del_ena[11];\n\tint clkbuf_sel;\n\tint trm_icp;\n\tint drv_strength;\n\tint strb_sel;\n\tu32 flags;\n\tu32 quirks;\n\tbool dll_enable;\n\tu32 tuning_loop;\n};\n\nstruct sdhci_am654_driver_data {\n\tconst struct sdhci_pltfm_data *pdata;\n\tu32 flags;\n};\n\nstruct sdhci_arasan_clk_data {\n\tstruct clk_hw sdcardclk_hw;\n\tstruct clk *sdcardclk;\n\tstruct clk_hw sampleclk_hw;\n\tstruct clk *sampleclk;\n\tint clk_phase_in[11];\n\tint clk_phase_out[11];\n\tvoid (*set_clk_delays)(struct sdhci_host *);\n\tvoid *clk_of_data;\n};\n\nstruct sdhci_arasan_clk_ops {\n\tconst struct clk_ops *sdcardclk_ops;\n\tconst struct clk_ops *sampleclk_ops;\n};\n\nstruct sdhci_arasan_soc_ctl_map;\n\nstruct sdhci_arasan_data {\n\tstruct sdhci_host *host;\n\tstruct clk *clk_ahb;\n\tstruct phy *phy;\n\tbool is_phy_on;\n\tbool internal_phy_reg;\n\tbool has_cqe;\n\tstruct sdhci_arasan_clk_data clk_data;\n\tconst struct sdhci_arasan_clk_ops *clk_ops;\n\tstruct regmap *soc_ctl_base;\n\tconst struct sdhci_arasan_soc_ctl_map *soc_ctl_map;\n\tunsigned int quirks;\n};\n\nstruct sdhci_arasan_of_data {\n\tconst struct sdhci_arasan_soc_ctl_map *soc_ctl_map;\n\tconst struct sdhci_pltfm_data *pdata;\n\tconst struct sdhci_arasan_clk_ops *clk_ops;\n};\n\nstruct sdhci_arasan_soc_ctl_field {\n\tu32 reg;\n\tu16 width;\n\ts16 shift;\n};\n\nstruct sdhci_arasan_soc_ctl_map {\n\tstruct sdhci_arasan_soc_ctl_field baseclkfreq;\n\tstruct sdhci_arasan_soc_ctl_field clockmultiplier;\n\tstruct sdhci_arasan_soc_ctl_field support64b;\n\tbool hiword_update;\n};\n\nstruct sdhci_brcmstb_priv {\n\tvoid *cfg_regs;\n\tunsigned int flags;\n\tstruct clk *base_clk;\n\tu32 base_freq_hz;\n};\n\nstruct sdhci_cdns_drv_data {\n\tint (*init)(struct platform_device *);\n\tconst struct sdhci_pltfm_data pltfm_data;\n};\n\nstruct sdhci_cdns_phy_cfg {\n\tconst char *property;\n\tu8 addr;\n};\n\nstruct sdhci_cdns_phy_param {\n\tu8 addr;\n\tu8 data;\n};\n\nstruct sdhci_cdns_priv {\n\tvoid *hrs_addr;\n\tvoid *ctl_addr;\n\tspinlock_t wrlock;\n\tbool enhanced_strobe;\n\tvoid (*priv_writel)(struct sdhci_cdns_priv *, u32, void *);\n\tstruct reset_control *rst_hw;\n\tunsigned int nr_phy_params;\n\tstruct sdhci_cdns_phy_param phy_params[0];\n};\n\nstruct sdhci_esdhc {\n\tu8 vendor_ver;\n\tu8 spec_ver;\n\tbool quirk_incorrect_hostver;\n\tbool quirk_limited_clk_division;\n\tbool quirk_unreliable_pulse_detection;\n\tbool quirk_tuning_erratum_type1;\n\tbool quirk_tuning_erratum_type2;\n\tbool quirk_ignore_data_inhibit;\n\tbool quirk_delay_before_data_reset;\n\tbool quirk_trans_complete_erratum;\n\tbool in_sw_tuning;\n\tunsigned int peripheral_clock;\n\tconst struct esdhc_clk_fixup *clk_fixup;\n\tu32 div_ratio;\n};\n\nstruct sdhci_host {\n\tconst char *hw_name;\n\tunsigned int quirks;\n\tunsigned int quirks2;\n\tint irq;\n\tvoid *ioaddr;\n\tphys_addr_t mapbase;\n\tchar *bounce_buffer;\n\tdma_addr_t bounce_addr;\n\tunsigned int bounce_buffer_size;\n\tconst struct sdhci_ops *ops;\n\tstruct mmc_host *mmc;\n\tstruct mmc_host_ops mmc_host_ops;\n\tu64 dma_mask;\n\tstruct led_classdev led;\n\tchar led_name[32];\n\tspinlock_t lock;\n\tint flags;\n\tunsigned int version;\n\tunsigned int max_clk;\n\tunsigned int timeout_clk;\n\tu8 max_timeout_count;\n\tunsigned int clk_mul;\n\tunsigned int clock;\n\tu8 pwr;\n\tu8 drv_type;\n\tbool reinit_uhs;\n\tbool runtime_suspended;\n\tbool bus_on;\n\tbool preset_enabled;\n\tbool pending_reset;\n\tbool irq_wake_enabled;\n\tbool v4_mode;\n\tbool use_external_dma;\n\tbool always_defer_done;\n\tstruct mmc_request *mrqs_done[2];\n\tstruct mmc_command *cmd;\n\tstruct mmc_command *data_cmd;\n\tstruct mmc_command *deferred_cmd;\n\tstruct mmc_data *data;\n\tunsigned int data_early: 1;\n\tstruct sg_mapping_iter sg_miter;\n\tunsigned int blocks;\n\tint sg_count;\n\tint max_adma;\n\tvoid *adma_table;\n\tvoid *align_buffer;\n\tsize_t adma_table_sz;\n\tsize_t align_buffer_sz;\n\tdma_addr_t adma_addr;\n\tdma_addr_t align_addr;\n\tunsigned int desc_sz;\n\tunsigned int alloc_desc_sz;\n\tstruct workqueue_struct *complete_wq;\n\tstruct work_struct complete_work;\n\tstruct timer_list timer;\n\tstruct timer_list data_timer;\n\tvoid (*complete_work_fn)(struct work_struct *);\n\tirqreturn_t (*thread_irq_fn)(int, void *);\n\tu32 caps;\n\tu32 caps1;\n\tbool read_caps;\n\tbool sdhci_core_to_disable_vqmmc;\n\tunsigned int ocr_avail_sdio;\n\tunsigned int ocr_avail_sd;\n\tunsigned int ocr_avail_mmc;\n\tu32 ocr_mask;\n\tunsigned int timing;\n\tu32 thread_isr;\n\tu32 ier;\n\tbool cqe_on;\n\tu32 cqe_ier;\n\tu32 cqe_err_ier;\n\twait_queue_head_t buf_ready_int;\n\tunsigned int tuning_done;\n\tunsigned int tuning_count;\n\tunsigned int tuning_mode;\n\tunsigned int tuning_err;\n\tint tuning_delay;\n\tint tuning_loop_count;\n\tu32 sdma_boundary;\n\tu32 adma_table_cnt;\n\tu64 data_timeout;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct sdhci_iproc_data {\n\tconst struct sdhci_pltfm_data *pdata;\n\tu32 caps;\n\tu32 caps1;\n\tu32 mmc_caps;\n\tbool missing_caps;\n};\n\nstruct sdhci_iproc_host {\n\tconst struct sdhci_iproc_data *data;\n\tu32 shadow_cmd;\n\tu32 shadow_blk;\n\tbool is_cmd_shadowed;\n\tbool is_blk_shadowed;\n};\n\nstruct sdhci_msm_variant_ops;\n\nstruct sdhci_msm_offset;\n\nstruct sdhci_msm_host {\n\tstruct platform_device *pdev;\n\tvoid *core_mem;\n\tint pwr_irq;\n\tstruct clk *bus_clk;\n\tstruct clk *xo_clk;\n\tstruct clk_bulk_data bulk_clks[4];\n\tlong unsigned int clk_rate;\n\tstruct mmc_host *mmc;\n\tbool use_14lpp_dll_reset;\n\tbool tuning_done;\n\tbool calibration_done;\n\tu8 saved_tuning_phase;\n\tbool use_cdclp533;\n\tu32 curr_pwr_state;\n\tu32 curr_io_level;\n\twait_queue_head_t pwr_irq_wait;\n\tbool pwr_irq_flag;\n\tu32 caps_0;\n\tbool mci_removed;\n\tbool restore_dll_config;\n\tconst struct sdhci_msm_variant_ops *var_ops;\n\tconst struct sdhci_msm_offset *offset;\n\tbool use_cdr;\n\tu32 transfer_mode;\n\tbool updated_ddr_cfg;\n\tbool uses_tassadar_dll;\n\tu32 dll_config;\n\tu32 ddr_config;\n\tbool vqmmc_enabled;\n};\n\nstruct sdhci_msm_offset {\n\tu32 core_hc_mode;\n\tu32 core_mci_data_cnt;\n\tu32 core_mci_status;\n\tu32 core_mci_fifo_cnt;\n\tu32 core_mci_version;\n\tu32 core_generics;\n\tu32 core_testbus_config;\n\tu32 core_testbus_sel2_bit;\n\tu32 core_testbus_ena;\n\tu32 core_testbus_sel2;\n\tu32 core_pwrctl_status;\n\tu32 core_pwrctl_mask;\n\tu32 core_pwrctl_clear;\n\tu32 core_pwrctl_ctl;\n\tu32 core_sdcc_debug_reg;\n\tu32 core_dll_config;\n\tu32 core_dll_status;\n\tu32 core_vendor_spec;\n\tu32 core_vendor_spec_adma_err_addr0;\n\tu32 core_vendor_spec_adma_err_addr1;\n\tu32 core_vendor_spec_func2;\n\tu32 core_vendor_spec_capabilities0;\n\tu32 core_ddr_200_cfg;\n\tu32 core_vendor_spec3;\n\tu32 core_dll_config_2;\n\tu32 core_dll_config_3;\n\tu32 core_ddr_config_old;\n\tu32 core_ddr_config;\n\tu32 core_dll_usr_ctl;\n};\n\nstruct sdhci_msm_variant_info {\n\tbool mci_removed;\n\tbool restore_dll_config;\n\tconst struct sdhci_msm_variant_ops *var_ops;\n\tconst struct sdhci_msm_offset *offset;\n};\n\nstruct sdhci_msm_variant_ops {\n\tu32 (*msm_readl_relaxed)(struct sdhci_host *, u32);\n\tvoid (*msm_writel_relaxed)(u32, struct sdhci_host *, u32);\n};\n\nstruct sdhci_ops {\n\tu32 (*read_l)(struct sdhci_host *, int);\n\tu16 (*read_w)(struct sdhci_host *, int);\n\tu8 (*read_b)(struct sdhci_host *, int);\n\tvoid (*write_l)(struct sdhci_host *, u32, int);\n\tvoid (*write_w)(struct sdhci_host *, u16, int);\n\tvoid (*write_b)(struct sdhci_host *, u8, int);\n\tvoid (*set_clock)(struct sdhci_host *, unsigned int);\n\tvoid (*set_power)(struct sdhci_host *, unsigned char, short unsigned int);\n\tu32 (*irq)(struct sdhci_host *, u32);\n\tint (*set_dma_mask)(struct sdhci_host *);\n\tint (*enable_dma)(struct sdhci_host *);\n\tunsigned int (*get_max_clock)(struct sdhci_host *);\n\tunsigned int (*get_min_clock)(struct sdhci_host *);\n\tunsigned int (*get_timeout_clock)(struct sdhci_host *);\n\tunsigned int (*get_max_timeout_count)(struct sdhci_host *);\n\tvoid (*set_timeout)(struct sdhci_host *, struct mmc_command *);\n\tvoid (*set_bus_width)(struct sdhci_host *, int);\n\tvoid (*platform_send_init_74_clocks)(struct sdhci_host *, u8);\n\tunsigned int (*get_ro)(struct sdhci_host *);\n\tvoid (*reset)(struct sdhci_host *, u8);\n\tint (*platform_execute_tuning)(struct sdhci_host *, u32);\n\tvoid (*set_uhs_signaling)(struct sdhci_host *, unsigned int);\n\tvoid (*hw_reset)(struct sdhci_host *);\n\tvoid (*adma_workaround)(struct sdhci_host *, u32);\n\tvoid (*card_event)(struct sdhci_host *);\n\tvoid (*voltage_switch)(struct sdhci_host *);\n\tvoid (*adma_write_desc)(struct sdhci_host *, void **, dma_addr_t, int, unsigned int);\n\tvoid (*copy_to_bounce_buffer)(struct sdhci_host *, struct mmc_data *, unsigned int);\n\tvoid (*request_done)(struct sdhci_host *, struct mmc_request *);\n\tvoid (*dump_vendor_regs)(struct sdhci_host *);\n\tvoid (*dump_uhs2_regs)(struct sdhci_host *);\n\tvoid (*uhs2_pre_detect_init)(struct sdhci_host *);\n};\n\nstruct sdhci_pltfm_host {\n\tstruct clk *clk;\n\tunsigned int clock;\n\tu16 xfer_mode_shadow;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct sdhci_sparx5_data {\n\tstruct sdhci_host *host;\n\tstruct regmap *cpu_ctrl;\n\tint delay_clock;\n};\n\nstruct sdhci_tegra_autocal_offsets {\n\tu32 pull_up_3v3;\n\tu32 pull_down_3v3;\n\tu32 pull_up_3v3_timeout;\n\tu32 pull_down_3v3_timeout;\n\tu32 pull_up_1v8;\n\tu32 pull_down_1v8;\n\tu32 pull_up_1v8_timeout;\n\tu32 pull_down_1v8_timeout;\n\tu32 pull_up_sdr104;\n\tu32 pull_down_sdr104;\n\tu32 pull_up_hs400;\n\tu32 pull_down_hs400;\n};\n\nstruct sdhci_tegra_soc_data;\n\nstruct sdhci_tegra {\n\tconst struct sdhci_tegra_soc_data *soc_data;\n\tstruct gpio_desc *power_gpio;\n\tstruct clk *tmclk;\n\tbool ddr_signaling;\n\tbool pad_calib_required;\n\tbool pad_control_available;\n\tstruct reset_control *rst;\n\tstruct pinctrl *pinctrl_sdmmc;\n\tstruct pinctrl_state *pinctrl_state_3v3;\n\tstruct pinctrl_state *pinctrl_state_1v8;\n\tstruct pinctrl_state *pinctrl_state_3v3_drv;\n\tstruct pinctrl_state *pinctrl_state_1v8_drv;\n\tstruct sdhci_tegra_autocal_offsets autocal_offsets;\n\tktime_t last_calib;\n\tu32 default_tap;\n\tu32 default_trim;\n\tu32 dqs_trim;\n\tbool enable_hwcq;\n\tlong unsigned int curr_clk_rate;\n\tu8 tuned_tap_delay;\n\tu32 stream_id;\n};\n\nstruct sdhci_tegra_soc_data {\n\tconst struct sdhci_pltfm_data *pdata;\n\tu64 dma_mask;\n\tu32 nvquirks;\n\tu8 min_tap_delay;\n\tu8 max_tap_delay;\n};\n\nstruct sdio_device_id {\n\t__u8 class;\n\t__u16 vendor;\n\t__u16 device;\n\tkernel_ulong_t driver_data;\n};\n\nstruct sdio_driver {\n\tchar *name;\n\tconst struct sdio_device_id *id_table;\n\tint (*probe)(struct sdio_func *, const struct sdio_device_id *);\n\tvoid (*remove)(struct sdio_func *);\n\tstruct device_driver drv;\n};\n\ntypedef void sdio_irq_handler_t(struct sdio_func *);\n\nstruct sdio_func {\n\tstruct mmc_card *card;\n\tstruct device dev;\n\tsdio_irq_handler_t *irq_handler;\n\tunsigned int num;\n\tunsigned char class;\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tunsigned int max_blksize;\n\tunsigned int cur_blksize;\n\tunsigned int enable_timeout;\n\tunsigned int state;\n\tu8 *tmpbuf;\n\tu8 major_rev;\n\tu8 minor_rev;\n\tunsigned int num_info;\n\tconst char **info;\n\tstruct sdio_func_tuple *tuples;\n};\n\nstruct sdio_func_tuple {\n\tstruct sdio_func_tuple *next;\n\tunsigned char code;\n\tunsigned char size;\n\tunsigned char data[0];\n};\n\nstruct sdmmc_tuning_ops;\n\nstruct sdmmc_dlyb {\n\tvoid *base;\n\tu32 unit;\n\tu32 max;\n\tstruct sdmmc_tuning_ops *ops;\n};\n\nstruct sdmmc_idma {\n\tdma_addr_t sg_dma;\n\tvoid *sg_cpu;\n\tdma_addr_t bounce_dma_addr;\n\tvoid *bounce_buf;\n\tbool use_bounce_buffer;\n};\n\nstruct sdmmc_lli_desc {\n\tu32 idmalar;\n\tu32 idmabase;\n\tu32 idmasize;\n};\n\nstruct sdmmc_tuning_ops {\n\tint (*dlyb_enable)(struct sdmmc_dlyb *);\n\tvoid (*set_input_ck)(struct sdmmc_dlyb *);\n\tint (*tuning_prepare)(struct mmci_host *);\n\tint (*set_cfg)(struct sdmmc_dlyb *, int, int, bool);\n};\n\nstruct sec_opmode_data {\n\tint id;\n\tunsigned int mode;\n};\n\nstruct xfrm_offload {\n\tstruct {\n\t\t__u32 low;\n\t\t__u32 hi;\n\t} seq;\n\t__u32 flags;\n\t__u32 status;\n\t__u32 orig_mac_len;\n\t__u8 proto;\n\t__u8 inner_ipproto;\n};\n\nstruct xfrm_state;\n\nstruct sec_path {\n\tint len;\n\tint olen;\n\tint verified_cnt;\n\tstruct xfrm_state *xvec[6];\n\tstruct xfrm_offload ovec[1];\n};\n\nstruct sec_regulator_data;\n\nstruct sec_platform_data {\n\tstruct sec_regulator_data *regulators;\n\tstruct sec_opmode_data *opmode;\n\tint num_regulators;\n\tint buck_gpios[3];\n\tint buck_ds[3];\n\tunsigned int buck2_voltage[8];\n\tbool buck2_gpiodvs;\n\tunsigned int buck3_voltage[8];\n\tbool buck3_gpiodvs;\n\tunsigned int buck4_voltage[8];\n\tbool buck4_gpiodvs;\n\tint buck_default_idx;\n\tint buck_ramp_delay;\n\tbool buck2_ramp_enable;\n\tbool buck3_ramp_enable;\n\tbool buck4_ramp_enable;\n\tint buck2_init;\n\tint buck3_init;\n\tint buck4_init;\n\tbool manual_poweroff;\n\tbool disable_wrstbi;\n};\n\nstruct sec_pmic_dev {\n\tstruct device *dev;\n\tstruct sec_platform_data *pdata;\n\tstruct regmap *regmap_pmic;\n\tstruct i2c_client *i2c;\n\tlong unsigned int device_type;\n\tint irq;\n\tstruct regmap_irq_chip_data *irq_data;\n};\n\nstruct sec_regulator_data {\n\tint id;\n\tstruct regulator_init_data *initdata;\n\tstruct device_node *reg_node;\n\tstruct gpio_desc *ext_control_gpiod;\n};\n\nstruct seccomp_filter;\n\nstruct seccomp {\n\tint mode;\n\tatomic_t filter_count;\n\tstruct seccomp_filter *filter;\n};\n\nstruct seccomp_data {\n\tint nr;\n\t__u32 arch;\n\t__u64 instruction_pointer;\n\t__u64 args[6];\n};\n\nstruct seccomp_filter {\n\trefcount_t refs;\n\trefcount_t users;\n\tbool log;\n\tbool wait_killable_recv;\n\tstruct action_cache cache;\n\tstruct seccomp_filter *prev;\n\tstruct bpf_prog *prog;\n\tstruct notification *notif;\n\tstruct mutex notify_lock;\n\twait_queue_head_t wqh;\n};\n\nstruct seccomp_kaddfd {\n\tstruct file *file;\n\tint fd;\n\tunsigned int flags;\n\t__u32 ioctl_flags;\n\tunion {\n\t\tbool setfd;\n\t\tint ret;\n\t};\n\tstruct completion completion;\n\tstruct list_head list;\n};\n\nstruct seccomp_knotif {\n\tstruct task_struct *task;\n\tu64 id;\n\tconst struct seccomp_data *data;\n\tenum notify_state state;\n\tint error;\n\tlong int val;\n\tu32 flags;\n\tstruct completion ready;\n\tstruct list_head list;\n\tstruct list_head addfd;\n};\n\nstruct seccomp_log_name {\n\tu32 log;\n\tconst char *name;\n};\n\nstruct seccomp_notif {\n\t__u64 id;\n\t__u32 pid;\n\t__u32 flags;\n\tstruct seccomp_data data;\n};\n\nstruct seccomp_notif_addfd {\n\t__u64 id;\n\t__u32 flags;\n\t__u32 srcfd;\n\t__u32 newfd;\n\t__u32 newfd_flags;\n};\n\nstruct seccomp_notif_resp {\n\t__u64 id;\n\t__s64 val;\n\t__s32 error;\n\t__u32 flags;\n};\n\nstruct seccomp_notif_sizes {\n\t__u16 seccomp_notif;\n\t__u16 seccomp_notif_resp;\n\t__u16 seccomp_data;\n};\n\nstruct secondary_data {\n\tstruct task_struct *task;\n\tlong int status;\n};\n\nstruct timezone;\n\nstruct xattr;\n\nstruct sembuf;\n\nunion security_list_options {\n\tint (*binder_set_context_mgr)(const struct cred *);\n\tint (*binder_transaction)(const struct cred *, const struct cred *);\n\tint (*binder_transfer_binder)(const struct cred *, const struct cred *);\n\tint (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *);\n\tint (*ptrace_access_check)(struct task_struct *, unsigned int);\n\tint (*ptrace_traceme)(struct task_struct *);\n\tint (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *);\n\tint (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *);\n\tint (*capable)(const struct cred *, struct user_namespace *, int, unsigned int);\n\tint (*quotactl)(int, int, int, const struct super_block *);\n\tint (*quota_on)(struct dentry *);\n\tint (*syslog)(int);\n\tint (*settime)(const struct timespec64 *, const struct timezone *);\n\tint (*vm_enough_memory)(struct mm_struct *, long int);\n\tint (*bprm_creds_for_exec)(struct linux_binprm *);\n\tint (*bprm_creds_from_file)(struct linux_binprm *, const struct file *);\n\tint (*bprm_check_security)(struct linux_binprm *);\n\tvoid (*bprm_committing_creds)(const struct linux_binprm *);\n\tvoid (*bprm_committed_creds)(const struct linux_binprm *);\n\tint (*fs_context_submount)(struct fs_context *, struct super_block *);\n\tint (*fs_context_dup)(struct fs_context *, struct fs_context *);\n\tint (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *);\n\tint (*sb_alloc_security)(struct super_block *);\n\tvoid (*sb_delete)(struct super_block *);\n\tvoid (*sb_free_security)(struct super_block *);\n\tvoid (*sb_free_mnt_opts)(void *);\n\tint (*sb_eat_lsm_opts)(char *, void **);\n\tint (*sb_mnt_opts_compat)(struct super_block *, void *);\n\tint (*sb_remount)(struct super_block *, void *);\n\tint (*sb_kern_mount)(const struct super_block *);\n\tint (*sb_show_options)(struct seq_file *, struct super_block *);\n\tint (*sb_statfs)(struct dentry *);\n\tint (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *);\n\tint (*sb_umount)(struct vfsmount *, int);\n\tint (*sb_pivotroot)(const struct path *, const struct path *);\n\tint (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *);\n\tint (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *);\n\tint (*move_mount)(const struct path *, const struct path *);\n\tint (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *);\n\tint (*dentry_create_files_as)(struct dentry *, int, struct qstr *, const struct cred *, struct cred *);\n\tint (*path_notify)(const struct path *, u64, unsigned int);\n\tint (*inode_alloc_security)(struct inode *);\n\tvoid (*inode_free_security)(struct inode *);\n\tvoid (*inode_free_security_rcu)(void *);\n\tint (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *);\n\tint (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *);\n\tint (*inode_create)(struct inode *, struct dentry *, umode_t);\n\tvoid (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *);\n\tint (*inode_link)(struct dentry *, struct inode *, struct dentry *);\n\tint (*inode_unlink)(struct inode *, struct dentry *);\n\tint (*inode_symlink)(struct inode *, struct dentry *, const char *);\n\tint (*inode_mkdir)(struct inode *, struct dentry *, umode_t);\n\tint (*inode_rmdir)(struct inode *, struct dentry *);\n\tint (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t);\n\tint (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *);\n\tint (*inode_readlink)(struct dentry *);\n\tint (*inode_follow_link)(struct dentry *, struct inode *, bool);\n\tint (*inode_permission)(struct inode *, int);\n\tint (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *);\n\tvoid (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int);\n\tint (*inode_getattr)(const struct path *);\n\tint (*inode_xattr_skipcap)(const char *);\n\tint (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int);\n\tvoid (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int);\n\tint (*inode_getxattr)(struct dentry *, const char *);\n\tint (*inode_listxattr)(struct dentry *);\n\tint (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *);\n\tvoid (*inode_post_removexattr)(struct dentry *, const char *);\n\tint (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *);\n\tvoid (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *);\n\tint (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tint (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tvoid (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tint (*inode_need_killpriv)(struct dentry *);\n\tint (*inode_killpriv)(struct mnt_idmap *, struct dentry *);\n\tint (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool);\n\tint (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int);\n\tint (*inode_listsecurity)(struct inode *, char *, size_t);\n\tvoid (*inode_getlsmprop)(struct inode *, struct lsm_prop *);\n\tint (*inode_copy_up)(struct dentry *, struct cred **);\n\tint (*inode_copy_up_xattr)(struct dentry *, const char *);\n\tint (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t);\n\tint (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *);\n\tint (*file_permission)(struct file *, int);\n\tint (*file_alloc_security)(struct file *);\n\tvoid (*file_release)(struct file *);\n\tvoid (*file_free_security)(struct file *);\n\tint (*file_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int);\n\tint (*mmap_addr)(long unsigned int);\n\tint (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int);\n\tint (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int);\n\tint (*file_lock)(struct file *, unsigned int);\n\tint (*file_fcntl)(struct file *, unsigned int, long unsigned int);\n\tvoid (*file_set_fowner)(struct file *);\n\tint (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int);\n\tint (*file_receive)(struct file *);\n\tint (*file_open)(struct file *);\n\tint (*file_post_open)(struct file *, int);\n\tint (*file_truncate)(struct file *);\n\tint (*task_alloc)(struct task_struct *, long unsigned int);\n\tvoid (*task_free)(struct task_struct *);\n\tint (*cred_alloc_blank)(struct cred *, gfp_t);\n\tvoid (*cred_free)(struct cred *);\n\tint (*cred_prepare)(struct cred *, const struct cred *, gfp_t);\n\tvoid (*cred_transfer)(struct cred *, const struct cred *);\n\tvoid (*cred_getsecid)(const struct cred *, u32 *);\n\tvoid (*cred_getlsmprop)(const struct cred *, struct lsm_prop *);\n\tint (*kernel_act_as)(struct cred *, u32);\n\tint (*kernel_create_files_as)(struct cred *, struct inode *);\n\tint (*kernel_module_request)(char *);\n\tint (*kernel_load_data)(enum kernel_load_data_id, bool);\n\tint (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *);\n\tint (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool);\n\tint (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id);\n\tint (*task_fix_setuid)(struct cred *, const struct cred *, int);\n\tint (*task_fix_setgid)(struct cred *, const struct cred *, int);\n\tint (*task_fix_setgroups)(struct cred *, const struct cred *);\n\tint (*task_setpgid)(struct task_struct *, pid_t);\n\tint (*task_getpgid)(struct task_struct *);\n\tint (*task_getsid)(struct task_struct *);\n\tvoid (*current_getlsmprop_subj)(struct lsm_prop *);\n\tvoid (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *);\n\tint (*task_setnice)(struct task_struct *, int);\n\tint (*task_setioprio)(struct task_struct *, int);\n\tint (*task_getioprio)(struct task_struct *);\n\tint (*task_prlimit)(const struct cred *, const struct cred *, unsigned int);\n\tint (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *);\n\tint (*task_setscheduler)(struct task_struct *);\n\tint (*task_getscheduler)(struct task_struct *);\n\tint (*task_movememory)(struct task_struct *);\n\tint (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *);\n\tint (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tvoid (*task_to_inode)(struct task_struct *, struct inode *);\n\tint (*userns_create)(const struct cred *);\n\tint (*ipc_permission)(struct kern_ipc_perm *, short int);\n\tvoid (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *);\n\tint (*msg_msg_alloc_security)(struct msg_msg *);\n\tvoid (*msg_msg_free_security)(struct msg_msg *);\n\tint (*msg_queue_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*msg_queue_free_security)(struct kern_ipc_perm *);\n\tint (*msg_queue_associate)(struct kern_ipc_perm *, int);\n\tint (*msg_queue_msgctl)(struct kern_ipc_perm *, int);\n\tint (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int);\n\tint (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int);\n\tint (*shm_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*shm_free_security)(struct kern_ipc_perm *);\n\tint (*shm_associate)(struct kern_ipc_perm *, int);\n\tint (*shm_shmctl)(struct kern_ipc_perm *, int);\n\tint (*shm_shmat)(struct kern_ipc_perm *, char *, int);\n\tint (*sem_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*sem_free_security)(struct kern_ipc_perm *);\n\tint (*sem_associate)(struct kern_ipc_perm *, int);\n\tint (*sem_semctl)(struct kern_ipc_perm *, int);\n\tint (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int);\n\tint (*netlink_send)(struct sock *, struct sk_buff *);\n\tvoid (*d_instantiate)(struct dentry *, struct inode *);\n\tint (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32);\n\tint (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32);\n\tint (*getprocattr)(struct task_struct *, const char *, char **);\n\tint (*setprocattr)(const char *, void *, size_t);\n\tint (*ismaclabel)(const char *);\n\tint (*secid_to_secctx)(u32, struct lsm_context *);\n\tint (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *);\n\tint (*secctx_to_secid)(const char *, u32, u32 *);\n\tvoid (*release_secctx)(struct lsm_context *);\n\tvoid (*inode_invalidate_secctx)(struct inode *);\n\tint (*inode_notifysecctx)(struct inode *, void *, u32);\n\tint (*inode_setsecctx)(struct dentry *, void *, u32);\n\tint (*inode_getsecctx)(struct inode *, struct lsm_context *);\n\tint (*key_alloc)(struct key *, const struct cred *, long unsigned int);\n\tint (*key_permission)(key_ref_t, const struct cred *, enum key_need_perm);\n\tint (*key_getsecurity)(struct key *, char **);\n\tvoid (*key_post_create_or_update)(struct key *, struct key *, const void *, size_t, long unsigned int, bool);\n\tint (*audit_rule_init)(u32, u32, char *, void **, gfp_t);\n\tint (*audit_rule_known)(struct audit_krule *);\n\tint (*audit_rule_match)(struct lsm_prop *, u32, u32, void *);\n\tvoid (*audit_rule_free)(void *);\n\tint (*bpf)(int, union bpf_attr *, unsigned int);\n\tint (*bpf_map)(struct bpf_map *, fmode_t);\n\tint (*bpf_prog)(struct bpf_prog *);\n\tint (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *);\n\tvoid (*bpf_map_free)(struct bpf_map *);\n\tint (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *);\n\tvoid (*bpf_prog_free)(struct bpf_prog *);\n\tint (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *);\n\tvoid (*bpf_token_free)(struct bpf_token *);\n\tint (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd);\n\tint (*bpf_token_capable)(const struct bpf_token *, int);\n\tint (*locked_down)(enum lockdown_reason);\n\tint (*perf_event_open)(struct perf_event_attr *, int);\n\tint (*perf_event_alloc)(struct perf_event *);\n\tint (*perf_event_read)(struct perf_event *);\n\tint (*perf_event_write)(struct perf_event *);\n\tint (*uring_override_creds)(const struct cred *);\n\tint (*uring_sqpoll)(void);\n\tint (*uring_cmd)(struct io_uring_cmd *);\n\tvoid (*initramfs_populated)(void);\n\tint (*bdev_alloc_security)(struct block_device *);\n\tvoid (*bdev_free_security)(struct block_device *);\n\tint (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t);\n\tvoid *lsm_func_addr;\n};\n\nstruct security_hook_list {\n\tstruct lsm_static_call *scalls;\n\tunion security_list_options hook;\n\tconst struct lsm_id *lsmid;\n};\n\nstruct seg6_pernet_data {\n\tstruct mutex lock;\n\tstruct in6_addr *tun_src;\n};\n\nstruct select_data {\n\tstruct dentry *start;\n\tunion {\n\t\tlong int found;\n\t\tstruct dentry *victim;\n\t};\n\tstruct list_head dispose;\n};\n\nstruct sem {\n\tint semval;\n\tstruct pid *sempid;\n\tspinlock_t lock;\n\tstruct list_head pending_alter;\n\tstruct list_head pending_const;\n\ttime64_t sem_otime;\n};\n\nstruct sem_array {\n\tstruct kern_ipc_perm sem_perm;\n\ttime64_t sem_ctime;\n\tstruct list_head pending_alter;\n\tstruct list_head pending_const;\n\tstruct list_head list_id;\n\tint sem_nsems;\n\tint complex_count;\n\tunsigned int use_global_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sem sems[0];\n};\n\nstruct sem_undo;\n\nstruct sem_queue {\n\tstruct list_head list;\n\tstruct task_struct *sleeper;\n\tstruct sem_undo *undo;\n\tstruct pid *pid;\n\tint status;\n\tstruct sembuf *sops;\n\tstruct sembuf *blocking;\n\tint nsops;\n\tbool alter;\n\tbool dupsop;\n};\n\nstruct sem_undo_list;\n\nstruct sem_undo {\n\tstruct list_head list_proc;\n\tstruct callback_head rcu;\n\tstruct sem_undo_list *ulp;\n\tstruct list_head list_id;\n\tint semid;\n\tshort int semadj[0];\n};\n\nstruct sem_undo_list {\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tstruct list_head list_proc;\n};\n\nstruct semaphore_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tbool up;\n};\n\nstruct sembuf {\n\tshort unsigned int sem_num;\n\tshort int sem_op;\n\tshort int sem_flg;\n};\n\nstruct semid64_ds {\n\tstruct ipc64_perm sem_perm;\n\tlong int sem_otime;\n\tlong int sem_ctime;\n\tlong unsigned int sem_nsems;\n\tlong unsigned int __unused3;\n\tlong unsigned int __unused4;\n};\n\nstruct semid_ds {\n\tstruct ipc_perm sem_perm;\n\t__kernel_old_time_t sem_otime;\n\t__kernel_old_time_t sem_ctime;\n\tstruct sem *sem_base;\n\tstruct sem_queue *sem_pending;\n\tstruct sem_queue **sem_pending_last;\n\tstruct sem_undo *undo;\n\tshort unsigned int sem_nsems;\n};\n\nstruct seminfo {\n\tint semmap;\n\tint semmni;\n\tint semmns;\n\tint semmnu;\n\tint semmsl;\n\tint semopm;\n\tint semume;\n\tint semusz;\n\tint semvmx;\n\tint semaem;\n};\n\nstruct virtnet_sq_stats {\n\tstruct u64_stats_sync syncp;\n\tu64_stats_t packets;\n\tu64_stats_t bytes;\n\tu64_stats_t xdp_tx;\n\tu64_stats_t xdp_tx_drops;\n\tu64_stats_t kicks;\n\tu64_stats_t tx_timeouts;\n\tu64_stats_t stop;\n\tu64_stats_t wake;\n};\n\nstruct send_queue {\n\tstruct virtqueue *vq;\n\tstruct scatterlist sg[19];\n\tchar name[16];\n\tstruct virtnet_sq_stats stats;\n\tstruct virtnet_interrupt_coalesce intr_coal;\n\tstruct napi_struct napi;\n\tbool reset;\n\tstruct xsk_buff_pool *xsk_pool;\n\tdma_addr_t xsk_hdr_dma_addr;\n};\n\nstruct send_signal_irq_work {\n\tstruct irq_work irq_work;\n\tstruct task_struct *task;\n\tu32 sig;\n\tenum pid_type type;\n\tbool has_siginfo;\n\tstruct kernel_siginfo info;\n};\n\nstruct sensor_data {\n\tunsigned int scale;\n\tstruct scpi_sensor_info info;\n\tstruct device_attribute dev_attr_input;\n\tstruct device_attribute dev_attr_label;\n\tchar input[20];\n\tchar label[20];\n};\n\nstruct sensors_info {\n\tu32 version;\n\tbool notify_trip_point_cmd;\n\tbool notify_continuos_update_cmd;\n\tint num_sensors;\n\tint max_requests;\n\tu64 reg_addr;\n\tu32 reg_size;\n\tstruct scmi_sensor_info *sensors;\n};\n\nstruct seq_operations {\n\tvoid * (*start)(struct seq_file *, loff_t *);\n\tvoid (*stop)(struct seq_file *, void *);\n\tvoid * (*next)(struct seq_file *, void *, loff_t *);\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct seqbuf {\n\tchar *buf;\n\tsize_t pos;\n\tsize_t size;\n};\n\nstruct seqcount_rwlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_rwlock seqcount_rwlock_t;\n\nstruct serdev_device;\n\nstruct serdev_controller_ops;\n\nstruct serdev_controller {\n\tstruct device dev;\n\tstruct device *host;\n\tunsigned int nr;\n\tstruct serdev_device *serdev;\n\tconst struct serdev_controller_ops *ops;\n};\n\nstruct serdev_controller_ops {\n\tssize_t (*write_buf)(struct serdev_controller *, const u8 *, size_t);\n\tvoid (*write_flush)(struct serdev_controller *);\n\tint (*write_room)(struct serdev_controller *);\n\tint (*open)(struct serdev_controller *);\n\tvoid (*close)(struct serdev_controller *);\n\tvoid (*set_flow_control)(struct serdev_controller *, bool);\n\tint (*set_parity)(struct serdev_controller *, enum serdev_parity);\n\tunsigned int (*set_baudrate)(struct serdev_controller *, unsigned int);\n\tvoid (*wait_until_sent)(struct serdev_controller *, long int);\n\tint (*get_tiocm)(struct serdev_controller *);\n\tint (*set_tiocm)(struct serdev_controller *, unsigned int, unsigned int);\n\tint (*break_ctl)(struct serdev_controller *, unsigned int);\n};\n\nstruct serdev_device_ops;\n\nstruct serdev_device {\n\tstruct device dev;\n\tint nr;\n\tstruct serdev_controller *ctrl;\n\tconst struct serdev_device_ops *ops;\n\tstruct completion write_comp;\n\tstruct mutex write_lock;\n};\n\nstruct serdev_device_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct serdev_device *);\n\tvoid (*remove)(struct serdev_device *);\n};\n\nstruct serdev_device_ops {\n\tsize_t (*receive_buf)(struct serdev_device *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct serdev_device *);\n};\n\nstruct serial8250_config {\n\tconst char *name;\n\tshort unsigned int fifo_size;\n\tshort unsigned int tx_loadsz;\n\tunsigned char fcr;\n\tunsigned char rxtrig_bytes[4];\n\tunsigned int flags;\n};\n\nstruct serial8250_em_priv {\n\tint line;\n};\n\nstruct serial_ctrl_device {\n\tstruct device dev;\n\tstruct ida port_ida;\n};\n\nstruct serial_icounter_struct {\n\tint cts;\n\tint dsr;\n\tint rng;\n\tint dcd;\n\tint rx;\n\tint tx;\n\tint frame;\n\tint overrun;\n\tint parity;\n\tint brk;\n\tint buf_overrun;\n\tint reserved[9];\n};\n\nstruct serial_port_device {\n\tstruct device dev;\n\tstruct uart_port *port;\n\tunsigned int tx_enabled: 1;\n};\n\nstruct serial_private {\n\tstruct pci_dev *dev;\n\tunsigned int nr;\n\tstruct pci_serial_quirk *quirk;\n\tconst struct pciserial_board *board;\n\tint line[0];\n};\n\nstruct serial_struct {\n\tint type;\n\tint line;\n\tunsigned int port;\n\tint irq;\n\tint flags;\n\tint xmit_fifo_size;\n\tint custom_divisor;\n\tint baud_base;\n\tshort unsigned int close_delay;\n\tchar io_type;\n\tchar reserved_char[1];\n\tint hub6;\n\tshort unsigned int closing_wait;\n\tshort unsigned int closing_wait2;\n\tunsigned char *iomem_base;\n\tshort unsigned int iomem_reg_shift;\n\tunsigned int port_high;\n\tlong unsigned int iomap_base;\n};\n\nstruct serial_struct32 {\n\tcompat_int_t type;\n\tcompat_int_t line;\n\tcompat_uint_t port;\n\tcompat_int_t irq;\n\tcompat_int_t flags;\n\tcompat_int_t xmit_fifo_size;\n\tcompat_int_t custom_divisor;\n\tcompat_int_t baud_base;\n\tshort unsigned int close_delay;\n\tchar io_type;\n\tchar reserved_char;\n\tcompat_int_t hub6;\n\tshort unsigned int closing_wait;\n\tshort unsigned int closing_wait2;\n\tcompat_uint_t iomem_base;\n\tshort unsigned int iomem_reg_shift;\n\tunsigned int port_high;\n\tcompat_int_t reserved;\n};\n\ntypedef struct serio *class_serio_pause_rx_t;\n\nstruct serio_device_id {\n\t__u8 type;\n\t__u8 extra;\n\t__u8 id;\n\t__u8 proto;\n};\n\nstruct serio_driver;\n\nstruct serio {\n\tvoid *port_data;\n\tchar name[32];\n\tchar phys[32];\n\tchar firmware_id[128];\n\tbool manual_bind;\n\tstruct serio_device_id id;\n\tspinlock_t lock;\n\tint (*write)(struct serio *, unsigned char);\n\tint (*open)(struct serio *);\n\tvoid (*close)(struct serio *);\n\tint (*start)(struct serio *);\n\tvoid (*stop)(struct serio *);\n\tstruct serio *parent;\n\tstruct list_head child_node;\n\tstruct list_head children;\n\tunsigned int depth;\n\tstruct serio_driver *drv;\n\tstruct mutex drv_mutex;\n\tstruct device dev;\n\tstruct list_head node;\n\tstruct mutex *ps2_cmd_mutex;\n};\n\nstruct serio_driver {\n\tconst char *description;\n\tconst struct serio_device_id *id_table;\n\tbool manual_bind;\n\tvoid (*write_wakeup)(struct serio *);\n\tirqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int);\n\tint (*connect)(struct serio *, struct serio_driver *);\n\tint (*reconnect)(struct serio *);\n\tint (*fast_reconnect)(struct serio *);\n\tvoid (*disconnect)(struct serio *);\n\tvoid (*cleanup)(struct serio *);\n\tstruct device_driver driver;\n};\n\nstruct serio_event {\n\tenum serio_event_type type;\n\tvoid *object;\n\tstruct module *owner;\n\tstruct list_head node;\n};\n\nstruct serport {\n\tstruct tty_port *port;\n\tstruct tty_struct *tty;\n\tstruct tty_driver *tty_drv;\n\tint tty_idx;\n\tlong unsigned int flags;\n};\n\nstruct set_affinity_pending {\n\trefcount_t refs;\n\tunsigned int stop_pending;\n\tstruct completion done;\n\tstruct cpu_stop_work stop_work;\n\tstruct migration_arg arg;\n};\n\nstruct set_config_request {\n\tstruct usb_device *udev;\n\tint config;\n\tstruct work_struct work;\n\tstruct list_head node;\n};\n\nstruct set_error_type_with_address {\n\tu32 type;\n\tu32 vendor_extension;\n\tu32 flags;\n\tu32 apicid;\n\tu64 memory_address;\n\tu64 memory_address_range;\n\tu32 pcie_sbdf;\n};\n\nstruct set_event_iter {\n\tenum set_event_iter_type type;\n\tunion {\n\t\tstruct trace_event_file *file;\n\t\tstruct event_mod_load *event_mod;\n\t};\n};\n\nstruct set_perm_data {\n\tconst efi_memory_desc_t *md;\n\tbool has_bti;\n};\n\nstruct setup_rw_req {\n\tunsigned int grant_idx;\n\tstruct blkif_request_segment *segments;\n\tstruct blkfront_ring_info *rinfo;\n\tstruct blkif_request *ring_req;\n\tgrant_ref_t gref_head;\n\tunsigned int id;\n\tbool need_copy;\n\tunsigned int bvec_off;\n\tchar *bvec_data;\n\tbool require_extra_req;\n\tstruct blkif_request *extra_ring_req;\n};\n\nstruct sfdp {\n\tsize_t num_dwords;\n\tu32 *dwords;\n};\n\nstruct sfdp_4bait {\n\tu32 hwcaps;\n\tu32 supported_bit;\n};\n\nstruct sfdp_bfpt {\n\tu32 dwords[20];\n};\n\nstruct sfdp_bfpt_erase {\n\tu32 dword;\n\tu32 shift;\n};\n\nstruct sfdp_bfpt_read {\n\tu32 hwcaps;\n\tu32 supported_dword;\n\tu32 supported_bit;\n\tu32 settings_dword;\n\tu32 settings_shift;\n\tenum spi_nor_protocol proto;\n};\n\nstruct sfdp_parameter_header {\n\tu8 id_lsb;\n\tu8 minor;\n\tu8 major;\n\tu8 length;\n\tu8 parameter_table_pointer[3];\n\tu8 id_msb;\n};\n\nstruct sfdp_header {\n\tu32 signature;\n\tu8 minor;\n\tu8 major;\n\tu8 nph;\n\tu8 unused;\n\tstruct sfdp_parameter_header bfpt_header;\n};\n\nstruct sfi_counter_data {\n\tu32 matchl;\n\tu32 matchh;\n\tu32 msdu_dropl;\n\tu32 msdu_droph;\n\tu32 stream_gate_dropl;\n\tu32 stream_gate_droph;\n\tu32 flow_meter_dropl;\n\tu32 flow_meter_droph;\n};\n\nstruct sfp_eeprom_base {\n\tu8 phys_id;\n\tu8 phys_ext_id;\n\tu8 connector;\n\tu8 if_1x_copper_passive: 1;\n\tu8 if_1x_copper_active: 1;\n\tu8 if_1x_lx: 1;\n\tu8 if_1x_sx: 1;\n\tu8 e10g_base_sr: 1;\n\tu8 e10g_base_lr: 1;\n\tu8 e10g_base_lrm: 1;\n\tu8 e10g_base_er: 1;\n\tu8 sonet_oc3_short_reach: 1;\n\tu8 sonet_oc3_smf_intermediate_reach: 1;\n\tu8 sonet_oc3_smf_long_reach: 1;\n\tu8 unallocated_5_3: 1;\n\tu8 sonet_oc12_short_reach: 1;\n\tu8 sonet_oc12_smf_intermediate_reach: 1;\n\tu8 sonet_oc12_smf_long_reach: 1;\n\tu8 unallocated_5_7: 1;\n\tu8 sonet_oc48_short_reach: 1;\n\tu8 sonet_oc48_intermediate_reach: 1;\n\tu8 sonet_oc48_long_reach: 1;\n\tu8 sonet_reach_bit2: 1;\n\tu8 sonet_reach_bit1: 1;\n\tu8 sonet_oc192_short_reach: 1;\n\tu8 escon_smf_1310_laser: 1;\n\tu8 escon_mmf_1310_led: 1;\n\tu8 e1000_base_sx: 1;\n\tu8 e1000_base_lx: 1;\n\tu8 e1000_base_cx: 1;\n\tu8 e1000_base_t: 1;\n\tu8 e100_base_lx: 1;\n\tu8 e100_base_fx: 1;\n\tu8 e_base_bx10: 1;\n\tu8 e_base_px: 1;\n\tu8 fc_tech_electrical_inter_enclosure: 1;\n\tu8 fc_tech_lc: 1;\n\tu8 fc_tech_sa: 1;\n\tu8 fc_ll_m: 1;\n\tu8 fc_ll_l: 1;\n\tu8 fc_ll_i: 1;\n\tu8 fc_ll_s: 1;\n\tu8 fc_ll_v: 1;\n\tu8 unallocated_8_0: 1;\n\tu8 unallocated_8_1: 1;\n\tu8 sfp_ct_passive: 1;\n\tu8 sfp_ct_active: 1;\n\tu8 fc_tech_ll: 1;\n\tu8 fc_tech_sl: 1;\n\tu8 fc_tech_sn: 1;\n\tu8 fc_tech_electrical_intra_enclosure: 1;\n\tu8 fc_media_sm: 1;\n\tu8 unallocated_9_1: 1;\n\tu8 fc_media_m5: 1;\n\tu8 fc_media_m6: 1;\n\tu8 fc_media_tv: 1;\n\tu8 fc_media_mi: 1;\n\tu8 fc_media_tp: 1;\n\tu8 fc_media_tw: 1;\n\tu8 fc_speed_100: 1;\n\tu8 unallocated_10_1: 1;\n\tu8 fc_speed_200: 1;\n\tu8 fc_speed_3200: 1;\n\tu8 fc_speed_400: 1;\n\tu8 fc_speed_1600: 1;\n\tu8 fc_speed_800: 1;\n\tu8 fc_speed_1200: 1;\n\tu8 encoding;\n\tu8 br_nominal;\n\tu8 rate_id;\n\tu8 link_len[6];\n\tchar vendor_name[16];\n\tu8 extended_cc;\n\tchar vendor_oui[3];\n\tchar vendor_pn[16];\n\tchar vendor_rev[4];\n\tunion {\n\t\t__be16 optical_wavelength;\n\t\t__be16 cable_compliance;\n\t\tstruct {\n\t\t\tu8 sff8431_app_e: 1;\n\t\t\tu8 fc_pi_4_app_h: 1;\n\t\t\tu8 reserved60_2: 6;\n\t\t\tu8 reserved61: 8;\n\t\t} passive;\n\t\tstruct {\n\t\t\tu8 sff8431_app_e: 1;\n\t\t\tu8 fc_pi_4_app_h: 1;\n\t\t\tu8 sff8431_lim: 1;\n\t\t\tu8 fc_pi_4_lim: 1;\n\t\t\tu8 reserved60_4: 4;\n\t\t\tu8 reserved61: 8;\n\t\t} active;\n\t};\n\tu8 reserved62;\n\tu8 cc_base;\n};\n\nstruct sfp_eeprom_ext {\n\t__be16 options;\n\tu8 br_max;\n\tu8 br_min;\n\tchar vendor_sn[16];\n\tchar datecode[8];\n\tu8 diagmon;\n\tu8 enhopts;\n\tu8 sff8472_compliance;\n\tu8 cc_ext;\n};\n\nstruct sfp_eeprom_id {\n\tstruct sfp_eeprom_base base;\n\tstruct sfp_eeprom_ext ext;\n};\n\nstruct sfp_upstream_ops {\n\tvoid (*attach)(void *, struct sfp_bus *);\n\tvoid (*detach)(void *, struct sfp_bus *);\n\tint (*module_insert)(void *, const struct sfp_eeprom_id *);\n\tvoid (*module_remove)(void *);\n\tint (*module_start)(void *);\n\tvoid (*module_stop)(void *);\n\tvoid (*link_down)(void *);\n\tvoid (*link_up)(void *);\n\tint (*connect_phy)(void *, struct phy_device *);\n\tvoid (*disconnect_phy)(void *, struct phy_device *);\n};\n\nstruct sg {\n\tstruct ext4_group_info info;\n\text4_grpblk_t counters[18];\n};\n\nstruct sg_append_table {\n\tstruct sg_table sgt;\n\tstruct scatterlist *prv;\n\tunsigned int total_nents;\n};\n\nstruct sg_desc {\n\t__le32 total_len;\n\t__le32 resvd0;\n\t__le32 linear_addr;\n\t__le32 linear_len;\n\tstruct frags_info frags[18];\n};\n\nstruct sg_dma_page_iter {\n\tstruct sg_page_iter base;\n};\n\nstruct sg_io_hdr {\n\tint interface_id;\n\tint dxfer_direction;\n\tunsigned char cmd_len;\n\tunsigned char mx_sb_len;\n\tshort unsigned int iovec_count;\n\tunsigned int dxfer_len;\n\tvoid *dxferp;\n\tunsigned char *cmdp;\n\tvoid *sbp;\n\tunsigned int timeout;\n\tunsigned int flags;\n\tint pack_id;\n\tvoid *usr_ptr;\n\tunsigned char status;\n\tunsigned char masked_status;\n\tunsigned char msg_status;\n\tunsigned char sb_len_wr;\n\tshort unsigned int host_status;\n\tshort unsigned int driver_status;\n\tint resid;\n\tunsigned int duration;\n\tunsigned int info;\n};\n\nstruct sg_io_v4 {\n\t__s32 guard;\n\t__u32 protocol;\n\t__u32 subprotocol;\n\t__u32 request_len;\n\t__u64 request;\n\t__u64 request_tag;\n\t__u32 request_attr;\n\t__u32 request_priority;\n\t__u32 request_extra;\n\t__u32 max_response_len;\n\t__u64 response;\n\t__u32 dout_iovec_count;\n\t__u32 dout_xfer_len;\n\t__u32 din_iovec_count;\n\t__u32 din_xfer_len;\n\t__u64 dout_xferp;\n\t__u64 din_xferp;\n\t__u32 timeout;\n\t__u32 flags;\n\t__u64 usr_ptr;\n\t__u32 spare_in;\n\t__u32 driver_status;\n\t__u32 transport_status;\n\t__u32 device_status;\n\t__u32 retry_delay;\n\t__u32 info;\n\t__u32 duration;\n\t__u32 response_len;\n\t__s32 din_resid;\n\t__s32 dout_resid;\n\t__u64 generated_tag;\n\t__u32 spare_out;\n\t__u32 padding;\n};\n\nstruct sg_list {\n\tunsigned int n;\n\tunsigned int size;\n\tsize_t len;\n\tstruct scatterlist *sg;\n};\n\nstruct sg_pool {\n\tsize_t size;\n\tchar *name;\n\tstruct kmem_cache *slab;\n\tmempool_t *pool;\n};\n\nstruct sg_splitter {\n\tstruct scatterlist *in_sg0;\n\tint nents;\n\toff_t skip_sg0;\n\tunsigned int length_last_sg;\n\tstruct scatterlist *out_sg;\n};\n\nstruct sgce {\n\tu32 interval;\n\tu8 msdu[3];\n\tu8 multi;\n};\n\nstruct sgcl_data {\n\tu32 btl;\n\tu32 bth;\n\tu32 ct;\n\tu32 cte;\n\tstruct sgce sgcl[0];\n};\n\nstruct sh_cmt_device;\n\nstruct sh_cmt_channel {\n\tstruct sh_cmt_device *cmt;\n\tunsigned int index;\n\tunsigned int hwidx;\n\tvoid *iostart;\n\tvoid *ioctrl;\n\tunsigned int timer_bit;\n\tlong unsigned int flags;\n\tu32 match_value;\n\tu32 next_match_value;\n\tu32 max_match_value;\n\traw_spinlock_t lock;\n\tstruct clock_event_device ced;\n\tstruct clocksource cs;\n\tu64 total_cycles;\n\tbool cs_enabled;\n\tlong: 64;\n};\n\nstruct sh_cmt_info;\n\nstruct sh_cmt_device {\n\tstruct platform_device *pdev;\n\tconst struct sh_cmt_info *info;\n\tvoid *mapbase;\n\tstruct clk *clk;\n\tlong unsigned int rate;\n\tunsigned int reg_delay;\n\traw_spinlock_t lock;\n\tstruct sh_cmt_channel *channels;\n\tunsigned int num_channels;\n\tunsigned int hw_channels;\n\tbool has_clockevent;\n\tbool has_clocksource;\n};\n\nstruct sh_cmt_info {\n\tenum sh_cmt_model model;\n\tunsigned int channels_mask;\n\tlong unsigned int width;\n\tu32 overflow_bit;\n\tu32 clear_bits;\n\tu32 (*read_control)(void *, long unsigned int);\n\tvoid (*write_control)(void *, long unsigned int, u32);\n\tu32 (*read_count)(void *, long unsigned int);\n\tvoid (*write_count)(void *, long unsigned int, u32);\n};\n\nstruct sh_eth_cpu_data {\n\tint (*soft_reset)(struct net_device *);\n\tvoid (*chip_reset)(struct net_device *);\n\tvoid (*set_duplex)(struct net_device *);\n\tvoid (*set_rate)(struct net_device *);\n\tint register_type;\n\tu32 edtrr_trns;\n\tu32 eesipr_value;\n\tu32 ecsr_value;\n\tu32 ecsipr_value;\n\tu32 fdr_value;\n\tu32 fcftr_value;\n\tu32 tx_check;\n\tu32 eesr_err_check;\n\tu32 trscer_err_mask;\n\tlong unsigned int irq_flags;\n\tunsigned int no_psr: 1;\n\tunsigned int apr: 1;\n\tunsigned int mpr: 1;\n\tunsigned int tpauser: 1;\n\tunsigned int gecmr: 1;\n\tunsigned int bculr: 1;\n\tunsigned int tsu: 1;\n\tunsigned int hw_swap: 1;\n\tunsigned int nbst: 1;\n\tunsigned int rpadir: 1;\n\tunsigned int no_trimd: 1;\n\tunsigned int no_ade: 1;\n\tunsigned int no_xdfar: 1;\n\tunsigned int xdfar_rw: 1;\n\tunsigned int csmr: 1;\n\tunsigned int rx_csum: 1;\n\tunsigned int select_mii: 1;\n\tunsigned int rmiimode: 1;\n\tunsigned int rtrate: 1;\n\tunsigned int magic: 1;\n\tunsigned int no_tx_cntrs: 1;\n\tunsigned int cexcr: 1;\n\tunsigned int dual_port: 1;\n};\n\nstruct sh_eth_plat_data {\n\tint phy;\n\tint phy_irq;\n\tphy_interface_t phy_interface;\n\tvoid (*set_mdio_gate)(void *);\n\tunsigned char mac_addr[6];\n\tunsigned int no_ether_link: 1;\n\tunsigned int ether_link_active_low: 1;\n};\n\nstruct sh_eth_rxdesc;\n\nstruct sh_eth_txdesc;\n\nstruct sh_eth_private {\n\tstruct platform_device *pdev;\n\tstruct sh_eth_cpu_data *cd;\n\tconst u16 *reg_offset;\n\tvoid *addr;\n\tvoid *tsu_addr;\n\tstruct clk *clk;\n\tu32 num_rx_ring;\n\tu32 num_tx_ring;\n\tdma_addr_t rx_desc_dma;\n\tdma_addr_t tx_desc_dma;\n\tstruct sh_eth_rxdesc *rx_ring;\n\tstruct sh_eth_txdesc *tx_ring;\n\tstruct sk_buff **rx_skbuff;\n\tstruct sk_buff **tx_skbuff;\n\tspinlock_t lock;\n\tu32 cur_rx;\n\tu32 dirty_rx;\n\tu32 cur_tx;\n\tu32 dirty_tx;\n\tu32 rx_buf_sz;\n\tstruct napi_struct napi;\n\tbool irq_enabled;\n\tu32 phy_id;\n\tstruct mii_bus *mii_bus;\n\tint link;\n\tphy_interface_t phy_interface;\n\tint msg_enable;\n\tint speed;\n\tint duplex;\n\tint port;\n\tint vlan_num_ids;\n\tunsigned int no_ether_link: 1;\n\tunsigned int ether_link_active_low: 1;\n\tunsigned int is_opened: 1;\n\tunsigned int wol_enabled: 1;\n};\n\nstruct sh_eth_rxdesc {\n\tu32 status;\n\tu32 len;\n\tu32 addr;\n\tu32 pad0;\n};\n\nstruct sh_eth_txdesc {\n\tu32 status;\n\tu32 len;\n\tu32 addr;\n\tu32 pad0;\n};\n\nstruct sh_mobile_i2c_data;\n\nstruct sh_mobile_dt_config {\n\tint clks_per_count;\n\tint (*setup)(struct sh_mobile_i2c_data *);\n};\n\nstruct sh_mobile_i2c_data {\n\tstruct device *dev;\n\tvoid *reg;\n\tstruct i2c_adapter adap;\n\tlong unsigned int bus_speed;\n\tunsigned int clks_per_count;\n\tstruct clk *clk;\n\tu_int8_t icic;\n\tu_int8_t flags;\n\tu_int16_t iccl;\n\tu_int16_t icch;\n\tspinlock_t lock;\n\twait_queue_head_t wait;\n\tstruct i2c_msg *msg;\n\tint pos;\n\tint sr;\n\tbool send_stop;\n\tbool stop_after_dma;\n\tbool atomic_xfer;\n\tstruct resource *res;\n\tstruct dma_chan *dma_tx;\n\tstruct dma_chan *dma_rx;\n\tstruct scatterlist sg;\n\tenum dma_data_direction dma_direction;\n\tu8 *dma_buf;\n};\n\nstruct sh_pfc_chip;\n\nstruct sh_pfc_soc_info;\n\nstruct sh_pfc_window;\n\nstruct sh_pfc_pin_range;\n\nstruct sh_pfc {\n\tstruct device *dev;\n\tconst struct sh_pfc_soc_info *info;\n\tspinlock_t lock;\n\tunsigned int num_windows;\n\tstruct sh_pfc_window *windows;\n\tunsigned int num_irqs;\n\tunsigned int *irqs;\n\tstruct sh_pfc_pin_range *ranges;\n\tunsigned int nr_ranges;\n\tunsigned int nr_gpio_pins;\n\tstruct sh_pfc_chip *gpio;\n\tu32 *saved_regs;\n};\n\nstruct sh_pfc_function {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int nr_groups;\n};\n\nstruct sh_pfc_pin {\n\tconst char *name;\n\tunsigned int configs;\n\tu16 pin;\n\tu16 enum_id;\n};\n\nstruct sh_pfc_pin_config {\n\tu16 gpio_enabled: 1;\n\tu16 mux_mark: 15;\n};\n\nstruct sh_pfc_pin_group {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tconst unsigned int *mux;\n\tunsigned int nr_pins;\n};\n\nstruct sh_pfc_pin_range {\n\tu16 start;\n\tu16 end;\n};\n\nstruct sh_pfc_pinctrl {\n\tstruct pinctrl_dev *pctl;\n\tstruct pinctrl_desc pctl_desc;\n\tstruct sh_pfc *pfc;\n\tstruct pinctrl_pin_desc *pins;\n\tstruct sh_pfc_pin_config *configs;\n};\n\nstruct sh_pfc_soc_operations;\n\nstruct sh_pfc_soc_info {\n\tconst char *name;\n\tconst struct sh_pfc_soc_operations *ops;\n\tstruct pinmux_range function;\n\tconst struct sh_pfc_pin *pins;\n\tunsigned int nr_pins;\n\tconst struct sh_pfc_pin_group *groups;\n\tunsigned int nr_groups;\n\tconst struct sh_pfc_function *functions;\n\tunsigned int nr_functions;\n\tconst struct pinmux_cfg_reg *cfg_regs;\n\tconst struct pinmux_drive_reg *drive_regs;\n\tconst struct pinmux_bias_reg *bias_regs;\n\tconst struct pinmux_ioctrl_reg *ioctrl_regs;\n\tconst struct pinmux_data_reg *data_regs;\n\tconst u16 *pinmux_data;\n\tunsigned int pinmux_data_size;\n\tu32 unlock_reg;\n};\n\nstruct sh_pfc_soc_operations {\n\tint (*init)(struct sh_pfc *);\n\tunsigned int (*get_bias)(struct sh_pfc *, unsigned int);\n\tvoid (*set_bias)(struct sh_pfc *, unsigned int, unsigned int);\n\tint (*pin_to_pocctrl)(unsigned int, u32 *);\n\tint (*pin_to_portcr)(unsigned int);\n};\n\nstruct sh_pfc_window {\n\tphys_addr_t phys;\n\tvoid *virt;\n\tlong unsigned int size;\n};\n\nstruct sh_timer_config {\n\tunsigned int channels_mask;\n};\n\nstruct sh_tmu_device;\n\nstruct sh_tmu_channel {\n\tstruct sh_tmu_device *tmu;\n\tunsigned int index;\n\tvoid *base;\n\tint irq;\n\tlong unsigned int periodic;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct clock_event_device ced;\n\tstruct clocksource cs;\n\tbool cs_enabled;\n\tunsigned int enable_count;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sh_tmu_device {\n\tstruct platform_device *pdev;\n\tvoid *mapbase;\n\tstruct clk *clk;\n\tlong unsigned int rate;\n\tenum sh_tmu_model model;\n\traw_spinlock_t lock;\n\tstruct sh_tmu_channel *channels;\n\tunsigned int num_channels;\n\tbool has_clockevent;\n\tbool has_clocksource;\n};\n\nstruct sha1_state {\n\tu32 state[5];\n\tu64 count;\n\tu8 buffer[64];\n};\n\nstruct sha1_ce_state {\n\tstruct sha1_state sst;\n\tu32 finalize;\n};\n\nstruct sha256_state {\n\tu32 state[8];\n\tu64 count;\n\tu8 buf[64];\n};\n\nstruct sha256_ce_state {\n\tstruct sha256_state sst;\n\tu32 finalize;\n};\n\nstruct sha3_state {\n\tu64 st[25];\n\tunsigned int rsiz;\n\tunsigned int rsizw;\n\tunsigned int partial;\n\tu8 buf[144];\n};\n\nstruct sha512_state {\n\tu64 state[8];\n\tu64 count[2];\n\tu8 buf[128];\n};\n\nstruct vcpu_info {\n\tuint8_t evtchn_upcall_pending;\n\tuint8_t evtchn_upcall_mask;\n\txen_ulong_t evtchn_pending_sel;\n\tstruct arch_vcpu_info arch;\n\tstruct pvclock_vcpu_time_info time;\n};\n\nstruct shared_info {\n\tstruct vcpu_info vcpu_info[1];\n\txen_ulong_t evtchn_pending[64];\n\txen_ulong_t evtchn_mask[64];\n\tstruct pvclock_wall_clock wc;\n\tuint32_t wc_sec_hi;\n\tstruct arch_shared_info arch;\n};\n\nstruct shared_policy {\n\tstruct rb_root root;\n\trwlock_t lock;\n};\n\nstruct shash_alg {\n\tint (*init)(struct shash_desc *);\n\tint (*update)(struct shash_desc *, const u8 *, unsigned int);\n\tint (*final)(struct shash_desc *, u8 *);\n\tint (*finup)(struct shash_desc *, const u8 *, unsigned int, u8 *);\n\tint (*digest)(struct shash_desc *, const u8 *, unsigned int, u8 *);\n\tint (*export)(struct shash_desc *, void *);\n\tint (*import)(struct shash_desc *, const void *);\n\tint (*setkey)(struct crypto_shash *, const u8 *, unsigned int);\n\tint (*init_tfm)(struct crypto_shash *);\n\tvoid (*exit_tfm)(struct crypto_shash *);\n\tint (*clone_tfm)(struct crypto_shash *, struct crypto_shash *);\n\tunsigned int descsize;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int digestsize;\n\t\t\tunsigned int statesize;\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct hash_alg_common halg;\n\t};\n};\n\nstruct shash_instance {\n\tvoid (*free)(struct shash_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[104];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct shash_alg alg;\n\t};\n};\n\nstruct shm_file_data {\n\tint id;\n\tstruct ipc_namespace *ns;\n\tstruct file *file;\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct shm_info {\n\tint used_ids;\n\t__kernel_ulong_t shm_tot;\n\t__kernel_ulong_t shm_rss;\n\t__kernel_ulong_t shm_swp;\n\t__kernel_ulong_t swap_attempts;\n\t__kernel_ulong_t swap_successes;\n};\n\nstruct shmem_falloc {\n\twait_queue_head_t *waitq;\n\tlong unsigned int start;\n\tlong unsigned int next;\n\tlong unsigned int nr_falloced;\n\tlong unsigned int nr_unswapped;\n};\n\nstruct shmem_inode_info {\n\tspinlock_t lock;\n\tunsigned int seals;\n\tlong unsigned int flags;\n\tlong unsigned int alloced;\n\tlong unsigned int swapped;\n\tunion {\n\t\tstruct offset_ctx dir_offsets;\n\t\tstruct {\n\t\t\tstruct list_head shrinklist;\n\t\t\tstruct list_head swaplist;\n\t\t};\n\t};\n\tstruct timespec64 i_crtime;\n\tstruct shared_policy policy;\n\tstruct simple_xattrs xattrs;\n\tlong unsigned int fallocend;\n\tunsigned int fsflags;\n\tatomic_t stop_eviction;\n\tstruct inode vfs_inode;\n};\n\nstruct shmem_quota_limits {\n\tqsize_t usrquota_bhardlimit;\n\tqsize_t usrquota_ihardlimit;\n\tqsize_t grpquota_bhardlimit;\n\tqsize_t grpquota_ihardlimit;\n};\n\nstruct shmem_options {\n\tlong long unsigned int blocks;\n\tlong long unsigned int inodes;\n\tstruct mempolicy *mpol;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tbool full_inums;\n\tint huge;\n\tint seen;\n\tbool noswap;\n\tshort unsigned int quota_types;\n\tstruct shmem_quota_limits qlimits;\n};\n\nstruct shmem_sb_info {\n\tlong unsigned int max_blocks;\n\tstruct percpu_counter used_blocks;\n\tlong unsigned int max_inodes;\n\tlong unsigned int free_ispace;\n\traw_spinlock_t stat_lock;\n\tumode_t mode;\n\tunsigned char huge;\n\tkuid_t uid;\n\tkgid_t gid;\n\tbool full_inums;\n\tbool noswap;\n\tino_t next_ino;\n\tino_t *ino_batch;\n\tstruct mempolicy *mpol;\n\tspinlock_t shrinklist_lock;\n\tstruct list_head shrinklist;\n\tlong unsigned int shrinklist_len;\n\tstruct shmem_quota_limits qlimits;\n};\n\nstruct shmid64_ds {\n\tstruct ipc64_perm shm_perm;\n\t__kernel_size_t shm_segsz;\n\tlong int shm_atime;\n\tlong int shm_dtime;\n\tlong int shm_ctime;\n\t__kernel_pid_t shm_cpid;\n\t__kernel_pid_t shm_lpid;\n\tlong unsigned int shm_nattch;\n\tlong unsigned int __unused4;\n\tlong unsigned int __unused5;\n};\n\nstruct shmid_ds {\n\tstruct ipc_perm shm_perm;\n\tint shm_segsz;\n\t__kernel_old_time_t shm_atime;\n\t__kernel_old_time_t shm_dtime;\n\t__kernel_old_time_t shm_ctime;\n\t__kernel_ipc_pid_t shm_cpid;\n\t__kernel_ipc_pid_t shm_lpid;\n\tshort unsigned int shm_nattch;\n\tshort unsigned int shm_unused;\n\tvoid *shm_unused2;\n\tvoid *shm_unused3;\n};\n\nstruct shmid_kernel {\n\tstruct kern_ipc_perm shm_perm;\n\tstruct file *shm_file;\n\tlong unsigned int shm_nattch;\n\tlong unsigned int shm_segsz;\n\ttime64_t shm_atim;\n\ttime64_t shm_dtim;\n\ttime64_t shm_ctim;\n\tstruct pid *shm_cprid;\n\tstruct pid *shm_lprid;\n\tstruct ucounts *mlock_ucounts;\n\tstruct task_struct *shm_creator;\n\tstruct list_head shm_clist;\n\tstruct ipc_namespace *ns;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct shminfo {\n\tint shmmax;\n\tint shmmin;\n\tint shmmni;\n\tint shmseg;\n\tint shmall;\n};\n\nstruct shminfo64 {\n\tlong unsigned int shmmax;\n\tlong unsigned int shmmin;\n\tlong unsigned int shmmni;\n\tlong unsigned int shmseg;\n\tlong unsigned int shmall;\n\tlong unsigned int __unused1;\n\tlong unsigned int __unused2;\n\tlong unsigned int __unused3;\n\tlong unsigned int __unused4;\n};\n\nstruct shortname_info {\n\tunsigned char lower: 1;\n\tunsigned char upper: 1;\n\tunsigned char valid: 1;\n};\n\nstruct show_busy_params {\n\tstruct seq_file *m;\n\tstruct blk_mq_hw_ctx *hctx;\n};\n\nstruct shrink_control {\n\tgfp_t gfp_mask;\n\tint nid;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int nr_scanned;\n\tstruct mem_cgroup *memcg;\n};\n\nstruct shrinker {\n\tlong unsigned int (*count_objects)(struct shrinker *, struct shrink_control *);\n\tlong unsigned int (*scan_objects)(struct shrinker *, struct shrink_control *);\n\tlong int batch;\n\tint seeks;\n\tunsigned int flags;\n\trefcount_t refcount;\n\tstruct completion done;\n\tstruct callback_head rcu;\n\tvoid *private_data;\n\tstruct list_head list;\n\tint id;\n\tatomic_long_t *nr_deferred;\n};\n\nstruct shrinker_info_unit;\n\nstruct shrinker_info {\n\tstruct callback_head rcu;\n\tint map_nr_max;\n\tstruct shrinker_info_unit *unit[0];\n};\n\nstruct shrinker_info_unit {\n\tatomic_long_t nr_deferred[64];\n\tlong unsigned int map[1];\n};\n\nstruct shutdown_handler {\n\tconst char command[11];\n\tbool flag;\n\tvoid (*cb)(void);\n};\n\nstruct sifive_fu540_macb_mgmt {\n\tvoid *reg;\n\tlong unsigned int rate;\n\tstruct clk_hw hw;\n};\n\nstruct sig_alg {\n\tint (*sign)(struct crypto_sig *, const void *, unsigned int, void *, unsigned int);\n\tint (*verify)(struct crypto_sig *, const void *, unsigned int, const void *, unsigned int);\n\tint (*set_pub_key)(struct crypto_sig *, const void *, unsigned int);\n\tint (*set_priv_key)(struct crypto_sig *, const void *, unsigned int);\n\tunsigned int (*key_size)(struct crypto_sig *);\n\tunsigned int (*digest_size)(struct crypto_sig *);\n\tunsigned int (*max_size)(struct crypto_sig *);\n\tint (*init)(struct crypto_sig *);\n\tvoid (*exit)(struct crypto_sig *);\n\tstruct crypto_alg base;\n};\n\nstruct signal_attenuation_s;\n\nstruct sig_atten_lu_s {\n\tconst struct signal_attenuation_s *att;\n\tu32 sas_phy_ctrl;\n};\n\nstruct sig_instance {\n\tvoid (*free)(struct sig_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[72];\n\t\t\tstruct crypto_instance base;\n\t\t};\n\t\tstruct sig_alg alg;\n\t};\n};\n\ntypedef struct sigevent sigevent_t;\n\nstruct sighand_struct {\n\tspinlock_t siglock;\n\trefcount_t count;\n\twait_queue_head_t signalfd_wqh;\n\tstruct k_sigaction action[64];\n};\n\nstruct signal_attenuation_s {\n\tu32 de_emphasis;\n\tu32 preshoot;\n\tu32 boost;\n};\n\nstruct sigpending {\n\tstruct list_head list;\n\tsigset_t signal;\n};\n\nstruct task_cputime_atomic {\n\tatomic64_t utime;\n\tatomic64_t stime;\n\tatomic64_t sum_exec_runtime;\n};\n\nstruct thread_group_cputimer {\n\tstruct task_cputime_atomic cputime_atomic;\n};\n\nstruct task_io_accounting {\n\tu64 rchar;\n\tu64 wchar;\n\tu64 syscr;\n\tu64 syscw;\n\tu64 read_bytes;\n\tu64 write_bytes;\n\tu64 cancelled_write_bytes;\n};\n\nstruct taskstats;\n\nstruct tty_audit_buf;\n\nstruct signal_struct {\n\trefcount_t sigcnt;\n\tatomic_t live;\n\tint nr_threads;\n\tint quick_threads;\n\tstruct list_head thread_head;\n\twait_queue_head_t wait_chldexit;\n\tstruct task_struct *curr_target;\n\tstruct sigpending shared_pending;\n\tstruct hlist_head multiprocess;\n\tint group_exit_code;\n\tint notify_count;\n\tstruct task_struct *group_exec_task;\n\tint group_stop_count;\n\tunsigned int flags;\n\tstruct core_state *core_state;\n\tunsigned int is_child_subreaper: 1;\n\tunsigned int has_child_subreaper: 1;\n\tunsigned int next_posix_timer_id;\n\tstruct hlist_head posix_timers;\n\tstruct hlist_head ignored_posix_timers;\n\tstruct hrtimer real_timer;\n\tktime_t it_real_incr;\n\tstruct cpu_itimer it[2];\n\tstruct thread_group_cputimer cputimer;\n\tstruct posix_cputimers posix_cputimers;\n\tstruct pid *pids[4];\n\tstruct pid *tty_old_pgrp;\n\tint leader;\n\tstruct tty_struct *tty;\n\tstruct autogroup *autogroup;\n\tseqlock_t stats_lock;\n\tu64 utime;\n\tu64 stime;\n\tu64 cutime;\n\tu64 cstime;\n\tu64 gtime;\n\tu64 cgtime;\n\tstruct prev_cputime prev_cputime;\n\tlong unsigned int nvcsw;\n\tlong unsigned int nivcsw;\n\tlong unsigned int cnvcsw;\n\tlong unsigned int cnivcsw;\n\tlong unsigned int min_flt;\n\tlong unsigned int maj_flt;\n\tlong unsigned int cmin_flt;\n\tlong unsigned int cmaj_flt;\n\tlong unsigned int inblock;\n\tlong unsigned int oublock;\n\tlong unsigned int cinblock;\n\tlong unsigned int coublock;\n\tlong unsigned int maxrss;\n\tlong unsigned int cmaxrss;\n\tstruct task_io_accounting ioac;\n\tlong long unsigned int sum_sched_runtime;\n\tstruct rlimit rlim[16];\n\tstruct pacct_struct pacct;\n\tstruct taskstats *stats;\n\tunsigned int audit_tty;\n\tstruct tty_audit_buf *tty_audit_buf;\n\tbool oom_flag_origin;\n\tshort int oom_score_adj;\n\tshort int oom_score_adj_min;\n\tstruct mm_struct *oom_mm;\n\tstruct mutex cred_guard_mutex;\n\tstruct rw_semaphore exec_update_lock;\n};\n\nstruct signalfd_ctx {\n\tsigset_t sigmask;\n};\n\nstruct signalfd_siginfo {\n\t__u32 ssi_signo;\n\t__s32 ssi_errno;\n\t__s32 ssi_code;\n\t__u32 ssi_pid;\n\t__u32 ssi_uid;\n\t__s32 ssi_fd;\n\t__u32 ssi_tid;\n\t__u32 ssi_band;\n\t__u32 ssi_overrun;\n\t__u32 ssi_trapno;\n\t__s32 ssi_status;\n\t__s32 ssi_int;\n\t__u64 ssi_ptr;\n\t__u64 ssi_utime;\n\t__u64 ssi_stime;\n\t__u64 ssi_addr;\n\t__u16 ssi_addr_lsb;\n\t__u16 __pad2;\n\t__s32 ssi_syscall;\n\t__u64 ssi_call_addr;\n\t__u32 ssi_arch;\n\t__u8 __pad[28];\n};\n\nstruct sigset_argpack {\n\tsigset_t *p;\n\tsize_t size;\n};\n\nstruct sil24_prb {\n\t__le16 ctrl;\n\t__le16 prot;\n\t__le32 rx_cnt;\n\tu8 fis[24];\n};\n\nstruct sil24_sge {\n\t__le64 addr;\n\t__le32 cnt;\n\t__le32 flags;\n};\n\nstruct sil24_ata_block {\n\tstruct sil24_prb prb;\n\tstruct sil24_sge sge[253];\n};\n\nstruct sil24_atapi_block {\n\tstruct sil24_prb prb;\n\tu8 cdb[16];\n\tstruct sil24_sge sge[253];\n};\n\nstruct sil24_cerr_info {\n\tunsigned int err_mask;\n\tunsigned int action;\n\tconst char *desc;\n};\n\nunion sil24_cmd_block {\n\tstruct sil24_ata_block ata;\n\tstruct sil24_atapi_block atapi;\n};\n\nstruct sil24_port_priv {\n\tunion sil24_cmd_block *cmd_block;\n\tdma_addr_t cmd_block_dma;\n\tint do_port_rst;\n};\n\nstruct simple_attr {\n\tint (*get)(void *, u64 *);\n\tint (*set)(void *, u64);\n\tchar get_buf[24];\n\tchar set_buf[24];\n\tvoid *data;\n\tconst char *fmt;\n\tstruct mutex mutex;\n};\n\nstruct simple_mfd_data {\n\tconst struct regmap_config *regmap_config;\n\tconst struct mfd_cell *mfd_cell;\n\tsize_t mfd_cell_size;\n};\n\nstruct simple_pm_bus {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct simple_transaction_argresp {\n\tssize_t size;\n\tchar data[0];\n};\n\nstruct simple_xattr {\n\tstruct rb_node rb_node;\n\tchar *name;\n\tsize_t size;\n\tchar value[0];\n};\n\nstruct simplefb_platform_data {\n\tu32 width;\n\tu32 height;\n\tu32 stride;\n\tconst char *format;\n};\n\nstruct sipll5 {\n\tstruct clk_hw hw;\n\tu32 conf;\n\tlong unsigned int foutpostdiv_rate;\n\tstruct rzg2l_cpg_priv *priv;\n};\n\nstruct sk_buff__safe_rcu_or_null {\n\tstruct sock *sk;\n};\n\nstruct sk_buff_fclones {\n\tstruct sk_buff skb1;\n\tstruct sk_buff skb2;\n\trefcount_t fclone_ref;\n};\n\nstruct sk_filter {\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tstruct bpf_prog *prog;\n};\n\nstruct sk_psock_work_state {\n\tu32 len;\n\tu32 off;\n};\n\nstruct sk_psock {\n\tstruct sock *sk;\n\tstruct sock *sk_redir;\n\tu32 apply_bytes;\n\tu32 cork_bytes;\n\tu32 eval;\n\tbool redir_ingress;\n\tstruct sk_msg *cork;\n\tstruct sk_psock_progs progs;\n\tstruct sk_buff_head ingress_skb;\n\tstruct list_head ingress_msg;\n\tspinlock_t ingress_lock;\n\tlong unsigned int state;\n\tstruct list_head link;\n\tspinlock_t link_lock;\n\trefcount_t refcnt;\n\tvoid (*saved_unhash)(struct sock *);\n\tvoid (*saved_destroy)(struct sock *);\n\tvoid (*saved_close)(struct sock *, long int);\n\tvoid (*saved_write_space)(struct sock *);\n\tvoid (*saved_data_ready)(struct sock *);\n\tint (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);\n\tstruct proto *sk_proto;\n\tstruct mutex work_mutex;\n\tstruct sk_psock_work_state work_state;\n\tstruct delayed_work work;\n\tstruct sock *sk_pair;\n\tstruct rcu_work rwork;\n};\n\nstruct sk_psock_link {\n\tstruct list_head list;\n\tstruct bpf_map *map;\n\tvoid *link_raw;\n};\n\nstruct tls_msg {\n\tu8 control;\n};\n\nstruct sk_skb_cb {\n\tunsigned char data[20];\n\tunsigned char pad[4];\n\tstruct _strp_msg strp;\n\tstruct tls_msg tls;\n\tu64 temp_reg;\n};\n\nstruct skb_checksum_ops {\n\t__wsum (*update)(const void *, int, __wsum);\n\t__wsum (*combine)(__wsum, __wsum, int, int);\n};\n\nstruct skb_ext {\n\trefcount_t refcnt;\n\tu8 offset[1];\n\tu8 chunks;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct skb_frag {\n\tnetmem_ref netmem;\n\tunsigned int len;\n\tunsigned int offset;\n};\n\ntypedef struct skb_frag skb_frag_t;\n\nstruct skb_free_array {\n\tunsigned int skb_count;\n\tvoid *skb_array[16];\n};\n\nstruct skb_gso_cb {\n\tunion {\n\t\tint mac_offset;\n\t\tint data_offset;\n\t};\n\tint encap_level;\n\t__wsum csum;\n\t__u16 csum_start;\n};\n\nstruct skb_seq_state {\n\t__u32 lower_offset;\n\t__u32 upper_offset;\n\t__u32 frag_idx;\n\t__u32 stepped_offset;\n\tstruct sk_buff *root_skb;\n\tstruct sk_buff *cur_skb;\n\t__u8 *frag_data;\n\t__u32 frag_off;\n};\n\nstruct skb_shared_hwtstamps {\n\tunion {\n\t\tktime_t hwtstamp;\n\t\tvoid *netdev_data;\n\t};\n};\n\nstruct xsk_tx_metadata_compl {\n\t__u64 *tx_timestamp;\n};\n\nstruct skb_shared_info {\n\t__u8 flags;\n\t__u8 meta_len;\n\t__u8 nr_frags;\n\t__u8 tx_flags;\n\tshort unsigned int gso_size;\n\tshort unsigned int gso_segs;\n\tstruct sk_buff *frag_list;\n\tunion {\n\t\tstruct skb_shared_hwtstamps hwtstamps;\n\t\tstruct xsk_tx_metadata_compl xsk_meta;\n\t};\n\tunsigned int gso_type;\n\tu32 tskey;\n\tatomic_t dataref;\n\tunion {\n\t\tstruct {\n\t\t\tu32 xdp_frags_size;\n\t\t\tu32 xdp_frags_truesize;\n\t\t};\n\t\tvoid *destructor_arg;\n\t};\n\tskb_frag_t frags[17];\n};\n\nstruct skcipher_alg {\n\tint (*setkey)(struct crypto_skcipher *, const u8 *, unsigned int);\n\tint (*encrypt)(struct skcipher_request *);\n\tint (*decrypt)(struct skcipher_request *);\n\tint (*export)(struct skcipher_request *, void *);\n\tint (*import)(struct skcipher_request *, const void *);\n\tint (*init)(struct crypto_skcipher *);\n\tvoid (*exit)(struct crypto_skcipher *);\n\tunsigned int walksize;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int min_keysize;\n\t\t\tunsigned int max_keysize;\n\t\t\tunsigned int ivsize;\n\t\t\tunsigned int chunksize;\n\t\t\tunsigned int statesize;\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct skcipher_alg_common co;\n\t};\n};\n\nstruct skcipher_ctx_simple {\n\tstruct crypto_cipher *cipher;\n};\n\nstruct skcipher_instance {\n\tvoid (*free)(struct skcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[88];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct skcipher_alg alg;\n\t};\n};\n\nstruct skcipher_request {\n\tunsigned int cryptlen;\n\tu8 *iv;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tstruct crypto_async_request base;\n\tvoid *__ctx[0];\n};\n\nstruct skcipher_walk {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *addr;\n\t\t} virt;\n\t} src;\n\tunion {\n\t\tstruct {\n\t\t\tvoid *addr;\n\t\t} virt;\n\t} dst;\n\tstruct scatter_walk in;\n\tunsigned int nbytes;\n\tstruct scatter_walk out;\n\tunsigned int total;\n\tu8 *page;\n\tu8 *buffer;\n\tu8 *oiv;\n\tvoid *iv;\n\tunsigned int ivsize;\n\tint flags;\n\tunsigned int blocksize;\n\tunsigned int stride;\n\tunsigned int alignmask;\n};\n\nstruct sky2_status_le;\n\nstruct sky2_hw {\n\tvoid *regs;\n\tstruct pci_dev *pdev;\n\tstruct napi_struct napi;\n\tstruct net_device *dev[2];\n\tlong unsigned int flags;\n\tu8 chip_id;\n\tu8 chip_rev;\n\tu8 pmd_type;\n\tu8 ports;\n\tstruct sky2_status_le *st_le;\n\tu32 st_size;\n\tu32 st_idx;\n\tdma_addr_t st_dma;\n\tstruct timer_list watchdog_timer;\n\tstruct work_struct restart_work;\n\twait_queue_head_t msi_wait;\n\tchar irq_name[0];\n};\n\nstruct sky2_stats {\n\tstruct u64_stats_sync syncp;\n\tu64 packets;\n\tu64 bytes;\n};\n\nstruct tx_ring_info;\n\nstruct sky2_tx_le;\n\nstruct sky2_rx_le;\n\nstruct sky2_port {\n\tstruct sky2_hw *hw;\n\tstruct net_device *netdev;\n\tunsigned int port;\n\tu32 msg_enable;\n\tspinlock_t phy_lock;\n\tstruct tx_ring_info *tx_ring;\n\tstruct sky2_tx_le *tx_le;\n\tstruct sky2_stats tx_stats;\n\tu16 tx_ring_size;\n\tu16 tx_cons;\n\tu16 tx_prod;\n\tu16 tx_next;\n\tu16 tx_pending;\n\tu16 tx_last_mss;\n\tu32 tx_last_upper;\n\tu32 tx_tcpsum;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct rx_ring_info *rx_ring;\n\tstruct sky2_rx_le *rx_le;\n\tstruct sky2_stats rx_stats;\n\tu16 rx_next;\n\tu16 rx_put;\n\tu16 rx_pending;\n\tu16 rx_data_size;\n\tu16 rx_nfrags;\n\tlong unsigned int last_rx;\n\tstruct {\n\t\tlong unsigned int last;\n\t\tu32 mac_rp;\n\t\tu8 mac_lev;\n\t\tu8 fifo_rp;\n\t\tu8 fifo_lev;\n\t} check;\n\tdma_addr_t rx_le_map;\n\tdma_addr_t tx_le_map;\n\tu16 advertising;\n\tu16 speed;\n\tu8 wol;\n\tu8 duplex;\n\tu16 flags;\n\tenum flow_control flow_mode;\n\tenum flow_control flow_status;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sky2_rx_le {\n\t__le32 addr;\n\t__le16 length;\n\tu8 ctrl;\n\tu8 opcode;\n};\n\nstruct sky2_stat {\n\tchar name[32];\n\tu16 offset;\n};\n\nstruct sky2_status_le {\n\t__le32 status;\n\t__le16 length;\n\tu8 css;\n\tu8 opcode;\n};\n\nstruct sky2_tx_le {\n\t__le32 addr;\n\t__le16 length;\n\tu8 ctrl;\n\tu8 opcode;\n};\n\nstruct sl28cpld_intc {\n\tstruct regmap *regmap;\n\tstruct regmap_irq_chip chip;\n\tstruct regmap_irq_chip_data *irq_data;\n};\n\nstruct slab {\n\tlong unsigned int __page_flags;\n\tstruct kmem_cache *slab_cache;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct list_head slab_list;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct slab *next;\n\t\t\t\t\tint slabs;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *freelist;\n\t\t\t\t\tunion {\n\t\t\t\t\t\tlong unsigned int counters;\n\t\t\t\t\t\tstruct {\n\t\t\t\t\t\t\tunsigned int inuse: 16;\n\t\t\t\t\t\t\tunsigned int objects: 15;\n\t\t\t\t\t\t\tunsigned int frozen: 1;\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t\tfreelist_aba_t freelist_counter;\n\t\t\t};\n\t\t};\n\t\tstruct callback_head callback_head;\n\t};\n\tunsigned int __page_type;\n\tatomic_t __page_refcount;\n\tlong unsigned int obj_exts;\n};\n\nstruct slab_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kmem_cache *, char *);\n\tssize_t (*store)(struct kmem_cache *, const char *, size_t);\n};\n\nstruct slabinfo {\n\tlong unsigned int active_objs;\n\tlong unsigned int num_objs;\n\tlong unsigned int active_slabs;\n\tlong unsigned int num_slabs;\n\tlong unsigned int shared_avail;\n\tunsigned int limit;\n\tunsigned int batchcount;\n\tunsigned int shared;\n\tunsigned int objects_per_slab;\n\tunsigned int cache_order;\n};\n\nstruct slabobj_ext {\n\tstruct obj_cgroup *objcg;\n};\n\nstruct sleep_stack_data {\n\tstruct cpu_suspend_ctx system_regs;\n\tlong unsigned int callee_saved_regs[12];\n};\n\nstruct slot {\n\tstruct hotplug_slot hotplug_slot;\n\tstruct acpiphp_slot *acpi_slot;\n\tunsigned int sun;\n};\n\nstruct slub_flush_work {\n\tstruct work_struct work;\n\tstruct kmem_cache *s;\n\tbool skip;\n};\n\nstruct smc91x_platdata {\n\tlong unsigned int flags;\n\tunsigned char leda;\n\tunsigned char ledb;\n\tbool pxa_u16_align4;\n};\n\nstruct smc_local {\n\tstruct sk_buff *pending_tx_skb;\n\tstruct tasklet_struct tx_task;\n\tstruct gpio_desc *power_gpio;\n\tstruct gpio_desc *reset_gpio;\n\tint version;\n\tint tcr_cur_mode;\n\tint rcr_cur_mode;\n\tint rpc_cur_mode;\n\tint ctl_rfduplx;\n\tint ctl_rspeed;\n\tu32 msg_enable;\n\tu32 phy_type;\n\tstruct mii_if_info mii;\n\tstruct work_struct phy_configure;\n\tstruct net_device *dev;\n\tint work_pending;\n\tspinlock_t lock;\n\tstruct dma_chan *dma_chan;\n\tvoid *base;\n\tvoid *datacs;\n\tint io_shift;\n\tbool half_word_align4;\n\tstruct smc91x_platdata cfg;\n};\n\nstruct smd_channel_info {\n\t__le32 state;\n\tu8 fDSR;\n\tu8 fCTS;\n\tu8 fCD;\n\tu8 fRI;\n\tu8 fHEAD;\n\tu8 fTAIL;\n\tu8 fSTATE;\n\tu8 fBLOCKREADINTR;\n\t__le32 tail;\n\t__le32 head;\n};\n\nstruct smd_channel_info_pair {\n\tstruct smd_channel_info tx;\n\tstruct smd_channel_info rx;\n};\n\nstruct smd_channel_info_word {\n\t__le32 state;\n\t__le32 fDSR;\n\t__le32 fCTS;\n\t__le32 fCD;\n\t__le32 fRI;\n\t__le32 fHEAD;\n\t__le32 fTAIL;\n\t__le32 fSTATE;\n\t__le32 fBLOCKREADINTR;\n\t__le32 tail;\n\t__le32 head;\n};\n\nstruct smd_channel_info_word_pair {\n\tstruct smd_channel_info_word tx;\n\tstruct smd_channel_info_word rx;\n};\n\nstruct smem_global_entry {\n\t__le32 allocated;\n\t__le32 offset;\n\t__le32 size;\n\t__le32 aux_base;\n};\n\nstruct smem_proc_comm {\n\t__le32 command;\n\t__le32 status;\n\t__le32 params[2];\n};\n\nstruct smem_header {\n\tstruct smem_proc_comm proc_comm[4];\n\t__le32 version[32];\n\t__le32 initialized;\n\t__le32 free_offset;\n\t__le32 available;\n\t__le32 reserved;\n\tstruct smem_global_entry toc[512];\n};\n\nstruct smem_info {\n\tu8 magic[4];\n\t__le32 size;\n\t__le32 base_addr;\n\t__le32 reserved;\n\t__le16 num_items;\n};\n\nstruct smem_partition_header {\n\tu8 magic[4];\n\t__le16 host0;\n\t__le16 host1;\n\t__le32 size;\n\t__le32 offset_free_uncached;\n\t__le32 offset_free_cached;\n\t__le32 reserved[3];\n};\n\nstruct smem_private_entry {\n\tu16 canary;\n\t__le16 item;\n\t__le32 size;\n\t__le16 padding_data;\n\t__le16 padding_hdr;\n\t__le32 reserved;\n};\n\nstruct smem_ptable_entry {\n\t__le32 offset;\n\t__le32 size;\n\t__le32 flags;\n\t__le16 host0;\n\t__le16 host1;\n\t__le32 cacheline;\n\t__le32 reserved[7];\n};\n\nstruct smem_ptable {\n\tu8 magic[4];\n\t__le32 version;\n\t__le32 num_entries;\n\t__le32 reserved[5];\n\tstruct smem_ptable_entry entry[0];\n};\n\nstruct smp2p_entry {\n\tstruct list_head node;\n\tstruct qcom_smp2p *smp2p;\n\tconst char *name;\n\tu32 *value;\n\tu32 last_value;\n\tstruct irq_domain *domain;\n\tlong unsigned int irq_enabled[1];\n\tlong unsigned int irq_rising[1];\n\tlong unsigned int irq_falling[1];\n\tstruct qcom_smem_state *state;\n\tspinlock_t lock;\n};\n\nstruct smp2p_smem_item {\n\tu32 magic;\n\tu8 version;\n\tunsigned int features: 24;\n\tu16 local_pid;\n\tu16 remote_pid;\n\tu16 total_entries;\n\tu16 valid_entries;\n\tu32 flags;\n\tstruct {\n\t\tu8 name[16];\n\t\tu32 value;\n\t} entries[16];\n};\n\nstruct smp_call_on_cpu_struct {\n\tstruct work_struct work;\n\tstruct completion done;\n\tint (*func)(void *);\n\tvoid *data;\n\tint ret;\n\tint cpu;\n};\n\nstruct smp_disc_resp {\n\tu8 frame_type;\n\tu8 function;\n\tu8 result;\n\tu8 reserved;\n\tstruct discover_resp disc;\n};\n\nstruct smp_hotplug_thread {\n\tstruct task_struct **store;\n\tstruct list_head list;\n\tint (*thread_should_run)(unsigned int);\n\tvoid (*thread_fn)(unsigned int);\n\tvoid (*create)(unsigned int);\n\tvoid (*setup)(unsigned int);\n\tvoid (*cleanup)(unsigned int, bool);\n\tvoid (*park)(unsigned int);\n\tvoid (*unpark)(unsigned int);\n\tbool selfparking;\n\tconst char *thread_comm;\n};\n\nstruct smp_rg_resp {\n\tu8 frame_type;\n\tu8 function;\n\tu8 result;\n\tu8 reserved;\n\tstruct report_general_resp rg;\n};\n\nstruct smpboot_thread_data {\n\tunsigned int cpu;\n\tunsigned int status;\n\tstruct smp_hotplug_thread *ht;\n};\n\nstruct smsc911x_platform_config {\n\tunsigned int irq_polarity;\n\tunsigned int irq_type;\n\tunsigned int flags;\n\tunsigned int shift;\n\tphy_interface_t phy_interface;\n\tunsigned char mac[6];\n};\n\nstruct smsc911x_ops;\n\nstruct smsc911x_data {\n\tvoid *ioaddr;\n\tunsigned int idrev;\n\tunsigned int generation;\n\tstruct smsc911x_platform_config config;\n\tspinlock_t mac_lock;\n\tspinlock_t dev_lock;\n\tstruct mii_bus *mii_bus;\n\tunsigned int using_extphy;\n\tint last_duplex;\n\tint last_carrier;\n\tu32 msg_enable;\n\tunsigned int gpio_setting;\n\tunsigned int gpio_orig_setting;\n\tstruct net_device *dev;\n\tstruct napi_struct napi;\n\tunsigned int software_irq_signal;\n\tchar loopback_tx_pkt[64];\n\tchar loopback_rx_pkt[64];\n\tunsigned int resetcount;\n\tunsigned int multicast_update_pending;\n\tunsigned int set_bits_mask;\n\tunsigned int clear_bits_mask;\n\tunsigned int hashhi;\n\tunsigned int hashlo;\n\tconst struct smsc911x_ops *ops;\n\tstruct regulator_bulk_data supplies[2];\n\tstruct gpio_desc *reset_gpiod;\n\tstruct clk *clk;\n};\n\nstruct smsc911x_ops {\n\tu32 (*reg_read)(struct smsc911x_data *, u32);\n\tvoid (*reg_write)(struct smsc911x_data *, u32, u32);\n\tvoid (*rx_readfifo)(struct smsc911x_data *, unsigned int *, unsigned int);\n\tvoid (*tx_writefifo)(struct smsc911x_data *, unsigned int *, unsigned int);\n};\n\nstruct smsm_entry {\n\tstruct qcom_smsm *smsm;\n\tstruct irq_domain *domain;\n\tlong unsigned int irq_enabled[1];\n\tlong unsigned int irq_rising[1];\n\tlong unsigned int irq_falling[1];\n\tlong unsigned int last_value;\n\tu32 *remote_state;\n\tu32 *subscription;\n};\n\nstruct smsm_host {\n\tstruct regmap *ipc_regmap;\n\tint ipc_offset;\n\tint ipc_bit;\n\tstruct mbox_chan *mbox_chan;\n};\n\nstruct snapshot_handle {\n\tunsigned int cur;\n\tvoid *buffer;\n\tint sync_read;\n};\n\nstruct snapshot_data {\n\tstruct snapshot_handle handle;\n\tint swap;\n\tint mode;\n\tbool frozen;\n\tbool ready;\n\tbool platform_support;\n\tbool free_bitmaps;\n\tdev_t dev;\n};\n\nstruct snd_aes_iec958 {\n\tunsigned char status[24];\n\tunsigned char subcode[147];\n\tunsigned char pad;\n\tunsigned char dig_subframe[4];\n};\n\nstruct snd_shutdown_f_ops;\n\nstruct snd_info_entry;\n\nstruct snd_card {\n\tint number;\n\tchar id[16];\n\tchar driver[16];\n\tchar shortname[32];\n\tchar longname[80];\n\tchar irq_descr[32];\n\tchar mixername[80];\n\tchar components[128];\n\tstruct module *module;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_card *);\n\tstruct list_head devices;\n\tstruct device *ctl_dev;\n\tunsigned int last_numid;\n\tstruct rw_semaphore controls_rwsem;\n\trwlock_t controls_rwlock;\n\tint controls_count;\n\tsize_t user_ctl_alloc_size;\n\tstruct list_head controls;\n\tstruct list_head ctl_files;\n\tstruct xarray ctl_numids;\n\tstruct xarray ctl_hash;\n\tbool ctl_hash_collision;\n\tstruct snd_info_entry *proc_root;\n\tstruct proc_dir_entry *proc_root_link;\n\tstruct list_head files_list;\n\tstruct snd_shutdown_f_ops *s_f_ops;\n\tspinlock_t files_lock;\n\tint shutdown;\n\tstruct completion *release_completion;\n\tstruct device *dev;\n\tstruct device card_dev;\n\tconst struct attribute_group *dev_groups[4];\n\tbool registered;\n\tbool managed;\n\tbool releasing;\n\tint sync_irq;\n\twait_queue_head_t remove_sleep;\n\tsize_t total_pcm_alloc_bytes;\n\tstruct mutex memory_mutex;\n\tunsigned int power_state;\n\tatomic_t power_ref;\n\twait_queue_head_t power_sleep;\n\twait_queue_head_t power_ref_sleep;\n};\n\nstruct snd_enc_wma {\n\t__u32 super_block_align;\n};\n\nstruct snd_enc_vorbis {\n\t__s32 quality;\n\t__u32 managed;\n\t__u32 max_bit_rate;\n\t__u32 min_bit_rate;\n\t__u32 downmix;\n};\n\nstruct snd_enc_real {\n\t__u32 quant_bits;\n\t__u32 start_region;\n\t__u32 num_regions;\n};\n\nstruct snd_enc_flac {\n\t__u32 num;\n\t__u32 gain;\n};\n\nstruct snd_enc_generic {\n\t__u32 bw;\n\t__s32 reserved[15];\n};\n\nstruct snd_dec_flac {\n\t__u16 sample_size;\n\t__u16 min_blk_size;\n\t__u16 max_blk_size;\n\t__u16 min_frame_size;\n\t__u16 max_frame_size;\n\t__u16 reserved;\n};\n\nstruct snd_dec_wma {\n\t__u32 encoder_option;\n\t__u32 adv_encoder_option;\n\t__u32 adv_encoder_option2;\n\t__u32 reserved;\n};\n\nstruct snd_dec_alac {\n\t__u32 frame_length;\n\t__u8 compatible_version;\n\t__u8 pb;\n\t__u8 mb;\n\t__u8 kb;\n\t__u32 max_run;\n\t__u32 max_frame_bytes;\n};\n\nstruct snd_dec_ape {\n\t__u16 compatible_version;\n\t__u16 compression_level;\n\t__u32 format_flags;\n\t__u32 blocks_per_frame;\n\t__u32 final_frame_blocks;\n\t__u32 total_frames;\n\t__u32 seek_table_present;\n};\n\nunion snd_codec_options {\n\tstruct snd_enc_wma wma;\n\tstruct snd_enc_vorbis vorbis;\n\tstruct snd_enc_real real;\n\tstruct snd_enc_flac flac;\n\tstruct snd_enc_generic generic;\n\tstruct snd_dec_flac flac_d;\n\tstruct snd_dec_wma wma_d;\n\tstruct snd_dec_alac alac_d;\n\tstruct snd_dec_ape ape_d;\n\tstruct {\n\t\t__u32 out_sample_rate;\n\t} src_d;\n};\n\nstruct snd_codec {\n\t__u32 id;\n\t__u32 ch_in;\n\t__u32 ch_out;\n\t__u32 sample_rate;\n\t__u32 bit_rate;\n\t__u32 rate_control;\n\t__u32 profile;\n\t__u32 level;\n\t__u32 ch_mode;\n\t__u32 format;\n\t__u32 align;\n\tunion snd_codec_options options;\n\t__u32 pcm_format;\n\t__u32 reserved[2];\n};\n\nstruct snd_codec_desc_src {\n\t__u32 out_sample_rate_min;\n\t__u32 out_sample_rate_max;\n};\n\nstruct snd_codec_desc {\n\t__u32 max_ch;\n\t__u32 sample_rates[32];\n\t__u32 num_sample_rates;\n\t__u32 bit_rate[32];\n\t__u32 num_bitrates;\n\t__u32 rate_control;\n\t__u32 profiles;\n\t__u32 modes;\n\t__u32 formats;\n\t__u32 min_buffer;\n\t__u32 pcm_formats;\n\tunion {\n\t\t__u32 u_space[6];\n\t\tstruct snd_codec_desc_src src;\n\t};\n\t__u32 reserved[8];\n};\n\nstruct snd_compr_ops;\n\nstruct snd_compr {\n\tconst char *name;\n\tstruct device *dev;\n\tstruct snd_compr_ops *ops;\n\tvoid *private_data;\n\tstruct snd_card *card;\n\tunsigned int direction;\n\tstruct mutex lock;\n\tint device;\n\tbool use_pause_in_draining;\n\tchar id[64];\n\tstruct snd_info_entry *proc_root;\n\tstruct snd_info_entry *proc_info_entry;\n};\n\nstruct snd_compr_tstamp {\n\t__u32 byte_offset;\n\t__u32 copied_total;\n\t__u32 pcm_frames;\n\t__u32 pcm_io_frames;\n\t__u32 sampling_rate;\n};\n\nstruct snd_compr_avail {\n\t__u64 avail;\n\tstruct snd_compr_tstamp tstamp;\n} __attribute__((packed));\n\nstruct snd_compr_caps {\n\t__u32 num_codecs;\n\t__u32 direction;\n\t__u32 min_fragment_size;\n\t__u32 max_fragment_size;\n\t__u32 min_fragments;\n\t__u32 max_fragments;\n\t__u32 codecs[32];\n\t__u32 reserved[11];\n};\n\nstruct snd_compr_codec_caps {\n\t__u32 codec;\n\t__u32 num_descriptors;\n\tstruct snd_codec_desc descriptor[32];\n};\n\nstruct snd_dma_device {\n\tint type;\n\tenum dma_data_direction dir;\n\tbool need_sync;\n\tstruct device *dev;\n};\n\nstruct snd_dma_buffer {\n\tstruct snd_dma_device dev;\n\tunsigned char *area;\n\tdma_addr_t addr;\n\tsize_t bytes;\n\tvoid *private_data;\n};\n\nstruct snd_compr_runtime;\n\nstruct snd_compr_stream {\n\tconst char *name;\n\tstruct snd_compr_ops *ops;\n\tstruct snd_compr_runtime *runtime;\n\tstruct snd_compr *device;\n\tstruct delayed_work error_work;\n\tenum snd_compr_direction direction;\n\tbool metadata_set;\n\tbool next_track;\n\tbool partial_drain;\n\tbool pause_in_draining;\n\tvoid *private_data;\n\tstruct snd_dma_buffer dma_buffer;\n};\n\nstruct snd_compr_file {\n\tlong unsigned int caps;\n\tstruct snd_compr_stream stream;\n};\n\nstruct snd_compr_metadata {\n\t__u32 key;\n\t__u32 value[8];\n};\n\nstruct snd_compr_params;\n\nstruct snd_compr_task_runtime;\n\nstruct snd_compr_ops {\n\tint (*open)(struct snd_compr_stream *);\n\tint (*free)(struct snd_compr_stream *);\n\tint (*set_params)(struct snd_compr_stream *, struct snd_compr_params *);\n\tint (*get_params)(struct snd_compr_stream *, struct snd_codec *);\n\tint (*set_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*get_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*trigger)(struct snd_compr_stream *, int);\n\tint (*pointer)(struct snd_compr_stream *, struct snd_compr_tstamp *);\n\tint (*copy)(struct snd_compr_stream *, char *, size_t);\n\tint (*mmap)(struct snd_compr_stream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_compr_stream *, size_t);\n\tint (*get_caps)(struct snd_compr_stream *, struct snd_compr_caps *);\n\tint (*get_codec_caps)(struct snd_compr_stream *, struct snd_compr_codec_caps *);\n\tint (*task_create)(struct snd_compr_stream *, struct snd_compr_task_runtime *);\n\tint (*task_start)(struct snd_compr_stream *, struct snd_compr_task_runtime *);\n\tint (*task_stop)(struct snd_compr_stream *, struct snd_compr_task_runtime *);\n\tint (*task_free)(struct snd_compr_stream *, struct snd_compr_task_runtime *);\n};\n\nstruct snd_compressed_buffer {\n\t__u32 fragment_size;\n\t__u32 fragments;\n};\n\nstruct snd_compr_params {\n\tstruct snd_compressed_buffer buffer;\n\tstruct snd_codec codec;\n\t__u8 no_wake_mode;\n};\n\nstruct snd_compr_runtime {\n\tsnd_pcm_state_t state;\n\tstruct snd_compr_ops *ops;\n\tvoid *buffer;\n\tu64 buffer_size;\n\tu32 fragment_size;\n\tu32 fragments;\n\tu64 total_bytes_available;\n\tu64 total_bytes_transferred;\n\twait_queue_head_t sleep;\n\tvoid *private_data;\n\tunsigned char *dma_area;\n\tdma_addr_t dma_addr;\n\tsize_t dma_bytes;\n\tstruct snd_dma_buffer *dma_buffer_p;\n\tu32 active_tasks;\n\tu32 total_tasks;\n\tu64 task_seqno;\n\tstruct list_head tasks;\n};\n\nstruct snd_compr_task {\n\t__u64 seqno;\n\t__u64 origin_seqno;\n\tint input_fd;\n\tint output_fd;\n\t__u64 input_size;\n\t__u32 flags;\n\t__u8 reserved[16];\n} __attribute__((packed));\n\nstruct snd_compr_task_runtime {\n\tstruct list_head list;\n\tstruct dma_buf *input;\n\tstruct dma_buf *output;\n\tu64 seqno;\n\tu64 input_size;\n\tu64 output_size;\n\tu32 flags;\n\tu8 state;\n\tvoid *private_value;\n};\n\nstruct snd_compr_task_status {\n\t__u64 seqno;\n\t__u64 input_size;\n\t__u64 output_size;\n\t__u32 output_flags;\n\t__u8 state;\n\t__u8 reserved[15];\n} __attribute__((packed));\n\nstruct snd_compress_ops {\n\tint (*open)(struct snd_soc_component *, struct snd_compr_stream *);\n\tint (*free)(struct snd_soc_component *, struct snd_compr_stream *);\n\tint (*set_params)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_params *);\n\tint (*get_params)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_codec *);\n\tint (*set_metadata)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*get_metadata)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*trigger)(struct snd_soc_component *, struct snd_compr_stream *, int);\n\tint (*pointer)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_tstamp *);\n\tint (*copy)(struct snd_soc_component *, struct snd_compr_stream *, char *, size_t);\n\tint (*mmap)(struct snd_soc_component *, struct snd_compr_stream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_soc_component *, struct snd_compr_stream *, size_t);\n\tint (*get_caps)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_caps *);\n\tint (*get_codec_caps)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_codec_caps *);\n};\n\nstruct snd_ctl_card_info {\n\tint card;\n\tint pad;\n\tunsigned char id[16];\n\tunsigned char driver[16];\n\tunsigned char name[32];\n\tunsigned char longname[80];\n\tunsigned char reserved_[16];\n\tunsigned char mixername[80];\n\tunsigned char components[128];\n};\n\nstruct snd_ctl_elem_info {\n\tstruct snd_ctl_elem_id id;\n\tsnd_ctl_elem_type_t type;\n\tunsigned int access;\n\tunsigned int count;\n\t__kernel_pid_t owner;\n\tunion {\n\t\tstruct {\n\t\t\tlong int min;\n\t\t\tlong int max;\n\t\t\tlong int step;\n\t\t} integer;\n\t\tstruct {\n\t\t\tlong long int min;\n\t\t\tlong long int max;\n\t\t\tlong long int step;\n\t\t} integer64;\n\t\tstruct {\n\t\t\tunsigned int items;\n\t\t\tunsigned int item;\n\t\t\tchar name[64];\n\t\t\t__u64 names_ptr;\n\t\t\tunsigned int names_length;\n\t\t} enumerated;\n\t\tunsigned char reserved[128];\n\t} value;\n\tunsigned char reserved[64];\n};\n\nstruct snd_ctl_elem_info32 {\n\tstruct snd_ctl_elem_id id;\n\ts32 type;\n\tu32 access;\n\tu32 count;\n\ts32 owner;\n\tunion {\n\t\tstruct {\n\t\t\ts32 min;\n\t\t\ts32 max;\n\t\t\ts32 step;\n\t\t} integer;\n\t\tstruct {\n\t\t\tu64 min;\n\t\t\tu64 max;\n\t\t\tu64 step;\n\t\t} integer64;\n\t\tstruct {\n\t\t\tu32 items;\n\t\t\tu32 item;\n\t\t\tchar name[64];\n\t\t\tu64 names_ptr;\n\t\t\tu32 names_length;\n\t\t} enumerated;\n\t\tunsigned char reserved[128];\n\t} value;\n\tunsigned char reserved[64];\n};\n\nstruct snd_ctl_elem_list {\n\tunsigned int offset;\n\tunsigned int space;\n\tunsigned int used;\n\tunsigned int count;\n\tstruct snd_ctl_elem_id *pids;\n\tunsigned char reserved[50];\n};\n\nstruct snd_ctl_elem_list32 {\n\tu32 offset;\n\tu32 space;\n\tu32 used;\n\tu32 count;\n\tu32 pids;\n\tunsigned char reserved[50];\n};\n\nstruct snd_ctl_elem_value {\n\tstruct snd_ctl_elem_id id;\n\tunsigned int indirect: 1;\n\tunion {\n\t\tunion {\n\t\t\tlong int value[128];\n\t\t\tlong int *value_ptr;\n\t\t} integer;\n\t\tunion {\n\t\t\tlong long int value[64];\n\t\t\tlong long int *value_ptr;\n\t\t} integer64;\n\t\tunion {\n\t\t\tunsigned int item[128];\n\t\t\tunsigned int *item_ptr;\n\t\t} enumerated;\n\t\tunion {\n\t\t\tunsigned char data[512];\n\t\t\tunsigned char *data_ptr;\n\t\t} bytes;\n\t\tstruct snd_aes_iec958 iec958;\n\t} value;\n\tunsigned char reserved[128];\n};\n\nstruct snd_ctl_elem_value32 {\n\tstruct snd_ctl_elem_id id;\n\tunsigned int indirect;\n\tunion {\n\t\ts32 integer[128];\n\t\tunsigned char data[512];\n\t\ts64 integer64[64];\n\t} value;\n\tunsigned char reserved[128];\n};\n\nstruct snd_ctl_event {\n\tint type;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int mask;\n\t\t\tstruct snd_ctl_elem_id id;\n\t\t} elem;\n\t\tunsigned char data8[60];\n\t} data;\n};\n\nstruct snd_fasync;\n\nstruct snd_ctl_file {\n\tstruct list_head list;\n\tstruct snd_card *card;\n\tstruct pid *pid;\n\tint preferred_subdevice[2];\n\twait_queue_head_t change_sleep;\n\tspinlock_t read_lock;\n\tstruct snd_fasync *fasync;\n\tint subscribed;\n\tstruct list_head events;\n};\n\nstruct snd_ctl_layer_ops {\n\tstruct snd_ctl_layer_ops *next;\n\tconst char *module_name;\n\tvoid (*lregister)(struct snd_card *);\n\tvoid (*ldisconnect)(struct snd_card *);\n\tvoid (*lnotify)(struct snd_card *, unsigned int, struct snd_kcontrol *, unsigned int);\n};\n\nstruct snd_ctl_tlv {\n\tunsigned int numid;\n\tunsigned int length;\n\tunsigned int tlv[0];\n};\n\nstruct snd_device_ops;\n\nstruct snd_device {\n\tstruct list_head list;\n\tstruct snd_card *card;\n\tenum snd_device_state state;\n\tenum snd_device_type type;\n\tvoid *device_data;\n\tconst struct snd_device_ops *ops;\n};\n\nstruct snd_device_ops {\n\tint (*dev_free)(struct snd_device *);\n\tint (*dev_register)(struct snd_device *);\n\tint (*dev_disconnect)(struct snd_device *);\n};\n\nstruct snd_dmaengine_dai_dma_data {\n\tdma_addr_t addr;\n\tenum dma_slave_buswidth addr_width;\n\tu32 maxburst;\n\tvoid *filter_data;\n\tconst char *chan_name;\n\tunsigned int fifo_size;\n\tunsigned int flags;\n\tvoid *peripheral_config;\n\tsize_t peripheral_size;\n};\n\nstruct snd_pcm_hw_params;\n\nstruct snd_soc_pcm_runtime;\n\nstruct snd_pcm_hardware;\n\nstruct snd_dmaengine_pcm_config {\n\tint (*prepare_slave_config)(struct snd_pcm_substream *, struct snd_pcm_hw_params *, struct dma_slave_config *);\n\tstruct dma_chan * (*compat_request_channel)(struct snd_soc_pcm_runtime *, struct snd_pcm_substream *);\n\tint (*process)(struct snd_pcm_substream *, int, long unsigned int, long unsigned int);\n\tconst char *name;\n\tdma_filter_fn compat_filter_fn;\n\tstruct device *dma_dev;\n\tconst char *chan_names[2];\n\tconst struct snd_pcm_hardware *pcm_hardware;\n\tunsigned int prealloc_buffer_size;\n};\n\nstruct snd_fasync {\n\tstruct fasync_struct *fasync;\n\tint signal;\n\tint poll;\n\tint on;\n\tstruct list_head list;\n};\n\nstruct snd_info_buffer {\n\tchar *buffer;\n\tunsigned int curr;\n\tunsigned int size;\n\tunsigned int len;\n\tint stop;\n\tint error;\n};\n\nstruct snd_info_entry_text {\n\tvoid (*read)(struct snd_info_entry *, struct snd_info_buffer *);\n\tvoid (*write)(struct snd_info_entry *, struct snd_info_buffer *);\n};\n\nstruct snd_info_entry_ops;\n\nstruct snd_info_entry {\n\tconst char *name;\n\tumode_t mode;\n\tlong int size;\n\tshort unsigned int content;\n\tunion {\n\t\tstruct snd_info_entry_text text;\n\t\tconst struct snd_info_entry_ops *ops;\n\t} c;\n\tstruct snd_info_entry *parent;\n\tstruct module *module;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_info_entry *);\n\tstruct proc_dir_entry *p;\n\tstruct mutex access;\n\tstruct list_head children;\n\tstruct list_head list;\n};\n\nstruct snd_info_entry_ops {\n\tint (*open)(struct snd_info_entry *, short unsigned int, void **);\n\tint (*release)(struct snd_info_entry *, short unsigned int, void *);\n\tssize_t (*read)(struct snd_info_entry *, void *, struct file *, char *, size_t, loff_t);\n\tssize_t (*write)(struct snd_info_entry *, void *, struct file *, const char *, size_t, loff_t);\n\tloff_t (*llseek)(struct snd_info_entry *, void *, struct file *, loff_t, int);\n\t__poll_t (*poll)(struct snd_info_entry *, void *, struct file *, poll_table *);\n\tint (*ioctl)(struct snd_info_entry *, void *, struct file *, unsigned int, long unsigned int);\n\tint (*mmap)(struct snd_info_entry *, void *, struct inode *, struct file *, struct vm_area_struct *);\n};\n\nstruct snd_info_private_data {\n\tstruct snd_info_buffer *rbuffer;\n\tstruct snd_info_buffer *wbuffer;\n\tstruct snd_info_entry *entry;\n\tvoid *file_private_data;\n};\n\nstruct snd_interval {\n\tunsigned int min;\n\tunsigned int max;\n\tunsigned int openmin: 1;\n\tunsigned int openmax: 1;\n\tunsigned int integer: 1;\n\tunsigned int empty: 1;\n};\n\nstruct snd_jack {\n\tstruct list_head kctl_list;\n\tstruct snd_card *card;\n\tconst char *id;\n\tstruct input_dev *input_dev;\n\tstruct mutex input_dev_lock;\n\tint registered;\n\tint type;\n\tchar name[100];\n\tunsigned int key[6];\n\tint hw_status_cache;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_jack *);\n};\n\nstruct snd_jack_kctl {\n\tstruct snd_kcontrol *kctl;\n\tstruct list_head list;\n\tunsigned int mask_bits;\n\tstruct snd_jack *jack;\n\tbool sw_inject_enable;\n};\n\nstruct snd_kcontrol_new {\n\tsnd_ctl_elem_iface_t iface;\n\tunsigned int device;\n\tunsigned int subdevice;\n\tconst char *name;\n\tunsigned int index;\n\tunsigned int access;\n\tunsigned int count;\n\tsnd_kcontrol_info_t *info;\n\tsnd_kcontrol_get_t *get;\n\tsnd_kcontrol_put_t *put;\n\tunion {\n\t\tsnd_kcontrol_tlv_rw_t *c;\n\t\tconst unsigned int *p;\n\t} tlv;\n\tlong unsigned int private_value;\n};\n\nstruct snd_kctl_event {\n\tstruct list_head list;\n\tstruct snd_ctl_elem_id id;\n\tunsigned int mask;\n};\n\ntypedef int (*snd_kctl_ioctl_func_t)(struct snd_card *, struct snd_ctl_file *, unsigned int, long unsigned int);\n\nstruct snd_kctl_ioctl {\n\tstruct list_head list;\n\tsnd_kctl_ioctl_func_t fioctl;\n};\n\nstruct snd_malloc_ops {\n\tvoid * (*alloc)(struct snd_dma_buffer *, size_t);\n\tvoid (*free)(struct snd_dma_buffer *);\n\tdma_addr_t (*get_addr)(struct snd_dma_buffer *, size_t);\n\tstruct page * (*get_page)(struct snd_dma_buffer *, size_t);\n\tunsigned int (*get_chunk_size)(struct snd_dma_buffer *, unsigned int, unsigned int);\n\tint (*mmap)(struct snd_dma_buffer *, struct vm_area_struct *);\n\tvoid (*sync)(struct snd_dma_buffer *, enum snd_dma_sync_mode);\n};\n\nstruct snd_mask {\n\t__u32 bits[8];\n};\n\nstruct snd_minor {\n\tint type;\n\tint card;\n\tint device;\n\tconst struct file_operations *f_ops;\n\tvoid *private_data;\n\tstruct device *dev;\n\tstruct snd_card *card_ptr;\n};\n\nstruct snd_monitor_file {\n\tstruct file *file;\n\tconst struct file_operations *disconnected_f_op;\n\tstruct list_head shutdown_list;\n\tstruct list_head list;\n};\n\nstruct snd_pci_quirk {\n\tshort unsigned int subvendor;\n\tshort unsigned int subdevice;\n\tshort unsigned int subdevice_mask;\n\tint value;\n};\n\nstruct snd_pcm;\n\nstruct snd_pcm_str {\n\tint stream;\n\tstruct snd_pcm *pcm;\n\tunsigned int substream_count;\n\tunsigned int substream_opened;\n\tstruct snd_pcm_substream *substream;\n\tstruct snd_info_entry *proc_root;\n\tstruct snd_kcontrol *chmap_kctl;\n\tstruct device *dev;\n};\n\nstruct snd_pcm {\n\tstruct snd_card *card;\n\tstruct list_head list;\n\tint device;\n\tunsigned int info_flags;\n\tshort unsigned int dev_class;\n\tshort unsigned int dev_subclass;\n\tchar id[64];\n\tchar name[80];\n\tstruct snd_pcm_str streams[2];\n\tstruct mutex open_mutex;\n\twait_queue_head_t open_wait;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_pcm *);\n\tbool internal;\n\tbool nonatomic;\n\tbool no_device_suspend;\n};\n\nstruct snd_pcm_audio_tstamp_config {\n\tu32 type_requested: 4;\n\tu32 report_delay: 1;\n};\n\nstruct snd_pcm_audio_tstamp_report {\n\tu32 valid: 1;\n\tu32 actual_type: 4;\n\tu32 accuracy_report: 1;\n\tu32 accuracy;\n};\n\nstruct snd_pcm_channel_info {\n\tunsigned int channel;\n\t__kernel_off_t offset;\n\tunsigned int first;\n\tunsigned int step;\n};\n\nstruct snd_pcm_channel_info32 {\n\tu32 channel;\n\tu32 offset;\n\tu32 first;\n\tu32 step;\n};\n\nstruct snd_pcm_chmap_elem;\n\nstruct snd_pcm_chmap {\n\tstruct snd_pcm *pcm;\n\tint stream;\n\tstruct snd_kcontrol *kctl;\n\tconst struct snd_pcm_chmap_elem *chmap;\n\tunsigned int max_channels;\n\tunsigned int channel_mask;\n\tvoid *private_data;\n};\n\nstruct snd_pcm_chmap_elem {\n\tunsigned char channels;\n\tunsigned char map[15];\n};\n\nstruct snd_pcm_file {\n\tstruct snd_pcm_substream *substream;\n\tint no_compat_mmap;\n\tunsigned int user_pversion;\n};\n\nstruct snd_pcm_group {\n\tspinlock_t lock;\n\tstruct mutex mutex;\n\tstruct list_head substreams;\n\trefcount_t refs;\n};\n\nstruct snd_pcm_hardware {\n\tunsigned int info;\n\tu64 formats;\n\tu32 subformats;\n\tunsigned int rates;\n\tunsigned int rate_min;\n\tunsigned int rate_max;\n\tunsigned int channels_min;\n\tunsigned int channels_max;\n\tsize_t buffer_bytes_max;\n\tsize_t period_bytes_min;\n\tsize_t period_bytes_max;\n\tunsigned int periods_min;\n\tunsigned int periods_max;\n\tsize_t fifo_size;\n};\n\nstruct snd_pcm_hw_constraint_list {\n\tconst unsigned int *list;\n\tunsigned int count;\n\tunsigned int mask;\n};\n\nstruct snd_pcm_hw_constraint_ranges {\n\tunsigned int count;\n\tconst struct snd_interval *ranges;\n\tunsigned int mask;\n};\n\nstruct snd_ratden;\n\nstruct snd_pcm_hw_constraint_ratdens {\n\tint nrats;\n\tconst struct snd_ratden *rats;\n};\n\nstruct snd_ratnum;\n\nstruct snd_pcm_hw_constraint_ratnums {\n\tint nrats;\n\tconst struct snd_ratnum *rats;\n};\n\nstruct snd_pcm_hw_rule;\n\nstruct snd_pcm_hw_constraints {\n\tstruct snd_mask masks[3];\n\tstruct snd_interval intervals[12];\n\tunsigned int rules_num;\n\tunsigned int rules_all;\n\tstruct snd_pcm_hw_rule *rules;\n};\n\nstruct snd_pcm_hw_params {\n\tunsigned int flags;\n\tstruct snd_mask masks[3];\n\tstruct snd_mask mres[5];\n\tstruct snd_interval intervals[12];\n\tstruct snd_interval ires[9];\n\tunsigned int rmask;\n\tunsigned int cmask;\n\tunsigned int info;\n\tunsigned int msbits;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tsnd_pcm_uframes_t fifo_size;\n\tunsigned char sync[16];\n\tunsigned char reserved[48];\n};\n\nstruct snd_pcm_hw_params32 {\n\tu32 flags;\n\tstruct snd_mask masks[3];\n\tstruct snd_mask mres[5];\n\tstruct snd_interval intervals[12];\n\tstruct snd_interval ires[9];\n\tu32 rmask;\n\tu32 cmask;\n\tu32 info;\n\tu32 msbits;\n\tu32 rate_num;\n\tu32 rate_den;\n\tu32 fifo_size;\n\tunsigned char reserved[64];\n};\n\nstruct snd_pcm_hw_params_old {\n\tunsigned int flags;\n\tunsigned int masks[3];\n\tstruct snd_interval intervals[12];\n\tunsigned int rmask;\n\tunsigned int cmask;\n\tunsigned int info;\n\tunsigned int msbits;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tsnd_pcm_uframes_t fifo_size;\n\tunsigned char reserved[64];\n};\n\ntypedef int (*snd_pcm_hw_rule_func_t)(struct snd_pcm_hw_params *, struct snd_pcm_hw_rule *);\n\nstruct snd_pcm_hw_rule {\n\tunsigned int cond;\n\tint var;\n\tint deps[5];\n\tsnd_pcm_hw_rule_func_t func;\n\tvoid *private;\n};\n\nstruct snd_pcm_info {\n\tunsigned int device;\n\tunsigned int subdevice;\n\tint stream;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tunsigned char subname[32];\n\tint dev_class;\n\tint dev_subclass;\n\tunsigned int subdevices_count;\n\tunsigned int subdevices_avail;\n\tunsigned char pad1[16];\n\tunsigned char reserved[64];\n};\n\nstruct snd_pcm_mmap_control {\n\t__pad_before_uframe __pad1;\n\tsnd_pcm_uframes_t appl_ptr;\n\t__pad_before_uframe __pad2;\n\t__pad_before_uframe __pad3;\n\tsnd_pcm_uframes_t avail_min;\n\t__pad_after_uframe __pad4;\n};\n\nstruct snd_pcm_mmap_control32 {\n\tu32 appl_ptr;\n\tu32 avail_min;\n};\n\nstruct snd_pcm_mmap_status {\n\tsnd_pcm_state_t state;\n\t__u32 pad1;\n\t__pad_before_uframe __pad1;\n\tsnd_pcm_uframes_t hw_ptr;\n\t__pad_after_uframe __pad2;\n\tstruct __kernel_timespec tstamp;\n\tsnd_pcm_state_t suspended_state;\n\t__u32 pad3;\n\tstruct __kernel_timespec audio_tstamp;\n};\n\nstruct snd_pcm_mmap_status32 {\n\tsnd_pcm_state_t state;\n\ts32 pad1;\n\tu32 hw_ptr;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tsnd_pcm_state_t suspended_state;\n\ts32 audio_tstamp_sec;\n\ts32 audio_tstamp_nsec;\n};\n\nstruct snd_pcm_ops {\n\tint (*open)(struct snd_pcm_substream *);\n\tint (*close)(struct snd_pcm_substream *);\n\tint (*ioctl)(struct snd_pcm_substream *, unsigned int, void *);\n\tint (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *);\n\tint (*hw_free)(struct snd_pcm_substream *);\n\tint (*prepare)(struct snd_pcm_substream *);\n\tint (*trigger)(struct snd_pcm_substream *, int);\n\tint (*sync_stop)(struct snd_pcm_substream *);\n\tsnd_pcm_uframes_t (*pointer)(struct snd_pcm_substream *);\n\tint (*get_time_info)(struct snd_pcm_substream *, struct timespec64 *, struct timespec64 *, struct snd_pcm_audio_tstamp_config *, struct snd_pcm_audio_tstamp_report *);\n\tint (*fill_silence)(struct snd_pcm_substream *, int, long unsigned int, long unsigned int);\n\tint (*copy)(struct snd_pcm_substream *, int, long unsigned int, struct iov_iter *, long unsigned int);\n\tstruct page * (*page)(struct snd_pcm_substream *, long unsigned int);\n\tint (*mmap)(struct snd_pcm_substream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_pcm_substream *);\n};\n\nstruct snd_pcm_runtime {\n\tsnd_pcm_state_t state;\n\tsnd_pcm_state_t suspended_state;\n\tstruct snd_pcm_substream *trigger_master;\n\tstruct timespec64 trigger_tstamp;\n\tbool trigger_tstamp_latched;\n\tint overrange;\n\tsnd_pcm_uframes_t avail_max;\n\tsnd_pcm_uframes_t hw_ptr_base;\n\tsnd_pcm_uframes_t hw_ptr_interrupt;\n\tlong unsigned int hw_ptr_jiffies;\n\tlong unsigned int hw_ptr_buffer_jiffies;\n\tsnd_pcm_sframes_t delay;\n\tu64 hw_ptr_wrap;\n\tsnd_pcm_access_t access;\n\tsnd_pcm_format_t format;\n\tsnd_pcm_subformat_t subformat;\n\tunsigned int rate;\n\tunsigned int channels;\n\tsnd_pcm_uframes_t period_size;\n\tunsigned int periods;\n\tsnd_pcm_uframes_t buffer_size;\n\tsnd_pcm_uframes_t min_align;\n\tsize_t byte_align;\n\tunsigned int frame_bits;\n\tunsigned int sample_bits;\n\tunsigned int info;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tunsigned int no_period_wakeup: 1;\n\tint tstamp_mode;\n\tunsigned int period_step;\n\tsnd_pcm_uframes_t start_threshold;\n\tsnd_pcm_uframes_t stop_threshold;\n\tsnd_pcm_uframes_t silence_threshold;\n\tsnd_pcm_uframes_t silence_size;\n\tsnd_pcm_uframes_t boundary;\n\tsnd_pcm_uframes_t silence_start;\n\tsnd_pcm_uframes_t silence_filled;\n\tbool std_sync_id;\n\tstruct snd_pcm_mmap_status *status;\n\tstruct snd_pcm_mmap_control *control;\n\tsnd_pcm_uframes_t twake;\n\twait_queue_head_t sleep;\n\twait_queue_head_t tsleep;\n\tstruct snd_fasync *fasync;\n\tbool stop_operating;\n\tstruct mutex buffer_mutex;\n\tatomic_t buffer_accessing;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_pcm_runtime *);\n\tstruct snd_pcm_hardware hw;\n\tstruct snd_pcm_hw_constraints hw_constraints;\n\tunsigned int timer_resolution;\n\tint tstamp_type;\n\tunsigned char *dma_area;\n\tdma_addr_t dma_addr;\n\tsize_t dma_bytes;\n\tstruct snd_dma_buffer *dma_buffer_p;\n\tunsigned int buffer_changed: 1;\n\tstruct snd_pcm_audio_tstamp_config audio_tstamp_config;\n\tstruct snd_pcm_audio_tstamp_report audio_tstamp_report;\n\tstruct timespec64 driver_tstamp;\n};\n\nstruct snd_pcm_status32 {\n\tsnd_pcm_state_t state;\n\ts32 trigger_tstamp_sec;\n\ts32 trigger_tstamp_nsec;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tu32 appl_ptr;\n\tu32 hw_ptr;\n\ts32 delay;\n\tu32 avail;\n\tu32 avail_max;\n\tu32 overrange;\n\tsnd_pcm_state_t suspended_state;\n\tu32 audio_tstamp_data;\n\ts32 audio_tstamp_sec;\n\ts32 audio_tstamp_nsec;\n\ts32 driver_tstamp_sec;\n\ts32 driver_tstamp_nsec;\n\tu32 audio_tstamp_accuracy;\n\tunsigned char reserved[36];\n};\n\nstruct snd_pcm_status64 {\n\tsnd_pcm_state_t state;\n\tu8 rsvd[4];\n\ts64 trigger_tstamp_sec;\n\ts64 trigger_tstamp_nsec;\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tsnd_pcm_uframes_t appl_ptr;\n\tsnd_pcm_uframes_t hw_ptr;\n\tsnd_pcm_sframes_t delay;\n\tsnd_pcm_uframes_t avail;\n\tsnd_pcm_uframes_t avail_max;\n\tsnd_pcm_uframes_t overrange;\n\tsnd_pcm_state_t suspended_state;\n\t__u32 audio_tstamp_data;\n\ts64 audio_tstamp_sec;\n\ts64 audio_tstamp_nsec;\n\ts64 driver_tstamp_sec;\n\ts64 driver_tstamp_nsec;\n\t__u32 audio_tstamp_accuracy;\n\tunsigned char reserved[20];\n};\n\nstruct snd_timer;\n\nstruct snd_pcm_substream {\n\tstruct snd_pcm *pcm;\n\tstruct snd_pcm_str *pstr;\n\tvoid *private_data;\n\tint number;\n\tchar name[32];\n\tint stream;\n\tstruct pm_qos_request latency_pm_qos_req;\n\tsize_t buffer_bytes_max;\n\tstruct snd_dma_buffer dma_buffer;\n\tsize_t dma_max;\n\tconst struct snd_pcm_ops *ops;\n\tstruct snd_pcm_runtime *runtime;\n\tstruct snd_timer *timer;\n\tunsigned int timer_running: 1;\n\tlong int wait_time;\n\tstruct snd_pcm_substream *next;\n\tstruct list_head link_list;\n\tstruct snd_pcm_group self_group;\n\tstruct snd_pcm_group *group;\n\tint ref_count;\n\tatomic_t mmap_count;\n\tunsigned int f_flags;\n\tvoid (*pcm_release)(struct snd_pcm_substream *);\n\tstruct pid *pid;\n\tstruct snd_info_entry *proc_root;\n\tunsigned int hw_opened: 1;\n\tunsigned int managed_buffer_alloc: 1;\n};\n\nstruct snd_pcm_sw_params {\n\tint tstamp_mode;\n\tunsigned int period_step;\n\tunsigned int sleep_min;\n\tsnd_pcm_uframes_t avail_min;\n\tsnd_pcm_uframes_t xfer_align;\n\tsnd_pcm_uframes_t start_threshold;\n\tsnd_pcm_uframes_t stop_threshold;\n\tsnd_pcm_uframes_t silence_threshold;\n\tsnd_pcm_uframes_t silence_size;\n\tsnd_pcm_uframes_t boundary;\n\tunsigned int proto;\n\tunsigned int tstamp_type;\n\tunsigned char reserved[56];\n};\n\nstruct snd_pcm_sw_params32 {\n\ts32 tstamp_mode;\n\tu32 period_step;\n\tu32 sleep_min;\n\tu32 avail_min;\n\tu32 xfer_align;\n\tu32 start_threshold;\n\tu32 stop_threshold;\n\tu32 silence_threshold;\n\tu32 silence_size;\n\tu32 boundary;\n\tu32 proto;\n\tu32 tstamp_type;\n\tunsigned char reserved[56];\n};\n\nstruct snd_pcm_sync_ptr {\n\t__u32 flags;\n\t__u32 pad1;\n\tunion {\n\t\tstruct snd_pcm_mmap_status status;\n\t\tunsigned char reserved[64];\n\t} s;\n\tunion {\n\t\tstruct snd_pcm_mmap_control control;\n\t\tunsigned char reserved[64];\n\t} c;\n};\n\nstruct snd_pcm_sync_ptr32 {\n\tu32 flags;\n\tunion {\n\t\tstruct snd_pcm_mmap_status32 status;\n\t\tunsigned char reserved[64];\n\t} s;\n\tunion {\n\t\tstruct snd_pcm_mmap_control32 control;\n\t\tunsigned char reserved[64];\n\t} c;\n};\n\nstruct snd_ratden {\n\tunsigned int num_min;\n\tunsigned int num_max;\n\tunsigned int num_step;\n\tunsigned int den;\n};\n\nstruct snd_ratnum {\n\tunsigned int num;\n\tunsigned int den_min;\n\tunsigned int den_max;\n\tunsigned int den_step;\n};\n\nstruct snd_soc_dai_link_component {\n\tconst char *name;\n\tstruct device_node *of_node;\n\tconst char *dai_name;\n\tconst struct of_phandle_args *dai_args;\n\tunsigned int ext_fmt;\n};\n\nstruct snd_soc_aux_dev {\n\tstruct snd_soc_dai_link_component dlc;\n\tint (*init)(struct snd_soc_component *);\n};\n\nstruct snd_soc_dapm_stats {\n\tint power_checks;\n\tint path_checks;\n\tint neighbour_checks;\n};\n\nstruct snd_soc_dai_link;\n\nstruct snd_soc_codec_conf;\n\nstruct snd_soc_dapm_route;\n\nstruct snd_soc_dapm_update;\n\nstruct snd_soc_card {\n\tconst char *name;\n\tconst char *long_name;\n\tconst char *driver_name;\n\tconst char *components;\n\tchar dmi_longname[80];\n\tshort unsigned int pci_subsystem_vendor;\n\tshort unsigned int pci_subsystem_device;\n\tbool pci_subsystem_set;\n\tchar topology_shortname[32];\n\tstruct device *dev;\n\tstruct snd_card *snd_card;\n\tstruct module *owner;\n\tstruct mutex mutex;\n\tstruct mutex dapm_mutex;\n\tstruct mutex pcm_mutex;\n\tenum snd_soc_pcm_subclass pcm_subclass;\n\tint (*probe)(struct snd_soc_card *);\n\tint (*late_probe)(struct snd_soc_card *);\n\tvoid (*fixup_controls)(struct snd_soc_card *);\n\tint (*remove)(struct snd_soc_card *);\n\tint (*suspend_pre)(struct snd_soc_card *);\n\tint (*suspend_post)(struct snd_soc_card *);\n\tint (*resume_pre)(struct snd_soc_card *);\n\tint (*resume_post)(struct snd_soc_card *);\n\tint (*set_bias_level)(struct snd_soc_card *, struct snd_soc_dapm_context *, enum snd_soc_bias_level);\n\tint (*set_bias_level_post)(struct snd_soc_card *, struct snd_soc_dapm_context *, enum snd_soc_bias_level);\n\tint (*add_dai_link)(struct snd_soc_card *, struct snd_soc_dai_link *);\n\tvoid (*remove_dai_link)(struct snd_soc_card *, struct snd_soc_dai_link *);\n\tlong int pmdown_time;\n\tstruct snd_soc_dai_link *dai_link;\n\tint num_links;\n\tstruct list_head rtd_list;\n\tint num_rtd;\n\tstruct snd_soc_codec_conf *codec_conf;\n\tint num_configs;\n\tstruct snd_soc_aux_dev *aux_dev;\n\tint num_aux_devs;\n\tstruct list_head aux_comp_list;\n\tconst struct snd_kcontrol_new *controls;\n\tint num_controls;\n\tconst struct snd_soc_dapm_widget *dapm_widgets;\n\tint num_dapm_widgets;\n\tconst struct snd_soc_dapm_route *dapm_routes;\n\tint num_dapm_routes;\n\tconst struct snd_soc_dapm_widget *of_dapm_widgets;\n\tint num_of_dapm_widgets;\n\tconst struct snd_soc_dapm_route *of_dapm_routes;\n\tint num_of_dapm_routes;\n\tstruct list_head component_dev_list;\n\tstruct list_head list;\n\tstruct list_head widgets;\n\tstruct list_head paths;\n\tstruct list_head dapm_list;\n\tstruct list_head dapm_dirty;\n\tstruct list_head dobj_list;\n\tstruct snd_soc_dapm_context dapm;\n\tstruct snd_soc_dapm_stats dapm_stats;\n\tstruct snd_soc_dapm_update *update;\n\tstruct dentry *debugfs_card_root;\n\tstruct work_struct deferred_resume_work;\n\tu32 pop_time;\n\tunsigned int instantiated: 1;\n\tunsigned int topology_shortname_created: 1;\n\tunsigned int fully_routed: 1;\n\tunsigned int probed: 1;\n\tunsigned int component_chaining: 1;\n\tvoid *drvdata;\n};\n\nstruct snd_soc_dai;\n\nstruct snd_soc_cdai_ops {\n\tint (*startup)(struct snd_compr_stream *, struct snd_soc_dai *);\n\tint (*shutdown)(struct snd_compr_stream *, struct snd_soc_dai *);\n\tint (*set_params)(struct snd_compr_stream *, struct snd_compr_params *, struct snd_soc_dai *);\n\tint (*get_params)(struct snd_compr_stream *, struct snd_codec *, struct snd_soc_dai *);\n\tint (*set_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *, struct snd_soc_dai *);\n\tint (*get_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *, struct snd_soc_dai *);\n\tint (*trigger)(struct snd_compr_stream *, int, struct snd_soc_dai *);\n\tint (*pointer)(struct snd_compr_stream *, struct snd_compr_tstamp *, struct snd_soc_dai *);\n\tint (*ack)(struct snd_compr_stream *, size_t, struct snd_soc_dai *);\n};\n\nstruct snd_soc_codec_conf {\n\tstruct snd_soc_dai_link_component dlc;\n\tconst char *name_prefix;\n};\n\nstruct snd_soc_component_driver {\n\tconst char *name;\n\tconst struct snd_kcontrol_new *controls;\n\tunsigned int num_controls;\n\tconst struct snd_soc_dapm_widget *dapm_widgets;\n\tunsigned int num_dapm_widgets;\n\tconst struct snd_soc_dapm_route *dapm_routes;\n\tunsigned int num_dapm_routes;\n\tint (*probe)(struct snd_soc_component *);\n\tvoid (*remove)(struct snd_soc_component *);\n\tint (*suspend)(struct snd_soc_component *);\n\tint (*resume)(struct snd_soc_component *);\n\tunsigned int (*read)(struct snd_soc_component *, unsigned int);\n\tint (*write)(struct snd_soc_component *, unsigned int, unsigned int);\n\tint (*pcm_construct)(struct snd_soc_component *, struct snd_soc_pcm_runtime *);\n\tvoid (*pcm_destruct)(struct snd_soc_component *, struct snd_pcm *);\n\tint (*set_sysclk)(struct snd_soc_component *, int, int, unsigned int, int);\n\tint (*set_pll)(struct snd_soc_component *, int, int, unsigned int, unsigned int);\n\tint (*set_jack)(struct snd_soc_component *, struct snd_soc_jack *, void *);\n\tint (*get_jack_type)(struct snd_soc_component *);\n\tint (*of_xlate_dai_name)(struct snd_soc_component *, const struct of_phandle_args *, const char **);\n\tint (*of_xlate_dai_id)(struct snd_soc_component *, struct device_node *);\n\tvoid (*seq_notifier)(struct snd_soc_component *, enum snd_soc_dapm_type, int);\n\tint (*stream_event)(struct snd_soc_component *, int);\n\tint (*set_bias_level)(struct snd_soc_component *, enum snd_soc_bias_level);\n\tint (*open)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*close)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*ioctl)(struct snd_soc_component *, struct snd_pcm_substream *, unsigned int, void *);\n\tint (*hw_params)(struct snd_soc_component *, struct snd_pcm_substream *, struct snd_pcm_hw_params *);\n\tint (*hw_free)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*prepare)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*trigger)(struct snd_soc_component *, struct snd_pcm_substream *, int);\n\tint (*sync_stop)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tsnd_pcm_uframes_t (*pointer)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*get_time_info)(struct snd_soc_component *, struct snd_pcm_substream *, struct timespec64 *, struct timespec64 *, struct snd_pcm_audio_tstamp_config *, struct snd_pcm_audio_tstamp_report *);\n\tint (*copy)(struct snd_soc_component *, struct snd_pcm_substream *, int, long unsigned int, struct iov_iter *, long unsigned int);\n\tstruct page * (*page)(struct snd_soc_component *, struct snd_pcm_substream *, long unsigned int);\n\tint (*mmap)(struct snd_soc_component *, struct snd_pcm_substream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tsnd_pcm_sframes_t (*delay)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tconst struct snd_compress_ops *compress_ops;\n\tint probe_order;\n\tint remove_order;\n\tenum snd_soc_trigger_order trigger_start;\n\tenum snd_soc_trigger_order trigger_stop;\n\tunsigned int module_get_upon_open: 1;\n\tunsigned int idle_bias_on: 1;\n\tunsigned int suspend_bias_off: 1;\n\tunsigned int use_pmdown_time: 1;\n\tunsigned int endianness: 1;\n\tunsigned int legacy_dai_naming: 1;\n\tconst char *ignore_machine;\n\tconst char *topology_name_prefix;\n\tint (*be_hw_params_fixup)(struct snd_soc_pcm_runtime *, struct snd_pcm_hw_params *);\n\tbool use_dai_pcm_id;\n\tint be_pcm_base;\n\tconst char *debugfs_prefix;\n};\n\nstruct snd_soc_compr_ops {\n\tint (*startup)(struct snd_compr_stream *);\n\tvoid (*shutdown)(struct snd_compr_stream *);\n\tint (*set_params)(struct snd_compr_stream *);\n};\n\nstruct snd_soc_dai_stream {\n\tstruct snd_soc_dapm_widget *widget;\n\tunsigned int active;\n\tunsigned int tdm_mask;\n\tvoid *dma_data;\n};\n\nstruct snd_soc_dai_driver;\n\nstruct snd_soc_dai {\n\tconst char *name;\n\tint id;\n\tstruct device *dev;\n\tstruct snd_soc_dai_driver *driver;\n\tstruct snd_soc_dai_stream stream[2];\n\tunsigned int symmetric_rate;\n\tunsigned int symmetric_channels;\n\tunsigned int symmetric_sample_bits;\n\tstruct snd_soc_component *component;\n\tstruct list_head list;\n\tstruct snd_pcm_substream *mark_startup;\n\tstruct snd_pcm_substream *mark_hw_params;\n\tstruct snd_pcm_substream *mark_trigger;\n\tstruct snd_compr_stream *mark_compr_startup;\n\tunsigned int probed: 1;\n};\n\nstruct snd_soc_dobj_control {\n\tstruct snd_kcontrol *kcontrol;\n\tchar **dtexts;\n\tlong unsigned int *dvalues;\n};\n\nstruct snd_soc_dobj_widget {\n\tunsigned int *kcontrol_type;\n};\n\nstruct snd_soc_dobj {\n\tenum snd_soc_dobj_type type;\n\tunsigned int index;\n\tstruct list_head list;\n\tint (*unload)(struct snd_soc_component *, struct snd_soc_dobj *);\n\tunion {\n\t\tstruct snd_soc_dobj_control control;\n\t\tstruct snd_soc_dobj_widget widget;\n\t};\n\tvoid *private;\n};\n\nstruct snd_soc_pcm_stream {\n\tconst char *stream_name;\n\tu64 formats;\n\tu32 subformats;\n\tunsigned int rates;\n\tunsigned int rate_min;\n\tunsigned int rate_max;\n\tunsigned int channels_min;\n\tunsigned int channels_max;\n\tunsigned int sig_bits;\n};\n\nstruct snd_soc_dai_ops;\n\nstruct snd_soc_dai_driver {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int base;\n\tstruct snd_soc_dobj dobj;\n\tconst struct of_phandle_args *dai_args;\n\tconst struct snd_soc_dai_ops *ops;\n\tconst struct snd_soc_cdai_ops *cops;\n\tstruct snd_soc_pcm_stream capture;\n\tstruct snd_soc_pcm_stream playback;\n\tunsigned int symmetric_rate: 1;\n\tunsigned int symmetric_channels: 1;\n\tunsigned int symmetric_sample_bits: 1;\n};\n\nstruct snd_soc_dai_link_ch_map;\n\nstruct snd_soc_ops;\n\nstruct snd_soc_dai_link {\n\tconst char *name;\n\tconst char *stream_name;\n\tstruct snd_soc_dai_link_component *cpus;\n\tunsigned int num_cpus;\n\tstruct snd_soc_dai_link_component *codecs;\n\tunsigned int num_codecs;\n\tstruct snd_soc_dai_link_ch_map *ch_maps;\n\tstruct snd_soc_dai_link_component *platforms;\n\tunsigned int num_platforms;\n\tint id;\n\tconst struct snd_soc_pcm_stream *c2c_params;\n\tunsigned int num_c2c_params;\n\tunsigned int dai_fmt;\n\tenum snd_soc_dpcm_trigger trigger[2];\n\tint (*init)(struct snd_soc_pcm_runtime *);\n\tvoid (*exit)(struct snd_soc_pcm_runtime *);\n\tint (*be_hw_params_fixup)(struct snd_soc_pcm_runtime *, struct snd_pcm_hw_params *);\n\tconst struct snd_soc_ops *ops;\n\tconst struct snd_soc_compr_ops *compr_ops;\n\tenum snd_soc_trigger_order trigger_start;\n\tenum snd_soc_trigger_order trigger_stop;\n\tunsigned int nonatomic: 1;\n\tunsigned int playback_only: 1;\n\tunsigned int capture_only: 1;\n\tunsigned int ignore_suspend: 1;\n\tunsigned int symmetric_rate: 1;\n\tunsigned int symmetric_channels: 1;\n\tunsigned int symmetric_sample_bits: 1;\n\tunsigned int no_pcm: 1;\n\tunsigned int dynamic: 1;\n\tunsigned int dpcm_merged_format: 1;\n\tunsigned int dpcm_merged_chan: 1;\n\tunsigned int dpcm_merged_rate: 1;\n\tunsigned int ignore_pmdown_time: 1;\n\tunsigned int ignore: 1;\n\tstruct snd_soc_dobj dobj;\n};\n\nstruct snd_soc_dai_link_ch_map {\n\tunsigned int cpu;\n\tunsigned int codec;\n\tunsigned int ch_mask;\n};\n\nstruct snd_soc_dai_ops {\n\tint (*probe)(struct snd_soc_dai *);\n\tint (*remove)(struct snd_soc_dai *);\n\tint (*compress_new)(struct snd_soc_pcm_runtime *);\n\tint (*pcm_new)(struct snd_soc_pcm_runtime *, struct snd_soc_dai *);\n\tint (*set_sysclk)(struct snd_soc_dai *, int, unsigned int, int);\n\tint (*set_pll)(struct snd_soc_dai *, int, int, unsigned int, unsigned int);\n\tint (*set_clkdiv)(struct snd_soc_dai *, int, int);\n\tint (*set_bclk_ratio)(struct snd_soc_dai *, unsigned int);\n\tint (*set_fmt)(struct snd_soc_dai *, unsigned int);\n\tint (*xlate_tdm_slot_mask)(unsigned int, unsigned int *, unsigned int *);\n\tint (*set_tdm_slot)(struct snd_soc_dai *, unsigned int, unsigned int, int, int);\n\tint (*set_channel_map)(struct snd_soc_dai *, unsigned int, const unsigned int *, unsigned int, const unsigned int *);\n\tint (*get_channel_map)(const struct snd_soc_dai *, unsigned int *, unsigned int *, unsigned int *, unsigned int *);\n\tint (*set_tristate)(struct snd_soc_dai *, int);\n\tint (*set_stream)(struct snd_soc_dai *, void *, int);\n\tvoid * (*get_stream)(struct snd_soc_dai *, int);\n\tint (*mute_stream)(struct snd_soc_dai *, int, int);\n\tint (*startup)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tvoid (*shutdown)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tint (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *, struct snd_soc_dai *);\n\tint (*hw_free)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tint (*prepare)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tint (*trigger)(struct snd_pcm_substream *, int, struct snd_soc_dai *);\n\tsnd_pcm_sframes_t (*delay)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tconst u64 *auto_selectable_formats;\n\tint num_auto_selectable_formats;\n\tint probe_order;\n\tint remove_order;\n\tunsigned int no_capture_mute: 1;\n\tunsigned int mute_unmute_on_trigger: 1;\n};\n\nstruct snd_soc_dapm_path {\n\tconst char *name;\n\tunion {\n\t\tstruct {\n\t\t\tstruct snd_soc_dapm_widget *source;\n\t\t\tstruct snd_soc_dapm_widget *sink;\n\t\t};\n\t\tstruct snd_soc_dapm_widget *node[2];\n\t};\n\tu32 connect: 1;\n\tu32 walking: 1;\n\tu32 weak: 1;\n\tu32 is_supply: 1;\n\tint (*connected)(struct snd_soc_dapm_widget *, struct snd_soc_dapm_widget *);\n\tstruct list_head list_node[2];\n\tstruct list_head list_kcontrol;\n\tstruct list_head list;\n};\n\nstruct snd_soc_dapm_pinctrl_priv {\n\tconst char *active_state;\n\tconst char *sleep_state;\n};\n\nstruct snd_soc_dapm_route {\n\tconst char *sink;\n\tconst char *control;\n\tconst char *source;\n\tint (*connected)(struct snd_soc_dapm_widget *, struct snd_soc_dapm_widget *);\n\tstruct snd_soc_dobj dobj;\n};\n\nstruct snd_soc_dapm_update {\n\tstruct snd_kcontrol *kcontrol;\n\tint reg;\n\tint mask;\n\tint val;\n\tint reg2;\n\tint mask2;\n\tint val2;\n\tbool has_second_set;\n};\n\nstruct snd_soc_dapm_widget {\n\tenum snd_soc_dapm_type id;\n\tconst char *name;\n\tconst char *sname;\n\tstruct list_head list;\n\tstruct snd_soc_dapm_context *dapm;\n\tvoid *priv;\n\tstruct regulator *regulator;\n\tstruct pinctrl *pinctrl;\n\tint reg;\n\tunsigned char shift;\n\tunsigned int mask;\n\tunsigned int on_val;\n\tunsigned int off_val;\n\tunsigned char power: 1;\n\tunsigned char active: 1;\n\tunsigned char connected: 1;\n\tunsigned char new: 1;\n\tunsigned char force: 1;\n\tunsigned char ignore_suspend: 1;\n\tunsigned char new_power: 1;\n\tunsigned char power_checked: 1;\n\tunsigned char is_supply: 1;\n\tunsigned char is_ep: 2;\n\tunsigned char no_wname_in_kcontrol_name: 1;\n\tint subseq;\n\tint (*power_check)(struct snd_soc_dapm_widget *);\n\tshort unsigned int event_flags;\n\tint (*event)(struct snd_soc_dapm_widget *, struct snd_kcontrol *, int);\n\tint num_kcontrols;\n\tconst struct snd_kcontrol_new *kcontrol_news;\n\tstruct snd_kcontrol **kcontrols;\n\tstruct snd_soc_dobj dobj;\n\tstruct list_head edges[2];\n\tstruct list_head work_list;\n\tstruct list_head power_list;\n\tstruct list_head dirty;\n\tint endpoints[2];\n\tstruct clk *clk;\n\tint channel;\n};\n\nstruct snd_soc_dapm_widget_list {\n\tint num_widgets;\n\tstruct snd_soc_dapm_widget *widgets[0];\n};\n\nstruct snd_soc_dpcm {\n\tstruct snd_soc_pcm_runtime *be;\n\tstruct snd_soc_pcm_runtime *fe;\n\tenum snd_soc_dpcm_link_state state;\n\tstruct list_head list_be;\n\tstruct list_head list_fe;\n\tstruct dentry *debugfs_state;\n};\n\nstruct snd_soc_dpcm_runtime {\n\tstruct list_head be_clients;\n\tstruct list_head fe_clients;\n\tint users;\n\tstruct snd_pcm_hw_params hw_params;\n\tenum snd_soc_dpcm_update runtime_update;\n\tenum snd_soc_dpcm_state state;\n\tint trigger_pending;\n\tint be_start;\n\tint be_pause;\n\tbool fe_pause;\n};\n\nstruct snd_soc_jack {\n\tstruct mutex mutex;\n\tstruct snd_jack *jack;\n\tstruct snd_soc_card *card;\n\tstruct list_head pins;\n\tint status;\n\tstruct blocking_notifier_head notifier;\n\tstruct list_head jack_zones;\n};\n\nstruct snd_soc_jack_gpio {\n\tunsigned int idx;\n\tstruct device *gpiod_dev;\n\tconst char *name;\n\tint report;\n\tint invert;\n\tint debounce_time;\n\tbool wake;\n\tstruct snd_soc_jack *jack;\n\tstruct delayed_work work;\n\tstruct notifier_block pm_notifier;\n\tstruct gpio_desc *desc;\n\tvoid *data;\n\tint (*jack_status_check)(void *);\n};\n\nstruct snd_soc_jack_pin {\n\tstruct list_head list;\n\tconst char *pin;\n\tint mask;\n\tbool invert;\n};\n\nstruct snd_soc_jack_zone {\n\tunsigned int min_mv;\n\tunsigned int max_mv;\n\tunsigned int jack_type;\n\tunsigned int debounce_time;\n\tstruct list_head list;\n};\n\nstruct snd_soc_ops {\n\tint (*startup)(struct snd_pcm_substream *);\n\tvoid (*shutdown)(struct snd_pcm_substream *);\n\tint (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *);\n\tint (*hw_free)(struct snd_pcm_substream *);\n\tint (*prepare)(struct snd_pcm_substream *);\n\tint (*trigger)(struct snd_pcm_substream *, int);\n};\n\nstruct snd_soc_pcm_runtime {\n\tstruct device *dev;\n\tstruct snd_soc_card *card;\n\tstruct snd_soc_dai_link *dai_link;\n\tstruct snd_pcm_ops ops;\n\tunsigned int c2c_params_select;\n\tstruct snd_soc_dpcm_runtime dpcm[2];\n\tstruct snd_soc_dapm_widget *c2c_widget[2];\n\tlong int pmdown_time;\n\tstruct snd_pcm *pcm;\n\tstruct snd_compr *compr;\n\tstruct snd_soc_dai **dais;\n\tstruct delayed_work delayed_work;\n\tvoid (*close_delayed_work_func)(struct snd_soc_pcm_runtime *);\n\tstruct dentry *debugfs_dpcm_root;\n\tunsigned int id;\n\tstruct list_head list;\n\tstruct snd_pcm_substream *mark_startup;\n\tstruct snd_pcm_substream *mark_hw_params;\n\tstruct snd_pcm_substream *mark_trigger;\n\tstruct snd_compr_stream *mark_compr_startup;\n\tunsigned int pop_wait: 1;\n\tunsigned int fe_compr: 1;\n\tunsigned int initialized: 1;\n\tint num_components;\n\tstruct snd_soc_component *components[0];\n};\n\nstruct snd_soc_tplg_io_ops {\n\t__le32 get;\n\t__le32 put;\n\t__le32 info;\n};\n\nstruct snd_soc_tplg_tlv_dbscale {\n\t__le32 min;\n\t__le32 step;\n\t__le32 mute;\n};\n\nstruct snd_soc_tplg_ctl_tlv {\n\t__le32 size;\n\t__le32 type;\n\tunion {\n\t\t__le32 data[32];\n\t\tstruct snd_soc_tplg_tlv_dbscale scale;\n\t};\n};\n\nstruct snd_soc_tplg_ctl_hdr {\n\t__le32 size;\n\t__le32 type;\n\tchar name[44];\n\t__le32 access;\n\tstruct snd_soc_tplg_io_ops ops;\n\tstruct snd_soc_tplg_ctl_tlv tlv;\n};\n\nstruct snd_soc_tplg_vendor_uuid_elem {\n\t__le32 token;\n\tchar uuid[16];\n};\n\nstruct snd_soc_tplg_vendor_value_elem {\n\t__le32 token;\n\t__le32 value;\n};\n\nstruct snd_soc_tplg_vendor_string_elem {\n\t__le32 token;\n\tchar string[44];\n};\n\nstruct snd_soc_tplg_vendor_array {\n\t__le32 size;\n\t__le32 type;\n\t__le32 num_elems;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_uuid;\n\t\t\tstruct snd_soc_tplg_vendor_uuid_elem uuid[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_value;\n\t\t\tstruct snd_soc_tplg_vendor_value_elem value[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_string;\n\t\t\tstruct snd_soc_tplg_vendor_string_elem string[0];\n\t\t};\n\t};\n};\n\nstruct snd_soc_tplg_private {\n\t__le32 size;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\tchar data[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_array;\n\t\t\tstruct snd_soc_tplg_vendor_array array[0];\n\t\t};\n\t};\n};\n\nstruct snd_soc_tplg_bytes_control {\n\tstruct snd_soc_tplg_ctl_hdr hdr;\n\t__le32 size;\n\t__le32 max;\n\t__le32 mask;\n\t__le32 base;\n\t__le32 num_regs;\n\tstruct snd_soc_tplg_io_ops ext_ops;\n\tstruct snd_soc_tplg_private priv;\n};\n\nstruct snd_soc_tplg_bytes_ext_ops {\n\tu32 id;\n\tint (*get)(struct snd_kcontrol *, unsigned int *, unsigned int);\n\tint (*put)(struct snd_kcontrol *, const unsigned int *, unsigned int);\n};\n\nstruct snd_soc_tplg_channel {\n\t__le32 size;\n\t__le32 reg;\n\t__le32 shift;\n\t__le32 id;\n};\n\nstruct snd_soc_tplg_stream_caps {\n\t__le32 size;\n\tchar name[44];\n\t__le64 formats;\n\t__le32 rates;\n\t__le32 rate_min;\n\t__le32 rate_max;\n\t__le32 channels_min;\n\t__le32 channels_max;\n\t__le32 periods_min;\n\t__le32 periods_max;\n\t__le32 period_size_min;\n\t__le32 period_size_max;\n\t__le32 buffer_size_min;\n\t__le32 buffer_size_max;\n\t__le32 sig_bits;\n};\n\nstruct snd_soc_tplg_dai {\n\t__le32 size;\n\tchar dai_name[44];\n\t__le32 dai_id;\n\t__le32 playback;\n\t__le32 capture;\n\tstruct snd_soc_tplg_stream_caps caps[2];\n\t__le32 flag_mask;\n\t__le32 flags;\n\tstruct snd_soc_tplg_private priv;\n} __attribute__((packed));\n\nstruct snd_soc_tplg_dapm_graph_elem {\n\tchar sink[44];\n\tchar control[44];\n\tchar source[44];\n};\n\nstruct snd_soc_tplg_dapm_widget {\n\t__le32 size;\n\t__le32 id;\n\tchar name[44];\n\tchar sname[44];\n\t__le32 reg;\n\t__le32 shift;\n\t__le32 mask;\n\t__le32 subseq;\n\t__le32 invert;\n\t__le32 ignore_suspend;\n\t__le16 event_flags;\n\t__le16 event_type;\n\t__le32 num_kcontrols;\n\tstruct snd_soc_tplg_private priv;\n};\n\nstruct snd_soc_tplg_enum_control {\n\tstruct snd_soc_tplg_ctl_hdr hdr;\n\t__le32 size;\n\t__le32 num_channels;\n\tstruct snd_soc_tplg_channel channel[8];\n\t__le32 items;\n\t__le32 mask;\n\t__le32 count;\n\tchar texts[704];\n\t__le32 values[176];\n\tstruct snd_soc_tplg_private priv;\n};\n\nstruct snd_soc_tplg_hdr {\n\t__le32 magic;\n\t__le32 abi;\n\t__le32 version;\n\t__le32 type;\n\t__le32 size;\n\t__le32 vendor_type;\n\t__le32 payload_size;\n\t__le32 index;\n\t__le32 count;\n};\n\nstruct snd_soc_tplg_hw_config {\n\t__le32 size;\n\t__le32 id;\n\t__le32 fmt;\n\t__u8 clock_gated;\n\t__u8 invert_bclk;\n\t__u8 invert_fsync;\n\t__u8 bclk_provider;\n\t__u8 fsync_provider;\n\t__u8 mclk_direction;\n\t__le16 reserved;\n\t__le32 mclk_rate;\n\t__le32 bclk_rate;\n\t__le32 fsync_rate;\n\t__le32 tdm_slots;\n\t__le32 tdm_slot_width;\n\t__le32 tx_slots;\n\t__le32 rx_slots;\n\t__le32 tx_channels;\n\t__le32 tx_chanmap[8];\n\t__le32 rx_channels;\n\t__le32 rx_chanmap[8];\n};\n\nstruct snd_soc_tplg_kcontrol_ops {\n\tu32 id;\n\tint (*get)(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\tint (*put)(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\tint (*info)(struct snd_kcontrol *, struct snd_ctl_elem_info *);\n};\n\nstruct snd_soc_tplg_stream {\n\t__le32 size;\n\tchar name[44];\n\t__le64 format;\n\t__le32 rate;\n\t__le32 period_bytes;\n\t__le32 buffer_bytes;\n\t__le32 channels;\n};\n\nstruct snd_soc_tplg_link_config {\n\t__le32 size;\n\t__le32 id;\n\tchar name[44];\n\tchar stream_name[44];\n\tstruct snd_soc_tplg_stream stream[8];\n\t__le32 num_streams;\n\tstruct snd_soc_tplg_hw_config hw_config[8];\n\t__le32 num_hw_configs;\n\t__le32 default_hw_config_id;\n\t__le32 flag_mask;\n\t__le32 flags;\n\tstruct snd_soc_tplg_private priv;\n};\n\nstruct snd_soc_tplg_manifest {\n\t__le32 size;\n\t__le32 control_elems;\n\t__le32 widget_elems;\n\t__le32 graph_elems;\n\t__le32 pcm_elems;\n\t__le32 dai_link_elems;\n\t__le32 dai_elems;\n\t__le32 reserved[20];\n\tstruct snd_soc_tplg_private priv;\n};\n\nstruct snd_soc_tplg_mixer_control {\n\tstruct snd_soc_tplg_ctl_hdr hdr;\n\t__le32 size;\n\t__le32 min;\n\t__le32 max;\n\t__le32 platform_max;\n\t__le32 invert;\n\t__le32 num_channels;\n\tstruct snd_soc_tplg_channel channel[8];\n\tstruct snd_soc_tplg_private priv;\n};\n\nstruct snd_soc_tplg_pcm;\n\nstruct snd_soc_tplg_ops {\n\tint (*control_load)(struct snd_soc_component *, int, struct snd_kcontrol_new *, struct snd_soc_tplg_ctl_hdr *);\n\tint (*control_unload)(struct snd_soc_component *, struct snd_soc_dobj *);\n\tint (*dapm_route_load)(struct snd_soc_component *, int, struct snd_soc_dapm_route *);\n\tint (*dapm_route_unload)(struct snd_soc_component *, struct snd_soc_dobj *);\n\tint (*widget_load)(struct snd_soc_component *, int, struct snd_soc_dapm_widget *, struct snd_soc_tplg_dapm_widget *);\n\tint (*widget_ready)(struct snd_soc_component *, int, struct snd_soc_dapm_widget *, struct snd_soc_tplg_dapm_widget *);\n\tint (*widget_unload)(struct snd_soc_component *, struct snd_soc_dobj *);\n\tint (*dai_load)(struct snd_soc_component *, int, struct snd_soc_dai_driver *, struct snd_soc_tplg_pcm *, struct snd_soc_dai *);\n\tint (*dai_unload)(struct snd_soc_component *, struct snd_soc_dobj *);\n\tint (*link_load)(struct snd_soc_component *, int, struct snd_soc_dai_link *, struct snd_soc_tplg_link_config *);\n\tint (*link_unload)(struct snd_soc_component *, struct snd_soc_dobj *);\n\tint (*vendor_load)(struct snd_soc_component *, int, struct snd_soc_tplg_hdr *);\n\tint (*vendor_unload)(struct snd_soc_component *, struct snd_soc_tplg_hdr *);\n\tint (*complete)(struct snd_soc_component *);\n\tint (*manifest)(struct snd_soc_component *, int, struct snd_soc_tplg_manifest *);\n\tconst struct snd_soc_tplg_kcontrol_ops *io_ops;\n\tint io_ops_count;\n\tconst struct snd_soc_tplg_bytes_ext_ops *bytes_ext_ops;\n\tint bytes_ext_ops_count;\n};\n\nstruct snd_soc_tplg_pcm {\n\t__le32 size;\n\tchar pcm_name[44];\n\tchar dai_name[44];\n\t__le32 pcm_id;\n\t__le32 dai_id;\n\t__le32 playback;\n\t__le32 capture;\n\t__le32 compress;\n\tstruct snd_soc_tplg_stream stream[8];\n\t__le32 num_streams;\n\tstruct snd_soc_tplg_stream_caps caps[2];\n\t__le32 flag_mask;\n\t__le32 flags;\n\tstruct snd_soc_tplg_private priv;\n} __attribute__((packed));\n\nstruct snd_soc_tplg_widget_events {\n\tu16 type;\n\tint (*event_handler)(struct snd_soc_dapm_widget *, struct snd_kcontrol *, int);\n};\n\nstruct snd_timer_hardware {\n\tunsigned int flags;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_min;\n\tlong unsigned int resolution_max;\n\tlong unsigned int ticks;\n\tint (*open)(struct snd_timer *);\n\tint (*close)(struct snd_timer *);\n\tlong unsigned int (*c_resolution)(struct snd_timer *);\n\tint (*start)(struct snd_timer *);\n\tint (*stop)(struct snd_timer *);\n\tint (*set_period)(struct snd_timer *, long unsigned int, long unsigned int);\n\tint (*precise_resolution)(struct snd_timer *, long unsigned int *, long unsigned int *);\n};\n\nstruct snd_timer {\n\tint tmr_class;\n\tstruct snd_card *card;\n\tstruct module *module;\n\tint tmr_device;\n\tint tmr_subdevice;\n\tchar id[64];\n\tchar name[80];\n\tunsigned int flags;\n\tint running;\n\tlong unsigned int sticks;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_timer *);\n\tstruct snd_timer_hardware hw;\n\tspinlock_t lock;\n\tstruct list_head device_list;\n\tstruct list_head open_list_head;\n\tstruct list_head active_list_head;\n\tstruct list_head ack_list_head;\n\tstruct list_head sack_list_head;\n\tstruct work_struct task_work;\n\tint max_instances;\n\tint num_instances;\n};\n\nstruct snd_timer_id {\n\tint dev_class;\n\tint dev_sclass;\n\tint card;\n\tint device;\n\tint subdevice;\n};\n\nstruct snd_timer_ginfo {\n\tstruct snd_timer_id tid;\n\tunsigned int flags;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tlong unsigned int reserved0;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_min;\n\tlong unsigned int resolution_max;\n\tunsigned int clients;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_gparams {\n\tstruct snd_timer_id tid;\n\tlong unsigned int period_num;\n\tlong unsigned int period_den;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_gparams32 {\n\tstruct snd_timer_id tid;\n\tu32 period_num;\n\tu32 period_den;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_gstatus {\n\tstruct snd_timer_id tid;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_num;\n\tlong unsigned int resolution_den;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_info {\n\tunsigned int flags;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tlong unsigned int reserved0;\n\tlong unsigned int resolution;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_info32 {\n\tu32 flags;\n\ts32 card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tu32 reserved0;\n\tu32 resolution;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_instance {\n\tstruct snd_timer *timer;\n\tchar *owner;\n\tunsigned int flags;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_timer_instance *);\n\tvoid (*callback)(struct snd_timer_instance *, long unsigned int, long unsigned int);\n\tvoid (*ccallback)(struct snd_timer_instance *, int, struct timespec64 *, long unsigned int);\n\tvoid (*disconnect)(struct snd_timer_instance *);\n\tvoid *callback_data;\n\tlong unsigned int ticks;\n\tlong unsigned int cticks;\n\tlong unsigned int pticks;\n\tlong unsigned int resolution;\n\tlong unsigned int lost;\n\tint slave_class;\n\tunsigned int slave_id;\n\tstruct list_head open_list;\n\tstruct list_head active_list;\n\tstruct list_head ack_list;\n\tstruct list_head slave_list_head;\n\tstruct list_head slave_active_head;\n\tstruct snd_timer_instance *master;\n};\n\nstruct snd_timer_params {\n\tunsigned int flags;\n\tunsigned int ticks;\n\tunsigned int queue_size;\n\tunsigned int reserved0;\n\tunsigned int filter;\n\tunsigned char reserved[60];\n};\n\nstruct snd_timer_read {\n\tunsigned int resolution;\n\tunsigned int ticks;\n};\n\nstruct snd_timer_select {\n\tstruct snd_timer_id id;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_status32 {\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tunsigned int resolution;\n\tunsigned int lost;\n\tunsigned int overrun;\n\tunsigned int queue;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_status64 {\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tunsigned int resolution;\n\tunsigned int lost;\n\tunsigned int overrun;\n\tunsigned int queue;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_system_private {\n\tstruct timer_list tlist;\n\tstruct snd_timer *snd_timer;\n\tlong unsigned int last_expires;\n\tlong unsigned int last_jiffies;\n\tlong unsigned int correction;\n};\n\nstruct snd_timer_tread32 {\n\tint event;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tunsigned int val;\n};\n\nstruct snd_timer_tread64 {\n\tint event;\n\tu8 pad1[4];\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tunsigned int val;\n\tu8 pad2[4];\n};\n\nstruct snd_timer_uinfo {\n\t__u64 resolution;\n\tint fd;\n\tunsigned int id;\n\tunsigned char reserved[16];\n};\n\nstruct snd_timer_user {\n\tstruct snd_timer_instance *timeri;\n\tint tread;\n\tlong unsigned int ticks;\n\tlong unsigned int overrun;\n\tint qhead;\n\tint qtail;\n\tint qused;\n\tint queue_size;\n\tbool disconnected;\n\tstruct snd_timer_read *queue;\n\tstruct snd_timer_tread64 *tqueue;\n\tspinlock_t qlock;\n\tlong unsigned int last_resolution;\n\tunsigned int filter;\n\tstruct timespec64 tstamp;\n\twait_queue_head_t qchange_sleep;\n\tstruct snd_fasync *fasync;\n\tstruct mutex ioctl_lock;\n};\n\nstruct snd_xferi {\n\tsnd_pcm_sframes_t result;\n\tvoid *buf;\n\tsnd_pcm_uframes_t frames;\n};\n\nstruct snd_xferi32 {\n\ts32 result;\n\tu32 buf;\n\tu32 frames;\n};\n\nstruct snd_xfern {\n\tsnd_pcm_sframes_t result;\n\tvoid **bufs;\n\tsnd_pcm_uframes_t frames;\n};\n\nstruct snd_xfern32 {\n\ts32 result;\n\tu32 bufs;\n\tu32 frames;\n};\n\nstruct snmp_mib {\n\tconst char *name;\n\tint entry;\n};\n\nstruct snvs_lpgpr_cfg {\n\tint offset;\n\tint offset_hplr;\n\tint offset_lplr;\n\tint size;\n};\n\nstruct device_d;\n\nstruct snvs_lpgpr_priv {\n\tstruct device_d *dev;\n\tstruct regmap *regmap;\n\tstruct nvmem_config cfg;\n\tconst struct snvs_lpgpr_cfg *dcfg;\n};\n\nstruct so_timestamping {\n\tint flags;\n\tint bind_phc;\n};\n\nstruct soc_bytes {\n\tint base;\n\tint num_regs;\n\tu32 mask;\n};\n\nstruct soc_bytes_ext {\n\tint max;\n\tstruct snd_soc_dobj dobj;\n\tint (*get)(struct snd_kcontrol *, unsigned int *, unsigned int);\n\tint (*put)(struct snd_kcontrol *, const unsigned int *, unsigned int);\n};\n\nstruct soc_device_attribute;\n\nstruct soc_device {\n\tstruct device dev;\n\tstruct soc_device_attribute *attr;\n\tint soc_dev_num;\n};\n\nstruct soc_device_attribute {\n\tconst char *machine;\n\tconst char *family;\n\tconst char *revision;\n\tconst char *serial_number;\n\tconst char *soc_id;\n\tconst void *data;\n\tconst struct attribute_group *custom_attr_group;\n};\n\nstruct soc_enum {\n\tint reg;\n\tunsigned char shift_l;\n\tunsigned char shift_r;\n\tunsigned int items;\n\tunsigned int mask;\n\tconst char * const *texts;\n\tconst unsigned int *values;\n\tunsigned int autodisable: 1;\n\tstruct snd_soc_dobj dobj;\n};\n\nstruct soc_mixer_control {\n\tint min;\n\tint max;\n\tint platform_max;\n\tint reg;\n\tint rreg;\n\tunsigned int shift;\n\tunsigned int rshift;\n\tunsigned int sign_bit;\n\tunsigned int invert: 1;\n\tunsigned int autodisable: 1;\n\tstruct snd_soc_dobj dobj;\n};\n\nstruct soc_mreg_control {\n\tlong int min;\n\tlong int max;\n\tunsigned int regbase;\n\tunsigned int regcount;\n\tunsigned int nbits;\n\tunsigned int invert;\n};\n\nstruct soc_pad_ctrl {\n\tvoid *reg;\n\tenum soc_pad_ctrl_type pad_type;\n\tvoid (*set_soc_pad)(struct sdhci_host *, unsigned char);\n};\n\nstruct soc_tplg {\n\tconst struct firmware *fw;\n\tconst u8 *pos;\n\tconst u8 *hdr_pos;\n\tunsigned int pass;\n\tstruct device *dev;\n\tstruct snd_soc_component *comp;\n\tu32 index;\n\tconst struct snd_soc_tplg_kcontrol_ops *io_ops;\n\tint io_ops_count;\n\tconst struct snd_soc_tplg_bytes_ext_ops *bytes_ext_ops;\n\tint bytes_ext_ops_count;\n\tconst struct snd_soc_tplg_ops *ops;\n};\n\nstruct soc_tplg_map {\n\tint uid;\n\tint kid;\n};\n\nstruct socfpga_gate_clk {\n\tstruct clk_gate hw;\n\tchar *parent_name;\n\tu32 fixed_div;\n\tvoid *div_reg;\n\tvoid *bypass_reg;\n\tstruct regmap *sys_mgr_base_addr;\n\tu32 width;\n\tu32 shift;\n\tu32 bypass_shift;\n};\n\nstruct socfpga_periph_clk {\n\tstruct clk_gate hw;\n\tchar *parent_name;\n\tu32 fixed_div;\n\tvoid *div_reg;\n\tvoid *bypass_reg;\n\tu32 width;\n\tu32 shift;\n\tu32 bypass_shift;\n};\n\nstruct socfpga_pll {\n\tstruct clk_gate hw;\n};\n\nstruct socinfo {\n\t__le32 fmt;\n\t__le32 id;\n\t__le32 ver;\n\tchar build_id[32];\n\t__le32 raw_id;\n\t__le32 raw_ver;\n\t__le32 hw_plat;\n\t__le32 plat_ver;\n\t__le32 accessory_chip;\n\t__le32 hw_plat_subtype;\n\t__le32 pmic_model;\n\t__le32 pmic_die_rev;\n\t__le32 pmic_model_1;\n\t__le32 pmic_die_rev_1;\n\t__le32 pmic_model_2;\n\t__le32 pmic_die_rev_2;\n\t__le32 foundry_id;\n\t__le32 serial_num;\n\t__le32 num_pmics;\n\t__le32 pmic_array_offset;\n\t__le32 chip_family;\n\t__le32 raw_device_family;\n\t__le32 raw_device_num;\n\t__le32 nproduct_id;\n\tchar chip_id[32];\n\t__le32 num_clusters;\n\t__le32 ncluster_array_offset;\n\t__le32 num_subset_parts;\n\t__le32 nsubset_parts_array_offset;\n\t__le32 nmodem_supported;\n\t__le32 feature_code;\n\t__le32 pcode;\n\t__le32 npartnamemap_offset;\n\t__le32 nnum_partname_mapping;\n\t__le32 oem_variant;\n\t__le32 num_kvps;\n\t__le32 kvps_offset;\n\t__le32 num_func_clusters;\n\t__le32 boot_cluster;\n\t__le32 boot_core;\n};\n\nstruct socinfo_data {\n\tchar *soc_name;\n\tchar *segment_name;\n\tchar *marketing_name;\n\tu32 cell_data[2];\n};\n\nstruct sock_bh_locked {\n\tstruct sock *sock;\n\tlocal_lock_t bh_lock;\n};\n\nstruct sock_diag_handler {\n\tstruct module *owner;\n\t__u8 family;\n\tint (*dump)(struct sk_buff *, struct nlmsghdr *);\n\tint (*get_info)(struct sk_buff *, struct sock *);\n\tint (*destroy)(struct sk_buff *, struct nlmsghdr *);\n};\n\nstruct sock_diag_inet_compat {\n\tstruct module *owner;\n\tint (*fn)(struct sk_buff *, struct nlmsghdr *);\n};\n\nstruct sock_diag_req {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n};\n\nstruct sock_ee_data_rfc4884 {\n\t__u16 len;\n\t__u8 flags;\n\t__u8 reserved;\n};\n\nstruct sock_extended_err {\n\t__u32 ee_errno;\n\t__u8 ee_origin;\n\t__u8 ee_type;\n\t__u8 ee_code;\n\t__u8 ee_pad;\n\t__u32 ee_info;\n\tunion {\n\t\t__u32 ee_data;\n\t\tstruct sock_ee_data_rfc4884 ee_rfc4884;\n\t};\n};\n\nstruct sock_exterr_skb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tstruct sock_extended_err ee;\n\tu16 addr_offset;\n\t__be16 port;\n\tu8 opt_stats: 1;\n\tu8 unused: 7;\n};\n\nstruct sock_fprog {\n\tshort unsigned int len;\n\tstruct sock_filter *filter;\n};\n\nstruct sock_fprog_kern {\n\tu16 len;\n\tstruct sock_filter *filter;\n};\n\nstruct sock_hash_seq_info {\n\tstruct bpf_map *map;\n\tstruct bpf_shtab *htab;\n\tu32 bucket_id;\n};\n\nstruct sock_map_seq_info {\n\tstruct bpf_map *map;\n\tstruct sock *sk;\n\tu32 index;\n};\n\nstruct sock_reuseport {\n\tstruct callback_head rcu;\n\tu16 max_socks;\n\tu16 num_socks;\n\tu16 num_closed_socks;\n\tu16 incoming_cpu;\n\tunsigned int synq_overflow_ts;\n\tunsigned int reuseport_id;\n\tunsigned int bind_inany: 1;\n\tunsigned int has_conns: 1;\n\tstruct bpf_prog *prog;\n\tstruct sock *socks[0];\n};\n\nstruct sock_skb_cb {\n\tu32 dropcount;\n};\n\nstruct sock_txtime {\n\t__kernel_clockid_t clockid;\n\t__u32 flags;\n};\n\nstruct sock_xprt {\n\tstruct rpc_xprt xprt;\n\tstruct socket *sock;\n\tstruct sock *inet;\n\tstruct file *file;\n\tstruct {\n\t\tstruct {\n\t\t\t__be32 fraghdr;\n\t\t\t__be32 xid;\n\t\t\t__be32 calldir;\n\t\t};\n\t\tu32 offset;\n\t\tu32 len;\n\t\tlong unsigned int copied;\n\t} recv;\n\tstruct {\n\t\tu32 offset;\n\t} xmit;\n\tlong unsigned int sock_state;\n\tstruct delayed_work connect_worker;\n\tstruct work_struct error_worker;\n\tstruct work_struct recv_worker;\n\tstruct mutex recv_mutex;\n\tstruct completion handshake_done;\n\tstruct __kernel_sockaddr_storage srcaddr;\n\tshort unsigned int srcport;\n\tint xprt_err;\n\tstruct rpc_clnt *clnt;\n\tsize_t rcvsize;\n\tsize_t sndsize;\n\tstruct rpc_timeout tcp_timeout;\n\tvoid (*old_data_ready)(struct sock *);\n\tvoid (*old_state_change)(struct sock *);\n\tvoid (*old_write_space)(struct sock *);\n\tvoid (*old_error_report)(struct sock *);\n};\n\nstruct sockaddr_in6 {\n\tshort unsigned int sin6_family;\n\t__be16 sin6_port;\n\t__be32 sin6_flowinfo;\n\tstruct in6_addr sin6_addr;\n\t__u32 sin6_scope_id;\n};\n\nstruct sockaddr_nl {\n\t__kernel_sa_family_t nl_family;\n\tshort unsigned int nl_pad;\n\t__u32 nl_pid;\n\t__u32 nl_groups;\n};\n\nstruct sockaddr_un {\n\t__kernel_sa_family_t sun_family;\n\tchar sun_path[108];\n};\n\nstruct socket_wq {\n\twait_queue_head_t wait;\n\tstruct fasync_struct *fasync_list;\n\tlong unsigned int flags;\n\tstruct callback_head rcu;\n\tlong: 64;\n};\n\nstruct socket {\n\tsocket_state state;\n\tshort int type;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tstruct sock *sk;\n\tconst struct proto_ops *ops;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct socket_wq wq;\n};\n\nstruct socket__safe_trusted_or_null {\n\tstruct sock *sk;\n};\n\nstruct socket_alloc {\n\tstruct socket socket;\n\tstruct inode vfs_inode;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sockmap_link {\n\tstruct bpf_link link;\n\tstruct bpf_map *map;\n\tenum bpf_attach_type attach_type;\n};\n\nstruct softirq_action {\n\tvoid (*action)(void);\n};\n\nstruct softnet_data {\n\tstruct list_head poll_list;\n\tstruct sk_buff_head process_queue;\n\tlocal_lock_t process_queue_bh_lock;\n\tunsigned int processed;\n\tunsigned int time_squeeze;\n\tstruct softnet_data *rps_ipi_list;\n\tunsigned int received_rps;\n\tbool in_net_rx_action;\n\tbool in_napi_threaded_poll;\n\tstruct sd_flow_limit *flow_limit;\n\tstruct Qdisc *output_queue;\n\tstruct Qdisc **output_queue_tailp;\n\tstruct sk_buff *completion_queue;\n\tstruct netdev_xmit xmit;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunsigned int input_queue_head;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t csd;\n\tstruct softnet_data *rps_ipi_next;\n\tunsigned int cpu;\n\tunsigned int input_queue_tail;\n\tstruct sk_buff_head input_pkt_queue;\n\tstruct napi_struct backlog;\n\tlong: 64;\n\tatomic_t dropped;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t defer_lock;\n\tint defer_count;\n\tint defer_ipi_scheduled;\n\tstruct sk_buff *defer_list;\n\tlong: 64;\n\tcall_single_data_t defer_csd;\n};\n\nstruct software_node {\n\tconst char *name;\n\tconst struct software_node *parent;\n\tconst struct property_entry *properties;\n};\n\nstruct sp804_clkevt {\n\tvoid *base;\n\tvoid *load;\n\tvoid *load_h;\n\tvoid *value;\n\tvoid *value_h;\n\tvoid *ctrl;\n\tvoid *intclr;\n\tvoid *ris;\n\tvoid *mis;\n\tvoid *bgload;\n\tvoid *bgload_h;\n\tlong unsigned int reload;\n\tint width;\n};\n\nstruct sp804_timer {\n\tint load;\n\tint load_h;\n\tint value;\n\tint value_h;\n\tint ctrl;\n\tint intclr;\n\tint ris;\n\tint mis;\n\tint bgload;\n\tint bgload_h;\n\tint timer_base[2];\n\tint width;\n};\n\nstruct sp805_wdt {\n\tstruct watchdog_device wdd;\n\tspinlock_t lock;\n\tvoid *base;\n\tstruct clk *clk;\n\tu64 rate;\n\tstruct amba_device *adev;\n\tunsigned int load_val;\n};\n\nstruct sp_node {\n\tstruct rb_node nd;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tstruct mempolicy *policy;\n};\n\nstruct space_resv {\n\t__s16 l_type;\n\t__s16 l_whence;\n\t__s64 l_start;\n\t__s64 l_len;\n\t__s32 l_sysid;\n\t__u32 l_pid;\n\t__s32 l_pad[4];\n};\n\nstruct spansion_nor_params {\n\tu8 clsr;\n};\n\nstruct spectre_v4_param {\n\tconst char *str;\n\tenum spectre_v4_policy policy;\n};\n\nstruct speed_down_verdict_arg {\n\tu64 since;\n\tint xfer_ok;\n\tint nr_errors[8];\n};\n\nstruct spi_controller_mem_ops;\n\nstruct spi_controller_mem_caps;\n\nstruct spi_statistics;\n\nstruct spi_controller {\n\tstruct device dev;\n\tstruct list_head list;\n\ts16 bus_num;\n\tu16 num_chipselect;\n\tu16 dma_alignment;\n\tu32 mode_bits;\n\tu32 buswidth_override_bits;\n\tu32 bits_per_word_mask;\n\tu32 min_speed_hz;\n\tu32 max_speed_hz;\n\tu16 flags;\n\tbool devm_allocated;\n\tunion {\n\t\tbool slave;\n\t\tbool target;\n\t};\n\tsize_t (*max_transfer_size)(struct spi_device *);\n\tsize_t (*max_message_size)(struct spi_device *);\n\tstruct mutex io_mutex;\n\tstruct mutex add_lock;\n\tspinlock_t bus_lock_spinlock;\n\tstruct mutex bus_lock_mutex;\n\tbool bus_lock_flag;\n\tint (*setup)(struct spi_device *);\n\tint (*set_cs_timing)(struct spi_device *);\n\tint (*transfer)(struct spi_device *, struct spi_message *);\n\tvoid (*cleanup)(struct spi_device *);\n\tbool (*can_dma)(struct spi_controller *, struct spi_device *, struct spi_transfer *);\n\tstruct device *dma_map_dev;\n\tstruct device *cur_rx_dma_dev;\n\tstruct device *cur_tx_dma_dev;\n\tbool queued;\n\tstruct kthread_worker *kworker;\n\tstruct kthread_work pump_messages;\n\tspinlock_t queue_lock;\n\tstruct list_head queue;\n\tstruct spi_message *cur_msg;\n\tstruct completion cur_msg_completion;\n\tbool cur_msg_incomplete;\n\tbool cur_msg_need_completion;\n\tbool busy;\n\tbool running;\n\tbool rt;\n\tbool auto_runtime_pm;\n\tbool fallback;\n\tbool last_cs_mode_high;\n\ts8 last_cs[16];\n\tu32 last_cs_index_mask: 16;\n\tstruct completion xfer_completion;\n\tsize_t max_dma_len;\n\tint (*optimize_message)(struct spi_message *);\n\tint (*unoptimize_message)(struct spi_message *);\n\tint (*prepare_transfer_hardware)(struct spi_controller *);\n\tint (*transfer_one_message)(struct spi_controller *, struct spi_message *);\n\tint (*unprepare_transfer_hardware)(struct spi_controller *);\n\tint (*prepare_message)(struct spi_controller *, struct spi_message *);\n\tint (*unprepare_message)(struct spi_controller *, struct spi_message *);\n\tint (*target_abort)(struct spi_controller *);\n\tvoid (*set_cs)(struct spi_device *, bool);\n\tint (*transfer_one)(struct spi_controller *, struct spi_device *, struct spi_transfer *);\n\tvoid (*handle_err)(struct spi_controller *, struct spi_message *);\n\tconst struct spi_controller_mem_ops *mem_ops;\n\tconst struct spi_controller_mem_caps *mem_caps;\n\tstruct gpio_desc **cs_gpiods;\n\tbool use_gpio_descriptors;\n\ts8 unused_native_cs;\n\ts8 max_native_cs;\n\tstruct spi_statistics *pcpu_statistics;\n\tstruct dma_chan *dma_tx;\n\tstruct dma_chan *dma_rx;\n\tvoid *dummy_rx;\n\tvoid *dummy_tx;\n\tint (*fw_translate_cs)(struct spi_controller *, unsigned int);\n\tbool ptp_sts_supported;\n\tlong unsigned int irq_flags;\n\tbool queue_empty;\n\tbool must_async;\n\tbool defer_optimize_message;\n};\n\nstruct spi_controller_mem_caps {\n\tbool dtr;\n\tbool ecc;\n\tbool swap16;\n\tbool per_op_freq;\n};\n\nstruct spi_mem;\n\nstruct spi_mem_dirmap_desc;\n\nstruct spi_controller_mem_ops {\n\tint (*adjust_op_size)(struct spi_mem *, struct spi_mem_op *);\n\tbool (*supports_op)(struct spi_mem *, const struct spi_mem_op *);\n\tint (*exec_op)(struct spi_mem *, const struct spi_mem_op *);\n\tconst char * (*get_name)(struct spi_mem *);\n\tint (*dirmap_create)(struct spi_mem_dirmap_desc *);\n\tvoid (*dirmap_destroy)(struct spi_mem_dirmap_desc *);\n\tssize_t (*dirmap_read)(struct spi_mem_dirmap_desc *, u64, size_t, void *);\n\tssize_t (*dirmap_write)(struct spi_mem_dirmap_desc *, u64, size_t, const void *);\n\tint (*poll_status)(struct spi_mem *, const struct spi_mem_op *, u16, u16, long unsigned int, long unsigned int, long unsigned int);\n};\n\nstruct spi_device {\n\tstruct device dev;\n\tstruct spi_controller *controller;\n\tu32 max_speed_hz;\n\tu8 chip_select[16];\n\tu8 bits_per_word;\n\tbool rt;\n\tu32 mode;\n\tint irq;\n\tvoid *controller_state;\n\tvoid *controller_data;\n\tchar modalias[32];\n\tconst char *driver_override;\n\tstruct gpio_desc *cs_gpiod[16];\n\tstruct spi_delay word_delay;\n\tstruct spi_delay cs_setup;\n\tstruct spi_delay cs_hold;\n\tstruct spi_delay cs_inactive;\n\tstruct spi_statistics *pcpu_statistics;\n\tu32 cs_index_mask: 16;\n};\n\nstruct spi_device_id {\n\tchar name[32];\n\tkernel_ulong_t driver_data;\n};\n\nstruct spi_driver {\n\tconst struct spi_device_id *id_table;\n\tint (*probe)(struct spi_device *);\n\tvoid (*remove)(struct spi_device *);\n\tvoid (*shutdown)(struct spi_device *);\n\tstruct device_driver driver;\n};\n\nstruct spi_mem {\n\tstruct spi_device *spi;\n\tvoid *drvpriv;\n\tconst char *name;\n};\n\nstruct spi_mem_op {\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t\tu16 opcode;\n\t} cmd;\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t\tu64 val;\n\t} addr;\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t} dummy;\n\tstruct {\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 ecc: 1;\n\t\tu8 swap16: 1;\n\t\tu8 __pad: 5;\n\t\tenum spi_mem_data_dir dir;\n\t\tunsigned int nbytes;\n\t\tunion {\n\t\t\tvoid *in;\n\t\t\tconst void *out;\n\t\t} buf;\n\t} data;\n\tunsigned int max_freq;\n};\n\nstruct spi_mem_dirmap_info {\n\tstruct spi_mem_op op_tmpl;\n\tu64 offset;\n\tu64 length;\n};\n\nstruct spi_mem_dirmap_desc {\n\tstruct spi_mem *mem;\n\tstruct spi_mem_dirmap_info info;\n\tunsigned int nodirmap;\n\tvoid *priv;\n};\n\nstruct spi_mem_driver {\n\tstruct spi_driver spidrv;\n\tint (*probe)(struct spi_mem *);\n\tint (*remove)(struct spi_mem *);\n\tvoid (*shutdown)(struct spi_mem *);\n};\n\nstruct spi_nor_rww {\n\twait_queue_head_t wait;\n\tbool ongoing_io;\n\tbool ongoing_rd;\n\tbool ongoing_pe;\n\tunsigned int used_banks;\n};\n\nstruct spi_nor_manufacturer;\n\nstruct spi_nor_controller_ops;\n\nstruct spi_nor_flash_parameter;\n\nstruct spi_nor {\n\tstruct mtd_info mtd;\n\tstruct mutex lock;\n\tstruct spi_nor_rww rww;\n\tstruct device *dev;\n\tstruct spi_mem *spimem;\n\tu8 *bouncebuf;\n\tsize_t bouncebuf_size;\n\tu8 *id;\n\tconst struct flash_info___3 *info;\n\tconst struct spi_nor_manufacturer *manufacturer;\n\tu8 addr_nbytes;\n\tu8 erase_opcode;\n\tu8 read_opcode;\n\tu8 read_dummy;\n\tu8 program_opcode;\n\tenum spi_nor_protocol read_proto;\n\tenum spi_nor_protocol write_proto;\n\tenum spi_nor_protocol reg_proto;\n\tbool sst_write_second;\n\tu32 flags;\n\tenum spi_nor_cmd_ext cmd_ext_type;\n\tstruct sfdp *sfdp;\n\tstruct dentry *debugfs_root;\n\tconst struct spi_nor_controller_ops *controller_ops;\n\tstruct spi_nor_flash_parameter *params;\n\tstruct {\n\t\tstruct spi_mem_dirmap_desc *rdesc;\n\t\tstruct spi_mem_dirmap_desc *wdesc;\n\t} dirmap;\n\tvoid *priv;\n};\n\nstruct spi_nor_controller_ops {\n\tint (*prepare)(struct spi_nor *);\n\tvoid (*unprepare)(struct spi_nor *);\n\tint (*read_reg)(struct spi_nor *, u8, u8 *, size_t);\n\tint (*write_reg)(struct spi_nor *, u8, const u8 *, size_t);\n\tssize_t (*read)(struct spi_nor *, loff_t, size_t, u8 *);\n\tssize_t (*write)(struct spi_nor *, loff_t, size_t, const u8 *);\n\tint (*erase)(struct spi_nor *, loff_t);\n};\n\nstruct spi_nor_erase_command {\n\tstruct list_head list;\n\tu32 count;\n\tu32 size;\n\tu8 opcode;\n};\n\nstruct spi_nor_erase_region {\n\tu64 offset;\n\tu64 size;\n\tu8 erase_mask;\n\tbool overlaid;\n};\n\nstruct spi_nor_erase_type {\n\tu32 size;\n\tu32 size_shift;\n\tu32 size_mask;\n\tu8 opcode;\n\tu8 idx;\n};\n\nstruct spi_nor_erase_map {\n\tstruct spi_nor_erase_region *regions;\n\tstruct spi_nor_erase_region uniform_region;\n\tstruct spi_nor_erase_type erase_type[4];\n\tunsigned int n_regions;\n};\n\nstruct spi_nor_fixups {\n\tvoid (*default_init)(struct spi_nor *);\n\tint (*post_bfpt)(struct spi_nor *, const struct sfdp_parameter_header *, const struct sfdp_bfpt *);\n\tint (*post_sfdp)(struct spi_nor *);\n\tint (*late_init)(struct spi_nor *);\n};\n\nstruct spi_nor_hwcaps {\n\tu32 mask;\n};\n\nstruct spi_nor_read_command {\n\tu8 num_mode_clocks;\n\tu8 num_wait_states;\n\tu8 opcode;\n\tenum spi_nor_protocol proto;\n};\n\nstruct spi_nor_pp_command {\n\tu8 opcode;\n\tenum spi_nor_protocol proto;\n};\n\nstruct spi_nor_otp_ops;\n\nstruct spi_nor_otp {\n\tconst struct spi_nor_otp_organization *org;\n\tconst struct spi_nor_otp_ops *ops;\n};\n\nstruct spi_nor_locking_ops;\n\nstruct spi_nor_flash_parameter {\n\tu64 bank_size;\n\tu64 size;\n\tu32 writesize;\n\tu32 page_size;\n\tu8 addr_nbytes;\n\tu8 addr_mode_nbytes;\n\tu8 rdsr_dummy;\n\tu8 rdsr_addr_nbytes;\n\tu8 n_banks;\n\tu8 n_dice;\n\tu8 die_erase_opcode;\n\tu32 *vreg_offset;\n\tstruct spi_nor_hwcaps hwcaps;\n\tstruct spi_nor_read_command reads[16];\n\tstruct spi_nor_pp_command page_programs[8];\n\tstruct spi_nor_erase_map erase_map;\n\tstruct spi_nor_otp otp;\n\tint (*set_octal_dtr)(struct spi_nor *, bool);\n\tint (*quad_enable)(struct spi_nor *);\n\tint (*set_4byte_addr_mode)(struct spi_nor *, bool);\n\tint (*ready)(struct spi_nor *);\n\tconst struct spi_nor_locking_ops *locking_ops;\n\tvoid *priv;\n};\n\nstruct spi_nor_id {\n\tconst u8 *bytes;\n\tu8 len;\n};\n\nstruct spi_nor_locking_ops {\n\tint (*lock)(struct spi_nor *, loff_t, u64);\n\tint (*unlock)(struct spi_nor *, loff_t, u64);\n\tint (*is_locked)(struct spi_nor *, loff_t, u64);\n};\n\nstruct spi_nor_manufacturer {\n\tconst char *name;\n\tconst struct flash_info___3 *parts;\n\tunsigned int nparts;\n\tconst struct spi_nor_fixups *fixups;\n};\n\nstruct spi_nor_otp_ops {\n\tint (*read)(struct spi_nor *, loff_t, size_t, u8 *);\n\tint (*write)(struct spi_nor *, loff_t, size_t, const u8 *);\n\tint (*lock)(struct spi_nor *, unsigned int);\n\tint (*erase)(struct spi_nor *, loff_t);\n\tint (*is_locked)(struct spi_nor *, unsigned int);\n};\n\nstruct spi_nor_otp_organization {\n\tsize_t len;\n\tloff_t base;\n\tloff_t offset;\n\tunsigned int n_regions;\n};\n\nstruct spi_qup {\n\tvoid *base;\n\tstruct device *dev;\n\tstruct clk *cclk;\n\tstruct clk *iclk;\n\tstruct icc_path *icc_path;\n\tint irq;\n\tspinlock_t lock;\n\tint in_fifo_sz;\n\tint out_fifo_sz;\n\tint in_blk_sz;\n\tint out_blk_sz;\n\tstruct spi_transfer *xfer;\n\tstruct completion done;\n\tint error;\n\tint w_size;\n\tint n_words;\n\tint tx_bytes;\n\tint rx_bytes;\n\tconst u8 *tx_buf;\n\tu8 *rx_buf;\n\tint qup_v1;\n\tint mode;\n\tstruct dma_slave_config rx_conf;\n\tstruct dma_slave_config tx_conf;\n\tu32 bw_speed_hz;\n};\n\nstruct spi_replaced_transfers;\n\ntypedef void (*spi_replaced_release_t)(struct spi_controller *, struct spi_message *, struct spi_replaced_transfers *);\n\nstruct spi_replaced_transfers {\n\tspi_replaced_release_t release;\n\tvoid *extradata;\n\tstruct list_head replaced_transfers;\n\tstruct list_head *replaced_after;\n\tsize_t inserted;\n\tstruct spi_transfer inserted_transfers[0];\n};\n\ntypedef void (*spi_res_release_t)(struct spi_controller *, struct spi_message *, void *);\n\nstruct spi_res {\n\tstruct list_head entry;\n\tspi_res_release_t release;\n\tlong long unsigned int data[0];\n};\n\nstruct spi_statistics {\n\tstruct u64_stats_sync syncp;\n\tu64_stats_t messages;\n\tu64_stats_t transfers;\n\tu64_stats_t errors;\n\tu64_stats_t timedout;\n\tu64_stats_t spi_sync;\n\tu64_stats_t spi_sync_immediate;\n\tu64_stats_t spi_async;\n\tu64_stats_t bytes;\n\tu64_stats_t bytes_rx;\n\tu64_stats_t bytes_tx;\n\tu64_stats_t transfer_bytes_histo[17];\n\tu64_stats_t transfers_split_maxsize;\n};\n\nstruct splice_desc {\n\tsize_t total_len;\n\tunsigned int len;\n\tunsigned int flags;\n\tunion {\n\t\tvoid *userptr;\n\t\tstruct file *file;\n\t\tvoid *data;\n\t} u;\n\tvoid (*splice_eof)(struct splice_desc *);\n\tloff_t pos;\n\tloff_t *opos;\n\tsize_t num_spliced;\n\tbool need_wakeup;\n};\n\nstruct splice_pipe_desc {\n\tstruct page **pages;\n\tstruct partial_page *partial;\n\tint nr_pages;\n\tunsigned int nr_pages_max;\n\tconst struct pipe_buf_operations *ops;\n\tvoid (*spd_release)(struct splice_pipe_desc *, unsigned int);\n};\n\nstruct spmi_controller {\n\tstruct device dev;\n\tunsigned int nr;\n\tint (*cmd)(struct spmi_controller *, u8, u8);\n\tint (*read_cmd)(struct spmi_controller *, u8, u8, u16, u8 *, size_t);\n\tint (*write_cmd)(struct spmi_controller *, u8, u8, u16, const u8 *, size_t);\n};\n\nstruct spmi_device {\n\tstruct device dev;\n\tstruct spmi_controller *ctrl;\n\tu8 usid;\n};\n\nstruct spmi_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct spmi_device *);\n\tvoid (*remove)(struct spmi_device *);\n\tvoid (*shutdown)(struct spmi_device *);\n};\n\nstruct spmi_pmic_arb {\n\tvoid *rd_base;\n\tvoid *wr_base;\n\tvoid *core;\n\tresource_size_t core_size;\n\tu8 channel;\n\tu8 ee;\n\tconst struct pmic_arb_ver_ops *ver_ops;\n\tint max_periphs;\n\tstruct spmi_pmic_arb_bus *buses[2];\n\tint buses_available;\n};\n\nstruct spmi_pmic_arb_bus {\n\tstruct spmi_pmic_arb *pmic_arb;\n\tstruct irq_domain *domain;\n\tvoid *intr;\n\tvoid *cnfg;\n\tstruct spmi_controller *spmic;\n\traw_spinlock_t lock;\n\tu16 base_apid;\n\tint apid_count;\n\tu32 *mapping_table;\n\tlong unsigned int mapping_table_valid[8];\n\tu16 *ppid_to_apid;\n\tu16 last_apid;\n\tstruct apid_data *apid_data;\n\tu16 min_apid;\n\tu16 max_apid;\n\tint irq;\n\tu8 id;\n};\n\nstruct spmi_pmic_arb_qpnpint_type {\n\tu8 type;\n\tu8 polarity_high;\n\tu8 polarity_low;\n};\n\nstruct spmi_voltage_set_points;\n\nstruct spmi_regulator {\n\tstruct regulator_desc desc;\n\tstruct device *dev;\n\tstruct delayed_work ocp_work;\n\tstruct regmap *regmap;\n\tstruct spmi_voltage_set_points *set_points;\n\tenum spmi_regulator_logical_type logical_type;\n\tint ocp_irq;\n\tint ocp_count;\n\tint ocp_max_retries;\n\tint ocp_retry_delay_ms;\n\tint hpm_min_load;\n\tint slew_rate;\n\tktime_t vs_enable_time;\n\tu16 base;\n\tstruct list_head node;\n};\n\nstruct spmi_regulator_data {\n\tconst char *name;\n\tu16 base;\n\tconst char *supply;\n\tconst char *ocp;\n\tu16 force_type;\n};\n\nstruct spmi_regulator_init_data {\n\tunsigned int pin_ctrl_enable;\n\tunsigned int pin_ctrl_hpm;\n\tenum spmi_vs_soft_start_str vs_soft_start_strength;\n};\n\nstruct spmi_regulator_mapping {\n\tenum spmi_regulator_type type;\n\tenum spmi_regulator_subtype subtype;\n\tenum spmi_regulator_logical_type logical_type;\n\tu32 revision_min;\n\tu32 revision_max;\n\tconst struct regulator_ops *ops;\n\tstruct spmi_voltage_set_points *set_points;\n\tint hpm_min_load;\n};\n\nstruct spmi_voltage_range {\n\tint min_uV;\n\tint max_uV;\n\tint step_uV;\n\tint set_point_min_uV;\n\tint set_point_max_uV;\n\tunsigned int n_voltages;\n\tu8 range_sel;\n};\n\nstruct spmi_voltage_set_points {\n\tstruct spmi_voltage_range *range;\n\tint count;\n\tunsigned int n_voltages;\n};\n\nstruct sprd_clk_common {\n\tstruct regmap *regmap;\n\tu32 reg;\n\tstruct clk_hw hw;\n};\n\nstruct sprd_clk_desc {\n\tstruct sprd_clk_common **clk_clks;\n\tlong unsigned int num_clk_clks;\n\tstruct clk_hw_onecell_data *hw_clks;\n};\n\nstruct sprd_mux_ssel {\n\tu8 shift;\n\tu8 width;\n\tconst u8 *table;\n};\n\nstruct sprd_div_internal {\n\ts32 offset;\n\tu8 shift;\n\tu8 width;\n};\n\nstruct sprd_comp {\n\tstruct sprd_mux_ssel mux;\n\tstruct sprd_div_internal div;\n\tstruct sprd_clk_common common;\n};\n\nstruct sprd_div {\n\tstruct sprd_div_internal div;\n\tstruct sprd_clk_common common;\n};\n\nstruct sprd_gate {\n\tu32 enable_mask;\n\tu16 flags;\n\tu16 sc_offset;\n\tu16 udelay;\n\tstruct sprd_clk_common common;\n};\n\nstruct sprd_mux {\n\tstruct sprd_mux_ssel mux;\n\tstruct sprd_clk_common common;\n};\n\nstruct sprd_pll {\n\tu32 regs_num;\n\tconst u64 *itable;\n\tconst struct clk_bit_field *factors;\n\tu16 udelay;\n\tu16 k1;\n\tu16 k2;\n\tu16 fflag;\n\tu64 fvco;\n\tstruct sprd_clk_common common;\n};\n\nstruct squashfs_base_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n};\n\nstruct squashfs_cache_entry;\n\nstruct squashfs_cache {\n\tchar *name;\n\tint entries;\n\tint curr_blk;\n\tint next_blk;\n\tint num_waiters;\n\tint unused;\n\tint block_size;\n\tint pages;\n\tspinlock_t lock;\n\twait_queue_head_t wait_queue;\n\tstruct squashfs_cache_entry *entry;\n};\n\nstruct squashfs_page_actor;\n\nstruct squashfs_cache_entry {\n\tu64 block;\n\tint length;\n\tint refcount;\n\tu64 next_index;\n\tint pending;\n\tint error;\n\tint num_waiters;\n\twait_queue_head_t wait_queue;\n\tstruct squashfs_cache *cache;\n\tvoid **data;\n\tstruct squashfs_page_actor *actor;\n};\n\nstruct squashfs_sb_info;\n\nstruct squashfs_decompressor {\n\tvoid * (*init)(struct squashfs_sb_info *, void *);\n\tvoid * (*comp_opts)(struct squashfs_sb_info *, void *, int);\n\tvoid (*free)(void *);\n\tint (*decompress)(struct squashfs_sb_info *, void *, struct bio *, int, int, struct squashfs_page_actor *);\n\tint id;\n\tchar *name;\n\tint alloc_buffer;\n\tint supported;\n};\n\nstruct squashfs_decompressor_thread_ops {\n\tvoid * (*create)(struct squashfs_sb_info *, void *);\n\tvoid (*destroy)(struct squashfs_sb_info *);\n\tint (*decompress)(struct squashfs_sb_info *, struct bio *, int, int, struct squashfs_page_actor *);\n\tint (*max_decompressors)(void);\n};\n\nstruct squashfs_dev_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 rdev;\n};\n\nstruct squashfs_dir_entry {\n\t__le16 offset;\n\t__le16 inode_number;\n\t__le16 type;\n\t__le16 size;\n\tchar name[0];\n};\n\nstruct squashfs_dir_header {\n\t__le32 count;\n\t__le32 start_block;\n\t__le32 inode_number;\n};\n\nstruct squashfs_dir_index {\n\t__le32 index;\n\t__le32 start_block;\n\t__le32 size;\n\tunsigned char name[0];\n};\n\nstruct squashfs_dir_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 start_block;\n\t__le32 nlink;\n\t__le16 file_size;\n\t__le16 offset;\n\t__le32 parent_inode;\n};\n\nstruct squashfs_fragment_entry {\n\t__le64 start_block;\n\t__le32 size;\n\tunsigned int unused;\n};\n\nstruct squashfs_ldev_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 rdev;\n\t__le32 xattr;\n};\n\nstruct squashfs_symlink_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 symlink_size;\n\tchar symlink[0];\n};\n\nstruct squashfs_reg_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 start_block;\n\t__le32 fragment;\n\t__le32 offset;\n\t__le32 file_size;\n\t__le16 block_list[0];\n};\n\nstruct squashfs_lreg_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le64 start_block;\n\t__le64 file_size;\n\t__le64 sparse;\n\t__le32 nlink;\n\t__le32 fragment;\n\t__le32 offset;\n\t__le32 xattr;\n\t__le16 block_list[0];\n};\n\nstruct squashfs_ldir_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 file_size;\n\t__le32 start_block;\n\t__le32 parent_inode;\n\t__le16 i_count;\n\t__le16 offset;\n\t__le32 xattr;\n\tstruct squashfs_dir_index index[0];\n};\n\nstruct squashfs_ipc_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n};\n\nstruct squashfs_lipc_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 xattr;\n};\n\nunion squashfs_inode {\n\tstruct squashfs_base_inode base;\n\tstruct squashfs_dev_inode dev;\n\tstruct squashfs_ldev_inode ldev;\n\tstruct squashfs_symlink_inode symlink;\n\tstruct squashfs_reg_inode reg;\n\tstruct squashfs_lreg_inode lreg;\n\tstruct squashfs_dir_inode dir;\n\tstruct squashfs_ldir_inode ldir;\n\tstruct squashfs_ipc_inode ipc;\n\tstruct squashfs_lipc_inode lipc;\n};\n\nstruct squashfs_inode_info {\n\tu64 start;\n\tint offset;\n\tu64 xattr;\n\tunsigned int xattr_size;\n\tint xattr_count;\n\tunion {\n\t\tstruct {\n\t\t\tu64 fragment_block;\n\t\t\tint fragment_size;\n\t\t\tint fragment_offset;\n\t\t\tu64 block_list_start;\n\t\t};\n\t\tstruct {\n\t\t\tu64 dir_idx_start;\n\t\t\tint dir_idx_offset;\n\t\t\tint dir_idx_cnt;\n\t\t\tint parent;\n\t\t};\n\t};\n\tstruct inode vfs_inode;\n};\n\nstruct squashfs_mount_opts {\n\tenum Opt_errors errors;\n\tconst struct squashfs_decompressor_thread_ops *thread_ops;\n\tint thread_num;\n};\n\nstruct squashfs_page_actor {\n\tunion {\n\t\tvoid **buffer;\n\t\tstruct page **page;\n\t};\n\tvoid *pageaddr;\n\tvoid *tmp_buffer;\n\tvoid * (*squashfs_first_page)(struct squashfs_page_actor *);\n\tvoid * (*squashfs_next_page)(struct squashfs_page_actor *);\n\tvoid (*squashfs_finish_page)(struct squashfs_page_actor *);\n\tstruct page *last_page;\n\tint pages;\n\tint length;\n\tint next_page;\n\tint alloc_buffer;\n\tint returned_pages;\n\tlong unsigned int next_index;\n};\n\nstruct squashfs_sb_info {\n\tconst struct squashfs_decompressor *decompressor;\n\tint devblksize;\n\tint devblksize_log2;\n\tstruct squashfs_cache *block_cache;\n\tstruct squashfs_cache *fragment_cache;\n\tstruct squashfs_cache *read_page;\n\tstruct address_space *cache_mapping;\n\tint next_meta_index;\n\t__le64 *id_table;\n\t__le64 *fragment_index;\n\t__le64 *xattr_id_table;\n\tstruct mutex meta_index_mutex;\n\tstruct meta_index *meta_index;\n\tvoid *stream;\n\t__le64 *inode_lookup_table;\n\tu64 inode_table;\n\tu64 directory_table;\n\tu64 xattr_table;\n\tunsigned int block_size;\n\tshort unsigned int block_log;\n\tlong long int bytes_used;\n\tunsigned int inodes;\n\tunsigned int fragments;\n\tunsigned int xattr_ids;\n\tunsigned int ids;\n\tbool panic_on_errors;\n\tconst struct squashfs_decompressor_thread_ops *thread_ops;\n\tint max_thread_num;\n};\n\nstruct squashfs_stream {\n\tvoid *stream;\n\tstruct mutex mutex;\n};\n\nstruct squashfs_super_block {\n\t__le32 s_magic;\n\t__le32 inodes;\n\t__le32 mkfs_time;\n\t__le32 block_size;\n\t__le32 fragments;\n\t__le16 compression;\n\t__le16 block_log;\n\t__le16 flags;\n\t__le16 no_ids;\n\t__le16 s_major;\n\t__le16 s_minor;\n\t__le64 root_inode;\n\t__le64 bytes_used;\n\t__le64 id_table_start;\n\t__le64 xattr_id_table_start;\n\t__le64 inode_table_start;\n\t__le64 directory_table_start;\n\t__le64 fragment_table_start;\n\t__le64 lookup_table_start;\n};\n\nstruct squashfs_xattr_id_table {\n\t__le64 xattr_table_start;\n\t__le32 xattr_ids;\n\t__le32 unused;\n};\n\nstruct sr_pcie_phy_core;\n\nstruct sr_pcie_phy {\n\tstruct sr_pcie_phy_core *core;\n\tunsigned int index;\n\tstruct phy *phy;\n};\n\nstruct sr_pcie_phy_core {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct regmap *cdru;\n\tstruct regmap *mhb;\n\tu32 pipemux;\n\tstruct sr_pcie_phy phys[9];\n};\n\nstruct sr_thermal;\n\nstruct sr_tmon {\n\tunsigned int crit_temp;\n\tunsigned int tmon_id;\n\tstruct sr_thermal *priv;\n};\n\nstruct sr_thermal {\n\tvoid *regs;\n\tunsigned int max_crit_temp;\n\tstruct sr_tmon tmon[6];\n};\n\nstruct sram_config {\n\tint (*init)(void);\n\tbool map_only_reserved;\n};\n\nstruct sram_partition;\n\nstruct sram_dev {\n\tconst struct sram_config *config;\n\tstruct device *dev;\n\tvoid *virt_base;\n\tbool no_memory_wc;\n\tstruct gen_pool *pool;\n\tstruct sram_partition *partition;\n\tu32 partitions;\n};\n\nstruct sram_partition {\n\tvoid *base;\n\tstruct gen_pool *pool;\n\tstruct bin_attribute battr;\n\tstruct mutex lock;\n\tstruct list_head list;\n};\n\nstruct sram_reserve {\n\tstruct list_head list;\n\tu32 start;\n\tu32 size;\n\tstruct resource res;\n\tbool export;\n\tbool pool;\n\tbool protect_exec;\n\tconst char *label;\n};\n\nstruct srcu_data {\n\tatomic_long_t srcu_lock_count[2];\n\tatomic_long_t srcu_unlock_count[2];\n\tint srcu_reader_flavor;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t lock;\n\tstruct rcu_segcblist srcu_cblist;\n\tlong unsigned int srcu_gp_seq_needed;\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tbool srcu_cblist_invoking;\n\tstruct timer_list delay_work;\n\tstruct work_struct work;\n\tstruct callback_head srcu_barrier_head;\n\tstruct srcu_node *mynode;\n\tlong unsigned int grpmask;\n\tint cpu;\n\tstruct srcu_struct *ssp;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct srcu_node {\n\tspinlock_t lock;\n\tlong unsigned int srcu_have_cbs[4];\n\tlong unsigned int srcu_data_have_cbs[4];\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tstruct srcu_node *srcu_parent;\n\tint grplo;\n\tint grphi;\n};\n\nstruct ssp_response_iu {\n\tu8 _r_a[10];\n\tu8 datapres: 2;\n\tu8 _r_b: 6;\n\tu8 status;\n\tu32 _r_c;\n\t__be32 sense_data_len;\n\t__be32 response_data_len;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_resp_data;\n\t\t\tu8 resp_data[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_sense_data;\n\t\t\tu8 sense_data[0];\n\t\t};\n\t};\n};\n\nstruct sst25l_flash {\n\tstruct spi_device *spi;\n\tstruct mutex lock;\n\tstruct mtd_info mtd;\n};\n\nstruct ssusb_mtk {\n\tstruct device *dev;\n\tstruct mtu3 *u3d;\n\tvoid *mac_base;\n\tvoid *ippc_base;\n\tstruct phy **phys;\n\tint num_phys;\n\tint wakeup_irq;\n\tstruct regulator *vusb33;\n\tstruct clk_bulk_data clks[6];\n\tstruct otg_switch_mtk otg_switch;\n\tenum usb_dr_mode dr_mode;\n\tbool is_host;\n\tint u2_ports;\n\tint u3_ports;\n\tint u2p_dis_msk;\n\tint u3p_dis_msk;\n\tstruct dentry *dbgfs_root;\n\tbool uwk_en;\n\tstruct regmap *uwk;\n\tu32 uwk_reg_base;\n\tu32 uwk_vers;\n};\n\nstruct stack_entry {\n\tstruct trace_entry ent;\n\tint size;\n\tlong unsigned int caller[0];\n};\n\nstruct stack_map_bucket {\n\tstruct pcpu_freelist_node fnode;\n\tu32 hash;\n\tu32 nr;\n\tu64 data[0];\n};\n\nstruct stack_record {\n\tstruct list_head hash_list;\n\tu32 hash;\n\tu32 size;\n\tunion handle_parts handle;\n\trefcount_t count;\n\tunion {\n\t\tlong unsigned int entries[64];\n\t\tstruct {\n\t\t\tstruct list_head free_list;\n\t\t\tlong unsigned int rcu_state;\n\t\t};\n\t};\n};\n\nstruct stacktrace_cookie {\n\tlong unsigned int *store;\n\tunsigned int size;\n\tunsigned int skip;\n\tunsigned int len;\n};\n\nstruct stage2_age_data {\n\tbool mkold;\n\tbool young;\n};\n\nstruct stage2_attr_data {\n\tkvm_pte_t attr_set;\n\tkvm_pte_t attr_clr;\n\tkvm_pte_t pte;\n\ts8 level;\n};\n\nstruct stage2_map_data {\n\tconst u64 phys;\n\tkvm_pte_t attr;\n\tu8 owner_id;\n\tkvm_pte_t *anchor;\n\tkvm_pte_t *childp;\n\tstruct kvm_s2_mmu *mmu;\n\tvoid *memcache;\n\tbool force_pte;\n\tbool annotation;\n};\n\nstruct start_info {\n\tchar magic[32];\n\tlong unsigned int nr_pages;\n\tlong unsigned int shared_info;\n\tuint32_t flags;\n\txen_pfn_t store_mfn;\n\tuint32_t store_evtchn;\n\tunion {\n\t\tstruct {\n\t\t\txen_pfn_t mfn;\n\t\t\tuint32_t evtchn;\n\t\t} domU;\n\t\tstruct {\n\t\t\tuint32_t info_off;\n\t\t\tuint32_t info_size;\n\t\t} dom0;\n\t} console;\n\tlong unsigned int pt_base;\n\tlong unsigned int nr_pt_frames;\n\tlong unsigned int mfn_list;\n\tlong unsigned int mod_start;\n\tlong unsigned int mod_len;\n\tint8_t cmd_line[1024];\n\tlong unsigned int first_p2m_pfn;\n\tlong unsigned int nr_p2m_frames;\n};\n\nstruct stashed_operations {\n\tvoid (*put_data)(void *);\n\tint (*init_inode)(struct inode *, void *);\n};\n\nstruct stat {\n\tlong unsigned int st_dev;\n\tlong unsigned int st_ino;\n\tunsigned int st_mode;\n\tunsigned int st_nlink;\n\tunsigned int st_uid;\n\tunsigned int st_gid;\n\tlong unsigned int st_rdev;\n\tlong unsigned int __pad1;\n\tlong int st_size;\n\tint st_blksize;\n\tint __pad2;\n\tlong int st_blocks;\n\tlong int st_atime;\n\tlong unsigned int st_atime_nsec;\n\tlong int st_mtime;\n\tlong unsigned int st_mtime_nsec;\n\tlong int st_ctime;\n\tlong unsigned int st_ctime_nsec;\n\tunsigned int __unused4;\n\tunsigned int __unused5;\n};\n\nstruct stat64 {\n\tcompat_u64 st_dev;\n\tunsigned char __pad0[4];\n\tcompat_ulong_t __st_ino;\n\tcompat_uint_t st_mode;\n\tcompat_uint_t st_nlink;\n\tcompat_ulong_t st_uid;\n\tcompat_ulong_t st_gid;\n\tcompat_u64 st_rdev;\n\tunsigned char __pad3[4];\n\tcompat_s64 st_size;\n\tcompat_ulong_t st_blksize;\n\tcompat_u64 st_blocks;\n\tcompat_ulong_t st_atime;\n\tcompat_ulong_t st_atime_nsec;\n\tcompat_ulong_t st_mtime;\n\tcompat_ulong_t st_mtime_nsec;\n\tcompat_ulong_t st_ctime;\n\tcompat_ulong_t st_ctime_nsec;\n\tcompat_u64 st_ino;\n};\n\nstruct stat_node {\n\tstruct rb_node node;\n\tvoid *stat;\n};\n\nstruct tracer_stat;\n\nstruct stat_session {\n\tstruct list_head session_list;\n\tstruct tracer_stat *ts;\n\tstruct rb_root stat_root;\n\tstruct mutex stat_mutex;\n\tstruct dentry *file;\n};\n\nstruct statfs {\n\t__kernel_long_t f_type;\n\t__kernel_long_t f_bsize;\n\t__kernel_long_t f_blocks;\n\t__kernel_long_t f_bfree;\n\t__kernel_long_t f_bavail;\n\t__kernel_long_t f_files;\n\t__kernel_long_t f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__kernel_long_t f_namelen;\n\t__kernel_long_t f_frsize;\n\t__kernel_long_t f_flags;\n\t__kernel_long_t f_spare[4];\n};\n\nstruct statfs64 {\n\t__kernel_long_t f_type;\n\t__kernel_long_t f_bsize;\n\t__u64 f_blocks;\n\t__u64 f_bfree;\n\t__u64 f_bavail;\n\t__u64 f_files;\n\t__u64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__kernel_long_t f_namelen;\n\t__kernel_long_t f_frsize;\n\t__kernel_long_t f_flags;\n\t__kernel_long_t f_spare[4];\n};\n\nstruct static_call_key {\n\tvoid *func;\n};\n\nstruct static_key_mod;\n\nstruct static_key {\n\tatomic_t enabled;\n\tunion {\n\t\tlong unsigned int type;\n\t\tstruct jump_entry *entries;\n\t\tstruct static_key_mod *next;\n\t};\n};\n\nstruct static_key_deferred {\n\tstruct static_key key;\n\tlong unsigned int timeout;\n\tstruct delayed_work work;\n};\n\nstruct static_key_false {\n\tstruct static_key key;\n};\n\nstruct static_key_mod {\n\tstruct static_key_mod *next;\n\tstruct jump_entry *entries;\n\tstruct module *mod;\n};\n\nstruct static_key_true {\n\tstruct static_key key;\n};\n\nstruct static_tree_desc_s {\n\tconst ct_data *static_tree;\n\tconst int *extra_bits;\n\tint extra_base;\n\tint elems;\n\tint max_length;\n};\n\nstruct stats_reply_data {\n\tstruct ethnl_reply_data base;\n\tunion {\n\t\tstruct {\n\t\t\tstruct ethtool_eth_phy_stats phy_stats;\n\t\t\tstruct ethtool_eth_mac_stats mac_stats;\n\t\t\tstruct ethtool_eth_ctrl_stats ctrl_stats;\n\t\t\tstruct ethtool_rmon_stats rmon_stats;\n\t\t\tstruct ethtool_phy_stats phydev_stats;\n\t\t};\n\t\tstruct {\n\t\t\tstruct ethtool_eth_phy_stats phy_stats;\n\t\t\tstruct ethtool_eth_mac_stats mac_stats;\n\t\t\tstruct ethtool_eth_ctrl_stats ctrl_stats;\n\t\t\tstruct ethtool_rmon_stats rmon_stats;\n\t\t\tstruct ethtool_phy_stats phydev_stats;\n\t\t} stats;\n\t};\n\tconst struct ethtool_rmon_hist_range *rmon_ranges;\n};\n\nstruct stats_req_info {\n\tstruct ethnl_req_info base;\n\tlong unsigned int stat_mask[1];\n\tenum ethtool_mac_stats_src src;\n};\n\nstruct statx_timestamp {\n\t__s64 tv_sec;\n\t__u32 tv_nsec;\n\t__s32 __reserved;\n};\n\nstruct statx {\n\t__u32 stx_mask;\n\t__u32 stx_blksize;\n\t__u64 stx_attributes;\n\t__u32 stx_nlink;\n\t__u32 stx_uid;\n\t__u32 stx_gid;\n\t__u16 stx_mode;\n\t__u16 __spare0[1];\n\t__u64 stx_ino;\n\t__u64 stx_size;\n\t__u64 stx_blocks;\n\t__u64 stx_attributes_mask;\n\tstruct statx_timestamp stx_atime;\n\tstruct statx_timestamp stx_btime;\n\tstruct statx_timestamp stx_ctime;\n\tstruct statx_timestamp stx_mtime;\n\t__u32 stx_rdev_major;\n\t__u32 stx_rdev_minor;\n\t__u32 stx_dev_major;\n\t__u32 stx_dev_minor;\n\t__u64 stx_mnt_id;\n\t__u32 stx_dio_mem_align;\n\t__u32 stx_dio_offset_align;\n\t__u64 stx_subvol;\n\t__u32 stx_atomic_write_unit_min;\n\t__u32 stx_atomic_write_unit_max;\n\t__u32 stx_atomic_write_segments_max;\n\t__u32 stx_dio_read_offset_align;\n\t__u64 __spare3[9];\n};\n\nstruct step_hook {\n\tstruct list_head node;\n\tint (*fn)(struct pt_regs *, long unsigned int);\n};\n\nstruct stm32_desc_function {\n\tconst char *name;\n\tconst unsigned char num;\n};\n\nstruct stm32_desc_pin {\n\tstruct pinctrl_pin_desc pin;\n\tconst struct stm32_desc_function functions[18];\n\tconst unsigned int pkg;\n};\n\nstruct stm32_div_cfg {\n\tu16 offset;\n\tu8 shift;\n\tu8 width;\n\tu8 flags;\n\tu8 ready;\n\tconst struct clk_div_table *table;\n};\n\nstruct stm32_firewall_controller;\n\nstruct stm32_firewall {\n\tstruct stm32_firewall_controller *firewall_ctrl;\n\tu32 extra_args[5];\n\tconst char *entry;\n\tsize_t extra_args_size;\n\tu32 firewall_id;\n};\n\nstruct stm32_firewall_controller {\n\tconst char *name;\n\tstruct device *dev;\n\tvoid *mmio;\n\tstruct list_head entry;\n\tunsigned int type;\n\tunsigned int max_entries;\n\tint (*grant_access)(struct stm32_firewall_controller *, u32);\n\tvoid (*release_access)(struct stm32_firewall_controller *, u32);\n\tint (*grant_memory_range_access)(struct stm32_firewall_controller *, phys_addr_t, size_t);\n};\n\nstruct stm32_gate_cfg {\n\tu16 offset;\n\tu8 bit_idx;\n\tu8 set_clr;\n};\n\nstruct stm32_gpio_bank {\n\tvoid *base;\n\tstruct reset_control *rstc;\n\tspinlock_t lock;\n\tstruct gpio_chip gpio_chip;\n\tstruct pinctrl_gpio_range range;\n\tstruct fwnode_handle *fwnode;\n\tstruct irq_domain *domain;\n\tu32 bank_nr;\n\tu32 bank_ioport_nr;\n\tu32 pin_backup[16];\n\tu8 irq_type[16];\n\tbool secure_control;\n};\n\nstruct stm32_iwdg_data;\n\nstruct stm32_iwdg {\n\tstruct watchdog_device wdd;\n\tconst struct stm32_iwdg_data *data;\n\tvoid *regs;\n\tstruct clk *clk_lsi;\n\tstruct clk *clk_pclk;\n\tunsigned int rate;\n};\n\nstruct stm32_iwdg_data {\n\tbool has_pclk;\n\tbool has_early_wakeup;\n\tu32 max_prescaler;\n};\n\nstruct stm32_mux_cfg {\n\tu16 offset;\n\tu8 shift;\n\tu8 width;\n\tu8 flags;\n\tu32 *table;\n\tu8 ready;\n};\n\nstruct stm32_pinctrl_group;\n\nstruct stm32_pinctrl_match_data;\n\nstruct stm32_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctl_dev;\n\tstruct pinctrl_desc pctl_desc;\n\tstruct stm32_pinctrl_group *groups;\n\tunsigned int ngroups;\n\tconst char **grp_names;\n\tstruct stm32_gpio_bank *banks;\n\tstruct clk_bulk_data *clks;\n\tunsigned int nbanks;\n\tconst struct stm32_pinctrl_match_data *match_data;\n\tstruct irq_domain *domain;\n\tstruct regmap *regmap;\n\tstruct regmap_field *irqmux[16];\n\tstruct hwspinlock *hwlock;\n\tstruct stm32_desc_pin *pins;\n\tu32 npins;\n\tu32 pkg;\n\tu16 irqmux_map;\n\tspinlock_t irqmux_lock;\n};\n\nstruct stm32_pinctrl_group {\n\tconst char *name;\n\tlong unsigned int config;\n\tunsigned int pin;\n};\n\nstruct stm32_pinctrl_match_data {\n\tconst struct stm32_desc_pin *pins;\n\tconst unsigned int npins;\n\tbool secure_control;\n};\n\nstruct stm32_usart_info;\n\nstruct stm32_port {\n\tstruct uart_port port;\n\tstruct clk *clk;\n\tconst struct stm32_usart_info *info;\n\tstruct dma_chan *rx_ch;\n\tdma_addr_t rx_dma_buf;\n\tunsigned char *rx_buf;\n\tstruct dma_chan *tx_ch;\n\tdma_addr_t tx_dma_buf;\n\tunsigned char *tx_buf;\n\tu32 cr1_irq;\n\tu32 cr3_irq;\n\tint last_res;\n\tbool tx_dma_busy;\n\tbool rx_dma_busy;\n\tbool throttled;\n\tbool hw_flow_control;\n\tbool swap;\n\tbool fifoen;\n\tint rxftcfg;\n\tint txftcfg;\n\tbool wakeup_src;\n\tint rdr_mask;\n\tstruct mctrl_gpios *gpios;\n\tstruct dma_tx_state rx_dma_state;\n};\n\nstruct stm32_rcc_match_data {\n\tstruct clk_hw_onecell_data *hw_clks;\n\tunsigned int num_clocks;\n\tconst struct clock_config *tab_clocks;\n\tunsigned int maxbinding;\n\tstruct clk_stm32_clock_data *clock_data;\n\tstruct clk_stm32_reset_data *reset_data;\n\tint (*check_security)(struct device_node *, void *, const struct clock_config *);\n\tint (*multi_mux)(void *, const struct clock_config *);\n};\n\nstruct stm32_reset_cfg {\n\tu16 offset;\n\tu8 bit_idx;\n\tbool set_clr;\n};\n\nstruct stm32_reset_data {\n\tspinlock_t lock;\n\tstruct reset_controller_dev rcdev;\n\tvoid *membase;\n\tu32 clear_offset;\n\tconst struct stm32_reset_cfg **reset_lines;\n};\n\nstruct stm32_rng_config {\n\tu32 cr;\n\tu32 nscr;\n\tu32 htcr;\n};\n\nstruct stm32_rng_data {\n\tuint max_clock_rate;\n\tuint nb_clock;\n\tu32 cr;\n\tu32 nscr;\n\tu32 htcr;\n\tbool has_cond_reset;\n};\n\nstruct stm32_rng_private {\n\tstruct hwrng rng;\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk_bulk_data *clk_bulk;\n\tstruct reset_control *rst;\n\tstruct stm32_rng_config pm_conf;\n\tconst struct stm32_rng_data *data;\n\tbool ced;\n\tbool lock_conf;\n};\n\nstruct stm32_usart_config {\n\tu8 uart_enable_bit;\n\tbool has_7bits_data;\n\tbool has_swap;\n\tbool has_wakeup;\n\tbool has_fifo;\n};\n\nstruct stm32_usart_offsets {\n\tu16 cr1;\n\tu16 cr2;\n\tu16 cr3;\n\tu16 brr;\n\tu16 gtpr;\n\tu16 rtor;\n\tu16 rqr;\n\tu16 isr;\n\tu16 icr;\n\tu16 rdr;\n\tu16 tdr;\n\tu16 presc;\n\tu16 hwcfgr1;\n};\n\nstruct stm32_usart_info {\n\tstruct stm32_usart_offsets ofs;\n\tstruct stm32_usart_config cfg;\n};\n\nstruct stm32_usart_thresh_ratio {\n\tint mul;\n\tint div;\n};\n\nstruct stm32mp_exti_bank {\n\tu32 imr_ofst;\n\tu32 rtsr_ofst;\n\tu32 ftsr_ofst;\n\tu32 swier_ofst;\n\tu32 rpr_ofst;\n\tu32 fpr_ofst;\n\tu32 trg_ofst;\n\tu32 seccfgr_ofst;\n};\n\nstruct stm32mp_exti_host_data;\n\nstruct stm32mp_exti_chip_data {\n\tstruct stm32mp_exti_host_data *host_data;\n\tconst struct stm32mp_exti_bank *reg_bank;\n\tstruct raw_spinlock rlock;\n\tu32 wake_active;\n\tu32 mask_cache;\n\tu32 rtsr_cache;\n\tu32 ftsr_cache;\n\tu32 event_reserved;\n};\n\nstruct stm32mp_exti_drv_data {\n\tconst struct stm32mp_exti_bank **exti_banks;\n\tconst u8 *desc_irqs;\n\tu32 bank_nr;\n};\n\nstruct stm32mp_exti_host_data {\n\tvoid *base;\n\tstruct device *dev;\n\tstruct stm32mp_exti_chip_data *chips_data;\n\tconst struct stm32mp_exti_drv_data *drv_data;\n\tstruct hwspinlock *hwlock;\n\tbool dt_has_irqs_desc;\n};\n\nstruct stop_event_data {\n\tstruct perf_event *event;\n\tunsigned int restart;\n};\n\nstruct strarray {\n\tchar **array;\n\tsize_t n;\n};\n\nstruct stratix10_clock_data {\n\tvoid *base;\n\tstruct clk_hw_onecell_data clk_data;\n};\n\nstruct stratix10_gate_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tconst struct clk_parent_data *parent_data;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tlong unsigned int gate_reg;\n\tu8 gate_idx;\n\tlong unsigned int div_reg;\n\tu8 div_offset;\n\tu8 div_width;\n\tlong unsigned int bypass_reg;\n\tu8 bypass_shift;\n\tu8 fixed_div;\n};\n\nstruct stratix10_perip_c_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tconst struct clk_parent_data *parent_data;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n};\n\nstruct stratix10_perip_cnt_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent_name;\n\tconst struct clk_parent_data *parent_data;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n\tu8 fixed_divider;\n\tlong unsigned int bypass_reg;\n\tlong unsigned int bypass_shift;\n};\n\nstruct stratix10_pll_clock {\n\tunsigned int id;\n\tconst char *name;\n\tconst struct clk_parent_data *parent_data;\n\tu8 num_parents;\n\tlong unsigned int flags;\n\tlong unsigned int offset;\n};\n\nstruct stratix10_svc {\n\tstruct platform_device *stratix10_svc_rsu;\n\tstruct platform_device *intel_svc_fcs;\n};\n\nstruct stratix10_svc_cb_data {\n\tu32 status;\n\tvoid *kaddr1;\n\tvoid *kaddr2;\n\tvoid *kaddr3;\n};\n\nstruct stratix10_svc_controller;\n\nstruct stratix10_svc_client;\n\nstruct stratix10_svc_chan {\n\tstruct stratix10_svc_controller *ctrl;\n\tstruct stratix10_svc_client *scl;\n\tchar *name;\n\tspinlock_t lock;\n};\n\nstruct stratix10_svc_client {\n\tstruct device *dev;\n\tvoid (*receive_cb)(struct stratix10_svc_client *, struct stratix10_svc_cb_data *);\n\tvoid *priv;\n};\n\nstruct stratix10_svc_client_msg {\n\tvoid *payload;\n\tsize_t payload_length;\n\tvoid *payload_output;\n\tsize_t payload_length_output;\n\tenum stratix10_svc_command_code command;\n\tu64 arg[3];\n};\n\nstruct stratix10_svc_command_config_type {\n\tu32 flags;\n};\n\ntypedef void svc_invoke_fn(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, struct arm_smccc_res *);\n\nstruct stratix10_svc_controller {\n\tstruct device *dev;\n\tstruct stratix10_svc_chan *chans;\n\tint num_chans;\n\tint num_active_client;\n\tstruct list_head node;\n\tstruct gen_pool *genpool;\n\tstruct task_struct *task;\n\tstruct kfifo svc_fifo;\n\tstruct completion complete_status;\n\tspinlock_t svc_fifo_lock;\n\tsvc_invoke_fn *invoke_fn;\n};\n\nstruct stratix10_svc_data {\n\tstruct stratix10_svc_chan *chan;\n\tphys_addr_t paddr;\n\tsize_t size;\n\tphys_addr_t paddr_output;\n\tsize_t size_output;\n\tu32 command;\n\tu32 flag;\n\tu64 arg[3];\n};\n\nstruct stratix10_svc_data_mem {\n\tvoid *vaddr;\n\tphys_addr_t paddr;\n\tsize_t size;\n\tstruct list_head node;\n};\n\nstruct stratix10_svc_sh_memory {\n\tstruct completion sync_complete;\n\tlong unsigned int addr;\n\tlong unsigned int size;\n\tsvc_invoke_fn *invoke_fn;\n};\n\nstruct streamid_data {\n\tunion {\n\t\tu8 dmac[6];\n\t\tu8 smac[6];\n\t};\n\tu16 vid_vidm_tg;\n};\n\nstruct strset_info {\n\tbool per_dev;\n\tbool free_strings;\n\tunsigned int count;\n\tconst char (*strings)[32];\n};\n\nstruct strset_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct strset_info sets[23];\n};\n\nstruct strset_req_info {\n\tstruct ethnl_req_info base;\n\tu32 req_ids;\n\tbool counts_only;\n};\n\nstruct subprocess_info {\n\tstruct work_struct work;\n\tstruct completion *complete;\n\tconst char *path;\n\tchar **argv;\n\tchar **envp;\n\tint wait;\n\tint retval;\n\tint (*init)(struct subprocess_info *, struct cred *);\n\tvoid (*cleanup)(struct subprocess_info *);\n\tvoid *data;\n};\n\nstruct subsys_dev_iter {\n\tstruct klist_iter ki;\n\tconst struct device_type *type;\n};\n\nstruct subsys_interface {\n\tconst char *name;\n\tconst struct bus_type *subsys;\n\tstruct list_head node;\n\tint (*add_dev)(struct device *, struct subsys_interface *);\n\tvoid (*remove_dev)(struct device *, struct subsys_interface *);\n};\n\nstruct subsys_private {\n\tstruct kset subsys;\n\tstruct kset *devices_kset;\n\tstruct list_head interfaces;\n\tstruct mutex mutex;\n\tstruct kset *drivers_kset;\n\tstruct klist klist_devices;\n\tstruct klist klist_drivers;\n\tstruct blocking_notifier_head bus_notifier;\n\tunsigned int drivers_autoprobe: 1;\n\tconst struct bus_type *bus;\n\tstruct device *dev_root;\n\tstruct kset glue_dirs;\n\tconst struct class *class;\n\tstruct lock_class_key lock_key;\n};\n\nstruct sugov_policy;\n\nstruct sugov_cpu {\n\tstruct update_util_data update_util;\n\tstruct sugov_policy *sg_policy;\n\tunsigned int cpu;\n\tbool iowait_boost_pending;\n\tunsigned int iowait_boost;\n\tu64 last_update;\n\tlong unsigned int util;\n\tlong unsigned int bw_min;\n\tlong unsigned int saved_idle_calls;\n};\n\nstruct sugov_tunables;\n\nstruct sugov_policy {\n\tstruct cpufreq_policy *policy;\n\tstruct sugov_tunables *tunables;\n\tstruct list_head tunables_hook;\n\traw_spinlock_t update_lock;\n\tu64 last_freq_update_time;\n\ts64 freq_update_delay_ns;\n\tunsigned int next_freq;\n\tunsigned int cached_raw_freq;\n\tstruct irq_work irq_work;\n\tstruct kthread_work work;\n\tstruct mutex work_lock;\n\tstruct kthread_worker worker;\n\tstruct task_struct *thread;\n\tbool work_in_progress;\n\tbool limits_changed;\n\tbool need_freq_update;\n};\n\nstruct sugov_tunables {\n\tstruct gov_attr_set attr_set;\n\tunsigned int rate_limit_us;\n};\n\nstruct summary_data {\n\tstruct seq_file *s;\n\tstruct regulator_dev *parent;\n\tint level;\n};\n\nstruct summary_lock_data {\n\tstruct ww_acquire_ctx *ww_ctx;\n\tstruct regulator_dev **new_contended_rdev;\n\tstruct regulator_dev **old_contended_rdev;\n};\n\nstruct sun20i_regulator_data {\n\tconst struct regulator_desc *descs;\n\tunsigned int ndescs;\n};\n\nstruct sun4i_usb_phy {\n\tstruct phy *phy;\n\tvoid *pmu;\n\tstruct regulator *vbus;\n\tstruct reset_control *reset;\n\tstruct clk *clk;\n\tstruct clk *clk2;\n\tbool regulator_on;\n\tint index;\n};\n\nstruct sun4i_usb_phy_cfg {\n\tint num_phys;\n\tint hsic_index;\n\tu32 disc_thresh;\n\tu32 hci_phy_ctl_clear;\n\tu8 phyctl_offset;\n\tbool dedicated_clocks;\n\tbool phy0_dual_route;\n\tbool needs_phy2_siddq;\n\tbool siddq_in_base;\n\tbool poll_vbusen;\n\tint missing_phys;\n};\n\nstruct sun4i_usb_phy_data {\n\tvoid *base;\n\tconst struct sun4i_usb_phy_cfg *cfg;\n\tenum usb_dr_mode dr_mode;\n\tspinlock_t reg_lock;\n\tstruct sun4i_usb_phy phys[4];\n\tstruct extcon_dev *extcon;\n\tbool phy0_init;\n\tstruct gpio_desc *id_det_gpio;\n\tstruct gpio_desc *vbus_det_gpio;\n\tstruct power_supply *vbus_power_supply;\n\tstruct notifier_block vbus_power_nb;\n\tbool vbus_power_nb_registered;\n\tbool force_session_end;\n\tint id_det_irq;\n\tint vbus_det_irq;\n\tint id_det;\n\tint vbus_det;\n\tstruct delayed_work detect;\n};\n\nstruct sun6i_msgbox {\n\tstruct mbox_controller controller;\n\tstruct clk *clk;\n\tspinlock_t lock;\n\tvoid *regs;\n};\n\nstruct sun6i_r_intc_variant {\n\tu32 first_mux_irq;\n\tu32 nr_mux_irqs;\n\tu32 mux_valid[4];\n};\n\nstruct sun6i_rtc_clk_data {\n\tlong unsigned int rc_osc_rate;\n\tunsigned int fixed_prescaler: 16;\n\tunsigned int has_prescaler: 1;\n\tunsigned int has_out_clk: 1;\n\tunsigned int has_losc_en: 1;\n\tunsigned int has_auto_swt: 1;\n};\n\nstruct sun6i_rtc_dev {\n\tstruct rtc_device *rtc;\n\tconst struct sun6i_rtc_clk_data *data;\n\tvoid *base;\n\tint irq;\n\ttime64_t alarm;\n\tlong unsigned int flags;\n\tstruct clk_hw hw;\n\tstruct clk_hw *int_osc;\n\tstruct clk *losc;\n\tstruct clk *ext_losc;\n\tspinlock_t lock;\n};\n\nstruct sun6i_rtc_match_data {\n\tbool have_ext_osc32k: 1;\n\tbool have_iosc_calibration: 1;\n\tbool rtc_32k_single_parent: 1;\n\tconst struct clk_parent_data *osc32k_fanout_parents;\n\tu8 osc32k_fanout_nparents;\n};\n\nstruct sun6i_spi_cfg;\n\nstruct sun6i_spi {\n\tstruct spi_controller *host;\n\tvoid *base_addr;\n\tdma_addr_t dma_addr_rx;\n\tdma_addr_t dma_addr_tx;\n\tstruct clk *hclk;\n\tstruct clk *mclk;\n\tstruct reset_control *rstc;\n\tstruct completion done;\n\tstruct completion dma_rx_done;\n\tconst u8 *tx_buf;\n\tu8 *rx_buf;\n\tint len;\n\tconst struct sun6i_spi_cfg *cfg;\n};\n\nstruct sun6i_spi_cfg {\n\tlong unsigned int fifo_depth;\n\tbool has_clk_ctl;\n\tu32 mode_bits;\n};\n\nstruct sunrpc_net {\n\tstruct proc_dir_entry *proc_net_rpc;\n\tstruct cache_detail *ip_map_cache;\n\tstruct cache_detail *unix_gid_cache;\n\tstruct cache_detail *rsc_cache;\n\tstruct cache_detail *rsi_cache;\n\tstruct super_block *pipefs_sb;\n\tstruct rpc_pipe *gssd_dummy;\n\tstruct mutex pipefs_sb_lock;\n\tstruct list_head all_clients;\n\tspinlock_t rpc_client_lock;\n\tstruct rpc_clnt *rpcb_local_clnt;\n\tstruct rpc_clnt *rpcb_local_clnt4;\n\tspinlock_t rpcb_clnt_lock;\n\tunsigned int rpcb_users;\n\tunsigned int rpcb_is_af_local: 1;\n\tstruct mutex gssp_lock;\n\tstruct rpc_clnt *gssp_clnt;\n\tint use_gss_proxy;\n\tint pipe_version;\n\tatomic_t pipe_users;\n\tstruct proc_dir_entry *use_gssp_proc;\n\tstruct proc_dir_entry *gss_krb5_enctypes;\n};\n\nstruct sunxi_ccu_desc;\n\nstruct sunxi_ccu {\n\tconst struct sunxi_ccu_desc *desc;\n\tspinlock_t lock;\n\tstruct ccu_reset reset;\n};\n\nstruct sunxi_ccu_desc {\n\tstruct ccu_common **ccu_clks;\n\tlong unsigned int num_ccu_clks;\n\tstruct clk_hw_onecell_data *hw_clks;\n\tconst struct ccu_reset_map *resets;\n\tlong unsigned int num_resets;\n};\n\nstruct sunxi_desc_function {\n\tlong unsigned int variant;\n\tconst char *name;\n\tu8 muxval;\n\tu8 irqbank;\n\tu8 irqnum;\n};\n\nstruct sunxi_desc_pin {\n\tstruct pinctrl_pin_desc pin;\n\tlong unsigned int variant;\n\tstruct sunxi_desc_function *functions;\n};\n\nstruct sunxi_glue {\n\tstruct device *dev;\n\tstruct musb *musb;\n\tstruct platform_device *musb_pdev;\n\tstruct clk *clk;\n\tstruct reset_control *rst;\n\tstruct phy *phy;\n\tstruct platform_device *usb_phy;\n\tstruct usb_phy *xceiv;\n\tenum phy_mode phy_mode;\n\tlong unsigned int flags;\n\tstruct work_struct work;\n\tstruct extcon_dev *extcon;\n\tstruct notifier_block host_nb;\n};\n\nstruct sunxi_idma_des {\n\t__le32 config;\n\t__le32 buf_size;\n\t__le32 buf_addr_ptr1;\n\t__le32 buf_addr_ptr2;\n};\n\nstruct sunxi_mmc_clk_delay;\n\nstruct sunxi_mmc_cfg {\n\tu32 idma_des_size_bits;\n\tu32 idma_des_shift;\n\tconst struct sunxi_mmc_clk_delay *clk_delays;\n\tbool can_calibrate;\n\tbool mask_data0;\n\tbool needs_new_timings;\n\tbool ccu_has_timings_switch;\n};\n\nstruct sunxi_mmc_clk_delay {\n\tu32 output;\n\tu32 sample;\n};\n\nstruct sunxi_mmc_host {\n\tstruct device *dev;\n\tstruct mmc_host *mmc;\n\tstruct reset_control *reset;\n\tconst struct sunxi_mmc_cfg *cfg;\n\tvoid *reg_base;\n\tstruct clk *clk_ahb;\n\tstruct clk *clk_mmc;\n\tstruct clk *clk_sample;\n\tstruct clk *clk_output;\n\tspinlock_t lock;\n\tint irq;\n\tu32 int_sum;\n\tu32 sdio_imask;\n\tdma_addr_t sg_dma;\n\tvoid *sg_cpu;\n\tbool wait_dma;\n\tstruct mmc_request *mrq;\n\tstruct mmc_request *manual_stop_mrq;\n\tint ferror;\n\tbool vqmmc_enabled;\n\tbool use_new_timings;\n};\n\nstruct sunxi_musb_cfg {\n\tconst struct musb_hdrc_config *hdrc_config;\n\tbool has_sram;\n\tbool has_reset;\n\tbool no_configdata;\n};\n\nstruct sunxi_pinctrl_regulator {\n\tstruct regulator *regulator;\n\trefcount_t refcount;\n};\n\nstruct sunxi_pinctrl_desc;\n\nstruct sunxi_pinctrl_function;\n\nstruct sunxi_pinctrl_group;\n\nstruct sunxi_pinctrl {\n\tvoid *membase;\n\tstruct gpio_chip *chip;\n\tconst struct sunxi_pinctrl_desc *desc;\n\tstruct device *dev;\n\tstruct sunxi_pinctrl_regulator regulators[9];\n\tstruct irq_domain *domain;\n\tstruct sunxi_pinctrl_function *functions;\n\tunsigned int nfunctions;\n\tstruct sunxi_pinctrl_group *groups;\n\tunsigned int ngroups;\n\tint *irq;\n\tunsigned int *irq_array;\n\traw_spinlock_t lock;\n\tstruct pinctrl_dev *pctl_dev;\n\tlong unsigned int variant;\n\tu32 bank_mem_size;\n\tu32 pull_regs_offset;\n\tu32 dlevel_field_width;\n};\n\nstruct sunxi_pinctrl_desc {\n\tconst struct sunxi_desc_pin *pins;\n\tint npins;\n\tunsigned int pin_base;\n\tunsigned int irq_banks;\n\tconst unsigned int *irq_bank_map;\n\tbool irq_read_needs_mux;\n\tbool disable_strict_mode;\n\tenum sunxi_desc_bias_voltage io_bias_cfg_variant;\n};\n\nstruct sunxi_pinctrl_function {\n\tconst char *name;\n\tconst char **groups;\n\tunsigned int ngroups;\n};\n\nstruct sunxi_pinctrl_group {\n\tconst char *name;\n\tunsigned int pin;\n};\n\nstruct sunxi_rsb {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct clk *clk;\n\tstruct reset_control *rstc;\n\tstruct completion complete;\n\tstruct mutex lock;\n\tunsigned int status;\n\tu32 clk_freq;\n};\n\nstruct sunxi_rsb_addr_map {\n\tu16 hwaddr;\n\tu8 rtaddr;\n};\n\nstruct sunxi_rsb_device;\n\nstruct sunxi_rsb_ctx {\n\tstruct sunxi_rsb_device *rdev;\n\tint size;\n};\n\nstruct sunxi_rsb_device {\n\tstruct device dev;\n\tstruct sunxi_rsb *rsb;\n\tint irq;\n\tu8 rtaddr;\n\tu16 hwaddr;\n};\n\nstruct sunxi_rsb_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct sunxi_rsb_device *);\n\tvoid (*remove)(struct sunxi_rsb_device *);\n};\n\nstruct sunxi_sc_nmi_reg_offs {\n\tu32 ctrl;\n\tu32 pend;\n\tu32 enable;\n};\n\nstruct sunxi_sid {\n\tvoid *base;\n\tu32 value_offset;\n};\n\nstruct sunxi_sid_cfg {\n\tu32 value_offset;\n\tu32 size;\n\tbool need_register_readout;\n};\n\nstruct sunxi_sram_func;\n\nstruct sunxi_sram_data {\n\tchar *name;\n\tu8 reg;\n\tu8 offset;\n\tu8 width;\n\tstruct sunxi_sram_func *func;\n};\n\nstruct sunxi_sram_desc {\n\tstruct sunxi_sram_data data;\n\tbool claimed;\n};\n\nstruct sunxi_sram_func {\n\tchar *func;\n\tu8 val;\n\tu32 reg_val;\n};\n\nstruct sunxi_sramc_variant {\n\tint num_emac_clocks;\n\tbool has_ldo_ctrl;\n\tbool has_ths_offset;\n};\n\nstruct super_block {\n\tstruct list_head s_list;\n\tdev_t s_dev;\n\tunsigned char s_blocksize_bits;\n\tlong unsigned int s_blocksize;\n\tloff_t s_maxbytes;\n\tstruct file_system_type *s_type;\n\tconst struct super_operations *s_op;\n\tconst struct dquot_operations *dq_op;\n\tconst struct quotactl_ops *s_qcop;\n\tconst struct export_operations *s_export_op;\n\tlong unsigned int s_flags;\n\tlong unsigned int s_iflags;\n\tlong unsigned int s_magic;\n\tstruct dentry *s_root;\n\tstruct rw_semaphore s_umount;\n\tint s_count;\n\tatomic_t s_active;\n\tvoid *s_security;\n\tconst struct xattr_handler * const *s_xattr;\n\tstruct hlist_bl_head s_roots;\n\tstruct list_head s_mounts;\n\tstruct block_device *s_bdev;\n\tstruct file *s_bdev_file;\n\tstruct backing_dev_info *s_bdi;\n\tstruct mtd_info *s_mtd;\n\tstruct hlist_node s_instances;\n\tunsigned int s_quota_types;\n\tstruct quota_info s_dquot;\n\tstruct sb_writers s_writers;\n\tvoid *s_fs_info;\n\tu32 s_time_gran;\n\ttime64_t s_time_min;\n\ttime64_t s_time_max;\n\tu32 s_fsnotify_mask;\n\tstruct fsnotify_sb_info *s_fsnotify_info;\n\tchar s_id[32];\n\tuuid_t s_uuid;\n\tu8 s_uuid_len;\n\tchar s_sysfs_name[37];\n\tunsigned int s_max_links;\n\tstruct mutex s_vfs_rename_mutex;\n\tconst char *s_subtype;\n\tconst struct dentry_operations *s_d_op;\n\tstruct shrinker *s_shrink;\n\tatomic_long_t s_remove_count;\n\tint s_readonly_remount;\n\terrseq_t s_wb_err;\n\tstruct workqueue_struct *s_dio_done_wq;\n\tstruct hlist_head s_pins;\n\tstruct user_namespace *s_user_ns;\n\tstruct list_lru s_dentry_lru;\n\tstruct list_lru s_inode_lru;\n\tstruct callback_head rcu;\n\tstruct work_struct destroy_work;\n\tstruct mutex s_sync_lock;\n\tint s_stack_depth;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t s_inode_list_lock;\n\tstruct list_head s_inodes;\n\tspinlock_t s_inode_wblist_lock;\n\tstruct list_head s_inodes_wb;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct super_operations {\n\tstruct inode * (*alloc_inode)(struct super_block *);\n\tvoid (*destroy_inode)(struct inode *);\n\tvoid (*free_inode)(struct inode *);\n\tvoid (*dirty_inode)(struct inode *, int);\n\tint (*write_inode)(struct inode *, struct writeback_control *);\n\tint (*drop_inode)(struct inode *);\n\tvoid (*evict_inode)(struct inode *);\n\tvoid (*put_super)(struct super_block *);\n\tint (*sync_fs)(struct super_block *, int);\n\tint (*freeze_super)(struct super_block *, enum freeze_holder);\n\tint (*freeze_fs)(struct super_block *);\n\tint (*thaw_super)(struct super_block *, enum freeze_holder);\n\tint (*unfreeze_fs)(struct super_block *);\n\tint (*statfs)(struct dentry *, struct kstatfs *);\n\tint (*remount_fs)(struct super_block *, int *, char *);\n\tvoid (*umount_begin)(struct super_block *);\n\tint (*show_options)(struct seq_file *, struct dentry *);\n\tint (*show_devname)(struct seq_file *, struct dentry *);\n\tint (*show_path)(struct seq_file *, struct dentry *);\n\tint (*show_stats)(struct seq_file *, struct dentry *);\n\tssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);\n\tssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);\n\tstruct dquot ** (*get_dquots)(struct inode *);\n\tlong int (*nr_cached_objects)(struct super_block *, struct shrink_control *);\n\tlong int (*free_cached_objects)(struct super_block *, struct shrink_control *);\n\tvoid (*shutdown)(struct super_block *);\n};\n\nstruct supplier_bindings {\n\tstruct device_node * (*parse_prop)(struct device_node *, const char *, int);\n\tstruct device_node * (*get_con_dev)(struct device_node *);\n\tbool optional;\n\tu8 fwlink_flags;\n};\n\nstruct suspend_info {\n\tint cancelled;\n};\n\nstruct suspend_stats {\n\tunsigned int step_failures[8];\n\tunsigned int success;\n\tunsigned int fail;\n\tint last_failed_dev;\n\tchar failed_devs[80];\n\tint last_failed_errno;\n\tint errno[2];\n\tint last_failed_step;\n\tu64 last_hw_sleep;\n\tu64 total_hw_sleep;\n\tu64 max_hw_sleep;\n\tenum suspend_stat_step failed_steps[2];\n};\n\nstruct svc_deferred_req {\n\tu32 prot;\n\tstruct svc_xprt *xprt;\n\tstruct __kernel_sockaddr_storage addr;\n\tsize_t addrlen;\n\tstruct __kernel_sockaddr_storage daddr;\n\tsize_t daddrlen;\n\tvoid *xprt_ctxt;\n\tstruct cache_deferred_req handle;\n\tint argslen;\n\t__be32 args[0];\n};\n\nstruct svc_info {\n\tstruct svc_serv *serv;\n\tstruct mutex *mutex;\n};\n\nstruct svc_pool {\n\tunsigned int sp_id;\n\tstruct lwq sp_xprts;\n\tunsigned int sp_nrthreads;\n\tstruct list_head sp_all_threads;\n\tstruct llist_head sp_idle_threads;\n\tstruct percpu_counter sp_messages_arrived;\n\tstruct percpu_counter sp_sockets_queued;\n\tstruct percpu_counter sp_threads_woken;\n\tlong unsigned int sp_flags;\n};\n\nstruct svc_pool_map {\n\tint count;\n\tint mode;\n\tunsigned int npools;\n\tunsigned int *pool_to;\n\tunsigned int *to_pool;\n};\n\nstruct svc_procedure {\n\t__be32 (*pc_func)(struct svc_rqst *);\n\tbool (*pc_decode)(struct svc_rqst *, struct xdr_stream *);\n\tbool (*pc_encode)(struct svc_rqst *, struct xdr_stream *);\n\tvoid (*pc_release)(struct svc_rqst *);\n\tunsigned int pc_argsize;\n\tunsigned int pc_argzero;\n\tunsigned int pc_ressize;\n\tunsigned int pc_cachetype;\n\tunsigned int pc_xdrressize;\n\tconst char *pc_name;\n};\n\nstruct svc_process_info {\n\tunion {\n\t\tint (*dispatch)(struct svc_rqst *);\n\t\tstruct {\n\t\t\tunsigned int lovers;\n\t\t\tunsigned int hivers;\n\t\t} mismatch;\n\t};\n};\n\nstruct svc_version;\n\nstruct svc_program {\n\tu32 pg_prog;\n\tunsigned int pg_lovers;\n\tunsigned int pg_hivers;\n\tunsigned int pg_nvers;\n\tconst struct svc_version **pg_vers;\n\tchar *pg_name;\n\tchar *pg_class;\n\tenum svc_auth_status (*pg_authenticate)(struct svc_rqst *);\n\t__be32 (*pg_init_request)(struct svc_rqst *, const struct svc_program *, struct svc_process_info *);\n\tint (*pg_rpcbind_set)(struct net *, const struct svc_program *, u32, int, short unsigned int, short unsigned int);\n};\n\nstruct xdr_stream {\n\t__be32 *p;\n\tstruct xdr_buf *buf;\n\t__be32 *end;\n\tstruct kvec *iov;\n\tstruct kvec scratch;\n\tstruct page **page_ptr;\n\tvoid *page_kaddr;\n\tunsigned int nwords;\n\tstruct rpc_rqst *rqst;\n};\n\nstruct svc_rqst {\n\tstruct list_head rq_all;\n\tstruct llist_node rq_idle;\n\tstruct callback_head rq_rcu_head;\n\tstruct svc_xprt *rq_xprt;\n\tstruct __kernel_sockaddr_storage rq_addr;\n\tsize_t rq_addrlen;\n\tstruct __kernel_sockaddr_storage rq_daddr;\n\tsize_t rq_daddrlen;\n\tstruct svc_serv *rq_server;\n\tstruct svc_pool *rq_pool;\n\tconst struct svc_procedure *rq_procinfo;\n\tstruct auth_ops *rq_authop;\n\tstruct svc_cred rq_cred;\n\tvoid *rq_xprt_ctxt;\n\tstruct svc_deferred_req *rq_deferred;\n\tstruct xdr_buf rq_arg;\n\tstruct xdr_stream rq_arg_stream;\n\tstruct xdr_stream rq_res_stream;\n\tstruct page *rq_scratch_page;\n\tstruct xdr_buf rq_res;\n\tstruct page *rq_pages[260];\n\tstruct page **rq_respages;\n\tstruct page **rq_next_page;\n\tstruct page **rq_page_end;\n\tstruct folio_batch rq_fbatch;\n\tstruct kvec rq_vec[259];\n\tstruct bio_vec rq_bvec[259];\n\t__be32 rq_xid;\n\tu32 rq_prog;\n\tu32 rq_vers;\n\tu32 rq_proc;\n\tu32 rq_prot;\n\tint rq_cachetype;\n\tlong unsigned int rq_flags;\n\tktime_t rq_qtime;\n\tvoid *rq_argp;\n\tvoid *rq_resp;\n\t__be32 *rq_accept_statp;\n\tvoid *rq_auth_data;\n\t__be32 rq_auth_stat;\n\tint rq_auth_slack;\n\tint rq_reserved;\n\tktime_t rq_stime;\n\tstruct cache_req rq_chandle;\n\tstruct auth_domain *rq_client;\n\tstruct auth_domain *rq_gssclient;\n\tstruct task_struct *rq_task;\n\tstruct net *rq_bc_net;\n\tint rq_err;\n\tlong unsigned int bc_to_initval;\n\tunsigned int bc_to_retries;\n\tvoid **rq_lease_breaker;\n\tunsigned int rq_status_counter;\n};\n\nstruct svc_stat;\n\nstruct svc_serv {\n\tstruct svc_program *sv_programs;\n\tstruct svc_stat *sv_stats;\n\tspinlock_t sv_lock;\n\tunsigned int sv_nprogs;\n\tunsigned int sv_nrthreads;\n\tunsigned int sv_max_payload;\n\tunsigned int sv_max_mesg;\n\tunsigned int sv_xdrsize;\n\tstruct list_head sv_permsocks;\n\tstruct list_head sv_tempsocks;\n\tint sv_tmpcnt;\n\tstruct timer_list sv_temptimer;\n\tchar *sv_name;\n\tunsigned int sv_nrpools;\n\tbool sv_is_pooled;\n\tstruct svc_pool *sv_pools;\n\tint (*sv_threadfn)(void *);\n\tstruct lwq sv_cb_list;\n\tbool sv_bc_enabled;\n};\n\nstruct svc_xprt_class;\n\nstruct svc_xprt_ops;\n\nstruct svc_xprt {\n\tstruct svc_xprt_class *xpt_class;\n\tconst struct svc_xprt_ops *xpt_ops;\n\tstruct kref xpt_ref;\n\tstruct list_head xpt_list;\n\tstruct lwq_node xpt_ready;\n\tlong unsigned int xpt_flags;\n\tstruct svc_serv *xpt_server;\n\tatomic_t xpt_reserved;\n\tatomic_t xpt_nr_rqsts;\n\tstruct mutex xpt_mutex;\n\tspinlock_t xpt_lock;\n\tvoid *xpt_auth_cache;\n\tstruct list_head xpt_deferred;\n\tstruct __kernel_sockaddr_storage xpt_local;\n\tsize_t xpt_locallen;\n\tstruct __kernel_sockaddr_storage xpt_remote;\n\tsize_t xpt_remotelen;\n\tchar xpt_remotebuf[58];\n\tstruct list_head xpt_users;\n\tstruct net *xpt_net;\n\tnetns_tracker ns_tracker;\n\tconst struct cred *xpt_cred;\n\tstruct rpc_xprt *xpt_bc_xprt;\n\tstruct rpc_xprt_switch *xpt_bc_xps;\n};\n\nstruct svc_sock {\n\tstruct svc_xprt sk_xprt;\n\tstruct socket *sk_sock;\n\tstruct sock *sk_sk;\n\tvoid (*sk_ostate)(struct sock *);\n\tvoid (*sk_odata)(struct sock *);\n\tvoid (*sk_owspace)(struct sock *);\n\t__be32 sk_marker;\n\tu32 sk_tcplen;\n\tu32 sk_datalen;\n\tstruct page_frag_cache sk_frag_cache;\n\tstruct completion sk_handshake_done;\n\tstruct page *sk_pages[259];\n};\n\nstruct svc_stat {\n\tstruct svc_program *program;\n\tunsigned int netcnt;\n\tunsigned int netudpcnt;\n\tunsigned int nettcpcnt;\n\tunsigned int nettcpconn;\n\tunsigned int rpccnt;\n\tunsigned int rpcbadfmt;\n\tunsigned int rpcbadauth;\n\tunsigned int rpcbadclnt;\n};\n\nstruct svc_version {\n\tu32 vs_vers;\n\tu32 vs_nproc;\n\tconst struct svc_procedure *vs_proc;\n\tlong unsigned int *vs_count;\n\tu32 vs_xdrsize;\n\tbool vs_hidden;\n\tbool vs_rpcb_optnl;\n\tbool vs_need_cong_ctrl;\n\tint (*vs_dispatch)(struct svc_rqst *);\n};\n\nstruct svc_xprt_class {\n\tconst char *xcl_name;\n\tstruct module *xcl_owner;\n\tconst struct svc_xprt_ops *xcl_ops;\n\tstruct list_head xcl_list;\n\tu32 xcl_max_payload;\n\tint xcl_ident;\n};\n\nstruct svc_xprt_ops {\n\tstruct svc_xprt * (*xpo_create)(struct svc_serv *, struct net *, struct sockaddr *, int, int);\n\tstruct svc_xprt * (*xpo_accept)(struct svc_xprt *);\n\tint (*xpo_has_wspace)(struct svc_xprt *);\n\tint (*xpo_recvfrom)(struct svc_rqst *);\n\tint (*xpo_sendto)(struct svc_rqst *);\n\tint (*xpo_result_payload)(struct svc_rqst *, unsigned int, unsigned int);\n\tvoid (*xpo_release_ctxt)(struct svc_xprt *, void *);\n\tvoid (*xpo_detach)(struct svc_xprt *);\n\tvoid (*xpo_free)(struct svc_xprt *);\n\tvoid (*xpo_kill_temp_xprt)(struct svc_xprt *);\n\tvoid (*xpo_handshake)(struct svc_xprt *);\n};\n\nstruct svc_xpt_user {\n\tstruct list_head list;\n\tvoid (*callback)(struct svc_xpt_user *);\n};\n\nstruct sve_context {\n\tstruct _aarch64_ctx head;\n\t__u16 vl;\n\t__u16 flags;\n\t__u16 __reserved[2];\n};\n\nstruct sve_state_reg_region {\n\tunsigned int koffset;\n\tunsigned int klen;\n\tunsigned int upad;\n};\n\nstruct swait_queue {\n\tstruct task_struct *task;\n\tstruct list_head task_list;\n};\n\nstruct swap_cgroup {\n\tatomic_t ids;\n};\n\nstruct swap_cgroup_ctrl {\n\tstruct swap_cgroup *map;\n};\n\nstruct swap_cluster_info {\n\tspinlock_t lock;\n\tu16 count;\n\tu8 flags;\n\tu8 order;\n\tstruct list_head list;\n};\n\nstruct swap_extent {\n\tstruct rb_node rb_node;\n\tlong unsigned int start_page;\n\tlong unsigned int nr_pages;\n\tsector_t start_block;\n};\n\nunion swap_header {\n\tstruct {\n\t\tchar reserved[4086];\n\t\tchar magic[10];\n\t} magic;\n\tstruct {\n\t\tchar bootbits[1024];\n\t\t__u32 version;\n\t\t__u32 last_page;\n\t\t__u32 nr_badpages;\n\t\tunsigned char sws_uuid[16];\n\t\tunsigned char sws_volume[16];\n\t\t__u32 padding[117];\n\t\t__u32 badpages[1];\n\t} info;\n};\n\nstruct swap_info_struct {\n\tstruct percpu_ref users;\n\tlong unsigned int flags;\n\tshort int prio;\n\tstruct plist_node list;\n\tsigned char type;\n\tunsigned int max;\n\tunsigned char *swap_map;\n\tlong unsigned int *zeromap;\n\tstruct swap_cluster_info *cluster_info;\n\tstruct list_head free_clusters;\n\tstruct list_head full_clusters;\n\tstruct list_head nonfull_clusters[10];\n\tstruct list_head frag_clusters[10];\n\tatomic_long_t frag_cluster_nr[10];\n\tunsigned int pages;\n\tatomic_long_t inuse_pages;\n\tstruct percpu_cluster *percpu_cluster;\n\tstruct percpu_cluster *global_cluster;\n\tspinlock_t global_cluster_lock;\n\tstruct rb_root swap_extent_root;\n\tstruct block_device *bdev;\n\tstruct file *swap_file;\n\tstruct completion comp;\n\tspinlock_t lock;\n\tspinlock_t cont_lock;\n\tstruct work_struct discard_work;\n\tstruct work_struct reclaim_work;\n\tstruct list_head discard_clusters;\n\tstruct plist_node avail_lists[0];\n};\n\nstruct swap_iocb {\n\tstruct kiocb iocb;\n\tstruct bio_vec bvec[32];\n\tint pages;\n\tint len;\n};\n\nstruct swap_map_page;\n\nstruct swap_map_page_list;\n\nstruct swap_map_handle {\n\tstruct swap_map_page *cur;\n\tstruct swap_map_page_list *maps;\n\tsector_t cur_swap;\n\tsector_t first_sector;\n\tunsigned int k;\n\tlong unsigned int reqd_free_pages;\n\tu32 crc32;\n};\n\nstruct swap_map_page {\n\tsector_t entries[511];\n\tsector_t next_swap;\n};\n\nstruct swap_map_page_list {\n\tstruct swap_map_page *map;\n\tstruct swap_map_page_list *next;\n};\n\nstruct swap_slots_cache {\n\tbool lock_initialized;\n\tstruct mutex alloc_lock;\n\tswp_entry_t *slots;\n\tint nr;\n\tint cur;\n\tint n_ret;\n};\n\nstruct swevent_hlist {\n\tstruct hlist_head heads[256];\n\tstruct callback_head callback_head;\n};\n\nstruct swevent_htable {\n\tstruct swevent_hlist *swevent_hlist;\n\tstruct mutex hlist_mutex;\n\tint hlist_refcount;\n};\n\nstruct switchdev_mst_state {\n\tu16 msti;\n\tu8 state;\n};\n\nstruct switchdev_brport_flags {\n\tlong unsigned int val;\n\tlong unsigned int mask;\n};\n\nstruct switchdev_vlan_msti {\n\tu16 vid;\n\tu16 msti;\n};\n\nstruct switchdev_attr {\n\tstruct net_device *orig_dev;\n\tenum switchdev_attr_id id;\n\tu32 flags;\n\tvoid *complete_priv;\n\tvoid (*complete)(struct net_device *, int, void *);\n\tunion {\n\t\tu8 stp_state;\n\t\tstruct switchdev_mst_state mst_state;\n\t\tstruct switchdev_brport_flags brport_flags;\n\t\tbool mrouter;\n\t\tclock_t ageing_time;\n\t\tbool vlan_filtering;\n\t\tu16 vlan_protocol;\n\t\tbool mst;\n\t\tbool mc_disabled;\n\t\tu8 mrp_port_role;\n\t\tstruct switchdev_vlan_msti vlan_msti;\n\t} u;\n};\n\nstruct switchdev_brport {\n\tstruct net_device *dev;\n\tconst void *ctx;\n\tstruct notifier_block *atomic_nb;\n\tstruct notifier_block *blocking_nb;\n\tbool tx_fwd_offload;\n};\n\ntypedef void switchdev_deferred_func_t(struct net_device *, const void *);\n\nstruct switchdev_deferred_item {\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tswitchdev_deferred_func_t *func;\n\tlong unsigned int data[0];\n};\n\nstruct switchdev_nested_priv {\n\tbool (*check_cb)(const struct net_device *);\n\tbool (*foreign_dev_check_cb)(const struct net_device *, const struct net_device *);\n\tconst struct net_device *dev;\n\tstruct net_device *lower_dev;\n};\n\nstruct switchdev_notifier_info {\n\tstruct net_device *dev;\n\tstruct netlink_ext_ack *extack;\n\tconst void *ctx;\n};\n\nstruct switchdev_notifier_brport_info {\n\tstruct switchdev_notifier_info info;\n\tconst struct switchdev_brport brport;\n};\n\nstruct switchdev_notifier_fdb_info {\n\tstruct switchdev_notifier_info info;\n\tconst unsigned char *addr;\n\tu16 vid;\n\tu8 added_by_user: 1;\n\tu8 is_local: 1;\n\tu8 locked: 1;\n\tu8 offloaded: 1;\n};\n\nstruct switchdev_notifier_port_attr_info {\n\tstruct switchdev_notifier_info info;\n\tconst struct switchdev_attr *attr;\n\tbool handled;\n};\n\nstruct switchdev_obj;\n\nstruct switchdev_notifier_port_obj_info {\n\tstruct switchdev_notifier_info info;\n\tconst struct switchdev_obj *obj;\n\tbool handled;\n};\n\nstruct switchdev_obj {\n\tstruct list_head list;\n\tstruct net_device *orig_dev;\n\tenum switchdev_obj_id id;\n\tu32 flags;\n\tvoid *complete_priv;\n\tvoid (*complete)(struct net_device *, int, void *);\n};\n\nstruct switchdev_obj_mrp {\n\tstruct switchdev_obj obj;\n\tstruct net_device *p_port;\n\tstruct net_device *s_port;\n\tu32 ring_id;\n\tu16 prio;\n};\n\nstruct switchdev_obj_port_mdb {\n\tstruct switchdev_obj obj;\n\tunsigned char addr[6];\n\tu16 vid;\n};\n\nstruct switchdev_obj_port_vlan {\n\tstruct switchdev_obj obj;\n\tu16 flags;\n\tu16 vid;\n\tbool changed;\n};\n\nstruct switchdev_obj_ring_role_mrp {\n\tstruct switchdev_obj obj;\n\tu8 ring_role;\n\tu32 ring_id;\n\tu8 sw_backup;\n};\n\nstruct swmii_regs {\n\tu16 bmsr;\n\tu16 lpa;\n\tu16 lpagb;\n\tu16 estat;\n};\n\nstruct swnode {\n\tstruct kobject kobj;\n\tstruct fwnode_handle fwnode;\n\tconst struct software_node *node;\n\tint id;\n\tstruct ida child_ids;\n\tstruct list_head entry;\n\tstruct list_head children;\n\tstruct swnode *parent;\n\tunsigned int allocated: 1;\n\tunsigned int managed: 1;\n};\n\nstruct swoc_info {\n\t__u8 rev;\n\t__u8 reserved[8];\n\t__u16 LinuxSKU;\n\t__u16 LinuxVer;\n\t__u8 reserved2[47];\n} __attribute__((packed));\n\nstruct swsusp_extent {\n\tstruct rb_node node;\n\tlong unsigned int start;\n\tlong unsigned int end;\n};\n\nstruct swsusp_header {\n\tchar reserved[4056];\n\tu32 hw_sig;\n\tu32 crc32;\n\tsector_t image;\n\tunsigned int flags;\n\tchar orig_sig[10];\n\tchar sig[10];\n};\n\nstruct swsusp_info {\n\tstruct new_utsname uts;\n\tu32 version_code;\n\tlong unsigned int num_physpages;\n\tint cpus;\n\tlong unsigned int image_pages;\n\tlong unsigned int pages;\n\tlong unsigned int size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct symsearch {\n\tconst struct kernel_symbol *start;\n\tconst struct kernel_symbol *stop;\n\tconst u32 *crcs;\n\tenum mod_license license;\n};\n\nstruct synaptics_device_info {\n\tu32 model_id;\n\tu32 firmware_id;\n\tu32 board_id;\n\tu32 capabilities;\n\tu32 ext_cap;\n\tu32 ext_cap_0c;\n\tu32 ext_cap_10;\n\tu32 identity;\n\tu32 x_res;\n\tu32 y_res;\n\tu32 x_max;\n\tu32 y_max;\n\tu32 x_min;\n\tu32 y_min;\n};\n\nstruct synaptics_hw_state {\n\tint x;\n\tint y;\n\tint z;\n\tint w;\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int up: 1;\n\tunsigned int down: 1;\n\tu8 ext_buttons;\n\ts8 scroll;\n};\n\nstruct synaptics_data {\n\tstruct synaptics_device_info info;\n\tenum synaptics_pkt_type pkt_type;\n\tu8 mode;\n\tint scroll;\n\tbool absolute_mode;\n\tbool disable_gesture;\n\tstruct serio *pt_port;\n\tbool pt_port_open;\n\tstruct synaptics_hw_state agm;\n\tunsigned int agm_count;\n\tlong unsigned int press_start;\n\tbool press;\n\tbool report_press;\n\tbool is_forcepad;\n};\n\nstruct sync_fence_info {\n\tchar obj_name[32];\n\tchar driver_name[32];\n\t__s32 status;\n\t__u32 flags;\n\t__u64 timestamp_ns;\n};\n\nstruct sync_file {\n\tstruct file *file;\n\tchar user_name[32];\n\tstruct list_head sync_file_list;\n\twait_queue_head_t wq;\n\tlong unsigned int flags;\n\tstruct dma_fence *fence;\n\tstruct dma_fence_cb cb;\n};\n\nstruct sync_file_info {\n\tchar name[32];\n\t__s32 status;\n\t__u32 flags;\n\t__u32 num_fences;\n\t__u32 pad;\n\t__u64 sync_fence_info;\n};\n\nstruct sync_merge_data {\n\tchar name[32];\n\t__s32 fd2;\n\t__s32 fence;\n\t__u32 flags;\n\t__u32 pad;\n};\n\nstruct sync_set_deadline {\n\t__u64 deadline_ns;\n\t__u64 pad;\n};\n\nstruct sys64_hook {\n\tlong unsigned int esr_mask;\n\tlong unsigned int esr_val;\n\tvoid (*handler)(long unsigned int, struct pt_regs *);\n};\n\nstruct sys_off_data {\n\tint mode;\n\tvoid *cb_data;\n\tconst char *cmd;\n\tstruct device *dev;\n};\n\nstruct sys_off_handler {\n\tstruct notifier_block nb;\n\tint (*sys_off_cb)(struct sys_off_data *);\n\tvoid *cb_data;\n\tenum sys_off_mode mode;\n\tbool blocking;\n\tvoid *list;\n\tstruct device *dev;\n};\n\nstruct sys_reg_params;\n\nstruct sys_reg_desc {\n\tconst char *name;\n\tenum {\n\t\tAA32_DIRECT = 0,\n\t\tAA32_LO = 1,\n\t\tAA32_HI = 2,\n\t} aarch32_map;\n\tu8 Op0;\n\tu8 Op1;\n\tu8 CRn;\n\tu8 CRm;\n\tu8 Op2;\n\tbool (*access)(struct kvm_vcpu *, struct sys_reg_params *, const struct sys_reg_desc *);\n\tu64 (*reset)(struct kvm_vcpu *, const struct sys_reg_desc *);\n\tint reg;\n\tu64 val;\n\tint (*__get_user)(struct kvm_vcpu *, const struct sys_reg_desc *, u64 *);\n\tint (*set_user)(struct kvm_vcpu *, const struct sys_reg_desc *, u64);\n\tunsigned int (*visibility)(const struct kvm_vcpu *, const struct sys_reg_desc *);\n};\n\nstruct sys_reg_params {\n\tu8 Op0;\n\tu8 Op1;\n\tu8 CRn;\n\tu8 CRm;\n\tu8 Op2;\n\tu64 regval;\n\tbool is_write;\n};\n\nstruct sysc_config {\n\tu32 sysc_val;\n\tu32 syss_mask;\n\tu8 midlemodes;\n\tu8 sidlemodes;\n\tu8 srst_udelay;\n\tu32 quirks;\n};\n\nstruct ti_sysc_cookie {\n\tvoid *data;\n\tvoid *clkdm;\n};\n\nstruct ti_sysc_module_data;\n\nstruct sysc_capabilities;\n\nstruct sysc {\n\tstruct device *dev;\n\tu64 module_pa;\n\tu32 module_size;\n\tvoid *module_va;\n\tint offsets[3];\n\tstruct ti_sysc_module_data *mdata;\n\tstruct clk **clocks;\n\tconst char **clock_roles;\n\tint nr_clocks;\n\tstruct reset_control *rsts;\n\tconst char *legacy_mode;\n\tconst struct sysc_capabilities *cap;\n\tstruct sysc_config cfg;\n\tstruct ti_sysc_cookie cookie;\n\tconst char *name;\n\tu32 revision;\n\tu32 sysconfig;\n\tunsigned int reserved: 1;\n\tunsigned int enabled: 1;\n\tunsigned int needs_resume: 1;\n\tunsigned int child_needs_resume: 1;\n\tstruct delayed_work idle_work;\n\tvoid (*pre_reset_quirk)(struct sysc *);\n\tvoid (*post_reset_quirk)(struct sysc *);\n\tvoid (*reset_done_quirk)(struct sysc *);\n\tvoid (*module_enable_quirk)(struct sysc *);\n\tvoid (*module_disable_quirk)(struct sysc *);\n\tvoid (*module_unlock_quirk)(struct sysc *);\n\tvoid (*module_lock_quirk)(struct sysc *);\n};\n\nstruct sysc_address {\n\tlong unsigned int base;\n\tstruct list_head node;\n};\n\nstruct sysc_regbits;\n\nstruct sysc_capabilities {\n\tconst enum ti_sysc_module_type type;\n\tconst u32 sysc_mask;\n\tconst struct sysc_regbits *regbits;\n\tconst u32 mod_quirks;\n};\n\nstruct sysc_dts_quirk {\n\tconst char *name;\n\tu32 mask;\n};\n\nstruct sysc_module {\n\tstruct sysc *ddata;\n\tstruct list_head node;\n};\n\nstruct sysc_regbits {\n\ts8 midle_shift;\n\ts8 clkact_shift;\n\ts8 sidle_shift;\n\ts8 enwkup_shift;\n\ts8 srst_shift;\n\ts8 autoidle_shift;\n\ts8 dmadisable_shift;\n\ts8 emufree_shift;\n};\n\nstruct sysc_revision_quirk {\n\tconst char *name;\n\tu32 base;\n\tint rev_offset;\n\tint sysc_offset;\n\tint syss_offset;\n\tu32 revision;\n\tu32 revision_mask;\n\tu32 quirks;\n};\n\nstruct sysc_soc_info {\n\tlong unsigned int general_purpose: 1;\n\tenum sysc_soc soc;\n\tstruct mutex list_lock;\n\tstruct list_head disabled_modules;\n\tstruct list_head restored_modules;\n\tstruct notifier_block nb;\n};\n\nstruct syscall_info {\n\t__u64 sp;\n\tstruct seccomp_data data;\n};\n\nstruct syscall_metadata {\n\tconst char *name;\n\tint syscall_nr;\n\tint nb_args;\n\tconst char **types;\n\tconst char **args;\n\tstruct list_head enter_fields;\n\tstruct trace_event_call *enter_event;\n\tstruct trace_event_call *exit_event;\n};\n\nstruct syscall_tp_t {\n\tstruct trace_entry ent;\n\tint syscall_nr;\n\tlong unsigned int ret;\n};\n\nstruct syscall_tp_t___2 {\n\tstruct trace_entry ent;\n\tint syscall_nr;\n\tlong unsigned int args[6];\n};\n\nstruct syscall_trace_enter {\n\tstruct trace_entry ent;\n\tint nr;\n\tlong unsigned int args[0];\n};\n\nstruct syscall_trace_exit {\n\tstruct trace_entry ent;\n\tint nr;\n\tlong int ret;\n};\n\nstruct syscall_user_dispatch {};\n\nstruct syscon {\n\tstruct device_node *np;\n\tstruct regmap *regmap;\n\tstruct reset_control *reset;\n\tstruct list_head list;\n};\n\nstruct syscon_gpio_data {\n\tunsigned int flags;\n\tunsigned int bit_count;\n\tunsigned int dat_bit_offset;\n\tunsigned int dir_bit_offset;\n\tvoid (*set)(struct gpio_chip *, unsigned int, int);\n};\n\nstruct syscon_gpio_priv {\n\tstruct gpio_chip chip;\n\tstruct regmap *syscon;\n\tconst struct syscon_gpio_data *data;\n\tu32 dreg_offset;\n\tu32 dir_reg_offset;\n};\n\nstruct syscon_led {\n\tstruct led_classdev cdev;\n\tstruct regmap *map;\n\tu32 offset;\n\tu32 mask;\n\tbool state;\n};\n\nstruct syscon_poweroff_data {\n\tstruct regmap *map;\n\tu32 offset;\n\tu32 value;\n\tu32 mask;\n};\n\nstruct syscon_reboot_context {\n\tstruct regmap *map;\n\tu32 offset;\n\tu32 value;\n\tu32 mask;\n\tstruct notifier_block restart_handler;\n};\n\nstruct syscon_reboot_mode {\n\tstruct regmap *map;\n\tstruct reboot_mode_driver reboot;\n\tu32 offset;\n\tu32 mask;\n};\n\nstruct syscore_ops {\n\tstruct list_head node;\n\tint (*suspend)(void);\n\tvoid (*resume)(void);\n\tvoid (*shutdown)(void);\n};\n\nstruct sysctl_alias {\n\tconst char *kernel_param;\n\tconst char *sysctl_param;\n};\n\nstruct sysctr_private {\n\tu32 cmpcr;\n\tu32 lo_off;\n\tu32 hi_off;\n};\n\nstruct sysfs_ops {\n\tssize_t (*show)(struct kobject *, struct attribute *, char *);\n\tssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t);\n};\n\nstruct sysinfo {\n\t__kernel_long_t uptime;\n\t__kernel_ulong_t loads[3];\n\t__kernel_ulong_t totalram;\n\t__kernel_ulong_t freeram;\n\t__kernel_ulong_t sharedram;\n\t__kernel_ulong_t bufferram;\n\t__kernel_ulong_t totalswap;\n\t__kernel_ulong_t freeswap;\n\t__u16 procs;\n\t__u16 pad;\n\t__kernel_ulong_t totalhigh;\n\t__kernel_ulong_t freehigh;\n\t__u32 mem_unit;\n\tchar _f[0];\n};\n\nstruct sysrq_key_op {\n\tvoid (* const handler)(u8);\n\tconst char * const help_msg;\n\tconst char * const action_msg;\n\tconst int enable_mask;\n};\n\nstruct sysrq_state {\n\tstruct input_handle handle;\n\tstruct work_struct reinject_work;\n\tlong unsigned int key_down[12];\n\tunsigned int alt;\n\tunsigned int alt_use;\n\tunsigned int shift;\n\tunsigned int shift_use;\n\tbool active;\n\tbool need_reinject;\n\tbool reinjecting;\n\tbool reset_canceled;\n\tbool reset_requested;\n\tlong unsigned int reset_keybit[12];\n\tint reset_seq_len;\n\tint reset_seq_cnt;\n\tint reset_seq_version;\n\tstruct timer_list keyreset_timer;\n};\n\nstruct system_counterval_t {\n\tu64 cycles;\n\tenum clocksource_ids cs_id;\n\tbool use_nsecs;\n};\n\nstruct system_device_crosststamp {\n\tktime_t device;\n\tktime_t sys_realtime;\n\tktime_t sys_monoraw;\n};\n\nstruct system_time_snapshot {\n\tu64 cycles;\n\tktime_t real;\n\tktime_t boot;\n\tktime_t raw;\n\tenum clocksource_ids cs_id;\n\tunsigned int clock_was_set_seq;\n\tu8 cs_was_changed_seq;\n};\n\nstruct sysv_sem {\n\tstruct sem_undo_list *undo_list;\n};\n\nstruct sysv_shm {\n\tstruct list_head shm_clist;\n};\n\nstruct t10_pi_tuple {\n\t__be16 guard_tag;\n\t__be16 app_tag;\n\t__be32 ref_tag;\n};\n\nstruct taint_flag {\n\tchar c_true;\n\tchar c_false;\n\tbool module;\n\tconst char *desc;\n};\n\nstruct tap_filter {\n\tunsigned int count;\n\tu32 mask[2];\n\tunsigned char addr[48];\n};\n\nstruct target_cache {\n\tstruct list_head node;\n\tstruct node_cache_attrs cache_attrs;\n};\n\nstruct task_group {\n\tstruct cgroup_subsys_state css;\n\tint idle;\n\tstruct sched_entity **se;\n\tstruct cfs_rq **cfs_rq;\n\tlong unsigned int shares;\n\tlong: 64;\n\tlong: 64;\n\tatomic_long_t load_avg;\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct task_group *parent;\n\tstruct list_head siblings;\n\tstruct list_head children;\n\tstruct autogroup *autogroup;\n\tstruct cfs_bandwidth cfs_bandwidth;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct task_numa_env {\n\tstruct task_struct *p;\n\tint src_cpu;\n\tint src_nid;\n\tint dst_cpu;\n\tint dst_nid;\n\tint imb_numa_nr;\n\tstruct numa_stats src_stats;\n\tstruct numa_stats dst_stats;\n\tint imbalance_pct;\n\tint dist;\n\tstruct task_struct *best_task;\n\tlong int best_imp;\n\tint best_cpu;\n};\n\ntypedef struct task_struct *class_find_get_task_t;\n\ntypedef struct task_struct *class_task_lock_t;\n\nstruct thread_info {\n\tlong unsigned int flags;\n\tunion {\n\t\tu64 preempt_count;\n\t\tstruct {\n\t\t\tu32 count;\n\t\t\tu32 need_resched;\n\t\t} preempt;\n\t};\n\tu32 cpu;\n};\n\nstruct wake_q_node {\n\tstruct wake_q_node *next;\n};\n\nstruct tlbflush_unmap_batch {\n\tstruct arch_tlbflush_unmap_batch arch;\n\tbool flush_required;\n\tbool writable;\n};\n\nstruct thread_struct {\n\tstruct cpu_context cpu_context;\n\tlong: 64;\n\tstruct {\n\t\tlong unsigned int tp_value;\n\t\tlong unsigned int tp2_value;\n\t\tu64 fpmr;\n\t\tlong unsigned int pad;\n\t\tstruct user_fpsimd_state fpsimd_state;\n\t} uw;\n\tenum fp_type fp_type;\n\tunsigned int fpsimd_cpu;\n\tvoid *sve_state;\n\tvoid *sme_state;\n\tunsigned int vl[2];\n\tunsigned int vl_onexec[2];\n\tlong unsigned int fault_address;\n\tlong unsigned int fault_code;\n\tstruct debug_info debug;\n\tlong: 64;\n\tstruct user_fpsimd_state kernel_fpsimd_state;\n\tunsigned int kernel_fpsimd_cpu;\n\tstruct ptrauth_keys_user keys_user;\n\tstruct ptrauth_keys_kernel keys_kernel;\n\tu64 mte_ctrl;\n\tu64 sctlr_user;\n\tu64 svcr;\n\tu64 tpidr2_el0;\n\tu64 por_el0;\n};\n\nstruct uprobe_task;\n\nstruct task_struct {\n\tstruct thread_info thread_info;\n\tunsigned int __state;\n\tunsigned int saved_state;\n\tvoid *stack;\n\trefcount_t usage;\n\tunsigned int flags;\n\tunsigned int ptrace;\n\tint on_cpu;\n\tstruct __call_single_node wake_entry;\n\tunsigned int wakee_flips;\n\tlong unsigned int wakee_flip_decay_ts;\n\tstruct task_struct *last_wakee;\n\tint recent_used_cpu;\n\tint wake_cpu;\n\tint on_rq;\n\tint prio;\n\tint static_prio;\n\tint normal_prio;\n\tunsigned int rt_priority;\n\tstruct sched_entity se;\n\tstruct sched_rt_entity rt;\n\tstruct sched_dl_entity dl;\n\tstruct sched_dl_entity *dl_server;\n\tconst struct sched_class *sched_class;\n\tstruct task_group *sched_task_group;\n\tstruct sched_statistics stats;\n\tstruct hlist_head preempt_notifiers;\n\tunsigned int policy;\n\tlong unsigned int max_allowed_capacity;\n\tint nr_cpus_allowed;\n\tconst cpumask_t *cpus_ptr;\n\tcpumask_t *user_cpus_ptr;\n\tcpumask_t cpus_mask;\n\tvoid *migration_pending;\n\tshort unsigned int migration_disabled;\n\tshort unsigned int migration_flags;\n\tint rcu_read_lock_nesting;\n\tunion rcu_special rcu_read_unlock_special;\n\tstruct list_head rcu_node_entry;\n\tstruct rcu_node *rcu_blocked_node;\n\tlong unsigned int rcu_tasks_nvcsw;\n\tu8 rcu_tasks_holdout;\n\tu8 rcu_tasks_idx;\n\tint rcu_tasks_idle_cpu;\n\tstruct list_head rcu_tasks_holdout_list;\n\tint rcu_tasks_exit_cpu;\n\tstruct list_head rcu_tasks_exit_list;\n\tint trc_reader_nesting;\n\tint trc_ipi_to_cpu;\n\tunion rcu_special trc_reader_special;\n\tstruct list_head trc_holdout_list;\n\tstruct list_head trc_blkd_node;\n\tint trc_blkd_cpu;\n\tstruct sched_info sched_info;\n\tstruct list_head tasks;\n\tstruct plist_node pushable_tasks;\n\tstruct rb_node pushable_dl_tasks;\n\tstruct mm_struct *mm;\n\tstruct mm_struct *active_mm;\n\tstruct address_space *faults_disabled_mapping;\n\tint exit_state;\n\tint exit_code;\n\tint exit_signal;\n\tint pdeath_signal;\n\tlong unsigned int jobctl;\n\tunsigned int personality;\n\tunsigned int sched_reset_on_fork: 1;\n\tunsigned int sched_contributes_to_load: 1;\n\tunsigned int sched_migrated: 1;\n\tunsigned int sched_task_hot: 1;\n\tlong: 28;\n\tunsigned int sched_remote_wakeup: 1;\n\tunsigned int sched_rt_mutex: 1;\n\tunsigned int in_execve: 1;\n\tunsigned int in_iowait: 1;\n\tunsigned int no_cgroup_migration: 1;\n\tunsigned int frozen: 1;\n\tunsigned int use_memdelay: 1;\n\tunsigned int in_eventfd: 1;\n\tlong unsigned int atomic_flags;\n\tstruct restart_block restart_block;\n\tpid_t pid;\n\tpid_t tgid;\n\tlong unsigned int stack_canary;\n\tstruct task_struct *real_parent;\n\tstruct task_struct *parent;\n\tstruct list_head children;\n\tstruct list_head sibling;\n\tstruct task_struct *group_leader;\n\tstruct list_head ptraced;\n\tstruct list_head ptrace_entry;\n\tstruct pid *thread_pid;\n\tstruct hlist_node pid_links[4];\n\tstruct list_head thread_node;\n\tstruct completion *vfork_done;\n\tint *set_child_tid;\n\tint *clear_child_tid;\n\tvoid *worker_private;\n\tu64 utime;\n\tu64 stime;\n\tu64 gtime;\n\tstruct prev_cputime prev_cputime;\n\tlong unsigned int nvcsw;\n\tlong unsigned int nivcsw;\n\tu64 start_time;\n\tu64 start_boottime;\n\tlong unsigned int min_flt;\n\tlong unsigned int maj_flt;\n\tstruct posix_cputimers posix_cputimers;\n\tstruct posix_cputimers_work posix_cputimers_work;\n\tconst struct cred *ptracer_cred;\n\tconst struct cred *real_cred;\n\tconst struct cred *cred;\n\tstruct key *cached_requested_key;\n\tchar comm[16];\n\tstruct nameidata *nameidata;\n\tstruct sysv_sem sysvsem;\n\tstruct sysv_shm sysvshm;\n\tstruct fs_struct *fs;\n\tstruct files_struct *files;\n\tstruct io_uring_task *io_uring;\n\tstruct nsproxy *nsproxy;\n\tstruct signal_struct *signal;\n\tstruct sighand_struct *sighand;\n\tsigset_t blocked;\n\tsigset_t real_blocked;\n\tsigset_t saved_sigmask;\n\tstruct sigpending pending;\n\tlong unsigned int sas_ss_sp;\n\tsize_t sas_ss_size;\n\tunsigned int sas_ss_flags;\n\tstruct callback_head *task_works;\n\tstruct audit_context *audit_context;\n\tkuid_t loginuid;\n\tunsigned int sessionid;\n\tstruct seccomp seccomp;\n\tstruct syscall_user_dispatch syscall_dispatch;\n\tu64 parent_exec_id;\n\tu64 self_exec_id;\n\tspinlock_t alloc_lock;\n\traw_spinlock_t pi_lock;\n\tstruct wake_q_node wake_q;\n\tstruct rb_root_cached pi_waiters;\n\tstruct task_struct *pi_top_task;\n\tstruct rt_mutex_waiter *pi_blocked_on;\n\tvoid *journal_info;\n\tstruct bio_list *bio_list;\n\tstruct blk_plug *plug;\n\tstruct reclaim_state *reclaim_state;\n\tstruct io_context *io_context;\n\tstruct capture_control *capture_control;\n\tlong unsigned int ptrace_message;\n\tkernel_siginfo_t *last_siginfo;\n\tstruct task_io_accounting ioac;\n\tu64 acct_rss_mem1;\n\tu64 acct_vm_mem1;\n\tu64 acct_timexpd;\n\tnodemask_t mems_allowed;\n\tseqcount_spinlock_t mems_allowed_seq;\n\tint cpuset_mem_spread_rotor;\n\tstruct css_set *cgroups;\n\tstruct list_head cg_list;\n\tstruct robust_list_head *robust_list;\n\tstruct compat_robust_list_head *compat_robust_list;\n\tstruct list_head pi_state_list;\n\tstruct futex_pi_state *pi_state_cache;\n\tstruct mutex futex_exit_mutex;\n\tunsigned int futex_state;\n\tu8 perf_recursion[4];\n\tstruct perf_event_context *perf_event_ctxp;\n\tstruct mutex perf_event_mutex;\n\tstruct list_head perf_event_list;\n\tstruct mempolicy *mempolicy;\n\tshort int il_prev;\n\tu8 il_weight;\n\tshort int pref_node_fork;\n\tint numa_scan_seq;\n\tunsigned int numa_scan_period;\n\tunsigned int numa_scan_period_max;\n\tint numa_preferred_nid;\n\tlong unsigned int numa_migrate_retry;\n\tu64 node_stamp;\n\tu64 last_task_numa_placement;\n\tu64 last_sum_exec_runtime;\n\tstruct callback_head numa_work;\n\tstruct numa_group *numa_group;\n\tlong unsigned int *numa_faults;\n\tlong unsigned int total_numa_faults;\n\tlong unsigned int numa_faults_locality[3];\n\tlong unsigned int numa_pages_migrated;\n\tstruct rseq *rseq;\n\tu32 rseq_len;\n\tu32 rseq_sig;\n\tlong unsigned int rseq_event_mask;\n\tint mm_cid;\n\tint last_mm_cid;\n\tint migrate_from_cpu;\n\tint mm_cid_active;\n\tstruct callback_head cid_work;\n\tstruct tlbflush_unmap_batch tlb_ubc;\n\tstruct pipe_inode_info *splice_pipe;\n\tstruct page_frag task_frag;\n\tint nr_dirtied;\n\tint nr_dirtied_pause;\n\tlong unsigned int dirty_paused_when;\n\tu64 timer_slack_ns;\n\tu64 default_timer_slack_ns;\n\tlong unsigned int trace_recursion;\n\tunsigned int memcg_nr_pages_over_high;\n\tstruct mem_cgroup *active_memcg;\n\tstruct obj_cgroup *objcg;\n\tstruct gendisk *throttle_disk;\n\tstruct uprobe_task *utask;\n\tstruct kmap_ctrl kmap_ctrl;\n\tstruct callback_head rcu;\n\trefcount_t rcu_users;\n\tint pagefault_disabled;\n\tstruct task_struct *oom_reaper_list;\n\tstruct timer_list oom_reaper_timer;\n\tstruct vm_struct *stack_vm_area;\n\trefcount_t stack_refcount;\n\tvoid *security;\n\tstruct bpf_local_storage *bpf_storage;\n\tstruct bpf_run_ctx *bpf_ctx;\n\tstruct bpf_net_context *bpf_net_context;\n\tstruct thread_struct thread;\n};\n\nstruct task_struct__safe_rcu {\n\tconst cpumask_t *cpus_ptr;\n\tstruct css_set *cgroups;\n\tstruct task_struct *real_parent;\n\tstruct task_struct *group_leader;\n};\n\nstruct tasklet_head {\n\tstruct tasklet_struct *head;\n\tstruct tasklet_struct **tail;\n};\n\nstruct taskstats {\n\t__u16 version;\n\t__u32 ac_exitcode;\n\t__u8 ac_flag;\n\t__u8 ac_nice;\n\t__u64 cpu_count;\n\t__u64 cpu_delay_total;\n\t__u64 cpu_delay_max;\n\t__u64 cpu_delay_min;\n\t__u64 blkio_count;\n\t__u64 blkio_delay_total;\n\t__u64 blkio_delay_max;\n\t__u64 blkio_delay_min;\n\t__u64 swapin_count;\n\t__u64 swapin_delay_total;\n\t__u64 swapin_delay_max;\n\t__u64 swapin_delay_min;\n\t__u64 cpu_run_real_total;\n\t__u64 cpu_run_virtual_total;\n\tchar ac_comm[32];\n\t__u8 ac_sched;\n\t__u8 ac_pad[3];\n\tlong: 0;\n\t__u32 ac_uid;\n\t__u32 ac_gid;\n\t__u32 ac_pid;\n\t__u32 ac_ppid;\n\t__u32 ac_btime;\n\t__u64 ac_etime;\n\t__u64 ac_utime;\n\t__u64 ac_stime;\n\t__u64 ac_minflt;\n\t__u64 ac_majflt;\n\t__u64 coremem;\n\t__u64 virtmem;\n\t__u64 hiwater_rss;\n\t__u64 hiwater_vm;\n\t__u64 read_char;\n\t__u64 write_char;\n\t__u64 read_syscalls;\n\t__u64 write_syscalls;\n\t__u64 read_bytes;\n\t__u64 write_bytes;\n\t__u64 cancelled_write_bytes;\n\t__u64 nvcsw;\n\t__u64 nivcsw;\n\t__u64 ac_utimescaled;\n\t__u64 ac_stimescaled;\n\t__u64 cpu_scaled_run_real_total;\n\t__u64 freepages_count;\n\t__u64 freepages_delay_total;\n\t__u64 freepages_delay_max;\n\t__u64 freepages_delay_min;\n\t__u64 thrashing_count;\n\t__u64 thrashing_delay_total;\n\t__u64 thrashing_delay_max;\n\t__u64 thrashing_delay_min;\n\t__u64 ac_btime64;\n\t__u64 compact_count;\n\t__u64 compact_delay_total;\n\t__u64 compact_delay_max;\n\t__u64 compact_delay_min;\n\t__u32 ac_tgid;\n\t__u64 ac_tgetime;\n\t__u64 ac_exe_dev;\n\t__u64 ac_exe_inode;\n\t__u64 wpcopy_count;\n\t__u64 wpcopy_delay_total;\n\t__u64 wpcopy_delay_max;\n\t__u64 wpcopy_delay_min;\n\t__u64 irq_count;\n\t__u64 irq_delay_total;\n\t__u64 irq_delay_max;\n\t__u64 irq_delay_min;\n};\n\nstruct tbg_def {\n\tchar *name;\n\tu32 refdiv_offset;\n\tu32 fbdiv_offset;\n\tu32 vcodiv_reg;\n\tu32 vcodiv_offset;\n};\n\nstruct tc_act_pernet_id {\n\tstruct list_head list;\n\tunsigned int id;\n};\n\nstruct tcf_t {\n\t__u64 install;\n\t__u64 lastuse;\n\t__u64 expires;\n\t__u64 firstuse;\n};\n\nstruct tc_action_ops;\n\nstruct tcf_idrinfo;\n\nstruct tc_cookie;\n\nstruct tcf_chain;\n\nstruct tc_action {\n\tconst struct tc_action_ops *ops;\n\t__u32 type;\n\tstruct tcf_idrinfo *idrinfo;\n\tu32 tcfa_index;\n\trefcount_t tcfa_refcnt;\n\tatomic_t tcfa_bindcnt;\n\tint tcfa_action;\n\tstruct tcf_t tcfa_tm;\n\tlong: 64;\n\tstruct gnet_stats_basic_sync tcfa_bstats;\n\tstruct gnet_stats_basic_sync tcfa_bstats_hw;\n\tstruct gnet_stats_queue tcfa_qstats;\n\tstruct net_rate_estimator *tcfa_rate_est;\n\tspinlock_t tcfa_lock;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_basic_sync *cpu_bstats_hw;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tstruct tc_cookie *user_cookie;\n\tstruct tcf_chain *goto_chain;\n\tu32 tcfa_flags;\n\tu8 hw_stats;\n\tu8 used_hw_stats;\n\tbool used_hw_stats_valid;\n\tu32 in_hw_count;\n};\n\nstruct tc_action_net {\n\tstruct tcf_idrinfo *idrinfo;\n\tconst struct tc_action_ops *ops;\n};\n\ntypedef void (*tc_action_priv_destructor)(void *);\n\nstruct tcf_result;\n\nstruct tc_action_ops {\n\tstruct list_head head;\n\tchar kind[16];\n\tenum tca_id id;\n\tunsigned int net_id;\n\tsize_t size;\n\tstruct module *owner;\n\tint (*act)(struct sk_buff *, const struct tc_action *, struct tcf_result *);\n\tint (*dump)(struct sk_buff *, struct tc_action *, int, int);\n\tvoid (*cleanup)(struct tc_action *);\n\tint (*lookup)(struct net *, struct tc_action **, u32);\n\tint (*init)(struct net *, struct nlattr *, struct nlattr *, struct tc_action **, struct tcf_proto *, u32, struct netlink_ext_ack *);\n\tint (*walk)(struct net *, struct sk_buff *, struct netlink_callback *, int, const struct tc_action_ops *, struct netlink_ext_ack *);\n\tvoid (*stats_update)(struct tc_action *, u64, u64, u64, u64, bool);\n\tsize_t (*get_fill_size)(const struct tc_action *);\n\tstruct net_device * (*get_dev)(const struct tc_action *, tc_action_priv_destructor *);\n\tstruct psample_group * (*get_psample_group)(const struct tc_action *, tc_action_priv_destructor *);\n\tint (*offload_act_setup)(struct tc_action *, void *, u32 *, bool, struct netlink_ext_ack *);\n};\n\nstruct tc_bind_class_args {\n\tstruct qdisc_walker w;\n\tlong unsigned int new_cl;\n\tu32 portid;\n\tu32 clid;\n};\n\nstruct tc_cbs_qopt_offload {\n\tu8 enable;\n\ts32 queue;\n\ts32 hicredit;\n\ts32 locredit;\n\ts32 idleslope;\n\ts32 sendslope;\n};\n\nstruct tc_cookie {\n\tu8 *data;\n\tu32 len;\n\tstruct callback_head rcu;\n};\n\nstruct tc_etf_qopt_offload {\n\tu8 enable;\n\ts32 queue;\n};\n\nstruct tc_fifo_qopt {\n\t__u32 limit;\n};\n\nstruct tc_qopt_offload_stats {\n\tstruct gnet_stats_basic_sync *bstats;\n\tstruct gnet_stats_queue *qstats;\n};\n\nstruct tc_fifo_qopt_offload {\n\tenum tc_fifo_command command;\n\tu32 handle;\n\tu32 parent;\n\tunion {\n\t\tstruct tc_qopt_offload_stats stats;\n\t};\n};\n\nstruct tc_mq_opt_offload_graft_params {\n\tlong unsigned int queue;\n\tu32 child_handle;\n};\n\nstruct tc_mq_qopt_offload {\n\tenum tc_mq_command command;\n\tu32 handle;\n\tunion {\n\t\tstruct tc_qopt_offload_stats stats;\n\t\tstruct tc_mq_opt_offload_graft_params graft_params;\n\t};\n};\n\nstruct tc_mqprio_caps {\n\tbool validate_queue_counts: 1;\n};\n\nstruct tc_pedit_key {\n\t__u32 mask;\n\t__u32 val;\n\t__u32 off;\n\t__u32 at;\n\t__u32 offmask;\n\t__u32 shift;\n};\n\nstruct tc_prio_qopt {\n\tint bands;\n\t__u8 priomap[16];\n};\n\nstruct tc_query_caps_base {\n\tenum tc_setup_type type;\n\tvoid *caps;\n};\n\nstruct tc_root_qopt_offload {\n\tenum tc_root_command command;\n\tu32 handle;\n\tbool ingress;\n};\n\nstruct tc_skb_cb {\n\tstruct qdisc_skb_cb qdisc_cb;\n\tu32 drop_reason;\n\tu16 zone;\n\tu16 mru;\n\tu8 post_ct: 1;\n\tu8 post_ct_snat: 1;\n\tu8 post_ct_dnat: 1;\n};\n\nstruct tc_taprio_caps {\n\tbool supports_queue_max_sdu: 1;\n\tbool gate_mask_per_txq: 1;\n\tbool broken_mqprio: 1;\n};\n\nstruct tc_tbf_qopt_offload_replace_params {\n\tstruct psched_ratecfg rate;\n\tu32 max_size;\n\tstruct gnet_stats_queue *qstats;\n};\n\nstruct tc_tbf_qopt_offload {\n\tenum tc_tbf_command command;\n\tu32 handle;\n\tu32 parent;\n\tunion {\n\t\tstruct tc_tbf_qopt_offload_replace_params replace_params;\n\t\tstruct tc_qopt_offload_stats stats;\n\t\tu32 child_handle;\n\t};\n};\n\nstruct tcamsg {\n\tunsigned char tca_family;\n\tunsigned char tca__pad1;\n\tshort unsigned int tca__pad2;\n};\n\nstruct tcf_walker {\n\tint stop;\n\tint skip;\n\tint count;\n\tbool nonempty;\n\tlong unsigned int cookie;\n\tint (*fn)(struct tcf_proto *, void *, struct tcf_walker *);\n};\n\nstruct tcf_bind_args {\n\tstruct tcf_walker w;\n\tlong unsigned int base;\n\tlong unsigned int cl;\n\tu32 classid;\n};\n\nstruct tcf_block {\n\tstruct xarray ports;\n\tstruct mutex lock;\n\tstruct list_head chain_list;\n\tu32 index;\n\tu32 classid;\n\trefcount_t refcnt;\n\tstruct net *net;\n\tstruct Qdisc *q;\n\tstruct rw_semaphore cb_lock;\n\tstruct flow_block flow_block;\n\tstruct list_head owner_list;\n\tbool keep_dst;\n\tatomic_t useswcnt;\n\tatomic_t offloadcnt;\n\tunsigned int nooffloaddevcnt;\n\tunsigned int lockeddevcnt;\n\tstruct {\n\t\tstruct tcf_chain *chain;\n\t\tstruct list_head filter_chain_list;\n\t} chain0;\n\tstruct callback_head rcu;\n\tstruct hlist_head proto_destroy_ht[128];\n\tstruct mutex proto_destroy_lock;\n};\n\ntypedef void tcf_chain_head_change_t(struct tcf_proto *, void *);\n\nstruct tcf_block_ext_info {\n\tenum flow_block_binder_type binder_type;\n\ttcf_chain_head_change_t *chain_head_change;\n\tvoid *chain_head_change_priv;\n\tu32 block_index;\n};\n\nstruct tcf_block_owner_item {\n\tstruct list_head list;\n\tstruct Qdisc *q;\n\tenum flow_block_binder_type binder_type;\n};\n\nstruct tcf_proto_ops;\n\nstruct tcf_chain {\n\tstruct mutex filter_chain_lock;\n\tstruct tcf_proto *filter_chain;\n\tstruct list_head list;\n\tstruct tcf_block *block;\n\tu32 index;\n\tunsigned int refcnt;\n\tunsigned int action_refcnt;\n\tbool explicitly_created;\n\tbool flushing;\n\tconst struct tcf_proto_ops *tmplt_ops;\n\tvoid *tmplt_priv;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_chain_info {\n\tstruct tcf_proto **pprev;\n\tstruct tcf_proto *next;\n};\n\nstruct tcf_dump_args {\n\tstruct tcf_walker w;\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n\tstruct tcf_block *block;\n\tstruct Qdisc *q;\n\tu32 parent;\n\tbool terse_dump;\n};\n\nstruct tcf_exts_miss_cookie_node;\n\nstruct tcf_exts {\n\t__u32 type;\n\tint nr_actions;\n\tstruct tc_action **actions;\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n\tstruct tcf_exts_miss_cookie_node *miss_cookie_node;\n\tint action;\n\tint police;\n};\n\nunion tcf_exts_miss_cookie {\n\tstruct {\n\t\tu32 miss_cookie_base;\n\t\tu32 act_index;\n\t};\n\tu64 miss_cookie;\n};\n\nstruct tcf_exts_miss_cookie_node {\n\tconst struct tcf_chain *chain;\n\tconst struct tcf_proto *tp;\n\tconst struct tcf_exts *exts;\n\tu32 chain_index;\n\tu32 tp_prio;\n\tu32 handle;\n\tu32 miss_cookie_base;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_filter_chain_list_item {\n\tstruct list_head list;\n\ttcf_chain_head_change_t *chain_head_change;\n\tvoid *chain_head_change_priv;\n};\n\nstruct tcf_idrinfo {\n\tstruct mutex lock;\n\tstruct idr action_idr;\n\tstruct net *net;\n};\n\nstruct tcf_net {\n\tspinlock_t idr_lock;\n\tstruct idr idr;\n};\n\nstruct tcf_pedit_parms;\n\nstruct tcf_pedit {\n\tstruct tc_action common;\n\tstruct tcf_pedit_parms *parms;\n\tlong: 64;\n};\n\nstruct tcf_pedit_key_ex {\n\tenum pedit_header_type htype;\n\tenum pedit_cmd cmd;\n};\n\nstruct tcf_pedit_parms {\n\tstruct tc_pedit_key *tcfp_keys;\n\tstruct tcf_pedit_key_ex *tcfp_keys_ex;\n\tu32 tcfp_off_max_hint;\n\tunsigned char tcfp_nkeys;\n\tunsigned char tcfp_flags;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_proto {\n\tstruct tcf_proto *next;\n\tvoid *root;\n\tint (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *);\n\t__be16 protocol;\n\tu32 prio;\n\tvoid *data;\n\tconst struct tcf_proto_ops *ops;\n\tstruct tcf_chain *chain;\n\tspinlock_t lock;\n\tbool deleting;\n\tbool counted;\n\tbool usesw;\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tstruct hlist_node destroy_ht_node;\n};\n\nstruct tcf_proto_ops {\n\tstruct list_head head;\n\tchar kind[16];\n\tint (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *);\n\tint (*init)(struct tcf_proto *);\n\tvoid (*destroy)(struct tcf_proto *, bool, struct netlink_ext_ack *);\n\tvoid * (*get)(struct tcf_proto *, u32);\n\tvoid (*put)(struct tcf_proto *, void *);\n\tint (*change)(struct net *, struct sk_buff *, struct tcf_proto *, long unsigned int, u32, struct nlattr **, void **, u32, struct netlink_ext_ack *);\n\tint (*delete)(struct tcf_proto *, void *, bool *, bool, struct netlink_ext_ack *);\n\tbool (*delete_empty)(struct tcf_proto *);\n\tvoid (*walk)(struct tcf_proto *, struct tcf_walker *, bool);\n\tint (*reoffload)(struct tcf_proto *, bool, flow_setup_cb_t *, void *, struct netlink_ext_ack *);\n\tvoid (*hw_add)(struct tcf_proto *, void *);\n\tvoid (*hw_del)(struct tcf_proto *, void *);\n\tvoid (*bind_class)(void *, u32, long unsigned int, void *, long unsigned int);\n\tvoid * (*tmplt_create)(struct net *, struct tcf_chain *, struct nlattr **, struct netlink_ext_ack *);\n\tvoid (*tmplt_destroy)(void *);\n\tvoid (*tmplt_reoffload)(struct tcf_chain *, bool, flow_setup_cb_t *, void *);\n\tstruct tcf_exts * (*get_exts)(const struct tcf_proto *, u32);\n\tint (*dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool);\n\tint (*terse_dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool);\n\tint (*tmplt_dump)(struct sk_buff *, struct net *, void *);\n\tstruct module *owner;\n\tint flags;\n};\n\nstruct tcf_qevent {\n\tstruct tcf_block *block;\n\tstruct tcf_block_ext_info info;\n\tstruct tcf_proto *filter_chain;\n};\n\nstruct tcf_result {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int class;\n\t\t\tu32 classid;\n\t\t};\n\t\tconst struct tcf_proto *goto_tp;\n\t};\n};\n\nstruct tcg_efi_specid_event_algs {\n\tu16 alg_id;\n\tu16 digest_size;\n};\n\nstruct tcg_efi_specid_event_head {\n\tu8 signature[16];\n\tu32 platform_class;\n\tu8 spec_version_minor;\n\tu8 spec_version_major;\n\tu8 spec_errata;\n\tu8 uintnsize;\n\tu32 num_algs;\n\tstruct tcg_efi_specid_event_algs digest_sizes[0];\n};\n\nstruct tcg_event_field {\n\tu32 event_size;\n\tu8 event[0];\n};\n\nstruct tcg_pcr_event {\n\tu32 pcr_idx;\n\tu32 event_type;\n\tu8 digest[20];\n\tu32 event_size;\n\tu8 event[0];\n};\n\nstruct tpm_digest {\n\tu16 alg_id;\n\tu8 digest[64];\n};\n\nstruct tcg_pcr_event2_head {\n\tu32 pcr_idx;\n\tu32 event_type;\n\tu32 count;\n\tstruct tpm_digest digests[0];\n};\n\nstruct tcmsg {\n\tunsigned char tcm_family;\n\tunsigned char tcm__pad1;\n\tshort unsigned int tcm__pad2;\n\tint tcm_ifindex;\n\t__u32 tcm_handle;\n\t__u32 tcm_parent;\n\t__u32 tcm_info;\n};\n\nstruct tcp_options_received {\n\tint ts_recent_stamp;\n\tu32 ts_recent;\n\tu32 rcv_tsval;\n\tu32 rcv_tsecr;\n\tu16 saw_tstamp: 1;\n\tu16 tstamp_ok: 1;\n\tu16 dsack: 1;\n\tu16 wscale_ok: 1;\n\tu16 sack_ok: 3;\n\tu16 smc_ok: 1;\n\tu16 snd_wscale: 4;\n\tu16 rcv_wscale: 4;\n\tu8 saw_unknown: 1;\n\tu8 unused: 7;\n\tu8 num_sacks;\n\tu16 user_mss;\n\tu16 mss_clamp;\n};\n\nstruct tcp_rack {\n\tu64 mstamp;\n\tu32 rtt_us;\n\tu32 end_seq;\n\tu32 last_delivered;\n\tu8 reo_wnd_steps;\n\tu8 reo_wnd_persist: 5;\n\tu8 dsack_seen: 1;\n\tu8 advanced: 1;\n};\n\nstruct tcp_sack_block {\n\tu32 start_seq;\n\tu32 end_seq;\n};\n\nstruct tcp_fastopen_request;\n\nstruct tcp_sock {\n\tstruct inet_connection_sock inet_conn;\n\t__u8 __cacheline_group_begin__tcp_sock_read_tx[0];\n\tu32 max_window;\n\tu32 rcv_ssthresh;\n\tu32 reordering;\n\tu32 notsent_lowat;\n\tu16 gso_segs;\n\tstruct sk_buff *lost_skb_hint;\n\tstruct sk_buff *retransmit_skb_hint;\n\t__u8 __cacheline_group_end__tcp_sock_read_tx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_read_txrx[0];\n\tu32 tsoffset;\n\tu32 snd_wnd;\n\tu32 mss_cache;\n\tu32 snd_cwnd;\n\tu32 prr_out;\n\tu32 lost_out;\n\tu32 sacked_out;\n\tu16 tcp_header_len;\n\tu8 scaling_ratio;\n\tu8 chrono_type: 2;\n\tu8 repair: 1;\n\tu8 tcp_usec_ts: 1;\n\tu8 is_sack_reneg: 1;\n\tu8 is_cwnd_limited: 1;\n\t__u8 __cacheline_group_end__tcp_sock_read_txrx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_read_rx[0];\n\tu32 copied_seq;\n\tu32 rcv_tstamp;\n\tu32 snd_wl1;\n\tu32 tlp_high_seq;\n\tu32 rttvar_us;\n\tu32 retrans_out;\n\tu16 advmss;\n\tu16 urg_data;\n\tu32 lost;\n\tstruct minmax rtt_min;\n\tstruct rb_root out_of_order_queue;\n\tu32 snd_ssthresh;\n\tu8 recvmsg_inq: 1;\n\t__u8 __cacheline_group_end__tcp_sock_read_rx[0];\n\tlong: 64;\n\tlong: 64;\n\t__u8 __cacheline_group_begin__tcp_sock_write_tx[0];\n\tu32 segs_out;\n\tu32 data_segs_out;\n\tu64 bytes_sent;\n\tu32 snd_sml;\n\tu32 chrono_start;\n\tu32 chrono_stat[3];\n\tu32 write_seq;\n\tu32 pushed_seq;\n\tu32 lsndtime;\n\tu32 mdev_us;\n\tu32 rtt_seq;\n\tu64 tcp_wstamp_ns;\n\tstruct list_head tsorted_sent_queue;\n\tstruct sk_buff *highest_sack;\n\tu8 ecn_flags;\n\t__u8 __cacheline_group_end__tcp_sock_write_tx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_write_txrx[0];\n\t__be32 pred_flags;\n\tu64 tcp_clock_cache;\n\tu64 tcp_mstamp;\n\tu32 rcv_nxt;\n\tu32 snd_nxt;\n\tu32 snd_una;\n\tu32 window_clamp;\n\tu32 srtt_us;\n\tu32 packets_out;\n\tu32 snd_up;\n\tu32 delivered;\n\tu32 delivered_ce;\n\tu32 app_limited;\n\tu32 rcv_wnd;\n\tstruct tcp_options_received rx_opt;\n\tu8 nonagle: 4;\n\tu8 rate_app_limited: 1;\n\t__u8 __cacheline_group_end__tcp_sock_write_txrx[0];\n\tlong: 0;\n\t__u8 __cacheline_group_begin__tcp_sock_write_rx[0];\n\tu64 bytes_received;\n\tu32 segs_in;\n\tu32 data_segs_in;\n\tu32 rcv_wup;\n\tu32 max_packets_out;\n\tu32 cwnd_usage_seq;\n\tu32 rate_delivered;\n\tu32 rate_interval_us;\n\tu32 rcv_rtt_last_tsecr;\n\tu64 first_tx_mstamp;\n\tu64 delivered_mstamp;\n\tu64 bytes_acked;\n\tstruct {\n\t\tu32 rtt_us;\n\t\tu32 seq;\n\t\tu64 time;\n\t} rcv_rtt_est;\n\tstruct {\n\t\tu32 space;\n\t\tu32 seq;\n\t\tu64 time;\n\t} rcvq_space;\n\t__u8 __cacheline_group_end__tcp_sock_write_rx[0];\n\tu32 dsack_dups;\n\tu32 compressed_ack_rcv_nxt;\n\tstruct list_head tsq_node;\n\tstruct tcp_rack rack;\n\tu8 compressed_ack;\n\tu8 dup_ack_counter: 2;\n\tu8 tlp_retrans: 1;\n\tu8 unused: 5;\n\tu8 thin_lto: 1;\n\tu8 fastopen_connect: 1;\n\tu8 fastopen_no_cookie: 1;\n\tu8 fastopen_client_fail: 2;\n\tu8 frto: 1;\n\tu8 repair_queue;\n\tu8 save_syn: 2;\n\tu8 syn_data: 1;\n\tu8 syn_fastopen: 1;\n\tu8 syn_fastopen_exp: 1;\n\tu8 syn_fastopen_ch: 1;\n\tu8 syn_data_acked: 1;\n\tu8 keepalive_probes;\n\tu32 tcp_tx_delay;\n\tu32 mdev_max_us;\n\tu32 reord_seen;\n\tu32 snd_cwnd_cnt;\n\tu32 snd_cwnd_clamp;\n\tu32 snd_cwnd_used;\n\tu32 snd_cwnd_stamp;\n\tu32 prior_cwnd;\n\tu32 prr_delivered;\n\tu32 last_oow_ack_time;\n\tstruct hrtimer pacing_timer;\n\tstruct hrtimer compressed_ack_timer;\n\tstruct sk_buff *ooo_last_skb;\n\tstruct tcp_sack_block duplicate_sack[1];\n\tstruct tcp_sack_block selective_acks[4];\n\tstruct tcp_sack_block recv_sack_cache[4];\n\tint lost_cnt_hint;\n\tu32 prior_ssthresh;\n\tu32 high_seq;\n\tu32 retrans_stamp;\n\tu32 undo_marker;\n\tint undo_retrans;\n\tu64 bytes_retrans;\n\tu32 total_retrans;\n\tu32 rto_stamp;\n\tu16 total_rto;\n\tu16 total_rto_recoveries;\n\tu32 total_rto_time;\n\tu32 urg_seq;\n\tunsigned int keepalive_time;\n\tunsigned int keepalive_intvl;\n\tint linger2;\n\tu8 bpf_sock_ops_cb_flags;\n\tu8 bpf_chg_cc_inprogress: 1;\n\tu16 timeout_rehash;\n\tu32 rcv_ooopack;\n\tstruct {\n\t\tu32 probe_seq_start;\n\t\tu32 probe_seq_end;\n\t} mtu_probe;\n\tu32 plb_rehash;\n\tu32 mtu_info;\n\tstruct tcp_fastopen_request *fastopen_req;\n\tstruct request_sock *fastopen_rsk;\n\tstruct saved_syn *saved_syn;\n\tlong: 64;\n};\n\nstruct tcp6_sock {\n\tstruct tcp_sock tcp;\n\tstruct ipv6_pinfo inet6;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion tcp_ao_addr {\n\tstruct in_addr a4;\n\tstruct in6_addr a6;\n};\n\nstruct tcp_ao_hdr {\n\tu8 kind;\n\tu8 length;\n\tu8 keyid;\n\tu8 rnext_keyid;\n};\n\nstruct tcp_ao_key {\n\tstruct hlist_node node;\n\tunion tcp_ao_addr addr;\n\tu8 key[80];\n\tunsigned int tcp_sigpool_id;\n\tunsigned int digest_size;\n\tint l3index;\n\tu8 prefixlen;\n\tu8 family;\n\tu8 keylen;\n\tu8 keyflags;\n\tu8 sndid;\n\tu8 rcvid;\n\tu8 maclen;\n\tstruct callback_head rcu;\n\tatomic64_t pkt_good;\n\tatomic64_t pkt_bad;\n\tu8 traffic_keys[0];\n};\n\nstruct tcp_bbr_info {\n\t__u32 bbr_bw_lo;\n\t__u32 bbr_bw_hi;\n\t__u32 bbr_min_rtt;\n\t__u32 bbr_pacing_gain;\n\t__u32 bbr_cwnd_gain;\n};\n\nstruct tcpvegas_info {\n\t__u32 tcpv_enabled;\n\t__u32 tcpv_rttcnt;\n\t__u32 tcpv_rtt;\n\t__u32 tcpv_minrtt;\n};\n\nstruct tcp_dctcp_info {\n\t__u16 dctcp_enabled;\n\t__u16 dctcp_ce_state;\n\t__u32 dctcp_alpha;\n\t__u32 dctcp_ab_ecn;\n\t__u32 dctcp_ab_tot;\n};\n\nunion tcp_cc_info {\n\tstruct tcpvegas_info vegas;\n\tstruct tcp_dctcp_info dctcp;\n\tstruct tcp_bbr_info bbr;\n};\n\nstruct tcp_fastopen_context {\n\tsiphash_key_t key[2];\n\tint num;\n\tstruct callback_head rcu;\n};\n\nstruct tcp_fastopen_cookie {\n\t__le64 val[2];\n\ts8 len;\n\tbool exp;\n};\n\nstruct tcp_fastopen_metrics {\n\tu16 mss;\n\tu16 syn_loss: 10;\n\tu16 try_exp: 2;\n\tlong unsigned int last_syn_loss;\n\tstruct tcp_fastopen_cookie cookie;\n};\n\nstruct tcp_fastopen_request {\n\tstruct tcp_fastopen_cookie cookie;\n\tstruct msghdr *data;\n\tsize_t size;\n\tint copied;\n\tstruct ubuf_info *uarg;\n};\n\nstruct tcp_info {\n\t__u8 tcpi_state;\n\t__u8 tcpi_ca_state;\n\t__u8 tcpi_retransmits;\n\t__u8 tcpi_probes;\n\t__u8 tcpi_backoff;\n\t__u8 tcpi_options;\n\t__u8 tcpi_snd_wscale: 4;\n\t__u8 tcpi_rcv_wscale: 4;\n\t__u8 tcpi_delivery_rate_app_limited: 1;\n\t__u8 tcpi_fastopen_client_fail: 2;\n\t__u32 tcpi_rto;\n\t__u32 tcpi_ato;\n\t__u32 tcpi_snd_mss;\n\t__u32 tcpi_rcv_mss;\n\t__u32 tcpi_unacked;\n\t__u32 tcpi_sacked;\n\t__u32 tcpi_lost;\n\t__u32 tcpi_retrans;\n\t__u32 tcpi_fackets;\n\t__u32 tcpi_last_data_sent;\n\t__u32 tcpi_last_ack_sent;\n\t__u32 tcpi_last_data_recv;\n\t__u32 tcpi_last_ack_recv;\n\t__u32 tcpi_pmtu;\n\t__u32 tcpi_rcv_ssthresh;\n\t__u32 tcpi_rtt;\n\t__u32 tcpi_rttvar;\n\t__u32 tcpi_snd_ssthresh;\n\t__u32 tcpi_snd_cwnd;\n\t__u32 tcpi_advmss;\n\t__u32 tcpi_reordering;\n\t__u32 tcpi_rcv_rtt;\n\t__u32 tcpi_rcv_space;\n\t__u32 tcpi_total_retrans;\n\t__u64 tcpi_pacing_rate;\n\t__u64 tcpi_max_pacing_rate;\n\t__u64 tcpi_bytes_acked;\n\t__u64 tcpi_bytes_received;\n\t__u32 tcpi_segs_out;\n\t__u32 tcpi_segs_in;\n\t__u32 tcpi_notsent_bytes;\n\t__u32 tcpi_min_rtt;\n\t__u32 tcpi_data_segs_in;\n\t__u32 tcpi_data_segs_out;\n\t__u64 tcpi_delivery_rate;\n\t__u64 tcpi_busy_time;\n\t__u64 tcpi_rwnd_limited;\n\t__u64 tcpi_sndbuf_limited;\n\t__u32 tcpi_delivered;\n\t__u32 tcpi_delivered_ce;\n\t__u64 tcpi_bytes_sent;\n\t__u64 tcpi_bytes_retrans;\n\t__u32 tcpi_dsack_dups;\n\t__u32 tcpi_reord_seen;\n\t__u32 tcpi_rcv_ooopack;\n\t__u32 tcpi_snd_wnd;\n\t__u32 tcpi_rcv_wnd;\n\t__u32 tcpi_rehash;\n\t__u16 tcpi_total_rto;\n\t__u16 tcpi_total_rto_recoveries;\n\t__u32 tcpi_total_rto_time;\n};\n\nstruct tcp_md5sig_key;\n\nstruct tcp_key {\n\tunion {\n\t\tstruct {\n\t\t\tstruct tcp_ao_key *ao_key;\n\t\t\tchar *traffic_key;\n\t\t\tu32 sne;\n\t\t\tu8 rcv_next;\n\t\t};\n\t\tstruct tcp_md5sig_key *md5_key;\n\t};\n\tenum {\n\t\tTCP_KEY_NONE = 0,\n\t\tTCP_KEY_MD5 = 1,\n\t\tTCP_KEY_AO = 2,\n\t} type;\n};\n\nstruct tcp_md5sig_key {\n\tstruct hlist_node node;\n\tu8 keylen;\n\tu8 family;\n\tu8 prefixlen;\n\tu8 flags;\n\tunion tcp_ao_addr addr;\n\tint l3index;\n\tu8 key[80];\n\tstruct callback_head rcu;\n};\n\nstruct tcp_metrics_block {\n\tstruct tcp_metrics_block *tcpm_next;\n\tstruct net *tcpm_net;\n\tstruct inetpeer_addr tcpm_saddr;\n\tstruct inetpeer_addr tcpm_daddr;\n\tlong unsigned int tcpm_stamp;\n\tu32 tcpm_lock;\n\tu32 tcpm_vals[5];\n\tstruct tcp_fastopen_metrics tcpm_fastopen;\n\tstruct callback_head callback_head;\n};\n\nstruct tcp_mib {\n\tlong unsigned int mibs[16];\n};\n\nstruct tcp_out_options {\n\tu16 options;\n\tu16 mss;\n\tu8 ws;\n\tu8 num_sack_blocks;\n\tu8 hash_size;\n\tu8 bpf_opt_len;\n\t__u8 *hash_location;\n\t__u32 tsval;\n\t__u32 tsecr;\n\tstruct tcp_fastopen_cookie *fastopen_cookie;\n\tstruct mptcp_out_options mptcp;\n};\n\nstruct tcp_plb_state {\n\tu8 consec_cong_rounds: 5;\n\tu8 unused: 3;\n\tu32 pause_until;\n};\n\nstruct tcp_repair_opt {\n\t__u32 opt_code;\n\t__u32 opt_val;\n};\n\nstruct tcp_repair_window {\n\t__u32 snd_wl1;\n\t__u32 snd_wnd;\n\t__u32 max_window;\n\t__u32 rcv_wnd;\n\t__u32 rcv_wup;\n};\n\nstruct tcp_request_sock_ops;\n\nstruct tcp_request_sock {\n\tstruct inet_request_sock req;\n\tconst struct tcp_request_sock_ops *af_specific;\n\tu64 snt_synack;\n\tbool tfo_listener;\n\tbool is_mptcp;\n\tbool req_usec_ts;\n\tu32 txhash;\n\tu32 rcv_isn;\n\tu32 snt_isn;\n\tu32 ts_off;\n\tu32 last_oow_ack_time;\n\tu32 rcv_nxt;\n\tu8 syn_tos;\n};\n\nstruct tcp_request_sock_ops {\n\tu16 mss_clamp;\n\tstruct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *, u32);\n\tu32 (*init_seq)(const struct sk_buff *);\n\tu32 (*init_ts_off)(const struct net *, const struct sk_buff *);\n\tint (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);\n};\n\nstruct tcp_sack_block_wire {\n\t__be32 start_seq;\n\t__be32 end_seq;\n};\n\nstruct tcp_sacktag_state {\n\tu64 first_sackt;\n\tu64 last_sackt;\n\tu32 reord;\n\tu32 sack_delivered;\n\tint flag;\n\tunsigned int mss_now;\n\tstruct rate_sample *rate;\n};\n\nstruct tcp_seq_afinfo {\n\tsa_family_t family;\n};\n\nstruct tcp_skb_cb {\n\t__u32 seq;\n\t__u32 end_seq;\n\tunion {\n\t\tstruct {\n\t\t\tu16 tcp_gso_segs;\n\t\t\tu16 tcp_gso_size;\n\t\t};\n\t};\n\t__u8 tcp_flags;\n\t__u8 sacked;\n\t__u8 ip_dsfield;\n\t__u8 txstamp_ack: 1;\n\t__u8 eor: 1;\n\t__u8 has_rxtstamp: 1;\n\t__u8 unused: 5;\n\t__u32 ack_seq;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 is_app_limited: 1;\n\t\t\t__u32 delivered_ce: 20;\n\t\t\t__u32 unused: 11;\n\t\t\t__u32 delivered;\n\t\t\tu64 first_tx_mstamp;\n\t\t\tu64 delivered_mstamp;\n\t\t} tx;\n\t\tunion {\n\t\t\tstruct inet_skb_parm h4;\n\t\t\tstruct inet6_skb_parm h6;\n\t\t} header;\n\t};\n};\n\nstruct tcp_splice_state {\n\tstruct pipe_inode_info *pipe;\n\tsize_t len;\n\tunsigned int flags;\n};\n\nstruct tcp_timewait_sock {\n\tstruct inet_timewait_sock tw_sk;\n\tu32 tw_rcv_wnd;\n\tu32 tw_ts_offset;\n\tu32 tw_ts_recent;\n\tu32 tw_last_oow_ack_time;\n\tint tw_ts_recent_stamp;\n\tu32 tw_tx_delay;\n};\n\nstruct tcp_ulp_ops {\n\tstruct list_head list;\n\tint (*init)(struct sock *);\n\tvoid (*update)(struct sock *, struct proto *, void (*)(struct sock *));\n\tvoid (*release)(struct sock *);\n\tint (*get_info)(struct sock *, struct sk_buff *);\n\tsize_t (*get_info_size)(const struct sock *);\n\tvoid (*clone)(const struct request_sock *, struct sock *, const gfp_t);\n\tchar name[16];\n\tstruct module *owner;\n};\n\nstruct tcphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be32 seq;\n\t__be32 ack_seq;\n\t__u16 res1: 4;\n\t__u16 doff: 4;\n\t__u16 fin: 1;\n\t__u16 syn: 1;\n\t__u16 rst: 1;\n\t__u16 psh: 1;\n\t__u16 ack: 1;\n\t__u16 urg: 1;\n\t__u16 ece: 1;\n\t__u16 cwr: 1;\n\t__be16 window;\n\t__sum16 check;\n\t__be16 urg_ptr;\n};\n\nunion tcp_word_hdr {\n\tstruct tcphdr hdr;\n\t__be32 words[5];\n};\n\nstruct tcp_xa_pool {\n\tu8 max;\n\tu8 idx;\n\t__u32 tokens[17];\n\tnetmem_ref netmems[17];\n};\n\nstruct tcp_zerocopy_receive {\n\t__u64 address;\n\t__u32 length;\n\t__u32 recv_skip_hint;\n\t__u32 inq;\n\t__s32 err;\n\t__u64 copybuf_address;\n\t__s32 copybuf_len;\n\t__u32 flags;\n\t__u64 msg_control;\n\t__u64 msg_controllen;\n\t__u32 msg_flags;\n\t__u32 reserved;\n};\n\nstruct tcpa_event {\n\tu32 pcr_index;\n\tu32 event_type;\n\tu8 pcr_value[20];\n\tu32 event_size;\n\tu8 event_data[0];\n};\n\nstruct tcpa_pc_event {\n\tu32 event_id;\n\tu32 event_size;\n\tu8 event_data[0];\n};\n\nstruct tcpm_hash_bucket {\n\tstruct tcp_metrics_block *chain;\n};\n\nstruct tcs_type_config {\n\tu32 type;\n\tu32 n;\n};\n\nstruct tcx_entry {\n\tstruct mini_Qdisc *miniq;\n\tstruct bpf_mprog_bundle bundle;\n\tu32 miniq_active;\n\tstruct callback_head rcu;\n};\n\nstruct tcx_link {\n\tstruct bpf_link link;\n\tstruct net_device *dev;\n\tu32 location;\n};\n\nstruct td {\n\t__hc32 hwINFO;\n\t__hc32 hwCBP;\n\t__hc32 hwNextTD;\n\t__hc32 hwBE;\n\t__hc16 hwPSW[2];\n\t__u8 index;\n\tstruct ed *ed;\n\tstruct td *td_hash;\n\tstruct td *next_dl_td;\n\tstruct urb *urb;\n\tdma_addr_t td_dma;\n\tdma_addr_t data_dma;\n\tstruct list_head td_list;\n\tlong: 64;\n};\n\nstruct td_node {\n\tstruct list_head td;\n\tdma_addr_t dma;\n\tstruct ci_hw_td *ptr;\n\tint td_remaining_size;\n};\n\nstruct tee_bnxt_fw_private {\n\tstruct device *dev;\n\tstruct tee_context *ctx;\n\tu32 session_id;\n\tstruct tee_shm *fw_shm_pool;\n};\n\nstruct tee_client_device_id {\n\tuuid_t uuid;\n};\n\nstruct tee_client_device {\n\tstruct tee_client_device_id id;\n\tstruct device dev;\n};\n\nstruct tee_client_driver {\n\tconst struct tee_client_device_id *id_table;\n\tstruct device_driver driver;\n};\n\nstruct tee_context {\n\tstruct tee_device *teedev;\n\tvoid *data;\n\tstruct kref refcount;\n\tbool releasing;\n\tbool supp_nowait;\n\tbool cap_memref_null;\n};\n\nstruct tee_driver_ops;\n\nstruct tee_desc {\n\tconst char *name;\n\tconst struct tee_driver_ops *ops;\n\tstruct module *owner;\n\tu32 flags;\n};\n\nstruct tee_device {\n\tchar name[32];\n\tconst struct tee_desc *desc;\n\tint id;\n\tunsigned int flags;\n\tstruct device dev;\n\tstruct cdev cdev;\n\tsize_t num_users;\n\tstruct completion c_no_users;\n\tstruct mutex mutex;\n\tstruct idr idr;\n\tstruct tee_shm_pool *pool;\n};\n\nstruct tee_ioctl_open_session_arg;\n\nstruct tee_ioctl_invoke_arg;\n\nstruct tee_driver_ops {\n\tvoid (*get_version)(struct tee_device *, struct tee_ioctl_version_data *);\n\tint (*open)(struct tee_context *);\n\tvoid (*release)(struct tee_context *);\n\tint (*open_session)(struct tee_context *, struct tee_ioctl_open_session_arg *, struct tee_param *);\n\tint (*close_session)(struct tee_context *, u32);\n\tint (*system_session)(struct tee_context *, u32);\n\tint (*invoke_func)(struct tee_context *, struct tee_ioctl_invoke_arg *, struct tee_param *);\n\tint (*cancel_req)(struct tee_context *, u32, u32);\n\tint (*supp_recv)(struct tee_context *, u32 *, u32 *, struct tee_param *);\n\tint (*supp_send)(struct tee_context *, u32, u32, struct tee_param *);\n\tint (*shm_register)(struct tee_context *, struct tee_shm *, struct page **, size_t, long unsigned int);\n\tint (*shm_unregister)(struct tee_context *, struct tee_shm *);\n};\n\nstruct tee_ioctl_param {\n\t__u64 attr;\n\t__u64 a;\n\t__u64 b;\n\t__u64 c;\n};\n\nstruct tee_iocl_supp_recv_arg {\n\t__u32 func;\n\t__u32 num_params;\n\tstruct tee_ioctl_param params[0];\n};\n\nstruct tee_iocl_supp_send_arg {\n\t__u32 ret;\n\t__u32 num_params;\n\tstruct tee_ioctl_param params[0];\n};\n\nstruct tee_ioctl_buf_data {\n\t__u64 buf_ptr;\n\t__u64 buf_len;\n};\n\nstruct tee_ioctl_cancel_arg {\n\t__u32 cancel_id;\n\t__u32 session;\n};\n\nstruct tee_ioctl_close_session_arg {\n\t__u32 session;\n};\n\nstruct tee_ioctl_invoke_arg {\n\t__u32 func;\n\t__u32 session;\n\t__u32 cancel_id;\n\t__u32 ret;\n\t__u32 ret_origin;\n\t__u32 num_params;\n\tstruct tee_ioctl_param params[0];\n};\n\nstruct tee_ioctl_open_session_arg {\n\t__u8 uuid[16];\n\t__u8 clnt_uuid[16];\n\t__u32 clnt_login;\n\t__u32 cancel_id;\n\t__u32 session;\n\t__u32 ret;\n\t__u32 ret_origin;\n\t__u32 num_params;\n\tstruct tee_ioctl_param params[0];\n};\n\nstruct tee_ioctl_shm_alloc_data {\n\t__u64 size;\n\t__u32 flags;\n\t__s32 id;\n};\n\nstruct tee_ioctl_shm_register_data {\n\t__u64 addr;\n\t__u64 length;\n\t__u32 flags;\n\t__s32 id;\n};\n\nstruct tee_ioctl_version_data {\n\t__u32 impl_id;\n\t__u32 impl_caps;\n\t__u32 gen_caps;\n};\n\nstruct tee_param_memref {\n\tsize_t shm_offs;\n\tsize_t size;\n\tstruct tee_shm *shm;\n};\n\nstruct tee_param_value {\n\tu64 a;\n\tu64 b;\n\tu64 c;\n};\n\nstruct tee_param {\n\tu64 attr;\n\tunion {\n\t\tstruct tee_param_memref memref;\n\t\tstruct tee_param_value value;\n\t} u;\n};\n\nstruct tee_shm {\n\tstruct tee_context *ctx;\n\tphys_addr_t paddr;\n\tvoid *kaddr;\n\tsize_t size;\n\tunsigned int offset;\n\tstruct page **pages;\n\tsize_t num_pages;\n\trefcount_t refcount;\n\tu32 flags;\n\tint id;\n\tu64 sec_world_id;\n};\n\nstruct tee_shm_pool_ops;\n\nstruct tee_shm_pool {\n\tconst struct tee_shm_pool_ops *ops;\n\tvoid *private_data;\n};\n\nstruct tee_shm_pool_ops {\n\tint (*alloc)(struct tee_shm_pool *, struct tee_shm *, size_t, size_t);\n\tvoid (*free)(struct tee_shm_pool *, struct tee_shm *);\n\tvoid (*destroy_pool)(struct tee_shm_pool *);\n};\n\nstruct tegra124_cpufreq_priv {\n\tstruct clk *cpu_clk;\n\tstruct clk *pllp_clk;\n\tstruct clk *pllx_clk;\n\tstruct clk *dfll_clk;\n\tstruct platform_device *cpufreq_dt_pdev;\n};\n\nstruct tegra124_xusb_fuse_calibration {\n\tu32 hs_curr_level[3];\n\tu32 hs_iref_cap;\n\tu32 hs_term_range_adj;\n\tu32 hs_squelch_level;\n};\n\nstruct tegra_xusb_padctl_soc;\n\nstruct tegra_xusb_pad;\n\nstruct tegra_xusb_padctl {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct mutex lock;\n\tstruct reset_control *rst;\n\tconst struct tegra_xusb_padctl_soc *soc;\n\tstruct tegra_xusb_pad *pcie;\n\tstruct tegra_xusb_pad *sata;\n\tstruct tegra_xusb_pad *ulpi;\n\tstruct tegra_xusb_pad *usb2;\n\tstruct tegra_xusb_pad *hsic;\n\tstruct list_head ports;\n\tstruct list_head lanes;\n\tstruct list_head pads;\n\tunsigned int enable;\n\tstruct clk *clk;\n\tstruct regulator_bulk_data *supplies;\n};\n\nstruct tegra124_xusb_padctl {\n\tstruct tegra_xusb_padctl base;\n\tstruct tegra124_xusb_fuse_calibration fuse;\n};\n\nstruct tegra_bpmp;\n\nstruct tegra186_bpmp {\n\tstruct tegra_bpmp *parent;\n\tstruct {\n\t\tstruct gen_pool *pool;\n\t\tunion {\n\t\t\tvoid *sram;\n\t\t\tvoid *dram;\n\t\t};\n\t\tdma_addr_t phys;\n\t} tx;\n\tstruct {\n\t\tstruct gen_pool *pool;\n\t\tunion {\n\t\t\tvoid *sram;\n\t\t\tvoid *dram;\n\t\t};\n\t\tdma_addr_t phys;\n\t} rx;\n\tstruct {\n\t\tstruct mbox_client client;\n\t\tstruct mbox_chan *channel;\n\t} mbox;\n};\n\nstruct tegra186_cpufreq_cluster {\n\tstruct cpufreq_frequency_table *table;\n\tu32 ref_clk_khz;\n\tu32 div;\n};\n\nstruct tegra186_cpufreq_cpu {\n\tunsigned int bpmp_cluster_id;\n\tunsigned int edvd_offset;\n};\n\nstruct tegra186_cpufreq_data {\n\tvoid *regs;\n\tconst struct tegra186_cpufreq_cpu *cpus;\n\tstruct tegra186_cpufreq_cluster clusters[0];\n};\n\nstruct tegra186_emc_dvfs;\n\nstruct tegra186_emc {\n\tstruct tegra_bpmp *bpmp;\n\tstruct device *dev;\n\tstruct clk *clk;\n\tstruct tegra186_emc_dvfs *dvfs;\n\tunsigned int num_dvfs;\n\tstruct {\n\t\tstruct dentry *root;\n\t\tlong unsigned int min_rate;\n\t\tlong unsigned int max_rate;\n\t} debugfs;\n\tstruct icc_provider provider;\n};\n\nstruct tegra186_emc_dvfs {\n\tlong unsigned int latency;\n\tlong unsigned int rate;\n};\n\nstruct tegra186_pin_range {\n\tunsigned int offset;\n\tconst char *group;\n};\n\nstruct tegra186_timer_soc;\n\nstruct tegra186_wdt;\n\nstruct tegra186_timer {\n\tconst struct tegra186_timer_soc *soc;\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct tegra186_wdt *wdt;\n\tstruct clocksource usec;\n\tstruct clocksource tsc;\n\tstruct clocksource osc;\n};\n\nstruct tegra186_timer_soc {\n\tunsigned int num_timers;\n\tunsigned int num_wdts;\n};\n\nstruct tegra186_tmr {\n\tstruct tegra186_timer *parent;\n\tvoid *regs;\n\tunsigned int index;\n\tunsigned int hwirq;\n};\n\nstruct tegra186_wdt {\n\tstruct watchdog_device base;\n\tvoid *regs;\n\tunsigned int index;\n\tbool locked;\n\tstruct tegra186_tmr *tmr;\n};\n\nstruct tegra_xusb_fuse_calibration {\n\tu32 *hs_curr_level;\n\tu32 hs_squelch;\n\tu32 hs_term_range_adj;\n\tu32 rpd_ctrl;\n};\n\nstruct tegra186_xusb_padctl_context {\n\tu32 vbus_id;\n\tu32 usb2_pad_mux;\n\tu32 usb2_port_cap;\n\tu32 ss_port_cap;\n};\n\nstruct tegra186_xusb_padctl {\n\tstruct tegra_xusb_padctl base;\n\tvoid *ao_regs;\n\tstruct tegra_xusb_fuse_calibration calib;\n\tstruct clk *usb2_trk_clk;\n\tunsigned int bias_pad_enable;\n\tstruct tegra186_xusb_padctl_context context;\n};\n\nstruct tegra194_axi2apb_bridge {\n\tstruct resource res;\n\tvoid *base;\n};\n\nstruct tegra_cbb_ops;\n\nstruct tegra_cbb {\n\tstruct device *dev;\n\tconst struct tegra_cbb_ops *ops;\n\tstruct list_head node;\n};\n\nstruct tegra194_cbb_noc_data;\n\nstruct tegra194_cbb {\n\tstruct tegra_cbb base;\n\tconst struct tegra194_cbb_noc_data *noc;\n\tstruct resource *res;\n\tvoid *regs;\n\tunsigned int num_intr;\n\tunsigned int sec_irq;\n\tunsigned int nonsec_irq;\n\tu32 errlog0;\n\tu32 errlog1;\n\tu32 errlog2;\n\tu32 errlog3;\n\tu32 errlog4;\n\tu32 errlog5;\n\tstruct tegra194_axi2apb_bridge *bridges;\n\tunsigned int num_bridges;\n};\n\nstruct tegra194_cbb_aperture {\n\tu8 initflow;\n\tu8 targflow;\n\tu8 targ_subrange;\n\tu8 init_mapping;\n\tu32 init_localaddress;\n\tu8 targ_mapping;\n\tu32 targ_localaddress;\n\tu16 seqid;\n};\n\nstruct tegra194_cbb_userbits;\n\nstruct tegra194_cbb_noc_data {\n\tconst char *name;\n\tbool erd_mask_inband_err;\n\tconst char * const *master_id;\n\tunsigned int max_aperture;\n\tconst struct tegra194_cbb_aperture *noc_aperture;\n\tconst char * const *routeid_initflow;\n\tconst char * const *routeid_targflow;\n\tvoid (*parse_routeid)(struct tegra194_cbb_aperture *, u64);\n\tvoid (*parse_userbits)(struct tegra194_cbb_userbits *, u32);\n};\n\nstruct tegra194_cbb_packet_header {\n\tbool lock;\n\tu8 opc;\n\tu8 errcode;\n\tu16 len1;\n\tbool format;\n};\n\nstruct tegra194_cbb_userbits {\n\tu8 axcache;\n\tu8 non_mod;\n\tu8 axprot;\n\tu8 falconsec;\n\tu8 grpsec;\n\tu8 vqc;\n\tu8 mstr_id;\n\tu8 axi_id;\n};\n\nstruct tegra_cpufreq_soc;\n\nstruct tegra_cpu_data;\n\nstruct tegra194_cpufreq_data {\n\tvoid *regs;\n\tstruct cpufreq_frequency_table **bpmp_luts;\n\tconst struct tegra_cpufreq_soc *soc;\n\tbool icc_dram_bw_scaling;\n\tstruct tegra_cpu_data *cpu_data;\n};\n\nstruct tegra194_pcie_ecam {\n\tvoid *config_base;\n\tvoid *iatu_base;\n\tvoid *dbi_base;\n};\n\nstruct tegra210_bpmp {\n\tvoid *atomics;\n\tvoid *arb_sema;\n\tstruct irq_data *tx_irq_data;\n};\n\nstruct tegra210_clk_emc_provider;\n\nstruct tegra210_clk_emc {\n\tstruct clk_hw hw;\n\tvoid *regs;\n\tstruct tegra210_clk_emc_provider *provider;\n\tstruct clk *parents[8];\n};\n\nstruct tegra210_clk_emc_config {\n\tlong unsigned int rate;\n\tbool same_freq;\n\tu32 value;\n\tlong unsigned int parent_rate;\n\tu8 parent;\n};\n\nstruct tegra210_clk_emc_provider {\n\tstruct module *owner;\n\tstruct device *dev;\n\tstruct tegra210_clk_emc_config *configs;\n\tunsigned int num_configs;\n\tint (*set_rate)(struct device *, const struct tegra210_clk_emc_config *);\n};\n\nstruct tegra210_domain_mbist_war {\n\tvoid (*handle_lvl2_ovr)(struct tegra210_domain_mbist_war *);\n\tconst u32 lvl2_offset;\n\tconst u32 lvl2_mask;\n\tconst unsigned int num_clks;\n\tconst unsigned int *clk_init_data;\n\tstruct clk_bulk_data *clks;\n};\n\nstruct tegra210_xusb_fuse_calibration {\n\tu32 hs_curr_level[4];\n\tu32 hs_term_range_adj;\n\tu32 rpd_ctrl;\n};\n\nstruct tegra210_xusb_padctl_context {\n\tu32 usb2_pad_mux;\n\tu32 usb2_port_cap;\n\tu32 ss_port_map;\n\tu32 usb3_pad_mux;\n};\n\nstruct tegra210_xusb_padctl {\n\tstruct tegra_xusb_padctl base;\n\tstruct regmap *regmap;\n\tstruct tegra210_xusb_fuse_calibration fuse;\n\tstruct tegra210_xusb_padctl_context context;\n};\n\nstruct tegra234_cbb_fabric;\n\nstruct tegra234_cbb {\n\tstruct tegra_cbb base;\n\tconst struct tegra234_cbb_fabric *fabric;\n\tstruct resource *res;\n\tvoid *regs;\n\tint num_intr;\n\tint sec_irq;\n\tvoid *mon;\n\tunsigned int type;\n\tu32 mask;\n\tu64 access;\n\tu32 mn_attr0;\n\tu32 mn_attr1;\n\tu32 mn_attr2;\n\tu32 mn_user_bits;\n};\n\nstruct tegra234_cbb_acpi_uid {\n\tconst char *hid;\n\tconst char *uid;\n\tconst struct tegra234_cbb_fabric *fabric;\n};\n\nstruct tegra_cbb_error;\n\nstruct tegra234_slave_lookup;\n\nstruct tegra234_cbb_fabric {\n\tconst char *name;\n\tphys_addr_t off_mask_erd;\n\tphys_addr_t firewall_base;\n\tunsigned int firewall_ctl;\n\tunsigned int firewall_wr_ctl;\n\tconst char * const *master_id;\n\tunsigned int notifier_offset;\n\tconst struct tegra_cbb_error *errors;\n\tconst int max_errors;\n\tconst struct tegra234_slave_lookup *slave_map;\n\tconst int max_slaves;\n};\n\nstruct tegra234_slave_lookup {\n\tconst char *name;\n\tunsigned int offset;\n};\n\nstruct tegra_ahb {\n\tvoid *regs;\n\tstruct device *dev;\n\tu32 ctx[0];\n};\n\nstruct tegra_audio2x_clk_initdata {\n\tchar *parent;\n\tchar *gate_name;\n\tchar *name_2x;\n\tchar *div_name;\n\tint clk_id;\n\tint clk_num;\n\tu8 div_offset;\n};\n\nstruct tegra_clk_pll_params;\n\nstruct tegra_audio_clk_info {\n\tchar *name;\n\tstruct tegra_clk_pll_params *pll_params;\n\tint clk_id;\n\tchar *parent;\n};\n\nstruct tegra_audio_clk_initdata {\n\tchar *gate_name;\n\tchar *mux_name;\n\tu32 offset;\n\tint gate_clk_id;\n\tint mux_clk_id;\n};\n\nstruct tegra_baud_tolerance {\n\tu32 lower_range_baud;\n\tu32 upper_range_baud;\n\ts32 tolerance;\n};\n\nstruct tegra_bpmp_soc;\n\nstruct tegra_bpmp_channel;\n\nstruct tegra_bpmp_clk;\n\nstruct tegra_bpmp {\n\tconst struct tegra_bpmp_soc *soc;\n\tstruct device *dev;\n\tvoid *priv;\n\tstruct {\n\t\tstruct mbox_client client;\n\t\tstruct mbox_chan *channel;\n\t} mbox;\n\tspinlock_t atomic_tx_lock;\n\tstruct tegra_bpmp_channel *tx_channel;\n\tstruct tegra_bpmp_channel *rx_channel;\n\tstruct tegra_bpmp_channel *threaded_channels;\n\tstruct {\n\t\tlong unsigned int *allocated;\n\t\tlong unsigned int *busy;\n\t\tunsigned int count;\n\t\tstruct semaphore lock;\n\t} threaded;\n\tstruct list_head mrqs;\n\tspinlock_t lock;\n\tstruct tegra_bpmp_clk **clocks;\n\tunsigned int num_clocks;\n\tstruct reset_controller_dev rstc;\n\tstruct genpd_onecell_data genpd;\n\tstruct dentry *debugfs_mirror;\n\tbool suspended;\n};\n\nstruct tegra_ivc;\n\nstruct tegra_bpmp_channel {\n\tstruct tegra_bpmp *bpmp;\n\tstruct iosys_map ib;\n\tstruct iosys_map ob;\n\tstruct completion completion;\n\tstruct tegra_ivc *ivc;\n\tunsigned int index;\n};\n\nstruct tegra_bpmp_clk {\n\tstruct clk_hw hw;\n\tstruct tegra_bpmp *bpmp;\n\tunsigned int id;\n\tunsigned int num_parents;\n\tunsigned int *parents;\n};\n\nstruct tegra_bpmp_clk_info {\n\tunsigned int id;\n\tchar name[40];\n\tunsigned int parents[16];\n\tunsigned int num_parents;\n\tlong unsigned int flags;\n};\n\nstruct tegra_bpmp_clk_message {\n\tunsigned int cmd;\n\tunsigned int id;\n\tstruct {\n\t\tconst void *data;\n\t\tsize_t size;\n\t} tx;\n\tstruct {\n\t\tvoid *data;\n\t\tsize_t size;\n\t\tint ret;\n\t} rx;\n};\n\nstruct tegra_bpmp_i2c {\n\tstruct i2c_adapter adapter;\n\tstruct device *dev;\n\tstruct tegra_bpmp *bpmp;\n\tunsigned int bus;\n};\n\nstruct tegra_bpmp_mb_data {\n\tu32 code;\n\tu32 flags;\n\tu8 data[120];\n};\n\nstruct tegra_bpmp_message {\n\tunsigned int mrq;\n\tstruct {\n\t\tconst void *data;\n\t\tsize_t size;\n\t} tx;\n\tstruct {\n\t\tvoid *data;\n\t\tsize_t size;\n\t\tint ret;\n\t} rx;\n\tlong unsigned int flags;\n};\n\ntypedef void (*tegra_bpmp_mrq_handler_t)(unsigned int, struct tegra_bpmp_channel *, void *);\n\nstruct tegra_bpmp_mrq {\n\tstruct list_head list;\n\tunsigned int mrq;\n\ttegra_bpmp_mrq_handler_t handler;\n\tvoid *data;\n};\n\nstruct tegra_bpmp_ops {\n\tint (*init)(struct tegra_bpmp *);\n\tvoid (*deinit)(struct tegra_bpmp *);\n\tbool (*is_response_ready)(struct tegra_bpmp_channel *);\n\tbool (*is_request_ready)(struct tegra_bpmp_channel *);\n\tint (*ack_response)(struct tegra_bpmp_channel *);\n\tint (*ack_request)(struct tegra_bpmp_channel *);\n\tbool (*is_response_channel_free)(struct tegra_bpmp_channel *);\n\tbool (*is_request_channel_free)(struct tegra_bpmp_channel *);\n\tint (*post_response)(struct tegra_bpmp_channel *);\n\tint (*post_request)(struct tegra_bpmp_channel *);\n\tint (*ring_doorbell)(struct tegra_bpmp *);\n\tint (*resume)(struct tegra_bpmp *);\n};\n\nstruct tegra_bpmp_soc {\n\tstruct {\n\t\tstruct {\n\t\t\tunsigned int offset;\n\t\t\tunsigned int count;\n\t\t\tunsigned int timeout;\n\t\t} cpu_tx;\n\t\tstruct {\n\t\t\tunsigned int offset;\n\t\t\tunsigned int count;\n\t\t\tunsigned int timeout;\n\t\t} thread;\n\t\tstruct {\n\t\t\tunsigned int offset;\n\t\t\tunsigned int count;\n\t\t\tunsigned int timeout;\n\t\t} cpu_rx;\n\t} channels;\n\tconst struct tegra_bpmp_ops *ops;\n\tunsigned int num_resets;\n};\n\nstruct tegra_cbb_error {\n\tconst char *code;\n\tconst char *source;\n\tconst char *desc;\n};\n\nstruct tegra_cbb_ops {\n\tint (*debugfs_show)(struct tegra_cbb *, struct seq_file *, void *);\n\tint (*interrupt_enable)(struct tegra_cbb *);\n\tvoid (*error_enable)(struct tegra_cbb *);\n\tvoid (*fault_enable)(struct tegra_cbb *);\n\tvoid (*stall_enable)(struct tegra_cbb *);\n\tvoid (*error_clear)(struct tegra_cbb *);\n\tu32 (*get_status)(struct tegra_cbb *);\n};\n\nstruct tegra_clk {\n\tint dt_id;\n\tbool present;\n};\n\nstruct tegra_clk_device {\n\tstruct notifier_block clk_nb;\n\tstruct device *dev;\n\tstruct clk_hw *hw;\n\tstruct mutex lock;\n};\n\nstruct tegra_clk_duplicate {\n\tint clk_id;\n\tstruct clk_lookup lookup;\n};\n\nstruct tegra_clk_frac_div {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 flags;\n\tu8 shift;\n\tu8 width;\n\tu8 frac_width;\n\tspinlock_t *lock;\n};\n\nstruct tegra_clk_init_table {\n\tunsigned int clk_id;\n\tunsigned int parent_id;\n\tlong unsigned int rate;\n\tint state;\n};\n\nstruct tegra_clk_periph_regs;\n\nstruct tegra_clk_periph_gate {\n\tu32 magic;\n\tstruct clk_hw hw;\n\tvoid *clk_base;\n\tu8 flags;\n\tint clk_num;\n\tint *enable_refcnt;\n\tconst struct tegra_clk_periph_regs *regs;\n};\n\nstruct tegra_clk_periph {\n\tu32 magic;\n\tstruct clk_hw hw;\n\tstruct clk_mux mux;\n\tstruct tegra_clk_frac_div divider;\n\tstruct tegra_clk_periph_gate gate;\n\tconst struct clk_ops *mux_ops;\n\tconst struct clk_ops *div_ops;\n\tconst struct clk_ops *gate_ops;\n};\n\nstruct tegra_clk_periph_fixed {\n\tstruct clk_hw hw;\n\tvoid *base;\n\tconst struct tegra_clk_periph_regs *regs;\n\tunsigned int mul;\n\tunsigned int div;\n\tunsigned int num;\n};\n\nstruct tegra_clk_periph_regs {\n\tu32 enb_reg;\n\tu32 enb_set_reg;\n\tu32 enb_clr_reg;\n\tu32 rst_reg;\n\tu32 rst_set_reg;\n\tu32 rst_clr_reg;\n};\n\nstruct tegra_clk_pll {\n\tstruct clk_hw hw;\n\tvoid *clk_base;\n\tvoid *pmc;\n\tspinlock_t *lock;\n\tstruct tegra_clk_pll_params *params;\n};\n\nstruct tegra_clk_pll_freq_table {\n\tlong unsigned int input_rate;\n\tlong unsigned int output_rate;\n\tu32 n;\n\tu32 m;\n\tu8 p;\n\tu8 cpcon;\n\tu16 sdm_data;\n};\n\nstruct tegra_clk_pll_out {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 enb_bit_idx;\n\tu8 rst_bit_idx;\n\tspinlock_t *lock;\n\tu8 flags;\n};\n\nstruct tegra_clk_pll_params {\n\tlong unsigned int input_min;\n\tlong unsigned int input_max;\n\tlong unsigned int cf_min;\n\tlong unsigned int cf_max;\n\tlong unsigned int vco_min;\n\tlong unsigned int vco_max;\n\tu32 base_reg;\n\tu32 misc_reg;\n\tu32 lock_reg;\n\tu32 lock_mask;\n\tu32 lock_enable_bit_idx;\n\tu32 iddq_reg;\n\tu32 iddq_bit_idx;\n\tu32 reset_reg;\n\tu32 reset_bit_idx;\n\tu32 sdm_din_reg;\n\tu32 sdm_din_mask;\n\tu32 sdm_ctrl_reg;\n\tu32 sdm_ctrl_en_mask;\n\tu32 ssc_ctrl_reg;\n\tu32 ssc_ctrl_en_mask;\n\tu32 aux_reg;\n\tu32 dyn_ramp_reg;\n\tu32 ext_misc_reg[6];\n\tu32 pmc_divnm_reg;\n\tu32 pmc_divp_reg;\n\tu32 flags;\n\tint stepa_shift;\n\tint stepb_shift;\n\tint lock_delay;\n\tint max_p;\n\tbool defaults_set;\n\tconst struct pdiv_map *pdiv_tohw;\n\tstruct div_nmp *div_nmp;\n\tstruct tegra_clk_pll_freq_table *freq_table;\n\tlong unsigned int fixed_rate;\n\tu16 mdiv_default;\n\tu32 (*round_p_to_pdiv)(u32, u32 *);\n\tvoid (*set_gain)(struct tegra_clk_pll_freq_table *);\n\tint (*calc_rate)(struct clk_hw *, struct tegra_clk_pll_freq_table *, long unsigned int, long unsigned int);\n\tlong unsigned int (*adjust_vco)(struct tegra_clk_pll_params *, long unsigned int);\n\tvoid (*set_defaults)(struct tegra_clk_pll *);\n\tint (*dyn_ramp)(struct tegra_clk_pll *, struct tegra_clk_pll_freq_table *);\n\tint (*pre_rate_change)(void);\n\tvoid (*post_rate_change)(void);\n};\n\nstruct tegra_clk_super_mux {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tstruct tegra_clk_frac_div frac_div;\n\tconst struct clk_ops *div_ops;\n\tu8 width;\n\tu8 flags;\n\tu8 div2_index;\n\tu8 pllx_index;\n\tspinlock_t *lock;\n};\n\nstruct tegra_clk_sync_source {\n\tstruct clk_hw hw;\n\tlong unsigned int rate;\n\tlong unsigned int max_rate;\n};\n\nstruct tegra_core_opp_params {\n\tbool init_state;\n};\n\nstruct tegra_cpu_car_ops {\n\tvoid (*wait_for_reset)(u32);\n\tvoid (*put_in_reset)(u32);\n\tvoid (*out_of_reset)(u32);\n\tvoid (*enable_clock)(u32);\n\tvoid (*disable_clock)(u32);\n\tbool (*rail_off_ready)(void);\n\tvoid (*suspend)(void);\n\tvoid (*resume)(void);\n};\n\nstruct tegra_cpu_data {\n\tu32 cpuid;\n\tu32 clusterid;\n\tvoid *freq_core_reg;\n};\n\nstruct tegra_cpufreq_ops {\n\tvoid (*read_counters)(struct tegra_cpu_ctr *);\n\tvoid (*set_cpu_ndiv)(struct cpufreq_policy *, u64);\n\tvoid (*get_cpu_cluster_id)(u32, u32 *, u32 *);\n\tint (*get_cpu_ndiv)(u32, u32, u32, u64 *);\n};\n\nstruct tegra_cpufreq_soc {\n\tstruct tegra_cpufreq_ops *ops;\n\tint maxcpus_per_cluster;\n\tunsigned int num_clusters;\n\tphys_addr_t actmon_cntr_base;\n\tu32 refclk_delta_min;\n};\n\nstruct tegra_devclk {\n\tint dt_id;\n\tchar *dev_id;\n\tchar *con_id;\n};\n\nstruct tegra_dfll_soc_data;\n\nstruct tegra_dfll {\n\tstruct device *dev;\n\tstruct tegra_dfll_soc_data *soc;\n\tvoid *base;\n\tvoid *i2c_base;\n\tvoid *i2c_controller_base;\n\tvoid *lut_base;\n\tstruct regulator *vdd_reg;\n\tstruct clk *soc_clk;\n\tstruct clk *ref_clk;\n\tstruct clk *i2c_clk;\n\tstruct clk *dfll_clk;\n\tstruct reset_control *dfll_rst;\n\tstruct reset_control *dvco_rst;\n\tlong unsigned int ref_rate;\n\tlong unsigned int i2c_clk_rate;\n\tlong unsigned int dvco_rate_min;\n\tenum dfll_ctrl_mode mode;\n\tenum dfll_tune_range tune_range;\n\tstruct dentry *debugfs_dir;\n\tstruct clk_hw dfll_clk_hw;\n\tconst char *output_clock_name;\n\tstruct dfll_rate_req last_req;\n\tlong unsigned int last_unrounded_rate;\n\tu32 droop_ctrl;\n\tu32 sample_rate;\n\tu32 force_mode;\n\tu32 cf;\n\tu32 ci;\n\tu32 cg;\n\tbool cg_scale;\n\tu32 i2c_fs_rate;\n\tu32 i2c_reg;\n\tu32 i2c_slave_addr;\n\tunsigned int lut[33];\n\tlong unsigned int lut_uv[33];\n\tint lut_size;\n\tu8 lut_bottom;\n\tu8 lut_min;\n\tu8 lut_max;\n\tu8 lut_safe;\n\tenum tegra_dfll_pmu_if pmu_if;\n\tlong unsigned int pwm_rate;\n\tstruct pinctrl *pwm_pin;\n\tstruct pinctrl_state *pwm_enable_state;\n\tstruct pinctrl_state *pwm_disable_state;\n\tu32 reg_init_uV;\n};\n\nstruct tegra_dfll_soc_data {\n\tstruct device *dev;\n\tlong unsigned int max_freq;\n\tconst struct cvb_table *cvb;\n\tstruct rail_alignment alignment;\n\tvoid (*init_clock_trimmers)(void);\n\tvoid (*set_clock_trimmers_high)(void);\n\tvoid (*set_clock_trimmers_low)(void);\n};\n\nstruct tegra_dma;\n\nstruct tegra_dma_desc;\n\nstruct tegra_dma_channel {\n\tbool config_init;\n\tchar name[30];\n\tenum dma_transfer_direction sid_dir;\n\tenum dma_status status;\n\tint id;\n\tint irq;\n\tint slave_id;\n\tstruct tegra_dma *tdma;\n\tstruct virt_dma_chan vc;\n\tstruct tegra_dma_desc *dma_desc;\n\tstruct dma_slave_config dma_sconfig;\n\tunsigned int stream_id;\n\tlong unsigned int chan_base_offset;\n};\n\nstruct tegra_dma_chip_data;\n\nstruct tegra_dma {\n\tconst struct tegra_dma_chip_data *chip_data;\n\tlong unsigned int sid_m2d_reserved;\n\tlong unsigned int sid_d2m_reserved;\n\tu32 chan_mask;\n\tvoid *base_addr;\n\tstruct device *dev;\n\tstruct dma_device dma_dev;\n\tstruct reset_control *rst;\n\tstruct tegra_dma_channel channels[0];\n};\n\nstruct tegra_dma_channel___2;\n\ntypedef void (*dma_isr_handler)(struct tegra_dma_channel___2 *, bool);\n\nstruct tegra_dma_channel_regs {\n\tu32 csr;\n\tu32 ahb_ptr;\n\tu32 apb_ptr;\n\tu32 ahb_seq;\n\tu32 apb_seq;\n\tu32 wcount;\n};\n\nstruct tegra_dma___2;\n\nstruct tegra_dma_channel___2 {\n\tstruct dma_chan dma_chan;\n\tchar name[12];\n\tbool config_init;\n\tunsigned int id;\n\tvoid *chan_addr;\n\tspinlock_t lock;\n\tbool busy;\n\tstruct tegra_dma___2 *tdma;\n\tbool cyclic;\n\tstruct list_head free_sg_req;\n\tstruct list_head pending_sg_req;\n\tstruct list_head free_dma_desc;\n\tstruct list_head cb_desc;\n\tdma_isr_handler isr_handler;\n\tstruct tasklet_struct tasklet;\n\tunsigned int slave_id;\n\tstruct dma_slave_config dma_sconfig;\n\tstruct tegra_dma_channel_regs channel_reg;\n\tstruct wait_queue_head wq;\n};\n\nstruct tegra_dma_chip_data___2;\n\nstruct tegra_dma___2 {\n\tstruct dma_device dma_dev;\n\tstruct device *dev;\n\tstruct clk *dma_clk;\n\tstruct reset_control *rst;\n\tspinlock_t global_lock;\n\tvoid *base_addr;\n\tconst struct tegra_dma_chip_data___2 *chip_data;\n\tu32 global_pause_count;\n\tstruct tegra_dma_channel___2 channels[0];\n};\n\nstruct tegra_dma_channel_regs___2 {\n\tu32 csr;\n\tu32 src_ptr;\n\tu32 dst_ptr;\n\tu32 high_addr_ptr;\n\tu32 mc_seq;\n\tu32 mmio_seq;\n\tu32 wcount;\n\tu32 fixed_pattern;\n};\n\nstruct tegra_dma_chip_data___2 {\n\tunsigned int nr_channels;\n\tunsigned int channel_reg_size;\n\tunsigned int max_dma_count;\n\tbool support_channel_pause;\n\tbool support_separate_wcount_reg;\n};\n\nstruct tegra_dma_chip_data {\n\tbool hw_support_pause;\n\tunsigned int nr_channels;\n\tunsigned int channel_reg_size;\n\tunsigned int max_dma_count;\n\tint (*terminate)(struct tegra_dma_channel *);\n};\n\nstruct tegra_dma_desc___2 {\n\tstruct dma_async_tx_descriptor txd;\n\tunsigned int bytes_requested;\n\tunsigned int bytes_transferred;\n\tenum dma_status dma_status;\n\tstruct list_head node;\n\tstruct list_head tx_list;\n\tstruct list_head cb_node;\n\tunsigned int cb_count;\n};\n\nstruct tegra_dma_sg_req {\n\tunsigned int len;\n\tstruct tegra_dma_channel_regs___2 ch_regs;\n};\n\nstruct tegra_dma_desc {\n\tbool cyclic;\n\tunsigned int bytes_req;\n\tunsigned int bytes_xfer;\n\tunsigned int sg_idx;\n\tunsigned int sg_count;\n\tstruct virt_dma_desc vd;\n\tstruct tegra_dma_channel *tdc;\n\tstruct tegra_dma_sg_req sg_req[0];\n};\n\nstruct tegra_dma_sg_req___2 {\n\tstruct tegra_dma_channel_regs ch_regs;\n\tunsigned int req_len;\n\tbool configured;\n\tbool last_sg;\n\tstruct list_head node;\n\tstruct tegra_dma_desc___2 *dma_desc;\n\tunsigned int words_xferred;\n};\n\nstruct tegra_function {\n\tconst char *name;\n\tconst char **groups;\n\tunsigned int ngroups;\n};\n\nstruct tegra_fuse_soc;\n\nstruct tegra_fuse {\n\tstruct device *dev;\n\tvoid *base;\n\tphys_addr_t phys;\n\tstruct clk *clk;\n\tstruct reset_control *rst;\n\tu32 (*read_early)(struct tegra_fuse *, unsigned int);\n\tu32 (*read)(struct tegra_fuse *, unsigned int);\n\tconst struct tegra_fuse_soc *soc;\n\tstruct {\n\t\tstruct mutex lock;\n\t\tstruct completion wait;\n\t\tstruct dma_chan *chan;\n\t\tstruct dma_slave_config config;\n\t\tdma_addr_t phys;\n\t\tu32 *virt;\n\t} apbdma;\n\tstruct nvmem_device *nvmem;\n\tstruct nvmem_cell_lookup *lookups;\n};\n\nstruct tegra_fuse_info {\n\tu32 (*read)(struct tegra_fuse *, unsigned int);\n\tunsigned int size;\n\tunsigned int spare;\n};\n\nstruct tegra_sku_info;\n\nstruct tegra_fuse_soc {\n\tvoid (*init)(struct tegra_fuse *);\n\tvoid (*speedo_init)(struct tegra_sku_info *);\n\tint (*probe)(struct tegra_fuse *);\n\tconst struct tegra_fuse_info *info;\n\tconst struct nvmem_cell_lookup *lookups;\n\tunsigned int num_lookups;\n\tconst struct nvmem_cell_info *cells;\n\tunsigned int num_cells;\n\tconst struct nvmem_keepout *keepouts;\n\tunsigned int num_keepouts;\n\tconst struct attribute_group *soc_attr_group;\n\tbool clk_suspend_on;\n};\n\nstruct tegra_gpio_soc;\n\nstruct tegra_gpio {\n\tstruct gpio_chip gpio;\n\tunsigned int num_irq;\n\tunsigned int *irq;\n\tconst struct tegra_gpio_soc *soc;\n\tunsigned int num_irqs_per_bank;\n\tunsigned int num_banks;\n\tvoid *secure;\n\tvoid *base;\n};\n\nstruct tegra_gpio_bank {\n\tunsigned int bank;\n\traw_spinlock_t lvl_lock[4];\n\tspinlock_t dbc_lock[4];\n\tu32 cnf[4];\n\tu32 out[4];\n\tu32 oe[4];\n\tu32 int_enb[4];\n\tu32 int_lvl[4];\n\tu32 wake_enb[4];\n\tu32 dbc_enb[4];\n\tu32 dbc_cnt[4];\n};\n\nstruct tegra_gpio_soc_config;\n\nstruct tegra_gpio_info {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct tegra_gpio_bank *bank_info;\n\tconst struct tegra_gpio_soc_config *soc;\n\tstruct gpio_chip gc;\n\tu32 bank_count;\n\tunsigned int *irqs;\n};\n\nstruct tegra_gpio_port {\n\tconst char *name;\n\tunsigned int bank;\n\tunsigned int port;\n\tunsigned int pins;\n};\n\nstruct tegra_gpio_soc {\n\tconst struct tegra_gpio_port *ports;\n\tunsigned int num_ports;\n\tconst char *name;\n\tunsigned int instance;\n\tunsigned int num_irqs_per_bank;\n\tconst struct tegra186_pin_range *pin_ranges;\n\tunsigned int num_pin_ranges;\n\tconst char *pinmux;\n\tbool has_gte;\n\tbool has_vm_support;\n};\n\nstruct tegra_gpio_soc_config {\n\tbool debounce_supported;\n\tu32 bank_stride;\n\tu32 upper_offset;\n};\n\nstruct tegra_hsp_soc;\n\nstruct tegra_hsp_mailbox;\n\nstruct tegra_hsp {\n\tstruct device *dev;\n\tconst struct tegra_hsp_soc *soc;\n\tstruct mbox_controller mbox_db;\n\tstruct mbox_controller mbox_sm;\n\tvoid *regs;\n\tunsigned int doorbell_irq;\n\tunsigned int *shared_irqs;\n\tunsigned int shared_irq;\n\tunsigned int num_sm;\n\tunsigned int num_as;\n\tunsigned int num_ss;\n\tunsigned int num_db;\n\tunsigned int num_si;\n\tspinlock_t lock;\n\tstruct lock_class_key lock_key;\n\tstruct list_head doorbells;\n\tstruct tegra_hsp_mailbox *mailboxes;\n\tlong unsigned int mask;\n};\n\nstruct tegra_hsp_channel {\n\tstruct tegra_hsp *hsp;\n\tstruct mbox_chan *chan;\n\tvoid *regs;\n};\n\nstruct tegra_hsp_db_map {\n\tconst char *name;\n\tunsigned int master;\n\tunsigned int index;\n};\n\nstruct tegra_hsp_doorbell {\n\tstruct tegra_hsp_channel channel;\n\tstruct list_head list;\n\tconst char *name;\n\tunsigned int master;\n\tunsigned int index;\n};\n\nstruct tegra_hsp_sm_ops;\n\nstruct tegra_hsp_mailbox {\n\tstruct tegra_hsp_channel channel;\n\tconst struct tegra_hsp_sm_ops *ops;\n\tunsigned int index;\n\tbool producer;\n};\n\nstruct tegra_hsp_sm_ops {\n\tvoid (*send)(struct tegra_hsp_channel *, void *);\n\tvoid (*recv)(struct tegra_hsp_channel *);\n};\n\nstruct tegra_hsp_soc {\n\tconst struct tegra_hsp_db_map *map;\n\tbool has_per_mb_ie;\n\tbool has_128_bit_mb;\n\tunsigned int reg_stride;\n};\n\nstruct tegra_hte_line_mapped;\n\nstruct tegra_hte_data {\n\tenum tegra_hte_type type;\n\tu32 slices;\n\tu32 map_sz;\n\tu32 sec_map_sz;\n\tconst struct tegra_hte_line_mapped *map;\n\tconst struct tegra_hte_line_mapped *sec_map;\n};\n\nstruct tegra_hte_line_data {\n\tlong unsigned int flags;\n\tvoid *data;\n};\n\nstruct tegra_hte_line_mapped {\n\tint slice;\n\tu32 bit_index;\n};\n\nstruct tegra_hte_soc {\n\tint hte_irq;\n\tu32 itr_thrshld;\n\tu32 conf_rval;\n\tstruct hte_slices *sl;\n\tconst struct tegra_hte_data *prov_data;\n\tstruct tegra_hte_line_data *line_data;\n\tstruct hte_chip *chip;\n\tstruct gpio_device *gdev;\n\tvoid *regs;\n};\n\nstruct tegra_i2c_hw_feature;\n\nstruct tegra_i2c_dev {\n\tstruct device *dev;\n\tstruct i2c_adapter adapter;\n\tconst struct tegra_i2c_hw_feature *hw;\n\tstruct reset_control *rst;\n\tunsigned int cont_id;\n\tunsigned int irq;\n\tphys_addr_t base_phys;\n\tvoid *base;\n\tstruct clk_bulk_data clocks[2];\n\tunsigned int nclocks;\n\tstruct clk *div_clk;\n\tstruct i2c_timings timings;\n\tstruct completion msg_complete;\n\tsize_t msg_buf_remaining;\n\tunsigned int msg_len;\n\tint msg_err;\n\tu8 *msg_buf;\n\tstruct completion dma_complete;\n\tstruct dma_chan *dma_chan;\n\tunsigned int dma_buf_size;\n\tstruct device *dma_dev;\n\tdma_addr_t dma_phys;\n\tvoid *dma_buf;\n\tbool multimaster_mode;\n\tbool atomic_mode;\n\tbool dma_mode;\n\tbool msg_read;\n\tbool is_dvc;\n\tbool is_vi;\n};\n\nstruct tegra_i2c_hw_feature {\n\tbool has_continue_xfer_support;\n\tbool has_per_pkt_xfer_complete_irq;\n\tbool has_config_load_reg;\n\tu32 clk_divisor_hs_mode;\n\tu32 clk_divisor_std_mode;\n\tu32 clk_divisor_fast_mode;\n\tu32 clk_divisor_fast_plus_mode;\n\tbool has_multi_master_mode;\n\tbool has_slcg_override_reg;\n\tbool has_mst_fifo;\n\tconst struct i2c_adapter_quirks *quirks;\n\tbool supports_bus_clear;\n\tbool has_apb_dma;\n\tu32 tlow_std_mode;\n\tu32 thigh_std_mode;\n\tu32 tlow_fast_fastplus_mode;\n\tu32 thigh_fast_fastplus_mode;\n\tu32 setup_hold_time_std_mode;\n\tu32 setup_hold_time_fast_fast_plus_mode;\n\tu32 setup_hold_time_hs_mode;\n\tbool has_interface_timing_reg;\n};\n\nstruct tegra_ictlr_info {\n\tvoid *base[6];\n\tu32 cop_ier[6];\n\tu32 cop_iep[6];\n\tu32 cpu_ier[6];\n\tu32 cpu_iep[6];\n\tu32 ictlr_wake_mask[6];\n};\n\nstruct tegra_ictlr_soc {\n\tunsigned int num_ictlrs;\n};\n\nstruct tegra_io_pad_soc {\n\tenum tegra_io_pad id;\n\tunsigned int dpd;\n\tunsigned int request;\n\tunsigned int status;\n\tunsigned int voltage;\n\tconst char *name;\n};\n\nstruct tegra_ivc {\n\tstruct device *peer;\n\tstruct {\n\t\tstruct iosys_map map;\n\t\tunsigned int position;\n\t\tdma_addr_t phys;\n\t} rx;\n\tstruct {\n\t\tstruct iosys_map map;\n\t\tunsigned int position;\n\t\tdma_addr_t phys;\n\t} tx;\n\tvoid (*notify)(struct tegra_ivc *, void *);\n\tvoid *notify_data;\n\tunsigned int num_frames;\n\tsize_t frame_size;\n};\n\nstruct tegra_ivc_header {\n\tunion {\n\t\tstruct {\n\t\t\tu32 count;\n\t\t\tu32 state;\n\t\t};\n\t\tu8 pad[64];\n\t} tx;\n\tunion {\n\t\tu32 count;\n\t\tu8 pad[64];\n\t} rx;\n};\n\nstruct tegra_smmu;\n\nstruct tegra_mc_soc;\n\nstruct tegra_mc_timing;\n\nstruct tegra_mc {\n\tstruct tegra_bpmp *bpmp;\n\tstruct device *dev;\n\tstruct tegra_smmu *smmu;\n\tvoid *regs;\n\tvoid *bcast_ch_regs;\n\tvoid **ch_regs;\n\tstruct clk *clk;\n\tint irq;\n\tconst struct tegra_mc_soc *soc;\n\tlong unsigned int tick;\n\tstruct tegra_mc_timing *timings;\n\tunsigned int num_timings;\n\tunsigned int num_channels;\n\tbool bwmgr_mrq_supported;\n\tstruct reset_controller_dev reset;\n\tstruct icc_provider provider;\n\tspinlock_t lock;\n\tstruct {\n\t\tstruct dentry *root;\n\t} debugfs;\n};\n\nstruct tegra_mc_client {\n\tunsigned int id;\n\tunsigned int bpmp_id;\n\tenum tegra_icc_client_type type;\n\tconst char *name;\n\tunion {\n\t\tunsigned int swgroup;\n\t\tunsigned int sid;\n\t};\n\tunsigned int fifo_size;\n\tstruct {\n\t\tstruct {\n\t\t\tunsigned int reg;\n\t\t\tunsigned int bit;\n\t\t} smmu;\n\t\tstruct {\n\t\t\tunsigned int reg;\n\t\t\tunsigned int shift;\n\t\t\tunsigned int mask;\n\t\t\tunsigned int def;\n\t\t} la;\n\t\tstruct {\n\t\t\tunsigned int override;\n\t\t\tunsigned int security;\n\t\t} sid;\n\t} regs;\n};\n\nstruct tegra_mc_icc_ops {\n\tint (*set)(struct icc_node *, struct icc_node *);\n\tint (*aggregate)(struct icc_node *, u32, u32, u32, u32 *, u32 *);\n\tstruct icc_node * (*xlate)(const struct of_phandle_args *, void *);\n\tstruct icc_node_data * (*xlate_extended)(const struct of_phandle_args *, void *);\n\tint (*get_bw)(struct icc_node *, u32 *, u32 *);\n};\n\nstruct tegra_mc_ops {\n\tint (*probe)(struct tegra_mc *);\n\tvoid (*remove)(struct tegra_mc *);\n\tint (*resume)(struct tegra_mc *);\n\tirqreturn_t (*handle_irq)(int, void *);\n\tint (*probe_device)(struct tegra_mc *, struct device *);\n};\n\nstruct tegra_mc_reset {\n\tconst char *name;\n\tlong unsigned int id;\n\tunsigned int control;\n\tunsigned int status;\n\tunsigned int reset;\n\tunsigned int bit;\n};\n\nstruct tegra_mc_reset_ops {\n\tint (*hotreset_assert)(struct tegra_mc *, const struct tegra_mc_reset *);\n\tint (*hotreset_deassert)(struct tegra_mc *, const struct tegra_mc_reset *);\n\tint (*block_dma)(struct tegra_mc *, const struct tegra_mc_reset *);\n\tbool (*dma_idling)(struct tegra_mc *, const struct tegra_mc_reset *);\n\tint (*unblock_dma)(struct tegra_mc *, const struct tegra_mc_reset *);\n\tint (*reset_status)(struct tegra_mc *, const struct tegra_mc_reset *);\n};\n\nstruct tegra_smmu_soc;\n\nstruct tegra_mc_soc {\n\tconst struct tegra_mc_client *clients;\n\tunsigned int num_clients;\n\tconst long unsigned int *emem_regs;\n\tunsigned int num_emem_regs;\n\tunsigned int num_address_bits;\n\tunsigned int atom_size;\n\tunsigned int num_carveouts;\n\tu16 client_id_mask;\n\tu8 num_channels;\n\tconst struct tegra_smmu_soc *smmu;\n\tu32 intmask;\n\tu32 ch_intmask;\n\tu32 global_intstatus_channel_shift;\n\tbool has_addr_hi_reg;\n\tconst struct tegra_mc_reset_ops *reset_ops;\n\tconst struct tegra_mc_reset *resets;\n\tunsigned int num_resets;\n\tconst struct tegra_mc_icc_ops *icc_ops;\n\tconst struct tegra_mc_ops *ops;\n};\n\nstruct tegra_mc_timing {\n\tlong unsigned int rate;\n\tu32 *emem_data;\n};\n\nstruct tegra_msi {\n\tlong unsigned int used[4];\n\tstruct irq_domain *domain;\n\tstruct mutex map_lock;\n\tspinlock_t mask_lock;\n\tvoid *virt;\n\tdma_addr_t phys;\n\tint irq;\n};\n\nstruct tegra_pcie_soc;\n\nstruct tegra_pcie {\n\tstruct device *dev;\n\tvoid *pads;\n\tvoid *afi;\n\tvoid *cfg;\n\tint irq;\n\tstruct resource cs;\n\tstruct clk *pex_clk;\n\tstruct clk *afi_clk;\n\tstruct clk *pll_e;\n\tstruct clk *cml_clk;\n\tstruct reset_control *pex_rst;\n\tstruct reset_control *afi_rst;\n\tstruct reset_control *pcie_xrst;\n\tbool legacy_phy;\n\tstruct phy *phy;\n\tstruct tegra_msi msi;\n\tstruct list_head ports;\n\tu32 xbar_config;\n\tstruct regulator_bulk_data *supplies;\n\tunsigned int num_supplies;\n\tconst struct tegra_pcie_soc *soc;\n\tstruct dentry *debugfs;\n};\n\nstruct tegra_pcie_port {\n\tstruct tegra_pcie *pcie;\n\tstruct device_node *np;\n\tstruct list_head list;\n\tstruct resource regs;\n\tvoid *base;\n\tunsigned int index;\n\tunsigned int lanes;\n\tstruct phy **phys;\n\tstruct gpio_desc *reset_gpio;\n};\n\nstruct tegra_pcie_port_soc {\n\tstruct {\n\t\tu8 turnoff_bit;\n\t\tu8 ack_bit;\n\t} pme;\n};\n\nstruct tegra_pcie_soc {\n\tunsigned int num_ports;\n\tconst struct tegra_pcie_port_soc *ports;\n\tunsigned int msi_base_shift;\n\tlong unsigned int afi_pex2_ctrl;\n\tu32 pads_pll_ctl;\n\tu32 tx_ref_sel;\n\tu32 pads_refclk_cfg0;\n\tu32 pads_refclk_cfg1;\n\tu32 update_fc_threshold;\n\tbool has_pex_clkreq_en;\n\tbool has_pex_bias_ctrl;\n\tbool has_intr_prsnt_sense;\n\tbool has_cml_clk;\n\tbool has_gen2;\n\tbool force_pca_enable;\n\tbool program_uphy;\n\tbool update_clamp_threshold;\n\tbool program_deskew_time;\n\tbool update_fc_timer;\n\tbool has_cache_bars;\n\tstruct {\n\t\tstruct {\n\t\t\tu32 rp_ectl_2_r1;\n\t\t\tu32 rp_ectl_4_r1;\n\t\t\tu32 rp_ectl_5_r1;\n\t\t\tu32 rp_ectl_6_r1;\n\t\t\tu32 rp_ectl_2_r2;\n\t\t\tu32 rp_ectl_4_r2;\n\t\t\tu32 rp_ectl_5_r2;\n\t\t\tu32 rp_ectl_6_r2;\n\t\t} regs;\n\t\tbool enable;\n\t} ectl;\n};\n\nstruct tegra_periph_init_data {\n\tconst char *name;\n\tint clk_id;\n\tunion {\n\t\tconst char * const *parent_names;\n\t\tconst char *parent_name;\n\t} p;\n\tint num_parents;\n\tstruct tegra_clk_periph periph;\n\tu32 offset;\n\tconst char *con_id;\n\tconst char *dev_id;\n\tlong unsigned int flags;\n};\n\nstruct tegra_phy_soc_config {\n\tbool utmi_pll_config_in_car_module;\n\tbool has_hostpc;\n\tbool requires_usbmode_setup;\n\tbool requires_extra_tuning_parameters;\n\tbool requires_pmc_ao_power_up;\n};\n\nstruct tegra_pingroup;\n\nstruct tegra_pinctrl_soc_data {\n\tunsigned int ngpios;\n\tconst char *gpio_compatible;\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tconst char * const *functions;\n\tunsigned int nfunctions;\n\tconst struct tegra_pingroup *groups;\n\tunsigned int ngroups;\n\tbool hsm_in_mux;\n\tbool schmitt_in_mux;\n\tbool drvtype_in_mux;\n\tbool sfsel_in_mux;\n};\n\nstruct tegra_pingroup {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tu8 npins;\n\tu8 funcs[4];\n\ts32 mux_reg;\n\ts32 pupd_reg;\n\ts32 tri_reg;\n\ts32 drv_reg;\n\tu32 mux_bank: 2;\n\tu32 pupd_bank: 2;\n\tu32 tri_bank: 2;\n\tu32 drv_bank: 2;\n\ts32 mux_bit: 6;\n\ts32 pupd_bit: 6;\n\ts32 tri_bit: 6;\n\ts32 einput_bit: 6;\n\ts32 odrain_bit: 6;\n\ts32 lock_bit: 6;\n\ts32 ioreset_bit: 6;\n\ts32 rcv_sel_bit: 6;\n\ts32 hsm_bit: 6;\n\tlong: 2;\n\ts32 sfsel_bit: 6;\n\ts32 schmitt_bit: 6;\n\ts32 lpmd_bit: 6;\n\ts32 drvdn_bit: 6;\n\ts32 drvup_bit: 6;\n\tint: 2;\n\ts32 slwr_bit: 6;\n\ts32 slwf_bit: 6;\n\ts32 lpdr_bit: 6;\n\ts32 drvtype_bit: 6;\n\ts32 drvdn_width: 6;\n\tlong: 2;\n\ts32 drvup_width: 6;\n\ts32 slwr_width: 6;\n\ts32 slwf_width: 6;\n\tu32 parked_bitmask;\n};\n\nstruct tegra_pmc_soc;\n\nstruct tegra_pmc {\n\tstruct device *dev;\n\tvoid *base;\n\tvoid *wake;\n\tvoid *aotag;\n\tvoid *scratch;\n\tstruct clk *clk;\n\tconst struct tegra_pmc_soc *soc;\n\tbool tz_only;\n\tlong unsigned int rate;\n\tenum tegra_suspend_mode suspend_mode;\n\tu32 cpu_good_time;\n\tu32 cpu_off_time;\n\tu32 core_osc_time;\n\tu32 core_pmu_time;\n\tu32 core_off_time;\n\tbool corereq_high;\n\tbool sysclkreq_high;\n\tbool combined_req;\n\tbool cpu_pwr_good_en;\n\tu32 lp0_vec_phys;\n\tu32 lp0_vec_size;\n\tlong unsigned int powergates_available[1];\n\tstruct mutex powergates_lock;\n\tstruct pinctrl_dev *pctl_dev;\n\tstruct irq_domain *domain;\n\tstruct irq_chip irq;\n\tstruct notifier_block clk_nb;\n\tbool core_domain_state_synced;\n\tbool core_domain_registered;\n\tlong unsigned int *wake_type_level_map;\n\tlong unsigned int *wake_type_dual_edge_map;\n\tlong unsigned int *wake_sw_status_map;\n\tlong unsigned int *wake_cntrl_level_map;\n\tstruct syscore_ops syscore;\n};\n\nstruct tegra_pmc_regs {\n\tunsigned int scratch0;\n\tunsigned int rst_status;\n\tunsigned int rst_source_shift;\n\tunsigned int rst_source_mask;\n\tunsigned int rst_level_shift;\n\tunsigned int rst_level_mask;\n};\n\nstruct tegra_wake_event;\n\nstruct tegra_pmc_soc {\n\tunsigned int num_powergates;\n\tconst char * const *powergates;\n\tunsigned int num_cpu_powergates;\n\tconst u8 *cpu_powergates;\n\tbool has_tsense_reset;\n\tbool has_gpu_clamps;\n\tbool needs_mbist_war;\n\tbool has_impl_33v_pwr;\n\tbool maybe_tz_only;\n\tconst struct tegra_io_pad_soc *io_pads;\n\tunsigned int num_io_pads;\n\tconst struct pinctrl_pin_desc *pin_descs;\n\tunsigned int num_pin_descs;\n\tconst struct tegra_pmc_regs *regs;\n\tvoid (*init)(struct tegra_pmc *);\n\tvoid (*setup_irq_polarity)(struct tegra_pmc *, struct device_node *, bool);\n\tvoid (*set_wake_filters)(struct tegra_pmc *);\n\tint (*irq_set_wake)(struct irq_data *, unsigned int);\n\tint (*irq_set_type)(struct irq_data *, unsigned int);\n\tint (*powergate_set)(struct tegra_pmc *, unsigned int, bool);\n\tconst char * const *reset_sources;\n\tunsigned int num_reset_sources;\n\tconst char * const *reset_levels;\n\tunsigned int num_reset_levels;\n\tconst struct tegra_wake_event *wake_events;\n\tunsigned int num_wake_events;\n\tunsigned int max_wake_events;\n\tunsigned int max_wake_vectors;\n\tconst struct pmc_clk_init_data *pmc_clks_data;\n\tunsigned int num_pmc_clks;\n\tbool has_blink_output;\n\tbool has_usb_sleepwalk;\n\tbool supports_core_domain;\n\tbool has_single_mmio_aperture;\n};\n\nstruct tegra_pmx {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctl;\n\tconst struct tegra_pinctrl_soc_data *soc;\n\tstruct tegra_function *functions;\n\tconst char **group_pins;\n\tstruct pinctrl_gpio_range gpio_range;\n\tstruct pinctrl_desc desc;\n\tint nbanks;\n\tvoid **regs;\n\tu32 *backup_regs;\n};\n\nstruct tegra_powergate {\n\tstruct generic_pm_domain genpd;\n\tstruct tegra_pmc *pmc;\n\tunsigned int id;\n\tstruct clk **clks;\n\tunsigned int num_clks;\n\tlong unsigned int *clk_rates;\n\tstruct reset_control *reset;\n};\n\nstruct tegra_powergate___2 {\n\tstruct generic_pm_domain genpd;\n\tstruct tegra_bpmp *bpmp;\n\tunsigned int id;\n};\n\nstruct tegra_powergate_info {\n\tunsigned int id;\n\tchar *name;\n};\n\nstruct tegra_rtc_info {\n\tstruct platform_device *pdev;\n\tstruct rtc_device *rtc;\n\tvoid *base;\n\tstruct clk *clk;\n\tint irq;\n\tspinlock_t lock;\n};\n\nstruct tegra_sdmmc_mux {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tspinlock_t *lock;\n\tconst struct clk_ops *gate_ops;\n\tstruct tegra_clk_periph_gate gate;\n\tu8 div_flags;\n};\n\nstruct tegra_sku_info {\n\tint sku_id;\n\tint cpu_process_id;\n\tint cpu_speedo_id;\n\tint cpu_speedo_value;\n\tint cpu_iddq_value;\n\tint soc_process_id;\n\tint soc_speedo_id;\n\tint soc_speedo_value;\n\tint gpu_process_id;\n\tint gpu_speedo_id;\n\tint gpu_speedo_value;\n\tenum tegra_revision revision;\n\tenum tegra_platform platform;\n};\n\nstruct tegra_smmu {\n\tvoid *regs;\n\tstruct device *dev;\n\tstruct tegra_mc *mc;\n\tconst struct tegra_smmu_soc *soc;\n\tstruct list_head groups;\n\tlong unsigned int pfn_mask;\n\tlong unsigned int tlb_mask;\n\tlong unsigned int *asids;\n\tstruct mutex lock;\n\tstruct list_head list;\n\tstruct dentry *debugfs;\n\tstruct iommu_device iommu;\n};\n\nstruct tegra_smmu_as {\n\tstruct iommu_domain domain;\n\tstruct tegra_smmu *smmu;\n\tunsigned int use_count;\n\tspinlock_t lock;\n\tu32 *count;\n\tstruct page **pts;\n\tstruct page *pd;\n\tdma_addr_t pd_dma;\n\tunsigned int id;\n\tu32 attr;\n};\n\nstruct tegra_smmu_group_soc;\n\nstruct tegra_smmu_group {\n\tstruct list_head list;\n\tstruct tegra_smmu *smmu;\n\tconst struct tegra_smmu_group_soc *soc;\n\tstruct iommu_group *group;\n\tunsigned int swgroup;\n};\n\nstruct tegra_smmu_group_soc {\n\tconst char *name;\n\tconst unsigned int *swgroups;\n\tunsigned int num_swgroups;\n};\n\nstruct tegra_smmu_swgroup;\n\nstruct tegra_smmu_soc {\n\tconst struct tegra_mc_client *clients;\n\tunsigned int num_clients;\n\tconst struct tegra_smmu_swgroup *swgroups;\n\tunsigned int num_swgroups;\n\tconst struct tegra_smmu_group_soc *groups;\n\tunsigned int num_groups;\n\tbool supports_round_robin_arbitration;\n\tbool supports_request_limit;\n\tunsigned int num_tlb_lines;\n\tunsigned int num_asids;\n};\n\nstruct tegra_smmu_swgroup {\n\tconst char *name;\n\tunsigned int swgroup;\n\tunsigned int reg;\n};\n\nstruct tegra_super_gen_info {\n\tenum tegra_super_gen gen;\n\tconst char **sclk_parents;\n\tconst char **cclk_g_parents;\n\tconst char **cclk_lp_parents;\n\tint num_sclk_parents;\n\tint num_cclk_g_parents;\n\tint num_cclk_lp_parents;\n};\n\nstruct tegra_sync_source_initdata {\n\tchar *name;\n\tlong unsigned int rate;\n\tlong unsigned int max_rate;\n\tint clk_id;\n};\n\nstruct uart_driver {\n\tstruct module *owner;\n\tconst char *driver_name;\n\tconst char *dev_name;\n\tint major;\n\tint minor;\n\tint nr;\n\tstruct console *cons;\n\tstruct uart_state *state;\n\tstruct tty_driver *tty_driver;\n};\n\nstruct tegra_tcu {\n\tstruct uart_driver driver;\n\tstruct console console;\n\tstruct uart_port port;\n\tstruct mbox_client tx_client;\n\tstruct mbox_client rx_client;\n\tstruct mbox_chan *tx;\n\tstruct mbox_chan *rx;\n};\n\nstruct tegra_uart {\n\tstruct clk *clk;\n\tstruct reset_control *rst;\n\tint line;\n};\n\nstruct tegra_uart_chip_data {\n\tbool tx_fifo_full_status;\n\tbool allow_txfifo_reset_fifo_mode;\n\tbool support_clk_src_div;\n\tbool fifo_mode_enable_status;\n\tint uart_max_port;\n\tint max_dma_burst_bytes;\n\tint error_tolerance_low_range;\n\tint error_tolerance_high_range;\n};\n\nstruct tegra_uart_port {\n\tstruct uart_port uport;\n\tconst struct tegra_uart_chip_data *cdata;\n\tstruct clk *uart_clk;\n\tstruct reset_control *rst;\n\tunsigned int current_baud;\n\tlong unsigned int fcr_shadow;\n\tlong unsigned int mcr_shadow;\n\tlong unsigned int lcr_shadow;\n\tlong unsigned int ier_shadow;\n\tbool rts_active;\n\tint tx_in_progress;\n\tunsigned int tx_bytes;\n\tbool enable_modem_interrupt;\n\tbool rx_timeout;\n\tint rx_in_progress;\n\tint symb_bit;\n\tstruct dma_chan *rx_dma_chan;\n\tstruct dma_chan *tx_dma_chan;\n\tdma_addr_t rx_dma_buf_phys;\n\tdma_addr_t tx_dma_buf_phys;\n\tunsigned char *rx_dma_buf_virt;\n\tunsigned char *tx_dma_buf_virt;\n\tstruct dma_async_tx_descriptor *tx_dma_desc;\n\tstruct dma_async_tx_descriptor *rx_dma_desc;\n\tdma_cookie_t tx_cookie;\n\tdma_cookie_t rx_cookie;\n\tunsigned int tx_bytes_requested;\n\tunsigned int rx_bytes_requested;\n\tstruct tegra_baud_tolerance *baud_tolerance;\n\tint n_adjustable_baud_rates;\n\tint required_rate;\n\tint configured_rate;\n\tbool use_rx_pio;\n\tbool use_tx_pio;\n\tbool rx_dma_active;\n};\n\nstruct tegra_usb_soc_info;\n\nstruct tegra_usb {\n\tstruct ci_hdrc_platform_data data;\n\tstruct platform_device *dev;\n\tconst struct tegra_usb_soc_info *soc;\n\tstruct usb_phy *phy;\n\tstruct clk *clk;\n\tbool needs_double_reset;\n};\n\nstruct usb_charger_current {\n\tunsigned int sdp_min;\n\tunsigned int sdp_max;\n\tunsigned int dcp_min;\n\tunsigned int dcp_max;\n\tunsigned int cdp_min;\n\tunsigned int cdp_max;\n\tunsigned int aca_min;\n\tunsigned int aca_max;\n};\n\nstruct usb_phy_io_ops;\n\nstruct usb_phy {\n\tstruct device *dev;\n\tconst char *label;\n\tunsigned int flags;\n\tenum usb_phy_type type;\n\tenum usb_phy_events last_event;\n\tstruct usb_otg *otg;\n\tstruct device *io_dev;\n\tstruct usb_phy_io_ops *io_ops;\n\tvoid *io_priv;\n\tstruct extcon_dev *edev;\n\tstruct extcon_dev *id_edev;\n\tstruct notifier_block vbus_nb;\n\tstruct notifier_block id_nb;\n\tstruct notifier_block type_nb;\n\tenum usb_charger_type chg_type;\n\tenum usb_charger_state chg_state;\n\tstruct usb_charger_current chg_cur;\n\tstruct work_struct chg_work;\n\tstruct atomic_notifier_head notifier;\n\tu16 port_status;\n\tu16 port_change;\n\tstruct list_head head;\n\tint (*init)(struct usb_phy *);\n\tvoid (*shutdown)(struct usb_phy *);\n\tint (*set_vbus)(struct usb_phy *, int);\n\tint (*set_power)(struct usb_phy *, unsigned int);\n\tint (*set_suspend)(struct usb_phy *, int);\n\tint (*set_wakeup)(struct usb_phy *, bool);\n\tint (*notify_connect)(struct usb_phy *, enum usb_device_speed);\n\tint (*notify_disconnect)(struct usb_phy *, enum usb_device_speed);\n\tenum usb_charger_type (*charger_detect)(struct usb_phy *);\n};\n\nstruct tegra_xtal_freq;\n\nstruct tegra_usb_phy {\n\tint irq;\n\tint instance;\n\tconst struct tegra_xtal_freq *freq;\n\tvoid *regs;\n\tvoid *pad_regs;\n\tstruct clk *clk;\n\tstruct clk *pll_u;\n\tstruct clk *pad_clk;\n\tstruct regulator *vbus;\n\tstruct regmap *pmc_regmap;\n\tenum usb_dr_mode mode;\n\tvoid *config;\n\tconst struct tegra_phy_soc_config *soc_config;\n\tstruct usb_phy *ulpi;\n\tstruct usb_phy u_phy;\n\tbool is_legacy_phy;\n\tbool is_ulpi_phy;\n\tstruct gpio_desc *reset_gpio;\n\tstruct reset_control *pad_rst;\n\tbool wakeup_enabled;\n\tbool pad_wakeup;\n\tbool powered_on;\n};\n\nstruct tegra_usb_soc_info {\n\tlong unsigned int flags;\n\tunsigned int txfifothresh;\n\tenum usb_dr_mode dr_mode;\n};\n\nstruct tegra_utmip_config {\n\tu8 hssync_start_delay;\n\tu8 elastic_limit;\n\tu8 idle_wait_delay;\n\tu8 term_range_adj;\n\tbool xcvr_setup_use_fuses;\n\tu8 xcvr_setup;\n\tu8 xcvr_lsfslew;\n\tu8 xcvr_lsrslew;\n\tu8 xcvr_hsslew;\n\tu8 hssquelch_level;\n\tu8 hsdiscon_level;\n};\n\nstruct tegra_wake_event {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int irq;\n\tstruct {\n\t\tunsigned int instance;\n\t\tunsigned int pin;\n\t} gpio;\n};\n\nstruct tegra_xtal_freq {\n\tunsigned int freq;\n\tu8 enable_delay;\n\tu8 stable_count;\n\tu8 active_delay;\n\tu8 xtal_freq_count;\n\tu16 debounce;\n};\n\nstruct tegra_xusb_padctl;\n\nstruct tegra_xusb_context {\n\tu32 *ipfs;\n\tu32 *fpci;\n};\n\nstruct tegra_xusb_soc;\n\nstruct tegra_xusb {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct usb_hcd *hcd;\n\tstruct mutex lock;\n\tint xhci_irq;\n\tint mbox_irq;\n\tint padctl_irq;\n\tvoid *ipfs_base;\n\tvoid *fpci_base;\n\tvoid *bar2_base;\n\tstruct resource *bar2;\n\tconst struct tegra_xusb_soc *soc;\n\tstruct regulator_bulk_data *supplies;\n\tstruct tegra_xusb_padctl *padctl;\n\tstruct clk *host_clk;\n\tstruct clk *falcon_clk;\n\tstruct clk *ss_clk;\n\tstruct clk *ss_src_clk;\n\tstruct clk *hs_src_clk;\n\tstruct clk *fs_src_clk;\n\tstruct clk *pll_u_480m;\n\tstruct clk *clk_m;\n\tstruct clk *pll_e;\n\tstruct reset_control *host_rst;\n\tstruct reset_control *ss_rst;\n\tstruct device *genpd_dev_host;\n\tstruct device *genpd_dev_ss;\n\tbool use_genpd;\n\tstruct phy **phys;\n\tunsigned int num_phys;\n\tstruct usb_phy **usbphy;\n\tunsigned int num_usb_phys;\n\tint otg_usb2_port;\n\tint otg_usb3_port;\n\tbool host_mode;\n\tstruct notifier_block id_nb;\n\tstruct work_struct id_work;\n\tstruct {\n\t\tsize_t size;\n\t\tvoid *virt;\n\t\tdma_addr_t phys;\n\t} fw;\n\tbool suspended;\n\tstruct tegra_xusb_context context;\n\tu8 lp0_utmi_pad_mask;\n};\n\nstruct tegra_xusb_context_soc {\n\tstruct {\n\t\tconst unsigned int *offsets;\n\t\tunsigned int num_offsets;\n\t} ipfs;\n\tstruct {\n\t\tconst unsigned int *offsets;\n\t\tunsigned int num_offsets;\n\t} fpci;\n};\n\nstruct tegra_xusb_fw_header {\n\t__le32 boot_loadaddr_in_imem;\n\t__le32 boot_codedfi_offset;\n\t__le32 boot_codetag;\n\t__le32 boot_codesize;\n\t__le32 phys_memaddr;\n\t__le16 reqphys_memsize;\n\t__le16 alloc_phys_memsize;\n\t__le32 rodata_img_offset;\n\t__le32 rodata_section_start;\n\t__le32 rodata_section_end;\n\t__le32 main_fnaddr;\n\t__le32 fwimg_cksum;\n\t__le32 fwimg_created_time;\n\t__le32 imem_resident_start;\n\t__le32 imem_resident_end;\n\t__le32 idirect_start;\n\t__le32 idirect_end;\n\t__le32 l2_imem_start;\n\t__le32 l2_imem_end;\n\t__le32 version_id;\n\tu8 init_ddirect;\n\tu8 reserved[3];\n\t__le32 phys_addr_log_buffer;\n\t__le32 total_log_entries;\n\t__le32 dequeue_ptr;\n\t__le32 dummy_var[2];\n\t__le32 fwimg_len;\n\tu8 magic[8];\n\t__le32 ss_low_power_entry_timeout;\n\tu8 num_hsic_port;\n\tu8 padding[139];\n};\n\nstruct tegra_xusb_lane_soc;\n\nstruct tegra_xusb_lane {\n\tconst struct tegra_xusb_lane_soc *soc;\n\tstruct tegra_xusb_pad *pad;\n\tstruct device_node *np;\n\tstruct list_head list;\n\tunsigned int function;\n\tunsigned int index;\n};\n\nstruct tegra_xusb_hsic_lane {\n\tstruct tegra_xusb_lane base;\n\tu32 strobe_trim;\n\tu32 rx_strobe_trim;\n\tu32 rx_data_trim;\n\tu32 tx_rtune_n;\n\tu32 tx_rtune_p;\n\tu32 tx_rslew_n;\n\tu32 tx_rslew_p;\n\tbool auto_term;\n};\n\nstruct tegra_xusb_pad_soc;\n\nstruct tegra_xusb_lane_ops;\n\nstruct tegra_xusb_pad {\n\tconst struct tegra_xusb_pad_soc *soc;\n\tstruct tegra_xusb_padctl *padctl;\n\tstruct phy_provider *provider;\n\tstruct phy **lanes;\n\tstruct device dev;\n\tconst struct tegra_xusb_lane_ops *ops;\n\tstruct list_head list;\n};\n\nstruct tegra_xusb_hsic_pad {\n\tstruct tegra_xusb_pad base;\n\tstruct regulator *supply;\n\tstruct clk *clk;\n};\n\nstruct tegra_xusb_port_ops;\n\nstruct tegra_xusb_port {\n\tstruct tegra_xusb_padctl *padctl;\n\tstruct tegra_xusb_lane *lane;\n\tunsigned int index;\n\tstruct list_head list;\n\tstruct device dev;\n\tstruct usb_role_switch *usb_role_sw;\n\tstruct work_struct usb_phy_work;\n\tstruct usb_phy usb_phy;\n\tconst struct tegra_xusb_port_ops *ops;\n};\n\nstruct tegra_xusb_hsic_port {\n\tstruct tegra_xusb_port base;\n};\n\nstruct tegra_xusb_lane_map {\n\tunsigned int port;\n\tconst char *type;\n\tunsigned int index;\n\tconst char *func;\n};\n\nstruct tegra_xusb_lane_ops {\n\tstruct tegra_xusb_lane * (*probe)(struct tegra_xusb_pad *, struct device_node *, unsigned int);\n\tvoid (*remove)(struct tegra_xusb_lane *);\n\tvoid (*iddq_enable)(struct tegra_xusb_lane *);\n\tvoid (*iddq_disable)(struct tegra_xusb_lane *);\n\tint (*enable_phy_sleepwalk)(struct tegra_xusb_lane *, enum usb_device_speed);\n\tint (*disable_phy_sleepwalk)(struct tegra_xusb_lane *);\n\tint (*enable_phy_wake)(struct tegra_xusb_lane *);\n\tint (*disable_phy_wake)(struct tegra_xusb_lane *);\n\tbool (*remote_wake_detected)(struct tegra_xusb_lane *);\n};\n\nstruct tegra_xusb_lane_soc {\n\tconst char *name;\n\tunsigned int offset;\n\tunsigned int shift;\n\tunsigned int mask;\n\tconst char * const *funcs;\n\tunsigned int num_funcs;\n\tstruct {\n\t\tunsigned int misc_ctl2;\n\t} regs;\n};\n\nstruct tegra_xusb_mbox_msg {\n\tu32 cmd;\n\tu32 data;\n};\n\nstruct tegra_xusb_mbox_regs {\n\tu16 cmd;\n\tu16 data_in;\n\tu16 data_out;\n\tu16 owner;\n\tu16 smi_intr;\n};\n\nstruct tegra_xusb_pad_ops {\n\tstruct tegra_xusb_pad * (*probe)(struct tegra_xusb_padctl *, const struct tegra_xusb_pad_soc *, struct device_node *);\n\tvoid (*remove)(struct tegra_xusb_pad *);\n};\n\nstruct tegra_xusb_pad_soc {\n\tconst char *name;\n\tconst struct tegra_xusb_lane_soc *lanes;\n\tunsigned int num_lanes;\n\tconst struct tegra_xusb_pad_ops *ops;\n};\n\nstruct tegra_xusb_padctl_soc___2;\n\nstruct tegra_xusb_padctl___2 {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct mutex lock;\n\tstruct reset_control *rst;\n\tconst struct tegra_xusb_padctl_soc___2 *soc;\n\tstruct pinctrl_dev *pinctrl;\n\tstruct pinctrl_desc desc;\n\tstruct phy_provider *provider;\n\tstruct phy *phys[2];\n\tunsigned int enable;\n};\n\nstruct tegra_xusb_padctl_function {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int num_groups;\n};\n\nstruct tegra_xusb_padctl_lane {\n\tconst char *name;\n\tunsigned int offset;\n\tunsigned int shift;\n\tunsigned int mask;\n\tunsigned int iddq;\n\tconst unsigned int *funcs;\n\tunsigned int num_funcs;\n};\n\nstruct tegra_xusb_padctl_ops {\n\tstruct tegra_xusb_padctl * (*probe)(struct device *, const struct tegra_xusb_padctl_soc *);\n\tvoid (*remove)(struct tegra_xusb_padctl *);\n\tint (*suspend_noirq)(struct tegra_xusb_padctl *);\n\tint (*resume_noirq)(struct tegra_xusb_padctl *);\n\tint (*usb3_save_context)(struct tegra_xusb_padctl *, unsigned int);\n\tint (*hsic_set_idle)(struct tegra_xusb_padctl *, unsigned int, bool);\n\tint (*usb3_set_lfps_detect)(struct tegra_xusb_padctl *, unsigned int, bool);\n\tint (*vbus_override)(struct tegra_xusb_padctl *, bool);\n\tint (*utmi_port_reset)(struct phy *);\n\tvoid (*utmi_pad_power_on)(struct phy *);\n\tvoid (*utmi_pad_power_down)(struct phy *);\n};\n\nstruct tegra_xusb_padctl_property {\n\tconst char *name;\n\tenum tegra_xusb_padctl_param param;\n};\n\nstruct tegra_xusb_padctl_soc___2 {\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int num_pins;\n\tconst struct tegra_xusb_padctl_function *functions;\n\tunsigned int num_functions;\n\tconst struct tegra_xusb_padctl_lane *lanes;\n\tunsigned int num_lanes;\n};\n\nstruct tegra_xusb_padctl_soc {\n\tconst struct tegra_xusb_pad_soc * const *pads;\n\tunsigned int num_pads;\n\tstruct {\n\t\tstruct {\n\t\t\tconst struct tegra_xusb_port_ops *ops;\n\t\t\tunsigned int count;\n\t\t} usb2;\n\t\tstruct {\n\t\t\tconst struct tegra_xusb_port_ops *ops;\n\t\t\tunsigned int count;\n\t\t} ulpi;\n\t\tstruct {\n\t\t\tconst struct tegra_xusb_port_ops *ops;\n\t\t\tunsigned int count;\n\t\t} hsic;\n\t\tstruct {\n\t\t\tconst struct tegra_xusb_port_ops *ops;\n\t\t\tunsigned int count;\n\t\t} usb3;\n\t} ports;\n\tconst struct tegra_xusb_padctl_ops *ops;\n\tconst char * const *supply_names;\n\tunsigned int num_supplies;\n\tbool supports_gen2;\n\tbool need_fake_usb3_port;\n\tbool poll_trk_completed;\n\tbool trk_hw_mode;\n\tbool supports_lp_cfg_en;\n};\n\nstruct tegra_xusb_pcie_lane {\n\tstruct tegra_xusb_lane base;\n};\n\nstruct tegra_xusb_pcie_pad {\n\tstruct tegra_xusb_pad base;\n\tstruct reset_control *rst;\n\tstruct clk *pll;\n\tbool enable;\n};\n\nstruct tegra_xusb_phy_type {\n\tconst char *name;\n\tunsigned int num;\n};\n\nstruct tegra_xusb_port_ops {\n\tvoid (*release)(struct tegra_xusb_port *);\n\tvoid (*remove)(struct tegra_xusb_port *);\n\tint (*enable)(struct tegra_xusb_port *);\n\tvoid (*disable)(struct tegra_xusb_port *);\n\tstruct tegra_xusb_lane * (*map)(struct tegra_xusb_port *);\n};\n\nstruct tegra_xusb_sata_lane {\n\tstruct tegra_xusb_lane base;\n};\n\nstruct tegra_xusb_sata_pad {\n\tstruct tegra_xusb_pad base;\n\tstruct reset_control *rst;\n\tstruct clk *pll;\n\tbool enable;\n};\n\nstruct tegra_xusb_soc_ops;\n\nstruct tegra_xusb_soc {\n\tconst char *firmware;\n\tconst char * const *supply_names;\n\tunsigned int num_supplies;\n\tconst struct tegra_xusb_phy_type *phy_types;\n\tunsigned int num_types;\n\tconst struct tegra_xusb_context_soc *context;\n\tstruct {\n\t\tstruct {\n\t\t\tunsigned int offset;\n\t\t\tunsigned int count;\n\t\t} usb2;\n\t\tstruct {\n\t\t\tunsigned int offset;\n\t\t\tunsigned int count;\n\t\t} ulpi;\n\t\tstruct {\n\t\t\tunsigned int offset;\n\t\t\tunsigned int count;\n\t\t} hsic;\n\t\tstruct {\n\t\t\tunsigned int offset;\n\t\t\tunsigned int count;\n\t\t} usb3;\n\t} ports;\n\tstruct tegra_xusb_mbox_regs mbox;\n\tconst struct tegra_xusb_soc_ops *ops;\n\tbool scale_ss_clock;\n\tbool has_ipfs;\n\tbool lpm_support;\n\tbool otg_reset_sspi;\n\tbool has_bar2;\n};\n\nstruct tegra_xusb_soc_ops {\n\tu32 (*mbox_reg_readl)(struct tegra_xusb *, unsigned int);\n\tvoid (*mbox_reg_writel)(struct tegra_xusb *, u32, unsigned int);\n\tu32 (*csb_reg_readl)(struct tegra_xusb *, unsigned int);\n\tvoid (*csb_reg_writel)(struct tegra_xusb *, u32, unsigned int);\n};\n\nstruct tegra_xusb_ulpi_lane {\n\tstruct tegra_xusb_lane base;\n};\n\nstruct tegra_xusb_ulpi_pad {\n\tstruct tegra_xusb_pad base;\n};\n\nstruct tegra_xusb_ulpi_port {\n\tstruct tegra_xusb_port base;\n\tstruct regulator *supply;\n\tbool internal;\n};\n\nstruct tegra_xusb_usb2_lane {\n\tstruct tegra_xusb_lane base;\n\tu32 hs_curr_level_offset;\n\tbool powered_on;\n};\n\nstruct tegra_xusb_usb2_pad {\n\tstruct tegra_xusb_pad base;\n\tstruct clk *clk;\n\tunsigned int enable;\n\tstruct mutex lock;\n};\n\nstruct tegra_xusb_usb2_port {\n\tstruct tegra_xusb_port base;\n\tstruct regulator *supply;\n\tenum usb_dr_mode mode;\n\tbool internal;\n\tint usb3_port_fake;\n};\n\nstruct tegra_xusb_usb3_lane {\n\tstruct tegra_xusb_lane base;\n};\n\nstruct tegra_xusb_usb3_pad {\n\tstruct tegra_xusb_pad base;\n\tunsigned int enable;\n\tstruct mutex lock;\n};\n\nstruct tegra_xusb_usb3_port {\n\tstruct tegra_xusb_port base;\n\tbool context_saved;\n\tunsigned int port;\n\tbool internal;\n\tbool disable_gen2;\n\tu32 tap1;\n\tu32 amp;\n\tu32 ctle_z;\n\tu32 ctle_g;\n};\n\nstruct termio {\n\tshort unsigned int c_iflag;\n\tshort unsigned int c_oflag;\n\tshort unsigned int c_cflag;\n\tshort unsigned int c_lflag;\n\tunsigned char c_line;\n\tunsigned char c_cc[8];\n};\n\nstruct termios {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n};\n\nstruct termios2 {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n\tspeed_t c_ispeed;\n\tspeed_t c_ospeed;\n};\n\nstruct tgec_cfg {\n\tbool pause_ignore;\n\tbool promiscuous_mode_enable;\n\tu16 max_frame_length;\n\tu16 pause_quant;\n\tu32 tx_ipg_length;\n};\n\nstruct tgec_mdio_controller {\n\t__be32 reserved[12];\n\t__be32 mdio_stat;\n\t__be32 mdio_ctl;\n\t__be32 mdio_data;\n\t__be32 mdio_addr;\n};\n\nstruct tgec_regs {\n\tu32 tgec_id;\n\tu32 reserved001[1];\n\tu32 command_config;\n\tu32 mac_addr_0;\n\tu32 mac_addr_1;\n\tu32 maxfrm;\n\tu32 pause_quant;\n\tu32 rx_fifo_sections;\n\tu32 tx_fifo_sections;\n\tu32 rx_fifo_almost_f_e;\n\tu32 tx_fifo_almost_f_e;\n\tu32 hashtable_ctrl;\n\tu32 mdio_cfg_status;\n\tu32 mdio_command;\n\tu32 mdio_data;\n\tu32 mdio_regaddr;\n\tu32 status;\n\tu32 tx_ipg_len;\n\tu32 mac_addr_2;\n\tu32 mac_addr_3;\n\tu32 rx_fifo_ptr_rd;\n\tu32 rx_fifo_ptr_wr;\n\tu32 tx_fifo_ptr_rd;\n\tu32 tx_fifo_ptr_wr;\n\tu32 imask;\n\tu32 ievent;\n\tu32 udp_port;\n\tu32 type_1588v2;\n\tu32 reserved070[4];\n\tu32 tfrm_u;\n\tu32 tfrm_l;\n\tu32 rfrm_u;\n\tu32 rfrm_l;\n\tu32 rfcs_u;\n\tu32 rfcs_l;\n\tu32 raln_u;\n\tu32 raln_l;\n\tu32 txpf_u;\n\tu32 txpf_l;\n\tu32 rxpf_u;\n\tu32 rxpf_l;\n\tu32 rlong_u;\n\tu32 rlong_l;\n\tu32 rflr_u;\n\tu32 rflr_l;\n\tu32 tvlan_u;\n\tu32 tvlan_l;\n\tu32 rvlan_u;\n\tu32 rvlan_l;\n\tu32 toct_u;\n\tu32 toct_l;\n\tu32 roct_u;\n\tu32 roct_l;\n\tu32 ruca_u;\n\tu32 ruca_l;\n\tu32 rmca_u;\n\tu32 rmca_l;\n\tu32 rbca_u;\n\tu32 rbca_l;\n\tu32 terr_u;\n\tu32 terr_l;\n\tu32 reserved100[2];\n\tu32 tuca_u;\n\tu32 tuca_l;\n\tu32 tmca_u;\n\tu32 tmca_l;\n\tu32 tbca_u;\n\tu32 tbca_l;\n\tu32 rdrp_u;\n\tu32 rdrp_l;\n\tu32 reoct_u;\n\tu32 reoct_l;\n\tu32 rpkt_u;\n\tu32 rpkt_l;\n\tu32 trund_u;\n\tu32 trund_l;\n\tu32 r64_u;\n\tu32 r64_l;\n\tu32 r127_u;\n\tu32 r127_l;\n\tu32 r255_u;\n\tu32 r255_l;\n\tu32 r511_u;\n\tu32 r511_l;\n\tu32 r1023_u;\n\tu32 r1023_l;\n\tu32 r1518_u;\n\tu32 r1518_l;\n\tu32 r1519x_u;\n\tu32 r1519x_l;\n\tu32 trovr_u;\n\tu32 trovr_l;\n\tu32 trjbr_u;\n\tu32 trjbr_l;\n\tu32 trfrg_u;\n\tu32 trfrg_l;\n\tu32 rerr_u;\n\tu32 rerr_l;\n};\n\nstruct tgid_iter {\n\tunsigned int tgid;\n\tstruct task_struct *task;\n};\n\nstruct tgs_gcl_data {\n\t__le32 btl;\n\t__le32 bth;\n\t__le32 ct;\n\t__le32 cte;\n\tstruct gce entry[0];\n};\n\nstruct thermal_attr {\n\tstruct device_attribute attr;\n\tchar name[20];\n};\n\ntypedef struct thermal_cooling_device *class_cooling_dev_t;\n\nstruct thermal_cooling_device {\n\tint id;\n\tconst char *type;\n\tlong unsigned int max_state;\n\tstruct device device;\n\tstruct device_node *np;\n\tvoid *devdata;\n\tvoid *stats;\n\tconst struct thermal_cooling_device_ops *ops;\n\tbool updated;\n\tstruct mutex lock;\n\tstruct list_head thermal_instances;\n\tstruct list_head node;\n};\n\nstruct thermal_governor {\n\tconst char *name;\n\tint (*bind_to_tz)(struct thermal_zone_device *);\n\tvoid (*unbind_from_tz)(struct thermal_zone_device *);\n\tvoid (*trip_crossed)(struct thermal_zone_device *, const struct thermal_trip *, bool);\n\tvoid (*manage)(struct thermal_zone_device *);\n\tvoid (*update_tz)(struct thermal_zone_device *, enum thermal_notify_event);\n\tstruct list_head governor_list;\n};\n\nstruct thermal_hwmon_attr {\n\tstruct device_attribute attr;\n\tchar name[16];\n};\n\nstruct thermal_hwmon_device {\n\tchar type[20];\n\tstruct device *device;\n\tint count;\n\tstruct list_head tz_list;\n\tstruct list_head node;\n};\n\nstruct thermal_hwmon_temp {\n\tstruct list_head hwmon_node;\n\tstruct thermal_zone_device *tz;\n\tstruct thermal_hwmon_attr temp_input;\n\tstruct thermal_hwmon_attr temp_crit;\n};\n\nstruct thermal_instance {\n\tint id;\n\tchar name[20];\n\tstruct thermal_cooling_device *cdev;\n\tconst struct thermal_trip *trip;\n\tbool initialized;\n\tlong unsigned int upper;\n\tlong unsigned int lower;\n\tlong unsigned int target;\n\tchar attr_name[20];\n\tstruct device_attribute attr;\n\tchar weight_attr_name[20];\n\tstruct device_attribute weight_attr;\n\tstruct list_head trip_node;\n\tstruct list_head cdev_node;\n\tunsigned int weight;\n\tbool upper_no_limit;\n};\n\nstruct thermal_trip {\n\tint temperature;\n\tint hysteresis;\n\tenum thermal_trip_type type;\n\tu8 flags;\n\tvoid *priv;\n};\n\nstruct thermal_trip_attrs {\n\tstruct thermal_attr type;\n\tstruct thermal_attr temp;\n\tstruct thermal_attr hyst;\n};\n\nstruct thermal_trip_desc {\n\tstruct thermal_trip trip;\n\tstruct thermal_trip_attrs trip_attrs;\n\tstruct list_head list_node;\n\tstruct list_head thermal_instances;\n\tint threshold;\n};\n\ntypedef struct thermal_zone_device *class_thermal_zone_reverse_t;\n\ntypedef struct thermal_zone_device *class_thermal_zone_t;\n\nstruct thermal_zone_params;\n\nstruct thermal_zone_device {\n\tint id;\n\tchar type[20];\n\tstruct device device;\n\tstruct completion removal;\n\tstruct completion resume;\n\tstruct attribute_group trips_attribute_group;\n\tstruct list_head trips_high;\n\tstruct list_head trips_reached;\n\tstruct list_head trips_invalid;\n\tenum thermal_device_mode mode;\n\tvoid *devdata;\n\tint num_trips;\n\tlong unsigned int passive_delay_jiffies;\n\tlong unsigned int polling_delay_jiffies;\n\tlong unsigned int recheck_delay_jiffies;\n\tint temperature;\n\tint last_temperature;\n\tint emul_temperature;\n\tint passive;\n\tint prev_low_trip;\n\tint prev_high_trip;\n\tstruct thermal_zone_device_ops ops;\n\tstruct thermal_zone_params *tzp;\n\tstruct thermal_governor *governor;\n\tvoid *governor_data;\n\tstruct ida ida;\n\tstruct mutex lock;\n\tstruct list_head node;\n\tstruct delayed_work poll_queue;\n\tenum thermal_notify_event notify_event;\n\tu8 state;\n\tstruct list_head user_thresholds;\n\tstruct thermal_trip_desc trips[0];\n};\n\nstruct thermal_zone_params {\n\tconst char *governor_name;\n\tbool no_hwmon;\n\tu32 sustainable_power;\n\ts32 k_po;\n\ts32 k_pu;\n\ts32 k_i;\n\ts32 k_d;\n\ts32 integral_cutoff;\n\tint slope;\n\tint offset;\n};\n\nstruct thpsize {\n\tstruct kobject kobj;\n\tstruct list_head node;\n\tint order;\n};\n\nstruct thread_deferred_req {\n\tstruct cache_deferred_req handle;\n\tstruct completion completion;\n};\n\nstruct ths_device;\n\nstruct tsensor {\n\tstruct ths_device *tmdev;\n\tstruct thermal_zone_device *tzd;\n\tint id;\n};\n\nstruct ths_thermal_chip;\n\nstruct ths_device {\n\tconst struct ths_thermal_chip *chip;\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct regmap_field *sram_regmap_field;\n\tstruct reset_control *reset;\n\tstruct clk *bus_clk;\n\tstruct clk *mod_clk;\n\tstruct tsensor sensor[4];\n};\n\nstruct ths_thermal_chip {\n\tbool has_mod_clk;\n\tbool has_bus_clk_reset;\n\tbool needs_sram;\n\tint sensor_num;\n\tint offset;\n\tint scale;\n\tint ft_deviation;\n\tint temp_data_base;\n\tint (*calibrate)(struct ths_device *, u16 *, int);\n\tint (*init)(struct ths_device *);\n\tlong unsigned int (*irq_ack)(struct ths_device *);\n\tint (*calc_temp)(struct ths_device *, int, int);\n};\n\nstruct thunder_mdiobus_nexus {\n\tvoid *bar0;\n\tstruct cavium_mdiobus *buses[4];\n};\n\nstruct thunder_pem_pci {\n\tu32 ea_entry[3];\n\tvoid *pem_reg_base;\n};\n\nstruct ti_cpufreq_soc_data;\n\nstruct ti_cpufreq_data {\n\tstruct device *cpu_dev;\n\tstruct device_node *opp_node;\n\tstruct regmap *syscon;\n\tconst struct ti_cpufreq_soc_data *soc_data;\n};\n\nstruct ti_cpufreq_soc_data {\n\tconst char * const *reg_names;\n\tlong unsigned int (*efuse_xlate)(struct ti_cpufreq_data *, long unsigned int);\n\tlong unsigned int efuse_fallback;\n\tlong unsigned int efuse_offset;\n\tlong unsigned int efuse_mask;\n\tlong unsigned int efuse_shift;\n\tlong unsigned int rev_offset;\n\tbool multi_regulator;\n\tu8 quirks;\n};\n\nstruct ti_msgmgr_valid_queue_desc;\n\nstruct ti_msgmgr_desc {\n\tu8 queue_count;\n\tu8 max_message_size;\n\tu8 max_messages;\n\tu8 data_first_reg;\n\tu8 data_last_reg;\n\tu32 status_cnt_mask;\n\tu32 status_err_mask;\n\tbool tx_polled;\n\tint tx_poll_timeout_ms;\n\tconst struct ti_msgmgr_valid_queue_desc *valid_queues;\n\tconst char *data_region_name;\n\tconst char *status_region_name;\n\tconst char *ctrl_region_name;\n\tint num_valid_queues;\n\tbool is_sproxy;\n};\n\nstruct ti_queue_inst;\n\nstruct ti_msgmgr_inst {\n\tstruct device *dev;\n\tconst struct ti_msgmgr_desc *desc;\n\tvoid *queue_proxy_region;\n\tvoid *queue_state_debug_region;\n\tvoid *queue_ctrl_region;\n\tu8 num_valid_queues;\n\tstruct ti_queue_inst *qinsts;\n\tstruct mbox_controller mbox;\n\tstruct mbox_chan *chans;\n};\n\nstruct ti_msgmgr_message {\n\tsize_t len;\n\tu8 *buf;\n\tstruct mbox_chan *chan_rx;\n\tint timeout_rx_ms;\n};\n\nstruct ti_msgmgr_valid_queue_desc {\n\tu8 queue_id;\n\tu8 proxy_id;\n\tbool is_tx;\n};\n\nstruct ti_opp_supply_optimum_voltage_table;\n\nstruct ti_opp_supply_data {\n\tstruct ti_opp_supply_optimum_voltage_table *vdd_table;\n\tu32 num_vdd_table;\n\tu32 vdd_absolute_max_voltage_uv;\n\tstruct dev_pm_opp_supply old_supplies[2];\n\tstruct dev_pm_opp_supply new_supplies[2];\n};\n\nstruct ti_opp_supply_of_data {\n\tconst u8 flags;\n\tconst u32 efuse_voltage_mask;\n\tconst bool efuse_voltage_uv;\n};\n\nstruct ti_opp_supply_optimum_voltage_table {\n\tunsigned int reference_uv;\n\tunsigned int optimized_uv;\n};\n\nstruct ti_queue_inst {\n\tchar name[30];\n\tu8 queue_id;\n\tu8 proxy_id;\n\tint irq;\n\tbool is_tx;\n\tvoid *queue_buff_start;\n\tvoid *queue_buff_end;\n\tvoid *queue_state;\n\tvoid *queue_ctrl;\n\tstruct mbox_chan *chan;\n\tu32 *rx_buff;\n\tbool polled_rx_mode;\n};\n\nstruct ti_sci_clk_ops {\n\tint (*get_clock)(const struct ti_sci_handle *, u32, u32, bool, bool, bool);\n\tint (*idle_clock)(const struct ti_sci_handle *, u32, u32);\n\tint (*put_clock)(const struct ti_sci_handle *, u32, u32);\n\tint (*is_auto)(const struct ti_sci_handle *, u32, u32, bool *);\n\tint (*is_on)(const struct ti_sci_handle *, u32, u32, bool *, bool *);\n\tint (*is_off)(const struct ti_sci_handle *, u32, u32, bool *, bool *);\n\tint (*set_parent)(const struct ti_sci_handle *, u32, u32, u32);\n\tint (*get_parent)(const struct ti_sci_handle *, u32, u32, u32 *);\n\tint (*get_num_parents)(const struct ti_sci_handle *, u32, u32, u32 *);\n\tint (*get_best_match_freq)(const struct ti_sci_handle *, u32, u32, u64, u64, u64, u64 *);\n\tint (*set_freq)(const struct ti_sci_handle *, u32, u32, u64, u64, u64);\n\tint (*get_freq)(const struct ti_sci_handle *, u32, u32, u64 *);\n};\n\nstruct ti_sci_core_ops {\n\tint (*reboot_device)(const struct ti_sci_handle *);\n};\n\nstruct ti_sci_desc {\n\tu8 default_host_id;\n\tint max_rx_timeout_ms;\n\tint max_msgs;\n\tint max_msg_size;\n};\n\nstruct ti_sci_dev_ops {\n\tint (*get_device)(const struct ti_sci_handle *, u32);\n\tint (*get_device_exclusive)(const struct ti_sci_handle *, u32);\n\tint (*idle_device)(const struct ti_sci_handle *, u32);\n\tint (*idle_device_exclusive)(const struct ti_sci_handle *, u32);\n\tint (*put_device)(const struct ti_sci_handle *, u32);\n\tint (*is_valid)(const struct ti_sci_handle *, u32);\n\tint (*get_context_loss_count)(const struct ti_sci_handle *, u32, u32 *);\n\tint (*is_idle)(const struct ti_sci_handle *, u32, bool *);\n\tint (*is_stop)(const struct ti_sci_handle *, u32, bool *, bool *);\n\tint (*is_on)(const struct ti_sci_handle *, u32, bool *, bool *);\n\tint (*is_transitioning)(const struct ti_sci_handle *, u32, bool *);\n\tint (*set_device_resets)(const struct ti_sci_handle *, u32, u32);\n\tint (*get_device_resets)(const struct ti_sci_handle *, u32, u32 *);\n};\n\nstruct ti_sci_genpd_provider {\n\tconst struct ti_sci_handle *ti_sci;\n\tstruct device *dev;\n\tstruct list_head pd_list;\n\tstruct genpd_onecell_data data;\n};\n\nstruct ti_sci_version_info {\n\tu8 abi_major;\n\tu8 abi_minor;\n\tu16 firmware_revision;\n\tchar firmware_description[32];\n};\n\nstruct ti_sci_pm_ops {\n\tint (*lpm_wake_reason)(const struct ti_sci_handle *, u32 *, u64 *, u8 *, u8 *);\n\tint (*set_device_constraint)(const struct ti_sci_handle *, u32, u8);\n\tint (*set_latency_constraint)(const struct ti_sci_handle *, u16, u8);\n};\n\nstruct ti_sci_resource_desc;\n\nstruct ti_sci_rm_core_ops {\n\tint (*get_range)(const struct ti_sci_handle *, u32, u8, struct ti_sci_resource_desc *);\n\tint (*get_range_from_shost)(const struct ti_sci_handle *, u32, u8, u8, struct ti_sci_resource_desc *);\n};\n\nstruct ti_sci_rm_irq_ops {\n\tint (*set_irq)(const struct ti_sci_handle *, u16, u16, u16, u16);\n\tint (*set_event_map)(const struct ti_sci_handle *, u16, u16, u16, u16, u16, u8);\n\tint (*free_irq)(const struct ti_sci_handle *, u16, u16, u16, u16);\n\tint (*free_event_map)(const struct ti_sci_handle *, u16, u16, u16, u16, u16, u8);\n};\n\nstruct ti_sci_msg_rm_ring_cfg;\n\nstruct ti_sci_rm_ringacc_ops {\n\tint (*set_cfg)(const struct ti_sci_handle *, const struct ti_sci_msg_rm_ring_cfg *);\n};\n\nstruct ti_sci_rm_psil_ops {\n\tint (*pair)(const struct ti_sci_handle *, u32, u32, u32);\n\tint (*unpair)(const struct ti_sci_handle *, u32, u32, u32);\n};\n\nstruct ti_sci_msg_rm_udmap_tx_ch_cfg;\n\nstruct ti_sci_msg_rm_udmap_rx_ch_cfg;\n\nstruct ti_sci_msg_rm_udmap_flow_cfg;\n\nstruct ti_sci_rm_udmap_ops {\n\tint (*tx_ch_cfg)(const struct ti_sci_handle *, const struct ti_sci_msg_rm_udmap_tx_ch_cfg *);\n\tint (*rx_ch_cfg)(const struct ti_sci_handle *, const struct ti_sci_msg_rm_udmap_rx_ch_cfg *);\n\tint (*rx_flow_cfg)(const struct ti_sci_handle *, const struct ti_sci_msg_rm_udmap_flow_cfg *);\n};\n\nstruct ti_sci_proc_ops {\n\tint (*request)(const struct ti_sci_handle *, u8);\n\tint (*release)(const struct ti_sci_handle *, u8);\n\tint (*handover)(const struct ti_sci_handle *, u8, u8);\n\tint (*set_config)(const struct ti_sci_handle *, u8, u64, u32, u32);\n\tint (*set_control)(const struct ti_sci_handle *, u8, u32, u32);\n\tint (*get_status)(const struct ti_sci_handle *, u8, u64 *, u32 *, u32 *, u32 *);\n};\n\nstruct ti_sci_ops {\n\tstruct ti_sci_core_ops core_ops;\n\tstruct ti_sci_dev_ops dev_ops;\n\tstruct ti_sci_clk_ops clk_ops;\n\tstruct ti_sci_pm_ops pm_ops;\n\tstruct ti_sci_rm_core_ops rm_core_ops;\n\tstruct ti_sci_rm_irq_ops rm_irq_ops;\n\tstruct ti_sci_rm_ringacc_ops rm_ring_ops;\n\tstruct ti_sci_rm_psil_ops rm_psil_ops;\n\tstruct ti_sci_rm_udmap_ops rm_udmap_ops;\n\tstruct ti_sci_proc_ops proc_ops;\n};\n\nstruct ti_sci_handle {\n\tstruct ti_sci_version_info version;\n\tstruct ti_sci_ops ops;\n};\n\nstruct ti_sci_xfer;\n\nstruct ti_sci_xfers_info {\n\tstruct semaphore sem_xfer_count;\n\tstruct ti_sci_xfer *xfer_block;\n\tlong unsigned int *xfer_alloc_table;\n\tspinlock_t xfer_lock;\n};\n\nstruct ti_sci_info {\n\tstruct device *dev;\n\tconst struct ti_sci_desc *desc;\n\tstruct dentry *d;\n\tvoid *debug_region;\n\tchar *debug_buffer;\n\tsize_t debug_region_size;\n\tstruct ti_sci_handle handle;\n\tstruct mbox_client cl;\n\tstruct mbox_chan *chan_tx;\n\tstruct mbox_chan *chan_rx;\n\tstruct ti_sci_xfers_info minfo;\n\tstruct list_head node;\n\tu8 host_id;\n\tu64 fw_caps;\n\tint users;\n};\n\nstruct ti_sci_inta_event_desc {\n\tu16 global_event;\n\tu32 hwirq;\n\tu8 vint_bit;\n};\n\nstruct ti_sci_inta_irq_domain {\n\tconst struct ti_sci_handle *sci;\n\tstruct ti_sci_resource *vint;\n\tstruct ti_sci_resource *global_event;\n\tstruct list_head vint_list;\n\tstruct mutex vint_mutex;\n\tvoid *base;\n\tstruct platform_device *pdev;\n\tu32 ti_sci_id;\n\tint unmapped_cnt;\n\tu16 *unmapped_dev_ids;\n};\n\nstruct ti_sci_inta_vint_desc {\n\tstruct irq_domain *domain;\n\tstruct list_head list;\n\tlong unsigned int event_map[1];\n\tstruct ti_sci_inta_event_desc events[64];\n\tunsigned int parent_virq;\n\tu16 vint_id;\n};\n\nstruct ti_sci_intr_irq_domain {\n\tconst struct ti_sci_handle *sci;\n\tstruct ti_sci_resource *out_irqs;\n\tstruct device *dev;\n\tu32 ti_sci_id;\n\tu32 type;\n};\n\nstruct ti_sci_msg_hdr {\n\tu16 type;\n\tu8 host;\n\tu8 seq;\n\tu32 flags;\n};\n\nstruct ti_sci_msg_psil_pair {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 nav_id;\n\tu32 src_thread;\n\tu32 dst_thread;\n};\n\nstruct ti_sci_msg_psil_unpair {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 nav_id;\n\tu32 src_thread;\n\tu32 dst_thread;\n};\n\nstruct ti_sci_msg_req_get_clock_freq {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 dev_id;\n\tu8 clk_id;\n\tu32 clk_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_get_clock_num_parents {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 dev_id;\n\tu8 clk_id;\n\tu32 clk_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_get_clock_parent {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 dev_id;\n\tu8 clk_id;\n\tu32 clk_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_get_clock_state {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 dev_id;\n\tu8 clk_id;\n\tu32 clk_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_get_device_state {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 id;\n};\n\nstruct ti_sci_msg_req_get_resource_range {\n\tstruct ti_sci_msg_hdr hdr;\n\tu16 type;\n\tu8 subtype;\n\tu8 secondary_host;\n};\n\nstruct ti_sci_msg_req_get_status {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 processor_id;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_lpm_set_device_constraint {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 id;\n\tu8 state;\n\tu32 rsvd[2];\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_lpm_set_latency_constraint {\n\tstruct ti_sci_msg_hdr hdr;\n\tu16 latency;\n\tu8 state;\n\tu32 rsvd;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_manage_irq {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 valid_params;\n\tu16 src_id;\n\tu16 src_index;\n\tu16 dst_id;\n\tu16 dst_host_irq;\n\tu16 ia_id;\n\tu16 vint;\n\tu16 global_event;\n\tu8 vint_status_bit;\n\tu8 secondary_host;\n};\n\nstruct ti_sci_msg_req_prepare_sleep {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 mode;\n\tu32 ctx_lo;\n\tu32 ctx_hi;\n\tu32 debug_flags;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_proc_handover {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 processor_id;\n\tu8 host_id;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_proc_release {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 processor_id;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_proc_request {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 processor_id;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_query_clock_freq {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 dev_id;\n\tu64 min_freq_hz;\n\tu64 target_freq_hz;\n\tu64 max_freq_hz;\n\tu8 clk_id;\n\tu32 clk_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_reboot {\n\tstruct ti_sci_msg_hdr hdr;\n};\n\nstruct ti_sci_msg_req_set_clock_freq {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 dev_id;\n\tu64 min_freq_hz;\n\tu64 target_freq_hz;\n\tu64 max_freq_hz;\n\tu8 clk_id;\n\tu32 clk_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_set_clock_parent {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 dev_id;\n\tu8 clk_id;\n\tu8 parent_id;\n\tu32 clk_id_32;\n\tu32 parent_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_set_clock_state {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 dev_id;\n\tu8 clk_id;\n\tu8 request_state;\n\tu32 clk_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_set_config {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 processor_id;\n\tu32 bootvector_low;\n\tu32 bootvector_high;\n\tu32 config_flags_set;\n\tu32 config_flags_clear;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_set_ctrl {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 processor_id;\n\tu32 control_flags_set;\n\tu32 control_flags_clear;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_set_device_resets {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 id;\n\tu32 resets;\n};\n\nstruct ti_sci_msg_req_set_device_state {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 id;\n\tu32 reserved;\n\tu8 state;\n} __attribute__((packed));\n\nstruct ti_sci_msg_req_set_io_isolation {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 state;\n} __attribute__((packed));\n\nstruct ti_sci_msg_resp_get_clock_freq {\n\tstruct ti_sci_msg_hdr hdr;\n\tu64 freq_hz;\n};\n\nstruct ti_sci_msg_resp_get_clock_num_parents {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 num_parents;\n\tu32 num_parents_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_resp_get_clock_parent {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 parent_id;\n\tu32 parent_id_32;\n} __attribute__((packed));\n\nstruct ti_sci_msg_resp_get_clock_state {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 programmed_state;\n\tu8 current_state;\n} __attribute__((packed));\n\nstruct ti_sci_msg_resp_get_device_state {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 context_loss_count;\n\tu32 resets;\n\tu8 programmed_state;\n\tu8 current_state;\n} __attribute__((packed));\n\nstruct ti_sci_msg_resp_get_resource_range {\n\tstruct ti_sci_msg_hdr hdr;\n\tu16 range_start;\n\tu16 range_num;\n\tu16 range_start_sec;\n\tu16 range_num_sec;\n};\n\nstruct ti_sci_msg_resp_get_status {\n\tstruct ti_sci_msg_hdr hdr;\n\tu8 processor_id;\n\tu32 bootvector_low;\n\tu32 bootvector_high;\n\tu32 config_flags;\n\tu32 control_flags;\n\tu32 status_flags;\n} __attribute__((packed));\n\nstruct ti_sci_msg_resp_lpm_wake_reason {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 wake_source;\n\tu64 wake_timestamp;\n\tu8 wake_pin;\n\tu8 mode;\n\tu32 rsvd[2];\n} __attribute__((packed));\n\nstruct ti_sci_msg_resp_query_clock_freq {\n\tstruct ti_sci_msg_hdr hdr;\n\tu64 freq_hz;\n};\n\nstruct ti_sci_msg_resp_query_fw_caps {\n\tstruct ti_sci_msg_hdr hdr;\n\tu64 fw_caps;\n};\n\nstruct ti_sci_msg_resp_version {\n\tstruct ti_sci_msg_hdr hdr;\n\tchar firmware_description[32];\n\tu16 firmware_revision;\n\tu8 abi_major;\n\tu8 abi_minor;\n};\n\nstruct ti_sci_msg_rm_ring_cfg {\n\tu32 valid_params;\n\tu16 nav_id;\n\tu16 index;\n\tu32 addr_lo;\n\tu32 addr_hi;\n\tu32 count;\n\tu8 mode;\n\tu8 size;\n\tu8 order_id;\n\tu16 virtid;\n\tu8 asel;\n};\n\nstruct ti_sci_msg_rm_ring_cfg_req {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 valid_params;\n\tu16 nav_id;\n\tu16 index;\n\tu32 addr_lo;\n\tu32 addr_hi;\n\tu32 count;\n\tu8 mode;\n\tu8 size;\n\tu8 order_id;\n\tu16 virtid;\n\tu8 asel;\n} __attribute__((packed));\n\nstruct ti_sci_msg_rm_udmap_flow_cfg {\n\tu32 valid_params;\n\tu16 nav_id;\n\tu16 flow_index;\n\tu8 rx_einfo_present;\n\tu8 rx_psinfo_present;\n\tu8 rx_error_handling;\n\tu8 rx_desc_type;\n\tu16 rx_sop_offset;\n\tu16 rx_dest_qnum;\n\tu8 rx_src_tag_hi;\n\tu8 rx_src_tag_lo;\n\tu8 rx_dest_tag_hi;\n\tu8 rx_dest_tag_lo;\n\tu8 rx_src_tag_hi_sel;\n\tu8 rx_src_tag_lo_sel;\n\tu8 rx_dest_tag_hi_sel;\n\tu8 rx_dest_tag_lo_sel;\n\tu16 rx_fdq0_sz0_qnum;\n\tu16 rx_fdq1_qnum;\n\tu16 rx_fdq2_qnum;\n\tu16 rx_fdq3_qnum;\n\tu8 rx_ps_location;\n};\n\nstruct ti_sci_msg_rm_udmap_flow_cfg_req {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 valid_params;\n\tu16 nav_id;\n\tu16 flow_index;\n\tu8 rx_einfo_present;\n\tu8 rx_psinfo_present;\n\tu8 rx_error_handling;\n\tu8 rx_desc_type;\n\tu16 rx_sop_offset;\n\tu16 rx_dest_qnum;\n\tu8 rx_src_tag_hi;\n\tu8 rx_src_tag_lo;\n\tu8 rx_dest_tag_hi;\n\tu8 rx_dest_tag_lo;\n\tu8 rx_src_tag_hi_sel;\n\tu8 rx_src_tag_lo_sel;\n\tu8 rx_dest_tag_hi_sel;\n\tu8 rx_dest_tag_lo_sel;\n\tu16 rx_fdq0_sz0_qnum;\n\tu16 rx_fdq1_qnum;\n\tu16 rx_fdq2_qnum;\n\tu16 rx_fdq3_qnum;\n\tu8 rx_ps_location;\n} __attribute__((packed));\n\nstruct ti_sci_msg_rm_udmap_rx_ch_cfg {\n\tu32 valid_params;\n\tu16 nav_id;\n\tu16 index;\n\tu16 rx_fetch_size;\n\tu16 rxcq_qnum;\n\tu8 rx_priority;\n\tu8 rx_qos;\n\tu8 rx_orderid;\n\tu8 rx_sched_priority;\n\tu16 flowid_start;\n\tu16 flowid_cnt;\n\tu8 rx_pause_on_err;\n\tu8 rx_atype;\n\tu8 rx_chan_type;\n\tu8 rx_ignore_short;\n\tu8 rx_ignore_long;\n\tu8 rx_burst_size;\n};\n\nstruct ti_sci_msg_rm_udmap_rx_ch_cfg_req {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 valid_params;\n\tu16 nav_id;\n\tu16 index;\n\tu16 rx_fetch_size;\n\tu16 rxcq_qnum;\n\tu8 rx_priority;\n\tu8 rx_qos;\n\tu8 rx_orderid;\n\tu8 rx_sched_priority;\n\tu16 flowid_start;\n\tu16 flowid_cnt;\n\tu8 rx_pause_on_err;\n\tu8 rx_atype;\n\tu8 rx_chan_type;\n\tu8 rx_ignore_short;\n\tu8 rx_ignore_long;\n\tu8 rx_burst_size;\n} __attribute__((packed));\n\nstruct ti_sci_msg_rm_udmap_tx_ch_cfg {\n\tu32 valid_params;\n\tu16 nav_id;\n\tu16 index;\n\tu8 tx_pause_on_err;\n\tu8 tx_filt_einfo;\n\tu8 tx_filt_pswords;\n\tu8 tx_atype;\n\tu8 tx_chan_type;\n\tu8 tx_supr_tdpkt;\n\tu16 tx_fetch_size;\n\tu8 tx_credit_count;\n\tu16 txcq_qnum;\n\tu8 tx_priority;\n\tu8 tx_qos;\n\tu8 tx_orderid;\n\tu16 fdepth;\n\tu8 tx_sched_priority;\n\tu8 tx_burst_size;\n\tu8 tx_tdtype;\n\tu8 extended_ch_type;\n};\n\nstruct ti_sci_msg_rm_udmap_tx_ch_cfg_req {\n\tstruct ti_sci_msg_hdr hdr;\n\tu32 valid_params;\n\tu16 nav_id;\n\tu16 index;\n\tu8 tx_pause_on_err;\n\tu8 tx_filt_einfo;\n\tu8 tx_filt_pswords;\n\tu8 tx_atype;\n\tu8 tx_chan_type;\n\tu8 tx_supr_tdpkt;\n\tu16 tx_fetch_size;\n\tu8 tx_credit_count;\n\tu16 txcq_qnum;\n\tu8 tx_priority;\n\tu8 tx_qos;\n\tu8 tx_orderid;\n\tu16 fdepth;\n\tu8 tx_sched_priority;\n\tu8 tx_burst_size;\n\tu8 tx_tdtype;\n\tu8 extended_ch_type;\n} __attribute__((packed));\n\nstruct ti_sci_pm_domain {\n\tint idx;\n\tu8 exclusive;\n\tstruct generic_pm_domain pd;\n\tstruct list_head node;\n\tstruct ti_sci_genpd_provider *parent;\n};\n\nstruct ti_sci_reset_control {\n\tu32 dev_id;\n\tu32 reset_mask;\n\tstruct mutex lock;\n};\n\nstruct ti_sci_reset_data {\n\tstruct reset_controller_dev rcdev;\n\tstruct device *dev;\n\tconst struct ti_sci_handle *sci;\n\tstruct idr idr;\n};\n\nstruct ti_sci_resource {\n\tu16 sets;\n\traw_spinlock_t lock;\n\tstruct ti_sci_resource_desc *desc;\n};\n\nstruct ti_sci_resource_desc {\n\tu16 start;\n\tu16 num;\n\tu16 start_sec;\n\tu16 num_sec;\n\tlong unsigned int *res_map;\n};\n\nstruct ti_sci_xfer {\n\tstruct ti_msgmgr_message tx_message;\n\tu8 rx_len;\n\tu8 *xfer_buf;\n\tstruct completion done;\n};\n\nstruct ti_sysc_module_data {\n\tconst char *name;\n\tu64 module_pa;\n\tu32 module_size;\n\tint *offsets;\n\tint nr_offsets;\n\tconst struct sysc_capabilities *cap;\n\tstruct sysc_config *cfg;\n};\n\nstruct ti_sysc_platform_data {\n\tstruct of_dev_auxdata *auxdata;\n\tbool (*soc_type_gp)(void);\n\tint (*init_clockdomain)(struct device *, struct clk *, struct clk *, struct ti_sysc_cookie *);\n\tvoid (*clkdm_deny_idle)(struct device *, const struct ti_sysc_cookie *);\n\tvoid (*clkdm_allow_idle)(struct device *, const struct ti_sysc_cookie *);\n\tint (*init_module)(struct device *, const struct ti_sysc_module_data *, struct ti_sysc_cookie *);\n\tint (*enable_module)(struct device *, const struct ti_sysc_cookie *);\n\tint (*idle_module)(struct device *, const struct ti_sysc_cookie *);\n\tint (*shutdown_module)(struct device *, const struct ti_sysc_cookie *);\n};\n\nstruct ti_syscon_gate_clk_data {\n\tchar *name;\n\tu32 offset;\n\tu32 bit_idx;\n};\n\nstruct ti_syscon_gate_clk_priv {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tu32 reg;\n\tu32 idx;\n};\n\nstruct tick_device {\n\tstruct clock_event_device *evtdev;\n\tenum tick_device_mode mode;\n};\n\nstruct tick_sched {\n\tlong unsigned int flags;\n\tunsigned int stalled_jiffies;\n\tlong unsigned int last_tick_jiffies;\n\tstruct hrtimer sched_timer;\n\tktime_t last_tick;\n\tktime_t next_tick;\n\tlong unsigned int idle_jiffies;\n\tktime_t idle_waketime;\n\tunsigned int got_idle_tick;\n\tseqcount_t idle_sleeptime_seq;\n\tktime_t idle_entrytime;\n\tlong unsigned int last_jiffies;\n\tu64 timer_expires_base;\n\tu64 timer_expires;\n\tu64 next_timer;\n\tktime_t idle_expires;\n\tlong unsigned int idle_calls;\n\tlong unsigned int idle_sleeps;\n\tktime_t idle_exittime;\n\tktime_t idle_sleeptime;\n\tktime_t iowait_sleeptime;\n\tatomic_t tick_dep_mask;\n\tlong unsigned int check_clocks;\n};\n\nstruct tile_info {\n\tu32 offset;\n\tu32 size;\n};\n\nstruct timens_offsets {\n\tstruct timespec64 monotonic;\n\tstruct timespec64 boottime;\n};\n\nstruct time_namespace {\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct ns_common ns;\n\tstruct timens_offsets offsets;\n\tstruct page *vvar_page;\n\tbool frozen_offsets;\n};\n\nstruct timedia_struct {\n\tint num;\n\tconst short unsigned int *ids;\n};\n\nstruct tk_read_base {\n\tstruct clocksource *clock;\n\tu64 mask;\n\tu64 cycle_last;\n\tu32 mult;\n\tu32 shift;\n\tu64 xtime_nsec;\n\tktime_t base;\n\tu64 base_real;\n};\n\nstruct timekeeper {\n\tstruct tk_read_base tkr_mono;\n\tu64 xtime_sec;\n\tlong unsigned int ktime_sec;\n\tstruct timespec64 wall_to_monotonic;\n\tktime_t offs_real;\n\tktime_t offs_boot;\n\tktime_t offs_tai;\n\ts32 tai_offset;\n\tstruct tk_read_base tkr_raw;\n\tu64 raw_sec;\n\tunsigned int clock_was_set_seq;\n\tu8 cs_was_changed_seq;\n\tstruct timespec64 monotonic_to_boot;\n\tu64 cycle_interval;\n\tu64 xtime_interval;\n\ts64 xtime_remainder;\n\tu64 raw_interval;\n\tktime_t next_leap_ktime;\n\tu64 ntp_tick;\n\ts64 ntp_error;\n\tu32 ntp_error_shift;\n\tu32 ntp_err_mult;\n\tu32 skip_second_overflow;\n};\n\nstruct timens_offset {\n\ts64 sec;\n\tu64 nsec;\n};\n\nstruct timer_base {\n\traw_spinlock_t lock;\n\tstruct timer_list *running_timer;\n\tlong unsigned int clk;\n\tlong unsigned int next_expiry;\n\tunsigned int cpu;\n\tbool next_expiry_recalc;\n\tbool is_idle;\n\tbool timers_pending;\n\tlong unsigned int pending_map[9];\n\tstruct hlist_head vectors[576];\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct timer_events {\n\tu64 local;\n\tu64 global;\n};\n\nstruct timer_list_iter {\n\tint cpu;\n\tbool second_pass;\n\tu64 now;\n};\n\nstruct timer_map {\n\tstruct arch_timer_context *direct_vtimer;\n\tstruct arch_timer_context *direct_ptimer;\n\tstruct arch_timer_context *emul_vtimer;\n\tstruct arch_timer_context *emul_ptimer;\n};\n\nstruct timer_of {\n\tunsigned int flags;\n\tstruct device_node *np;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct clock_event_device clkevt;\n\tstruct of_timer_base of_base;\n\tstruct of_timer_irq of_irq;\n\tstruct of_timer_clk of_clk;\n\tvoid *private_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct timer_rand_state {\n\tlong unsigned int last_time;\n\tlong int last_delta;\n\tlong int last_delta2;\n};\n\nstruct timerfd_ctx {\n\tunion {\n\t\tstruct hrtimer tmr;\n\t\tstruct alarm alarm;\n\t} t;\n\tktime_t tintv;\n\tktime_t moffs;\n\twait_queue_head_t wqh;\n\tu64 ticks;\n\tint clockid;\n\tshort unsigned int expired;\n\tshort unsigned int settime_flags;\n\tstruct callback_head rcu;\n\tstruct list_head clist;\n\tspinlock_t cancel_lock;\n\tbool might_cancel;\n};\n\nstruct timerlat_entry {\n\tstruct trace_entry ent;\n\tunsigned int seqnum;\n\tint context;\n\tu64 timer_latency;\n};\n\nstruct timestamp_event_queue {\n\tstruct ptp_extts_event buf[128];\n\tint head;\n\tint tail;\n\tspinlock_t lock;\n\tstruct list_head qlist;\n\tlong unsigned int *mask;\n\tstruct dentry *debugfs_instance;\n\tstruct debugfs_u32_array dfs_bitmap;\n};\n\nstruct timewait_sock_ops {\n\tstruct kmem_cache *twsk_slab;\n\tchar *twsk_slab_name;\n\tunsigned int twsk_obj_size;\n\tvoid (*twsk_destructor)(struct sock *);\n};\n\nstruct timezone {\n\tint tz_minuteswest;\n\tint tz_dsttime;\n};\n\nstruct timing {\n\tu8 u1sel;\n\tu8 u1pel;\n\t__le16 u2sel;\n\t__le16 u2pel;\n};\n\nstruct timing_data {\n\tconst char *otap_binding;\n\tconst char *itap_binding;\n\tu32 capability;\n};\n\nstruct tiocl_selection {\n\tshort unsigned int xs;\n\tshort unsigned int ys;\n\tshort unsigned int xe;\n\tshort unsigned int ye;\n\tshort unsigned int sel_mode;\n};\n\nstruct tipc_basic_hdr {\n\t__be32 w[4];\n};\n\nstruct tk_data {\n\tseqcount_raw_spinlock_t seq;\n\tstruct timekeeper timekeeper;\n\tstruct timekeeper shadow_timekeeper;\n\traw_spinlock_t lock;\n};\n\nstruct tk_fast {\n\tseqcount_latch_t seq;\n\tstruct tk_read_base base[2];\n};\n\nstruct tlb_inv_context {\n\tstruct kvm_s2_mmu *mmu;\n\tlong unsigned int flags;\n\tu64 tcr;\n\tu64 sctlr;\n};\n\nstruct tlb_inv_context___2 {\n\tstruct kvm_s2_mmu *mmu;\n\tu64 tcr;\n\tu64 sctlr;\n};\n\nunion tlbi_info {\n\tstruct {\n\t\tu64 start;\n\t\tu64 size;\n\t} range;\n\tstruct {\n\t\tu64 addr;\n\t} ipa;\n\tstruct {\n\t\tu64 addr;\n\t\tu32 encoding;\n\t} va;\n};\n\nstruct tlp_rp_regpair_t {\n\tu32 ctrl;\n\tu32 reg0;\n\tu32 reg1;\n};\n\nstruct tls_crypto_info {\n\t__u16 version;\n\t__u16 cipher_type;\n};\n\nstruct tls12_crypto_info_aes_gcm_128 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_aes_gcm_256 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[32];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_chacha20_poly1305 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[12];\n\tunsigned char key[32];\n\tunsigned char salt[0];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_sm4_ccm {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_sm4_gcm {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls_prot_info {\n\tu16 version;\n\tu16 cipher_type;\n\tu16 prepend_size;\n\tu16 tag_size;\n\tu16 overhead_size;\n\tu16 iv_size;\n\tu16 salt_size;\n\tu16 rec_seq_size;\n\tu16 aad_size;\n\tu16 tail_size;\n};\n\nunion tls_crypto_context {\n\tstruct tls_crypto_info info;\n\tunion {\n\t\tstruct tls12_crypto_info_aes_gcm_128 aes_gcm_128;\n\t\tstruct tls12_crypto_info_aes_gcm_256 aes_gcm_256;\n\t\tstruct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305;\n\t\tstruct tls12_crypto_info_sm4_gcm sm4_gcm;\n\t\tstruct tls12_crypto_info_sm4_ccm sm4_ccm;\n\t};\n};\n\nstruct tls_context {\n\tstruct tls_prot_info prot_info;\n\tu8 tx_conf: 3;\n\tu8 rx_conf: 3;\n\tu8 zerocopy_sendfile: 1;\n\tu8 rx_no_pad: 1;\n\tint (*push_pending_record)(struct sock *, int);\n\tvoid (*sk_write_space)(struct sock *);\n\tvoid *priv_ctx_tx;\n\tvoid *priv_ctx_rx;\n\tstruct net_device *netdev;\n\tstruct cipher_context tx;\n\tstruct cipher_context rx;\n\tstruct scatterlist *partially_sent_record;\n\tu16 partially_sent_offset;\n\tbool splicing_pages;\n\tbool pending_open_record_frags;\n\tstruct mutex tx_lock;\n\tlong unsigned int flags;\n\tstruct proto *sk_proto;\n\tstruct sock *sk;\n\tvoid (*sk_destruct)(struct sock *);\n\tunion tls_crypto_context crypto_send;\n\tunion tls_crypto_context crypto_recv;\n\tstruct list_head list;\n\trefcount_t refcount;\n\tstruct callback_head rcu;\n};\n\ntypedef void (*tls_done_func_t)(void *, int, key_serial_t);\n\nstruct tls_handshake_args {\n\tstruct socket *ta_sock;\n\ttls_done_func_t ta_done;\n\tvoid *ta_data;\n\tconst char *ta_peername;\n\tunsigned int ta_timeout_ms;\n\tkey_serial_t ta_keyring;\n\tkey_serial_t ta_my_cert;\n\tkey_serial_t ta_my_privkey;\n\tunsigned int ta_num_peerids;\n\tkey_serial_t ta_my_peerids[5];\n};\n\nstruct tls_handshake_req {\n\tvoid (*th_consumer_done)(void *, int, key_serial_t);\n\tvoid *th_consumer_data;\n\tint th_type;\n\tunsigned int th_timeout_ms;\n\tint th_auth_mode;\n\tconst char *th_peername;\n\tkey_serial_t th_keyring;\n\tkey_serial_t th_certificate;\n\tkey_serial_t th_privkey;\n\tunsigned int th_num_peerids;\n\tkey_serial_t th_peerid[5];\n};\n\nstruct tls_strparser {\n\tstruct sock *sk;\n\tu32 mark: 8;\n\tu32 stopped: 1;\n\tu32 copy_mode: 1;\n\tu32 mixed_decrypted: 1;\n\tbool msg_ready;\n\tstruct strp_msg stm;\n\tstruct sk_buff *anchor;\n\tstruct work_struct work;\n};\n\nstruct tls_sw_context_rx {\n\tstruct crypto_aead *aead_recv;\n\tstruct crypto_wait async_wait;\n\tstruct sk_buff_head rx_list;\n\tvoid (*saved_data_ready)(struct sock *);\n\tu8 reader_present;\n\tu8 async_capable: 1;\n\tu8 zc_capable: 1;\n\tu8 reader_contended: 1;\n\tbool key_update_pending;\n\tstruct tls_strparser strp;\n\tatomic_t decrypt_pending;\n\tstruct sk_buff_head async_hold;\n\tstruct wait_queue_head wq;\n};\n\nstruct tx_work {\n\tstruct delayed_work work;\n\tstruct sock *sk;\n};\n\nstruct tls_rec;\n\nstruct tls_sw_context_tx {\n\tstruct crypto_aead *aead_send;\n\tstruct crypto_wait async_wait;\n\tstruct tx_work tx_work;\n\tstruct tls_rec *open_rec;\n\tstruct list_head tx_list;\n\tatomic_t encrypt_pending;\n\tu8 async_capable: 1;\n\tlong unsigned int tx_bitmask;\n};\n\nstruct tm {\n\tint tm_sec;\n\tint tm_min;\n\tint tm_hour;\n\tint tm_mday;\n\tint tm_mon;\n\tlong int tm_year;\n\tint tm_wday;\n\tint tm_yday;\n};\n\nstruct tmigr_event {\n\tstruct timerqueue_node nextevt;\n\tunsigned int cpu;\n\tbool ignore;\n};\n\nstruct tmigr_group;\n\nstruct tmigr_cpu {\n\traw_spinlock_t lock;\n\tbool online;\n\tbool idle;\n\tbool remote;\n\tstruct tmigr_group *tmgroup;\n\tu8 groupmask;\n\tu64 wakeup;\n\tstruct tmigr_event cpuevt;\n};\n\nstruct tmigr_group {\n\traw_spinlock_t lock;\n\tstruct tmigr_group *parent;\n\tstruct tmigr_event groupevt;\n\tu64 next_expiry;\n\tstruct timerqueue_head events;\n\tatomic_t migr_state;\n\tunsigned int level;\n\tint numa_node;\n\tunsigned int num_children;\n\tu8 groupmask;\n\tstruct list_head list;\n};\n\nunion tmigr_state {\n\tu32 state;\n\tstruct {\n\t\tu8 active;\n\t\tu8 migrator;\n\t\tu16 seq;\n\t};\n};\n\nstruct tmigr_walk {\n\tu64 nextexp;\n\tu64 firstexp;\n\tstruct tmigr_event *evt;\n\tu8 childmask;\n\tbool remote;\n\tlong unsigned int basej;\n\tu64 now;\n\tbool check;\n\tbool tmc_active;\n};\n\nstruct tmio_mmc_dma_ops {\n\tvoid (*start)(struct tmio_mmc_host *, struct mmc_data *);\n\tvoid (*enable)(struct tmio_mmc_host *, bool);\n\tvoid (*request)(struct tmio_mmc_host *, struct tmio_mmc_data *);\n\tvoid (*release)(struct tmio_mmc_host *);\n\tvoid (*abort)(struct tmio_mmc_host *);\n\tvoid (*dataend)(struct tmio_mmc_host *);\n\tvoid (*end)(struct tmio_mmc_host *);\n\tbool (*dma_irq)(struct tmio_mmc_host *);\n};\n\nstruct tmio_mmc_host {\n\tvoid *ctl;\n\tstruct mmc_command *cmd;\n\tstruct mmc_request *mrq;\n\tstruct mmc_data *data;\n\tstruct mmc_host *mmc;\n\tstruct mmc_host_ops ops;\n\tstruct scatterlist *sg_ptr;\n\tstruct scatterlist *sg_orig;\n\tunsigned int sg_len;\n\tunsigned int sg_off;\n\tunsigned int bus_shift;\n\tstruct platform_device *pdev;\n\tstruct tmio_mmc_data *pdata;\n\tbool dma_on;\n\tstruct dma_chan *chan_rx;\n\tstruct dma_chan *chan_tx;\n\tstruct work_struct dma_issue;\n\tstruct scatterlist bounce_sg;\n\tu8 *bounce_buf;\n\tstruct delayed_work delayed_reset_work;\n\tstruct work_struct done;\n\tu32 sdcard_irq_mask;\n\tu32 sdio_irq_mask;\n\tunsigned int clk_cache;\n\tu32 sdcard_irq_setbit_mask;\n\tu32 sdcard_irq_mask_all;\n\tspinlock_t lock;\n\tlong unsigned int last_req_ts;\n\tstruct mutex ios_lock;\n\tbool native_hotplug;\n\tbool sdio_irq_enabled;\n\tint (*clk_enable)(struct tmio_mmc_host *);\n\tvoid (*set_clock)(struct tmio_mmc_host *, unsigned int);\n\tvoid (*clk_disable)(struct tmio_mmc_host *);\n\tint (*multi_io_quirk)(struct mmc_card *, unsigned int, int);\n\tint (*write16_hook)(struct tmio_mmc_host *, int);\n\tvoid (*reset)(struct tmio_mmc_host *, bool);\n\tbool (*check_retune)(struct tmio_mmc_host *, struct mmc_request *);\n\tvoid (*fixup_request)(struct tmio_mmc_host *, struct mmc_request *);\n\tunsigned int (*get_timeout_cycles)(struct tmio_mmc_host *);\n\tconst struct tmio_mmc_dma_ops *dma_ops;\n};\n\nstruct tmpmasks {\n\tcpumask_var_t addmask;\n\tcpumask_var_t delmask;\n\tcpumask_var_t new_cpus;\n};\n\nstruct tms {\n\t__kernel_clock_t tms_utime;\n\t__kernel_clock_t tms_stime;\n\t__kernel_clock_t tms_cutime;\n\t__kernel_clock_t tms_cstime;\n};\n\nstruct tnode {\n\tstruct callback_head rcu;\n\tt_key empty_children;\n\tt_key full_children;\n\tstruct key_vector *parent;\n\tstruct key_vector kv[1];\n};\n\nstruct topology_resp {\n\tu32 topology[3];\n};\n\nstruct touchscreen_properties {\n\tunsigned int max_x;\n\tunsigned int max_y;\n\tbool invert_x;\n\tbool invert_y;\n\tbool swap_x_y;\n};\n\nstruct tp_module {\n\tstruct list_head list;\n\tstruct module *mod;\n};\n\nstruct tracepoint_func {\n\tvoid *func;\n\tvoid *data;\n\tint prio;\n};\n\nstruct tp_probes {\n\tstruct callback_head rcu;\n\tstruct tracepoint_func probes[0];\n};\n\nstruct tp_transition_snapshot {\n\tlong unsigned int rcu;\n\tbool ongoing;\n};\n\nstruct tpacket2_hdr {\n\t__u32 tp_status;\n\t__u32 tp_len;\n\t__u32 tp_snaplen;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\t__u32 tp_sec;\n\t__u32 tp_nsec;\n\t__u16 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n\t__u8 tp_padding[4];\n};\n\nstruct tpacket_hdr_variant1 {\n\t__u32 tp_rxhash;\n\t__u32 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n\t__u16 tp_padding;\n};\n\nstruct tpacket3_hdr {\n\t__u32 tp_next_offset;\n\t__u32 tp_sec;\n\t__u32 tp_nsec;\n\t__u32 tp_snaplen;\n\t__u32 tp_len;\n\t__u32 tp_status;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\tunion {\n\t\tstruct tpacket_hdr_variant1 hv1;\n\t};\n\t__u8 tp_padding[8];\n};\n\nstruct tpacket_auxdata {\n\t__u32 tp_status;\n\t__u32 tp_len;\n\t__u32 tp_snaplen;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\t__u16 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n};\n\nstruct tpacket_bd_ts {\n\tunsigned int ts_sec;\n\tunion {\n\t\tunsigned int ts_usec;\n\t\tunsigned int ts_nsec;\n\t};\n};\n\nstruct tpacket_hdr_v1 {\n\t__u32 block_status;\n\t__u32 num_pkts;\n\t__u32 offset_to_first_pkt;\n\t__u32 blk_len;\n\t__u64 seq_num;\n\tstruct tpacket_bd_ts ts_first_pkt;\n\tstruct tpacket_bd_ts ts_last_pkt;\n};\n\nunion tpacket_bd_header_u {\n\tstruct tpacket_hdr_v1 bh1;\n};\n\nstruct tpacket_block_desc {\n\t__u32 version;\n\t__u32 offset_to_priv;\n\tunion tpacket_bd_header_u hdr;\n};\n\nstruct tpacket_hdr {\n\tlong unsigned int tp_status;\n\tunsigned int tp_len;\n\tunsigned int tp_snaplen;\n\tshort unsigned int tp_mac;\n\tshort unsigned int tp_net;\n\tunsigned int tp_sec;\n\tunsigned int tp_usec;\n};\n\nstruct tpacket_req {\n\tunsigned int tp_block_size;\n\tunsigned int tp_block_nr;\n\tunsigned int tp_frame_size;\n\tunsigned int tp_frame_nr;\n};\n\nstruct tpacket_req3 {\n\tunsigned int tp_block_size;\n\tunsigned int tp_block_nr;\n\tunsigned int tp_frame_size;\n\tunsigned int tp_frame_nr;\n\tunsigned int tp_retire_blk_tov;\n\tunsigned int tp_sizeof_priv;\n\tunsigned int tp_feature_req_word;\n};\n\nunion tpacket_req_u {\n\tstruct tpacket_req req;\n\tstruct tpacket_req3 req3;\n};\n\nstruct tpacket_rollover_stats {\n\t__u64 tp_all;\n\t__u64 tp_huge;\n\t__u64 tp_failed;\n};\n\nunion tpacket_uhdr {\n\tstruct tpacket_hdr *h1;\n\tstruct tpacket2_hdr *h2;\n\tstruct tpacket3_hdr *h3;\n\tvoid *raw;\n};\n\nstruct tpidr2_context {\n\tstruct _aarch64_ctx head;\n\t__u64 tpidr2;\n};\n\nstruct tpm1_get_random_out {\n\t__be32 rng_data_len;\n\tu8 rng_data[128];\n};\n\nstruct tpm2_auth {\n\tu32 handle;\n\tu32 session;\n\tu8 our_nonce[32];\n\tu8 tpm_nonce[32];\n\tunion {\n\t\tu8 salt[32];\n\t\tu8 scratch[32];\n\t};\n\tu8 session_key[32];\n\tu8 passphrase[32];\n\tint passphrase_len;\n\tstruct crypto_aes_ctx aes_ctx;\n\tu8 attrs;\n\t__be32 ordinal;\n\tu32 name_h[3];\n\tu8 name[198];\n};\n\nstruct tpm2_cap_handles {\n\tu8 more_data;\n\t__be32 capability;\n\t__be32 count;\n\t__be32 handles[0];\n} __attribute__((packed));\n\nstruct tpm2_context {\n\t__be64 sequence;\n\t__be32 saved_handle;\n\t__be32 hierarchy;\n\t__be16 blob_size;\n} __attribute__((packed));\n\nstruct tpm2_get_cap_out {\n\tu8 more_data;\n\t__be32 subcap_id;\n\t__be32 property_cnt;\n\t__be32 property_id;\n\t__be32 value;\n} __attribute__((packed));\n\nstruct tpm2_get_random_out {\n\t__be16 size;\n\tu8 buffer[128];\n};\n\nstruct tpm2_hash {\n\tunsigned int crypto_id;\n\tunsigned int tpm_id;\n};\n\nstruct tpm2_pcr_read_out {\n\t__be32 update_cnt;\n\t__be32 pcr_selects_cnt;\n\t__be16 hash_alg;\n\tu8 pcr_select_size;\n\tu8 pcr_select[3];\n\t__be32 digests_cnt;\n\t__be16 digest_size;\n\tu8 digest[0];\n} __attribute__((packed));\n\nstruct tpm2_pcr_selection {\n\t__be16 hash_alg;\n\tu8 size_of_select;\n\tu8 pcr_select[3];\n};\n\nstruct tpm_bank_info {\n\tu16 alg_id;\n\tu16 digest_size;\n\tu16 crypto_id;\n};\n\nstruct tpm_bios_log {\n\tvoid *bios_event_log;\n\tvoid *bios_event_log_end;\n};\n\nstruct tpm_buf {\n\tu32 flags;\n\tu32 length;\n\tu8 *data;\n\tu8 handles;\n};\n\nstruct tpm_chip_seqops {\n\tstruct tpm_chip *chip;\n\tconst struct seq_operations *seqops;\n};\n\nstruct tpm_space {\n\tu32 context_tbl[3];\n\tu8 *context_buf;\n\tu32 session_tbl[3];\n\tu8 *session_buf;\n\tu32 buf_size;\n};\n\nstruct tpm_class_ops;\n\nstruct tpm_chip {\n\tstruct device dev;\n\tstruct device devs;\n\tstruct cdev cdev;\n\tstruct cdev cdevs;\n\tstruct rw_semaphore ops_sem;\n\tconst struct tpm_class_ops *ops;\n\tstruct tpm_bios_log log;\n\tstruct tpm_chip_seqops bin_log_seqops;\n\tstruct tpm_chip_seqops ascii_log_seqops;\n\tunsigned int flags;\n\tint dev_num;\n\tlong unsigned int is_open;\n\tchar hwrng_name[64];\n\tstruct hwrng hwrng;\n\tstruct mutex tpm_mutex;\n\tlong unsigned int timeout_a;\n\tlong unsigned int timeout_b;\n\tlong unsigned int timeout_c;\n\tlong unsigned int timeout_d;\n\tbool timeout_adjusted;\n\tlong unsigned int duration[4];\n\tbool duration_adjusted;\n\tstruct dentry *bios_dir[3];\n\tconst struct attribute_group *groups[8];\n\tunsigned int groups_cnt;\n\tu32 nr_allocated_banks;\n\tstruct tpm_bank_info *allocated_banks;\n\tacpi_handle acpi_dev_handle;\n\tchar ppi_version[4];\n\tstruct tpm_space work_space;\n\tu32 last_cc;\n\tu32 nr_commands;\n\tu32 *cc_attrs_tbl;\n\tint locality;\n};\n\nstruct tpm_class_ops {\n\tunsigned int flags;\n\tconst u8 req_complete_mask;\n\tconst u8 req_complete_val;\n\tbool (*req_canceled)(struct tpm_chip *, u8);\n\tint (*recv)(struct tpm_chip *, u8 *, size_t);\n\tint (*send)(struct tpm_chip *, u8 *, size_t);\n\tvoid (*cancel)(struct tpm_chip *);\n\tu8 (*status)(struct tpm_chip *);\n\tvoid (*update_timeouts)(struct tpm_chip *, long unsigned int *);\n\tvoid (*update_durations)(struct tpm_chip *, long unsigned int *);\n\tint (*go_idle)(struct tpm_chip *);\n\tint (*cmd_ready)(struct tpm_chip *);\n\tint (*request_locality)(struct tpm_chip *, int);\n\tint (*relinquish_locality)(struct tpm_chip *, int);\n\tvoid (*clk_enable)(struct tpm_chip *, bool);\n};\n\nstruct tpm_header {\n\t__be16 tag;\n\t__be32 length;\n\tunion {\n\t\t__be32 ordinal;\n\t\t__be32 return_code;\n\t};\n} __attribute__((packed));\n\nstruct tpm_inf_dev {\n\tstruct i2c_client *client;\n\tint locality;\n\tu8 buf[1261];\n\tstruct tpm_chip *chip;\n\tenum i2c_chip_type chip_type;\n\tunsigned int adapterlimit;\n};\n\nstruct tpm_pcr_attr {\n\tint alg_id;\n\tint pcr;\n\tstruct device_attribute attr;\n};\n\nstruct tpm_readpubek_out {\n\tu8 algorithm[4];\n\tu8 encscheme[2];\n\tu8 sigscheme[2];\n\t__be32 paramsize;\n\tu8 parameters[12];\n\t__be32 keysize;\n\tu8 modulus[256];\n\tu8 checksum[20];\n};\n\nstruct tpmrm_priv {\n\tstruct file_priv priv;\n\tstruct tpm_space space;\n};\n\nstruct tps65219 {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct regmap_irq_chip_data *irq_data;\n\tstruct notifier_block nb;\n};\n\nstruct tps65219_gpio {\n\tstruct gpio_chip gpio_chip;\n\tstruct tps65219 *tps;\n};\n\nstruct tps65219_regulator_irq_type;\n\nstruct tps65219_regulator_irq_data {\n\tstruct device *dev;\n\tstruct tps65219_regulator_irq_type *type;\n\tstruct regulator_dev *rdev;\n};\n\nstruct tps65219_regulator_irq_type {\n\tconst char *irq_name;\n\tconst char *regulator_name;\n\tconst char *event_name;\n\tlong unsigned int event;\n};\n\nstruct trace_pid_list;\n\nstruct trace_options;\n\nstruct trace_func_repeats;\n\nstruct trace_array {\n\tstruct list_head list;\n\tchar *name;\n\tstruct array_buffer array_buffer;\n\tunsigned int mapped;\n\tlong unsigned int range_addr_start;\n\tlong unsigned int range_addr_size;\n\tlong int text_delta;\n\tlong int data_delta;\n\tstruct trace_pid_list *filtered_pids;\n\tstruct trace_pid_list *filtered_no_pids;\n\tarch_spinlock_t max_lock;\n\tint buffer_disabled;\n\tint sys_refcount_enter;\n\tint sys_refcount_exit;\n\tstruct trace_event_file *enter_syscall_files[467];\n\tstruct trace_event_file *exit_syscall_files[467];\n\tint stop_count;\n\tint clock_id;\n\tint nr_topts;\n\tbool clear_trace;\n\tint buffer_percent;\n\tunsigned int n_err_log_entries;\n\tstruct tracer *current_trace;\n\tunsigned int trace_flags;\n\tunsigned char trace_flags_index[32];\n\tunsigned int flags;\n\traw_spinlock_t start_lock;\n\tconst char *system_names;\n\tstruct list_head err_log;\n\tstruct dentry *dir;\n\tstruct dentry *options;\n\tstruct dentry *percpu_dir;\n\tstruct eventfs_inode *event_dir;\n\tstruct trace_options *topts;\n\tstruct list_head systems;\n\tstruct list_head events;\n\tstruct trace_event_file *trace_marker_file;\n\tcpumask_var_t tracing_cpumask;\n\tcpumask_var_t pipe_cpumask;\n\tint ref;\n\tint trace_ref;\n\tstruct list_head mod_events;\n\tint no_filter_buffering_ref;\n\tstruct list_head hist_vars;\n\tstruct trace_func_repeats *last_func_repeats;\n\tbool ring_buffer_expanded;\n};\n\nstruct trace_array_cpu {\n\tatomic_t disabled;\n\tvoid *buffer_page;\n\tlong unsigned int entries;\n\tlong unsigned int saved_latency;\n\tlong unsigned int critical_start;\n\tlong unsigned int critical_end;\n\tlong unsigned int critical_sequence;\n\tlong unsigned int nice;\n\tlong unsigned int policy;\n\tlong unsigned int rt_priority;\n\tlong unsigned int skipped_entries;\n\tu64 preempt_timestamp;\n\tpid_t pid;\n\tkuid_t uid;\n\tchar comm[16];\n\tbool ignore_pid;\n};\n\nstruct trace_bprintk_fmt {\n\tstruct list_head list;\n\tconst char *fmt;\n};\n\nstruct trace_buffer {\n\tunsigned int flags;\n\tint cpus;\n\tatomic_t record_disabled;\n\tatomic_t resizing;\n\tcpumask_var_t cpumask;\n\tstruct lock_class_key *reader_lock_key;\n\tstruct mutex mutex;\n\tstruct ring_buffer_per_cpu **buffers;\n\tstruct hlist_node node;\n\tu64 (*clock)(void);\n\tstruct rb_irq_work irq_work;\n\tbool time_stamp_abs;\n\tlong unsigned int range_addr_start;\n\tlong unsigned int range_addr_end;\n\tlong int last_text_delta;\n\tlong int last_data_delta;\n\tunsigned int subbuf_size;\n\tunsigned int subbuf_order;\n\tunsigned int max_data_size;\n};\n\nstruct trace_buffer_meta {\n\t__u32 meta_page_size;\n\t__u32 meta_struct_len;\n\t__u32 subbuf_size;\n\t__u32 nr_subbufs;\n\tstruct {\n\t\t__u64 lost_events;\n\t\t__u32 id;\n\t\t__u32 read;\n\t} reader;\n\t__u64 flags;\n\t__u64 entries;\n\t__u64 overrun;\n\t__u64 read;\n\t__u64 Reserved1;\n\t__u64 Reserved2;\n};\n\nstruct trace_buffer_struct {\n\tint nesting;\n\tchar buffer[4096];\n};\n\nstruct trace_probe_event;\n\nstruct trace_probe {\n\tstruct list_head list;\n\tstruct trace_probe_event *event;\n\tssize_t size;\n\tunsigned int nr_args;\n\tstruct probe_entry_arg *entry_arg;\n\tstruct probe_arg args[0];\n};\n\nstruct trace_eprobe {\n\tconst char *event_system;\n\tconst char *event_name;\n\tchar *filter_str;\n\tstruct trace_event_call *event;\n\tstruct dyn_event devent;\n\tstruct trace_probe tp;\n};\n\nstruct trace_eval_map {\n\tconst char *system;\n\tconst char *eval_string;\n\tlong unsigned int eval_value;\n};\n\nstruct trace_event_functions;\n\nstruct trace_event {\n\tstruct hlist_node node;\n\tint type;\n\tstruct trace_event_functions *funcs;\n};\n\nstruct trace_event_buffer {\n\tstruct trace_buffer *buffer;\n\tstruct ring_buffer_event *event;\n\tstruct trace_event_file *trace_file;\n\tvoid *entry;\n\tunsigned int trace_ctx;\n\tstruct pt_regs *regs;\n};\n\nstruct trace_event_class;\n\nstruct trace_event_call {\n\tstruct list_head list;\n\tstruct trace_event_class *class;\n\tunion {\n\t\tconst char *name;\n\t\tstruct tracepoint *tp;\n\t};\n\tstruct trace_event event;\n\tchar *print_fmt;\n\tunion {\n\t\tvoid *module;\n\t\tatomic_t refcnt;\n\t};\n\tvoid *data;\n\tint flags;\n\tint perf_refcount;\n\tstruct hlist_head *perf_events;\n\tstruct bpf_prog_array *prog_array;\n\tint (*perf_perm)(struct trace_event_call *, struct perf_event *);\n};\n\nstruct trace_event_fields;\n\nstruct trace_event_class {\n\tconst char *system;\n\tvoid *probe;\n\tvoid *perf_probe;\n\tint (*reg)(struct trace_event_call *, enum trace_reg, void *);\n\tstruct trace_event_fields *fields_array;\n\tstruct list_head * (*get_fields)(struct trace_event_call *);\n\tstruct list_head fields;\n\tint (*raw_init)(struct trace_event_call *);\n};\n\nstruct trace_event_data_offsets_9p_client_req {};\n\nstruct trace_event_data_offsets_9p_client_res {};\n\nstruct trace_event_data_offsets_9p_fid_ref {};\n\nstruct trace_event_data_offsets_9p_protocol_dump {\n\tu32 line;\n\tconst void *line_ptr_;\n};\n\nstruct trace_event_data_offsets_aer_event {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_alarm_class {};\n\nstruct trace_event_data_offsets_alarmtimer_suspend {};\n\nstruct trace_event_data_offsets_alloc_vmap_area {};\n\nstruct trace_event_data_offsets_aoss_send {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_aoss_send_done {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_arm_event {};\n\nstruct trace_event_data_offsets_ata_bmdma_status {};\n\nstruct trace_event_data_offsets_ata_eh_action_template {};\n\nstruct trace_event_data_offsets_ata_eh_link_autopsy {};\n\nstruct trace_event_data_offsets_ata_eh_link_autopsy_qc {};\n\nstruct trace_event_data_offsets_ata_exec_command_template {};\n\nstruct trace_event_data_offsets_ata_link_reset_begin_template {};\n\nstruct trace_event_data_offsets_ata_link_reset_end_template {};\n\nstruct trace_event_data_offsets_ata_port_eh_begin_template {};\n\nstruct trace_event_data_offsets_ata_qc_complete_template {};\n\nstruct trace_event_data_offsets_ata_qc_issue_template {};\n\nstruct trace_event_data_offsets_ata_sff_hsm_template {};\n\nstruct trace_event_data_offsets_ata_sff_template {};\n\nstruct trace_event_data_offsets_ata_tf_load {};\n\nstruct trace_event_data_offsets_ata_transfer_data_template {};\n\nstruct trace_event_data_offsets_balance_dirty_pages {};\n\nstruct trace_event_data_offsets_bdi_dirty_ratelimit {};\n\nstruct trace_event_data_offsets_block_bio {};\n\nstruct trace_event_data_offsets_block_bio_complete {};\n\nstruct trace_event_data_offsets_block_bio_remap {};\n\nstruct trace_event_data_offsets_block_buffer {};\n\nstruct trace_event_data_offsets_block_plug {};\n\nstruct trace_event_data_offsets_block_rq {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_rq_completion {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_rq_remap {};\n\nstruct trace_event_data_offsets_block_rq_requeue {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_split {};\n\nstruct trace_event_data_offsets_block_unplug {};\n\nstruct trace_event_data_offsets_bpf_test_finish {};\n\nstruct trace_event_data_offsets_bpf_trace_printk {\n\tu32 bpf_string;\n\tconst void *bpf_string_ptr_;\n};\n\nstruct trace_event_data_offsets_bpf_trigger_tp {};\n\nstruct trace_event_data_offsets_bpf_xdp_link_attach_failed {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_add {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_external_learn_add {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_update {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_mdb_full {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_cache_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cap_capable {};\n\nstruct trace_event_data_offsets_cdev_update {\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_event {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_migrate {\n\tu32 dst_path;\n\tconst void *dst_path_ptr_;\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_root {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_rstat {};\n\nstruct trace_event_data_offsets_ci_log {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_ci_log_trb {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_duty_cycle {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_parent {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 pname;\n\tconst void *pname_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_phase {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate_range {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate_request {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 pname;\n\tconst void *pname_ptr_;\n};\n\nstruct trace_event_data_offsets_clock {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_busy_retry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_finish {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_start {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_release {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_compact_retry {};\n\nstruct trace_event_data_offsets_console {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_consume_skb {};\n\nstruct trace_event_data_offsets_contention_begin {};\n\nstruct trace_event_data_offsets_contention_end {};\n\nstruct trace_event_data_offsets_cpu {};\n\nstruct trace_event_data_offsets_cpu_frequency_limits {};\n\nstruct trace_event_data_offsets_cpu_idle_miss {};\n\nstruct trace_event_data_offsets_cpu_latency_qos_request {};\n\nstruct trace_event_data_offsets_cpuhp_enter {};\n\nstruct trace_event_data_offsets_cpuhp_exit {};\n\nstruct trace_event_data_offsets_cpuhp_multi_enter {};\n\nstruct trace_event_data_offsets_cros_ec_request_done {};\n\nstruct trace_event_data_offsets_cros_ec_request_start {};\n\nstruct trace_event_data_offsets_cros_ec_sensorhub_data {};\n\nstruct trace_event_data_offsets_cros_ec_sensorhub_filter {};\n\nstruct trace_event_data_offsets_cros_ec_sensorhub_timestamp {};\n\nstruct trace_event_data_offsets_csd_function {};\n\nstruct trace_event_data_offsets_csd_queue_cpu {};\n\nstruct trace_event_data_offsets_ctime {};\n\nstruct trace_event_data_offsets_ctime_ns_xchg {};\n\nstruct trace_event_data_offsets_dev_pm_qos_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_devfreq_frequency {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devfreq_monitor {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_device_pm_callback_end {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_device_pm_callback_start {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n\tu32 parent;\n\tconst void *parent_ptr_;\n\tu32 pm_ops;\n\tconst void *pm_ops_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_health_recover_aborted {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 reporter_name;\n\tconst void *reporter_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_health_report {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 reporter_name;\n\tconst void *reporter_name_ptr_;\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_health_reporter_state_update {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 reporter_name;\n\tconst void *reporter_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_hwerr {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_hwmsg {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_trap_report {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 trap_name;\n\tconst void *trap_name_ptr_;\n\tu32 trap_group_name;\n\tconst void *trap_group_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devres {\n\tu32 devname;\n\tconst void *devname_ptr_;\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_alloc_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_alloc_sgt {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_fence {\n\tu32 driver;\n\tconst void *driver_ptr_;\n\tu32 timeline;\n\tconst void *timeline_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_free_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_free_sgt {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n\tu32 dma_addrs;\n\tconst void *dma_addrs_ptr_;\n\tu32 lengths;\n\tconst void *lengths_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map_sg_err {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_sync_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 dma_addrs;\n\tconst void *dma_addrs_ptr_;\n\tu32 lengths;\n\tconst void *lengths_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_sync_single {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_unmap {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_unmap_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 addrs;\n\tconst void *addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dpaa2_eth_buf {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dpaa2_eth_fd {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dpaa_eth_fd {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dql_stall_detected {};\n\nstruct trace_event_data_offsets_dwc3_log_ctrl {};\n\nstruct trace_event_data_offsets_dwc3_log_ep {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dwc3_log_event {};\n\nstruct trace_event_data_offsets_dwc3_log_gadget_ep_cmd {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dwc3_log_generic_cmd {};\n\nstruct trace_event_data_offsets_dwc3_log_io {};\n\nstruct trace_event_data_offsets_dwc3_log_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dwc3_log_trb {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_e1000e_trace_mac_register {};\n\nstruct trace_event_data_offsets_edma_log_io {};\n\nstruct trace_event_data_offsets_edma_log_tcd {};\n\nstruct trace_event_data_offsets_error_report_template {};\n\nstruct trace_event_data_offsets_exit_mmap {};\n\nstruct trace_event_data_offsets_ext4__bitmap_load {};\n\nstruct trace_event_data_offsets_ext4__es_extent {};\n\nstruct trace_event_data_offsets_ext4__es_shrink_enter {};\n\nstruct trace_event_data_offsets_ext4__fallocate_mode {};\n\nstruct trace_event_data_offsets_ext4__folio_op {};\n\nstruct trace_event_data_offsets_ext4__map_blocks_enter {};\n\nstruct trace_event_data_offsets_ext4__map_blocks_exit {};\n\nstruct trace_event_data_offsets_ext4__mb_new_pa {};\n\nstruct trace_event_data_offsets_ext4__mballoc {};\n\nstruct trace_event_data_offsets_ext4__trim {};\n\nstruct trace_event_data_offsets_ext4__truncate {};\n\nstruct trace_event_data_offsets_ext4__write_begin {};\n\nstruct trace_event_data_offsets_ext4__write_end {};\n\nstruct trace_event_data_offsets_ext4_alloc_da_blocks {};\n\nstruct trace_event_data_offsets_ext4_allocate_blocks {};\n\nstruct trace_event_data_offsets_ext4_allocate_inode {};\n\nstruct trace_event_data_offsets_ext4_begin_ordered_truncate {};\n\nstruct trace_event_data_offsets_ext4_collapse_range {};\n\nstruct trace_event_data_offsets_ext4_da_release_space {};\n\nstruct trace_event_data_offsets_ext4_da_reserve_space {};\n\nstruct trace_event_data_offsets_ext4_da_update_reserve_space {};\n\nstruct trace_event_data_offsets_ext4_da_write_pages {};\n\nstruct trace_event_data_offsets_ext4_da_write_pages_extent {};\n\nstruct trace_event_data_offsets_ext4_discard_blocks {};\n\nstruct trace_event_data_offsets_ext4_discard_preallocations {};\n\nstruct trace_event_data_offsets_ext4_drop_inode {};\n\nstruct trace_event_data_offsets_ext4_error {};\n\nstruct trace_event_data_offsets_ext4_es_find_extent_range_enter {};\n\nstruct trace_event_data_offsets_ext4_es_find_extent_range_exit {};\n\nstruct trace_event_data_offsets_ext4_es_insert_delayed_extent {};\n\nstruct trace_event_data_offsets_ext4_es_lookup_extent_enter {};\n\nstruct trace_event_data_offsets_ext4_es_lookup_extent_exit {};\n\nstruct trace_event_data_offsets_ext4_es_remove_extent {};\n\nstruct trace_event_data_offsets_ext4_es_shrink {};\n\nstruct trace_event_data_offsets_ext4_es_shrink_scan_exit {};\n\nstruct trace_event_data_offsets_ext4_evict_inode {};\n\nstruct trace_event_data_offsets_ext4_ext_convert_to_initialized_enter {};\n\nstruct trace_event_data_offsets_ext4_ext_convert_to_initialized_fastpath {};\n\nstruct trace_event_data_offsets_ext4_ext_handle_unwritten_extents {};\n\nstruct trace_event_data_offsets_ext4_ext_load_extent {};\n\nstruct trace_event_data_offsets_ext4_ext_remove_space {};\n\nstruct trace_event_data_offsets_ext4_ext_remove_space_done {};\n\nstruct trace_event_data_offsets_ext4_ext_rm_idx {};\n\nstruct trace_event_data_offsets_ext4_ext_rm_leaf {};\n\nstruct trace_event_data_offsets_ext4_ext_show_extent {};\n\nstruct trace_event_data_offsets_ext4_fallocate_exit {};\n\nstruct trace_event_data_offsets_ext4_fc_cleanup {};\n\nstruct trace_event_data_offsets_ext4_fc_commit_start {};\n\nstruct trace_event_data_offsets_ext4_fc_commit_stop {};\n\nstruct trace_event_data_offsets_ext4_fc_replay {};\n\nstruct trace_event_data_offsets_ext4_fc_replay_scan {};\n\nstruct trace_event_data_offsets_ext4_fc_stats {};\n\nstruct trace_event_data_offsets_ext4_fc_track_dentry {};\n\nstruct trace_event_data_offsets_ext4_fc_track_inode {};\n\nstruct trace_event_data_offsets_ext4_fc_track_range {};\n\nstruct trace_event_data_offsets_ext4_forget {};\n\nstruct trace_event_data_offsets_ext4_free_blocks {};\n\nstruct trace_event_data_offsets_ext4_free_inode {};\n\nstruct trace_event_data_offsets_ext4_fsmap_class {};\n\nstruct trace_event_data_offsets_ext4_get_implied_cluster_alloc_exit {};\n\nstruct trace_event_data_offsets_ext4_getfsmap_class {};\n\nstruct trace_event_data_offsets_ext4_insert_range {};\n\nstruct trace_event_data_offsets_ext4_invalidate_folio_op {};\n\nstruct trace_event_data_offsets_ext4_journal_start_inode {};\n\nstruct trace_event_data_offsets_ext4_journal_start_reserved {};\n\nstruct trace_event_data_offsets_ext4_journal_start_sb {};\n\nstruct trace_event_data_offsets_ext4_lazy_itable_init {};\n\nstruct trace_event_data_offsets_ext4_load_inode {};\n\nstruct trace_event_data_offsets_ext4_mark_inode_dirty {};\n\nstruct trace_event_data_offsets_ext4_mb_discard_preallocations {};\n\nstruct trace_event_data_offsets_ext4_mb_release_group_pa {};\n\nstruct trace_event_data_offsets_ext4_mb_release_inode_pa {};\n\nstruct trace_event_data_offsets_ext4_mballoc_alloc {};\n\nstruct trace_event_data_offsets_ext4_mballoc_prealloc {};\n\nstruct trace_event_data_offsets_ext4_nfs_commit_metadata {};\n\nstruct trace_event_data_offsets_ext4_other_inode_update_time {};\n\nstruct trace_event_data_offsets_ext4_prefetch_bitmaps {};\n\nstruct trace_event_data_offsets_ext4_read_block_bitmap_load {};\n\nstruct trace_event_data_offsets_ext4_remove_blocks {};\n\nstruct trace_event_data_offsets_ext4_request_blocks {};\n\nstruct trace_event_data_offsets_ext4_request_inode {};\n\nstruct trace_event_data_offsets_ext4_shutdown {};\n\nstruct trace_event_data_offsets_ext4_sync_file_enter {};\n\nstruct trace_event_data_offsets_ext4_sync_file_exit {};\n\nstruct trace_event_data_offsets_ext4_sync_fs {};\n\nstruct trace_event_data_offsets_ext4_unlink_enter {};\n\nstruct trace_event_data_offsets_ext4_unlink_exit {};\n\nstruct trace_event_data_offsets_ext4_update_sb {};\n\nstruct trace_event_data_offsets_ext4_writepages {};\n\nstruct trace_event_data_offsets_ext4_writepages_result {};\n\nstruct trace_event_data_offsets_fdb_delete {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_ff_layout_commit_error {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_fib_table_lookup {};\n\nstruct trace_event_data_offsets_file_check_and_advance_wb_err {};\n\nstruct trace_event_data_offsets_filelock_lease {};\n\nstruct trace_event_data_offsets_filelock_lock {};\n\nstruct trace_event_data_offsets_filemap_set_wb_err {};\n\nstruct trace_event_data_offsets_fill_mg_cmtime {};\n\nstruct trace_event_data_offsets_finish_task_reaping {};\n\nstruct trace_event_data_offsets_fl_getdevinfo {\n\tu32 mds_addr;\n\tconst void *mds_addr_ptr_;\n\tu32 ds_ips;\n\tconst void *ds_ips_ptr_;\n};\n\nstruct trace_event_data_offsets_flush_foreign {};\n\nstruct trace_event_data_offsets_free_vmap_area_noflush {};\n\nstruct trace_event_data_offsets_generic_add_lease {};\n\nstruct trace_event_data_offsets_global_dirty_state {};\n\nstruct trace_event_data_offsets_gpio_direction {};\n\nstruct trace_event_data_offsets_gpio_value {};\n\nstruct trace_event_data_offsets_gpu_mem_total {};\n\nstruct trace_event_data_offsets_guest_halt_poll_ns {};\n\nstruct trace_event_data_offsets_handshake_alert_class {};\n\nstruct trace_event_data_offsets_handshake_complete {};\n\nstruct trace_event_data_offsets_handshake_error_class {};\n\nstruct trace_event_data_offsets_handshake_event_class {};\n\nstruct trace_event_data_offsets_handshake_fd_class {};\n\nstruct trace_event_data_offsets_hclge_pf_cmd_template {\n\tu32 pciname;\n\tconst void *pciname_ptr_;\n};\n\nstruct trace_event_data_offsets_hclge_pf_mbx_get {\n\tu32 pciname;\n\tconst void *pciname_ptr_;\n\tu32 devname;\n\tconst void *devname_ptr_;\n};\n\nstruct trace_event_data_offsets_hclge_pf_mbx_send {\n\tu32 pciname;\n\tconst void *pciname_ptr_;\n\tu32 devname;\n\tconst void *devname_ptr_;\n};\n\nstruct trace_event_data_offsets_hclge_pf_special_cmd_template {\n\tu32 pciname;\n\tconst void *pciname_ptr_;\n};\n\nstruct trace_event_data_offsets_hns3_rx_desc {\n\tu32 devname;\n\tconst void *devname_ptr_;\n};\n\nstruct trace_event_data_offsets_hns3_skb_template {};\n\nstruct trace_event_data_offsets_hns3_tx_desc {\n\tu32 devname;\n\tconst void *devname_ptr_;\n};\n\nstruct trace_event_data_offsets_hrtimer_class {};\n\nstruct trace_event_data_offsets_hrtimer_expire_entry {};\n\nstruct trace_event_data_offsets_hrtimer_init {};\n\nstruct trace_event_data_offsets_hrtimer_start {};\n\nstruct trace_event_data_offsets_hugepage_set {};\n\nstruct trace_event_data_offsets_hugepage_update {};\n\nstruct trace_event_data_offsets_hugetlbfs__inode {};\n\nstruct trace_event_data_offsets_hugetlbfs_alloc_inode {};\n\nstruct trace_event_data_offsets_hugetlbfs_fallocate {};\n\nstruct trace_event_data_offsets_hugetlbfs_setattr {\n\tu32 d_name;\n\tconst void *d_name_ptr_;\n};\n\nstruct trace_event_data_offsets_hw_pressure_update {};\n\nstruct trace_event_data_offsets_hwmon_attr_class {\n\tu32 attr_name;\n\tconst void *attr_name_ptr_;\n};\n\nstruct trace_event_data_offsets_hwmon_attr_show_string {\n\tu32 attr_name;\n\tconst void *attr_name_ptr_;\n\tu32 label;\n\tconst void *label_ptr_;\n};\n\nstruct trace_event_data_offsets_i2c_read {};\n\nstruct trace_event_data_offsets_i2c_reply {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_i2c_result {};\n\nstruct trace_event_data_offsets_i2c_slave {};\n\nstruct trace_event_data_offsets_i2c_write {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_icc_set_bw {\n\tu32 path_name;\n\tconst void *path_name_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 node_name;\n\tconst void *node_name_ptr_;\n};\n\nstruct trace_event_data_offsets_icc_set_bw_end {\n\tu32 path_name;\n\tconst void *path_name_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_icmp_send {};\n\nstruct trace_event_data_offsets_inet_sk_error_report {};\n\nstruct trace_event_data_offsets_inet_sock_set_state {};\n\nstruct trace_event_data_offsets_initcall_finish {};\n\nstruct trace_event_data_offsets_initcall_level {\n\tu32 level;\n\tconst void *level_ptr_;\n};\n\nstruct trace_event_data_offsets_initcall_start {};\n\nstruct trace_event_data_offsets_inode_foreign_history {};\n\nstruct trace_event_data_offsets_inode_switch_wbs {};\n\nstruct trace_event_data_offsets_io_uring_complete {};\n\nstruct trace_event_data_offsets_io_uring_cqe_overflow {};\n\nstruct trace_event_data_offsets_io_uring_cqring_wait {};\n\nstruct trace_event_data_offsets_io_uring_create {};\n\nstruct trace_event_data_offsets_io_uring_defer {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_fail_link {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_file_get {};\n\nstruct trace_event_data_offsets_io_uring_link {};\n\nstruct trace_event_data_offsets_io_uring_local_work_run {};\n\nstruct trace_event_data_offsets_io_uring_poll_arm {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_queue_async_work {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_register {};\n\nstruct trace_event_data_offsets_io_uring_req_failed {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_short_write {};\n\nstruct trace_event_data_offsets_io_uring_submit_req {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_task_add {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_task_work_run {};\n\nstruct trace_event_data_offsets_iomap_class {};\n\nstruct trace_event_data_offsets_iomap_dio_complete {};\n\nstruct trace_event_data_offsets_iomap_dio_rw_begin {};\n\nstruct trace_event_data_offsets_iomap_iter {};\n\nstruct trace_event_data_offsets_iomap_range_class {};\n\nstruct trace_event_data_offsets_iomap_readpage_class {};\n\nstruct trace_event_data_offsets_iomap_writepage_map {};\n\nstruct trace_event_data_offsets_iommu_device_event {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_iommu_error {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_iommu_group_event {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_ipi_handler {};\n\nstruct trace_event_data_offsets_ipi_raise {\n\tu32 target_cpus;\n\tconst void *target_cpus_ptr_;\n};\n\nstruct trace_event_data_offsets_ipi_send_cpu {};\n\nstruct trace_event_data_offsets_ipi_send_cpumask {\n\tu32 cpumask;\n\tconst void *cpumask_ptr_;\n};\n\nstruct trace_event_data_offsets_irq_handler_entry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_irq_handler_exit {};\n\nstruct trace_event_data_offsets_itimer_expire {};\n\nstruct trace_event_data_offsets_itimer_state {};\n\nstruct trace_event_data_offsets_jbd2_checkpoint {};\n\nstruct trace_event_data_offsets_jbd2_checkpoint_stats {};\n\nstruct trace_event_data_offsets_jbd2_commit {};\n\nstruct trace_event_data_offsets_jbd2_end_commit {};\n\nstruct trace_event_data_offsets_jbd2_handle_extend {};\n\nstruct trace_event_data_offsets_jbd2_handle_start_class {};\n\nstruct trace_event_data_offsets_jbd2_handle_stats {};\n\nstruct trace_event_data_offsets_jbd2_journal_shrink {};\n\nstruct trace_event_data_offsets_jbd2_lock_buffer_stall {};\n\nstruct trace_event_data_offsets_jbd2_run_stats {};\n\nstruct trace_event_data_offsets_jbd2_shrink_checkpoint_list {};\n\nstruct trace_event_data_offsets_jbd2_shrink_scan_exit {};\n\nstruct trace_event_data_offsets_jbd2_submit_inode_data {};\n\nstruct trace_event_data_offsets_jbd2_update_log_tail {};\n\nstruct trace_event_data_offsets_jbd2_write_superblock {};\n\nstruct trace_event_data_offsets_kcompactd_wake_template {};\n\nstruct trace_event_data_offsets_kfree {};\n\nstruct trace_event_data_offsets_kfree_skb {};\n\nstruct trace_event_data_offsets_kmalloc {};\n\nstruct trace_event_data_offsets_kmem_cache_alloc {};\n\nstruct trace_event_data_offsets_kmem_cache_free {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_ksm_advisor {};\n\nstruct trace_event_data_offsets_ksm_enter_exit_template {};\n\nstruct trace_event_data_offsets_ksm_merge_one_page {};\n\nstruct trace_event_data_offsets_ksm_merge_with_ksm_page {};\n\nstruct trace_event_data_offsets_ksm_remove_ksm_page {};\n\nstruct trace_event_data_offsets_ksm_remove_rmap_item {};\n\nstruct trace_event_data_offsets_ksm_scan_template {};\n\nstruct trace_event_data_offsets_kvm_access_fault {};\n\nstruct trace_event_data_offsets_kvm_ack_irq {};\n\nstruct trace_event_data_offsets_kvm_age_hva {};\n\nstruct trace_event_data_offsets_kvm_arm_set_dreg32 {};\n\nstruct trace_event_data_offsets_kvm_dirty_ring_exit {};\n\nstruct trace_event_data_offsets_kvm_dirty_ring_push {};\n\nstruct trace_event_data_offsets_kvm_dirty_ring_reset {};\n\nstruct trace_event_data_offsets_kvm_entry {};\n\nstruct trace_event_data_offsets_kvm_exit {};\n\nstruct trace_event_data_offsets_kvm_forward_sysreg_trap {};\n\nstruct trace_event_data_offsets_kvm_fpu {};\n\nstruct trace_event_data_offsets_kvm_get_timer_map {};\n\nstruct trace_event_data_offsets_kvm_guest_fault {};\n\nstruct trace_event_data_offsets_kvm_halt_poll_ns {};\n\nstruct trace_event_data_offsets_kvm_handle_sys_reg {};\n\nstruct trace_event_data_offsets_kvm_hvc_arm64 {};\n\nstruct trace_event_data_offsets_kvm_inject_nested_exception {};\n\nstruct trace_event_data_offsets_kvm_iocsr {};\n\nstruct trace_event_data_offsets_kvm_irq_line {};\n\nstruct trace_event_data_offsets_kvm_mmio {};\n\nstruct trace_event_data_offsets_kvm_mmio_emulate {};\n\nstruct trace_event_data_offsets_kvm_mmio_nisv {};\n\nstruct trace_event_data_offsets_kvm_nested_eret {};\n\nstruct trace_event_data_offsets_kvm_set_guest_debug {};\n\nstruct trace_event_data_offsets_kvm_set_irq {};\n\nstruct trace_event_data_offsets_kvm_set_way_flush {};\n\nstruct trace_event_data_offsets_kvm_sys_access {};\n\nstruct trace_event_data_offsets_kvm_test_age_hva {};\n\nstruct trace_event_data_offsets_kvm_timer_emulate {};\n\nstruct trace_event_data_offsets_kvm_timer_hrtimer_expire {};\n\nstruct trace_event_data_offsets_kvm_timer_restore_state {};\n\nstruct trace_event_data_offsets_kvm_timer_save_state {};\n\nstruct trace_event_data_offsets_kvm_timer_update_irq {};\n\nstruct trace_event_data_offsets_kvm_toggle_cache {};\n\nstruct trace_event_data_offsets_kvm_unmap_hva_range {};\n\nstruct trace_event_data_offsets_kvm_userspace_exit {};\n\nstruct trace_event_data_offsets_kvm_vcpu_wakeup {};\n\nstruct trace_event_data_offsets_kvm_wfx_arm64 {};\n\nstruct trace_event_data_offsets_kyber_adjust {};\n\nstruct trace_event_data_offsets_kyber_latency {};\n\nstruct trace_event_data_offsets_kyber_throttled {};\n\nstruct trace_event_data_offsets_leases_conflict {};\n\nstruct trace_event_data_offsets_locks_get_lock_context {};\n\nstruct trace_event_data_offsets_ma_op {};\n\nstruct trace_event_data_offsets_ma_read {};\n\nstruct trace_event_data_offsets_ma_write {};\n\nstruct trace_event_data_offsets_map {};\n\nstruct trace_event_data_offsets_mark_victim {\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_mc_event {\n\tu32 msg;\n\tconst void *msg_ptr_;\n\tu32 label;\n\tconst void *label_ptr_;\n\tu32 driver_detail;\n\tconst void *driver_detail_ptr_;\n};\n\nstruct trace_event_data_offsets_mdio_access {};\n\nstruct trace_event_data_offsets_mem_connect {};\n\nstruct trace_event_data_offsets_mem_disconnect {};\n\nstruct trace_event_data_offsets_mem_return_failed {};\n\nstruct trace_event_data_offsets_memcg_flush_stats {};\n\nstruct trace_event_data_offsets_memcg_rstat_events {};\n\nstruct trace_event_data_offsets_memcg_rstat_stats {};\n\nstruct trace_event_data_offsets_memory_failure_event {};\n\nstruct trace_event_data_offsets_migration_pmd {};\n\nstruct trace_event_data_offsets_migration_pte {};\n\nstruct trace_event_data_offsets_mm_alloc_contig_migrate_range_info {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page_isolate {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page_swapin {};\n\nstruct trace_event_data_offsets_mm_compaction_begin {};\n\nstruct trace_event_data_offsets_mm_compaction_defer_template {};\n\nstruct trace_event_data_offsets_mm_compaction_end {};\n\nstruct trace_event_data_offsets_mm_compaction_isolate_template {};\n\nstruct trace_event_data_offsets_mm_compaction_kcompactd_sleep {};\n\nstruct trace_event_data_offsets_mm_compaction_migratepages {};\n\nstruct trace_event_data_offsets_mm_compaction_suitable_template {};\n\nstruct trace_event_data_offsets_mm_compaction_try_to_compact_pages {};\n\nstruct trace_event_data_offsets_mm_filemap_fault {};\n\nstruct trace_event_data_offsets_mm_filemap_op_page_cache {};\n\nstruct trace_event_data_offsets_mm_filemap_op_page_cache_range {};\n\nstruct trace_event_data_offsets_mm_khugepaged_collapse_file {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_mm_khugepaged_scan_file {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_mm_khugepaged_scan_pmd {};\n\nstruct trace_event_data_offsets_mm_lru_activate {};\n\nstruct trace_event_data_offsets_mm_lru_insertion {};\n\nstruct trace_event_data_offsets_mm_migrate_pages {};\n\nstruct trace_event_data_offsets_mm_migrate_pages_start {};\n\nstruct trace_event_data_offsets_mm_page {};\n\nstruct trace_event_data_offsets_mm_page_alloc {};\n\nstruct trace_event_data_offsets_mm_page_alloc_extfrag {};\n\nstruct trace_event_data_offsets_mm_page_free {};\n\nstruct trace_event_data_offsets_mm_page_free_batched {};\n\nstruct trace_event_data_offsets_mm_page_pcpu_drain {};\n\nstruct trace_event_data_offsets_mm_shrink_slab_end {};\n\nstruct trace_event_data_offsets_mm_shrink_slab_start {};\n\nstruct trace_event_data_offsets_mm_vmscan_direct_reclaim_begin_template {};\n\nstruct trace_event_data_offsets_mm_vmscan_direct_reclaim_end_template {};\n\nstruct trace_event_data_offsets_mm_vmscan_kswapd_sleep {};\n\nstruct trace_event_data_offsets_mm_vmscan_kswapd_wake {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_isolate {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_shrink_active {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_shrink_inactive {};\n\nstruct trace_event_data_offsets_mm_vmscan_node_reclaim_begin {};\n\nstruct trace_event_data_offsets_mm_vmscan_reclaim_pages {};\n\nstruct trace_event_data_offsets_mm_vmscan_throttled {};\n\nstruct trace_event_data_offsets_mm_vmscan_wakeup_kswapd {};\n\nstruct trace_event_data_offsets_mm_vmscan_write_folio {};\n\nstruct trace_event_data_offsets_mmap_lock {};\n\nstruct trace_event_data_offsets_mmap_lock_acquire_returned {};\n\nstruct trace_event_data_offsets_mmc_request_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_mmc_request_start {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_free {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_load {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_refcnt {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_mtu3_log {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_mtu3_log_ep {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_mtu3_log_gpd {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_mtu3_log_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_mtu3_log_setup {};\n\nstruct trace_event_data_offsets_mtu3_qmu_isr {};\n\nstruct trace_event_data_offsets_mtu3_u2_common_isr {};\n\nstruct trace_event_data_offsets_mtu3_u3_ltssm_isr {};\n\nstruct trace_event_data_offsets_musb_isr {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_musb_log {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_musb_regb {};\n\nstruct trace_event_data_offsets_musb_regl {};\n\nstruct trace_event_data_offsets_musb_regw {};\n\nstruct trace_event_data_offsets_musb_req {};\n\nstruct trace_event_data_offsets_musb_state {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 desc;\n\tconst void *desc_ptr_;\n};\n\nstruct trace_event_data_offsets_musb_urb {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_napi_poll {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh__update {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh_create {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh_update {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_rx_exit_template {};\n\nstruct trace_event_data_offsets_net_dev_rx_verbose_template {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_start_xmit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_template {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_xmit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_xmit_timeout {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_netfs_collect {};\n\nstruct trace_event_data_offsets_netfs_collect_folio {};\n\nstruct trace_event_data_offsets_netfs_collect_gap {};\n\nstruct trace_event_data_offsets_netfs_collect_sreq {};\n\nstruct trace_event_data_offsets_netfs_collect_state {};\n\nstruct trace_event_data_offsets_netfs_collect_stream {};\n\nstruct trace_event_data_offsets_netfs_failure {};\n\nstruct trace_event_data_offsets_netfs_folio {};\n\nstruct trace_event_data_offsets_netfs_folioq {};\n\nstruct trace_event_data_offsets_netfs_read {};\n\nstruct trace_event_data_offsets_netfs_rreq {};\n\nstruct trace_event_data_offsets_netfs_rreq_ref {};\n\nstruct trace_event_data_offsets_netfs_sreq {};\n\nstruct trace_event_data_offsets_netfs_sreq_ref {};\n\nstruct trace_event_data_offsets_netfs_write {};\n\nstruct trace_event_data_offsets_netfs_write_iter {};\n\nstruct trace_event_data_offsets_netlink_extack {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_cached_open {};\n\nstruct trace_event_data_offsets_nfs4_cb_error_class {};\n\nstruct trace_event_data_offsets_nfs4_cb_offload {};\n\nstruct trace_event_data_offsets_nfs4_cb_seqid_err {};\n\nstruct trace_event_data_offsets_nfs4_cb_sequence {};\n\nstruct trace_event_data_offsets_nfs4_clientid_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_clone {};\n\nstruct trace_event_data_offsets_nfs4_close {};\n\nstruct trace_event_data_offsets_nfs4_commit_event {};\n\nstruct trace_event_data_offsets_nfs4_copy {};\n\nstruct trace_event_data_offsets_nfs4_copy_notify {};\n\nstruct trace_event_data_offsets_nfs4_delegreturn_exit {};\n\nstruct trace_event_data_offsets_nfs4_deviceid_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_deviceid_status {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_flexfiles_io_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_getattr_event {};\n\nstruct trace_event_data_offsets_nfs4_idmap_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_callback_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_event {};\n\nstruct trace_event_data_offsets_nfs4_inode_stateid_callback_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_stateid_event {};\n\nstruct trace_event_data_offsets_nfs4_layoutget {};\n\nstruct trace_event_data_offsets_nfs4_llseek {};\n\nstruct trace_event_data_offsets_nfs4_lock_event {};\n\nstruct trace_event_data_offsets_nfs4_lookup_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_lookupp {};\n\nstruct trace_event_data_offsets_nfs4_offload_cancel {};\n\nstruct trace_event_data_offsets_nfs4_open_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_read_event {};\n\nstruct trace_event_data_offsets_nfs4_rename {\n\tu32 oldname;\n\tconst void *oldname_ptr_;\n\tu32 newname;\n\tconst void *newname_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_sequence_done {};\n\nstruct trace_event_data_offsets_nfs4_set_delegation_event {};\n\nstruct trace_event_data_offsets_nfs4_set_lock {};\n\nstruct trace_event_data_offsets_nfs4_setup_sequence {};\n\nstruct trace_event_data_offsets_nfs4_sparse_event {};\n\nstruct trace_event_data_offsets_nfs4_state_lock_reclaim {};\n\nstruct trace_event_data_offsets_nfs4_state_mgr {\n\tu32 hostname;\n\tconst void *hostname_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_state_mgr_failed {\n\tu32 hostname;\n\tconst void *hostname_ptr_;\n\tu32 section;\n\tconst void *section_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_test_stateid_event {};\n\nstruct trace_event_data_offsets_nfs4_trunked_exchange_id {\n\tu32 main_addr;\n\tconst void *main_addr_ptr_;\n\tu32 trunk_addr;\n\tconst void *trunk_addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_write_event {};\n\nstruct trace_event_data_offsets_nfs4_xattr_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_xdr_bad_operation {};\n\nstruct trace_event_data_offsets_nfs4_xdr_event {};\n\nstruct trace_event_data_offsets_nfs_access_exit {};\n\nstruct trace_event_data_offsets_nfs_aop_readahead {};\n\nstruct trace_event_data_offsets_nfs_aop_readahead_done {};\n\nstruct trace_event_data_offsets_nfs_atomic_open_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_atomic_open_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_commit_done {};\n\nstruct trace_event_data_offsets_nfs_create_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_create_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_direct_req_class {};\n\nstruct trace_event_data_offsets_nfs_directory_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_directory_event_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_fh_to_dentry {};\n\nstruct trace_event_data_offsets_nfs_folio_event {};\n\nstruct trace_event_data_offsets_nfs_folio_event_done {};\n\nstruct trace_event_data_offsets_nfs_initiate_commit {};\n\nstruct trace_event_data_offsets_nfs_initiate_read {};\n\nstruct trace_event_data_offsets_nfs_initiate_write {};\n\nstruct trace_event_data_offsets_nfs_inode_event {};\n\nstruct trace_event_data_offsets_nfs_inode_event_done {};\n\nstruct trace_event_data_offsets_nfs_inode_range_event {};\n\nstruct trace_event_data_offsets_nfs_link_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_link_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_local_open_fh {};\n\nstruct trace_event_data_offsets_nfs_lookup_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_lookup_event_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_assign {\n\tu32 option;\n\tconst void *option_ptr_;\n\tu32 value;\n\tconst void *value_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_option {\n\tu32 option;\n\tconst void *option_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_path {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_page_error_class {};\n\nstruct trace_event_data_offsets_nfs_pgio_error {};\n\nstruct trace_event_data_offsets_nfs_readdir_event {};\n\nstruct trace_event_data_offsets_nfs_readpage_done {};\n\nstruct trace_event_data_offsets_nfs_readpage_short {};\n\nstruct trace_event_data_offsets_nfs_rename_event {\n\tu32 old_name;\n\tconst void *old_name_ptr_;\n\tu32 new_name;\n\tconst void *new_name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_rename_event_done {\n\tu32 old_name;\n\tconst void *old_name_ptr_;\n\tu32 new_name;\n\tconst void *new_name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_sillyrename_unlink {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_update_size_class {};\n\nstruct trace_event_data_offsets_nfs_writeback_done {};\n\nstruct trace_event_data_offsets_nfs_xdr_event {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_nlmclnt_lock_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_non_standard_event {\n\tu32 fru_text;\n\tconst void *fru_text_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_notifier_info {};\n\nstruct trace_event_data_offsets_oom_score_adj_update {};\n\nstruct trace_event_data_offsets_optee_invoke_fn_begin {};\n\nstruct trace_event_data_offsets_optee_invoke_fn_end {};\n\nstruct trace_event_data_offsets_page_pool_release {};\n\nstruct trace_event_data_offsets_page_pool_state_hold {};\n\nstruct trace_event_data_offsets_page_pool_state_release {};\n\nstruct trace_event_data_offsets_page_pool_update_nid {};\n\nstruct trace_event_data_offsets_percpu_alloc_percpu {};\n\nstruct trace_event_data_offsets_percpu_alloc_percpu_fail {};\n\nstruct trace_event_data_offsets_percpu_create_chunk {};\n\nstruct trace_event_data_offsets_percpu_destroy_chunk {};\n\nstruct trace_event_data_offsets_percpu_free_percpu {};\n\nstruct trace_event_data_offsets_pm_qos_update {};\n\nstruct trace_event_data_offsets_pmap_register {};\n\nstruct trace_event_data_offsets_pnfs_bl_pr_key_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_pnfs_bl_pr_key_err_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_pnfs_layout_event {};\n\nstruct trace_event_data_offsets_pnfs_update_layout {};\n\nstruct trace_event_data_offsets_power_domain {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_powernv_throttle {\n\tu32 reason;\n\tconst void *reason_ptr_;\n};\n\nstruct trace_event_data_offsets_pstate_sample {};\n\nstruct trace_event_data_offsets_purge_vmap_area_lazy {};\n\nstruct trace_event_data_offsets_pwm {};\n\nstruct trace_event_data_offsets_pwm_read_waveform {};\n\nstruct trace_event_data_offsets_pwm_round_waveform_fromhw {};\n\nstruct trace_event_data_offsets_pwm_round_waveform_tohw {};\n\nstruct trace_event_data_offsets_pwm_write_waveform {};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_close {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_close_ack {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_intent {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_open {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_open_ack {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_read_notif {\n\tu32 remote;\n\tconst void *remote_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_rx_done {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_rx_intent_req {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_rx_intent_req_ack {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_signal {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_tx_data {\n\tu32 remote;\n\tconst void *remote_ptr_;\n\tu32 channel;\n\tconst void *channel_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_version {\n\tu32 remote;\n\tconst void *remote_ptr_;\n};\n\nstruct trace_event_data_offsets_qcom_glink_cmd_version_ack {\n\tu32 remote;\n\tconst void *remote_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_create {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_dequeue {};\n\nstruct trace_event_data_offsets_qdisc_destroy {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_enqueue {};\n\nstruct trace_event_data_offsets_qdisc_reset {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_rcu_barrier {};\n\nstruct trace_event_data_offsets_rcu_batch_end {};\n\nstruct trace_event_data_offsets_rcu_batch_start {};\n\nstruct trace_event_data_offsets_rcu_callback {};\n\nstruct trace_event_data_offsets_rcu_exp_funnel_lock {};\n\nstruct trace_event_data_offsets_rcu_exp_grace_period {};\n\nstruct trace_event_data_offsets_rcu_fqs {};\n\nstruct trace_event_data_offsets_rcu_future_grace_period {};\n\nstruct trace_event_data_offsets_rcu_grace_period {};\n\nstruct trace_event_data_offsets_rcu_grace_period_init {};\n\nstruct trace_event_data_offsets_rcu_invoke_callback {};\n\nstruct trace_event_data_offsets_rcu_invoke_kfree_bulk_callback {};\n\nstruct trace_event_data_offsets_rcu_invoke_kvfree_callback {};\n\nstruct trace_event_data_offsets_rcu_kvfree_callback {};\n\nstruct trace_event_data_offsets_rcu_preempt_task {};\n\nstruct trace_event_data_offsets_rcu_quiescent_state_report {};\n\nstruct trace_event_data_offsets_rcu_segcb_stats {};\n\nstruct trace_event_data_offsets_rcu_sr_normal {};\n\nstruct trace_event_data_offsets_rcu_stall_warning {};\n\nstruct trace_event_data_offsets_rcu_torture_read {};\n\nstruct trace_event_data_offsets_rcu_unlock_preempted_task {};\n\nstruct trace_event_data_offsets_rcu_utilization {};\n\nstruct trace_event_data_offsets_rcu_watching {};\n\nstruct trace_event_data_offsets_reclaim_retry_zone {};\n\nstruct trace_event_data_offsets_regcache_drop_region {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regcache_sync {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 status;\n\tconst void *status_ptr_;\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_register_class {\n\tu32 program;\n\tconst void *program_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_async {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_bool {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_bulk {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_reg {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regulator_basic {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regulator_range {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regulator_value {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_buf_alloc {};\n\nstruct trace_event_data_offsets_rpc_call_rpcerror {};\n\nstruct trace_event_data_offsets_rpc_clnt_class {};\n\nstruct trace_event_data_offsets_rpc_clnt_clone_err {};\n\nstruct trace_event_data_offsets_rpc_clnt_new {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_clnt_new_err {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 server;\n\tconst void *server_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_failure {};\n\nstruct trace_event_data_offsets_rpc_reply_event {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n\tu32 servername;\n\tconst void *servername_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_request {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_socket_nospace {};\n\nstruct trace_event_data_offsets_rpc_stats_latency {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_task_queued {\n\tu32 q_name;\n\tconst void *q_name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_task_running {};\n\nstruct trace_event_data_offsets_rpc_task_status {};\n\nstruct trace_event_data_offsets_rpc_tls_class {\n\tu32 servername;\n\tconst void *servername_ptr_;\n\tu32 progname;\n\tconst void *progname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xdr_alignment {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xdr_buf_class {};\n\nstruct trace_event_data_offsets_rpc_xdr_overflow {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xprt_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xprt_lifetime_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_getport {\n\tu32 servername;\n\tconst void *servername_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_register {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_setport {};\n\nstruct trace_event_data_offsets_rpcb_unregister {\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_bad_seqno {};\n\nstruct trace_event_data_offsets_rpcgss_context {\n\tu32 acceptor;\n\tconst void *acceptor_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_createauth {};\n\nstruct trace_event_data_offsets_rpcgss_ctx_class {\n\tu32 principal;\n\tconst void *principal_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_gssapi_event {};\n\nstruct trace_event_data_offsets_rpcgss_import_ctx {};\n\nstruct trace_event_data_offsets_rpcgss_need_reencode {};\n\nstruct trace_event_data_offsets_rpcgss_oid_to_mech {\n\tu32 oid;\n\tconst void *oid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_seqno {};\n\nstruct trace_event_data_offsets_rpcgss_svc_accept_upcall {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_authenticate {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_gssapi_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_bad {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_class {};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_low {};\n\nstruct trace_event_data_offsets_rpcgss_svc_unwrap_failed {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_wrap_failed {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_unwrap_failed {};\n\nstruct trace_event_data_offsets_rpcgss_upcall_msg {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_upcall_result {};\n\nstruct trace_event_data_offsets_rpcgss_update_slack {};\n\nstruct trace_event_data_offsets_rpm_internal {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpm_return_int {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpm_status {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpmh_send_msg {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpmh_tx_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rseq_ip_fixup {};\n\nstruct trace_event_data_offsets_rseq_update {};\n\nstruct trace_event_data_offsets_rss_stat {};\n\nstruct trace_event_data_offsets_rtc_alarm_irq_enable {};\n\nstruct trace_event_data_offsets_rtc_irq_set_freq {};\n\nstruct trace_event_data_offsets_rtc_irq_set_state {};\n\nstruct trace_event_data_offsets_rtc_offset_class {};\n\nstruct trace_event_data_offsets_rtc_time_alarm_class {};\n\nstruct trace_event_data_offsets_rtc_timer_class {};\n\nstruct trace_event_data_offsets_sched_kthread_stop {};\n\nstruct trace_event_data_offsets_sched_kthread_stop_ret {};\n\nstruct trace_event_data_offsets_sched_kthread_work_execute_end {};\n\nstruct trace_event_data_offsets_sched_kthread_work_execute_start {};\n\nstruct trace_event_data_offsets_sched_kthread_work_queue_work {};\n\nstruct trace_event_data_offsets_sched_migrate_task {};\n\nstruct trace_event_data_offsets_sched_move_numa {};\n\nstruct trace_event_data_offsets_sched_numa_pair_template {};\n\nstruct trace_event_data_offsets_sched_pi_setprio {};\n\nstruct trace_event_data_offsets_sched_prepare_exec {\n\tu32 interp;\n\tconst void *interp_ptr_;\n\tu32 filename;\n\tconst void *filename_ptr_;\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_sched_process_exec {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_sched_process_fork {};\n\nstruct trace_event_data_offsets_sched_process_template {};\n\nstruct trace_event_data_offsets_sched_process_wait {};\n\nstruct trace_event_data_offsets_sched_skip_vma_numa {};\n\nstruct trace_event_data_offsets_sched_stat_runtime {};\n\nstruct trace_event_data_offsets_sched_switch {};\n\nstruct trace_event_data_offsets_sched_wake_idle_without_ipi {};\n\nstruct trace_event_data_offsets_sched_wakeup_template {};\n\nstruct trace_event_data_offsets_scmi_fc_call {};\n\nstruct trace_event_data_offsets_scmi_msg_dump {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_scmi_rx_done {};\n\nstruct trace_event_data_offsets_scmi_xfer_begin {};\n\nstruct trace_event_data_offsets_scmi_xfer_end {};\n\nstruct trace_event_data_offsets_scmi_xfer_response_wait {};\n\nstruct trace_event_data_offsets_scsi_cmd_done_timeout_template {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_dispatch_cmd_error {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_dispatch_cmd_start {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_eh_wakeup {};\n\nstruct trace_event_data_offsets_signal_deliver {};\n\nstruct trace_event_data_offsets_signal_generate {};\n\nstruct trace_event_data_offsets_sk_data_ready {};\n\nstruct trace_event_data_offsets_skb_copy_datagram_iovec {};\n\nstruct trace_event_data_offsets_skip_task_reaping {};\n\nstruct trace_event_data_offsets_smbus_read {};\n\nstruct trace_event_data_offsets_smbus_reply {};\n\nstruct trace_event_data_offsets_smbus_result {};\n\nstruct trace_event_data_offsets_smbus_write {};\n\nstruct trace_event_data_offsets_smp2p_negotiate {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_smp2p_notify_in {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 client_name;\n\tconst void *client_name_ptr_;\n};\n\nstruct trace_event_data_offsets_smp2p_ssr_ack {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_smp2p_update_bits {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 client_name;\n\tconst void *client_name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm {\n\tu32 card_name;\n\tconst void *card_name_ptr_;\n\tu32 comp_name;\n\tconst void *comp_name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm_basic {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm_connected {};\n\nstruct trace_event_data_offsets_snd_soc_dapm_path {\n\tu32 wname;\n\tconst void *wname_ptr_;\n\tu32 pname;\n\tconst void *pname_ptr_;\n\tu32 pnname;\n\tconst void *pnname_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm_walk_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm_widget {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_jack_irq {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_jack_notify {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_jack_report {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_sock_exceed_buf_limit {};\n\nstruct trace_event_data_offsets_sock_msg_length {};\n\nstruct trace_event_data_offsets_sock_rcvqueue_full {};\n\nstruct trace_event_data_offsets_softirq {};\n\nstruct trace_event_data_offsets_spi_controller {};\n\nstruct trace_event_data_offsets_spi_message {};\n\nstruct trace_event_data_offsets_spi_message_done {};\n\nstruct trace_event_data_offsets_spi_set_cs {};\n\nstruct trace_event_data_offsets_spi_setup {};\n\nstruct trace_event_data_offsets_spi_transfer {\n\tu32 rx_buf;\n\tconst void *rx_buf_ptr_;\n\tu32 tx_buf;\n\tconst void *tx_buf_ptr_;\n};\n\nstruct trace_event_data_offsets_spmi_cmd {};\n\nstruct trace_event_data_offsets_spmi_read_begin {};\n\nstruct trace_event_data_offsets_spmi_read_end {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_spmi_write_begin {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_spmi_write_end {};\n\nstruct trace_event_data_offsets_start_task_reaping {};\n\nstruct trace_event_data_offsets_suspend_resume {};\n\nstruct trace_event_data_offsets_svc_alloc_arg_err {};\n\nstruct trace_event_data_offsets_svc_authenticate {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_deferred_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_process {\n\tu32 service;\n\tconst void *service_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_replace_page_err {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_rqst_event {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_rqst_status {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_stats_latency {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_unregister {\n\tu32 program;\n\tconst void *program_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_wake_up {};\n\nstruct trace_event_data_offsets_svc_xdr_buf_class {};\n\nstruct trace_event_data_offsets_svc_xdr_msg_class {};\n\nstruct trace_event_data_offsets_svc_xprt_accept {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n\tu32 protocol;\n\tconst void *protocol_ptr_;\n\tu32 service;\n\tconst void *service_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_create_err {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 protocol;\n\tconst void *protocol_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_dequeue {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_enqueue {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_event {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_accept_class {\n\tu32 service;\n\tconst void *service_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_lifetime_class {};\n\nstruct trace_event_data_offsets_svcsock_marker {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_tcp_recv_short {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_tcp_state {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_swiotlb_bounced {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_sys_enter {};\n\nstruct trace_event_data_offsets_sys_exit {};\n\nstruct trace_event_data_offsets_task_newtask {};\n\nstruct trace_event_data_offsets_task_prctl_unknown {};\n\nstruct trace_event_data_offsets_task_rename {};\n\nstruct trace_event_data_offsets_tasklet {};\n\nstruct trace_event_data_offsets_tcp_ao_event {};\n\nstruct trace_event_data_offsets_tcp_ao_event_sk {};\n\nstruct trace_event_data_offsets_tcp_ao_event_sne {};\n\nstruct trace_event_data_offsets_tcp_cong_state_set {};\n\nstruct trace_event_data_offsets_tcp_event_sk {};\n\nstruct trace_event_data_offsets_tcp_event_sk_skb {};\n\nstruct trace_event_data_offsets_tcp_event_skb {};\n\nstruct trace_event_data_offsets_tcp_hash_event {};\n\nstruct trace_event_data_offsets_tcp_probe {};\n\nstruct trace_event_data_offsets_tcp_retransmit_synack {};\n\nstruct trace_event_data_offsets_tcp_send_reset {};\n\nstruct trace_event_data_offsets_tegra_dma_complete_cb {\n\tu32 chan;\n\tconst void *chan_ptr_;\n};\n\nstruct trace_event_data_offsets_tegra_dma_isr {\n\tu32 chan;\n\tconst void *chan_ptr_;\n};\n\nstruct trace_event_data_offsets_tegra_dma_tx_status {\n\tu32 chan;\n\tconst void *chan_ptr_;\n};\n\nstruct trace_event_data_offsets_test_pages_isolated {};\n\nstruct trace_event_data_offsets_thermal_power_actor {};\n\nstruct trace_event_data_offsets_thermal_power_allocator {};\n\nstruct trace_event_data_offsets_thermal_power_allocator_pid {};\n\nstruct trace_event_data_offsets_thermal_power_cpu_get_power_simple {};\n\nstruct trace_event_data_offsets_thermal_power_cpu_limit {\n\tu32 cpumask;\n\tconst void *cpumask_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_power_devfreq_get_power {\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_power_devfreq_limit {\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_temperature {\n\tu32 thermal_zone;\n\tconst void *thermal_zone_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_zone_trip {\n\tu32 thermal_zone;\n\tconst void *thermal_zone_ptr_;\n};\n\nstruct trace_event_data_offsets_tick_stop {};\n\nstruct trace_event_data_offsets_timer_base_idle {};\n\nstruct trace_event_data_offsets_timer_class {};\n\nstruct trace_event_data_offsets_timer_expire_entry {};\n\nstruct trace_event_data_offsets_timer_start {};\n\nstruct trace_event_data_offsets_tlb_flush {};\n\nstruct trace_event_data_offsets_tls_contenttype {};\n\nstruct trace_event_data_offsets_tmigr_connect_child_parent {};\n\nstruct trace_event_data_offsets_tmigr_connect_cpu_parent {};\n\nstruct trace_event_data_offsets_tmigr_cpugroup {};\n\nstruct trace_event_data_offsets_tmigr_group_and_cpu {};\n\nstruct trace_event_data_offsets_tmigr_group_set {};\n\nstruct trace_event_data_offsets_tmigr_handle_remote {};\n\nstruct trace_event_data_offsets_tmigr_idle {};\n\nstruct trace_event_data_offsets_tmigr_update_events {};\n\nstruct trace_event_data_offsets_track_foreign_dirty {};\n\nstruct trace_event_data_offsets_udc_log_ep {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_udc_log_gadget {};\n\nstruct trace_event_data_offsets_udc_log_req {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_udp_fail_queue_rcv_skb {};\n\nstruct trace_event_data_offsets_ufshcd_auto_bkops_state {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 state;\n\tconst void *state_ptr_;\n};\n\nstruct trace_event_data_offsets_ufshcd_clk_gating {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_ufshcd_clk_scaling {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 state;\n\tconst void *state_ptr_;\n\tu32 clk;\n\tconst void *clk_ptr_;\n};\n\nstruct trace_event_data_offsets_ufshcd_command {};\n\nstruct trace_event_data_offsets_ufshcd_exception_event {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_ufshcd_profiling_template {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 profile_info;\n\tconst void *profile_info_ptr_;\n};\n\nstruct trace_event_data_offsets_ufshcd_template {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_ufshcd_uic_command {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_ufshcd_upiu {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_unmap {};\n\nstruct trace_event_data_offsets_vgic_update_irq_pending {};\n\nstruct trace_event_data_offsets_vm_unmapped_area {};\n\nstruct trace_event_data_offsets_vma_mas_szero {};\n\nstruct trace_event_data_offsets_vma_store {};\n\nstruct trace_event_data_offsets_wake_reaper {};\n\nstruct trace_event_data_offsets_wakeup_source {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_watchdog_set_timeout {};\n\nstruct trace_event_data_offsets_watchdog_template {};\n\nstruct trace_event_data_offsets_wbc_class {};\n\nstruct trace_event_data_offsets_workqueue_activate_work {};\n\nstruct trace_event_data_offsets_workqueue_execute_end {};\n\nstruct trace_event_data_offsets_workqueue_execute_start {};\n\nstruct trace_event_data_offsets_workqueue_queue_work {\n\tu32 workqueue;\n\tconst void *workqueue_ptr_;\n};\n\nstruct trace_event_data_offsets_writeback_bdi_register {};\n\nstruct trace_event_data_offsets_writeback_class {};\n\nstruct trace_event_data_offsets_writeback_dirty_inode_template {};\n\nstruct trace_event_data_offsets_writeback_folio_template {};\n\nstruct trace_event_data_offsets_writeback_inode_template {};\n\nstruct trace_event_data_offsets_writeback_pages_written {};\n\nstruct trace_event_data_offsets_writeback_queue_io {};\n\nstruct trace_event_data_offsets_writeback_sb_inodes_requeue {};\n\nstruct trace_event_data_offsets_writeback_single_inode_template {};\n\nstruct trace_event_data_offsets_writeback_work_class {};\n\nstruct trace_event_data_offsets_writeback_write_inode_template {};\n\nstruct trace_event_data_offsets_xdp_bulk_tx {};\n\nstruct trace_event_data_offsets_xdp_cpumap_enqueue {};\n\nstruct trace_event_data_offsets_xdp_cpumap_kthread {};\n\nstruct trace_event_data_offsets_xdp_devmap_xmit {};\n\nstruct trace_event_data_offsets_xdp_exception {};\n\nstruct trace_event_data_offsets_xdp_redirect_template {};\n\nstruct trace_event_data_offsets_xhci_dbc_log_request {};\n\nstruct trace_event_data_offsets_xhci_log_ctrl_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_ctx {\n\tu32 ctx_data;\n\tconst void *ctx_data_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_doorbell {};\n\nstruct trace_event_data_offsets_xhci_log_ep_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_free_virt_dev {};\n\nstruct trace_event_data_offsets_xhci_log_msg {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_portsc {};\n\nstruct trace_event_data_offsets_xhci_log_ring {};\n\nstruct trace_event_data_offsets_xhci_log_slot_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_stream_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_trb {};\n\nstruct trace_event_data_offsets_xhci_log_urb {\n\tu32 devname;\n\tconst void *devname_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_virt_dev {};\n\nstruct trace_event_data_offsets_xprt_cong_event {};\n\nstruct trace_event_data_offsets_xprt_ping {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_reserve {};\n\nstruct trace_event_data_offsets_xprt_retransmit {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_transmit {};\n\nstruct trace_event_data_offsets_xprt_writelock_event {};\n\nstruct trace_event_data_offsets_xs_data_ready {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xs_socket_event {};\n\nstruct trace_event_data_offsets_xs_socket_event_done {};\n\nstruct trace_event_data_offsets_xs_stream_read_data {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xs_stream_read_request {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_fields {\n\tconst char *type;\n\tunion {\n\t\tstruct {\n\t\t\tconst char *name;\n\t\t\tconst int size;\n\t\t\tconst int align;\n\t\t\tconst unsigned int is_signed: 1;\n\t\t\tunsigned int needs_test: 1;\n\t\t\tconst int filter_type;\n\t\t\tconst int len;\n\t\t};\n\t\tint (*define_fields)(struct trace_event_call *);\n\t};\n};\n\nstruct trace_subsystem_dir;\n\nstruct trace_event_file {\n\tstruct list_head list;\n\tstruct trace_event_call *event_call;\n\tstruct event_filter *filter;\n\tstruct eventfs_inode *ei;\n\tstruct trace_array *tr;\n\tstruct trace_subsystem_dir *system;\n\tstruct list_head triggers;\n\tlong unsigned int flags;\n\trefcount_t ref;\n\tatomic_t sm_ref;\n\tatomic_t tm_ref;\n};\n\ntypedef enum print_line_t (*trace_print_func)(struct trace_iterator *, int, struct trace_event *);\n\nstruct trace_event_functions {\n\ttrace_print_func trace;\n\ttrace_print_func raw;\n\ttrace_print_func hex;\n\ttrace_print_func binary;\n};\n\nstruct trace_event_raw_9p_client_req {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u32 tag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_client_res {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u32 tag;\n\t__u32 err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_fid_ref {\n\tstruct trace_entry ent;\n\tint fid;\n\tint refcount;\n\t__u8 type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_protocol_dump {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u16 tag;\n\tu32 __data_loc_line;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_aer_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 status;\n\tu8 severity;\n\tu8 tlp_header_valid;\n\tu32 tlp_header[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alarm_class {\n\tstruct trace_entry ent;\n\tvoid *alarm;\n\tunsigned char alarm_type;\n\ts64 expires;\n\ts64 now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alarmtimer_suspend {\n\tstruct trace_entry ent;\n\ts64 expires;\n\tunsigned char alarm_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alloc_vmap_area {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int size;\n\tlong unsigned int align;\n\tlong unsigned int vstart;\n\tlong unsigned int vend;\n\tint failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_aoss_send {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_aoss_send_done {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_arm_event {\n\tstruct trace_entry ent;\n\tu64 mpidr;\n\tu64 midr;\n\tu32 running_state;\n\tu32 psci_state;\n\tu8 affinity;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_bmdma_status {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int tag;\n\tunsigned char host_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_action_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int eh_action;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_link_autopsy {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int eh_action;\n\tunsigned int eh_err_mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_link_autopsy_qc {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int qc_flags;\n\tunsigned int eh_err_mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_exec_command_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int tag;\n\tunsigned char cmd;\n\tunsigned char feature;\n\tunsigned char hob_nsect;\n\tunsigned char proto;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_link_reset_begin_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int class[2];\n\tlong unsigned int deadline;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_link_reset_end_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int class[2];\n\tint rc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_port_eh_begin_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_qc_complete_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned char status;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char error;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char ctl;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_qc_issue_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned char cmd;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char feature;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char ctl;\n\tunsigned char proto;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_sff_hsm_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int qc_flags;\n\tunsigned int protocol;\n\tunsigned int hsm_state;\n\tunsigned char dev_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_sff_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned char hsm_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_tf_load {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned char cmd;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char feature;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char proto;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_transfer_data_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int flags;\n\tunsigned int offset;\n\tunsigned int bytes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_balance_dirty_pages {\n\tstruct trace_entry ent;\n\tchar bdi[32];\n\tlong unsigned int limit;\n\tlong unsigned int setpoint;\n\tlong unsigned int dirty;\n\tlong unsigned int bdi_setpoint;\n\tlong unsigned int bdi_dirty;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int task_ratelimit;\n\tunsigned int dirtied;\n\tunsigned int dirtied_pause;\n\tlong unsigned int paused;\n\tlong int pause;\n\tlong unsigned int period;\n\tlong int think;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bdi_dirty_ratelimit {\n\tstruct trace_entry ent;\n\tchar bdi[32];\n\tlong unsigned int write_bw;\n\tlong unsigned int avg_write_bw;\n\tlong unsigned int dirty_rate;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int task_ratelimit;\n\tlong unsigned int balanced_dirty_ratelimit;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tchar rwbs[8];\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio_complete {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tint error;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio_remap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tdev_t old_dev;\n\tsector_t old_sector;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_buffer {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_plug {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tunsigned int bytes;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tchar comm[16];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_completion {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tint error;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_remap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tdev_t old_dev;\n\tsector_t old_sector;\n\tunsigned int nr_bios;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_requeue {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_split {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tsector_t new_sector;\n\tchar rwbs[8];\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_unplug {\n\tstruct trace_entry ent;\n\tint nr_rq;\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_test_finish {\n\tstruct trace_entry ent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_trace_printk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bpf_string;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_trigger_tp {\n\tstruct trace_entry ent;\n\tint nonce;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_xdp_link_attach_failed {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_add {\n\tstruct trace_entry ent;\n\tu8 ndm_flags;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tu16 nlh_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_external_learn_add {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_mdb_full {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tint af;\n\tu16 vid;\n\t__u8 src[16];\n\t__u8 grp[16];\n\t__u8 grpmac[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cache_event {\n\tstruct trace_entry ent;\n\tconst struct cache_head *h;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cap_capable {\n\tstruct trace_entry ent;\n\tconst struct cred *cred;\n\tstruct user_namespace *target_ns;\n\tconst struct user_namespace *capable_ns;\n\tint cap;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cdev_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_type;\n\tlong unsigned int target;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_event {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tu32 __data_loc_path;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_migrate {\n\tstruct trace_entry ent;\n\tint dst_root;\n\tint dst_level;\n\tu64 dst_id;\n\tint pid;\n\tu32 __data_loc_dst_path;\n\tu32 __data_loc_comm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_root {\n\tstruct trace_entry ent;\n\tint root;\n\tu16 ss_mask;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_rstat {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tint cpu;\n\tbool contended;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ci_log {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ci_log_trb {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tstruct td_node *td;\n\tstruct usb_request *req;\n\tdma_addr_t dma;\n\ts32 td_remaining_size;\n\tu32 next;\n\tu32 token;\n\tu32 type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_duty_cycle {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int num;\n\tunsigned int den;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_parent {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_pname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_phase {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint phase;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int rate;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate_range {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_pname;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int prate;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clock {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tu64 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_busy_retry {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tunsigned int align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_finish {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tunsigned int align;\n\tint errorno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_start {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int count;\n\tunsigned int align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_release {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_compact_retry {\n\tstruct trace_entry ent;\n\tint order;\n\tint priority;\n\tint result;\n\tint retries;\n\tint max_retries;\n\tbool ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_console {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_consume_skb {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tvoid *location;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_contention_begin {\n\tstruct trace_entry ent;\n\tvoid *lock_addr;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_contention_end {\n\tstruct trace_entry ent;\n\tvoid *lock_addr;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu {\n\tstruct trace_entry ent;\n\tu32 state;\n\tu32 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_frequency_limits {\n\tstruct trace_entry ent;\n\tu32 min_freq;\n\tu32 max_freq;\n\tu32 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_idle_miss {\n\tstruct trace_entry ent;\n\tu32 cpu_id;\n\tu32 state;\n\tbool below;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_latency_qos_request {\n\tstruct trace_entry ent;\n\ts32 value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_enter {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint target;\n\tint idx;\n\tvoid *fun;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_exit {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint state;\n\tint idx;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_multi_enter {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint target;\n\tint idx;\n\tvoid *fun;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cros_ec_request_done {\n\tstruct trace_entry ent;\n\tuint32_t version;\n\tuint32_t offset;\n\tuint32_t command;\n\tuint32_t outsize;\n\tuint32_t insize;\n\tuint32_t result;\n\tint retval;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cros_ec_request_start {\n\tstruct trace_entry ent;\n\tuint32_t version;\n\tuint32_t offset;\n\tuint32_t command;\n\tuint32_t outsize;\n\tuint32_t insize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cros_ec_sensorhub_data {\n\tstruct trace_entry ent;\n\tu32 ec_sensor_num;\n\tu32 ec_fifo_timestamp;\n\ts64 fifo_timestamp;\n\ts64 current_timestamp;\n\ts64 current_time;\n\ts64 delta;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cros_ec_sensorhub_filter {\n\tstruct trace_entry ent;\n\ts64 dx;\n\ts64 dy;\n\ts64 median_m;\n\ts64 median_error;\n\ts64 history_len;\n\ts64 x;\n\ts64 y;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cros_ec_sensorhub_timestamp {\n\tstruct trace_entry ent;\n\tu32 ec_sample_timestamp;\n\tu32 ec_fifo_timestamp;\n\ts64 fifo_timestamp;\n\ts64 current_timestamp;\n\ts64 current_time;\n\ts64 delta;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_csd_function {\n\tstruct trace_entry ent;\n\tvoid *func;\n\tvoid *csd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_csd_queue_cpu {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tvoid *callsite;\n\tvoid *func;\n\tvoid *csd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ctime {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\ttime64_t ctime_s;\n\tu32 ctime_ns;\n\tu32 gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ctime_ns_xchg {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tu32 gen;\n\tu32 old;\n\tu32 new;\n\tu32 cur;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dev_pm_qos_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tenum dev_pm_qos_req_type type;\n\ts32 new_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devfreq_frequency {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tlong unsigned int freq;\n\tlong unsigned int prev_freq;\n\tlong unsigned int busy_time;\n\tlong unsigned int total_time;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devfreq_monitor {\n\tstruct trace_entry ent;\n\tlong unsigned int freq;\n\tlong unsigned int busy_time;\n\tlong unsigned int total_time;\n\tunsigned int polling_ms;\n\tu32 __data_loc_dev_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_device_pm_callback_end {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_device_pm_callback_start {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tu32 __data_loc_parent;\n\tu32 __data_loc_pm_ops;\n\tint event;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_health_recover_aborted {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tu32 __data_loc_reporter_name;\n\tbool health_state;\n\tu64 time_since_last_recover;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_health_report {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tu32 __data_loc_reporter_name;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_health_reporter_state_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tu32 __data_loc_reporter_name;\n\tu8 new_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_hwerr {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tint err;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_hwmsg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tbool incoming;\n\tlong unsigned int type;\n\tu32 __data_loc_buf;\n\tsize_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_trap_report {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tu32 __data_loc_trap_name;\n\tu32 __data_loc_trap_group_name;\n\tchar input_dev_name[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devres {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tstruct device *dev;\n\tconst char *op;\n\tvoid *node;\n\tu32 __data_loc_name;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_alloc_class {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tvoid *virt_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tgfp_t flags;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_alloc_sgt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tgfp_t flags;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_fence {\n\tstruct trace_entry ent;\n\tu32 __data_loc_driver;\n\tu32 __data_loc_timeline;\n\tunsigned int context;\n\tunsigned int seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_free_class {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tvoid *virt_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_free_sgt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 phys_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu32 __data_loc_dma_addrs;\n\tu32 __data_loc_lengths;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map_sg_err {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tint err;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_sync_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_dma_addrs;\n\tu32 __data_loc_lengths;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_sync_single {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_unmap {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_unmap_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_addrs;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dpaa2_eth_buf {\n\tstruct trace_entry ent;\n\tvoid *vaddr;\n\tsize_t size;\n\tdma_addr_t dma_addr;\n\tsize_t map_size;\n\tu16 bpid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dpaa2_eth_fd {\n\tstruct trace_entry ent;\n\tu64 fd_addr;\n\tu32 fd_len;\n\tu16 fd_offset;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dpaa_eth_fd {\n\tstruct trace_entry ent;\n\tu32 fqid;\n\tu64 fd_addr;\n\tu8 fd_format;\n\tu16 fd_offset;\n\tu32 fd_length;\n\tu32 fd_status;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dql_stall_detected {\n\tstruct trace_entry ent;\n\tshort unsigned int thrs;\n\tunsigned int len;\n\tlong unsigned int last_reap;\n\tlong unsigned int hist_head;\n\tlong unsigned int now;\n\tlong unsigned int hist[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dwc3_log_ctrl {\n\tstruct trace_entry ent;\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__u16 wValue;\n\t__u16 wIndex;\n\t__u16 wLength;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dwc3_log_ep {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int maxpacket;\n\tunsigned int maxpacket_limit;\n\tunsigned int max_streams;\n\tunsigned int maxburst;\n\tunsigned int flags;\n\tunsigned int direction;\n\tu8 trb_enqueue;\n\tu8 trb_dequeue;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dwc3_log_event {\n\tstruct trace_entry ent;\n\tu32 event;\n\tu32 ep0state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dwc3_log_gadget_ep_cmd {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int cmd;\n\tu32 param0;\n\tu32 param1;\n\tu32 param2;\n\tint cmd_status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dwc3_log_generic_cmd {\n\tstruct trace_entry ent;\n\tunsigned int cmd;\n\tu32 param;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dwc3_log_io {\n\tstruct trace_entry ent;\n\tvoid *base;\n\tu32 offset;\n\tu32 value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dwc3_log_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tstruct dwc3_request *req;\n\tunsigned int actual;\n\tunsigned int length;\n\tint status;\n\tint zero;\n\tint short_not_ok;\n\tint no_interrupt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dwc3_log_trb {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tstruct dwc3_trb *trb;\n\tu32 bpl;\n\tu32 bph;\n\tu32 size;\n\tu32 ctrl;\n\tu32 type;\n\tu32 enqueue;\n\tu32 dequeue;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_e1000e_trace_mac_register {\n\tstruct trace_entry ent;\n\tuint32_t reg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_edma_log_io {\n\tstruct trace_entry ent;\n\tstruct fsl_edma_engine *edma;\n\tvoid *addr;\n\tu32 value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_edma_log_tcd {\n\tstruct trace_entry ent;\n\tu64 saddr;\n\tu16 soff;\n\tu16 attr;\n\tu32 nbytes;\n\tu64 slast;\n\tu64 daddr;\n\tu16 doff;\n\tu16 citer;\n\tu64 dlast_sga;\n\tu16 csr;\n\tu16 biter;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_error_report_template {\n\tstruct trace_entry ent;\n\tenum error_detector error_detector;\n\tlong unsigned int id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_exit_mmap {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tstruct maple_tree *mt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__bitmap_load {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__es_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__es_shrink_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_to_scan;\n\tint cache_cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__fallocate_mode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tint mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__folio_op {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__map_blocks_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tunsigned int len;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__map_blocks_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int flags;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tunsigned int len;\n\tunsigned int mflags;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__mb_new_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 pa_pstart;\n\t__u64 pa_lstart;\n\t__u32 pa_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__mballoc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__trim {\n\tstruct trace_entry ent;\n\tint dev_major;\n\tint dev_minor;\n\t__u32 group;\n\tint start;\n\tint len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__truncate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__write_begin {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__write_end {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int len;\n\tunsigned int copied;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_alloc_da_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int data_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_allocate_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tunsigned int len;\n\t__u32 logical;\n\t__u32 lleft;\n\t__u32 lright;\n\t__u64 goal;\n\t__u64 pleft;\n\t__u64 pright;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_allocate_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_begin_ordered_truncate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_collapse_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_release_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint freed_blocks;\n\tint reserved_data_blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_reserve_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint reserve_blocks;\n\tint reserved_data_blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_update_reserve_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint used_blocks;\n\tint reserved_data_blocks;\n\tint quota_claim;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_write_pages {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int first_page;\n\tlong int nr_to_write;\n\tint sync_mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_write_pages_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 lblk;\n\t__u32 len;\n\t__u32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_discard_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u64 blk;\n\t__u64 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_discard_preallocations {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_drop_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint drop;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tconst char *function;\n\tunsigned int line;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_find_extent_range_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_find_extent_range_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_insert_delayed_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tbool lclu_allocated;\n\tbool end_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_lookup_extent_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_lookup_extent_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tint found;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_remove_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t lblk;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_shrink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_shrunk;\n\tlong long unsigned int scan_time;\n\tint nr_skipped;\n\tint retried;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_shrink_scan_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_shrunk;\n\tint cache_cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_evict_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint nlink;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_convert_to_initialized_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\text4_lblk_t u_lblk;\n\tunsigned int u_len;\n\text4_fsblk_t u_pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_convert_to_initialized_fastpath {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\text4_lblk_t u_lblk;\n\tunsigned int u_len;\n\text4_fsblk_t u_pblk;\n\text4_lblk_t i_lblk;\n\tunsigned int i_len;\n\text4_fsblk_t i_pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_handle_unwritten_extents {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint flags;\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tunsigned int len;\n\tunsigned int allocated;\n\text4_fsblk_t newblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_load_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_remove_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t end;\n\tint depth;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_remove_space_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t end;\n\tint depth;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tshort unsigned int eh_entries;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_rm_idx {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_rm_leaf {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t ee_lblk;\n\text4_fsblk_t ee_pblk;\n\tshort int ee_len;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_show_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tshort unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fallocate_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int blocks;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_cleanup {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint j_fc_off;\n\tint full;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_commit_start {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_commit_stop {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nblks;\n\tint reason;\n\tint num_fc;\n\tint num_fc_ineligible;\n\tint nblks_agg;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_replay {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint tag;\n\tint ino;\n\tint priv1;\n\tint priv2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_replay_scan {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint error;\n\tint off;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int fc_ineligible_rc[10];\n\tlong unsigned int fc_commits;\n\tlong unsigned int fc_ineligible_commits;\n\tlong unsigned int fc_numblks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_dentry {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tlong int start;\n\tlong int end;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_forget {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tint is_metadata;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_free_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tlong unsigned int count;\n\tint flags;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_free_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tuid_t uid;\n\tgid_t gid;\n\t__u64 blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\tu32 agno;\n\tu64 bno;\n\tu64 len;\n\tu64 owner;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_get_implied_cluster_alloc_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tunsigned int len;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_getfsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\tu64 block;\n\tu64 len;\n\tu64 owner;\n\tu64 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_insert_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_invalidate_folio_op {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int index;\n\tsize_t offset;\n\tsize_t length;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_inode {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tint rsv_blocks;\n\tint revoke_creds;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_reserved {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_sb {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tint rsv_blocks;\n\tint revoke_creds;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_lazy_itable_init {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_load_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mark_inode_dirty {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_discard_preallocations {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint needed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_release_group_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u64 pa_pstart;\n\t__u32 pa_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_release_inode_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\t__u32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mballoc_alloc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u32 orig_logical;\n\tint orig_start;\n\t__u32 orig_group;\n\tint orig_len;\n\t__u32 goal_logical;\n\tint goal_start;\n\t__u32 goal_group;\n\tint goal_len;\n\t__u32 result_logical;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\t__u16 found;\n\t__u16 groups;\n\t__u16 buddy;\n\t__u16 flags;\n\t__u16 tail;\n\t__u8 cr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mballoc_prealloc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u32 orig_logical;\n\tint orig_start;\n\t__u32 orig_group;\n\tint orig_len;\n\t__u32 result_logical;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_nfs_commit_metadata {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_other_inode_update_time {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t orig_ino;\n\tuid_t uid;\n\tgid_t gid;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_prefetch_bitmaps {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\t__u32 next;\n\t__u32 ios;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_read_block_bitmap_load {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tbool prefetch;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_remove_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t from;\n\text4_lblk_t to;\n\text4_fsblk_t ee_pblk;\n\text4_lblk_t ee_lblk;\n\tshort unsigned int ee_len;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_request_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int len;\n\t__u32 logical;\n\t__u32 lleft;\n\t__u32 lright;\n\t__u64 goal;\n\t__u64 pleft;\n\t__u64 pright;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_request_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_shutdown {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_file_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t parent;\n\tint datasync;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_file_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_fs {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_unlink_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t parent;\n\tloff_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_unlink_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_update_sb {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\text4_fsblk_t fsblk;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_writepages {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tlong unsigned int writeback_index;\n\tint sync_mode;\n\tchar for_kupdate;\n\tchar range_cyclic;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_writepages_result {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tint pages_written;\n\tlong int pages_skipped;\n\tlong unsigned int writeback_index;\n\tint sync_mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fdb_delete {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ff_layout_commit_error {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fib_table_lookup {\n\tstruct trace_entry ent;\n\tu32 tb_id;\n\tint err;\n\tint oif;\n\tint iif;\n\tu8 proto;\n\t__u8 tos;\n\t__u8 scope;\n\t__u8 flags;\n\t__u8 src[4];\n\t__u8 dst[4];\n\t__u8 gw4[4];\n\t__u8 gw6[16];\n\tu16 sport;\n\tu16 dport;\n\tchar name[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_file_check_and_advance_wb_err {\n\tstruct trace_entry ent;\n\tstruct file *file;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\terrseq_t old;\n\terrseq_t new;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filelock_lease {\n\tstruct trace_entry ent;\n\tstruct file_lease *fl;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tstruct file_lock_core *blocker;\n\tfl_owner_t owner;\n\tunsigned int flags;\n\tunsigned char type;\n\tlong unsigned int break_time;\n\tlong unsigned int downgrade_time;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filelock_lock {\n\tstruct trace_entry ent;\n\tstruct file_lock *fl;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tstruct file_lock_core *blocker;\n\tfl_owner_t owner;\n\tunsigned int pid;\n\tunsigned int flags;\n\tunsigned char type;\n\tloff_t fl_start;\n\tloff_t fl_end;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filemap_set_wb_err {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\terrseq_t errseq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fill_mg_cmtime {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\ttime64_t ctime_s;\n\ttime64_t mtime_s;\n\tu32 ctime_ns;\n\tu32 mtime_ns;\n\tu32 gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_finish_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fl_getdevinfo {\n\tstruct trace_entry ent;\n\tu32 __data_loc_mds_addr;\n\tunsigned char deviceid[16];\n\tu32 __data_loc_ds_ips;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_flush_foreign {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t cgroup_ino;\n\tunsigned int frn_bdi_id;\n\tunsigned int frn_memcg_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_free_vmap_area_noflush {\n\tstruct trace_entry ent;\n\tlong unsigned int va_start;\n\tlong unsigned int nr_lazy;\n\tlong unsigned int nr_lazy_max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_generic_add_lease {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tint wcount;\n\tint rcount;\n\tint icount;\n\tdev_t s_dev;\n\tfl_owner_t owner;\n\tunsigned int flags;\n\tunsigned char type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_global_dirty_state {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int background_thresh;\n\tlong unsigned int dirty_thresh;\n\tlong unsigned int dirty_limit;\n\tlong unsigned int nr_dirtied;\n\tlong unsigned int nr_written;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_gpio_direction {\n\tstruct trace_entry ent;\n\tunsigned int gpio;\n\tint in;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_gpio_value {\n\tstruct trace_entry ent;\n\tunsigned int gpio;\n\tint get;\n\tint value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_gpu_mem_total {\n\tstruct trace_entry ent;\n\tuint32_t gpu_id;\n\tuint32_t pid;\n\tuint64_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_guest_halt_poll_ns {\n\tstruct trace_entry ent;\n\tbool grow;\n\tunsigned int new;\n\tunsigned int old;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_alert_class {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tunsigned int netns_ino;\n\tlong unsigned int level;\n\tlong unsigned int description;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_complete {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint status;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_error_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint err;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_event_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_fd_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint fd;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hclge_pf_cmd_template {\n\tstruct trace_entry ent;\n\tu16 opcode;\n\tu16 flag;\n\tu16 retval;\n\tu16 rsv;\n\tint index;\n\tint num;\n\tu32 __data_loc_pciname;\n\tu32 data[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hclge_pf_mbx_get {\n\tstruct trace_entry ent;\n\tu8 vfid;\n\tu8 code;\n\tu8 subcode;\n\tu32 __data_loc_pciname;\n\tu32 __data_loc_devname;\n\tu32 mbx_data[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hclge_pf_mbx_send {\n\tstruct trace_entry ent;\n\tu8 vfid;\n\tu16 code;\n\tu32 __data_loc_pciname;\n\tu32 __data_loc_devname;\n\tu32 mbx_data[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hclge_pf_special_cmd_template {\n\tstruct trace_entry ent;\n\tint index;\n\tint num;\n\tu32 __data_loc_pciname;\n\tu32 data[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hns3_rx_desc {\n\tstruct trace_entry ent;\n\tint index;\n\tint ntu;\n\tint ntc;\n\tdma_addr_t desc_dma;\n\tdma_addr_t buf_dma;\n\tu32 desc[8];\n\tu32 __data_loc_devname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hns3_skb_template {\n\tstruct trace_entry ent;\n\tunsigned int headlen;\n\tunsigned int len;\n\t__u8 nr_frags;\n\t__u8 ip_summed;\n\tunsigned int hdr_len;\n\tshort unsigned int gso_size;\n\tshort unsigned int gso_segs;\n\tunsigned int gso_type;\n\tbool fraglist;\n\t__u32 size[17];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hns3_tx_desc {\n\tstruct trace_entry ent;\n\tint index;\n\tint ntu;\n\tint ntc;\n\tdma_addr_t desc_dma;\n\tu32 desc[8];\n\tu32 __data_loc_devname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_class {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_expire_entry {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\ts64 now;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_init {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tclockid_t clockid;\n\tenum hrtimer_mode mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_start {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tvoid *function;\n\ts64 expires;\n\ts64 softexpires;\n\tenum hrtimer_mode mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugepage_set {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugepage_update {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tlong unsigned int clr;\n\tlong unsigned int set;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs__inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u16 mode;\n\tloff_t size;\n\tunsigned int nlink;\n\tunsigned int seals;\n\tblkcnt_t blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_alloc_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_fallocate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint mode;\n\tloff_t offset;\n\tloff_t len;\n\tloff_t size;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_setattr {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int d_len;\n\tu32 __data_loc_d_name;\n\tunsigned int ia_valid;\n\tunsigned int ia_mode;\n\tloff_t old_size;\n\tloff_t ia_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hw_pressure_update {\n\tstruct trace_entry ent;\n\tlong unsigned int hw_pressure;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hwmon_attr_class {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 __data_loc_attr_name;\n\tlong int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hwmon_attr_show_string {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 __data_loc_attr_name;\n\tu32 __data_loc_label;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_read {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_reply {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_result {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 nr_msgs;\n\t__s16 ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_slave {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\tint ret;\n\t__u16 addr;\n\t__u16 len;\n\tenum i2c_slave_event event;\n\t__u8 buf[1];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_write {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_icc_set_bw {\n\tstruct trace_entry ent;\n\tu32 __data_loc_path_name;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_node_name;\n\tu32 avg_bw;\n\tu32 peak_bw;\n\tu32 node_avg_bw;\n\tu32 node_peak_bw;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_icc_set_bw_end {\n\tstruct trace_entry ent;\n\tu32 __data_loc_path_name;\n\tu32 __data_loc_dev;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_icmp_send {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tint type;\n\tint code;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u16 sport;\n\t__u16 dport;\n\tshort unsigned int ulen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inet_sk_error_report {\n\tstruct trace_entry ent;\n\tint error;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u16 protocol;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inet_sock_set_state {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\tint oldstate;\n\tint newstate;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u16 protocol;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\ntypedef int (*initcall_t)(void);\n\nstruct trace_event_raw_initcall_finish {\n\tstruct trace_entry ent;\n\tinitcall_t func;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_initcall_level {\n\tstruct trace_entry ent;\n\tu32 __data_loc_level;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_initcall_start {\n\tstruct trace_entry ent;\n\tinitcall_t func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inode_foreign_history {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tino_t cgroup_ino;\n\tunsigned int history;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inode_switch_wbs {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tino_t old_cgroup_ino;\n\tino_t new_cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_complete {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tint res;\n\tunsigned int cflags;\n\tu64 extra1;\n\tu64 extra2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_cqe_overflow {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tlong long unsigned int user_data;\n\ts32 res;\n\tu32 cflags;\n\tvoid *ocqe;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_cqring_wait {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tint min_events;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_create {\n\tstruct trace_entry ent;\n\tint fd;\n\tvoid *ctx;\n\tu32 sq_entries;\n\tu32 cq_entries;\n\tu32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_defer {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int data;\n\tu8 opcode;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_fail_link {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tvoid *link;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_file_get {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tint fd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_link {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tvoid *target_req;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_local_work_run {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tint count;\n\tunsigned int loops;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_poll_arm {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tint mask;\n\tint events;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_queue_async_work {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tu8 opcode;\n\tlong long unsigned int flags;\n\tstruct io_wq_work *work;\n\tint rw;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_register {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tunsigned int opcode;\n\tunsigned int nr_files;\n\tunsigned int nr_bufs;\n\tlong int ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_req_failed {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tu8 flags;\n\tu8 ioprio;\n\tu64 off;\n\tu64 addr;\n\tu32 len;\n\tu32 op_flags;\n\tu16 buf_index;\n\tu16 personality;\n\tu32 file_index;\n\tu64 pad1;\n\tu64 addr3;\n\tint error;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_short_write {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tu64 fpos;\n\tu64 wanted;\n\tu64 got;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_submit_req {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tlong long unsigned int flags;\n\tbool sq_thread;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_task_add {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tint mask;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_task_work_run {\n\tstruct trace_entry ent;\n\tvoid *tctx;\n\tunsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tdev_t bdev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_dio_complete {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tint ki_flags;\n\tbool aio;\n\tint error;\n\tssize_t ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_dio_rw_begin {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tsize_t count;\n\tsize_t done_before;\n\tint ki_flags;\n\tunsigned int dio_flags;\n\tbool aio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_iter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tloff_t pos;\n\tu64 length;\n\ts64 processed;\n\tunsigned int flags;\n\tconst void *ops;\n\tlong unsigned int caller;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_range_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tloff_t size;\n\tloff_t offset;\n\tu64 length;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_readpage_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tint nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_writepage_map {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tu64 pos;\n\tu64 dirty_len;\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tdev_t bdev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_device_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_error {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tu64 iova;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_group_event {\n\tstruct trace_entry ent;\n\tint gid;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_handler {\n\tstruct trace_entry ent;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_raise {\n\tstruct trace_entry ent;\n\tu32 __data_loc_target_cpus;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_send_cpu {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tvoid *callsite;\n\tvoid *callback;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_send_cpumask {\n\tstruct trace_entry ent;\n\tu32 __data_loc_cpumask;\n\tvoid *callsite;\n\tvoid *callback;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_handler_entry {\n\tstruct trace_entry ent;\n\tint irq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_handler_exit {\n\tstruct trace_entry ent;\n\tint irq;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_itimer_expire {\n\tstruct trace_entry ent;\n\tint which;\n\tpid_t pid;\n\tlong long unsigned int now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_itimer_state {\n\tstruct trace_entry ent;\n\tint which;\n\tlong long unsigned int expires;\n\tlong int value_sec;\n\tlong int value_nsec;\n\tlong int interval_sec;\n\tlong int interval_nsec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_checkpoint {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_checkpoint_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tlong unsigned int chp_time;\n\t__u32 forced_to_close;\n\t__u32 written;\n\t__u32 dropped;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar sync_commit;\n\ttid_t transaction;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_end_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar sync_commit;\n\ttid_t transaction;\n\ttid_t head;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_extend {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint buffer_credits;\n\tint requested_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_start_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint requested_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint interval;\n\tint sync;\n\tint requested_blocks;\n\tint dirtied_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_journal_shrink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_lock_buffer_stall {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int stall_ms;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_run_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tlong unsigned int wait;\n\tlong unsigned int request_delay;\n\tlong unsigned int running;\n\tlong unsigned int locked;\n\tlong unsigned int flushing;\n\tlong unsigned int logging;\n\t__u32 handle_count;\n\t__u32 blocks;\n\t__u32 blocks_logged;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_shrink_checkpoint_list {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t first_tid;\n\ttid_t tid;\n\ttid_t last_tid;\n\tlong unsigned int nr_freed;\n\ttid_t next_tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_shrink_scan_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int nr_shrunk;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_submit_inode_data {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_update_log_tail {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tail_sequence;\n\ttid_t first_tid;\n\tlong unsigned int block_nr;\n\tlong unsigned int freed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_write_superblock {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tblk_opf_t write_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kcompactd_wake_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tint order;\n\tenum zone_type highest_zoneidx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kfree {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kfree_skb {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tvoid *location;\n\tvoid *rx_sk;\n\tshort unsigned int protocol;\n\tenum skb_drop_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmalloc {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tsize_t bytes_req;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tint node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmem_cache_alloc {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tsize_t bytes_req;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tint node;\n\tbool accounted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmem_cache_free {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_advisor {\n\tstruct trace_entry ent;\n\ts64 scan_time;\n\tlong unsigned int pages_to_scan;\n\tunsigned int cpu_percent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_enter_exit_template {\n\tstruct trace_entry ent;\n\tvoid *mm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_merge_one_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_merge_with_ksm_page {\n\tstruct trace_entry ent;\n\tvoid *ksm_page;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_remove_ksm_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_remove_rmap_item {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_scan_template {\n\tstruct trace_entry ent;\n\tint seq;\n\tu32 rmap_entries;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_access_fault {\n\tstruct trace_entry ent;\n\tlong unsigned int ipa;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_ack_irq {\n\tstruct trace_entry ent;\n\tunsigned int irqchip;\n\tunsigned int pin;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_age_hva {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_arm_set_dreg32 {\n\tstruct trace_entry ent;\n\tconst char *name;\n\t__u64 value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_dirty_ring_exit {\n\tstruct trace_entry ent;\n\tint vcpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_dirty_ring_push {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 dirty_index;\n\tu32 reset_index;\n\tu32 slot;\n\tu64 offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_dirty_ring_reset {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 dirty_index;\n\tu32 reset_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_exit {\n\tstruct trace_entry ent;\n\tint ret;\n\tunsigned int esr_ec;\n\tlong unsigned int vcpu_pc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_forward_sysreg_trap {\n\tstruct trace_entry ent;\n\tu64 pc;\n\tu32 sysreg;\n\tbool is_read;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_fpu {\n\tstruct trace_entry ent;\n\tu32 load;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_get_timer_map {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_id;\n\tint direct_vtimer;\n\tint direct_ptimer;\n\tint emul_vtimer;\n\tint emul_ptimer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_guest_fault {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tlong unsigned int hsr;\n\tlong unsigned int hxfar;\n\tlong long unsigned int ipa;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_halt_poll_ns {\n\tstruct trace_entry ent;\n\tbool grow;\n\tunsigned int vcpu_id;\n\tunsigned int new;\n\tunsigned int old;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_handle_sys_reg {\n\tstruct trace_entry ent;\n\tlong unsigned int hsr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_hvc_arm64 {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tlong unsigned int r0;\n\tlong unsigned int imm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_inject_nested_exception {\n\tstruct trace_entry ent;\n\tstruct kvm_vcpu *vcpu;\n\tlong unsigned int esr_el2;\n\tint type;\n\tlong unsigned int spsr_el2;\n\tlong unsigned int pc;\n\tlong unsigned int source_mode;\n\tlong unsigned int hcr_el2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_iocsr {\n\tstruct trace_entry ent;\n\tu32 type;\n\tu32 len;\n\tu64 gpa;\n\tu64 val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_irq_line {\n\tstruct trace_entry ent;\n\tunsigned int type;\n\tint vcpu_idx;\n\tint irq_num;\n\tint level;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_mmio {\n\tstruct trace_entry ent;\n\tu32 type;\n\tu32 len;\n\tu64 gpa;\n\tu64 val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_mmio_emulate {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tlong unsigned int instr;\n\tlong unsigned int cpsr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_mmio_nisv {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tlong unsigned int esr;\n\tlong unsigned int far;\n\tlong unsigned int ipa;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_nested_eret {\n\tstruct trace_entry ent;\n\tstruct kvm_vcpu *vcpu;\n\tlong unsigned int elr_el2;\n\tlong unsigned int spsr_el2;\n\tlong unsigned int target_mode;\n\tlong unsigned int hcr_el2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_set_guest_debug {\n\tstruct trace_entry ent;\n\tstruct kvm_vcpu *vcpu;\n\t__u32 guest_debug;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_set_irq {\n\tstruct trace_entry ent;\n\tunsigned int gsi;\n\tint level;\n\tint irq_source_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_set_way_flush {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tbool cache;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_sys_access {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tbool is_write;\n\tconst char *name;\n\tu8 Op0;\n\tu8 Op1;\n\tu8 CRn;\n\tu8 CRm;\n\tu8 Op2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_test_age_hva {\n\tstruct trace_entry ent;\n\tlong unsigned int hva;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_timer_emulate {\n\tstruct trace_entry ent;\n\tint timer_idx;\n\tbool should_fire;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_timer_hrtimer_expire {\n\tstruct trace_entry ent;\n\tint timer_idx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_timer_restore_state {\n\tstruct trace_entry ent;\n\tlong unsigned int ctl;\n\tlong long unsigned int cval;\n\tint timer_idx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_timer_save_state {\n\tstruct trace_entry ent;\n\tlong unsigned int ctl;\n\tlong long unsigned int cval;\n\tint timer_idx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_timer_update_irq {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_id;\n\t__u32 irq;\n\tint level;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_toggle_cache {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tbool was;\n\tbool now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_unmap_hva_range {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_userspace_exit {\n\tstruct trace_entry ent;\n\t__u32 reason;\n\tint errno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_vcpu_wakeup {\n\tstruct trace_entry ent;\n\t__u64 ns;\n\tbool waited;\n\tbool valid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kvm_wfx_arm64 {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_pc;\n\tbool is_wfe;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_adjust {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tunsigned int depth;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_latency {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tchar type[8];\n\tu8 percentile;\n\tu8 numerator;\n\tu8 denominator;\n\tunsigned int samples;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_throttled {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_leases_conflict {\n\tstruct trace_entry ent;\n\tvoid *lease;\n\tvoid *breaker;\n\tunsigned int l_fl_flags;\n\tunsigned int b_fl_flags;\n\tunsigned char l_fl_type;\n\tunsigned char b_fl_type;\n\tbool conflict;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_locks_get_lock_context {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tunsigned char type;\n\tstruct file_lock_context *ctx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_op {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_read {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_write {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tlong unsigned int piv;\n\tvoid *val;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_map {\n\tstruct trace_entry ent;\n\tu64 iova;\n\tu64 paddr;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mark_victim {\n\tstruct trace_entry ent;\n\tint pid;\n\tu32 __data_loc_comm;\n\tlong unsigned int total_vm;\n\tlong unsigned int anon_rss;\n\tlong unsigned int file_rss;\n\tlong unsigned int shmem_rss;\n\tuid_t uid;\n\tlong unsigned int pgtables;\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mc_event {\n\tstruct trace_entry ent;\n\tunsigned int error_type;\n\tu32 __data_loc_msg;\n\tu32 __data_loc_label;\n\tu16 error_count;\n\tu8 mc_index;\n\ts8 top_layer;\n\ts8 middle_layer;\n\ts8 lower_layer;\n\tlong int address;\n\tu8 grain_bits;\n\tlong int syndrome;\n\tu32 __data_loc_driver_detail;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mdio_access {\n\tstruct trace_entry ent;\n\tchar busid[61];\n\tchar read;\n\tu8 addr;\n\tu16 val;\n\tunsigned int regnum;\n\tchar __data[0];\n};\n\nstruct xdp_mem_allocator;\n\nstruct trace_event_raw_mem_connect {\n\tstruct trace_entry ent;\n\tconst struct xdp_mem_allocator *xa;\n\tu32 mem_id;\n\tu32 mem_type;\n\tconst void *allocator;\n\tconst struct xdp_rxq_info *rxq;\n\tint ifindex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mem_disconnect {\n\tstruct trace_entry ent;\n\tconst struct xdp_mem_allocator *xa;\n\tu32 mem_id;\n\tu32 mem_type;\n\tconst void *allocator;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mem_return_failed {\n\tstruct trace_entry ent;\n\tconst struct page *page;\n\tu32 mem_id;\n\tu32 mem_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_flush_stats {\n\tstruct trace_entry ent;\n\tu64 id;\n\ts64 stats_updates;\n\tbool force;\n\tbool needs_flush;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_rstat_events {\n\tstruct trace_entry ent;\n\tu64 id;\n\tint item;\n\tlong unsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_rstat_stats {\n\tstruct trace_entry ent;\n\tu64 id;\n\tint item;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memory_failure_event {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint type;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_migration_pmd {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_migration_pte {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tint order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_alloc_contig_migrate_range_info {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int nr_migrated;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_mapped;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tint isolated;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page_isolate {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint none_or_zero;\n\tint referenced;\n\tbool writable;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page_swapin {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tint swapped_in;\n\tint referenced;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_begin {\n\tstruct trace_entry ent;\n\tlong unsigned int zone_start;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int free_pfn;\n\tlong unsigned int zone_end;\n\tbool sync;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_defer_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tenum zone_type idx;\n\tint order;\n\tunsigned int considered;\n\tunsigned int defer_shift;\n\tint order_failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_end {\n\tstruct trace_entry ent;\n\tlong unsigned int zone_start;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int free_pfn;\n\tlong unsigned int zone_end;\n\tbool sync;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_isolate_template {\n\tstruct trace_entry ent;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_taken;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_kcompactd_sleep {\n\tstruct trace_entry ent;\n\tint nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_migratepages {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_migrated;\n\tlong unsigned int nr_failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_suitable_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tenum zone_type idx;\n\tint order;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_try_to_compact_pages {\n\tstruct trace_entry ent;\n\tint order;\n\tlong unsigned int gfp_mask;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_fault {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_op_page_cache {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tlong unsigned int i_ino;\n\tlong unsigned int index;\n\tdev_t s_dev;\n\tunsigned char order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_op_page_cache_range {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tlong unsigned int index;\n\tlong unsigned int last_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_collapse_file {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int hpfn;\n\tlong unsigned int index;\n\tlong unsigned int addr;\n\tbool is_shmem;\n\tu32 __data_loc_filename;\n\tint nr;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_scan_file {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int pfn;\n\tu32 __data_loc_filename;\n\tint present;\n\tint swap;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_scan_pmd {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int pfn;\n\tbool writable;\n\tint referenced;\n\tint none_or_zero;\n\tint status;\n\tint unmapped;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_lru_activate {\n\tstruct trace_entry ent;\n\tstruct folio *folio;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_lru_insertion {\n\tstruct trace_entry ent;\n\tstruct folio *folio;\n\tlong unsigned int pfn;\n\tenum lru_list lru;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_migrate_pages {\n\tstruct trace_entry ent;\n\tlong unsigned int succeeded;\n\tlong unsigned int failed;\n\tlong unsigned int thp_succeeded;\n\tlong unsigned int thp_failed;\n\tlong unsigned int thp_split;\n\tlong unsigned int large_folio_split;\n\tenum migrate_mode mode;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_migrate_pages_start {\n\tstruct trace_entry ent;\n\tenum migrate_mode mode;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tint migratetype;\n\tint percpu_refill;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_alloc {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tlong unsigned int gfp_flags;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_alloc_extfrag {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint alloc_order;\n\tint fallback_order;\n\tint alloc_migratetype;\n\tint fallback_migratetype;\n\tint change_ownership;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_free {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_free_batched {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_pcpu_drain {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_shrink_slab_end {\n\tstruct trace_entry ent;\n\tstruct shrinker *shr;\n\tint nid;\n\tvoid *shrink;\n\tlong int unused_scan;\n\tlong int new_scan;\n\tint retval;\n\tlong int total_scan;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_shrink_slab_start {\n\tstruct trace_entry ent;\n\tstruct shrinker *shr;\n\tvoid *shrink;\n\tint nid;\n\tlong int nr_objects_to_shrink;\n\tlong unsigned int gfp_flags;\n\tlong unsigned int cache_items;\n\tlong long unsigned int delta;\n\tlong unsigned int total_scan;\n\tint priority;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_direct_reclaim_begin_template {\n\tstruct trace_entry ent;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_direct_reclaim_end_template {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_reclaimed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_kswapd_sleep {\n\tstruct trace_entry ent;\n\tint nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_kswapd_wake {\n\tstruct trace_entry ent;\n\tint nid;\n\tint zid;\n\tint order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_isolate {\n\tstruct trace_entry ent;\n\tint highest_zoneidx;\n\tint order;\n\tlong unsigned int nr_requested;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_skipped;\n\tlong unsigned int nr_taken;\n\tint lru;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_shrink_active {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_taken;\n\tlong unsigned int nr_active;\n\tlong unsigned int nr_deactivated;\n\tlong unsigned int nr_referenced;\n\tint priority;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_shrink_inactive {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_congested;\n\tlong unsigned int nr_immediate;\n\tunsigned int nr_activate0;\n\tunsigned int nr_activate1;\n\tlong unsigned int nr_ref_keep;\n\tlong unsigned int nr_unmap_fail;\n\tint priority;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_node_reclaim_begin {\n\tstruct trace_entry ent;\n\tint nid;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_reclaim_pages {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_congested;\n\tlong unsigned int nr_immediate;\n\tunsigned int nr_activate0;\n\tunsigned int nr_activate1;\n\tlong unsigned int nr_ref_keep;\n\tlong unsigned int nr_unmap_fail;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_throttled {\n\tstruct trace_entry ent;\n\tint nid;\n\tint usec_timeout;\n\tint usec_delayed;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_wakeup_kswapd {\n\tstruct trace_entry ent;\n\tint nid;\n\tint zid;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_write_folio {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmap_lock {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tu64 memcg_id;\n\tbool write;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmap_lock_acquire_returned {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tu64 memcg_id;\n\tbool write;\n\tbool success;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmc_request_done {\n\tstruct trace_entry ent;\n\tu32 cmd_opcode;\n\tint cmd_err;\n\tu32 cmd_resp[4];\n\tunsigned int cmd_retries;\n\tu32 stop_opcode;\n\tint stop_err;\n\tu32 stop_resp[4];\n\tunsigned int stop_retries;\n\tu32 sbc_opcode;\n\tint sbc_err;\n\tu32 sbc_resp[4];\n\tunsigned int sbc_retries;\n\tunsigned int bytes_xfered;\n\tint data_err;\n\tint tag;\n\tunsigned int can_retune;\n\tunsigned int doing_retune;\n\tunsigned int retune_now;\n\tint need_retune;\n\tint hold_retune;\n\tunsigned int retune_period;\n\tstruct mmc_request *mrq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmc_request_start {\n\tstruct trace_entry ent;\n\tu32 cmd_opcode;\n\tu32 cmd_arg;\n\tunsigned int cmd_flags;\n\tunsigned int cmd_retries;\n\tu32 stop_opcode;\n\tu32 stop_arg;\n\tunsigned int stop_flags;\n\tunsigned int stop_retries;\n\tu32 sbc_opcode;\n\tu32 sbc_arg;\n\tunsigned int sbc_flags;\n\tunsigned int sbc_retries;\n\tunsigned int blocks;\n\tunsigned int blk_addr;\n\tunsigned int blksz;\n\tunsigned int data_flags;\n\tint tag;\n\tunsigned int can_retune;\n\tunsigned int doing_retune;\n\tunsigned int retune_now;\n\tint need_retune;\n\tint hold_retune;\n\tunsigned int retune_period;\n\tstruct mmc_request *mrq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_free {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_load {\n\tstruct trace_entry ent;\n\tunsigned int taints;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_refcnt {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tint refcnt;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_request {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tbool wait;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mtu3_log {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mtu3_log_ep {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int type;\n\tunsigned int slot;\n\tunsigned int maxp;\n\tunsigned int mult;\n\tunsigned int maxburst;\n\tunsigned int flags;\n\tunsigned int direction;\n\tstruct mtu3_gpd_ring *gpd_ring;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mtu3_log_gpd {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tstruct qmu_gpd *gpd;\n\tu32 dw0;\n\tu32 dw1;\n\tu32 dw2;\n\tu32 dw3;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mtu3_log_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tstruct mtu3_request *mreq;\n\tstruct qmu_gpd *gpd;\n\tunsigned int actual;\n\tunsigned int length;\n\tint status;\n\tint zero;\n\tint no_interrupt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mtu3_log_setup {\n\tstruct trace_entry ent;\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__u16 wValue;\n\t__u16 wIndex;\n\t__u16 wLength;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mtu3_qmu_isr {\n\tstruct trace_entry ent;\n\tu32 done_intr;\n\tu32 exp_intr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mtu3_u2_common_isr {\n\tstruct trace_entry ent;\n\tu32 intr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mtu3_u3_ltssm_isr {\n\tstruct trace_entry ent;\n\tu32 intr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_musb_isr {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu8 int_usb;\n\tu16 int_tx;\n\tu16 int_rx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_musb_log {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_musb_regb {\n\tstruct trace_entry ent;\n\tvoid *caller;\n\tconst void *addr;\n\tunsigned int offset;\n\tu8 data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_musb_regl {\n\tstruct trace_entry ent;\n\tvoid *caller;\n\tconst void *addr;\n\tunsigned int offset;\n\tu32 data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_musb_regw {\n\tstruct trace_entry ent;\n\tvoid *caller;\n\tconst void *addr;\n\tunsigned int offset;\n\tu16 data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_musb_req {\n\tstruct trace_entry ent;\n\tstruct usb_request *req;\n\tu8 is_tx;\n\tu8 epnum;\n\tint status;\n\tunsigned int buf_len;\n\tunsigned int actual_len;\n\tunsigned int zero;\n\tunsigned int short_not_ok;\n\tunsigned int no_interrupt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_musb_state {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu8 devctl;\n\tu32 __data_loc_desc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_musb_urb {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tstruct urb *urb;\n\tunsigned int pipe;\n\tint status;\n\tunsigned int flag;\n\tu32 buf_len;\n\tu32 actual_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_napi_poll {\n\tstruct trace_entry ent;\n\tstruct napi_struct *napi;\n\tu32 __data_loc_dev_name;\n\tint work;\n\tint budget;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh__update {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tu8 lladdr[32];\n\tu8 lladdr_len;\n\tu8 flags;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tint refcnt;\n\t__u8 primary_key4[4];\n\t__u8 primary_key6[16];\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tu32 err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh_create {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tint entries;\n\tu8 created;\n\tu8 gc_exempt;\n\tu8 primary_key4[4];\n\tu8 primary_key6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh_update {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tu8 lladdr[32];\n\tu8 lladdr_len;\n\tu8 flags;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tint refcnt;\n\t__u8 primary_key4[4];\n\t__u8 primary_key6[16];\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tu8 new_lladdr[32];\n\tu8 new_state;\n\tu32 update_flags;\n\tu32 pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_rx_exit_template {\n\tstruct trace_entry ent;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_rx_verbose_template {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int napi_id;\n\tu16 queue_mapping;\n\tconst void *skbaddr;\n\tbool vlan_tagged;\n\tu16 vlan_proto;\n\tu16 vlan_tci;\n\tu16 protocol;\n\tu8 ip_summed;\n\tu32 hash;\n\tbool l4_hash;\n\tunsigned int len;\n\tunsigned int data_len;\n\tunsigned int truesize;\n\tbool mac_header_valid;\n\tint mac_header;\n\tunsigned char nr_frags;\n\tu16 gso_size;\n\tu16 gso_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_start_xmit {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu16 queue_mapping;\n\tconst void *skbaddr;\n\tbool vlan_tagged;\n\tu16 vlan_proto;\n\tu16 vlan_tci;\n\tu16 protocol;\n\tu8 ip_summed;\n\tunsigned int len;\n\tunsigned int data_len;\n\tint network_offset;\n\tbool transport_offset_valid;\n\tint transport_offset;\n\tu8 tx_flags;\n\tu16 gso_size;\n\tu16 gso_segs;\n\tu16 gso_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_template {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tunsigned int len;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_xmit {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tunsigned int len;\n\tint rc;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_xmit_timeout {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_driver;\n\tint queue_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int len;\n\tlong long unsigned int transferred;\n\tlong long unsigned int start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_folio {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tlong unsigned int index;\n\tlong long unsigned int fend;\n\tlong long unsigned int cleaned_to;\n\tlong long unsigned int collected_to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_gap {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned char stream;\n\tunsigned char type;\n\tlong long unsigned int from;\n\tlong long unsigned int to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_sreq {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int subreq;\n\tunsigned int stream;\n\tunsigned int len;\n\tunsigned int transferred;\n\tlong long unsigned int start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_state {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int notes;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int cleaned_to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_stream {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned char stream;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int front;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_failure {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tshort int index;\n\tshort int error;\n\tshort unsigned int flags;\n\tenum netfs_io_source source;\n\tenum netfs_failure what;\n\tsize_t len;\n\tsize_t transferred;\n\tloff_t start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_folio {\n\tstruct trace_entry ent;\n\tino_t ino;\n\tlong unsigned int index;\n\tunsigned int nr;\n\tenum netfs_folio_trace why;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_folioq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int id;\n\tenum netfs_folioq_trace trace;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_read {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int cookie;\n\tloff_t i_size;\n\tloff_t start;\n\tsize_t len;\n\tenum netfs_read_trace what;\n\tunsigned int netfs_inode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_rreq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int flags;\n\tenum netfs_io_origin origin;\n\tenum netfs_rreq_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_rreq_ref {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tint ref;\n\tenum netfs_rreq_ref_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_sreq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tshort unsigned int index;\n\tshort int error;\n\tshort unsigned int flags;\n\tenum netfs_io_source source;\n\tenum netfs_sreq_trace what;\n\tu8 slot;\n\tsize_t len;\n\tsize_t transferred;\n\tloff_t start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_sreq_ref {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int subreq;\n\tint ref;\n\tenum netfs_sreq_ref_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_write {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int cookie;\n\tunsigned int ino;\n\tenum netfs_write_trace what;\n\tlong long unsigned int start;\n\tlong long unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_write_iter {\n\tstruct trace_entry ent;\n\tlong long unsigned int start;\n\tsize_t len;\n\tunsigned int flags;\n\tunsigned int ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netlink_extack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cached_open {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_error_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 cbident;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_offload {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tloff_t cb_count;\n\tint cb_how;\n\tint cb_stateid_seq;\n\tu32 cb_stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_seqid_err {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int cachethis;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_sequence {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int cachethis;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_clientid_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dstaddr;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_clone {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 src_fhandle;\n\tu32 src_fileid;\n\tu32 dst_fhandle;\n\tu32 dst_fileid;\n\tdev_t src_dev;\n\tdev_t dst_dev;\n\tloff_t src_offset;\n\tloff_t dst_offset;\n\tint src_stateid_seq;\n\tu32 src_stateid_hash;\n\tint dst_stateid_seq;\n\tu32 dst_stateid_hash;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_close {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_commit_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tloff_t offset;\n\tu32 count;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_copy {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 src_fhandle;\n\tu32 src_fileid;\n\tu32 dst_fhandle;\n\tu32 dst_fileid;\n\tdev_t src_dev;\n\tdev_t dst_dev;\n\tint src_stateid_seq;\n\tu32 src_stateid_hash;\n\tint dst_stateid_seq;\n\tu32 dst_stateid_hash;\n\tloff_t src_offset;\n\tloff_t dst_offset;\n\tbool sync;\n\tloff_t len;\n\tint res_stateid_seq;\n\tu32 res_stateid_hash;\n\tloff_t res_count;\n\tbool res_sync;\n\tbool res_cons;\n\tbool intra;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_copy_notify {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tu32 fileid;\n\tdev_t dev;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint res_stateid_seq;\n\tu32 res_stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_delegreturn_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_deviceid_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dstaddr;\n\tunsigned char deviceid[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_deviceid_status {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint status;\n\tu32 __data_loc_dstaddr;\n\tunsigned char deviceid[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_flexfiles_io_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_getattr_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int valid;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_idmap_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 id;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_callback_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_stateid_callback_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_dstaddr;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_stateid_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_layoutget {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 iomode;\n\tu64 offset;\n\tu64 count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_llseek {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tu32 fileid;\n\tdev_t dev;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tloff_t offset_s;\n\tu32 what;\n\tloff_t offset_r;\n\tu32 eof;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lock_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int cmd;\n\tlong unsigned int type;\n\tloff_t start;\n\tloff_t end;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lookup_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lookupp {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_offload_cancel {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_open_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint openstateid_seq;\n\tu32 openstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_read_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_rename {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 olddir;\n\tu32 __data_loc_oldname;\n\tu64 newdir;\n\tu32 __data_loc_newname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_sequence_done {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int target_highest_slotid;\n\tlong unsigned int status_flags;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_set_delegation_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_set_lock {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int cmd;\n\tlong unsigned int type;\n\tloff_t start;\n\tloff_t end;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint lockstateid_seq;\n\tu32 lockstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_setup_sequence {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_used_slotid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_sparse_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tloff_t offset;\n\tloff_t len;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_lock_reclaim {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int state_flags;\n\tlong unsigned int lock_flags;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_mgr {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 __data_loc_hostname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_mgr_failed {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int state;\n\tu32 __data_loc_hostname;\n\tu32 __data_loc_section;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_test_stateid_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_trunked_exchange_id {\n\tstruct trace_entry ent;\n\tu32 __data_loc_main_addr;\n\tu32 __data_loc_trunk_addr;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_write_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xattr_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xdr_bad_operation {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 op;\n\tu32 expected;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xdr_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 op;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_access_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tunsigned char type;\n\tu64 fileid;\n\tu64 version;\n\tloff_t size;\n\tlong unsigned int nfsi_flags;\n\tlong unsigned int cache_validity;\n\tunsigned int mask;\n\tunsigned int permitted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_aop_readahead {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tunsigned int nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_aop_readahead_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tint ret;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tunsigned int nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_atomic_open_enter {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_atomic_open_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_commit_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tint error;\n\tlong unsigned int stable;\n\tchar verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_create_enter {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_create_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_direct_req_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t offset;\n\tssize_t count;\n\tssize_t error;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_directory_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_directory_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_fh_to_dentry {\n\tstruct trace_entry ent;\n\tint error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_folio_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_folio_event_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tint ret;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_read {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_write {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tlong unsigned int stable;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tunsigned char type;\n\tu64 fileid;\n\tu64 version;\n\tloff_t size;\n\tlong unsigned int nfsi_flags;\n\tlong unsigned int cache_validity;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_range_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t range_start;\n\tloff_t range_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_link_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_link_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_local_open_fh {\n\tstruct trace_entry ent;\n\tint error;\n\tu32 fhandle;\n\tunsigned int fmode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_lookup_event {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_lookup_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_assign {\n\tstruct trace_entry ent;\n\tu32 __data_loc_option;\n\tu32 __data_loc_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_option {\n\tstruct trace_entry ent;\n\tu32 __data_loc_option;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_path {\n\tstruct trace_entry ent;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_page_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tunsigned int count;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_pgio_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tloff_t pos;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readdir_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tchar verifier[8];\n\tu64 cookie;\n\tlong unsigned int index;\n\tunsigned int dtsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readpage_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tbool eof;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readpage_short {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tbool eof;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_rename_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 old_dir;\n\tu64 new_dir;\n\tu32 __data_loc_old_name;\n\tu32 __data_loc_new_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_rename_event_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 old_dir;\n\tu32 __data_loc_old_name;\n\tu64 new_dir;\n\tu32 __data_loc_new_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_sillyrename_unlink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_update_size_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t cur_size;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_writeback_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tint error;\n\tlong unsigned int stable;\n\tchar verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_xdr_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint version;\n\tlong unsigned int error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nlmclnt_lock_event {\n\tstruct trace_entry ent;\n\tu32 oh;\n\tu32 svid;\n\tu32 fh;\n\tlong unsigned int status;\n\tu64 start;\n\tu64 len;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_non_standard_event {\n\tstruct trace_entry ent;\n\tchar sec_type[16];\n\tchar fru_id[16];\n\tu32 __data_loc_fru_text;\n\tu8 sev;\n\tu32 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_notifier_info {\n\tstruct trace_entry ent;\n\tvoid *cb;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_oom_score_adj_update {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tchar comm[16];\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_optee_invoke_fn_begin {\n\tstruct trace_entry ent;\n\tvoid *param;\n\tu32 args[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_optee_invoke_fn_end {\n\tstruct trace_entry ent;\n\tvoid *param;\n\tlong unsigned int rets[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_release {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\ts32 inflight;\n\tu32 hold;\n\tu32 release;\n\tu64 cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_state_hold {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tlong unsigned int netmem;\n\tu32 hold;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_state_release {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tlong unsigned int netmem;\n\tu32 release;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_update_nid {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tint pool_nid;\n\tint new_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_alloc_percpu {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tbool reserved;\n\tbool is_atomic;\n\tsize_t size;\n\tsize_t align;\n\tvoid *base_addr;\n\tint off;\n\tvoid *ptr;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_alloc_percpu_fail {\n\tstruct trace_entry ent;\n\tbool reserved;\n\tbool is_atomic;\n\tsize_t size;\n\tsize_t align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_create_chunk {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_destroy_chunk {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_free_percpu {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tint off;\n\tvoid *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pm_qos_update {\n\tstruct trace_entry ent;\n\tenum pm_qos_req_action action;\n\tint prev_value;\n\tint curr_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pmap_register {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tint protocol;\n\tunsigned int port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_bl_pr_key_class {\n\tstruct trace_entry ent;\n\tu64 key;\n\tdev_t dev;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_bl_pr_key_err_class {\n\tstruct trace_entry ent;\n\tu64 key;\n\tdev_t dev;\n\tlong unsigned int status;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_layout_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t pos;\n\tu64 count;\n\tenum pnfs_iomode iomode;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tlong int lseg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_update_layout {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t pos;\n\tu64 count;\n\tenum pnfs_iomode iomode;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tlong int lseg;\n\tenum pnfs_update_layout_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_power_domain {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tu64 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_powernv_throttle {\n\tstruct trace_entry ent;\n\tint chip_id;\n\tu32 __data_loc_reason;\n\tint pmax;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pstate_sample {\n\tstruct trace_entry ent;\n\tu32 core_busy;\n\tu32 scaled_busy;\n\tu32 from;\n\tu32 to;\n\tu64 mperf;\n\tu64 aperf;\n\tu64 tsc;\n\tu32 freq;\n\tu32 io_boost;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_purge_vmap_area_lazy {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int npurged;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tu64 period;\n\tu64 duty_cycle;\n\tenum pwm_polarity polarity;\n\tbool enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm_read_waveform {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tvoid *wfhw;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm_round_waveform_fromhw {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tconst void *wfhw;\n\tu64 wf_period_length_ns;\n\tu64 wf_duty_length_ns;\n\tu64 wf_duty_offset_ns;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm_round_waveform_tohw {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tu64 wf_period_length_ns;\n\tu64 wf_duty_length_ns;\n\tu64 wf_duty_offset_ns;\n\tvoid *wfhw;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm_write_waveform {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tconst void *wfhw;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_close {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_close_ack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_intent {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tu32 count;\n\tu32 size;\n\tu32 liid;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_open {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_open_ack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_read_notif {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_rx_done {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tu32 iid;\n\tbool reuse;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_rx_intent_req {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tu32 size;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_rx_intent_req_ack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tbool granted;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_signal {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tu32 signals;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_tx_data {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 __data_loc_channel;\n\tu16 lcid;\n\tu16 rcid;\n\tu32 iid;\n\tu32 chunk_size;\n\tu32 left_size;\n\tbool cont;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_version {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 version;\n\tu32 features;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qcom_glink_cmd_version_ack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_remote;\n\tu32 version;\n\tu32 features;\n\tbool tx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_create {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_dequeue {\n\tstruct trace_entry ent;\n\tstruct Qdisc *qdisc;\n\tconst struct netdev_queue *txq;\n\tint packets;\n\tvoid *skbaddr;\n\tint ifindex;\n\tu32 handle;\n\tu32 parent;\n\tlong unsigned int txq_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_destroy {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tu32 handle;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_enqueue {\n\tstruct trace_entry ent;\n\tstruct Qdisc *qdisc;\n\tconst struct netdev_queue *txq;\n\tvoid *skbaddr;\n\tint ifindex;\n\tu32 handle;\n\tu32 parent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_reset {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tu32 handle;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_barrier {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tconst char *s;\n\tint cpu;\n\tint cnt;\n\tlong unsigned int done;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_batch_end {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tint callbacks_invoked;\n\tchar cb;\n\tchar nr;\n\tchar iit;\n\tchar risk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_batch_start {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int qlen;\n\tlong int blimit;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tvoid *func;\n\tlong int qlen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_exp_funnel_lock {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_exp_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gpseq;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_fqs {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint cpu;\n\tconst char *qsevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_future_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tlong int gp_seq_req;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_grace_period_init {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tlong unsigned int qsmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tvoid *func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_kfree_bulk_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong unsigned int nr_records;\n\tvoid **p;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_kvfree_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tlong unsigned int offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_kvfree_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tlong unsigned int offset;\n\tlong int qlen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_preempt_task {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_quiescent_state_report {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tlong unsigned int mask;\n\tlong unsigned int qsmask;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tu8 gp_tasks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_segcb_stats {\n\tstruct trace_entry ent;\n\tconst char *ctx;\n\tlong unsigned int gp_seq[4];\n\tlong int seglen[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_sr_normal {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tconst char *srevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_stall_warning {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tconst char *msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_torture_read {\n\tstruct trace_entry ent;\n\tchar rcutorturename[8];\n\tstruct callback_head *rhp;\n\tlong unsigned int secs;\n\tlong unsigned int c_old;\n\tlong unsigned int c;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_unlock_preempted_task {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_utilization {\n\tstruct trace_entry ent;\n\tconst char *s;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_watching {\n\tstruct trace_entry ent;\n\tconst char *polarity;\n\tlong int oldnesting;\n\tlong int newnesting;\n\tint counter;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_reclaim_retry_zone {\n\tstruct trace_entry ent;\n\tint node;\n\tint zone_idx;\n\tint order;\n\tlong unsigned int reclaimable;\n\tlong unsigned int available;\n\tlong unsigned int min_wmark;\n\tint no_progress_loops;\n\tbool wmark_check;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regcache_drop_region {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int from;\n\tunsigned int to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regcache_sync {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_status;\n\tu32 __data_loc_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_register_class {\n\tstruct trace_entry ent;\n\tu32 version;\n\tlong unsigned int family;\n\tshort unsigned int protocol;\n\tshort unsigned int port;\n\tint error;\n\tu32 __data_loc_program;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_async {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_block {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tint count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_bool {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint flag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_bulk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tu32 __data_loc_buf;\n\tint val_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_reg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tunsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regulator_basic {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regulator_range {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint min;\n\tint max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regulator_value {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_buf_alloc {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tsize_t callsize;\n\tsize_t recvsize;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_call_rpcerror {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint tk_status;\n\tint rpc_status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_class {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_clone_err {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_new {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tlong unsigned int xprtsec;\n\tlong unsigned int flags;\n\tu32 __data_loc_program;\n\tu32 __data_loc_server;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_new_err {\n\tstruct trace_entry ent;\n\tint error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_server;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_failure {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_reply_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 __data_loc_progname;\n\tu32 version;\n\tu32 __data_loc_procname;\n\tu32 __data_loc_servername;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_request {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tbool async;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_socket_nospace {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int total;\n\tunsigned int remaining;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_stats_latency {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint version;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tlong unsigned int backlog;\n\tlong unsigned int rtt;\n\tlong unsigned int execute;\n\tu32 xprt_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_queued {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tlong unsigned int timeout;\n\tlong unsigned int runstate;\n\tint status;\n\tshort unsigned int flags;\n\tu32 __data_loc_q_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_running {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tconst void *action;\n\tlong unsigned int runstate;\n\tint status;\n\tshort unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_status {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_tls_class {\n\tstruct trace_entry ent;\n\tlong unsigned int requested_policy;\n\tu32 version;\n\tu32 __data_loc_servername;\n\tu32 __data_loc_progname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_alignment {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tsize_t offset;\n\tunsigned int copied;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int len;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_buf_class {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_overflow {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tsize_t requested;\n\tconst void *end;\n\tconst void *p;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int len;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xprt_event {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tint status;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xprt_lifetime_class {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_getport {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int program;\n\tunsigned int version;\n\tint protocol;\n\tunsigned int bind_version;\n\tu32 __data_loc_servername;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_register {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_setport {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint status;\n\tshort unsigned int port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_unregister {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_bad_seqno {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 expected;\n\tu32 received;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_context {\n\tstruct trace_entry ent;\n\tlong unsigned int expiry;\n\tlong unsigned int now;\n\tunsigned int timeout;\n\tu32 window_size;\n\tint len;\n\tu32 __data_loc_acceptor;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_createauth {\n\tstruct trace_entry ent;\n\tunsigned int flavor;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_ctx_class {\n\tstruct trace_entry ent;\n\tconst void *cred;\n\tlong unsigned int service;\n\tu32 __data_loc_principal;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_gssapi_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 maj_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_import_ctx {\n\tstruct trace_entry ent;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_need_reencode {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seq_xmit;\n\tu32 seqno;\n\tbool ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_oid_to_mech {\n\tstruct trace_entry ent;\n\tu32 __data_loc_oid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_seqno {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_accept_upcall {\n\tstruct trace_entry ent;\n\tu32 minor_status;\n\tlong unsigned int major_status;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_authenticate {\n\tstruct trace_entry ent;\n\tu32 seqno;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_gssapi_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 maj_stat;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_bad {\n\tstruct trace_entry ent;\n\tu32 expected;\n\tu32 received;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_low {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 seqno;\n\tu32 min;\n\tu32 max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_unwrap_failed {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_wrap_failed {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_unwrap_failed {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_upcall_msg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_upcall_result {\n\tstruct trace_entry ent;\n\tu32 uid;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_update_slack {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tconst void *auth;\n\tunsigned int rslack;\n\tunsigned int ralign;\n\tunsigned int verfsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_internal {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint flags;\n\tint usage_count;\n\tint disable_depth;\n\tint runtime_auto;\n\tint request_pending;\n\tint irq_safe;\n\tint child_count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_return_int {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int ip;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpmh_send_msg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint m;\n\tu32 state;\n\tint n;\n\tu32 hdr;\n\tu32 addr;\n\tu32 data;\n\tbool wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpmh_tx_done {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint m;\n\tu32 addr;\n\tu32 data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rseq_ip_fixup {\n\tstruct trace_entry ent;\n\tlong unsigned int regs_ip;\n\tlong unsigned int start_ip;\n\tlong unsigned int post_commit_offset;\n\tlong unsigned int abort_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rseq_update {\n\tstruct trace_entry ent;\n\ts32 cpu_id;\n\ts32 node_id;\n\ts32 mm_cid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rss_stat {\n\tstruct trace_entry ent;\n\tunsigned int mm_id;\n\tunsigned int curr;\n\tint member;\n\tlong int size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_alarm_irq_enable {\n\tstruct trace_entry ent;\n\tunsigned int enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_irq_set_freq {\n\tstruct trace_entry ent;\n\tint freq;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_irq_set_state {\n\tstruct trace_entry ent;\n\tint enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_offset_class {\n\tstruct trace_entry ent;\n\tlong int offset;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_time_alarm_class {\n\tstruct trace_entry ent;\n\ttime64_t secs;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_timer_class {\n\tstruct trace_entry ent;\n\tstruct rtc_timer *timer;\n\tktime_t expires;\n\tktime_t period;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_stop {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_stop_ret {\n\tstruct trace_entry ent;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_execute_end {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_execute_start {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_queue_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tvoid *worker;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_migrate_task {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tint orig_cpu;\n\tint dest_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_move_numa {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tpid_t tgid;\n\tpid_t ngid;\n\tint src_cpu;\n\tint src_nid;\n\tint dst_cpu;\n\tint dst_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_numa_pair_template {\n\tstruct trace_entry ent;\n\tpid_t src_pid;\n\tpid_t src_tgid;\n\tpid_t src_ngid;\n\tint src_cpu;\n\tint src_nid;\n\tpid_t dst_pid;\n\tpid_t dst_tgid;\n\tpid_t dst_ngid;\n\tint dst_cpu;\n\tint dst_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_pi_setprio {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint oldprio;\n\tint newprio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_prepare_exec {\n\tstruct trace_entry ent;\n\tu32 __data_loc_interp;\n\tu32 __data_loc_filename;\n\tpid_t pid;\n\tu32 __data_loc_comm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_exec {\n\tstruct trace_entry ent;\n\tu32 __data_loc_filename;\n\tpid_t pid;\n\tpid_t old_pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_fork {\n\tstruct trace_entry ent;\n\tchar parent_comm[16];\n\tpid_t parent_pid;\n\tchar child_comm[16];\n\tpid_t child_pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_wait {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_skip_vma_numa {\n\tstruct trace_entry ent;\n\tlong unsigned int numa_scan_offset;\n\tlong unsigned int vm_start;\n\tlong unsigned int vm_end;\n\tenum numa_vmaskip_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_stat_runtime {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tu64 runtime;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_switch {\n\tstruct trace_entry ent;\n\tchar prev_comm[16];\n\tpid_t prev_pid;\n\tint prev_prio;\n\tlong int prev_state;\n\tchar next_comm[16];\n\tpid_t next_pid;\n\tint next_prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_wake_idle_without_ipi {\n\tstruct trace_entry ent;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_wakeup_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tint target_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scmi_fc_call {\n\tstruct trace_entry ent;\n\tu8 protocol_id;\n\tu8 msg_id;\n\tu32 res_id;\n\tu32 val1;\n\tu32 val2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scmi_msg_dump {\n\tstruct trace_entry ent;\n\tint id;\n\tu8 channel_id;\n\tu8 protocol_id;\n\tu8 msg_id;\n\tchar tag[6];\n\tu16 seq;\n\tint status;\n\tsize_t len;\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scmi_rx_done {\n\tstruct trace_entry ent;\n\tint transfer_id;\n\tu8 msg_id;\n\tu8 protocol_id;\n\tu16 seq;\n\tu8 msg_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scmi_xfer_begin {\n\tstruct trace_entry ent;\n\tint transfer_id;\n\tu8 msg_id;\n\tu8 protocol_id;\n\tu16 seq;\n\tbool poll;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scmi_xfer_end {\n\tstruct trace_entry ent;\n\tint transfer_id;\n\tu8 msg_id;\n\tu8 protocol_id;\n\tu16 seq;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scmi_xfer_response_wait {\n\tstruct trace_entry ent;\n\tint transfer_id;\n\tu8 msg_id;\n\tu8 protocol_id;\n\tu16 seq;\n\tu32 timeout;\n\tbool poll;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_cmd_done_timeout_template {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tint result;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tu8 sense_key;\n\tu8 asc;\n\tu8 ascq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_dispatch_cmd_error {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tint rtn;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_dispatch_cmd_start {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_eh_wakeup {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_signal_deliver {\n\tstruct trace_entry ent;\n\tint sig;\n\tint errno;\n\tint code;\n\tlong unsigned int sa_handler;\n\tlong unsigned int sa_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_signal_generate {\n\tstruct trace_entry ent;\n\tint sig;\n\tint errno;\n\tint code;\n\tchar comm[16];\n\tpid_t pid;\n\tint group;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sk_data_ready {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 family;\n\t__u16 protocol;\n\tlong unsigned int ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_skb_copy_datagram_iovec {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tint len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_skip_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_read {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 flags;\n\t__u16 addr;\n\t__u8 command;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_reply {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 command;\n\t__u8 len;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_result {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 read_write;\n\t__u8 command;\n\t__s16 res;\n\t__u32 protocol;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_write {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 command;\n\t__u8 len;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smp2p_negotiate {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 out_features;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smp2p_notify_in {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_client_name;\n\tlong unsigned int status;\n\tu32 val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smp2p_ssr_ack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smp2p_update_bits {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_client_name;\n\tu32 orig;\n\tu32 val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm {\n\tstruct trace_entry ent;\n\tu32 __data_loc_card_name;\n\tu32 __data_loc_comp_name;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_basic {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint event;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_connected {\n\tstruct trace_entry ent;\n\tint paths;\n\tint stream;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_path {\n\tstruct trace_entry ent;\n\tu32 __data_loc_wname;\n\tu32 __data_loc_pname;\n\tu32 __data_loc_pnname;\n\tint path_node;\n\tint path_connect;\n\tint path_dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_walk_done {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint power_checks;\n\tint path_checks;\n\tint neighbour_checks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_widget {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_jack_irq {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_jack_notify {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_jack_report {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint mask;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_exceed_buf_limit {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int sysctl_mem[3];\n\tlong int allocated;\n\tint sysctl_rmem;\n\tint rmem_alloc;\n\tint sysctl_wmem;\n\tint wmem_alloc;\n\tint wmem_queued;\n\tint kind;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_msg_length {\n\tstruct trace_entry ent;\n\tvoid *sk;\n\t__u16 family;\n\t__u16 protocol;\n\tint ret;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_rcvqueue_full {\n\tstruct trace_entry ent;\n\tint rmem_alloc;\n\tunsigned int truesize;\n\tint sk_rcvbuf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_softirq {\n\tstruct trace_entry ent;\n\tunsigned int vec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_controller {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_message {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_message *msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_message_done {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_message *msg;\n\tunsigned int frame;\n\tunsigned int actual;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_set_cs {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tlong unsigned int mode;\n\tbool enable;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_setup {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tlong unsigned int mode;\n\tunsigned int bits_per_word;\n\tunsigned int max_speed_hz;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_transfer {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_transfer *xfer;\n\tint len;\n\tu32 __data_loc_rx_buf;\n\tu32 __data_loc_tx_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spmi_cmd {\n\tstruct trace_entry ent;\n\tu8 opcode;\n\tu8 sid;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spmi_read_begin {\n\tstruct trace_entry ent;\n\tu8 opcode;\n\tu8 sid;\n\tu16 addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spmi_read_end {\n\tstruct trace_entry ent;\n\tu8 opcode;\n\tu8 sid;\n\tu16 addr;\n\tint ret;\n\tu8 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spmi_write_begin {\n\tstruct trace_entry ent;\n\tu8 opcode;\n\tu8 sid;\n\tu16 addr;\n\tu8 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spmi_write_end {\n\tstruct trace_entry ent;\n\tu8 opcode;\n\tu8 sid;\n\tu16 addr;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_start_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_suspend_resume {\n\tstruct trace_entry ent;\n\tconst char *action;\n\tint val;\n\tbool start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_alloc_arg_err {\n\tstruct trace_entry ent;\n\tunsigned int requested;\n\tunsigned int allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_authenticate {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int svc_status;\n\tlong unsigned int auth_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_deferred_event {\n\tstruct trace_entry ent;\n\tconst void *dr;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_process {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 vers;\n\tu32 proc;\n\tu32 __data_loc_service;\n\tu32 __data_loc_procedure;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_replace_page_err {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tconst void *begin;\n\tconst void *respages;\n\tconst void *nextpage;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_rqst_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_rqst_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tint status;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_stats_latency {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int execute;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_unregister {\n\tstruct trace_entry ent;\n\tu32 version;\n\tint error;\n\tu32 __data_loc_program;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_wake_up {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xdr_buf_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xdr_msg_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_accept {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tu32 __data_loc_protocol;\n\tu32 __data_loc_service;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_create_err {\n\tstruct trace_entry ent;\n\tlong int error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_protocol;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_dequeue {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tlong unsigned int wakeup;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_enqueue {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_accept_class {\n\tstruct trace_entry ent;\n\tlong int status;\n\tu32 __data_loc_service;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_class {\n\tstruct trace_entry ent;\n\tssize_t result;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_lifetime_class {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tconst void *svsk;\n\tconst void *sk;\n\tlong unsigned int type;\n\tlong unsigned int family;\n\tlong unsigned int state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_marker {\n\tstruct trace_entry ent;\n\tunsigned int length;\n\tbool last;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_tcp_recv_short {\n\tstruct trace_entry ent;\n\tu32 expected;\n\tu32 received;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_tcp_state {\n\tstruct trace_entry ent;\n\tlong unsigned int socket_state;\n\tlong unsigned int sock_state;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_swiotlb_bounced {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu64 dma_mask;\n\tdma_addr_t dev_addr;\n\tsize_t size;\n\tbool force;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sys_enter {\n\tstruct trace_entry ent;\n\tlong int id;\n\tlong unsigned int args[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sys_exit {\n\tstruct trace_entry ent;\n\tlong int id;\n\tlong int ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_newtask {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tchar comm[16];\n\tlong unsigned int clone_flags;\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_prctl_unknown {\n\tstruct trace_entry ent;\n\tint option;\n\tlong unsigned int arg2;\n\tlong unsigned int arg3;\n\tlong unsigned int arg4;\n\tlong unsigned int arg5;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_rename {\n\tstruct trace_entry ent;\n\tchar oldcomm[16];\n\tchar newcomm[16];\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tasklet {\n\tstruct trace_entry ent;\n\tvoid *tasklet;\n\tvoid *func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tint l3index;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\tbool fin;\n\tbool syn;\n\tbool rst;\n\tbool psh;\n\tbool ack;\n\t__u8 keyid;\n\t__u8 rnext;\n\t__u8 maclen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event_sk {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 keyid;\n\t__u8 rnext;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event_sne {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u32 new_sne;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_cong_state_set {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\t__u8 cong_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_sk {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\t__u64 sock_cookie;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_sk_skb {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_skb {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_hash_event {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tint l3index;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\tbool fin;\n\tbool syn;\n\tbool rst;\n\tbool psh;\n\tbool ack;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_probe {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u32 mark;\n\t__u16 data_len;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 snd_cwnd;\n\t__u32 ssthresh;\n\t__u32 snd_wnd;\n\t__u32 srtt;\n\t__u32 rcv_wnd;\n\t__u64 sock_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_retransmit_synack {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\tconst void *req;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_send_reset {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\tenum sk_rst_reason reason;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tegra_dma_complete_cb {\n\tstruct trace_entry ent;\n\tu32 __data_loc_chan;\n\tint count;\n\tvoid *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tegra_dma_isr {\n\tstruct trace_entry ent;\n\tu32 __data_loc_chan;\n\tint irq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tegra_dma_tx_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_chan;\n\tdma_cookie_t cookie;\n\t__u32 residue;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_test_pages_isolated {\n\tstruct trace_entry ent;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tlong unsigned int fin_pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_actor {\n\tstruct trace_entry ent;\n\tint tz_id;\n\tint actor_id;\n\tu32 req_power;\n\tu32 granted_power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_allocator {\n\tstruct trace_entry ent;\n\tint tz_id;\n\tu32 total_req_power;\n\tu32 total_granted_power;\n\tsize_t num_actors;\n\tu32 power_range;\n\tu32 max_allocatable_power;\n\tint current_temp;\n\ts32 delta_temp;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_allocator_pid {\n\tstruct trace_entry ent;\n\tint tz_id;\n\ts32 err;\n\ts32 err_integral;\n\ts64 p;\n\ts64 i;\n\ts64 d;\n\ts32 output;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_cpu_get_power_simple {\n\tstruct trace_entry ent;\n\tint cpu;\n\tu32 power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_cpu_limit {\n\tstruct trace_entry ent;\n\tu32 __data_loc_cpumask;\n\tunsigned int freq;\n\tlong unsigned int cdev_state;\n\tu32 power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_devfreq_get_power {\n\tstruct trace_entry ent;\n\tu32 __data_loc_type;\n\tlong unsigned int freq;\n\tu32 busy_time;\n\tu32 total_time;\n\tu32 power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_devfreq_limit {\n\tstruct trace_entry ent;\n\tu32 __data_loc_type;\n\tunsigned int freq;\n\tlong unsigned int cdev_state;\n\tu32 power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_temperature {\n\tstruct trace_entry ent;\n\tu32 __data_loc_thermal_zone;\n\tint id;\n\tint temp_prev;\n\tint temp;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_zone_trip {\n\tstruct trace_entry ent;\n\tu32 __data_loc_thermal_zone;\n\tint id;\n\tint trip;\n\tenum thermal_trip_type trip_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tick_stop {\n\tstruct trace_entry ent;\n\tint success;\n\tint dependency;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_base_idle {\n\tstruct trace_entry ent;\n\tbool is_idle;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_class {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_expire_entry {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tlong unsigned int now;\n\tvoid *function;\n\tlong unsigned int baseclk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_start {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tvoid *function;\n\tlong unsigned int expires;\n\tlong unsigned int bucket_expiry;\n\tlong unsigned int now;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tlb_flush {\n\tstruct trace_entry ent;\n\tint reason;\n\tlong unsigned int pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tls_contenttype {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tunsigned int netns_ino;\n\tlong unsigned int type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_connect_child_parent {\n\tstruct trace_entry ent;\n\tvoid *child;\n\tvoid *parent;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tunsigned int num_children;\n\tu32 groupmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_connect_cpu_parent {\n\tstruct trace_entry ent;\n\tvoid *parent;\n\tunsigned int cpu;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tunsigned int num_children;\n\tu32 groupmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_cpugroup {\n\tstruct trace_entry ent;\n\tu64 wakeup;\n\tvoid *parent;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_group_and_cpu {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tvoid *parent;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tu32 childmask;\n\tu8 active;\n\tu8 migrator;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_group_set {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_handle_remote {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tunsigned int lvl;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_idle {\n\tstruct trace_entry ent;\n\tu64 nextevt;\n\tu64 wakeup;\n\tvoid *parent;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_update_events {\n\tstruct trace_entry ent;\n\tvoid *child;\n\tvoid *group;\n\tu64 nextevt;\n\tu64 group_next_expiry;\n\tu64 child_evt_expiry;\n\tunsigned int group_lvl;\n\tunsigned int child_evtcpu;\n\tu8 child_active;\n\tu8 group_active;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_track_foreign_dirty {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tu64 bdi_id;\n\tino_t ino;\n\tunsigned int memcg_id;\n\tino_t cgroup_ino;\n\tino_t page_cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udc_log_ep {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int maxpacket;\n\tunsigned int maxpacket_limit;\n\tunsigned int max_streams;\n\tunsigned int mult;\n\tunsigned int maxburst;\n\tu8 address;\n\tbool claimed;\n\tbool enabled;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udc_log_gadget {\n\tstruct trace_entry ent;\n\tenum usb_device_speed speed;\n\tenum usb_device_speed max_speed;\n\tenum usb_device_state state;\n\tunsigned int mA;\n\tunsigned int sg_supported;\n\tunsigned int is_otg;\n\tunsigned int is_a_peripheral;\n\tunsigned int b_hnp_enable;\n\tunsigned int a_hnp_support;\n\tunsigned int hnp_polling_support;\n\tunsigned int host_request_flag;\n\tunsigned int quirk_ep_out_aligned_size;\n\tunsigned int quirk_altset_not_supp;\n\tunsigned int quirk_stall_not_supp;\n\tunsigned int quirk_zlp_not_supp;\n\tunsigned int is_selfpowered;\n\tunsigned int deactivated;\n\tunsigned int connected;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udc_log_req {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int length;\n\tunsigned int actual;\n\tunsigned int num_sgs;\n\tunsigned int num_mapped_sgs;\n\tunsigned int stream_id;\n\tunsigned int no_interrupt;\n\tunsigned int zero;\n\tunsigned int short_not_ok;\n\tint status;\n\tint ret;\n\tstruct usb_request *req;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udp_fail_queue_rcv_skb {\n\tstruct trace_entry ent;\n\tint rc;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_auto_bkops_state {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_clk_gating {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tint state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_clk_scaling {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_state;\n\tu32 __data_loc_clk;\n\tu32 prev_state;\n\tu32 curr_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_command {\n\tstruct trace_entry ent;\n\tstruct scsi_device *sdev;\n\tenum ufs_trace_str_t str_t;\n\tunsigned int tag;\n\tu32 doorbell;\n\tu32 hwq_id;\n\tu32 intr;\n\tu64 lba;\n\tint transfer_len;\n\tu8 opcode;\n\tu8 group_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_exception_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu16 status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_profiling_template {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_profile_info;\n\ts64 time_us;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_template {\n\tstruct trace_entry ent;\n\ts64 usecs;\n\tint err;\n\tu32 __data_loc_dev_name;\n\tint dev_state;\n\tint link_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_uic_command {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tenum ufs_trace_str_t str_t;\n\tu32 cmd;\n\tu32 arg1;\n\tu32 arg2;\n\tu32 arg3;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ufshcd_upiu {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tenum ufs_trace_str_t str_t;\n\tunsigned char hdr[12];\n\tunsigned char tsf[16];\n\tenum ufs_trace_tsf_t tsf_t;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_unmap {\n\tstruct trace_entry ent;\n\tu64 iova;\n\tsize_t size;\n\tsize_t unmapped_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vgic_update_irq_pending {\n\tstruct trace_entry ent;\n\tlong unsigned int vcpu_id;\n\t__u32 irq;\n\tbool level;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vm_unmapped_area {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int total_vm;\n\tlong unsigned int flags;\n\tlong unsigned int length;\n\tlong unsigned int low_limit;\n\tlong unsigned int high_limit;\n\tlong unsigned int align_mask;\n\tlong unsigned int align_offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vma_mas_szero {\n\tstruct trace_entry ent;\n\tstruct maple_tree *mt;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vma_store {\n\tstruct trace_entry ent;\n\tstruct maple_tree *mt;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int vm_start;\n\tlong unsigned int vm_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wake_reaper {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wakeup_source {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_watchdog_set_timeout {\n\tstruct trace_entry ent;\n\tint id;\n\tunsigned int timeout;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_watchdog_template {\n\tstruct trace_entry ent;\n\tint id;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wbc_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tint sync_mode;\n\tint for_kupdate;\n\tint for_background;\n\tint for_reclaim;\n\tint range_cyclic;\n\tlong int range_start;\n\tlong int range_end;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_activate_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_execute_end {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_execute_start {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_queue_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tu32 __data_loc_workqueue;\n\tint req_cpu;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_bdi_register {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_dirty_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_folio_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_inode_template {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int state;\n\t__u16 mode;\n\tlong unsigned int dirtied_when;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_pages_written {\n\tstruct trace_entry ent;\n\tlong int pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_queue_io {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong unsigned int older;\n\tlong int age;\n\tint moved;\n\tint reason;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_sb_inodes_requeue {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int dirtied_when;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_single_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int dirtied_when;\n\tlong unsigned int writeback_index;\n\tlong int nr_to_write;\n\tlong unsigned int wrote;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_work_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int nr_pages;\n\tdev_t sb_dev;\n\tint sync_mode;\n\tint for_kupdate;\n\tint range_cyclic;\n\tint for_background;\n\tint reason;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_write_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tint sync_mode;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_bulk_tx {\n\tstruct trace_entry ent;\n\tint ifindex;\n\tu32 act;\n\tint drops;\n\tint sent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_cpumap_enqueue {\n\tstruct trace_entry ent;\n\tint map_id;\n\tu32 act;\n\tint cpu;\n\tunsigned int drops;\n\tunsigned int processed;\n\tint to_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_cpumap_kthread {\n\tstruct trace_entry ent;\n\tint map_id;\n\tu32 act;\n\tint cpu;\n\tunsigned int drops;\n\tunsigned int processed;\n\tint sched;\n\tunsigned int xdp_pass;\n\tunsigned int xdp_drop;\n\tunsigned int xdp_redirect;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_devmap_xmit {\n\tstruct trace_entry ent;\n\tint from_ifindex;\n\tu32 act;\n\tint to_ifindex;\n\tint drops;\n\tint sent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_exception {\n\tstruct trace_entry ent;\n\tint prog_id;\n\tu32 act;\n\tint ifindex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_redirect_template {\n\tstruct trace_entry ent;\n\tint prog_id;\n\tu32 act;\n\tint ifindex;\n\tint err;\n\tint to_ifindex;\n\tu32 map_id;\n\tint map_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_dbc_log_request {\n\tstruct trace_entry ent;\n\tstruct dbc_request *req;\n\tbool dir;\n\tunsigned int actual;\n\tunsigned int length;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ctrl_ctx {\n\tstruct trace_entry ent;\n\tu32 drop;\n\tu32 add;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ctx {\n\tstruct trace_entry ent;\n\tint ctx_64;\n\tunsigned int ctx_type;\n\tdma_addr_t ctx_dma;\n\tu8 *ctx_va;\n\tunsigned int ctx_ep_num;\n\tu32 __data_loc_ctx_data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_doorbell {\n\tstruct trace_entry ent;\n\tu32 slot;\n\tu32 doorbell;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ep_ctx {\n\tstruct trace_entry ent;\n\tu32 info;\n\tu32 info2;\n\tu64 deq;\n\tu32 tx_info;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_free_virt_dev {\n\tstruct trace_entry ent;\n\tvoid *vdev;\n\tlong long unsigned int out_ctx;\n\tlong long unsigned int in_ctx;\n\tint slot_id;\n\tu16 current_mel;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_msg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_portsc {\n\tstruct trace_entry ent;\n\tu32 busnum;\n\tu32 portnum;\n\tu32 portsc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ring {\n\tstruct trace_entry ent;\n\tu32 type;\n\tvoid *ring;\n\tdma_addr_t enq;\n\tdma_addr_t deq;\n\tunsigned int num_segs;\n\tunsigned int stream_id;\n\tunsigned int cycle_state;\n\tunsigned int bounce_buf_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_slot_ctx {\n\tstruct trace_entry ent;\n\tu32 info;\n\tu32 info2;\n\tu32 tt_info;\n\tu32 state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_stream_ctx {\n\tstruct trace_entry ent;\n\tunsigned int stream_id;\n\tu64 stream_ring;\n\tdma_addr_t ctx_array_dma;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_trb {\n\tstruct trace_entry ent;\n\tdma_addr_t dma;\n\tu32 type;\n\tu32 field0;\n\tu32 field1;\n\tu32 field2;\n\tu32 field3;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_urb {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tvoid *urb;\n\tunsigned int pipe;\n\tunsigned int stream;\n\tint status;\n\tunsigned int flags;\n\tint num_mapped_sgs;\n\tint num_sgs;\n\tint length;\n\tint actual;\n\tint epnum;\n\tint dir_in;\n\tint type;\n\tint slot_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_virt_dev {\n\tstruct trace_entry ent;\n\tvoid *vdev;\n\tlong long unsigned int out_ctx;\n\tlong long unsigned int in_ctx;\n\tint devnum;\n\tint state;\n\tint speed;\n\tu8 portnum;\n\tu8 level;\n\tint slot_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_cong_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int snd_task_id;\n\tlong unsigned int cong;\n\tlong unsigned int cwnd;\n\tbool wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_ping {\n\tstruct trace_entry ent;\n\tint status;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_reserve {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_retransmit {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint ntrans;\n\tint version;\n\tlong unsigned int timeout;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_transmit {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seqno;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_writelock_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int snd_task_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_data_ready {\n\tstruct trace_entry ent;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_socket_event {\n\tstruct trace_entry ent;\n\tunsigned int socket_state;\n\tunsigned int sock_state;\n\tlong long unsigned int ino;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_socket_event_done {\n\tstruct trace_entry ent;\n\tint error;\n\tunsigned int socket_state;\n\tunsigned int sock_state;\n\tlong long unsigned int ino;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_stream_read_data {\n\tstruct trace_entry ent;\n\tssize_t err;\n\tsize_t total;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_stream_read_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tu32 xid;\n\tlong unsigned int copied;\n\tunsigned int reclen;\n\tunsigned int offset;\n\tchar __data[0];\n};\n\nstruct trace_export {\n\tstruct trace_export *next;\n\tvoid (*write)(struct trace_export *, const void *, unsigned int);\n\tint flags;\n};\n\nstruct trace_func_repeats {\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tlong unsigned int count;\n\tu64 ts_last_call;\n};\n\nstruct trace_mark {\n\tlong long unsigned int val;\n\tchar sym;\n};\n\nstruct trace_min_max_param {\n\tstruct mutex *lock;\n\tu64 *val;\n\tu64 *min;\n\tu64 *max;\n};\n\nstruct tracer_opt;\n\nstruct tracer_flags;\n\nstruct trace_option_dentry {\n\tstruct tracer_opt *opt;\n\tstruct tracer_flags *flags;\n\tstruct trace_array *tr;\n\tstruct dentry *entry;\n};\n\nstruct trace_options {\n\tstruct tracer *tracer;\n\tstruct trace_option_dentry *topts;\n};\n\nstruct trace_parser {\n\tbool cont;\n\tchar *buffer;\n\tunsigned int idx;\n\tunsigned int size;\n};\n\nunion upper_chunk;\n\nstruct trace_pid_list {\n\traw_spinlock_t lock;\n\tstruct irq_work refill_irqwork;\n\tunion upper_chunk *upper[256];\n\tunion upper_chunk *upper_list;\n\tunion lower_chunk *lower_list;\n\tint free_upper_chunks;\n\tint free_lower_chunks;\n};\n\nstruct trace_print_flags {\n\tlong unsigned int mask;\n\tconst char *name;\n};\n\nstruct trace_uprobe_filter {\n\trwlock_t rwlock;\n\tint nr_systemwide;\n\tstruct list_head perf_events;\n};\n\nstruct trace_probe_event {\n\tunsigned int flags;\n\tstruct trace_event_class class;\n\tstruct trace_event_call call;\n\tstruct list_head files;\n\tstruct list_head probes;\n\tstruct trace_uprobe_filter filter[0];\n};\n\nstruct trace_probe_log {\n\tconst char *subsystem;\n\tconst char **argv;\n\tint argc;\n\tint index;\n};\n\nstruct trace_subsystem_dir {\n\tstruct list_head list;\n\tstruct event_subsystem *subsystem;\n\tstruct trace_array *tr;\n\tstruct eventfs_inode *ei;\n\tint ref_count;\n\tint nr_events;\n};\n\nstruct trace_uprobe {\n\tstruct dyn_event devent;\n\tstruct uprobe_consumer consumer;\n\tstruct path path;\n\tchar *filename;\n\tstruct uprobe *uprobe;\n\tlong unsigned int offset;\n\tlong unsigned int ref_ctr_offset;\n\tlong unsigned int *nhits;\n\tstruct trace_probe tp;\n};\n\nstruct tracefs_dir_ops {\n\tint (*mkdir)(const char *);\n\tint (*rmdir)(const char *);\n};\n\nstruct tracefs_fs_info {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tunsigned int opts;\n};\n\nstruct tracefs_inode {\n\tstruct inode vfs_inode;\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tvoid *private;\n};\n\nstruct tracepoint_ext;\n\nstruct tracepoint {\n\tconst char *name;\n\tstruct static_key_false key;\n\tstruct static_call_key *static_call_key;\n\tvoid *static_call_tramp;\n\tvoid *iterator;\n\tvoid *probestub;\n\tstruct tracepoint_func *funcs;\n\tstruct tracepoint_ext *ext;\n};\n\nstruct tracepoint_ext {\n\tint (*regfunc)(void);\n\tvoid (*unregfunc)(void);\n\tunsigned int faultable: 1;\n};\n\nstruct traceprobe_parse_context {\n\tstruct trace_event_call *event;\n\tconst char *funcname;\n\tconst struct btf_type *proto;\n\tconst struct btf_param *params;\n\ts32 nr_params;\n\tstruct btf *btf;\n\tconst struct btf_type *last_type;\n\tu32 last_bitoffs;\n\tu32 last_bitsize;\n\tstruct trace_probe *tp;\n\tunsigned int flags;\n\tint offset;\n};\n\nstruct tracer {\n\tconst char *name;\n\tint (*init)(struct trace_array *);\n\tvoid (*reset)(struct trace_array *);\n\tvoid (*start)(struct trace_array *);\n\tvoid (*stop)(struct trace_array *);\n\tint (*update_thresh)(struct trace_array *);\n\tvoid (*open)(struct trace_iterator *);\n\tvoid (*pipe_open)(struct trace_iterator *);\n\tvoid (*close)(struct trace_iterator *);\n\tvoid (*pipe_close)(struct trace_iterator *);\n\tssize_t (*read)(struct trace_iterator *, struct file *, char *, size_t, loff_t *);\n\tssize_t (*splice_read)(struct trace_iterator *, struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*print_header)(struct seq_file *);\n\tenum print_line_t (*print_line)(struct trace_iterator *);\n\tint (*set_flag)(struct trace_array *, u32, u32, int);\n\tint (*flag_changed)(struct trace_array *, u32, int);\n\tstruct tracer *next;\n\tstruct tracer_flags *flags;\n\tint enabled;\n\tbool print_max;\n\tbool allow_instances;\n\tbool noboot;\n};\n\nstruct tracer_flags {\n\tu32 val;\n\tstruct tracer_opt *opts;\n\tstruct tracer *trace;\n};\n\nstruct tracer_opt {\n\tconst char *name;\n\tu32 bit;\n};\n\ntypedef int (*cmp_func_t)(const void *, const void *);\n\nstruct tracer_stat {\n\tconst char *name;\n\tvoid * (*stat_start)(struct tracer_stat *);\n\tvoid * (*stat_next)(void *, int);\n\tcmp_func_t stat_cmp;\n\tint (*stat_show)(struct seq_file *, void *);\n\tvoid (*stat_release)(void *);\n\tint (*stat_headers)(struct seq_file *);\n};\n\nstruct tracing_log_err {\n\tstruct list_head list;\n\tstruct err_info info;\n\tchar loc[128];\n\tchar *cmd;\n};\n\nstruct track {\n\tlong unsigned int addr;\n\tdepot_stack_handle_t handle;\n\tint cpu;\n\tint pid;\n\tlong unsigned int when;\n};\n\nstruct trackpoint_attr_data {\n\tsize_t field_offset;\n\tu8 command;\n\tu8 mask;\n\tbool inverted;\n\tu8 power_on_default;\n};\n\nstruct trackpoint_data {\n\tu8 variant_id;\n\tu8 firmware_id;\n\tu8 sensitivity;\n\tu8 speed;\n\tu8 inertia;\n\tu8 reach;\n\tu8 draghys;\n\tu8 mindrag;\n\tu8 thresh;\n\tu8 upthresh;\n\tu8 ztime;\n\tu8 jenks;\n\tu8 drift_time;\n\tbool press_to_select;\n\tbool skipback;\n\tbool ext_dev;\n};\n\nstruct trans_pgd_info {\n\tvoid * (*trans_alloc_page)(void *);\n\tvoid *trans_alloc_arg;\n};\n\nstruct transaction_chp_stats_s {\n\tlong unsigned int cs_chp_time;\n\t__u32 cs_forced_to_close;\n\t__u32 cs_written;\n\t__u32 cs_dropped;\n};\n\nstruct transaction_s {\n\tjournal_t *t_journal;\n\ttid_t t_tid;\n\tenum {\n\t\tT_RUNNING = 0,\n\t\tT_LOCKED = 1,\n\t\tT_SWITCH = 2,\n\t\tT_FLUSH = 3,\n\t\tT_COMMIT = 4,\n\t\tT_COMMIT_DFLUSH = 5,\n\t\tT_COMMIT_JFLUSH = 6,\n\t\tT_COMMIT_CALLBACK = 7,\n\t\tT_FINISHED = 8,\n\t} t_state;\n\tlong unsigned int t_log_start;\n\tint t_nr_buffers;\n\tstruct journal_head *t_reserved_list;\n\tstruct journal_head *t_buffers;\n\tstruct journal_head *t_forget;\n\tstruct journal_head *t_checkpoint_list;\n\tstruct journal_head *t_shadow_list;\n\tstruct list_head t_inode_list;\n\tlong unsigned int t_max_wait;\n\tlong unsigned int t_start;\n\tlong unsigned int t_requested;\n\tstruct transaction_chp_stats_s t_chp_stats;\n\tatomic_t t_updates;\n\tatomic_t t_outstanding_credits;\n\tatomic_t t_outstanding_revokes;\n\tatomic_t t_handle_count;\n\ttransaction_t *t_cpnext;\n\ttransaction_t *t_cpprev;\n\tlong unsigned int t_expires;\n\tktime_t t_start_time;\n\tunsigned int t_synchronous_commit: 1;\n\tint t_need_data_flush;\n\tstruct list_head t_private_list;\n};\n\nstruct trap_bits {\n\tconst enum vcpu_sysreg index;\n\tconst enum trap_behaviour behaviour;\n\tconst u64 value;\n\tconst u64 mask;\n};\n\nstruct trc_stall_chk_rdr {\n\tint nesting;\n\tint ipi_to_cpu;\n\tu8 needqs;\n};\n\ntypedef struct tree_desc_s tree_desc;\n\nstruct tree_descr {\n\tconst char *name;\n\tconst struct file_operations *ops;\n\tint mode;\n};\n\nstruct trie {\n\tstruct key_vector kv[1];\n};\n\nstruct trie_stat {\n\tunsigned int totdepth;\n\tunsigned int maxdepth;\n\tunsigned int tnodes;\n\tunsigned int leaves;\n\tunsigned int nullpointers;\n\tunsigned int prefixes;\n\tunsigned int nodesizes[32];\n};\n\nstruct uniphier_tm_dev;\n\nstruct trip_walk_data {\n\tstruct uniphier_tm_dev *tdev;\n\tint crit_temp;\n\tint index;\n};\n\nstruct ts_ops;\n\nstruct ts_state;\n\nstruct ts_config {\n\tstruct ts_ops *ops;\n\tint flags;\n\tunsigned int (*get_next_block)(unsigned int, const u8 **, struct ts_config *, struct ts_state *);\n\tvoid (*finish)(struct ts_config *, struct ts_state *);\n};\n\nstruct ts_ops {\n\tconst char *name;\n\tstruct ts_config * (*init)(const void *, unsigned int, gfp_t, int);\n\tunsigned int (*find)(struct ts_config *, struct ts_state *);\n\tvoid (*destroy)(struct ts_config *);\n\tvoid * (*get_pattern)(struct ts_config *);\n\tunsigned int (*get_pattern_len)(struct ts_config *);\n\tstruct module *owner;\n\tstruct list_head list;\n};\n\nstruct ts_state {\n\tunsigned int offset;\n\tchar cb[48];\n};\n\nstruct tsconfig_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct hwtstamp_provider_desc hwprov_desc;\n\tstruct {\n\t\tu32 tx_type;\n\t\tu32 rx_filter;\n\t\tu32 flags;\n\t} hwtst_config;\n};\n\nstruct tsconfig_req_info {\n\tstruct ethnl_req_info base;\n};\n\nstruct tsens_context {\n\tint threshold;\n\tint control;\n};\n\nstruct tsens_features {\n\tunsigned int ver_major;\n\tunsigned int crit_int: 1;\n\tunsigned int combo_int: 1;\n\tunsigned int adc: 1;\n\tunsigned int srot_split: 1;\n\tunsigned int has_watchdog: 1;\n\tunsigned int max_sensors;\n\tint trip_min_temp;\n\tint trip_max_temp;\n};\n\nstruct tsens_irq_data {\n\tu32 up_viol;\n\tint up_thresh;\n\tu32 up_irq_mask;\n\tu32 up_irq_clear;\n\tu32 low_viol;\n\tint low_thresh;\n\tu32 low_irq_mask;\n\tu32 low_irq_clear;\n\tu32 crit_viol;\n\tu32 crit_thresh;\n\tu32 crit_irq_mask;\n\tu32 crit_irq_clear;\n};\n\nstruct tsens_single_value {\n\tu8 idx;\n\tu8 shift;\n\tu8 blob;\n};\n\nstruct tsens_legacy_calibration_format {\n\tunsigned int base_len;\n\tunsigned int base_shift;\n\tunsigned int sp_len;\n\tstruct tsens_single_value mode;\n\tstruct tsens_single_value invalid;\n\tstruct tsens_single_value base[2];\n\tstruct tsens_single_value sp[0];\n};\n\nstruct tsens_priv;\n\nstruct tsens_sensor;\n\nstruct tsens_ops {\n\tint (*init)(struct tsens_priv *);\n\tint (*calibrate)(struct tsens_priv *);\n\tint (*get_temp)(const struct tsens_sensor *, int *);\n\tint (*enable)(struct tsens_priv *, int);\n\tvoid (*disable)(struct tsens_priv *);\n\tint (*suspend)(struct tsens_priv *);\n\tint (*resume)(struct tsens_priv *);\n};\n\nstruct tsens_plat_data {\n\tconst u32 num_sensors;\n\tconst struct tsens_ops *ops;\n\tunsigned int *hw_ids;\n\tstruct tsens_features *feat;\n\tconst struct reg_field *fields;\n};\n\nstruct tsens_sensor {\n\tstruct tsens_priv *priv;\n\tstruct thermal_zone_device *tzd;\n\tint offset;\n\tunsigned int hw_id;\n\tint slope;\n\tu32 status;\n\tint p1_calib_offset;\n\tint p2_calib_offset;\n};\n\nstruct tsens_priv {\n\tstruct device *dev;\n\tu32 num_sensors;\n\tstruct regmap *tm_map;\n\tstruct regmap *srot_map;\n\tu32 tm_offset;\n\tspinlock_t ul_lock;\n\tstruct regmap_field *rf[320];\n\tstruct tsens_context ctx;\n\tstruct tsens_features *feat;\n\tconst struct reg_field *fields;\n\tconst struct tsens_ops *ops;\n\tstruct dentry *debug_root;\n\tstruct dentry *debug;\n\tstruct tsens_sensor sensor[0];\n};\n\nstruct tsinfo_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct kernel_ethtool_ts_info ts_info;\n\tstruct ethtool_ts_stats stats;\n};\n\nstruct tsinfo_req_info {\n\tstruct ethnl_req_info base;\n\tstruct hwtstamp_provider_desc hwprov_desc;\n};\n\nstruct tso_t {\n\tint next_frag_idx;\n\tint size;\n\tvoid *data;\n\tu16 ip_id;\n\tu8 tlen;\n\tbool ipv6;\n\tu32 tcp_seq;\n};\n\nstruct tsq_tasklet {\n\tstruct tasklet_struct tasklet;\n\tstruct list_head head;\n};\n\nstruct tty_audit_buf {\n\tstruct mutex mutex;\n\tdev_t dev;\n\tbool icanon;\n\tsize_t valid;\n\tu8 *data;\n};\n\nstruct tty_operations;\n\nstruct tty_driver {\n\tstruct kref kref;\n\tstruct cdev **cdevs;\n\tstruct module *owner;\n\tconst char *driver_name;\n\tconst char *name;\n\tint name_base;\n\tint major;\n\tint minor_start;\n\tunsigned int num;\n\tshort int type;\n\tshort int subtype;\n\tstruct ktermios init_termios;\n\tlong unsigned int flags;\n\tstruct proc_dir_entry *proc_entry;\n\tstruct tty_driver *other;\n\tstruct tty_struct **ttys;\n\tstruct tty_port **ports;\n\tstruct ktermios **termios;\n\tvoid *driver_state;\n\tconst struct tty_operations *ops;\n\tstruct list_head tty_drivers;\n};\n\nstruct tty_file_private {\n\tstruct tty_struct *tty;\n\tstruct file *file;\n\tstruct list_head list;\n};\n\nstruct tty_ldisc_ops;\n\nstruct tty_ldisc {\n\tstruct tty_ldisc_ops *ops;\n\tstruct tty_struct *tty;\n};\n\nstruct tty_ldisc_ops {\n\tchar *name;\n\tint num;\n\tint (*open)(struct tty_struct *);\n\tvoid (*close)(struct tty_struct *);\n\tvoid (*flush_buffer)(struct tty_struct *);\n\tssize_t (*read)(struct tty_struct *, struct file *, u8 *, size_t, void **, long unsigned int);\n\tssize_t (*write)(struct tty_struct *, struct file *, const u8 *, size_t);\n\tint (*ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tvoid (*set_termios)(struct tty_struct *, const struct ktermios *);\n\t__poll_t (*poll)(struct tty_struct *, struct file *, struct poll_table_struct *);\n\tvoid (*hangup)(struct tty_struct *);\n\tvoid (*receive_buf)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct tty_struct *);\n\tvoid (*dcd_change)(struct tty_struct *, bool);\n\tsize_t (*receive_buf2)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tvoid (*lookahead_buf)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tstruct module *owner;\n};\n\nstruct tty_operations {\n\tstruct tty_struct * (*lookup)(struct tty_driver *, struct file *, int);\n\tint (*install)(struct tty_driver *, struct tty_struct *);\n\tvoid (*remove)(struct tty_driver *, struct tty_struct *);\n\tint (*open)(struct tty_struct *, struct file *);\n\tvoid (*close)(struct tty_struct *, struct file *);\n\tvoid (*shutdown)(struct tty_struct *);\n\tvoid (*cleanup)(struct tty_struct *);\n\tssize_t (*write)(struct tty_struct *, const u8 *, size_t);\n\tint (*put_char)(struct tty_struct *, u8);\n\tvoid (*flush_chars)(struct tty_struct *);\n\tunsigned int (*write_room)(struct tty_struct *);\n\tunsigned int (*chars_in_buffer)(struct tty_struct *);\n\tint (*ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tlong int (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tvoid (*set_termios)(struct tty_struct *, const struct ktermios *);\n\tvoid (*throttle)(struct tty_struct *);\n\tvoid (*unthrottle)(struct tty_struct *);\n\tvoid (*stop)(struct tty_struct *);\n\tvoid (*start)(struct tty_struct *);\n\tvoid (*hangup)(struct tty_struct *);\n\tint (*break_ctl)(struct tty_struct *, int);\n\tvoid (*flush_buffer)(struct tty_struct *);\n\tint (*ldisc_ok)(struct tty_struct *, int);\n\tvoid (*set_ldisc)(struct tty_struct *);\n\tvoid (*wait_until_sent)(struct tty_struct *, int);\n\tvoid (*send_xchar)(struct tty_struct *, u8);\n\tint (*tiocmget)(struct tty_struct *);\n\tint (*tiocmset)(struct tty_struct *, unsigned int, unsigned int);\n\tint (*resize)(struct tty_struct *, struct winsize *);\n\tint (*get_icount)(struct tty_struct *, struct serial_icounter_struct *);\n\tint (*get_serial)(struct tty_struct *, struct serial_struct *);\n\tint (*set_serial)(struct tty_struct *, struct serial_struct *);\n\tvoid (*show_fdinfo)(struct tty_struct *, struct seq_file *);\n\tint (*proc_show)(struct seq_file *, void *);\n};\n\nstruct tty_port_client_operations {\n\tsize_t (*receive_buf)(struct tty_port *, const u8 *, const u8 *, size_t);\n\tvoid (*lookahead_buf)(struct tty_port *, const u8 *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct tty_port *);\n};\n\nstruct tty_port_operations {\n\tbool (*carrier_raised)(struct tty_port *);\n\tvoid (*dtr_rts)(struct tty_port *, bool);\n\tvoid (*shutdown)(struct tty_port *);\n\tint (*activate)(struct tty_port *, struct tty_struct *);\n\tvoid (*destruct)(struct tty_port *);\n};\n\nstruct tty_struct {\n\tstruct kref kref;\n\tint index;\n\tstruct device *dev;\n\tstruct tty_driver *driver;\n\tstruct tty_port *port;\n\tconst struct tty_operations *ops;\n\tstruct tty_ldisc *ldisc;\n\tstruct ld_semaphore ldisc_sem;\n\tstruct mutex atomic_write_lock;\n\tstruct mutex legacy_mutex;\n\tstruct mutex throttle_mutex;\n\tstruct rw_semaphore termios_rwsem;\n\tstruct mutex winsize_mutex;\n\tstruct ktermios termios;\n\tstruct ktermios termios_locked;\n\tchar name[64];\n\tlong unsigned int flags;\n\tint count;\n\tunsigned int receive_room;\n\tstruct winsize winsize;\n\tstruct {\n\t\tspinlock_t lock;\n\t\tbool stopped;\n\t\tbool tco_stopped;\n\t} flow;\n\tstruct {\n\t\tstruct pid *pgrp;\n\t\tstruct pid *session;\n\t\tspinlock_t lock;\n\t\tunsigned char pktstatus;\n\t\tbool packet;\n\t} ctrl;\n\tbool hw_stopped;\n\tbool closing;\n\tint flow_change;\n\tstruct tty_struct *link;\n\tstruct fasync_struct *fasync;\n\twait_queue_head_t write_wait;\n\twait_queue_head_t read_wait;\n\tstruct work_struct hangup_work;\n\tvoid *disc_data;\n\tvoid *driver_data;\n\tspinlock_t files_lock;\n\tint write_cnt;\n\tu8 *write_buf;\n\tstruct list_head tty_files;\n\tstruct work_struct SAK_work;\n};\n\nstruct tun_struct;\n\nstruct tun_file {\n\tstruct sock sk;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct socket socket;\n\tstruct tun_struct *tun;\n\tstruct fasync_struct *fasync;\n\tunsigned int flags;\n\tunion {\n\t\tu16 queue_index;\n\t\tunsigned int ifindex;\n\t};\n\tstruct napi_struct napi;\n\tbool napi_enabled;\n\tbool napi_frags_enabled;\n\tstruct mutex napi_mutex;\n\tstruct list_head next;\n\tstruct tun_struct *detached;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ptr_ring tx_ring;\n\tstruct xdp_rxq_info xdp_rxq;\n};\n\nstruct tun_filter {\n\t__u16 flags;\n\t__u16 count;\n\t__u8 addr[0];\n};\n\nstruct tun_flow_entry {\n\tstruct hlist_node hash_link;\n\tstruct callback_head rcu;\n\tstruct tun_struct *tun;\n\tu32 rxhash;\n\tu32 rps_rxhash;\n\tint queue_index;\n\tlong: 64;\n\tlong unsigned int updated;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct tun_msg_ctl {\n\tshort unsigned int type;\n\tshort unsigned int num;\n\tvoid *ptr;\n};\n\nstruct tun_page {\n\tstruct page *page;\n\tint count;\n};\n\nstruct tun_pi {\n\t__u16 flags;\n\t__be16 proto;\n};\n\nstruct tun_prog {\n\tstruct callback_head rcu;\n\tstruct bpf_prog *prog;\n};\n\nstruct tun_struct {\n\tstruct tun_file *tfiles[256];\n\tunsigned int numqueues;\n\tunsigned int flags;\n\tkuid_t owner;\n\tkgid_t group;\n\tstruct net_device *dev;\n\tnetdev_features_t set_features;\n\tint align;\n\tint vnet_hdr_sz;\n\tint sndbuf;\n\tstruct tap_filter txflt;\n\tstruct sock_fprog fprog;\n\tbool filter_attached;\n\tu32 msg_enable;\n\tspinlock_t lock;\n\tstruct hlist_head flows[1024];\n\tstruct timer_list flow_gc_timer;\n\tlong unsigned int ageing_time;\n\tunsigned int numdisabled;\n\tstruct list_head disabled;\n\tvoid *security;\n\tu32 flow_count;\n\tu32 rx_batched;\n\tatomic_long_t rx_frame_errors;\n\tstruct bpf_prog *xdp_prog;\n\tstruct tun_prog *steering_prog;\n\tstruct tun_prog *filter_prog;\n\tstruct ethtool_link_ksettings link_ksettings;\n\tstruct file *file;\n\tstruct ifreq *ifr;\n};\n\nstruct virtio_net_hdr {\n\t__u8 flags;\n\t__u8 gso_type;\n\t__virtio16 hdr_len;\n\t__virtio16 gso_size;\n\t__virtio16 csum_start;\n\t__virtio16 csum_offset;\n};\n\nstruct tun_xdp_hdr {\n\tint buflen;\n\tstruct virtio_net_hdr gso;\n};\n\nstruct tx_ring_info {\n\tstruct sk_buff *skb;\n\tlong unsigned int flags;\n\tdma_addr_t mapaddr;\n\t__u32 maplen;\n};\n\nstruct typec_connector {\n\tvoid (*attach)(struct typec_connector *, struct device *);\n\tvoid (*deattach)(struct typec_connector *, struct device *);\n};\n\nstruct u32_fract {\n\t__u32 numerator;\n\t__u32 denominator;\n};\n\nstruct uart_8250_em485 {\n\tstruct hrtimer start_tx_timer;\n\tstruct hrtimer stop_tx_timer;\n\tstruct hrtimer *active_timer;\n\tstruct uart_8250_port *port;\n\tunsigned int tx_stopped: 1;\n};\n\nstruct uart_8250_ops {\n\tint (*setup_irq)(struct uart_8250_port *);\n\tvoid (*release_irq)(struct uart_8250_port *);\n\tvoid (*setup_timer)(struct uart_8250_port *);\n};\n\nstruct uart_8250_port {\n\tstruct uart_port port;\n\tstruct timer_list timer;\n\tstruct list_head list;\n\tu32 capabilities;\n\tu16 bugs;\n\tunsigned int tx_loadsz;\n\tunsigned char acr;\n\tunsigned char fcr;\n\tunsigned char ier;\n\tunsigned char lcr;\n\tunsigned char mcr;\n\tunsigned char cur_iotype;\n\tunsigned int rpm_tx_active;\n\tunsigned char canary;\n\tunsigned char probe;\n\tstruct mctrl_gpios *gpios;\n\tu16 lsr_saved_flags;\n\tu16 lsr_save_mask;\n\tunsigned char msr_saved_flags;\n\tstruct uart_8250_dma *dma;\n\tconst struct uart_8250_ops *ops;\n\tu32 (*dl_read)(struct uart_8250_port *);\n\tvoid (*dl_write)(struct uart_8250_port *, u32);\n\tstruct uart_8250_em485 *em485;\n\tvoid (*rs485_start_tx)(struct uart_8250_port *, bool);\n\tvoid (*rs485_stop_tx)(struct uart_8250_port *, bool);\n\tstruct delayed_work overrun_backoff;\n\tu32 overrun_backoff_time_ms;\n};\n\nstruct vendor_data___2;\n\nstruct uart_amba_port {\n\tstruct uart_port port;\n\tconst u16 *reg_offset;\n\tstruct clk *clk;\n\tconst struct vendor_data___2 *vendor;\n\tunsigned int im;\n\tunsigned int old_status;\n\tunsigned int fifosize;\n\tunsigned int fixed_baud;\n\tchar type[12];\n\tktime_t rs485_tx_drain_interval;\n\tenum pl011_rs485_tx_state rs485_tx_state;\n\tstruct hrtimer trigger_start_tx;\n\tstruct hrtimer trigger_stop_tx;\n\tunsigned int dmacr;\n\tbool using_tx_dma;\n\tbool using_rx_dma;\n\tstruct pl011_dmarx_data dmarx;\n\tstruct pl011_dmatx_data dmatx;\n\tbool dma_probed;\n};\n\nstruct uart_match {\n\tstruct uart_port *port;\n\tstruct uart_driver *driver;\n};\n\nstruct uart_ops {\n\tunsigned int (*tx_empty)(struct uart_port *);\n\tvoid (*set_mctrl)(struct uart_port *, unsigned int);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tvoid (*stop_tx)(struct uart_port *);\n\tvoid (*start_tx)(struct uart_port *);\n\tvoid (*throttle)(struct uart_port *);\n\tvoid (*unthrottle)(struct uart_port *);\n\tvoid (*send_xchar)(struct uart_port *, char);\n\tvoid (*stop_rx)(struct uart_port *);\n\tvoid (*start_rx)(struct uart_port *);\n\tvoid (*enable_ms)(struct uart_port *);\n\tvoid (*break_ctl)(struct uart_port *, int);\n\tint (*startup)(struct uart_port *);\n\tvoid (*shutdown)(struct uart_port *);\n\tvoid (*flush_buffer)(struct uart_port *);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tconst char * (*type)(struct uart_port *);\n\tvoid (*release_port)(struct uart_port *);\n\tint (*request_port)(struct uart_port *);\n\tvoid (*config_port)(struct uart_port *, int);\n\tint (*verify_port)(struct uart_port *, struct serial_struct *);\n\tint (*ioctl)(struct uart_port *, unsigned int, long unsigned int);\n};\n\nstruct uart_state {\n\tstruct tty_port port;\n\tenum uart_pm_state pm_state;\n\tatomic_t refcount;\n\twait_queue_head_t remove_wait;\n\tstruct uart_port *uart_port;\n};\n\nstruct ubuf_info_msgzc {\n\tstruct ubuf_info ubuf;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int desc;\n\t\t\tvoid *ctx;\n\t\t};\n\t\tstruct {\n\t\t\tu32 id;\n\t\t\tu16 len;\n\t\t\tu16 zerocopy: 1;\n\t\t\tu32 bytelen;\n\t\t};\n\t};\n\tstruct mmpin mmp;\n};\n\nstruct ubuf_info_ops {\n\tvoid (*complete)(struct sk_buff *, struct ubuf_info *, bool);\n\tint (*link_skb)(struct sk_buff *, struct ubuf_info *);\n};\n\nstruct uc_string_id {\n\tu8 len;\n\tu8 type;\n\twchar_t uc[0];\n};\n\nstruct ucounts {\n\tstruct hlist_node node;\n\tstruct user_namespace *ns;\n\tkuid_t uid;\n\tatomic_t count;\n\tatomic_long_t ucount[12];\n\tatomic_long_t rlimit[4];\n};\n\nstruct ucred {\n\t__u32 pid;\n\t__u32 uid;\n\t__u32 gid;\n};\n\nstruct udc_ep_regs;\n\nstruct udc_stp_dma;\n\nstruct udc_data_dma;\n\nstruct udc_request;\n\nstruct udc;\n\nstruct udc_ep {\n\tstruct usb_ep ep;\n\tstruct udc_ep_regs *regs;\n\tu32 *txfifo;\n\tu32 *dma;\n\tdma_addr_t td_phys;\n\tdma_addr_t td_stp_dma;\n\tstruct udc_stp_dma *td_stp;\n\tstruct udc_data_dma *td;\n\tstruct udc_request *req;\n\tunsigned int req_used;\n\tunsigned int req_completed;\n\tstruct udc_request *bna_dummy_req;\n\tunsigned int bna_occurred;\n\tunsigned int naking;\n\tstruct udc *dev;\n\tstruct list_head queue;\n\tunsigned int halted;\n\tunsigned int cancel_transfer;\n\tunsigned int num: 5;\n\tunsigned int fifo_depth: 14;\n\tunsigned int in: 1;\n};\n\nstruct udc_csrs;\n\nstruct udc_regs;\n\nstruct udc {\n\tstruct usb_gadget gadget;\n\tspinlock_t lock;\n\tstruct udc_ep ep[32];\n\tstruct usb_gadget_driver *driver;\n\tunsigned int stall_ep0in: 1;\n\tunsigned int waiting_zlp_ack_ep0in: 1;\n\tunsigned int set_cfg_not_acked: 1;\n\tunsigned int data_ep_enabled: 1;\n\tunsigned int data_ep_queued: 1;\n\tunsigned int sys_suspended: 1;\n\tunsigned int connected;\n\tu16 chiprev;\n\tstruct pci_dev *pdev;\n\tstruct udc_csrs *csr;\n\tstruct udc_regs *regs;\n\tstruct udc_ep_regs *ep_regs;\n\tu32 *rxfifo;\n\tu32 *txfifo;\n\tstruct dma_pool *data_requests;\n\tstruct dma_pool *stp_requests;\n\tlong unsigned int phys_addr;\n\tvoid *virt_addr;\n\tunsigned int irq;\n\tu16 cur_config;\n\tu16 cur_intf;\n\tu16 cur_alt;\n\tstruct device *dev;\n\tstruct phy *udc_phy;\n\tstruct extcon_dev *edev;\n\tstruct extcon_specific_cable_nb extcon_nb;\n\tstruct notifier_block nb;\n\tstruct delayed_work drd_work;\n\tu32 conn_type;\n};\n\nstruct udc_csrs {\n\tu32 sca;\n\tu32 ne[9];\n};\n\nstruct udc_data_dma {\n\tu32 status;\n\tu32 _reserved;\n\tu32 bufptr;\n\tu32 next;\n};\n\nstruct udc_ep_regs {\n\tu32 ctl;\n\tu32 sts;\n\tu32 bufin_framenum;\n\tu32 bufout_maxpkt;\n\tu32 subptr;\n\tu32 desptr;\n\tu32 reserved;\n\tu32 confirm;\n};\n\nstruct udc_regs {\n\tu32 cfg;\n\tu32 ctl;\n\tu32 sts;\n\tu32 irqsts;\n\tu32 irqmsk;\n\tu32 ep_irqsts;\n\tu32 ep_irqmsk;\n};\n\nstruct udc_request {\n\tstruct usb_request req;\n\tunsigned int dma_going: 1;\n\tunsigned int dma_done: 1;\n\tdma_addr_t td_phys;\n\tstruct udc_data_dma *td_data;\n\tstruct udc_data_dma *td_data_last;\n\tstruct list_head queue;\n\tunsigned int chain_len;\n};\n\nunion udc_setup_data {\n\tu32 data[2];\n\tstruct usb_ctrlrequest request;\n};\n\nstruct udc_stp_dma {\n\tu32 status;\n\tu32 _reserved;\n\tu32 data12;\n\tu32 data34;\n};\n\nstruct udma_static_tr {\n\tu8 elsize;\n\tu16 elcnt;\n\tu16 bstcnt;\n};\n\nstruct udma_tx_drain {\n\tstruct delayed_work work;\n\tktime_t tstamp;\n\tu32 residue;\n};\n\nstruct udma_chan_config {\n\tbool pkt_mode;\n\tbool needs_epib;\n\tu32 psd_size;\n\tu32 metadata_size;\n\tu32 hdesc_size;\n\tbool notdpkt;\n\tint remote_thread_id;\n\tu32 atype;\n\tu32 asel;\n\tu32 src_thread;\n\tu32 dst_thread;\n\tenum psil_endpoint_type ep_type;\n\tbool enable_acc32;\n\tbool enable_burst;\n\tenum udma_tp_level channel_tpl;\n\tu32 tr_trigger_type;\n\tlong unsigned int tx_flags;\n\tint mapped_channel_id;\n\tint default_flow_id;\n\tenum dma_transfer_direction dir;\n};\n\nstruct udma_desc;\n\nstruct udma_chan {\n\tstruct virt_dma_chan vc;\n\tstruct dma_slave_config cfg;\n\tstruct udma_dev *ud;\n\tstruct device *dma_dev;\n\tstruct udma_desc *desc;\n\tstruct udma_desc *terminated_desc;\n\tstruct udma_static_tr static_tr;\n\tchar *name;\n\tstruct udma_tchan *bchan;\n\tstruct udma_tchan *tchan;\n\tstruct udma_rchan *rchan;\n\tstruct udma_rflow *rflow;\n\tbool psil_paired;\n\tint irq_num_ring;\n\tint irq_num_udma;\n\tbool cyclic;\n\tbool paused;\n\tenum udma_chan_state state;\n\tstruct completion teardown_completed;\n\tstruct udma_tx_drain tx_drain;\n\tstruct udma_chan_config config;\n\tstruct udma_chan_config backup_config;\n\tbool use_dma_pool;\n\tstruct dma_pool *hdesc_pool;\n\tu32 id;\n};\n\nstruct udma_hwdesc {\n\tsize_t cppi5_desc_size;\n\tvoid *cppi5_desc_vaddr;\n\tdma_addr_t cppi5_desc_paddr;\n\tvoid *tr_req_base;\n\tstruct cppi5_tr_resp_t *tr_resp_base;\n};\n\nstruct udma_desc {\n\tstruct virt_dma_desc vd;\n\tbool terminated;\n\tenum dma_transfer_direction dir;\n\tstruct udma_static_tr static_tr;\n\tu32 residue;\n\tunsigned int sglen;\n\tunsigned int desc_idx;\n\tunsigned int tr_idx;\n\tu32 metadata_size;\n\tvoid *metadata;\n\tunsigned int hwdesc_count;\n\tstruct udma_hwdesc hwdesc[0];\n};\n\nstruct udma_tpl {\n\tu8 levels;\n\tu32 start_idx[3];\n};\n\nstruct udma_tisci_rm {\n\tconst struct ti_sci_handle *tisci;\n\tconst struct ti_sci_rm_udmap_ops *tisci_udmap_ops;\n\tu32 tisci_dev_id;\n\tconst struct ti_sci_rm_psil_ops *tisci_psil_ops;\n\tu32 tisci_navss_dev_id;\n\tstruct ti_sci_resource *rm_ranges[5];\n};\n\nstruct udma_rx_flush {\n\tstruct udma_hwdesc hwdescs[2];\n\tsize_t buffer_size;\n\tvoid *buffer_vaddr;\n\tdma_addr_t buffer_paddr;\n};\n\nstruct udma_match_data;\n\nstruct udma_soc_data;\n\nstruct udma_dev {\n\tstruct dma_device ddev;\n\tstruct device *dev;\n\tvoid *mmrs[4];\n\tconst struct udma_match_data *match_data;\n\tconst struct udma_soc_data *soc_data;\n\tstruct udma_tpl bchan_tpl;\n\tstruct udma_tpl tchan_tpl;\n\tstruct udma_tpl rchan_tpl;\n\tsize_t desc_align;\n\tstruct udma_tisci_rm tisci_rm;\n\tstruct k3_ringacc *ringacc;\n\tstruct work_struct purge_work;\n\tstruct list_head desc_to_purge;\n\tspinlock_t lock;\n\tstruct udma_rx_flush rx_flush;\n\tint bchan_cnt;\n\tint tchan_cnt;\n\tint echan_cnt;\n\tint rchan_cnt;\n\tint rflow_cnt;\n\tint tflow_cnt;\n\tlong unsigned int *bchan_map;\n\tlong unsigned int *tchan_map;\n\tlong unsigned int *rchan_map;\n\tlong unsigned int *rflow_gp_map;\n\tlong unsigned int *rflow_gp_map_allocated;\n\tlong unsigned int *rflow_in_use;\n\tlong unsigned int *tflow_map;\n\tstruct udma_tchan *bchans;\n\tstruct udma_tchan *tchans;\n\tstruct udma_rchan *rchans;\n\tstruct udma_rflow *rflows;\n\tstruct udma_chan *channels;\n\tu32 psil_base;\n\tu32 atype;\n\tu32 asel;\n};\n\nstruct udma_filter_param {\n\tint remote_thread_id;\n\tu32 atype;\n\tu32 asel;\n\tu32 tr_trigger_type;\n};\n\nstruct udma_match_data {\n\tenum k3_dma_type type;\n\tu32 psil_base;\n\tbool enable_memcpy_support;\n\tu32 flags;\n\tu32 statictr_z_mask;\n\tu8 burst_size[3];\n\tstruct udma_soc_data *soc_data;\n};\n\nstruct udma_oes_offsets {\n\tu32 udma_rchan;\n\tu32 bcdma_bchan_data;\n\tu32 bcdma_bchan_ring;\n\tu32 bcdma_tchan_data;\n\tu32 bcdma_tchan_ring;\n\tu32 bcdma_rchan_data;\n\tu32 bcdma_rchan_ring;\n\tu32 pktdma_tchan_flow;\n\tu32 pktdma_rchan_flow;\n};\n\nstruct udma_rchan {\n\tvoid *reg_rt;\n\tint id;\n};\n\nstruct udma_rflow {\n\tint id;\n\tstruct k3_ring *fd_ring;\n\tstruct k3_ring *r_ring;\n};\n\nstruct udma_soc_data {\n\tstruct udma_oes_offsets oes;\n\tu32 bcdma_trigger_event_offset;\n};\n\nstruct udma_tchan {\n\tvoid *reg_rt;\n\tint id;\n\tstruct k3_ring *t_ring;\n\tstruct k3_ring *tc_ring;\n\tint tflow_id;\n};\n\nstruct udp_sock {\n\tstruct inet_sock inet;\n\tlong unsigned int udp_flags;\n\tint pending;\n\t__u8 encap_type;\n\t__u16 udp_lrpa_hash;\n\tstruct hlist_nulls_node udp_lrpa_node;\n\t__u16 len;\n\t__u16 gso_size;\n\t__u16 pcslen;\n\t__u16 pcrlen;\n\tint (*encap_rcv)(struct sock *, struct sk_buff *);\n\tvoid (*encap_err_rcv)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\tint (*encap_err_lookup)(struct sock *, struct sk_buff *);\n\tvoid (*encap_destroy)(struct sock *);\n\tstruct sk_buff * (*gro_receive)(struct sock *, struct list_head *, struct sk_buff *);\n\tint (*gro_complete)(struct sock *, struct sk_buff *, int);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sk_buff_head reader_queue;\n\tint forward_deficit;\n\tint forward_threshold;\n\tbool peeking_with_offset;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct udp6_sock {\n\tstruct udp_sock udp;\n\tstruct ipv6_pinfo inet6;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct udp_dev_scratch {\n\tu32 _tsize_state;\n\tu16 len;\n\tbool is_linear;\n\tbool csum_unnecessary;\n};\n\nstruct udp_hslot {\n\tunion {\n\t\tstruct hlist_head head;\n\t\tstruct hlist_nulls_head nulls_head;\n\t};\n\tint count;\n\tspinlock_t lock;\n};\n\nstruct udp_hslot_main {\n\tstruct udp_hslot hslot;\n\tu32 hash4_cnt;\n\tlong: 64;\n};\n\nstruct udp_mib {\n\tlong unsigned int mibs[10];\n};\n\nstruct udp_seq_afinfo {\n\tsa_family_t family;\n\tstruct udp_table *udp_table;\n};\n\nstruct udp_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\t__u16 cscov;\n\t__u8 partial_cov;\n};\n\nstruct udp_table {\n\tstruct udp_hslot *hash;\n\tstruct udp_hslot_main *hash2;\n\tstruct udp_hslot *hash4;\n\tunsigned int mask;\n\tunsigned int log;\n};\n\nstruct udp_tunnel_info {\n\tshort unsigned int type;\n\tsa_family_t sa_family;\n\t__be16 port;\n\tu8 hw_priv;\n};\n\nstruct udp_tunnel_nic_table_info {\n\tunsigned int n_entries;\n\tunsigned int tunnel_types;\n};\n\nstruct udp_tunnel_nic_shared;\n\nstruct udp_tunnel_nic_info {\n\tint (*set_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tint (*unset_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tint (*sync_table)(struct net_device *, unsigned int);\n\tstruct udp_tunnel_nic_shared *shared;\n\tunsigned int flags;\n\tstruct udp_tunnel_nic_table_info tables[4];\n};\n\nstruct udp_tunnel_nic_ops {\n\tvoid (*get_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tvoid (*set_port_priv)(struct net_device *, unsigned int, unsigned int, u8);\n\tvoid (*add_port)(struct net_device *, struct udp_tunnel_info *);\n\tvoid (*del_port)(struct net_device *, struct udp_tunnel_info *);\n\tvoid (*reset_ntf)(struct net_device *);\n\tsize_t (*dump_size)(struct net_device *, unsigned int);\n\tint (*dump_write)(struct net_device *, unsigned int, struct sk_buff *);\n};\n\nstruct udp_tunnel_nic_shared {\n\tstruct udp_tunnel_nic *udp_tunnel_nic_info;\n\tstruct list_head devices;\n};\n\nstruct uevent_sock {\n\tstruct list_head list;\n\tstruct sock *sk;\n};\n\nstruct ufs_arpmb_meta {\n\t__be16 req_resp_type;\n\t__u8 nonce[16];\n\t__be32 write_counter;\n\t__be16 addr_lun;\n\t__be16 block_count;\n\t__be16 result;\n} __attribute__((packed));\n\nstruct utp_upiu_header {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 dword_0;\n\t\t\t__be32 dword_1;\n\t\t\t__be32 dword_2;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 transaction_code;\n\t\t\t__u8 flags;\n\t\t\t__u8 lun;\n\t\t\t__u8 task_tag;\n\t\t\t__u8 command_set_type: 4;\n\t\t\t__u8 iid: 4;\n\t\t\tunion {\n\t\t\t\t__u8 tm_function;\n\t\t\t\t__u8 query_function;\n\t\t\t};\n\t\t\t__u8 response;\n\t\t\t__u8 status;\n\t\t\t__u8 ehs_length;\n\t\t\t__u8 device_information;\n\t\t\t__be16 data_segment_length;\n\t\t};\n\t};\n};\n\nstruct utp_upiu_cmd {\n\t__be32 exp_data_transfer_len;\n\t__u8 cdb[16];\n};\n\nstruct utp_upiu_query {\n\t__u8 opcode;\n\t__u8 idn;\n\t__u8 index;\n\t__u8 selector;\n\t__be16 reserved_osf;\n\t__be16 length;\n\t__be32 value;\n\t__be32 reserved[2];\n};\n\nstruct utp_upiu_req {\n\tstruct utp_upiu_header header;\n\tunion {\n\t\tstruct utp_upiu_cmd sc;\n\t\tstruct utp_upiu_query qr;\n\t\tstruct utp_upiu_query uc;\n\t};\n};\n\nstruct ufs_bsg_reply {\n\tint result;\n\t__u32 reply_payload_rcv_len;\n\tstruct utp_upiu_req upiu_rsp;\n};\n\nstruct ufs_bsg_request {\n\t__u32 msgcode;\n\tstruct utp_upiu_req upiu_req;\n};\n\nstruct ufs_clk_gating {\n\tstruct delayed_work gate_work;\n\tstruct work_struct ungate_work;\n\tstruct workqueue_struct *clk_gating_workq;\n\tspinlock_t lock;\n\tenum clk_gating_state state;\n\tlong unsigned int delay_ms;\n\tbool is_suspended;\n\tstruct device_attribute delay_attr;\n\tstruct device_attribute enable_attr;\n\tbool is_enabled;\n\tbool is_initialized;\n\tint active_reqs;\n};\n\nstruct ufs_clk_info {\n\tstruct list_head list;\n\tstruct clk *clk;\n\tconst char *name;\n\tu32 max_freq;\n\tu32 min_freq;\n\tu32 curr_freq;\n\tbool keep_link_active;\n\tbool enabled;\n};\n\nstruct ufs_clk_scaling {\n\tstruct workqueue_struct *workq;\n\tstruct work_struct suspend_work;\n\tstruct work_struct resume_work;\n\tspinlock_t lock;\n\tint active_reqs;\n\tlong unsigned int tot_busy_t;\n\tktime_t window_start_t;\n\tktime_t busy_start_t;\n\tstruct device_attribute enable_attr;\n\tstruct ufs_pa_layer_attr saved_pwr_info;\n\tlong unsigned int target_freq;\n\tu32 min_gear;\n\tbool is_enabled;\n\tbool is_allowed;\n\tbool is_initialized;\n\tbool is_busy_started;\n\tbool is_suspended;\n\tbool suspend_on_no_request;\n};\n\nstruct ufs_debugfs_attr {\n\tconst char *name;\n\tmode_t mode;\n\tconst struct file_operations *fops;\n};\n\nstruct ufs_query_req {\n\tu8 query_func;\n\tstruct utp_upiu_query upiu_req;\n};\n\nstruct ufs_query_res {\n\tstruct utp_upiu_query upiu_res;\n};\n\nstruct ufs_query {\n\tstruct ufs_query_req request;\n\tu8 *descriptor;\n\tstruct ufs_query_res response;\n};\n\nstruct ufs_dev_cmd {\n\tenum dev_cmd_type type;\n\tstruct mutex lock;\n\tstruct completion *complete;\n\tstruct ufs_query query;\n};\n\nstruct ufs_dev_info {\n\tbool f_power_on_wp_en;\n\tbool is_lu_power_on_wp;\n\tu8 max_lu_supported;\n\tu16 wmanufacturerid;\n\tu8 *model;\n\tu16 wspecversion;\n\tu32 clk_gating_wait_us;\n\tu8 bqueuedepth;\n\tbool wb_enabled;\n\tbool wb_buf_flush_enabled;\n\tu8 wb_dedicated_lu;\n\tu8 wb_buffer_type;\n\tbool b_rpm_dev_flush_capable;\n\tu8 b_presrv_uspc_en;\n\tbool b_advanced_rpmb_en;\n\tenum ufs_rtc_time rtc_type;\n\ttime64_t rtc_time_baseline;\n\tu32 rtc_update_period;\n\tu8 rtt_cap;\n};\n\nstruct ufs_dev_quirk {\n\tu16 wmanufacturerid;\n\tconst u8 *model;\n\tunsigned int quirk;\n};\n\nstruct ufs_ehs {\n\t__u8 length;\n\t__u8 ehs_type;\n\t__be16 ehssub_type;\n\tstruct ufs_arpmb_meta meta;\n\t__u8 mac_key[32];\n};\n\nstruct ufs_event_hist {\n\tint pos;\n\tu32 val[8];\n\tu64 tstamp[8];\n\tlong long unsigned int cnt;\n};\n\nstruct ufs_stats {\n\tu32 last_intr_status;\n\tu64 last_intr_ts;\n\tu32 hibern8_exit_cnt;\n\tu64 last_hibern8_exit_tstamp;\n\tstruct ufs_event_hist event[15];\n};\n\nstruct ufs_vreg;\n\nstruct ufs_vreg_info {\n\tstruct ufs_vreg *vcc;\n\tstruct ufs_vreg *vccq;\n\tstruct ufs_vreg *vccq2;\n\tstruct ufs_vreg *vdd_hba;\n};\n\nstruct ufs_pwr_mode_info {\n\tbool is_valid;\n\tstruct ufs_pa_layer_attr info;\n};\n\nstruct ufs_hba_monitor {\n\tlong unsigned int chunk_size;\n\tlong unsigned int nr_sec_rw[2];\n\tktime_t total_busy[2];\n\tlong unsigned int nr_req[2];\n\tktime_t lat_sum[2];\n\tktime_t lat_max[2];\n\tktime_t lat_min[2];\n\tu32 nr_queued[2];\n\tktime_t busy_start_ts[2];\n\tktime_t enabled_ts;\n\tbool enabled;\n};\n\nstruct ufshcd_res_info {\n\tconst char *name;\n\tstruct resource *resource;\n\tvoid *base;\n};\n\nstruct ufshcd_mcq_opr_info_t {\n\tlong unsigned int offset;\n\tlong unsigned int stride;\n\tvoid *base;\n};\n\nstruct utp_transfer_cmd_desc;\n\nstruct utp_transfer_req_desc;\n\nstruct utp_task_req_desc;\n\nstruct ufshcd_lrb;\n\nstruct ufs_hba_variant_params;\n\nstruct uic_command;\n\nstruct ufs_hw_queue;\n\nstruct ufs_hba {\n\tvoid *mmio_base;\n\tstruct utp_transfer_cmd_desc *ucdl_base_addr;\n\tstruct utp_transfer_req_desc *utrdl_base_addr;\n\tstruct utp_task_req_desc *utmrdl_base_addr;\n\tdma_addr_t ucdl_dma_addr;\n\tdma_addr_t utrdl_dma_addr;\n\tdma_addr_t utmrdl_dma_addr;\n\tstruct Scsi_Host *host;\n\tstruct device *dev;\n\tstruct scsi_device *ufs_device_wlun;\n\tenum ufs_dev_pwr_mode curr_dev_pwr_mode;\n\tenum uic_link_state uic_link_state;\n\tenum ufs_pm_level rpm_lvl;\n\tenum ufs_pm_level spm_lvl;\n\tint pm_op_in_progress;\n\tu32 ahit;\n\tstruct ufshcd_lrb *lrb;\n\tlong unsigned int outstanding_tasks;\n\tspinlock_t outstanding_lock;\n\tlong unsigned int outstanding_reqs;\n\tu32 capabilities;\n\tint nutrs;\n\tint nortt;\n\tu32 mcq_capabilities;\n\tint nutmrs;\n\tu32 reserved_slot;\n\tu32 ufs_version;\n\tconst struct ufs_hba_variant_ops *vops;\n\tstruct ufs_hba_variant_params *vps;\n\tvoid *priv;\n\tunsigned int irq;\n\tbool is_irq_enabled;\n\tenum ufs_ref_clk_freq dev_ref_clk_freq;\n\tunsigned int quirks;\n\tunsigned int dev_quirks;\n\tstruct blk_mq_tag_set tmf_tag_set;\n\tstruct request_queue *tmf_queue;\n\tstruct request **tmf_rqs;\n\tstruct uic_command *active_uic_cmd;\n\tstruct mutex uic_cmd_mutex;\n\tstruct completion *uic_async_done;\n\tenum ufshcd_state ufshcd_state;\n\tu32 eh_flags;\n\tu32 intr_mask;\n\tu16 ee_ctrl_mask;\n\tu16 ee_drv_mask;\n\tu16 ee_usr_mask;\n\tstruct mutex ee_ctrl_mutex;\n\tbool is_powered;\n\tbool shutting_down;\n\tstruct semaphore host_sem;\n\tstruct workqueue_struct *eh_wq;\n\tstruct work_struct eh_work;\n\tstruct work_struct eeh_work;\n\tu32 errors;\n\tu32 uic_error;\n\tu32 saved_err;\n\tu32 saved_uic_err;\n\tstruct ufs_stats ufs_stats;\n\tbool force_reset;\n\tbool force_pmc;\n\tbool silence_err_logs;\n\tstruct ufs_dev_cmd dev_cmd;\n\tktime_t last_dme_cmd_tstamp;\n\tint nop_out_timeout;\n\tstruct ufs_dev_info dev_info;\n\tbool auto_bkops_enabled;\n\tstruct ufs_vreg_info vreg_info;\n\tstruct list_head clk_list_head;\n\tbool use_pm_opp;\n\tint req_abort_count;\n\tu32 lanes_per_direction;\n\tstruct ufs_pa_layer_attr pwr_info;\n\tstruct ufs_pwr_mode_info max_pwr_info;\n\tstruct ufs_clk_gating clk_gating;\n\tu32 caps;\n\tstruct devfreq *devfreq;\n\tstruct ufs_clk_scaling clk_scaling;\n\tbool system_suspending;\n\tbool is_sys_suspended;\n\tenum bkops_status urgent_bkops_lvl;\n\tbool is_urgent_bkops_lvl_checked;\n\tstruct mutex wb_mutex;\n\tstruct rw_semaphore clk_scaling_lock;\n\tstruct device bsg_dev;\n\tstruct request_queue *bsg_queue;\n\tstruct delayed_work rpm_dev_flush_recheck_work;\n\tstruct ufs_hba_monitor monitor;\n\tstruct dentry *debugfs_root;\n\tstruct delayed_work debugfs_ee_work;\n\tu32 debugfs_ee_rate_limit_ms;\n\tu32 luns_avail;\n\tunsigned int nr_hw_queues;\n\tunsigned int nr_queues[3];\n\tbool complete_put;\n\tbool scsi_host_added;\n\tbool mcq_sup;\n\tbool lsdb_sup;\n\tbool mcq_enabled;\n\tstruct ufshcd_res_info res[7];\n\tvoid *mcq_base;\n\tstruct ufs_hw_queue *uhq;\n\tstruct ufs_hw_queue *dev_cmd_queue;\n\tstruct ufshcd_mcq_opr_info_t mcq_opr[4];\n\tstruct delayed_work ufs_rtc_update_work;\n\tstruct pm_qos_request pm_qos_req;\n\tbool pm_qos_enabled;\n};\n\nstruct ufs_hba_variant_ops {\n\tconst char *name;\n\tint max_num_rtt;\n\tint (*init)(struct ufs_hba *);\n\tvoid (*exit)(struct ufs_hba *);\n\tu32 (*get_ufs_hci_version)(struct ufs_hba *);\n\tint (*set_dma_mask)(struct ufs_hba *);\n\tint (*clk_scale_notify)(struct ufs_hba *, bool, enum ufs_notify_change_status);\n\tint (*setup_clocks)(struct ufs_hba *, bool, enum ufs_notify_change_status);\n\tint (*hce_enable_notify)(struct ufs_hba *, enum ufs_notify_change_status);\n\tint (*link_startup_notify)(struct ufs_hba *, enum ufs_notify_change_status);\n\tint (*pwr_change_notify)(struct ufs_hba *, enum ufs_notify_change_status, struct ufs_pa_layer_attr *, struct ufs_pa_layer_attr *);\n\tvoid (*setup_xfer_req)(struct ufs_hba *, int, bool);\n\tvoid (*setup_task_mgmt)(struct ufs_hba *, int, u8);\n\tvoid (*hibern8_notify)(struct ufs_hba *, enum uic_cmd_dme, enum ufs_notify_change_status);\n\tint (*apply_dev_quirks)(struct ufs_hba *);\n\tvoid (*fixup_dev_quirks)(struct ufs_hba *);\n\tint (*suspend)(struct ufs_hba *, enum ufs_pm_op, enum ufs_notify_change_status);\n\tint (*resume)(struct ufs_hba *, enum ufs_pm_op);\n\tvoid (*dbg_register_dump)(struct ufs_hba *);\n\tint (*phy_initialization)(struct ufs_hba *);\n\tint (*device_reset)(struct ufs_hba *);\n\tvoid (*config_scaling_param)(struct ufs_hba *, struct devfreq_dev_profile *, struct devfreq_simple_ondemand_data *);\n\tint (*fill_crypto_prdt)(struct ufs_hba *, const struct bio_crypt_ctx *, void *, unsigned int);\n\tvoid (*event_notify)(struct ufs_hba *, enum ufs_event_type, void *);\n\tint (*mcq_config_resource)(struct ufs_hba *);\n\tint (*get_hba_mac)(struct ufs_hba *);\n\tint (*op_runtime_config)(struct ufs_hba *);\n\tint (*get_outstanding_cqs)(struct ufs_hba *, long unsigned int *);\n\tint (*config_esi)(struct ufs_hba *);\n\tvoid (*config_scsi_dev)(struct scsi_device *);\n};\n\nstruct ufs_hba_variant_params {\n\tstruct devfreq_dev_profile devfreq_profile;\n\tstruct devfreq_simple_ondemand_data ondemand_data;\n\tu16 hba_enable_delay_us;\n\tu32 wb_flush_threshold;\n};\n\nstruct ufs_hisi_host {\n\tstruct ufs_hba *hba;\n\tvoid *ufs_sys_ctrl;\n\tstruct reset_control *rst;\n\tuint64_t caps;\n\tbool in_suspend;\n};\n\nstruct ufs_host_params {\n\tu32 pwm_rx_gear;\n\tu32 pwm_tx_gear;\n\tu32 hs_rx_gear;\n\tu32 hs_tx_gear;\n\tu32 rx_lanes;\n\tu32 tx_lanes;\n\tu32 rx_pwr_pwm;\n\tu32 tx_pwr_pwm;\n\tu32 rx_pwr_hs;\n\tu32 tx_pwr_hs;\n\tu32 hs_rate;\n\tu32 desired_working_mode;\n};\n\nstruct ufs_hw_queue {\n\tvoid *mcq_sq_head;\n\tvoid *mcq_sq_tail;\n\tvoid *mcq_cq_head;\n\tvoid *mcq_cq_tail;\n\tstruct utp_transfer_req_desc *sqe_base_addr;\n\tdma_addr_t sqe_dma_addr;\n\tstruct cq_entry *cqe_base_addr;\n\tdma_addr_t cqe_dma_addr;\n\tu32 max_entries;\n\tu32 id;\n\tu32 sq_tail_slot;\n\tspinlock_t sq_lock;\n\tu32 cq_tail_slot;\n\tu32 cq_head_slot;\n\tspinlock_t cq_lock;\n\tstruct mutex sq_mutex;\n};\n\nstruct ufs_pm_lvl_states {\n\tenum ufs_dev_pwr_mode dev_state;\n\tenum uic_link_state link_state;\n};\n\nstruct ufs_ref_clk {\n\tlong unsigned int freq_hz;\n\tenum ufs_ref_clk_freq val;\n};\n\nstruct ufs_rpmb_reply {\n\tstruct ufs_bsg_reply bsg_reply;\n\tstruct ufs_ehs ehs_rsp;\n};\n\nstruct ufs_rpmb_request {\n\tstruct ufs_bsg_request bsg_request;\n\tstruct ufs_ehs ehs_req;\n};\n\nstruct ufs_vreg {\n\tstruct regulator *reg;\n\tconst char *name;\n\tbool always_on;\n\tbool enabled;\n\tint max_uA;\n};\n\nstruct utp_upiu_rsp;\n\nstruct ufshcd_sg_entry;\n\nstruct ufshcd_lrb {\n\tstruct utp_transfer_req_desc *utr_descriptor_ptr;\n\tstruct utp_upiu_req *ucd_req_ptr;\n\tstruct utp_upiu_rsp *ucd_rsp_ptr;\n\tstruct ufshcd_sg_entry *ucd_prdt_ptr;\n\tdma_addr_t utrd_dma_addr;\n\tdma_addr_t ucd_req_dma_addr;\n\tdma_addr_t ucd_rsp_dma_addr;\n\tdma_addr_t ucd_prdt_dma_addr;\n\tstruct scsi_cmnd *cmd;\n\tint scsi_status;\n\tint command_type;\n\tint task_tag;\n\tu8 lun;\n\tbool intr_cmd;\n\tktime_t issue_time_stamp;\n\tu64 issue_time_stamp_local_clock;\n\tktime_t compl_time_stamp;\n\tu64 compl_time_stamp_local_clock;\n\tbool req_abort_skip;\n};\n\nstruct ufshcd_sg_entry {\n\t__le64 addr;\n\t__le32 reserved;\n\t__le32 size;\n};\n\nstruct uic_command {\n\tconst u32 command;\n\tconst u32 argument1;\n\tu32 argument2;\n\tu32 argument3;\n\tint cmd_active;\n\tstruct completion done;\n};\n\nstruct ulpi_device_id {\n\t__u16 vendor;\n\t__u16 product;\n\tkernel_ulong_t driver_data;\n};\n\nstruct ulpi {\n\tstruct device dev;\n\tstruct ulpi_device_id id;\n\tconst struct ulpi_ops *ops;\n};\n\nstruct ulpi_driver {\n\tconst struct ulpi_device_id *id_table;\n\tint (*probe)(struct ulpi *);\n\tvoid (*remove)(struct ulpi *);\n\tstruct device_driver driver;\n};\n\nstruct ulpi_info {\n\tunsigned int id;\n\tchar *name;\n};\n\nstruct uncached_list {\n\tspinlock_t lock;\n\tstruct list_head head;\n};\n\nstruct uncharge_gather {\n\tstruct mem_cgroup *memcg;\n\tlong unsigned int nr_memory;\n\tlong unsigned int pgpgout;\n\tlong unsigned int nr_kmem;\n\tint nid;\n};\n\nstruct uni_pagedict {\n\tu16 **uni_pgdir[32];\n\tlong unsigned int refcount;\n\tlong unsigned int sum;\n\tunsigned char *inverse_translations[4];\n\tu16 *inverse_trans_unicode;\n};\n\nstruct unimac_mdio_pdata {\n\tu32 phy_mask;\n\tint (*wait_func)(void *);\n\tvoid *wait_func_data;\n\tconst char *bus_name;\n\tstruct clk *clk;\n};\n\nstruct unimac_mdio_priv {\n\tstruct mii_bus *mii_bus;\n\tvoid *base;\n\tint (*wait_func)(void *);\n\tvoid *wait_func_data;\n\tstruct clk *clk;\n\tu32 clk_freq;\n};\n\nstruct unipair;\n\nstruct unimapdesc {\n\tshort unsigned int entry_ct;\n\tstruct unipair *entries;\n};\n\nstruct unipair {\n\tshort unsigned int unicode;\n\tshort unsigned int fontpos;\n};\n\nstruct uniphier8250_priv {\n\tint line;\n\tstruct clk *clk;\n\tspinlock_t atomic_write_lock;\n};\n\nstruct uniphier_ahciphy_soc_data;\n\nstruct uniphier_ahciphy_priv {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk *clk;\n\tstruct clk *clk_parent;\n\tstruct clk *clk_parent_gio;\n\tstruct reset_control *rst;\n\tstruct reset_control *rst_parent;\n\tstruct reset_control *rst_parent_gio;\n\tstruct reset_control *rst_pm;\n\tstruct reset_control *rst_tx;\n\tstruct reset_control *rst_rx;\n\tconst struct uniphier_ahciphy_soc_data *data;\n};\n\nstruct uniphier_ahciphy_soc_data {\n\tint (*init)(struct uniphier_ahciphy_priv *);\n\tint (*power_on)(struct uniphier_ahciphy_priv *);\n\tint (*power_off)(struct uniphier_ahciphy_priv *);\n\tbool is_legacy;\n\tbool is_ready_high;\n\tbool is_phy_clk;\n};\n\nstruct uniphier_aidet_priv {\n\tstruct irq_domain *domain;\n\tvoid *reg_base;\n\tspinlock_t lock;\n\tu32 saved_vals[8];\n};\n\nstruct uniphier_clk_cpugear {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tunsigned int regbase;\n\tunsigned int mask;\n};\n\nstruct uniphier_clk_cpugear_data {\n\tconst char *parent_names[16];\n\tunsigned int num_parents;\n\tunsigned int regbase;\n\tunsigned int mask;\n};\n\nstruct uniphier_clk_fixed_factor_data {\n\tconst char *parent_name;\n\tunsigned int mult;\n\tunsigned int div;\n};\n\nstruct uniphier_clk_fixed_rate_data {\n\tlong unsigned int fixed_rate;\n};\n\nstruct uniphier_clk_gate_data {\n\tconst char *parent_name;\n\tunsigned int reg;\n\tunsigned int bit;\n};\n\nstruct uniphier_clk_mux_data {\n\tconst char *parent_names[8];\n\tunsigned int num_parents;\n\tunsigned int reg;\n\tunsigned int masks[8];\n\tunsigned int vals[8];\n};\n\nstruct uniphier_clk_data {\n\tconst char *name;\n\tenum uniphier_clk_type type;\n\tint idx;\n\tunion {\n\t\tstruct uniphier_clk_cpugear_data cpugear;\n\t\tstruct uniphier_clk_fixed_factor_data factor;\n\t\tstruct uniphier_clk_fixed_rate_data rate;\n\t\tstruct uniphier_clk_gate_data gate;\n\t\tstruct uniphier_clk_mux_data mux;\n\t} data;\n};\n\nstruct uniphier_clk_gate {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tunsigned int reg;\n\tunsigned int bit;\n};\n\nstruct uniphier_clk_mux {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tunsigned int reg;\n\tconst unsigned int *masks;\n\tconst unsigned int *vals;\n};\n\nstruct uniphier_efuse_priv {\n\tvoid *base;\n};\n\nstruct uniphier_fi2c_priv {\n\tstruct completion comp;\n\tstruct i2c_adapter adap;\n\tvoid *membase;\n\tstruct clk *clk;\n\tunsigned int len;\n\tu8 *buf;\n\tu32 enabled_irqs;\n\tint error;\n\tunsigned int flags;\n\tunsigned int busy_cnt;\n\tunsigned int clk_cycle;\n\tspinlock_t lock;\n};\n\nstruct uniphier_glue_reset_soc_data;\n\nstruct uniphier_glue_reset_priv {\n\tstruct clk_bulk_data clk[2];\n\tstruct reset_control_bulk_data rst[2];\n\tstruct reset_simple_data rdata;\n\tconst struct uniphier_glue_reset_soc_data *data;\n};\n\nstruct uniphier_glue_reset_soc_data {\n\tint nclks;\n\tconst char * const *clock_names;\n\tint nrsts;\n\tconst char * const *reset_names;\n};\n\nstruct uniphier_gpio_priv {\n\tstruct gpio_chip chip;\n\tstruct irq_chip irq_chip;\n\tstruct irq_domain *domain;\n\tvoid *regs;\n\tspinlock_t lock;\n\tu32 saved_vals[0];\n};\n\nstruct uniphier_pinctrl_group {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tunsigned int num_pins;\n\tconst int *muxvals;\n};\n\nstruct uniphier_pinctrl_socdata;\n\nstruct uniphier_pinctrl_priv {\n\tstruct pinctrl_desc pctldesc;\n\tstruct pinctrl_dev *pctldev;\n\tstruct regmap *regmap;\n\tconst struct uniphier_pinctrl_socdata *socdata;\n\tstruct list_head reg_regions;\n};\n\nstruct uniphier_pinctrl_reg_region {\n\tstruct list_head node;\n\tunsigned int base;\n\tunsigned int nregs;\n\tu32 vals[0];\n};\n\nstruct uniphier_pinmux_function;\n\nstruct uniphier_pinctrl_socdata {\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tconst struct uniphier_pinctrl_group *groups;\n\tint groups_count;\n\tconst struct uniphier_pinmux_function *functions;\n\tint functions_count;\n\tint (*get_gpio_muxval)(unsigned int, unsigned int);\n\tunsigned int caps;\n};\n\nstruct uniphier_pinmux_function {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int num_groups;\n};\n\nstruct uniphier_regulator_soc_data;\n\nstruct uniphier_regulator_priv {\n\tstruct clk_bulk_data clk[2];\n\tstruct reset_control *rst[2];\n\tconst struct uniphier_regulator_soc_data *data;\n};\n\nstruct uniphier_regulator_soc_data {\n\tint nclks;\n\tconst char * const *clock_names;\n\tint nrsts;\n\tconst char * const *reset_names;\n\tconst struct regulator_desc *desc;\n\tconst struct regmap_config *regconf;\n};\n\nstruct uniphier_reset_data {\n\tunsigned int id;\n\tunsigned int reg;\n\tunsigned int bit;\n\tunsigned int flags;\n};\n\nstruct uniphier_reset_priv {\n\tstruct reset_controller_dev rcdev;\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tconst struct uniphier_reset_data *data;\n};\n\nstruct uniphier_sd_priv {\n\tstruct tmio_mmc_data tmio_data;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pinstate_uhs;\n\tstruct clk *clk;\n\tstruct reset_control *rst;\n\tstruct reset_control *rst_br;\n\tstruct reset_control *rst_hw;\n\tstruct dma_chan *chan;\n\tenum dma_data_direction dma_dir;\n\tstruct regmap *sdctrl_regmap;\n\tu32 sdctrl_ch;\n\tlong unsigned int clk_rate;\n\tlong unsigned int caps;\n};\n\nstruct uniphier_system_bus_bank {\n\tu32 base;\n\tu32 end;\n};\n\nstruct uniphier_system_bus_priv {\n\tstruct device *dev;\n\tvoid *membase;\n\tstruct uniphier_system_bus_bank bank[8];\n};\n\nstruct uniphier_tm_soc_data;\n\nstruct uniphier_tm_dev {\n\tstruct regmap *regmap;\n\tstruct device *dev;\n\tbool alert_en[3];\n\tstruct thermal_zone_device *tz_dev;\n\tconst struct uniphier_tm_soc_data *data;\n};\n\nstruct uniphier_tm_soc_data {\n\tu32 map_base;\n\tu32 block_base;\n\tu32 tmod_setup_addr;\n};\n\nstruct uniphier_u2phy_param {\n\tu32 offset;\n\tu32 value;\n};\n\nstruct uniphier_u2phy_soc_data;\n\nstruct uniphier_u2phy_priv {\n\tstruct regmap *regmap;\n\tstruct phy *phy;\n\tstruct regulator *vbus;\n\tconst struct uniphier_u2phy_soc_data *data;\n\tstruct uniphier_u2phy_priv *next;\n};\n\nstruct uniphier_u2phy_soc_data {\n\tstruct uniphier_u2phy_param config0;\n\tstruct uniphier_u2phy_param config1;\n};\n\nstruct uniphier_u3hsphy_param {\n\tstruct {\n\t\tint reg_no;\n\t\tint msb;\n\t\tint lsb;\n\t} field;\n\tu8 value;\n};\n\nstruct uniphier_u3hsphy_soc_data;\n\nstruct uniphier_u3hsphy_priv {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk *clk;\n\tstruct clk *clk_parent;\n\tstruct clk *clk_ext;\n\tstruct clk *clk_parent_gio;\n\tstruct reset_control *rst;\n\tstruct reset_control *rst_parent;\n\tstruct reset_control *rst_parent_gio;\n\tstruct regulator *vbus;\n\tconst struct uniphier_u3hsphy_soc_data *data;\n};\n\nstruct uniphier_u3hsphy_trim_param;\n\nstruct uniphier_u3hsphy_soc_data {\n\tbool is_legacy;\n\tint nparams;\n\tconst struct uniphier_u3hsphy_param param[4];\n\tu32 config0;\n\tu32 config1;\n\tvoid (*trim_func)(struct uniphier_u3hsphy_priv *, u32 *, struct uniphier_u3hsphy_trim_param *);\n};\n\nstruct uniphier_u3hsphy_trim_param {\n\tunsigned int rterm;\n\tunsigned int sel_t;\n\tunsigned int hs_i;\n};\n\nstruct uniphier_u3ssphy_param {\n\tstruct {\n\t\tint reg_no;\n\t\tint msb;\n\t\tint lsb;\n\t} field;\n\tu8 value;\n};\n\nstruct uniphier_u3ssphy_soc_data;\n\nstruct uniphier_u3ssphy_priv {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk *clk;\n\tstruct clk *clk_ext;\n\tstruct clk *clk_parent;\n\tstruct clk *clk_parent_gio;\n\tstruct reset_control *rst;\n\tstruct reset_control *rst_parent;\n\tstruct reset_control *rst_parent_gio;\n\tstruct regulator *vbus;\n\tconst struct uniphier_u3ssphy_soc_data *data;\n};\n\nstruct uniphier_u3ssphy_soc_data {\n\tbool is_legacy;\n\tint nparams;\n\tconst struct uniphier_u3ssphy_param param[7];\n};\n\nstruct uniphier_wdt_dev {\n\tstruct watchdog_device wdt_dev;\n\tstruct regmap *regmap;\n};\n\nstruct unix_address {\n\trefcount_t refcnt;\n\tint len;\n\tstruct sockaddr_un name[0];\n};\n\nstruct unix_domain {\n\tstruct auth_domain h;\n};\n\nstruct unix_edge {\n\tstruct unix_sock *predecessor;\n\tstruct unix_sock *successor;\n\tstruct list_head vertex_entry;\n\tstruct list_head stack_entry;\n};\n\nstruct unix_gid {\n\tstruct cache_head h;\n\tkuid_t uid;\n\tstruct group_info *gi;\n\tstruct callback_head rcu;\n};\n\nstruct unix_skb_parms {\n\tstruct pid *pid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct scm_fp_list *fp;\n\tu32 consumed;\n};\n\nstruct unix_vertex;\n\nstruct unix_sock {\n\tstruct sock sk;\n\tstruct unix_address *addr;\n\tstruct path path;\n\tstruct mutex iolock;\n\tstruct mutex bindlock;\n\tstruct sock *peer;\n\tstruct sock *listener;\n\tstruct unix_vertex *vertex;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct socket_wq peer_wq;\n\twait_queue_entry_t peer_wake;\n\tstruct scm_stat scm_stat;\n\tstruct sk_buff *oob_skb;\n};\n\nstruct unix_stream_read_state {\n\tint (*recv_actor)(struct sk_buff *, int, int, struct unix_stream_read_state *);\n\tstruct socket *socket;\n\tstruct msghdr *msg;\n\tstruct pipe_inode_info *pipe;\n\tsize_t size;\n\tint flags;\n\tunsigned int splice_flags;\n};\n\nstruct unix_vertex {\n\tstruct list_head edges;\n\tstruct list_head entry;\n\tstruct list_head scc_entry;\n\tlong unsigned int out_degree;\n\tlong unsigned int index;\n\tlong unsigned int scc_index;\n};\n\nstruct unlink_vma_file_batch {\n\tint count;\n\tstruct vm_area_struct *vmas[8];\n};\n\nstruct unmap_refs_callback_data {\n\tstruct completion completion;\n\tint result;\n};\n\nstruct unmap_ring_hvm {\n\tunsigned int idx;\n\tlong unsigned int addrs[16];\n};\n\nstruct update_cgr_params {\n\tstruct qman_cgr *cgr;\n\tstruct qm_mcc_initcgr *opts;\n\tint ret;\n};\n\nunion upper_chunk {\n\tunion upper_chunk *next;\n\tunion lower_chunk *data[256];\n};\n\nstruct uprobe {\n\tstruct rb_node rb_node;\n\trefcount_t ref;\n\tstruct rw_semaphore register_rwsem;\n\tstruct rw_semaphore consumer_rwsem;\n\tstruct list_head pending_list;\n\tstruct list_head consumers;\n\tstruct inode *inode;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n\tloff_t offset;\n\tloff_t ref_ctr_offset;\n\tlong unsigned int flags;\n\tstruct arch_uprobe arch;\n};\n\nstruct uprobe_cpu_buffer {\n\tstruct mutex mutex;\n\tvoid *buf;\n\tint dsize;\n};\n\nstruct uprobe_dispatch_data {\n\tstruct trace_uprobe *tu;\n\tlong unsigned int bp_addr;\n};\n\nstruct uprobe_task {\n\tenum uprobe_task_state state;\n\tunsigned int depth;\n\tstruct return_instance *return_instances;\n\tstruct return_instance *ri_pool;\n\tstruct timer_list ri_timer;\n\tseqcount_t ri_seqcount;\n\tunion {\n\t\tstruct {\n\t\t\tstruct arch_uprobe_task autask;\n\t\t\tlong unsigned int vaddr;\n\t\t};\n\t\tstruct {\n\t\t\tstruct callback_head dup_xol_work;\n\t\t\tlong unsigned int dup_xol_addr;\n\t\t};\n\t};\n\tstruct uprobe *active_uprobe;\n\tlong unsigned int xol_vaddr;\n\tstruct arch_uprobe *auprobe;\n};\n\nstruct uprobe_trace_entry_head {\n\tstruct trace_entry ent;\n\tlong unsigned int vaddr[0];\n};\n\ntypedef void (*usb_complete_t)(struct urb *);\n\nstruct usb_iso_packet_descriptor {\n\tunsigned int offset;\n\tunsigned int length;\n\tunsigned int actual_length;\n\tint status;\n};\n\nstruct usb_anchor;\n\nstruct urb {\n\tstruct kref kref;\n\tint unlinked;\n\tvoid *hcpriv;\n\tatomic_t use_count;\n\tatomic_t reject;\n\tstruct list_head urb_list;\n\tstruct list_head anchor_list;\n\tstruct usb_anchor *anchor;\n\tstruct usb_device *dev;\n\tstruct usb_host_endpoint *ep;\n\tunsigned int pipe;\n\tunsigned int stream_id;\n\tint status;\n\tunsigned int transfer_flags;\n\tvoid *transfer_buffer;\n\tdma_addr_t transfer_dma;\n\tstruct scatterlist *sg;\n\tint num_mapped_sgs;\n\tint num_sgs;\n\tu32 transfer_buffer_length;\n\tu32 actual_length;\n\tunsigned char *setup_packet;\n\tdma_addr_t setup_dma;\n\tint start_frame;\n\tint number_of_packets;\n\tint interval;\n\tint error_count;\n\tvoid *context;\n\tusb_complete_t complete;\n\tstruct usb_iso_packet_descriptor iso_frame_desc[0];\n};\n\nstruct urb_listitem {\n\tstruct list_head urb_list;\n\tstruct urb *urb;\n};\n\nstruct urb_priv {\n\tstruct ed *ed;\n\tu16 length;\n\tu16 td_cnt;\n\tstruct list_head pending;\n\tstruct td *td[0];\n};\n\nstruct xhci_segment;\n\nstruct xhci_td {\n\tstruct list_head td_list;\n\tstruct list_head cancelled_td_list;\n\tint status;\n\tenum xhci_cancelled_td_status cancel_status;\n\tstruct urb *urb;\n\tstruct xhci_segment *start_seg;\n\tunion xhci_trb *start_trb;\n\tstruct xhci_segment *end_seg;\n\tunion xhci_trb *end_trb;\n\tstruct xhci_segment *bounce_seg;\n\tbool urb_length_set;\n\tbool error_mid_td;\n};\n\nstruct urb_priv___2 {\n\tint num_tds;\n\tint num_tds_done;\n\tstruct xhci_td td[0];\n};\n\ntypedef struct urb_priv urb_priv_t;\n\nstruct us_data;\n\ntypedef int (*trans_cmnd)(struct scsi_cmnd *, struct us_data *);\n\ntypedef int (*trans_reset)(struct us_data *);\n\ntypedef void (*proto_cmnd)(struct scsi_cmnd *, struct us_data *);\n\nstruct usb_sg_request {\n\tint status;\n\tsize_t bytes;\n\tspinlock_t lock;\n\tstruct usb_device *dev;\n\tint pipe;\n\tint entries;\n\tstruct urb **urbs;\n\tint count;\n\tstruct completion complete;\n};\n\ntypedef void (*extra_data_destructor)(void *);\n\ntypedef void (*pm_hook)(struct us_data *, int);\n\nstruct usb_interface;\n\nstruct us_unusual_dev;\n\nstruct us_data {\n\tstruct mutex dev_mutex;\n\tstruct usb_device *pusb_dev;\n\tstruct usb_interface *pusb_intf;\n\tconst struct us_unusual_dev *unusual_dev;\n\tu64 fflags;\n\tlong unsigned int dflags;\n\tunsigned int send_bulk_pipe;\n\tunsigned int recv_bulk_pipe;\n\tunsigned int send_ctrl_pipe;\n\tunsigned int recv_ctrl_pipe;\n\tunsigned int recv_intr_pipe;\n\tchar *transport_name;\n\tchar *protocol_name;\n\t__le32 bcs_signature;\n\tu8 subclass;\n\tu8 protocol;\n\tu8 max_lun;\n\tu8 ifnum;\n\tu8 ep_bInterval;\n\ttrans_cmnd transport;\n\ttrans_reset transport_reset;\n\tproto_cmnd proto_handler;\n\tstruct scsi_cmnd *srb;\n\tunsigned int tag;\n\tchar scsi_name[32];\n\tstruct urb *current_urb;\n\tstruct usb_ctrlrequest *cr;\n\tstruct usb_sg_request current_sg;\n\tunsigned char *iobuf;\n\tdma_addr_t iobuf_dma;\n\tstruct task_struct *ctl_thread;\n\tstruct completion cmnd_ready;\n\tstruct completion notify;\n\twait_queue_head_t delay_wait;\n\tstruct delayed_work scan_dwork;\n\tvoid *extra;\n\textra_data_destructor extra_destructor;\n\tpm_hook suspend_resume_hook;\n\tint use_last_sector_hacks;\n\tint last_sector_retries;\n};\n\nstruct us_unusual_dev {\n\tconst char *vendorName;\n\tconst char *productName;\n\t__u8 useProtocol;\n\t__u8 useTransport;\n\tint (*initFunction)(struct us_data *);\n};\n\nstruct usage_priority {\n\t__u32 usage;\n\tbool global;\n\tunsigned int slot_overwrite;\n};\n\nstruct usb2_clock_sel_priv {\n\tvoid *base;\n\tstruct clk_hw hw;\n\tstruct clk_bulk_data clks[2];\n\tstruct reset_control *rsts;\n\tbool extal;\n\tbool xtal;\n};\n\nstruct usb2_lpm_parameters {\n\tunsigned int besl;\n\tint timeout;\n};\n\nstruct usb3503 {\n\tenum usb3503_mode mode;\n\tstruct regmap *regmap;\n\tstruct device *dev;\n\tstruct clk *clk;\n\tu8 port_off_mask;\n\tstruct gpio_desc *bypass;\n\tstruct gpio_desc *intn;\n\tstruct gpio_desc *reset;\n\tstruct gpio_desc *connect;\n\tbool secondary_ref_clk;\n};\n\nstruct usb3503_platform_data {\n\tenum usb3503_mode initial_mode;\n\tu8 port_off_mask;\n};\n\nstruct usb3_lpm_parameters {\n\tunsigned int mel;\n\tunsigned int pel;\n\tunsigned int sel;\n\tint timeout;\n};\n\nstruct usb_anchor {\n\tstruct list_head urb_list;\n\twait_queue_head_t wait;\n\tspinlock_t lock;\n\tatomic_t suspend_wakeups;\n\tunsigned int poisoned: 1;\n};\n\nstruct usb_bos_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wTotalLength;\n\t__u8 bNumDeviceCaps;\n} __attribute__((packed));\n\nstruct usb_bus {\n\tstruct device *controller;\n\tstruct device *sysdev;\n\tint busnum;\n\tconst char *bus_name;\n\tu8 uses_pio_for_control;\n\tu8 otg_port;\n\tunsigned int is_b_host: 1;\n\tunsigned int b_hnp_enable: 1;\n\tunsigned int no_stop_on_short: 1;\n\tunsigned int no_sg_constraint: 1;\n\tunsigned int sg_tablesize;\n\tint devnum_next;\n\tstruct mutex devnum_next_mutex;\n\tlong unsigned int devmap[2];\n\tstruct usb_device *root_hub;\n\tstruct usb_bus *hs_companion;\n\tint bandwidth_allocated;\n\tint bandwidth_int_reqs;\n\tint bandwidth_isoc_reqs;\n\tunsigned int resuming_ports;\n};\n\nstruct usb_cdc_acm_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bmCapabilities;\n};\n\nstruct usb_cdc_call_mgmt_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bmCapabilities;\n\t__u8 bDataInterface;\n};\n\nstruct usb_cdc_country_functional_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 iCountryCodeRelDate;\n\t__le16 wCountyCode0;\n};\n\nstruct usb_cdc_dmm_desc {\n\t__u8 bFunctionLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubtype;\n\t__u16 bcdVersion;\n\t__le16 wMaxCommand;\n} __attribute__((packed));\n\nstruct usb_cdc_ether_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 iMACAddress;\n\t__le32 bmEthernetStatistics;\n\t__le16 wMaxSegmentSize;\n\t__le16 wNumberMCFilters;\n\t__u8 bNumberPowerFilters;\n} __attribute__((packed));\n\nstruct usb_cdc_header_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdCDC;\n} __attribute__((packed));\n\nstruct usb_cdc_mbim_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdMBIMVersion;\n\t__le16 wMaxControlMessage;\n\t__u8 bNumberFilters;\n\t__u8 bMaxFilterSize;\n\t__le16 wMaxSegmentSize;\n\t__u8 bmNetworkCapabilities;\n} __attribute__((packed));\n\nstruct usb_cdc_mbim_extended_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdMBIMExtendedVersion;\n\t__u8 bMaxOutstandingCommandMessages;\n\t__le16 wMTU;\n} __attribute__((packed));\n\nstruct usb_cdc_mdlm_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdVersion;\n\t__u8 bGUID[16];\n} __attribute__((packed));\n\nstruct usb_cdc_mdlm_detail_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bGuidDescriptorType;\n\t__u8 bDetailData[0];\n};\n\nstruct usb_cdc_ncm_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdNcmVersion;\n\t__u8 bmNetworkCapabilities;\n} __attribute__((packed));\n\nstruct usb_cdc_network_terminal_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bEntityId;\n\t__u8 iName;\n\t__u8 bChannelIndex;\n\t__u8 bPhysicalInterface;\n};\n\nstruct usb_cdc_obex_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdVersion;\n} __attribute__((packed));\n\nstruct usb_cdc_union_desc;\n\nstruct usb_cdc_parsed_header {\n\tstruct usb_cdc_union_desc *usb_cdc_union_desc;\n\tstruct usb_cdc_header_desc *usb_cdc_header_desc;\n\tstruct usb_cdc_call_mgmt_descriptor *usb_cdc_call_mgmt_descriptor;\n\tstruct usb_cdc_acm_descriptor *usb_cdc_acm_descriptor;\n\tstruct usb_cdc_country_functional_desc *usb_cdc_country_functional_desc;\n\tstruct usb_cdc_network_terminal_desc *usb_cdc_network_terminal_desc;\n\tstruct usb_cdc_ether_desc *usb_cdc_ether_desc;\n\tstruct usb_cdc_dmm_desc *usb_cdc_dmm_desc;\n\tstruct usb_cdc_mdlm_desc *usb_cdc_mdlm_desc;\n\tstruct usb_cdc_mdlm_detail_desc *usb_cdc_mdlm_detail_desc;\n\tstruct usb_cdc_obex_desc *usb_cdc_obex_desc;\n\tstruct usb_cdc_ncm_desc *usb_cdc_ncm_desc;\n\tstruct usb_cdc_mbim_desc *usb_cdc_mbim_desc;\n\tstruct usb_cdc_mbim_extended_desc *usb_cdc_mbim_extended_desc;\n\tbool phonet_magic_present;\n};\n\nstruct usb_cdc_union_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bMasterInterface0;\n\t__u8 bSlaveInterface0;\n};\n\nstruct usb_class_driver {\n\tchar *name;\n\tchar * (*devnode)(const struct device *, umode_t *);\n\tconst struct file_operations *fops;\n\tint minor_base;\n};\n\nstruct usb_config_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wTotalLength;\n\t__u8 bNumInterfaces;\n\t__u8 bConfigurationValue;\n\t__u8 iConfiguration;\n\t__u8 bmAttributes;\n\t__u8 bMaxPower;\n} __attribute__((packed));\n\nstruct usb_conn_info {\n\tstruct device *dev;\n\tstruct usb_role_switch *role_sw;\n\tenum usb_role last_role;\n\tstruct regulator *vbus;\n\tstruct delayed_work dw_det;\n\tlong unsigned int debounce_jiffies;\n\tstruct gpio_desc *id_gpiod;\n\tstruct gpio_desc *vbus_gpiod;\n\tint id_irq;\n\tint vbus_irq;\n\tstruct power_supply_desc desc;\n\tstruct power_supply *charger;\n\tbool initial_detection;\n};\n\nstruct usb_dcd_config_params {\n\t__u8 bU1devExitLat;\n\t__le16 bU2DevExitLat;\n\t__u8 besl_baseline;\n\t__u8 besl_deep;\n};\n\nstruct usb_descriptor_header {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n};\n\nstruct usb_dev_cap_header {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n};\n\nstruct usb_dev_state {\n\tstruct list_head list;\n\tstruct usb_device *dev;\n\tstruct file *file;\n\tspinlock_t lock;\n\tstruct list_head async_pending;\n\tstruct list_head async_completed;\n\tstruct list_head memory_list;\n\twait_queue_head_t wait;\n\twait_queue_head_t wait_for_resume;\n\tunsigned int discsignr;\n\tstruct pid *disc_pid;\n\tconst struct cred *cred;\n\tsigval_t disccontext;\n\tlong unsigned int ifclaimed;\n\tu32 disabled_bulk_eps;\n\tlong unsigned int interface_allowed_mask;\n\tint not_yet_resumed;\n\tbool suspend_allowed;\n\tbool privileges_dropped;\n};\n\nstruct usb_endpoint_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bEndpointAddress;\n\t__u8 bmAttributes;\n\t__le16 wMaxPacketSize;\n\t__u8 bInterval;\n\t__u8 bRefresh;\n\t__u8 bSynchAddress;\n} __attribute__((packed));\n\nstruct usb_ss_ep_comp_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bMaxBurst;\n\t__u8 bmAttributes;\n\t__le16 wBytesPerInterval;\n};\n\nstruct usb_ssp_isoc_ep_comp_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wReseved;\n\t__le32 dwBytesPerInterval;\n};\n\nstruct usb_host_endpoint {\n\tstruct usb_endpoint_descriptor desc;\n\tstruct usb_ss_ep_comp_descriptor ss_ep_comp;\n\tstruct usb_ssp_isoc_ep_comp_descriptor ssp_isoc_ep_comp;\n\tlong: 0;\n\tstruct list_head urb_list;\n\tvoid *hcpriv;\n\tstruct ep_device *ep_dev;\n\tunsigned char *extra;\n\tint extralen;\n\tint enabled;\n\tint streams;\n\tlong: 0;\n} __attribute__((packed));\n\nstruct usb_device_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdUSB;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bMaxPacketSize0;\n\t__le16 idVendor;\n\t__le16 idProduct;\n\t__le16 bcdDevice;\n\t__u8 iManufacturer;\n\t__u8 iProduct;\n\t__u8 iSerialNumber;\n\t__u8 bNumConfigurations;\n};\n\nstruct usb_host_bos;\n\nstruct usb_host_config;\n\nstruct usb_device {\n\tint devnum;\n\tchar devpath[16];\n\tu32 route;\n\tenum usb_device_state state;\n\tenum usb_device_speed speed;\n\tunsigned int rx_lanes;\n\tunsigned int tx_lanes;\n\tenum usb_ssp_rate ssp_rate;\n\tstruct usb_tt *tt;\n\tint ttport;\n\tunsigned int toggle[2];\n\tstruct usb_device *parent;\n\tstruct usb_bus *bus;\n\tstruct usb_host_endpoint ep0;\n\tstruct device dev;\n\tstruct usb_device_descriptor descriptor;\n\tstruct usb_host_bos *bos;\n\tstruct usb_host_config *config;\n\tstruct usb_host_config *actconfig;\n\tstruct usb_host_endpoint *ep_in[16];\n\tstruct usb_host_endpoint *ep_out[16];\n\tchar **rawdescriptors;\n\tshort unsigned int bus_mA;\n\tu8 portnum;\n\tu8 level;\n\tu8 devaddr;\n\tunsigned int can_submit: 1;\n\tunsigned int persist_enabled: 1;\n\tunsigned int reset_in_progress: 1;\n\tunsigned int have_langid: 1;\n\tunsigned int authorized: 1;\n\tunsigned int authenticated: 1;\n\tunsigned int lpm_capable: 1;\n\tunsigned int lpm_devinit_allow: 1;\n\tunsigned int usb2_hw_lpm_capable: 1;\n\tunsigned int usb2_hw_lpm_besl_capable: 1;\n\tunsigned int usb2_hw_lpm_enabled: 1;\n\tunsigned int usb2_hw_lpm_allowed: 1;\n\tunsigned int usb3_lpm_u1_enabled: 1;\n\tunsigned int usb3_lpm_u2_enabled: 1;\n\tint string_langid;\n\tchar *product;\n\tchar *manufacturer;\n\tchar *serial;\n\tstruct list_head filelist;\n\tint maxchild;\n\tu32 quirks;\n\tatomic_t urbnum;\n\tlong unsigned int active_duration;\n\tlong unsigned int connect_time;\n\tunsigned int do_remote_wakeup: 1;\n\tunsigned int reset_resume: 1;\n\tunsigned int port_is_suspended: 1;\n\tenum usb_link_tunnel_mode tunnel_mode;\n\tint slot_id;\n\tstruct usb2_lpm_parameters l1_params;\n\tstruct usb3_lpm_parameters u1_params;\n\tstruct usb3_lpm_parameters u2_params;\n\tunsigned int lpm_disable_count;\n\tu16 hub_delay;\n\tunsigned int use_generic_driver: 1;\n};\n\nstruct usb_device_id;\n\nstruct usb_device_driver {\n\tconst char *name;\n\tbool (*match)(struct usb_device *);\n\tint (*probe)(struct usb_device *);\n\tvoid (*disconnect)(struct usb_device *);\n\tint (*suspend)(struct usb_device *, pm_message_t);\n\tint (*resume)(struct usb_device *, pm_message_t);\n\tint (*choose_configuration)(struct usb_device *);\n\tconst struct attribute_group **dev_groups;\n\tstruct device_driver driver;\n\tconst struct usb_device_id *id_table;\n\tunsigned int supports_autosuspend: 1;\n\tunsigned int generic_subclass: 1;\n};\n\nstruct usb_device_id {\n\t__u16 match_flags;\n\t__u16 idVendor;\n\t__u16 idProduct;\n\t__u16 bcdDevice_lo;\n\t__u16 bcdDevice_hi;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bInterfaceClass;\n\t__u8 bInterfaceSubClass;\n\t__u8 bInterfaceProtocol;\n\t__u8 bInterfaceNumber;\n\tkernel_ulong_t driver_info;\n};\n\nstruct usb_dynids {\n\tstruct list_head list;\n};\n\nstruct usb_driver {\n\tconst char *name;\n\tint (*probe)(struct usb_interface *, const struct usb_device_id *);\n\tvoid (*disconnect)(struct usb_interface *);\n\tint (*unlocked_ioctl)(struct usb_interface *, unsigned int, void *);\n\tint (*suspend)(struct usb_interface *, pm_message_t);\n\tint (*resume)(struct usb_interface *);\n\tint (*reset_resume)(struct usb_interface *);\n\tint (*pre_reset)(struct usb_interface *);\n\tint (*post_reset)(struct usb_interface *);\n\tvoid (*shutdown)(struct usb_interface *);\n\tconst struct usb_device_id *id_table;\n\tconst struct attribute_group **dev_groups;\n\tstruct usb_dynids dynids;\n\tstruct device_driver driver;\n\tunsigned int no_dynamic_id: 1;\n\tunsigned int supports_autosuspend: 1;\n\tunsigned int disable_hub_initiated_lpm: 1;\n\tunsigned int soft_unbind: 1;\n};\n\nstruct usb_dynid {\n\tstruct list_head node;\n\tstruct usb_device_id id;\n};\n\nstruct usb_ehci_pdata {\n\tint caps_offset;\n\tunsigned int has_tt: 1;\n\tunsigned int has_synopsys_hc_bug: 1;\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int no_io_watchdog: 1;\n\tunsigned int reset_on_resume: 1;\n\tunsigned int dma_mask_64: 1;\n\tunsigned int spurious_oc: 1;\n\tint (*power_on)(struct platform_device *);\n\tvoid (*power_off)(struct platform_device *);\n\tvoid (*power_suspend)(struct platform_device *);\n\tint (*pre_setup)(struct usb_hcd *);\n};\n\nstruct usb_ep_ops {\n\tint (*enable)(struct usb_ep *, const struct usb_endpoint_descriptor *);\n\tint (*disable)(struct usb_ep *);\n\tvoid (*dispose)(struct usb_ep *);\n\tstruct usb_request * (*alloc_request)(struct usb_ep *, gfp_t);\n\tvoid (*free_request)(struct usb_ep *, struct usb_request *);\n\tint (*queue)(struct usb_ep *, struct usb_request *, gfp_t);\n\tint (*dequeue)(struct usb_ep *, struct usb_request *);\n\tint (*set_halt)(struct usb_ep *, int);\n\tint (*set_wedge)(struct usb_ep *);\n\tint (*fifo_status)(struct usb_ep *);\n\tvoid (*fifo_flush)(struct usb_ep *);\n};\n\nstruct usb_ext_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__le32 bmAttributes;\n} __attribute__((packed));\n\nstruct usb_extcon_info {\n\tstruct device *dev;\n\tstruct extcon_dev *edev;\n\tstruct gpio_desc *id_gpiod;\n\tstruct gpio_desc *vbus_gpiod;\n\tint id_irq;\n\tint vbus_irq;\n\tlong unsigned int debounce_jiffies;\n\tstruct delayed_work wq_detcable;\n};\n\nstruct usb_gadget_driver {\n\tchar *function;\n\tenum usb_device_speed max_speed;\n\tint (*bind)(struct usb_gadget *, struct usb_gadget_driver *);\n\tvoid (*unbind)(struct usb_gadget *);\n\tint (*setup)(struct usb_gadget *, const struct usb_ctrlrequest *);\n\tvoid (*disconnect)(struct usb_gadget *);\n\tvoid (*suspend)(struct usb_gadget *);\n\tvoid (*resume)(struct usb_gadget *);\n\tvoid (*reset)(struct usb_gadget *);\n\tstruct device_driver driver;\n\tchar *udc_name;\n\tunsigned int match_existing_only: 1;\n\tbool is_bound: 1;\n};\n\nstruct usb_gadget_ops {\n\tint (*get_frame)(struct usb_gadget *);\n\tint (*wakeup)(struct usb_gadget *);\n\tint (*func_wakeup)(struct usb_gadget *, int);\n\tint (*set_remote_wakeup)(struct usb_gadget *, int);\n\tint (*set_selfpowered)(struct usb_gadget *, int);\n\tint (*vbus_session)(struct usb_gadget *, int);\n\tint (*vbus_draw)(struct usb_gadget *, unsigned int);\n\tint (*pullup)(struct usb_gadget *, int);\n\tint (*ioctl)(struct usb_gadget *, unsigned int, long unsigned int);\n\tvoid (*get_config_params)(struct usb_gadget *, struct usb_dcd_config_params *);\n\tint (*udc_start)(struct usb_gadget *, struct usb_gadget_driver *);\n\tint (*udc_stop)(struct usb_gadget *);\n\tvoid (*udc_set_speed)(struct usb_gadget *, enum usb_device_speed);\n\tvoid (*udc_set_ssp_rate)(struct usb_gadget *, enum usb_ssp_rate);\n\tvoid (*udc_async_callbacks)(struct usb_gadget *, bool);\n\tstruct usb_ep * (*match_ep)(struct usb_gadget *, struct usb_endpoint_descriptor *, struct usb_ss_ep_comp_descriptor *);\n\tint (*check_config)(struct usb_gadget *);\n};\n\nstruct usb_phy_roothub;\n\nstruct usb_hcd {\n\tstruct usb_bus self;\n\tstruct kref kref;\n\tconst char *product_desc;\n\tint speed;\n\tchar irq_descr[24];\n\tstruct timer_list rh_timer;\n\tstruct urb *status_urb;\n\tstruct work_struct wakeup_work;\n\tstruct work_struct died_work;\n\tconst struct hc_driver *driver;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_phy_roothub *phy_roothub;\n\tlong unsigned int flags;\n\tenum usb_dev_authorize_policy dev_policy;\n\tunsigned int rh_registered: 1;\n\tunsigned int rh_pollable: 1;\n\tunsigned int msix_enabled: 1;\n\tunsigned int msi_enabled: 1;\n\tunsigned int skip_phy_initialization: 1;\n\tunsigned int uses_new_polling: 1;\n\tunsigned int has_tt: 1;\n\tunsigned int amd_resume_bug: 1;\n\tunsigned int can_do_streams: 1;\n\tunsigned int tpl_support: 1;\n\tunsigned int cant_recv_wakeups: 1;\n\tunsigned int irq;\n\tvoid *regs;\n\tresource_size_t rsrc_start;\n\tresource_size_t rsrc_len;\n\tunsigned int power_budget;\n\tstruct giveback_urb_bh high_prio_bh;\n\tstruct giveback_urb_bh low_prio_bh;\n\tstruct mutex *address0_mutex;\n\tstruct mutex *bandwidth_mutex;\n\tstruct usb_hcd *shared_hcd;\n\tstruct usb_hcd *primary_hcd;\n\tstruct dma_pool *pool[4];\n\tint state;\n\tstruct gen_pool *localmem_pool;\n\tlong unsigned int hcd_priv[0];\n};\n\nstruct usb_ss_cap_descriptor;\n\nstruct usb_ssp_cap_descriptor;\n\nstruct usb_ss_container_id_descriptor;\n\nstruct usb_ptm_cap_descriptor;\n\nstruct usb_host_bos {\n\tstruct usb_bos_descriptor *desc;\n\tstruct usb_ext_cap_descriptor *ext_cap;\n\tstruct usb_ss_cap_descriptor *ss_cap;\n\tstruct usb_ssp_cap_descriptor *ssp_cap;\n\tstruct usb_ss_container_id_descriptor *ss_id;\n\tstruct usb_ptm_cap_descriptor *ptm_cap;\n};\n\nstruct usb_interface_assoc_descriptor;\n\nstruct usb_interface_cache;\n\nstruct usb_host_config {\n\tstruct usb_config_descriptor desc;\n\tchar *string;\n\tstruct usb_interface_assoc_descriptor *intf_assoc[16];\n\tstruct usb_interface *interface[32];\n\tstruct usb_interface_cache *intf_cache[32];\n\tunsigned char *extra;\n\tint extralen;\n};\n\nstruct usb_interface_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bInterfaceNumber;\n\t__u8 bAlternateSetting;\n\t__u8 bNumEndpoints;\n\t__u8 bInterfaceClass;\n\t__u8 bInterfaceSubClass;\n\t__u8 bInterfaceProtocol;\n\t__u8 iInterface;\n};\n\nstruct usb_host_interface {\n\tstruct usb_interface_descriptor desc;\n\tint extralen;\n\tunsigned char *extra;\n\tstruct usb_host_endpoint *endpoint;\n\tchar *string;\n};\n\nstruct usb_hub_status {\n\t__le16 wHubStatus;\n\t__le16 wHubChange;\n};\n\nstruct usb_port_status {\n\t__le16 wPortStatus;\n\t__le16 wPortChange;\n\t__le32 dwExtPortStatus;\n};\n\nstruct usb_tt {\n\tstruct usb_device *hub;\n\tint multi;\n\tunsigned int think_time;\n\tvoid *hcpriv;\n\tspinlock_t lock;\n\tstruct list_head clear_list;\n\tstruct work_struct clear_work;\n};\n\nstruct usb_hub_descriptor;\n\nstruct usb_port;\n\nstruct usb_hub {\n\tstruct device *intfdev;\n\tstruct usb_device *hdev;\n\tstruct kref kref;\n\tstruct urb *urb;\n\tu8 (*buffer)[8];\n\tunion {\n\t\tstruct usb_hub_status hub;\n\t\tstruct usb_port_status port;\n\t} *status;\n\tstruct mutex status_mutex;\n\tint error;\n\tint nerrors;\n\tlong unsigned int event_bits[1];\n\tlong unsigned int change_bits[1];\n\tlong unsigned int removed_bits[1];\n\tlong unsigned int wakeup_bits[1];\n\tlong unsigned int power_bits[1];\n\tlong unsigned int child_usage_bits[1];\n\tlong unsigned int warm_reset_bits[1];\n\tstruct usb_hub_descriptor *descriptor;\n\tstruct usb_tt tt;\n\tunsigned int mA_per_port;\n\tunsigned int wakeup_enabled_descendants;\n\tunsigned int limited_power: 1;\n\tunsigned int quiescing: 1;\n\tunsigned int disconnected: 1;\n\tunsigned int in_reset: 1;\n\tunsigned int quirk_disable_autosuspend: 1;\n\tunsigned int quirk_check_port_auto_suspend: 1;\n\tunsigned int has_indicators: 1;\n\tu8 indicator[31];\n\tstruct delayed_work leds;\n\tstruct delayed_work init_work;\n\tstruct work_struct events;\n\tspinlock_t irq_urb_lock;\n\tstruct timer_list irq_urb_retry;\n\tstruct usb_port **ports;\n\tstruct list_head onboard_devs;\n};\n\nstruct usb_hub_descriptor {\n\t__u8 bDescLength;\n\t__u8 bDescriptorType;\n\t__u8 bNbrPorts;\n\t__le16 wHubCharacteristics;\n\t__u8 bPwrOn2PwrGood;\n\t__u8 bHubContrCurrent;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 DeviceRemovable[4];\n\t\t\t__u8 PortPwrCtrlMask[4];\n\t\t} hs;\n\t\tstruct {\n\t\t\t__u8 bHubHdrDecLat;\n\t\t\t__le16 wHubDelay;\n\t\t\t__le16 DeviceRemovable;\n\t\t} __attribute__((packed)) ss;\n\t} u;\n} __attribute__((packed));\n\nstruct usb_interface {\n\tstruct usb_host_interface *altsetting;\n\tstruct usb_host_interface *cur_altsetting;\n\tunsigned int num_altsetting;\n\tstruct usb_interface_assoc_descriptor *intf_assoc;\n\tint minor;\n\tenum usb_interface_condition condition;\n\tunsigned int sysfs_files_created: 1;\n\tunsigned int ep_devs_created: 1;\n\tunsigned int unregistering: 1;\n\tunsigned int needs_remote_wakeup: 1;\n\tunsigned int needs_altsetting0: 1;\n\tunsigned int needs_binding: 1;\n\tunsigned int resetting_device: 1;\n\tunsigned int authorized: 1;\n\tenum usb_wireless_status wireless_status;\n\tstruct work_struct wireless_status_work;\n\tstruct device dev;\n\tstruct device *usb_dev;\n\tstruct work_struct reset_ws;\n};\n\nstruct usb_interface_assoc_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bFirstInterface;\n\t__u8 bInterfaceCount;\n\t__u8 bFunctionClass;\n\t__u8 bFunctionSubClass;\n\t__u8 bFunctionProtocol;\n\t__u8 iFunction;\n};\n\nstruct usb_interface_cache {\n\tunsigned int num_altsetting;\n\tstruct kref ref;\n\tstruct usb_host_interface altsetting[0];\n};\n\nstruct usb_memory {\n\tstruct list_head memlist;\n\tint vma_use_count;\n\tint urb_use_count;\n\tu32 size;\n\tvoid *mem;\n\tdma_addr_t dma_handle;\n\tlong unsigned int vm_start;\n\tstruct usb_dev_state *ps;\n};\n\nstruct usb_ohci_pdata {\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int no_big_frame_no: 1;\n\tunsigned int num_ports;\n\tint (*power_on)(struct platform_device *);\n\tvoid (*power_off)(struct platform_device *);\n\tvoid (*power_suspend)(struct platform_device *);\n};\n\nstruct usb_otg_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bmAttributes;\n};\n\nstruct usb_phy_generic {\n\tstruct usb_phy phy;\n\tstruct device *dev;\n\tstruct clk *clk;\n\tstruct regulator *vcc;\n\tstruct gpio_desc *gpiod_reset;\n\tstruct gpio_desc *gpiod_vbus;\n\tstruct regulator *vbus_draw;\n\tbool vbus_draw_enabled;\n\tlong unsigned int mA;\n\tunsigned int vbus;\n};\n\nstruct usb_phy_io_ops {\n\tint (*read)(struct usb_phy *, u32);\n\tint (*write)(struct usb_phy *, u32, u32);\n};\n\nstruct usb_phy_roothub {\n\tstruct phy *phy;\n\tstruct list_head list;\n};\n\nstruct usb_port {\n\tstruct usb_device *child;\n\tstruct device dev;\n\tstruct usb_dev_state *port_owner;\n\tstruct usb_port *peer;\n\tstruct typec_connector *connector;\n\tstruct dev_pm_qos_request *req;\n\tenum usb_port_connect_type connect_type;\n\tenum usb_device_state state;\n\tstruct kernfs_node *state_kn;\n\tusb_port_location_t location;\n\tstruct mutex status_lock;\n\tu32 over_current_count;\n\tu8 portnum;\n\tu32 quirks;\n\tunsigned int early_stop: 1;\n\tunsigned int ignore_event: 1;\n\tunsigned int is_superspeed: 1;\n\tunsigned int usb3_lpm_u1_permit: 1;\n\tunsigned int usb3_lpm_u2_permit: 1;\n};\n\nstruct usb_ptm_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n};\n\nstruct usb_qualifier_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdUSB;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bMaxPacketSize0;\n\t__u8 bNumConfigurations;\n\t__u8 bRESERVED;\n};\n\nstruct usb_role_switch {\n\tstruct device dev;\n\tstruct lock_class_key key;\n\tstruct mutex lock;\n\tstruct module *module;\n\tenum usb_role role;\n\tbool registered;\n\tstruct device *usb2_port;\n\tstruct device *usb3_port;\n\tstruct device *udc;\n\tusb_role_switch_set_t set;\n\tusb_role_switch_get_t get;\n\tbool allow_userspace_control;\n};\n\nstruct usb_set_sel_req {\n\t__u8 u1_sel;\n\t__u8 u1_pel;\n\t__le16 u2_sel;\n\t__le16 u2_pel;\n};\n\nstruct usb_ss_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bmAttributes;\n\t__le16 wSpeedSupported;\n\t__u8 bFunctionalitySupport;\n\t__u8 bU1devExitLat;\n\t__le16 bU2DevExitLat;\n};\n\nstruct usb_ss_container_id_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bReserved;\n\t__u8 ContainerID[16];\n};\n\nstruct usb_ssp_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bReserved;\n\t__le32 bmAttributes;\n\t__le16 wFunctionalitySupport;\n\t__le16 wReserved;\n\tunion {\n\t\t__le32 legacy_padding;\n\t\tstruct {\n\t\t\tstruct {} __empty_bmSublinkSpeedAttr;\n\t\t\t__le32 bmSublinkSpeedAttr[0];\n\t\t};\n\t};\n};\n\nstruct usb_tt_clear {\n\tstruct list_head clear_list;\n\tunsigned int tt;\n\tu16 devinfo;\n\tstruct usb_hcd *hcd;\n\tstruct usb_host_endpoint *ep;\n};\n\nstruct usb_udc {\n\tstruct usb_gadget_driver *driver;\n\tstruct usb_gadget *gadget;\n\tstruct device dev;\n\tstruct list_head list;\n\tbool vbus;\n\tbool started;\n\tbool allow_connect;\n\tstruct work_struct vbus_work;\n\tstruct mutex connect_lock;\n};\n\nstruct usbdevfs_bulktransfer {\n\tunsigned int ep;\n\tunsigned int len;\n\tunsigned int timeout;\n\tvoid *data;\n};\n\nstruct usbdevfs_bulktransfer32 {\n\tcompat_uint_t ep;\n\tcompat_uint_t len;\n\tcompat_uint_t timeout;\n\tcompat_caddr_t data;\n};\n\nstruct usbdevfs_connectinfo {\n\tunsigned int devnum;\n\tunsigned char slow;\n};\n\nstruct usbdevfs_conninfo_ex {\n\t__u32 size;\n\t__u32 busnum;\n\t__u32 devnum;\n\t__u32 speed;\n\t__u8 num_ports;\n\t__u8 ports[7];\n};\n\nstruct usbdevfs_ctrltransfer {\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__u16 wValue;\n\t__u16 wIndex;\n\t__u16 wLength;\n\t__u32 timeout;\n\tvoid *data;\n};\n\nstruct usbdevfs_ctrltransfer32 {\n\tu8 bRequestType;\n\tu8 bRequest;\n\tu16 wValue;\n\tu16 wIndex;\n\tu16 wLength;\n\tu32 timeout;\n\tcompat_caddr_t data;\n};\n\nstruct usbdevfs_disconnect_claim {\n\tunsigned int interface;\n\tunsigned int flags;\n\tchar driver[256];\n};\n\nstruct usbdevfs_disconnectsignal {\n\tunsigned int signr;\n\tvoid *context;\n};\n\nstruct usbdevfs_disconnectsignal32 {\n\tcompat_int_t signr;\n\tcompat_caddr_t context;\n};\n\nstruct usbdevfs_getdriver {\n\tunsigned int interface;\n\tchar driver[256];\n};\n\nstruct usbdevfs_hub_portinfo {\n\tchar nports;\n\tchar port[127];\n};\n\nstruct usbdevfs_ioctl {\n\tint ifno;\n\tint ioctl_code;\n\tvoid *data;\n};\n\nstruct usbdevfs_ioctl32 {\n\ts32 ifno;\n\ts32 ioctl_code;\n\tcompat_caddr_t data;\n};\n\nstruct usbdevfs_iso_packet_desc {\n\tunsigned int length;\n\tunsigned int actual_length;\n\tunsigned int status;\n};\n\nstruct usbdevfs_setinterface {\n\tunsigned int interface;\n\tunsigned int altsetting;\n};\n\nstruct usbdevfs_streams {\n\tunsigned int num_streams;\n\tunsigned int num_eps;\n\tunsigned char eps[0];\n};\n\nstruct usbdevfs_urb {\n\tunsigned char type;\n\tunsigned char endpoint;\n\tint status;\n\tunsigned int flags;\n\tvoid *buffer;\n\tint buffer_length;\n\tint actual_length;\n\tint start_frame;\n\tunion {\n\t\tint number_of_packets;\n\t\tunsigned int stream_id;\n\t};\n\tint error_count;\n\tunsigned int signr;\n\tvoid *usercontext;\n\tstruct usbdevfs_iso_packet_desc iso_frame_desc[0];\n};\n\nstruct usbdevfs_urb32 {\n\tunsigned char type;\n\tunsigned char endpoint;\n\tcompat_int_t status;\n\tcompat_uint_t flags;\n\tcompat_caddr_t buffer;\n\tcompat_int_t buffer_length;\n\tcompat_int_t actual_length;\n\tcompat_int_t start_frame;\n\tcompat_int_t number_of_packets;\n\tcompat_int_t error_count;\n\tcompat_uint_t signr;\n\tcompat_caddr_t usercontext;\n\tstruct usbdevfs_iso_packet_desc iso_frame_desc[0];\n};\n\nstruct usbhid_device {\n\tstruct hid_device *hid;\n\tstruct usb_interface *intf;\n\tint ifnum;\n\tunsigned int bufsize;\n\tstruct urb *urbin;\n\tchar *inbuf;\n\tdma_addr_t inbuf_dma;\n\tstruct urb *urbctrl;\n\tstruct usb_ctrlrequest *cr;\n\tstruct hid_control_fifo ctrl[256];\n\tunsigned char ctrlhead;\n\tunsigned char ctrltail;\n\tchar *ctrlbuf;\n\tdma_addr_t ctrlbuf_dma;\n\tlong unsigned int last_ctrl;\n\tstruct urb *urbout;\n\tstruct hid_output_fifo out[256];\n\tunsigned char outhead;\n\tunsigned char outtail;\n\tchar *outbuf;\n\tdma_addr_t outbuf_dma;\n\tlong unsigned int last_out;\n\tstruct mutex mutex;\n\tspinlock_t lock;\n\tlong unsigned int iofl;\n\tstruct timer_list io_retry;\n\tlong unsigned int stop_retry;\n\tunsigned int retry_delay;\n\tstruct work_struct reset_work;\n\twait_queue_head_t wait;\n};\n\nstruct usbmisc_ops {\n\tint (*init)(struct imx_usbmisc_data *);\n\tint (*post)(struct imx_usbmisc_data *);\n\tint (*set_wakeup)(struct imx_usbmisc_data *, bool);\n\tint (*hsic_set_connect)(struct imx_usbmisc_data *);\n\tint (*hsic_set_clk)(struct imx_usbmisc_data *, bool);\n\tint (*charger_detection)(struct imx_usbmisc_data *);\n\tint (*power_lost_check)(struct imx_usbmisc_data *);\n\tvoid (*vbus_comparator_on)(struct imx_usbmisc_data *, bool);\n};\n\nstruct used_address {\n\tstruct __kernel_sockaddr_storage name;\n\tunsigned int name_len;\n};\n\nstruct user_access_state {\n\tu64 por_el0;\n};\n\nstruct user_arg_ptr {\n\tbool is_compat;\n\tunion {\n\t\tconst char * const *native;\n\t\tconst compat_uptr_t *compat;\n\t} ptr;\n};\n\nstruct za_context;\n\nstruct zt_context;\n\nstruct user_ctxs {\n\tstruct fpsimd_context *fpsimd;\n\tu32 fpsimd_size;\n\tstruct sve_context *sve;\n\tu32 sve_size;\n\tstruct tpidr2_context *tpidr2;\n\tu32 tpidr2_size;\n\tstruct za_context *za;\n\tu32 za_size;\n\tstruct zt_context *zt;\n\tu32 zt_size;\n\tstruct fpmr_context *fpmr;\n\tu32 fpmr_size;\n\tstruct poe_context *poe;\n\tu32 poe_size;\n\tstruct gcs_context *gcs;\n\tu32 gcs_size;\n};\n\nstruct user_element {\n\tstruct snd_ctl_elem_info info;\n\tstruct snd_card *card;\n\tchar *elem_data;\n\tlong unsigned int elem_data_size;\n\tvoid *tlv_data;\n\tlong unsigned int tlv_data_size;\n\tvoid *priv_data;\n};\n\nstruct user_evtchn {\n\tstruct rb_node node;\n\tstruct per_user_data *user;\n\tevtchn_port_t port;\n\tbool enabled;\n\tbool unbinding;\n};\n\nstruct user_key_payload {\n\tstruct callback_head rcu;\n\tshort unsigned int datalen;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct user_namespace {\n\tstruct uid_gid_map uid_map;\n\tstruct uid_gid_map gid_map;\n\tstruct uid_gid_map projid_map;\n\tstruct user_namespace *parent;\n\tint level;\n\tkuid_t owner;\n\tkgid_t group;\n\tstruct ns_common ns;\n\tlong unsigned int flags;\n\tbool parent_could_setfcap;\n\tstruct list_head keyring_name_list;\n\tstruct key *user_keyring_register;\n\tstruct rw_semaphore keyring_sem;\n\tstruct work_struct work;\n\tstruct ctl_table_set set;\n\tstruct ctl_table_header *sysctls;\n\tstruct ucounts *ucounts;\n\tlong int ucount_max[12];\n\tlong int rlimit_max[4];\n};\n\nstruct user_pac_mask {\n\t__u64 data_mask;\n\t__u64 insn_mask;\n};\n\nstruct user_regset;\n\ntypedef int user_regset_get2_fn(struct task_struct *, const struct user_regset *, struct membuf);\n\ntypedef int user_regset_set_fn(struct task_struct *, const struct user_regset *, unsigned int, unsigned int, const void *, const void *);\n\ntypedef int user_regset_active_fn(struct task_struct *, const struct user_regset *);\n\ntypedef int user_regset_writeback_fn(struct task_struct *, const struct user_regset *, int);\n\nstruct user_regset {\n\tuser_regset_get2_fn *regset_get;\n\tuser_regset_set_fn *set;\n\tuser_regset_active_fn *active;\n\tuser_regset_writeback_fn *writeback;\n\tunsigned int n;\n\tunsigned int size;\n\tunsigned int align;\n\tunsigned int bias;\n\tunsigned int core_note_type;\n};\n\nstruct user_regset_view {\n\tconst char *name;\n\tconst struct user_regset *regsets;\n\tunsigned int n;\n\tu32 e_flags;\n\tu16 e_machine;\n\tu8 ei_osabi;\n};\n\nstruct user_struct {\n\trefcount_t __count;\n\tstruct percpu_counter epoll_watches;\n\tlong unsigned int unix_inflight;\n\tatomic_long_t pipe_bufs;\n\tstruct hlist_node uidhash_node;\n\tkuid_t uid;\n\tatomic_long_t locked_vm;\n\tstruct ratelimit_state ratelimit;\n};\n\nstruct user_sve_header {\n\t__u32 size;\n\t__u32 max_size;\n\t__u16 vl;\n\t__u16 max_vl;\n\t__u16 flags;\n\t__u16 __reserved;\n};\n\nstruct user_threshold {\n\tstruct list_head list_node;\n\tint temperature;\n\tint direction;\n};\n\nstruct userspace_data {\n\tlong unsigned int user_frequency;\n\tbool valid;\n};\n\nstruct userspace_policy {\n\tunsigned int is_managed;\n\tunsigned int setspeed;\n\tstruct mutex mutex;\n};\n\nstruct userstack_entry {\n\tstruct trace_entry ent;\n\tunsigned int tgid;\n\tlong unsigned int caller[8];\n};\n\nstruct ustat {\n\t__kernel_daddr_t f_tfree;\n\tlong unsigned int f_tinode;\n\tchar f_fname[6];\n\tchar f_fpack[6];\n};\n\nstruct ustring_buffer {\n\tchar buffer[1024];\n};\n\nstruct utf8_table {\n\tint cmask;\n\tint cval;\n\tint shift;\n\tlong int lmask;\n\tlong int lval;\n};\n\nstruct utmi_clk_param {\n\tu32 osc_frequency;\n\tu8 enable_delay_count;\n\tu16 stable_count;\n\tu8 active_delay_count;\n\tu16 xtal_freq_count;\n};\n\nstruct utmi_clk_param___2 {\n\tu32 osc_frequency;\n\tu8 enable_delay_count;\n\tu8 stable_count;\n\tu8 active_delay_count;\n\tu8 xtal_freq_count;\n};\n\nstruct utp_cmd_rsp {\n\t__be32 residual_transfer_count;\n\t__be32 reserved[4];\n\t__be16 sense_data_len;\n\tu8 sense_data[18];\n};\n\nstruct utp_task_req_desc {\n\tstruct request_desc_header header;\n\tstruct {\n\t\tstruct utp_upiu_header req_header;\n\t\t__be32 input_param1;\n\t\t__be32 input_param2;\n\t\t__be32 input_param3;\n\t\t__be32 __reserved1[2];\n\t} upiu_req;\n\tstruct {\n\t\tstruct utp_upiu_header rsp_header;\n\t\t__be32 output_param1;\n\t\t__be32 output_param2;\n\t\t__be32 __reserved2[3];\n\t} upiu_rsp;\n};\n\nstruct utp_transfer_cmd_desc {\n\tu8 command_upiu[512];\n\tu8 response_upiu[512];\n\tu8 prd_table[0];\n};\n\nstruct utp_transfer_req_desc {\n\tstruct request_desc_header header;\n\t__le64 command_desc_base_addr;\n\t__le16 response_upiu_length;\n\t__le16 response_upiu_offset;\n\t__le16 prd_table_length;\n\t__le16 prd_table_offset;\n};\n\nstruct utp_upiu_query_v4_0 {\n\t__u8 opcode;\n\t__u8 idn;\n\t__u8 index;\n\t__u8 selector;\n\t__u8 osf3;\n\t__u8 osf4;\n\t__be16 osf5;\n\t__be32 osf6;\n\t__be32 osf7;\n\t__be32 reserved;\n};\n\nstruct utp_upiu_rsp {\n\tstruct utp_upiu_header header;\n\tunion {\n\t\tstruct utp_cmd_rsp sr;\n\t\tstruct utp_upiu_query qr;\n\t};\n};\n\nstruct uts_namespace {\n\tstruct new_utsname name;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct ns_common ns;\n};\n\nunion uu {\n\tshort unsigned int us;\n\tunsigned char b[2];\n};\n\nstruct uuidcmp {\n\tconst char *uuid;\n\tint len;\n};\n\nstruct v2m_data {\n\tstruct list_head entry;\n\tstruct fwnode_handle *fwnode;\n\tstruct resource res;\n\tvoid *base;\n\tu32 spi_start;\n\tu32 nr_spis;\n\tu32 spi_offset;\n\tlong unsigned int *bm;\n\tu32 flags;\n};\n\nstruct v9fs_inode {\n\tstruct netfs_inode netfs;\n\tstruct p9_qid qid;\n\tunsigned int cache_validity;\n\tstruct mutex v_mutex;\n};\n\nstruct v9fs_session_info {\n\tunsigned int flags;\n\tunsigned char nodev;\n\tshort unsigned int debug;\n\tunsigned int afid;\n\tunsigned int cache;\n\tchar *uname;\n\tchar *aname;\n\tunsigned int maxdata;\n\tkuid_t dfltuid;\n\tkgid_t dfltgid;\n\tkuid_t uid;\n\tstruct p9_client *clnt;\n\tstruct list_head slist;\n\tstruct rw_semaphore rename_sem;\n\tlong int session_lock_timeout;\n};\n\nstruct va_format {\n\tconst char *fmt;\n\tva_list *va;\n};\n\nstruct value_to_freq {\n\tu32 value;\n\tu8 freq;\n};\n\nstruct value_to_name_map {\n\tint value;\n\tconst char *name;\n};\n\nstruct variable_validate {\n\tefi_guid_t vendor;\n\tchar *name;\n\tbool (*validate)(efi_char16_t *, int, u8 *, long unsigned int);\n};\n\nstruct variant_data {\n\tunsigned int clkreg;\n\tunsigned int clkreg_enable;\n\tunsigned int clkreg_8bit_bus_enable;\n\tunsigned int clkreg_neg_edge_enable;\n\tunsigned int cmdreg_cpsm_enable;\n\tunsigned int cmdreg_lrsp_crc;\n\tunsigned int cmdreg_srsp_crc;\n\tunsigned int cmdreg_srsp;\n\tunsigned int cmdreg_stop;\n\tunsigned int datalength_bits;\n\tunsigned int fifosize;\n\tunsigned int fifohalfsize;\n\tunsigned int data_cmd_enable;\n\tunsigned int datactrl_mask_ddrmode;\n\tunsigned int datactrl_mask_sdio;\n\tunsigned int datactrl_blocksz;\n\tu8 datactrl_any_blocksz: 1;\n\tu8 dma_power_of_2: 1;\n\tu8 datactrl_first: 1;\n\tu8 datacnt_useless: 1;\n\tu8 st_sdio: 1;\n\tu8 st_clkdiv: 1;\n\tu8 stm32_clkdiv: 1;\n\tu32 pwrreg_powerup;\n\tu32 f_max;\n\tu8 signal_direction: 1;\n\tu8 pwrreg_clkgate: 1;\n\tu8 busy_detect: 1;\n\tu8 busy_timeout: 1;\n\tu32 busy_dpsm_flag;\n\tu32 busy_detect_flag;\n\tu32 busy_detect_mask;\n\tu8 pwrreg_nopower: 1;\n\tu8 explicit_mclk_control: 1;\n\tu8 qcom_fifo: 1;\n\tu8 qcom_dml: 1;\n\tu8 reversed_irq_handling: 1;\n\tu8 mmcimask1: 1;\n\tunsigned int irq_pio_mask;\n\tu32 start_err;\n\tu32 opendrain;\n\tu8 dma_lli: 1;\n\tbool supports_sdio_irq;\n\tu32 stm32_idmabsize_mask;\n\tu32 stm32_idmabsize_align;\n\tbool dma_flow_controller;\n\tvoid (*init)(struct mmci_host *);\n};\n\nstruct vc {\n\tstruct vc_data *d;\n\tstruct work_struct SAK_work;\n};\n\nstruct vc3_clk_data {\n\tu8 offs;\n\tu8 bitmsk;\n};\n\nstruct vc3_div_data {\n\tconst struct clk_div_table *table;\n\tu8 offs;\n\tu8 shift;\n\tu8 width;\n\tu8 flags;\n};\n\nstruct vc3_vco {\n\tlong unsigned int min;\n\tlong unsigned int max;\n};\n\nstruct vc3_hw_cfg {\n\tstruct vc3_vco pll2_vco;\n\tu32 se2_clk_sel_msk;\n};\n\nstruct vc3_hw_data {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tvoid *data;\n\tu32 div_int;\n\tu32 div_frc;\n};\n\nstruct vc3_pfd_data {\n\tu8 num;\n\tu8 offs;\n\tu8 mdiv1_bitmsk;\n\tu8 mdiv2_bitmsk;\n};\n\nstruct vc3_pll_data {\n\tstruct vc3_vco vco;\n\tu8 num;\n\tu8 int_div_msb_offs;\n\tu8 int_div_lsb_offs;\n};\n\nstruct vc5_chip_info {\n\tconst enum vc5_model model;\n\tconst unsigned int clk_fod_cnt;\n\tconst unsigned int clk_out_cnt;\n\tconst u32 flags;\n\tconst long unsigned int vco_max;\n};\n\nstruct vc5_driver_data;\n\nstruct vc5_hw_data {\n\tstruct clk_hw hw;\n\tstruct vc5_driver_data *vc5;\n\tu32 div_int;\n\tu32 div_frc;\n\tunsigned int num;\n};\n\nstruct vc5_out_data {\n\tstruct clk_hw hw;\n\tstruct vc5_driver_data *vc5;\n\tunsigned int num;\n\tunsigned int clk_output_cfg0;\n\tunsigned int clk_output_cfg0_mask;\n};\n\nstruct vc5_driver_data {\n\tstruct i2c_client *client;\n\tstruct regmap *regmap;\n\tconst struct vc5_chip_info *chip_info;\n\tstruct clk *pin_xin;\n\tstruct clk *pin_clkin;\n\tunsigned char clk_mux_ins;\n\tstruct clk_hw clk_mux;\n\tstruct clk_hw clk_mul;\n\tstruct clk_hw clk_pfd;\n\tstruct vc5_hw_data clk_pll;\n\tstruct vc5_hw_data clk_fod[4];\n\tstruct vc5_out_data clk_out[5];\n};\n\nstruct vc_state {\n\tunsigned int x;\n\tunsigned int y;\n\tunsigned char color;\n\tunsigned char Gx_charset[2];\n\tunsigned int charset: 1;\n\tenum vc_intensity intensity;\n\tbool italic;\n\tbool underline;\n\tbool blink;\n\tbool reverse;\n};\n\nstruct vt_mode {\n\tchar mode;\n\tchar waitv;\n\tshort int relsig;\n\tshort int acqsig;\n\tshort int frsig;\n};\n\nstruct vc_data {\n\tstruct tty_port port;\n\tstruct vc_state state;\n\tstruct vc_state saved_state;\n\tshort unsigned int vc_num;\n\tunsigned int vc_cols;\n\tunsigned int vc_rows;\n\tunsigned int vc_size_row;\n\tunsigned int vc_scan_lines;\n\tunsigned int vc_cell_height;\n\tlong unsigned int vc_origin;\n\tlong unsigned int vc_scr_end;\n\tlong unsigned int vc_visible_origin;\n\tunsigned int vc_top;\n\tunsigned int vc_bottom;\n\tconst struct consw *vc_sw;\n\tshort unsigned int *vc_screenbuf;\n\tunsigned int vc_screenbuf_size;\n\tunsigned char vc_mode;\n\tunsigned char vc_attr;\n\tunsigned char vc_def_color;\n\tunsigned char vc_ulcolor;\n\tunsigned char vc_itcolor;\n\tunsigned char vc_halfcolor;\n\tunsigned int vc_cursor_type;\n\tshort unsigned int vc_complement_mask;\n\tshort unsigned int vc_s_complement_mask;\n\tlong unsigned int vc_pos;\n\tshort unsigned int vc_hi_font_mask;\n\tstruct console_font vc_font;\n\tshort unsigned int vc_video_erase_char;\n\tunsigned int vc_state;\n\tunsigned int vc_npar;\n\tunsigned int vc_par[16];\n\tstruct vt_mode vt_mode;\n\tstruct pid *vt_pid;\n\tint vt_newvt;\n\twait_queue_head_t paste_wait;\n\tunsigned int vc_disp_ctrl: 1;\n\tunsigned int vc_toggle_meta: 1;\n\tunsigned int vc_decscnm: 1;\n\tunsigned int vc_decom: 1;\n\tunsigned int vc_decawm: 1;\n\tunsigned int vc_deccm: 1;\n\tunsigned int vc_decim: 1;\n\tunsigned int vc_priv: 3;\n\tunsigned int vc_need_wrap: 1;\n\tunsigned int vc_can_do_color: 1;\n\tunsigned int vc_report_mouse: 2;\n\tunsigned char vc_utf: 1;\n\tunsigned char vc_utf_count;\n\tint vc_utf_char;\n\tlong unsigned int vc_tab_stop[4];\n\tunsigned char vc_palette[48];\n\tshort unsigned int *vc_translate;\n\tunsigned int vc_bell_pitch;\n\tunsigned int vc_bell_duration;\n\tshort unsigned int vc_cur_blink_ms;\n\tstruct vc_data **vc_display_fg;\n\tstruct uni_pagedict *uni_pagedict;\n\tstruct uni_pagedict **uni_pagedict_loc;\n\tu32 **vc_uni_lines;\n};\n\nstruct vc_draw_region {\n\tlong unsigned int from;\n\tlong unsigned int to;\n\tint x;\n};\n\nstruct vc_selection {\n\tstruct mutex lock;\n\tstruct vc_data *cons;\n\tchar *buffer;\n\tunsigned int buf_len;\n\tvolatile int start;\n\tint end;\n};\n\nstruct vcpu_register_runstate_memory_area {\n\tunion {\n\t\t__guest_handle_vcpu_runstate_info h;\n\t\tstruct vcpu_runstate_info *v;\n\t\tuint64_t p;\n\t} addr;\n};\n\nstruct vcpu_register_vcpu_info {\n\tuint64_t mfn;\n\tuint32_t offset;\n\tuint32_t rsvd;\n};\n\nstruct vcpu_runstate_info {\n\tint state;\n\tuint64_t state_entry_time;\n\tuint64_t time[4];\n};\n\nstruct vcs_poll_data {\n\tstruct notifier_block notifier;\n\tunsigned int cons_num;\n\tint event;\n\twait_queue_head_t waitq;\n\tstruct fasync_struct *fasync;\n};\n\nstruct vm_special_mapping;\n\nstruct vdso_abi_info {\n\tconst char *name;\n\tconst char *vdso_code_start;\n\tconst char *vdso_code_end;\n\tlong unsigned int vdso_pages;\n\tstruct vm_special_mapping *cm;\n};\n\nstruct vdso_timestamp {\n\tu64 sec;\n\tu64 nsec;\n};\n\nstruct vdso_data {\n\tu32 seq;\n\ts32 clock_mode;\n\tu64 cycle_last;\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n\tunion {\n\t\tstruct vdso_timestamp basetime[12];\n\t\tstruct timens_offset offset[12];\n\t};\n\ts32 tz_minuteswest;\n\ts32 tz_dsttime;\n\tu32 hrtimer_res;\n\tu32 __unused;\n\tstruct arch_vdso_time_data arch_data;\n};\n\nunion vdso_data_store {\n\tstruct vdso_data data[2];\n\tu8 page[4096];\n};\n\nstruct vdso_rng_data {\n\tu64 generation;\n\tu8 is_ready;\n};\n\nstruct vendor_data {\n\tint fifodepth;\n\tint max_bpw;\n\tbool unidir;\n\tbool extended_cr;\n\tbool pl023;\n\tbool loopback;\n\tbool internal_cs_ctrl;\n};\n\nstruct vendor_data___2 {\n\tconst u16 *reg_offset;\n\tunsigned int ifls;\n\tunsigned int fr_busy;\n\tunsigned int fr_dsr;\n\tunsigned int fr_cts;\n\tunsigned int fr_ri;\n\tunsigned int inv_fr;\n\tbool access_32b;\n\tbool oversampling;\n\tbool dma_threshold;\n\tbool cts_event_workaround;\n\tbool always_enabled;\n\tbool fixed_options;\n\tunsigned int (*get_fifosize)(struct amba_device *);\n};\n\nstruct vendor_error_type_extension {\n\tu32 length;\n\tu32 pcie_sbdf;\n\tu16 vendor_id;\n\tu16 device_id;\n\tu8 rev_id;\n\tu8 reserved[3];\n};\n\nstruct veth {\n\t__be16 h_vlan_proto;\n\t__be16 h_vlan_TCI;\n};\n\nstruct vexpress_config_bridge_ops;\n\nstruct vexpress_config_bridge {\n\tstruct vexpress_config_bridge_ops *ops;\n\tvoid *context;\n};\n\nstruct vexpress_config_bridge_ops {\n\tstruct regmap * (*regmap_init)(struct device *, void *);\n\tvoid (*regmap_exit)(struct regmap *, void *);\n};\n\nstruct vexpress_osc {\n\tstruct regmap *reg;\n\tstruct clk_hw hw;\n\tlong unsigned int rate_min;\n\tlong unsigned int rate_max;\n};\n\nstruct vexpress_syscfg {\n\tstruct device *dev;\n\tvoid *base;\n\tstruct list_head funcs;\n};\n\nstruct vexpress_syscfg_func {\n\tstruct list_head list;\n\tstruct vexpress_syscfg *syscfg;\n\tstruct regmap *regmap;\n\tint num_templates;\n\tu32 template[0];\n};\n\nstruct vf610_gpio_port {\n\tstruct gpio_chip gc;\n\tvoid *base;\n\tvoid *gpio_base;\n\tconst struct fsl_gpio_soc_data *sdata;\n\tu8 irqc[32];\n\tstruct clk *clk_port;\n\tstruct clk *clk_gpio;\n\tint irq;\n\tspinlock_t lock;\n};\n\nstruct vf_data_storage {\n\tunsigned char vf_mac_addresses[6];\n\tu16 vf_mc_hashes[30];\n\tu16 num_vf_mc_hashes;\n\tu32 flags;\n\tlong unsigned int last_nack;\n\tu16 pf_vlan;\n\tu16 pf_qos;\n\tu16 tx_rate;\n\tbool spoofchk_enabled;\n\tbool trusted;\n};\n\nstruct vfio {\n\tstruct list_head iommu_drivers_list;\n\tstruct mutex iommu_drivers_lock;\n};\n\nstruct vfio___2 {\n\tstruct class *device_class;\n\tstruct ida device_ida;\n\tstruct vfsmount *vfs_mount;\n\tint fs_count;\n};\n\nstruct vfio___3 {\n\tstruct class *class;\n\tstruct list_head group_list;\n\tstruct mutex group_lock;\n\tstruct ida group_ida;\n\tdev_t group_devt;\n};\n\nstruct vfio_batch {\n\tstruct page **pages;\n\tstruct page *fallback_page;\n\tint capacity;\n\tint size;\n\tint offset;\n};\n\nstruct vfio_bitmap {\n\t__u64 pgsize;\n\t__u64 size;\n\t__u64 *data;\n};\n\nstruct vfio_iommu_driver;\n\nstruct vfio_container {\n\tstruct kref kref;\n\tstruct list_head group_list;\n\tstruct rw_semaphore group_lock;\n\tstruct vfio_iommu_driver *iommu_driver;\n\tvoid *iommu_data;\n\tbool noiommu;\n};\n\nstruct iommufd_access;\n\nstruct vfio_device_ops;\n\nstruct vfio_migration_ops;\n\nstruct vfio_log_ops;\n\nstruct vfio_group;\n\nstruct vfio_device_set;\n\nstruct vfio_device {\n\tstruct device *dev;\n\tconst struct vfio_device_ops *ops;\n\tconst struct vfio_migration_ops *mig_ops;\n\tconst struct vfio_log_ops *log_ops;\n\tstruct vfio_group *group;\n\tstruct list_head group_next;\n\tstruct list_head iommu_entry;\n\tstruct vfio_device_set *dev_set;\n\tstruct list_head dev_set_list;\n\tunsigned int migration_flags;\n\tstruct kvm *kvm;\n\tunsigned int index;\n\tstruct device device;\n\trefcount_t refcount;\n\tunsigned int open_count;\n\tstruct completion comp;\n\tstruct iommufd_access *iommufd_access;\n\tvoid (*put_kvm)(struct kvm *);\n\tstruct inode *inode;\n\tu8 cdev_opened: 1;\n\tstruct dentry *debug_root;\n};\n\nstruct vfio_device_bind_iommufd {\n\t__u32 argsz;\n\t__u32 flags;\n\t__s32 iommufd;\n\t__u32 out_devid;\n};\n\nstruct vfio_device_feature {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u8 data[0];\n};\n\nstruct vfio_device_feature_dma_logging_control {\n\t__u64 page_size;\n\t__u32 num_ranges;\n\t__u32 __reserved;\n\t__u64 ranges;\n};\n\nstruct vfio_device_feature_dma_logging_range {\n\t__u64 iova;\n\t__u64 length;\n};\n\nstruct vfio_device_feature_dma_logging_report {\n\t__u64 iova;\n\t__u64 length;\n\t__u64 page_size;\n\t__u64 bitmap;\n};\n\nstruct vfio_device_feature_mig_data_size {\n\t__u64 stop_copy_length;\n};\n\nstruct vfio_device_feature_mig_state {\n\t__u32 device_state;\n\t__s32 data_fd;\n};\n\nstruct vfio_device_feature_migration {\n\t__u64 flags;\n};\n\nstruct vfio_device_file {\n\tstruct vfio_device *device;\n\tstruct vfio_group *group;\n\tu8 access_granted;\n\tu32 devid;\n\tspinlock_t kvm_ref_lock;\n\tstruct kvm *kvm;\n\tstruct iommufd_ctx *iommufd;\n};\n\nstruct vfio_device_info {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u32 num_regions;\n\t__u32 num_irqs;\n\t__u32 cap_offset;\n\t__u32 pad;\n};\n\nstruct vfio_info_cap_header {\n\t__u16 id;\n\t__u16 version;\n\t__u32 next;\n};\n\nstruct vfio_device_info_cap_pci_atomic_comp {\n\tstruct vfio_info_cap_header header;\n\t__u32 flags;\n\t__u32 reserved;\n};\n\nstruct vfio_device_ioeventfd {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u64 offset;\n\t__u64 data;\n\t__s32 fd;\n\t__u32 reserved;\n};\n\nstruct vfio_device_low_power_entry_with_wakeup {\n\t__s32 wakeup_eventfd;\n\t__u32 reserved;\n};\n\nstruct vfio_device_ops {\n\tchar *name;\n\tint (*init)(struct vfio_device *);\n\tvoid (*release)(struct vfio_device *);\n\tint (*bind_iommufd)(struct vfio_device *, struct iommufd_ctx *, u32 *);\n\tvoid (*unbind_iommufd)(struct vfio_device *);\n\tint (*attach_ioas)(struct vfio_device *, u32 *);\n\tvoid (*detach_ioas)(struct vfio_device *);\n\tint (*open_device)(struct vfio_device *);\n\tvoid (*close_device)(struct vfio_device *);\n\tssize_t (*read)(struct vfio_device *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct vfio_device *, const char *, size_t, loff_t *);\n\tlong int (*ioctl)(struct vfio_device *, unsigned int, long unsigned int);\n\tint (*mmap)(struct vfio_device *, struct vm_area_struct *);\n\tvoid (*request)(struct vfio_device *, unsigned int);\n\tint (*match)(struct vfio_device *, char *);\n\tvoid (*dma_unmap)(struct vfio_device *, u64, u64);\n\tint (*device_feature)(struct vfio_device *, u32, void *, size_t);\n};\n\nstruct vfio_device_set {\n\tvoid *set_id;\n\tstruct mutex lock;\n\tstruct list_head device_list;\n\tunsigned int device_count;\n};\n\nstruct vfio_dma {\n\tstruct rb_node node;\n\tdma_addr_t iova;\n\tlong unsigned int vaddr;\n\tsize_t size;\n\tint prot;\n\tbool iommu_mapped;\n\tbool lock_cap;\n\tbool vaddr_invalid;\n\tstruct task_struct *task;\n\tstruct rb_root pfn_list;\n\tlong unsigned int *bitmap;\n\tstruct mm_struct *mm;\n\tsize_t locked_vm;\n};\n\nstruct vfio_domain {\n\tstruct iommu_domain *domain;\n\tstruct list_head next;\n\tstruct list_head group_list;\n\tbool fgsp: 1;\n\tbool enforce_cache_coherency: 1;\n};\n\nstruct vfio_group {\n\tstruct device dev;\n\tstruct cdev cdev;\n\trefcount_t drivers;\n\tunsigned int container_users;\n\tstruct iommu_group *iommu_group;\n\tstruct vfio_container *container;\n\tstruct list_head device_list;\n\tstruct mutex device_lock;\n\tstruct list_head vfio_next;\n\tstruct list_head container_next;\n\tenum vfio_group_type type;\n\tstruct mutex group_lock;\n\tstruct kvm *kvm;\n\tstruct file *opened_file;\n\tstruct blocking_notifier_head notifier;\n\tstruct iommufd_ctx *iommufd;\n\tspinlock_t kvm_ref_lock;\n\tunsigned int cdev_device_open_cnt;\n};\n\nstruct vfio_group_status {\n\t__u32 argsz;\n\t__u32 flags;\n};\n\nstruct vfio_info_cap {\n\tstruct vfio_info_cap_header *buf;\n\tsize_t size;\n};\n\nstruct vfio_iommu {\n\tstruct list_head domain_list;\n\tstruct list_head iova_list;\n\tstruct mutex lock;\n\tstruct rb_root dma_list;\n\tstruct list_head device_list;\n\tstruct mutex device_list_lock;\n\tunsigned int dma_avail;\n\tunsigned int vaddr_invalid_count;\n\tuint64_t pgsize_bitmap;\n\tuint64_t num_non_pinned_groups;\n\tbool v2;\n\tbool dirty_page_tracking;\n\tstruct list_head emulated_iommu_groups;\n};\n\nstruct vfio_iommu_driver_ops;\n\nstruct vfio_iommu_driver {\n\tconst struct vfio_iommu_driver_ops *ops;\n\tstruct list_head vfio_next;\n};\n\nstruct vfio_iommu_driver_ops {\n\tchar *name;\n\tstruct module *owner;\n\tvoid * (*open)(long unsigned int);\n\tvoid (*release)(void *);\n\tlong int (*ioctl)(void *, unsigned int, long unsigned int);\n\tint (*attach_group)(void *, struct iommu_group *, enum vfio_group_type);\n\tvoid (*detach_group)(void *, struct iommu_group *);\n\tint (*pin_pages)(void *, struct iommu_group *, dma_addr_t, int, int, struct page **);\n\tvoid (*unpin_pages)(void *, dma_addr_t, int);\n\tvoid (*register_device)(void *, struct vfio_device *);\n\tvoid (*unregister_device)(void *, struct vfio_device *);\n\tint (*dma_rw)(void *, dma_addr_t, void *, size_t, bool);\n\tstruct iommu_domain * (*group_iommu_domain)(void *, struct iommu_group *);\n};\n\nstruct vfio_iommu_group {\n\tstruct iommu_group *iommu_group;\n\tstruct list_head next;\n\tbool pinned_page_dirty_scope;\n};\n\nstruct vfio_iommu_type1_dirty_bitmap {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u8 data[0];\n};\n\nstruct vfio_iommu_type1_dirty_bitmap_get {\n\t__u64 iova;\n\t__u64 size;\n\tstruct vfio_bitmap bitmap;\n};\n\nstruct vfio_iommu_type1_dma_map {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u64 vaddr;\n\t__u64 iova;\n\t__u64 size;\n};\n\nstruct vfio_iommu_type1_dma_unmap {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u64 iova;\n\t__u64 size;\n\t__u8 data[0];\n};\n\nstruct vfio_iommu_type1_info {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u64 iova_pgsizes;\n\t__u32 cap_offset;\n\t__u32 pad;\n};\n\nstruct vfio_iova_range {\n\t__u64 start;\n\t__u64 end;\n};\n\nstruct vfio_iommu_type1_info_cap_iova_range {\n\tstruct vfio_info_cap_header header;\n\t__u32 nr_iovas;\n\t__u32 reserved;\n\tstruct vfio_iova_range iova_ranges[0];\n};\n\nstruct vfio_iommu_type1_info_cap_migration {\n\tstruct vfio_info_cap_header header;\n\t__u32 flags;\n\t__u64 pgsize_bitmap;\n\t__u64 max_dirty_bitmap_size;\n};\n\nstruct vfio_iommu_type1_info_dma_avail {\n\tstruct vfio_info_cap_header header;\n\t__u32 avail;\n};\n\nstruct vfio_iova {\n\tstruct list_head list;\n\tdma_addr_t start;\n\tdma_addr_t end;\n};\n\nstruct vfio_irq_info {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u32 index;\n\t__u32 count;\n};\n\nstruct vfio_irq_set {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u32 index;\n\t__u32 start;\n\t__u32 count;\n\t__u8 data[0];\n};\n\nstruct vfio_log_ops {\n\tint (*log_start)(struct vfio_device *, struct rb_root_cached *, u32, u64 *);\n\tint (*log_stop)(struct vfio_device *);\n\tint (*log_read_and_clear)(struct vfio_device *, long unsigned int, long unsigned int, struct iova_bitmap *);\n};\n\nstruct vfio_migration_ops {\n\tstruct file * (*migration_set_state)(struct vfio_device *, enum vfio_device_mig_state);\n\tint (*migration_get_state)(struct vfio_device *, enum vfio_device_mig_state *);\n\tint (*migration_get_data_size)(struct vfio_device *, long unsigned int *);\n};\n\nstruct vfio_pci_region;\n\nstruct vfio_pci_vf_token;\n\nstruct vfio_pci_core_device {\n\tstruct vfio_device vdev;\n\tstruct pci_dev *pdev;\n\tvoid *barmap[6];\n\tbool bar_mmap_supported[6];\n\tu8 *pci_config_map;\n\tu8 *vconfig;\n\tstruct perm_bits *msi_perm;\n\tspinlock_t irqlock;\n\tstruct mutex igate;\n\tstruct xarray ctx;\n\tint irq_type;\n\tint num_regions;\n\tstruct vfio_pci_region *region;\n\tu8 msi_qmax;\n\tu8 msix_bar;\n\tu16 msix_size;\n\tu32 msix_offset;\n\tu32 rbar[7];\n\tbool has_dyn_msix: 1;\n\tbool pci_2_3: 1;\n\tbool virq_disabled: 1;\n\tbool reset_works: 1;\n\tbool extended_caps: 1;\n\tbool bardirty: 1;\n\tbool has_vga: 1;\n\tbool needs_reset: 1;\n\tbool nointx: 1;\n\tbool needs_pm_restore: 1;\n\tbool pm_intx_masked: 1;\n\tbool pm_runtime_engaged: 1;\n\tstruct pci_saved_state *pci_saved_state;\n\tstruct pci_saved_state *pm_save;\n\tint ioeventfds_nr;\n\tstruct eventfd_ctx *err_trigger;\n\tstruct eventfd_ctx *req_trigger;\n\tstruct eventfd_ctx *pm_wake_eventfd_ctx;\n\tstruct list_head dummy_resources_list;\n\tstruct mutex ioeventfds_lock;\n\tstruct list_head ioeventfds_list;\n\tstruct vfio_pci_vf_token *vf_token;\n\tstruct list_head sriov_pfs_item;\n\tstruct vfio_pci_core_device *sriov_pf_core_dev;\n\tstruct notifier_block nb;\n\tstruct rw_semaphore memory_lock;\n};\n\nstruct vfio_pci_dependent_device {\n\tunion {\n\t\t__u32 group_id;\n\t\t__u32 devid;\n\t};\n\t__u16 segment;\n\t__u8 bus;\n\t__u8 devfn;\n};\n\nstruct vfio_pci_dummy_resource {\n\tstruct resource resource;\n\tint index;\n\tstruct list_head res_next;\n};\n\nstruct vfio_pci_fill_info {\n\tstruct vfio_device *vdev;\n\tstruct vfio_pci_dependent_device *devices;\n\tint nr_devices;\n\tu32 count;\n\tu32 flags;\n};\n\nstruct vfio_pci_group_info {\n\tint count;\n\tstruct file **files;\n};\n\nstruct vfio_pci_hot_reset {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u32 count;\n\t__s32 group_fds[0];\n};\n\nstruct vfio_pci_hot_reset_info {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u32 count;\n\tstruct vfio_pci_dependent_device devices[0];\n};\n\nstruct virqfd;\n\nstruct vfio_pci_ioeventfd {\n\tstruct list_head next;\n\tstruct vfio_pci_core_device *vdev;\n\tstruct virqfd *virqfd;\n\tvoid *addr;\n\tuint64_t data;\n\tloff_t pos;\n\tint bar;\n\tint count;\n\tbool test_mem;\n};\n\nstruct vfio_pci_irq_ctx {\n\tstruct vfio_pci_core_device *vdev;\n\tstruct eventfd_ctx *trigger;\n\tstruct virqfd *unmask;\n\tstruct virqfd *mask;\n\tchar *name;\n\tbool masked;\n\tstruct irq_bypass_producer producer;\n};\n\nstruct vfio_pci_regops;\n\nstruct vfio_pci_region {\n\tu32 type;\n\tu32 subtype;\n\tconst struct vfio_pci_regops *ops;\n\tvoid *data;\n\tsize_t size;\n\tu32 flags;\n};\n\nstruct vfio_pci_regops {\n\tssize_t (*rw)(struct vfio_pci_core_device *, char *, size_t, loff_t *, bool);\n\tvoid (*release)(struct vfio_pci_core_device *, struct vfio_pci_region *);\n\tint (*mmap)(struct vfio_pci_core_device *, struct vfio_pci_region *, struct vm_area_struct *);\n\tint (*add_capability)(struct vfio_pci_core_device *, struct vfio_pci_region *, struct vfio_info_cap *);\n};\n\nstruct vfio_pci_vf_token {\n\tstruct mutex lock;\n\tuuid_t uuid;\n\tint users;\n};\n\nstruct vfio_pci_walk_info {\n\tint (*fn)(struct pci_dev *, void *);\n\tvoid *data;\n\tstruct pci_dev *pdev;\n\tbool slot;\n\tint ret;\n};\n\nstruct vfio_pfn {\n\tstruct rb_node node;\n\tdma_addr_t iova;\n\tlong unsigned int pfn;\n\tunsigned int ref_count;\n};\n\nstruct vfio_region_info {\n\t__u32 argsz;\n\t__u32 flags;\n\t__u32 index;\n\t__u32 cap_offset;\n\t__u64 size;\n\t__u64 offset;\n};\n\nstruct vfio_region_info_cap_type {\n\tstruct vfio_info_cap_header header;\n\t__u32 type;\n\t__u32 subtype;\n};\n\nstruct vfio_regions {\n\tstruct list_head list;\n\tdma_addr_t iova;\n\tphys_addr_t phys;\n\tsize_t len;\n};\n\nstruct vfree_deferred {\n\tstruct llist_head list;\n\tstruct work_struct wq;\n};\n\nstruct vfs_cap_data {\n\t__le32 magic_etc;\n\tstruct {\n\t\t__le32 permitted;\n\t\t__le32 inheritable;\n\t} data[2];\n};\n\nstruct vfs_ns_cap_data {\n\t__le32 magic_etc;\n\tstruct {\n\t\t__le32 permitted;\n\t\t__le32 inheritable;\n\t} data[2];\n\t__le32 rootid;\n};\n\nstruct vga_arb_user_card {\n\tstruct pci_dev *pdev;\n\tunsigned int mem_cnt;\n\tunsigned int io_cnt;\n};\n\nstruct vga_arb_private {\n\tstruct list_head list;\n\tstruct pci_dev *target;\n\tstruct vga_arb_user_card cards[16];\n\tspinlock_t lock;\n};\n\nstruct vga_device {\n\tstruct list_head list;\n\tstruct pci_dev *pdev;\n\tunsigned int decodes;\n\tunsigned int owns;\n\tunsigned int locks;\n\tunsigned int io_lock_cnt;\n\tunsigned int mem_lock_cnt;\n\tunsigned int io_norm_cnt;\n\tunsigned int mem_norm_cnt;\n\tbool bridge_has_one_vga;\n\tbool is_firmware_default;\n\tunsigned int (*set_decode)(struct pci_dev *, bool);\n};\n\nstruct vgic_global {\n\tenum vgic_type type;\n\tphys_addr_t vcpu_base;\n\tvoid *vcpu_base_va;\n\tvoid *vcpu_hyp_va;\n\tvoid *vctrl_base;\n\tvoid *vctrl_hyp;\n\tint nr_lr;\n\tunsigned int maint_irq;\n\tint max_gic_vcpus;\n\tbool can_emulate_gicv2;\n\tbool has_gicv4;\n\tbool has_gicv4_1;\n\tbool no_hw_deactivation;\n\tstruct static_key_false gicv3_cpuif;\n\tu32 ich_vtr_el2;\n};\n\nstruct vgic_irq {\n\traw_spinlock_t irq_lock;\n\tstruct callback_head rcu;\n\tstruct list_head ap_list;\n\tstruct kvm_vcpu *vcpu;\n\tstruct kvm_vcpu *target_vcpu;\n\tu32 intid;\n\tbool line_level;\n\tbool pending_latch;\n\tbool active;\n\tbool enabled;\n\tbool hw;\n\tstruct kref refcount;\n\tu32 hwintid;\n\tunsigned int host_irq;\n\tunion {\n\t\tu8 targets;\n\t\tu32 mpidr;\n\t};\n\tu8 source;\n\tu8 active_source;\n\tu8 priority;\n\tu8 group;\n\tenum vgic_irq_config config;\n\tstruct irq_ops *ops;\n\tvoid *owner;\n};\n\nstruct vgic_its {\n\tgpa_t vgic_its_base;\n\tbool enabled;\n\tstruct vgic_io_device iodev;\n\tstruct kvm_device *dev;\n\tu64 baser_device_table;\n\tu64 baser_coll_table;\n\tstruct mutex cmd_lock;\n\tu64 cbaser;\n\tu32 creadr;\n\tu32 cwriter;\n\tu32 abi_rev;\n\tstruct mutex its_lock;\n\tstruct list_head device_list;\n\tstruct list_head collection_list;\n\tstruct xarray translation_cache;\n};\n\nstruct vgic_its_abi {\n\tint cte_esz;\n\tint dte_esz;\n\tint ite_esz;\n\tint (*save_tables)(struct vgic_its *);\n\tint (*restore_tables)(struct vgic_its *);\n\tint (*commit)(struct vgic_its *);\n};\n\nstruct vgic_redist_region {\n\tu32 index;\n\tgpa_t base;\n\tu32 count;\n\tu32 free_index;\n\tstruct list_head list;\n};\n\nstruct vgic_reg_attr {\n\tstruct kvm_vcpu *vcpu;\n\tgpa_t addr;\n};\n\nstruct vgic_register_region {\n\tunsigned int reg_offset;\n\tunsigned int len;\n\tunsigned int bits_per_irq;\n\tunsigned int access_flags;\n\tunion {\n\t\tlong unsigned int (*read)(struct kvm_vcpu *, gpa_t, unsigned int);\n\t\tlong unsigned int (*its_read)(struct kvm *, struct vgic_its *, gpa_t, unsigned int);\n\t};\n\tunion {\n\t\tvoid (*write)(struct kvm_vcpu *, gpa_t, unsigned int, long unsigned int);\n\t\tvoid (*its_write)(struct kvm *, struct vgic_its *, gpa_t, unsigned int, long unsigned int);\n\t};\n\tlong unsigned int (*uaccess_read)(struct kvm_vcpu *, gpa_t, unsigned int);\n\tunion {\n\t\tint (*uaccess_write)(struct kvm_vcpu *, gpa_t, unsigned int, long unsigned int);\n\t\tint (*uaccess_its_write)(struct kvm *, struct vgic_its *, gpa_t, unsigned int, long unsigned int);\n\t};\n};\n\nstruct vgic_state_iter {\n\tint nr_cpus;\n\tint nr_spis;\n\tint nr_lpis;\n\tint dist_id;\n\tint vcpu_id;\n\tlong unsigned int intid;\n\tint lpi_idx;\n};\n\nstruct vgic_vmcr {\n\tu32 grpen0;\n\tu32 grpen1;\n\tu32 ackctl;\n\tu32 fiqen;\n\tu32 cbpr;\n\tu32 eoim;\n\tu32 abpr;\n\tu32 bpr;\n\tu32 pmr;\n};\n\nstruct vid_pll_div {\n\tunsigned int shift_val;\n\tunsigned int shift_sel;\n\tunsigned int divider;\n\tunsigned int multiplier;\n};\n\nstruct videomode {\n\tlong unsigned int pixelclock;\n\tu32 hactive;\n\tu32 hfront_porch;\n\tu32 hback_porch;\n\tu32 hsync_len;\n\tu32 vactive;\n\tu32 vfront_porch;\n\tu32 vback_porch;\n\tu32 vsync_len;\n\tenum display_flags flags;\n};\n\nstruct virqfd {\n\tvoid *opaque;\n\tstruct eventfd_ctx *eventfd;\n\tint (*handler)(void *, void *);\n\tvoid (*thread)(void *, void *);\n\tvoid *data;\n\tstruct work_struct inject;\n\twait_queue_entry_t wait;\n\tpoll_table pt;\n\tstruct work_struct shutdown;\n\tstruct work_struct flush_inject;\n\tstruct virqfd **pvirqfd;\n};\n\nstruct virtio_blk_outhdr {\n\t__virtio32 type;\n\t__virtio32 ioprio;\n\t__virtio64 sector;\n};\n\nstruct virtblk_req {\n\tstruct virtio_blk_outhdr out_hdr;\n\tunion {\n\t\tu8 status;\n\t\tstruct {\n\t\t\t__virtio64 sector;\n\t\t\tu8 status;\n\t\t} zone_append;\n\t} in_hdr;\n\tsize_t in_hdr_len;\n\tstruct sg_table sg_table;\n\tstruct scatterlist sg[0];\n};\n\nstruct virtio_9p_config {\n\t__virtio16 tag_len;\n\t__u8 tag[0];\n};\n\nstruct virtio_admin_cmd {\n\t__le16 opcode;\n\t__le16 group_type;\n\t__le64 group_member_id;\n\tstruct scatterlist *data_sg;\n\tstruct scatterlist *result_sg;\n\tstruct completion completion;\n\tu32 result_sg_size;\n\tint ret;\n};\n\nstruct virtio_admin_cmd_cap_get_data {\n\t__le16 id;\n\t__u8 reserved[6];\n};\n\nstruct virtio_admin_cmd_cap_set_data {\n\t__le16 id;\n\t__u8 reserved[6];\n\t__u8 cap_specific_data[0];\n};\n\nstruct virtio_admin_cmd_dev_mode_set_data {\n\t__u8 flags;\n};\n\nstruct virtio_admin_cmd_resource_obj_cmd_hdr {\n\t__le16 type;\n\t__u8 reserved[2];\n\t__le32 id;\n};\n\nstruct virtio_dev_part_hdr {\n\t__le16 part_type;\n\t__u8 flags;\n\t__u8 reserved;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 offset;\n\t\t\t__le32 reserved;\n\t\t} pci_common_cfg;\n\t\tstruct {\n\t\t\t__le16 index;\n\t\t\t__u8 reserved[6];\n\t\t} vq_index;\n\t} selector;\n\t__le32 length;\n};\n\nstruct virtio_admin_cmd_dev_parts_get_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__u8 type;\n\t__u8 reserved[7];\n\tstruct virtio_dev_part_hdr hdr_list[0];\n};\n\nstruct virtio_admin_cmd_dev_parts_metadata_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__u8 type;\n\t__u8 reserved[7];\n};\n\nstruct virtio_admin_cmd_dev_parts_metadata_result {\n\tunion {\n\t\tstruct {\n\t\t\t__le32 size;\n\t\t\t__le32 reserved;\n\t\t} parts_size;\n\t\tstruct {\n\t\t\t__le32 count;\n\t\t\t__le32 reserved;\n\t\t} hdr_list_count;\n\t\tstruct {\n\t\t\t__le32 count;\n\t\t\t__le32 reserved;\n\t\t\tstruct virtio_dev_part_hdr hdrs[0];\n\t\t} hdr_list;\n\t};\n};\n\nstruct virtio_admin_cmd_hdr {\n\t__le16 opcode;\n\t__le16 group_type;\n\t__u8 reserved1[12];\n\t__le64 group_member_id;\n};\n\nstruct virtio_admin_cmd_query_cap_id_result {\n\t__le64 supported_caps[1];\n};\n\nstruct virtio_admin_cmd_resource_obj_create_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__le64 flags;\n\t__u8 resource_obj_specific_data[0];\n};\n\nstruct virtio_admin_cmd_status {\n\t__le16 status;\n\t__le16 status_qualifier;\n\t__u8 reserved2[4];\n};\n\nstruct virtio_balloon_stat {\n\t__virtio16 tag;\n\t__virtio64 val;\n} __attribute__((packed));\n\nstruct virtio_balloon {\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *inflate_vq;\n\tstruct virtqueue *deflate_vq;\n\tstruct virtqueue *stats_vq;\n\tstruct virtqueue *free_page_vq;\n\tstruct workqueue_struct *balloon_wq;\n\tstruct work_struct report_free_page_work;\n\tstruct work_struct update_balloon_stats_work;\n\tstruct work_struct update_balloon_size_work;\n\tspinlock_t stop_update_lock;\n\tbool stop_update;\n\tlong unsigned int config_read_bitmap;\n\tstruct list_head free_page_list;\n\tspinlock_t free_page_list_lock;\n\tlong unsigned int num_free_page_blocks;\n\tu32 cmd_id_received_cache;\n\t__virtio32 cmd_id_active;\n\t__virtio32 cmd_id_stop;\n\twait_queue_head_t acked;\n\tunsigned int num_pages;\n\tstruct balloon_dev_info vb_dev_info;\n\tstruct mutex balloon_lock;\n\tunsigned int num_pfns;\n\t__virtio32 pfns[256];\n\tstruct virtio_balloon_stat stats[16];\n\tstruct shrinker *shrinker;\n\tstruct notifier_block oom_nb;\n\tstruct virtqueue *reporting_vq;\n\tstruct page_reporting_dev_info pr_dev_info;\n\tspinlock_t wakeup_lock;\n\tbool processing_wakeup_event;\n\tu32 wakeup_signal_mask;\n};\n\nstruct virtio_balloon_config {\n\t__le32 num_pages;\n\t__le32 actual;\n\tunion {\n\t\t__le32 free_page_hint_cmd_id;\n\t\t__le32 free_page_report_cmd_id;\n\t};\n\t__le32 poison_val;\n};\n\nstruct virtio_blk_vq;\n\nstruct virtio_blk {\n\tstruct mutex vdev_mutex;\n\tstruct virtio_device *vdev;\n\tstruct gendisk *disk;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct work_struct config_work;\n\tint index;\n\tint num_vqs;\n\tint io_queues[3];\n\tstruct virtio_blk_vq *vqs;\n\tunsigned int zone_sectors;\n};\n\nstruct virtio_blk_geometry {\n\t__virtio16 cylinders;\n\t__u8 heads;\n\t__u8 sectors;\n};\n\nstruct virtio_blk_zoned_characteristics {\n\t__virtio32 zone_sectors;\n\t__virtio32 max_open_zones;\n\t__virtio32 max_active_zones;\n\t__virtio32 max_append_sectors;\n\t__virtio32 write_granularity;\n\t__u8 model;\n\t__u8 unused2[3];\n};\n\nstruct virtio_blk_config {\n\t__virtio64 capacity;\n\t__virtio32 size_max;\n\t__virtio32 seg_max;\n\tstruct virtio_blk_geometry geometry;\n\t__virtio32 blk_size;\n\t__u8 physical_block_exp;\n\t__u8 alignment_offset;\n\t__virtio16 min_io_size;\n\t__virtio32 opt_io_size;\n\t__u8 wce;\n\t__u8 unused;\n\t__virtio16 num_queues;\n\t__virtio32 max_discard_sectors;\n\t__virtio32 max_discard_seg;\n\t__virtio32 discard_sector_alignment;\n\t__virtio32 max_write_zeroes_sectors;\n\t__virtio32 max_write_zeroes_seg;\n\t__u8 write_zeroes_may_unmap;\n\t__u8 unused1[3];\n\t__virtio32 max_secure_erase_sectors;\n\t__virtio32 max_secure_erase_seg;\n\t__virtio32 secure_erase_sector_alignment;\n\tstruct virtio_blk_zoned_characteristics zoned;\n};\n\nstruct virtio_blk_discard_write_zeroes {\n\t__le64 sector;\n\t__le32 num_sectors;\n\t__le32 flags;\n};\n\nstruct virtio_blk_vq {\n\tstruct virtqueue *vq;\n\tspinlock_t lock;\n\tchar name[16];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct virtio_chan {\n\tbool inuse;\n\tspinlock_t lock;\n\tstruct p9_client *client;\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *vq;\n\tint ring_bufs_avail;\n\twait_queue_head_t *vc_wq;\n\tlong unsigned int p9_max_pages;\n\tstruct scatterlist sg[128];\n\tchar *tag;\n\tstruct list_head chan_list;\n};\n\nstruct virtqueue_info;\n\nstruct virtio_shm_region;\n\nstruct virtio_config_ops {\n\tvoid (*get)(struct virtio_device *, unsigned int, void *, unsigned int);\n\tvoid (*set)(struct virtio_device *, unsigned int, const void *, unsigned int);\n\tu32 (*generation)(struct virtio_device *);\n\tu8 (*get_status)(struct virtio_device *);\n\tvoid (*set_status)(struct virtio_device *, u8);\n\tvoid (*reset)(struct virtio_device *);\n\tint (*find_vqs)(struct virtio_device *, unsigned int, struct virtqueue **, struct virtqueue_info *, struct irq_affinity *);\n\tvoid (*del_vqs)(struct virtio_device *);\n\tvoid (*synchronize_cbs)(struct virtio_device *);\n\tu64 (*get_features)(struct virtio_device *);\n\tint (*finalize_features)(struct virtio_device *);\n\tconst char * (*bus_name)(struct virtio_device *);\n\tint (*set_vq_affinity)(struct virtqueue *, const struct cpumask *);\n\tconst struct cpumask * (*get_vq_affinity)(struct virtio_device *, int);\n\tbool (*get_shm_region)(struct virtio_device *, struct virtio_shm_region *, u8);\n\tint (*disable_vq_and_reset)(struct virtqueue *);\n\tint (*enable_vq_after_reset)(struct virtqueue *);\n};\n\nstruct virtio_console_config {\n\t__virtio16 cols;\n\t__virtio16 rows;\n\t__virtio32 max_nr_ports;\n\t__virtio32 emerg_wr;\n};\n\nstruct virtio_dev_parts_cap {\n\t__u8 get_parts_resource_objects_limit;\n\t__u8 set_parts_resource_objects_limit;\n};\n\nstruct virtio_device_id {\n\t__u32 device;\n\t__u32 vendor;\n};\n\nstruct vringh_config_ops;\n\nstruct virtio_device {\n\tint index;\n\tbool failed;\n\tbool config_core_enabled;\n\tbool config_driver_disabled;\n\tbool config_change_pending;\n\tspinlock_t config_lock;\n\tspinlock_t vqs_list_lock;\n\tstruct device dev;\n\tstruct virtio_device_id id;\n\tconst struct virtio_config_ops *config;\n\tconst struct vringh_config_ops *vringh_config;\n\tstruct list_head vqs;\n\tu64 features;\n\tvoid *priv;\n};\n\nstruct virtio_driver {\n\tstruct device_driver driver;\n\tconst struct virtio_device_id *id_table;\n\tconst unsigned int *feature_table;\n\tunsigned int feature_table_size;\n\tconst unsigned int *feature_table_legacy;\n\tunsigned int feature_table_size_legacy;\n\tint (*validate)(struct virtio_device *);\n\tint (*probe)(struct virtio_device *);\n\tvoid (*scan)(struct virtio_device *);\n\tvoid (*remove)(struct virtio_device *);\n\tvoid (*config_changed)(struct virtio_device *);\n\tint (*freeze)(struct virtio_device *);\n\tint (*restore)(struct virtio_device *);\n\tint (*reset_prepare)(struct virtio_device *);\n\tint (*reset_done)(struct virtio_device *);\n};\n\nstruct virtio_mmio_device {\n\tstruct virtio_device vdev;\n\tstruct platform_device *pdev;\n\tvoid *base;\n\tlong unsigned int version;\n\tspinlock_t lock;\n\tstruct list_head virtqueues;\n};\n\nstruct virtio_mmio_vq_info {\n\tstruct virtqueue *vq;\n\tstruct list_head node;\n};\n\nstruct virtio_net_hdr_mrg_rxbuf {\n\tstruct virtio_net_hdr hdr;\n\t__virtio16 num_buffers;\n};\n\nstruct virtio_net_hdr_v1 {\n\t__u8 flags;\n\t__u8 gso_type;\n\t__virtio16 hdr_len;\n\t__virtio16 gso_size;\n\tunion {\n\t\tstruct {\n\t\t\t__virtio16 csum_start;\n\t\t\t__virtio16 csum_offset;\n\t\t};\n\t\tstruct {\n\t\t\t__virtio16 start;\n\t\t\t__virtio16 offset;\n\t\t} csum;\n\t\tstruct {\n\t\t\t__le16 segments;\n\t\t\t__le16 dup_acks;\n\t\t} rsc;\n\t};\n\t__virtio16 num_buffers;\n};\n\nstruct virtio_net_hdr_v1_hash {\n\tstruct virtio_net_hdr_v1 hdr;\n\t__le32 hash_value;\n\t__le16 hash_report;\n\t__le16 padding;\n};\n\nstruct virtio_net_common_hdr {\n\tunion {\n\t\tstruct virtio_net_hdr hdr;\n\t\tstruct virtio_net_hdr_mrg_rxbuf mrg_hdr;\n\t\tstruct virtio_net_hdr_v1_hash hash_v1_hdr;\n\t};\n};\n\nstruct virtio_net_config {\n\t__u8 mac[6];\n\t__virtio16 status;\n\t__virtio16 max_virtqueue_pairs;\n\t__virtio16 mtu;\n\t__le32 speed;\n\t__u8 duplex;\n\t__u8 rss_max_key_size;\n\t__le16 rss_max_indirection_table_length;\n\t__le32 supported_hash_types;\n};\n\nstruct virtio_net_ctrl_coal {\n\t__le32 max_packets;\n\t__le32 max_usecs;\n};\n\nstruct virtio_net_ctrl_coal_rx {\n\t__le32 rx_max_packets;\n\t__le32 rx_usecs;\n};\n\nstruct virtio_net_ctrl_coal_tx {\n\t__le32 tx_max_packets;\n\t__le32 tx_usecs;\n};\n\nstruct virtio_net_ctrl_coal_vq {\n\t__le16 vqn;\n\t__le16 reserved;\n\tstruct virtio_net_ctrl_coal coal;\n};\n\nstruct virtio_net_ctrl_mac {\n\t__virtio32 entries;\n\t__u8 macs[0];\n};\n\nstruct virtio_net_ctrl_mq {\n\t__virtio16 virtqueue_pairs;\n};\n\nstruct virtio_net_ctrl_queue_stats {\n\tstruct {\n\t\t__le16 vq_index;\n\t\t__le16 reserved[3];\n\t\t__le64 types_bitmap[1];\n\t} stats[1];\n};\n\nstruct virtio_net_ctrl_rss {\n\tu32 hash_types;\n\tu16 indirection_table_mask;\n\tu16 unclassified_queue;\n\tu16 hash_cfg_reserved;\n\tu16 max_tx_vq;\n\tu8 hash_key_length;\n\tu8 key[40];\n\tu16 *indirection_table;\n};\n\nstruct virtio_net_stats_capabilities {\n\t__le64 supported_stats_types[1];\n};\n\nstruct virtio_net_stats_reply_hdr {\n\t__u8 type;\n\t__u8 reserved;\n\t__le16 vq_index;\n\t__le16 reserved1;\n\t__le16 size;\n};\n\nstruct virtio_pci_vq_info;\n\nstruct virtio_pci_admin_vq {\n\tstruct virtio_pci_vq_info *info;\n\tspinlock_t lock;\n\tu64 supported_cmds;\n\tu64 supported_caps;\n\tu8 max_dev_parts_objects;\n\tstruct ida dev_parts_ida;\n\tchar name[10];\n\tu16 vq_index;\n};\n\nstruct virtio_pci_common_cfg {\n\t__le32 device_feature_select;\n\t__le32 device_feature;\n\t__le32 guest_feature_select;\n\t__le32 guest_feature;\n\t__le16 msix_config;\n\t__le16 num_queues;\n\t__u8 device_status;\n\t__u8 config_generation;\n\t__le16 queue_select;\n\t__le16 queue_size;\n\t__le16 queue_msix_vector;\n\t__le16 queue_enable;\n\t__le16 queue_notify_off;\n\t__le32 queue_desc_lo;\n\t__le32 queue_desc_hi;\n\t__le32 queue_avail_lo;\n\t__le32 queue_avail_hi;\n\t__le32 queue_used_lo;\n\t__le32 queue_used_hi;\n};\n\nstruct virtio_pci_legacy_device {\n\tstruct pci_dev *pci_dev;\n\tu8 *isr;\n\tvoid *ioaddr;\n\tstruct virtio_device_id id;\n};\n\nstruct virtio_pci_modern_device {\n\tstruct pci_dev *pci_dev;\n\tstruct virtio_pci_common_cfg *common;\n\tvoid *device;\n\tvoid *notify_base;\n\tresource_size_t notify_pa;\n\tu8 *isr;\n\tsize_t notify_len;\n\tsize_t device_len;\n\tsize_t common_len;\n\tint notify_map_cap;\n\tu32 notify_offset_multiplier;\n\tint modern_bars;\n\tstruct virtio_device_id id;\n\tint (*device_id_check)(struct pci_dev *);\n\tu64 dma_mask;\n};\n\nstruct virtio_pci_device {\n\tstruct virtio_device vdev;\n\tstruct pci_dev *pci_dev;\n\tunion {\n\t\tstruct virtio_pci_legacy_device ldev;\n\t\tstruct virtio_pci_modern_device mdev;\n\t};\n\tbool is_legacy;\n\tu8 *isr;\n\tspinlock_t lock;\n\tstruct list_head virtqueues;\n\tstruct list_head slow_virtqueues;\n\tstruct virtio_pci_vq_info **vqs;\n\tstruct virtio_pci_admin_vq admin_vq;\n\tint msix_enabled;\n\tint intx_enabled;\n\tcpumask_var_t *msix_affinity_masks;\n\tchar (*msix_names)[256];\n\tunsigned int msix_vectors;\n\tunsigned int msix_used_vectors;\n\tbool per_vq_vectors;\n\tstruct virtqueue * (*setup_vq)(struct virtio_pci_device *, struct virtio_pci_vq_info *, unsigned int, void (*)(struct virtqueue *), const char *, bool, u16);\n\tvoid (*del_vq)(struct virtio_pci_vq_info *);\n\tu16 (*config_vector)(struct virtio_pci_device *, u16);\n\tint (*avq_index)(struct virtio_device *, u16 *, u16 *);\n};\n\nstruct virtio_pci_modern_common_cfg {\n\tstruct virtio_pci_common_cfg cfg;\n\t__le16 queue_notify_data;\n\t__le16 queue_reset;\n\t__le16 admin_queue_index;\n\t__le16 admin_queue_num;\n};\n\nstruct virtio_pci_vq_info {\n\tstruct virtqueue *vq;\n\tstruct list_head node;\n\tunsigned int msix_vector;\n};\n\nstruct virtio_resource_obj_dev_parts {\n\t__u8 type;\n\t__u8 reserved[7];\n};\n\nstruct virtproc_info;\n\nstruct virtio_rpmsg_channel {\n\tstruct rpmsg_device rpdev;\n\tstruct virtproc_info *vrp;\n};\n\nstruct virtio_shm_region {\n\tu64 addr;\n\tu64 len;\n};\n\nstruct virtnet_info {\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *cvq;\n\tstruct net_device *dev;\n\tstruct send_queue *sq;\n\tstruct receive_queue *rq;\n\tunsigned int status;\n\tu16 max_queue_pairs;\n\tu16 curr_queue_pairs;\n\tu16 xdp_queue_pairs;\n\tbool xdp_enabled;\n\tbool big_packets;\n\tunsigned int big_packets_num_skbfrags;\n\tbool mergeable_rx_bufs;\n\tbool has_rss;\n\tbool has_rss_hash_report;\n\tu8 rss_key_size;\n\tu16 rss_indir_table_size;\n\tu32 rss_hash_types_supported;\n\tu32 rss_hash_types_saved;\n\tstruct virtio_net_ctrl_rss rss;\n\tbool has_cvq;\n\tstruct mutex cvq_lock;\n\tbool any_header_sg;\n\tu8 hdr_len;\n\tstruct delayed_work refill;\n\tbool refill_enabled;\n\tspinlock_t refill_lock;\n\tstruct work_struct config_work;\n\tstruct work_struct rx_mode_work;\n\tbool rx_mode_work_enabled;\n\tbool affinity_hint_set;\n\tstruct hlist_node node;\n\tstruct hlist_node node_dead;\n\tstruct control_buf *ctrl;\n\tu8 duplex;\n\tu32 speed;\n\tbool rx_dim_enabled;\n\tstruct virtnet_interrupt_coalesce intr_coal_tx;\n\tstruct virtnet_interrupt_coalesce intr_coal_rx;\n\tlong unsigned int guest_offloads;\n\tlong unsigned int guest_offloads_capable;\n\tstruct failover *failover;\n\tu64 device_stats_cap;\n};\n\nstruct virtnet_rq_dma {\n\tdma_addr_t addr;\n\tu32 ref;\n\tu16 len;\n\tu16 need_sync;\n};\n\nstruct virtnet_sq_free_stats {\n\tu64 packets;\n\tu64 bytes;\n\tu64 napi_packets;\n\tu64 napi_bytes;\n\tu64 xsk;\n};\n\nstruct virtnet_stat_desc {\n\tchar desc[32];\n\tsize_t offset;\n\tsize_t qstat_offset;\n};\n\nstruct virtnet_stats_ctx {\n\tbool to_qstat;\n\tu32 desc_num[3];\n\tu64 bitmap[3];\n\tu32 size[3];\n\tu64 *data;\n};\n\nstruct virtproc_info {\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *rvq;\n\tstruct virtqueue *svq;\n\tvoid *rbufs;\n\tvoid *sbufs;\n\tunsigned int num_bufs;\n\tunsigned int buf_size;\n\tint last_sbuf;\n\tdma_addr_t bufs_dma;\n\tstruct mutex tx_lock;\n\tstruct idr endpoints;\n\tstruct mutex endpoints_lock;\n\twait_queue_head_t sendq;\n\tatomic_t sleepers;\n};\n\nstruct virtqueue {\n\tstruct list_head list;\n\tvoid (*callback)(struct virtqueue *);\n\tconst char *name;\n\tstruct virtio_device *vdev;\n\tunsigned int index;\n\tunsigned int num_free;\n\tunsigned int num_max;\n\tbool reset;\n\tvoid *priv;\n};\n\ntypedef void vq_callback_t(struct virtqueue *);\n\nstruct virtqueue_info {\n\tconst char *name;\n\tvq_callback_t *callback;\n\tbool ctx;\n};\n\nstruct virtrng_info {\n\tstruct hwrng hwrng;\n\tstruct virtqueue *vq;\n\tchar name[25];\n\tint index;\n\tbool hwrng_register_done;\n\tbool hwrng_removed;\n\tstruct completion have_data;\n\tunsigned int data_avail;\n\tunsigned int data_idx;\n\tu8 data[64];\n};\n\nstruct visconti_clk_gate {\n\tstruct clk_hw hw;\n\tstruct regmap *regmap;\n\tu32 ckon_offset;\n\tu32 ckoff_offset;\n\tu8 ck_idx;\n\tu8 flags;\n\tu32 rson_offset;\n\tu32 rsoff_offset;\n\tu8 rs_idx;\n\tspinlock_t *lock;\n};\n\nstruct visconti_clk_gate_table {\n\tunsigned int id;\n\tconst char *name;\n\tconst struct clk_parent_data *parent_data;\n\tu8 num_parents;\n\tu8 flags;\n\tu32 ckon_offset;\n\tu32 ckoff_offset;\n\tu8 ck_idx;\n\tunsigned int div;\n\tu8 rs_id;\n};\n\nstruct visconti_clk_provider {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct clk_hw_onecell_data clk_data;\n};\n\nstruct visconti_desc_pin {\n\tstruct pinctrl_pin_desc pin;\n\tunsigned int dsel_offset;\n\tunsigned int dsel_shift;\n\tunsigned int pude_offset;\n\tunsigned int pudsel_offset;\n\tunsigned int pud_shift;\n};\n\nstruct visconti_fixed_clk {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent;\n\tlong unsigned int flag;\n\tunsigned int mult;\n\tunsigned int div;\n};\n\nstruct visconti_gpio {\n\tvoid *base;\n\tspinlock_t lock;\n\tstruct gpio_chip gpio_chip;\n\tstruct device *dev;\n};\n\nstruct visconti_mux {\n\tunsigned int offset;\n\tunsigned int mask;\n\tunsigned int val;\n};\n\nstruct visconti_pcie {\n\tstruct dw_pcie pci;\n\tvoid *ulreg_base;\n\tvoid *smu_base;\n\tvoid *mpu_base;\n\tstruct clk *refclk;\n\tstruct clk *coreclk;\n\tstruct clk *auxclk;\n};\n\nstruct visconti_pin_function {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int nr_groups;\n};\n\nstruct visconti_pin_group {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tunsigned int nr_pins;\n\tstruct visconti_mux mux;\n};\n\nstruct visconti_pinctrl_devdata;\n\nstruct visconti_pinctrl {\n\tvoid *base;\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctl;\n\tstruct pinctrl_desc pctl_desc;\n\tconst struct visconti_pinctrl_devdata *devdata;\n\tspinlock_t lock;\n};\n\nstruct visconti_pinctrl_devdata {\n\tconst struct visconti_desc_pin *pins;\n\tunsigned int nr_pins;\n\tconst struct visconti_pin_group *groups;\n\tunsigned int nr_groups;\n\tconst struct visconti_pin_function *functions;\n\tunsigned int nr_functions;\n\tconst struct visconti_mux *gpio_mux;\n\tvoid (*unlock)(void *);\n};\n\nstruct visconti_pll_rate_table;\n\nstruct visconti_pll_provider;\n\nstruct visconti_pll {\n\tstruct clk_hw hw;\n\tvoid *pll_base;\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n\tconst struct visconti_pll_rate_table *rate_table;\n\tsize_t rate_count;\n\tstruct visconti_pll_provider *ctx;\n};\n\nstruct visconti_pll_info {\n\tunsigned int id;\n\tconst char *name;\n\tconst char *parent;\n\tlong unsigned int base_reg;\n\tconst struct visconti_pll_rate_table *rate_table;\n};\n\nstruct visconti_pll_provider {\n\tvoid *reg_base;\n\tstruct device_node *node;\n\tstruct clk_hw_onecell_data clk_data;\n};\n\nstruct visconti_pll_rate_table {\n\tlong unsigned int rate;\n\tunsigned int dacen;\n\tunsigned int dsmen;\n\tunsigned int refdiv;\n\tlong unsigned int intin;\n\tlong unsigned int fracin;\n\tunsigned int postdiv1;\n\tunsigned int postdiv2;\n};\n\nstruct visconti_reset_data;\n\nstruct visconti_reset {\n\tstruct reset_controller_dev rcdev;\n\tstruct regmap *regmap;\n\tconst struct visconti_reset_data *resets;\n\tspinlock_t *lock;\n};\n\nstruct visconti_reset_data {\n\tu32 rson_offset;\n\tu32 rsoff_offset;\n\tu8 rs_idx;\n};\n\nstruct vl_config {\n\tint __default_vl;\n};\n\nstruct vl_info {\n\tenum vec_type type;\n\tconst char *name;\n\tint min_vl;\n\tint max_vl;\n\tint max_virtualisable_vl;\n\tlong unsigned int vq_map[8];\n\tlong unsigned int vq_partial_map[8];\n};\n\nstruct vlan_priority_tci_mapping;\n\nstruct vlan_pcpu_stats;\n\nstruct vlan_dev_priv {\n\tunsigned int nr_ingress_mappings;\n\tu32 ingress_priority_map[8];\n\tunsigned int nr_egress_mappings;\n\tstruct vlan_priority_tci_mapping *egress_priority_map[16];\n\t__be16 vlan_proto;\n\tu16 vlan_id;\n\tu16 flags;\n\tstruct net_device *real_dev;\n\tnetdevice_tracker dev_tracker;\n\tunsigned char real_dev_addr[6];\n\tstruct proc_dir_entry *dent;\n\tstruct vlan_pcpu_stats *vlan_pcpu_stats;\n};\n\nstruct vlan_ethhdr {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned char h_dest[6];\n\t\t\tunsigned char h_source[6];\n\t\t};\n\t\tstruct {\n\t\t\tunsigned char h_dest[6];\n\t\t\tunsigned char h_source[6];\n\t\t} addrs;\n\t};\n\t__be16 h_vlan_proto;\n\t__be16 h_vlan_TCI;\n\t__be16 h_vlan_encapsulated_proto;\n};\n\nstruct vlan_group {\n\tunsigned int nr_vlan_devs;\n\tstruct hlist_node hlist;\n\tstruct net_device **vlan_devices_arrays[16];\n};\n\nstruct vlan_hdr {\n\t__be16 h_vlan_TCI;\n\t__be16 h_vlan_encapsulated_proto;\n};\n\nstruct vlan_info {\n\tstruct net_device *real_dev;\n\tstruct vlan_group grp;\n\tstruct list_head vid_list;\n\tunsigned int nr_vids;\n\tstruct callback_head rcu;\n};\n\nstruct vlan_pcpu_stats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t rx_multicast;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n\tu32 rx_errors;\n\tu32 tx_dropped;\n};\n\nstruct vlan_priority_tci_mapping {\n\tu32 priority;\n\tu16 vlan_qos;\n\tstruct vlan_priority_tci_mapping *next;\n};\n\nstruct vlan_vid_info {\n\tstruct list_head list;\n\t__be16 proto;\n\tu16 vid;\n\tint refcount;\n};\n\nstruct vm_userfaultfd_ctx {};\n\nstruct vma_lock;\n\nstruct vma_numab_state;\n\nstruct vm_area_struct {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int vm_start;\n\t\t\tlong unsigned int vm_end;\n\t\t};\n\t\tstruct callback_head vm_rcu;\n\t};\n\tstruct mm_struct *vm_mm;\n\tpgprot_t vm_page_prot;\n\tunion {\n\t\tconst vm_flags_t vm_flags;\n\t\tvm_flags_t __vm_flags;\n\t};\n\tbool detached;\n\tunsigned int vm_lock_seq;\n\tstruct vma_lock *vm_lock;\n\tstruct {\n\t\tstruct rb_node rb;\n\t\tlong unsigned int rb_subtree_last;\n\t} shared;\n\tstruct list_head anon_vma_chain;\n\tstruct anon_vma *anon_vma;\n\tconst struct vm_operations_struct *vm_ops;\n\tlong unsigned int vm_pgoff;\n\tstruct file *vm_file;\n\tvoid *vm_private_data;\n\tatomic_long_t swap_readahead_info;\n\tstruct mempolicy *vm_policy;\n\tstruct vma_numab_state *numab_state;\n\tstruct vm_userfaultfd_ctx vm_userfaultfd_ctx;\n};\n\nstruct vm_event_state {\n\tlong unsigned int event[108];\n};\n\nstruct vm_fault {\n\tconst struct {\n\t\tstruct vm_area_struct *vma;\n\t\tgfp_t gfp_mask;\n\t\tlong unsigned int pgoff;\n\t\tlong unsigned int address;\n\t\tlong unsigned int real_address;\n\t};\n\tenum fault_flag flags;\n\tpmd_t *pmd;\n\tpud_t *pud;\n\tunion {\n\t\tpte_t orig_pte;\n\t\tpmd_t orig_pmd;\n\t};\n\tstruct page *cow_page;\n\tstruct page *page;\n\tpte_t *pte;\n\tspinlock_t *ptl;\n\tpgtable_t prealloc_pte;\n};\n\nstruct vm_operations_struct {\n\tvoid (*open)(struct vm_area_struct *);\n\tvoid (*close)(struct vm_area_struct *);\n\tint (*may_split)(struct vm_area_struct *, long unsigned int);\n\tint (*mremap)(struct vm_area_struct *);\n\tint (*mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int, long unsigned int);\n\tvm_fault_t (*fault)(struct vm_fault *);\n\tvm_fault_t (*huge_fault)(struct vm_fault *, unsigned int);\n\tvm_fault_t (*map_pages)(struct vm_fault *, long unsigned int, long unsigned int);\n\tlong unsigned int (*pagesize)(struct vm_area_struct *);\n\tvm_fault_t (*page_mkwrite)(struct vm_fault *);\n\tvm_fault_t (*pfn_mkwrite)(struct vm_fault *);\n\tint (*access)(struct vm_area_struct *, long unsigned int, void *, int, int);\n\tconst char * (*name)(struct vm_area_struct *);\n\tint (*set_policy)(struct vm_area_struct *, struct mempolicy *);\n\tstruct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int, long unsigned int *);\n\tstruct page * (*find_special_page)(struct vm_area_struct *, long unsigned int);\n};\n\nstruct vm_special_mapping {\n\tconst char *name;\n\tstruct page **pages;\n\tvm_fault_t (*fault)(const struct vm_special_mapping *, struct vm_area_struct *, struct vm_fault *);\n\tint (*mremap)(const struct vm_special_mapping *, struct vm_area_struct *);\n\tvoid (*close)(const struct vm_special_mapping *, struct vm_area_struct *);\n};\n\nstruct vm_stack {\n\tstruct callback_head rcu;\n\tstruct vm_struct *stack_vm_area;\n};\n\nstruct vm_struct {\n\tstruct vm_struct *next;\n\tvoid *addr;\n\tlong unsigned int size;\n\tlong unsigned int flags;\n\tstruct page **pages;\n\tunsigned int page_order;\n\tunsigned int nr_pages;\n\tphys_addr_t phys_addr;\n\tconst void *caller;\n};\n\nstruct vm_unmapped_area_info {\n\tlong unsigned int flags;\n\tlong unsigned int length;\n\tlong unsigned int low_limit;\n\tlong unsigned int high_limit;\n\tlong unsigned int align_mask;\n\tlong unsigned int align_offset;\n\tlong unsigned int start_gap;\n};\n\nstruct vma_list {\n\tstruct vm_area_struct *vma;\n\tstruct list_head head;\n\trefcount_t mmap_count;\n};\n\nstruct vma_lock {\n\tstruct rw_semaphore lock;\n};\n\nstruct vma_merge_struct {\n\tstruct mm_struct *mm;\n\tstruct vma_iterator *vmi;\n\tlong unsigned int pgoff;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tstruct anon_vma *anon_vma;\n\tstruct mempolicy *policy;\n\tstruct vm_userfaultfd_ctx uffd_ctx;\n\tstruct anon_vma_name *anon_name;\n\tenum vma_merge_flags merge_flags;\n\tenum vma_merge_state state;\n};\n\nstruct vma_numab_state {\n\tlong unsigned int next_scan;\n\tlong unsigned int pids_active_reset;\n\tlong unsigned int pids_active[2];\n\tint start_scan_seq;\n\tint prev_scan_seq;\n};\n\nstruct vma_prepare {\n\tstruct vm_area_struct *vma;\n\tstruct vm_area_struct *adj_next;\n\tstruct file *file;\n\tstruct address_space *mapping;\n\tstruct anon_vma *anon_vma;\n\tstruct vm_area_struct *insert;\n\tstruct vm_area_struct *remove;\n\tstruct vm_area_struct *remove2;\n};\n\nstruct vmap_area {\n\tlong unsigned int va_start;\n\tlong unsigned int va_end;\n\tstruct rb_node rb_node;\n\tstruct list_head list;\n\tunion {\n\t\tlong unsigned int subtree_max_size;\n\t\tstruct vm_struct *vm;\n\t};\n\tlong unsigned int flags;\n};\n\nstruct vmap_block {\n\tspinlock_t lock;\n\tstruct vmap_area *va;\n\tlong unsigned int free;\n\tlong unsigned int dirty;\n\tlong unsigned int used_map[16];\n\tlong unsigned int dirty_min;\n\tlong unsigned int dirty_max;\n\tstruct list_head free_list;\n\tstruct callback_head callback_head;\n\tstruct list_head purge;\n\tunsigned int cpu;\n};\n\nstruct vmap_block_queue {\n\tspinlock_t lock;\n\tstruct list_head free;\n\tstruct xarray vmap_blocks;\n};\n\nstruct vmap_pool {\n\tstruct list_head head;\n\tlong unsigned int len;\n};\n\nstruct vmap_node {\n\tstruct vmap_pool pool[256];\n\tspinlock_t pool_lock;\n\tbool skip_populate;\n\tstruct rb_list busy;\n\tstruct rb_list lazy;\n\tstruct list_head purge_list;\n\tstruct work_struct purge_work;\n\tlong unsigned int nr_purged;\n};\n\nstruct vmclock_abi {\n\t__le32 magic;\n\t__le32 size;\n\t__le16 version;\n\t__u8 counter_id;\n\t__u8 time_type;\n\t__le32 seq_count;\n\t__le64 disruption_marker;\n\t__le64 flags;\n\t__u8 pad[2];\n\t__u8 clock_status;\n\t__u8 leap_second_smearing_hint;\n\t__le16 tai_offset_sec;\n\t__u8 leap_indicator;\n\t__u8 counter_period_shift;\n\t__le64 counter_value;\n\t__le64 counter_period_frac_sec;\n\t__le64 counter_period_esterror_rate_frac_sec;\n\t__le64 counter_period_maxerror_rate_frac_sec;\n\t__le64 time_sec;\n\t__le64 time_frac_sec;\n\t__le64 time_esterror_nanosec;\n\t__le64 time_maxerror_nanosec;\n};\n\nstruct vmclock_state {\n\tstruct resource res;\n\tstruct vmclock_abi *clk;\n\tstruct miscdevice miscdev;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct ptp_clock *ptp_clock;\n\tenum clocksource_ids cs_id;\n\tenum clocksource_ids sys_cs_id;\n\tint index;\n\tchar *name;\n};\n\nstruct vmcore_cb {\n\tbool (*pfn_is_ram)(struct vmcore_cb *, long unsigned int);\n\tint (*get_device_ram)(struct vmcore_cb *, struct list_head *);\n\tstruct list_head next;\n};\n\nstruct vmcore_range {\n\tstruct list_head list;\n\tlong long unsigned int paddr;\n\tlong long unsigned int size;\n\tloff_t offset;\n};\n\nstruct vmpressure_event {\n\tstruct eventfd_ctx *efd;\n\tenum vmpressure_levels level;\n\tenum vmpressure_modes mode;\n\tstruct list_head node;\n};\n\nstruct voltage_info {\n\tunsigned int version;\n\tunsigned int num_domains;\n\tstruct scmi_voltage_info *domains;\n};\n\nstruct vring_desc;\n\ntypedef struct vring_desc vring_desc_t;\n\nstruct vring_avail;\n\ntypedef struct vring_avail vring_avail_t;\n\nstruct vring_used;\n\ntypedef struct vring_used vring_used_t;\n\nstruct vring {\n\tunsigned int num;\n\tvring_desc_t *desc;\n\tvring_avail_t *avail;\n\tvring_used_t *used;\n};\n\nstruct vring_avail {\n\t__virtio16 flags;\n\t__virtio16 idx;\n\t__virtio16 ring[0];\n};\n\nstruct vring_desc {\n\t__virtio64 addr;\n\t__virtio32 len;\n\t__virtio16 flags;\n\t__virtio16 next;\n};\n\nstruct vring_desc_extra {\n\tdma_addr_t addr;\n\tu32 len;\n\tu16 flags;\n\tu16 next;\n};\n\nstruct vring_packed_desc;\n\nstruct vring_desc_state_packed {\n\tvoid *data;\n\tstruct vring_packed_desc *indir_desc;\n\tu16 num;\n\tu16 last;\n};\n\nstruct vring_desc_state_split {\n\tvoid *data;\n\tstruct vring_desc *indir_desc;\n};\n\nstruct vring_packed_desc {\n\t__le64 addr;\n\t__le32 len;\n\t__le16 id;\n\t__le16 flags;\n};\n\nstruct vring_packed_desc_event {\n\t__le16 off_wrap;\n\t__le16 flags;\n};\n\nstruct vring_used_elem {\n\t__virtio32 id;\n\t__virtio32 len;\n};\n\ntypedef struct vring_used_elem vring_used_elem_t;\n\nstruct vring_used {\n\t__virtio16 flags;\n\t__virtio16 idx;\n\tvring_used_elem_t ring[0];\n};\n\nstruct vring_virtqueue_split {\n\tstruct vring vring;\n\tu16 avail_flags_shadow;\n\tu16 avail_idx_shadow;\n\tstruct vring_desc_state_split *desc_state;\n\tstruct vring_desc_extra *desc_extra;\n\tdma_addr_t queue_dma_addr;\n\tsize_t queue_size_in_bytes;\n\tu32 vring_align;\n\tbool may_reduce_num;\n};\n\nstruct vring_virtqueue_packed {\n\tstruct {\n\t\tunsigned int num;\n\t\tstruct vring_packed_desc *desc;\n\t\tstruct vring_packed_desc_event *driver;\n\t\tstruct vring_packed_desc_event *device;\n\t} vring;\n\tbool avail_wrap_counter;\n\tu16 avail_used_flags;\n\tu16 next_avail_idx;\n\tu16 event_flags_shadow;\n\tstruct vring_desc_state_packed *desc_state;\n\tstruct vring_desc_extra *desc_extra;\n\tdma_addr_t ring_dma_addr;\n\tdma_addr_t driver_event_dma_addr;\n\tdma_addr_t device_event_dma_addr;\n\tsize_t ring_size_in_bytes;\n\tsize_t event_size_in_bytes;\n};\n\nstruct vring_virtqueue {\n\tstruct virtqueue vq;\n\tbool packed_ring;\n\tbool use_dma_api;\n\tbool weak_barriers;\n\tbool broken;\n\tbool indirect;\n\tbool event;\n\tunsigned int free_head;\n\tunsigned int num_added;\n\tu16 last_used_idx;\n\tbool event_triggered;\n\tunion {\n\t\tstruct vring_virtqueue_split split;\n\t\tstruct vring_virtqueue_packed packed;\n\t};\n\tbool (*notify)(struct virtqueue *);\n\tbool we_own_ring;\n\tstruct device *dma_dev;\n};\n\nstruct vsc8531_edge_rate_table {\n\tu32 vddmac;\n\tu32 slowdown[8];\n};\n\nstruct vsc85xx_ptp;\n\nstruct vsc85xx_hw_stat;\n\nstruct vsc8531_private {\n\tint rate_magic;\n\tu16 supp_led_modes;\n\tu32 leds_mode[4];\n\tu8 nleds;\n\tconst struct vsc85xx_hw_stat *hw_stats;\n\tu64 *stats;\n\tint nstats;\n\tu8 addr;\n\tunsigned int base_addr;\n\tstruct mii_timestamper mii_ts;\n\tbool input_clk_init;\n\tstruct vsc85xx_ptp *ptp;\n\tstruct gpio_desc *load_save;\n\tunsigned int ts_base_addr;\n\tu8 ts_base_phy;\n\tstruct mutex ts_lock;\n\tstruct mutex phc_lock;\n};\n\nstruct vsc85xx_hw_stat {\n\tconst char *string;\n\tu8 reg;\n\tu16 page;\n\tu16 mask;\n};\n\nstruct vt_consize {\n\tshort unsigned int v_rows;\n\tshort unsigned int v_cols;\n\tshort unsigned int v_vlin;\n\tshort unsigned int v_clin;\n\tshort unsigned int v_vcol;\n\tshort unsigned int v_ccol;\n};\n\nstruct vt_event {\n\tunsigned int event;\n\tunsigned int oldev;\n\tunsigned int newev;\n\tunsigned int pad[4];\n};\n\nstruct vt_event_wait {\n\tstruct list_head list;\n\tstruct vt_event event;\n\tint done;\n};\n\nstruct vt_notifier_param {\n\tstruct vc_data *vc;\n\tunsigned int c;\n};\n\nstruct vt_setactivate {\n\tunsigned int console;\n\tstruct vt_mode mode;\n};\n\nstruct vt_sizes {\n\tshort unsigned int v_rows;\n\tshort unsigned int v_cols;\n\tshort unsigned int v_scrollsize;\n};\n\nstruct vt_spawn_console {\n\tspinlock_t lock;\n\tstruct pid *pid;\n\tint sig;\n};\n\nstruct vt_stat {\n\tshort unsigned int v_active;\n\tshort unsigned int v_signal;\n\tshort unsigned int v_state;\n};\n\nstruct vxlan_metadata {\n\tu32 gbp;\n};\n\nstruct wait_bit_key {\n\tlong unsigned int *flags;\n\tint bit_nr;\n\tlong unsigned int timeout;\n};\n\nstruct wait_bit_queue_entry {\n\tstruct wait_bit_key key;\n\tstruct wait_queue_entry wq_entry;\n};\n\nstruct wait_page_key {\n\tstruct folio *folio;\n\tint bit_nr;\n\tint page_match;\n};\n\nstruct wake_irq {\n\tstruct device *dev;\n\tunsigned int status;\n\tint irq;\n\tconst char *name;\n};\n\nstruct wakeup_source {\n\tconst char *name;\n\tint id;\n\tstruct list_head entry;\n\tspinlock_t lock;\n\tstruct wake_irq *wakeirq;\n\tstruct timer_list timer;\n\tlong unsigned int timer_expires;\n\tktime_t total_time;\n\tktime_t max_time;\n\tktime_t last_time;\n\tktime_t start_prevent_time;\n\tktime_t prevent_sleep_time;\n\tlong unsigned int event_count;\n\tlong unsigned int active_count;\n\tlong unsigned int relax_count;\n\tlong unsigned int expire_count;\n\tlong unsigned int wakeup_count;\n\tstruct device *dev;\n\tbool active: 1;\n\tbool autosleep_enabled: 1;\n};\n\nstruct walk_rcec_data {\n\tstruct pci_dev *rcec;\n\tint (*user_callback)(struct pci_dev *, void *);\n\tvoid *user_data;\n};\n\nstruct warn_args {\n\tconst char *fmt;\n\tva_list args;\n};\n\nstruct xenbus_watch {\n\tstruct list_head list;\n\tconst char *node;\n\tunsigned int nr_pending;\n\tbool (*will_handle)(struct xenbus_watch *, const char *, const char *);\n\tvoid (*callback)(struct xenbus_watch *, const char *, const char *);\n};\n\nstruct xenbus_file_priv;\n\nstruct watch_adapter {\n\tstruct list_head list;\n\tstruct xenbus_watch watch;\n\tstruct xenbus_file_priv *dev_data;\n\tchar *token;\n};\n\nstruct watchdog_core_data {\n\tstruct device dev;\n\tstruct cdev cdev;\n\tstruct watchdog_device *wdd;\n\tstruct mutex lock;\n\tktime_t last_keepalive;\n\tktime_t last_hw_keepalive;\n\tktime_t open_deadline;\n\tstruct hrtimer timer;\n\tstruct kthread_work work;\n\tlong unsigned int status;\n};\n\nstruct watchdog_governor {\n\tconst char name[20];\n\tvoid (*pretimeout)(struct watchdog_device *);\n};\n\nstruct watchdog_info {\n\t__u32 options;\n\t__u32 firmware_version;\n\t__u8 identity[32];\n};\n\nstruct watchdog_ops {\n\tstruct module *owner;\n\tint (*start)(struct watchdog_device *);\n\tint (*stop)(struct watchdog_device *);\n\tint (*ping)(struct watchdog_device *);\n\tunsigned int (*status)(struct watchdog_device *);\n\tint (*set_timeout)(struct watchdog_device *, unsigned int);\n\tint (*set_pretimeout)(struct watchdog_device *, unsigned int);\n\tunsigned int (*get_timeleft)(struct watchdog_device *);\n\tint (*restart)(struct watchdog_device *, long unsigned int, void *);\n\tlong int (*ioctl)(struct watchdog_device *, unsigned int, long unsigned int);\n};\n\nstruct wb_lock_cookie {\n\tbool locked;\n\tlong unsigned int flags;\n};\n\nstruct wb_stats {\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_io;\n\tlong unsigned int nr_more_io;\n\tlong unsigned int nr_dirty_time;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_reclaimable;\n\tlong unsigned int nr_dirtied;\n\tlong unsigned int nr_written;\n\tlong unsigned int dirty_thresh;\n\tlong unsigned int wb_thresh;\n};\n\nstruct wb_writeback_work {\n\tlong int nr_pages;\n\tstruct super_block *sb;\n\tenum writeback_sync_modes sync_mode;\n\tunsigned int tagged_writepages: 1;\n\tunsigned int for_kupdate: 1;\n\tunsigned int range_cyclic: 1;\n\tunsigned int for_background: 1;\n\tunsigned int for_sync: 1;\n\tunsigned int auto_free: 1;\n\tenum wb_reason reason;\n\tstruct list_head list;\n\tstruct wb_completion *done;\n};\n\nstruct wchan_info {\n\tlong unsigned int pc;\n\tint count;\n};\n\nstruct window {\n\tu8 start;\n\tu8 end;\n\tu8 length;\n};\n\nstruct wktmr_time {\n\tu32 sec;\n\tu32 pre;\n};\n\nstruct wol_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_wolinfo wol;\n\tbool show_sopass;\n};\n\nstruct word_at_a_time {\n\tconst long unsigned int one_bits;\n\tconst long unsigned int high_bits;\n};\n\nstruct work_for_cpu {\n\tstruct work_struct work;\n\tlong int (*fn)(void *);\n\tvoid *arg;\n\tlong int ret;\n};\n\nstruct work_offq_data {\n\tu32 pool_id;\n\tu32 disable;\n\tu32 flags;\n};\n\nstruct worker {\n\tunion {\n\t\tstruct list_head entry;\n\t\tstruct hlist_node hentry;\n\t};\n\tstruct work_struct *current_work;\n\twork_func_t current_func;\n\tstruct pool_workqueue *current_pwq;\n\tu64 current_at;\n\tunsigned int current_color;\n\tint sleeping;\n\twork_func_t last_func;\n\tstruct list_head scheduled;\n\tstruct task_struct *task;\n\tstruct worker_pool *pool;\n\tstruct list_head node;\n\tlong unsigned int last_active;\n\tunsigned int flags;\n\tint id;\n\tchar desc[32];\n\tstruct workqueue_struct *rescue_wq;\n};\n\nstruct worker_pool {\n\traw_spinlock_t lock;\n\tint cpu;\n\tint node;\n\tint id;\n\tunsigned int flags;\n\tlong unsigned int watchdog_ts;\n\tbool cpu_stall;\n\tint nr_running;\n\tstruct list_head worklist;\n\tint nr_workers;\n\tint nr_idle;\n\tstruct list_head idle_list;\n\tstruct timer_list idle_timer;\n\tstruct work_struct idle_cull_work;\n\tstruct timer_list mayday_timer;\n\tstruct hlist_head busy_hash[64];\n\tstruct worker *manager;\n\tstruct list_head workers;\n\tstruct ida worker_ida;\n\tstruct workqueue_attrs *attrs;\n\tstruct hlist_node hash_node;\n\tint refcnt;\n\tstruct callback_head rcu;\n};\n\nstruct workqueue_attrs {\n\tint nice;\n\tcpumask_var_t cpumask;\n\tcpumask_var_t __pod_cpumask;\n\tbool affn_strict;\n\tenum wq_affn_scope affn_scope;\n\tbool ordered;\n};\n\nstruct wq_flusher;\n\nstruct wq_device;\n\nstruct wq_node_nr_active;\n\nstruct workqueue_struct {\n\tstruct list_head pwqs;\n\tstruct list_head list;\n\tstruct mutex mutex;\n\tint work_color;\n\tint flush_color;\n\tatomic_t nr_pwqs_to_flush;\n\tstruct wq_flusher *first_flusher;\n\tstruct list_head flusher_queue;\n\tstruct list_head flusher_overflow;\n\tstruct list_head maydays;\n\tstruct worker *rescuer;\n\tint nr_drainers;\n\tint max_active;\n\tint min_active;\n\tint saved_max_active;\n\tint saved_min_active;\n\tstruct workqueue_attrs *unbound_attrs;\n\tstruct pool_workqueue *dfl_pwq;\n\tstruct wq_device *wq_dev;\n\tchar name[32];\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tunsigned int flags;\n\tstruct pool_workqueue **cpu_pwq;\n\tstruct wq_node_nr_active *node_nr_active[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct wq_barrier {\n\tstruct work_struct work;\n\tstruct completion done;\n\tstruct task_struct *task;\n};\n\nstruct wq_device {\n\tstruct workqueue_struct *wq;\n\tstruct device dev;\n};\n\nstruct wq_drain_dead_softirq_work {\n\tstruct work_struct work;\n\tstruct worker_pool *pool;\n\tstruct completion done;\n};\n\nstruct wq_flusher {\n\tstruct list_head list;\n\tint flush_color;\n\tstruct completion done;\n};\n\nstruct wq_node_nr_active {\n\tint max;\n\tatomic_t nr;\n\traw_spinlock_t lock;\n\tstruct list_head pending_pwqs;\n};\n\nstruct wq_pod_type {\n\tint nr_pods;\n\tcpumask_var_t *pod_cpus;\n\tint *pod_node;\n\tint *cpu_pod;\n};\n\ntypedef void (*swap_func_t)(void *, void *, int);\n\nstruct wrapper {\n\tcmp_func_t cmp;\n\tswap_func_t swap;\n};\n\nstruct wrapper_priv_data {\n\tstruct dwc2_hsotg *hsotg;\n};\n\nstruct writeback_control {\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tenum writeback_sync_modes sync_mode;\n\tunsigned int for_kupdate: 1;\n\tunsigned int for_background: 1;\n\tunsigned int tagged_writepages: 1;\n\tunsigned int for_reclaim: 1;\n\tunsigned int range_cyclic: 1;\n\tunsigned int for_sync: 1;\n\tunsigned int unpinned_netfs_wb: 1;\n\tunsigned int no_cgroup_owner: 1;\n\tstruct swap_iocb **swap_plug;\n\tstruct list_head *list;\n\tstruct folio_batch fbatch;\n\tlong unsigned int index;\n\tint saved_err;\n\tstruct bdi_writeback *wb;\n\tstruct inode *inode;\n\tint wb_id;\n\tint wb_lcand_id;\n\tint wb_tcand_id;\n\tsize_t wb_bytes;\n\tsize_t wb_lcand_bytes;\n\tsize_t wb_tcand_bytes;\n};\n\nstruct writer {\n\tuint8_t *buffer;\n\tuint8_t previous_byte;\n\tsize_t buffer_pos;\n\tint bufsize;\n\tsize_t global_pos;\n\tlong int (*flush)(void *, long unsigned int);\n\tstruct lzma_header *header;\n};\n\nstruct ww_acquire_ctx {\n\tstruct task_struct *task;\n\tlong unsigned int stamp;\n\tunsigned int acquired;\n\tshort unsigned int wounded;\n\tshort unsigned int is_wait_die;\n};\n\nstruct ww_class {\n\tatomic_long_t stamp;\n\tstruct lock_class_key acquire_key;\n\tstruct lock_class_key mutex_key;\n\tconst char *acquire_name;\n\tconst char *mutex_name;\n\tunsigned int is_wait_die;\n};\n\nstruct x509_certificate {\n\tstruct x509_certificate *next;\n\tstruct x509_certificate *signer;\n\tstruct public_key *pub;\n\tstruct public_key_signature *sig;\n\tchar *issuer;\n\tchar *subject;\n\tstruct asymmetric_key_id *id;\n\tstruct asymmetric_key_id *skid;\n\ttime64_t valid_from;\n\ttime64_t valid_to;\n\tconst void *tbs;\n\tunsigned int tbs_size;\n\tunsigned int raw_sig_size;\n\tconst void *raw_sig;\n\tconst void *raw_serial;\n\tunsigned int raw_serial_size;\n\tunsigned int raw_issuer_size;\n\tconst void *raw_issuer;\n\tconst void *raw_subject;\n\tunsigned int raw_subject_size;\n\tunsigned int raw_skid_size;\n\tconst void *raw_skid;\n\tunsigned int index;\n\tbool seen;\n\tbool verified;\n\tbool self_signed;\n\tbool unsupported_sig;\n\tbool blacklisted;\n};\n\nstruct x509_parse_context {\n\tstruct x509_certificate *cert;\n\tlong unsigned int data;\n\tconst void *key;\n\tsize_t key_size;\n\tconst void *params;\n\tsize_t params_size;\n\tenum OID key_algo;\n\tenum OID last_oid;\n\tenum OID sig_algo;\n\tu8 o_size;\n\tu8 cn_size;\n\tu8 email_size;\n\tu16 o_offset;\n\tu16 cn_offset;\n\tu16 email_offset;\n\tunsigned int raw_akid_size;\n\tconst void *raw_akid;\n\tconst void *akid_raw_issuer;\n\tunsigned int akid_raw_issuer_size;\n};\n\nstruct xa_limit {\n\tu32 max;\n\tu32 min;\n};\n\nstruct xa_node {\n\tunsigned char shift;\n\tunsigned char offset;\n\tunsigned char count;\n\tunsigned char nr_values;\n\tstruct xa_node *parent;\n\tstruct xarray *array;\n\tunion {\n\t\tstruct list_head private_list;\n\t\tstruct callback_head callback_head;\n\t};\n\tvoid *slots[64];\n\tunion {\n\t\tlong unsigned int tags[3];\n\t\tlong unsigned int marks[3];\n\t};\n};\n\ntypedef void (*xa_update_node_t)(struct xa_node *);\n\nstruct xa_state {\n\tstruct xarray *xa;\n\tlong unsigned int xa_index;\n\tunsigned char xa_shift;\n\tunsigned char xa_sibs;\n\tunsigned char xa_offset;\n\tunsigned char xa_pad;\n\tstruct xa_node *xa_node;\n\tstruct xa_node *xa_alloc;\n\txa_update_node_t xa_update;\n\tstruct list_lru *xa_lru;\n};\n\nstruct xattr {\n\tconst char *name;\n\tvoid *value;\n\tsize_t value_len;\n};\n\nstruct xattr_args {\n\t__u64 value;\n\t__u32 size;\n\t__u32 flags;\n};\n\nstruct xattr_handler {\n\tconst char *name;\n\tconst char *prefix;\n\tint flags;\n\tbool (*list)(struct dentry *);\n\tint (*get)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, void *, size_t);\n\tint (*set)(const struct xattr_handler *, struct mnt_idmap *, struct dentry *, struct inode *, const char *, const void *, size_t, int);\n};\n\nstruct xattr_name {\n\tchar name[256];\n};\n\nstruct xb1s_ff_report {\n\t__u8 report_id;\n\t__u8 enable;\n\t__u8 magnitude[4];\n\t__u8 duration_10ms;\n\t__u8 start_delay_10ms;\n\t__u8 loop_count;\n};\n\nstruct xb_find_info {\n\tstruct xenbus_device *dev;\n\tconst char *nodename;\n};\n\nstruct xsd_sockmsg {\n\tuint32_t type;\n\tuint32_t req_id;\n\tuint32_t tx_id;\n\tuint32_t len;\n};\n\nstruct xb_req_data {\n\tstruct list_head list;\n\twait_queue_head_t wq;\n\tstruct xsd_sockmsg msg;\n\tuint32_t caller_req_id;\n\tenum xsd_sockmsg_type type;\n\tchar *body;\n\tconst struct kvec *vec;\n\tint num_vecs;\n\tint err;\n\tenum xb_req_state state;\n\tbool user_req;\n\tvoid (*cb)(struct xb_req_data *);\n\tvoid *par;\n};\n\nstruct xcv {\n\tvoid *reg_base;\n\tstruct pci_dev *pdev;\n};\n\nstruct xdp_attachment_info {\n\tstruct bpf_prog *prog;\n\tu32 flags;\n};\n\nstruct xdp_buff_xsk {\n\tstruct xdp_buff xdp;\n\tu8 cb[24];\n\tdma_addr_t dma;\n\tdma_addr_t frame_dma;\n\tstruct xsk_buff_pool *pool;\n\tstruct list_head list_node;\n\tlong: 64;\n};\n\nstruct xdp_bulk_queue {\n\tvoid *q[8];\n\tstruct list_head flush_node;\n\tstruct bpf_cpu_map_entry *obj;\n\tunsigned int count;\n};\n\nstruct xdp_cpumap_stats {\n\tunsigned int redirect;\n\tunsigned int pass;\n\tunsigned int drop;\n};\n\nstruct xdp_desc {\n\t__u64 addr;\n\t__u32 len;\n\t__u32 options;\n};\n\nstruct xdp_dev_bulk_queue {\n\tstruct xdp_frame *q[16];\n\tstruct list_head flush_node;\n\tstruct net_device *dev;\n\tstruct net_device *dev_rx;\n\tstruct bpf_prog *xdp_prog;\n\tunsigned int count;\n};\n\nstruct xdp_frame {\n\tvoid *data;\n\tu32 len;\n\tu32 headroom;\n\tu32 metasize;\n\tenum xdp_mem_type mem_type: 32;\n\tstruct net_device *dev_rx;\n\tu32 frame_sz;\n\tu32 flags;\n};\n\nstruct xdp_frame_bulk {\n\tint count;\n\tnetmem_ref q[16];\n};\n\nstruct xdp_mem_allocator {\n\tstruct xdp_mem_info mem;\n\tunion {\n\t\tvoid *allocator;\n\t\tstruct page_pool *page_pool;\n\t};\n\tstruct rhash_head node;\n\tstruct callback_head rcu;\n};\n\nstruct xdp_metadata_ops {\n\tint (*xmo_rx_timestamp)(const struct xdp_md *, u64 *);\n\tint (*xmo_rx_hash)(const struct xdp_md *, u32 *, enum xdp_rss_hash_type *);\n\tint (*xmo_rx_vlan_tag)(const struct xdp_md *, __be16 *, u16 *);\n};\n\nstruct xdp_page_head {\n\tstruct xdp_buff orig_ctx;\n\tstruct xdp_buff ctx;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_frame;\n\t\t\tstruct xdp_frame frame[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\tu8 data[0];\n\t\t};\n\t};\n};\n\nstruct xsk_queue;\n\nstruct xdp_umem;\n\nstruct xdp_sock {\n\tstruct sock sk;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xsk_queue *rx;\n\tstruct net_device *dev;\n\tstruct xdp_umem *umem;\n\tstruct list_head flush_node;\n\tstruct xsk_buff_pool *pool;\n\tu16 queue_id;\n\tbool zc;\n\tbool sg;\n\tenum {\n\t\tXSK_READY = 0,\n\t\tXSK_BOUND = 1,\n\t\tXSK_UNBOUND = 2,\n\t} state;\n\tlong: 64;\n\tstruct xsk_queue *tx;\n\tstruct list_head tx_list;\n\tu32 tx_budget_spent;\n\tspinlock_t rx_lock;\n\tu64 rx_dropped;\n\tu64 rx_queue_full;\n\tstruct sk_buff *skb;\n\tstruct list_head map_list;\n\tspinlock_t map_list_lock;\n\tstruct mutex mutex;\n\tstruct xsk_queue *fq_tmp;\n\tstruct xsk_queue *cq_tmp;\n};\n\nstruct xdp_test_data {\n\tstruct xdp_buff *orig_ctx;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info rxq;\n\tstruct net_device *dev;\n\tstruct page_pool *pp;\n\tstruct xdp_frame **frames;\n\tstruct sk_buff **skbs;\n\tstruct xdp_mem_info mem;\n\tu32 batch_size;\n\tu32 frame_cnt;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xdp_txq_info {\n\tstruct net_device *dev;\n};\n\nstruct xdp_umem {\n\tvoid *addrs;\n\tu64 size;\n\tu32 headroom;\n\tu32 chunk_size;\n\tu32 chunks;\n\tu32 npgs;\n\tstruct user_struct *user;\n\trefcount_t users;\n\tu8 flags;\n\tu8 tx_metadata_len;\n\tbool zc;\n\tstruct page **pgs;\n\tint id;\n\tstruct list_head xsk_dma_list;\n\tstruct work_struct work;\n};\n\nstruct xdr_array2_desc;\n\ntypedef int (*xdr_xcode_elem_t)(struct xdr_array2_desc *, void *);\n\nstruct xdr_array2_desc {\n\tunsigned int elem_size;\n\tunsigned int array_len;\n\tunsigned int array_maxlen;\n\txdr_xcode_elem_t xcode;\n};\n\nstruct xdr_skb_reader {\n\tstruct sk_buff *skb;\n\tunsigned int offset;\n\tsize_t count;\n\t__wsum csum;\n};\n\nstruct xen_add_to_physmap {\n\tdomid_t domid;\n\tuint16_t size;\n\tunsigned int space;\n\txen_ulong_t idx;\n\txen_pfn_t gpfn;\n};\n\nstruct xen_add_to_physmap_range {\n\tdomid_t domid;\n\tuint16_t space;\n\tuint16_t size;\n\tdomid_t foreign_domid;\n\t__guest_handle_xen_ulong_t idxs;\n\t__guest_handle_xen_pfn_t gpfns;\n\t__guest_handle_int errs;\n};\n\nstruct xen_build_id {\n\tuint32_t len;\n\tunsigned char buf[0];\n};\n\nstruct xen_bus_type {\n\tchar *root;\n\tunsigned int levels;\n\tint (*get_bus_id)(char *, const char *);\n\tint (*probe)(struct xen_bus_type *, const char *, const char *);\n\tbool (*otherend_will_handle)(struct xenbus_watch *, const char *, const char *);\n\tvoid (*otherend_changed)(struct xenbus_watch *, const char *, const char *);\n\tstruct bus_type bus;\n};\n\nstruct xen_compile_info {\n\tchar compiler[64];\n\tchar compile_by[16];\n\tchar compile_domain[32];\n\tchar compile_date[32];\n};\n\nstruct xen_device_domain_owner {\n\tdomid_t domain;\n\tstruct pci_dev *dev;\n\tstruct list_head list;\n};\n\nstruct xen_dm_op_buf {\n\t__guest_handle_void h;\n\txen_ulong_t size;\n};\n\nstruct xen_feature_info {\n\tunsigned int submap_idx;\n\tuint32_t submap;\n};\n\nstruct xen_hvm_param {\n\tdomid_t domid;\n\tuint32_t index;\n\tuint64_t value;\n};\n\nstruct xen_mem_acquire_resource {\n\tdomid_t domid;\n\tuint16_t type;\n\tuint32_t id;\n\tuint32_t nr_frames;\n\tuint32_t flags;\n\tuint64_t frame;\n\t__guest_handle_xen_pfn_t frame_list;\n};\n\nstruct xen_memory_region {\n\tlong unsigned int start_pfn;\n\tlong unsigned int n_pfns;\n};\n\nstruct xen_memory_reservation {\n\t__guest_handle_xen_pfn_t extent_start;\n\txen_ulong_t nr_extents;\n\tunsigned int extent_order;\n\tunsigned int address_bits;\n\tdomid_t domid;\n};\n\nstruct xen_netif_rx_request {\n\tuint16_t id;\n\tuint16_t pad;\n\tgrant_ref_t gref;\n};\n\nunion xen_netif_rx_sring_entry {\n\tstruct xen_netif_rx_request req;\n\tstruct xen_netif_rx_response rsp;\n};\n\nstruct xen_netif_rx_sring {\n\tRING_IDX req_prod;\n\tRING_IDX req_event;\n\tRING_IDX rsp_prod;\n\tRING_IDX rsp_event;\n\tuint8_t __pad[48];\n\tunion xen_netif_rx_sring_entry ring[0];\n};\n\nstruct xen_netif_tx_request {\n\tgrant_ref_t gref;\n\tuint16_t offset;\n\tuint16_t flags;\n\tuint16_t id;\n\tuint16_t size;\n};\n\nstruct xen_netif_tx_response {\n\tuint16_t id;\n\tint16_t status;\n};\n\nunion xen_netif_tx_sring_entry {\n\tstruct xen_netif_tx_request req;\n\tstruct xen_netif_tx_response rsp;\n};\n\nstruct xen_netif_tx_sring {\n\tRING_IDX req_prod;\n\tRING_IDX req_event;\n\tRING_IDX rsp_prod;\n\tRING_IDX rsp_event;\n\tuint8_t __pad[48];\n\tunion xen_netif_tx_sring_entry ring[0];\n};\n\nstruct xen_p2m_entry {\n\tlong unsigned int pfn;\n\tlong unsigned int mfn;\n\tlong unsigned int nr_pages;\n\tstruct rb_node rbnode_phys;\n};\n\nstruct xen_page_foreign {\n\tdomid_t domid;\n\tgrant_ref_t gref;\n};\n\nstruct xen_pct_register {\n\tuint8_t descriptor;\n\tuint16_t length;\n\tuint8_t space_id;\n\tuint8_t bit_width;\n\tuint8_t bit_offset;\n\tuint8_t reserved;\n\tuint64_t address;\n};\n\nstruct xenpf_settime32 {\n\tuint32_t secs;\n\tuint32_t nsecs;\n\tuint64_t system_time;\n};\n\nstruct xenpf_settime64 {\n\tuint64_t secs;\n\tuint32_t nsecs;\n\tuint32_t mbz;\n\tuint64_t system_time;\n};\n\nstruct xenpf_add_memtype {\n\txen_pfn_t mfn;\n\tuint64_t nr_mfns;\n\tuint32_t type;\n\tuint32_t handle;\n\tuint32_t reg;\n};\n\nstruct xenpf_del_memtype {\n\tuint32_t handle;\n\tuint32_t reg;\n};\n\nstruct xenpf_read_memtype {\n\tuint32_t reg;\n\txen_pfn_t mfn;\n\tuint64_t nr_mfns;\n\tuint32_t type;\n};\n\nstruct xenpf_microcode_update {\n\t__guest_handle_void data;\n\tuint32_t length;\n};\n\nstruct xenpf_platform_quirk {\n\tuint32_t quirk_id;\n};\n\nstruct xenpf_efi_time {\n\tuint16_t year;\n\tuint8_t month;\n\tuint8_t day;\n\tuint8_t hour;\n\tuint8_t min;\n\tuint8_t sec;\n\tuint32_t ns;\n\tint16_t tz;\n\tuint8_t daylight;\n};\n\nstruct xenpf_efi_guid {\n\tuint32_t data1;\n\tuint16_t data2;\n\tuint16_t data3;\n\tuint8_t data4[8];\n};\n\nstruct xenpf_efi_runtime_call {\n\tuint32_t function;\n\tuint32_t misc;\n\txen_ulong_t status;\n\tunion {\n\t\tstruct {\n\t\t\tstruct xenpf_efi_time time;\n\t\t\tuint32_t resolution;\n\t\t\tuint32_t accuracy;\n\t\t} get_time;\n\t\tstruct xenpf_efi_time set_time;\n\t\tstruct xenpf_efi_time get_wakeup_time;\n\t\tstruct xenpf_efi_time set_wakeup_time;\n\t\tstruct {\n\t\t\t__guest_handle_void name;\n\t\t\txen_ulong_t size;\n\t\t\t__guest_handle_void data;\n\t\t\tstruct xenpf_efi_guid vendor_guid;\n\t\t} get_variable;\n\t\tstruct {\n\t\t\t__guest_handle_void name;\n\t\t\txen_ulong_t size;\n\t\t\t__guest_handle_void data;\n\t\t\tstruct xenpf_efi_guid vendor_guid;\n\t\t} set_variable;\n\t\tstruct {\n\t\t\txen_ulong_t size;\n\t\t\t__guest_handle_void name;\n\t\t\tstruct xenpf_efi_guid vendor_guid;\n\t\t} get_next_variable_name;\n\t\tstruct {\n\t\t\tuint32_t attr;\n\t\t\tuint64_t max_store_size;\n\t\t\tuint64_t remain_store_size;\n\t\t\tuint64_t max_size;\n\t\t} query_variable_info;\n\t\tstruct {\n\t\t\t__guest_handle_void capsule_header_array;\n\t\t\txen_ulong_t capsule_count;\n\t\t\tuint64_t max_capsule_size;\n\t\t\tuint32_t reset_type;\n\t\t} query_capsule_capabilities;\n\t\tstruct {\n\t\t\t__guest_handle_void capsule_header_array;\n\t\t\txen_ulong_t capsule_count;\n\t\t\tuint64_t sg_list;\n\t\t} update_capsule;\n\t} u;\n};\n\nunion xenpf_efi_info {\n\tuint32_t version;\n\tstruct {\n\t\tuint64_t addr;\n\t\tuint32_t nent;\n\t} cfg;\n\tstruct {\n\t\tuint32_t revision;\n\t\tuint32_t bufsz;\n\t\t__guest_handle_void name;\n\t} vendor;\n\tstruct {\n\t\tuint64_t addr;\n\t\tuint64_t size;\n\t\tuint64_t attr;\n\t\tuint32_t type;\n\t} mem;\n};\n\nstruct xenpf_firmware_info {\n\tuint32_t type;\n\tuint32_t index;\n\tunion {\n\t\tstruct {\n\t\t\tuint8_t device;\n\t\t\tuint8_t version;\n\t\t\tuint16_t interface_support;\n\t\t\tuint16_t legacy_max_cylinder;\n\t\t\tuint8_t legacy_max_head;\n\t\t\tuint8_t legacy_sectors_per_track;\n\t\t\t__guest_handle_void edd_params;\n\t\t} disk_info;\n\t\tstruct {\n\t\t\tuint8_t device;\n\t\t\tuint32_t mbr_signature;\n\t\t} disk_mbr_signature;\n\t\tstruct {\n\t\t\tuint8_t capabilities;\n\t\t\tuint8_t edid_transfer_time;\n\t\t\t__guest_handle_uchar edid;\n\t\t} vbeddc_info;\n\t\tunion xenpf_efi_info efi_info;\n\t\tuint8_t kbd_shift_flags;\n\t} u;\n};\n\nstruct xenpf_enter_acpi_sleep {\n\tuint16_t val_a;\n\tuint16_t val_b;\n\tuint32_t sleep_state;\n\tuint32_t flags;\n};\n\nstruct xenpf_change_freq {\n\tuint32_t flags;\n\tuint32_t cpu;\n\tuint64_t freq;\n};\n\nstruct xenpf_getidletime {\n\t__guest_handle_uchar cpumap_bitmap;\n\tuint32_t cpumap_nr_cpus;\n\t__guest_handle_uint64_t idletime;\n\tuint64_t now;\n};\n\nstruct xen_processor_flags {\n\tuint32_t bm_control: 1;\n\tuint32_t bm_check: 1;\n\tuint32_t has_cst: 1;\n\tuint32_t power_setup_done: 1;\n\tuint32_t bm_rld_set: 1;\n};\n\nstruct xen_processor_power {\n\tuint32_t count;\n\tstruct xen_processor_flags flags;\n\t__guest_handle_xen_processor_cx states;\n};\n\nstruct xen_psd_package {\n\tuint64_t num_entries;\n\tuint64_t revision;\n\tuint64_t domain;\n\tuint64_t coord_type;\n\tuint64_t num_processors;\n};\n\nstruct xen_processor_performance {\n\tuint32_t flags;\n\tuint32_t platform_limit;\n\tstruct xen_pct_register control_register;\n\tstruct xen_pct_register status_register;\n\tuint32_t state_count;\n\t__guest_handle_xen_processor_px states;\n\tstruct xen_psd_package domain_info;\n\tuint32_t shared_type;\n};\n\nstruct xenpf_set_processor_pminfo {\n\tuint32_t id;\n\tuint32_t type;\n\tunion {\n\t\tstruct xen_processor_power power;\n\t\tstruct xen_processor_performance perf;\n\t\t__guest_handle_uint32_t pdc;\n\t};\n};\n\nstruct xenpf_pcpuinfo {\n\tuint32_t xen_cpuid;\n\tuint32_t max_present;\n\tuint32_t flags;\n\tuint32_t apic_id;\n\tuint32_t acpi_id;\n};\n\nstruct xenpf_cpu_ol {\n\tuint32_t cpuid;\n};\n\nstruct xenpf_cpu_hotadd {\n\tuint32_t apic_id;\n\tuint32_t acpi_id;\n\tuint32_t pxm;\n};\n\nstruct xenpf_mem_hotadd {\n\tuint64_t spfn;\n\tuint64_t epfn;\n\tuint32_t pxm;\n\tuint32_t flags;\n};\n\nstruct xenpf_core_parking {\n\tuint32_t type;\n\tuint32_t idle_nums;\n};\n\nstruct xenpf_symdata {\n\tuint32_t namelen;\n\tuint32_t symnum;\n\t__guest_handle_char name;\n\tuint64_t address;\n\tchar type;\n};\n\nstruct xen_platform_op {\n\tuint32_t cmd;\n\tuint32_t interface_version;\n\tunion {\n\t\tstruct xenpf_settime32 settime32;\n\t\tstruct xenpf_settime64 settime64;\n\t\tstruct xenpf_add_memtype add_memtype;\n\t\tstruct xenpf_del_memtype del_memtype;\n\t\tstruct xenpf_read_memtype read_memtype;\n\t\tstruct xenpf_microcode_update microcode;\n\t\tstruct xenpf_platform_quirk platform_quirk;\n\t\tstruct xenpf_efi_runtime_call efi_runtime_call;\n\t\tstruct xenpf_firmware_info firmware_info;\n\t\tstruct xenpf_enter_acpi_sleep enter_acpi_sleep;\n\t\tstruct xenpf_change_freq change_freq;\n\t\tstruct xenpf_getidletime getidletime;\n\t\tstruct xenpf_set_processor_pminfo set_pminfo;\n\t\tstruct xenpf_pcpuinfo pcpu_info;\n\t\tstruct xenpf_cpu_ol cpu_ol;\n\t\tstruct xenpf_cpu_hotadd cpu_add;\n\t\tstruct xenpf_mem_hotadd mem_add;\n\t\tstruct xenpf_core_parking core_parking;\n\t\tstruct xenpf_symdata symdata;\n\t\tstruct dom0_vga_console_info dom0_console;\n\t\tuint8_t pad[128];\n\t} u;\n};\n\nstruct xen_platform_parameters {\n\txen_ulong_t virt_start;\n};\n\nstruct xen_power_register {\n\tuint32_t space_id;\n\tuint32_t bit_width;\n\tuint32_t bit_offset;\n\tuint32_t access_size;\n\tuint64_t address;\n};\n\nstruct xen_processor_csd {\n\tuint32_t domain;\n\tuint32_t coord_type;\n\tuint32_t num;\n};\n\nstruct xen_processor_cx {\n\tstruct xen_power_register reg;\n\tuint8_t type;\n\tuint32_t latency;\n\tuint32_t power;\n\tuint32_t dpcnt;\n\t__guest_handle_xen_processor_csd dp;\n};\n\nstruct xen_processor_px {\n\tuint64_t core_frequency;\n\tuint64_t power;\n\tuint64_t transition_latency;\n\tuint64_t bus_master_latency;\n\tuint64_t control;\n\tuint64_t status;\n};\n\nstruct xen_remove_from_physmap {\n\tdomid_t domid;\n\txen_pfn_t gpfn;\n};\n\nstruct xenbus_device {\n\tconst char *devicetype;\n\tconst char *nodename;\n\tconst char *otherend;\n\tint otherend_id;\n\tstruct xenbus_watch otherend_watch;\n\tstruct device dev;\n\tenum xenbus_state state;\n\tstruct completion down;\n\tstruct work_struct work;\n\tstruct semaphore reclaim_sem;\n\tatomic_t event_channels;\n\tatomic_t events;\n\tatomic_t spurious_events;\n\tatomic_t jiffies_eoi_delayed;\n\tunsigned int spurious_threshold;\n};\n\nstruct xenbus_device_id {\n\tchar devicetype[32];\n};\n\nstruct xenbus_driver {\n\tconst char *name;\n\tconst struct xenbus_device_id *ids;\n\tbool allow_rebind;\n\tbool not_essential;\n\tint (*probe)(struct xenbus_device *, const struct xenbus_device_id *);\n\tvoid (*otherend_changed)(struct xenbus_device *, enum xenbus_state);\n\tvoid (*remove)(struct xenbus_device *);\n\tint (*suspend)(struct xenbus_device *);\n\tint (*resume)(struct xenbus_device *);\n\tint (*uevent)(const struct xenbus_device *, struct kobj_uevent_env *);\n\tstruct device_driver driver;\n\tint (*read_otherend_details)(struct xenbus_device *);\n\tint (*is_ready)(struct xenbus_device *);\n\tvoid (*reclaim_memory)(struct xenbus_device *);\n};\n\nstruct xenbus_file_priv {\n\tstruct mutex msgbuffer_mutex;\n\tstruct list_head transactions;\n\tstruct list_head watches;\n\tunsigned int len;\n\tunion {\n\t\tstruct xsd_sockmsg msg;\n\t\tchar buffer[4096];\n\t} u;\n\tstruct mutex reply_mutex;\n\tstruct list_head read_buffers;\n\twait_queue_head_t read_waitq;\n\tstruct kref kref;\n\tstruct work_struct wq;\n};\n\nstruct xenbus_map_node {\n\tstruct list_head next;\n\tunion {\n\t\tstruct {\n\t\t\tstruct vm_struct *area;\n\t\t} pv;\n\t\tstruct {\n\t\t\tstruct page *pages[16];\n\t\t\tlong unsigned int addrs[16];\n\t\t\tvoid *addr;\n\t\t} hvm;\n\t};\n\tgrant_handle_t handles[16];\n\tunsigned int nr_handles;\n};\n\nstruct xenbus_ring_ops {\n\tint (*map)(struct xenbus_device *, struct map_ring_valloc *, grant_ref_t *, unsigned int, void **);\n\tint (*unmap)(struct xenbus_device *, void *);\n};\n\nstruct xenbus_transaction {\n\tu32 id;\n};\n\nstruct xenbus_transaction_holder {\n\tstruct list_head list;\n\tstruct xenbus_transaction handle;\n\tunsigned int generation_id;\n};\n\nstruct xencons_interface;\n\nstruct xencons_info {\n\tstruct list_head list;\n\tstruct xenbus_device *xbdev;\n\tstruct xencons_interface *intf;\n\tunsigned int evtchn;\n\tXENCONS_RING_IDX out_cons;\n\tunsigned int out_cons_same;\n\tstruct hvc_struct *hvc;\n\tint irq;\n\tint vtermno;\n\tgrant_ref_t gntref;\n\tspinlock_t ring_lock;\n};\n\nstruct xencons_interface {\n\tchar in[1024];\n\tchar out[2048];\n\tXENCONS_RING_IDX in_cons;\n\tXENCONS_RING_IDX in_prod;\n\tXENCONS_RING_IDX out_cons;\n\tXENCONS_RING_IDX out_prod;\n};\n\nstruct xenfb_resize {\n\tuint8_t type;\n\tint32_t width;\n\tint32_t height;\n\tint32_t stride;\n\tint32_t depth;\n\tint32_t offset;\n};\n\nstruct xenfb_page;\n\nstruct xenfb_info {\n\tunsigned char *fb;\n\tstruct fb_info *fb_info;\n\tint x1;\n\tint y1;\n\tint x2;\n\tint y2;\n\tspinlock_t dirty_lock;\n\tint nr_pages;\n\tint irq;\n\tstruct xenfb_page *page;\n\tlong unsigned int *gfns;\n\tint update_wanted;\n\tint feature_resize;\n\tstruct xenfb_resize resize;\n\tint resize_dpy;\n\tspinlock_t resize_lock;\n\tstruct xenbus_device *xbdev;\n};\n\nstruct xenfb_update {\n\tuint8_t type;\n\tint32_t x;\n\tint32_t y;\n\tint32_t width;\n\tint32_t height;\n};\n\nunion xenfb_out_event {\n\tuint8_t type;\n\tstruct xenfb_update update;\n\tstruct xenfb_resize resize;\n\tchar pad[40];\n};\n\nstruct xenfb_page {\n\tuint32_t in_cons;\n\tuint32_t in_prod;\n\tuint32_t out_cons;\n\tuint32_t out_prod;\n\tint32_t width;\n\tint32_t height;\n\tuint32_t line_length;\n\tuint32_t mem_length;\n\tuint8_t depth;\n\tlong unsigned int pd[256];\n};\n\nstruct xenkbd_motion {\n\tuint8_t type;\n\tint32_t rel_x;\n\tint32_t rel_y;\n\tint32_t rel_z;\n};\n\nstruct xenkbd_key {\n\tuint8_t type;\n\tuint8_t pressed;\n\tuint32_t keycode;\n};\n\nstruct xenkbd_position {\n\tuint8_t type;\n\tint32_t abs_x;\n\tint32_t abs_y;\n\tint32_t rel_z;\n};\n\nstruct xenkbd_mtouch {\n\tuint8_t type;\n\tuint8_t event_type;\n\tuint8_t contact_id;\n\tuint8_t reserved[5];\n\tunion {\n\t\tstruct {\n\t\t\tint32_t abs_x;\n\t\t\tint32_t abs_y;\n\t\t} pos;\n\t\tstruct {\n\t\t\tuint32_t major;\n\t\t\tuint32_t minor;\n\t\t} shape;\n\t\tint16_t orientation;\n\t} u;\n};\n\nunion xenkbd_in_event {\n\tuint8_t type;\n\tstruct xenkbd_motion motion;\n\tstruct xenkbd_key key;\n\tstruct xenkbd_position pos;\n\tstruct xenkbd_mtouch mtouch;\n\tchar pad[40];\n};\n\nstruct xenkbd_page;\n\nstruct xenkbd_info {\n\tstruct input_dev *kbd;\n\tstruct input_dev *ptr;\n\tstruct input_dev *mtouch;\n\tstruct xenkbd_page *page;\n\tint gref;\n\tint irq;\n\tstruct xenbus_device *xbdev;\n\tchar phys[32];\n\tint mtouch_cur_contact_id;\n};\n\nstruct xenkbd_page {\n\tuint32_t in_cons;\n\tuint32_t in_prod;\n\tuint32_t out_cons;\n\tuint32_t out_prod;\n};\n\nstruct xennet_gnttab_make_txreq {\n\tstruct netfront_queue *queue;\n\tstruct sk_buff *skb;\n\tstruct page *page;\n\tstruct xen_netif_tx_request *tx;\n\tstruct xen_netif_tx_request tx_local;\n\tunsigned int size;\n};\n\nstruct xennet_stat {\n\tchar name[32];\n\tu16 offset;\n};\n\nstruct xenon_emmc_phy_params {\n\tbool slow_mode;\n\tu8 znr;\n\tu8 zpr;\n\tu8 nr_tun_times;\n\tu8 tun_step_divider;\n\tstruct soc_pad_ctrl pad_ctrl;\n};\n\nstruct xenon_emmc_phy_regs {\n\tu16 timing_adj;\n\tu16 func_ctrl;\n\tu16 pad_ctrl;\n\tu16 pad_ctrl2;\n\tu16 dll_ctrl;\n\tu16 logic_timing_adj;\n\tu32 dll_update;\n\tu32 logic_timing_val;\n};\n\nstruct xenon_priv {\n\tunsigned char tuning_count;\n\tu8 sdhc_id;\n\tunsigned int init_card_type;\n\tunsigned char bus_width;\n\tunsigned char timing;\n\tunsigned int clock;\n\tstruct clk *axi_clk;\n\tint phy_type;\n\tvoid *phy_params;\n\tstruct xenon_emmc_phy_regs *emmc_phy_regs;\n\tbool restore_needed;\n\tenum xenon_variant hw_version;\n};\n\nstruct xenstore_domain_interface {\n\tchar req[1024];\n\tchar rsp[1024];\n\tXENSTORE_RING_IDX req_cons;\n\tXENSTORE_RING_IDX req_prod;\n\tXENSTORE_RING_IDX rsp_cons;\n\tXENSTORE_RING_IDX rsp_prod;\n\tuint32_t server_features;\n\tuint32_t connection;\n\tuint32_t error;\n};\n\nstruct xfrm_address_filter {\n\txfrm_address_t saddr;\n\txfrm_address_t daddr;\n\t__u16 family;\n\t__u8 splen;\n\t__u8 dplen;\n};\n\nstruct xfrm_algo {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_aead {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tunsigned int alg_icv_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_auth {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tunsigned int alg_trunc_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_dev_offload {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net_device *real_dev;\n\tlong unsigned int offload_handle;\n\tu8 dir: 2;\n\tu8 type: 2;\n\tu8 flags: 2;\n};\n\nstruct xfrm_encap_tmpl {\n\t__u16 encap_type;\n\t__be16 encap_sport;\n\t__be16 encap_dport;\n\txfrm_address_t encap_oa;\n};\n\nstruct xfrm_id {\n\txfrm_address_t daddr;\n\t__be32 spi;\n\t__u8 proto;\n};\n\nstruct xfrm_lifetime_cfg {\n\t__u64 soft_byte_limit;\n\t__u64 hard_byte_limit;\n\t__u64 soft_packet_limit;\n\t__u64 hard_packet_limit;\n\t__u64 soft_add_expires_seconds;\n\t__u64 hard_add_expires_seconds;\n\t__u64 soft_use_expires_seconds;\n\t__u64 hard_use_expires_seconds;\n};\n\nstruct xfrm_lifetime_cur {\n\t__u64 bytes;\n\t__u64 packets;\n\t__u64 add_time;\n\t__u64 use_time;\n};\n\nstruct xfrm_mark {\n\t__u32 v;\n\t__u32 m;\n};\n\nstruct xfrm_mode {\n\tu8 encap;\n\tu8 family;\n\tu8 flags;\n};\n\nstruct xfrm_mode_cbs {\n\tstruct module *owner;\n\tint (*init_state)(struct xfrm_state *);\n\tint (*clone_state)(struct xfrm_state *, struct xfrm_state *);\n\tvoid (*destroy_state)(struct xfrm_state *);\n\tint (*user_init)(struct net *, struct xfrm_state *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*copy_to_user)(struct xfrm_state *, struct sk_buff *);\n\tunsigned int (*sa_len)(const struct xfrm_state *);\n\tu32 (*get_inner_mtu)(struct xfrm_state *, int);\n\tint (*input)(struct xfrm_state *, struct sk_buff *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*prepare_output)(struct xfrm_state *, struct sk_buff *);\n};\n\nstruct xfrm_replay_state {\n\t__u32 oseq;\n\t__u32 seq;\n\t__u32 bitmap;\n};\n\nstruct xfrm_replay_state_esn {\n\tunsigned int bmp_len;\n\t__u32 oseq;\n\t__u32 seq;\n\t__u32 oseq_hi;\n\t__u32 seq_hi;\n\t__u32 replay_window;\n\t__u32 bmp[0];\n};\n\nstruct xfrm_sec_ctx {\n\t__u8 ctx_doi;\n\t__u8 ctx_alg;\n\t__u16 ctx_len;\n\t__u32 ctx_sid;\n\tchar ctx_str[0];\n};\n\nstruct xfrm_selector {\n\txfrm_address_t daddr;\n\txfrm_address_t saddr;\n\t__be16 dport;\n\t__be16 dport_mask;\n\t__be16 sport;\n\t__be16 sport_mask;\n\t__u16 family;\n\t__u8 prefixlen_d;\n\t__u8 prefixlen_s;\n\t__u8 proto;\n\tint ifindex;\n\t__kernel_uid32_t user;\n};\n\nstruct xfrm_state_walk {\n\tstruct list_head all;\n\tu8 state;\n\tu8 dying;\n\tu8 proto;\n\tu32 seq;\n\tstruct xfrm_address_filter *filter;\n};\n\nstruct xfrm_stats {\n\t__u32 replay_window;\n\t__u32 replay;\n\t__u32 integrity_failed;\n};\n\nstruct xfrm_type;\n\nstruct xfrm_type_offload;\n\nstruct xfrm_state {\n\tpossible_net_t xs_net;\n\tunion {\n\t\tstruct hlist_node gclist;\n\t\tstruct hlist_node bydst;\n\t};\n\tunion {\n\t\tstruct hlist_node dev_gclist;\n\t\tstruct hlist_node bysrc;\n\t};\n\tstruct hlist_node byspi;\n\tstruct hlist_node byseq;\n\tstruct hlist_node state_cache;\n\tstruct hlist_node state_cache_input;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tu32 pcpu_num;\n\tstruct xfrm_id id;\n\tstruct xfrm_selector sel;\n\tstruct xfrm_mark mark;\n\tu32 if_id;\n\tu32 tfcpad;\n\tu32 genid;\n\tstruct xfrm_state_walk km;\n\tstruct {\n\t\tu32 reqid;\n\t\tu8 mode;\n\t\tu8 replay_window;\n\t\tu8 aalgo;\n\t\tu8 ealgo;\n\t\tu8 calgo;\n\t\tu8 flags;\n\t\tu16 family;\n\t\txfrm_address_t saddr;\n\t\tint header_len;\n\t\tint enc_hdr_len;\n\t\tint trailer_len;\n\t\tu32 extra_flags;\n\t\tstruct xfrm_mark smark;\n\t} props;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_algo_auth *aalg;\n\tstruct xfrm_algo *ealg;\n\tstruct xfrm_algo *calg;\n\tstruct xfrm_algo_aead *aead;\n\tconst char *geniv;\n\t__be16 new_mapping_sport;\n\tu32 new_mapping;\n\tu32 mapping_maxage;\n\tstruct xfrm_encap_tmpl *encap;\n\tstruct sock *encap_sk;\n\tu32 nat_keepalive_interval;\n\ttime64_t nat_keepalive_expiration;\n\txfrm_address_t *coaddr;\n\tstruct xfrm_state *tunnel;\n\tatomic_t tunnel_users;\n\tstruct xfrm_replay_state replay;\n\tstruct xfrm_replay_state_esn *replay_esn;\n\tstruct xfrm_replay_state preplay;\n\tstruct xfrm_replay_state_esn *preplay_esn;\n\tenum xfrm_replay_mode repl_mode;\n\tu32 xflags;\n\tu32 replay_maxage;\n\tu32 replay_maxdiff;\n\tstruct timer_list rtimer;\n\tstruct xfrm_stats stats;\n\tstruct xfrm_lifetime_cur curlft;\n\tstruct hrtimer mtimer;\n\tstruct xfrm_dev_offload xso;\n\tlong int saved_tmo;\n\ttime64_t lastused;\n\tstruct page_frag xfrag;\n\tconst struct xfrm_type *type;\n\tstruct xfrm_mode inner_mode;\n\tstruct xfrm_mode inner_mode_iaf;\n\tstruct xfrm_mode outer_mode;\n\tconst struct xfrm_type_offload *type_offload;\n\tstruct xfrm_sec_ctx *security;\n\tvoid *data;\n\tu8 dir;\n\tconst struct xfrm_mode_cbs *mode_cbs;\n\tvoid *mode_data;\n};\n\nstruct xfrm_type {\n\tstruct module *owner;\n\tu8 proto;\n\tu8 flags;\n\tint (*init_state)(struct xfrm_state *, struct netlink_ext_ack *);\n\tvoid (*destructor)(struct xfrm_state *);\n\tint (*input)(struct xfrm_state *, struct sk_buff *);\n\tint (*output)(struct xfrm_state *, struct sk_buff *);\n\tint (*reject)(struct xfrm_state *, struct sk_buff *, const struct flowi *);\n};\n\nstruct xfrm_type_offload {\n\tstruct module *owner;\n\tu8 proto;\n\tvoid (*encap)(struct xfrm_state *, struct sk_buff *);\n\tint (*input_tail)(struct xfrm_state *, struct sk_buff *);\n\tint (*xmit)(struct xfrm_state *, struct sk_buff *, netdev_features_t);\n};\n\nstruct xgbe_page_alloc {\n\tstruct page *pages;\n\tunsigned int pages_len;\n\tunsigned int pages_offset;\n\tdma_addr_t pages_dma;\n};\n\nstruct xgbe_buffer_data {\n\tstruct xgbe_page_alloc pa;\n\tstruct xgbe_page_alloc pa_unmap;\n\tdma_addr_t dma_base;\n\tlong unsigned int dma_off;\n\tunsigned int dma_len;\n};\n\nstruct xgbe_prv_data;\n\nstruct xgbe_ring;\n\nstruct xgbe_channel {\n\tchar name[20];\n\tstruct xgbe_prv_data *pdata;\n\tunsigned int queue_index;\n\tvoid *dma_regs;\n\tint dma_irq;\n\tchar dma_irq_name[48];\n\tstruct napi_struct napi;\n\tunsigned int curr_ier;\n\tunsigned int saved_ier;\n\tunsigned int tx_timer_active;\n\tstruct timer_list tx_timer;\n\tstruct xgbe_ring *tx_ring;\n\tstruct xgbe_ring *rx_ring;\n\tint node;\n\tcpumask_t affinity_mask;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xgbe_ring_data;\n\nstruct xgbe_desc_if {\n\tint (*alloc_ring_resources)(struct xgbe_prv_data *);\n\tvoid (*free_ring_resources)(struct xgbe_prv_data *);\n\tint (*map_tx_skb)(struct xgbe_channel *, struct sk_buff *);\n\tint (*map_rx_buffer)(struct xgbe_prv_data *, struct xgbe_ring *, struct xgbe_ring_data *);\n\tvoid (*unmap_rdata)(struct xgbe_prv_data *, struct xgbe_ring_data *);\n\tvoid (*wrapper_tx_desc_init)(struct xgbe_prv_data *);\n\tvoid (*wrapper_rx_desc_init)(struct xgbe_prv_data *);\n};\n\nstruct xgbe_ext_stats {\n\tu64 tx_tso_packets;\n\tu64 rx_split_header_packets;\n\tu64 rx_buffer_unavailable;\n\tu64 txq_packets[16];\n\tu64 txq_bytes[16];\n\tu64 rxq_packets[16];\n\tu64 rxq_bytes[16];\n\tu64 tx_vxlan_packets;\n\tu64 rx_vxlan_packets;\n\tu64 rx_csum_errors;\n\tu64 rx_vxlan_csum_errors;\n};\n\nstruct xgbe_hw_features {\n\tunsigned int version;\n\tunsigned int gmii;\n\tunsigned int vlhash;\n\tunsigned int sma;\n\tunsigned int rwk;\n\tunsigned int mgk;\n\tunsigned int mmc;\n\tunsigned int aoe;\n\tunsigned int ts;\n\tunsigned int eee;\n\tunsigned int tx_coe;\n\tunsigned int rx_coe;\n\tunsigned int addn_mac;\n\tunsigned int ts_src;\n\tunsigned int sa_vlan_ins;\n\tunsigned int vxn;\n\tunsigned int rx_fifo_size;\n\tunsigned int tx_fifo_size;\n\tunsigned int adv_ts_hi;\n\tunsigned int dma_width;\n\tunsigned int dcb;\n\tunsigned int sph;\n\tunsigned int tso;\n\tunsigned int dma_debug;\n\tunsigned int rss;\n\tunsigned int tc_cnt;\n\tunsigned int hash_table_size;\n\tunsigned int l3l4_filter_num;\n\tunsigned int rx_q_cnt;\n\tunsigned int tx_q_cnt;\n\tunsigned int rx_ch_cnt;\n\tunsigned int tx_ch_cnt;\n\tunsigned int pps_out_num;\n\tunsigned int aux_snap_num;\n};\n\nstruct xgbe_ring_desc;\n\nstruct xgbe_hw_if {\n\tint (*tx_complete)(struct xgbe_ring_desc *);\n\tint (*set_mac_address)(struct xgbe_prv_data *, const u8 *);\n\tint (*config_rx_mode)(struct xgbe_prv_data *);\n\tint (*enable_rx_csum)(struct xgbe_prv_data *);\n\tint (*disable_rx_csum)(struct xgbe_prv_data *);\n\tint (*enable_rx_vlan_stripping)(struct xgbe_prv_data *);\n\tint (*disable_rx_vlan_stripping)(struct xgbe_prv_data *);\n\tint (*enable_rx_vlan_filtering)(struct xgbe_prv_data *);\n\tint (*disable_rx_vlan_filtering)(struct xgbe_prv_data *);\n\tint (*update_vlan_hash_table)(struct xgbe_prv_data *);\n\tint (*read_mmd_regs)(struct xgbe_prv_data *, int, int);\n\tvoid (*write_mmd_regs)(struct xgbe_prv_data *, int, int, int);\n\tint (*set_speed)(struct xgbe_prv_data *, int);\n\tint (*set_ext_mii_mode)(struct xgbe_prv_data *, unsigned int, enum xgbe_mdio_mode);\n\tint (*read_ext_mii_regs_c22)(struct xgbe_prv_data *, int, int);\n\tint (*write_ext_mii_regs_c22)(struct xgbe_prv_data *, int, int, u16);\n\tint (*read_ext_mii_regs_c45)(struct xgbe_prv_data *, int, int, int);\n\tint (*write_ext_mii_regs_c45)(struct xgbe_prv_data *, int, int, int, u16);\n\tint (*set_gpio)(struct xgbe_prv_data *, unsigned int);\n\tint (*clr_gpio)(struct xgbe_prv_data *, unsigned int);\n\tvoid (*enable_tx)(struct xgbe_prv_data *);\n\tvoid (*disable_tx)(struct xgbe_prv_data *);\n\tvoid (*enable_rx)(struct xgbe_prv_data *);\n\tvoid (*disable_rx)(struct xgbe_prv_data *);\n\tvoid (*powerup_tx)(struct xgbe_prv_data *);\n\tvoid (*powerdown_tx)(struct xgbe_prv_data *);\n\tvoid (*powerup_rx)(struct xgbe_prv_data *);\n\tvoid (*powerdown_rx)(struct xgbe_prv_data *);\n\tint (*init)(struct xgbe_prv_data *);\n\tint (*exit)(struct xgbe_prv_data *);\n\tint (*enable_int)(struct xgbe_channel *, enum xgbe_int);\n\tint (*disable_int)(struct xgbe_channel *, enum xgbe_int);\n\tvoid (*dev_xmit)(struct xgbe_channel *);\n\tint (*dev_read)(struct xgbe_channel *);\n\tvoid (*tx_desc_init)(struct xgbe_channel *);\n\tvoid (*rx_desc_init)(struct xgbe_channel *);\n\tvoid (*tx_desc_reset)(struct xgbe_ring_data *);\n\tvoid (*rx_desc_reset)(struct xgbe_prv_data *, struct xgbe_ring_data *, unsigned int);\n\tint (*is_last_desc)(struct xgbe_ring_desc *);\n\tint (*is_context_desc)(struct xgbe_ring_desc *);\n\tvoid (*tx_start_xmit)(struct xgbe_channel *, struct xgbe_ring *);\n\tint (*config_tx_flow_control)(struct xgbe_prv_data *);\n\tint (*config_rx_flow_control)(struct xgbe_prv_data *);\n\tint (*config_rx_coalesce)(struct xgbe_prv_data *);\n\tint (*config_tx_coalesce)(struct xgbe_prv_data *);\n\tunsigned int (*usec_to_riwt)(struct xgbe_prv_data *, unsigned int);\n\tunsigned int (*riwt_to_usec)(struct xgbe_prv_data *, unsigned int);\n\tint (*config_rx_threshold)(struct xgbe_prv_data *, unsigned int);\n\tint (*config_tx_threshold)(struct xgbe_prv_data *, unsigned int);\n\tint (*config_rsf_mode)(struct xgbe_prv_data *, unsigned int);\n\tint (*config_tsf_mode)(struct xgbe_prv_data *, unsigned int);\n\tint (*config_osp_mode)(struct xgbe_prv_data *);\n\tvoid (*rx_mmc_int)(struct xgbe_prv_data *);\n\tvoid (*tx_mmc_int)(struct xgbe_prv_data *);\n\tvoid (*read_mmc_stats)(struct xgbe_prv_data *);\n\tint (*config_tstamp)(struct xgbe_prv_data *, unsigned int);\n\tvoid (*update_tstamp_addend)(struct xgbe_prv_data *, unsigned int);\n\tvoid (*set_tstamp_time)(struct xgbe_prv_data *, unsigned int, unsigned int);\n\tu64 (*get_tstamp_time)(struct xgbe_prv_data *);\n\tu64 (*get_tx_tstamp)(struct xgbe_prv_data *);\n\tvoid (*config_tc)(struct xgbe_prv_data *);\n\tvoid (*config_dcb_tc)(struct xgbe_prv_data *);\n\tvoid (*config_dcb_pfc)(struct xgbe_prv_data *);\n\tint (*enable_rss)(struct xgbe_prv_data *);\n\tint (*disable_rss)(struct xgbe_prv_data *);\n\tint (*set_rss_hash_key)(struct xgbe_prv_data *, const u8 *);\n\tint (*set_rss_lookup_table)(struct xgbe_prv_data *, const u32 *);\n\tvoid (*disable_ecc_ded)(struct xgbe_prv_data *);\n\tvoid (*disable_ecc_sec)(struct xgbe_prv_data *, enum xgbe_ecc_sec);\n\tvoid (*enable_vxlan)(struct xgbe_prv_data *);\n\tvoid (*disable_vxlan)(struct xgbe_prv_data *);\n\tvoid (*set_vxlan_id)(struct xgbe_prv_data *);\n};\n\nstruct xgbe_i2c_op;\n\nstruct xgbe_i2c_op_state {\n\tstruct xgbe_i2c_op *op;\n\tunsigned int tx_len;\n\tunsigned char *tx_buf;\n\tunsigned int rx_len;\n\tunsigned char *rx_buf;\n\tunsigned int tx_abort_source;\n\tint ret;\n};\n\nstruct xgbe_i2c {\n\tunsigned int started;\n\tunsigned int max_speed_mode;\n\tunsigned int rx_fifo_size;\n\tunsigned int tx_fifo_size;\n\tstruct xgbe_i2c_op_state op_state;\n};\n\nstruct xgbe_i2c_if {\n\tint (*i2c_init)(struct xgbe_prv_data *);\n\tint (*i2c_start)(struct xgbe_prv_data *);\n\tvoid (*i2c_stop)(struct xgbe_prv_data *);\n\tint (*i2c_xfer)(struct xgbe_prv_data *, struct xgbe_i2c_op *);\n\tirqreturn_t (*i2c_isr)(struct xgbe_prv_data *);\n};\n\nstruct xgbe_i2c_op {\n\tenum xgbe_i2c_cmd cmd;\n\tunsigned int target;\n\tvoid *buf;\n\tunsigned int len;\n};\n\nstruct xgbe_mmc_stats {\n\tu64 txoctetcount_gb;\n\tu64 txframecount_gb;\n\tu64 txbroadcastframes_g;\n\tu64 txmulticastframes_g;\n\tu64 tx64octets_gb;\n\tu64 tx65to127octets_gb;\n\tu64 tx128to255octets_gb;\n\tu64 tx256to511octets_gb;\n\tu64 tx512to1023octets_gb;\n\tu64 tx1024tomaxoctets_gb;\n\tu64 txunicastframes_gb;\n\tu64 txmulticastframes_gb;\n\tu64 txbroadcastframes_gb;\n\tu64 txunderflowerror;\n\tu64 txoctetcount_g;\n\tu64 txframecount_g;\n\tu64 txpauseframes;\n\tu64 txvlanframes_g;\n\tu64 rxframecount_gb;\n\tu64 rxoctetcount_gb;\n\tu64 rxoctetcount_g;\n\tu64 rxbroadcastframes_g;\n\tu64 rxmulticastframes_g;\n\tu64 rxcrcerror;\n\tu64 rxrunterror;\n\tu64 rxjabbererror;\n\tu64 rxundersize_g;\n\tu64 rxoversize_g;\n\tu64 rx64octets_gb;\n\tu64 rx65to127octets_gb;\n\tu64 rx128to255octets_gb;\n\tu64 rx256to511octets_gb;\n\tu64 rx512to1023octets_gb;\n\tu64 rx1024tomaxoctets_gb;\n\tu64 rxunicastframes_g;\n\tu64 rxlengtherror;\n\tu64 rxoutofrangetype;\n\tu64 rxpauseframes;\n\tu64 rxfifooverflow;\n\tu64 rxvlanframes_gb;\n\tu64 rxwatchdogerror;\n};\n\nstruct xgbe_packet_data {\n\tstruct sk_buff *skb;\n\tunsigned int attributes;\n\tunsigned int errors;\n\tunsigned int rdesc_count;\n\tunsigned int length;\n\tunsigned int header_len;\n\tunsigned int tcp_header_len;\n\tunsigned int tcp_payload_len;\n\tshort unsigned int mss;\n\tshort unsigned int vlan_ctag;\n\tu64 rx_tstamp;\n\tu32 rss_hash;\n\tenum pkt_hash_types rss_hash_type;\n\tunsigned int tx_packets;\n\tunsigned int tx_bytes;\n};\n\nstruct xgbe_phy {\n\tstruct ethtool_link_ksettings lks;\n\tint address;\n\tint autoneg;\n\tint speed;\n\tint duplex;\n\tint link;\n\tint pause_autoneg;\n\tint tx_pause;\n\tint rx_pause;\n};\n\nstruct xgbe_sfp_eeprom {\n\tu8 base[64];\n\tu8 extd[32];\n\tu8 vendor[32];\n};\n\nstruct xgbe_phy_data {\n\tenum xgbe_port_mode port_mode;\n\tunsigned int port_id;\n\tunsigned int port_speeds;\n\tenum xgbe_conn_type conn_type;\n\tenum xgbe_mode cur_mode;\n\tenum xgbe_mode start_mode;\n\tunsigned int rrc_count;\n\tunsigned int mdio_addr;\n\tenum xgbe_sfp_comm sfp_comm;\n\tunsigned int sfp_mux_address;\n\tunsigned int sfp_mux_channel;\n\tunsigned int sfp_gpio_address;\n\tunsigned int sfp_gpio_mask;\n\tunsigned int sfp_gpio_inputs;\n\tunsigned int sfp_gpio_rx_los;\n\tunsigned int sfp_gpio_tx_fault;\n\tunsigned int sfp_gpio_mod_absent;\n\tunsigned int sfp_gpio_rate_select;\n\tunsigned int sfp_rx_los;\n\tunsigned int sfp_tx_fault;\n\tunsigned int sfp_mod_absent;\n\tunsigned int sfp_changed;\n\tunsigned int sfp_phy_avail;\n\tunsigned int sfp_cable_len;\n\tenum xgbe_sfp_base sfp_base;\n\tenum xgbe_sfp_cable sfp_cable;\n\tenum xgbe_sfp_speed sfp_speed;\n\tstruct xgbe_sfp_eeprom sfp_eeprom;\n\tenum xgbe_mdio_mode phydev_mode;\n\tstruct mii_bus *mii;\n\tstruct phy_device *phydev;\n\tenum xgbe_mdio_reset mdio_reset;\n\tunsigned int mdio_reset_addr;\n\tunsigned int mdio_reset_gpio;\n\tunsigned int redrv;\n\tunsigned int redrv_if;\n\tunsigned int redrv_addr;\n\tunsigned int redrv_lane;\n\tunsigned int redrv_model;\n\tunsigned int phy_cdr_notrack;\n\tunsigned int phy_cdr_delay;\n};\n\nstruct xgbe_phy_data___2 {\n\tunsigned int speed_set;\n\tu32 blwc[3];\n\tu32 cdr_rate[3];\n\tu32 pq_skew[3];\n\tu32 tx_amp[3];\n\tu32 dfe_tap_cfg[3];\n\tu32 dfe_tap_ena[3];\n};\n\nstruct xgbe_phy_impl_if {\n\tint (*init)(struct xgbe_prv_data *);\n\tvoid (*exit)(struct xgbe_prv_data *);\n\tint (*reset)(struct xgbe_prv_data *);\n\tint (*start)(struct xgbe_prv_data *);\n\tvoid (*stop)(struct xgbe_prv_data *);\n\tint (*link_status)(struct xgbe_prv_data *, int *);\n\tbool (*valid_speed)(struct xgbe_prv_data *, int);\n\tbool (*use_mode)(struct xgbe_prv_data *, enum xgbe_mode);\n\tvoid (*set_mode)(struct xgbe_prv_data *, enum xgbe_mode);\n\tenum xgbe_mode (*get_mode)(struct xgbe_prv_data *, int);\n\tenum xgbe_mode (*switch_mode)(struct xgbe_prv_data *);\n\tenum xgbe_mode (*cur_mode)(struct xgbe_prv_data *);\n\tenum xgbe_an_mode (*an_mode)(struct xgbe_prv_data *);\n\tint (*an_config)(struct xgbe_prv_data *);\n\tvoid (*an_advertising)(struct xgbe_prv_data *, struct ethtool_link_ksettings *);\n\tenum xgbe_mode (*an_outcome)(struct xgbe_prv_data *);\n\tvoid (*an_pre)(struct xgbe_prv_data *);\n\tvoid (*an_post)(struct xgbe_prv_data *);\n\tvoid (*kr_training_pre)(struct xgbe_prv_data *);\n\tvoid (*kr_training_post)(struct xgbe_prv_data *);\n\tint (*module_info)(struct xgbe_prv_data *, struct ethtool_modinfo *);\n\tint (*module_eeprom)(struct xgbe_prv_data *, struct ethtool_eeprom *, u8 *);\n};\n\nstruct xgbe_phy_if {\n\tint (*phy_init)(struct xgbe_prv_data *);\n\tvoid (*phy_exit)(struct xgbe_prv_data *);\n\tint (*phy_reset)(struct xgbe_prv_data *);\n\tint (*phy_start)(struct xgbe_prv_data *);\n\tvoid (*phy_stop)(struct xgbe_prv_data *);\n\tvoid (*phy_status)(struct xgbe_prv_data *);\n\tint (*phy_config_aneg)(struct xgbe_prv_data *);\n\tbool (*phy_valid_speed)(struct xgbe_prv_data *, int);\n\tirqreturn_t (*an_isr)(struct xgbe_prv_data *);\n\tint (*module_info)(struct xgbe_prv_data *, struct ethtool_modinfo *);\n\tint (*module_eeprom)(struct xgbe_prv_data *, struct ethtool_eeprom *, u8 *);\n\tstruct xgbe_phy_impl_if phy_impl;\n};\n\nstruct xgbe_version_data;\n\nstruct xgbe_prv_data {\n\tstruct net_device *netdev;\n\tstruct pci_dev *pcidev;\n\tstruct platform_device *platdev;\n\tstruct acpi_device *adev;\n\tstruct device *dev;\n\tstruct platform_device *phy_platdev;\n\tstruct device *phy_dev;\n\tstruct xgbe_version_data *vdata;\n\tunsigned int use_acpi;\n\tvoid *xgmac_regs;\n\tvoid *xpcs_regs;\n\tvoid *rxtx_regs;\n\tvoid *sir0_regs;\n\tvoid *sir1_regs;\n\tvoid *xprop_regs;\n\tvoid *xi2c_regs;\n\tunsigned int pp0;\n\tunsigned int pp1;\n\tunsigned int pp2;\n\tunsigned int pp3;\n\tunsigned int pp4;\n\tspinlock_t lock;\n\tspinlock_t xpcs_lock;\n\tunsigned int xpcs_window_def_reg;\n\tunsigned int xpcs_window_sel_reg;\n\tunsigned int xpcs_window;\n\tunsigned int xpcs_window_size;\n\tunsigned int xpcs_window_mask;\n\tstruct mutex rss_mutex;\n\tlong unsigned int dev_state;\n\tlong unsigned int tx_sec_period;\n\tlong unsigned int tx_ded_period;\n\tlong unsigned int rx_sec_period;\n\tlong unsigned int rx_ded_period;\n\tlong unsigned int desc_sec_period;\n\tlong unsigned int desc_ded_period;\n\tunsigned int tx_sec_count;\n\tunsigned int tx_ded_count;\n\tunsigned int rx_sec_count;\n\tunsigned int rx_ded_count;\n\tunsigned int desc_ded_count;\n\tunsigned int desc_sec_count;\n\tint dev_irq;\n\tint ecc_irq;\n\tint i2c_irq;\n\tint channel_irq[16];\n\tunsigned int per_channel_irq;\n\tunsigned int irq_count;\n\tunsigned int channel_irq_count;\n\tunsigned int channel_irq_mode;\n\tchar ecc_name[48];\n\tstruct xgbe_hw_if hw_if;\n\tstruct xgbe_phy_if phy_if;\n\tstruct xgbe_desc_if desc_if;\n\tstruct xgbe_i2c_if i2c_if;\n\tunsigned int coherent;\n\tunsigned int arcr;\n\tunsigned int awcr;\n\tunsigned int awarcr;\n\tstruct workqueue_struct *dev_workqueue;\n\tstruct work_struct service_work;\n\tstruct timer_list service_timer;\n\tstruct xgbe_channel *channel[16];\n\tunsigned int tx_max_channel_count;\n\tunsigned int rx_max_channel_count;\n\tunsigned int channel_count;\n\tunsigned int tx_ring_count;\n\tunsigned int tx_desc_count;\n\tunsigned int rx_ring_count;\n\tunsigned int rx_desc_count;\n\tunsigned int new_tx_ring_count;\n\tunsigned int new_rx_ring_count;\n\tunsigned int tx_max_q_count;\n\tunsigned int rx_max_q_count;\n\tunsigned int tx_q_count;\n\tunsigned int rx_q_count;\n\tunsigned int blen;\n\tunsigned int pbl;\n\tunsigned int aal;\n\tunsigned int rd_osr_limit;\n\tunsigned int wr_osr_limit;\n\tunsigned int tx_sf_mode;\n\tunsigned int tx_threshold;\n\tunsigned int tx_osp_mode;\n\tunsigned int tx_max_fifo_size;\n\tunsigned int rx_sf_mode;\n\tunsigned int rx_threshold;\n\tunsigned int rx_max_fifo_size;\n\tunsigned int tx_usecs;\n\tunsigned int tx_frames;\n\tunsigned int rx_riwt;\n\tunsigned int rx_usecs;\n\tunsigned int rx_frames;\n\tunsigned int rx_buf_size;\n\tunsigned int pause_autoneg;\n\tunsigned int tx_pause;\n\tunsigned int rx_pause;\n\tunsigned int rx_rfa[16];\n\tunsigned int rx_rfd[16];\n\tu8 rss_key[40];\n\tu32 rss_table[256];\n\tu32 rss_options;\n\tu16 vxlan_port;\n\tunsigned char mac_addr[6];\n\tnetdev_features_t netdev_features;\n\tstruct napi_struct napi;\n\tstruct xgbe_mmc_stats mmc_stats;\n\tstruct xgbe_ext_stats ext_stats;\n\tlong unsigned int active_vlans[64];\n\tstruct clk *sysclk;\n\tlong unsigned int sysclk_rate;\n\tstruct clk *ptpclk;\n\tlong unsigned int ptpclk_rate;\n\tspinlock_t tstamp_lock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct ptp_clock *ptp_clock;\n\tstruct hwtstamp_config tstamp_config;\n\tstruct cyclecounter tstamp_cc;\n\tstruct timecounter tstamp_tc;\n\tunsigned int tstamp_addend;\n\tstruct work_struct tx_tstamp_work;\n\tstruct sk_buff *tx_tstamp_skb;\n\tu64 tx_tstamp;\n\tstruct ieee_ets *ets;\n\tstruct ieee_pfc *pfc;\n\tunsigned int q2tc_map[16];\n\tunsigned int prio2q_map[8];\n\tunsigned int pfcq[16];\n\tunsigned int pfc_rfa;\n\tu8 num_tcs;\n\tstruct xgbe_hw_features hw_feat;\n\tstruct work_struct restart_work;\n\tstruct work_struct stopdev_work;\n\tunsigned int power_down;\n\tu32 msg_enable;\n\tphy_interface_t phy_mode;\n\tint phy_link;\n\tint phy_speed;\n\tunsigned int phy_started;\n\tvoid *phy_data;\n\tstruct xgbe_phy phy;\n\tint mdio_mmd;\n\tlong unsigned int link_check;\n\tstruct completion mdio_complete;\n\tunsigned int kr_redrv;\n\tchar an_name[48];\n\tstruct workqueue_struct *an_workqueue;\n\tint an_irq;\n\tstruct work_struct an_irq_work;\n\tunsigned int an_int;\n\tunsigned int an_status;\n\tstruct mutex an_mutex;\n\tenum xgbe_an an_result;\n\tenum xgbe_an an_state;\n\tenum xgbe_rx kr_state;\n\tenum xgbe_rx kx_state;\n\tstruct work_struct an_work;\n\tunsigned int an_again;\n\tunsigned int an_supported;\n\tunsigned int parallel_detect;\n\tunsigned int fec_ability;\n\tlong unsigned int an_start;\n\tlong unsigned int kr_start_time;\n\tenum xgbe_an_mode an_mode;\n\tstruct xgbe_i2c i2c;\n\tstruct mutex i2c_mutex;\n\tstruct completion i2c_complete;\n\tchar i2c_name[48];\n\tunsigned int lpm_ctrl;\n\tunsigned int isr_as_bh_work;\n\tstruct work_struct dev_bh_work;\n\tstruct work_struct ecc_bh_work;\n\tstruct work_struct i2c_bh_work;\n\tstruct work_struct an_bh_work;\n\tstruct dentry *xgbe_debugfs;\n\tunsigned int debugfs_xgmac_reg;\n\tunsigned int debugfs_xpcs_mmd;\n\tunsigned int debugfs_xpcs_reg;\n\tunsigned int debugfs_xprop_reg;\n\tunsigned int debugfs_xi2c_reg;\n\tbool debugfs_an_cdr_workaround;\n\tbool debugfs_an_cdr_track_early;\n\tbool en_rx_adap;\n\tint rx_adapt_retries;\n\tbool rx_adapt_done;\n\tbool mode_set;\n};\n\nstruct xgbe_ring {\n\tspinlock_t lock;\n\tstruct xgbe_packet_data packet_data;\n\tstruct xgbe_ring_desc *rdesc;\n\tdma_addr_t rdesc_dma;\n\tunsigned int rdesc_count;\n\tstruct xgbe_ring_data *rdata;\n\tstruct xgbe_page_alloc rx_hdr_pa;\n\tstruct xgbe_page_alloc rx_buf_pa;\n\tint node;\n\tunsigned int cur;\n\tunsigned int dirty;\n\tunsigned int coalesce_count;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int queue_stopped;\n\t\t\tunsigned int xmit_more;\n\t\t\tshort unsigned int cur_mss;\n\t\t\tshort unsigned int cur_vlan_ctag;\n\t\t} tx;\n\t};\n\tlong: 64;\n};\n\nstruct xgbe_tx_ring_data {\n\tunsigned int packets;\n\tunsigned int bytes;\n};\n\nstruct xgbe_rx_ring_data {\n\tstruct xgbe_buffer_data hdr;\n\tstruct xgbe_buffer_data buf;\n\tshort unsigned int hdr_len;\n\tshort unsigned int len;\n};\n\nstruct xgbe_ring_data {\n\tstruct xgbe_ring_desc *rdesc;\n\tdma_addr_t rdesc_dma;\n\tstruct sk_buff *skb;\n\tdma_addr_t skb_dma;\n\tunsigned int skb_dma_len;\n\tstruct xgbe_tx_ring_data tx;\n\tstruct xgbe_rx_ring_data rx;\n\tunsigned int mapped_as_page;\n\tunsigned int state_saved;\n\tstruct {\n\t\tstruct sk_buff *skb;\n\t\tunsigned int len;\n\t\tunsigned int error;\n\t} state;\n};\n\nstruct xgbe_ring_desc {\n\t__le32 desc0;\n\t__le32 desc1;\n\t__le32 desc2;\n\t__le32 desc3;\n};\n\nstruct xgbe_sfp_ascii {\n\tunion {\n\t\tchar vendor[17];\n\t\tchar partno[17];\n\t\tchar rev[5];\n\t\tchar serno[17];\n\t} u;\n};\n\nstruct xgbe_stats {\n\tchar stat_string[32];\n\tint stat_size;\n\tint stat_offset;\n};\n\nstruct xgbe_version_data {\n\tvoid (*init_function_ptrs_phy_impl)(struct xgbe_phy_if *);\n\tenum xgbe_xpcs_access xpcs_access;\n\tunsigned int mmc_64bit;\n\tunsigned int tx_max_fifo_size;\n\tunsigned int rx_max_fifo_size;\n\tunsigned int tx_tstamp_workaround;\n\tunsigned int ecc_support;\n\tunsigned int i2c_support;\n\tunsigned int irq_reissue_support;\n\tunsigned int tx_desc_prefetch;\n\tunsigned int rx_desc_prefetch;\n\tunsigned int an_cdr_workaround;\n\tunsigned int enable_rrc;\n};\n\nstruct xgene_ahci_context {\n\tstruct ahci_host_priv *hpriv;\n\tstruct device *dev;\n\tu8 last_cmd[2];\n\tu32 class[2];\n\tvoid *csr_core;\n\tvoid *csr_diag;\n\tvoid *csr_axi;\n\tvoid *csr_mux;\n};\n\nstruct xgene_cle_dbptr {\n\tu8 split_boundary;\n\tu8 mirror_nxtfpsel;\n\tu8 mirror_fpsel;\n\tu16 mirror_dstqid;\n\tu8 drop;\n\tu8 mirror;\n\tu8 hdr_data_split;\n\tu64 hopinfomsbs;\n\tu8 DR;\n\tu8 HR;\n\tu64 hopinfomlsbs;\n\tu16 h0enq_num;\n\tu8 h0fpsel;\n\tu8 nxtfpsel;\n\tu8 fpsel;\n\tu16 dstqid;\n\tu8 cle_priority;\n\tu8 cle_flowgroup;\n\tu8 cle_perflow;\n\tu8 cle_insert_timestamp;\n\tu8 stash;\n\tu8 in;\n\tu8 perprioen;\n\tu8 perflowgroupen;\n\tu8 perflowen;\n\tu8 selhash;\n\tu8 selhdrext;\n\tu8 mirror_nxtfpsel_msb;\n\tu8 mirror_fpsel_msb;\n\tu8 hfpsel_msb;\n\tu8 nxtfpsel_msb;\n\tu8 fpsel_msb;\n};\n\nstruct xgene_enet_pdata;\n\nstruct xgene_cle_ops {\n\tint (*cle_init)(struct xgene_enet_pdata *);\n};\n\nstruct xgene_cle_ptree_kn;\n\nstruct xgene_cle_ptree {\n\tstruct xgene_cle_ptree_kn *kn;\n\tstruct xgene_cle_dbptr *dbptr;\n\tu32 num_kn;\n\tu32 num_dbptr;\n\tu32 start_node;\n\tu32 start_pkt;\n\tu32 start_dbptr;\n};\n\nstruct xgene_cle_ptree_branch {\n\tbool valid;\n\tu16 next_packet_pointer;\n\tbool jump_bw;\n\tbool jump_rel;\n\tu8 operation;\n\tu16 next_node;\n\tu8 next_branch;\n\tu16 data;\n\tu16 mask;\n};\n\nstruct xgene_cle_ptree_ewdn {\n\tu8 node_type;\n\tbool last_node;\n\tbool hdr_len_store;\n\tu8 hdr_extn;\n\tu8 byte_store;\n\tu8 search_byte_store;\n\tu16 result_pointer;\n\tu8 num_branches;\n\tstruct xgene_cle_ptree_branch branch[6];\n};\n\nstruct xgene_cle_ptree_key {\n\tu8 priority;\n\tu16 result_pointer;\n};\n\nstruct xgene_cle_ptree_kn {\n\tu8 node_type;\n\tu8 num_keys;\n\tstruct xgene_cle_ptree_key key[32];\n};\n\nstruct xgene_dev_parameters {\n\tvoid *csr_reg;\n\tu32 reg_clk_offset;\n\tu32 reg_clk_mask;\n\tu32 reg_csr_offset;\n\tu32 reg_csr_mask;\n\tvoid *divider_reg;\n\tu32 reg_divider_offset;\n\tu32 reg_divider_shift;\n\tu32 reg_divider_width;\n};\n\nstruct xgene_clk {\n\tstruct clk_hw hw;\n\tspinlock_t *lock;\n\tstruct xgene_dev_parameters param;\n};\n\nstruct xgene_clk_pll {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tspinlock_t *lock;\n\tu32 pll_offset;\n\tenum xgene_pll_type type;\n\tint version;\n};\n\nstruct xgene_clk_pmd {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu32 mask;\n\tu64 denom;\n\tu32 flags;\n\tspinlock_t *lock;\n};\n\nstruct xgene_enet_cle {\n\tvoid *base;\n\tstruct xgene_cle_ptree ptree;\n\tenum xgene_cle_parser active_parser;\n\tu32 parsers;\n\tu32 max_nodes;\n\tu32 max_dbptrs;\n\tu32 jump_bytes;\n};\n\nstruct xgene_enet_raw_desc;\n\nstruct xgene_enet_raw_desc16;\n\nstruct xgene_enet_desc_ring {\n\tstruct net_device *ndev;\n\tu16 id;\n\tu16 num;\n\tu16 head;\n\tu16 tail;\n\tu16 exp_buf_tail;\n\tu16 slots;\n\tu16 irq;\n\tchar irq_name[16];\n\tu32 size;\n\tu32 state[6];\n\tvoid *cmd_base;\n\tvoid *cmd;\n\tdma_addr_t dma;\n\tdma_addr_t irq_mbox_dma;\n\tvoid *irq_mbox_addr;\n\tu16 dst_ring_num;\n\tu16 nbufpool;\n\tint npagepool;\n\tu8 index;\n\tu32 flags;\n\tstruct sk_buff **rx_skb;\n\tstruct sk_buff **cp_skb;\n\tdma_addr_t *frag_dma_addr;\n\tstruct page **frag_page;\n\tenum xgene_enet_ring_cfgsize cfgsize;\n\tstruct xgene_enet_desc_ring *cp_ring;\n\tstruct xgene_enet_desc_ring *buf_pool;\n\tstruct xgene_enet_desc_ring *page_pool;\n\tstruct napi_struct napi;\n\tunion {\n\t\tvoid *desc_addr;\n\t\tstruct xgene_enet_raw_desc *raw_desc;\n\t\tstruct xgene_enet_raw_desc16 *raw_desc16;\n\t};\n\t__le64 *exp_bufs;\n\tu64 tx_packets;\n\tu64 tx_bytes;\n\tu64 tx_dropped;\n\tu64 tx_errors;\n\tu64 rx_packets;\n\tu64 rx_bytes;\n\tu64 rx_dropped;\n\tu64 rx_errors;\n\tu64 rx_length_errors;\n\tu64 rx_crc_errors;\n\tu64 rx_frame_errors;\n\tu64 rx_fifo_errors;\n};\n\nstruct xgene_mac_ops;\n\nstruct xgene_port_ops;\n\nstruct xgene_ring_ops;\n\nstruct xgene_enet_pdata {\n\tstruct net_device *ndev;\n\tstruct mii_bus *mdio_bus;\n\tint phy_speed;\n\tstruct clk *clk;\n\tstruct platform_device *pdev;\n\tenum xgene_enet_id enet_id;\n\tstruct xgene_enet_desc_ring *tx_ring[8];\n\tstruct xgene_enet_desc_ring *rx_ring[8];\n\tu16 tx_level[8];\n\tu16 txc_level[8];\n\tchar *dev_name;\n\tu32 rx_buff_cnt;\n\tu32 tx_qcnt_hi;\n\tu32 irqs[16];\n\tu8 rxq_cnt;\n\tu8 txq_cnt;\n\tu8 cq_cnt;\n\tvoid *eth_csr_addr;\n\tvoid *eth_ring_if_addr;\n\tvoid *eth_diag_csr_addr;\n\tvoid *mcx_mac_addr;\n\tvoid *mcx_mac_csr_addr;\n\tvoid *mcx_stats_addr;\n\tvoid *base_addr;\n\tvoid *pcs_addr;\n\tvoid *ring_csr_addr;\n\tvoid *ring_cmd_addr;\n\tint phy_mode;\n\tenum xgene_enet_rm rm;\n\tstruct xgene_enet_cle cle;\n\tu64 *extd_stats;\n\tu64 false_rflr;\n\tu64 vlan_rjbr;\n\tspinlock_t stats_lock;\n\tconst struct xgene_mac_ops *mac_ops;\n\tspinlock_t mac_lock;\n\tconst struct xgene_port_ops *port_ops;\n\tstruct xgene_ring_ops *ring_ops;\n\tconst struct xgene_cle_ops *cle_ops;\n\tstruct delayed_work link_work;\n\tu32 port_id;\n\tu8 cpu_bufnum;\n\tu8 eth_bufnum;\n\tu8 bp_bufnum;\n\tu16 ring_num;\n\tu32 mss[4];\n\tu32 mss_refcnt[4];\n\tspinlock_t mss_lock;\n\tu8 tx_delay;\n\tu8 rx_delay;\n\tbool mdio_driver;\n\tstruct gpio_desc *sfp_rdy;\n\tbool sfp_gpio_en;\n\tu32 pause_autoneg;\n\tbool tx_pause;\n\tbool rx_pause;\n};\n\nstruct xgene_enet_raw_desc {\n\t__le64 m0;\n\t__le64 m1;\n\t__le64 m2;\n\t__le64 m3;\n};\n\nstruct xgene_enet_raw_desc16 {\n\t__le64 m0;\n\t__le64 m1;\n};\n\nstruct xgene_gpio {\n\tstruct gpio_chip chip;\n\tvoid *base;\n\tspinlock_t lock;\n\tu32 set_dr_val[3];\n};\n\nstruct xgene_gpio_sb {\n\tstruct gpio_chip gc;\n\tvoid *regs;\n\tstruct irq_domain *irq_domain;\n\tu16 irq_start;\n\tu16 nirq;\n\tu16 parent_irq_base;\n};\n\nstruct xgene_gstrings_stats {\n\tchar name[32];\n\tint offset;\n\tu32 addr;\n\tu32 mask;\n};\n\nstruct xgene_mac_ops {\n\tvoid (*init)(struct xgene_enet_pdata *);\n\tvoid (*reset)(struct xgene_enet_pdata *);\n\tvoid (*tx_enable)(struct xgene_enet_pdata *);\n\tvoid (*rx_enable)(struct xgene_enet_pdata *);\n\tvoid (*tx_disable)(struct xgene_enet_pdata *);\n\tvoid (*rx_disable)(struct xgene_enet_pdata *);\n\tvoid (*get_drop_cnt)(struct xgene_enet_pdata *, u32 *, u32 *);\n\tvoid (*set_speed)(struct xgene_enet_pdata *);\n\tvoid (*set_mac_addr)(struct xgene_enet_pdata *);\n\tvoid (*set_framesize)(struct xgene_enet_pdata *, int);\n\tvoid (*set_mss)(struct xgene_enet_pdata *, u16, u8);\n\tvoid (*link_state)(struct work_struct *);\n\tvoid (*enable_tx_pause)(struct xgene_enet_pdata *, bool);\n\tvoid (*flowctl_rx)(struct xgene_enet_pdata *, bool);\n\tvoid (*flowctl_tx)(struct xgene_enet_pdata *, bool);\n};\n\nstruct xgene_mdio_pdata {\n\tstruct clk *clk;\n\tstruct device *dev;\n\tvoid *mac_csr_addr;\n\tvoid *diag_csr_addr;\n\tvoid *mdio_csr_addr;\n\tstruct mii_bus *mdio_bus;\n\tint mdio_id;\n\tspinlock_t mac_lock;\n};\n\nstruct xgene_msi_group;\n\nstruct xgene_msi {\n\tstruct device_node *node;\n\tstruct irq_domain *inner_domain;\n\tstruct irq_domain *msi_domain;\n\tu64 msi_addr;\n\tvoid *msi_regs;\n\tlong unsigned int *bitmap;\n\tstruct mutex bitmap_lock;\n\tstruct xgene_msi_group *msi_groups;\n\tint num_cpus;\n};\n\nstruct xgene_msi_group {\n\tstruct xgene_msi *msi;\n\tint gic_irq;\n\tu32 msi_grp;\n};\n\nstruct xgene_pcie {\n\tstruct device_node *node;\n\tstruct device *dev;\n\tstruct clk *clk;\n\tvoid *csr_base;\n\tvoid *cfg_base;\n\tlong unsigned int cfg_addr;\n\tbool link_up;\n\tu32 version;\n};\n\nstruct xgene_sata_override_param {\n\tu32 speed[2];\n\tu32 txspeed[3];\n\tu32 txboostgain[6];\n\tu32 txeyetuning[6];\n\tu32 txeyedirection[6];\n\tu32 txamplitude[6];\n\tu32 txprecursor_cn1[6];\n\tu32 txprecursor_cn2[6];\n\tu32 txpostcursor_cp1[6];\n};\n\nstruct xgene_phy_ctx {\n\tstruct device *dev;\n\tstruct phy *phy;\n\tenum xgene_phy_mode mode;\n\tenum clk_type_t clk_type;\n\tvoid *sds_base;\n\tstruct clk *clk;\n\tstruct xgene_sata_override_param sata_param;\n};\n\nstruct xgene_port_ops {\n\tint (*reset)(struct xgene_enet_pdata *);\n\tvoid (*clear)(struct xgene_enet_pdata *, struct xgene_enet_desc_ring *);\n\tvoid (*cle_bypass)(struct xgene_enet_pdata *, u32, u16, u16);\n\tvoid (*shutdown)(struct xgene_enet_pdata *);\n};\n\nstruct xgene_reboot_context {\n\tstruct device *dev;\n\tvoid *csr;\n\tu32 mask;\n};\n\nstruct xgene_ring_ops {\n\tu8 num_ring_config;\n\tu8 num_ring_id_shift;\n\tstruct xgene_enet_desc_ring * (*setup)(struct xgene_enet_desc_ring *);\n\tvoid (*clear)(struct xgene_enet_desc_ring *);\n\tvoid (*wr_cmd)(struct xgene_enet_desc_ring *, int);\n\tu32 (*len)(struct xgene_enet_desc_ring *);\n\tvoid (*coalesce)(struct xgene_enet_desc_ring *);\n};\n\nstruct xgene_rng_dev {\n\tu32 irq;\n\tvoid *csr_base;\n\tu32 revision;\n\tu32 datum_size;\n\tu32 failure_cnt;\n\tlong unsigned int failure_ts;\n\tstruct timer_list failure_timer;\n\tstruct device *dev;\n};\n\nstruct xgene_rtc_dev {\n\tstruct rtc_device *rtc;\n\tvoid *csr_base;\n\tstruct clk *clk;\n\tunsigned int irq_wake;\n\tunsigned int irq_enabled;\n};\n\nstruct xhci_bus_state {\n\tlong unsigned int bus_suspended;\n\tlong unsigned int next_statechange;\n\tu32 port_c_suspend;\n\tu32 suspended_ports;\n\tu32 port_remote_wakeup;\n\tlong unsigned int resuming_ports;\n};\n\nstruct xhci_bw_info {\n\tunsigned int ep_interval;\n\tunsigned int mult;\n\tunsigned int num_packets;\n\tunsigned int max_packet_size;\n\tunsigned int max_esit_payload;\n\tunsigned int type;\n};\n\nstruct xhci_cap_regs {\n\t__le32 hc_capbase;\n\t__le32 hcs_params1;\n\t__le32 hcs_params2;\n\t__le32 hcs_params3;\n\t__le32 hcc_params;\n\t__le32 db_off;\n\t__le32 run_regs_off;\n\t__le32 hcc_params2;\n};\n\nstruct xhci_container_ctx;\n\nstruct xhci_command {\n\tstruct xhci_container_ctx *in_ctx;\n\tu32 status;\n\tu32 comp_param;\n\tint slot_id;\n\tstruct completion *completion;\n\tunion xhci_trb *command_trb;\n\tstruct list_head cmd_list;\n\tunsigned int timeout_ms;\n};\n\nstruct xhci_container_ctx {\n\tunsigned int type;\n\tint size;\n\tu8 *bytes;\n\tdma_addr_t dma;\n};\n\nstruct xhci_erst_entry;\n\nstruct xhci_erst {\n\tstruct xhci_erst_entry *entries;\n\tunsigned int num_entries;\n\tdma_addr_t erst_dma_addr;\n};\n\nstruct xhci_hcd;\n\nstruct xhci_dbc {\n\tspinlock_t lock;\n\tstruct device *dev;\n\tstruct xhci_hcd *xhci;\n\tstruct dbc_regs *regs;\n\tstruct xhci_ring *ring_evt;\n\tstruct xhci_ring *ring_in;\n\tstruct xhci_ring *ring_out;\n\tstruct xhci_erst erst;\n\tstruct xhci_container_ctx *ctx;\n\tstruct dbc_str_descs *string;\n\tdma_addr_t string_dma;\n\tsize_t string_size;\n\tu16 idVendor;\n\tu16 idProduct;\n\tu16 bcdDevice;\n\tu8 bInterfaceProtocol;\n\tenum dbc_state state;\n\tstruct delayed_work event_work;\n\tunsigned int poll_interval;\n\tunsigned int resume_required: 1;\n\tstruct dbc_ep eps[2];\n\tconst struct dbc_driver *driver;\n\tvoid *priv;\n};\n\nstruct xhci_device_context_array {\n\t__le64 dev_context_ptrs[256];\n\tdma_addr_t dma;\n};\n\nstruct xhci_doorbell_array {\n\t__le32 doorbell[256];\n};\n\nstruct xhci_driver_overrides {\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n\tint (*start)(struct usb_hcd *);\n\tint (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*check_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tvoid (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tint (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t);\n\tint (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16);\n};\n\nstruct xhci_ep_ctx {\n\t__le32 ep_info;\n\t__le32 ep_info2;\n\t__le64 deq;\n\t__le32 tx_info;\n\t__le32 reserved[3];\n};\n\nstruct xhci_stream_info;\n\nstruct xhci_ep_priv {\n\tchar name[32];\n\tstruct dentry *root;\n\tstruct xhci_stream_info *stream_info;\n\tstruct xhci_ring *show_ring;\n\tunsigned int stream_id;\n};\n\nstruct xhci_erst_entry {\n\t__le64 seg_addr;\n\t__le32 seg_size;\n\t__le32 rsvd;\n};\n\nstruct xhci_event_cmd {\n\t__le64 cmd_trb;\n\t__le32 status;\n\t__le32 flags;\n};\n\nstruct xhci_file_map {\n\tconst char *name;\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct xhci_generic_trb {\n\t__le32 field[4];\n};\n\nstruct xhci_port;\n\nstruct xhci_hub {\n\tstruct xhci_port **ports;\n\tunsigned int num_ports;\n\tstruct usb_hcd *hcd;\n\tstruct xhci_bus_state bus_state;\n\tu8 maj_rev;\n\tu8 min_rev;\n};\n\nstruct xhci_op_regs;\n\nstruct xhci_run_regs;\n\nstruct xhci_interrupter;\n\nstruct xhci_scratchpad;\n\nstruct xhci_virt_device;\n\nstruct xhci_root_port_bw_info;\n\nstruct xhci_port_cap;\n\nstruct xhci_hcd {\n\tstruct usb_hcd *main_hcd;\n\tstruct usb_hcd *shared_hcd;\n\tstruct xhci_cap_regs *cap_regs;\n\tstruct xhci_op_regs *op_regs;\n\tstruct xhci_run_regs *run_regs;\n\tstruct xhci_doorbell_array *dba;\n\t__u32 hcs_params1;\n\t__u32 hcs_params2;\n\t__u32 hcs_params3;\n\t__u32 hcc_params;\n\t__u32 hcc_params2;\n\tspinlock_t lock;\n\tu16 hci_version;\n\tu16 max_interrupters;\n\tu32 imod_interval;\n\tint page_size;\n\tint page_shift;\n\tint nvecs;\n\tstruct clk *clk;\n\tstruct clk *reg_clk;\n\tstruct reset_control *reset;\n\tstruct xhci_device_context_array *dcbaa;\n\tstruct xhci_interrupter **interrupters;\n\tstruct xhci_ring *cmd_ring;\n\tunsigned int cmd_ring_state;\n\tstruct list_head cmd_list;\n\tunsigned int cmd_ring_reserved_trbs;\n\tstruct delayed_work cmd_timer;\n\tstruct completion cmd_ring_stop_completion;\n\tstruct xhci_command *current_cmd;\n\tstruct xhci_scratchpad *scratchpad;\n\tstruct mutex mutex;\n\tstruct xhci_virt_device *devs[256];\n\tstruct xhci_root_port_bw_info *rh_bw;\n\tstruct dma_pool *device_pool;\n\tstruct dma_pool *segment_pool;\n\tstruct dma_pool *small_streams_pool;\n\tstruct dma_pool *medium_streams_pool;\n\tunsigned int xhc_state;\n\tlong unsigned int run_graceperiod;\n\tstruct s3_save s3;\n\tlong long unsigned int quirks;\n\tunsigned int num_active_eps;\n\tunsigned int limit_active_eps;\n\tstruct xhci_port *hw_ports;\n\tstruct xhci_hub usb2_rhub;\n\tstruct xhci_hub usb3_rhub;\n\tunsigned int hw_lpm_support: 1;\n\tunsigned int broken_suspend: 1;\n\tunsigned int allow_single_roothub: 1;\n\tstruct xhci_port_cap *port_caps;\n\tunsigned int num_port_caps;\n\tstruct timer_list comp_mode_recovery_timer;\n\tu32 port_status_u0;\n\tu16 test_mode;\n\tstruct dentry *debugfs_root;\n\tstruct dentry *debugfs_slots;\n\tstruct list_head regset_list;\n\tvoid *dbc;\n\tlong unsigned int priv[0];\n};\n\nstruct xhci_hcd_mtk {\n\tstruct device *dev;\n\tstruct usb_hcd *hcd;\n\tstruct mu3h_sch_bw_info *sch_array;\n\tstruct list_head bw_ep_chk_list;\n\tstruct hlist_head sch_ep_hash[32];\n\tstruct mu3c_ippc_regs *ippc_regs;\n\tint num_u2_ports;\n\tint num_u3_ports;\n\tint u2p_dis_msk;\n\tint u3p_dis_msk;\n\tstruct clk_bulk_data clks[6];\n\tstruct regulator_bulk_data supplies[2];\n\tunsigned int has_ippc: 1;\n\tunsigned int lpm_support: 1;\n\tunsigned int u2_lpm_disable: 1;\n\tunsigned int uwk_en: 1;\n\tstruct regmap *uwk;\n\tu32 uwk_reg_base;\n\tu32 uwk_vers;\n\tu32 rxfifo_depth;\n};\n\nstruct xhci_input_control_ctx {\n\t__le32 drop_flags;\n\t__le32 add_flags;\n\t__le32 rsvd2[6];\n};\n\nstruct xhci_intr_reg;\n\nstruct xhci_interrupter {\n\tstruct xhci_ring *event_ring;\n\tstruct xhci_erst erst;\n\tstruct xhci_intr_reg *ir_set;\n\tunsigned int intr_num;\n\tbool ip_autoclear;\n\tu32 isoc_bei_interval;\n\tu32 s3_irq_pending;\n\tu32 s3_irq_control;\n\tu32 s3_erst_size;\n\tu64 s3_erst_base;\n\tu64 s3_erst_dequeue;\n};\n\nstruct xhci_interval_bw {\n\tunsigned int num_packets;\n\tstruct list_head endpoints;\n\tunsigned int overhead[3];\n};\n\nstruct xhci_interval_bw_table {\n\tunsigned int interval0_esit_payload;\n\tstruct xhci_interval_bw interval_bw[16];\n\tunsigned int bw_used;\n\tunsigned int ss_bw_in;\n\tunsigned int ss_bw_out;\n};\n\nstruct xhci_intr_reg {\n\t__le32 irq_pending;\n\t__le32 irq_control;\n\t__le32 erst_size;\n\t__le32 rsvd;\n\t__le64 erst_base;\n\t__le64 erst_dequeue;\n};\n\nstruct xhci_link_trb {\n\t__le64 segment_ptr;\n\t__le32 intr_target;\n\t__le32 control;\n};\n\nstruct xhci_op_regs {\n\t__le32 command;\n\t__le32 status;\n\t__le32 page_size;\n\t__le32 reserved1;\n\t__le32 reserved2;\n\t__le32 dev_notification;\n\t__le64 cmd_ring;\n\t__le32 reserved3[4];\n\t__le64 dcbaa_ptr;\n\t__le32 config_reg;\n\t__le32 reserved4[241];\n\t__le32 port_status_base;\n\t__le32 port_power_base;\n\t__le32 port_link_base;\n\t__le32 reserved5;\n\t__le32 reserved6[1016];\n};\n\nstruct xhci_plat_priv {\n\tconst char *firmware_name;\n\tlong long unsigned int quirks;\n\tvoid (*plat_start)(struct usb_hcd *);\n\tint (*init_quirk)(struct usb_hcd *);\n\tint (*suspend_quirk)(struct usb_hcd *);\n\tint (*resume_quirk)(struct usb_hcd *);\n};\n\nstruct xhci_port {\n\t__le32 *addr;\n\tint hw_portnum;\n\tint hcd_portnum;\n\tstruct xhci_hub *rhub;\n\tstruct xhci_port_cap *port_cap;\n\tunsigned int lpm_incapable: 1;\n\tlong unsigned int resume_timestamp;\n\tbool rexit_active;\n\tint slot_id;\n\tstruct completion rexit_done;\n\tstruct completion u3exit_done;\n};\n\nstruct xhci_port_cap {\n\tu32 *psi;\n\tu8 psi_count;\n\tu8 psi_uid_count;\n\tu8 maj_rev;\n\tu8 min_rev;\n\tu32 protocol_caps;\n};\n\nstruct xhci_regset {\n\tchar name[32];\n\tstruct debugfs_regset32 regset;\n\tsize_t nregs;\n\tstruct list_head list;\n};\n\nstruct xhci_ring {\n\tstruct xhci_segment *first_seg;\n\tstruct xhci_segment *last_seg;\n\tunion xhci_trb *enqueue;\n\tstruct xhci_segment *enq_seg;\n\tunion xhci_trb *dequeue;\n\tstruct xhci_segment *deq_seg;\n\tstruct list_head td_list;\n\tu32 cycle_state;\n\tunsigned int stream_id;\n\tunsigned int num_segs;\n\tunsigned int num_trbs_free;\n\tunsigned int bounce_buf_len;\n\tenum xhci_ring_type type;\n\tbool last_td_was_short;\n\tstruct xarray *trb_address_map;\n};\n\nstruct xhci_root_port_bw_info {\n\tstruct list_head tts;\n\tunsigned int num_active_tts;\n\tstruct xhci_interval_bw_table bw_table;\n};\n\nstruct xhci_run_regs {\n\t__le32 microframe_index;\n\t__le32 rsvd[7];\n\tstruct xhci_intr_reg ir_set[128];\n};\n\nstruct xhci_scratchpad {\n\tu64 *sp_array;\n\tdma_addr_t sp_dma;\n\tvoid **sp_buffers;\n};\n\nstruct xhci_segment {\n\tunion xhci_trb *trbs;\n\tstruct xhci_segment *next;\n\tunsigned int num;\n\tdma_addr_t dma;\n\tdma_addr_t bounce_dma;\n\tvoid *bounce_buf;\n\tunsigned int bounce_offs;\n\tunsigned int bounce_len;\n};\n\nstruct xhci_slot_ctx {\n\t__le32 dev_info;\n\t__le32 dev_info2;\n\t__le32 tt_info;\n\t__le32 dev_state;\n\t__le32 reserved[4];\n};\n\nstruct xhci_slot_priv {\n\tchar name[32];\n\tstruct dentry *root;\n\tstruct xhci_ep_priv *eps[31];\n\tstruct xhci_virt_device *dev;\n};\n\nstruct xhci_stream_ctx {\n\t__le64 stream_ring;\n\t__le32 reserved[2];\n};\n\nstruct xhci_stream_info {\n\tstruct xhci_ring **stream_rings;\n\tunsigned int num_streams;\n\tstruct xhci_stream_ctx *stream_ctx_array;\n\tunsigned int num_stream_ctxs;\n\tdma_addr_t ctx_array_dma;\n\tstruct xarray trb_address_map;\n\tstruct xhci_command *free_streams_command;\n};\n\nstruct xhci_transfer_event {\n\t__le64 buffer;\n\t__le32 transfer_len;\n\t__le32 flags;\n};\n\nunion xhci_trb {\n\tstruct xhci_link_trb link;\n\tstruct xhci_transfer_event trans_event;\n\tstruct xhci_event_cmd event_cmd;\n\tstruct xhci_generic_trb generic;\n};\n\nstruct xhci_tt_bw_info {\n\tstruct list_head tt_list;\n\tint slot_id;\n\tint ttport;\n\tstruct xhci_interval_bw_table bw_table;\n\tint active_eps;\n};\n\nstruct xhci_virt_ep {\n\tstruct xhci_virt_device *vdev;\n\tunsigned int ep_index;\n\tstruct xhci_ring *ring;\n\tstruct xhci_stream_info *stream_info;\n\tstruct xhci_ring *new_ring;\n\tunsigned int err_count;\n\tunsigned int ep_state;\n\tstruct list_head cancelled_td_list;\n\tstruct xhci_hcd *xhci;\n\tstruct xhci_segment *queued_deq_seg;\n\tunion xhci_trb *queued_deq_ptr;\n\tbool skip;\n\tstruct xhci_bw_info bw_info;\n\tstruct list_head bw_endpoint_list;\n\tlong unsigned int stop_time;\n\tint next_frame_id;\n\tbool use_extended_tbc;\n};\n\nstruct xhci_virt_device {\n\tint slot_id;\n\tstruct usb_device *udev;\n\tstruct xhci_container_ctx *out_ctx;\n\tstruct xhci_container_ctx *in_ctx;\n\tstruct xhci_virt_ep eps[31];\n\tstruct xhci_port *rhub_port;\n\tstruct xhci_interval_bw_table *bw_table;\n\tstruct xhci_tt_bw_info *tt_info;\n\tlong unsigned int flags;\n\tu16 current_mel;\n\tvoid *debugfs_private;\n};\n\nstruct xmaddr {\n\tphys_addr_t maddr;\n};\n\ntypedef struct xmaddr xmaddr_t;\n\nstruct xol_area {\n\twait_queue_head_t wq;\n\tlong unsigned int *bitmap;\n\tstruct page *page;\n\tlong unsigned int vaddr;\n};\n\nstruct xprt_addr {\n\tconst char *addr;\n\tstruct callback_head rcu;\n};\n\nstruct xprt_create;\n\nstruct xprt_class {\n\tstruct list_head list;\n\tint ident;\n\tstruct rpc_xprt * (*setup)(struct xprt_create *);\n\tstruct module *owner;\n\tchar name[32];\n\tconst char *netid[0];\n};\n\nstruct xprt_create {\n\tint ident;\n\tstruct net *net;\n\tstruct sockaddr *srcaddr;\n\tstruct sockaddr *dstaddr;\n\tsize_t addrlen;\n\tconst char *servername;\n\tstruct svc_xprt *bc_xprt;\n\tstruct rpc_xprt_switch *bc_xps;\n\tunsigned int flags;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct xps_map;\n\nstruct xps_dev_maps {\n\tstruct callback_head rcu;\n\tunsigned int nr_ids;\n\ts16 num_tc;\n\tstruct xps_map *attr_map[0];\n};\n\nstruct xps_map {\n\tunsigned int len;\n\tunsigned int alloc_len;\n\tstruct callback_head rcu;\n\tu16 queues[0];\n};\n\nstruct xs_watch_event {\n\tstruct list_head list;\n\tunsigned int len;\n\tstruct xenbus_watch *handle;\n\tconst char *path;\n\tconst char *token;\n\tchar body[0];\n};\n\nstruct xsd_errors {\n\tint errnum;\n\tconst char *errstring;\n};\n\nstruct xsk_buff_pool {\n\tstruct device *dev;\n\tstruct net_device *netdev;\n\tstruct list_head xsk_tx_list;\n\tspinlock_t xsk_tx_list_lock;\n\trefcount_t users;\n\tstruct xdp_umem *umem;\n\tstruct work_struct work;\n\tstruct list_head free_list;\n\tstruct list_head xskb_list;\n\tu32 heads_cnt;\n\tu16 queue_id;\n\tlong: 64;\n\tstruct xsk_queue *fq;\n\tstruct xsk_queue *cq;\n\tdma_addr_t *dma_pages;\n\tstruct xdp_buff_xsk *heads;\n\tstruct xdp_desc *tx_descs;\n\tu64 chunk_mask;\n\tu64 addrs_cnt;\n\tu32 free_list_cnt;\n\tu32 dma_pages_cnt;\n\tu32 free_heads_cnt;\n\tu32 headroom;\n\tu32 chunk_size;\n\tu32 chunk_shift;\n\tu32 frame_len;\n\tu32 xdp_zc_max_segs;\n\tu8 tx_metadata_len;\n\tu8 cached_need_wakeup;\n\tbool uses_need_wakeup;\n\tbool unaligned;\n\tbool tx_sw_csum;\n\tvoid *addrs;\n\tspinlock_t cq_lock;\n\tstruct xdp_buff_xsk *free_heads[0];\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xsk_tx_metadata_ops {\n\tvoid (*tmo_request_timestamp)(void *);\n\tu64 (*tmo_fill_timestamp)(void *);\n\tvoid (*tmo_request_checksum)(u16, u16, void *);\n};\n\nstruct xxh32_state {\n\tuint32_t total_len_32;\n\tuint32_t large_len;\n\tuint32_t v1;\n\tuint32_t v2;\n\tuint32_t v3;\n\tuint32_t v4;\n\tuint32_t mem32[4];\n\tuint32_t memsize;\n};\n\nstruct xz_buf {\n\tconst uint8_t *in;\n\tsize_t in_pos;\n\tsize_t in_size;\n\tuint8_t *out;\n\tsize_t out_pos;\n\tsize_t out_size;\n};\n\nstruct xz_dec_hash {\n\tvli_type unpadded;\n\tvli_type uncompressed;\n\tuint32_t crc32;\n};\n\nstruct xz_dec_lzma2;\n\nstruct xz_dec_bcj;\n\nstruct xz_dec {\n\tenum {\n\t\tSEQ_STREAM_HEADER = 0,\n\t\tSEQ_BLOCK_START = 1,\n\t\tSEQ_BLOCK_HEADER = 2,\n\t\tSEQ_BLOCK_UNCOMPRESS = 3,\n\t\tSEQ_BLOCK_PADDING = 4,\n\t\tSEQ_BLOCK_CHECK = 5,\n\t\tSEQ_INDEX = 6,\n\t\tSEQ_INDEX_PADDING = 7,\n\t\tSEQ_INDEX_CRC32 = 8,\n\t\tSEQ_STREAM_FOOTER = 9,\n\t} sequence;\n\tuint32_t pos;\n\tvli_type vli;\n\tsize_t in_start;\n\tsize_t out_start;\n\tuint32_t crc32;\n\tenum xz_check check_type;\n\tenum xz_mode mode;\n\tbool allow_buf_error;\n\tstruct {\n\t\tvli_type compressed;\n\t\tvli_type uncompressed;\n\t\tuint32_t size;\n\t} block_header;\n\tstruct {\n\t\tvli_type compressed;\n\t\tvli_type uncompressed;\n\t\tvli_type count;\n\t\tstruct xz_dec_hash hash;\n\t} block;\n\tstruct {\n\t\tenum {\n\t\t\tSEQ_INDEX_COUNT = 0,\n\t\t\tSEQ_INDEX_UNPADDED = 1,\n\t\t\tSEQ_INDEX_UNCOMPRESSED = 2,\n\t\t} sequence;\n\t\tvli_type size;\n\t\tvli_type count;\n\t\tstruct xz_dec_hash hash;\n\t} index;\n\tstruct {\n\t\tsize_t pos;\n\t\tsize_t size;\n\t\tuint8_t buf[1024];\n\t} temp;\n\tstruct xz_dec_lzma2 *lzma2;\n\tstruct xz_dec_bcj *bcj;\n\tbool bcj_active;\n};\n\nstruct xz_dec_bcj {\n\tenum {\n\t\tBCJ_X86 = 4,\n\t\tBCJ_POWERPC = 5,\n\t\tBCJ_IA64 = 6,\n\t\tBCJ_ARM = 7,\n\t\tBCJ_ARMTHUMB = 8,\n\t\tBCJ_SPARC = 9,\n\t\tBCJ_ARM64 = 10,\n\t\tBCJ_RISCV = 11,\n\t} type;\n\tenum xz_ret ret;\n\tbool single_call;\n\tuint32_t pos;\n\tuint32_t x86_prev_mask;\n\tuint8_t *out;\n\tsize_t out_pos;\n\tsize_t out_size;\n\tstruct {\n\t\tsize_t filtered;\n\t\tsize_t size;\n\t\tuint8_t buf[16];\n\t} temp;\n};\n\nstruct xz_dec_lzma2 {\n\tstruct rc_dec rc;\n\tstruct dictionary dict;\n\tstruct lzma2_dec lzma2;\n\tstruct lzma_dec lzma;\n\tstruct {\n\t\tuint32_t size;\n\t\tuint8_t buf[63];\n\t} temp;\n};\n\nstruct z_stream_s {\n\tconst Byte *next_in;\n\tuLong avail_in;\n\tuLong total_in;\n\tByte *next_out;\n\tuLong avail_out;\n\tuLong total_out;\n\tchar *msg;\n\tstruct internal_state *state;\n\tvoid *workspace;\n\tint data_type;\n\tuLong adler;\n\tuLong reserved;\n};\n\nstruct za_context {\n\tstruct _aarch64_ctx head;\n\t__u16 vl;\n\t__u16 __reserved[3];\n};\n\nstruct zap_details {\n\tstruct folio *single_folio;\n\tbool even_cows;\n\tbool reclaim_pt;\n\tzap_flags_t zap_flags;\n};\n\nstruct zt_context {\n\tstruct _aarch64_ctx head;\n\t__u16 nregs;\n\t__u16 __reserved[3];\n};\n\nstruct zynqmp_clk_divider {\n\tstruct clk_hw hw;\n\tu8 flags;\n\tbool is_frac;\n\tu32 clk_id;\n\tu32 div_type;\n\tu16 max_div;\n};\n\nstruct zynqmp_clk_gate {\n\tstruct clk_hw hw;\n\tu8 flags;\n\tu32 clk_id;\n};\n\nstruct zynqmp_clk_mux {\n\tstruct clk_hw hw;\n\tu8 flags;\n\tu32 clk_id;\n};\n\nstruct zynqmp_clock {\n\tchar clk_name[50];\n\tu32 valid;\n\tenum clk_type type;\n\tstruct clock_topology node[6];\n\tu32 num_nodes;\n\tstruct clock_parent parent[100];\n\tu32 num_parents;\n\tu32 clk_id;\n};\n\nstruct zynqmp_devinfo {\n\tstruct device *dev;\n\tu32 feature_conf_id;\n};\n\nstruct zynqmp_ipi_mchan {\n\tint is_opened;\n\tvoid *req_buf;\n\tvoid *resp_buf;\n\tvoid *rx_buf;\n\tsize_t req_buf_size;\n\tsize_t resp_buf_size;\n\tunsigned int chan_type;\n};\n\nstruct zynqmp_ipi_mbox;\n\ntypedef int (*setup_ipi_fn)(struct zynqmp_ipi_mbox *, struct device_node *);\n\nstruct zynqmp_ipi_pdata;\n\nstruct zynqmp_ipi_mbox {\n\tstruct zynqmp_ipi_pdata *pdata;\n\tstruct device dev;\n\tu32 remote_id;\n\tstruct mbox_controller mbox;\n\tstruct zynqmp_ipi_mchan mchans[2];\n\tsetup_ipi_fn setup_ipi_fn;\n};\n\nstruct zynqmp_ipi_message {\n\tsize_t len;\n\tu8 data[0];\n};\n\nstruct zynqmp_ipi_pdata {\n\tstruct device *dev;\n\tint irq;\n\tunsigned int method;\n\tu32 local_id;\n\tint virq_sgi;\n\tint num_mboxes;\n\tstruct zynqmp_ipi_mbox ipi_mboxes[0];\n};\n\nstruct zynqmp_pctrl_group {\n\tconst char *name;\n\tunsigned int pins[50];\n\tunsigned int npins;\n};\n\nstruct zynqmp_pmux_function;\n\nstruct zynqmp_pinctrl {\n\tstruct pinctrl_dev *pctrl;\n\tconst struct zynqmp_pctrl_group *groups;\n\tunsigned int ngroups;\n\tconst struct zynqmp_pmux_function *funcs;\n\tunsigned int nfuncs;\n};\n\nstruct zynqmp_pll {\n\tstruct clk_hw hw;\n\tu32 clk_id;\n\tbool set_pll_mode;\n};\n\nstruct zynqmp_pm_domain {\n\tstruct generic_pm_domain gpd;\n\tu32 node_id;\n\tbool requested;\n};\n\nstruct zynqmp_pm_event_info {\n\tevent_cb_func_t cb_fun;\n\tenum pm_api_cb_id cb_type;\n\tu32 node_id;\n\tu32 event;\n\tbool wake;\n};\n\nstruct zynqmp_pm_query_data {\n\tu32 qid;\n\tu32 arg1;\n\tu32 arg2;\n\tu32 arg3;\n};\n\nstruct zynqmp_pm_shutdown_scope {\n\tconst enum zynqmp_pm_shutdown_subtype subtype;\n\tconst char *name;\n};\n\nstruct zynqmp_pm_work_struct {\n\tstruct work_struct callback_work;\n\tu32 args[4];\n};\n\nstruct zynqmp_pmux_function {\n\tchar name[16];\n\tconst char * const *groups;\n\tunsigned int ngroups;\n};\n\nstruct zynqmp_reset_soc_data;\n\nstruct zynqmp_reset_data {\n\tstruct reset_controller_dev rcdev;\n\tconst struct zynqmp_reset_soc_data *data;\n};\n\nstruct zynqmp_reset_soc_data {\n\tu32 reset_id;\n\tu32 num_resets;\n};\n\ntypedef u32 (*acpi_event_handler)(void *);\n\ntypedef acpi_status (*acpi_exception_handler)(acpi_status, acpi_name, u16, u32, void *);\n\ntypedef acpi_status (*acpi_execute_op)(struct acpi_walk_state *);\n\ntypedef void (*acpi_gbl_event_handler)(u32, acpi_handle, u32, void *);\n\ntypedef acpi_status (*acpi_init_handler)(acpi_handle, u32);\n\ntypedef u32 (*acpi_interface_handler)(acpi_string, u32);\n\ntypedef u32 (*acpi_osd_handler)(void *);\n\ntypedef acpi_status (*acpi_pkg_callback)(u8, union acpi_operand_object *, union acpi_generic_state *, void *);\n\ntypedef acpi_status (*acpi_table_handler)(u32, void *, void *);\n\ntypedef acpi_status (*acpi_walk_aml_callback)(u8 *, u32, u32, u8, void **);\n\ntypedef acpi_status (*acpi_walk_resource_callback)(struct acpi_resource *, void *);\n\ntypedef void (*alternative_cb_t)(struct alt_instr *, __le32 *, __le32 *, int);\n\ntypedef int (*apei_exec_entry_func_t)(struct apei_exec_context *, struct acpi_whea_header *, void *);\n\ntypedef int (*apei_hest_func_t)(struct acpi_hest_header *, void *);\n\ntypedef int (*arch_set_vga_state_t)(struct pci_dev *, bool, unsigned int, u32);\n\ntypedef unsigned int (*ata_xlat_func_t)(struct ata_queued_cmd *);\n\ntypedef bool (*ate_match_fn_t)(const struct arch_timer_erratum_workaround *, const void *);\n\ntypedef int (*bpf_aux_classic_check_t)(struct sock_filter *, unsigned int);\n\ntypedef u32 (*bpf_convert_ctx_access_t)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *);\n\ntypedef long unsigned int (*bpf_ctx_copy_t)(void *, const void *, long unsigned int, long unsigned int);\n\ntypedef unsigned int (*bpf_dispatcher_fn)(const void *, const struct bpf_insn *, unsigned int (*)(const void *, const struct bpf_insn *));\n\ntypedef unsigned int (*bpf_func_t)(const void *, const struct bpf_insn *);\n\ntypedef void (*bpf_jit_fill_hole_t)(void *, unsigned int);\n\ntypedef int (*bpf_op_t)(struct net_device *, struct netdev_bpf *);\n\ntypedef u32 (*bpf_prog_run_fn)(const struct bpf_prog *, const void *);\n\ntypedef u64 (*bpf_trampoline_enter_t)(struct bpf_prog *, struct bpf_tramp_run_ctx *);\n\ntypedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_run_ctx *);\n\ntypedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int);\n\ntypedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int);\n\ntypedef u64 (*btf_bpf_cgrp_storage_delete)(struct bpf_map *, struct cgroup *);\n\ntypedef u64 (*btf_bpf_cgrp_storage_get)(struct bpf_map *, struct cgroup *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_copy_from_user)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_copy_from_user_task)(void *, u32, const void *, struct task_struct *, u64);\n\ntypedef u64 (*btf_bpf_csum_diff)(__be32 *, u32, __be32 *, u32, __wsum);\n\ntypedef u64 (*btf_bpf_csum_level)(struct sk_buff *, u64);\n\ntypedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum);\n\ntypedef u64 (*btf_bpf_current_task_under_cgroup)(struct bpf_map *, u32);\n\ntypedef u64 (*btf_bpf_d_path)(struct path *, char *, u32);\n\ntypedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32);\n\ntypedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *);\n\ntypedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64);\n\ntypedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_find_vma)(struct task_struct *, u64, bpf_callback_t, void *, u64);\n\ntypedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_trace)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_tracing)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_uprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_branch_snapshot)(void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_cgroup_classid)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_current_ancestor_cgroup_id)(int);\n\ntypedef u64 (*btf_bpf_get_current_cgroup_id)(void);\n\ntypedef u64 (*btf_bpf_get_current_comm)(char *, u32);\n\ntypedef u64 (*btf_bpf_get_current_pid_tgid)(void);\n\ntypedef u64 (*btf_bpf_get_current_task)(void);\n\ntypedef u64 (*btf_bpf_get_current_task_btf)(void);\n\ntypedef u64 (*btf_bpf_get_current_uid_gid)(void);\n\ntypedef u64 (*btf_bpf_get_func_ip_kprobe)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_func_ip_kprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_func_ip_tracing)(void *);\n\ntypedef u64 (*btf_bpf_get_func_ip_uprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_hash_recalc)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_listener_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_local_storage)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_netns_cookie)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sk_msg)(struct sk_msg *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock_addr)(struct bpf_sock_addr_kern *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock_ops)(struct bpf_sock_ops_kern *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sockopt)(struct bpf_sockopt_kern *);\n\ntypedef u64 (*btf_bpf_get_ns_current_pid_tgid)(u64, u64, struct bpf_pidns_info *, u32);\n\ntypedef u64 (*btf_bpf_get_numa_node_id)(void);\n\ntypedef u64 (*btf_bpf_get_raw_cpu_id)(void);\n\ntypedef u64 (*btf_bpf_get_retval)(void);\n\ntypedef u64 (*btf_bpf_get_route_realm)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_smp_processor_id)(void);\n\ntypedef u64 (*btf_bpf_get_socket_cookie)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock_addr)(struct bpf_sock_addr_kern *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock_ops)(struct bpf_sock_ops_kern *);\n\ntypedef u64 (*btf_bpf_get_socket_ptr_cookie)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_socket_uid)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_stack)(struct pt_regs *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_pe)(struct bpf_perf_event_data_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_raw_tp)(struct bpf_raw_tracepoint_args *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_sleepable)(struct pt_regs *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_tp)(void *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stackid)(struct pt_regs *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_pe)(struct bpf_perf_event_data_kern *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_tp)(void *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_jiffies64)(void);\n\ntypedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *);\n\ntypedef u64 (*btf_bpf_kptr_xchg)(void *, void *);\n\ntypedef u64 (*btf_bpf_ktime_get_boot_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_coarse_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_tai_ns)(void);\n\ntypedef u64 (*btf_bpf_l3_csum_replace)(struct sk_buff *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_l4_csum_replace)(struct sk_buff *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_loop)(u32, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_lwt_in_push_encap)(struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_lwt_xmit_push_encap)(struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_map_delete_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_lookup_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_lookup_percpu_elem)(struct bpf_map *, void *, u32);\n\ntypedef u64 (*btf_bpf_map_peek_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_pop_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_push_elem)(struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_map_update_elem)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_msg_apply_bytes)(struct sk_msg *, u32);\n\ntypedef u64 (*btf_bpf_msg_cork_bytes)(struct sk_msg *, u32);\n\ntypedef u64 (*btf_bpf_msg_pop_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_pull_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_push_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_redirect_hash)(struct sk_msg *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_msg_redirect_map)(struct sk_msg *, struct bpf_map *, u32, u64);\n\ntypedef u64 (*btf_bpf_per_cpu_ptr)(const void *, u32);\n\ntypedef u64 (*btf_bpf_perf_event_output)(struct pt_regs *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_output_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_output_tp)(void *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_read)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_read_value)(struct bpf_map *, u64, struct bpf_perf_event_value *, u32);\n\ntypedef u64 (*btf_bpf_perf_prog_read_value)(struct bpf_perf_event_data_kern *, struct bpf_perf_event_value *, u32);\n\ntypedef u64 (*btf_bpf_probe_read_compat)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_compat_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_kernel)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_kernel_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_user)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_user_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_write_user)(void *, const void *, u32);\n\ntypedef u64 (*btf_bpf_read_branch_records)(struct bpf_perf_event_data_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_redirect)(u32, u64);\n\ntypedef u64 (*btf_bpf_redirect_neigh)(u32, struct bpf_redir_neigh *, int, u64);\n\ntypedef u64 (*btf_bpf_redirect_peer)(u32, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_discard)(void *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_discard_dynptr)(struct bpf_dynptr_kern *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_output)(struct bpf_map *, void *, u64, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_query)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_reserve)(struct bpf_map *, u64, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_reserve_dynptr)(struct bpf_map *, u32, u64, struct bpf_dynptr_kern *);\n\ntypedef u64 (*btf_bpf_ringbuf_submit)(void *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_submit_dynptr)(struct bpf_dynptr_kern *, u64);\n\ntypedef u64 (*btf_bpf_send_signal)(u32);\n\ntypedef u64 (*btf_bpf_send_signal_thread)(u32);\n\ntypedef u64 (*btf_bpf_seq_printf)(struct seq_file *, char *, u32, const void *, u32);\n\ntypedef u64 (*btf_bpf_seq_printf_btf)(struct seq_file *, struct btf_ptr *, u32, u64);\n\ntypedef u64 (*btf_bpf_seq_write)(struct seq_file *, const void *, u32);\n\ntypedef u64 (*btf_bpf_set_hash)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_set_hash_invalid)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_set_retval)(int);\n\ntypedef u64 (*btf_bpf_sk_ancestor_cgroup_id)(struct sock *, int);\n\ntypedef u64 (*btf_bpf_sk_assign)(struct sk_buff *, struct sock *, u64);\n\ntypedef u64 (*btf_bpf_sk_cgroup_id)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_fullsock)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_getsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sk_lookup_assign)(struct bpf_sk_lookup_kern *, struct sock *, u64);\n\ntypedef u64 (*btf_bpf_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sk_redirect_hash)(struct sk_buff *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sk_redirect_map)(struct sk_buff *, struct bpf_map *, u32, u64);\n\ntypedef u64 (*btf_bpf_sk_release)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_setsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sk_storage_delete)(struct bpf_map *, struct sock *);\n\ntypedef u64 (*btf_bpf_sk_storage_delete_tracing)(struct bpf_map *, struct sock *);\n\ntypedef u64 (*btf_bpf_sk_storage_get)(struct bpf_map *, struct sock *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_sk_storage_get_tracing)(struct bpf_map *, struct sock *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_skb_adjust_room)(struct sk_buff *, s32, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_ancestor_cgroup_id)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_cgroup_id)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_change_head)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_change_proto)(struct sk_buff *, __be16, u64);\n\ntypedef u64 (*btf_bpf_skb_change_tail)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_change_type)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_skb_check_mtu)(struct sk_buff *, u32, u32 *, s32, u64);\n\ntypedef u64 (*btf_bpf_skb_ecn_set_ce)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_event_output)(struct sk_buff *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_skb_fib_lookup)(struct sk_buff *, struct bpf_fib_lookup *, int, u32);\n\ntypedef u64 (*btf_bpf_skb_get_nlattr)(struct sk_buff *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_get_nlattr_nest)(struct sk_buff *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_get_pay_offset)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_get_tunnel_key)(struct sk_buff *, struct bpf_tunnel_key *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_get_tunnel_opt)(struct sk_buff *, u8 *, u32);\n\ntypedef u64 (*btf_bpf_skb_load_bytes)(const struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_skb_load_bytes_relative)(const struct sk_buff *, u32, void *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_load_helper_16)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_16_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_32)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_32_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_8)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_8_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_pull_data)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_skb_set_tstamp)(struct sk_buff *, u64, u32);\n\ntypedef u64 (*btf_bpf_skb_set_tunnel_key)(struct sk_buff *, const struct bpf_tunnel_key *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_set_tunnel_opt)(struct sk_buff *, const u8 *, u32);\n\ntypedef u64 (*btf_bpf_skb_store_bytes)(struct sk_buff *, u32, const void *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_under_cgroup)(struct sk_buff *, struct bpf_map *, u32);\n\ntypedef u64 (*btf_bpf_skb_vlan_pop)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_vlan_push)(struct sk_buff *, __be16, u16);\n\ntypedef u64 (*btf_bpf_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_skc_to_mptcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp6_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_request_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_timewait_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_udp6_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_unix_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_snprintf)(char *, u32, char *, const void *, u32);\n\ntypedef u64 (*btf_bpf_snprintf_btf)(char *, u32, struct btf_ptr *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_getsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_addr_setsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_addr_sk_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_from_file)(struct file *);\n\ntypedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sock_map_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_cb_flags_set)(struct bpf_sock_ops_kern *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_getsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_load_hdr_opt)(struct bpf_sock_ops_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_reserve_hdr_opt)(struct bpf_sock_ops_kern *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_setsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_store_hdr_opt)(struct bpf_sock_ops_kern *, const void *, u32, u64);\n\ntypedef u64 (*btf_bpf_spin_lock)(struct bpf_spin_lock *);\n\ntypedef u64 (*btf_bpf_spin_unlock)(struct bpf_spin_lock *);\n\ntypedef u64 (*btf_bpf_strncmp)(const char *, u32, const char *);\n\ntypedef u64 (*btf_bpf_strtol)(const char *, size_t, u64, s64 *);\n\ntypedef u64 (*btf_bpf_strtoul)(const char *, size_t, u64, u64 *);\n\ntypedef u64 (*btf_bpf_sys_bpf)(int, union bpf_attr *, u32);\n\ntypedef u64 (*btf_bpf_sys_close)(u32);\n\ntypedef u64 (*btf_bpf_sysctl_get_current_value)(struct bpf_sysctl_kern *, char *, size_t);\n\ntypedef u64 (*btf_bpf_sysctl_get_name)(struct bpf_sysctl_kern *, char *, size_t, u64);\n\ntypedef u64 (*btf_bpf_sysctl_get_new_value)(struct bpf_sysctl_kern *, char *, size_t);\n\ntypedef u64 (*btf_bpf_sysctl_set_new_value)(struct bpf_sysctl_kern *, const char *, size_t);\n\ntypedef u64 (*btf_bpf_task_pt_regs)(struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_delete)(struct bpf_map *, struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_delete_recur)(struct bpf_map *, struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_get)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_task_storage_get_recur)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_tc_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tc_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tc_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tcp_check_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_gen_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_send_ack)(struct tcp_sock *, u32);\n\ntypedef u64 (*btf_bpf_tcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_this_cpu_ptr)(const void *);\n\ntypedef u64 (*btf_bpf_timer_cancel)(struct bpf_async_kern *);\n\ntypedef u64 (*btf_bpf_timer_init)(struct bpf_async_kern *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_timer_set_callback)(struct bpf_async_kern *, void *, struct bpf_prog_aux *);\n\ntypedef u64 (*btf_bpf_timer_start)(struct bpf_async_kern *, u64, u64);\n\ntypedef u64 (*btf_bpf_trace_printk)(char *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_trace_vprintk)(char *, u32, const void *, u32);\n\ntypedef u64 (*btf_bpf_unlocked_sk_getsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_unlocked_sk_setsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_user_ringbuf_drain)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_user_rnd_u32)(void);\n\ntypedef u64 (*btf_bpf_xdp_adjust_head)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_adjust_meta)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_adjust_tail)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_check_mtu)(struct xdp_buff *, u32, u32 *, s32, u64);\n\ntypedef u64 (*btf_bpf_xdp_event_output)(struct xdp_buff *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_xdp_fib_lookup)(struct xdp_buff *, struct bpf_fib_lookup *, int, u32);\n\ntypedef u64 (*btf_bpf_xdp_get_buff_len)(struct xdp_buff *);\n\ntypedef u64 (*btf_bpf_xdp_load_bytes)(struct xdp_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_xdp_redirect)(u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_redirect_map)(struct bpf_map *, u64, u64);\n\ntypedef u64 (*btf_bpf_xdp_sk_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_sk_lookup_udp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_skc_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_store_bytes)(struct xdp_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_get_func_arg)(void *, u32, u64 *);\n\ntypedef u64 (*btf_get_func_arg_cnt)(void *);\n\ntypedef u64 (*btf_get_func_ret)(void *, u64 *);\n\ntypedef u64 (*btf_sk_reuseport_load_bytes)(const struct sk_reuseport_kern *, u32, void *, u32);\n\ntypedef u64 (*btf_sk_reuseport_load_bytes_relative)(const struct sk_reuseport_kern *, u32, void *, u32, u32);\n\ntypedef u64 (*btf_sk_select_reuseport)(struct sk_reuseport_kern *, struct bpf_map *, void *, u32);\n\ntypedef u64 (*btf_sk_skb_adjust_room)(struct sk_buff *, s32, u32, u64);\n\ntypedef u64 (*btf_sk_skb_change_head)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_sk_skb_change_tail)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_sk_skb_pull_data)(struct sk_buff *, u32);\n\ntypedef void (*btf_trace_9p_client_req)(void *, struct p9_client *, int8_t, int);\n\ntypedef void (*btf_trace_9p_client_res)(void *, struct p9_client *, int8_t, int, int);\n\ntypedef void (*btf_trace_9p_fid_ref)(void *, struct p9_fid *, __u8);\n\ntypedef void (*btf_trace_9p_protocol_dump)(void *, struct p9_client *, struct p9_fcall *);\n\ntypedef void (*btf_trace_add_device_to_group)(void *, int, struct device *);\n\ntypedef void (*btf_trace_aer_event)(void *, const char *, const u32, const u8, const u8, struct pcie_tlp_log *);\n\ntypedef void (*btf_trace_alarmtimer_cancel)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_fired)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_start)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_suspend)(void *, ktime_t, int);\n\ntypedef void (*btf_trace_alloc_vmap_area)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_aoss_send)(void *, const char *);\n\ntypedef void (*btf_trace_aoss_send_done)(void *, const char *, int);\n\ntypedef void (*btf_trace_arm_event)(void *, const struct cper_sec_proc_arm *);\n\ntypedef void (*btf_trace_ata_bmdma_setup)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_start)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_status)(void *, struct ata_port *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_stop)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_about_to_do)(void *, struct ata_link *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_done)(void *, struct ata_link *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_link_autopsy)(void *, struct ata_device *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_link_autopsy_qc)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_exec_command)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_link_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_link_hardreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_link_postreset)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_link_softreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_link_softreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_port_freeze)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_port_thaw)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_qc_complete_done)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_complete_failed)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_complete_internal)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_issue)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_prep)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_sff_flush_pio_task)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_sff_hsm_command_complete)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_sff_hsm_state)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_sff_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_sff_port_intr)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_slave_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_slave_hardreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_slave_postreset)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_std_sched_eh)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_tf_load)(void *, struct ata_port *, const struct ata_taskfile *);\n\ntypedef void (*btf_trace_atapi_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_atapi_send_cdb)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_attach_device_to_domain)(void *, struct device *);\n\ntypedef void (*btf_trace_balance_dirty_pages)(void *, struct bdi_writeback *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long int, long unsigned int);\n\ntypedef void (*btf_trace_bdi_dirty_ratelimit)(void *, struct bdi_writeback *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_bl_pr_key_reg)(void *, const struct block_device *, u64);\n\ntypedef void (*btf_trace_bl_pr_key_reg_err)(void *, const struct block_device *, u64, int);\n\ntypedef void (*btf_trace_bl_pr_key_unreg)(void *, const struct block_device *, u64);\n\ntypedef void (*btf_trace_bl_pr_key_unreg_err)(void *, const struct block_device *, u64, int);\n\ntypedef void (*btf_trace_block_bio_backmerge)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_bounce)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_complete)(void *, struct request_queue *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_frontmerge)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_queue)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_remap)(void *, struct bio *, dev_t, sector_t);\n\ntypedef void (*btf_trace_block_dirty_buffer)(void *, struct buffer_head *);\n\ntypedef void (*btf_trace_block_getrq)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_io_done)(void *, struct request *);\n\ntypedef void (*btf_trace_block_io_start)(void *, struct request *);\n\ntypedef void (*btf_trace_block_plug)(void *, struct request_queue *);\n\ntypedef void (*btf_trace_block_rq_complete)(void *, struct request *, blk_status_t, unsigned int);\n\ntypedef void (*btf_trace_block_rq_error)(void *, struct request *, blk_status_t, unsigned int);\n\ntypedef void (*btf_trace_block_rq_insert)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_issue)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_merge)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_remap)(void *, struct request *, dev_t, sector_t);\n\ntypedef void (*btf_trace_block_rq_requeue)(void *, struct request *);\n\ntypedef void (*btf_trace_block_split)(void *, struct bio *, unsigned int);\n\ntypedef void (*btf_trace_block_touch_buffer)(void *, struct buffer_head *);\n\ntypedef void (*btf_trace_block_unplug)(void *, struct request_queue *, unsigned int, bool);\n\ntypedef void (*btf_trace_bpf_test_finish)(void *, int *);\n\ntypedef void (*btf_trace_bpf_trace_printk)(void *, const char *);\n\ntypedef void (*btf_trace_bpf_trigger_tp)(void *, int);\n\ntypedef void (*btf_trace_bpf_xdp_link_attach_failed)(void *, const char *);\n\ntypedef void (*btf_trace_br_fdb_add)(void *, struct ndmsg *, struct net_device *, const unsigned char *, u16, u16);\n\ntypedef void (*btf_trace_br_fdb_external_learn_add)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16);\n\ntypedef void (*btf_trace_br_fdb_update)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16, long unsigned int);\n\ntypedef void (*btf_trace_br_mdb_full)(void *, const struct net_device *, const struct br_ip *);\n\ntypedef void (*btf_trace_break_lease_block)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_break_lease_noblock)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_break_lease_unblock)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_cache_entry_expired)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_make_negative)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_no_listener)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_upcall)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_update)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cap_capable)(void *, const struct cred *, struct user_namespace *, const struct user_namespace *, int, int);\n\ntypedef void (*btf_trace_cdev_update)(void *, struct thermal_cooling_device *, long unsigned int);\n\ntypedef void (*btf_trace_cgroup_attach_task)(void *, struct cgroup *, const char *, struct task_struct *, bool);\n\ntypedef void (*btf_trace_cgroup_destroy_root)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_freeze)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_mkdir)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_notify_frozen)(void *, struct cgroup *, const char *, int);\n\ntypedef void (*btf_trace_cgroup_notify_populated)(void *, struct cgroup *, const char *, int);\n\ntypedef void (*btf_trace_cgroup_release)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_remount)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_rename)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_rmdir)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_lock_contended)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_lock_contended_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_locked)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_locked_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_unlock)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_unlock_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_lock_contended)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_locked)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_unlock)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_setup_root)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_transfer_tasks)(void *, struct cgroup *, const char *, struct task_struct *, bool);\n\ntypedef void (*btf_trace_cgroup_unfreeze)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_ci_complete_td)(void *, struct ci_hw_ep *, struct ci_hw_req *, struct td_node *);\n\ntypedef void (*btf_trace_ci_log)(void *, struct ci_hdrc *, struct va_format *);\n\ntypedef void (*btf_trace_ci_prepare_td)(void *, struct ci_hw_ep *, struct ci_hw_req *, struct td_node *);\n\ntypedef void (*btf_trace_clk_disable)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_disable_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_enable)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_enable_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_prepare)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_prepare_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_rate_request_done)(void *, struct clk_rate_request *);\n\ntypedef void (*btf_trace_clk_rate_request_start)(void *, struct clk_rate_request *);\n\ntypedef void (*btf_trace_clk_set_duty_cycle)(void *, struct clk_core *, struct clk_duty *);\n\ntypedef void (*btf_trace_clk_set_duty_cycle_complete)(void *, struct clk_core *, struct clk_duty *);\n\ntypedef void (*btf_trace_clk_set_max_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_min_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_parent)(void *, struct clk_core *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_set_parent_complete)(void *, struct clk_core *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_set_phase)(void *, struct clk_core *, int);\n\ntypedef void (*btf_trace_clk_set_phase_complete)(void *, struct clk_core *, int);\n\ntypedef void (*btf_trace_clk_set_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_rate_complete)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_rate_range)(void *, struct clk_core *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_clk_unprepare)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_unprepare_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clock_disable)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_clock_enable)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_clock_set_rate)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_alloc_busy_retry)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_alloc_finish)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_cma_alloc_start)(void *, const char *, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_release)(void *, const char *, long unsigned int, const struct page *, long unsigned int);\n\ntypedef void (*btf_trace_compact_retry)(void *, int, enum compact_priority, enum compact_result, int, int, bool);\n\ntypedef void (*btf_trace_console)(void *, const char *, size_t);\n\ntypedef void (*btf_trace_consume_skb)(void *, struct sk_buff *, void *);\n\ntypedef void (*btf_trace_contention_begin)(void *, void *, unsigned int);\n\ntypedef void (*btf_trace_contention_end)(void *, void *, int);\n\ntypedef void (*btf_trace_count_memcg_events)(void *, struct mem_cgroup *, int, long unsigned int);\n\ntypedef void (*btf_trace_cpu_frequency)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cpu_frequency_limits)(void *, struct cpufreq_policy *);\n\ntypedef void (*btf_trace_cpu_idle)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cpu_idle_miss)(void *, unsigned int, unsigned int, bool);\n\ntypedef void (*btf_trace_cpuhp_enter)(void *, unsigned int, int, int, int (*)(unsigned int));\n\ntypedef void (*btf_trace_cpuhp_exit)(void *, unsigned int, int, int, int);\n\ntypedef void (*btf_trace_cpuhp_multi_enter)(void *, unsigned int, int, int, int (*)(unsigned int, struct hlist_node *), struct hlist_node *);\n\ntypedef void (*btf_trace_cros_ec_request_done)(void *, struct cros_ec_command *, int);\n\ntypedef void (*btf_trace_cros_ec_request_start)(void *, struct cros_ec_command *);\n\ntypedef void (*btf_trace_cros_ec_sensorhub_data)(void *, u32, u32, s64, s64, s64);\n\ntypedef void (*btf_trace_cros_ec_sensorhub_filter)(void *, struct cros_ec_sensors_ts_filter_state *, s64, s64);\n\ntypedef void (*btf_trace_cros_ec_sensorhub_timestamp)(void *, u32, u32, s64, s64, s64);\n\ntypedef void (*btf_trace_csd_function_entry)(void *, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_csd_function_exit)(void *, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_csd_queue_cpu)(void *, const unsigned int, long unsigned int, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_ctime_ns_xchg)(void *, struct inode *, u32, u32, u32);\n\ntypedef void (*btf_trace_ctime_xchg_skip)(void *, struct inode *, struct timespec64 *);\n\ntypedef void (*btf_trace_dev_pm_qos_add_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_dev_pm_qos_remove_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_dev_pm_qos_update_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_devfreq_frequency)(void *, struct devfreq *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_devfreq_monitor)(void *, struct devfreq *);\n\ntypedef void (*btf_trace_device_pm_callback_end)(void *, struct device *, int);\n\ntypedef void (*btf_trace_device_pm_callback_start)(void *, struct device *, const char *, int);\n\ntypedef void (*btf_trace_devlink_health_recover_aborted)(void *, const struct devlink *, const char *, bool, u64);\n\ntypedef void (*btf_trace_devlink_health_report)(void *, const struct devlink *, const char *, const char *);\n\ntypedef void (*btf_trace_devlink_health_reporter_state_update)(void *, const struct devlink *, const char *, bool);\n\ntypedef void (*btf_trace_devlink_hwerr)(void *, const struct devlink *, int, const char *);\n\ntypedef void (*btf_trace_devlink_hwmsg)(void *, const struct devlink *, bool, long unsigned int, const u8 *, size_t);\n\ntypedef void (*btf_trace_devlink_trap_report)(void *, const struct devlink *, struct sk_buff *, const struct devlink_trap_metadata *);\n\ntypedef void (*btf_trace_devres_log)(void *, struct device *, const char *, void *, const char *, size_t);\n\ntypedef void (*btf_trace_dma_alloc)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_sgt_err)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_fence_destroy)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_emit)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_enable_signal)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_init)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_signaled)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_wait_end)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_wait_start)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_free)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_free_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_free_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_map_page)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_resource)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_sg)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_sg_err)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_sync_sg_for_cpu)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_sg_for_device)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_single_for_cpu)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_single_for_device)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_unmap_page)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_unmap_resource)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_unmap_sg)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dpaa2_eth_buf_seed)(void *, struct net_device *, void *, size_t, dma_addr_t, size_t, u16);\n\ntypedef void (*btf_trace_dpaa2_rx_fd)(void *, struct net_device *, const struct dpaa2_fd *);\n\ntypedef void (*btf_trace_dpaa2_rx_xsk_fd)(void *, struct net_device *, const struct dpaa2_fd *);\n\ntypedef void (*btf_trace_dpaa2_tx_conf_fd)(void *, struct net_device *, const struct dpaa2_fd *);\n\ntypedef void (*btf_trace_dpaa2_tx_fd)(void *, struct net_device *, const struct dpaa2_fd *);\n\ntypedef void (*btf_trace_dpaa2_tx_xsk_fd)(void *, struct net_device *, const struct dpaa2_fd *);\n\ntypedef void (*btf_trace_dpaa2_xsk_buf_seed)(void *, struct net_device *, void *, size_t, dma_addr_t, size_t, u16);\n\ntypedef void (*btf_trace_dpaa_rx_fd)(void *, struct net_device *, struct qman_fq *, const struct qm_fd *);\n\ntypedef void (*btf_trace_dpaa_tx_conf_fd)(void *, struct net_device *, struct qman_fq *, const struct qm_fd *);\n\ntypedef void (*btf_trace_dpaa_tx_fd)(void *, struct net_device *, struct qman_fq *, const struct qm_fd *);\n\ntypedef void (*btf_trace_dql_stall_detected)(void *, short unsigned int, unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int *);\n\ntypedef void (*btf_trace_dwc3_alloc_request)(void *, struct dwc3_request *);\n\ntypedef void (*btf_trace_dwc3_complete_trb)(void *, struct dwc3_ep *, struct dwc3_trb *);\n\ntypedef void (*btf_trace_dwc3_ctrl_req)(void *, struct usb_ctrlrequest *);\n\ntypedef void (*btf_trace_dwc3_ep_dequeue)(void *, struct dwc3_request *);\n\ntypedef void (*btf_trace_dwc3_ep_queue)(void *, struct dwc3_request *);\n\ntypedef void (*btf_trace_dwc3_event)(void *, u32, struct dwc3 *);\n\ntypedef void (*btf_trace_dwc3_free_request)(void *, struct dwc3_request *);\n\ntypedef void (*btf_trace_dwc3_gadget_ep_cmd)(void *, struct dwc3_ep *, unsigned int, struct dwc3_gadget_ep_cmd_params *, int);\n\ntypedef void (*btf_trace_dwc3_gadget_ep_disable)(void *, struct dwc3_ep *);\n\ntypedef void (*btf_trace_dwc3_gadget_ep_enable)(void *, struct dwc3_ep *);\n\ntypedef void (*btf_trace_dwc3_gadget_generic_cmd)(void *, unsigned int, u32, int);\n\ntypedef void (*btf_trace_dwc3_gadget_giveback)(void *, struct dwc3_request *);\n\ntypedef void (*btf_trace_dwc3_prepare_trb)(void *, struct dwc3_ep *, struct dwc3_trb *);\n\ntypedef void (*btf_trace_dwc3_readl)(void *, void *, u32, u32);\n\ntypedef void (*btf_trace_dwc3_writel)(void *, void *, u32, u32);\n\ntypedef void (*btf_trace_e1000e_trace_mac_register)(void *, uint32_t);\n\ntypedef void (*btf_trace_edma_fill_tcd)(void *, struct fsl_edma_chan *, void *);\n\ntypedef void (*btf_trace_edma_readb)(void *, struct fsl_edma_engine *, void *, u32);\n\ntypedef void (*btf_trace_edma_readl)(void *, struct fsl_edma_engine *, void *, u32);\n\ntypedef void (*btf_trace_edma_readw)(void *, struct fsl_edma_engine *, void *, u32);\n\ntypedef void (*btf_trace_edma_writeb)(void *, struct fsl_edma_engine *, void *, u32);\n\ntypedef void (*btf_trace_edma_writel)(void *, struct fsl_edma_engine *, void *, u32);\n\ntypedef void (*btf_trace_edma_writew)(void *, struct fsl_edma_engine *, void *, u32);\n\ntypedef void (*btf_trace_error_report_end)(void *, enum error_detector, long unsigned int);\n\ntypedef void (*btf_trace_exit_mmap)(void *, struct mm_struct *);\n\ntypedef void (*btf_trace_ext4_alloc_da_blocks)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_allocate_blocks)(void *, struct ext4_allocation_request *, long long unsigned int);\n\ntypedef void (*btf_trace_ext4_allocate_inode)(void *, struct inode *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_begin_ordered_truncate)(void *, struct inode *, loff_t);\n\ntypedef void (*btf_trace_ext4_collapse_range)(void *, struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_ext4_da_release_space)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_da_reserve_space)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_da_update_reserve_space)(void *, struct inode *, int, int);\n\ntypedef void (*btf_trace_ext4_da_write_begin)(void *, struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_da_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_da_write_pages)(void *, struct inode *, long unsigned int, struct writeback_control *);\n\ntypedef void (*btf_trace_ext4_da_write_pages_extent)(void *, struct inode *, struct ext4_map_blocks *);\n\ntypedef void (*btf_trace_ext4_discard_blocks)(void *, struct super_block *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_ext4_discard_preallocations)(void *, struct inode *, unsigned int);\n\ntypedef void (*btf_trace_ext4_drop_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_error)(void *, struct super_block *, const char *, unsigned int);\n\ntypedef void (*btf_trace_ext4_es_cache_extent)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_find_extent_range_enter)(void *, struct inode *, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_find_extent_range_exit)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_insert_delayed_extent)(void *, struct inode *, struct extent_status *, bool, bool);\n\ntypedef void (*btf_trace_ext4_es_insert_extent)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_lookup_extent_enter)(void *, struct inode *, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_lookup_extent_exit)(void *, struct inode *, struct extent_status *, int);\n\ntypedef void (*btf_trace_ext4_es_remove_extent)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_shrink)(void *, struct super_block *, int, u64, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_count)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_scan_enter)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_scan_exit)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_evict_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_ext_convert_to_initialized_enter)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *);\n\ntypedef void (*btf_trace_ext4_ext_convert_to_initialized_fastpath)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *, struct ext4_extent *);\n\ntypedef void (*btf_trace_ext4_ext_handle_unwritten_extents)(void *, struct inode *, struct ext4_map_blocks *, int, unsigned int, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_load_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_ext_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_ext_remove_space)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int);\n\ntypedef void (*btf_trace_ext4_ext_remove_space_done)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int, struct partial_cluster *, __le16);\n\ntypedef void (*btf_trace_ext4_ext_rm_idx)(void *, struct inode *, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_rm_leaf)(void *, struct inode *, ext4_lblk_t, struct ext4_extent *, struct partial_cluster *);\n\ntypedef void (*btf_trace_ext4_ext_show_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t, short unsigned int);\n\ntypedef void (*btf_trace_ext4_fallocate_enter)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_ext4_fallocate_exit)(void *, struct inode *, loff_t, unsigned int, int);\n\ntypedef void (*btf_trace_ext4_fc_cleanup)(void *, journal_t *, int, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_commit_start)(void *, struct super_block *, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_commit_stop)(void *, struct super_block *, int, int, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_replay)(void *, struct super_block *, int, int, int, int);\n\ntypedef void (*btf_trace_ext4_fc_replay_scan)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_fc_stats)(void *, struct super_block *);\n\ntypedef void (*btf_trace_ext4_fc_track_create)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_inode)(void *, handle_t *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_link)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_range)(void *, handle_t *, struct inode *, long int, long int, int);\n\ntypedef void (*btf_trace_ext4_fc_track_unlink)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_forget)(void *, struct inode *, int, __u64);\n\ntypedef void (*btf_trace_ext4_free_blocks)(void *, struct inode *, __u64, long unsigned int, int);\n\ntypedef void (*btf_trace_ext4_free_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_fsmap_high_key)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_fsmap_low_key)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_fsmap_mapping)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_get_implied_cluster_alloc_exit)(void *, struct super_block *, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_getfsmap_high_key)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_getfsmap_low_key)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_getfsmap_mapping)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_ind_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_ind_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_insert_range)(void *, struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_ext4_invalidate_folio)(void *, struct folio *, size_t, size_t);\n\ntypedef void (*btf_trace_ext4_journal_start_inode)(void *, struct inode *, int, int, int, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journal_start_reserved)(void *, struct super_block *, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journal_start_sb)(void *, struct super_block *, int, int, int, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journalled_invalidate_folio)(void *, struct folio *, size_t, size_t);\n\ntypedef void (*btf_trace_ext4_journalled_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_lazy_itable_init)(void *, struct super_block *, ext4_group_t);\n\ntypedef void (*btf_trace_ext4_load_inode)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_load_inode_bitmap)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mark_inode_dirty)(void *, struct inode *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_bitmap_load)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_buddy_bitmap_load)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_discard_preallocations)(void *, struct super_block *, int);\n\ntypedef void (*btf_trace_ext4_mb_new_group_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_new_inode_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_release_group_pa)(void *, struct super_block *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_release_inode_pa)(void *, struct ext4_prealloc_space *, long long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_mballoc_alloc)(void *, struct ext4_allocation_context *);\n\ntypedef void (*btf_trace_ext4_mballoc_discard)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_mballoc_free)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_mballoc_prealloc)(void *, struct ext4_allocation_context *);\n\ntypedef void (*btf_trace_ext4_nfs_commit_metadata)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_other_inode_update_time)(void *, struct inode *, ino_t);\n\ntypedef void (*btf_trace_ext4_prefetch_bitmaps)(void *, struct super_block *, ext4_group_t, ext4_group_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_punch_hole)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_ext4_read_block_bitmap_load)(void *, struct super_block *, long unsigned int, bool);\n\ntypedef void (*btf_trace_ext4_read_folio)(void *, struct inode *, struct folio *);\n\ntypedef void (*btf_trace_ext4_release_folio)(void *, struct inode *, struct folio *);\n\ntypedef void (*btf_trace_ext4_remove_blocks)(void *, struct inode *, struct ext4_extent *, ext4_lblk_t, ext4_fsblk_t, struct partial_cluster *);\n\ntypedef void (*btf_trace_ext4_request_blocks)(void *, struct ext4_allocation_request *);\n\ntypedef void (*btf_trace_ext4_request_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_shutdown)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_sync_file_enter)(void *, struct file *, int);\n\ntypedef void (*btf_trace_ext4_sync_file_exit)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_sync_fs)(void *, struct super_block *, int);\n\ntypedef void (*btf_trace_ext4_trim_all_free)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_trim_extent)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_truncate_enter)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_truncate_exit)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_unlink_enter)(void *, struct inode *, struct dentry *);\n\ntypedef void (*btf_trace_ext4_unlink_exit)(void *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_update_sb)(void *, struct super_block *, ext4_fsblk_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_write_begin)(void *, struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_writepages)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_ext4_writepages_result)(void *, struct inode *, struct writeback_control *, int, int);\n\ntypedef void (*btf_trace_ext4_zero_range)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_fcntl_setlk)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_fdb_delete)(void *, struct net_bridge *, struct net_bridge_fdb_entry *);\n\ntypedef void (*btf_trace_ff_layout_commit_error)(void *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_ff_layout_read_error)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_ff_layout_write_error)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_fib_table_lookup)(void *, u32, const struct flowi4 *, const struct fib_nh_common *, int);\n\ntypedef void (*btf_trace_file_check_and_advance_wb_err)(void *, struct file *, errseq_t);\n\ntypedef void (*btf_trace_filemap_set_wb_err)(void *, struct address_space *, errseq_t);\n\ntypedef void (*btf_trace_fill_mg_cmtime)(void *, struct inode *, struct timespec64 *, struct timespec64 *);\n\ntypedef void (*btf_trace_finish_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_fl_getdevinfo)(void *, const struct nfs_server *, const struct nfs4_deviceid *, char *);\n\ntypedef void (*btf_trace_flock_lock_inode)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_flush_foreign)(void *, struct bdi_writeback *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_folio_wait_writeback)(void *, struct folio *, struct address_space *);\n\ntypedef void (*btf_trace_free_vmap_area_noflush)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_generic_add_lease)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_generic_delete_lease)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_global_dirty_state)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_gpio_direction)(void *, unsigned int, int, int);\n\ntypedef void (*btf_trace_gpio_value)(void *, unsigned int, int, int);\n\ntypedef void (*btf_trace_gpu_mem_total)(void *, uint32_t, uint32_t, uint64_t);\n\ntypedef void (*btf_trace_guest_halt_poll_ns)(void *, bool, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_handshake_cancel)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cancel_busy)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cancel_none)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cmd_accept)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_accept_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_done)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_done_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_complete)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_destruct)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_notify_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_submit)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_submit_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_hclge_pf_cmd_get)(void *, struct hclge_comm_hw *, struct hclge_desc *, int, int);\n\ntypedef void (*btf_trace_hclge_pf_cmd_send)(void *, struct hclge_comm_hw *, struct hclge_desc *, int, int);\n\ntypedef void (*btf_trace_hclge_pf_mbx_get)(void *, struct hclge_dev *, struct hclge_mbx_vf_to_pf_cmd *);\n\ntypedef void (*btf_trace_hclge_pf_mbx_send)(void *, struct hclge_dev *, struct hclge_mbx_pf_to_vf_cmd *);\n\ntypedef void (*btf_trace_hclge_pf_special_cmd_get)(void *, struct hclge_comm_hw *, __le32 *, int, int);\n\ntypedef void (*btf_trace_hclge_pf_special_cmd_send)(void *, struct hclge_comm_hw *, __le32 *, int, int);\n\ntypedef void (*btf_trace_hns3_gro)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_hns3_over_max_bd)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_hns3_rx_desc)(void *, struct hns3_enet_ring *);\n\ntypedef void (*btf_trace_hns3_tso)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_hns3_tx_desc)(void *, struct hns3_enet_ring *, int);\n\ntypedef void (*btf_trace_hrtimer_cancel)(void *, struct hrtimer *);\n\ntypedef void (*btf_trace_hrtimer_expire_entry)(void *, struct hrtimer *, ktime_t *);\n\ntypedef void (*btf_trace_hrtimer_expire_exit)(void *, struct hrtimer *);\n\ntypedef void (*btf_trace_hrtimer_init)(void *, struct hrtimer *, clockid_t, enum hrtimer_mode);\n\ntypedef void (*btf_trace_hrtimer_start)(void *, struct hrtimer *, enum hrtimer_mode);\n\ntypedef void (*btf_trace_hugepage_set_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_set_pud)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_update_pmd)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_update_pud)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugetlbfs_alloc_inode)(void *, struct inode *, struct inode *, int);\n\ntypedef void (*btf_trace_hugetlbfs_evict_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_hugetlbfs_fallocate)(void *, struct inode *, int, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_hugetlbfs_free_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_hugetlbfs_setattr)(void *, struct inode *, struct dentry *, struct iattr *);\n\ntypedef void (*btf_trace_hw_pressure_update)(void *, int, long unsigned int);\n\ntypedef void (*btf_trace_hwmon_attr_show)(void *, int, const char *, long int);\n\ntypedef void (*btf_trace_hwmon_attr_show_string)(void *, int, const char *, const char *);\n\ntypedef void (*btf_trace_hwmon_attr_store)(void *, int, const char *, long int);\n\ntypedef void (*btf_trace_i2c_read)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_i2c_reply)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_i2c_result)(void *, const struct i2c_adapter *, int, int);\n\ntypedef void (*btf_trace_i2c_slave)(void *, const struct i2c_client *, enum i2c_slave_event, __u8 *, int);\n\ntypedef void (*btf_trace_i2c_write)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_icc_set_bw)(void *, struct icc_path *, struct icc_node *, int, u32, u32);\n\ntypedef void (*btf_trace_icc_set_bw_end)(void *, struct icc_path *, int);\n\ntypedef void (*btf_trace_icmp_send)(void *, const struct sk_buff *, int, int);\n\ntypedef void (*btf_trace_inet_sk_error_report)(void *, const struct sock *);\n\ntypedef void (*btf_trace_inet_sock_set_state)(void *, const struct sock *, const int, const int);\n\ntypedef void (*btf_trace_initcall_finish)(void *, initcall_t, int);\n\ntypedef void (*btf_trace_initcall_level)(void *, const char *);\n\ntypedef void (*btf_trace_initcall_start)(void *, initcall_t);\n\ntypedef void (*btf_trace_inode_foreign_history)(void *, struct inode *, struct writeback_control *, unsigned int);\n\ntypedef void (*btf_trace_inode_set_ctime_to_ts)(void *, struct inode *, struct timespec64 *);\n\ntypedef void (*btf_trace_inode_switch_wbs)(void *, struct inode *, struct bdi_writeback *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_io_page_fault)(void *, struct device *, long unsigned int, int);\n\ntypedef void (*btf_trace_io_uring_complete)(void *, struct io_ring_ctx *, void *, struct io_uring_cqe *);\n\ntypedef void (*btf_trace_io_uring_cqe_overflow)(void *, void *, long long unsigned int, s32, u32, void *);\n\ntypedef void (*btf_trace_io_uring_cqring_wait)(void *, void *, int);\n\ntypedef void (*btf_trace_io_uring_create)(void *, int, void *, u32, u32, u32);\n\ntypedef void (*btf_trace_io_uring_defer)(void *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_fail_link)(void *, struct io_kiocb *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_file_get)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_link)(void *, struct io_kiocb *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_local_work_run)(void *, void *, int, unsigned int);\n\ntypedef void (*btf_trace_io_uring_poll_arm)(void *, struct io_kiocb *, int, int);\n\ntypedef void (*btf_trace_io_uring_queue_async_work)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_register)(void *, void *, unsigned int, unsigned int, unsigned int, long int);\n\ntypedef void (*btf_trace_io_uring_req_failed)(void *, const struct io_uring_sqe *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_short_write)(void *, void *, u64, u64, u64);\n\ntypedef void (*btf_trace_io_uring_submit_req)(void *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_task_add)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_task_work_run)(void *, void *, unsigned int);\n\ntypedef void (*btf_trace_iomap_dio_complete)(void *, struct kiocb *, int, ssize_t);\n\ntypedef void (*btf_trace_iomap_dio_invalidate_fail)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_dio_rw_begin)(void *, struct kiocb *, struct iov_iter *, unsigned int, size_t);\n\ntypedef void (*btf_trace_iomap_dio_rw_queued)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_invalidate_folio)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_iter)(void *, struct iomap_iter *, const void *, long unsigned int);\n\ntypedef void (*btf_trace_iomap_iter_dstmap)(void *, struct inode *, struct iomap *);\n\ntypedef void (*btf_trace_iomap_iter_srcmap)(void *, struct inode *, struct iomap *);\n\ntypedef void (*btf_trace_iomap_readahead)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_iomap_readpage)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_iomap_release_folio)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_writepage)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_writepage_map)(void *, struct inode *, u64, unsigned int, struct iomap *);\n\ntypedef void (*btf_trace_ipi_entry)(void *, const char *);\n\ntypedef void (*btf_trace_ipi_exit)(void *, const char *);\n\ntypedef void (*btf_trace_ipi_raise)(void *, const struct cpumask *, const char *);\n\ntypedef void (*btf_trace_ipi_send_cpu)(void *, const unsigned int, long unsigned int, void *);\n\ntypedef void (*btf_trace_ipi_send_cpumask)(void *, const struct cpumask *, long unsigned int, void *);\n\ntypedef void (*btf_trace_irq_handler_entry)(void *, int, struct irqaction *);\n\ntypedef void (*btf_trace_irq_handler_exit)(void *, int, struct irqaction *, int);\n\ntypedef void (*btf_trace_itimer_expire)(void *, int, struct pid *, long long unsigned int);\n\ntypedef void (*btf_trace_itimer_state)(void *, int, const struct itimerspec64 * const, long long unsigned int);\n\ntypedef void (*btf_trace_jbd2_checkpoint)(void *, journal_t *, int);\n\ntypedef void (*btf_trace_jbd2_checkpoint_stats)(void *, dev_t, tid_t, struct transaction_chp_stats_s *);\n\ntypedef void (*btf_trace_jbd2_commit_flushing)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_commit_locking)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_commit_logging)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_drop_transaction)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_end_commit)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_handle_extend)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int);\n\ntypedef void (*btf_trace_jbd2_handle_restart)(void *, dev_t, tid_t, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_jbd2_handle_start)(void *, dev_t, tid_t, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_jbd2_handle_stats)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int, int, int);\n\ntypedef void (*btf_trace_jbd2_lock_buffer_stall)(void *, dev_t, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_run_stats)(void *, dev_t, tid_t, struct transaction_run_stats_s *);\n\ntypedef void (*btf_trace_jbd2_shrink_checkpoint_list)(void *, journal_t *, tid_t, tid_t, tid_t, long unsigned int, tid_t);\n\ntypedef void (*btf_trace_jbd2_shrink_count)(void *, journal_t *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_shrink_scan_enter)(void *, journal_t *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_shrink_scan_exit)(void *, journal_t *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_start_commit)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_submit_inode_data)(void *, struct inode *);\n\ntypedef void (*btf_trace_jbd2_update_log_tail)(void *, journal_t *, tid_t, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_write_superblock)(void *, journal_t *, blk_opf_t);\n\ntypedef void (*btf_trace_kfree)(void *, long unsigned int, const void *);\n\ntypedef void (*btf_trace_kfree_skb)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *);\n\ntypedef void (*btf_trace_kmalloc)(void *, long unsigned int, const void *, size_t, size_t, gfp_t, int);\n\ntypedef void (*btf_trace_kmem_cache_alloc)(void *, long unsigned int, const void *, struct kmem_cache *, gfp_t, int);\n\ntypedef void (*btf_trace_kmem_cache_free)(void *, long unsigned int, const void *, const struct kmem_cache *);\n\ntypedef void (*btf_trace_ksm_advisor)(void *, s64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ksm_enter)(void *, void *);\n\ntypedef void (*btf_trace_ksm_exit)(void *, void *);\n\ntypedef void (*btf_trace_ksm_merge_one_page)(void *, long unsigned int, void *, void *, int);\n\ntypedef void (*btf_trace_ksm_merge_with_ksm_page)(void *, void *, long unsigned int, void *, void *, int);\n\ntypedef void (*btf_trace_ksm_remove_ksm_page)(void *, long unsigned int);\n\ntypedef void (*btf_trace_ksm_remove_rmap_item)(void *, long unsigned int, void *, void *);\n\ntypedef void (*btf_trace_ksm_start_scan)(void *, int, u32);\n\ntypedef void (*btf_trace_ksm_stop_scan)(void *, int, u32);\n\ntypedef void (*btf_trace_kvm_access_fault)(void *, long unsigned int);\n\ntypedef void (*btf_trace_kvm_ack_irq)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_kvm_age_hva)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_kvm_arm_set_dreg32)(void *, const char *, __u64);\n\ntypedef void (*btf_trace_kvm_dirty_ring_exit)(void *, struct kvm_vcpu *);\n\ntypedef void (*btf_trace_kvm_dirty_ring_push)(void *, struct kvm_dirty_ring *, u32, u64);\n\ntypedef void (*btf_trace_kvm_dirty_ring_reset)(void *, struct kvm_dirty_ring *);\n\ntypedef void (*btf_trace_kvm_entry)(void *, long unsigned int);\n\ntypedef void (*btf_trace_kvm_exit)(void *, int, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_kvm_forward_sysreg_trap)(void *, struct kvm_vcpu *, u32, bool);\n\ntypedef void (*btf_trace_kvm_fpu)(void *, int);\n\ntypedef void (*btf_trace_kvm_get_timer_map)(void *, long unsigned int, struct timer_map *);\n\ntypedef void (*btf_trace_kvm_guest_fault)(void *, long unsigned int, long unsigned int, long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_kvm_halt_poll_ns)(void *, bool, unsigned int, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_kvm_handle_sys_reg)(void *, long unsigned int);\n\ntypedef void (*btf_trace_kvm_hvc_arm64)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_kvm_inject_nested_exception)(void *, struct kvm_vcpu *, u64, int);\n\ntypedef void (*btf_trace_kvm_iocsr)(void *, int, int, u64, void *);\n\ntypedef void (*btf_trace_kvm_irq_line)(void *, unsigned int, int, int, int);\n\ntypedef void (*btf_trace_kvm_mmio)(void *, int, int, u64, void *);\n\ntypedef void (*btf_trace_kvm_mmio_emulate)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_kvm_mmio_nisv)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_kvm_nested_eret)(void *, struct kvm_vcpu *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_kvm_set_guest_debug)(void *, struct kvm_vcpu *, __u32);\n\ntypedef void (*btf_trace_kvm_set_irq)(void *, unsigned int, int, int);\n\ntypedef void (*btf_trace_kvm_set_way_flush)(void *, long unsigned int, bool);\n\ntypedef void (*btf_trace_kvm_sys_access)(void *, long unsigned int, struct sys_reg_params *, const struct sys_reg_desc *);\n\ntypedef void (*btf_trace_kvm_test_age_hva)(void *, long unsigned int);\n\ntypedef void (*btf_trace_kvm_timer_emulate)(void *, struct arch_timer_context *, bool);\n\ntypedef void (*btf_trace_kvm_timer_hrtimer_expire)(void *, struct arch_timer_context *);\n\ntypedef void (*btf_trace_kvm_timer_restore_state)(void *, struct arch_timer_context *);\n\ntypedef void (*btf_trace_kvm_timer_save_state)(void *, struct arch_timer_context *);\n\ntypedef void (*btf_trace_kvm_timer_update_irq)(void *, long unsigned int, __u32, int);\n\ntypedef void (*btf_trace_kvm_toggle_cache)(void *, long unsigned int, bool, bool);\n\ntypedef void (*btf_trace_kvm_unmap_hva_range)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_kvm_userspace_exit)(void *, __u32, int);\n\ntypedef void (*btf_trace_kvm_vcpu_wakeup)(void *, __u64, bool, bool);\n\ntypedef void (*btf_trace_kvm_wfx_arm64)(void *, long unsigned int, bool);\n\ntypedef void (*btf_trace_kyber_adjust)(void *, dev_t, const char *, unsigned int);\n\ntypedef void (*btf_trace_kyber_latency)(void *, dev_t, const char *, const char *, unsigned int, unsigned int, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_kyber_throttled)(void *, dev_t, const char *);\n\ntypedef void (*btf_trace_leases_conflict)(void *, bool, struct file_lease *, struct file_lease *);\n\ntypedef void (*btf_trace_locks_get_lock_context)(void *, struct inode *, int, struct file_lock_context *);\n\ntypedef void (*btf_trace_locks_remove_posix)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_ma_op)(void *, const char *, struct ma_state *);\n\ntypedef void (*btf_trace_ma_read)(void *, const char *, struct ma_state *);\n\ntypedef void (*btf_trace_ma_write)(void *, const char *, struct ma_state *, long unsigned int, void *);\n\ntypedef void (*btf_trace_map)(void *, long unsigned int, phys_addr_t, size_t);\n\ntypedef void (*btf_trace_mark_victim)(void *, struct task_struct *, uid_t);\n\ntypedef void (*btf_trace_mc_event)(void *, const unsigned int, const char *, const char *, const int, const u8, const s8, const s8, const s8, long unsigned int, const u8, long unsigned int, const char *);\n\ntypedef void (*btf_trace_mdio_access)(void *, struct mii_bus *, char, u8, unsigned int, u16, int);\n\ntypedef void (*btf_trace_mem_connect)(void *, const struct xdp_mem_allocator *, const struct xdp_rxq_info *);\n\ntypedef void (*btf_trace_mem_disconnect)(void *, const struct xdp_mem_allocator *);\n\ntypedef void (*btf_trace_mem_return_failed)(void *, const struct xdp_mem_info *, const struct page *);\n\ntypedef void (*btf_trace_memcg_flush_stats)(void *, struct mem_cgroup *, s64, bool, bool);\n\ntypedef void (*btf_trace_memory_failure_event)(void *, long unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_alloc_contig_migrate_range_info)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page)(void *, struct mm_struct *, int, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page_isolate)(void *, struct page *, int, int, bool, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page_swapin)(void *, struct mm_struct *, int, int, int);\n\ntypedef void (*btf_trace_mm_compaction_begin)(void *, struct compact_control *, long unsigned int, long unsigned int, bool);\n\ntypedef void (*btf_trace_mm_compaction_defer_compaction)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_defer_reset)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_deferred)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_end)(void *, struct compact_control *, long unsigned int, long unsigned int, bool, int);\n\ntypedef void (*btf_trace_mm_compaction_fast_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_finished)(void *, struct zone *, int, int);\n\ntypedef void (*btf_trace_mm_compaction_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_isolate_migratepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_kcompactd_sleep)(void *, int);\n\ntypedef void (*btf_trace_mm_compaction_kcompactd_wake)(void *, int, int, enum zone_type);\n\ntypedef void (*btf_trace_mm_compaction_migratepages)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_suitable)(void *, struct zone *, int, int);\n\ntypedef void (*btf_trace_mm_compaction_try_to_compact_pages)(void *, int, gfp_t, int);\n\ntypedef void (*btf_trace_mm_compaction_wakeup_kcompactd)(void *, int, int, enum zone_type);\n\ntypedef void (*btf_trace_mm_filemap_add_to_page_cache)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_filemap_delete_from_page_cache)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_filemap_fault)(void *, struct address_space *, long unsigned int);\n\ntypedef void (*btf_trace_mm_filemap_get_pages)(void *, struct address_space *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_filemap_map_pages)(void *, struct address_space *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_khugepaged_collapse_file)(void *, struct mm_struct *, struct folio *, long unsigned int, long unsigned int, bool, struct file *, int, int);\n\ntypedef void (*btf_trace_mm_khugepaged_scan_file)(void *, struct mm_struct *, struct folio *, struct file *, int, int, int);\n\ntypedef void (*btf_trace_mm_khugepaged_scan_pmd)(void *, struct mm_struct *, struct page *, bool, int, int, int, int);\n\ntypedef void (*btf_trace_mm_lru_activate)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_lru_insertion)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_migrate_pages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, enum migrate_mode, int);\n\ntypedef void (*btf_trace_mm_migrate_pages_start)(void *, enum migrate_mode, int);\n\ntypedef void (*btf_trace_mm_page_alloc)(void *, struct page *, unsigned int, gfp_t, int);\n\ntypedef void (*btf_trace_mm_page_alloc_extfrag)(void *, struct page *, int, int, int, int);\n\ntypedef void (*btf_trace_mm_page_alloc_zone_locked)(void *, struct page *, unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_page_free)(void *, struct page *, unsigned int);\n\ntypedef void (*btf_trace_mm_page_free_batched)(void *, struct page *);\n\ntypedef void (*btf_trace_mm_page_pcpu_drain)(void *, struct page *, unsigned int, int);\n\ntypedef void (*btf_trace_mm_shrink_slab_end)(void *, struct shrinker *, int, int, long int, long int, long int);\n\ntypedef void (*btf_trace_mm_shrink_slab_start)(void *, struct shrinker *, struct shrink_control *, long int, long unsigned int, long long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_vmscan_direct_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_direct_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_kswapd_sleep)(void *, int);\n\ntypedef void (*btf_trace_mm_vmscan_kswapd_wake)(void *, int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_isolate)(void *, int, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_shrink_active)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_shrink_inactive)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_node_reclaim_begin)(void *, int, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_node_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_reclaim_pages)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *);\n\ntypedef void (*btf_trace_mm_vmscan_throttled)(void *, int, int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_wakeup_kswapd)(void *, int, int, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_write_folio)(void *, struct folio *);\n\ntypedef void (*btf_trace_mmap_lock_acquire_returned)(void *, struct mm_struct *, bool, bool);\n\ntypedef void (*btf_trace_mmap_lock_released)(void *, struct mm_struct *, bool);\n\ntypedef void (*btf_trace_mmap_lock_start_locking)(void *, struct mm_struct *, bool);\n\ntypedef void (*btf_trace_mmc_request_done)(void *, struct mmc_host *, struct mmc_request *);\n\ntypedef void (*btf_trace_mmc_request_start)(void *, struct mmc_host *, struct mmc_request *);\n\ntypedef void (*btf_trace_mod_memcg_lruvec_state)(void *, struct mem_cgroup *, int, int);\n\ntypedef void (*btf_trace_mod_memcg_state)(void *, struct mem_cgroup *, int, int);\n\ntypedef void (*btf_trace_module_free)(void *, struct module *);\n\ntypedef void (*btf_trace_module_get)(void *, struct module *, long unsigned int);\n\ntypedef void (*btf_trace_module_load)(void *, struct module *);\n\ntypedef void (*btf_trace_module_put)(void *, struct module *, long unsigned int);\n\ntypedef void (*btf_trace_module_request)(void *, char *, bool, long unsigned int);\n\ntypedef void (*btf_trace_mtu3_alloc_request)(void *, struct mtu3_request *);\n\ntypedef void (*btf_trace_mtu3_complete_gpd)(void *, struct mtu3_ep *, struct qmu_gpd *);\n\ntypedef void (*btf_trace_mtu3_free_request)(void *, struct mtu3_request *);\n\ntypedef void (*btf_trace_mtu3_gadget_dequeue)(void *, struct mtu3_request *);\n\ntypedef void (*btf_trace_mtu3_gadget_ep_disable)(void *, struct mtu3_ep *);\n\ntypedef void (*btf_trace_mtu3_gadget_ep_enable)(void *, struct mtu3_ep *);\n\ntypedef void (*btf_trace_mtu3_gadget_ep_set_halt)(void *, struct mtu3_ep *);\n\ntypedef void (*btf_trace_mtu3_gadget_queue)(void *, struct mtu3_request *);\n\ntypedef void (*btf_trace_mtu3_handle_setup)(void *, struct usb_ctrlrequest *);\n\ntypedef void (*btf_trace_mtu3_log)(void *, struct device *, struct va_format *);\n\ntypedef void (*btf_trace_mtu3_prepare_gpd)(void *, struct mtu3_ep *, struct qmu_gpd *);\n\ntypedef void (*btf_trace_mtu3_qmu_isr)(void *, u32, u32);\n\ntypedef void (*btf_trace_mtu3_req_complete)(void *, struct mtu3_request *);\n\ntypedef void (*btf_trace_mtu3_u2_common_isr)(void *, u32);\n\ntypedef void (*btf_trace_mtu3_u3_ltssm_isr)(void *, u32);\n\ntypedef void (*btf_trace_mtu3_zlp_exp_gpd)(void *, struct mtu3_ep *, struct qmu_gpd *);\n\ntypedef void (*btf_trace_musb_isr)(void *, struct musb *);\n\ntypedef void (*btf_trace_musb_log)(void *, struct musb *, struct va_format *);\n\ntypedef void (*btf_trace_musb_readb)(void *, void *, const void *, unsigned int, u8);\n\ntypedef void (*btf_trace_musb_readl)(void *, void *, const void *, unsigned int, u32);\n\ntypedef void (*btf_trace_musb_readw)(void *, void *, const void *, unsigned int, u16);\n\ntypedef void (*btf_trace_musb_req_alloc)(void *, struct musb_request *);\n\ntypedef void (*btf_trace_musb_req_deq)(void *, struct musb_request *);\n\ntypedef void (*btf_trace_musb_req_enq)(void *, struct musb_request *);\n\ntypedef void (*btf_trace_musb_req_free)(void *, struct musb_request *);\n\ntypedef void (*btf_trace_musb_req_gb)(void *, struct musb_request *);\n\ntypedef void (*btf_trace_musb_req_rx)(void *, struct musb_request *);\n\ntypedef void (*btf_trace_musb_req_start)(void *, struct musb_request *);\n\ntypedef void (*btf_trace_musb_req_tx)(void *, struct musb_request *);\n\ntypedef void (*btf_trace_musb_state)(void *, struct musb *, u8, const char *);\n\ntypedef void (*btf_trace_musb_urb_deq)(void *, struct musb *, struct urb *);\n\ntypedef void (*btf_trace_musb_urb_enq)(void *, struct musb *, struct urb *);\n\ntypedef void (*btf_trace_musb_urb_gb)(void *, struct musb *, struct urb *);\n\ntypedef void (*btf_trace_musb_urb_rx)(void *, struct musb *, struct urb *);\n\ntypedef void (*btf_trace_musb_urb_start)(void *, struct musb *, struct urb *);\n\ntypedef void (*btf_trace_musb_urb_tx)(void *, struct musb *, struct urb *);\n\ntypedef void (*btf_trace_musb_writeb)(void *, void *, const void *, unsigned int, u8);\n\ntypedef void (*btf_trace_musb_writel)(void *, void *, const void *, unsigned int, u32);\n\ntypedef void (*btf_trace_musb_writew)(void *, void *, const void *, unsigned int, u16);\n\ntypedef void (*btf_trace_napi_gro_frags_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_napi_gro_frags_exit)(void *, int);\n\ntypedef void (*btf_trace_napi_gro_receive_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_napi_gro_receive_exit)(void *, int);\n\ntypedef void (*btf_trace_napi_poll)(void *, struct napi_struct *, int, int);\n\ntypedef void (*btf_trace_neigh_cleanup_and_release)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_create)(void *, struct neigh_table *, struct net_device *, const void *, const struct neighbour *, bool);\n\ntypedef void (*btf_trace_neigh_event_send_dead)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_event_send_done)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_timer_handler)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_update)(void *, struct neighbour *, const u8 *, u8, u32, u32);\n\ntypedef void (*btf_trace_neigh_update_done)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_net_dev_queue)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_net_dev_start_xmit)(void *, const struct sk_buff *, const struct net_device *);\n\ntypedef void (*btf_trace_net_dev_xmit)(void *, struct sk_buff *, int, struct net_device *, unsigned int);\n\ntypedef void (*btf_trace_net_dev_xmit_timeout)(void *, struct net_device *, int);\n\ntypedef void (*btf_trace_netfs_collect)(void *, const struct netfs_io_request *);\n\ntypedef void (*btf_trace_netfs_collect_folio)(void *, const struct netfs_io_request *, const struct folio *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_netfs_collect_gap)(void *, const struct netfs_io_request *, const struct netfs_io_stream *, long long unsigned int, char);\n\ntypedef void (*btf_trace_netfs_collect_sreq)(void *, const struct netfs_io_request *, const struct netfs_io_subrequest *);\n\ntypedef void (*btf_trace_netfs_collect_state)(void *, const struct netfs_io_request *, long long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_netfs_collect_stream)(void *, const struct netfs_io_request *, const struct netfs_io_stream *);\n\ntypedef void (*btf_trace_netfs_failure)(void *, struct netfs_io_request *, struct netfs_io_subrequest *, int, enum netfs_failure);\n\ntypedef void (*btf_trace_netfs_folio)(void *, struct folio *, enum netfs_folio_trace);\n\ntypedef void (*btf_trace_netfs_folioq)(void *, const struct folio_queue *, enum netfs_folioq_trace);\n\ntypedef void (*btf_trace_netfs_read)(void *, struct netfs_io_request *, loff_t, size_t, enum netfs_read_trace);\n\ntypedef void (*btf_trace_netfs_rreq)(void *, struct netfs_io_request *, enum netfs_rreq_trace);\n\ntypedef void (*btf_trace_netfs_rreq_ref)(void *, unsigned int, int, enum netfs_rreq_ref_trace);\n\ntypedef void (*btf_trace_netfs_sreq)(void *, struct netfs_io_subrequest *, enum netfs_sreq_trace);\n\ntypedef void (*btf_trace_netfs_sreq_ref)(void *, unsigned int, unsigned int, int, enum netfs_sreq_ref_trace);\n\ntypedef void (*btf_trace_netfs_write)(void *, const struct netfs_io_request *, enum netfs_write_trace);\n\ntypedef void (*btf_trace_netfs_write_iter)(void *, const struct kiocb *, const struct iov_iter *);\n\ntypedef void (*btf_trace_netif_receive_skb)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_exit)(void *, int);\n\ntypedef void (*btf_trace_netif_receive_skb_list_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_list_exit)(void *, int);\n\ntypedef void (*btf_trace_netif_rx)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_netif_rx_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_rx_exit)(void *, int);\n\ntypedef void (*btf_trace_netlink_extack)(void *, const char *);\n\ntypedef void (*btf_trace_nfs4_access)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_bind_conn_to_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_cached_open)(void *, const struct nfs4_state *);\n\ntypedef void (*btf_trace_nfs4_cb_getattr)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_cb_layoutrecall_file)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_cb_offload)(void *, const struct nfs_fh *, const nfs4_stateid *, uint64_t, int, int);\n\ntypedef void (*btf_trace_nfs4_cb_recall)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_cb_seqid_err)(void *, const struct cb_sequenceargs *, __be32);\n\ntypedef void (*btf_trace_nfs4_cb_sequence)(void *, const struct cb_sequenceargs *, const struct cb_sequenceres *, __be32);\n\ntypedef void (*btf_trace_nfs4_clone)(void *, const struct inode *, const struct inode *, const struct nfs42_clone_args *, int);\n\ntypedef void (*btf_trace_nfs4_close)(void *, const struct nfs4_state *, const struct nfs_closeargs *, const struct nfs_closeres *, int);\n\ntypedef void (*btf_trace_nfs4_close_stateid_update_wait)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_commit)(void *, const struct nfs_commit_data *, int);\n\ntypedef void (*btf_trace_nfs4_copy)(void *, const struct inode *, const struct inode *, const struct nfs42_copy_args *, const struct nfs42_copy_res *, const struct nl4_server *, int);\n\ntypedef void (*btf_trace_nfs4_copy_notify)(void *, const struct inode *, const struct nfs42_copy_notify_args *, const struct nfs42_copy_notify_res *, int);\n\ntypedef void (*btf_trace_nfs4_create_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_deallocate)(void *, const struct inode *, const struct nfs42_falloc_args *, int);\n\ntypedef void (*btf_trace_nfs4_delegreturn)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_delegreturn_exit)(void *, const struct nfs4_delegreturnargs *, const struct nfs4_delegreturnres *, int);\n\ntypedef void (*btf_trace_nfs4_destroy_clientid)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_destroy_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_deviceid_free)(void *, const struct nfs_client *, const struct nfs4_deviceid *);\n\ntypedef void (*btf_trace_nfs4_exchange_id)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_fallocate)(void *, const struct inode *, const struct nfs42_falloc_args *, int);\n\ntypedef void (*btf_trace_nfs4_find_deviceid)(void *, const struct nfs_server *, const struct nfs4_deviceid *, int);\n\ntypedef void (*btf_trace_nfs4_fsinfo)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_get_acl)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_get_fs_locations)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_get_lock)(void *, const struct file_lock *, const struct nfs4_state *, int, int);\n\ntypedef void (*btf_trace_nfs4_get_security_label)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_getattr)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_getdeviceinfo)(void *, const struct nfs_server *, const struct nfs4_deviceid *, int);\n\ntypedef void (*btf_trace_nfs4_getxattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_layoutcommit)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layouterror)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutget)(void *, const struct nfs_open_context *, const struct pnfs_layout_range *, const struct pnfs_layout_range *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutreturn)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutreturn_on_close)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutstats)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_listxattr)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_llseek)(void *, const struct inode *, const struct nfs42_seek_args *, const struct nfs42_seek_res *, int);\n\ntypedef void (*btf_trace_nfs4_lookup)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_lookup_root)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_lookupp)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_map_gid_to_group)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_group_to_gid)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_name_to_uid)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_uid_to_name)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_mkdir)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_mknod)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_offload_cancel)(void *, const struct nfs42_offload_status_args *, int);\n\ntypedef void (*btf_trace_nfs4_open_expired)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_file)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_reclaim)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_stateid_update)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_open_stateid_update_wait)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_commit_ds)(void *, const struct nfs_commit_data *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_read)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_write)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_read)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_readdir)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_readlink)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_reclaim_complete)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_reclaim_delegation)(void *, const struct inode *, fmode_t);\n\ntypedef void (*btf_trace_nfs4_remove)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_removexattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_rename)(void *, const struct inode *, const struct qstr *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_renew)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_renew_async)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_secinfo)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_sequence)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_sequence_done)(void *, const struct nfs4_session *, const struct nfs4_sequence_res *);\n\ntypedef void (*btf_trace_nfs4_set_acl)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_set_delegation)(void *, const struct inode *, fmode_t);\n\ntypedef void (*btf_trace_nfs4_set_lock)(void *, const struct file_lock *, const struct nfs4_state *, const nfs4_stateid *, int, int);\n\ntypedef void (*btf_trace_nfs4_set_security_label)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_setattr)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_setclientid)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_setclientid_confirm)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_setup_sequence)(void *, const struct nfs4_session *, const struct nfs4_sequence_args *);\n\ntypedef void (*btf_trace_nfs4_setxattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_state_lock_reclaim)(void *, const struct nfs4_state *, const struct nfs4_lock_state *);\n\ntypedef void (*btf_trace_nfs4_state_mgr)(void *, const struct nfs_client *);\n\ntypedef void (*btf_trace_nfs4_state_mgr_failed)(void *, const struct nfs_client *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_symlink)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_test_delegation_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_test_lock_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_test_open_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_trunked_exchange_id)(void *, const struct nfs_client *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_unlock)(void *, const struct file_lock *, const struct nfs4_state *, int, int);\n\ntypedef void (*btf_trace_nfs4_write)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_xdr_bad_filehandle)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs4_xdr_bad_operation)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs4_xdr_status)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs_access_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_access_exit)(void *, const struct inode *, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_aop_readahead)(void *, const struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_nfs_aop_readahead_done)(void *, const struct inode *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_aop_readpage)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_aop_readpage_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_async_rename_done)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_atomic_open_enter)(void *, const struct inode *, const struct nfs_open_context *, unsigned int);\n\ntypedef void (*btf_trace_nfs_atomic_open_exit)(void *, const struct inode *, const struct nfs_open_context *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_cb_badprinc)(void *, __be32, u32);\n\ntypedef void (*btf_trace_nfs_cb_no_clp)(void *, __be32, u32);\n\ntypedef void (*btf_trace_nfs_commit_done)(void *, const struct rpc_task *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_nfs_commit_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_comp_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_create_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_create_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_direct_commit_complete)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_resched_write)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_complete)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_completion)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_reschedule_io)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_schedule_iovec)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_fh_to_dentry)(void *, const struct super_block *, const struct nfs_fh *, u64, int);\n\ntypedef void (*btf_trace_nfs_fsync_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_fsync_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_getattr_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_getattr_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_initiate_commit)(void *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_nfs_initiate_read)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_initiate_write)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_invalidate_folio)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_invalidate_mapping_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_invalidate_mapping_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_launder_folio_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_link_enter)(void *, const struct inode *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_link_exit)(void *, const struct inode *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_local_open_fh)(void *, const struct nfs_fh *, fmode_t, int);\n\ntypedef void (*btf_trace_nfs_lookup_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_lookup_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_lookup_revalidate_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_lookup_revalidate_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_mkdir_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_mkdir_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_mknod_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_mknod_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_mount_assign)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_nfs_mount_option)(void *, const struct fs_parameter *);\n\ntypedef void (*btf_trace_nfs_mount_path)(void *, const char *);\n\ntypedef void (*btf_trace_nfs_pgio_error)(void *, const struct nfs_pgio_header *, int, loff_t);\n\ntypedef void (*btf_trace_nfs_readdir_cache_fill)(void *, const struct file *, const __be32 *, u64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_cache_fill_done)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_readdir_force_readdirplus)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_readdir_invalidate_cache_range)(void *, const struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_nfs_readdir_lookup)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_lookup_revalidate)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_readdir_lookup_revalidate_failed)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_uncached)(void *, const struct file *, const __be32 *, u64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_uncached_done)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_readpage_done)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_readpage_short)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_refresh_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_refresh_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_remove_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_remove_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_rename_enter)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_rename_exit)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_revalidate_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_revalidate_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_rmdir_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_rmdir_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_set_cache_invalid)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_set_inode_stale)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_setattr_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_setattr_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_sillyrename_unlink)(void *, const struct nfs_unlinkdata *, int);\n\ntypedef void (*btf_trace_nfs_size_grow)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_truncate)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_update)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_wcc)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_symlink_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_symlink_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_unlink_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_unlink_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_write_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_writeback_done)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_writeback_folio)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_writeback_folio_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_writeback_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_writeback_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_xdr_bad_filehandle)(void *, const struct xdr_stream *, int);\n\ntypedef void (*btf_trace_nfs_xdr_status)(void *, const struct xdr_stream *, int);\n\ntypedef void (*btf_trace_nlmclnt_grant)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_lock)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_test)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_unlock)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_non_standard_event)(void *, const guid_t *, const guid_t *, const char *, const u8, const u8 *, const u32);\n\ntypedef void (*btf_trace_notifier_register)(void *, void *);\n\ntypedef void (*btf_trace_notifier_run)(void *, void *);\n\ntypedef void (*btf_trace_notifier_unregister)(void *, void *);\n\ntypedef void (*btf_trace_oom_score_adj_update)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_optee_invoke_fn_begin)(void *, struct optee_rpc_param *);\n\ntypedef void (*btf_trace_optee_invoke_fn_end)(void *, struct optee_rpc_param *, struct arm_smccc_res *);\n\ntypedef void (*btf_trace_page_pool_release)(void *, const struct page_pool *, s32, u32, u32);\n\ntypedef void (*btf_trace_page_pool_state_hold)(void *, const struct page_pool *, netmem_ref, u32);\n\ntypedef void (*btf_trace_page_pool_state_release)(void *, const struct page_pool *, netmem_ref, u32);\n\ntypedef void (*btf_trace_page_pool_update_nid)(void *, const struct page_pool *, int);\n\ntypedef void (*btf_trace_pelt_cfs_tp)(void *, struct cfs_rq *);\n\ntypedef void (*btf_trace_pelt_dl_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_hw_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_irq_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_rt_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_se_tp)(void *, struct sched_entity *);\n\ntypedef void (*btf_trace_percpu_alloc_percpu)(void *, long unsigned int, bool, bool, size_t, size_t, void *, int, void *, size_t, gfp_t);\n\ntypedef void (*btf_trace_percpu_alloc_percpu_fail)(void *, bool, bool, size_t, size_t);\n\ntypedef void (*btf_trace_percpu_create_chunk)(void *, void *);\n\ntypedef void (*btf_trace_percpu_destroy_chunk)(void *, void *);\n\ntypedef void (*btf_trace_percpu_free_percpu)(void *, void *, int, void *);\n\ntypedef void (*btf_trace_pm_qos_add_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_remove_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_update_flags)(void *, enum pm_qos_req_action, int, int);\n\ntypedef void (*btf_trace_pm_qos_update_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_update_target)(void *, enum pm_qos_req_action, int, int);\n\ntypedef void (*btf_trace_pmap_register)(void *, u32, u32, int, short unsigned int);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_get_mirror_count)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_init_read)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_init_write)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_read_done)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_read_pagelist)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_write_done)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_write_pagelist)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_update_layout)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *, enum pnfs_update_layout_reason);\n\ntypedef void (*btf_trace_posix_lock_inode)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_power_domain_target)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_powernv_throttle)(void *, int, const char *, int);\n\ntypedef void (*btf_trace_pstate_sample)(void *, u32, u32, u32, u32, u64, u64, u64, u32, u32);\n\ntypedef void (*btf_trace_purge_vmap_area_lazy)(void *, long unsigned int, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_pwm_apply)(void *, struct pwm_device *, const struct pwm_state *, int);\n\ntypedef void (*btf_trace_pwm_get)(void *, struct pwm_device *, const struct pwm_state *, int);\n\ntypedef void (*btf_trace_pwm_read_waveform)(void *, struct pwm_device *, void *, int);\n\ntypedef void (*btf_trace_pwm_round_waveform_fromhw)(void *, struct pwm_device *, const void *, struct pwm_waveform *, int);\n\ntypedef void (*btf_trace_pwm_round_waveform_tohw)(void *, struct pwm_device *, const struct pwm_waveform *, void *, int);\n\ntypedef void (*btf_trace_pwm_write_waveform)(void *, struct pwm_device *, const void *, int);\n\ntypedef void (*btf_trace_qcom_glink_cmd_close)(void *, const char *, const char *, u16, u16, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_close_ack)(void *, const char *, const char *, u16, u16, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_intent)(void *, const char *, const char *, u16, u16, size_t, size_t, u32, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_open)(void *, const char *, const char *, u16, u16, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_open_ack)(void *, const char *, const char *, u16, u16, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_read_notif)(void *, const char *, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_rx_done)(void *, const char *, const char *, u16, u16, u32, bool, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_rx_intent_req)(void *, const char *, const char *, u16, u16, size_t, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_rx_intent_req_ack)(void *, const char *, const char *, u16, u16, bool, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_signal)(void *, const char *, const char *, u16, u16, unsigned int, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_tx_data)(void *, const char *, const char *, u16, u16, u32, u32, u32, bool, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_version)(void *, const char *, unsigned int, unsigned int, bool);\n\ntypedef void (*btf_trace_qcom_glink_cmd_version_ack)(void *, const char *, unsigned int, unsigned int, bool);\n\ntypedef void (*btf_trace_qdisc_create)(void *, const struct Qdisc_ops *, struct net_device *, u32);\n\ntypedef void (*btf_trace_qdisc_dequeue)(void *, struct Qdisc *, const struct netdev_queue *, int, struct sk_buff *);\n\ntypedef void (*btf_trace_qdisc_destroy)(void *, struct Qdisc *);\n\ntypedef void (*btf_trace_qdisc_enqueue)(void *, struct Qdisc *, const struct netdev_queue *, struct sk_buff *);\n\ntypedef void (*btf_trace_qdisc_reset)(void *, struct Qdisc *);\n\ntypedef void (*btf_trace_rcu_barrier)(void *, const char *, const char *, int, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_batch_end)(void *, const char *, int, char, char, char, char);\n\ntypedef void (*btf_trace_rcu_batch_start)(void *, const char *, long int, long int);\n\ntypedef void (*btf_trace_rcu_callback)(void *, const char *, struct callback_head *, long int);\n\ntypedef void (*btf_trace_rcu_exp_funnel_lock)(void *, const char *, u8, int, int, const char *);\n\ntypedef void (*btf_trace_rcu_exp_grace_period)(void *, const char *, long unsigned int, const char *);\n\ntypedef void (*btf_trace_rcu_fqs)(void *, const char *, long unsigned int, int, const char *);\n\ntypedef void (*btf_trace_rcu_future_grace_period)(void *, const char *, long unsigned int, long unsigned int, u8, int, int, const char *);\n\ntypedef void (*btf_trace_rcu_grace_period)(void *, const char *, long unsigned int, const char *);\n\ntypedef void (*btf_trace_rcu_grace_period_init)(void *, const char *, long unsigned int, u8, int, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_invoke_callback)(void *, const char *, struct callback_head *);\n\ntypedef void (*btf_trace_rcu_invoke_kfree_bulk_callback)(void *, const char *, long unsigned int, void **);\n\ntypedef void (*btf_trace_rcu_invoke_kvfree_callback)(void *, const char *, struct callback_head *, long unsigned int);\n\ntypedef void (*btf_trace_rcu_kvfree_callback)(void *, const char *, struct callback_head *, long unsigned int, long int);\n\ntypedef void (*btf_trace_rcu_preempt_task)(void *, const char *, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_quiescent_state_report)(void *, const char *, long unsigned int, long unsigned int, long unsigned int, u8, int, int, int);\n\ntypedef void (*btf_trace_rcu_segcb_stats)(void *, struct rcu_segcblist *, const char *);\n\ntypedef void (*btf_trace_rcu_sr_normal)(void *, const char *, struct callback_head *, const char *);\n\ntypedef void (*btf_trace_rcu_stall_warning)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_rcu_torture_read)(void *, const char *, struct callback_head *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_unlock_preempted_task)(void *, const char *, long unsigned int, int);\n\ntypedef void (*btf_trace_rcu_utilization)(void *, const char *);\n\ntypedef void (*btf_trace_rcu_watching)(void *, const char *, long int, long int, int);\n\ntypedef void (*btf_trace_reclaim_retry_zone)(void *, struct zoneref *, int, long unsigned int, long unsigned int, long unsigned int, int, bool);\n\ntypedef void (*btf_trace_regcache_drop_region)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regcache_sync)(void *, struct regmap *, const char *, const char *);\n\ntypedef void (*btf_trace_regmap_async_complete_done)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_complete_start)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_io_complete)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_write_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_bulk_read)(void *, struct regmap *, unsigned int, const void *, int);\n\ntypedef void (*btf_trace_regmap_bulk_write)(void *, struct regmap *, unsigned int, const void *, int);\n\ntypedef void (*btf_trace_regmap_cache_bypass)(void *, struct regmap *, bool);\n\ntypedef void (*btf_trace_regmap_cache_only)(void *, struct regmap *, bool);\n\ntypedef void (*btf_trace_regmap_hw_read_done)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_read_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_write_done)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_write_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_reg_read)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regmap_reg_read_cache)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regmap_reg_write)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regulator_bypass_disable)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_bypass_disable_complete)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_bypass_enable)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_bypass_enable_complete)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_disable)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_disable_complete)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_enable)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_enable_complete)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_enable_delay)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_set_voltage)(void *, const char *, int, int);\n\ntypedef void (*btf_trace_regulator_set_voltage_complete)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_remove_device_from_group)(void *, int, struct device *);\n\ntypedef void (*btf_trace_remove_migration_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_remove_migration_pte)(void *, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_rpc__auth_tooweak)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__bad_creds)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__garbage_args)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__mismatch)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__proc_unavail)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__prog_mismatch)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__prog_unavail)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__stale_creds)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__unparsable)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_bad_callhdr)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_bad_verifier)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_buf_alloc)(void *, const struct rpc_task *, int);\n\ntypedef void (*btf_trace_rpc_call_rpcerror)(void *, const struct rpc_task *, int, int);\n\ntypedef void (*btf_trace_rpc_call_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_clnt_clone_err)(void *, const struct rpc_clnt *, int);\n\ntypedef void (*btf_trace_rpc_clnt_free)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_killall)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_new)(void *, const struct rpc_clnt *, const struct rpc_xprt *, const struct rpc_create_args *);\n\ntypedef void (*btf_trace_rpc_clnt_new_err)(void *, const char *, const char *, int);\n\ntypedef void (*btf_trace_rpc_clnt_release)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_replace_xprt)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_replace_xprt_err)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_shutdown)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_connect_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_refresh_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_request)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_retry_refresh_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_socket_close)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_socket_connect)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_error)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_nospace)(void *, const struct rpc_rqst *, const struct sock_xprt *);\n\ntypedef void (*btf_trace_rpc_socket_reset_connection)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_shutdown)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_socket_state_change)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_stats_latency)(void *, const struct rpc_task *, ktime_t, ktime_t, ktime_t);\n\ntypedef void (*btf_trace_rpc_task_begin)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_call_done)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_complete)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_end)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_run_action)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_signalled)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_sleep)(void *, const struct rpc_task *, const struct rpc_wait_queue *);\n\ntypedef void (*btf_trace_rpc_task_sync_sleep)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_sync_wake)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_timeout)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_wakeup)(void *, const struct rpc_task *, const struct rpc_wait_queue *);\n\ntypedef void (*btf_trace_rpc_timeout_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_tls_not_started)(void *, const struct rpc_clnt *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_rpc_tls_unavailable)(void *, const struct rpc_clnt *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_rpc_xdr_alignment)(void *, const struct xdr_stream *, size_t, unsigned int);\n\ntypedef void (*btf_trace_rpc_xdr_overflow)(void *, const struct xdr_stream *, size_t);\n\ntypedef void (*btf_trace_rpc_xdr_recvfrom)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpc_xdr_reply_pages)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpc_xdr_sendto)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpcb_bind_version_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_getport)(void *, const struct rpc_clnt *, const struct rpc_task *, unsigned int);\n\ntypedef void (*btf_trace_rpcb_prog_unavail_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_register)(void *, u32, u32, const char *, const char *);\n\ntypedef void (*btf_trace_rpcb_setport)(void *, const struct rpc_task *, int, short unsigned int);\n\ntypedef void (*btf_trace_rpcb_timeout_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unreachable_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unrecognized_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unregister)(void *, u32, u32, const char *);\n\ntypedef void (*btf_trace_rpcgss_bad_seqno)(void *, const struct rpc_task *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_context)(void *, u32, long unsigned int, long unsigned int, unsigned int, unsigned int, const u8 *);\n\ntypedef void (*btf_trace_rpcgss_createauth)(void *, unsigned int, int);\n\ntypedef void (*btf_trace_rpcgss_ctx_destroy)(void *, const struct gss_cred *);\n\ntypedef void (*btf_trace_rpcgss_ctx_init)(void *, const struct gss_cred *);\n\ntypedef void (*btf_trace_rpcgss_get_mic)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_import_ctx)(void *, int);\n\ntypedef void (*btf_trace_rpcgss_need_reencode)(void *, const struct rpc_task *, u32, bool);\n\ntypedef void (*btf_trace_rpcgss_oid_to_mech)(void *, const char *);\n\ntypedef void (*btf_trace_rpcgss_seqno)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcgss_svc_accept_upcall)(void *, const struct svc_rqst *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_authenticate)(void *, const struct svc_rqst *, const struct rpc_gss_wire_cred *);\n\ntypedef void (*btf_trace_rpcgss_svc_get_mic)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_mic)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_bad)(void *, const struct svc_rqst *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_large)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_low)(void *, const struct svc_rqst *, u32, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_seen)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_unwrap)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_unwrap_failed)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_rpcgss_svc_wrap)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_wrap_failed)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_rpcgss_unwrap)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_unwrap_failed)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcgss_upcall_msg)(void *, const char *);\n\ntypedef void (*btf_trace_rpcgss_upcall_result)(void *, u32, int);\n\ntypedef void (*btf_trace_rpcgss_update_slack)(void *, const struct rpc_task *, const struct rpc_auth *);\n\ntypedef void (*btf_trace_rpcgss_verify_mic)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_wrap)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpm_idle)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_resume)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_return_int)(void *, struct device *, long unsigned int, int);\n\ntypedef void (*btf_trace_rpm_status)(void *, struct device *, enum rpm_status);\n\ntypedef void (*btf_trace_rpm_suspend)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_usage)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpmh_send_msg)(void *, struct rsc_drv *, int, enum rpmh_state, int, u32, const struct tcs_cmd *);\n\ntypedef void (*btf_trace_rpmh_tx_done)(void *, struct rsc_drv *, int, const struct tcs_request *);\n\ntypedef void (*btf_trace_rseq_ip_fixup)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_rseq_update)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_rss_stat)(void *, struct mm_struct *, int);\n\ntypedef void (*btf_trace_rtc_alarm_irq_enable)(void *, unsigned int, int);\n\ntypedef void (*btf_trace_rtc_irq_set_freq)(void *, int, int);\n\ntypedef void (*btf_trace_rtc_irq_set_state)(void *, int, int);\n\ntypedef void (*btf_trace_rtc_read_alarm)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_read_offset)(void *, long int, int);\n\ntypedef void (*btf_trace_rtc_read_time)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_set_alarm)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_set_offset)(void *, long int, int);\n\ntypedef void (*btf_trace_rtc_set_time)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_timer_dequeue)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_rtc_timer_enqueue)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_rtc_timer_fired)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_sb_clear_inode_writeback)(void *, struct inode *);\n\ntypedef void (*btf_trace_sb_mark_inode_writeback)(void *, struct inode *);\n\ntypedef void (*btf_trace_sched_compute_energy_tp)(void *, struct task_struct *, int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_sched_cpu_capacity_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_sched_kthread_stop)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_kthread_stop_ret)(void *, int);\n\ntypedef void (*btf_trace_sched_kthread_work_execute_end)(void *, struct kthread_work *, kthread_work_func_t);\n\ntypedef void (*btf_trace_sched_kthread_work_execute_start)(void *, struct kthread_work *);\n\ntypedef void (*btf_trace_sched_kthread_work_queue_work)(void *, struct kthread_worker *, struct kthread_work *);\n\ntypedef void (*btf_trace_sched_migrate_task)(void *, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_move_numa)(void *, struct task_struct *, int, int);\n\ntypedef void (*btf_trace_sched_overutilized_tp)(void *, struct root_domain *, bool);\n\ntypedef void (*btf_trace_sched_pi_setprio)(void *, struct task_struct *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_prepare_exec)(void *, struct task_struct *, struct linux_binprm *);\n\ntypedef void (*btf_trace_sched_process_exec)(void *, struct task_struct *, pid_t, struct linux_binprm *);\n\ntypedef void (*btf_trace_sched_process_exit)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_fork)(void *, struct task_struct *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_free)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_wait)(void *, struct pid *);\n\ntypedef void (*btf_trace_sched_skip_vma_numa)(void *, struct mm_struct *, struct vm_area_struct *, enum numa_vmaskip_reason);\n\ntypedef void (*btf_trace_sched_stat_runtime)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stick_numa)(void *, struct task_struct *, int, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_swap_numa)(void *, struct task_struct *, int, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_switch)(void *, bool, struct task_struct *, struct task_struct *, unsigned int);\n\ntypedef void (*btf_trace_sched_update_nr_running_tp)(void *, struct rq *, int);\n\ntypedef void (*btf_trace_sched_util_est_cfs_tp)(void *, struct cfs_rq *);\n\ntypedef void (*btf_trace_sched_util_est_se_tp)(void *, struct sched_entity *);\n\ntypedef void (*btf_trace_sched_wait_task)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_wake_idle_without_ipi)(void *, int);\n\ntypedef void (*btf_trace_sched_wakeup)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_wakeup_new)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_waking)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_scmi_fc_call)(void *, u8, u8, u32, u32, u32);\n\ntypedef void (*btf_trace_scmi_msg_dump)(void *, int, u8, u8, u8, unsigned char *, u16, int, void *, size_t);\n\ntypedef void (*btf_trace_scmi_rx_done)(void *, int, u8, u8, u16, u8);\n\ntypedef void (*btf_trace_scmi_xfer_begin)(void *, int, u8, u8, u16, bool);\n\ntypedef void (*btf_trace_scmi_xfer_end)(void *, int, u8, u8, u16, int);\n\ntypedef void (*btf_trace_scmi_xfer_response_wait)(void *, int, u8, u8, u16, u32, bool);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_done)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_error)(void *, struct scsi_cmnd *, int);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_start)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_timeout)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_eh_wakeup)(void *, struct Scsi_Host *);\n\ntypedef void (*btf_trace_set_migration_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_set_migration_pte)(void *, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_signal_deliver)(void *, int, struct kernel_siginfo *, struct k_sigaction *);\n\ntypedef void (*btf_trace_signal_generate)(void *, int, struct kernel_siginfo *, struct task_struct *, int, int);\n\ntypedef void (*btf_trace_sk_data_ready)(void *, const struct sock *);\n\ntypedef void (*btf_trace_skb_copy_datagram_iovec)(void *, const struct sk_buff *, int);\n\ntypedef void (*btf_trace_skip_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_smbus_read)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int);\n\ntypedef void (*btf_trace_smbus_reply)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *, int);\n\ntypedef void (*btf_trace_smbus_result)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, int);\n\ntypedef void (*btf_trace_smbus_write)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *);\n\ntypedef void (*btf_trace_smp2p_negotiate)(void *, const struct device *, unsigned int);\n\ntypedef void (*btf_trace_smp2p_notify_in)(void *, struct smp2p_entry *, long unsigned int, u32);\n\ntypedef void (*btf_trace_smp2p_ssr_ack)(void *, const struct device *);\n\ntypedef void (*btf_trace_smp2p_update_bits)(void *, struct smp2p_entry *, u32, u32);\n\ntypedef void (*btf_trace_snd_soc_bias_level_done)(void *, struct snd_soc_dapm_context *, int);\n\ntypedef void (*btf_trace_snd_soc_bias_level_start)(void *, struct snd_soc_dapm_context *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_connected)(void *, int, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_done)(void *, struct snd_soc_card *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_path)(void *, struct snd_soc_dapm_widget *, enum snd_soc_dapm_direction, struct snd_soc_dapm_path *);\n\ntypedef void (*btf_trace_snd_soc_dapm_start)(void *, struct snd_soc_card *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_walk_done)(void *, struct snd_soc_card *);\n\ntypedef void (*btf_trace_snd_soc_dapm_widget_event_done)(void *, struct snd_soc_dapm_widget *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_widget_event_start)(void *, struct snd_soc_dapm_widget *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_widget_power)(void *, struct snd_soc_dapm_widget *, int);\n\ntypedef void (*btf_trace_snd_soc_jack_irq)(void *, const char *);\n\ntypedef void (*btf_trace_snd_soc_jack_notify)(void *, struct snd_soc_jack *, int);\n\ntypedef void (*btf_trace_snd_soc_jack_report)(void *, struct snd_soc_jack *, int, int);\n\ntypedef void (*btf_trace_sock_exceed_buf_limit)(void *, struct sock *, struct proto *, long int, int);\n\ntypedef void (*btf_trace_sock_rcvqueue_full)(void *, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_sock_recv_length)(void *, struct sock *, int, int);\n\ntypedef void (*btf_trace_sock_send_length)(void *, struct sock *, int, int);\n\ntypedef void (*btf_trace_softirq_entry)(void *, unsigned int);\n\ntypedef void (*btf_trace_softirq_exit)(void *, unsigned int);\n\ntypedef void (*btf_trace_softirq_raise)(void *, unsigned int);\n\ntypedef void (*btf_trace_spi_controller_busy)(void *, struct spi_controller *);\n\ntypedef void (*btf_trace_spi_controller_idle)(void *, struct spi_controller *);\n\ntypedef void (*btf_trace_spi_message_done)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_message_start)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_message_submit)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_set_cs)(void *, struct spi_device *, bool);\n\ntypedef void (*btf_trace_spi_setup)(void *, struct spi_device *, int);\n\ntypedef void (*btf_trace_spi_transfer_start)(void *, struct spi_message *, struct spi_transfer *);\n\ntypedef void (*btf_trace_spi_transfer_stop)(void *, struct spi_message *, struct spi_transfer *);\n\ntypedef void (*btf_trace_spmi_cmd)(void *, u8, u8, int);\n\ntypedef void (*btf_trace_spmi_read_begin)(void *, u8, u8, u16);\n\ntypedef void (*btf_trace_spmi_read_end)(void *, u8, u8, u16, int, u8, const u8 *);\n\ntypedef void (*btf_trace_spmi_write_begin)(void *, u8, u8, u16, u8, const u8 *);\n\ntypedef void (*btf_trace_spmi_write_end)(void *, u8, u8, u16, int);\n\ntypedef void (*btf_trace_start_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_suspend_resume)(void *, const char *, int, bool);\n\ntypedef void (*btf_trace_svc_alloc_arg_err)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_svc_authenticate)(void *, const struct svc_rqst *, enum svc_auth_status);\n\ntypedef void (*btf_trace_svc_defer)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_defer_drop)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_defer_queue)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_defer_recv)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_drop)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_noregister)(void *, const char *, const u32, const int, const short unsigned int, const short unsigned int, int);\n\ntypedef void (*btf_trace_svc_process)(void *, const struct svc_rqst *, const char *);\n\ntypedef void (*btf_trace_svc_register)(void *, const char *, const u32, const int, const short unsigned int, const short unsigned int, int);\n\ntypedef void (*btf_trace_svc_replace_page_err)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_send)(void *, const struct svc_rqst *, int);\n\ntypedef void (*btf_trace_svc_stats_latency)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_tls_not_started)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_start)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_timed_out)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_unavailable)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_upcall)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_unregister)(void *, const char *, const u32, int);\n\ntypedef void (*btf_trace_svc_wake_up)(void *, int);\n\ntypedef void (*btf_trace_svc_xdr_recvfrom)(void *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_svc_xdr_sendto)(void *, __be32, const struct xdr_buf *);\n\ntypedef void (*btf_trace_svc_xprt_accept)(void *, const struct svc_xprt *, const char *);\n\ntypedef void (*btf_trace_svc_xprt_close)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_create_err)(void *, const char *, const char *, struct sockaddr *, size_t, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_dequeue)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_xprt_detach)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_enqueue)(void *, const struct svc_xprt *, long unsigned int);\n\ntypedef void (*btf_trace_svc_xprt_free)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_no_write_space)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svcsock_accept_err)(void *, const struct svc_xprt *, const char *, long int);\n\ntypedef void (*btf_trace_svcsock_data_ready)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_free)(void *, const void *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_getpeername_err)(void *, const struct svc_xprt *, const char *, long int);\n\ntypedef void (*btf_trace_svcsock_marker)(void *, const struct svc_xprt *, __be32);\n\ntypedef void (*btf_trace_svcsock_new)(void *, const void *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_tcp_recv)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_eagain)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_err)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_short)(void *, const struct svc_xprt *, u32, u32);\n\ntypedef void (*btf_trace_svcsock_tcp_send)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_state)(void *, const struct svc_xprt *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_udp_recv)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_udp_recv_err)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_udp_send)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_write_space)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_swiotlb_bounced)(void *, struct device *, dma_addr_t, size_t);\n\ntypedef void (*btf_trace_sys_enter)(void *, struct pt_regs *, long int);\n\ntypedef void (*btf_trace_sys_exit)(void *, struct pt_regs *, long int);\n\ntypedef void (*btf_trace_task_newtask)(void *, struct task_struct *, long unsigned int);\n\ntypedef void (*btf_trace_task_prctl_unknown)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_task_rename)(void *, struct task_struct *, const char *);\n\ntypedef void (*btf_trace_tasklet_entry)(void *, struct tasklet_struct *, void *);\n\ntypedef void (*btf_trace_tasklet_exit)(void *, struct tasklet_struct *, void *);\n\ntypedef void (*btf_trace_tcp_ao_handshake_failure)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_key_not_found)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_mismatch)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_rcv_sne_update)(void *, const struct sock *, __u32);\n\ntypedef void (*btf_trace_tcp_ao_rnext_request)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_snd_sne_update)(void *, const struct sock *, __u32);\n\ntypedef void (*btf_trace_tcp_ao_synack_no_key)(void *, const struct sock *, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_wrong_maclen)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_bad_csum)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_cong_state_set)(void *, struct sock *, const u8);\n\ntypedef void (*btf_trace_tcp_destroy_sock)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_hash_ao_required)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_bad_header)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_mismatch)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_required)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_unexpected)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_probe)(void *, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_rcv_space_adjust)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_receive_reset)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_retransmit_skb)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_retransmit_synack)(void *, const struct sock *, const struct request_sock *);\n\ntypedef void (*btf_trace_tcp_send_reset)(void *, const struct sock *, const struct sk_buff *, const enum sk_rst_reason);\n\ntypedef void (*btf_trace_tegra_dma_complete_cb)(void *, struct dma_chan *, int, void *);\n\ntypedef void (*btf_trace_tegra_dma_isr)(void *, struct dma_chan *, int);\n\ntypedef void (*btf_trace_tegra_dma_tx_status)(void *, struct dma_chan *, dma_cookie_t, struct dma_tx_state *);\n\ntypedef void (*btf_trace_test_pages_isolated)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_thermal_power_actor)(void *, struct thermal_zone_device *, int, u32, u32);\n\ntypedef void (*btf_trace_thermal_power_allocator)(void *, struct thermal_zone_device *, u32, u32, int, u32, u32, int, s32);\n\ntypedef void (*btf_trace_thermal_power_allocator_pid)(void *, struct thermal_zone_device *, s32, s32, s64, s64, s64, s32);\n\ntypedef void (*btf_trace_thermal_power_cpu_get_power_simple)(void *, int, u32);\n\ntypedef void (*btf_trace_thermal_power_cpu_limit)(void *, const struct cpumask *, unsigned int, long unsigned int, u32);\n\ntypedef void (*btf_trace_thermal_power_devfreq_get_power)(void *, struct thermal_cooling_device *, struct devfreq_dev_status *, long unsigned int, u32);\n\ntypedef void (*btf_trace_thermal_power_devfreq_limit)(void *, struct thermal_cooling_device *, long unsigned int, long unsigned int, u32);\n\ntypedef void (*btf_trace_thermal_temperature)(void *, struct thermal_zone_device *);\n\ntypedef void (*btf_trace_thermal_zone_trip)(void *, struct thermal_zone_device *, int, enum thermal_trip_type);\n\ntypedef void (*btf_trace_tick_stop)(void *, int, int);\n\ntypedef void (*btf_trace_time_out_leases)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_timer_base_idle)(void *, bool, unsigned int);\n\ntypedef void (*btf_trace_timer_cancel)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_expire_entry)(void *, struct timer_list *, long unsigned int);\n\ntypedef void (*btf_trace_timer_expire_exit)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_init)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_start)(void *, struct timer_list *, long unsigned int);\n\ntypedef void (*btf_trace_tlb_flush)(void *, int, long unsigned int);\n\ntypedef void (*btf_trace_tls_alert_recv)(void *, const struct sock *, unsigned char, unsigned char);\n\ntypedef void (*btf_trace_tls_alert_send)(void *, const struct sock *, unsigned char, unsigned char);\n\ntypedef void (*btf_trace_tls_contenttype)(void *, const struct sock *, unsigned char);\n\ntypedef void (*btf_trace_tmigr_connect_child_parent)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_connect_cpu_parent)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_active)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_idle)(void *, struct tmigr_cpu *, u64);\n\ntypedef void (*btf_trace_tmigr_cpu_new_timer)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_new_timer_idle)(void *, struct tmigr_cpu *, u64);\n\ntypedef void (*btf_trace_tmigr_cpu_offline)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_online)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_group_set)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_group_set_cpu_active)(void *, struct tmigr_group *, union tmigr_state, u32);\n\ntypedef void (*btf_trace_tmigr_group_set_cpu_inactive)(void *, struct tmigr_group *, union tmigr_state, u32);\n\ntypedef void (*btf_trace_tmigr_handle_remote)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_handle_remote_cpu)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_update_events)(void *, struct tmigr_group *, struct tmigr_group *, union tmigr_state, union tmigr_state, u64);\n\ntypedef void (*btf_trace_track_foreign_dirty)(void *, struct folio *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_udp_fail_queue_rcv_skb)(void *, int, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_ufshcd_auto_bkops_state)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_ufshcd_clk_gating)(void *, const char *, int);\n\ntypedef void (*btf_trace_ufshcd_clk_scaling)(void *, const char *, const char *, const char *, u32, u32);\n\ntypedef void (*btf_trace_ufshcd_command)(void *, struct scsi_device *, enum ufs_trace_str_t, unsigned int, u32, u32, int, u32, u64, u8, u8);\n\ntypedef void (*btf_trace_ufshcd_exception_event)(void *, const char *, u16);\n\ntypedef void (*btf_trace_ufshcd_init)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_ufshcd_profile_clk_gating)(void *, const char *, const char *, s64, int);\n\ntypedef void (*btf_trace_ufshcd_profile_clk_scaling)(void *, const char *, const char *, s64, int);\n\ntypedef void (*btf_trace_ufshcd_profile_hibern8)(void *, const char *, const char *, s64, int);\n\ntypedef void (*btf_trace_ufshcd_runtime_resume)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_ufshcd_runtime_suspend)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_ufshcd_system_resume)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_ufshcd_system_suspend)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_ufshcd_uic_command)(void *, const char *, enum ufs_trace_str_t, u32, u32, u32, u32);\n\ntypedef void (*btf_trace_ufshcd_upiu)(void *, const char *, enum ufs_trace_str_t, void *, void *, enum ufs_trace_tsf_t);\n\ntypedef void (*btf_trace_ufshcd_wl_resume)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_ufshcd_wl_runtime_resume)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_ufshcd_wl_runtime_suspend)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_ufshcd_wl_suspend)(void *, const char *, int, s64, int, int);\n\ntypedef void (*btf_trace_unmap)(void *, long unsigned int, size_t, size_t);\n\ntypedef void (*btf_trace_usb_ep_alloc_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_clear_halt)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_dequeue)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_disable)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_enable)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_fifo_flush)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_fifo_status)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_free_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_queue)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_set_halt)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_set_maxpacket_limit)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_set_wedge)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_gadget_activate)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_clear_selfpowered)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_connect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_deactivate)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_disconnect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_frame_number)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_giveback_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_gadget_set_remote_wakeup)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_set_selfpowered)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_connect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_disconnect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_draw)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_wakeup)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_vgic_update_irq_pending)(void *, long unsigned int, __u32, bool);\n\ntypedef void (*btf_trace_vm_unmapped_area)(void *, long unsigned int, struct vm_unmapped_area_info *);\n\ntypedef void (*btf_trace_vma_mas_szero)(void *, struct maple_tree *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_vma_store)(void *, struct maple_tree *, struct vm_area_struct *);\n\ntypedef void (*btf_trace_wake_reaper)(void *, int);\n\ntypedef void (*btf_trace_wakeup_source_activate)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_wakeup_source_deactivate)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_watchdog_ping)(void *, struct watchdog_device *, int);\n\ntypedef void (*btf_trace_watchdog_set_timeout)(void *, struct watchdog_device *, unsigned int, int);\n\ntypedef void (*btf_trace_watchdog_start)(void *, struct watchdog_device *, int);\n\ntypedef void (*btf_trace_watchdog_stop)(void *, struct watchdog_device *, int);\n\ntypedef void (*btf_trace_wbc_writepage)(void *, struct writeback_control *, struct backing_dev_info *);\n\ntypedef void (*btf_trace_workqueue_activate_work)(void *, struct work_struct *);\n\ntypedef void (*btf_trace_workqueue_execute_end)(void *, struct work_struct *, work_func_t);\n\ntypedef void (*btf_trace_workqueue_execute_start)(void *, struct work_struct *);\n\ntypedef void (*btf_trace_workqueue_queue_work)(void *, int, struct pool_workqueue *, struct work_struct *);\n\ntypedef void (*btf_trace_writeback_bdi_register)(void *, struct backing_dev_info *);\n\ntypedef void (*btf_trace_writeback_dirty_folio)(void *, struct folio *, struct address_space *);\n\ntypedef void (*btf_trace_writeback_dirty_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_dirty_inode_enqueue)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_dirty_inode_start)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_exec)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_lazytime)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_lazytime_iput)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_mark_inode_dirty)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_pages_written)(void *, long int);\n\ntypedef void (*btf_trace_writeback_queue)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_queue_io)(void *, struct bdi_writeback *, struct wb_writeback_work *, long unsigned int, int);\n\ntypedef void (*btf_trace_writeback_sb_inodes_requeue)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_single_inode)(void *, struct inode *, struct writeback_control *, long unsigned int);\n\ntypedef void (*btf_trace_writeback_single_inode_start)(void *, struct inode *, struct writeback_control *, long unsigned int);\n\ntypedef void (*btf_trace_writeback_start)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_wait)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_wake_background)(void *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_writeback_write_inode)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_writeback_write_inode_start)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_writeback_written)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_xdp_bulk_tx)(void *, const struct net_device *, int, int, int);\n\ntypedef void (*btf_trace_xdp_cpumap_enqueue)(void *, int, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_xdp_cpumap_kthread)(void *, int, unsigned int, unsigned int, int, struct xdp_cpumap_stats *);\n\ntypedef void (*btf_trace_xdp_devmap_xmit)(void *, const struct net_device *, const struct net_device *, int, int, int);\n\ntypedef void (*btf_trace_xdp_exception)(void *, const struct net_device *, const struct bpf_prog *, u32);\n\ntypedef void (*btf_trace_xdp_redirect)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_map)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_map_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xhci_add_endpoint)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_address_ctrl_ctx)(void *, struct xhci_input_control_ctx *);\n\ntypedef void (*btf_trace_xhci_address_ctx)(void *, struct xhci_hcd *, struct xhci_container_ctx *, unsigned int);\n\ntypedef void (*btf_trace_xhci_alloc_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_alloc_stream_info_ctx)(void *, struct xhci_stream_info *, unsigned int);\n\ntypedef void (*btf_trace_xhci_alloc_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_configure_endpoint)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_configure_endpoint_ctrl_ctx)(void *, struct xhci_input_control_ctx *);\n\ntypedef void (*btf_trace_xhci_dbc_alloc_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_free_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_gadget_ep_queue)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_giveback_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_queue_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbg_address)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_cancel_urb)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_context_change)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_init)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_quirks)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_reset_ep)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_ring_expansion)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_discover_or_reset_device)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_free_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_free_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_get_port_status)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_handle_cmd_addr_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_config_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_disable_slot)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_reset_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_reset_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq_stream)(void *, struct xhci_stream_info *, unsigned int);\n\ntypedef void (*btf_trace_xhci_handle_cmd_stop_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_command)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_handle_port_status)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_hub_status_data)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_inc_deq)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_inc_enq)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_queue_trb)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_ring_alloc)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_ep_doorbell)(void *, u32, u32);\n\ntypedef void (*btf_trace_xhci_ring_expansion)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_free)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_host_doorbell)(void *, u32, u32);\n\ntypedef void (*btf_trace_xhci_setup_addressable_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_setup_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_setup_device_slot)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_stop_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_urb_dequeue)(void *, struct urb *);\n\ntypedef void (*btf_trace_xhci_urb_enqueue)(void *, struct urb *);\n\ntypedef void (*btf_trace_xhci_urb_giveback)(void *, struct urb *);\n\ntypedef void (*btf_trace_xprt_connect)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_create)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_destroy)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_auto)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_done)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_force)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_get_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_lookup_rqst)(void *, const struct rpc_xprt *, __be32, int);\n\ntypedef void (*btf_trace_xprt_ping)(void *, const struct rpc_xprt *, int);\n\ntypedef void (*btf_trace_xprt_put_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_release_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_release_xprt)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_reserve)(void *, const struct rpc_rqst *);\n\ntypedef void (*btf_trace_xprt_reserve_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_reserve_xprt)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_retransmit)(void *, const struct rpc_rqst *);\n\ntypedef void (*btf_trace_xprt_timer)(void *, const struct rpc_xprt *, __be32, int);\n\ntypedef void (*btf_trace_xprt_transmit)(void *, const struct rpc_rqst *, int);\n\ntypedef void (*btf_trace_xs_data_ready)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xs_stream_read_data)(void *, struct rpc_xprt *, ssize_t, size_t);\n\ntypedef void (*btf_trace_xs_stream_read_request)(void *, struct sock_xprt *);\n\ntypedef struct mtd_info *cfi_cmdset_fn_t(struct map_info *, int);\n\ntypedef void cleanup_cb_t(struct rq_wait *, void *);\n\ntypedef int (*cmp_r_func_t)(const void *, const void *, const void *);\n\ntypedef void (*companion_fn)(struct pci_dev *, struct usb_hcd *, struct pci_dev *, struct usb_hcd *);\n\ntypedef enum trap_behaviour (*complex_condition_check)(struct kvm_vcpu *);\n\ntypedef bool (*cond_update_fn_t)(struct trace_array *, void *);\n\ntypedef long unsigned int (*count_objects_cb)(struct shrinker *, struct shrink_control *);\n\ntypedef void * (*devcon_match_fn_t)(const struct fwnode_handle *, const char *, void *);\n\ntypedef int (*device_iter_t)(struct device *, void *);\n\ntypedef int (*device_match_t)(struct device *, const void *);\n\ntypedef int devlink_chunk_fill_t(void *, u8 *, u32, u64, struct netlink_ext_ack *);\n\ntypedef int devlink_nl_dump_one_func_t(struct sk_buff *, struct devlink *, struct netlink_callback *, int);\n\ntypedef int (*dr_match_t)(struct device *, void *, void *);\n\ntypedef int (*dummy_ops_test_ret_fn)(struct bpf_dummy_ops_state *, ...);\n\ntypedef int (*dynevent_check_arg_fn_t)(void *);\n\ntypedef efi_status_t (*efi_exit_boot_map_processing)(struct efi_boot_memmap *, void *);\n\ntypedef int (*efi_memattr_perm_setter)(struct mm_struct *, efi_memory_desc_t *, bool);\n\ntypedef int (*entry_fn_t)(struct vgic_its *, u32, void *, void *);\n\ntypedef void (*ethnl_notify_handler_t)(struct net_device *, unsigned int, const void *);\n\ntypedef int (*exit_handle_fn)(struct kvm_vcpu *);\n\ntypedef bool (*exit_handler_fn)(struct kvm_vcpu *, u64 *);\n\ntypedef void (*exitcall_t)(void);\n\ntypedef int (*ext4_mballoc_query_range_fn)(struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t, void *);\n\ntypedef void ext4_update_sb_callback(struct ext4_super_block *, const void *);\n\ntypedef int filler_t(struct file *, struct folio *);\n\ntypedef bool (*filter_func_t)(struct uprobe_consumer *, struct mm_struct *);\n\ntypedef void fn_handler_fn(struct vc_data *);\n\ntypedef void free_folio_t(struct folio *, long unsigned int);\n\ntypedef struct irq_chip * (*gpio_get_irq_chip_cb_t)(unsigned int);\n\ntypedef struct sk_buff * (*gro_receive_sk_t)(struct sock *, struct list_head *, struct sk_buff *);\n\ntypedef struct sk_buff * (*gro_receive_t)(struct list_head *, struct sk_buff *);\n\ntypedef void (*hcall_t)(struct kvm_cpu_context *);\n\ntypedef int (*hclge_mbx_ops_fn)(struct hclge_mbx_ops_param *);\n\ntypedef bool (*hid_usage_cmp_t)(struct hid_usage *, unsigned int, unsigned int);\n\ntypedef const struct iio_mount_matrix *iio_get_mount_matrix_t(const struct iio_dev *, const struct iio_chan_spec *);\n\ntypedef u32 inet6_ehashfn_t(const struct net *, const struct in6_addr *, const u16, const struct in6_addr *, const __be16);\n\ntypedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const __be32, const __be16);\n\ntypedef int (*initxattrs)(struct inode *, const struct xattr *, void *);\n\ntypedef struct dentry *instantiate_t(struct dentry *, struct task_struct *, const void *);\n\ntypedef int (*ioctl_fn)(struct file *, struct autofs_sb_info *, struct autofs_dev_ioctl *);\n\ntypedef void (*iomap_punch_t)(struct inode *, loff_t, loff_t, struct iomap *);\n\ntypedef int (*ioremap_prot_hook_t)(phys_addr_t, size_t, pgprot_t *);\n\ntypedef acpi_status (*iort_find_node_callback)(struct acpi_iort_node *, void *);\n\ntypedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *);\n\ntypedef size_t (*iov_ustep_f)(void *, size_t, size_t, void *, void *);\n\ntypedef int (*iova_bitmap_fn_t)(struct iova_bitmap *, long unsigned int, size_t, void *);\n\ntypedef void ip6_icmp_send_t(struct sk_buff *, u8, u8, __u32, const struct in6_addr *, const struct inet6_skb_parm *);\n\ntypedef void (*irq_write_msi_msg_t)(struct msi_desc *, struct msi_msg *);\n\ntypedef struct its_collection * (*its_cmd_builder_t)(struct its_node *, struct its_cmd_block *, struct its_cmd_desc *);\n\ntypedef struct its_vpe * (*its_cmd_vbuilder_t)(struct its_node *, struct its_cmd_block *, struct its_cmd_desc *);\n\ntypedef void k_handler_fn(struct vc_data *, unsigned char, char);\n\ntypedef void kpti_remap_fn(int, int, phys_addr_t, long unsigned int);\n\ntypedef bool (*kunwind_consume_fn)(const struct kunwind_state *, void *);\n\ntypedef int (*list_cmp_func_t)(void *, const struct list_head *, const struct list_head *);\n\ntypedef enum lru_status (*list_lru_walk_cb)(struct list_head *, struct list_lru_one *, void *);\n\ntypedef void (*move_fn_t)(struct lruvec *, struct folio *);\n\ntypedef int (*netlink_filter_fn)(struct sock *, struct sk_buff *, void *);\n\ntypedef struct folio *new_folio_t(struct folio *, long unsigned int);\n\ntypedef int (*nlm_host_match_fn_t)(void *, struct nlm_host *);\n\ntypedef struct ns_common *ns_get_path_helper_t(void *);\n\ntypedef int (*objpool_init_obj_cb)(void *, void *);\n\ntypedef struct gpio_desc * (*of_find_gpio_quirk)(struct device_node *, const char *, unsigned int, enum of_gpio_flags *);\n\ntypedef void (*of_init_fn_1)(struct device_node *);\n\ntypedef int (*of_init_fn_1_ret)(struct device_node *);\n\ntypedef int (*of_init_fn_2)(struct device_node *, struct device_node *);\n\ntypedef void (*online_page_callback_t)(struct page *, unsigned int);\n\ntypedef int (*otp_op_t)(struct map_info *, struct flchip *, loff_t, size_t, u_char *, size_t);\n\ntypedef int (*parse_pred_fn)(const char *, void *, int, struct filter_parse_error *, struct filter_pred **);\n\ntypedef int (*parse_unknown_fn)(char *, char *, const char *, void *);\n\ntypedef void (*pci_parity_check_fn_t)(struct pci_dev *);\n\ntypedef int (*pcie_callback_t)(struct pcie_device *);\n\ntypedef int (*pcm_transfer_f)(struct snd_pcm_substream *, int, long unsigned int, struct iov_iter *, long unsigned int);\n\ntypedef int (*pcm_copy_f)(struct snd_pcm_substream *, snd_pcm_uframes_t, void *, snd_pcm_uframes_t, snd_pcm_uframes_t, pcm_transfer_f, bool);\n\ntypedef int pcpu_fc_cpu_distance_fn_t(unsigned int, unsigned int);\n\ntypedef int pcpu_fc_cpu_to_node_fn_t(int);\n\ntypedef void perf_iterate_f(struct perf_event *, void *);\n\ntypedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int);\n\ntypedef int (*pm_callback_t)(struct device *);\n\ntypedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *);\n\ntypedef int (*proc_visitor)(struct task_struct *, void *);\n\ntypedef long unsigned int psci_fn(long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef int (*psci_initcall_t)(const struct device_node *);\n\ntypedef bool pstate_check_t(long unsigned int);\n\ntypedef int (*pte_fn_t)(pte_t *, long unsigned int, void *);\n\ntypedef int (*reservedmem_of_init_fn)(struct reserved_mem *);\n\ntypedef bool (*ring_buffer_cond_fn)(void *);\n\ntypedef void (*rpc_action)(struct rpc_task *);\n\ntypedef int (*rproc_handle_resource_t)(struct rproc *, void *, int, int);\n\ntypedef bool (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *);\n\ntypedef long unsigned int (*scan_objects_cb)(struct shrinker *, struct shrink_control *);\n\ntypedef int (*sendmsg_func)(struct sock *, struct msghdr *);\n\ntypedef void (*serial8250_isa_config_fn)(int, struct uart_port *, u32 *);\n\ntypedef int (*set_callee_state_fn)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *, int);\n\ntypedef void (*set_params_cb)(struct dwc2_hsotg *);\n\ntypedef struct scatterlist *sg_alloc_fn(unsigned int, gfp_t);\n\ntypedef void sg_free_fn(struct scatterlist *, unsigned int);\n\ntypedef void sha1_block_fn(struct sha1_state *, const u8 *, int);\n\ntypedef void sha256_block_fn(struct sha256_state *, const u8 *, int);\n\ntypedef void sha512_block_fn(struct sha512_state *, const u8 *, int);\n\ntypedef bool (*smp_cond_func_t)(int, void *);\n\ntypedef void (*snd_compr_seq_func_t)(struct snd_compr_stream *, struct snd_compr_task_runtime *);\n\ntypedef int splice_actor(struct pipe_inode_info *, struct pipe_buffer *, struct splice_desc *);\n\ntypedef int splice_direct_actor(struct pipe_inode_info *, struct splice_desc *);\n\ntypedef void (*swap_r_func_t)(void *, void *, int, const void *);\n\ntypedef long int (*syscall_fn_t)(const struct pt_regs *);\n\ntypedef int (*task_call_f)(struct task_struct *, void *);\n\ntypedef void (*task_work_func_t)(struct callback_head *);\n\ntypedef void (*tegra_clk_apply_init_table_func)(void);\n\ntypedef void text_poke_f(void *, void *, size_t, size_t);\n\ntypedef int (*tg_visitor)(struct task_group *, void *);\n\ntypedef void ttbr_replace_func(phys_addr_t);\n\ntypedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16);\n\ntypedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, struct tmigr_walk *);\n\ntypedef int (*varsize_frob_t)(struct map_info *, struct flchip *, long unsigned int, int, void *);\n\ntypedef int wait_bit_action_f(struct wait_bit_key *, int);\n\ntypedef int (*walk_memory_groups_func_t)(struct memory_group *, void *);\n\ntypedef int (*writepage_t)(struct folio *, struct writeback_control *, void *);\n\ntypedef size_t (*xdr_skb_read_actor)(struct xdr_skb_reader *, void *, size_t);\n\ntypedef void (*xen_gfn_fn_t)(long unsigned int, void *);\n\ntypedef void (*xen_grant_fn_t)(long unsigned int, unsigned int, unsigned int, void *);\n\ntypedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *);\n\ntypedef struct rpc_xprt * (*xprt_switch_find_xprt_t)(struct rpc_xprt_switch *, const struct rpc_xprt *);\n\nstruct amd5536udc;\n\nstruct bpf_iter;\n\nstruct creds;\n\nstruct fscrypt_inode_info;\n\nstruct fsverity_info;\n\nstruct megasas_debug_buffer;\n\nstruct pctldev;\n\n\n/* BPF kfuncs */\n#ifndef BPF_NO_KFUNC_PROTOTYPES\nextern void *bpf_arena_alloc_pages(void *p__map, void *addr__ign, u32 page_cnt, int node_id, u64 flags) __weak __ksym;\nextern void bpf_arena_free_pages(void *p__map, void *ptr__ign, u32 page_cnt) __weak __ksym;\nextern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym;\nextern struct cgroup *bpf_cgroup_acquire(struct cgroup *cgrp) __weak __ksym;\nextern struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __weak __ksym;\nextern struct cgroup *bpf_cgroup_from_id(u64 cgid) __weak __ksym;\nextern void bpf_cgroup_release(struct cgroup *cgrp) __weak __ksym;\nextern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym;\nextern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_any_distribute(const struct cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_clear(struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_copy(struct bpf_cpumask *dst, const struct cpumask *src) __weak __ksym;\nextern struct bpf_cpumask *bpf_cpumask_create(void) __weak __ksym;\nextern bool bpf_cpumask_empty(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_equal(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_first(const struct cpumask *cpumask) __weak __ksym;\nextern u32 bpf_cpumask_first_and(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_full(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_intersects(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern void bpf_cpumask_or(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern void bpf_cpumask_release(struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_setall(struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_subset(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern bool bpf_cpumask_test_and_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym;\nextern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern struct bpf_crypto_ctx *bpf_crypto_ctx_acquire(struct bpf_crypto_ctx *ctx) __weak __ksym;\nextern struct bpf_crypto_ctx *bpf_crypto_ctx_create(const struct bpf_crypto_params *params, u32 params__sz, int *err) __weak __ksym;\nextern void bpf_crypto_ctx_release(struct bpf_crypto_ctx *ctx) __weak __ksym;\nextern int bpf_crypto_decrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym;\nextern int bpf_crypto_encrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym;\nextern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym;\nextern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym;\nextern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym;\nextern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym;\nextern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym;\nextern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym;\nextern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym;\nextern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym;\nextern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym;\nextern int bpf_fentry_test1(int a) __weak __ksym;\nextern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym;\nextern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym;\nextern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym;\nextern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym;\nextern void bpf_iter_css_destroy(struct bpf_iter_css *it) __weak __ksym;\nextern int bpf_iter_css_new(struct bpf_iter_css *it, struct cgroup_subsys_state *start, unsigned int flags) __weak __ksym;\nextern struct cgroup_subsys_state *bpf_iter_css_next(struct bpf_iter_css *it) __weak __ksym;\nextern void bpf_iter_css_task_destroy(struct bpf_iter_css_task *it) __weak __ksym;\nextern int bpf_iter_css_task_new(struct bpf_iter_css_task *it, struct cgroup_subsys_state *css, unsigned int flags) __weak __ksym;\nextern struct task_struct *bpf_iter_css_task_next(struct bpf_iter_css_task *it) __weak __ksym;\nextern void bpf_iter_kmem_cache_destroy(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern int bpf_iter_kmem_cache_new(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern struct kmem_cache *bpf_iter_kmem_cache_next(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern void bpf_iter_num_destroy(struct bpf_iter_num *it) __weak __ksym;\nextern int bpf_iter_num_new(struct bpf_iter_num *it, int start, int end) __weak __ksym;\nextern int *bpf_iter_num_next(struct bpf_iter_num *it) __weak __ksym;\nextern void bpf_iter_task_destroy(struct bpf_iter_task *it) __weak __ksym;\nextern int bpf_iter_task_new(struct bpf_iter_task *it, struct task_struct *task__nullable, unsigned int flags) __weak __ksym;\nextern struct task_struct *bpf_iter_task_next(struct bpf_iter_task *it) __weak __ksym;\nextern void bpf_iter_task_vma_destroy(struct bpf_iter_task_vma *it) __weak __ksym;\nextern int bpf_iter_task_vma_new(struct bpf_iter_task_vma *it, struct task_struct *task, u64 addr) __weak __ksym;\nextern struct vm_area_struct *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) __weak __ksym;\nextern void bpf_key_put(struct bpf_key *bkey) __weak __ksym;\nextern void bpf_kfunc_call_memb_release(struct prog_test_member *p) __weak __ksym;\nextern void bpf_kfunc_call_test_release(struct prog_test_ref_kfunc *p) __weak __ksym;\nextern struct bpf_list_node *bpf_list_pop_back(struct bpf_list_head *head) __weak __ksym;\nextern struct bpf_list_node *bpf_list_pop_front(struct bpf_list_head *head) __weak __ksym;\nextern int bpf_list_push_back_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym;\nextern int bpf_list_push_front_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym;\nextern void bpf_local_irq_restore(long unsigned int *flags__irq_flag) __weak __ksym;\nextern void bpf_local_irq_save(long unsigned int *flags__irq_flag) __weak __ksym;\nextern struct bpf_key *bpf_lookup_system_key(u64 id) __weak __ksym;\nextern struct bpf_key *bpf_lookup_user_key(u32 serial, u64 flags) __weak __ksym;\nextern s64 bpf_map_sum_elem_count(const struct bpf_map *map) __weak __ksym;\nextern int bpf_modify_return_test(int a, int *b) __weak __ksym;\nextern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, char f, int g) __weak __ksym;\nextern int bpf_modify_return_test_tp(int nonce) __weak __ksym;\nextern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym;\nextern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym;\nextern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym;\nextern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym;\nextern void bpf_preempt_disable(void) __weak __ksym;\nextern void bpf_preempt_enable(void) __weak __ksym;\nextern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym;\nextern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym;\nextern struct bpf_rb_node *bpf_rbtree_remove(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym;\nextern void bpf_rcu_read_lock(void) __weak __ksym;\nextern void bpf_rcu_read_unlock(void) __weak __ksym;\nextern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym;\nextern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym;\nextern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym;\nextern __u64 *bpf_session_cookie(void) __weak __ksym;\nextern bool bpf_session_is_return(void) __weak __ksym;\nextern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym;\nextern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym;\nextern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym;\nextern struct task_struct *bpf_task_acquire(struct task_struct *p) __weak __ksym;\nextern struct task_struct *bpf_task_from_pid(s32 pid) __weak __ksym;\nextern struct task_struct *bpf_task_from_vpid(s32 vpid) __weak __ksym;\nextern struct cgroup *bpf_task_get_cgroup1(struct task_struct *task, int hierarchy_id) __weak __ksym;\nextern void bpf_task_release(struct task_struct *p) __weak __ksym;\nextern long int bpf_task_under_cgroup(struct task_struct *task, struct cgroup *ancestor) __weak __ksym;\nextern void bpf_throw(u64 cookie) __weak __ksym;\nextern int bpf_verify_pkcs7_signature(struct bpf_dynptr *data_p, struct bpf_dynptr *sig_p, struct bpf_key *trusted_keyring) __weak __ksym;\nextern int bpf_wq_init(struct bpf_wq *wq, void *p__map, unsigned int flags) __weak __ksym;\nextern int bpf_wq_set_callback_impl(struct bpf_wq *wq, int (*callback_fn)(void *, int *, void *), unsigned int flags, void *aux__ign) __weak __ksym;\nextern int bpf_wq_start(struct bpf_wq *wq, unsigned int flags) __weak __ksym;\nextern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, u32 *hash, enum xdp_rss_hash_type *rss_type) __weak __ksym;\nextern int bpf_xdp_metadata_rx_timestamp(const struct xdp_md *ctx, u64 *timestamp) __weak __ksym;\nextern int bpf_xdp_metadata_rx_vlan_tag(const struct xdp_md *ctx, __be16 *vlan_proto, u16 *vlan_tci) __weak __ksym;\nextern void cgroup_rstat_flush(struct cgroup *cgrp) __weak __ksym;\nextern void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) __weak __ksym;\nextern void crash_kexec(struct pt_regs *regs) __weak __ksym;\nextern void cubictcp_acked(struct sock *sk, const struct ack_sample *sample) __weak __ksym;\nextern void cubictcp_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym;\nextern void cubictcp_cwnd_event(struct sock *sk, enum tcp_ca_event event) __weak __ksym;\nextern void cubictcp_init(struct sock *sk) __weak __ksym;\nextern u32 cubictcp_recalc_ssthresh(struct sock *sk) __weak __ksym;\nextern void cubictcp_state(struct sock *sk, u8 new_state) __weak __ksym;\nextern void tcp_cong_avoid_ai(struct tcp_sock *tp, u32 w, u32 acked) __weak __ksym;\nextern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym;\nextern u32 tcp_reno_ssthresh(struct sock *sk) __weak __ksym;\nextern u32 tcp_reno_undo_cwnd(struct sock *sk) __weak __ksym;\nextern u32 tcp_slow_start(struct tcp_sock *tp, u32 acked) __weak __ksym;\n#endif\n\n#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n#pragma clang attribute pop\n#endif\n\n#endif /* __VMLINUX_H__ */\n"
  },
  {
    "path": "libbpf-tools/bashreadline.bpf.c",
    "content": "/* SPDX-License-Identifier: GPL-2.0 */\n/* Copyright (c) 2021 Facebook */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"bashreadline.h\"\n\n#define TASK_COMM_LEN 16\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} events SEC(\".maps\");\n\nSEC(\"uretprobe/readline\")\nint BPF_URETPROBE(printret, const void *ret) {\n\tstruct str_t data;\n\tchar comm[TASK_COMM_LEN];\n\tu32 pid;\n\n\tif (!ret)\n\t\treturn 0;\n\n\tbpf_get_current_comm(&comm, sizeof(comm));\n\tif (comm[0] != 'b' || comm[1] != 'a' || comm[2] != 's' || comm[3] != 'h' || comm[4] != 0 )\n\t\treturn 0;\n\n\tpid = bpf_get_current_pid_tgid() >> 32;\n\tdata.pid = pid;\n\tbpf_probe_read_user_str(&data.str, sizeof(data.str), ret);\n\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &data, sizeof(data));\n\n\treturn 0;\n};\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/bashreadline.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021 Facebook */\n#include <argp.h>\n#include <stdio.h>\n#include <errno.h>\n#include <signal.h>\n#include <time.h>\n#include <unistd.h>\n#include <ctype.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"bashreadline.h\"\n#include \"bashreadline.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n#include \"uprobe_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t16\n#define PERF_POLL_TIMEOUT_MS\t100\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\nstatic volatile sig_atomic_t exiting = 0;\n\nconst char *argp_program_version = \"bashreadline 1.0\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Print entered bash commands from all running shells.\\n\"\n\"\\n\"\n\"USAGE: bashreadline [-s <path/to/libreadline.so>]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    bashreadline\\n\"\n\"    bashreadline -s /usr/lib/libreadline.so\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"shared\", 's', \"PATH\", 0, \"the location of libreadline.so library\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic char *libreadline_path = NULL;\nstatic bool verbose = false;\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tswitch (key) {\n\tcase 's':\n\t\tlibreadline_path = strdup(arg);\n\t\tif (libreadline_path == NULL)\n\t\t\treturn ARGP_ERR_UNKNOWN;\n\t\tbreak;\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_size)\n{\n\tstruct str_t *e = data;\n\tchar ts[16];\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\n\tprintf(\"%-9s %-7d %s\\n\", ts, e->pid, e->str);\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\twarn(\"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nstatic char *find_readline_function_name(const char *bash_path)\n{\n  bool found = false;\n  int fd = -1;\n  Elf *elf = NULL;\n  Elf_Scn *scn = NULL;\n  GElf_Shdr shdr;\n\n\n  elf = open_elf(bash_path, &fd);\n\n  while ((scn = elf_nextscn(elf, scn)) != NULL && !found) {\n    gelf_getshdr(scn, &shdr);\n    if (shdr.sh_type == SHT_SYMTAB || shdr.sh_type == SHT_DYNSYM) {\n      Elf_Data *data = elf_getdata(scn, NULL);\n      if (data != NULL) {\n        GElf_Sym *symtab = (GElf_Sym *) data->d_buf;\n        int sym_count = shdr.sh_size / shdr.sh_entsize;\n        for (int i = 0; i < sym_count; ++i) {\n          if(strcmp(\"readline_internal_teardown\", elf_strptr(elf, shdr.sh_link, symtab[i].st_name)) == 0){\n            found = true;\n            break;\n          }\n        }\n    \t}\n    }\n  }\n\n  close_elf(elf,fd);\n  if (found)\n    return \"readline_internal_teardown\";\n  else\n    return \"readline\";\n}\n\nstatic char *find_readline_so()\n{\n\tconst char *bash_path = \"/bin/bash\";\n\tFILE *fp;\n\toff_t func_off;\n\tchar *line = NULL;\n\tsize_t line_sz = 0;\n\tchar path[128];\n\tchar *result = NULL;\n\n\tfunc_off = get_elf_func_offset(bash_path, find_readline_function_name(bash_path));\n\tif (func_off >= 0)\n\t\treturn strdup(bash_path);\n\n\t/*\n\t * Try to find libreadline.so if readline is not defined in\n\t * bash itself.\n\t *\n\t * ldd will print a list of names of shared objects,\n\t * dependencies, and their paths.  The line for libreadline\n\t * would looks like\n\t *\n\t *      libreadline.so.8 => /usr/lib/libreadline.so.8 (0x00007b....)\n\t *\n\t * Here, it finds a line with libreadline.so and extracts the\n\t * path after the arrow, '=>', symbol.\n\t */\n\tfp = popen(\"ldd /bin/bash\", \"r\");\n\tif (fp == NULL)\n\t\tgoto cleanup;\n\twhile (getline(&line, &line_sz, fp) >= 0) {\n\t\tif (sscanf(line, \"%*s => %127s\", path) < 1)\n\t\t\tcontinue;\n\t\tif (strstr(line, \"/libreadline.so\")) {\n\t\t\tresult = strdup(path);\n\t\t\tbreak;\n\t\t}\n\t}\n\ncleanup:\n\tif (line)\n\t\tfree(line);\n\tif (fp)\n\t\tpclose(fp);\n\treturn result;\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct bashreadline_bpf *obj = NULL;\n\tstruct perf_buffer *pb = NULL;\n\tchar *readline_so_path;\n\toff_t func_off;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\tif (libreadline_path) {\n\t\treadline_so_path = libreadline_path;\n\t} else if ((readline_so_path = find_readline_so()) == NULL) {\n\t\twarn(\"failed to find readline\\n\");\n\t\treturn 1;\n\t}\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\twarn(\"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\tgoto cleanup;\n\t}\n\n\tobj = bashreadline_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\tgoto cleanup;\n\t}\n\n\terr = bashreadline_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tfunc_off = get_elf_func_offset(readline_so_path, find_readline_function_name(readline_so_path));\n\tif (func_off < 0) {\n\t\twarn(\"cound not find readline in %s\\n\", readline_so_path);\n\t\tgoto cleanup;\n\t}\n\n\tobj->links.printret = bpf_program__attach_uprobe(obj->progs.printret, true, -1,\n\t\t\t\t\t\t\t readline_so_path, func_off);\n\tif (!obj->links.printret) {\n\t\terr = -errno;\n\t\twarn(\"failed to attach readline: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\twarn(\"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"%-9s %-7s %s\\n\", \"TIME\", \"PID\", \"COMMAND\");\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\twarn(\"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\terr = 0;\n\t}\n\ncleanup:\n\tif (readline_so_path)\n\t\tfree(readline_so_path);\n\tperf_buffer__free(pb);\n\tbashreadline_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/bashreadline.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021 Facebook */\n#ifndef __BASHREADLINE_H\n#define __BASHREADLINE_H\n\n#define MAX_LINE_SIZE 80\n\nstruct str_t {\n\t__u32 pid;\n\tchar str[MAX_LINE_SIZE];\n};\n\n#endif /* __BASHREADLINE_H */\n"
  },
  {
    "path": "libbpf-tools/bindsnoop.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include <bpf/bpf_endian.h>\n\n#include \"bindsnoop.h\"\n#include \"core_fixes.bpf.h\"\n\n#define MAX_ENTRIES\t10240\n#define MAX_PORTS\t1024\n\nconst volatile bool filter_cg = false;\nconst volatile pid_t target_pid = 0;\nconst volatile bool ignore_errors = true;\nconst volatile bool filter_by_port = false;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, __u32);\n\t__type(value, struct socket *);\n} sockets SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_PORTS);\n\t__type(key, __u16);\n\t__type(value, __u16);\n} ports SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} events SEC(\".maps\");\n\nstatic int probe_entry(struct pt_regs *ctx, struct socket *socket)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tbpf_map_update_elem(&sockets, &tid, &socket, BPF_ANY);\n\treturn 0;\n};\n\nstatic int probe_exit(struct pt_regs *ctx, short ver)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\tstruct socket **socketp, *socket;\n\tstruct inet_sock *inet_sock;\n\tstruct sock *sock;\n\tunion bind_options opts;\n\tstruct bind_event event = {};\n\t__u16 sport = 0, *port;\n\tint ret;\n\n\tsocketp = bpf_map_lookup_elem(&sockets, &tid);\n\tif (!socketp)\n\t\treturn 0;\n\n\tret = PT_REGS_RC(ctx);\n\tif (ignore_errors && ret != 0)\n\t\tgoto cleanup;\n\n\tsocket = *socketp;\n\tsock = BPF_CORE_READ(socket, sk);\n\tinet_sock = (struct inet_sock *)sock;\n\n\tsport = bpf_ntohs(BPF_CORE_READ(inet_sock, inet_sport));\n\tport = bpf_map_lookup_elem(&ports, &sport);\n\tif (filter_by_port && !port)\n\t\tgoto cleanup;\n\n\topts.fields.freebind             = get_inet_sock_freebind(inet_sock);\n\topts.fields.transparent          = get_inet_sock_transparent(inet_sock);\n\topts.fields.bind_address_no_port = get_inet_sock_bind_address_no_port(inet_sock);\n\topts.fields.reuseaddress         = BPF_CORE_READ_BITFIELD_PROBED(sock, __sk_common.skc_reuse);\n\topts.fields.reuseport            = BPF_CORE_READ_BITFIELD_PROBED(sock, __sk_common.skc_reuseport);\n\tevent.opts = opts.data;\n\tevent.ts_us = bpf_ktime_get_ns() / 1000;\n\tevent.pid = pid;\n\tevent.port = sport;\n\tevent.bound_dev_if = BPF_CORE_READ(sock, __sk_common.skc_bound_dev_if);\n\tevent.ret = ret;\n\tevent.proto = BPF_CORE_READ_BITFIELD_PROBED(sock, sk_protocol);\n\tbpf_get_current_comm(&event.task, sizeof(event.task));\n\tif (ver == 4) {\n\t\tevent.ver = ver;\n\t\tbpf_probe_read_kernel(&event.addr, sizeof(event.addr), &inet_sock->inet_saddr);\n\t} else { /* ver == 6 */\n\t\tevent.ver = ver;\n\t\tbpf_probe_read_kernel(&event.addr, sizeof(event.addr), sock->__sk_common.skc_v6_rcv_saddr.in6_u.u6_addr32);\n\t}\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));\n\ncleanup:\n\tbpf_map_delete_elem(&sockets, &tid);\n\treturn 0;\n}\n\nSEC(\"kprobe/inet_bind\")\nint BPF_KPROBE(ipv4_bind_entry, struct socket *socket)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn probe_entry(ctx, socket);\n}\n\nSEC(\"kretprobe/inet_bind\")\nint BPF_KRETPROBE(ipv4_bind_exit)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn probe_exit(ctx, 4);\n}\n\nSEC(\"kprobe/inet6_bind\")\nint BPF_KPROBE(ipv6_bind_entry, struct socket *socket)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn probe_entry(ctx, socket);\n}\n\nSEC(\"kretprobe/inet6_bind\")\nint BPF_KRETPROBE(ipv6_bind_exit)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn probe_exit(ctx, 6);\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/bindsnoop.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n/*\n * Copyright (c) 2021 Hengqi Chen\n *\n * Based on bindsnoop(8) from BCC by Pavel Dubovitsky.\n * 11-May-2021   Hengqi Chen   Created this.\n */\n#include <argp.h>\n#include <arpa/inet.h>\n#include <errno.h>\n#include <signal.h>\n#include <string.h>\n#include <sys/socket.h>\n#include <time.h>\n#include <unistd.h>\n#include <fcntl.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"bindsnoop.h\"\n#include \"bindsnoop.skel.h\"\n#include \"trace_helpers.h\"\n#include \"btf_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t16\n#define PERF_POLL_TIMEOUT_MS\t100\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\nstatic struct env {\n\tchar\t*cgroupspath;\n\tbool\tcg;\n} env;\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic bool emit_timestamp = false;\nstatic pid_t target_pid = 0;\nstatic bool ignore_errors = true;\nstatic char *target_ports = NULL;\nstatic bool verbose = false;\n\nconst char *argp_program_version = \"bindsnoop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace bind syscalls.\\n\"\n\"\\n\"\n\"USAGE: bindsnoop [-h] [-t] [-x] [-p PID] [-P ports] [-c CG]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    bindsnoop             # trace all bind syscall\\n\"\n\"    bindsnoop -t          # include timestamps\\n\"\n\"    bindsnoop -x          # include errors on output\\n\"\n\"    bindsnoop -p 1216     # only trace PID 1216\\n\"\n\"    bindsnoop -c CG       # Trace process under cgroupsPath CG\\n\"\n\"    bindsnoop -P 80,81    # only trace port 80 and 81\\n\"\n\"\\n\"\n\"Socket options are reported as:\\n\"\n\"  SOL_IP     IP_FREEBIND              F....\\n\"\n\"  SOL_IP     IP_TRANSPARENT           .T...\\n\"\n\"  SOL_IP     IP_BIND_ADDRESS_NO_PORT  ..N..\\n\"\n\"  SOL_SOCKET SO_REUSEADDR             ...R.\\n\"\n\"  SOL_SOCKET SO_REUSEPORT             ....r\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"timestamp\", 't', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ \"failed\", 'x', NULL, 0, \"Include errors on output.\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"ports\", 'P', \"PORTS\", 0, \"Comma-separated list of ports to trace.\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tlong pid, port_num;\n\tchar *port;\n\n\tswitch (key) {\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\twarn(\"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\ttarget_pid = pid;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase 'P':\n\t\tif (!arg) {\n\t\t\twarn(\"No ports specified\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\ttarget_ports = strdup(arg);\n\t\tport = strtok(arg, \",\");\n\t\twhile (port) {\n\t\t\tport_num = strtol(port, NULL, 10);\n\t\t\tif (errno || port_num <= 0 || port_num > 65536) {\n\t\t\t\twarn(\"Invalid ports: %s\\n\", arg);\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t\tport = strtok(NULL, \",\");\n\t\t}\n\t\tbreak;\n\tcase 'x':\n\t\tignore_errors = false;\n\t\tbreak;\n\tcase 't':\n\t\temit_timestamp = true;\n\t\tbreak;\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tstruct bind_event *e = data;\n\tchar ts[32], addr[48];\n\tchar opts[] = {'F', 'T', 'N', 'R', 'r', '\\0'};\n\tconst char *proto;\n\tint i = 0;\n\n\tif (emit_timestamp) {\n\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\tprintf(\"%8s \", ts);\n\t}\n\tif (e->proto == IPPROTO_TCP)\n\t\tproto = \"TCP\";\n\telse if (e->proto == IPPROTO_UDP)\n\t\tproto = \"UDP\";\n\telse\n\t\tproto = \"UNK\";\n\twhile (opts[i]) {\n\t\tif (!((1 << i) & e->opts)) {\n\t\t\topts[i] = '.';\n\t\t}\n\t\ti++;\n\t}\n\tif (e->ver == 4) {\n\t\tinet_ntop(AF_INET, e->addr, addr, sizeof(addr));\n\t} else {\n\t\tinet_ntop(AF_INET6, e->addr, addr, sizeof(addr));\n\t}\n\tprintf(\"%-7d %-16s %-3d %-5s %-5s %-4d %-5d %-48s\\n\",\n\t       e->pid, e->task, e->ret, proto, opts, e->bound_dev_if, e->port, addr);\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\twarn(\"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct bindsnoop_bpf *obj;\n\tint err, port_map_fd;\n\tchar *port;\n\tshort port_num;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = bindsnoop_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tobj->rodata->filter_cg = env.cg;\n\tobj->rodata->target_pid = target_pid;\n\tobj->rodata->ignore_errors = ignore_errors;\n\tobj->rodata->filter_by_port = target_ports != NULL;\n\n\terr = bindsnoop_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\tif (target_ports) {\n\t\tport_map_fd = bpf_map__fd(obj->maps.ports);\n\t\tport = strtok(target_ports, \",\");\n\t\twhile (port) {\n\t\t\tport_num = strtol(port, NULL, 10);\n\t\t\tbpf_map_update_elem(port_map_fd, &port_num, &port_num, BPF_ANY);\n\t\t\tport = strtok(NULL, \",\");\n\t\t}\n\t}\n\n\terr = bindsnoop_bpf__attach(obj);\n\tif (err) {\n\t\twarn(\"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\twarn(\"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tif (emit_timestamp)\n\t\tprintf(\"%-8s \", \"TIME(s)\");\n\tprintf(\"%-7s %-16s %-3s %-5s %-5s %-4s %-5s %-48s\\n\",\n\t       \"PID\", \"COMM\", \"RET\", \"PROTO\", \"OPTS\", \"IF\", \"PORT\", \"ADDR\");\n\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\twarn(\"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\tbindsnoop_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/bindsnoop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __BINDSNOOP_H\n#define __BINDSNOOP_H\n\n#define TASK_COMM_LEN\t16\n\nstruct bind_event {\n\t__u8 addr[16];\n\t__u64 ts_us;\n\t__u32 pid;\n\t__u32 bound_dev_if;\n\tint ret;\n\t__u16 port;\n\t__u16 proto;\n\t__u8 opts;\n\t__u8 ver;\n\tchar task[TASK_COMM_LEN];\n};\n\nunion bind_options {\n\t__u8 data;\n\tstruct {\n\t\t__u8 freebind : 1;\n\t\t__u8 transparent : 1;\n\t\t__u8 bind_address_no_port : 1;\n\t\t__u8 reuseaddress : 1;\n\t\t__u8 reuseport : 1;\n\t} fields;\n};\n\n#endif /* __BINDSNOOP_H */\n"
  },
  {
    "path": "libbpf-tools/biolatency.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n\n#include \"biolatency.h\"\n#include \"bits.bpf.h\"\n#include \"core_fixes.bpf.h\"\n\n#define MAX_ENTRIES\t10240\n\nextern int LINUX_KERNEL_VERSION __kconfig;\n\nconst volatile bool filter_cg = false;\nconst volatile bool targ_per_disk = false;\nconst volatile bool targ_per_flag = false;\nconst volatile bool targ_queued = false;\nconst volatile bool targ_ms = false;\nconst volatile bool filter_dev = false;\nconst volatile __u32 targ_dev = 0;\nconst volatile bool targ_single = true;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct request *);\n\t__type(value, u64);\n} start SEC(\".maps\");\n\nstatic struct hist initial_hist;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct hist_key);\n\t__type(value, struct hist);\n} hists SEC(\".maps\");\n\nstatic int __always_inline trace_rq_start(struct request *rq, int issue)\n{\n\tu64 ts;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tif (issue && targ_queued && BPF_CORE_READ(rq, q, elevator))\n\t\treturn 0;\n\n\tts = bpf_ktime_get_ns();\n\n\tif (filter_dev) {\n\t\tstruct gendisk *disk = get_disk(rq);\n\t\tu32 dev;\n\n\t\tdev = disk ? MKDEV(BPF_CORE_READ(disk, major),\n\t\t\t\tBPF_CORE_READ(disk, first_minor)) : 0;\n\t\tif (targ_dev != dev)\n\t\t\treturn 0;\n\t}\n\tbpf_map_update_elem(&start, &rq, &ts, 0);\n\treturn 0;\n}\n\nstatic int handle_block_rq_insert(__u64 *ctx)\n{\n\t/**\n\t * commit a54895fa (v5.11-rc1) changed tracepoint argument list\n\t * from TP_PROTO(struct request_queue *q, struct request *rq)\n\t * to TP_PROTO(struct request *rq)\n\t */\n\tif (!targ_single)\n\t\treturn trace_rq_start((void *)ctx[1], false);\n\telse\n\t\treturn trace_rq_start((void *)ctx[0], false);\n}\n\nstatic int handle_block_rq_issue(__u64 *ctx)\n{\n\t/**\n\t * commit a54895fa (v5.11-rc1) changed tracepoint argument list\n\t * from TP_PROTO(struct request_queue *q, struct request *rq)\n\t * to TP_PROTO(struct request *rq)\n\t */\n\tif (!targ_single)\n\t\treturn trace_rq_start((void *)ctx[1], true);\n\telse\n\t\treturn trace_rq_start((void *)ctx[0], true);\n}\n\nstatic int handle_block_rq_complete(struct request *rq, int error, unsigned int nr_bytes)\n{\n\tu64 slot, *tsp, ts = bpf_ktime_get_ns();\n\tstruct hist_key hkey = {};\n\tstruct hist *histp;\n\ts64 delta;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\ttsp = bpf_map_lookup_elem(&start, &rq);\n\tif (!tsp)\n\t\treturn 0;\n\n\tdelta = (s64)(ts - *tsp);\n\tif (delta < 0)\n\t\tgoto cleanup;\n\n\tif (targ_per_disk) {\n\t\tstruct gendisk *disk = get_disk(rq);\n\n\t\thkey.dev = disk ? MKDEV(BPF_CORE_READ(disk, major),\n\t\t\t\t\tBPF_CORE_READ(disk, first_minor)) : 0;\n\t}\n\tif (targ_per_flag)\n\t\thkey.cmd_flags = BPF_CORE_READ(rq, cmd_flags);\n\n\thistp = bpf_map_lookup_elem(&hists, &hkey);\n\tif (!histp) {\n\t\tbpf_map_update_elem(&hists, &hkey, &initial_hist, 0);\n\t\thistp = bpf_map_lookup_elem(&hists, &hkey);\n\t\tif (!histp)\n\t\t\tgoto cleanup;\n\t}\n\n\tif (targ_ms)\n\t\tdelta /= 1000000U;\n\telse\n\t\tdelta /= 1000U;\n\tslot = log2l(delta);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&histp->slots[slot], 1);\n\ncleanup:\n\tbpf_map_delete_elem(&start, &rq);\n\treturn 0;\n}\n\nSEC(\"tp_btf/block_rq_insert\")\nint block_rq_insert_btf(u64 *ctx)\n{\n\treturn handle_block_rq_insert(ctx);\n}\n\nSEC(\"tp_btf/block_rq_issue\")\nint block_rq_issue_btf(u64 *ctx)\n{\n\treturn handle_block_rq_issue(ctx);\n}\n\nSEC(\"tp_btf/block_rq_complete\")\nint BPF_PROG(block_rq_complete_btf, struct request *rq, int error, unsigned int nr_bytes)\n{\n\treturn handle_block_rq_complete(rq, error, nr_bytes);\n}\n\nSEC(\"raw_tp/block_rq_insert\")\nint BPF_PROG(block_rq_insert)\n{\n\treturn handle_block_rq_insert(ctx);\n}\n\nSEC(\"raw_tp/block_rq_issue\")\nint BPF_PROG(block_rq_issue)\n{\n\treturn handle_block_rq_issue(ctx);\n}\n\nSEC(\"raw_tp/block_rq_complete\")\nint BPF_PROG(block_rq_complete, struct request *rq, int error, unsigned int nr_bytes)\n{\n\treturn handle_block_rq_complete(rq, error, nr_bytes);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/biolatency.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on biolatency(8) from BCC by Brendan Gregg.\n// 15-Jun-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <sys/resource.h>\n#include <bpf/bpf.h>\n#include <bpf/btf.h>\n#include \"blk_types.h\"\n#include \"biolatency.h\"\n#include \"biolatency.skel.h\"\n#include \"trace_helpers.h\"\n\n#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))\n\nstatic struct env {\n\tchar *disk;\n\ttime_t interval;\n\tint times;\n\tbool timestamp;\n\tbool queued;\n\tbool per_disk;\n\tbool per_flag;\n\tbool milliseconds;\n\tbool verbose;\n\tchar *cgroupspath;\n\tbool cg;\n} env = {\n\t.interval = 99999999,\n\t.times = 99999999,\n};\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"biolatency 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize block device I/O latency as a histogram.\\n\"\n\"\\n\"\n\"USAGE: biolatency [--help] [-T] [-m] [-Q] [-D] [-F] [-d DISK] [-c CG] [interval] [count]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    biolatency              # summarize block I/O latency as a histogram\\n\"\n\"    biolatency 1 10         # print 1 second summaries, 10 times\\n\"\n\"    biolatency -mT 1        # 1s summaries, milliseconds, and timestamps\\n\"\n\"    biolatency -Q           # include OS queued time in I/O time\\n\"\n\"    biolatency -D           # show each disk device separately\\n\"\n\"    biolatency -F           # show I/O flags separately\\n\"\n\"    biolatency -d sdc       # Trace sdc only\\n\"\n\"    biolatency -c CG        # Trace process under cgroupsPath CG\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"timestamp\", 'T', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"milliseconds\", 'm', NULL, 0, \"Millisecond histogram\", 0 },\n\t{ \"queued\", 'Q', NULL, 0, \"Include OS queued time in I/O time\", 0 },\n\t{ \"disk\", 'D', NULL, 0, \"Print a histogram per disk device\", 0 },\n\t{ \"flag\", 'F', NULL, 0, \"Print a histogram per set of I/O flags\", 0 },\n\t{ \"disk\",  'd', \"DISK\",  0, \"Trace this disk only\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'm':\n\t\tenv.milliseconds = true;\n\t\tbreak;\n\tcase 'Q':\n\t\tenv.queued = true;\n\t\tbreak;\n\tcase 'D':\n\t\tenv.per_disk = true;\n\t\tbreak;\n\tcase 'F':\n\t\tenv.per_flag = true;\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase 'd':\n\t\tenv.disk = arg;\n\t\tif (strlen(arg) + 1 > DISK_NAME_LEN) {\n\t\t\tfprintf(stderr, \"invaild disk name: too long\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tenv.interval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tenv.times = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid times\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic void print_cmd_flags(int cmd_flags)\n{\n\tstatic struct { int bit; const char *str; } flags[] = {\n\t\t{ REQ_NOWAIT, \"NoWait-\" },\n\t\t{ REQ_BACKGROUND, \"Background-\" },\n\t\t{ REQ_RAHEAD, \"ReadAhead-\" },\n\t\t{ REQ_PREFLUSH, \"PreFlush-\" },\n\t\t{ REQ_FUA, \"FUA-\" },\n\t\t{ REQ_INTEGRITY, \"Integrity-\" },\n\t\t{ REQ_IDLE, \"Idle-\" },\n\t\t{ REQ_NOMERGE, \"NoMerge-\" },\n\t\t{ REQ_PRIO, \"Priority-\" },\n\t\t{ REQ_META, \"Metadata-\" },\n\t\t{ REQ_SYNC, \"Sync-\" },\n\t};\n\tstatic const char *ops[] = {\n\t\t[REQ_OP_READ] = \"Read\",\n\t\t[REQ_OP_WRITE] = \"Write\",\n\t\t[REQ_OP_FLUSH] = \"Flush\",\n\t\t[REQ_OP_DISCARD] = \"Discard\",\n\t\t[REQ_OP_SECURE_ERASE] = \"SecureErase\",\n\t\t[REQ_OP_ZONE_RESET] = \"ZoneReset\",\n\t\t[REQ_OP_WRITE_SAME] = \"WriteSame\",\n\t\t[REQ_OP_ZONE_RESET_ALL] = \"ZoneResetAll\",\n\t\t[REQ_OP_WRITE_ZEROES] = \"WriteZeroes\",\n\t\t[REQ_OP_ZONE_OPEN] = \"ZoneOpen\",\n\t\t[REQ_OP_ZONE_CLOSE] = \"ZoneClose\",\n\t\t[REQ_OP_ZONE_FINISH] = \"ZoneFinish\",\n\t\t[REQ_OP_SCSI_IN] = \"SCSIIn\",\n\t\t[REQ_OP_SCSI_OUT] = \"SCSIOut\",\n\t\t[REQ_OP_DRV_IN] = \"DrvIn\",\n\t\t[REQ_OP_DRV_OUT] = \"DrvOut\",\n\t};\n\tint i;\n\n\tprintf(\"flags = \");\n\n\tfor (i = 0; i < ARRAY_SIZE(flags); i++) {\n\t\tif (cmd_flags & flags[i].bit)\n\t\t\tprintf(\"%s\", flags[i].str);\n\t}\n\n\tif ((cmd_flags & REQ_OP_MASK) < ARRAY_SIZE(ops))\n\t\tprintf(\"%s\", ops[cmd_flags & REQ_OP_MASK]);\n\telse\n\t\tprintf(\"Unknown\");\n}\n\nstatic int print_log2_hists(struct bpf_map *hists, struct partitions *partitions)\n{\n\tstruct hist_key lookup_key = { .cmd_flags = -1 }, next_key;\n\tconst char *units = env.milliseconds ? \"msecs\" : \"usecs\";\n\tconst struct partition *partition;\n\tint err, fd = bpf_map__fd(hists);\n\tstruct hist hist;\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &hist);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup hist: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tif (env.per_disk) {\n\t\t\tpartition = partitions__get_by_dev(partitions,\n\t\t\t\t\t\t\tnext_key.dev);\n\t\t\tprintf(\"\\ndisk = %s\\t\", partition ? partition->name :\n\t\t\t\t\"Unknown\");\n\t\t}\n\t\tif (env.per_flag)\n\t\t\tprint_cmd_flags(next_key.cmd_flags);\n\t\tprintf(\"\\n\");\n\t\tprint_log2_hist(hist.slots, MAX_SLOTS, units);\n\t\tlookup_key = next_key;\n\t}\n\n\tlookup_key.cmd_flags = -1;\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_delete_elem(fd, &next_key);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to cleanup hist : %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n\n\treturn 0;\n}\n\n/*\n * BTF has a func proto for each tracepoint, let's check it like\n *   typedef void (*btf_trace_block_rq_issue)(void *, struct request *);\n *\n * Actually it's a typedef for a pointer to the func proto.\n */\nstatic bool has_block_rq_issue_single_arg(void)\n{\n\tconst struct btf *btf = btf__load_vmlinux_btf();\n\tconst struct btf_type *t1, *t2, *t3;\n\t__u32 type_id;\n\tbool ret = true;  // assuming recent kernels\n\n\ttype_id = btf__find_by_name_kind(btf, \"btf_trace_block_rq_issue\",\n\t\t\t\t\t BTF_KIND_TYPEDEF);\n\tif ((__s32)type_id < 0)\n\t\treturn ret;\n\n\tt1 = btf__type_by_id(btf, type_id);\n\tif (t1 == NULL)\n\t\treturn ret;\n\n\tt2 = btf__type_by_id(btf, t1->type);\n\tif (t2 == NULL || !btf_is_ptr(t2))\n\t\treturn ret;\n\n\tt3 = btf__type_by_id(btf, t2->type);\n\tif (t3 && btf_is_func_proto(t3))\n\t\tret = (btf_vlen(t3) == 2); // ctx + arg\n\n\treturn ret;\n}\n\nint main(int argc, char **argv)\n{\n\tstruct partitions *partitions = NULL;\n\tconst struct partition *partition;\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct biolatency_bpf *obj;\n\tchar ts[32];\n\tint err;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = biolatency_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tpartitions = partitions__load();\n\tif (!partitions) {\n\t\tfprintf(stderr, \"failed to load partitions info\\n\");\n\t\tgoto cleanup;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tif (env.disk) {\n\t\tpartition = partitions__get_by_name(partitions, env.disk);\n\t\tif (!partition) {\n\t\t\tfprintf(stderr, \"invaild partition name: not exist\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t\tobj->rodata->filter_dev = true;\n\t\tobj->rodata->targ_dev = partition->dev;\n\t}\n\tobj->rodata->targ_per_disk = env.per_disk;\n\tobj->rodata->targ_per_flag = env.per_flag;\n\tobj->rodata->targ_ms = env.milliseconds;\n\tobj->rodata->targ_queued = env.queued;\n\tobj->rodata->filter_cg = env.cg;\n\tobj->rodata->targ_single = has_block_rq_issue_single_arg();\n\n\tif (probe_tp_btf(\"block_rq_insert\")) {\n\t\tbpf_program__set_autoload(obj->progs.block_rq_insert, false);\n\t\tbpf_program__set_autoload(obj->progs.block_rq_issue, false);\n\t\tbpf_program__set_autoload(obj->progs.block_rq_complete, false);\n\t\tif (!env.queued)\n\t\t\tbpf_program__set_autoload(obj->progs.block_rq_insert_btf, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.block_rq_insert_btf, false);\n\t\tbpf_program__set_autoload(obj->progs.block_rq_issue_btf, false);\n\t\tbpf_program__set_autoload(obj->progs.block_rq_complete_btf, false);\n\t\tif (!env.queued)\n\t\t\tbpf_program__set_autoload(obj->progs.block_rq_insert, false);\n\t}\n\n\terr = biolatency_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\terr = biolatency_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\n\tprintf(\"Tracing block device I/O... Hit Ctrl-C to end.\\n\");\n\n\t/* main: poll */\n\twhile (1) {\n\t\tsleep(env.interval);\n\t\tprintf(\"\\n\");\n\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\terr = print_log2_hists(obj->maps.hists, partitions);\n\t\tif (err)\n\t\t\tbreak;\n\n\t\tif (exiting || --env.times == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\tbiolatency_bpf__destroy(obj);\n\tpartitions__free(partitions);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/biolatency.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __BIOLATENCY_H\n#define __BIOLATENCY_H\n\n#define DISK_NAME_LEN\t32\n#define MAX_SLOTS\t27\n\n#define MINORBITS\t20\n#define MINORMASK\t((1U << MINORBITS) - 1)\n\n#define MKDEV(ma, mi)\t(((ma) << MINORBITS) | (mi))\n\nstruct hist_key {\n\t__u32 cmd_flags;\n\t__u32 dev;\n};\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n};\n\n#endif /* __BIOLATENCY_H */\n"
  },
  {
    "path": "libbpf-tools/biopattern.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"biopattern.h\"\n#include \"maps.bpf.h\"\n#include \"core_fixes.bpf.h\"\n\nconst volatile bool filter_dev = false;\nconst volatile __u32 targ_dev = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 64);\n\t__type(key, u32);\n\t__type(value, struct counter);\n} counters SEC(\".maps\");\n\nSEC(\"tracepoint/block/block_rq_complete\")\nint handle__block_rq_complete(void *args)\n{\n\tstruct counter *counterp, zero = {};\n\tsector_t sector;\n\tu32 nr_sector;\n\tu32 dev;\n\n\tif (has_block_rq_completion()) {\n\t\tstruct trace_event_raw_block_rq_completion___x *ctx = args;\n\t\tsector = BPF_CORE_READ(ctx, sector);\n\t\tnr_sector = BPF_CORE_READ(ctx, nr_sector);\n\t\tdev = BPF_CORE_READ(ctx, dev);\n\t} else {\n\t\tstruct trace_event_raw_block_rq_complete___x *ctx = args;\n\t\tsector = BPF_CORE_READ(ctx, sector);\n\t\tnr_sector = BPF_CORE_READ(ctx, nr_sector);\n\t\tdev = BPF_CORE_READ(ctx, dev);\n\t}\n\n\tif (filter_dev && targ_dev != dev)\n\t\treturn 0;\n\n\tcounterp = bpf_map_lookup_or_try_init(&counters, &dev, &zero);\n\tif (!counterp)\n\t\treturn 0;\n\tif (counterp->last_sector) {\n\t\tif (counterp->last_sector == sector)\n\t\t\t__sync_fetch_and_add(&counterp->sequential, 1);\n\t\telse\n\t\t\t__sync_fetch_and_add(&counterp->random, 1);\n\t\t__sync_fetch_and_add(&counterp->bytes, nr_sector * 512);\n\t}\n\tcounterp->last_sector = sector + nr_sector;\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/biopattern.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on biopattern(8) from BPF-Perf-Tools-Book by Brendan Gregg.\n// 17-Jun-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"biopattern.h\"\n#include \"biopattern.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\nstatic struct env {\n\tchar *disk;\n\ttime_t interval;\n\tbool timestamp;\n\tbool verbose;\n\tint times;\n} env = {\n\t.interval = 99999999,\n\t.times = 99999999,\n};\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"biopattern 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Show block device I/O pattern.\\n\"\n\"\\n\"\n\"USAGE: biopattern [--help] [-T] [-d DISK] [interval] [count]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    biopattern              # show block I/O pattern\\n\"\n\"    biopattern 1 10         # print 1 second summaries, 10 times\\n\"\n\"    biopattern -T 1         # 1s summaries with timestamps\\n\"\n\"    biopattern -d sdc       # trace sdc only\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"timestamp\", 'T', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"disk\",  'd', \"DISK\",  0, \"Trace this disk only\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'd':\n\t\tenv.disk = arg;\n\t\tif (strlen(arg) + 1 > DISK_NAME_LEN) {\n\t\t\tfprintf(stderr, \"invaild disk name: too long\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tenv.interval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tenv.times = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid times\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic int print_map(struct bpf_map *counters, struct partitions *partitions)\n{\n\t__u32 total, lookup_key = -1, next_key;\n\tint err, fd = bpf_map__fd(counters);\n\tconst struct partition *partition;\n\tstruct counter counter;\n\tchar ts[32];\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &counter);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup counters: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tlookup_key = next_key;\n\t\ttotal = counter.sequential + counter.random;\n\t\tif (!total)\n\t\t\tcontinue;\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-9s \", ts);\n\t\t}\n\t\tpartition = partitions__get_by_dev(partitions, next_key);\n\t\tprintf(\"%-7s %5ld %5ld %8d %10lld\\n\",\n\t\t\tpartition ? partition->name : \"Unknown\",\n\t\t\tcounter.random * 100L / total,\n\t\t\tcounter.sequential * 100L / total, total,\n\t\t\tcounter.bytes / 1024);\n\t}\n\n\tlookup_key = -1;\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_delete_elem(fd, &next_key);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to cleanup counters: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstruct partitions *partitions = NULL;\n\tconst struct partition *partition;\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct biopattern_bpf *obj;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = biopattern_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tpartitions = partitions__load();\n\tif (!partitions) {\n\t\tfprintf(stderr, \"failed to load partitions info\\n\");\n\t\tgoto cleanup;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tif (env.disk) {\n\t\tpartition = partitions__get_by_name(partitions, env.disk);\n\t\tif (!partition) {\n\t\t\tfprintf(stderr, \"invaild partition name: not exist\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t\tobj->rodata->filter_dev = true;\n\t\tobj->rodata->targ_dev = partition->dev;\n\t}\n\n\terr = biopattern_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = biopattern_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\n\tprintf(\"Tracing block device I/O requested seeks... Hit Ctrl-C to \"\n\t\t\"end.\\n\");\n\tif (env.timestamp)\n\t\tprintf(\"%-9s \", \"TIME\");\n\tprintf(\"%-7s %5s %5s %8s %10s\\n\", \"DISK\", \"%RND\", \"%SEQ\",\n\t\t\"COUNT\", \"KBYTES\");\n\n\t/* main: poll */\n\twhile (1) {\n\t\tsleep(env.interval);\n\n\t\terr = print_map(obj->maps.counters, partitions);\n\t\tif (err)\n\t\t\tbreak;\n\n\t\tif (exiting || --env.times == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\tbiopattern_bpf__destroy(obj);\n\tpartitions__free(partitions);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/biopattern.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n#ifndef __BIOPATTERN_H\n#define __BIOPATTERN_H\n\n#define DISK_NAME_LEN\t32\n\nstruct counter {\n\t__u64 last_sector;\n\t__u64 bytes;\n\t__u32 sequential;\n\t__u32 random;\n};\n\n#endif /* __BIOPATTERN_H */\n"
  },
  {
    "path": "libbpf-tools/biosnoop.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"biosnoop.h\"\n#include \"core_fixes.bpf.h\"\n\n#define MAX_ENTRIES\t10240\n\nconst volatile bool filter_cg = false;\nconst volatile bool targ_queued = false;\nconst volatile bool filter_dev = false;\nconst volatile __u32 targ_dev = 0;\nconst volatile __u64 min_ns = 0;\n\nextern __u32 LINUX_KERNEL_VERSION __kconfig;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct piddata {\n\tchar comm[TASK_COMM_LEN];\n\tu32 pid;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct request *);\n\t__type(value, struct piddata);\n} infobyreq SEC(\".maps\");\n\nstruct stage {\n\tu64 insert;\n\tu64 issue;\n\t__u32 dev;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct request *);\n\t__type(value, struct stage);\n} start SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(u32));\n\t__uint(value_size, sizeof(u32));\n} events SEC(\".maps\");\n\nstatic __always_inline\nint trace_pid(struct request *rq)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\tstruct piddata piddata = {};\n\n\tpiddata.pid = id >> 32;\n\tbpf_get_current_comm(&piddata.comm, sizeof(piddata.comm));\n\tbpf_map_update_elem(&infobyreq, &rq, &piddata, 0);\n\treturn 0;\n}\n\nSEC(\"fentry/blk_account_io_start\")\nint BPF_PROG(blk_account_io_start, struct request *rq)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn trace_pid(rq);\n}\n\nSEC(\"tp_btf/block_io_start\")\nint BPF_PROG(block_io_start, struct request *rq)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn trace_pid(rq);\n}\n\nSEC(\"kprobe/blk_account_io_merge_bio\")\nint BPF_KPROBE(blk_account_io_merge_bio, struct request *rq)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn trace_pid(rq);\n}\n\nstatic __always_inline\nint trace_rq_start(struct request *rq, bool insert)\n{\n\tstruct stage *stagep, stage = {};\n\tu64 ts = bpf_ktime_get_ns();\n\n\tstagep = bpf_map_lookup_elem(&start, &rq);\n\tif (!stagep) {\n\t\tstruct gendisk *disk = get_disk(rq);\n\n\t\tstage.dev = disk ? MKDEV(BPF_CORE_READ(disk, major),\n\t\t\t\tBPF_CORE_READ(disk, first_minor)) : 0;\n\t\tif (filter_dev && targ_dev != stage.dev)\n\t\t\treturn 0;\n\t\tstagep = &stage;\n\t}\n\tif (insert)\n\t\tstagep->insert = ts;\n\telse\n\t\tstagep->issue = ts;\n\tif (stagep == &stage)\n\t\tbpf_map_update_elem(&start, &rq, stagep, 0);\n\treturn 0;\n}\n\nSEC(\"tp_btf/block_rq_insert\")\nint BPF_PROG(block_rq_insert)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\t/**\n\t * commit a54895fa (block: remove the request_queue to argument\n\t * request based tracepoints) changed tracepoint argument list\n\t * from TP_PROTO(struct request_queue *q, struct request *rq)\n\t * to TP_PROTO(struct request *rq)\n\t * see:\n\t *     https://github.com/torvalds/linux/commit/a54895fa\n\t */\n\tif (LINUX_KERNEL_VERSION >= KERNEL_VERSION(5, 10, 137))\n\t\treturn trace_rq_start((void *)ctx[0], true);\n\telse\n\t\treturn trace_rq_start((void *)ctx[1], true);\n}\n\nSEC(\"tp_btf/block_rq_issue\")\nint BPF_PROG(block_rq_issue)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\t/**\n\t * commit a54895fa (block: remove the request_queue to argument\n\t * request based tracepoints) changed tracepoint argument list\n\t * from TP_PROTO(struct request_queue *q, struct request *rq)\n\t * to TP_PROTO(struct request *rq)\n\t * see:\n\t *     https://github.com/torvalds/linux/commit/a54895fa\n\t */\n\tif (LINUX_KERNEL_VERSION >= KERNEL_VERSION(5, 10, 137))\n\t\treturn trace_rq_start((void *)ctx[0], false);\n\telse\n\t\treturn trace_rq_start((void *)ctx[1], false);\n}\n\nSEC(\"tp_btf/block_rq_complete\")\nint BPF_PROG(block_rq_complete, struct request *rq, int error,\n\t     unsigned int nr_bytes)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tu64 ts = bpf_ktime_get_ns();\n\tstruct piddata *piddatap;\n\tstruct event event = {};\n\tstruct stage *stagep;\n\ts64 delta;\n\n\tstagep = bpf_map_lookup_elem(&start, &rq);\n\tif (!stagep)\n\t\treturn 0;\n\tdelta = (s64)(ts - stagep->issue);\n\tif (delta < 0 || delta < min_ns)\n\t\tgoto cleanup;\n\tpiddatap = bpf_map_lookup_elem(&infobyreq, &rq);\n\tif (!piddatap) {\n\t\tevent.comm[0] = '?';\n\t} else {\n\t\t__builtin_memcpy(&event.comm, piddatap->comm,\n\t\t\t\tsizeof(event.comm));\n\t\tevent.pid = piddatap->pid;\n\t}\n\tevent.delta = delta;\n\tif (targ_queued && BPF_CORE_READ(rq, q, elevator)) {\n\t\tif (!stagep->insert)\n\t\t\tevent.qdelta = -1; /* missed or don't insert entry */\n\t\telse\n\t\t\tevent.qdelta = stagep->issue - stagep->insert;\n\t}\n\tevent.ts = ts;\n\tevent.sector = BPF_CORE_READ(rq, __sector);\n\tevent.len = BPF_CORE_READ(rq, __data_len);\n\tevent.cmd_flags = BPF_CORE_READ(rq, cmd_flags);\n\tevent.dev = stagep->dev;\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event,\n\t\t\tsizeof(event));\n\ncleanup:\n\tbpf_map_delete_elem(&start, &rq);\n\tbpf_map_delete_elem(&infobyreq, &rq);\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/biosnoop.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on biosnoop(8) from BCC by Brendan Gregg.\n// 29-Jun-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <unistd.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <sys/resource.h>\n#include <bpf/bpf.h>\n#include <fcntl.h>\n#include \"blk_types.h\"\n#include \"biosnoop.h\"\n#include \"biosnoop.skel.h\"\n#include \"trace_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t16\n#define PERF_POLL_TIMEOUT_MS\t100\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic struct env {\n\t__u64 min_lat_ms;\n\tchar *disk;\n\tint duration;\n\tbool timestamp;\n\tbool queued;\n\tbool verbose;\n\tchar *cgroupspath;\n\tbool cg;\n} env = {};\n\nstatic volatile __u64 start_ts;\n\nconst char *argp_program_version = \"biosnoop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace block I/O.\\n\"\n\"\\n\"\n\"USAGE: biosnoop [--help] [-d DISK] [-c CG] [-Q]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    biosnoop              # trace all block I/O\\n\"\n\"    biosnoop -Q           # include OS queued time in I/O time\\n\"\n\"    biosnoop -t           # use timestamps instead\\n\"\n\"    biosnoop 10           # trace for 10 seconds only\\n\"\n\"    biosnoop -d sdc       # trace sdc only\\n\"\n\"    biosnoop -c CG        # Trace process under cgroupsPath CG\\n\"\n\"    biosnoop -m 1         # trace for slower than 1ms\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"queued\", 'Q', NULL, 0, \"Include OS queued time in I/O time\", 0 },\n\t{ \"disk\",  'd', \"DISK\",  0, \"Trace this disk only\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified/CG\", 0, \"Trace process in cgroup path\", 0 },\n\t{ \"min\", 'm', \"MIN\", 0, \"Min latency to trace, in ms\", 0 },\n\t{ \"timestamp\", 't', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'Q':\n\t\tenv.queued = true;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cg = true;\n\t\tenv.cgroupspath = arg;\n\t\tbreak;\n\tcase 'd':\n\t\tenv.disk = arg;\n\t\tif (strlen(arg) + 1 > DISK_NAME_LEN) {\n\t\t\tfprintf(stderr, \"invaild disk name: too long\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'm':\n\t\terrno = 0;\n\t\tenv.min_lat_ms = strtoll(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid latency (in us): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 't':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tif (pos_args++) {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\terrno = 0;\n\t\tenv.duration = strtoll(arg, NULL, 10);\n\t\tif (errno || env.duration <= 0) {\n\t\t\tfprintf(stderr, \"invalid delay (in us): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic void blk_fill_rwbs(char *rwbs, unsigned int op)\n{\n\tint i = 0;\n\n\tif (op & REQ_PREFLUSH)\n\t\trwbs[i++] = 'F';\n\n\tswitch (op & REQ_OP_MASK) {\n\tcase REQ_OP_WRITE:\n\tcase REQ_OP_WRITE_SAME:\n\t\trwbs[i++] = 'W';\n\t\tbreak;\n\tcase REQ_OP_DISCARD:\n\t\trwbs[i++] = 'D';\n\t\tbreak;\n\tcase REQ_OP_SECURE_ERASE:\n\t\trwbs[i++] = 'D';\n\t\trwbs[i++] = 'E';\n\t\tbreak;\n\tcase REQ_OP_FLUSH:\n\t\trwbs[i++] = 'F';\n\t\tbreak;\n\tcase REQ_OP_READ:\n\t\trwbs[i++] = 'R';\n\t\tbreak;\n\tdefault:\n\t\trwbs[i++] = 'N';\n\t}\n\n\tif (op & REQ_FUA)\n\t\trwbs[i++] = 'F';\n\tif (op & REQ_RAHEAD)\n\t\trwbs[i++] = 'A';\n\tif (op & REQ_SYNC)\n\t\trwbs[i++] = 'S';\n\tif (op & REQ_META)\n\t\trwbs[i++] = 'M';\n\n\trwbs[i] = '\\0';\n}\n\nstatic struct partitions *partitions;\n\nvoid handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tconst struct partition *partition;\n\tstruct event e;\n\tchar rwbs[RWBS_LEN];\n\tstruct timespec ct;\n\tchar ts[32];\n\n        if (data_sz < sizeof(e)) {\n\t\tprintf(\"Error: packet too small\\n\");\n\t\treturn;\n\t}\n\t/* Copy data as alignment in the perf buffer isn't guaranteed. */\n\tmemcpy(&e, data, sizeof(e));\n\n\tif (env.timestamp) {\n\t\t/* Since `bpf_ktime_get_boot_ns` requires at least 5.8 kernel,\n\t\t * so get time from usespace instead */\n\t\tclock_gettime(CLOCK_REALTIME, &ct);\n\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\tprintf(\"%-8s.%03ld \", ts, ct.tv_nsec / 1000000);\n\t} else {\n\t\tif (!start_ts) {\n\t\t\tstart_ts = e.ts;\n\t\t}\n\t\tprintf(\"%-11.6f \",(e.ts - start_ts) / 1000000000.0);\n\t}\n\tblk_fill_rwbs(rwbs, e.cmd_flags);\n\tpartition = partitions__get_by_dev(partitions, e.dev);\n\tprintf(\"%-14.14s %-7d %-7s %-4s %-10lld %-7d \",\n\t\te.comm, e.pid, partition ? partition->name : \"Unknown\", rwbs,\n\t\te.sector, e.len);\n\tif (env.queued)\n\t\tprintf(\"%7.3f \", e.qdelta != -1 ?\n\t\t\te.qdelta / 1000000.0 : -1);\n\tprintf(\"%7.3f\\n\", e.delta / 1000000.0);\n}\n\nvoid handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\tfprintf(stderr, \"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nstatic void blk_account_io_set_attach_target(struct biosnoop_bpf *obj)\n{\n\tif (fentry_can_attach(\"blk_account_io_start\", NULL))\n\t\tbpf_program__set_attach_target(obj->progs.blk_account_io_start,\n\t\t\t\t\t       0, \"blk_account_io_start\");\n\telse\n\t\tbpf_program__set_attach_target(obj->progs.blk_account_io_start,\n\t\t\t\t\t       0, \"__blk_account_io_start\");\n}\n\nint main(int argc, char **argv)\n{\n\tconst struct partition *partition;\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct ksyms *ksyms = NULL;\n\tstruct biosnoop_bpf *obj;\n\t__u64 time_end = 0;\n\tint err;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = biosnoop_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tpartitions = partitions__load();\n\tif (!partitions) {\n\t\tfprintf(stderr, \"failed to load partitions info\\n\");\n\t\tgoto cleanup;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tif (env.disk) {\n\t\tpartition = partitions__get_by_name(partitions, env.disk);\n\t\tif (!partition) {\n\t\t\tfprintf(stderr, \"invaild partition name: not exist\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t\tobj->rodata->filter_dev = true;\n\t\tobj->rodata->targ_dev = partition->dev;\n\t}\n\tobj->rodata->targ_queued = env.queued;\n\tobj->rodata->filter_cg = env.cg;\n\tobj->rodata->min_ns = env.min_lat_ms * 1000000;\n\n\tif (tracepoint_exists(\"block\", \"block_io_start\"))\n\t\tbpf_program__set_autoload(obj->progs.blk_account_io_start, false);\n\telse {\n\t\tbpf_program__set_autoload(obj->progs.block_io_start, false);\n\t\tblk_account_io_set_attach_target(obj);\n\t}\n\n\tksyms = ksyms__load();\n\tif (!ksyms) {\n\t\tfprintf(stderr, \"failed to load kallsyms\\n\");\n\t\tgoto cleanup;\n\t}\n\tif (!ksyms__get_symbol(ksyms, \"blk_account_io_merge_bio\"))\n\t\tbpf_program__set_autoload(obj->progs.blk_account_io_merge_bio, false);\n\n\tif (!env.queued)\n\t\tbpf_program__set_autoload(obj->progs.block_rq_insert, false);\n\n\terr = biosnoop_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\\n\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\terr = biosnoop_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (env.timestamp) {\n\t\tprintf(\"%-12s \", \"TIMESTAMP\");\n\t} else {\n\t\tprintf(\"%-11s \", \"TIME(s)\");\n\t}\n\tprintf(\"%-14s %-7s %-7s %-4s %-10s %-7s \",\n\t\t\"COMM\", \"PID\", \"DISK\", \"T\", \"SECTOR\", \"BYTES\");\n\tif (env.queued)\n\t\tprintf(\"%7s \", \"QUE(ms)\");\n\tprintf(\"%7s\\n\", \"LAT(ms)\");\n\n\t/* setup duration */\n\tif (env.duration)\n\t\ttime_end = get_ktime_ns() + env.duration * NSEC_PER_SEC;\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\tfprintf(stderr, \"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\t/* main: poll */\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t\tif (env.duration && get_ktime_ns() > time_end)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\tbiosnoop_bpf__destroy(obj);\n\tksyms__free(ksyms);\n\tpartitions__free(partitions);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/biosnoop.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n#ifndef __BIOSNOOP_H\n#define __BIOSNOOP_H\n\n#define DISK_NAME_LEN\t32\n#define TASK_COMM_LEN\t16\n#define RWBS_LEN\t8\n\n#define MINORBITS\t20\n#define MINORMASK\t((1U << MINORBITS) - 1)\n\n#define MKDEV(ma, mi)\t(((ma) << MINORBITS) | (mi))\n\nstruct event {\n\tchar comm[TASK_COMM_LEN];\n\t__u64 delta;\n\t__u64 qdelta;\n\t__u64 ts;\n\t__u64 sector;\n\t__u32 len;\n\t__u32 pid;\n\t__u32 cmd_flags;\n\t__u32 dev;\n};\n\n#endif /* __BIOSNOOP_H */\n"
  },
  {
    "path": "libbpf-tools/biostacks.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"biostacks.h\"\n#include \"bits.bpf.h\"\n#include \"maps.bpf.h\"\n#include \"core_fixes.bpf.h\"\n\n#define MAX_ENTRIES\t10240\n\nconst volatile bool targ_ms = false;\nconst volatile bool filter_dev = false;\nconst volatile __u32 targ_dev = -1;\n\nstruct internal_rqinfo {\n\tu64 start_ts;\n\tstruct rqinfo rqinfo;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct request *);\n\t__type(value, struct internal_rqinfo);\n} rqinfos SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct rqinfo);\n\t__type(value, struct hist);\n} hists SEC(\".maps\");\n\nstatic struct hist zero;\n\nstatic __always_inline\nint trace_start(void *ctx, struct request *rq, bool merge_bio)\n{\n\tstruct internal_rqinfo *i_rqinfop = NULL, i_rqinfo = {};\n\tstruct gendisk *disk = get_disk(rq);\n\tu32 dev;\n\n\tdev = disk ? MKDEV(BPF_CORE_READ(disk, major),\n\t\t\tBPF_CORE_READ(disk, first_minor)) : 0;\n\tif (filter_dev && targ_dev != dev)\n\t\treturn 0;\n\n\tif (merge_bio)\n\t\ti_rqinfop = bpf_map_lookup_elem(&rqinfos, &rq);\n\tif (!i_rqinfop)\n\t\ti_rqinfop = &i_rqinfo;\n\n\ti_rqinfop->start_ts = bpf_ktime_get_ns();\n\ti_rqinfop->rqinfo.pid = bpf_get_current_pid_tgid();\n\ti_rqinfop->rqinfo.kern_stack_size =\n\t\tbpf_get_stack(ctx, i_rqinfop->rqinfo.kern_stack,\n\t\t\tsizeof(i_rqinfop->rqinfo.kern_stack), 0);\n\tbpf_get_current_comm(&i_rqinfop->rqinfo.comm,\n\t\t\tsizeof(&i_rqinfop->rqinfo.comm));\n\ti_rqinfop->rqinfo.dev = dev;\n\n\tif (i_rqinfop == &i_rqinfo)\n\t\tbpf_map_update_elem(&rqinfos, &rq, i_rqinfop, 0);\n\treturn 0;\n}\n\nstatic __always_inline\nint trace_done(void *ctx, struct request *rq)\n{\n\tu64 slot, ts = bpf_ktime_get_ns();\n\tstruct internal_rqinfo *i_rqinfop;\n\tstruct hist *histp;\n\ts64 delta;\n\n\ti_rqinfop = bpf_map_lookup_elem(&rqinfos, &rq);\n\tif (!i_rqinfop)\n\t\treturn 0;\n\tdelta = (s64)(ts - i_rqinfop->start_ts);\n\tif (delta < 0)\n\t\tgoto cleanup;\n\thistp = bpf_map_lookup_or_try_init(&hists, &i_rqinfop->rqinfo, &zero);\n\tif (!histp)\n\t\tgoto cleanup;\n\tif (targ_ms)\n\t\tdelta /= 1000000U;\n\telse\n\t\tdelta /= 1000U;\n\tslot = log2l(delta);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&histp->slots[slot], 1);\n\ncleanup:\n\tbpf_map_delete_elem(&rqinfos, &rq);\n\treturn 0;\n}\n\nSEC(\"kprobe/blk_account_io_merge_bio\")\nint BPF_KPROBE(blk_account_io_merge_bio, struct request *rq)\n{\n\treturn trace_start(ctx, rq, true);\n}\n\nSEC(\"fentry/blk_account_io_start\")\nint BPF_PROG(blk_account_io_start, struct request *rq)\n{\n\treturn trace_start(ctx, rq, false);\n}\n\nSEC(\"fentry/blk_account_io_done\")\nint BPF_PROG(blk_account_io_done, struct request *rq)\n{\n\treturn trace_done(ctx, rq);\n}\n\nSEC(\"tp_btf/block_io_start\")\nint BPF_PROG(block_io_start, struct request *rq)\n{\n\treturn trace_start(ctx, rq, false);\n}\n\nSEC(\"tp_btf/block_io_done\")\nint BPF_PROG(block_io_done, struct request *rq)\n{\n\treturn trace_done(ctx, rq);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/biostacks.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on biostacks(8) from BPF-Perf-Tools-Book by Brendan Gregg.\n// 10-Aug-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"biostacks.h\"\n#include \"biostacks.skel.h\"\n#include \"trace_helpers.h\"\n\nstatic struct env {\n\tchar *disk;\n\tint duration;\n\tbool milliseconds;\n\tbool verbose;\n} env = {\n\t.duration = -1,\n};\n\nconst char *argp_program_version = \"biostacks 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Tracing block I/O with init stacks.\\n\"\n\"\\n\"\n\"USAGE: biostacks [--help] [-d DISK] [-m] [duration]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    biostacks              # trace block I/O with init stacks.\\n\"\n\"    biostacks 1            # trace for 1 seconds only\\n\"\n\"    biostacks -d sdc       # trace sdc only\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"disk\",  'd', \"DISK\",  0, \"Trace this disk only\", 0 },\n\t{ \"milliseconds\", 'm', NULL, 0, \"Millisecond histogram\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'd':\n\t\tenv.disk = arg;\n\t\tif (strlen(arg) + 1 > DISK_NAME_LEN) {\n\t\t\tfprintf(stderr, \"invaild disk name: too long\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'm':\n\t\tenv.milliseconds = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tif (pos_args++) {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\terrno = 0;\n\t\tenv.duration = strtoll(arg, NULL, 10);\n\t\tif (errno || env.duration <= 0) {\n\t\t\tfprintf(stderr, \"invalid delay (in us): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n}\n\nstatic\nvoid print_map(struct ksyms *ksyms, struct partitions *partitions, int fd)\n{\n\tconst char *units = env.milliseconds ? \"msecs\" : \"usecs\";\n\tstruct rqinfo lookup_key = {}, next_key;\n\tconst struct partition *partition;\n\tconst struct ksym *ksym;\n\tint num_stack, i, err;\n\tstruct hist hist;\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &hist);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup hist: %d\\n\", err);\n\t\t\treturn;\n\t\t}\n\t\tpartition = partitions__get_by_dev(partitions, next_key.dev);\n\t\tprintf(\"%-14.14s %-6d %-7s\\n\",\n\t\t\tnext_key.comm, next_key.pid,\n\t\t\tpartition ? partition->name : \"Unknown\");\n\t\tnum_stack = next_key.kern_stack_size /\n\t\t\tsizeof(next_key.kern_stack[0]);\n\t\tfor (i = 0; i < num_stack; i++) {\n\t\t\tksym = ksyms__map_addr(ksyms, next_key.kern_stack[i]);\n\t\t\tprintf(\"%s\\n\", ksym ? ksym->name : \"Unknown\");\n\t\t}\n\t\tprint_log2_hist(hist.slots, MAX_SLOTS, units);\n\t\tprintf(\"\\n\");\n\t\tlookup_key = next_key;\n\t}\n\n\treturn;\n}\n\nstatic bool has_block_io_tracepoints(void)\n{\n\treturn tracepoint_exists(\"block\", \"block_io_start\") &&\n\t\ttracepoint_exists(\"block\", \"block_io_done\");\n}\n\nstatic void disable_block_io_tracepoints(struct biostacks_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.block_io_start, false);\n\tbpf_program__set_autoload(obj->progs.block_io_done, false);\n}\n\nstatic void disable_blk_account_io_fentry(struct biostacks_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.blk_account_io_start, false);\n\tbpf_program__set_autoload(obj->progs.blk_account_io_done, false);\n}\n\nstatic void blk_account_io_set_attach_target(struct biostacks_bpf *obj)\n{\n\tif (fentry_can_attach(\"blk_account_io_start\", NULL)) {\n\t\tbpf_program__set_attach_target(obj->progs.blk_account_io_start,\n\t\t\t\t\t       0, \"blk_account_io_start\");\n\t\tbpf_program__set_attach_target(obj->progs.blk_account_io_done,\n\t\t\t\t\t       0, \"blk_account_io_done\");\n\t} else {\n\t\tbpf_program__set_attach_target(obj->progs.blk_account_io_start,\n\t\t\t\t\t       0, \"__blk_account_io_start\");\n\t\tbpf_program__set_attach_target(obj->progs.blk_account_io_done,\n\t\t\t\t\t       0, \"__blk_account_io_done\");\n\t}\n}\n\nint main(int argc, char **argv)\n{\n\tstruct partitions *partitions = NULL;\n\tconst struct partition *partition;\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct ksyms *ksyms = NULL;\n\tstruct biostacks_bpf *obj;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = biostacks_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tpartitions = partitions__load();\n\tif (!partitions) {\n\t\tfprintf(stderr, \"failed to load partitions info\\n\");\n\t\tgoto cleanup;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tif (env.disk) {\n\t\tpartition = partitions__get_by_name(partitions, env.disk);\n\t\tif (!partition) {\n\t\t\tfprintf(stderr, \"invaild partition name: not exist\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t\tobj->rodata->filter_dev = true;\n\t\tobj->rodata->targ_dev = partition->dev;\n\t}\n\n\tobj->rodata->targ_ms = env.milliseconds;\n\n\tif (has_block_io_tracepoints())\n\t\tdisable_blk_account_io_fentry(obj);\n\telse {\n\t\tdisable_block_io_tracepoints(obj);\n\t\tblk_account_io_set_attach_target(obj);\n\t}\n\n\tksyms = ksyms__load();\n\tif (!ksyms) {\n\t\tfprintf(stderr, \"failed to load kallsyms\\n\");\n\t\tgoto cleanup;\n\t}\n\tif (!ksyms__get_symbol(ksyms, \"blk_account_io_merge_bio\"))\n\t\tbpf_program__set_autoload(obj->progs.blk_account_io_merge_bio, false);\n\n\terr = biostacks_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = biostacks_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\n\tprintf(\"Tracing block I/O with init stacks. Hit Ctrl-C to end.\\n\");\n\tsleep(env.duration);\n\tprint_map(ksyms, partitions, bpf_map__fd(obj->maps.hists));\n\ncleanup:\n\tbiostacks_bpf__destroy(obj);\n\tksyms__free(ksyms);\n\tpartitions__free(partitions);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/biostacks.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __BIOSTACKS_H\n#define __BIOSTACKS_H\n\n#define DISK_NAME_LEN\t32\n#define TASK_COMM_LEN\t16\n#define MAX_SLOTS\t20\n#define MAX_STACK\t20\n\n#define MINORBITS\t20\n#define MINORMASK\t((1U << MINORBITS) - 1)\n\n#define MKDEV(ma, mi)\t(((ma) << MINORBITS) | (mi))\n\nstruct rqinfo {\n\t__u32 pid;\n\tint kern_stack_size;\n\t__u64 kern_stack[MAX_STACK];\n\tchar comm[TASK_COMM_LEN];\n\t__u32 dev;\n};\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n};\n\n#endif /* __BIOSTACKS_H */\n"
  },
  {
    "path": "libbpf-tools/biotop.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2022 Francis Laniel <flaniel@linux.microsoft.com>\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n\n#include \"biotop.h\"\n#include \"maps.bpf.h\"\n#include \"core_fixes.bpf.h\"\n\nconst volatile pid_t target_pid = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, struct request *);\n\t__type(value, struct start_req_t);\n} start SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, struct request *);\n\t__type(value, struct who_t);\n} whobyreq SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, struct info_t);\n\t__type(value, struct val_t);\n} counts SEC(\".maps\");\n\nstatic __always_inline\nint trace_start(struct request *req)\n{\n\tstruct who_t who = {};\n\t__u64 pid_tgid;\n\t__u32 pid;\n\n\t/* cache PID and comm by-req */\n\tpid_tgid = bpf_get_current_pid_tgid();\n\tpid = pid_tgid >> 32;\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tbpf_get_current_comm(&who.name, sizeof(who.name));\n\twho.pid = pid;\n\tbpf_map_update_elem(&whobyreq, &req, &who, 0);\n\n\treturn 0;\n}\n\nSEC(\"kprobe/blk_mq_start_request\")\nint BPF_KPROBE(blk_mq_start_request, struct request *req)\n{\n\t/* time block I/O */\n\tstruct start_req_t start_req;\n\n\tstart_req.ts = bpf_ktime_get_ns();\n\tstart_req.data_len = BPF_CORE_READ(req, __data_len);\n\n\tbpf_map_update_elem(&start, &req, &start_req, 0);\n\treturn 0;\n}\n\nstatic __always_inline\nint trace_done(struct request *req)\n{\n\tstruct val_t *valp, zero = {};\n\tstruct info_t info = {};\n\tstruct start_req_t *startp;\n\tunsigned int cmd_flags;\n\tstruct gendisk *disk;\n\tstruct who_t *whop;\n\tu64 delta_us;\n\tu64 id = bpf_get_current_pid_tgid();\n\tu32 pid = id >> 32;\n\n\tif (target_pid && target_pid != pid)\n\t\tgoto cleanup;\n\n\t/* fetch timestamp and calculate delta */\n\tstartp = bpf_map_lookup_elem(&start, &req);\n\tif (!startp)\n\t\tgoto cleanup;    /* missed tracing issue */\n\n\tdelta_us = (bpf_ktime_get_ns() - startp->ts) / 1000;\n\n\t/* setup info_t key */\n\tcmd_flags = BPF_CORE_READ(req, cmd_flags);\n\n\tdisk = get_disk(req);\n\tinfo.major = BPF_CORE_READ(disk, major);\n\tinfo.minor = BPF_CORE_READ(disk, first_minor);\n\tinfo.rwflag = !!((cmd_flags & REQ_OP_MASK) == REQ_OP_WRITE);\n\n\twhop = bpf_map_lookup_elem(&whobyreq, &req);\n\tif (whop) {\n\t\tinfo.pid = whop->pid;\n\t\t__builtin_memcpy(&info.name, whop->name, sizeof(info.name));\n\t}\n\n\tvalp = bpf_map_lookup_or_try_init(&counts, &info, &zero);\n\n\tif (valp) {\n\t\t/* save stats */\n\t\tvalp->us += delta_us;\n\t\tvalp->bytes += startp->data_len;\n\t\tvalp->io++;\n\t}\n\ncleanup:\n\tbpf_map_delete_elem(&start, &req);\n\tbpf_map_delete_elem(&whobyreq, &req);\n\treturn 0;\n}\n\nSEC(\"kprobe/blk_account_io_start\")\nint BPF_KPROBE(blk_account_io_start, struct request *req)\n{\n\treturn trace_start(req);\n}\n\nSEC(\"kprobe/blk_account_io_done\")\nint BPF_KPROBE(blk_account_io_done, struct request *req)\n{\n\treturn trace_done(req);\n}\n\nSEC(\"kprobe/__blk_account_io_start\")\nint BPF_KPROBE(__blk_account_io_start, struct request *req)\n{\n\treturn trace_start(req);\n}\n\nSEC(\"kprobe/__blk_account_io_done\")\nint BPF_KPROBE(__blk_account_io_done, struct request *req)\n{\n\treturn trace_done(req);\n}\n\nSEC(\"tp_btf/block_io_start\")\nint BPF_PROG(block_io_start, struct request *req)\n{\n\treturn trace_start(req);\n}\n\nSEC(\"tp_btf/block_io_done\")\nint BPF_PROG(block_io_done, struct request *req)\n{\n\treturn trace_done(req);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/biotop.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n\n/*\n * biotop Trace block I/O by process.\n * Copyright (c) 2022 Francis Laniel <flaniel@linux.microsoft.com>\n *\n * Based on biotop(8) from BCC by Brendan Gregg.\n * 03-Mar-2022   Francis Laniel   Created this.\n * 23-Nov-2023   Pcheng Cui       Add PID filter support.\n */\n#ifndef _GNU_SOURCE\n#define _GNU_SOURCE\n#endif\n#include <argp.h>\n#include <errno.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"biotop.h\"\n#include \"biotop.skel.h\"\n#include \"compat.h\"\n#include \"trace_helpers.h\"\n#include \"map_helpers.h\"\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n#define OUTPUT_ROWS_LIMIT 10240\n\nenum SORT {\n\tALL,\n\tIO,\n\tBYTES,\n\tTIME,\n};\n\nstruct disk {\n\tint major;\n\tint minor;\n\tchar name[256];\n};\n\nstruct vector {\n\tsize_t nr;\n\tsize_t capacity;\n\tvoid **elems;\n};\n\nint grow_vector(struct vector *vector) {\n\tif (vector->nr >= vector->capacity) {\n\t\tvoid **reallocated;\n\n\t\tif (!vector->capacity)\n\t\t\tvector->capacity = 1;\n\t\telse\n\t\t\tvector->capacity *= 2;\n\n\t\treallocated = libbpf_reallocarray(vector->elems, vector->capacity, sizeof(*vector->elems));\n\t\tif (!reallocated)\n\t\t\treturn -1;\n\n\t\tvector->elems = reallocated;\n\t}\n\n\treturn 0;\n}\n\nvoid free_vector(struct vector vector) {\n\tfor (size_t i = 0; i < vector.nr; i++)\n\t\tif (vector.elems[i] != NULL)\n\t\t\tfree(vector.elems[i]);\n\tfree(vector.elems);\n}\n\nstruct vector disks = {};\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic bool clear_screen = true;\nstatic int output_rows = 20;\nstatic int sort_by = ALL;\nstatic int interval = 1;\nstatic int count = 99999999;\nstatic pid_t target_pid = 0;\nstatic bool verbose = false;\n\nconst char *argp_program_version = \"biotop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace file reads/writes by process.\\n\"\n\"\\n\"\n\"USAGE: biotop [-h] [interval] [count] [-p PID]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    biotop            # file I/O top, refresh every 1s\\n\"\n\"    biotop 5 10       # 5s summaries, 10 times\\n\"\n\"    biotop -p 181     # only trace PID 1216\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"noclear\", 'C', NULL, 0, \"Don't clear the screen\", 0 },\n\t{ \"sort\", 's', \"SORT\", 0, \"Sort columns, default all [all, io, bytes, time]\", 0 },\n\t{ \"rows\", 'r', \"ROWS\", 0, \"Maximum rows to print, default 20\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tlong rows, pid;\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'C':\n\t\tclear_screen = false;\n\t\tbreak;\n\tcase 's':\n\t\tif (!strcmp(arg, \"all\")) {\n\t\t\tsort_by = ALL;\n\t\t} else if (!strcmp(arg, \"io\")) {\n\t\t\tsort_by = IO;\n\t\t} else if (!strcmp(arg, \"bytes\")) {\n\t\t\tsort_by = BYTES;\n\t\t} else if (!strcmp(arg, \"time\")) {\n\t\t\tsort_by = TIME;\n\t\t} else {\n\t\t\twarn(\"invalid sort method: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'r':\n\t\terrno = 0;\n\t\trows = strtol(arg, NULL, 10);\n\t\tif (errno || rows <= 0) {\n\t\t\twarn(\"invalid rows: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\toutput_rows = rows;\n\t\tif (output_rows > OUTPUT_ROWS_LIMIT)\n\t\t\toutput_rows = OUTPUT_ROWS_LIMIT;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\twarn(\"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\ttarget_pid = pid;\n\t\tbreak;\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tinterval = strtol(arg, NULL, 10);\n\t\t\tif (errno || interval <= 0) {\n\t\t\t\twarn(\"invalid interval\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tcount = strtol(arg, NULL, 10);\n\t\t\tif (errno || count <= 0) {\n\t\t\t\twarn(\"invalid count\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\twarn(\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstruct data_t {\n\tstruct info_t key;\n\tstruct val_t value;\n};\n\nstatic int sort_column(const void *obj1, const void *obj2)\n{\n\tstruct data_t *d1 = (struct data_t *) obj1;\n\tstruct data_t *d2 = (struct data_t *) obj2;\n\n\tstruct val_t *s1 = &d1->value;\n\tstruct val_t *s2 = &d2->value;\n\n\tif (sort_by == IO)\n\t\treturn s2->io - s1->io;\n\telse if (sort_by == BYTES)\n\t\treturn s2->bytes - s1->bytes;\n\telse if (sort_by == TIME)\n\t\treturn s2->us - s1->us;\n\telse\n\t\treturn (s2->io + s2->bytes + s2->us)\n\t\t\t- (s1->io + s1->bytes + s1->us);\n}\n\nstatic void parse_disk_stat(void)\n{\n\tFILE *fp;\n\tchar *line = NULL;\n\tsize_t zero;\n\n\tfp = fopen(\"/proc/diskstats\", \"r\");\n\tif (!fp)\n\t\treturn;\n\n\tzero = 0;\n\twhile (getline(&line, &zero, fp) != -1) {\n\t\tstruct disk disk;\n\n\t\tif (sscanf(line, \"%d %d %s\", &disk.major, &disk.minor, disk.name) != 3)\n\t\t\tcontinue;\n\n\t\tif (grow_vector(&disks) == -1)\n\t\t\tgoto err;\n\n\t\tdisks.elems[disks.nr] = malloc(sizeof(disk));\n\t\tif (!disks.elems[disks.nr])\n\t\t\tgoto err;\n\n\t\tmemcpy(disks.elems[disks.nr], &disk, sizeof(disk));\n\n\t\tdisks.nr++;\n\t}\n\n\tfree(line);\n\tfclose(fp);\n\n\treturn;\nerr:\n\tfprintf(stderr, \"realloc or malloc failed\\n\");\n\n\tfree_vector(disks);\n}\n\nstatic char *search_disk_name(int major, int minor)\n{\n\tfor (size_t i = 0; i < disks.nr; i++) {\n\t\tstruct disk *diskp;\n\n\t\tif (!disks.elems[i])\n\t\t\tcontinue;\n\n\t\tdiskp = (struct disk *) disks.elems[i];\n\t\tif (diskp->major == major && diskp->minor == minor)\n\t\t\treturn diskp->name;\n\t}\n\n\treturn \"\";\n}\n\nstatic int read_stat(struct biotop_bpf *obj, struct data_t *datas, __u32 *count)\n{\n\tstruct info_t keys[OUTPUT_ROWS_LIMIT];\n\tstruct val_t values[OUTPUT_ROWS_LIMIT];\n\tstruct info_t invalid_key = {0};\n\tint fd = bpf_map__fd(obj->maps.counts);\n\tint err, i;\n\n\terr = dump_hash(fd, keys, sizeof(struct info_t), values, sizeof(struct val_t),\n\t\t\tcount, &invalid_key, true /* lookup_and_delete */);\n\tif (err)\n\t\treturn err;\n\n\t/* Store data in datas array */\n\tfor (i = 0; i < *count; i++) {\n\t\tdatas[i].key = keys[i];\n\t\tdatas[i].value = values[i];\n\t}\n\n\treturn 0;\n}\n\nstatic int print_stat(struct biotop_bpf *obj)\n{\n\tchar loadavg[256], ts[64];\n\tstatic struct data_t datas[OUTPUT_ROWS_LIMIT];\n\tint i, err = 0, rows = OUTPUT_ROWS_LIMIT;\n\n\terr = str_loadavg(loadavg, sizeof(loadavg)) <= 0;\n\terr = err ?: (str_timestamp(\"%H:%M:%S\", ts, sizeof(ts)) <= 0);\n\tif (!err)\n\t\tprintf(\"%8s %s\\n\", ts, loadavg);\n\n\tprintf(\"%-7s %-16s %1s %-3s %-3s %-8s %5s %7s %6s\\n\",\n\t       \"PID\", \"COMM\", \"D\", \"MAJ\", \"MIN\", \"DISK\", \"I/O\", \"Kbytes\", \"AVGms\");\n\n\terr = read_stat(obj, datas, (__u32*) &rows);\n\tif (err) {\n\t\tfprintf(stderr, \"read stat failed: %s\\n\", strerror(errno));\n\t\treturn err;\n\t}\n\n\tqsort(datas, rows, sizeof(struct data_t), sort_column);\n\trows = rows < output_rows ? rows : output_rows;\n\tfor (i = 0; i < rows; i++) {\n\t\tint major;\n\t\tint minor;\n\t\tstruct info_t *key = &datas[i].key;\n\t\tstruct val_t *value = &datas[i].value;\n\t\tfloat avg_ms = 0;\n\n\t\t/* To avoid floating point exception. */\n\t\tif (value->io)\n\t\t\tavg_ms = ((float) value->us) / 1000 / value->io;\n\n\t\tmajor = key->major;\n\t\tminor = key->minor;\n\n\t\tprintf(\"%-7d %-16s %1s %-3d %-3d %-8s %5d %7lld %6.2f\\n\",\n\t\t       key->pid, key->name, key->rwflag ? \"W\": \"R\",\n\t\t       major, minor, search_disk_name(major, minor),\n\t\t       value->io, value->bytes / 1024, avg_ms);\n\t}\n\n\tprintf(\"\\n\");\n\treturn err;\n}\n\nstatic bool has_block_io_tracepoints(void)\n{\n\treturn tracepoint_exists(\"block\", \"block_io_start\") &&\n\t\ttracepoint_exists(\"block\", \"block_io_done\");\n}\n\nstatic void disable_block_io_tracepoints(struct biotop_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.block_io_start, false);\n\tbpf_program__set_autoload(obj->progs.block_io_done, false);\n}\n\nstatic void disable_blk_account_io_kprobes(struct biotop_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.blk_account_io_start, false);\n\tbpf_program__set_autoload(obj->progs.blk_account_io_done, false);\n\tbpf_program__set_autoload(obj->progs.__blk_account_io_start, false);\n\tbpf_program__set_autoload(obj->progs.__blk_account_io_done, false);\n}\n\nstatic void blk_account_io_set_autoload(struct biotop_bpf *obj,\n\t\t\t\t\tstruct ksyms *ksyms)\n{\n\tif (!ksyms__get_symbol(ksyms, \"__blk_account_io_start\")) {\n\t\tbpf_program__set_autoload(obj->progs.__blk_account_io_start, false);\n\t\tbpf_program__set_autoload(obj->progs.__blk_account_io_done, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.blk_account_io_start, false);\n\t\tbpf_program__set_autoload(obj->progs.blk_account_io_done, false);\n\t}\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct biotop_bpf *obj;\n\tstruct ksyms *ksyms;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = biotop_bpf__open();\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tobj->rodata->target_pid = target_pid;\n\n\tparse_disk_stat();\n\n\tksyms = ksyms__load();\n\tif (!ksyms) {\n\t\terr = -ENOMEM;\n\t\twarn(\"failed to load kallsyms\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tif (has_block_io_tracepoints())\n\t\tdisable_blk_account_io_kprobes(obj);\n\telse {\n\t\tdisable_block_io_tracepoints(obj);\n\t\tblk_account_io_set_autoload(obj, ksyms);\n\t}\n\n\terr = biotop_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = biotop_bpf__attach(obj);\n\tif (err) {\n\t\twarn(\"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\twhile (1) {\n\t\tsleep(interval);\n\n\t\tif (clear_screen) {\n\t\t\terr = system(\"clear\");\n\t\t\tif (err)\n\t\t\t\tgoto cleanup;\n\t\t}\n\n\t\terr = print_stat(obj);\n\t\tif (err)\n\t\t\tgoto cleanup;\n\n\t\tcount--;\n\t\tif (exiting || !count)\n\t\t\tgoto cleanup;\n\t}\n\ncleanup:\n\tksyms__free(ksyms);\n\tfree_vector(disks);\n\tbiotop_bpf__destroy(obj);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/biotop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __BIOTOP_H\n#define __BIOTOP_H\n\n#define REQ_OP_BITS 8\n#define REQ_OP_MASK ((1 << REQ_OP_BITS) - 1)\n\n#define TASK_COMM_LEN 16\n\n/* for saving the timestamp and __data_len of each request */\nstruct start_req_t {\n\t__u64 ts;\n\t__u64 data_len;\n};\n\n/* for saving process info by request */\nstruct who_t {\n\t__u32 pid;\n\tchar name[TASK_COMM_LEN];\n};\n\n/* the key for the output summary */\nstruct info_t {\n\t__u32 pid;\n\tint rwflag;\n\tint major;\n\tint minor;\n\tchar name[TASK_COMM_LEN];\n};\n\n/* the value of the output summary */\nstruct val_t {\n\t__u64 bytes;\n\t__u64 us;\n\t__u32 io;\n};\n\n#endif /* __BIOTOP_H */\n"
  },
  {
    "path": "libbpf-tools/bitesize.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include <bpf/bpf_core_read.h>\n#include \"bitesize.h\"\n#include \"bits.bpf.h\"\n#include \"core_fixes.bpf.h\"\n\nconst volatile char targ_comm[TASK_COMM_LEN] = {};\nconst volatile bool filter_dev = false;\nconst volatile __u32 targ_dev = 0;\n\nextern __u32 LINUX_KERNEL_VERSION __kconfig;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, struct hist_key);\n\t__type(value, struct hist);\n} hists SEC(\".maps\");\n\nstatic struct hist initial_hist;\n\nstatic __always_inline bool comm_allowed(const char *comm)\n{\n\tint i;\n\n\tfor (i = 0; i < TASK_COMM_LEN && targ_comm[i] != '\\0'; i++) {\n\t\tif (comm[i] != targ_comm[i])\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nstatic int trace_rq_issue(struct request *rq)\n{\n\tstruct hist_key hkey;\n\tstruct hist *histp;\n\tu64 slot;\n\n\tif (filter_dev) {\n\t\tstruct gendisk *disk = get_disk(rq);\n\t\tu32 dev;\n\n\t\tdev = disk ? MKDEV(BPF_CORE_READ(disk, major),\n\t\t\t\tBPF_CORE_READ(disk, first_minor)) : 0;\n\t\tif (targ_dev != dev)\n\t\t\treturn 0;\n\t}\n\tbpf_get_current_comm(&hkey.comm, sizeof(hkey.comm));\n\tif (!comm_allowed(hkey.comm))\n\t\treturn 0;\n\n\thistp = bpf_map_lookup_elem(&hists, &hkey);\n\tif (!histp) {\n\t\tbpf_map_update_elem(&hists, &hkey, &initial_hist, 0);\n\t\thistp = bpf_map_lookup_elem(&hists, &hkey);\n\t\tif (!histp)\n\t\t\treturn 0;\n\t}\n\tslot = log2l(rq->__data_len / 1024);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&histp->slots[slot], 1);\n\n\treturn 0;\n}\n\nSEC(\"tp_btf/block_rq_issue\")\nint BPF_PROG(block_rq_issue)\n{\n\t/**\n\t * commit a54895fa (block: remove the request_queue to argument\n\t * request based tracepoints) changed tracepoint argument list\n\t * from TP_PROTO(struct request_queue *q, struct request *rq)\n\t * to TP_PROTO(struct request *rq)\n\t * see:\n\t *     https://github.com/torvalds/linux/commit/a54895fa\n\t */\n\tif (LINUX_KERNEL_VERSION >= KERNEL_VERSION(5, 10, 137))\n\t\treturn trace_rq_issue((void *)ctx[0]);\n\telse\n\t\treturn trace_rq_issue((void *)ctx[1]);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/bitesize.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on bitesize(8) from BCC by Brendan Gregg.\n// 16-Jun-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"bitesize.h\"\n#include \"bitesize.skel.h\"\n#include \"trace_helpers.h\"\n\nstatic struct env {\n\tchar *disk;\n\tchar *comm;\n\tint comm_len;\n\ttime_t interval;\n\tbool timestamp;\n\tbool verbose;\n\tint times;\n} env = {\n\t.interval = 99999999,\n\t.times = 99999999,\n};\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"bitesize 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize block device I/O size as a histogram.\\n\"\n\"\\n\"\n\"USAGE: bitesize [--help] [-T] [-c COMM] [-d DISK] [interval] [count]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    bitesize              # summarize block I/O latency as a histogram\\n\"\n\"    bitesize 1 10         # print 1 second summaries, 10 times\\n\"\n\"    bitesize -T 1         # 1s summaries with timestamps\\n\"\n\"    bitesize -c fio       # trace fio only\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"timestamp\", 'T', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"comm\",  'c', \"COMM\",  0, \"Trace this comm only\", 0 },\n\t{ \"disk\",  'd', \"DISK\",  0, \"Trace this disk only\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args, len;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.comm = arg;\n\t\tlen = strlen(arg) + 1;\n\t\tenv.comm_len = len > TASK_COMM_LEN ? TASK_COMM_LEN : len;\n\t\tbreak;\n\tcase 'd':\n\t\tenv.disk = arg;\n\t\tif (strlen(arg) + 1 > DISK_NAME_LEN) {\n\t\t\tfprintf(stderr, \"invaild disk name: too long\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tenv.interval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tenv.times = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid times\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic int print_log2_hists(int fd)\n{\n\tstruct hist_key lookup_key, next_key;\n\tstruct hist hist;\n\tint err;\n\n\tmemset(lookup_key.comm, '?', sizeof(lookup_key.comm));\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &hist);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup hist: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tprintf(\"\\nProcess Name = %s\\n\", next_key.comm);\n\t\tprint_log2_hist(hist.slots, MAX_SLOTS, \"Kbytes\");\n\t\tlookup_key = next_key;\n\t}\n\n\tmemset(lookup_key.comm, '?', sizeof(lookup_key.comm));\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_delete_elem(fd, &next_key);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to cleanup hist : %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tstruct partitions *partitions = NULL;\n\tconst struct partition *partition;\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct bitesize_bpf *obj;\n\tchar ts[32];\n\tint fd, err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = bitesize_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tpartitions = partitions__load();\n\tif (!partitions) {\n\t\tfprintf(stderr, \"failed to load partitions info\\n\");\n\t\tgoto cleanup;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tif (env.comm)\n\t\tstrncpy((char*)obj->rodata->targ_comm, env.comm, env.comm_len);\n\tif (env.disk) {\n\t\tpartition = partitions__get_by_name(partitions, env.disk);\n\t\tif (!partition) {\n\t\t\tfprintf(stderr, \"invaild partition name: not exist\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t\tobj->rodata->filter_dev = true;\n\t\tobj->rodata->targ_dev = partition->dev;\n\t}\n\n\terr = bitesize_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = bitesize_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tfd = bpf_map__fd(obj->maps.hists);\n\n\tsignal(SIGINT, sig_handler);\n\n\tprintf(\"Tracing block device I/O... Hit Ctrl-C to end.\\n\");\n\n\t/* main: poll */\n\twhile (1) {\n\t\tsleep(env.interval);\n\t\tprintf(\"\\n\");\n\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\terr = print_log2_hists(fd);\n\t\tif (err)\n\t\t\tbreak;\n\n\t\tif (exiting || --env.times == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\tbitesize_bpf__destroy(obj);\n\tpartitions__free(partitions);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/bitesize.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n#ifndef __BITESIZE_H\n#define __BITESIZE_H\n\n#define TASK_COMM_LEN\t16\n#define DISK_NAME_LEN\t32\n#define MAX_SLOTS\t20\n\n#define MINORBITS\t20\n#define MINORMASK\t((1U << MINORBITS) - 1)\n\n#define MKDEV(ma, mi)\t(((ma) << MINORBITS) | (mi))\n\nstruct hist_key {\n\tchar comm[TASK_COMM_LEN];\n};\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n};\n\n#endif /* __BITESIZE_H */\n"
  },
  {
    "path": "libbpf-tools/bits.bpf.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __BITS_BPF_H\n#define __BITS_BPF_H\n\n#define READ_ONCE(x) (*(volatile typeof(x) *)&(x))\n#define WRITE_ONCE(x, val) ((*(volatile typeof(x) *)&(x)) = val)\n\nstatic __always_inline u64 log2(u32 v)\n{\n\tu32 shift, r;\n\n\tr = (v > 0xFFFF) << 4; v >>= r;\n\tshift = (v > 0xFF) << 3; v >>= shift; r |= shift;\n\tshift = (v > 0xF) << 2; v >>= shift; r |= shift;\n\tshift = (v > 0x3) << 1; v >>= shift; r |= shift;\n\tr |= (v >> 1);\n\n\treturn r;\n}\n\nstatic __always_inline u64 log2l(u64 v)\n{\n\tu32 hi = v >> 32;\n\n\tif (hi)\n\t\treturn log2(hi) + 32;\n\telse\n\t\treturn log2(v);\n}\n\n#endif /* __BITS_BPF_H */\n"
  },
  {
    "path": "libbpf-tools/blk_types.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __BLK_TYPES_H\n#define __BLK_TYPES_H\n\n/* From include/linux/blk_types.h */\n\n/*\n * Operations and flags common to the bio and request structures.\n * We use 8 bits for encoding the operation, and the remaining 24 for flags.\n *\n * The least significant bit of the operation number indicates the data\n * transfer direction:\n *\n *   - if the least significant bit is set transfers are TO the device\n *   - if the least significant bit is not set transfers are FROM the device\n *\n * If a operation does not transfer data the least significant bit has no\n * meaning.\n */\n#define REQ_OP_BITS\t8\n#define REQ_OP_MASK\t((1 << REQ_OP_BITS) - 1)\n#define REQ_FLAG_BITS\t24\n\nenum req_opf {\n\t/* read sectors from the device */\n\tREQ_OP_READ\t\t= 0,\n\t/* write sectors to the device */\n\tREQ_OP_WRITE\t\t= 1,\n\t/* flush the volatile write cache */\n\tREQ_OP_FLUSH\t\t= 2,\n\t/* discard sectors */\n\tREQ_OP_DISCARD\t\t= 3,\n\t/* securely erase sectors */\n\tREQ_OP_SECURE_ERASE\t= 5,\n\t/* reset a zone write pointer */\n\tREQ_OP_ZONE_RESET\t= 6,\n\t/* write the same sector many times */\n\tREQ_OP_WRITE_SAME\t= 7,\n\t/* reset all the zone present on the device */\n\tREQ_OP_ZONE_RESET_ALL\t= 8,\n\t/* write the zero filled sector many times */\n\tREQ_OP_WRITE_ZEROES\t= 9,\n\t/* Open a zone */\n\tREQ_OP_ZONE_OPEN\t= 10,\n\t/* Close a zone */\n\tREQ_OP_ZONE_CLOSE\t= 11,\n\t/* Transition a zone to full */\n\tREQ_OP_ZONE_FINISH\t= 12,\n\n\t/* SCSI passthrough using struct scsi_request */\n\tREQ_OP_SCSI_IN\t\t= 32,\n\tREQ_OP_SCSI_OUT\t\t= 33,\n\t/* Driver private requests */\n\tREQ_OP_DRV_IN\t\t= 34,\n\tREQ_OP_DRV_OUT\t\t= 35,\n\n\tREQ_OP_LAST,\n};\n\nenum req_flag_bits {\n\t__REQ_FAILFAST_DEV =\t/* no driver retries of device errors */\n\t\tREQ_OP_BITS,\n\t__REQ_FAILFAST_TRANSPORT, /* no driver retries of transport errors */\n\t__REQ_FAILFAST_DRIVER,\t/* no driver retries of driver errors */\n\t__REQ_SYNC,\t\t/* request is sync (sync write or read) */\n\t__REQ_META,\t\t/* metadata io request */\n\t__REQ_PRIO,\t\t/* boost priority in cfq */\n\t__REQ_NOMERGE,\t\t/* don't touch this for merging */\n\t__REQ_IDLE,\t\t/* anticipate more IO after this one */\n\t__REQ_INTEGRITY,\t/* I/O includes block integrity payload */\n\t__REQ_FUA,\t\t/* forced unit access */\n\t__REQ_PREFLUSH,\t\t/* request for cache flush */\n\t__REQ_RAHEAD,\t\t/* read ahead, can fail anytime */\n\t__REQ_BACKGROUND,\t/* background IO */\n\t__REQ_NOWAIT,           /* Don't wait if request will block */\n\t__REQ_NOWAIT_INLINE,\t/* Return would-block error inline */\n\t/*\n\t * When a shared kthread needs to issue a bio for a cgroup, doing\n\t * so synchronously can lead to priority inversions as the kthread\n\t * can be trapped waiting for that cgroup.  CGROUP_PUNT flag makes\n\t * submit_bio() punt the actual issuing to a dedicated per-blkcg\n\t * work item to avoid such priority inversions.\n\t */\n\t__REQ_CGROUP_PUNT,\n\n\t/* command specific flags for REQ_OP_WRITE_ZEROES: */\n\t__REQ_NOUNMAP,\t\t/* do not free blocks when zeroing */\n\n\t__REQ_HIPRI,\n\n\t/* for driver use */\n\t__REQ_DRV,\n\t__REQ_SWAP,\t\t/* swapping request. */\n\t__REQ_NR_BITS,\t\t/* stops here */\n};\n\n#define REQ_FAILFAST_DEV\t(1ULL << __REQ_FAILFAST_DEV)\n#define REQ_FAILFAST_TRANSPORT\t(1ULL << __REQ_FAILFAST_TRANSPORT)\n#define REQ_FAILFAST_DRIVER\t(1ULL << __REQ_FAILFAST_DRIVER)\n#define REQ_SYNC\t\t(1ULL << __REQ_SYNC)\n#define REQ_META\t\t(1ULL << __REQ_META)\n#define REQ_PRIO\t\t(1ULL << __REQ_PRIO)\n#define REQ_NOMERGE\t\t(1ULL << __REQ_NOMERGE)\n#define REQ_IDLE\t\t(1ULL << __REQ_IDLE)\n#define REQ_INTEGRITY\t\t(1ULL << __REQ_INTEGRITY)\n#define REQ_FUA\t\t\t(1ULL << __REQ_FUA)\n#define REQ_PREFLUSH\t\t(1ULL << __REQ_PREFLUSH)\n#define REQ_RAHEAD\t\t(1ULL << __REQ_RAHEAD)\n#define REQ_BACKGROUND\t\t(1ULL << __REQ_BACKGROUND)\n#define REQ_NOWAIT\t\t(1ULL << __REQ_NOWAIT)\n#define REQ_NOWAIT_INLINE\t(1ULL << __REQ_NOWAIT_INLINE)\n#define REQ_CGROUP_PUNT\t\t(1ULL << __REQ_CGROUP_PUNT)\n\n#define REQ_NOUNMAP\t\t(1ULL << __REQ_NOUNMAP)\n#define REQ_HIPRI\t\t(1ULL << __REQ_HIPRI)\n\n#define REQ_DRV\t\t\t(1ULL << __REQ_DRV)\n#define REQ_SWAP\t\t(1ULL << __REQ_SWAP)\n\n#define REQ_FAILFAST_MASK \\\n\t(REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER)\n\n#define REQ_NOMERGE_FLAGS \\\n\t(REQ_NOMERGE | REQ_PREFLUSH | REQ_FUA)\n\n#endif /* __BLK_TYPES_H */\n"
  },
  {
    "path": "libbpf-tools/btf_helpers.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n#include <errno.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/utsname.h>\n#include <zlib.h>\n\n#include \"trace_helpers.h\"\n#include \"btf_helpers.h\"\n\nextern unsigned char _binary_min_core_btfs_tar_gz_start[] __attribute__((weak));\nextern unsigned char _binary_min_core_btfs_tar_gz_end[] __attribute__((weak));\n\n#define FIELD_LEN 65\n#define ID_FMT \"ID=%64s\"\n#define VERSION_FMT \"VERSION_ID=\\\"%64s\"\n\nstruct os_info {\n\tchar id[FIELD_LEN];\n\tchar version[FIELD_LEN];\n\tchar arch[FIELD_LEN];\n\tchar kernel_release[FIELD_LEN];\n};\n\nstatic struct os_info * get_os_info()\n{\n\tstruct os_info *info = NULL;\n\tstruct utsname u;\n\tsize_t len = 0;\n\tssize_t read;\n\tchar *line = NULL;\n\tFILE *f;\n\n\tif (uname(&u) == -1)\n\t\treturn NULL;\n\n\tf = fopen(\"/etc/os-release\", \"r\");\n\tif (!f)\n\t\treturn NULL;\n\n\tinfo = calloc(1, sizeof(*info));\n\tif (!info)\n\t\tgoto out;\n\n\tstrncpy(info->kernel_release, u.release, FIELD_LEN);\n\tstrncpy(info->arch, u.machine, FIELD_LEN);\n\n\twhile ((read = getline(&line, &len, f)) != -1) {\n\t\tif (sscanf(line, ID_FMT, info->id) == 1)\n\t\t\tcontinue;\n\n\t\tif (sscanf(line, VERSION_FMT, info->version) == 1) {\n\t\t\t/* remove '\"' suffix */\n\t\t\tinfo->version[strlen(info->version) - 1] = 0;\n\t\t\tcontinue;\n\t\t}\n\t}\n\nout:\n\tfree(line);\n\tfclose(f);\n\n\treturn info;\n}\n\n#define INITIAL_BUF_SIZE (1024 * 1024 * 4) /* 4MB */\n\n/* adapted from https://zlib.net/zlib_how.html */\nstatic int\ninflate_gz(unsigned char *src, int src_size, unsigned char **dst, int *dst_size)\n{\n\tsize_t size = INITIAL_BUF_SIZE;\n\tsize_t next_size = size;\n\tz_stream strm;\n\tvoid *tmp;\n\tint ret;\n\n\tstrm.zalloc = Z_NULL;\n\tstrm.zfree = Z_NULL;\n\tstrm.opaque = Z_NULL;\n\tstrm.avail_in = 0;\n\tstrm.next_in = Z_NULL;\n\n\tret = inflateInit2(&strm, 16 + MAX_WBITS);\n\tif (ret != Z_OK)\n\t\treturn -EINVAL;\n\n\t*dst = malloc(size);\n\tif (!*dst)\n\t\treturn -ENOMEM;\n\n\tstrm.next_in = src;\n\tstrm.avail_in = src_size;\n\n\t/* run inflate() on input until it returns Z_STREAM_END */\n\tdo {\n\t\tstrm.next_out = *dst + strm.total_out;\n\t\tstrm.avail_out = next_size;\n\t\tret = inflate(&strm, Z_NO_FLUSH);\n\t\tif (ret != Z_OK && ret != Z_STREAM_END)\n\t\t\tgoto out_err;\n\t\t/* we need more space */\n\t\tif (strm.avail_out == 0) {\n\t\t\tnext_size = size;\n\t\t\tsize *= 2;\n\t\t\ttmp = realloc(*dst, size);\n\t\t\tif (!tmp) {\n\t\t\t\tret = -ENOMEM;\n\t\t\t\tgoto out_err;\n\t\t\t}\n\t\t\t*dst = tmp;\n\t\t}\n\t} while (ret != Z_STREAM_END);\n\n\t*dst_size = strm.total_out;\n\n\t/* clean up and return */\n\tret = inflateEnd(&strm);\n\tif (ret != Z_OK) {\n\t\tret = -EINVAL;\n\t\tgoto out_err;\n\t}\n\treturn 0;\n\nout_err:\n\tfree(*dst);\n\t*dst = NULL;\n\treturn ret;\n}\n\n/* tar header from https://github.com/tklauser/libtar/blob/v1.2.20/lib/libtar.h#L39-L60 */\nstruct tar_header {\n\tchar name[100];\n\tchar mode[8];\n\tchar uid[8];\n\tchar gid[8];\n\tchar size[12];\n\tchar mtime[12];\n\tchar chksum[8];\n\tchar typeflag;\n\tchar linkname[100];\n\tchar magic[6];\n\tchar version[2];\n\tchar uname[32];\n\tchar gname[32];\n\tchar devmajor[8];\n\tchar devminor[8];\n\tchar prefix[155];\n\tchar padding[12];\n};\n\nstatic char *tar_file_start(struct tar_header *tar, const char *name, int *length)\n{\n\twhile (tar->name[0]) {\n\t\tsscanf(tar->size, \"%o\", length);\n\t\tif (!strcmp(tar->name, name))\n\t\t\treturn (char *)(tar + 1);\n\t\ttar += 1 + (*length + 511)/512;\n\t}\n\treturn NULL;\n}\n\nint ensure_core_btf(struct bpf_object_open_opts *opts)\n{\n\tchar name_fmt[] = \"./%s/%s/%s/%s.btf\";\n\tchar btf_path[] = \"/tmp/bcc-libbpf-tools.btf.XXXXXX\";\n\tstruct os_info *info = NULL;\n\tunsigned char *dst_buf = NULL;\n\tchar *file_start;\n\tint dst_size = 0;\n\tchar name[100];\n\tFILE *dst = NULL;\n\tint ret;\n\n\t/* do nothing if the system provides BTF */\n\tif (vmlinux_btf_exists())\n\t\treturn 0;\n\n\t/* compiled without min core btfs */\n\tif (!_binary_min_core_btfs_tar_gz_start)\n\t\treturn -EOPNOTSUPP;\n\n\tinfo = get_os_info();\n\tif (!info)\n\t\treturn -errno;\n\n\tret = mkstemp(btf_path);\n\tif (ret < 0) {\n\t\tret = -errno;\n\t\tgoto out;\n\t}\n\n\tdst = fdopen(ret, \"wb\");\n\tif (!dst) {\n\t\tret = -errno;\n\t\tgoto out;\n\t}\n\n\tret = snprintf(name, sizeof(name), name_fmt, info->id, info->version,\n\t\t       info->arch, info->kernel_release);\n\tif (ret < 0 || ret == sizeof(name)) {\n\t\tret = -EINVAL;\n\t\tgoto out;\n\t}\n\n\tret = inflate_gz(_binary_min_core_btfs_tar_gz_start,\n\t\t\t _binary_min_core_btfs_tar_gz_end - _binary_min_core_btfs_tar_gz_start,\n\t\t\t &dst_buf, &dst_size);\n\tif (ret < 0)\n\t\tgoto out;\n\n\tret = 0;\n\tfile_start = tar_file_start((struct tar_header *)dst_buf, name, &dst_size);\n\tif (!file_start) {\n\t\tret = -EINVAL;\n\t\tgoto out;\n\t}\n\n\tif (fwrite(file_start, 1, dst_size, dst) != dst_size) {\n\t\tret = -ferror(dst);\n\t\tgoto out;\n\t}\n\n\topts->btf_custom_path = strdup(btf_path);\n\tif (!opts->btf_custom_path)\n\t\tret = -ENOMEM;\n\nout:\n\tfree(info);\n\tfclose(dst);\n\tfree(dst_buf);\n\n\treturn ret;\n}\n\nvoid cleanup_core_btf(struct bpf_object_open_opts *opts) {\n\tif (!opts)\n\t\treturn;\n\n\tif (!opts->btf_custom_path)\n\t\treturn;\n\n\tunlink(opts->btf_custom_path);\n\tfree((void *)opts->btf_custom_path);\n}\n"
  },
  {
    "path": "libbpf-tools/btf_helpers.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n#ifndef __BTF_HELPERS_H\n#define __BTF_HELPERS_H\n\n#include <bpf/libbpf.h>\n\nint ensure_core_btf(struct bpf_object_open_opts *opts);\nvoid cleanup_core_btf(struct bpf_object_open_opts *opts);\n\n#endif /* __BTF_HELPERS_H */\n"
  },
  {
    "path": "libbpf-tools/cachestat.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2021 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n\n__s64 total = 0;\t/* total cache accesses without counting dirties */\n__s64 misses = 0;\t/* total of add to lru because of read misses */\n__u64 mbd = 0;  \t/* total of mark_buffer_dirty events */\n\nSEC(\"fentry/add_to_page_cache_lru\")\nint BPF_PROG(fentry_add_to_page_cache_lru)\n{\n\t__sync_fetch_and_add(&misses, 1);\n\treturn 0;\n}\n\nSEC(\"fentry/mark_page_accessed\")\nint BPF_PROG(fentry_mark_page_accessed)\n{\n\t__sync_fetch_and_add(&total, 1);\n\treturn 0;\n}\n\nSEC(\"fentry/account_page_dirtied\")\nint BPF_PROG(fentry_account_page_dirtied)\n{\n\t__sync_fetch_and_add(&misses, -1);\n\treturn 0;\n}\n\nSEC(\"fentry/mark_buffer_dirty\")\nint BPF_PROG(fentry_mark_buffer_dirty)\n{\n\t__sync_fetch_and_add(&total, -1);\n\t__sync_fetch_and_add(&mbd, 1);\n\treturn 0;\n}\n\nSEC(\"kprobe/add_to_page_cache_lru\")\nint BPF_KPROBE(kprobe_add_to_page_cache_lru)\n{\n\t__sync_fetch_and_add(&misses, 1);\n\treturn 0;\n}\n\nSEC(\"kprobe/mark_page_accessed\")\nint BPF_KPROBE(kprobe_mark_page_accessed)\n{\n\t__sync_fetch_and_add(&total, 1);\n\treturn 0;\n}\n\nSEC(\"kprobe/account_page_dirtied\")\nint BPF_KPROBE(kprobe_account_page_dirtied)\n{\n\t__sync_fetch_and_add(&misses, -1);\n\treturn 0;\n}\n\nSEC(\"kprobe/folio_account_dirtied\")\nint BPF_KPROBE(kprobe_folio_account_dirtied)\n{\n\t__sync_fetch_and_add(&misses, -1);\n\treturn 0;\n}\n\nSEC(\"kprobe/mark_buffer_dirty\")\nint BPF_KPROBE(kprobe_mark_buffer_dirty)\n{\n\t__sync_fetch_and_add(&total, -1);\n\t__sync_fetch_and_add(&mbd, 1);\n\treturn 0;\n}\n\nSEC(\"tracepoint/writeback/writeback_dirty_folio\")\nint tracepoint__writeback_dirty_folio(struct trace_event_raw_sys_enter* ctx)\n{\n\t__sync_fetch_and_add(&misses, -1);\n\treturn 0;\n}\n\nSEC(\"tracepoint/writeback/writeback_dirty_page\")\nint tracepoint__writeback_dirty_page(struct trace_event_raw_sys_enter* ctx)\n{\n\t__sync_fetch_and_add(&misses, -1);\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/cachestat.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2021 Wenbo Zhang\n//\n// Based on cachestat(8) from BCC by Brendan Gregg and Allan McAleavy.\n//  8-Mar-2021   Wenbo Zhang   Created this.\n// 30-Jan-2023   Rong Tao      Add kprobe and use fentry_can_attach() decide\n//                             use fentry/kprobe\n// 15-Feb-2023   Rong Tao      Add tracepoint writeback_dirty_{page,folio}\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"cachestat.skel.h\"\n#include \"trace_helpers.h\"\n\nstatic struct env {\n\ttime_t interval;\n\tint times;\n\tbool timestamp;\n\tbool verbose;\n} env = {\n\t.interval = 1,\n\t.times = 99999999,\n};\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"cachestat 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Count cache kernel function calls.\\n\"\n\"\\n\"\n\"USAGE: cachestat [--help] [-T] [interval] [count]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    cachestat          # shows hits and misses to the file system page cache\\n\"\n\"    cachestat -T       # include timestamps\\n\"\n\"    cachestat 1 10     # print 1 second summaries, 10 times\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"timestamp\", 'T', NULL, 0, \"Print timestamp\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tenv.interval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tenv.times = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid times\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic int get_meminfo(__u64 *buffers, __u64 *cached)\n{\n\tFILE *f;\n\n\tf = fopen(\"/proc/meminfo\", \"r\");\n\tif (!f)\n\t\treturn -1;\n\tif (fscanf(f,\n\t\t   \"MemTotal: %*u kB\\n\"\n\t\t   \"MemFree: %*u kB\\n\"\n\t\t   \"MemAvailable: %*u kB\\n\"\n\t\t   \"Buffers: %llu kB\\n\"\n\t\t   \"Cached: %llu kB\\n\",\n\t\t   buffers, cached) != 2) {\n\t\tfclose(f);\n\t\treturn -1;\n\t}\n\tfclose(f);\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\t__u64 buffers, cached, mbd;\n\tstruct cachestat_bpf *obj;\n\t__s64 total, misses, hits;\n\tfloat ratio;\n\tchar ts[32];\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = cachestat_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\t/**\n\t * account_page_dirtied was renamed to folio_account_dirtied\n\t * in kernel commit 203a31516616 (\"mm/writeback: Add __folio_mark_dirty()\")\n\t */\n\tif (fentry_can_attach(\"folio_account_dirtied\", NULL)) {\n\t\terr = bpf_program__set_attach_target(obj->progs.fentry_account_page_dirtied, 0,\n\t\t\t\t\t\t     \"folio_account_dirtied\");\n\t\tif (err) {\n\t\t\tfprintf(stderr, \"failed to set attach target\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\tif (kprobe_exists(\"folio_account_dirtied\")) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_account_page_dirtied, false);\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__writeback_dirty_folio, false);\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__writeback_dirty_page, false);\n\t} else if (kprobe_exists(\"account_page_dirtied\")) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_folio_account_dirtied, false);\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__writeback_dirty_folio, false);\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__writeback_dirty_page, false);\n\t} else if (tracepoint_exists(\"writeback\", \"writeback_dirty_folio\")) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_account_page_dirtied, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_folio_account_dirtied, false);\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__writeback_dirty_page, false);\n\t} else if (tracepoint_exists(\"writeback\", \"writeback_dirty_page\")) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_account_page_dirtied, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_folio_account_dirtied, false);\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__writeback_dirty_folio, false);\n\t}\n\n\t/* It fallbacks to kprobes when kernel does not support fentry. */\n\tif (fentry_can_attach(\"folio_account_dirtied\", NULL)\n\t\t|| fentry_can_attach(\"account_page_dirtied\", NULL)) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_account_page_dirtied, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.fentry_account_page_dirtied, false);\n\t}\n\n\tif (fentry_can_attach(\"add_to_page_cache_lru\", NULL)) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_add_to_page_cache_lru, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.fentry_add_to_page_cache_lru, false);\n\t}\n\n\tif (fentry_can_attach(\"mark_page_accessed\", NULL)) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mark_page_accessed, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.fentry_mark_page_accessed, false);\n\t}\n\n\tif (fentry_can_attach(\"mark_buffer_dirty\", NULL)) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mark_buffer_dirty, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.fentry_mark_buffer_dirty, false);\n\t}\n\n\terr = cachestat_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tif (!obj->bss) {\n\t\tfprintf(stderr, \"Memory-mapping BPF maps is supported starting from Linux 5.7, please upgrade.\\n\");\n\t\tgoto cleanup;\n\t}\n\n\terr = cachestat_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\n\tif (env.timestamp)\n\t\tprintf(\"%-8s \", \"TIME\");\n\tprintf(\"%8s %8s %8s %8s %12s %10s\\n\", \"HITS\", \"MISSES\", \"DIRTIES\",\n\t\t\"HITRATIO\", \"BUFFERS_MB\", \"CACHED_MB\");\n\n\twhile (1) {\n\t\tsleep(env.interval);\n\n\t\t/* total = total cache accesses without counting dirties */\n\t\ttotal = __atomic_exchange_n(&obj->bss->total, 0, __ATOMIC_RELAXED);\n\t\t/* misses = total of add to lru because of read misses */\n\t\tmisses = __atomic_exchange_n(&obj->bss->misses, 0, __ATOMIC_RELAXED);\n\t\t/* mbd = total of mark_buffer_dirty events */\n\t\tmbd = __atomic_exchange_n(&obj->bss->mbd, 0, __ATOMIC_RELAXED);\n\n\t\tif (total < 0)\n\t\t\ttotal = 0;\n\t\tif (misses < 0)\n\t\t\tmisses = 0;\n\t\thits = total - misses;\n\t\t/*\n\t\t * If hits are < 0, then its possible misses are overestimated\n\t\t * due to possibly page cache read ahead adding more pages than\n\t\t * needed. In this case just assume misses as total and reset\n\t\t * hits.\n\t\t */\n\t\tif (hits < 0) {\n\t\t\tmisses = total;\n\t\t\thits = 0;\n\t\t}\n\t\tratio = total > 0 ? hits * 1.0 / total : 0.0;\n\t\terr = get_meminfo(&buffers, &cached);\n\t\tif (err) {\n\t\t\tfprintf(stderr, \"failed to get meminfo: %d\\n\", err);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s \", ts);\n\t\t}\n\t\tprintf(\"%8lld %8lld %8llu %7.2f%% %12llu %10llu\\n\",\n\t\t\thits, misses, mbd, 100 * ratio,\n\t\t\tbuffers / 1024, cached / 1024);\n\n\t\tif (exiting || --env.times == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\tcachestat_bpf__destroy(obj);\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/capable.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n//\n// Unique filtering based on\n// https://github.com/libbpf/libbpf-rs/tree/master/examples/capable\n//\n// Copyright 2022 Sony Group Corporation\n\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"capable.h\"\n\n#define MAX_ENTRIES\t10240\n\nextern int LINUX_KERNEL_VERSION __kconfig;\n\nconst volatile pid_t my_pid = -1;\nconst volatile enum uniqueness unique_type = UNQ_OFF;\nconst volatile bool kernel_stack = false;\nconst volatile bool user_stack = false;\nconst volatile bool filter_cg = false;\nconst volatile pid_t targ_pid = -1;\n\nstruct args_t {\n\tint cap;\n\tint cap_opt;\n};\n\nstruct unique_key {\n\tint cap;\n\tu32 tgid;\n\tu64 cgroupid;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, u64);\n\t__type(value, struct args_t);\n} start SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} events SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_STACK_TRACE);\n\t__uint(key_size, sizeof(u32));\n} stackmap SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, struct key_t);\n\t__type(value, struct cap_event);\n\t__uint(max_entries, MAX_ENTRIES);\n} info SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, struct unique_key);\n\t__type(value, u64);\n} seen SEC(\".maps\");\n\nSEC(\"kprobe/cap_capable\")\nint BPF_KPROBE(kprobe__cap_capable_entry, const struct cred *cred, struct user_namespace *targ_ns, int cap, int cap_opt)\n{\n\t__u32 pid;\n\t__u64 pid_tgid;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tpid_tgid = bpf_get_current_pid_tgid();\n\tpid = pid_tgid >> 32;\n\n\tif (pid == my_pid)\n\t\treturn 0;\n\n\tif (targ_pid != -1 && targ_pid != pid)\n\t\treturn 0;\n\n\tstruct args_t args = {};\n\targs.cap = cap;\n\targs.cap_opt = cap_opt;\n\tbpf_map_update_elem(&start, &pid_tgid, &args, 0);\n\n\treturn 0;\n}\n\nSEC(\"kretprobe/cap_capable\")\nint BPF_KRETPROBE(kprobe__cap_capable_exit)\n{\n\t__u64 pid_tgid;\n\tstruct args_t *ap;\n\tstruct key_t i_key;\n\n\tpid_tgid = bpf_get_current_pid_tgid();\n\tap = bpf_map_lookup_elem(&start, &pid_tgid);\n\tif (!ap)\n\t\treturn 0;   /* missed entry */\n\n\tbpf_map_delete_elem(&start, &pid_tgid);\n\n\tstruct cap_event event = {};\n\tevent.pid = pid_tgid >> 32;\n\tevent.tgid = pid_tgid;\n\tevent.cap = ap->cap;\n\tevent.uid = bpf_get_current_uid_gid();\n\tbpf_get_current_comm(&event.task, sizeof(event.task));\n\tevent.ret = PT_REGS_RC(ctx);\n\n\tif (LINUX_KERNEL_VERSION >= KERNEL_VERSION(5, 1, 0)) {\n\t\t/* @opts: Bitmask of options defined in include/linux/security.h */\n\t\tevent.audit = (ap->cap_opt & 0b10) == 0;\n\t\tevent.insetid = (ap->cap_opt & 0b100) != 0;\n\t} else {\n\t\tevent.audit = ap->cap_opt;\n\t\tevent.insetid = -1;\n\t}\n\n\tif (unique_type) {\n\t\tstruct unique_key key = {.cap = ap->cap};\n\t\tif (unique_type == UNQ_CGROUP)\n\t\t\tkey.cgroupid = bpf_get_current_cgroup_id();\n\t\telse\n\t\t\tkey.tgid = pid_tgid;\n\n\t\tif (bpf_map_lookup_elem(&seen, &key) != NULL)\n\t\t\treturn 0;\n\n\t\tu64 zero = 0;\n\t\tbpf_map_update_elem(&seen, &key, &zero, 0);\n\t}\n\n\tif (kernel_stack || user_stack) {\n\t\ti_key.pid = pid_tgid >> 32;\n\t\ti_key.tgid = pid_tgid;\n\n\t\ti_key.kern_stack_id = i_key.user_stack_id = -1;\n\t\tif (user_stack)\n\t\t\ti_key.user_stack_id = bpf_get_stackid(ctx, &stackmap, BPF_F_USER_STACK);\n\t\tif (kernel_stack)\n\t\t\ti_key.kern_stack_id = bpf_get_stackid(ctx, &stackmap, 0);\n\n\t\tbpf_map_update_elem(&info, &i_key, &event, BPF_NOEXIST);\n\t}\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));\n\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/capable.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Based on capable(8) from BCC by Brendan Gregg.\n//\n// Copyright 2022 Sony Group Corporation\n\n#include <argp.h>\n#include <signal.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <time.h>\n#include <bpf/bpf.h>\n#include \"capable.h\"\n#include \"capable.skel.h\"\n#include \"trace_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t16\n#define PERF_POLL_TIMEOUT_MS\t100\n\nstatic struct env {\n\tbool\tverbose;\n\tchar\t*cgroupspath;\n\tbool\tcg;\n\tbool\textra_fields;\n\tbool\tuser_stack;\n\tbool\tkernel_stack;\n\tbool\tunique;\n\tchar\t*unique_type;\n\tint\tstack_storage_size;\n\tint\tperf_max_stack_depth;\n\tpid_t\tpid;\n} env = {\n\t.pid = -1,\n\t.stack_storage_size = 1024,\n\t.perf_max_stack_depth = 127,\n\t.unique = false,\n};\n\nconst char *cap_name[] = {\n\t[0] = \"CAP_CHOWN\",\n\t[1] = \"CAP_DAC_OVERRIDE\",\n\t[2] = \"CAP_DAC_READ_SEARCH\",\n\t[3] = \"CAP_FOWNER\",\n\t[4] = \"CAP_FSETID\",\n\t[5] = \"CAP_KILL\",\n\t[6] = \"CAP_SETGID\",\n\t[7] = \"CAP_SETUID\",\n\t[8] = \"CAP_SETPCAP\",\n\t[9] = \"CAP_LINUX_IMMUTABLE\",\n\t[10] = \"CAP_NET_BIND_SERVICE\",\n\t[11] = \"CAP_NET_BROADCAST\",\n\t[12] = \"CAP_NET_ADMIN\",\n\t[13] = \"CAP_NET_RAW\",\n\t[14] = \"CAP_IPC_LOCK\",\n\t[15] = \"CAP_IPC_OWNER\",\n\t[16] = \"CAP_SYS_MODULE\",\n\t[17] = \"CAP_SYS_RAWIO\",\n\t[18] = \"CAP_SYS_CHROOT\",\n\t[19] = \"CAP_SYS_PTRACE\",\n\t[20] = \"CAP_SYS_PACCT\",\n\t[21] = \"CAP_SYS_ADMIN\",\n\t[22] = \"CAP_SYS_BOOT\",\n\t[23] = \"CAP_SYS_NICE\",\n\t[24] = \"CAP_SYS_RESOURCE\",\n\t[25] = \"CAP_SYS_TIME\",\n\t[26] = \"CAP_SYS_TTY_CONFIG\",\n\t[27] = \"CAP_MKNOD\",\n\t[28] = \"CAP_LEASE\",\n\t[29] = \"CAP_AUDIT_WRITE\",\n\t[30] = \"CAP_AUDIT_CONTROL\",\n\t[31] = \"CAP_SETFCAP\",\n\t[32] = \"CAP_MAC_OVERRIDE\",\n\t[33] = \"CAP_MAC_ADMIN\",\n\t[34] = \"CAP_SYSLOG\",\n\t[35] = \"CAP_WAKE_ALARM\",\n\t[36] = \"CAP_BLOCK_SUSPEND\",\n\t[37] = \"CAP_AUDIT_READ\",\n\t[38] = \"CAP_PERFMON\",\n\t[39] = \"CAP_BPF\",\n\t[40] = \"CAP_CHECKPOINT_RESTORE\"\n};\n\nstatic volatile sig_atomic_t exiting = 0;\nstruct syms_cache *syms_cache = NULL;\nstruct ksyms *ksyms = NULL;\nint ifd, sfd;\n\nconst char *argp_program_version = \"capable 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace security capability checks (cap_capable()).\\n\"\n\"\\n\"\n\"USAGE: capable [--help] [-p PID | -c CG | -K | -U | -x] [-u TYPE]\\n\"\n\"[--perf-max-stack-depth] [--stack-storage-size]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    capable                  # Trace capability checks\\n\"\n\"    capable -p 185           # Trace this PID only\\n\"\n\"    capable -c CG            # Trace process under cgroupsPath CG\\n\"\n\"    capable -K               # Add kernel stacks to trace\\n\"\n\"    capable -x               # Extra fields: show TID and INSETID columns\\n\"\n\"    capable -U               # Add user-space stacks to trace\\n\"\n\"    capable -u TYPE          # Print unique output for TYPE=[pid | cgroup] (default:off)\\n\";\n\n#define OPT_PERF_MAX_STACK_DEPTH\t1 /* --perf-max-stack-depth */\n#define OPT_STACK_STORAGE_SIZE\t\t2 /* --stack-storage-size */\n\nstatic const struct argp_option opts[] = {\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Trace this PID only\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ \"kernel-stack\", 'K', NULL, 0, \"output kernel stack trace\", 0 },\n\t{ \"user-stack\", 'U', NULL, 0, \"output user stack trace\", 0 },\n\t{ \"extra-fields\", 'x', NULL, 0, \"extra fields: show TID and INSETID columns\", 0 },\n\t{ \"unique\", 'u', \"off\", 0, \"Print unique output for <pid> or <cgroup> (default:off)\", 0 },\n\t{ \"perf-max-stack-depth\", OPT_PERF_MAX_STACK_DEPTH,\n\t  \"PERF-MAX-STACK-DEPTH\", 0, \"the limit for both kernel and user stack traces (default 127)\", 0 },\n\t{ \"stack-storage-size\", OPT_STACK_STORAGE_SIZE, \"STACK-STORAGE-SIZE\", 0,\n\t  \"the number of unique stack traces that can be stored and displayed (default 1024)\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tenv.pid = strtol(arg, NULL, 10);\n\t\tif (errno || env.pid == 0) {\n\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase 'U':\n\t\tenv.user_stack = true;\n\t\tbreak;\n\tcase 'K':\n\t\tenv.kernel_stack = true;\n\t\tbreak;\n\tcase 'x':\n\t\tenv.extra_fields = true;\n\t\tbreak;\n\tcase 'u':\n\t\tenv.unique_type = arg;\n\t\tenv.unique = true;\n\t\tbreak;\n\tcase OPT_PERF_MAX_STACK_DEPTH:\n\t\terrno = 0;\n\t\tenv.perf_max_stack_depth = strtol(arg, NULL, 10);\n\t\tif (errno || env.perf_max_stack_depth == 0) {\n\t\t\tfprintf(stderr, \"invalid perf max stack depth: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase OPT_STACK_STORAGE_SIZE:\n\t\terrno = 0;\n\t\tenv.stack_storage_size = strtol(arg, NULL, 10);\n\t\tif (errno || env.stack_storage_size == 0) {\n\t\t\tfprintf(stderr, \"invalid stack storage size: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic void print_map(struct ksyms *ksyms, struct syms_cache *syms_cache)\n{\n\tstruct key_t lookup_key = {}, next_key;\n\tconst struct ksym *ksym;\n\tconst struct syms *syms;\n\tconst struct sym *sym;\n\tstruct sym_info sinfo;\n\tint idx;\n\tint err, i;\n\tunsigned long *ip;\n\tstruct cap_event val;\n\n\tip = calloc(env.perf_max_stack_depth, sizeof(*ip));\n\tif (!ip) {\n\t\tfprintf(stderr, \"failed to alloc ip\\n\");\n\t\treturn;\n\t}\n\n\twhile (!bpf_map_get_next_key(ifd, &lookup_key, &next_key)) {\n\t\tidx = 0;\n\n\t\terr = bpf_map_lookup_elem(ifd, &next_key, &val);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup info: %d\\n\", err);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tlookup_key = next_key;\n\n\t\tif (env.kernel_stack) {\n\t\t\tif (bpf_map_lookup_elem(sfd, &next_key.kern_stack_id, ip) != 0)\n\t\t\t\tfprintf(stderr, \"    [Missed Kernel Stack]\\n\");\n\t\t\tfor (i = 0; i < env.perf_max_stack_depth && ip[i]; i++) {\n\t\t\t\tksym = ksyms__map_addr(ksyms, ip[i]);\n\t\t\t\tif (!env.verbose) {\n\t\t\t\t\tprintf(\"    %s\\n\", ksym ? ksym->name : \"Unknown\");\n\t\t\t\t} else {\n\t\t\t\t\tif (ksym)\n\t\t\t\t\t\tprintf(\"    #%-2d 0x%lx %s+0x%lx\\n\", idx++, ip[i], ksym->name, ip[i] - ksym->addr);\n\t\t\t\t\telse\n\t\t\t\t\t\tprintf(\"    #%-2d 0x%lx [unknown]\\n\", idx++, ip[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (env.user_stack) {\n\t\t\tif (next_key.user_stack_id == -1)\n\t\t\t\tgoto skip_ustack;\n\n\t\t\tif (bpf_map_lookup_elem(sfd, &next_key.user_stack_id, ip) != 0) {\n\t\t\t\tfprintf(stderr, \"    [Missed User Stack]\\n\");\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsyms = syms_cache__get_syms(syms_cache, next_key.tgid);\n\t\t\tif (!syms) {\n\t\t\t\tfprintf(stderr, \"failed to get syms\\n\");\n\t\t\t\tgoto skip_ustack;\n\t\t\t}\n\t\t\tfor (i = 0; i < env.perf_max_stack_depth && ip[i]; i++) {\n\t\t\t\tif (!env.verbose) {\n\t\t\t\t\tsym = syms__map_addr(syms, ip[i]);\n\t\t\t\t\tif (sym)\n\t\t\t\t\t\tprintf(\"    %s\\n\", sym->name);\n\t\t\t\t\telse\n\t\t\t\t\t\tprintf(\"    [unknown]\\n\");\n\t\t\t\t} else {\n\t\t\t\t\terr = syms__map_addr_dso(syms, ip[i], &sinfo);\n\t\t\t\t\tprintf(\"    #%-2d 0x%016lx\", idx++, ip[i]);\n\t\t\t\t\tif (err == 0) {\n\t\t\t\t\t\tif (sinfo.sym_name)\n\t\t\t\t\t\t\tprintf(\" %s+0x%lx\", sinfo.sym_name, sinfo.sym_offset);\n\t\t\t\t\t\tprintf(\" (%s+0x%lx)\", sinfo.dso_name, sinfo.dso_offset);\n\t\t\t\t\t}\n\t\t\t\t\tprintf(\"\\n\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\tskip_ustack:\n\t\tprintf(\"    %-16s %s (%d)\\n\", \"-\", val.task, next_key.pid);\n\t}\n\ncleanup:\n\tfree(ip);\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tconst struct cap_event *e = data;\n\tchar ts[32];\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\n\tchar *verdict = \"deny\";\n\tif (!e->ret)\n\t\tverdict = \"allow\";\n\n\tif (env.extra_fields)\n\t\tprintf(\"%-8s %-5d %-7d %-7d %-16s %-7d %-20s %-7d %-7s %-7d\\n\", ts, e->uid, e->pid, e->tgid, e->task, e->cap, cap_name[e->cap], e->audit, verdict, e->insetid);\n\telse\n\t\tprintf(\"%-8s %-5d %-7d %-16s %-7d %-20s %-7d %-7s\\n\", ts, e->uid, e->pid, e->task, e->cap, cap_name[e->cap], e->audit, verdict);\n\n\tprint_map(ksyms, syms_cache);\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\tfprintf(stderr, \"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\n\tstruct capable_bpf *obj;\n\tstruct perf_buffer *pb = NULL;\n\tint err;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\tenum uniqueness uniqueness_type = UNQ_OFF;\n\tpid_t my_pid = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tif (env.unique) {\n\t\tif (strcmp(env.unique_type, \"pid\") == 0) {\n\t\t\tuniqueness_type = UNQ_PID;\n\t\t} else if (strcmp(env.unique_type, \"cgroup\") == 0) {\n\t\t\tuniqueness_type = UNQ_CGROUP;\n\t\t} else {\n\t\t\tfprintf(stderr, \"Unknown unique type %s\\n\", env.unique_type);\n\t\t\treturn -1;\n\t\t}\n\t}\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = capable_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tobj->rodata->targ_pid = env.pid;\n\tobj->rodata->filter_cg = env.cg;\n\tobj->rodata->user_stack = env.user_stack;\n\tobj->rodata->kernel_stack = env.kernel_stack;\n\tobj->rodata->unique_type = uniqueness_type;\n\n\tmy_pid = getpid();\n\tobj->rodata->my_pid = my_pid;\n\n\tbpf_map__set_value_size(obj->maps.stackmap, env.perf_max_stack_depth * sizeof(unsigned long));\n\tbpf_map__set_max_entries(obj->maps.stackmap, env.stack_storage_size);\n\n\terr = capable_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\tksyms = ksyms__load();\n\tif (!ksyms) {\n\t\tfprintf(stderr, \"failed to load kallsyms\\n\");\n\t\tgoto cleanup;\n\t}\n\tsyms_cache = syms_cache__new(0);\n\tif (!syms_cache) {\n\t\tfprintf(stderr, \"failed to create syms_cache\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tifd = bpf_map__fd(obj->maps.info);\n\tsfd = bpf_map__fd(obj->maps.stackmap);\n\n\terr = capable_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t\t\thandle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\tfprintf(stderr, \"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tif (env.extra_fields)\n\t\tprintf(\"%-8s %-5s %-7s %-7s %-16s %-7s %-20s %-7s %-7s %-7s\\n\", \"TIME\", \"UID\", \"PID\", \"TID\", \"COMM\", \"CAP\", \"NAME\", \"AUDIT\", \"VERDICT\", \"INSETID\");\n\telse\n\t\tprintf(\"%-8s %-5s %-7s %-16s %-7s %-20s %-7s %-7s\\n\", \"TIME\", \"UID\", \"PID\", \"COMM\", \"CAP\", \"NAME\", \"AUDIT\", \"VERDICT\");\n\n\t/* main: poll */\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\tcapable_bpf__destroy(obj);\n\tsyms_cache__free(syms_cache);\n\tksyms__free(ksyms);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/capable.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n//\n// Copyright 2022 Sony Group Corporation\n\n#ifndef __CAPABLE_H\n#define __CAPABLE_H\n\n#define TASK_COMM_LEN\t16\n\nstruct cap_event {\n\t__u32\tpid;\n\t__u32\tcap;\n\tgid_t\ttgid;\n\tuid_t\tuid;\n\tint\taudit;\n\tint\tinsetid;\n\tint\tret;\n\tchar\ttask[TASK_COMM_LEN];\n};\n\nstruct key_t {\n\t__u32\tpid;\n\t__u32\ttgid;\n\tint\tuser_stack_id;\n\tint\tkern_stack_id;\n};\n\nenum uniqueness {\n\tUNQ_OFF, UNQ_PID, UNQ_CGROUP\n};\n\n#endif /* __CAPABLE_H */\n"
  },
  {
    "path": "libbpf-tools/compat.bpf.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2022 Hengqi Chen */\n\n#ifndef __COMPAT_BPF_H\n#define __COMPAT_BPF_H\n\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n\n#define MAX_EVENT_SIZE\t\t10240\n#define RINGBUF_SIZE\t\t(1024 * 256)\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERCPU_ARRAY);\n\t__uint(max_entries, 1);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, MAX_EVENT_SIZE);\n} heap SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_RINGBUF);\n\t__uint(max_entries, RINGBUF_SIZE);\n} events SEC(\".maps\");\n\nstatic __always_inline void *reserve_buf(__u64 size)\n{\n\tstatic const int zero = 0;\n\n\tif (bpf_core_type_exists(struct bpf_ringbuf))\n\t\treturn bpf_ringbuf_reserve(&events, size, 0);\n\n\treturn bpf_map_lookup_elem(&heap, &zero);\n}\n\nstatic __always_inline long submit_buf(void *ctx, void *buf, __u64 size)\n{\n\tif (bpf_core_type_exists(struct bpf_ringbuf)) {\n\t\tbpf_ringbuf_submit(buf, 0);\n\t\treturn 0;\n\t}\n\n\treturn bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, buf, size);\n}\n\n#endif /* __COMPAT_BPF_H */\n"
  },
  {
    "path": "libbpf-tools/compat.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2022 Hengqi Chen */\n\n#include \"compat.h\"\n#include \"trace_helpers.h\"\n#include <stdlib.h>\n#include <errno.h>\n#include <bpf/libbpf.h>\n\n#define PERF_BUFFER_PAGES\t64\n\nstruct bpf_buffer {\n\tstruct bpf_map *events;\n\tvoid *inner;\n\tbpf_buffer_sample_fn fn;\n\tvoid *ctx;\n\tint type;\n};\n\nstatic void perfbuf_sample_fn(void *ctx, int cpu, void *data, __u32 size)\n{\n\tstruct bpf_buffer *buffer = ctx;\n\tbpf_buffer_sample_fn fn;\n\n\tfn = buffer->fn;\n\tif (!fn)\n\t\treturn;\n\n\t(void)fn(buffer->ctx, data, size);\n}\n\nstruct bpf_buffer *bpf_buffer__new(struct bpf_map *events, struct bpf_map *heap)\n{\n\tstruct bpf_buffer *buffer;\n\tbool use_ringbuf;\n\tint type;\n\n\tuse_ringbuf = probe_ringbuf();\n\tif (use_ringbuf) {\n\t\tbpf_map__set_autocreate(heap, false);\n\t\ttype = BPF_MAP_TYPE_RINGBUF;\n\t} else {\n\t\tbpf_map__set_type(events, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t\tbpf_map__set_key_size(events, sizeof(int));\n\t\tbpf_map__set_value_size(events, sizeof(int));\n\t\ttype = BPF_MAP_TYPE_PERF_EVENT_ARRAY;\n\t}\n\n\tbuffer = calloc(1, sizeof(*buffer));\n\tif (!buffer) {\n\t\terrno = ENOMEM;\n\t\treturn NULL;\n\t}\n\n\tbuffer->events = events;\n\tbuffer->type = type;\n\treturn buffer;\n}\n\nint bpf_buffer__open(struct bpf_buffer *buffer, bpf_buffer_sample_fn sample_cb,\n\t\t     bpf_buffer_lost_fn lost_cb, void *ctx)\n{\n\tint fd, type;\n\tvoid *inner;\n\n\tfd = bpf_map__fd(buffer->events);\n\ttype = buffer->type;\n\n\tswitch (type) {\n\tcase BPF_MAP_TYPE_PERF_EVENT_ARRAY:\n\t\tbuffer->fn = sample_cb;\n\t\tbuffer->ctx = ctx;\n\t\tinner = perf_buffer__new(fd, PERF_BUFFER_PAGES, perfbuf_sample_fn, lost_cb, buffer, NULL);\n\t\tbreak;\n\tcase BPF_MAP_TYPE_RINGBUF:\n\t\tinner = ring_buffer__new(fd, sample_cb, ctx, NULL);\n\t\tbreak;\n\tdefault:\n\t\treturn 0;\n\t}\n\n\tif (!inner)\n\t\treturn -errno;\n\n\tbuffer->inner = inner;\n\treturn 0;\n}\n\nint bpf_buffer__poll(struct bpf_buffer *buffer, int timeout_ms)\n{\n\tswitch (buffer->type) {\n\tcase BPF_MAP_TYPE_PERF_EVENT_ARRAY:\n\t\treturn perf_buffer__poll(buffer->inner, timeout_ms);\n\tcase BPF_MAP_TYPE_RINGBUF:\n\t\treturn ring_buffer__poll(buffer->inner, timeout_ms);\n\tdefault:\n\t\treturn -EINVAL;\n\t}\n}\n\nvoid bpf_buffer__free(struct bpf_buffer *buffer)\n{\n\tif (!buffer)\n\t\treturn;\n\n\tswitch (buffer->type) {\n\tcase BPF_MAP_TYPE_PERF_EVENT_ARRAY:\n\t\tperf_buffer__free(buffer->inner);\n\t\tbreak;\n\tcase BPF_MAP_TYPE_RINGBUF:\n\t\tring_buffer__free(buffer->inner);\n\t\tbreak;\n\t}\n\tfree(buffer);\n}\n"
  },
  {
    "path": "libbpf-tools/compat.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2022 Hengqi Chen */\n\n#ifndef __COMPAT_H\n#define __COMPAT_H\n\n#include <stdlib.h>\n#include <limits.h>\n#include <sys/types.h>\n#include <linux/bpf.h>\n\n#define POLL_TIMEOUT_MS 100\n\nstruct bpf_buffer;\nstruct bpf_map;\n\ntypedef int (*bpf_buffer_sample_fn)(void *ctx, void *data, size_t size);\ntypedef void (*bpf_buffer_lost_fn)(void *ctx, int cpu, __u64 cnt);\n\nstruct bpf_buffer *bpf_buffer__new(struct bpf_map *events, struct bpf_map *heap);\nint bpf_buffer__open(struct bpf_buffer *buffer, bpf_buffer_sample_fn sample_cb,\n\t\t     bpf_buffer_lost_fn lost_cb, void *ctx);\nint bpf_buffer__poll(struct bpf_buffer *, int timeout_ms);\nvoid bpf_buffer__free(struct bpf_buffer *);\n\n/* taken from libbpf */\n#ifndef __has_builtin\n#define __has_builtin(x) 0\n#endif\n\nstatic inline void *libbpf_reallocarray(void *ptr, size_t nmemb, size_t size)\n{\n\tsize_t total;\n\n#if __has_builtin(__builtin_mul_overflow)\n\tif (__builtin_mul_overflow(nmemb, size, &total))\n\t\treturn NULL;\n#else\n\tif (size == 0 || nmemb > ULONG_MAX / size)\n\t\treturn NULL;\n\ttotal = nmemb * size;\n#endif\n\treturn realloc(ptr, total);\n}\n\n#endif /* __COMPAT_H */\n"
  },
  {
    "path": "libbpf-tools/core_fixes.bpf.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021 Hengqi Chen */\n\n#ifndef __CORE_FIXES_BPF_H\n#define __CORE_FIXES_BPF_H\n\n#include <vmlinux.h>\n#include <bpf/bpf_core_read.h>\n\n/**\n * commit 2f064a59a1 (\"sched: Change task_struct::state\") changes\n * the name of task_struct::state to task_struct::__state\n * see:\n *     https://github.com/torvalds/linux/commit/2f064a59a1\n */\nstruct task_struct___o {\n\tvolatile long int state;\n} __attribute__((preserve_access_index));\n\nstruct task_struct___x {\n\tunsigned int __state;\n} __attribute__((preserve_access_index));\n\nstatic __always_inline __s64 get_task_state(void *task)\n{\n\tstruct task_struct___x *t = task;\n\n\tif (bpf_core_field_exists(t->__state))\n\t\treturn BPF_CORE_READ(t, __state);\n\treturn BPF_CORE_READ((struct task_struct___o *)task, state);\n}\n\n/**\n * commit 309dca309fc3 (\"block: store a block_device pointer in struct bio\")\n * adds a new member bi_bdev which is a pointer to struct block_device\n * see:\n *     https://github.com/torvalds/linux/commit/309dca309fc3\n */\nstruct bio___o {\n\tstruct gendisk *bi_disk;\n} __attribute__((preserve_access_index));\n\nstruct bio___x {\n\tstruct block_device *bi_bdev;\n} __attribute__((preserve_access_index));\n\nstatic __always_inline struct gendisk *get_gendisk(void *bio)\n{\n\tstruct bio___x *b = bio;\n\n\tif (bpf_core_field_exists(b->bi_bdev))\n\t\treturn BPF_CORE_READ(b, bi_bdev, bd_disk);\n\treturn BPF_CORE_READ((struct bio___o *)bio, bi_disk);\n}\n\n/**\n * commit d5869fdc189f (\"block: introduce block_rq_error tracepoint\")\n * adds a new tracepoint block_rq_error and it shares the same arguments\n * with tracepoint block_rq_complete. As a result, the kernel BTF now has\n * a `struct trace_event_raw_block_rq_completion` instead of\n * `struct trace_event_raw_block_rq_complete`.\n * see:\n *     https://github.com/torvalds/linux/commit/d5869fdc189f\n */\nstruct trace_event_raw_block_rq_complete___x {\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n} __attribute__((preserve_access_index));\n\nstruct trace_event_raw_block_rq_completion___x {\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n} __attribute__((preserve_access_index));\n\nstatic __always_inline bool has_block_rq_completion()\n{\n\tif (bpf_core_type_exists(struct trace_event_raw_block_rq_completion___x))\n\t\treturn true;\n\treturn false;\n}\n\n/**\n * commit d152c682f03c (\"block: add an explicit ->disk backpointer to the\n * request_queue\") and commit f3fa33acca9f (\"block: remove the ->rq_disk\n * field in struct request\") make some changes to `struct request` and\n * `struct request_queue`. Now, to get the `struct gendisk *` field in a CO-RE\n * way, we need both `struct request` and `struct request_queue`.\n * see:\n *     https://github.com/torvalds/linux/commit/d152c682f03c\n *     https://github.com/torvalds/linux/commit/f3fa33acca9f\n */\nstruct request_queue___x {\n\tstruct gendisk *disk;\n} __attribute__((preserve_access_index));\n\nstruct request___x {\n\tstruct request_queue___x *q;\n\tstruct gendisk *rq_disk;\n} __attribute__((preserve_access_index));\n\nstatic __always_inline struct gendisk *get_disk(void *request)\n{\n\tstruct request___x *r = request;\n\n\tif (bpf_core_field_exists(r->rq_disk))\n\t\treturn BPF_CORE_READ(r, rq_disk);\n\treturn BPF_CORE_READ(r, q, disk);\n}\n\n/**\n * commit 6521f8917082(\"namei: prepare for idmapped mounts\") add `struct\n * user_namespace *mnt_userns` as vfs_create() and vfs_unlink() first argument.\n * At the same time, struct renamedata {} add `struct user_namespace\n * *old_mnt_userns` item. Now, to kprobe vfs_create()/vfs_unlink() in a CO-RE\n * way, determine whether there is a `old_mnt_userns` field for `struct\n * renamedata` to decide which input parameter of the vfs_create() to use as\n * `dentry`.\n * commit abf08576afe3(\"fs: port vfs_*() helpers to struct mnt_idmap\") use\n * `struct mnt_idmap *new_mnt_idmap` instead of `struct user_namespace *\n * old_mnt_userns`.\n * see:\n *     https://github.com/torvalds/linux/commit/6521f8917082\n *     https://github.com/torvalds/linux/commit/abf08576afe3\n */\nstruct renamedata___x {\n\tstruct user_namespace *old_mnt_userns;\n\tstruct new_mnt_idmap *new_mnt_idmap;\n} __attribute__((preserve_access_index));\n\nstatic __always_inline bool renamedata_has_old_mnt_userns_field(void)\n{\n\tif (bpf_core_field_exists(struct renamedata___x, old_mnt_userns))\n\t\treturn true;\n\treturn false;\n}\n\nstatic __always_inline bool renamedata_has_new_mnt_idmap_field(void)\n{\n\tif (bpf_core_field_exists(struct renamedata___x, new_mnt_idmap))\n\t\treturn true;\n\treturn false;\n}\n\n/**\n * commit 3544de8ee6e4(\"mm, tracing: record slab name for kmem_cache_free()\")\n * replaces `trace_event_raw_kmem_free` with `trace_event_raw_kfree` and adds\n * `tracepoint_kmem_cache_free` to enhance the information recorded for\n * `kmem_cache_free`.\n * see:\n *     https://github.com/torvalds/linux/commit/3544de8ee6e4\n */\n\nstruct trace_event_raw_kmem_free___x {\n\tconst void *ptr;\n} __attribute__((preserve_access_index));\n\nstruct trace_event_raw_kfree___x {\n\tconst void *ptr;\n} __attribute__((preserve_access_index));\n\nstruct trace_event_raw_kmem_cache_free___x {\n\tconst void *ptr;\n} __attribute__((preserve_access_index));\n\nstatic __always_inline bool has_kfree()\n{\n\tif (bpf_core_type_exists(struct trace_event_raw_kfree___x))\n\t\treturn true;\n\treturn false;\n}\n\nstatic __always_inline bool has_kmem_cache_free()\n{\n\tif (bpf_core_type_exists(struct trace_event_raw_kmem_cache_free___x))\n\t\treturn true;\n\treturn false;\n}\n\n/**\n * commit 11e9734bcb6a(\"mm/slab_common: unify NUMA and UMA version of\n * tracepoints\") drops kmem_alloc event class, rename kmem_alloc_node to\n * kmem_alloc, so `trace_event_raw_kmem_alloc_node` is not existed any more.\n * see:\n *    https://github.com/torvalds/linux/commit/11e9734bcb6a\n */\nstruct trace_event_raw_kmem_alloc_node___x {\n\tconst void *ptr;\n\tsize_t bytes_alloc;\n} __attribute__((preserve_access_index));\n\nstatic __always_inline bool has_kmem_alloc_node(void)\n{\n\tif (bpf_core_type_exists(struct trace_event_raw_kmem_alloc_node___x))\n\t\treturn true;\n\treturn false;\n}\n\n/**\n * commit 2c1d697fb8ba(\"mm/slab_common: drop kmem_alloc & avoid dereferencing\n * fields when not using\") drops kmem_alloc event class. As a result,\n * `trace_event_raw_kmem_alloc` is removed, `trace_event_raw_kmalloc` and\n * `trace_event_raw_kmem_cache_alloc` are added.\n * see:\n *    https://github.com/torvalds/linux/commit/2c1d697fb8ba\n */\nstruct trace_event_raw_kmem_alloc___x {\n\tconst void *ptr;\n\tsize_t bytes_alloc;\n} __attribute__((preserve_access_index));\n\nstruct trace_event_raw_kmalloc___x {\n\tconst void *ptr;\n\tsize_t bytes_alloc;\n} __attribute__((preserve_access_index));\n\nstruct trace_event_raw_kmem_cache_alloc___x {\n\tconst void *ptr;\n\tsize_t bytes_alloc;\n} __attribute__((preserve_access_index));\n\nstatic __always_inline bool has_kmem_alloc(void)\n{\n\tif (bpf_core_type_exists(struct trace_event_raw_kmem_alloc___x))\n\t\treturn true;\n\treturn false;\n}\n\n/**\n * The bpf_get_socket_cookie helper is landed since kernel v4.12，\n * but only available for tracing programs since kernel v5.12\n * via commit c5dbb89fc2ac(\"bpf: Expose bpf_get_socket_cookie to tracing programs\").\n * Since the helper is used to provide a unique socket identifier,\n * we could use the sock itself as the identifier if the helper is not available.\n * Here, we use BPF_FUNC_check_mtu to check the availability of the helper\n * since they are both introduced in v5.12.\n *\n * see:\n *    https://github.com/torvalds/linux/commit/91b8270f2a4d\n *    https://github.com/torvalds/linux/commit/c5dbb89fc2ac\n *    https://github.com/torvalds/linux/commit/34b2021cc616\n */\nstatic __always_inline __u64 get_sock_ident(struct sock *sk)\n{\n\tif (bpf_core_enum_value_exists(enum bpf_func_id, BPF_FUNC_check_mtu)) {\n\t\treturn bpf_get_socket_cookie(sk);\n\t}\n\treturn (__u64)sk;\n}\n\n/**\n * During kernel 6.6 development cycle, several bitfields in struct inet_sock gone,\n * they are placed in inet_sock::inet_flags instead ([0]).\n *\n * References:\n *   [0]: https://lore.kernel.org/all/20230816081547.1272409-1-edumazet@google.com/\n */\nstruct inet_sock___o {\n\t__u8 freebind: 1;\n\t__u8 transparent: 1;\n\t__u8 bind_address_no_port: 1;\n};\n\nenum {\n\tINET_FLAGS_FREEBIND___x = 11,\n\tINET_FLAGS_TRANSPARENT___x = 15,\n\tINET_FLAGS_BIND_ADDRESS_NO_PORT___x = 18,\n};\n\nstruct inet_sock___x {\n\tunsigned long inet_flags;\n};\n\nstatic __always_inline __u8 get_inet_sock_freebind(void *inet_sock)\n{\n\tunsigned long inet_flags;\n\n\tif (bpf_core_field_exists(struct inet_sock___o, freebind))\n\t\treturn BPF_CORE_READ_BITFIELD_PROBED((struct inet_sock___o *)inet_sock, freebind);\n\n\tinet_flags = BPF_CORE_READ((struct inet_sock___x *)inet_sock, inet_flags);\n\treturn (1 << INET_FLAGS_FREEBIND___x) & inet_flags ? 1 : 0;\n}\n\nstatic __always_inline __u8 get_inet_sock_transparent(void *inet_sock)\n{\n\tunsigned long inet_flags;\n\n\tif (bpf_core_field_exists(struct inet_sock___o, transparent))\n\t\treturn BPF_CORE_READ_BITFIELD_PROBED((struct inet_sock___o *)inet_sock, transparent);\n\n\tinet_flags = BPF_CORE_READ((struct inet_sock___x *)inet_sock, inet_flags);\n\treturn (1 << INET_FLAGS_TRANSPARENT___x) & inet_flags ? 1 : 0;\n}\n\nstatic __always_inline __u8 get_inet_sock_bind_address_no_port(void *inet_sock)\n{\n\tunsigned long inet_flags;\n\n\tif (bpf_core_field_exists(struct inet_sock___o, bind_address_no_port))\n\t\treturn BPF_CORE_READ_BITFIELD_PROBED((struct inet_sock___o *)inet_sock, bind_address_no_port);\n\n\tinet_flags = BPF_CORE_READ((struct inet_sock___x *)inet_sock, inet_flags);\n\treturn (1 << INET_FLAGS_BIND_ADDRESS_NO_PORT___x) & inet_flags ? 1 : 0;\n}\n\n/**\n * commit 736c55a02c47 (\"sched/fair: Rename cfs_rq.nr_running into nr_queued\")\n * renamed cfs_rq::nr_running to cfs_rq::nr_queued.\n *\n * References:\n *   [0]: https://github.com/torvalds/linux/commit/736c55a02c47\n */\nstruct cfs_rq___pre_v614 {\n\tunsigned int\t\tnr_running;\n};\n\nstatic __always_inline __u8 cfs_rq_get_nr_running_or_nr_queued(void *cfs_rq)\n{\n\tif (bpf_core_field_exists(struct cfs_rq___pre_v614, nr_running))\n\t\treturn BPF_CORE_READ((struct cfs_rq___pre_v614 *)cfs_rq, nr_running);\n\n\treturn BPF_CORE_READ((struct cfs_rq *)cfs_rq, nr_queued);\n}\n\n#endif /* __CORE_FIXES_BPF_H */\n"
  },
  {
    "path": "libbpf-tools/cpudist.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"cpudist.h\"\n#include \"bits.bpf.h\"\n#include \"core_fixes.bpf.h\"\n\n#define TASK_RUNNING\t0\n\nconst volatile bool filter_cg = false;\nconst volatile bool targ_per_process = false;\nconst volatile bool targ_per_thread = false;\nconst volatile bool targ_offcpu = false;\nconst volatile bool targ_ms = false;\nconst volatile pid_t targ_tgid = -1;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, u64);\n} start SEC(\".maps\");\n\nstatic struct hist initial_hist;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, struct hist);\n} hists SEC(\".maps\");\n\nstatic __always_inline void store_start(u32 tgid, u32 pid, u64 ts)\n{\n\tif (targ_tgid != -1 && targ_tgid != tgid)\n\t\treturn;\n\tbpf_map_update_elem(&start, &pid, &ts, 0);\n}\n\nstatic __always_inline void update_hist(struct task_struct *task,\n\t\t\t\t\tu32 tgid, u32 pid, u64 ts)\n{\n\tu64 delta, *tsp, slot;\n\tstruct hist *histp;\n\tu32 id;\n\n\tif (targ_tgid != -1 && targ_tgid != tgid)\n\t\treturn;\n\n\ttsp = bpf_map_lookup_elem(&start, &pid);\n\tif (!tsp || ts < *tsp)\n\t\treturn;\n\n\tif (targ_per_process)\n\t\tid = tgid;\n\telse if (targ_per_thread)\n\t\tid = pid;\n\telse\n\t\tid = -1;\n\thistp = bpf_map_lookup_elem(&hists, &id);\n\tif (!histp) {\n\t\tbpf_map_update_elem(&hists, &id, &initial_hist, 0);\n\t\thistp = bpf_map_lookup_elem(&hists, &id);\n\t\tif (!histp)\n\t\t\treturn;\n\t\tBPF_CORE_READ_STR_INTO(&histp->comm, task, comm);\n\t}\n\tdelta = ts - *tsp;\n\tif (targ_ms)\n\t\tdelta /= 1000000;\n\telse\n\t\tdelta /= 1000;\n\tslot = log2l(delta);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&histp->slots[slot], 1);\n}\n\nstatic int handle_switch(struct task_struct *prev, struct task_struct *next)\n{\n\tu32 prev_tgid = BPF_CORE_READ(prev, tgid), prev_pid = BPF_CORE_READ(prev, pid);\n\tu32 tgid = BPF_CORE_READ(next, tgid), pid = BPF_CORE_READ(next, pid);\n\tu64 ts = bpf_ktime_get_ns();\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tif (targ_offcpu) {\n\t\tstore_start(prev_tgid, prev_pid, ts);\n\t\tupdate_hist(next, tgid, pid, ts);\n\t} else {\n\t\tif (get_task_state(prev) == TASK_RUNNING)\n\t\t\tupdate_hist(prev, prev_tgid, prev_pid, ts);\n\t\tstore_start(tgid, pid, ts);\n\t}\n\treturn 0;\n}\n\nSEC(\"tp_btf/sched_switch\")\nint BPF_PROG(sched_switch_btf, bool preempt, struct task_struct *prev,\n\t     struct task_struct *next)\n{\n\treturn handle_switch(prev, next);\n}\n\nSEC(\"raw_tp/sched_switch\")\nint BPF_PROG(sched_switch_tp, bool preempt, struct task_struct *prev,\n\t     struct task_struct *next)\n{\n\treturn handle_switch(prev, next);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/cpudist.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on cpudist(8) from BCC by Brendan Gregg & Dina Goldshtein.\n// 8-May-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <time.h>\n#include <fcntl.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"cpudist.h\"\n#include \"cpudist.skel.h\"\n#include \"trace_helpers.h\"\n\nstatic struct env {\n\ttime_t interval;\n\tpid_t pid;\n\tchar *cgroupspath;\n\tbool cg;\n\tint times;\n\tbool offcpu;\n\tbool timestamp;\n\tbool per_process;\n\tbool per_thread;\n\tbool milliseconds;\n\tbool verbose;\n} env = {\n\t.interval = 99999999,\n\t.pid = -1,\n\t.times = 99999999,\n};\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"cpudist 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize on-CPU time per task as a histogram.\\n\"\n\"\\n\"\n\"USAGE: cpudist [--help] [-O] [-T] [-m] [-P] [-L] [-p PID] [interval] [count] [-c CG]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    cpudist              # summarize on-CPU time as a histogram\"\n\"    cpudist -O           # summarize off-CPU time as a histogram\"\n\"    cpudist -c CG        # Trace process under cgroupsPath CG\\n\"\n\"    cpudist 1 10         # print 1 second summaries, 10 times\"\n\"    cpudist -mT 1        # 1s summaries, milliseconds, and timestamps\"\n\"    cpudist -P           # show each PID separately\"\n\"    cpudist -p 185       # trace PID 185 only\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"offcpu\", 'O', NULL, 0, \"Measure off-CPU time\", 0 },\n\t{ \"timestamp\", 'T', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"milliseconds\", 'm', NULL, 0, \"Millisecond histogram\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ \"pids\", 'P', NULL, 0, \"Print a histogram per process ID\", 0 },\n\t{ \"tids\", 'L', NULL, 0, \"Print a histogram per thread ID\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Trace this PID only\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'm':\n\t\tenv.milliseconds = true;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tenv.pid = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'O':\n\t\tenv.offcpu = true;\n\t\tbreak;\n\tcase 'P':\n\t\tenv.per_process = true;\n\t\tbreak;\n\tcase 'L':\n\t\tenv.per_thread = true;\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tenv.interval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tenv.times = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid times\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic int get_pid_max(void)\n{\n\tint pid_max;\n\tFILE *f;\n\n\tf = fopen(\"/proc/sys/kernel/pid_max\", \"r\");\n\tif (!f)\n\t\treturn -1;\n\tif (fscanf(f, \"%d\\n\", &pid_max) != 1)\n\t\tpid_max = -1;\n\tfclose(f);\n\treturn pid_max;\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic int print_log2_hists(int fd)\n{\n\tchar *units = env.milliseconds ? \"msecs\" : \"usecs\";\n\t__u32 lookup_key = -2, next_key;\n\tstruct hist hist;\n\tint err;\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &hist);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup hist: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tif (env.per_process)\n\t\t\tprintf(\"\\npid = %d %s\\n\", next_key, hist.comm);\n\t\tif (env.per_thread)\n\t\t\tprintf(\"\\ntid = %d %s\\n\", next_key, hist.comm);\n\t\tprint_log2_hist(hist.slots, MAX_SLOTS, units);\n\t\tlookup_key = next_key;\n\t}\n\n\tlookup_key = -2;\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_delete_elem(fd, &next_key);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to cleanup hist : %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct cpudist_bpf *obj;\n\tint pid_max, fd, err;\n\tchar ts[32];\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = cpudist_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tif (probe_tp_btf(\"sched_switch\"))\n\t\tbpf_program__set_autoload(obj->progs.sched_switch_tp, false);\n\telse\n\t\tbpf_program__set_autoload(obj->progs.sched_switch_btf, false);\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->filter_cg = env.cg;\n\tobj->rodata->targ_per_process = env.per_process;\n\tobj->rodata->targ_per_thread = env.per_thread;\n\tobj->rodata->targ_ms = env.milliseconds;\n\tobj->rodata->targ_offcpu = env.offcpu;\n\tobj->rodata->targ_tgid = env.pid;\n\n\tpid_max = get_pid_max();\n\tif (pid_max < 0) {\n\t\tfprintf(stderr, \"failed to get pid_max\\n\");\n\t\treturn 1;\n\t}\n\n\tbpf_map__set_max_entries(obj->maps.start, pid_max);\n\tif (!env.per_process && !env.per_thread)\n\t\tbpf_map__set_max_entries(obj->maps.hists, 1);\n\telse\n\t\tbpf_map__set_max_entries(obj->maps.hists, pid_max);\n\n\terr = cpudist_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\terr = cpudist_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tfd = bpf_map__fd(obj->maps.hists);\n\n\tsignal(SIGINT, sig_handler);\n\n\tprintf(\"Tracing %s-CPU time... Hit Ctrl-C to end.\\n\", env.offcpu ? \"off\" : \"on\");\n\n\t/* main: poll */\n\twhile (1) {\n\t\tsleep(env.interval);\n\t\tprintf(\"\\n\");\n\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\terr = print_log2_hists(fd);\n\t\tif (err)\n\t\t\tbreak;\n\n\t\tif (exiting || --env.times == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\tcpudist_bpf__destroy(obj);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/cpudist.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __CPUDIST_H\n#define __CPUDIST_H\n\n#define TASK_COMM_LEN\t16\n#define MAX_SLOTS\t36\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n\tchar comm[TASK_COMM_LEN];\n};\n\n#endif // __CPUDIST_H\n"
  },
  {
    "path": "libbpf-tools/cpufreq.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"cpufreq.h\"\n#include \"maps.bpf.h\"\n\n__u32 freqs_mhz[MAX_CPU_NR] = {};\nstatic struct hist zero;\nstruct hist syswide = {};\nbool filter_cg = false;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct hkey);\n\t__type(value, struct hist);\n} hists SEC(\".maps\");\n\n#define clamp_umax(VAR, UMAX)\t\t\t\t\t\t\\\n\tasm volatile (\t\t\t\t\t\t\t\\\n\t\t\"if %0 <= %[max] goto +1\\n\"\t\t\t\t\\\n\t\t\"%0 = %[max]\\n\"\t\t\t\t\t\t\\\n\t\t: \"+r\"(VAR)\t\t\t\t\t\t\\\n\t\t: [max]\"i\"(UMAX)\t\t\t\t\t\\\n\t)\n\nSEC(\"tp_btf/cpu_frequency\")\nint BPF_PROG(cpu_frequency, unsigned int state, unsigned int cpu_id)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tif (cpu_id >= MAX_CPU_NR)\n\t\treturn 0;\n\n\tclamp_umax(cpu_id, MAX_CPU_NR - 1);\n\tfreqs_mhz[cpu_id] = state / 1000;\n\treturn 0;\n}\n\nSEC(\"perf_event\")\nint do_sample(struct bpf_perf_event_data *ctx)\n{\n\tu32 freq_mhz, pid = bpf_get_current_pid_tgid();\n\tu64 slot, cpu = bpf_get_smp_processor_id();\n\tstruct hist *hist;\n\tstruct hkey hkey;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tif (cpu >= MAX_CPU_NR)\n\t\treturn 0;\n\tclamp_umax(cpu, MAX_CPU_NR - 1);\n\tfreq_mhz = freqs_mhz[cpu];\n\tif (!freq_mhz)\n\t\treturn 0;\n\t/*\n\t * The range of the linear histogram is 0 ~ 5000mhz,\n\t * and the step size is 200.\n\t */\n\tslot = freq_mhz / HIST_STEP_SIZE;\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&syswide.slots[slot], 1);\n\tif (!pid)\n\t\treturn 0;\n\tbpf_get_current_comm(&hkey.comm, sizeof(hkey.comm));\n\thist = bpf_map_lookup_or_try_init(&hists, &hkey, &zero);\n\tif (!hist)\n\t\treturn 0;\n\t__sync_fetch_and_add(&hist->slots[slot], 1);\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/cpufreq.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on cpufreq(8) from BPF-Perf-Tools-Book by Brendan Gregg.\n// 10-OCT-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <linux/perf_event.h>\n#include <asm/unistd.h>\n#include <fcntl.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"cpufreq.h\"\n#include \"cpufreq.skel.h\"\n#include \"trace_helpers.h\"\n\nstatic struct env {\n\tint duration;\n\tint freq;\n\tbool verbose;\n\tchar *cgroupspath;\n\tbool cg;\n} env = {\n\t.duration = -1,\n\t.freq = 99,\n};\n\nconst char *argp_program_version = \"cpufreq 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Sampling CPU freq system-wide & by process. Ctrl-C to end.\\n\"\n\"\\n\"\n\"USAGE: cpufreq [--help] [-d DURATION] [-f FREQUENCY] [-c CG]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    cpufreq         # sample CPU freq at 99HZ (default)\\n\"\n\"    cpufreq -d 5    # sample for 5 seconds only\\n\"\n\"    cpufreq -c CG   # Trace process under cgroupsPath CG\\n\"\n\"    cpufreq -f 199  # sample CPU freq at 199HZ\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"duration\", 'd', \"DURATION\", 0, \"Duration to sample in seconds\", 0 },\n\t{ \"frequency\", 'f', \"FREQUENCY\", 0, \"Sample with a certain frequency\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'd':\n\t\terrno = 0;\n\t\tenv.duration = strtol(arg, NULL, 10);\n\t\tif (errno || env.duration <= 0) {\n\t\t\tfprintf(stderr, \"Invalid duration: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase 'f':\n\t\terrno = 0;\n\t\tenv.freq = strtol(arg, NULL, 10);\n\t\tif (errno || env.freq <= 0) {\n\t\t\tfprintf(stderr, \"Invalid freq (in HZ): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int nr_cpus;\n\nstatic int open_and_attach_perf_event(int freq, struct bpf_program *prog,\n\t\t\t\tstruct bpf_link *links[])\n{\n\tstruct perf_event_attr attr = {\n\t\t.type = PERF_TYPE_SOFTWARE,\n\t\t.freq = 1,\n\t\t.sample_period = freq,\n\t\t.config = PERF_COUNT_SW_CPU_CLOCK,\n\t};\n\tint i, fd;\n\n\tfor (i = 0; i < nr_cpus; i++) {\n\t\tfd = syscall(__NR_perf_event_open, &attr, -1, i, -1, 0);\n\t\tif (fd < 0) {\n\t\t\t/* Ignore CPU that is offline */\n\t\t\tif (errno == ENODEV)\n\t\t\t\tcontinue;\n\t\t\tfprintf(stderr, \"failed to init perf sampling: %s\\n\",\n\t\t\t\tstrerror(errno));\n\t\t\treturn -1;\n\t\t}\n\t\tlinks[i] = bpf_program__attach_perf_event(prog, fd);\n\t\tif (!links[i]) {\n\t\t\tfprintf(stderr, \"failed to attach perf event on cpu: %d\\n\", i);\n\t\t\tclose(fd);\n\t\t\treturn -1;\n\t\t}\n\t}\n\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n}\n\nstatic int init_freqs_mhz(__u32 *freqs_mhz, struct bpf_link *links[])\n{\n\tchar path[64];\n\tFILE *f;\n\tint i;\n\n\tfor (i = 0; i < nr_cpus; i++) {\n\t\tif (!links[i]) {\n\t\t\tcontinue;\n\t\t}\n\t\tsnprintf(path, sizeof(path),\n\t\t\t\"/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq\",\n\t\t\ti);\n\n\t\tf = fopen(path, \"r\");\n\t\tif (!f) {\n\t\t\tfprintf(stderr, \"failed to open '%s': %s\\n\"\n\t\t\t\t\"This tool depends on CPU Frequency Scaling\\n\",\n\t\t\t\tpath, strerror(errno));\n\t\t\treturn -1;\n\t\t}\n\t\tif (fscanf(f, \"%u\\n\", &freqs_mhz[i]) != 1) {\n\t\t\tfprintf(stderr, \"failed to parse '%s': %s\\n\", path,\n\t\t\t\tstrerror(errno));\n\t\t\tfclose(f);\n\t\t\treturn -1;\n\t\t}\n\t\t/*\n\t\t * scaling_cur_freq is in kHz. To be handled with\n\t\t * a small data size, it's converted in mHz.\n\t\t */\n\t\tfreqs_mhz[i] /= 1000;\n\t\tfclose(f);\n\t}\n\n\treturn 0;\n}\n\nstatic void print_linear_hists(struct bpf_map *hists,\n\t\t\tstruct cpufreq_bpf__bss *bss)\n{\n\tstruct hkey lookup_key = {}, next_key;\n\tint err, fd = bpf_map__fd(hists);\n\tstruct hist hist;\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &hist);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup hist: %d\\n\", err);\n\t\t\treturn;\n\t\t}\n\t\tprint_linear_hist(hist.slots, MAX_SLOTS, 0, HIST_STEP_SIZE,\n\t\t\t\tnext_key.comm);\n\t\tprintf(\"\\n\");\n\t\tlookup_key = next_key;\n\t}\n\n\tprintf(\"\\n\");\n\tprint_linear_hist(bss->syswide.slots, MAX_SLOTS, 0, HIST_STEP_SIZE,\n\t\t\t  \"syswide\");\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct bpf_link *links[MAX_CPU_NR] = {};\n\tstruct cpufreq_bpf *obj;\n\tint err, i;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tnr_cpus = libbpf_num_possible_cpus();\n\tif (nr_cpus < 0) {\n\t\tfprintf(stderr, \"failed to get # of possible cpus: '%s'!\\n\",\n\t\t\tstrerror(-nr_cpus));\n\t\treturn 1;\n\t}\n\tif (nr_cpus > MAX_CPU_NR) {\n\t\tfprintf(stderr, \"the number of cpu cores is too big, please \"\n\t\t\t\"increase MAX_CPU_NR's value and recompile\");\n\t\treturn 1;\n\t}\n\n\tobj = cpufreq_bpf__open_and_load();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open and/or load BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tif (!obj->bss) {\n\t\tfprintf(stderr, \"Memory-mapping BPF maps is supported starting from Linux 5.7, please upgrade.\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tobj->bss->filter_cg = env.cg;\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\terr = open_and_attach_perf_event(env.freq, obj->progs.do_sample, links);\n\tif (err)\n\t\tgoto cleanup;\n\terr = init_freqs_mhz(obj->bss->freqs_mhz, links);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to init freqs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\terr = cpufreq_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"Sampling CPU freq system-wide & by process. Ctrl-C to end.\\n\");\n\n\tsignal(SIGINT, sig_handler);\n\n\t/*\n\t * We'll get sleep interrupted when someone presses Ctrl-C (which will\n\t * be \"handled\" with noop by sig_handler).\n\t */\n\tsleep(env.duration);\n\tprintf(\"\\n\");\n\n\tprint_linear_hists(obj->maps.hists, obj->bss);\n\ncleanup:\n\tfor (i = 0; i < nr_cpus; i++)\n\t\tbpf_link__destroy(links[i]);\n\tcpufreq_bpf__destroy(obj);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/cpufreq.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __CPUFREQ_H\n#define __CPUFREQ_H\n\n#define MAX_ENTRIES\t1024\n#define MAX_CPU_NR\t128\n#define MAX_SLOTS\t26\n#define TASK_COMM_LEN\t16\n#define HIST_STEP_SIZE\t200\n\nstruct hkey {\n\tchar comm[TASK_COMM_LEN];\n};\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n};\n\n#endif /* __CPUFREQ_H */\n"
  },
  {
    "path": "libbpf-tools/drsnoop.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"drsnoop.h\"\n\nconst volatile pid_t targ_pid = 0;\nconst volatile pid_t targ_tgid = 0;\nconst volatile __u64 vm_zone_stat_kaddr = 0;\n\nstruct piddata {\n\tu64 ts;\n\tu64 nr_free_pages;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 8192);\n\t__type(key, u32);\n\t__type(value, struct piddata);\n} start SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(u32));\n\t__uint(value_size, sizeof(u32));\n} events SEC(\".maps\");\n\nstatic int handle_direct_reclaim_begin()\n{\n\tu64 *vm_zone_stat_kaddrp = (u64*)vm_zone_stat_kaddr;\n\tu64 id = bpf_get_current_pid_tgid();\n\tstruct piddata piddata = {};\n\tu32 tgid = id >> 32;\n\tu32 pid = id;\n\n\tif (targ_tgid && targ_tgid != tgid)\n\t\treturn 0;\n\tif (targ_pid && targ_pid != pid)\n\t\treturn 0;\n\n\tpiddata.ts = bpf_ktime_get_ns();\n\tif (vm_zone_stat_kaddrp) {\n\t\tbpf_probe_read_kernel(&piddata.nr_free_pages,\n\t\t\t\t      sizeof(*vm_zone_stat_kaddrp),\n\t\t\t\t      &vm_zone_stat_kaddrp[NR_FREE_PAGES]);\n\t}\n\n\tbpf_map_update_elem(&start, &pid, &piddata, 0);\n\treturn 0;\n}\n\nstatic int handle_direct_reclaim_end(void *ctx, unsigned long nr_reclaimed)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\tstruct piddata *piddatap;\n\tstruct event event = {};\n\tu32 tgid = id >> 32;\n\tu32 pid = id;\n\ts64 delta_ns;\n\n\tif (targ_tgid && targ_tgid != tgid)\n\t\treturn 0;\n\tif (targ_pid && targ_pid != pid)\n\t\treturn 0;\n\n\t/* fetch timestamp and calculate delta */\n\tpiddatap = bpf_map_lookup_elem(&start, &pid);\n\tif (!piddatap)\n\t\treturn 0;   /* missed entry */\n\n\tdelta_ns = bpf_ktime_get_ns() - piddatap->ts;\n\tif (delta_ns < 0)\n\t\tgoto cleanup;\n\n\tevent.pid = pid;\n\tevent.nr_reclaimed = nr_reclaimed;\n\tevent.delta_ns = delta_ns;\n\tevent.nr_free_pages = piddatap->nr_free_pages;\n\tbpf_get_current_comm(&event.task, TASK_COMM_LEN);\n\n\t/* output */\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU,\n\t\t\t      &event, sizeof(event));\n\ncleanup:\n\tbpf_map_delete_elem(&start, &pid);\n\treturn 0;\n}\n\nSEC(\"tp_btf/mm_vmscan_direct_reclaim_begin\")\nint BPF_PROG(direct_reclaim_begin_btf)\n{\n\treturn handle_direct_reclaim_begin();\n}\n\nSEC(\"tp_btf/mm_vmscan_direct_reclaim_end\")\nint BPF_PROG(direct_reclaim_end_btf, unsigned long nr_reclaimed)\n{\n\treturn handle_direct_reclaim_end(ctx, nr_reclaimed);\n}\n\nSEC(\"raw_tp/mm_vmscan_direct_reclaim_begin\")\nint BPF_PROG(direct_reclaim_begin)\n{\n\treturn handle_direct_reclaim_begin();\n}\n\nSEC(\"raw_tp/mm_vmscan_direct_reclaim_end\")\nint BPF_PROG(direct_reclaim_end, unsigned long nr_reclaimed)\n{\n\treturn handle_direct_reclaim_end(ctx, nr_reclaimed);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/drsnoop.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on drsnoop(8) from BCC by Wenbo Zhang.\n// 28-Feb-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"drsnoop.h\"\n#include \"drsnoop.skel.h\"\n#include \"trace_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t16\n#define PERF_POLL_TIMEOUT_MS\t100\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic struct env {\n\tpid_t pid;\n\tpid_t tid;\n\ttime_t duration;\n\tbool extended;\n\tbool verbose;\n} env = { };\n\nconst char *argp_program_version = \"drsnoop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace direct reclaim latency.\\n\"\n\"\\n\"\n\"USAGE: drsnoop [--help] [-p PID] [-t TID] [-d DURATION] [-e]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    drsnoop         # trace all direct reclaim events\\n\"\n\"    drsnoop -p 123  # trace pid 123\\n\"\n\"    drsnoop -t 123  # trace tid 123 (use for threads only)\\n\"\n\"    drsnoop -d 10   # trace for 10 seconds only\\n\"\n\"    drsnoop -e      # trace all direct reclaim events with extended fields\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"duration\", 'd', \"DURATION\", 0, \"Total duration of trace in seconds\", 0 },\n\t{ \"extended\", 'e', NULL, 0, \"Extended fields output\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Process PID to trace\", 0 },\n\t{ \"tid\", 't', \"TID\", 0, \"Thread TID to trace\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic int page_size;\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\ttime_t duration;\n\tint pid;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'd':\n\t\terrno = 0;\n\t\tduration = strtol(arg, NULL, 10);\n\t\tif (errno || duration <= 0) {\n\t\t\tfprintf(stderr, \"invalid DURATION: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.duration = duration;\n\t\tbreak;\n\tcase 'e':\n\t\tenv.extended = true;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.pid = pid;\n\t\tbreak;\n\tcase 't':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\tfprintf(stderr, \"invalid TID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.tid = pid;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nvoid handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tstruct event e;\n\tchar ts[32];\n\n\tif (data_sz < sizeof(e)) {\n\t\tprintf(\"Error: packet too small\\n\");\n\t\treturn;\n\t}\n\t/* Copy data as alignment in the perf buffer isn't guaranteed. */\n\tmemcpy(&e, data, sizeof(e));\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\tprintf(\"%-8s %-16s %-6d %8.3f %5lld\",\n\t       ts, e.task, e.pid, e.delta_ns / 1000000.0,\n\t       e.nr_reclaimed);\n\tif (env.extended)\n\t\tprintf(\" %8llu\", e.nr_free_pages * page_size / 1024);\n\tprintf(\"\\n\");\n}\n\nvoid handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\tfprintf(stderr, \"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct ksyms *ksyms = NULL;\n\tconst struct ksym *ksym;\n\tstruct drsnoop_bpf *obj;\n\t__u64 time_end = 0;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = drsnoop_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->targ_tgid = env.pid;\n\tobj->rodata->targ_pid = env.tid;\n\tif (env.extended) {\n\t\tksyms = ksyms__load();\n\t\tif (!ksyms) {\n\t\t\tfprintf(stderr, \"failed to load kallsyms\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t\tksym = ksyms__get_symbol(ksyms, \"vm_zone_stat\");\n\t\tif (!ksym) {\n\t\t\tfprintf(stderr, \"failed to get vm_zone_stat's addr\\n\");\n\t\t\tgoto cleanup;\n\t\t}\n\t\tobj->rodata->vm_zone_stat_kaddr = ksym->addr;\n\t\tpage_size = sysconf(_SC_PAGESIZE);\n\t}\n\n\tif (probe_tp_btf(\"mm_vmscan_direct_reclaim_begin\")) {\n\t\tbpf_program__set_autoload(obj->progs.direct_reclaim_begin, false);\n\t\tbpf_program__set_autoload(obj->progs.direct_reclaim_end, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.direct_reclaim_begin_btf, false);\n\t\tbpf_program__set_autoload(obj->progs.direct_reclaim_end_btf, false);\n\t}\n\n\terr = drsnoop_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = drsnoop_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"Tracing direct reclaim events\");\n\tif (env.duration)\n\t\tprintf(\" for %ld secs.\\n\", env.duration);\n\telse\n\t\tprintf(\"... Hit Ctrl-C to end.\\n\");\n\tprintf(\"%-8s %-16s %-6s %8s %5s\",\n\t\t\"TIME\", \"COMM\", \"TID\", \"LAT(ms)\", \"PAGES\");\n\tif (env.extended)\n\t\tprintf(\" %8s\", \"FREE(KB)\");\n\tprintf(\"\\n\");\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* setup duration */\n\tif (env.duration)\n\t\ttime_end = get_ktime_ns() + env.duration * NSEC_PER_SEC;\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\tfprintf(stderr, \"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\t/* main: poll */\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (env.duration && get_ktime_ns() > time_end)\n\t\t\tgoto cleanup;\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\tdrsnoop_bpf__destroy(obj);\n\tksyms__free(ksyms);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/drsnoop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __DRSNOOP_H\n#define __DRSNOOP_H\n\n#define TASK_COMM_LEN\t16\n\nstruct event {\n\tchar task[TASK_COMM_LEN];\n\t__u64 delta_ns;\n\t__u64 nr_reclaimed;\n\t__u64 nr_free_pages;\n\tpid_t pid;\n};\n\n#endif /* __DRSNOOP_H */\n"
  },
  {
    "path": "libbpf-tools/drsnoop_example.txt",
    "content": "Demonstrations of drsnoop, the Linux BPF CO-RE version.\n\n\ndrsnoop traces the direct reclaim system-wide, and prints various details.\nExample output:\n\n# drsnoop\n\nTracing direct reclaim events... Hit Ctrl-C to end.\nTIME     COMM             TID     LAT(ms) PAGES\n14:56:43 in:imklog        268     106.637    39\n14:56:43 systemd-udevd    232     110.708    53\n14:56:43 systemd-journal  19531   106.083    62\n^C\n\nWhile tracing, the processes alloc pages due to insufficient memory available\nin the system, direct reclaim events happened, which will increase the waiting\ndelay of the processes.\n\ndrsnoop can be useful for discovering when allocstall(/proc/vmstat) continues\nto increase, whether it is caused by some critical processes or not.\n\nThe -p option can be used to filter on a PID, which is filtered in-kernel.\n\n# drsnoop -p 17491\n\nTracing direct reclaim events... Hit Ctrl-C to end.\nTIME     COMM             TID     LAT(ms) PAGES\n14:59:56 summond          17491      0.24    50\n14:59:56 summond          17491      0.26    38\n14:59:56 summond          17491      0.36    72\n^C\n\nThis shows the summond process allocs pages, and direct reclaim events happening,\nand the delays are not affected much.\n\nA maximum tracing duration can be set with the -d option. For example, to trace\nfor 2 seconds:\n\n# drsnoop -d 2\n\nTracing direct reclaim events for 2 secs.\nTIME     COMM             TID     LAT(ms) PAGES\n15:02:16 head             21715      0.15   195\n\nUSAGE message:\n\n# drsnoop --help\n\nUsage: drsnoop [OPTION...]\nTrace direct reclaim latency.\n\nUSAGE: drsnoop [--help] [-p PID] [-t TID] [-d DURATION] [-e]\n\nEXAMPLES:\n    drsnoop         # trace all direct reclaim events\n    drsnoop -p 123  # trace pid 123\n    drsnoop -t 123  # trace tid 123 (use for threads only)\n    drsnoop -d 10   # trace for 10 seconds only\n    drsnoop -e      # trace all direct reclaim events with extended fields\n\n  -d, --duration=DURATION    Total duration of trace in seconds\n  -e, --extended             Extended fields output\n  -p, --pid=PID              Process PID to trace\n  -t, --tid=TID              Thread TID to trace\n  -v, --verbose              Verbose debug output\n  -?, --help                 Give this help list\n      --usage                Give a short usage message\n  -V, --version              Print program version\n\nReport bugs to <bpf@vger.kernel.org>.\n"
  },
  {
    "path": "libbpf-tools/errno_helpers.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Anton Protopopov\n#include <stdlib.h>\n#include <limits.h>\n#include <string.h>\n#include <errno.h>\n#include <stdio.h>\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\n#ifdef __x86_64__\nstatic int errno_by_name_x86_64(const char *errno_name)\n{\n\n#define strcase(X, N) if (!strcmp(errno_name, (X))) return N\n\n\tstrcase(\"EPERM\", 1);\n\tstrcase(\"ENOENT\", 2);\n\tstrcase(\"ESRCH\", 3);\n\tstrcase(\"EINTR\", 4);\n\tstrcase(\"EIO\", 5);\n\tstrcase(\"ENXIO\", 6);\n\tstrcase(\"E2BIG\", 7);\n\tstrcase(\"ENOEXEC\", 8);\n\tstrcase(\"EBADF\", 9);\n\tstrcase(\"ECHILD\", 10);\n\tstrcase(\"EAGAIN\", 11);\n\tstrcase(\"EWOULDBLOCK\", 11);\n\tstrcase(\"ENOMEM\", 12);\n\tstrcase(\"EACCES\", 13);\n\tstrcase(\"EFAULT\", 14);\n\tstrcase(\"ENOTBLK\", 15);\n\tstrcase(\"EBUSY\", 16);\n\tstrcase(\"EEXIST\", 17);\n\tstrcase(\"EXDEV\", 18);\n\tstrcase(\"ENODEV\", 19);\n\tstrcase(\"ENOTDIR\", 20);\n\tstrcase(\"EISDIR\", 21);\n\tstrcase(\"EINVAL\", 22);\n\tstrcase(\"ENFILE\", 23);\n\tstrcase(\"EMFILE\", 24);\n\tstrcase(\"ENOTTY\", 25);\n\tstrcase(\"ETXTBSY\", 26);\n\tstrcase(\"EFBIG\", 27);\n\tstrcase(\"ENOSPC\", 28);\n\tstrcase(\"ESPIPE\", 29);\n\tstrcase(\"EROFS\", 30);\n\tstrcase(\"EMLINK\", 31);\n\tstrcase(\"EPIPE\", 32);\n\tstrcase(\"EDOM\", 33);\n\tstrcase(\"ERANGE\", 34);\n\tstrcase(\"EDEADLK\", 35);\n\tstrcase(\"EDEADLOCK\", 35);\n\tstrcase(\"ENAMETOOLONG\", 36);\n\tstrcase(\"ENOLCK\", 37);\n\tstrcase(\"ENOSYS\", 38);\n\tstrcase(\"ENOTEMPTY\", 39);\n\tstrcase(\"ELOOP\", 40);\n\tstrcase(\"ENOMSG\", 42);\n\tstrcase(\"EIDRM\", 43);\n\tstrcase(\"ECHRNG\", 44);\n\tstrcase(\"EL2NSYNC\", 45);\n\tstrcase(\"EL3HLT\", 46);\n\tstrcase(\"EL3RST\", 47);\n\tstrcase(\"ELNRNG\", 48);\n\tstrcase(\"EUNATCH\", 49);\n\tstrcase(\"ENOCSI\", 50);\n\tstrcase(\"EL2HLT\", 51);\n\tstrcase(\"EBADE\", 52);\n\tstrcase(\"EBADR\", 53);\n\tstrcase(\"EXFULL\", 54);\n\tstrcase(\"ENOANO\", 55);\n\tstrcase(\"EBADRQC\", 56);\n\tstrcase(\"EBADSLT\", 57);\n\tstrcase(\"EBFONT\", 59);\n\tstrcase(\"ENOSTR\", 60);\n\tstrcase(\"ENODATA\", 61);\n\tstrcase(\"ETIME\", 62);\n\tstrcase(\"ENOSR\", 63);\n\tstrcase(\"ENONET\", 64);\n\tstrcase(\"ENOPKG\", 65);\n\tstrcase(\"EREMOTE\", 66);\n\tstrcase(\"ENOLINK\", 67);\n\tstrcase(\"EADV\", 68);\n\tstrcase(\"ESRMNT\", 69);\n\tstrcase(\"ECOMM\", 70);\n\tstrcase(\"EPROTO\", 71);\n\tstrcase(\"EMULTIHOP\", 72);\n\tstrcase(\"EDOTDOT\", 73);\n\tstrcase(\"EBADMSG\", 74);\n\tstrcase(\"EOVERFLOW\", 75);\n\tstrcase(\"ENOTUNIQ\", 76);\n\tstrcase(\"EBADFD\", 77);\n\tstrcase(\"EREMCHG\", 78);\n\tstrcase(\"ELIBACC\", 79);\n\tstrcase(\"ELIBBAD\", 80);\n\tstrcase(\"ELIBSCN\", 81);\n\tstrcase(\"ELIBMAX\", 82);\n\tstrcase(\"ELIBEXEC\", 83);\n\tstrcase(\"EILSEQ\", 84);\n\tstrcase(\"ERESTART\", 85);\n\tstrcase(\"ESTRPIPE\", 86);\n\tstrcase(\"EUSERS\", 87);\n\tstrcase(\"ENOTSOCK\", 88);\n\tstrcase(\"EDESTADDRREQ\", 89);\n\tstrcase(\"EMSGSIZE\", 90);\n\tstrcase(\"EPROTOTYPE\", 91);\n\tstrcase(\"ENOPROTOOPT\", 92);\n\tstrcase(\"EPROTONOSUPPORT\", 93);\n\tstrcase(\"ESOCKTNOSUPPORT\", 94);\n\tstrcase(\"ENOTSUP\", 95);\n\tstrcase(\"EOPNOTSUPP\", 95);\n\tstrcase(\"EPFNOSUPPORT\", 96);\n\tstrcase(\"EAFNOSUPPORT\", 97);\n\tstrcase(\"EADDRINUSE\", 98);\n\tstrcase(\"EADDRNOTAVAIL\", 99);\n\tstrcase(\"ENETDOWN\", 100);\n\tstrcase(\"ENETUNREACH\", 101);\n\tstrcase(\"ENETRESET\", 102);\n\tstrcase(\"ECONNABORTED\", 103);\n\tstrcase(\"ECONNRESET\", 104);\n\tstrcase(\"ENOBUFS\", 105);\n\tstrcase(\"EISCONN\", 106);\n\tstrcase(\"ENOTCONN\", 107);\n\tstrcase(\"ESHUTDOWN\", 108);\n\tstrcase(\"ETOOMANYREFS\", 109);\n\tstrcase(\"ETIMEDOUT\", 110);\n\tstrcase(\"ECONNREFUSED\", 111);\n\tstrcase(\"EHOSTDOWN\", 112);\n\tstrcase(\"EHOSTUNREACH\", 113);\n\tstrcase(\"EALREADY\", 114);\n\tstrcase(\"EINPROGRESS\", 115);\n\tstrcase(\"ESTALE\", 116);\n\tstrcase(\"EUCLEAN\", 117);\n\tstrcase(\"ENOTNAM\", 118);\n\tstrcase(\"ENAVAIL\", 119);\n\tstrcase(\"EISNAM\", 120);\n\tstrcase(\"EREMOTEIO\", 121);\n\tstrcase(\"EDQUOT\", 122);\n\tstrcase(\"ENOMEDIUM\", 123);\n\tstrcase(\"EMEDIUMTYPE\", 124);\n\tstrcase(\"ECANCELED\", 125);\n\tstrcase(\"ENOKEY\", 126);\n\tstrcase(\"EKEYEXPIRED\", 127);\n\tstrcase(\"EKEYREVOKED\", 128);\n\tstrcase(\"EKEYREJECTED\", 129);\n\tstrcase(\"EOWNERDEAD\", 130);\n\tstrcase(\"ENOTRECOVERABLE\", 131);\n\tstrcase(\"ERFKILL\", 132);\n\tstrcase(\"EHWPOISON\", 133);\n\n#undef strcase\n\n\treturn -1;\n\n}\n#endif\n\n/* Try to find the errno number using the errno(1) program */\nstatic int errno_by_name_dynamic(const char *errno_name)\n{\n\tint i, len = strlen(errno_name);\n\tint err, number = -1;\n\tchar buf[128];\n\tchar cmd[64];\n\tchar *end;\n\tlong val;\n\tFILE *f;\n\n\t/* sanity check to not call popen with random input */\n\tfor (i = 0; i < len; i++) {\n\t\tif (errno_name[i] < 'A' || errno_name[i] > 'Z') {\n\t\t\twarn(\"errno_name contains invalid char 0x%02x: %s\\n\",\n\t\t\t\t\terrno_name[i], errno_name);\n\t\t\treturn -1;\n\t\t}\n\t}\n\n\tsnprintf(cmd, sizeof(cmd), \"errno %s\", errno_name);\n\tf = popen(cmd, \"r\");\n\tif (!f) {\n\t\twarn(\"popen: %s: %s\\n\", cmd, strerror(errno));\n\t\treturn -1;\n\t}\n\n\tif (!fgets(buf, sizeof(buf), f)) {\n\t\tgoto close;\n\t} else if (ferror(f)) {\n\t\twarn(\"fgets: %s\\n\", strerror(errno));\n\t\tgoto close;\n\t}\n\n\t// expecting \"<name> <number> <description>\"\n\tif (strncmp(errno_name, buf, len) || strlen(buf) < len+2) {\n\t\twarn(\"expected '%s': %s\\n\", errno_name, buf);\n\t\tgoto close;\n\t}\n\terrno = 0;\n\tval = strtol(buf+len+2, &end, 10);\n\tif (errno || end == (buf+len+2) || number < 0 || number > INT_MAX) {\n\t\twarn(\"can't parse the second column, expected int: %s\\n\", buf);\n\t\tgoto close;\n\t}\n\tnumber = val;\n\nclose:\n\terr = pclose(f);\n\tif (err < 0)\n\t\twarn(\"pclose: %s\\n\", strerror(errno));\n#ifndef __x86_64__\n\t/* Ignore the error for x86_64 where we have a table compiled in */\n\telse if (err && WEXITSTATUS(err) == 127) {\n\t\twarn(\"errno(1) required for errno name/number mapping\\n\");\n\t} else if (err) {\n\t\twarn(\"errno(1) exit status (see wait(2)): 0x%x\\n\", err);\n\t}\n#endif\n\treturn number;\n}\n\nint errno_by_name(const char *errno_name)\n{\n#ifdef __x86_64__\n\tint err;\n\n\terr = errno_by_name_x86_64(errno_name);\n\tif (err >= 0)\n\t\treturn err;\n#endif\n\n\treturn errno_by_name_dynamic(errno_name);\n}\n"
  },
  {
    "path": "libbpf-tools/errno_helpers.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __ERRNO_HELPERS_H\n#define __ERRNO_HELPERS_H\n\nint errno_by_name(const char *errno_name);\n\n#endif /* __ERRNO_HELPERS_H */\n"
  },
  {
    "path": "libbpf-tools/execsnoop.bpf.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include \"execsnoop.h\"\n\nconst volatile bool filter_cg = false;\nconst volatile bool ignore_failed = true;\nconst volatile uid_t targ_uid = INVALID_UID;\nconst volatile int max_args = DEFAULT_MAXARGS;\n\nstatic const struct event empty_event = {};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, pid_t);\n\t__type(value, struct event);\n} execs SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(u32));\n\t__uint(value_size, sizeof(u32));\n} events SEC(\".maps\");\n\nstatic __always_inline bool valid_uid(uid_t uid) {\n\treturn uid != INVALID_UID;\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_execve\")\nint tracepoint__syscalls__sys_enter_execve(struct syscall_trace_enter* ctx)\n{\n\tu64 id;\n\tpid_t pid, tgid;\n\tint ret;\n\tstruct event *event;\n\tstruct task_struct *task;\n\tconst char **args = (const char **)(ctx->args[1]);\n\tconst char *argp;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tuid_t uid = (u32)bpf_get_current_uid_gid();\n\tint i;\n\n\tif (valid_uid(targ_uid) && targ_uid != uid)\n\t\treturn 0;\n\n\tid = bpf_get_current_pid_tgid();\n\tpid = (pid_t)id;\n\ttgid = id >> 32;\n\tif (bpf_map_update_elem(&execs, &pid, &empty_event, BPF_NOEXIST))\n\t\treturn 0;\n\n\tevent = bpf_map_lookup_elem(&execs, &pid);\n\tif (!event)\n\t\treturn 0;\n\n\tevent->pid = tgid;\n\tevent->uid = uid;\n\ttask = (struct task_struct*)bpf_get_current_task();\n\tevent->ppid = (pid_t)BPF_CORE_READ(task, real_parent, tgid);\n\tevent->args_count = 0;\n\tevent->args_size = 0;\n\n\tret = bpf_probe_read_user_str(event->args, ARGSIZE, (const char*)ctx->args[0]);\n\tif (ret < 0) {\n\t\treturn 0;\n\t}\n\tif (ret <= ARGSIZE) {\n\t\tevent->args_size += ret;\n\t} else {\n\t\t/* write an empty string */\n\t\tevent->args[0] = '\\0';\n\t\tevent->args_size++;\n\t}\n\n\tevent->args_count++;\n\t#pragma unroll\n\tfor (i = 1; i < TOTAL_MAX_ARGS && i < max_args; i++) {\n\t\tret = bpf_probe_read_user(&argp, sizeof(argp), &args[i]);\n\t\tif (ret < 0)\n\t\t\treturn 0;\n\n\t\tif (event->args_size > LAST_ARG)\n\t\t\treturn 0;\n\n\t\tret = bpf_probe_read_user_str(&event->args[event->args_size], ARGSIZE, argp);\n\t\tif (ret < 0)\n\t\t\treturn 0;\n\n\t\tevent->args_count++;\n\t\tevent->args_size += ret;\n\t}\n\t/* try to read one more argument to check if there is one */\n\tret = bpf_probe_read_user(&argp, sizeof(argp), &args[max_args]);\n\tif (ret < 0)\n\t\treturn 0;\n\n\t/* pointer to max_args+1 isn't null, asume we have more arguments */\n\tevent->args_count++;\n\treturn 0;\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_execve\")\nint tracepoint__syscalls__sys_exit_execve(struct syscall_trace_exit* ctx)\n{\n\tu64 id;\n\tpid_t pid;\n\tint ret;\n\tstruct event *event;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tu32 uid = (u32)bpf_get_current_uid_gid();\n\n\tif (valid_uid(targ_uid) && targ_uid != uid)\n\t\treturn 0;\n\tid = bpf_get_current_pid_tgid();\n\tpid = (pid_t)id;\n\tevent = bpf_map_lookup_elem(&execs, &pid);\n\tif (!event)\n\t\treturn 0;\n\tret = ctx->ret;\n\tif (ignore_failed && ret < 0)\n\t\tgoto cleanup;\n\n\tevent->retval = ret;\n\tbpf_get_current_comm(&event->comm, sizeof(event->comm));\n\tsize_t len = EVENT_SIZE(event);\n\tif (len <= sizeof(*event))\n\t\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, event, len);\ncleanup:\n\tbpf_map_delete_elem(&execs, &pid);\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/execsnoop.c",
    "content": "// Based on execsnoop(8) from BCC by Brendan Gregg and others.\n//\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/time.h>\n#include <time.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"execsnoop.h\"\n#include \"execsnoop.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\n#define PERF_BUFFER_PAGES   64\n#define PERF_POLL_TIMEOUT_MS\t100\n#define MAX_ARGS_KEY 259\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic struct env {\n\tbool time;\n\tbool timestamp;\n\tbool fails;\n\tuid_t uid;\n\tbool quote;\n\tconst char *name;\n\tconst char *line;\n\tbool print_uid;\n\tbool verbose;\n\tint max_args;\n\tchar *cgroupspath;\n\tbool cg;\n} env = {\n\t.max_args = DEFAULT_MAXARGS,\n\t.uid = INVALID_UID\n};\n\nstatic struct timespec start_time;\n\nconst char *argp_program_version = \"execsnoop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace exec syscalls\\n\"\n\"\\n\"\n\"USAGE: execsnoop [-h] [-T] [-t] [-x] [-u UID] [-q] [-n NAME] [-l LINE] [-U] [-c CG]\\n\"\n\"                 [--max-args MAX_ARGS]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"   ./execsnoop           # trace all exec() syscalls\\n\"\n\"   ./execsnoop -x        # include failed exec()s\\n\"\n\"   ./execsnoop -T        # include time (HH:MM:SS)\\n\"\n\"   ./execsnoop -U        # include UID\\n\"\n\"   ./execsnoop -u 1000   # only trace UID 1000\\n\"\n\"   ./execsnoop -t        # include timestamps\\n\"\n\"   ./execsnoop -q        # add \\\"quotemarks\\\" around arguments\\n\"\n\"   ./execsnoop -n main   # only print command lines containing \\\"main\\\"\\n\"\n\"   ./execsnoop -l tpkg   # only print command where arguments contains \\\"tpkg\\\"\"\n\"   ./execsnoop -c CG     # Trace process under cgroupsPath CG\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"time\", 'T', NULL, 0, \"include time column on output (HH:MM:SS)\", 0 },\n\t{ \"timestamp\", 't', NULL, 0, \"include timestamp on output\", 0 },\n\t{ \"fails\", 'x', NULL, 0, \"include failed exec()s\", 0 },\n\t{ \"uid\", 'u', \"UID\", 0, \"trace this UID only\", 0 },\n\t{ \"quote\", 'q', NULL, 0, \"Add quotemarks (\\\") around arguments\", 0 },\n\t{ \"name\", 'n', \"NAME\", 0, \"only print commands matching this name, any arg\", 0 },\n\t{ \"line\", 'l', \"LINE\", 0, \"only print commands where arg contains this line\", 0 },\n\t{ \"print-uid\", 'U', NULL, 0, \"print UID column\", 0 },\n\t{ \"max-args\", MAX_ARGS_KEY, \"MAX_ARGS\", 0,\n\t\t\"maximum number of arguments parsed and displayed, defaults to 20\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tlong int uid, max_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'T':\n\t\tenv.time = true;\n\t\tbreak;\n\tcase 't':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase 'x':\n\t\tenv.fails = true;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase 'u':\n\t\terrno = 0;\n\t\tuid = strtol(arg, NULL, 10);\n\t\tif (errno || uid < 0 || uid >= INVALID_UID) {\n\t\t\tfprintf(stderr, \"Invalid UID %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.uid = uid;\n\t\tbreak;\n\tcase 'q':\n\t\tenv.quote = true;\n\t\tbreak;\n\tcase 'n':\n\t\tenv.name = arg;\n\t\tbreak;\n\tcase 'l':\n\t\tenv.line = arg;\n\t\tbreak;\n\tcase 'U':\n\t\tenv.print_uid = true;\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase MAX_ARGS_KEY:\n\t\terrno = 0;\n\t\tmax_args = strtol(arg, NULL, 10);\n\t\tif (errno || max_args < 1 || max_args > TOTAL_MAX_ARGS) {\n\t\t\tfprintf(stderr, \"Invalid MAX_ARGS %s, should be in [1, %d] range\\n\",\n\t\t\t\t\targ, TOTAL_MAX_ARGS);\n\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.max_args = max_args;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic void time_since_start()\n{\n\tlong nsec, sec;\n\tstatic struct timespec cur_time;\n\tdouble time_diff;\n\n\tclock_gettime(CLOCK_MONOTONIC, &cur_time);\n\tnsec = cur_time.tv_nsec - start_time.tv_nsec;\n\tsec = cur_time.tv_sec - start_time.tv_sec;\n\tif (nsec < 0) {\n\t\tnsec += NSEC_PER_SEC;\n\t\tsec--;\n\t}\n\ttime_diff = sec + (double)nsec / NSEC_PER_SEC;\n\tprintf(\"%-8.3f\", time_diff);\n}\n\nstatic void inline quoted_symbol(char c) {\n\tswitch(c) {\n\t\tcase '\"':\n\t\t\tputchar('\\\\');\n\t\t\tputchar('\"');\n\t\t\tbreak;\n\t\tcase '\\t':\n\t\t\tputchar('\\\\');\n\t\t\tputchar('t');\n\t\t\tbreak;\n\t\tcase '\\n':\n\t\t\tputchar('\\\\');\n\t\t\tputchar('n');\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tputchar(c);\n\t\t\tbreak;\n\t}\n}\n\nstatic void print_args(const struct event *e, bool quote)\n{\n\tint i, args_counter = 0;\n\n\tif (env.quote)\n\t\tputchar('\"');\n\n\tfor (i = 0; i < e->args_size && args_counter < e->args_count; i++) {\n\t\tchar c = e->args[i];\n\n\t\tif (env.quote) {\n\t\t\tif (c == '\\0') {\n\t\t\t\targs_counter++;\n\t\t\t\tputchar('\"');\n\t\t\t\tputchar(' ');\n\t\t\t\tif (args_counter < e->args_count) {\n\t\t\t\t\tputchar('\"');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tquoted_symbol(c);\n\t\t\t}\n\t\t} else {\n\t\t\tif (c == '\\0') {\n\t\t\t\targs_counter++;\n\t\t\t\tputchar(' ');\n\t\t\t} else {\n\t\t\t\tputchar(c);\n\t\t\t}\n\t\t}\n\t}\n\tif (e->args_count == env.max_args + 1) {\n\t\tfputs(\" ...\", stdout);\n\t}\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tconst struct event *e = data;\n\tchar ts[32];\n\n\t/* TODO: use pcre lib */\n\tif (env.name && strstr(e->comm, env.name) == NULL)\n\t\treturn;\n\n\t/* TODO: use pcre lib */\n\tif (env.line && strstr(e->comm, env.line) == NULL)\n\t\treturn;\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\n\tif (env.time) {\n\t\tprintf(\"%-8s \", ts);\n\t}\n\tif (env.timestamp) {\n\t\ttime_since_start();\n\t}\n\n\tif (env.print_uid)\n\t\tprintf(\"%-6d\", e->uid);\n\n\tprintf(\"%-16s %-6d %-6d %3d \", e->comm, e->pid, e->ppid, e->retval);\n\tprint_args(e, env.quote);\n\tputchar('\\n');\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\tfprintf(stderr, \"Lost %llu events on CPU #%d!\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct execsnoop_bpf *obj;\n\tint err;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = execsnoop_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->ignore_failed = !env.fails;\n\tobj->rodata->targ_uid = env.uid;\n\tobj->rodata->max_args = env.max_args;\n\tobj->rodata->filter_cg = env.cg;\n\n\terr = execsnoop_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\tclock_gettime(CLOCK_MONOTONIC, &start_time);\n\terr = execsnoop_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\t/* print headers */\n\tif (env.time) {\n\t\tprintf(\"%-9s\", \"TIME\");\n\t}\n\tif (env.timestamp) {\n\t\tprintf(\"%-8s \", \"TIME(s)\");\n\t}\n\tif (env.print_uid) {\n\t\tprintf(\"%-6s \", \"UID\");\n\t}\n\n\tprintf(\"%-16s %-6s %-6s %3s %s\\n\", \"PCOMM\", \"PID\", \"PPID\", \"RET\", \"ARGS\");\n\n\t/* setup event callbacks */\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\tfprintf(stderr, \"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\t/* main: poll */\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\texecsnoop_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/execsnoop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __EXECSNOOP_H\n#define __EXECSNOOP_H\n\n#define ARGSIZE  128\n#define TASK_COMM_LEN 16\n#define TOTAL_MAX_ARGS 60\n#define DEFAULT_MAXARGS 20\n#define FULL_MAX_ARGS_ARR (TOTAL_MAX_ARGS * ARGSIZE)\n#define INVALID_UID ((uid_t)-1)\n#define BASE_EVENT_SIZE (size_t)(&((struct event*)0)->args)\n#define EVENT_SIZE(e) (BASE_EVENT_SIZE + e->args_size)\n#define LAST_ARG (FULL_MAX_ARGS_ARR - ARGSIZE)\n\nstruct event {\n\tpid_t pid;\n\tpid_t ppid;\n\tuid_t uid;\n\tint retval;\n\tint args_count;\n\tunsigned int args_size;\n\tchar comm[TASK_COMM_LEN];\n\tchar args[FULL_MAX_ARGS_ARR];\n};\n\n#endif /* __EXECSNOOP_H */\n"
  },
  {
    "path": "libbpf-tools/exitsnoop.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include \"exitsnoop.h\"\n\nconst volatile bool filter_cg = false;\nconst volatile pid_t target_pid = 0;\nconst volatile bool trace_failed_only = false;\nconst volatile bool trace_by_process = true;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} events SEC(\".maps\");\n\nSEC(\"tracepoint/sched/sched_process_exit\")\nint sched_process_exit(void *ctx)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\tint exit_code;\n\tstruct task_struct *task;\n\tstruct event event = {};\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tif (trace_by_process && pid != tid)\n\t\treturn 0;\n\n\ttask = (struct task_struct *)bpf_get_current_task();\n\texit_code = BPF_CORE_READ(task, exit_code);\n\tif (trace_failed_only && exit_code == 0)\n\t\treturn 0;\n\n\tevent.start_time = BPF_CORE_READ(task, start_time);\n\tevent.exit_time = bpf_ktime_get_ns();\n\tevent.pid = pid;\n\tevent.tid = tid;\n\tevent.ppid = BPF_CORE_READ(task, real_parent, tgid);\n\tevent.sig = exit_code & 0xff;\n\tevent.exit_code = exit_code >> 8;\n\tbpf_get_current_comm(event.comm, sizeof(event.comm));\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/exitsnoop.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n/*\n * exitsnoop\tTrace process termination.\n *\n * Copyright (c) 2021 Hengqi Chen\n *\n * Based on exitsnoop(8) from BCC by Arturo Martin-de-Nicolas & Jeroen Soeters.\n * 05-Aug-2021   Hengqi Chen   Created this.\n */\n#include <argp.h>\n#include <errno.h>\n#include <signal.h>\n#include <string.h>\n#include <time.h>\n#include <fcntl.h>\n#include <unistd.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"exitsnoop.h\"\n#include \"exitsnoop.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t16\n#define PERF_POLL_TIMEOUT_MS\t100\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic bool emit_timestamp = false;\nstatic pid_t target_pid = 0;\nstatic bool trace_failed_only = false;\nstatic bool trace_by_process = true;\nstatic bool verbose = false;\n\nstatic struct env {\n\tchar *cgroupspath;\n\tbool cg;\n} env;\n\nconst char *argp_program_version = \"exitsnoop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace process termination.\\n\"\n\"\\n\"\n\"USAGE: exitsnoop [-h] [-t] [-x] [-p PID] [-T] [-c CG]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    exitsnoop             # trace process exit events\\n\"\n\"    exitsnoop -t          # include timestamps\\n\"\n\"    exitsnoop -x          # trace error exits only\\n\"\n\"    exitsnoop -p 1216     # only trace PID 1216\\n\"\n\"    exitsnoop -T          # trace by thread\\n\"\n\"    exitsnoop -c CG       # Trace process under cgroupsPath CG\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"timestamp\", 't', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"failed\", 'x', NULL, 0, \"Trace error exits only.\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"threaded\", 'T', NULL, 0, \"Trace by thread.\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tlong pid;\n\n\tswitch (key) {\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\twarn(\"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\ttarget_pid = pid;\n\t\tbreak;\n\tcase 't':\n\t\temit_timestamp = true;\n\t\tbreak;\n\tcase 'x':\n\t\ttrace_failed_only = true;\n\t\tbreak;\n\tcase 'T':\n\t\ttrace_by_process = false;\n\t\tbreak;\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tstruct event e;\n\tchar ts[32];\n\tdouble age;\n\tint sig, coredump;\n\n\tif (data_sz < sizeof(e)) {\n\t\tprintf(\"Error: packet too small\\n\");\n\t\treturn;\n\t}\n\t/* Copy data as alignment in the perf buffer isn't guaranteed. */\n\tmemcpy(&e, data, sizeof(e));\n\n\tif (emit_timestamp) {\n\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\tprintf(\"%8s \", ts);\n\t}\n\n\tage = (e.exit_time - e.start_time) / 1e9;\n\tprintf(\"%-16s %-7d %-7d %-7d %-7.2f \",\n\t       e.comm, e.pid, e.ppid, e.tid, age);\n\n\tif (!e.sig) {\n\t\tif (!e.exit_code)\n\t\t\tprintf(\"0\\n\");\n\t\telse\n\t\t\tprintf(\"code %d\\n\", e.exit_code);\n\t} else {\n\t\tsig = e.sig & 0x7f;\n\t\tcoredump = e.sig & 0x80;\n\t\tif (sig)\n\t\t\tprintf(\"signal %d (%s)\", sig, strsignal(sig));\n\t\tif (coredump)\n\t\t\tprintf(\", core dumped\");\n\t\tprintf(\"\\n\");\n\t}\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\twarn(\"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct exitsnoop_bpf *obj;\n\tint err;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = exitsnoop_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tobj->rodata->target_pid = target_pid;\n\tobj->rodata->trace_failed_only = trace_failed_only;\n\tobj->rodata->trace_by_process = trace_by_process;\n\tobj->rodata->filter_cg = env.cg;\n\n\terr = exitsnoop_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\terr = exitsnoop_bpf__attach(obj);\n\tif (err) {\n\t\twarn(\"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\twarn(\"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tif (emit_timestamp)\n\t\tprintf(\"%-8s \", \"TIME(s)\");\n\tprintf(\"%-16s %-7s %-7s %-7s %-7s %-s\\n\",\n\t       \"PCOMM\", \"PID\", \"PPID\", \"TID\", \"AGE(s)\", \"EXIT_CODE\");\n\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\twarn(\"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\texitsnoop_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/exitsnoop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __EXITSNOOP_H\n#define __EXITSNOOP_H\n\n#define TASK_COMM_LEN\t16\n\nstruct event {\n\t__u64 start_time;\n\t__u64 exit_time;\n\t__u32 pid;\n\t__u32 tid;\n\t__u32 ppid;\n\t__u32 sig;\n\tint exit_code;\n\tchar comm[TASK_COMM_LEN];\n};\n\n#endif /* __EXITSNOOP_H */\n"
  },
  {
    "path": "libbpf-tools/filelife.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"filelife.h\"\n#include \"compat.bpf.h\"\n#include \"core_fixes.bpf.h\"\n#include \"path_helpers.bpf.h\"\n\n/* linux: include/linux/fs.h */\n#define FMODE_CREATED\t0x100000\n\nconst volatile pid_t targ_tgid = 0;\nconst volatile bool full_path = false;\n\nstruct create_arg {\n\tu64 ts;\n\tstruct vfsmount *cwd_vfsmnt;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 8192);\n\t__type(key, struct dentry *);\n\t__type(value, struct create_arg);\n} start SEC(\".maps\");\n\nstruct unlink_event {\n\t__u64 delta_ns;\n\tpid_t tgid;\n\tstruct dentry *dentry;\n\tstruct vfsmount *cwd_vfsmnt;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 8192);\n\t__type(key, u32); /* tid */\n\t__type(value, struct unlink_event);\n} currevent SEC(\".maps\");\n\nstatic __always_inline int\nprobe_create(struct dentry *dentry)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\tu32 tgid = id >> 32;\n\tstruct create_arg arg = {};\n\tstruct task_struct *task;\n\n\tif (targ_tgid && targ_tgid != tgid)\n\t\treturn 0;\n\n\ttask = (struct task_struct *)bpf_get_current_task_btf();\n\n\targ.ts = bpf_ktime_get_ns();\n\targ.cwd_vfsmnt = BPF_CORE_READ(task, fs, pwd.mnt);\n\n\tbpf_map_update_elem(&start, &dentry, &arg, 0);\n\treturn 0;\n}\n\n/**\n * In different kernel versions, function vfs_create() has two declarations,\n * and their parameter lists are as follows:\n *\n * int vfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,\n *            bool want_excl);\n * int vfs_create(struct user_namespace *mnt_userns, struct inode *dir,\n *            struct dentry *dentry, umode_t mode, bool want_excl);\n * int vfs_create(struct mnt_idmap *idmap, struct inode *dir,\n *            struct dentry *dentry, umode_t mode, bool want_excl);\n */\nSEC(\"kprobe/vfs_create\")\nint BPF_KPROBE(vfs_create, void *arg0, void *arg1, void *arg2)\n{\n\tif (renamedata_has_old_mnt_userns_field()\n\t\t|| renamedata_has_new_mnt_idmap_field())\n\t\treturn probe_create(arg2);\n\telse\n\t\treturn probe_create(arg1);\n}\n\nSEC(\"kprobe/vfs_open\")\nint BPF_KPROBE(vfs_open, struct path *path, struct file *file)\n{\n\tstruct dentry *dentry = BPF_CORE_READ(path, dentry);\n\tint fmode = BPF_CORE_READ(file, f_mode);\n\n\tif (!(fmode & FMODE_CREATED))\n\t\treturn 0;\n\n\treturn probe_create(dentry);\n}\n\nSEC(\"kprobe/security_inode_create\")\nint BPF_KPROBE(security_inode_create, struct inode *dir,\n\t     struct dentry *dentry)\n{\n\treturn probe_create(dentry);\n}\n\n/**\n * In different kernel versions, function vfs_unlink() has two declarations,\n * and their parameter lists are as follows:\n *\n * int vfs_unlink(struct inode *dir, struct dentry *dentry,\n *        struct inode **delegated_inode);\n * int vfs_unlink(struct user_namespace *mnt_userns, struct inode *dir,\n *        struct dentry *dentry, struct inode **delegated_inode);\n * int vfs_unlink(struct mnt_idmap *idmap, struct inode *dir,\n *        struct dentry *dentry, struct inode **delegated_inode);\n */\nSEC(\"kprobe/vfs_unlink\")\nint BPF_KPROBE(vfs_unlink, void *arg0, void *arg1, void *arg2)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\tstruct unlink_event unlink_event = {};\n\tstruct create_arg *arg;\n\tu32 tgid = id >> 32;\n\tu32 tid = (u32)id;\n\tu64 delta_ns;\n\tbool has_arg = renamedata_has_old_mnt_userns_field()\n\t\t\t\t|| renamedata_has_new_mnt_idmap_field();\n\n\targ = has_arg\n\t\t? bpf_map_lookup_elem(&start, &arg2)\n\t\t: bpf_map_lookup_elem(&start, &arg1);\n\tif (!arg)\n\t\treturn 0;   // missed entry\n\n\tdelta_ns = bpf_ktime_get_ns() - arg->ts;\n\n\tunlink_event.delta_ns = delta_ns;\n\tunlink_event.tgid = tgid;\n\tunlink_event.dentry = has_arg ? arg2 : arg1;\n\tunlink_event.cwd_vfsmnt = arg->cwd_vfsmnt;\n\n\tbpf_map_update_elem(&currevent, &tid, &unlink_event, BPF_ANY);\n\treturn 0;\n}\n\nSEC(\"kretprobe/vfs_unlink\")\nint BPF_KRETPROBE(vfs_unlink_ret)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\tu32 tid = (u32)id;\n\tint ret = PT_REGS_RC(ctx);\n\tstruct unlink_event *unlink_event;\n\tstruct event *eventp;\n\tstruct dentry *dentry;\n\tconst u8 *qs_name_ptr;\n\n\tunlink_event = bpf_map_lookup_elem(&currevent, &tid);\n\tif (!unlink_event)\n\t\treturn 0;\n\tbpf_map_delete_elem(&currevent, &tid);\n\n\t/* skip failed unlink */\n\tif (ret)\n\t\treturn 0;\n\n\teventp = reserve_buf(sizeof(*eventp));\n\tif (!eventp)\n\t\treturn 0;\n\n\teventp->tgid = unlink_event->tgid;\n\teventp->delta_ns = unlink_event->delta_ns;\n\tbpf_get_current_comm(&eventp->task, sizeof(eventp->task));\n\n\tdentry = unlink_event->dentry;\n\tqs_name_ptr = BPF_CORE_READ(dentry, d_name.name);\n\tbpf_probe_read_kernel_str(&eventp->fname.pathes, sizeof(eventp->fname.pathes),\n\t\t\t   qs_name_ptr);\n\teventp->fname.depth = 0;\n\n\t/* get full-path */\n\tif (full_path && eventp->fname.pathes[0] != '/')\n\t\tbpf_dentry_full_path(eventp->fname.pathes, NAME_MAX,\n\t\t\t\tMAX_PATH_DEPTH,\n\t\t\t\tunlink_event->dentry,\n\t\t\t\tunlink_event->cwd_vfsmnt,\n\t\t\t\t&eventp->fname.failed, &eventp->fname.depth);\n\n\tbpf_map_delete_elem(&start, &unlink_event->dentry);\n\n\t/* output */\n\tsubmit_buf(ctx, eventp, sizeof(*eventp));\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/filelife.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on filelife(8) from BCC by Brendan Gregg & Allan McAleavy.\n// 20-Mar-2020   Wenbo Zhang   Created this.\n// 13-Nov-2022   Rong Tao      Check btf struct field for CO-RE and add vfs_open()\n// 23-Aug-2023   Rong Tao      Add vfs_* 'struct mnt_idmap' support.(CO-RE)\n// 08-Nov-2023   Rong Tao      Support unlink failed\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"compat.h\"\n#include \"filelife.h\"\n#include \"filelife.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic struct env {\n\tpid_t pid;\n\tbool full_path;\n\tbool verbose;\n} env = { };\n\nconst char *argp_program_version = \"filelife 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace the lifespan of short-lived files.\\n\"\n\"\\n\"\n\"USAGE: filelife  [--help] [-p PID]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    filelife         # trace all events\\n\"\n\"    filelife -F      # trace full-path of file\\n\"\n\"    filelife -p 123  # trace pid 123\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Process PID to trace\", 0 },\n\t{ \"full-path\", 'F', NULL, 0, \"Show full path\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tint pid;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.pid = pid;\n\t\tbreak;\n\tcase 'F':\n\t\tenv.full_path = true;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nint handle_event(void *ctx, void *data, size_t data_sz)\n{\n\tstruct event e;\n\tchar ts[32];\n\n\tif (data_sz < sizeof(e)) {\n\t\tprintf(\"Error: packet too small\\n\");\n\t\treturn -EINVAL;\n\t}\n\t/* Copy data as alignment in the ring buffer isn't guaranteed. */\n\tmemcpy(&e, data, sizeof(e));\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\tprintf(\"%-8s %-6d %-16s %-7.2f \",\n\t       ts, e.tgid, e.task, (double)e.delta_ns / 1000000000);\n\tif (env.full_path) {\n\t\tprint_full_path(&e.fname);\n\t\tprintf(\"\\n\");\n\t} else\n\t\tprintf(\"%s\\n\", e.fname.pathes);\n\treturn 0;\n}\n\nvoid handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\tfprintf(stderr, \"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct bpf_buffer *buf = NULL;\n\tstruct filelife_bpf *obj;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = filelife_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tbuf = bpf_buffer__new(obj->maps.events, obj->maps.heap);\n\tif (!buf) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to create ring/perf buffer: %d\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->targ_tgid = env.pid;\n\tobj->rodata->full_path = env.full_path;\n\n\tif (!kprobe_exists(\"security_inode_create\"))\n\t\tbpf_program__set_autoload(obj->progs.security_inode_create, false);\n\n\terr = filelife_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = filelife_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\terr = bpf_buffer__open(buf, handle_event, handle_lost_events, NULL);\n\tif (err) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to open ring/perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\tfprintf(stderr, \"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"Tracing the lifespan of short-lived files ... Hit Ctrl-C to end.\\n\");\n\tprintf(\"%-8s %-6s %-16s %-7s %s\\n\", \"TIME\", \"PID\", \"COMM\", \"AGE(s)\", \"FILE\");\n\n\twhile (!exiting) {\n\t\terr = bpf_buffer__poll(buf, POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling ring/perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tbpf_buffer__free(buf);\n\tfilelife_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/filelife.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __FILELIFE_H\n#define __FILELIFE_H\n\n#include \"path_helpers.h\"\n\n#define TASK_COMM_LEN\t\t16\n\nstruct event {\n\tstruct full_path fname;\n\tchar task[TASK_COMM_LEN];\n\t__u64 delta_ns;\n\tpid_t tgid;\n};\n\n#endif /* __FILELIFE_H */\n"
  },
  {
    "path": "libbpf-tools/filetop.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"filetop.h\"\n#include \"stat.h\"\n\n#define MAX_ENTRIES\t10240\n\nconst volatile pid_t target_pid = 0;\nconst volatile bool regular_file_only = true;\nstatic struct file_stat zero_value = {};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct file_id);\n\t__type(value, struct file_stat);\n} entries SEC(\".maps\");\n\nstatic void get_file_path(struct file *file, char *buf, size_t size)\n{\n\tstruct qstr dname;\n\n\tdname = BPF_CORE_READ(file, f_path.dentry, d_name);\n\tbpf_probe_read_kernel(buf, size, dname.name);\n}\n\nstatic int probe_entry(struct pt_regs *ctx, struct file *file, size_t count, enum op op)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\tint mode;\n\tstruct file_id key = {};\n\tstruct file_stat *valuep;\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tmode = BPF_CORE_READ(file, f_inode, i_mode);\n\tif (regular_file_only && !S_ISREG(mode))\n\t\treturn 0;\n\n\tkey.dev = BPF_CORE_READ(file, f_inode, i_sb, s_dev);\n\tkey.rdev = BPF_CORE_READ(file, f_inode, i_rdev);\n\tkey.inode = BPF_CORE_READ(file, f_inode, i_ino);\n\tkey.pid = pid;\n\tkey.tid = tid;\n\tvaluep = bpf_map_lookup_elem(&entries, &key);\n\tif (!valuep) {\n\t\tbpf_map_update_elem(&entries, &key, &zero_value, BPF_ANY);\n\t\tvaluep = bpf_map_lookup_elem(&entries, &key);\n\t\tif (!valuep)\n\t\t\treturn 0;\n\t\tvaluep->pid = pid;\n\t\tvaluep->tid = tid;\n\t\tbpf_get_current_comm(&valuep->comm, sizeof(valuep->comm));\n\t\tget_file_path(file, valuep->filename, sizeof(valuep->filename));\n\t\tif (S_ISREG(mode)) {\n\t\t\tvaluep->type = 'R';\n\t\t} else if (S_ISSOCK(mode)) {\n\t\t\tvaluep->type = 'S';\n\t\t} else {\n\t\t\tvaluep->type = 'O';\n\t\t}\n\t}\n\tif (op == READ) {\n\t\tvaluep->reads++;\n\t\tvaluep->read_bytes += count;\n\t} else {\t/* op == WRITE */\n\t\tvaluep->writes++;\n\t\tvaluep->write_bytes += count;\n\t}\n\treturn 0;\n};\n\nSEC(\"kprobe/vfs_read\")\nint BPF_KPROBE(vfs_read_entry, struct file *file, char *buf, size_t count, loff_t *pos)\n{\n\treturn probe_entry(ctx, file, count, READ);\n}\n\nSEC(\"kprobe/vfs_write\")\nint BPF_KPROBE(vfs_write_entry, struct file *file, const char *buf, size_t count, loff_t *pos)\n{\n\treturn probe_entry(ctx, file, count, WRITE);\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/filetop.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n/*\n * filetop Trace file reads/writes by process.\n * Copyright (c) 2021 Hengqi Chen\n *\n * Based on filetop(8) from BCC by Brendan Gregg.\n * 17-Jul-2021   Hengqi Chen   Created this.\n */\n#include <argp.h>\n#include <errno.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"filetop.h\"\n#include \"filetop.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n#define OUTPUT_ROWS_LIMIT 10240\n\nenum SORT {\n\tALL,\n\tREADS,\n\tWRITES,\n\tRBYTES,\n\tWBYTES,\n};\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic pid_t target_pid = 0;\nstatic bool clear_screen = true;\nstatic bool regular_file_only = true;\nstatic int output_rows = 20;\nstatic int sort_by = ALL;\nstatic int interval = 1;\nstatic int count = 99999999;\nstatic bool verbose = false;\n\nconst char *argp_program_version = \"filetop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace file reads/writes by process.\\n\"\n\"\\n\"\n\"USAGE: filetop [-h] [-p PID] [interval] [count]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    filetop            # file I/O top, refresh every 1s\\n\"\n\"    filetop -p 1216    # only trace PID 1216\\n\"\n\"    filetop 5 10       # 5s summaries, 10 times\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"noclear\", 'C', NULL, 0, \"Don't clear the screen\", 0 },\n\t{ \"all\", 'a', NULL, 0, \"Include special files\", 0 },\n\t{ \"sort\", 's', \"SORT\", 0, \"Sort columns, default all [all, reads, writes, rbytes, wbytes]\", 0 },\n\t{ \"rows\", 'r', \"ROWS\", 0, \"Maximum rows to print, default 20\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tlong pid, rows;\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\twarn(\"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\ttarget_pid = pid;\n\t\tbreak;\n\tcase 'C':\n\t\tclear_screen = false;\n\t\tbreak;\n\tcase 'a':\n\t\tregular_file_only = false;\n\t\tbreak;\n\tcase 's':\n\t\tif (!strcmp(arg, \"all\")) {\n\t\t\tsort_by = ALL;\n\t\t} else if (!strcmp(arg, \"reads\")) {\n\t\t\tsort_by = READS;\n\t\t} else if (!strcmp(arg, \"writes\")) {\n\t\t\tsort_by = WRITES;\n\t\t} else if (!strcmp(arg, \"rbytes\")) {\n\t\t\tsort_by = RBYTES;\n\t\t} else if (!strcmp(arg, \"wbytes\")) {\n\t\t\tsort_by = WBYTES;\n\t\t} else {\n\t\t\twarn(\"invalid sort method: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'r':\n\t\terrno = 0;\n\t\trows = strtol(arg, NULL, 10);\n\t\tif (errno || rows <= 0) {\n\t\t\twarn(\"invalid rows: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\toutput_rows = rows;\n\t\tif (output_rows > OUTPUT_ROWS_LIMIT)\n\t\t\toutput_rows = OUTPUT_ROWS_LIMIT;\n\t\tbreak;\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tinterval = strtol(arg, NULL, 10);\n\t\t\tif (errno || interval <= 0) {\n\t\t\t\twarn(\"invalid interval\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tcount = strtol(arg, NULL, 10);\n\t\t\tif (errno || count <= 0) {\n\t\t\t\twarn(\"invalid count\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\twarn(\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic int sort_column(const void *obj1, const void *obj2)\n{\n\tstruct file_stat *s1 = (struct file_stat *)obj1;\n\tstruct file_stat *s2 = (struct file_stat *)obj2;\n\n\tif (sort_by == READS) {\n\t\treturn s2->reads - s1->reads;\n\t} else if (sort_by == WRITES) {\n\t\treturn s2->writes - s1->writes;\n\t} else if (sort_by == RBYTES) {\n\t\treturn s2->read_bytes - s1->read_bytes;\n\t} else if (sort_by == WBYTES) {\n\t\treturn s2->write_bytes - s1->write_bytes;\n\t} else {\n\t\treturn (s2->reads + s2->writes + s2->read_bytes + s2->write_bytes)\n\t\t     - (s1->reads + s1->writes + s1->read_bytes + s1->write_bytes);\n\t}\n}\n\nstatic int print_stat(struct filetop_bpf *obj)\n{\n\tchar loadavg[256], ts[64];\n\tstruct file_id key, *prev_key = NULL;\n\tstatic struct file_stat values[OUTPUT_ROWS_LIMIT];\n\tint i, err = 0, rows = 0;\n\tint fd = bpf_map__fd(obj->maps.entries);\n\n\terr = str_loadavg(loadavg, sizeof(loadavg)) <= 0;\n\terr = err ?: (str_timestamp(\"%H:%M:%S\", ts, sizeof(ts)) <= 0);\n\tif (!err)\n\t\tprintf(\"%8s %s\\n\", ts, loadavg);\n\n\tprintf(\"%-7s %-16s %-6s %-6s %-7s %-7s %1s %s\\n\",\n\t       \"TID\", \"COMM\", \"READS\", \"WRITES\", \"R_Kb\", \"W_Kb\", \"T\", \"FILE\");\n\n\twhile (1) {\n\t\terr = bpf_map_get_next_key(fd, prev_key, &key);\n\t\tif (err) {\n\t\t\tif (errno == ENOENT) {\n\t\t\t\terr = 0;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\twarn(\"bpf_map_get_next_key failed: %s\\n\", strerror(errno));\n\t\t\treturn err;\n\t\t}\n\t\terr = bpf_map_lookup_elem(fd, &key, &values[rows++]);\n\t\tif (err) {\n\t\t\twarn(\"bpf_map_lookup_elem failed: %s\\n\", strerror(errno));\n\t\t\treturn err;\n\t\t}\n\t\tprev_key = &key;\n\t}\n\n\tqsort(values, rows, sizeof(struct file_stat), sort_column);\n\trows = rows < output_rows ? rows : output_rows;\n\tfor (i = 0; i < rows; i++)\n\t\tprintf(\"%-7d %-16s %-6lld %-6lld %-7lld %-7lld %c %s\\n\",\n\t\t       values[i].tid, values[i].comm, values[i].reads, values[i].writes,\n\t\t       values[i].read_bytes / 1024, values[i].write_bytes / 1024,\n\t\t       values[i].type, values[i].filename);\n\n\tprintf(\"\\n\");\n\tprev_key = NULL;\n\n\twhile (1) {\n\t\terr = bpf_map_get_next_key(fd, prev_key, &key);\n\t\tif (err) {\n\t\t\tif (errno == ENOENT) {\n\t\t\t\terr = 0;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\twarn(\"bpf_map_get_next_key failed: %s\\n\", strerror(errno));\n\t\t\treturn err;\n\t\t}\n\t\terr = bpf_map_delete_elem(fd, &key);\n\t\tif (err) {\n\t\t\twarn(\"bpf_map_delete_elem failed: %s\\n\", strerror(errno));\n\t\t\treturn err;\n\t\t}\n\t\tprev_key = &key;\n\t}\n\treturn err;\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct filetop_bpf *obj;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = filetop_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tobj->rodata->target_pid = target_pid;\n\tobj->rodata->regular_file_only = regular_file_only;\n\n\terr = filetop_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = filetop_bpf__attach(obj);\n\tif (err) {\n\t\twarn(\"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\twhile (1) {\n\t\tsleep(interval);\n\n\t\tif (clear_screen) {\n\t\t\terr = system(\"clear\");\n\t\t\tif (err)\n\t\t\t\tgoto cleanup;\n\t\t}\n\n\t\terr = print_stat(obj);\n\t\tif (err)\n\t\t\tgoto cleanup;\n\n\t\tcount--;\n\t\tif (exiting || !count)\n\t\t\tgoto cleanup;\n\t}\n\ncleanup:\n\tfiletop_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/filetop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __FILETOP_H\n#define __FILETOP_H\n\n#define PATH_MAX\t4096\n#define TASK_COMM_LEN\t16\n\nenum op {\n\tREAD,\n\tWRITE,\n};\n\nstruct file_id {\n\t__u64 inode;\n\t__u32 dev;\n\t__u32 rdev;\n\t__u32 pid;\n\t__u32 tid;\n};\n\nstruct file_stat {\n\t__u64 reads;\n\t__u64 read_bytes;\n\t__u64 writes;\n\t__u64 write_bytes;\n\t__u32 pid;\n\t__u32 tid;\n\tchar filename[PATH_MAX];\n\tchar comm[TASK_COMM_LEN];\n\tchar type;\n};\n\n#endif /* __FILETOP_H */\n"
  },
  {
    "path": "libbpf-tools/fsdist.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"bits.bpf.h\"\n#include \"fsdist.h\"\n\n#define MAX_ENTRIES\t10240\n\nconst volatile pid_t target_pid = 0;\nconst volatile bool in_ms = false;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, __u32);\n\t__type(value, __u64);\n} starts SEC(\".maps\");\n\nstruct hist hists[F_MAX_OP] = {};\n\nstatic int probe_entry()\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\t__u64 ts;\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tts = bpf_ktime_get_ns();\n\tbpf_map_update_elem(&starts, &tid, &ts, BPF_ANY);\n\treturn 0;\n}\n\nstatic int probe_return(enum fs_file_op op)\n{\n\t__u32 tid = (__u32)bpf_get_current_pid_tgid();\n\t__u64 ts = bpf_ktime_get_ns();\n\t__u64 *tsp, slot;\n\t__s64 delta;\n\n\ttsp = bpf_map_lookup_elem(&starts, &tid);\n\tif (!tsp)\n\t\treturn 0;\n\n\tif (op >= F_MAX_OP)\n\t\tgoto cleanup;\n\n\tdelta = (__s64)(ts - *tsp);\n\tif (delta < 0)\n\t\tgoto cleanup;\n\n\tif (in_ms)\n\t\tdelta /= 1000000;\n\telse\n\t\tdelta /= 1000;\n\n\tslot = log2l(delta);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&hists[op].slots[slot], 1);\n\ncleanup:\n\tbpf_map_delete_elem(&starts, &tid);\n\treturn 0;\n}\n\nSEC(\"kprobe/dummy_file_read\")\nint BPF_KPROBE(file_read_entry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"kretprobe/dummy_file_read\")\nint BPF_KRETPROBE(file_read_exit)\n{\n\treturn probe_return(F_READ);\n}\n\nSEC(\"kprobe/dummy_file_write\")\nint BPF_KPROBE(file_write_entry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"kretprobe/dummy_file_write\")\nint BPF_KRETPROBE(file_write_exit)\n{\n\treturn probe_return(F_WRITE);\n}\n\nSEC(\"kprobe/dummy_file_open\")\nint BPF_KPROBE(file_open_entry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"kretprobe/dummy_file_open\")\nint BPF_KRETPROBE(file_open_exit)\n{\n\treturn probe_return(F_OPEN);\n}\n\nSEC(\"kprobe/dummy_file_sync\")\nint BPF_KPROBE(file_sync_entry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"kretprobe/dummy_file_sync\")\nint BPF_KRETPROBE(file_sync_exit)\n{\n\treturn probe_return(F_FSYNC);\n}\n\nSEC(\"kprobe/dummy_getattr\")\nint BPF_KPROBE(getattr_entry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"kretprobe/dummy_getattr\")\nint BPF_KRETPROBE(getattr_exit)\n{\n\treturn probe_return(F_GETATTR);\n}\n\nSEC(\"fentry/dummy_file_read\")\nint BPF_PROG(file_read_fentry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"fexit/dummy_file_read\")\nint BPF_PROG(file_read_fexit)\n{\n\treturn probe_return(F_READ);\n}\n\nSEC(\"fentry/dummy_file_write\")\nint BPF_PROG(file_write_fentry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"fexit/dummy_file_write\")\nint BPF_PROG(file_write_fexit)\n{\n\treturn probe_return(F_WRITE);\n}\n\nSEC(\"fentry/dummy_file_open\")\nint BPF_PROG(file_open_fentry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"fexit/dummy_file_open\")\nint BPF_PROG(file_open_fexit)\n{\n\treturn probe_return(F_OPEN);\n}\n\nSEC(\"fentry/dummy_file_sync\")\nint BPF_PROG(file_sync_fentry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"fexit/dummy_file_sync\")\nint BPF_PROG(file_sync_fexit)\n{\n\treturn probe_return(F_FSYNC);\n}\n\nSEC(\"fentry/dummy_getattr\")\nint BPF_PROG(getattr_fentry)\n{\n\treturn probe_entry();\n}\n\nSEC(\"fexit/dummy_getattr\")\nint BPF_PROG(getattr_fexit)\n{\n\treturn probe_return(F_GETATTR);\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/fsdist.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n/*\n * fsdist  Summarize file system operations latency.\n *\n * Copyright (c) 2021 Wenbo Zhang\n * Copyright (c) 2021 Hengqi Chen\n *\n * Based on ext4dist(8) from BCC by Brendan Gregg.\n * 9-Feb-2021   Wenbo Zhang   Created this.\n * 20-May-2021   Hengqi Chen  Migrated to fsdist.\n * 27-Oct-2023   Pcheng Cui   Add support for F2FS.\n */\n#include <argp.h>\n#include <libgen.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n\n#include \"fsdist.h\"\n#include \"fsdist.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\nenum fs_type {\n\tNONE,\n\tBTRFS,\n\tEXT4,\n\tFUSE,\n\tNFS,\n\tXFS,\n\tF2FS,\n\tBCACHEFS,\n\tZFS,\n};\n\nstatic struct fs_config {\n\tconst char *fs;\n\tconst char *op_funcs[F_MAX_OP];\n} fs_configs[] = {\n\t[BTRFS] = { \"btrfs\", {\n\t\t[F_READ] = \"btrfs_file_read_iter\",\n\t\t[F_WRITE] = \"btrfs_file_write_iter\",\n\t\t[F_OPEN] = \"btrfs_file_open\",\n\t\t[F_FSYNC] = \"btrfs_sync_file\",\n\t\t[F_GETATTR] = NULL, /* not supported */\n\t}},\n\t[EXT4] = { \"ext4\", {\n\t\t[F_READ] = \"ext4_file_read_iter\",\n\t\t[F_WRITE] = \"ext4_file_write_iter\",\n\t\t[F_OPEN] = \"ext4_file_open\",\n\t\t[F_FSYNC] = \"ext4_sync_file\",\n\t\t[F_GETATTR] = \"ext4_file_getattr\",\n\t}},\n\t[FUSE] = { \"fuse\", {\n\t\t[F_READ] = \"fuse_file_read_iter\",\n\t\t[F_WRITE] = \"fuse_file_write_iter\",\n\t\t[F_OPEN] = \"fuse_open\",\n\t\t[F_FSYNC] = \"fuse_fsync\",\n\t\t[F_GETATTR] = \"fuse_getattr\",\n\t}},\n\t[NFS] = { \"nfs\", {\n\t\t[F_READ] = \"nfs_file_read\",\n\t\t[F_WRITE] = \"nfs_file_write\",\n\t\t[F_OPEN] = \"nfs_file_open\",\n\t\t[F_FSYNC] = \"nfs_file_fsync\",\n\t\t[F_GETATTR] = \"nfs_getattr\",\n\t}},\n\t[XFS] = { \"xfs\", {\n\t\t[F_READ] = \"xfs_file_read_iter\",\n\t\t[F_WRITE] = \"xfs_file_write_iter\",\n\t\t[F_OPEN] = \"xfs_file_open\",\n\t\t[F_FSYNC] = \"xfs_file_fsync\",\n\t\t[F_GETATTR] = NULL, /* not supported */\n\t}},\n\t[F2FS] = { \"f2fs\", {\n\t\t[F_READ] = \"f2fs_file_read_iter\",\n\t\t[F_WRITE] = \"f2fs_file_write_iter\",\n\t\t[F_OPEN] = \"f2fs_file_open\",\n\t\t[F_FSYNC] = \"f2fs_sync_file\",\n\t\t[F_GETATTR] = \"f2fs_getattr\",\n\t}},\n\t[BCACHEFS] = { \"bcachefs\", {\n\t\t[F_READ] = \"bch2_read_iter\",\n\t\t[F_WRITE] = \"bch2_write_iter\",\n\t\t[F_OPEN] = \"bch2_open\",\n\t\t[F_FSYNC] = \"bch2_fsync\",\n\t\t[F_GETATTR] = \"bch2_getattr\",\n\t}},\n\t[ZFS] = { \"zfs\", {\n\t\t[F_READ] = \"zpl_iter_read\",\n\t\t[F_WRITE] = \"zpl_iter_write\",\n\t\t[F_OPEN] = \"zpl_open\",\n\t\t[F_FSYNC] = \"zpl_fsync\",\n\t\t[F_GETATTR] = NULL, /* not supported */\n\t}},\n};\n\nstatic char *file_op_names[] = {\n\t[F_READ] = \"read\",\n\t[F_WRITE] = \"write\",\n\t[F_OPEN] = \"open\",\n\t[F_FSYNC] = \"fsync\",\n\t[F_GETATTR] = \"getattr\",\n};\n\nstatic struct hist zero;\nstatic volatile sig_atomic_t exiting;\n\n/* options */\nstatic enum fs_type fs_type = NONE;\nstatic bool emit_timestamp = false;\nstatic bool timestamp_in_ms = false;\nstatic pid_t target_pid = 0;\nstatic int interval = 99999999;\nstatic int count = 99999999;\nstatic bool verbose = false;\n\nconst char *argp_program_version = \"fsdist 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize file system operations latency.\\n\"\n\"\\n\"\n\"Usage: fsdist [-h] [-t] [-T] [-m] [-p PID] [interval] [count]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    fsdist -t ext4             # show ext4 operations latency as a histogram\\n\"\n\"    fsdist -t nfs -p 1216      # trace nfs operations with PID 1216 only\\n\"\n\"    fsdist -t xfs 1 10         # trace xfs operations, 1s summaries, 10 times\\n\"\n\"    fsdist -t btrfs -m 5       # trace btrfs operation, 5s summaries, in ms\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"timestamp\", 'T', NULL, 0, \"Print timestamp\", 0 },\n\t{ \"milliseconds\", 'm', NULL, 0, \"Millisecond histogram\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"type\", 't', \"Filesystem\", 0, \"Which filesystem to trace, [btrfs/ext4/fuse/nfs/xfs/f2fs/bcachefs/zfs]\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'T':\n\t\temit_timestamp = true;\n\t\tbreak;\n\tcase 'm':\n\t\ttimestamp_in_ms = true;\n\t\tbreak;\n\tcase 't':\n\t\tif (!strcmp(arg, \"btrfs\")) {\n\t\t\tfs_type = BTRFS;\n\t\t} else if (!strcmp(arg, \"ext4\")) {\n\t\t\tfs_type = EXT4;\n\t\t} else if (!strcmp(arg, \"fuse\")) {\n\t\t\tfs_type = FUSE;\n\t\t} else if (!strcmp(arg, \"nfs\")) {\n\t\t\tfs_type = NFS;\n\t\t} else if (!strcmp(arg, \"xfs\")) {\n\t\t\tfs_type = XFS;\n\t\t} else if (!strcmp(arg, \"f2fs\")) {\n\t\t\tfs_type = F2FS;\n\t\t} else if (!strcmp(arg, \"bcachefs\")) {\n\t\t\tfs_type = BCACHEFS;\n\t\t} else if (!strcmp(arg, \"zfs\")) {\n\t\t\tfs_type = ZFS;\n\t\t} else {\n\t\t\twarn(\"invalid filesystem\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\ttarget_pid = strtol(arg, NULL, 10);\n\t\tif (errno || target_pid <= 0) {\n\t\t\twarn(\"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tinterval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\twarn(\"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tcount = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\twarn(\"invalid count\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\twarn(\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic void alias_parse(char *prog)\n{\n\tchar *name = basename(prog);\n\n\tif (strstr(name, \"btrfsdist\")) {\n\t\tfs_type = BTRFS;\n\t} else if (strstr(name, \"ext4dist\")) {\n\t\tfs_type = EXT4;\n\t} else if (strstr(name, \"fusedist\")) {\n\t\tfs_type = FUSE;\n\t} else if (strstr(name, \"nfsdist\")) {\n\t\tfs_type = NFS;\n\t} else if (strstr(name, \"xfsdist\")) {\n\t\tfs_type = XFS;\n\t} else if (strstr(name, \"f2fsdist\")){\n\t\tfs_type = F2FS;\n\t} else if (strstr(name, \"bcachefsdist\")){\n\t\tfs_type = BCACHEFS;\n\t} else if (strstr(name, \"zfsdist\")) {\n\t\tfs_type = ZFS;\n\t}\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = 1;\n}\n\nstatic int print_hists(struct fsdist_bpf__bss *bss)\n{\n\tconst char *units = timestamp_in_ms ? \"msecs\" : \"usecs\";\n\tenum fs_file_op op;\n\n\tfor (op = F_READ; op < F_MAX_OP; op++) {\n\t\tstruct hist hist = bss->hists[op];\n\n\t\tbss->hists[op] = zero;\n\t\tif (!memcmp(&zero, &hist, sizeof(hist)))\n\t\t\tcontinue;\n\t\tprintf(\"operation = '%s'\\n\", file_op_names[op]);\n\t\tprint_log2_hist(hist.slots, MAX_SLOTS, units);\n\t\tprintf(\"\\n\");\n\t}\n\treturn 0;\n}\n\nstatic bool check_fentry()\n{\n\tint i;\n\tconst char *fn_name, *module;\n\tbool support_fentry = true;\n\n\tfor (i = 0; i < F_MAX_OP; i++) {\n\t\tfn_name = fs_configs[fs_type].op_funcs[i];\n\t\tmodule = fs_configs[fs_type].fs;\n\t\tif (fn_name && !fentry_can_attach(fn_name, module)) {\n\t\t\tsupport_fentry = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn support_fentry;\n}\n\nstatic int fentry_set_attach_target(struct fsdist_bpf *obj)\n{\n\tstruct fs_config *cfg = &fs_configs[fs_type];\n\tint err = 0;\n\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_read_fentry, 0, cfg->op_funcs[F_READ]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_read_fexit, 0, cfg->op_funcs[F_READ]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_write_fentry, 0, cfg->op_funcs[F_WRITE]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_write_fexit, 0, cfg->op_funcs[F_WRITE]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_open_fentry, 0, cfg->op_funcs[F_OPEN]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_open_fexit, 0, cfg->op_funcs[F_OPEN]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_sync_fentry, 0, cfg->op_funcs[F_FSYNC]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_sync_fexit, 0, cfg->op_funcs[F_FSYNC]);\n\tif (cfg->op_funcs[F_GETATTR]) {\n\t\terr = err ?: bpf_program__set_attach_target(obj->progs.getattr_fentry, 0, cfg->op_funcs[F_GETATTR]);\n\t\terr = err ?: bpf_program__set_attach_target(obj->progs.getattr_fexit, 0, cfg->op_funcs[F_GETATTR]);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.getattr_fentry, false);\n\t\tbpf_program__set_autoload(obj->progs.getattr_fexit, false);\n\t}\n\treturn err;\n}\n\nstatic void disable_fentry(struct fsdist_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.file_read_fentry, false);\n\tbpf_program__set_autoload(obj->progs.file_read_fexit, false);\n\tbpf_program__set_autoload(obj->progs.file_write_fentry, false);\n\tbpf_program__set_autoload(obj->progs.file_write_fexit, false);\n\tbpf_program__set_autoload(obj->progs.file_open_fentry, false);\n\tbpf_program__set_autoload(obj->progs.file_open_fexit, false);\n\tbpf_program__set_autoload(obj->progs.file_sync_fentry, false);\n\tbpf_program__set_autoload(obj->progs.file_sync_fexit, false);\n\tbpf_program__set_autoload(obj->progs.getattr_fentry, false);\n\tbpf_program__set_autoload(obj->progs.getattr_fexit, false);\n}\n\nstatic void disable_kprobes(struct fsdist_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.file_read_entry, false);\n\tbpf_program__set_autoload(obj->progs.file_read_exit, false);\n\tbpf_program__set_autoload(obj->progs.file_write_entry, false);\n\tbpf_program__set_autoload(obj->progs.file_write_exit, false);\n\tbpf_program__set_autoload(obj->progs.file_open_entry, false);\n\tbpf_program__set_autoload(obj->progs.file_open_exit, false);\n\tbpf_program__set_autoload(obj->progs.file_sync_entry, false);\n\tbpf_program__set_autoload(obj->progs.file_sync_exit, false);\n\tbpf_program__set_autoload(obj->progs.getattr_entry, false);\n\tbpf_program__set_autoload(obj->progs.getattr_exit, false);\n}\n\nstatic int attach_kprobes(struct fsdist_bpf *obj)\n{\n\tlong err = 0;\n\tstruct fs_config *cfg = &fs_configs[fs_type];\n\n\t/* F_READ */\n\tobj->links.file_read_entry = bpf_program__attach_kprobe(obj->progs.file_read_entry, false, cfg->op_funcs[F_READ]);\n\tif (!obj->links.file_read_entry)\n\t\tgoto errout;\n\tobj->links.file_read_exit = bpf_program__attach_kprobe(obj->progs.file_read_exit, true, cfg->op_funcs[F_READ]);\n\tif (!obj->links.file_read_exit)\n\t\tgoto errout;\n\t/* F_WRITE */\n\tobj->links.file_write_entry = bpf_program__attach_kprobe(obj->progs.file_write_entry, false, cfg->op_funcs[F_WRITE]);\n\tif (!obj->links.file_write_entry)\n\t\tgoto errout;\n\tobj->links.file_write_exit = bpf_program__attach_kprobe(obj->progs.file_write_exit, true, cfg->op_funcs[F_WRITE]);\n\tif (!obj->links.file_write_exit)\n\t\tgoto errout;\n\t/* F_OPEN */\n\tobj->links.file_open_entry = bpf_program__attach_kprobe(obj->progs.file_open_entry, false, cfg->op_funcs[F_OPEN]);\n\tif (!obj->links.file_open_entry)\n\t\tgoto errout;\n\tobj->links.file_open_exit = bpf_program__attach_kprobe(obj->progs.file_open_exit, true, cfg->op_funcs[F_OPEN]);\n\tif (!obj->links.file_open_exit)\n\t\tgoto errout;\n\t/* F_FSYNC */\n\tobj->links.file_sync_entry = bpf_program__attach_kprobe(obj->progs.file_sync_entry, false, cfg->op_funcs[F_FSYNC]);\n\tif (!obj->links.file_sync_entry)\n\t\tgoto errout;\n\tobj->links.file_sync_exit = bpf_program__attach_kprobe(obj->progs.file_sync_exit, true, cfg->op_funcs[F_FSYNC]);\n\tif (!obj->links.file_sync_exit)\n\t\tgoto errout;\n\t/* F_GETATTR */\n\tif (!cfg->op_funcs[F_GETATTR])\n\t\treturn 0;\n\tobj->links.getattr_entry = bpf_program__attach_kprobe(obj->progs.getattr_entry, false, cfg->op_funcs[F_GETATTR]);\n\tif (!obj->links.getattr_entry)\n\t\tgoto errout;\n\tobj->links.getattr_exit = bpf_program__attach_kprobe(obj->progs.getattr_exit, true, cfg->op_funcs[F_GETATTR]);\n\tif (!obj->links.getattr_exit)\n\t\tgoto errout;\n\treturn 0;\nerrout:\n\terr = -errno;\n\twarn(\"failed to attach kprobe: %ld\\n\", err);\n\treturn err;\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct fsdist_bpf *skel;\n\tchar ts[32];\n\tint err;\n\tbool support_fentry;\n\n\talias_parse(argv[0]);\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\tif (fs_type == NONE) {\n\t\twarn(\"filesystem must be specified using -t option.\\n\");\n\t\treturn 1;\n\t}\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tskel = fsdist_bpf__open_opts(&open_opts);\n\tif (!skel) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tskel->rodata->target_pid = target_pid;\n\tskel->rodata->in_ms = timestamp_in_ms;\n\n\t/*\n\t * before load\n\t * if fentry is supported, we set attach target and disable kprobes\n\t * otherwise, we disable fentry and attach kprobes after loading\n\t */\n\tsupport_fentry = check_fentry();\n\tif (support_fentry) {\n\t\terr = fentry_set_attach_target(skel);\n\t\tif (err) {\n\t\t\twarn(\"failed to set attach target: %d\\n\", err);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tdisable_kprobes(skel);\n\t} else {\n\t\tdisable_fentry(skel);\n\t}\n\n\terr = fsdist_bpf__load(skel);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/*\n\t * after load\n\t * if fentry is supported, let libbpf do auto load\n\t * otherwise, we attach to kprobes manually\n\t */\n\terr = support_fentry ? fsdist_bpf__attach(skel) : attach_kprobes(skel);\n\tif (err) {\n\t\twarn(\"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\n\tprintf(\"Tracing %s operation latency... Hit Ctrl-C to end.\\n\",\n\t       fs_configs[fs_type].fs);\n\n\twhile (1) {\n\t\tsleep(interval);\n\t\tprintf(\"\\n\");\n\n\t\tif (emit_timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\terr = print_hists(skel->bss);\n\t\tif (err)\n\t\t\tbreak;\n\n\t\tif (exiting || --count == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\tfsdist_bpf__destroy(skel);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/fsdist.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __FSDIST_H\n#define __FSDIST_H\n\nenum fs_file_op {\n\tF_READ,\n\tF_WRITE,\n\tF_OPEN,\n\tF_FSYNC,\n\tF_GETATTR,\n\tF_MAX_OP,\n};\n\n#define MAX_SLOTS\t32\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n};\n\n#endif /* __FSDIST_H */\n"
  },
  {
    "path": "libbpf-tools/fsslower.bpf.c",
    "content": "/* SPDX-License-Identifier: GPL-2.0 */\n/* Copyright (c) 2020 Wenbo Zhang */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"bits.bpf.h\"\n#include \"fsslower.h\"\n\n#define MAX_ENTRIES\t8192\n\nconst volatile pid_t target_pid = 0;\nconst volatile __u64 min_lat_ns = 0;\n\nstruct data {\n\t__u64 ts;\n\tloff_t start;\n\tloff_t end;\n\tstruct file *fp;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, __u32);\n\t__type(value, struct data);\n} starts SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} events SEC(\".maps\");\n\nstatic int probe_entry(struct file *fp, loff_t start, loff_t end)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\tstruct data data;\n\n\tif (!fp)\n\t\treturn 0;\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tdata.ts = bpf_ktime_get_ns();\n\tdata.start = start;\n\tdata.end = end;\n\tdata.fp = fp;\n\tbpf_map_update_elem(&starts, &tid, &data, BPF_ANY);\n\treturn 0;\n}\n\nstatic int probe_exit(void *ctx, enum fs_file_op op, ssize_t size)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\t__u64 end_ns, delta_ns;\n\tconst __u8 *file_name;\n\tstruct data *datap;\n\tstruct event event = {};\n\tstruct dentry *dentry;\n\tstruct file *fp;\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tdatap = bpf_map_lookup_elem(&starts, &tid);\n\tif (!datap)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&starts, &tid);\n\n\tend_ns = bpf_ktime_get_ns();\n\tdelta_ns = end_ns - datap->ts;\n\tif (delta_ns <= min_lat_ns)\n\t\treturn 0;\n\n\tevent.delta_us = delta_ns / 1000;\n\tevent.end_ns = end_ns;\n\tevent.offset = datap->start;\n\tif (op != F_FSYNC)\n\t\tevent.size = size;\n\telse\n\t\tevent.size = datap->end - datap->start;\n\tevent.pid = pid;\n\tevent.op = op;\n\tfp = datap->fp;\n\tdentry = BPF_CORE_READ(fp, f_path.dentry);\n\tfile_name = BPF_CORE_READ(dentry, d_name.name);\n\tbpf_probe_read_kernel_str(&event.file, sizeof(event.file), file_name);\n\tbpf_get_current_comm(&event.task, sizeof(event.task));\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));\n\treturn 0;\n}\n\nSEC(\"kprobe/dummy_file_read\")\nint BPF_KPROBE(file_read_entry, struct kiocb *iocb)\n{\n\tstruct file *fp = BPF_CORE_READ(iocb, ki_filp);\n\tloff_t start = BPF_CORE_READ(iocb, ki_pos);\n\n\treturn probe_entry(fp, start, 0);\n}\n\nSEC(\"kretprobe/dummy_file_read\")\nint BPF_KRETPROBE(file_read_exit, ssize_t ret)\n{\n\treturn probe_exit(ctx, F_READ, ret);\n}\n\nSEC(\"kprobe/dummy_file_write\")\nint BPF_KPROBE(file_write_entry, struct kiocb *iocb)\n{\n\tstruct file *fp = BPF_CORE_READ(iocb, ki_filp);\n\tloff_t start = BPF_CORE_READ(iocb, ki_pos);\n\n\treturn probe_entry(fp, start, 0);\n}\n\nSEC(\"kretprobe/dummy_file_write\")\nint BPF_KRETPROBE(file_write_exit, ssize_t ret)\n{\n\treturn probe_exit(ctx, F_WRITE, ret);\n}\n\nSEC(\"kprobe/dummy_file_open\")\nint BPF_KPROBE(file_open_entry, struct inode *inode, struct file *file)\n{\n\treturn probe_entry(file, 0, 0);\n}\n\nSEC(\"kretprobe/dummy_file_open\")\nint BPF_KRETPROBE(file_open_exit)\n{\n\treturn probe_exit(ctx, F_OPEN, 0);\n}\n\nSEC(\"kprobe/dummy_file_sync\")\nint BPF_KPROBE(file_sync_entry, struct file *file, loff_t start, loff_t end)\n{\n\treturn probe_entry(file, start, end);\n}\n\nSEC(\"kretprobe/dummy_file_sync\")\nint BPF_KRETPROBE(file_sync_exit)\n{\n\treturn probe_exit(ctx, F_FSYNC, 0);\n}\n\nSEC(\"fentry/dummy_file_read\")\nint BPF_PROG(file_read_fentry, struct kiocb *iocb)\n{\n\tstruct file *fp = iocb->ki_filp;\n\tloff_t start = iocb->ki_pos;\n\n\treturn probe_entry(fp, start, 0);\n}\n\nSEC(\"fexit/dummy_file_read\")\nint BPF_PROG(file_read_fexit, struct kiocb *iocb, struct iov_iter *to, ssize_t ret)\n{\n\treturn probe_exit(ctx, F_READ, ret);\n}\n\nSEC(\"fentry/dummy_file_write\")\nint BPF_PROG(file_write_fentry, struct kiocb *iocb)\n{\n\tstruct file *fp = iocb->ki_filp;\n\tloff_t start = iocb->ki_pos;\n\n\treturn probe_entry(fp, start, 0);\n}\n\nSEC(\"fexit/dummy_file_write\")\nint BPF_PROG(file_write_fexit, struct kiocb *iocb, struct iov_iter *from, ssize_t ret)\n{\n\treturn probe_exit(ctx, F_WRITE, ret);\n}\n\nSEC(\"fentry/dummy_file_open\")\nint BPF_PROG(file_open_fentry, struct inode *inode, struct file *file)\n{\n\treturn probe_entry(file, 0, 0);\n}\n\nSEC(\"fexit/dummy_file_open\")\nint BPF_PROG(file_open_fexit)\n{\n\treturn probe_exit(ctx, F_OPEN, 0);\n}\n\nSEC(\"fentry/dummy_file_sync\")\nint BPF_PROG(file_sync_fentry, struct file *file, loff_t start, loff_t end)\n{\n\treturn probe_entry(file, start, end);\n}\n\nSEC(\"fexit/dummy_file_sync\")\nint BPF_PROG(file_sync_fexit)\n{\n\treturn probe_exit(ctx, F_FSYNC, 0);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/fsslower.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n/*\n * fsslower  Trace file system operations slower than a threshold.\n *\n * Copyright (c) 2020 Wenbo Zhang\n * Copyright (c) 2021 Hengqi Chen\n *\n * Based on xfsslower(8) from BCC by Brendan Gregg & Dina Goldshtein.\n * 9-Mar-2020   Wenbo Zhang   Created this.\n * 27-May-2021  Hengqi Chen   Migrated to fsslower.\n * 27-Oct-2023  Pcheng Cui   Add support for F2FS.\n */\n#include <argp.h>\n#include <libgen.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n\n#include \"fsslower.h\"\n#include \"fsslower.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t64\n#define PERF_POLL_TIMEOUT_MS\t100\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\nenum fs_type {\n\tNONE,\n\tBTRFS,\n\tEXT4,\n\tFUSE,\n\tNFS,\n\tXFS,\n\tF2FS,\n\tBCACHEFS,\n\tZFS,\n};\n\nstatic struct fs_config {\n\tconst char *fs;\n\tconst char *op_funcs[F_MAX_OP];\n} fs_configs[] = {\n\t[BTRFS] = { \"btrfs\", {\n\t\t[F_READ] = \"btrfs_file_read_iter\",\n\t\t[F_WRITE] = \"btrfs_file_write_iter\",\n\t\t[F_OPEN] = \"btrfs_file_open\",\n\t\t[F_FSYNC] = \"btrfs_sync_file\",\n\t}},\n\t[EXT4] = { \"ext4\", {\n\t\t[F_READ] = \"ext4_file_read_iter\",\n\t\t[F_WRITE] = \"ext4_file_write_iter\",\n\t\t[F_OPEN] = \"ext4_file_open\",\n\t\t[F_FSYNC] = \"ext4_sync_file\",\n\t}},\n\t[FUSE] = { \"fuse\", {\n\t\t[F_READ] = \"fuse_file_read_iter\",\n\t\t[F_WRITE] = \"fuse_file_write_iter\",\n\t\t[F_OPEN] = \"fuse_open\",\n\t\t[F_FSYNC] = \"fuse_fsync\",\n\t}},\n\t[NFS] = { \"nfs\", {\n\t\t[F_READ] = \"nfs_file_read\",\n\t\t[F_WRITE] = \"nfs_file_write\",\n\t\t[F_OPEN] = \"nfs_file_open\",\n\t\t[F_FSYNC] = \"nfs_file_fsync\",\n\t}},\n\t[XFS] = { \"xfs\", {\n\t\t[F_READ] = \"xfs_file_read_iter\",\n\t\t[F_WRITE] = \"xfs_file_write_iter\",\n\t\t[F_OPEN] = \"xfs_file_open\",\n\t\t[F_FSYNC] = \"xfs_file_fsync\",\n\t}},\n\t[F2FS] = { \"f2fs\", {\n\t\t[F_READ] = \"f2fs_file_read_iter\",\n\t\t[F_WRITE] = \"f2fs_file_write_iter\",\n\t\t[F_OPEN] = \"f2fs_file_open\",\n\t\t[F_FSYNC] = \"f2fs_sync_file\",\n\t}},\n\t[BCACHEFS] = { \"bcachefs\", {\n\t\t[F_READ] = \"bch2_read_iter\",\n\t\t[F_WRITE] = \"bch2_write_iter\",\n\t\t[F_OPEN] = \"bch2_open\",\n\t\t[F_FSYNC] = \"bch2_fsync\",\n\t}},\n\t[ZFS] = { \"zfs\", {\n\t\t[F_READ] = \"zpl_iter_read\",\n\t\t[F_WRITE] = \"zpl_iter_write\",\n\t\t[F_OPEN] = \"zpl_open\",\n\t\t[F_FSYNC] = \"zpl_fsync\",\n\t}},\n};\n\nstatic char file_op[] = {\n\t[F_READ] = 'R',\n\t[F_WRITE] = 'W',\n\t[F_OPEN] = 'O',\n\t[F_FSYNC] = 'F',\n};\n\nstatic volatile sig_atomic_t exiting = 0;\n\n/* options */\nstatic enum fs_type fs_type = NONE;\nstatic pid_t target_pid = 0;\nstatic time_t duration = 0;\nstatic __u64 min_lat_ms = 10;\nstatic bool csv = false;\nstatic bool verbose = false;\n\nconst char *argp_program_version = \"fsslower 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace file system operations slower than a threshold.\\n\"\n\"\\n\"\n\"Usage: fsslower [-h] [-t FS] [-p PID] [-m MIN] [-d DURATION] [-c]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    fsslower -t ext4             # trace ext4 operations slower than 10 ms\\n\"\n\"    fsslower -t nfs -p 1216      # trace nfs operations with PID 1216 only\\n\"\n\"    fsslower -t xfs -c -d 1      # trace xfs operations for 1s with csv output\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"csv\", 'c', NULL, 0, \"Output as csv\", 0 },\n\t{ \"duration\", 'd', \"DURATION\", 0, \"Total duration of trace in seconds\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"min\", 'm', \"MIN\", 0, \"Min latency to trace, in ms (default 10)\", 0 },\n\t{ \"type\", 't', \"Filesystem\", 0, \"Which filesystem to trace, [btrfs/ext4/fuse/nfs/xfs/f2fs/bcachefs/zfs]\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tswitch (key) {\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'c':\n\t\tcsv = true;\n\t\tbreak;\n\tcase 'd':\n\t\terrno = 0;\n\t\tduration = strtol(arg, NULL, 10);\n\t\tif (errno || duration <= 0) {\n\t\t\twarn(\"invalid DURATION: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'm':\n\t\terrno = 0;\n\t\tmin_lat_ms = strtoll(arg, NULL, 10);\n\t\tif (errno || min_lat_ms < 0) {\n\t\t\twarn(\"invalid latency (in ms): %s\\n\", arg);\n\t\t}\n\t\tbreak;\n\tcase 't':\n\t\tif (!strcmp(arg, \"btrfs\")) {\n\t\t\tfs_type = BTRFS;\n\t\t} else if (!strcmp(arg, \"ext4\")) {\n\t\t\tfs_type = EXT4;\n\t\t} else if (!strcmp(arg, \"fuse\")) {\n\t\t\tfs_type = FUSE;\n\t\t} else if (!strcmp(arg, \"nfs\")) {\n\t\t\tfs_type = NFS;\n\t\t} else if (!strcmp(arg, \"xfs\")) {\n\t\t\tfs_type = XFS;\n\t\t} else if (!strcmp(arg, \"f2fs\")) {\n\t\t\tfs_type = F2FS;\n\t\t} else if (!strcmp(arg, \"bcachefs\")) {\n\t\t\tfs_type = BCACHEFS;\n\t\t} else if (!strcmp(arg, \"zfs\")) {\n\t\t\tfs_type = ZFS;\n\t\t} else {\n\t\t\twarn(\"invalid filesystem\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\ttarget_pid = strtol(arg, NULL, 10);\n\t\tif (errno || target_pid <= 0) {\n\t\t\twarn(\"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic void alias_parse(char *prog)\n{\n\tchar *name = basename(prog);\n\n\tif (strstr(name, \"btrfsslower\")) {\n\t\tfs_type = BTRFS;\n\t} else if (strstr(name, \"ext4slower\")) {\n\t\tfs_type = EXT4;\n\t} else if (strstr(name, \"fuseslower\")) {\n\t\tfs_type = FUSE;\n\t} else if (strstr(name, \"nfsslower\")) {\n\t\tfs_type = NFS;\n\t} else if (strstr(name, \"xfsslower\")) {\n\t\tfs_type = XFS;\n\t} else if (strstr(name, \"f2fsslower\")){\n\t\tfs_type = F2FS;\n\t} else if (strstr(name, \"bcachefsslower\")){\n\t\tfs_type = BCACHEFS;\n\t} else if (!strcmp(name, \"zfsslower\")) {\n\t\tfs_type = ZFS;\n\t}\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic bool check_fentry()\n{\n\tint i;\n\tconst char *fn_name, *module;\n\tbool support_fentry = true;\n\n\tfor (i = 0; i < F_MAX_OP; i++) {\n\t\tfn_name = fs_configs[fs_type].op_funcs[i];\n\t\tmodule = fs_configs[fs_type].fs;\n\t\tif (fn_name && !fentry_can_attach(fn_name, module)) {\n\t\t\tsupport_fentry = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn support_fentry;\n}\n\nstatic int fentry_set_attach_target(struct fsslower_bpf *obj)\n{\n\tstruct fs_config *cfg = &fs_configs[fs_type];\n\tint err = 0;\n\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_read_fentry, 0, cfg->op_funcs[F_READ]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_read_fexit, 0, cfg->op_funcs[F_READ]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_write_fentry, 0, cfg->op_funcs[F_WRITE]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_write_fexit, 0, cfg->op_funcs[F_WRITE]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_open_fentry, 0, cfg->op_funcs[F_OPEN]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_open_fexit, 0, cfg->op_funcs[F_OPEN]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_sync_fentry, 0, cfg->op_funcs[F_FSYNC]);\n\terr = err ?: bpf_program__set_attach_target(obj->progs.file_sync_fexit, 0, cfg->op_funcs[F_FSYNC]);\n\treturn err;\n}\n\nstatic void disable_fentry(struct fsslower_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.file_read_fentry, false);\n\tbpf_program__set_autoload(obj->progs.file_read_fexit, false);\n\tbpf_program__set_autoload(obj->progs.file_write_fentry, false);\n\tbpf_program__set_autoload(obj->progs.file_write_fexit, false);\n\tbpf_program__set_autoload(obj->progs.file_open_fentry, false);\n\tbpf_program__set_autoload(obj->progs.file_open_fexit, false);\n\tbpf_program__set_autoload(obj->progs.file_sync_fentry, false);\n\tbpf_program__set_autoload(obj->progs.file_sync_fexit, false);\n}\n\nstatic void disable_kprobes(struct fsslower_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.file_read_entry, false);\n\tbpf_program__set_autoload(obj->progs.file_read_exit, false);\n\tbpf_program__set_autoload(obj->progs.file_write_entry, false);\n\tbpf_program__set_autoload(obj->progs.file_write_exit, false);\n\tbpf_program__set_autoload(obj->progs.file_open_entry, false);\n\tbpf_program__set_autoload(obj->progs.file_open_exit, false);\n\tbpf_program__set_autoload(obj->progs.file_sync_entry, false);\n\tbpf_program__set_autoload(obj->progs.file_sync_exit, false);\n}\n\nstatic int attach_kprobes(struct fsslower_bpf *obj)\n{\n\tlong err = 0;\n\tstruct fs_config *cfg = &fs_configs[fs_type];\n\n\t/* F_READ */\n\tobj->links.file_read_entry = bpf_program__attach_kprobe(obj->progs.file_read_entry, false, cfg->op_funcs[F_READ]);\n\tif (!obj->links.file_read_entry)\n\t\tgoto errout;\n\tobj->links.file_read_exit = bpf_program__attach_kprobe(obj->progs.file_read_exit, true, cfg->op_funcs[F_READ]);\n\tif (!obj->links.file_read_exit)\n\t\tgoto errout;\n\t/* F_WRITE */\n\tobj->links.file_write_entry = bpf_program__attach_kprobe(obj->progs.file_write_entry, false, cfg->op_funcs[F_WRITE]);\n\tif (!obj->links.file_write_entry)\n\t\tgoto errout;\n\tobj->links.file_write_exit = bpf_program__attach_kprobe(obj->progs.file_write_exit, true, cfg->op_funcs[F_WRITE]);\n\tif (!obj->links.file_write_exit)\n\t\tgoto errout;\n\t/* F_OPEN */\n\tobj->links.file_open_entry = bpf_program__attach_kprobe(obj->progs.file_open_entry, false, cfg->op_funcs[F_OPEN]);\n\tif (!obj->links.file_open_entry)\n\t\tgoto errout;\n\tobj->links.file_open_exit = bpf_program__attach_kprobe(obj->progs.file_open_exit, true, cfg->op_funcs[F_OPEN]);\n\tif (!obj->links.file_open_exit)\n\t\tgoto errout;\n\t/* F_FSYNC */\n\tobj->links.file_sync_entry = bpf_program__attach_kprobe(obj->progs.file_sync_entry, false, cfg->op_funcs[F_FSYNC]);\n\tif (!obj->links.file_sync_entry)\n\t\tgoto errout;\n\tobj->links.file_sync_exit = bpf_program__attach_kprobe(obj->progs.file_sync_exit, true, cfg->op_funcs[F_FSYNC]);\n\tif (!obj->links.file_sync_exit)\n\t\tgoto errout;\n\treturn 0;\n\nerrout:\n\terr = -errno;\n\twarn(\"failed to attach kprobe: %ld\\n\", err);\n\treturn err;\n}\n\nstatic void print_headers()\n{\n\tconst char *fs = fs_configs[fs_type].fs;\n\n\tif (csv) {\n\t\tprintf(\"ENDTIME_ns,TASK,PID,TYPE,BYTES,OFFSET_b,LATENCY_us,FILE\\n\");\n\t\treturn;\n\t}\n\n\tif (min_lat_ms)\n\t\tprintf(\"Tracing %s operations slower than %llu ms\", fs, min_lat_ms);\n\telse\n\t\tprintf(\"Tracing %s operations\", fs);\n\n\tif (duration)\n\t\tprintf(\" for %ld secs.\\n\", duration);\n\telse\n\t\tprintf(\"... Hit Ctrl-C to end.\\n\");\n\n\tprintf(\"%-8s %-16s %-7s %1s %-7s %-8s %7s %s\\n\",\n\t       \"TIME\", \"COMM\", \"PID\", \"T\", \"BYTES\", \"OFF_KB\", \"LAT(ms)\", \"FILENAME\");\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tstruct event e;\n\tchar ts[32];\n\n\tif (data_sz < sizeof(e)) {\n   \t   \tprintf(\"Error: packet too small\\n\");\n   \t   \treturn;\n\t}\n\t/* Copy data as alignment in the perf buffer isn't guaranteed. */\n\tmemcpy(&e, data, sizeof(e));\n\n\tif (csv) {\n\t\tprintf(\"%lld,%s,%d,%c,\", e.end_ns, e.task, e.pid, file_op[e.op]);\n\t\tif (e.size == LLONG_MAX)\n\t\t\tprintf(\"LL_MAX,\");\n\t\telse\n\t\t\tprintf(\"%zd,\", e.size);\n\t\tprintf(\"%lld,%lld,%s\\n\", e.offset, e.delta_us, e.file);\n\t\treturn;\n\t}\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\n\tprintf(\"%-8s %-16s %-7d %c \", ts, e.task, e.pid, file_op[e.op]);\n\tif (e.size == LLONG_MAX)\n\t\tprintf(\"%-7s \", \"LL_MAX\");\n\telse\n\t\tprintf(\"%-7zd \", e.size);\n\tprintf(\"%-8lld %7.2f %s\\n\", e.offset / 1024, (double)e.delta_us / 1000, e.file);\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\twarn(\"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct fsslower_bpf *skel;\n\t__u64 time_end = 0;\n\tint err;\n\tbool support_fentry;\n\n\talias_parse(argv[0]);\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\tif (fs_type == NONE) {\n\t\twarn(\"filesystem must be specified using -t option.\\n\");\n\t\treturn 1;\n\t}\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tskel = fsslower_bpf__open_opts(&open_opts);\n\tif (!skel) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tskel->rodata->target_pid = target_pid;\n\tskel->rodata->min_lat_ns = min_lat_ms * 1000 * 1000;\n\n\t/*\n\t * before load\n\t * if fentry is supported, we set attach target and disable kprobes\n\t * otherwise, we disable fentry and attach kprobes after loading\n\t */\n\tsupport_fentry = check_fentry();\n\tif (support_fentry) {\n\t\terr = fentry_set_attach_target(skel);\n\t\tif (err) {\n\t\t\twarn(\"failed to set attach target: %d\\n\", err);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tdisable_kprobes(skel);\n\t} else {\n\t\tdisable_fentry(skel);\n\t}\n\n\terr = fsslower_bpf__load(skel);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/*\n\t * after load\n\t * if fentry is supported, let libbpf do auto load\n\t * otherwise, we attach to kprobes manually\n\t */\n\terr = support_fentry ? fsslower_bpf__attach(skel) : attach_kprobes(skel);\n\tif (err) {\n\t\twarn(\"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tpb = perf_buffer__new(bpf_map__fd(skel->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\twarn(\"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tprint_headers();\n\n\tif (duration)\n\t\ttime_end = get_ktime_ns() + duration * NSEC_PER_SEC;\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\t/* main: poll */\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (duration && get_ktime_ns() > time_end)\n\t\t\tgoto cleanup;\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\tfsslower_bpf__destroy(skel);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/fsslower.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __FSSLOWER_H\n#define __FSSLOWER_H\n\n#define FILE_NAME_LEN\t32\n#define TASK_COMM_LEN\t16\n\nenum fs_file_op {\n\tF_READ,\n\tF_WRITE,\n\tF_OPEN,\n\tF_FSYNC,\n\tF_MAX_OP,\n};\n\nstruct event {\n\t__u64 delta_us;\n\t__u64 end_ns;\n\t__s64 offset;\n\tssize_t size;\n\tpid_t pid;\n\tenum fs_file_op op;\n\tchar file[FILE_NAME_LEN];\n\tchar task[TASK_COMM_LEN];\n};\n\n#endif /* __FSSLOWER_H */\n"
  },
  {
    "path": "libbpf-tools/funclatency.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n/* Copyright (c) 2021 Google LLC. */\n#include \"vmlinux.h\"\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"funclatency.h\"\n#include \"bits.bpf.h\"\n\nconst volatile pid_t targ_tgid = 0;\nconst volatile int units = 0;\nconst volatile bool filter_cg = false;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\n/* key: pid.  value: start time */\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_PIDS);\n\t__type(key, u32);\n\t__type(value, u64);\n} starts SEC(\".maps\");\n\n__u32 hist[MAX_SLOTS] = {};\n\nstatic void entry(void)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\tu32 tgid = id >> 32;\n\tu32 pid = id;\n\tu64 nsec;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn;\n\n\tif (targ_tgid && targ_tgid != tgid)\n\t\treturn;\n\tnsec = bpf_ktime_get_ns();\n\tbpf_map_update_elem(&starts, &pid, &nsec, BPF_ANY);\n}\n\nSEC(\"fentry/dummy_fentry\")\nint BPF_PROG(dummy_fentry)\n{\n\tentry();\n\treturn 0;\n}\n\nSEC(\"kprobe/dummy_kprobe\")\nint BPF_KPROBE(dummy_kprobe)\n{\n\tentry();\n\treturn 0;\n}\n\nstatic void exit(void)\n{\n\tu64 *start;\n\tu64 nsec = bpf_ktime_get_ns();\n\tu64 id = bpf_get_current_pid_tgid();\n\tu32 pid = id;\n\tu64 slot, delta;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn;\n\n\tstart = bpf_map_lookup_elem(&starts, &pid);\n\tif (!start)\n\t\treturn;\n\n\tdelta = nsec - *start;\n\n\tswitch (units) {\n\tcase USEC:\n\t\tdelta /= 1000;\n\t\tbreak;\n\tcase MSEC:\n\t\tdelta /= 1000000;\n\t\tbreak;\n\t}\n\n\tslot = log2l(delta);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&hist[slot], 1);\n\n\tbpf_map_delete_elem(&starts, &pid);\n}\n\nSEC(\"fexit/dummy_fexit\")\nint BPF_PROG(dummy_fexit)\n{\n\texit();\n\treturn 0;\n}\n\nSEC(\"kretprobe/dummy_kretprobe\")\nint BPF_KRETPROBE(dummy_kretprobe)\n{\n\texit();\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/funclatency.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2021 Google LLC.\n *\n * Based on funclatency from BCC by Brendan Gregg and others\n * 2021-02-26   Barret Rhoden   Created this.\n *\n * TODO:\n * - support uprobes on libraries without -p PID. (parse ld.so.cache)\n * - support regexp pattern matching and per-function histograms\n */\n#include <argp.h>\n#include <errno.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n#include <fcntl.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"funclatency.h\"\n#include \"funclatency.skel.h\"\n#include \"trace_helpers.h\"\n#include \"map_helpers.h\"\n#include \"btf_helpers.h\"\n#include \"uprobe_helpers.h\"\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\nstatic struct prog_env {\n\tint units;\n\tpid_t pid;\n\tunsigned int duration;\n\tunsigned int interval;\n\tunsigned int iterations;\n\tbool timestamp;\n\tchar *funcname;\n\tbool verbose;\n\tbool kprobes;\n\tchar *cgroupspath;\n\tbool cg;\n\tbool is_kernel_func;\n} env = {\n\t.interval = 99999999,\n\t.iterations = 99999999,\n};\n\nconst char *argp_program_version = \"funclatency 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nstatic const char args_doc[] = \"FUNCTION\";\nstatic const char program_doc[] =\n\"Time functions and print latency as a histogram\\n\"\n\"\\n\"\n\"Usage: funclatency [-h] [-m|-u] [-p PID] [-d DURATION] [ -i INTERVAL ] [-c CG]\\n\"\n\"                   [-T] FUNCTION\\n\"\n\"       Choices for FUNCTION: FUNCTION         (kprobe)\\n\"\n\"                             LIBRARY:FUNCTION (uprobe a library in -p PID)\\n\"\n\"                             :FUNCTION        (uprobe the binary of -p PID)\\n\"\n\"                             PROGRAM:FUNCTION (uprobe the binary PROGRAM)\\n\"\n\"\\v\"\n\"Examples:\\n\"\n\"  ./funclatency do_sys_open         # time the do_sys_open() kernel function\\n\"\n\"  ./funclatency -m do_nanosleep     # time do_nanosleep(), in milliseconds\\n\"\n\"  ./funclatency -c CG               # Trace process under cgroupsPath CG\\n\"\n\"  ./funclatency -u vfs_read         # time vfs_read(), in microseconds\\n\"\n\"  ./funclatency -p 181 vfs_read     # time process 181 only\\n\"\n\"  ./funclatency -p 181 c:read       # time the read() C library function\\n\"\n\"  ./funclatency -p 181 :foo         # time foo() from pid 181's userspace\\n\"\n\"  ./funclatency -i 2 -d 10 vfs_read # output every 2 seconds, for 10s\\n\"\n\"  ./funclatency -mTi 5 vfs_read     # output every 5 seconds, with timestamps\\n\"\n;\n\nstatic const struct argp_option opts[] = {\n\t{ \"milliseconds\", 'm', NULL, 0, \"Output in milliseconds\", 0 },\n\t{ \"microseconds\", 'u', NULL, 0, \"Output in microseconds\", 0 },\n\t{0, 0, 0, 0, \"\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{0, 0, 0, 0, \"\", 0 },\n\t{ \"interval\", 'i', \"INTERVAL\", 0, \"Summary interval in seconds\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ \"duration\", 'd', \"DURATION\", 0, \"Duration to trace\", 0 },\n\t{ \"timestamp\", 'T', NULL, 0, \"Print timestamp\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"kprobes\", 'k', NULL, 0, \"Use kprobes instead of fentry\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstruct prog_env *env = state->input;\n\tlong duration, interval, pid;\n\n\tswitch (key) {\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\twarn(\"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv->pid = pid;\n\t\tbreak;\n\tcase 'm':\n\t\tif (env->units != NSEC) {\n\t\t\twarn(\"only set one of -m or -u\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv->units = MSEC;\n\t\tbreak;\n\tcase 'c':\n\t\tenv->cgroupspath = arg;\n\t\tenv->cg = true;\n\t\tbreak;\n\tcase 'u':\n\t\tif (env->units != NSEC) {\n\t\t\twarn(\"only set one of -m or -u\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv->units = USEC;\n\t\tbreak;\n\tcase 'd':\n\t\terrno = 0;\n\t\tduration = strtol(arg, NULL, 10);\n\t\tif (errno || duration <= 0) {\n\t\t\twarn(\"Invalid duration: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv->duration = duration;\n\t\tbreak;\n\tcase 'i':\n\t\terrno = 0;\n\t\tinterval = strtol(arg, NULL, 10);\n\t\tif (errno || interval <= 0) {\n\t\t\twarn(\"Invalid interval: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv->interval = interval;\n\t\tbreak;\n\tcase 'T':\n\t\tenv->timestamp = true;\n\t\tbreak;\n\tcase 'k':\n\t\tenv->kprobes = true;\n\t\tbreak;\n\tcase 'v':\n\t\tenv->verbose = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tif (env->funcname) {\n\t\t\twarn(\"Too many function names: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv->funcname = arg;\n\t\tbreak;\n\tcase ARGP_KEY_END:\n\t\tif (!env->funcname) {\n\t\t\twarn(\"Need a function to trace\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tif (env->duration) {\n\t\t\tif (env->interval > env->duration)\n\t\t\t\tenv->interval = env->duration;\n\t\t\tenv->iterations = env->duration / env->interval;\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic const char *unit_str(void)\n{\n\tswitch (env.units) {\n\tcase NSEC:\n\t\treturn \"nsec\";\n\tcase USEC:\n\t\treturn \"usec\";\n\tcase MSEC:\n\t\treturn \"msec\";\n\t};\n\n\treturn \"bad units\";\n}\n\nstatic bool try_fentry(struct funclatency_bpf *obj)\n{\n\tlong err;\n\n\tif (env.kprobes || !env.is_kernel_func ||\n\t    !fentry_can_attach(env.funcname, NULL)) {\n\t\tgoto out_no_fentry;\n\t}\n\n\terr = bpf_program__set_attach_target(obj->progs.dummy_fentry, 0,\n\t\t\t\t\t     env.funcname);\n\tif (err) {\n\t\twarn(\"failed to set attach fentry: %s\\n\", strerror(-err));\n\t\tgoto out_no_fentry;\n\t}\n\n\terr = bpf_program__set_attach_target(obj->progs.dummy_fexit, 0,\n\t\t\t\t\t     env.funcname);\n\tif (err) {\n\t\twarn(\"failed to set attach fexit: %s\\n\", strerror(-err));\n\t\tgoto out_no_fentry;\n\t}\n\n\tbpf_program__set_autoload(obj->progs.dummy_kprobe, false);\n\tbpf_program__set_autoload(obj->progs.dummy_kretprobe, false);\n\n\treturn true;\n\nout_no_fentry:\n\tbpf_program__set_autoload(obj->progs.dummy_fentry, false);\n\tbpf_program__set_autoload(obj->progs.dummy_fexit, false);\n\n\treturn false;\n}\n\nstatic int attach_kprobes(struct funclatency_bpf *obj)\n{\n\tobj->links.dummy_kprobe =\n\t\tbpf_program__attach_kprobe(obj->progs.dummy_kprobe, false,\n\t\t\t\t\t   env.funcname);\n\tif (!obj->links.dummy_kprobe) {\n\t\twarn(\"failed to attach kprobe: %d\\n\", -errno);\n\t\treturn -1;\n\t}\n\n\tobj->links.dummy_kretprobe =\n\t\tbpf_program__attach_kprobe(obj->progs.dummy_kretprobe, true,\n\t\t\t\t\t   env.funcname);\n\tif (!obj->links.dummy_kretprobe) {\n\t\twarn(\"failed to attach kretprobe: %d\\n\", -errno);\n\t\treturn -1;\n\t}\n\n\treturn 0;\n}\n\nstatic int attach_uprobes(struct funclatency_bpf *obj)\n{\n\tchar *binary, *function;\n\tchar bin_path[PATH_MAX];\n\toff_t func_off;\n\tint ret = -1;\n\tlong err;\n\n\tbinary = strdup(env.funcname);\n\tif (!binary) {\n\t\twarn(\"strdup failed\");\n\t\treturn -1;\n\t}\n\tfunction = strchr(binary, ':');\n\tif (!function) {\n\t\twarn(\"Binary should have contained ':' (internal bug!)\\n\");\n\t\treturn -1;\n\t}\n\t*function = '\\0';\n\tfunction++;\n\n\tif (resolve_binary_path(binary, env.pid, bin_path, sizeof(bin_path)))\n\t\tgoto out_binary;\n\n\tfunc_off = get_elf_func_offset(bin_path, function);\n\tif (func_off < 0) {\n\t\twarn(\"Could not find %s in %s\\n\", function, bin_path);\n\t\tgoto out_binary;\n\t}\n\n\tobj->links.dummy_kprobe =\n\t\tbpf_program__attach_uprobe(obj->progs.dummy_kprobe, false,\n\t\t\t\t\t   env.pid ?: -1, bin_path, func_off);\n\tif (!obj->links.dummy_kprobe) {\n\t\terr = -errno;\n\t\twarn(\"Failed to attach uprobe: %ld\\n\", err);\n\t\tgoto out_binary;\n\t}\n\n\tobj->links.dummy_kretprobe =\n\t\tbpf_program__attach_uprobe(obj->progs.dummy_kretprobe, true,\n\t\t\t\t\t   env.pid ?: -1, bin_path, func_off);\n\tif (!obj->links.dummy_kretprobe) {\n\t\terr = -errno;\n\t\twarn(\"Failed to attach uretprobe: %ld\\n\", err);\n\t\tgoto out_binary;\n\t}\n\n\tret = 0;\n\nout_binary:\n\tfree(binary);\n\n\treturn ret;\n}\n\nstatic volatile bool exiting;\n\nstatic void sig_hand(int signr)\n{\n\texiting = true;\n}\n\nstatic struct sigaction sigact = {.sa_handler = sig_hand};\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.args_doc = args_doc,\n\t\t.doc = program_doc,\n\t};\n\tstruct funclatency_bpf *obj;\n\tint i, err;\n\tchar ts[32];\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\tbool used_fentry = false;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, &env);\n\tif (err)\n\t\treturn err;\n\n\tenv.is_kernel_func = !strchr(env.funcname, ':');\n\n\tsigaction(SIGINT, &sigact, 0);\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = funclatency_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tobj->rodata->units = env.units;\n\tobj->rodata->targ_tgid = env.pid;\n\tobj->rodata->filter_cg = env.cg;\n\n\tused_fentry = try_fentry(obj);\n\n\terr = funclatency_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object\\n\");\n\t\treturn 1;\n\t}\n\n/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\tif (!obj->bss) {\n\t\twarn(\"Memory-mapping BPF maps is supported starting from Linux 5.7, please upgrade.\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tif (!used_fentry) {\n\t\tif (env.is_kernel_func)\n\t\t\terr = attach_kprobes(obj);\n\t\telse\n\t\t\terr = attach_uprobes(obj);\n\t\tif (err)\n\t\t\tgoto cleanup;\n\t}\n\n\terr = funclatency_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs: %s\\n\",\n\t\t\tstrerror(-err));\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"Tracing %s.  Hit Ctrl-C to exit\\n\", env.funcname);\n\n\tfor (i = 0; i < env.iterations && !exiting; i++) {\n\t\tsleep(env.interval);\n\n\t\tprintf(\"\\n\");\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\tprint_log2_hist(obj->bss->hist, MAX_SLOTS, unit_str());\n\n\t\t/* Cleanup histograms for interval output */\n\t\tmemset(obj->bss->hist, 0, sizeof(obj->bss->hist));\n\t}\n\n\tprintf(\"Exiting trace of %s\\n\", env.funcname);\n\ncleanup:\n\tfunclatency_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/funclatency.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#pragma once\n\n#define MAX_PIDS 102400\n#define MAX_SLOTS 25\n\nenum units {\n\tNSEC,\n\tUSEC,\n\tMSEC,\n};\n"
  },
  {
    "path": "libbpf-tools/futexctn.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n/* Copyright (c) 2023 Wenbo Zhang */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n\n#include \"futexctn.h\"\n#include \"bits.bpf.h\"\n#include \"maps.bpf.h\"\n\n#define MAX_ENTRIES\t10240\n\n#define FUTEX_WAIT\t\t0\n#define FUTEX_PRIVATE_FLAG\t128\n#define FUTEX_CLOCK_REALTIME\t256\n#define FUTEX_CMD_MASK\t\t~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)\n\nconst volatile bool targ_summary = false;\nconst volatile bool targ_ms = false;\nconst volatile __u64 targ_lock = 0;\nconst volatile pid_t targ_pid = 0;\nconst volatile pid_t targ_tid = 0;\n\nstruct val_t {\n\tu64 ts;\n\tu64 uaddr;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, u64);\n\t__type(value, struct val_t);\n} start SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_STACK_TRACE);\n\t__uint(key_size, sizeof(u32));\n} stackmap SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct hist_key);\n\t__type(value, struct hist);\n} hists SEC(\".maps\");\n\nstatic struct hist initial_hist = {};\n\nSEC(\"tracepoint/syscalls/sys_enter_futex\")\nint futex_enter(struct syscall_trace_enter *ctx)\n{\n\tstruct val_t v = {};\n\tu64 pid_tgid;\n\tu32 tid;\n\n\tif (((int)ctx->args[1] & FUTEX_CMD_MASK) != FUTEX_WAIT)\n\t\treturn 0;\n\n\tpid_tgid = bpf_get_current_pid_tgid();\n\ttid = (__u32)pid_tgid;\n\tif (targ_pid && targ_pid != pid_tgid >> 32)\n\t\treturn 0;\n\tif (targ_tid && targ_tid != tid)\n\t\treturn 0;\n\tv.uaddr = ctx->args[0];\n\tif (targ_lock && targ_lock != v.uaddr)\n\t\treturn 0;\n\tv.ts = bpf_ktime_get_ns();\n\tbpf_map_update_elem(&start, &pid_tgid, &v, BPF_ANY);\n\treturn 0;\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_futex\")\nint futex_exit(struct syscall_trace_exit *ctx)\n{\n\tu64 pid_tgid, slot, ts, min, max;\n\tstruct hist_key hkey = {};\n\tstruct hist *histp;\n\tstruct val_t *vp;\n\ts64 delta;\n\n\tts = bpf_ktime_get_ns();\n\tpid_tgid = bpf_get_current_pid_tgid();\n\tvp = bpf_map_lookup_elem(&start, &pid_tgid);\n\tif (!vp)\n\t\treturn 0;\n\tif ((int)ctx->ret < 0)\n\t\tgoto cleanup;\n\n\tdelta = (s64)(ts - vp->ts);\n\tif (delta < 0)\n\t\tgoto cleanup;\n\n\thkey.pid_tgid = pid_tgid;\n\thkey.uaddr = vp->uaddr;\n\tif (!targ_summary)\n\t\thkey.user_stack_id = bpf_get_stackid(ctx, &stackmap, BPF_F_USER_STACK);\n\telse\n\t\thkey.pid_tgid >>= 32;\n\n\thistp = bpf_map_lookup_or_try_init(&hists, &hkey, &initial_hist);\n\tif (!histp)\n\t\tgoto cleanup;\n\n\tif (targ_ms)\n\t\tdelta /= 1000000U;\n\telse\n\t\tdelta /= 1000U;\n\n\tslot = log2l(delta);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&histp->slots[slot], 1);\n\t__sync_fetch_and_add(&histp->contended, 1);\n\t__sync_fetch_and_add(&histp->total_elapsed, delta);\n\tmin = __sync_fetch_and_add(&histp->min, 0);\n\tif (!min || min > delta)\n\t\t__sync_val_compare_and_swap(&histp->min, min, delta);\n\tmax = __sync_fetch_and_add(&histp->max, 0);\n\tif (max < delta)\n\t\t__sync_val_compare_and_swap(&histp->max, max, delta);\n\tbpf_get_current_comm(&histp->comm, sizeof(histp->comm));\n\ncleanup:\n\tbpf_map_delete_elem(&start, &pid_tgid);\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/futexctn.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2023 Wenbo Zhang\n//\n// Based on https://sourceware.org/systemtap/wiki/WSFutexContention\n// 10-Jul-2023   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdint.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <sys/resource.h>\n#include <bpf/bpf.h>\n#include \"futexctn.h\"\n#include \"futexctn.skel.h\"\n#include \"trace_helpers.h\"\n#ifdef USE_BLAZESYM\n#include \"blazesym.h\"\n#endif\n\n#ifdef USE_BLAZESYM\nstatic struct blaze_symbolizer *symbolizer;\n#else\nstatic struct syms_cache *syms_cache;\n#endif\n\nstatic struct env {\n\tpid_t pid;\n\tpid_t tid;\n\t__u64 lock;\n\ttime_t interval;\n\tint times;\n\tint stack_storage_size;\n\tint perf_max_stack_depth;\n\tbool summary;\n\tbool timestamp;\n\tbool milliseconds;\n\tbool verbose;\n} env = {\n\t.interval = 99999999,\n\t.times = 99999999,\n\t.stack_storage_size = 1024,\n\t.perf_max_stack_depth = 127,\n};\n\nstatic volatile sig_atomic_t exiting = 0;\n\nconst char *argp_program_version = \"futexctn 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize futex contention latency as a histogram.\\n\"\n\"\\n\"\n\"USAGE: futexctn [--help] [-T] [-m] [-s] [-p pid] [-t tid] [-l lock] [interval] [count]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    futexctn              # summarize futex contention latency as a histogram\\n\"\n\"    futexctn 1 10         # print 1 second summaries, 10 times\\n\"\n\"    futexctn -mT 1        # 1s summaries, milliseconds, and timestamps\\n\"\n\"    futexctn -s 1         # 1s summaries, without stack traces\\n\"\n\"    futexctn -l 0x8187bb8 # only trace lock 0x8187bb8\\n\"\n\"    futexctn -p 123       # only trace threads for PID 123\\n\"\n\"    futexctn -t 125       # only trace thread 125\\n\";\n\n#define OPT_PERF_MAX_STACK_DEPTH\t1 /* --pef-max-stack-depth */\n#define OPT_STACK_STORAGE_SIZE\t\t2 /* --stack-storage-size */\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Trace this PID only\", 0 },\n\t{ \"tid\", 't', \"TID\", 0, \"Trace this TID only\", 0 },\n\t{ \"lock\", 'l', \"LOCK\", 0, \"Trace this lock only\", 0 },\n\t{ \"timestamp\", 'T', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"milliseconds\", 'm', NULL, 0, \"Millisecond histogram\", 0 },\n\t{ \"perf-max-stack-depth\", OPT_PERF_MAX_STACK_DEPTH,\n\t  \"PERF-MAX-STACK-DEPTH\", 0, \"the limit for the stack traces (default 127)\", 0 },\n\t{ \"stack-storage-size\", OPT_STACK_STORAGE_SIZE, \"STACK-STORAGE-SIZE\", 0,\n\t  \"the number of unique stack traces that can be stored and displayed (default 1024)\", 0 },\n\t{ \"summary\", 's', NULL, 0, \"Summary futex contention latency\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'm':\n\t\tenv.milliseconds = true;\n\t\tbreak;\n\tcase 's':\n\t\tenv.summary = true;\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tenv.pid = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 't':\n\t\terrno = 0;\n\t\tenv.tid = strtol(arg, NULL, 10);\n\t\tif (errno || env.tid <= 0) {\n\t\t\tfprintf(stderr, \"Invalid TID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'l':\n\t\terrno = 0;\n\t\tenv.lock = strtol(arg, NULL, 16);\n\t\tif (errno || env.lock <= 0) {\n\t\t\tfprintf(stderr, \"Invalid lock: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase OPT_PERF_MAX_STACK_DEPTH:\n\t\terrno = 0;\n\t\tenv.perf_max_stack_depth = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid perf max stack depth: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase OPT_STACK_STORAGE_SIZE:\n\t\terrno = 0;\n\t\tenv.stack_storage_size = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid stack storage size: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tenv.interval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tenv.times = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid times\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic int print_stack(struct futexctn_bpf *obj, struct hist_key *info)\n{\n#ifdef USE_BLAZESYM\n\tstruct blaze_symbolize_src_process src = {\n\t\t.type_size = sizeof(src),\n\t\t.pid = info->pid_tgid >> 32,\n\t\t.debug_syms = true,\n\t};\n\tconst struct blaze_syms *syms = NULL;\n\tconst struct blaze_sym *sym;\n#else\n\tconst struct syms *syms;\n\tconst struct sym *sym;\n\tstruct sym_info sinfo;\n\tint idx = 0;\n#endif\n\tint i, err = 0, fd;\n\tuint64_t *ip;\n\n\tip = calloc(env.perf_max_stack_depth, sizeof(*ip));\n\tif (!ip) {\n\t\tfprintf(stderr, \"failed to alloc ip\\n\");\n\t\treturn -1;\n\t}\n\n\tfd = bpf_map__fd(obj->maps.stackmap);\n\terr = bpf_map_lookup_elem(fd, &info->user_stack_id, ip);\n\tif (err != 0) {\n\t\tfprintf(stderr, \"    [Missed User Stack]\\n\");\n\t\tgoto cleanup;\n\t}\n\n#ifdef USE_BLAZESYM\n\tsyms = blaze_symbolize_process_abs_addrs(symbolizer, &src, ip, env.perf_max_stack_depth);\n\n\tfor (i = 0; syms && i < syms->cnt; i++) {\n\t\tif (ip[i] == 0)\n\t\t\tbreak;\n\n\t\tsym = &syms->syms[i];\n\t\tif (!sym->name)\n\t\t\tcontinue;\n\n\t\tif (sym->code_info.line != 0)\n\t\t\tprintf(\"    %s:%u\\n\", sym->name, sym->code_info.line);\n\t\telse\n\t\t\tprintf(\"    %s\\n\", sym->name);\n\t}\n#else\n\tsyms = syms_cache__get_syms(syms_cache, info->pid_tgid >> 32);\n\tif (!syms) {\n\t\tif (!env.verbose) {\n\t\t\tfprintf(stderr, \"failed to get syms\\n\");\n\t\t} else {\n\t\t\tfor (i = 0; i < env.perf_max_stack_depth && ip[i]; i++)\n\t\t\t\tprintf(\"    #%-2d 0x%016lx [unknown]\\n\", idx++, ip[i]);\n\t\t}\n\t\tgoto cleanup;\n\t}\n\tfor (i = 0; i < env.perf_max_stack_depth && ip[i]; i++) {\n\t\tif (!env.verbose) {\n\t\t\tsym = syms__map_addr(syms, ip[i]);\n\t\t\tif (sym)\n\t\t\t\tprintf(\"    %s\\n\", sym->name);\n\t\t\telse\n\t\t\t\tprintf(\"    [unknown]\\n\");\n\t\t} else {\n\t\t\terr = syms__map_addr_dso(syms, ip[i], &sinfo);\n\t\t\tprintf(\"    #%-2d 0x%016lx\", idx++, ip[i]);\n\t\t\tif (err == 0) {\n\t\t\t\tif (sinfo.sym_name)\n\t\t\t\t\tprintf(\" %s+0x%lx\", sinfo.sym_name, sinfo.sym_offset);\n\t\t\t\tprintf(\" (%s+0x%lx)\", sinfo.dso_name, sinfo.dso_offset);\n\t\t\t}\n\t\t\tprintf(\"\\n\");\n\t\t}\n\t}\n#endif\n\ncleanup:\n#ifdef USE_BLAZESYM\n\tblaze_syms_free(syms);\n#endif\n\n\tfree(ip);\n\n\treturn 0;\n}\n\nstatic int print_map(struct futexctn_bpf *obj)\n{\n\tstruct hist_key lookup_key = { .pid_tgid = -1 }, next_key;\n\tconst char *units = env.milliseconds ? \"msecs\" : \"usecs\";\n\tint err,fd = bpf_map__fd(obj->maps.hists);\n\tstruct hist hist;\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &hist);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup hist: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tprintf(\"\\n\\n\");\n\t\tprintf(\n\t\t    \"%s[%u] lock 0x%llx contended %llu times, %llu avg %s \"\n\t\t    \"[max: %llu %s, min %llu %s]\\n\",\n\t\t    hist.comm, (__u32)next_key.pid_tgid, next_key.uaddr,\n\t\t    hist.contended, hist.total_elapsed / hist.contended, units,\n\t\t    hist.max, units, hist.min, units);\n\t\tif (!env.summary) {\n\t\t\tprintf(\"    -\\n\");\n\t\t\tprint_stack(obj, &next_key);\n\t\t\tprintf(\"    -\\n\");\n\t\t}\n\t\tprint_log2_hist(hist.slots, MAX_SLOTS, units);\n\t\tlookup_key = next_key;\n\t}\n\n\tlookup_key.pid_tgid = -1;\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_delete_elem(fd, &next_key);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to cleanup hist : %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct futexctn_bpf *obj;\n\tchar ts[32];\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = futexctn_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->targ_pid = env.pid;\n\tobj->rodata->targ_tid = env.tid;\n\tobj->rodata->targ_lock = env.lock;\n\tobj->rodata->targ_ms = env.milliseconds;\n\tobj->rodata->targ_summary = env.summary;\n\n\tbpf_map__set_value_size(obj->maps.stackmap,\n\t\t\t\tenv.perf_max_stack_depth * sizeof(unsigned long));\n\tbpf_map__set_max_entries(obj->maps.stackmap, env.stack_storage_size);\n\n\terr = futexctn_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\terr = futexctn_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n#ifdef USE_BLAZESYM\n\tsymbolizer = blaze_symbolizer_new();\n#else\n\tsyms_cache = syms_cache__new(0);\n\tif (!syms_cache) {\n\t\tfprintf(stderr, \"failed to create syms_cache\\n\");\n\t\tgoto cleanup;\n\t}\n#endif\n\n\tsignal(SIGINT, sig_handler);\n\n\tfprintf(stderr, \"Summarize futex contention latency, hit ctrl-c to exit\\n\");\n\n\t/* main: poll */\n\twhile (1) {\n\t\tsleep(env.interval);\n\t\tprintf(\"\\n\");\n\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\tprint_map(obj);\n\n\t\tif (exiting || --env.times == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\tfutexctn_bpf__destroy(obj);\n#ifdef USE_BLAZESYM\n\tblaze_symbolizer_free(symbolizer);\n#else\n\tsyms_cache__free(syms_cache);\n#endif\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/futexctn.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __FUTEXCTN_H\n#define __FUTEXCTN_H\n\n#define TASK_COMM_LEN\t16\n#define MAX_SLOTS\t36\n\nstruct hist_key {\n\t__u64 pid_tgid;\n\t__u64 uaddr;\n\tint user_stack_id;\n};\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n\tchar comm[TASK_COMM_LEN];\n\t__u64 contended;\n\t__u64 total_elapsed;\n\t__u64 min;\n\t__u64 max;\n};\n\n#endif /* FUTEXCTN_H_ */\n"
  },
  {
    "path": "libbpf-tools/gethostlatency.bpf.c",
    "content": "/* SPDX-License-Identifier: GPL-2.0 */\n/* Copyright (c) 2021 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"gethostlatency.h\"\n\n#define MAX_ENTRIES\t10240\n\nconst volatile pid_t target_pid = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, __u32);\n\t__type(value, struct event);\n} starts SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} events SEC(\".maps\");\n\nstatic int probe_entry(struct pt_regs *ctx)\n{\n\tif (!PT_REGS_PARM1(ctx))\n\t\treturn 0;\n\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\tstruct event event = {};\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tevent.time = bpf_ktime_get_ns();\n\tevent.pid = pid;\n\tbpf_get_current_comm(&event.comm, sizeof(event.comm));\n\tbpf_probe_read_user(&event.host, sizeof(event.host), (void *)PT_REGS_PARM1(ctx));\n\tbpf_map_update_elem(&starts, &tid, &event, BPF_ANY);\n\treturn 0;\n}\n\nstatic int probe_return(struct pt_regs *ctx)\n{\n\t__u32 tid = (__u32)bpf_get_current_pid_tgid();\n\tstruct event *eventp;\n\n\teventp = bpf_map_lookup_elem(&starts, &tid);\n\tif (!eventp)\n\t\treturn 0;\n\n\t/* update time from timestamp to delta */\n\teventp->time = bpf_ktime_get_ns() - eventp->time;\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, eventp, sizeof(*eventp));\n\tbpf_map_delete_elem(&starts, &tid);\n\treturn 0;\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(handle_entry)\n{\n\treturn probe_entry(ctx);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(handle_return)\n{\n\treturn probe_return(ctx);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/gethostlatency.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n/*\n * gethostlatency  Show latency for getaddrinfo/gethostbyname[2] calls.\n *\n * Copyright (c) 2021 Hengqi Chen\n *\n * Based on gethostlatency(8) from BCC by Brendan Gregg.\n * 24-Mar-2021   Hengqi Chen   Created this.\n */\n#include <argp.h>\n#include <errno.h>\n#include <signal.h>\n#include <time.h>\n#include <unistd.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"gethostlatency.h\"\n#include \"gethostlatency.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n#include \"uprobe_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t16\n#define PERF_POLL_TIMEOUT_MS\t100\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic pid_t target_pid = 0;\nstatic const char *libc_path = NULL;\nstatic bool verbose = false;\n\nconst char *argp_program_version = \"gethostlatency 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Show latency for getaddrinfo/gethostbyname[2] calls.\\n\"\n\"\\n\"\n\"USAGE: gethostlatency [-h] [-p PID] [-l LIBC]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    gethostlatency             # time getaddrinfo/gethostbyname[2] calls\\n\"\n\"    gethostlatency -p 1216     # only trace PID 1216\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"libc\", 'l', \"LIBC\", 0, \"Specify which libc.so to use\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tlong pid;\n\n\tswitch (key) {\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\twarn(\"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\ttarget_pid = pid;\n\t\tbreak;\n\tcase 'l':\n\t\tlibc_path = strdup(arg);\n\t\tif (access(libc_path, F_OK)) {\n\t\t\twarn(\"Invalid libc: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tstruct event e;\n\tchar ts[16];\n\n\tif (data_sz < sizeof(e)) {\n\t\tprintf(\"Error: packet too small\\n\");\n\t\treturn;\n\t}\n\t/* Copy data as alignment in the perf buffer isn't guaranteed. */\n\tmemcpy(&e, data, sizeof(e));\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\tprintf(\"%-8s %-7d %-16s %-10.3f %-s\\n\",\n\t       ts, e.pid, e.comm, (double)e.time/1000000, e.host);\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\twarn(\"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nstatic int get_libc_path(char *path)\n{\n\tchar proc_path[PATH_MAX + 32] = {};\n\tchar buf[PATH_MAX] = {};\n\tchar *filename;\n\tfloat version;\n\tFILE *f;\n\n\tif (libc_path) {\n\t\tmemcpy(path, libc_path, strlen(libc_path));\n\t\treturn 0;\n\t}\n\n\tif (target_pid == 0) {\n\t\tf = fopen(\"/proc/self/maps\", \"r\");\n\t} else {\n\t\tsnprintf(buf, sizeof(buf), \"/proc/%d/maps\", target_pid);\n\t\tf = fopen(buf, \"r\");\n\t}\n\tif (!f)\n\t\treturn -errno;\n\n\twhile (fscanf(f, \"%*x-%*x %*s %*s %*s %*s %[^\\n]\\n\", buf) != EOF) {\n\t\tif (strchr(buf, '/') != buf)\n\t\t\tcontinue;\n\t\tfilename = strrchr(buf, '/') + 1;\n\t\tif (sscanf(filename, \"libc-%f.so\", &version) == 1 ||\n\t\t    sscanf(filename, \"libc.so.%f\", &version) == 1) {\n\t\t\tif (target_pid == 0) {\n\t\t\t\tmemcpy(path, buf, strlen(buf));\n\t\t\t} else {\n\t\t\t\tsnprintf(proc_path, sizeof(proc_path), \"/proc/%d/root%s\", target_pid, buf);\n\t\t\t\tmemcpy(path, proc_path, strlen(proc_path));\n\t\t\t}\n\t\t\tfclose(f);\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\tfclose(f);\n\treturn -1;\n}\n\nstatic int attach_uprobes(struct gethostlatency_bpf *obj, struct bpf_link *links[])\n{\n\tint err;\n\tchar libc_path[PATH_MAX] = {};\n\toff_t func_off;\n\n\terr = get_libc_path(libc_path);\n\tif (err) {\n\t\twarn(\"could not find libc.so\\n\");\n\t\treturn -1;\n\t}\n\n\tfunc_off = get_elf_func_offset(libc_path, \"getaddrinfo\");\n\tif (func_off < 0) {\n\t\twarn(\"could not find getaddrinfo in %s\\n\", libc_path);\n\t\treturn -1;\n\t}\n\tlinks[0] = bpf_program__attach_uprobe(obj->progs.handle_entry, false,\n\t\t\t\t\t      target_pid ?: -1, libc_path, func_off);\n\tif (!links[0]) {\n\t\twarn(\"failed to attach getaddrinfo: %d\\n\", -errno);\n\t\treturn -1;\n\t}\n\tlinks[1] = bpf_program__attach_uprobe(obj->progs.handle_return, true,\n\t\t\t\t\t      target_pid ?: -1, libc_path, func_off);\n\tif (!links[1]) {\n\t\twarn(\"failed to attach getaddrinfo: %d\\n\", -errno);\n\t\treturn -1;\n\t}\n\n\tfunc_off = get_elf_func_offset(libc_path, \"gethostbyname\");\n\tif (func_off < 0) {\n\t\twarn(\"could not find gethostbyname in %s\\n\", libc_path);\n\t\treturn -1;\n\t}\n\tlinks[2] = bpf_program__attach_uprobe(obj->progs.handle_entry, false,\n\t\t\t\t\t      target_pid ?: -1, libc_path, func_off);\n\tif (!links[2]) {\n\t\twarn(\"failed to attach gethostbyname: %d\\n\", -errno);\n\t\treturn -1;\n\t}\n\tlinks[3] = bpf_program__attach_uprobe(obj->progs.handle_return, true,\n\t\t\t\t\t      target_pid ?: -1, libc_path, func_off);\n\tif (!links[3]) {\n\t\twarn(\"failed to attach gethostbyname: %d\\n\", -errno);\n\t\treturn -1;\n\t}\n\n\tfunc_off = get_elf_func_offset(libc_path, \"gethostbyname2\");\n\tif (func_off < 0) {\n\t\twarn(\"could not find gethostbyname2 in %s\\n\", libc_path);\n\t\treturn -1;\n\t}\n\tlinks[4] = bpf_program__attach_uprobe(obj->progs.handle_entry, false,\n\t\t\t\t\t      target_pid ?: -1, libc_path, func_off);\n\tif (!links[4]) {\n\t\twarn(\"failed to attach gethostbyname2: %d\\n\", -errno);\n\t\treturn -1;\n\t}\n\tlinks[5] = bpf_program__attach_uprobe(obj->progs.handle_return, true,\n\t\t\t\t\t      target_pid ?: -1, libc_path, func_off);\n\tif (!links[5]) {\n\t\twarn(\"failed to attach gethostbyname2: %d\\n\", -errno);\n\t\treturn -1;\n\t}\n\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct bpf_link *links[6] = {};\n\tstruct gethostlatency_bpf *obj;\n\tint i, err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = gethostlatency_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tobj->rodata->target_pid = target_pid;\n\n\terr = gethostlatency_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = attach_uprobes(obj, links);\n\tif (err)\n\t\tgoto cleanup;\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\twarn(\"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"%-8s %-7s %-16s %-10s %-s\\n\",\n\t       \"TIME\", \"PID\", \"COMM\", \"LATms\", \"HOST\");\n\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\twarn(\"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\tfor (i = 0; i < 6; i++)\n\t\tbpf_link__destroy(links[i]);\n\tgethostlatency_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/gethostlatency.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __GETHOSTLATENCY_H\n#define __GETHOSTLATENCY_H\n\n#define TASK_COMM_LEN\t16\n#define HOST_LEN\t80\n\nstruct event {\n\t__u64 time;\n\t__u32 pid;\n\tchar comm[TASK_COMM_LEN];\n\tchar host[HOST_LEN];\n};\n\n#endif /* __GETHOSTLATENCY_H */\n"
  },
  {
    "path": "libbpf-tools/hardirqs.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"hardirqs.h\"\n#include \"bits.bpf.h\"\n#include \"maps.bpf.h\"\n\n#define MAX_ENTRIES\t256\n\nconst volatile bool filter_cg = false;\nconst volatile bool targ_dist = false;\nconst volatile bool targ_ns = false;\nconst volatile bool cpu = false;\nconst volatile int targ_cpu = -1;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERCPU_ARRAY);\n\t__uint(max_entries, 1);\n\t__type(key, u32);\n\t__type(value, u64);\n} start SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct irq_key);\n\t__type(value, struct info);\n} infos SEC(\".maps\");\n\nstatic struct info zero;\n\nstatic __always_inline bool is_target_cpu() {\n\tif (targ_cpu < 0)\n\t\treturn true;\n\n\treturn targ_cpu == bpf_get_smp_processor_id();\n}\n\nstatic int handle_entry(int irq, struct irqaction *action)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\tif (!is_target_cpu())\n\t\treturn 0;\n\n\tu64 ts = bpf_ktime_get_ns();\n\tu32 key = 0;\n\n\tbpf_map_update_elem(&start, &key, &ts, BPF_ANY);\n\n\treturn 0;\n}\n\nstatic int handle_exit(int irq, struct irqaction *action)\n{\n\tstruct irq_key ikey = {};\n\tstruct info *info;\n\tu32 key = 0;\n\tu64 delta;\n\tu64 *tsp;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tif (!is_target_cpu())\n\t\treturn 0;\n\n\ttsp = bpf_map_lookup_elem(&start, &key);\n\tif (!tsp)\n\t\treturn 0;\n\n\tdelta = bpf_ktime_get_ns() - *tsp;\n\tif (!targ_ns)\n\t\tdelta /= 1000U;\n\n\tbpf_probe_read_kernel_str(&ikey.name, sizeof(ikey.name), BPF_CORE_READ(action, name));\n\tif (cpu)\n\t\tikey.cpu = bpf_get_smp_processor_id();\n\tinfo = bpf_map_lookup_or_try_init(&infos, &ikey, &zero);\n\tif (!info)\n\t\treturn 0;\n\n\tinfo->count += 1;\n\n\tif (!targ_dist) {\n\t\tinfo->total_time += delta;\n\t\tif (delta > info->max_time)\n\t\t\tinfo->max_time = delta;\n\t} else {\n\t\tu64 slot;\n\n\t\tslot = log2l(delta);\n\t\tif (slot >= MAX_SLOTS)\n\t\t\tslot = MAX_SLOTS - 1;\n\t\tinfo->slots[slot]++;\n\t}\n\n\treturn 0;\n}\n\nSEC(\"tp_btf/irq_handler_entry\")\nint BPF_PROG(irq_handler_entry_btf, int irq, struct irqaction *action)\n{\n\treturn handle_entry(irq, action);\n}\n\nSEC(\"tp_btf/irq_handler_exit\")\nint BPF_PROG(irq_handler_exit_btf, int irq, struct irqaction *action)\n{\n\treturn handle_exit(irq, action);\n}\n\nSEC(\"raw_tp/irq_handler_entry\")\nint BPF_PROG(irq_handler_entry, int irq, struct irqaction *action)\n{\n\treturn handle_entry(irq, action);\n}\n\nSEC(\"raw_tp/irq_handler_exit\")\nint BPF_PROG(irq_handler_exit, int irq, struct irqaction *action)\n{\n\treturn handle_exit(irq, action);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/hardirqs.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on hardirq(8) from BCC by Brendan Gregg.\n// 31-Aug-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"hardirqs.h\"\n#include \"hardirqs.skel.h\"\n#include \"trace_helpers.h\"\n\nstruct env {\n\tbool cpu;\n\tbool distributed;\n\tbool nanoseconds;\n\ttime_t interval;\n\tint times;\n\tbool timestamp;\n\tbool verbose;\n\tchar *cgroupspath;\n\tbool cg;\n\tint targ_cpu;\n} env = {\n\t.interval = 99999999,\n\t.times = 99999999,\n\t.targ_cpu = -1,\n};\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"hardirqs 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize hard irq event time as histograms.\\n\"\n\"\\n\"\n\"USAGE: hardirqs [--help] [-T] [-N] [-d] [-C] [interval] [count] [-c CG]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    hardirqs            # sum hard irq event time\\n\"\n\"    hardirqs -d         # show hard irq event time as histograms\\n\"\n\"    hardirqs 1 10       # print 1 second summaries, 10 times\\n\"\n\"    hardirqs -c CG      # Trace process under cgroupsPath CG\\n\"\n\"    hardirqs --cpu 1    # only stat irq on cpu 1\\n\"\n\"    hardirqs -C         # display separately by CPU\\n\"\n\"    hardirqs -NT 1      # 1s summaries, nanoseconds, and timestamps\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"CPU\", 'C', NULL, 0, \"Display separately by CPU\", 0 },\n\t{ \"distributed\", 'd', NULL, 0, \"Show distributions as histograms\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ \"cpu\", 's', \"CPU\", 0, \"Only stat irq on selected cpu\", 0 },\n\t{ \"timestamp\", 'T', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"nanoseconds\", 'N', NULL, 0, \"Output in nanoseconds\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'd':\n\t\tenv.distributed = true;\n\t\tbreak;\n\tcase 'C':\n\t\tenv.cpu = true;\n\t\tbreak;\n\tcase 's':\n\t\terrno = 0;\n\t\tenv.targ_cpu = atoi(arg);\n\t\tif (errno || env.targ_cpu < 0) {\n\t\t\tfprintf(stderr, \"invalid cpu: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase 'N':\n\t\tenv.nanoseconds = true;\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tenv.interval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tenv.times = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid times\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic int print_map(struct bpf_map *map)\n{\n\tstruct irq_key lookup_key = {}, next_key;\n\tstruct info info;\n\tconst char *units = env.nanoseconds ? \"nsecs\" : \"usecs\";\n\tint fd, err;\n\n\tif (!env.distributed) {\n\t\tprintf(\"%-33s %11s %6s%5s %4s%5s\", \"HARDIRQ\", \"TOTAL_count\",\n\t\t\t\"TOTAL_\", units, \"MAX_\", units);\n\t\tif (env.cpu)\n\t\t\tprintf(\" %3s\\n\", \"CPU\");\n\t\telse\n\t\t\tprintf(\"\\n\");\n\t}\n\n\tfd = bpf_map__fd(map);\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &info);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup infos: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tif (!env.distributed)\n\t\t\tif (env.cpu)\n\t\t\t\tprintf(\"%-33s %11llu %11llu %9llu %3u\\n\", next_key.name,\n\t\t\t\t       info.count, info.total_time, info.max_time, next_key.cpu);\n\t\t\telse\n\t\t\t\tprintf(\"%-33s %11llu %11llu %9llu\\n\", next_key.name,\n\t\t\t\t       info.count, info.total_time, info.max_time);\n\t\telse {\n\t\t\tif (env.cpu)\n\t\t\t\tprintf(\"cpu = %u \", next_key.cpu);\n\t\t\tprintf(\"hardirq = %s\\n\", next_key.name);\n\t\t\tprint_log2_hist(info.slots, MAX_SLOTS, units);\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n\n\tmemset(&lookup_key, 0, sizeof(lookup_key));\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_delete_elem(fd, &next_key);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to cleanup infos: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct hardirqs_bpf *obj;\n\tchar ts[32];\n\tint err;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = hardirqs_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tif (probe_tp_btf(\"irq_handler_entry\")) {\n\t\tbpf_program__set_autoload(obj->progs.irq_handler_entry, false);\n\t\tbpf_program__set_autoload(obj->progs.irq_handler_exit, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.irq_handler_entry_btf, false);\n\t\tbpf_program__set_autoload(obj->progs.irq_handler_exit_btf, false);\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->filter_cg = env.cg;\n\tobj->rodata->cpu = env.cpu;\n\tobj->rodata->targ_cpu = env.targ_cpu;\n\tobj->rodata->targ_dist = env.distributed;\n\tobj->rodata->targ_ns = env.nanoseconds;\n\n\terr = hardirqs_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\terr = hardirqs_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\n\tprintf(\"Tracing hard irq event time... Hit Ctrl-C to end.\\n\");\n\n\t/* main: poll */\n\twhile (1) {\n\t\tsleep(env.interval);\n\t\tprintf(\"\\n\");\n\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\terr = print_map(obj->maps.infos);\n\t\tif (err)\n\t\t\tbreak;\n\n\t\tif (exiting || --env.times == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\thardirqs_bpf__destroy(obj);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/hardirqs.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __HARDIRQS_H\n#define __HARDIRQS_H\n\n#define MAX_SLOTS\t20\n\nstruct irq_key {\n\tchar name[32];\n\t__u32 cpu;\n};\n\nstruct info {\n\t__u64 count;\n\t__u64 total_time;\n\t__u64 max_time;\n\t__u32 slots[MAX_SLOTS];\n};\n\n#endif /* __HARDIRQS_H */\n"
  },
  {
    "path": "libbpf-tools/ioctl_names.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __IOCTL_NAMES_H\n#define __IOCTL_NAMES_H\n\nstatic const struct ioctl_name {\n\tconst char *name;\n\tunsigned long value;\n} ioctl_names[] = {\n\t/* generated from sockios.h by:\n\t * grep -E '#define SIO\\S*\\s*0x' sockios.h | awk '{print \"{\\\"\"$2\"\\\", \"$3\"},\"}'\n\t */\n\t{\"SIOCADDRT\", 0x890B},\n\t{\"SIOCDELRT\", 0x890C},\n\t{\"SIOCRTMSG\", 0x890D},\n\t{\"SIOCGIFNAME\", 0x8910},\n\t{\"SIOCSIFLINK\", 0x8911},\n\t{\"SIOCGIFCONF\", 0x8912},\n\t{\"SIOCGIFFLAGS\", 0x8913},\n\t{\"SIOCSIFFLAGS\", 0x8914},\n\t{\"SIOCGIFADDR\", 0x8915},\n\t{\"SIOCSIFADDR\", 0x8916},\n\t{\"SIOCGIFDSTADDR\", 0x8917},\n\t{\"SIOCSIFDSTADDR\", 0x8918},\n\t{\"SIOCGIFBRDADDR\", 0x8919},\n\t{\"SIOCSIFBRDADDR\", 0x891a},\n\t{\"SIOCGIFNETMASK\", 0x891b},\n\t{\"SIOCSIFNETMASK\", 0x891c},\n\t{\"SIOCGIFMETRIC\", 0x891d},\n\t{\"SIOCSIFMETRIC\", 0x891e},\n\t{\"SIOCGIFMEM\", 0x891f},\n\t{\"SIOCSIFMEM\", 0x8920},\n\t{\"SIOCGIFMTU\", 0x8921},\n\t{\"SIOCSIFMTU\", 0x8922},\n\t{\"SIOCSIFNAME\", 0x8923},\n\t{\"SIOCGIFENCAP\", 0x8925},\n\t{\"SIOCSIFENCAP\", 0x8926},\n\t{\"SIOCGIFHWADDR\", 0x8927},\n\t{\"SIOCGIFSLAVE\", 0x8929},\n\t{\"SIOCSIFSLAVE\", 0x8930},\n\t{\"SIOCADDMULTI\", 0x8931},\n\t{\"SIOCDELMULTI\", 0x8932},\n\t{\"SIOCGIFINDEX\", 0x8933},\n\t{\"SIOCSIFPFLAGS\", 0x8934},\n\t{\"SIOCGIFPFLAGS\", 0x8935},\n\t{\"SIOCDIFADDR\", 0x8936},\n\t{\"SIOCGIFCOUNT\", 0x8938},\n\t{\"SIOCGIFBR\", 0x8940},\n\t{\"SIOCSIFBR\", 0x8941},\n\t{\"SIOCGIFTXQLEN\", 0x8942},\n\t{\"SIOCSIFTXQLEN\", 0x8943},\n\t{\"SIOCETHTOOL\", 0x8946},\n\t{\"SIOCGMIIPHY\", 0x8947},\n\t{\"SIOCGMIIREG\", 0x8948},\n\t{\"SIOCSMIIREG\", 0x8949},\n\t{\"SIOCWANDEV\", 0x894A},\n\t{\"SIOCOUTQNSD\", 0x894B},\n\t{\"SIOCGSKNS\", 0x894C},\n\t{\"SIOCDARP\", 0x8953},\n\t{\"SIOCGARP\", 0x8954},\n\t{\"SIOCSARP\", 0x8955},\n\t{\"SIOCDRARP\", 0x8960},\n\t{\"SIOCGRARP\", 0x8961},\n\t{\"SIOCSRARP\", 0x8962},\n\t{\"SIOCGIFMAP\", 0x8970},\n\t{\"SIOCSIFMAP\", 0x8971},\n\t{\"SIOCADDDLCI\", 0x8980},\n\t{\"SIOCDELDLCI\", 0x8981},\n\t{\"SIOCGIFVLAN\", 0x8982},\n\t{\"SIOCSIFVLAN\", 0x8983},\n\t{\"SIOCBONDENSLAVE\", 0x8990},\n\t{\"SIOCBONDRELEASE\", 0x8991},\n\t{\"SIOCBONDSETHWADDR\", 0x8992},\n\t{\"SIOCBONDSLAVEINFOQUERY\", 0x8993},\n\t{\"SIOCBONDINFOQUERY\", 0x8994},\n\t{\"SIOCBONDCHANGEACTIVE\", 0x8995},\n\t{\"SIOCBRADDBR\", 0x89a0},\n\t{\"SIOCBRDELBR\", 0x89a1},\n\t{\"SIOCBRADDIF\", 0x89a2},\n\t{\"SIOCBRDELIF\", 0x89a3},\n\t{\"SIOCSHWTSTAMP\", 0x89b0},\n\t{\"SIOCGHWTSTAMP\", 0x89b1},\n\t{\"SIOCDEVPRIVATE\", 0x89F0},\n\t{\"SIOCPROTOPRIVATE\", 0x89E0},\n};\n#endif\n"
  },
  {
    "path": "libbpf-tools/javagc.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2022 Chen Tao */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/usdt.bpf.h>\n#include \"javagc.h\"\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 100);\n\t__type(key, uint32_t);\n\t__type(value, struct data_t);\n} data_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__type(key, int);\n\t__type(value, int);\n} perf_map SEC(\".maps\");\n\n__u32 time;\n\nstatic int gc_start(struct pt_regs *ctx)\n{\n\tstruct data_t data = {};\n\n\tdata.cpu = bpf_get_smp_processor_id();\n\tdata.pid = bpf_get_current_pid_tgid() >> 32;\n\tdata.ts = bpf_ktime_get_ns();\n\tbpf_map_update_elem(&data_map, &data.pid, &data, 0);\n\treturn 0;\n}\n\nstatic int gc_end(struct pt_regs *ctx)\n{\n\tstruct data_t data = {};\n\tstruct data_t *p;\n\t__u32 val;\n\n\tdata.cpu = bpf_get_smp_processor_id();\n\tdata.pid = bpf_get_current_pid_tgid() >> 32;\n\tdata.ts = bpf_ktime_get_ns();\n\tp = bpf_map_lookup_elem(&data_map, &data.pid);\n\tif (!p)\n\t\treturn 0;\n\n\tval = data.ts - p->ts;\n\tif (val > time) {\n\t\tdata.ts = val;\n\t\tbpf_perf_event_output(ctx, &perf_map, BPF_F_CURRENT_CPU, &data, sizeof(data));\n\t}\n\tbpf_map_delete_elem(&data_map, &data.pid);\n\treturn 0;\n}\n\nSEC(\"usdt\")\nint handle_gc_start(struct pt_regs *ctx)\n{\n\treturn gc_start(ctx);\n}\n\nSEC(\"usdt\")\nint handle_gc_end(struct pt_regs *ctx)\n{\n\treturn gc_end(ctx);\n}\n\nSEC(\"usdt\")\nint handle_mem_pool_gc_start(struct pt_regs *ctx)\n{\n\treturn gc_start(ctx);\n}\n\nSEC(\"usdt\")\nint handle_mem_pool_gc_end(struct pt_regs *ctx)\n{\n\treturn gc_end(ctx);\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/javagc.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/*\n * Copyright (c) 2022 Chen Tao\n * Based on ugc from BCC by Sasha Goldshtein\n * Create: Wed Jun 29 16:00:19 2022\n */\n#include <stdio.h>\n#include <ctype.h>\n#include <argp.h>\n#include <signal.h>\n#include <unistd.h>\n#include <time.h>\n#include <sys/resource.h>\n#include <bpf/libbpf.h>\n#include <errno.h>\n#include \"javagc.skel.h\"\n#include \"javagc.h\"\n#include \"trace_helpers.h\"\n\n#define BINARY_PATH_SIZE (256)\n#define PERF_BUFFER_PAGES (32)\n#define PERF_POLL_TIMEOUT_MS (200)\n\nstatic struct env {\n\tpid_t pid;\n\tint time;\n\tbool exiting;\n\tbool verbose;\n} env = {\n\t.pid = -1,\n\t.time = 1000,\n\t.exiting = false,\n\t.verbose = false,\n};\n\nconst char *argp_program_version = \"javagc 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\n\nconst char argp_program_doc[] =\n\"Monitor javagc time cost.\\n\"\n\"\\n\"\n\"USAGE: javagc [--help] [-p PID] [-t GC time]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"javagc -p 185         # trace PID 185 only\\n\"\n\"javagc -p 185 -t 100  # trace PID 185 java gc time beyond 100us\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Trace this PID only\", 0 },\n\t{ \"time\", 't', \"TIME\", 0, \"Java gc time\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tint err = 0;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tenv.pid = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\terr = errno;\n\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 't':\n\t\terrno = 0;\n\t\tenv.time = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\terr = errno;\n\t\t\tfprintf(stderr, \"invalid time: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn err;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && ! env.verbose)\n\t\treturn 0;\n\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tstruct data_t *e = (struct data_t *)data;\n\tchar ts[16];\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\tprintf(\"%-8s %-7d %-7d %-7lld\\n\", ts, e->cpu, e->pid, e->ts/1000);\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 data_sz)\n{\n\tprintf(\"lost data\\n\");\n}\n\nstatic void sig_handler(int sig)\n{\n\tenv.exiting = true;\n}\n\nstatic int get_jvmso_path(char *path)\n{\n\tchar mode[16], line[128], buf[64];\n\tsize_t seg_start, seg_end, seg_off;\n\tFILE *f;\n\tint i = 0;\n\tbool found = false;\n\n\tif (env.pid == -1) {\n\t\tfprintf(stderr, \"not specify pid, see --pid.\\n\");\n\t\treturn -1;\n\t}\n\n\tsprintf(buf, \"/proc/%d/maps\", env.pid);\n\tf = fopen(buf, \"r\");\n\tif (!f) {\n\t\tfprintf(stderr, \"open %s failed: %m\\n\", buf);\n\t\treturn -1;\n\t}\n\n\twhile (fscanf(f, \"%zx-%zx %s %zx %*s %*d%[^\\n]\\n\",\n\t\t\t&seg_start, &seg_end, mode, &seg_off, line) == 5) {\n\t\ti = 0;\n\t\twhile (isblank(line[i]))\n\t\t\ti++;\n\t\tif (strstr(line + i, \"libjvm.so\")) {\n\t\t\tfound = true;\n\t\t\tstrcpy(path, line + i);\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tfclose(f);\n\n\tif (!found) {\n\t\tfprintf(stderr, \"Not found libjvm.so.\\n\");\n\t\treturn -ENOENT;\n\t}\n\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tchar binary_path[BINARY_PATH_SIZE] = {0};\n\tstruct javagc_bpf *skel = NULL;\n\tint err;\n\tstruct perf_buffer *pb = NULL;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\t/*\n\t* libbpf will auto load the so if it in /usr/lib64 /usr/lib etc,\n\t* but the jvmso not there.\n\t*/\n\terr = get_jvmso_path(binary_path);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tskel = javagc_bpf__open();\n\tif (!skel) {\n\t\tfprintf(stderr, \"Failed to open BPF skeleton\\n\");\n\t\treturn 1;\n\t}\n\tskel->bss->time = env.time * 1000;\n\n\terr = javagc_bpf__load(skel);\n\tif (err) {\n\t\tfprintf(stderr, \"Failed to load and verify BPF skeleton\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tskel->links.handle_mem_pool_gc_start = bpf_program__attach_usdt(skel->progs.handle_gc_start, env.pid,\n\t\t\t\t\t\t\t\t\tbinary_path, \"hotspot\", \"mem__pool__gc__begin\", NULL);\n\tif (!skel->links.handle_mem_pool_gc_start) {\n\t\terr = errno;\n\t\tfprintf(stderr, \"attach usdt mem__pool__gc__begin failed: %s\\n\", strerror(err));\n\t\tgoto cleanup;\n\t}\n\n\tskel->links.handle_mem_pool_gc_end = bpf_program__attach_usdt(skel->progs.handle_gc_end, env.pid,\n\t\t\t\t\t\t\t\tbinary_path, \"hotspot\", \"mem__pool__gc__end\", NULL);\n\tif (!skel->links.handle_mem_pool_gc_end) {\n\t\terr = errno;\n\t\tfprintf(stderr, \"attach usdt mem__pool__gc__end failed: %s\\n\", strerror(err));\n\t\tgoto cleanup;\n\t}\n\n\tskel->links.handle_gc_start = bpf_program__attach_usdt(skel->progs.handle_gc_start, env.pid,\n\t\t\t\t\t\t\t\t\tbinary_path, \"hotspot\", \"gc__begin\", NULL);\n\tif (!skel->links.handle_gc_start) {\n\t\terr = errno;\n\t\tfprintf(stderr, \"attach usdt gc__begin failed: %s\\n\", strerror(err));\n\t\tgoto cleanup;\n\t}\n\n\tskel->links.handle_gc_end = bpf_program__attach_usdt(skel->progs.handle_gc_end, env.pid,\n\t\t\t\tbinary_path, \"hotspot\", \"gc__end\", NULL);\n\tif (!skel->links.handle_gc_end) {\n\t\terr = errno;\n\t\tfprintf(stderr, \"attach usdt gc__end failed: %s\\n\", strerror(err));\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\tprintf(\"Tracing javagc time... Hit Ctrl-C to end.\\n\");\n\tprintf(\"%-8s %-7s %-7s %-7s\\n\",\n\t       \"TIME\", \"CPU\", \"PID\", \"GC TIME\");\n\n\tpb = perf_buffer__new(bpf_map__fd(skel->maps.perf_map), PERF_BUFFER_PAGES,\n\t\t\thandle_event, handle_lost_events, NULL, NULL);\n\twhile (!env.exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\tjavagc_bpf__destroy(skel);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/javagc.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2022 Chen Tao */\n#ifndef __JAVAGC_H\n#define __JAVAGC_H\n\nstruct data_t {\n    __u32 cpu;\n    __u32 pid;\n    __u64 ts;\n};\n\n#endif /* __JAVAGC_H */\n"
  },
  {
    "path": "libbpf-tools/kernel.config",
    "content": "#\n# Automatically generated file; DO NOT EDIT.\n# Linux/x86 5.5.0 Kernel Configuration\n#\n\n#\n# Compiler: gcc (GCC) 7.x 20200121 (Facebook) 8.x\n#\nCONFIG_CC_IS_GCC=y\nCONFIG_GCC_VERSION=70300\nCONFIG_CLANG_VERSION=0\nCONFIG_CC_CAN_LINK=y\nCONFIG_CC_HAS_ASM_GOTO=y\nCONFIG_CC_HAS_ASM_INLINE=y\nCONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y\nCONFIG_IRQ_WORK=y\nCONFIG_BUILDTIME_EXTABLE_SORT=y\nCONFIG_THREAD_INFO_IN_TASK=y\n\n#\n# General setup\n#\nCONFIG_INIT_ENV_ARG_LIMIT=32\n# CONFIG_COMPILE_TEST is not set\nCONFIG_LOCALVERSION=\"\"\n# CONFIG_LOCALVERSION_AUTO is not set\nCONFIG_BUILD_SALT=\"\"\nCONFIG_HAVE_KERNEL_GZIP=y\nCONFIG_HAVE_KERNEL_BZIP2=y\nCONFIG_HAVE_KERNEL_LZMA=y\nCONFIG_HAVE_KERNEL_XZ=y\nCONFIG_HAVE_KERNEL_LZO=y\nCONFIG_HAVE_KERNEL_LZ4=y\nCONFIG_KERNEL_GZIP=y\n# CONFIG_KERNEL_BZIP2 is not set\n# CONFIG_KERNEL_LZMA is not set\n# CONFIG_KERNEL_XZ is not set\n# CONFIG_KERNEL_LZO is not set\n# CONFIG_KERNEL_LZ4 is not set\nCONFIG_DEFAULT_HOSTNAME=\"(none)\"\nCONFIG_SWAP=y\nCONFIG_SYSVIPC=y\nCONFIG_SYSVIPC_SYSCTL=y\nCONFIG_POSIX_MQUEUE=y\nCONFIG_POSIX_MQUEUE_SYSCTL=y\nCONFIG_CROSS_MEMORY_ATTACH=y\nCONFIG_USELIB=y\nCONFIG_AUDIT=y\nCONFIG_HAVE_ARCH_AUDITSYSCALL=y\nCONFIG_AUDITSYSCALL=y\n\n#\n# IRQ subsystem\n#\nCONFIG_GENERIC_IRQ_PROBE=y\nCONFIG_GENERIC_IRQ_SHOW=y\nCONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y\nCONFIG_GENERIC_PENDING_IRQ=y\nCONFIG_GENERIC_IRQ_MIGRATION=y\nCONFIG_IRQ_DOMAIN=y\nCONFIG_IRQ_DOMAIN_HIERARCHY=y\nCONFIG_GENERIC_MSI_IRQ=y\nCONFIG_GENERIC_MSI_IRQ_DOMAIN=y\nCONFIG_IRQ_MSI_IOMMU=y\nCONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y\nCONFIG_GENERIC_IRQ_RESERVATION_MODE=y\nCONFIG_IRQ_FORCED_THREADING=y\nCONFIG_SPARSE_IRQ=y\n# CONFIG_GENERIC_IRQ_DEBUGFS is not set\n# end of IRQ subsystem\n\nCONFIG_CLOCKSOURCE_WATCHDOG=y\nCONFIG_ARCH_CLOCKSOURCE_DATA=y\nCONFIG_ARCH_CLOCKSOURCE_INIT=y\nCONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y\nCONFIG_GENERIC_TIME_VSYSCALL=y\nCONFIG_GENERIC_CLOCKEVENTS=y\nCONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y\nCONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y\nCONFIG_GENERIC_CMOS_UPDATE=y\n\n#\n# Timers subsystem\n#\nCONFIG_TICK_ONESHOT=y\nCONFIG_NO_HZ_COMMON=y\n# CONFIG_HZ_PERIODIC is not set\nCONFIG_NO_HZ_IDLE=y\n# CONFIG_NO_HZ_FULL is not set\nCONFIG_NO_HZ=y\nCONFIG_HIGH_RES_TIMERS=y\n# end of Timers subsystem\n\n# CONFIG_PREEMPT_NONE is not set\nCONFIG_PREEMPT_VOLUNTARY=y\n# CONFIG_PREEMPT is not set\n\n#\n# CPU/Task time and stats accounting\n#\nCONFIG_TICK_CPU_ACCOUNTING=y\n# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set\n# CONFIG_IRQ_TIME_ACCOUNTING is not set\nCONFIG_BSD_PROCESS_ACCT=y\n# CONFIG_BSD_PROCESS_ACCT_V3 is not set\nCONFIG_TASKSTATS=y\nCONFIG_TASK_DELAY_ACCT=y\nCONFIG_TASK_XACCT=y\nCONFIG_TASK_IO_ACCOUNTING=y\n# CONFIG_PSI is not set\n# end of CPU/Task time and stats accounting\n\nCONFIG_CPU_ISOLATION=y\n\n#\n# RCU Subsystem\n#\nCONFIG_TREE_RCU=y\n# CONFIG_RCU_EXPERT is not set\nCONFIG_SRCU=y\nCONFIG_TREE_SRCU=y\nCONFIG_RCU_STALL_COMMON=y\nCONFIG_RCU_NEED_SEGCBLIST=y\n# end of RCU Subsystem\n\n# CONFIG_IKCONFIG is not set\n# CONFIG_IKHEADERS is not set\nCONFIG_LOG_BUF_SHIFT=18\nCONFIG_LOG_CPU_MAX_BUF_SHIFT=12\nCONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13\nCONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y\n\n#\n# Scheduler features\n#\n# end of Scheduler features\n\nCONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y\nCONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y\nCONFIG_CC_HAS_INT128=y\nCONFIG_ARCH_SUPPORTS_INT128=y\n# CONFIG_NUMA_BALANCING is not set\nCONFIG_CGROUPS=y\n# CONFIG_MEMCG is not set\n# CONFIG_BLK_CGROUP is not set\nCONFIG_CGROUP_SCHED=y\nCONFIG_FAIR_GROUP_SCHED=y\n# CONFIG_CFS_BANDWIDTH is not set\n# CONFIG_RT_GROUP_SCHED is not set\n# CONFIG_CGROUP_PIDS is not set\n# CONFIG_CGROUP_RDMA is not set\nCONFIG_CGROUP_FREEZER=y\n# CONFIG_CGROUP_HUGETLB is not set\nCONFIG_CPUSETS=y\nCONFIG_PROC_PID_CPUSET=y\n# CONFIG_CGROUP_DEVICE is not set\nCONFIG_CGROUP_CPUACCT=y\n# CONFIG_CGROUP_PERF is not set\nCONFIG_CGROUP_BPF=y\n# CONFIG_CGROUP_DEBUG is not set\nCONFIG_SOCK_CGROUP_DATA=y\nCONFIG_NAMESPACES=y\nCONFIG_UTS_NS=y\nCONFIG_IPC_NS=y\n# CONFIG_USER_NS is not set\nCONFIG_PID_NS=y\nCONFIG_NET_NS=y\n# CONFIG_CHECKPOINT_RESTORE is not set\n# CONFIG_SCHED_AUTOGROUP is not set\n# CONFIG_SYSFS_DEPRECATED is not set\nCONFIG_RELAY=y\nCONFIG_BLK_DEV_INITRD=y\nCONFIG_INITRAMFS_SOURCE=\"\"\nCONFIG_RD_GZIP=y\nCONFIG_RD_BZIP2=y\nCONFIG_RD_LZMA=y\nCONFIG_RD_XZ=y\nCONFIG_RD_LZO=y\nCONFIG_RD_LZ4=y\nCONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y\n# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set\nCONFIG_SYSCTL=y\nCONFIG_HAVE_UID16=y\nCONFIG_SYSCTL_EXCEPTION_TRACE=y\nCONFIG_HAVE_PCSPKR_PLATFORM=y\nCONFIG_BPF=y\n# CONFIG_EXPERT is not set\nCONFIG_UID16=y\nCONFIG_MULTIUSER=y\nCONFIG_SGETMASK_SYSCALL=y\nCONFIG_SYSFS_SYSCALL=y\nCONFIG_FHANDLE=y\nCONFIG_POSIX_TIMERS=y\nCONFIG_PRINTK=y\nCONFIG_PRINTK_NMI=y\nCONFIG_BUG=y\nCONFIG_ELF_CORE=y\nCONFIG_PCSPKR_PLATFORM=y\nCONFIG_BASE_FULL=y\nCONFIG_FUTEX=y\nCONFIG_FUTEX_PI=y\nCONFIG_EPOLL=y\nCONFIG_SIGNALFD=y\nCONFIG_TIMERFD=y\nCONFIG_EVENTFD=y\nCONFIG_SHMEM=y\nCONFIG_AIO=y\nCONFIG_IO_URING=y\nCONFIG_ADVISE_SYSCALLS=y\nCONFIG_MEMBARRIER=y\nCONFIG_KALLSYMS=y\n# CONFIG_KALLSYMS_ALL is not set\nCONFIG_KALLSYMS_ABSOLUTE_PERCPU=y\nCONFIG_KALLSYMS_BASE_RELATIVE=y\nCONFIG_BPF_SYSCALL=y\n# CONFIG_BPF_JIT_ALWAYS_ON is not set\n# CONFIG_USERFAULTFD is not set\nCONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y\nCONFIG_RSEQ=y\n# CONFIG_EMBEDDED is not set\nCONFIG_HAVE_PERF_EVENTS=y\n\n#\n# Kernel Performance Events And Counters\n#\nCONFIG_PERF_EVENTS=y\n# CONFIG_DEBUG_PERF_USE_VMALLOC is not set\n# end of Kernel Performance Events And Counters\n\nCONFIG_VM_EVENT_COUNTERS=y\nCONFIG_SLUB_DEBUG=y\n# CONFIG_COMPAT_BRK is not set\n# CONFIG_SLAB is not set\nCONFIG_SLUB=y\nCONFIG_SLAB_MERGE_DEFAULT=y\n# CONFIG_SLAB_FREELIST_RANDOM is not set\n# CONFIG_SLAB_FREELIST_HARDENED is not set\n# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set\nCONFIG_SLUB_CPU_PARTIAL=y\nCONFIG_SYSTEM_DATA_VERIFICATION=y\nCONFIG_PROFILING=y\nCONFIG_TRACEPOINTS=y\n# end of General setup\n\nCONFIG_64BIT=y\nCONFIG_X86_64=y\nCONFIG_X86=y\nCONFIG_INSTRUCTION_DECODER=y\nCONFIG_OUTPUT_FORMAT=\"elf64-x86-64\"\nCONFIG_ARCH_DEFCONFIG=\"arch/x86/configs/x86_64_defconfig\"\nCONFIG_LOCKDEP_SUPPORT=y\nCONFIG_STACKTRACE_SUPPORT=y\nCONFIG_MMU=y\nCONFIG_ARCH_MMAP_RND_BITS_MIN=28\nCONFIG_ARCH_MMAP_RND_BITS_MAX=32\nCONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8\nCONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16\nCONFIG_GENERIC_ISA_DMA=y\nCONFIG_GENERIC_BUG=y\nCONFIG_GENERIC_BUG_RELATIVE_POINTERS=y\nCONFIG_ARCH_MAY_HAVE_PC_FDC=y\nCONFIG_GENERIC_CALIBRATE_DELAY=y\nCONFIG_ARCH_HAS_CPU_RELAX=y\nCONFIG_ARCH_HAS_CACHE_LINE_SIZE=y\nCONFIG_ARCH_HAS_FILTER_PGPROT=y\nCONFIG_HAVE_SETUP_PER_CPU_AREA=y\nCONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y\nCONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y\nCONFIG_ARCH_HIBERNATION_POSSIBLE=y\nCONFIG_ARCH_SUSPEND_POSSIBLE=y\nCONFIG_ARCH_WANT_GENERAL_HUGETLB=y\nCONFIG_ZONE_DMA32=y\nCONFIG_AUDIT_ARCH=y\nCONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y\nCONFIG_HAVE_INTEL_TXT=y\nCONFIG_X86_64_SMP=y\nCONFIG_ARCH_SUPPORTS_UPROBES=y\nCONFIG_FIX_EARLYCON_MEM=y\nCONFIG_PGTABLE_LEVELS=5\nCONFIG_CC_HAS_SANE_STACKPROTECTOR=y\n\n#\n# Processor type and features\n#\nCONFIG_ZONE_DMA=y\nCONFIG_SMP=y\nCONFIG_X86_FEATURE_NAMES=y\nCONFIG_X86_MPPARSE=y\n# CONFIG_GOLDFISH is not set\nCONFIG_RETPOLINE=y\n# CONFIG_X86_CPU_RESCTRL is not set\nCONFIG_X86_EXTENDED_PLATFORM=y\n# CONFIG_X86_VSMP is not set\n# CONFIG_X86_GOLDFISH is not set\n# CONFIG_X86_INTEL_MID is not set\n# CONFIG_X86_INTEL_LPSS is not set\n# CONFIG_X86_AMD_PLATFORM_DEVICE is not set\nCONFIG_IOSF_MBI=y\n# CONFIG_IOSF_MBI_DEBUG is not set\nCONFIG_X86_SUPPORTS_MEMORY_FAILURE=y\nCONFIG_SCHED_OMIT_FRAME_POINTER=y\n# CONFIG_HYPERVISOR_GUEST is not set\n# CONFIG_MK8 is not set\n# CONFIG_MPSC is not set\n# CONFIG_MCORE2 is not set\n# CONFIG_MATOM is not set\nCONFIG_GENERIC_CPU=y\nCONFIG_X86_INTERNODE_CACHE_SHIFT=6\nCONFIG_X86_L1_CACHE_SHIFT=6\nCONFIG_X86_TSC=y\nCONFIG_X86_CMPXCHG64=y\nCONFIG_X86_CMOV=y\nCONFIG_X86_MINIMUM_CPU_FAMILY=64\nCONFIG_X86_DEBUGCTLMSR=y\nCONFIG_CPU_SUP_INTEL=y\nCONFIG_CPU_SUP_AMD=y\nCONFIG_CPU_SUP_HYGON=y\nCONFIG_CPU_SUP_CENTAUR=y\nCONFIG_CPU_SUP_ZHAOXIN=y\nCONFIG_HPET_TIMER=y\nCONFIG_HPET_EMULATE_RTC=y\nCONFIG_DMI=y\n# CONFIG_GART_IOMMU is not set\n# CONFIG_MAXSMP is not set\nCONFIG_NR_CPUS_RANGE_BEGIN=2\nCONFIG_NR_CPUS_RANGE_END=512\nCONFIG_NR_CPUS_DEFAULT=64\nCONFIG_NR_CPUS=64\nCONFIG_SCHED_SMT=y\nCONFIG_SCHED_MC=y\nCONFIG_SCHED_MC_PRIO=y\nCONFIG_X86_LOCAL_APIC=y\nCONFIG_X86_IO_APIC=y\nCONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y\nCONFIG_X86_MCE=y\n# CONFIG_X86_MCELOG_LEGACY is not set\nCONFIG_X86_MCE_INTEL=y\nCONFIG_X86_MCE_AMD=y\nCONFIG_X86_MCE_THRESHOLD=y\n# CONFIG_X86_MCE_INJECT is not set\nCONFIG_X86_THERMAL_VECTOR=y\n\n#\n# Performance monitoring\n#\nCONFIG_PERF_EVENTS_INTEL_UNCORE=y\nCONFIG_PERF_EVENTS_INTEL_RAPL=y\nCONFIG_PERF_EVENTS_INTEL_CSTATE=y\n# CONFIG_PERF_EVENTS_AMD_POWER is not set\n# end of Performance monitoring\n\nCONFIG_X86_16BIT=y\nCONFIG_X86_ESPFIX64=y\nCONFIG_X86_VSYSCALL_EMULATION=y\nCONFIG_X86_IOPL_IOPERM=y\n# CONFIG_I8K is not set\nCONFIG_MICROCODE=y\nCONFIG_MICROCODE_INTEL=y\nCONFIG_MICROCODE_AMD=y\n# CONFIG_MICROCODE_OLD_INTERFACE is not set\nCONFIG_X86_MSR=y\nCONFIG_X86_CPUID=y\nCONFIG_X86_5LEVEL=y\nCONFIG_X86_DIRECT_GBPAGES=y\n# CONFIG_X86_CPA_STATISTICS is not set\n# CONFIG_AMD_MEM_ENCRYPT is not set\nCONFIG_NUMA=y\nCONFIG_AMD_NUMA=y\nCONFIG_X86_64_ACPI_NUMA=y\nCONFIG_NODES_SPAN_OTHER_NODES=y\n# CONFIG_NUMA_EMU is not set\nCONFIG_NODES_SHIFT=6\nCONFIG_ARCH_SPARSEMEM_ENABLE=y\nCONFIG_ARCH_SPARSEMEM_DEFAULT=y\nCONFIG_ARCH_SELECT_MEMORY_MODEL=y\nCONFIG_ARCH_PROC_KCORE_TEXT=y\nCONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000\n# CONFIG_X86_PMEM_LEGACY is not set\nCONFIG_X86_CHECK_BIOS_CORRUPTION=y\nCONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y\nCONFIG_X86_RESERVE_LOW=64\nCONFIG_MTRR=y\n# CONFIG_MTRR_SANITIZER is not set\nCONFIG_X86_PAT=y\nCONFIG_ARCH_USES_PG_UNCACHED=y\nCONFIG_ARCH_RANDOM=y\nCONFIG_X86_SMAP=y\nCONFIG_X86_UMIP=y\n# CONFIG_X86_INTEL_MPX is not set\nCONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y\nCONFIG_X86_INTEL_TSX_MODE_OFF=y\n# CONFIG_X86_INTEL_TSX_MODE_ON is not set\n# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set\nCONFIG_EFI=y\nCONFIG_EFI_STUB=y\nCONFIG_EFI_MIXED=y\nCONFIG_SECCOMP=y\n# CONFIG_HZ_100 is not set\n# CONFIG_HZ_250 is not set\n# CONFIG_HZ_300 is not set\nCONFIG_HZ_1000=y\nCONFIG_HZ=1000\nCONFIG_SCHED_HRTICK=y\nCONFIG_KEXEC=y\n# CONFIG_KEXEC_FILE is not set\nCONFIG_CRASH_DUMP=y\n# CONFIG_KEXEC_JUMP is not set\nCONFIG_PHYSICAL_START=0x1000000\nCONFIG_RELOCATABLE=y\nCONFIG_RANDOMIZE_BASE=y\nCONFIG_X86_NEED_RELOCS=y\nCONFIG_PHYSICAL_ALIGN=0x200000\nCONFIG_DYNAMIC_MEMORY_LAYOUT=y\nCONFIG_RANDOMIZE_MEMORY=y\nCONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0x0\nCONFIG_HOTPLUG_CPU=y\n# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set\n# CONFIG_DEBUG_HOTPLUG_CPU0 is not set\n# CONFIG_COMPAT_VDSO is not set\n# CONFIG_LEGACY_VSYSCALL_EMULATE is not set\nCONFIG_LEGACY_VSYSCALL_XONLY=y\n# CONFIG_LEGACY_VSYSCALL_NONE is not set\n# CONFIG_CMDLINE_BOOL is not set\nCONFIG_MODIFY_LDT_SYSCALL=y\nCONFIG_HAVE_LIVEPATCH=y\n# end of Processor type and features\n\nCONFIG_ARCH_HAS_ADD_PAGES=y\nCONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y\nCONFIG_USE_PERCPU_NUMA_NODE_ID=y\nCONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y\nCONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y\n\n#\n# Power management and ACPI options\n#\nCONFIG_ARCH_HIBERNATION_HEADER=y\nCONFIG_SUSPEND=y\nCONFIG_SUSPEND_FREEZER=y\nCONFIG_HIBERNATE_CALLBACKS=y\nCONFIG_HIBERNATION=y\nCONFIG_PM_STD_PARTITION=\"\"\nCONFIG_PM_SLEEP=y\nCONFIG_PM_SLEEP_SMP=y\n# CONFIG_PM_AUTOSLEEP is not set\n# CONFIG_PM_WAKELOCKS is not set\nCONFIG_PM=y\nCONFIG_PM_DEBUG=y\n# CONFIG_PM_ADVANCED_DEBUG is not set\n# CONFIG_PM_TEST_SUSPEND is not set\nCONFIG_PM_SLEEP_DEBUG=y\nCONFIG_PM_TRACE=y\nCONFIG_PM_TRACE_RTC=y\nCONFIG_PM_CLK=y\n# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set\n# CONFIG_ENERGY_MODEL is not set\nCONFIG_ARCH_SUPPORTS_ACPI=y\nCONFIG_ACPI=y\nCONFIG_ACPI_LEGACY_TABLES_LOOKUP=y\nCONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y\nCONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y\n# CONFIG_ACPI_DEBUGGER is not set\nCONFIG_ACPI_SPCR_TABLE=y\nCONFIG_ACPI_LPIT=y\nCONFIG_ACPI_SLEEP=y\n# CONFIG_ACPI_PROCFS_POWER is not set\nCONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y\n# CONFIG_ACPI_EC_DEBUGFS is not set\nCONFIG_ACPI_AC=y\nCONFIG_ACPI_BATTERY=y\nCONFIG_ACPI_BUTTON=y\nCONFIG_ACPI_VIDEO=y\nCONFIG_ACPI_FAN=y\n# CONFIG_ACPI_TAD is not set\nCONFIG_ACPI_DOCK=y\nCONFIG_ACPI_CPU_FREQ_PSS=y\nCONFIG_ACPI_PROCESSOR_CSTATE=y\nCONFIG_ACPI_PROCESSOR_IDLE=y\nCONFIG_ACPI_CPPC_LIB=y\nCONFIG_ACPI_PROCESSOR=y\nCONFIG_ACPI_HOTPLUG_CPU=y\n# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set\nCONFIG_ACPI_THERMAL=y\nCONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y\nCONFIG_ACPI_TABLE_UPGRADE=y\n# CONFIG_ACPI_DEBUG is not set\n# CONFIG_ACPI_PCI_SLOT is not set\nCONFIG_ACPI_CONTAINER=y\nCONFIG_ACPI_HOTPLUG_IOAPIC=y\n# CONFIG_ACPI_SBS is not set\n# CONFIG_ACPI_HED is not set\n# CONFIG_ACPI_CUSTOM_METHOD is not set\nCONFIG_ACPI_BGRT=y\n# CONFIG_ACPI_NFIT is not set\nCONFIG_ACPI_NUMA=y\n# CONFIG_ACPI_HMAT is not set\nCONFIG_HAVE_ACPI_APEI=y\nCONFIG_HAVE_ACPI_APEI_NMI=y\n# CONFIG_ACPI_APEI is not set\n# CONFIG_DPTF_POWER is not set\n# CONFIG_ACPI_EXTLOG is not set\n# CONFIG_PMIC_OPREGION is not set\n# CONFIG_ACPI_CONFIGFS is not set\nCONFIG_X86_PM_TIMER=y\n# CONFIG_SFI is not set\n\n#\n# CPU Frequency scaling\n#\nCONFIG_CPU_FREQ=y\nCONFIG_CPU_FREQ_GOV_ATTR_SET=y\nCONFIG_CPU_FREQ_GOV_COMMON=y\n# CONFIG_CPU_FREQ_STAT is not set\n# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set\n# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set\nCONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y\n# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set\n# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set\n# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set\nCONFIG_CPU_FREQ_GOV_PERFORMANCE=y\n# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set\nCONFIG_CPU_FREQ_GOV_USERSPACE=y\nCONFIG_CPU_FREQ_GOV_ONDEMAND=y\n# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set\n# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set\n\n#\n# CPU frequency scaling drivers\n#\nCONFIG_X86_INTEL_PSTATE=y\n# CONFIG_X86_PCC_CPUFREQ is not set\nCONFIG_X86_ACPI_CPUFREQ=y\nCONFIG_X86_ACPI_CPUFREQ_CPB=y\n# CONFIG_X86_POWERNOW_K8 is not set\n# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set\n# CONFIG_X86_SPEEDSTEP_CENTRINO is not set\n# CONFIG_X86_P4_CLOCKMOD is not set\n\n#\n# shared options\n#\n# end of CPU Frequency scaling\n\n#\n# CPU Idle\n#\nCONFIG_CPU_IDLE=y\n# CONFIG_CPU_IDLE_GOV_LADDER is not set\nCONFIG_CPU_IDLE_GOV_MENU=y\n# CONFIG_CPU_IDLE_GOV_TEO is not set\n# end of CPU Idle\n\n# CONFIG_INTEL_IDLE is not set\n# end of Power management and ACPI options\n\n#\n# Bus options (PCI etc.)\n#\nCONFIG_PCI_DIRECT=y\nCONFIG_PCI_MMCONFIG=y\nCONFIG_MMCONF_FAM10H=y\nCONFIG_ISA_DMA_API=y\nCONFIG_AMD_NB=y\n# CONFIG_X86_SYSFB is not set\n# end of Bus options (PCI etc.)\n\n#\n# Binary Emulations\n#\nCONFIG_IA32_EMULATION=y\n# CONFIG_X86_X32 is not set\nCONFIG_COMPAT_32=y\nCONFIG_COMPAT=y\nCONFIG_COMPAT_FOR_U64_ALIGNMENT=y\nCONFIG_SYSVIPC_COMPAT=y\n# end of Binary Emulations\n\n#\n# Firmware Drivers\n#\n# CONFIG_EDD is not set\nCONFIG_FIRMWARE_MEMMAP=y\nCONFIG_DMIID=y\n# CONFIG_DMI_SYSFS is not set\nCONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y\n# CONFIG_FW_CFG_SYSFS is not set\n# CONFIG_GOOGLE_FIRMWARE is not set\n\n#\n# EFI (Extensible Firmware Interface) Support\n#\nCONFIG_EFI_VARS=y\nCONFIG_EFI_ESRT=y\nCONFIG_EFI_RUNTIME_MAP=y\n# CONFIG_EFI_FAKE_MEMMAP is not set\nCONFIG_EFI_RUNTIME_WRAPPERS=y\n# CONFIG_EFI_BOOTLOADER_CONTROL is not set\n# CONFIG_EFI_CAPSULE_LOADER is not set\n# CONFIG_EFI_TEST is not set\n# CONFIG_APPLE_PROPERTIES is not set\n# CONFIG_RESET_ATTACK_MITIGATION is not set\n# CONFIG_EFI_RCI2_TABLE is not set\n# end of EFI (Extensible Firmware Interface) Support\n\nCONFIG_EFI_EARLYCON=y\n\n#\n# Tegra firmware driver\n#\n# end of Tegra firmware driver\n# end of Firmware Drivers\n\nCONFIG_HAVE_KVM=y\nCONFIG_VIRTUALIZATION=y\n# CONFIG_KVM is not set\n# CONFIG_VHOST_NET is not set\n# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set\n\n#\n# General architecture-dependent options\n#\nCONFIG_CRASH_CORE=y\nCONFIG_KEXEC_CORE=y\nCONFIG_HOTPLUG_SMT=y\n# CONFIG_OPROFILE is not set\nCONFIG_HAVE_OPROFILE=y\nCONFIG_OPROFILE_NMI_TIMER=y\nCONFIG_KPROBES=y\nCONFIG_JUMP_LABEL=y\n# CONFIG_STATIC_KEYS_SELFTEST is not set\nCONFIG_OPTPROBES=y\nCONFIG_UPROBES=y\nCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y\nCONFIG_ARCH_USE_BUILTIN_BSWAP=y\nCONFIG_KRETPROBES=y\nCONFIG_HAVE_IOREMAP_PROT=y\nCONFIG_HAVE_KPROBES=y\nCONFIG_HAVE_KRETPROBES=y\nCONFIG_HAVE_OPTPROBES=y\nCONFIG_HAVE_KPROBES_ON_FTRACE=y\nCONFIG_HAVE_FUNCTION_ERROR_INJECTION=y\nCONFIG_HAVE_NMI=y\nCONFIG_HAVE_ARCH_TRACEHOOK=y\nCONFIG_HAVE_DMA_CONTIGUOUS=y\nCONFIG_GENERIC_SMP_IDLE_THREAD=y\nCONFIG_ARCH_HAS_FORTIFY_SOURCE=y\nCONFIG_ARCH_HAS_SET_MEMORY=y\nCONFIG_ARCH_HAS_SET_DIRECT_MAP=y\nCONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y\nCONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y\nCONFIG_HAVE_ASM_MODVERSIONS=y\nCONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y\nCONFIG_HAVE_RSEQ=y\nCONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y\nCONFIG_HAVE_CLK=y\nCONFIG_HAVE_HW_BREAKPOINT=y\nCONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y\nCONFIG_HAVE_USER_RETURN_NOTIFIER=y\nCONFIG_HAVE_PERF_EVENTS_NMI=y\nCONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y\nCONFIG_HAVE_PERF_REGS=y\nCONFIG_HAVE_PERF_USER_STACK_DUMP=y\nCONFIG_HAVE_ARCH_JUMP_LABEL=y\nCONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y\nCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y\nCONFIG_HAVE_ALIGNED_STRUCT_PAGE=y\nCONFIG_HAVE_CMPXCHG_LOCAL=y\nCONFIG_HAVE_CMPXCHG_DOUBLE=y\nCONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y\nCONFIG_ARCH_WANT_OLD_COMPAT_IPC=y\nCONFIG_HAVE_ARCH_SECCOMP_FILTER=y\nCONFIG_SECCOMP_FILTER=y\nCONFIG_HAVE_ARCH_STACKLEAK=y\nCONFIG_HAVE_STACKPROTECTOR=y\nCONFIG_CC_HAS_STACKPROTECTOR_NONE=y\nCONFIG_STACKPROTECTOR=y\nCONFIG_STACKPROTECTOR_STRONG=y\nCONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y\nCONFIG_HAVE_CONTEXT_TRACKING=y\nCONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y\nCONFIG_HAVE_IRQ_TIME_ACCOUNTING=y\nCONFIG_HAVE_MOVE_PMD=y\nCONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y\nCONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y\nCONFIG_HAVE_ARCH_HUGE_VMAP=y\nCONFIG_ARCH_WANT_HUGE_PMD_SHARE=y\nCONFIG_HAVE_ARCH_SOFT_DIRTY=y\nCONFIG_HAVE_MOD_ARCH_SPECIFIC=y\nCONFIG_MODULES_USE_ELF_RELA=y\nCONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y\nCONFIG_ARCH_HAS_ELF_RANDOMIZE=y\nCONFIG_HAVE_ARCH_MMAP_RND_BITS=y\nCONFIG_HAVE_EXIT_THREAD=y\nCONFIG_ARCH_MMAP_RND_BITS=28\nCONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y\nCONFIG_ARCH_MMAP_RND_COMPAT_BITS=8\nCONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y\nCONFIG_HAVE_COPY_THREAD_TLS=y\nCONFIG_HAVE_STACK_VALIDATION=y\nCONFIG_HAVE_RELIABLE_STACKTRACE=y\nCONFIG_OLD_SIGSUSPEND3=y\nCONFIG_COMPAT_OLD_SIGACTION=y\nCONFIG_COMPAT_32BIT_TIME=y\nCONFIG_HAVE_ARCH_VMAP_STACK=y\nCONFIG_VMAP_STACK=y\nCONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y\nCONFIG_STRICT_KERNEL_RWX=y\nCONFIG_ARCH_HAS_STRICT_MODULE_RWX=y\nCONFIG_STRICT_MODULE_RWX=y\nCONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y\nCONFIG_ARCH_USE_MEMREMAP_PROT=y\n# CONFIG_LOCK_EVENT_COUNTS is not set\nCONFIG_ARCH_HAS_MEM_ENCRYPT=y\n\n#\n# GCOV-based kernel profiling\n#\n# CONFIG_GCOV_KERNEL is not set\nCONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y\n# end of GCOV-based kernel profiling\n\nCONFIG_PLUGIN_HOSTCC=\"\"\nCONFIG_HAVE_GCC_PLUGINS=y\n# end of General architecture-dependent options\n\nCONFIG_RT_MUTEXES=y\nCONFIG_BASE_SMALL=0\nCONFIG_MODULES=y\n# CONFIG_MODULE_FORCE_LOAD is not set\nCONFIG_MODULE_UNLOAD=y\nCONFIG_MODULE_FORCE_UNLOAD=y\n# CONFIG_MODVERSIONS is not set\n# CONFIG_MODULE_SRCVERSION_ALL is not set\n# CONFIG_MODULE_SIG is not set\n# CONFIG_MODULE_COMPRESS is not set\n# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set\n# CONFIG_UNUSED_SYMBOLS is not set\n# CONFIG_TRIM_UNUSED_KSYMS is not set\nCONFIG_MODULES_TREE_LOOKUP=y\nCONFIG_BLOCK=y\nCONFIG_BLK_SCSI_REQUEST=y\nCONFIG_BLK_DEV_BSG=y\n# CONFIG_BLK_DEV_BSGLIB is not set\n# CONFIG_BLK_DEV_INTEGRITY is not set\n# CONFIG_BLK_DEV_ZONED is not set\n# CONFIG_BLK_CMDLINE_PARSER is not set\n# CONFIG_BLK_WBT is not set\nCONFIG_BLK_DEBUG_FS=y\n# CONFIG_BLK_SED_OPAL is not set\n\n#\n# Partition Types\n#\n# CONFIG_PARTITION_ADVANCED is not set\nCONFIG_MSDOS_PARTITION=y\nCONFIG_EFI_PARTITION=y\n# end of Partition Types\n\nCONFIG_BLOCK_COMPAT=y\nCONFIG_BLK_MQ_PCI=y\nCONFIG_BLK_PM=y\n\n#\n# IO Schedulers\n#\nCONFIG_MQ_IOSCHED_DEADLINE=y\nCONFIG_MQ_IOSCHED_KYBER=y\n# CONFIG_IOSCHED_BFQ is not set\n# end of IO Schedulers\n\nCONFIG_ASN1=y\nCONFIG_INLINE_SPIN_UNLOCK_IRQ=y\nCONFIG_INLINE_READ_UNLOCK=y\nCONFIG_INLINE_READ_UNLOCK_IRQ=y\nCONFIG_INLINE_WRITE_UNLOCK=y\nCONFIG_INLINE_WRITE_UNLOCK_IRQ=y\nCONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y\nCONFIG_MUTEX_SPIN_ON_OWNER=y\nCONFIG_RWSEM_SPIN_ON_OWNER=y\nCONFIG_LOCK_SPIN_ON_OWNER=y\nCONFIG_ARCH_USE_QUEUED_SPINLOCKS=y\nCONFIG_QUEUED_SPINLOCKS=y\nCONFIG_ARCH_USE_QUEUED_RWLOCKS=y\nCONFIG_QUEUED_RWLOCKS=y\nCONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y\nCONFIG_ARCH_HAS_SYSCALL_WRAPPER=y\nCONFIG_FREEZER=y\n\n#\n# Executable file formats\n#\nCONFIG_BINFMT_ELF=y\nCONFIG_COMPAT_BINFMT_ELF=y\nCONFIG_ELFCORE=y\nCONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y\nCONFIG_BINFMT_SCRIPT=y\nCONFIG_BINFMT_MISC=y\nCONFIG_COREDUMP=y\n# end of Executable file formats\n\n#\n# Memory Management options\n#\nCONFIG_SELECT_MEMORY_MODEL=y\nCONFIG_SPARSEMEM_MANUAL=y\nCONFIG_SPARSEMEM=y\nCONFIG_NEED_MULTIPLE_NODES=y\nCONFIG_HAVE_MEMORY_PRESENT=y\nCONFIG_SPARSEMEM_EXTREME=y\nCONFIG_SPARSEMEM_VMEMMAP_ENABLE=y\nCONFIG_SPARSEMEM_VMEMMAP=y\nCONFIG_HAVE_MEMBLOCK_NODE_MAP=y\nCONFIG_HAVE_FAST_GUP=y\n# CONFIG_MEMORY_HOTPLUG is not set\nCONFIG_SPLIT_PTLOCK_CPUS=4\nCONFIG_COMPACTION=y\nCONFIG_MIGRATION=y\nCONFIG_PHYS_ADDR_T_64BIT=y\nCONFIG_BOUNCE=y\nCONFIG_VIRT_TO_BUS=y\nCONFIG_MMU_NOTIFIER=y\n# CONFIG_KSM is not set\nCONFIG_DEFAULT_MMAP_MIN_ADDR=4096\nCONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y\n# CONFIG_MEMORY_FAILURE is not set\n# CONFIG_TRANSPARENT_HUGEPAGE is not set\nCONFIG_ARCH_WANTS_THP_SWAP=y\n# CONFIG_CLEANCACHE is not set\n# CONFIG_FRONTSWAP is not set\n# CONFIG_CMA is not set\n# CONFIG_ZPOOL is not set\n# CONFIG_ZBUD is not set\n# CONFIG_ZSMALLOC is not set\nCONFIG_GENERIC_EARLY_IOREMAP=y\n# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set\n# CONFIG_IDLE_PAGE_TRACKING is not set\nCONFIG_ARCH_HAS_PTE_DEVMAP=y\nCONFIG_ARCH_USES_HIGH_VMA_FLAGS=y\nCONFIG_ARCH_HAS_PKEYS=y\n# CONFIG_PERCPU_STATS is not set\n# CONFIG_GUP_BENCHMARK is not set\nCONFIG_ARCH_HAS_PTE_SPECIAL=y\n# end of Memory Management options\n\nCONFIG_NET=y\nCONFIG_NET_INGRESS=y\nCONFIG_SKB_EXTENSIONS=y\n\n#\n# Networking options\n#\nCONFIG_PACKET=y\n# CONFIG_PACKET_DIAG is not set\nCONFIG_UNIX=y\nCONFIG_UNIX_SCM=y\n# CONFIG_UNIX_DIAG is not set\n# CONFIG_TLS is not set\nCONFIG_XFRM=y\nCONFIG_XFRM_ALGO=y\nCONFIG_XFRM_USER=y\n# CONFIG_XFRM_INTERFACE is not set\n# CONFIG_XFRM_SUB_POLICY is not set\n# CONFIG_XFRM_MIGRATE is not set\n# CONFIG_XFRM_STATISTICS is not set\n# CONFIG_NET_KEY is not set\nCONFIG_XDP_SOCKETS=y\nCONFIG_XDP_SOCKETS_DIAG=y\nCONFIG_INET=y\nCONFIG_IP_MULTICAST=y\nCONFIG_IP_ADVANCED_ROUTER=y\n# CONFIG_IP_FIB_TRIE_STATS is not set\nCONFIG_IP_MULTIPLE_TABLES=y\nCONFIG_IP_ROUTE_MULTIPATH=y\nCONFIG_IP_ROUTE_VERBOSE=y\nCONFIG_IP_PNP=y\nCONFIG_IP_PNP_DHCP=y\nCONFIG_IP_PNP_BOOTP=y\nCONFIG_IP_PNP_RARP=y\n# CONFIG_NET_IPIP is not set\n# CONFIG_NET_IPGRE_DEMUX is not set\nCONFIG_NET_IP_TUNNEL=y\nCONFIG_IP_MROUTE_COMMON=y\nCONFIG_IP_MROUTE=y\n# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set\nCONFIG_IP_PIMSM_V1=y\nCONFIG_IP_PIMSM_V2=y\nCONFIG_SYN_COOKIES=y\n# CONFIG_NET_IPVTI is not set\n# CONFIG_NET_FOU is not set\n# CONFIG_NET_FOU_IP_TUNNELS is not set\n# CONFIG_INET_AH is not set\n# CONFIG_INET_ESP is not set\n# CONFIG_INET_IPCOMP is not set\nCONFIG_INET_TUNNEL=y\n# CONFIG_INET_DIAG is not set\nCONFIG_TCP_CONG_ADVANCED=y\n# CONFIG_TCP_CONG_BIC is not set\nCONFIG_TCP_CONG_CUBIC=y\n# CONFIG_TCP_CONG_WESTWOOD is not set\n# CONFIG_TCP_CONG_HTCP is not set\n# CONFIG_TCP_CONG_HSTCP is not set\n# CONFIG_TCP_CONG_HYBLA is not set\n# CONFIG_TCP_CONG_VEGAS is not set\n# CONFIG_TCP_CONG_NV is not set\n# CONFIG_TCP_CONG_SCALABLE is not set\n# CONFIG_TCP_CONG_LP is not set\n# CONFIG_TCP_CONG_VENO is not set\n# CONFIG_TCP_CONG_YEAH is not set\n# CONFIG_TCP_CONG_ILLINOIS is not set\n# CONFIG_TCP_CONG_DCTCP is not set\n# CONFIG_TCP_CONG_CDG is not set\n# CONFIG_TCP_CONG_BBR is not set\nCONFIG_DEFAULT_CUBIC=y\n# CONFIG_DEFAULT_RENO is not set\nCONFIG_DEFAULT_TCP_CONG=\"cubic\"\nCONFIG_TCP_MD5SIG=y\nCONFIG_IPV6=y\n# CONFIG_IPV6_ROUTER_PREF is not set\n# CONFIG_IPV6_OPTIMISTIC_DAD is not set\nCONFIG_INET6_AH=y\nCONFIG_INET6_ESP=y\n# CONFIG_INET6_ESP_OFFLOAD is not set\n# CONFIG_INET6_IPCOMP is not set\n# CONFIG_IPV6_MIP6 is not set\n# CONFIG_IPV6_ILA is not set\n# CONFIG_IPV6_VTI is not set\nCONFIG_IPV6_SIT=y\n# CONFIG_IPV6_SIT_6RD is not set\nCONFIG_IPV6_NDISC_NODETYPE=y\n# CONFIG_IPV6_TUNNEL is not set\nCONFIG_IPV6_MULTIPLE_TABLES=y\n# CONFIG_IPV6_SUBTREES is not set\n# CONFIG_IPV6_MROUTE is not set\nCONFIG_IPV6_SEG6_LWTUNNEL=y\n# CONFIG_IPV6_SEG6_HMAC is not set\nCONFIG_IPV6_SEG6_BPF=y\nCONFIG_NETLABEL=y\nCONFIG_NETWORK_SECMARK=y\nCONFIG_NET_PTP_CLASSIFY=y\n# CONFIG_NETWORK_PHY_TIMESTAMPING is not set\nCONFIG_NETFILTER=y\nCONFIG_NETFILTER_ADVANCED=y\n\n#\n# Core Netfilter Configuration\n#\nCONFIG_NETFILTER_INGRESS=y\nCONFIG_NETFILTER_NETLINK=y\n# CONFIG_NETFILTER_NETLINK_ACCT is not set\n# CONFIG_NETFILTER_NETLINK_QUEUE is not set\nCONFIG_NETFILTER_NETLINK_LOG=y\n# CONFIG_NETFILTER_NETLINK_OSF is not set\nCONFIG_NF_CONNTRACK=y\nCONFIG_NF_LOG_COMMON=m\n# CONFIG_NF_LOG_NETDEV is not set\n# CONFIG_NF_CONNTRACK_MARK is not set\nCONFIG_NF_CONNTRACK_SECMARK=y\n# CONFIG_NF_CONNTRACK_ZONES is not set\nCONFIG_NF_CONNTRACK_PROCFS=y\n# CONFIG_NF_CONNTRACK_EVENTS is not set\n# CONFIG_NF_CONNTRACK_TIMEOUT is not set\n# CONFIG_NF_CONNTRACK_TIMESTAMP is not set\n# CONFIG_NF_CONNTRACK_LABELS is not set\nCONFIG_NF_CT_PROTO_DCCP=y\nCONFIG_NF_CT_PROTO_SCTP=y\nCONFIG_NF_CT_PROTO_UDPLITE=y\n# CONFIG_NF_CONNTRACK_AMANDA is not set\nCONFIG_NF_CONNTRACK_FTP=y\n# CONFIG_NF_CONNTRACK_H323 is not set\nCONFIG_NF_CONNTRACK_IRC=y\n# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set\n# CONFIG_NF_CONNTRACK_SNMP is not set\n# CONFIG_NF_CONNTRACK_PPTP is not set\n# CONFIG_NF_CONNTRACK_SANE is not set\nCONFIG_NF_CONNTRACK_SIP=y\n# CONFIG_NF_CONNTRACK_TFTP is not set\nCONFIG_NF_CT_NETLINK=y\n# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set\nCONFIG_NF_NAT=y\nCONFIG_NF_NAT_FTP=y\nCONFIG_NF_NAT_IRC=y\nCONFIG_NF_NAT_SIP=y\nCONFIG_NF_NAT_MASQUERADE=y\n# CONFIG_NF_TABLES is not set\nCONFIG_NETFILTER_XTABLES=y\n\n#\n# Xtables combined modules\n#\nCONFIG_NETFILTER_XT_MARK=m\n# CONFIG_NETFILTER_XT_CONNMARK is not set\n\n#\n# Xtables targets\n#\n# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set\n# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set\n# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set\n# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set\nCONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y\n# CONFIG_NETFILTER_XT_TARGET_DSCP is not set\n# CONFIG_NETFILTER_XT_TARGET_HL is not set\n# CONFIG_NETFILTER_XT_TARGET_HMARK is not set\n# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set\n# CONFIG_NETFILTER_XT_TARGET_LED is not set\nCONFIG_NETFILTER_XT_TARGET_LOG=m\n# CONFIG_NETFILTER_XT_TARGET_MARK is not set\nCONFIG_NETFILTER_XT_NAT=m\n# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set\nCONFIG_NETFILTER_XT_TARGET_NFLOG=y\n# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set\n# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set\n# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set\nCONFIG_NETFILTER_XT_TARGET_MASQUERADE=m\n# CONFIG_NETFILTER_XT_TARGET_TEE is not set\n# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set\nCONFIG_NETFILTER_XT_TARGET_SECMARK=y\nCONFIG_NETFILTER_XT_TARGET_TCPMSS=y\n# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set\n\n#\n# Xtables matches\n#\nCONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m\nCONFIG_NETFILTER_XT_MATCH_BPF=y\n# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set\n# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set\n# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set\n# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set\n# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set\n# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set\n# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set\nCONFIG_NETFILTER_XT_MATCH_CONNTRACK=y\n# CONFIG_NETFILTER_XT_MATCH_CPU is not set\n# CONFIG_NETFILTER_XT_MATCH_DCCP is not set\n# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set\n# CONFIG_NETFILTER_XT_MATCH_DSCP is not set\n# CONFIG_NETFILTER_XT_MATCH_ECN is not set\n# CONFIG_NETFILTER_XT_MATCH_ESP is not set\n# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set\n# CONFIG_NETFILTER_XT_MATCH_HELPER is not set\n# CONFIG_NETFILTER_XT_MATCH_HL is not set\n# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set\n# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set\n# CONFIG_NETFILTER_XT_MATCH_L2TP is not set\n# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set\n# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set\n# CONFIG_NETFILTER_XT_MATCH_MAC is not set\n# CONFIG_NETFILTER_XT_MATCH_MARK is not set\n# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set\n# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set\n# CONFIG_NETFILTER_XT_MATCH_OSF is not set\n# CONFIG_NETFILTER_XT_MATCH_OWNER is not set\nCONFIG_NETFILTER_XT_MATCH_POLICY=y\n# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set\n# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set\n# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set\n# CONFIG_NETFILTER_XT_MATCH_REALM is not set\n# CONFIG_NETFILTER_XT_MATCH_RECENT is not set\n# CONFIG_NETFILTER_XT_MATCH_SCTP is not set\n# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set\nCONFIG_NETFILTER_XT_MATCH_STATE=y\n# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set\n# CONFIG_NETFILTER_XT_MATCH_STRING is not set\n# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set\n# CONFIG_NETFILTER_XT_MATCH_TIME is not set\n# CONFIG_NETFILTER_XT_MATCH_U32 is not set\n# end of Core Netfilter Configuration\n\n# CONFIG_IP_SET is not set\n# CONFIG_IP_VS is not set\n\n#\n# IP: Netfilter Configuration\n#\nCONFIG_NF_DEFRAG_IPV4=y\n# CONFIG_NF_SOCKET_IPV4 is not set\n# CONFIG_NF_TPROXY_IPV4 is not set\n# CONFIG_NF_DUP_IPV4 is not set\nCONFIG_NF_LOG_ARP=m\nCONFIG_NF_LOG_IPV4=m\nCONFIG_NF_REJECT_IPV4=y\nCONFIG_IP_NF_IPTABLES=y\n# CONFIG_IP_NF_MATCH_AH is not set\n# CONFIG_IP_NF_MATCH_ECN is not set\n# CONFIG_IP_NF_MATCH_RPFILTER is not set\n# CONFIG_IP_NF_MATCH_TTL is not set\nCONFIG_IP_NF_FILTER=y\nCONFIG_IP_NF_TARGET_REJECT=y\n# CONFIG_IP_NF_TARGET_SYNPROXY is not set\nCONFIG_IP_NF_NAT=m\nCONFIG_IP_NF_TARGET_MASQUERADE=m\n# CONFIG_IP_NF_TARGET_NETMAP is not set\n# CONFIG_IP_NF_TARGET_REDIRECT is not set\nCONFIG_IP_NF_MANGLE=y\n# CONFIG_IP_NF_TARGET_CLUSTERIP is not set\n# CONFIG_IP_NF_TARGET_ECN is not set\n# CONFIG_IP_NF_TARGET_TTL is not set\n# CONFIG_IP_NF_RAW is not set\n# CONFIG_IP_NF_SECURITY is not set\n# CONFIG_IP_NF_ARPTABLES is not set\n# end of IP: Netfilter Configuration\n\n#\n# IPv6: Netfilter Configuration\n#\n# CONFIG_NF_SOCKET_IPV6 is not set\n# CONFIG_NF_TPROXY_IPV6 is not set\n# CONFIG_NF_DUP_IPV6 is not set\nCONFIG_NF_REJECT_IPV6=y\nCONFIG_NF_LOG_IPV6=m\nCONFIG_IP6_NF_IPTABLES=y\n# CONFIG_IP6_NF_MATCH_AH is not set\n# CONFIG_IP6_NF_MATCH_EUI64 is not set\n# CONFIG_IP6_NF_MATCH_FRAG is not set\n# CONFIG_IP6_NF_MATCH_OPTS is not set\n# CONFIG_IP6_NF_MATCH_HL is not set\nCONFIG_IP6_NF_MATCH_IPV6HEADER=y\n# CONFIG_IP6_NF_MATCH_MH is not set\n# CONFIG_IP6_NF_MATCH_RPFILTER is not set\n# CONFIG_IP6_NF_MATCH_RT is not set\n# CONFIG_IP6_NF_MATCH_SRH is not set\n# CONFIG_IP6_NF_TARGET_HL is not set\nCONFIG_IP6_NF_FILTER=y\nCONFIG_IP6_NF_TARGET_REJECT=y\n# CONFIG_IP6_NF_TARGET_SYNPROXY is not set\nCONFIG_IP6_NF_MANGLE=y\n# CONFIG_IP6_NF_RAW is not set\n# CONFIG_IP6_NF_SECURITY is not set\n# CONFIG_IP6_NF_NAT is not set\n# end of IPv6: Netfilter Configuration\n\nCONFIG_NF_DEFRAG_IPV6=y\n# CONFIG_NF_CONNTRACK_BRIDGE is not set\nCONFIG_BPFILTER=y\nCONFIG_BPFILTER_UMH=m\n# CONFIG_IP_DCCP is not set\n# CONFIG_IP_SCTP is not set\n# CONFIG_RDS is not set\n# CONFIG_TIPC is not set\n# CONFIG_ATM is not set\n# CONFIG_L2TP is not set\n# CONFIG_BRIDGE is not set\nCONFIG_HAVE_NET_DSA=y\n# CONFIG_NET_DSA is not set\n# CONFIG_VLAN_8021Q is not set\n# CONFIG_DECNET is not set\n# CONFIG_LLC2 is not set\n# CONFIG_ATALK is not set\n# CONFIG_X25 is not set\n# CONFIG_LAPB is not set\n# CONFIG_PHONET is not set\n# CONFIG_6LOWPAN is not set\n# CONFIG_IEEE802154 is not set\nCONFIG_NET_SCHED=y\n\n#\n# Queueing/Scheduling\n#\n# CONFIG_NET_SCH_CBQ is not set\n# CONFIG_NET_SCH_HTB is not set\n# CONFIG_NET_SCH_HFSC is not set\n# CONFIG_NET_SCH_PRIO is not set\n# CONFIG_NET_SCH_MULTIQ is not set\n# CONFIG_NET_SCH_RED is not set\n# CONFIG_NET_SCH_SFB is not set\n# CONFIG_NET_SCH_SFQ is not set\n# CONFIG_NET_SCH_TEQL is not set\n# CONFIG_NET_SCH_TBF is not set\n# CONFIG_NET_SCH_CBS is not set\n# CONFIG_NET_SCH_ETF is not set\n# CONFIG_NET_SCH_TAPRIO is not set\n# CONFIG_NET_SCH_GRED is not set\n# CONFIG_NET_SCH_DSMARK is not set\n# CONFIG_NET_SCH_NETEM is not set\n# CONFIG_NET_SCH_DRR is not set\n# CONFIG_NET_SCH_MQPRIO is not set\n# CONFIG_NET_SCH_SKBPRIO is not set\n# CONFIG_NET_SCH_CHOKE is not set\n# CONFIG_NET_SCH_QFQ is not set\n# CONFIG_NET_SCH_CODEL is not set\n# CONFIG_NET_SCH_FQ_CODEL is not set\n# CONFIG_NET_SCH_CAKE is not set\n# CONFIG_NET_SCH_FQ is not set\n# CONFIG_NET_SCH_HHF is not set\n# CONFIG_NET_SCH_PIE is not set\n# CONFIG_NET_SCH_INGRESS is not set\n# CONFIG_NET_SCH_PLUG is not set\n# CONFIG_NET_SCH_DEFAULT is not set\n\n#\n# Classification\n#\nCONFIG_NET_CLS=y\n# CONFIG_NET_CLS_BASIC is not set\n# CONFIG_NET_CLS_TCINDEX is not set\n# CONFIG_NET_CLS_ROUTE4 is not set\n# CONFIG_NET_CLS_FW is not set\n# CONFIG_NET_CLS_U32 is not set\n# CONFIG_NET_CLS_RSVP is not set\n# CONFIG_NET_CLS_RSVP6 is not set\n# CONFIG_NET_CLS_FLOW is not set\n# CONFIG_NET_CLS_CGROUP is not set\nCONFIG_NET_CLS_BPF=y\n# CONFIG_NET_CLS_FLOWER is not set\n# CONFIG_NET_CLS_MATCHALL is not set\nCONFIG_NET_EMATCH=y\nCONFIG_NET_EMATCH_STACK=32\n# CONFIG_NET_EMATCH_CMP is not set\n# CONFIG_NET_EMATCH_NBYTE is not set\n# CONFIG_NET_EMATCH_U32 is not set\n# CONFIG_NET_EMATCH_META is not set\n# CONFIG_NET_EMATCH_TEXT is not set\n# CONFIG_NET_EMATCH_IPT is not set\nCONFIG_NET_CLS_ACT=y\n# CONFIG_NET_ACT_POLICE is not set\n# CONFIG_NET_ACT_GACT is not set\n# CONFIG_NET_ACT_MIRRED is not set\n# CONFIG_NET_ACT_SAMPLE is not set\n# CONFIG_NET_ACT_IPT is not set\n# CONFIG_NET_ACT_NAT is not set\n# CONFIG_NET_ACT_PEDIT is not set\n# CONFIG_NET_ACT_SIMP is not set\n# CONFIG_NET_ACT_SKBEDIT is not set\n# CONFIG_NET_ACT_CSUM is not set\n# CONFIG_NET_ACT_MPLS is not set\n# CONFIG_NET_ACT_VLAN is not set\nCONFIG_NET_ACT_BPF=y\n# CONFIG_NET_ACT_SKBMOD is not set\n# CONFIG_NET_ACT_IFE is not set\n# CONFIG_NET_ACT_TUNNEL_KEY is not set\n# CONFIG_NET_ACT_CT is not set\n# CONFIG_NET_TC_SKB_EXT is not set\nCONFIG_NET_SCH_FIFO=y\n# CONFIG_DCB is not set\nCONFIG_DNS_RESOLVER=y\n# CONFIG_BATMAN_ADV is not set\n# CONFIG_OPENVSWITCH is not set\n# CONFIG_VSOCKETS is not set\n# CONFIG_NETLINK_DIAG is not set\n# CONFIG_MPLS is not set\n# CONFIG_NET_NSH is not set\n# CONFIG_HSR is not set\n# CONFIG_NET_SWITCHDEV is not set\n# CONFIG_NET_L3_MASTER_DEV is not set\n# CONFIG_NET_NCSI is not set\nCONFIG_RPS=y\nCONFIG_RFS_ACCEL=y\nCONFIG_XPS=y\n# CONFIG_CGROUP_NET_PRIO is not set\n# CONFIG_CGROUP_NET_CLASSID is not set\nCONFIG_NET_RX_BUSY_POLL=y\nCONFIG_BQL=y\nCONFIG_BPF_JIT=y\nCONFIG_BPF_STREAM_PARSER=y\nCONFIG_NET_FLOW_LIMIT=y\n\n#\n# Network testing\n#\n# CONFIG_NET_PKTGEN is not set\n# CONFIG_NET_DROP_MONITOR is not set\n# end of Network testing\n# end of Networking options\n\nCONFIG_HAMRADIO=y\n\n#\n# Packet Radio protocols\n#\n# CONFIG_AX25 is not set\n# CONFIG_CAN is not set\n# CONFIG_BT is not set\n# CONFIG_AF_RXRPC is not set\n# CONFIG_AF_KCM is not set\nCONFIG_STREAM_PARSER=y\nCONFIG_FIB_RULES=y\nCONFIG_WIRELESS=y\nCONFIG_CFG80211=y\n# CONFIG_NL80211_TESTMODE is not set\n# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set\nCONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y\nCONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y\nCONFIG_CFG80211_DEFAULT_PS=y\n# CONFIG_CFG80211_DEBUGFS is not set\nCONFIG_CFG80211_CRDA_SUPPORT=y\n# CONFIG_CFG80211_WEXT is not set\nCONFIG_MAC80211=y\nCONFIG_MAC80211_HAS_RC=y\nCONFIG_MAC80211_RC_MINSTREL=y\nCONFIG_MAC80211_RC_DEFAULT_MINSTREL=y\nCONFIG_MAC80211_RC_DEFAULT=\"minstrel_ht\"\n# CONFIG_MAC80211_MESH is not set\nCONFIG_MAC80211_LEDS=y\n# CONFIG_MAC80211_DEBUGFS is not set\n# CONFIG_MAC80211_MESSAGE_TRACING is not set\n# CONFIG_MAC80211_DEBUG_MENU is not set\nCONFIG_MAC80211_STA_HASH_MAX_SIZE=0\n# CONFIG_WIMAX is not set\nCONFIG_RFKILL=y\nCONFIG_RFKILL_LEDS=y\nCONFIG_RFKILL_INPUT=y\n# CONFIG_NET_9P is not set\n# CONFIG_CAIF is not set\n# CONFIG_CEPH_LIB is not set\n# CONFIG_NFC is not set\n# CONFIG_PSAMPLE is not set\n# CONFIG_NET_IFE is not set\nCONFIG_LWTUNNEL=y\nCONFIG_LWTUNNEL_BPF=y\nCONFIG_DST_CACHE=y\nCONFIG_GRO_CELLS=y\nCONFIG_NET_SOCK_MSG=y\n# CONFIG_FAILOVER is not set\nCONFIG_HAVE_EBPF_JIT=y\n\n#\n# Device Drivers\n#\nCONFIG_HAVE_EISA=y\n# CONFIG_EISA is not set\nCONFIG_HAVE_PCI=y\nCONFIG_PCI=y\nCONFIG_PCI_DOMAINS=y\nCONFIG_PCIEPORTBUS=y\n# CONFIG_HOTPLUG_PCI_PCIE is not set\nCONFIG_PCIEAER=y\n# CONFIG_PCIEAER_INJECT is not set\n# CONFIG_PCIE_ECRC is not set\nCONFIG_PCIEASPM=y\nCONFIG_PCIEASPM_DEFAULT=y\n# CONFIG_PCIEASPM_POWERSAVE is not set\n# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set\n# CONFIG_PCIEASPM_PERFORMANCE is not set\nCONFIG_PCIE_PME=y\n# CONFIG_PCIE_DPC is not set\n# CONFIG_PCIE_PTM is not set\n# CONFIG_PCIE_BW is not set\nCONFIG_PCI_MSI=y\nCONFIG_PCI_MSI_IRQ_DOMAIN=y\nCONFIG_PCI_QUIRKS=y\n# CONFIG_PCI_DEBUG is not set\n# CONFIG_PCI_STUB is not set\nCONFIG_PCI_ATS=y\nCONFIG_PCI_LOCKLESS_CONFIG=y\n# CONFIG_PCI_IOV is not set\nCONFIG_PCI_PRI=y\nCONFIG_PCI_PASID=y\nCONFIG_PCI_LABEL=y\nCONFIG_HOTPLUG_PCI=y\n# CONFIG_HOTPLUG_PCI_ACPI is not set\n# CONFIG_HOTPLUG_PCI_CPCI is not set\n# CONFIG_HOTPLUG_PCI_SHPC is not set\n\n#\n# PCI controller drivers\n#\n# CONFIG_VMD is not set\n\n#\n# DesignWare PCI Core Support\n#\n# CONFIG_PCIE_DW_PLAT_HOST is not set\n# CONFIG_PCI_MESON is not set\n# end of DesignWare PCI Core Support\n\n#\n# Cadence PCIe controllers support\n#\n# end of Cadence PCIe controllers support\n# end of PCI controller drivers\n\n#\n# PCI Endpoint\n#\n# CONFIG_PCI_ENDPOINT is not set\n# end of PCI Endpoint\n\n#\n# PCI switch controller drivers\n#\n# CONFIG_PCI_SW_SWITCHTEC is not set\n# end of PCI switch controller drivers\n\nCONFIG_PCCARD=y\nCONFIG_PCMCIA=y\nCONFIG_PCMCIA_LOAD_CIS=y\nCONFIG_CARDBUS=y\n\n#\n# PC-card bridges\n#\nCONFIG_YENTA=y\nCONFIG_YENTA_O2=y\nCONFIG_YENTA_RICOH=y\nCONFIG_YENTA_TI=y\nCONFIG_YENTA_ENE_TUNE=y\nCONFIG_YENTA_TOSHIBA=y\n# CONFIG_PD6729 is not set\n# CONFIG_I82092 is not set\nCONFIG_PCCARD_NONSTATIC=y\n# CONFIG_RAPIDIO is not set\n\n#\n# Generic Driver Options\n#\n# CONFIG_UEVENT_HELPER is not set\nCONFIG_DEVTMPFS=y\nCONFIG_DEVTMPFS_MOUNT=y\nCONFIG_STANDALONE=y\nCONFIG_PREVENT_FIRMWARE_BUILD=y\n\n#\n# Firmware loader\n#\nCONFIG_FW_LOADER=y\nCONFIG_EXTRA_FIRMWARE=\"\"\n# CONFIG_FW_LOADER_USER_HELPER is not set\n# CONFIG_FW_LOADER_COMPRESS is not set\nCONFIG_FW_CACHE=y\n# end of Firmware loader\n\nCONFIG_ALLOW_DEV_COREDUMP=y\n# CONFIG_DEBUG_DRIVER is not set\nCONFIG_DEBUG_DEVRES=y\n# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set\n# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set\nCONFIG_GENERIC_CPU_AUTOPROBE=y\nCONFIG_GENERIC_CPU_VULNERABILITIES=y\nCONFIG_REGMAP=y\nCONFIG_REGMAP_I2C=y\nCONFIG_DMA_SHARED_BUFFER=y\n# CONFIG_DMA_FENCE_TRACE is not set\n# end of Generic Driver Options\n\n#\n# Bus devices\n#\n# end of Bus devices\n\nCONFIG_CONNECTOR=y\nCONFIG_PROC_EVENTS=y\n# CONFIG_GNSS is not set\n# CONFIG_MTD is not set\n# CONFIG_OF is not set\nCONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y\n# CONFIG_PARPORT is not set\nCONFIG_PNP=y\nCONFIG_PNP_DEBUG_MESSAGES=y\n\n#\n# Protocols\n#\nCONFIG_PNPACPI=y\nCONFIG_BLK_DEV=y\n# CONFIG_BLK_DEV_NULL_BLK is not set\n# CONFIG_BLK_DEV_FD is not set\nCONFIG_CDROM=y\n# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set\n# CONFIG_BLK_DEV_UMEM is not set\nCONFIG_BLK_DEV_LOOP=y\nCONFIG_BLK_DEV_LOOP_MIN_COUNT=8\n# CONFIG_BLK_DEV_CRYPTOLOOP is not set\n# CONFIG_BLK_DEV_DRBD is not set\n# CONFIG_BLK_DEV_NBD is not set\n# CONFIG_BLK_DEV_SKD is not set\n# CONFIG_BLK_DEV_SX8 is not set\n# CONFIG_BLK_DEV_RAM is not set\n# CONFIG_CDROM_PKTCDVD is not set\n# CONFIG_ATA_OVER_ETH is not set\n# CONFIG_BLK_DEV_RBD is not set\n# CONFIG_BLK_DEV_RSXX is not set\n\n#\n# NVME Support\n#\n# CONFIG_BLK_DEV_NVME is not set\n# CONFIG_NVME_FC is not set\n# end of NVME Support\n\n#\n# Misc devices\n#\n# CONFIG_AD525X_DPOT is not set\n# CONFIG_DUMMY_IRQ is not set\n# CONFIG_IBM_ASM is not set\n# CONFIG_PHANTOM is not set\n# CONFIG_TIFM_CORE is not set\n# CONFIG_ICS932S401 is not set\n# CONFIG_ENCLOSURE_SERVICES is not set\n# CONFIG_HP_ILO is not set\n# CONFIG_APDS9802ALS is not set\n# CONFIG_ISL29003 is not set\n# CONFIG_ISL29020 is not set\n# CONFIG_SENSORS_TSL2550 is not set\n# CONFIG_SENSORS_BH1770 is not set\n# CONFIG_SENSORS_APDS990X is not set\n# CONFIG_HMC6352 is not set\n# CONFIG_DS1682 is not set\n# CONFIG_SRAM is not set\n# CONFIG_PCI_ENDPOINT_TEST is not set\n# CONFIG_XILINX_SDFEC is not set\n# CONFIG_PVPANIC is not set\n# CONFIG_C2PORT is not set\n\n#\n# EEPROM support\n#\n# CONFIG_EEPROM_AT24 is not set\n# CONFIG_EEPROM_LEGACY is not set\n# CONFIG_EEPROM_MAX6875 is not set\n# CONFIG_EEPROM_93CX6 is not set\n# CONFIG_EEPROM_IDT_89HPESX is not set\n# CONFIG_EEPROM_EE1004 is not set\n# end of EEPROM support\n\n# CONFIG_CB710_CORE is not set\n\n#\n# Texas Instruments shared transport line discipline\n#\n# end of Texas Instruments shared transport line discipline\n\n# CONFIG_SENSORS_LIS3_I2C is not set\n# CONFIG_ALTERA_STAPL is not set\n# CONFIG_INTEL_MEI is not set\n# CONFIG_INTEL_MEI_ME is not set\n# CONFIG_INTEL_MEI_TXE is not set\n# CONFIG_INTEL_MEI_HDCP is not set\n# CONFIG_VMWARE_VMCI is not set\n\n#\n# Intel MIC & related support\n#\n# CONFIG_INTEL_MIC_BUS is not set\n# CONFIG_SCIF_BUS is not set\n# CONFIG_VOP_BUS is not set\n# end of Intel MIC & related support\n\n# CONFIG_GENWQE is not set\n# CONFIG_ECHO is not set\n# CONFIG_MISC_ALCOR_PCI is not set\n# CONFIG_MISC_RTSX_PCI is not set\n# CONFIG_MISC_RTSX_USB is not set\n# CONFIG_HABANA_AI is not set\n# end of Misc devices\n\nCONFIG_HAVE_IDE=y\n# CONFIG_IDE is not set\n\n#\n# SCSI device support\n#\nCONFIG_SCSI_MOD=y\n# CONFIG_RAID_ATTRS is not set\nCONFIG_SCSI=y\nCONFIG_SCSI_DMA=y\nCONFIG_SCSI_PROC_FS=y\n\n#\n# SCSI support type (disk, tape, CD-ROM)\n#\nCONFIG_BLK_DEV_SD=y\n# CONFIG_CHR_DEV_ST is not set\nCONFIG_BLK_DEV_SR=y\nCONFIG_BLK_DEV_SR_VENDOR=y\nCONFIG_CHR_DEV_SG=y\n# CONFIG_CHR_DEV_SCH is not set\nCONFIG_SCSI_CONSTANTS=y\n# CONFIG_SCSI_LOGGING is not set\n# CONFIG_SCSI_SCAN_ASYNC is not set\n\n#\n# SCSI Transports\n#\nCONFIG_SCSI_SPI_ATTRS=y\n# CONFIG_SCSI_FC_ATTRS is not set\n# CONFIG_SCSI_ISCSI_ATTRS is not set\n# CONFIG_SCSI_SAS_ATTRS is not set\n# CONFIG_SCSI_SAS_LIBSAS is not set\n# CONFIG_SCSI_SRP_ATTRS is not set\n# end of SCSI Transports\n\n# CONFIG_SCSI_LOWLEVEL is not set\n# CONFIG_SCSI_DH is not set\n# end of SCSI device support\n\nCONFIG_ATA=y\nCONFIG_ATA_VERBOSE_ERROR=y\nCONFIG_ATA_ACPI=y\n# CONFIG_SATA_ZPODD is not set\nCONFIG_SATA_PMP=y\n\n#\n# Controllers with non-SFF native interface\n#\nCONFIG_SATA_AHCI=y\nCONFIG_SATA_MOBILE_LPM_POLICY=0\n# CONFIG_SATA_AHCI_PLATFORM is not set\n# CONFIG_SATA_INIC162X is not set\n# CONFIG_SATA_ACARD_AHCI is not set\n# CONFIG_SATA_SIL24 is not set\nCONFIG_ATA_SFF=y\n\n#\n# SFF controllers with custom DMA interface\n#\n# CONFIG_PDC_ADMA is not set\n# CONFIG_SATA_QSTOR is not set\n# CONFIG_SATA_SX4 is not set\nCONFIG_ATA_BMDMA=y\n\n#\n# SATA SFF controllers with BMDMA\n#\nCONFIG_ATA_PIIX=y\n# CONFIG_SATA_DWC is not set\n# CONFIG_SATA_MV is not set\n# CONFIG_SATA_NV is not set\n# CONFIG_SATA_PROMISE is not set\n# CONFIG_SATA_SIL is not set\n# CONFIG_SATA_SIS is not set\n# CONFIG_SATA_SVW is not set\n# CONFIG_SATA_ULI is not set\n# CONFIG_SATA_VIA is not set\n# CONFIG_SATA_VITESSE is not set\n\n#\n# PATA SFF controllers with BMDMA\n#\n# CONFIG_PATA_ALI is not set\nCONFIG_PATA_AMD=y\n# CONFIG_PATA_ARTOP is not set\n# CONFIG_PATA_ATIIXP is not set\n# CONFIG_PATA_ATP867X is not set\n# CONFIG_PATA_CMD64X is not set\n# CONFIG_PATA_CYPRESS is not set\n# CONFIG_PATA_EFAR is not set\n# CONFIG_PATA_HPT366 is not set\n# CONFIG_PATA_HPT37X is not set\n# CONFIG_PATA_HPT3X2N is not set\n# CONFIG_PATA_HPT3X3 is not set\n# CONFIG_PATA_IT8213 is not set\n# CONFIG_PATA_IT821X is not set\n# CONFIG_PATA_JMICRON is not set\n# CONFIG_PATA_MARVELL is not set\n# CONFIG_PATA_NETCELL is not set\n# CONFIG_PATA_NINJA32 is not set\n# CONFIG_PATA_NS87415 is not set\nCONFIG_PATA_OLDPIIX=y\n# CONFIG_PATA_OPTIDMA is not set\n# CONFIG_PATA_PDC2027X is not set\n# CONFIG_PATA_PDC_OLD is not set\n# CONFIG_PATA_RADISYS is not set\n# CONFIG_PATA_RDC is not set\nCONFIG_PATA_SCH=y\n# CONFIG_PATA_SERVERWORKS is not set\n# CONFIG_PATA_SIL680 is not set\n# CONFIG_PATA_SIS is not set\n# CONFIG_PATA_TOSHIBA is not set\n# CONFIG_PATA_TRIFLEX is not set\n# CONFIG_PATA_VIA is not set\n# CONFIG_PATA_WINBOND is not set\n\n#\n# PIO-only SFF controllers\n#\n# CONFIG_PATA_CMD640_PCI is not set\n# CONFIG_PATA_MPIIX is not set\n# CONFIG_PATA_NS87410 is not set\n# CONFIG_PATA_OPTI is not set\n# CONFIG_PATA_PCMCIA is not set\n# CONFIG_PATA_RZ1000 is not set\n\n#\n# Generic fallback / legacy drivers\n#\n# CONFIG_PATA_ACPI is not set\n# CONFIG_ATA_GENERIC is not set\n# CONFIG_PATA_LEGACY is not set\nCONFIG_MD=y\nCONFIG_BLK_DEV_MD=y\nCONFIG_MD_AUTODETECT=y\n# CONFIG_MD_LINEAR is not set\n# CONFIG_MD_RAID0 is not set\n# CONFIG_MD_RAID1 is not set\n# CONFIG_MD_RAID10 is not set\n# CONFIG_MD_RAID456 is not set\n# CONFIG_MD_MULTIPATH is not set\n# CONFIG_MD_FAULTY is not set\n# CONFIG_BCACHE is not set\nCONFIG_BLK_DEV_DM_BUILTIN=y\nCONFIG_BLK_DEV_DM=y\n# CONFIG_DM_DEBUG is not set\n# CONFIG_DM_UNSTRIPED is not set\n# CONFIG_DM_CRYPT is not set\n# CONFIG_DM_SNAPSHOT is not set\n# CONFIG_DM_THIN_PROVISIONING is not set\n# CONFIG_DM_CACHE is not set\n# CONFIG_DM_WRITECACHE is not set\n# CONFIG_DM_ERA is not set\n# CONFIG_DM_CLONE is not set\nCONFIG_DM_MIRROR=y\n# CONFIG_DM_LOG_USERSPACE is not set\n# CONFIG_DM_RAID is not set\nCONFIG_DM_ZERO=y\n# CONFIG_DM_MULTIPATH is not set\n# CONFIG_DM_DELAY is not set\n# CONFIG_DM_DUST is not set\n# CONFIG_DM_INIT is not set\n# CONFIG_DM_UEVENT is not set\n# CONFIG_DM_FLAKEY is not set\n# CONFIG_DM_VERITY is not set\n# CONFIG_DM_SWITCH is not set\n# CONFIG_DM_LOG_WRITES is not set\n# CONFIG_DM_INTEGRITY is not set\n# CONFIG_TARGET_CORE is not set\n# CONFIG_FUSION is not set\n\n#\n# IEEE 1394 (FireWire) support\n#\n# CONFIG_FIREWIRE is not set\n# CONFIG_FIREWIRE_NOSY is not set\n# end of IEEE 1394 (FireWire) support\n\nCONFIG_MACINTOSH_DRIVERS=y\nCONFIG_MAC_EMUMOUSEBTN=y\nCONFIG_NETDEVICES=y\nCONFIG_MII=y\nCONFIG_NET_CORE=y\n# CONFIG_BONDING is not set\n# CONFIG_DUMMY is not set\n# CONFIG_EQUALIZER is not set\n# CONFIG_NET_FC is not set\n# CONFIG_IFB is not set\n# CONFIG_NET_TEAM is not set\n# CONFIG_MACVLAN is not set\n# CONFIG_IPVLAN is not set\n# CONFIG_VXLAN is not set\n# CONFIG_GENEVE is not set\n# CONFIG_GTP is not set\n# CONFIG_MACSEC is not set\nCONFIG_NETCONSOLE=y\nCONFIG_NETPOLL=y\nCONFIG_NET_POLL_CONTROLLER=y\n# CONFIG_TUN is not set\n# CONFIG_TUN_VNET_CROSS_LE is not set\n# CONFIG_VETH is not set\n# CONFIG_NLMON is not set\n# CONFIG_ARCNET is not set\n\n#\n# Distributed Switch Architecture drivers\n#\n# end of Distributed Switch Architecture drivers\n\nCONFIG_ETHERNET=y\nCONFIG_NET_VENDOR_3COM=y\n# CONFIG_PCMCIA_3C574 is not set\n# CONFIG_PCMCIA_3C589 is not set\n# CONFIG_VORTEX is not set\n# CONFIG_TYPHOON is not set\nCONFIG_NET_VENDOR_ADAPTEC=y\n# CONFIG_ADAPTEC_STARFIRE is not set\nCONFIG_NET_VENDOR_AGERE=y\n# CONFIG_ET131X is not set\nCONFIG_NET_VENDOR_ALACRITECH=y\n# CONFIG_SLICOSS is not set\nCONFIG_NET_VENDOR_ALTEON=y\n# CONFIG_ACENIC is not set\n# CONFIG_ALTERA_TSE is not set\nCONFIG_NET_VENDOR_AMAZON=y\n# CONFIG_ENA_ETHERNET is not set\nCONFIG_NET_VENDOR_AMD=y\n# CONFIG_AMD8111_ETH is not set\n# CONFIG_PCNET32 is not set\n# CONFIG_PCMCIA_NMCLAN is not set\n# CONFIG_AMD_XGBE is not set\nCONFIG_NET_VENDOR_AQUANTIA=y\n# CONFIG_AQTION is not set\nCONFIG_NET_VENDOR_ARC=y\nCONFIG_NET_VENDOR_ATHEROS=y\n# CONFIG_ATL2 is not set\n# CONFIG_ATL1 is not set\n# CONFIG_ATL1E is not set\n# CONFIG_ATL1C is not set\n# CONFIG_ALX is not set\nCONFIG_NET_VENDOR_AURORA=y\n# CONFIG_AURORA_NB8800 is not set\nCONFIG_NET_VENDOR_BROADCOM=y\n# CONFIG_B44 is not set\n# CONFIG_BCMGENET is not set\n# CONFIG_BNX2 is not set\n# CONFIG_CNIC is not set\nCONFIG_TIGON3=y\nCONFIG_TIGON3_HWMON=y\n# CONFIG_BNX2X is not set\n# CONFIG_SYSTEMPORT is not set\n# CONFIG_BNXT is not set\nCONFIG_NET_VENDOR_BROCADE=y\n# CONFIG_BNA is not set\nCONFIG_NET_VENDOR_CADENCE=y\n# CONFIG_MACB is not set\nCONFIG_NET_VENDOR_CAVIUM=y\n# CONFIG_THUNDER_NIC_PF is not set\n# CONFIG_THUNDER_NIC_VF is not set\n# CONFIG_THUNDER_NIC_BGX is not set\n# CONFIG_THUNDER_NIC_RGX is not set\n# CONFIG_CAVIUM_PTP is not set\n# CONFIG_LIQUIDIO is not set\n# CONFIG_LIQUIDIO_VF is not set\nCONFIG_NET_VENDOR_CHELSIO=y\n# CONFIG_CHELSIO_T1 is not set\n# CONFIG_CHELSIO_T3 is not set\n# CONFIG_CHELSIO_T4 is not set\n# CONFIG_CHELSIO_T4VF is not set\nCONFIG_NET_VENDOR_CISCO=y\n# CONFIG_ENIC is not set\nCONFIG_NET_VENDOR_CORTINA=y\n# CONFIG_CX_ECAT is not set\n# CONFIG_DNET is not set\nCONFIG_NET_VENDOR_DEC=y\nCONFIG_NET_TULIP=y\n# CONFIG_DE2104X is not set\n# CONFIG_TULIP is not set\n# CONFIG_DE4X5 is not set\n# CONFIG_WINBOND_840 is not set\n# CONFIG_DM9102 is not set\n# CONFIG_ULI526X is not set\n# CONFIG_PCMCIA_XIRCOM is not set\nCONFIG_NET_VENDOR_DLINK=y\n# CONFIG_DL2K is not set\n# CONFIG_SUNDANCE is not set\nCONFIG_NET_VENDOR_EMULEX=y\n# CONFIG_BE2NET is not set\nCONFIG_NET_VENDOR_EZCHIP=y\nCONFIG_NET_VENDOR_FUJITSU=y\n# CONFIG_PCMCIA_FMVJ18X is not set\nCONFIG_NET_VENDOR_GOOGLE=y\n# CONFIG_GVE is not set\nCONFIG_NET_VENDOR_HUAWEI=y\n# CONFIG_HINIC is not set\nCONFIG_NET_VENDOR_I825XX=y\nCONFIG_NET_VENDOR_INTEL=y\nCONFIG_E100=y\nCONFIG_E1000=y\nCONFIG_E1000E=y\nCONFIG_E1000E_HWTS=y\n# CONFIG_IGB is not set\n# CONFIG_IGBVF is not set\n# CONFIG_IXGB is not set\n# CONFIG_IXGBE is not set\n# CONFIG_IXGBEVF is not set\n# CONFIG_I40E is not set\n# CONFIG_I40EVF is not set\n# CONFIG_ICE is not set\n# CONFIG_FM10K is not set\n# CONFIG_IGC is not set\n# CONFIG_JME is not set\nCONFIG_NET_VENDOR_MARVELL=y\n# CONFIG_MVMDIO is not set\n# CONFIG_SKGE is not set\nCONFIG_SKY2=y\n# CONFIG_SKY2_DEBUG is not set\nCONFIG_NET_VENDOR_MELLANOX=y\n# CONFIG_MLX4_EN is not set\n# CONFIG_MLX5_CORE is not set\n# CONFIG_MLXSW_CORE is not set\n# CONFIG_MLXFW is not set\nCONFIG_NET_VENDOR_MICREL=y\n# CONFIG_KS8842 is not set\n# CONFIG_KS8851_MLL is not set\n# CONFIG_KSZ884X_PCI is not set\nCONFIG_NET_VENDOR_MICROCHIP=y\n# CONFIG_LAN743X is not set\nCONFIG_NET_VENDOR_MICROSEMI=y\nCONFIG_NET_VENDOR_MYRI=y\n# CONFIG_MYRI10GE is not set\n# CONFIG_FEALNX is not set\nCONFIG_NET_VENDOR_NATSEMI=y\n# CONFIG_NATSEMI is not set\n# CONFIG_NS83820 is not set\nCONFIG_NET_VENDOR_NETERION=y\n# CONFIG_S2IO is not set\n# CONFIG_VXGE is not set\nCONFIG_NET_VENDOR_NETRONOME=y\n# CONFIG_NFP is not set\nCONFIG_NET_VENDOR_NI=y\n# CONFIG_NI_XGE_MANAGEMENT_ENET is not set\nCONFIG_NET_VENDOR_8390=y\n# CONFIG_PCMCIA_AXNET is not set\n# CONFIG_NE2K_PCI is not set\n# CONFIG_PCMCIA_PCNET is not set\nCONFIG_NET_VENDOR_NVIDIA=y\nCONFIG_FORCEDETH=y\nCONFIG_NET_VENDOR_OKI=y\n# CONFIG_ETHOC is not set\nCONFIG_NET_VENDOR_PACKET_ENGINES=y\n# CONFIG_HAMACHI is not set\n# CONFIG_YELLOWFIN is not set\nCONFIG_NET_VENDOR_PENSANDO=y\n# CONFIG_IONIC is not set\nCONFIG_NET_VENDOR_QLOGIC=y\n# CONFIG_QLA3XXX is not set\n# CONFIG_QLCNIC is not set\n# CONFIG_NETXEN_NIC is not set\n# CONFIG_QED is not set\nCONFIG_NET_VENDOR_QUALCOMM=y\n# CONFIG_QCOM_EMAC is not set\n# CONFIG_RMNET is not set\nCONFIG_NET_VENDOR_RDC=y\n# CONFIG_R6040 is not set\nCONFIG_NET_VENDOR_REALTEK=y\n# CONFIG_8139CP is not set\nCONFIG_8139TOO=y\nCONFIG_8139TOO_PIO=y\n# CONFIG_8139TOO_TUNE_TWISTER is not set\n# CONFIG_8139TOO_8129 is not set\n# CONFIG_8139_OLD_RX_RESET is not set\nCONFIG_R8169=y\nCONFIG_NET_VENDOR_RENESAS=y\nCONFIG_NET_VENDOR_ROCKER=y\nCONFIG_NET_VENDOR_SAMSUNG=y\n# CONFIG_SXGBE_ETH is not set\nCONFIG_NET_VENDOR_SEEQ=y\nCONFIG_NET_VENDOR_SOLARFLARE=y\n# CONFIG_SFC is not set\n# CONFIG_SFC_FALCON is not set\nCONFIG_NET_VENDOR_SILAN=y\n# CONFIG_SC92031 is not set\nCONFIG_NET_VENDOR_SIS=y\n# CONFIG_SIS900 is not set\n# CONFIG_SIS190 is not set\nCONFIG_NET_VENDOR_SMSC=y\n# CONFIG_PCMCIA_SMC91C92 is not set\n# CONFIG_EPIC100 is not set\n# CONFIG_SMSC911X is not set\n# CONFIG_SMSC9420 is not set\nCONFIG_NET_VENDOR_SOCIONEXT=y\nCONFIG_NET_VENDOR_STMICRO=y\n# CONFIG_STMMAC_ETH is not set\nCONFIG_NET_VENDOR_SUN=y\n# CONFIG_HAPPYMEAL is not set\n# CONFIG_SUNGEM is not set\n# CONFIG_CASSINI is not set\n# CONFIG_NIU is not set\nCONFIG_NET_VENDOR_SYNOPSYS=y\n# CONFIG_DWC_XLGMAC is not set\nCONFIG_NET_VENDOR_TEHUTI=y\n# CONFIG_TEHUTI is not set\nCONFIG_NET_VENDOR_TI=y\n# CONFIG_TI_CPSW_PHY_SEL is not set\n# CONFIG_TLAN is not set\nCONFIG_NET_VENDOR_VIA=y\n# CONFIG_VIA_RHINE is not set\n# CONFIG_VIA_VELOCITY is not set\nCONFIG_NET_VENDOR_WIZNET=y\n# CONFIG_WIZNET_W5100 is not set\n# CONFIG_WIZNET_W5300 is not set\nCONFIG_NET_VENDOR_XILINX=y\n# CONFIG_XILINX_AXI_EMAC is not set\n# CONFIG_XILINX_LL_TEMAC is not set\nCONFIG_NET_VENDOR_XIRCOM=y\n# CONFIG_PCMCIA_XIRC2PS is not set\nCONFIG_FDDI=y\n# CONFIG_DEFXX is not set\n# CONFIG_SKFP is not set\n# CONFIG_HIPPI is not set\n# CONFIG_NET_SB1000 is not set\nCONFIG_MDIO_DEVICE=y\nCONFIG_MDIO_BUS=y\n# CONFIG_MDIO_BCM_UNIMAC is not set\n# CONFIG_MDIO_BITBANG is not set\n# CONFIG_MDIO_MSCC_MIIM is not set\n# CONFIG_MDIO_THUNDER is not set\nCONFIG_PHYLIB=y\n# CONFIG_LED_TRIGGER_PHY is not set\n\n#\n# MII PHY device drivers\n#\n# CONFIG_ADIN_PHY is not set\n# CONFIG_AMD_PHY is not set\n# CONFIG_AQUANTIA_PHY is not set\n# CONFIG_AX88796B_PHY is not set\n# CONFIG_BCM7XXX_PHY is not set\n# CONFIG_BCM87XX_PHY is not set\n# CONFIG_BROADCOM_PHY is not set\n# CONFIG_CICADA_PHY is not set\n# CONFIG_CORTINA_PHY is not set\n# CONFIG_DAVICOM_PHY is not set\n# CONFIG_DP83822_PHY is not set\n# CONFIG_DP83TC811_PHY is not set\n# CONFIG_DP83848_PHY is not set\n# CONFIG_DP83867_PHY is not set\n# CONFIG_DP83869_PHY is not set\n# CONFIG_FIXED_PHY is not set\n# CONFIG_ICPLUS_PHY is not set\n# CONFIG_INTEL_XWAY_PHY is not set\n# CONFIG_LSI_ET1011C_PHY is not set\n# CONFIG_LXT_PHY is not set\n# CONFIG_MARVELL_PHY is not set\n# CONFIG_MARVELL_10G_PHY is not set\n# CONFIG_MICREL_PHY is not set\n# CONFIG_MICROCHIP_PHY is not set\n# CONFIG_MICROCHIP_T1_PHY is not set\n# CONFIG_MICROSEMI_PHY is not set\n# CONFIG_NATIONAL_PHY is not set\n# CONFIG_NXP_TJA11XX_PHY is not set\n# CONFIG_QSEMI_PHY is not set\nCONFIG_REALTEK_PHY=y\n# CONFIG_RENESAS_PHY is not set\n# CONFIG_ROCKCHIP_PHY is not set\n# CONFIG_SMSC_PHY is not set\n# CONFIG_STE10XP is not set\n# CONFIG_TERANETICS_PHY is not set\n# CONFIG_VITESSE_PHY is not set\n# CONFIG_XILINX_GMII2RGMII is not set\n# CONFIG_PPP is not set\n# CONFIG_SLIP is not set\nCONFIG_USB_NET_DRIVERS=y\n# CONFIG_USB_CATC is not set\n# CONFIG_USB_KAWETH is not set\n# CONFIG_USB_PEGASUS is not set\n# CONFIG_USB_RTL8150 is not set\n# CONFIG_USB_RTL8152 is not set\n# CONFIG_USB_LAN78XX is not set\n# CONFIG_USB_USBNET is not set\n# CONFIG_USB_HSO is not set\n# CONFIG_USB_IPHETH is not set\nCONFIG_WLAN=y\nCONFIG_WLAN_VENDOR_ADMTEK=y\n# CONFIG_ADM8211 is not set\nCONFIG_WLAN_VENDOR_ATH=y\n# CONFIG_ATH_DEBUG is not set\n# CONFIG_ATH5K is not set\n# CONFIG_ATH5K_PCI is not set\n# CONFIG_ATH9K is not set\n# CONFIG_ATH9K_HTC is not set\n# CONFIG_CARL9170 is not set\n# CONFIG_ATH6KL is not set\n# CONFIG_AR5523 is not set\n# CONFIG_WIL6210 is not set\n# CONFIG_ATH10K is not set\n# CONFIG_WCN36XX is not set\nCONFIG_WLAN_VENDOR_ATMEL=y\n# CONFIG_ATMEL is not set\n# CONFIG_AT76C50X_USB is not set\nCONFIG_WLAN_VENDOR_BROADCOM=y\n# CONFIG_B43 is not set\n# CONFIG_B43LEGACY is not set\n# CONFIG_BRCMSMAC is not set\n# CONFIG_BRCMFMAC is not set\nCONFIG_WLAN_VENDOR_CISCO=y\n# CONFIG_AIRO is not set\n# CONFIG_AIRO_CS is not set\nCONFIG_WLAN_VENDOR_INTEL=y\n# CONFIG_IPW2100 is not set\n# CONFIG_IPW2200 is not set\n# CONFIG_IWL4965 is not set\n# CONFIG_IWL3945 is not set\n# CONFIG_IWLWIFI is not set\nCONFIG_WLAN_VENDOR_INTERSIL=y\n# CONFIG_HOSTAP is not set\n# CONFIG_HERMES is not set\n# CONFIG_P54_COMMON is not set\n# CONFIG_PRISM54 is not set\nCONFIG_WLAN_VENDOR_MARVELL=y\n# CONFIG_LIBERTAS is not set\n# CONFIG_LIBERTAS_THINFIRM is not set\n# CONFIG_MWIFIEX is not set\n# CONFIG_MWL8K is not set\nCONFIG_WLAN_VENDOR_MEDIATEK=y\n# CONFIG_MT7601U is not set\n# CONFIG_MT76x0U is not set\n# CONFIG_MT76x0E is not set\n# CONFIG_MT76x2E is not set\n# CONFIG_MT76x2U is not set\n# CONFIG_MT7603E is not set\n# CONFIG_MT7615E is not set\nCONFIG_WLAN_VENDOR_RALINK=y\n# CONFIG_RT2X00 is not set\nCONFIG_WLAN_VENDOR_REALTEK=y\n# CONFIG_RTL8180 is not set\n# CONFIG_RTL8187 is not set\nCONFIG_RTL_CARDS=y\n# CONFIG_RTL8192CE is not set\n# CONFIG_RTL8192SE is not set\n# CONFIG_RTL8192DE is not set\n# CONFIG_RTL8723AE is not set\n# CONFIG_RTL8723BE is not set\n# CONFIG_RTL8188EE is not set\n# CONFIG_RTL8192EE is not set\n# CONFIG_RTL8821AE is not set\n# CONFIG_RTL8192CU is not set\n# CONFIG_RTL8XXXU is not set\n# CONFIG_RTW88 is not set\nCONFIG_WLAN_VENDOR_RSI=y\n# CONFIG_RSI_91X is not set\nCONFIG_WLAN_VENDOR_ST=y\n# CONFIG_CW1200 is not set\nCONFIG_WLAN_VENDOR_TI=y\n# CONFIG_WL1251 is not set\n# CONFIG_WL12XX is not set\n# CONFIG_WL18XX is not set\n# CONFIG_WLCORE is not set\nCONFIG_WLAN_VENDOR_ZYDAS=y\n# CONFIG_USB_ZD1201 is not set\n# CONFIG_ZD1211RW is not set\nCONFIG_WLAN_VENDOR_QUANTENNA=y\n# CONFIG_QTNFMAC_PCIE is not set\n# CONFIG_PCMCIA_RAYCS is not set\n# CONFIG_PCMCIA_WL3501 is not set\n# CONFIG_MAC80211_HWSIM is not set\n# CONFIG_USB_NET_RNDIS_WLAN is not set\n# CONFIG_VIRT_WIFI is not set\n\n#\n# Enable WiMAX (Networking options) to see the WiMAX drivers\n#\n# CONFIG_WAN is not set\n# CONFIG_VMXNET3 is not set\n# CONFIG_FUJITSU_ES is not set\n# CONFIG_NETDEVSIM is not set\n# CONFIG_NET_FAILOVER is not set\n# CONFIG_ISDN is not set\n# CONFIG_NVM is not set\n\n#\n# Input device support\n#\nCONFIG_INPUT=y\nCONFIG_INPUT_LEDS=y\nCONFIG_INPUT_FF_MEMLESS=y\nCONFIG_INPUT_POLLDEV=y\nCONFIG_INPUT_SPARSEKMAP=y\n# CONFIG_INPUT_MATRIXKMAP is not set\n\n#\n# Userland interfaces\n#\n# CONFIG_INPUT_MOUSEDEV is not set\n# CONFIG_INPUT_JOYDEV is not set\nCONFIG_INPUT_EVDEV=y\n# CONFIG_INPUT_EVBUG is not set\n\n#\n# Input Device Drivers\n#\nCONFIG_INPUT_KEYBOARD=y\n# CONFIG_KEYBOARD_ADP5588 is not set\n# CONFIG_KEYBOARD_ADP5589 is not set\nCONFIG_KEYBOARD_ATKBD=y\n# CONFIG_KEYBOARD_QT1050 is not set\n# CONFIG_KEYBOARD_QT1070 is not set\n# CONFIG_KEYBOARD_QT2160 is not set\n# CONFIG_KEYBOARD_DLINK_DIR685 is not set\n# CONFIG_KEYBOARD_LKKBD is not set\n# CONFIG_KEYBOARD_TCA6416 is not set\n# CONFIG_KEYBOARD_TCA8418 is not set\n# CONFIG_KEYBOARD_LM8323 is not set\n# CONFIG_KEYBOARD_LM8333 is not set\n# CONFIG_KEYBOARD_MAX7359 is not set\n# CONFIG_KEYBOARD_MCS is not set\n# CONFIG_KEYBOARD_MPR121 is not set\n# CONFIG_KEYBOARD_NEWTON is not set\n# CONFIG_KEYBOARD_OPENCORES is not set\n# CONFIG_KEYBOARD_SAMSUNG is not set\n# CONFIG_KEYBOARD_STOWAWAY is not set\n# CONFIG_KEYBOARD_SUNKBD is not set\n# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set\n# CONFIG_KEYBOARD_XTKBD is not set\nCONFIG_INPUT_MOUSE=y\nCONFIG_MOUSE_PS2=y\nCONFIG_MOUSE_PS2_ALPS=y\nCONFIG_MOUSE_PS2_BYD=y\nCONFIG_MOUSE_PS2_LOGIPS2PP=y\nCONFIG_MOUSE_PS2_SYNAPTICS=y\nCONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y\nCONFIG_MOUSE_PS2_CYPRESS=y\nCONFIG_MOUSE_PS2_LIFEBOOK=y\nCONFIG_MOUSE_PS2_TRACKPOINT=y\n# CONFIG_MOUSE_PS2_ELANTECH is not set\n# CONFIG_MOUSE_PS2_SENTELIC is not set\n# CONFIG_MOUSE_PS2_TOUCHKIT is not set\nCONFIG_MOUSE_PS2_FOCALTECH=y\nCONFIG_MOUSE_PS2_SMBUS=y\n# CONFIG_MOUSE_SERIAL is not set\n# CONFIG_MOUSE_APPLETOUCH is not set\n# CONFIG_MOUSE_BCM5974 is not set\n# CONFIG_MOUSE_CYAPA is not set\n# CONFIG_MOUSE_ELAN_I2C is not set\n# CONFIG_MOUSE_VSXXXAA is not set\n# CONFIG_MOUSE_SYNAPTICS_I2C is not set\n# CONFIG_MOUSE_SYNAPTICS_USB is not set\nCONFIG_INPUT_JOYSTICK=y\n# CONFIG_JOYSTICK_ANALOG is not set\n# CONFIG_JOYSTICK_A3D is not set\n# CONFIG_JOYSTICK_ADI is not set\n# CONFIG_JOYSTICK_COBRA is not set\n# CONFIG_JOYSTICK_GF2K is not set\n# CONFIG_JOYSTICK_GRIP is not set\n# CONFIG_JOYSTICK_GRIP_MP is not set\n# CONFIG_JOYSTICK_GUILLEMOT is not set\n# CONFIG_JOYSTICK_INTERACT is not set\n# CONFIG_JOYSTICK_SIDEWINDER is not set\n# CONFIG_JOYSTICK_TMDC is not set\n# CONFIG_JOYSTICK_IFORCE is not set\n# CONFIG_JOYSTICK_WARRIOR is not set\n# CONFIG_JOYSTICK_MAGELLAN is not set\n# CONFIG_JOYSTICK_SPACEORB is not set\n# CONFIG_JOYSTICK_SPACEBALL is not set\n# CONFIG_JOYSTICK_STINGER is not set\n# CONFIG_JOYSTICK_TWIDJOY is not set\n# CONFIG_JOYSTICK_ZHENHUA is not set\n# CONFIG_JOYSTICK_AS5011 is not set\n# CONFIG_JOYSTICK_JOYDUMP is not set\n# CONFIG_JOYSTICK_XPAD is not set\n# CONFIG_JOYSTICK_PXRC is not set\n# CONFIG_JOYSTICK_FSIA6B is not set\nCONFIG_INPUT_TABLET=y\n# CONFIG_TABLET_USB_ACECAD is not set\n# CONFIG_TABLET_USB_AIPTEK is not set\n# CONFIG_TABLET_USB_GTCO is not set\n# CONFIG_TABLET_USB_HANWANG is not set\n# CONFIG_TABLET_USB_KBTAB is not set\n# CONFIG_TABLET_USB_PEGASUS is not set\n# CONFIG_TABLET_SERIAL_WACOM4 is not set\nCONFIG_INPUT_TOUCHSCREEN=y\nCONFIG_TOUCHSCREEN_PROPERTIES=y\n# CONFIG_TOUCHSCREEN_AD7879 is not set\n# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set\n# CONFIG_TOUCHSCREEN_BU21013 is not set\n# CONFIG_TOUCHSCREEN_BU21029 is not set\n# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set\n# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set\n# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set\n# CONFIG_TOUCHSCREEN_DYNAPRO is not set\n# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set\n# CONFIG_TOUCHSCREEN_EETI is not set\n# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set\n# CONFIG_TOUCHSCREEN_EXC3000 is not set\n# CONFIG_TOUCHSCREEN_FUJITSU is not set\n# CONFIG_TOUCHSCREEN_HIDEEP is not set\n# CONFIG_TOUCHSCREEN_ILI210X is not set\n# CONFIG_TOUCHSCREEN_S6SY761 is not set\n# CONFIG_TOUCHSCREEN_GUNZE is not set\n# CONFIG_TOUCHSCREEN_EKTF2127 is not set\n# CONFIG_TOUCHSCREEN_ELAN is not set\n# CONFIG_TOUCHSCREEN_ELO is not set\n# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set\n# CONFIG_TOUCHSCREEN_WACOM_I2C is not set\n# CONFIG_TOUCHSCREEN_MAX11801 is not set\n# CONFIG_TOUCHSCREEN_MCS5000 is not set\n# CONFIG_TOUCHSCREEN_MMS114 is not set\n# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set\n# CONFIG_TOUCHSCREEN_MTOUCH is not set\n# CONFIG_TOUCHSCREEN_INEXIO is not set\n# CONFIG_TOUCHSCREEN_MK712 is not set\n# CONFIG_TOUCHSCREEN_PENMOUNT is not set\n# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set\n# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set\n# CONFIG_TOUCHSCREEN_TOUCHWIN is not set\n# CONFIG_TOUCHSCREEN_PIXCIR is not set\n# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set\n# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set\n# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set\n# CONFIG_TOUCHSCREEN_TSC_SERIO is not set\n# CONFIG_TOUCHSCREEN_TSC2004 is not set\n# CONFIG_TOUCHSCREEN_TSC2007 is not set\n# CONFIG_TOUCHSCREEN_SILEAD is not set\n# CONFIG_TOUCHSCREEN_ST1232 is not set\n# CONFIG_TOUCHSCREEN_STMFTS is not set\n# CONFIG_TOUCHSCREEN_SX8654 is not set\n# CONFIG_TOUCHSCREEN_TPS6507X is not set\n# CONFIG_TOUCHSCREEN_ZET6223 is not set\n# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set\n# CONFIG_TOUCHSCREEN_IQS5XX is not set\nCONFIG_INPUT_MISC=y\n# CONFIG_INPUT_AD714X is not set\n# CONFIG_INPUT_BMA150 is not set\n# CONFIG_INPUT_E3X0_BUTTON is not set\n# CONFIG_INPUT_MSM_VIBRATOR is not set\n# CONFIG_INPUT_PCSPKR is not set\n# CONFIG_INPUT_MMA8450 is not set\n# CONFIG_INPUT_APANEL is not set\n# CONFIG_INPUT_ATLAS_BTNS is not set\n# CONFIG_INPUT_ATI_REMOTE2 is not set\n# CONFIG_INPUT_KEYSPAN_REMOTE is not set\n# CONFIG_INPUT_KXTJ9 is not set\n# CONFIG_INPUT_POWERMATE is not set\n# CONFIG_INPUT_YEALINK is not set\n# CONFIG_INPUT_CM109 is not set\n# CONFIG_INPUT_UINPUT is not set\n# CONFIG_INPUT_PCF8574 is not set\n# CONFIG_INPUT_ADXL34X is not set\n# CONFIG_INPUT_IMS_PCU is not set\n# CONFIG_INPUT_CMA3000 is not set\n# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set\n# CONFIG_INPUT_DRV2665_HAPTICS is not set\n# CONFIG_INPUT_DRV2667_HAPTICS is not set\n# CONFIG_RMI4_CORE is not set\n\n#\n# Hardware I/O ports\n#\nCONFIG_SERIO=y\nCONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y\nCONFIG_SERIO_I8042=y\nCONFIG_SERIO_SERPORT=y\n# CONFIG_SERIO_CT82C710 is not set\n# CONFIG_SERIO_PCIPS2 is not set\nCONFIG_SERIO_LIBPS2=y\n# CONFIG_SERIO_RAW is not set\n# CONFIG_SERIO_ALTERA_PS2 is not set\n# CONFIG_SERIO_PS2MULT is not set\n# CONFIG_SERIO_ARC_PS2 is not set\n# CONFIG_USERIO is not set\n# CONFIG_GAMEPORT is not set\n# end of Hardware I/O ports\n# end of Input device support\n\n#\n# Character devices\n#\nCONFIG_TTY=y\nCONFIG_VT=y\nCONFIG_CONSOLE_TRANSLATIONS=y\nCONFIG_VT_CONSOLE=y\nCONFIG_VT_CONSOLE_SLEEP=y\nCONFIG_HW_CONSOLE=y\nCONFIG_VT_HW_CONSOLE_BINDING=y\nCONFIG_UNIX98_PTYS=y\n# CONFIG_LEGACY_PTYS is not set\nCONFIG_SERIAL_NONSTANDARD=y\n# CONFIG_ROCKETPORT is not set\n# CONFIG_CYCLADES is not set\n# CONFIG_MOXA_INTELLIO is not set\n# CONFIG_MOXA_SMARTIO is not set\n# CONFIG_SYNCLINK is not set\n# CONFIG_SYNCLINKMP is not set\n# CONFIG_SYNCLINK_GT is not set\n# CONFIG_NOZOMI is not set\n# CONFIG_ISI is not set\n# CONFIG_N_HDLC is not set\n# CONFIG_N_GSM is not set\n# CONFIG_TRACE_SINK is not set\n# CONFIG_NULL_TTY is not set\nCONFIG_LDISC_AUTOLOAD=y\nCONFIG_DEVMEM=y\n# CONFIG_DEVKMEM is not set\n\n#\n# Serial drivers\n#\nCONFIG_SERIAL_EARLYCON=y\nCONFIG_SERIAL_8250=y\nCONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y\nCONFIG_SERIAL_8250_PNP=y\n# CONFIG_SERIAL_8250_FINTEK is not set\nCONFIG_SERIAL_8250_CONSOLE=y\nCONFIG_SERIAL_8250_DMA=y\nCONFIG_SERIAL_8250_PCI=y\nCONFIG_SERIAL_8250_EXAR=y\n# CONFIG_SERIAL_8250_CS is not set\nCONFIG_SERIAL_8250_NR_UARTS=32\nCONFIG_SERIAL_8250_RUNTIME_UARTS=4\nCONFIG_SERIAL_8250_EXTENDED=y\nCONFIG_SERIAL_8250_MANY_PORTS=y\nCONFIG_SERIAL_8250_SHARE_IRQ=y\nCONFIG_SERIAL_8250_DETECT_IRQ=y\nCONFIG_SERIAL_8250_RSA=y\nCONFIG_SERIAL_8250_DWLIB=y\n# CONFIG_SERIAL_8250_DW is not set\n# CONFIG_SERIAL_8250_RT288X is not set\nCONFIG_SERIAL_8250_LPSS=y\nCONFIG_SERIAL_8250_MID=y\n\n#\n# Non-8250 serial port support\n#\n# CONFIG_SERIAL_UARTLITE is not set\nCONFIG_SERIAL_CORE=y\nCONFIG_SERIAL_CORE_CONSOLE=y\n# CONFIG_SERIAL_JSM is not set\n# CONFIG_SERIAL_SCCNXP is not set\n# CONFIG_SERIAL_SC16IS7XX is not set\n# CONFIG_SERIAL_ALTERA_JTAGUART is not set\n# CONFIG_SERIAL_ALTERA_UART is not set\n# CONFIG_SERIAL_ARC is not set\n# CONFIG_SERIAL_RP2 is not set\n# CONFIG_SERIAL_FSL_LPUART is not set\n# CONFIG_SERIAL_FSL_LINFLEXUART is not set\n# end of Serial drivers\n\n# CONFIG_SERIAL_DEV_BUS is not set\n# CONFIG_IPMI_HANDLER is not set\nCONFIG_HW_RANDOM=y\n# CONFIG_HW_RANDOM_TIMERIOMEM is not set\n# CONFIG_HW_RANDOM_INTEL is not set\n# CONFIG_HW_RANDOM_AMD is not set\nCONFIG_HW_RANDOM_VIA=y\nCONFIG_NVRAM=y\n# CONFIG_APPLICOM is not set\n\n#\n# PCMCIA character devices\n#\n# CONFIG_SYNCLINK_CS is not set\n# CONFIG_CARDMAN_4000 is not set\n# CONFIG_CARDMAN_4040 is not set\n# CONFIG_SCR24X is not set\n# CONFIG_IPWIRELESS is not set\n# end of PCMCIA character devices\n\n# CONFIG_MWAVE is not set\n# CONFIG_RAW_DRIVER is not set\nCONFIG_HPET=y\n# CONFIG_HPET_MMAP is not set\n# CONFIG_HANGCHECK_TIMER is not set\n# CONFIG_TCG_TPM is not set\n# CONFIG_TELCLOCK is not set\nCONFIG_DEVPORT=y\n# CONFIG_XILLYBUS is not set\n# end of Character devices\n\n# CONFIG_RANDOM_TRUST_CPU is not set\n# CONFIG_RANDOM_TRUST_BOOTLOADER is not set\n\n#\n# I2C support\n#\nCONFIG_I2C=y\nCONFIG_ACPI_I2C_OPREGION=y\nCONFIG_I2C_BOARDINFO=y\nCONFIG_I2C_COMPAT=y\n# CONFIG_I2C_CHARDEV is not set\n# CONFIG_I2C_MUX is not set\nCONFIG_I2C_HELPER_AUTO=y\nCONFIG_I2C_SMBUS=y\nCONFIG_I2C_ALGOBIT=y\n\n#\n# I2C Hardware Bus support\n#\n\n#\n# PC SMBus host controller drivers\n#\n# CONFIG_I2C_ALI1535 is not set\n# CONFIG_I2C_ALI1563 is not set\n# CONFIG_I2C_ALI15X3 is not set\n# CONFIG_I2C_AMD756 is not set\n# CONFIG_I2C_AMD8111 is not set\n# CONFIG_I2C_AMD_MP2 is not set\nCONFIG_I2C_I801=y\n# CONFIG_I2C_ISCH is not set\n# CONFIG_I2C_ISMT is not set\n# CONFIG_I2C_PIIX4 is not set\n# CONFIG_I2C_NFORCE2 is not set\n# CONFIG_I2C_NVIDIA_GPU is not set\n# CONFIG_I2C_SIS5595 is not set\n# CONFIG_I2C_SIS630 is not set\n# CONFIG_I2C_SIS96X is not set\n# CONFIG_I2C_VIA is not set\n# CONFIG_I2C_VIAPRO is not set\n\n#\n# ACPI drivers\n#\n# CONFIG_I2C_SCMI is not set\n\n#\n# I2C system bus drivers (mostly embedded / system-on-chip)\n#\n# CONFIG_I2C_DESIGNWARE_PLATFORM is not set\n# CONFIG_I2C_DESIGNWARE_PCI is not set\n# CONFIG_I2C_EMEV2 is not set\n# CONFIG_I2C_OCORES is not set\n# CONFIG_I2C_PCA_PLATFORM is not set\n# CONFIG_I2C_SIMTEC is not set\n# CONFIG_I2C_XILINX is not set\n\n#\n# External I2C/SMBus adapter drivers\n#\n# CONFIG_I2C_DIOLAN_U2C is not set\n# CONFIG_I2C_PARPORT_LIGHT is not set\n# CONFIG_I2C_ROBOTFUZZ_OSIF is not set\n# CONFIG_I2C_TAOS_EVM is not set\n# CONFIG_I2C_TINY_USB is not set\n\n#\n# Other I2C/SMBus bus drivers\n#\n# CONFIG_I2C_MLXCPLD is not set\n# end of I2C Hardware Bus support\n\n# CONFIG_I2C_STUB is not set\n# CONFIG_I2C_SLAVE is not set\n# CONFIG_I2C_DEBUG_CORE is not set\n# CONFIG_I2C_DEBUG_ALGO is not set\n# CONFIG_I2C_DEBUG_BUS is not set\n# end of I2C support\n\n# CONFIG_I3C is not set\n# CONFIG_SPI is not set\n# CONFIG_SPMI is not set\n# CONFIG_HSI is not set\nCONFIG_PPS=y\n# CONFIG_PPS_DEBUG is not set\n\n#\n# PPS clients support\n#\n# CONFIG_PPS_CLIENT_KTIMER is not set\n# CONFIG_PPS_CLIENT_LDISC is not set\n# CONFIG_PPS_CLIENT_GPIO is not set\n\n#\n# PPS generators support\n#\n\n#\n# PTP clock support\n#\nCONFIG_PTP_1588_CLOCK=y\n\n#\n# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.\n#\n# CONFIG_PTP_1588_CLOCK_IDTCM is not set\n# end of PTP clock support\n\n# CONFIG_PINCTRL is not set\n# CONFIG_GPIOLIB is not set\n# CONFIG_W1 is not set\n# CONFIG_POWER_AVS is not set\n# CONFIG_POWER_RESET is not set\nCONFIG_POWER_SUPPLY=y\n# CONFIG_POWER_SUPPLY_DEBUG is not set\nCONFIG_POWER_SUPPLY_HWMON=y\n# CONFIG_PDA_POWER is not set\n# CONFIG_TEST_POWER is not set\n# CONFIG_CHARGER_ADP5061 is not set\n# CONFIG_BATTERY_DS2780 is not set\n# CONFIG_BATTERY_DS2781 is not set\n# CONFIG_BATTERY_DS2782 is not set\n# CONFIG_BATTERY_SBS is not set\n# CONFIG_CHARGER_SBS is not set\n# CONFIG_BATTERY_BQ27XXX is not set\n# CONFIG_BATTERY_MAX17040 is not set\n# CONFIG_BATTERY_MAX17042 is not set\n# CONFIG_CHARGER_MAX8903 is not set\n# CONFIG_CHARGER_LP8727 is not set\n# CONFIG_CHARGER_BQ2415X is not set\n# CONFIG_CHARGER_SMB347 is not set\n# CONFIG_BATTERY_GAUGE_LTC2941 is not set\nCONFIG_HWMON=y\n# CONFIG_HWMON_DEBUG_CHIP is not set\n\n#\n# Native drivers\n#\n# CONFIG_SENSORS_ABITUGURU is not set\n# CONFIG_SENSORS_ABITUGURU3 is not set\n# CONFIG_SENSORS_AD7414 is not set\n# CONFIG_SENSORS_AD7418 is not set\n# CONFIG_SENSORS_ADM1021 is not set\n# CONFIG_SENSORS_ADM1025 is not set\n# CONFIG_SENSORS_ADM1026 is not set\n# CONFIG_SENSORS_ADM1029 is not set\n# CONFIG_SENSORS_ADM1031 is not set\n# CONFIG_SENSORS_ADM9240 is not set\n# CONFIG_SENSORS_ADT7410 is not set\n# CONFIG_SENSORS_ADT7411 is not set\n# CONFIG_SENSORS_ADT7462 is not set\n# CONFIG_SENSORS_ADT7470 is not set\n# CONFIG_SENSORS_ADT7475 is not set\n# CONFIG_SENSORS_AS370 is not set\n# CONFIG_SENSORS_ASC7621 is not set\n# CONFIG_SENSORS_K8TEMP is not set\n# CONFIG_SENSORS_K10TEMP is not set\n# CONFIG_SENSORS_FAM15H_POWER is not set\n# CONFIG_SENSORS_APPLESMC is not set\n# CONFIG_SENSORS_ASB100 is not set\n# CONFIG_SENSORS_ASPEED is not set\n# CONFIG_SENSORS_ATXP1 is not set\n# CONFIG_SENSORS_DS620 is not set\n# CONFIG_SENSORS_DS1621 is not set\n# CONFIG_SENSORS_DELL_SMM is not set\n# CONFIG_SENSORS_I5K_AMB is not set\n# CONFIG_SENSORS_F71805F is not set\n# CONFIG_SENSORS_F71882FG is not set\n# CONFIG_SENSORS_F75375S is not set\n# CONFIG_SENSORS_FSCHMD is not set\n# CONFIG_SENSORS_FTSTEUTATES is not set\n# CONFIG_SENSORS_GL518SM is not set\n# CONFIG_SENSORS_GL520SM is not set\n# CONFIG_SENSORS_G760A is not set\n# CONFIG_SENSORS_G762 is not set\n# CONFIG_SENSORS_HIH6130 is not set\n# CONFIG_SENSORS_I5500 is not set\n# CONFIG_SENSORS_CORETEMP is not set\n# CONFIG_SENSORS_IT87 is not set\n# CONFIG_SENSORS_JC42 is not set\n# CONFIG_SENSORS_POWR1220 is not set\n# CONFIG_SENSORS_LINEAGE is not set\n# CONFIG_SENSORS_LTC2945 is not set\n# CONFIG_SENSORS_LTC2947_I2C is not set\n# CONFIG_SENSORS_LTC2990 is not set\n# CONFIG_SENSORS_LTC4151 is not set\n# CONFIG_SENSORS_LTC4215 is not set\n# CONFIG_SENSORS_LTC4222 is not set\n# CONFIG_SENSORS_LTC4245 is not set\n# CONFIG_SENSORS_LTC4260 is not set\n# CONFIG_SENSORS_LTC4261 is not set\n# CONFIG_SENSORS_MAX16065 is not set\n# CONFIG_SENSORS_MAX1619 is not set\n# CONFIG_SENSORS_MAX1668 is not set\n# CONFIG_SENSORS_MAX197 is not set\n# CONFIG_SENSORS_MAX6621 is not set\n# CONFIG_SENSORS_MAX6639 is not set\n# CONFIG_SENSORS_MAX6642 is not set\n# CONFIG_SENSORS_MAX6650 is not set\n# CONFIG_SENSORS_MAX6697 is not set\n# CONFIG_SENSORS_MAX31790 is not set\n# CONFIG_SENSORS_MCP3021 is not set\n# CONFIG_SENSORS_TC654 is not set\n# CONFIG_SENSORS_LM63 is not set\n# CONFIG_SENSORS_LM73 is not set\n# CONFIG_SENSORS_LM75 is not set\n# CONFIG_SENSORS_LM77 is not set\n# CONFIG_SENSORS_LM78 is not set\n# CONFIG_SENSORS_LM80 is not set\n# CONFIG_SENSORS_LM83 is not set\n# CONFIG_SENSORS_LM85 is not set\n# CONFIG_SENSORS_LM87 is not set\n# CONFIG_SENSORS_LM90 is not set\n# CONFIG_SENSORS_LM92 is not set\n# CONFIG_SENSORS_LM93 is not set\n# CONFIG_SENSORS_LM95234 is not set\n# CONFIG_SENSORS_LM95241 is not set\n# CONFIG_SENSORS_LM95245 is not set\n# CONFIG_SENSORS_PC87360 is not set\n# CONFIG_SENSORS_PC87427 is not set\n# CONFIG_SENSORS_NTC_THERMISTOR is not set\n# CONFIG_SENSORS_NCT6683 is not set\n# CONFIG_SENSORS_NCT6775 is not set\n# CONFIG_SENSORS_NCT7802 is not set\n# CONFIG_SENSORS_NCT7904 is not set\n# CONFIG_SENSORS_NPCM7XX is not set\n# CONFIG_SENSORS_PCF8591 is not set\n# CONFIG_PMBUS is not set\n# CONFIG_SENSORS_SHT21 is not set\n# CONFIG_SENSORS_SHT3x is not set\n# CONFIG_SENSORS_SHTC1 is not set\n# CONFIG_SENSORS_SIS5595 is not set\n# CONFIG_SENSORS_DME1737 is not set\n# CONFIG_SENSORS_EMC1403 is not set\n# CONFIG_SENSORS_EMC2103 is not set\n# CONFIG_SENSORS_EMC6W201 is not set\n# CONFIG_SENSORS_SMSC47M1 is not set\n# CONFIG_SENSORS_SMSC47M192 is not set\n# CONFIG_SENSORS_SMSC47B397 is not set\n# CONFIG_SENSORS_SCH5627 is not set\n# CONFIG_SENSORS_SCH5636 is not set\n# CONFIG_SENSORS_STTS751 is not set\n# CONFIG_SENSORS_SMM665 is not set\n# CONFIG_SENSORS_ADC128D818 is not set\n# CONFIG_SENSORS_ADS7828 is not set\n# CONFIG_SENSORS_AMC6821 is not set\n# CONFIG_SENSORS_INA209 is not set\n# CONFIG_SENSORS_INA2XX is not set\n# CONFIG_SENSORS_INA3221 is not set\n# CONFIG_SENSORS_TC74 is not set\n# CONFIG_SENSORS_THMC50 is not set\n# CONFIG_SENSORS_TMP102 is not set\n# CONFIG_SENSORS_TMP103 is not set\n# CONFIG_SENSORS_TMP108 is not set\n# CONFIG_SENSORS_TMP401 is not set\n# CONFIG_SENSORS_TMP421 is not set\n# CONFIG_SENSORS_TMP513 is not set\n# CONFIG_SENSORS_VIA_CPUTEMP is not set\n# CONFIG_SENSORS_VIA686A is not set\n# CONFIG_SENSORS_VT1211 is not set\n# CONFIG_SENSORS_VT8231 is not set\n# CONFIG_SENSORS_W83773G is not set\n# CONFIG_SENSORS_W83781D is not set\n# CONFIG_SENSORS_W83791D is not set\n# CONFIG_SENSORS_W83792D is not set\n# CONFIG_SENSORS_W83793 is not set\n# CONFIG_SENSORS_W83795 is not set\n# CONFIG_SENSORS_W83L785TS is not set\n# CONFIG_SENSORS_W83L786NG is not set\n# CONFIG_SENSORS_W83627HF is not set\n# CONFIG_SENSORS_W83627EHF is not set\n# CONFIG_SENSORS_XGENE is not set\n\n#\n# ACPI drivers\n#\n# CONFIG_SENSORS_ACPI_POWER is not set\n# CONFIG_SENSORS_ATK0110 is not set\nCONFIG_THERMAL=y\n# CONFIG_THERMAL_STATISTICS is not set\nCONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0\nCONFIG_THERMAL_HWMON=y\nCONFIG_THERMAL_WRITABLE_TRIPS=y\nCONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y\n# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set\n# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set\n# CONFIG_THERMAL_GOV_FAIR_SHARE is not set\nCONFIG_THERMAL_GOV_STEP_WISE=y\n# CONFIG_THERMAL_GOV_BANG_BANG is not set\nCONFIG_THERMAL_GOV_USER_SPACE=y\n# CONFIG_THERMAL_EMULATION is not set\n\n#\n# Intel thermal drivers\n#\n# CONFIG_INTEL_POWERCLAMP is not set\nCONFIG_X86_PKG_TEMP_THERMAL=m\n# CONFIG_INTEL_SOC_DTS_THERMAL is not set\n\n#\n# ACPI INT340X thermal drivers\n#\n# CONFIG_INT340X_THERMAL is not set\n# end of ACPI INT340X thermal drivers\n\n# CONFIG_INTEL_PCH_THERMAL is not set\n# end of Intel thermal drivers\n\nCONFIG_WATCHDOG=y\n# CONFIG_WATCHDOG_CORE is not set\n# CONFIG_WATCHDOG_NOWAYOUT is not set\nCONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y\nCONFIG_WATCHDOG_OPEN_TIMEOUT=0\n# CONFIG_WATCHDOG_SYSFS is not set\n\n#\n# Watchdog Pretimeout Governors\n#\n\n#\n# Watchdog Device Drivers\n#\n# CONFIG_SOFT_WATCHDOG is not set\n# CONFIG_WDAT_WDT is not set\n# CONFIG_XILINX_WATCHDOG is not set\n# CONFIG_ZIIRAVE_WATCHDOG is not set\n# CONFIG_CADENCE_WATCHDOG is not set\n# CONFIG_DW_WATCHDOG is not set\n# CONFIG_MAX63XX_WATCHDOG is not set\n# CONFIG_ACQUIRE_WDT is not set\n# CONFIG_ADVANTECH_WDT is not set\n# CONFIG_ALIM1535_WDT is not set\n# CONFIG_ALIM7101_WDT is not set\n# CONFIG_EBC_C384_WDT is not set\n# CONFIG_F71808E_WDT is not set\n# CONFIG_SP5100_TCO is not set\n# CONFIG_SBC_FITPC2_WATCHDOG is not set\n# CONFIG_EUROTECH_WDT is not set\n# CONFIG_IB700_WDT is not set\n# CONFIG_IBMASR is not set\n# CONFIG_WAFER_WDT is not set\n# CONFIG_I6300ESB_WDT is not set\n# CONFIG_IE6XX_WDT is not set\n# CONFIG_ITCO_WDT is not set\n# CONFIG_IT8712F_WDT is not set\n# CONFIG_IT87_WDT is not set\n# CONFIG_HP_WATCHDOG is not set\n# CONFIG_SC1200_WDT is not set\n# CONFIG_PC87413_WDT is not set\n# CONFIG_NV_TCO is not set\n# CONFIG_60XX_WDT is not set\n# CONFIG_CPU5_WDT is not set\n# CONFIG_SMSC_SCH311X_WDT is not set\n# CONFIG_SMSC37B787_WDT is not set\n# CONFIG_TQMX86_WDT is not set\n# CONFIG_VIA_WDT is not set\n# CONFIG_W83627HF_WDT is not set\n# CONFIG_W83877F_WDT is not set\n# CONFIG_W83977F_WDT is not set\n# CONFIG_MACHZ_WDT is not set\n# CONFIG_SBC_EPX_C3_WATCHDOG is not set\n# CONFIG_NI903X_WDT is not set\n# CONFIG_NIC7018_WDT is not set\n\n#\n# PCI-based Watchdog Cards\n#\n# CONFIG_PCIPCWATCHDOG is not set\n# CONFIG_WDTPCI is not set\n\n#\n# USB-based Watchdog Cards\n#\n# CONFIG_USBPCWATCHDOG is not set\nCONFIG_SSB_POSSIBLE=y\n# CONFIG_SSB is not set\nCONFIG_BCMA_POSSIBLE=y\n# CONFIG_BCMA is not set\n\n#\n# Multifunction device drivers\n#\n# CONFIG_MFD_AS3711 is not set\n# CONFIG_PMIC_ADP5520 is not set\n# CONFIG_MFD_BCM590XX is not set\n# CONFIG_MFD_BD9571MWV is not set\n# CONFIG_MFD_AXP20X_I2C is not set\n# CONFIG_MFD_MADERA is not set\n# CONFIG_PMIC_DA903X is not set\n# CONFIG_MFD_DA9052_I2C is not set\n# CONFIG_MFD_DA9055 is not set\n# CONFIG_MFD_DA9062 is not set\n# CONFIG_MFD_DA9063 is not set\n# CONFIG_MFD_DA9150 is not set\n# CONFIG_MFD_DLN2 is not set\n# CONFIG_MFD_MC13XXX_I2C is not set\n# CONFIG_HTC_PASIC3 is not set\n# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set\n# CONFIG_LPC_ICH is not set\n# CONFIG_LPC_SCH is not set\n# CONFIG_MFD_INTEL_LPSS_ACPI is not set\n# CONFIG_MFD_INTEL_LPSS_PCI is not set\n# CONFIG_MFD_JANZ_CMODIO is not set\n# CONFIG_MFD_KEMPLD is not set\n# CONFIG_MFD_88PM800 is not set\n# CONFIG_MFD_88PM805 is not set\n# CONFIG_MFD_88PM860X is not set\n# CONFIG_MFD_MAX14577 is not set\n# CONFIG_MFD_MAX77693 is not set\n# CONFIG_MFD_MAX77843 is not set\n# CONFIG_MFD_MAX8907 is not set\n# CONFIG_MFD_MAX8925 is not set\n# CONFIG_MFD_MAX8997 is not set\n# CONFIG_MFD_MAX8998 is not set\n# CONFIG_MFD_MT6397 is not set\n# CONFIG_MFD_MENF21BMC is not set\n# CONFIG_MFD_VIPERBOARD is not set\n# CONFIG_MFD_RETU is not set\n# CONFIG_MFD_PCF50633 is not set\n# CONFIG_MFD_RDC321X is not set\n# CONFIG_MFD_RT5033 is not set\n# CONFIG_MFD_RC5T583 is not set\n# CONFIG_MFD_SEC_CORE is not set\n# CONFIG_MFD_SI476X_CORE is not set\n# CONFIG_MFD_SM501 is not set\n# CONFIG_MFD_SKY81452 is not set\n# CONFIG_MFD_SMSC is not set\n# CONFIG_ABX500_CORE is not set\n# CONFIG_MFD_SYSCON is not set\n# CONFIG_MFD_TI_AM335X_TSCADC is not set\n# CONFIG_MFD_LP3943 is not set\n# CONFIG_MFD_LP8788 is not set\n# CONFIG_MFD_TI_LMU is not set\n# CONFIG_MFD_PALMAS is not set\n# CONFIG_TPS6105X is not set\n# CONFIG_TPS6507X is not set\n# CONFIG_MFD_TPS65086 is not set\n# CONFIG_MFD_TPS65090 is not set\n# CONFIG_MFD_TI_LP873X is not set\n# CONFIG_MFD_TPS6586X is not set\n# CONFIG_MFD_TPS65912_I2C is not set\n# CONFIG_MFD_TPS80031 is not set\n# CONFIG_TWL4030_CORE is not set\n# CONFIG_TWL6040_CORE is not set\n# CONFIG_MFD_WL1273_CORE is not set\n# CONFIG_MFD_LM3533 is not set\n# CONFIG_MFD_TQMX86 is not set\n# CONFIG_MFD_VX855 is not set\n# CONFIG_MFD_ARIZONA_I2C is not set\n# CONFIG_MFD_WM8400 is not set\n# CONFIG_MFD_WM831X_I2C is not set\n# CONFIG_MFD_WM8350_I2C is not set\n# CONFIG_MFD_WM8994 is not set\n# end of Multifunction device drivers\n\n# CONFIG_REGULATOR is not set\n# CONFIG_RC_CORE is not set\n# CONFIG_MEDIA_SUPPORT is not set\n\n#\n# Graphics support\n#\nCONFIG_AGP=y\nCONFIG_AGP_AMD64=y\nCONFIG_AGP_INTEL=y\n# CONFIG_AGP_SIS is not set\n# CONFIG_AGP_VIA is not set\nCONFIG_INTEL_GTT=y\nCONFIG_VGA_ARB=y\nCONFIG_VGA_ARB_MAX_GPUS=16\n# CONFIG_VGA_SWITCHEROO is not set\nCONFIG_DRM=y\nCONFIG_DRM_MIPI_DSI=y\n# CONFIG_DRM_DP_AUX_CHARDEV is not set\n# CONFIG_DRM_DEBUG_MM is not set\n# CONFIG_DRM_DEBUG_SELFTEST is not set\nCONFIG_DRM_KMS_HELPER=y\nCONFIG_DRM_KMS_FB_HELPER=y\nCONFIG_DRM_FBDEV_EMULATION=y\nCONFIG_DRM_FBDEV_OVERALLOC=100\n# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set\n# CONFIG_DRM_DP_CEC is not set\n\n#\n# I2C encoder or helper chips\n#\n# CONFIG_DRM_I2C_CH7006 is not set\n# CONFIG_DRM_I2C_SIL164 is not set\n# CONFIG_DRM_I2C_NXP_TDA998X is not set\n# CONFIG_DRM_I2C_NXP_TDA9950 is not set\n# end of I2C encoder or helper chips\n\n#\n# ARM devices\n#\n# end of ARM devices\n\n# CONFIG_DRM_RADEON is not set\n# CONFIG_DRM_AMDGPU is not set\n\n#\n# ACP (Audio CoProcessor) Configuration\n#\n# end of ACP (Audio CoProcessor) Configuration\n\n# CONFIG_DRM_NOUVEAU is not set\nCONFIG_DRM_I915=y\n# CONFIG_DRM_I915_ALPHA_SUPPORT is not set\nCONFIG_DRM_I915_FORCE_PROBE=\"\"\nCONFIG_DRM_I915_CAPTURE_ERROR=y\nCONFIG_DRM_I915_COMPRESS_ERROR=y\nCONFIG_DRM_I915_USERPTR=y\n# CONFIG_DRM_I915_GVT is not set\nCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250\nCONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500\nCONFIG_DRM_I915_PREEMPT_TIMEOUT=640\nCONFIG_DRM_I915_SPIN_REQUEST=5\nCONFIG_DRM_I915_STOP_TIMEOUT=100\nCONFIG_DRM_I915_TIMESLICE_DURATION=1\n# CONFIG_DRM_VGEM is not set\n# CONFIG_DRM_VKMS is not set\n# CONFIG_DRM_VMWGFX is not set\n# CONFIG_DRM_GMA500 is not set\n# CONFIG_DRM_UDL is not set\n# CONFIG_DRM_AST is not set\n# CONFIG_DRM_MGAG200 is not set\n# CONFIG_DRM_CIRRUS_QEMU is not set\n# CONFIG_DRM_QXL is not set\n# CONFIG_DRM_BOCHS is not set\nCONFIG_DRM_PANEL=y\n\n#\n# Display Panels\n#\n# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set\n# end of Display Panels\n\nCONFIG_DRM_BRIDGE=y\nCONFIG_DRM_PANEL_BRIDGE=y\n\n#\n# Display Interface Bridges\n#\n# CONFIG_DRM_ANALOGIX_ANX78XX is not set\n# end of Display Interface Bridges\n\n# CONFIG_DRM_ETNAVIV is not set\n# CONFIG_DRM_GM12U320 is not set\n# CONFIG_DRM_VBOXVIDEO is not set\n# CONFIG_DRM_LEGACY is not set\nCONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y\n\n#\n# Frame buffer Devices\n#\nCONFIG_FB_CMDLINE=y\nCONFIG_FB_NOTIFY=y\nCONFIG_FB=y\n# CONFIG_FIRMWARE_EDID is not set\nCONFIG_FB_CFB_FILLRECT=y\nCONFIG_FB_CFB_COPYAREA=y\nCONFIG_FB_CFB_IMAGEBLIT=y\nCONFIG_FB_SYS_FILLRECT=y\nCONFIG_FB_SYS_COPYAREA=y\nCONFIG_FB_SYS_IMAGEBLIT=y\n# CONFIG_FB_FOREIGN_ENDIAN is not set\nCONFIG_FB_SYS_FOPS=y\nCONFIG_FB_DEFERRED_IO=y\nCONFIG_FB_MODE_HELPERS=y\nCONFIG_FB_TILEBLITTING=y\n\n#\n# Frame buffer hardware drivers\n#\n# CONFIG_FB_CIRRUS is not set\n# CONFIG_FB_PM2 is not set\n# CONFIG_FB_CYBER2000 is not set\n# CONFIG_FB_ARC is not set\n# CONFIG_FB_ASILIANT is not set\n# CONFIG_FB_IMSTT is not set\n# CONFIG_FB_VGA16 is not set\n# CONFIG_FB_UVESA is not set\n# CONFIG_FB_VESA is not set\nCONFIG_FB_EFI=y\n# CONFIG_FB_N411 is not set\n# CONFIG_FB_HGA is not set\n# CONFIG_FB_OPENCORES is not set\n# CONFIG_FB_S1D13XXX is not set\n# CONFIG_FB_NVIDIA is not set\n# CONFIG_FB_RIVA is not set\n# CONFIG_FB_I740 is not set\n# CONFIG_FB_LE80578 is not set\n# CONFIG_FB_MATROX is not set\n# CONFIG_FB_RADEON is not set\n# CONFIG_FB_ATY128 is not set\n# CONFIG_FB_ATY is not set\n# CONFIG_FB_S3 is not set\n# CONFIG_FB_SAVAGE is not set\n# CONFIG_FB_SIS is not set\n# CONFIG_FB_NEOMAGIC is not set\n# CONFIG_FB_KYRO is not set\n# CONFIG_FB_3DFX is not set\n# CONFIG_FB_VOODOO1 is not set\n# CONFIG_FB_VT8623 is not set\n# CONFIG_FB_TRIDENT is not set\n# CONFIG_FB_ARK is not set\n# CONFIG_FB_PM3 is not set\n# CONFIG_FB_CARMINE is not set\n# CONFIG_FB_SMSCUFX is not set\n# CONFIG_FB_UDL is not set\n# CONFIG_FB_IBM_GXT4500 is not set\n# CONFIG_FB_VIRTUAL is not set\n# CONFIG_FB_METRONOME is not set\n# CONFIG_FB_MB862XX is not set\n# CONFIG_FB_SIMPLE is not set\n# CONFIG_FB_SM712 is not set\n# end of Frame buffer Devices\n\n#\n# Backlight & LCD device support\n#\n# CONFIG_LCD_CLASS_DEVICE is not set\nCONFIG_BACKLIGHT_CLASS_DEVICE=y\nCONFIG_BACKLIGHT_GENERIC=y\n# CONFIG_BACKLIGHT_APPLE is not set\n# CONFIG_BACKLIGHT_QCOM_WLED is not set\n# CONFIG_BACKLIGHT_SAHARA is not set\n# CONFIG_BACKLIGHT_ADP8860 is not set\n# CONFIG_BACKLIGHT_ADP8870 is not set\n# CONFIG_BACKLIGHT_LM3639 is not set\n# CONFIG_BACKLIGHT_LV5207LP is not set\n# CONFIG_BACKLIGHT_BD6107 is not set\n# CONFIG_BACKLIGHT_ARCXCNN is not set\n# end of Backlight & LCD device support\n\nCONFIG_HDMI=y\n\n#\n# Console display driver support\n#\nCONFIG_VGA_CONSOLE=y\nCONFIG_VGACON_SOFT_SCROLLBACK=y\nCONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64\n# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set\nCONFIG_DUMMY_CONSOLE=y\nCONFIG_DUMMY_CONSOLE_COLUMNS=80\nCONFIG_DUMMY_CONSOLE_ROWS=25\nCONFIG_FRAMEBUFFER_CONSOLE=y\nCONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y\n# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set\n# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set\n# end of Console display driver support\n\nCONFIG_LOGO=y\n# CONFIG_LOGO_LINUX_MONO is not set\n# CONFIG_LOGO_LINUX_VGA16 is not set\nCONFIG_LOGO_LINUX_CLUT224=y\n# end of Graphics support\n\nCONFIG_SOUND=y\nCONFIG_SND=y\nCONFIG_SND_TIMER=y\nCONFIG_SND_PCM=y\nCONFIG_SND_HWDEP=y\nCONFIG_SND_SEQ_DEVICE=y\nCONFIG_SND_JACK=y\nCONFIG_SND_JACK_INPUT_DEV=y\n# CONFIG_SND_OSSEMUL is not set\nCONFIG_SND_PCM_TIMER=y\nCONFIG_SND_HRTIMER=y\n# CONFIG_SND_DYNAMIC_MINORS is not set\nCONFIG_SND_SUPPORT_OLD_API=y\nCONFIG_SND_PROC_FS=y\nCONFIG_SND_VERBOSE_PROCFS=y\n# CONFIG_SND_VERBOSE_PRINTK is not set\n# CONFIG_SND_DEBUG is not set\nCONFIG_SND_VMASTER=y\nCONFIG_SND_DMA_SGBUF=y\nCONFIG_SND_SEQUENCER=y\nCONFIG_SND_SEQ_DUMMY=y\nCONFIG_SND_SEQ_HRTIMER_DEFAULT=y\nCONFIG_SND_DRIVERS=y\n# CONFIG_SND_PCSP is not set\n# CONFIG_SND_DUMMY is not set\n# CONFIG_SND_ALOOP is not set\n# CONFIG_SND_VIRMIDI is not set\n# CONFIG_SND_MTPAV is not set\n# CONFIG_SND_SERIAL_U16550 is not set\n# CONFIG_SND_MPU401 is not set\nCONFIG_SND_PCI=y\n# CONFIG_SND_AD1889 is not set\n# CONFIG_SND_ALS300 is not set\n# CONFIG_SND_ALS4000 is not set\n# CONFIG_SND_ALI5451 is not set\n# CONFIG_SND_ASIHPI is not set\n# CONFIG_SND_ATIIXP is not set\n# CONFIG_SND_ATIIXP_MODEM is not set\n# CONFIG_SND_AU8810 is not set\n# CONFIG_SND_AU8820 is not set\n# CONFIG_SND_AU8830 is not set\n# CONFIG_SND_AW2 is not set\n# CONFIG_SND_AZT3328 is not set\n# CONFIG_SND_BT87X is not set\n# CONFIG_SND_CA0106 is not set\n# CONFIG_SND_CMIPCI is not set\n# CONFIG_SND_OXYGEN is not set\n# CONFIG_SND_CS4281 is not set\n# CONFIG_SND_CS46XX is not set\n# CONFIG_SND_CTXFI is not set\n# CONFIG_SND_DARLA20 is not set\n# CONFIG_SND_GINA20 is not set\n# CONFIG_SND_LAYLA20 is not set\n# CONFIG_SND_DARLA24 is not set\n# CONFIG_SND_GINA24 is not set\n# CONFIG_SND_LAYLA24 is not set\n# CONFIG_SND_MONA is not set\n# CONFIG_SND_MIA is not set\n# CONFIG_SND_ECHO3G is not set\n# CONFIG_SND_INDIGO is not set\n# CONFIG_SND_INDIGOIO is not set\n# CONFIG_SND_INDIGODJ is not set\n# CONFIG_SND_INDIGOIOX is not set\n# CONFIG_SND_INDIGODJX is not set\n# CONFIG_SND_EMU10K1 is not set\n# CONFIG_SND_EMU10K1X is not set\n# CONFIG_SND_ENS1370 is not set\n# CONFIG_SND_ENS1371 is not set\n# CONFIG_SND_ES1938 is not set\n# CONFIG_SND_ES1968 is not set\n# CONFIG_SND_FM801 is not set\n# CONFIG_SND_HDSP is not set\n# CONFIG_SND_HDSPM is not set\n# CONFIG_SND_ICE1712 is not set\n# CONFIG_SND_ICE1724 is not set\n# CONFIG_SND_INTEL8X0 is not set\n# CONFIG_SND_INTEL8X0M is not set\n# CONFIG_SND_KORG1212 is not set\n# CONFIG_SND_LOLA is not set\n# CONFIG_SND_LX6464ES is not set\n# CONFIG_SND_MAESTRO3 is not set\n# CONFIG_SND_MIXART is not set\n# CONFIG_SND_NM256 is not set\n# CONFIG_SND_PCXHR is not set\n# CONFIG_SND_RIPTIDE is not set\n# CONFIG_SND_RME32 is not set\n# CONFIG_SND_RME96 is not set\n# CONFIG_SND_RME9652 is not set\n# CONFIG_SND_SE6X is not set\n# CONFIG_SND_SONICVIBES is not set\n# CONFIG_SND_TRIDENT is not set\n# CONFIG_SND_VIA82XX is not set\n# CONFIG_SND_VIA82XX_MODEM is not set\n# CONFIG_SND_VIRTUOSO is not set\n# CONFIG_SND_VX222 is not set\n# CONFIG_SND_YMFPCI is not set\n\n#\n# HD-Audio\n#\nCONFIG_SND_HDA=y\nCONFIG_SND_HDA_INTEL=y\nCONFIG_SND_HDA_HWDEP=y\n# CONFIG_SND_HDA_RECONFIG is not set\n# CONFIG_SND_HDA_INPUT_BEEP is not set\n# CONFIG_SND_HDA_PATCH_LOADER is not set\n# CONFIG_SND_HDA_CODEC_REALTEK is not set\n# CONFIG_SND_HDA_CODEC_ANALOG is not set\n# CONFIG_SND_HDA_CODEC_SIGMATEL is not set\n# CONFIG_SND_HDA_CODEC_VIA is not set\n# CONFIG_SND_HDA_CODEC_HDMI is not set\n# CONFIG_SND_HDA_CODEC_CIRRUS is not set\n# CONFIG_SND_HDA_CODEC_CONEXANT is not set\n# CONFIG_SND_HDA_CODEC_CA0110 is not set\n# CONFIG_SND_HDA_CODEC_CA0132 is not set\n# CONFIG_SND_HDA_CODEC_CMEDIA is not set\n# CONFIG_SND_HDA_CODEC_SI3054 is not set\n# CONFIG_SND_HDA_GENERIC is not set\nCONFIG_SND_HDA_POWER_SAVE_DEFAULT=0\n# end of HD-Audio\n\nCONFIG_SND_HDA_CORE=y\nCONFIG_SND_HDA_COMPONENT=y\nCONFIG_SND_HDA_I915=y\nCONFIG_SND_HDA_PREALLOC_SIZE=64\nCONFIG_SND_INTEL_NHLT=y\nCONFIG_SND_INTEL_DSP_CONFIG=y\nCONFIG_SND_USB=y\n# CONFIG_SND_USB_AUDIO is not set\n# CONFIG_SND_USB_UA101 is not set\n# CONFIG_SND_USB_USX2Y is not set\n# CONFIG_SND_USB_CAIAQ is not set\n# CONFIG_SND_USB_US122L is not set\n# CONFIG_SND_USB_6FIRE is not set\n# CONFIG_SND_USB_HIFACE is not set\n# CONFIG_SND_BCD2000 is not set\n# CONFIG_SND_USB_POD is not set\n# CONFIG_SND_USB_PODHD is not set\n# CONFIG_SND_USB_TONEPORT is not set\n# CONFIG_SND_USB_VARIAX is not set\nCONFIG_SND_PCMCIA=y\n# CONFIG_SND_VXPOCKET is not set\n# CONFIG_SND_PDAUDIOCF is not set\n# CONFIG_SND_SOC is not set\nCONFIG_SND_X86=y\n# CONFIG_HDMI_LPE_AUDIO is not set\n\n#\n# HID support\n#\nCONFIG_HID=y\n# CONFIG_HID_BATTERY_STRENGTH is not set\nCONFIG_HIDRAW=y\n# CONFIG_UHID is not set\nCONFIG_HID_GENERIC=y\n\n#\n# Special HID drivers\n#\nCONFIG_HID_A4TECH=y\n# CONFIG_HID_ACCUTOUCH is not set\n# CONFIG_HID_ACRUX is not set\nCONFIG_HID_APPLE=y\n# CONFIG_HID_APPLEIR is not set\n# CONFIG_HID_ASUS is not set\n# CONFIG_HID_AUREAL is not set\nCONFIG_HID_BELKIN=y\n# CONFIG_HID_BETOP_FF is not set\n# CONFIG_HID_BIGBEN_FF is not set\nCONFIG_HID_CHERRY=y\nCONFIG_HID_CHICONY=y\n# CONFIG_HID_CORSAIR is not set\n# CONFIG_HID_COUGAR is not set\n# CONFIG_HID_MACALLY is not set\n# CONFIG_HID_PRODIKEYS is not set\n# CONFIG_HID_CMEDIA is not set\n# CONFIG_HID_CREATIVE_SB0540 is not set\nCONFIG_HID_CYPRESS=y\n# CONFIG_HID_DRAGONRISE is not set\n# CONFIG_HID_EMS_FF is not set\n# CONFIG_HID_ELAN is not set\n# CONFIG_HID_ELECOM is not set\n# CONFIG_HID_ELO is not set\nCONFIG_HID_EZKEY=y\n# CONFIG_HID_GEMBIRD is not set\n# CONFIG_HID_GFRM is not set\n# CONFIG_HID_HOLTEK is not set\n# CONFIG_HID_GT683R is not set\n# CONFIG_HID_KEYTOUCH is not set\n# CONFIG_HID_KYE is not set\n# CONFIG_HID_UCLOGIC is not set\n# CONFIG_HID_WALTOP is not set\n# CONFIG_HID_VIEWSONIC is not set\nCONFIG_HID_GYRATION=y\n# CONFIG_HID_ICADE is not set\nCONFIG_HID_ITE=y\n# CONFIG_HID_JABRA is not set\n# CONFIG_HID_TWINHAN is not set\nCONFIG_HID_KENSINGTON=y\n# CONFIG_HID_LCPOWER is not set\n# CONFIG_HID_LED is not set\n# CONFIG_HID_LENOVO is not set\nCONFIG_HID_LOGITECH=y\n# CONFIG_HID_LOGITECH_DJ is not set\n# CONFIG_HID_LOGITECH_HIDPP is not set\nCONFIG_LOGITECH_FF=y\n# CONFIG_LOGIRUMBLEPAD2_FF is not set\n# CONFIG_LOGIG940_FF is not set\nCONFIG_LOGIWHEELS_FF=y\n# CONFIG_HID_MAGICMOUSE is not set\n# CONFIG_HID_MALTRON is not set\n# CONFIG_HID_MAYFLASH is not set\nCONFIG_HID_REDRAGON=y\nCONFIG_HID_MICROSOFT=y\nCONFIG_HID_MONTEREY=y\n# CONFIG_HID_MULTITOUCH is not set\n# CONFIG_HID_NTI is not set\nCONFIG_HID_NTRIG=y\n# CONFIG_HID_ORTEK is not set\nCONFIG_HID_PANTHERLORD=y\nCONFIG_PANTHERLORD_FF=y\n# CONFIG_HID_PENMOUNT is not set\nCONFIG_HID_PETALYNX=y\n# CONFIG_HID_PICOLCD is not set\n# CONFIG_HID_PLANTRONICS is not set\n# CONFIG_HID_PRIMAX is not set\n# CONFIG_HID_RETRODE is not set\n# CONFIG_HID_ROCCAT is not set\n# CONFIG_HID_SAITEK is not set\nCONFIG_HID_SAMSUNG=y\nCONFIG_HID_SONY=y\n# CONFIG_SONY_FF is not set\n# CONFIG_HID_SPEEDLINK is not set\n# CONFIG_HID_STEAM is not set\n# CONFIG_HID_STEELSERIES is not set\nCONFIG_HID_SUNPLUS=y\n# CONFIG_HID_RMI is not set\n# CONFIG_HID_GREENASIA is not set\n# CONFIG_HID_SMARTJOYPLUS is not set\n# CONFIG_HID_TIVO is not set\nCONFIG_HID_TOPSEED=y\n# CONFIG_HID_THINGM is not set\n# CONFIG_HID_THRUSTMASTER is not set\n# CONFIG_HID_UDRAW_PS3 is not set\n# CONFIG_HID_U2FZERO is not set\n# CONFIG_HID_WACOM is not set\n# CONFIG_HID_WIIMOTE is not set\n# CONFIG_HID_XINMO is not set\n# CONFIG_HID_ZEROPLUS is not set\n# CONFIG_HID_ZYDACRON is not set\n# CONFIG_HID_SENSOR_HUB is not set\n# CONFIG_HID_ALPS is not set\n# end of Special HID drivers\n\n#\n# USB HID support\n#\nCONFIG_USB_HID=y\nCONFIG_HID_PID=y\nCONFIG_USB_HIDDEV=y\n# end of USB HID support\n\n#\n# I2C HID support\n#\n# CONFIG_I2C_HID is not set\n# end of I2C HID support\n\n#\n# Intel ISH HID support\n#\n# CONFIG_INTEL_ISH_HID is not set\n# end of Intel ISH HID support\n# end of HID support\n\nCONFIG_USB_OHCI_LITTLE_ENDIAN=y\nCONFIG_USB_SUPPORT=y\nCONFIG_USB_COMMON=y\n# CONFIG_USB_LED_TRIG is not set\n# CONFIG_USB_ULPI_BUS is not set\nCONFIG_USB_ARCH_HAS_HCD=y\nCONFIG_USB=y\nCONFIG_USB_PCI=y\nCONFIG_USB_ANNOUNCE_NEW_DEVICES=y\n\n#\n# Miscellaneous USB options\n#\nCONFIG_USB_DEFAULT_PERSIST=y\n# CONFIG_USB_DYNAMIC_MINORS is not set\n# CONFIG_USB_OTG is not set\n# CONFIG_USB_OTG_WHITELIST is not set\n# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set\nCONFIG_USB_AUTOSUSPEND_DELAY=2\nCONFIG_USB_MON=y\n\n#\n# USB Host Controller Drivers\n#\n# CONFIG_USB_C67X00_HCD is not set\nCONFIG_USB_XHCI_HCD=y\n# CONFIG_USB_XHCI_DBGCAP is not set\nCONFIG_USB_XHCI_PCI=y\n# CONFIG_USB_XHCI_PLATFORM is not set\nCONFIG_USB_EHCI_HCD=y\n# CONFIG_USB_EHCI_ROOT_HUB_TT is not set\nCONFIG_USB_EHCI_TT_NEWSCHED=y\nCONFIG_USB_EHCI_PCI=y\n# CONFIG_USB_EHCI_FSL is not set\n# CONFIG_USB_EHCI_HCD_PLATFORM is not set\n# CONFIG_USB_OXU210HP_HCD is not set\n# CONFIG_USB_ISP116X_HCD is not set\n# CONFIG_USB_FOTG210_HCD is not set\nCONFIG_USB_OHCI_HCD=y\nCONFIG_USB_OHCI_HCD_PCI=y\n# CONFIG_USB_OHCI_HCD_PLATFORM is not set\nCONFIG_USB_UHCI_HCD=y\n# CONFIG_USB_SL811_HCD is not set\n# CONFIG_USB_R8A66597_HCD is not set\n# CONFIG_USB_HCD_TEST_MODE is not set\n\n#\n# USB Device Class drivers\n#\n# CONFIG_USB_ACM is not set\nCONFIG_USB_PRINTER=y\n# CONFIG_USB_WDM is not set\n# CONFIG_USB_TMC is not set\n\n#\n# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may\n#\n\n#\n# also be needed; see USB_STORAGE Help for more info\n#\nCONFIG_USB_STORAGE=y\n# CONFIG_USB_STORAGE_DEBUG is not set\n# CONFIG_USB_STORAGE_REALTEK is not set\n# CONFIG_USB_STORAGE_DATAFAB is not set\n# CONFIG_USB_STORAGE_FREECOM is not set\n# CONFIG_USB_STORAGE_ISD200 is not set\n# CONFIG_USB_STORAGE_USBAT is not set\n# CONFIG_USB_STORAGE_SDDR09 is not set\n# CONFIG_USB_STORAGE_SDDR55 is not set\n# CONFIG_USB_STORAGE_JUMPSHOT is not set\n# CONFIG_USB_STORAGE_ALAUDA is not set\n# CONFIG_USB_STORAGE_ONETOUCH is not set\n# CONFIG_USB_STORAGE_KARMA is not set\n# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set\n# CONFIG_USB_STORAGE_ENE_UB6250 is not set\n# CONFIG_USB_UAS is not set\n\n#\n# USB Imaging devices\n#\n# CONFIG_USB_MDC800 is not set\n# CONFIG_USB_MICROTEK is not set\n# CONFIG_USBIP_CORE is not set\n# CONFIG_USB_CDNS3 is not set\n# CONFIG_USB_MUSB_HDRC is not set\n# CONFIG_USB_DWC3 is not set\n# CONFIG_USB_DWC2 is not set\n# CONFIG_USB_CHIPIDEA is not set\n# CONFIG_USB_ISP1760 is not set\n\n#\n# USB port drivers\n#\n# CONFIG_USB_SERIAL is not set\n\n#\n# USB Miscellaneous drivers\n#\n# CONFIG_USB_EMI62 is not set\n# CONFIG_USB_EMI26 is not set\n# CONFIG_USB_ADUTUX is not set\n# CONFIG_USB_SEVSEG is not set\n# CONFIG_USB_LEGOTOWER is not set\n# CONFIG_USB_LCD is not set\n# CONFIG_USB_CYPRESS_CY7C63 is not set\n# CONFIG_USB_CYTHERM is not set\n# CONFIG_USB_IDMOUSE is not set\n# CONFIG_USB_FTDI_ELAN is not set\n# CONFIG_USB_APPLEDISPLAY is not set\n# CONFIG_USB_SISUSBVGA is not set\n# CONFIG_USB_LD is not set\n# CONFIG_USB_TRANCEVIBRATOR is not set\n# CONFIG_USB_IOWARRIOR is not set\n# CONFIG_USB_TEST is not set\n# CONFIG_USB_EHSET_TEST_FIXTURE is not set\n# CONFIG_USB_ISIGHTFW is not set\n# CONFIG_USB_YUREX is not set\n# CONFIG_USB_EZUSB_FX2 is not set\n# CONFIG_USB_HUB_USB251XB is not set\n# CONFIG_USB_HSIC_USB3503 is not set\n# CONFIG_USB_HSIC_USB4604 is not set\n# CONFIG_USB_LINK_LAYER_TEST is not set\n# CONFIG_USB_CHAOSKEY is not set\n\n#\n# USB Physical Layer drivers\n#\n# CONFIG_NOP_USB_XCEIV is not set\n# CONFIG_USB_ISP1301 is not set\n# end of USB Physical Layer drivers\n\n# CONFIG_USB_GADGET is not set\n# CONFIG_TYPEC is not set\n# CONFIG_USB_ROLE_SWITCH is not set\n# CONFIG_MMC is not set\n# CONFIG_MEMSTICK is not set\nCONFIG_NEW_LEDS=y\nCONFIG_LEDS_CLASS=y\n# CONFIG_LEDS_CLASS_FLASH is not set\n# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set\n\n#\n# LED drivers\n#\n# CONFIG_LEDS_APU is not set\n# CONFIG_LEDS_LM3530 is not set\n# CONFIG_LEDS_LM3532 is not set\n# CONFIG_LEDS_LM3642 is not set\n# CONFIG_LEDS_PCA9532 is not set\n# CONFIG_LEDS_LP3944 is not set\n# CONFIG_LEDS_LP5521 is not set\n# CONFIG_LEDS_LP5523 is not set\n# CONFIG_LEDS_LP5562 is not set\n# CONFIG_LEDS_LP8501 is not set\n# CONFIG_LEDS_CLEVO_MAIL is not set\n# CONFIG_LEDS_PCA955X is not set\n# CONFIG_LEDS_PCA963X is not set\n# CONFIG_LEDS_BD2802 is not set\n# CONFIG_LEDS_INTEL_SS4200 is not set\n# CONFIG_LEDS_TCA6507 is not set\n# CONFIG_LEDS_TLC591XX is not set\n# CONFIG_LEDS_LM355x is not set\n\n#\n# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)\n#\n# CONFIG_LEDS_BLINKM is not set\n# CONFIG_LEDS_MLXCPLD is not set\n# CONFIG_LEDS_MLXREG is not set\n# CONFIG_LEDS_USER is not set\n# CONFIG_LEDS_NIC78BX is not set\n# CONFIG_LEDS_TI_LMU_COMMON is not set\n\n#\n# LED Triggers\n#\nCONFIG_LEDS_TRIGGERS=y\n# CONFIG_LEDS_TRIGGER_TIMER is not set\n# CONFIG_LEDS_TRIGGER_ONESHOT is not set\n# CONFIG_LEDS_TRIGGER_DISK is not set\n# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set\n# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set\n# CONFIG_LEDS_TRIGGER_CPU is not set\n# CONFIG_LEDS_TRIGGER_ACTIVITY is not set\n# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set\n\n#\n# iptables trigger is under Netfilter config (LED target)\n#\n# CONFIG_LEDS_TRIGGER_TRANSIENT is not set\n# CONFIG_LEDS_TRIGGER_CAMERA is not set\n# CONFIG_LEDS_TRIGGER_PANIC is not set\n# CONFIG_LEDS_TRIGGER_NETDEV is not set\n# CONFIG_LEDS_TRIGGER_PATTERN is not set\n# CONFIG_LEDS_TRIGGER_AUDIO is not set\n# CONFIG_ACCESSIBILITY is not set\n# CONFIG_INFINIBAND is not set\nCONFIG_EDAC_ATOMIC_SCRUB=y\nCONFIG_EDAC_SUPPORT=y\nCONFIG_EDAC=y\nCONFIG_EDAC_LEGACY_SYSFS=y\n# CONFIG_EDAC_DEBUG is not set\nCONFIG_EDAC_DECODE_MCE=y\n# CONFIG_EDAC_AMD64 is not set\n# CONFIG_EDAC_E752X is not set\n# CONFIG_EDAC_I82975X is not set\n# CONFIG_EDAC_I3000 is not set\n# CONFIG_EDAC_I3200 is not set\n# CONFIG_EDAC_IE31200 is not set\n# CONFIG_EDAC_X38 is not set\n# CONFIG_EDAC_I5400 is not set\n# CONFIG_EDAC_I7CORE is not set\n# CONFIG_EDAC_I5000 is not set\n# CONFIG_EDAC_I5100 is not set\n# CONFIG_EDAC_I7300 is not set\n# CONFIG_EDAC_SBRIDGE is not set\n# CONFIG_EDAC_SKX is not set\n# CONFIG_EDAC_I10NM is not set\n# CONFIG_EDAC_PND2 is not set\nCONFIG_RTC_LIB=y\nCONFIG_RTC_MC146818_LIB=y\nCONFIG_RTC_CLASS=y\n# CONFIG_RTC_HCTOSYS is not set\nCONFIG_RTC_SYSTOHC=y\nCONFIG_RTC_SYSTOHC_DEVICE=\"rtc0\"\n# CONFIG_RTC_DEBUG is not set\nCONFIG_RTC_NVMEM=y\n\n#\n# RTC interfaces\n#\nCONFIG_RTC_INTF_SYSFS=y\nCONFIG_RTC_INTF_PROC=y\nCONFIG_RTC_INTF_DEV=y\n# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set\n# CONFIG_RTC_DRV_TEST is not set\n\n#\n# I2C RTC drivers\n#\n# CONFIG_RTC_DRV_ABB5ZES3 is not set\n# CONFIG_RTC_DRV_ABEOZ9 is not set\n# CONFIG_RTC_DRV_ABX80X is not set\n# CONFIG_RTC_DRV_DS1307 is not set\n# CONFIG_RTC_DRV_DS1374 is not set\n# CONFIG_RTC_DRV_DS1672 is not set\n# CONFIG_RTC_DRV_MAX6900 is not set\n# CONFIG_RTC_DRV_RS5C372 is not set\n# CONFIG_RTC_DRV_ISL1208 is not set\n# CONFIG_RTC_DRV_ISL12022 is not set\n# CONFIG_RTC_DRV_X1205 is not set\n# CONFIG_RTC_DRV_PCF8523 is not set\n# CONFIG_RTC_DRV_PCF85063 is not set\n# CONFIG_RTC_DRV_PCF85363 is not set\n# CONFIG_RTC_DRV_PCF8563 is not set\n# CONFIG_RTC_DRV_PCF8583 is not set\n# CONFIG_RTC_DRV_M41T80 is not set\n# CONFIG_RTC_DRV_BQ32K is not set\n# CONFIG_RTC_DRV_S35390A is not set\n# CONFIG_RTC_DRV_FM3130 is not set\n# CONFIG_RTC_DRV_RX8010 is not set\n# CONFIG_RTC_DRV_RX8581 is not set\n# CONFIG_RTC_DRV_RX8025 is not set\n# CONFIG_RTC_DRV_EM3027 is not set\n# CONFIG_RTC_DRV_RV3028 is not set\n# CONFIG_RTC_DRV_RV8803 is not set\n# CONFIG_RTC_DRV_SD3078 is not set\n\n#\n# SPI RTC drivers\n#\nCONFIG_RTC_I2C_AND_SPI=y\n\n#\n# SPI and I2C RTC drivers\n#\n# CONFIG_RTC_DRV_DS3232 is not set\n# CONFIG_RTC_DRV_PCF2127 is not set\n# CONFIG_RTC_DRV_RV3029C2 is not set\n\n#\n# Platform RTC drivers\n#\nCONFIG_RTC_DRV_CMOS=y\n# CONFIG_RTC_DRV_DS1286 is not set\n# CONFIG_RTC_DRV_DS1511 is not set\n# CONFIG_RTC_DRV_DS1553 is not set\n# CONFIG_RTC_DRV_DS1685_FAMILY is not set\n# CONFIG_RTC_DRV_DS1742 is not set\n# CONFIG_RTC_DRV_DS2404 is not set\n# CONFIG_RTC_DRV_STK17TA8 is not set\n# CONFIG_RTC_DRV_M48T86 is not set\n# CONFIG_RTC_DRV_M48T35 is not set\n# CONFIG_RTC_DRV_M48T59 is not set\n# CONFIG_RTC_DRV_MSM6242 is not set\n# CONFIG_RTC_DRV_BQ4802 is not set\n# CONFIG_RTC_DRV_RP5C01 is not set\n# CONFIG_RTC_DRV_V3020 is not set\n\n#\n# on-CPU RTC drivers\n#\n# CONFIG_RTC_DRV_FTRTC010 is not set\n\n#\n# HID Sensor RTC drivers\n#\nCONFIG_DMADEVICES=y\n# CONFIG_DMADEVICES_DEBUG is not set\n\n#\n# DMA Devices\n#\nCONFIG_DMA_ENGINE=y\nCONFIG_DMA_VIRTUAL_CHANNELS=y\nCONFIG_DMA_ACPI=y\n# CONFIG_ALTERA_MSGDMA is not set\n# CONFIG_INTEL_IDMA64 is not set\n# CONFIG_INTEL_IOATDMA is not set\n# CONFIG_QCOM_HIDMA_MGMT is not set\n# CONFIG_QCOM_HIDMA is not set\nCONFIG_DW_DMAC_CORE=y\n# CONFIG_DW_DMAC is not set\n# CONFIG_DW_DMAC_PCI is not set\n# CONFIG_DW_EDMA is not set\n# CONFIG_DW_EDMA_PCIE is not set\nCONFIG_HSU_DMA=y\n# CONFIG_SF_PDMA is not set\n\n#\n# DMA Clients\n#\n# CONFIG_ASYNC_TX_DMA is not set\n# CONFIG_DMATEST is not set\n\n#\n# DMABUF options\n#\nCONFIG_SYNC_FILE=y\n# CONFIG_SW_SYNC is not set\n# CONFIG_UDMABUF is not set\n# CONFIG_DMABUF_SELFTESTS is not set\n# end of DMABUF options\n\n# CONFIG_AUXDISPLAY is not set\n# CONFIG_UIO is not set\n# CONFIG_VFIO is not set\n# CONFIG_VIRT_DRIVERS is not set\nCONFIG_VIRTIO_MENU=y\n# CONFIG_VIRTIO_PCI is not set\n# CONFIG_VIRTIO_MMIO is not set\n\n#\n# Microsoft Hyper-V guest support\n#\n# end of Microsoft Hyper-V guest support\n\n# CONFIG_GREYBUS is not set\n# CONFIG_STAGING is not set\nCONFIG_X86_PLATFORM_DEVICES=y\n# CONFIG_ACER_WIRELESS is not set\n# CONFIG_ACERHDF is not set\n# CONFIG_ASUS_LAPTOP is not set\n# CONFIG_DCDBAS is not set\n# CONFIG_DELL_SMBIOS is not set\n# CONFIG_DELL_SMO8800 is not set\n# CONFIG_DELL_RBTN is not set\n# CONFIG_DELL_RBU is not set\n# CONFIG_FUJITSU_LAPTOP is not set\n# CONFIG_FUJITSU_TABLET is not set\n# CONFIG_AMILO_RFKILL is not set\n# CONFIG_GPD_POCKET_FAN is not set\n# CONFIG_HP_ACCEL is not set\n# CONFIG_HP_WIRELESS is not set\n# CONFIG_MSI_LAPTOP is not set\n# CONFIG_PANASONIC_LAPTOP is not set\n# CONFIG_COMPAL_LAPTOP is not set\n# CONFIG_SONY_LAPTOP is not set\n# CONFIG_IDEAPAD_LAPTOP is not set\n# CONFIG_THINKPAD_ACPI is not set\n# CONFIG_SENSORS_HDAPS is not set\n# CONFIG_INTEL_MENLOW is not set\nCONFIG_EEEPC_LAPTOP=y\n# CONFIG_ASUS_WIRELESS is not set\n# CONFIG_ACPI_WMI is not set\n# CONFIG_TOPSTAR_LAPTOP is not set\n# CONFIG_TOSHIBA_BT_RFKILL is not set\n# CONFIG_TOSHIBA_HAPS is not set\n# CONFIG_ACPI_CMPC is not set\n# CONFIG_INTEL_HID_EVENT is not set\n# CONFIG_INTEL_VBTN is not set\n# CONFIG_INTEL_IPS is not set\n# CONFIG_INTEL_PMC_CORE is not set\n# CONFIG_IBM_RTL is not set\n# CONFIG_SAMSUNG_LAPTOP is not set\n# CONFIG_INTEL_OAKTRAIL is not set\n# CONFIG_SAMSUNG_Q10 is not set\n# CONFIG_APPLE_GMUX is not set\n# CONFIG_INTEL_RST is not set\n# CONFIG_INTEL_SMARTCONNECT is not set\n# CONFIG_INTEL_PMC_IPC is not set\n# CONFIG_SURFACE_PRO3_BUTTON is not set\n# CONFIG_INTEL_PUNIT_IPC is not set\n# CONFIG_MLX_PLATFORM is not set\n# CONFIG_INTEL_TURBO_MAX_3 is not set\n# CONFIG_I2C_MULTI_INSTANTIATE is not set\n# CONFIG_INTEL_ATOMISP2_PM is not set\n\n#\n# Intel Speed Select Technology interface support\n#\n# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set\n# end of Intel Speed Select Technology interface support\n\n# CONFIG_SYSTEM76_ACPI is not set\nCONFIG_PMC_ATOM=y\n# CONFIG_MFD_CROS_EC is not set\n# CONFIG_CHROME_PLATFORMS is not set\n# CONFIG_MELLANOX_PLATFORM is not set\nCONFIG_CLKDEV_LOOKUP=y\nCONFIG_HAVE_CLK_PREPARE=y\nCONFIG_COMMON_CLK=y\n\n#\n# Common Clock Framework\n#\n# CONFIG_COMMON_CLK_MAX9485 is not set\n# CONFIG_COMMON_CLK_SI5341 is not set\n# CONFIG_COMMON_CLK_SI5351 is not set\n# CONFIG_COMMON_CLK_SI544 is not set\n# CONFIG_COMMON_CLK_CDCE706 is not set\n# CONFIG_COMMON_CLK_CS2000_CP is not set\n# end of Common Clock Framework\n\n# CONFIG_HWSPINLOCK is not set\n\n#\n# Clock Source drivers\n#\nCONFIG_CLKEVT_I8253=y\nCONFIG_I8253_LOCK=y\nCONFIG_CLKBLD_I8253=y\n# end of Clock Source drivers\n\nCONFIG_MAILBOX=y\nCONFIG_PCC=y\n# CONFIG_ALTERA_MBOX is not set\nCONFIG_IOMMU_IOVA=y\nCONFIG_IOMMU_API=y\nCONFIG_IOMMU_SUPPORT=y\n\n#\n# Generic IOMMU Pagetable Support\n#\n# end of Generic IOMMU Pagetable Support\n\n# CONFIG_IOMMU_DEBUGFS is not set\n# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set\nCONFIG_IOMMU_DMA=y\nCONFIG_AMD_IOMMU=y\n# CONFIG_AMD_IOMMU_V2 is not set\nCONFIG_DMAR_TABLE=y\nCONFIG_INTEL_IOMMU=y\n# CONFIG_INTEL_IOMMU_SVM is not set\n# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set\nCONFIG_INTEL_IOMMU_FLOPPY_WA=y\n# CONFIG_IRQ_REMAP is not set\n\n#\n# Remoteproc drivers\n#\n# CONFIG_REMOTEPROC is not set\n# end of Remoteproc drivers\n\n#\n# Rpmsg drivers\n#\n# CONFIG_RPMSG_QCOM_GLINK_RPM is not set\n# CONFIG_RPMSG_VIRTIO is not set\n# end of Rpmsg drivers\n\n# CONFIG_SOUNDWIRE is not set\n\n#\n# SOC (System On Chip) specific Drivers\n#\n\n#\n# Amlogic SoC drivers\n#\n# end of Amlogic SoC drivers\n\n#\n# Aspeed SoC drivers\n#\n# end of Aspeed SoC drivers\n\n#\n# Broadcom SoC drivers\n#\n# end of Broadcom SoC drivers\n\n#\n# NXP/Freescale QorIQ SoC drivers\n#\n# end of NXP/Freescale QorIQ SoC drivers\n\n#\n# i.MX SoC drivers\n#\n# end of i.MX SoC drivers\n\n#\n# Qualcomm SoC drivers\n#\n# end of Qualcomm SoC drivers\n\n# CONFIG_SOC_TI is not set\n\n#\n# Xilinx SoC drivers\n#\n# CONFIG_XILINX_VCU is not set\n# end of Xilinx SoC drivers\n# end of SOC (System On Chip) specific Drivers\n\n# CONFIG_PM_DEVFREQ is not set\n# CONFIG_EXTCON is not set\n# CONFIG_MEMORY is not set\n# CONFIG_IIO is not set\n# CONFIG_NTB is not set\n# CONFIG_VME_BUS is not set\n# CONFIG_PWM is not set\n\n#\n# IRQ chip support\n#\n# end of IRQ chip support\n\n# CONFIG_IPACK_BUS is not set\n# CONFIG_RESET_CONTROLLER is not set\n\n#\n# PHY Subsystem\n#\n# CONFIG_GENERIC_PHY is not set\n# CONFIG_BCM_KONA_USB2_PHY is not set\n# CONFIG_PHY_PXA_28NM_HSIC is not set\n# CONFIG_PHY_PXA_28NM_USB2 is not set\n# end of PHY Subsystem\n\n# CONFIG_POWERCAP is not set\n# CONFIG_MCB is not set\n\n#\n# Performance monitor support\n#\n# end of Performance monitor support\n\nCONFIG_RAS=y\n# CONFIG_THUNDERBOLT is not set\n\n#\n# Android\n#\n# CONFIG_ANDROID is not set\n# end of Android\n\n# CONFIG_LIBNVDIMM is not set\n# CONFIG_DAX is not set\nCONFIG_NVMEM=y\nCONFIG_NVMEM_SYSFS=y\n\n#\n# HW tracing support\n#\n# CONFIG_STM is not set\n# CONFIG_INTEL_TH is not set\n# end of HW tracing support\n\n# CONFIG_FPGA is not set\n# CONFIG_UNISYS_VISORBUS is not set\n# CONFIG_SIOX is not set\n# CONFIG_SLIMBUS is not set\n# CONFIG_INTERCONNECT is not set\n# CONFIG_COUNTER is not set\n# end of Device Drivers\n\n#\n# File systems\n#\nCONFIG_DCACHE_WORD_ACCESS=y\n# CONFIG_VALIDATE_FS_PARSER is not set\nCONFIG_FS_IOMAP=y\n# CONFIG_EXT2_FS is not set\n# CONFIG_EXT3_FS is not set\nCONFIG_EXT4_FS=y\nCONFIG_EXT4_USE_FOR_EXT2=y\nCONFIG_EXT4_FS_POSIX_ACL=y\nCONFIG_EXT4_FS_SECURITY=y\n# CONFIG_EXT4_DEBUG is not set\nCONFIG_JBD2=y\n# CONFIG_JBD2_DEBUG is not set\nCONFIG_FS_MBCACHE=y\n# CONFIG_REISERFS_FS is not set\n# CONFIG_JFS_FS is not set\n# CONFIG_XFS_FS is not set\n# CONFIG_GFS2_FS is not set\n# CONFIG_BTRFS_FS is not set\n# CONFIG_NILFS2_FS is not set\n# CONFIG_F2FS_FS is not set\n# CONFIG_FS_DAX is not set\nCONFIG_FS_POSIX_ACL=y\nCONFIG_EXPORTFS=y\n# CONFIG_EXPORTFS_BLOCK_OPS is not set\nCONFIG_FILE_LOCKING=y\nCONFIG_MANDATORY_FILE_LOCKING=y\n# CONFIG_FS_ENCRYPTION is not set\n# CONFIG_FS_VERITY is not set\nCONFIG_FSNOTIFY=y\nCONFIG_DNOTIFY=y\nCONFIG_INOTIFY_USER=y\n# CONFIG_FANOTIFY is not set\nCONFIG_QUOTA=y\nCONFIG_QUOTA_NETLINK_INTERFACE=y\n# CONFIG_PRINT_QUOTA_WARNING is not set\n# CONFIG_QUOTA_DEBUG is not set\nCONFIG_QUOTA_TREE=y\n# CONFIG_QFMT_V1 is not set\nCONFIG_QFMT_V2=y\nCONFIG_QUOTACTL=y\nCONFIG_QUOTACTL_COMPAT=y\nCONFIG_AUTOFS4_FS=y\nCONFIG_AUTOFS_FS=y\n# CONFIG_FUSE_FS is not set\n# CONFIG_OVERLAY_FS is not set\n\n#\n# Caches\n#\n# CONFIG_FSCACHE is not set\n# end of Caches\n\n#\n# CD-ROM/DVD Filesystems\n#\nCONFIG_ISO9660_FS=y\nCONFIG_JOLIET=y\nCONFIG_ZISOFS=y\n# CONFIG_UDF_FS is not set\n# end of CD-ROM/DVD Filesystems\n\n#\n# DOS/FAT/NT Filesystems\n#\nCONFIG_FAT_FS=y\nCONFIG_MSDOS_FS=y\nCONFIG_VFAT_FS=y\nCONFIG_FAT_DEFAULT_CODEPAGE=437\nCONFIG_FAT_DEFAULT_IOCHARSET=\"iso8859-1\"\n# CONFIG_FAT_DEFAULT_UTF8 is not set\n# CONFIG_NTFS_FS is not set\n# end of DOS/FAT/NT Filesystems\n\n#\n# Pseudo filesystems\n#\nCONFIG_PROC_FS=y\nCONFIG_PROC_KCORE=y\nCONFIG_PROC_VMCORE=y\n# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set\nCONFIG_PROC_SYSCTL=y\nCONFIG_PROC_PAGE_MONITOR=y\n# CONFIG_PROC_CHILDREN is not set\nCONFIG_PROC_PID_ARCH_STATUS=y\nCONFIG_KERNFS=y\nCONFIG_SYSFS=y\nCONFIG_TMPFS=y\nCONFIG_TMPFS_POSIX_ACL=y\nCONFIG_TMPFS_XATTR=y\nCONFIG_HUGETLBFS=y\nCONFIG_HUGETLB_PAGE=y\nCONFIG_MEMFD_CREATE=y\nCONFIG_ARCH_HAS_GIGANTIC_PAGE=y\n# CONFIG_CONFIGFS_FS is not set\nCONFIG_EFIVAR_FS=m\n# end of Pseudo filesystems\n\nCONFIG_MISC_FILESYSTEMS=y\n# CONFIG_ORANGEFS_FS is not set\n# CONFIG_ADFS_FS is not set\n# CONFIG_AFFS_FS is not set\n# CONFIG_ECRYPT_FS is not set\n# CONFIG_HFS_FS is not set\n# CONFIG_HFSPLUS_FS is not set\n# CONFIG_BEFS_FS is not set\n# CONFIG_BFS_FS is not set\n# CONFIG_EFS_FS is not set\n# CONFIG_CRAMFS is not set\n# CONFIG_SQUASHFS is not set\n# CONFIG_VXFS_FS is not set\n# CONFIG_MINIX_FS is not set\n# CONFIG_OMFS_FS is not set\n# CONFIG_HPFS_FS is not set\n# CONFIG_QNX4FS_FS is not set\n# CONFIG_QNX6FS_FS is not set\n# CONFIG_ROMFS_FS is not set\n# CONFIG_PSTORE is not set\n# CONFIG_SYSV_FS is not set\n# CONFIG_UFS_FS is not set\n# CONFIG_EROFS_FS is not set\nCONFIG_NETWORK_FILESYSTEMS=y\nCONFIG_NFS_FS=y\nCONFIG_NFS_V2=y\nCONFIG_NFS_V3=y\nCONFIG_NFS_V3_ACL=y\nCONFIG_NFS_V4=y\n# CONFIG_NFS_SWAP is not set\n# CONFIG_NFS_V4_1 is not set\nCONFIG_ROOT_NFS=y\n# CONFIG_NFS_USE_LEGACY_DNS is not set\nCONFIG_NFS_USE_KERNEL_DNS=y\n# CONFIG_NFSD is not set\nCONFIG_GRACE_PERIOD=y\nCONFIG_LOCKD=y\nCONFIG_LOCKD_V4=y\nCONFIG_NFS_ACL_SUPPORT=y\nCONFIG_NFS_COMMON=y\nCONFIG_SUNRPC=y\nCONFIG_SUNRPC_GSS=y\n# CONFIG_SUNRPC_DEBUG is not set\n# CONFIG_CEPH_FS is not set\n# CONFIG_CIFS is not set\n# CONFIG_CODA_FS is not set\n# CONFIG_AFS_FS is not set\nCONFIG_NLS=y\nCONFIG_NLS_DEFAULT=\"utf8\"\nCONFIG_NLS_CODEPAGE_437=y\n# CONFIG_NLS_CODEPAGE_737 is not set\n# CONFIG_NLS_CODEPAGE_775 is not set\n# CONFIG_NLS_CODEPAGE_850 is not set\n# CONFIG_NLS_CODEPAGE_852 is not set\n# CONFIG_NLS_CODEPAGE_855 is not set\n# CONFIG_NLS_CODEPAGE_857 is not set\n# CONFIG_NLS_CODEPAGE_860 is not set\n# CONFIG_NLS_CODEPAGE_861 is not set\n# CONFIG_NLS_CODEPAGE_862 is not set\n# CONFIG_NLS_CODEPAGE_863 is not set\n# CONFIG_NLS_CODEPAGE_864 is not set\n# CONFIG_NLS_CODEPAGE_865 is not set\n# CONFIG_NLS_CODEPAGE_866 is not set\n# CONFIG_NLS_CODEPAGE_869 is not set\n# CONFIG_NLS_CODEPAGE_936 is not set\n# CONFIG_NLS_CODEPAGE_950 is not set\n# CONFIG_NLS_CODEPAGE_932 is not set\n# CONFIG_NLS_CODEPAGE_949 is not set\n# CONFIG_NLS_CODEPAGE_874 is not set\n# CONFIG_NLS_ISO8859_8 is not set\n# CONFIG_NLS_CODEPAGE_1250 is not set\n# CONFIG_NLS_CODEPAGE_1251 is not set\nCONFIG_NLS_ASCII=y\nCONFIG_NLS_ISO8859_1=y\n# CONFIG_NLS_ISO8859_2 is not set\n# CONFIG_NLS_ISO8859_3 is not set\n# CONFIG_NLS_ISO8859_4 is not set\n# CONFIG_NLS_ISO8859_5 is not set\n# CONFIG_NLS_ISO8859_6 is not set\n# CONFIG_NLS_ISO8859_7 is not set\n# CONFIG_NLS_ISO8859_9 is not set\n# CONFIG_NLS_ISO8859_13 is not set\n# CONFIG_NLS_ISO8859_14 is not set\n# CONFIG_NLS_ISO8859_15 is not set\n# CONFIG_NLS_KOI8_R is not set\n# CONFIG_NLS_KOI8_U is not set\n# CONFIG_NLS_MAC_ROMAN is not set\n# CONFIG_NLS_MAC_CELTIC is not set\n# CONFIG_NLS_MAC_CENTEURO is not set\n# CONFIG_NLS_MAC_CROATIAN is not set\n# CONFIG_NLS_MAC_CYRILLIC is not set\n# CONFIG_NLS_MAC_GAELIC is not set\n# CONFIG_NLS_MAC_GREEK is not set\n# CONFIG_NLS_MAC_ICELAND is not set\n# CONFIG_NLS_MAC_INUIT is not set\n# CONFIG_NLS_MAC_ROMANIAN is not set\n# CONFIG_NLS_MAC_TURKISH is not set\nCONFIG_NLS_UTF8=y\n# CONFIG_UNICODE is not set\nCONFIG_IO_WQ=y\n# end of File systems\n\n#\n# Security options\n#\nCONFIG_KEYS=y\n# CONFIG_KEYS_REQUEST_CACHE is not set\n# CONFIG_PERSISTENT_KEYRINGS is not set\n# CONFIG_BIG_KEYS is not set\n# CONFIG_ENCRYPTED_KEYS is not set\n# CONFIG_KEY_DH_OPERATIONS is not set\n# CONFIG_SECURITY_DMESG_RESTRICT is not set\nCONFIG_SECURITY=y\nCONFIG_SECURITY_WRITABLE_HOOKS=y\n# CONFIG_SECURITYFS is not set\nCONFIG_SECURITY_NETWORK=y\nCONFIG_PAGE_TABLE_ISOLATION=y\n# CONFIG_SECURITY_NETWORK_XFRM is not set\n# CONFIG_SECURITY_PATH is not set\n# CONFIG_INTEL_TXT is not set\nCONFIG_LSM_MMAP_MIN_ADDR=65536\nCONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y\n# CONFIG_HARDENED_USERCOPY is not set\n# CONFIG_FORTIFY_SOURCE is not set\n# CONFIG_STATIC_USERMODEHELPER is not set\nCONFIG_SECURITY_SELINUX=y\nCONFIG_SECURITY_SELINUX_BOOTPARAM=y\nCONFIG_SECURITY_SELINUX_DISABLE=y\nCONFIG_SECURITY_SELINUX_DEVELOP=y\nCONFIG_SECURITY_SELINUX_AVC_STATS=y\nCONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0\n# CONFIG_SECURITY_SMACK is not set\n# CONFIG_SECURITY_TOMOYO is not set\n# CONFIG_SECURITY_APPARMOR is not set\n# CONFIG_SECURITY_LOADPIN is not set\n# CONFIG_SECURITY_YAMA is not set\n# CONFIG_SECURITY_SAFESETID is not set\n# CONFIG_SECURITY_LOCKDOWN_LSM is not set\nCONFIG_INTEGRITY=y\n# CONFIG_INTEGRITY_SIGNATURE is not set\nCONFIG_INTEGRITY_AUDIT=y\n# CONFIG_IMA is not set\n# CONFIG_EVM is not set\nCONFIG_DEFAULT_SECURITY_SELINUX=y\n# CONFIG_DEFAULT_SECURITY_DAC is not set\nCONFIG_LSM=\"lockdown,yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor\"\n\n#\n# Kernel hardening options\n#\n\n#\n# Memory initialization\n#\nCONFIG_INIT_STACK_NONE=y\n# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set\n# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set\n# end of Memory initialization\n# end of Kernel hardening options\n# end of Security options\n\nCONFIG_CRYPTO=y\n\n#\n# Crypto core or helper\n#\nCONFIG_CRYPTO_ALGAPI=y\nCONFIG_CRYPTO_ALGAPI2=y\nCONFIG_CRYPTO_AEAD=y\nCONFIG_CRYPTO_AEAD2=y\nCONFIG_CRYPTO_SKCIPHER=y\nCONFIG_CRYPTO_SKCIPHER2=y\nCONFIG_CRYPTO_HASH=y\nCONFIG_CRYPTO_HASH2=y\nCONFIG_CRYPTO_RNG=y\nCONFIG_CRYPTO_RNG2=y\nCONFIG_CRYPTO_RNG_DEFAULT=y\nCONFIG_CRYPTO_AKCIPHER2=y\nCONFIG_CRYPTO_AKCIPHER=y\nCONFIG_CRYPTO_KPP2=y\nCONFIG_CRYPTO_ACOMP2=y\nCONFIG_CRYPTO_MANAGER=y\nCONFIG_CRYPTO_MANAGER2=y\n# CONFIG_CRYPTO_USER is not set\nCONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y\nCONFIG_CRYPTO_GF128MUL=y\nCONFIG_CRYPTO_NULL=y\nCONFIG_CRYPTO_NULL2=y\n# CONFIG_CRYPTO_PCRYPT is not set\n# CONFIG_CRYPTO_CRYPTD is not set\nCONFIG_CRYPTO_AUTHENC=y\n# CONFIG_CRYPTO_TEST is not set\n\n#\n# Public-key cryptography\n#\nCONFIG_CRYPTO_RSA=y\n# CONFIG_CRYPTO_DH is not set\n# CONFIG_CRYPTO_ECDH is not set\n# CONFIG_CRYPTO_ECRDSA is not set\n# CONFIG_CRYPTO_CURVE25519 is not set\n# CONFIG_CRYPTO_CURVE25519_X86 is not set\n\n#\n# Authenticated Encryption with Associated Data\n#\nCONFIG_CRYPTO_CCM=y\nCONFIG_CRYPTO_GCM=y\n# CONFIG_CRYPTO_CHACHA20POLY1305 is not set\n# CONFIG_CRYPTO_AEGIS128 is not set\n# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set\nCONFIG_CRYPTO_SEQIV=y\nCONFIG_CRYPTO_ECHAINIV=y\n\n#\n# Block modes\n#\nCONFIG_CRYPTO_CBC=y\n# CONFIG_CRYPTO_CFB is not set\nCONFIG_CRYPTO_CTR=y\n# CONFIG_CRYPTO_CTS is not set\n# CONFIG_CRYPTO_ECB is not set\n# CONFIG_CRYPTO_LRW is not set\n# CONFIG_CRYPTO_OFB is not set\n# CONFIG_CRYPTO_PCBC is not set\n# CONFIG_CRYPTO_XTS is not set\n# CONFIG_CRYPTO_KEYWRAP is not set\n# CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set\n# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set\n# CONFIG_CRYPTO_ADIANTUM is not set\n# CONFIG_CRYPTO_ESSIV is not set\n\n#\n# Hash modes\n#\nCONFIG_CRYPTO_CMAC=y\nCONFIG_CRYPTO_HMAC=y\n# CONFIG_CRYPTO_XCBC is not set\n# CONFIG_CRYPTO_VMAC is not set\n\n#\n# Digest\n#\nCONFIG_CRYPTO_CRC32C=y\n# CONFIG_CRYPTO_CRC32C_INTEL is not set\n# CONFIG_CRYPTO_CRC32 is not set\n# CONFIG_CRYPTO_CRC32_PCLMUL is not set\n# CONFIG_CRYPTO_XXHASH is not set\n# CONFIG_CRYPTO_BLAKE2B is not set\n# CONFIG_CRYPTO_BLAKE2S is not set\n# CONFIG_CRYPTO_BLAKE2S_X86 is not set\n# CONFIG_CRYPTO_CRCT10DIF is not set\nCONFIG_CRYPTO_GHASH=y\n# CONFIG_CRYPTO_POLY1305 is not set\n# CONFIG_CRYPTO_POLY1305_X86_64 is not set\n# CONFIG_CRYPTO_MD4 is not set\nCONFIG_CRYPTO_MD5=y\n# CONFIG_CRYPTO_MICHAEL_MIC is not set\n# CONFIG_CRYPTO_RMD128 is not set\n# CONFIG_CRYPTO_RMD160 is not set\n# CONFIG_CRYPTO_RMD256 is not set\n# CONFIG_CRYPTO_RMD320 is not set\nCONFIG_CRYPTO_SHA1=y\n# CONFIG_CRYPTO_SHA1_SSSE3 is not set\n# CONFIG_CRYPTO_SHA256_SSSE3 is not set\n# CONFIG_CRYPTO_SHA512_SSSE3 is not set\nCONFIG_CRYPTO_SHA256=y\n# CONFIG_CRYPTO_SHA512 is not set\n# CONFIG_CRYPTO_SHA3 is not set\n# CONFIG_CRYPTO_SM3 is not set\n# CONFIG_CRYPTO_STREEBOG is not set\n# CONFIG_CRYPTO_TGR192 is not set\n# CONFIG_CRYPTO_WP512 is not set\n# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set\n\n#\n# Ciphers\n#\nCONFIG_CRYPTO_AES=y\n# CONFIG_CRYPTO_AES_TI is not set\n# CONFIG_CRYPTO_AES_NI_INTEL is not set\n# CONFIG_CRYPTO_ANUBIS is not set\n# CONFIG_CRYPTO_ARC4 is not set\n# CONFIG_CRYPTO_BLOWFISH is not set\n# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set\n# CONFIG_CRYPTO_CAMELLIA is not set\n# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set\n# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set\n# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set\n# CONFIG_CRYPTO_CAST5 is not set\n# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set\n# CONFIG_CRYPTO_CAST6 is not set\n# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set\nCONFIG_CRYPTO_DES=y\n# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set\n# CONFIG_CRYPTO_FCRYPT is not set\n# CONFIG_CRYPTO_KHAZAD is not set\n# CONFIG_CRYPTO_SALSA20 is not set\n# CONFIG_CRYPTO_CHACHA20 is not set\n# CONFIG_CRYPTO_CHACHA20_X86_64 is not set\n# CONFIG_CRYPTO_SEED is not set\n# CONFIG_CRYPTO_SERPENT is not set\n# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set\n# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set\n# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set\n# CONFIG_CRYPTO_SM4 is not set\n# CONFIG_CRYPTO_TEA is not set\n# CONFIG_CRYPTO_TWOFISH is not set\n# CONFIG_CRYPTO_TWOFISH_X86_64 is not set\n# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set\n# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set\n\n#\n# Compression\n#\n# CONFIG_CRYPTO_DEFLATE is not set\n# CONFIG_CRYPTO_LZO is not set\n# CONFIG_CRYPTO_842 is not set\n# CONFIG_CRYPTO_LZ4 is not set\n# CONFIG_CRYPTO_LZ4HC is not set\n# CONFIG_CRYPTO_ZSTD is not set\n\n#\n# Random Number Generation\n#\n# CONFIG_CRYPTO_ANSI_CPRNG is not set\nCONFIG_CRYPTO_DRBG_MENU=y\nCONFIG_CRYPTO_DRBG_HMAC=y\n# CONFIG_CRYPTO_DRBG_HASH is not set\n# CONFIG_CRYPTO_DRBG_CTR is not set\nCONFIG_CRYPTO_DRBG=y\nCONFIG_CRYPTO_JITTERENTROPY=y\n# CONFIG_CRYPTO_USER_API_HASH is not set\n# CONFIG_CRYPTO_USER_API_SKCIPHER is not set\n# CONFIG_CRYPTO_USER_API_RNG is not set\n# CONFIG_CRYPTO_USER_API_AEAD is not set\nCONFIG_CRYPTO_HASH_INFO=y\n\n#\n# Crypto library routines\n#\nCONFIG_CRYPTO_LIB_AES=y\nCONFIG_CRYPTO_LIB_ARC4=y\n# CONFIG_CRYPTO_LIB_BLAKE2S is not set\n# CONFIG_CRYPTO_LIB_CHACHA is not set\n# CONFIG_CRYPTO_LIB_CURVE25519 is not set\nCONFIG_CRYPTO_LIB_DES=y\nCONFIG_CRYPTO_LIB_POLY1305_RSIZE=4\n# CONFIG_CRYPTO_LIB_POLY1305 is not set\n# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set\nCONFIG_CRYPTO_LIB_SHA256=y\nCONFIG_CRYPTO_HW=y\n# CONFIG_CRYPTO_DEV_PADLOCK is not set\n# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set\n# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set\n# CONFIG_CRYPTO_DEV_CCP is not set\n# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set\n# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set\n# CONFIG_CRYPTO_DEV_QAT_C62X is not set\n# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set\n# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set\n# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set\n# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set\n# CONFIG_CRYPTO_DEV_SAFEXCEL is not set\n# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set\nCONFIG_ASYMMETRIC_KEY_TYPE=y\nCONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y\nCONFIG_X509_CERTIFICATE_PARSER=y\n# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set\nCONFIG_PKCS7_MESSAGE_PARSER=y\n# CONFIG_PKCS7_TEST_KEY is not set\n# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set\n\n#\n# Certificates for signature checking\n#\nCONFIG_SYSTEM_TRUSTED_KEYRING=y\nCONFIG_SYSTEM_TRUSTED_KEYS=\"\"\n# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set\n# CONFIG_SECONDARY_TRUSTED_KEYRING is not set\n# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set\n# end of Certificates for signature checking\n\nCONFIG_BINARY_PRINTF=y\n\n#\n# Library routines\n#\n# CONFIG_PACKING is not set\nCONFIG_BITREVERSE=y\nCONFIG_GENERIC_STRNCPY_FROM_USER=y\nCONFIG_GENERIC_STRNLEN_USER=y\nCONFIG_GENERIC_NET_UTILS=y\nCONFIG_GENERIC_FIND_FIRST_BIT=y\n# CONFIG_CORDIC is not set\nCONFIG_RATIONAL=y\nCONFIG_GENERIC_PCI_IOMAP=y\nCONFIG_GENERIC_IOMAP=y\nCONFIG_ARCH_USE_CMPXCHG_LOCKREF=y\nCONFIG_ARCH_HAS_FAST_MULTIPLIER=y\nCONFIG_CRC_CCITT=y\nCONFIG_CRC16=y\n# CONFIG_CRC_T10DIF is not set\n# CONFIG_CRC_ITU_T is not set\nCONFIG_CRC32=y\n# CONFIG_CRC32_SELFTEST is not set\nCONFIG_CRC32_SLICEBY8=y\n# CONFIG_CRC32_SLICEBY4 is not set\n# CONFIG_CRC32_SARWATE is not set\n# CONFIG_CRC32_BIT is not set\n# CONFIG_CRC64 is not set\n# CONFIG_CRC4 is not set\n# CONFIG_CRC7 is not set\nCONFIG_LIBCRC32C=y\n# CONFIG_CRC8 is not set\n# CONFIG_RANDOM32_SELFTEST is not set\nCONFIG_ZLIB_INFLATE=y\nCONFIG_ZLIB_DEFLATE=y\nCONFIG_LZO_COMPRESS=y\nCONFIG_LZO_DECOMPRESS=y\nCONFIG_LZ4_DECOMPRESS=y\nCONFIG_XZ_DEC=y\nCONFIG_XZ_DEC_X86=y\nCONFIG_XZ_DEC_POWERPC=y\nCONFIG_XZ_DEC_IA64=y\nCONFIG_XZ_DEC_ARM=y\nCONFIG_XZ_DEC_ARMTHUMB=y\nCONFIG_XZ_DEC_SPARC=y\nCONFIG_XZ_DEC_BCJ=y\n# CONFIG_XZ_DEC_TEST is not set\nCONFIG_DECOMPRESS_GZIP=y\nCONFIG_DECOMPRESS_BZIP2=y\nCONFIG_DECOMPRESS_LZMA=y\nCONFIG_DECOMPRESS_XZ=y\nCONFIG_DECOMPRESS_LZO=y\nCONFIG_DECOMPRESS_LZ4=y\nCONFIG_GENERIC_ALLOCATOR=y\nCONFIG_INTERVAL_TREE=y\nCONFIG_ASSOCIATIVE_ARRAY=y\nCONFIG_HAS_IOMEM=y\nCONFIG_HAS_IOPORT_MAP=y\nCONFIG_HAS_DMA=y\nCONFIG_NEED_SG_DMA_LENGTH=y\nCONFIG_NEED_DMA_MAP_STATE=y\nCONFIG_ARCH_DMA_ADDR_T_64BIT=y\nCONFIG_SWIOTLB=y\n# CONFIG_DMA_API_DEBUG is not set\nCONFIG_SGL_ALLOC=y\nCONFIG_CHECK_SIGNATURE=y\nCONFIG_CPU_RMAP=y\nCONFIG_DQL=y\nCONFIG_GLOB=y\n# CONFIG_GLOB_SELFTEST is not set\nCONFIG_NLATTR=y\nCONFIG_CLZ_TAB=y\n# CONFIG_IRQ_POLL is not set\nCONFIG_MPILIB=y\nCONFIG_OID_REGISTRY=y\nCONFIG_UCS2_STRING=y\nCONFIG_HAVE_GENERIC_VDSO=y\nCONFIG_GENERIC_GETTIMEOFDAY=y\nCONFIG_FONT_SUPPORT=y\n# CONFIG_FONTS is not set\nCONFIG_FONT_8x8=y\nCONFIG_FONT_8x16=y\nCONFIG_SG_POOL=y\nCONFIG_ARCH_HAS_PMEM_API=y\nCONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y\nCONFIG_ARCH_HAS_UACCESS_MCSAFE=y\nCONFIG_ARCH_STACKWALK=y\nCONFIG_SBITMAP=y\n# CONFIG_STRING_SELFTEST is not set\n# end of Library routines\n\n#\n# Kernel hacking\n#\n\n#\n# printk and dmesg options\n#\nCONFIG_PRINTK_TIME=y\n# CONFIG_PRINTK_CALLER is not set\nCONFIG_CONSOLE_LOGLEVEL_DEFAULT=7\nCONFIG_CONSOLE_LOGLEVEL_QUIET=4\nCONFIG_MESSAGE_LOGLEVEL_DEFAULT=4\n# CONFIG_BOOT_PRINTK_DELAY is not set\n# CONFIG_DYNAMIC_DEBUG is not set\nCONFIG_SYMBOLIC_ERRNAME=y\nCONFIG_DEBUG_BUGVERBOSE=y\n# end of printk and dmesg options\n\n#\n# Compile-time checks and compiler options\n#\nCONFIG_DEBUG_INFO=y\n# CONFIG_DEBUG_INFO_REDUCED is not set\n# CONFIG_DEBUG_INFO_SPLIT is not set\n# CONFIG_DEBUG_INFO_DWARF4 is not set\nCONFIG_DEBUG_INFO_BTF=y\n# CONFIG_GDB_SCRIPTS is not set\nCONFIG_ENABLE_MUST_CHECK=y\nCONFIG_FRAME_WARN=2048\n# CONFIG_STRIP_ASM_SYMS is not set\n# CONFIG_READABLE_ASM is not set\n# CONFIG_HEADERS_INSTALL is not set\nCONFIG_OPTIMIZE_INLINING=y\n# CONFIG_DEBUG_SECTION_MISMATCH is not set\nCONFIG_SECTION_MISMATCH_WARN_ONLY=y\nCONFIG_STACK_VALIDATION=y\n# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set\n# end of Compile-time checks and compiler options\n\n#\n# Generic Kernel Debugging Instruments\n#\nCONFIG_MAGIC_SYSRQ=y\nCONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1\nCONFIG_MAGIC_SYSRQ_SERIAL=y\nCONFIG_DEBUG_FS=y\nCONFIG_HAVE_ARCH_KGDB=y\n# CONFIG_KGDB is not set\nCONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y\n# CONFIG_UBSAN is not set\nCONFIG_UBSAN_ALIGNMENT=y\n# end of Generic Kernel Debugging Instruments\n\nCONFIG_DEBUG_KERNEL=y\nCONFIG_DEBUG_MISC=y\n\n#\n# Memory Debugging\n#\n# CONFIG_PAGE_EXTENSION is not set\n# CONFIG_DEBUG_PAGEALLOC is not set\n# CONFIG_PAGE_OWNER is not set\n# CONFIG_PAGE_POISONING is not set\n# CONFIG_DEBUG_PAGE_REF is not set\n# CONFIG_DEBUG_RODATA_TEST is not set\n# CONFIG_DEBUG_OBJECTS is not set\n# CONFIG_SLUB_DEBUG_ON is not set\n# CONFIG_SLUB_STATS is not set\nCONFIG_HAVE_DEBUG_KMEMLEAK=y\n# CONFIG_DEBUG_KMEMLEAK is not set\nCONFIG_DEBUG_STACK_USAGE=y\n# CONFIG_SCHED_STACK_END_CHECK is not set\n# CONFIG_DEBUG_VM is not set\nCONFIG_ARCH_HAS_DEBUG_VIRTUAL=y\n# CONFIG_DEBUG_VIRTUAL is not set\nCONFIG_DEBUG_MEMORY_INIT=y\n# CONFIG_DEBUG_PER_CPU_MAPS is not set\nCONFIG_HAVE_ARCH_KASAN=y\nCONFIG_HAVE_ARCH_KASAN_VMALLOC=y\nCONFIG_CC_HAS_KASAN_GENERIC=y\n# CONFIG_KASAN is not set\nCONFIG_KASAN_STACK=1\n# end of Memory Debugging\n\n# CONFIG_DEBUG_SHIRQ is not set\n\n#\n# Debug Oops, Lockups and Hangs\n#\n# CONFIG_PANIC_ON_OOPS is not set\nCONFIG_PANIC_ON_OOPS_VALUE=0\nCONFIG_PANIC_TIMEOUT=0\n# CONFIG_SOFTLOCKUP_DETECTOR is not set\nCONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y\n# CONFIG_HARDLOCKUP_DETECTOR is not set\n# CONFIG_DETECT_HUNG_TASK is not set\n# CONFIG_WQ_WATCHDOG is not set\n# end of Debug Oops, Lockups and Hangs\n\n#\n# Scheduler Debugging\n#\n# CONFIG_SCHED_DEBUG is not set\nCONFIG_SCHED_INFO=y\nCONFIG_SCHEDSTATS=y\n# end of Scheduler Debugging\n\n# CONFIG_DEBUG_TIMEKEEPING is not set\n\n#\n# Lock Debugging (spinlocks, mutexes, etc...)\n#\nCONFIG_LOCK_DEBUGGING_SUPPORT=y\n# CONFIG_PROVE_LOCKING is not set\n# CONFIG_LOCK_STAT is not set\n# CONFIG_DEBUG_RT_MUTEXES is not set\n# CONFIG_DEBUG_SPINLOCK is not set\n# CONFIG_DEBUG_MUTEXES is not set\n# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set\n# CONFIG_DEBUG_RWSEMS is not set\n# CONFIG_DEBUG_LOCK_ALLOC is not set\n# CONFIG_DEBUG_ATOMIC_SLEEP is not set\n# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set\n# CONFIG_LOCK_TORTURE_TEST is not set\n# CONFIG_WW_MUTEX_SELFTEST is not set\n# end of Lock Debugging (spinlocks, mutexes, etc...)\n\nCONFIG_STACKTRACE=y\n# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set\n# CONFIG_DEBUG_KOBJECT is not set\n\n#\n# Debug kernel data structures\n#\n# CONFIG_DEBUG_LIST is not set\n# CONFIG_DEBUG_PLIST is not set\n# CONFIG_DEBUG_SG is not set\n# CONFIG_DEBUG_NOTIFIERS is not set\n# CONFIG_BUG_ON_DATA_CORRUPTION is not set\n# end of Debug kernel data structures\n\n# CONFIG_DEBUG_CREDENTIALS is not set\n\n#\n# RCU Debugging\n#\n# CONFIG_RCU_PERF_TEST is not set\n# CONFIG_RCU_TORTURE_TEST is not set\nCONFIG_RCU_CPU_STALL_TIMEOUT=21\nCONFIG_RCU_TRACE=y\n# CONFIG_RCU_EQS_DEBUG is not set\n# end of RCU Debugging\n\n# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set\n# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set\n# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set\n# CONFIG_LATENCYTOP is not set\nCONFIG_USER_STACKTRACE_SUPPORT=y\nCONFIG_NOP_TRACER=y\nCONFIG_HAVE_FUNCTION_TRACER=y\nCONFIG_HAVE_FUNCTION_GRAPH_TRACER=y\nCONFIG_HAVE_DYNAMIC_FTRACE=y\nCONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y\nCONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y\nCONFIG_HAVE_FTRACE_MCOUNT_RECORD=y\nCONFIG_HAVE_SYSCALL_TRACEPOINTS=y\nCONFIG_HAVE_FENTRY=y\nCONFIG_HAVE_C_RECORDMCOUNT=y\nCONFIG_TRACE_CLOCK=y\nCONFIG_RING_BUFFER=y\nCONFIG_EVENT_TRACING=y\nCONFIG_CONTEXT_SWITCH_TRACER=y\nCONFIG_TRACING=y\nCONFIG_GENERIC_TRACER=y\nCONFIG_TRACING_SUPPORT=y\nCONFIG_FTRACE=y\n# CONFIG_FUNCTION_TRACER is not set\n# CONFIG_PREEMPTIRQ_EVENTS is not set\n# CONFIG_IRQSOFF_TRACER is not set\n# CONFIG_SCHED_TRACER is not set\n# CONFIG_HWLAT_TRACER is not set\n# CONFIG_FTRACE_SYSCALLS is not set\n# CONFIG_TRACER_SNAPSHOT is not set\nCONFIG_BRANCH_PROFILE_NONE=y\n# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set\n# CONFIG_PROFILE_ALL_BRANCHES is not set\n# CONFIG_STACK_TRACER is not set\nCONFIG_BLK_DEV_IO_TRACE=y\nCONFIG_KPROBE_EVENTS=y\nCONFIG_UPROBE_EVENTS=y\nCONFIG_BPF_EVENTS=y\nCONFIG_DYNAMIC_EVENTS=y\nCONFIG_PROBE_EVENTS=y\nCONFIG_BPF_KPROBE_OVERRIDE=y\n# CONFIG_FTRACE_STARTUP_TEST is not set\n# CONFIG_MMIOTRACE is not set\n# CONFIG_HIST_TRIGGERS is not set\n# CONFIG_TRACE_EVENT_INJECT is not set\n# CONFIG_TRACEPOINT_BENCHMARK is not set\n# CONFIG_RING_BUFFER_BENCHMARK is not set\n# CONFIG_RING_BUFFER_STARTUP_TEST is not set\n# CONFIG_PREEMPTIRQ_DELAY_TEST is not set\n# CONFIG_TRACE_EVAL_MAP_FILE is not set\nCONFIG_PROVIDE_OHCI1394_DMA_INIT=y\n# CONFIG_SAMPLES is not set\nCONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y\nCONFIG_STRICT_DEVMEM=y\n# CONFIG_IO_STRICT_DEVMEM is not set\n\n#\n# x86 Debugging\n#\nCONFIG_TRACE_IRQFLAGS_SUPPORT=y\nCONFIG_EARLY_PRINTK_USB=y\nCONFIG_X86_VERBOSE_BOOTUP=y\nCONFIG_EARLY_PRINTK=y\nCONFIG_EARLY_PRINTK_DBGP=y\n# CONFIG_EARLY_PRINTK_USB_XDBC is not set\n# CONFIG_X86_PTDUMP is not set\n# CONFIG_EFI_PGT_DUMP is not set\n# CONFIG_DEBUG_WX is not set\nCONFIG_DOUBLEFAULT=y\n# CONFIG_DEBUG_TLBFLUSH is not set\nCONFIG_HAVE_MMIOTRACE_SUPPORT=y\n# CONFIG_X86_DECODER_SELFTEST is not set\nCONFIG_IO_DELAY_0X80=y\n# CONFIG_IO_DELAY_0XED is not set\n# CONFIG_IO_DELAY_UDELAY is not set\n# CONFIG_IO_DELAY_NONE is not set\nCONFIG_DEBUG_BOOT_PARAMS=y\n# CONFIG_CPA_DEBUG is not set\n# CONFIG_DEBUG_ENTRY is not set\n# CONFIG_DEBUG_NMI_SELFTEST is not set\nCONFIG_X86_DEBUG_FPU=y\n# CONFIG_PUNIT_ATOM_DEBUG is not set\nCONFIG_UNWINDER_ORC=y\n# CONFIG_UNWINDER_FRAME_POINTER is not set\n# end of x86 Debugging\n\n#\n# Kernel Testing and Coverage\n#\n# CONFIG_KUNIT is not set\n# CONFIG_NOTIFIER_ERROR_INJECTION is not set\nCONFIG_FUNCTION_ERROR_INJECTION=y\n# CONFIG_FAULT_INJECTION is not set\nCONFIG_ARCH_HAS_KCOV=y\nCONFIG_CC_HAS_SANCOV_TRACE_PC=y\n# CONFIG_KCOV is not set\nCONFIG_RUNTIME_TESTING_MENU=y\n# CONFIG_LKDTM is not set\n# CONFIG_TEST_LIST_SORT is not set\n# CONFIG_TEST_SORT is not set\n# CONFIG_KPROBES_SANITY_TEST is not set\n# CONFIG_BACKTRACE_SELF_TEST is not set\n# CONFIG_RBTREE_TEST is not set\n# CONFIG_REED_SOLOMON_TEST is not set\n# CONFIG_INTERVAL_TREE_TEST is not set\n# CONFIG_PERCPU_TEST is not set\n# CONFIG_ATOMIC64_SELFTEST is not set\n# CONFIG_TEST_HEXDUMP is not set\n# CONFIG_TEST_STRING_HELPERS is not set\n# CONFIG_TEST_STRSCPY is not set\n# CONFIG_TEST_KSTRTOX is not set\n# CONFIG_TEST_PRINTF is not set\n# CONFIG_TEST_BITMAP is not set\n# CONFIG_TEST_BITFIELD is not set\n# CONFIG_TEST_UUID is not set\n# CONFIG_TEST_XARRAY is not set\n# CONFIG_TEST_OVERFLOW is not set\n# CONFIG_TEST_RHASHTABLE is not set\n# CONFIG_TEST_HASH is not set\n# CONFIG_TEST_IDA is not set\n# CONFIG_TEST_LKM is not set\n# CONFIG_TEST_VMALLOC is not set\n# CONFIG_TEST_USER_COPY is not set\n# CONFIG_TEST_BPF is not set\n# CONFIG_TEST_BLACKHOLE_DEV is not set\n# CONFIG_FIND_BIT_BENCHMARK is not set\n# CONFIG_TEST_FIRMWARE is not set\n# CONFIG_TEST_SYSCTL is not set\n# CONFIG_TEST_UDELAY is not set\n# CONFIG_TEST_STATIC_KEYS is not set\n# CONFIG_TEST_KMOD is not set\n# CONFIG_TEST_MEMCAT_P is not set\n# CONFIG_TEST_STACKINIT is not set\n# CONFIG_TEST_MEMINIT is not set\n# CONFIG_MEMTEST is not set\n# end of Kernel Testing and Coverage\n# end of Kernel hacking\n"
  },
  {
    "path": "libbpf-tools/klockstat.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n/* Copyright (c) 2021 Google LLC.\n *\n * Based on klockstat from BCC by Jiri Olsa and others\n * 2021-10-26   Barret Rhoden   Created this.\n */\n#include \"vmlinux.h\"\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"klockstat.h\"\n#include \"bits.bpf.h\"\n\nconst volatile pid_t targ_tgid = 0;\nconst volatile pid_t targ_pid = 0;\nvoid *const volatile targ_lock = NULL;\nconst volatile int per_thread = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_STACK_TRACE);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__uint(key_size, sizeof(u32));\n\t__uint(value_size, PERF_MAX_STACK_DEPTH * sizeof(u64));\n} stack_map SEC(\".maps\");\n\n/*\n * Uniquely identifies a task grabbing a particular lock; a task can only hold\n * the same lock once (non-recursive mutexes).\n */\nstruct task_lock {\n\tu64 task_id;\n\tu64 lock_ptr;\n};\n\nstruct task_state {\n\tu16 nlmsg_type;\n\tu16 ioctl;\n};\n\nstruct lockholder_info {\n\ts32 stack_id;\n\tu16 nlmsg_type;\n\tu16 ioctl;\n\tu64 task_id;\n\tu64 try_at;\n\tu64 acq_at;\n\tu64 rel_at;\n\tu64 lock_ptr;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct task_lock);\n\t__type(value, struct lockholder_info);\n} lockholder_map SEC(\".maps\");\n\n/*\n * Keyed by stack_id.\n *\n * Multiple call sites may have the same underlying lock, but we only know the\n * stats for a particular stack frame.  Multiple tasks may have the same\n * stackframe.\n */\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, s32);\n\t__type(value, struct lock_stat);\n} stat_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, u32);\n\t__type(value, void *);\n} locks SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, u32);\n\t__type(value, struct task_state);\n} task_states SEC(\".maps\");\n\nstatic bool tracing_task(u64 task_id)\n{\n\tu32 tgid = task_id >> 32;\n\tu32 pid = task_id;\n\n\tif (targ_tgid && targ_tgid != tgid)\n\t\treturn false;\n\tif (targ_pid && targ_pid != pid)\n\t\treturn false;\n\treturn true;\n}\n\nstatic void lock_contended(void *ctx, void *lock)\n{\n\tu64 task_id;\n\tstruct lockholder_info li[1] = {0};\n\tstruct task_lock tl = {};\n\n\tif (targ_lock && targ_lock != lock)\n\t\treturn;\n\ttask_id = bpf_get_current_pid_tgid();\n\tif (!tracing_task(task_id))\n\t\treturn;\n\n\tli->task_id = task_id;\n\tli->lock_ptr = (u64)lock;\n\tli->stack_id = bpf_get_stackid(ctx, &stack_map, BPF_F_FAST_STACK_CMP);\n\n\t/* Legit failures include EEXIST */\n\tif (li->stack_id < 0)\n\t\treturn;\n\tli->try_at = bpf_ktime_get_ns();\n\n\ttl.task_id = task_id;\n\ttl.lock_ptr = (u64)lock;\n\tbpf_map_update_elem(&lockholder_map, &tl, li, BPF_ANY);\n}\n\nstatic void lock_aborted(void *lock)\n{\n\tu64 task_id;\n\tstruct task_lock tl = {};\n\n\tif (targ_lock && targ_lock != lock)\n\t\treturn;\n\ttask_id = bpf_get_current_pid_tgid();\n\tif (!tracing_task(task_id))\n\t\treturn;\n\ttl.task_id = task_id;\n\ttl.lock_ptr = (u64)lock;\n\tbpf_map_delete_elem(&lockholder_map, &tl);\n}\n\nstatic void lock_acquired(void *lock)\n{\n\tu64 task_id;\n\tu32 tid;\n\tstruct task_state *state;\n\tstruct lockholder_info *li;\n\tstruct task_lock tl = {};\n\n\tif (targ_lock && targ_lock != lock)\n\t\treturn;\n\ttask_id = bpf_get_current_pid_tgid();\n\tif (!tracing_task(task_id))\n\t\treturn;\n\n\ttl.task_id = task_id;\n\ttl.lock_ptr = (u64)lock;\n\tli = bpf_map_lookup_elem(&lockholder_map, &tl);\n\tif (!li)\n\t\treturn;\n\n\tli->acq_at = bpf_ktime_get_ns();\n\n\ttid = (u32)task_id;\n\tstate = bpf_map_lookup_elem(&task_states, &tid);\n\tif (state) {\n\t\tli->nlmsg_type = state->nlmsg_type;\n\t\tli->ioctl = state->ioctl;\n\t}\n}\n\nstatic void account(struct lockholder_info *li)\n{\n\tstruct lock_stat *ls;\n\tu64 delta;\n\tu32 key = li->stack_id;\n\n\tif (per_thread)\n\t\tkey = li->task_id;\n\n\t/*\n\t * Multiple threads may have the same stack_id.  Even though we are\n\t * holding the lock, dynamically allocated mutexes can have the same\n\t * callgraph but represent different locks.  Also, a rwsem can be held\n\t * by multiple readers at the same time.  They will be accounted as\n\t * the same lock, which is what we want, but we need to use atomics to\n\t * avoid corruption, especially for the total_time variables.\n\t * But it should be ok for per-thread since it's not racy anymore.\n\t */\n\tls = bpf_map_lookup_elem(&stat_map, &key);\n\tif (!ls) {\n\t\tstruct lock_stat fresh = {0};\n\n\t\tbpf_map_update_elem(&stat_map, &key, &fresh, BPF_ANY);\n\t\tls = bpf_map_lookup_elem(&stat_map, &key);\n\t\tif (!ls)\n\t\t\treturn;\n\n\t\tif (per_thread)\n\t\t\tbpf_get_current_comm(ls->acq_max_comm, TASK_COMM_LEN);\n\t}\n\n\tdelta = li->acq_at - li->try_at;\n\t__sync_fetch_and_add(&ls->acq_count, 1);\n\t__sync_fetch_and_add(&ls->acq_total_time, delta);\n\tif (delta > READ_ONCE(ls->acq_max_time)) {\n\t\tWRITE_ONCE(ls->acq_max_time, delta);\n\t\tWRITE_ONCE(ls->acq_max_id, li->task_id);\n\t\tWRITE_ONCE(ls->acq_max_lock_ptr, li->lock_ptr);\n\t\tWRITE_ONCE(ls->acq_max_nltype, li->nlmsg_type);\n\t\tWRITE_ONCE(ls->acq_max_ioctl, li->ioctl);\n\t\t/*\n\t\t * Potentially racy, if multiple threads think they are the max,\n\t\t * so you may get a clobbered write.\n\t\t */\n\t\tif (!per_thread)\n\t\t\tbpf_get_current_comm(ls->acq_max_comm, TASK_COMM_LEN);\n\t}\n\n\tdelta = li->rel_at - li->acq_at;\n\t__sync_fetch_and_add(&ls->hld_count, 1);\n\t__sync_fetch_and_add(&ls->hld_total_time, delta);\n\tif (delta > READ_ONCE(ls->hld_max_time)) {\n\t\tWRITE_ONCE(ls->hld_max_time, delta);\n\t\tWRITE_ONCE(ls->hld_max_id, li->task_id);\n\t\tWRITE_ONCE(ls->hld_max_lock_ptr, li->lock_ptr);\n\t\tWRITE_ONCE(ls->hld_max_nltype, li->nlmsg_type);\n\t\tWRITE_ONCE(ls->hld_max_ioctl, li->ioctl);\n\t\tif (!per_thread)\n\t\t\tbpf_get_current_comm(ls->hld_max_comm, TASK_COMM_LEN);\n\t}\n}\n\nstatic void lock_released(void *lock)\n{\n\tu64 task_id;\n\tstruct lockholder_info *li;\n\tstruct task_lock tl = {};\n\n\tif (targ_lock && targ_lock != lock)\n\t\treturn;\n\ttask_id = bpf_get_current_pid_tgid();\n\tif (!tracing_task(task_id))\n\t\treturn;\n\ttl.task_id = task_id;\n\ttl.lock_ptr = (u64)lock;\n\tli = bpf_map_lookup_elem(&lockholder_map, &tl);\n\tif (!li)\n\t\treturn;\n\n\tli->rel_at = bpf_ktime_get_ns();\n\taccount(li);\n\n\tbpf_map_delete_elem(&lockholder_map, &tl);\n}\n\nstatic void record_nltype(const struct nlmsghdr *hdr)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tstruct task_state state = {};\n\n\t/* nlmsg_type and ioctl will never be set at the same time */\n\tstate.nlmsg_type = BPF_CORE_READ(hdr, nlmsg_type);\n\tbpf_map_update_elem(&task_states, &tid, &state, BPF_ANY);\n}\n\nstatic void record_ioctl(unsigned int cmd)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tstruct task_state state = {.ioctl = cmd};\n\n\t/* nlmsg_type and ioctl will never be set at the same time */\n\tbpf_map_update_elem(&task_states, &tid, &state, BPF_ANY);\n}\n\nstatic void release_task_state(void)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_delete_elem(&task_states, &tid);\n}\n\nSEC(\"fentry/rtnetlink_rcv_msg\")\nint BPF_PROG(rtnetlink_rcv_msg, struct sk_buff *skb, struct nlmsghdr *nlh,\n\t     struct netlink_ext_ack *extack)\n{\n\trecord_nltype(nlh);\n\treturn 0;\n}\n\nSEC(\"fexit/rtnetlink_rcv_msg\")\nint BPF_PROG(rtnetlink_rcv_msg_exit, struct sk_buff *skb, struct nlmsghdr *nlh,\n\t     struct netlink_ext_ack *extack, long ret)\n{\n\trelease_task_state();\n\treturn 0;\n}\n\nSEC(\"fentry/netlink_dump\")\nint BPF_PROG(netlink_dump, struct sock *sk, bool lock_taken)\n{\n\tstruct netlink_sock *nlk = container_of(sk, struct netlink_sock, sk);\n\tconst struct nlmsghdr *nlh;\n\n\tnlh = BPF_CORE_READ(nlk, cb.nlh);\n\trecord_nltype(nlh);\n\treturn 0;\n}\n\nSEC(\"fexit/netlink_dump\")\nint BPF_PROG(netlink_dump_exit, struct sk_buff *skb, struct nlmsghdr *nlh,\n\t     struct netlink_ext_ack *extack)\n{\n\trelease_task_state();\n\treturn 0;\n}\n\nSEC(\"fentry/sock_do_ioctl\")\nint BPF_PROG(sock_do_ioctl, struct net *net, struct socket *sock,\n\t     unsigned int cmd, unsigned long arg)\n{\n\trecord_ioctl(cmd);\n\treturn 0;\n}\n\nSEC(\"fexit/sock_do_ioctl\")\nint BPF_PROG(sock_do_ioctl_exit)\n{\n\trelease_task_state();\n\treturn 0;\n}\n\nSEC(\"fentry/mutex_lock\")\nint BPF_PROG(mutex_lock, struct mutex *lock)\n{\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"fexit/mutex_lock\")\nint BPF_PROG(mutex_lock_exit, struct mutex *lock, long ret)\n{\n\tlock_acquired(lock);\n\treturn 0;\n}\n\nSEC(\"fexit/mutex_trylock\")\nint BPF_PROG(mutex_trylock_exit, struct mutex *lock, long ret)\n{\n\tif (ret) {\n\t\tlock_contended(ctx, lock);\n\t\tlock_acquired(lock);\n\t}\n\treturn 0;\n}\n\nSEC(\"fentry/mutex_lock_interruptible\")\nint BPF_PROG(mutex_lock_interruptible, struct mutex *lock)\n{\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"fexit/mutex_lock_interruptible\")\nint BPF_PROG(mutex_lock_interruptible_exit, struct mutex *lock, long ret)\n{\n\tif (ret)\n\t\tlock_aborted(lock);\n\telse\n\t\tlock_acquired(lock);\n\treturn 0;\n}\n\nSEC(\"fentry/mutex_lock_killable\")\nint BPF_PROG(mutex_lock_killable, struct mutex *lock)\n{\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"fexit/mutex_lock_killable\")\nint BPF_PROG(mutex_lock_killable_exit, struct mutex *lock, long ret)\n{\n\tif (ret)\n\t\tlock_aborted(lock);\n\telse\n\t\tlock_acquired(lock);\n\treturn 0;\n}\n\nSEC(\"fentry/mutex_unlock\")\nint BPF_PROG(mutex_unlock, struct mutex *lock)\n{\n\tlock_released(lock);\n\treturn 0;\n}\n\nSEC(\"fentry/down_read\")\nint BPF_PROG(down_read, struct rw_semaphore *lock)\n{\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"fexit/down_read\")\nint BPF_PROG(down_read_exit, struct rw_semaphore *lock, long ret)\n{\n\tlock_acquired(lock);\n\treturn 0;\n}\n\nSEC(\"fexit/down_read_trylock\")\nint BPF_PROG(down_read_trylock_exit, struct rw_semaphore *lock, long ret)\n{\n\tif (ret == 1) {\n\t\tlock_contended(ctx, lock);\n\t\tlock_acquired(lock);\n\t}\n\treturn 0;\n}\n\nSEC(\"fentry/down_read_interruptible\")\nint BPF_PROG(down_read_interruptible, struct rw_semaphore *lock)\n{\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"fexit/down_read_interruptible\")\nint BPF_PROG(down_read_interruptible_exit, struct rw_semaphore *lock, long ret)\n{\n\tif (ret)\n\t\tlock_aborted(lock);\n\telse\n\t\tlock_acquired(lock);\n\treturn 0;\n}\n\nSEC(\"fentry/down_read_killable\")\nint BPF_PROG(down_read_killable, struct rw_semaphore *lock)\n{\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"fexit/down_read_killable\")\nint BPF_PROG(down_read_killable_exit, struct rw_semaphore *lock, long ret)\n{\n\tif (ret)\n\t\tlock_aborted(lock);\n\telse\n\t\tlock_acquired(lock);\n\treturn 0;\n}\n\nSEC(\"fentry/up_read\")\nint BPF_PROG(up_read, struct rw_semaphore *lock)\n{\n\tlock_released(lock);\n\treturn 0;\n}\n\nSEC(\"fentry/down_write\")\nint BPF_PROG(down_write, struct rw_semaphore *lock)\n{\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"fexit/down_write\")\nint BPF_PROG(down_write_exit, struct rw_semaphore *lock, long ret)\n{\n\tlock_acquired(lock);\n\treturn 0;\n}\n\nSEC(\"fexit/down_write_trylock\")\nint BPF_PROG(down_write_trylock_exit, struct rw_semaphore *lock, long ret)\n{\n\tif (ret == 1) {\n\t\tlock_contended(ctx, lock);\n\t\tlock_acquired(lock);\n\t}\n\treturn 0;\n}\n\nSEC(\"fentry/down_write_killable\")\nint BPF_PROG(down_write_killable, struct rw_semaphore *lock)\n{\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"fexit/down_write_killable\")\nint BPF_PROG(down_write_killable_exit, struct rw_semaphore *lock, long ret)\n{\n\tif (ret)\n\t\tlock_aborted(lock);\n\telse\n\t\tlock_acquired(lock);\n\treturn 0;\n}\n\nSEC(\"fentry/up_write\")\nint BPF_PROG(up_write, struct rw_semaphore *lock)\n{\n\tlock_released(lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/mutex_lock\")\nint BPF_KPROBE(kprobe_mutex_lock, struct mutex *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/mutex_lock\")\nint BPF_KRETPROBE(kprobe_mutex_lock_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/mutex_trylock\")\nint BPF_KPROBE(kprobe_mutex_trylock, struct mutex *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\treturn 0;\n}\n\nSEC(\"kretprobe/mutex_trylock\")\nint BPF_KRETPROBE(kprobe_mutex_trylock_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret) {\n\t\tlock_contended(ctx, *lock);\n\t\tlock_acquired(*lock);\n\t}\n\treturn 0;\n}\n\nSEC(\"kprobe/mutex_lock_interruptible\")\nint BPF_KPROBE(kprobe_mutex_lock_interruptible, struct mutex *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/mutex_lock_interruptible\")\nint BPF_KRETPROBE(kprobe_mutex_lock_interruptible_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/mutex_lock_killable\")\nint BPF_KPROBE(kprobe_mutex_lock_killable, struct mutex *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/mutex_lock_killable\")\nint BPF_KRETPROBE(kprobe_mutex_lock_killable_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/mutex_unlock\")\nint BPF_KPROBE(kprobe_mutex_unlock, struct mutex *lock)\n{\n\tlock_released(lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_read\")\nint BPF_KPROBE(kprobe_down_read, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_read\")\nint BPF_KRETPROBE(kprobe_down_read_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_read_trylock\")\nint BPF_KPROBE(kprobe_down_read_trylock, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_read_trylock\")\nint BPF_KRETPROBE(kprobe_down_read_trylock_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret == 1) {\n\t\tlock_contended(ctx, *lock);\n\t\tlock_acquired(*lock);\n\t}\n\treturn 0;\n}\n\nSEC(\"kprobe/down_read_interruptible\")\nint BPF_KPROBE(kprobe_down_read_interruptible, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_read_interruptible\")\nint BPF_KRETPROBE(kprobe_down_read_interruptible_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_read_killable\")\nint BPF_KPROBE(kprobe_down_read_killable, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_read_killable\")\nint BPF_KRETPROBE(kprobe_down_read_killable_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/up_read\")\nint BPF_KPROBE(kprobe_up_read, struct rw_semaphore *lock)\n{\n\tlock_released(lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_write\")\nint BPF_KPROBE(kprobe_down_write, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_write\")\nint BPF_KRETPROBE(kprobe_down_write_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_write_trylock\")\nint BPF_KPROBE(kprobe_down_write_trylock, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_write_trylock\")\nint BPF_KRETPROBE(kprobe_down_write_trylock_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret == 1) {\n\t\tlock_contended(ctx, *lock);\n\t\tlock_acquired(*lock);\n\t}\n\treturn 0;\n}\n\nSEC(\"kprobe/down_write_killable\")\nint BPF_KPROBE(kprobe_down_write_killable, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_write_killable\")\nint BPF_KRETPROBE(kprobe_down_write_killable_exit, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/up_write\")\nint BPF_KPROBE(kprobe_up_write, struct rw_semaphore *lock)\n{\n\tlock_released(lock);\n\treturn 0;\n}\n\n/* CONFIG_DEBUG_LOCK_ALLOC is enabled */\n\nSEC(\"kprobe/mutex_lock_nested\")\nint BPF_KPROBE(kprobe_mutex_lock_nested, struct mutex *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/mutex_lock_nested\")\nint BPF_KRETPROBE(kprobe_mutex_lock_exit_nested, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/mutex_lock_interruptible_nested\")\nint BPF_KPROBE(kprobe_mutex_lock_interruptible_nested, struct mutex *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/mutex_lock_interruptible_nested\")\nint BPF_KRETPROBE(kprobe_mutex_lock_interruptible_exit_nested, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/mutex_lock_killable_nested\")\nint BPF_KPROBE(kprobe_mutex_lock_killable_nested, struct mutex *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/mutex_lock_killable_nested\")\nint BPF_KRETPROBE(kprobe_mutex_lock_killable_exit_nested, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_read_nested\")\nint BPF_KPROBE(kprobe_down_read_nested, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_read_nested\")\nint BPF_KRETPROBE(kprobe_down_read_exit_nested, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_read_killable_nested\")\nint BPF_KPROBE(kprobe_down_read_killable_nested, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_read_killable_nested\")\nint BPF_KRETPROBE(kprobe_down_read_killable_exit_nested, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_write_nested\")\nint BPF_KPROBE(kprobe_down_write_nested, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_write_nested\")\nint BPF_KRETPROBE(kprobe_down_write_exit_nested, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/down_write_killable_nested\")\nint BPF_KPROBE(kprobe_down_write_killable_nested, struct rw_semaphore *lock)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\n\tbpf_map_update_elem(&locks, &tid, &lock, BPF_ANY);\n\tlock_contended(ctx, lock);\n\treturn 0;\n}\n\nSEC(\"kretprobe/down_write_killable_nested\")\nint BPF_KRETPROBE(kprobe_down_write_killable_exit_nested, long ret)\n{\n\tu32 tid = (u32)bpf_get_current_pid_tgid();\n\tvoid **lock;\n\n\tlock = bpf_map_lookup_elem(&locks, &tid);\n\tif (!lock)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&locks, &tid);\n\n\tif (ret)\n\t\tlock_aborted(*lock);\n\telse\n\t\tlock_acquired(*lock);\n\treturn 0;\n}\n\nSEC(\"kprobe/rtnetlink_rcv_msg\")\nint BPF_KPROBE(kprobe_rtnetlink_rcv_msg, struct sk_buff *skb, struct nlmsghdr *nlh,\n\t       struct netlink_ext_ack *ext)\n{\n\trecord_nltype(nlh);\n\treturn 0;\n}\n\nSEC(\"kretprobe/rtnetlink_rcv_msg\")\nint BPF_KRETPROBE(kprobe_rtnetlink_rcv_msg_exit, long ret)\n{\n\trelease_task_state();\n\treturn 0;\n}\n\nSEC(\"kprobe/netlink_dump\")\nint BPF_KPROBE(kprobe_netlink_dump, struct sock *sk, bool lock_taken)\n{\n\tstruct netlink_sock *nlk = container_of(sk, struct netlink_sock, sk);\n\tconst struct nlmsghdr *nlh;\n\n\tnlh = BPF_CORE_READ(nlk, cb.nlh);\n\trecord_nltype(nlh);\n\treturn 0;\n}\n\nSEC(\"kretprobe/netlink_dump\")\nint BPF_KRETPROBE(kprobe_netlink_dump_exit, long ret)\n{\n\trelease_task_state();\n\treturn 0;\n}\n\nSEC(\"kprobe/sock_do_ioctl\")\nint BPF_PROG(kprobe_sock_do_ioctl, struct net *net, struct socket *sock,\n\t     unsigned int cmd, unsigned long arg)\n{\n\trecord_ioctl(cmd);\n\treturn 0;\n}\n\nSEC(\"kretprobe/sock_do_ioctl\")\nint BPF_PROG(kprobe_sock_do_ioctl_exit)\n{\n\trelease_task_state();\n\treturn 0;\n}\n\n\n\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/klockstat.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2021 Google LLC.\n *\n * Based on klockstat from BCC by Jiri Olsa and others\n * 2021-10-26   Barret Rhoden   Created this.\n */\n/* Differences from BCC python tool:\n * - can specify a lock by ksym name, using '-L'\n * - tracks whichever task had the max time for acquire and hold, outputted\n *     when '-s' > 1 (otherwise it's cluttered).\n * - does not reset stats each interval by default. Can request with -R.\n */\n#ifndef _GNU_SOURCE\n#define _GNU_SOURCE\n#endif\n#include <argp.h>\n#include <errno.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n#include <sys/param.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include <bpf/btf.h>\n#include \"klockstat.h\"\n#include \"klockstat.skel.h\"\n#include \"compat.h\"\n#include \"trace_helpers.h\"\n#include \"ioctl_names.h\"\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))\n\nenum {\n\tSORT_ACQ_MAX,\n\tSORT_ACQ_COUNT,\n\tSORT_ACQ_TOTAL,\n\tSORT_HLD_MAX,\n\tSORT_HLD_COUNT,\n\tSORT_HLD_TOTAL,\n};\n\nstatic struct prog_env {\n\tpid_t pid;\n\tpid_t tid;\n\tchar *caller;\n\tchar *lock_name;\n\tunsigned int nr_locks;\n\tunsigned int nr_stack_entries;\n\tunsigned int sort_acq;\n\tunsigned int sort_hld;\n\tunsigned int duration;\n\tunsigned int interval;\n\tunsigned int iterations;\n\tbool reset;\n\tbool timestamp;\n\tbool verbose;\n\tbool per_thread;\n} env = {\n\t.nr_locks = 99999999,\n\t.nr_stack_entries = 1,\n\t.sort_acq = SORT_ACQ_MAX,\n\t.sort_hld = SORT_HLD_MAX,\n\t.interval = 99999999,\n\t.iterations = 99999999,\n};\n\nconst char *argp_program_version = \"klockstat 0.2\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nstatic const char args_doc[] = \"FUNCTION\";\nstatic const char program_doc[] =\n\"Trace mutex/sem lock acquisition and hold times, in nsec\\n\"\n\"\\n\"\n\"Usage: klockstat [-hPRTv] [-p PID] [-t TID] [-c FUNC] [-L LOCK] [-n NR_LOCKS]\\n\"\n\"                 [-s NR_STACKS] [-S SORT] [-d DURATION] [-i INTERVAL]\\n\"\n\"\\v\"\n\"Examples:\\n\"\n\"  klockstat                     # trace system wide until ctrl-c\\n\"\n\"  klockstat -d 5                # trace for 5 seconds\\n\"\n\"  klockstat -i 5                # print stats every 5 seconds\\n\"\n\"  klockstat -p 181              # trace process 181 only\\n\"\n\"  klockstat -t 181              # trace thread 181 only\\n\"\n\"  klockstat -c pipe_            # print only for lock callers with 'pipe_'\\n\"\n\"                                # prefix\\n\"\n\"  klockstat -L cgroup_mutex     # trace the cgroup_mutex lock only (accepts addr too)\\n\"\n\"  klockstat -S acq_count        # sort lock acquired results by acquire count\\n\"\n\"  klockstat -S hld_total        # sort lock held results by total held time\\n\"\n\"  klockstat -S acq_count,hld_total  # combination of above\\n\"\n\"  klockstat -n 3                # display top 3 locks/threads\\n\"\n\"  klockstat -s 6                # display 6 stack entries per lock\\n\"\n\"  klockstat -P                  # print stats per thread\\n\"\n;\n\nstatic const char *lock_ksym_names[] = {\n\t\"mutex_lock\",\n\t\"mutex_lock_nested\",\n\t\"mutex_lock_interruptible\",\n\t\"mutex_lock_interruptible_nested\",\n\t\"mutex_lock_killable\",\n\t\"mutex_lock_killable_nested\",\n\t\"mutex_trylock\",\n\t\"down_read\",\n\t\"down_read_nested\",\n\t\"down_read_interruptible\",\n\t\"down_read_killable\",\n\t\"down_read_killable_nested\",\n\t\"down_read_trylock\",\n\t\"down_write\",\n\t\"down_write_nested\",\n\t\"down_write_killable\",\n\t\"down_write_killable_nested\",\n\t\"down_write_trylock\",\n};\n\nstatic unsigned long lock_ksym_addr[ARRAY_SIZE(lock_ksym_names)];\n\nstatic struct btf *vmlinux_btf;\nstatic const char **nltype_map;\nstatic size_t nltype_max = 0;\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Filter by process ID\", 0 },\n\t{ \"tid\", 't', \"TID\", 0, \"Filter by thread ID\", 0 },\n\t{ 0, 0, 0, 0, \"\", 0 },\n\t{ \"caller\", 'c', \"FUNC\", 0, \"Filter by caller string prefix\", 0 },\n\t{ \"lock\", 'L', \"LOCK\", 0, \"Filter by specific ksym lock name\", 0 },\n\t{ 0, 0, 0, 0, \"\", 0 },\n\t{ \"locks\", 'n', \"NR_LOCKS\", 0, \"Number of locks or threads to print\", 0 },\n\t{ \"stacks\", 's', \"NR_STACKS\", 0, \"Number of stack entries to print per lock\", 0 },\n\t{ \"sort\", 'S', \"SORT\", 0, \"Sort by field:\\n  acq_[max|total|count]\\n  hld_[max|total|count]\", 0 },\n\t{ 0, 0, 0, 0, \"\", 0 },\n\t{ \"duration\", 'd', \"SECONDS\", 0, \"Duration to trace\", 0 },\n\t{ \"interval\", 'i', \"SECONDS\", 0, \"Print interval\", 0 },\n\t{ \"reset\", 'R', NULL, 0, \"Reset stats each interval\", 0 },\n\t{ \"timestamp\", 'T', NULL, 0, \"Print timestamp\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"per-thread\", 'P', NULL, 0, \"Print per-thread stats\", 0 },\n\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic const char *get_ioctl_name(unsigned long ioctl)\n{\n\tint i;\n\n\tfor (i = 0; i < ARRAY_SIZE(ioctl_names); i++)\n\t\tif (ioctl == ioctl_names[i].value)\n\t\t\treturn ioctl_names[i].name;\n\treturn NULL;\n}\n\nstatic char *get_nltype_ioctl(unsigned long nltype, unsigned long ioctl)\n{\n\tstatic char buf[100];\n\n\tif (!nltype && !ioctl)\n\t\treturn \"\";\n\n\tif (nltype) {\n\t\tif (nltype >= nltype_max || !nltype_map[nltype])\n\t\t\tsnprintf(buf, sizeof(buf), \" nltype %lu\", nltype);\n\t\telse\n\t\t\tsnprintf(buf, sizeof(buf), \" nltype %s\", nltype_map[nltype]);\n\n\t} else {\n\t\tconst char *ioctl_name = get_ioctl_name(ioctl);\n\t\tif (ioctl_name)\n\t\t\tsnprintf(buf, sizeof(buf), \" ioctl %s\", ioctl_name);\n\t\telse\n\t\t\tsnprintf(buf, sizeof(buf), \" ioctl 0x%lx\", ioctl);\n\t}\n\n\tbuf[sizeof(buf)-1] = '\\0';\n\treturn buf;\n}\n\nstatic int build_nlmsg_name_table(const struct btf_type *t)\n{\n\tconst struct btf_enum *e;\n\tunsigned short vlen;\n\tsize_t max_val = 0;\n\tconst char *name;\n\tint i;\n\n\tvlen = btf_vlen(t);\n\te = btf_enum(t);\n\n\t/* first pass - find the value of __RTM_MAX to size the allocation */\n\tfor (i = 0; i < vlen; i++) {\n\t\tname = btf__name_by_offset(vmlinux_btf, e[i].name_off);\n\t\tif (!strcmp(name, \"__RTM_MAX\")) {\n\t\t\tmax_val = e[i].val;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (!max_val)\n\t\treturn -ENOENT;\n\n\tnltype_map = calloc(max_val, sizeof(void *));\n\tif (!nltype_map)\n\t\treturn -ENOMEM;\n\n\tnltype_max = max_val;\n\n\tfor (i = 0; i < vlen; i++) {\n\t\tif (e[i].val >= max_val)\n\t\t\tbreak;\n\n\t\tnltype_map[e[i].val] = btf__name_by_offset(vmlinux_btf, e[i].name_off);\n\t}\n\n\treturn 0;\n}\n\nstatic int resolve_nlmsg_names(void)\n{\n\tconst struct btf_type *t;\n\tconst struct btf_enum *e;\n\tint nr_types, i, j, err;\n\tunsigned short vlen;\n\tconst char *name;\n\n\tif (!vmlinux_btf)\n\t\tvmlinux_btf = btf__load_vmlinux_btf();\n\n\tif ((err = libbpf_get_error(vmlinux_btf)))\n\t\treturn err;\n\n\tnr_types = btf__type_cnt(vmlinux_btf);\n\tfor (i = 1; i < nr_types; i++) {\n\t\tt = btf__type_by_id(vmlinux_btf, i);\n\t\tif (!btf_is_enum(t))\n\t\t\tcontinue;\n\n\t\tvlen = btf_vlen(t);\n\t\te = btf_enum(t);\n\t\tfor (j = 0; j < vlen; j++) {\n\t\t\tname = btf__name_by_offset(vmlinux_btf, e[j].name_off);\n\t\t\tif (!strcmp(name, \"RTM_BASE\"))\n\t\t\t\treturn build_nlmsg_name_table(t);\n\t\t}\n\t}\n\n\treturn -ENOENT;\n}\n\nstatic void *parse_lock_addr(const char *lock_name)\n{\n\tunsigned long lock_addr;\n\n\treturn sscanf(lock_name, \"0x%lx\", &lock_addr) ? (void*)lock_addr : NULL;\n}\n\nstatic void *get_lock_addr(struct ksyms *ksyms, const char *lock_name)\n{\n\tconst struct ksym *ksym = ksyms__get_symbol(ksyms, lock_name);\n\n\treturn ksym ? (void*)ksym->addr : parse_lock_addr(lock_name);\n}\n\nstatic const char *get_lock_name(struct ksyms *ksyms, unsigned long addr)\n{\n\tconst struct ksym *ksym = ksyms__map_addr(ksyms, addr);\n\n\treturn (ksym && ksym->addr == addr) ? ksym->name : \"no-ksym\";\n}\n\nstatic bool parse_one_sort(struct prog_env *env, const char *sort)\n{\n\tconst char *field = sort + 4;\n\n\tif (!strncmp(sort, \"acq_\", 4)) {\n\t\tif (!strcmp(field, \"max\")) {\n\t\t\tenv->sort_acq = SORT_ACQ_MAX;\n\t\t\treturn true;\n\t\t} else if (!strcmp(field, \"total\")) {\n\t\t\tenv->sort_acq = SORT_ACQ_TOTAL;\n\t\t\treturn true;\n\t\t} else if (!strcmp(field, \"count\")) {\n\t\t\tenv->sort_acq = SORT_ACQ_COUNT;\n\t\t\treturn true;\n\t\t}\n\t} else if (!strncmp(sort, \"hld_\", 4)) {\n\t\tif (!strcmp(field, \"max\")) {\n\t\t\tenv->sort_hld = SORT_HLD_MAX;\n\t\t\treturn true;\n\t\t} else if (!strcmp(field, \"total\")) {\n\t\t\tenv->sort_hld = SORT_HLD_TOTAL;\n\t\t\treturn true;\n\t\t} else if (!strcmp(field, \"count\")) {\n\t\t\tenv->sort_hld = SORT_HLD_COUNT;\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nstatic bool parse_sorts(struct prog_env *env, char *arg)\n{\n\tchar *comma = strchr(arg, ',');\n\n\tif (comma) {\n\t\t*comma = '\\0';\n\t\tcomma++;\n\t\tif (!parse_one_sort(env, comma))\n\t\t\treturn false;\n\t}\n\treturn parse_one_sort(env, arg);\n}\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstruct prog_env *env = state->input;\n\tlong duration, interval;\n\n\tswitch (key) {\n\tcase 'p':\n\t\terrno = 0;\n\t\tenv->pid = strtol(arg, NULL, 10);\n\t\tif (errno || env->pid <= 0) {\n\t\t\twarn(\"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 't':\n\t\terrno = 0;\n\t\tenv->tid = strtol(arg, NULL, 10);\n\t\tif (errno || env->tid <= 0) {\n\t\t\twarn(\"Invalid TID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'c':\n\t\tenv->caller = arg;\n\t\tbreak;\n\tcase 'L':\n\t\tenv->lock_name = arg;\n\t\tbreak;\n\tcase 'n':\n\t\terrno = 0;\n\t\tenv->nr_locks = strtol(arg, NULL, 10);\n\t\tif (errno || env->nr_locks <= 0) {\n\t\t\twarn(\"Invalid NR_LOCKS: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 's':\n\t\terrno = 0;\n\t\tenv->nr_stack_entries = strtol(arg, NULL, 10);\n\t\tif (errno || env->nr_stack_entries <= 0) {\n\t\t\twarn(\"Invalid NR_STACKS: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'S':\n\t\tif (!parse_sorts(env, arg)) {\n\t\t\twarn(\"Bad sort string: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'd':\n\t\terrno = 0;\n\t\tduration = strtol(arg, NULL, 10);\n\t\tif (errno || duration <= 0) {\n\t\t\twarn(\"Invalid duration: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv->duration = duration;\n\t\tbreak;\n\tcase 'i':\n\t\terrno = 0;\n\t\tinterval = strtol(arg, NULL, 10);\n\t\tif (errno || interval <= 0) {\n\t\t\twarn(\"Invalid interval: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv->interval = interval;\n\t\tbreak;\n\tcase 'R':\n\t\tenv->reset = true;\n\t\tbreak;\n\tcase 'T':\n\t\tenv->timestamp = true;\n\t\tbreak;\n\tcase 'P':\n\t\tenv->per_thread = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv->verbose = true;\n\t\tbreak;\n\tcase ARGP_KEY_END:\n\t\tif (env->duration) {\n\t\t\tif (env->interval > env->duration)\n\t\t\t\tenv->interval = env->duration;\n\t\t\tenv->iterations = env->duration / env->interval;\n\t\t}\n\t\tif (env->per_thread && env->nr_stack_entries != 1) {\n\t\t\twarn(\"--per-thread and --stacks cannot be used together\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstruct stack_stat {\n\tuint32_t stack_id;\n\tstruct lock_stat ls;\n\tuint64_t bt[PERF_MAX_STACK_DEPTH];\n};\n\nstatic bool caller_is_traced(struct ksyms *ksyms, uint64_t caller_pc)\n{\n\tconst struct ksym *ksym;\n\n\tif (!env.caller)\n\t\treturn true;\n\tksym = ksyms__map_addr(ksyms, caller_pc);\n\tif (!ksym)\n\t\treturn true;\n\treturn strncmp(env.caller, ksym->name, strlen(env.caller)) == 0;\n}\n\nstatic int larger_first(uint64_t x, uint64_t y)\n{\n\tif (x > y)\n\t\treturn -1;\n\tif (x == y)\n\t\treturn 0;\n\treturn 1;\n}\n\nstatic int sort_by_acq(const void *x, const void *y)\n{\n\tstruct stack_stat *ss_x = *(struct stack_stat**)x;\n\tstruct stack_stat *ss_y = *(struct stack_stat**)y;\n\n\tswitch (env.sort_acq) {\n\tcase SORT_ACQ_MAX:\n\t\treturn larger_first(ss_x->ls.acq_max_time,\n\t\t\t\t    ss_y->ls.acq_max_time);\n\tcase SORT_ACQ_COUNT:\n\t\treturn larger_first(ss_x->ls.acq_count,\n\t\t\t\t    ss_y->ls.acq_count);\n\tcase SORT_ACQ_TOTAL:\n\t\treturn larger_first(ss_x->ls.acq_total_time,\n\t\t\t\t    ss_y->ls.acq_total_time);\n\t}\n\n\twarn(\"bad sort_acq %d\\n\", env.sort_acq);\n\treturn -1;\n}\n\nstatic int sort_by_hld(const void *x, const void *y)\n{\n\tstruct stack_stat *ss_x = *(struct stack_stat**)x;\n\tstruct stack_stat *ss_y = *(struct stack_stat**)y;\n\n\tswitch (env.sort_hld) {\n\tcase SORT_HLD_MAX:\n\t\treturn larger_first(ss_x->ls.hld_max_time,\n\t\t\t\t    ss_y->ls.hld_max_time);\n\tcase SORT_HLD_COUNT:\n\t\treturn larger_first(ss_x->ls.hld_count,\n\t\t\t\t    ss_y->ls.hld_count);\n\tcase SORT_HLD_TOTAL:\n\t\treturn larger_first(ss_x->ls.hld_total_time,\n\t\t\t\t    ss_y->ls.hld_total_time);\n\t}\n\n\twarn(\"bad sort_hld %d\\n\", env.sort_hld);\n\treturn -1;\n}\n\nstatic char *symname(struct ksyms *ksyms, uint64_t pc, char *buf, size_t n)\n{\n\tconst struct ksym *ksym = ksyms__map_addr(ksyms, pc);\n\n\tif (!ksym)\n\t\treturn \"Unknown\";\n\tsnprintf(buf, n, \"%s+0x%lx\", ksym->name, pc - ksym->addr);\n\treturn buf;\n}\n\nstatic int resolve_lock_ksyms(struct ksyms *ksyms)\n{\n\tconst struct ksym *ksym;\n\tint i, j = 0;\n\n\tfor (i = 0; i < ARRAY_SIZE(lock_ksym_names); i++) {\n\t\tksym = ksyms__get_symbol(ksyms, lock_ksym_names[i]);\n\t\tif (!ksym)\n\t\t\tcontinue;\n\n\t\tlock_ksym_addr[j++] = ksym->addr;\n\t}\n\n\treturn !j;\n}\n\nstatic int find_stack_offset(struct ksyms *ksyms, struct stack_stat *ss)\n{\n\tconst struct ksym *ksym;\n        int i, j;\n\n\tfor (i = 0; i < PERF_MAX_STACK_DEPTH && ss->bt[i]; i++) {\n\t\tksym = ksyms__map_addr(ksyms, ss->bt[i]);\n\t\tif (!ksym)\n\t\t\tcontinue;\n\n\t\tfor (j = 0; j < ARRAY_SIZE(lock_ksym_addr) && lock_ksym_addr[j]; j++)\n\t\t\tif (ksym->addr == lock_ksym_addr[j])\n\t\t\t\treturn i + 1;\n\t}\n\n\treturn 0;\n}\n\nstatic char *print_caller(char *buf, int size, struct stack_stat *ss)\n{\n\tsnprintf(buf, size, \"%u  %16s\", ss->stack_id, ss->ls.acq_max_comm);\n\treturn buf;\n}\n\nstatic char *print_time(char *buf, int size, uint64_t nsec)\n{\n\tstruct {\n\t\tfloat base;\n\t\tchar *unit;\n\t} table[] = {\n\t\t{ 1e9 * 3600, \"h \" },\n\t\t{ 1e9 * 60, \"m \" },\n\t\t{ 1e9, \"s \" },\n\t\t{ 1e6, \"ms\" },\n\t\t{ 1e3, \"us\" },\n\t\t{ 0, NULL },\n\t};\n\n\tfor (int i = 0; table[i].base; i++) {\n\t\tif (nsec < table[i].base)\n\t\t\tcontinue;\n\n\t\tsnprintf(buf, size, \"%.1f %s\", nsec / table[i].base, table[i].unit);\n\t\treturn buf;\n\t}\n\n\tsnprintf(buf, size, \"%u ns\", (unsigned)nsec);\n\treturn buf;\n}\n\nstatic void print_acq_header(void)\n{\n\tif (env.per_thread)\n\t\tprintf(\"\\n                Tid              Comm\");\n\telse\n\t\tprintf(\"\\n                               Caller\");\n\n\tprintf(\"  Avg Wait    Count   Max Wait   Total Wait\\n\");\n}\n\nstatic void print_acq_stat(struct ksyms *ksyms, struct stack_stat *ss,\n\t\t\t   int nr_stack_entries)\n{\n\tint offset = find_stack_offset(ksyms, ss);\n\tchar buf[40];\n\tchar avg[40];\n\tchar max[40];\n\tchar tot[40];\n\tint i;\n\n\tprintf(\"%37s %9s %8llu %10s %12s\\n\",\n\t       symname(ksyms, ss->bt[offset], buf, sizeof(buf)),\n\t       print_time(avg, sizeof(avg), ss->ls.acq_total_time / ss->ls.acq_count),\n\t       ss->ls.acq_count,\n\t       print_time(max, sizeof(max), ss->ls.acq_max_time),\n\t       print_time(tot, sizeof(tot), ss->ls.acq_total_time));\n\tfor (i = offset + 1; i < nr_stack_entries + offset; i++) {\n\t\tif (!ss->bt[i] || env.per_thread)\n\t\t\tbreak;\n\t\tprintf(\"%37s\\n\", symname(ksyms, ss->bt[i], buf, sizeof(buf)));\n\t}\n\tif (nr_stack_entries > 1 && !env.per_thread)\n\t\tprintf(\"                              Max PID %llu, COMM %s, Lock %s (0x%llx)%s\\n\",\n\t\t       ss->ls.acq_max_id >> 32,\n\t\t       ss->ls.acq_max_comm,\n\t\t       get_lock_name(ksyms, ss->ls.acq_max_lock_ptr),\n\t\t       ss->ls.acq_max_lock_ptr,\n\t\t       get_nltype_ioctl(ss->ls.acq_max_nltype, ss->ls.acq_max_ioctl));\n}\n\nstatic void print_acq_task(struct stack_stat *ss)\n{\n\tchar buf[40];\n\tchar avg[40];\n\tchar max[40];\n\tchar tot[40];\n\n\tprintf(\"%37s %9s %8llu %10s %12s\\n\",\n\t       print_caller(buf, sizeof(buf), ss),\n\t       print_time(avg, sizeof(avg), ss->ls.acq_total_time / ss->ls.acq_count),\n\t       ss->ls.acq_count,\n\t       print_time(max, sizeof(max), ss->ls.acq_max_time),\n\t       print_time(tot, sizeof(tot), ss->ls.acq_total_time));\n}\n\nstatic void print_hld_header(void)\n{\n\tif (env.per_thread)\n\t\tprintf(\"\\n                Tid              Comm\");\n\telse\n\t\tprintf(\"\\n                               Caller\");\n\n\tprintf(\"  Avg Hold    Count   Max Hold   Total Hold\\n\");\n}\n\nstatic void print_hld_stat(struct ksyms *ksyms, struct stack_stat *ss,\n\t\t\t   int nr_stack_entries)\n{\n\tint offset = find_stack_offset(ksyms, ss);\n\tchar buf[40];\n\tchar avg[40];\n\tchar max[40];\n\tchar tot[40];\n\tint i;\n\n\tprintf(\"%37s %9s %8llu %10s %12s\\n\",\n\t       symname(ksyms, ss->bt[offset], buf, sizeof(buf)),\n\t       print_time(avg, sizeof(avg), ss->ls.hld_total_time / ss->ls.hld_count),\n\t       ss->ls.hld_count,\n\t       print_time(max, sizeof(max), ss->ls.hld_max_time),\n\t       print_time(tot, sizeof(tot), ss->ls.hld_total_time));\n\tfor (i = offset + 1; i < nr_stack_entries + offset; i++) {\n\t\tif (!ss->bt[i] || env.per_thread)\n\t\t\tbreak;\n\t\tprintf(\"%37s\\n\", symname(ksyms, ss->bt[i], buf, sizeof(buf)));\n\t}\n\tif (nr_stack_entries > 1 && !env.per_thread)\n\t\tprintf(\"                              Max PID %llu, COMM %s, Lock %s (0x%llx)%s\\n\",\n\t\t       ss->ls.hld_max_id >> 32,\n\t\t       ss->ls.hld_max_comm,\n\t\t       get_lock_name(ksyms, ss->ls.hld_max_lock_ptr),\n\t\t       ss->ls.hld_max_lock_ptr,\n\t\t       get_nltype_ioctl(ss->ls.hld_max_nltype, ss->ls.hld_max_ioctl));\n}\n\nstatic void print_hld_task(struct stack_stat *ss)\n{\n\tchar buf[40];\n\tchar avg[40];\n\tchar max[40];\n\tchar tot[40];\n\n\tprintf(\"%37s %9s %8llu %10s %12s\\n\",\n\t       print_caller(buf, sizeof(buf), ss),\n\t       print_time(avg, sizeof(avg), ss->ls.hld_total_time / ss->ls.hld_count),\n\t       ss->ls.hld_count,\n\t       print_time(max, sizeof(max), ss->ls.hld_max_time),\n\t       print_time(tot, sizeof(tot), ss->ls.hld_total_time));\n}\n\nstatic int print_stats(struct ksyms *ksyms, int stack_map, int stat_map)\n{\n\tstruct stack_stat **stats, *ss;\n\tsize_t stat_idx = 0;\n\tsize_t stats_sz = 1;\n\tuint32_t lookup_key = 0;\n\tuint32_t stack_id;\n\tint ret, i, offset;\n\tint nr_stack_entries;\n\n\tstats = calloc(stats_sz, sizeof(void *));\n\tif (!stats) {\n\t\twarn(\"Out of memory\\n\");\n\t\treturn -1;\n\t}\n\n\twhile (bpf_map_get_next_key(stat_map, &lookup_key, &stack_id) == 0) {\n\t\tif (stat_idx == stats_sz) {\n\t\t\tstats_sz *= 2;\n\t\t\tstats = libbpf_reallocarray(stats, stats_sz, sizeof(void *));\n\t\t\tif (!stats) {\n\t\t\t\twarn(\"Out of memory\\n\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t\tss = malloc(sizeof(struct stack_stat));\n\t\tif (!ss) {\n\t\t\twarn(\"Out of memory\\n\");\n\t\t\treturn -1;\n\t\t}\n\n\t\tlookup_key = ss->stack_id = stack_id;\n\t\tret = bpf_map_lookup_elem(stat_map, &stack_id, &ss->ls);\n\t\tif (ret) {\n\t\t\tfree(ss);\n\t\t\tcontinue;\n\t\t}\n\t\tif (!env.per_thread && bpf_map_lookup_elem(stack_map, &stack_id, &ss->bt)) {\n\t\t\t/* Can still report the results without a backtrace. */\n\t\t\twarn(\"failed to lookup stack_id %u\\n\", stack_id);\n\t\t}\n\n\t\toffset = find_stack_offset(ksyms, ss);\n\t\tif (!env.per_thread && !caller_is_traced(ksyms, ss->bt[offset])) {\n\t\t\tfree(ss);\n\t\t\tcontinue;\n\t\t}\n\t\tstats[stat_idx++] = ss;\n\t}\n\n\tnr_stack_entries = MIN(env.nr_stack_entries, PERF_MAX_STACK_DEPTH);\n\n\tqsort(stats, stat_idx, sizeof(void*), sort_by_acq);\n\tfor (i = 0; i < MIN(env.nr_locks, stat_idx); i++) {\n\t\tif (i == 0 || env.nr_stack_entries > 1)\n\t\t\tprint_acq_header();\n\n\t\tif (env.per_thread)\n\t\t\tprint_acq_task(stats[i]);\n\t\telse\n\t\t\tprint_acq_stat(ksyms, stats[i], nr_stack_entries);\n\t}\n\n\tqsort(stats, stat_idx, sizeof(void*), sort_by_hld);\n\tfor (i = 0; i < MIN(env.nr_locks, stat_idx); i++) {\n\t\tif (i == 0 || env.nr_stack_entries > 1)\n\t\t\tprint_hld_header();\n\n\t\tif (env.per_thread)\n\t\t\tprint_hld_task(stats[i]);\n\t\telse\n\t\t\tprint_hld_stat(ksyms, stats[i], nr_stack_entries);\n\t}\n\n\tfor (i = 0; i < stat_idx; i++) {\n\t\tif (env.reset) {\n\t\t\tss = stats[i];\n\t\t\tbpf_map_delete_elem(stat_map, &ss->stack_id);\n\t\t}\n\t\tfree(stats[i]);\n        }\n\tfree(stats);\n\n\treturn 0;\n}\n\nstatic volatile bool exiting;\n\nstatic void sig_hand(int signr)\n{\n\texiting = true;\n}\n\nstatic struct sigaction sigact = {.sa_handler = sig_hand};\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void enable_fentry(struct klockstat_bpf *obj)\n{\n\tbool debug_lock;\n\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_trylock, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_trylock_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_interruptible, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_interruptible_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_killable, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_killable_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_unlock, false);\n\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_trylock, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_trylock_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_interruptible, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_interruptible_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_killable, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_killable_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_up_read, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_trylock, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_trylock_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_killable, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_killable_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_up_write, false);\n\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_exit_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_interruptible_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_interruptible_exit_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_killable_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_killable_exit_nested, false);\n\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_exit_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_killable_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_read_killable_exit_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_exit_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_killable_nested, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_down_write_killable_exit_nested, false);\n\n\tbpf_program__set_autoload(obj->progs.kprobe_rtnetlink_rcv_msg, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_rtnetlink_rcv_msg_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_netlink_dump, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_netlink_dump_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_sock_do_ioctl, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_sock_do_ioctl_exit, false);\n\n\t/* CONFIG_DEBUG_LOCK_ALLOC is on */\n\tdebug_lock = fentry_can_attach(\"mutex_lock_nested\", NULL);\n\tif (!debug_lock)\n\t\treturn;\n\n\tbpf_program__set_attach_target(obj->progs.mutex_lock, 0,\n\t\t\t\t       \"mutex_lock_nested\");\n\tbpf_program__set_attach_target(obj->progs.mutex_lock_exit, 0,\n\t\t\t\t       \"mutex_lock_nested\");\n\tbpf_program__set_attach_target(obj->progs.mutex_lock_interruptible, 0,\n\t\t\t\t       \"mutex_lock_interruptible_nested\");\n\tbpf_program__set_attach_target(obj->progs.mutex_lock_interruptible_exit, 0,\n\t\t\t\t       \"mutex_lock_interruptible_nested\");\n\tbpf_program__set_attach_target(obj->progs.mutex_lock_killable, 0,\n\t\t\t\t       \"mutex_lock_killable_nested\");\n\tbpf_program__set_attach_target(obj->progs.mutex_lock_killable_exit, 0,\n\t\t\t\t       \"mutex_lock_killable_nested\");\n\n\tbpf_program__set_attach_target(obj->progs.down_read, 0,\n\t\t\t\t       \"down_read_nested\");\n\tbpf_program__set_attach_target(obj->progs.down_read_exit, 0,\n\t\t\t\t       \"down_read_nested\");\n\tbpf_program__set_attach_target(obj->progs.down_read_killable, 0,\n\t\t\t\t       \"down_read_killable_nested\");\n\tbpf_program__set_attach_target(obj->progs.down_read_killable_exit, 0,\n\t\t\t\t       \"down_read_killable_nested\");\n\tbpf_program__set_attach_target(obj->progs.down_write, 0,\n\t\t\t\t       \"down_write_nested\");\n\tbpf_program__set_attach_target(obj->progs.down_write_exit, 0,\n\t\t\t\t       \"down_write_nested\");\n\tbpf_program__set_attach_target(obj->progs.down_write_killable, 0,\n\t\t\t\t       \"down_write_killable_nested\");\n\tbpf_program__set_attach_target(obj->progs.down_write_killable_exit, 0,\n\t\t\t\t       \"down_write_killable_nested\");\n}\n\nstatic void enable_kprobes(struct klockstat_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.mutex_lock, false);\n\tbpf_program__set_autoload(obj->progs.mutex_lock_exit, false);\n\tbpf_program__set_autoload(obj->progs.mutex_trylock_exit, false);\n\tbpf_program__set_autoload(obj->progs.mutex_lock_interruptible, false);\n\tbpf_program__set_autoload(obj->progs.mutex_lock_interruptible_exit, false);\n\tbpf_program__set_autoload(obj->progs.mutex_lock_killable, false);\n\tbpf_program__set_autoload(obj->progs.mutex_lock_killable_exit, false);\n\tbpf_program__set_autoload(obj->progs.mutex_unlock, false);\n\n\tbpf_program__set_autoload(obj->progs.down_read, false);\n\tbpf_program__set_autoload(obj->progs.down_read_exit, false);\n\tbpf_program__set_autoload(obj->progs.down_read_trylock_exit, false);\n\tbpf_program__set_autoload(obj->progs.down_read_interruptible, false);\n\tbpf_program__set_autoload(obj->progs.down_read_interruptible_exit, false);\n\tbpf_program__set_autoload(obj->progs.down_read_killable, false);\n\tbpf_program__set_autoload(obj->progs.down_read_killable_exit, false);\n\tbpf_program__set_autoload(obj->progs.up_read, false);\n\tbpf_program__set_autoload(obj->progs.down_write, false);\n\tbpf_program__set_autoload(obj->progs.down_write_exit, false);\n\tbpf_program__set_autoload(obj->progs.down_write_trylock_exit, false);\n\tbpf_program__set_autoload(obj->progs.down_write_killable, false);\n\tbpf_program__set_autoload(obj->progs.down_write_killable_exit, false);\n\tbpf_program__set_autoload(obj->progs.up_write, false);\n\n\tbpf_program__set_autoload(obj->progs.rtnetlink_rcv_msg, false);\n\tbpf_program__set_autoload(obj->progs.rtnetlink_rcv_msg_exit, false);\n\tbpf_program__set_autoload(obj->progs.netlink_dump, false);\n\tbpf_program__set_autoload(obj->progs.netlink_dump_exit, false);\n\tbpf_program__set_autoload(obj->progs.sock_do_ioctl, false);\n\tbpf_program__set_autoload(obj->progs.sock_do_ioctl_exit, false);\n\n        /* CONFIG_DEBUG_LOCK_ALLOC is on */\n\tif (kprobe_exists(\"mutex_lock_nested\")) {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_exit, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_interruptible, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_interruptible_exit, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_killable, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_killable_exit, false);\n\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_read, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_read_exit, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_read_killable, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_read_killable_exit, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_write, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_write_exit, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_write_killable, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_write_killable_exit, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_exit_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_interruptible_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_interruptible_exit_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_killable_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_mutex_lock_killable_exit_nested, false);\n\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_read_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_read_exit_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_read_killable_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_read_killable_exit_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_write_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_write_exit_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_write_killable_nested, false);\n\t\tbpf_program__set_autoload(obj->progs.kprobe_down_write_killable_exit_nested, false);\n\t}\n}\n\nstatic void disable_nldump_ioctl_probes(struct klockstat_bpf *obj)\n{\n\tbpf_program__set_autoload(obj->progs.rtnetlink_rcv_msg, false);\n\tbpf_program__set_autoload(obj->progs.rtnetlink_rcv_msg_exit, false);\n\tbpf_program__set_autoload(obj->progs.netlink_dump, false);\n\tbpf_program__set_autoload(obj->progs.netlink_dump_exit, false);\n\tbpf_program__set_autoload(obj->progs.sock_do_ioctl, false);\n\tbpf_program__set_autoload(obj->progs.sock_do_ioctl_exit, false);\n\n\tbpf_program__set_autoload(obj->progs.kprobe_rtnetlink_rcv_msg, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_rtnetlink_rcv_msg_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_netlink_dump, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_netlink_dump_exit, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_sock_do_ioctl, false);\n\tbpf_program__set_autoload(obj->progs.kprobe_sock_do_ioctl_exit, false);\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.args_doc = args_doc,\n\t\t.doc = program_doc,\n\t};\n\tstruct klockstat_bpf *obj = NULL;\n\tstruct ksyms *ksyms = NULL;\n\tint i, err;\n\tchar ts[32];\n\tvoid *lock_addr = NULL;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, &env);\n\tif (err)\n\t\treturn err;\n\n\tsigaction(SIGINT, &sigact, 0);\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tksyms = ksyms__load();\n\tif (!ksyms) {\n\t\twarn(\"failed to load kallsyms\\n\");\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\terr = resolve_lock_ksyms(ksyms);\n\tif (err) {\n\t\twarn(\"failed to resolve lock ksyms\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tif (env.lock_name) {\n\t\tlock_addr = get_lock_addr(ksyms, env.lock_name);\n\t\tif (!lock_addr) {\n\t\t\twarn(\"failed to find lock %s\\n\", env.lock_name);\n\t\t\terr = 1;\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\tobj = klockstat_bpf__open();\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tobj->rodata->targ_tgid = env.pid;\n\tobj->rodata->targ_pid = env.tid;\n\tobj->rodata->targ_lock = lock_addr;\n\tobj->rodata->per_thread = env.per_thread;\n\n\tif (fentry_can_attach(\"mutex_lock\", NULL) ||\n\t    fentry_can_attach(\"mutex_lock_nested\", NULL))\n\t\tenable_fentry(obj);\n\telse\n\t\tenable_kprobes(obj);\n\n\tif (env.nr_stack_entries != 1) {\n\t\terr = resolve_nlmsg_names();\n\t\tif (err)\n\t\t\twarn(\"failed to resolve nlmsg names\\n\");\n\t} else {\n\t\tdisable_nldump_ioctl_probes(obj);\n\t}\n\n\terr = klockstat_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object\\n\");\n\t\treturn 1;\n\t}\n\terr = klockstat_bpf__attach(obj);\n\tif (err) {\n\t\twarn(\"failed to attach BPF object\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"Tracing mutex/sem lock events...  Hit Ctrl-C to end\\n\");\n\n\tfor (i = 0; i < env.iterations && !exiting; i++) {\n\t\tsleep(env.interval);\n\n\t\tprintf(\"\\n\");\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\tif (print_stats(ksyms, bpf_map__fd(obj->maps.stack_map),\n\t\t\t\tbpf_map__fd(obj->maps.stat_map))) {\n\t\t\twarn(\"print_stats error, aborting.\\n\");\n\t\t\tbreak;\n\t\t}\n\t\tfflush(stdout);\n\t}\n\n\tprintf(\"Exiting trace of mutex/sem locks\\n\");\n\ncleanup:\n\tklockstat_bpf__destroy(obj);\n\tksyms__free(ksyms);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/klockstat.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __KLOCKSTAT_H\n#define __KLOCKSTAT_H\n\n#define MAX_ENTRIES 102400\n#define TASK_COMM_LEN 16\n#define PERF_MAX_STACK_DEPTH 127\n\nstruct lock_stat {\n\t__u64 acq_count;\n\t__u64 acq_total_time;\n\t__u64 acq_max_time;\n\t__u64 acq_max_id;\n\t__u64 acq_max_lock_ptr;\n\t__u64 acq_max_nltype;\n\t__u64 acq_max_ioctl;\n\tchar acq_max_comm[TASK_COMM_LEN];\n\t__u64 hld_count;\n\t__u64 hld_total_time;\n\t__u64 hld_max_time;\n\t__u64 hld_max_id;\n\t__u64 hld_max_lock_ptr;\n\t__u64 hld_max_nltype;\n\t__u64 hld_max_ioctl;\n\tchar hld_max_comm[TASK_COMM_LEN];\n};\n\n#endif /*__KLOCKSTAT_H */\n"
  },
  {
    "path": "libbpf-tools/ksnoop.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021, Oracle and/or its affiliates. */\n\n#include \"vmlinux.h\"\n\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include <bpf/bpf_core_read.h>\n\n#include \"ksnoop.h\"\n\n/* For kretprobes, the instruction pointer in the struct pt_regs context\n * is the kretprobe_trampoline.  We derive the instruction pointer\n * by pushing it onto a function stack on entry and popping it on return.\n *\n * We could use bpf_get_func_ip(), but \"stack mode\" - where we\n * specify functions \"a\", \"b and \"c\" and only want to see a trace if \"a\"\n * calls \"b\" and \"b\" calls \"c\" - utilizes this stack to determine if trace\n * data should be collected.\n */\n#define FUNC_MAX_STACK_DEPTH\t16\n/* used to convince verifier we do not stray outside of array bounds */\n#define FUNC_STACK_DEPTH_MASK\t(FUNC_MAX_STACK_DEPTH - 1)\n\n#ifndef ENOSPC\n#define ENOSPC\t\t\t28\n#endif\n\nstruct func_stack {\n\t__u64 task;\n\t__u64 ips[FUNC_MAX_STACK_DEPTH];\n\t__u8 stack_depth;\n};\n\n#define MAX_TASKS\t\t2048\n\n/* function call stack hashed on a per-task key */\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t/* function call stack for functions we are tracing */\n\t__uint(max_entries, MAX_TASKS);\n\t__type(key, __u64);\n\t__type(value, struct func_stack);\n} ksnoop_func_stack SEC(\".maps\");\n\n/* per-cpu trace info hashed on function address */\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERCPU_HASH);\n\t__uint(max_entries, MAX_FUNC_TRACES);\n\t__type(key, __u64);\n\t__type(value, struct trace);\n} ksnoop_func_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(value_size, sizeof(int));\n\t__uint(key_size, sizeof(int));\n} ksnoop_perf_map SEC(\".maps\");\n\nstatic void clear_trace(struct trace *trace)\n{\n\t__builtin_memset(&trace->trace_data, 0, sizeof(trace->trace_data));\n\ttrace->data_flags = 0;\n\ttrace->buf_len = 0;\n}\n\nstatic struct trace *get_trace(struct pt_regs *ctx, bool entry)\n{\n\t__u8 stack_depth, last_stack_depth;\n\tstruct func_stack *func_stack;\n\t__u64 ip, last_ip = 0, task;\n\tstruct trace *trace;\n\n\ttask = bpf_get_current_task();\n\n\tfunc_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);\n\tif (!func_stack) {\n\t\tstruct func_stack new_stack = { .task = task };\n\n\t\tbpf_map_update_elem(&ksnoop_func_stack, &task, &new_stack,\n\t\t\t\t    BPF_NOEXIST);\n\t\tfunc_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);\n\t\tif (!func_stack)\n\t\t\treturn NULL;\n\t}\n\n\tstack_depth = func_stack->stack_depth;\n\tif (stack_depth > FUNC_MAX_STACK_DEPTH)\n\t\treturn NULL;\n\n\tif (entry) {\n\t\tif (bpf_core_enum_value_exists(enum bpf_func_id,\n\t\t\t\t\t       BPF_FUNC_get_func_ip))\n\t\t\tip = bpf_get_func_ip(ctx);\n\t\telse\n\t\t\tip = KSNOOP_IP_FIX(PT_REGS_IP_CORE(ctx));\n\t\tif (stack_depth >= FUNC_MAX_STACK_DEPTH - 1)\n\t\t\treturn NULL;\n\t\t/* verifier doesn't like using \"stack_depth - 1\" as array index\n\t\t * directly.\n\t\t */\n\t\tlast_stack_depth = stack_depth - 1;\n\t\t/* get address of last function we called */\n\t\tif (last_stack_depth >= 0 &&\n\t\t    last_stack_depth < FUNC_MAX_STACK_DEPTH)\n\t\t\tbpf_probe_read_kernel(&last_ip, sizeof(last_ip),\n\t\t\t\t\t      &func_stack->ips[last_stack_depth]);\n\t\t/* push ip onto stack. return will pop it. */\n\t\tfunc_stack->ips[stack_depth] = ip;\n\t\t/* mask used in case bounds checks are optimized out */\n\t\tstack_depth = (stack_depth + 1) & FUNC_STACK_DEPTH_MASK;\n\t\tfunc_stack->stack_depth = stack_depth;\n\t\t/* rather than zero stack entries on popping, we zero the\n\t\t * (stack_depth + 1)'th entry when pushing the current\n\t\t * entry.  The reason we take this approach is that\n\t\t * when tracking the set of functions we returned from,\n\t\t * we want the history of functions we returned from to\n\t\t * be preserved.\n\t\t */\n\t\tif (stack_depth < FUNC_MAX_STACK_DEPTH)\n\t\t\tfunc_stack->ips[stack_depth] = 0;\n\t} else {\n\t\tif (stack_depth == 0 || stack_depth >= FUNC_MAX_STACK_DEPTH)\n\t\t\treturn NULL;\n\t\tlast_stack_depth = stack_depth;\n\t\t/* get address of last function we returned from */\n\t\tif (last_stack_depth >= 0 &&\n\t\t    last_stack_depth < FUNC_MAX_STACK_DEPTH)\n\t\t\tlast_ip = func_stack->ips[last_stack_depth];\n\t\tif (stack_depth > 0) {\n\t\t\t/* logical OR convinces verifier that we don't\n\t\t\t * end up with a < 0 value, translating to 0xff\n\t\t\t * and an outside of map element access.\n\t\t\t */\n\t\t\tstack_depth = (stack_depth - 1) & FUNC_STACK_DEPTH_MASK;\n\t\t}\n\t\t/* retrieve ip from stack as IP in pt_regs is\n\t\t * bpf kretprobe trampoline address.\n\t\t */\n\t\tif (stack_depth >= 0 && stack_depth < FUNC_MAX_STACK_DEPTH)\n\t\t\tip = func_stack->ips[stack_depth];\n\t\tif (stack_depth >= 0 && stack_depth < FUNC_MAX_STACK_DEPTH)\n\t\t\tfunc_stack->stack_depth = stack_depth;\n\t}\n\n\ttrace = bpf_map_lookup_elem(&ksnoop_func_map, &ip);\n\tif (!trace)\n\t\treturn NULL;\n\n\t/* we may stash data on entry since predicates are a mix\n\t * of entry/return; in such cases, trace->flags specifies\n\t * KSNOOP_F_STASH, and we will output stashed data on return.\n\t * If returning, make sure we don't clear our stashed data.\n\t */\n\tif (!entry && (trace->flags & KSNOOP_F_STASH)) {\n\t\t/* skip clearing trace data */\n\t\tif (!(trace->data_flags & KSNOOP_F_STASHED)) {\n\t\t\t/* predicate must have failed */\n\t\t\treturn NULL;\n\t\t}\n\t\t/* skip clearing trace data */\n\t} else {\n\t\t/* clear trace data before starting. */\n\t\tclear_trace(trace);\n\t}\n\n\tif (entry) {\n\t\t/* if in stack mode, check if previous fn matches */\n\t\tif (trace->prev_ip && trace->prev_ip != last_ip)\n\t\t\treturn NULL;\n\t\t/* if tracing intermediate fn in stack of fns, stash data. */\n\t\tif (trace->next_ip)\n\t\t\ttrace->data_flags |= KSNOOP_F_STASH;\n\t\t/* we may stash data on entry since predicates are a mix\n\t\t * of entry/return; in such cases, trace->flags specifies\n\t\t * KSNOOP_F_STASH, and we will output stashed data on return.\n\t\t */\n\t\tif (trace->flags & KSNOOP_F_STASH)\n\t\t\ttrace->data_flags |= KSNOOP_F_STASH;\n\t\t/* otherwise the data is outputted (because we've reached\n\t\t * the last fn in the set of fns specified).\n\t\t */\n\t} else {\n\t\t/* In stack mode, check if next fn matches the last fn\n\t\t * we returned from; i.e. \"a\" called \"b\", and now\n\t\t * we're at \"a\", was the last fn we returned from \"b\"?\n\t\t * If so, stash data for later display (when we reach the\n\t\t * first fn in the set of stack fns).\n\t\t */\n\t\tif (trace->next_ip && trace->next_ip != last_ip)\n\t\t\treturn NULL;\n\t\tif (trace->prev_ip)\n\t\t\ttrace->data_flags |= KSNOOP_F_STASH;\n\t\t/* If there is no \"prev\" function, i.e. we are at the\n\t\t * first function in a set of stack functions, the trace\n\t\t * info is shown (along with any stashed info associated\n\t\t * with callers).\n\t\t */\n\t}\n\ttrace->task = task;\n\treturn trace;\n}\n\nstatic void output_trace(struct pt_regs *ctx, struct trace *trace)\n{\n\t__u64 trace_len;\n\n\tif (trace->buf_len == 0)\n\t\tgoto skip;\n\n\t/* we may be simply stashing values, and will report later */\n\tif (trace->data_flags & KSNOOP_F_STASH) {\n\t\ttrace->data_flags &= ~KSNOOP_F_STASH;\n\t\ttrace->data_flags |= KSNOOP_F_STASHED;\n\t\treturn;\n\t}\n\t/* we may be outputting earlier stashed data */\n\tif (trace->data_flags & KSNOOP_F_STASHED)\n\t\ttrace->data_flags &= ~KSNOOP_F_STASHED;\n\n\t/* trim perf event size to only contain data we've recorded. */\n\ttrace_len = sizeof(*trace) + trace->buf_len - MAX_TRACE_BUF;\n\n\tif (trace_len <= sizeof(*trace))\n\t\tbpf_perf_event_output(ctx, &ksnoop_perf_map,\n\t\t\t\t      BPF_F_CURRENT_CPU,\n\t\t\t\t      trace, trace_len);\nskip:\n\tclear_trace(trace);\n}\n\nstatic void output_stashed_traces(struct pt_regs *ctx,\n\t\t\t\t\t struct trace *currtrace,\n\t\t\t\t\t bool entry)\n{\n\tstruct func_stack *func_stack;\n\tstruct trace *trace = NULL;\n\t__u8 i;\n\t__u64 task = 0;\n\n\ttask = bpf_get_current_task();\n\tfunc_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);\n\tif (!func_stack)\n\t\treturn;\n\n\tif (entry) {\n\t\t/* iterate from bottom to top of stack, outputting stashed\n\t\t * data we find.  This corresponds to the set of functions\n\t\t * we called before the current function.\n\t\t */\n\t\tfor (i = 0;\n\t\t     i < func_stack->stack_depth - 1 && i < FUNC_MAX_STACK_DEPTH;\n\t\t     i++) {\n\t\t\ttrace = bpf_map_lookup_elem(&ksnoop_func_map,\n\t\t\t\t\t\t    &func_stack->ips[i]);\n\t\t\tif (!trace || !(trace->data_flags & KSNOOP_F_STASHED))\n\t\t\t\tbreak;\n\t\t\tif (trace->task != task)\n\t\t\t\treturn;\n\t\t\toutput_trace(ctx, trace);\n\t\t}\n\t} else {\n\t\t/* iterate from top to bottom of stack, outputting stashed\n\t\t * data we find.  This corresponds to the set of functions\n\t\t * that returned prior to the current returning function.\n\t\t */\n\t\tfor (i = FUNC_MAX_STACK_DEPTH; i > 0; i--) {\n\t\t\t__u64 ip;\n\n\t\t\tip = func_stack->ips[i];\n\t\t\tif (!ip)\n\t\t\t\tcontinue;\n\t\t\ttrace = bpf_map_lookup_elem(&ksnoop_func_map, &ip);\n\t\t\tif (!trace || !(trace->data_flags & KSNOOP_F_STASHED))\n\t\t\t\tbreak;\n\t\t\tif (trace->task != task)\n\t\t\t\treturn;\n\t\t\toutput_trace(ctx, trace);\n\t\t}\n\t}\n\t/* finally output the current trace info */\n\toutput_trace(ctx, currtrace);\n}\n\nstatic __u64 get_arg(struct pt_regs *ctx, enum arg argnum)\n{\n\tswitch (argnum) {\n\tcase KSNOOP_ARG1:\n\t\treturn PT_REGS_PARM1_CORE(ctx);\n\tcase KSNOOP_ARG2:\n\t\treturn PT_REGS_PARM2_CORE(ctx);\n\tcase KSNOOP_ARG3:\n\t\treturn PT_REGS_PARM3_CORE(ctx);\n\tcase KSNOOP_ARG4:\n\t\treturn PT_REGS_PARM4_CORE(ctx);\n\tcase KSNOOP_ARG5:\n\t\treturn PT_REGS_PARM5_CORE(ctx);\n\tcase KSNOOP_RETURN:\n\t\treturn PT_REGS_RC_CORE(ctx);\n\tdefault:\n\t\treturn 0;\n\t}\n}\n\nstatic int ksnoop(struct pt_regs *ctx, bool entry)\n{\n\tvoid *data_ptr = NULL;\n\tstruct trace *trace;\n\t__u64 data;\n\t__u32 currpid;\n\tint ret;\n\t__u8 i;\n\n\ttrace = get_trace(ctx, entry);\n\tif (!trace)\n\t\treturn 0;\n\n\t/* make sure we want events from this pid */\n\tcurrpid = bpf_get_current_pid_tgid();\n\tif (trace->filter_pid && trace->filter_pid != currpid)\n\t\treturn 0;\n\ttrace->pid = currpid;\n\n\ttrace->cpu = bpf_get_smp_processor_id();\n\ttrace->time = bpf_ktime_get_ns();\n\n\ttrace->data_flags &= ~(KSNOOP_F_ENTRY | KSNOOP_F_RETURN);\n\tif (entry)\n\t\ttrace->data_flags |= KSNOOP_F_ENTRY;\n\telse\n\t\ttrace->data_flags |= KSNOOP_F_RETURN;\n\n\n\tfor (i = 0; i < MAX_TRACES; i++) {\n\t\tstruct trace_data *currdata;\n\t\tstruct value *currtrace;\n\t\tchar *buf_offset = NULL;\n\t\t__u32 tracesize;\n\n\t\tcurrdata = &trace->trace_data[i];\n\t\tcurrtrace = &trace->traces[i];\n\n\t\tif ((entry && !base_arg_is_entry(currtrace->base_arg)) ||\n\t\t    (!entry && base_arg_is_entry(currtrace->base_arg)))\n\t\t\tcontinue;\n\n\t\t/* skip void (unused) trace arguments, ensuring not to\n\t\t * skip \"void *\".\n\t\t */\n\t\tif (currtrace->type_id == 0 &&\n\t\t    !(currtrace->flags & KSNOOP_F_PTR))\n\t\t\tcontinue;\n\n\t\tdata = get_arg(ctx, currtrace->base_arg);\n\n\t\t/* look up member value and read into data field. */\n\t\tif (currtrace->flags & KSNOOP_F_MEMBER) {\n\t\t\tif (currtrace->offset)\n\t\t\t\tdata += currtrace->offset;\n\n\t\t\t/* member is a pointer; read it in */\n\t\t\tif (currtrace->flags & KSNOOP_F_PTR) {\n\t\t\t\tvoid *dataptr = (void *)data;\n\n\t\t\t\tret = bpf_probe_read_kernel(&data, sizeof(data), dataptr);\n\t\t\t\tif (ret) {\n\t\t\t\t\tcurrdata->err_type_id = currtrace->type_id;\n\t\t\t\t\tcurrdata->err = ret;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcurrdata->raw_value = data;\n\t\t\t} else if (currtrace->size <=\n\t\t\t\t   sizeof(currdata->raw_value)) {\n\t\t\t\t/* read member value for predicate comparison */\n\t\t\t\tbpf_probe_read_kernel(&currdata->raw_value, currtrace->size, (void*)data);\n\t\t\t}\n\t\t} else {\n\t\t\tcurrdata->raw_value = data;\n\t\t}\n\n\t\t/* simple predicate evaluation: if any predicate fails,\n\t\t * skip all tracing for this function.\n\t\t */\n\t\tif (currtrace->flags & KSNOOP_F_PREDICATE_MASK) {\n\t\t\tbool ok = false;\n\n\t\t\tif (currtrace->flags & KSNOOP_F_PREDICATE_EQ &&\n\t\t\t    currdata->raw_value == currtrace->predicate_value)\n\t\t\t\tok = true;\n\n\t\t\tif (currtrace->flags & KSNOOP_F_PREDICATE_NOTEQ &&\n\t\t\t    currdata->raw_value != currtrace->predicate_value)\n\t\t\t\tok = true;\n\n\t\t\tif (currtrace->flags & KSNOOP_F_PREDICATE_GT &&\n\t\t\t    currdata->raw_value > currtrace->predicate_value)\n\t\t\t\tok = true;\n\n\t\t\tif (currtrace->flags & KSNOOP_F_PREDICATE_LT &&\n\t\t\t    currdata->raw_value < currtrace->predicate_value)\n\t\t\t\tok = true;\n\n\t\t\tif (!ok) {\n\t\t\t\tclear_trace(trace);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\n\t\tif (currtrace->flags & (KSNOOP_F_PTR | KSNOOP_F_MEMBER))\n\t\t\tdata_ptr = (void *)data;\n\t\telse\n\t\t\tdata_ptr = &data;\n\n\t\tif (trace->buf_len + MAX_TRACE_DATA >= MAX_TRACE_BUF)\n\t\t\tbreak;\n\n\t\tbuf_offset = &trace->buf[trace->buf_len];\n\t\tif (buf_offset > &trace->buf[MAX_TRACE_BUF]) {\n\t\t\tcurrdata->err_type_id = currtrace->type_id;\n\t\t\tcurrdata->err = -ENOSPC;\n\t\t\tcontinue;\n\t\t}\n\t\tcurrdata->buf_offset = trace->buf_len;\n\n\t\ttracesize = currtrace->size;\n\t\tif (tracesize > MAX_TRACE_DATA)\n\t\t\ttracesize = MAX_TRACE_DATA;\n\t\tret = bpf_probe_read_kernel(buf_offset, tracesize, data_ptr);\n\t\tif (ret < 0) {\n\t\t\tcurrdata->err_type_id = currtrace->type_id;\n\t\t\tcurrdata->err = ret;\n\t\t\tcontinue;\n\t\t} else {\n\t\t\tcurrdata->buf_len = tracesize;\n\t\t\ttrace->buf_len += tracesize;\n\t\t}\n\t}\n\n\t/* show accumulated stashed traces (if any) */\n\tif ((entry && trace->prev_ip && !trace->next_ip) ||\n\t    (!entry && trace->next_ip && !trace->prev_ip))\n\t\toutput_stashed_traces(ctx, trace, entry);\n\telse\n\t\toutput_trace(ctx, trace);\n\n\treturn 0;\n}\n\nSEC(\"kprobe/foo\")\nint BPF_KPROBE(kprobe_entry)\n{\n\treturn ksnoop(ctx, true);\n}\n\nSEC(\"kretprobe/foo\")\nint BPF_KRETPROBE(kprobe_return)\n{\n\treturn ksnoop(ctx, false);\n}\n\nchar _license[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/ksnoop.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021, Oracle and/or its affiliates. */\n\n#include <ctype.h>\n#include <errno.h>\n#include <getopt.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n\n#include <bpf/bpf.h>\n#include <bpf/libbpf.h>\n#include <bpf/btf.h>\n\n#include \"ksnoop.h\"\n#include \"ksnoop.skel.h\"\n\n#ifndef KSNOOP_VERSION\n#define KSNOOP_VERSION\t\"0.1\"\n#endif\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic struct btf *vmlinux_btf;\nstatic const char *bin_name;\nstatic int pages = PAGES_DEFAULT;\n\nenum log_level {\n\tDEBUG,\n\tWARN,\n\tERROR,\n};\n\nstatic enum log_level log_level = WARN;\nstatic bool verbose = false;\n\nstatic __u32 filter_pid;\nstatic bool stack_mode;\n\n\nstatic void __p(enum log_level level, char *level_str, char *fmt, ...)\n{\n\tva_list ap;\n\n\tif (level < log_level)\n\t\treturn;\n\tva_start(ap, fmt);\n\tfprintf(stderr, \"%s: \", level_str);\n\tvfprintf(stderr, fmt, ap);\n\tfprintf(stderr, \"\\n\");\n\tva_end(ap);\n\tfflush(stderr);\n}\n\n#define p_err(fmt, ...)\t\t__p(ERROR, \"Error\", fmt, ##__VA_ARGS__)\n#define p_warn(fmt, ...)\t__p(WARNING, \"Warn\", fmt, ##__VA_ARGS__)\n#define\tp_debug(fmt, ...)\t__p(DEBUG, \"Debug\", fmt, ##__VA_ARGS__)\n\nstatic int do_version(int argc, char **argv)\n{\n\tprintf(\"%s v%s\\n\", bin_name, KSNOOP_VERSION);\n\treturn 0;\n}\n\nstatic int cmd_help(int argc, char **argv)\n{\n\tfprintf(stderr,\n\t\t\"Usage: %s [OPTIONS] [COMMAND | help] FUNC\\n\"\n\t\t\"\tCOMMAND\t:= { trace | info }\\n\"\n\t\t\"\tFUNC\t:= { name | name(ARG[,ARG]*) }\\n\"\n\t\t\"\tARG\t:= { arg | arg [PRED] | arg->member [PRED] }\\n\"\n\t\t\"\tPRED\t:= { == | != | > | >= | < | <=  value }\\n\"\n\t\t\"\tOPTIONS\t:= { {-d|--debug} | {-v|--verbose} | {-V|--version} |\\n\"\n\t\t\"                    {-p|--pid filter_pid}|\\n\"\n\t\t\"                    {-P|--pages nr_pages} }\\n\"\n\t\t\"                    {-s|--stack}\\n\",\n\t\tbin_name);\n\tfprintf(stderr,\n\t\t\"Examples:\\n\"\n\t\t\"\t%s info ip_send_skb\\n\"\n\t\t\"\t%s trace ip_send_skb\\n\"\n\t\t\"\t%s trace \\\"ip_send_skb(skb, return)\\\"\\n\"\n\t\t\"\t%s trace \\\"ip_send_skb(skb->sk, return)\\\"\\n\"\n\t\t\"\t%s trace \\\"ip_send_skb(skb->len > 128, skb)\\\"\\n\"\n\t\t\"\t%s trace -s udp_sendmsg ip_send_skb\\n\",\n\t\tbin_name, bin_name, bin_name, bin_name, bin_name, bin_name);\n\treturn 0;\n}\n\nstatic void usage(void)\n{\n\tcmd_help(0, NULL);\n\texit(1);\n}\n\nstatic void type_to_value(struct btf *btf, char *name, __u32 type_id,\n\t\t\t  struct value *val)\n{\n\tconst struct btf_type *type;\n\t__s32 id = type_id;\n\n\tif (strlen(val->name) == 0) {\n\t\tif (name)\n\t\t\tstrncpy(val->name, name,\n\t\t\t\tsizeof(val->name) - 1);\n\t\telse\n\t\t\tval->name[0] = '\\0';\n\t}\n\tdo {\n\t\ttype = btf__type_by_id(btf, id);\n\n\t\tswitch (BTF_INFO_KIND(type->info)) {\n\t\tcase BTF_KIND_CONST:\n\t\tcase BTF_KIND_VOLATILE:\n\t\tcase BTF_KIND_RESTRICT:\n\t\t\tid = type->type;\n\t\t\tbreak;\n\t\tcase BTF_KIND_PTR:\n\t\t\tval->flags |= KSNOOP_F_PTR;\n\t\t\tid = type->type;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval->type_id = id;\n\t\t\tgoto done;\n\t\t}\n\t} while (id >= 0);\n\n\tval->type_id = KSNOOP_ID_UNKNOWN;\n\treturn;\ndone:\n\tval->size = btf__resolve_size(btf, val->type_id);\n}\n\nstatic int member_to_value(struct btf *btf, const char *name, __u32 type_id,\n\t\t\t   struct value *val, int lvl)\n{\n\tconst struct btf_member *member;\n\tconst struct btf_type *type;\n\tconst char *pname;\n\t__s32 id = type_id;\n\tint i, nmembers;\n\t__u8 kind;\n\n\t/* type_to_value has already stripped qualifiers, so\n\t * we either have a base type, a struct, union, etc.\n\t * Only struct/unions have named members so anything\n\t * else is invalid.\n\t */\n\tp_debug(\"Looking for member '%s' in type id %d\", name, type_id);\n\ttype = btf__type_by_id(btf, id);\n\tpname = btf__str_by_offset(btf, type->name_off);\n\tif (strlen(pname) == 0)\n\t\tpname = \"<anon>\";\n\n\tkind = BTF_INFO_KIND(type->info);\n\tswitch (kind) {\n\tcase BTF_KIND_STRUCT:\n\tcase BTF_KIND_UNION:\n\t\tnmembers = BTF_INFO_VLEN(type->info);\n\t\tp_debug(\"Checking %d members...\", nmembers);\n\t\tfor (member = (struct btf_member *)(type + 1), i = 0;\n\t\t     i < nmembers;\n\t\t     member++, i++) {\n\t\t\tconst char *mname;\n\t\t\t__u16 offset;\n\n\t\t\ttype = btf__type_by_id(btf, member->type);\n\t\t\tmname = btf__str_by_offset(btf, member->name_off);\n\t\t\toffset = member->offset / 8;\n\n\t\t\tp_debug(\"Checking member '%s' type %d offset %d\",\n\t\t\t\tmname, member->type, offset);\n\n\t\t\t/* anonymous struct member? */\n\t\t\tkind = BTF_INFO_KIND(type->info);\n\t\t\tif (strlen(mname) == 0 &&\n\t\t\t    (kind == BTF_KIND_STRUCT ||\n\t\t\t     kind == BTF_KIND_UNION)) {\n\t\t\t\tp_debug(\"Checking anon struct/union %d\",\n\t\t\t\t\tmember->type);\n\t\t\t\tval->offset += offset;\n\t\t\t\tif (!member_to_value(btf, name, member->type,\n\t\t\t\t\t\t     val, lvl + 1))\n\t\t\t\t\treturn 0;\n\t\t\t\tval->offset -= offset;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (strcmp(mname, name) == 0) {\n\t\t\t\tval->offset += offset;\n\t\t\t\tval->flags |= KSNOOP_F_MEMBER;\n\t\t\t\ttype_to_value(btf, NULL, member->type, val);\n\t\t\t\tp_debug(\"Member '%s', offset %d, flags %x size %d\",\n\t\t\t\t\tmname, val->offset, val->flags,\n\t\t\t\t\tval->size);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t\tif (lvl > 0)\n\t\t\tbreak;\n\t\tp_err(\"No member '%s' found in %s [%d], offset %d\", name, pname,\n\t\t      id, val->offset);\n\t\tbreak;\n\tdefault:\n\t\tp_err(\"'%s' is not a struct/union\", pname);\n\t\tbreak;\n\t}\n\treturn -ENOENT;\n}\n\nstatic int get_func_btf(struct btf *btf, struct func *func)\n{\n\tconst struct btf_param *param;\n\tconst struct btf_type *type;\n\t__u8 i;\n\n\tfunc->id = btf__find_by_name_kind(btf, func->name, BTF_KIND_FUNC);\n\tif (func->id <= 0) {\n\t\tp_err(\"Cannot find function '%s' in BTF: %s\",\n\t\t       func->name, strerror(-func->id));\n\t\treturn -ENOENT;\n\t}\n\ttype = btf__type_by_id(btf, func->id);\n\tif (!type || BTF_INFO_KIND(type->info) != BTF_KIND_FUNC) {\n\t\tp_err(\"Error looking up function type via id '%d'\", func->id);\n\t\treturn -EINVAL;\n\t}\n\ttype = btf__type_by_id(btf, type->type);\n\tif (!type || BTF_INFO_KIND(type->info) != BTF_KIND_FUNC_PROTO) {\n\t\tp_err(\"Error looking up function proto type via id '%d'\",\n\t\t      func->id);\n\t\treturn -EINVAL;\n\t}\n\tfor (param = (struct btf_param *)(type + 1), i = 0;\n\t     i < BTF_INFO_VLEN(type->info) && i < MAX_ARGS;\n\t     param++, i++) {\n\t\ttype_to_value(btf,\n\t\t\t      (char *)btf__str_by_offset(btf, param->name_off),\n\t\t\t      param->type, &func->args[i]);\n\t\tp_debug(\"arg #%d: <name '%s', type id '%u'>\",\n\t\t\ti + 1, func->args[i].name, func->args[i].type_id);\n\t}\n\n\t/* real number of args, even if it is > number we recorded. */\n\tfunc->nr_args = BTF_INFO_VLEN(type->info);\n\n\ttype_to_value(btf, KSNOOP_RETURN_NAME, type->type,\n\t\t      &func->args[KSNOOP_RETURN]);\n\tp_debug(\"return value: type id '%u'>\",\n\t\tfunc->args[KSNOOP_RETURN].type_id);\n\treturn 0;\n}\n\nstatic int predicate_to_value(char *predicate, struct value *val)\n{\n\tchar pred[MAX_STR];\n\tlong v;\n\n\tif (!predicate)\n\t\treturn 0;\n\n\tp_debug(\"checking predicate '%s' for '%s'\", predicate, val->name);\n\n\tif (sscanf(predicate, \"%[!=><]%li\", pred, &v) != 2) {\n\t\tp_err(\"Invalid specification; expected predicate, not '%s'\",\n\t\t      predicate);\n\t\treturn -EINVAL;\n\t}\n\tif (!(val->flags & KSNOOP_F_PTR) &&\n\t    (val->size == 0 || val->size > sizeof(__u64))) {\n\t\tp_err(\"'%s' (size %d) does not support predicate comparison\",\n\t\t      val->name, val->size);\n\t\treturn -EINVAL;\n\t}\n\tval->predicate_value = (__u64)v;\n\n\tif (strcmp(pred, \"==\") == 0) {\n\t\tval->flags |= KSNOOP_F_PREDICATE_EQ;\n\t\tgoto out;\n\t} else if (strcmp(pred, \"!=\") == 0) {\n\t\tval->flags |= KSNOOP_F_PREDICATE_NOTEQ;\n\t\tgoto out;\n\t}\n\tif (pred[0] == '>')\n\t\tval->flags |= KSNOOP_F_PREDICATE_GT;\n\telse if (pred[0] == '<')\n\t\tval->flags |= KSNOOP_F_PREDICATE_LT;\n\n\tif (strlen(pred) == 1)\n\t\tgoto out;\n\n\tif (pred[1] != '=') {\n\t\tp_err(\"Invalid predicate specification '%s'\", predicate);\n\t\treturn -EINVAL;\n\t}\n\tval->flags |= KSNOOP_F_PREDICATE_EQ;\n\nout:\n\tp_debug(\"predicate '%s', flags 0x%x value %x\",\n\t\tpred, val->flags, val->predicate_value);\n\n\treturn 0;\n}\n\nstatic int trace_to_value(struct btf *btf, struct func *func, char *argname,\n\t\t\t  char *membername, char *predicate, struct value *val)\n{\n\t__u8 i;\n\n\tif (strlen(membername) > 0)\n\t\tsnprintf(val->name, sizeof(val->name), \"%s->%s\",\n\t\t\t argname, membername);\n\telse\n\t\tstrncpy(val->name, argname, sizeof(val->name));\n\n\tfor (i = 0; i < MAX_TRACES; i++) {\n\t\tif (strcmp(argname, func->args[i].name) != 0)\n\t\t\tcontinue;\n\t\tp_debug(\"setting base arg for val %s to %d\", val->name, i);\n\t\tval->base_arg = i;\n\n\t\tif (strlen(membername) > 0) {\n\t\t\tif (member_to_value(btf, membername,\n\t\t\t\t\t    func->args[i].type_id, val, 0))\n\t\t\t\treturn -ENOENT;\n\t\t} else {\n\t\t\tval->type_id = func->args[i].type_id;\n\t\t\tval->flags |= func->args[i].flags;\n\t\t\tval->size = func->args[i].size;\n\t\t}\n\t\treturn predicate_to_value(predicate, val);\n\t}\n\tp_err(\"Could not find '%s' in arguments/return value for '%s'\",\n\t      argname, func->name);\n\treturn -ENOENT;\n}\n\nstatic struct btf *get_btf(const char *name)\n{\n\tstruct btf *mod_btf;\n\tint err;\n\n\tp_debug(\"getting BTF for %s\",\n\t\tname && strlen(name) > 0 ? name : \"vmlinux\");\n\n\tif (!vmlinux_btf) {\n\t\tvmlinux_btf = btf__load_vmlinux_btf();\n\t\tif (!vmlinux_btf) {\n\t\t\terr = -errno;\n\t\t\tp_err(\"No BTF, cannot determine type info: %s\", strerror(-err));\n\t\t\treturn NULL;\n\t\t}\n\t}\n\tif (!name || strlen(name) == 0)\n\t\treturn vmlinux_btf;\n\n\tmod_btf = btf__load_module_btf(name, vmlinux_btf);\n\tif (!mod_btf) {\n\t\terr = -errno;\n\t\tp_err(\"No BTF for module '%s': %s\", name, strerror(-err));\n\t\treturn NULL;\n\t}\n\treturn mod_btf;\n}\n\nstatic void copy_without_spaces(char *target, char *src)\n{\n\tfor (; *src != '\\0'; src++)\n\t\tif (!isspace(*src))\n\t\t\t*(target++) = *src;\n\t*target = '\\0';\n}\n\nstatic char *type_id_to_str(struct btf *btf, __s32 type_id, char *str)\n{\n\tconst struct btf_type *type;\n\tconst char *name = \"\";\n\tchar *prefix = \"\";\n\tchar *suffix = \" \";\n\tchar *ptr = \"\";\n\n\tstr[0] = '\\0';\n\n\tswitch (type_id) {\n\tcase 0:\n\t\tname = \"void\";\n\t\tbreak;\n\tcase KSNOOP_ID_UNKNOWN:\n\t\tname = \"?\";\n\t\tbreak;\n\tdefault:\n\t\tdo {\n\t\t\ttype = btf__type_by_id(btf, type_id);\n\t\t\tif (!type) {\n\t\t\t\tname = \"?\";\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tswitch (BTF_INFO_KIND(type->info)) {\n\t\t\tcase BTF_KIND_CONST:\n\t\t\tcase BTF_KIND_VOLATILE:\n\t\t\tcase BTF_KIND_RESTRICT:\n\t\t\t\ttype_id = type->type;\n\t\t\t\tbreak;\n\t\t\tcase BTF_KIND_PTR:\n\t\t\t\tptr = \"* \";\n\t\t\t\ttype_id = type->type;\n\t\t\t\tbreak;\n\t\t\tcase BTF_KIND_ARRAY:\n\t\t\t\tsuffix = \"[]\";\n\t\t\t\ttype_id = type->type;\n\t\t\t\tbreak;\n\t\t\tcase BTF_KIND_STRUCT:\n\t\t\t\tprefix = \"struct \";\n\t\t\t\tname = btf__str_by_offset(btf, type->name_off);\n\t\t\t\tbreak;\n\t\t\tcase BTF_KIND_UNION:\n\t\t\t\tprefix = \"union \";\n\t\t\t\tname = btf__str_by_offset(btf, type->name_off);\n\t\t\t\tbreak;\n\t\t\tcase BTF_KIND_ENUM:\n\t\t\t\tprefix = \"enum \";\n\t\t\t\tname = btf__str_by_offset(btf, type->name_off);\n\t\t\t\tbreak;\n\t\t\tcase BTF_KIND_TYPEDEF:\n\t\t\tdefault:\n\t\t\t\tname = btf__str_by_offset(btf, type->name_off);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (type_id >= 0 && strlen(name) == 0);\n\t\tbreak;\n\t}\n\tsnprintf(str, MAX_STR, \"%s%s%s%s\", prefix, name, suffix, ptr);\n\n\treturn str;\n}\n\nstatic char *value_to_str(struct btf *btf, struct value *val, char *str)\n{\n\tstr = type_id_to_str(btf, val->type_id, str);\n\tif (val->flags & KSNOOP_F_PTR)\n\t\tstrncat(str, \"*\", MAX_STR);\n\tif (strlen(val->name) > 0 &&\n\t    strcmp(val->name, KSNOOP_RETURN_NAME) != 0)\n\t\tstrncat(str, val->name, MAX_STR);\n\n\treturn str;\n}\n\n/* based heavily on bpf_object__read_kallsyms_file() in libbpf.c */\nstatic int get_func_ip_mod(struct func *func)\n{\n\tchar sym_type, sym_name[MAX_STR], mod_info[MAX_STR];\n\tunsigned long long sym_addr;\n\tint ret, err = 0;\n\tFILE *f;\n\n\tf = fopen(\"/proc/kallsyms\", \"r\");\n\tif (!f) {\n\t\terr = errno;\n\t\tp_err(\"failed to open /proc/kallsyms: %s\", strerror(err));\n\t\treturn err;\n\t}\n\n\twhile (true) {\n\t\tret = fscanf(f, \"%llx %c %128s%[^\\n]\\n\",\n\t\t\t     &sym_addr, &sym_type, sym_name, mod_info);\n\t\tif (ret == EOF && feof(f))\n\t\t\tbreak;\n\t\tif (ret < 3) {\n\t\t\tp_err(\"failed to read kallsyms entry: %d\", ret);\n\t\t\terr = -EINVAL;\n\t\t\tgoto out;\n\t\t}\n\t\tif (strcmp(func->name, sym_name) != 0)\n\t\t\tcontinue;\n\t\tfunc->ip = sym_addr;\n\t\tfunc->mod[0] = '\\0';\n\t\t/* get module name from [modname] */\n\t\tif (ret == 4) {\n\t\t\tif (sscanf(mod_info, \"%*[\\t ][%[^]]\", func->mod) < 1) {\n\t\t\t\tp_err(\"failed to read module name\");\n\t\t\t\terr = -EINVAL;\n\t\t\t\tgoto out;\n\t\t\t}\n\t\t}\n\t\tp_debug(\"%s =  <ip %llx, mod %s>\", func->name, func->ip,\n\t\t\tstrlen(func->mod) > 0 ? func->mod : \"vmlinux\");\n\t\tbreak;\n\t}\nout:\n\tfclose(f);\n\treturn err;\n}\n\nstatic void trace_printf(void *ctx, const char *fmt, va_list args)\n{\n\tvprintf(fmt, args);\n}\n\n#define VALID_NAME\t\"%[A-Za-z0-9\\\\-_]\"\n#define ARGDATA\t\t\"%[^)]\"\n\nstatic int parse_trace(char *str, struct trace *trace)\n{\n\t__u8 i, nr_predicates = 0, nr_entry = 0, nr_return = 0;\n\tchar argname[MAX_NAME], membername[MAX_NAME];\n\tchar tracestr[MAX_STR], argdata[MAX_STR];\n\tstruct func *func = &trace->func;\n\tchar *arg, *saveptr;\n\tint ret;\n\n\tcopy_without_spaces(tracestr, str);\n\n\tp_debug(\"Parsing trace '%s'\", tracestr);\n\n\ttrace->filter_pid = (__u32)filter_pid;\n\tif (filter_pid)\n\t\tp_debug(\"Using pid %lu as filter\", trace->filter_pid);\n\n\ttrace->btf = vmlinux_btf;\n\n\tret = sscanf(tracestr, VALID_NAME \"(\" ARGDATA \")\", func->name, argdata);\n\tif (ret <= 0)\n\t\tusage();\n\tif (ret == 1) {\n\t\tif (strlen(tracestr) > strlen(func->name)) {\n\t\t\tp_err(\"Invalid function specification '%s'\", tracestr);\n\t\t\tusage();\n\t\t}\n\t\targdata[0] = '\\0';\n\t\tp_debug(\"got func '%s'\", func->name);\n\t} else {\n\t\tif (strlen(tracestr) >\n\t\t    strlen(func->name) + strlen(argdata) + 2) {\n\t\t\tp_err(\"Invalid function specification '%s'\", tracestr);\n\t\t\tusage();\n\t\t}\n\t\tp_debug(\"got func '%s', args '%s'\", func->name, argdata);\n\t\ttrace->flags |= KSNOOP_F_CUSTOM;\n\t}\n\n\tret = get_func_ip_mod(func);\n\tif (ret) {\n\t\tp_err(\"could not get address of '%s'\", func->name);\n\t\treturn ret;\n\t}\n\ttrace->btf = get_btf(func->mod);\n\tif (!trace->btf) {\n\t\tret = -errno;\n\t\tp_err(\"could not get BTF for '%s': %s\",\n\t\t      strlen(func->mod) ? func->mod : \"vmlinux\",\n\t\t      strerror(-ret));\n\t\treturn -ENOENT;\n\t}\n\ttrace->dump = btf_dump__new(trace->btf, trace_printf, NULL, NULL);\n\tif (!trace->dump) {\n\t\tret = -errno;\n\t\tp_err(\"could not create BTF dump : %s\", strerror(-ret));\n\t\treturn -EINVAL;\n\t}\n\n\tret = get_func_btf(trace->btf, func);\n\tif (ret) {\n\t\tp_debug(\"unexpected return value '%d' getting function\", ret);\n\t\treturn ret;\n\t}\n\n\tfor (arg = strtok_r(argdata, \",\", &saveptr), i = 0;\n\t     arg;\n\t     arg = strtok_r(NULL, \",\", &saveptr), i++) {\n\t\tchar *predicate = NULL;\n\n\t\tret = sscanf(arg, VALID_NAME \"->\" VALID_NAME,\n\t\t\t     argname, membername);\n\t\tif (ret == 2) {\n\t\t\tif (strlen(arg) >\n\t\t\t    strlen(argname) + strlen(membername) + 2) {\n\t\t\t\tpredicate = arg + strlen(argname) +\n\t\t\t\t\t    strlen(membername) + 2;\n\t\t\t}\n\t\t\tp_debug(\"'%s' dereferences '%s', predicate '%s'\",\n\t\t\t\targname, membername, predicate);\n\t\t} else {\n\t\t\tif (strlen(arg) > strlen(argname))\n\t\t\t\tpredicate = arg + strlen(argname);\n\t\t\tp_debug(\"'%s' arg, predcate '%s'\", argname, predicate);\n\t\t\tmembername[0] = '\\0';\n\t\t}\n\n\t\tif (i >= MAX_TRACES) {\n\t\t\tp_err(\"Too many arguments; up to %d are supported\",\n\t\t\t      MAX_TRACES);\n\t\t\treturn -EINVAL;\n\t\t}\n\t\tif (trace_to_value(trace->btf, func, argname, membername,\n\t\t\t\t   predicate, &trace->traces[i]))\n\t\t\treturn -EINVAL;\n\n\t\tif (predicate)\n\t\t\tnr_predicates++;\n\t\tif (trace->traces[i].base_arg == KSNOOP_RETURN)\n\t\t\tnr_return++;\n\t\telse\n\t\t\tnr_entry++;\n\t\ttrace->nr_traces++;\n\t}\n\n\tif (trace->nr_traces > 0) {\n\t\ttrace->flags |= KSNOOP_F_CUSTOM;\n\t\tp_debug(\"custom trace with %d args\", trace->nr_traces);\n\n\t\t/* If we have one or more predicates _and_ references to\n\t\t * entry and return values, we need to activate \"stash\"\n\t\t * mode where arg traces are stored on entry and not\n\t\t * sent until return to ensure predicates are satisfied.\n\t\t */\n\t\tif (nr_predicates > 0 && nr_entry > 0 && nr_return > 0) {\n\t\t\ttrace->flags |= KSNOOP_F_STASH;\n\t\t\tp_debug(\"activating stash mode on entry\");\n\t\t}\n\t} else {\n\t\tp_debug(\"Standard trace, function with %d arguments\",\n\t\t\tfunc->nr_args);\n\t\t/* copy function arg/return value to trace specification. */\n\t\tmemcpy(trace->traces, func->args, sizeof(trace->traces));\n\t\tfor (i = 0; i < MAX_TRACES; i++)\n\t\t\ttrace->traces[i].base_arg = i;\n\t\ttrace->nr_traces = MAX_TRACES;\n\t}\n\n\treturn 0;\n}\n\nstatic int parse_traces(int argc, char **argv, struct trace **traces)\n{\n\t__u8 i;\n\n\tif (argc == 0)\n\t\tusage();\n\n\tif (argc > MAX_FUNC_TRACES) {\n\t\tp_err(\"A maximum of %d traces are supported\", MAX_FUNC_TRACES);\n\t\treturn -EINVAL;\n\t}\n\t*traces = calloc(argc, sizeof(struct trace));\n\tif (!*traces) {\n\t\tp_err(\"Could not allocate %d traces\", argc);\n\t\treturn -ENOMEM;\n\t}\n\tfor (i = 0; i < argc; i++) {\n\t\tif (parse_trace(argv[i], &((*traces)[i])))\n\t\t\treturn -EINVAL;\n\t\tif (!stack_mode || i == 0)\n\t\t\tcontinue;\n\t\t/* tell stack mode trace which function to expect next */\n\t\t(*traces)[i].prev_ip = (*traces)[i-1].func.ip;\n\t\t(*traces)[i-1].next_ip = (*traces)[i].func.ip;\n\t}\n\treturn i;\n}\n\nstatic int cmd_info(int argc, char **argv)\n{\n\tstruct trace *traces = NULL;\n\tchar str[MAX_STR];\n\tint nr_traces;\n\t__u8 i, j;\n\n\tnr_traces = parse_traces(argc, argv, &traces);\n\tif (nr_traces < 0)\n\t\treturn nr_traces;\n\n\tfor (i = 0; i < nr_traces; i++) {\n\t\tstruct func *func = &traces[i].func;\n\n\t\tprintf(\"%s%s(\",\n\t\t       value_to_str(traces[i].btf, &func->args[KSNOOP_RETURN],\n\t\t\t\t    str),\n\t\t       func->name);\n\t\tfor (j = 0; j < func->nr_args; j++) {\n\t\t\tif (j > 0)\n\t\t\t\tprintf(\", \");\n\t\t\tprintf(\"%s\", value_to_str(traces[i].btf, &func->args[j],\n\t\t\t\t\t\t  str));\n\t\t}\n\t\tif (func->nr_args > MAX_ARGS)\n\t\t\tprintf(\" /* and %d more args that are not traceable */\",\n\t\t\t       func->nr_args - MAX_ARGS);\n\t\tprintf(\");\\n\");\n\t}\n\tfree(traces);\n\treturn 0;\n}\n\nstatic void trace_handler(void *ctx, int cpu, void *data, __u32 size)\n{\n\tstruct trace *trace = data;\n\tint i, shown, ret;\n\n\tp_debug(\"got trace, size %d\", size);\n\tif (size < (sizeof(*trace) - MAX_TRACE_BUF)) {\n\t\tp_err(\"\\t/* trace buffer size '%u' < min %ld */\",\n\t\t\tsize, sizeof(trace) - MAX_TRACE_BUF);\n\t\treturn;\n\t}\n\tprintf(\"%16lld %4d %8u %s(\\n\", trace->time, trace->cpu, trace->pid,\n\t       trace->func.name);\n\n\tfor (i = 0, shown = 0; i < trace->nr_traces; i++) {\n\t\tDECLARE_LIBBPF_OPTS(btf_dump_type_data_opts, opts);\n\t\tbool entry = trace->data_flags & KSNOOP_F_ENTRY;\n\t\tstruct value *val = &trace->traces[i];\n\t\tstruct trace_data *data = &trace->trace_data[i];\n\n\t\topts.indent_level = 36;\n\t\topts.indent_str = \" \";\n\n\t\t/* skip if it's entry data and trace data is for return, or\n\t\t * if it's return and trace data is entry; only exception in\n\t\t * the latter case is if we stashed data; in such cases we\n\t\t * want to see it as it's a mix of entry/return data with\n\t\t * predicates.\n \t\t */\n\t\tif ((entry && !base_arg_is_entry(val->base_arg)) ||\n\t\t    (!entry && base_arg_is_entry(val->base_arg) &&\n\t\t     !(trace->flags & KSNOOP_F_STASH)))\n\t\t\tcontinue;\n\n\t\tif (val->type_id == 0)\n\t\t\tcontinue;\n\n\t\tif (shown > 0)\n\t\t\tprintf(\",\\n\");\n\t\tprintf(\"%34s %s = \", \"\", val->name);\n\t\tif (val->flags & KSNOOP_F_PTR)\n\t\t\tprintf(\"*(0x%llx)\", data->raw_value);\n\t\tprintf(\"\\n\");\n\n\t\tif (data->err_type_id != 0) {\n\t\t\tchar typestr[MAX_STR];\n\n\t\t\tprintf(\"%36s /* Cannot show '%s' as '%s%s'; invalid/userspace ptr? */\\n\",\n\t\t\t       \"\",\n\t\t\t       val->name,\n\t\t\t       type_id_to_str(trace->btf,\n\t\t\t\t\t      val->type_id,\n\t\t\t\t\t      typestr),\n\t\t\t       val->flags & KSNOOP_F_PTR ?\n\t\t\t       \" *\" : \"\");\n\t\t} else {\n\t\t\tret = btf_dump__dump_type_data\n\t\t\t\t(trace->dump, val->type_id,\n\t\t\t\t trace->buf + data->buf_offset,\n\t\t\t\t data->buf_len, &opts);\n\t\t\t/* truncated? */\n\t\t\tif (ret == -E2BIG)\n\t\t\t\tprintf(\"%36s... /* %d bytes of %d */\", \"\",\n\t\t\t\t       data->buf_len,\n\t\t\t\t       val->size);\n\t\t}\n\t\tshown++;\n\n\t}\n\tprintf(\"\\n%31s);\\n\\n\", \"\");\n\tfflush(stdout);\n}\n\nstatic void lost_handler(void *ctx, int cpu, __u64 cnt)\n{\n\tp_err(\"\\t/* lost %llu events */\", cnt);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic int add_traces(struct bpf_map *func_map, struct trace *traces,\n\t\t      int nr_traces)\n{\n\tint i, j, ret, nr_cpus = libbpf_num_possible_cpus();\n\tstruct trace *map_traces;\n\n\tmap_traces = calloc(nr_cpus, sizeof(struct trace));\n\tif (!map_traces) {\n\t\tp_err(\"Could not allocate memory for %d traces\", nr_traces);\n\t\treturn -ENOMEM;\n\t}\n\tfor (i = 0; i < nr_traces; i++) {\n\t\tfor (j = 0; j < nr_cpus; j++)\n\t\t\tmemcpy(&map_traces[j], &traces[i],\n\t\t\t       sizeof(map_traces[j]));\n\n\t\tret = bpf_map_update_elem(bpf_map__fd(func_map),\n\t\t\t\t\t  &traces[i].func.ip,\n\t\t\t\t\t  map_traces,\n\t\t\t\t\t  BPF_NOEXIST);\n\t\tif (ret) {\n\t\t\tp_err(\"Could not add map entry for '%s': %s\",\n\t\t\t      traces[i].func.name, strerror(-ret));\n\t\t\tbreak;\n\t\t}\n\t}\n\tfree(map_traces);\n\treturn ret;\n}\n\nstatic int attach_traces(struct ksnoop_bpf *skel, struct trace *traces,\n\t\t\t int nr_traces)\n{\n\tint i, ret;\n\n\tfor (i = 0; i < nr_traces; i++) {\n\t\ttraces[i].links[0] =\n\t\t\tbpf_program__attach_kprobe(skel->progs.kprobe_entry,\n\t\t\t\t\t\t   false,\n\t\t\t\t\t\t   traces[i].func.name);\n\t\tif (!traces[i].links[0]) {\n\t\t\tret = -errno;\n\t\t\tp_err(\"Could not attach kprobe to '%s': %s\",\n\t\t\t      traces[i].func.name, strerror(-ret));\n\t\t\t\treturn ret;\n\t\t}\n\t\tp_debug(\"Attached kprobe for '%s'\", traces[i].func.name);\n\n\t\ttraces[i].links[1] =\n\t\t\tbpf_program__attach_kprobe(skel->progs.kprobe_return,\n\t\t\t\t\t\t   true,\n\t\t\t\t\t\t   traces[i].func.name);\n\t\tif (!traces[i].links[1]) {\n\t\t\tret = -errno;\n\t\t\tp_err(\"Could not attach kretprobe to '%s': %s\",\n\t\t\t      traces[i].func.name, strerror(-ret));\n\t\t\treturn ret;\n\t\t}\n\t\tp_debug(\"Attached kretprobe for '%s'\", traces[i].func.name);\n\t}\n\treturn 0;\n}\n\nstatic int cmd_trace(int argc, char **argv)\n{\n\tstruct bpf_map *perf_map, *func_map;\n\tstruct perf_buffer *pb = NULL;\n\tstruct ksnoop_bpf *skel;\n\tint i, nr_traces, ret = -1;\n\tstruct trace *traces = NULL;\n\n\tnr_traces = parse_traces(argc, argv, &traces);\n\tif (nr_traces < 0)\n\t\treturn nr_traces;\n\n\tskel = ksnoop_bpf__open_and_load();\n\tif (!skel) {\n\t\tret = -errno;\n\t\tp_err(\"Could not load ksnoop BPF: %s\", strerror(-ret));\n\t\treturn 1;\n\t}\n\n\tperf_map = skel->maps.ksnoop_perf_map;\n\tif (!perf_map) {\n\t\tp_err(\"Could not find '%s'\", \"ksnoop_perf_map\");\n\t\tgoto cleanup;\n\t}\n\tfunc_map = bpf_object__find_map_by_name(skel->obj, \"ksnoop_func_map\");\n\tif (!func_map) {\n\t\tp_err(\"Could not find '%s'\", \"ksnoop_func_map\");\n\t\tgoto cleanup;\n\t}\n\n\tif (add_traces(func_map, traces, nr_traces)) {\n\t\tp_err(\"Could not add traces to '%s'\", \"ksnoop_func_map\");\n\t\tgoto cleanup;\n\t}\n\n\tif (attach_traces(skel, traces, nr_traces)) {\n\t\tp_err(\"Could not attach %d traces\", nr_traces);\n\t\tgoto cleanup;\n\t}\n\n\tpb = perf_buffer__new(bpf_map__fd(perf_map), pages,\n\t\t\t      trace_handler, lost_handler, NULL, NULL);\n\tif (!pb) {\n\t\tret = -errno;\n\t\tp_err(\"Could not create perf buffer: %s\", strerror(-ret));\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"%16s %4s %8s %s\\n\", \"TIME\", \"CPU\", \"PID\", \"FUNCTION/ARGS\");\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\tfprintf(stderr, \"can't set signal handler: %s\\n\", strerror(errno));\n\t\tret = 1;\n\t\tgoto cleanup;\n\t}\n\n\twhile (!exiting) {\n\t\tret = perf_buffer__poll(pb, 1);\n\t\tif (ret < 0 && ret != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling perf buffer: %s\\n\", strerror(-ret));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset ret to return 0 if exiting */\n\t\tret = 0;\n\t}\n\ncleanup:\n\tfor (i = 0; i < nr_traces; i++) {\n\t\tbpf_link__destroy(traces[i].links[0]);\n\t\tbpf_link__destroy(traces[i].links[1]);\n\t}\n\tfree(traces);\n\tperf_buffer__free(pb);\n\tksnoop_bpf__destroy(skel);\n\n\treturn ret;\n}\n\nstruct cmd {\n\tconst char *cmd;\n\tint (*func)(int argc, char **argv);\n};\n\nstruct cmd cmds[] = {\n\t{ \"info\",\tcmd_info },\n\t{ \"trace\",\tcmd_trace },\n\t{ \"help\",\tcmd_help },\n\t{ NULL,\t\tNULL }\n};\n\nstatic int cmd_select(int argc, char **argv)\n{\n\tint i;\n\n\tfor (i = 0; cmds[i].cmd; i++) {\n\t\tif (strncmp(*argv, cmds[i].cmd, strlen(*argv)) == 0)\n\t\t\treturn cmds[i].func(argc - 1, argv + 1);\n\t}\n\treturn cmd_trace(argc, argv);\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nint main(int argc, char *argv[])\n{\n\tstatic const struct option options[] = {\n\t\t{ \"debug\",\tno_argument,\t\tNULL,\t'd' },\n\t\t{ \"verbose\",\tno_argument,\t\tNULL,\t'v' },\n\t\t{ \"help\",\tno_argument,\t\tNULL,\t'h' },\n\t\t{ \"version\",\tno_argument,\t\tNULL,\t'V' },\n\t\t{ \"pages\",\trequired_argument,\tNULL,\t'P' },\n\t\t{ \"pid\",\trequired_argument,\tNULL,\t'p' },\n\t\t{ 0 }\n\t};\n\tint opt;\n\n\tbin_name = argv[0];\n\n\twhile ((opt = getopt_long(argc, argv, \"dvhp:P:sV\", options,\n\t\t\t\t  NULL)) >= 0) {\n\t\tswitch (opt) {\n\t\tcase 'd':\n\t\t\tverbose = true;\n\t\t\tlog_level = DEBUG;\n\t\t\tbreak;\n\t\tcase 'v':\n\t\t\tverbose = true;\n\t\t\tlog_level = DEBUG;\n\t\t\tbreak;\n\t\tcase 'h':\n\t\t\treturn cmd_help(argc, argv);\n\t\tcase 'V':\n\t\t\treturn do_version(argc, argv);\n\t\tcase 'p':\n\t\t\tfilter_pid = atoi(optarg);\n\t\t\tbreak;\n\t\tcase 'P':\n\t\t\tpages = atoi(optarg);\n\t\t\tbreak;\n\t\tcase 's':\n\t\t\tstack_mode = true;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tp_err(\"unrecognized option '%s'\", argv[optind - 1]);\n\t\t\tusage();\n\t\t}\n\t}\n\tif (argc == 1)\n\t\tusage();\n\targc -= optind;\n\targv += optind;\n\tif (argc < 0)\n\t\tusage();\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\treturn cmd_select(argc, argv);\n}\n"
  },
  {
    "path": "libbpf-tools/ksnoop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021, Oracle and/or its affiliates. */\n\n/* maximum number of different functions we can trace at once */\n#define MAX_FUNC_TRACES\t\t\t64\n\nenum arg {\n\tKSNOOP_ARG1,\n\tKSNOOP_ARG2,\n\tKSNOOP_ARG3,\n\tKSNOOP_ARG4,\n\tKSNOOP_ARG5,\n\tKSNOOP_RETURN\n};\n\n/* we choose \"return\" as the name for the returned value because as\n * a C keyword it can't clash with a function entry parameter.\n */\n#define KSNOOP_RETURN_NAME\t\t\"return\"\n\n/* if we can't get a type id for a type (such as module-specific type)\n * mark it as KSNOOP_ID_UNKNOWN since BTF lookup in bpf_snprintf_btf()\n * will fail and the data will be simply displayed as a __u64.\n */\n#define KSNOOP_ID_UNKNOWN\t\t0xffffffff\n\n#define MAX_NAME\t\t\t96\n#define MAX_STR\t\t\t\t256\n#define MAX_PATH\t\t\t512\n#define MAX_VALUES\t\t\t6\n#define MAX_ARGS\t\t\t(MAX_VALUES - 1)\n#define KSNOOP_F_PTR\t\t\t0x1\t/* value is a pointer */\n#define KSNOOP_F_MEMBER\t\t\t0x2\t/* member reference */\n#define KSNOOP_F_ENTRY\t\t\t0x4\n#define KSNOOP_F_RETURN\t\t\t0x8\n#define KSNOOP_F_CUSTOM\t\t\t0x10\t/* custom trace */\n#define KSNOOP_F_STASH\t\t\t0x20\t/* store values on entry,\n\t\t\t\t\t\t * no perf events.\n\t\t\t\t\t\t */\n#define KSNOOP_F_STASHED\t\t0x40\t/* values stored on entry */\n\n#define KSNOOP_F_PREDICATE_EQ\t\t0x100\n#define KSNOOP_F_PREDICATE_NOTEQ\t0x200\n#define KSNOOP_F_PREDICATE_GT\t\t0x400\n#define KSNOOP_F_PREDICATE_LT\t\t0x800\n\n#define KSNOOP_F_PREDICATE_MASK\t\t(KSNOOP_F_PREDICATE_EQ | \\\n\t\t\t\t\t KSNOOP_F_PREDICATE_NOTEQ | \\\n\t\t\t\t\t KSNOOP_F_PREDICATE_GT | \\\n\t\t\t\t\t KSNOOP_F_PREDICATE_LT)\n\n/* for kprobes, entry is function IP + sizeof(kprobe_opcode_t),\n * subtract in BPF prog context to get fn address.\n */\n#ifdef __TARGET_ARCH_x86\n#define KSNOOP_IP_FIX(ip)\t\t(ip - sizeof(kprobe_opcode_t))\n#else\n#define KSNOOP_IP_FIX(ip)\t\tip\n#endif\n\nstruct value {\n\tchar name[MAX_STR];\n\tenum arg base_arg;\n\t__u32 offset;\n\t__u32 size;\n\t__u64 type_id;\n\t__u64 flags;\n\t__u64 predicate_value;\n};\n\nstruct func {\n\tchar name[MAX_NAME];\n\tchar mod[MAX_NAME];\n\t__s32 id;\n\t__u8 nr_args;\n\t__u64 ip;\n\tstruct value args[MAX_VALUES];\n};\n\n#define MAX_TRACES MAX_VALUES\n\n#define MAX_TRACE_DATA\t2048\n\nstruct trace_data {\n\t__u64 raw_value;\n\t__u32 err_type_id;\t/* type id we can't dereference */\n\tint err;\n\t__u32 buf_offset;\n\t__u16 buf_len;\n};\n\n#define MAX_TRACE_BUF\t(MAX_TRACES * MAX_TRACE_DATA)\n\nstruct trace {\n\t/* initial values are readonly in tracing context */\n\tstruct btf *btf;\n\tstruct btf_dump *dump;\n\tstruct func func;\n\tstruct bpf_link *links[2];\n\t__u8 nr_traces;\n\t__u32 filter_pid;\n\t__u64 prev_ip; /* these are used in stack-mode tracing */\n\t__u64 next_ip;\n\tstruct value traces[MAX_TRACES];\n\t__u64 flags;\n\t/* values below this point are set or modified in tracing context */\n\t__u64 task;\n\t__u32 pid;\n\t__u32 cpu;\n\t__u64 time;\n\t__u64 data_flags;\n\tstruct trace_data trace_data[MAX_TRACES];\n\t__u16 buf_len;\n\tchar buf[MAX_TRACE_BUF];\n\tchar buf_end[0];\n};\n\n#define PAGES_DEFAULT\t16\n\nstatic inline int base_arg_is_entry(enum arg base_arg)\n{\n\treturn base_arg != KSNOOP_RETURN;\n}\n"
  },
  {
    "path": "libbpf-tools/llcstat.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"maps.bpf.h\"\n#include \"llcstat.h\"\n\n#define MAX_ENTRIES\t10240\n\nconst volatile bool targ_per_thread = false;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct llcstat_key_info);\n\t__type(value, struct llcstat_value_info);\n} infos SEC(\".maps\");\n\nstatic __always_inline\nint trace_event(__u64 sample_period, bool miss)\n{\n\tstruct llcstat_key_info key = {};\n\tstruct llcstat_value_info *infop, zero = {};\n\n\tu64 pid_tgid = bpf_get_current_pid_tgid();\n\tkey.cpu = bpf_get_smp_processor_id();\n\tkey.pid = pid_tgid >> 32;\n\tif (targ_per_thread)\n\t\tkey.tid = (u32)pid_tgid;\n\telse\n\t\tkey.tid = key.pid;\n\n\tinfop = bpf_map_lookup_or_try_init(&infos, &key, &zero);\n\tif (!infop)\n\t\treturn 0;\n\tif (miss)\n\t\tinfop->miss += sample_period;\n\telse\n\t\tinfop->ref += sample_period;\n\tbpf_get_current_comm(infop->comm, sizeof(infop->comm));\n\n\treturn 0;\n}\n\nSEC(\"perf_event\")\nint on_cache_miss(struct bpf_perf_event_data *ctx)\n{\n\treturn trace_event(ctx->sample_period, true);\n}\n\nSEC(\"perf_event\")\nint on_cache_ref(struct bpf_perf_event_data *ctx)\n{\n\treturn trace_event(ctx->sample_period, false);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/llcstat.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on llcstat(8) from BCC by Teng Qin.\n// 29-Sep-2020   Wenbo Zhang   Created this.\n// 20-Jun-2022   YeZhengMao    Added tid info.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <unistd.h>\n#include <linux/perf_event.h>\n#include <asm/unistd.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"llcstat.h\"\n#include \"llcstat.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\nstruct env {\n\tint sample_period;\n\ttime_t duration;\n\tbool verbose;\n\tbool per_thread;\n} env = {\n\t.sample_period = 100,\n\t.duration = 10,\n};\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"llcstat 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize cache references and misses by PID.\\n\"\n\"\\n\"\n\"USAGE: llcstat [--help] [-c SAMPLE_PERIOD] [duration]\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"sample_period\", 'c', \"SAMPLE_PERIOD\", 0, \"Sample one in this many \"\n\t  \"number of cache reference / miss events\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"tid\", 't', NULL, 0,\n\t  \"Summarize cache references and misses by PID/TID\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 't':\n\t\tenv.per_thread = true;\n\t\tbreak;\n\tcase 'c':\n\t\terrno = 0;\n\t\tenv.sample_period = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid sample period\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tif (pos_args++) {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\terrno = 0;\n\t\tenv.duration = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid duration\\n\");\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int nr_cpus;\n\nstatic int open_and_attach_perf_event(__u64 config, int period,\n\t\t\t\tstruct bpf_program *prog,\n\t\t\t\tstruct bpf_link *links[])\n{\n\tstruct perf_event_attr attr = {\n\t\t.type = PERF_TYPE_HARDWARE,\n\t\t.freq = 0,\n\t\t.sample_period = period,\n\t\t.config = config,\n\t};\n\tint i, fd;\n\n\tfor (i = 0; i < nr_cpus; i++) {\n\t\tfd = syscall(__NR_perf_event_open, &attr, -1, i, -1, 0);\n\t\tif (fd < 0) {\n\t\t\t/* Ignore CPU that is offline */\n\t\t\tif (errno == ENODEV)\n\t\t\t\tcontinue;\n\t\t\tfprintf(stderr, \"failed to init perf sampling: %s\\n\",\n\t\t\t\tstrerror(errno));\n\t\t\treturn -1;\n\t\t}\n\t\tlinks[i] = bpf_program__attach_perf_event(prog, fd);\n\t\tif (!links[i]) {\n\t\t\tfprintf(stderr, \"failed to attach perf event on cpu: %d\\n\", i);\n\t\t\tclose(fd);\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic void print_map(struct bpf_map *map)\n{\n\t__u64 total_ref = 0, total_miss = 0, total_hit, hit;\n\t__u32 pid, cpu, tid;\n\tstruct llcstat_key_info lookup_key = { .cpu = -1 }, next_key;\n\tint err, fd = bpf_map__fd(map);\n\tstruct llcstat_value_info info;\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &info);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup infos: %d\\n\", err);\n\t\t\treturn;\n\t\t}\n\t\thit = info.ref > info.miss ? info.ref - info.miss : 0;\n\t\tcpu = next_key.cpu;\n\t\tpid = next_key.pid;\n\t\ttid = next_key.tid;\n\t\tprintf(\"%-8u \", pid);\n\t\tif (env.per_thread) {\n\t\t\tprintf(\"%-8u \", tid);\n\t\t}\n\t\tprintf(\"%-16s %-4u %12llu %12llu %6.2f%%\\n\",\n\t\t\tinfo.comm, cpu, info.ref, info.miss,\n\t\t\tinfo.ref > 0 ? hit * 1.0 / info.ref * 100 : 0);\n\t\ttotal_miss += info.miss;\n\t\ttotal_ref += info.ref;\n\t\tlookup_key = next_key;\n\t}\n\ttotal_hit = total_ref > total_miss ? total_ref - total_miss : 0;\n\tprintf(\"Total References: %llu Total Misses: %llu Hit Rate: %.2f%%\\n\",\n\t\ttotal_ref, total_miss, total_ref > 0 ?\n\t\ttotal_hit * 1.0 / total_ref * 100 : 0);\n\n\tlookup_key.cpu = -1;\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_delete_elem(fd, &next_key);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to cleanup infos: %d\\n\", err);\n\t\t\treturn;\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n}\n\nint main(int argc, char **argv)\n{\n\tstruct bpf_link **rlinks = NULL, **mlinks = NULL;\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct llcstat_bpf *obj;\n\tint err, i;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tnr_cpus = libbpf_num_possible_cpus();\n\tif (nr_cpus < 0) {\n\t\tfprintf(stderr, \"failed to get # of possible cpus: '%s'!\\n\",\n\t\t\tstrerror(-nr_cpus));\n\t\treturn 1;\n\t}\n\tmlinks = calloc(nr_cpus, sizeof(*mlinks));\n\trlinks = calloc(nr_cpus, sizeof(*rlinks));\n\tif (!mlinks || !rlinks) {\n\t\tfprintf(stderr, \"failed to alloc mlinks or rlinks\\n\");\n\t\treturn 1;\n\t}\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = llcstat_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open and/or load BPF object\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tobj->rodata->targ_per_thread = env.per_thread;\n\n\terr = llcstat_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (open_and_attach_perf_event(PERF_COUNT_HW_CACHE_MISSES,\n\t\t\t\t\tenv.sample_period,\n\t\t\t\t\tobj->progs.on_cache_miss, mlinks))\n\t\tgoto cleanup;\n\tif (open_and_attach_perf_event(PERF_COUNT_HW_CACHE_REFERENCES,\n\t\t\t\t\tenv.sample_period,\n\t\t\t\t\tobj->progs.on_cache_ref, rlinks))\n\t\tgoto cleanup;\n\n\tprintf(\"Running for %ld seconds or Hit Ctrl-C to end.\\n\", env.duration);\n\n\tsignal(SIGINT, sig_handler);\n\n\tsleep(env.duration);\n\n\tprintf(\"%-8s \", \"PID\");\n\tif (env.per_thread) {\n\t\tprintf(\"%-8s \", \"TID\");\n\t}\n\tprintf(\"%-16s %-4s %12s %12s %7s\\n\",\n\t\t\"NAME\", \"CPU\", \"REFERENCE\", \"MISS\", \"HIT%\");\n\n\tprint_map(obj->maps.infos);\n\ncleanup:\n\tfor (i = 0; i < nr_cpus; i++) {\n\t\tbpf_link__destroy(mlinks[i]);\n\t\tbpf_link__destroy(rlinks[i]);\n\t}\n\tfree(mlinks);\n\tfree(rlinks);\n\tllcstat_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/llcstat.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __LLCSTAT_H\n#define __LLCSTAT_H\n\n#define TASK_COMM_LEN\t16\n\nstruct llcstat_value_info {\n\t__u64 ref;\n\t__u64 miss;\n\tchar comm[TASK_COMM_LEN];\n};\n\nstruct llcstat_key_info {\n\t__u32 cpu;\n\t__u32 pid;\n\t__u32 tid;\n};\n\n#endif /* __LLCSTAT_H */\n"
  },
  {
    "path": "libbpf-tools/loongarch/vmlinux_614.h",
    "content": "#ifndef __VMLINUX_H__\n#define __VMLINUX_H__\n\n#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record)\n#endif\n\n#ifndef __ksym\n#define __ksym __attribute__((section(\".ksyms\")))\n#endif\n\n#ifndef __weak\n#define __weak __attribute__((weak))\n#endif\n\n#ifndef __bpf_fastcall\n#if __has_attribute(bpf_fastcall)\n#define __bpf_fastcall __attribute__((bpf_fastcall))\n#else\n#define __bpf_fastcall\n#endif\n#endif\n\nenum {\n\tACPI_BATTERY_ALARM_PRESENT = 0,\n\tACPI_BATTERY_XINFO_PRESENT = 1,\n\tACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY = 2,\n\tACPI_BATTERY_QUIRK_THINKPAD_MAH = 3,\n\tACPI_BATTERY_QUIRK_DEGRADED_FULL_CHARGE = 4,\n};\n\nenum {\n\tACPI_BUTTON_LID_INIT_IGNORE = 0,\n\tACPI_BUTTON_LID_INIT_OPEN = 1,\n\tACPI_BUTTON_LID_INIT_METHOD = 2,\n\tACPI_BUTTON_LID_INIT_DISABLED = 3,\n};\n\nenum {\n\tACPI_GENL_ATTR_UNSPEC = 0,\n\tACPI_GENL_ATTR_EVENT = 1,\n\t__ACPI_GENL_ATTR_MAX = 2,\n};\n\nenum {\n\tACPI_GENL_CMD_UNSPEC = 0,\n\tACPI_GENL_CMD_EVENT = 1,\n\t__ACPI_GENL_CMD_MAX = 2,\n};\n\nenum {\n\tACPI_REFCLASS_LOCAL = 0,\n\tACPI_REFCLASS_ARG = 1,\n\tACPI_REFCLASS_REFOF = 2,\n\tACPI_REFCLASS_INDEX = 3,\n\tACPI_REFCLASS_TABLE = 4,\n\tACPI_REFCLASS_NAME = 5,\n\tACPI_REFCLASS_DEBUG = 6,\n\tACPI_REFCLASS_MAX = 6,\n};\n\nenum {\n\tACPI_RSC_INITGET = 0,\n\tACPI_RSC_INITSET = 1,\n\tACPI_RSC_FLAGINIT = 2,\n\tACPI_RSC_1BITFLAG = 3,\n\tACPI_RSC_2BITFLAG = 4,\n\tACPI_RSC_3BITFLAG = 5,\n\tACPI_RSC_6BITFLAG = 6,\n\tACPI_RSC_ADDRESS = 7,\n\tACPI_RSC_BITMASK = 8,\n\tACPI_RSC_BITMASK16 = 9,\n\tACPI_RSC_COUNT = 10,\n\tACPI_RSC_COUNT16 = 11,\n\tACPI_RSC_COUNT_GPIO_PIN = 12,\n\tACPI_RSC_COUNT_GPIO_RES = 13,\n\tACPI_RSC_COUNT_GPIO_VEN = 14,\n\tACPI_RSC_COUNT_SERIAL_RES = 15,\n\tACPI_RSC_COUNT_SERIAL_VEN = 16,\n\tACPI_RSC_DATA8 = 17,\n\tACPI_RSC_EXIT_EQ = 18,\n\tACPI_RSC_EXIT_LE = 19,\n\tACPI_RSC_EXIT_NE = 20,\n\tACPI_RSC_LENGTH = 21,\n\tACPI_RSC_MOVE_GPIO_PIN = 22,\n\tACPI_RSC_MOVE_GPIO_RES = 23,\n\tACPI_RSC_MOVE_SERIAL_RES = 24,\n\tACPI_RSC_MOVE_SERIAL_VEN = 25,\n\tACPI_RSC_MOVE8 = 26,\n\tACPI_RSC_MOVE16 = 27,\n\tACPI_RSC_MOVE32 = 28,\n\tACPI_RSC_MOVE64 = 29,\n\tACPI_RSC_SET8 = 30,\n\tACPI_RSC_SOURCE = 31,\n\tACPI_RSC_SOURCEX = 32,\n};\n\nenum {\n\tACTION_FAIL = 0,\n\tACTION_REPREP = 1,\n\tACTION_DELAYED_REPREP = 2,\n\tACTION_RETRY = 3,\n\tACTION_DELAYED_RETRY = 4,\n};\n\nenum {\n\tAC_GRP_AUDIO_FUNCTION = 1,\n\tAC_GRP_MODEM_FUNCTION = 2,\n};\n\nenum {\n\tAC_JACK_LINE_OUT = 0,\n\tAC_JACK_SPEAKER = 1,\n\tAC_JACK_HP_OUT = 2,\n\tAC_JACK_CD = 3,\n\tAC_JACK_SPDIF_OUT = 4,\n\tAC_JACK_DIG_OTHER_OUT = 5,\n\tAC_JACK_MODEM_LINE_SIDE = 6,\n\tAC_JACK_MODEM_HAND_SIDE = 7,\n\tAC_JACK_LINE_IN = 8,\n\tAC_JACK_AUX = 9,\n\tAC_JACK_MIC_IN = 10,\n\tAC_JACK_TELEPHONY = 11,\n\tAC_JACK_SPDIF_IN = 12,\n\tAC_JACK_DIG_OTHER_IN = 13,\n\tAC_JACK_OTHER = 15,\n};\n\nenum {\n\tAC_JACK_LOC_EXTERNAL = 0,\n\tAC_JACK_LOC_INTERNAL = 16,\n\tAC_JACK_LOC_SEPARATE = 32,\n\tAC_JACK_LOC_OTHER = 48,\n};\n\nenum {\n\tAC_JACK_LOC_NONE = 0,\n\tAC_JACK_LOC_REAR = 1,\n\tAC_JACK_LOC_FRONT = 2,\n\tAC_JACK_LOC_LEFT = 3,\n\tAC_JACK_LOC_RIGHT = 4,\n\tAC_JACK_LOC_TOP = 5,\n\tAC_JACK_LOC_BOTTOM = 6,\n};\n\nenum {\n\tAC_JACK_LOC_REAR_PANEL = 7,\n\tAC_JACK_LOC_DRIVE_BAY = 8,\n\tAC_JACK_LOC_RISER = 23,\n\tAC_JACK_LOC_HDMI = 24,\n\tAC_JACK_LOC_ATAPI = 25,\n\tAC_JACK_LOC_MOBILE_IN = 55,\n\tAC_JACK_LOC_MOBILE_OUT = 56,\n};\n\nenum {\n\tAC_JACK_PORT_COMPLEX = 0,\n\tAC_JACK_PORT_NONE = 1,\n\tAC_JACK_PORT_FIXED = 2,\n\tAC_JACK_PORT_BOTH = 3,\n};\n\nenum {\n\tAC_WID_AUD_OUT = 0,\n\tAC_WID_AUD_IN = 1,\n\tAC_WID_AUD_MIX = 2,\n\tAC_WID_AUD_SEL = 3,\n\tAC_WID_PIN = 4,\n\tAC_WID_POWER = 5,\n\tAC_WID_VOL_KNB = 6,\n\tAC_WID_BEEP = 7,\n\tAC_WID_VENDOR = 15,\n};\n\nenum {\n\tAFFINITY = 0,\n\tAFFINITY_LIST = 1,\n\tEFFECTIVE = 2,\n\tEFFECTIVE_LIST = 3,\n};\n\nenum {\n\tAHCI_MAX_PORTS = 32,\n\tAHCI_MAX_SG = 168,\n\tAHCI_DMA_BOUNDARY = 4294967295,\n\tAHCI_MAX_CMDS = 32,\n\tAHCI_CMD_SZ = 32,\n\tAHCI_CMD_SLOT_SZ = 1024,\n\tAHCI_RX_FIS_SZ = 256,\n\tAHCI_CMD_TBL_CDB = 64,\n\tAHCI_CMD_TBL_HDR_SZ = 128,\n\tAHCI_CMD_TBL_SZ = 2816,\n\tAHCI_CMD_TBL_AR_SZ = 90112,\n\tAHCI_PORT_PRIV_DMA_SZ = 91392,\n\tAHCI_PORT_PRIV_FBS_DMA_SZ = 95232,\n\tAHCI_IRQ_ON_SG = 2147483648,\n\tAHCI_CMD_ATAPI = 32,\n\tAHCI_CMD_WRITE = 64,\n\tAHCI_CMD_PREFETCH = 128,\n\tAHCI_CMD_RESET = 256,\n\tAHCI_CMD_CLR_BUSY = 1024,\n\tRX_FIS_PIO_SETUP = 32,\n\tRX_FIS_D2H_REG = 64,\n\tRX_FIS_SDB = 88,\n\tRX_FIS_UNK = 96,\n\tHOST_CAP = 0,\n\tHOST_CTL = 4,\n\tHOST_IRQ_STAT = 8,\n\tHOST_PORTS_IMPL = 12,\n\tHOST_VERSION = 16,\n\tHOST_EM_LOC = 28,\n\tHOST_EM_CTL = 32,\n\tHOST_CAP2 = 36,\n\tHOST_RESET = 1,\n\tHOST_IRQ_EN = 2,\n\tHOST_MRSM = 4,\n\tHOST_AHCI_EN = 2147483648,\n\tHOST_CAP_SXS = 32,\n\tHOST_CAP_EMS = 64,\n\tHOST_CAP_CCC = 128,\n\tHOST_CAP_PART = 8192,\n\tHOST_CAP_SSC = 16384,\n\tHOST_CAP_PIO_MULTI = 32768,\n\tHOST_CAP_FBS = 65536,\n\tHOST_CAP_PMP = 131072,\n\tHOST_CAP_ONLY = 262144,\n\tHOST_CAP_CLO = 16777216,\n\tHOST_CAP_LED = 33554432,\n\tHOST_CAP_ALPM = 67108864,\n\tHOST_CAP_SSS = 134217728,\n\tHOST_CAP_MPS = 268435456,\n\tHOST_CAP_SNTF = 536870912,\n\tHOST_CAP_NCQ = 1073741824,\n\tHOST_CAP_64 = 2147483648,\n\tHOST_CAP2_BOH = 1,\n\tHOST_CAP2_NVMHCI = 2,\n\tHOST_CAP2_APST = 4,\n\tHOST_CAP2_SDS = 8,\n\tHOST_CAP2_SADM = 16,\n\tHOST_CAP2_DESO = 32,\n\tPORT_LST_ADDR = 0,\n\tPORT_LST_ADDR_HI = 4,\n\tPORT_FIS_ADDR = 8,\n\tPORT_FIS_ADDR_HI = 12,\n\tPORT_IRQ_STAT = 16,\n\tPORT_IRQ_MASK = 20,\n\tPORT_CMD = 24,\n\tPORT_TFDATA = 32,\n\tPORT_SIG = 36,\n\tPORT_CMD_ISSUE = 56,\n\tPORT_SCR_STAT = 40,\n\tPORT_SCR_CTL = 44,\n\tPORT_SCR_ERR = 48,\n\tPORT_SCR_ACT = 52,\n\tPORT_SCR_NTF = 60,\n\tPORT_FBS = 64,\n\tPORT_DEVSLP = 68,\n\tPORT_IRQ_COLD_PRES = 2147483648,\n\tPORT_IRQ_TF_ERR = 1073741824,\n\tPORT_IRQ_HBUS_ERR = 536870912,\n\tPORT_IRQ_HBUS_DATA_ERR = 268435456,\n\tPORT_IRQ_IF_ERR = 134217728,\n\tPORT_IRQ_IF_NONFATAL = 67108864,\n\tPORT_IRQ_OVERFLOW = 16777216,\n\tPORT_IRQ_BAD_PMP = 8388608,\n\tPORT_IRQ_PHYRDY = 4194304,\n\tPORT_IRQ_DMPS = 128,\n\tPORT_IRQ_CONNECT = 64,\n\tPORT_IRQ_SG_DONE = 32,\n\tPORT_IRQ_UNK_FIS = 16,\n\tPORT_IRQ_SDB_FIS = 8,\n\tPORT_IRQ_DMAS_FIS = 4,\n\tPORT_IRQ_PIOS_FIS = 2,\n\tPORT_IRQ_D2H_REG_FIS = 1,\n\tPORT_IRQ_FREEZE = 683671632,\n\tPORT_IRQ_ERROR = 2025848912,\n\tDEF_PORT_IRQ = 2025848959,\n\tPORT_CMD_ASP = 134217728,\n\tPORT_CMD_ALPE = 67108864,\n\tPORT_CMD_ATAPI = 16777216,\n\tPORT_CMD_FBSCP = 4194304,\n\tPORT_CMD_ESP = 2097152,\n\tPORT_CMD_CPD = 1048576,\n\tPORT_CMD_MPSP = 524288,\n\tPORT_CMD_HPCP = 262144,\n\tPORT_CMD_PMP = 131072,\n\tPORT_CMD_LIST_ON = 32768,\n\tPORT_CMD_FIS_ON = 16384,\n\tPORT_CMD_FIS_RX = 16,\n\tPORT_CMD_CLO = 8,\n\tPORT_CMD_POWER_ON = 4,\n\tPORT_CMD_SPIN_UP = 2,\n\tPORT_CMD_START = 1,\n\tPORT_CMD_ICC_MASK = 4026531840,\n\tPORT_CMD_ICC_ACTIVE = 268435456,\n\tPORT_CMD_ICC_PARTIAL = 536870912,\n\tPORT_CMD_ICC_SLUMBER = 1610612736,\n\tPORT_CMD_CAP = 8126464,\n\tPORT_FBS_DWE_OFFSET = 16,\n\tPORT_FBS_ADO_OFFSET = 12,\n\tPORT_FBS_DEV_OFFSET = 8,\n\tPORT_FBS_DEV_MASK = 3840,\n\tPORT_FBS_SDE = 4,\n\tPORT_FBS_DEC = 2,\n\tPORT_FBS_EN = 1,\n\tPORT_DEVSLP_DM_OFFSET = 25,\n\tPORT_DEVSLP_DM_MASK = 503316480,\n\tPORT_DEVSLP_DITO_OFFSET = 15,\n\tPORT_DEVSLP_MDAT_OFFSET = 10,\n\tPORT_DEVSLP_DETO_OFFSET = 2,\n\tPORT_DEVSLP_DSP = 2,\n\tPORT_DEVSLP_ADSE = 1,\n\tAHCI_HFLAG_NO_NCQ = 1,\n\tAHCI_HFLAG_IGN_IRQ_IF_ERR = 2,\n\tAHCI_HFLAG_IGN_SERR_INTERNAL = 4,\n\tAHCI_HFLAG_32BIT_ONLY = 8,\n\tAHCI_HFLAG_MV_PATA = 16,\n\tAHCI_HFLAG_NO_MSI = 32,\n\tAHCI_HFLAG_NO_PMP = 64,\n\tAHCI_HFLAG_SECT255 = 256,\n\tAHCI_HFLAG_YES_NCQ = 512,\n\tAHCI_HFLAG_NO_SUSPEND = 1024,\n\tAHCI_HFLAG_SRST_TOUT_IS_OFFLINE = 2048,\n\tAHCI_HFLAG_NO_SNTF = 4096,\n\tAHCI_HFLAG_NO_FPDMA_AA = 8192,\n\tAHCI_HFLAG_YES_FBS = 16384,\n\tAHCI_HFLAG_DELAY_ENGINE = 32768,\n\tAHCI_HFLAG_NO_DEVSLP = 131072,\n\tAHCI_HFLAG_NO_FBS = 262144,\n\tAHCI_HFLAG_MULTI_MSI = 1048576,\n\tAHCI_HFLAG_WAKE_BEFORE_STOP = 4194304,\n\tAHCI_HFLAG_YES_ALPM = 8388608,\n\tAHCI_HFLAG_NO_WRITE_TO_RO = 16777216,\n\tAHCI_HFLAG_SUSPEND_PHYS = 33554432,\n\tAHCI_HFLAG_NO_SXS = 67108864,\n\tAHCI_HFLAG_43BIT_ONLY = 134217728,\n\tAHCI_HFLAG_INTEL_PCS_QUIRK = 268435456,\n\tAHCI_FLAG_COMMON = 393346,\n\tICH_MAP = 144,\n\tPCS_6 = 146,\n\tPCS_7 = 148,\n\tEM_MAX_SLOTS = 15,\n\tEM_MAX_RETRY = 5,\n\tEM_CTL_RST = 512,\n\tEM_CTL_TM = 256,\n\tEM_CTL_MR = 1,\n\tEM_CTL_ALHD = 67108864,\n\tEM_CTL_XMT = 33554432,\n\tEM_CTL_SMB = 16777216,\n\tEM_CTL_SGPIO = 524288,\n\tEM_CTL_SES = 262144,\n\tEM_CTL_SAFTE = 131072,\n\tEM_CTL_LED = 65536,\n\tEM_MSG_TYPE_LED = 1,\n\tEM_MSG_TYPE_SAFTE = 2,\n\tEM_MSG_TYPE_SES2 = 4,\n\tEM_MSG_TYPE_SGPIO = 8,\n};\n\nenum {\n\tAHCI_PCI_BAR_STA2X11 = 0,\n\tAHCI_PCI_BAR_CAVIUM = 0,\n\tAHCI_PCI_BAR_LOONGSON = 0,\n\tAHCI_PCI_BAR_ENMOTUS = 2,\n\tAHCI_PCI_BAR_CAVIUM_GEN5 = 4,\n\tAHCI_PCI_BAR_STANDARD = 5,\n};\n\nenum {\n\tALC260_FIXUP_HP_DC5750 = 0,\n\tALC260_FIXUP_HP_PIN_0F = 1,\n\tALC260_FIXUP_COEF = 2,\n\tALC260_FIXUP_GPIO1 = 3,\n\tALC260_FIXUP_GPIO1_TOGGLE = 4,\n\tALC260_FIXUP_REPLACER = 5,\n\tALC260_FIXUP_HP_B1900 = 6,\n\tALC260_FIXUP_KN1 = 7,\n\tALC260_FIXUP_FSC_S7020 = 8,\n\tALC260_FIXUP_FSC_S7020_JWSE = 9,\n\tALC260_FIXUP_VAIO_PINS = 10,\n};\n\nenum {\n\tALC262_FIXUP_FSC_H270 = 0,\n\tALC262_FIXUP_FSC_S7110 = 1,\n\tALC262_FIXUP_HP_Z200 = 2,\n\tALC262_FIXUP_TYAN = 3,\n\tALC262_FIXUP_LENOVO_3000 = 4,\n\tALC262_FIXUP_BENQ = 5,\n\tALC262_FIXUP_BENQ_T31 = 6,\n\tALC262_FIXUP_INV_DMIC = 7,\n\tALC262_FIXUP_INTEL_BAYLEYBAY = 8,\n};\n\nenum {\n\tALC268_FIXUP_INV_DMIC = 0,\n\tALC268_FIXUP_HP_EAPD = 1,\n\tALC268_FIXUP_SPDIF = 2,\n};\n\nenum {\n\tALC269_FIXUP_GPIO2 = 0,\n\tALC269_FIXUP_SONY_VAIO = 1,\n\tALC275_FIXUP_SONY_VAIO_GPIO2 = 2,\n\tALC269_FIXUP_DELL_M101Z = 3,\n\tALC269_FIXUP_SKU_IGNORE = 4,\n\tALC269_FIXUP_ASUS_G73JW = 5,\n\tALC269_FIXUP_ASUS_N7601ZM_PINS = 6,\n\tALC269_FIXUP_ASUS_N7601ZM = 7,\n\tALC269_FIXUP_LENOVO_EAPD = 8,\n\tALC275_FIXUP_SONY_HWEQ = 9,\n\tALC275_FIXUP_SONY_DISABLE_AAMIX = 10,\n\tALC271_FIXUP_DMIC = 11,\n\tALC269_FIXUP_PCM_44K = 12,\n\tALC269_FIXUP_STEREO_DMIC = 13,\n\tALC269_FIXUP_HEADSET_MIC = 14,\n\tALC269_FIXUP_QUANTA_MUTE = 15,\n\tALC269_FIXUP_LIFEBOOK = 16,\n\tALC269_FIXUP_LIFEBOOK_EXTMIC = 17,\n\tALC269_FIXUP_LIFEBOOK_HP_PIN = 18,\n\tALC269_FIXUP_LIFEBOOK_NO_HP_TO_LINEOUT = 19,\n\tALC255_FIXUP_LIFEBOOK_U7x7_HEADSET_MIC = 20,\n\tALC269_FIXUP_AMIC = 21,\n\tALC269_FIXUP_DMIC = 22,\n\tALC269VB_FIXUP_AMIC = 23,\n\tALC269VB_FIXUP_DMIC = 24,\n\tALC269_FIXUP_HP_MUTE_LED = 25,\n\tALC269_FIXUP_HP_MUTE_LED_MIC1 = 26,\n\tALC269_FIXUP_HP_MUTE_LED_MIC2 = 27,\n\tALC269_FIXUP_HP_MUTE_LED_MIC3 = 28,\n\tALC269_FIXUP_HP_GPIO_LED = 29,\n\tALC269_FIXUP_HP_GPIO_MIC1_LED = 30,\n\tALC269_FIXUP_HP_LINE1_MIC1_LED = 31,\n\tALC269_FIXUP_INV_DMIC = 32,\n\tALC269_FIXUP_LENOVO_DOCK = 33,\n\tALC269_FIXUP_LENOVO_DOCK_LIMIT_BOOST = 34,\n\tALC269_FIXUP_NO_SHUTUP = 35,\n\tALC286_FIXUP_SONY_MIC_NO_PRESENCE = 36,\n\tALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT = 37,\n\tALC269_FIXUP_DELL1_MIC_NO_PRESENCE = 38,\n\tALC269_FIXUP_DELL1_LIMIT_INT_MIC_BOOST = 39,\n\tALC269_FIXUP_DELL2_MIC_NO_PRESENCE = 40,\n\tALC269_FIXUP_DELL3_MIC_NO_PRESENCE = 41,\n\tALC269_FIXUP_DELL4_MIC_NO_PRESENCE = 42,\n\tALC269_FIXUP_DELL4_MIC_NO_PRESENCE_QUIET = 43,\n\tALC269_FIXUP_HEADSET_MODE = 44,\n\tALC269_FIXUP_HEADSET_MODE_NO_HP_MIC = 45,\n\tALC269_FIXUP_ASPIRE_HEADSET_MIC = 46,\n\tALC269_FIXUP_ASUS_X101_FUNC = 47,\n\tALC269_FIXUP_ASUS_X101_VERB = 48,\n\tALC269_FIXUP_ASUS_X101 = 49,\n\tALC271_FIXUP_AMIC_MIC2 = 50,\n\tALC271_FIXUP_HP_GATE_MIC_JACK = 51,\n\tALC271_FIXUP_HP_GATE_MIC_JACK_E1_572 = 52,\n\tALC269_FIXUP_ACER_AC700 = 53,\n\tALC269_FIXUP_LIMIT_INT_MIC_BOOST = 54,\n\tALC269VB_FIXUP_ASUS_ZENBOOK = 55,\n\tALC269VB_FIXUP_ASUS_ZENBOOK_UX31A = 56,\n\tALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE = 57,\n\tALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED = 58,\n\tALC269VB_FIXUP_ORDISSIMO_EVE2 = 59,\n\tALC283_FIXUP_CHROME_BOOK = 60,\n\tALC283_FIXUP_SENSE_COMBO_JACK = 61,\n\tALC282_FIXUP_ASUS_TX300 = 62,\n\tALC283_FIXUP_INT_MIC = 63,\n\tALC290_FIXUP_MONO_SPEAKERS = 64,\n\tALC290_FIXUP_MONO_SPEAKERS_HSJACK = 65,\n\tALC290_FIXUP_SUBWOOFER = 66,\n\tALC290_FIXUP_SUBWOOFER_HSJACK = 67,\n\tALC295_FIXUP_HP_MUTE_LED_COEFBIT11 = 68,\n\tALC269_FIXUP_THINKPAD_ACPI = 69,\n\tALC269_FIXUP_LENOVO_XPAD_ACPI = 70,\n\tALC269_FIXUP_DMIC_THINKPAD_ACPI = 71,\n\tALC269VB_FIXUP_INFINIX_ZERO_BOOK_13 = 72,\n\tALC269VC_FIXUP_INFINIX_Y4_MAX = 73,\n\tALC269VB_FIXUP_CHUWI_COREBOOK_XPRO = 74,\n\tALC255_FIXUP_ACER_MIC_NO_PRESENCE = 75,\n\tALC255_FIXUP_ASUS_MIC_NO_PRESENCE = 76,\n\tALC255_FIXUP_DELL1_MIC_NO_PRESENCE = 77,\n\tALC255_FIXUP_DELL1_LIMIT_INT_MIC_BOOST = 78,\n\tALC255_FIXUP_DELL2_MIC_NO_PRESENCE = 79,\n\tALC255_FIXUP_HEADSET_MODE = 80,\n\tALC255_FIXUP_HEADSET_MODE_NO_HP_MIC = 81,\n\tALC293_FIXUP_DELL1_MIC_NO_PRESENCE = 82,\n\tALC292_FIXUP_TPT440_DOCK = 83,\n\tALC292_FIXUP_TPT440 = 84,\n\tALC283_FIXUP_HEADSET_MIC = 85,\n\tALC255_FIXUP_MIC_MUTE_LED = 86,\n\tALC282_FIXUP_ASPIRE_V5_PINS = 87,\n\tALC269VB_FIXUP_ASPIRE_E1_COEF = 88,\n\tALC280_FIXUP_HP_GPIO4 = 89,\n\tALC286_FIXUP_HP_GPIO_LED = 90,\n\tALC280_FIXUP_HP_GPIO2_MIC_HOTKEY = 91,\n\tALC280_FIXUP_HP_DOCK_PINS = 92,\n\tALC269_FIXUP_HP_DOCK_GPIO_MIC1_LED = 93,\n\tALC280_FIXUP_HP_9480M = 94,\n\tALC245_FIXUP_HP_X360_AMP = 95,\n\tALC285_FIXUP_HP_SPECTRE_X360_EB1 = 96,\n\tALC285_FIXUP_HP_ENVY_X360 = 97,\n\tALC288_FIXUP_DELL_HEADSET_MODE = 98,\n\tALC288_FIXUP_DELL1_MIC_NO_PRESENCE = 99,\n\tALC288_FIXUP_DELL_XPS_13 = 100,\n\tALC288_FIXUP_DISABLE_AAMIX = 101,\n\tALC292_FIXUP_DELL_E7X_AAMIX = 102,\n\tALC292_FIXUP_DELL_E7X = 103,\n\tALC292_FIXUP_DISABLE_AAMIX = 104,\n\tALC293_FIXUP_DISABLE_AAMIX_MULTIJACK = 105,\n\tALC298_FIXUP_ALIENWARE_MIC_NO_PRESENCE = 106,\n\tALC298_FIXUP_DELL1_MIC_NO_PRESENCE = 107,\n\tALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE = 108,\n\tALC275_FIXUP_DELL_XPS = 109,\n\tALC293_FIXUP_LENOVO_SPK_NOISE = 110,\n\tALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY = 111,\n\tALC233_FIXUP_LENOVO_L2MH_LOW_ENLED = 112,\n\tALC255_FIXUP_DELL_SPK_NOISE = 113,\n\tALC225_FIXUP_DISABLE_MIC_VREF = 114,\n\tALC225_FIXUP_DELL1_MIC_NO_PRESENCE = 115,\n\tALC295_FIXUP_DISABLE_DAC3 = 116,\n\tALC285_FIXUP_SPEAKER2_TO_DAC1 = 117,\n\tALC285_FIXUP_ASUS_SPEAKER2_TO_DAC1 = 118,\n\tALC285_FIXUP_ASUS_HEADSET_MIC = 119,\n\tALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS = 120,\n\tALC285_FIXUP_ASUS_I2C_SPEAKER2_TO_DAC1 = 121,\n\tALC285_FIXUP_ASUS_I2C_HEADSET_MIC = 122,\n\tALC280_FIXUP_HP_HEADSET_MIC = 123,\n\tALC221_FIXUP_HP_FRONT_MIC = 124,\n\tALC292_FIXUP_TPT460 = 125,\n\tALC298_FIXUP_SPK_VOLUME = 126,\n\tALC298_FIXUP_LENOVO_SPK_VOLUME = 127,\n\tALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER = 128,\n\tALC269_FIXUP_ATIV_BOOK_8 = 129,\n\tALC221_FIXUP_HP_288PRO_MIC_NO_PRESENCE = 130,\n\tALC221_FIXUP_HP_MIC_NO_PRESENCE = 131,\n\tALC256_FIXUP_ASUS_HEADSET_MODE = 132,\n\tALC256_FIXUP_ASUS_MIC = 133,\n\tALC256_FIXUP_ASUS_AIO_GPIO2 = 134,\n\tALC233_FIXUP_ASUS_MIC_NO_PRESENCE = 135,\n\tALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE = 136,\n\tALC233_FIXUP_LENOVO_MULTI_CODECS = 137,\n\tALC233_FIXUP_ACER_HEADSET_MIC = 138,\n\tALC294_FIXUP_LENOVO_MIC_LOCATION = 139,\n\tALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE = 140,\n\tALC225_FIXUP_S3_POP_NOISE = 141,\n\tALC700_FIXUP_INTEL_REFERENCE = 142,\n\tALC274_FIXUP_DELL_BIND_DACS = 143,\n\tALC274_FIXUP_DELL_AIO_LINEOUT_VERB = 144,\n\tALC298_FIXUP_TPT470_DOCK_FIX = 145,\n\tALC298_FIXUP_TPT470_DOCK = 146,\n\tALC255_FIXUP_DUMMY_LINEOUT_VERB = 147,\n\tALC255_FIXUP_DELL_HEADSET_MIC = 148,\n\tALC256_FIXUP_HUAWEI_MACH_WX9_PINS = 149,\n\tALC298_FIXUP_HUAWEI_MBX_STEREO = 150,\n\tALC295_FIXUP_HP_X360 = 151,\n\tALC221_FIXUP_HP_HEADSET_MIC = 152,\n\tALC285_FIXUP_LENOVO_HEADPHONE_NOISE = 153,\n\tALC295_FIXUP_HP_AUTO_MUTE = 154,\n\tALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE = 155,\n\tALC294_FIXUP_ASUS_MIC = 156,\n\tALC294_FIXUP_ASUS_HEADSET_MIC = 157,\n\tALC294_FIXUP_ASUS_SPK = 158,\n\tALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE = 159,\n\tALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE = 160,\n\tALC255_FIXUP_ACER_HEADSET_MIC = 161,\n\tALC295_FIXUP_CHROME_BOOK = 162,\n\tALC225_FIXUP_HEADSET_JACK = 163,\n\tALC225_FIXUP_DELL_WYSE_AIO_MIC_NO_PRESENCE = 164,\n\tALC225_FIXUP_WYSE_AUTO_MUTE = 165,\n\tALC225_FIXUP_WYSE_DISABLE_MIC_VREF = 166,\n\tALC286_FIXUP_ACER_AIO_HEADSET_MIC = 167,\n\tALC256_FIXUP_ASUS_HEADSET_MIC = 168,\n\tALC256_FIXUP_ASUS_MIC_NO_PRESENCE = 169,\n\tALC255_FIXUP_PREDATOR_SUBWOOFER = 170,\n\tALC299_FIXUP_PREDATOR_SPK = 171,\n\tALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE = 172,\n\tALC289_FIXUP_DELL_SPK1 = 173,\n\tALC289_FIXUP_DELL_SPK2 = 174,\n\tALC289_FIXUP_DUAL_SPK = 175,\n\tALC289_FIXUP_RTK_AMP_DUAL_SPK = 176,\n\tALC294_FIXUP_SPK2_TO_DAC1 = 177,\n\tALC294_FIXUP_ASUS_DUAL_SPK = 178,\n\tALC285_FIXUP_THINKPAD_X1_GEN7 = 179,\n\tALC285_FIXUP_THINKPAD_HEADSET_JACK = 180,\n\tALC294_FIXUP_ASUS_ALLY = 181,\n\tALC294_FIXUP_ASUS_ALLY_PINS = 182,\n\tALC294_FIXUP_ASUS_ALLY_VERBS = 183,\n\tALC294_FIXUP_ASUS_ALLY_SPEAKER = 184,\n\tALC294_FIXUP_ASUS_HPE = 185,\n\tALC294_FIXUP_ASUS_COEF_1B = 186,\n\tALC294_FIXUP_ASUS_GX502_HP = 187,\n\tALC294_FIXUP_ASUS_GX502_PINS = 188,\n\tALC294_FIXUP_ASUS_GX502_VERBS = 189,\n\tALC294_FIXUP_ASUS_GU502_HP = 190,\n\tALC294_FIXUP_ASUS_GU502_PINS = 191,\n\tALC294_FIXUP_ASUS_GU502_VERBS = 192,\n\tALC294_FIXUP_ASUS_G513_PINS = 193,\n\tALC285_FIXUP_ASUS_G533Z_PINS = 194,\n\tALC285_FIXUP_HP_GPIO_LED = 195,\n\tALC285_FIXUP_HP_MUTE_LED = 196,\n\tALC285_FIXUP_HP_SPECTRE_X360_MUTE_LED = 197,\n\tALC236_FIXUP_HP_MUTE_LED_COEFBIT2 = 198,\n\tALC236_FIXUP_HP_GPIO_LED = 199,\n\tALC236_FIXUP_HP_MUTE_LED = 200,\n\tALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF = 201,\n\tALC236_FIXUP_LENOVO_INV_DMIC = 202,\n\tALC298_FIXUP_SAMSUNG_AMP = 203,\n\tALC298_FIXUP_SAMSUNG_AMP_V2_2_AMPS = 204,\n\tALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS = 205,\n\tALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET = 206,\n\tALC256_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET = 207,\n\tALC295_FIXUP_ASUS_MIC_NO_PRESENCE = 208,\n\tALC269VC_FIXUP_ACER_VCOPPERBOX_PINS = 209,\n\tALC269VC_FIXUP_ACER_HEADSET_MIC = 210,\n\tALC269VC_FIXUP_ACER_MIC_NO_PRESENCE = 211,\n\tALC289_FIXUP_ASUS_GA401 = 212,\n\tALC289_FIXUP_ASUS_GA502 = 213,\n\tALC256_FIXUP_ACER_MIC_NO_PRESENCE = 214,\n\tALC285_FIXUP_HP_GPIO_AMP_INIT = 215,\n\tALC269_FIXUP_CZC_B20 = 216,\n\tALC269_FIXUP_CZC_TMI = 217,\n\tALC269_FIXUP_CZC_L101 = 218,\n\tALC269_FIXUP_LEMOTE_A1802 = 219,\n\tALC269_FIXUP_LEMOTE_A190X = 220,\n\tALC256_FIXUP_INTEL_NUC8_RUGGED = 221,\n\tALC233_FIXUP_INTEL_NUC8_DMIC = 222,\n\tALC233_FIXUP_INTEL_NUC8_BOOST = 223,\n\tALC256_FIXUP_INTEL_NUC10 = 224,\n\tALC255_FIXUP_XIAOMI_HEADSET_MIC = 225,\n\tALC274_FIXUP_HP_MIC = 226,\n\tALC274_FIXUP_HP_HEADSET_MIC = 227,\n\tALC274_FIXUP_HP_ENVY_GPIO = 228,\n\tALC274_FIXUP_ASUS_ZEN_AIO_27 = 229,\n\tALC256_FIXUP_ASUS_HPE = 230,\n\tALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK = 231,\n\tALC287_FIXUP_HP_GPIO_LED = 232,\n\tALC256_FIXUP_HP_HEADSET_MIC = 233,\n\tALC245_FIXUP_HP_GPIO_LED = 234,\n\tALC236_FIXUP_DELL_AIO_HEADSET_MIC = 235,\n\tALC282_FIXUP_ACER_DISABLE_LINEOUT = 236,\n\tALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST = 237,\n\tALC256_FIXUP_ACER_HEADSET_MIC = 238,\n\tALC285_FIXUP_IDEAPAD_S740_COEF = 239,\n\tALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST = 240,\n\tALC295_FIXUP_ASUS_DACS = 241,\n\tALC295_FIXUP_HP_OMEN = 242,\n\tALC285_FIXUP_HP_SPECTRE_X360 = 243,\n\tALC287_FIXUP_IDEAPAD_BASS_SPK_AMP = 244,\n\tALC623_FIXUP_LENOVO_THINKSTATION_P340 = 245,\n\tALC255_FIXUP_ACER_HEADPHONE_AND_MIC = 246,\n\tALC236_FIXUP_HP_LIMIT_INT_MIC_BOOST = 247,\n\tALC287_FIXUP_LEGION_15IMHG05_SPEAKERS = 248,\n\tALC287_FIXUP_LEGION_15IMHG05_AUTOMUTE = 249,\n\tALC287_FIXUP_YOGA7_14ITL_SPEAKERS = 250,\n\tALC298_FIXUP_LENOVO_C940_DUET7 = 251,\n\tALC287_FIXUP_13S_GEN2_SPEAKERS = 252,\n\tALC256_FIXUP_SET_COEF_DEFAULTS = 253,\n\tALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE = 254,\n\tALC233_FIXUP_NO_AUDIO_JACK = 255,\n\tALC256_FIXUP_MIC_NO_PRESENCE_AND_RESUME = 256,\n\tALC285_FIXUP_LEGION_Y9000X_SPEAKERS = 257,\n\tALC285_FIXUP_LEGION_Y9000X_AUTOMUTE = 258,\n\tALC287_FIXUP_LEGION_16ACHG6 = 259,\n\tALC287_FIXUP_CS35L41_I2C_2 = 260,\n\tALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED = 261,\n\tALC287_FIXUP_CS35L41_I2C_4 = 262,\n\tALC245_FIXUP_CS35L41_SPI_2 = 263,\n\tALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED = 264,\n\tALC245_FIXUP_CS35L41_SPI_4 = 265,\n\tALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED = 266,\n\tALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED = 267,\n\tALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE = 268,\n\tALC287_FIXUP_LEGION_16ITHG6 = 269,\n\tALC287_FIXUP_YOGA9_14IAP7_BASS_SPK = 270,\n\tALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN = 271,\n\tALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN = 272,\n\tALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS = 273,\n\tALC236_FIXUP_DELL_DUAL_CODECS = 274,\n\tALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI = 275,\n\tALC287_FIXUP_TAS2781_I2C = 276,\n\tALC245_FIXUP_TAS2781_SPI_2 = 277,\n\tALC287_FIXUP_YOGA7_14ARB7_I2C = 278,\n\tALC245_FIXUP_HP_MUTE_LED_COEFBIT = 279,\n\tALC245_FIXUP_HP_X360_MUTE_LEDS = 280,\n\tALC287_FIXUP_THINKPAD_I2S_SPK = 281,\n\tALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD = 282,\n\tALC2XX_FIXUP_HEADSET_MIC = 283,\n\tALC289_FIXUP_DELL_CS35L41_SPI_2 = 284,\n\tALC294_FIXUP_CS35L41_I2C_2 = 285,\n\tALC256_FIXUP_ACER_SFG16_MICMUTE_LED = 286,\n\tALC256_FIXUP_HEADPHONE_AMP_VOL = 287,\n\tALC245_FIXUP_HP_SPECTRE_X360_EU0XXX = 288,\n\tALC245_FIXUP_HP_SPECTRE_X360_16_AA0XXX = 289,\n\tALC285_FIXUP_ASUS_GA403U = 290,\n\tALC285_FIXUP_ASUS_GA403U_HEADSET_MIC = 291,\n\tALC285_FIXUP_ASUS_GA403U_I2C_SPEAKER2_TO_DAC1 = 292,\n\tALC285_FIXUP_ASUS_GU605_SPI_2_HEADSET_MIC = 293,\n\tALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1 = 294,\n\tALC287_FIXUP_LENOVO_THKPAD_WH_ALC1318 = 295,\n\tALC256_FIXUP_CHROME_BOOK = 296,\n\tALC245_FIXUP_CLEVO_NOISY_MIC = 297,\n\tALC269_FIXUP_VAIO_VJFH52_MIC_NO_PRESENCE = 298,\n\tALC233_FIXUP_MEDION_MTL_SPK = 299,\n\tALC294_FIXUP_BASS_SPEAKER_15 = 300,\n\tALC283_FIXUP_DELL_HP_RESUME = 301,\n};\n\nenum {\n\tALC269_TYPE_ALC269VA = 0,\n\tALC269_TYPE_ALC269VB = 1,\n\tALC269_TYPE_ALC269VC = 2,\n\tALC269_TYPE_ALC269VD = 3,\n\tALC269_TYPE_ALC280 = 4,\n\tALC269_TYPE_ALC282 = 5,\n\tALC269_TYPE_ALC283 = 6,\n\tALC269_TYPE_ALC284 = 7,\n\tALC269_TYPE_ALC293 = 8,\n\tALC269_TYPE_ALC286 = 9,\n\tALC269_TYPE_ALC298 = 10,\n\tALC269_TYPE_ALC255 = 11,\n\tALC269_TYPE_ALC256 = 12,\n\tALC269_TYPE_ALC257 = 13,\n\tALC269_TYPE_ALC215 = 14,\n\tALC269_TYPE_ALC225 = 15,\n\tALC269_TYPE_ALC245 = 16,\n\tALC269_TYPE_ALC287 = 17,\n\tALC269_TYPE_ALC294 = 18,\n\tALC269_TYPE_ALC300 = 19,\n\tALC269_TYPE_ALC623 = 20,\n\tALC269_TYPE_ALC700 = 21,\n};\n\nenum {\n\tALC660VD_FIX_ASUS_GPIO1 = 0,\n\tALC861VD_FIX_DALLAS = 1,\n};\n\nenum {\n\tALC662_FIXUP_ASPIRE = 0,\n\tALC662_FIXUP_LED_GPIO1 = 1,\n\tALC662_FIXUP_IDEAPAD = 2,\n\tALC272_FIXUP_MARIO = 3,\n\tALC662_FIXUP_CZC_ET26 = 4,\n\tALC662_FIXUP_CZC_P10T = 5,\n\tALC662_FIXUP_SKU_IGNORE = 6,\n\tALC662_FIXUP_HP_RP5800 = 7,\n\tALC662_FIXUP_ASUS_MODE1 = 8,\n\tALC662_FIXUP_ASUS_MODE2 = 9,\n\tALC662_FIXUP_ASUS_MODE3 = 10,\n\tALC662_FIXUP_ASUS_MODE4 = 11,\n\tALC662_FIXUP_ASUS_MODE5 = 12,\n\tALC662_FIXUP_ASUS_MODE6 = 13,\n\tALC662_FIXUP_ASUS_MODE7 = 14,\n\tALC662_FIXUP_ASUS_MODE8 = 15,\n\tALC662_FIXUP_NO_JACK_DETECT = 16,\n\tALC662_FIXUP_ZOTAC_Z68 = 17,\n\tALC662_FIXUP_INV_DMIC = 18,\n\tALC662_FIXUP_DELL_MIC_NO_PRESENCE = 19,\n\tALC668_FIXUP_DELL_MIC_NO_PRESENCE = 20,\n\tALC662_FIXUP_HEADSET_MODE = 21,\n\tALC668_FIXUP_HEADSET_MODE = 22,\n\tALC662_FIXUP_BASS_MODE4_CHMAP = 23,\n\tALC662_FIXUP_BASS_16 = 24,\n\tALC662_FIXUP_BASS_1A = 25,\n\tALC662_FIXUP_BASS_CHMAP = 26,\n\tALC668_FIXUP_AUTO_MUTE = 27,\n\tALC668_FIXUP_DELL_DISABLE_AAMIX = 28,\n\tALC668_FIXUP_DELL_XPS13 = 29,\n\tALC662_FIXUP_ASUS_Nx50 = 30,\n\tALC668_FIXUP_ASUS_Nx51_HEADSET_MODE = 31,\n\tALC668_FIXUP_ASUS_Nx51 = 32,\n\tALC668_FIXUP_MIC_COEF = 33,\n\tALC668_FIXUP_ASUS_G751 = 34,\n\tALC891_FIXUP_HEADSET_MODE = 35,\n\tALC891_FIXUP_DELL_MIC_NO_PRESENCE = 36,\n\tALC662_FIXUP_ACER_VERITON = 37,\n\tALC892_FIXUP_ASROCK_MOBO = 38,\n\tALC662_FIXUP_USI_FUNC = 39,\n\tALC662_FIXUP_USI_HEADSET_MODE = 40,\n\tALC662_FIXUP_LENOVO_MULTI_CODECS = 41,\n\tALC669_FIXUP_ACER_ASPIRE_ETHOS = 42,\n\tALC669_FIXUP_ACER_ASPIRE_ETHOS_HEADSET = 43,\n\tALC671_FIXUP_HP_HEADSET_MIC2 = 44,\n\tALC662_FIXUP_ACER_X2660G_HEADSET_MODE = 45,\n\tALC662_FIXUP_ACER_NITRO_HEADSET_MODE = 46,\n\tALC668_FIXUP_ASUS_NO_HEADSET_MIC = 47,\n\tALC668_FIXUP_HEADSET_MIC = 48,\n\tALC668_FIXUP_MIC_DET_COEF = 49,\n\tALC897_FIXUP_LENOVO_HEADSET_MIC = 50,\n\tALC897_FIXUP_HEADSET_MIC_PIN = 51,\n\tALC897_FIXUP_HP_HSMIC_VERB = 52,\n\tALC897_FIXUP_LENOVO_HEADSET_MODE = 53,\n\tALC897_FIXUP_HEADSET_MIC_PIN2 = 54,\n\tALC897_FIXUP_UNIS_H3C_X500S = 55,\n\tALC897_FIXUP_HEADSET_MIC_PIN3 = 56,\n};\n\nenum {\n\tALC861_FIXUP_FSC_AMILO_PI1505 = 0,\n\tALC861_FIXUP_AMP_VREF_0F = 1,\n\tALC861_FIXUP_NO_JACK_DETECT = 2,\n\tALC861_FIXUP_ASUS_A6RP = 3,\n\tALC660_FIXUP_ASUS_W7J = 4,\n};\n\nenum {\n\tALC880_FIXUP_GPIO1 = 0,\n\tALC880_FIXUP_GPIO2 = 1,\n\tALC880_FIXUP_MEDION_RIM = 2,\n\tALC880_FIXUP_LG = 3,\n\tALC880_FIXUP_LG_LW25 = 4,\n\tALC880_FIXUP_W810 = 5,\n\tALC880_FIXUP_EAPD_COEF = 6,\n\tALC880_FIXUP_TCL_S700 = 7,\n\tALC880_FIXUP_VOL_KNOB = 8,\n\tALC880_FIXUP_FUJITSU = 9,\n\tALC880_FIXUP_F1734 = 10,\n\tALC880_FIXUP_UNIWILL = 11,\n\tALC880_FIXUP_UNIWILL_DIG = 12,\n\tALC880_FIXUP_Z71V = 13,\n\tALC880_FIXUP_ASUS_W5A = 14,\n\tALC880_FIXUP_3ST_BASE = 15,\n\tALC880_FIXUP_3ST = 16,\n\tALC880_FIXUP_3ST_DIG = 17,\n\tALC880_FIXUP_5ST_BASE = 18,\n\tALC880_FIXUP_5ST = 19,\n\tALC880_FIXUP_5ST_DIG = 20,\n\tALC880_FIXUP_6ST_BASE = 21,\n\tALC880_FIXUP_6ST = 22,\n\tALC880_FIXUP_6ST_DIG = 23,\n\tALC880_FIXUP_6ST_AUTOMUTE = 24,\n};\n\nenum {\n\tALC882_FIXUP_ABIT_AW9D_MAX = 0,\n\tALC882_FIXUP_LENOVO_Y530 = 1,\n\tALC882_FIXUP_PB_M5210 = 2,\n\tALC882_FIXUP_ACER_ASPIRE_7736 = 3,\n\tALC882_FIXUP_ASUS_W90V = 4,\n\tALC889_FIXUP_CD = 5,\n\tALC889_FIXUP_FRONT_HP_NO_PRESENCE = 6,\n\tALC889_FIXUP_VAIO_TT = 7,\n\tALC888_FIXUP_EEE1601 = 8,\n\tALC886_FIXUP_EAPD = 9,\n\tALC882_FIXUP_EAPD = 10,\n\tALC883_FIXUP_EAPD = 11,\n\tALC883_FIXUP_ACER_EAPD = 12,\n\tALC882_FIXUP_GPIO1 = 13,\n\tALC882_FIXUP_GPIO2 = 14,\n\tALC882_FIXUP_GPIO3 = 15,\n\tALC889_FIXUP_COEF = 16,\n\tALC882_FIXUP_ASUS_W2JC = 17,\n\tALC882_FIXUP_ACER_ASPIRE_4930G = 18,\n\tALC882_FIXUP_ACER_ASPIRE_8930G = 19,\n\tALC882_FIXUP_ASPIRE_8930G_VERBS = 20,\n\tALC885_FIXUP_MACPRO_GPIO = 21,\n\tALC889_FIXUP_DAC_ROUTE = 22,\n\tALC889_FIXUP_MBP_VREF = 23,\n\tALC889_FIXUP_IMAC91_VREF = 24,\n\tALC889_FIXUP_MBA11_VREF = 25,\n\tALC889_FIXUP_MBA21_VREF = 26,\n\tALC889_FIXUP_MP11_VREF = 27,\n\tALC889_FIXUP_MP41_VREF = 28,\n\tALC882_FIXUP_INV_DMIC = 29,\n\tALC882_FIXUP_NO_PRIMARY_HP = 30,\n\tALC887_FIXUP_ASUS_BASS = 31,\n\tALC887_FIXUP_BASS_CHMAP = 32,\n\tALC1220_FIXUP_GB_DUAL_CODECS = 33,\n\tALC1220_FIXUP_GB_X570 = 34,\n\tALC1220_FIXUP_CLEVO_P950 = 35,\n\tALC1220_FIXUP_CLEVO_PB51ED = 36,\n\tALC1220_FIXUP_CLEVO_PB51ED_PINS = 37,\n\tALC887_FIXUP_ASUS_AUDIO = 38,\n\tALC887_FIXUP_ASUS_HMIC = 39,\n\tALCS1200A_FIXUP_MIC_VREF = 40,\n\tALC888VD_FIXUP_MIC_100VREF = 41,\n};\n\nenum {\n\tALC_HEADSET_MODE_UNKNOWN = 0,\n\tALC_HEADSET_MODE_UNPLUGGED = 1,\n\tALC_HEADSET_MODE_HEADSET = 2,\n\tALC_HEADSET_MODE_MIC = 3,\n\tALC_HEADSET_MODE_HEADPHONE = 4,\n};\n\nenum {\n\tALC_HEADSET_TYPE_UNKNOWN = 0,\n\tALC_HEADSET_TYPE_CTIA = 1,\n\tALC_HEADSET_TYPE_OMTP = 2,\n};\n\nenum {\n\tALC_INIT_UNDEFINED = 0,\n\tALC_INIT_NONE = 1,\n\tALC_INIT_DEFAULT = 2,\n};\n\nenum {\n\tALC_KEY_MICMUTE_INDEX = 0,\n};\n\nenum {\n\tAML_FIELD_ACCESS_ANY = 0,\n\tAML_FIELD_ACCESS_BYTE = 1,\n\tAML_FIELD_ACCESS_WORD = 2,\n\tAML_FIELD_ACCESS_DWORD = 3,\n\tAML_FIELD_ACCESS_QWORD = 4,\n\tAML_FIELD_ACCESS_BUFFER = 5,\n};\n\nenum {\n\tAML_FIELD_ATTRIB_QUICK = 2,\n\tAML_FIELD_ATTRIB_SEND_RECEIVE = 4,\n\tAML_FIELD_ATTRIB_BYTE = 6,\n\tAML_FIELD_ATTRIB_WORD = 8,\n\tAML_FIELD_ATTRIB_BLOCK = 10,\n\tAML_FIELD_ATTRIB_BYTES = 11,\n\tAML_FIELD_ATTRIB_PROCESS_CALL = 12,\n\tAML_FIELD_ATTRIB_BLOCK_PROCESS_CALL = 13,\n\tAML_FIELD_ATTRIB_RAW_BYTES = 14,\n\tAML_FIELD_ATTRIB_RAW_PROCESS_BYTES = 15,\n};\n\nenum {\n\tAML_FIELD_UPDATE_PRESERVE = 0,\n\tAML_FIELD_UPDATE_WRITE_AS_ONES = 32,\n\tAML_FIELD_UPDATE_WRITE_AS_ZEROS = 64,\n};\n\nenum {\n\tASCII_NULL = 0,\n\tASCII_BELL = 7,\n\tASCII_BACKSPACE = 8,\n\tASCII_IGNORE_FIRST = 8,\n\tASCII_HTAB = 9,\n\tASCII_LINEFEED = 10,\n\tASCII_VTAB = 11,\n\tASCII_FORMFEED = 12,\n\tASCII_CAR_RET = 13,\n\tASCII_IGNORE_LAST = 13,\n\tASCII_SHIFTOUT = 14,\n\tASCII_SHIFTIN = 15,\n\tASCII_CANCEL = 24,\n\tASCII_SUBSTITUTE = 26,\n\tASCII_ESCAPE = 27,\n\tASCII_CSI_IGNORE_FIRST = 32,\n\tASCII_CSI_IGNORE_LAST = 63,\n\tASCII_DEL = 127,\n\tASCII_EXT_CSI = 155,\n};\n\nenum {\n\tASSUME_PERFECT = 255,\n\tASSUME_VALID_DTB = 1,\n\tASSUME_VALID_INPUT = 2,\n\tASSUME_LATEST = 4,\n\tASSUME_NO_ROLLBACK = 8,\n\tASSUME_LIBFDT_ORDER = 16,\n\tASSUME_LIBFDT_FLAWLESS = 32,\n};\n\nenum {\n\tATA_EH_SPDN_NCQ_OFF = 1,\n\tATA_EH_SPDN_SPEED_DOWN = 2,\n\tATA_EH_SPDN_FALLBACK_TO_PIO = 4,\n\tATA_EH_SPDN_KEEP_ERRORS = 8,\n\tATA_EFLAG_IS_IO = 1,\n\tATA_EFLAG_DUBIOUS_XFER = 2,\n\tATA_EFLAG_OLD_ER = -2147483648,\n\tATA_ECAT_NONE = 0,\n\tATA_ECAT_ATA_BUS = 1,\n\tATA_ECAT_TOUT_HSM = 2,\n\tATA_ECAT_UNK_DEV = 3,\n\tATA_ECAT_DUBIOUS_NONE = 4,\n\tATA_ECAT_DUBIOUS_ATA_BUS = 5,\n\tATA_ECAT_DUBIOUS_TOUT_HSM = 6,\n\tATA_ECAT_DUBIOUS_UNK_DEV = 7,\n\tATA_ECAT_NR = 8,\n\tATA_EH_CMD_DFL_TIMEOUT = 5000,\n\tATA_EH_RESET_COOL_DOWN = 5000,\n\tATA_EH_PRERESET_TIMEOUT = 10000,\n\tATA_EH_FASTDRAIN_INTERVAL = 3000,\n\tATA_EH_UA_TRIES = 5,\n\tATA_EH_PROBE_TRIAL_INTERVAL = 60000,\n\tATA_EH_PROBE_TRIALS = 2,\n};\n\nenum {\n\tATA_MAX_DEVICES = 2,\n\tATA_MAX_PRD = 256,\n\tATA_SECT_SIZE = 512,\n\tATA_MAX_SECTORS_128 = 128,\n\tATA_MAX_SECTORS = 256,\n\tATA_MAX_SECTORS_1024 = 1024,\n\tATA_MAX_SECTORS_LBA48 = 65535,\n\tATA_MAX_SECTORS_TAPE = 65535,\n\tATA_MAX_TRIM_RNUM = 64,\n\tATA_ID_WORDS = 256,\n\tATA_ID_CONFIG = 0,\n\tATA_ID_CYLS = 1,\n\tATA_ID_HEADS = 3,\n\tATA_ID_SECTORS = 6,\n\tATA_ID_SERNO = 10,\n\tATA_ID_BUF_SIZE = 21,\n\tATA_ID_FW_REV = 23,\n\tATA_ID_PROD = 27,\n\tATA_ID_MAX_MULTSECT = 47,\n\tATA_ID_DWORD_IO = 48,\n\tATA_ID_TRUSTED = 48,\n\tATA_ID_CAPABILITY = 49,\n\tATA_ID_OLD_PIO_MODES = 51,\n\tATA_ID_OLD_DMA_MODES = 52,\n\tATA_ID_FIELD_VALID = 53,\n\tATA_ID_CUR_CYLS = 54,\n\tATA_ID_CUR_HEADS = 55,\n\tATA_ID_CUR_SECTORS = 56,\n\tATA_ID_MULTSECT = 59,\n\tATA_ID_LBA_CAPACITY = 60,\n\tATA_ID_SWDMA_MODES = 62,\n\tATA_ID_MWDMA_MODES = 63,\n\tATA_ID_PIO_MODES = 64,\n\tATA_ID_EIDE_DMA_MIN = 65,\n\tATA_ID_EIDE_DMA_TIME = 66,\n\tATA_ID_EIDE_PIO = 67,\n\tATA_ID_EIDE_PIO_IORDY = 68,\n\tATA_ID_ADDITIONAL_SUPP = 69,\n\tATA_ID_QUEUE_DEPTH = 75,\n\tATA_ID_SATA_CAPABILITY = 76,\n\tATA_ID_SATA_CAPABILITY_2 = 77,\n\tATA_ID_FEATURE_SUPP = 78,\n\tATA_ID_MAJOR_VER = 80,\n\tATA_ID_COMMAND_SET_1 = 82,\n\tATA_ID_COMMAND_SET_2 = 83,\n\tATA_ID_CFSSE = 84,\n\tATA_ID_CFS_ENABLE_1 = 85,\n\tATA_ID_CFS_ENABLE_2 = 86,\n\tATA_ID_CSF_DEFAULT = 87,\n\tATA_ID_UDMA_MODES = 88,\n\tATA_ID_HW_CONFIG = 93,\n\tATA_ID_SPG = 98,\n\tATA_ID_LBA_CAPACITY_2 = 100,\n\tATA_ID_SECTOR_SIZE = 106,\n\tATA_ID_WWN = 108,\n\tATA_ID_LOGICAL_SECTOR_SIZE = 117,\n\tATA_ID_COMMAND_SET_3 = 119,\n\tATA_ID_COMMAND_SET_4 = 120,\n\tATA_ID_LAST_LUN = 126,\n\tATA_ID_DLF = 128,\n\tATA_ID_CSFO = 129,\n\tATA_ID_CFA_POWER = 160,\n\tATA_ID_CFA_KEY_MGMT = 162,\n\tATA_ID_CFA_MODES = 163,\n\tATA_ID_DATA_SET_MGMT = 169,\n\tATA_ID_SCT_CMD_XPORT = 206,\n\tATA_ID_ROT_SPEED = 217,\n\tATA_ID_PIO4 = 2,\n\tATA_ID_SERNO_LEN = 20,\n\tATA_ID_FW_REV_LEN = 8,\n\tATA_ID_PROD_LEN = 40,\n\tATA_ID_WWN_LEN = 8,\n\tATA_PCI_CTL_OFS = 2,\n\tATA_PIO0 = 1,\n\tATA_PIO1 = 3,\n\tATA_PIO2 = 7,\n\tATA_PIO3 = 15,\n\tATA_PIO4 = 31,\n\tATA_PIO5 = 63,\n\tATA_PIO6 = 127,\n\tATA_PIO4_ONLY = 16,\n\tATA_SWDMA0 = 1,\n\tATA_SWDMA1 = 3,\n\tATA_SWDMA2 = 7,\n\tATA_SWDMA2_ONLY = 4,\n\tATA_MWDMA0 = 1,\n\tATA_MWDMA1 = 3,\n\tATA_MWDMA2 = 7,\n\tATA_MWDMA3 = 15,\n\tATA_MWDMA4 = 31,\n\tATA_MWDMA12_ONLY = 6,\n\tATA_MWDMA2_ONLY = 4,\n\tATA_UDMA0 = 1,\n\tATA_UDMA1 = 3,\n\tATA_UDMA2 = 7,\n\tATA_UDMA3 = 15,\n\tATA_UDMA4 = 31,\n\tATA_UDMA5 = 63,\n\tATA_UDMA6 = 127,\n\tATA_UDMA7 = 255,\n\tATA_UDMA24_ONLY = 20,\n\tATA_UDMA_MASK_40C = 7,\n\tATA_PRD_SZ = 8,\n\tATA_PRD_TBL_SZ = 2048,\n\tATA_PRD_EOT = -2147483648,\n\tATA_DMA_TABLE_OFS = 4,\n\tATA_DMA_STATUS = 2,\n\tATA_DMA_CMD = 0,\n\tATA_DMA_WR = 8,\n\tATA_DMA_START = 1,\n\tATA_DMA_INTR = 4,\n\tATA_DMA_ERR = 2,\n\tATA_DMA_ACTIVE = 1,\n\tATA_HOB = 128,\n\tATA_NIEN = 2,\n\tATA_LBA = 64,\n\tATA_DEV1 = 16,\n\tATA_DEVICE_OBS = 160,\n\tATA_DEVCTL_OBS = 8,\n\tATA_BUSY = 128,\n\tATA_DRDY = 64,\n\tATA_DF = 32,\n\tATA_DSC = 16,\n\tATA_DRQ = 8,\n\tATA_CORR = 4,\n\tATA_SENSE = 2,\n\tATA_ERR = 1,\n\tATA_SRST = 4,\n\tATA_ICRC = 128,\n\tATA_BBK = 128,\n\tATA_UNC = 64,\n\tATA_MC = 32,\n\tATA_IDNF = 16,\n\tATA_MCR = 8,\n\tATA_ABORTED = 4,\n\tATA_TRK0NF = 2,\n\tATA_AMNF = 1,\n\tATAPI_LFS = 240,\n\tATAPI_EOM = 2,\n\tATAPI_ILI = 1,\n\tATAPI_IO = 2,\n\tATAPI_COD = 1,\n\tATA_REG_DATA = 0,\n\tATA_REG_ERR = 1,\n\tATA_REG_NSECT = 2,\n\tATA_REG_LBAL = 3,\n\tATA_REG_LBAM = 4,\n\tATA_REG_LBAH = 5,\n\tATA_REG_DEVICE = 6,\n\tATA_REG_STATUS = 7,\n\tATA_REG_FEATURE = 1,\n\tATA_REG_CMD = 7,\n\tATA_REG_BYTEL = 4,\n\tATA_REG_BYTEH = 5,\n\tATA_REG_DEVSEL = 6,\n\tATA_REG_IRQ = 2,\n\tATA_CMD_DEV_RESET = 8,\n\tATA_CMD_CHK_POWER = 229,\n\tATA_CMD_STANDBY = 226,\n\tATA_CMD_IDLE = 227,\n\tATA_CMD_EDD = 144,\n\tATA_CMD_DOWNLOAD_MICRO = 146,\n\tATA_CMD_DOWNLOAD_MICRO_DMA = 147,\n\tATA_CMD_NOP = 0,\n\tATA_CMD_FLUSH = 231,\n\tATA_CMD_FLUSH_EXT = 234,\n\tATA_CMD_ID_ATA = 236,\n\tATA_CMD_ID_ATAPI = 161,\n\tATA_CMD_SERVICE = 162,\n\tATA_CMD_READ = 200,\n\tATA_CMD_READ_EXT = 37,\n\tATA_CMD_READ_QUEUED = 38,\n\tATA_CMD_READ_STREAM_EXT = 43,\n\tATA_CMD_READ_STREAM_DMA_EXT = 42,\n\tATA_CMD_WRITE = 202,\n\tATA_CMD_WRITE_EXT = 53,\n\tATA_CMD_WRITE_QUEUED = 54,\n\tATA_CMD_WRITE_STREAM_EXT = 59,\n\tATA_CMD_WRITE_STREAM_DMA_EXT = 58,\n\tATA_CMD_WRITE_FUA_EXT = 61,\n\tATA_CMD_WRITE_QUEUED_FUA_EXT = 62,\n\tATA_CMD_FPDMA_READ = 96,\n\tATA_CMD_FPDMA_WRITE = 97,\n\tATA_CMD_NCQ_NON_DATA = 99,\n\tATA_CMD_FPDMA_SEND = 100,\n\tATA_CMD_FPDMA_RECV = 101,\n\tATA_CMD_PIO_READ = 32,\n\tATA_CMD_PIO_READ_EXT = 36,\n\tATA_CMD_PIO_WRITE = 48,\n\tATA_CMD_PIO_WRITE_EXT = 52,\n\tATA_CMD_READ_MULTI = 196,\n\tATA_CMD_READ_MULTI_EXT = 41,\n\tATA_CMD_WRITE_MULTI = 197,\n\tATA_CMD_WRITE_MULTI_EXT = 57,\n\tATA_CMD_WRITE_MULTI_FUA_EXT = 206,\n\tATA_CMD_SET_FEATURES = 239,\n\tATA_CMD_SET_MULTI = 198,\n\tATA_CMD_PACKET = 160,\n\tATA_CMD_VERIFY = 64,\n\tATA_CMD_VERIFY_EXT = 66,\n\tATA_CMD_WRITE_UNCORR_EXT = 69,\n\tATA_CMD_STANDBYNOW1 = 224,\n\tATA_CMD_IDLEIMMEDIATE = 225,\n\tATA_CMD_SLEEP = 230,\n\tATA_CMD_INIT_DEV_PARAMS = 145,\n\tATA_CMD_READ_NATIVE_MAX = 248,\n\tATA_CMD_READ_NATIVE_MAX_EXT = 39,\n\tATA_CMD_SET_MAX = 249,\n\tATA_CMD_SET_MAX_EXT = 55,\n\tATA_CMD_READ_LOG_EXT = 47,\n\tATA_CMD_WRITE_LOG_EXT = 63,\n\tATA_CMD_READ_LOG_DMA_EXT = 71,\n\tATA_CMD_WRITE_LOG_DMA_EXT = 87,\n\tATA_CMD_TRUSTED_NONDATA = 91,\n\tATA_CMD_TRUSTED_RCV = 92,\n\tATA_CMD_TRUSTED_RCV_DMA = 93,\n\tATA_CMD_TRUSTED_SND = 94,\n\tATA_CMD_TRUSTED_SND_DMA = 95,\n\tATA_CMD_PMP_READ = 228,\n\tATA_CMD_PMP_READ_DMA = 233,\n\tATA_CMD_PMP_WRITE = 232,\n\tATA_CMD_PMP_WRITE_DMA = 235,\n\tATA_CMD_CONF_OVERLAY = 177,\n\tATA_CMD_SEC_SET_PASS = 241,\n\tATA_CMD_SEC_UNLOCK = 242,\n\tATA_CMD_SEC_ERASE_PREP = 243,\n\tATA_CMD_SEC_ERASE_UNIT = 244,\n\tATA_CMD_SEC_FREEZE_LOCK = 245,\n\tATA_CMD_SEC_DISABLE_PASS = 246,\n\tATA_CMD_CONFIG_STREAM = 81,\n\tATA_CMD_SMART = 176,\n\tATA_CMD_MEDIA_LOCK = 222,\n\tATA_CMD_MEDIA_UNLOCK = 223,\n\tATA_CMD_DSM = 6,\n\tATA_CMD_CHK_MED_CRD_TYP = 209,\n\tATA_CMD_CFA_REQ_EXT_ERR = 3,\n\tATA_CMD_CFA_WRITE_NE = 56,\n\tATA_CMD_CFA_TRANS_SECT = 135,\n\tATA_CMD_CFA_ERASE = 192,\n\tATA_CMD_CFA_WRITE_MULT_NE = 205,\n\tATA_CMD_REQ_SENSE_DATA = 11,\n\tATA_CMD_SANITIZE_DEVICE = 180,\n\tATA_CMD_ZAC_MGMT_IN = 74,\n\tATA_CMD_ZAC_MGMT_OUT = 159,\n\tATA_CMD_RESTORE = 16,\n\tATA_SUBCMD_FPDMA_RECV_RD_LOG_DMA_EXT = 1,\n\tATA_SUBCMD_FPDMA_RECV_ZAC_MGMT_IN = 2,\n\tATA_SUBCMD_FPDMA_SEND_DSM = 0,\n\tATA_SUBCMD_FPDMA_SEND_WR_LOG_DMA_EXT = 2,\n\tATA_SUBCMD_NCQ_NON_DATA_ABORT_QUEUE = 0,\n\tATA_SUBCMD_NCQ_NON_DATA_SET_FEATURES = 5,\n\tATA_SUBCMD_NCQ_NON_DATA_ZERO_EXT = 6,\n\tATA_SUBCMD_NCQ_NON_DATA_ZAC_MGMT_OUT = 7,\n\tATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES = 0,\n\tATA_SUBCMD_ZAC_MGMT_OUT_CLOSE_ZONE = 1,\n\tATA_SUBCMD_ZAC_MGMT_OUT_FINISH_ZONE = 2,\n\tATA_SUBCMD_ZAC_MGMT_OUT_OPEN_ZONE = 3,\n\tATA_SUBCMD_ZAC_MGMT_OUT_RESET_WRITE_POINTER = 4,\n\tATA_LOG_DIRECTORY = 0,\n\tATA_LOG_SATA_NCQ = 16,\n\tATA_LOG_NCQ_NON_DATA = 18,\n\tATA_LOG_NCQ_SEND_RECV = 19,\n\tATA_LOG_CDL = 24,\n\tATA_LOG_CDL_SIZE = 512,\n\tATA_LOG_IDENTIFY_DEVICE = 48,\n\tATA_LOG_SENSE_NCQ = 15,\n\tATA_LOG_SENSE_NCQ_SIZE = 1024,\n\tATA_LOG_CONCURRENT_POSITIONING_RANGES = 71,\n\tATA_LOG_SUPPORTED_CAPABILITIES = 3,\n\tATA_LOG_CURRENT_SETTINGS = 4,\n\tATA_LOG_SECURITY = 6,\n\tATA_LOG_SATA_SETTINGS = 8,\n\tATA_LOG_ZONED_INFORMATION = 9,\n\tATA_LOG_DEVSLP_OFFSET = 48,\n\tATA_LOG_DEVSLP_SIZE = 8,\n\tATA_LOG_DEVSLP_MDAT = 0,\n\tATA_LOG_DEVSLP_MDAT_MASK = 31,\n\tATA_LOG_DEVSLP_DETO = 1,\n\tATA_LOG_DEVSLP_VALID = 7,\n\tATA_LOG_DEVSLP_VALID_MASK = 128,\n\tATA_LOG_NCQ_PRIO_OFFSET = 9,\n\tATA_LOG_NCQ_SEND_RECV_SUBCMDS_OFFSET = 0,\n\tATA_LOG_NCQ_SEND_RECV_SUBCMDS_DSM = 1,\n\tATA_LOG_NCQ_SEND_RECV_DSM_OFFSET = 4,\n\tATA_LOG_NCQ_SEND_RECV_DSM_TRIM = 1,\n\tATA_LOG_NCQ_SEND_RECV_RD_LOG_OFFSET = 8,\n\tATA_LOG_NCQ_SEND_RECV_RD_LOG_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_WR_LOG_OFFSET = 12,\n\tATA_LOG_NCQ_SEND_RECV_WR_LOG_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OFFSET = 16,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OUT_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_IN_SUPPORTED = 2,\n\tATA_LOG_NCQ_SEND_RECV_SIZE = 20,\n\tATA_LOG_NCQ_NON_DATA_SUBCMDS_OFFSET = 0,\n\tATA_LOG_NCQ_NON_DATA_ABORT_OFFSET = 0,\n\tATA_LOG_NCQ_NON_DATA_ABORT_NCQ = 1,\n\tATA_LOG_NCQ_NON_DATA_ABORT_ALL = 2,\n\tATA_LOG_NCQ_NON_DATA_ABORT_STREAMING = 4,\n\tATA_LOG_NCQ_NON_DATA_ABORT_NON_STREAMING = 8,\n\tATA_LOG_NCQ_NON_DATA_ABORT_SELECTED = 16,\n\tATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OFFSET = 28,\n\tATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OUT = 1,\n\tATA_LOG_NCQ_NON_DATA_SIZE = 64,\n\tATA_CMD_READ_LONG = 34,\n\tATA_CMD_READ_LONG_ONCE = 35,\n\tATA_CMD_WRITE_LONG = 50,\n\tATA_CMD_WRITE_LONG_ONCE = 51,\n\tSETFEATURES_XFER = 3,\n\tXFER_UDMA_7 = 71,\n\tXFER_UDMA_6 = 70,\n\tXFER_UDMA_5 = 69,\n\tXFER_UDMA_4 = 68,\n\tXFER_UDMA_3 = 67,\n\tXFER_UDMA_2 = 66,\n\tXFER_UDMA_1 = 65,\n\tXFER_UDMA_0 = 64,\n\tXFER_MW_DMA_4 = 36,\n\tXFER_MW_DMA_3 = 35,\n\tXFER_MW_DMA_2 = 34,\n\tXFER_MW_DMA_1 = 33,\n\tXFER_MW_DMA_0 = 32,\n\tXFER_SW_DMA_2 = 18,\n\tXFER_SW_DMA_1 = 17,\n\tXFER_SW_DMA_0 = 16,\n\tXFER_PIO_6 = 14,\n\tXFER_PIO_5 = 13,\n\tXFER_PIO_4 = 12,\n\tXFER_PIO_3 = 11,\n\tXFER_PIO_2 = 10,\n\tXFER_PIO_1 = 9,\n\tXFER_PIO_0 = 8,\n\tXFER_PIO_SLOW = 0,\n\tSETFEATURES_WC_ON = 2,\n\tSETFEATURES_WC_OFF = 130,\n\tSETFEATURES_RA_ON = 170,\n\tSETFEATURES_RA_OFF = 85,\n\tSETFEATURES_AAM_ON = 66,\n\tSETFEATURES_AAM_OFF = 194,\n\tSETFEATURES_SPINUP = 7,\n\tSETFEATURES_SPINUP_TIMEOUT = 30000,\n\tSETFEATURES_SATA_ENABLE = 16,\n\tSETFEATURES_SATA_DISABLE = 144,\n\tSETFEATURES_CDL = 13,\n\tSATA_FPDMA_OFFSET = 1,\n\tSATA_FPDMA_AA = 2,\n\tSATA_DIPM = 3,\n\tSATA_FPDMA_IN_ORDER = 4,\n\tSATA_AN = 5,\n\tSATA_SSP = 6,\n\tSATA_DEVSLP = 9,\n\tSETFEATURE_SENSE_DATA = 195,\n\tSETFEATURE_SENSE_DATA_SUCC_NCQ = 196,\n\tATA_SET_MAX_ADDR = 0,\n\tATA_SET_MAX_PASSWD = 1,\n\tATA_SET_MAX_LOCK = 2,\n\tATA_SET_MAX_UNLOCK = 3,\n\tATA_SET_MAX_FREEZE_LOCK = 4,\n\tATA_SET_MAX_PASSWD_DMA = 5,\n\tATA_SET_MAX_UNLOCK_DMA = 6,\n\tATA_DCO_RESTORE = 192,\n\tATA_DCO_FREEZE_LOCK = 193,\n\tATA_DCO_IDENTIFY = 194,\n\tATA_DCO_SET = 195,\n\tATA_SMART_ENABLE = 216,\n\tATA_SMART_READ_VALUES = 208,\n\tATA_SMART_READ_THRESHOLDS = 209,\n\tATA_DSM_TRIM = 1,\n\tATA_SMART_LBAM_PASS = 79,\n\tATA_SMART_LBAH_PASS = 194,\n\tATAPI_PKT_DMA = 1,\n\tATAPI_DMADIR = 4,\n\tATAPI_CDB_LEN = 16,\n\tSATA_PMP_MAX_PORTS = 15,\n\tSATA_PMP_CTRL_PORT = 15,\n\tSATA_PMP_GSCR_DWORDS = 128,\n\tSATA_PMP_GSCR_PROD_ID = 0,\n\tSATA_PMP_GSCR_REV = 1,\n\tSATA_PMP_GSCR_PORT_INFO = 2,\n\tSATA_PMP_GSCR_ERROR = 32,\n\tSATA_PMP_GSCR_ERROR_EN = 33,\n\tSATA_PMP_GSCR_FEAT = 64,\n\tSATA_PMP_GSCR_FEAT_EN = 96,\n\tSATA_PMP_PSCR_STATUS = 0,\n\tSATA_PMP_PSCR_ERROR = 1,\n\tSATA_PMP_PSCR_CONTROL = 2,\n\tSATA_PMP_FEAT_BIST = 1,\n\tSATA_PMP_FEAT_PMREQ = 2,\n\tSATA_PMP_FEAT_DYNSSC = 4,\n\tSATA_PMP_FEAT_NOTIFY = 8,\n\tATA_CBL_NONE = 0,\n\tATA_CBL_PATA40 = 1,\n\tATA_CBL_PATA80 = 2,\n\tATA_CBL_PATA40_SHORT = 3,\n\tATA_CBL_PATA_UNK = 4,\n\tATA_CBL_PATA_IGN = 5,\n\tATA_CBL_SATA = 6,\n\tSCR_STATUS = 0,\n\tSCR_ERROR = 1,\n\tSCR_CONTROL = 2,\n\tSCR_ACTIVE = 3,\n\tSCR_NOTIFICATION = 4,\n\tSERR_DATA_RECOVERED = 1,\n\tSERR_COMM_RECOVERED = 2,\n\tSERR_DATA = 256,\n\tSERR_PERSISTENT = 512,\n\tSERR_PROTOCOL = 1024,\n\tSERR_INTERNAL = 2048,\n\tSERR_PHYRDY_CHG = 65536,\n\tSERR_PHY_INT_ERR = 131072,\n\tSERR_COMM_WAKE = 262144,\n\tSERR_10B_8B_ERR = 524288,\n\tSERR_DISPARITY = 1048576,\n\tSERR_CRC = 2097152,\n\tSERR_HANDSHAKE = 4194304,\n\tSERR_LINK_SEQ_ERR = 8388608,\n\tSERR_TRANS_ST_ERROR = 16777216,\n\tSERR_UNRECOG_FIS = 33554432,\n\tSERR_DEV_XCHG = 67108864,\n};\n\nenum {\n\tATA_READID_POSTRESET = 1,\n\tATA_DNXFER_PIO = 0,\n\tATA_DNXFER_DMA = 1,\n\tATA_DNXFER_40C = 2,\n\tATA_DNXFER_FORCE_PIO = 3,\n\tATA_DNXFER_FORCE_PIO0 = 4,\n\tATA_DNXFER_QUIET = -2147483648,\n};\n\nenum {\n\tATIIXP_IDE_PIO_TIMING = 64,\n\tATIIXP_IDE_MWDMA_TIMING = 68,\n\tATIIXP_IDE_PIO_CONTROL = 72,\n\tATIIXP_IDE_PIO_MODE = 74,\n\tATIIXP_IDE_UDMA_CONTROL = 84,\n\tATIIXP_IDE_UDMA_MODE = 86,\n};\n\nenum {\n\tAT_PKT_END = -1,\n\tBEYOND_PKT_END = -2,\n};\n\nenum {\n\tAUTOFS_DEV_IOCTL_VERSION_CMD = 113,\n\tAUTOFS_DEV_IOCTL_PROTOVER_CMD = 114,\n\tAUTOFS_DEV_IOCTL_PROTOSUBVER_CMD = 115,\n\tAUTOFS_DEV_IOCTL_OPENMOUNT_CMD = 116,\n\tAUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD = 117,\n\tAUTOFS_DEV_IOCTL_READY_CMD = 118,\n\tAUTOFS_DEV_IOCTL_FAIL_CMD = 119,\n\tAUTOFS_DEV_IOCTL_SETPIPEFD_CMD = 120,\n\tAUTOFS_DEV_IOCTL_CATATONIC_CMD = 121,\n\tAUTOFS_DEV_IOCTL_TIMEOUT_CMD = 122,\n\tAUTOFS_DEV_IOCTL_REQUESTER_CMD = 123,\n\tAUTOFS_DEV_IOCTL_EXPIRE_CMD = 124,\n\tAUTOFS_DEV_IOCTL_ASKUMOUNT_CMD = 125,\n\tAUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD = 126,\n};\n\nenum {\n\tAUTOFS_IOC_EXPIRE_MULTI_CMD = 102,\n\tAUTOFS_IOC_PROTOSUBVER_CMD = 103,\n\tAUTOFS_IOC_ASKUMOUNT_CMD = 112,\n};\n\nenum {\n\tAUTOFS_IOC_READY_CMD = 96,\n\tAUTOFS_IOC_FAIL_CMD = 97,\n\tAUTOFS_IOC_CATATONIC_CMD = 98,\n\tAUTOFS_IOC_PROTOVER_CMD = 99,\n\tAUTOFS_IOC_SETTIMEOUT_CMD = 100,\n\tAUTOFS_IOC_EXPIRE_CMD = 101,\n};\n\nenum {\n\tAUTOP_INVALID = 0,\n\tAUTOP_HDD = 1,\n\tAUTOP_SSD_QD1 = 2,\n\tAUTOP_SSD_DFL = 3,\n\tAUTOP_SSD_FAST = 4,\n};\n\nenum {\n\tAUTO_PIN_LINE_OUT = 0,\n\tAUTO_PIN_SPEAKER_OUT = 1,\n\tAUTO_PIN_HP_OUT = 2,\n};\n\nenum {\n\tAUTO_PIN_MIC = 0,\n\tAUTO_PIN_LINE_IN = 1,\n\tAUTO_PIN_CD = 2,\n\tAUTO_PIN_AUX = 3,\n\tAUTO_PIN_LAST = 4,\n};\n\nenum {\n\tAX25_VALUES_IPDEFMODE = 0,\n\tAX25_VALUES_AXDEFMODE = 1,\n\tAX25_VALUES_BACKOFF = 2,\n\tAX25_VALUES_CONMODE = 3,\n\tAX25_VALUES_WINDOW = 4,\n\tAX25_VALUES_EWINDOW = 5,\n\tAX25_VALUES_T1 = 6,\n\tAX25_VALUES_T2 = 7,\n\tAX25_VALUES_T3 = 8,\n\tAX25_VALUES_IDLE = 9,\n\tAX25_VALUES_N2 = 10,\n\tAX25_VALUES_PACLEN = 11,\n\tAX25_VALUES_PROTOCOL = 12,\n\tAX25_MAX_VALUES = 13,\n};\n\nenum {\n\tAZX_DRIVER_ICH = 0,\n\tAZX_DRIVER_PCH = 1,\n\tAZX_DRIVER_SCH = 2,\n\tAZX_DRIVER_SKL = 3,\n\tAZX_DRIVER_HDMI = 4,\n\tAZX_DRIVER_ATI = 5,\n\tAZX_DRIVER_ATIHDMI = 6,\n\tAZX_DRIVER_ATIHDMI_NS = 7,\n\tAZX_DRIVER_GFHDMI = 8,\n\tAZX_DRIVER_VIA = 9,\n\tAZX_DRIVER_SIS = 10,\n\tAZX_DRIVER_ULI = 11,\n\tAZX_DRIVER_NVIDIA = 12,\n\tAZX_DRIVER_TERA = 13,\n\tAZX_DRIVER_CTX = 14,\n\tAZX_DRIVER_CTHDA = 15,\n\tAZX_DRIVER_CMEDIA = 16,\n\tAZX_DRIVER_ZHAOXIN = 17,\n\tAZX_DRIVER_LOONGSON = 18,\n\tAZX_DRIVER_GENERIC = 19,\n\tAZX_NUM_DRIVERS = 20,\n};\n\nenum {\n\tAZX_SNOOP_TYPE_NONE = 0,\n\tAZX_SNOOP_TYPE_SCH = 1,\n\tAZX_SNOOP_TYPE_ATI = 2,\n\tAZX_SNOOP_TYPE_NVIDIA = 3,\n};\n\nenum {\n\tAudit_equal = 0,\n\tAudit_not_equal = 1,\n\tAudit_bitmask = 2,\n\tAudit_bittest = 3,\n\tAudit_lt = 4,\n\tAudit_gt = 5,\n\tAudit_le = 6,\n\tAudit_ge = 7,\n\tAudit_bad = 8,\n};\n\nenum {\n\tBAD_NO_PRIMARY_DAC = 65536,\n\tBAD_NO_DAC = 16384,\n\tBAD_MULTI_IO = 288,\n\tBAD_NO_EXTRA_DAC = 258,\n\tBAD_NO_EXTRA_SURR_DAC = 257,\n\tBAD_SHARED_SURROUND = 256,\n\tBAD_NO_INDEP_HP = 16,\n\tBAD_SHARED_CLFE = 16,\n\tBAD_SHARED_EXTRA_SURROUND = 16,\n\tBAD_SHARED_VOL = 16,\n};\n\nenum {\n\tBCM5706 = 0,\n\tNC370T = 1,\n\tNC370I = 2,\n\tBCM5706S = 3,\n\tNC370F = 4,\n\tBCM5708 = 5,\n\tBCM5708S = 6,\n\tBCM5709 = 7,\n\tBCM5709S = 8,\n\tBCM5716 = 9,\n\tBCM5716S = 10,\n};\n\nenum {\n\tBIAS = 2147483648,\n};\n\nenum {\n\tBIOSET_NEED_BVECS = 1,\n\tBIOSET_NEED_RESCUER = 2,\n\tBIOSET_PERCPU_CACHE = 4,\n};\n\nenum {\n\tBIO_PAGE_PINNED = 0,\n\tBIO_CLONED = 1,\n\tBIO_BOUNCED = 2,\n\tBIO_QUIET = 3,\n\tBIO_CHAIN = 4,\n\tBIO_REFFED = 5,\n\tBIO_BPS_THROTTLED = 6,\n\tBIO_TRACE_COMPLETION = 7,\n\tBIO_CGROUP_ACCT = 8,\n\tBIO_QOS_THROTTLED = 9,\n\tBIO_QOS_MERGED = 10,\n\tBIO_REMAPPED = 11,\n\tBIO_ZONE_WRITE_PLUGGING = 12,\n\tBIO_EMULATES_ZONE_APPEND = 13,\n\tBIO_FLAG_LAST = 14,\n};\n\nenum {\n\tBLK_MQ_F_TAG_QUEUE_SHARED = 2,\n\tBLK_MQ_F_STACKING = 4,\n\tBLK_MQ_F_TAG_HCTX_SHARED = 8,\n\tBLK_MQ_F_BLOCKING = 16,\n\tBLK_MQ_F_TAG_RR = 32,\n\tBLK_MQ_F_NO_SCHED_BY_DEFAULT = 64,\n\tBLK_MQ_F_MAX = 128,\n};\n\nenum {\n\tBLK_MQ_NO_TAG = 4294967295,\n\tBLK_MQ_TAG_MIN = 1,\n\tBLK_MQ_TAG_MAX = 4294967294,\n};\n\nenum {\n\tBLK_MQ_REQ_NOWAIT = 1,\n\tBLK_MQ_REQ_RESERVED = 2,\n\tBLK_MQ_REQ_PM = 4,\n};\n\nenum {\n\tBLK_MQ_S_STOPPED = 0,\n\tBLK_MQ_S_TAG_ACTIVE = 1,\n\tBLK_MQ_S_SCHED_RESTART = 2,\n\tBLK_MQ_S_INACTIVE = 3,\n\tBLK_MQ_S_MAX = 4,\n};\n\nenum {\n\tBLK_MQ_UNIQUE_TAG_BITS = 16,\n\tBLK_MQ_UNIQUE_TAG_MASK = 65535,\n};\n\nenum {\n\tBLOCK_BITMAP = 0,\n\tINODE_BITMAP = 1,\n\tINODE_TABLE = 2,\n\tGROUP_TABLE_COUNT = 3,\n};\n\nenum {\n\tBPF_ADJ_ROOM_ENCAP_L2_MASK = 255,\n\tBPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56,\n};\n\nenum {\n\tBPF_ANY = 0,\n\tBPF_NOEXIST = 1,\n\tBPF_EXIST = 2,\n\tBPF_F_LOCK = 4,\n};\n\nenum {\n\tBPF_CSUM_LEVEL_QUERY = 0,\n\tBPF_CSUM_LEVEL_INC = 1,\n\tBPF_CSUM_LEVEL_DEC = 2,\n\tBPF_CSUM_LEVEL_RESET = 3,\n};\n\nenum {\n\tBPF_FIB_LKUP_RET_SUCCESS = 0,\n\tBPF_FIB_LKUP_RET_BLACKHOLE = 1,\n\tBPF_FIB_LKUP_RET_UNREACHABLE = 2,\n\tBPF_FIB_LKUP_RET_PROHIBIT = 3,\n\tBPF_FIB_LKUP_RET_NOT_FWDED = 4,\n\tBPF_FIB_LKUP_RET_FWD_DISABLED = 5,\n\tBPF_FIB_LKUP_RET_UNSUPP_LWT = 6,\n\tBPF_FIB_LKUP_RET_NO_NEIGH = 7,\n\tBPF_FIB_LKUP_RET_FRAG_NEEDED = 8,\n\tBPF_FIB_LKUP_RET_NO_SRC_ADDR = 9,\n};\n\nenum {\n\tBPF_FIB_LOOKUP_DIRECT = 1,\n\tBPF_FIB_LOOKUP_OUTPUT = 2,\n\tBPF_FIB_LOOKUP_SKIP_NEIGH = 4,\n\tBPF_FIB_LOOKUP_TBID = 8,\n\tBPF_FIB_LOOKUP_SRC = 16,\n\tBPF_FIB_LOOKUP_MARK = 32,\n};\n\nenum {\n\tBPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 1,\n\tBPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 2,\n\tBPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 4,\n};\n\nenum {\n\tBPF_F_ADJ_ROOM_FIXED_GSO = 1,\n\tBPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 2,\n\tBPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 4,\n\tBPF_F_ADJ_ROOM_ENCAP_L4_GRE = 8,\n\tBPF_F_ADJ_ROOM_ENCAP_L4_UDP = 16,\n\tBPF_F_ADJ_ROOM_NO_CSUM_RESET = 32,\n\tBPF_F_ADJ_ROOM_ENCAP_L2_ETH = 64,\n\tBPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 128,\n\tBPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256,\n};\n\nenum {\n\tBPF_F_CURRENT_NETNS = -1,\n};\n\nenum {\n\tBPF_F_GET_BRANCH_RECORDS_SIZE = 1,\n};\n\nenum {\n\tBPF_F_HDR_FIELD_MASK = 15,\n};\n\nenum {\n\tBPF_F_INDEX_MASK = 4294967295ULL,\n\tBPF_F_CURRENT_CPU = 4294967295ULL,\n\tBPF_F_CTXLEN_MASK = 4503595332403200ULL,\n};\n\nenum {\n\tBPF_F_INGRESS = 1,\n\tBPF_F_BROADCAST = 8,\n\tBPF_F_EXCLUDE_INGRESS = 16,\n};\n\nenum {\n\tBPF_F_NEIGH = 65536,\n\tBPF_F_PEER = 131072,\n\tBPF_F_NEXTHOP = 262144,\n};\n\nenum {\n\tBPF_F_NO_PREALLOC = 1,\n\tBPF_F_NO_COMMON_LRU = 2,\n\tBPF_F_NUMA_NODE = 4,\n\tBPF_F_RDONLY = 8,\n\tBPF_F_WRONLY = 16,\n\tBPF_F_STACK_BUILD_ID = 32,\n\tBPF_F_ZERO_SEED = 64,\n\tBPF_F_RDONLY_PROG = 128,\n\tBPF_F_WRONLY_PROG = 256,\n\tBPF_F_CLONE = 512,\n\tBPF_F_MMAPABLE = 1024,\n\tBPF_F_PRESERVE_ELEMS = 2048,\n\tBPF_F_INNER_MAP = 4096,\n\tBPF_F_LINK = 8192,\n\tBPF_F_PATH_FD = 16384,\n\tBPF_F_VTYPE_BTF_OBJ_FD = 32768,\n\tBPF_F_TOKEN_FD = 65536,\n\tBPF_F_SEGV_ON_FAULT = 131072,\n\tBPF_F_NO_USER_CONV = 262144,\n};\n\nenum {\n\tBPF_F_PSEUDO_HDR = 16,\n\tBPF_F_MARK_MANGLED_0 = 32,\n\tBPF_F_MARK_ENFORCE = 64,\n};\n\nenum {\n\tBPF_F_RECOMPUTE_CSUM = 1,\n\tBPF_F_INVALIDATE_HASH = 2,\n};\n\nenum {\n\tBPF_F_SKIP_FIELD_MASK = 255,\n\tBPF_F_USER_STACK = 256,\n\tBPF_F_FAST_STACK_CMP = 512,\n\tBPF_F_REUSE_STACKID = 1024,\n\tBPF_F_USER_BUILD_ID = 2048,\n};\n\nenum {\n\tBPF_F_SYSCTL_BASE_NAME = 1,\n};\n\nenum {\n\tBPF_F_TIMER_ABS = 1,\n\tBPF_F_TIMER_CPU_PIN = 2,\n};\n\nenum {\n\tBPF_F_TUNINFO_FLAGS = 16,\n};\n\nenum {\n\tBPF_F_TUNINFO_IPV6 = 1,\n};\n\nenum {\n\tBPF_F_UPROBE_MULTI_RETURN = 1,\n};\n\nenum {\n\tBPF_F_ZERO_CSUM_TX = 2,\n\tBPF_F_DONT_FRAGMENT = 4,\n\tBPF_F_SEQ_NUMBER = 8,\n\tBPF_F_NO_TUNNEL_KEY = 16,\n};\n\nenum {\n\tBPF_LOAD_HDR_OPT_TCP_SYN = 1,\n};\n\nenum {\n\tBPF_LOCAL_STORAGE_GET_F_CREATE = 1,\n\tBPF_SK_STORAGE_GET_F_CREATE = 1,\n};\n\nenum {\n\tBPF_MAX_LOOPS = 8388608,\n};\n\nenum {\n\tBPF_MAX_TRAMP_LINKS = 38,\n};\n\nenum {\n\tBPF_RB_AVAIL_DATA = 0,\n\tBPF_RB_RING_SIZE = 1,\n\tBPF_RB_CONS_POS = 2,\n\tBPF_RB_PROD_POS = 3,\n};\n\nenum {\n\tBPF_RB_NO_WAKEUP = 1,\n\tBPF_RB_FORCE_WAKEUP = 2,\n};\n\nenum {\n\tBPF_REG_0 = 0,\n\tBPF_REG_1 = 1,\n\tBPF_REG_2 = 2,\n\tBPF_REG_3 = 3,\n\tBPF_REG_4 = 4,\n\tBPF_REG_5 = 5,\n\tBPF_REG_6 = 6,\n\tBPF_REG_7 = 7,\n\tBPF_REG_8 = 8,\n\tBPF_REG_9 = 9,\n\tBPF_REG_10 = 10,\n\t__MAX_BPF_REG = 11,\n};\n\nenum {\n\tBPF_RINGBUF_BUSY_BIT = 2147483648,\n\tBPF_RINGBUF_DISCARD_BIT = 1073741824,\n\tBPF_RINGBUF_HDR_SZ = 8,\n};\n\nenum {\n\tBPF_SKB_TSTAMP_UNSPEC = 0,\n\tBPF_SKB_TSTAMP_DELIVERY_MONO = 1,\n\tBPF_SKB_CLOCK_REALTIME = 0,\n\tBPF_SKB_CLOCK_MONOTONIC = 1,\n\tBPF_SKB_CLOCK_TAI = 2,\n};\n\nenum {\n\tBPF_SK_LOOKUP_F_REPLACE = 1,\n\tBPF_SK_LOOKUP_F_NO_REUSEPORT = 2,\n};\n\nenum {\n\tBPF_SOCK_OPS_RTO_CB_FLAG = 1,\n\tBPF_SOCK_OPS_RETRANS_CB_FLAG = 2,\n\tBPF_SOCK_OPS_STATE_CB_FLAG = 4,\n\tBPF_SOCK_OPS_RTT_CB_FLAG = 8,\n\tBPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 16,\n\tBPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 32,\n\tBPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 64,\n\tBPF_SOCK_OPS_ALL_CB_FLAGS = 127,\n};\n\nenum {\n\tBPF_SOCK_OPS_VOID = 0,\n\tBPF_SOCK_OPS_TIMEOUT_INIT = 1,\n\tBPF_SOCK_OPS_RWND_INIT = 2,\n\tBPF_SOCK_OPS_TCP_CONNECT_CB = 3,\n\tBPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 4,\n\tBPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 5,\n\tBPF_SOCK_OPS_NEEDS_ECN = 6,\n\tBPF_SOCK_OPS_BASE_RTT = 7,\n\tBPF_SOCK_OPS_RTO_CB = 8,\n\tBPF_SOCK_OPS_RETRANS_CB = 9,\n\tBPF_SOCK_OPS_STATE_CB = 10,\n\tBPF_SOCK_OPS_TCP_LISTEN_CB = 11,\n\tBPF_SOCK_OPS_RTT_CB = 12,\n\tBPF_SOCK_OPS_PARSE_HDR_OPT_CB = 13,\n\tBPF_SOCK_OPS_HDR_OPT_LEN_CB = 14,\n\tBPF_SOCK_OPS_WRITE_HDR_OPT_CB = 15,\n};\n\nenum {\n\tBPF_TASK_ITER_ALL_PROCS = 0,\n\tBPF_TASK_ITER_ALL_THREADS = 1,\n\tBPF_TASK_ITER_PROC_THREADS = 2,\n};\n\nenum {\n\tBPF_TCP_ESTABLISHED = 1,\n\tBPF_TCP_SYN_SENT = 2,\n\tBPF_TCP_SYN_RECV = 3,\n\tBPF_TCP_FIN_WAIT1 = 4,\n\tBPF_TCP_FIN_WAIT2 = 5,\n\tBPF_TCP_TIME_WAIT = 6,\n\tBPF_TCP_CLOSE = 7,\n\tBPF_TCP_CLOSE_WAIT = 8,\n\tBPF_TCP_LAST_ACK = 9,\n\tBPF_TCP_LISTEN = 10,\n\tBPF_TCP_CLOSING = 11,\n\tBPF_TCP_NEW_SYN_RECV = 12,\n\tBPF_TCP_BOUND_INACTIVE = 13,\n\tBPF_TCP_MAX_STATES = 14,\n};\n\nenum {\n\tBPF_WRITE_HDR_TCP_CURRENT_MSS = 1,\n\tBPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2,\n};\n\nenum {\n\tBPF_XFRM_STATE_OPTS_SZ = 36,\n};\n\nenum {\n\tBR_MCAST_DIR_RX = 0,\n\tBR_MCAST_DIR_TX = 1,\n\tBR_MCAST_DIR_SIZE = 2,\n};\n\nenum {\n\tBTF_FIELDS_MAX = 11,\n};\n\nenum {\n\tBTF_FIELD_IGNORE = 0,\n\tBTF_FIELD_FOUND = 1,\n};\n\nenum {\n\tBTF_F_COMPACT = 1,\n\tBTF_F_NONAME = 2,\n\tBTF_F_PTR_RAW = 4,\n\tBTF_F_ZERO = 8,\n};\n\nenum {\n\tBTF_KFUNC_SET_MAX_CNT = 256,\n\tBTF_DTOR_KFUNC_MAX_CNT = 256,\n\tBTF_KFUNC_FILTER_MAX_CNT = 16,\n};\n\nenum {\n\tBTF_KIND_UNKN = 0,\n\tBTF_KIND_INT = 1,\n\tBTF_KIND_PTR = 2,\n\tBTF_KIND_ARRAY = 3,\n\tBTF_KIND_STRUCT = 4,\n\tBTF_KIND_UNION = 5,\n\tBTF_KIND_ENUM = 6,\n\tBTF_KIND_FWD = 7,\n\tBTF_KIND_TYPEDEF = 8,\n\tBTF_KIND_VOLATILE = 9,\n\tBTF_KIND_CONST = 10,\n\tBTF_KIND_RESTRICT = 11,\n\tBTF_KIND_FUNC = 12,\n\tBTF_KIND_FUNC_PROTO = 13,\n\tBTF_KIND_VAR = 14,\n\tBTF_KIND_DATASEC = 15,\n\tBTF_KIND_FLOAT = 16,\n\tBTF_KIND_DECL_TAG = 17,\n\tBTF_KIND_TYPE_TAG = 18,\n\tBTF_KIND_ENUM64 = 19,\n\tNR_BTF_KINDS = 20,\n\tBTF_KIND_MAX = 19,\n};\n\nenum {\n\tBTF_MODULE_F_LIVE = 1,\n};\n\nenum {\n\tBTF_SOCK_TYPE_INET = 0,\n\tBTF_SOCK_TYPE_INET_CONN = 1,\n\tBTF_SOCK_TYPE_INET_REQ = 2,\n\tBTF_SOCK_TYPE_INET_TW = 3,\n\tBTF_SOCK_TYPE_REQ = 4,\n\tBTF_SOCK_TYPE_SOCK = 5,\n\tBTF_SOCK_TYPE_SOCK_COMMON = 6,\n\tBTF_SOCK_TYPE_TCP = 7,\n\tBTF_SOCK_TYPE_TCP_REQ = 8,\n\tBTF_SOCK_TYPE_TCP_TW = 9,\n\tBTF_SOCK_TYPE_TCP6 = 10,\n\tBTF_SOCK_TYPE_UDP = 11,\n\tBTF_SOCK_TYPE_UDP6 = 12,\n\tBTF_SOCK_TYPE_UNIX = 13,\n\tBTF_SOCK_TYPE_MPTCP = 14,\n\tBTF_SOCK_TYPE_SOCKET = 15,\n\tMAX_BTF_SOCK_TYPE = 16,\n};\n\nenum {\n\tBTF_TRACING_TYPE_TASK = 0,\n\tBTF_TRACING_TYPE_FILE = 1,\n\tBTF_TRACING_TYPE_VMA = 2,\n\tMAX_BTF_TRACING_TYPE = 3,\n};\n\nenum {\n\tBTF_VAR_STATIC = 0,\n\tBTF_VAR_GLOBAL_ALLOCATED = 1,\n\tBTF_VAR_GLOBAL_EXTERN = 2,\n};\n\nenum {\n\tBTRFS_FILE_EXTENT_INLINE = 0,\n\tBTRFS_FILE_EXTENT_REG = 1,\n\tBTRFS_FILE_EXTENT_PREALLOC = 2,\n\tBTRFS_NR_FILE_EXTENT_TYPES = 3,\n};\n\nenum {\n\tBTRFS_FS_CLOSING_START = 0,\n\tBTRFS_FS_CLOSING_DONE = 1,\n\tBTRFS_FS_LOG_RECOVERING = 2,\n\tBTRFS_FS_OPEN = 3,\n\tBTRFS_FS_QUOTA_ENABLED = 4,\n\tBTRFS_FS_UPDATE_UUID_TREE_GEN = 5,\n\tBTRFS_FS_CREATING_FREE_SPACE_TREE = 6,\n\tBTRFS_FS_BTREE_ERR = 7,\n\tBTRFS_FS_LOG1_ERR = 8,\n\tBTRFS_FS_LOG2_ERR = 9,\n\tBTRFS_FS_QUOTA_OVERRIDE = 10,\n\tBTRFS_FS_FROZEN = 11,\n\tBTRFS_FS_BALANCE_RUNNING = 12,\n\tBTRFS_FS_RELOC_RUNNING = 13,\n\tBTRFS_FS_CLEANER_RUNNING = 14,\n\tBTRFS_FS_CSUM_IMPL_FAST = 15,\n\tBTRFS_FS_DISCARD_RUNNING = 16,\n\tBTRFS_FS_CLEANUP_SPACE_CACHE_V1 = 17,\n\tBTRFS_FS_FREE_SPACE_TREE_UNTRUSTED = 18,\n\tBTRFS_FS_TREE_MOD_LOG_USERS = 19,\n\tBTRFS_FS_COMMIT_TRANS = 20,\n\tBTRFS_FS_UNFINISHED_DROPS = 21,\n\tBTRFS_FS_NEED_ZONE_FINISH = 22,\n\tBTRFS_FS_NEED_TRANS_COMMIT = 23,\n\tBTRFS_FS_ACTIVE_ZONE_TRACKING = 24,\n\tBTRFS_FS_FEATURE_CHANGED = 25,\n\tBTRFS_FS_UNALIGNED_TREE_BLOCK = 26,\n};\n\nenum {\n\tBTRFS_FS_STATE_REMOUNTING = 0,\n\tBTRFS_FS_STATE_RO = 1,\n\tBTRFS_FS_STATE_TRANS_ABORTED = 2,\n\tBTRFS_FS_STATE_DEV_REPLACING = 3,\n\tBTRFS_FS_STATE_DUMMY_FS_INFO = 4,\n\tBTRFS_FS_STATE_NO_DATA_CSUMS = 5,\n\tBTRFS_FS_STATE_SKIP_META_CSUMS = 6,\n\tBTRFS_FS_STATE_LOG_CLEANUP_ERROR = 7,\n\tBTRFS_FS_STATE_COUNT = 8,\n};\n\nenum {\n\tBTRFS_INODE_FLUSH_ON_CLOSE = 0,\n\tBTRFS_INODE_DUMMY = 1,\n\tBTRFS_INODE_IN_DEFRAG = 2,\n\tBTRFS_INODE_HAS_ASYNC_EXTENT = 3,\n\tBTRFS_INODE_NEEDS_FULL_SYNC = 4,\n\tBTRFS_INODE_COPY_EVERYTHING = 5,\n\tBTRFS_INODE_HAS_PROPS = 6,\n\tBTRFS_INODE_SNAPSHOT_FLUSH = 7,\n\tBTRFS_INODE_NO_XATTRS = 8,\n\tBTRFS_INODE_NO_DELALLOC_FLUSH = 9,\n\tBTRFS_INODE_VERITY_IN_PROGRESS = 10,\n\tBTRFS_INODE_FREE_SPACE_INODE = 11,\n\tBTRFS_INODE_NO_CAP_XATTR = 12,\n\tBTRFS_INODE_COW_WRITE_ERROR = 13,\n\tBTRFS_INODE_ROOT_STUB = 14,\n};\n\nenum {\n\tBTRFS_MOUNT_NODATASUM = 1ULL,\n\tBTRFS_MOUNT_NODATACOW = 2ULL,\n\tBTRFS_MOUNT_NOBARRIER = 4ULL,\n\tBTRFS_MOUNT_SSD = 8ULL,\n\tBTRFS_MOUNT_DEGRADED = 16ULL,\n\tBTRFS_MOUNT_COMPRESS = 32ULL,\n\tBTRFS_MOUNT_NOTREELOG = 64ULL,\n\tBTRFS_MOUNT_FLUSHONCOMMIT = 128ULL,\n\tBTRFS_MOUNT_SSD_SPREAD = 256ULL,\n\tBTRFS_MOUNT_NOSSD = 512ULL,\n\tBTRFS_MOUNT_DISCARD_SYNC = 1024ULL,\n\tBTRFS_MOUNT_FORCE_COMPRESS = 2048ULL,\n\tBTRFS_MOUNT_SPACE_CACHE = 4096ULL,\n\tBTRFS_MOUNT_CLEAR_CACHE = 8192ULL,\n\tBTRFS_MOUNT_USER_SUBVOL_RM_ALLOWED = 16384ULL,\n\tBTRFS_MOUNT_ENOSPC_DEBUG = 32768ULL,\n\tBTRFS_MOUNT_AUTO_DEFRAG = 65536ULL,\n\tBTRFS_MOUNT_USEBACKUPROOT = 131072ULL,\n\tBTRFS_MOUNT_SKIP_BALANCE = 262144ULL,\n\tBTRFS_MOUNT_PANIC_ON_FATAL_ERROR = 524288ULL,\n\tBTRFS_MOUNT_RESCAN_UUID_TREE = 1048576ULL,\n\tBTRFS_MOUNT_FRAGMENT_DATA = 2097152ULL,\n\tBTRFS_MOUNT_FRAGMENT_METADATA = 4194304ULL,\n\tBTRFS_MOUNT_FREE_SPACE_TREE = 8388608ULL,\n\tBTRFS_MOUNT_NOLOGREPLAY = 16777216ULL,\n\tBTRFS_MOUNT_REF_VERIFY = 33554432ULL,\n\tBTRFS_MOUNT_DISCARD_ASYNC = 67108864ULL,\n\tBTRFS_MOUNT_IGNOREBADROOTS = 134217728ULL,\n\tBTRFS_MOUNT_IGNOREDATACSUMS = 268435456ULL,\n\tBTRFS_MOUNT_NODISCARD = 536870912ULL,\n\tBTRFS_MOUNT_NOSPACECACHE = 1073741824ULL,\n\tBTRFS_MOUNT_IGNOREMETACSUMS = 2147483648ULL,\n\tBTRFS_MOUNT_IGNORESUPERFLAGS = 4294967296ULL,\n};\n\nenum {\n\tBTRFS_ORDERED_REGULAR = 0,\n\tBTRFS_ORDERED_NOCOW = 1,\n\tBTRFS_ORDERED_PREALLOC = 2,\n\tBTRFS_ORDERED_COMPRESSED = 3,\n\tBTRFS_ORDERED_DIRECT = 4,\n\tBTRFS_ORDERED_IO_DONE = 5,\n\tBTRFS_ORDERED_COMPLETE = 6,\n\tBTRFS_ORDERED_IOERR = 7,\n\tBTRFS_ORDERED_TRUNCATED = 8,\n\tBTRFS_ORDERED_LOGGED = 9,\n\tBTRFS_ORDERED_LOGGED_CSUM = 10,\n\tBTRFS_ORDERED_PENDING = 11,\n\tBTRFS_ORDERED_ENCODED = 12,\n};\n\nenum {\n\tBTRFS_ROOT_IN_TRANS_SETUP = 0,\n\tBTRFS_ROOT_SHAREABLE = 1,\n\tBTRFS_ROOT_TRACK_DIRTY = 2,\n\tBTRFS_ROOT_IN_RADIX = 3,\n\tBTRFS_ROOT_ORPHAN_ITEM_INSERTED = 4,\n\tBTRFS_ROOT_DEFRAG_RUNNING = 5,\n\tBTRFS_ROOT_FORCE_COW = 6,\n\tBTRFS_ROOT_MULTI_LOG_TASKS = 7,\n\tBTRFS_ROOT_DIRTY = 8,\n\tBTRFS_ROOT_DELETING = 9,\n\tBTRFS_ROOT_DEAD_RELOC_TREE = 10,\n\tBTRFS_ROOT_DEAD_TREE = 11,\n\tBTRFS_ROOT_HAS_LOG_TREE = 12,\n\tBTRFS_ROOT_QGROUP_FLUSHING = 13,\n\tBTRFS_ROOT_ORPHAN_CLEANUP = 14,\n\tBTRFS_ROOT_UNFINISHED_DROP = 15,\n\tBTRFS_ROOT_RESET_LOCKDEP_CLASS = 16,\n};\n\nenum {\n\tBTRFS_SEND_A_UNSPEC = 0,\n\tBTRFS_SEND_A_UUID = 1,\n\tBTRFS_SEND_A_CTRANSID = 2,\n\tBTRFS_SEND_A_INO = 3,\n\tBTRFS_SEND_A_SIZE = 4,\n\tBTRFS_SEND_A_MODE = 5,\n\tBTRFS_SEND_A_UID = 6,\n\tBTRFS_SEND_A_GID = 7,\n\tBTRFS_SEND_A_RDEV = 8,\n\tBTRFS_SEND_A_CTIME = 9,\n\tBTRFS_SEND_A_MTIME = 10,\n\tBTRFS_SEND_A_ATIME = 11,\n\tBTRFS_SEND_A_OTIME = 12,\n\tBTRFS_SEND_A_XATTR_NAME = 13,\n\tBTRFS_SEND_A_XATTR_DATA = 14,\n\tBTRFS_SEND_A_PATH = 15,\n\tBTRFS_SEND_A_PATH_TO = 16,\n\tBTRFS_SEND_A_PATH_LINK = 17,\n\tBTRFS_SEND_A_FILE_OFFSET = 18,\n\tBTRFS_SEND_A_DATA = 19,\n\tBTRFS_SEND_A_CLONE_UUID = 20,\n\tBTRFS_SEND_A_CLONE_CTRANSID = 21,\n\tBTRFS_SEND_A_CLONE_PATH = 22,\n\tBTRFS_SEND_A_CLONE_OFFSET = 23,\n\tBTRFS_SEND_A_CLONE_LEN = 24,\n\tBTRFS_SEND_A_MAX_V1 = 24,\n\tBTRFS_SEND_A_FALLOCATE_MODE = 25,\n\tBTRFS_SEND_A_FILEATTR = 26,\n\tBTRFS_SEND_A_UNENCODED_FILE_LEN = 27,\n\tBTRFS_SEND_A_UNENCODED_LEN = 28,\n\tBTRFS_SEND_A_UNENCODED_OFFSET = 29,\n\tBTRFS_SEND_A_COMPRESSION = 30,\n\tBTRFS_SEND_A_ENCRYPTION = 31,\n\tBTRFS_SEND_A_MAX_V2 = 31,\n\tBTRFS_SEND_A_VERITY_ALGORITHM = 32,\n\tBTRFS_SEND_A_VERITY_BLOCK_SIZE = 33,\n\tBTRFS_SEND_A_VERITY_SALT_DATA = 34,\n\tBTRFS_SEND_A_VERITY_SIG_DATA = 35,\n\tBTRFS_SEND_A_MAX_V3 = 35,\n\t__BTRFS_SEND_A_MAX = 35,\n};\n\nenum {\n\tBTRFS_STAT_CURR = 0,\n\tBTRFS_STAT_PREV = 1,\n\tBTRFS_STAT_NR_ENTRIES = 2,\n};\n\nenum {\n\tCACHE_PRESENT = 1,\n\tCACHE_PRIVATE = 2,\n\tCACHE_INCLUSIVE = 4,\n};\n\nenum {\n\tCACHE_VALID = 0,\n\tCACHE_NEGATIVE = 1,\n\tCACHE_PENDING = 2,\n\tCACHE_CLEANED = 3,\n};\n\nenum {\n\tCFTYPE_ONLY_ON_ROOT = 1,\n\tCFTYPE_NOT_ON_ROOT = 2,\n\tCFTYPE_NS_DELEGATABLE = 4,\n\tCFTYPE_NO_PREFIX = 8,\n\tCFTYPE_WORLD_WRITABLE = 16,\n\tCFTYPE_DEBUG = 32,\n\t__CFTYPE_ONLY_ON_DFL = 65536,\n\t__CFTYPE_NOT_ON_DFL = 131072,\n\t__CFTYPE_ADDED = 262144,\n};\n\nenum {\n\tCGROUPSTATS_CMD_ATTR_UNSPEC = 0,\n\tCGROUPSTATS_CMD_ATTR_FD = 1,\n\t__CGROUPSTATS_CMD_ATTR_MAX = 2,\n};\n\nenum {\n\tCGROUPSTATS_CMD_UNSPEC = 3,\n\tCGROUPSTATS_CMD_GET = 4,\n\tCGROUPSTATS_CMD_NEW = 5,\n\t__CGROUPSTATS_CMD_MAX = 6,\n};\n\nenum {\n\tCGROUPSTATS_TYPE_UNSPEC = 0,\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 1,\n\t__CGROUPSTATS_TYPE_MAX = 2,\n};\n\nenum {\n\tCGRP_NOTIFY_ON_RELEASE = 0,\n\tCGRP_CPUSET_CLONE_CHILDREN = 1,\n\tCGRP_FREEZE = 2,\n\tCGRP_FROZEN = 3,\n};\n\nenum {\n\tCGRP_ROOT_NOPREFIX = 2,\n\tCGRP_ROOT_XATTR = 4,\n\tCGRP_ROOT_NS_DELEGATE = 8,\n\tCGRP_ROOT_FAVOR_DYNMODS = 16,\n\tCGRP_ROOT_CPUSET_V2_MODE = 65536,\n\tCGRP_ROOT_MEMORY_LOCAL_EVENTS = 131072,\n\tCGRP_ROOT_MEMORY_RECURSIVE_PROT = 262144,\n\tCGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING = 524288,\n\tCGRP_ROOT_PIDS_LOCAL_EVENTS = 1048576,\n};\n\nenum {\n\tCMIS_MODULE_LOW_PWR = 1,\n\tCMIS_MODULE_READY = 3,\n};\n\nenum {\n\tCOST_CTRL = 0,\n\tCOST_MODEL = 1,\n\tNR_COST_CTRL_PARAMS = 2,\n};\n\nenum {\n\tCRNG_EMPTY = 0,\n\tCRNG_EARLY = 1,\n\tCRNG_READY = 2,\n};\n\nenum {\n\tCRNG_RESEED_START_INTERVAL = 250,\n\tCRNG_RESEED_INTERVAL = 15000,\n};\n\nenum {\n\tCRYPTOA_UNSPEC = 0,\n\tCRYPTOA_ALG = 1,\n\tCRYPTOA_TYPE = 2,\n\t__CRYPTOA_MAX = 3,\n};\n\nenum {\n\tCRYPTO_KPP_SECRET_TYPE_UNKNOWN = 0,\n\tCRYPTO_KPP_SECRET_TYPE_DH = 1,\n\tCRYPTO_KPP_SECRET_TYPE_ECDH = 2,\n};\n\nenum {\n\tCRYPTO_MSG_ALG_REQUEST = 0,\n\tCRYPTO_MSG_ALG_REGISTER = 1,\n\tCRYPTO_MSG_ALG_LOADED = 2,\n};\n\nenum {\n\tCSD_FLAG_LOCK = 1,\n\tIRQ_WORK_PENDING = 1,\n\tIRQ_WORK_BUSY = 2,\n\tIRQ_WORK_LAZY = 4,\n\tIRQ_WORK_HARD_IRQ = 8,\n\tIRQ_WORK_CLAIMED = 3,\n\tCSD_TYPE_ASYNC = 0,\n\tCSD_TYPE_SYNC = 16,\n\tCSD_TYPE_IRQ_WORK = 32,\n\tCSD_TYPE_TTWU = 48,\n\tCSD_FLAG_TYPE_MASK = 240,\n};\n\nenum {\n\tCSI_DEC_hl_CURSOR_KEYS = 1,\n\tCSI_DEC_hl_132_COLUMNS = 3,\n\tCSI_DEC_hl_REVERSE_VIDEO = 5,\n\tCSI_DEC_hl_ORIGIN_MODE = 6,\n\tCSI_DEC_hl_AUTOWRAP = 7,\n\tCSI_DEC_hl_AUTOREPEAT = 8,\n\tCSI_DEC_hl_MOUSE_X10 = 9,\n\tCSI_DEC_hl_SHOW_CURSOR = 25,\n\tCSI_DEC_hl_MOUSE_VT200 = 1000,\n};\n\nenum {\n\tCSI_K_CURSOR_TO_LINEEND = 0,\n\tCSI_K_LINESTART_TO_CURSOR = 1,\n\tCSI_K_LINE = 2,\n};\n\nenum {\n\tCSI_hl_DISPLAY_CTRL = 3,\n\tCSI_hl_INSERT = 4,\n\tCSI_hl_AUTO_NL = 20,\n};\n\nenum {\n\tCSI_m_DEFAULT = 0,\n\tCSI_m_BOLD = 1,\n\tCSI_m_HALF_BRIGHT = 2,\n\tCSI_m_ITALIC = 3,\n\tCSI_m_UNDERLINE = 4,\n\tCSI_m_BLINK = 5,\n\tCSI_m_REVERSE = 7,\n\tCSI_m_PRI_FONT = 10,\n\tCSI_m_ALT_FONT1 = 11,\n\tCSI_m_ALT_FONT2 = 12,\n\tCSI_m_DOUBLE_UNDERLINE = 21,\n\tCSI_m_NORMAL_INTENSITY = 22,\n\tCSI_m_NO_ITALIC = 23,\n\tCSI_m_NO_UNDERLINE = 24,\n\tCSI_m_NO_BLINK = 25,\n\tCSI_m_NO_REVERSE = 27,\n\tCSI_m_FG_COLOR_BEG = 30,\n\tCSI_m_FG_COLOR_END = 37,\n\tCSI_m_FG_COLOR = 38,\n\tCSI_m_DEFAULT_FG_COLOR = 39,\n\tCSI_m_BG_COLOR_BEG = 40,\n\tCSI_m_BG_COLOR_END = 47,\n\tCSI_m_BG_COLOR = 48,\n\tCSI_m_DEFAULT_BG_COLOR = 49,\n\tCSI_m_BRIGHT_FG_COLOR_BEG = 90,\n\tCSI_m_BRIGHT_FG_COLOR_END = 97,\n\tCSI_m_BRIGHT_FG_COLOR_OFF = 60,\n\tCSI_m_BRIGHT_BG_COLOR_BEG = 100,\n\tCSI_m_BRIGHT_BG_COLOR_END = 107,\n\tCSI_m_BRIGHT_BG_COLOR_OFF = 60,\n};\n\nenum {\n\tCSS_NO_REF = 1,\n\tCSS_ONLINE = 2,\n\tCSS_RELEASED = 4,\n\tCSS_VISIBLE = 8,\n\tCSS_DYING = 16,\n};\n\nenum {\n\tCSS_TASK_ITER_PROCS = 1,\n\tCSS_TASK_ITER_THREADED = 2,\n\tCSS_TASK_ITER_SKIPPED = 65536,\n};\n\nenum {\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0,\n\tCTRL_ATTR_MCAST_GRP_NAME = 1,\n\tCTRL_ATTR_MCAST_GRP_ID = 2,\n\t__CTRL_ATTR_MCAST_GRP_MAX = 3,\n};\n\nenum {\n\tCTRL_ATTR_OP_UNSPEC = 0,\n\tCTRL_ATTR_OP_ID = 1,\n\tCTRL_ATTR_OP_FLAGS = 2,\n\t__CTRL_ATTR_OP_MAX = 3,\n};\n\nenum {\n\tCTRL_ATTR_POLICY_UNSPEC = 0,\n\tCTRL_ATTR_POLICY_DO = 1,\n\tCTRL_ATTR_POLICY_DUMP = 2,\n\t__CTRL_ATTR_POLICY_DUMP_MAX = 3,\n\tCTRL_ATTR_POLICY_DUMP_MAX = 2,\n};\n\nenum {\n\tCTRL_ATTR_UNSPEC = 0,\n\tCTRL_ATTR_FAMILY_ID = 1,\n\tCTRL_ATTR_FAMILY_NAME = 2,\n\tCTRL_ATTR_VERSION = 3,\n\tCTRL_ATTR_HDRSIZE = 4,\n\tCTRL_ATTR_MAXATTR = 5,\n\tCTRL_ATTR_OPS = 6,\n\tCTRL_ATTR_MCAST_GROUPS = 7,\n\tCTRL_ATTR_POLICY = 8,\n\tCTRL_ATTR_OP_POLICY = 9,\n\tCTRL_ATTR_OP = 10,\n\t__CTRL_ATTR_MAX = 11,\n};\n\nenum {\n\tCTRL_CMD_UNSPEC = 0,\n\tCTRL_CMD_NEWFAMILY = 1,\n\tCTRL_CMD_DELFAMILY = 2,\n\tCTRL_CMD_GETFAMILY = 3,\n\tCTRL_CMD_NEWOPS = 4,\n\tCTRL_CMD_DELOPS = 5,\n\tCTRL_CMD_GETOPS = 6,\n\tCTRL_CMD_NEWMCAST_GRP = 7,\n\tCTRL_CMD_DELMCAST_GRP = 8,\n\tCTRL_CMD_GETMCAST_GRP = 9,\n\tCTRL_CMD_GETPOLICY = 10,\n\t__CTRL_CMD_MAX = 11,\n};\n\nenum {\n\tCXT_PINCFG_LENOVO_X200 = 0,\n\tCXT_PINCFG_LENOVO_TP410 = 1,\n\tCXT_PINCFG_LEMOTE_A1004 = 2,\n\tCXT_PINCFG_LEMOTE_A1205 = 3,\n\tCXT_PINCFG_COMPAQ_CQ60 = 4,\n\tCXT_FIXUP_STEREO_DMIC = 5,\n\tCXT_PINCFG_LENOVO_NOTEBOOK = 6,\n\tCXT_FIXUP_INC_MIC_BOOST = 7,\n\tCXT_FIXUP_HEADPHONE_MIC_PIN = 8,\n\tCXT_FIXUP_HEADPHONE_MIC = 9,\n\tCXT_FIXUP_GPIO1 = 10,\n\tCXT_FIXUP_ASPIRE_DMIC = 11,\n\tCXT_FIXUP_THINKPAD_ACPI = 12,\n\tCXT_FIXUP_LENOVO_XPAD_ACPI = 13,\n\tCXT_FIXUP_OLPC_XO = 14,\n\tCXT_FIXUP_CAP_MIX_AMP = 15,\n\tCXT_FIXUP_TOSHIBA_P105 = 16,\n\tCXT_FIXUP_HP_530 = 17,\n\tCXT_FIXUP_CAP_MIX_AMP_5047 = 18,\n\tCXT_FIXUP_MUTE_LED_EAPD = 19,\n\tCXT_FIXUP_HP_DOCK = 20,\n\tCXT_FIXUP_HP_SPECTRE = 21,\n\tCXT_FIXUP_HP_GATE_MIC = 22,\n\tCXT_FIXUP_MUTE_LED_GPIO = 23,\n\tCXT_FIXUP_HP_ELITEONE_OUT_DIS = 24,\n\tCXT_FIXUP_HP_ZBOOK_MUTE_LED = 25,\n\tCXT_FIXUP_HEADSET_MIC = 26,\n\tCXT_FIXUP_HP_MIC_NO_PRESENCE = 27,\n\tCXT_PINCFG_SWS_JS201D = 28,\n\tCXT_PINCFG_TOP_SPEAKER = 29,\n\tCXT_FIXUP_HP_A_U = 30,\n};\n\nenum {\n\tDAD_PROCESS = 0,\n\tDAD_BEGIN = 1,\n\tDAD_ABORT = 2,\n};\n\nenum {\n\tDD_DIR_COUNT = 2,\n};\n\nenum {\n\tDD_PRIO_COUNT = 3,\n};\n\nenum {\n\tDEVCONF_FORWARDING = 0,\n\tDEVCONF_HOPLIMIT = 1,\n\tDEVCONF_MTU6 = 2,\n\tDEVCONF_ACCEPT_RA = 3,\n\tDEVCONF_ACCEPT_REDIRECTS = 4,\n\tDEVCONF_AUTOCONF = 5,\n\tDEVCONF_DAD_TRANSMITS = 6,\n\tDEVCONF_RTR_SOLICITS = 7,\n\tDEVCONF_RTR_SOLICIT_INTERVAL = 8,\n\tDEVCONF_RTR_SOLICIT_DELAY = 9,\n\tDEVCONF_USE_TEMPADDR = 10,\n\tDEVCONF_TEMP_VALID_LFT = 11,\n\tDEVCONF_TEMP_PREFERED_LFT = 12,\n\tDEVCONF_REGEN_MAX_RETRY = 13,\n\tDEVCONF_MAX_DESYNC_FACTOR = 14,\n\tDEVCONF_MAX_ADDRESSES = 15,\n\tDEVCONF_FORCE_MLD_VERSION = 16,\n\tDEVCONF_ACCEPT_RA_DEFRTR = 17,\n\tDEVCONF_ACCEPT_RA_PINFO = 18,\n\tDEVCONF_ACCEPT_RA_RTR_PREF = 19,\n\tDEVCONF_RTR_PROBE_INTERVAL = 20,\n\tDEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN = 21,\n\tDEVCONF_PROXY_NDP = 22,\n\tDEVCONF_OPTIMISTIC_DAD = 23,\n\tDEVCONF_ACCEPT_SOURCE_ROUTE = 24,\n\tDEVCONF_MC_FORWARDING = 25,\n\tDEVCONF_DISABLE_IPV6 = 26,\n\tDEVCONF_ACCEPT_DAD = 27,\n\tDEVCONF_FORCE_TLLAO = 28,\n\tDEVCONF_NDISC_NOTIFY = 29,\n\tDEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL = 30,\n\tDEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL = 31,\n\tDEVCONF_SUPPRESS_FRAG_NDISC = 32,\n\tDEVCONF_ACCEPT_RA_FROM_LOCAL = 33,\n\tDEVCONF_USE_OPTIMISTIC = 34,\n\tDEVCONF_ACCEPT_RA_MTU = 35,\n\tDEVCONF_STABLE_SECRET = 36,\n\tDEVCONF_USE_OIF_ADDRS_ONLY = 37,\n\tDEVCONF_ACCEPT_RA_MIN_HOP_LIMIT = 38,\n\tDEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 39,\n\tDEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 40,\n\tDEVCONF_DROP_UNSOLICITED_NA = 41,\n\tDEVCONF_KEEP_ADDR_ON_DOWN = 42,\n\tDEVCONF_RTR_SOLICIT_MAX_INTERVAL = 43,\n\tDEVCONF_SEG6_ENABLED = 44,\n\tDEVCONF_SEG6_REQUIRE_HMAC = 45,\n\tDEVCONF_ENHANCED_DAD = 46,\n\tDEVCONF_ADDR_GEN_MODE = 47,\n\tDEVCONF_DISABLE_POLICY = 48,\n\tDEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN = 49,\n\tDEVCONF_NDISC_TCLASS = 50,\n\tDEVCONF_RPL_SEG_ENABLED = 51,\n\tDEVCONF_RA_DEFRTR_METRIC = 52,\n\tDEVCONF_IOAM6_ENABLED = 53,\n\tDEVCONF_IOAM6_ID = 54,\n\tDEVCONF_IOAM6_ID_WIDE = 55,\n\tDEVCONF_NDISC_EVICT_NOCARRIER = 56,\n\tDEVCONF_ACCEPT_UNTRACKED_NA = 57,\n\tDEVCONF_ACCEPT_RA_MIN_LFT = 58,\n\tDEVCONF_MAX = 59,\n};\n\nenum {\n\tDIGBEEP_HZ_STEP = 46875,\n\tDIGBEEP_HZ_MIN = 93750,\n\tDIGBEEP_HZ_MAX = 12000000,\n};\n\nenum {\n\tDIO_LOCKING = 1,\n\tDIO_SKIP_HOLES = 2,\n};\n\nenum {\n\tDIO_SHOULD_DIRTY = 1,\n\tDIO_IS_SYNC = 2,\n};\n\nenum {\n\tDIR_OFFSET_FIRST = 2,\n\tDIR_OFFSET_EOD = 2147483647,\n};\n\nenum {\n\tDIR_OFFSET_MIN = 3,\n\tDIR_OFFSET_MAX = 2147483646,\n};\n\nenum {\n\tDISCOVERED = 16,\n\tEXPLORED = 32,\n\tFALLTHROUGH = 1,\n\tBRANCH = 2,\n};\n\nenum {\n\tDISK_EVENT_FLAG_POLL = 1,\n\tDISK_EVENT_FLAG_UEVENT = 2,\n\tDISK_EVENT_FLAG_BLOCK_ON_EXCL_WRITE = 4,\n};\n\nenum {\n\tDISK_EVENT_MEDIA_CHANGE = 1,\n\tDISK_EVENT_EJECT_REQUEST = 2,\n};\n\nenum {\n\tDM_IO_ACCOUNTED = 0,\n\tDM_IO_WAS_SPLIT = 1,\n\tDM_IO_BLK_STAT = 2,\n};\n\nenum {\n\tDM_TIO_INSIDE_DM_IO = 0,\n\tDM_TIO_IS_DUPLICATE_BIO = 1,\n};\n\nenum {\n\tDM_VERSION_CMD = 0,\n\tDM_REMOVE_ALL_CMD = 1,\n\tDM_LIST_DEVICES_CMD = 2,\n\tDM_DEV_CREATE_CMD = 3,\n\tDM_DEV_REMOVE_CMD = 4,\n\tDM_DEV_RENAME_CMD = 5,\n\tDM_DEV_SUSPEND_CMD = 6,\n\tDM_DEV_STATUS_CMD = 7,\n\tDM_DEV_WAIT_CMD = 8,\n\tDM_TABLE_LOAD_CMD = 9,\n\tDM_TABLE_CLEAR_CMD = 10,\n\tDM_TABLE_DEPS_CMD = 11,\n\tDM_TABLE_STATUS_CMD = 12,\n\tDM_LIST_VERSIONS_CMD = 13,\n\tDM_TARGET_MSG_CMD = 14,\n\tDM_DEV_SET_GEOMETRY_CMD = 15,\n\tDM_DEV_ARM_POLL_CMD = 16,\n\tDM_GET_TARGET_VERSION_CMD = 17,\n};\n\nenum {\n\tDONE_EXPLORING = 0,\n\tKEEP_EXPLORING = 1,\n};\n\nenum {\n\tDQF_INFO_DIRTY_B = 17,\n};\n\nenum {\n\tDQF_ROOT_SQUASH_B = 0,\n\tDQF_SYS_FILE_B = 16,\n\tDQF_PRIVATE = 17,\n};\n\nenum {\n\tDQST_LOOKUPS = 0,\n\tDQST_DROPS = 1,\n\tDQST_READS = 2,\n\tDQST_WRITES = 3,\n\tDQST_CACHE_HITS = 4,\n\tDQST_ALLOC_DQUOTS = 5,\n\tDQST_FREE_DQUOTS = 6,\n\tDQST_SYNCS = 7,\n\t_DQST_DQSTAT_LAST = 8,\n};\n\nenum {\n\tDRBL_HANDSHAKE = 1,\n\tDRBL_SOFT_RESET = 2,\n\tDRBL_BUS_CHANGE = 4,\n\tDRBL_EVENT_NOTIFY = 8,\n\tDRBL_MU_RESET = 16,\n\tDRBL_HANDSHAKE_ISR = 1,\n\tCMD_FLAG_NON_DATA = 1,\n\tCMD_FLAG_DMA = 2,\n\tCMD_FLAG_PIO = 4,\n\tCMD_FLAG_DATA_IN = 8,\n\tCMD_FLAG_DATA_OUT = 16,\n\tCMD_FLAG_PRDT_IN_HOST = 32,\n};\n\nenum {\n\tDUMP_PREFIX_NONE = 0,\n\tDUMP_PREFIX_ADDRESS = 1,\n\tDUMP_PREFIX_OFFSET = 2,\n};\n\nenum {\n\tEC_FLAGS_QUERY_ENABLED = 0,\n\tEC_FLAGS_EVENT_HANDLER_INSTALLED = 1,\n\tEC_FLAGS_EC_HANDLER_INSTALLED = 2,\n\tEC_FLAGS_EC_REG_CALLED = 3,\n\tEC_FLAGS_QUERY_METHODS_INSTALLED = 4,\n\tEC_FLAGS_STARTED = 5,\n\tEC_FLAGS_STOPPED = 6,\n\tEC_FLAGS_EVENTS_MASKED = 7,\n};\n\nenum {\n\tELANTECH_SMBUS_NOT_SET = -1,\n\tELANTECH_SMBUS_OFF = 0,\n\tELANTECH_SMBUS_ON = 1,\n};\n\nenum {\n\tEPecma = 0,\n\tEPdec = 1,\n\tEPeq = 2,\n\tEPgt = 3,\n\tEPlt = 4,\n};\n\nenum {\n\tERASE = 0,\n\tWERASE = 1,\n\tKILL = 2,\n};\n\nenum {\n\tES_WRITTEN_B = 0,\n\tES_UNWRITTEN_B = 1,\n\tES_DELAYED_B = 2,\n\tES_HOLE_B = 3,\n\tES_REFERENCED_B = 4,\n\tES_FLAGS = 5,\n};\n\nenum {\n\tETHTOOL_A_BITSET_BITS_UNSPEC = 0,\n\tETHTOOL_A_BITSET_BITS_BIT = 1,\n\t__ETHTOOL_A_BITSET_BITS_CNT = 2,\n\tETHTOOL_A_BITSET_BITS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_BITSET_BIT_UNSPEC = 0,\n\tETHTOOL_A_BITSET_BIT_INDEX = 1,\n\tETHTOOL_A_BITSET_BIT_NAME = 2,\n\tETHTOOL_A_BITSET_BIT_VALUE = 3,\n\t__ETHTOOL_A_BITSET_BIT_CNT = 4,\n\tETHTOOL_A_BITSET_BIT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_BITSET_UNSPEC = 0,\n\tETHTOOL_A_BITSET_NOMASK = 1,\n\tETHTOOL_A_BITSET_SIZE = 2,\n\tETHTOOL_A_BITSET_BITS = 3,\n\tETHTOOL_A_BITSET_VALUE = 4,\n\tETHTOOL_A_BITSET_MASK = 5,\n\t__ETHTOOL_A_BITSET_CNT = 6,\n\tETHTOOL_A_BITSET_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC = 0,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_MIN = 1,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2,\n\t__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT = 3,\n\t__ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_AMPLITUDE_PAIR = 1,\n\tETHTOOL_A_CABLE_AMPLITUDE_mV = 2,\n\t__ETHTOOL_A_CABLE_AMPLITUDE_CNT = 3,\n\tETHTOOL_A_CABLE_AMPLITUDE_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 1,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_CM = 2,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_SRC = 3,\n\t__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT = 4,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_INF_SRC_UNSPEC = 0,\n\tETHTOOL_A_CABLE_INF_SRC_TDR = 1,\n\tETHTOOL_A_CABLE_INF_SRC_ALCD = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_NEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_NEST_RESULT = 1,\n\tETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 2,\n\t__ETHTOOL_A_CABLE_NEST_CNT = 3,\n\tETHTOOL_A_CABLE_NEST_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_PAIR_A = 0,\n\tETHTOOL_A_CABLE_PAIR_B = 1,\n\tETHTOOL_A_CABLE_PAIR_C = 2,\n\tETHTOOL_A_CABLE_PAIR_D = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_PULSE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_PULSE_mV = 1,\n\t__ETHTOOL_A_CABLE_PULSE_CNT = 2,\n\tETHTOOL_A_CABLE_PULSE_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_CABLE_RESULT_UNSPEC = 0,\n\tETHTOOL_A_CABLE_RESULT_PAIR = 1,\n\tETHTOOL_A_CABLE_RESULT_CODE = 2,\n\tETHTOOL_A_CABLE_RESULT_SRC = 3,\n\t__ETHTOOL_A_CABLE_RESULT_CNT = 4,\n\tETHTOOL_A_CABLE_RESULT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_STEP_UNSPEC = 0,\n\tETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 1,\n\tETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 2,\n\tETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 3,\n\t__ETHTOOL_A_CABLE_STEP_CNT = 4,\n\tETHTOOL_A_CABLE_STEP_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TDR_NEST_STEP = 1,\n\tETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 2,\n\tETHTOOL_A_CABLE_TDR_NEST_PULSE = 3,\n\t__ETHTOOL_A_CABLE_TDR_NEST_CNT = 4,\n\tETHTOOL_A_CABLE_TDR_NEST_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 1,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_NTF_HEADER = 1,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS = 2,\n\tETHTOOL_A_CABLE_TEST_NTF_NEST = 3,\n\t__ETHTOOL_A_CABLE_TEST_NTF_CNT = 4,\n\tETHTOOL_A_CABLE_TEST_NTF_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 1,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 2,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 3,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 4,\n\t__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT = 5,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_TDR_HEADER = 1,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG = 2,\n\t__ETHTOOL_A_CABLE_TEST_TDR_CNT = 3,\n\tETHTOOL_A_CABLE_TEST_TDR_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_HEADER = 1,\n\t__ETHTOOL_A_CABLE_TEST_CNT = 2,\n\tETHTOOL_A_CABLE_TEST_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_CHANNELS_UNSPEC = 0,\n\tETHTOOL_A_CHANNELS_HEADER = 1,\n\tETHTOOL_A_CHANNELS_RX_MAX = 2,\n\tETHTOOL_A_CHANNELS_TX_MAX = 3,\n\tETHTOOL_A_CHANNELS_OTHER_MAX = 4,\n\tETHTOOL_A_CHANNELS_COMBINED_MAX = 5,\n\tETHTOOL_A_CHANNELS_RX_COUNT = 6,\n\tETHTOOL_A_CHANNELS_TX_COUNT = 7,\n\tETHTOOL_A_CHANNELS_OTHER_COUNT = 8,\n\tETHTOOL_A_CHANNELS_COMBINED_COUNT = 9,\n\t__ETHTOOL_A_CHANNELS_CNT = 10,\n\tETHTOOL_A_CHANNELS_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_COALESCE_UNSPEC = 0,\n\tETHTOOL_A_COALESCE_HEADER = 1,\n\tETHTOOL_A_COALESCE_RX_USECS = 2,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES = 3,\n\tETHTOOL_A_COALESCE_RX_USECS_IRQ = 4,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 5,\n\tETHTOOL_A_COALESCE_TX_USECS = 6,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES = 7,\n\tETHTOOL_A_COALESCE_TX_USECS_IRQ = 8,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 9,\n\tETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 10,\n\tETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 11,\n\tETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 12,\n\tETHTOOL_A_COALESCE_PKT_RATE_LOW = 13,\n\tETHTOOL_A_COALESCE_RX_USECS_LOW = 14,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 15,\n\tETHTOOL_A_COALESCE_TX_USECS_LOW = 16,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 17,\n\tETHTOOL_A_COALESCE_PKT_RATE_HIGH = 18,\n\tETHTOOL_A_COALESCE_RX_USECS_HIGH = 19,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 20,\n\tETHTOOL_A_COALESCE_TX_USECS_HIGH = 21,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 22,\n\tETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 23,\n\tETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 24,\n\tETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 25,\n\tETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES = 26,\n\tETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES = 27,\n\tETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS = 28,\n\tETHTOOL_A_COALESCE_RX_PROFILE = 29,\n\tETHTOOL_A_COALESCE_TX_PROFILE = 30,\n\t__ETHTOOL_A_COALESCE_CNT = 31,\n\tETHTOOL_A_COALESCE_MAX = 30,\n};\n\nenum {\n\tETHTOOL_A_DEBUG_UNSPEC = 0,\n\tETHTOOL_A_DEBUG_HEADER = 1,\n\tETHTOOL_A_DEBUG_MSGMASK = 2,\n\t__ETHTOOL_A_DEBUG_CNT = 3,\n\tETHTOOL_A_DEBUG_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_EEE_UNSPEC = 0,\n\tETHTOOL_A_EEE_HEADER = 1,\n\tETHTOOL_A_EEE_MODES_OURS = 2,\n\tETHTOOL_A_EEE_MODES_PEER = 3,\n\tETHTOOL_A_EEE_ACTIVE = 4,\n\tETHTOOL_A_EEE_ENABLED = 5,\n\tETHTOOL_A_EEE_TX_LPI_ENABLED = 6,\n\tETHTOOL_A_EEE_TX_LPI_TIMER = 7,\n\t__ETHTOOL_A_EEE_CNT = 8,\n\tETHTOOL_A_EEE_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_FEATURES_UNSPEC = 0,\n\tETHTOOL_A_FEATURES_HEADER = 1,\n\tETHTOOL_A_FEATURES_HW = 2,\n\tETHTOOL_A_FEATURES_WANTED = 3,\n\tETHTOOL_A_FEATURES_ACTIVE = 4,\n\tETHTOOL_A_FEATURES_NOCHANGE = 5,\n\t__ETHTOOL_A_FEATURES_CNT = 6,\n\tETHTOOL_A_FEATURES_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_FEC_STAT_UNSPEC = 0,\n\tETHTOOL_A_FEC_STAT_PAD = 1,\n\tETHTOOL_A_FEC_STAT_CORRECTED = 2,\n\tETHTOOL_A_FEC_STAT_UNCORR = 3,\n\tETHTOOL_A_FEC_STAT_CORR_BITS = 4,\n\t__ETHTOOL_A_FEC_STAT_CNT = 5,\n\tETHTOOL_A_FEC_STAT_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_FEC_UNSPEC = 0,\n\tETHTOOL_A_FEC_HEADER = 1,\n\tETHTOOL_A_FEC_MODES = 2,\n\tETHTOOL_A_FEC_AUTO = 3,\n\tETHTOOL_A_FEC_ACTIVE = 4,\n\tETHTOOL_A_FEC_STATS = 5,\n\t__ETHTOOL_A_FEC_CNT = 6,\n\tETHTOOL_A_FEC_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_HEADER_UNSPEC = 0,\n\tETHTOOL_A_HEADER_DEV_INDEX = 1,\n\tETHTOOL_A_HEADER_DEV_NAME = 2,\n\tETHTOOL_A_HEADER_FLAGS = 3,\n\tETHTOOL_A_HEADER_PHY_INDEX = 4,\n\t__ETHTOOL_A_HEADER_CNT = 5,\n\tETHTOOL_A_HEADER_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_IRQ_MODERATION_UNSPEC = 0,\n\tETHTOOL_A_IRQ_MODERATION_USEC = 1,\n\tETHTOOL_A_IRQ_MODERATION_PKTS = 2,\n\tETHTOOL_A_IRQ_MODERATION_COMPS = 3,\n\t__ETHTOOL_A_IRQ_MODERATION_CNT = 4,\n\tETHTOOL_A_IRQ_MODERATION_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_LINKINFO_UNSPEC = 0,\n\tETHTOOL_A_LINKINFO_HEADER = 1,\n\tETHTOOL_A_LINKINFO_PORT = 2,\n\tETHTOOL_A_LINKINFO_PHYADDR = 3,\n\tETHTOOL_A_LINKINFO_TP_MDIX = 4,\n\tETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 5,\n\tETHTOOL_A_LINKINFO_TRANSCEIVER = 6,\n\t__ETHTOOL_A_LINKINFO_CNT = 7,\n\tETHTOOL_A_LINKINFO_MAX = 6,\n};\n\nenum {\n\tETHTOOL_A_LINKMODES_UNSPEC = 0,\n\tETHTOOL_A_LINKMODES_HEADER = 1,\n\tETHTOOL_A_LINKMODES_AUTONEG = 2,\n\tETHTOOL_A_LINKMODES_OURS = 3,\n\tETHTOOL_A_LINKMODES_PEER = 4,\n\tETHTOOL_A_LINKMODES_SPEED = 5,\n\tETHTOOL_A_LINKMODES_DUPLEX = 6,\n\tETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 7,\n\tETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 8,\n\tETHTOOL_A_LINKMODES_LANES = 9,\n\tETHTOOL_A_LINKMODES_RATE_MATCHING = 10,\n\t__ETHTOOL_A_LINKMODES_CNT = 11,\n\tETHTOOL_A_LINKMODES_MAX = 10,\n};\n\nenum {\n\tETHTOOL_A_LINKSTATE_UNSPEC = 0,\n\tETHTOOL_A_LINKSTATE_HEADER = 1,\n\tETHTOOL_A_LINKSTATE_LINK = 2,\n\tETHTOOL_A_LINKSTATE_SQI = 3,\n\tETHTOOL_A_LINKSTATE_SQI_MAX = 4,\n\tETHTOOL_A_LINKSTATE_EXT_STATE = 5,\n\tETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 6,\n\tETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = 7,\n\t__ETHTOOL_A_LINKSTATE_CNT = 8,\n\tETHTOOL_A_LINKSTATE_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MM_STAT_UNSPEC = 0,\n\tETHTOOL_A_MM_STAT_PAD = 1,\n\tETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS = 2,\n\tETHTOOL_A_MM_STAT_SMD_ERRORS = 3,\n\tETHTOOL_A_MM_STAT_REASSEMBLY_OK = 4,\n\tETHTOOL_A_MM_STAT_RX_FRAG_COUNT = 5,\n\tETHTOOL_A_MM_STAT_TX_FRAG_COUNT = 6,\n\tETHTOOL_A_MM_STAT_HOLD_COUNT = 7,\n\t__ETHTOOL_A_MM_STAT_CNT = 8,\n\tETHTOOL_A_MM_STAT_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MM_UNSPEC = 0,\n\tETHTOOL_A_MM_HEADER = 1,\n\tETHTOOL_A_MM_PMAC_ENABLED = 2,\n\tETHTOOL_A_MM_TX_ENABLED = 3,\n\tETHTOOL_A_MM_TX_ACTIVE = 4,\n\tETHTOOL_A_MM_TX_MIN_FRAG_SIZE = 5,\n\tETHTOOL_A_MM_RX_MIN_FRAG_SIZE = 6,\n\tETHTOOL_A_MM_VERIFY_ENABLED = 7,\n\tETHTOOL_A_MM_VERIFY_STATUS = 8,\n\tETHTOOL_A_MM_VERIFY_TIME = 9,\n\tETHTOOL_A_MM_MAX_VERIFY_TIME = 10,\n\tETHTOOL_A_MM_STATS = 11,\n\t__ETHTOOL_A_MM_CNT = 12,\n\tETHTOOL_A_MM_MAX = 11,\n};\n\nenum {\n\tETHTOOL_A_MODULE_EEPROM_UNSPEC = 0,\n\tETHTOOL_A_MODULE_EEPROM_HEADER = 1,\n\tETHTOOL_A_MODULE_EEPROM_OFFSET = 2,\n\tETHTOOL_A_MODULE_EEPROM_LENGTH = 3,\n\tETHTOOL_A_MODULE_EEPROM_PAGE = 4,\n\tETHTOOL_A_MODULE_EEPROM_BANK = 5,\n\tETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS = 6,\n\tETHTOOL_A_MODULE_EEPROM_DATA = 7,\n\t__ETHTOOL_A_MODULE_EEPROM_CNT = 8,\n\tETHTOOL_A_MODULE_EEPROM_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MODULE_FW_FLASH_UNSPEC = 0,\n\tETHTOOL_A_MODULE_FW_FLASH_HEADER = 1,\n\tETHTOOL_A_MODULE_FW_FLASH_FILE_NAME = 2,\n\tETHTOOL_A_MODULE_FW_FLASH_PASSWORD = 3,\n\tETHTOOL_A_MODULE_FW_FLASH_STATUS = 4,\n\tETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG = 5,\n\tETHTOOL_A_MODULE_FW_FLASH_DONE = 6,\n\tETHTOOL_A_MODULE_FW_FLASH_TOTAL = 7,\n\t__ETHTOOL_A_MODULE_FW_FLASH_CNT = 8,\n\tETHTOOL_A_MODULE_FW_FLASH_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MODULE_UNSPEC = 0,\n\tETHTOOL_A_MODULE_HEADER = 1,\n\tETHTOOL_A_MODULE_POWER_MODE_POLICY = 2,\n\tETHTOOL_A_MODULE_POWER_MODE = 3,\n\t__ETHTOOL_A_MODULE_CNT = 4,\n\tETHTOOL_A_MODULE_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PAUSE_STAT_UNSPEC = 0,\n\tETHTOOL_A_PAUSE_STAT_PAD = 1,\n\tETHTOOL_A_PAUSE_STAT_TX_FRAMES = 2,\n\tETHTOOL_A_PAUSE_STAT_RX_FRAMES = 3,\n\t__ETHTOOL_A_PAUSE_STAT_CNT = 4,\n\tETHTOOL_A_PAUSE_STAT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PAUSE_UNSPEC = 0,\n\tETHTOOL_A_PAUSE_HEADER = 1,\n\tETHTOOL_A_PAUSE_AUTONEG = 2,\n\tETHTOOL_A_PAUSE_RX = 3,\n\tETHTOOL_A_PAUSE_TX = 4,\n\tETHTOOL_A_PAUSE_STATS = 5,\n\tETHTOOL_A_PAUSE_STATS_SRC = 6,\n\t__ETHTOOL_A_PAUSE_CNT = 7,\n\tETHTOOL_A_PAUSE_MAX = 6,\n};\n\nenum {\n\tETHTOOL_A_PHC_VCLOCKS_UNSPEC = 0,\n\tETHTOOL_A_PHC_VCLOCKS_HEADER = 1,\n\tETHTOOL_A_PHC_VCLOCKS_NUM = 2,\n\tETHTOOL_A_PHC_VCLOCKS_INDEX = 3,\n\t__ETHTOOL_A_PHC_VCLOCKS_CNT = 4,\n\tETHTOOL_A_PHC_VCLOCKS_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PHY_UNSPEC = 0,\n\tETHTOOL_A_PHY_HEADER = 1,\n\tETHTOOL_A_PHY_INDEX = 2,\n\tETHTOOL_A_PHY_DRVNAME = 3,\n\tETHTOOL_A_PHY_NAME = 4,\n\tETHTOOL_A_PHY_UPSTREAM_TYPE = 5,\n\tETHTOOL_A_PHY_UPSTREAM_INDEX = 6,\n\tETHTOOL_A_PHY_UPSTREAM_SFP_NAME = 7,\n\tETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME = 8,\n\t__ETHTOOL_A_PHY_CNT = 9,\n\tETHTOOL_A_PHY_MAX = 8,\n};\n\nenum {\n\tETHTOOL_A_PLCA_UNSPEC = 0,\n\tETHTOOL_A_PLCA_HEADER = 1,\n\tETHTOOL_A_PLCA_VERSION = 2,\n\tETHTOOL_A_PLCA_ENABLED = 3,\n\tETHTOOL_A_PLCA_STATUS = 4,\n\tETHTOOL_A_PLCA_NODE_CNT = 5,\n\tETHTOOL_A_PLCA_NODE_ID = 6,\n\tETHTOOL_A_PLCA_TO_TMR = 7,\n\tETHTOOL_A_PLCA_BURST_CNT = 8,\n\tETHTOOL_A_PLCA_BURST_TMR = 9,\n\t__ETHTOOL_A_PLCA_CNT = 10,\n\tETHTOOL_A_PLCA_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_PRIVFLAGS_UNSPEC = 0,\n\tETHTOOL_A_PRIVFLAGS_HEADER = 1,\n\tETHTOOL_A_PRIVFLAGS_FLAGS = 2,\n\t__ETHTOOL_A_PRIVFLAGS_CNT = 3,\n\tETHTOOL_A_PRIVFLAGS_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_PROFILE_UNSPEC = 0,\n\tETHTOOL_A_PROFILE_IRQ_MODERATION = 1,\n\t__ETHTOOL_A_PROFILE_CNT = 2,\n\tETHTOOL_A_PROFILE_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_PSE_UNSPEC = 0,\n\tETHTOOL_A_PSE_HEADER = 1,\n\tETHTOOL_A_PODL_PSE_ADMIN_STATE = 2,\n\tETHTOOL_A_PODL_PSE_ADMIN_CONTROL = 3,\n\tETHTOOL_A_PODL_PSE_PW_D_STATUS = 4,\n\tETHTOOL_A_C33_PSE_ADMIN_STATE = 5,\n\tETHTOOL_A_C33_PSE_ADMIN_CONTROL = 6,\n\tETHTOOL_A_C33_PSE_PW_D_STATUS = 7,\n\tETHTOOL_A_C33_PSE_PW_CLASS = 8,\n\tETHTOOL_A_C33_PSE_ACTUAL_PW = 9,\n\tETHTOOL_A_C33_PSE_EXT_STATE = 10,\n\tETHTOOL_A_C33_PSE_EXT_SUBSTATE = 11,\n\tETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT = 12,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_RANGES = 13,\n\t__ETHTOOL_A_PSE_CNT = 14,\n\tETHTOOL_A_PSE_MAX = 13,\n};\n\nenum {\n\tETHTOOL_A_RINGS_UNSPEC = 0,\n\tETHTOOL_A_RINGS_HEADER = 1,\n\tETHTOOL_A_RINGS_RX_MAX = 2,\n\tETHTOOL_A_RINGS_RX_MINI_MAX = 3,\n\tETHTOOL_A_RINGS_RX_JUMBO_MAX = 4,\n\tETHTOOL_A_RINGS_TX_MAX = 5,\n\tETHTOOL_A_RINGS_RX = 6,\n\tETHTOOL_A_RINGS_RX_MINI = 7,\n\tETHTOOL_A_RINGS_RX_JUMBO = 8,\n\tETHTOOL_A_RINGS_TX = 9,\n\tETHTOOL_A_RINGS_RX_BUF_LEN = 10,\n\tETHTOOL_A_RINGS_TCP_DATA_SPLIT = 11,\n\tETHTOOL_A_RINGS_CQE_SIZE = 12,\n\tETHTOOL_A_RINGS_TX_PUSH = 13,\n\tETHTOOL_A_RINGS_RX_PUSH = 14,\n\tETHTOOL_A_RINGS_TX_PUSH_BUF_LEN = 15,\n\tETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX = 16,\n\tETHTOOL_A_RINGS_HDS_THRESH = 17,\n\tETHTOOL_A_RINGS_HDS_THRESH_MAX = 18,\n\t__ETHTOOL_A_RINGS_CNT = 19,\n\tETHTOOL_A_RINGS_MAX = 18,\n};\n\nenum {\n\tETHTOOL_A_RSS_UNSPEC = 0,\n\tETHTOOL_A_RSS_HEADER = 1,\n\tETHTOOL_A_RSS_CONTEXT = 2,\n\tETHTOOL_A_RSS_HFUNC = 3,\n\tETHTOOL_A_RSS_INDIR = 4,\n\tETHTOOL_A_RSS_HKEY = 5,\n\tETHTOOL_A_RSS_INPUT_XFRM = 6,\n\tETHTOOL_A_RSS_START_CONTEXT = 7,\n\t__ETHTOOL_A_RSS_CNT = 8,\n\tETHTOOL_A_RSS_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_CTRL_3_TX = 0,\n\tETHTOOL_A_STATS_ETH_CTRL_4_RX = 1,\n\tETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP = 2,\n\t__ETHTOOL_A_STATS_ETH_CTRL_CNT = 3,\n\tETHTOOL_A_STATS_ETH_CTRL_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_MAC_2_TX_PKT = 0,\n\tETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL = 1,\n\tETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL = 2,\n\tETHTOOL_A_STATS_ETH_MAC_5_RX_PKT = 3,\n\tETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR = 4,\n\tETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR = 5,\n\tETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES = 6,\n\tETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER = 7,\n\tETHTOOL_A_STATS_ETH_MAC_10_LATE_COL = 8,\n\tETHTOOL_A_STATS_ETH_MAC_11_XS_COL = 9,\n\tETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR = 10,\n\tETHTOOL_A_STATS_ETH_MAC_13_CS_ERR = 11,\n\tETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES = 12,\n\tETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR = 13,\n\tETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST = 14,\n\tETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST = 15,\n\tETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER = 16,\n\tETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST = 17,\n\tETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST = 18,\n\tETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR = 19,\n\tETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN = 20,\n\tETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR = 21,\n\t__ETHTOOL_A_STATS_ETH_MAC_CNT = 22,\n\tETHTOOL_A_STATS_ETH_MAC_MAX = 21,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR = 0,\n\t__ETHTOOL_A_STATS_ETH_PHY_CNT = 1,\n\tETHTOOL_A_STATS_ETH_PHY_MAX = 0,\n};\n\nenum {\n\tETHTOOL_A_STATS_GRP_UNSPEC = 0,\n\tETHTOOL_A_STATS_GRP_PAD = 1,\n\tETHTOOL_A_STATS_GRP_ID = 2,\n\tETHTOOL_A_STATS_GRP_SS_ID = 3,\n\tETHTOOL_A_STATS_GRP_STAT = 4,\n\tETHTOOL_A_STATS_GRP_HIST_RX = 5,\n\tETHTOOL_A_STATS_GRP_HIST_TX = 6,\n\tETHTOOL_A_STATS_GRP_HIST_BKT_LOW = 7,\n\tETHTOOL_A_STATS_GRP_HIST_BKT_HI = 8,\n\tETHTOOL_A_STATS_GRP_HIST_VAL = 9,\n\t__ETHTOOL_A_STATS_GRP_CNT = 10,\n\tETHTOOL_A_STATS_GRP_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_STATS_PHY_RX_PKTS = 0,\n\tETHTOOL_A_STATS_PHY_RX_BYTES = 1,\n\tETHTOOL_A_STATS_PHY_RX_ERRORS = 2,\n\tETHTOOL_A_STATS_PHY_TX_PKTS = 3,\n\tETHTOOL_A_STATS_PHY_TX_BYTES = 4,\n\tETHTOOL_A_STATS_PHY_TX_ERRORS = 5,\n\t__ETHTOOL_A_STATS_PHY_CNT = 6,\n\tETHTOOL_A_STATS_PHY_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_STATS_RMON_UNDERSIZE = 0,\n\tETHTOOL_A_STATS_RMON_OVERSIZE = 1,\n\tETHTOOL_A_STATS_RMON_FRAG = 2,\n\tETHTOOL_A_STATS_RMON_JABBER = 3,\n\t__ETHTOOL_A_STATS_RMON_CNT = 4,\n\tETHTOOL_A_STATS_RMON_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_STATS_UNSPEC = 0,\n\tETHTOOL_A_STATS_PAD = 1,\n\tETHTOOL_A_STATS_HEADER = 2,\n\tETHTOOL_A_STATS_GROUPS = 3,\n\tETHTOOL_A_STATS_GRP = 4,\n\tETHTOOL_A_STATS_SRC = 5,\n\t__ETHTOOL_A_STATS_CNT = 6,\n\tETHTOOL_A_STATS_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_STRINGSETS_UNSPEC = 0,\n\tETHTOOL_A_STRINGSETS_STRINGSET = 1,\n\t__ETHTOOL_A_STRINGSETS_CNT = 2,\n\tETHTOOL_A_STRINGSETS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_STRINGSET_UNSPEC = 0,\n\tETHTOOL_A_STRINGSET_ID = 1,\n\tETHTOOL_A_STRINGSET_COUNT = 2,\n\tETHTOOL_A_STRINGSET_STRINGS = 3,\n\t__ETHTOOL_A_STRINGSET_CNT = 4,\n\tETHTOOL_A_STRINGSET_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_STRINGS_UNSPEC = 0,\n\tETHTOOL_A_STRINGS_STRING = 1,\n\t__ETHTOOL_A_STRINGS_CNT = 2,\n\tETHTOOL_A_STRINGS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_STRING_UNSPEC = 0,\n\tETHTOOL_A_STRING_INDEX = 1,\n\tETHTOOL_A_STRING_VALUE = 2,\n\t__ETHTOOL_A_STRING_CNT = 3,\n\tETHTOOL_A_STRING_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_STRSET_UNSPEC = 0,\n\tETHTOOL_A_STRSET_HEADER = 1,\n\tETHTOOL_A_STRSET_STRINGSETS = 2,\n\tETHTOOL_A_STRSET_COUNTS_ONLY = 3,\n\t__ETHTOOL_A_STRSET_CNT = 4,\n\tETHTOOL_A_STRSET_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_TSCONFIG_UNSPEC = 0,\n\tETHTOOL_A_TSCONFIG_HEADER = 1,\n\tETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER = 2,\n\tETHTOOL_A_TSCONFIG_TX_TYPES = 3,\n\tETHTOOL_A_TSCONFIG_RX_FILTERS = 4,\n\tETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS = 5,\n\t__ETHTOOL_A_TSCONFIG_CNT = 6,\n\tETHTOOL_A_TSCONFIG_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_TSINFO_UNSPEC = 0,\n\tETHTOOL_A_TSINFO_HEADER = 1,\n\tETHTOOL_A_TSINFO_TIMESTAMPING = 2,\n\tETHTOOL_A_TSINFO_TX_TYPES = 3,\n\tETHTOOL_A_TSINFO_RX_FILTERS = 4,\n\tETHTOOL_A_TSINFO_PHC_INDEX = 5,\n\tETHTOOL_A_TSINFO_STATS = 6,\n\tETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 7,\n\t__ETHTOOL_A_TSINFO_CNT = 8,\n\tETHTOOL_A_TSINFO_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC = 0,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX = 1,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER = 2,\n\t__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT = 3,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TS_STAT_UNSPEC = 0,\n\tETHTOOL_A_TS_STAT_TX_PKTS = 1,\n\tETHTOOL_A_TS_STAT_TX_LOST = 2,\n\tETHTOOL_A_TS_STAT_TX_ERR = 3,\n\tETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED = 4,\n\t__ETHTOOL_A_TS_STAT_CNT = 5,\n\tETHTOOL_A_TS_STAT_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_INFO_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_INFO_HEADER = 1,\n\tETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 2,\n\t__ETHTOOL_A_TUNNEL_INFO_CNT = 3,\n\tETHTOOL_A_TUNNEL_INFO_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 1,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 2,\n\t__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT = 3,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 1,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 2,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 3,\n\t__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT = 4,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_TABLE = 1,\n\t__ETHTOOL_A_TUNNEL_UDP_CNT = 2,\n\tETHTOOL_A_TUNNEL_UDP_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_WOL_UNSPEC = 0,\n\tETHTOOL_A_WOL_HEADER = 1,\n\tETHTOOL_A_WOL_MODES = 2,\n\tETHTOOL_A_WOL_SOPASS = 3,\n\t__ETHTOOL_A_WOL_CNT = 4,\n\tETHTOOL_A_WOL_MAX = 3,\n};\n\nenum {\n\tETHTOOL_MSG_KERNEL_NONE = 0,\n\tETHTOOL_MSG_STRSET_GET_REPLY = 1,\n\tETHTOOL_MSG_LINKINFO_GET_REPLY = 2,\n\tETHTOOL_MSG_LINKINFO_NTF = 3,\n\tETHTOOL_MSG_LINKMODES_GET_REPLY = 4,\n\tETHTOOL_MSG_LINKMODES_NTF = 5,\n\tETHTOOL_MSG_LINKSTATE_GET_REPLY = 6,\n\tETHTOOL_MSG_DEBUG_GET_REPLY = 7,\n\tETHTOOL_MSG_DEBUG_NTF = 8,\n\tETHTOOL_MSG_WOL_GET_REPLY = 9,\n\tETHTOOL_MSG_WOL_NTF = 10,\n\tETHTOOL_MSG_FEATURES_GET_REPLY = 11,\n\tETHTOOL_MSG_FEATURES_SET_REPLY = 12,\n\tETHTOOL_MSG_FEATURES_NTF = 13,\n\tETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 14,\n\tETHTOOL_MSG_PRIVFLAGS_NTF = 15,\n\tETHTOOL_MSG_RINGS_GET_REPLY = 16,\n\tETHTOOL_MSG_RINGS_NTF = 17,\n\tETHTOOL_MSG_CHANNELS_GET_REPLY = 18,\n\tETHTOOL_MSG_CHANNELS_NTF = 19,\n\tETHTOOL_MSG_COALESCE_GET_REPLY = 20,\n\tETHTOOL_MSG_COALESCE_NTF = 21,\n\tETHTOOL_MSG_PAUSE_GET_REPLY = 22,\n\tETHTOOL_MSG_PAUSE_NTF = 23,\n\tETHTOOL_MSG_EEE_GET_REPLY = 24,\n\tETHTOOL_MSG_EEE_NTF = 25,\n\tETHTOOL_MSG_TSINFO_GET_REPLY = 26,\n\tETHTOOL_MSG_CABLE_TEST_NTF = 27,\n\tETHTOOL_MSG_CABLE_TEST_TDR_NTF = 28,\n\tETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 29,\n\tETHTOOL_MSG_FEC_GET_REPLY = 30,\n\tETHTOOL_MSG_FEC_NTF = 31,\n\tETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 32,\n\tETHTOOL_MSG_STATS_GET_REPLY = 33,\n\tETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 34,\n\tETHTOOL_MSG_MODULE_GET_REPLY = 35,\n\tETHTOOL_MSG_MODULE_NTF = 36,\n\tETHTOOL_MSG_PSE_GET_REPLY = 37,\n\tETHTOOL_MSG_RSS_GET_REPLY = 38,\n\tETHTOOL_MSG_PLCA_GET_CFG_REPLY = 39,\n\tETHTOOL_MSG_PLCA_GET_STATUS_REPLY = 40,\n\tETHTOOL_MSG_PLCA_NTF = 41,\n\tETHTOOL_MSG_MM_GET_REPLY = 42,\n\tETHTOOL_MSG_MM_NTF = 43,\n\tETHTOOL_MSG_MODULE_FW_FLASH_NTF = 44,\n\tETHTOOL_MSG_PHY_GET_REPLY = 45,\n\tETHTOOL_MSG_PHY_NTF = 46,\n\tETHTOOL_MSG_TSCONFIG_GET_REPLY = 47,\n\tETHTOOL_MSG_TSCONFIG_SET_REPLY = 48,\n\t__ETHTOOL_MSG_KERNEL_CNT = 49,\n\tETHTOOL_MSG_KERNEL_MAX = 48,\n};\n\nenum {\n\tETHTOOL_MSG_USER_NONE = 0,\n\tETHTOOL_MSG_STRSET_GET = 1,\n\tETHTOOL_MSG_LINKINFO_GET = 2,\n\tETHTOOL_MSG_LINKINFO_SET = 3,\n\tETHTOOL_MSG_LINKMODES_GET = 4,\n\tETHTOOL_MSG_LINKMODES_SET = 5,\n\tETHTOOL_MSG_LINKSTATE_GET = 6,\n\tETHTOOL_MSG_DEBUG_GET = 7,\n\tETHTOOL_MSG_DEBUG_SET = 8,\n\tETHTOOL_MSG_WOL_GET = 9,\n\tETHTOOL_MSG_WOL_SET = 10,\n\tETHTOOL_MSG_FEATURES_GET = 11,\n\tETHTOOL_MSG_FEATURES_SET = 12,\n\tETHTOOL_MSG_PRIVFLAGS_GET = 13,\n\tETHTOOL_MSG_PRIVFLAGS_SET = 14,\n\tETHTOOL_MSG_RINGS_GET = 15,\n\tETHTOOL_MSG_RINGS_SET = 16,\n\tETHTOOL_MSG_CHANNELS_GET = 17,\n\tETHTOOL_MSG_CHANNELS_SET = 18,\n\tETHTOOL_MSG_COALESCE_GET = 19,\n\tETHTOOL_MSG_COALESCE_SET = 20,\n\tETHTOOL_MSG_PAUSE_GET = 21,\n\tETHTOOL_MSG_PAUSE_SET = 22,\n\tETHTOOL_MSG_EEE_GET = 23,\n\tETHTOOL_MSG_EEE_SET = 24,\n\tETHTOOL_MSG_TSINFO_GET = 25,\n\tETHTOOL_MSG_CABLE_TEST_ACT = 26,\n\tETHTOOL_MSG_CABLE_TEST_TDR_ACT = 27,\n\tETHTOOL_MSG_TUNNEL_INFO_GET = 28,\n\tETHTOOL_MSG_FEC_GET = 29,\n\tETHTOOL_MSG_FEC_SET = 30,\n\tETHTOOL_MSG_MODULE_EEPROM_GET = 31,\n\tETHTOOL_MSG_STATS_GET = 32,\n\tETHTOOL_MSG_PHC_VCLOCKS_GET = 33,\n\tETHTOOL_MSG_MODULE_GET = 34,\n\tETHTOOL_MSG_MODULE_SET = 35,\n\tETHTOOL_MSG_PSE_GET = 36,\n\tETHTOOL_MSG_PSE_SET = 37,\n\tETHTOOL_MSG_RSS_GET = 38,\n\tETHTOOL_MSG_PLCA_GET_CFG = 39,\n\tETHTOOL_MSG_PLCA_SET_CFG = 40,\n\tETHTOOL_MSG_PLCA_GET_STATUS = 41,\n\tETHTOOL_MSG_MM_GET = 42,\n\tETHTOOL_MSG_MM_SET = 43,\n\tETHTOOL_MSG_MODULE_FW_FLASH_ACT = 44,\n\tETHTOOL_MSG_PHY_GET = 45,\n\tETHTOOL_MSG_TSCONFIG_GET = 46,\n\tETHTOOL_MSG_TSCONFIG_SET = 47,\n\t__ETHTOOL_MSG_USER_CNT = 48,\n\tETHTOOL_MSG_USER_MAX = 47,\n};\n\nenum {\n\tETHTOOL_STATS_ETH_PHY = 0,\n\tETHTOOL_STATS_ETH_MAC = 1,\n\tETHTOOL_STATS_ETH_CTRL = 2,\n\tETHTOOL_STATS_RMON = 3,\n\tETHTOOL_STATS_PHY = 4,\n\t__ETHTOOL_STATS_CNT = 5,\n};\n\nenum {\n\tETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0,\n\tETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 1,\n\tETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 2,\n\t__ETHTOOL_UDP_TUNNEL_TYPE_CNT = 3,\n\tETHTOOL_UDP_TUNNEL_TYPE_MAX = 2,\n};\n\nenum {\n\tETH_RSS_HASH_TOP_BIT = 0,\n\tETH_RSS_HASH_XOR_BIT = 1,\n\tETH_RSS_HASH_CRC32_BIT = 2,\n\tETH_RSS_HASH_FUNCS_COUNT = 3,\n};\n\nenum {\n\tEVENTFS_SAVE_MODE = 65536,\n\tEVENTFS_SAVE_UID = 131072,\n\tEVENTFS_SAVE_GID = 262144,\n};\n\nenum {\n\tEVENT_FILE_FL_ENABLED = 1,\n\tEVENT_FILE_FL_RECORDED_CMD = 2,\n\tEVENT_FILE_FL_RECORDED_TGID = 4,\n\tEVENT_FILE_FL_FILTERED = 8,\n\tEVENT_FILE_FL_NO_SET_FILTER = 16,\n\tEVENT_FILE_FL_SOFT_MODE = 32,\n\tEVENT_FILE_FL_SOFT_DISABLED = 64,\n\tEVENT_FILE_FL_TRIGGER_MODE = 128,\n\tEVENT_FILE_FL_TRIGGER_COND = 256,\n\tEVENT_FILE_FL_PID_FILTER = 512,\n\tEVENT_FILE_FL_WAS_ENABLED = 1024,\n\tEVENT_FILE_FL_FREED = 2048,\n};\n\nenum {\n\tEVENT_FILE_FL_ENABLED_BIT = 0,\n\tEVENT_FILE_FL_RECORDED_CMD_BIT = 1,\n\tEVENT_FILE_FL_RECORDED_TGID_BIT = 2,\n\tEVENT_FILE_FL_FILTERED_BIT = 3,\n\tEVENT_FILE_FL_NO_SET_FILTER_BIT = 4,\n\tEVENT_FILE_FL_SOFT_MODE_BIT = 5,\n\tEVENT_FILE_FL_SOFT_DISABLED_BIT = 6,\n\tEVENT_FILE_FL_TRIGGER_MODE_BIT = 7,\n\tEVENT_FILE_FL_TRIGGER_COND_BIT = 8,\n\tEVENT_FILE_FL_PID_FILTER_BIT = 9,\n\tEVENT_FILE_FL_WAS_ENABLED_BIT = 10,\n\tEVENT_FILE_FL_FREED_BIT = 11,\n};\n\nenum {\n\tEVENT_TRIGGER_FL_PROBE = 1,\n};\n\nenum {\n\tEXP_STATS_FH_STALE = 0,\n\tEXP_STATS_IO_READ = 1,\n\tEXP_STATS_IO_WRITE = 2,\n\tEXP_STATS_COUNTERS_NUM = 3,\n};\n\nenum {\n\tEXT4_FC_REASON_XATTR = 0,\n\tEXT4_FC_REASON_CROSS_RENAME = 1,\n\tEXT4_FC_REASON_JOURNAL_FLAG_CHANGE = 2,\n\tEXT4_FC_REASON_NOMEM = 3,\n\tEXT4_FC_REASON_SWAP_BOOT = 4,\n\tEXT4_FC_REASON_RESIZE = 5,\n\tEXT4_FC_REASON_RENAME_DIR = 6,\n\tEXT4_FC_REASON_FALLOC_RANGE = 7,\n\tEXT4_FC_REASON_INODE_JOURNAL_DATA = 8,\n\tEXT4_FC_REASON_ENCRYPTED_FILENAME = 9,\n\tEXT4_FC_REASON_MAX = 10,\n};\n\nenum {\n\tEXT4_FC_STATUS_OK = 0,\n\tEXT4_FC_STATUS_INELIGIBLE = 1,\n\tEXT4_FC_STATUS_SKIPPED = 2,\n\tEXT4_FC_STATUS_FAILED = 3,\n};\n\nenum {\n\tEXT4_INODE_SECRM = 0,\n\tEXT4_INODE_UNRM = 1,\n\tEXT4_INODE_COMPR = 2,\n\tEXT4_INODE_SYNC = 3,\n\tEXT4_INODE_IMMUTABLE = 4,\n\tEXT4_INODE_APPEND = 5,\n\tEXT4_INODE_NODUMP = 6,\n\tEXT4_INODE_NOATIME = 7,\n\tEXT4_INODE_DIRTY = 8,\n\tEXT4_INODE_COMPRBLK = 9,\n\tEXT4_INODE_NOCOMPR = 10,\n\tEXT4_INODE_ENCRYPT = 11,\n\tEXT4_INODE_INDEX = 12,\n\tEXT4_INODE_IMAGIC = 13,\n\tEXT4_INODE_JOURNAL_DATA = 14,\n\tEXT4_INODE_NOTAIL = 15,\n\tEXT4_INODE_DIRSYNC = 16,\n\tEXT4_INODE_TOPDIR = 17,\n\tEXT4_INODE_HUGE_FILE = 18,\n\tEXT4_INODE_EXTENTS = 19,\n\tEXT4_INODE_VERITY = 20,\n\tEXT4_INODE_EA_INODE = 21,\n\tEXT4_INODE_DAX = 25,\n\tEXT4_INODE_INLINE_DATA = 28,\n\tEXT4_INODE_PROJINHERIT = 29,\n\tEXT4_INODE_CASEFOLD = 30,\n\tEXT4_INODE_RESERVED = 31,\n};\n\nenum {\n\tEXT4_MF_MNTDIR_SAMPLED = 0,\n\tEXT4_MF_FC_INELIGIBLE = 1,\n};\n\nenum {\n\tEXT4_STATE_NEW = 0,\n\tEXT4_STATE_XATTR = 1,\n\tEXT4_STATE_NO_EXPAND = 2,\n\tEXT4_STATE_DA_ALLOC_CLOSE = 3,\n\tEXT4_STATE_EXT_MIGRATE = 4,\n\tEXT4_STATE_NEWENTRY = 5,\n\tEXT4_STATE_MAY_INLINE_DATA = 6,\n\tEXT4_STATE_EXT_PRECACHED = 7,\n\tEXT4_STATE_LUSTRE_EA_INODE = 8,\n\tEXT4_STATE_VERITY_IN_PROGRESS = 9,\n\tEXT4_STATE_FC_COMMITTING = 10,\n\tEXT4_STATE_ORPHAN_FILE = 11,\n};\n\nenum {\n\tEXTENT_BUFFER_UPTODATE = 0,\n\tEXTENT_BUFFER_DIRTY = 1,\n\tEXTENT_BUFFER_CORRUPT = 2,\n\tEXTENT_BUFFER_READAHEAD = 3,\n\tEXTENT_BUFFER_TREE_REF = 4,\n\tEXTENT_BUFFER_STALE = 5,\n\tEXTENT_BUFFER_WRITEBACK = 6,\n\tEXTENT_BUFFER_READ_ERR = 7,\n\tEXTENT_BUFFER_UNMAPPED = 8,\n\tEXTENT_BUFFER_IN_TREE = 9,\n\tEXTENT_BUFFER_WRITE_ERR = 10,\n\tEXTENT_BUFFER_ZONED_ZEROOUT = 11,\n\tEXTENT_BUFFER_READING = 12,\n};\n\nenum {\n\tFAN_EVENT_INIT = 0,\n\tFAN_EVENT_REPORTED = 1,\n\tFAN_EVENT_ANSWERED = 2,\n\tFAN_EVENT_CANCELED = 3,\n};\n\nenum {\n\tFATTR4_CLONE_BLKSIZE = 77,\n\tFATTR4_SPACE_FREED = 78,\n\tFATTR4_CHANGE_ATTR_TYPE = 79,\n\tFATTR4_SEC_LABEL = 80,\n};\n\nenum {\n\tFATTR4_DIR_NOTIF_DELAY = 56,\n\tFATTR4_DIRENT_NOTIF_DELAY = 57,\n\tFATTR4_DACL = 58,\n\tFATTR4_SACL = 59,\n\tFATTR4_CHANGE_POLICY = 60,\n\tFATTR4_FS_STATUS = 61,\n\tFATTR4_FS_LAYOUT_TYPES = 62,\n\tFATTR4_LAYOUT_HINT = 63,\n\tFATTR4_LAYOUT_TYPES = 64,\n\tFATTR4_LAYOUT_BLKSIZE = 65,\n\tFATTR4_LAYOUT_ALIGNMENT = 66,\n\tFATTR4_FS_LOCATIONS_INFO = 67,\n\tFATTR4_MDSTHRESHOLD = 68,\n\tFATTR4_RETENTION_GET = 69,\n\tFATTR4_RETENTION_SET = 70,\n\tFATTR4_RETENTEVT_GET = 71,\n\tFATTR4_RETENTEVT_SET = 72,\n\tFATTR4_RETENTION_HOLD = 73,\n\tFATTR4_MODE_SET_MASKED = 74,\n\tFATTR4_SUPPATTR_EXCLCREAT = 75,\n\tFATTR4_FS_CHARSET_CAP = 76,\n};\n\nenum {\n\tFATTR4_MODE_UMASK = 81,\n};\n\nenum {\n\tFATTR4_OPEN_ARGUMENTS = 86,\n};\n\nenum {\n\tFATTR4_SUPPORTED_ATTRS = 0,\n\tFATTR4_TYPE = 1,\n\tFATTR4_FH_EXPIRE_TYPE = 2,\n\tFATTR4_CHANGE = 3,\n\tFATTR4_SIZE = 4,\n\tFATTR4_LINK_SUPPORT = 5,\n\tFATTR4_SYMLINK_SUPPORT = 6,\n\tFATTR4_NAMED_ATTR = 7,\n\tFATTR4_FSID = 8,\n\tFATTR4_UNIQUE_HANDLES = 9,\n\tFATTR4_LEASE_TIME = 10,\n\tFATTR4_RDATTR_ERROR = 11,\n\tFATTR4_ACL = 12,\n\tFATTR4_ACLSUPPORT = 13,\n\tFATTR4_ARCHIVE = 14,\n\tFATTR4_CANSETTIME = 15,\n\tFATTR4_CASE_INSENSITIVE = 16,\n\tFATTR4_CASE_PRESERVING = 17,\n\tFATTR4_CHOWN_RESTRICTED = 18,\n\tFATTR4_FILEHANDLE = 19,\n\tFATTR4_FILEID = 20,\n\tFATTR4_FILES_AVAIL = 21,\n\tFATTR4_FILES_FREE = 22,\n\tFATTR4_FILES_TOTAL = 23,\n\tFATTR4_FS_LOCATIONS = 24,\n\tFATTR4_HIDDEN = 25,\n\tFATTR4_HOMOGENEOUS = 26,\n\tFATTR4_MAXFILESIZE = 27,\n\tFATTR4_MAXLINK = 28,\n\tFATTR4_MAXNAME = 29,\n\tFATTR4_MAXREAD = 30,\n\tFATTR4_MAXWRITE = 31,\n\tFATTR4_MIMETYPE = 32,\n\tFATTR4_MODE = 33,\n\tFATTR4_NO_TRUNC = 34,\n\tFATTR4_NUMLINKS = 35,\n\tFATTR4_OWNER = 36,\n\tFATTR4_OWNER_GROUP = 37,\n\tFATTR4_QUOTA_AVAIL_HARD = 38,\n\tFATTR4_QUOTA_AVAIL_SOFT = 39,\n\tFATTR4_QUOTA_USED = 40,\n\tFATTR4_RAWDEV = 41,\n\tFATTR4_SPACE_AVAIL = 42,\n\tFATTR4_SPACE_FREE = 43,\n\tFATTR4_SPACE_TOTAL = 44,\n\tFATTR4_SPACE_USED = 45,\n\tFATTR4_SYSTEM = 46,\n\tFATTR4_TIME_ACCESS = 47,\n\tFATTR4_TIME_ACCESS_SET = 48,\n\tFATTR4_TIME_BACKUP = 49,\n\tFATTR4_TIME_CREATE = 50,\n\tFATTR4_TIME_DELTA = 51,\n\tFATTR4_TIME_METADATA = 52,\n\tFATTR4_TIME_MODIFY = 53,\n\tFATTR4_TIME_MODIFY_SET = 54,\n\tFATTR4_MOUNTED_ON_FILEID = 55,\n};\n\nenum {\n\tFATTR4_TIME_DELEG_ACCESS = 84,\n};\n\nenum {\n\tFATTR4_TIME_DELEG_MODIFY = 85,\n};\n\nenum {\n\tFATTR4_XATTR_SUPPORT = 82,\n};\n\nenum {\n\tFBCON_LOGO_CANSHOW = -1,\n\tFBCON_LOGO_DRAW = -2,\n\tFBCON_LOGO_DONTSHOW = -3,\n};\n\nenum {\n\tFB_BLANK_UNBLANK = 0,\n\tFB_BLANK_NORMAL = 1,\n\tFB_BLANK_VSYNC_SUSPEND = 2,\n\tFB_BLANK_HSYNC_SUSPEND = 3,\n\tFB_BLANK_POWERDOWN = 4,\n};\n\nenum {\n\tFIB6_NO_SERNUM_CHANGE = 0,\n};\n\nenum {\n\tFILEID_HIGH_OFF = 0,\n\tFILEID_LOW_OFF = 1,\n\tFILE_I_TYPE_OFF = 2,\n\tEMBED_FH_OFF = 3,\n};\n\nenum {\n\tFILTER_OTHER = 0,\n\tFILTER_STATIC_STRING = 1,\n\tFILTER_DYN_STRING = 2,\n\tFILTER_RDYN_STRING = 3,\n\tFILTER_PTR_STRING = 4,\n\tFILTER_TRACE_FN = 5,\n\tFILTER_CPUMASK = 6,\n\tFILTER_COMM = 7,\n\tFILTER_CPU = 8,\n\tFILTER_STACKTRACE = 9,\n};\n\nenum {\n\tFILT_ERR_NONE = 0,\n\tFILT_ERR_INVALID_OP = 1,\n\tFILT_ERR_TOO_MANY_OPEN = 2,\n\tFILT_ERR_TOO_MANY_CLOSE = 3,\n\tFILT_ERR_MISSING_QUOTE = 4,\n\tFILT_ERR_MISSING_BRACE_OPEN = 5,\n\tFILT_ERR_MISSING_BRACE_CLOSE = 6,\n\tFILT_ERR_OPERAND_TOO_LONG = 7,\n\tFILT_ERR_EXPECT_STRING = 8,\n\tFILT_ERR_EXPECT_DIGIT = 9,\n\tFILT_ERR_ILLEGAL_FIELD_OP = 10,\n\tFILT_ERR_FIELD_NOT_FOUND = 11,\n\tFILT_ERR_ILLEGAL_INTVAL = 12,\n\tFILT_ERR_BAD_SUBSYS_FILTER = 13,\n\tFILT_ERR_TOO_MANY_PREDS = 14,\n\tFILT_ERR_INVALID_FILTER = 15,\n\tFILT_ERR_INVALID_CPULIST = 16,\n\tFILT_ERR_IP_FIELD_ONLY = 17,\n\tFILT_ERR_INVALID_VALUE = 18,\n\tFILT_ERR_NO_FUNCTION = 19,\n\tFILT_ERR_ERRNO = 20,\n\tFILT_ERR_NO_FILTER = 21,\n};\n\nenum {\n\tFOLL_TOUCH = 65536,\n\tFOLL_TRIED = 131072,\n\tFOLL_REMOTE = 262144,\n\tFOLL_PIN = 524288,\n\tFOLL_FAST_ONLY = 1048576,\n\tFOLL_UNLOCKABLE = 2097152,\n\tFOLL_MADV_POPULATE = 4194304,\n};\n\nenum {\n\tFOLL_WRITE = 1,\n\tFOLL_GET = 2,\n\tFOLL_DUMP = 4,\n\tFOLL_FORCE = 8,\n\tFOLL_NOWAIT = 16,\n\tFOLL_NOFAULT = 32,\n\tFOLL_HWPOISON = 64,\n\tFOLL_ANON = 128,\n\tFOLL_LONGTERM = 256,\n\tFOLL_SPLIT_PMD = 512,\n\tFOLL_PCI_P2PDMA = 1024,\n\tFOLL_INTERRUPTIBLE = 2048,\n\tFOLL_HONOR_NUMA_FAULT = 4096,\n};\n\nenum {\n\tFORMAT_HEADER = 1,\n\tFORMAT_FIELD_SEPERATOR = 2,\n\tFORMAT_PRINTFMT = 3,\n};\n\nenum {\n\tFRACTION_DENOM = 128,\n};\n\nenum {\n\tFRA_UNSPEC = 0,\n\tFRA_DST = 1,\n\tFRA_SRC = 2,\n\tFRA_IIFNAME = 3,\n\tFRA_GOTO = 4,\n\tFRA_UNUSED2 = 5,\n\tFRA_PRIORITY = 6,\n\tFRA_UNUSED3 = 7,\n\tFRA_UNUSED4 = 8,\n\tFRA_UNUSED5 = 9,\n\tFRA_FWMARK = 10,\n\tFRA_FLOW = 11,\n\tFRA_TUN_ID = 12,\n\tFRA_SUPPRESS_IFGROUP = 13,\n\tFRA_SUPPRESS_PREFIXLEN = 14,\n\tFRA_TABLE = 15,\n\tFRA_FWMASK = 16,\n\tFRA_OIFNAME = 17,\n\tFRA_PAD = 18,\n\tFRA_L3MDEV = 19,\n\tFRA_UID_RANGE = 20,\n\tFRA_PROTOCOL = 21,\n\tFRA_IP_PROTO = 22,\n\tFRA_SPORT_RANGE = 23,\n\tFRA_DPORT_RANGE = 24,\n\tFRA_DSCP = 25,\n\tFRA_FLOWLABEL = 26,\n\tFRA_FLOWLABEL_MASK = 27,\n\t__FRA_MAX = 28,\n};\n\nenum {\n\tFR_ACT_UNSPEC = 0,\n\tFR_ACT_TO_TBL = 1,\n\tFR_ACT_GOTO = 2,\n\tFR_ACT_NOP = 3,\n\tFR_ACT_RES3 = 4,\n\tFR_ACT_RES4 = 5,\n\tFR_ACT_BLACKHOLE = 6,\n\tFR_ACT_UNREACHABLE = 7,\n\tFR_ACT_PROHIBIT = 8,\n\t__FR_ACT_MAX = 9,\n};\n\nenum {\n\tFUTEX_STATE_OK = 0,\n\tFUTEX_STATE_EXITING = 1,\n\tFUTEX_STATE_DEAD = 2,\n};\n\nenum {\n\tGENHD_FL_REMOVABLE = 1,\n\tGENHD_FL_HIDDEN = 2,\n\tGENHD_FL_NO_PART = 4,\n};\n\nenum {\n\tGPIO_MODDEF0 = 0,\n\tGPIO_LOS = 1,\n\tGPIO_TX_FAULT = 2,\n\tGPIO_TX_DISABLE = 3,\n\tGPIO_RS0 = 4,\n\tGPIO_RS1 = 5,\n\tGPIO_MAX = 6,\n\tSFP_F_PRESENT = 1,\n\tSFP_F_LOS = 2,\n\tSFP_F_TX_FAULT = 4,\n\tSFP_F_TX_DISABLE = 8,\n\tSFP_F_RS0 = 16,\n\tSFP_F_RS1 = 32,\n\tSFP_F_OUTPUTS = 56,\n\tSFP_E_INSERT = 0,\n\tSFP_E_REMOVE = 1,\n\tSFP_E_DEV_ATTACH = 2,\n\tSFP_E_DEV_DETACH = 3,\n\tSFP_E_DEV_DOWN = 4,\n\tSFP_E_DEV_UP = 5,\n\tSFP_E_TX_FAULT = 6,\n\tSFP_E_TX_CLEAR = 7,\n\tSFP_E_LOS_HIGH = 8,\n\tSFP_E_LOS_LOW = 9,\n\tSFP_E_TIMEOUT = 10,\n\tSFP_MOD_EMPTY = 0,\n\tSFP_MOD_ERROR = 1,\n\tSFP_MOD_PROBE = 2,\n\tSFP_MOD_WAITDEV = 3,\n\tSFP_MOD_HPOWER = 4,\n\tSFP_MOD_WAITPWR = 5,\n\tSFP_MOD_PRESENT = 6,\n\tSFP_DEV_DETACHED = 0,\n\tSFP_DEV_DOWN = 1,\n\tSFP_DEV_UP = 2,\n\tSFP_S_DOWN = 0,\n\tSFP_S_FAIL = 1,\n\tSFP_S_WAIT = 2,\n\tSFP_S_INIT = 3,\n\tSFP_S_INIT_PHY = 4,\n\tSFP_S_INIT_TX_FAULT = 5,\n\tSFP_S_WAIT_LOS = 6,\n\tSFP_S_LINK_UP = 7,\n\tSFP_S_TX_FAULT = 8,\n\tSFP_S_REINIT = 9,\n\tSFP_S_TX_DISABLE = 10,\n};\n\nenum {\n\tGP_IDLE = 0,\n\tGP_ENTER = 1,\n\tGP_PASSED = 2,\n\tGP_EXIT = 3,\n\tGP_REPLAY = 4,\n};\n\nenum {\n\tGSSX_NULL = 0,\n\tGSSX_INDICATE_MECHS = 1,\n\tGSSX_GET_CALL_CONTEXT = 2,\n\tGSSX_IMPORT_AND_CANON_NAME = 3,\n\tGSSX_EXPORT_CRED = 4,\n\tGSSX_IMPORT_CRED = 5,\n\tGSSX_ACQUIRE_CRED = 6,\n\tGSSX_STORE_CRED = 7,\n\tGSSX_INIT_SEC_CONTEXT = 8,\n\tGSSX_ACCEPT_SEC_CONTEXT = 9,\n\tGSSX_RELEASE_HANDLE = 10,\n\tGSSX_GET_MIC = 11,\n\tGSSX_VERIFY = 12,\n\tGSSX_WRAP = 13,\n\tGSSX_UNWRAP = 14,\n\tGSSX_WRAP_SIZE_LIMIT = 15,\n};\n\nenum {\n\tHANDSHAKE_A_ACCEPT_SOCKFD = 1,\n\tHANDSHAKE_A_ACCEPT_HANDLER_CLASS = 2,\n\tHANDSHAKE_A_ACCEPT_MESSAGE_TYPE = 3,\n\tHANDSHAKE_A_ACCEPT_TIMEOUT = 4,\n\tHANDSHAKE_A_ACCEPT_AUTH_MODE = 5,\n\tHANDSHAKE_A_ACCEPT_PEER_IDENTITY = 6,\n\tHANDSHAKE_A_ACCEPT_CERTIFICATE = 7,\n\tHANDSHAKE_A_ACCEPT_PEERNAME = 8,\n\t__HANDSHAKE_A_ACCEPT_MAX = 9,\n\tHANDSHAKE_A_ACCEPT_MAX = 8,\n};\n\nenum {\n\tHANDSHAKE_A_DONE_STATUS = 1,\n\tHANDSHAKE_A_DONE_SOCKFD = 2,\n\tHANDSHAKE_A_DONE_REMOTE_AUTH = 3,\n\t__HANDSHAKE_A_DONE_MAX = 4,\n\tHANDSHAKE_A_DONE_MAX = 3,\n};\n\nenum {\n\tHANDSHAKE_A_X509_CERT = 1,\n\tHANDSHAKE_A_X509_PRIVKEY = 2,\n\t__HANDSHAKE_A_X509_MAX = 3,\n\tHANDSHAKE_A_X509_MAX = 2,\n};\n\nenum {\n\tHANDSHAKE_CMD_READY = 1,\n\tHANDSHAKE_CMD_ACCEPT = 2,\n\tHANDSHAKE_CMD_DONE = 3,\n\t__HANDSHAKE_CMD_MAX = 4,\n\tHANDSHAKE_CMD_MAX = 3,\n};\n\nenum {\n\tHANDSHAKE_NLGRP_NONE = 0,\n\tHANDSHAKE_NLGRP_TLSHD = 1,\n};\n\nenum {\n\tHASH_SIZE = 128,\n};\n\nenum {\n\tHAS_READ = 1,\n\tHAS_WRITE = 2,\n\tHAS_LSEEK = 4,\n\tHAS_POLL = 8,\n\tHAS_IOCTL = 16,\n};\n\nenum {\n\tHDA_CTL_WIDGET_VOL = 0,\n\tHDA_CTL_WIDGET_MUTE = 1,\n\tHDA_CTL_BIND_MUTE = 2,\n};\n\nenum {\n\tHDA_DEV_CORE = 0,\n\tHDA_DEV_LEGACY = 1,\n\tHDA_DEV_ASOC = 2,\n};\n\nenum {\n\tHDA_DIG_NONE = 0,\n\tHDA_DIG_EXCLUSIVE = 1,\n\tHDA_DIG_ANALOG_DUP = 2,\n};\n\nenum {\n\tHDA_FIXUP_ACT_PRE_PROBE = 0,\n\tHDA_FIXUP_ACT_PROBE = 1,\n\tHDA_FIXUP_ACT_INIT = 2,\n\tHDA_FIXUP_ACT_BUILD = 3,\n\tHDA_FIXUP_ACT_FREE = 4,\n};\n\nenum {\n\tHDA_FIXUP_INVALID = 0,\n\tHDA_FIXUP_PINS = 1,\n\tHDA_FIXUP_VERBS = 2,\n\tHDA_FIXUP_FUNC = 3,\n\tHDA_FIXUP_PINCTLS = 4,\n};\n\nenum {\n\tHDA_FRONT = 0,\n\tHDA_REAR = 1,\n\tHDA_CLFE = 2,\n\tHDA_SIDE = 3,\n};\n\nenum {\n\tHDA_GEN_PCM_ACT_OPEN = 0,\n\tHDA_GEN_PCM_ACT_PREPARE = 1,\n\tHDA_GEN_PCM_ACT_CLEANUP = 2,\n\tHDA_GEN_PCM_ACT_CLOSE = 3,\n};\n\nenum {\n\tHDA_HINT_STEREO_MIX_DISABLE = 0,\n\tHDA_HINT_STEREO_MIX_ENABLE = 1,\n\tHDA_HINT_STEREO_MIX_AUTO = 2,\n};\n\nenum {\n\tHDA_INPUT = 0,\n\tHDA_OUTPUT = 1,\n};\n\nenum {\n\tHDA_JACK_NOT_PRESENT = 0,\n\tHDA_JACK_PRESENT = 1,\n\tHDA_JACK_PHANTOM = 2,\n};\n\nenum {\n\tHDA_PCM_TYPE_AUDIO = 0,\n\tHDA_PCM_TYPE_SPDIF = 1,\n\tHDA_PCM_TYPE_HDMI = 2,\n\tHDA_PCM_TYPE_MODEM = 3,\n\tHDA_PCM_NTYPES = 4,\n};\n\nenum {\n\tHIBERNATION_INVALID = 0,\n\tHIBERNATION_PLATFORM = 1,\n\tHIBERNATION_SHUTDOWN = 2,\n\tHIBERNATION_REBOOT = 3,\n\tHIBERNATION_SUSPEND = 4,\n\tHIBERNATION_TEST_RESUME = 5,\n\t__HIBERNATION_AFTER_LAST = 6,\n};\n\nenum {\n\tHI_SOFTIRQ = 0,\n\tTIMER_SOFTIRQ = 1,\n\tNET_TX_SOFTIRQ = 2,\n\tNET_RX_SOFTIRQ = 3,\n\tBLOCK_SOFTIRQ = 4,\n\tIRQ_POLL_SOFTIRQ = 5,\n\tTASKLET_SOFTIRQ = 6,\n\tSCHED_SOFTIRQ = 7,\n\tHRTIMER_SOFTIRQ = 8,\n\tRCU_SOFTIRQ = 9,\n\tNR_SOFTIRQS = 10,\n};\n\nenum {\n\tHMM_NEED_FAULT = 1,\n\tHMM_NEED_WRITE_FAULT = 2,\n\tHMM_NEED_ALL_BITS = 3,\n};\n\nenum {\n\tHP_THREAD_NONE = 0,\n\tHP_THREAD_ACTIVE = 1,\n\tHP_THREAD_PARKED = 2,\n};\n\nenum {\n\tHUGETLB_SHMFS_INODE = 1,\n\tHUGETLB_ANONHUGE_INODE = 2,\n};\n\nenum {\n\tHW_BREAKPOINT_EMPTY = 0,\n\tHW_BREAKPOINT_R = 1,\n\tHW_BREAKPOINT_W = 2,\n\tHW_BREAKPOINT_RW = 3,\n\tHW_BREAKPOINT_X = 4,\n\tHW_BREAKPOINT_INVALID = 7,\n};\n\nenum {\n\tHW_BREAKPOINT_LEN_1 = 1,\n\tHW_BREAKPOINT_LEN_2 = 2,\n\tHW_BREAKPOINT_LEN_3 = 3,\n\tHW_BREAKPOINT_LEN_4 = 4,\n\tHW_BREAKPOINT_LEN_5 = 5,\n\tHW_BREAKPOINT_LEN_6 = 6,\n\tHW_BREAKPOINT_LEN_7 = 7,\n\tHW_BREAKPOINT_LEN_8 = 8,\n};\n\nenum {\n\tIB_MGMT_MAD_HDR = 24,\n\tIB_MGMT_MAD_DATA = 232,\n\tIB_MGMT_RMPP_HDR = 36,\n\tIB_MGMT_RMPP_DATA = 220,\n\tIB_MGMT_VENDOR_HDR = 40,\n\tIB_MGMT_VENDOR_DATA = 216,\n\tIB_MGMT_SA_HDR = 56,\n\tIB_MGMT_SA_DATA = 200,\n\tIB_MGMT_DEVICE_HDR = 64,\n\tIB_MGMT_DEVICE_DATA = 192,\n\tIB_MGMT_MAD_SIZE = 256,\n\tOPA_MGMT_MAD_DATA = 2024,\n\tOPA_MGMT_RMPP_DATA = 2012,\n\tOPA_MGMT_MAD_SIZE = 2048,\n};\n\nenum {\n\tIB_USER_MAD_USER_RMPP = 1,\n};\n\nenum {\n\tICMP6_MIB_NUM = 0,\n\tICMP6_MIB_INMSGS = 1,\n\tICMP6_MIB_INERRORS = 2,\n\tICMP6_MIB_OUTMSGS = 3,\n\tICMP6_MIB_OUTERRORS = 4,\n\tICMP6_MIB_CSUMERRORS = 5,\n\tICMP6_MIB_RATELIMITHOST = 6,\n\t__ICMP6_MIB_MAX = 7,\n};\n\nenum {\n\tICMP_MIB_NUM = 0,\n\tICMP_MIB_INMSGS = 1,\n\tICMP_MIB_INERRORS = 2,\n\tICMP_MIB_INDESTUNREACHS = 3,\n\tICMP_MIB_INTIMEEXCDS = 4,\n\tICMP_MIB_INPARMPROBS = 5,\n\tICMP_MIB_INSRCQUENCHS = 6,\n\tICMP_MIB_INREDIRECTS = 7,\n\tICMP_MIB_INECHOS = 8,\n\tICMP_MIB_INECHOREPS = 9,\n\tICMP_MIB_INTIMESTAMPS = 10,\n\tICMP_MIB_INTIMESTAMPREPS = 11,\n\tICMP_MIB_INADDRMASKS = 12,\n\tICMP_MIB_INADDRMASKREPS = 13,\n\tICMP_MIB_OUTMSGS = 14,\n\tICMP_MIB_OUTERRORS = 15,\n\tICMP_MIB_OUTDESTUNREACHS = 16,\n\tICMP_MIB_OUTTIMEEXCDS = 17,\n\tICMP_MIB_OUTPARMPROBS = 18,\n\tICMP_MIB_OUTSRCQUENCHS = 19,\n\tICMP_MIB_OUTREDIRECTS = 20,\n\tICMP_MIB_OUTECHOS = 21,\n\tICMP_MIB_OUTECHOREPS = 22,\n\tICMP_MIB_OUTTIMESTAMPS = 23,\n\tICMP_MIB_OUTTIMESTAMPREPS = 24,\n\tICMP_MIB_OUTADDRMASKS = 25,\n\tICMP_MIB_OUTADDRMASKREPS = 26,\n\tICMP_MIB_CSUMERRORS = 27,\n\tICMP_MIB_RATELIMITGLOBAL = 28,\n\tICMP_MIB_RATELIMITHOST = 29,\n\t__ICMP_MIB_MAX = 30,\n};\n\nenum {\n\tICQ_EXITED = 4,\n\tICQ_DESTROYED = 8,\n};\n\nenum {\n\tIDX_MODULE_ID = 0,\n\tIDX_ST_OPS_COMMON_VALUE_ID = 1,\n};\n\nenum {\n\tIFAL_ADDRESS = 1,\n\tIFAL_LABEL = 2,\n\t__IFAL_MAX = 3,\n};\n\nenum {\n\tIFA_UNSPEC = 0,\n\tIFA_ADDRESS = 1,\n\tIFA_LOCAL = 2,\n\tIFA_LABEL = 3,\n\tIFA_BROADCAST = 4,\n\tIFA_ANYCAST = 5,\n\tIFA_CACHEINFO = 6,\n\tIFA_MULTICAST = 7,\n\tIFA_FLAGS = 8,\n\tIFA_RT_PRIORITY = 9,\n\tIFA_TARGET_NETNSID = 10,\n\tIFA_PROTO = 11,\n\t__IFA_MAX = 12,\n};\n\nenum {\n\tIFLA_BRIDGE_FLAGS = 0,\n\tIFLA_BRIDGE_MODE = 1,\n\tIFLA_BRIDGE_VLAN_INFO = 2,\n\tIFLA_BRIDGE_VLAN_TUNNEL_INFO = 3,\n\tIFLA_BRIDGE_MRP = 4,\n\tIFLA_BRIDGE_CFM = 5,\n\tIFLA_BRIDGE_MST = 6,\n\t__IFLA_BRIDGE_MAX = 7,\n};\n\nenum {\n\tIFLA_BRPORT_UNSPEC = 0,\n\tIFLA_BRPORT_STATE = 1,\n\tIFLA_BRPORT_PRIORITY = 2,\n\tIFLA_BRPORT_COST = 3,\n\tIFLA_BRPORT_MODE = 4,\n\tIFLA_BRPORT_GUARD = 5,\n\tIFLA_BRPORT_PROTECT = 6,\n\tIFLA_BRPORT_FAST_LEAVE = 7,\n\tIFLA_BRPORT_LEARNING = 8,\n\tIFLA_BRPORT_UNICAST_FLOOD = 9,\n\tIFLA_BRPORT_PROXYARP = 10,\n\tIFLA_BRPORT_LEARNING_SYNC = 11,\n\tIFLA_BRPORT_PROXYARP_WIFI = 12,\n\tIFLA_BRPORT_ROOT_ID = 13,\n\tIFLA_BRPORT_BRIDGE_ID = 14,\n\tIFLA_BRPORT_DESIGNATED_PORT = 15,\n\tIFLA_BRPORT_DESIGNATED_COST = 16,\n\tIFLA_BRPORT_ID = 17,\n\tIFLA_BRPORT_NO = 18,\n\tIFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 19,\n\tIFLA_BRPORT_CONFIG_PENDING = 20,\n\tIFLA_BRPORT_MESSAGE_AGE_TIMER = 21,\n\tIFLA_BRPORT_FORWARD_DELAY_TIMER = 22,\n\tIFLA_BRPORT_HOLD_TIMER = 23,\n\tIFLA_BRPORT_FLUSH = 24,\n\tIFLA_BRPORT_MULTICAST_ROUTER = 25,\n\tIFLA_BRPORT_PAD = 26,\n\tIFLA_BRPORT_MCAST_FLOOD = 27,\n\tIFLA_BRPORT_MCAST_TO_UCAST = 28,\n\tIFLA_BRPORT_VLAN_TUNNEL = 29,\n\tIFLA_BRPORT_BCAST_FLOOD = 30,\n\tIFLA_BRPORT_GROUP_FWD_MASK = 31,\n\tIFLA_BRPORT_NEIGH_SUPPRESS = 32,\n\tIFLA_BRPORT_ISOLATED = 33,\n\tIFLA_BRPORT_BACKUP_PORT = 34,\n\tIFLA_BRPORT_MRP_RING_OPEN = 35,\n\tIFLA_BRPORT_MRP_IN_OPEN = 36,\n\tIFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 37,\n\tIFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 38,\n\tIFLA_BRPORT_LOCKED = 39,\n\tIFLA_BRPORT_MAB = 40,\n\tIFLA_BRPORT_MCAST_N_GROUPS = 41,\n\tIFLA_BRPORT_MCAST_MAX_GROUPS = 42,\n\tIFLA_BRPORT_NEIGH_VLAN_SUPPRESS = 43,\n\tIFLA_BRPORT_BACKUP_NHID = 44,\n\t__IFLA_BRPORT_MAX = 45,\n};\n\nenum {\n\tIFLA_EVENT_NONE = 0,\n\tIFLA_EVENT_REBOOT = 1,\n\tIFLA_EVENT_FEATURES = 2,\n\tIFLA_EVENT_BONDING_FAILOVER = 3,\n\tIFLA_EVENT_NOTIFY_PEERS = 4,\n\tIFLA_EVENT_IGMP_RESEND = 5,\n\tIFLA_EVENT_BONDING_OPTIONS = 6,\n};\n\nenum {\n\tIFLA_INET6_UNSPEC = 0,\n\tIFLA_INET6_FLAGS = 1,\n\tIFLA_INET6_CONF = 2,\n\tIFLA_INET6_STATS = 3,\n\tIFLA_INET6_MCAST = 4,\n\tIFLA_INET6_CACHEINFO = 5,\n\tIFLA_INET6_ICMP6STATS = 6,\n\tIFLA_INET6_TOKEN = 7,\n\tIFLA_INET6_ADDR_GEN_MODE = 8,\n\tIFLA_INET6_RA_MTU = 9,\n\t__IFLA_INET6_MAX = 10,\n};\n\nenum {\n\tIFLA_INET_UNSPEC = 0,\n\tIFLA_INET_CONF = 1,\n\t__IFLA_INET_MAX = 2,\n};\n\nenum {\n\tIFLA_INFO_UNSPEC = 0,\n\tIFLA_INFO_KIND = 1,\n\tIFLA_INFO_DATA = 2,\n\tIFLA_INFO_XSTATS = 3,\n\tIFLA_INFO_SLAVE_KIND = 4,\n\tIFLA_INFO_SLAVE_DATA = 5,\n\t__IFLA_INFO_MAX = 6,\n};\n\nenum {\n\tIFLA_IPTUN_UNSPEC = 0,\n\tIFLA_IPTUN_LINK = 1,\n\tIFLA_IPTUN_LOCAL = 2,\n\tIFLA_IPTUN_REMOTE = 3,\n\tIFLA_IPTUN_TTL = 4,\n\tIFLA_IPTUN_TOS = 5,\n\tIFLA_IPTUN_ENCAP_LIMIT = 6,\n\tIFLA_IPTUN_FLOWINFO = 7,\n\tIFLA_IPTUN_FLAGS = 8,\n\tIFLA_IPTUN_PROTO = 9,\n\tIFLA_IPTUN_PMTUDISC = 10,\n\tIFLA_IPTUN_6RD_PREFIX = 11,\n\tIFLA_IPTUN_6RD_RELAY_PREFIX = 12,\n\tIFLA_IPTUN_6RD_PREFIXLEN = 13,\n\tIFLA_IPTUN_6RD_RELAY_PREFIXLEN = 14,\n\tIFLA_IPTUN_ENCAP_TYPE = 15,\n\tIFLA_IPTUN_ENCAP_FLAGS = 16,\n\tIFLA_IPTUN_ENCAP_SPORT = 17,\n\tIFLA_IPTUN_ENCAP_DPORT = 18,\n\tIFLA_IPTUN_COLLECT_METADATA = 19,\n\tIFLA_IPTUN_FWMARK = 20,\n\t__IFLA_IPTUN_MAX = 21,\n};\n\nenum {\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 1,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 2,\n\t__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX = 3,\n};\n\nenum {\n\tIFLA_OFFLOAD_XSTATS_UNSPEC = 0,\n\tIFLA_OFFLOAD_XSTATS_CPU_HIT = 1,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO = 2,\n\tIFLA_OFFLOAD_XSTATS_L3_STATS = 3,\n\t__IFLA_OFFLOAD_XSTATS_MAX = 4,\n};\n\nenum {\n\tIFLA_PORT_UNSPEC = 0,\n\tIFLA_PORT_VF = 1,\n\tIFLA_PORT_PROFILE = 2,\n\tIFLA_PORT_VSI_TYPE = 3,\n\tIFLA_PORT_INSTANCE_UUID = 4,\n\tIFLA_PORT_HOST_UUID = 5,\n\tIFLA_PORT_REQUEST = 6,\n\tIFLA_PORT_RESPONSE = 7,\n\t__IFLA_PORT_MAX = 8,\n};\n\nenum {\n\tIFLA_PROTO_DOWN_REASON_UNSPEC = 0,\n\tIFLA_PROTO_DOWN_REASON_MASK = 1,\n\tIFLA_PROTO_DOWN_REASON_VALUE = 2,\n\t__IFLA_PROTO_DOWN_REASON_CNT = 3,\n\tIFLA_PROTO_DOWN_REASON_MAX = 2,\n};\n\nenum {\n\tIFLA_STATS_GETSET_UNSPEC = 0,\n\tIFLA_STATS_GET_FILTERS = 1,\n\tIFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 2,\n\t__IFLA_STATS_GETSET_MAX = 3,\n};\n\nenum {\n\tIFLA_STATS_UNSPEC = 0,\n\tIFLA_STATS_LINK_64 = 1,\n\tIFLA_STATS_LINK_XSTATS = 2,\n\tIFLA_STATS_LINK_XSTATS_SLAVE = 3,\n\tIFLA_STATS_LINK_OFFLOAD_XSTATS = 4,\n\tIFLA_STATS_AF_SPEC = 5,\n\t__IFLA_STATS_MAX = 6,\n};\n\nenum {\n\tIFLA_UNSPEC = 0,\n\tIFLA_ADDRESS = 1,\n\tIFLA_BROADCAST = 2,\n\tIFLA_IFNAME = 3,\n\tIFLA_MTU = 4,\n\tIFLA_LINK = 5,\n\tIFLA_QDISC = 6,\n\tIFLA_STATS = 7,\n\tIFLA_COST = 8,\n\tIFLA_PRIORITY = 9,\n\tIFLA_MASTER = 10,\n\tIFLA_WIRELESS = 11,\n\tIFLA_PROTINFO = 12,\n\tIFLA_TXQLEN = 13,\n\tIFLA_MAP = 14,\n\tIFLA_WEIGHT = 15,\n\tIFLA_OPERSTATE = 16,\n\tIFLA_LINKMODE = 17,\n\tIFLA_LINKINFO = 18,\n\tIFLA_NET_NS_PID = 19,\n\tIFLA_IFALIAS = 20,\n\tIFLA_NUM_VF = 21,\n\tIFLA_VFINFO_LIST = 22,\n\tIFLA_STATS64 = 23,\n\tIFLA_VF_PORTS = 24,\n\tIFLA_PORT_SELF = 25,\n\tIFLA_AF_SPEC = 26,\n\tIFLA_GROUP = 27,\n\tIFLA_NET_NS_FD = 28,\n\tIFLA_EXT_MASK = 29,\n\tIFLA_PROMISCUITY = 30,\n\tIFLA_NUM_TX_QUEUES = 31,\n\tIFLA_NUM_RX_QUEUES = 32,\n\tIFLA_CARRIER = 33,\n\tIFLA_PHYS_PORT_ID = 34,\n\tIFLA_CARRIER_CHANGES = 35,\n\tIFLA_PHYS_SWITCH_ID = 36,\n\tIFLA_LINK_NETNSID = 37,\n\tIFLA_PHYS_PORT_NAME = 38,\n\tIFLA_PROTO_DOWN = 39,\n\tIFLA_GSO_MAX_SEGS = 40,\n\tIFLA_GSO_MAX_SIZE = 41,\n\tIFLA_PAD = 42,\n\tIFLA_XDP = 43,\n\tIFLA_EVENT = 44,\n\tIFLA_NEW_NETNSID = 45,\n\tIFLA_IF_NETNSID = 46,\n\tIFLA_TARGET_NETNSID = 46,\n\tIFLA_CARRIER_UP_COUNT = 47,\n\tIFLA_CARRIER_DOWN_COUNT = 48,\n\tIFLA_NEW_IFINDEX = 49,\n\tIFLA_MIN_MTU = 50,\n\tIFLA_MAX_MTU = 51,\n\tIFLA_PROP_LIST = 52,\n\tIFLA_ALT_IFNAME = 53,\n\tIFLA_PERM_ADDRESS = 54,\n\tIFLA_PROTO_DOWN_REASON = 55,\n\tIFLA_PARENT_DEV_NAME = 56,\n\tIFLA_PARENT_DEV_BUS_NAME = 57,\n\tIFLA_GRO_MAX_SIZE = 58,\n\tIFLA_TSO_MAX_SIZE = 59,\n\tIFLA_TSO_MAX_SEGS = 60,\n\tIFLA_ALLMULTI = 61,\n\tIFLA_DEVLINK_PORT = 62,\n\tIFLA_GSO_IPV4_MAX_SIZE = 63,\n\tIFLA_GRO_IPV4_MAX_SIZE = 64,\n\tIFLA_DPLL_PIN = 65,\n\tIFLA_MAX_PACING_OFFLOAD_HORIZON = 66,\n\t__IFLA_MAX = 67,\n};\n\nenum {\n\tIFLA_VF_INFO_UNSPEC = 0,\n\tIFLA_VF_INFO = 1,\n\t__IFLA_VF_INFO_MAX = 2,\n};\n\nenum {\n\tIFLA_VF_LINK_STATE_AUTO = 0,\n\tIFLA_VF_LINK_STATE_ENABLE = 1,\n\tIFLA_VF_LINK_STATE_DISABLE = 2,\n\t__IFLA_VF_LINK_STATE_MAX = 3,\n};\n\nenum {\n\tIFLA_VF_PORT_UNSPEC = 0,\n\tIFLA_VF_PORT = 1,\n\t__IFLA_VF_PORT_MAX = 2,\n};\n\nenum {\n\tIFLA_VF_STATS_RX_PACKETS = 0,\n\tIFLA_VF_STATS_TX_PACKETS = 1,\n\tIFLA_VF_STATS_RX_BYTES = 2,\n\tIFLA_VF_STATS_TX_BYTES = 3,\n\tIFLA_VF_STATS_BROADCAST = 4,\n\tIFLA_VF_STATS_MULTICAST = 5,\n\tIFLA_VF_STATS_PAD = 6,\n\tIFLA_VF_STATS_RX_DROPPED = 7,\n\tIFLA_VF_STATS_TX_DROPPED = 8,\n\t__IFLA_VF_STATS_MAX = 9,\n};\n\nenum {\n\tIFLA_VF_UNSPEC = 0,\n\tIFLA_VF_MAC = 1,\n\tIFLA_VF_VLAN = 2,\n\tIFLA_VF_TX_RATE = 3,\n\tIFLA_VF_SPOOFCHK = 4,\n\tIFLA_VF_LINK_STATE = 5,\n\tIFLA_VF_RATE = 6,\n\tIFLA_VF_RSS_QUERY_EN = 7,\n\tIFLA_VF_STATS = 8,\n\tIFLA_VF_TRUST = 9,\n\tIFLA_VF_IB_NODE_GUID = 10,\n\tIFLA_VF_IB_PORT_GUID = 11,\n\tIFLA_VF_VLAN_LIST = 12,\n\tIFLA_VF_BROADCAST = 13,\n\t__IFLA_VF_MAX = 14,\n};\n\nenum {\n\tIFLA_VF_VLAN_INFO_UNSPEC = 0,\n\tIFLA_VF_VLAN_INFO = 1,\n\t__IFLA_VF_VLAN_INFO_MAX = 2,\n};\n\nenum {\n\tIFLA_VXLAN_UNSPEC = 0,\n\tIFLA_VXLAN_ID = 1,\n\tIFLA_VXLAN_GROUP = 2,\n\tIFLA_VXLAN_LINK = 3,\n\tIFLA_VXLAN_LOCAL = 4,\n\tIFLA_VXLAN_TTL = 5,\n\tIFLA_VXLAN_TOS = 6,\n\tIFLA_VXLAN_LEARNING = 7,\n\tIFLA_VXLAN_AGEING = 8,\n\tIFLA_VXLAN_LIMIT = 9,\n\tIFLA_VXLAN_PORT_RANGE = 10,\n\tIFLA_VXLAN_PROXY = 11,\n\tIFLA_VXLAN_RSC = 12,\n\tIFLA_VXLAN_L2MISS = 13,\n\tIFLA_VXLAN_L3MISS = 14,\n\tIFLA_VXLAN_PORT = 15,\n\tIFLA_VXLAN_GROUP6 = 16,\n\tIFLA_VXLAN_LOCAL6 = 17,\n\tIFLA_VXLAN_UDP_CSUM = 18,\n\tIFLA_VXLAN_UDP_ZERO_CSUM6_TX = 19,\n\tIFLA_VXLAN_UDP_ZERO_CSUM6_RX = 20,\n\tIFLA_VXLAN_REMCSUM_TX = 21,\n\tIFLA_VXLAN_REMCSUM_RX = 22,\n\tIFLA_VXLAN_GBP = 23,\n\tIFLA_VXLAN_REMCSUM_NOPARTIAL = 24,\n\tIFLA_VXLAN_COLLECT_METADATA = 25,\n\tIFLA_VXLAN_LABEL = 26,\n\tIFLA_VXLAN_GPE = 27,\n\tIFLA_VXLAN_TTL_INHERIT = 28,\n\tIFLA_VXLAN_DF = 29,\n\tIFLA_VXLAN_VNIFILTER = 30,\n\tIFLA_VXLAN_LOCALBYPASS = 31,\n\tIFLA_VXLAN_LABEL_POLICY = 32,\n\tIFLA_VXLAN_RESERVED_BITS = 33,\n\t__IFLA_VXLAN_MAX = 34,\n};\n\nenum {\n\tIFLA_XDP_UNSPEC = 0,\n\tIFLA_XDP_FD = 1,\n\tIFLA_XDP_ATTACHED = 2,\n\tIFLA_XDP_FLAGS = 3,\n\tIFLA_XDP_PROG_ID = 4,\n\tIFLA_XDP_DRV_PROG_ID = 5,\n\tIFLA_XDP_SKB_PROG_ID = 6,\n\tIFLA_XDP_HW_PROG_ID = 7,\n\tIFLA_XDP_EXPECTED_FD = 8,\n\t__IFLA_XDP_MAX = 9,\n};\n\nenum {\n\tIF_ACT_NONE = -1,\n\tIF_ACT_FILTER = 0,\n\tIF_ACT_START = 1,\n\tIF_ACT_STOP = 2,\n\tIF_SRC_FILE = 3,\n\tIF_SRC_KERNEL = 4,\n\tIF_SRC_FILEADDR = 5,\n\tIF_SRC_KERNELADDR = 6,\n};\n\nenum {\n\tIF_LINK_MODE_DEFAULT = 0,\n\tIF_LINK_MODE_DORMANT = 1,\n\tIF_LINK_MODE_TESTING = 2,\n};\n\nenum {\n\tIF_OPER_UNKNOWN = 0,\n\tIF_OPER_NOTPRESENT = 1,\n\tIF_OPER_DOWN = 2,\n\tIF_OPER_LOWERLAYERDOWN = 3,\n\tIF_OPER_TESTING = 4,\n\tIF_OPER_DORMANT = 5,\n\tIF_OPER_UP = 6,\n};\n\nenum {\n\tIF_STATE_ACTION = 0,\n\tIF_STATE_SOURCE = 1,\n\tIF_STATE_END = 2,\n};\n\nenum {\n\tINBAND_CISCO_SGMII = 0,\n\tINBAND_BASEX = 1,\n};\n\nenum {\n\tINET6_IFADDR_STATE_PREDAD = 0,\n\tINET6_IFADDR_STATE_DAD = 1,\n\tINET6_IFADDR_STATE_POSTDAD = 2,\n\tINET6_IFADDR_STATE_ERRDAD = 3,\n\tINET6_IFADDR_STATE_DEAD = 4,\n};\n\nenum {\n\tINET_DIAG_BC_NOP = 0,\n\tINET_DIAG_BC_JMP = 1,\n\tINET_DIAG_BC_S_GE = 2,\n\tINET_DIAG_BC_S_LE = 3,\n\tINET_DIAG_BC_D_GE = 4,\n\tINET_DIAG_BC_D_LE = 5,\n\tINET_DIAG_BC_AUTO = 6,\n\tINET_DIAG_BC_S_COND = 7,\n\tINET_DIAG_BC_D_COND = 8,\n\tINET_DIAG_BC_DEV_COND = 9,\n\tINET_DIAG_BC_MARK_COND = 10,\n\tINET_DIAG_BC_S_EQ = 11,\n\tINET_DIAG_BC_D_EQ = 12,\n\tINET_DIAG_BC_CGROUP_COND = 13,\n};\n\nenum {\n\tINET_DIAG_NONE = 0,\n\tINET_DIAG_MEMINFO = 1,\n\tINET_DIAG_INFO = 2,\n\tINET_DIAG_VEGASINFO = 3,\n\tINET_DIAG_CONG = 4,\n\tINET_DIAG_TOS = 5,\n\tINET_DIAG_TCLASS = 6,\n\tINET_DIAG_SKMEMINFO = 7,\n\tINET_DIAG_SHUTDOWN = 8,\n\tINET_DIAG_DCTCPINFO = 9,\n\tINET_DIAG_PROTOCOL = 10,\n\tINET_DIAG_SKV6ONLY = 11,\n\tINET_DIAG_LOCALS = 12,\n\tINET_DIAG_PEERS = 13,\n\tINET_DIAG_PAD = 14,\n\tINET_DIAG_MARK = 15,\n\tINET_DIAG_BBRINFO = 16,\n\tINET_DIAG_CLASS_ID = 17,\n\tINET_DIAG_MD5SIG = 18,\n\tINET_DIAG_ULP_INFO = 19,\n\tINET_DIAG_SK_BPF_STORAGES = 20,\n\tINET_DIAG_CGROUP_ID = 21,\n\tINET_DIAG_SOCKOPT = 22,\n\t__INET_DIAG_MAX = 23,\n};\n\nenum {\n\tINET_DIAG_REQ_NONE = 0,\n\tINET_DIAG_REQ_BYTECODE = 1,\n\tINET_DIAG_REQ_SK_BPF_STORAGES = 2,\n\tINET_DIAG_REQ_PROTOCOL = 3,\n\t__INET_DIAG_REQ_MAX = 4,\n};\n\nenum {\n\tINET_ECN_NOT_ECT = 0,\n\tINET_ECN_ECT_1 = 1,\n\tINET_ECN_ECT_0 = 2,\n\tINET_ECN_CE = 3,\n\tINET_ECN_MASK = 3,\n};\n\nenum {\n\tINET_FLAGS_PKTINFO = 0,\n\tINET_FLAGS_TTL = 1,\n\tINET_FLAGS_TOS = 2,\n\tINET_FLAGS_RECVOPTS = 3,\n\tINET_FLAGS_RETOPTS = 4,\n\tINET_FLAGS_PASSSEC = 5,\n\tINET_FLAGS_ORIGDSTADDR = 6,\n\tINET_FLAGS_CHECKSUM = 7,\n\tINET_FLAGS_RECVFRAGSIZE = 8,\n\tINET_FLAGS_RECVERR = 9,\n\tINET_FLAGS_RECVERR_RFC4884 = 10,\n\tINET_FLAGS_FREEBIND = 11,\n\tINET_FLAGS_HDRINCL = 12,\n\tINET_FLAGS_MC_LOOP = 13,\n\tINET_FLAGS_MC_ALL = 14,\n\tINET_FLAGS_TRANSPARENT = 15,\n\tINET_FLAGS_IS_ICSK = 16,\n\tINET_FLAGS_NODEFRAG = 17,\n\tINET_FLAGS_BIND_ADDRESS_NO_PORT = 18,\n\tINET_FLAGS_DEFER_CONNECT = 19,\n\tINET_FLAGS_MC6_LOOP = 20,\n\tINET_FLAGS_RECVERR6_RFC4884 = 21,\n\tINET_FLAGS_MC6_ALL = 22,\n\tINET_FLAGS_AUTOFLOWLABEL_SET = 23,\n\tINET_FLAGS_AUTOFLOWLABEL = 24,\n\tINET_FLAGS_DONTFRAG = 25,\n\tINET_FLAGS_RECVERR6 = 26,\n\tINET_FLAGS_REPFLOW = 27,\n\tINET_FLAGS_RTALERT_ISOLATE = 28,\n\tINET_FLAGS_SNDFLOW = 29,\n\tINET_FLAGS_RTALERT = 30,\n};\n\nenum {\n\tINET_FRAG_FIRST_IN = 1,\n\tINET_FRAG_LAST_IN = 2,\n\tINET_FRAG_COMPLETE = 4,\n\tINET_FRAG_HASH_DEAD = 8,\n\tINET_FRAG_DROP = 16,\n};\n\nenum {\n\tINET_ULP_INFO_UNSPEC = 0,\n\tINET_ULP_INFO_NAME = 1,\n\tINET_ULP_INFO_TLS = 2,\n\tINET_ULP_INFO_MPTCP = 3,\n\t__INET_ULP_INFO_MAX = 4,\n};\n\nenum {\n\tINPUT_PIN_ATTR_UNUSED = 0,\n\tINPUT_PIN_ATTR_INT = 1,\n\tINPUT_PIN_ATTR_DOCK = 2,\n\tINPUT_PIN_ATTR_NORMAL = 3,\n\tINPUT_PIN_ATTR_REAR = 4,\n\tINPUT_PIN_ATTR_FRONT = 5,\n\tINPUT_PIN_ATTR_LAST = 5,\n};\n\nenum {\n\tINSN_F_FRAMENO_MASK = 7,\n\tINSN_F_SPI_MASK = 63,\n\tINSN_F_SPI_SHIFT = 3,\n\tINSN_F_STACK_ACCESS = 512,\n};\n\nenum {\n\tINVERT = 1,\n\tPROCESS_AND = 2,\n\tPROCESS_OR = 4,\n};\n\nenum {\n\tIOAM6_ATTR_UNSPEC = 0,\n\tIOAM6_ATTR_NS_ID = 1,\n\tIOAM6_ATTR_NS_DATA = 2,\n\tIOAM6_ATTR_NS_DATA_WIDE = 3,\n\tIOAM6_ATTR_SC_ID = 4,\n\tIOAM6_ATTR_SC_DATA = 5,\n\tIOAM6_ATTR_SC_NONE = 6,\n\tIOAM6_ATTR_PAD = 7,\n\t__IOAM6_ATTR_MAX = 8,\n};\n\nenum {\n\tIOAM6_CMD_UNSPEC = 0,\n\tIOAM6_CMD_ADD_NAMESPACE = 1,\n\tIOAM6_CMD_DEL_NAMESPACE = 2,\n\tIOAM6_CMD_DUMP_NAMESPACES = 3,\n\tIOAM6_CMD_ADD_SCHEMA = 4,\n\tIOAM6_CMD_DEL_SCHEMA = 5,\n\tIOAM6_CMD_DUMP_SCHEMAS = 6,\n\tIOAM6_CMD_NS_SET_SCHEMA = 7,\n\t__IOAM6_CMD_MAX = 8,\n};\n\nenum {\n\tIOBL_BUF_RING = 1,\n\tIOBL_INC = 2,\n};\n\nenum {\n\tIOCB_CMD_PREAD = 0,\n\tIOCB_CMD_PWRITE = 1,\n\tIOCB_CMD_FSYNC = 2,\n\tIOCB_CMD_FDSYNC = 3,\n\tIOCB_CMD_POLL = 5,\n\tIOCB_CMD_NOOP = 6,\n\tIOCB_CMD_PREADV = 7,\n\tIOCB_CMD_PWRITEV = 8,\n};\n\nenum {\n\tIOMMU_SET_DOMAIN_MUST_SUCCEED = 1,\n};\n\nenum {\n\tIOPRIO_CLASS_NONE = 0,\n\tIOPRIO_CLASS_RT = 1,\n\tIOPRIO_CLASS_BE = 2,\n\tIOPRIO_CLASS_IDLE = 3,\n\tIOPRIO_CLASS_INVALID = 7,\n};\n\nenum {\n\tIOPRIO_HINT_NONE = 0,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_1 = 1,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_2 = 2,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_3 = 3,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_4 = 4,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_5 = 5,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_6 = 6,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_7 = 7,\n};\n\nenum {\n\tIOPRIO_WHO_PROCESS = 1,\n\tIOPRIO_WHO_PGRP = 2,\n\tIOPRIO_WHO_USER = 3,\n};\n\nenum {\n\tIORES_DESC_NONE = 0,\n\tIORES_DESC_CRASH_KERNEL = 1,\n\tIORES_DESC_ACPI_TABLES = 2,\n\tIORES_DESC_ACPI_NV_STORAGE = 3,\n\tIORES_DESC_PERSISTENT_MEMORY = 4,\n\tIORES_DESC_PERSISTENT_MEMORY_LEGACY = 5,\n\tIORES_DESC_DEVICE_PRIVATE_MEMORY = 6,\n\tIORES_DESC_RESERVED = 7,\n\tIORES_DESC_SOFT_RESERVED = 8,\n\tIORES_DESC_CXL = 9,\n};\n\nenum {\n\tIORING_MEM_REGION_REG_WAIT_ARG = 1,\n};\n\nenum {\n\tIORING_MEM_REGION_TYPE_USER = 1,\n};\n\nenum {\n\tIORING_REGISTER_SRC_REGISTERED = 1,\n\tIORING_REGISTER_DST_REPLACE = 2,\n};\n\nenum {\n\tIORING_REG_WAIT_TS = 1,\n};\n\nenum {\n\tIORING_RSRC_FILE = 0,\n\tIORING_RSRC_BUFFER = 1,\n};\n\nenum {\n\tIOU_F_TWQ_LAZY_WAKE = 1,\n};\n\nenum {\n\tIOU_OK = 0,\n\tIOU_ISSUE_SKIP_COMPLETE = -529,\n\tIOU_REQUEUE = -3072,\n\tIOU_STOP_MULTISHOT = -125,\n};\n\nenum {\n\tIOU_POLL_DONE = 0,\n\tIOU_POLL_NO_ACTION = 1,\n\tIOU_POLL_REMOVE_POLL_USE_RES = 2,\n\tIOU_POLL_REISSUE = 3,\n\tIOU_POLL_REQUEUE = 4,\n};\n\nenum {\n\tIO_ACCT_STALLED_BIT = 0,\n};\n\nenum {\n\tIO_APOLL_OK = 0,\n\tIO_APOLL_ABORTED = 1,\n\tIO_APOLL_READY = 2,\n};\n\nenum {\n\tIO_CHECK_CQ_OVERFLOW_BIT = 0,\n\tIO_CHECK_CQ_DROPPED_BIT = 1,\n};\n\nenum {\n\tIO_EVENTFD_OP_SIGNAL_BIT = 0,\n};\n\nenum {\n\tIO_REGION_F_VMAP = 1,\n\tIO_REGION_F_USER_PROVIDED = 2,\n\tIO_REGION_F_SINGLE_REF = 4,\n};\n\nenum {\n\tIO_SQ_THREAD_SHOULD_STOP = 0,\n\tIO_SQ_THREAD_SHOULD_PARK = 1,\n};\n\nenum {\n\tIO_TREE_FS_PINNED_EXTENTS = 0,\n\tIO_TREE_FS_EXCLUDED_EXTENTS = 1,\n\tIO_TREE_BTREE_INODE_IO = 2,\n\tIO_TREE_INODE_IO = 3,\n\tIO_TREE_RELOC_BLOCKS = 4,\n\tIO_TREE_TRANS_DIRTY_PAGES = 5,\n\tIO_TREE_ROOT_DIRTY_LOG_PAGES = 6,\n\tIO_TREE_INODE_FILE_EXTENT = 7,\n\tIO_TREE_LOG_CSUM_RANGE = 8,\n\tIO_TREE_SELFTEST = 9,\n\tIO_TREE_DEVICE_ALLOC_STATE = 10,\n};\n\nenum {\n\tIO_WORKER_F_UP = 0,\n\tIO_WORKER_F_RUNNING = 1,\n\tIO_WORKER_F_FREE = 2,\n\tIO_WORKER_F_BOUND = 3,\n};\n\nenum {\n\tIO_WQ_ACCT_BOUND = 0,\n\tIO_WQ_ACCT_UNBOUND = 1,\n\tIO_WQ_ACCT_NR = 2,\n};\n\nenum {\n\tIO_WQ_BIT_EXIT = 0,\n};\n\nenum {\n\tIO_WQ_WORK_CANCEL = 1,\n\tIO_WQ_WORK_HASHED = 2,\n\tIO_WQ_WORK_UNBOUND = 4,\n\tIO_WQ_WORK_CONCURRENT = 16,\n\tIO_WQ_HASH_SHIFT = 24,\n};\n\nenum {\n\tIP6MRA_CREPORT_UNSPEC = 0,\n\tIP6MRA_CREPORT_MSGTYPE = 1,\n\tIP6MRA_CREPORT_MIF_ID = 2,\n\tIP6MRA_CREPORT_SRC_ADDR = 3,\n\tIP6MRA_CREPORT_DST_ADDR = 4,\n\tIP6MRA_CREPORT_PKT = 5,\n\t__IP6MRA_CREPORT_MAX = 6,\n};\n\nenum {\n\tIP6_FH_F_FRAG = 1,\n\tIP6_FH_F_AUTH = 2,\n\tIP6_FH_F_SKIP_RH = 4,\n};\n\nenum {\n\tIPMRA_CREPORT_UNSPEC = 0,\n\tIPMRA_CREPORT_MSGTYPE = 1,\n\tIPMRA_CREPORT_VIF_ID = 2,\n\tIPMRA_CREPORT_SRC_ADDR = 3,\n\tIPMRA_CREPORT_DST_ADDR = 4,\n\tIPMRA_CREPORT_PKT = 5,\n\tIPMRA_CREPORT_TABLE = 6,\n\t__IPMRA_CREPORT_MAX = 7,\n};\n\nenum {\n\tIPMRA_TABLE_UNSPEC = 0,\n\tIPMRA_TABLE_ID = 1,\n\tIPMRA_TABLE_CACHE_RES_QUEUE_LEN = 2,\n\tIPMRA_TABLE_MROUTE_REG_VIF_NUM = 3,\n\tIPMRA_TABLE_MROUTE_DO_ASSERT = 4,\n\tIPMRA_TABLE_MROUTE_DO_PIM = 5,\n\tIPMRA_TABLE_VIFS = 6,\n\tIPMRA_TABLE_MROUTE_DO_WRVIFWHOLE = 7,\n\t__IPMRA_TABLE_MAX = 8,\n};\n\nenum {\n\tIPMRA_VIFA_UNSPEC = 0,\n\tIPMRA_VIFA_IFINDEX = 1,\n\tIPMRA_VIFA_VIF_ID = 2,\n\tIPMRA_VIFA_FLAGS = 3,\n\tIPMRA_VIFA_BYTES_IN = 4,\n\tIPMRA_VIFA_BYTES_OUT = 5,\n\tIPMRA_VIFA_PACKETS_IN = 6,\n\tIPMRA_VIFA_PACKETS_OUT = 7,\n\tIPMRA_VIFA_LOCAL_ADDR = 8,\n\tIPMRA_VIFA_REMOTE_ADDR = 9,\n\tIPMRA_VIFA_PAD = 10,\n\t__IPMRA_VIFA_MAX = 11,\n};\n\nenum {\n\tIPMRA_VIF_UNSPEC = 0,\n\tIPMRA_VIF = 1,\n\t__IPMRA_VIF_MAX = 2,\n};\n\nenum {\n\tIPPROTO_IP = 0,\n\tIPPROTO_ICMP = 1,\n\tIPPROTO_IGMP = 2,\n\tIPPROTO_IPIP = 4,\n\tIPPROTO_TCP = 6,\n\tIPPROTO_EGP = 8,\n\tIPPROTO_PUP = 12,\n\tIPPROTO_UDP = 17,\n\tIPPROTO_IDP = 22,\n\tIPPROTO_TP = 29,\n\tIPPROTO_DCCP = 33,\n\tIPPROTO_IPV6 = 41,\n\tIPPROTO_RSVP = 46,\n\tIPPROTO_GRE = 47,\n\tIPPROTO_ESP = 50,\n\tIPPROTO_AH = 51,\n\tIPPROTO_MTP = 92,\n\tIPPROTO_BEETPH = 94,\n\tIPPROTO_ENCAP = 98,\n\tIPPROTO_PIM = 103,\n\tIPPROTO_COMP = 108,\n\tIPPROTO_L2TP = 115,\n\tIPPROTO_SCTP = 132,\n\tIPPROTO_UDPLITE = 136,\n\tIPPROTO_MPLS = 137,\n\tIPPROTO_ETHERNET = 143,\n\tIPPROTO_AGGFRAG = 144,\n\tIPPROTO_RAW = 255,\n\tIPPROTO_SMC = 256,\n\tIPPROTO_MPTCP = 262,\n\tIPPROTO_MAX = 263,\n};\n\nenum {\n\tIPSEC_DIR_ANY = 0,\n\tIPSEC_DIR_INBOUND = 1,\n\tIPSEC_DIR_OUTBOUND = 2,\n\tIPSEC_DIR_FWD = 3,\n\tIPSEC_DIR_MAX = 4,\n\tIPSEC_DIR_INVALID = 5,\n};\n\nenum {\n\tIPSEC_LEVEL_DEFAULT = 0,\n\tIPSEC_LEVEL_USE = 1,\n\tIPSEC_LEVEL_REQUIRE = 2,\n\tIPSEC_LEVEL_UNIQUE = 3,\n};\n\nenum {\n\tIPSEC_MODE_ANY = 0,\n\tIPSEC_MODE_TRANSPORT = 1,\n\tIPSEC_MODE_TUNNEL = 2,\n\tIPSEC_MODE_BEET = 3,\n\tIPSEC_MODE_IPTFS = 4,\n};\n\nenum {\n\tIPSEC_POLICY_DISCARD = 0,\n\tIPSEC_POLICY_NONE = 1,\n\tIPSEC_POLICY_IPSEC = 2,\n\tIPSEC_POLICY_ENTRUST = 3,\n\tIPSEC_POLICY_BYPASS = 4,\n};\n\nenum {\n\tIPSTATS_MIB_NUM = 0,\n\tIPSTATS_MIB_INPKTS = 1,\n\tIPSTATS_MIB_INOCTETS = 2,\n\tIPSTATS_MIB_INDELIVERS = 3,\n\tIPSTATS_MIB_OUTFORWDATAGRAMS = 4,\n\tIPSTATS_MIB_OUTREQUESTS = 5,\n\tIPSTATS_MIB_OUTOCTETS = 6,\n\tIPSTATS_MIB_INHDRERRORS = 7,\n\tIPSTATS_MIB_INTOOBIGERRORS = 8,\n\tIPSTATS_MIB_INNOROUTES = 9,\n\tIPSTATS_MIB_INADDRERRORS = 10,\n\tIPSTATS_MIB_INUNKNOWNPROTOS = 11,\n\tIPSTATS_MIB_INTRUNCATEDPKTS = 12,\n\tIPSTATS_MIB_INDISCARDS = 13,\n\tIPSTATS_MIB_OUTDISCARDS = 14,\n\tIPSTATS_MIB_OUTNOROUTES = 15,\n\tIPSTATS_MIB_REASMTIMEOUT = 16,\n\tIPSTATS_MIB_REASMREQDS = 17,\n\tIPSTATS_MIB_REASMOKS = 18,\n\tIPSTATS_MIB_REASMFAILS = 19,\n\tIPSTATS_MIB_FRAGOKS = 20,\n\tIPSTATS_MIB_FRAGFAILS = 21,\n\tIPSTATS_MIB_FRAGCREATES = 22,\n\tIPSTATS_MIB_INMCASTPKTS = 23,\n\tIPSTATS_MIB_OUTMCASTPKTS = 24,\n\tIPSTATS_MIB_INBCASTPKTS = 25,\n\tIPSTATS_MIB_OUTBCASTPKTS = 26,\n\tIPSTATS_MIB_INMCASTOCTETS = 27,\n\tIPSTATS_MIB_OUTMCASTOCTETS = 28,\n\tIPSTATS_MIB_INBCASTOCTETS = 29,\n\tIPSTATS_MIB_OUTBCASTOCTETS = 30,\n\tIPSTATS_MIB_CSUMERRORS = 31,\n\tIPSTATS_MIB_NOECTPKTS = 32,\n\tIPSTATS_MIB_ECT1PKTS = 33,\n\tIPSTATS_MIB_ECT0PKTS = 34,\n\tIPSTATS_MIB_CEPKTS = 35,\n\tIPSTATS_MIB_REASM_OVERLAPS = 36,\n\tIPSTATS_MIB_OUTPKTS = 37,\n\t__IPSTATS_MIB_MAX = 38,\n};\n\nenum {\n\tIPV4_DEVCONF_FORWARDING = 1,\n\tIPV4_DEVCONF_MC_FORWARDING = 2,\n\tIPV4_DEVCONF_PROXY_ARP = 3,\n\tIPV4_DEVCONF_ACCEPT_REDIRECTS = 4,\n\tIPV4_DEVCONF_SECURE_REDIRECTS = 5,\n\tIPV4_DEVCONF_SEND_REDIRECTS = 6,\n\tIPV4_DEVCONF_SHARED_MEDIA = 7,\n\tIPV4_DEVCONF_RP_FILTER = 8,\n\tIPV4_DEVCONF_ACCEPT_SOURCE_ROUTE = 9,\n\tIPV4_DEVCONF_BOOTP_RELAY = 10,\n\tIPV4_DEVCONF_LOG_MARTIANS = 11,\n\tIPV4_DEVCONF_TAG = 12,\n\tIPV4_DEVCONF_ARPFILTER = 13,\n\tIPV4_DEVCONF_MEDIUM_ID = 14,\n\tIPV4_DEVCONF_NOXFRM = 15,\n\tIPV4_DEVCONF_NOPOLICY = 16,\n\tIPV4_DEVCONF_FORCE_IGMP_VERSION = 17,\n\tIPV4_DEVCONF_ARP_ANNOUNCE = 18,\n\tIPV4_DEVCONF_ARP_IGNORE = 19,\n\tIPV4_DEVCONF_PROMOTE_SECONDARIES = 20,\n\tIPV4_DEVCONF_ARP_ACCEPT = 21,\n\tIPV4_DEVCONF_ARP_NOTIFY = 22,\n\tIPV4_DEVCONF_ACCEPT_LOCAL = 23,\n\tIPV4_DEVCONF_SRC_VMARK = 24,\n\tIPV4_DEVCONF_PROXY_ARP_PVLAN = 25,\n\tIPV4_DEVCONF_ROUTE_LOCALNET = 26,\n\tIPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL = 27,\n\tIPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL = 28,\n\tIPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 29,\n\tIPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 30,\n\tIPV4_DEVCONF_DROP_GRATUITOUS_ARP = 31,\n\tIPV4_DEVCONF_BC_FORWARDING = 32,\n\tIPV4_DEVCONF_ARP_EVICT_NOCARRIER = 33,\n\t__IPV4_DEVCONF_MAX = 34,\n};\n\nenum {\n\tIPV6_SADDR_RULE_INIT = 0,\n\tIPV6_SADDR_RULE_LOCAL = 1,\n\tIPV6_SADDR_RULE_SCOPE = 2,\n\tIPV6_SADDR_RULE_PREFERRED = 3,\n\tIPV6_SADDR_RULE_OIF = 4,\n\tIPV6_SADDR_RULE_LABEL = 5,\n\tIPV6_SADDR_RULE_PRIVACY = 6,\n\tIPV6_SADDR_RULE_ORCHID = 7,\n\tIPV6_SADDR_RULE_PREFIX = 8,\n\tIPV6_SADDR_RULE_MAX = 9,\n};\n\nenum {\n\tIP_TUNNEL_CSUM_BIT = 0,\n\tIP_TUNNEL_ROUTING_BIT = 1,\n\tIP_TUNNEL_KEY_BIT = 2,\n\tIP_TUNNEL_SEQ_BIT = 3,\n\tIP_TUNNEL_STRICT_BIT = 4,\n\tIP_TUNNEL_REC_BIT = 5,\n\tIP_TUNNEL_VERSION_BIT = 6,\n\tIP_TUNNEL_NO_KEY_BIT = 7,\n\tIP_TUNNEL_DONT_FRAGMENT_BIT = 8,\n\tIP_TUNNEL_OAM_BIT = 9,\n\tIP_TUNNEL_CRIT_OPT_BIT = 10,\n\tIP_TUNNEL_GENEVE_OPT_BIT = 11,\n\tIP_TUNNEL_VXLAN_OPT_BIT = 12,\n\tIP_TUNNEL_NOCACHE_BIT = 13,\n\tIP_TUNNEL_ERSPAN_OPT_BIT = 14,\n\tIP_TUNNEL_GTP_OPT_BIT = 15,\n\tIP_TUNNEL_VTI_BIT = 16,\n\tIP_TUNNEL_SIT_ISATAP_BIT = 16,\n\tIP_TUNNEL_PFCP_OPT_BIT = 17,\n\t__IP_TUNNEL_FLAG_NUM = 18,\n};\n\nenum {\n\tIRQCHIP_FWNODE_REAL = 0,\n\tIRQCHIP_FWNODE_NAMED = 1,\n\tIRQCHIP_FWNODE_NAMED_ID = 2,\n};\n\nenum {\n\tIRQCHIP_SET_TYPE_MASKED = 1,\n\tIRQCHIP_EOI_IF_HANDLED = 2,\n\tIRQCHIP_MASK_ON_SUSPEND = 4,\n\tIRQCHIP_ONOFFLINE_ENABLED = 8,\n\tIRQCHIP_SKIP_SET_WAKE = 16,\n\tIRQCHIP_ONESHOT_SAFE = 32,\n\tIRQCHIP_EOI_THREADED = 64,\n\tIRQCHIP_SUPPORTS_LEVEL_MSI = 128,\n\tIRQCHIP_SUPPORTS_NMI = 256,\n\tIRQCHIP_ENABLE_WAKEUP_ON_SUSPEND = 512,\n\tIRQCHIP_AFFINITY_PRE_STARTUP = 1024,\n\tIRQCHIP_IMMUTABLE = 2048,\n\tIRQCHIP_MOVE_DEFERRED = 4096,\n};\n\nenum {\n\tIRQC_IS_HARDIRQ = 0,\n\tIRQC_IS_NESTED = 1,\n};\n\nenum {\n\tIRQD_TRIGGER_MASK = 15,\n\tIRQD_SETAFFINITY_PENDING = 256,\n\tIRQD_ACTIVATED = 512,\n\tIRQD_NO_BALANCING = 1024,\n\tIRQD_PER_CPU = 2048,\n\tIRQD_AFFINITY_SET = 4096,\n\tIRQD_LEVEL = 8192,\n\tIRQD_WAKEUP_STATE = 16384,\n\tIRQD_IRQ_DISABLED = 65536,\n\tIRQD_IRQ_MASKED = 131072,\n\tIRQD_IRQ_INPROGRESS = 262144,\n\tIRQD_WAKEUP_ARMED = 524288,\n\tIRQD_FORWARDED_TO_VCPU = 1048576,\n\tIRQD_AFFINITY_MANAGED = 2097152,\n\tIRQD_IRQ_STARTED = 4194304,\n\tIRQD_MANAGED_SHUTDOWN = 8388608,\n\tIRQD_SINGLE_TARGET = 16777216,\n\tIRQD_DEFAULT_TRIGGER_SET = 33554432,\n\tIRQD_CAN_RESERVE = 67108864,\n\tIRQD_HANDLE_ENFORCE_IRQCTX = 134217728,\n\tIRQD_AFFINITY_ON_ACTIVATE = 268435456,\n\tIRQD_IRQ_ENABLED_ON_SUSPEND = 536870912,\n\tIRQD_RESEND_WHEN_IN_PROGRESS = 1073741824,\n};\n\nenum {\n\tIRQS_AUTODETECT = 1,\n\tIRQS_SPURIOUS_DISABLED = 2,\n\tIRQS_POLL_INPROGRESS = 8,\n\tIRQS_ONESHOT = 32,\n\tIRQS_REPLAY = 64,\n\tIRQS_WAITING = 128,\n\tIRQS_PENDING = 512,\n\tIRQS_SUSPENDED = 2048,\n\tIRQS_TIMINGS = 4096,\n\tIRQS_NMI = 8192,\n\tIRQS_SYSFS = 16384,\n};\n\nenum {\n\tIRQTF_RUNTHREAD = 0,\n\tIRQTF_WARNED = 1,\n\tIRQTF_AFFINITY = 2,\n\tIRQTF_FORCED_THREAD = 3,\n\tIRQTF_READY = 4,\n};\n\nenum {\n\tIRQ_DOMAIN_FLAG_HIERARCHY = 1,\n\tIRQ_DOMAIN_NAME_ALLOCATED = 2,\n\tIRQ_DOMAIN_FLAG_IPI_PER_CPU = 4,\n\tIRQ_DOMAIN_FLAG_IPI_SINGLE = 8,\n\tIRQ_DOMAIN_FLAG_MSI = 16,\n\tIRQ_DOMAIN_FLAG_ISOLATED_MSI = 32,\n\tIRQ_DOMAIN_FLAG_NO_MAP = 64,\n\tIRQ_DOMAIN_FLAG_MSI_PARENT = 256,\n\tIRQ_DOMAIN_FLAG_MSI_DEVICE = 512,\n\tIRQ_DOMAIN_FLAG_DESTROY_GC = 1024,\n\tIRQ_DOMAIN_FLAG_NONCORE = 65536,\n};\n\nenum {\n\tIRQ_POLL_F_SCHED = 0,\n\tIRQ_POLL_F_DISABLE = 1,\n};\n\nenum {\n\tIRQ_SET_MASK_OK = 0,\n\tIRQ_SET_MASK_OK_NOCOPY = 1,\n\tIRQ_SET_MASK_OK_DONE = 2,\n};\n\nenum {\n\tIRQ_STARTUP_NORMAL = 0,\n\tIRQ_STARTUP_MANAGED = 1,\n\tIRQ_STARTUP_ABORT = 2,\n};\n\nenum {\n\tIRQ_TYPE_NONE = 0,\n\tIRQ_TYPE_EDGE_RISING = 1,\n\tIRQ_TYPE_EDGE_FALLING = 2,\n\tIRQ_TYPE_EDGE_BOTH = 3,\n\tIRQ_TYPE_LEVEL_HIGH = 4,\n\tIRQ_TYPE_LEVEL_LOW = 8,\n\tIRQ_TYPE_LEVEL_MASK = 12,\n\tIRQ_TYPE_SENSE_MASK = 15,\n\tIRQ_TYPE_DEFAULT = 15,\n\tIRQ_TYPE_PROBE = 16,\n\tIRQ_LEVEL = 256,\n\tIRQ_PER_CPU = 512,\n\tIRQ_NOPROBE = 1024,\n\tIRQ_NOREQUEST = 2048,\n\tIRQ_NOAUTOEN = 4096,\n\tIRQ_NO_BALANCING = 8192,\n\tIRQ_NESTED_THREAD = 32768,\n\tIRQ_NOTHREAD = 65536,\n\tIRQ_PER_CPU_DEVID = 131072,\n\tIRQ_IS_POLLED = 262144,\n\tIRQ_DISABLE_UNLAZY = 524288,\n\tIRQ_HIDDEN = 1048576,\n\tIRQ_NO_DEBUG = 2097152,\n};\n\nenum {\n\tI_DATA_SEM_NORMAL = 0,\n\tI_DATA_SEM_OTHER = 1,\n\tI_DATA_SEM_QUOTA = 2,\n\tI_DATA_SEM_EA = 3,\n};\n\nenum {\n\tI_LCOEF_RBPS = 0,\n\tI_LCOEF_RSEQIOPS = 1,\n\tI_LCOEF_RRANDIOPS = 2,\n\tI_LCOEF_WBPS = 3,\n\tI_LCOEF_WSEQIOPS = 4,\n\tI_LCOEF_WRANDIOPS = 5,\n\tNR_I_LCOEFS = 6,\n};\n\nenum {\n\tKBUF_MODE_EXPAND = 1,\n\tKBUF_MODE_FREE = 2,\n};\n\nenum {\n\tKERNEL_PARAM_FL_UNSAFE = 1,\n\tKERNEL_PARAM_FL_HWPARAM = 2,\n};\n\nenum {\n\tKERNEL_PARAM_OPS_FL_NOARG = 1,\n};\n\nenum {\n\tKF_ARG_DYNPTR_ID = 0,\n\tKF_ARG_LIST_HEAD_ID = 1,\n\tKF_ARG_LIST_NODE_ID = 2,\n\tKF_ARG_RB_ROOT_ID = 3,\n\tKF_ARG_RB_NODE_ID = 4,\n\tKF_ARG_WORKQUEUE_ID = 5,\n};\n\nenum {\n\tKTW_FREEZABLE = 1,\n};\n\nenum {\n\tKYBER_ASYNC_PERCENT = 75,\n};\n\nenum {\n\tKYBER_LATENCY_SHIFT = 2,\n\tKYBER_GOOD_BUCKETS = 4,\n\tKYBER_LATENCY_BUCKETS = 8,\n};\n\nenum {\n\tKYBER_READ = 0,\n\tKYBER_WRITE = 1,\n\tKYBER_DISCARD = 2,\n\tKYBER_OTHER = 3,\n\tKYBER_NUM_DOMAINS = 4,\n};\n\nenum {\n\tKYBER_TOTAL_LATENCY = 0,\n\tKYBER_IO_LATENCY = 1,\n};\n\nenum {\n\tLAST_NORM = 0,\n\tLAST_ROOT = 1,\n\tLAST_DOT = 2,\n\tLAST_DOTDOT = 3,\n};\n\nenum {\n\tLAT_OK = 1,\n\tLAT_UNKNOWN = 2,\n\tLAT_UNKNOWN_WRITES = 3,\n\tLAT_EXCEEDED = 4,\n};\n\nenum {\n\tLCOEF_RPAGE = 0,\n\tLCOEF_RSEQIO = 1,\n\tLCOEF_RRANDIO = 2,\n\tLCOEF_WPAGE = 3,\n\tLCOEF_WSEQIO = 4,\n\tLCOEF_WRANDIO = 5,\n\tNR_LCOEFS = 6,\n};\n\nenum {\n\tLIBATA_MAX_PRD = 128,\n\tLIBATA_DUMB_MAX_PRD = 64,\n\tATA_DEF_QUEUE = 1,\n\tATA_MAX_QUEUE = 32,\n\tATA_TAG_INTERNAL = 32,\n\tATA_SHORT_PAUSE = 16,\n\tATAPI_MAX_DRAIN = 16384,\n\tATA_ALL_DEVICES = 3,\n\tATA_SHT_EMULATED = 1,\n\tATA_SHT_THIS_ID = -1,\n\tATA_TFLAG_LBA48 = 1,\n\tATA_TFLAG_ISADDR = 2,\n\tATA_TFLAG_DEVICE = 4,\n\tATA_TFLAG_WRITE = 8,\n\tATA_TFLAG_LBA = 16,\n\tATA_TFLAG_FUA = 32,\n\tATA_TFLAG_POLLING = 64,\n\tATA_DFLAG_LBA = 1,\n\tATA_DFLAG_LBA48 = 2,\n\tATA_DFLAG_CDB_INTR = 4,\n\tATA_DFLAG_NCQ = 8,\n\tATA_DFLAG_FLUSH_EXT = 16,\n\tATA_DFLAG_ACPI_PENDING = 32,\n\tATA_DFLAG_ACPI_FAILED = 64,\n\tATA_DFLAG_AN = 128,\n\tATA_DFLAG_TRUSTED = 256,\n\tATA_DFLAG_FUA = 512,\n\tATA_DFLAG_DMADIR = 1024,\n\tATA_DFLAG_NCQ_SEND_RECV = 2048,\n\tATA_DFLAG_NCQ_PRIO = 4096,\n\tATA_DFLAG_CDL = 8192,\n\tATA_DFLAG_CFG_MASK = 16383,\n\tATA_DFLAG_PIO = 16384,\n\tATA_DFLAG_NCQ_OFF = 32768,\n\tATA_DFLAG_SLEEPING = 65536,\n\tATA_DFLAG_DUBIOUS_XFER = 131072,\n\tATA_DFLAG_NO_UNLOAD = 262144,\n\tATA_DFLAG_UNLOCK_HPA = 524288,\n\tATA_DFLAG_INIT_MASK = 1048575,\n\tATA_DFLAG_NCQ_PRIO_ENABLED = 1048576,\n\tATA_DFLAG_CDL_ENABLED = 2097152,\n\tATA_DFLAG_RESUMING = 4194304,\n\tATA_DFLAG_DETACH = 16777216,\n\tATA_DFLAG_DETACHED = 33554432,\n\tATA_DFLAG_DA = 67108864,\n\tATA_DFLAG_DEVSLP = 134217728,\n\tATA_DFLAG_ACPI_DISABLED = 268435456,\n\tATA_DFLAG_D_SENSE = 536870912,\n\tATA_DFLAG_ZAC = 1073741824,\n\tATA_DFLAG_FEATURES_MASK = 201341696,\n\tATA_DEV_UNKNOWN = 0,\n\tATA_DEV_ATA = 1,\n\tATA_DEV_ATA_UNSUP = 2,\n\tATA_DEV_ATAPI = 3,\n\tATA_DEV_ATAPI_UNSUP = 4,\n\tATA_DEV_PMP = 5,\n\tATA_DEV_PMP_UNSUP = 6,\n\tATA_DEV_SEMB = 7,\n\tATA_DEV_SEMB_UNSUP = 8,\n\tATA_DEV_ZAC = 9,\n\tATA_DEV_ZAC_UNSUP = 10,\n\tATA_DEV_NONE = 11,\n\tATA_LFLAG_NO_HRST = 2,\n\tATA_LFLAG_NO_SRST = 4,\n\tATA_LFLAG_ASSUME_ATA = 8,\n\tATA_LFLAG_ASSUME_SEMB = 16,\n\tATA_LFLAG_ASSUME_CLASS = 24,\n\tATA_LFLAG_NO_RETRY = 32,\n\tATA_LFLAG_DISABLED = 64,\n\tATA_LFLAG_SW_ACTIVITY = 128,\n\tATA_LFLAG_NO_LPM = 256,\n\tATA_LFLAG_RST_ONCE = 512,\n\tATA_LFLAG_CHANGED = 1024,\n\tATA_LFLAG_NO_DEBOUNCE_DELAY = 2048,\n\tATA_FLAG_SLAVE_POSS = 1,\n\tATA_FLAG_SATA = 2,\n\tATA_FLAG_NO_LPM = 4,\n\tATA_FLAG_NO_LOG_PAGE = 32,\n\tATA_FLAG_NO_ATAPI = 64,\n\tATA_FLAG_PIO_DMA = 128,\n\tATA_FLAG_PIO_LBA48 = 256,\n\tATA_FLAG_PIO_POLLING = 512,\n\tATA_FLAG_NCQ = 1024,\n\tATA_FLAG_NO_POWEROFF_SPINDOWN = 2048,\n\tATA_FLAG_NO_HIBERNATE_SPINDOWN = 4096,\n\tATA_FLAG_DEBUGMSG = 8192,\n\tATA_FLAG_FPDMA_AA = 16384,\n\tATA_FLAG_IGN_SIMPLEX = 32768,\n\tATA_FLAG_NO_IORDY = 65536,\n\tATA_FLAG_ACPI_SATA = 131072,\n\tATA_FLAG_AN = 262144,\n\tATA_FLAG_PMP = 524288,\n\tATA_FLAG_FPDMA_AUX = 1048576,\n\tATA_FLAG_EM = 2097152,\n\tATA_FLAG_SW_ACTIVITY = 4194304,\n\tATA_FLAG_NO_DIPM = 8388608,\n\tATA_FLAG_SAS_HOST = 16777216,\n\tATA_PFLAG_EH_PENDING = 1,\n\tATA_PFLAG_EH_IN_PROGRESS = 2,\n\tATA_PFLAG_FROZEN = 4,\n\tATA_PFLAG_RECOVERED = 8,\n\tATA_PFLAG_LOADING = 16,\n\tATA_PFLAG_SCSI_HOTPLUG = 64,\n\tATA_PFLAG_INITIALIZING = 128,\n\tATA_PFLAG_RESETTING = 256,\n\tATA_PFLAG_UNLOADING = 512,\n\tATA_PFLAG_UNLOADED = 1024,\n\tATA_PFLAG_RESUMING = 65536,\n\tATA_PFLAG_SUSPENDED = 131072,\n\tATA_PFLAG_PM_PENDING = 262144,\n\tATA_PFLAG_INIT_GTM_VALID = 524288,\n\tATA_PFLAG_PIO32 = 1048576,\n\tATA_PFLAG_PIO32CHANGE = 2097152,\n\tATA_PFLAG_EXTERNAL = 4194304,\n\tATA_QCFLAG_ACTIVE = 1,\n\tATA_QCFLAG_DMAMAP = 2,\n\tATA_QCFLAG_RTF_FILLED = 4,\n\tATA_QCFLAG_IO = 8,\n\tATA_QCFLAG_RESULT_TF = 16,\n\tATA_QCFLAG_CLEAR_EXCL = 32,\n\tATA_QCFLAG_QUIET = 64,\n\tATA_QCFLAG_RETRY = 128,\n\tATA_QCFLAG_HAS_CDL = 256,\n\tATA_QCFLAG_EH = 65536,\n\tATA_QCFLAG_SENSE_VALID = 131072,\n\tATA_QCFLAG_EH_SCHEDULED = 262144,\n\tATA_QCFLAG_EH_SUCCESS_CMD = 524288,\n\tATA_HOST_SIMPLEX = 1,\n\tATA_HOST_STARTED = 2,\n\tATA_HOST_PARALLEL_SCAN = 4,\n\tATA_HOST_IGNORE_ATA = 8,\n\tATA_HOST_NO_PART = 16,\n\tATA_HOST_NO_SSC = 32,\n\tATA_HOST_NO_DEVSLP = 64,\n\tATA_TMOUT_INTERNAL_QUICK = 5000,\n\tATA_TMOUT_MAX_PARK = 30000,\n\tATA_TMOUT_FF_WAIT_LONG = 2000,\n\tATA_TMOUT_FF_WAIT = 800,\n\tATA_WAIT_AFTER_RESET = 150,\n\tATA_TMOUT_PMP_SRST_WAIT = 10000,\n\tATA_TMOUT_SPURIOUS_PHY = 10000,\n\tBUS_UNKNOWN = 0,\n\tBUS_DMA = 1,\n\tBUS_IDLE = 2,\n\tBUS_NOINTR = 3,\n\tBUS_NODATA = 4,\n\tBUS_TIMER = 5,\n\tBUS_PIO = 6,\n\tBUS_EDD = 7,\n\tBUS_IDENTIFY = 8,\n\tBUS_PACKET = 9,\n\tPORT_UNKNOWN = 0,\n\tPORT_ENABLED = 1,\n\tPORT_DISABLED = 2,\n\tATA_NR_PIO_MODES = 7,\n\tATA_NR_MWDMA_MODES = 5,\n\tATA_NR_UDMA_MODES = 8,\n\tATA_SHIFT_PIO = 0,\n\tATA_SHIFT_MWDMA = 7,\n\tATA_SHIFT_UDMA = 12,\n\tATA_SHIFT_PRIO = 6,\n\tATA_PRIO_HIGH = 2,\n\tATA_DMA_PAD_SZ = 4,\n\tATA_ERING_SIZE = 32,\n\tATA_DEFER_LINK = 1,\n\tATA_DEFER_PORT = 2,\n\tATA_EH_DESC_LEN = 80,\n\tATA_EH_REVALIDATE = 1,\n\tATA_EH_SOFTRESET = 2,\n\tATA_EH_HARDRESET = 4,\n\tATA_EH_RESET = 6,\n\tATA_EH_ENABLE_LINK = 8,\n\tATA_EH_PARK = 32,\n\tATA_EH_GET_SUCCESS_SENSE = 64,\n\tATA_EH_SET_ACTIVE = 128,\n\tATA_EH_PERDEV_MASK = 225,\n\tATA_EH_ALL_ACTIONS = 15,\n\tATA_EHI_HOTPLUGGED = 1,\n\tATA_EHI_NO_AUTOPSY = 4,\n\tATA_EHI_QUIET = 8,\n\tATA_EHI_NO_RECOVERY = 16,\n\tATA_EHI_DID_SOFTRESET = 65536,\n\tATA_EHI_DID_HARDRESET = 131072,\n\tATA_EHI_PRINTINFO = 262144,\n\tATA_EHI_SETMODE = 524288,\n\tATA_EHI_POST_SETMODE = 1048576,\n\tATA_EHI_DID_PRINT_QUIRKS = 2097152,\n\tATA_EHI_DID_RESET = 196608,\n\tATA_EHI_TO_SLAVE_MASK = 12,\n\tATA_EH_MAX_TRIES = 5,\n\tATA_LINK_RESUME_TRIES = 5,\n\tATA_EH_DEV_TRIES = 3,\n\tATA_EH_PMP_TRIES = 5,\n\tATA_EH_PMP_LINK_TRIES = 3,\n\tSATA_PMP_RW_TIMEOUT = 3000,\n\tATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8,\n\tATA_QUIRK_DIAGNOSTIC = 1,\n\tATA_QUIRK_NODMA = 2,\n\tATA_QUIRK_NONCQ = 4,\n\tATA_QUIRK_MAX_SEC_128 = 8,\n\tATA_QUIRK_BROKEN_HPA = 16,\n\tATA_QUIRK_DISABLE = 32,\n\tATA_QUIRK_HPA_SIZE = 64,\n\tATA_QUIRK_IVB = 128,\n\tATA_QUIRK_STUCK_ERR = 256,\n\tATA_QUIRK_BRIDGE_OK = 512,\n\tATA_QUIRK_ATAPI_MOD16_DMA = 1024,\n\tATA_QUIRK_FIRMWARE_WARN = 2048,\n\tATA_QUIRK_1_5_GBPS = 4096,\n\tATA_QUIRK_NOSETXFER = 8192,\n\tATA_QUIRK_BROKEN_FPDMA_AA = 16384,\n\tATA_QUIRK_DUMP_ID = 32768,\n\tATA_QUIRK_MAX_SEC_LBA48 = 65536,\n\tATA_QUIRK_ATAPI_DMADIR = 131072,\n\tATA_QUIRK_NO_NCQ_TRIM = 262144,\n\tATA_QUIRK_NOLPM = 524288,\n\tATA_QUIRK_WD_BROKEN_LPM = 1048576,\n\tATA_QUIRK_ZERO_AFTER_TRIM = 2097152,\n\tATA_QUIRK_NO_DMA_LOG = 4194304,\n\tATA_QUIRK_NOTRIM = 8388608,\n\tATA_QUIRK_MAX_SEC_1024 = 16777216,\n\tATA_QUIRK_MAX_TRIM_128M = 33554432,\n\tATA_QUIRK_NO_NCQ_ON_ATI = 67108864,\n\tATA_QUIRK_NO_LPM_ON_ATI = 134217728,\n\tATA_QUIRK_NO_ID_DEV_LOG = 268435456,\n\tATA_QUIRK_NO_LOG_DIR = 536870912,\n\tATA_QUIRK_NO_FUA = 1073741824,\n\tATA_DMA_MASK_ATA = 1,\n\tATA_DMA_MASK_ATAPI = 2,\n\tATA_DMA_MASK_CFA = 4,\n\tATAPI_READ = 0,\n\tATAPI_WRITE = 1,\n\tATAPI_READ_CD = 2,\n\tATAPI_PASS_THRU = 3,\n\tATAPI_MISC = 4,\n\tATA_TIMING_SETUP = 1,\n\tATA_TIMING_ACT8B = 2,\n\tATA_TIMING_REC8B = 4,\n\tATA_TIMING_CYC8B = 8,\n\tATA_TIMING_8BIT = 14,\n\tATA_TIMING_ACTIVE = 16,\n\tATA_TIMING_RECOVER = 32,\n\tATA_TIMING_DMACK_HOLD = 64,\n\tATA_TIMING_CYCLE = 128,\n\tATA_TIMING_UDMA = 256,\n\tATA_TIMING_ALL = 511,\n\tATA_ACPI_FILTER_SETXFER = 1,\n\tATA_ACPI_FILTER_LOCK = 2,\n\tATA_ACPI_FILTER_DIPM = 4,\n\tATA_ACPI_FILTER_FPDMA_OFFSET = 8,\n\tATA_ACPI_FILTER_FPDMA_AA = 16,\n\tATA_ACPI_FILTER_DEFAULT = 7,\n};\n\nenum {\n\tLINE_MODE_NONE = 0,\n\tLINE_MODE_CODEC = 1,\n\tLINE_MODE_MODEL = 2,\n\tLINE_MODE_PINCFG = 3,\n\tLINE_MODE_VERB = 4,\n\tLINE_MODE_HINT = 5,\n\tLINE_MODE_VENDOR_ID = 6,\n\tLINE_MODE_SUBSYSTEM_ID = 7,\n\tLINE_MODE_REVISION_ID = 8,\n\tLINE_MODE_CHIP_NAME = 9,\n\tNUM_LINE_MODES = 10,\n};\n\nenum {\n\tLINUX_MIB_NUM = 0,\n\tLINUX_MIB_SYNCOOKIESSENT = 1,\n\tLINUX_MIB_SYNCOOKIESRECV = 2,\n\tLINUX_MIB_SYNCOOKIESFAILED = 3,\n\tLINUX_MIB_EMBRYONICRSTS = 4,\n\tLINUX_MIB_PRUNECALLED = 5,\n\tLINUX_MIB_RCVPRUNED = 6,\n\tLINUX_MIB_OFOPRUNED = 7,\n\tLINUX_MIB_OUTOFWINDOWICMPS = 8,\n\tLINUX_MIB_LOCKDROPPEDICMPS = 9,\n\tLINUX_MIB_ARPFILTER = 10,\n\tLINUX_MIB_TIMEWAITED = 11,\n\tLINUX_MIB_TIMEWAITRECYCLED = 12,\n\tLINUX_MIB_TIMEWAITKILLED = 13,\n\tLINUX_MIB_PAWSACTIVEREJECTED = 14,\n\tLINUX_MIB_PAWSESTABREJECTED = 15,\n\tLINUX_MIB_PAWS_OLD_ACK = 16,\n\tLINUX_MIB_DELAYEDACKS = 17,\n\tLINUX_MIB_DELAYEDACKLOCKED = 18,\n\tLINUX_MIB_DELAYEDACKLOST = 19,\n\tLINUX_MIB_LISTENOVERFLOWS = 20,\n\tLINUX_MIB_LISTENDROPS = 21,\n\tLINUX_MIB_TCPHPHITS = 22,\n\tLINUX_MIB_TCPPUREACKS = 23,\n\tLINUX_MIB_TCPHPACKS = 24,\n\tLINUX_MIB_TCPRENORECOVERY = 25,\n\tLINUX_MIB_TCPSACKRECOVERY = 26,\n\tLINUX_MIB_TCPSACKRENEGING = 27,\n\tLINUX_MIB_TCPSACKREORDER = 28,\n\tLINUX_MIB_TCPRENOREORDER = 29,\n\tLINUX_MIB_TCPTSREORDER = 30,\n\tLINUX_MIB_TCPFULLUNDO = 31,\n\tLINUX_MIB_TCPPARTIALUNDO = 32,\n\tLINUX_MIB_TCPDSACKUNDO = 33,\n\tLINUX_MIB_TCPLOSSUNDO = 34,\n\tLINUX_MIB_TCPLOSTRETRANSMIT = 35,\n\tLINUX_MIB_TCPRENOFAILURES = 36,\n\tLINUX_MIB_TCPSACKFAILURES = 37,\n\tLINUX_MIB_TCPLOSSFAILURES = 38,\n\tLINUX_MIB_TCPFASTRETRANS = 39,\n\tLINUX_MIB_TCPSLOWSTARTRETRANS = 40,\n\tLINUX_MIB_TCPTIMEOUTS = 41,\n\tLINUX_MIB_TCPLOSSPROBES = 42,\n\tLINUX_MIB_TCPLOSSPROBERECOVERY = 43,\n\tLINUX_MIB_TCPRENORECOVERYFAIL = 44,\n\tLINUX_MIB_TCPSACKRECOVERYFAIL = 45,\n\tLINUX_MIB_TCPRCVCOLLAPSED = 46,\n\tLINUX_MIB_TCPDSACKOLDSENT = 47,\n\tLINUX_MIB_TCPDSACKOFOSENT = 48,\n\tLINUX_MIB_TCPDSACKRECV = 49,\n\tLINUX_MIB_TCPDSACKOFORECV = 50,\n\tLINUX_MIB_TCPABORTONDATA = 51,\n\tLINUX_MIB_TCPABORTONCLOSE = 52,\n\tLINUX_MIB_TCPABORTONMEMORY = 53,\n\tLINUX_MIB_TCPABORTONTIMEOUT = 54,\n\tLINUX_MIB_TCPABORTONLINGER = 55,\n\tLINUX_MIB_TCPABORTFAILED = 56,\n\tLINUX_MIB_TCPMEMORYPRESSURES = 57,\n\tLINUX_MIB_TCPMEMORYPRESSURESCHRONO = 58,\n\tLINUX_MIB_TCPSACKDISCARD = 59,\n\tLINUX_MIB_TCPDSACKIGNOREDOLD = 60,\n\tLINUX_MIB_TCPDSACKIGNOREDNOUNDO = 61,\n\tLINUX_MIB_TCPSPURIOUSRTOS = 62,\n\tLINUX_MIB_TCPMD5NOTFOUND = 63,\n\tLINUX_MIB_TCPMD5UNEXPECTED = 64,\n\tLINUX_MIB_TCPMD5FAILURE = 65,\n\tLINUX_MIB_SACKSHIFTED = 66,\n\tLINUX_MIB_SACKMERGED = 67,\n\tLINUX_MIB_SACKSHIFTFALLBACK = 68,\n\tLINUX_MIB_TCPBACKLOGDROP = 69,\n\tLINUX_MIB_PFMEMALLOCDROP = 70,\n\tLINUX_MIB_TCPMINTTLDROP = 71,\n\tLINUX_MIB_TCPDEFERACCEPTDROP = 72,\n\tLINUX_MIB_IPRPFILTER = 73,\n\tLINUX_MIB_TCPTIMEWAITOVERFLOW = 74,\n\tLINUX_MIB_TCPREQQFULLDOCOOKIES = 75,\n\tLINUX_MIB_TCPREQQFULLDROP = 76,\n\tLINUX_MIB_TCPRETRANSFAIL = 77,\n\tLINUX_MIB_TCPRCVCOALESCE = 78,\n\tLINUX_MIB_TCPBACKLOGCOALESCE = 79,\n\tLINUX_MIB_TCPOFOQUEUE = 80,\n\tLINUX_MIB_TCPOFODROP = 81,\n\tLINUX_MIB_TCPOFOMERGE = 82,\n\tLINUX_MIB_TCPCHALLENGEACK = 83,\n\tLINUX_MIB_TCPSYNCHALLENGE = 84,\n\tLINUX_MIB_TCPFASTOPENACTIVE = 85,\n\tLINUX_MIB_TCPFASTOPENACTIVEFAIL = 86,\n\tLINUX_MIB_TCPFASTOPENPASSIVE = 87,\n\tLINUX_MIB_TCPFASTOPENPASSIVEFAIL = 88,\n\tLINUX_MIB_TCPFASTOPENLISTENOVERFLOW = 89,\n\tLINUX_MIB_TCPFASTOPENCOOKIEREQD = 90,\n\tLINUX_MIB_TCPFASTOPENBLACKHOLE = 91,\n\tLINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES = 92,\n\tLINUX_MIB_BUSYPOLLRXPACKETS = 93,\n\tLINUX_MIB_TCPAUTOCORKING = 94,\n\tLINUX_MIB_TCPFROMZEROWINDOWADV = 95,\n\tLINUX_MIB_TCPTOZEROWINDOWADV = 96,\n\tLINUX_MIB_TCPWANTZEROWINDOWADV = 97,\n\tLINUX_MIB_TCPSYNRETRANS = 98,\n\tLINUX_MIB_TCPORIGDATASENT = 99,\n\tLINUX_MIB_TCPHYSTARTTRAINDETECT = 100,\n\tLINUX_MIB_TCPHYSTARTTRAINCWND = 101,\n\tLINUX_MIB_TCPHYSTARTDELAYDETECT = 102,\n\tLINUX_MIB_TCPHYSTARTDELAYCWND = 103,\n\tLINUX_MIB_TCPACKSKIPPEDSYNRECV = 104,\n\tLINUX_MIB_TCPACKSKIPPEDPAWS = 105,\n\tLINUX_MIB_TCPACKSKIPPEDSEQ = 106,\n\tLINUX_MIB_TCPACKSKIPPEDFINWAIT2 = 107,\n\tLINUX_MIB_TCPACKSKIPPEDTIMEWAIT = 108,\n\tLINUX_MIB_TCPACKSKIPPEDCHALLENGE = 109,\n\tLINUX_MIB_TCPWINPROBE = 110,\n\tLINUX_MIB_TCPKEEPALIVE = 111,\n\tLINUX_MIB_TCPMTUPFAIL = 112,\n\tLINUX_MIB_TCPMTUPSUCCESS = 113,\n\tLINUX_MIB_TCPDELIVERED = 114,\n\tLINUX_MIB_TCPDELIVEREDCE = 115,\n\tLINUX_MIB_TCPACKCOMPRESSED = 116,\n\tLINUX_MIB_TCPZEROWINDOWDROP = 117,\n\tLINUX_MIB_TCPRCVQDROP = 118,\n\tLINUX_MIB_TCPWQUEUETOOBIG = 119,\n\tLINUX_MIB_TCPFASTOPENPASSIVEALTKEY = 120,\n\tLINUX_MIB_TCPTIMEOUTREHASH = 121,\n\tLINUX_MIB_TCPDUPLICATEDATAREHASH = 122,\n\tLINUX_MIB_TCPDSACKRECVSEGS = 123,\n\tLINUX_MIB_TCPDSACKIGNOREDDUBIOUS = 124,\n\tLINUX_MIB_TCPMIGRATEREQSUCCESS = 125,\n\tLINUX_MIB_TCPMIGRATEREQFAILURE = 126,\n\tLINUX_MIB_TCPPLBREHASH = 127,\n\tLINUX_MIB_TCPAOREQUIRED = 128,\n\tLINUX_MIB_TCPAOBAD = 129,\n\tLINUX_MIB_TCPAOKEYNOTFOUND = 130,\n\tLINUX_MIB_TCPAOGOOD = 131,\n\tLINUX_MIB_TCPAODROPPEDICMPS = 132,\n\t__LINUX_MIB_MAX = 133,\n};\n\nenum {\n\tLINUX_MIB_TLSNUM = 0,\n\tLINUX_MIB_TLSCURRTXSW = 1,\n\tLINUX_MIB_TLSCURRRXSW = 2,\n\tLINUX_MIB_TLSCURRTXDEVICE = 3,\n\tLINUX_MIB_TLSCURRRXDEVICE = 4,\n\tLINUX_MIB_TLSTXSW = 5,\n\tLINUX_MIB_TLSRXSW = 6,\n\tLINUX_MIB_TLSTXDEVICE = 7,\n\tLINUX_MIB_TLSRXDEVICE = 8,\n\tLINUX_MIB_TLSDECRYPTERROR = 9,\n\tLINUX_MIB_TLSRXDEVICERESYNC = 10,\n\tLINUX_MIB_TLSDECRYPTRETRY = 11,\n\tLINUX_MIB_TLSRXNOPADVIOL = 12,\n\tLINUX_MIB_TLSRXREKEYOK = 13,\n\tLINUX_MIB_TLSRXREKEYERROR = 14,\n\tLINUX_MIB_TLSTXREKEYOK = 15,\n\tLINUX_MIB_TLSTXREKEYERROR = 16,\n\tLINUX_MIB_TLSRXREKEYRECEIVED = 17,\n\t__LINUX_MIB_TLSMAX = 18,\n};\n\nenum {\n\tLINUX_MIB_XFRMNUM = 0,\n\tLINUX_MIB_XFRMINERROR = 1,\n\tLINUX_MIB_XFRMINBUFFERERROR = 2,\n\tLINUX_MIB_XFRMINHDRERROR = 3,\n\tLINUX_MIB_XFRMINNOSTATES = 4,\n\tLINUX_MIB_XFRMINSTATEPROTOERROR = 5,\n\tLINUX_MIB_XFRMINSTATEMODEERROR = 6,\n\tLINUX_MIB_XFRMINSTATESEQERROR = 7,\n\tLINUX_MIB_XFRMINSTATEEXPIRED = 8,\n\tLINUX_MIB_XFRMINSTATEMISMATCH = 9,\n\tLINUX_MIB_XFRMINSTATEINVALID = 10,\n\tLINUX_MIB_XFRMINTMPLMISMATCH = 11,\n\tLINUX_MIB_XFRMINNOPOLS = 12,\n\tLINUX_MIB_XFRMINPOLBLOCK = 13,\n\tLINUX_MIB_XFRMINPOLERROR = 14,\n\tLINUX_MIB_XFRMOUTERROR = 15,\n\tLINUX_MIB_XFRMOUTBUNDLEGENERROR = 16,\n\tLINUX_MIB_XFRMOUTBUNDLECHECKERROR = 17,\n\tLINUX_MIB_XFRMOUTNOSTATES = 18,\n\tLINUX_MIB_XFRMOUTSTATEPROTOERROR = 19,\n\tLINUX_MIB_XFRMOUTSTATEMODEERROR = 20,\n\tLINUX_MIB_XFRMOUTSTATESEQERROR = 21,\n\tLINUX_MIB_XFRMOUTSTATEEXPIRED = 22,\n\tLINUX_MIB_XFRMOUTPOLBLOCK = 23,\n\tLINUX_MIB_XFRMOUTPOLDEAD = 24,\n\tLINUX_MIB_XFRMOUTPOLERROR = 25,\n\tLINUX_MIB_XFRMFWDHDRERROR = 26,\n\tLINUX_MIB_XFRMOUTSTATEINVALID = 27,\n\tLINUX_MIB_XFRMACQUIREERROR = 28,\n\tLINUX_MIB_XFRMOUTSTATEDIRERROR = 29,\n\tLINUX_MIB_XFRMINSTATEDIRERROR = 30,\n\tLINUX_MIB_XFRMINIPTFSERROR = 31,\n\tLINUX_MIB_XFRMOUTNOQSPACE = 32,\n\t__LINUX_MIB_XFRMMAX = 33,\n};\n\nenum {\n\tLK_STATE_IN_USE = 0,\n\tNFS_DELEGATED_STATE = 1,\n\tNFS_OPEN_STATE = 2,\n\tNFS_O_RDONLY_STATE = 3,\n\tNFS_O_WRONLY_STATE = 4,\n\tNFS_O_RDWR_STATE = 5,\n\tNFS_STATE_RECLAIM_REBOOT = 6,\n\tNFS_STATE_RECLAIM_NOGRACE = 7,\n\tNFS_STATE_POSIX_LOCKS = 8,\n\tNFS_STATE_RECOVERY_FAILED = 9,\n\tNFS_STATE_MAY_NOTIFY_LOCK = 10,\n\tNFS_STATE_CHANGE_WAIT = 11,\n\tNFS_CLNT_DST_SSC_COPY_STATE = 12,\n\tNFS_CLNT_SRC_SSC_COPY_STATE = 13,\n\tNFS_SRV_SSC_COPY_STATE = 14,\n};\n\nenum {\n\tLOGIC_PIO_INDIRECT = 0,\n\tLOGIC_PIO_CPU_MMIO = 1,\n};\n\nenum {\n\tLOG_INODE_ALL = 0,\n\tLOG_INODE_EXISTS = 1,\n};\n\nenum {\n\tLOG_WALK_PIN_ONLY = 0,\n\tLOG_WALK_REPLAY_INODES = 1,\n\tLOG_WALK_REPLAY_DIR_INDEX = 2,\n\tLOG_WALK_REPLAY_ALL = 3,\n};\n\nenum {\n\tLO_FLAGS_READ_ONLY = 1,\n\tLO_FLAGS_AUTOCLEAR = 4,\n\tLO_FLAGS_PARTSCAN = 8,\n\tLO_FLAGS_DIRECT_IO = 16,\n};\n\nenum {\n\tLWTUNNEL_IP_OPTS_UNSPEC = 0,\n\tLWTUNNEL_IP_OPTS_GENEVE = 1,\n\tLWTUNNEL_IP_OPTS_VXLAN = 2,\n\tLWTUNNEL_IP_OPTS_ERSPAN = 3,\n\t__LWTUNNEL_IP_OPTS_MAX = 4,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_ERSPAN_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_ERSPAN_VER = 1,\n\tLWTUNNEL_IP_OPT_ERSPAN_INDEX = 2,\n\tLWTUNNEL_IP_OPT_ERSPAN_DIR = 3,\n\tLWTUNNEL_IP_OPT_ERSPAN_HWID = 4,\n\t__LWTUNNEL_IP_OPT_ERSPAN_MAX = 5,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_GENEVE_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_GENEVE_CLASS = 1,\n\tLWTUNNEL_IP_OPT_GENEVE_TYPE = 2,\n\tLWTUNNEL_IP_OPT_GENEVE_DATA = 3,\n\t__LWTUNNEL_IP_OPT_GENEVE_MAX = 4,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_VXLAN_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_VXLAN_GBP = 1,\n\t__LWTUNNEL_IP_OPT_VXLAN_MAX = 2,\n};\n\nenum {\n\tLWTUNNEL_XMIT_DONE = 0,\n\tLWTUNNEL_XMIT_CONTINUE = 256,\n};\n\nenum {\n\tLo_unbound = 0,\n\tLo_bound = 1,\n\tLo_rundown = 2,\n\tLo_deleting = 3,\n};\n\nenum {\n\tMATCH_MTR = 0,\n\tMATCH_MEQ = 1,\n\tMATCH_MLE = 2,\n\tMATCH_MLT = 3,\n\tMATCH_MGE = 4,\n\tMATCH_MGT = 5,\n};\n\nenum {\n\tMAX_IORES_LEVEL = 5,\n};\n\nenum {\n\tMAX_OPT_ARGS = 3,\n};\n\nenum {\n\tMBE_REFERENCED_B = 0,\n\tMBE_REUSABLE_B = 1,\n};\n\nenum {\n\tMB_INODE_PA = 0,\n\tMB_GROUP_PA = 1,\n};\n\nenum {\n\tMDBA_GET_ENTRY_UNSPEC = 0,\n\tMDBA_GET_ENTRY = 1,\n\tMDBA_GET_ENTRY_ATTRS = 2,\n\t__MDBA_GET_ENTRY_MAX = 3,\n};\n\nenum {\n\tMDBA_MDB_EATTR_UNSPEC = 0,\n\tMDBA_MDB_EATTR_TIMER = 1,\n\tMDBA_MDB_EATTR_SRC_LIST = 2,\n\tMDBA_MDB_EATTR_GROUP_MODE = 3,\n\tMDBA_MDB_EATTR_SOURCE = 4,\n\tMDBA_MDB_EATTR_RTPROT = 5,\n\tMDBA_MDB_EATTR_DST = 6,\n\tMDBA_MDB_EATTR_DST_PORT = 7,\n\tMDBA_MDB_EATTR_VNI = 8,\n\tMDBA_MDB_EATTR_IFINDEX = 9,\n\tMDBA_MDB_EATTR_SRC_VNI = 10,\n\t__MDBA_MDB_EATTR_MAX = 11,\n};\n\nenum {\n\tMDBA_MDB_ENTRY_UNSPEC = 0,\n\tMDBA_MDB_ENTRY_INFO = 1,\n\t__MDBA_MDB_ENTRY_MAX = 2,\n};\n\nenum {\n\tMDBA_MDB_SRCATTR_UNSPEC = 0,\n\tMDBA_MDB_SRCATTR_ADDRESS = 1,\n\tMDBA_MDB_SRCATTR_TIMER = 2,\n\t__MDBA_MDB_SRCATTR_MAX = 3,\n};\n\nenum {\n\tMDBA_MDB_SRCLIST_UNSPEC = 0,\n\tMDBA_MDB_SRCLIST_ENTRY = 1,\n\t__MDBA_MDB_SRCLIST_MAX = 2,\n};\n\nenum {\n\tMDBA_MDB_UNSPEC = 0,\n\tMDBA_MDB_ENTRY = 1,\n\t__MDBA_MDB_MAX = 2,\n};\n\nenum {\n\tMDBA_SET_ENTRY_UNSPEC = 0,\n\tMDBA_SET_ENTRY = 1,\n\tMDBA_SET_ENTRY_ATTRS = 2,\n\t__MDBA_SET_ENTRY_MAX = 3,\n};\n\nenum {\n\tMDBA_UNSPEC = 0,\n\tMDBA_MDB = 1,\n\tMDBA_ROUTER = 2,\n\t__MDBA_MAX = 3,\n};\n\nenum {\n\tMDBE_ATTR_UNSPEC = 0,\n\tMDBE_ATTR_SOURCE = 1,\n\tMDBE_ATTR_SRC_LIST = 2,\n\tMDBE_ATTR_GROUP_MODE = 3,\n\tMDBE_ATTR_RTPROT = 4,\n\tMDBE_ATTR_DST = 5,\n\tMDBE_ATTR_DST_PORT = 6,\n\tMDBE_ATTR_VNI = 7,\n\tMDBE_ATTR_IFINDEX = 8,\n\tMDBE_ATTR_SRC_VNI = 9,\n\tMDBE_ATTR_STATE_MASK = 10,\n\t__MDBE_ATTR_MAX = 11,\n};\n\nenum {\n\tMDBE_SRCATTR_UNSPEC = 0,\n\tMDBE_SRCATTR_ADDRESS = 1,\n\t__MDBE_SRCATTR_MAX = 2,\n};\n\nenum {\n\tMDBE_SRC_LIST_UNSPEC = 0,\n\tMDBE_SRC_LIST_ENTRY = 1,\n\t__MDBE_SRC_LIST_MAX = 2,\n};\n\nenum {\n\tMEGASAS_HBA_OPERATIONAL = 0,\n\tMEGASAS_ADPRESET_SM_INFAULT = 1,\n\tMEGASAS_ADPRESET_SM_FW_RESET_SUCCESS = 2,\n\tMEGASAS_ADPRESET_SM_OPERATIONAL = 3,\n\tMEGASAS_HW_CRITICAL_ERROR = 4,\n\tMEGASAS_ADPRESET_SM_POLLING = 5,\n\tMEGASAS_ADPRESET_INPROG_SIGN = 3735936685,\n};\n\nenum {\n\tMEMBARRIER_FLAG_SYNC_CORE = 1,\n\tMEMBARRIER_FLAG_RSEQ = 2,\n};\n\nenum {\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_READY = 1,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED = 2,\n\tMEMBARRIER_STATE_GLOBAL_EXPEDITED_READY = 4,\n\tMEMBARRIER_STATE_GLOBAL_EXPEDITED = 8,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE_READY = 16,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE = 32,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ_READY = 64,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ = 128,\n};\n\nenum {\n\tMEMMAP_ON_MEMORY_DISABLE = 0,\n\tMEMMAP_ON_MEMORY_ENABLE = 1,\n\tMEMMAP_ON_MEMORY_FORCE = 2,\n};\n\nenum {\n\tMEMORY_RECLAIM_SWAPPINESS = 0,\n\tMEMORY_RECLAIM_NULL = 1,\n};\n\nenum {\n\tMEMREMAP_WB = 1,\n\tMEMREMAP_WT = 2,\n\tMEMREMAP_WC = 4,\n\tMEMREMAP_ENC = 8,\n\tMEMREMAP_DEC = 16,\n};\n\nenum {\n\tMFC_STATIC = 1,\n\tMFC_OFFLOAD = 2,\n};\n\nenum {\n\tMILLION = 1000000,\n\tMIN_PERIOD = 1000,\n\tMAX_PERIOD = 1000000,\n\tMARGIN_MIN_PCT = 10,\n\tMARGIN_LOW_PCT = 20,\n\tMARGIN_TARGET_PCT = 50,\n\tINUSE_ADJ_STEP_PCT = 25,\n\tTIMER_SLACK_PCT = 1,\n\tWEIGHT_ONE = 65536,\n};\n\nenum {\n\tMIX_INFLIGHT = 2147483648,\n};\n\nenum {\n\tMLO_PAUSE_NONE = 0,\n\tMLO_PAUSE_RX = 1,\n\tMLO_PAUSE_TX = 2,\n\tMLO_PAUSE_TXRX_MASK = 3,\n\tMLO_PAUSE_AN = 4,\n\tMLO_AN_PHY = 0,\n\tMLO_AN_FIXED = 1,\n\tMLO_AN_INBAND = 2,\n\tPHYLINK_PCS_NEG_NONE = 0,\n\tPHYLINK_PCS_NEG_ENABLED = 16,\n\tPHYLINK_PCS_NEG_OUTBAND = 32,\n\tPHYLINK_PCS_NEG_INBAND = 64,\n\tPHYLINK_PCS_NEG_INBAND_DISABLED = 64,\n\tPHYLINK_PCS_NEG_INBAND_ENABLED = 80,\n\tMAC_SYM_PAUSE = 1,\n\tMAC_ASYM_PAUSE = 2,\n\tMAC_10HD = 4,\n\tMAC_10FD = 8,\n\tMAC_10 = 12,\n\tMAC_100HD = 16,\n\tMAC_100FD = 32,\n\tMAC_100 = 48,\n\tMAC_1000HD = 64,\n\tMAC_1000FD = 128,\n\tMAC_1000 = 192,\n\tMAC_2500FD = 256,\n\tMAC_5000FD = 512,\n\tMAC_10000FD = 1024,\n\tMAC_20000FD = 2048,\n\tMAC_25000FD = 4096,\n\tMAC_40000FD = 8192,\n\tMAC_50000FD = 16384,\n\tMAC_56000FD = 32768,\n\tMAC_100000FD = 65536,\n\tMAC_200000FD = 131072,\n\tMAC_400000FD = 262144,\n};\n\nenum {\n\tMMOP_OFFLINE = 0,\n\tMMOP_ONLINE = 1,\n\tMMOP_ONLINE_KERNEL = 2,\n\tMMOP_ONLINE_MOVABLE = 3,\n};\n\nenum {\n\tMM_FILEPAGES = 0,\n\tMM_ANONPAGES = 1,\n\tMM_SWAPENTS = 2,\n\tMM_SHMEMPAGES = 3,\n\tNR_MM_COUNTERS = 4,\n};\n\nenum {\n\tMOUNTPROC3_NULL = 0,\n\tMOUNTPROC3_MNT = 1,\n\tMOUNTPROC3_DUMP = 2,\n\tMOUNTPROC3_UMNT = 3,\n\tMOUNTPROC3_UMNTALL = 4,\n\tMOUNTPROC3_EXPORT = 5,\n};\n\nenum {\n\tMOUNTPROC_NULL = 0,\n\tMOUNTPROC_MNT = 1,\n\tMOUNTPROC_DUMP = 2,\n\tMOUNTPROC_UMNT = 3,\n\tMOUNTPROC_UMNTALL = 4,\n\tMOUNTPROC_EXPORT = 5,\n};\n\nenum {\n\tMOXA_SUPP_RS232 = 1,\n\tMOXA_SUPP_RS422 = 2,\n\tMOXA_SUPP_RS485 = 4,\n};\n\nenum {\n\tMPOL_DEFAULT = 0,\n\tMPOL_PREFERRED = 1,\n\tMPOL_BIND = 2,\n\tMPOL_INTERLEAVE = 3,\n\tMPOL_LOCAL = 4,\n\tMPOL_PREFERRED_MANY = 5,\n\tMPOL_WEIGHTED_INTERLEAVE = 6,\n\tMPOL_MAX = 7,\n};\n\nenum {\n\tMPTCP_CMSG_TS = 1,\n\tMPTCP_CMSG_INQ = 2,\n};\n\nenum {\n\tMPTCP_PM_ADDR_ATTR_UNSPEC = 0,\n\tMPTCP_PM_ADDR_ATTR_FAMILY = 1,\n\tMPTCP_PM_ADDR_ATTR_ID = 2,\n\tMPTCP_PM_ADDR_ATTR_ADDR4 = 3,\n\tMPTCP_PM_ADDR_ATTR_ADDR6 = 4,\n\tMPTCP_PM_ADDR_ATTR_PORT = 5,\n\tMPTCP_PM_ADDR_ATTR_FLAGS = 6,\n\tMPTCP_PM_ADDR_ATTR_IF_IDX = 7,\n\t__MPTCP_PM_ADDR_ATTR_MAX = 8,\n};\n\nenum {\n\tMPTCP_PM_ATTR_UNSPEC = 0,\n\tMPTCP_PM_ATTR_ADDR = 1,\n\tMPTCP_PM_ATTR_RCV_ADD_ADDRS = 2,\n\tMPTCP_PM_ATTR_SUBFLOWS = 3,\n\tMPTCP_PM_ATTR_TOKEN = 4,\n\tMPTCP_PM_ATTR_LOC_ID = 5,\n\tMPTCP_PM_ATTR_ADDR_REMOTE = 6,\n\t__MPTCP_ATTR_AFTER_LAST = 7,\n};\n\nenum {\n\tMPTCP_PM_CMD_UNSPEC = 0,\n\tMPTCP_PM_CMD_ADD_ADDR = 1,\n\tMPTCP_PM_CMD_DEL_ADDR = 2,\n\tMPTCP_PM_CMD_GET_ADDR = 3,\n\tMPTCP_PM_CMD_FLUSH_ADDRS = 4,\n\tMPTCP_PM_CMD_SET_LIMITS = 5,\n\tMPTCP_PM_CMD_GET_LIMITS = 6,\n\tMPTCP_PM_CMD_SET_FLAGS = 7,\n\tMPTCP_PM_CMD_ANNOUNCE = 8,\n\tMPTCP_PM_CMD_REMOVE = 9,\n\tMPTCP_PM_CMD_SUBFLOW_CREATE = 10,\n\tMPTCP_PM_CMD_SUBFLOW_DESTROY = 11,\n\t__MPTCP_PM_CMD_AFTER_LAST = 12,\n};\n\nenum {\n\tMPTCP_PM_ENDPOINT_ADDR = 1,\n\t__MPTCP_PM_ENDPOINT_MAX = 2,\n};\n\nenum {\n\tMPTCP_SUBFLOW_ATTR_UNSPEC = 0,\n\tMPTCP_SUBFLOW_ATTR_TOKEN_REM = 1,\n\tMPTCP_SUBFLOW_ATTR_TOKEN_LOC = 2,\n\tMPTCP_SUBFLOW_ATTR_RELWRITE_SEQ = 3,\n\tMPTCP_SUBFLOW_ATTR_MAP_SEQ = 4,\n\tMPTCP_SUBFLOW_ATTR_MAP_SFSEQ = 5,\n\tMPTCP_SUBFLOW_ATTR_SSN_OFFSET = 6,\n\tMPTCP_SUBFLOW_ATTR_MAP_DATALEN = 7,\n\tMPTCP_SUBFLOW_ATTR_FLAGS = 8,\n\tMPTCP_SUBFLOW_ATTR_ID_REM = 9,\n\tMPTCP_SUBFLOW_ATTR_ID_LOC = 10,\n\tMPTCP_SUBFLOW_ATTR_PAD = 11,\n\t__MPTCP_SUBFLOW_ATTR_MAX = 12,\n};\n\nenum {\n\tMSI_FLAG_USE_DEF_DOM_OPS = 1,\n\tMSI_FLAG_USE_DEF_CHIP_OPS = 2,\n\tMSI_FLAG_ACTIVATE_EARLY = 4,\n\tMSI_FLAG_MUST_REACTIVATE = 8,\n\tMSI_FLAG_DEV_SYSFS = 16,\n\tMSI_FLAG_ALLOC_SIMPLE_MSI_DESCS = 32,\n\tMSI_FLAG_FREE_MSI_DESCS = 64,\n\tMSI_FLAG_USE_DEV_FWNODE = 128,\n\tMSI_FLAG_PARENT_PM_DEV = 256,\n\tMSI_FLAG_PCI_MSI_MASK_PARENT = 512,\n\tMSI_GENERIC_FLAGS_MASK = 65535,\n\tMSI_DOMAIN_FLAGS_MASK = 4294901760,\n\tMSI_FLAG_MULTI_PCI_MSI = 65536,\n\tMSI_FLAG_PCI_MSIX = 131072,\n\tMSI_FLAG_LEVEL_CAPABLE = 262144,\n\tMSI_FLAG_MSIX_CONTIGUOUS = 524288,\n\tMSI_FLAG_PCI_MSIX_ALLOC_DYN = 1048576,\n\tMSI_FLAG_NO_AFFINITY = 2097152,\n};\n\nenum {\n\tMTTG_TRAV_INIT = 0,\n\tMTTG_TRAV_NFP_UNSPEC = 1,\n\tMTTG_TRAV_NFP_SPEC = 2,\n\tMTTG_TRAV_DONE = 3,\n};\n\nenum {\n\tMV_PMA_FW_VER0 = 49169,\n\tMV_PMA_FW_VER1 = 49170,\n\tMV_PMA_21X0_PORT_CTRL = 49226,\n\tMV_PMA_21X0_PORT_CTRL_SWRST = 32768,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_MASK = 7,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_USXGMII = 0,\n\tMV_PMA_2180_PORT_CTRL_MACTYPE_DXGMII = 1,\n\tMV_PMA_2180_PORT_CTRL_MACTYPE_QXGMII = 2,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_5GBASER = 4,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_5GBASER_NO_SGMII_AN = 5,\n\tMV_PMA_21X0_PORT_CTRL_MACTYPE_10GBASER_RATE_MATCH = 6,\n\tMV_PMA_BOOT = 49232,\n\tMV_PMA_BOOT_FATAL = 1,\n\tMV_PCS_BASE_T = 0,\n\tMV_PCS_BASE_R = 4096,\n\tMV_PCS_1000BASEX = 8192,\n\tMV_PCS_CSCR1 = 32768,\n\tMV_PCS_CSCR1_ED_MASK = 768,\n\tMV_PCS_CSCR1_ED_OFF = 0,\n\tMV_PCS_CSCR1_ED_RX = 512,\n\tMV_PCS_CSCR1_ED_NLP = 768,\n\tMV_PCS_CSCR1_MDIX_MASK = 96,\n\tMV_PCS_CSCR1_MDIX_MDI = 0,\n\tMV_PCS_CSCR1_MDIX_MDIX = 32,\n\tMV_PCS_CSCR1_MDIX_AUTO = 96,\n\tMV_PCS_DSC1 = 32771,\n\tMV_PCS_DSC1_ENABLE = 512,\n\tMV_PCS_DSC1_10GBT = 448,\n\tMV_PCS_DSC1_1GBR = 56,\n\tMV_PCS_DSC1_100BTX = 7,\n\tMV_PCS_DSC2 = 32772,\n\tMV_PCS_DSC2_2P5G = 61440,\n\tMV_PCS_DSC2_5G = 3840,\n\tMV_PCS_CSSR1 = 32776,\n\tMV_PCS_CSSR1_SPD1_MASK = 49152,\n\tMV_PCS_CSSR1_SPD1_SPD2 = 49152,\n\tMV_PCS_CSSR1_SPD1_1000 = 32768,\n\tMV_PCS_CSSR1_SPD1_100 = 16384,\n\tMV_PCS_CSSR1_SPD1_10 = 0,\n\tMV_PCS_CSSR1_DUPLEX_FULL = 8192,\n\tMV_PCS_CSSR1_RESOLVED = 2048,\n\tMV_PCS_CSSR1_MDIX = 64,\n\tMV_PCS_CSSR1_SPD2_MASK = 12,\n\tMV_PCS_CSSR1_SPD2_5000 = 8,\n\tMV_PCS_CSSR1_SPD2_2500 = 4,\n\tMV_PCS_CSSR1_SPD2_10000 = 0,\n\tMV_PCS_TEMP = 32834,\n\tMV_PCS_PORT_INFO = 53261,\n\tMV_PCS_PORT_INFO_NPORTS_MASK = 896,\n\tMV_PCS_PORT_INFO_NPORTS_SHIFT = 7,\n\tMV_AN_21X0_SERDES_CTRL2 = 32783,\n\tMV_AN_21X0_SERDES_CTRL2_AUTO_INIT_DIS = 8192,\n\tMV_AN_21X0_SERDES_CTRL2_RUN_INIT = 32768,\n\tMV_AN_CTRL1000 = 32768,\n\tMV_AN_STAT1000 = 32769,\n\tMV_V2_PORT_CTRL = 61441,\n\tMV_V2_PORT_CTRL_PWRDOWN = 2048,\n\tMV_V2_33X0_PORT_CTRL_SWRST = 32768,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_MASK = 7,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_RXAUI = 0,\n\tMV_V2_3310_PORT_CTRL_MACTYPE_XAUI_RATE_MATCH = 1,\n\tMV_V2_3340_PORT_CTRL_MACTYPE_RXAUI_NO_SGMII_AN = 1,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_RXAUI_RATE_MATCH = 2,\n\tMV_V2_3310_PORT_CTRL_MACTYPE_XAUI = 3,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_10GBASER = 4,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_10GBASER_NO_SGMII_AN = 5,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_10GBASER_RATE_MATCH = 6,\n\tMV_V2_33X0_PORT_CTRL_MACTYPE_USXGMII = 7,\n\tMV_V2_PORT_INTR_STS = 61504,\n\tMV_V2_PORT_INTR_MASK = 61507,\n\tMV_V2_PORT_INTR_STS_WOL_EN = 256,\n\tMV_V2_MAGIC_PKT_WORD0 = 61547,\n\tMV_V2_MAGIC_PKT_WORD1 = 61548,\n\tMV_V2_MAGIC_PKT_WORD2 = 61549,\n\tMV_V2_WOL_CTRL = 61550,\n\tMV_V2_WOL_CTRL_CLEAR_STS = 32768,\n\tMV_V2_WOL_CTRL_MAGIC_PKT_EN = 1,\n\tMV_V2_TEMP_CTRL = 61578,\n\tMV_V2_TEMP_CTRL_MASK = 49152,\n\tMV_V2_TEMP_CTRL_SAMPLE = 0,\n\tMV_V2_TEMP_CTRL_DISABLE = 49152,\n\tMV_V2_TEMP = 61580,\n\tMV_V2_TEMP_UNKNOWN = 38400,\n};\n\nenum {\n\tM_I17 = 0,\n\tM_I20 = 1,\n\tM_I20_SR = 2,\n\tM_I24 = 3,\n\tM_I24_8_1 = 4,\n\tM_I24_10_1 = 5,\n\tM_I27_11_1 = 6,\n\tM_MINI = 7,\n\tM_MINI_3_1 = 8,\n\tM_MINI_4_1 = 9,\n\tM_MB = 10,\n\tM_MB_2 = 11,\n\tM_MB_3 = 12,\n\tM_MB_5_1 = 13,\n\tM_MB_6_1 = 14,\n\tM_MB_7_1 = 15,\n\tM_MB_SR = 16,\n\tM_MBA = 17,\n\tM_MBA_3 = 18,\n\tM_MBP = 19,\n\tM_MBP_2 = 20,\n\tM_MBP_2_2 = 21,\n\tM_MBP_SR = 22,\n\tM_MBP_4 = 23,\n\tM_MBP_5_1 = 24,\n\tM_MBP_5_2 = 25,\n\tM_MBP_5_3 = 26,\n\tM_MBP_6_1 = 27,\n\tM_MBP_6_2 = 28,\n\tM_MBP_7_1 = 29,\n\tM_MBP_8_2 = 30,\n\tM_UNKNOWN = 31,\n};\n\nenum {\n\tNAMESZ = 12,\n};\n\nenum {\n\tNAPIF_STATE_SCHED = 1,\n\tNAPIF_STATE_MISSED = 2,\n\tNAPIF_STATE_DISABLE = 4,\n\tNAPIF_STATE_NPSVC = 8,\n\tNAPIF_STATE_LISTED = 16,\n\tNAPIF_STATE_NO_BUSY_POLL = 32,\n\tNAPIF_STATE_IN_BUSY_POLL = 64,\n\tNAPIF_STATE_PREFER_BUSY_POLL = 128,\n\tNAPIF_STATE_THREADED = 256,\n\tNAPIF_STATE_SCHED_THREADED = 512,\n};\n\nenum {\n\tNAPI_F_PREFER_BUSY_POLL = 1,\n\tNAPI_F_END_ON_RESCHED = 2,\n};\n\nenum {\n\tNAPI_STATE_SCHED = 0,\n\tNAPI_STATE_MISSED = 1,\n\tNAPI_STATE_DISABLE = 2,\n\tNAPI_STATE_NPSVC = 3,\n\tNAPI_STATE_LISTED = 4,\n\tNAPI_STATE_NO_BUSY_POLL = 5,\n\tNAPI_STATE_IN_BUSY_POLL = 6,\n\tNAPI_STATE_PREFER_BUSY_POLL = 7,\n\tNAPI_STATE_THREADED = 8,\n\tNAPI_STATE_SCHED_THREADED = 9,\n};\n\nenum {\n\tNDA_UNSPEC = 0,\n\tNDA_DST = 1,\n\tNDA_LLADDR = 2,\n\tNDA_CACHEINFO = 3,\n\tNDA_PROBES = 4,\n\tNDA_VLAN = 5,\n\tNDA_PORT = 6,\n\tNDA_VNI = 7,\n\tNDA_IFINDEX = 8,\n\tNDA_MASTER = 9,\n\tNDA_LINK_NETNSID = 10,\n\tNDA_SRC_VNI = 11,\n\tNDA_PROTOCOL = 12,\n\tNDA_NH_ID = 13,\n\tNDA_FDB_EXT_ATTRS = 14,\n\tNDA_FLAGS_EXT = 15,\n\tNDA_NDM_STATE_MASK = 16,\n\tNDA_NDM_FLAGS_MASK = 17,\n\t__NDA_MAX = 18,\n};\n\nenum {\n\tNDTA_UNSPEC = 0,\n\tNDTA_NAME = 1,\n\tNDTA_THRESH1 = 2,\n\tNDTA_THRESH2 = 3,\n\tNDTA_THRESH3 = 4,\n\tNDTA_CONFIG = 5,\n\tNDTA_PARMS = 6,\n\tNDTA_STATS = 7,\n\tNDTA_GC_INTERVAL = 8,\n\tNDTA_PAD = 9,\n\t__NDTA_MAX = 10,\n};\n\nenum {\n\tNDTPA_UNSPEC = 0,\n\tNDTPA_IFINDEX = 1,\n\tNDTPA_REFCNT = 2,\n\tNDTPA_REACHABLE_TIME = 3,\n\tNDTPA_BASE_REACHABLE_TIME = 4,\n\tNDTPA_RETRANS_TIME = 5,\n\tNDTPA_GC_STALETIME = 6,\n\tNDTPA_DELAY_PROBE_TIME = 7,\n\tNDTPA_QUEUE_LEN = 8,\n\tNDTPA_APP_PROBES = 9,\n\tNDTPA_UCAST_PROBES = 10,\n\tNDTPA_MCAST_PROBES = 11,\n\tNDTPA_ANYCAST_DELAY = 12,\n\tNDTPA_PROXY_DELAY = 13,\n\tNDTPA_PROXY_QLEN = 14,\n\tNDTPA_LOCKTIME = 15,\n\tNDTPA_QUEUE_LENBYTES = 16,\n\tNDTPA_MCAST_REPROBES = 17,\n\tNDTPA_PAD = 18,\n\tNDTPA_INTERVAL_PROBE_TIME_MS = 19,\n\t__NDTPA_MAX = 20,\n};\n\nenum {\n\tNDUSEROPT_UNSPEC = 0,\n\tNDUSEROPT_SRCADDR = 1,\n\t__NDUSEROPT_MAX = 2,\n};\n\nenum {\n\tNEIGH_ARP_TABLE = 0,\n\tNEIGH_ND_TABLE = 1,\n\tNEIGH_NR_TABLES = 2,\n\tNEIGH_LINK_TABLE = 2,\n};\n\nenum {\n\tNEIGH_VAR_MCAST_PROBES = 0,\n\tNEIGH_VAR_UCAST_PROBES = 1,\n\tNEIGH_VAR_APP_PROBES = 2,\n\tNEIGH_VAR_MCAST_REPROBES = 3,\n\tNEIGH_VAR_RETRANS_TIME = 4,\n\tNEIGH_VAR_BASE_REACHABLE_TIME = 5,\n\tNEIGH_VAR_DELAY_PROBE_TIME = 6,\n\tNEIGH_VAR_INTERVAL_PROBE_TIME_MS = 7,\n\tNEIGH_VAR_GC_STALETIME = 8,\n\tNEIGH_VAR_QUEUE_LEN_BYTES = 9,\n\tNEIGH_VAR_PROXY_QLEN = 10,\n\tNEIGH_VAR_ANYCAST_DELAY = 11,\n\tNEIGH_VAR_PROXY_DELAY = 12,\n\tNEIGH_VAR_LOCKTIME = 13,\n\tNEIGH_VAR_QUEUE_LEN = 14,\n\tNEIGH_VAR_RETRANS_TIME_MS = 15,\n\tNEIGH_VAR_BASE_REACHABLE_TIME_MS = 16,\n\tNEIGH_VAR_GC_INTERVAL = 17,\n\tNEIGH_VAR_GC_THRESH1 = 18,\n\tNEIGH_VAR_GC_THRESH2 = 19,\n\tNEIGH_VAR_GC_THRESH3 = 20,\n\tNEIGH_VAR_MAX = 21,\n};\n\nenum {\n\tNESTED_SYNC_IMM_BIT = 0,\n\tNESTED_SYNC_TODO_BIT = 1,\n};\n\nenum {\n\tNETCONFA_UNSPEC = 0,\n\tNETCONFA_IFINDEX = 1,\n\tNETCONFA_FORWARDING = 2,\n\tNETCONFA_RP_FILTER = 3,\n\tNETCONFA_MC_FORWARDING = 4,\n\tNETCONFA_PROXY_NEIGH = 5,\n\tNETCONFA_IGNORE_ROUTES_WITH_LINKDOWN = 6,\n\tNETCONFA_INPUT = 7,\n\tNETCONFA_BC_FORWARDING = 8,\n\t__NETCONFA_MAX = 9,\n};\n\nenum {\n\tNETDEV_A_DEV_IFINDEX = 1,\n\tNETDEV_A_DEV_PAD = 2,\n\tNETDEV_A_DEV_XDP_FEATURES = 3,\n\tNETDEV_A_DEV_XDP_ZC_MAX_SEGS = 4,\n\tNETDEV_A_DEV_XDP_RX_METADATA_FEATURES = 5,\n\tNETDEV_A_DEV_XSK_FEATURES = 6,\n\t__NETDEV_A_DEV_MAX = 7,\n\tNETDEV_A_DEV_MAX = 6,\n};\n\nenum {\n\tNETDEV_A_DMABUF_IFINDEX = 1,\n\tNETDEV_A_DMABUF_QUEUES = 2,\n\tNETDEV_A_DMABUF_FD = 3,\n\tNETDEV_A_DMABUF_ID = 4,\n\t__NETDEV_A_DMABUF_MAX = 5,\n\tNETDEV_A_DMABUF_MAX = 4,\n};\n\nenum {\n\tNETDEV_A_NAPI_IFINDEX = 1,\n\tNETDEV_A_NAPI_ID = 2,\n\tNETDEV_A_NAPI_IRQ = 3,\n\tNETDEV_A_NAPI_PID = 4,\n\tNETDEV_A_NAPI_DEFER_HARD_IRQS = 5,\n\tNETDEV_A_NAPI_GRO_FLUSH_TIMEOUT = 6,\n\tNETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT = 7,\n\t__NETDEV_A_NAPI_MAX = 8,\n\tNETDEV_A_NAPI_MAX = 7,\n};\n\nenum {\n\tNETDEV_A_PAGE_POOL_ID = 1,\n\tNETDEV_A_PAGE_POOL_IFINDEX = 2,\n\tNETDEV_A_PAGE_POOL_NAPI_ID = 3,\n\tNETDEV_A_PAGE_POOL_INFLIGHT = 4,\n\tNETDEV_A_PAGE_POOL_INFLIGHT_MEM = 5,\n\tNETDEV_A_PAGE_POOL_DETACH_TIME = 6,\n\tNETDEV_A_PAGE_POOL_DMABUF = 7,\n\t__NETDEV_A_PAGE_POOL_MAX = 8,\n\tNETDEV_A_PAGE_POOL_MAX = 7,\n};\n\nenum {\n\tNETDEV_A_PAGE_POOL_STATS_INFO = 1,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW = 9,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER = 10,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY = 11,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL = 12,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE = 13,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED = 14,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL = 15,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RING = 16,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL = 17,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT = 18,\n\t__NETDEV_A_PAGE_POOL_STATS_MAX = 19,\n\tNETDEV_A_PAGE_POOL_STATS_MAX = 18,\n};\n\nenum {\n\tNETDEV_A_QSTATS_IFINDEX = 1,\n\tNETDEV_A_QSTATS_QUEUE_TYPE = 2,\n\tNETDEV_A_QSTATS_QUEUE_ID = 3,\n\tNETDEV_A_QSTATS_SCOPE = 4,\n\tNETDEV_A_QSTATS_RX_PACKETS = 8,\n\tNETDEV_A_QSTATS_RX_BYTES = 9,\n\tNETDEV_A_QSTATS_TX_PACKETS = 10,\n\tNETDEV_A_QSTATS_TX_BYTES = 11,\n\tNETDEV_A_QSTATS_RX_ALLOC_FAIL = 12,\n\tNETDEV_A_QSTATS_RX_HW_DROPS = 13,\n\tNETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS = 14,\n\tNETDEV_A_QSTATS_RX_CSUM_COMPLETE = 15,\n\tNETDEV_A_QSTATS_RX_CSUM_UNNECESSARY = 16,\n\tNETDEV_A_QSTATS_RX_CSUM_NONE = 17,\n\tNETDEV_A_QSTATS_RX_CSUM_BAD = 18,\n\tNETDEV_A_QSTATS_RX_HW_GRO_PACKETS = 19,\n\tNETDEV_A_QSTATS_RX_HW_GRO_BYTES = 20,\n\tNETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS = 21,\n\tNETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES = 22,\n\tNETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS = 23,\n\tNETDEV_A_QSTATS_TX_HW_DROPS = 24,\n\tNETDEV_A_QSTATS_TX_HW_DROP_ERRORS = 25,\n\tNETDEV_A_QSTATS_TX_CSUM_NONE = 26,\n\tNETDEV_A_QSTATS_TX_NEEDS_CSUM = 27,\n\tNETDEV_A_QSTATS_TX_HW_GSO_PACKETS = 28,\n\tNETDEV_A_QSTATS_TX_HW_GSO_BYTES = 29,\n\tNETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS = 30,\n\tNETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES = 31,\n\tNETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS = 32,\n\tNETDEV_A_QSTATS_TX_STOP = 33,\n\tNETDEV_A_QSTATS_TX_WAKE = 34,\n\t__NETDEV_A_QSTATS_MAX = 35,\n\tNETDEV_A_QSTATS_MAX = 34,\n};\n\nenum {\n\tNETDEV_A_QUEUE_ID = 1,\n\tNETDEV_A_QUEUE_IFINDEX = 2,\n\tNETDEV_A_QUEUE_TYPE = 3,\n\tNETDEV_A_QUEUE_NAPI_ID = 4,\n\tNETDEV_A_QUEUE_DMABUF = 5,\n\t__NETDEV_A_QUEUE_MAX = 6,\n\tNETDEV_A_QUEUE_MAX = 5,\n};\n\nenum {\n\tNETDEV_CMD_DEV_GET = 1,\n\tNETDEV_CMD_DEV_ADD_NTF = 2,\n\tNETDEV_CMD_DEV_DEL_NTF = 3,\n\tNETDEV_CMD_DEV_CHANGE_NTF = 4,\n\tNETDEV_CMD_PAGE_POOL_GET = 5,\n\tNETDEV_CMD_PAGE_POOL_ADD_NTF = 6,\n\tNETDEV_CMD_PAGE_POOL_DEL_NTF = 7,\n\tNETDEV_CMD_PAGE_POOL_CHANGE_NTF = 8,\n\tNETDEV_CMD_PAGE_POOL_STATS_GET = 9,\n\tNETDEV_CMD_QUEUE_GET = 10,\n\tNETDEV_CMD_NAPI_GET = 11,\n\tNETDEV_CMD_QSTATS_GET = 12,\n\tNETDEV_CMD_BIND_RX = 13,\n\tNETDEV_CMD_NAPI_SET = 14,\n\t__NETDEV_CMD_MAX = 15,\n\tNETDEV_CMD_MAX = 14,\n};\n\nenum {\n\tNETDEV_NLGRP_MGMT = 0,\n\tNETDEV_NLGRP_PAGE_POOL = 1,\n};\n\nenum {\n\tNETDEV_STATS = 0,\n\tE1000_STATS = 1,\n};\n\nenum {\n\tNETDEV_STATS___2 = 0,\n\tIXGBE_STATS = 1,\n};\n\nenum {\n\tNETIF_F_SG_BIT = 0,\n\tNETIF_F_IP_CSUM_BIT = 1,\n\t__UNUSED_NETIF_F_1 = 2,\n\tNETIF_F_HW_CSUM_BIT = 3,\n\tNETIF_F_IPV6_CSUM_BIT = 4,\n\tNETIF_F_HIGHDMA_BIT = 5,\n\tNETIF_F_FRAGLIST_BIT = 6,\n\tNETIF_F_HW_VLAN_CTAG_TX_BIT = 7,\n\tNETIF_F_HW_VLAN_CTAG_RX_BIT = 8,\n\tNETIF_F_HW_VLAN_CTAG_FILTER_BIT = 9,\n\tNETIF_F_VLAN_CHALLENGED_BIT = 10,\n\tNETIF_F_GSO_BIT = 11,\n\t__UNUSED_NETIF_F_12 = 12,\n\t__UNUSED_NETIF_F_13 = 13,\n\tNETIF_F_GRO_BIT = 14,\n\tNETIF_F_LRO_BIT = 15,\n\tNETIF_F_GSO_SHIFT = 16,\n\tNETIF_F_TSO_BIT = 16,\n\tNETIF_F_GSO_ROBUST_BIT = 17,\n\tNETIF_F_TSO_ECN_BIT = 18,\n\tNETIF_F_TSO_MANGLEID_BIT = 19,\n\tNETIF_F_TSO6_BIT = 20,\n\tNETIF_F_FSO_BIT = 21,\n\tNETIF_F_GSO_GRE_BIT = 22,\n\tNETIF_F_GSO_GRE_CSUM_BIT = 23,\n\tNETIF_F_GSO_IPXIP4_BIT = 24,\n\tNETIF_F_GSO_IPXIP6_BIT = 25,\n\tNETIF_F_GSO_UDP_TUNNEL_BIT = 26,\n\tNETIF_F_GSO_UDP_TUNNEL_CSUM_BIT = 27,\n\tNETIF_F_GSO_PARTIAL_BIT = 28,\n\tNETIF_F_GSO_TUNNEL_REMCSUM_BIT = 29,\n\tNETIF_F_GSO_SCTP_BIT = 30,\n\tNETIF_F_GSO_ESP_BIT = 31,\n\tNETIF_F_GSO_UDP_BIT = 32,\n\tNETIF_F_GSO_UDP_L4_BIT = 33,\n\tNETIF_F_GSO_FRAGLIST_BIT = 34,\n\tNETIF_F_GSO_LAST = 34,\n\tNETIF_F_FCOE_CRC_BIT = 35,\n\tNETIF_F_SCTP_CRC_BIT = 36,\n\t__UNUSED_NETIF_F_37 = 37,\n\tNETIF_F_NTUPLE_BIT = 38,\n\tNETIF_F_RXHASH_BIT = 39,\n\tNETIF_F_RXCSUM_BIT = 40,\n\tNETIF_F_NOCACHE_COPY_BIT = 41,\n\tNETIF_F_LOOPBACK_BIT = 42,\n\tNETIF_F_RXFCS_BIT = 43,\n\tNETIF_F_RXALL_BIT = 44,\n\tNETIF_F_HW_VLAN_STAG_TX_BIT = 45,\n\tNETIF_F_HW_VLAN_STAG_RX_BIT = 46,\n\tNETIF_F_HW_VLAN_STAG_FILTER_BIT = 47,\n\tNETIF_F_HW_L2FW_DOFFLOAD_BIT = 48,\n\tNETIF_F_HW_TC_BIT = 49,\n\tNETIF_F_HW_ESP_BIT = 50,\n\tNETIF_F_HW_ESP_TX_CSUM_BIT = 51,\n\tNETIF_F_RX_UDP_TUNNEL_PORT_BIT = 52,\n\tNETIF_F_HW_TLS_TX_BIT = 53,\n\tNETIF_F_HW_TLS_RX_BIT = 54,\n\tNETIF_F_GRO_HW_BIT = 55,\n\tNETIF_F_HW_TLS_RECORD_BIT = 56,\n\tNETIF_F_GRO_FRAGLIST_BIT = 57,\n\tNETIF_F_HW_MACSEC_BIT = 58,\n\tNETIF_F_GRO_UDP_FWD_BIT = 59,\n\tNETIF_F_HW_HSR_TAG_INS_BIT = 60,\n\tNETIF_F_HW_HSR_TAG_RM_BIT = 61,\n\tNETIF_F_HW_HSR_FWD_BIT = 62,\n\tNETIF_F_HW_HSR_DUP_BIT = 63,\n\tNETDEV_FEATURE_COUNT = 64,\n};\n\nenum {\n\tNETIF_MSG_DRV_BIT = 0,\n\tNETIF_MSG_PROBE_BIT = 1,\n\tNETIF_MSG_LINK_BIT = 2,\n\tNETIF_MSG_TIMER_BIT = 3,\n\tNETIF_MSG_IFDOWN_BIT = 4,\n\tNETIF_MSG_IFUP_BIT = 5,\n\tNETIF_MSG_RX_ERR_BIT = 6,\n\tNETIF_MSG_TX_ERR_BIT = 7,\n\tNETIF_MSG_TX_QUEUED_BIT = 8,\n\tNETIF_MSG_INTR_BIT = 9,\n\tNETIF_MSG_TX_DONE_BIT = 10,\n\tNETIF_MSG_RX_STATUS_BIT = 11,\n\tNETIF_MSG_PKTDATA_BIT = 12,\n\tNETIF_MSG_HW_BIT = 13,\n\tNETIF_MSG_WOL_BIT = 14,\n\tNETIF_MSG_CLASS_COUNT = 15,\n};\n\nenum {\n\tNETLINK_DIAG_MEMINFO = 0,\n\tNETLINK_DIAG_GROUPS = 1,\n\tNETLINK_DIAG_RX_RING = 2,\n\tNETLINK_DIAG_TX_RING = 3,\n\tNETLINK_DIAG_FLAGS = 4,\n\t__NETLINK_DIAG_MAX = 5,\n};\n\nenum {\n\tNETLINK_F_KERNEL_SOCKET = 0,\n\tNETLINK_F_RECV_PKTINFO = 1,\n\tNETLINK_F_BROADCAST_SEND_ERROR = 2,\n\tNETLINK_F_RECV_NO_ENOBUFS = 3,\n\tNETLINK_F_LISTEN_ALL_NSID = 4,\n\tNETLINK_F_CAP_ACK = 5,\n\tNETLINK_F_EXT_ACK = 6,\n\tNETLINK_F_STRICT_CHK = 7,\n};\n\nenum {\n\tNETLINK_UNCONNECTED = 0,\n\tNETLINK_CONNECTED = 1,\n};\n\nenum {\n\tNETNSA_NONE = 0,\n\tNETNSA_NSID = 1,\n\tNETNSA_PID = 2,\n\tNETNSA_FD = 3,\n\tNETNSA_TARGET_NSID = 4,\n\tNETNSA_CURRENT_NSID = 5,\n\t__NETNSA_MAX = 6,\n};\n\nenum {\n\tNET_NS_INDEX = 0,\n\tUTS_NS_INDEX = 1,\n\tIPC_NS_INDEX = 2,\n\tPID_NS_INDEX = 3,\n\tUSER_NS_INDEX = 4,\n\tMNT_NS_INDEX = 5,\n\tCGROUP_NS_INDEX = 6,\n\tNR_NAMESPACES = 7,\n};\n\nenum {\n\tNEXTHOP_GRP_TYPE_MPATH = 0,\n\tNEXTHOP_GRP_TYPE_RES = 1,\n\t__NEXTHOP_GRP_TYPE_MAX = 2,\n};\n\nenum {\n\tNFPROTO_UNSPEC = 0,\n\tNFPROTO_INET = 1,\n\tNFPROTO_IPV4 = 2,\n\tNFPROTO_ARP = 3,\n\tNFPROTO_NETDEV = 5,\n\tNFPROTO_BRIDGE = 7,\n\tNFPROTO_IPV6 = 10,\n\tNFPROTO_NUMPROTO = 11,\n};\n\nenum {\n\tNFSD4_ACTIVE = 0,\n\tNFSD4_COURTESY = 1,\n\tNFSD4_EXPIRABLE = 2,\n};\n\nenum {\n\tNFSD_A_POOL_MODE_MODE = 1,\n\tNFSD_A_POOL_MODE_NPOOLS = 2,\n\t__NFSD_A_POOL_MODE_MAX = 3,\n\tNFSD_A_POOL_MODE_MAX = 2,\n};\n\nenum {\n\tNFSD_A_RPC_STATUS_XID = 1,\n\tNFSD_A_RPC_STATUS_FLAGS = 2,\n\tNFSD_A_RPC_STATUS_PROG = 3,\n\tNFSD_A_RPC_STATUS_VERSION = 4,\n\tNFSD_A_RPC_STATUS_PROC = 5,\n\tNFSD_A_RPC_STATUS_SERVICE_TIME = 6,\n\tNFSD_A_RPC_STATUS_PAD = 7,\n\tNFSD_A_RPC_STATUS_SADDR4 = 8,\n\tNFSD_A_RPC_STATUS_DADDR4 = 9,\n\tNFSD_A_RPC_STATUS_SADDR6 = 10,\n\tNFSD_A_RPC_STATUS_DADDR6 = 11,\n\tNFSD_A_RPC_STATUS_SPORT = 12,\n\tNFSD_A_RPC_STATUS_DPORT = 13,\n\tNFSD_A_RPC_STATUS_COMPOUND_OPS = 14,\n\t__NFSD_A_RPC_STATUS_MAX = 15,\n\tNFSD_A_RPC_STATUS_MAX = 14,\n};\n\nenum {\n\tNFSD_A_SERVER_PROTO_VERSION = 1,\n\t__NFSD_A_SERVER_PROTO_MAX = 2,\n\tNFSD_A_SERVER_PROTO_MAX = 1,\n};\n\nenum {\n\tNFSD_A_SERVER_SOCK_ADDR = 1,\n\t__NFSD_A_SERVER_SOCK_MAX = 2,\n\tNFSD_A_SERVER_SOCK_MAX = 1,\n};\n\nenum {\n\tNFSD_A_SERVER_THREADS = 1,\n\tNFSD_A_SERVER_GRACETIME = 2,\n\tNFSD_A_SERVER_LEASETIME = 3,\n\tNFSD_A_SERVER_SCOPE = 4,\n\t__NFSD_A_SERVER_MAX = 5,\n\tNFSD_A_SERVER_MAX = 4,\n};\n\nenum {\n\tNFSD_A_SOCK_ADDR = 1,\n\tNFSD_A_SOCK_TRANSPORT_NAME = 2,\n\t__NFSD_A_SOCK_MAX = 3,\n\tNFSD_A_SOCK_MAX = 2,\n};\n\nenum {\n\tNFSD_A_VERSION_MAJOR = 1,\n\tNFSD_A_VERSION_MINOR = 2,\n\tNFSD_A_VERSION_ENABLED = 3,\n\t__NFSD_A_VERSION_MAX = 4,\n\tNFSD_A_VERSION_MAX = 3,\n};\n\nenum {\n\tNFSD_CMD_RPC_STATUS_GET = 1,\n\tNFSD_CMD_THREADS_SET = 2,\n\tNFSD_CMD_THREADS_GET = 3,\n\tNFSD_CMD_VERSION_SET = 4,\n\tNFSD_CMD_VERSION_GET = 5,\n\tNFSD_CMD_LISTENER_SET = 6,\n\tNFSD_CMD_LISTENER_GET = 7,\n\tNFSD_CMD_POOL_MODE_SET = 8,\n\tNFSD_CMD_POOL_MODE_GET = 9,\n\t__NFSD_CMD_MAX = 10,\n\tNFSD_CMD_MAX = 9,\n};\n\nenum {\n\tNFSD_Root = 1,\n\tNFSD_List = 2,\n\tNFSD_Export_Stats = 3,\n\tNFSD_Export_features = 4,\n\tNFSD_Fh = 5,\n\tNFSD_FO_UnlockIP = 6,\n\tNFSD_FO_UnlockFS = 7,\n\tNFSD_Threads = 8,\n\tNFSD_Pool_Threads = 9,\n\tNFSD_Pool_Stats = 10,\n\tNFSD_Reply_Cache_Stats = 11,\n\tNFSD_Versions = 12,\n\tNFSD_Ports = 13,\n\tNFSD_MaxBlkSize = 14,\n\tNFSD_Filecache = 15,\n\tNFSD_Leasetime = 16,\n\tNFSD_Gracetime = 17,\n\tNFSD_RecoveryDir = 18,\n\tNFSD_V4EndGrace = 19,\n\tNFSD_MaxReserved = 20,\n};\n\nenum {\n\tNFSD_STATS_PAYLOAD_MISSES = 0,\n\tNFSD_STATS_DRC_MEM_USAGE = 1,\n\tNFSD_STATS_RC_HITS = 2,\n\tNFSD_STATS_RC_MISSES = 3,\n\tNFSD_STATS_RC_NOCACHE = 4,\n\tNFSD_STATS_FH_STALE = 5,\n\tNFSD_STATS_IO_READ = 6,\n\tNFSD_STATS_IO_WRITE = 7,\n\tNFSD_STATS_FIRST_NFS4_OP = 8,\n\tNFSD_STATS_LAST_NFS4_OP = 83,\n\tNFSD_STATS_WDELEG_GETATTR = 84,\n\tNFSD_STATS_COUNTERS_NUM = 85,\n};\n\nenum {\n\tNFSERR_DROPIT = 10097,\n\tNFSERR_EOF = 10098,\n\tNFSERR_REPLAY_ME = 10099,\n\tNFSERR_REPLAY_CACHE = 10100,\n\tNFSERR_SYMLINK_NOT_DIR = 10101,\n};\n\nenum {\n\tNFSPROC4_CLNT_NULL = 0,\n\tNFSPROC4_CLNT_READ = 1,\n\tNFSPROC4_CLNT_WRITE = 2,\n\tNFSPROC4_CLNT_COMMIT = 3,\n\tNFSPROC4_CLNT_OPEN = 4,\n\tNFSPROC4_CLNT_OPEN_CONFIRM = 5,\n\tNFSPROC4_CLNT_OPEN_NOATTR = 6,\n\tNFSPROC4_CLNT_OPEN_DOWNGRADE = 7,\n\tNFSPROC4_CLNT_CLOSE = 8,\n\tNFSPROC4_CLNT_SETATTR = 9,\n\tNFSPROC4_CLNT_FSINFO = 10,\n\tNFSPROC4_CLNT_RENEW = 11,\n\tNFSPROC4_CLNT_SETCLIENTID = 12,\n\tNFSPROC4_CLNT_SETCLIENTID_CONFIRM = 13,\n\tNFSPROC4_CLNT_LOCK = 14,\n\tNFSPROC4_CLNT_LOCKT = 15,\n\tNFSPROC4_CLNT_LOCKU = 16,\n\tNFSPROC4_CLNT_ACCESS = 17,\n\tNFSPROC4_CLNT_GETATTR = 18,\n\tNFSPROC4_CLNT_LOOKUP = 19,\n\tNFSPROC4_CLNT_LOOKUP_ROOT = 20,\n\tNFSPROC4_CLNT_REMOVE = 21,\n\tNFSPROC4_CLNT_RENAME = 22,\n\tNFSPROC4_CLNT_LINK = 23,\n\tNFSPROC4_CLNT_SYMLINK = 24,\n\tNFSPROC4_CLNT_CREATE = 25,\n\tNFSPROC4_CLNT_PATHCONF = 26,\n\tNFSPROC4_CLNT_STATFS = 27,\n\tNFSPROC4_CLNT_READLINK = 28,\n\tNFSPROC4_CLNT_READDIR = 29,\n\tNFSPROC4_CLNT_SERVER_CAPS = 30,\n\tNFSPROC4_CLNT_DELEGRETURN = 31,\n\tNFSPROC4_CLNT_GETACL = 32,\n\tNFSPROC4_CLNT_SETACL = 33,\n\tNFSPROC4_CLNT_FS_LOCATIONS = 34,\n\tNFSPROC4_CLNT_RELEASE_LOCKOWNER = 35,\n\tNFSPROC4_CLNT_SECINFO = 36,\n\tNFSPROC4_CLNT_FSID_PRESENT = 37,\n\tNFSPROC4_CLNT_EXCHANGE_ID = 38,\n\tNFSPROC4_CLNT_CREATE_SESSION = 39,\n\tNFSPROC4_CLNT_DESTROY_SESSION = 40,\n\tNFSPROC4_CLNT_SEQUENCE = 41,\n\tNFSPROC4_CLNT_GET_LEASE_TIME = 42,\n\tNFSPROC4_CLNT_RECLAIM_COMPLETE = 43,\n\tNFSPROC4_CLNT_LAYOUTGET = 44,\n\tNFSPROC4_CLNT_GETDEVICEINFO = 45,\n\tNFSPROC4_CLNT_LAYOUTCOMMIT = 46,\n\tNFSPROC4_CLNT_LAYOUTRETURN = 47,\n\tNFSPROC4_CLNT_SECINFO_NO_NAME = 48,\n\tNFSPROC4_CLNT_TEST_STATEID = 49,\n\tNFSPROC4_CLNT_FREE_STATEID = 50,\n\tNFSPROC4_CLNT_GETDEVICELIST = 51,\n\tNFSPROC4_CLNT_BIND_CONN_TO_SESSION = 52,\n\tNFSPROC4_CLNT_DESTROY_CLIENTID = 53,\n\tNFSPROC4_CLNT_SEEK = 54,\n\tNFSPROC4_CLNT_ALLOCATE = 55,\n\tNFSPROC4_CLNT_DEALLOCATE = 56,\n\tNFSPROC4_CLNT_LAYOUTSTATS = 57,\n\tNFSPROC4_CLNT_CLONE = 58,\n\tNFSPROC4_CLNT_COPY = 59,\n\tNFSPROC4_CLNT_OFFLOAD_CANCEL = 60,\n\tNFSPROC4_CLNT_LOOKUPP = 61,\n\tNFSPROC4_CLNT_LAYOUTERROR = 62,\n\tNFSPROC4_CLNT_COPY_NOTIFY = 63,\n\tNFSPROC4_CLNT_GETXATTR = 64,\n\tNFSPROC4_CLNT_SETXATTR = 65,\n\tNFSPROC4_CLNT_LISTXATTRS = 66,\n\tNFSPROC4_CLNT_REMOVEXATTR = 67,\n\tNFSPROC4_CLNT_READ_PLUS = 68,\n};\n\nenum {\n\tNFS_DELEGATION_NEED_RECLAIM = 0,\n\tNFS_DELEGATION_RETURN = 1,\n\tNFS_DELEGATION_RETURN_IF_CLOSED = 2,\n\tNFS_DELEGATION_REFERENCED = 3,\n\tNFS_DELEGATION_RETURNING = 4,\n\tNFS_DELEGATION_REVOKED = 5,\n\tNFS_DELEGATION_TEST_EXPIRED = 6,\n\tNFS_DELEGATION_INODE_FREEING = 7,\n\tNFS_DELEGATION_RETURN_DELAYED = 8,\n\tNFS_DELEGATION_DELEGTIME = 9,\n};\n\nenum {\n\tNFS_DEVICEID_INVALID = 0,\n\tNFS_DEVICEID_UNAVAILABLE = 1,\n\tNFS_DEVICEID_NOCACHE = 2,\n};\n\nenum {\n\tNFS_IOHDR_ERROR = 0,\n\tNFS_IOHDR_EOF = 1,\n\tNFS_IOHDR_REDO = 2,\n\tNFS_IOHDR_STAT = 3,\n\tNFS_IOHDR_RESEND_PNFS = 4,\n\tNFS_IOHDR_RESEND_MDS = 5,\n\tNFS_IOHDR_UNSTABLE_WRITES = 6,\n\tNFS_IOHDR_ODIRECT = 7,\n};\n\nenum {\n\tNFS_LAYOUT_RO_FAILED = 0,\n\tNFS_LAYOUT_RW_FAILED = 1,\n\tNFS_LAYOUT_BULK_RECALL = 2,\n\tNFS_LAYOUT_RETURN = 3,\n\tNFS_LAYOUT_RETURN_LOCK = 4,\n\tNFS_LAYOUT_RETURN_REQUESTED = 5,\n\tNFS_LAYOUT_INVALID_STID = 6,\n\tNFS_LAYOUT_FIRST_LAYOUTGET = 7,\n\tNFS_LAYOUT_INODE_FREEING = 8,\n\tNFS_LAYOUT_HASHED = 9,\n\tNFS_LAYOUT_DRAIN = 10,\n};\n\nenum {\n\tNFS_LSEG_VALID = 0,\n\tNFS_LSEG_ROC = 1,\n\tNFS_LSEG_LAYOUTCOMMIT = 2,\n\tNFS_LSEG_LAYOUTRETURN = 3,\n\tNFS_LSEG_UNAVAILABLE = 4,\n};\n\nenum {\n\tNFS_OWNER_RECLAIM_REBOOT = 0,\n\tNFS_OWNER_RECLAIM_NOGRACE = 1,\n};\n\nenum {\n\tNHA_GROUP_STATS_ENTRY_UNSPEC = 0,\n\tNHA_GROUP_STATS_ENTRY_ID = 1,\n\tNHA_GROUP_STATS_ENTRY_PACKETS = 2,\n\tNHA_GROUP_STATS_ENTRY_PACKETS_HW = 3,\n\t__NHA_GROUP_STATS_ENTRY_MAX = 4,\n};\n\nenum {\n\tNHA_GROUP_STATS_UNSPEC = 0,\n\tNHA_GROUP_STATS_ENTRY = 1,\n\t__NHA_GROUP_STATS_MAX = 2,\n};\n\nenum {\n\tNHA_RES_BUCKET_UNSPEC = 0,\n\tNHA_RES_BUCKET_PAD = 0,\n\tNHA_RES_BUCKET_INDEX = 1,\n\tNHA_RES_BUCKET_IDLE_TIME = 2,\n\tNHA_RES_BUCKET_NH_ID = 3,\n\t__NHA_RES_BUCKET_MAX = 4,\n};\n\nenum {\n\tNHA_RES_GROUP_UNSPEC = 0,\n\tNHA_RES_GROUP_PAD = 0,\n\tNHA_RES_GROUP_BUCKETS = 1,\n\tNHA_RES_GROUP_IDLE_TIMER = 2,\n\tNHA_RES_GROUP_UNBALANCED_TIMER = 3,\n\tNHA_RES_GROUP_UNBALANCED_TIME = 4,\n\t__NHA_RES_GROUP_MAX = 5,\n};\n\nenum {\n\tNHA_UNSPEC = 0,\n\tNHA_ID = 1,\n\tNHA_GROUP = 2,\n\tNHA_GROUP_TYPE = 3,\n\tNHA_BLACKHOLE = 4,\n\tNHA_OIF = 5,\n\tNHA_GATEWAY = 6,\n\tNHA_ENCAP_TYPE = 7,\n\tNHA_ENCAP = 8,\n\tNHA_GROUPS = 9,\n\tNHA_MASTER = 10,\n\tNHA_FDB = 11,\n\tNHA_RES_GROUP = 12,\n\tNHA_RES_BUCKET = 13,\n\tNHA_OP_FLAGS = 14,\n\tNHA_GROUP_STATS = 15,\n\tNHA_HW_STATS_ENABLE = 16,\n\tNHA_HW_STATS_USED = 17,\n\t__NHA_MAX = 18,\n};\n\nenum {\n\tNHLT_CONFIG_TYPE_GENERIC = 0,\n\tNHLT_CONFIG_TYPE_MIC_ARRAY = 1,\n};\n\nenum {\n\tNHLT_MIC_ARRAY_2CH_SMALL = 10,\n\tNHLT_MIC_ARRAY_2CH_BIG = 11,\n\tNHLT_MIC_ARRAY_4CH_1ST_GEOM = 12,\n\tNHLT_MIC_ARRAY_4CH_L_SHAPED = 13,\n\tNHLT_MIC_ARRAY_4CH_2ND_GEOM = 14,\n\tNHLT_MIC_ARRAY_VENDOR_DEFINED = 15,\n};\n\nenum {\n\tNID_PATH_VOL_CTL = 0,\n\tNID_PATH_MUTE_CTL = 1,\n\tNID_PATH_BOOST_CTL = 2,\n\tNID_PATH_NUM_CTLS = 3,\n};\n\nenum {\n\tNLA_UNSPEC = 0,\n\tNLA_U8 = 1,\n\tNLA_U16 = 2,\n\tNLA_U32 = 3,\n\tNLA_U64 = 4,\n\tNLA_STRING = 5,\n\tNLA_FLAG = 6,\n\tNLA_MSECS = 7,\n\tNLA_NESTED = 8,\n\tNLA_NESTED_ARRAY = 9,\n\tNLA_NUL_STRING = 10,\n\tNLA_BINARY = 11,\n\tNLA_S8 = 12,\n\tNLA_S16 = 13,\n\tNLA_S32 = 14,\n\tNLA_S64 = 15,\n\tNLA_BITFIELD32 = 16,\n\tNLA_REJECT = 17,\n\tNLA_BE16 = 18,\n\tNLA_BE32 = 19,\n\tNLA_SINT = 20,\n\tNLA_UINT = 21,\n\t__NLA_TYPE_MAX = 22,\n};\n\nenum {\n\tNLM_LCK_GRANTED = 0,\n\tNLM_LCK_DENIED = 1,\n\tNLM_LCK_DENIED_NOLOCKS = 2,\n\tNLM_LCK_BLOCKED = 3,\n\tNLM_LCK_DENIED_GRACE_PERIOD = 4,\n\tNLM_DEADLCK = 5,\n\tNLM_ROFS = 6,\n\tNLM_STALE_FH = 7,\n\tNLM_FBIG = 8,\n\tNLM_FAILED = 9,\n};\n\nenum {\n\tNODE_SIZE = 256,\n\tKEYS_PER_NODE = 16,\n\tRECS_PER_LEAF = 15,\n};\n\nenum {\n\tNSMPROC_NULL = 0,\n\tNSMPROC_STAT = 1,\n\tNSMPROC_MON = 2,\n\tNSMPROC_UNMON = 3,\n\tNSMPROC_UNMON_ALL = 4,\n\tNSMPROC_SIMU_CRASH = 5,\n\tNSMPROC_NOTIFY = 6,\n};\n\nenum {\n\tNUM_TRIAL_SAMPLES = 8192,\n\tMAX_SAMPLES_PER_BIT = 16,\n};\n\nenum {\n\tNVMEM_ADD = 1,\n\tNVMEM_REMOVE = 2,\n\tNVMEM_CELL_ADD = 3,\n\tNVMEM_CELL_REMOVE = 4,\n\tNVMEM_LAYOUT_ADD = 5,\n\tNVMEM_LAYOUT_REMOVE = 6,\n};\n\nenum {\n\tNVME_AEN_BIT_NS_ATTR = 8,\n\tNVME_AEN_BIT_FW_ACT = 9,\n\tNVME_AEN_BIT_ANA_CHANGE = 11,\n\tNVME_AEN_BIT_DISC_CHANGE = 31,\n};\n\nenum {\n\tNVME_AEN_CFG_NS_ATTR = 256,\n\tNVME_AEN_CFG_FW_ACT = 512,\n\tNVME_AEN_CFG_ANA_CHANGE = 2048,\n\tNVME_AEN_CFG_DISC_CHANGE = -2147483648,\n};\n\nenum {\n\tNVME_AER_ERROR = 0,\n\tNVME_AER_SMART = 1,\n\tNVME_AER_NOTICE = 2,\n\tNVME_AER_CSS = 6,\n\tNVME_AER_VS = 7,\n};\n\nenum {\n\tNVME_AER_ERROR_PERSIST_INT_ERR = 3,\n};\n\nenum {\n\tNVME_AER_NOTICE_NS_CHANGED = 0,\n\tNVME_AER_NOTICE_FW_ACT_STARTING = 1,\n\tNVME_AER_NOTICE_ANA = 3,\n\tNVME_AER_NOTICE_DISC_CHANGED = 240,\n};\n\nenum {\n\tNVME_CAP_CRMS_CRWMS = 576460752303423488ULL,\n\tNVME_CAP_CRMS_CRIMS = 1152921504606846976ULL,\n};\n\nenum {\n\tNVME_CAP_CSS_NVM = 1,\n\tNVME_CAP_CSS_CSI = 64,\n};\n\nenum {\n\tNVME_CC_ENABLE = 1,\n\tNVME_CC_EN_SHIFT = 0,\n\tNVME_CC_CSS_SHIFT = 4,\n\tNVME_CC_CSS_MASK = 112,\n\tNVME_CC_CSS_NVM = 0,\n\tNVME_CC_CSS_CSI = 96,\n\tNVME_CC_MPS_SHIFT = 7,\n\tNVME_CC_MPS_MASK = 1920,\n\tNVME_CC_AMS_SHIFT = 11,\n\tNVME_CC_AMS_MASK = 14336,\n\tNVME_CC_AMS_RR = 0,\n\tNVME_CC_AMS_WRRU = 2048,\n\tNVME_CC_AMS_VS = 14336,\n\tNVME_CC_SHN_SHIFT = 14,\n\tNVME_CC_SHN_MASK = 49152,\n\tNVME_CC_SHN_NONE = 0,\n\tNVME_CC_SHN_NORMAL = 16384,\n\tNVME_CC_SHN_ABRUPT = 32768,\n\tNVME_CC_IOSQES_SHIFT = 16,\n\tNVME_CC_IOSQES_MASK = 983040,\n\tNVME_CC_IOSQES = 393216,\n\tNVME_CC_IOCQES_SHIFT = 20,\n\tNVME_CC_IOCQES_MASK = 15728640,\n\tNVME_CC_IOCQES = 4194304,\n\tNVME_CC_CRIME = 16777216,\n};\n\nenum {\n\tNVME_CMBMSC_CRE = 1,\n\tNVME_CMBMSC_CMSE = 2,\n};\n\nenum {\n\tNVME_CMBSZ_SQS = 1,\n\tNVME_CMBSZ_CQS = 2,\n\tNVME_CMBSZ_LISTS = 4,\n\tNVME_CMBSZ_RDS = 8,\n\tNVME_CMBSZ_WDS = 16,\n\tNVME_CMBSZ_SZ_SHIFT = 12,\n\tNVME_CMBSZ_SZ_MASK = 1048575,\n\tNVME_CMBSZ_SZU_SHIFT = 8,\n\tNVME_CMBSZ_SZU_MASK = 15,\n};\n\nenum {\n\tNVME_CMD_EFFECTS_CSUPP = 1,\n\tNVME_CMD_EFFECTS_LBCC = 2,\n\tNVME_CMD_EFFECTS_NCC = 4,\n\tNVME_CMD_EFFECTS_NIC = 8,\n\tNVME_CMD_EFFECTS_CCC = 16,\n\tNVME_CMD_EFFECTS_CSER_MASK = 49152,\n\tNVME_CMD_EFFECTS_CSE_MASK = 458752,\n\tNVME_CMD_EFFECTS_UUID_SEL = 524288,\n\tNVME_CMD_EFFECTS_SCOPE_MASK = 4293918720,\n};\n\nenum {\n\tNVME_CMD_FUSE_FIRST = 1,\n\tNVME_CMD_FUSE_SECOND = 2,\n\tNVME_CMD_SGL_METABUF = 64,\n\tNVME_CMD_SGL_METASEG = 128,\n\tNVME_CMD_SGL_ALL = 192,\n};\n\nenum {\n\tNVME_CSI_NVM = 0,\n\tNVME_CSI_ZNS = 2,\n};\n\nenum {\n\tNVME_CSTS_RDY = 1,\n\tNVME_CSTS_CFS = 2,\n\tNVME_CSTS_NSSRO = 16,\n\tNVME_CSTS_PP = 32,\n\tNVME_CSTS_SHST_NORMAL = 0,\n\tNVME_CSTS_SHST_OCCUR = 4,\n\tNVME_CSTS_SHST_CMPLT = 8,\n\tNVME_CSTS_SHST_MASK = 12,\n};\n\nenum {\n\tNVME_CTRL_CMIC_MULTI_PORT = 1,\n\tNVME_CTRL_CMIC_MULTI_CTRL = 2,\n\tNVME_CTRL_CMIC_ANA = 8,\n\tNVME_CTRL_ONCS_COMPARE = 1,\n\tNVME_CTRL_ONCS_WRITE_UNCORRECTABLE = 2,\n\tNVME_CTRL_ONCS_DSM = 4,\n\tNVME_CTRL_ONCS_WRITE_ZEROES = 8,\n\tNVME_CTRL_ONCS_RESERVATIONS = 32,\n\tNVME_CTRL_ONCS_TIMESTAMP = 64,\n\tNVME_CTRL_VWC_PRESENT = 1,\n\tNVME_CTRL_OACS_SEC_SUPP = 1,\n\tNVME_CTRL_OACS_NS_MNGT_SUPP = 8,\n\tNVME_CTRL_OACS_DIRECTIVES = 32,\n\tNVME_CTRL_OACS_DBBUF_SUPP = 256,\n\tNVME_CTRL_LPA_CMD_EFFECTS_LOG = 2,\n\tNVME_CTRL_CTRATT_128_ID = 1,\n\tNVME_CTRL_CTRATT_NON_OP_PSP = 2,\n\tNVME_CTRL_CTRATT_NVM_SETS = 4,\n\tNVME_CTRL_CTRATT_READ_RECV_LVLS = 8,\n\tNVME_CTRL_CTRATT_ENDURANCE_GROUPS = 16,\n\tNVME_CTRL_CTRATT_PREDICTABLE_LAT = 32,\n\tNVME_CTRL_CTRATT_NAMESPACE_GRANULARITY = 128,\n\tNVME_CTRL_CTRATT_UUID_LIST = 512,\n\tNVME_CTRL_SGLS_BYTE_ALIGNED = 1,\n\tNVME_CTRL_SGLS_DWORD_ALIGNED = 2,\n\tNVME_CTRL_SGLS_KSDBDS = 4,\n\tNVME_CTRL_SGLS_MSDS = 524288,\n\tNVME_CTRL_SGLS_SAOS = 1048576,\n};\n\nenum {\n\tNVME_DSMGMT_IDR = 1,\n\tNVME_DSMGMT_IDW = 2,\n\tNVME_DSMGMT_AD = 4,\n};\n\nenum {\n\tNVME_ENABLE_ACRE = 1,\n\tNVME_ENABLE_LBAFEE = 1,\n};\n\nenum {\n\tNVME_HOST_MEM_ENABLE = 1,\n\tNVME_HOST_MEM_RETURN = 2,\n};\n\nenum {\n\tNVME_ID_CNS_NS = 0,\n\tNVME_ID_CNS_CTRL = 1,\n\tNVME_ID_CNS_NS_ACTIVE_LIST = 2,\n\tNVME_ID_CNS_NS_DESC_LIST = 3,\n\tNVME_ID_CNS_CS_NS = 5,\n\tNVME_ID_CNS_CS_CTRL = 6,\n\tNVME_ID_CNS_NS_ACTIVE_LIST_CS = 7,\n\tNVME_ID_CNS_NS_CS_INDEP = 8,\n\tNVME_ID_CNS_NS_PRESENT_LIST = 16,\n\tNVME_ID_CNS_NS_PRESENT = 17,\n\tNVME_ID_CNS_CTRL_NS_LIST = 18,\n\tNVME_ID_CNS_CTRL_LIST = 19,\n\tNVME_ID_CNS_SCNDRY_CTRL_LIST = 21,\n\tNVME_ID_CNS_NS_GRANULARITY = 22,\n\tNVME_ID_CNS_UUID_LIST = 23,\n\tNVME_ID_CNS_ENDGRP_LIST = 25,\n};\n\nenum {\n\tNVME_ID_NS_NVM_STS_MASK = 127,\n\tNVME_ID_NS_NVM_GUARD_SHIFT = 7,\n\tNVME_ID_NS_NVM_GUARD_MASK = 3,\n\tNVME_ID_NS_NVM_QPIF_SHIFT = 9,\n\tNVME_ID_NS_NVM_QPIF_MASK = 15,\n\tNVME_ID_NS_NVM_QPIFS = 8,\n};\n\nenum {\n\tNVME_IOCTL_VEC = 1,\n\tNVME_IOCTL_PARTITION = 2,\n};\n\nenum {\n\tNVME_NIDT_EUI64 = 1,\n\tNVME_NIDT_NGUID = 2,\n\tNVME_NIDT_UUID = 3,\n\tNVME_NIDT_CSI = 4,\n};\n\nenum {\n\tNVME_NSTAT_NRDY = 1,\n};\n\nenum {\n\tNVME_NS_FEAT_THIN = 1,\n\tNVME_NS_FEAT_ATOMICS = 2,\n\tNVME_NS_FEAT_IO_OPT = 16,\n\tNVME_NS_ATTR_RO = 1,\n\tNVME_NS_FLBAS_LBA_MASK = 15,\n\tNVME_NS_FLBAS_LBA_UMASK = 96,\n\tNVME_NS_FLBAS_LBA_SHIFT = 1,\n\tNVME_NS_FLBAS_META_EXT = 16,\n\tNVME_NS_NMIC_SHARED = 1,\n\tNVME_NS_ROTATIONAL = 16,\n\tNVME_NS_VWC_NOT_PRESENT = 32,\n\tNVME_LBAF_RP_BEST = 0,\n\tNVME_LBAF_RP_BETTER = 1,\n\tNVME_LBAF_RP_GOOD = 2,\n\tNVME_LBAF_RP_DEGRADED = 3,\n\tNVME_NS_DPC_PI_LAST = 16,\n\tNVME_NS_DPC_PI_FIRST = 8,\n\tNVME_NS_DPC_PI_TYPE3 = 4,\n\tNVME_NS_DPC_PI_TYPE2 = 2,\n\tNVME_NS_DPC_PI_TYPE1 = 1,\n\tNVME_NS_DPS_PI_FIRST = 8,\n\tNVME_NS_DPS_PI_MASK = 7,\n\tNVME_NS_DPS_PI_TYPE1 = 1,\n\tNVME_NS_DPS_PI_TYPE2 = 2,\n\tNVME_NS_DPS_PI_TYPE3 = 3,\n};\n\nenum {\n\tNVME_NVM_NS_16B_GUARD = 0,\n\tNVME_NVM_NS_32B_GUARD = 1,\n\tNVME_NVM_NS_64B_GUARD = 2,\n\tNVME_NVM_NS_QTYPE_GUARD = 3,\n};\n\nenum {\n\tNVME_PS_FLAGS_MAX_POWER_SCALE = 1,\n\tNVME_PS_FLAGS_NON_OP_STATE = 2,\n};\n\nenum {\n\tNVME_QUEUE_PHYS_CONTIG = 1,\n\tNVME_CQ_IRQ_ENABLED = 2,\n\tNVME_SQ_PRIO_URGENT = 0,\n\tNVME_SQ_PRIO_HIGH = 2,\n\tNVME_SQ_PRIO_MEDIUM = 4,\n\tNVME_SQ_PRIO_LOW = 6,\n\tNVME_FEAT_ARBITRATION = 1,\n\tNVME_FEAT_POWER_MGMT = 2,\n\tNVME_FEAT_LBA_RANGE = 3,\n\tNVME_FEAT_TEMP_THRESH = 4,\n\tNVME_FEAT_ERR_RECOVERY = 5,\n\tNVME_FEAT_VOLATILE_WC = 6,\n\tNVME_FEAT_NUM_QUEUES = 7,\n\tNVME_FEAT_IRQ_COALESCE = 8,\n\tNVME_FEAT_IRQ_CONFIG = 9,\n\tNVME_FEAT_WRITE_ATOMIC = 10,\n\tNVME_FEAT_ASYNC_EVENT = 11,\n\tNVME_FEAT_AUTO_PST = 12,\n\tNVME_FEAT_HOST_MEM_BUF = 13,\n\tNVME_FEAT_TIMESTAMP = 14,\n\tNVME_FEAT_KATO = 15,\n\tNVME_FEAT_HCTM = 16,\n\tNVME_FEAT_NOPSC = 17,\n\tNVME_FEAT_RRL = 18,\n\tNVME_FEAT_PLM_CONFIG = 19,\n\tNVME_FEAT_PLM_WINDOW = 20,\n\tNVME_FEAT_HOST_BEHAVIOR = 22,\n\tNVME_FEAT_SANITIZE = 23,\n\tNVME_FEAT_SW_PROGRESS = 128,\n\tNVME_FEAT_HOST_ID = 129,\n\tNVME_FEAT_RESV_MASK = 130,\n\tNVME_FEAT_RESV_PERSIST = 131,\n\tNVME_FEAT_WRITE_PROTECT = 132,\n\tNVME_FEAT_VENDOR_START = 192,\n\tNVME_FEAT_VENDOR_END = 255,\n\tNVME_LOG_SUPPORTED = 0,\n\tNVME_LOG_ERROR = 1,\n\tNVME_LOG_SMART = 2,\n\tNVME_LOG_FW_SLOT = 3,\n\tNVME_LOG_CHANGED_NS = 4,\n\tNVME_LOG_CMD_EFFECTS = 5,\n\tNVME_LOG_DEVICE_SELF_TEST = 6,\n\tNVME_LOG_TELEMETRY_HOST = 7,\n\tNVME_LOG_TELEMETRY_CTRL = 8,\n\tNVME_LOG_ENDURANCE_GROUP = 9,\n\tNVME_LOG_ANA = 12,\n\tNVME_LOG_FEATURES = 18,\n\tNVME_LOG_RMI = 22,\n\tNVME_LOG_DISC = 112,\n\tNVME_LOG_RESERVATION = 128,\n\tNVME_FWACT_REPL = 0,\n\tNVME_FWACT_REPL_ACTV = 8,\n\tNVME_FWACT_ACTV = 16,\n};\n\nenum {\n\tNVME_REG_CAP = 0,\n\tNVME_REG_VS = 8,\n\tNVME_REG_INTMS = 12,\n\tNVME_REG_INTMC = 16,\n\tNVME_REG_CC = 20,\n\tNVME_REG_CSTS = 28,\n\tNVME_REG_NSSR = 32,\n\tNVME_REG_AQA = 36,\n\tNVME_REG_ASQ = 40,\n\tNVME_REG_ACQ = 48,\n\tNVME_REG_CMBLOC = 56,\n\tNVME_REG_CMBSZ = 60,\n\tNVME_REG_BPINFO = 64,\n\tNVME_REG_BPRSEL = 68,\n\tNVME_REG_BPMBL = 72,\n\tNVME_REG_CMBMSC = 80,\n\tNVME_REG_CRTO = 104,\n\tNVME_REG_PMRCAP = 3584,\n\tNVME_REG_PMRCTL = 3588,\n\tNVME_REG_PMRSTS = 3592,\n\tNVME_REG_PMREBS = 3596,\n\tNVME_REG_PMRSWTP = 3600,\n\tNVME_REG_DBS = 4096,\n};\n\nenum {\n\tNVME_REQ_CANCELLED = 1,\n\tNVME_REQ_USERCMD = 2,\n\tNVME_MPATH_IO_STATS = 4,\n\tNVME_MPATH_CNT_ACTIVE = 8,\n};\n\nenum {\n\tNVME_RW_LR = 32768,\n\tNVME_RW_FUA = 16384,\n\tNVME_RW_APPEND_PIREMAP = 512,\n\tNVME_RW_DSM_FREQ_UNSPEC = 0,\n\tNVME_RW_DSM_FREQ_TYPICAL = 1,\n\tNVME_RW_DSM_FREQ_RARE = 2,\n\tNVME_RW_DSM_FREQ_READS = 3,\n\tNVME_RW_DSM_FREQ_WRITES = 4,\n\tNVME_RW_DSM_FREQ_RW = 5,\n\tNVME_RW_DSM_FREQ_ONCE = 6,\n\tNVME_RW_DSM_FREQ_PREFETCH = 7,\n\tNVME_RW_DSM_FREQ_TEMP = 8,\n\tNVME_RW_DSM_LATENCY_NONE = 0,\n\tNVME_RW_DSM_LATENCY_IDLE = 16,\n\tNVME_RW_DSM_LATENCY_NORM = 32,\n\tNVME_RW_DSM_LATENCY_LOW = 48,\n\tNVME_RW_DSM_SEQ_REQ = 64,\n\tNVME_RW_DSM_COMPRESSED = 128,\n\tNVME_RW_PRINFO_PRCHK_REF = 1024,\n\tNVME_RW_PRINFO_PRCHK_APP = 2048,\n\tNVME_RW_PRINFO_PRCHK_GUARD = 4096,\n\tNVME_RW_PRINFO_PRACT = 8192,\n\tNVME_RW_DTYPE_STREAMS = 16,\n\tNVME_WZ_DEAC = 512,\n};\n\nenum {\n\tNVME_SCT_GENERIC = 0,\n\tNVME_SC_SUCCESS = 0,\n\tNVME_SC_INVALID_OPCODE = 1,\n\tNVME_SC_INVALID_FIELD = 2,\n\tNVME_SC_CMDID_CONFLICT = 3,\n\tNVME_SC_DATA_XFER_ERROR = 4,\n\tNVME_SC_POWER_LOSS = 5,\n\tNVME_SC_INTERNAL = 6,\n\tNVME_SC_ABORT_REQ = 7,\n\tNVME_SC_ABORT_QUEUE = 8,\n\tNVME_SC_FUSED_FAIL = 9,\n\tNVME_SC_FUSED_MISSING = 10,\n\tNVME_SC_INVALID_NS = 11,\n\tNVME_SC_CMD_SEQ_ERROR = 12,\n\tNVME_SC_SGL_INVALID_LAST = 13,\n\tNVME_SC_SGL_INVALID_COUNT = 14,\n\tNVME_SC_SGL_INVALID_DATA = 15,\n\tNVME_SC_SGL_INVALID_METADATA = 16,\n\tNVME_SC_SGL_INVALID_TYPE = 17,\n\tNVME_SC_CMB_INVALID_USE = 18,\n\tNVME_SC_PRP_INVALID_OFFSET = 19,\n\tNVME_SC_ATOMIC_WU_EXCEEDED = 20,\n\tNVME_SC_OP_DENIED = 21,\n\tNVME_SC_SGL_INVALID_OFFSET = 22,\n\tNVME_SC_RESERVED = 23,\n\tNVME_SC_HOST_ID_INCONSIST = 24,\n\tNVME_SC_KA_TIMEOUT_EXPIRED = 25,\n\tNVME_SC_KA_TIMEOUT_INVALID = 26,\n\tNVME_SC_ABORTED_PREEMPT_ABORT = 27,\n\tNVME_SC_SANITIZE_FAILED = 28,\n\tNVME_SC_SANITIZE_IN_PROGRESS = 29,\n\tNVME_SC_SGL_INVALID_GRANULARITY = 30,\n\tNVME_SC_CMD_NOT_SUP_CMB_QUEUE = 31,\n\tNVME_SC_NS_WRITE_PROTECTED = 32,\n\tNVME_SC_CMD_INTERRUPTED = 33,\n\tNVME_SC_TRANSIENT_TR_ERR = 34,\n\tNVME_SC_ADMIN_COMMAND_MEDIA_NOT_READY = 36,\n\tNVME_SC_INVALID_IO_CMD_SET = 44,\n\tNVME_SC_LBA_RANGE = 128,\n\tNVME_SC_CAP_EXCEEDED = 129,\n\tNVME_SC_NS_NOT_READY = 130,\n\tNVME_SC_RESERVATION_CONFLICT = 131,\n\tNVME_SC_FORMAT_IN_PROGRESS = 132,\n\tNVME_SCT_COMMAND_SPECIFIC = 256,\n\tNVME_SC_CQ_INVALID = 256,\n\tNVME_SC_QID_INVALID = 257,\n\tNVME_SC_QUEUE_SIZE = 258,\n\tNVME_SC_ABORT_LIMIT = 259,\n\tNVME_SC_ABORT_MISSING = 260,\n\tNVME_SC_ASYNC_LIMIT = 261,\n\tNVME_SC_FIRMWARE_SLOT = 262,\n\tNVME_SC_FIRMWARE_IMAGE = 263,\n\tNVME_SC_INVALID_VECTOR = 264,\n\tNVME_SC_INVALID_LOG_PAGE = 265,\n\tNVME_SC_INVALID_FORMAT = 266,\n\tNVME_SC_FW_NEEDS_CONV_RESET = 267,\n\tNVME_SC_INVALID_QUEUE = 268,\n\tNVME_SC_FEATURE_NOT_SAVEABLE = 269,\n\tNVME_SC_FEATURE_NOT_CHANGEABLE = 270,\n\tNVME_SC_FEATURE_NOT_PER_NS = 271,\n\tNVME_SC_FW_NEEDS_SUBSYS_RESET = 272,\n\tNVME_SC_FW_NEEDS_RESET = 273,\n\tNVME_SC_FW_NEEDS_MAX_TIME = 274,\n\tNVME_SC_FW_ACTIVATE_PROHIBITED = 275,\n\tNVME_SC_OVERLAPPING_RANGE = 276,\n\tNVME_SC_NS_INSUFFICIENT_CAP = 277,\n\tNVME_SC_NS_ID_UNAVAILABLE = 278,\n\tNVME_SC_NS_ALREADY_ATTACHED = 280,\n\tNVME_SC_NS_IS_PRIVATE = 281,\n\tNVME_SC_NS_NOT_ATTACHED = 282,\n\tNVME_SC_THIN_PROV_NOT_SUPP = 283,\n\tNVME_SC_CTRL_LIST_INVALID = 284,\n\tNVME_SC_SELT_TEST_IN_PROGRESS = 285,\n\tNVME_SC_BP_WRITE_PROHIBITED = 286,\n\tNVME_SC_CTRL_ID_INVALID = 287,\n\tNVME_SC_SEC_CTRL_STATE_INVALID = 288,\n\tNVME_SC_CTRL_RES_NUM_INVALID = 289,\n\tNVME_SC_RES_ID_INVALID = 290,\n\tNVME_SC_PMR_SAN_PROHIBITED = 291,\n\tNVME_SC_ANA_GROUP_ID_INVALID = 292,\n\tNVME_SC_ANA_ATTACH_FAILED = 293,\n\tNVME_SC_BAD_ATTRIBUTES = 384,\n\tNVME_SC_INVALID_PI = 385,\n\tNVME_SC_READ_ONLY = 386,\n\tNVME_SC_ONCS_NOT_SUPPORTED = 387,\n\tNVME_SC_CONNECT_FORMAT = 384,\n\tNVME_SC_CONNECT_CTRL_BUSY = 385,\n\tNVME_SC_CONNECT_INVALID_PARAM = 386,\n\tNVME_SC_CONNECT_RESTART_DISC = 387,\n\tNVME_SC_CONNECT_INVALID_HOST = 388,\n\tNVME_SC_DISCOVERY_RESTART = 400,\n\tNVME_SC_AUTH_REQUIRED = 401,\n\tNVME_SC_ZONE_BOUNDARY_ERROR = 440,\n\tNVME_SC_ZONE_FULL = 441,\n\tNVME_SC_ZONE_READ_ONLY = 442,\n\tNVME_SC_ZONE_OFFLINE = 443,\n\tNVME_SC_ZONE_INVALID_WRITE = 444,\n\tNVME_SC_ZONE_TOO_MANY_ACTIVE = 445,\n\tNVME_SC_ZONE_TOO_MANY_OPEN = 446,\n\tNVME_SC_ZONE_INVALID_TRANSITION = 447,\n\tNVME_SCT_MEDIA_ERROR = 512,\n\tNVME_SC_WRITE_FAULT = 640,\n\tNVME_SC_READ_ERROR = 641,\n\tNVME_SC_GUARD_CHECK = 642,\n\tNVME_SC_APPTAG_CHECK = 643,\n\tNVME_SC_REFTAG_CHECK = 644,\n\tNVME_SC_COMPARE_FAILED = 645,\n\tNVME_SC_ACCESS_DENIED = 646,\n\tNVME_SC_UNWRITTEN_BLOCK = 647,\n\tNVME_SCT_PATH = 768,\n\tNVME_SC_INTERNAL_PATH_ERROR = 768,\n\tNVME_SC_ANA_PERSISTENT_LOSS = 769,\n\tNVME_SC_ANA_INACCESSIBLE = 770,\n\tNVME_SC_ANA_TRANSITION = 771,\n\tNVME_SC_CTRL_PATH_ERROR = 864,\n\tNVME_SC_HOST_PATH_ERROR = 880,\n\tNVME_SC_HOST_ABORTED_CMD = 881,\n\tNVME_SC_MASK = 255,\n\tNVME_SCT_MASK = 1792,\n\tNVME_SCT_SC_MASK = 2047,\n\tNVME_STATUS_CRD = 6144,\n\tNVME_STATUS_MORE = 8192,\n\tNVME_STATUS_DNR = 16384,\n};\n\nenum {\n\tNVME_SGL_FMT_DATA_DESC = 0,\n\tNVME_SGL_FMT_SEG_DESC = 2,\n\tNVME_SGL_FMT_LAST_SEG_DESC = 3,\n\tNVME_KEY_SGL_FMT_DATA_DESC = 4,\n\tNVME_TRANSPORT_SGL_DATA_DESC = 5,\n};\n\nenum {\n\tNVME_SUBMIT_AT_HEAD = 1,\n\tNVME_SUBMIT_NOWAIT = 2,\n\tNVME_SUBMIT_RESERVED = 4,\n\tNVME_SUBMIT_RETRY = 8,\n};\n\nenum {\n\tNVME_ZONE_TYPE_SEQWRITE_REQ = 2,\n};\n\nenum {\n\tNVME_ZRA_ZONE_REPORT = 0,\n\tNVME_ZRASF_ZONE_REPORT_ALL = 0,\n\tNVME_ZRASF_ZONE_STATE_EMPTY = 1,\n\tNVME_ZRASF_ZONE_STATE_IMP_OPEN = 2,\n\tNVME_ZRASF_ZONE_STATE_EXP_OPEN = 3,\n\tNVME_ZRASF_ZONE_STATE_CLOSED = 4,\n\tNVME_ZRASF_ZONE_STATE_READONLY = 5,\n\tNVME_ZRASF_ZONE_STATE_FULL = 6,\n\tNVME_ZRASF_ZONE_STATE_OFFLINE = 7,\n\tNVME_REPORT_ZONE_PARTIAL = 1,\n};\n\nenum {\n\tODP_NOT_NEEDED = 0,\n\tODP_ZEROBASED = 1,\n\tODP_VIRTUAL = 2,\n};\n\nenum {\n\tOD_NORMAL_SAMPLE = 0,\n\tOD_SUB_SAMPLE = 1,\n};\n\nenum {\n\tONLINE_POLICY_CONTIG_ZONES = 0,\n\tONLINE_POLICY_AUTO_MOVABLE = 1,\n};\n\nenum {\n\tOPEN4_RESULT_NO_OPEN_STATEID = 16,\n};\n\nenum {\n\tOPEN4_SHARE_ACCESS_WANT_ANY_DELEG = 768,\n};\n\nenum {\n\tOPEN4_SHARE_ACCESS_WANT_CANCEL = 1280,\n};\n\nenum {\n\tOPEN4_SHARE_ACCESS_WANT_DELEG_TIMESTAMPS = 1048576,\n};\n\nenum {\n\tOPEN4_SHARE_ACCESS_WANT_NO_DELEG = 1024,\n};\n\nenum {\n\tOPEN4_SHARE_ACCESS_WANT_NO_PREFERENCE = 0,\n};\n\nenum {\n\tOPEN4_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION = 2097152,\n};\n\nenum {\n\tOPEN4_SHARE_ACCESS_WANT_READ_DELEG = 256,\n};\n\nenum {\n\tOPEN4_SHARE_ACCESS_WANT_WRITE_DELEG = 512,\n};\n\nenum {\n\tOPT_UID = 0,\n\tOPT_GID = 1,\n\tOPT_MODE = 2,\n\tOPT_DELEGATE_CMDS = 3,\n\tOPT_DELEGATE_MAPS = 4,\n\tOPT_DELEGATE_PROGS = 5,\n\tOPT_DELEGATE_ATTACHS = 6,\n};\n\nenum {\n\tOVERRIDE_NONE = 0,\n\tOVERRIDE_BASE = 1,\n\tOVERRIDE_STRIDE = 2,\n\tOVERRIDE_HEIGHT = 4,\n\tOVERRIDE_WIDTH = 8,\n};\n\nenum {\n\tOVL_REDIRECT_OFF = 0,\n\tOVL_REDIRECT_FOLLOW = 1,\n\tOVL_REDIRECT_NOFOLLOW = 2,\n\tOVL_REDIRECT_ON = 3,\n};\n\nenum {\n\tOVL_UUID_OFF = 0,\n\tOVL_UUID_NULL = 1,\n\tOVL_UUID_AUTO = 2,\n\tOVL_UUID_ON = 3,\n};\n\nenum {\n\tOVL_VERITY_OFF = 0,\n\tOVL_VERITY_ON = 1,\n\tOVL_VERITY_REQUIRE = 2,\n};\n\nenum {\n\tOVL_XINO_OFF = 0,\n\tOVL_XINO_AUTO = 1,\n\tOVL_XINO_ON = 2,\n};\n\nenum {\n\tOpt_acl = 0,\n\tOpt_clear_cache = 1,\n\tOpt_commit_interval = 2,\n\tOpt_compress = 3,\n\tOpt_compress_force = 4,\n\tOpt_compress_force_type = 5,\n\tOpt_compress_type = 6,\n\tOpt_degraded = 7,\n\tOpt_device = 8,\n\tOpt_fatal_errors = 9,\n\tOpt_flushoncommit = 10,\n\tOpt_max_inline = 11,\n\tOpt_barrier = 12,\n\tOpt_datacow = 13,\n\tOpt_datasum = 14,\n\tOpt_defrag = 15,\n\tOpt_discard = 16,\n\tOpt_discard_mode = 17,\n\tOpt_ratio = 18,\n\tOpt_rescan_uuid_tree = 19,\n\tOpt_skip_balance = 20,\n\tOpt_space_cache = 21,\n\tOpt_space_cache_version = 22,\n\tOpt_ssd = 23,\n\tOpt_ssd_spread = 24,\n\tOpt_subvol = 25,\n\tOpt_subvol_empty = 26,\n\tOpt_subvolid = 27,\n\tOpt_thread_pool = 28,\n\tOpt_treelog = 29,\n\tOpt_user_subvol_rm_allowed = 30,\n\tOpt_norecovery = 31,\n\tOpt_rescue = 32,\n\tOpt_usebackuproot = 33,\n\tOpt_nologreplay = 34,\n\tOpt_enospc_debug = 35,\n\tOpt_err = 36,\n};\n\nenum {\n\tOpt_block = 0,\n\tOpt_check = 1,\n\tOpt_cruft = 2,\n\tOpt_gid = 3,\n\tOpt_ignore = 4,\n\tOpt_iocharset = 5,\n\tOpt_map = 6,\n\tOpt_mode = 7,\n\tOpt_nojoliet = 8,\n\tOpt_norock = 9,\n\tOpt_sb = 10,\n\tOpt_session = 11,\n\tOpt_uid = 12,\n\tOpt_unhide = 13,\n\tOpt_utf8 = 14,\n\tOpt_err___2 = 15,\n\tOpt_nocompress = 16,\n\tOpt_hide = 17,\n\tOpt_showassoc = 18,\n\tOpt_dmode = 19,\n\tOpt_overriderockperm = 20,\n};\n\nenum {\n\tOpt_bsd_df = 0,\n\tOpt_minix_df = 1,\n\tOpt_grpid = 2,\n\tOpt_nogrpid = 3,\n\tOpt_resgid = 4,\n\tOpt_resuid = 5,\n\tOpt_sb___2 = 6,\n\tOpt_err_cont = 7,\n\tOpt_err_panic = 8,\n\tOpt_err_ro = 9,\n\tOpt_nouid32 = 10,\n\tOpt_debug = 11,\n\tOpt_oldalloc = 12,\n\tOpt_orlov = 13,\n\tOpt_nobh = 14,\n\tOpt_user_xattr = 15,\n\tOpt_nouser_xattr = 16,\n\tOpt_acl___2 = 17,\n\tOpt_noacl = 18,\n\tOpt_xip = 19,\n\tOpt_dax = 20,\n\tOpt_ignore___2 = 21,\n\tOpt_err___3 = 22,\n\tOpt_quota = 23,\n\tOpt_usrquota = 24,\n\tOpt_grpquota = 25,\n\tOpt_reservation = 26,\n\tOpt_noreservation = 27,\n};\n\nenum {\n\tOpt_bsd_df___2 = 0,\n\tOpt_minix_df___2 = 1,\n\tOpt_grpid___2 = 2,\n\tOpt_nogrpid___2 = 3,\n\tOpt_resgid___2 = 4,\n\tOpt_resuid___2 = 5,\n\tOpt_sb___3 = 6,\n\tOpt_nouid32___2 = 7,\n\tOpt_debug___2 = 8,\n\tOpt_removed = 9,\n\tOpt_user_xattr___2 = 10,\n\tOpt_acl___3 = 11,\n\tOpt_auto_da_alloc = 12,\n\tOpt_noauto_da_alloc = 13,\n\tOpt_noload = 14,\n\tOpt_commit = 15,\n\tOpt_min_batch_time = 16,\n\tOpt_max_batch_time = 17,\n\tOpt_journal_dev = 18,\n\tOpt_journal_path = 19,\n\tOpt_journal_checksum = 20,\n\tOpt_journal_async_commit = 21,\n\tOpt_abort = 22,\n\tOpt_data_journal = 23,\n\tOpt_data_ordered = 24,\n\tOpt_data_writeback = 25,\n\tOpt_data_err_abort = 26,\n\tOpt_data_err_ignore = 27,\n\tOpt_test_dummy_encryption = 28,\n\tOpt_inlinecrypt = 29,\n\tOpt_usrjquota = 30,\n\tOpt_grpjquota = 31,\n\tOpt_quota___2 = 32,\n\tOpt_noquota = 33,\n\tOpt_barrier___2 = 34,\n\tOpt_nobarrier = 35,\n\tOpt_err___4 = 36,\n\tOpt_usrquota___2 = 37,\n\tOpt_grpquota___2 = 38,\n\tOpt_prjquota = 39,\n\tOpt_dax___2 = 40,\n\tOpt_dax_always = 41,\n\tOpt_dax_inode = 42,\n\tOpt_dax_never = 43,\n\tOpt_stripe = 44,\n\tOpt_delalloc = 45,\n\tOpt_nodelalloc = 46,\n\tOpt_warn_on_error = 47,\n\tOpt_nowarn_on_error = 48,\n\tOpt_mblk_io_submit = 49,\n\tOpt_debug_want_extra_isize = 50,\n\tOpt_nomblk_io_submit = 51,\n\tOpt_block_validity = 52,\n\tOpt_noblock_validity = 53,\n\tOpt_inode_readahead_blks = 54,\n\tOpt_journal_ioprio = 55,\n\tOpt_dioread_nolock = 56,\n\tOpt_dioread_lock = 57,\n\tOpt_discard___2 = 58,\n\tOpt_nodiscard = 59,\n\tOpt_init_itable = 60,\n\tOpt_noinit_itable = 61,\n\tOpt_max_dir_size_kb = 62,\n\tOpt_nojournal_checksum = 63,\n\tOpt_nombcache = 64,\n\tOpt_no_prefetch_block_bitmaps = 65,\n\tOpt_mb_optimize_scan = 66,\n\tOpt_errors = 67,\n\tOpt_data = 68,\n\tOpt_data_err = 69,\n\tOpt_jqfmt = 70,\n\tOpt_dax_type = 71,\n};\n\nenum {\n\tOpt_debug___3 = 0,\n\tOpt_dfltuid = 1,\n\tOpt_dfltgid = 2,\n\tOpt_afid = 3,\n\tOpt_uname = 4,\n\tOpt_remotename = 5,\n\tOpt_cache = 6,\n\tOpt_cachetag = 7,\n\tOpt_nodevmap = 8,\n\tOpt_noxattr = 9,\n\tOpt_directio = 10,\n\tOpt_ignoreqv = 11,\n\tOpt_access = 12,\n\tOpt_posixacl = 13,\n\tOpt_locktimeout = 14,\n\tOpt_err___5 = 15,\n};\n\nenum {\n\tOpt_direct = 0,\n\tOpt_fd = 1,\n\tOpt_gid___2 = 2,\n\tOpt_ignore___3 = 3,\n\tOpt_indirect = 4,\n\tOpt_maxproto = 5,\n\tOpt_minproto = 6,\n\tOpt_offset = 7,\n\tOpt_pgrp = 8,\n\tOpt_strictexpire = 9,\n\tOpt_uid___2 = 10,\n};\n\nenum {\n\tOpt_discard_sync = 0,\n\tOpt_discard_async = 1,\n};\n\nenum {\n\tOpt_err___6 = 0,\n\tOpt_enc = 1,\n\tOpt_hash = 2,\n};\n\nenum {\n\tOpt_error = -1,\n\tOpt_context = 0,\n\tOpt_defcontext = 1,\n\tOpt_fscontext = 2,\n\tOpt_rootcontext = 3,\n\tOpt_seclabel = 4,\n};\n\nenum {\n\tOpt_fatal_errors_panic = 0,\n\tOpt_fatal_errors_bug = 1,\n};\n\nenum {\n\tOpt_find_uid = 0,\n\tOpt_find_gid = 1,\n\tOpt_find_user = 2,\n\tOpt_find_group = 3,\n\tOpt_find_err = 4,\n};\n\nenum {\n\tOpt_local_lock_all = 0,\n\tOpt_local_lock_flock = 1,\n\tOpt_local_lock_none = 2,\n\tOpt_local_lock_posix = 3,\n};\n\nenum {\n\tOpt_logbufs = 0,\n\tOpt_logbsize = 1,\n\tOpt_logdev = 2,\n\tOpt_rtdev = 3,\n\tOpt_wsync = 4,\n\tOpt_noalign = 5,\n\tOpt_swalloc = 6,\n\tOpt_sunit = 7,\n\tOpt_swidth = 8,\n\tOpt_nouuid = 9,\n\tOpt_grpid___3 = 10,\n\tOpt_nogrpid___3 = 11,\n\tOpt_bsdgroups = 12,\n\tOpt_sysvgroups = 13,\n\tOpt_allocsize = 14,\n\tOpt_norecovery___2 = 15,\n\tOpt_inode64 = 16,\n\tOpt_inode32 = 17,\n\tOpt_ikeep = 18,\n\tOpt_noikeep = 19,\n\tOpt_largeio = 20,\n\tOpt_nolargeio = 21,\n\tOpt_attr2 = 22,\n\tOpt_noattr2 = 23,\n\tOpt_filestreams = 24,\n\tOpt_quota___3 = 25,\n\tOpt_noquota___2 = 26,\n\tOpt_usrquota___3 = 27,\n\tOpt_grpquota___3 = 28,\n\tOpt_prjquota___2 = 29,\n\tOpt_uquota = 30,\n\tOpt_gquota = 31,\n\tOpt_pquota = 32,\n\tOpt_uqnoenforce = 33,\n\tOpt_gqnoenforce = 34,\n\tOpt_pqnoenforce = 35,\n\tOpt_qnoenforce = 36,\n\tOpt_discard___3 = 37,\n\tOpt_nodiscard___2 = 38,\n\tOpt_dax___3 = 39,\n\tOpt_dax_enum = 40,\n};\n\nenum {\n\tOpt_lookupcache_all = 0,\n\tOpt_lookupcache_none = 1,\n\tOpt_lookupcache_positive = 2,\n};\n\nenum {\n\tOpt_msize = 0,\n\tOpt_trans = 1,\n\tOpt_legacy = 2,\n\tOpt_version = 3,\n\tOpt_err___7 = 4,\n};\n\nenum {\n\tOpt_novrs = 0,\n\tOpt_nostrict = 1,\n\tOpt_bs = 2,\n\tOpt_unhide___2 = 3,\n\tOpt_undelete = 4,\n\tOpt_noadinicb = 5,\n\tOpt_adinicb = 6,\n\tOpt_shortad = 7,\n\tOpt_longad = 8,\n\tOpt_gid___3 = 9,\n\tOpt_uid___3 = 10,\n\tOpt_umask = 11,\n\tOpt_session___2 = 12,\n\tOpt_lastblock = 13,\n\tOpt_anchor = 14,\n\tOpt_volume = 15,\n\tOpt_partition = 16,\n\tOpt_fileset = 17,\n\tOpt_rootdir = 18,\n\tOpt_utf8___2 = 19,\n\tOpt_iocharset___2 = 20,\n\tOpt_err___8 = 21,\n\tOpt_fmode = 22,\n\tOpt_dmode___2 = 23,\n};\n\nenum {\n\tOpt_port = 0,\n\tOpt_rfdno = 1,\n\tOpt_wfdno = 2,\n\tOpt_err___9 = 3,\n\tOpt_privport = 4,\n};\n\nenum {\n\tOpt_rescue_usebackuproot = 0,\n\tOpt_rescue_nologreplay = 1,\n\tOpt_rescue_ignorebadroots = 2,\n\tOpt_rescue_ignoredatacsums = 3,\n\tOpt_rescue_ignoremetacsums = 4,\n\tOpt_rescue_ignoresuperflags = 5,\n\tOpt_rescue_parameter_all = 6,\n};\n\nenum {\n\tOpt_sec_krb5 = 0,\n\tOpt_sec_krb5i = 1,\n\tOpt_sec_krb5p = 2,\n\tOpt_sec_lkey = 3,\n\tOpt_sec_lkeyi = 4,\n\tOpt_sec_lkeyp = 5,\n\tOpt_sec_none = 6,\n\tOpt_sec_spkm = 7,\n\tOpt_sec_spkmi = 8,\n\tOpt_sec_spkmp = 9,\n\tOpt_sec_sys = 10,\n\tnr__Opt_sec = 11,\n};\n\nenum {\n\tOpt_space_cache_v1 = 0,\n\tOpt_space_cache_v2 = 1,\n};\n\nenum {\n\tOpt_uid___4 = 0,\n\tOpt_gid___4 = 1,\n\tOpt_mode___2 = 2,\n};\n\nenum {\n\tOpt_uid___5 = 0,\n\tOpt_gid___5 = 1,\n\tOpt_mode___3 = 2,\n\tOpt_source = 3,\n};\n\nenum {\n\tOpt_uid___6 = 0,\n\tOpt_gid___6 = 1,\n\tOpt_mode___4 = 2,\n\tOpt_ptmxmode = 3,\n\tOpt_newinstance = 4,\n\tOpt_max = 5,\n\tOpt_err___10 = 6,\n};\n\nenum {\n\tOpt_vers_2 = 0,\n\tOpt_vers_3 = 1,\n\tOpt_vers_4 = 2,\n\tOpt_vers_4_0 = 3,\n\tOpt_vers_4_1 = 4,\n\tOpt_vers_4_2 = 5,\n};\n\nenum {\n\tOpt_write_lazy = 0,\n\tOpt_write_eager = 1,\n\tOpt_write_wait = 2,\n};\n\nenum {\n\tOpt_xprt_rdma = 0,\n\tOpt_xprt_rdma6 = 1,\n\tOpt_xprt_tcp = 2,\n\tOpt_xprt_tcp6 = 3,\n\tOpt_xprt_udp = 4,\n\tOpt_xprt_udp6 = 5,\n\tnr__Opt_xprt = 6,\n};\n\nenum {\n\tOpt_xprtsec_none = 0,\n\tOpt_xprtsec_tls = 1,\n\tOpt_xprtsec_mtls = 2,\n\tnr__Opt_xprtsec = 3,\n};\n\nenum {\n\tPAGE_REPORTING_IDLE = 0,\n\tPAGE_REPORTING_REQUESTED = 1,\n\tPAGE_REPORTING_ACTIVE = 2,\n};\n\nenum {\n\tPAGE_WAS_MAPPED = 1,\n\tPAGE_WAS_MLOCKED = 2,\n\tPAGE_OLD_STATES = 3,\n};\n\nenum {\n\tPBA_STRATEGY_EQUAL = 0,\n\tPBA_STRATEGY_WEIGHTED = 1,\n};\n\nenum {\n\tPCI_REASSIGN_ALL_RSRC = 1,\n\tPCI_REASSIGN_ALL_BUS = 2,\n\tPCI_PROBE_ONLY = 4,\n\tPCI_CAN_SKIP_ISA_ALIGN = 8,\n\tPCI_ENABLE_PROC_DOMAINS = 16,\n\tPCI_COMPAT_DOMAIN_0 = 32,\n\tPCI_SCAN_ALL_PCIE_DEVS = 64,\n};\n\nenum {\n\tPCI_STD_RESOURCES = 0,\n\tPCI_STD_RESOURCE_END = 5,\n\tPCI_ROM_RESOURCE = 6,\n\tPCI_IOV_RESOURCES = 7,\n\tPCI_IOV_RESOURCE_END = 12,\n\tPCI_BRIDGE_RESOURCES = 13,\n\tPCI_BRIDGE_RESOURCE_END = 16,\n\tPCI_NUM_RESOURCES = 17,\n\tDEVICE_COUNT_RESOURCE = 17,\n};\n\nenum {\n\tPERCPU_REF_INIT_ATOMIC = 1,\n\tPERCPU_REF_INIT_DEAD = 2,\n\tPERCPU_REF_ALLOW_REINIT = 4,\n};\n\nenum {\n\tPER_LINUX = 0,\n\tPER_LINUX_32BIT = 8388608,\n\tPER_LINUX_FDPIC = 524288,\n\tPER_SVR4 = 68157441,\n\tPER_SVR3 = 83886082,\n\tPER_SCOSVR3 = 117440515,\n\tPER_OSR5 = 100663299,\n\tPER_WYSEV386 = 83886084,\n\tPER_ISCR4 = 67108869,\n\tPER_BSD = 6,\n\tPER_SUNOS = 67108870,\n\tPER_XENIX = 83886087,\n\tPER_LINUX32 = 8,\n\tPER_LINUX32_3GB = 134217736,\n\tPER_IRIX32 = 67108873,\n\tPER_IRIXN32 = 67108874,\n\tPER_IRIX64 = 67108875,\n\tPER_RISCOS = 12,\n\tPER_SOLARIS = 67108877,\n\tPER_UW7 = 68157454,\n\tPER_OSF4 = 15,\n\tPER_HPUX = 16,\n\tPER_MASK = 255,\n};\n\nenum {\n\tPG_BUSY = 0,\n\tPG_MAPPED = 1,\n\tPG_FOLIO = 2,\n\tPG_CLEAN = 3,\n\tPG_COMMIT_TO_DS = 4,\n\tPG_INODE_REF = 5,\n\tPG_HEADLOCK = 6,\n\tPG_TEARDOWN = 7,\n\tPG_UNLOCKPAGE = 8,\n\tPG_UPTODATE = 9,\n\tPG_WB_END = 10,\n\tPG_REMOVE = 11,\n\tPG_CONTENDED1 = 12,\n\tPG_CONTENDED2 = 13,\n};\n\nenum {\n\tPHYLINK_DISABLE_STOPPED = 0,\n\tPHYLINK_DISABLE_LINK = 1,\n\tPHYLINK_DISABLE_MAC_WOL = 2,\n\tPCS_STATE_DOWN = 0,\n\tPCS_STATE_STARTING = 1,\n\tPCS_STATE_STARTED = 2,\n};\n\nenum {\n\tPIM_TYPE_HELLO = 0,\n\tPIM_TYPE_REGISTER = 1,\n\tPIM_TYPE_REGISTER_STOP = 2,\n\tPIM_TYPE_JOIN_PRUNE = 3,\n\tPIM_TYPE_BOOTSTRAP = 4,\n\tPIM_TYPE_ASSERT = 5,\n\tPIM_TYPE_GRAFT = 6,\n\tPIM_TYPE_GRAFT_ACK = 7,\n\tPIM_TYPE_CANDIDATE_RP_ADV = 8,\n};\n\nenum {\n\tPLAT8250_DEV_LEGACY = -1,\n\tPLAT8250_DEV_PLATFORM = 0,\n\tPLAT8250_DEV_PLATFORM1 = 1,\n\tPLAT8250_DEV_PLATFORM2 = 2,\n\tPLAT8250_DEV_FOURPORT = 3,\n\tPLAT8250_DEV_ACCENT = 4,\n\tPLAT8250_DEV_BOCA = 5,\n\tPLAT8250_DEV_EXAR_ST16C554 = 6,\n\tPLAT8250_DEV_HUB6 = 7,\n\tPLAT8250_DEV_AU1X00 = 8,\n\tPLAT8250_DEV_SM501 = 9,\n};\n\nenum {\n\tPNFS_BDEV_REGISTERED = 0,\n};\n\nenum {\n\tPOLICYDB_CAP_NETPEER = 0,\n\tPOLICYDB_CAP_OPENPERM = 1,\n\tPOLICYDB_CAP_EXTSOCKCLASS = 2,\n\tPOLICYDB_CAP_ALWAYSNETWORK = 3,\n\tPOLICYDB_CAP_CGROUPSECLABEL = 4,\n\tPOLICYDB_CAP_NNP_NOSUID_TRANSITION = 5,\n\tPOLICYDB_CAP_GENFS_SECLABEL_SYMLINKS = 6,\n\tPOLICYDB_CAP_IOCTL_SKIP_CLOEXEC = 7,\n\tPOLICYDB_CAP_USERSPACE_INITIAL_CONTEXT = 8,\n\tPOLICYDB_CAP_NETLINK_XPERM = 9,\n\t__POLICYDB_CAP_MAX = 10,\n};\n\nenum {\n\tPOOL_BITS = 256,\n\tPOOL_READY_BITS = 256,\n\tPOOL_EARLY_BITS = 128,\n};\n\nenum {\n\tPOS_FIX_AUTO = 0,\n\tPOS_FIX_LPIB = 1,\n\tPOS_FIX_POSBUF = 2,\n\tPOS_FIX_VIACOMBO = 3,\n\tPOS_FIX_COMBO = 4,\n\tPOS_FIX_SKL = 5,\n\tPOS_FIX_FIFO = 6,\n};\n\nenum {\n\tPOWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN = 0,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_CRITICAL = 1,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_LOW = 2,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_NORMAL = 3,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_HIGH = 4,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_FULL = 5,\n};\n\nenum {\n\tPOWER_SUPPLY_HEALTH_UNKNOWN = 0,\n\tPOWER_SUPPLY_HEALTH_GOOD = 1,\n\tPOWER_SUPPLY_HEALTH_OVERHEAT = 2,\n\tPOWER_SUPPLY_HEALTH_DEAD = 3,\n\tPOWER_SUPPLY_HEALTH_OVERVOLTAGE = 4,\n\tPOWER_SUPPLY_HEALTH_UNDERVOLTAGE = 5,\n\tPOWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 6,\n\tPOWER_SUPPLY_HEALTH_COLD = 7,\n\tPOWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 8,\n\tPOWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 9,\n\tPOWER_SUPPLY_HEALTH_OVERCURRENT = 10,\n\tPOWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED = 11,\n\tPOWER_SUPPLY_HEALTH_WARM = 12,\n\tPOWER_SUPPLY_HEALTH_COOL = 13,\n\tPOWER_SUPPLY_HEALTH_HOT = 14,\n\tPOWER_SUPPLY_HEALTH_NO_BATTERY = 15,\n};\n\nenum {\n\tPOWER_SUPPLY_SCOPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_SCOPE_SYSTEM = 1,\n\tPOWER_SUPPLY_SCOPE_DEVICE = 2,\n};\n\nenum {\n\tPOWER_SUPPLY_STATUS_UNKNOWN = 0,\n\tPOWER_SUPPLY_STATUS_CHARGING = 1,\n\tPOWER_SUPPLY_STATUS_DISCHARGING = 2,\n\tPOWER_SUPPLY_STATUS_NOT_CHARGING = 3,\n\tPOWER_SUPPLY_STATUS_FULL = 4,\n};\n\nenum {\n\tPOWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0,\n\tPOWER_SUPPLY_TECHNOLOGY_NiMH = 1,\n\tPOWER_SUPPLY_TECHNOLOGY_LION = 2,\n\tPOWER_SUPPLY_TECHNOLOGY_LIPO = 3,\n\tPOWER_SUPPLY_TECHNOLOGY_LiFe = 4,\n\tPOWER_SUPPLY_TECHNOLOGY_NiCd = 5,\n\tPOWER_SUPPLY_TECHNOLOGY_LiMn = 6,\n};\n\nenum {\n\tPREFIX_UNSPEC = 0,\n\tPREFIX_ADDRESS = 1,\n\tPREFIX_CACHEINFO = 2,\n\t__PREFIX_MAX = 3,\n};\n\nenum {\n\tPROC_ENTRY_PERMANENT = 1,\n\tPROC_ENTRY_proc_read_iter = 2,\n\tPROC_ENTRY_proc_compat_ioctl = 4,\n};\n\nenum {\n\tPROC_ROOT_INO = 1,\n\tPROC_IPC_INIT_INO = 4026531839,\n\tPROC_UTS_INIT_INO = 4026531838,\n\tPROC_USER_INIT_INO = 4026531837,\n\tPROC_PID_INIT_INO = 4026531836,\n\tPROC_CGROUP_INIT_INO = 4026531835,\n\tPROC_TIME_INIT_INO = 4026531834,\n};\n\nenum {\n\tPWMF_REQUESTED = 0,\n\tPWMF_EXPORTED = 1,\n};\n\nenum {\n\tQIF_BLIMITS_B = 0,\n\tQIF_SPACE_B = 1,\n\tQIF_ILIMITS_B = 2,\n\tQIF_INODES_B = 3,\n\tQIF_BTIME_B = 4,\n\tQIF_ITIME_B = 5,\n};\n\nenum {\n\tQOS_ENABLE = 0,\n\tQOS_CTRL = 1,\n\tNR_QOS_CTRL_PARAMS = 2,\n};\n\nenum {\n\tQOS_RPPM = 0,\n\tQOS_RLAT = 1,\n\tQOS_WPPM = 2,\n\tQOS_WLAT = 3,\n\tQOS_MIN = 4,\n\tQOS_MAX = 5,\n\tNR_QOS_PARAMS = 6,\n};\n\nenum {\n\tQUEUE_FLAG_DYING = 0,\n\tQUEUE_FLAG_NOMERGES = 1,\n\tQUEUE_FLAG_SAME_COMP = 2,\n\tQUEUE_FLAG_FAIL_IO = 3,\n\tQUEUE_FLAG_NOXMERGES = 4,\n\tQUEUE_FLAG_SAME_FORCE = 5,\n\tQUEUE_FLAG_INIT_DONE = 6,\n\tQUEUE_FLAG_STATS = 7,\n\tQUEUE_FLAG_REGISTERED = 8,\n\tQUEUE_FLAG_QUIESCED = 9,\n\tQUEUE_FLAG_RQ_ALLOC_TIME = 10,\n\tQUEUE_FLAG_HCTX_ACTIVE = 11,\n\tQUEUE_FLAG_SQ_SCHED = 12,\n\tQUEUE_FLAG_MAX = 13,\n};\n\nenum {\n\tQ_REQUEUE_PI_NONE = 0,\n\tQ_REQUEUE_PI_IGNORE = 1,\n\tQ_REQUEUE_PI_IN_PROGRESS = 2,\n\tQ_REQUEUE_PI_WAIT = 3,\n\tQ_REQUEUE_PI_DONE = 4,\n\tQ_REQUEUE_PI_LOCKED = 5,\n};\n\nenum {\n\tRADIX_TREE_ITER_TAG_MASK = 15,\n\tRADIX_TREE_ITER_TAGGED = 16,\n\tRADIX_TREE_ITER_CONTIG = 32,\n};\n\nenum {\n\tRANGE_BOUNDARY_WRITTEN_EXTENT = 0,\n\tRANGE_BOUNDARY_PREALLOC_EXTENT = 1,\n\tRANGE_BOUNDARY_HOLE = 2,\n};\n\nenum {\n\tRB_ADD_STAMP_NONE = 0,\n\tRB_ADD_STAMP_EXTEND = 2,\n\tRB_ADD_STAMP_ABSOLUTE = 4,\n\tRB_ADD_STAMP_FORCE = 8,\n};\n\nenum {\n\tRB_CTX_TRANSITION = 0,\n\tRB_CTX_NMI = 1,\n\tRB_CTX_IRQ = 2,\n\tRB_CTX_SOFTIRQ = 3,\n\tRB_CTX_NORMAL = 4,\n\tRB_CTX_MAX = 5,\n};\n\nenum {\n\tRB_LEN_TIME_EXTEND = 8,\n\tRB_LEN_TIME_STAMP = 8,\n};\n\nenum {\n\tRCA4_TYPE_MASK_RDATA_DLG = 0,\n\tRCA4_TYPE_MASK_WDATA_DLG = 1,\n\tRCA4_TYPE_MASK_DIR_DLG = 2,\n\tRCA4_TYPE_MASK_FILE_LAYOUT = 3,\n\tRCA4_TYPE_MASK_BLK_LAYOUT = 4,\n\tRCA4_TYPE_MASK_OBJ_LAYOUT_MIN = 8,\n\tRCA4_TYPE_MASK_OBJ_LAYOUT_MAX = 9,\n\tRCA4_TYPE_MASK_OTHER_LAYOUT_MIN = 12,\n\tRCA4_TYPE_MASK_OTHER_LAYOUT_MAX = 15,\n};\n\nenum {\n\tRC_DROPIT = 0,\n\tRC_REPLY = 1,\n\tRC_DOIT = 2,\n};\n\nenum {\n\tRC_NOCACHE = 0,\n\tRC_REPLSTAT = 1,\n\tRC_REPLBUFF = 2,\n};\n\nenum {\n\tRC_UNUSED = 0,\n\tRC_INPROG = 1,\n\tRC_DONE = 2,\n};\n\nenum {\n\tRDS_CONN_DOWN = 0,\n\tRDS_CONN_CONNECTING = 1,\n\tRDS_CONN_DISCONNECTING = 2,\n\tRDS_CONN_UP = 3,\n\tRDS_CONN_RESETTING = 4,\n\tRDS_CONN_ERROR = 5,\n};\n\nenum {\n\tREADA_NONE = 0,\n\tREADA_BACK = 1,\n\tREADA_FORWARD = 2,\n\tREADA_FORWARD_ALWAYS = 3,\n};\n\nenum {\n\tREASON_BOUNDS = -1,\n\tREASON_TYPE = -2,\n\tREASON_PATHS = -3,\n\tREASON_LIMIT = -4,\n\tREASON_STACK = -5,\n};\n\nenum {\n\tREGION_INTERSECTS = 0,\n\tREGION_DISJOINT = 1,\n\tREGION_MIXED = 2,\n};\n\nenum {\n\tREQ_FSEQ_PREFLUSH = 1,\n\tREQ_FSEQ_DATA = 2,\n\tREQ_FSEQ_POSTFLUSH = 4,\n\tREQ_FSEQ_DONE = 8,\n\tREQ_FSEQ_ACTIONS = 7,\n\tFLUSH_PENDING_TIMEOUT = 1250,\n};\n\nenum {\n\tREQ_F_FIXED_FILE = 1ULL,\n\tREQ_F_IO_DRAIN = 2ULL,\n\tREQ_F_LINK = 4ULL,\n\tREQ_F_HARDLINK = 8ULL,\n\tREQ_F_FORCE_ASYNC = 16ULL,\n\tREQ_F_BUFFER_SELECT = 32ULL,\n\tREQ_F_CQE_SKIP = 64ULL,\n\tREQ_F_FAIL = 256ULL,\n\tREQ_F_INFLIGHT = 512ULL,\n\tREQ_F_CUR_POS = 1024ULL,\n\tREQ_F_NOWAIT = 2048ULL,\n\tREQ_F_LINK_TIMEOUT = 4096ULL,\n\tREQ_F_NEED_CLEANUP = 8192ULL,\n\tREQ_F_POLLED = 16384ULL,\n\tREQ_F_IOPOLL_STATE = 32768ULL,\n\tREQ_F_BUFFER_SELECTED = 65536ULL,\n\tREQ_F_BUFFER_RING = 131072ULL,\n\tREQ_F_REISSUE = 262144ULL,\n\tREQ_F_SUPPORT_NOWAIT = 268435456ULL,\n\tREQ_F_ISREG = 536870912ULL,\n\tREQ_F_CREDS = 524288ULL,\n\tREQ_F_REFCOUNT = 1048576ULL,\n\tREQ_F_ARM_LTIMEOUT = 2097152ULL,\n\tREQ_F_ASYNC_DATA = 4194304ULL,\n\tREQ_F_SKIP_LINK_CQES = 8388608ULL,\n\tREQ_F_SINGLE_POLL = 16777216ULL,\n\tREQ_F_DOUBLE_POLL = 33554432ULL,\n\tREQ_F_APOLL_MULTISHOT = 67108864ULL,\n\tREQ_F_CLEAR_POLLIN = 134217728ULL,\n\tREQ_F_POLL_NO_LAZY = 1073741824ULL,\n\tREQ_F_CAN_POLL = 2147483648ULL,\n\tREQ_F_BL_EMPTY = 4294967296ULL,\n\tREQ_F_BL_NO_RECYCLE = 8589934592ULL,\n\tREQ_F_BUFFERS_COMMIT = 17179869184ULL,\n\tREQ_F_BUF_NODE = 34359738368ULL,\n\tREQ_F_HAS_METADATA = 68719476736ULL,\n};\n\nenum {\n\tREQ_F_FIXED_FILE_BIT = 0,\n\tREQ_F_IO_DRAIN_BIT = 1,\n\tREQ_F_LINK_BIT = 2,\n\tREQ_F_HARDLINK_BIT = 3,\n\tREQ_F_FORCE_ASYNC_BIT = 4,\n\tREQ_F_BUFFER_SELECT_BIT = 5,\n\tREQ_F_CQE_SKIP_BIT = 6,\n\tREQ_F_FAIL_BIT = 8,\n\tREQ_F_INFLIGHT_BIT = 9,\n\tREQ_F_CUR_POS_BIT = 10,\n\tREQ_F_NOWAIT_BIT = 11,\n\tREQ_F_LINK_TIMEOUT_BIT = 12,\n\tREQ_F_NEED_CLEANUP_BIT = 13,\n\tREQ_F_POLLED_BIT = 14,\n\tREQ_F_HYBRID_IOPOLL_STATE_BIT = 15,\n\tREQ_F_BUFFER_SELECTED_BIT = 16,\n\tREQ_F_BUFFER_RING_BIT = 17,\n\tREQ_F_REISSUE_BIT = 18,\n\tREQ_F_CREDS_BIT = 19,\n\tREQ_F_REFCOUNT_BIT = 20,\n\tREQ_F_ARM_LTIMEOUT_BIT = 21,\n\tREQ_F_ASYNC_DATA_BIT = 22,\n\tREQ_F_SKIP_LINK_CQES_BIT = 23,\n\tREQ_F_SINGLE_POLL_BIT = 24,\n\tREQ_F_DOUBLE_POLL_BIT = 25,\n\tREQ_F_APOLL_MULTISHOT_BIT = 26,\n\tREQ_F_CLEAR_POLLIN_BIT = 27,\n\tREQ_F_SUPPORT_NOWAIT_BIT = 28,\n\tREQ_F_ISREG_BIT = 29,\n\tREQ_F_POLL_NO_LAZY_BIT = 30,\n\tREQ_F_CAN_POLL_BIT = 31,\n\tREQ_F_BL_EMPTY_BIT = 32,\n\tREQ_F_BL_NO_RECYCLE_BIT = 33,\n\tREQ_F_BUFFERS_COMMIT_BIT = 34,\n\tREQ_F_BUF_NODE_BIT = 35,\n\tREQ_F_HAS_METADATA_BIT = 36,\n\t__REQ_F_LAST_BIT = 37,\n};\n\nenum {\n\tRES_USAGE = 0,\n\tRES_RSVD_USAGE = 1,\n\tRES_LIMIT = 2,\n\tRES_RSVD_LIMIT = 3,\n\tRES_MAX_USAGE = 4,\n\tRES_RSVD_MAX_USAGE = 5,\n\tRES_FAILCNT = 6,\n\tRES_RSVD_FAILCNT = 7,\n};\n\nenum {\n\tRPCAUTH_info = 0,\n\tRPCAUTH_EOF = 1,\n};\n\nenum {\n\tRPCAUTH_lockd = 0,\n\tRPCAUTH_mount = 1,\n\tRPCAUTH_nfs = 2,\n\tRPCAUTH_portmap = 3,\n\tRPCAUTH_statd = 4,\n\tRPCAUTH_nfsd4_cb = 5,\n\tRPCAUTH_cache = 6,\n\tRPCAUTH_nfsd = 7,\n\tRPCAUTH_gssd = 8,\n\tRPCAUTH_RootEOF = 9,\n};\n\nenum {\n\tRPCBPROC_NULL = 0,\n\tRPCBPROC_SET = 1,\n\tRPCBPROC_UNSET = 2,\n\tRPCBPROC_GETPORT = 3,\n\tRPCBPROC_GETADDR = 3,\n\tRPCBPROC_DUMP = 4,\n\tRPCBPROC_CALLIT = 5,\n\tRPCBPROC_BCAST = 5,\n\tRPCBPROC_GETTIME = 6,\n\tRPCBPROC_UADDR2TADDR = 7,\n\tRPCBPROC_TADDR2UADDR = 8,\n\tRPCBPROC_GETVERSADDR = 9,\n\tRPCBPROC_INDIRECT = 10,\n\tRPCBPROC_GETADDRLIST = 11,\n\tRPCBPROC_GETSTAT = 12,\n};\n\nenum {\n\tRPC_PIPEFS_MOUNT = 0,\n\tRPC_PIPEFS_UMOUNT = 1,\n};\n\nenum {\n\tRPC_TASK_RUNNING = 0,\n\tRPC_TASK_QUEUED = 1,\n\tRPC_TASK_ACTIVE = 2,\n\tRPC_TASK_NEED_XMIT = 3,\n\tRPC_TASK_NEED_RECV = 4,\n\tRPC_TASK_MSG_PIN_WAIT = 5,\n};\n\nenum {\n\tRQ_SECURE = 0,\n\tRQ_LOCAL = 1,\n\tRQ_USEDEFERRAL = 2,\n\tRQ_DROPME = 3,\n\tRQ_VICTIM = 4,\n\tRQ_DATA = 5,\n};\n\nenum {\n\tRQ_WAIT_BUSY_PCT = 5,\n\tUNBUSY_THR_PCT = 75,\n\tMIN_DELAY_THR_PCT = 500,\n\tMAX_DELAY_THR_PCT = 25000,\n\tMIN_DELAY = 250,\n\tMAX_DELAY = 250000,\n\tDFGV_USAGE_PCT = 50,\n\tDFGV_PERIOD = 100000,\n\tMAX_LAGGING_PERIODS = 10,\n\tIOC_PAGE_SHIFT = 12,\n\tIOC_PAGE_SIZE = 4096,\n\tIOC_SECT_TO_PAGE_SHIFT = 3,\n\tLCOEF_RANDIO_PAGES = 4096,\n};\n\nenum {\n\tRTAX_UNSPEC = 0,\n\tRTAX_LOCK = 1,\n\tRTAX_MTU = 2,\n\tRTAX_WINDOW = 3,\n\tRTAX_RTT = 4,\n\tRTAX_RTTVAR = 5,\n\tRTAX_SSTHRESH = 6,\n\tRTAX_CWND = 7,\n\tRTAX_ADVMSS = 8,\n\tRTAX_REORDERING = 9,\n\tRTAX_HOPLIMIT = 10,\n\tRTAX_INITCWND = 11,\n\tRTAX_FEATURES = 12,\n\tRTAX_RTO_MIN = 13,\n\tRTAX_INITRWND = 14,\n\tRTAX_QUICKACK = 15,\n\tRTAX_CC_ALGO = 16,\n\tRTAX_FASTOPEN_NO_COOKIE = 17,\n\t__RTAX_MAX = 18,\n};\n\nenum {\n\tRTM_BASE = 16,\n\tRTM_NEWLINK = 16,\n\tRTM_DELLINK = 17,\n\tRTM_GETLINK = 18,\n\tRTM_SETLINK = 19,\n\tRTM_NEWADDR = 20,\n\tRTM_DELADDR = 21,\n\tRTM_GETADDR = 22,\n\tRTM_NEWROUTE = 24,\n\tRTM_DELROUTE = 25,\n\tRTM_GETROUTE = 26,\n\tRTM_NEWNEIGH = 28,\n\tRTM_DELNEIGH = 29,\n\tRTM_GETNEIGH = 30,\n\tRTM_NEWRULE = 32,\n\tRTM_DELRULE = 33,\n\tRTM_GETRULE = 34,\n\tRTM_NEWQDISC = 36,\n\tRTM_DELQDISC = 37,\n\tRTM_GETQDISC = 38,\n\tRTM_NEWTCLASS = 40,\n\tRTM_DELTCLASS = 41,\n\tRTM_GETTCLASS = 42,\n\tRTM_NEWTFILTER = 44,\n\tRTM_DELTFILTER = 45,\n\tRTM_GETTFILTER = 46,\n\tRTM_NEWACTION = 48,\n\tRTM_DELACTION = 49,\n\tRTM_GETACTION = 50,\n\tRTM_NEWPREFIX = 52,\n\tRTM_NEWMULTICAST = 56,\n\tRTM_DELMULTICAST = 57,\n\tRTM_GETMULTICAST = 58,\n\tRTM_NEWANYCAST = 60,\n\tRTM_DELANYCAST = 61,\n\tRTM_GETANYCAST = 62,\n\tRTM_NEWNEIGHTBL = 64,\n\tRTM_GETNEIGHTBL = 66,\n\tRTM_SETNEIGHTBL = 67,\n\tRTM_NEWNDUSEROPT = 68,\n\tRTM_NEWADDRLABEL = 72,\n\tRTM_DELADDRLABEL = 73,\n\tRTM_GETADDRLABEL = 74,\n\tRTM_GETDCB = 78,\n\tRTM_SETDCB = 79,\n\tRTM_NEWNETCONF = 80,\n\tRTM_DELNETCONF = 81,\n\tRTM_GETNETCONF = 82,\n\tRTM_NEWMDB = 84,\n\tRTM_DELMDB = 85,\n\tRTM_GETMDB = 86,\n\tRTM_NEWNSID = 88,\n\tRTM_DELNSID = 89,\n\tRTM_GETNSID = 90,\n\tRTM_NEWSTATS = 92,\n\tRTM_GETSTATS = 94,\n\tRTM_SETSTATS = 95,\n\tRTM_NEWCACHEREPORT = 96,\n\tRTM_NEWCHAIN = 100,\n\tRTM_DELCHAIN = 101,\n\tRTM_GETCHAIN = 102,\n\tRTM_NEWNEXTHOP = 104,\n\tRTM_DELNEXTHOP = 105,\n\tRTM_GETNEXTHOP = 106,\n\tRTM_NEWLINKPROP = 108,\n\tRTM_DELLINKPROP = 109,\n\tRTM_GETLINKPROP = 110,\n\tRTM_NEWVLAN = 112,\n\tRTM_DELVLAN = 113,\n\tRTM_GETVLAN = 114,\n\tRTM_NEWNEXTHOPBUCKET = 116,\n\tRTM_DELNEXTHOPBUCKET = 117,\n\tRTM_GETNEXTHOPBUCKET = 118,\n\tRTM_NEWTUNNEL = 120,\n\tRTM_DELTUNNEL = 121,\n\tRTM_GETTUNNEL = 122,\n\t__RTM_MAX = 123,\n};\n\nenum {\n\tRTN_UNSPEC = 0,\n\tRTN_UNICAST = 1,\n\tRTN_LOCAL = 2,\n\tRTN_BROADCAST = 3,\n\tRTN_ANYCAST = 4,\n\tRTN_MULTICAST = 5,\n\tRTN_BLACKHOLE = 6,\n\tRTN_UNREACHABLE = 7,\n\tRTN_PROHIBIT = 8,\n\tRTN_THROW = 9,\n\tRTN_NAT = 10,\n\tRTN_XRESOLVE = 11,\n\t__RTN_MAX = 12,\n};\n\nenum {\n\tRWB_DEF_DEPTH = 16,\n\tRWB_WINDOW_NSEC = 100000000,\n\tRWB_MIN_WRITE_SAMPLES = 3,\n\tRWB_UNKNOWN_BUMP = 5,\n};\n\nenum {\n\tRoot_NFS = 255,\n\tRoot_CIFS = 254,\n\tRoot_Generic = 253,\n\tRoot_RAM0 = 1048576,\n};\n\nenum {\n\tRworksched = 1,\n\tRpending = 2,\n\tWworksched = 4,\n\tWpending = 8,\n};\n\nenum {\n\tSAS_DATAPRES_NO_DATA = 0,\n\tSAS_DATAPRES_RESPONSE_DATA = 1,\n\tSAS_DATAPRES_SENSE_DATA = 2,\n};\n\nenum {\n\tSAS_DEV_GONE = 0,\n\tSAS_DEV_FOUND = 1,\n\tSAS_DEV_DESTROY = 2,\n\tSAS_DEV_EH_PENDING = 3,\n\tSAS_DEV_LU_RESET = 4,\n\tSAS_DEV_RESET = 5,\n};\n\nenum {\n\tSB_UNFROZEN = 0,\n\tSB_FREEZE_WRITE = 1,\n\tSB_FREEZE_PAGEFAULT = 2,\n\tSB_FREEZE_FS = 3,\n\tSB_FREEZE_COMPLETE = 4,\n};\n\nenum {\n\tSCM_TSTAMP_SND = 0,\n\tSCM_TSTAMP_SCHED = 1,\n\tSCM_TSTAMP_ACK = 2,\n};\n\nenum {\n\tSCTP_AUTH_HMAC_ID_RESERVED_0 = 0,\n\tSCTP_AUTH_HMAC_ID_SHA1 = 1,\n\tSCTP_AUTH_HMAC_ID_RESERVED_2 = 2,\n\tSCTP_AUTH_HMAC_ID_SHA256 = 3,\n\t__SCTP_AUTH_HMAC_MAX = 4,\n};\n\nenum {\n\tSCTP_MAX_DUP_TSNS = 16,\n};\n\nenum {\n\tSCTP_MAX_STREAM = 65535,\n};\n\nenum {\n\tSD_BALANCE_NEWIDLE = 1,\n\tSD_BALANCE_EXEC = 2,\n\tSD_BALANCE_FORK = 4,\n\tSD_BALANCE_WAKE = 8,\n\tSD_WAKE_AFFINE = 16,\n\tSD_ASYM_CPUCAPACITY = 32,\n\tSD_ASYM_CPUCAPACITY_FULL = 64,\n\tSD_SHARE_CPUCAPACITY = 128,\n\tSD_CLUSTER = 256,\n\tSD_SHARE_LLC = 512,\n\tSD_SERIALIZE = 1024,\n\tSD_ASYM_PACKING = 2048,\n\tSD_PREFER_SIBLING = 4096,\n\tSD_OVERLAP = 8192,\n\tSD_NUMA = 16384,\n};\n\nenum {\n\tSD_DEF_XFER_BLOCKS = 65535,\n\tSD_MAX_XFER_BLOCKS = 4294967295,\n\tSD_MAX_WS10_BLOCKS = 65535,\n\tSD_MAX_WS16_BLOCKS = 8388607,\n};\n\nenum {\n\tSD_EXT_CDB_SIZE = 32,\n\tSD_MEMPOOL_SIZE = 2,\n};\n\nenum {\n\tSD_LBP_FULL = 0,\n\tSD_LBP_UNMAP = 1,\n\tSD_LBP_WS16 = 2,\n\tSD_LBP_WS10 = 3,\n\tSD_LBP_ZERO = 4,\n\tSD_LBP_DISABLE = 5,\n};\n\nenum {\n\tSD_ZERO_WRITE = 0,\n\tSD_ZERO_WS = 1,\n\tSD_ZERO_WS16_UNMAP = 2,\n\tSD_ZERO_WS10_UNMAP = 3,\n};\n\nenum {\n\tSECTION_MARKED_PRESENT_BIT = 0,\n\tSECTION_HAS_MEM_MAP_BIT = 1,\n\tSECTION_IS_ONLINE_BIT = 2,\n\tSECTION_IS_EARLY_BIT = 3,\n\tSECTION_MAP_LAST_BIT = 4,\n};\n\nenum {\n\tSEG6_ATTR_UNSPEC = 0,\n\tSEG6_ATTR_DST = 1,\n\tSEG6_ATTR_DSTLEN = 2,\n\tSEG6_ATTR_HMACKEYID = 3,\n\tSEG6_ATTR_SECRET = 4,\n\tSEG6_ATTR_SECRETLEN = 5,\n\tSEG6_ATTR_ALGID = 6,\n\tSEG6_ATTR_HMACINFO = 7,\n\t__SEG6_ATTR_MAX = 8,\n};\n\nenum {\n\tSEG6_CMD_UNSPEC = 0,\n\tSEG6_CMD_SETHMAC = 1,\n\tSEG6_CMD_DUMPHMAC = 2,\n\tSEG6_CMD_SET_TUNSRC = 3,\n\tSEG6_CMD_GET_TUNSRC = 4,\n\t__SEG6_CMD_MAX = 5,\n};\n\nenum {\n\tSELNL_MSG_SETENFORCE = 16,\n\tSELNL_MSG_POLICYLOAD = 17,\n\tSELNL_MSG_MAX = 18,\n};\n\nenum {\n\tSFF8024_ID_UNK = 0,\n\tSFF8024_ID_SFF_8472 = 2,\n\tSFF8024_ID_SFP = 3,\n\tSFF8024_ID_DWDM_SFP = 11,\n\tSFF8024_ID_QSFP_8438 = 12,\n\tSFF8024_ID_QSFP_8436_8636 = 13,\n\tSFF8024_ID_QSFP28_8636 = 17,\n\tSFF8024_ID_QSFP_DD = 24,\n\tSFF8024_ID_OSFP = 25,\n\tSFF8024_ID_DSFP = 27,\n\tSFF8024_ID_QSFP_PLUS_CMIS = 30,\n\tSFF8024_ID_SFP_DD_CMIS = 31,\n\tSFF8024_ID_SFP_PLUS_CMIS = 32,\n\tSFF8024_ENCODING_UNSPEC = 0,\n\tSFF8024_ENCODING_8B10B = 1,\n\tSFF8024_ENCODING_4B5B = 2,\n\tSFF8024_ENCODING_NRZ = 3,\n\tSFF8024_ENCODING_8472_MANCHESTER = 4,\n\tSFF8024_ENCODING_8472_SONET = 5,\n\tSFF8024_ENCODING_8472_64B66B = 6,\n\tSFF8024_ENCODING_8436_MANCHESTER = 6,\n\tSFF8024_ENCODING_8436_SONET = 4,\n\tSFF8024_ENCODING_8436_64B66B = 5,\n\tSFF8024_ENCODING_256B257B = 7,\n\tSFF8024_ENCODING_PAM4 = 8,\n\tSFF8024_CONNECTOR_UNSPEC = 0,\n\tSFF8024_CONNECTOR_SC = 1,\n\tSFF8024_CONNECTOR_FIBERJACK = 6,\n\tSFF8024_CONNECTOR_LC = 7,\n\tSFF8024_CONNECTOR_MT_RJ = 8,\n\tSFF8024_CONNECTOR_MU = 9,\n\tSFF8024_CONNECTOR_SG = 10,\n\tSFF8024_CONNECTOR_OPTICAL_PIGTAIL = 11,\n\tSFF8024_CONNECTOR_MPO_1X12 = 12,\n\tSFF8024_CONNECTOR_MPO_2X16 = 13,\n\tSFF8024_CONNECTOR_HSSDC_II = 32,\n\tSFF8024_CONNECTOR_COPPER_PIGTAIL = 33,\n\tSFF8024_CONNECTOR_RJ45 = 34,\n\tSFF8024_CONNECTOR_NOSEPARATE = 35,\n\tSFF8024_CONNECTOR_MXC_2X16 = 36,\n\tSFF8024_ECC_UNSPEC = 0,\n\tSFF8024_ECC_100G_25GAUI_C2M_AOC = 1,\n\tSFF8024_ECC_100GBASE_SR4_25GBASE_SR = 2,\n\tSFF8024_ECC_100GBASE_LR4_25GBASE_LR = 3,\n\tSFF8024_ECC_100GBASE_ER4_25GBASE_ER = 4,\n\tSFF8024_ECC_100GBASE_SR10 = 5,\n\tSFF8024_ECC_100GBASE_CR4 = 11,\n\tSFF8024_ECC_25GBASE_CR_S = 12,\n\tSFF8024_ECC_25GBASE_CR_N = 13,\n\tSFF8024_ECC_10GBASE_T_SFI = 22,\n\tSFF8024_ECC_10GBASE_T_SR = 28,\n\tSFF8024_ECC_5GBASE_T = 29,\n\tSFF8024_ECC_2_5GBASE_T = 30,\n};\n\nenum {\n\tSFP_PHYS_ID = 0,\n\tSFP_PHYS_EXT_ID = 1,\n\tSFP_PHYS_EXT_ID_SFP = 4,\n\tSFP_CONNECTOR = 2,\n\tSFP_COMPLIANCE = 3,\n\tSFP_ENCODING = 11,\n\tSFP_BR_NOMINAL = 12,\n\tSFP_RATE_ID = 13,\n\tSFF_RID_8079 = 1,\n\tSFF_RID_8431_RX_ONLY = 2,\n\tSFF_RID_8431_TX_ONLY = 4,\n\tSFF_RID_8431 = 6,\n\tSFF_RID_10G8G = 14,\n\tSFP_LINK_LEN_SM_KM = 14,\n\tSFP_LINK_LEN_SM_100M = 15,\n\tSFP_LINK_LEN_50UM_OM2_10M = 16,\n\tSFP_LINK_LEN_62_5UM_OM1_10M = 17,\n\tSFP_LINK_LEN_COPPER_1M = 18,\n\tSFP_LINK_LEN_50UM_OM4_10M = 18,\n\tSFP_LINK_LEN_50UM_OM3_10M = 19,\n\tSFP_VENDOR_NAME = 20,\n\tSFP_VENDOR_OUI = 37,\n\tSFP_VENDOR_PN = 40,\n\tSFP_VENDOR_REV = 56,\n\tSFP_OPTICAL_WAVELENGTH_MSB = 60,\n\tSFP_OPTICAL_WAVELENGTH_LSB = 61,\n\tSFP_CABLE_SPEC = 60,\n\tSFP_CC_BASE = 63,\n\tSFP_OPTIONS = 64,\n\tSFP_OPTIONS_HIGH_POWER_LEVEL = 8192,\n\tSFP_OPTIONS_PAGING_A2 = 4096,\n\tSFP_OPTIONS_RETIMER = 2048,\n\tSFP_OPTIONS_COOLED_XCVR = 1024,\n\tSFP_OPTIONS_POWER_DECL = 512,\n\tSFP_OPTIONS_RX_LINEAR_OUT = 256,\n\tSFP_OPTIONS_RX_DECISION_THRESH = 128,\n\tSFP_OPTIONS_TUNABLE_TX = 64,\n\tSFP_OPTIONS_RATE_SELECT = 32,\n\tSFP_OPTIONS_TX_DISABLE = 16,\n\tSFP_OPTIONS_TX_FAULT = 8,\n\tSFP_OPTIONS_LOS_INVERTED = 4,\n\tSFP_OPTIONS_LOS_NORMAL = 2,\n\tSFP_BR_MAX = 66,\n\tSFP_BR_MIN = 67,\n\tSFP_VENDOR_SN = 68,\n\tSFP_DATECODE = 84,\n\tSFP_DIAGMON = 92,\n\tSFP_DIAGMON_DDM = 64,\n\tSFP_DIAGMON_INT_CAL = 32,\n\tSFP_DIAGMON_EXT_CAL = 16,\n\tSFP_DIAGMON_RXPWR_AVG = 8,\n\tSFP_DIAGMON_ADDRMODE = 4,\n\tSFP_ENHOPTS = 93,\n\tSFP_ENHOPTS_ALARMWARN = 128,\n\tSFP_ENHOPTS_SOFT_TX_DISABLE = 64,\n\tSFP_ENHOPTS_SOFT_TX_FAULT = 32,\n\tSFP_ENHOPTS_SOFT_RX_LOS = 16,\n\tSFP_ENHOPTS_SOFT_RATE_SELECT = 8,\n\tSFP_ENHOPTS_APP_SELECT_SFF8079 = 4,\n\tSFP_ENHOPTS_SOFT_RATE_SFF8431 = 2,\n\tSFP_SFF8472_COMPLIANCE = 94,\n\tSFP_SFF8472_COMPLIANCE_NONE = 0,\n\tSFP_SFF8472_COMPLIANCE_REV9_3 = 1,\n\tSFP_SFF8472_COMPLIANCE_REV9_5 = 2,\n\tSFP_SFF8472_COMPLIANCE_REV10_2 = 3,\n\tSFP_SFF8472_COMPLIANCE_REV10_4 = 4,\n\tSFP_SFF8472_COMPLIANCE_REV11_0 = 5,\n\tSFP_SFF8472_COMPLIANCE_REV11_3 = 6,\n\tSFP_SFF8472_COMPLIANCE_REV11_4 = 7,\n\tSFP_SFF8472_COMPLIANCE_REV12_0 = 8,\n\tSFP_CC_EXT = 95,\n};\n\nenum {\n\tSFP_TEMP_HIGH_ALARM = 0,\n\tSFP_TEMP_LOW_ALARM = 2,\n\tSFP_TEMP_HIGH_WARN = 4,\n\tSFP_TEMP_LOW_WARN = 6,\n\tSFP_VOLT_HIGH_ALARM = 8,\n\tSFP_VOLT_LOW_ALARM = 10,\n\tSFP_VOLT_HIGH_WARN = 12,\n\tSFP_VOLT_LOW_WARN = 14,\n\tSFP_BIAS_HIGH_ALARM = 16,\n\tSFP_BIAS_LOW_ALARM = 18,\n\tSFP_BIAS_HIGH_WARN = 20,\n\tSFP_BIAS_LOW_WARN = 22,\n\tSFP_TXPWR_HIGH_ALARM = 24,\n\tSFP_TXPWR_LOW_ALARM = 26,\n\tSFP_TXPWR_HIGH_WARN = 28,\n\tSFP_TXPWR_LOW_WARN = 30,\n\tSFP_RXPWR_HIGH_ALARM = 32,\n\tSFP_RXPWR_LOW_ALARM = 34,\n\tSFP_RXPWR_HIGH_WARN = 36,\n\tSFP_RXPWR_LOW_WARN = 38,\n\tSFP_LASER_TEMP_HIGH_ALARM = 40,\n\tSFP_LASER_TEMP_LOW_ALARM = 42,\n\tSFP_LASER_TEMP_HIGH_WARN = 44,\n\tSFP_LASER_TEMP_LOW_WARN = 46,\n\tSFP_TEC_CUR_HIGH_ALARM = 48,\n\tSFP_TEC_CUR_LOW_ALARM = 50,\n\tSFP_TEC_CUR_HIGH_WARN = 52,\n\tSFP_TEC_CUR_LOW_WARN = 54,\n\tSFP_CAL_RXPWR4 = 56,\n\tSFP_CAL_RXPWR3 = 60,\n\tSFP_CAL_RXPWR2 = 64,\n\tSFP_CAL_RXPWR1 = 68,\n\tSFP_CAL_RXPWR0 = 72,\n\tSFP_CAL_TXI_SLOPE = 76,\n\tSFP_CAL_TXI_OFFSET = 78,\n\tSFP_CAL_TXPWR_SLOPE = 80,\n\tSFP_CAL_TXPWR_OFFSET = 82,\n\tSFP_CAL_T_SLOPE = 84,\n\tSFP_CAL_T_OFFSET = 86,\n\tSFP_CAL_V_SLOPE = 88,\n\tSFP_CAL_V_OFFSET = 90,\n\tSFP_CHKSUM = 95,\n\tSFP_TEMP = 96,\n\tSFP_VCC = 98,\n\tSFP_TX_BIAS = 100,\n\tSFP_TX_POWER = 102,\n\tSFP_RX_POWER = 104,\n\tSFP_LASER_TEMP = 106,\n\tSFP_TEC_CUR = 108,\n\tSFP_STATUS = 110,\n\tSFP_STATUS_TX_DISABLE = 128,\n\tSFP_STATUS_TX_DISABLE_FORCE = 64,\n\tSFP_STATUS_RS0_SELECT = 8,\n\tSFP_STATUS_TX_FAULT = 4,\n\tSFP_STATUS_RX_LOS = 2,\n\tSFP_ALARM0 = 112,\n\tSFP_ALARM0_TEMP_HIGH = 128,\n\tSFP_ALARM0_TEMP_LOW = 64,\n\tSFP_ALARM0_VCC_HIGH = 32,\n\tSFP_ALARM0_VCC_LOW = 16,\n\tSFP_ALARM0_TX_BIAS_HIGH = 8,\n\tSFP_ALARM0_TX_BIAS_LOW = 4,\n\tSFP_ALARM0_TXPWR_HIGH = 2,\n\tSFP_ALARM0_TXPWR_LOW = 1,\n\tSFP_ALARM1 = 113,\n\tSFP_ALARM1_RXPWR_HIGH = 128,\n\tSFP_ALARM1_RXPWR_LOW = 64,\n\tSFP_WARN0 = 116,\n\tSFP_WARN0_TEMP_HIGH = 128,\n\tSFP_WARN0_TEMP_LOW = 64,\n\tSFP_WARN0_VCC_HIGH = 32,\n\tSFP_WARN0_VCC_LOW = 16,\n\tSFP_WARN0_TX_BIAS_HIGH = 8,\n\tSFP_WARN0_TX_BIAS_LOW = 4,\n\tSFP_WARN0_TXPWR_HIGH = 2,\n\tSFP_WARN0_TXPWR_LOW = 1,\n\tSFP_WARN1 = 117,\n\tSFP_WARN1_RXPWR_HIGH = 128,\n\tSFP_WARN1_RXPWR_LOW = 64,\n\tSFP_EXT_STATUS = 118,\n\tSFP_EXT_STATUS_RS1_SELECT = 8,\n\tSFP_EXT_STATUS_PWRLVL_SELECT = 1,\n\tSFP_VSL = 120,\n\tSFP_PAGE = 127,\n};\n\nenum {\n\tSILENT_STREAM_OFF = 0,\n\tSILENT_STREAM_KAE = 1,\n\tSILENT_STREAM_I915 = 2,\n};\n\nenum {\n\tSKBFL_ZEROCOPY_ENABLE = 1,\n\tSKBFL_SHARED_FRAG = 2,\n\tSKBFL_PURE_ZEROCOPY = 4,\n\tSKBFL_DONT_ORPHAN = 8,\n\tSKBFL_MANAGED_FRAG_REFS = 16,\n};\n\nenum {\n\tSKBTX_HW_TSTAMP = 1,\n\tSKBTX_SW_TSTAMP = 2,\n\tSKBTX_IN_PROGRESS = 4,\n\tSKBTX_HW_TSTAMP_USE_CYCLES = 8,\n\tSKBTX_WIFI_STATUS = 16,\n\tSKBTX_HW_TSTAMP_NETDEV = 32,\n\tSKBTX_SCHED_TSTAMP = 64,\n};\n\nenum {\n\tSKB_FCLONE_UNAVAILABLE = 0,\n\tSKB_FCLONE_ORIG = 1,\n\tSKB_FCLONE_CLONE = 2,\n};\n\nenum {\n\tSKB_GSO_TCPV4 = 1,\n\tSKB_GSO_DODGY = 2,\n\tSKB_GSO_TCP_ECN = 4,\n\tSKB_GSO_TCP_FIXEDID = 8,\n\tSKB_GSO_TCPV6 = 16,\n\tSKB_GSO_FCOE = 32,\n\tSKB_GSO_GRE = 64,\n\tSKB_GSO_GRE_CSUM = 128,\n\tSKB_GSO_IPXIP4 = 256,\n\tSKB_GSO_IPXIP6 = 512,\n\tSKB_GSO_UDP_TUNNEL = 1024,\n\tSKB_GSO_UDP_TUNNEL_CSUM = 2048,\n\tSKB_GSO_PARTIAL = 4096,\n\tSKB_GSO_TUNNEL_REMCSUM = 8192,\n\tSKB_GSO_SCTP = 16384,\n\tSKB_GSO_ESP = 32768,\n\tSKB_GSO_UDP = 65536,\n\tSKB_GSO_UDP_L4 = 131072,\n\tSKB_GSO_FRAGLIST = 262144,\n};\n\nenum {\n\tSKCIPHER_WALK_SLOW = 1,\n\tSKCIPHER_WALK_COPY = 2,\n\tSKCIPHER_WALK_DIFF = 4,\n\tSKCIPHER_WALK_SLEEP = 8,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_NONE = 0,\n\tSK_DIAG_BPF_STORAGE_PAD = 1,\n\tSK_DIAG_BPF_STORAGE_MAP_ID = 2,\n\tSK_DIAG_BPF_STORAGE_MAP_VALUE = 3,\n\t__SK_DIAG_BPF_STORAGE_MAX = 4,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_REP_NONE = 0,\n\tSK_DIAG_BPF_STORAGE = 1,\n\t__SK_DIAG_BPF_STORAGE_REP_MAX = 2,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_REQ_NONE = 0,\n\tSK_DIAG_BPF_STORAGE_REQ_MAP_FD = 1,\n\t__SK_DIAG_BPF_STORAGE_REQ_MAX = 2,\n};\n\nenum {\n\tSK_MEMINFO_RMEM_ALLOC = 0,\n\tSK_MEMINFO_RCVBUF = 1,\n\tSK_MEMINFO_WMEM_ALLOC = 2,\n\tSK_MEMINFO_SNDBUF = 3,\n\tSK_MEMINFO_FWD_ALLOC = 4,\n\tSK_MEMINFO_WMEM_QUEUED = 5,\n\tSK_MEMINFO_OPTMEM = 6,\n\tSK_MEMINFO_BACKLOG = 7,\n\tSK_MEMINFO_DROPS = 8,\n\tSK_MEMINFO_VARS = 9,\n};\n\nenum {\n\tSNDRV_CHMAP_UNKNOWN = 0,\n\tSNDRV_CHMAP_NA = 1,\n\tSNDRV_CHMAP_MONO = 2,\n\tSNDRV_CHMAP_FL = 3,\n\tSNDRV_CHMAP_FR = 4,\n\tSNDRV_CHMAP_RL = 5,\n\tSNDRV_CHMAP_RR = 6,\n\tSNDRV_CHMAP_FC = 7,\n\tSNDRV_CHMAP_LFE = 8,\n\tSNDRV_CHMAP_SL = 9,\n\tSNDRV_CHMAP_SR = 10,\n\tSNDRV_CHMAP_RC = 11,\n\tSNDRV_CHMAP_FLC = 12,\n\tSNDRV_CHMAP_FRC = 13,\n\tSNDRV_CHMAP_RLC = 14,\n\tSNDRV_CHMAP_RRC = 15,\n\tSNDRV_CHMAP_FLW = 16,\n\tSNDRV_CHMAP_FRW = 17,\n\tSNDRV_CHMAP_FLH = 18,\n\tSNDRV_CHMAP_FCH = 19,\n\tSNDRV_CHMAP_FRH = 20,\n\tSNDRV_CHMAP_TC = 21,\n\tSNDRV_CHMAP_TFL = 22,\n\tSNDRV_CHMAP_TFR = 23,\n\tSNDRV_CHMAP_TFC = 24,\n\tSNDRV_CHMAP_TRL = 25,\n\tSNDRV_CHMAP_TRR = 26,\n\tSNDRV_CHMAP_TRC = 27,\n\tSNDRV_CHMAP_TFLC = 28,\n\tSNDRV_CHMAP_TFRC = 29,\n\tSNDRV_CHMAP_TSL = 30,\n\tSNDRV_CHMAP_TSR = 31,\n\tSNDRV_CHMAP_LLFE = 32,\n\tSNDRV_CHMAP_RLFE = 33,\n\tSNDRV_CHMAP_BC = 34,\n\tSNDRV_CHMAP_BLC = 35,\n\tSNDRV_CHMAP_BRC = 36,\n\tSNDRV_CHMAP_LAST = 36,\n};\n\nenum {\n\tSNDRV_CTL_TLV_OP_READ = 0,\n\tSNDRV_CTL_TLV_OP_WRITE = 1,\n\tSNDRV_CTL_TLV_OP_CMD = -1,\n};\n\nenum {\n\tSNDRV_DEVICE_TYPE_CONTROL = 0,\n\tSNDRV_DEVICE_TYPE_SEQUENCER = 1,\n\tSNDRV_DEVICE_TYPE_TIMER = 2,\n\tSNDRV_DEVICE_TYPE_HWDEP = 3,\n\tSNDRV_DEVICE_TYPE_RAWMIDI = 4,\n\tSNDRV_DEVICE_TYPE_PCM_PLAYBACK = 5,\n\tSNDRV_DEVICE_TYPE_PCM_CAPTURE = 6,\n\tSNDRV_DEVICE_TYPE_COMPRESS = 7,\n};\n\nenum {\n\tSNDRV_HWDEP_IFACE_OPL2 = 0,\n\tSNDRV_HWDEP_IFACE_OPL3 = 1,\n\tSNDRV_HWDEP_IFACE_OPL4 = 2,\n\tSNDRV_HWDEP_IFACE_SB16CSP = 3,\n\tSNDRV_HWDEP_IFACE_EMU10K1 = 4,\n\tSNDRV_HWDEP_IFACE_YSS225 = 5,\n\tSNDRV_HWDEP_IFACE_ICS2115 = 6,\n\tSNDRV_HWDEP_IFACE_SSCAPE = 7,\n\tSNDRV_HWDEP_IFACE_VX = 8,\n\tSNDRV_HWDEP_IFACE_MIXART = 9,\n\tSNDRV_HWDEP_IFACE_USX2Y = 10,\n\tSNDRV_HWDEP_IFACE_EMUX_WAVETABLE = 11,\n\tSNDRV_HWDEP_IFACE_BLUETOOTH = 12,\n\tSNDRV_HWDEP_IFACE_USX2Y_PCM = 13,\n\tSNDRV_HWDEP_IFACE_PCXHR = 14,\n\tSNDRV_HWDEP_IFACE_SB_RC = 15,\n\tSNDRV_HWDEP_IFACE_HDA = 16,\n\tSNDRV_HWDEP_IFACE_USB_STREAM = 17,\n\tSNDRV_HWDEP_IFACE_FW_DICE = 18,\n\tSNDRV_HWDEP_IFACE_FW_FIREWORKS = 19,\n\tSNDRV_HWDEP_IFACE_FW_BEBOB = 20,\n\tSNDRV_HWDEP_IFACE_FW_OXFW = 21,\n\tSNDRV_HWDEP_IFACE_FW_DIGI00X = 22,\n\tSNDRV_HWDEP_IFACE_FW_TASCAM = 23,\n\tSNDRV_HWDEP_IFACE_LINE6 = 24,\n\tSNDRV_HWDEP_IFACE_FW_MOTU = 25,\n\tSNDRV_HWDEP_IFACE_FW_FIREFACE = 26,\n\tSNDRV_HWDEP_IFACE_LAST = 26,\n};\n\nenum {\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST = 5,\n};\n\nenum {\n\tSNDRV_PCM_CLASS_GENERIC = 0,\n\tSNDRV_PCM_CLASS_MULTI = 1,\n\tSNDRV_PCM_CLASS_MODEM = 2,\n\tSNDRV_PCM_CLASS_DIGITIZER = 3,\n\tSNDRV_PCM_CLASS_LAST = 3,\n};\n\nenum {\n\tSNDRV_PCM_MMAP_OFFSET_DATA = 0,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS = 2181038080,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL = 2197815296,\n};\n\nenum {\n\tSNDRV_PCM_STREAM_PLAYBACK = 0,\n\tSNDRV_PCM_STREAM_CAPTURE = 1,\n\tSNDRV_PCM_STREAM_LAST = 1,\n};\n\nenum {\n\tSNDRV_PCM_TSTAMP_NONE = 0,\n\tSNDRV_PCM_TSTAMP_ENABLE = 1,\n\tSNDRV_PCM_TSTAMP_LAST = 1,\n};\n\nenum {\n\tSNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0,\n\tSNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1,\n\tSNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2,\n\tSNDRV_PCM_TSTAMP_TYPE_LAST = 2,\n};\n\nenum {\n\tSNDRV_TIMER_CLASS_NONE = -1,\n\tSNDRV_TIMER_CLASS_SLAVE = 0,\n\tSNDRV_TIMER_CLASS_GLOBAL = 1,\n\tSNDRV_TIMER_CLASS_CARD = 2,\n\tSNDRV_TIMER_CLASS_PCM = 3,\n\tSNDRV_TIMER_CLASS_LAST = 3,\n};\n\nenum {\n\tSNDRV_TIMER_EVENT_RESOLUTION = 0,\n\tSNDRV_TIMER_EVENT_TICK = 1,\n\tSNDRV_TIMER_EVENT_START = 2,\n\tSNDRV_TIMER_EVENT_STOP = 3,\n\tSNDRV_TIMER_EVENT_CONTINUE = 4,\n\tSNDRV_TIMER_EVENT_PAUSE = 5,\n\tSNDRV_TIMER_EVENT_EARLY = 6,\n\tSNDRV_TIMER_EVENT_SUSPEND = 7,\n\tSNDRV_TIMER_EVENT_RESUME = 8,\n\tSNDRV_TIMER_EVENT_MSTART = 12,\n\tSNDRV_TIMER_EVENT_MSTOP = 13,\n\tSNDRV_TIMER_EVENT_MCONTINUE = 14,\n\tSNDRV_TIMER_EVENT_MPAUSE = 15,\n\tSNDRV_TIMER_EVENT_MSUSPEND = 17,\n\tSNDRV_TIMER_EVENT_MRESUME = 18,\n};\n\nenum {\n\tSNDRV_TIMER_IOCTL_START_OLD = 21536,\n\tSNDRV_TIMER_IOCTL_STOP_OLD = 21537,\n\tSNDRV_TIMER_IOCTL_CONTINUE_OLD = 21538,\n\tSNDRV_TIMER_IOCTL_PAUSE_OLD = 21539,\n};\n\nenum {\n\tSNDRV_TIMER_SCLASS_NONE = 0,\n\tSNDRV_TIMER_SCLASS_APPLICATION = 1,\n\tSNDRV_TIMER_SCLASS_SEQUENCER = 2,\n\tSNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3,\n\tSNDRV_TIMER_SCLASS_LAST = 3,\n};\n\nenum {\n\tSND_CTL_SUBDEV_PCM = 0,\n\tSND_CTL_SUBDEV_RAWMIDI = 1,\n\tSND_CTL_SUBDEV_ITEMS = 2,\n};\n\nenum {\n\tSND_INTEL_DSP_DRIVER_ANY = 0,\n\tSND_INTEL_DSP_DRIVER_LEGACY = 1,\n\tSND_INTEL_DSP_DRIVER_SST = 2,\n\tSND_INTEL_DSP_DRIVER_SOF = 3,\n\tSND_INTEL_DSP_DRIVER_AVS = 4,\n\tSND_INTEL_DSP_DRIVER_LAST = 4,\n};\n\nenum {\n\tSOCK_WAKE_IO = 0,\n\tSOCK_WAKE_WAITD = 1,\n\tSOCK_WAKE_SPACE = 2,\n\tSOCK_WAKE_URG = 3,\n};\n\nenum {\n\tSOF_TIMESTAMPING_TX_HARDWARE = 1,\n\tSOF_TIMESTAMPING_TX_SOFTWARE = 2,\n\tSOF_TIMESTAMPING_RX_HARDWARE = 4,\n\tSOF_TIMESTAMPING_RX_SOFTWARE = 8,\n\tSOF_TIMESTAMPING_SOFTWARE = 16,\n\tSOF_TIMESTAMPING_SYS_HARDWARE = 32,\n\tSOF_TIMESTAMPING_RAW_HARDWARE = 64,\n\tSOF_TIMESTAMPING_OPT_ID = 128,\n\tSOF_TIMESTAMPING_TX_SCHED = 256,\n\tSOF_TIMESTAMPING_TX_ACK = 512,\n\tSOF_TIMESTAMPING_OPT_CMSG = 1024,\n\tSOF_TIMESTAMPING_OPT_TSONLY = 2048,\n\tSOF_TIMESTAMPING_OPT_STATS = 4096,\n\tSOF_TIMESTAMPING_OPT_PKTINFO = 8192,\n\tSOF_TIMESTAMPING_OPT_TX_SWHW = 16384,\n\tSOF_TIMESTAMPING_BIND_PHC = 32768,\n\tSOF_TIMESTAMPING_OPT_ID_TCP = 65536,\n\tSOF_TIMESTAMPING_OPT_RX_FILTER = 131072,\n\tSOF_TIMESTAMPING_LAST = 131072,\n\tSOF_TIMESTAMPING_MASK = 262143,\n};\n\nenum {\n\tSP_TASK_PENDING = 0,\n\tSP_NEED_VICTIM = 1,\n\tSP_VICTIM_REMAINS = 2,\n};\n\nenum {\n\tSTAC_9205_REF = 0,\n\tSTAC_9205_DELL_M42 = 1,\n\tSTAC_9205_DELL_M43 = 2,\n\tSTAC_9205_DELL_M44 = 3,\n\tSTAC_9205_EAPD = 4,\n\tSTAC_9205_MODELS = 5,\n};\n\nenum {\n\tSTAC_925x_REF = 0,\n\tSTAC_M1 = 1,\n\tSTAC_M1_2 = 2,\n\tSTAC_M2 = 3,\n\tSTAC_M2_2 = 4,\n\tSTAC_M3 = 5,\n\tSTAC_M5 = 6,\n\tSTAC_M6 = 7,\n\tSTAC_925x_MODELS = 8,\n};\n\nenum {\n\tSTAC_92HD71BXX_REF = 0,\n\tSTAC_DELL_M4_1 = 1,\n\tSTAC_DELL_M4_2 = 2,\n\tSTAC_DELL_M4_3 = 3,\n\tSTAC_HP_M4 = 4,\n\tSTAC_HP_DV4 = 5,\n\tSTAC_HP_DV5 = 6,\n\tSTAC_HP_HDX = 7,\n\tSTAC_92HD71BXX_HP = 8,\n\tSTAC_92HD71BXX_NO_DMIC = 9,\n\tSTAC_92HD71BXX_NO_SMUX = 10,\n\tSTAC_92HD71BXX_MODELS = 11,\n};\n\nenum {\n\tSTAC_92HD73XX_NO_JD = 0,\n\tSTAC_92HD73XX_REF = 1,\n\tSTAC_92HD73XX_INTEL = 2,\n\tSTAC_DELL_M6_AMIC = 3,\n\tSTAC_DELL_M6_DMIC = 4,\n\tSTAC_DELL_M6_BOTH = 5,\n\tSTAC_DELL_EQ = 6,\n\tSTAC_ALIENWARE_M17X = 7,\n\tSTAC_ELO_VUPOINT_15MX = 8,\n\tSTAC_92HD89XX_HP_FRONT_JACK = 9,\n\tSTAC_92HD89XX_HP_Z1_G2_RIGHT_MIC_JACK = 10,\n\tSTAC_92HD73XX_ASUS_MOBO = 11,\n\tSTAC_92HD73XX_MODELS = 12,\n};\n\nenum {\n\tSTAC_92HD83XXX_REF = 0,\n\tSTAC_92HD83XXX_PWR_REF = 1,\n\tSTAC_DELL_S14 = 2,\n\tSTAC_DELL_VOSTRO_3500 = 3,\n\tSTAC_92HD83XXX_HP_cNB11_INTQUAD = 4,\n\tSTAC_HP_DV7_4000 = 5,\n\tSTAC_HP_ZEPHYR = 6,\n\tSTAC_92HD83XXX_HP_LED = 7,\n\tSTAC_92HD83XXX_HP_INV_LED = 8,\n\tSTAC_92HD83XXX_HP_MIC_LED = 9,\n\tSTAC_HP_LED_GPIO10 = 10,\n\tSTAC_92HD83XXX_HEADSET_JACK = 11,\n\tSTAC_92HD83XXX_HP = 12,\n\tSTAC_HP_ENVY_BASS = 13,\n\tSTAC_HP_BNB13_EQ = 14,\n\tSTAC_HP_ENVY_TS_BASS = 15,\n\tSTAC_HP_ENVY_TS_DAC_BIND = 16,\n\tSTAC_92HD83XXX_GPIO10_EAPD = 17,\n\tSTAC_92HD83XXX_MODELS = 18,\n};\n\nenum {\n\tSTAC_92HD95_HP_LED = 0,\n\tSTAC_92HD95_HP_BASS = 1,\n\tSTAC_92HD95_MODELS = 2,\n};\n\nenum {\n\tSTAC_9872_VAIO = 0,\n\tSTAC_9872_MODELS = 1,\n};\n\nenum {\n\tSTAC_D945_REF = 0,\n\tSTAC_D945GTP3 = 1,\n\tSTAC_D945GTP5 = 2,\n\tSTAC_INTEL_MAC_V1 = 3,\n\tSTAC_INTEL_MAC_V2 = 4,\n\tSTAC_INTEL_MAC_V3 = 5,\n\tSTAC_INTEL_MAC_V4 = 6,\n\tSTAC_INTEL_MAC_V5 = 7,\n\tSTAC_INTEL_MAC_AUTO = 8,\n\tSTAC_ECS_202 = 9,\n\tSTAC_922X_DELL_D81 = 10,\n\tSTAC_922X_DELL_D82 = 11,\n\tSTAC_922X_DELL_M81 = 12,\n\tSTAC_922X_DELL_M82 = 13,\n\tSTAC_922X_INTEL_MAC_GPIO = 14,\n\tSTAC_922X_MODELS = 15,\n};\n\nenum {\n\tSTAC_D965_REF_NO_JD = 0,\n\tSTAC_D965_REF = 1,\n\tSTAC_D965_3ST = 2,\n\tSTAC_D965_5ST = 3,\n\tSTAC_D965_5ST_NO_FP = 4,\n\tSTAC_D965_VERBS = 5,\n\tSTAC_DELL_3ST = 6,\n\tSTAC_DELL_BIOS = 7,\n\tSTAC_NEMO_DEFAULT = 8,\n\tSTAC_DELL_BIOS_AMIC = 9,\n\tSTAC_DELL_BIOS_SPDIF = 10,\n\tSTAC_927X_DELL_DMIC = 11,\n\tSTAC_927X_VOLKNOB = 12,\n\tSTAC_927X_MODELS = 13,\n};\n\nenum {\n\tSTAC_REF = 0,\n\tSTAC_9200_OQO = 1,\n\tSTAC_9200_DELL_D21 = 2,\n\tSTAC_9200_DELL_D22 = 3,\n\tSTAC_9200_DELL_D23 = 4,\n\tSTAC_9200_DELL_M21 = 5,\n\tSTAC_9200_DELL_M22 = 6,\n\tSTAC_9200_DELL_M23 = 7,\n\tSTAC_9200_DELL_M24 = 8,\n\tSTAC_9200_DELL_M25 = 9,\n\tSTAC_9200_DELL_M26 = 10,\n\tSTAC_9200_DELL_M27 = 11,\n\tSTAC_9200_M4 = 12,\n\tSTAC_9200_M4_2 = 13,\n\tSTAC_9200_PANASONIC = 14,\n\tSTAC_9200_EAPD_INIT = 15,\n\tSTAC_9200_MODELS = 16,\n};\n\nenum {\n\tSTREAM_MULTI_OUT = 0,\n\tSTREAM_INDEP_HP = 1,\n};\n\nenum {\n\tSUNRPC_PIPEFS_NFS_PRIO = 0,\n\tSUNRPC_PIPEFS_RPC_PRIO = 1,\n};\n\nenum {\n\tSVC_HANDSHAKE_TO = 1250,\n};\n\nenum {\n\tSVC_POOL_AUTO = -1,\n\tSVC_POOL_GLOBAL = 0,\n\tSVC_POOL_PERCPU = 1,\n\tSVC_POOL_PERNODE = 2,\n};\n\nenum {\n\tSWITCHTEC_GAS_MRPC_OFFSET = 0,\n\tSWITCHTEC_GAS_TOP_CFG_OFFSET = 4096,\n\tSWITCHTEC_GAS_SW_EVENT_OFFSET = 6144,\n\tSWITCHTEC_GAS_SYS_INFO_OFFSET = 8192,\n\tSWITCHTEC_GAS_FLASH_INFO_OFFSET = 8704,\n\tSWITCHTEC_GAS_PART_CFG_OFFSET = 16384,\n\tSWITCHTEC_GAS_NTB_OFFSET = 65536,\n\tSWITCHTEC_GAS_PFF_CSR_OFFSET = 1261568,\n};\n\nenum {\n\tSWITCHTEC_NTB_REG_INFO_OFFSET = 0,\n\tSWITCHTEC_NTB_REG_CTRL_OFFSET = 16384,\n\tSWITCHTEC_NTB_REG_DBMSG_OFFSET = 409600,\n};\n\nenum {\n\tSWMII_SPEED_10 = 0,\n\tSWMII_SPEED_100 = 1,\n\tSWMII_SPEED_1000 = 2,\n\tSWMII_DUPLEX_HALF = 0,\n\tSWMII_DUPLEX_FULL = 1,\n};\n\nenum {\n\tSWP_USED = 1,\n\tSWP_WRITEOK = 2,\n\tSWP_DISCARDABLE = 4,\n\tSWP_DISCARDING = 8,\n\tSWP_SOLIDSTATE = 16,\n\tSWP_CONTINUED = 32,\n\tSWP_BLKDEV = 64,\n\tSWP_ACTIVATED = 128,\n\tSWP_FS_OPS = 256,\n\tSWP_AREA_DISCARD = 512,\n\tSWP_PAGE_DISCARD = 1024,\n\tSWP_STABLE_WRITES = 2048,\n\tSWP_SYNCHRONOUS_IO = 4096,\n};\n\nenum {\n\tSYNAPTICS_INTERTOUCH_NOT_SET = -1,\n\tSYNAPTICS_INTERTOUCH_OFF = 0,\n\tSYNAPTICS_INTERTOUCH_ON = 1,\n};\n\nenum {\n\tTASKLET_STATE_SCHED = 0,\n\tTASKLET_STATE_RUN = 1,\n};\n\nenum {\n\tTASKSTATS_CMD_ATTR_UNSPEC = 0,\n\tTASKSTATS_CMD_ATTR_PID = 1,\n\tTASKSTATS_CMD_ATTR_TGID = 2,\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 3,\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 4,\n\t__TASKSTATS_CMD_ATTR_MAX = 5,\n};\n\nenum {\n\tTASKSTATS_CMD_UNSPEC = 0,\n\tTASKSTATS_CMD_GET = 1,\n\tTASKSTATS_CMD_NEW = 2,\n\t__TASKSTATS_CMD_MAX = 3,\n};\n\nenum {\n\tTASKSTATS_TYPE_UNSPEC = 0,\n\tTASKSTATS_TYPE_PID = 1,\n\tTASKSTATS_TYPE_TGID = 2,\n\tTASKSTATS_TYPE_STATS = 3,\n\tTASKSTATS_TYPE_AGGR_PID = 4,\n\tTASKSTATS_TYPE_AGGR_TGID = 5,\n\tTASKSTATS_TYPE_NULL = 6,\n\t__TASKSTATS_TYPE_MAX = 7,\n};\n\nenum {\n\tTASK_COMM_LEN = 16,\n};\n\nenum {\n\tTCA_ACT_UNSPEC = 0,\n\tTCA_ACT_KIND = 1,\n\tTCA_ACT_OPTIONS = 2,\n\tTCA_ACT_INDEX = 3,\n\tTCA_ACT_STATS = 4,\n\tTCA_ACT_PAD = 5,\n\tTCA_ACT_COOKIE = 6,\n\tTCA_ACT_FLAGS = 7,\n\tTCA_ACT_HW_STATS = 8,\n\tTCA_ACT_USED_HW_STATS = 9,\n\tTCA_ACT_IN_HW_COUNT = 10,\n\t__TCA_ACT_MAX = 11,\n};\n\nenum {\n\tTCA_FLOWER_KEY_CT_FLAGS_NEW = 1,\n\tTCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 2,\n\tTCA_FLOWER_KEY_CT_FLAGS_RELATED = 4,\n\tTCA_FLOWER_KEY_CT_FLAGS_TRACKED = 8,\n\tTCA_FLOWER_KEY_CT_FLAGS_INVALID = 16,\n\tTCA_FLOWER_KEY_CT_FLAGS_REPLY = 32,\n\t__TCA_FLOWER_KEY_CT_FLAGS_MAX = 33,\n};\n\nenum {\n\tTCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = 1,\n\tTCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = 2,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = 4,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = 8,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = 16,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = 32,\n\t__TCA_FLOWER_KEY_FLAGS_MAX = 33,\n};\n\nenum {\n\tTCA_ROOT_UNSPEC = 0,\n\tTCA_ROOT_TAB = 1,\n\tTCA_ROOT_FLAGS = 2,\n\tTCA_ROOT_COUNT = 3,\n\tTCA_ROOT_TIME_DELTA = 4,\n\tTCA_ROOT_EXT_WARN_MSG = 5,\n\t__TCA_ROOT_MAX = 6,\n};\n\nenum {\n\tTCA_STAB_UNSPEC = 0,\n\tTCA_STAB_BASE = 1,\n\tTCA_STAB_DATA = 2,\n\t__TCA_STAB_MAX = 3,\n};\n\nenum {\n\tTCA_STATS_UNSPEC = 0,\n\tTCA_STATS_BASIC = 1,\n\tTCA_STATS_RATE_EST = 2,\n\tTCA_STATS_QUEUE = 3,\n\tTCA_STATS_APP = 4,\n\tTCA_STATS_RATE_EST64 = 5,\n\tTCA_STATS_PAD = 6,\n\tTCA_STATS_BASIC_HW = 7,\n\tTCA_STATS_PKT64 = 8,\n\t__TCA_STATS_MAX = 9,\n};\n\nenum {\n\tTCA_UNSPEC = 0,\n\tTCA_KIND = 1,\n\tTCA_OPTIONS = 2,\n\tTCA_STATS = 3,\n\tTCA_XSTATS = 4,\n\tTCA_RATE = 5,\n\tTCA_FCNT = 6,\n\tTCA_STATS2 = 7,\n\tTCA_STAB = 8,\n\tTCA_PAD = 9,\n\tTCA_DUMP_INVISIBLE = 10,\n\tTCA_CHAIN = 11,\n\tTCA_HW_OFFLOAD = 12,\n\tTCA_INGRESS_BLOCK = 13,\n\tTCA_EGRESS_BLOCK = 14,\n\tTCA_DUMP_FLAGS = 15,\n\tTCA_EXT_WARN_MSG = 16,\n\t__TCA_MAX = 17,\n};\n\nenum {\n\tTCPF_ESTABLISHED = 2,\n\tTCPF_SYN_SENT = 4,\n\tTCPF_SYN_RECV = 8,\n\tTCPF_FIN_WAIT1 = 16,\n\tTCPF_FIN_WAIT2 = 32,\n\tTCPF_TIME_WAIT = 64,\n\tTCPF_CLOSE = 128,\n\tTCPF_CLOSE_WAIT = 256,\n\tTCPF_LAST_ACK = 512,\n\tTCPF_LISTEN = 1024,\n\tTCPF_CLOSING = 2048,\n\tTCPF_NEW_SYN_RECV = 4096,\n\tTCPF_BOUND_INACTIVE = 8192,\n};\n\nenum {\n\tTCP_BPF_BASE = 0,\n\tTCP_BPF_TX = 1,\n\tTCP_BPF_RX = 2,\n\tTCP_BPF_TXRX = 3,\n\tTCP_BPF_NUM_CFGS = 4,\n};\n\nenum {\n\tTCP_BPF_IPV4 = 0,\n\tTCP_BPF_IPV6 = 1,\n\tTCP_BPF_NUM_PROTS = 2,\n};\n\nenum {\n\tTCP_BPF_IW = 1001,\n\tTCP_BPF_SNDCWND_CLAMP = 1002,\n\tTCP_BPF_DELACK_MAX = 1003,\n\tTCP_BPF_RTO_MIN = 1004,\n\tTCP_BPF_SYN = 1005,\n\tTCP_BPF_SYN_IP = 1006,\n\tTCP_BPF_SYN_MAC = 1007,\n\tTCP_BPF_SOCK_OPS_CB_FLAGS = 1008,\n};\n\nenum {\n\tTCP_CMSG_INQ = 1,\n\tTCP_CMSG_TS = 2,\n};\n\nenum {\n\tTCP_ESTABLISHED = 1,\n\tTCP_SYN_SENT = 2,\n\tTCP_SYN_RECV = 3,\n\tTCP_FIN_WAIT1 = 4,\n\tTCP_FIN_WAIT2 = 5,\n\tTCP_TIME_WAIT = 6,\n\tTCP_CLOSE = 7,\n\tTCP_CLOSE_WAIT = 8,\n\tTCP_LAST_ACK = 9,\n\tTCP_LISTEN = 10,\n\tTCP_CLOSING = 11,\n\tTCP_NEW_SYN_RECV = 12,\n\tTCP_BOUND_INACTIVE = 13,\n\tTCP_MAX_STATES = 14,\n};\n\nenum {\n\tTCP_FLAG_CWR = 32768,\n\tTCP_FLAG_ECE = 16384,\n\tTCP_FLAG_URG = 8192,\n\tTCP_FLAG_ACK = 4096,\n\tTCP_FLAG_PSH = 2048,\n\tTCP_FLAG_RST = 1024,\n\tTCP_FLAG_SYN = 512,\n\tTCP_FLAG_FIN = 256,\n\tTCP_RESERVED_BITS = 15,\n\tTCP_DATA_OFFSET = 240,\n};\n\nenum {\n\tTCP_METRICS_ATTR_UNSPEC = 0,\n\tTCP_METRICS_ATTR_ADDR_IPV4 = 1,\n\tTCP_METRICS_ATTR_ADDR_IPV6 = 2,\n\tTCP_METRICS_ATTR_AGE = 3,\n\tTCP_METRICS_ATTR_TW_TSVAL = 4,\n\tTCP_METRICS_ATTR_TW_TS_STAMP = 5,\n\tTCP_METRICS_ATTR_VALS = 6,\n\tTCP_METRICS_ATTR_FOPEN_MSS = 7,\n\tTCP_METRICS_ATTR_FOPEN_SYN_DROPS = 8,\n\tTCP_METRICS_ATTR_FOPEN_SYN_DROP_TS = 9,\n\tTCP_METRICS_ATTR_FOPEN_COOKIE = 10,\n\tTCP_METRICS_ATTR_SADDR_IPV4 = 11,\n\tTCP_METRICS_ATTR_SADDR_IPV6 = 12,\n\tTCP_METRICS_ATTR_PAD = 13,\n\t__TCP_METRICS_ATTR_MAX = 14,\n};\n\nenum {\n\tTCP_METRICS_CMD_UNSPEC = 0,\n\tTCP_METRICS_CMD_GET = 1,\n\tTCP_METRICS_CMD_DEL = 2,\n\t__TCP_METRICS_CMD_MAX = 3,\n};\n\nenum {\n\tTCP_MIB_NUM = 0,\n\tTCP_MIB_RTOALGORITHM = 1,\n\tTCP_MIB_RTOMIN = 2,\n\tTCP_MIB_RTOMAX = 3,\n\tTCP_MIB_MAXCONN = 4,\n\tTCP_MIB_ACTIVEOPENS = 5,\n\tTCP_MIB_PASSIVEOPENS = 6,\n\tTCP_MIB_ATTEMPTFAILS = 7,\n\tTCP_MIB_ESTABRESETS = 8,\n\tTCP_MIB_CURRESTAB = 9,\n\tTCP_MIB_INSEGS = 10,\n\tTCP_MIB_OUTSEGS = 11,\n\tTCP_MIB_RETRANSSEGS = 12,\n\tTCP_MIB_INERRS = 13,\n\tTCP_MIB_OUTRSTS = 14,\n\tTCP_MIB_CSUMERRORS = 15,\n\t__TCP_MIB_MAX = 16,\n};\n\nenum {\n\tTCP_NLA_PAD = 0,\n\tTCP_NLA_BUSY = 1,\n\tTCP_NLA_RWND_LIMITED = 2,\n\tTCP_NLA_SNDBUF_LIMITED = 3,\n\tTCP_NLA_DATA_SEGS_OUT = 4,\n\tTCP_NLA_TOTAL_RETRANS = 5,\n\tTCP_NLA_PACING_RATE = 6,\n\tTCP_NLA_DELIVERY_RATE = 7,\n\tTCP_NLA_SND_CWND = 8,\n\tTCP_NLA_REORDERING = 9,\n\tTCP_NLA_MIN_RTT = 10,\n\tTCP_NLA_RECUR_RETRANS = 11,\n\tTCP_NLA_DELIVERY_RATE_APP_LMT = 12,\n\tTCP_NLA_SNDQ_SIZE = 13,\n\tTCP_NLA_CA_STATE = 14,\n\tTCP_NLA_SND_SSTHRESH = 15,\n\tTCP_NLA_DELIVERED = 16,\n\tTCP_NLA_DELIVERED_CE = 17,\n\tTCP_NLA_BYTES_SENT = 18,\n\tTCP_NLA_BYTES_RETRANS = 19,\n\tTCP_NLA_DSACK_DUPS = 20,\n\tTCP_NLA_REORD_SEEN = 21,\n\tTCP_NLA_SRTT = 22,\n\tTCP_NLA_TIMEOUT_REHASH = 23,\n\tTCP_NLA_BYTES_NOTSENT = 24,\n\tTCP_NLA_EDT = 25,\n\tTCP_NLA_TTL = 26,\n\tTCP_NLA_REHASH = 27,\n};\n\nenum {\n\tTCP_NO_QUEUE = 0,\n\tTCP_RECV_QUEUE = 1,\n\tTCP_SEND_QUEUE = 2,\n\tTCP_QUEUES_NR = 3,\n};\n\nenum {\n\tTC_MQPRIO_HW_OFFLOAD_NONE = 0,\n\tTC_MQPRIO_HW_OFFLOAD_TCS = 1,\n\t__TC_MQPRIO_HW_OFFLOAD_MAX = 2,\n};\n\nenum {\n\tTC_TAPRIO_CMD_SET_GATES = 0,\n\tTC_TAPRIO_CMD_SET_AND_HOLD = 1,\n\tTC_TAPRIO_CMD_SET_AND_RELEASE = 2,\n};\n\nenum {\n\tTEST_ALIGNMENT = 16,\n};\n\nenum {\n\tTEST_NONE = 0,\n\tTEST_CORE = 1,\n\tTEST_CPUS = 2,\n\tTEST_PLATFORM = 3,\n\tTEST_DEVICES = 4,\n\tTEST_FREEZER = 5,\n\t__TEST_AFTER_LAST = 6,\n};\n\nenum {\n\tTLS_ALERT_DESC_CLOSE_NOTIFY = 0,\n\tTLS_ALERT_DESC_UNEXPECTED_MESSAGE = 10,\n\tTLS_ALERT_DESC_BAD_RECORD_MAC = 20,\n\tTLS_ALERT_DESC_RECORD_OVERFLOW = 22,\n\tTLS_ALERT_DESC_HANDSHAKE_FAILURE = 40,\n\tTLS_ALERT_DESC_BAD_CERTIFICATE = 42,\n\tTLS_ALERT_DESC_UNSUPPORTED_CERTIFICATE = 43,\n\tTLS_ALERT_DESC_CERTIFICATE_REVOKED = 44,\n\tTLS_ALERT_DESC_CERTIFICATE_EXPIRED = 45,\n\tTLS_ALERT_DESC_CERTIFICATE_UNKNOWN = 46,\n\tTLS_ALERT_DESC_ILLEGAL_PARAMETER = 47,\n\tTLS_ALERT_DESC_UNKNOWN_CA = 48,\n\tTLS_ALERT_DESC_ACCESS_DENIED = 49,\n\tTLS_ALERT_DESC_DECODE_ERROR = 50,\n\tTLS_ALERT_DESC_DECRYPT_ERROR = 51,\n\tTLS_ALERT_DESC_TOO_MANY_CIDS_REQUESTED = 52,\n\tTLS_ALERT_DESC_PROTOCOL_VERSION = 70,\n\tTLS_ALERT_DESC_INSUFFICIENT_SECURITY = 71,\n\tTLS_ALERT_DESC_INTERNAL_ERROR = 80,\n\tTLS_ALERT_DESC_INAPPROPRIATE_FALLBACK = 86,\n\tTLS_ALERT_DESC_USER_CANCELED = 90,\n\tTLS_ALERT_DESC_MISSING_EXTENSION = 109,\n\tTLS_ALERT_DESC_UNSUPPORTED_EXTENSION = 110,\n\tTLS_ALERT_DESC_UNRECOGNIZED_NAME = 112,\n\tTLS_ALERT_DESC_BAD_CERTIFICATE_STATUS_RESPONSE = 113,\n\tTLS_ALERT_DESC_UNKNOWN_PSK_IDENTITY = 115,\n\tTLS_ALERT_DESC_CERTIFICATE_REQUIRED = 116,\n\tTLS_ALERT_DESC_NO_APPLICATION_PROTOCOL = 120,\n};\n\nenum {\n\tTLS_ALERT_LEVEL_WARNING = 1,\n\tTLS_ALERT_LEVEL_FATAL = 2,\n};\n\nenum {\n\tTLS_NO_KEYRING = 0,\n\tTLS_NO_PEERID = 0,\n\tTLS_NO_CERT = 0,\n\tTLS_NO_PRIVKEY = 0,\n};\n\nenum {\n\tTLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20,\n\tTLS_RECORD_TYPE_ALERT = 21,\n\tTLS_RECORD_TYPE_HANDSHAKE = 22,\n\tTLS_RECORD_TYPE_DATA = 23,\n\tTLS_RECORD_TYPE_HEARTBEAT = 24,\n\tTLS_RECORD_TYPE_TLS12_CID = 25,\n\tTLS_RECORD_TYPE_ACK = 26,\n};\n\nenum {\n\tTOO_MANY_CLOSE = -1,\n\tTOO_MANY_OPEN = -2,\n\tMISSING_QUOTE = -3,\n};\n\nenum {\n\tTP_ERR_FILE_NOT_FOUND = 0,\n\tTP_ERR_NO_REGULAR_FILE = 1,\n\tTP_ERR_BAD_REFCNT = 2,\n\tTP_ERR_REFCNT_OPEN_BRACE = 3,\n\tTP_ERR_BAD_REFCNT_SUFFIX = 4,\n\tTP_ERR_BAD_UPROBE_OFFS = 5,\n\tTP_ERR_BAD_MAXACT_TYPE = 6,\n\tTP_ERR_BAD_MAXACT = 7,\n\tTP_ERR_MAXACT_TOO_BIG = 8,\n\tTP_ERR_BAD_PROBE_ADDR = 9,\n\tTP_ERR_NON_UNIQ_SYMBOL = 10,\n\tTP_ERR_BAD_RETPROBE = 11,\n\tTP_ERR_NO_TRACEPOINT = 12,\n\tTP_ERR_BAD_TP_NAME = 13,\n\tTP_ERR_BAD_ADDR_SUFFIX = 14,\n\tTP_ERR_NO_GROUP_NAME = 15,\n\tTP_ERR_GROUP_TOO_LONG = 16,\n\tTP_ERR_BAD_GROUP_NAME = 17,\n\tTP_ERR_NO_EVENT_NAME = 18,\n\tTP_ERR_EVENT_TOO_LONG = 19,\n\tTP_ERR_BAD_EVENT_NAME = 20,\n\tTP_ERR_EVENT_EXIST = 21,\n\tTP_ERR_RETVAL_ON_PROBE = 22,\n\tTP_ERR_NO_RETVAL = 23,\n\tTP_ERR_BAD_STACK_NUM = 24,\n\tTP_ERR_BAD_ARG_NUM = 25,\n\tTP_ERR_BAD_VAR = 26,\n\tTP_ERR_BAD_REG_NAME = 27,\n\tTP_ERR_BAD_MEM_ADDR = 28,\n\tTP_ERR_BAD_IMM = 29,\n\tTP_ERR_IMMSTR_NO_CLOSE = 30,\n\tTP_ERR_FILE_ON_KPROBE = 31,\n\tTP_ERR_BAD_FILE_OFFS = 32,\n\tTP_ERR_SYM_ON_UPROBE = 33,\n\tTP_ERR_TOO_MANY_OPS = 34,\n\tTP_ERR_DEREF_NEED_BRACE = 35,\n\tTP_ERR_BAD_DEREF_OFFS = 36,\n\tTP_ERR_DEREF_OPEN_BRACE = 37,\n\tTP_ERR_COMM_CANT_DEREF = 38,\n\tTP_ERR_BAD_FETCH_ARG = 39,\n\tTP_ERR_ARRAY_NO_CLOSE = 40,\n\tTP_ERR_BAD_ARRAY_SUFFIX = 41,\n\tTP_ERR_BAD_ARRAY_NUM = 42,\n\tTP_ERR_ARRAY_TOO_BIG = 43,\n\tTP_ERR_BAD_TYPE = 44,\n\tTP_ERR_BAD_STRING = 45,\n\tTP_ERR_BAD_SYMSTRING = 46,\n\tTP_ERR_BAD_BITFIELD = 47,\n\tTP_ERR_ARG_NAME_TOO_LONG = 48,\n\tTP_ERR_NO_ARG_NAME = 49,\n\tTP_ERR_BAD_ARG_NAME = 50,\n\tTP_ERR_USED_ARG_NAME = 51,\n\tTP_ERR_ARG_TOO_LONG = 52,\n\tTP_ERR_NO_ARG_BODY = 53,\n\tTP_ERR_BAD_INSN_BNDRY = 54,\n\tTP_ERR_FAIL_REG_PROBE = 55,\n\tTP_ERR_DIFF_PROBE_TYPE = 56,\n\tTP_ERR_DIFF_ARG_TYPE = 57,\n\tTP_ERR_SAME_PROBE = 58,\n\tTP_ERR_NO_EVENT_INFO = 59,\n\tTP_ERR_BAD_ATTACH_EVENT = 60,\n\tTP_ERR_BAD_ATTACH_ARG = 61,\n\tTP_ERR_NO_EP_FILTER = 62,\n\tTP_ERR_NOSUP_BTFARG = 63,\n\tTP_ERR_NO_BTFARG = 64,\n\tTP_ERR_NO_BTF_ENTRY = 65,\n\tTP_ERR_BAD_VAR_ARGS = 66,\n\tTP_ERR_NOFENTRY_ARGS = 67,\n\tTP_ERR_DOUBLE_ARGS = 68,\n\tTP_ERR_ARGS_2LONG = 69,\n\tTP_ERR_ARGIDX_2BIG = 70,\n\tTP_ERR_NO_PTR_STRCT = 71,\n\tTP_ERR_NOSUP_DAT_ARG = 72,\n\tTP_ERR_BAD_HYPHEN = 73,\n\tTP_ERR_NO_BTF_FIELD = 74,\n\tTP_ERR_BAD_BTF_TID = 75,\n\tTP_ERR_BAD_TYPE4STR = 76,\n\tTP_ERR_NEED_STRING_TYPE = 77,\n\tTP_ERR_TOO_MANY_EARGS = 78,\n};\n\nenum {\n\tTRACEFS_EVENT_INODE = 2,\n\tTRACEFS_GID_PERM_SET = 4,\n\tTRACEFS_UID_PERM_SET = 8,\n\tTRACEFS_INSTANCE_INODE = 16,\n};\n\nenum {\n\tTRACE_ARRAY_FL_GLOBAL = 1,\n\tTRACE_ARRAY_FL_BOOT = 2,\n\tTRACE_ARRAY_FL_MOD_INIT = 4,\n};\n\nenum {\n\tTRACE_EVENT_FL_CAP_ANY = 1,\n\tTRACE_EVENT_FL_NO_SET_FILTER = 2,\n\tTRACE_EVENT_FL_IGNORE_ENABLE = 4,\n\tTRACE_EVENT_FL_TRACEPOINT = 8,\n\tTRACE_EVENT_FL_DYNAMIC = 16,\n\tTRACE_EVENT_FL_KPROBE = 32,\n\tTRACE_EVENT_FL_UPROBE = 64,\n\tTRACE_EVENT_FL_EPROBE = 128,\n\tTRACE_EVENT_FL_FPROBE = 256,\n\tTRACE_EVENT_FL_CUSTOM = 512,\n\tTRACE_EVENT_FL_TEST_STR = 1024,\n};\n\nenum {\n\tTRACE_EVENT_FL_CAP_ANY_BIT = 0,\n\tTRACE_EVENT_FL_NO_SET_FILTER_BIT = 1,\n\tTRACE_EVENT_FL_IGNORE_ENABLE_BIT = 2,\n\tTRACE_EVENT_FL_TRACEPOINT_BIT = 3,\n\tTRACE_EVENT_FL_DYNAMIC_BIT = 4,\n\tTRACE_EVENT_FL_KPROBE_BIT = 5,\n\tTRACE_EVENT_FL_UPROBE_BIT = 6,\n\tTRACE_EVENT_FL_EPROBE_BIT = 7,\n\tTRACE_EVENT_FL_FPROBE_BIT = 8,\n\tTRACE_EVENT_FL_CUSTOM_BIT = 9,\n\tTRACE_EVENT_FL_TEST_STR_BIT = 10,\n};\n\nenum {\n\tTRACE_NOP_OPT_ACCEPT = 1,\n\tTRACE_NOP_OPT_REFUSE = 2,\n};\n\nenum {\n\tTRACE_PIDS = 1,\n\tTRACE_NO_PIDS = 2,\n};\n\nenum {\n\tTRACE_SIGNAL_DELIVERED = 0,\n\tTRACE_SIGNAL_IGNORED = 1,\n\tTRACE_SIGNAL_ALREADY_PENDING = 2,\n\tTRACE_SIGNAL_OVERFLOW_FAIL = 3,\n\tTRACE_SIGNAL_LOSE_INFO = 4,\n};\n\nenum {\n\tUDF_MAX_LINKS = 65535,\n};\n\nenum {\n\tUDP_BPF_IPV4 = 0,\n\tUDP_BPF_IPV6 = 1,\n\tUDP_BPF_NUM_PROTS = 2,\n};\n\nenum {\n\tUDP_FLAGS_CORK = 0,\n\tUDP_FLAGS_NO_CHECK6_TX = 1,\n\tUDP_FLAGS_NO_CHECK6_RX = 2,\n\tUDP_FLAGS_GRO_ENABLED = 3,\n\tUDP_FLAGS_ACCEPT_FRAGLIST = 4,\n\tUDP_FLAGS_ACCEPT_L4 = 5,\n\tUDP_FLAGS_ENCAP_ENABLED = 6,\n\tUDP_FLAGS_UDPLITE_SEND_CC = 7,\n\tUDP_FLAGS_UDPLITE_RECV_CC = 8,\n};\n\nenum {\n\tUDP_MIB_NUM = 0,\n\tUDP_MIB_INDATAGRAMS = 1,\n\tUDP_MIB_NOPORTS = 2,\n\tUDP_MIB_INERRORS = 3,\n\tUDP_MIB_OUTDATAGRAMS = 4,\n\tUDP_MIB_RCVBUFERRORS = 5,\n\tUDP_MIB_SNDBUFERRORS = 6,\n\tUDP_MIB_CSUMERRORS = 7,\n\tUDP_MIB_IGNOREDMULTI = 8,\n\tUDP_MIB_MEMERRORS = 9,\n\t__UDP_MIB_MAX = 10,\n};\n\nenum {\n\tUNAME26 = 131072,\n\tADDR_NO_RANDOMIZE = 262144,\n\tFDPIC_FUNCPTRS = 524288,\n\tMMAP_PAGE_ZERO = 1048576,\n\tADDR_COMPAT_LAYOUT = 2097152,\n\tREAD_IMPLIES_EXEC = 4194304,\n\tADDR_LIMIT_32BIT = 8388608,\n\tSHORT_INODE = 16777216,\n\tWHOLE_SECONDS = 33554432,\n\tSTICKY_TIMEOUTS = 67108864,\n\tADDR_LIMIT_3GB = 134217728,\n};\n\nenum {\n\tVDS_POS_PRIMARY_VOL_DESC = 0,\n\tVDS_POS_UNALLOC_SPACE_DESC = 1,\n\tVDS_POS_LOGICAL_VOL_DESC = 2,\n\tVDS_POS_IMP_USE_VOL_DESC = 3,\n\tVDS_POS_LENGTH = 4,\n};\n\nenum {\n\tVNIFILTER_ENTRY_STATS_UNSPEC = 0,\n\tVNIFILTER_ENTRY_STATS_RX_BYTES = 1,\n\tVNIFILTER_ENTRY_STATS_RX_PKTS = 2,\n\tVNIFILTER_ENTRY_STATS_RX_DROPS = 3,\n\tVNIFILTER_ENTRY_STATS_RX_ERRORS = 4,\n\tVNIFILTER_ENTRY_STATS_TX_BYTES = 5,\n\tVNIFILTER_ENTRY_STATS_TX_PKTS = 6,\n\tVNIFILTER_ENTRY_STATS_TX_DROPS = 7,\n\tVNIFILTER_ENTRY_STATS_TX_ERRORS = 8,\n\tVNIFILTER_ENTRY_STATS_PAD = 9,\n\t__VNIFILTER_ENTRY_STATS_MAX = 10,\n};\n\nenum {\n\tVP_MSIX_CONFIG_VECTOR = 0,\n\tVP_MSIX_VQ_VECTOR = 1,\n};\n\nenum {\n\tVTIME_PER_SEC_SHIFT = 37ULL,\n\tVTIME_PER_SEC = 137438953472ULL,\n\tVTIME_PER_USEC = 137438ULL,\n\tVTIME_PER_NSEC = 137ULL,\n\tVRATE_MIN_PPM = 10000ULL,\n\tVRATE_MAX_PPM = 100000000ULL,\n\tVRATE_MIN = 1374ULL,\n\tVRATE_CLAMP_ADJ_PCT = 4ULL,\n\tAUTOP_CYCLE_NSEC = 10000000000ULL,\n};\n\nenum {\n\tVXLAN_VNIFILTER_ENTRY_UNSPEC = 0,\n\tVXLAN_VNIFILTER_ENTRY_START = 1,\n\tVXLAN_VNIFILTER_ENTRY_END = 2,\n\tVXLAN_VNIFILTER_ENTRY_GROUP = 3,\n\tVXLAN_VNIFILTER_ENTRY_GROUP6 = 4,\n\tVXLAN_VNIFILTER_ENTRY_STATS = 5,\n\t__VXLAN_VNIFILTER_ENTRY_MAX = 6,\n};\n\nenum {\n\tVXLAN_VNIFILTER_UNSPEC = 0,\n\tVXLAN_VNIFILTER_ENTRY = 1,\n\t__VXLAN_VNIFILTER_MAX = 2,\n};\n\nenum {\n\tVXLAN_VNI_STATS_RX = 0,\n\tVXLAN_VNI_STATS_RX_DROPS = 1,\n\tVXLAN_VNI_STATS_RX_ERRORS = 2,\n\tVXLAN_VNI_STATS_TX = 3,\n\tVXLAN_VNI_STATS_TX_DROPS = 4,\n\tVXLAN_VNI_STATS_TX_ERRORS = 5,\n};\n\nenum {\n\tWALK_TRAILING = 1,\n\tWALK_MORE = 2,\n\tWALK_NOFOLLOW = 4,\n};\n\nenum {\n\tWBT_RWQ_BG = 0,\n\tWBT_RWQ_SWAP = 1,\n\tWBT_RWQ_DISCARD = 2,\n\tWBT_NUM_RWQ = 3,\n};\n\nenum {\n\tWBT_STATE_ON_DEFAULT = 1,\n\tWBT_STATE_ON_MANUAL = 2,\n\tWBT_STATE_OFF_DEFAULT = 3,\n\tWBT_STATE_OFF_MANUAL = 4,\n};\n\nenum {\n\tWORK_DONE_BIT = 0,\n\tWORK_ORDER_DONE_BIT = 1,\n};\n\nenum {\n\tXA_CHECK_SCHED = 4096,\n};\n\nenum {\n\tXDOMAIN_STATE_INIT = 0,\n\tXDOMAIN_STATE_UUID = 1,\n\tXDOMAIN_STATE_LINK_STATUS = 2,\n\tXDOMAIN_STATE_LINK_STATE_CHANGE = 3,\n\tXDOMAIN_STATE_LINK_STATUS2 = 4,\n\tXDOMAIN_STATE_BONDING_UUID_LOW = 5,\n\tXDOMAIN_STATE_BONDING_UUID_HIGH = 6,\n\tXDOMAIN_STATE_PROPERTIES = 7,\n\tXDOMAIN_STATE_ENUMERATED = 8,\n\tXDOMAIN_STATE_ERROR = 9,\n};\n\nenum {\n\tXDP_ATTACHED_NONE = 0,\n\tXDP_ATTACHED_DRV = 1,\n\tXDP_ATTACHED_SKB = 2,\n\tXDP_ATTACHED_HW = 3,\n\tXDP_ATTACHED_MULTI = 4,\n};\n\nenum {\n\tXFRM_DEV_OFFLOAD_FLAG_ACQ = 1,\n};\n\nenum {\n\tXFRM_DEV_OFFLOAD_IN = 1,\n\tXFRM_DEV_OFFLOAD_OUT = 2,\n\tXFRM_DEV_OFFLOAD_FWD = 3,\n};\n\nenum {\n\tXFRM_DEV_OFFLOAD_UNSPECIFIED = 0,\n\tXFRM_DEV_OFFLOAD_CRYPTO = 1,\n\tXFRM_DEV_OFFLOAD_PACKET = 2,\n};\n\nenum {\n\tXFRM_LOOKUP_ICMP = 1,\n\tXFRM_LOOKUP_QUEUE = 2,\n\tXFRM_LOOKUP_KEEP_DST_REF = 4,\n};\n\nenum {\n\tXFRM_MODE_FLAG_TUNNEL = 1,\n};\n\nenum {\n\tXFRM_MSG_BASE = 16,\n\tXFRM_MSG_NEWSA = 16,\n\tXFRM_MSG_DELSA = 17,\n\tXFRM_MSG_GETSA = 18,\n\tXFRM_MSG_NEWPOLICY = 19,\n\tXFRM_MSG_DELPOLICY = 20,\n\tXFRM_MSG_GETPOLICY = 21,\n\tXFRM_MSG_ALLOCSPI = 22,\n\tXFRM_MSG_ACQUIRE = 23,\n\tXFRM_MSG_EXPIRE = 24,\n\tXFRM_MSG_UPDPOLICY = 25,\n\tXFRM_MSG_UPDSA = 26,\n\tXFRM_MSG_POLEXPIRE = 27,\n\tXFRM_MSG_FLUSHSA = 28,\n\tXFRM_MSG_FLUSHPOLICY = 29,\n\tXFRM_MSG_NEWAE = 30,\n\tXFRM_MSG_GETAE = 31,\n\tXFRM_MSG_REPORT = 32,\n\tXFRM_MSG_MIGRATE = 33,\n\tXFRM_MSG_NEWSADINFO = 34,\n\tXFRM_MSG_GETSADINFO = 35,\n\tXFRM_MSG_NEWSPDINFO = 36,\n\tXFRM_MSG_GETSPDINFO = 37,\n\tXFRM_MSG_MAPPING = 38,\n\tXFRM_MSG_SETDEFAULT = 39,\n\tXFRM_MSG_GETDEFAULT = 40,\n\t__XFRM_MSG_MAX = 41,\n};\n\nenum {\n\tXFRM_POLICY_IN = 0,\n\tXFRM_POLICY_OUT = 1,\n\tXFRM_POLICY_FWD = 2,\n\tXFRM_POLICY_MASK = 3,\n\tXFRM_POLICY_MAX = 3,\n};\n\nenum {\n\tXFRM_POLICY_TYPE_MAIN = 0,\n\tXFRM_POLICY_TYPE_SUB = 1,\n\tXFRM_POLICY_TYPE_MAX = 2,\n\tXFRM_POLICY_TYPE_ANY = 255,\n};\n\nenum {\n\tXFRM_SHARE_ANY = 0,\n\tXFRM_SHARE_SESSION = 1,\n\tXFRM_SHARE_USER = 2,\n\tXFRM_SHARE_UNIQUE = 3,\n};\n\nenum {\n\tXFRM_STATE_VOID = 0,\n\tXFRM_STATE_ACQ = 1,\n\tXFRM_STATE_VALID = 2,\n\tXFRM_STATE_ERROR = 3,\n\tXFRM_STATE_EXPIRED = 4,\n\tXFRM_STATE_DEAD = 5,\n};\n\nenum {\n\tXFS_ERR_DEFAULT = 0,\n\tXFS_ERR_EIO = 1,\n\tXFS_ERR_ENOSPC = 2,\n\tXFS_ERR_ENODEV = 3,\n\tXFS_ERR_ERRNO_MAX = 4,\n};\n\nenum {\n\tXFS_ERR_METADATA = 0,\n\tXFS_ERR_CLASS_MAX = 1,\n};\n\nenum {\n\tXFS_LOWSP_1_PCNT = 0,\n\tXFS_LOWSP_2_PCNT = 1,\n\tXFS_LOWSP_3_PCNT = 2,\n\tXFS_LOWSP_4_PCNT = 3,\n\tXFS_LOWSP_5_PCNT = 4,\n\tXFS_LOWSP_MAX = 5,\n};\n\nenum {\n\tXFS_QLOWSP_1_PCNT = 0,\n\tXFS_QLOWSP_3_PCNT = 1,\n\tXFS_QLOWSP_5_PCNT = 2,\n\tXFS_QLOWSP_MAX = 3,\n};\n\nenum {\n\tXFS_QM_TRANS_USR = 0,\n\tXFS_QM_TRANS_GRP = 1,\n\tXFS_QM_TRANS_PRJ = 2,\n\tXFS_QM_TRANS_DQTYPES = 3,\n};\n\nenum {\n\tXPT_BUSY = 0,\n\tXPT_CONN = 1,\n\tXPT_CLOSE = 2,\n\tXPT_DATA = 3,\n\tXPT_TEMP = 4,\n\tXPT_DEAD = 5,\n\tXPT_CHNGBUF = 6,\n\tXPT_DEFERRED = 7,\n\tXPT_OLD = 8,\n\tXPT_LISTENER = 9,\n\tXPT_CACHE_AUTH = 10,\n\tXPT_LOCAL = 11,\n\tXPT_KILL_TEMP = 12,\n\tXPT_CONG_CTRL = 13,\n\tXPT_HANDSHAKE = 14,\n\tXPT_TLS_SESSION = 15,\n\tXPT_PEER_AUTH = 16,\n\tXPT_PEER_VALID = 17,\n};\n\nenum {\n\tZONELIST_FALLBACK = 0,\n\tZONELIST_NOFALLBACK = 1,\n\tMAX_ZONELISTS = 2,\n};\n\nenum {\n\tZSTDbss_compress = 0,\n\tZSTDbss_noCompress = 1,\n};\n\nenum {\n\t_DQUOT_USAGE_ENABLED = 0,\n\t_DQUOT_LIMITS_ENABLED = 1,\n\t_DQUOT_SUSPENDED = 2,\n\t_DQUOT_STATE_FLAGS = 3,\n};\n\nenum {\n\t_IRQ_DEFAULT_INIT_FLAGS = 1024,\n\t_IRQ_PER_CPU = 512,\n\t_IRQ_LEVEL = 256,\n\t_IRQ_NOPROBE = 1024,\n\t_IRQ_NOREQUEST = 2048,\n\t_IRQ_NOTHREAD = 65536,\n\t_IRQ_NOAUTOEN = 4096,\n\t_IRQ_NO_BALANCING = 8192,\n\t_IRQ_NESTED_THREAD = 32768,\n\t_IRQ_PER_CPU_DEVID = 131072,\n\t_IRQ_IS_POLLED = 262144,\n\t_IRQ_DISABLE_UNLAZY = 524288,\n\t_IRQ_HIDDEN = 1048576,\n\t_IRQ_NO_DEBUG = 2097152,\n\t_IRQF_MODIFY_MASK = 2080527,\n};\n\nenum {\n\t__EXTENT_DIRTY_BIT = 0,\n\tEXTENT_DIRTY = 1,\n\t__EXTENT_DIRTY_SEQ = 0,\n\t__EXTENT_UPTODATE_BIT = 1,\n\tEXTENT_UPTODATE = 2,\n\t__EXTENT_UPTODATE_SEQ = 1,\n\t__EXTENT_LOCKED_BIT = 2,\n\tEXTENT_LOCKED = 4,\n\t__EXTENT_LOCKED_SEQ = 2,\n\t__EXTENT_DIO_LOCKED_BIT = 3,\n\tEXTENT_DIO_LOCKED = 8,\n\t__EXTENT_DIO_LOCKED_SEQ = 3,\n\t__EXTENT_NEW_BIT = 4,\n\tEXTENT_NEW = 16,\n\t__EXTENT_NEW_SEQ = 4,\n\t__EXTENT_DELALLOC_BIT = 5,\n\tEXTENT_DELALLOC = 32,\n\t__EXTENT_DELALLOC_SEQ = 5,\n\t__EXTENT_DEFRAG_BIT = 6,\n\tEXTENT_DEFRAG = 64,\n\t__EXTENT_DEFRAG_SEQ = 6,\n\t__EXTENT_BOUNDARY_BIT = 7,\n\tEXTENT_BOUNDARY = 128,\n\t__EXTENT_BOUNDARY_SEQ = 7,\n\t__EXTENT_NODATASUM_BIT = 8,\n\tEXTENT_NODATASUM = 256,\n\t__EXTENT_NODATASUM_SEQ = 8,\n\t__EXTENT_CLEAR_META_RESV_BIT = 9,\n\tEXTENT_CLEAR_META_RESV = 512,\n\t__EXTENT_CLEAR_META_RESV_SEQ = 9,\n\t__EXTENT_NEED_WAIT_BIT = 10,\n\tEXTENT_NEED_WAIT = 1024,\n\t__EXTENT_NEED_WAIT_SEQ = 10,\n\t__EXTENT_NORESERVE_BIT = 11,\n\tEXTENT_NORESERVE = 2048,\n\t__EXTENT_NORESERVE_SEQ = 11,\n\t__EXTENT_QGROUP_RESERVED_BIT = 12,\n\tEXTENT_QGROUP_RESERVED = 4096,\n\t__EXTENT_QGROUP_RESERVED_SEQ = 12,\n\t__EXTENT_CLEAR_DATA_RESV_BIT = 13,\n\tEXTENT_CLEAR_DATA_RESV = 8192,\n\t__EXTENT_CLEAR_DATA_RESV_SEQ = 13,\n\t__EXTENT_DELALLOC_NEW_BIT = 14,\n\tEXTENT_DELALLOC_NEW = 16384,\n\t__EXTENT_DELALLOC_NEW_SEQ = 14,\n\t__EXTENT_ADD_INODE_BYTES_BIT = 15,\n\tEXTENT_ADD_INODE_BYTES = 32768,\n\t__EXTENT_ADD_INODE_BYTES_SEQ = 15,\n\t__EXTENT_CLEAR_ALL_BITS_BIT = 16,\n\tEXTENT_CLEAR_ALL_BITS = 65536,\n\t__EXTENT_CLEAR_ALL_BITS_SEQ = 16,\n\t__EXTENT_NOWAIT_BIT = 17,\n\tEXTENT_NOWAIT = 131072,\n\t__EXTENT_NOWAIT_SEQ = 17,\n};\n\nenum {\n\t__EXTENT_FLAG_PINNED_BIT = 0,\n\tEXTENT_FLAG_PINNED = 1,\n\t__EXTENT_FLAG_PINNED_SEQ = 0,\n\t__EXTENT_FLAG_COMPRESS_ZLIB_BIT = 1,\n\tEXTENT_FLAG_COMPRESS_ZLIB = 2,\n\t__EXTENT_FLAG_COMPRESS_ZLIB_SEQ = 1,\n\t__EXTENT_FLAG_COMPRESS_LZO_BIT = 2,\n\tEXTENT_FLAG_COMPRESS_LZO = 4,\n\t__EXTENT_FLAG_COMPRESS_LZO_SEQ = 2,\n\t__EXTENT_FLAG_COMPRESS_ZSTD_BIT = 3,\n\tEXTENT_FLAG_COMPRESS_ZSTD = 8,\n\t__EXTENT_FLAG_COMPRESS_ZSTD_SEQ = 3,\n\t__EXTENT_FLAG_PREALLOC_BIT = 4,\n\tEXTENT_FLAG_PREALLOC = 16,\n\t__EXTENT_FLAG_PREALLOC_SEQ = 4,\n\t__EXTENT_FLAG_LOGGING_BIT = 5,\n\tEXTENT_FLAG_LOGGING = 32,\n\t__EXTENT_FLAG_LOGGING_SEQ = 5,\n\t__EXTENT_FLAG_MERGED_BIT = 6,\n\tEXTENT_FLAG_MERGED = 64,\n\t__EXTENT_FLAG_MERGED_SEQ = 6,\n};\n\nenum {\n\t__ND_OPT_PREFIX_INFO_END = 0,\n\tND_OPT_SOURCE_LL_ADDR = 1,\n\tND_OPT_TARGET_LL_ADDR = 2,\n\tND_OPT_PREFIX_INFO = 3,\n\tND_OPT_REDIRECT_HDR = 4,\n\tND_OPT_MTU = 5,\n\tND_OPT_NONCE = 14,\n\t__ND_OPT_ARRAY_MAX = 15,\n\tND_OPT_ROUTE_INFO = 24,\n\tND_OPT_RDNSS = 25,\n\tND_OPT_DNSSL = 31,\n\tND_OPT_6CO = 34,\n\tND_OPT_CAPTIVE_PORTAL = 37,\n\tND_OPT_PREF64 = 38,\n\t__ND_OPT_MAX = 39,\n};\n\nenum {\n\t__PAGE_UNLOCK_BIT = 0,\n\tPAGE_UNLOCK = 1,\n\t__PAGE_UNLOCK_SEQ = 0,\n\t__PAGE_START_WRITEBACK_BIT = 1,\n\tPAGE_START_WRITEBACK = 2,\n\t__PAGE_START_WRITEBACK_SEQ = 1,\n\t__PAGE_END_WRITEBACK_BIT = 2,\n\tPAGE_END_WRITEBACK = 4,\n\t__PAGE_END_WRITEBACK_SEQ = 2,\n\t__PAGE_SET_ORDERED_BIT = 3,\n\tPAGE_SET_ORDERED = 8,\n\t__PAGE_SET_ORDERED_SEQ = 3,\n};\n\nenum {\n\t__PERCPU_REF_ATOMIC = 1,\n\t__PERCPU_REF_DEAD = 2,\n\t__PERCPU_REF_ATOMIC_DEAD = 3,\n\t__PERCPU_REF_FLAG_BITS = 2,\n};\n\nenum {\n\t__QGROUP_RESERVE_BIT = 0,\n\tQGROUP_RESERVE = 1,\n\t__QGROUP_RESERVE_SEQ = 0,\n\t__QGROUP_RELEASE_BIT = 1,\n\tQGROUP_RELEASE = 2,\n\t__QGROUP_RELEASE_SEQ = 1,\n\t__QGROUP_FREE_BIT = 2,\n\tQGROUP_FREE = 4,\n\t__QGROUP_FREE_SEQ = 2,\n};\n\nenum {\n\t__SCHED_FEAT_PLACE_LAG = 0,\n\t__SCHED_FEAT_PLACE_DEADLINE_INITIAL = 1,\n\t__SCHED_FEAT_PLACE_REL_DEADLINE = 2,\n\t__SCHED_FEAT_RUN_TO_PARITY = 3,\n\t__SCHED_FEAT_PREEMPT_SHORT = 4,\n\t__SCHED_FEAT_NEXT_BUDDY = 5,\n\t__SCHED_FEAT_PICK_BUDDY = 6,\n\t__SCHED_FEAT_CACHE_HOT_BUDDY = 7,\n\t__SCHED_FEAT_DELAY_DEQUEUE = 8,\n\t__SCHED_FEAT_DELAY_ZERO = 9,\n\t__SCHED_FEAT_WAKEUP_PREEMPTION = 10,\n\t__SCHED_FEAT_HRTICK = 11,\n\t__SCHED_FEAT_HRTICK_DL = 12,\n\t__SCHED_FEAT_NONTASK_CAPACITY = 13,\n\t__SCHED_FEAT_TTWU_QUEUE = 14,\n\t__SCHED_FEAT_SIS_UTIL = 15,\n\t__SCHED_FEAT_WARN_DOUBLE_CLOCK = 16,\n\t__SCHED_FEAT_RT_PUSH_IPI = 17,\n\t__SCHED_FEAT_RT_RUNTIME_SHARE = 18,\n\t__SCHED_FEAT_LB_MIN = 19,\n\t__SCHED_FEAT_ATTACH_AGE_LOAD = 20,\n\t__SCHED_FEAT_WA_IDLE = 21,\n\t__SCHED_FEAT_WA_WEIGHT = 22,\n\t__SCHED_FEAT_WA_BIAS = 23,\n\t__SCHED_FEAT_UTIL_EST = 24,\n\t__SCHED_FEAT_LATENCY_WARN = 25,\n\t__SCHED_FEAT_NR = 26,\n};\n\nenum {\n\t__XBTS_lookup = 0,\n\t__XBTS_compare = 1,\n\t__XBTS_insrec = 2,\n\t__XBTS_delrec = 3,\n\t__XBTS_newroot = 4,\n\t__XBTS_killroot = 5,\n\t__XBTS_increment = 6,\n\t__XBTS_decrement = 7,\n\t__XBTS_lshift = 8,\n\t__XBTS_rshift = 9,\n\t__XBTS_split = 10,\n\t__XBTS_join = 11,\n\t__XBTS_alloc = 12,\n\t__XBTS_free = 13,\n\t__XBTS_moves = 14,\n\t__XBTS_MAX = 15,\n};\n\nenum {\n\t___GFP_DMA_BIT = 0,\n\t___GFP_HIGHMEM_BIT = 1,\n\t___GFP_DMA32_BIT = 2,\n\t___GFP_MOVABLE_BIT = 3,\n\t___GFP_RECLAIMABLE_BIT = 4,\n\t___GFP_HIGH_BIT = 5,\n\t___GFP_IO_BIT = 6,\n\t___GFP_FS_BIT = 7,\n\t___GFP_ZERO_BIT = 8,\n\t___GFP_UNUSED_BIT = 9,\n\t___GFP_DIRECT_RECLAIM_BIT = 10,\n\t___GFP_KSWAPD_RECLAIM_BIT = 11,\n\t___GFP_WRITE_BIT = 12,\n\t___GFP_NOWARN_BIT = 13,\n\t___GFP_RETRY_MAYFAIL_BIT = 14,\n\t___GFP_NOFAIL_BIT = 15,\n\t___GFP_NORETRY_BIT = 16,\n\t___GFP_MEMALLOC_BIT = 17,\n\t___GFP_COMP_BIT = 18,\n\t___GFP_NOMEMALLOC_BIT = 19,\n\t___GFP_HARDWALL_BIT = 20,\n\t___GFP_THISNODE_BIT = 21,\n\t___GFP_ACCOUNT_BIT = 22,\n\t___GFP_ZEROTAGS_BIT = 23,\n\t___GFP_NO_OBJ_EXT_BIT = 24,\n\t___GFP_LAST_BIT = 25,\n};\n\nenum {\n\t____TRANS_FREEZABLE_BIT = 0,\n\t__TRANS_FREEZABLE = 1,\n\t____TRANS_FREEZABLE_SEQ = 0,\n\t____TRANS_START_BIT = 1,\n\t__TRANS_START = 2,\n\t____TRANS_START_SEQ = 1,\n\t____TRANS_ATTACH_BIT = 2,\n\t__TRANS_ATTACH = 4,\n\t____TRANS_ATTACH_SEQ = 2,\n\t____TRANS_JOIN_BIT = 3,\n\t__TRANS_JOIN = 8,\n\t____TRANS_JOIN_SEQ = 3,\n\t____TRANS_JOIN_NOLOCK_BIT = 4,\n\t__TRANS_JOIN_NOLOCK = 16,\n\t____TRANS_JOIN_NOLOCK_SEQ = 4,\n\t____TRANS_DUMMY_BIT = 5,\n\t__TRANS_DUMMY = 32,\n\t____TRANS_DUMMY_SEQ = 5,\n\t____TRANS_JOIN_NOSTART_BIT = 6,\n\t__TRANS_JOIN_NOSTART = 64,\n\t____TRANS_JOIN_NOSTART_SEQ = 6,\n};\n\nenum {\n\t__ctx_convertBPF_PROG_TYPE_SOCKET_FILTER = 0,\n\t__ctx_convertBPF_PROG_TYPE_SCHED_CLS = 1,\n\t__ctx_convertBPF_PROG_TYPE_SCHED_ACT = 2,\n\t__ctx_convertBPF_PROG_TYPE_XDP = 3,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SKB = 4,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCK = 5,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 6,\n\t__ctx_convertBPF_PROG_TYPE_LWT_IN = 7,\n\t__ctx_convertBPF_PROG_TYPE_LWT_OUT = 8,\n\t__ctx_convertBPF_PROG_TYPE_LWT_XMIT = 9,\n\t__ctx_convertBPF_PROG_TYPE_LWT_SEG6LOCAL = 10,\n\t__ctx_convertBPF_PROG_TYPE_SOCK_OPS = 11,\n\t__ctx_convertBPF_PROG_TYPE_SK_SKB = 12,\n\t__ctx_convertBPF_PROG_TYPE_SK_MSG = 13,\n\t__ctx_convertBPF_PROG_TYPE_FLOW_DISSECTOR = 14,\n\t__ctx_convertBPF_PROG_TYPE_KPROBE = 15,\n\t__ctx_convertBPF_PROG_TYPE_TRACEPOINT = 16,\n\t__ctx_convertBPF_PROG_TYPE_PERF_EVENT = 17,\n\t__ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT = 18,\n\t__ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 19,\n\t__ctx_convertBPF_PROG_TYPE_TRACING = 20,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_DEVICE = 21,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SYSCTL = 22,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCKOPT = 23,\n\t__ctx_convertBPF_PROG_TYPE_SK_REUSEPORT = 24,\n\t__ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 25,\n\t__ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 26,\n\t__ctx_convertBPF_PROG_TYPE_EXT = 27,\n\t__ctx_convertBPF_PROG_TYPE_SYSCALL = 28,\n\t__ctx_convertBPF_PROG_TYPE_NETFILTER = 29,\n\t__ctx_convert_unused = 30,\n};\n\nenum {\n\tattr_noop = 0,\n\tattr_delayed_allocation_blocks = 1,\n\tattr_session_write_kbytes = 2,\n\tattr_lifetime_write_kbytes = 3,\n\tattr_reserved_clusters = 4,\n\tattr_sra_exceeded_retry_limit = 5,\n\tattr_inode_readahead = 6,\n\tattr_trigger_test_error = 7,\n\tattr_first_error_time = 8,\n\tattr_last_error_time = 9,\n\tattr_clusters_in_group = 10,\n\tattr_mb_order = 11,\n\tattr_feature = 12,\n\tattr_pointer_pi = 13,\n\tattr_pointer_ui = 14,\n\tattr_pointer_ul = 15,\n\tattr_pointer_u64 = 16,\n\tattr_pointer_u8 = 17,\n\tattr_pointer_string = 18,\n\tattr_pointer_atomic = 19,\n\tattr_journal_task = 20,\n};\n\nenum {\n\tblank_off = 0,\n\tblank_normal_wait = 1,\n\tblank_vesa_wait = 2,\n};\n\nenum {\n\tbtrfs_bitmap_nr_uptodate = 0,\n\tbtrfs_bitmap_nr_dirty = 1,\n\tbtrfs_bitmap_nr_writeback = 2,\n\tbtrfs_bitmap_nr_ordered = 3,\n\tbtrfs_bitmap_nr_checked = 4,\n\tbtrfs_bitmap_nr_locked = 5,\n\tbtrfs_bitmap_nr_max = 6,\n};\n\nenum {\n\tcpuset = 0,\n\tpossible = 1,\n\tfail = 2,\n};\n\nenum {\n\tdns_key_data = 0,\n\tdns_key_error = 1,\n};\n\nenum {\n\te1000_10_half = 0,\n\te1000_10_full = 1,\n\te1000_100_half = 2,\n\te1000_100_full = 3,\n};\n\nenum {\n\te1000_igp_cable_length_10 = 10,\n\te1000_igp_cable_length_20 = 20,\n\te1000_igp_cable_length_30 = 30,\n\te1000_igp_cable_length_40 = 40,\n\te1000_igp_cable_length_50 = 50,\n\te1000_igp_cable_length_60 = 60,\n\te1000_igp_cable_length_70 = 70,\n\te1000_igp_cable_length_80 = 80,\n\te1000_igp_cable_length_90 = 90,\n\te1000_igp_cable_length_100 = 100,\n\te1000_igp_cable_length_110 = 110,\n\te1000_igp_cable_length_115 = 115,\n\te1000_igp_cable_length_120 = 120,\n\te1000_igp_cable_length_130 = 130,\n\te1000_igp_cable_length_140 = 140,\n\te1000_igp_cable_length_150 = 150,\n\te1000_igp_cable_length_160 = 160,\n\te1000_igp_cable_length_170 = 170,\n\te1000_igp_cable_length_180 = 180,\n};\n\nenum {\n\tfalse = 0,\n\ttrue = 1,\n};\n\nenum {\n\tmechtype_caddy = 0,\n\tmechtype_tray = 1,\n\tmechtype_popup = 2,\n\tmechtype_individual_changer = 4,\n\tmechtype_cartridge_changer = 5,\n};\n\nenum {\n\tnone = 0,\n\tday = 1,\n\tmonth = 2,\n\tyear = 3,\n};\n\nenum {\n\tpci_channel_io_normal = 1,\n\tpci_channel_io_frozen = 2,\n\tpci_channel_io_perm_failure = 3,\n};\n\nenum {\n\tpreempt_dynamic_undefined = -1,\n\tpreempt_dynamic_none = 0,\n\tpreempt_dynamic_voluntary = 1,\n\tpreempt_dynamic_full = 2,\n\tpreempt_dynamic_lazy = 3,\n};\n\nenum {\n\tptr_explicit = 0,\n\tptr_ext4_sb_info_offset = 1,\n\tptr_ext4_super_block_offset = 2,\n};\n\nenum {\n\tsysctl_hung_task_timeout_secs = 0,\n};\n\ntypedef enum {\n\tBIT_DStream_unfinished = 0,\n\tBIT_DStream_endOfBuffer = 1,\n\tBIT_DStream_completed = 2,\n\tBIT_DStream_overflow = 3,\n} BIT_DStream_status;\n\ntypedef enum {\n\tEfiPciIoWidthUint8 = 0,\n\tEfiPciIoWidthUint16 = 1,\n\tEfiPciIoWidthUint32 = 2,\n\tEfiPciIoWidthUint64 = 3,\n\tEfiPciIoWidthFifoUint8 = 4,\n\tEfiPciIoWidthFifoUint16 = 5,\n\tEfiPciIoWidthFifoUint32 = 6,\n\tEfiPciIoWidthFifoUint64 = 7,\n\tEfiPciIoWidthFillUint8 = 8,\n\tEfiPciIoWidthFillUint16 = 9,\n\tEfiPciIoWidthFillUint32 = 10,\n\tEfiPciIoWidthFillUint64 = 11,\n\tEfiPciIoWidthMaximum = 12,\n} EFI_PCI_IO_PROTOCOL_WIDTH;\n\ntypedef enum {\n\tEfiTimerCancel = 0,\n\tEfiTimerPeriodic = 1,\n\tEfiTimerRelative = 2,\n} EFI_TIMER_DELAY;\n\ntypedef enum {\n\tZSTD_error_no_error = 0,\n\tZSTD_error_GENERIC = 1,\n\tZSTD_error_prefix_unknown = 10,\n\tZSTD_error_version_unsupported = 12,\n\tZSTD_error_frameParameter_unsupported = 14,\n\tZSTD_error_frameParameter_windowTooLarge = 16,\n\tZSTD_error_corruption_detected = 20,\n\tZSTD_error_checksum_wrong = 22,\n\tZSTD_error_dictionary_corrupted = 30,\n\tZSTD_error_dictionary_wrong = 32,\n\tZSTD_error_dictionaryCreation_failed = 34,\n\tZSTD_error_parameter_unsupported = 40,\n\tZSTD_error_parameter_outOfBound = 42,\n\tZSTD_error_tableLog_tooLarge = 44,\n\tZSTD_error_maxSymbolValue_tooLarge = 46,\n\tZSTD_error_maxSymbolValue_tooSmall = 48,\n\tZSTD_error_stage_wrong = 60,\n\tZSTD_error_init_missing = 62,\n\tZSTD_error_memory_allocation = 64,\n\tZSTD_error_workSpace_tooSmall = 66,\n\tZSTD_error_dstSize_tooSmall = 70,\n\tZSTD_error_srcSize_wrong = 72,\n\tZSTD_error_dstBuffer_null = 74,\n\tZSTD_error_frameIndex_tooLarge = 100,\n\tZSTD_error_seekableIO = 102,\n\tZSTD_error_dstBuffer_wrong = 104,\n\tZSTD_error_srcBuffer_wrong = 105,\n\tZSTD_error_maxCode = 120,\n} ZSTD_ErrorCode;\n\ntypedef ZSTD_ErrorCode ERR_enum;\n\ntypedef enum {\n\tFSE_repeat_none = 0,\n\tFSE_repeat_check = 1,\n\tFSE_repeat_valid = 2,\n} FSE_repeat;\n\ntypedef enum {\n\ttrustInput = 0,\n\tcheckMaxSymbolValue = 1,\n} HIST_checkInput_e;\n\ntypedef enum {\n\tHUF_singleStream = 0,\n\tHUF_fourStreams = 1,\n} HUF_nbStreams_e;\n\ntypedef enum {\n\tHUF_repeat_none = 0,\n\tHUF_repeat_check = 1,\n\tHUF_repeat_valid = 2,\n} HUF_repeat;\n\ntypedef enum {\n\tZSTD_e_continue = 0,\n\tZSTD_e_flush = 1,\n\tZSTD_e_end = 2,\n} ZSTD_EndDirective;\n\ntypedef enum {\n\tzop_dynamic = 0,\n\tzop_predef = 1,\n} ZSTD_OptPrice_e;\n\ntypedef enum {\n\tZSTD_reset_session_only = 1,\n\tZSTD_reset_parameters = 2,\n\tZSTD_reset_session_and_parameters = 3,\n} ZSTD_ResetDirective;\n\ntypedef enum {\n\tZSTD_bm_buffered = 0,\n\tZSTD_bm_stable = 1,\n} ZSTD_bufferMode_e;\n\ntypedef enum {\n\tZSTDb_not_buffered = 0,\n\tZSTDb_buffered = 1,\n} ZSTD_buffered_policy_e;\n\ntypedef enum {\n\tZSTD_cpm_noAttachDict = 0,\n\tZSTD_cpm_attachDict = 1,\n\tZSTD_cpm_createCDict = 2,\n\tZSTD_cpm_unknown = 3,\n} ZSTD_cParamMode_e;\n\ntypedef enum {\n\tZSTD_c_compressionLevel = 100,\n\tZSTD_c_windowLog = 101,\n\tZSTD_c_hashLog = 102,\n\tZSTD_c_chainLog = 103,\n\tZSTD_c_searchLog = 104,\n\tZSTD_c_minMatch = 105,\n\tZSTD_c_targetLength = 106,\n\tZSTD_c_strategy = 107,\n\tZSTD_c_enableLongDistanceMatching = 160,\n\tZSTD_c_ldmHashLog = 161,\n\tZSTD_c_ldmMinMatch = 162,\n\tZSTD_c_ldmBucketSizeLog = 163,\n\tZSTD_c_ldmHashRateLog = 164,\n\tZSTD_c_contentSizeFlag = 200,\n\tZSTD_c_checksumFlag = 201,\n\tZSTD_c_dictIDFlag = 202,\n\tZSTD_c_nbWorkers = 400,\n\tZSTD_c_jobSize = 401,\n\tZSTD_c_overlapLog = 402,\n\tZSTD_c_experimentalParam1 = 500,\n\tZSTD_c_experimentalParam2 = 10,\n\tZSTD_c_experimentalParam3 = 1000,\n\tZSTD_c_experimentalParam4 = 1001,\n\tZSTD_c_experimentalParam5 = 1002,\n\tZSTD_c_experimentalParam6 = 1003,\n\tZSTD_c_experimentalParam7 = 1004,\n\tZSTD_c_experimentalParam8 = 1005,\n\tZSTD_c_experimentalParam9 = 1006,\n\tZSTD_c_experimentalParam10 = 1007,\n\tZSTD_c_experimentalParam11 = 1008,\n\tZSTD_c_experimentalParam12 = 1009,\n\tZSTD_c_experimentalParam13 = 1010,\n\tZSTD_c_experimentalParam14 = 1011,\n\tZSTD_c_experimentalParam15 = 1012,\n} ZSTD_cParameter;\n\ntypedef enum {\n\tzcss_init = 0,\n\tzcss_load = 1,\n\tzcss_flush = 2,\n} ZSTD_cStreamStage;\n\ntypedef enum {\n\tZSTDcrp_makeClean = 0,\n\tZSTDcrp_leaveDirty = 1,\n} ZSTD_compResetPolicy_e;\n\ntypedef enum {\n\tZSTDcs_created = 0,\n\tZSTDcs_init = 1,\n\tZSTDcs_ongoing = 2,\n\tZSTDcs_ending = 3,\n} ZSTD_compressionStage_e;\n\ntypedef enum {\n\tZSTD_cwksp_alloc_objects = 0,\n\tZSTD_cwksp_alloc_buffers = 1,\n\tZSTD_cwksp_alloc_aligned = 2,\n} ZSTD_cwksp_alloc_phase_e;\n\ntypedef enum {\n\tZSTD_cwksp_dynamic_alloc = 0,\n\tZSTD_cwksp_static_alloc = 1,\n} ZSTD_cwksp_static_alloc_e;\n\ntypedef enum {\n\tZSTD_d_windowLogMax = 100,\n\tZSTD_d_experimentalParam1 = 1000,\n\tZSTD_d_experimentalParam2 = 1001,\n\tZSTD_d_experimentalParam3 = 1002,\n\tZSTD_d_experimentalParam4 = 1003,\n} ZSTD_dParameter;\n\ntypedef enum {\n\tZSTDds_getFrameHeaderSize = 0,\n\tZSTDds_decodeFrameHeader = 1,\n\tZSTDds_decodeBlockHeader = 2,\n\tZSTDds_decompressBlock = 3,\n\tZSTDds_decompressLastBlock = 4,\n\tZSTDds_checkChecksum = 5,\n\tZSTDds_decodeSkippableHeader = 6,\n\tZSTDds_skipFrame = 7,\n} ZSTD_dStage;\n\ntypedef enum {\n\tzdss_init = 0,\n\tzdss_loadHeader = 1,\n\tzdss_read = 2,\n\tzdss_load = 3,\n\tzdss_flush = 4,\n} ZSTD_dStreamStage;\n\ntypedef enum {\n\tZSTD_defaultDisallowed = 0,\n\tZSTD_defaultAllowed = 1,\n} ZSTD_defaultPolicy_e;\n\ntypedef enum {\n\tZSTD_dictDefaultAttach = 0,\n\tZSTD_dictForceAttach = 1,\n\tZSTD_dictForceCopy = 2,\n\tZSTD_dictForceLoad = 3,\n} ZSTD_dictAttachPref_e;\n\ntypedef enum {\n\tZSTD_dct_auto = 0,\n\tZSTD_dct_rawContent = 1,\n\tZSTD_dct_fullDict = 2,\n} ZSTD_dictContentType_e;\n\ntypedef enum {\n\tZSTD_dlm_byCopy = 0,\n\tZSTD_dlm_byRef = 1,\n} ZSTD_dictLoadMethod_e;\n\ntypedef enum {\n\tZSTD_noDict = 0,\n\tZSTD_extDict = 1,\n\tZSTD_dictMatchState = 2,\n\tZSTD_dedicatedDictSearch = 3,\n} ZSTD_dictMode_e;\n\ntypedef enum {\n\tZSTD_dtlm_fast = 0,\n\tZSTD_dtlm_full = 1,\n} ZSTD_dictTableLoadMethod_e;\n\ntypedef enum {\n\tZSTD_use_indefinitely = -1,\n\tZSTD_dont_use = 0,\n\tZSTD_use_once = 1,\n} ZSTD_dictUses_e;\n\ntypedef enum {\n\tZSTD_d_validateChecksum = 0,\n\tZSTD_d_ignoreChecksum = 1,\n} ZSTD_forceIgnoreChecksum_e;\n\ntypedef enum {\n\tZSTD_f_zstd1 = 0,\n\tZSTD_f_zstd1_magicless = 1,\n} ZSTD_format_e;\n\ntypedef enum {\n\tZSTD_frame = 0,\n\tZSTD_skippableFrame = 1,\n} ZSTD_frameType_e;\n\ntypedef enum {\n\tZSTDirp_continue = 0,\n\tZSTDirp_reset = 1,\n} ZSTD_indexResetPolicy_e;\n\ntypedef enum {\n\tZSTD_not_in_dst = 0,\n\tZSTD_in_dst = 1,\n\tZSTD_split = 2,\n} ZSTD_litLocation_e;\n\ntypedef enum {\n\tZSTD_llt_none = 0,\n\tZSTD_llt_literalLength = 1,\n\tZSTD_llt_matchLength = 2,\n} ZSTD_longLengthType_e;\n\ntypedef enum {\n\tZSTD_lo_isRegularOffset = 0,\n\tZSTD_lo_isLongOffset = 1,\n} ZSTD_longOffset_e;\n\ntypedef enum {\n\tZSTDnit_frameHeader = 0,\n\tZSTDnit_blockHeader = 1,\n\tZSTDnit_block = 2,\n\tZSTDnit_lastBlock = 3,\n\tZSTDnit_checksum = 4,\n\tZSTDnit_skippableFrame = 5,\n} ZSTD_nextInputType_e;\n\ntypedef enum {\n\tZSTD_no_overlap = 0,\n\tZSTD_overlap_src_before_dst = 1,\n} ZSTD_overlap_e;\n\ntypedef enum {\n\tZSTD_ps_auto = 0,\n\tZSTD_ps_enable = 1,\n\tZSTD_ps_disable = 2,\n} ZSTD_paramSwitch_e;\n\ntypedef enum {\n\tZSTD_rmd_refSingleDDict = 0,\n\tZSTD_rmd_refMultipleDDicts = 1,\n} ZSTD_refMultipleDDicts_e;\n\ntypedef enum {\n\tZSTD_resetTarget_CDict = 0,\n\tZSTD_resetTarget_CCtx = 1,\n} ZSTD_resetTarget_e;\n\ntypedef enum {\n\tZSTD_sf_noBlockDelimiters = 0,\n\tZSTD_sf_explicitBlockDelimiters = 1,\n} ZSTD_sequenceFormat_e;\n\ntypedef enum {\n\tZSTD_fast = 1,\n\tZSTD_dfast = 2,\n\tZSTD_greedy = 3,\n\tZSTD_lazy = 4,\n\tZSTD_lazy2 = 5,\n\tZSTD_btlazy2 = 6,\n\tZSTD_btopt = 7,\n\tZSTD_btultra = 8,\n\tZSTD_btultra2 = 9,\n} ZSTD_strategy;\n\ntypedef enum {\n\tOSL_GLOBAL_LOCK_HANDLER = 0,\n\tOSL_NOTIFY_HANDLER = 1,\n\tOSL_GPE_HANDLER = 2,\n\tOSL_DEBUGGER_MAIN_THREAD = 3,\n\tOSL_DEBUGGER_EXEC_THREAD = 4,\n\tOSL_EC_POLL_HANDLER = 5,\n\tOSL_EC_BURST_HANDLER = 6,\n} acpi_execute_type;\n\ntypedef enum {\n\tACPI_IMODE_LOAD_PASS1 = 1,\n\tACPI_IMODE_LOAD_PASS2 = 2,\n\tACPI_IMODE_EXECUTE = 3,\n} acpi_interpreter_mode;\n\ntypedef enum {\n\tACPI_TRACE_AML_METHOD = 0,\n\tACPI_TRACE_AML_OPCODE = 1,\n\tACPI_TRACE_AML_REGION = 2,\n} acpi_trace_event_type;\n\ntypedef enum {\n\tbt_raw = 0,\n\tbt_rle = 1,\n\tbt_compressed = 2,\n\tbt_reserved = 3,\n} blockType_e;\n\ntypedef enum {\n\tneed_more = 0,\n\tblock_done = 1,\n\tfinish_started = 2,\n\tfinish_done = 3,\n} block_state;\n\ntypedef enum {\n\tCODES = 0,\n\tLENS = 1,\n\tDISTS = 2,\n} codetype;\n\ntypedef enum {\n\tFILE_MEMORY_MIGRATE = 0,\n\tFILE_CPULIST = 1,\n\tFILE_MEMLIST = 2,\n\tFILE_EFFECTIVE_CPULIST = 3,\n\tFILE_EFFECTIVE_MEMLIST = 4,\n\tFILE_SUBPARTS_CPULIST = 5,\n\tFILE_EXCLUSIVE_CPULIST = 6,\n\tFILE_EFFECTIVE_XCPULIST = 7,\n\tFILE_ISOLATED_CPULIST = 8,\n\tFILE_CPU_EXCLUSIVE = 9,\n\tFILE_MEM_EXCLUSIVE = 10,\n\tFILE_MEM_HARDWALL = 11,\n\tFILE_SCHED_LOAD_BALANCE = 12,\n\tFILE_PARTITION_ROOT = 13,\n\tFILE_SCHED_RELAX_DOMAIN_LEVEL = 14,\n\tFILE_MEMORY_PRESSURE_ENABLED = 15,\n\tFILE_MEMORY_PRESSURE = 16,\n\tFILE_SPREAD_PAGE = 17,\n\tFILE_SPREAD_SLAB = 18,\n} cpuset_filetype_t;\n\ntypedef enum {\n\tCS_ONLINE = 0,\n\tCS_CPU_EXCLUSIVE = 1,\n\tCS_MEM_EXCLUSIVE = 2,\n\tCS_MEM_HARDWALL = 3,\n\tCS_MEMORY_MIGRATE = 4,\n\tCS_SCHED_LOAD_BALANCE = 5,\n\tCS_SPREAD_PAGE = 6,\n\tCS_SPREAD_SLAB = 7,\n} cpuset_flagbits_t;\n\ntypedef enum {\n\tnoDict = 0,\n\twithPrefix64k = 1,\n\tusingExtDict = 2,\n} dict_directive;\n\ntypedef enum {\n\tEITHER = 0,\n\tINDEX = 1,\n\tDIRENT = 2,\n\tDIRENT_HTREE = 3,\n} dirblock_type_t;\n\ntypedef enum {\n\te1000_1000t_rx_status_not_ok = 0,\n\te1000_1000t_rx_status_ok = 1,\n\te1000_1000t_rx_status_undefined = 255,\n} e1000_1000t_rx_status;\n\ntypedef enum {\n\te1000_10bt_ext_dist_enable_normal = 0,\n\te1000_10bt_ext_dist_enable_lower = 1,\n\te1000_10bt_ext_dist_enable_undefined = 255,\n} e1000_10bt_ext_dist_enable;\n\ntypedef enum {\n\te1000_auto_x_mode_manual_mdi = 0,\n\te1000_auto_x_mode_manual_mdix = 1,\n\te1000_auto_x_mode_auto1 = 2,\n\te1000_auto_x_mode_auto2 = 3,\n\te1000_auto_x_mode_undefined = 255,\n} e1000_auto_x_mode;\n\ntypedef enum {\n\te1000_bus_speed_unknown = 0,\n\te1000_bus_speed_33 = 1,\n\te1000_bus_speed_66 = 2,\n\te1000_bus_speed_100 = 3,\n\te1000_bus_speed_120 = 4,\n\te1000_bus_speed_133 = 5,\n\te1000_bus_speed_reserved = 6,\n} e1000_bus_speed;\n\ntypedef enum {\n\te1000_bus_type_unknown = 0,\n\te1000_bus_type_pci = 1,\n\te1000_bus_type_pcix = 2,\n\te1000_bus_type_reserved = 3,\n} e1000_bus_type;\n\ntypedef enum {\n\te1000_bus_width_unknown = 0,\n\te1000_bus_width_32 = 1,\n\te1000_bus_width_64 = 2,\n\te1000_bus_width_reserved = 3,\n} e1000_bus_width;\n\ntypedef enum {\n\te1000_cable_length_50 = 0,\n\te1000_cable_length_50_80 = 1,\n\te1000_cable_length_80_110 = 2,\n\te1000_cable_length_110_140 = 3,\n\te1000_cable_length_140 = 4,\n\te1000_cable_length_undefined = 255,\n} e1000_cable_length;\n\ntypedef enum {\n\te1000_downshift_normal = 0,\n\te1000_downshift_activated = 1,\n\te1000_downshift_undefined = 255,\n} e1000_downshift;\n\ntypedef enum {\n\te1000_dsp_config_disabled = 0,\n\te1000_dsp_config_enabled = 1,\n\te1000_dsp_config_activated = 2,\n\te1000_dsp_config_undefined = 255,\n} e1000_dsp_config;\n\ntypedef enum {\n\te1000_eeprom_uninitialized = 0,\n\te1000_eeprom_spi = 1,\n\te1000_eeprom_microwire = 2,\n\te1000_eeprom_flash = 3,\n\te1000_eeprom_none = 4,\n\te1000_num_eeprom_types = 5,\n} e1000_eeprom_type;\n\ntypedef enum {\n\tE1000_FC_NONE = 0,\n\tE1000_FC_RX_PAUSE = 1,\n\tE1000_FC_TX_PAUSE = 2,\n\tE1000_FC_FULL = 3,\n\tE1000_FC_DEFAULT = 255,\n} e1000_fc_type;\n\ntypedef enum {\n\te1000_ffe_config_enabled = 0,\n\te1000_ffe_config_active = 1,\n\te1000_ffe_config_blocked = 2,\n} e1000_ffe_config;\n\ntypedef enum {\n\te1000_undefined = 0,\n\te1000_82542_rev2_0 = 1,\n\te1000_82542_rev2_1 = 2,\n\te1000_82543 = 3,\n\te1000_82544 = 4,\n\te1000_82540 = 5,\n\te1000_82545 = 6,\n\te1000_82545_rev_3 = 7,\n\te1000_82546 = 8,\n\te1000_ce4100 = 9,\n\te1000_82546_rev_3 = 10,\n\te1000_82541 = 11,\n\te1000_82541_rev_2 = 12,\n\te1000_82547 = 13,\n\te1000_82547_rev_2 = 14,\n\te1000_num_macs = 15,\n} e1000_mac_type;\n\ntypedef enum {\n\te1000_media_type_copper = 0,\n\te1000_media_type_fiber = 1,\n\te1000_media_type_internal_serdes = 2,\n\te1000_num_media_types = 3,\n} e1000_media_type;\n\ntypedef enum {\n\te1000_ms_hw_default = 0,\n\te1000_ms_force_master = 1,\n\te1000_ms_force_slave = 2,\n\te1000_ms_auto = 3,\n} e1000_ms_type;\n\ntypedef enum {\n\te1000_phy_m88 = 0,\n\te1000_phy_igp = 1,\n\te1000_phy_8211 = 2,\n\te1000_phy_8201 = 3,\n\te1000_phy_undefined = 255,\n} e1000_phy_type;\n\ntypedef enum {\n\te1000_polarity_reversal_enabled = 0,\n\te1000_polarity_reversal_disabled = 1,\n\te1000_polarity_reversal_undefined = 255,\n} e1000_polarity_reversal;\n\ntypedef enum {\n\te1000_rev_polarity_normal = 0,\n\te1000_rev_polarity_reversed = 1,\n\te1000_rev_polarity_undefined = 255,\n} e1000_rev_polarity;\n\ntypedef enum {\n\te1000_smart_speed_default = 0,\n\te1000_smart_speed_on = 1,\n\te1000_smart_speed_off = 2,\n} e1000_smart_speed;\n\ntypedef enum {\n\tdecode_full_block = 0,\n\tpartial_decode = 1,\n} earlyEnd_directive;\n\ntypedef enum {\n\tendOnOutputSize = 0,\n\tendOnInputSize = 1,\n} endCondition_directive;\n\ntypedef enum {\n\tEXT4_IGET_NORMAL = 0,\n\tEXT4_IGET_SPECIAL = 1,\n\tEXT4_IGET_HANDLE = 2,\n\tEXT4_IGET_BAD = 4,\n\tEXT4_IGET_EA_INODE = 8,\n} ext4_iget_flags;\n\ntypedef enum {\n\tFS_DECRYPT = 0,\n\tFS_ENCRYPT = 1,\n} fscrypt_direction_t;\n\ntypedef enum {\n\tHEAD = 0,\n\tFLAGS = 1,\n\tTIME = 2,\n\tOS = 3,\n\tEXLEN = 4,\n\tEXTRA = 5,\n\tNAME = 6,\n\tCOMMENT = 7,\n\tHCRC = 8,\n\tDICTID = 9,\n\tDICT = 10,\n\tTYPE = 11,\n\tTYPEDO = 12,\n\tSTORED = 13,\n\tCOPY = 14,\n\tTABLE = 15,\n\tLENLENS = 16,\n\tCODELENS = 17,\n\tLEN = 18,\n\tLENEXT = 19,\n\tDIST = 20,\n\tDISTEXT = 21,\n\tMATCH = 22,\n\tLIT = 23,\n\tCHECK = 24,\n\tLENGTH = 25,\n\tDONE = 26,\n\tBAD = 27,\n\tMEM = 28,\n\tSYNC = 29,\n} inflate_mode;\n\ntypedef enum {\n\tISOLATE_ABORT = 0,\n\tISOLATE_NONE = 1,\n\tISOLATE_SUCCESS = 2,\n} isolate_migrate_t;\n\ntypedef enum {\n\tMAP_CHG_REUSE = 0,\n\tMAP_CHG_NEEDED = 1,\n\tMAP_CHG_ENFORCED = 2,\n} map_chg_state;\n\ntypedef enum {\n\tPAGE_KEEP = 0,\n\tPAGE_ACTIVATE = 1,\n\tPAGE_SUCCESS = 2,\n\tPAGE_CLEAN = 3,\n} pageout_t;\n\ntypedef enum {\n\tPARPORT_CLASS_LEGACY = 0,\n\tPARPORT_CLASS_PRINTER = 1,\n\tPARPORT_CLASS_MODEM = 2,\n\tPARPORT_CLASS_NET = 3,\n\tPARPORT_CLASS_HDC = 4,\n\tPARPORT_CLASS_PCMCIA = 5,\n\tPARPORT_CLASS_MEDIA = 6,\n\tPARPORT_CLASS_FDC = 7,\n\tPARPORT_CLASS_PORTS = 8,\n\tPARPORT_CLASS_SCANNER = 9,\n\tPARPORT_CLASS_DIGCAM = 10,\n\tPARPORT_CLASS_OTHER = 11,\n\tPARPORT_CLASS_UNSPEC = 12,\n\tPARPORT_CLASS_SCSIADAPTER = 13,\n} parport_device_class;\n\ntypedef enum {\n\tPHY_INTERFACE_MODE_NA = 0,\n\tPHY_INTERFACE_MODE_INTERNAL = 1,\n\tPHY_INTERFACE_MODE_MII = 2,\n\tPHY_INTERFACE_MODE_GMII = 3,\n\tPHY_INTERFACE_MODE_SGMII = 4,\n\tPHY_INTERFACE_MODE_TBI = 5,\n\tPHY_INTERFACE_MODE_REVMII = 6,\n\tPHY_INTERFACE_MODE_RMII = 7,\n\tPHY_INTERFACE_MODE_REVRMII = 8,\n\tPHY_INTERFACE_MODE_RGMII = 9,\n\tPHY_INTERFACE_MODE_RGMII_ID = 10,\n\tPHY_INTERFACE_MODE_RGMII_RXID = 11,\n\tPHY_INTERFACE_MODE_RGMII_TXID = 12,\n\tPHY_INTERFACE_MODE_RTBI = 13,\n\tPHY_INTERFACE_MODE_SMII = 14,\n\tPHY_INTERFACE_MODE_XGMII = 15,\n\tPHY_INTERFACE_MODE_XLGMII = 16,\n\tPHY_INTERFACE_MODE_MOCA = 17,\n\tPHY_INTERFACE_MODE_PSGMII = 18,\n\tPHY_INTERFACE_MODE_QSGMII = 19,\n\tPHY_INTERFACE_MODE_TRGMII = 20,\n\tPHY_INTERFACE_MODE_100BASEX = 21,\n\tPHY_INTERFACE_MODE_1000BASEX = 22,\n\tPHY_INTERFACE_MODE_2500BASEX = 23,\n\tPHY_INTERFACE_MODE_5GBASER = 24,\n\tPHY_INTERFACE_MODE_RXAUI = 25,\n\tPHY_INTERFACE_MODE_XAUI = 26,\n\tPHY_INTERFACE_MODE_10GBASER = 27,\n\tPHY_INTERFACE_MODE_25GBASER = 28,\n\tPHY_INTERFACE_MODE_USXGMII = 29,\n\tPHY_INTERFACE_MODE_10GKR = 30,\n\tPHY_INTERFACE_MODE_QUSGMII = 31,\n\tPHY_INTERFACE_MODE_1000BASEKX = 32,\n\tPHY_INTERFACE_MODE_10G_QXGMII = 33,\n\tPHY_INTERFACE_MODE_MAX = 34,\n} phy_interface_t;\n\ntypedef enum {\n\tPSMOUSE_BAD_DATA = 0,\n\tPSMOUSE_GOOD_DATA = 1,\n\tPSMOUSE_FULL_PACKET = 2,\n} psmouse_ret_t;\n\ntypedef enum {\n\tsearch_hashChain = 0,\n\tsearch_binaryTree = 1,\n\tsearch_rowHash = 2,\n} searchMethod_e;\n\ntypedef enum {\n\tSS_FREE = 0,\n\tSS_UNCONNECTED = 1,\n\tSS_CONNECTING = 2,\n\tSS_CONNECTED = 3,\n\tSS_DISCONNECTING = 4,\n} socket_state;\n\ntypedef enum {\n\tSTATUSTYPE_INFO = 0,\n\tSTATUSTYPE_TABLE = 1,\n\tSTATUSTYPE_IMA = 2,\n} status_type_t;\n\ntypedef enum {\n\tnot_streaming = 0,\n\tis_streaming = 1,\n} streaming_operation;\n\ntypedef enum {\n\tset_basic = 0,\n\tset_rle = 1,\n\tset_compressed = 2,\n\tset_repeat = 3,\n} symbolEncodingType_e;\n\ntypedef enum {\n\tXFS_EXT_NORM = 0,\n\tXFS_EXT_UNWRITTEN = 1,\n} xfs_exntst_t;\n\ntypedef enum {\n\tXFS_LOOKUP_EQi = 0,\n\tXFS_LOOKUP_LEi = 1,\n\tXFS_LOOKUP_GEi = 2,\n} xfs_lookup_t;\n\ntypedef ZSTD_ErrorCode zstd_error_code;\n\nenum CMD_RET_VALUES {\n\tREFIRE_CMD = 1,\n\tCOMPLETE_CMD = 2,\n\tRETURN_CMD = 3,\n};\n\nenum CSI_J {\n\tCSI_J_CURSOR_TO_END = 0,\n\tCSI_J_START_TO_CURSOR = 1,\n\tCSI_J_VISIBLE = 2,\n\tCSI_J_FULL = 3,\n};\n\nenum CSI_right_square_bracket {\n\tCSI_RSB_COLOR_FOR_UNDERLINE = 1,\n\tCSI_RSB_COLOR_FOR_HALF_BRIGHT = 2,\n\tCSI_RSB_MAKE_CUR_COLOR_DEFAULT = 8,\n\tCSI_RSB_BLANKING_INTERVAL = 9,\n\tCSI_RSB_BELL_FREQUENCY = 10,\n\tCSI_RSB_BELL_DURATION = 11,\n\tCSI_RSB_BRING_CONSOLE_TO_FRONT = 12,\n\tCSI_RSB_UNBLANK = 13,\n\tCSI_RSB_VESA_OFF_INTERVAL = 14,\n\tCSI_RSB_BRING_PREV_CONSOLE_TO_FRONT = 15,\n\tCSI_RSB_CURSOR_BLINK_INTERVAL = 16,\n};\n\nenum DCMD_RETURN_STATUS {\n\tDCMD_SUCCESS = 0,\n\tDCMD_TIMEOUT = 1,\n\tDCMD_FAILED = 2,\n\tDCMD_BUSY = 3,\n\tDCMD_INIT = 255,\n};\n\nenum DCMD_TIMEOUT_ACTION {\n\tINITIATE_OCR = 0,\n\tKILL_ADAPTER = 1,\n\tIGNORE_TIMEOUT = 2,\n};\n\nenum E1000_INVM_STRUCTURE_TYPE {\n\tE1000_INVM_UNINITIALIZED_STRUCTURE = 0,\n\tE1000_INVM_WORD_AUTOLOAD_STRUCTURE = 1,\n\tE1000_INVM_CSR_AUTOLOAD_STRUCTURE = 2,\n\tE1000_INVM_PHY_REGISTER_AUTOLOAD_STRUCTURE = 3,\n\tE1000_INVM_RSA_KEY_SHA256_STRUCTURE = 4,\n\tE1000_INVM_INVALIDATED_STRUCTURE = 15,\n};\n\nenum FW_BOOT_CONTEXT {\n\tPROBE_CONTEXT = 0,\n\tOCR_CONTEXT = 1,\n};\n\nenum KTHREAD_BITS {\n\tKTHREAD_IS_PER_CPU = 0,\n\tKTHREAD_SHOULD_STOP = 1,\n\tKTHREAD_SHOULD_PARK = 2,\n};\n\nenum MEGASAS_LD_TARGET_ID_STATUS {\n\tLD_TARGET_ID_INITIAL = 0,\n\tLD_TARGET_ID_ACTIVE = 1,\n\tLD_TARGET_ID_DELETED = 2,\n};\n\nenum MEGASAS_OCR_CAUSE {\n\tFW_FAULT_OCR = 0,\n\tSCSIIO_TIMEOUT_OCR = 1,\n\tMFI_IO_TIMEOUT_OCR = 2,\n};\n\nenum MFI_CMD_OP {\n\tMFI_CMD_INIT = 0,\n\tMFI_CMD_LD_READ = 1,\n\tMFI_CMD_LD_WRITE = 2,\n\tMFI_CMD_LD_SCSI_IO = 3,\n\tMFI_CMD_PD_SCSI_IO = 4,\n\tMFI_CMD_DCMD = 5,\n\tMFI_CMD_ABORT = 6,\n\tMFI_CMD_SMP = 7,\n\tMFI_CMD_STP = 8,\n\tMFI_CMD_NVME = 9,\n\tMFI_CMD_TOOLBOX = 10,\n\tMFI_CMD_OP_COUNT = 11,\n\tMFI_CMD_INVALID = 255,\n};\n\nenum MFI_STAT {\n\tMFI_STAT_OK = 0,\n\tMFI_STAT_INVALID_CMD = 1,\n\tMFI_STAT_INVALID_DCMD = 2,\n\tMFI_STAT_INVALID_PARAMETER = 3,\n\tMFI_STAT_INVALID_SEQUENCE_NUMBER = 4,\n\tMFI_STAT_ABORT_NOT_POSSIBLE = 5,\n\tMFI_STAT_APP_HOST_CODE_NOT_FOUND = 6,\n\tMFI_STAT_APP_IN_USE = 7,\n\tMFI_STAT_APP_NOT_INITIALIZED = 8,\n\tMFI_STAT_ARRAY_INDEX_INVALID = 9,\n\tMFI_STAT_ARRAY_ROW_NOT_EMPTY = 10,\n\tMFI_STAT_CONFIG_RESOURCE_CONFLICT = 11,\n\tMFI_STAT_DEVICE_NOT_FOUND = 12,\n\tMFI_STAT_DRIVE_TOO_SMALL = 13,\n\tMFI_STAT_FLASH_ALLOC_FAIL = 14,\n\tMFI_STAT_FLASH_BUSY = 15,\n\tMFI_STAT_FLASH_ERROR = 16,\n\tMFI_STAT_FLASH_IMAGE_BAD = 17,\n\tMFI_STAT_FLASH_IMAGE_INCOMPLETE = 18,\n\tMFI_STAT_FLASH_NOT_OPEN = 19,\n\tMFI_STAT_FLASH_NOT_STARTED = 20,\n\tMFI_STAT_FLUSH_FAILED = 21,\n\tMFI_STAT_HOST_CODE_NOT_FOUNT = 22,\n\tMFI_STAT_LD_CC_IN_PROGRESS = 23,\n\tMFI_STAT_LD_INIT_IN_PROGRESS = 24,\n\tMFI_STAT_LD_LBA_OUT_OF_RANGE = 25,\n\tMFI_STAT_LD_MAX_CONFIGURED = 26,\n\tMFI_STAT_LD_NOT_OPTIMAL = 27,\n\tMFI_STAT_LD_RBLD_IN_PROGRESS = 28,\n\tMFI_STAT_LD_RECON_IN_PROGRESS = 29,\n\tMFI_STAT_LD_WRONG_RAID_LEVEL = 30,\n\tMFI_STAT_MAX_SPARES_EXCEEDED = 31,\n\tMFI_STAT_MEMORY_NOT_AVAILABLE = 32,\n\tMFI_STAT_MFC_HW_ERROR = 33,\n\tMFI_STAT_NO_HW_PRESENT = 34,\n\tMFI_STAT_NOT_FOUND = 35,\n\tMFI_STAT_NOT_IN_ENCL = 36,\n\tMFI_STAT_PD_CLEAR_IN_PROGRESS = 37,\n\tMFI_STAT_PD_TYPE_WRONG = 38,\n\tMFI_STAT_PR_DISABLED = 39,\n\tMFI_STAT_ROW_INDEX_INVALID = 40,\n\tMFI_STAT_SAS_CONFIG_INVALID_ACTION = 41,\n\tMFI_STAT_SAS_CONFIG_INVALID_DATA = 42,\n\tMFI_STAT_SAS_CONFIG_INVALID_PAGE = 43,\n\tMFI_STAT_SAS_CONFIG_INVALID_TYPE = 44,\n\tMFI_STAT_SCSI_DONE_WITH_ERROR = 45,\n\tMFI_STAT_SCSI_IO_FAILED = 46,\n\tMFI_STAT_SCSI_RESERVATION_CONFLICT = 47,\n\tMFI_STAT_SHUTDOWN_FAILED = 48,\n\tMFI_STAT_TIME_NOT_SET = 49,\n\tMFI_STAT_WRONG_STATE = 50,\n\tMFI_STAT_LD_OFFLINE = 51,\n\tMFI_STAT_PEER_NOTIFICATION_REJECTED = 52,\n\tMFI_STAT_PEER_NOTIFICATION_FAILED = 53,\n\tMFI_STAT_RESERVATION_IN_PROGRESS = 54,\n\tMFI_STAT_I2C_ERRORS_DETECTED = 55,\n\tMFI_STAT_PCI_ERRORS_DETECTED = 56,\n\tMFI_STAT_CONFIG_SEQ_MISMATCH = 103,\n\tMFI_STAT_INVALID_STATUS = 255,\n};\n\nenum MR_ADAPTER_TYPE {\n\tMFI_SERIES = 1,\n\tTHUNDERBOLT_SERIES = 2,\n\tINVADER_SERIES = 3,\n\tVENTURA_SERIES = 4,\n\tAERO_SERIES = 5,\n};\n\nenum MR_EVT_CLASS {\n\tMR_EVT_CLASS_DEBUG = -2,\n\tMR_EVT_CLASS_PROGRESS = -1,\n\tMR_EVT_CLASS_INFO = 0,\n\tMR_EVT_CLASS_WARNING = 1,\n\tMR_EVT_CLASS_CRITICAL = 2,\n\tMR_EVT_CLASS_FATAL = 3,\n\tMR_EVT_CLASS_DEAD = 4,\n};\n\nenum MR_EVT_LOCALE {\n\tMR_EVT_LOCALE_LD = 1,\n\tMR_EVT_LOCALE_PD = 2,\n\tMR_EVT_LOCALE_ENCL = 4,\n\tMR_EVT_LOCALE_BBU = 8,\n\tMR_EVT_LOCALE_SAS = 16,\n\tMR_EVT_LOCALE_CTRL = 32,\n\tMR_EVT_LOCALE_CONFIG = 64,\n\tMR_EVT_LOCALE_CLUSTER = 128,\n\tMR_EVT_LOCALE_ALL = 65535,\n};\n\nenum MR_FW_CRASH_DUMP_STATE {\n\tUNAVAILABLE = 0,\n\tAVAILABLE = 1,\n\tCOPYING = 2,\n\tCOPIED = 3,\n\tCOPY_ERROR = 4,\n};\n\nenum MR_LD_QUERY_TYPE {\n\tMR_LD_QUERY_TYPE_ALL = 0,\n\tMR_LD_QUERY_TYPE_EXPOSED_TO_HOST = 1,\n\tMR_LD_QUERY_TYPE_USED_TGT_IDS = 2,\n\tMR_LD_QUERY_TYPE_CLUSTER_ACCESS = 3,\n\tMR_LD_QUERY_TYPE_CLUSTER_LOCALE = 4,\n};\n\nenum MR_PD_QUERY_TYPE {\n\tMR_PD_QUERY_TYPE_ALL = 0,\n\tMR_PD_QUERY_TYPE_STATE = 1,\n\tMR_PD_QUERY_TYPE_POWER_STATE = 2,\n\tMR_PD_QUERY_TYPE_MEDIA_TYPE = 3,\n\tMR_PD_QUERY_TYPE_SPEED = 4,\n\tMR_PD_QUERY_TYPE_EXPOSED_TO_HOST = 5,\n};\n\nenum MR_PD_STATE {\n\tMR_PD_STATE_UNCONFIGURED_GOOD = 0,\n\tMR_PD_STATE_UNCONFIGURED_BAD = 1,\n\tMR_PD_STATE_HOT_SPARE = 2,\n\tMR_PD_STATE_OFFLINE = 16,\n\tMR_PD_STATE_FAILED = 17,\n\tMR_PD_STATE_REBUILD = 20,\n\tMR_PD_STATE_ONLINE = 24,\n\tMR_PD_STATE_COPYBACK = 32,\n\tMR_PD_STATE_SYSTEM = 64,\n};\n\nenum MR_PD_TYPE {\n\tUNKNOWN_DRIVE = 0,\n\tPARALLEL_SCSI = 1,\n\tSAS_PD = 2,\n\tSATA_PD = 3,\n\tFC_PD = 4,\n\tNVME_PD = 5,\n};\n\nenum MR_PERF_MODE {\n\tMR_BALANCED_PERF_MODE = 0,\n\tMR_IOPS_PERF_MODE = 1,\n\tMR_LATENCY_PERF_MODE = 2,\n};\n\nenum MR_RAID_FLAGS_IO_SUB_TYPE {\n\tMR_RAID_FLAGS_IO_SUB_TYPE_NONE = 0,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_SYSTEM_PD = 1,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_RMW_DATA = 2,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_RMW_P = 3,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_RMW_Q = 4,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_CACHE_BYPASS = 6,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_LDIO_BW_LIMIT = 7,\n\tMR_RAID_FLAGS_IO_SUB_TYPE_R56_DIV_OFFLOAD = 8,\n};\n\nenum MR_RAID_MAP_DESC_TYPE {\n\tRAID_MAP_DESC_TYPE_DEVHDL_INFO = 0,\n\tRAID_MAP_DESC_TYPE_TGTID_INFO = 1,\n\tRAID_MAP_DESC_TYPE_ARRAY_INFO = 2,\n\tRAID_MAP_DESC_TYPE_SPAN_INFO = 3,\n\tRAID_MAP_DESC_TYPE_COUNT = 4,\n};\n\nenum MR_SCSI_CMD_TYPE {\n\tREAD_WRITE_LDIO = 0,\n\tNON_READ_WRITE_LDIO = 1,\n\tREAD_WRITE_SYSPDIO = 2,\n\tNON_READ_WRITE_SYSPDIO = 3,\n};\n\nenum OID {\n\tOID_id_dsa_with_sha1 = 0,\n\tOID_id_dsa = 1,\n\tOID_id_ecPublicKey = 2,\n\tOID_id_prime192v1 = 3,\n\tOID_id_prime256v1 = 4,\n\tOID_id_ecdsa_with_sha1 = 5,\n\tOID_id_ecdsa_with_sha224 = 6,\n\tOID_id_ecdsa_with_sha256 = 7,\n\tOID_id_ecdsa_with_sha384 = 8,\n\tOID_id_ecdsa_with_sha512 = 9,\n\tOID_rsaEncryption = 10,\n\tOID_sha1WithRSAEncryption = 11,\n\tOID_sha256WithRSAEncryption = 12,\n\tOID_sha384WithRSAEncryption = 13,\n\tOID_sha512WithRSAEncryption = 14,\n\tOID_sha224WithRSAEncryption = 15,\n\tOID_data = 16,\n\tOID_signed_data = 17,\n\tOID_email_address = 18,\n\tOID_contentType = 19,\n\tOID_messageDigest = 20,\n\tOID_signingTime = 21,\n\tOID_smimeCapabilites = 22,\n\tOID_smimeAuthenticatedAttrs = 23,\n\tOID_mskrb5 = 24,\n\tOID_krb5 = 25,\n\tOID_krb5u2u = 26,\n\tOID_msIndirectData = 27,\n\tOID_msStatementType = 28,\n\tOID_msSpOpusInfo = 29,\n\tOID_msPeImageDataObjId = 30,\n\tOID_msIndividualSPKeyPurpose = 31,\n\tOID_msOutlookExpress = 32,\n\tOID_ntlmssp = 33,\n\tOID_negoex = 34,\n\tOID_spnego = 35,\n\tOID_IAKerb = 36,\n\tOID_PKU2U = 37,\n\tOID_Scram = 38,\n\tOID_certAuthInfoAccess = 39,\n\tOID_sha1 = 40,\n\tOID_id_ansip384r1 = 41,\n\tOID_id_ansip521r1 = 42,\n\tOID_sha256 = 43,\n\tOID_sha384 = 44,\n\tOID_sha512 = 45,\n\tOID_sha224 = 46,\n\tOID_commonName = 47,\n\tOID_surname = 48,\n\tOID_countryName = 49,\n\tOID_locality = 50,\n\tOID_stateOrProvinceName = 51,\n\tOID_organizationName = 52,\n\tOID_organizationUnitName = 53,\n\tOID_title = 54,\n\tOID_description = 55,\n\tOID_name = 56,\n\tOID_givenName = 57,\n\tOID_initials = 58,\n\tOID_generationalQualifier = 59,\n\tOID_subjectKeyIdentifier = 60,\n\tOID_keyUsage = 61,\n\tOID_subjectAltName = 62,\n\tOID_issuerAltName = 63,\n\tOID_basicConstraints = 64,\n\tOID_crlDistributionPoints = 65,\n\tOID_certPolicies = 66,\n\tOID_authorityKeyIdentifier = 67,\n\tOID_extKeyUsage = 68,\n\tOID_NetlogonMechanism = 69,\n\tOID_appleLocalKdcSupported = 70,\n\tOID_gostCPSignA = 71,\n\tOID_gostCPSignB = 72,\n\tOID_gostCPSignC = 73,\n\tOID_gost2012PKey256 = 74,\n\tOID_gost2012PKey512 = 75,\n\tOID_gost2012Digest256 = 76,\n\tOID_gost2012Digest512 = 77,\n\tOID_gost2012Signature256 = 78,\n\tOID_gost2012Signature512 = 79,\n\tOID_gostTC26Sign256A = 80,\n\tOID_gostTC26Sign256B = 81,\n\tOID_gostTC26Sign256C = 82,\n\tOID_gostTC26Sign256D = 83,\n\tOID_gostTC26Sign512A = 84,\n\tOID_gostTC26Sign512B = 85,\n\tOID_gostTC26Sign512C = 86,\n\tOID_sm2 = 87,\n\tOID_sm3 = 88,\n\tOID_SM2_with_SM3 = 89,\n\tOID_sm3WithRSAEncryption = 90,\n\tOID_TPMLoadableKey = 91,\n\tOID_TPMImportableKey = 92,\n\tOID_TPMSealedData = 93,\n\tOID_sha3_256 = 94,\n\tOID_sha3_384 = 95,\n\tOID_sha3_512 = 96,\n\tOID_id_ecdsa_with_sha3_256 = 97,\n\tOID_id_ecdsa_with_sha3_384 = 98,\n\tOID_id_ecdsa_with_sha3_512 = 99,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_256 = 100,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_384 = 101,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_512 = 102,\n\tOID__NR = 103,\n};\n\nenum Opt_errors {\n\tOpt_errors_continue = 0,\n\tOpt_errors_panic = 1,\n};\n\nenum REGION_TYPE {\n\tREGION_TYPE_UNUSED = 0,\n\tREGION_TYPE_SHARED_READ = 1,\n\tREGION_TYPE_SHARED_WRITE = 2,\n\tREGION_TYPE_EXCLUSIVE = 3,\n};\n\nenum SHIFT_DIRECTION {\n\tSHIFT_LEFT = 0,\n\tSHIFT_RIGHT = 1,\n};\n\nenum SS4_PACKET_ID {\n\tSS4_PACKET_ID_IDLE = 0,\n\tSS4_PACKET_ID_ONE = 1,\n\tSS4_PACKET_ID_TWO = 2,\n\tSS4_PACKET_ID_MULTI = 3,\n\tSS4_PACKET_ID_STICK = 4,\n};\n\nenum V7_PACKET_ID {\n\tV7_PACKET_ID_IDLE = 0,\n\tV7_PACKET_ID_TWO = 1,\n\tV7_PACKET_ID_MULTI = 2,\n\tV7_PACKET_ID_NEW = 3,\n\tV7_PACKET_ID_UNKNOWN = 4,\n};\n\nenum VANIR_REVISION_ID {\n\tVANIR_A0_REV = 160,\n\tVANIR_B0_REV = 1,\n\tVANIR_C0_REV = 2,\n\tVANIR_C1_REV = 3,\n\tVANIR_C2_REV = 194,\n};\n\nenum WX_MSCA_CMD_value {\n\tWX_MSCA_CMD_RSV = 0,\n\tWX_MSCA_CMD_WRITE = 1,\n\tWX_MSCA_CMD_POST_READ = 2,\n\tWX_MSCA_CMD_READ = 3,\n};\n\nenum _MR_CRASH_BUF_STATUS {\n\tMR_CRASH_BUF_TURN_OFF = 0,\n\tMR_CRASH_BUF_TURN_ON = 1,\n};\n\nenum __sk_action {\n\t__SK_DROP = 0,\n\t__SK_PASS = 1,\n\t__SK_REDIRECT = 2,\n\t__SK_NONE = 3,\n};\n\nenum _record_type {\n\t_START_RECORD = 0,\n\t_COMMIT_RECORD = 1,\n};\n\nenum _slab_flag_bits {\n\t_SLAB_CONSISTENCY_CHECKS = 0,\n\t_SLAB_RED_ZONE = 1,\n\t_SLAB_POISON = 2,\n\t_SLAB_KMALLOC = 3,\n\t_SLAB_HWCACHE_ALIGN = 4,\n\t_SLAB_CACHE_DMA = 5,\n\t_SLAB_CACHE_DMA32 = 6,\n\t_SLAB_STORE_USER = 7,\n\t_SLAB_PANIC = 8,\n\t_SLAB_TYPESAFE_BY_RCU = 9,\n\t_SLAB_TRACE = 10,\n\t_SLAB_NOLEAKTRACE = 11,\n\t_SLAB_NO_MERGE = 12,\n\t_SLAB_ACCOUNT = 13,\n\t_SLAB_NO_USER_FLAGS = 14,\n\t_SLAB_RECLAIM_ACCOUNT = 15,\n\t_SLAB_OBJECT_POISON = 16,\n\t_SLAB_CMPXCHG_DOUBLE = 17,\n\t_SLAB_NO_OBJ_EXT = 18,\n\t_SLAB_FLAGS_LAST_BIT = 19,\n};\n\nenum aa_code {\n\tAA_U8 = 0,\n\tAA_U16 = 1,\n\tAA_U32 = 2,\n\tAA_U64 = 3,\n\tAA_NAME = 4,\n\tAA_STRING = 5,\n\tAA_BLOB = 6,\n\tAA_STRUCT = 7,\n\tAA_STRUCTEND = 8,\n\tAA_LIST = 9,\n\tAA_LISTEND = 10,\n\tAA_ARRAY = 11,\n\tAA_ARRAYEND = 12,\n};\n\nenum aa_sfs_type {\n\tAA_SFS_TYPE_BOOLEAN = 0,\n\tAA_SFS_TYPE_STRING = 1,\n\tAA_SFS_TYPE_U64 = 2,\n\tAA_SFS_TYPE_FOPS = 3,\n\tAA_SFS_TYPE_DIR = 4,\n};\n\nenum aafs_ns_type {\n\tAAFS_NS_DIR = 0,\n\tAAFS_NS_PROFS = 1,\n\tAAFS_NS_NS = 2,\n\tAAFS_NS_RAW_DATA = 3,\n\tAAFS_NS_LOAD = 4,\n\tAAFS_NS_REPLACE = 5,\n\tAAFS_NS_REMOVE = 6,\n\tAAFS_NS_REVISION = 7,\n\tAAFS_NS_COUNT = 8,\n\tAAFS_NS_MAX_COUNT = 9,\n\tAAFS_NS_SIZE = 10,\n\tAAFS_NS_MAX_SIZE = 11,\n\tAAFS_NS_OWNER = 12,\n\tAAFS_NS_SIZEOF = 13,\n};\n\nenum aafs_prof_type {\n\tAAFS_PROF_DIR = 0,\n\tAAFS_PROF_PROFS = 1,\n\tAAFS_PROF_NAME = 2,\n\tAAFS_PROF_MODE = 3,\n\tAAFS_PROF_ATTACH = 4,\n\tAAFS_PROF_HASH = 5,\n\tAAFS_PROF_RAW_DATA = 6,\n\tAAFS_PROF_RAW_HASH = 7,\n\tAAFS_PROF_RAW_ABI = 8,\n\tAAFS_PROF_SIZEOF = 9,\n};\n\nenum access_coordinate_class {\n\tACCESS_COORDINATE_LOCAL = 0,\n\tACCESS_COORDINATE_CPU = 1,\n\tACCESS_COORDINATE_MAX = 2,\n};\n\nenum acpi_attr_enum {\n\tACPI_ATTR_LABEL_SHOW = 0,\n\tACPI_ATTR_INDEX_SHOW = 1,\n};\n\nenum acpi_bridge_type {\n\tACPI_BRIDGE_TYPE_PCIE = 1,\n\tACPI_BRIDGE_TYPE_CXL = 2,\n};\n\nenum acpi_bus_device_type {\n\tACPI_BUS_TYPE_DEVICE = 0,\n\tACPI_BUS_TYPE_POWER = 1,\n\tACPI_BUS_TYPE_PROCESSOR = 2,\n\tACPI_BUS_TYPE_THERMAL = 3,\n\tACPI_BUS_TYPE_POWER_BUTTON = 4,\n\tACPI_BUS_TYPE_SLEEP_BUTTON = 5,\n\tACPI_BUS_TYPE_ECDT_EC = 6,\n\tACPI_BUS_DEVICE_TYPE_COUNT = 7,\n};\n\nenum acpi_cdat_type {\n\tACPI_CDAT_TYPE_DSMAS = 0,\n\tACPI_CDAT_TYPE_DSLBIS = 1,\n\tACPI_CDAT_TYPE_DSMSCIS = 2,\n\tACPI_CDAT_TYPE_DSIS = 3,\n\tACPI_CDAT_TYPE_DSEMTS = 4,\n\tACPI_CDAT_TYPE_SSLBIS = 5,\n\tACPI_CDAT_TYPE_RESERVED = 6,\n};\n\nenum acpi_cedt_type {\n\tACPI_CEDT_TYPE_CHBS = 0,\n\tACPI_CEDT_TYPE_CFMWS = 1,\n\tACPI_CEDT_TYPE_CXIMS = 2,\n\tACPI_CEDT_TYPE_RDPAS = 3,\n\tACPI_CEDT_TYPE_RESERVED = 4,\n};\n\nenum acpi_device_swnode_dev_props {\n\tACPI_DEVICE_SWNODE_DEV_ROTATION = 0,\n\tACPI_DEVICE_SWNODE_DEV_CLOCK_FREQUENCY = 1,\n\tACPI_DEVICE_SWNODE_DEV_LED_MAX_MICROAMP = 2,\n\tACPI_DEVICE_SWNODE_DEV_FLASH_MAX_MICROAMP = 3,\n\tACPI_DEVICE_SWNODE_DEV_FLASH_MAX_TIMEOUT_US = 4,\n\tACPI_DEVICE_SWNODE_DEV_NUM_OF = 5,\n\tACPI_DEVICE_SWNODE_DEV_NUM_ENTRIES = 6,\n};\n\nenum acpi_device_swnode_ep_props {\n\tACPI_DEVICE_SWNODE_EP_REMOTE_EP = 0,\n\tACPI_DEVICE_SWNODE_EP_BUS_TYPE = 1,\n\tACPI_DEVICE_SWNODE_EP_REG = 2,\n\tACPI_DEVICE_SWNODE_EP_CLOCK_LANES = 3,\n\tACPI_DEVICE_SWNODE_EP_DATA_LANES = 4,\n\tACPI_DEVICE_SWNODE_EP_LANE_POLARITIES = 5,\n\tACPI_DEVICE_SWNODE_EP_LINK_FREQUENCIES = 6,\n\tACPI_DEVICE_SWNODE_EP_NUM_OF = 7,\n\tACPI_DEVICE_SWNODE_EP_NUM_ENTRIES = 8,\n};\n\nenum acpi_device_swnode_port_props {\n\tACPI_DEVICE_SWNODE_PORT_REG = 0,\n\tACPI_DEVICE_SWNODE_PORT_NUM_OF = 1,\n\tACPI_DEVICE_SWNODE_PORT_NUM_ENTRIES = 2,\n};\n\nenum acpi_ec_event_state {\n\tEC_EVENT_READY = 0,\n\tEC_EVENT_IN_PROGRESS = 1,\n\tEC_EVENT_COMPLETE = 2,\n};\n\nenum acpi_irq_model_id {\n\tACPI_IRQ_MODEL_PIC = 0,\n\tACPI_IRQ_MODEL_IOAPIC = 1,\n\tACPI_IRQ_MODEL_IOSAPIC = 2,\n\tACPI_IRQ_MODEL_PLATFORM = 3,\n\tACPI_IRQ_MODEL_GIC = 4,\n\tACPI_IRQ_MODEL_LPIC = 5,\n\tACPI_IRQ_MODEL_RINTC = 6,\n\tACPI_IRQ_MODEL_COUNT = 7,\n};\n\nenum acpi_madt_core_pic_version {\n\tACPI_MADT_CORE_PIC_VERSION_NONE = 0,\n\tACPI_MADT_CORE_PIC_VERSION_V1 = 1,\n\tACPI_MADT_CORE_PIC_VERSION_RESERVED = 2,\n};\n\nenum acpi_madt_multiproc_wakeup_version {\n\tACPI_MADT_MP_WAKEUP_VERSION_NONE = 0,\n\tACPI_MADT_MP_WAKEUP_VERSION_V1 = 1,\n\tACPI_MADT_MP_WAKEUP_VERSION_RESERVED = 2,\n};\n\nenum acpi_madt_type {\n\tACPI_MADT_TYPE_LOCAL_APIC = 0,\n\tACPI_MADT_TYPE_IO_APIC = 1,\n\tACPI_MADT_TYPE_INTERRUPT_OVERRIDE = 2,\n\tACPI_MADT_TYPE_NMI_SOURCE = 3,\n\tACPI_MADT_TYPE_LOCAL_APIC_NMI = 4,\n\tACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE = 5,\n\tACPI_MADT_TYPE_IO_SAPIC = 6,\n\tACPI_MADT_TYPE_LOCAL_SAPIC = 7,\n\tACPI_MADT_TYPE_INTERRUPT_SOURCE = 8,\n\tACPI_MADT_TYPE_LOCAL_X2APIC = 9,\n\tACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10,\n\tACPI_MADT_TYPE_GENERIC_INTERRUPT = 11,\n\tACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12,\n\tACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13,\n\tACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14,\n\tACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15,\n\tACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16,\n\tACPI_MADT_TYPE_CORE_PIC = 17,\n\tACPI_MADT_TYPE_LIO_PIC = 18,\n\tACPI_MADT_TYPE_HT_PIC = 19,\n\tACPI_MADT_TYPE_EIO_PIC = 20,\n\tACPI_MADT_TYPE_MSI_PIC = 21,\n\tACPI_MADT_TYPE_BIO_PIC = 22,\n\tACPI_MADT_TYPE_LPC_PIC = 23,\n\tACPI_MADT_TYPE_RINTC = 24,\n\tACPI_MADT_TYPE_IMSIC = 25,\n\tACPI_MADT_TYPE_APLIC = 26,\n\tACPI_MADT_TYPE_PLIC = 27,\n\tACPI_MADT_TYPE_RESERVED = 28,\n\tACPI_MADT_TYPE_OEM_RESERVED = 128,\n};\n\nenum acpi_pptt_type {\n\tACPI_PPTT_TYPE_PROCESSOR = 0,\n\tACPI_PPTT_TYPE_CACHE = 1,\n\tACPI_PPTT_TYPE_ID = 2,\n\tACPI_PPTT_TYPE_RESERVED = 3,\n};\n\nenum acpi_predicate {\n\tall_versions = 0,\n\tless_than_or_equal = 1,\n\tequal = 2,\n\tgreater_than_or_equal = 3,\n};\n\nenum acpi_reconfig_event {\n\tACPI_RECONFIG_DEVICE_ADD = 0,\n\tACPI_RECONFIG_DEVICE_REMOVE = 1,\n};\n\nenum acpi_return_package_types {\n\tACPI_PTYPE1_FIXED = 1,\n\tACPI_PTYPE1_VAR = 2,\n\tACPI_PTYPE1_OPTION = 3,\n\tACPI_PTYPE2 = 4,\n\tACPI_PTYPE2_COUNT = 5,\n\tACPI_PTYPE2_PKG_COUNT = 6,\n\tACPI_PTYPE2_FIXED = 7,\n\tACPI_PTYPE2_MIN = 8,\n\tACPI_PTYPE2_REV_FIXED = 9,\n\tACPI_PTYPE2_FIX_VAR = 10,\n\tACPI_PTYPE2_VAR_VAR = 11,\n\tACPI_PTYPE2_UUID_PAIR = 12,\n\tACPI_PTYPE_CUSTOM = 13,\n};\n\nenum acpi_srat_type {\n\tACPI_SRAT_TYPE_CPU_AFFINITY = 0,\n\tACPI_SRAT_TYPE_MEMORY_AFFINITY = 1,\n\tACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY = 2,\n\tACPI_SRAT_TYPE_GICC_AFFINITY = 3,\n\tACPI_SRAT_TYPE_GIC_ITS_AFFINITY = 4,\n\tACPI_SRAT_TYPE_GENERIC_AFFINITY = 5,\n\tACPI_SRAT_TYPE_GENERIC_PORT_AFFINITY = 6,\n\tACPI_SRAT_TYPE_RINTC_AFFINITY = 7,\n\tACPI_SRAT_TYPE_RESERVED = 8,\n};\n\nenum acpi_subtable_type {\n\tACPI_SUBTABLE_COMMON = 0,\n\tACPI_SUBTABLE_HMAT = 1,\n\tACPI_SUBTABLE_PRMT = 2,\n\tACPI_SUBTABLE_CEDT = 3,\n\tCDAT_SUBTABLE = 4,\n};\n\nenum actions {\n\tREGISTER = 0,\n\tDEREGISTER = 1,\n\tCPU_DONT_CARE = 2,\n};\n\nenum addr_type_t {\n\tUNICAST_ADDR = 0,\n\tMULTICAST_ADDR = 1,\n\tANYCAST_ADDR = 2,\n};\n\nenum alarmtimer_type {\n\tALARM_REALTIME = 0,\n\tALARM_BOOTTIME = 1,\n\tALARM_NUMTYPE = 2,\n\tALARM_REALTIME_FREEZER = 3,\n\tALARM_BOOTTIME_FREEZER = 4,\n};\n\nenum amd_chipset_gen {\n\tNOT_AMD_CHIPSET = 0,\n\tAMD_CHIPSET_SB600 = 1,\n\tAMD_CHIPSET_SB700 = 2,\n\tAMD_CHIPSET_SB800 = 3,\n\tAMD_CHIPSET_HUDSON2 = 4,\n\tAMD_CHIPSET_BOLTON = 5,\n\tAMD_CHIPSET_YANGTZE = 6,\n\tAMD_CHIPSET_TAISHAN = 7,\n\tAMD_CHIPSET_UNKNOWN = 8,\n};\n\nenum asn1_class {\n\tASN1_UNIV = 0,\n\tASN1_APPL = 1,\n\tASN1_CONT = 2,\n\tASN1_PRIV = 3,\n};\n\nenum asn1_method {\n\tASN1_PRIM = 0,\n\tASN1_CONS = 1,\n};\n\nenum asn1_opcode {\n\tASN1_OP_MATCH = 0,\n\tASN1_OP_MATCH_OR_SKIP = 1,\n\tASN1_OP_MATCH_ACT = 2,\n\tASN1_OP_MATCH_ACT_OR_SKIP = 3,\n\tASN1_OP_MATCH_JUMP = 4,\n\tASN1_OP_MATCH_JUMP_OR_SKIP = 5,\n\tASN1_OP_MATCH_ANY = 8,\n\tASN1_OP_MATCH_ANY_OR_SKIP = 9,\n\tASN1_OP_MATCH_ANY_ACT = 10,\n\tASN1_OP_MATCH_ANY_ACT_OR_SKIP = 11,\n\tASN1_OP_COND_MATCH_OR_SKIP = 17,\n\tASN1_OP_COND_MATCH_ACT_OR_SKIP = 19,\n\tASN1_OP_COND_MATCH_JUMP_OR_SKIP = 21,\n\tASN1_OP_COND_MATCH_ANY = 24,\n\tASN1_OP_COND_MATCH_ANY_OR_SKIP = 25,\n\tASN1_OP_COND_MATCH_ANY_ACT = 26,\n\tASN1_OP_COND_MATCH_ANY_ACT_OR_SKIP = 27,\n\tASN1_OP_COND_FAIL = 28,\n\tASN1_OP_COMPLETE = 29,\n\tASN1_OP_ACT = 30,\n\tASN1_OP_MAYBE_ACT = 31,\n\tASN1_OP_END_SEQ = 32,\n\tASN1_OP_END_SET = 33,\n\tASN1_OP_END_SEQ_OF = 34,\n\tASN1_OP_END_SET_OF = 35,\n\tASN1_OP_END_SEQ_ACT = 36,\n\tASN1_OP_END_SET_ACT = 37,\n\tASN1_OP_END_SEQ_OF_ACT = 38,\n\tASN1_OP_END_SET_OF_ACT = 39,\n\tASN1_OP_RETURN = 40,\n\tASN1_OP__NR = 41,\n};\n\nenum asn1_tag {\n\tASN1_EOC = 0,\n\tASN1_BOOL = 1,\n\tASN1_INT = 2,\n\tASN1_BTS = 3,\n\tASN1_OTS = 4,\n\tASN1_NULL = 5,\n\tASN1_OID = 6,\n\tASN1_ODE = 7,\n\tASN1_EXT = 8,\n\tASN1_REAL = 9,\n\tASN1_ENUM = 10,\n\tASN1_EPDV = 11,\n\tASN1_UTF8STR = 12,\n\tASN1_RELOID = 13,\n\tASN1_SEQ = 16,\n\tASN1_SET = 17,\n\tASN1_NUMSTR = 18,\n\tASN1_PRNSTR = 19,\n\tASN1_TEXSTR = 20,\n\tASN1_VIDSTR = 21,\n\tASN1_IA5STR = 22,\n\tASN1_UNITIM = 23,\n\tASN1_GENTIM = 24,\n\tASN1_GRASTR = 25,\n\tASN1_VISSTR = 26,\n\tASN1_GENSTR = 27,\n\tASN1_UNISTR = 28,\n\tASN1_CHRSTR = 29,\n\tASN1_BMPSTR = 30,\n\tASN1_LONG_TAG = 31,\n};\n\nenum assoc_array_walk_status {\n\tassoc_array_walk_tree_empty = 0,\n\tassoc_array_walk_found_terminal_node = 1,\n\tassoc_array_walk_found_wrong_shortcut = 2,\n};\n\nenum ast_chip {\n\tAST1000 = 65536,\n\tAST2000 = 65537,\n\tAST1100 = 131072,\n\tAST2100 = 131073,\n\tAST2050 = 131074,\n\tAST2200 = 196608,\n\tAST2150 = 196609,\n\tAST2300 = 262144,\n\tAST1300 = 262145,\n\tAST1050 = 262146,\n\tAST2400 = 327680,\n\tAST1400 = 327681,\n\tAST1250 = 327682,\n\tAST2500 = 393216,\n\tAST2510 = 393217,\n\tAST2520 = 393218,\n\tAST2600 = 458752,\n\tAST2620 = 458753,\n};\n\nenum ast_config_mode {\n\tast_use_p2a = 0,\n\tast_use_dt = 1,\n\tast_use_defaults = 2,\n};\n\nenum ast_tx_chip {\n\tAST_TX_NONE = 0,\n\tAST_TX_SIL164 = 1,\n\tAST_TX_DP501 = 2,\n\tAST_TX_ASTDP = 3,\n};\n\nenum asymmetric_payload_bits {\n\tasym_crypto = 0,\n\tasym_subtype = 1,\n\tasym_key_ids = 2,\n\tasym_auth = 3,\n};\n\nenum ata_completion_errors {\n\tAC_ERR_OK = 0,\n\tAC_ERR_DEV = 1,\n\tAC_ERR_HSM = 2,\n\tAC_ERR_TIMEOUT = 4,\n\tAC_ERR_MEDIA = 8,\n\tAC_ERR_ATA_BUS = 16,\n\tAC_ERR_HOST_BUS = 32,\n\tAC_ERR_SYSTEM = 64,\n\tAC_ERR_INVALID = 128,\n\tAC_ERR_OTHER = 256,\n\tAC_ERR_NODEV_HINT = 512,\n\tAC_ERR_NCQ = 1024,\n};\n\nenum ata_dev_iter_mode {\n\tATA_DITER_ENABLED = 0,\n\tATA_DITER_ENABLED_REVERSE = 1,\n\tATA_DITER_ALL = 2,\n\tATA_DITER_ALL_REVERSE = 3,\n};\n\nenum ata_link_iter_mode {\n\tATA_LITER_EDGE = 0,\n\tATA_LITER_HOST_FIRST = 1,\n\tATA_LITER_PMP_FIRST = 2,\n};\n\nenum ata_lpm_hints {\n\tATA_LPM_EMPTY = 1,\n\tATA_LPM_HIPM = 2,\n\tATA_LPM_WAKE_ONLY = 4,\n};\n\nenum ata_lpm_policy {\n\tATA_LPM_UNKNOWN = 0,\n\tATA_LPM_MAX_POWER = 1,\n\tATA_LPM_MED_POWER = 2,\n\tATA_LPM_MED_POWER_WITH_DIPM = 3,\n\tATA_LPM_MIN_POWER_WITH_PARTIAL = 4,\n\tATA_LPM_MIN_POWER = 5,\n};\n\nenum ata_prot_flags {\n\tATA_PROT_FLAG_PIO = 1,\n\tATA_PROT_FLAG_DMA = 2,\n\tATA_PROT_FLAG_NCQ = 4,\n\tATA_PROT_FLAG_ATAPI = 8,\n\tATA_PROT_UNKNOWN = 255,\n\tATA_PROT_NODATA = 0,\n\tATA_PROT_PIO = 1,\n\tATA_PROT_DMA = 2,\n\tATA_PROT_NCQ_NODATA = 4,\n\tATA_PROT_NCQ = 6,\n\tATAPI_PROT_NODATA = 8,\n\tATAPI_PROT_PIO = 9,\n\tATAPI_PROT_DMA = 10,\n};\n\nenum ata_quirks {\n\t__ATA_QUIRK_DIAGNOSTIC = 0,\n\t__ATA_QUIRK_NODMA = 1,\n\t__ATA_QUIRK_NONCQ = 2,\n\t__ATA_QUIRK_MAX_SEC_128 = 3,\n\t__ATA_QUIRK_BROKEN_HPA = 4,\n\t__ATA_QUIRK_DISABLE = 5,\n\t__ATA_QUIRK_HPA_SIZE = 6,\n\t__ATA_QUIRK_IVB = 7,\n\t__ATA_QUIRK_STUCK_ERR = 8,\n\t__ATA_QUIRK_BRIDGE_OK = 9,\n\t__ATA_QUIRK_ATAPI_MOD16_DMA = 10,\n\t__ATA_QUIRK_FIRMWARE_WARN = 11,\n\t__ATA_QUIRK_1_5_GBPS = 12,\n\t__ATA_QUIRK_NOSETXFER = 13,\n\t__ATA_QUIRK_BROKEN_FPDMA_AA = 14,\n\t__ATA_QUIRK_DUMP_ID = 15,\n\t__ATA_QUIRK_MAX_SEC_LBA48 = 16,\n\t__ATA_QUIRK_ATAPI_DMADIR = 17,\n\t__ATA_QUIRK_NO_NCQ_TRIM = 18,\n\t__ATA_QUIRK_NOLPM = 19,\n\t__ATA_QUIRK_WD_BROKEN_LPM = 20,\n\t__ATA_QUIRK_ZERO_AFTER_TRIM = 21,\n\t__ATA_QUIRK_NO_DMA_LOG = 22,\n\t__ATA_QUIRK_NOTRIM = 23,\n\t__ATA_QUIRK_MAX_SEC_1024 = 24,\n\t__ATA_QUIRK_MAX_TRIM_128M = 25,\n\t__ATA_QUIRK_NO_NCQ_ON_ATI = 26,\n\t__ATA_QUIRK_NO_LPM_ON_ATI = 27,\n\t__ATA_QUIRK_NO_ID_DEV_LOG = 28,\n\t__ATA_QUIRK_NO_LOG_DIR = 29,\n\t__ATA_QUIRK_NO_FUA = 30,\n\t__ATA_QUIRK_MAX = 31,\n};\n\nenum ata_xfer_mask {\n\tATA_MASK_PIO = 127,\n\tATA_MASK_MWDMA = 3968,\n\tATA_MASK_UDMA = 1044480,\n};\n\nenum ati_sink_info_idx {\n\tATI_INFO_IDX_MANUFACTURER_ID = 0,\n\tATI_INFO_IDX_PRODUCT_ID = 1,\n\tATI_INFO_IDX_SINK_DESC_LEN = 2,\n\tATI_INFO_IDX_PORT_ID_LOW = 3,\n\tATI_INFO_IDX_PORT_ID_HIGH = 4,\n\tATI_INFO_IDX_SINK_DESC_FIRST = 5,\n\tATI_INFO_IDX_SINK_DESC_LAST = 22,\n};\n\nenum audit_mode {\n\tAUDIT_NORMAL = 0,\n\tAUDIT_QUIET_DENIED = 1,\n\tAUDIT_QUIET = 2,\n\tAUDIT_NOQUIET = 3,\n\tAUDIT_ALL = 4,\n};\n\nenum audit_nfcfgop {\n\tAUDIT_XT_OP_REGISTER = 0,\n\tAUDIT_XT_OP_REPLACE = 1,\n\tAUDIT_XT_OP_UNREGISTER = 2,\n\tAUDIT_NFT_OP_TABLE_REGISTER = 3,\n\tAUDIT_NFT_OP_TABLE_UNREGISTER = 4,\n\tAUDIT_NFT_OP_CHAIN_REGISTER = 5,\n\tAUDIT_NFT_OP_CHAIN_UNREGISTER = 6,\n\tAUDIT_NFT_OP_RULE_REGISTER = 7,\n\tAUDIT_NFT_OP_RULE_UNREGISTER = 8,\n\tAUDIT_NFT_OP_SET_REGISTER = 9,\n\tAUDIT_NFT_OP_SET_UNREGISTER = 10,\n\tAUDIT_NFT_OP_SETELEM_REGISTER = 11,\n\tAUDIT_NFT_OP_SETELEM_UNREGISTER = 12,\n\tAUDIT_NFT_OP_GEN_REGISTER = 13,\n\tAUDIT_NFT_OP_OBJ_REGISTER = 14,\n\tAUDIT_NFT_OP_OBJ_UNREGISTER = 15,\n\tAUDIT_NFT_OP_OBJ_RESET = 16,\n\tAUDIT_NFT_OP_FLOWTABLE_REGISTER = 17,\n\tAUDIT_NFT_OP_FLOWTABLE_UNREGISTER = 18,\n\tAUDIT_NFT_OP_SETELEM_RESET = 19,\n\tAUDIT_NFT_OP_RULE_RESET = 20,\n\tAUDIT_NFT_OP_INVALID = 21,\n};\n\nenum audit_nlgrps {\n\tAUDIT_NLGRP_NONE = 0,\n\tAUDIT_NLGRP_READLOG = 1,\n\t__AUDIT_NLGRP_MAX = 2,\n};\n\nenum audit_ntp_type {\n\tAUDIT_NTP_OFFSET = 0,\n\tAUDIT_NTP_FREQ = 1,\n\tAUDIT_NTP_STATUS = 2,\n\tAUDIT_NTP_TAI = 3,\n\tAUDIT_NTP_TICK = 4,\n\tAUDIT_NTP_ADJUST = 5,\n\tAUDIT_NTP_NVALS = 6,\n};\n\nenum audit_state {\n\tAUDIT_STATE_DISABLED = 0,\n\tAUDIT_STATE_BUILD = 1,\n\tAUDIT_STATE_RECORD = 2,\n};\n\nenum audit_type {\n\tAUDIT_APPARMOR_AUDIT = 0,\n\tAUDIT_APPARMOR_ALLOWED = 1,\n\tAUDIT_APPARMOR_DENIED = 2,\n\tAUDIT_APPARMOR_HINT = 3,\n\tAUDIT_APPARMOR_STATUS = 4,\n\tAUDIT_APPARMOR_ERROR = 5,\n\tAUDIT_APPARMOR_KILL = 6,\n\tAUDIT_APPARMOR_AUTO = 7,\n};\n\nenum auditsc_class_t {\n\tAUDITSC_NATIVE = 0,\n\tAUDITSC_COMPAT = 1,\n\tAUDITSC_OPEN = 2,\n\tAUDITSC_OPENAT = 3,\n\tAUDITSC_SOCKETCALL = 4,\n\tAUDITSC_EXECVE = 5,\n\tAUDITSC_OPENAT2 = 6,\n\tAUDITSC_NVALS = 7,\n};\n\nenum autofs_notify {\n\tNFY_NONE = 0,\n\tNFY_MOUNT = 1,\n\tNFY_EXPIRE = 2,\n};\n\nenum backlight_scale {\n\tBACKLIGHT_SCALE_UNKNOWN = 0,\n\tBACKLIGHT_SCALE_LINEAR = 1,\n\tBACKLIGHT_SCALE_NON_LINEAR = 2,\n};\n\nenum backlight_type {\n\tBACKLIGHT_RAW = 1,\n\tBACKLIGHT_PLATFORM = 2,\n\tBACKLIGHT_FIRMWARE = 3,\n\tBACKLIGHT_TYPE_MAX = 4,\n};\n\nenum batadv_packettype {\n\tBATADV_IV_OGM = 0,\n\tBATADV_BCAST = 1,\n\tBATADV_CODED = 2,\n\tBATADV_ELP = 3,\n\tBATADV_OGM2 = 4,\n\tBATADV_MCAST = 5,\n\tBATADV_UNICAST = 64,\n\tBATADV_UNICAST_FRAG = 65,\n\tBATADV_UNICAST_4ADDR = 66,\n\tBATADV_ICMP = 67,\n\tBATADV_UNICAST_TVLV = 68,\n};\n\nenum behavior {\n\tEXCLUSIVE = 0,\n\tSHARED = 1,\n\tDROP = 2,\n};\n\nenum bfqq_expiration {\n\tBFQQE_TOO_IDLE = 0,\n\tBFQQE_BUDGET_TIMEOUT = 1,\n\tBFQQE_BUDGET_EXHAUSTED = 2,\n\tBFQQE_NO_MORE_REQUESTS = 3,\n\tBFQQE_PREEMPTED = 4,\n};\n\nenum bfqq_state_flags {\n\tBFQQF_just_created = 0,\n\tBFQQF_busy = 1,\n\tBFQQF_wait_request = 2,\n\tBFQQF_non_blocking_wait_rq = 3,\n\tBFQQF_fifo_expire = 4,\n\tBFQQF_has_short_ttime = 5,\n\tBFQQF_sync = 6,\n\tBFQQF_IO_bound = 7,\n\tBFQQF_in_large_burst = 8,\n\tBFQQF_softrt_update = 9,\n\tBFQQF_coop = 10,\n\tBFQQF_split_coop = 11,\n};\n\nenum bh_state_bits {\n\tBH_Uptodate = 0,\n\tBH_Dirty = 1,\n\tBH_Lock = 2,\n\tBH_Req = 3,\n\tBH_Mapped = 4,\n\tBH_New = 5,\n\tBH_Async_Read = 6,\n\tBH_Async_Write = 7,\n\tBH_Delay = 8,\n\tBH_Boundary = 9,\n\tBH_Write_EIO = 10,\n\tBH_Unwritten = 11,\n\tBH_Quiet = 12,\n\tBH_Meta = 13,\n\tBH_Prio = 14,\n\tBH_Defer_Completion = 15,\n\tBH_PrivateStart = 16,\n};\n\nenum bio_merge_status {\n\tBIO_MERGE_OK = 0,\n\tBIO_MERGE_NONE = 1,\n\tBIO_MERGE_FAILED = 2,\n};\n\nenum bio_post_read_step {\n\tSTEP_INITIAL = 0,\n\tSTEP_DECRYPT = 1,\n\tSTEP_VERITY = 2,\n\tSTEP_MAX = 3,\n};\n\nenum bip_flags {\n\tBIP_BLOCK_INTEGRITY = 1,\n\tBIP_MAPPED_INTEGRITY = 2,\n\tBIP_DISK_NOCHECK = 4,\n\tBIP_IP_CHECKSUM = 8,\n\tBIP_COPY_USER = 16,\n\tBIP_CHECK_GUARD = 32,\n\tBIP_CHECK_REFTAG = 64,\n\tBIP_CHECK_APPTAG = 128,\n};\n\nenum blacklist_hash_type {\n\tBLACKLIST_HASH_X509_TBS = 1,\n\tBLACKLIST_HASH_BINARY = 2,\n};\n\nenum blake2b_iv {\n\tBLAKE2B_IV0 = 7640891576956012808ULL,\n\tBLAKE2B_IV1 = 13503953896175478587ULL,\n\tBLAKE2B_IV2 = 4354685564936845355ULL,\n\tBLAKE2B_IV3 = 11912009170470909681ULL,\n\tBLAKE2B_IV4 = 5840696475078001361ULL,\n\tBLAKE2B_IV5 = 11170449401992604703ULL,\n\tBLAKE2B_IV6 = 2270897969802886507ULL,\n\tBLAKE2B_IV7 = 6620516959819538809ULL,\n};\n\nenum blake2b_lengths {\n\tBLAKE2B_BLOCK_SIZE = 128,\n\tBLAKE2B_HASH_SIZE = 64,\n\tBLAKE2B_KEY_SIZE = 64,\n\tBLAKE2B_160_HASH_SIZE = 20,\n\tBLAKE2B_256_HASH_SIZE = 32,\n\tBLAKE2B_384_HASH_SIZE = 48,\n\tBLAKE2B_512_HASH_SIZE = 64,\n};\n\nenum blake2s_iv {\n\tBLAKE2S_IV0 = 1779033703,\n\tBLAKE2S_IV1 = 3144134277,\n\tBLAKE2S_IV2 = 1013904242,\n\tBLAKE2S_IV3 = 2773480762,\n\tBLAKE2S_IV4 = 1359893119,\n\tBLAKE2S_IV5 = 2600822924,\n\tBLAKE2S_IV6 = 528734635,\n\tBLAKE2S_IV7 = 1541459225,\n};\n\nenum blake2s_lengths {\n\tBLAKE2S_BLOCK_SIZE = 64,\n\tBLAKE2S_HASH_SIZE = 32,\n\tBLAKE2S_KEY_SIZE = 32,\n\tBLAKE2S_128_HASH_SIZE = 16,\n\tBLAKE2S_160_HASH_SIZE = 20,\n\tBLAKE2S_224_HASH_SIZE = 28,\n\tBLAKE2S_256_HASH_SIZE = 32,\n};\n\nenum blk_crypto_mode_num {\n\tBLK_ENCRYPTION_MODE_INVALID = 0,\n\tBLK_ENCRYPTION_MODE_AES_256_XTS = 1,\n\tBLK_ENCRYPTION_MODE_AES_128_CBC_ESSIV = 2,\n\tBLK_ENCRYPTION_MODE_ADIANTUM = 3,\n\tBLK_ENCRYPTION_MODE_SM4_XTS = 4,\n\tBLK_ENCRYPTION_MODE_MAX = 5,\n};\n\nenum blk_default_limits {\n\tBLK_MAX_SEGMENTS = 128,\n\tBLK_SAFE_MAX_SECTORS = 255,\n\tBLK_MAX_SEGMENT_SIZE = 65536,\n\tBLK_SEG_BOUNDARY_MASK = 4294967295,\n};\n\nenum blk_eh_timer_return {\n\tBLK_EH_DONE = 0,\n\tBLK_EH_RESET_TIMER = 1,\n};\n\nenum blk_integrity_checksum {\n\tBLK_INTEGRITY_CSUM_NONE = 0,\n\tBLK_INTEGRITY_CSUM_IP = 1,\n\tBLK_INTEGRITY_CSUM_CRC = 2,\n\tBLK_INTEGRITY_CSUM_CRC64 = 3,\n} __attribute__((mode(byte)));\n\nenum blk_integrity_flags {\n\tBLK_INTEGRITY_NOVERIFY = 1,\n\tBLK_INTEGRITY_NOGENERATE = 2,\n\tBLK_INTEGRITY_DEVICE_CAPABLE = 4,\n\tBLK_INTEGRITY_REF_TAG = 8,\n\tBLK_INTEGRITY_STACKED = 16,\n};\n\nenum blk_unique_id {\n\tBLK_UID_T10 = 1,\n\tBLK_UID_EUI64 = 2,\n\tBLK_UID_NAA = 3,\n};\n\nenum blk_zone_cond {\n\tBLK_ZONE_COND_NOT_WP = 0,\n\tBLK_ZONE_COND_EMPTY = 1,\n\tBLK_ZONE_COND_IMP_OPEN = 2,\n\tBLK_ZONE_COND_EXP_OPEN = 3,\n\tBLK_ZONE_COND_CLOSED = 4,\n\tBLK_ZONE_COND_READONLY = 13,\n\tBLK_ZONE_COND_FULL = 14,\n\tBLK_ZONE_COND_OFFLINE = 15,\n};\n\nenum blk_zone_report_flags {\n\tBLK_ZONE_REP_CAPACITY = 1,\n};\n\nenum blk_zone_type {\n\tBLK_ZONE_TYPE_CONVENTIONAL = 1,\n\tBLK_ZONE_TYPE_SEQWRITE_REQ = 2,\n\tBLK_ZONE_TYPE_SEQWRITE_PREF = 3,\n};\n\nenum blkg_iostat_type {\n\tBLKG_IOSTAT_READ = 0,\n\tBLKG_IOSTAT_WRITE = 1,\n\tBLKG_IOSTAT_DISCARD = 2,\n\tBLKG_IOSTAT_NR = 3,\n};\n\nenum blkg_rwstat_type {\n\tBLKG_RWSTAT_READ = 0,\n\tBLKG_RWSTAT_WRITE = 1,\n\tBLKG_RWSTAT_SYNC = 2,\n\tBLKG_RWSTAT_ASYNC = 3,\n\tBLKG_RWSTAT_DISCARD = 4,\n\tBLKG_RWSTAT_NR = 5,\n\tBLKG_RWSTAT_TOTAL = 5,\n};\n\nenum blktrace_act {\n\t__BLK_TA_QUEUE = 1,\n\t__BLK_TA_BACKMERGE = 2,\n\t__BLK_TA_FRONTMERGE = 3,\n\t__BLK_TA_GETRQ = 4,\n\t__BLK_TA_SLEEPRQ = 5,\n\t__BLK_TA_REQUEUE = 6,\n\t__BLK_TA_ISSUE = 7,\n\t__BLK_TA_COMPLETE = 8,\n\t__BLK_TA_PLUG = 9,\n\t__BLK_TA_UNPLUG_IO = 10,\n\t__BLK_TA_UNPLUG_TIMER = 11,\n\t__BLK_TA_INSERT = 12,\n\t__BLK_TA_SPLIT = 13,\n\t__BLK_TA_BOUNCE = 14,\n\t__BLK_TA_REMAP = 15,\n\t__BLK_TA_ABORT = 16,\n\t__BLK_TA_DRV_DATA = 17,\n\t__BLK_TA_CGROUP = 256,\n};\n\nenum block_state {\n\tNON_BLOCKING = 0,\n\tBLOCKING = 1,\n};\n\nenum board_ids {\n\tboard_ahci = 0,\n\tboard_ahci_43bit_dma = 1,\n\tboard_ahci_ign_iferr = 2,\n\tboard_ahci_no_debounce_delay = 3,\n\tboard_ahci_no_msi = 4,\n\tboard_ahci_pcs_quirk = 5,\n\tboard_ahci_pcs_quirk_no_devslp = 6,\n\tboard_ahci_pcs_quirk_no_sntf = 7,\n\tboard_ahci_yes_fbs = 8,\n\tboard_ahci_al = 9,\n\tboard_ahci_avn = 10,\n\tboard_ahci_mcp65 = 11,\n\tboard_ahci_mcp77 = 12,\n\tboard_ahci_mcp89 = 13,\n\tboard_ahci_mv = 14,\n\tboard_ahci_sb600 = 15,\n\tboard_ahci_sb700 = 16,\n\tboard_ahci_vt8251 = 17,\n\tboard_ahci_mcp_linux = 11,\n\tboard_ahci_mcp67 = 11,\n\tboard_ahci_mcp73 = 11,\n\tboard_ahci_mcp79 = 12,\n};\n\nenum bp_type_idx {\n\tTYPE_INST = 0,\n\tTYPE_DATA = 1,\n\tTYPE_MAX = 2,\n};\n\nenum bpf_access_src {\n\tACCESS_DIRECT = 1,\n\tACCESS_HELPER = 2,\n};\n\nenum bpf_access_type {\n\tBPF_READ = 1,\n\tBPF_WRITE = 2,\n};\n\nenum bpf_addr_space_cast {\n\tBPF_ADDR_SPACE_CAST = 1,\n};\n\nenum bpf_adj_room_mode {\n\tBPF_ADJ_ROOM_NET = 0,\n\tBPF_ADJ_ROOM_MAC = 1,\n};\n\nenum bpf_arg_type {\n\tARG_DONTCARE = 0,\n\tARG_CONST_MAP_PTR = 1,\n\tARG_PTR_TO_MAP_KEY = 2,\n\tARG_PTR_TO_MAP_VALUE = 3,\n\tARG_PTR_TO_MEM = 4,\n\tARG_PTR_TO_ARENA = 5,\n\tARG_CONST_SIZE = 6,\n\tARG_CONST_SIZE_OR_ZERO = 7,\n\tARG_PTR_TO_CTX = 8,\n\tARG_ANYTHING = 9,\n\tARG_PTR_TO_SPIN_LOCK = 10,\n\tARG_PTR_TO_SOCK_COMMON = 11,\n\tARG_PTR_TO_SOCKET = 12,\n\tARG_PTR_TO_BTF_ID = 13,\n\tARG_PTR_TO_RINGBUF_MEM = 14,\n\tARG_CONST_ALLOC_SIZE_OR_ZERO = 15,\n\tARG_PTR_TO_BTF_ID_SOCK_COMMON = 16,\n\tARG_PTR_TO_PERCPU_BTF_ID = 17,\n\tARG_PTR_TO_FUNC = 18,\n\tARG_PTR_TO_STACK = 19,\n\tARG_PTR_TO_CONST_STR = 20,\n\tARG_PTR_TO_TIMER = 21,\n\tARG_KPTR_XCHG_DEST = 22,\n\tARG_PTR_TO_DYNPTR = 23,\n\t__BPF_ARG_TYPE_MAX = 24,\n\tARG_PTR_TO_MAP_VALUE_OR_NULL = 259,\n\tARG_PTR_TO_MEM_OR_NULL = 260,\n\tARG_PTR_TO_CTX_OR_NULL = 264,\n\tARG_PTR_TO_SOCKET_OR_NULL = 268,\n\tARG_PTR_TO_STACK_OR_NULL = 275,\n\tARG_PTR_TO_BTF_ID_OR_NULL = 269,\n\tARG_PTR_TO_UNINIT_MEM = 67141636,\n\tARG_PTR_TO_FIXED_SIZE_MEM = 262148,\n\t__BPF_ARG_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_async_type {\n\tBPF_ASYNC_TYPE_TIMER = 0,\n\tBPF_ASYNC_TYPE_WQ = 1,\n};\n\nenum bpf_attach_type {\n\tBPF_CGROUP_INET_INGRESS = 0,\n\tBPF_CGROUP_INET_EGRESS = 1,\n\tBPF_CGROUP_INET_SOCK_CREATE = 2,\n\tBPF_CGROUP_SOCK_OPS = 3,\n\tBPF_SK_SKB_STREAM_PARSER = 4,\n\tBPF_SK_SKB_STREAM_VERDICT = 5,\n\tBPF_CGROUP_DEVICE = 6,\n\tBPF_SK_MSG_VERDICT = 7,\n\tBPF_CGROUP_INET4_BIND = 8,\n\tBPF_CGROUP_INET6_BIND = 9,\n\tBPF_CGROUP_INET4_CONNECT = 10,\n\tBPF_CGROUP_INET6_CONNECT = 11,\n\tBPF_CGROUP_INET4_POST_BIND = 12,\n\tBPF_CGROUP_INET6_POST_BIND = 13,\n\tBPF_CGROUP_UDP4_SENDMSG = 14,\n\tBPF_CGROUP_UDP6_SENDMSG = 15,\n\tBPF_LIRC_MODE2 = 16,\n\tBPF_FLOW_DISSECTOR = 17,\n\tBPF_CGROUP_SYSCTL = 18,\n\tBPF_CGROUP_UDP4_RECVMSG = 19,\n\tBPF_CGROUP_UDP6_RECVMSG = 20,\n\tBPF_CGROUP_GETSOCKOPT = 21,\n\tBPF_CGROUP_SETSOCKOPT = 22,\n\tBPF_TRACE_RAW_TP = 23,\n\tBPF_TRACE_FENTRY = 24,\n\tBPF_TRACE_FEXIT = 25,\n\tBPF_MODIFY_RETURN = 26,\n\tBPF_LSM_MAC = 27,\n\tBPF_TRACE_ITER = 28,\n\tBPF_CGROUP_INET4_GETPEERNAME = 29,\n\tBPF_CGROUP_INET6_GETPEERNAME = 30,\n\tBPF_CGROUP_INET4_GETSOCKNAME = 31,\n\tBPF_CGROUP_INET6_GETSOCKNAME = 32,\n\tBPF_XDP_DEVMAP = 33,\n\tBPF_CGROUP_INET_SOCK_RELEASE = 34,\n\tBPF_XDP_CPUMAP = 35,\n\tBPF_SK_LOOKUP = 36,\n\tBPF_XDP = 37,\n\tBPF_SK_SKB_VERDICT = 38,\n\tBPF_SK_REUSEPORT_SELECT = 39,\n\tBPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40,\n\tBPF_PERF_EVENT = 41,\n\tBPF_TRACE_KPROBE_MULTI = 42,\n\tBPF_LSM_CGROUP = 43,\n\tBPF_STRUCT_OPS = 44,\n\tBPF_NETFILTER = 45,\n\tBPF_TCX_INGRESS = 46,\n\tBPF_TCX_EGRESS = 47,\n\tBPF_TRACE_UPROBE_MULTI = 48,\n\tBPF_CGROUP_UNIX_CONNECT = 49,\n\tBPF_CGROUP_UNIX_SENDMSG = 50,\n\tBPF_CGROUP_UNIX_RECVMSG = 51,\n\tBPF_CGROUP_UNIX_GETPEERNAME = 52,\n\tBPF_CGROUP_UNIX_GETSOCKNAME = 53,\n\tBPF_NETKIT_PRIMARY = 54,\n\tBPF_NETKIT_PEER = 55,\n\tBPF_TRACE_KPROBE_SESSION = 56,\n\tBPF_TRACE_UPROBE_SESSION = 57,\n\t__MAX_BPF_ATTACH_TYPE = 58,\n};\n\nenum bpf_audit {\n\tBPF_AUDIT_LOAD = 0,\n\tBPF_AUDIT_UNLOAD = 1,\n\tBPF_AUDIT_MAX = 2,\n};\n\nenum bpf_cgroup_iter_order {\n\tBPF_CGROUP_ITER_ORDER_UNSPEC = 0,\n\tBPF_CGROUP_ITER_SELF_ONLY = 1,\n\tBPF_CGROUP_ITER_DESCENDANTS_PRE = 2,\n\tBPF_CGROUP_ITER_DESCENDANTS_POST = 3,\n\tBPF_CGROUP_ITER_ANCESTORS_UP = 4,\n};\n\nenum bpf_cgroup_storage_type {\n\tBPF_CGROUP_STORAGE_SHARED = 0,\n\tBPF_CGROUP_STORAGE_PERCPU = 1,\n\t__BPF_CGROUP_STORAGE_MAX = 2,\n};\n\nenum bpf_check_mtu_flags {\n\tBPF_MTU_CHK_SEGS = 1,\n};\n\nenum bpf_check_mtu_ret {\n\tBPF_MTU_CHK_RET_SUCCESS = 0,\n\tBPF_MTU_CHK_RET_FRAG_NEEDED = 1,\n\tBPF_MTU_CHK_RET_SEGS_TOOBIG = 2,\n};\n\nenum bpf_cmd {\n\tBPF_MAP_CREATE = 0,\n\tBPF_MAP_LOOKUP_ELEM = 1,\n\tBPF_MAP_UPDATE_ELEM = 2,\n\tBPF_MAP_DELETE_ELEM = 3,\n\tBPF_MAP_GET_NEXT_KEY = 4,\n\tBPF_PROG_LOAD = 5,\n\tBPF_OBJ_PIN = 6,\n\tBPF_OBJ_GET = 7,\n\tBPF_PROG_ATTACH = 8,\n\tBPF_PROG_DETACH = 9,\n\tBPF_PROG_TEST_RUN = 10,\n\tBPF_PROG_RUN = 10,\n\tBPF_PROG_GET_NEXT_ID = 11,\n\tBPF_MAP_GET_NEXT_ID = 12,\n\tBPF_PROG_GET_FD_BY_ID = 13,\n\tBPF_MAP_GET_FD_BY_ID = 14,\n\tBPF_OBJ_GET_INFO_BY_FD = 15,\n\tBPF_PROG_QUERY = 16,\n\tBPF_RAW_TRACEPOINT_OPEN = 17,\n\tBPF_BTF_LOAD = 18,\n\tBPF_BTF_GET_FD_BY_ID = 19,\n\tBPF_TASK_FD_QUERY = 20,\n\tBPF_MAP_LOOKUP_AND_DELETE_ELEM = 21,\n\tBPF_MAP_FREEZE = 22,\n\tBPF_BTF_GET_NEXT_ID = 23,\n\tBPF_MAP_LOOKUP_BATCH = 24,\n\tBPF_MAP_LOOKUP_AND_DELETE_BATCH = 25,\n\tBPF_MAP_UPDATE_BATCH = 26,\n\tBPF_MAP_DELETE_BATCH = 27,\n\tBPF_LINK_CREATE = 28,\n\tBPF_LINK_UPDATE = 29,\n\tBPF_LINK_GET_FD_BY_ID = 30,\n\tBPF_LINK_GET_NEXT_ID = 31,\n\tBPF_ENABLE_STATS = 32,\n\tBPF_ITER_CREATE = 33,\n\tBPF_LINK_DETACH = 34,\n\tBPF_PROG_BIND_MAP = 35,\n\tBPF_TOKEN_CREATE = 36,\n\t__MAX_BPF_CMD = 37,\n};\n\nenum bpf_cond_pseudo_jmp {\n\tBPF_MAY_GOTO = 0,\n};\n\nenum bpf_core_relo_kind {\n\tBPF_CORE_FIELD_BYTE_OFFSET = 0,\n\tBPF_CORE_FIELD_BYTE_SIZE = 1,\n\tBPF_CORE_FIELD_EXISTS = 2,\n\tBPF_CORE_FIELD_SIGNED = 3,\n\tBPF_CORE_FIELD_LSHIFT_U64 = 4,\n\tBPF_CORE_FIELD_RSHIFT_U64 = 5,\n\tBPF_CORE_TYPE_ID_LOCAL = 6,\n\tBPF_CORE_TYPE_ID_TARGET = 7,\n\tBPF_CORE_TYPE_EXISTS = 8,\n\tBPF_CORE_TYPE_SIZE = 9,\n\tBPF_CORE_ENUMVAL_EXISTS = 10,\n\tBPF_CORE_ENUMVAL_VALUE = 11,\n\tBPF_CORE_TYPE_MATCHES = 12,\n};\n\nenum bpf_dynptr_type {\n\tBPF_DYNPTR_TYPE_INVALID = 0,\n\tBPF_DYNPTR_TYPE_LOCAL = 1,\n\tBPF_DYNPTR_TYPE_RINGBUF = 2,\n\tBPF_DYNPTR_TYPE_SKB = 3,\n\tBPF_DYNPTR_TYPE_XDP = 4,\n};\n\nenum bpf_func_id {\n\tBPF_FUNC_unspec = 0,\n\tBPF_FUNC_map_lookup_elem = 1,\n\tBPF_FUNC_map_update_elem = 2,\n\tBPF_FUNC_map_delete_elem = 3,\n\tBPF_FUNC_probe_read = 4,\n\tBPF_FUNC_ktime_get_ns = 5,\n\tBPF_FUNC_trace_printk = 6,\n\tBPF_FUNC_get_prandom_u32 = 7,\n\tBPF_FUNC_get_smp_processor_id = 8,\n\tBPF_FUNC_skb_store_bytes = 9,\n\tBPF_FUNC_l3_csum_replace = 10,\n\tBPF_FUNC_l4_csum_replace = 11,\n\tBPF_FUNC_tail_call = 12,\n\tBPF_FUNC_clone_redirect = 13,\n\tBPF_FUNC_get_current_pid_tgid = 14,\n\tBPF_FUNC_get_current_uid_gid = 15,\n\tBPF_FUNC_get_current_comm = 16,\n\tBPF_FUNC_get_cgroup_classid = 17,\n\tBPF_FUNC_skb_vlan_push = 18,\n\tBPF_FUNC_skb_vlan_pop = 19,\n\tBPF_FUNC_skb_get_tunnel_key = 20,\n\tBPF_FUNC_skb_set_tunnel_key = 21,\n\tBPF_FUNC_perf_event_read = 22,\n\tBPF_FUNC_redirect = 23,\n\tBPF_FUNC_get_route_realm = 24,\n\tBPF_FUNC_perf_event_output = 25,\n\tBPF_FUNC_skb_load_bytes = 26,\n\tBPF_FUNC_get_stackid = 27,\n\tBPF_FUNC_csum_diff = 28,\n\tBPF_FUNC_skb_get_tunnel_opt = 29,\n\tBPF_FUNC_skb_set_tunnel_opt = 30,\n\tBPF_FUNC_skb_change_proto = 31,\n\tBPF_FUNC_skb_change_type = 32,\n\tBPF_FUNC_skb_under_cgroup = 33,\n\tBPF_FUNC_get_hash_recalc = 34,\n\tBPF_FUNC_get_current_task = 35,\n\tBPF_FUNC_probe_write_user = 36,\n\tBPF_FUNC_current_task_under_cgroup = 37,\n\tBPF_FUNC_skb_change_tail = 38,\n\tBPF_FUNC_skb_pull_data = 39,\n\tBPF_FUNC_csum_update = 40,\n\tBPF_FUNC_set_hash_invalid = 41,\n\tBPF_FUNC_get_numa_node_id = 42,\n\tBPF_FUNC_skb_change_head = 43,\n\tBPF_FUNC_xdp_adjust_head = 44,\n\tBPF_FUNC_probe_read_str = 45,\n\tBPF_FUNC_get_socket_cookie = 46,\n\tBPF_FUNC_get_socket_uid = 47,\n\tBPF_FUNC_set_hash = 48,\n\tBPF_FUNC_setsockopt = 49,\n\tBPF_FUNC_skb_adjust_room = 50,\n\tBPF_FUNC_redirect_map = 51,\n\tBPF_FUNC_sk_redirect_map = 52,\n\tBPF_FUNC_sock_map_update = 53,\n\tBPF_FUNC_xdp_adjust_meta = 54,\n\tBPF_FUNC_perf_event_read_value = 55,\n\tBPF_FUNC_perf_prog_read_value = 56,\n\tBPF_FUNC_getsockopt = 57,\n\tBPF_FUNC_override_return = 58,\n\tBPF_FUNC_sock_ops_cb_flags_set = 59,\n\tBPF_FUNC_msg_redirect_map = 60,\n\tBPF_FUNC_msg_apply_bytes = 61,\n\tBPF_FUNC_msg_cork_bytes = 62,\n\tBPF_FUNC_msg_pull_data = 63,\n\tBPF_FUNC_bind = 64,\n\tBPF_FUNC_xdp_adjust_tail = 65,\n\tBPF_FUNC_skb_get_xfrm_state = 66,\n\tBPF_FUNC_get_stack = 67,\n\tBPF_FUNC_skb_load_bytes_relative = 68,\n\tBPF_FUNC_fib_lookup = 69,\n\tBPF_FUNC_sock_hash_update = 70,\n\tBPF_FUNC_msg_redirect_hash = 71,\n\tBPF_FUNC_sk_redirect_hash = 72,\n\tBPF_FUNC_lwt_push_encap = 73,\n\tBPF_FUNC_lwt_seg6_store_bytes = 74,\n\tBPF_FUNC_lwt_seg6_adjust_srh = 75,\n\tBPF_FUNC_lwt_seg6_action = 76,\n\tBPF_FUNC_rc_repeat = 77,\n\tBPF_FUNC_rc_keydown = 78,\n\tBPF_FUNC_skb_cgroup_id = 79,\n\tBPF_FUNC_get_current_cgroup_id = 80,\n\tBPF_FUNC_get_local_storage = 81,\n\tBPF_FUNC_sk_select_reuseport = 82,\n\tBPF_FUNC_skb_ancestor_cgroup_id = 83,\n\tBPF_FUNC_sk_lookup_tcp = 84,\n\tBPF_FUNC_sk_lookup_udp = 85,\n\tBPF_FUNC_sk_release = 86,\n\tBPF_FUNC_map_push_elem = 87,\n\tBPF_FUNC_map_pop_elem = 88,\n\tBPF_FUNC_map_peek_elem = 89,\n\tBPF_FUNC_msg_push_data = 90,\n\tBPF_FUNC_msg_pop_data = 91,\n\tBPF_FUNC_rc_pointer_rel = 92,\n\tBPF_FUNC_spin_lock = 93,\n\tBPF_FUNC_spin_unlock = 94,\n\tBPF_FUNC_sk_fullsock = 95,\n\tBPF_FUNC_tcp_sock = 96,\n\tBPF_FUNC_skb_ecn_set_ce = 97,\n\tBPF_FUNC_get_listener_sock = 98,\n\tBPF_FUNC_skc_lookup_tcp = 99,\n\tBPF_FUNC_tcp_check_syncookie = 100,\n\tBPF_FUNC_sysctl_get_name = 101,\n\tBPF_FUNC_sysctl_get_current_value = 102,\n\tBPF_FUNC_sysctl_get_new_value = 103,\n\tBPF_FUNC_sysctl_set_new_value = 104,\n\tBPF_FUNC_strtol = 105,\n\tBPF_FUNC_strtoul = 106,\n\tBPF_FUNC_sk_storage_get = 107,\n\tBPF_FUNC_sk_storage_delete = 108,\n\tBPF_FUNC_send_signal = 109,\n\tBPF_FUNC_tcp_gen_syncookie = 110,\n\tBPF_FUNC_skb_output = 111,\n\tBPF_FUNC_probe_read_user = 112,\n\tBPF_FUNC_probe_read_kernel = 113,\n\tBPF_FUNC_probe_read_user_str = 114,\n\tBPF_FUNC_probe_read_kernel_str = 115,\n\tBPF_FUNC_tcp_send_ack = 116,\n\tBPF_FUNC_send_signal_thread = 117,\n\tBPF_FUNC_jiffies64 = 118,\n\tBPF_FUNC_read_branch_records = 119,\n\tBPF_FUNC_get_ns_current_pid_tgid = 120,\n\tBPF_FUNC_xdp_output = 121,\n\tBPF_FUNC_get_netns_cookie = 122,\n\tBPF_FUNC_get_current_ancestor_cgroup_id = 123,\n\tBPF_FUNC_sk_assign = 124,\n\tBPF_FUNC_ktime_get_boot_ns = 125,\n\tBPF_FUNC_seq_printf = 126,\n\tBPF_FUNC_seq_write = 127,\n\tBPF_FUNC_sk_cgroup_id = 128,\n\tBPF_FUNC_sk_ancestor_cgroup_id = 129,\n\tBPF_FUNC_ringbuf_output = 130,\n\tBPF_FUNC_ringbuf_reserve = 131,\n\tBPF_FUNC_ringbuf_submit = 132,\n\tBPF_FUNC_ringbuf_discard = 133,\n\tBPF_FUNC_ringbuf_query = 134,\n\tBPF_FUNC_csum_level = 135,\n\tBPF_FUNC_skc_to_tcp6_sock = 136,\n\tBPF_FUNC_skc_to_tcp_sock = 137,\n\tBPF_FUNC_skc_to_tcp_timewait_sock = 138,\n\tBPF_FUNC_skc_to_tcp_request_sock = 139,\n\tBPF_FUNC_skc_to_udp6_sock = 140,\n\tBPF_FUNC_get_task_stack = 141,\n\tBPF_FUNC_load_hdr_opt = 142,\n\tBPF_FUNC_store_hdr_opt = 143,\n\tBPF_FUNC_reserve_hdr_opt = 144,\n\tBPF_FUNC_inode_storage_get = 145,\n\tBPF_FUNC_inode_storage_delete = 146,\n\tBPF_FUNC_d_path = 147,\n\tBPF_FUNC_copy_from_user = 148,\n\tBPF_FUNC_snprintf_btf = 149,\n\tBPF_FUNC_seq_printf_btf = 150,\n\tBPF_FUNC_skb_cgroup_classid = 151,\n\tBPF_FUNC_redirect_neigh = 152,\n\tBPF_FUNC_per_cpu_ptr = 153,\n\tBPF_FUNC_this_cpu_ptr = 154,\n\tBPF_FUNC_redirect_peer = 155,\n\tBPF_FUNC_task_storage_get = 156,\n\tBPF_FUNC_task_storage_delete = 157,\n\tBPF_FUNC_get_current_task_btf = 158,\n\tBPF_FUNC_bprm_opts_set = 159,\n\tBPF_FUNC_ktime_get_coarse_ns = 160,\n\tBPF_FUNC_ima_inode_hash = 161,\n\tBPF_FUNC_sock_from_file = 162,\n\tBPF_FUNC_check_mtu = 163,\n\tBPF_FUNC_for_each_map_elem = 164,\n\tBPF_FUNC_snprintf = 165,\n\tBPF_FUNC_sys_bpf = 166,\n\tBPF_FUNC_btf_find_by_name_kind = 167,\n\tBPF_FUNC_sys_close = 168,\n\tBPF_FUNC_timer_init = 169,\n\tBPF_FUNC_timer_set_callback = 170,\n\tBPF_FUNC_timer_start = 171,\n\tBPF_FUNC_timer_cancel = 172,\n\tBPF_FUNC_get_func_ip = 173,\n\tBPF_FUNC_get_attach_cookie = 174,\n\tBPF_FUNC_task_pt_regs = 175,\n\tBPF_FUNC_get_branch_snapshot = 176,\n\tBPF_FUNC_trace_vprintk = 177,\n\tBPF_FUNC_skc_to_unix_sock = 178,\n\tBPF_FUNC_kallsyms_lookup_name = 179,\n\tBPF_FUNC_find_vma = 180,\n\tBPF_FUNC_loop = 181,\n\tBPF_FUNC_strncmp = 182,\n\tBPF_FUNC_get_func_arg = 183,\n\tBPF_FUNC_get_func_ret = 184,\n\tBPF_FUNC_get_func_arg_cnt = 185,\n\tBPF_FUNC_get_retval = 186,\n\tBPF_FUNC_set_retval = 187,\n\tBPF_FUNC_xdp_get_buff_len = 188,\n\tBPF_FUNC_xdp_load_bytes = 189,\n\tBPF_FUNC_xdp_store_bytes = 190,\n\tBPF_FUNC_copy_from_user_task = 191,\n\tBPF_FUNC_skb_set_tstamp = 192,\n\tBPF_FUNC_ima_file_hash = 193,\n\tBPF_FUNC_kptr_xchg = 194,\n\tBPF_FUNC_map_lookup_percpu_elem = 195,\n\tBPF_FUNC_skc_to_mptcp_sock = 196,\n\tBPF_FUNC_dynptr_from_mem = 197,\n\tBPF_FUNC_ringbuf_reserve_dynptr = 198,\n\tBPF_FUNC_ringbuf_submit_dynptr = 199,\n\tBPF_FUNC_ringbuf_discard_dynptr = 200,\n\tBPF_FUNC_dynptr_read = 201,\n\tBPF_FUNC_dynptr_write = 202,\n\tBPF_FUNC_dynptr_data = 203,\n\tBPF_FUNC_tcp_raw_gen_syncookie_ipv4 = 204,\n\tBPF_FUNC_tcp_raw_gen_syncookie_ipv6 = 205,\n\tBPF_FUNC_tcp_raw_check_syncookie_ipv4 = 206,\n\tBPF_FUNC_tcp_raw_check_syncookie_ipv6 = 207,\n\tBPF_FUNC_ktime_get_tai_ns = 208,\n\tBPF_FUNC_user_ringbuf_drain = 209,\n\tBPF_FUNC_cgrp_storage_get = 210,\n\tBPF_FUNC_cgrp_storage_delete = 211,\n\t__BPF_FUNC_MAX_ID = 212,\n};\n\nenum bpf_hdr_start_off {\n\tBPF_HDR_START_MAC = 0,\n\tBPF_HDR_START_NET = 1,\n};\n\nenum bpf_iter_feature {\n\tBPF_ITER_RESCHED = 1,\n};\n\nenum bpf_iter_state {\n\tBPF_ITER_STATE_INVALID = 0,\n\tBPF_ITER_STATE_ACTIVE = 1,\n\tBPF_ITER_STATE_DRAINED = 2,\n};\n\nenum bpf_iter_task_type {\n\tBPF_TASK_ITER_ALL = 0,\n\tBPF_TASK_ITER_TID = 1,\n\tBPF_TASK_ITER_TGID = 2,\n};\n\nenum bpf_jit_poke_reason {\n\tBPF_POKE_REASON_TAIL_CALL = 0,\n};\n\nenum bpf_kfunc_flags {\n\tBPF_F_PAD_ZEROS = 1,\n};\n\nenum bpf_link_type {\n\tBPF_LINK_TYPE_UNSPEC = 0,\n\tBPF_LINK_TYPE_RAW_TRACEPOINT = 1,\n\tBPF_LINK_TYPE_TRACING = 2,\n\tBPF_LINK_TYPE_CGROUP = 3,\n\tBPF_LINK_TYPE_ITER = 4,\n\tBPF_LINK_TYPE_NETNS = 5,\n\tBPF_LINK_TYPE_XDP = 6,\n\tBPF_LINK_TYPE_PERF_EVENT = 7,\n\tBPF_LINK_TYPE_KPROBE_MULTI = 8,\n\tBPF_LINK_TYPE_STRUCT_OPS = 9,\n\tBPF_LINK_TYPE_NETFILTER = 10,\n\tBPF_LINK_TYPE_TCX = 11,\n\tBPF_LINK_TYPE_UPROBE_MULTI = 12,\n\tBPF_LINK_TYPE_NETKIT = 13,\n\tBPF_LINK_TYPE_SOCKMAP = 14,\n\t__MAX_BPF_LINK_TYPE = 15,\n};\n\nenum bpf_lru_list_type {\n\tBPF_LRU_LIST_T_ACTIVE = 0,\n\tBPF_LRU_LIST_T_INACTIVE = 1,\n\tBPF_LRU_LIST_T_FREE = 2,\n\tBPF_LRU_LOCAL_LIST_T_FREE = 3,\n\tBPF_LRU_LOCAL_LIST_T_PENDING = 4,\n};\n\nenum bpf_map_type {\n\tBPF_MAP_TYPE_UNSPEC = 0,\n\tBPF_MAP_TYPE_HASH = 1,\n\tBPF_MAP_TYPE_ARRAY = 2,\n\tBPF_MAP_TYPE_PROG_ARRAY = 3,\n\tBPF_MAP_TYPE_PERF_EVENT_ARRAY = 4,\n\tBPF_MAP_TYPE_PERCPU_HASH = 5,\n\tBPF_MAP_TYPE_PERCPU_ARRAY = 6,\n\tBPF_MAP_TYPE_STACK_TRACE = 7,\n\tBPF_MAP_TYPE_CGROUP_ARRAY = 8,\n\tBPF_MAP_TYPE_LRU_HASH = 9,\n\tBPF_MAP_TYPE_LRU_PERCPU_HASH = 10,\n\tBPF_MAP_TYPE_LPM_TRIE = 11,\n\tBPF_MAP_TYPE_ARRAY_OF_MAPS = 12,\n\tBPF_MAP_TYPE_HASH_OF_MAPS = 13,\n\tBPF_MAP_TYPE_DEVMAP = 14,\n\tBPF_MAP_TYPE_SOCKMAP = 15,\n\tBPF_MAP_TYPE_CPUMAP = 16,\n\tBPF_MAP_TYPE_XSKMAP = 17,\n\tBPF_MAP_TYPE_SOCKHASH = 18,\n\tBPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,\n\tBPF_MAP_TYPE_CGROUP_STORAGE = 19,\n\tBPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,\n\tBPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED = 21,\n\tBPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,\n\tBPF_MAP_TYPE_QUEUE = 22,\n\tBPF_MAP_TYPE_STACK = 23,\n\tBPF_MAP_TYPE_SK_STORAGE = 24,\n\tBPF_MAP_TYPE_DEVMAP_HASH = 25,\n\tBPF_MAP_TYPE_STRUCT_OPS = 26,\n\tBPF_MAP_TYPE_RINGBUF = 27,\n\tBPF_MAP_TYPE_INODE_STORAGE = 28,\n\tBPF_MAP_TYPE_TASK_STORAGE = 29,\n\tBPF_MAP_TYPE_BLOOM_FILTER = 30,\n\tBPF_MAP_TYPE_USER_RINGBUF = 31,\n\tBPF_MAP_TYPE_CGRP_STORAGE = 32,\n\tBPF_MAP_TYPE_ARENA = 33,\n\t__MAX_BPF_MAP_TYPE = 34,\n};\n\nenum bpf_netdev_command {\n\tXDP_SETUP_PROG = 0,\n\tXDP_SETUP_PROG_HW = 1,\n\tBPF_OFFLOAD_MAP_ALLOC = 2,\n\tBPF_OFFLOAD_MAP_FREE = 3,\n\tXDP_SETUP_XSK_POOL = 4,\n};\n\nenum bpf_perf_event_type {\n\tBPF_PERF_EVENT_UNSPEC = 0,\n\tBPF_PERF_EVENT_UPROBE = 1,\n\tBPF_PERF_EVENT_URETPROBE = 2,\n\tBPF_PERF_EVENT_KPROBE = 3,\n\tBPF_PERF_EVENT_KRETPROBE = 4,\n\tBPF_PERF_EVENT_TRACEPOINT = 5,\n\tBPF_PERF_EVENT_EVENT = 6,\n};\n\nenum bpf_prog_type {\n\tBPF_PROG_TYPE_UNSPEC = 0,\n\tBPF_PROG_TYPE_SOCKET_FILTER = 1,\n\tBPF_PROG_TYPE_KPROBE = 2,\n\tBPF_PROG_TYPE_SCHED_CLS = 3,\n\tBPF_PROG_TYPE_SCHED_ACT = 4,\n\tBPF_PROG_TYPE_TRACEPOINT = 5,\n\tBPF_PROG_TYPE_XDP = 6,\n\tBPF_PROG_TYPE_PERF_EVENT = 7,\n\tBPF_PROG_TYPE_CGROUP_SKB = 8,\n\tBPF_PROG_TYPE_CGROUP_SOCK = 9,\n\tBPF_PROG_TYPE_LWT_IN = 10,\n\tBPF_PROG_TYPE_LWT_OUT = 11,\n\tBPF_PROG_TYPE_LWT_XMIT = 12,\n\tBPF_PROG_TYPE_SOCK_OPS = 13,\n\tBPF_PROG_TYPE_SK_SKB = 14,\n\tBPF_PROG_TYPE_CGROUP_DEVICE = 15,\n\tBPF_PROG_TYPE_SK_MSG = 16,\n\tBPF_PROG_TYPE_RAW_TRACEPOINT = 17,\n\tBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18,\n\tBPF_PROG_TYPE_LWT_SEG6LOCAL = 19,\n\tBPF_PROG_TYPE_LIRC_MODE2 = 20,\n\tBPF_PROG_TYPE_SK_REUSEPORT = 21,\n\tBPF_PROG_TYPE_FLOW_DISSECTOR = 22,\n\tBPF_PROG_TYPE_CGROUP_SYSCTL = 23,\n\tBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24,\n\tBPF_PROG_TYPE_CGROUP_SOCKOPT = 25,\n\tBPF_PROG_TYPE_TRACING = 26,\n\tBPF_PROG_TYPE_STRUCT_OPS = 27,\n\tBPF_PROG_TYPE_EXT = 28,\n\tBPF_PROG_TYPE_LSM = 29,\n\tBPF_PROG_TYPE_SK_LOOKUP = 30,\n\tBPF_PROG_TYPE_SYSCALL = 31,\n\tBPF_PROG_TYPE_NETFILTER = 32,\n\t__MAX_BPF_PROG_TYPE = 33,\n};\n\nenum bpf_reg_liveness {\n\tREG_LIVE_NONE = 0,\n\tREG_LIVE_READ32 = 1,\n\tREG_LIVE_READ64 = 2,\n\tREG_LIVE_READ = 3,\n\tREG_LIVE_WRITTEN = 4,\n\tREG_LIVE_DONE = 8,\n};\n\nenum bpf_reg_type {\n\tNOT_INIT = 0,\n\tSCALAR_VALUE = 1,\n\tPTR_TO_CTX = 2,\n\tCONST_PTR_TO_MAP = 3,\n\tPTR_TO_MAP_VALUE = 4,\n\tPTR_TO_MAP_KEY = 5,\n\tPTR_TO_STACK = 6,\n\tPTR_TO_PACKET_META = 7,\n\tPTR_TO_PACKET = 8,\n\tPTR_TO_PACKET_END = 9,\n\tPTR_TO_FLOW_KEYS = 10,\n\tPTR_TO_SOCKET = 11,\n\tPTR_TO_SOCK_COMMON = 12,\n\tPTR_TO_TCP_SOCK = 13,\n\tPTR_TO_TP_BUFFER = 14,\n\tPTR_TO_XDP_SOCK = 15,\n\tPTR_TO_BTF_ID = 16,\n\tPTR_TO_MEM = 17,\n\tPTR_TO_ARENA = 18,\n\tPTR_TO_BUF = 19,\n\tPTR_TO_FUNC = 20,\n\tCONST_PTR_TO_DYNPTR = 21,\n\t__BPF_REG_TYPE_MAX = 22,\n\tPTR_TO_MAP_VALUE_OR_NULL = 260,\n\tPTR_TO_SOCKET_OR_NULL = 267,\n\tPTR_TO_SOCK_COMMON_OR_NULL = 268,\n\tPTR_TO_TCP_SOCK_OR_NULL = 269,\n\tPTR_TO_BTF_ID_OR_NULL = 272,\n\t__BPF_REG_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_ret_code {\n\tBPF_OK = 0,\n\tBPF_DROP = 2,\n\tBPF_REDIRECT = 7,\n\tBPF_LWT_REROUTE = 128,\n\tBPF_FLOW_DISSECTOR_CONTINUE = 129,\n};\n\nenum bpf_return_type {\n\tRET_INTEGER = 0,\n\tRET_VOID = 1,\n\tRET_PTR_TO_MAP_VALUE = 2,\n\tRET_PTR_TO_SOCKET = 3,\n\tRET_PTR_TO_TCP_SOCK = 4,\n\tRET_PTR_TO_SOCK_COMMON = 5,\n\tRET_PTR_TO_MEM = 6,\n\tRET_PTR_TO_MEM_OR_BTF_ID = 7,\n\tRET_PTR_TO_BTF_ID = 8,\n\t__BPF_RET_TYPE_MAX = 9,\n\tRET_PTR_TO_MAP_VALUE_OR_NULL = 258,\n\tRET_PTR_TO_SOCKET_OR_NULL = 259,\n\tRET_PTR_TO_TCP_SOCK_OR_NULL = 260,\n\tRET_PTR_TO_SOCK_COMMON_OR_NULL = 261,\n\tRET_PTR_TO_RINGBUF_MEM_OR_NULL = 1286,\n\tRET_PTR_TO_DYNPTR_MEM_OR_NULL = 262,\n\tRET_PTR_TO_BTF_ID_OR_NULL = 264,\n\tRET_PTR_TO_BTF_ID_TRUSTED = 1048584,\n\t__BPF_RET_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_stack_build_id_status {\n\tBPF_STACK_BUILD_ID_EMPTY = 0,\n\tBPF_STACK_BUILD_ID_VALID = 1,\n\tBPF_STACK_BUILD_ID_IP = 2,\n};\n\nenum bpf_stack_slot_type {\n\tSTACK_INVALID = 0,\n\tSTACK_SPILL = 1,\n\tSTACK_MISC = 2,\n\tSTACK_ZERO = 3,\n\tSTACK_DYNPTR = 4,\n\tSTACK_ITER = 5,\n\tSTACK_IRQ_FLAG = 6,\n};\n\nenum bpf_stats_type {\n\tBPF_STATS_RUN_TIME = 0,\n};\n\nenum bpf_struct_ops_state {\n\tBPF_STRUCT_OPS_STATE_INIT = 0,\n\tBPF_STRUCT_OPS_STATE_INUSE = 1,\n\tBPF_STRUCT_OPS_STATE_TOBEFREE = 2,\n\tBPF_STRUCT_OPS_STATE_READY = 3,\n};\n\nenum bpf_struct_walk_result {\n\tWALK_SCALAR = 0,\n\tWALK_PTR = 1,\n\tWALK_STRUCT = 2,\n};\n\nenum bpf_task_fd_type {\n\tBPF_FD_TYPE_RAW_TRACEPOINT = 0,\n\tBPF_FD_TYPE_TRACEPOINT = 1,\n\tBPF_FD_TYPE_KPROBE = 2,\n\tBPF_FD_TYPE_KRETPROBE = 3,\n\tBPF_FD_TYPE_UPROBE = 4,\n\tBPF_FD_TYPE_URETPROBE = 5,\n};\n\nenum bpf_task_vma_iter_find_op {\n\ttask_vma_iter_first_vma = 0,\n\ttask_vma_iter_next_vma = 1,\n\ttask_vma_iter_find_vma = 2,\n};\n\nenum bpf_text_poke_type {\n\tBPF_MOD_CALL = 0,\n\tBPF_MOD_JUMP = 1,\n};\n\nenum bpf_tramp_prog_type {\n\tBPF_TRAMP_FENTRY = 0,\n\tBPF_TRAMP_FEXIT = 1,\n\tBPF_TRAMP_MODIFY_RETURN = 2,\n\tBPF_TRAMP_MAX = 3,\n\tBPF_TRAMP_REPLACE = 4,\n};\n\nenum bpf_type {\n\tBPF_TYPE_UNSPEC = 0,\n\tBPF_TYPE_PROG = 1,\n\tBPF_TYPE_MAP = 2,\n\tBPF_TYPE_LINK = 3,\n};\n\nenum bpf_type_flag {\n\tPTR_MAYBE_NULL = 256,\n\tMEM_RDONLY = 512,\n\tMEM_RINGBUF = 1024,\n\tMEM_USER = 2048,\n\tMEM_PERCPU = 4096,\n\tOBJ_RELEASE = 8192,\n\tPTR_UNTRUSTED = 16384,\n\tMEM_UNINIT = 32768,\n\tDYNPTR_TYPE_LOCAL = 65536,\n\tDYNPTR_TYPE_RINGBUF = 131072,\n\tMEM_FIXED_SIZE = 262144,\n\tMEM_ALLOC = 524288,\n\tPTR_TRUSTED = 1048576,\n\tMEM_RCU = 2097152,\n\tNON_OWN_REF = 4194304,\n\tDYNPTR_TYPE_SKB = 8388608,\n\tDYNPTR_TYPE_XDP = 16777216,\n\tMEM_ALIGNED = 33554432,\n\tMEM_WRITE = 67108864,\n\t__BPF_TYPE_FLAG_MAX = 67108865,\n\t__BPF_TYPE_LAST_FLAG = 67108864,\n};\n\nenum bpf_xdp_mode {\n\tXDP_MODE_SKB = 0,\n\tXDP_MODE_DRV = 1,\n\tXDP_MODE_HW = 2,\n\t__MAX_XDP_MODE = 3,\n};\n\nenum btf_arg_tag {\n\tARG_TAG_CTX = 1,\n\tARG_TAG_NONNULL = 2,\n\tARG_TAG_TRUSTED = 4,\n\tARG_TAG_NULLABLE = 8,\n\tARG_TAG_ARENA = 16,\n};\n\nenum btf_field_iter_kind {\n\tBTF_FIELD_ITER_IDS = 0,\n\tBTF_FIELD_ITER_STRS = 1,\n};\n\nenum btf_field_type {\n\tBPF_SPIN_LOCK = 1,\n\tBPF_TIMER = 2,\n\tBPF_KPTR_UNREF = 4,\n\tBPF_KPTR_REF = 8,\n\tBPF_KPTR_PERCPU = 16,\n\tBPF_KPTR = 28,\n\tBPF_LIST_HEAD = 32,\n\tBPF_LIST_NODE = 64,\n\tBPF_RB_ROOT = 128,\n\tBPF_RB_NODE = 256,\n\tBPF_GRAPH_NODE = 320,\n\tBPF_GRAPH_ROOT = 160,\n\tBPF_REFCOUNT = 512,\n\tBPF_WORKQUEUE = 1024,\n\tBPF_UPTR = 2048,\n};\n\nenum btf_func_linkage {\n\tBTF_FUNC_STATIC = 0,\n\tBTF_FUNC_GLOBAL = 1,\n\tBTF_FUNC_EXTERN = 2,\n};\n\nenum btf_kfunc_hook {\n\tBTF_KFUNC_HOOK_COMMON = 0,\n\tBTF_KFUNC_HOOK_XDP = 1,\n\tBTF_KFUNC_HOOK_TC = 2,\n\tBTF_KFUNC_HOOK_STRUCT_OPS = 3,\n\tBTF_KFUNC_HOOK_TRACING = 4,\n\tBTF_KFUNC_HOOK_SYSCALL = 5,\n\tBTF_KFUNC_HOOK_FMODRET = 6,\n\tBTF_KFUNC_HOOK_CGROUP = 7,\n\tBTF_KFUNC_HOOK_SCHED_ACT = 8,\n\tBTF_KFUNC_HOOK_SK_SKB = 9,\n\tBTF_KFUNC_HOOK_SOCKET_FILTER = 10,\n\tBTF_KFUNC_HOOK_LWT = 11,\n\tBTF_KFUNC_HOOK_NETFILTER = 12,\n\tBTF_KFUNC_HOOK_KPROBE = 13,\n\tBTF_KFUNC_HOOK_MAX = 14,\n};\n\nenum btrfs_block_group_flags {\n\tBLOCK_GROUP_FLAG_IREF = 0,\n\tBLOCK_GROUP_FLAG_REMOVED = 1,\n\tBLOCK_GROUP_FLAG_TO_COPY = 2,\n\tBLOCK_GROUP_FLAG_RELOCATING_REPAIR = 3,\n\tBLOCK_GROUP_FLAG_CHUNK_ITEM_INSERTED = 4,\n\tBLOCK_GROUP_FLAG_ZONE_IS_ACTIVE = 5,\n\tBLOCK_GROUP_FLAG_ZONED_DATA_RELOC = 6,\n\tBLOCK_GROUP_FLAG_NEEDS_FREE_SPACE = 7,\n\tBLOCK_GROUP_FLAG_SEQUENTIAL_ZONE = 8,\n\tBLOCK_GROUP_FLAG_NEW = 9,\n};\n\nenum btrfs_block_group_size_class {\n\tBTRFS_BG_SZ_NONE = 0,\n\tBTRFS_BG_SZ_SMALL = 1,\n\tBTRFS_BG_SZ_MEDIUM = 2,\n\tBTRFS_BG_SZ_LARGE = 3,\n};\n\nenum btrfs_caching_type {\n\tBTRFS_CACHE_NO = 0,\n\tBTRFS_CACHE_STARTED = 1,\n\tBTRFS_CACHE_FINISHED = 2,\n\tBTRFS_CACHE_ERROR = 3,\n};\n\nenum btrfs_chunk_alloc_enum {\n\tCHUNK_ALLOC_NO_FORCE = 0,\n\tCHUNK_ALLOC_LIMITED = 1,\n\tCHUNK_ALLOC_FORCE = 2,\n\tCHUNK_ALLOC_FORCE_FOR_EXTENT = 3,\n};\n\nenum btrfs_chunk_allocation_policy {\n\tBTRFS_CHUNK_ALLOC_REGULAR = 0,\n\tBTRFS_CHUNK_ALLOC_ZONED = 1,\n};\n\nenum btrfs_compare_tree_result {\n\tBTRFS_COMPARE_TREE_NEW = 0,\n\tBTRFS_COMPARE_TREE_DELETED = 1,\n\tBTRFS_COMPARE_TREE_CHANGED = 2,\n\tBTRFS_COMPARE_TREE_SAME = 3,\n};\n\nenum btrfs_compression_type {\n\tBTRFS_COMPRESS_NONE = 0,\n\tBTRFS_COMPRESS_ZLIB = 1,\n\tBTRFS_COMPRESS_LZO = 2,\n\tBTRFS_COMPRESS_ZSTD = 3,\n\tBTRFS_NR_COMPRESS_TYPES = 4,\n};\n\nenum btrfs_csum_type {\n\tBTRFS_CSUM_TYPE_CRC32 = 0,\n\tBTRFS_CSUM_TYPE_XXHASH = 1,\n\tBTRFS_CSUM_TYPE_SHA256 = 2,\n\tBTRFS_CSUM_TYPE_BLAKE2 = 3,\n};\n\nenum btrfs_delayed_item_type {\n\tBTRFS_DELAYED_INSERTION_ITEM = 0,\n\tBTRFS_DELAYED_DELETION_ITEM = 1,\n};\n\nenum btrfs_delayed_ref_action {\n\tBTRFS_ADD_DELAYED_REF = 1,\n\tBTRFS_DROP_DELAYED_REF = 2,\n\tBTRFS_ADD_DELAYED_EXTENT = 3,\n\tBTRFS_UPDATE_DELAYED_HEAD = 4,\n} __attribute__((mode(byte)));\n\nenum btrfs_delayed_ref_flags {\n\tBTRFS_DELAYED_REFS_FLUSHING = 0,\n};\n\nenum btrfs_dev_stat_values {\n\tBTRFS_DEV_STAT_WRITE_ERRS = 0,\n\tBTRFS_DEV_STAT_READ_ERRS = 1,\n\tBTRFS_DEV_STAT_FLUSH_ERRS = 2,\n\tBTRFS_DEV_STAT_CORRUPTION_ERRS = 3,\n\tBTRFS_DEV_STAT_GENERATION_ERRS = 4,\n\tBTRFS_DEV_STAT_VALUES_MAX = 5,\n};\n\nenum btrfs_discard_state {\n\tBTRFS_DISCARD_EXTENTS = 0,\n\tBTRFS_DISCARD_BITMAPS = 1,\n\tBTRFS_DISCARD_RESET_CURSOR = 2,\n};\n\nenum btrfs_disk_cache_state {\n\tBTRFS_DC_WRITTEN = 0,\n\tBTRFS_DC_ERROR = 1,\n\tBTRFS_DC_CLEAR = 2,\n\tBTRFS_DC_SETUP = 3,\n};\n\nenum btrfs_err_code {\n\tBTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1,\n\tBTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2,\n\tBTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3,\n\tBTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4,\n\tBTRFS_ERROR_DEV_TGT_REPLACE = 5,\n\tBTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6,\n\tBTRFS_ERROR_DEV_ONLY_WRITABLE = 7,\n\tBTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8,\n\tBTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9,\n\tBTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10,\n};\n\nenum btrfs_exclusive_operation {\n\tBTRFS_EXCLOP_NONE = 0,\n\tBTRFS_EXCLOP_BALANCE_PAUSED = 1,\n\tBTRFS_EXCLOP_BALANCE = 2,\n\tBTRFS_EXCLOP_DEV_ADD = 3,\n\tBTRFS_EXCLOP_DEV_REMOVE = 4,\n\tBTRFS_EXCLOP_DEV_REPLACE = 5,\n\tBTRFS_EXCLOP_RESIZE = 6,\n\tBTRFS_EXCLOP_SWAP_ACTIVATE = 7,\n};\n\nenum btrfs_extent_allocation_policy {\n\tBTRFS_EXTENT_ALLOC_CLUSTERED = 0,\n\tBTRFS_EXTENT_ALLOC_ZONED = 1,\n};\n\nenum btrfs_feature_set {\n\tFEAT_COMPAT = 0,\n\tFEAT_COMPAT_RO = 1,\n\tFEAT_INCOMPAT = 2,\n\tFEAT_MAX = 3,\n};\n\nenum btrfs_flush_state {\n\tFLUSH_DELAYED_ITEMS_NR = 1,\n\tFLUSH_DELAYED_ITEMS = 2,\n\tFLUSH_DELAYED_REFS_NR = 3,\n\tFLUSH_DELAYED_REFS = 4,\n\tFLUSH_DELALLOC = 5,\n\tFLUSH_DELALLOC_WAIT = 6,\n\tFLUSH_DELALLOC_FULL = 7,\n\tALLOC_CHUNK = 8,\n\tALLOC_CHUNK_FORCE = 9,\n\tRUN_DELAYED_IPUTS = 10,\n\tCOMMIT_TRANS = 11,\n\tRESET_ZONES = 12,\n};\n\nenum btrfs_ilock_type {\n\t__BTRFS_ILOCK_SHARED_BIT = 0,\n\tBTRFS_ILOCK_SHARED = 1,\n\t__BTRFS_ILOCK_SHARED_SEQ = 0,\n\t__BTRFS_ILOCK_TRY_BIT = 1,\n\tBTRFS_ILOCK_TRY = 2,\n\t__BTRFS_ILOCK_TRY_SEQ = 1,\n\t__BTRFS_ILOCK_MMAP_BIT = 2,\n\tBTRFS_ILOCK_MMAP = 4,\n\t__BTRFS_ILOCK_MMAP_SEQ = 2,\n};\n\nenum btrfs_inline_ref_type {\n\tBTRFS_REF_TYPE_INVALID = 0,\n\tBTRFS_REF_TYPE_BLOCK = 1,\n\tBTRFS_REF_TYPE_DATA = 2,\n\tBTRFS_REF_TYPE_ANY = 3,\n};\n\nenum btrfs_lock_nesting {\n\tBTRFS_NESTING_NORMAL = 0,\n\tBTRFS_NESTING_COW = 1,\n\tBTRFS_NESTING_LEFT = 2,\n\tBTRFS_NESTING_RIGHT = 3,\n\tBTRFS_NESTING_LEFT_COW = 4,\n\tBTRFS_NESTING_RIGHT_COW = 5,\n\tBTRFS_NESTING_SPLIT = 6,\n\tBTRFS_NESTING_NEW_ROOT = 7,\n\tBTRFS_NESTING_MAX = 8,\n};\n\nenum btrfs_loop_type {\n\tLOOP_CACHING_NOWAIT = 0,\n\tLOOP_CACHING_WAIT = 1,\n\tLOOP_UNSET_SIZE_CLASS = 2,\n\tLOOP_ALLOC_CHUNK = 3,\n\tLOOP_WRONG_SIZE_CLASS = 4,\n\tLOOP_NO_EMPTY_SIZE = 5,\n};\n\nenum btrfs_map_op {\n\tBTRFS_MAP_READ = 0,\n\tBTRFS_MAP_WRITE = 1,\n\tBTRFS_MAP_GET_READ_MIRRORS = 2,\n};\n\nenum btrfs_mod_log_op {\n\tBTRFS_MOD_LOG_KEY_REPLACE = 0,\n\tBTRFS_MOD_LOG_KEY_ADD = 1,\n\tBTRFS_MOD_LOG_KEY_REMOVE = 2,\n\tBTRFS_MOD_LOG_KEY_REMOVE_WHILE_FREEING = 3,\n\tBTRFS_MOD_LOG_KEY_REMOVE_WHILE_MOVING = 4,\n\tBTRFS_MOD_LOG_MOVE_KEYS = 5,\n\tBTRFS_MOD_LOG_ROOT_REPLACE = 6,\n};\n\nenum btrfs_qgroup_mode {\n\tBTRFS_QGROUP_MODE_DISABLED = 0,\n\tBTRFS_QGROUP_MODE_FULL = 1,\n\tBTRFS_QGROUP_MODE_SIMPLE = 2,\n};\n\nenum btrfs_qgroup_rsv_type {\n\tBTRFS_QGROUP_RSV_DATA = 0,\n\tBTRFS_QGROUP_RSV_META_PERTRANS = 1,\n\tBTRFS_QGROUP_RSV_META_PREALLOC = 2,\n\tBTRFS_QGROUP_RSV_LAST = 3,\n};\n\nenum btrfs_raid_types {\n\tBTRFS_RAID_SINGLE = 0,\n\tBTRFS_RAID_RAID0 = 1,\n\tBTRFS_RAID_RAID1 = 2,\n\tBTRFS_RAID_DUP = 3,\n\tBTRFS_RAID_RAID10 = 4,\n\tBTRFS_RAID_RAID5 = 5,\n\tBTRFS_RAID_RAID6 = 6,\n\tBTRFS_RAID_RAID1C3 = 7,\n\tBTRFS_RAID_RAID1C4 = 8,\n\tBTRFS_NR_RAID_TYPES = 9,\n};\n\nenum btrfs_rbio_ops {\n\tBTRFS_RBIO_WRITE = 0,\n\tBTRFS_RBIO_READ_REBUILD = 1,\n\tBTRFS_RBIO_PARITY_SCRUB = 2,\n};\n\nenum btrfs_read_policy {\n\tBTRFS_READ_POLICY_PID = 0,\n\tBTRFS_NR_READ_POLICY = 1,\n};\n\nenum btrfs_ref_type {\n\tBTRFS_REF_NOT_SET = 0,\n\tBTRFS_REF_DATA = 1,\n\tBTRFS_REF_METADATA = 2,\n\tBTRFS_REF_LAST = 3,\n} __attribute__((mode(byte)));\n\nenum btrfs_reserve_flush_enum {\n\tBTRFS_RESERVE_NO_FLUSH = 0,\n\tBTRFS_RESERVE_FLUSH_LIMIT = 1,\n\tBTRFS_RESERVE_FLUSH_EVICT = 2,\n\tBTRFS_RESERVE_FLUSH_DATA = 3,\n\tBTRFS_RESERVE_FLUSH_FREE_SPACE_INODE = 4,\n\tBTRFS_RESERVE_FLUSH_ALL = 5,\n\tBTRFS_RESERVE_FLUSH_ALL_STEAL = 6,\n\tBTRFS_RESERVE_FLUSH_EMERGENCY = 7,\n};\n\nenum btrfs_rsv_type {\n\tBTRFS_BLOCK_RSV_GLOBAL = 0,\n\tBTRFS_BLOCK_RSV_DELALLOC = 1,\n\tBTRFS_BLOCK_RSV_TRANS = 2,\n\tBTRFS_BLOCK_RSV_CHUNK = 3,\n\tBTRFS_BLOCK_RSV_DELOPS = 4,\n\tBTRFS_BLOCK_RSV_DELREFS = 5,\n\tBTRFS_BLOCK_RSV_EMPTY = 6,\n\tBTRFS_BLOCK_RSV_TEMP = 7,\n};\n\nenum btrfs_send_cmd {\n\tBTRFS_SEND_C_UNSPEC = 0,\n\tBTRFS_SEND_C_SUBVOL = 1,\n\tBTRFS_SEND_C_SNAPSHOT = 2,\n\tBTRFS_SEND_C_MKFILE = 3,\n\tBTRFS_SEND_C_MKDIR = 4,\n\tBTRFS_SEND_C_MKNOD = 5,\n\tBTRFS_SEND_C_MKFIFO = 6,\n\tBTRFS_SEND_C_MKSOCK = 7,\n\tBTRFS_SEND_C_SYMLINK = 8,\n\tBTRFS_SEND_C_RENAME = 9,\n\tBTRFS_SEND_C_LINK = 10,\n\tBTRFS_SEND_C_UNLINK = 11,\n\tBTRFS_SEND_C_RMDIR = 12,\n\tBTRFS_SEND_C_SET_XATTR = 13,\n\tBTRFS_SEND_C_REMOVE_XATTR = 14,\n\tBTRFS_SEND_C_WRITE = 15,\n\tBTRFS_SEND_C_CLONE = 16,\n\tBTRFS_SEND_C_TRUNCATE = 17,\n\tBTRFS_SEND_C_CHMOD = 18,\n\tBTRFS_SEND_C_CHOWN = 19,\n\tBTRFS_SEND_C_UTIMES = 20,\n\tBTRFS_SEND_C_END = 21,\n\tBTRFS_SEND_C_UPDATE_EXTENT = 22,\n\tBTRFS_SEND_C_MAX_V1 = 22,\n\tBTRFS_SEND_C_FALLOCATE = 23,\n\tBTRFS_SEND_C_FILEATTR = 24,\n\tBTRFS_SEND_C_ENCODED_WRITE = 25,\n\tBTRFS_SEND_C_MAX_V2 = 25,\n\tBTRFS_SEND_C_ENABLE_VERITY = 26,\n\tBTRFS_SEND_C_MAX_V3 = 26,\n\tBTRFS_SEND_C_MAX = 26,\n};\n\nenum btrfs_subpage_type {\n\tBTRFS_SUBPAGE_METADATA = 0,\n\tBTRFS_SUBPAGE_DATA = 1,\n};\n\nenum btrfs_trans_state {\n\tTRANS_STATE_RUNNING = 0,\n\tTRANS_STATE_COMMIT_PREP = 1,\n\tTRANS_STATE_COMMIT_START = 2,\n\tTRANS_STATE_COMMIT_DOING = 3,\n\tTRANS_STATE_UNBLOCKED = 4,\n\tTRANS_STATE_SUPER_COMMITTED = 5,\n\tTRANS_STATE_COMPLETED = 6,\n\tTRANS_STATE_MAX = 7,\n};\n\nenum btrfs_tree_block_status {\n\tBTRFS_TREE_BLOCK_CLEAN = 0,\n\tBTRFS_TREE_BLOCK_INVALID_NRITEMS = 1,\n\tBTRFS_TREE_BLOCK_INVALID_PARENT_KEY = 2,\n\tBTRFS_TREE_BLOCK_BAD_KEY_ORDER = 3,\n\tBTRFS_TREE_BLOCK_INVALID_LEVEL = 4,\n\tBTRFS_TREE_BLOCK_INVALID_FREE_SPACE = 5,\n\tBTRFS_TREE_BLOCK_INVALID_OFFSETS = 6,\n\tBTRFS_TREE_BLOCK_INVALID_BLOCKPTR = 7,\n\tBTRFS_TREE_BLOCK_INVALID_ITEM = 8,\n\tBTRFS_TREE_BLOCK_INVALID_OWNER = 9,\n\tBTRFS_TREE_BLOCK_WRITTEN_NOT_SET = 10,\n};\n\nenum btrfs_trim_state {\n\tBTRFS_TRIM_STATE_UNTRIMMED = 0,\n\tBTRFS_TRIM_STATE_TRIMMED = 1,\n\tBTRFS_TRIM_STATE_TRIMMING = 2,\n};\n\nenum buddy {\n\tFIRST = 0,\n\tLAST = 1,\n};\n\nenum bug_trap_type {\n\tBUG_TRAP_TYPE_NONE = 0,\n\tBUG_TRAP_TYPE_WARN = 1,\n\tBUG_TRAP_TYPE_BUG = 2,\n};\n\nenum bus_notifier_event {\n\tBUS_NOTIFY_ADD_DEVICE = 0,\n\tBUS_NOTIFY_DEL_DEVICE = 1,\n\tBUS_NOTIFY_REMOVED_DEVICE = 2,\n\tBUS_NOTIFY_BIND_DRIVER = 3,\n\tBUS_NOTIFY_BOUND_DRIVER = 4,\n\tBUS_NOTIFY_UNBIND_DRIVER = 5,\n\tBUS_NOTIFY_UNBOUND_DRIVER = 6,\n\tBUS_NOTIFY_DRIVER_NOT_BOUND = 7,\n};\n\nenum cache_type {\n\tCACHE_TYPE_NOCACHE = 0,\n\tCACHE_TYPE_INST = 1,\n\tCACHE_TYPE_DATA = 2,\n\tCACHE_TYPE_SEPARATE = 3,\n\tCACHE_TYPE_UNIFIED = 4,\n};\n\nenum cc_attr {\n\tCC_ATTR_MEM_ENCRYPT = 0,\n\tCC_ATTR_HOST_MEM_ENCRYPT = 1,\n\tCC_ATTR_GUEST_MEM_ENCRYPT = 2,\n\tCC_ATTR_GUEST_STATE_ENCRYPT = 3,\n\tCC_ATTR_GUEST_UNROLL_STRING_IO = 4,\n\tCC_ATTR_GUEST_SEV_SNP = 5,\n\tCC_ATTR_GUEST_SNP_SECURE_TSC = 6,\n\tCC_ATTR_HOST_SEV_SNP = 7,\n};\n\nenum cdrom_print_option {\n\tCTL_NAME = 0,\n\tCTL_SPEED = 1,\n\tCTL_SLOTS = 2,\n\tCTL_CAPABILITY = 3,\n};\n\nenum cea_audio_coding_types {\n\tAUDIO_CODING_TYPE_REF_STREAM_HEADER = 0,\n\tAUDIO_CODING_TYPE_LPCM = 1,\n\tAUDIO_CODING_TYPE_AC3 = 2,\n\tAUDIO_CODING_TYPE_MPEG1 = 3,\n\tAUDIO_CODING_TYPE_MP3 = 4,\n\tAUDIO_CODING_TYPE_MPEG2 = 5,\n\tAUDIO_CODING_TYPE_AACLC = 6,\n\tAUDIO_CODING_TYPE_DTS = 7,\n\tAUDIO_CODING_TYPE_ATRAC = 8,\n\tAUDIO_CODING_TYPE_SACD = 9,\n\tAUDIO_CODING_TYPE_EAC3 = 10,\n\tAUDIO_CODING_TYPE_DTS_HD = 11,\n\tAUDIO_CODING_TYPE_MLP = 12,\n\tAUDIO_CODING_TYPE_DST = 13,\n\tAUDIO_CODING_TYPE_WMAPRO = 14,\n\tAUDIO_CODING_TYPE_REF_CXT = 15,\n\tAUDIO_CODING_TYPE_HE_AAC = 15,\n\tAUDIO_CODING_TYPE_HE_AAC2 = 16,\n\tAUDIO_CODING_TYPE_MPEG_SURROUND = 17,\n};\n\nenum cea_audio_coding_xtypes {\n\tAUDIO_CODING_XTYPE_HE_REF_CT = 0,\n\tAUDIO_CODING_XTYPE_HE_AAC = 1,\n\tAUDIO_CODING_XTYPE_HE_AAC2 = 2,\n\tAUDIO_CODING_XTYPE_MPEG_SURROUND = 3,\n\tAUDIO_CODING_XTYPE_FIRST_RESERVED = 4,\n};\n\nenum cea_speaker_placement {\n\tFL = 1,\n\tFC = 2,\n\tFR = 4,\n\tFLC = 8,\n\tFRC = 16,\n\tRL = 32,\n\tRC = 64,\n\tRR = 128,\n\tRLC = 256,\n\tRRC = 512,\n\tLFE = 1024,\n\tFLW = 2048,\n\tFRW = 4096,\n\tFLH = 8192,\n\tFCH = 16384,\n\tFRH = 32768,\n\tTC = 65536,\n};\n\nenum cfg80211_signal_type {\n\tCFG80211_SIGNAL_TYPE_NONE = 0,\n\tCFG80211_SIGNAL_TYPE_MBM = 1,\n\tCFG80211_SIGNAL_TYPE_UNSPEC = 2,\n};\n\nenum cgroup1_param {\n\tOpt_all = 0,\n\tOpt_clone_children = 1,\n\tOpt_cpuset_v2_mode = 2,\n\tOpt_name = 3,\n\tOpt_none = 4,\n\tOpt_noprefix = 5,\n\tOpt_release_agent = 6,\n\tOpt_xattr = 7,\n\tOpt_favordynmods = 8,\n\tOpt_nofavordynmods = 9,\n};\n\nenum cgroup2_param {\n\tOpt_nsdelegate = 0,\n\tOpt_favordynmods___2 = 1,\n\tOpt_memory_localevents = 2,\n\tOpt_memory_recursiveprot = 3,\n\tOpt_memory_hugetlb_accounting = 4,\n\tOpt_pids_localevents = 5,\n\tnr__cgroup2_params = 6,\n};\n\nenum cgroup_bpf_attach_type {\n\tCGROUP_BPF_ATTACH_TYPE_INVALID = -1,\n\tCGROUP_INET_INGRESS = 0,\n\tCGROUP_INET_EGRESS = 1,\n\tCGROUP_INET_SOCK_CREATE = 2,\n\tCGROUP_SOCK_OPS = 3,\n\tCGROUP_DEVICE = 4,\n\tCGROUP_INET4_BIND = 5,\n\tCGROUP_INET6_BIND = 6,\n\tCGROUP_INET4_CONNECT = 7,\n\tCGROUP_INET6_CONNECT = 8,\n\tCGROUP_UNIX_CONNECT = 9,\n\tCGROUP_INET4_POST_BIND = 10,\n\tCGROUP_INET6_POST_BIND = 11,\n\tCGROUP_UDP4_SENDMSG = 12,\n\tCGROUP_UDP6_SENDMSG = 13,\n\tCGROUP_UNIX_SENDMSG = 14,\n\tCGROUP_SYSCTL = 15,\n\tCGROUP_UDP4_RECVMSG = 16,\n\tCGROUP_UDP6_RECVMSG = 17,\n\tCGROUP_UNIX_RECVMSG = 18,\n\tCGROUP_GETSOCKOPT = 19,\n\tCGROUP_SETSOCKOPT = 20,\n\tCGROUP_INET4_GETPEERNAME = 21,\n\tCGROUP_INET6_GETPEERNAME = 22,\n\tCGROUP_UNIX_GETPEERNAME = 23,\n\tCGROUP_INET4_GETSOCKNAME = 24,\n\tCGROUP_INET6_GETSOCKNAME = 25,\n\tCGROUP_UNIX_GETSOCKNAME = 26,\n\tCGROUP_INET_SOCK_RELEASE = 27,\n\tCGROUP_LSM_START = 28,\n\tCGROUP_LSM_END = 27,\n\tMAX_CGROUP_BPF_ATTACH_TYPE = 28,\n};\n\nenum cgroup_filetype {\n\tCGROUP_FILE_PROCS = 0,\n\tCGROUP_FILE_TASKS = 1,\n};\n\nenum cgroup_opt_features {\n\tOPT_FEATURE_PRESSURE = 0,\n\tOPT_FEATURE_COUNT = 1,\n};\n\nenum cgroup_subsys_id {\n\tcpuset_cgrp_id = 0,\n\tcpu_cgrp_id = 1,\n\tcpuacct_cgrp_id = 2,\n\tio_cgrp_id = 3,\n\tmemory_cgrp_id = 4,\n\tdevices_cgrp_id = 5,\n\tfreezer_cgrp_id = 6,\n\tnet_cls_cgrp_id = 7,\n\tperf_event_cgrp_id = 8,\n\tnet_prio_cgrp_id = 9,\n\thugetlb_cgrp_id = 10,\n\tpids_cgrp_id = 11,\n\trdma_cgrp_id = 12,\n\tmisc_cgrp_id = 13,\n\tCGROUP_SUBSYS_COUNT = 14,\n};\n\nenum chacha_constants {\n\tCHACHA_CONSTANT_EXPA = 1634760805,\n\tCHACHA_CONSTANT_ND_3 = 857760878,\n\tCHACHA_CONSTANT_2_BY = 2036477234,\n\tCHACHA_CONSTANT_TE_K = 1797285236,\n};\n\nenum chip_flavors {\n\tchip_6320 = 0,\n\tchip_6440 = 1,\n\tchip_6485 = 2,\n\tchip_9480 = 3,\n\tchip_9180 = 4,\n\tchip_9445 = 5,\n\tchip_9485 = 6,\n\tchip_1300 = 7,\n\tchip_1320 = 8,\n};\n\nenum chip_register_bits {\n\tPHY_MIN_SPP_PHYS_LINK_RATE_MASK = 3840,\n\tPHY_MAX_SPP_PHYS_LINK_RATE_MASK = 61440,\n\tPHY_NEG_SPP_PHYS_LINK_RATE_MASK_OFFSET = 16,\n\tPHY_NEG_SPP_PHYS_LINK_RATE_MASK = 983040,\n};\n\nenum chip_register_bits___2 {\n\tPHY_MIN_SPP_PHYS_LINK_RATE_MASK___2 = 1792,\n\tPHY_MAX_SPP_PHYS_LINK_RATE_MASK___2 = 28672,\n\tPHY_NEG_SPP_PHYS_LINK_RATE_MASK_OFFSET___2 = 16,\n\tPHY_NEG_SPP_PHYS_LINK_RATE_MASK___2 = 196608,\n};\n\nenum class_map_type {\n\tDD_CLASS_TYPE_DISJOINT_BITS = 0,\n\tDD_CLASS_TYPE_LEVEL_NUM = 1,\n\tDD_CLASS_TYPE_DISJOINT_NAMES = 2,\n\tDD_CLASS_TYPE_LEVEL_NAMES = 3,\n};\n\nenum class_stat_type {\n\tZS_OBJS_ALLOCATED = 12,\n\tZS_OBJS_INUSE = 13,\n\tNR_CLASS_STAT_TYPES = 14,\n};\n\nenum cld_command {\n\tCld_Create = 0,\n\tCld_Remove = 1,\n\tCld_Check = 2,\n\tCld_GraceDone = 3,\n\tCld_GraceStart = 4,\n\tCld_GetVersion = 5,\n};\n\nenum cleanup_prefix_rt_t {\n\tCLEANUP_PREFIX_RT_NOP = 0,\n\tCLEANUP_PREFIX_RT_DEL = 1,\n\tCLEANUP_PREFIX_RT_EXPIRE = 2,\n};\n\nenum clear_refs_types {\n\tCLEAR_REFS_ALL = 1,\n\tCLEAR_REFS_ANON = 2,\n\tCLEAR_REFS_MAPPED = 3,\n\tCLEAR_REFS_SOFT_DIRTY = 4,\n\tCLEAR_REFS_MM_HIWATER_RSS = 5,\n\tCLEAR_REFS_LAST = 6,\n};\n\nenum clock_event_state {\n\tCLOCK_EVT_STATE_DETACHED = 0,\n\tCLOCK_EVT_STATE_SHUTDOWN = 1,\n\tCLOCK_EVT_STATE_PERIODIC = 2,\n\tCLOCK_EVT_STATE_ONESHOT = 3,\n\tCLOCK_EVT_STATE_ONESHOT_STOPPED = 4,\n};\n\nenum clocksource_ids {\n\tCSID_GENERIC = 0,\n\tCSID_ARM_ARCH_COUNTER = 1,\n\tCSID_S390_TOD = 2,\n\tCSID_X86_TSC_EARLY = 3,\n\tCSID_X86_TSC = 4,\n\tCSID_X86_KVM_CLK = 5,\n\tCSID_X86_ART = 6,\n\tCSID_MAX = 7,\n};\n\nenum closure_state {\n\tCLOSURE_BITS_START = 67108864,\n\tCLOSURE_DESTRUCTOR = 67108864,\n\tCLOSURE_WAITING = 268435456,\n\tCLOSURE_RUNNING = 1073741824,\n};\n\nenum cmis_cdb_fw_write_mechanism {\n\tCMIS_CDB_FW_WRITE_MECHANISM_NONE = 0,\n\tCMIS_CDB_FW_WRITE_MECHANISM_LPL = 1,\n\tCMIS_CDB_FW_WRITE_MECHANISM_EPL = 16,\n\tCMIS_CDB_FW_WRITE_MECHANISM_BOTH = 17,\n};\n\nenum compact_priority {\n\tCOMPACT_PRIO_SYNC_FULL = 0,\n\tMIN_COMPACT_PRIORITY = 0,\n\tCOMPACT_PRIO_SYNC_LIGHT = 1,\n\tMIN_COMPACT_COSTLY_PRIORITY = 1,\n\tDEF_COMPACT_PRIORITY = 1,\n\tCOMPACT_PRIO_ASYNC = 2,\n\tINIT_COMPACT_PRIORITY = 2,\n};\n\nenum compact_result {\n\tCOMPACT_NOT_SUITABLE_ZONE = 0,\n\tCOMPACT_SKIPPED = 1,\n\tCOMPACT_DEFERRED = 2,\n\tCOMPACT_NO_SUITABLE_PAGE = 3,\n\tCOMPACT_CONTINUE = 4,\n\tCOMPACT_COMPLETE = 5,\n\tCOMPACT_PARTIAL_SKIPPED = 6,\n\tCOMPACT_CONTENDED = 7,\n\tCOMPACT_SUCCESS = 8,\n};\n\nenum con_flush_mode {\n\tCONSOLE_FLUSH_PENDING = 0,\n\tCONSOLE_REPLAY_ALL = 1,\n};\n\nenum con_msg_format_flags {\n\tMSG_FORMAT_DEFAULT = 0,\n\tMSG_FORMAT_SYSLOG = 1,\n};\n\nenum con_scroll {\n\tSM_UP = 0,\n\tSM_DOWN = 1,\n};\n\nenum cons_flags {\n\tCON_PRINTBUFFER = 1,\n\tCON_CONSDEV = 2,\n\tCON_ENABLED = 4,\n\tCON_BOOT = 8,\n\tCON_ANYTIME = 16,\n\tCON_BRL = 32,\n\tCON_EXTENDED = 64,\n\tCON_SUSPENDED = 128,\n\tCON_NBCON = 256,\n};\n\nenum cpio_fields {\n\tC_MAGIC = 0,\n\tC_INO = 1,\n\tC_MODE = 2,\n\tC_UID = 3,\n\tC_GID = 4,\n\tC_NLINK = 5,\n\tC_MTIME = 6,\n\tC_FILESIZE = 7,\n\tC_MAJ = 8,\n\tC_MIN = 9,\n\tC_RMAJ = 10,\n\tC_RMIN = 11,\n\tC_NAMESIZE = 12,\n\tC_CHKSUM = 13,\n\tC_NFIELDS = 14,\n};\n\nenum cpu_idle_type {\n\t__CPU_NOT_IDLE = 0,\n\tCPU_IDLE = 1,\n\tCPU_NEWLY_IDLE = 2,\n\tCPU_MAX_IDLE_TYPES = 3,\n};\n\nenum cpu_mitigations {\n\tCPU_MITIGATIONS_OFF = 0,\n\tCPU_MITIGATIONS_AUTO = 1,\n\tCPU_MITIGATIONS_AUTO_NOSMT = 2,\n};\n\nenum cpu_pm_event {\n\tCPU_PM_ENTER = 0,\n\tCPU_PM_ENTER_FAILED = 1,\n\tCPU_PM_EXIT = 2,\n\tCPU_CLUSTER_PM_ENTER = 3,\n\tCPU_CLUSTER_PM_ENTER_FAILED = 4,\n\tCPU_CLUSTER_PM_EXIT = 5,\n};\n\nenum cpu_type_enum {\n\tCPU_UNKNOWN = 0,\n\tCPU_LOONGSON32 = 1,\n\tCPU_LOONGSON64 = 2,\n\tCPU_LAST = 3,\n};\n\nenum cpu_usage_stat {\n\tCPUTIME_USER = 0,\n\tCPUTIME_NICE = 1,\n\tCPUTIME_SYSTEM = 2,\n\tCPUTIME_SOFTIRQ = 3,\n\tCPUTIME_IRQ = 4,\n\tCPUTIME_IDLE = 5,\n\tCPUTIME_IOWAIT = 6,\n\tCPUTIME_STEAL = 7,\n\tCPUTIME_GUEST = 8,\n\tCPUTIME_GUEST_NICE = 9,\n\tCPUTIME_FORCEIDLE = 10,\n\tNR_STATS = 11,\n};\n\nenum cpuacct_stat_index {\n\tCPUACCT_STAT_USER = 0,\n\tCPUACCT_STAT_SYSTEM = 1,\n\tCPUACCT_STAT_NSTATS = 2,\n};\n\nenum cpufreq_table_sorting {\n\tCPUFREQ_TABLE_UNSORTED = 0,\n\tCPUFREQ_TABLE_SORTED_ASCENDING = 1,\n\tCPUFREQ_TABLE_SORTED_DESCENDING = 2,\n};\n\nenum cpuhp_smt_control {\n\tCPU_SMT_ENABLED = 0,\n\tCPU_SMT_DISABLED = 1,\n\tCPU_SMT_FORCE_DISABLED = 2,\n\tCPU_SMT_NOT_SUPPORTED = 3,\n\tCPU_SMT_NOT_IMPLEMENTED = 4,\n};\n\nenum cpuhp_state {\n\tCPUHP_INVALID = -1,\n\tCPUHP_OFFLINE = 0,\n\tCPUHP_CREATE_THREADS = 1,\n\tCPUHP_PERF_PREPARE = 2,\n\tCPUHP_PERF_X86_PREPARE = 3,\n\tCPUHP_PERF_X86_AMD_UNCORE_PREP = 4,\n\tCPUHP_PERF_POWER = 5,\n\tCPUHP_PERF_SUPERH = 6,\n\tCPUHP_X86_HPET_DEAD = 7,\n\tCPUHP_X86_MCE_DEAD = 8,\n\tCPUHP_VIRT_NET_DEAD = 9,\n\tCPUHP_IBMVNIC_DEAD = 10,\n\tCPUHP_SLUB_DEAD = 11,\n\tCPUHP_DEBUG_OBJ_DEAD = 12,\n\tCPUHP_MM_WRITEBACK_DEAD = 13,\n\tCPUHP_MM_VMSTAT_DEAD = 14,\n\tCPUHP_SOFTIRQ_DEAD = 15,\n\tCPUHP_NET_MVNETA_DEAD = 16,\n\tCPUHP_CPUIDLE_DEAD = 17,\n\tCPUHP_ARM64_FPSIMD_DEAD = 18,\n\tCPUHP_ARM_OMAP_WAKE_DEAD = 19,\n\tCPUHP_IRQ_POLL_DEAD = 20,\n\tCPUHP_BLOCK_SOFTIRQ_DEAD = 21,\n\tCPUHP_BIO_DEAD = 22,\n\tCPUHP_ACPI_CPUDRV_DEAD = 23,\n\tCPUHP_S390_PFAULT_DEAD = 24,\n\tCPUHP_BLK_MQ_DEAD = 25,\n\tCPUHP_FS_BUFF_DEAD = 26,\n\tCPUHP_PRINTK_DEAD = 27,\n\tCPUHP_MM_MEMCQ_DEAD = 28,\n\tCPUHP_PERCPU_CNT_DEAD = 29,\n\tCPUHP_RADIX_DEAD = 30,\n\tCPUHP_PAGE_ALLOC = 31,\n\tCPUHP_NET_DEV_DEAD = 32,\n\tCPUHP_PCI_XGENE_DEAD = 33,\n\tCPUHP_IOMMU_IOVA_DEAD = 34,\n\tCPUHP_AP_ARM_CACHE_B15_RAC_DEAD = 35,\n\tCPUHP_PADATA_DEAD = 36,\n\tCPUHP_AP_DTPM_CPU_DEAD = 37,\n\tCPUHP_RANDOM_PREPARE = 38,\n\tCPUHP_WORKQUEUE_PREP = 39,\n\tCPUHP_POWER_NUMA_PREPARE = 40,\n\tCPUHP_HRTIMERS_PREPARE = 41,\n\tCPUHP_X2APIC_PREPARE = 42,\n\tCPUHP_SMPCFD_PREPARE = 43,\n\tCPUHP_RELAY_PREPARE = 44,\n\tCPUHP_MD_RAID5_PREPARE = 45,\n\tCPUHP_RCUTREE_PREP = 46,\n\tCPUHP_CPUIDLE_COUPLED_PREPARE = 47,\n\tCPUHP_POWERPC_PMAC_PREPARE = 48,\n\tCPUHP_POWERPC_MMU_CTX_PREPARE = 49,\n\tCPUHP_XEN_PREPARE = 50,\n\tCPUHP_XEN_EVTCHN_PREPARE = 51,\n\tCPUHP_ARM_SHMOBILE_SCU_PREPARE = 52,\n\tCPUHP_SH_SH3X_PREPARE = 53,\n\tCPUHP_TOPOLOGY_PREPARE = 54,\n\tCPUHP_NET_IUCV_PREPARE = 55,\n\tCPUHP_ARM_BL_PREPARE = 56,\n\tCPUHP_TRACE_RB_PREPARE = 57,\n\tCPUHP_MM_ZS_PREPARE = 58,\n\tCPUHP_MM_ZSWP_POOL_PREPARE = 59,\n\tCPUHP_KVM_PPC_BOOK3S_PREPARE = 60,\n\tCPUHP_ZCOMP_PREPARE = 61,\n\tCPUHP_TIMERS_PREPARE = 62,\n\tCPUHP_TMIGR_PREPARE = 63,\n\tCPUHP_MIPS_SOC_PREPARE = 64,\n\tCPUHP_BP_PREPARE_DYN = 65,\n\tCPUHP_BP_PREPARE_DYN_END = 85,\n\tCPUHP_BP_KICK_AP = 86,\n\tCPUHP_BRINGUP_CPU = 87,\n\tCPUHP_AP_IDLE_DEAD = 88,\n\tCPUHP_AP_OFFLINE = 89,\n\tCPUHP_AP_CACHECTRL_STARTING = 90,\n\tCPUHP_AP_SCHED_STARTING = 91,\n\tCPUHP_AP_RCUTREE_DYING = 92,\n\tCPUHP_AP_CPU_PM_STARTING = 93,\n\tCPUHP_AP_IRQ_GIC_STARTING = 94,\n\tCPUHP_AP_IRQ_HIP04_STARTING = 95,\n\tCPUHP_AP_IRQ_APPLE_AIC_STARTING = 96,\n\tCPUHP_AP_IRQ_ARMADA_XP_STARTING = 97,\n\tCPUHP_AP_IRQ_BCM2836_STARTING = 98,\n\tCPUHP_AP_IRQ_MIPS_GIC_STARTING = 99,\n\tCPUHP_AP_IRQ_EIOINTC_STARTING = 100,\n\tCPUHP_AP_IRQ_AVECINTC_STARTING = 101,\n\tCPUHP_AP_IRQ_SIFIVE_PLIC_STARTING = 102,\n\tCPUHP_AP_IRQ_THEAD_ACLINT_SSWI_STARTING = 103,\n\tCPUHP_AP_IRQ_RISCV_IMSIC_STARTING = 104,\n\tCPUHP_AP_IRQ_RISCV_SBI_IPI_STARTING = 105,\n\tCPUHP_AP_ARM_MVEBU_COHERENCY = 106,\n\tCPUHP_AP_PERF_X86_AMD_UNCORE_STARTING = 107,\n\tCPUHP_AP_PERF_X86_STARTING = 108,\n\tCPUHP_AP_PERF_X86_AMD_IBS_STARTING = 109,\n\tCPUHP_AP_PERF_XTENSA_STARTING = 110,\n\tCPUHP_AP_ARM_VFP_STARTING = 111,\n\tCPUHP_AP_ARM64_DEBUG_MONITORS_STARTING = 112,\n\tCPUHP_AP_PERF_ARM_HW_BREAKPOINT_STARTING = 113,\n\tCPUHP_AP_PERF_ARM_ACPI_STARTING = 114,\n\tCPUHP_AP_PERF_ARM_STARTING = 115,\n\tCPUHP_AP_PERF_RISCV_STARTING = 116,\n\tCPUHP_AP_ARM_L2X0_STARTING = 117,\n\tCPUHP_AP_EXYNOS4_MCT_TIMER_STARTING = 118,\n\tCPUHP_AP_ARM_ARCH_TIMER_STARTING = 119,\n\tCPUHP_AP_ARM_ARCH_TIMER_EVTSTRM_STARTING = 120,\n\tCPUHP_AP_ARM_GLOBAL_TIMER_STARTING = 121,\n\tCPUHP_AP_JCORE_TIMER_STARTING = 122,\n\tCPUHP_AP_ARM_TWD_STARTING = 123,\n\tCPUHP_AP_QCOM_TIMER_STARTING = 124,\n\tCPUHP_AP_TEGRA_TIMER_STARTING = 125,\n\tCPUHP_AP_ARMADA_TIMER_STARTING = 126,\n\tCPUHP_AP_MIPS_GIC_TIMER_STARTING = 127,\n\tCPUHP_AP_ARC_TIMER_STARTING = 128,\n\tCPUHP_AP_REALTEK_TIMER_STARTING = 129,\n\tCPUHP_AP_RISCV_TIMER_STARTING = 130,\n\tCPUHP_AP_CLINT_TIMER_STARTING = 131,\n\tCPUHP_AP_CSKY_TIMER_STARTING = 132,\n\tCPUHP_AP_TI_GP_TIMER_STARTING = 133,\n\tCPUHP_AP_HYPERV_TIMER_STARTING = 134,\n\tCPUHP_AP_DUMMY_TIMER_STARTING = 135,\n\tCPUHP_AP_ARM_XEN_STARTING = 136,\n\tCPUHP_AP_ARM_XEN_RUNSTATE_STARTING = 137,\n\tCPUHP_AP_ARM_CORESIGHT_STARTING = 138,\n\tCPUHP_AP_ARM_CORESIGHT_CTI_STARTING = 139,\n\tCPUHP_AP_ARM64_ISNDEP_STARTING = 140,\n\tCPUHP_AP_SMPCFD_DYING = 141,\n\tCPUHP_AP_HRTIMERS_DYING = 142,\n\tCPUHP_AP_TICK_DYING = 143,\n\tCPUHP_AP_X86_TBOOT_DYING = 144,\n\tCPUHP_AP_ARM_CACHE_B15_RAC_DYING = 145,\n\tCPUHP_AP_ONLINE = 146,\n\tCPUHP_TEARDOWN_CPU = 147,\n\tCPUHP_AP_ONLINE_IDLE = 148,\n\tCPUHP_AP_HYPERV_ONLINE = 149,\n\tCPUHP_AP_KVM_ONLINE = 150,\n\tCPUHP_AP_SCHED_WAIT_EMPTY = 151,\n\tCPUHP_AP_SMPBOOT_THREADS = 152,\n\tCPUHP_AP_IRQ_AFFINITY_ONLINE = 153,\n\tCPUHP_AP_BLK_MQ_ONLINE = 154,\n\tCPUHP_AP_ARM_MVEBU_SYNC_CLOCKS = 155,\n\tCPUHP_AP_X86_INTEL_EPB_ONLINE = 156,\n\tCPUHP_AP_PERF_ONLINE = 157,\n\tCPUHP_AP_PERF_X86_ONLINE = 158,\n\tCPUHP_AP_PERF_X86_UNCORE_ONLINE = 159,\n\tCPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE = 160,\n\tCPUHP_AP_PERF_X86_AMD_POWER_ONLINE = 161,\n\tCPUHP_AP_PERF_S390_CF_ONLINE = 162,\n\tCPUHP_AP_PERF_S390_SF_ONLINE = 163,\n\tCPUHP_AP_PERF_ARM_CCI_ONLINE = 164,\n\tCPUHP_AP_PERF_ARM_CCN_ONLINE = 165,\n\tCPUHP_AP_PERF_ARM_HISI_CPA_ONLINE = 166,\n\tCPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE = 167,\n\tCPUHP_AP_PERF_ARM_HISI_HHA_ONLINE = 168,\n\tCPUHP_AP_PERF_ARM_HISI_L3_ONLINE = 169,\n\tCPUHP_AP_PERF_ARM_HISI_PA_ONLINE = 170,\n\tCPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE = 171,\n\tCPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE = 172,\n\tCPUHP_AP_PERF_ARM_HNS3_PMU_ONLINE = 173,\n\tCPUHP_AP_PERF_ARM_L2X0_ONLINE = 174,\n\tCPUHP_AP_PERF_ARM_QCOM_L2_ONLINE = 175,\n\tCPUHP_AP_PERF_ARM_QCOM_L3_ONLINE = 176,\n\tCPUHP_AP_PERF_ARM_APM_XGENE_ONLINE = 177,\n\tCPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE = 178,\n\tCPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE = 179,\n\tCPUHP_AP_PERF_ARM_MRVL_PEM_ONLINE = 180,\n\tCPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE = 181,\n\tCPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE = 182,\n\tCPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE = 183,\n\tCPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE = 184,\n\tCPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE = 185,\n\tCPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE = 186,\n\tCPUHP_AP_PERF_CSKY_ONLINE = 187,\n\tCPUHP_AP_TMIGR_ONLINE = 188,\n\tCPUHP_AP_WATCHDOG_ONLINE = 189,\n\tCPUHP_AP_WORKQUEUE_ONLINE = 190,\n\tCPUHP_AP_RANDOM_ONLINE = 191,\n\tCPUHP_AP_RCUTREE_ONLINE = 192,\n\tCPUHP_AP_KTHREADS_ONLINE = 193,\n\tCPUHP_AP_BASE_CACHEINFO_ONLINE = 194,\n\tCPUHP_AP_ONLINE_DYN = 195,\n\tCPUHP_AP_ONLINE_DYN_END = 235,\n\tCPUHP_AP_X86_HPET_ONLINE = 236,\n\tCPUHP_AP_X86_KVM_CLK_ONLINE = 237,\n\tCPUHP_AP_ACTIVE = 238,\n\tCPUHP_ONLINE = 239,\n};\n\nenum cpuhp_sync_state {\n\tSYNC_STATE_DEAD = 0,\n\tSYNC_STATE_KICKED = 1,\n\tSYNC_STATE_SHOULD_DIE = 2,\n\tSYNC_STATE_ALIVE = 3,\n\tSYNC_STATE_SHOULD_ONLINE = 4,\n\tSYNC_STATE_ONLINE = 5,\n};\n\nenum createmode4 {\n\tNFS4_CREATE_UNCHECKED = 0,\n\tNFS4_CREATE_GUARDED = 1,\n\tNFS4_CREATE_EXCLUSIVE = 2,\n\tNFS4_CREATE_EXCLUSIVE4_1 = 3,\n};\n\nenum criteria {\n\tCR_POWER2_ALIGNED = 0,\n\tCR_GOAL_LEN_FAST = 1,\n\tCR_BEST_AVAIL_LEN = 2,\n\tCR_GOAL_LEN_SLOW = 3,\n\tCR_ANY_FREE = 4,\n\tEXT4_MB_NUM_CRS = 5,\n};\n\nenum crypto_attr_type_t {\n\tCRYPTOCFGA_UNSPEC = 0,\n\tCRYPTOCFGA_PRIORITY_VAL = 1,\n\tCRYPTOCFGA_REPORT_LARVAL = 2,\n\tCRYPTOCFGA_REPORT_HASH = 3,\n\tCRYPTOCFGA_REPORT_BLKCIPHER = 4,\n\tCRYPTOCFGA_REPORT_AEAD = 5,\n\tCRYPTOCFGA_REPORT_COMPRESS = 6,\n\tCRYPTOCFGA_REPORT_RNG = 7,\n\tCRYPTOCFGA_REPORT_CIPHER = 8,\n\tCRYPTOCFGA_REPORT_AKCIPHER = 9,\n\tCRYPTOCFGA_REPORT_KPP = 10,\n\tCRYPTOCFGA_REPORT_ACOMP = 11,\n\tCRYPTOCFGA_STAT_LARVAL = 12,\n\tCRYPTOCFGA_STAT_HASH = 13,\n\tCRYPTOCFGA_STAT_BLKCIPHER = 14,\n\tCRYPTOCFGA_STAT_AEAD = 15,\n\tCRYPTOCFGA_STAT_COMPRESS = 16,\n\tCRYPTOCFGA_STAT_RNG = 17,\n\tCRYPTOCFGA_STAT_CIPHER = 18,\n\tCRYPTOCFGA_STAT_AKCIPHER = 19,\n\tCRYPTOCFGA_STAT_KPP = 20,\n\tCRYPTOCFGA_STAT_ACOMP = 21,\n\tCRYPTOCFGA_REPORT_SIG = 22,\n\t__CRYPTOCFGA_MAX = 23,\n};\n\nenum ct_dccp_states {\n\tCT_DCCP_NONE = 0,\n\tCT_DCCP_REQUEST = 1,\n\tCT_DCCP_RESPOND = 2,\n\tCT_DCCP_PARTOPEN = 3,\n\tCT_DCCP_OPEN = 4,\n\tCT_DCCP_CLOSEREQ = 5,\n\tCT_DCCP_CLOSING = 6,\n\tCT_DCCP_TIMEWAIT = 7,\n\tCT_DCCP_IGNORE = 8,\n\tCT_DCCP_INVALID = 9,\n\t__CT_DCCP_MAX = 10,\n};\n\nenum ct_format {\n\tSSP_F_H = 0,\n\tSSP_F_IU = 24,\n\tSSP_F_MAX = 77,\n\tSTP_CMD_FIS = 0,\n\tSTP_ATAPI_CMD = 64,\n\tSTP_F_MAX = 16,\n\tSMP_F_T = 0,\n\tSMP_F_DEP = 1,\n\tSMP_F_MAX = 257,\n};\n\nenum cti_port_type {\n\tCTI_PORT_TYPE_NONE = 0,\n\tCTI_PORT_TYPE_RS232 = 1,\n\tCTI_PORT_TYPE_RS422_485 = 2,\n\tCTI_PORT_TYPE_RS232_422_485_HW = 3,\n\tCTI_PORT_TYPE_RS232_422_485_SW = 4,\n\tCTI_PORT_TYPE_RS232_422_485_4B = 5,\n\tCTI_PORT_TYPE_RS232_422_485_2B = 6,\n\tCTI_PORT_TYPE_MAX = 7,\n};\n\nenum ctrl_offsets {\n\tBASE_OFFSET = 0,\n\tSLOT_AVAIL1 = 4,\n\tSLOT_AVAIL2 = 8,\n\tSLOT_CONFIG = 12,\n\tSEC_BUS_CONFIG = 16,\n\tMSI_CTRL = 18,\n\tPROG_INTERFACE = 19,\n\tCMD = 20,\n\tCMD_STATUS = 22,\n\tINTR_LOC = 24,\n\tSERR_LOC = 28,\n\tSERR_INTR_ENABLE = 32,\n\tSLOT1 = 36,\n};\n\nenum ctx_state {\n\tCT_STATE_DISABLED = -1,\n\tCT_STATE_KERNEL = 0,\n\tCT_STATE_IDLE = 1,\n\tCT_STATE_USER = 2,\n\tCT_STATE_GUEST = 3,\n\tCT_STATE_MAX = 4,\n};\n\nenum d_real_type {\n\tD_REAL_DATA = 0,\n\tD_REAL_METADATA = 1,\n};\n\nenum d_walk_ret {\n\tD_WALK_CONTINUE = 0,\n\tD_WALK_QUIT = 1,\n\tD_WALK_NORETRY = 2,\n\tD_WALK_SKIP = 3,\n};\n\nenum data_content4 {\n\tNFS4_CONTENT_DATA = 0,\n\tNFS4_CONTENT_HOLE = 1,\n};\n\nenum dax_access_mode {\n\tDAX_ACCESS = 0,\n\tDAX_RECOVERY_WRITE = 1,\n};\n\nenum dbc_state {\n\tDS_DISABLED = 0,\n\tDS_INITIALIZED = 1,\n\tDS_ENABLED = 2,\n\tDS_CONNECTED = 3,\n\tDS_CONFIGURED = 4,\n\tDS_MAX = 5,\n};\n\nenum dbgfs_get_mode {\n\tDBGFS_GET_ALREADY = 0,\n\tDBGFS_GET_REGULAR = 1,\n\tDBGFS_GET_SHORT = 2,\n};\n\nenum dcb_pfc_type {\n\tpfc_disabled = 0,\n\tpfc_enabled_full = 1,\n\tpfc_enabled_tx = 2,\n\tpfc_enabled_rx = 3,\n};\n\nenum dccp_state {\n\tDCCP_OPEN = 1,\n\tDCCP_REQUESTING = 2,\n\tDCCP_LISTEN = 10,\n\tDCCP_RESPOND = 3,\n\tDCCP_ACTIVE_CLOSEREQ = 4,\n\tDCCP_PASSIVE_CLOSE = 8,\n\tDCCP_CLOSING = 11,\n\tDCCP_TIME_WAIT = 6,\n\tDCCP_CLOSED = 7,\n\tDCCP_NEW_SYN_RECV = 12,\n\tDCCP_PARTOPEN = 14,\n\tDCCP_PASSIVE_CLOSEREQ = 15,\n\tDCCP_MAX_STATES = 16,\n};\n\nenum dd_data_dir {\n\tDD_READ = 0,\n\tDD_WRITE = 1,\n};\n\nenum dd_prio {\n\tDD_RT_PRIO = 0,\n\tDD_BE_PRIO = 1,\n\tDD_IDLE_PRIO = 2,\n\tDD_PRIO_MAX = 2,\n};\n\nenum ddc_type {\n\tddc_none = 0,\n\tddc_monid = 1,\n\tddc_dvi = 2,\n\tddc_vga = 3,\n\tddc_crt2 = 4,\n};\n\nenum dentry_d_lock_class {\n\tDENTRY_D_LOCK_NORMAL = 0,\n\tDENTRY_D_LOCK_NESTED = 1,\n};\n\nenum depot_counter_id {\n\tDEPOT_COUNTER_REFD_ALLOCS = 0,\n\tDEPOT_COUNTER_REFD_FREES = 1,\n\tDEPOT_COUNTER_REFD_INUSE = 2,\n\tDEPOT_COUNTER_FREELIST_SIZE = 3,\n\tDEPOT_COUNTER_PERSIST_COUNT = 4,\n\tDEPOT_COUNTER_PERSIST_BYTES = 5,\n\tDEPOT_COUNTER_COUNT = 6,\n};\n\nenum desc_state {\n\tdesc_miss = -1,\n\tdesc_reserved = 0,\n\tdesc_committed = 1,\n\tdesc_finalized = 2,\n\tdesc_reusable = 3,\n};\n\nenum dev_dma_attr {\n\tDEV_DMA_NOT_SUPPORTED = 0,\n\tDEV_DMA_NON_COHERENT = 1,\n\tDEV_DMA_COHERENT = 2,\n};\n\nenum dev_pm_opp_event {\n\tOPP_EVENT_ADD = 0,\n\tOPP_EVENT_REMOVE = 1,\n\tOPP_EVENT_ENABLE = 2,\n\tOPP_EVENT_DISABLE = 3,\n\tOPP_EVENT_ADJUST_VOLTAGE = 4,\n};\n\nenum dev_pm_qos_req_type {\n\tDEV_PM_QOS_RESUME_LATENCY = 1,\n\tDEV_PM_QOS_LATENCY_TOLERANCE = 2,\n\tDEV_PM_QOS_MIN_FREQUENCY = 3,\n\tDEV_PM_QOS_MAX_FREQUENCY = 4,\n\tDEV_PM_QOS_FLAGS = 5,\n};\n\nenum dev_prop_type {\n\tDEV_PROP_U8 = 0,\n\tDEV_PROP_U16 = 1,\n\tDEV_PROP_U32 = 2,\n\tDEV_PROP_U64 = 3,\n\tDEV_PROP_STRING = 4,\n\tDEV_PROP_REF = 5,\n};\n\nenum dev_reset {\n\tMVS_SOFT_RESET = 0,\n\tMVS_HARD_RESET = 1,\n\tMVS_PHY_TUNE = 2,\n};\n\nenum dev_status {\n\tMVS_DEV_NORMAL = 0,\n\tMVS_DEV_EH = 1,\n};\n\nenum devcg_behavior {\n\tDEVCG_DEFAULT_NONE = 0,\n\tDEVCG_DEFAULT_ALLOW = 1,\n\tDEVCG_DEFAULT_DENY = 2,\n};\n\nenum devfreq_timer {\n\tDEVFREQ_TIMER_DEFERRABLE = 0,\n\tDEVFREQ_TIMER_DELAYED = 1,\n\tDEVFREQ_TIMER_NUM = 2,\n};\n\nenum device_link_state {\n\tDL_STATE_NONE = -1,\n\tDL_STATE_DORMANT = 0,\n\tDL_STATE_AVAILABLE = 1,\n\tDL_STATE_CONSUMER_PROBE = 2,\n\tDL_STATE_ACTIVE = 3,\n\tDL_STATE_SUPPLIER_UNBIND = 4,\n};\n\nenum device_physical_location_horizontal_position {\n\tDEVICE_HORI_POS_LEFT = 0,\n\tDEVICE_HORI_POS_CENTER = 1,\n\tDEVICE_HORI_POS_RIGHT = 2,\n};\n\nenum device_physical_location_panel {\n\tDEVICE_PANEL_TOP = 0,\n\tDEVICE_PANEL_BOTTOM = 1,\n\tDEVICE_PANEL_LEFT = 2,\n\tDEVICE_PANEL_RIGHT = 3,\n\tDEVICE_PANEL_FRONT = 4,\n\tDEVICE_PANEL_BACK = 5,\n\tDEVICE_PANEL_UNKNOWN = 6,\n};\n\nenum device_physical_location_vertical_position {\n\tDEVICE_VERT_POS_UPPER = 0,\n\tDEVICE_VERT_POS_CENTER = 1,\n\tDEVICE_VERT_POS_LOWER = 2,\n};\n\nenum device_removable {\n\tDEVICE_REMOVABLE_NOT_SUPPORTED = 0,\n\tDEVICE_REMOVABLE_UNKNOWN = 1,\n\tDEVICE_FIXED = 2,\n\tDEVICE_REMOVABLE = 3,\n};\n\nenum devkmsg_log_bits {\n\t__DEVKMSG_LOG_BIT_ON = 0,\n\t__DEVKMSG_LOG_BIT_OFF = 1,\n\t__DEVKMSG_LOG_BIT_LOCK = 2,\n};\n\nenum devkmsg_log_masks {\n\tDEVKMSG_LOG_MASK_ON = 1,\n\tDEVKMSG_LOG_MASK_OFF = 2,\n\tDEVKMSG_LOG_MASK_LOCK = 4,\n};\n\nenum devlink_port_flavour {\n\tDEVLINK_PORT_FLAVOUR_PHYSICAL = 0,\n\tDEVLINK_PORT_FLAVOUR_CPU = 1,\n\tDEVLINK_PORT_FLAVOUR_DSA = 2,\n\tDEVLINK_PORT_FLAVOUR_PCI_PF = 3,\n\tDEVLINK_PORT_FLAVOUR_PCI_VF = 4,\n\tDEVLINK_PORT_FLAVOUR_VIRTUAL = 5,\n\tDEVLINK_PORT_FLAVOUR_UNUSED = 6,\n\tDEVLINK_PORT_FLAVOUR_PCI_SF = 7,\n};\n\nenum devlink_port_fn_opstate {\n\tDEVLINK_PORT_FN_OPSTATE_DETACHED = 0,\n\tDEVLINK_PORT_FN_OPSTATE_ATTACHED = 1,\n};\n\nenum devlink_port_fn_state {\n\tDEVLINK_PORT_FN_STATE_INACTIVE = 0,\n\tDEVLINK_PORT_FN_STATE_ACTIVE = 1,\n};\n\nenum devlink_port_type {\n\tDEVLINK_PORT_TYPE_NOTSET = 0,\n\tDEVLINK_PORT_TYPE_AUTO = 1,\n\tDEVLINK_PORT_TYPE_ETH = 2,\n\tDEVLINK_PORT_TYPE_IB = 3,\n};\n\nenum devlink_rate_type {\n\tDEVLINK_RATE_TYPE_LEAF = 0,\n\tDEVLINK_RATE_TYPE_NODE = 1,\n};\n\nenum devm_ioremap_type {\n\tDEVM_IOREMAP = 0,\n\tDEVM_IOREMAP_UC = 1,\n\tDEVM_IOREMAP_WC = 2,\n\tDEVM_IOREMAP_NP = 3,\n};\n\nenum die_val {\n\tDIE_OOPS = 1,\n\tDIE_RI = 2,\n\tDIE_FP = 3,\n\tDIE_SIMD = 4,\n\tDIE_TRAP = 5,\n};\n\nenum dim_cq_period_mode {\n\tDIM_CQ_PERIOD_MODE_START_FROM_EQE = 0,\n\tDIM_CQ_PERIOD_MODE_START_FROM_CQE = 1,\n\tDIM_CQ_PERIOD_NUM_MODES = 2,\n};\n\nenum dim_state {\n\tDIM_START_MEASURE = 0,\n\tDIM_MEASURE_IN_PROGRESS = 1,\n\tDIM_APPLY_NEW_PROFILE = 2,\n};\n\nenum dim_stats_state {\n\tDIM_STATS_WORSE = 0,\n\tDIM_STATS_SAME = 1,\n\tDIM_STATS_BETTER = 2,\n};\n\nenum dim_step_result {\n\tDIM_STEPPED = 0,\n\tDIM_TOO_TIRED = 1,\n\tDIM_ON_EDGE = 2,\n};\n\nenum dim_tune_state {\n\tDIM_PARKING_ON_TOP = 0,\n\tDIM_PARKING_TIRED = 1,\n\tDIM_GOING_RIGHT = 2,\n\tDIM_GOING_LEFT = 3,\n};\n\nenum discover_event {\n\tDISCE_DISCOVER_DOMAIN = 0,\n\tDISCE_REVALIDATE_DOMAIN = 1,\n\tDISCE_SUSPEND = 2,\n\tDISCE_RESUME = 3,\n\tDISC_NUM_EVENTS = 4,\n};\n\nenum dl_bw_request {\n\tdl_bw_req_deactivate = 0,\n\tdl_bw_req_alloc = 1,\n\tdl_bw_req_free = 2,\n};\n\nenum dl_dev_state {\n\tDL_DEV_NO_DRIVER = 0,\n\tDL_DEV_PROBING = 1,\n\tDL_DEV_DRIVER_BOUND = 2,\n\tDL_DEV_UNBINDING = 3,\n};\n\nenum dm_io_mem_type {\n\tDM_IO_PAGE_LIST = 0,\n\tDM_IO_BIO = 1,\n\tDM_IO_VMA = 2,\n\tDM_IO_KMEM = 3,\n};\n\nenum dm_queue_mode {\n\tDM_TYPE_NONE = 0,\n\tDM_TYPE_BIO_BASED = 1,\n\tDM_TYPE_REQUEST_BASED = 2,\n\tDM_TYPE_DAX_BIO_BASED = 3,\n};\n\nenum dm_uevent_type {\n\tDM_UEVENT_PATH_FAILED = 0,\n\tDM_UEVENT_PATH_REINSTATED = 1,\n};\n\nenum dma_ctrl_flags {\n\tDMA_PREP_INTERRUPT = 1,\n\tDMA_CTRL_ACK = 2,\n\tDMA_PREP_PQ_DISABLE_P = 4,\n\tDMA_PREP_PQ_DISABLE_Q = 8,\n\tDMA_PREP_CONTINUE = 16,\n\tDMA_PREP_FENCE = 32,\n\tDMA_CTRL_REUSE = 64,\n\tDMA_PREP_CMD = 128,\n\tDMA_PREP_REPEAT = 256,\n\tDMA_PREP_LOAD_EOT = 512,\n};\n\nenum dma_data_direction {\n\tDMA_BIDIRECTIONAL = 0,\n\tDMA_TO_DEVICE = 1,\n\tDMA_FROM_DEVICE = 2,\n\tDMA_NONE = 3,\n};\n\nenum dma_desc_metadata_mode {\n\tDESC_METADATA_NONE = 0,\n\tDESC_METADATA_CLIENT = 1,\n\tDESC_METADATA_ENGINE = 2,\n};\n\nenum dma_dtype {\n\tDTYPE1 = 1,\n\tDTYPE2 = 2,\n\tDTYPE3 = 3,\n\tDTYPE4 = 4,\n\tDTYPE5 = 5,\n\tDTYPE6 = 6,\n};\n\nenum dma_fence_flag_bits {\n\tDMA_FENCE_FLAG_SIGNALED_BIT = 0,\n\tDMA_FENCE_FLAG_TIMESTAMP_BIT = 1,\n\tDMA_FENCE_FLAG_ENABLE_SIGNAL_BIT = 2,\n\tDMA_FENCE_FLAG_USER_BITS = 3,\n};\n\nenum dma_irq_dir {\n\tDMA_DIR_RX = 1,\n\tDMA_DIR_TX = 2,\n\tDMA_DIR_RXTX = 3,\n};\n\nenum dma_irq_status {\n\ttx_hard_error = 1,\n\ttx_hard_error_bump_tc = 2,\n\thandle_rx = 4,\n\thandle_tx = 8,\n};\n\nenum dma_residue_granularity {\n\tDMA_RESIDUE_GRANULARITY_DESCRIPTOR = 0,\n\tDMA_RESIDUE_GRANULARITY_SEGMENT = 1,\n\tDMA_RESIDUE_GRANULARITY_BURST = 2,\n};\n\nenum dma_resv_usage {\n\tDMA_RESV_USAGE_KERNEL = 0,\n\tDMA_RESV_USAGE_WRITE = 1,\n\tDMA_RESV_USAGE_READ = 2,\n\tDMA_RESV_USAGE_BOOKKEEP = 3,\n};\n\nenum dma_rtype {\n\tNREAD = 0,\n\tLAST_NWRITE_R = 1,\n\tALL_NWRITE = 2,\n\tALL_NWRITE_R = 3,\n\tMAINT_RD = 4,\n\tMAINT_WR = 5,\n};\n\nenum dma_slave_buswidth {\n\tDMA_SLAVE_BUSWIDTH_UNDEFINED = 0,\n\tDMA_SLAVE_BUSWIDTH_1_BYTE = 1,\n\tDMA_SLAVE_BUSWIDTH_2_BYTES = 2,\n\tDMA_SLAVE_BUSWIDTH_3_BYTES = 3,\n\tDMA_SLAVE_BUSWIDTH_4_BYTES = 4,\n\tDMA_SLAVE_BUSWIDTH_8_BYTES = 8,\n\tDMA_SLAVE_BUSWIDTH_16_BYTES = 16,\n\tDMA_SLAVE_BUSWIDTH_32_BYTES = 32,\n\tDMA_SLAVE_BUSWIDTH_64_BYTES = 64,\n\tDMA_SLAVE_BUSWIDTH_128_BYTES = 128,\n};\n\nenum dma_status {\n\tDMA_COMPLETE = 0,\n\tDMA_IN_PROGRESS = 1,\n\tDMA_PAUSED = 2,\n\tDMA_ERROR = 3,\n\tDMA_OUT_OF_ORDER = 4,\n};\n\nenum dma_transaction_type {\n\tDMA_MEMCPY = 0,\n\tDMA_XOR = 1,\n\tDMA_PQ = 2,\n\tDMA_XOR_VAL = 3,\n\tDMA_PQ_VAL = 4,\n\tDMA_MEMSET = 5,\n\tDMA_MEMSET_SG = 6,\n\tDMA_INTERRUPT = 7,\n\tDMA_PRIVATE = 8,\n\tDMA_ASYNC_TX = 9,\n\tDMA_SLAVE = 10,\n\tDMA_CYCLIC = 11,\n\tDMA_INTERLEAVE = 12,\n\tDMA_COMPLETION_NO_ORDER = 13,\n\tDMA_REPEAT = 14,\n\tDMA_LOAD_EOT = 15,\n\tDMA_TX_TYPE_END = 16,\n};\n\nenum dma_transfer_direction {\n\tDMA_MEM_TO_MEM = 0,\n\tDMA_MEM_TO_DEV = 1,\n\tDMA_DEV_TO_MEM = 2,\n\tDMA_DEV_TO_DEV = 3,\n\tDMA_TRANS_NONE = 4,\n};\n\nenum dmaengine_alignment {\n\tDMAENGINE_ALIGN_1_BYTE = 0,\n\tDMAENGINE_ALIGN_2_BYTES = 1,\n\tDMAENGINE_ALIGN_4_BYTES = 2,\n\tDMAENGINE_ALIGN_8_BYTES = 3,\n\tDMAENGINE_ALIGN_16_BYTES = 4,\n\tDMAENGINE_ALIGN_32_BYTES = 5,\n\tDMAENGINE_ALIGN_64_BYTES = 6,\n\tDMAENGINE_ALIGN_128_BYTES = 7,\n\tDMAENGINE_ALIGN_256_BYTES = 8,\n};\n\nenum dmaengine_tx_result {\n\tDMA_TRANS_NOERROR = 0,\n\tDMA_TRANS_READ_FAILED = 1,\n\tDMA_TRANS_WRITE_FAILED = 2,\n\tDMA_TRANS_ABORTED = 3,\n};\n\nenum dmi_device_type {\n\tDMI_DEV_TYPE_ANY = 0,\n\tDMI_DEV_TYPE_OTHER = 1,\n\tDMI_DEV_TYPE_UNKNOWN = 2,\n\tDMI_DEV_TYPE_VIDEO = 3,\n\tDMI_DEV_TYPE_SCSI = 4,\n\tDMI_DEV_TYPE_ETHERNET = 5,\n\tDMI_DEV_TYPE_TOKENRING = 6,\n\tDMI_DEV_TYPE_SOUND = 7,\n\tDMI_DEV_TYPE_PATA = 8,\n\tDMI_DEV_TYPE_SATA = 9,\n\tDMI_DEV_TYPE_SAS = 10,\n\tDMI_DEV_TYPE_IPMI = -1,\n\tDMI_DEV_TYPE_OEM_STRING = -2,\n\tDMI_DEV_TYPE_DEV_ONBOARD = -3,\n\tDMI_DEV_TYPE_DEV_SLOT = -4,\n};\n\nenum dmi_entry_type {\n\tDMI_ENTRY_BIOS = 0,\n\tDMI_ENTRY_SYSTEM = 1,\n\tDMI_ENTRY_BASEBOARD = 2,\n\tDMI_ENTRY_CHASSIS = 3,\n\tDMI_ENTRY_PROCESSOR = 4,\n\tDMI_ENTRY_MEM_CONTROLLER = 5,\n\tDMI_ENTRY_MEM_MODULE = 6,\n\tDMI_ENTRY_CACHE = 7,\n\tDMI_ENTRY_PORT_CONNECTOR = 8,\n\tDMI_ENTRY_SYSTEM_SLOT = 9,\n\tDMI_ENTRY_ONBOARD_DEVICE = 10,\n\tDMI_ENTRY_OEMSTRINGS = 11,\n\tDMI_ENTRY_SYSCONF = 12,\n\tDMI_ENTRY_BIOS_LANG = 13,\n\tDMI_ENTRY_GROUP_ASSOC = 14,\n\tDMI_ENTRY_SYSTEM_EVENT_LOG = 15,\n\tDMI_ENTRY_PHYS_MEM_ARRAY = 16,\n\tDMI_ENTRY_MEM_DEVICE = 17,\n\tDMI_ENTRY_32_MEM_ERROR = 18,\n\tDMI_ENTRY_MEM_ARRAY_MAPPED_ADDR = 19,\n\tDMI_ENTRY_MEM_DEV_MAPPED_ADDR = 20,\n\tDMI_ENTRY_BUILTIN_POINTING_DEV = 21,\n\tDMI_ENTRY_PORTABLE_BATTERY = 22,\n\tDMI_ENTRY_SYSTEM_RESET = 23,\n\tDMI_ENTRY_HW_SECURITY = 24,\n\tDMI_ENTRY_SYSTEM_POWER_CONTROLS = 25,\n\tDMI_ENTRY_VOLTAGE_PROBE = 26,\n\tDMI_ENTRY_COOLING_DEV = 27,\n\tDMI_ENTRY_TEMP_PROBE = 28,\n\tDMI_ENTRY_ELECTRICAL_CURRENT_PROBE = 29,\n\tDMI_ENTRY_OOB_REMOTE_ACCESS = 30,\n\tDMI_ENTRY_BIS_ENTRY = 31,\n\tDMI_ENTRY_SYSTEM_BOOT = 32,\n\tDMI_ENTRY_MGMT_DEV = 33,\n\tDMI_ENTRY_MGMT_DEV_COMPONENT = 34,\n\tDMI_ENTRY_MGMT_DEV_THRES = 35,\n\tDMI_ENTRY_MEM_CHANNEL = 36,\n\tDMI_ENTRY_IPMI_DEV = 37,\n\tDMI_ENTRY_SYS_POWER_SUPPLY = 38,\n\tDMI_ENTRY_ADDITIONAL = 39,\n\tDMI_ENTRY_ONBOARD_DEV_EXT = 40,\n\tDMI_ENTRY_MGMT_CONTROLLER_HOST = 41,\n\tDMI_ENTRY_INACTIVE = 126,\n\tDMI_ENTRY_END_OF_TABLE = 127,\n};\n\nenum dmi_field {\n\tDMI_NONE = 0,\n\tDMI_BIOS_VENDOR = 1,\n\tDMI_BIOS_VERSION = 2,\n\tDMI_BIOS_DATE = 3,\n\tDMI_BIOS_RELEASE = 4,\n\tDMI_EC_FIRMWARE_RELEASE = 5,\n\tDMI_SYS_VENDOR = 6,\n\tDMI_PRODUCT_NAME = 7,\n\tDMI_PRODUCT_VERSION = 8,\n\tDMI_PRODUCT_SERIAL = 9,\n\tDMI_PRODUCT_UUID = 10,\n\tDMI_PRODUCT_SKU = 11,\n\tDMI_PRODUCT_FAMILY = 12,\n\tDMI_BOARD_VENDOR = 13,\n\tDMI_BOARD_NAME = 14,\n\tDMI_BOARD_VERSION = 15,\n\tDMI_BOARD_SERIAL = 16,\n\tDMI_BOARD_ASSET_TAG = 17,\n\tDMI_CHASSIS_VENDOR = 18,\n\tDMI_CHASSIS_TYPE = 19,\n\tDMI_CHASSIS_VERSION = 20,\n\tDMI_CHASSIS_SERIAL = 21,\n\tDMI_CHASSIS_ASSET_TAG = 22,\n\tDMI_STRING_MAX = 23,\n\tDMI_OEM_STRING = 24,\n};\n\nenum dns_lookup_status {\n\tDNS_LOOKUP_NOT_DONE = 0,\n\tDNS_LOOKUP_GOOD = 1,\n\tDNS_LOOKUP_GOOD_WITH_BAD = 2,\n\tDNS_LOOKUP_BAD = 3,\n\tDNS_LOOKUP_GOT_NOT_FOUND = 4,\n\tDNS_LOOKUP_GOT_LOCAL_FAILURE = 5,\n\tDNS_LOOKUP_GOT_TEMP_FAILURE = 6,\n\tDNS_LOOKUP_GOT_NS_FAILURE = 7,\n\tNR__dns_lookup_status = 8,\n};\n\nenum dns_payload_content_type {\n\tDNS_PAYLOAD_IS_SERVER_LIST = 0,\n};\n\nenum dock_callback_type {\n\tDOCK_CALL_HANDLER = 0,\n\tDOCK_CALL_FIXUP = 1,\n\tDOCK_CALL_UEVENT = 2,\n};\n\nenum dpm_order {\n\tDPM_ORDER_NONE = 0,\n\tDPM_ORDER_DEV_AFTER_PARENT = 1,\n\tDPM_ORDER_PARENT_BEFORE_DEV = 2,\n\tDPM_ORDER_DEV_LAST = 3,\n};\n\nenum driver_configuration {\n\tMVS_TX_RING_SZ = 1024,\n\tMVS_RX_RING_SZ = 1024,\n\tMVS_SOC_SLOTS = 64,\n\tMVS_SOC_TX_RING_SZ = 128,\n\tMVS_SOC_RX_RING_SZ = 128,\n\tMVS_SLOT_BUF_SZ = 8192,\n\tMVS_SSP_CMD_SZ = 64,\n\tMVS_ATA_CMD_SZ = 96,\n\tMVS_OAF_SZ = 64,\n\tMVS_QUEUE_SIZE = 64,\n\tMVS_RSVD_SLOTS = 4,\n\tMVS_SOC_CAN_QUEUE = 62,\n};\n\nenum drm_bridge_attach_flags {\n\tDRM_BRIDGE_ATTACH_NO_CONNECTOR = 1,\n};\n\nenum drm_bridge_ops {\n\tDRM_BRIDGE_OP_DETECT = 1,\n\tDRM_BRIDGE_OP_EDID = 2,\n\tDRM_BRIDGE_OP_HPD = 4,\n\tDRM_BRIDGE_OP_MODES = 8,\n\tDRM_BRIDGE_OP_HDMI = 16,\n};\n\nenum drm_color_encoding {\n\tDRM_COLOR_YCBCR_BT601 = 0,\n\tDRM_COLOR_YCBCR_BT709 = 1,\n\tDRM_COLOR_YCBCR_BT2020 = 2,\n\tDRM_COLOR_ENCODING_MAX = 3,\n};\n\nenum drm_color_lut_tests {\n\tDRM_COLOR_LUT_EQUAL_CHANNELS = 1,\n\tDRM_COLOR_LUT_NON_DECREASING = 2,\n};\n\nenum drm_color_range {\n\tDRM_COLOR_YCBCR_LIMITED_RANGE = 0,\n\tDRM_COLOR_YCBCR_FULL_RANGE = 1,\n\tDRM_COLOR_RANGE_MAX = 2,\n};\n\nenum drm_colorspace {\n\tDRM_MODE_COLORIMETRY_DEFAULT = 0,\n\tDRM_MODE_COLORIMETRY_NO_DATA = 0,\n\tDRM_MODE_COLORIMETRY_SMPTE_170M_YCC = 1,\n\tDRM_MODE_COLORIMETRY_BT709_YCC = 2,\n\tDRM_MODE_COLORIMETRY_XVYCC_601 = 3,\n\tDRM_MODE_COLORIMETRY_XVYCC_709 = 4,\n\tDRM_MODE_COLORIMETRY_SYCC_601 = 5,\n\tDRM_MODE_COLORIMETRY_OPYCC_601 = 6,\n\tDRM_MODE_COLORIMETRY_OPRGB = 7,\n\tDRM_MODE_COLORIMETRY_BT2020_CYCC = 8,\n\tDRM_MODE_COLORIMETRY_BT2020_RGB = 9,\n\tDRM_MODE_COLORIMETRY_BT2020_YCC = 10,\n\tDRM_MODE_COLORIMETRY_DCI_P3_RGB_D65 = 11,\n\tDRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER = 12,\n\tDRM_MODE_COLORIMETRY_RGB_WIDE_FIXED = 13,\n\tDRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT = 14,\n\tDRM_MODE_COLORIMETRY_BT601_YCC = 15,\n\tDRM_MODE_COLORIMETRY_COUNT = 16,\n};\n\nenum drm_connector_force {\n\tDRM_FORCE_UNSPECIFIED = 0,\n\tDRM_FORCE_OFF = 1,\n\tDRM_FORCE_ON = 2,\n\tDRM_FORCE_ON_DIGITAL = 3,\n};\n\nenum drm_connector_registration_state {\n\tDRM_CONNECTOR_INITIALIZING = 0,\n\tDRM_CONNECTOR_REGISTERED = 1,\n\tDRM_CONNECTOR_UNREGISTERED = 2,\n};\n\nenum drm_connector_status {\n\tconnector_status_connected = 1,\n\tconnector_status_disconnected = 2,\n\tconnector_status_unknown = 3,\n};\n\nenum drm_connector_tv_mode {\n\tDRM_MODE_TV_MODE_NTSC = 0,\n\tDRM_MODE_TV_MODE_NTSC_443 = 1,\n\tDRM_MODE_TV_MODE_NTSC_J = 2,\n\tDRM_MODE_TV_MODE_PAL = 3,\n\tDRM_MODE_TV_MODE_PAL_M = 4,\n\tDRM_MODE_TV_MODE_PAL_N = 5,\n\tDRM_MODE_TV_MODE_SECAM = 6,\n\tDRM_MODE_TV_MODE_MONOCHROME = 7,\n\tDRM_MODE_TV_MODE_MAX = 8,\n};\n\nenum drm_debug_category {\n\tDRM_UT_CORE = 0,\n\tDRM_UT_DRIVER = 1,\n\tDRM_UT_KMS = 2,\n\tDRM_UT_PRIME = 3,\n\tDRM_UT_ATOMIC = 4,\n\tDRM_UT_VBL = 5,\n\tDRM_UT_STATE = 6,\n\tDRM_UT_LEASE = 7,\n\tDRM_UT_DP = 8,\n\tDRM_UT_DRMRES = 9,\n};\n\nenum drm_driver_feature {\n\tDRIVER_GEM = 1,\n\tDRIVER_MODESET = 2,\n\tDRIVER_RENDER = 8,\n\tDRIVER_ATOMIC = 16,\n\tDRIVER_SYNCOBJ = 32,\n\tDRIVER_SYNCOBJ_TIMELINE = 64,\n\tDRIVER_COMPUTE_ACCEL = 128,\n\tDRIVER_GEM_GPUVA = 256,\n\tDRIVER_CURSOR_HOTSPOT = 512,\n\tDRIVER_USE_AGP = 33554432,\n\tDRIVER_LEGACY = 67108864,\n\tDRIVER_PCI_DMA = 134217728,\n\tDRIVER_SG = 268435456,\n\tDRIVER_HAVE_DMA = 536870912,\n\tDRIVER_HAVE_IRQ = 1073741824,\n};\n\nenum drm_gem_object_status {\n\tDRM_GEM_OBJECT_RESIDENT = 1,\n\tDRM_GEM_OBJECT_PURGEABLE = 2,\n\tDRM_GEM_OBJECT_ACTIVE = 4,\n};\n\nenum drm_gpuva_flags {\n\tDRM_GPUVA_INVALIDATED = 1,\n\tDRM_GPUVA_SPARSE = 2,\n\tDRM_GPUVA_USERBITS = 4,\n};\n\nenum drm_gpuva_op_type {\n\tDRM_GPUVA_OP_MAP = 0,\n\tDRM_GPUVA_OP_REMAP = 1,\n\tDRM_GPUVA_OP_UNMAP = 2,\n\tDRM_GPUVA_OP_PREFETCH = 3,\n};\n\nenum drm_gpuvm_flags {\n\tDRM_GPUVM_RESV_PROTECTED = 1,\n\tDRM_GPUVM_USERBITS = 2,\n};\n\nenum drm_hdmi_broadcast_rgb {\n\tDRM_HDMI_BROADCAST_RGB_AUTO = 0,\n\tDRM_HDMI_BROADCAST_RGB_FULL = 1,\n\tDRM_HDMI_BROADCAST_RGB_LIMITED = 2,\n};\n\nenum drm_ioctl_flags {\n\tDRM_AUTH = 1,\n\tDRM_MASTER = 2,\n\tDRM_ROOT_ONLY = 4,\n\tDRM_RENDER_ALLOW = 32,\n};\n\nenum drm_link_status {\n\tDRM_LINK_STATUS_GOOD = 0,\n\tDRM_LINK_STATUS_BAD = 1,\n};\n\nenum drm_lvds_dual_link_pixels {\n\tDRM_LVDS_DUAL_LINK_EVEN_ODD_PIXELS = 0,\n\tDRM_LVDS_DUAL_LINK_ODD_EVEN_PIXELS = 1,\n};\n\nenum drm_minor_type {\n\tDRM_MINOR_PRIMARY = 0,\n\tDRM_MINOR_CONTROL = 1,\n\tDRM_MINOR_RENDER = 2,\n\tDRM_MINOR_ACCEL = 32,\n};\n\nenum drm_mm_insert_mode {\n\tDRM_MM_INSERT_BEST = 0,\n\tDRM_MM_INSERT_LOW = 1,\n\tDRM_MM_INSERT_HIGH = 2,\n\tDRM_MM_INSERT_EVICT = 3,\n\tDRM_MM_INSERT_ONCE = 2147483648,\n\tDRM_MM_INSERT_HIGHEST = 2147483650,\n\tDRM_MM_INSERT_LOWEST = 2147483649,\n};\n\nenum drm_mode_analog {\n\tDRM_MODE_ANALOG_NTSC = 0,\n\tDRM_MODE_ANALOG_PAL = 1,\n};\n\nenum drm_mode_status {\n\tMODE_OK = 0,\n\tMODE_HSYNC = 1,\n\tMODE_VSYNC = 2,\n\tMODE_H_ILLEGAL = 3,\n\tMODE_V_ILLEGAL = 4,\n\tMODE_BAD_WIDTH = 5,\n\tMODE_NOMODE = 6,\n\tMODE_NO_INTERLACE = 7,\n\tMODE_NO_DBLESCAN = 8,\n\tMODE_NO_VSCAN = 9,\n\tMODE_MEM = 10,\n\tMODE_VIRTUAL_X = 11,\n\tMODE_VIRTUAL_Y = 12,\n\tMODE_MEM_VIRT = 13,\n\tMODE_NOCLOCK = 14,\n\tMODE_CLOCK_HIGH = 15,\n\tMODE_CLOCK_LOW = 16,\n\tMODE_CLOCK_RANGE = 17,\n\tMODE_BAD_HVALUE = 18,\n\tMODE_BAD_VVALUE = 19,\n\tMODE_BAD_VSCAN = 20,\n\tMODE_HSYNC_NARROW = 21,\n\tMODE_HSYNC_WIDE = 22,\n\tMODE_HBLANK_NARROW = 23,\n\tMODE_HBLANK_WIDE = 24,\n\tMODE_VSYNC_NARROW = 25,\n\tMODE_VSYNC_WIDE = 26,\n\tMODE_VBLANK_NARROW = 27,\n\tMODE_VBLANK_WIDE = 28,\n\tMODE_PANEL = 29,\n\tMODE_INTERLACE_WIDTH = 30,\n\tMODE_ONE_WIDTH = 31,\n\tMODE_ONE_HEIGHT = 32,\n\tMODE_ONE_SIZE = 33,\n\tMODE_NO_REDUCED = 34,\n\tMODE_NO_STEREO = 35,\n\tMODE_NO_420 = 36,\n\tMODE_STALE = -3,\n\tMODE_BAD = -2,\n\tMODE_ERROR = -1,\n};\n\nenum drm_mode_subconnector {\n\tDRM_MODE_SUBCONNECTOR_Automatic = 0,\n\tDRM_MODE_SUBCONNECTOR_Unknown = 0,\n\tDRM_MODE_SUBCONNECTOR_VGA = 1,\n\tDRM_MODE_SUBCONNECTOR_DVID = 3,\n\tDRM_MODE_SUBCONNECTOR_DVIA = 4,\n\tDRM_MODE_SUBCONNECTOR_Composite = 5,\n\tDRM_MODE_SUBCONNECTOR_SVIDEO = 6,\n\tDRM_MODE_SUBCONNECTOR_Component = 8,\n\tDRM_MODE_SUBCONNECTOR_SCART = 9,\n\tDRM_MODE_SUBCONNECTOR_DisplayPort = 10,\n\tDRM_MODE_SUBCONNECTOR_HDMIA = 11,\n\tDRM_MODE_SUBCONNECTOR_Native = 15,\n\tDRM_MODE_SUBCONNECTOR_Wireless = 18,\n};\n\nenum drm_of_lvds_pixels {\n\tDRM_OF_LVDS_EVEN = 1,\n\tDRM_OF_LVDS_ODD = 2,\n};\n\nenum drm_panel_orientation {\n\tDRM_MODE_PANEL_ORIENTATION_UNKNOWN = -1,\n\tDRM_MODE_PANEL_ORIENTATION_NORMAL = 0,\n\tDRM_MODE_PANEL_ORIENTATION_BOTTOM_UP = 1,\n\tDRM_MODE_PANEL_ORIENTATION_LEFT_UP = 2,\n\tDRM_MODE_PANEL_ORIENTATION_RIGHT_UP = 3,\n};\n\nenum drm_plane_type {\n\tDRM_PLANE_TYPE_OVERLAY = 0,\n\tDRM_PLANE_TYPE_PRIMARY = 1,\n\tDRM_PLANE_TYPE_CURSOR = 2,\n};\n\nenum drm_privacy_screen_status {\n\tPRIVACY_SCREEN_DISABLED = 0,\n\tPRIVACY_SCREEN_ENABLED = 1,\n\tPRIVACY_SCREEN_DISABLED_LOCKED = 2,\n\tPRIVACY_SCREEN_ENABLED_LOCKED = 3,\n};\n\nenum drm_scaling_filter {\n\tDRM_SCALING_FILTER_DEFAULT = 0,\n\tDRM_SCALING_FILTER_NEAREST_NEIGHBOR = 1,\n};\n\nenum drm_stat_type {\n\t_DRM_STAT_LOCK = 0,\n\t_DRM_STAT_OPENS = 1,\n\t_DRM_STAT_CLOSES = 2,\n\t_DRM_STAT_IOCTLS = 3,\n\t_DRM_STAT_LOCKS = 4,\n\t_DRM_STAT_UNLOCKS = 5,\n\t_DRM_STAT_VALUE = 6,\n\t_DRM_STAT_BYTE = 7,\n\t_DRM_STAT_COUNT = 8,\n\t_DRM_STAT_IRQ = 9,\n\t_DRM_STAT_PRIMARY = 10,\n\t_DRM_STAT_SECONDARY = 11,\n\t_DRM_STAT_DMA = 12,\n\t_DRM_STAT_SPECIAL = 13,\n\t_DRM_STAT_MISSED = 14,\n};\n\nenum drm_vblank_seq_type {\n\t_DRM_VBLANK_ABSOLUTE = 0,\n\t_DRM_VBLANK_RELATIVE = 1,\n\t_DRM_VBLANK_HIGH_CRTC_MASK = 62,\n\t_DRM_VBLANK_EVENT = 67108864,\n\t_DRM_VBLANK_FLIP = 134217728,\n\t_DRM_VBLANK_NEXTONMISS = 268435456,\n\t_DRM_VBLANK_SECONDARY = 536870912,\n\t_DRM_VBLANK_SIGNAL = 1073741824,\n};\n\nenum dw_pci_ctl_id_t {\n\tmedfield = 0,\n\tmerrifield = 1,\n\tbaytrail = 2,\n\tcherrytrail = 3,\n\thaswell = 4,\n\telkhartlake = 5,\n\tnavi_amd = 6,\n};\n\nenum dw_xpcs_clock {\n\tDW_XPCS_CORE_CLK = 0,\n\tDW_XPCS_PAD_CLK = 1,\n\tDW_XPCS_NUM_CLKS = 2,\n};\n\nenum dw_xpcs_pcs_id {\n\tDW_XPCS_ID_NATIVE = 0,\n\tNXP_SJA1105_XPCS_ID = 16,\n\tNXP_SJA1110_XPCS_ID = 32,\n\tDW_XPCS_ID = 2039926480,\n\tDW_XPCS_ID_MASK = 4294967295,\n};\n\nenum dw_xpcs_pma_id {\n\tDW_XPCS_PMA_ID_NATIVE = 0,\n\tDW_XPCS_PMA_GEN1_3G_ID = 1,\n\tDW_XPCS_PMA_GEN2_3G_ID = 2,\n\tDW_XPCS_PMA_GEN2_6G_ID = 3,\n\tDW_XPCS_PMA_GEN4_3G_ID = 4,\n\tDW_XPCS_PMA_GEN4_6G_ID = 5,\n\tDW_XPCS_PMA_GEN5_10G_ID = 6,\n\tDW_XPCS_PMA_GEN5_12G_ID = 7,\n\tWX_TXGBE_XPCS_PMA_10G_ID = 1637504,\n};\n\nenum dwc2_control_phase {\n\tDWC2_CONTROL_SETUP = 0,\n\tDWC2_CONTROL_DATA = 1,\n\tDWC2_CONTROL_STATUS = 2,\n};\n\nenum dwc2_halt_status {\n\tDWC2_HC_XFER_NO_HALT_STATUS = 0,\n\tDWC2_HC_XFER_COMPLETE = 1,\n\tDWC2_HC_XFER_URB_COMPLETE = 2,\n\tDWC2_HC_XFER_ACK = 3,\n\tDWC2_HC_XFER_NAK = 4,\n\tDWC2_HC_XFER_NYET = 5,\n\tDWC2_HC_XFER_STALL = 6,\n\tDWC2_HC_XFER_XACT_ERR = 7,\n\tDWC2_HC_XFER_FRAME_OVERRUN = 8,\n\tDWC2_HC_XFER_BABBLE_ERR = 9,\n\tDWC2_HC_XFER_DATA_TOGGLE_ERR = 10,\n\tDWC2_HC_XFER_AHB_ERR = 11,\n\tDWC2_HC_XFER_PERIODIC_INCOMPLETE = 12,\n\tDWC2_HC_XFER_URB_DEQUEUE = 13,\n};\n\nenum dwc2_hsotg_dmamode {\n\tS3C_HSOTG_DMA_NONE = 0,\n\tS3C_HSOTG_DMA_ONLY = 1,\n\tS3C_HSOTG_DMA_DRV = 2,\n};\n\nenum dwc2_lx_state {\n\tDWC2_L0 = 0,\n\tDWC2_L1 = 1,\n\tDWC2_L2 = 2,\n\tDWC2_L3 = 3,\n};\n\nenum dwc2_transaction_type {\n\tDWC2_TRANSACTION_NONE = 0,\n\tDWC2_TRANSACTION_PERIODIC = 1,\n\tDWC2_TRANSACTION_NON_PERIODIC = 2,\n\tDWC2_TRANSACTION_ALL = 3,\n};\n\nenum dwmac4_irq_status {\n\ttime_stamp_irq = 4096,\n\tmmc_rx_csum_offload_irq = 2048,\n\tmmc_tx_irq = 1024,\n\tmmc_rx_irq = 512,\n\tmmc_irq = 256,\n\tlpi_irq = 32,\n\tpmt_irq = 16,\n};\n\nenum dynevent_type {\n\tDYNEVENT_TYPE_SYNTH = 1,\n\tDYNEVENT_TYPE_KPROBE = 2,\n\tDYNEVENT_TYPE_NONE = 3,\n};\n\nenum e1000_1000t_rx_status {\n\te1000_1000t_rx_status_not_ok___2 = 0,\n\te1000_1000t_rx_status_ok___2 = 1,\n\te1000_1000t_rx_status_undefined___2 = 255,\n};\n\nenum e1000_boards {\n\tboard_82571 = 0,\n\tboard_82572 = 1,\n\tboard_82573 = 2,\n\tboard_82574 = 3,\n\tboard_82583 = 4,\n\tboard_80003es2lan = 5,\n\tboard_ich8lan = 6,\n\tboard_ich9lan = 7,\n\tboard_ich10lan = 8,\n\tboard_pchlan = 9,\n\tboard_pch2lan = 10,\n\tboard_pch_lpt = 11,\n\tboard_pch_spt = 12,\n\tboard_pch_cnp = 13,\n\tboard_pch_tgp = 14,\n\tboard_pch_adp = 15,\n\tboard_pch_mtp = 16,\n};\n\nenum e1000_bus_speed {\n\te1000_bus_speed_unknown___2 = 0,\n\te1000_bus_speed_33___2 = 1,\n\te1000_bus_speed_66___2 = 2,\n\te1000_bus_speed_100___2 = 3,\n\te1000_bus_speed_120___2 = 4,\n\te1000_bus_speed_133___2 = 5,\n\te1000_bus_speed_2500 = 6,\n\te1000_bus_speed_5000 = 7,\n\te1000_bus_speed_reserved___2 = 8,\n};\n\nenum e1000_bus_type {\n\te1000_bus_type_unknown___2 = 0,\n\te1000_bus_type_pci___2 = 1,\n\te1000_bus_type_pcix___2 = 2,\n\te1000_bus_type_pci_express = 3,\n\te1000_bus_type_reserved___2 = 4,\n};\n\nenum e1000_bus_width {\n\te1000_bus_width_unknown___2 = 0,\n\te1000_bus_width_pcie_x1 = 1,\n\te1000_bus_width_pcie_x2 = 2,\n\te1000_bus_width_pcie_x4 = 4,\n\te1000_bus_width_pcie_x8 = 8,\n\te1000_bus_width_32___2 = 9,\n\te1000_bus_width_64___2 = 10,\n\te1000_bus_width_reserved___2 = 11,\n};\n\nenum e1000_fc_mode {\n\te1000_fc_none = 0,\n\te1000_fc_rx_pause = 1,\n\te1000_fc_tx_pause = 2,\n\te1000_fc_full = 3,\n\te1000_fc_default = 255,\n};\n\nenum e1000_mac_type {\n\te1000_82571 = 0,\n\te1000_82572 = 1,\n\te1000_82573 = 2,\n\te1000_82574 = 3,\n\te1000_82583 = 4,\n\te1000_80003es2lan = 5,\n\te1000_ich8lan = 6,\n\te1000_ich9lan = 7,\n\te1000_ich10lan = 8,\n\te1000_pchlan = 9,\n\te1000_pch2lan = 10,\n\te1000_pch_lpt = 11,\n\te1000_pch_spt = 12,\n\te1000_pch_cnp = 13,\n\te1000_pch_tgp = 14,\n\te1000_pch_adp = 15,\n\te1000_pch_mtp = 16,\n\te1000_pch_lnp = 17,\n\te1000_pch_ptp = 18,\n\te1000_pch_nvp = 19,\n};\n\nenum e1000_mac_type___2 {\n\te1000_undefined___2 = 0,\n\te1000_82575 = 1,\n\te1000_82576 = 2,\n\te1000_82580 = 3,\n\te1000_i350 = 4,\n\te1000_i354 = 5,\n\te1000_i210 = 6,\n\te1000_i211 = 7,\n\te1000_num_macs___2 = 8,\n};\n\nenum e1000_media_type {\n\te1000_media_type_unknown = 0,\n\te1000_media_type_copper___2 = 1,\n\te1000_media_type_fiber___2 = 2,\n\te1000_media_type_internal_serdes___2 = 3,\n\te1000_num_media_types___2 = 4,\n};\n\nenum e1000_mng_mode {\n\te1000_mng_mode_none = 0,\n\te1000_mng_mode_asf = 1,\n\te1000_mng_mode_pt = 2,\n\te1000_mng_mode_ipmi = 3,\n\te1000_mng_mode_host_if_only = 4,\n};\n\nenum e1000_ms_type {\n\te1000_ms_hw_default___2 = 0,\n\te1000_ms_force_master___2 = 1,\n\te1000_ms_force_slave___2 = 2,\n\te1000_ms_auto___2 = 3,\n};\n\nenum e1000_nvm_override {\n\te1000_nvm_override_none = 0,\n\te1000_nvm_override_spi_small = 1,\n\te1000_nvm_override_spi_large = 2,\n};\n\nenum e1000_nvm_type {\n\te1000_nvm_unknown = 0,\n\te1000_nvm_none = 1,\n\te1000_nvm_eeprom_spi = 2,\n\te1000_nvm_flash_hw = 3,\n\te1000_nvm_invm = 4,\n\te1000_nvm_flash_sw = 5,\n};\n\nenum e1000_nvm_type___2 {\n\te1000_nvm_unknown___2 = 0,\n\te1000_nvm_none___2 = 1,\n\te1000_nvm_eeprom_spi___2 = 2,\n\te1000_nvm_flash_hw___2 = 3,\n\te1000_nvm_flash_sw___2 = 4,\n};\n\nenum e1000_phy_type {\n\te1000_phy_unknown = 0,\n\te1000_phy_none = 1,\n\te1000_phy_m88___2 = 2,\n\te1000_phy_igp___2 = 3,\n\te1000_phy_igp_2 = 4,\n\te1000_phy_gg82563 = 5,\n\te1000_phy_igp_3 = 6,\n\te1000_phy_ife = 7,\n\te1000_phy_bm = 8,\n\te1000_phy_82578 = 9,\n\te1000_phy_82577 = 10,\n\te1000_phy_82579 = 11,\n\te1000_phy_i217 = 12,\n};\n\nenum e1000_phy_type___2 {\n\te1000_phy_unknown___2 = 0,\n\te1000_phy_none___2 = 1,\n\te1000_phy_m88___3 = 2,\n\te1000_phy_igp___3 = 3,\n\te1000_phy_igp_2___2 = 4,\n\te1000_phy_gg82563___2 = 5,\n\te1000_phy_igp_3___2 = 6,\n\te1000_phy_ife___2 = 7,\n\te1000_phy_82580 = 8,\n\te1000_phy_i210 = 9,\n\te1000_phy_bcm54616 = 10,\n};\n\nenum e1000_rev_polarity {\n\te1000_rev_polarity_normal___2 = 0,\n\te1000_rev_polarity_reversed___2 = 1,\n\te1000_rev_polarity_undefined___2 = 255,\n};\n\nenum e1000_ring_flags_t {\n\tIGB_RING_FLAG_RX_3K_BUFFER = 0,\n\tIGB_RING_FLAG_RX_BUILD_SKB_ENABLED = 1,\n\tIGB_RING_FLAG_RX_SCTP_CSUM = 2,\n\tIGB_RING_FLAG_RX_LB_VLAN_BSWAP = 3,\n\tIGB_RING_FLAG_TX_CTX_IDX = 4,\n\tIGB_RING_FLAG_TX_DETECT_HANG = 5,\n\tIGB_RING_FLAG_TX_DISABLED = 6,\n};\n\nenum e1000_serdes_link_state {\n\te1000_serdes_link_down = 0,\n\te1000_serdes_link_autoneg_progress = 1,\n\te1000_serdes_link_autoneg_complete = 2,\n\te1000_serdes_link_forced_up = 3,\n};\n\nenum e1000_smart_speed {\n\te1000_smart_speed_default___2 = 0,\n\te1000_smart_speed_on___2 = 1,\n\te1000_smart_speed_off___2 = 2,\n};\n\nenum e1000_state_t {\n\t__E1000_TESTING = 0,\n\t__E1000_RESETTING = 1,\n\t__E1000_ACCESS_SHARED_RESOURCE = 2,\n\t__E1000_DOWN = 3,\n};\n\nenum e1000_state_t___2 {\n\t__E1000_TESTING___2 = 0,\n\t__E1000_RESETTING___2 = 1,\n\t__E1000_DOWN___2 = 2,\n\t__E1000_DISABLED = 3,\n};\n\nenum e1000_state_t___3 {\n\t__IGB_TESTING = 0,\n\t__IGB_RESETTING = 1,\n\t__IGB_DOWN = 2,\n\t__IGB_PTP_TX_IN_PROGRESS = 3,\n};\n\nenum e1000_ulp_state {\n\te1000_ulp_state_unknown = 0,\n\te1000_ulp_state_off = 1,\n\te1000_ulp_state_on = 2,\n};\n\nenum ec_command {\n\tACPI_EC_COMMAND_READ = 128,\n\tACPI_EC_COMMAND_WRITE = 129,\n\tACPI_EC_BURST_ENABLE = 130,\n\tACPI_EC_BURST_DISABLE = 131,\n\tACPI_EC_COMMAND_QUERY = 132,\n};\n\nenum edid_block_status {\n\tEDID_BLOCK_OK = 0,\n\tEDID_BLOCK_READ_FAIL = 1,\n\tEDID_BLOCK_NULL = 2,\n\tEDID_BLOCK_ZERO = 3,\n\tEDID_BLOCK_HEADER_CORRUPT = 4,\n\tEDID_BLOCK_HEADER_REPAIR = 5,\n\tEDID_BLOCK_HEADER_FIXED = 6,\n\tEDID_BLOCK_CHECKSUM = 7,\n\tEDID_BLOCK_VERSION = 8,\n};\n\nenum efi_cmdline_option {\n\tEFI_CMDLINE_NONE = 0,\n\tEFI_CMDLINE_MODE_NUM = 1,\n\tEFI_CMDLINE_RES = 2,\n\tEFI_CMDLINE_AUTO = 3,\n\tEFI_CMDLINE_LIST = 4,\n};\n\nenum efi_rts_ids {\n\tEFI_NONE = 0,\n\tEFI_GET_TIME = 1,\n\tEFI_SET_TIME = 2,\n\tEFI_GET_WAKEUP_TIME = 3,\n\tEFI_SET_WAKEUP_TIME = 4,\n\tEFI_GET_VARIABLE = 5,\n\tEFI_GET_NEXT_VARIABLE = 6,\n\tEFI_SET_VARIABLE = 7,\n\tEFI_QUERY_VARIABLE_INFO = 8,\n\tEFI_GET_NEXT_HIGH_MONO_COUNT = 9,\n\tEFI_RESET_SYSTEM = 10,\n\tEFI_UPDATE_CAPSULE = 11,\n\tEFI_QUERY_CAPSULE_CAPS = 12,\n\tEFI_ACPI_PRM_HANDLER = 13,\n};\n\nenum efistub_event_type {\n\tEFISTUB_EVT_INITRD = 0,\n\tEFISTUB_EVT_LOAD_OPTIONS = 1,\n\tEFISTUB_EVT_COUNT = 2,\n};\n\nenum ehci_hrtimer_event {\n\tEHCI_HRTIMER_POLL_ASS = 0,\n\tEHCI_HRTIMER_POLL_PSS = 1,\n\tEHCI_HRTIMER_POLL_DEAD = 2,\n\tEHCI_HRTIMER_UNLINK_INTR = 3,\n\tEHCI_HRTIMER_FREE_ITDS = 4,\n\tEHCI_HRTIMER_ACTIVE_UNLINK = 5,\n\tEHCI_HRTIMER_START_UNLINK_INTR = 6,\n\tEHCI_HRTIMER_ASYNC_UNLINKS = 7,\n\tEHCI_HRTIMER_IAA_WATCHDOG = 8,\n\tEHCI_HRTIMER_DISABLE_PERIODIC = 9,\n\tEHCI_HRTIMER_DISABLE_ASYNC = 10,\n\tEHCI_HRTIMER_IO_WATCHDOG = 11,\n\tEHCI_HRTIMER_NUM_EVENTS = 12,\n};\n\nenum ehci_rh_state {\n\tEHCI_RH_HALTED = 0,\n\tEHCI_RH_SUSPENDED = 1,\n\tEHCI_RH_RUNNING = 2,\n\tEHCI_RH_STOPPING = 3,\n};\n\nenum eld_versions {\n\tELD_VER_CEA_861D = 2,\n\tELD_VER_PARTIAL = 31,\n};\n\nenum elv_merge {\n\tELEVATOR_NO_MERGE = 0,\n\tELEVATOR_FRONT_MERGE = 1,\n\tELEVATOR_BACK_MERGE = 2,\n\tELEVATOR_DISCARD_MERGE = 3,\n};\n\nenum em_mac_type {\n\tem_mac_type_unknown = 0,\n\tem_mac_type_mdi = 1,\n\tem_mac_type_rgmii = 2,\n};\n\nenum enable_type {\n\tundefined = -1,\n\tuser_disabled = 0,\n\tauto_disabled = 1,\n\tuser_enabled = 2,\n\tauto_enabled = 3,\n};\n\nenum environment_cap {\n\tENVIRON_ANY = 0,\n\tENVIRON_INDOOR = 1,\n\tENVIRON_OUTDOOR = 2,\n};\n\nenum error_detector {\n\tERROR_DETECTOR_KFENCE = 0,\n\tERROR_DETECTOR_KASAN = 1,\n\tERROR_DETECTOR_WARN = 2,\n};\n\nenum error_info_rec {\n\tCMD_ISS_STPD = 2147483648,\n\tCMD_PI_ERR = 1073741824,\n\tRSP_OVER = 536870912,\n\tRETRY_LIM = 268435456,\n\tUNK_FIS = 134217728,\n\tDMA_TERM = 67108864,\n\tSYNC_ERR = 33554432,\n\tTFILE_ERR = 16777216,\n\tR_ERR = 8388608,\n\tRD_OFS = 1048576,\n\tXFER_RDY_OFS = 524288,\n\tUNEXP_XFER_RDY = 262144,\n\tDATA_OVER_UNDER = 65536,\n\tINTERLOCK = 32768,\n\tNAK = 16384,\n\tACK_NAK_TO = 8192,\n\tCXN_CLOSED = 4096,\n\tOPEN_TO = 2048,\n\tPATH_BLOCKED = 1024,\n\tNO_DEST = 512,\n\tSTP_RES_BSY = 256,\n\tBREAK = 128,\n\tBAD_DEST = 64,\n\tBAD_PROTO = 32,\n\tBAD_RATE = 16,\n\tWRONG_DEST = 8,\n\tCREDIT_TO = 4,\n\tWDOG_TO = 2,\n\tBUF_PAR = 1,\n};\n\nenum ethnl_sock_type {\n\tETHTOOL_SOCK_TYPE_MODULE_FW_FLASH = 0,\n};\n\nenum ethtool_c33_pse_admin_state {\n\tETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN = 1,\n\tETHTOOL_C33_PSE_ADMIN_STATE_DISABLED = 2,\n\tETHTOOL_C33_PSE_ADMIN_STATE_ENABLED = 3,\n};\n\nenum ethtool_c33_pse_ext_state {\n\tETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1,\n\tETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID = 2,\n\tETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE = 3,\n\tETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED = 4,\n\tETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM = 5,\n\tETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED = 6,\n\tETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE = 7,\n\tETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE = 8,\n\tETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED = 9,\n};\n\nenum ethtool_c33_pse_ext_substate_error_condition {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT = 3,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON = 4,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS = 5,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF = 6,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN = 7,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE = 8,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP = 9,\n};\n\nenum ethtool_c33_pse_ext_substate_mr_pse_enable {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1,\n};\n\nenum ethtool_c33_pse_ext_substate_option_detect_ted {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR = 2,\n};\n\nenum ethtool_c33_pse_ext_substate_option_vport_lim {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION = 3,\n};\n\nenum ethtool_c33_pse_ext_substate_ovld_detected {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1,\n};\n\nenum ethtool_c33_pse_ext_substate_power_not_available {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT = 3,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT = 4,\n};\n\nenum ethtool_c33_pse_ext_substate_short_detected {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1,\n};\n\nenum ethtool_c33_pse_pw_d_status {\n\tETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN = 1,\n\tETHTOOL_C33_PSE_PW_D_STATUS_DISABLED = 2,\n\tETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING = 3,\n\tETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING = 4,\n\tETHTOOL_C33_PSE_PW_D_STATUS_TEST = 5,\n\tETHTOOL_C33_PSE_PW_D_STATUS_FAULT = 6,\n\tETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT = 7,\n};\n\nenum ethtool_cmis_cdb_cmd_id {\n\tETHTOOL_CMIS_CDB_CMD_QUERY_STATUS = 0,\n\tETHTOOL_CMIS_CDB_CMD_MODULE_FEATURES = 64,\n\tETHTOOL_CMIS_CDB_CMD_FW_MANAGMENT_FEATURES = 65,\n\tETHTOOL_CMIS_CDB_CMD_START_FW_DOWNLOAD = 257,\n\tETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_LPL = 259,\n\tETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_EPL = 260,\n\tETHTOOL_CMIS_CDB_CMD_COMPLETE_FW_DOWNLOAD = 263,\n\tETHTOOL_CMIS_CDB_CMD_RUN_FW_IMAGE = 265,\n\tETHTOOL_CMIS_CDB_CMD_COMMIT_FW_IMAGE = 266,\n};\n\nenum ethtool_fec_config_bits {\n\tETHTOOL_FEC_NONE_BIT = 0,\n\tETHTOOL_FEC_AUTO_BIT = 1,\n\tETHTOOL_FEC_OFF_BIT = 2,\n\tETHTOOL_FEC_RS_BIT = 3,\n\tETHTOOL_FEC_BASER_BIT = 4,\n\tETHTOOL_FEC_LLRS_BIT = 5,\n};\n\nenum ethtool_flags {\n\tETH_FLAG_TXVLAN = 128,\n\tETH_FLAG_RXVLAN = 256,\n\tETH_FLAG_LRO = 32768,\n\tETH_FLAG_NTUPLE = 134217728,\n\tETH_FLAG_RXHASH = 268435456,\n};\n\nenum ethtool_header_flags {\n\tETHTOOL_FLAG_COMPACT_BITSETS = 1,\n\tETHTOOL_FLAG_OMIT_REPLY = 2,\n\tETHTOOL_FLAG_STATS = 4,\n};\n\nenum ethtool_link_ext_state {\n\tETHTOOL_LINK_EXT_STATE_AUTONEG = 0,\n\tETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 1,\n\tETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 2,\n\tETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 3,\n\tETHTOOL_LINK_EXT_STATE_NO_CABLE = 4,\n\tETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 5,\n\tETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 6,\n\tETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 7,\n\tETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 8,\n\tETHTOOL_LINK_EXT_STATE_OVERHEAT = 9,\n\tETHTOOL_LINK_EXT_STATE_MODULE = 10,\n};\n\nenum ethtool_link_ext_substate_autoneg {\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 4,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 5,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 6,\n};\n\nenum ethtool_link_ext_substate_bad_signal_integrity {\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS = 4,\n};\n\nenum ethtool_link_ext_substate_cable_issue {\n\tETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 2,\n};\n\nenum ethtool_link_ext_substate_link_logical_mismatch {\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 4,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 5,\n};\n\nenum ethtool_link_ext_substate_link_training {\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 4,\n};\n\nenum ethtool_link_ext_substate_module {\n\tETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY = 1,\n};\n\nenum ethtool_link_mode_bit_indices {\n\tETHTOOL_LINK_MODE_10baseT_Half_BIT = 0,\n\tETHTOOL_LINK_MODE_10baseT_Full_BIT = 1,\n\tETHTOOL_LINK_MODE_100baseT_Half_BIT = 2,\n\tETHTOOL_LINK_MODE_100baseT_Full_BIT = 3,\n\tETHTOOL_LINK_MODE_1000baseT_Half_BIT = 4,\n\tETHTOOL_LINK_MODE_1000baseT_Full_BIT = 5,\n\tETHTOOL_LINK_MODE_Autoneg_BIT = 6,\n\tETHTOOL_LINK_MODE_TP_BIT = 7,\n\tETHTOOL_LINK_MODE_AUI_BIT = 8,\n\tETHTOOL_LINK_MODE_MII_BIT = 9,\n\tETHTOOL_LINK_MODE_FIBRE_BIT = 10,\n\tETHTOOL_LINK_MODE_BNC_BIT = 11,\n\tETHTOOL_LINK_MODE_10000baseT_Full_BIT = 12,\n\tETHTOOL_LINK_MODE_Pause_BIT = 13,\n\tETHTOOL_LINK_MODE_Asym_Pause_BIT = 14,\n\tETHTOOL_LINK_MODE_2500baseX_Full_BIT = 15,\n\tETHTOOL_LINK_MODE_Backplane_BIT = 16,\n\tETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 17,\n\tETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 18,\n\tETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 19,\n\tETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 20,\n\tETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 21,\n\tETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 22,\n\tETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 23,\n\tETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 24,\n\tETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 25,\n\tETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 26,\n\tETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 27,\n\tETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 28,\n\tETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29,\n\tETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30,\n\tETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31,\n\tETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32,\n\tETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33,\n\tETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34,\n\tETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 35,\n\tETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 36,\n\tETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37,\n\tETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38,\n\tETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39,\n\tETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40,\n\tETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41,\n\tETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 42,\n\tETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 43,\n\tETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44,\n\tETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45,\n\tETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46,\n\tETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47,\n\tETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48,\n\tETHTOOL_LINK_MODE_FEC_NONE_BIT = 49,\n\tETHTOOL_LINK_MODE_FEC_RS_BIT = 50,\n\tETHTOOL_LINK_MODE_FEC_BASER_BIT = 51,\n\tETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52,\n\tETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53,\n\tETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54,\n\tETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55,\n\tETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56,\n\tETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57,\n\tETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58,\n\tETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59,\n\tETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,\n\tETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61,\n\tETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62,\n\tETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63,\n\tETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,\n\tETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65,\n\tETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66,\n\tETHTOOL_LINK_MODE_100baseT1_Full_BIT = 67,\n\tETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 68,\n\tETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 69,\n\tETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 70,\n\tETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 71,\n\tETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72,\n\tETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73,\n\tETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74,\n\tETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 75,\n\tETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 76,\n\tETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 77,\n\tETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 78,\n\tETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 79,\n\tETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 80,\n\tETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 81,\n\tETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 82,\n\tETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 83,\n\tETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 84,\n\tETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 85,\n\tETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 86,\n\tETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87,\n\tETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88,\n\tETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89,\n\tETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,\n\tETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,\n\tETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92,\n\tETHTOOL_LINK_MODE_800000baseCR8_Full_BIT = 93,\n\tETHTOOL_LINK_MODE_800000baseKR8_Full_BIT = 94,\n\tETHTOOL_LINK_MODE_800000baseDR8_Full_BIT = 95,\n\tETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT = 96,\n\tETHTOOL_LINK_MODE_800000baseSR8_Full_BIT = 97,\n\tETHTOOL_LINK_MODE_800000baseVR8_Full_BIT = 98,\n\tETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99,\n\tETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100,\n\tETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101,\n\tETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102,\n\t__ETHTOOL_LINK_MODE_MASK_NBITS = 103,\n};\n\nenum ethtool_mac_stats_src {\n\tETHTOOL_MAC_STATS_SRC_AGGREGATE = 0,\n\tETHTOOL_MAC_STATS_SRC_EMAC = 1,\n\tETHTOOL_MAC_STATS_SRC_PMAC = 2,\n};\n\nenum ethtool_mm_verify_status {\n\tETHTOOL_MM_VERIFY_STATUS_UNKNOWN = 0,\n\tETHTOOL_MM_VERIFY_STATUS_INITIAL = 1,\n\tETHTOOL_MM_VERIFY_STATUS_VERIFYING = 2,\n\tETHTOOL_MM_VERIFY_STATUS_SUCCEEDED = 3,\n\tETHTOOL_MM_VERIFY_STATUS_FAILED = 4,\n\tETHTOOL_MM_VERIFY_STATUS_DISABLED = 5,\n};\n\nenum ethtool_module_fw_flash_status {\n\tETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS = 2,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED = 3,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_ERROR = 4,\n};\n\nenum ethtool_module_power_mode {\n\tETHTOOL_MODULE_POWER_MODE_LOW = 1,\n\tETHTOOL_MODULE_POWER_MODE_HIGH = 2,\n};\n\nenum ethtool_module_power_mode_policy {\n\tETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1,\n\tETHTOOL_MODULE_POWER_MODE_POLICY_AUTO = 2,\n};\n\nenum ethtool_multicast_groups {\n\tETHNL_MCGRP_MONITOR = 0,\n};\n\nenum ethtool_phys_id_state {\n\tETHTOOL_ID_INACTIVE = 0,\n\tETHTOOL_ID_ACTIVE = 1,\n\tETHTOOL_ID_ON = 2,\n\tETHTOOL_ID_OFF = 3,\n};\n\nenum ethtool_podl_pse_admin_state {\n\tETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1,\n\tETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED = 2,\n\tETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED = 3,\n};\n\nenum ethtool_podl_pse_pw_d_status {\n\tETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED = 2,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING = 3,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING = 4,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP = 5,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_IDLE = 6,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_ERROR = 7,\n};\n\nenum ethtool_reset_flags {\n\tETH_RESET_MGMT = 1,\n\tETH_RESET_IRQ = 2,\n\tETH_RESET_DMA = 4,\n\tETH_RESET_FILTER = 8,\n\tETH_RESET_OFFLOAD = 16,\n\tETH_RESET_MAC = 32,\n\tETH_RESET_PHY = 64,\n\tETH_RESET_RAM = 128,\n\tETH_RESET_AP = 256,\n\tETH_RESET_DEDICATED = 65535,\n\tETH_RESET_ALL = 4294967295,\n};\n\nenum ethtool_sfeatures_retval_bits {\n\tETHTOOL_F_UNSUPPORTED__BIT = 0,\n\tETHTOOL_F_WISH__BIT = 1,\n\tETHTOOL_F_COMPAT__BIT = 2,\n};\n\nenum ethtool_stringset {\n\tETH_SS_TEST = 0,\n\tETH_SS_STATS = 1,\n\tETH_SS_PRIV_FLAGS = 2,\n\tETH_SS_NTUPLE_FILTERS = 3,\n\tETH_SS_FEATURES = 4,\n\tETH_SS_RSS_HASH_FUNCS = 5,\n\tETH_SS_TUNABLES = 6,\n\tETH_SS_PHY_STATS = 7,\n\tETH_SS_PHY_TUNABLES = 8,\n\tETH_SS_LINK_MODES = 9,\n\tETH_SS_MSG_CLASSES = 10,\n\tETH_SS_WOL_MODES = 11,\n\tETH_SS_SOF_TIMESTAMPING = 12,\n\tETH_SS_TS_TX_TYPES = 13,\n\tETH_SS_TS_RX_FILTERS = 14,\n\tETH_SS_UDP_TUNNEL_TYPES = 15,\n\tETH_SS_STATS_STD = 16,\n\tETH_SS_STATS_ETH_PHY = 17,\n\tETH_SS_STATS_ETH_MAC = 18,\n\tETH_SS_STATS_ETH_CTRL = 19,\n\tETH_SS_STATS_RMON = 20,\n\tETH_SS_STATS_PHY = 21,\n\tETH_SS_TS_FLAGS = 22,\n\tETH_SS_COUNT = 23,\n};\n\nenum ethtool_supported_ring_param {\n\tETHTOOL_RING_USE_RX_BUF_LEN = 1,\n\tETHTOOL_RING_USE_CQE_SIZE = 2,\n\tETHTOOL_RING_USE_TX_PUSH = 4,\n\tETHTOOL_RING_USE_RX_PUSH = 8,\n\tETHTOOL_RING_USE_TX_PUSH_BUF_LEN = 16,\n\tETHTOOL_RING_USE_TCP_DATA_SPLIT = 32,\n\tETHTOOL_RING_USE_HDS_THRS = 64,\n};\n\nenum ethtool_tcp_data_split {\n\tETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,\n\tETHTOOL_TCP_DATA_SPLIT_DISABLED = 1,\n\tETHTOOL_TCP_DATA_SPLIT_ENABLED = 2,\n};\n\nenum ethtool_test_flags {\n\tETH_TEST_FL_OFFLINE = 1,\n\tETH_TEST_FL_FAILED = 2,\n\tETH_TEST_FL_EXTERNAL_LB = 4,\n\tETH_TEST_FL_EXTERNAL_LB_DONE = 8,\n};\n\nenum event_command_flags {\n\tEVENT_CMD_FL_POST_TRIGGER = 1,\n\tEVENT_CMD_FL_NEEDS_REC = 2,\n};\n\nenum event_trigger_type {\n\tETT_NONE = 0,\n\tETT_TRACE_ONOFF = 1,\n\tETT_SNAPSHOT = 2,\n\tETT_STACKTRACE = 4,\n\tETT_EVENT_ENABLE = 8,\n\tETT_EVENT_HIST = 16,\n\tETT_HIST_ENABLE = 32,\n\tETT_EVENT_EPROBE = 64,\n};\n\nenum event_type_t {\n\tEVENT_FLEXIBLE = 1,\n\tEVENT_PINNED = 2,\n\tEVENT_TIME = 4,\n\tEVENT_FROZEN = 8,\n\tEVENT_CPU = 16,\n\tEVENT_CGROUP = 32,\n\tEVENT_ALL = 3,\n\tEVENT_TIME_FROZEN = 12,\n};\n\nenum ex_phy_state {\n\tPHY_EMPTY = 0,\n\tPHY_VACANT = 1,\n\tPHY_NOT_PRESENT = 2,\n\tPHY_DEVICE_DISCOVERED = 3,\n};\n\nenum exact_level {\n\tNOT_EXACT = 0,\n\tEXACT = 1,\n\tRANGE_WITHIN = 2,\n};\n\nenum exec_status {\n\tSAS_SAM_STAT_GOOD = 0,\n\tSAS_SAM_STAT_BUSY = 8,\n\tSAS_SAM_STAT_TASK_ABORTED = 64,\n\tSAS_SAM_STAT_CHECK_CONDITION = 2,\n\tSAS_DEV_NO_RESPONSE = 128,\n\tSAS_DATA_UNDERRUN = 129,\n\tSAS_DATA_OVERRUN = 130,\n\tSAS_INTERRUPTED = 131,\n\tSAS_QUEUE_FULL = 132,\n\tSAS_DEVICE_UNKNOWN = 133,\n\tSAS_OPEN_REJECT = 134,\n\tSAS_OPEN_TO = 135,\n\tSAS_PROTO_RESPONSE = 136,\n\tSAS_PHY_DOWN = 137,\n\tSAS_NAK_R_ERR = 138,\n\tSAS_PENDING = 139,\n\tSAS_ABORTED_TASK = 140,\n};\n\nenum execmem_range_flags {\n\tEXECMEM_KASAN_SHADOW = 1,\n\tEXECMEM_ROX_CACHE = 2,\n};\n\nenum execmem_type {\n\tEXECMEM_DEFAULT = 0,\n\tEXECMEM_MODULE_TEXT = 0,\n\tEXECMEM_KPROBES = 1,\n\tEXECMEM_FTRACE = 2,\n\tEXECMEM_BPF = 3,\n\tEXECMEM_MODULE_DATA = 4,\n\tEXECMEM_TYPE_MAX = 5,\n};\n\nenum ext4_journal_trigger_type {\n\tEXT4_JTR_ORPHAN_FILE = 0,\n\tEXT4_JTR_NONE = 1,\n};\n\nenum ext4_li_mode {\n\tEXT4_LI_MODE_PREFETCH_BBITMAP = 0,\n\tEXT4_LI_MODE_ITABLE = 1,\n};\n\nenum fail_dup_mod_reason {\n\tFAIL_DUP_MOD_BECOMING = 0,\n\tFAIL_DUP_MOD_LOAD = 1,\n};\n\nenum fanotify_event_type {\n\tFANOTIFY_EVENT_TYPE_FID = 0,\n\tFANOTIFY_EVENT_TYPE_FID_NAME = 1,\n\tFANOTIFY_EVENT_TYPE_PATH = 2,\n\tFANOTIFY_EVENT_TYPE_PATH_PERM = 3,\n\tFANOTIFY_EVENT_TYPE_OVERFLOW = 4,\n\tFANOTIFY_EVENT_TYPE_FS_ERROR = 5,\n\t__FANOTIFY_EVENT_TYPE_NUM = 6,\n};\n\nenum fault_flag {\n\tFAULT_FLAG_WRITE = 1,\n\tFAULT_FLAG_MKWRITE = 2,\n\tFAULT_FLAG_ALLOW_RETRY = 4,\n\tFAULT_FLAG_RETRY_NOWAIT = 8,\n\tFAULT_FLAG_KILLABLE = 16,\n\tFAULT_FLAG_TRIED = 32,\n\tFAULT_FLAG_USER = 64,\n\tFAULT_FLAG_REMOTE = 128,\n\tFAULT_FLAG_INSTRUCTION = 256,\n\tFAULT_FLAG_INTERRUPTIBLE = 512,\n\tFAULT_FLAG_UNSHARE = 1024,\n\tFAULT_FLAG_ORIG_PTE_VALID = 2048,\n\tFAULT_FLAG_VMA_LOCK = 4096,\n};\n\nenum fbq_type {\n\tregular = 0,\n\tremote = 1,\n\tall = 2,\n};\n\nenum fc_eof {\n\tFC_EOF_N = 65,\n\tFC_EOF_T = 66,\n\tFC_EOF_RT = 68,\n\tFC_EOF_DT = 70,\n\tFC_EOF_NI = 73,\n\tFC_EOF_DTI = 78,\n\tFC_EOF_RTI = 79,\n\tFC_EOF_A = 80,\n} __attribute__((mode(byte)));\n\nenum fc_rctl {\n\tFC_RCTL_DD_UNCAT = 0,\n\tFC_RCTL_DD_SOL_DATA = 1,\n\tFC_RCTL_DD_UNSOL_CTL = 2,\n\tFC_RCTL_DD_SOL_CTL = 3,\n\tFC_RCTL_DD_UNSOL_DATA = 4,\n\tFC_RCTL_DD_DATA_DESC = 5,\n\tFC_RCTL_DD_UNSOL_CMD = 6,\n\tFC_RCTL_DD_CMD_STATUS = 7,\n\tFC_RCTL_ELS_REQ = 34,\n\tFC_RCTL_ELS_REP = 35,\n\tFC_RCTL_ELS4_REQ = 50,\n\tFC_RCTL_ELS4_REP = 51,\n\tFC_RCTL_VFTH = 80,\n\tFC_RCTL_IFRH = 81,\n\tFC_RCTL_ENCH = 82,\n\tFC_RCTL_BA_NOP = 128,\n\tFC_RCTL_BA_ABTS = 129,\n\tFC_RCTL_BA_RMC = 130,\n\tFC_RCTL_BA_ACC = 132,\n\tFC_RCTL_BA_RJT = 133,\n\tFC_RCTL_BA_PRMT = 134,\n\tFC_RCTL_ACK_1 = 192,\n\tFC_RCTL_ACK_0 = 193,\n\tFC_RCTL_P_RJT = 194,\n\tFC_RCTL_F_RJT = 195,\n\tFC_RCTL_P_BSY = 196,\n\tFC_RCTL_F_BSY = 197,\n\tFC_RCTL_F_BSYL = 198,\n\tFC_RCTL_LCR = 199,\n\tFC_RCTL_END = 201,\n};\n\nenum fc_sof {\n\tFC_SOF_F = 40,\n\tFC_SOF_I4 = 41,\n\tFC_SOF_I2 = 45,\n\tFC_SOF_I3 = 46,\n\tFC_SOF_N4 = 49,\n\tFC_SOF_N2 = 53,\n\tFC_SOF_N3 = 54,\n\tFC_SOF_C4 = 57,\n} __attribute__((mode(byte)));\n\nenum fetch_op {\n\tFETCH_OP_NOP = 0,\n\tFETCH_OP_REG = 1,\n\tFETCH_OP_STACK = 2,\n\tFETCH_OP_STACKP = 3,\n\tFETCH_OP_RETVAL = 4,\n\tFETCH_OP_IMM = 5,\n\tFETCH_OP_COMM = 6,\n\tFETCH_OP_ARG = 7,\n\tFETCH_OP_FOFFS = 8,\n\tFETCH_OP_DATA = 9,\n\tFETCH_OP_EDATA = 10,\n\tFETCH_OP_DEREF = 11,\n\tFETCH_OP_UDEREF = 12,\n\tFETCH_OP_ST_RAW = 13,\n\tFETCH_OP_ST_MEM = 14,\n\tFETCH_OP_ST_UMEM = 15,\n\tFETCH_OP_ST_STRING = 16,\n\tFETCH_OP_ST_USTRING = 17,\n\tFETCH_OP_ST_SYMSTR = 18,\n\tFETCH_OP_ST_EDATA = 19,\n\tFETCH_OP_MOD_BF = 20,\n\tFETCH_OP_LP_ARRAY = 21,\n\tFETCH_OP_TP_ARG = 22,\n\tFETCH_OP_END = 23,\n\tFETCH_NOP_SYMBOL = 24,\n};\n\nenum fib6_walk_state {\n\tFWS_L = 0,\n\tFWS_R = 1,\n\tFWS_C = 2,\n\tFWS_U = 3,\n};\n\nenum fib_event_type {\n\tFIB_EVENT_ENTRY_REPLACE = 0,\n\tFIB_EVENT_ENTRY_APPEND = 1,\n\tFIB_EVENT_ENTRY_ADD = 2,\n\tFIB_EVENT_ENTRY_DEL = 3,\n\tFIB_EVENT_RULE_ADD = 4,\n\tFIB_EVENT_RULE_DEL = 5,\n\tFIB_EVENT_NH_ADD = 6,\n\tFIB_EVENT_NH_DEL = 7,\n\tFIB_EVENT_VIF_ADD = 8,\n\tFIB_EVENT_VIF_DEL = 9,\n};\n\nenum fid_type {\n\tFILEID_ROOT = 0,\n\tFILEID_INO32_GEN = 1,\n\tFILEID_INO32_GEN_PARENT = 2,\n\tFILEID_BTRFS_WITHOUT_PARENT = 77,\n\tFILEID_BTRFS_WITH_PARENT = 78,\n\tFILEID_BTRFS_WITH_PARENT_ROOT = 79,\n\tFILEID_UDF_WITHOUT_PARENT = 81,\n\tFILEID_UDF_WITH_PARENT = 82,\n\tFILEID_NILFS_WITHOUT_PARENT = 97,\n\tFILEID_NILFS_WITH_PARENT = 98,\n\tFILEID_FAT_WITHOUT_PARENT = 113,\n\tFILEID_FAT_WITH_PARENT = 114,\n\tFILEID_INO64_GEN = 129,\n\tFILEID_INO64_GEN_PARENT = 130,\n\tFILEID_LUSTRE = 151,\n\tFILEID_BCACHEFS_WITHOUT_PARENT = 177,\n\tFILEID_BCACHEFS_WITH_PARENT = 178,\n\tFILEID_KERNFS = 254,\n\tFILEID_INVALID = 255,\n};\n\nenum file_time_flags {\n\tS_ATIME = 1,\n\tS_MTIME = 2,\n\tS_CTIME = 4,\n\tS_VERSION = 8,\n};\n\nenum filter_op_ids {\n\tOP_GLOB = 0,\n\tOP_NE = 1,\n\tOP_EQ = 2,\n\tOP_LE = 3,\n\tOP_LT = 4,\n\tOP_GE = 5,\n\tOP_GT = 6,\n\tOP_BAND = 7,\n\tOP_MAX = 8,\n};\n\nenum filter_pred_fn {\n\tFILTER_PRED_FN_NOP = 0,\n\tFILTER_PRED_FN_64 = 1,\n\tFILTER_PRED_FN_64_CPUMASK = 2,\n\tFILTER_PRED_FN_S64 = 3,\n\tFILTER_PRED_FN_U64 = 4,\n\tFILTER_PRED_FN_32 = 5,\n\tFILTER_PRED_FN_32_CPUMASK = 6,\n\tFILTER_PRED_FN_S32 = 7,\n\tFILTER_PRED_FN_U32 = 8,\n\tFILTER_PRED_FN_16 = 9,\n\tFILTER_PRED_FN_16_CPUMASK = 10,\n\tFILTER_PRED_FN_S16 = 11,\n\tFILTER_PRED_FN_U16 = 12,\n\tFILTER_PRED_FN_8 = 13,\n\tFILTER_PRED_FN_8_CPUMASK = 14,\n\tFILTER_PRED_FN_S8 = 15,\n\tFILTER_PRED_FN_U8 = 16,\n\tFILTER_PRED_FN_COMM = 17,\n\tFILTER_PRED_FN_STRING = 18,\n\tFILTER_PRED_FN_STRLOC = 19,\n\tFILTER_PRED_FN_STRRELLOC = 20,\n\tFILTER_PRED_FN_PCHAR_USER = 21,\n\tFILTER_PRED_FN_PCHAR = 22,\n\tFILTER_PRED_FN_CPU = 23,\n\tFILTER_PRED_FN_CPU_CPUMASK = 24,\n\tFILTER_PRED_FN_CPUMASK = 25,\n\tFILTER_PRED_FN_CPUMASK_CPU = 26,\n\tFILTER_PRED_FN_FUNCTION = 27,\n\tFILTER_PRED_FN_ = 28,\n\tFILTER_PRED_TEST_VISITED = 29,\n};\n\nenum finalization_type {\n\tFINALIZATION_TYPE_FINAL = 0,\n\tFINALIZATION_TYPE_FINUP = 1,\n\tFINALIZATION_TYPE_DIGEST = 2,\n};\n\nenum fit_type {\n\tNOTHING_FIT = 0,\n\tFL_FIT_TYPE = 1,\n\tLE_FIT_TYPE = 2,\n\tRE_FIT_TYPE = 3,\n\tNE_FIT_TYPE = 4,\n};\n\nenum fixed_addresses {\n\tFIX_HOLE = 0,\n\tFIX_EARLYCON_MEM_BASE = 1,\n\t__end_of_fixed_addresses = 2,\n};\n\nenum flow_action_hw_stats {\n\tFLOW_ACTION_HW_STATS_IMMEDIATE = 1,\n\tFLOW_ACTION_HW_STATS_DELAYED = 2,\n\tFLOW_ACTION_HW_STATS_ANY = 3,\n\tFLOW_ACTION_HW_STATS_DISABLED = 4,\n\tFLOW_ACTION_HW_STATS_DONT_CARE = 7,\n};\n\nenum flow_action_hw_stats_bit {\n\tFLOW_ACTION_HW_STATS_IMMEDIATE_BIT = 0,\n\tFLOW_ACTION_HW_STATS_DELAYED_BIT = 1,\n\tFLOW_ACTION_HW_STATS_DISABLED_BIT = 2,\n\tFLOW_ACTION_HW_STATS_NUM_BITS = 3,\n};\n\nenum flow_action_id {\n\tFLOW_ACTION_ACCEPT = 0,\n\tFLOW_ACTION_DROP = 1,\n\tFLOW_ACTION_TRAP = 2,\n\tFLOW_ACTION_GOTO = 3,\n\tFLOW_ACTION_REDIRECT = 4,\n\tFLOW_ACTION_MIRRED = 5,\n\tFLOW_ACTION_REDIRECT_INGRESS = 6,\n\tFLOW_ACTION_MIRRED_INGRESS = 7,\n\tFLOW_ACTION_VLAN_PUSH = 8,\n\tFLOW_ACTION_VLAN_POP = 9,\n\tFLOW_ACTION_VLAN_MANGLE = 10,\n\tFLOW_ACTION_TUNNEL_ENCAP = 11,\n\tFLOW_ACTION_TUNNEL_DECAP = 12,\n\tFLOW_ACTION_MANGLE = 13,\n\tFLOW_ACTION_ADD = 14,\n\tFLOW_ACTION_CSUM = 15,\n\tFLOW_ACTION_MARK = 16,\n\tFLOW_ACTION_PTYPE = 17,\n\tFLOW_ACTION_PRIORITY = 18,\n\tFLOW_ACTION_RX_QUEUE_MAPPING = 19,\n\tFLOW_ACTION_WAKE = 20,\n\tFLOW_ACTION_QUEUE = 21,\n\tFLOW_ACTION_SAMPLE = 22,\n\tFLOW_ACTION_POLICE = 23,\n\tFLOW_ACTION_CT = 24,\n\tFLOW_ACTION_CT_METADATA = 25,\n\tFLOW_ACTION_MPLS_PUSH = 26,\n\tFLOW_ACTION_MPLS_POP = 27,\n\tFLOW_ACTION_MPLS_MANGLE = 28,\n\tFLOW_ACTION_GATE = 29,\n\tFLOW_ACTION_PPPOE_PUSH = 30,\n\tFLOW_ACTION_JUMP = 31,\n\tFLOW_ACTION_PIPE = 32,\n\tFLOW_ACTION_VLAN_PUSH_ETH = 33,\n\tFLOW_ACTION_VLAN_POP_ETH = 34,\n\tFLOW_ACTION_CONTINUE = 35,\n\tNUM_FLOW_ACTIONS = 36,\n};\n\nenum flow_action_mangle_base {\n\tFLOW_ACT_MANGLE_UNSPEC = 0,\n\tFLOW_ACT_MANGLE_HDR_TYPE_ETH = 1,\n\tFLOW_ACT_MANGLE_HDR_TYPE_IP4 = 2,\n\tFLOW_ACT_MANGLE_HDR_TYPE_IP6 = 3,\n\tFLOW_ACT_MANGLE_HDR_TYPE_TCP = 4,\n\tFLOW_ACT_MANGLE_HDR_TYPE_UDP = 5,\n};\n\nenum flow_block_binder_type {\n\tFLOW_BLOCK_BINDER_TYPE_UNSPEC = 0,\n\tFLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS = 1,\n\tFLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS = 2,\n\tFLOW_BLOCK_BINDER_TYPE_RED_EARLY_DROP = 3,\n\tFLOW_BLOCK_BINDER_TYPE_RED_MARK = 4,\n};\n\nenum flow_block_command {\n\tFLOW_BLOCK_BIND = 0,\n\tFLOW_BLOCK_UNBIND = 1,\n};\n\nenum flow_cls_command {\n\tFLOW_CLS_REPLACE = 0,\n\tFLOW_CLS_DESTROY = 1,\n\tFLOW_CLS_STATS = 2,\n\tFLOW_CLS_TMPLT_CREATE = 3,\n\tFLOW_CLS_TMPLT_DESTROY = 4,\n};\n\nenum flow_dissect_ret {\n\tFLOW_DISSECT_RET_OUT_GOOD = 0,\n\tFLOW_DISSECT_RET_OUT_BAD = 1,\n\tFLOW_DISSECT_RET_PROTO_AGAIN = 2,\n\tFLOW_DISSECT_RET_IPPROTO_AGAIN = 3,\n\tFLOW_DISSECT_RET_CONTINUE = 4,\n};\n\nenum flow_dissector_ctrl_flags {\n\tFLOW_DIS_IS_FRAGMENT = 1,\n\tFLOW_DIS_FIRST_FRAG = 2,\n\tFLOW_DIS_F_TUNNEL_CSUM = 4,\n\tFLOW_DIS_F_TUNNEL_DONT_FRAGMENT = 8,\n\tFLOW_DIS_F_TUNNEL_OAM = 16,\n\tFLOW_DIS_F_TUNNEL_CRIT_OPT = 32,\n\tFLOW_DIS_ENCAPSULATION = 64,\n};\n\nenum flow_dissector_key_id {\n\tFLOW_DISSECTOR_KEY_CONTROL = 0,\n\tFLOW_DISSECTOR_KEY_BASIC = 1,\n\tFLOW_DISSECTOR_KEY_IPV4_ADDRS = 2,\n\tFLOW_DISSECTOR_KEY_IPV6_ADDRS = 3,\n\tFLOW_DISSECTOR_KEY_PORTS = 4,\n\tFLOW_DISSECTOR_KEY_PORTS_RANGE = 5,\n\tFLOW_DISSECTOR_KEY_ICMP = 6,\n\tFLOW_DISSECTOR_KEY_ETH_ADDRS = 7,\n\tFLOW_DISSECTOR_KEY_TIPC = 8,\n\tFLOW_DISSECTOR_KEY_ARP = 9,\n\tFLOW_DISSECTOR_KEY_VLAN = 10,\n\tFLOW_DISSECTOR_KEY_FLOW_LABEL = 11,\n\tFLOW_DISSECTOR_KEY_GRE_KEYID = 12,\n\tFLOW_DISSECTOR_KEY_MPLS_ENTROPY = 13,\n\tFLOW_DISSECTOR_KEY_ENC_KEYID = 14,\n\tFLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS = 15,\n\tFLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS = 16,\n\tFLOW_DISSECTOR_KEY_ENC_CONTROL = 17,\n\tFLOW_DISSECTOR_KEY_ENC_PORTS = 18,\n\tFLOW_DISSECTOR_KEY_MPLS = 19,\n\tFLOW_DISSECTOR_KEY_TCP = 20,\n\tFLOW_DISSECTOR_KEY_IP = 21,\n\tFLOW_DISSECTOR_KEY_CVLAN = 22,\n\tFLOW_DISSECTOR_KEY_ENC_IP = 23,\n\tFLOW_DISSECTOR_KEY_ENC_OPTS = 24,\n\tFLOW_DISSECTOR_KEY_META = 25,\n\tFLOW_DISSECTOR_KEY_CT = 26,\n\tFLOW_DISSECTOR_KEY_HASH = 27,\n\tFLOW_DISSECTOR_KEY_NUM_OF_VLANS = 28,\n\tFLOW_DISSECTOR_KEY_PPPOE = 29,\n\tFLOW_DISSECTOR_KEY_L2TPV3 = 30,\n\tFLOW_DISSECTOR_KEY_CFM = 31,\n\tFLOW_DISSECTOR_KEY_IPSEC = 32,\n\tFLOW_DISSECTOR_KEY_MAX = 33,\n};\n\nenum flowlabel_reflect {\n\tFLOWLABEL_REFLECT_ESTABLISHED = 1,\n\tFLOWLABEL_REFLECT_TCP_RESET = 2,\n\tFLOWLABEL_REFLECT_ICMPV6_ECHO_REPLIES = 4,\n};\n\nenum flush_type {\n\tFLUSH_TYPE_NONE = 0,\n\tFLUSH_TYPE_FLUSH = 1,\n\tFLUSH_TYPE_REIMPORT = 2,\n};\n\nenum folio_references {\n\tFOLIOREF_RECLAIM = 0,\n\tFOLIOREF_RECLAIM_CLEAN = 1,\n\tFOLIOREF_KEEP = 2,\n\tFOLIOREF_ACTIVATE = 3,\n};\n\nenum folio_walk_level {\n\tFW_LEVEL_PTE = 0,\n\tFW_LEVEL_PMD = 1,\n\tFW_LEVEL_PUD = 2,\n};\n\nenum format_state {\n\tFORMAT_STATE_NONE = 0,\n\tFORMAT_STATE_NUM = 1,\n\tFORMAT_STATE_WIDTH = 2,\n\tFORMAT_STATE_PRECISION = 3,\n\tFORMAT_STATE_CHAR = 4,\n\tFORMAT_STATE_STR = 5,\n\tFORMAT_STATE_PTR = 6,\n\tFORMAT_STATE_PERCENT_CHAR = 7,\n\tFORMAT_STATE_INVALID = 8,\n};\n\nenum freeze_holder {\n\tFREEZE_HOLDER_KERNEL = 1,\n\tFREEZE_HOLDER_USERSPACE = 2,\n\tFREEZE_MAY_NEST = 4,\n};\n\nenum freezer_state_flags {\n\tCGROUP_FREEZER_ONLINE = 1,\n\tCGROUP_FREEZING_SELF = 2,\n\tCGROUP_FREEZING_PARENT = 4,\n\tCGROUP_FROZEN = 8,\n\tCGROUP_FREEZING = 6,\n};\n\nenum freq_qos_req_type {\n\tFREQ_QOS_MIN = 1,\n\tFREQ_QOS_MAX = 2,\n};\n\nenum fs_context_phase {\n\tFS_CONTEXT_CREATE_PARAMS = 0,\n\tFS_CONTEXT_CREATING = 1,\n\tFS_CONTEXT_AWAITING_MOUNT = 2,\n\tFS_CONTEXT_AWAITING_RECONF = 3,\n\tFS_CONTEXT_RECONF_PARAMS = 4,\n\tFS_CONTEXT_RECONFIGURING = 5,\n\tFS_CONTEXT_FAILED = 6,\n};\n\nenum fs_context_purpose {\n\tFS_CONTEXT_FOR_MOUNT = 0,\n\tFS_CONTEXT_FOR_SUBMOUNT = 1,\n\tFS_CONTEXT_FOR_RECONFIGURE = 2,\n};\n\nenum fs_value_type {\n\tfs_value_is_undefined = 0,\n\tfs_value_is_flag = 1,\n\tfs_value_is_string = 2,\n\tfs_value_is_blob = 3,\n\tfs_value_is_filename = 4,\n\tfs_value_is_file = 5,\n};\n\nenum fscache_access_trace {\n\tfscache_access_acquire_volume = 0,\n\tfscache_access_acquire_volume_end = 1,\n\tfscache_access_cache_pin = 2,\n\tfscache_access_cache_unpin = 3,\n\tfscache_access_invalidate_cookie = 4,\n\tfscache_access_invalidate_cookie_end = 5,\n\tfscache_access_io_end = 6,\n\tfscache_access_io_not_live = 7,\n\tfscache_access_io_read = 8,\n\tfscache_access_io_resize = 9,\n\tfscache_access_io_wait = 10,\n\tfscache_access_io_write = 11,\n\tfscache_access_lookup_cookie = 12,\n\tfscache_access_lookup_cookie_end = 13,\n\tfscache_access_lookup_cookie_end_failed = 14,\n\tfscache_access_relinquish_volume = 15,\n\tfscache_access_relinquish_volume_end = 16,\n\tfscache_access_unlive = 17,\n};\n\nenum fscache_active_trace {\n\tfscache_active_use = 0,\n\tfscache_active_use_modify = 1,\n\tfscache_active_unuse = 2,\n};\n\nenum fscache_cache_state {\n\tFSCACHE_CACHE_IS_NOT_PRESENT = 0,\n\tFSCACHE_CACHE_IS_PREPARING = 1,\n\tFSCACHE_CACHE_IS_ACTIVE = 2,\n\tFSCACHE_CACHE_GOT_IOERROR = 3,\n\tFSCACHE_CACHE_IS_WITHDRAWN = 4,\n};\n\nenum fscache_cache_trace {\n\tfscache_cache_collision = 0,\n\tfscache_cache_get_acquire = 1,\n\tfscache_cache_new_acquire = 2,\n\tfscache_cache_put_alloc_volume = 3,\n\tfscache_cache_put_cache = 4,\n\tfscache_cache_put_prep_failed = 5,\n\tfscache_cache_put_relinquish = 6,\n\tfscache_cache_put_volume = 7,\n};\n\nenum fscache_cookie_state {\n\tFSCACHE_COOKIE_STATE_QUIESCENT = 0,\n\tFSCACHE_COOKIE_STATE_LOOKING_UP = 1,\n\tFSCACHE_COOKIE_STATE_CREATING = 2,\n\tFSCACHE_COOKIE_STATE_ACTIVE = 3,\n\tFSCACHE_COOKIE_STATE_INVALIDATING = 4,\n\tFSCACHE_COOKIE_STATE_FAILED = 5,\n\tFSCACHE_COOKIE_STATE_LRU_DISCARDING = 6,\n\tFSCACHE_COOKIE_STATE_WITHDRAWING = 7,\n\tFSCACHE_COOKIE_STATE_RELINQUISHING = 8,\n\tFSCACHE_COOKIE_STATE_DROPPED = 9,\n} __attribute__((mode(byte)));\n\nenum fscache_cookie_trace {\n\tfscache_cookie_collision = 0,\n\tfscache_cookie_discard = 1,\n\tfscache_cookie_failed = 2,\n\tfscache_cookie_get_attach_object = 3,\n\tfscache_cookie_get_end_access = 4,\n\tfscache_cookie_get_hash_collision = 5,\n\tfscache_cookie_get_inval_work = 6,\n\tfscache_cookie_get_lru = 7,\n\tfscache_cookie_get_use_work = 8,\n\tfscache_cookie_new_acquire = 9,\n\tfscache_cookie_put_hash_collision = 10,\n\tfscache_cookie_put_lru = 11,\n\tfscache_cookie_put_object = 12,\n\tfscache_cookie_put_over_queued = 13,\n\tfscache_cookie_put_relinquish = 14,\n\tfscache_cookie_put_withdrawn = 15,\n\tfscache_cookie_put_work = 16,\n\tfscache_cookie_see_active = 17,\n\tfscache_cookie_see_lru_discard = 18,\n\tfscache_cookie_see_lru_discard_clear = 19,\n\tfscache_cookie_see_lru_do_one = 20,\n\tfscache_cookie_see_relinquish = 21,\n\tfscache_cookie_see_withdraw = 22,\n\tfscache_cookie_see_work = 23,\n};\n\nenum fscache_volume_trace {\n\tfscache_volume_collision = 0,\n\tfscache_volume_get_cookie = 1,\n\tfscache_volume_get_create_work = 2,\n\tfscache_volume_get_hash_collision = 3,\n\tfscache_volume_get_withdraw = 4,\n\tfscache_volume_free = 5,\n\tfscache_volume_new_acquire = 6,\n\tfscache_volume_put_cookie = 7,\n\tfscache_volume_put_create_work = 8,\n\tfscache_volume_put_hash_collision = 9,\n\tfscache_volume_put_relinquish = 10,\n\tfscache_volume_put_withdraw = 11,\n\tfscache_volume_see_create_work = 12,\n\tfscache_volume_see_hash_wake = 13,\n\tfscache_volume_wait_create_work = 14,\n};\n\nenum fscache_want_state {\n\tFSCACHE_WANT_PARAMS = 0,\n\tFSCACHE_WANT_WRITE = 1,\n\tFSCACHE_WANT_READ = 2,\n};\n\nenum fsconfig_command {\n\tFSCONFIG_SET_FLAG = 0,\n\tFSCONFIG_SET_STRING = 1,\n\tFSCONFIG_SET_BINARY = 2,\n\tFSCONFIG_SET_PATH = 3,\n\tFSCONFIG_SET_PATH_EMPTY = 4,\n\tFSCONFIG_SET_FD = 5,\n\tFSCONFIG_CMD_CREATE = 6,\n\tFSCONFIG_CMD_RECONFIGURE = 7,\n\tFSCONFIG_CMD_CREATE_EXCL = 8,\n};\n\nenum fsid_source {\n\tFSIDSOURCE_DEV = 0,\n\tFSIDSOURCE_FSID = 1,\n\tFSIDSOURCE_UUID = 2,\n};\n\nenum fsl_mc_pool_type {\n\tFSL_MC_POOL_DPMCP = 0,\n\tFSL_MC_POOL_DPBP = 1,\n\tFSL_MC_POOL_DPCON = 2,\n\tFSL_MC_POOL_IRQ = 3,\n\tFSL_MC_NUM_POOL_TYPES = 4,\n};\n\nenum fsnotify_data_type {\n\tFSNOTIFY_EVENT_NONE = 0,\n\tFSNOTIFY_EVENT_FILE_RANGE = 1,\n\tFSNOTIFY_EVENT_PATH = 2,\n\tFSNOTIFY_EVENT_INODE = 3,\n\tFSNOTIFY_EVENT_DENTRY = 4,\n\tFSNOTIFY_EVENT_ERROR = 5,\n};\n\nenum fsnotify_group_prio {\n\tFSNOTIFY_PRIO_NORMAL = 0,\n\tFSNOTIFY_PRIO_CONTENT = 1,\n\tFSNOTIFY_PRIO_PRE_CONTENT = 2,\n\t__FSNOTIFY_PRIO_NUM = 3,\n};\n\nenum fsnotify_iter_type {\n\tFSNOTIFY_ITER_TYPE_INODE = 0,\n\tFSNOTIFY_ITER_TYPE_VFSMOUNT = 1,\n\tFSNOTIFY_ITER_TYPE_SB = 2,\n\tFSNOTIFY_ITER_TYPE_PARENT = 3,\n\tFSNOTIFY_ITER_TYPE_INODE2 = 4,\n\tFSNOTIFY_ITER_TYPE_COUNT = 5,\n};\n\nenum fsnotify_obj_type {\n\tFSNOTIFY_OBJ_TYPE_ANY = -1,\n\tFSNOTIFY_OBJ_TYPE_INODE = 0,\n\tFSNOTIFY_OBJ_TYPE_VFSMOUNT = 1,\n\tFSNOTIFY_OBJ_TYPE_SB = 2,\n\tFSNOTIFY_OBJ_TYPE_COUNT = 3,\n\tFSNOTIFY_OBJ_TYPE_DETACHED = 3,\n};\n\nenum ftrace_dump_mode {\n\tDUMP_NONE = 0,\n\tDUMP_ALL = 1,\n\tDUMP_ORIG = 2,\n\tDUMP_PARAM = 3,\n};\n\nenum fullness_group {\n\tZS_INUSE_RATIO_0 = 0,\n\tZS_INUSE_RATIO_10 = 1,\n\tZS_INUSE_RATIO_99 = 10,\n\tZS_INUSE_RATIO_100 = 11,\n\tNR_FULLNESS_GROUPS = 12,\n};\n\nenum futex_access {\n\tFUTEX_READ = 0,\n\tFUTEX_WRITE = 1,\n};\n\nenum fw_opt {\n\tFW_OPT_UEVENT = 1,\n\tFW_OPT_NOWAIT = 2,\n\tFW_OPT_USERHELPER = 4,\n\tFW_OPT_NO_WARN = 8,\n\tFW_OPT_NOCACHE = 16,\n\tFW_OPT_NOFALLBACK_SYSFS = 32,\n\tFW_OPT_FALLBACK_PLATFORM = 64,\n\tFW_OPT_PARTIAL = 128,\n};\n\nenum fw_status {\n\tFW_STATUS_UNKNOWN = 0,\n\tFW_STATUS_LOADING = 1,\n\tFW_STATUS_DONE = 2,\n\tFW_STATUS_ABORTED = 3,\n};\n\nenum gddrnf4_status {\n\tGDD4_OK = 0,\n\tGDD4_UNAVAIL = 1,\n};\n\nenum genl_validate_flags {\n\tGENL_DONT_VALIDATE_STRICT = 1,\n\tGENL_DONT_VALIDATE_DUMP = 2,\n\tGENL_DONT_VALIDATE_DUMP_STRICT = 4,\n};\n\nenum gpio_lookup_flags {\n\tGPIO_ACTIVE_HIGH = 0,\n\tGPIO_ACTIVE_LOW = 1,\n\tGPIO_OPEN_DRAIN = 2,\n\tGPIO_OPEN_SOURCE = 4,\n\tGPIO_PERSISTENT = 0,\n\tGPIO_TRANSITORY = 8,\n\tGPIO_PULL_UP = 16,\n\tGPIO_PULL_DOWN = 32,\n\tGPIO_PULL_DISABLE = 64,\n\tGPIO_LOOKUP_FLAGS_DEFAULT = 0,\n};\n\nenum gpio_v2_line_attr_id {\n\tGPIO_V2_LINE_ATTR_ID_FLAGS = 1,\n\tGPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES = 2,\n\tGPIO_V2_LINE_ATTR_ID_DEBOUNCE = 3,\n};\n\nenum gpio_v2_line_changed_type {\n\tGPIO_V2_LINE_CHANGED_REQUESTED = 1,\n\tGPIO_V2_LINE_CHANGED_RELEASED = 2,\n\tGPIO_V2_LINE_CHANGED_CONFIG = 3,\n};\n\nenum gpio_v2_line_event_id {\n\tGPIO_V2_LINE_EVENT_RISING_EDGE = 1,\n\tGPIO_V2_LINE_EVENT_FALLING_EDGE = 2,\n};\n\nenum gpio_v2_line_flag {\n\tGPIO_V2_LINE_FLAG_USED = 1,\n\tGPIO_V2_LINE_FLAG_ACTIVE_LOW = 2,\n\tGPIO_V2_LINE_FLAG_INPUT = 4,\n\tGPIO_V2_LINE_FLAG_OUTPUT = 8,\n\tGPIO_V2_LINE_FLAG_EDGE_RISING = 16,\n\tGPIO_V2_LINE_FLAG_EDGE_FALLING = 32,\n\tGPIO_V2_LINE_FLAG_OPEN_DRAIN = 64,\n\tGPIO_V2_LINE_FLAG_OPEN_SOURCE = 128,\n\tGPIO_V2_LINE_FLAG_BIAS_PULL_UP = 256,\n\tGPIO_V2_LINE_FLAG_BIAS_PULL_DOWN = 512,\n\tGPIO_V2_LINE_FLAG_BIAS_DISABLED = 1024,\n\tGPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME = 2048,\n\tGPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE = 4096,\n};\n\nenum gpiod_flags {\n\tGPIOD_ASIS = 0,\n\tGPIOD_IN = 1,\n\tGPIOD_OUT_LOW = 3,\n\tGPIOD_OUT_HIGH = 7,\n\tGPIOD_OUT_LOW_OPEN_DRAIN = 11,\n\tGPIOD_OUT_HIGH_OPEN_DRAIN = 15,\n};\n\nenum gre_conntrack {\n\tGRE_CT_UNREPLIED = 0,\n\tGRE_CT_REPLIED = 1,\n\tGRE_CT_MAX = 2,\n};\n\nenum gro_result {\n\tGRO_MERGED = 0,\n\tGRO_MERGED_FREE = 1,\n\tGRO_HELD = 2,\n\tGRO_NORMAL = 3,\n\tGRO_CONSUMED = 4,\n};\n\ntypedef enum gro_result gro_result_t;\n\nenum group_type {\n\tgroup_has_spare = 0,\n\tgroup_fully_busy = 1,\n\tgroup_misfit_task = 2,\n\tgroup_smt_balance = 3,\n\tgroup_asym_packing = 4,\n\tgroup_imbalanced = 5,\n\tgroup_overloaded = 6,\n};\n\nenum handle_to_path_flags {\n\tHANDLE_CHECK_PERMS = 1,\n\tHANDLE_CHECK_SUBTREE = 2,\n};\n\nenum handshake_auth {\n\tHANDSHAKE_AUTH_UNSPEC = 0,\n\tHANDSHAKE_AUTH_UNAUTH = 1,\n\tHANDSHAKE_AUTH_PSK = 2,\n\tHANDSHAKE_AUTH_X509 = 3,\n};\n\nenum handshake_handler_class {\n\tHANDSHAKE_HANDLER_CLASS_NONE = 0,\n\tHANDSHAKE_HANDLER_CLASS_TLSHD = 1,\n\tHANDSHAKE_HANDLER_CLASS_MAX = 2,\n};\n\nenum handshake_msg_type {\n\tHANDSHAKE_MSG_TYPE_UNSPEC = 0,\n\tHANDSHAKE_MSG_TYPE_CLIENTHELLO = 1,\n\tHANDSHAKE_MSG_TYPE_SERVERHELLO = 2,\n};\n\nenum hardware_details {\n\tMVS_MAX_PHYS = 8,\n\tMVS_MAX_PORTS = 8,\n\tMVS_SOC_PHYS = 4,\n\tMVS_SOC_PORTS = 4,\n\tMVS_MAX_DEVICES = 1024,\n};\n\nenum hash_algo {\n\tHASH_ALGO_MD4 = 0,\n\tHASH_ALGO_MD5 = 1,\n\tHASH_ALGO_SHA1 = 2,\n\tHASH_ALGO_RIPE_MD_160 = 3,\n\tHASH_ALGO_SHA256 = 4,\n\tHASH_ALGO_SHA384 = 5,\n\tHASH_ALGO_SHA512 = 6,\n\tHASH_ALGO_SHA224 = 7,\n\tHASH_ALGO_RIPE_MD_128 = 8,\n\tHASH_ALGO_RIPE_MD_256 = 9,\n\tHASH_ALGO_RIPE_MD_320 = 10,\n\tHASH_ALGO_WP_256 = 11,\n\tHASH_ALGO_WP_384 = 12,\n\tHASH_ALGO_WP_512 = 13,\n\tHASH_ALGO_TGR_128 = 14,\n\tHASH_ALGO_TGR_160 = 15,\n\tHASH_ALGO_TGR_192 = 16,\n\tHASH_ALGO_SM3_256 = 17,\n\tHASH_ALGO_STREEBOG_256 = 18,\n\tHASH_ALGO_STREEBOG_512 = 19,\n\tHASH_ALGO_SHA3_256 = 20,\n\tHASH_ALGO_SHA3_384 = 21,\n\tHASH_ALGO_SHA3_512 = 22,\n\tHASH_ALGO__LAST = 23,\n};\n\nenum hba_port_matched_codes {\n\tNOT_MATCHED = 0,\n\tMATCHED_WITH_ADDR_AND_PHYMASK = 1,\n\tMATCHED_WITH_ADDR_SUBPHYMASK_AND_PORT = 2,\n\tMATCHED_WITH_ADDR_AND_SUBPHYMASK = 3,\n\tMATCHED_WITH_ADDR = 4,\n};\n\nenum hctx_type {\n\tHCTX_TYPE_DEFAULT = 0,\n\tHCTX_TYPE_READ = 1,\n\tHCTX_TYPE_POLL = 2,\n\tHCTX_MAX_TYPES = 3,\n};\n\nenum hdmi_3d_structure {\n\tHDMI_3D_STRUCTURE_INVALID = -1,\n\tHDMI_3D_STRUCTURE_FRAME_PACKING = 0,\n\tHDMI_3D_STRUCTURE_FIELD_ALTERNATIVE = 1,\n\tHDMI_3D_STRUCTURE_LINE_ALTERNATIVE = 2,\n\tHDMI_3D_STRUCTURE_SIDE_BY_SIDE_FULL = 3,\n\tHDMI_3D_STRUCTURE_L_DEPTH = 4,\n\tHDMI_3D_STRUCTURE_L_DEPTH_GFX_GFX_DEPTH = 5,\n\tHDMI_3D_STRUCTURE_TOP_AND_BOTTOM = 6,\n\tHDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8,\n};\n\nenum hdmi_active_aspect {\n\tHDMI_ACTIVE_ASPECT_16_9_TOP = 2,\n\tHDMI_ACTIVE_ASPECT_14_9_TOP = 3,\n\tHDMI_ACTIVE_ASPECT_16_9_CENTER = 4,\n\tHDMI_ACTIVE_ASPECT_PICTURE = 8,\n\tHDMI_ACTIVE_ASPECT_4_3 = 9,\n\tHDMI_ACTIVE_ASPECT_16_9 = 10,\n\tHDMI_ACTIVE_ASPECT_14_9 = 11,\n\tHDMI_ACTIVE_ASPECT_4_3_SP_14_9 = 13,\n\tHDMI_ACTIVE_ASPECT_16_9_SP_14_9 = 14,\n\tHDMI_ACTIVE_ASPECT_16_9_SP_4_3 = 15,\n};\n\nenum hdmi_audio_coding_type {\n\tHDMI_AUDIO_CODING_TYPE_STREAM = 0,\n\tHDMI_AUDIO_CODING_TYPE_PCM = 1,\n\tHDMI_AUDIO_CODING_TYPE_AC3 = 2,\n\tHDMI_AUDIO_CODING_TYPE_MPEG1 = 3,\n\tHDMI_AUDIO_CODING_TYPE_MP3 = 4,\n\tHDMI_AUDIO_CODING_TYPE_MPEG2 = 5,\n\tHDMI_AUDIO_CODING_TYPE_AAC_LC = 6,\n\tHDMI_AUDIO_CODING_TYPE_DTS = 7,\n\tHDMI_AUDIO_CODING_TYPE_ATRAC = 8,\n\tHDMI_AUDIO_CODING_TYPE_DSD = 9,\n\tHDMI_AUDIO_CODING_TYPE_EAC3 = 10,\n\tHDMI_AUDIO_CODING_TYPE_DTS_HD = 11,\n\tHDMI_AUDIO_CODING_TYPE_MLP = 12,\n\tHDMI_AUDIO_CODING_TYPE_DST = 13,\n\tHDMI_AUDIO_CODING_TYPE_WMA_PRO = 14,\n\tHDMI_AUDIO_CODING_TYPE_CXT = 15,\n};\n\nenum hdmi_audio_coding_type_ext {\n\tHDMI_AUDIO_CODING_TYPE_EXT_CT = 0,\n\tHDMI_AUDIO_CODING_TYPE_EXT_HE_AAC = 1,\n\tHDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2 = 2,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND = 3,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC = 4,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_V2 = 5,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC = 6,\n\tHDMI_AUDIO_CODING_TYPE_EXT_DRA = 7,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_SURROUND = 8,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC_SURROUND = 10,\n};\n\nenum hdmi_audio_sample_frequency {\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_STREAM = 0,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_32000 = 1,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_44100 = 2,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_48000 = 3,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_88200 = 4,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_96000 = 5,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_176400 = 6,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_192000 = 7,\n};\n\nenum hdmi_audio_sample_size {\n\tHDMI_AUDIO_SAMPLE_SIZE_STREAM = 0,\n\tHDMI_AUDIO_SAMPLE_SIZE_16 = 1,\n\tHDMI_AUDIO_SAMPLE_SIZE_20 = 2,\n\tHDMI_AUDIO_SAMPLE_SIZE_24 = 3,\n};\n\nenum hdmi_colorimetry {\n\tHDMI_COLORIMETRY_NONE = 0,\n\tHDMI_COLORIMETRY_ITU_601 = 1,\n\tHDMI_COLORIMETRY_ITU_709 = 2,\n\tHDMI_COLORIMETRY_EXTENDED = 3,\n};\n\nenum hdmi_colorspace {\n\tHDMI_COLORSPACE_RGB = 0,\n\tHDMI_COLORSPACE_YUV422 = 1,\n\tHDMI_COLORSPACE_YUV444 = 2,\n\tHDMI_COLORSPACE_YUV420 = 3,\n\tHDMI_COLORSPACE_RESERVED4 = 4,\n\tHDMI_COLORSPACE_RESERVED5 = 5,\n\tHDMI_COLORSPACE_RESERVED6 = 6,\n\tHDMI_COLORSPACE_IDO_DEFINED = 7,\n};\n\nenum hdmi_content_type {\n\tHDMI_CONTENT_TYPE_GRAPHICS = 0,\n\tHDMI_CONTENT_TYPE_PHOTO = 1,\n\tHDMI_CONTENT_TYPE_CINEMA = 2,\n\tHDMI_CONTENT_TYPE_GAME = 3,\n};\n\nenum hdmi_eotf {\n\tHDMI_EOTF_TRADITIONAL_GAMMA_SDR = 0,\n\tHDMI_EOTF_TRADITIONAL_GAMMA_HDR = 1,\n\tHDMI_EOTF_SMPTE_ST2084 = 2,\n\tHDMI_EOTF_BT_2100_HLG = 3,\n};\n\nenum hdmi_extended_colorimetry {\n\tHDMI_EXTENDED_COLORIMETRY_XV_YCC_601 = 0,\n\tHDMI_EXTENDED_COLORIMETRY_XV_YCC_709 = 1,\n\tHDMI_EXTENDED_COLORIMETRY_S_YCC_601 = 2,\n\tHDMI_EXTENDED_COLORIMETRY_OPYCC_601 = 3,\n\tHDMI_EXTENDED_COLORIMETRY_OPRGB = 4,\n\tHDMI_EXTENDED_COLORIMETRY_BT2020_CONST_LUM = 5,\n\tHDMI_EXTENDED_COLORIMETRY_BT2020 = 6,\n\tHDMI_EXTENDED_COLORIMETRY_RESERVED = 7,\n};\n\nenum hdmi_infoframe_type {\n\tHDMI_INFOFRAME_TYPE_VENDOR = 129,\n\tHDMI_INFOFRAME_TYPE_AVI = 130,\n\tHDMI_INFOFRAME_TYPE_SPD = 131,\n\tHDMI_INFOFRAME_TYPE_AUDIO = 132,\n\tHDMI_INFOFRAME_TYPE_DRM = 135,\n};\n\nenum hdmi_metadata_type {\n\tHDMI_STATIC_METADATA_TYPE1 = 0,\n};\n\nenum hdmi_nups {\n\tHDMI_NUPS_UNKNOWN = 0,\n\tHDMI_NUPS_HORIZONTAL = 1,\n\tHDMI_NUPS_VERTICAL = 2,\n\tHDMI_NUPS_BOTH = 3,\n};\n\nenum hdmi_picture_aspect {\n\tHDMI_PICTURE_ASPECT_NONE = 0,\n\tHDMI_PICTURE_ASPECT_4_3 = 1,\n\tHDMI_PICTURE_ASPECT_16_9 = 2,\n\tHDMI_PICTURE_ASPECT_64_27 = 3,\n\tHDMI_PICTURE_ASPECT_256_135 = 4,\n\tHDMI_PICTURE_ASPECT_RESERVED = 5,\n};\n\nenum hdmi_quantization_range {\n\tHDMI_QUANTIZATION_RANGE_DEFAULT = 0,\n\tHDMI_QUANTIZATION_RANGE_LIMITED = 1,\n\tHDMI_QUANTIZATION_RANGE_FULL = 2,\n\tHDMI_QUANTIZATION_RANGE_RESERVED = 3,\n};\n\nenum hdmi_scan_mode {\n\tHDMI_SCAN_MODE_NONE = 0,\n\tHDMI_SCAN_MODE_OVERSCAN = 1,\n\tHDMI_SCAN_MODE_UNDERSCAN = 2,\n\tHDMI_SCAN_MODE_RESERVED = 3,\n};\n\nenum hdmi_spd_sdi {\n\tHDMI_SPD_SDI_UNKNOWN = 0,\n\tHDMI_SPD_SDI_DSTB = 1,\n\tHDMI_SPD_SDI_DVDP = 2,\n\tHDMI_SPD_SDI_DVHS = 3,\n\tHDMI_SPD_SDI_HDDVR = 4,\n\tHDMI_SPD_SDI_DVC = 5,\n\tHDMI_SPD_SDI_DSC = 6,\n\tHDMI_SPD_SDI_VCD = 7,\n\tHDMI_SPD_SDI_GAME = 8,\n\tHDMI_SPD_SDI_PC = 9,\n\tHDMI_SPD_SDI_BD = 10,\n\tHDMI_SPD_SDI_SACD = 11,\n\tHDMI_SPD_SDI_HDDVD = 12,\n\tHDMI_SPD_SDI_PMP = 13,\n};\n\nenum hdmi_ycc_quantization_range {\n\tHDMI_YCC_QUANTIZATION_RANGE_LIMITED = 0,\n\tHDMI_YCC_QUANTIZATION_RANGE_FULL = 1,\n};\n\nenum hid_class_request {\n\tHID_REQ_GET_REPORT = 1,\n\tHID_REQ_GET_IDLE = 2,\n\tHID_REQ_GET_PROTOCOL = 3,\n\tHID_REQ_SET_REPORT = 9,\n\tHID_REQ_SET_IDLE = 10,\n\tHID_REQ_SET_PROTOCOL = 11,\n};\n\nenum hid_report_type {\n\tHID_INPUT_REPORT = 0,\n\tHID_OUTPUT_REPORT = 1,\n\tHID_FEATURE_REPORT = 2,\n\tHID_REPORT_TYPES = 3,\n};\n\nenum hid_type {\n\tHID_TYPE_OTHER = 0,\n\tHID_TYPE_USBMOUSE = 1,\n\tHID_TYPE_USBNONE = 2,\n};\n\nenum hk_flags {\n\tHK_FLAG_DOMAIN = 1,\n\tHK_FLAG_MANAGED_IRQ = 2,\n\tHK_FLAG_KERNEL_NOISE = 4,\n};\n\nenum hk_type {\n\tHK_TYPE_DOMAIN = 0,\n\tHK_TYPE_MANAGED_IRQ = 1,\n\tHK_TYPE_KERNEL_NOISE = 2,\n\tHK_TYPE_MAX = 3,\n\tHK_TYPE_TICK = 2,\n\tHK_TYPE_TIMER = 2,\n\tHK_TYPE_RCU = 2,\n\tHK_TYPE_MISC = 2,\n\tHK_TYPE_WQ = 2,\n\tHK_TYPE_KTHREAD = 2,\n};\n\nenum hmm_pfn_flags {\n\tHMM_PFN_VALID = 9223372036854775808ULL,\n\tHMM_PFN_WRITE = 4611686018427387904ULL,\n\tHMM_PFN_ERROR = 2305843009213693952ULL,\n\tHMM_PFN_ORDER_SHIFT = 56ULL,\n\tHMM_PFN_REQ_FAULT = 9223372036854775808ULL,\n\tHMM_PFN_REQ_WRITE = 4611686018427387904ULL,\n\tHMM_PFN_FLAGS = 18374686479671623680ULL,\n};\n\nenum hn_flags_bits {\n\tHANDSHAKE_F_NET_DRAINING = 0,\n};\n\nenum host_registers {\n\tMVS_HST_CHIP_CONFIG = 65796,\n};\n\nenum hp_flags_bits {\n\tHANDSHAKE_F_PROTO_NOTIFY = 0,\n};\n\nenum hprobe_state {\n\tHPROBE_LEASED = 0,\n\tHPROBE_STABLE = 1,\n\tHPROBE_GONE = 2,\n\tHPROBE_CONSUMED = 3,\n};\n\nenum hpx_type3_cfg_loc {\n\tHPX_CFG_PCICFG = 0,\n\tHPX_CFG_PCIE_CAP = 1,\n\tHPX_CFG_PCIE_CAP_EXT = 2,\n\tHPX_CFG_VEND_CAP = 3,\n\tHPX_CFG_DVSEC = 4,\n\tHPX_CFG_MAX = 5,\n};\n\nenum hpx_type3_dev_type {\n\tHPX_TYPE_ENDPOINT = 1,\n\tHPX_TYPE_LEG_END = 2,\n\tHPX_TYPE_RC_END = 4,\n\tHPX_TYPE_RC_EC = 8,\n\tHPX_TYPE_ROOT_PORT = 16,\n\tHPX_TYPE_UPSTREAM = 32,\n\tHPX_TYPE_DOWNSTREAM = 64,\n\tHPX_TYPE_PCI_BRIDGE = 128,\n\tHPX_TYPE_PCIE_BRIDGE = 256,\n};\n\nenum hpx_type3_fn_type {\n\tHPX_FN_NORMAL = 1,\n\tHPX_FN_SRIOV_PHYS = 2,\n\tHPX_FN_SRIOV_VIRT = 4,\n};\n\nenum hr_flags_bits {\n\tHANDSHAKE_F_REQ_COMPLETED = 0,\n\tHANDSHAKE_F_REQ_SESSION = 1,\n};\n\nenum hrtimer_base_type {\n\tHRTIMER_BASE_MONOTONIC = 0,\n\tHRTIMER_BASE_REALTIME = 1,\n\tHRTIMER_BASE_BOOTTIME = 2,\n\tHRTIMER_BASE_TAI = 3,\n\tHRTIMER_BASE_MONOTONIC_SOFT = 4,\n\tHRTIMER_BASE_REALTIME_SOFT = 5,\n\tHRTIMER_BASE_BOOTTIME_SOFT = 6,\n\tHRTIMER_BASE_TAI_SOFT = 7,\n\tHRTIMER_MAX_CLOCK_BASES = 8,\n};\n\nenum hrtimer_mode {\n\tHRTIMER_MODE_ABS = 0,\n\tHRTIMER_MODE_REL = 1,\n\tHRTIMER_MODE_PINNED = 2,\n\tHRTIMER_MODE_SOFT = 4,\n\tHRTIMER_MODE_HARD = 8,\n\tHRTIMER_MODE_ABS_PINNED = 2,\n\tHRTIMER_MODE_REL_PINNED = 3,\n\tHRTIMER_MODE_ABS_SOFT = 4,\n\tHRTIMER_MODE_REL_SOFT = 5,\n\tHRTIMER_MODE_ABS_PINNED_SOFT = 6,\n\tHRTIMER_MODE_REL_PINNED_SOFT = 7,\n\tHRTIMER_MODE_ABS_HARD = 8,\n\tHRTIMER_MODE_REL_HARD = 9,\n\tHRTIMER_MODE_ABS_PINNED_HARD = 10,\n\tHRTIMER_MODE_REL_PINNED_HARD = 11,\n};\n\nenum hrtimer_restart {\n\tHRTIMER_NORESTART = 0,\n\tHRTIMER_RESTART = 1,\n};\n\nenum hsm_task_states {\n\tHSM_ST_IDLE = 0,\n\tHSM_ST_FIRST = 1,\n\tHSM_ST = 2,\n\tHSM_ST_LAST = 3,\n\tHSM_ST_ERR = 4,\n};\n\nenum hub_activation_type {\n\tHUB_INIT = 0,\n\tHUB_INIT2 = 1,\n\tHUB_INIT3 = 2,\n\tHUB_POST_RESET = 3,\n\tHUB_RESUME = 4,\n\tHUB_RESET_RESUME = 5,\n};\n\nenum hub_led_mode {\n\tINDICATOR_AUTO = 0,\n\tINDICATOR_CYCLE = 1,\n\tINDICATOR_GREEN_BLINK = 2,\n\tINDICATOR_GREEN_BLINK_OFF = 3,\n\tINDICATOR_AMBER_BLINK = 4,\n\tINDICATOR_AMBER_BLINK_OFF = 5,\n\tINDICATOR_ALT_BLINK = 6,\n\tINDICATOR_ALT_BLINK_OFF = 7,\n} __attribute__((mode(byte)));\n\nenum hub_quiescing_type {\n\tHUB_DISCONNECT = 0,\n\tHUB_PRE_RESET = 1,\n\tHUB_SUSPEND = 2,\n};\n\nenum hugetlb_memory_event {\n\tHUGETLB_MAX = 0,\n\tHUGETLB_NR_MEMORY_EVENTS = 1,\n};\n\nenum hugetlb_page_flags {\n\tHPG_restore_reserve = 0,\n\tHPG_migratable = 1,\n\tHPG_temporary = 2,\n\tHPG_freed = 3,\n\tHPG_vmemmap_optimized = 4,\n\tHPG_raw_hwp_unreliable = 5,\n\t__NR_HPAGEFLAGS = 6,\n};\n\nenum hugetlb_param {\n\tOpt_gid___7 = 0,\n\tOpt_min_size = 1,\n\tOpt_mode___5 = 2,\n\tOpt_nr_inodes = 3,\n\tOpt_pagesize = 4,\n\tOpt_size = 5,\n\tOpt_uid___7 = 6,\n};\n\nenum hugetlbfs_size_type {\n\tNO_SIZE = 0,\n\tSIZE_STD = 1,\n\tSIZE_PERCENT = 2,\n};\n\nenum hw_breakpoint_ops {\n\tHW_BREAKPOINT_INSTALL = 0,\n\tHW_BREAKPOINT_UNINSTALL = 1,\n};\n\nenum hw_event_mc_err_type {\n\tHW_EVENT_ERR_CORRECTED = 0,\n\tHW_EVENT_ERR_UNCORRECTED = 1,\n\tHW_EVENT_ERR_DEFERRED = 2,\n\tHW_EVENT_ERR_FATAL = 3,\n\tHW_EVENT_ERR_INFO = 4,\n};\n\nenum hw_register_bits {\n\tINT_EN = 2,\n\tHBA_RST = 1,\n\tINT_XOR = 16,\n\tINT_SAS_SATA = 1,\n\tSATA_TARGET = 65536,\n\tMODE_AUTO_DET_PORT7 = 32768,\n\tMODE_AUTO_DET_PORT6 = 16384,\n\tMODE_AUTO_DET_PORT5 = 8192,\n\tMODE_AUTO_DET_PORT4 = 4096,\n\tMODE_AUTO_DET_PORT3 = 2048,\n\tMODE_AUTO_DET_PORT2 = 1024,\n\tMODE_AUTO_DET_PORT1 = 512,\n\tMODE_AUTO_DET_PORT0 = 256,\n\tMODE_AUTO_DET_EN = 65280,\n\tMODE_SAS_PORT7_MASK = 128,\n\tMODE_SAS_PORT6_MASK = 64,\n\tMODE_SAS_PORT5_MASK = 32,\n\tMODE_SAS_PORT4_MASK = 16,\n\tMODE_SAS_PORT3_MASK = 8,\n\tMODE_SAS_PORT2_MASK = 4,\n\tMODE_SAS_PORT1_MASK = 2,\n\tMODE_SAS_PORT0_MASK = 1,\n\tMODE_SAS_SATA = 255,\n\tTX_EN = 65536,\n\tTX_RING_SZ_MASK = 4095,\n\tRX_EN = 65536,\n\tRX_RING_SZ_MASK = 4095,\n\tCOAL_EN = 65536,\n\tCINT_I2C = 2147483648,\n\tCINT_SW0 = 1073741824,\n\tCINT_SW1 = 536870912,\n\tCINT_PRD_BC = 268435456,\n\tCINT_DMA_PCIE = 134217728,\n\tCINT_MEM = 67108864,\n\tCINT_I2C_SLAVE = 33554432,\n\tCINT_NON_SPEC_NCQ_ERROR = 33554432,\n\tCINT_SRS = 8,\n\tCINT_CI_STOP = 2,\n\tCINT_DONE = 1,\n\tCINT_PORT_STOPPED = 65536,\n\tCINT_PORT = 256,\n\tCINT_PORT_MASK_OFFSET = 8,\n\tCINT_PORT_MASK = 65280,\n\tCINT_PHY_MASK_OFFSET = 4,\n\tCINT_PHY_MASK = 240,\n\tTXQ_CMD_SHIFT = 29,\n\tTXQ_CMD_SSP = 1,\n\tTXQ_CMD_SMP = 2,\n\tTXQ_CMD_STP = 3,\n\tTXQ_CMD_SSP_FREE_LIST = 4,\n\tTXQ_CMD_SLOT_RESET = 7,\n\tTXQ_MODE_I = 268435456,\n\tTXQ_MODE_TARGET = 0,\n\tTXQ_MODE_INITIATOR = 1,\n\tTXQ_PRIO_HI = 134217728,\n\tTXQ_PRI_NORMAL = 0,\n\tTXQ_PRI_HIGH = 1,\n\tTXQ_SRS_SHIFT = 20,\n\tTXQ_SRS_MASK = 127,\n\tTXQ_PHY_SHIFT = 12,\n\tTXQ_PHY_MASK = 255,\n\tTXQ_SLOT_MASK = 4095,\n\tRXQ_GOOD = 8388608,\n\tRXQ_SLOT_RESET = 2097152,\n\tRXQ_CMD_RX = 1048576,\n\tRXQ_ATTN = 524288,\n\tRXQ_RSP = 262144,\n\tRXQ_ERR = 131072,\n\tRXQ_DONE = 65536,\n\tRXQ_SLOT_MASK = 4095,\n\tMCH_PRD_LEN_SHIFT = 16,\n\tMCH_SSP_FR_TYPE_SHIFT = 13,\n\tMCH_SSP_FR_CMD = 0,\n\tMCH_SSP_FR_TASK = 1,\n\tMCH_SSP_FR_XFER_RDY = 4,\n\tMCH_SSP_FR_RESP = 5,\n\tMCH_SSP_FR_READ = 6,\n\tMCH_SSP_FR_READ_RESP = 7,\n\tMCH_SSP_MODE_PASSTHRU = 1,\n\tMCH_SSP_MODE_NORMAL = 0,\n\tMCH_PASSTHRU = 4096,\n\tMCH_FBURST = 2048,\n\tMCH_CHK_LEN = 1024,\n\tMCH_RETRY = 512,\n\tMCH_PROTECTION = 256,\n\tMCH_RESET = 128,\n\tMCH_FPDMA = 64,\n\tMCH_ATAPI = 32,\n\tMCH_BIST = 16,\n\tMCH_PMP_MASK = 15,\n\tCCTL_RST = 32,\n\tCCTL_ENDIAN_DATA = 8,\n\tCCTL_ENDIAN_RSP = 4,\n\tCCTL_ENDIAN_OPEN = 2,\n\tCCTL_ENDIAN_CMD = 1,\n\tPHY_SSP_RST = 8,\n\tPHY_BCAST_CHG = 4,\n\tPHY_RST_HARD = 2,\n\tPHY_RST = 1,\n\tPHY_READY_MASK = 1048576,\n\tPHYEV_DEC_ERR = 16777216,\n\tPHYEV_DCDR_ERR = 8388608,\n\tPHYEV_CRC_ERR = 4194304,\n\tPHYEV_UNASSOC_FIS = 524288,\n\tPHYEV_AN = 262144,\n\tPHYEV_BIST_ACT = 131072,\n\tPHYEV_SIG_FIS = 65536,\n\tPHYEV_POOF = 4096,\n\tPHYEV_IU_BIG = 2048,\n\tPHYEV_IU_SMALL = 1024,\n\tPHYEV_UNK_TAG = 512,\n\tPHYEV_BROAD_CH = 256,\n\tPHYEV_COMWAKE = 128,\n\tPHYEV_PORT_SEL = 64,\n\tPHYEV_HARD_RST = 32,\n\tPHYEV_ID_TMOUT = 16,\n\tPHYEV_ID_FAIL = 8,\n\tPHYEV_ID_DONE = 4,\n\tPHYEV_HARD_RST_DONE = 2,\n\tPHYEV_RDY_CH = 1,\n\tPCS_EN_SATA_REG_SHIFT = 16,\n\tPCS_EN_PORT_XMT_SHIFT = 12,\n\tPCS_EN_PORT_XMT_SHIFT2 = 8,\n\tPCS_SATA_RETRY = 256,\n\tPCS_RSP_RX_EN = 128,\n\tPCS_SATA_RETRY_2 = 64,\n\tPCS_SELF_CLEAR = 32,\n\tPCS_FIS_RX_EN = 16,\n\tPCS_CMD_STOP_ERR = 8,\n\tPCS_CMD_RST = 2,\n\tPCS_CMD_EN = 1,\n\tPORT_DEV_SSP_TRGT = 524288,\n\tPORT_DEV_SMP_TRGT = 262144,\n\tPORT_DEV_STP_TRGT = 131072,\n\tPORT_DEV_SSP_INIT = 2048,\n\tPORT_DEV_SMP_INIT = 1024,\n\tPORT_DEV_STP_INIT = 512,\n\tPORT_PHY_ID_MASK = 4278190080,\n\tPORT_SSP_TRGT_MASK = 524288,\n\tPORT_SSP_INIT_MASK = 2048,\n\tPORT_DEV_TRGT_MASK = 917504,\n\tPORT_DEV_INIT_MASK = 3584,\n\tPORT_DEV_TYPE_MASK = 7,\n\tPHY_RDY = 4,\n\tPHY_DW_SYNC = 2,\n\tPHY_OOB_DTCTD = 1,\n\tPHY_MODE6_LATECLK = 536870912,\n\tPHY_MODE6_DTL_SPEED = 134217728,\n\tPHY_MODE6_FC_ORDER = 67108864,\n\tPHY_MODE6_MUCNT_EN = 16777216,\n\tPHY_MODE6_SEL_MUCNT_LEN = 4194304,\n\tPHY_MODE6_SELMUPI = 1048576,\n\tPHY_MODE6_SELMUPF = 262144,\n\tPHY_MODE6_SELMUFF = 65536,\n\tPHY_MODE6_SELMUFI = 16384,\n\tPHY_MODE6_FREEZE_LOOP = 4096,\n\tPHY_MODE6_INT_RXFOFFS = 8,\n\tPHY_MODE6_FRC_RXFOFFS = 4,\n\tPHY_MODE6_STAU_0D8 = 2,\n\tPHY_MODE6_RXSAT_DIS = 1,\n};\n\nenum hw_registers {\n\tMVS_GBL_CTL = 4,\n\tMVS_GBL_INT_STAT = 0,\n\tMVS_GBL_PI = 12,\n\tMVS_PHY_CTL = 64,\n\tMVS_PORTS_IMP = 156,\n\tMVS_GBL_PORT_TYPE = 160,\n\tMVS_CTL = 256,\n\tMVS_PCS = 260,\n\tMVS_CMD_LIST_LO = 264,\n\tMVS_CMD_LIST_HI = 268,\n\tMVS_RX_FIS_LO = 272,\n\tMVS_RX_FIS_HI = 276,\n\tMVS_STP_REG_SET_0 = 280,\n\tMVS_STP_REG_SET_1 = 284,\n\tMVS_TX_CFG = 288,\n\tMVS_TX_LO = 292,\n\tMVS_TX_HI = 296,\n\tMVS_TX_PROD_IDX = 300,\n\tMVS_TX_CONS_IDX = 304,\n\tMVS_RX_CFG = 308,\n\tMVS_RX_LO = 312,\n\tMVS_RX_HI = 316,\n\tMVS_RX_CONS_IDX = 320,\n\tMVS_INT_COAL = 328,\n\tMVS_INT_COAL_TMOUT = 332,\n\tMVS_INT_STAT = 336,\n\tMVS_INT_MASK = 340,\n\tMVS_INT_STAT_SRS_0 = 344,\n\tMVS_INT_MASK_SRS_0 = 348,\n\tMVS_INT_STAT_SRS_1 = 352,\n\tMVS_INT_MASK_SRS_1 = 356,\n\tMVS_NON_NCQ_ERR_0 = 360,\n\tMVS_NON_NCQ_ERR_1 = 364,\n\tMVS_CMD_ADDR = 368,\n\tMVS_CMD_DATA = 372,\n\tMVS_MEM_PARITY_ERR = 376,\n\tMVS_P0_INT_STAT = 384,\n\tMVS_P0_INT_MASK = 388,\n\tMVS_P4_INT_STAT = 416,\n\tMVS_P4_INT_MASK = 420,\n\tMVS_P0_SER_CTLSTAT = 464,\n\tMVS_P4_SER_CTLSTAT = 480,\n\tMVS_P0_CFG_ADDR = 512,\n\tMVS_P0_CFG_DATA = 516,\n\tMVS_P4_CFG_ADDR = 544,\n\tMVS_P4_CFG_DATA = 548,\n\tMVS_P0_VSR_ADDR = 592,\n\tMVS_P0_VSR_DATA = 596,\n\tMVS_P4_VSR_ADDR = 592,\n\tMVS_P4_VSR_DATA = 596,\n\tMVS_PA_VSR_ADDR = 656,\n\tMVS_PA_VSR_PORT = 660,\n\tMVS_COMMAND_ACTIVE = 768,\n};\n\nenum hw_registers___2 {\n\tMVS_GBL_CTL___2 = 4,\n\tMVS_GBL_INT_STAT___2 = 8,\n\tMVS_GBL_PI___2 = 12,\n\tMVS_PHY_CTL___2 = 64,\n\tMVS_PORTS_IMP___2 = 156,\n\tMVS_GBL_PORT_TYPE___2 = 160,\n\tMVS_CTL___2 = 256,\n\tMVS_PCS___2 = 260,\n\tMVS_CMD_LIST_LO___2 = 264,\n\tMVS_CMD_LIST_HI___2 = 268,\n\tMVS_RX_FIS_LO___2 = 272,\n\tMVS_RX_FIS_HI___2 = 276,\n\tMVS_TX_CFG___2 = 288,\n\tMVS_TX_LO___2 = 292,\n\tMVS_TX_HI___2 = 296,\n\tMVS_TX_PROD_IDX___2 = 300,\n\tMVS_TX_CONS_IDX___2 = 304,\n\tMVS_RX_CFG___2 = 308,\n\tMVS_RX_LO___2 = 312,\n\tMVS_RX_HI___2 = 316,\n\tMVS_RX_CONS_IDX___2 = 320,\n\tMVS_INT_COAL___2 = 328,\n\tMVS_INT_COAL_TMOUT___2 = 332,\n\tMVS_INT_STAT___2 = 336,\n\tMVS_INT_MASK___2 = 340,\n\tMVS_INT_STAT_SRS_0___2 = 344,\n\tMVS_INT_MASK_SRS_0___2 = 348,\n\tMVS_P0_INT_STAT___2 = 352,\n\tMVS_P0_INT_MASK___2 = 356,\n\tMVS_P4_INT_STAT___2 = 512,\n\tMVS_P4_INT_MASK___2 = 516,\n\tMVS_P0_SER_CTLSTAT___2 = 384,\n\tMVS_P4_SER_CTLSTAT___2 = 544,\n\tMVS_CMD_ADDR___2 = 440,\n\tMVS_CMD_DATA___2 = 444,\n\tMVS_P0_CFG_ADDR___2 = 448,\n\tMVS_P0_CFG_DATA___2 = 452,\n\tMVS_P4_CFG_ADDR___2 = 560,\n\tMVS_P4_CFG_DATA___2 = 564,\n\tMVS_P0_VSR_ADDR___2 = 480,\n\tMVS_P0_VSR_DATA___2 = 484,\n\tMVS_P4_VSR_ADDR___2 = 592,\n\tMVS_P4_VSR_DATA___2 = 596,\n};\n\nenum hwmon_chip_attributes {\n\thwmon_chip_temp_reset_history = 0,\n\thwmon_chip_in_reset_history = 1,\n\thwmon_chip_curr_reset_history = 2,\n\thwmon_chip_power_reset_history = 3,\n\thwmon_chip_register_tz = 4,\n\thwmon_chip_update_interval = 5,\n\thwmon_chip_alarms = 6,\n\thwmon_chip_samples = 7,\n\thwmon_chip_curr_samples = 8,\n\thwmon_chip_in_samples = 9,\n\thwmon_chip_power_samples = 10,\n\thwmon_chip_temp_samples = 11,\n\thwmon_chip_beep_enable = 12,\n\thwmon_chip_pec = 13,\n};\n\nenum hwmon_curr_attributes {\n\thwmon_curr_enable = 0,\n\thwmon_curr_input = 1,\n\thwmon_curr_min = 2,\n\thwmon_curr_max = 3,\n\thwmon_curr_lcrit = 4,\n\thwmon_curr_crit = 5,\n\thwmon_curr_average = 6,\n\thwmon_curr_lowest = 7,\n\thwmon_curr_highest = 8,\n\thwmon_curr_reset_history = 9,\n\thwmon_curr_label = 10,\n\thwmon_curr_alarm = 11,\n\thwmon_curr_min_alarm = 12,\n\thwmon_curr_max_alarm = 13,\n\thwmon_curr_lcrit_alarm = 14,\n\thwmon_curr_crit_alarm = 15,\n\thwmon_curr_rated_min = 16,\n\thwmon_curr_rated_max = 17,\n\thwmon_curr_beep = 18,\n};\n\nenum hwmon_energy_attributes {\n\thwmon_energy_enable = 0,\n\thwmon_energy_input = 1,\n\thwmon_energy_label = 2,\n};\n\nenum hwmon_fan_attributes {\n\thwmon_fan_enable = 0,\n\thwmon_fan_input = 1,\n\thwmon_fan_label = 2,\n\thwmon_fan_min = 3,\n\thwmon_fan_max = 4,\n\thwmon_fan_div = 5,\n\thwmon_fan_pulses = 6,\n\thwmon_fan_target = 7,\n\thwmon_fan_alarm = 8,\n\thwmon_fan_min_alarm = 9,\n\thwmon_fan_max_alarm = 10,\n\thwmon_fan_fault = 11,\n\thwmon_fan_beep = 12,\n};\n\nenum hwmon_humidity_attributes {\n\thwmon_humidity_enable = 0,\n\thwmon_humidity_input = 1,\n\thwmon_humidity_label = 2,\n\thwmon_humidity_min = 3,\n\thwmon_humidity_min_hyst = 4,\n\thwmon_humidity_max = 5,\n\thwmon_humidity_max_hyst = 6,\n\thwmon_humidity_alarm = 7,\n\thwmon_humidity_fault = 8,\n\thwmon_humidity_rated_min = 9,\n\thwmon_humidity_rated_max = 10,\n\thwmon_humidity_min_alarm = 11,\n\thwmon_humidity_max_alarm = 12,\n};\n\nenum hwmon_in_attributes {\n\thwmon_in_enable = 0,\n\thwmon_in_input = 1,\n\thwmon_in_min = 2,\n\thwmon_in_max = 3,\n\thwmon_in_lcrit = 4,\n\thwmon_in_crit = 5,\n\thwmon_in_average = 6,\n\thwmon_in_lowest = 7,\n\thwmon_in_highest = 8,\n\thwmon_in_reset_history = 9,\n\thwmon_in_label = 10,\n\thwmon_in_alarm = 11,\n\thwmon_in_min_alarm = 12,\n\thwmon_in_max_alarm = 13,\n\thwmon_in_lcrit_alarm = 14,\n\thwmon_in_crit_alarm = 15,\n\thwmon_in_rated_min = 16,\n\thwmon_in_rated_max = 17,\n\thwmon_in_beep = 18,\n\thwmon_in_fault = 19,\n};\n\nenum hwmon_intrusion_attributes {\n\thwmon_intrusion_alarm = 0,\n\thwmon_intrusion_beep = 1,\n};\n\nenum hwmon_power_attributes {\n\thwmon_power_enable = 0,\n\thwmon_power_average = 1,\n\thwmon_power_average_interval = 2,\n\thwmon_power_average_interval_max = 3,\n\thwmon_power_average_interval_min = 4,\n\thwmon_power_average_highest = 5,\n\thwmon_power_average_lowest = 6,\n\thwmon_power_average_max = 7,\n\thwmon_power_average_min = 8,\n\thwmon_power_input = 9,\n\thwmon_power_input_highest = 10,\n\thwmon_power_input_lowest = 11,\n\thwmon_power_reset_history = 12,\n\thwmon_power_accuracy = 13,\n\thwmon_power_cap = 14,\n\thwmon_power_cap_hyst = 15,\n\thwmon_power_cap_max = 16,\n\thwmon_power_cap_min = 17,\n\thwmon_power_min = 18,\n\thwmon_power_max = 19,\n\thwmon_power_crit = 20,\n\thwmon_power_lcrit = 21,\n\thwmon_power_label = 22,\n\thwmon_power_alarm = 23,\n\thwmon_power_cap_alarm = 24,\n\thwmon_power_min_alarm = 25,\n\thwmon_power_max_alarm = 26,\n\thwmon_power_lcrit_alarm = 27,\n\thwmon_power_crit_alarm = 28,\n\thwmon_power_rated_min = 29,\n\thwmon_power_rated_max = 30,\n};\n\nenum hwmon_pwm_attributes {\n\thwmon_pwm_input = 0,\n\thwmon_pwm_enable = 1,\n\thwmon_pwm_mode = 2,\n\thwmon_pwm_freq = 3,\n\thwmon_pwm_auto_channels_temp = 4,\n};\n\nenum hwmon_sensor_types {\n\thwmon_chip = 0,\n\thwmon_temp = 1,\n\thwmon_in = 2,\n\thwmon_curr = 3,\n\thwmon_power = 4,\n\thwmon_energy = 5,\n\thwmon_humidity = 6,\n\thwmon_fan = 7,\n\thwmon_pwm = 8,\n\thwmon_intrusion = 9,\n\thwmon_max = 10,\n};\n\nenum hwmon_temp_attributes {\n\thwmon_temp_enable = 0,\n\thwmon_temp_input = 1,\n\thwmon_temp_type = 2,\n\thwmon_temp_lcrit = 3,\n\thwmon_temp_lcrit_hyst = 4,\n\thwmon_temp_min = 5,\n\thwmon_temp_min_hyst = 6,\n\thwmon_temp_max = 7,\n\thwmon_temp_max_hyst = 8,\n\thwmon_temp_crit = 9,\n\thwmon_temp_crit_hyst = 10,\n\thwmon_temp_emergency = 11,\n\thwmon_temp_emergency_hyst = 12,\n\thwmon_temp_alarm = 13,\n\thwmon_temp_lcrit_alarm = 14,\n\thwmon_temp_min_alarm = 15,\n\thwmon_temp_max_alarm = 16,\n\thwmon_temp_crit_alarm = 17,\n\thwmon_temp_emergency_alarm = 18,\n\thwmon_temp_fault = 19,\n\thwmon_temp_offset = 20,\n\thwmon_temp_label = 21,\n\thwmon_temp_lowest = 22,\n\thwmon_temp_highest = 23,\n\thwmon_temp_reset_history = 24,\n\thwmon_temp_rated_min = 25,\n\thwmon_temp_rated_max = 26,\n\thwmon_temp_beep = 27,\n};\n\nenum hwparam_type {\n\thwparam_ioport = 0,\n\thwparam_iomem = 1,\n\thwparam_ioport_or_iomem = 2,\n\thwparam_irq = 3,\n\thwparam_dma = 4,\n\thwparam_dma_addr = 5,\n\thwparam_other = 6,\n};\n\nenum hwtstamp_flags {\n\tHWTSTAMP_FLAG_BONDED_PHC_INDEX = 1,\n\tHWTSTAMP_FLAG_LAST = 1,\n\tHWTSTAMP_FLAG_MASK = 1,\n};\n\nenum hwtstamp_provider_qualifier {\n\tHWTSTAMP_PROVIDER_QUALIFIER_PRECISE = 0,\n\tHWTSTAMP_PROVIDER_QUALIFIER_APPROX = 1,\n\tHWTSTAMP_PROVIDER_QUALIFIER_CNT = 2,\n};\n\nenum hwtstamp_rx_filters {\n\tHWTSTAMP_FILTER_NONE = 0,\n\tHWTSTAMP_FILTER_ALL = 1,\n\tHWTSTAMP_FILTER_SOME = 2,\n\tHWTSTAMP_FILTER_PTP_V1_L4_EVENT = 3,\n\tHWTSTAMP_FILTER_PTP_V1_L4_SYNC = 4,\n\tHWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ = 5,\n\tHWTSTAMP_FILTER_PTP_V2_L4_EVENT = 6,\n\tHWTSTAMP_FILTER_PTP_V2_L4_SYNC = 7,\n\tHWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ = 8,\n\tHWTSTAMP_FILTER_PTP_V2_L2_EVENT = 9,\n\tHWTSTAMP_FILTER_PTP_V2_L2_SYNC = 10,\n\tHWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ = 11,\n\tHWTSTAMP_FILTER_PTP_V2_EVENT = 12,\n\tHWTSTAMP_FILTER_PTP_V2_SYNC = 13,\n\tHWTSTAMP_FILTER_PTP_V2_DELAY_REQ = 14,\n\tHWTSTAMP_FILTER_NTP_ALL = 15,\n\t__HWTSTAMP_FILTER_CNT = 16,\n};\n\nenum hwtstamp_source {\n\tHWTSTAMP_SOURCE_UNSPEC = 0,\n\tHWTSTAMP_SOURCE_NETDEV = 1,\n\tHWTSTAMP_SOURCE_PHYLIB = 2,\n};\n\nenum hwtstamp_tx_types {\n\tHWTSTAMP_TX_OFF = 0,\n\tHWTSTAMP_TX_ON = 1,\n\tHWTSTAMP_TX_ONESTEP_SYNC = 2,\n\tHWTSTAMP_TX_ONESTEP_P2P = 3,\n\t__HWTSTAMP_TX_CNT = 4,\n};\n\nenum i2c_alert_protocol {\n\tI2C_PROTOCOL_SMBUS_ALERT = 0,\n\tI2C_PROTOCOL_SMBUS_HOST_NOTIFY = 1,\n};\n\nenum i2c_driver_flags {\n\tI2C_DRV_ACPI_WAIVE_D0_PROBE = 1,\n};\n\nenum i2c_slave_event {\n\tI2C_SLAVE_READ_REQUESTED = 0,\n\tI2C_SLAVE_WRITE_REQUESTED = 1,\n\tI2C_SLAVE_READ_PROCESSED = 2,\n\tI2C_SLAVE_WRITE_RECEIVED = 3,\n\tI2C_SLAVE_STOP = 4,\n};\n\nenum i8042_controller_reset_mode {\n\tI8042_RESET_NEVER = 0,\n\tI8042_RESET_ALWAYS = 1,\n\tI8042_RESET_ON_S2RAM = 2,\n};\n\nenum ib_atomic_cap {\n\tIB_ATOMIC_NONE = 0,\n\tIB_ATOMIC_HCA = 1,\n\tIB_ATOMIC_GLOB = 2,\n};\n\nenum ib_cq_notify_flags {\n\tIB_CQ_SOLICITED = 1,\n\tIB_CQ_NEXT_COMP = 2,\n\tIB_CQ_SOLICITED_MASK = 3,\n\tIB_CQ_REPORT_MISSED_EVENTS = 4,\n};\n\nenum ib_event_type {\n\tIB_EVENT_CQ_ERR = 0,\n\tIB_EVENT_QP_FATAL = 1,\n\tIB_EVENT_QP_REQ_ERR = 2,\n\tIB_EVENT_QP_ACCESS_ERR = 3,\n\tIB_EVENT_COMM_EST = 4,\n\tIB_EVENT_SQ_DRAINED = 5,\n\tIB_EVENT_PATH_MIG = 6,\n\tIB_EVENT_PATH_MIG_ERR = 7,\n\tIB_EVENT_DEVICE_FATAL = 8,\n\tIB_EVENT_PORT_ACTIVE = 9,\n\tIB_EVENT_PORT_ERR = 10,\n\tIB_EVENT_LID_CHANGE = 11,\n\tIB_EVENT_PKEY_CHANGE = 12,\n\tIB_EVENT_SM_CHANGE = 13,\n\tIB_EVENT_SRQ_ERR = 14,\n\tIB_EVENT_SRQ_LIMIT_REACHED = 15,\n\tIB_EVENT_QP_LAST_WQE_REACHED = 16,\n\tIB_EVENT_CLIENT_REREGISTER = 17,\n\tIB_EVENT_GID_CHANGE = 18,\n\tIB_EVENT_WQ_FATAL = 19,\n};\n\nenum ib_flow_action_type {\n\tIB_FLOW_ACTION_UNSPECIFIED = 0,\n\tIB_FLOW_ACTION_ESP = 1,\n};\n\nenum ib_flow_attr_type {\n\tIB_FLOW_ATTR_NORMAL = 0,\n\tIB_FLOW_ATTR_ALL_DEFAULT = 1,\n\tIB_FLOW_ATTR_MC_DEFAULT = 2,\n\tIB_FLOW_ATTR_SNIFFER = 3,\n};\n\nenum ib_flow_spec_type {\n\tIB_FLOW_SPEC_ETH = 32,\n\tIB_FLOW_SPEC_IB = 34,\n\tIB_FLOW_SPEC_IPV4 = 48,\n\tIB_FLOW_SPEC_IPV6 = 49,\n\tIB_FLOW_SPEC_ESP = 52,\n\tIB_FLOW_SPEC_TCP = 64,\n\tIB_FLOW_SPEC_UDP = 65,\n\tIB_FLOW_SPEC_VXLAN_TUNNEL = 80,\n\tIB_FLOW_SPEC_GRE = 81,\n\tIB_FLOW_SPEC_MPLS = 96,\n\tIB_FLOW_SPEC_INNER = 256,\n\tIB_FLOW_SPEC_ACTION_TAG = 4096,\n\tIB_FLOW_SPEC_ACTION_DROP = 4097,\n\tIB_FLOW_SPEC_ACTION_HANDLE = 4098,\n\tIB_FLOW_SPEC_ACTION_COUNT = 4099,\n};\n\nenum ib_gid_type {\n\tIB_GID_TYPE_IB = 0,\n\tIB_GID_TYPE_ROCE = 1,\n\tIB_GID_TYPE_ROCE_UDP_ENCAP = 2,\n\tIB_GID_TYPE_SIZE = 3,\n};\n\nenum ib_mig_state {\n\tIB_MIG_MIGRATED = 0,\n\tIB_MIG_REARM = 1,\n\tIB_MIG_ARMED = 2,\n};\n\nenum ib_mr_type {\n\tIB_MR_TYPE_MEM_REG = 0,\n\tIB_MR_TYPE_SG_GAPS = 1,\n\tIB_MR_TYPE_DM = 2,\n\tIB_MR_TYPE_USER = 3,\n\tIB_MR_TYPE_DMA = 4,\n\tIB_MR_TYPE_INTEGRITY = 5,\n};\n\nenum ib_mtu {\n\tIB_MTU_256 = 1,\n\tIB_MTU_512 = 2,\n\tIB_MTU_1024 = 3,\n\tIB_MTU_2048 = 4,\n\tIB_MTU_4096 = 5,\n};\n\nenum ib_mw_type {\n\tIB_MW_TYPE_1 = 1,\n\tIB_MW_TYPE_2 = 2,\n};\n\nenum ib_poll_context {\n\tIB_POLL_SOFTIRQ = 0,\n\tIB_POLL_WORKQUEUE = 1,\n\tIB_POLL_UNBOUND_WORKQUEUE = 2,\n\tIB_POLL_LAST_POOL_TYPE = 2,\n\tIB_POLL_DIRECT = 3,\n};\n\nenum ib_port_state {\n\tIB_PORT_NOP = 0,\n\tIB_PORT_DOWN = 1,\n\tIB_PORT_INIT = 2,\n\tIB_PORT_ARMED = 3,\n\tIB_PORT_ACTIVE = 4,\n\tIB_PORT_ACTIVE_DEFER = 5,\n};\n\nenum ib_qp_state {\n\tIB_QPS_RESET = 0,\n\tIB_QPS_INIT = 1,\n\tIB_QPS_RTR = 2,\n\tIB_QPS_RTS = 3,\n\tIB_QPS_SQD = 4,\n\tIB_QPS_SQE = 5,\n\tIB_QPS_ERR = 6,\n};\n\nenum ib_qp_type {\n\tIB_QPT_SMI = 0,\n\tIB_QPT_GSI = 1,\n\tIB_QPT_RC = 2,\n\tIB_QPT_UC = 3,\n\tIB_QPT_UD = 4,\n\tIB_QPT_RAW_IPV6 = 5,\n\tIB_QPT_RAW_ETHERTYPE = 6,\n\tIB_QPT_RAW_PACKET = 8,\n\tIB_QPT_XRC_INI = 9,\n\tIB_QPT_XRC_TGT = 10,\n\tIB_QPT_MAX = 11,\n\tIB_QPT_DRIVER = 255,\n\tIB_QPT_RESERVED1 = 4096,\n\tIB_QPT_RESERVED2 = 4097,\n\tIB_QPT_RESERVED3 = 4098,\n\tIB_QPT_RESERVED4 = 4099,\n\tIB_QPT_RESERVED5 = 4100,\n\tIB_QPT_RESERVED6 = 4101,\n\tIB_QPT_RESERVED7 = 4102,\n\tIB_QPT_RESERVED8 = 4103,\n\tIB_QPT_RESERVED9 = 4104,\n\tIB_QPT_RESERVED10 = 4105,\n};\n\nenum ib_sig_err_type {\n\tIB_SIG_BAD_GUARD = 0,\n\tIB_SIG_BAD_REFTAG = 1,\n\tIB_SIG_BAD_APPTAG = 2,\n};\n\nenum ib_sig_type {\n\tIB_SIGNAL_ALL_WR = 0,\n\tIB_SIGNAL_REQ_WR = 1,\n};\n\nenum ib_signature_type {\n\tIB_SIG_TYPE_NONE = 0,\n\tIB_SIG_TYPE_T10_DIF = 1,\n};\n\nenum ib_srq_attr_mask {\n\tIB_SRQ_MAX_WR = 1,\n\tIB_SRQ_LIMIT = 2,\n};\n\nenum ib_srq_type {\n\tIB_SRQT_BASIC = 0,\n\tIB_SRQT_XRC = 1,\n\tIB_SRQT_TM = 2,\n};\n\nenum ib_t10_dif_bg_type {\n\tIB_T10DIF_CRC = 0,\n\tIB_T10DIF_CSUM = 1,\n};\n\nenum ib_uverbs_access_flags {\n\tIB_UVERBS_ACCESS_LOCAL_WRITE = 1,\n\tIB_UVERBS_ACCESS_REMOTE_WRITE = 2,\n\tIB_UVERBS_ACCESS_REMOTE_READ = 4,\n\tIB_UVERBS_ACCESS_REMOTE_ATOMIC = 8,\n\tIB_UVERBS_ACCESS_MW_BIND = 16,\n\tIB_UVERBS_ACCESS_ZERO_BASED = 32,\n\tIB_UVERBS_ACCESS_ON_DEMAND = 64,\n\tIB_UVERBS_ACCESS_HUGETLB = 128,\n\tIB_UVERBS_ACCESS_FLUSH_GLOBAL = 256,\n\tIB_UVERBS_ACCESS_FLUSH_PERSISTENT = 512,\n\tIB_UVERBS_ACCESS_RELAXED_ORDERING = 1048576,\n\tIB_UVERBS_ACCESS_OPTIONAL_RANGE = 1072693248,\n};\n\nenum ib_uverbs_advise_mr_advice {\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH = 0,\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE = 1,\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = 2,\n};\n\nenum ib_uverbs_create_qp_mask {\n\tIB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1,\n};\n\nenum ib_uverbs_device_cap_flags {\n\tIB_UVERBS_DEVICE_RESIZE_MAX_WR = 1ULL,\n\tIB_UVERBS_DEVICE_BAD_PKEY_CNTR = 2ULL,\n\tIB_UVERBS_DEVICE_BAD_QKEY_CNTR = 4ULL,\n\tIB_UVERBS_DEVICE_RAW_MULTI = 8ULL,\n\tIB_UVERBS_DEVICE_AUTO_PATH_MIG = 16ULL,\n\tIB_UVERBS_DEVICE_CHANGE_PHY_PORT = 32ULL,\n\tIB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE = 64ULL,\n\tIB_UVERBS_DEVICE_CURR_QP_STATE_MOD = 128ULL,\n\tIB_UVERBS_DEVICE_SHUTDOWN_PORT = 256ULL,\n\tIB_UVERBS_DEVICE_PORT_ACTIVE_EVENT = 1024ULL,\n\tIB_UVERBS_DEVICE_SYS_IMAGE_GUID = 2048ULL,\n\tIB_UVERBS_DEVICE_RC_RNR_NAK_GEN = 4096ULL,\n\tIB_UVERBS_DEVICE_SRQ_RESIZE = 8192ULL,\n\tIB_UVERBS_DEVICE_N_NOTIFY_CQ = 16384ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW = 131072ULL,\n\tIB_UVERBS_DEVICE_UD_IP_CSUM = 262144ULL,\n\tIB_UVERBS_DEVICE_XRC = 1048576ULL,\n\tIB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS = 2097152ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A = 8388608ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B = 16777216ULL,\n\tIB_UVERBS_DEVICE_RC_IP_CSUM = 33554432ULL,\n\tIB_UVERBS_DEVICE_RAW_IP_CSUM = 67108864ULL,\n\tIB_UVERBS_DEVICE_MANAGED_FLOW_STEERING = 536870912ULL,\n\tIB_UVERBS_DEVICE_RAW_SCATTER_FCS = 17179869184ULL,\n\tIB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = 68719476736ULL,\n\tIB_UVERBS_DEVICE_FLUSH_GLOBAL = 274877906944ULL,\n\tIB_UVERBS_DEVICE_FLUSH_PERSISTENT = 549755813888ULL,\n\tIB_UVERBS_DEVICE_ATOMIC_WRITE = 1099511627776ULL,\n};\n\nenum ib_uverbs_gid_type {\n\tIB_UVERBS_GID_TYPE_IB = 0,\n\tIB_UVERBS_GID_TYPE_ROCE_V1 = 1,\n\tIB_UVERBS_GID_TYPE_ROCE_V2 = 2,\n};\n\nenum ib_uverbs_qp_create_flags {\n\tIB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 2,\n\tIB_UVERBS_QP_CREATE_SCATTER_FCS = 256,\n\tIB_UVERBS_QP_CREATE_CVLAN_STRIPPING = 512,\n\tIB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = 2048,\n\tIB_UVERBS_QP_CREATE_SQ_SIG_ALL = 4096,\n};\n\nenum ib_uverbs_qp_type {\n\tIB_UVERBS_QPT_RC = 2,\n\tIB_UVERBS_QPT_UC = 3,\n\tIB_UVERBS_QPT_UD = 4,\n\tIB_UVERBS_QPT_RAW_PACKET = 8,\n\tIB_UVERBS_QPT_XRC_INI = 9,\n\tIB_UVERBS_QPT_XRC_TGT = 10,\n\tIB_UVERBS_QPT_DRIVER = 255,\n};\n\nenum ib_uverbs_raw_packet_caps {\n\tIB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING = 1,\n\tIB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS = 2,\n\tIB_UVERBS_RAW_PACKET_CAP_IP_CSUM = 4,\n\tIB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = 8,\n};\n\nenum ib_uverbs_srq_type {\n\tIB_UVERBS_SRQT_BASIC = 0,\n\tIB_UVERBS_SRQT_XRC = 1,\n\tIB_UVERBS_SRQT_TM = 2,\n};\n\nenum ib_uverbs_wc_opcode {\n\tIB_UVERBS_WC_SEND = 0,\n\tIB_UVERBS_WC_RDMA_WRITE = 1,\n\tIB_UVERBS_WC_RDMA_READ = 2,\n\tIB_UVERBS_WC_COMP_SWAP = 3,\n\tIB_UVERBS_WC_FETCH_ADD = 4,\n\tIB_UVERBS_WC_BIND_MW = 5,\n\tIB_UVERBS_WC_LOCAL_INV = 6,\n\tIB_UVERBS_WC_TSO = 7,\n\tIB_UVERBS_WC_FLUSH = 8,\n\tIB_UVERBS_WC_ATOMIC_WRITE = 9,\n};\n\nenum ib_uverbs_wq_flags {\n\tIB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = 1,\n\tIB_UVERBS_WQ_FLAGS_SCATTER_FCS = 2,\n\tIB_UVERBS_WQ_FLAGS_DELAY_DROP = 4,\n\tIB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = 8,\n};\n\nenum ib_uverbs_wq_type {\n\tIB_UVERBS_WQT_RQ = 0,\n};\n\nenum ib_uverbs_wr_opcode {\n\tIB_UVERBS_WR_RDMA_WRITE = 0,\n\tIB_UVERBS_WR_RDMA_WRITE_WITH_IMM = 1,\n\tIB_UVERBS_WR_SEND = 2,\n\tIB_UVERBS_WR_SEND_WITH_IMM = 3,\n\tIB_UVERBS_WR_RDMA_READ = 4,\n\tIB_UVERBS_WR_ATOMIC_CMP_AND_SWP = 5,\n\tIB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = 6,\n\tIB_UVERBS_WR_LOCAL_INV = 7,\n\tIB_UVERBS_WR_BIND_MW = 8,\n\tIB_UVERBS_WR_SEND_WITH_INV = 9,\n\tIB_UVERBS_WR_TSO = 10,\n\tIB_UVERBS_WR_RDMA_READ_WITH_INV = 11,\n\tIB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12,\n\tIB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13,\n\tIB_UVERBS_WR_FLUSH = 14,\n\tIB_UVERBS_WR_ATOMIC_WRITE = 15,\n};\n\nenum ib_uverbs_write_cmds {\n\tIB_USER_VERBS_CMD_GET_CONTEXT = 0,\n\tIB_USER_VERBS_CMD_QUERY_DEVICE = 1,\n\tIB_USER_VERBS_CMD_QUERY_PORT = 2,\n\tIB_USER_VERBS_CMD_ALLOC_PD = 3,\n\tIB_USER_VERBS_CMD_DEALLOC_PD = 4,\n\tIB_USER_VERBS_CMD_CREATE_AH = 5,\n\tIB_USER_VERBS_CMD_MODIFY_AH = 6,\n\tIB_USER_VERBS_CMD_QUERY_AH = 7,\n\tIB_USER_VERBS_CMD_DESTROY_AH = 8,\n\tIB_USER_VERBS_CMD_REG_MR = 9,\n\tIB_USER_VERBS_CMD_REG_SMR = 10,\n\tIB_USER_VERBS_CMD_REREG_MR = 11,\n\tIB_USER_VERBS_CMD_QUERY_MR = 12,\n\tIB_USER_VERBS_CMD_DEREG_MR = 13,\n\tIB_USER_VERBS_CMD_ALLOC_MW = 14,\n\tIB_USER_VERBS_CMD_BIND_MW = 15,\n\tIB_USER_VERBS_CMD_DEALLOC_MW = 16,\n\tIB_USER_VERBS_CMD_CREATE_COMP_CHANNEL = 17,\n\tIB_USER_VERBS_CMD_CREATE_CQ = 18,\n\tIB_USER_VERBS_CMD_RESIZE_CQ = 19,\n\tIB_USER_VERBS_CMD_DESTROY_CQ = 20,\n\tIB_USER_VERBS_CMD_POLL_CQ = 21,\n\tIB_USER_VERBS_CMD_PEEK_CQ = 22,\n\tIB_USER_VERBS_CMD_REQ_NOTIFY_CQ = 23,\n\tIB_USER_VERBS_CMD_CREATE_QP = 24,\n\tIB_USER_VERBS_CMD_QUERY_QP = 25,\n\tIB_USER_VERBS_CMD_MODIFY_QP = 26,\n\tIB_USER_VERBS_CMD_DESTROY_QP = 27,\n\tIB_USER_VERBS_CMD_POST_SEND = 28,\n\tIB_USER_VERBS_CMD_POST_RECV = 29,\n\tIB_USER_VERBS_CMD_ATTACH_MCAST = 30,\n\tIB_USER_VERBS_CMD_DETACH_MCAST = 31,\n\tIB_USER_VERBS_CMD_CREATE_SRQ = 32,\n\tIB_USER_VERBS_CMD_MODIFY_SRQ = 33,\n\tIB_USER_VERBS_CMD_QUERY_SRQ = 34,\n\tIB_USER_VERBS_CMD_DESTROY_SRQ = 35,\n\tIB_USER_VERBS_CMD_POST_SRQ_RECV = 36,\n\tIB_USER_VERBS_CMD_OPEN_XRCD = 37,\n\tIB_USER_VERBS_CMD_CLOSE_XRCD = 38,\n\tIB_USER_VERBS_CMD_CREATE_XSRQ = 39,\n\tIB_USER_VERBS_CMD_OPEN_QP = 40,\n};\n\nenum ib_wc_opcode {\n\tIB_WC_SEND = 0,\n\tIB_WC_RDMA_WRITE = 1,\n\tIB_WC_RDMA_READ = 2,\n\tIB_WC_COMP_SWAP = 3,\n\tIB_WC_FETCH_ADD = 4,\n\tIB_WC_BIND_MW = 5,\n\tIB_WC_LOCAL_INV = 6,\n\tIB_WC_LSO = 7,\n\tIB_WC_ATOMIC_WRITE = 9,\n\tIB_WC_REG_MR = 10,\n\tIB_WC_MASKED_COMP_SWAP = 11,\n\tIB_WC_MASKED_FETCH_ADD = 12,\n\tIB_WC_FLUSH = 8,\n\tIB_WC_RECV = 128,\n\tIB_WC_RECV_RDMA_WITH_IMM = 129,\n};\n\nenum ib_wc_status {\n\tIB_WC_SUCCESS = 0,\n\tIB_WC_LOC_LEN_ERR = 1,\n\tIB_WC_LOC_QP_OP_ERR = 2,\n\tIB_WC_LOC_EEC_OP_ERR = 3,\n\tIB_WC_LOC_PROT_ERR = 4,\n\tIB_WC_WR_FLUSH_ERR = 5,\n\tIB_WC_MW_BIND_ERR = 6,\n\tIB_WC_BAD_RESP_ERR = 7,\n\tIB_WC_LOC_ACCESS_ERR = 8,\n\tIB_WC_REM_INV_REQ_ERR = 9,\n\tIB_WC_REM_ACCESS_ERR = 10,\n\tIB_WC_REM_OP_ERR = 11,\n\tIB_WC_RETRY_EXC_ERR = 12,\n\tIB_WC_RNR_RETRY_EXC_ERR = 13,\n\tIB_WC_LOC_RDD_VIOL_ERR = 14,\n\tIB_WC_REM_INV_RD_REQ_ERR = 15,\n\tIB_WC_REM_ABORT_ERR = 16,\n\tIB_WC_INV_EECN_ERR = 17,\n\tIB_WC_INV_EEC_STATE_ERR = 18,\n\tIB_WC_FATAL_ERR = 19,\n\tIB_WC_RESP_TIMEOUT_ERR = 20,\n\tIB_WC_GENERAL_ERR = 21,\n};\n\nenum ib_wq_state {\n\tIB_WQS_RESET = 0,\n\tIB_WQS_RDY = 1,\n\tIB_WQS_ERR = 2,\n};\n\nenum ib_wq_type {\n\tIB_WQT_RQ = 0,\n};\n\nenum ib_wr_opcode {\n\tIB_WR_RDMA_WRITE = 0,\n\tIB_WR_RDMA_WRITE_WITH_IMM = 1,\n\tIB_WR_SEND = 2,\n\tIB_WR_SEND_WITH_IMM = 3,\n\tIB_WR_RDMA_READ = 4,\n\tIB_WR_ATOMIC_CMP_AND_SWP = 5,\n\tIB_WR_ATOMIC_FETCH_AND_ADD = 6,\n\tIB_WR_BIND_MW = 8,\n\tIB_WR_LSO = 10,\n\tIB_WR_SEND_WITH_INV = 9,\n\tIB_WR_RDMA_READ_WITH_INV = 11,\n\tIB_WR_LOCAL_INV = 7,\n\tIB_WR_MASKED_ATOMIC_CMP_AND_SWP = 12,\n\tIB_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13,\n\tIB_WR_FLUSH = 14,\n\tIB_WR_ATOMIC_WRITE = 15,\n\tIB_WR_REG_MR = 32,\n\tIB_WR_REG_MR_INTEGRITY = 33,\n\tIB_WR_RESERVED1 = 240,\n\tIB_WR_RESERVED2 = 241,\n\tIB_WR_RESERVED3 = 242,\n\tIB_WR_RESERVED4 = 243,\n\tIB_WR_RESERVED5 = 244,\n\tIB_WR_RESERVED6 = 245,\n\tIB_WR_RESERVED7 = 246,\n\tIB_WR_RESERVED8 = 247,\n\tIB_WR_RESERVED9 = 248,\n\tIB_WR_RESERVED10 = 249,\n};\n\nenum icl_lc_mailbox_cmd {\n\tICL_LC_GO2SX = 2,\n\tICL_LC_GO2SX_NO_WAKE = 3,\n\tICL_LC_PREPARE_FOR_RESET = 33,\n};\n\nenum icm_event_code {\n\tICM_EVENT_DEVICE_CONNECTED = 3,\n\tICM_EVENT_DEVICE_DISCONNECTED = 4,\n\tICM_EVENT_XDOMAIN_CONNECTED = 6,\n\tICM_EVENT_XDOMAIN_DISCONNECTED = 7,\n\tICM_EVENT_RTD3_VETO = 10,\n};\n\nenum icm_pkg_code {\n\tICM_GET_TOPOLOGY = 1,\n\tICM_DRIVER_READY = 3,\n\tICM_APPROVE_DEVICE = 4,\n\tICM_CHALLENGE_DEVICE = 5,\n\tICM_ADD_DEVICE_KEY = 6,\n\tICM_GET_ROUTE = 10,\n\tICM_APPROVE_XDOMAIN = 16,\n\tICM_DISCONNECT_XDOMAIN = 17,\n\tICM_PREBOOT_ACL = 24,\n\tICM_USB4_SWITCH_OP = 32,\n};\n\nenum idle_boot_override {\n\tIDLE_NO_OVERRIDE = 0,\n\tIDLE_HALT = 1,\n\tIDLE_NOMWAIT = 2,\n\tIDLE_POLL = 3,\n};\n\nenum ieee1284_phase {\n\tIEEE1284_PH_FWD_DATA = 0,\n\tIEEE1284_PH_FWD_IDLE = 1,\n\tIEEE1284_PH_TERMINATE = 2,\n\tIEEE1284_PH_NEGOTIATION = 3,\n\tIEEE1284_PH_HBUSY_DNA = 4,\n\tIEEE1284_PH_REV_IDLE = 5,\n\tIEEE1284_PH_HBUSY_DAVAIL = 6,\n\tIEEE1284_PH_REV_DATA = 7,\n\tIEEE1284_PH_ECP_SETUP = 8,\n\tIEEE1284_PH_ECP_FWD_TO_REV = 9,\n\tIEEE1284_PH_ECP_REV_TO_FWD = 10,\n\tIEEE1284_PH_ECP_DIR_UNKNOWN = 11,\n};\n\nenum ieee80211_bss_type {\n\tIEEE80211_BSS_TYPE_ESS = 0,\n\tIEEE80211_BSS_TYPE_PBSS = 1,\n\tIEEE80211_BSS_TYPE_IBSS = 2,\n\tIEEE80211_BSS_TYPE_MBSS = 3,\n\tIEEE80211_BSS_TYPE_ANY = 4,\n};\n\nenum ieee80211_edmg_bw_config {\n\tIEEE80211_EDMG_BW_CONFIG_4 = 4,\n\tIEEE80211_EDMG_BW_CONFIG_5 = 5,\n\tIEEE80211_EDMG_BW_CONFIG_6 = 6,\n\tIEEE80211_EDMG_BW_CONFIG_7 = 7,\n\tIEEE80211_EDMG_BW_CONFIG_8 = 8,\n\tIEEE80211_EDMG_BW_CONFIG_9 = 9,\n\tIEEE80211_EDMG_BW_CONFIG_10 = 10,\n\tIEEE80211_EDMG_BW_CONFIG_11 = 11,\n\tIEEE80211_EDMG_BW_CONFIG_12 = 12,\n\tIEEE80211_EDMG_BW_CONFIG_13 = 13,\n\tIEEE80211_EDMG_BW_CONFIG_14 = 14,\n\tIEEE80211_EDMG_BW_CONFIG_15 = 15,\n};\n\nenum ifla_vxlan_df {\n\tVXLAN_DF_UNSET = 0,\n\tVXLAN_DF_SET = 1,\n\tVXLAN_DF_INHERIT = 2,\n\t__VXLAN_DF_END = 3,\n\tVXLAN_DF_MAX = 2,\n};\n\nenum ifla_vxlan_label_policy {\n\tVXLAN_LABEL_FIXED = 0,\n\tVXLAN_LABEL_INHERIT = 1,\n\t__VXLAN_LABEL_END = 2,\n\tVXLAN_LABEL_MAX = 1,\n};\n\nenum igb_boards {\n\tboard_82575 = 0,\n};\n\nenum igb_diagnostics_results {\n\tTEST_REG = 0,\n\tTEST_EEP = 1,\n\tTEST_IRQ = 2,\n\tTEST_LOOP = 3,\n\tTEST_LINK = 4,\n};\n\nenum igb_filter_match_flags {\n\tIGB_FILTER_FLAG_ETHER_TYPE = 1,\n\tIGB_FILTER_FLAG_VLAN_TCI = 2,\n\tIGB_FILTER_FLAG_SRC_MAC_ADDR = 4,\n\tIGB_FILTER_FLAG_DST_MAC_ADDR = 8,\n};\n\nenum igb_tx_buf_type {\n\tIGB_TYPE_SKB = 0,\n\tIGB_TYPE_XDP = 1,\n\tIGB_TYPE_XSK = 2,\n};\n\nenum igb_tx_flags {\n\tIGB_TX_FLAGS_VLAN = 1,\n\tIGB_TX_FLAGS_TSO = 2,\n\tIGB_TX_FLAGS_TSTAMP = 4,\n\tIGB_TX_FLAGS_IPV4 = 16,\n\tIGB_TX_FLAGS_CSUM = 32,\n};\n\nenum in6_addr_gen_mode {\n\tIN6_ADDR_GEN_MODE_EUI64 = 0,\n\tIN6_ADDR_GEN_MODE_NONE = 1,\n\tIN6_ADDR_GEN_MODE_STABLE_PRIVACY = 2,\n\tIN6_ADDR_GEN_MODE_RANDOM = 3,\n};\n\nenum inet_csk_ack_state_t {\n\tICSK_ACK_SCHED = 1,\n\tICSK_ACK_TIMER = 2,\n\tICSK_ACK_PUSHED = 4,\n\tICSK_ACK_PUSHED2 = 8,\n\tICSK_ACK_NOW = 16,\n\tICSK_ACK_NOMEM = 32,\n};\n\nenum inode_i_mutex_lock_class {\n\tI_MUTEX_NORMAL = 0,\n\tI_MUTEX_PARENT = 1,\n\tI_MUTEX_CHILD = 2,\n\tI_MUTEX_XATTR = 3,\n\tI_MUTEX_NONDIR2 = 4,\n\tI_MUTEX_PARENT2 = 5,\n};\n\nenum inode_state {\n\tinode_state_no_change = 0,\n\tinode_state_will_create = 1,\n\tinode_state_did_create = 2,\n\tinode_state_will_delete = 3,\n\tinode_state_did_delete = 4,\n};\n\nenum inplace_mode {\n\tOUT_OF_PLACE = 0,\n\tINPLACE_ONE_SGLIST = 1,\n\tINPLACE_TWO_SGLISTS = 2,\n};\n\nenum input_clock_type {\n\tINPUT_CLK_REAL = 0,\n\tINPUT_CLK_MONO = 1,\n\tINPUT_CLK_BOOT = 2,\n\tINPUT_CLK_MAX = 3,\n};\n\nenum invtlb_ops {\n\tINVTLB_ALL = 0,\n\tINVTLB_CURRENT_ALL = 1,\n\tINVTLB_CURRENT_GTRUE = 2,\n\tINVTLB_CURRENT_GFALSE = 3,\n\tINVTLB_GFALSE_AND_ASID = 4,\n\tINVTLB_ADDR_GFALSE_AND_ASID = 5,\n\tINVTLB_ADDR_GTRUE_OR_ASID = 6,\n\tINVGTLB_GID = 9,\n\tINVGTLB_GID_GTRUE = 10,\n\tINVGTLB_GID_GFALSE = 11,\n\tINVGTLB_GID_GFALSE_ASID = 12,\n\tINVGTLB_GID_GFALSE_ASID_ADDR = 13,\n\tINVGTLB_GID_GTRUE_ASID_ADDR = 14,\n\tINVGTLB_ALLGID_GVA_TO_GPA = 16,\n\tINVTLB_ALLGID_GPA_TO_HPA = 17,\n\tINVTLB_ALLGID = 18,\n\tINVGTLB_GID_GVA_TO_GPA = 19,\n\tINVTLB_GID_GPA_TO_HPA = 20,\n\tINVTLB_GID_ALL = 21,\n\tINVTLB_GID_ADDR = 22,\n};\n\nenum io_uring_cmd_flags {\n\tIO_URING_F_COMPLETE_DEFER = 1,\n\tIO_URING_F_UNLOCKED = 2,\n\tIO_URING_F_MULTISHOT = 4,\n\tIO_URING_F_IOWQ = 8,\n\tIO_URING_F_NONBLOCK = -2147483648,\n\tIO_URING_F_SQE128 = 256,\n\tIO_URING_F_CQE32 = 512,\n\tIO_URING_F_IOPOLL = 1024,\n\tIO_URING_F_CANCEL = 2048,\n\tIO_URING_F_COMPAT = 4096,\n\tIO_URING_F_TASK_DEAD = 8192,\n};\n\nenum io_uring_msg_ring_flags {\n\tIORING_MSG_DATA = 0,\n\tIORING_MSG_SEND_FD = 1,\n};\n\nenum io_uring_napi_op {\n\tIO_URING_NAPI_REGISTER_OP = 0,\n\tIO_URING_NAPI_STATIC_ADD_ID = 1,\n\tIO_URING_NAPI_STATIC_DEL_ID = 2,\n};\n\nenum io_uring_napi_tracking_strategy {\n\tIO_URING_NAPI_TRACKING_DYNAMIC = 0,\n\tIO_URING_NAPI_TRACKING_STATIC = 1,\n\tIO_URING_NAPI_TRACKING_INACTIVE = 255,\n};\n\nenum io_uring_op {\n\tIORING_OP_NOP = 0,\n\tIORING_OP_READV = 1,\n\tIORING_OP_WRITEV = 2,\n\tIORING_OP_FSYNC = 3,\n\tIORING_OP_READ_FIXED = 4,\n\tIORING_OP_WRITE_FIXED = 5,\n\tIORING_OP_POLL_ADD = 6,\n\tIORING_OP_POLL_REMOVE = 7,\n\tIORING_OP_SYNC_FILE_RANGE = 8,\n\tIORING_OP_SENDMSG = 9,\n\tIORING_OP_RECVMSG = 10,\n\tIORING_OP_TIMEOUT = 11,\n\tIORING_OP_TIMEOUT_REMOVE = 12,\n\tIORING_OP_ACCEPT = 13,\n\tIORING_OP_ASYNC_CANCEL = 14,\n\tIORING_OP_LINK_TIMEOUT = 15,\n\tIORING_OP_CONNECT = 16,\n\tIORING_OP_FALLOCATE = 17,\n\tIORING_OP_OPENAT = 18,\n\tIORING_OP_CLOSE = 19,\n\tIORING_OP_FILES_UPDATE = 20,\n\tIORING_OP_STATX = 21,\n\tIORING_OP_READ = 22,\n\tIORING_OP_WRITE = 23,\n\tIORING_OP_FADVISE = 24,\n\tIORING_OP_MADVISE = 25,\n\tIORING_OP_SEND = 26,\n\tIORING_OP_RECV = 27,\n\tIORING_OP_OPENAT2 = 28,\n\tIORING_OP_EPOLL_CTL = 29,\n\tIORING_OP_SPLICE = 30,\n\tIORING_OP_PROVIDE_BUFFERS = 31,\n\tIORING_OP_REMOVE_BUFFERS = 32,\n\tIORING_OP_TEE = 33,\n\tIORING_OP_SHUTDOWN = 34,\n\tIORING_OP_RENAMEAT = 35,\n\tIORING_OP_UNLINKAT = 36,\n\tIORING_OP_MKDIRAT = 37,\n\tIORING_OP_SYMLINKAT = 38,\n\tIORING_OP_LINKAT = 39,\n\tIORING_OP_MSG_RING = 40,\n\tIORING_OP_FSETXATTR = 41,\n\tIORING_OP_SETXATTR = 42,\n\tIORING_OP_FGETXATTR = 43,\n\tIORING_OP_GETXATTR = 44,\n\tIORING_OP_SOCKET = 45,\n\tIORING_OP_URING_CMD = 46,\n\tIORING_OP_SEND_ZC = 47,\n\tIORING_OP_SENDMSG_ZC = 48,\n\tIORING_OP_READ_MULTISHOT = 49,\n\tIORING_OP_WAITID = 50,\n\tIORING_OP_FUTEX_WAIT = 51,\n\tIORING_OP_FUTEX_WAKE = 52,\n\tIORING_OP_FUTEX_WAITV = 53,\n\tIORING_OP_FIXED_FD_INSTALL = 54,\n\tIORING_OP_FTRUNCATE = 55,\n\tIORING_OP_BIND = 56,\n\tIORING_OP_LISTEN = 57,\n\tIORING_OP_LAST = 58,\n};\n\nenum io_uring_register_op {\n\tIORING_REGISTER_BUFFERS = 0,\n\tIORING_UNREGISTER_BUFFERS = 1,\n\tIORING_REGISTER_FILES = 2,\n\tIORING_UNREGISTER_FILES = 3,\n\tIORING_REGISTER_EVENTFD = 4,\n\tIORING_UNREGISTER_EVENTFD = 5,\n\tIORING_REGISTER_FILES_UPDATE = 6,\n\tIORING_REGISTER_EVENTFD_ASYNC = 7,\n\tIORING_REGISTER_PROBE = 8,\n\tIORING_REGISTER_PERSONALITY = 9,\n\tIORING_UNREGISTER_PERSONALITY = 10,\n\tIORING_REGISTER_RESTRICTIONS = 11,\n\tIORING_REGISTER_ENABLE_RINGS = 12,\n\tIORING_REGISTER_FILES2 = 13,\n\tIORING_REGISTER_FILES_UPDATE2 = 14,\n\tIORING_REGISTER_BUFFERS2 = 15,\n\tIORING_REGISTER_BUFFERS_UPDATE = 16,\n\tIORING_REGISTER_IOWQ_AFF = 17,\n\tIORING_UNREGISTER_IOWQ_AFF = 18,\n\tIORING_REGISTER_IOWQ_MAX_WORKERS = 19,\n\tIORING_REGISTER_RING_FDS = 20,\n\tIORING_UNREGISTER_RING_FDS = 21,\n\tIORING_REGISTER_PBUF_RING = 22,\n\tIORING_UNREGISTER_PBUF_RING = 23,\n\tIORING_REGISTER_SYNC_CANCEL = 24,\n\tIORING_REGISTER_FILE_ALLOC_RANGE = 25,\n\tIORING_REGISTER_PBUF_STATUS = 26,\n\tIORING_REGISTER_NAPI = 27,\n\tIORING_UNREGISTER_NAPI = 28,\n\tIORING_REGISTER_CLOCK = 29,\n\tIORING_REGISTER_CLONE_BUFFERS = 30,\n\tIORING_REGISTER_SEND_MSG_RING = 31,\n\tIORING_REGISTER_RESIZE_RINGS = 33,\n\tIORING_REGISTER_MEM_REGION = 34,\n\tIORING_REGISTER_LAST = 35,\n\tIORING_REGISTER_USE_REGISTERED_RING = 2147483648,\n};\n\nenum io_uring_register_pbuf_ring_flags {\n\tIOU_PBUF_RING_MMAP = 1,\n\tIOU_PBUF_RING_INC = 2,\n};\n\nenum io_uring_register_restriction_op {\n\tIORING_RESTRICTION_REGISTER_OP = 0,\n\tIORING_RESTRICTION_SQE_OP = 1,\n\tIORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2,\n\tIORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3,\n\tIORING_RESTRICTION_LAST = 4,\n};\n\nenum io_uring_socket_op {\n\tSOCKET_URING_OP_SIOCINQ = 0,\n\tSOCKET_URING_OP_SIOCOUTQ = 1,\n\tSOCKET_URING_OP_GETSOCKOPT = 2,\n\tSOCKET_URING_OP_SETSOCKOPT = 3,\n};\n\nenum io_uring_sqe_flags_bit {\n\tIOSQE_FIXED_FILE_BIT = 0,\n\tIOSQE_IO_DRAIN_BIT = 1,\n\tIOSQE_IO_LINK_BIT = 2,\n\tIOSQE_IO_HARDLINK_BIT = 3,\n\tIOSQE_ASYNC_BIT = 4,\n\tIOSQE_BUFFER_SELECT_BIT = 5,\n\tIOSQE_CQE_SKIP_SUCCESS_BIT = 6,\n};\n\nenum io_wq_cancel {\n\tIO_WQ_CANCEL_OK = 0,\n\tIO_WQ_CANCEL_RUNNING = 1,\n\tIO_WQ_CANCEL_NOTFOUND = 2,\n};\n\nenum io_wq_type {\n\tIO_WQ_BOUND = 0,\n\tIO_WQ_UNBOUND = 1,\n};\n\nenum ioam6_event_attr {\n\tIOAM6_EVENT_ATTR_UNSPEC = 0,\n\tIOAM6_EVENT_ATTR_TRACE_NAMESPACE = 1,\n\tIOAM6_EVENT_ATTR_TRACE_NODELEN = 2,\n\tIOAM6_EVENT_ATTR_TRACE_TYPE = 3,\n\tIOAM6_EVENT_ATTR_TRACE_DATA = 4,\n\t__IOAM6_EVENT_ATTR_MAX = 5,\n};\n\nenum ioam6_event_type {\n\tIOAM6_EVENT_UNSPEC = 0,\n\tIOAM6_EVENT_TRACE = 1,\n};\n\nenum ioc_running {\n\tIOC_IDLE = 0,\n\tIOC_RUNNING = 1,\n\tIOC_STOP = 2,\n};\n\nenum iommu_cap {\n\tIOMMU_CAP_CACHE_COHERENCY = 0,\n\tIOMMU_CAP_NOEXEC = 1,\n\tIOMMU_CAP_PRE_BOOT_PROTECTION = 2,\n\tIOMMU_CAP_ENFORCE_CACHE_COHERENCY = 3,\n\tIOMMU_CAP_DEFERRED_FLUSH = 4,\n\tIOMMU_CAP_DIRTY_TRACKING = 5,\n};\n\nenum iommu_dev_features {\n\tIOMMU_DEV_FEAT_SVA = 0,\n\tIOMMU_DEV_FEAT_IOPF = 1,\n};\n\nenum iommu_resv_type {\n\tIOMMU_RESV_DIRECT = 0,\n\tIOMMU_RESV_DIRECT_RELAXABLE = 1,\n\tIOMMU_RESV_RESERVED = 2,\n\tIOMMU_RESV_MSI = 3,\n\tIOMMU_RESV_SW_MSI = 4,\n};\n\nenum iommufd_hwpt_alloc_flags {\n\tIOMMU_HWPT_ALLOC_NEST_PARENT = 1,\n\tIOMMU_HWPT_ALLOC_DIRTY_TRACKING = 2,\n\tIOMMU_HWPT_FAULT_ID_VALID = 4,\n\tIOMMU_HWPT_ALLOC_PASID = 8,\n};\n\nenum ip6_defrag_users {\n\tIP6_DEFRAG_LOCAL_DELIVER = 0,\n\tIP6_DEFRAG_CONNTRACK_IN = 1,\n\t__IP6_DEFRAG_CONNTRACK_IN = 65536,\n\tIP6_DEFRAG_CONNTRACK_OUT = 65537,\n\t__IP6_DEFRAG_CONNTRACK_OUT = 131072,\n\tIP6_DEFRAG_CONNTRACK_BRIDGE_IN = 131073,\n\t__IP6_DEFRAG_CONNTRACK_BRIDGE_IN = 196608,\n};\n\nenum ip_conntrack_dir {\n\tIP_CT_DIR_ORIGINAL = 0,\n\tIP_CT_DIR_REPLY = 1,\n\tIP_CT_DIR_MAX = 2,\n};\n\nenum ip_conntrack_info {\n\tIP_CT_ESTABLISHED = 0,\n\tIP_CT_RELATED = 1,\n\tIP_CT_NEW = 2,\n\tIP_CT_IS_REPLY = 3,\n\tIP_CT_ESTABLISHED_REPLY = 3,\n\tIP_CT_RELATED_REPLY = 4,\n\tIP_CT_NUMBER = 5,\n\tIP_CT_UNTRACKED = 7,\n};\n\nenum ip_conntrack_status {\n\tIPS_EXPECTED_BIT = 0,\n\tIPS_EXPECTED = 1,\n\tIPS_SEEN_REPLY_BIT = 1,\n\tIPS_SEEN_REPLY = 2,\n\tIPS_ASSURED_BIT = 2,\n\tIPS_ASSURED = 4,\n\tIPS_CONFIRMED_BIT = 3,\n\tIPS_CONFIRMED = 8,\n\tIPS_SRC_NAT_BIT = 4,\n\tIPS_SRC_NAT = 16,\n\tIPS_DST_NAT_BIT = 5,\n\tIPS_DST_NAT = 32,\n\tIPS_NAT_MASK = 48,\n\tIPS_SEQ_ADJUST_BIT = 6,\n\tIPS_SEQ_ADJUST = 64,\n\tIPS_SRC_NAT_DONE_BIT = 7,\n\tIPS_SRC_NAT_DONE = 128,\n\tIPS_DST_NAT_DONE_BIT = 8,\n\tIPS_DST_NAT_DONE = 256,\n\tIPS_NAT_DONE_MASK = 384,\n\tIPS_DYING_BIT = 9,\n\tIPS_DYING = 512,\n\tIPS_FIXED_TIMEOUT_BIT = 10,\n\tIPS_FIXED_TIMEOUT = 1024,\n\tIPS_TEMPLATE_BIT = 11,\n\tIPS_TEMPLATE = 2048,\n\tIPS_UNTRACKED_BIT = 12,\n\tIPS_UNTRACKED = 4096,\n\tIPS_NAT_CLASH_BIT = 12,\n\tIPS_NAT_CLASH = 4096,\n\tIPS_HELPER_BIT = 13,\n\tIPS_HELPER = 8192,\n\tIPS_OFFLOAD_BIT = 14,\n\tIPS_OFFLOAD = 16384,\n\tIPS_HW_OFFLOAD_BIT = 15,\n\tIPS_HW_OFFLOAD = 32768,\n\tIPS_UNCHANGEABLE_MASK = 56313,\n\t__IPS_MAX_BIT = 16,\n};\n\nenum ip_defrag_users {\n\tIP_DEFRAG_LOCAL_DELIVER = 0,\n\tIP_DEFRAG_CALL_RA_CHAIN = 1,\n\tIP_DEFRAG_CONNTRACK_IN = 2,\n\t__IP_DEFRAG_CONNTRACK_IN_END = 65537,\n\tIP_DEFRAG_CONNTRACK_OUT = 65538,\n\t__IP_DEFRAG_CONNTRACK_OUT_END = 131073,\n\tIP_DEFRAG_CONNTRACK_BRIDGE_IN = 131074,\n\t__IP_DEFRAG_CONNTRACK_BRIDGE_IN = 196609,\n\tIP_DEFRAG_VS_IN = 196610,\n\tIP_DEFRAG_VS_OUT = 196611,\n\tIP_DEFRAG_VS_FWD = 196612,\n\tIP_DEFRAG_AF_PACKET = 196613,\n\tIP_DEFRAG_MACVLAN = 196614,\n};\n\nenum ipi_msg_type {\n\tIPI_RESCHEDULE = 0,\n\tIPI_CALL_FUNCTION = 1,\n\tIPI_IRQ_WORK = 2,\n\tIPI_CLEAR_VECTOR = 3,\n};\n\nenum ipmi_addr_space {\n\tIPMI_IO_ADDR_SPACE = 0,\n\tIPMI_MEM_ADDR_SPACE = 1,\n};\n\nenum ipmi_addr_src {\n\tSI_INVALID = 0,\n\tSI_HOTMOD = 1,\n\tSI_HARDCODED = 2,\n\tSI_SPMI = 3,\n\tSI_ACPI = 4,\n\tSI_SMBIOS = 5,\n\tSI_PCI = 6,\n\tSI_DEVICETREE = 7,\n\tSI_PLATFORM = 8,\n\tSI_LAST = 9,\n};\n\nenum ipmi_plat_interface_type {\n\tIPMI_PLAT_IF_SI = 0,\n\tIPMI_PLAT_IF_SSIF = 1,\n};\n\nenum irq_domain_bus_token {\n\tDOMAIN_BUS_ANY = 0,\n\tDOMAIN_BUS_WIRED = 1,\n\tDOMAIN_BUS_GENERIC_MSI = 2,\n\tDOMAIN_BUS_PCI_MSI = 3,\n\tDOMAIN_BUS_PLATFORM_MSI = 4,\n\tDOMAIN_BUS_NEXUS = 5,\n\tDOMAIN_BUS_IPI = 6,\n\tDOMAIN_BUS_FSL_MC_MSI = 7,\n\tDOMAIN_BUS_TI_SCI_INTA_MSI = 8,\n\tDOMAIN_BUS_WAKEUP = 9,\n\tDOMAIN_BUS_VMD_MSI = 10,\n\tDOMAIN_BUS_PCI_DEVICE_MSI = 11,\n\tDOMAIN_BUS_PCI_DEVICE_MSIX = 12,\n\tDOMAIN_BUS_DMAR = 13,\n\tDOMAIN_BUS_AMDVI = 14,\n\tDOMAIN_BUS_DEVICE_MSI = 15,\n\tDOMAIN_BUS_WIRED_TO_MSI = 16,\n};\n\nenum irq_gc_flags {\n\tIRQ_GC_INIT_MASK_CACHE = 1,\n\tIRQ_GC_INIT_NESTED_LOCK = 2,\n\tIRQ_GC_MASK_CACHE_PER_TYPE = 4,\n\tIRQ_GC_NO_MASK = 8,\n\tIRQ_GC_BE_IO = 16,\n};\n\nenum irqchip_irq_state {\n\tIRQCHIP_STATE_PENDING = 0,\n\tIRQCHIP_STATE_ACTIVE = 1,\n\tIRQCHIP_STATE_MASKED = 2,\n\tIRQCHIP_STATE_LINE_LEVEL = 3,\n};\n\nenum irqreturn {\n\tIRQ_NONE = 0,\n\tIRQ_HANDLED = 1,\n\tIRQ_WAKE_THREAD = 2,\n};\n\ntypedef enum irqreturn irqreturn_t;\n\nenum isofs_file_format {\n\tisofs_file_normal = 0,\n\tisofs_file_sparse = 1,\n\tisofs_file_compressed = 2,\n};\n\nenum iter_type {\n\tITER_UBUF = 0,\n\tITER_IOVEC = 1,\n\tITER_BVEC = 2,\n\tITER_KVEC = 3,\n\tITER_FOLIOQ = 4,\n\tITER_XARRAY = 5,\n\tITER_DISCARD = 6,\n};\n\nenum ixgbe_aci_err {\n\tIXGBE_ACI_RC_OK = 0,\n\tIXGBE_ACI_RC_EPERM = 1,\n\tIXGBE_ACI_RC_ENOENT = 2,\n\tIXGBE_ACI_RC_ESRCH = 3,\n\tIXGBE_ACI_RC_EINTR = 4,\n\tIXGBE_ACI_RC_EIO = 5,\n\tIXGBE_ACI_RC_ENXIO = 6,\n\tIXGBE_ACI_RC_E2BIG = 7,\n\tIXGBE_ACI_RC_EAGAIN = 8,\n\tIXGBE_ACI_RC_ENOMEM = 9,\n\tIXGBE_ACI_RC_EACCES = 10,\n\tIXGBE_ACI_RC_EFAULT = 11,\n\tIXGBE_ACI_RC_EBUSY = 12,\n\tIXGBE_ACI_RC_EEXIST = 13,\n\tIXGBE_ACI_RC_EINVAL = 14,\n\tIXGBE_ACI_RC_ENOTTY = 15,\n\tIXGBE_ACI_RC_ENOSPC = 16,\n\tIXGBE_ACI_RC_ENOSYS = 17,\n\tIXGBE_ACI_RC_ERANGE = 18,\n\tIXGBE_ACI_RC_EFLUSHED = 19,\n\tIXGBE_ACI_RC_BAD_ADDR = 20,\n\tIXGBE_ACI_RC_EMODE = 21,\n\tIXGBE_ACI_RC_EFBIG = 22,\n\tIXGBE_ACI_RC_ESBCOMP = 23,\n\tIXGBE_ACI_RC_ENOSEC = 24,\n\tIXGBE_ACI_RC_EBADSIG = 25,\n\tIXGBE_ACI_RC_ESVN = 26,\n\tIXGBE_ACI_RC_EBADMAN = 27,\n\tIXGBE_ACI_RC_EBADBUF = 28,\n\tIXGBE_ACI_RC_EACCES_BMCU = 29,\n};\n\nenum ixgbe_aci_opc {\n\tixgbe_aci_opc_get_ver = 1,\n\tixgbe_aci_opc_driver_ver = 2,\n\tixgbe_aci_opc_get_exp_err = 5,\n\tixgbe_aci_opc_req_res = 8,\n\tixgbe_aci_opc_release_res = 9,\n\tixgbe_aci_opc_list_func_caps = 10,\n\tixgbe_aci_opc_list_dev_caps = 11,\n\tixgbe_aci_opc_disable_rxen = 12,\n\tixgbe_aci_opc_get_fw_event = 20,\n\tixgbe_aci_opc_get_phy_caps = 1536,\n\tixgbe_aci_opc_set_phy_cfg = 1537,\n\tixgbe_aci_opc_restart_an = 1541,\n\tixgbe_aci_opc_get_link_status = 1543,\n\tixgbe_aci_opc_set_event_mask = 1555,\n\tixgbe_aci_opc_get_link_topo = 1760,\n\tixgbe_aci_opc_get_link_topo_pin = 1761,\n\tixgbe_aci_opc_read_i2c = 1762,\n\tixgbe_aci_opc_write_i2c = 1763,\n\tixgbe_aci_opc_read_mdio = 1764,\n\tixgbe_aci_opc_write_mdio = 1765,\n\tixgbe_aci_opc_set_gpio_by_func = 1766,\n\tixgbe_aci_opc_get_gpio_by_func = 1767,\n\tixgbe_aci_opc_set_gpio = 1772,\n\tixgbe_aci_opc_get_gpio = 1773,\n\tixgbe_aci_opc_sff_eeprom = 1774,\n\tixgbe_aci_opc_prog_topo_dev_nvm = 1778,\n\tixgbe_aci_opc_read_topo_dev_nvm = 1779,\n\tixgbe_aci_opc_nvm_read = 1793,\n\tixgbe_aci_opc_nvm_erase = 1794,\n\tixgbe_aci_opc_nvm_write = 1795,\n\tixgbe_aci_opc_nvm_cfg_read = 1796,\n\tixgbe_aci_opc_nvm_cfg_write = 1797,\n\tixgbe_aci_opc_nvm_checksum = 1798,\n\tixgbe_aci_opc_nvm_write_activate = 1799,\n\tixgbe_aci_opc_nvm_sr_dump = 1799,\n\tixgbe_aci_opc_nvm_save_factory_settings = 1800,\n\tixgbe_aci_opc_nvm_update_empr = 1801,\n\tixgbe_aci_opc_nvm_pkg_data = 1802,\n\tixgbe_aci_opc_nvm_pass_component_tbl = 1803,\n\tixgbe_aci_opc_write_alt_direct = 2304,\n\tixgbe_aci_opc_write_alt_indirect = 2305,\n\tixgbe_aci_opc_read_alt_direct = 2306,\n\tixgbe_aci_opc_read_alt_indirect = 2307,\n\tixgbe_aci_opc_done_alt_write = 2308,\n\tixgbe_aci_opc_clear_port_alt_write = 2310,\n\tixgbe_aci_opc_debug_dump_internals = 65288,\n\tixgbe_aci_opc_set_health_status_config = 65312,\n\tixgbe_aci_opc_get_supported_health_status_codes = 65313,\n\tixgbe_aci_opc_get_health_status = 65314,\n\tixgbe_aci_opc_clear_health_status = 65315,\n};\n\nenum ixgbe_aci_res_access_type {\n\tIXGBE_RES_READ = 1,\n\tIXGBE_RES_WRITE = 2,\n};\n\nenum ixgbe_aci_res_ids {\n\tIXGBE_NVM_RES_ID = 1,\n\tIXGBE_SPD_RES_ID = 2,\n\tIXGBE_CHANGE_LOCK_RES_ID = 3,\n\tIXGBE_GLOBAL_CFG_LOCK_RES_ID = 4,\n};\n\nenum ixgbe_atr_flow_type {\n\tIXGBE_ATR_FLOW_TYPE_IPV4 = 0,\n\tIXGBE_ATR_FLOW_TYPE_UDPV4 = 1,\n\tIXGBE_ATR_FLOW_TYPE_TCPV4 = 2,\n\tIXGBE_ATR_FLOW_TYPE_SCTPV4 = 3,\n\tIXGBE_ATR_FLOW_TYPE_IPV6 = 4,\n\tIXGBE_ATR_FLOW_TYPE_UDPV6 = 5,\n\tIXGBE_ATR_FLOW_TYPE_TCPV6 = 6,\n\tIXGBE_ATR_FLOW_TYPE_SCTPV6 = 7,\n};\n\nenum ixgbe_boards {\n\tboard_82598 = 0,\n\tboard_82599 = 1,\n\tboard_X540 = 2,\n\tboard_X550 = 3,\n\tboard_X550EM_x = 4,\n\tboard_x550em_x_fw = 5,\n\tboard_x550em_a = 6,\n\tboard_x550em_a_fw = 7,\n\tboard_e610 = 8,\n};\n\nenum ixgbe_bus_speed {\n\tixgbe_bus_speed_unknown = 0,\n\tixgbe_bus_speed_33 = 33,\n\tixgbe_bus_speed_66 = 66,\n\tixgbe_bus_speed_100 = 100,\n\tixgbe_bus_speed_120 = 120,\n\tixgbe_bus_speed_133 = 133,\n\tixgbe_bus_speed_2500 = 2500,\n\tixgbe_bus_speed_5000 = 5000,\n\tixgbe_bus_speed_8000 = 8000,\n\tixgbe_bus_speed_reserved = 8001,\n};\n\nenum ixgbe_bus_type {\n\tixgbe_bus_type_unknown = 0,\n\tixgbe_bus_type_pci_express = 1,\n\tixgbe_bus_type_internal = 2,\n\tixgbe_bus_type_reserved = 3,\n};\n\nenum ixgbe_bus_width {\n\tixgbe_bus_width_unknown = 0,\n\tixgbe_bus_width_pcie_x1 = 1,\n\tixgbe_bus_width_pcie_x2 = 2,\n\tixgbe_bus_width_pcie_x4 = 4,\n\tixgbe_bus_width_pcie_x8 = 8,\n\tixgbe_bus_width_32 = 32,\n\tixgbe_bus_width_64 = 64,\n\tixgbe_bus_width_reserved = 65,\n};\n\nenum ixgbe_eeprom_type {\n\tixgbe_eeprom_uninitialized = 0,\n\tixgbe_eeprom_spi = 1,\n\tixgbe_flash = 2,\n\tixgbe_eeprom_none = 3,\n};\n\nenum ixgbe_fc_mode {\n\tixgbe_fc_none = 0,\n\tixgbe_fc_rx_pause = 1,\n\tixgbe_fc_tx_pause = 2,\n\tixgbe_fc_full = 3,\n\tixgbe_fc_default = 4,\n\tixgbe_fc_pfc = 5,\n};\n\nenum ixgbe_fdir_pballoc_type {\n\tIXGBE_FDIR_PBALLOC_NONE = 0,\n\tIXGBE_FDIR_PBALLOC_64K = 1,\n\tIXGBE_FDIR_PBALLOC_128K = 2,\n\tIXGBE_FDIR_PBALLOC_256K = 3,\n};\n\nenum ixgbe_flash_bank {\n\tIXGBE_INVALID_FLASH_BANK = 0,\n\tIXGBE_1ST_FLASH_BANK = 1,\n\tIXGBE_2ND_FLASH_BANK = 2,\n};\n\nenum ixgbe_ipsec_tbl_sel {\n\tips_rx_ip_tbl = 1,\n\tips_rx_spi_tbl = 2,\n\tips_rx_key_tbl = 3,\n};\n\nenum ixgbe_mac_type {\n\tixgbe_mac_unknown = 0,\n\tixgbe_mac_82598EB = 1,\n\tixgbe_mac_82599EB = 2,\n\tixgbe_mac_X540 = 3,\n\tixgbe_mac_X550 = 4,\n\tixgbe_mac_X550EM_x = 5,\n\tixgbe_mac_x550em_a = 6,\n\tixgbe_mac_e610 = 7,\n\tixgbe_mac_e610_vf = 8,\n\tixgbe_num_macs = 9,\n};\n\nenum ixgbe_media_type {\n\tixgbe_media_type_unknown = 0,\n\tixgbe_media_type_fiber = 1,\n\tixgbe_media_type_fiber_qsfp = 2,\n\tixgbe_media_type_fiber_lco = 3,\n\tixgbe_media_type_copper = 4,\n\tixgbe_media_type_backplane = 5,\n\tixgbe_media_type_cx4 = 6,\n\tixgbe_media_type_virtual = 7,\n\tixgbe_media_type_da = 8,\n\tixgbe_media_type_aui = 9,\n};\n\nenum ixgbe_mvals {\n\tIXGBE_EEC_IDX = 0,\n\tIXGBE_FLA_IDX = 1,\n\tIXGBE_GRC_IDX = 2,\n\tIXGBE_FACTPS_IDX = 3,\n\tIXGBE_SWSM_IDX = 4,\n\tIXGBE_SWFW_SYNC_IDX = 5,\n\tIXGBE_FWSM_IDX = 6,\n\tIXGBE_SDP0_GPIEN_IDX = 7,\n\tIXGBE_SDP1_GPIEN_IDX = 8,\n\tIXGBE_SDP2_GPIEN_IDX = 9,\n\tIXGBE_EICR_GPI_SDP0_IDX = 10,\n\tIXGBE_EICR_GPI_SDP1_IDX = 11,\n\tIXGBE_EICR_GPI_SDP2_IDX = 12,\n\tIXGBE_CIAA_IDX = 13,\n\tIXGBE_CIAD_IDX = 14,\n\tIXGBE_I2C_CLK_IN_IDX = 15,\n\tIXGBE_I2C_CLK_OUT_IDX = 16,\n\tIXGBE_I2C_DATA_IN_IDX = 17,\n\tIXGBE_I2C_DATA_OUT_IDX = 18,\n\tIXGBE_I2C_DATA_OE_N_EN_IDX = 19,\n\tIXGBE_I2C_BB_EN_IDX = 20,\n\tIXGBE_I2C_CLK_OE_N_EN_IDX = 21,\n\tIXGBE_I2CCTL_IDX = 22,\n\tIXGBE_MVALS_IDX_LIMIT = 23,\n};\n\nenum ixgbe_pfvf_api_rev {\n\tixgbe_mbox_api_10 = 0,\n\tixgbe_mbox_api_20 = 1,\n\tixgbe_mbox_api_11 = 2,\n\tixgbe_mbox_api_12 = 3,\n\tixgbe_mbox_api_13 = 4,\n\tixgbe_mbox_api_14 = 5,\n\tixgbe_mbox_api_unknown = 6,\n};\n\nenum ixgbe_phy_type {\n\tixgbe_phy_unknown = 0,\n\tixgbe_phy_none = 1,\n\tixgbe_phy_tn = 2,\n\tixgbe_phy_aq = 3,\n\tixgbe_phy_x550em_kr = 4,\n\tixgbe_phy_x550em_kx4 = 5,\n\tixgbe_phy_x550em_xfi = 6,\n\tixgbe_phy_x550em_ext_t = 7,\n\tixgbe_phy_ext_1g_t = 8,\n\tixgbe_phy_cu_unknown = 9,\n\tixgbe_phy_qt = 10,\n\tixgbe_phy_xaui = 11,\n\tixgbe_phy_nl = 12,\n\tixgbe_phy_sfp_passive_tyco = 13,\n\tixgbe_phy_sfp_passive_unknown = 14,\n\tixgbe_phy_sfp_active_unknown = 15,\n\tixgbe_phy_sfp_avago = 16,\n\tixgbe_phy_sfp_ftl = 17,\n\tixgbe_phy_sfp_ftl_active = 18,\n\tixgbe_phy_sfp_unknown = 19,\n\tixgbe_phy_sfp_intel = 20,\n\tixgbe_phy_qsfp_passive_unknown = 21,\n\tixgbe_phy_qsfp_active_unknown = 22,\n\tixgbe_phy_qsfp_intel = 23,\n\tixgbe_phy_qsfp_unknown = 24,\n\tixgbe_phy_sfp_unsupported = 25,\n\tixgbe_phy_sgmii = 26,\n\tixgbe_phy_fw = 27,\n\tixgbe_phy_generic = 28,\n};\n\nenum ixgbe_ring_f_enum {\n\tRING_F_NONE = 0,\n\tRING_F_VMDQ = 1,\n\tRING_F_RSS = 2,\n\tRING_F_FDIR = 3,\n\tRING_F_FCOE = 4,\n\tRING_F_ARRAY_SIZE = 5,\n};\n\nenum ixgbe_ring_state_t {\n\t__IXGBE_RX_3K_BUFFER = 0,\n\t__IXGBE_RX_BUILD_SKB_ENABLED = 1,\n\t__IXGBE_RX_RSC_ENABLED = 2,\n\t__IXGBE_RX_CSUM_UDP_ZERO_ERR = 3,\n\t__IXGBE_RX_FCOE = 4,\n\t__IXGBE_TX_FDIR_INIT_DONE = 5,\n\t__IXGBE_TX_XPS_INIT_DONE = 6,\n\t__IXGBE_TX_DETECT_HANG = 7,\n\t__IXGBE_HANG_CHECK_ARMED = 8,\n\t__IXGBE_TX_XDP_RING = 9,\n\t__IXGBE_TX_DISABLED = 10,\n};\n\nenum ixgbe_sfp_type {\n\tixgbe_sfp_type_da_cu = 0,\n\tixgbe_sfp_type_sr = 1,\n\tixgbe_sfp_type_lr = 2,\n\tixgbe_sfp_type_da_cu_core0 = 3,\n\tixgbe_sfp_type_da_cu_core1 = 4,\n\tixgbe_sfp_type_srlr_core0 = 5,\n\tixgbe_sfp_type_srlr_core1 = 6,\n\tixgbe_sfp_type_da_act_lmt_core0 = 7,\n\tixgbe_sfp_type_da_act_lmt_core1 = 8,\n\tixgbe_sfp_type_1g_cu_core0 = 9,\n\tixgbe_sfp_type_1g_cu_core1 = 10,\n\tixgbe_sfp_type_1g_sx_core0 = 11,\n\tixgbe_sfp_type_1g_sx_core1 = 12,\n\tixgbe_sfp_type_1g_lx_core0 = 13,\n\tixgbe_sfp_type_1g_lx_core1 = 14,\n\tixgbe_sfp_type_1g_bx_core0 = 15,\n\tixgbe_sfp_type_1g_bx_core1 = 16,\n\tixgbe_sfp_type_not_present = 65534,\n\tixgbe_sfp_type_unknown = 65535,\n};\n\nenum ixgbe_smart_speed {\n\tixgbe_smart_speed_auto = 0,\n\tixgbe_smart_speed_on = 1,\n\tixgbe_smart_speed_off = 2,\n};\n\nenum ixgbe_state_t {\n\t__IXGBE_TESTING = 0,\n\t__IXGBE_RESETTING = 1,\n\t__IXGBE_DOWN = 2,\n\t__IXGBE_DISABLED = 3,\n\t__IXGBE_REMOVING = 4,\n\t__IXGBE_SERVICE_SCHED = 5,\n\t__IXGBE_SERVICE_INITED = 6,\n\t__IXGBE_IN_SFP_INIT = 7,\n\t__IXGBE_PTP_RUNNING = 8,\n\t__IXGBE_PTP_TX_IN_PROGRESS = 9,\n\t__IXGBE_RESET_REQUESTED = 10,\n\t__IXGBE_PHY_INIT_COMPLETE = 11,\n};\n\nenum ixgbe_tx_flags {\n\tIXGBE_TX_FLAGS_HW_VLAN = 1,\n\tIXGBE_TX_FLAGS_TSO = 2,\n\tIXGBE_TX_FLAGS_TSTAMP = 4,\n\tIXGBE_TX_FLAGS_CC = 8,\n\tIXGBE_TX_FLAGS_IPV4 = 16,\n\tIXGBE_TX_FLAGS_CSUM = 32,\n\tIXGBE_TX_FLAGS_IPSEC = 64,\n\tIXGBE_TX_FLAGS_SW_VLAN = 128,\n\tIXGBE_TX_FLAGS_FCOE = 256,\n};\n\nenum ixgbevf_xcast_modes {\n\tIXGBEVF_XCAST_MODE_NONE = 0,\n\tIXGBEVF_XCAST_MODE_MULTI = 1,\n\tIXGBEVF_XCAST_MODE_ALLMULTI = 2,\n\tIXGBEVF_XCAST_MODE_PROMISC = 3,\n};\n\nenum jbd2_shrink_type {\n\tJBD2_SHRINK_DESTROY = 0,\n\tJBD2_SHRINK_BUSY_STOP = 1,\n\tJBD2_SHRINK_BUSY_SKIP = 2,\n};\n\nenum jbd_state_bits {\n\tBH_JBD = 16,\n\tBH_JWrite = 17,\n\tBH_Freed = 18,\n\tBH_Revoked = 19,\n\tBH_RevokeValid = 20,\n\tBH_JBDDirty = 21,\n\tBH_JournalHead = 22,\n\tBH_Shadow = 23,\n\tBH_Verified = 24,\n\tBH_JBDPrivateStart = 25,\n};\n\nenum jump_label_type {\n\tJUMP_LABEL_NOP = 0,\n\tJUMP_LABEL_JMP = 1,\n};\n\nenum kcmp_type {\n\tKCMP_FILE = 0,\n\tKCMP_VM = 1,\n\tKCMP_FILES = 2,\n\tKCMP_FS = 3,\n\tKCMP_SIGHAND = 4,\n\tKCMP_IO = 5,\n\tKCMP_SYSVSEM = 6,\n\tKCMP_EPOLL_TFD = 7,\n\tKCMP_TYPES = 8,\n};\n\nenum kcore_type {\n\tKCORE_TEXT = 0,\n\tKCORE_VMALLOC = 1,\n\tKCORE_RAM = 2,\n\tKCORE_VMEMMAP = 3,\n\tKCORE_USER = 4,\n};\n\nenum kernel_load_data_id {\n\tLOADING_UNKNOWN = 0,\n\tLOADING_FIRMWARE = 1,\n\tLOADING_MODULE = 2,\n\tLOADING_KEXEC_IMAGE = 3,\n\tLOADING_KEXEC_INITRAMFS = 4,\n\tLOADING_POLICY = 5,\n\tLOADING_X509_CERTIFICATE = 6,\n\tLOADING_MAX_ID = 7,\n};\n\nenum kernel_pkey_operation {\n\tkernel_pkey_encrypt = 0,\n\tkernel_pkey_decrypt = 1,\n\tkernel_pkey_sign = 2,\n\tkernel_pkey_verify = 3,\n};\n\nenum kernel_read_file_id {\n\tREADING_UNKNOWN = 0,\n\tREADING_FIRMWARE = 1,\n\tREADING_MODULE = 2,\n\tREADING_KEXEC_IMAGE = 3,\n\tREADING_KEXEC_INITRAMFS = 4,\n\tREADING_POLICY = 5,\n\tREADING_X509_CERTIFICATE = 6,\n\tREADING_MAX_ID = 7,\n};\n\nenum kernfs_node_flag {\n\tKERNFS_ACTIVATED = 16,\n\tKERNFS_NS = 32,\n\tKERNFS_HAS_SEQ_SHOW = 64,\n\tKERNFS_HAS_MMAP = 128,\n\tKERNFS_LOCKDEP = 256,\n\tKERNFS_HIDDEN = 512,\n\tKERNFS_SUICIDAL = 1024,\n\tKERNFS_SUICIDED = 2048,\n\tKERNFS_EMPTY_DIR = 4096,\n\tKERNFS_HAS_RELEASE = 8192,\n\tKERNFS_REMOVING = 16384,\n};\n\nenum kernfs_node_type {\n\tKERNFS_DIR = 1,\n\tKERNFS_FILE = 2,\n\tKERNFS_LINK = 4,\n};\n\nenum kernfs_root_flag {\n\tKERNFS_ROOT_CREATE_DEACTIVATED = 1,\n\tKERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2,\n\tKERNFS_ROOT_SUPPORT_EXPORTOP = 4,\n\tKERNFS_ROOT_SUPPORT_USER_XATTR = 8,\n};\n\nenum key_being_used_for {\n\tVERIFYING_MODULE_SIGNATURE = 0,\n\tVERIFYING_FIRMWARE_SIGNATURE = 1,\n\tVERIFYING_KEXEC_PE_SIGNATURE = 2,\n\tVERIFYING_KEY_SIGNATURE = 3,\n\tVERIFYING_KEY_SELF_SIGNATURE = 4,\n\tVERIFYING_UNSPECIFIED_SIGNATURE = 5,\n\tNR__KEY_BEING_USED_FOR = 6,\n};\n\nenum key_lookup_flag {\n\tKEY_LOOKUP_CREATE = 1,\n\tKEY_LOOKUP_PARTIAL = 2,\n\tKEY_LOOKUP_ALL = 3,\n};\n\nenum key_need_perm {\n\tKEY_NEED_UNSPECIFIED = 0,\n\tKEY_NEED_VIEW = 1,\n\tKEY_NEED_READ = 2,\n\tKEY_NEED_WRITE = 3,\n\tKEY_NEED_SEARCH = 4,\n\tKEY_NEED_LINK = 5,\n\tKEY_NEED_SETATTR = 6,\n\tKEY_NEED_UNLINK = 7,\n\tKEY_SYSADMIN_OVERRIDE = 8,\n\tKEY_AUTHTOKEN_OVERRIDE = 9,\n\tKEY_DEFER_PERM_CHECK = 10,\n};\n\nenum key_notification_subtype {\n\tNOTIFY_KEY_INSTANTIATED = 0,\n\tNOTIFY_KEY_UPDATED = 1,\n\tNOTIFY_KEY_LINKED = 2,\n\tNOTIFY_KEY_UNLINKED = 3,\n\tNOTIFY_KEY_CLEARED = 4,\n\tNOTIFY_KEY_REVOKED = 5,\n\tNOTIFY_KEY_INVALIDATED = 6,\n\tNOTIFY_KEY_SETATTR = 7,\n};\n\nenum key_state {\n\tKEY_IS_UNINSTANTIATED = 0,\n\tKEY_IS_POSITIVE = 1,\n};\n\nenum kfunc_ptr_arg_type {\n\tKF_ARG_PTR_TO_CTX = 0,\n\tKF_ARG_PTR_TO_ALLOC_BTF_ID = 1,\n\tKF_ARG_PTR_TO_REFCOUNTED_KPTR = 2,\n\tKF_ARG_PTR_TO_DYNPTR = 3,\n\tKF_ARG_PTR_TO_ITER = 4,\n\tKF_ARG_PTR_TO_LIST_HEAD = 5,\n\tKF_ARG_PTR_TO_LIST_NODE = 6,\n\tKF_ARG_PTR_TO_BTF_ID = 7,\n\tKF_ARG_PTR_TO_MEM = 8,\n\tKF_ARG_PTR_TO_MEM_SIZE = 9,\n\tKF_ARG_PTR_TO_CALLBACK = 10,\n\tKF_ARG_PTR_TO_RB_ROOT = 11,\n\tKF_ARG_PTR_TO_RB_NODE = 12,\n\tKF_ARG_PTR_TO_NULL = 13,\n\tKF_ARG_PTR_TO_CONST_STR = 14,\n\tKF_ARG_PTR_TO_MAP = 15,\n\tKF_ARG_PTR_TO_WORKQUEUE = 16,\n\tKF_ARG_PTR_TO_IRQ_FLAG = 17,\n};\n\nenum kmalloc_cache_type {\n\tKMALLOC_NORMAL = 0,\n\tKMALLOC_DMA = 0,\n\tKMALLOC_RANDOM_START = 0,\n\tKMALLOC_RANDOM_END = 0,\n\tKMALLOC_RECLAIM = 1,\n\tKMALLOC_CGROUP = 2,\n\tNR_KMALLOC_TYPES = 3,\n};\n\nenum kmsg_dump_reason {\n\tKMSG_DUMP_UNDEF = 0,\n\tKMSG_DUMP_PANIC = 1,\n\tKMSG_DUMP_OOPS = 2,\n\tKMSG_DUMP_EMERG = 3,\n\tKMSG_DUMP_SHUTDOWN = 4,\n\tKMSG_DUMP_MAX = 5,\n};\n\nenum kobj_ns_type {\n\tKOBJ_NS_TYPE_NONE = 0,\n\tKOBJ_NS_TYPE_NET = 1,\n\tKOBJ_NS_TYPES = 2,\n};\n\nenum kobject_action {\n\tKOBJ_ADD = 0,\n\tKOBJ_REMOVE = 1,\n\tKOBJ_CHANGE = 2,\n\tKOBJ_MOVE = 3,\n\tKOBJ_ONLINE = 4,\n\tKOBJ_OFFLINE = 5,\n\tKOBJ_BIND = 6,\n\tKOBJ_UNBIND = 7,\n};\n\nenum ksm_advisor_type {\n\tKSM_ADVISOR_NONE = 0,\n\tKSM_ADVISOR_SCAN_TIME = 1,\n};\n\nenum ksm_get_folio_flags {\n\tKSM_GET_FOLIO_NOLOCK = 0,\n\tKSM_GET_FOLIO_LOCK = 1,\n\tKSM_GET_FOLIO_TRYLOCK = 2,\n};\n\nenum kvm_bus {\n\tKVM_MMIO_BUS = 0,\n\tKVM_PIO_BUS = 1,\n\tKVM_VIRTIO_CCW_NOTIFY_BUS = 2,\n\tKVM_FAST_MMIO_BUS = 3,\n\tKVM_IOCSR_BUS = 4,\n\tKVM_NR_BUSES = 5,\n};\n\nenum kvm_stat_kind {\n\tKVM_STAT_VM = 0,\n\tKVM_STAT_VCPU = 1,\n};\n\nenum l2tp_debug_flags {\n\tL2TP_MSG_DEBUG = 1,\n\tL2TP_MSG_CONTROL = 2,\n\tL2TP_MSG_SEQ = 4,\n\tL2TP_MSG_DATA = 8,\n};\n\nenum l3mdev_type {\n\tL3MDEV_TYPE_UNSPEC = 0,\n\tL3MDEV_TYPE_VRF = 1,\n\t__L3MDEV_TYPE_MAX = 2,\n};\n\nenum label_flags {\n\tFLAG_HAT = 1,\n\tFLAG_UNCONFINED = 2,\n\tFLAG_NULL = 4,\n\tFLAG_IX_ON_NAME_ERROR = 8,\n\tFLAG_IMMUTIBLE = 16,\n\tFLAG_USER_DEFINED = 32,\n\tFLAG_NO_LIST_REF = 64,\n\tFLAG_NS_COUNT = 128,\n\tFLAG_IN_TREE = 256,\n\tFLAG_PROFILE = 512,\n\tFLAG_EXPLICIT = 1024,\n\tFLAG_STALE = 2048,\n\tFLAG_RENAMED = 4096,\n\tFLAG_REVOKED = 8192,\n\tFLAG_DEBUG1 = 16384,\n\tFLAG_DEBUG2 = 32768,\n};\n\nenum label_initialized {\n\tLABEL_INVALID = 0,\n\tLABEL_INITIALIZED = 1,\n\tLABEL_PENDING = 2,\n};\n\nenum landlock_rule_type;\n\nenum latency_range {\n\tlowest_latency = 0,\n\tlow_latency = 1,\n\tbulk_latency = 2,\n\tlatency_invalid = 255,\n};\n\nenum layout_break_reason {\n\tBREAK_WRITE = 0,\n\tBREAK_UNMAP = 1,\n};\n\nenum layoutdriver_policy_flags {\n\tPNFS_LAYOUTRET_ON_SETATTR = 1,\n\tPNFS_LAYOUTRET_ON_ERROR = 2,\n\tPNFS_READ_WHOLE_PAGE = 4,\n\tPNFS_LAYOUTGET_ON_OPEN = 8,\n};\n\nenum led_audio {\n\tLED_AUDIO_MUTE = 0,\n\tLED_AUDIO_MICMUTE = 1,\n\tNUM_AUDIO_LEDS = 2,\n};\n\nenum led_brightness {\n\tLED_OFF = 0,\n\tLED_ON = 1,\n\tLED_HALF = 127,\n\tLED_FULL = 255,\n};\n\nenum led_default_state {\n\tLEDS_DEFSTATE_OFF = 0,\n\tLEDS_DEFSTATE_ON = 1,\n\tLEDS_DEFSTATE_KEEP = 2,\n};\n\nenum led_trigger_netdev_modes {\n\tTRIGGER_NETDEV_LINK = 0,\n\tTRIGGER_NETDEV_LINK_10 = 1,\n\tTRIGGER_NETDEV_LINK_100 = 2,\n\tTRIGGER_NETDEV_LINK_1000 = 3,\n\tTRIGGER_NETDEV_LINK_2500 = 4,\n\tTRIGGER_NETDEV_LINK_5000 = 5,\n\tTRIGGER_NETDEV_LINK_10000 = 6,\n\tTRIGGER_NETDEV_HALF_DUPLEX = 7,\n\tTRIGGER_NETDEV_FULL_DUPLEX = 8,\n\tTRIGGER_NETDEV_TX = 9,\n\tTRIGGER_NETDEV_RX = 10,\n\tTRIGGER_NETDEV_TX_ERR = 11,\n\tTRIGGER_NETDEV_RX_ERR = 12,\n\t__TRIGGER_NETDEV_MAX = 13,\n};\n\nenum legacy_fs_param {\n\tLEGACY_FS_UNSET_PARAMS = 0,\n\tLEGACY_FS_MONOLITHIC_PARAMS = 1,\n\tLEGACY_FS_INDIVIDUAL_PARAMS = 2,\n};\n\nenum limit_by4 {\n\tNFS4_LIMIT_SIZE = 1,\n\tNFS4_LIMIT_BLOCKS = 2,\n};\n\nenum link_inband_signalling {\n\tLINK_INBAND_DISABLE = 1,\n\tLINK_INBAND_ENABLE = 2,\n\tLINK_INBAND_BYPASS = 4,\n};\n\nenum linux_mptcp_mib_field {\n\tMPTCP_MIB_NUM = 0,\n\tMPTCP_MIB_MPCAPABLEPASSIVE = 1,\n\tMPTCP_MIB_MPCAPABLEACTIVE = 2,\n\tMPTCP_MIB_MPCAPABLEACTIVEACK = 3,\n\tMPTCP_MIB_MPCAPABLEPASSIVEACK = 4,\n\tMPTCP_MIB_MPCAPABLEPASSIVEFALLBACK = 5,\n\tMPTCP_MIB_MPCAPABLEACTIVEFALLBACK = 6,\n\tMPTCP_MIB_MPCAPABLEACTIVEDROP = 7,\n\tMPTCP_MIB_MPCAPABLEACTIVEDISABLED = 8,\n\tMPTCP_MIB_MPCAPABLEENDPATTEMPT = 9,\n\tMPTCP_MIB_TOKENFALLBACKINIT = 10,\n\tMPTCP_MIB_RETRANSSEGS = 11,\n\tMPTCP_MIB_JOINNOTOKEN = 12,\n\tMPTCP_MIB_JOINSYNRX = 13,\n\tMPTCP_MIB_JOINSYNBACKUPRX = 14,\n\tMPTCP_MIB_JOINSYNACKRX = 15,\n\tMPTCP_MIB_JOINSYNACKBACKUPRX = 16,\n\tMPTCP_MIB_JOINSYNACKMAC = 17,\n\tMPTCP_MIB_JOINACKRX = 18,\n\tMPTCP_MIB_JOINACKMAC = 19,\n\tMPTCP_MIB_JOINSYNTX = 20,\n\tMPTCP_MIB_JOINSYNTXCREATSKERR = 21,\n\tMPTCP_MIB_JOINSYNTXBINDERR = 22,\n\tMPTCP_MIB_JOINSYNTXCONNECTERR = 23,\n\tMPTCP_MIB_DSSNOMATCH = 24,\n\tMPTCP_MIB_DSSCORRUPTIONFALLBACK = 25,\n\tMPTCP_MIB_DSSCORRUPTIONRESET = 26,\n\tMPTCP_MIB_INFINITEMAPTX = 27,\n\tMPTCP_MIB_INFINITEMAPRX = 28,\n\tMPTCP_MIB_DSSTCPMISMATCH = 29,\n\tMPTCP_MIB_DATACSUMERR = 30,\n\tMPTCP_MIB_OFOQUEUETAIL = 31,\n\tMPTCP_MIB_OFOQUEUE = 32,\n\tMPTCP_MIB_OFOMERGE = 33,\n\tMPTCP_MIB_NODSSWINDOW = 34,\n\tMPTCP_MIB_DUPDATA = 35,\n\tMPTCP_MIB_ADDADDR = 36,\n\tMPTCP_MIB_ADDADDRTX = 37,\n\tMPTCP_MIB_ADDADDRTXDROP = 38,\n\tMPTCP_MIB_ECHOADD = 39,\n\tMPTCP_MIB_ECHOADDTX = 40,\n\tMPTCP_MIB_ECHOADDTXDROP = 41,\n\tMPTCP_MIB_PORTADD = 42,\n\tMPTCP_MIB_ADDADDRDROP = 43,\n\tMPTCP_MIB_JOINPORTSYNRX = 44,\n\tMPTCP_MIB_JOINPORTSYNACKRX = 45,\n\tMPTCP_MIB_JOINPORTACKRX = 46,\n\tMPTCP_MIB_MISMATCHPORTSYNRX = 47,\n\tMPTCP_MIB_MISMATCHPORTACKRX = 48,\n\tMPTCP_MIB_RMADDR = 49,\n\tMPTCP_MIB_RMADDRDROP = 50,\n\tMPTCP_MIB_RMADDRTX = 51,\n\tMPTCP_MIB_RMADDRTXDROP = 52,\n\tMPTCP_MIB_RMSUBFLOW = 53,\n\tMPTCP_MIB_MPPRIOTX = 54,\n\tMPTCP_MIB_MPPRIORX = 55,\n\tMPTCP_MIB_MPFAILTX = 56,\n\tMPTCP_MIB_MPFAILRX = 57,\n\tMPTCP_MIB_MPFASTCLOSETX = 58,\n\tMPTCP_MIB_MPFASTCLOSERX = 59,\n\tMPTCP_MIB_MPRSTTX = 60,\n\tMPTCP_MIB_MPRSTRX = 61,\n\tMPTCP_MIB_RCVPRUNED = 62,\n\tMPTCP_MIB_SUBFLOWSTALE = 63,\n\tMPTCP_MIB_SUBFLOWRECOVER = 64,\n\tMPTCP_MIB_SNDWNDSHARED = 65,\n\tMPTCP_MIB_RCVWNDSHARED = 66,\n\tMPTCP_MIB_RCVWNDCONFLICTUPDATE = 67,\n\tMPTCP_MIB_RCVWNDCONFLICT = 68,\n\tMPTCP_MIB_CURRESTAB = 69,\n\tMPTCP_MIB_BLACKHOLE = 70,\n\t__MPTCP_MIB_MAX = 71,\n};\n\nenum lock_type4 {\n\tNFS4_UNLOCK_LT = 0,\n\tNFS4_READ_LT = 1,\n\tNFS4_WRITE_LT = 2,\n\tNFS4_READW_LT = 3,\n\tNFS4_WRITEW_LT = 4,\n};\n\nenum lockdep_ok {\n\tLOCKDEP_STILL_OK = 0,\n\tLOCKDEP_NOW_UNRELIABLE = 1,\n};\n\nenum lockdown_reason {\n\tLOCKDOWN_NONE = 0,\n\tLOCKDOWN_MODULE_SIGNATURE = 1,\n\tLOCKDOWN_DEV_MEM = 2,\n\tLOCKDOWN_EFI_TEST = 3,\n\tLOCKDOWN_KEXEC = 4,\n\tLOCKDOWN_HIBERNATION = 5,\n\tLOCKDOWN_PCI_ACCESS = 6,\n\tLOCKDOWN_IOPORT = 7,\n\tLOCKDOWN_MSR = 8,\n\tLOCKDOWN_ACPI_TABLES = 9,\n\tLOCKDOWN_DEVICE_TREE = 10,\n\tLOCKDOWN_PCMCIA_CIS = 11,\n\tLOCKDOWN_TIOCSSERIAL = 12,\n\tLOCKDOWN_MODULE_PARAMETERS = 13,\n\tLOCKDOWN_MMIOTRACE = 14,\n\tLOCKDOWN_DEBUGFS = 15,\n\tLOCKDOWN_XMON_WR = 16,\n\tLOCKDOWN_BPF_WRITE_USER = 17,\n\tLOCKDOWN_DBG_WRITE_KERNEL = 18,\n\tLOCKDOWN_RTAS_ERROR_INJECTION = 19,\n\tLOCKDOWN_INTEGRITY_MAX = 20,\n\tLOCKDOWN_KCORE = 21,\n\tLOCKDOWN_KPROBES = 22,\n\tLOCKDOWN_BPF_READ_KERNEL = 23,\n\tLOCKDOWN_DBG_READ_KERNEL = 24,\n\tLOCKDOWN_PERF = 25,\n\tLOCKDOWN_TRACEFS = 26,\n\tLOCKDOWN_XMON_RW = 27,\n\tLOCKDOWN_XFRM_SECRET = 28,\n\tLOCKDOWN_CONFIDENTIALITY_MAX = 29,\n};\n\nenum loongarch_gpr {\n\tLOONGARCH_GPR_ZERO = 0,\n\tLOONGARCH_GPR_RA = 1,\n\tLOONGARCH_GPR_TP = 2,\n\tLOONGARCH_GPR_SP = 3,\n\tLOONGARCH_GPR_A0 = 4,\n\tLOONGARCH_GPR_A1 = 5,\n\tLOONGARCH_GPR_A2 = 6,\n\tLOONGARCH_GPR_A3 = 7,\n\tLOONGARCH_GPR_A4 = 8,\n\tLOONGARCH_GPR_A5 = 9,\n\tLOONGARCH_GPR_A6 = 10,\n\tLOONGARCH_GPR_A7 = 11,\n\tLOONGARCH_GPR_T0 = 12,\n\tLOONGARCH_GPR_T1 = 13,\n\tLOONGARCH_GPR_T2 = 14,\n\tLOONGARCH_GPR_T3 = 15,\n\tLOONGARCH_GPR_T4 = 16,\n\tLOONGARCH_GPR_T5 = 17,\n\tLOONGARCH_GPR_T6 = 18,\n\tLOONGARCH_GPR_T7 = 19,\n\tLOONGARCH_GPR_T8 = 20,\n\tLOONGARCH_GPR_FP = 22,\n\tLOONGARCH_GPR_S0 = 23,\n\tLOONGARCH_GPR_S1 = 24,\n\tLOONGARCH_GPR_S2 = 25,\n\tLOONGARCH_GPR_S3 = 26,\n\tLOONGARCH_GPR_S4 = 27,\n\tLOONGARCH_GPR_S5 = 28,\n\tLOONGARCH_GPR_S6 = 29,\n\tLOONGARCH_GPR_S7 = 30,\n\tLOONGARCH_GPR_S8 = 31,\n\tLOONGARCH_GPR_MAX = 32,\n};\n\nenum loongarch_regset {\n\tREGSET_GPR = 0,\n\tREGSET_FPR = 1,\n\tREGSET_CPUCFG = 2,\n\tREGSET_LSX = 3,\n\tREGSET_LASX = 4,\n\tREGSET_HW_BREAK = 5,\n\tREGSET_HW_WATCH = 6,\n};\n\nenum loongson2_clk_type {\n\tCLK_TYPE_PLL = 0,\n\tCLK_TYPE_SCALE = 1,\n\tCLK_TYPE_DIVIDER = 2,\n\tCLK_TYPE_GATE = 3,\n\tCLK_TYPE_FIXED = 4,\n\tCLK_TYPE_NONE = 5,\n};\n\nenum loongson_chip_id {\n\tCHIP_LS7A1000 = 0,\n\tCHIP_LS7A2000 = 1,\n\tCHIP_LS_LAST = 2,\n};\n\nenum loongson_gpio_mode {\n\tBIT_CTRL_MODE = 0,\n\tBYTE_CTRL_MODE = 1,\n};\n\nenum lru_list {\n\tLRU_INACTIVE_ANON = 0,\n\tLRU_ACTIVE_ANON = 1,\n\tLRU_INACTIVE_FILE = 2,\n\tLRU_ACTIVE_FILE = 3,\n\tLRU_UNEVICTABLE = 4,\n\tNR_LRU_LISTS = 5,\n};\n\nenum lru_status {\n\tLRU_REMOVED = 0,\n\tLRU_REMOVED_RETRY = 1,\n\tLRU_ROTATE = 2,\n\tLRU_SKIP = 3,\n\tLRU_RETRY = 4,\n\tLRU_STOP = 5,\n};\n\nenum lruvec_flags {\n\tLRUVEC_CGROUP_CONGESTED = 0,\n\tLRUVEC_NODE_CONGESTED = 1,\n};\n\nenum lsdc_cursor_format {\n\tCURSOR_FORMAT_DISABLE = 0,\n\tCURSOR_FORMAT_MONOCHROME = 1,\n\tCURSOR_FORMAT_ARGB8888 = 2,\n};\n\nenum lsdc_cursor_location {\n\tCURSOR_ON_CRTC0 = 0,\n\tCURSOR_ON_CRTC1 = 1,\n};\n\nenum lsdc_cursor_size {\n\tCURSOR_SIZE_32X32 = 0,\n\tCURSOR_SIZE_64X64 = 1,\n};\n\nenum lsdc_dma_steps {\n\tLSDC_DMA_STEP_256_BYTES = 0,\n\tLSDC_DMA_STEP_128_BYTES = 1,\n\tLSDC_DMA_STEP_64_BYTES = 2,\n\tLSDC_DMA_STEP_32_BYTES = 3,\n};\n\nenum lsdc_pixel_format {\n\tLSDC_PF_NONE = 0,\n\tLSDC_PF_XRGB444 = 1,\n\tLSDC_PF_XRGB555 = 2,\n\tLSDC_PF_XRGB565 = 3,\n\tLSDC_PF_XRGB8888 = 4,\n};\n\nenum lsm_event {\n\tLSM_POLICY_CHANGE = 0,\n};\n\nenum lsm_integrity_type {\n\tLSM_INT_DMVERITY_SIG_VALID = 0,\n\tLSM_INT_DMVERITY_ROOTHASH = 1,\n\tLSM_INT_FSVERITY_BUILTINSIG_VALID = 2,\n};\n\nenum lsm_order {\n\tLSM_ORDER_FIRST = -1,\n\tLSM_ORDER_MUTABLE = 0,\n\tLSM_ORDER_LAST = 1,\n};\n\nenum lw_bits {\n\tLW_URGENT = 0,\n};\n\nenum lwtunnel_encap_types {\n\tLWTUNNEL_ENCAP_NONE = 0,\n\tLWTUNNEL_ENCAP_MPLS = 1,\n\tLWTUNNEL_ENCAP_IP = 2,\n\tLWTUNNEL_ENCAP_ILA = 3,\n\tLWTUNNEL_ENCAP_IP6 = 4,\n\tLWTUNNEL_ENCAP_SEG6 = 5,\n\tLWTUNNEL_ENCAP_BPF = 6,\n\tLWTUNNEL_ENCAP_SEG6_LOCAL = 7,\n\tLWTUNNEL_ENCAP_RPL = 8,\n\tLWTUNNEL_ENCAP_IOAM6 = 9,\n\tLWTUNNEL_ENCAP_XFRM = 10,\n\t__LWTUNNEL_ENCAP_MAX = 11,\n};\n\nenum lwtunnel_ip6_t {\n\tLWTUNNEL_IP6_UNSPEC = 0,\n\tLWTUNNEL_IP6_ID = 1,\n\tLWTUNNEL_IP6_DST = 2,\n\tLWTUNNEL_IP6_SRC = 3,\n\tLWTUNNEL_IP6_HOPLIMIT = 4,\n\tLWTUNNEL_IP6_TC = 5,\n\tLWTUNNEL_IP6_FLAGS = 6,\n\tLWTUNNEL_IP6_PAD = 7,\n\tLWTUNNEL_IP6_OPTS = 8,\n\t__LWTUNNEL_IP6_MAX = 9,\n};\n\nenum lwtunnel_ip_t {\n\tLWTUNNEL_IP_UNSPEC = 0,\n\tLWTUNNEL_IP_ID = 1,\n\tLWTUNNEL_IP_DST = 2,\n\tLWTUNNEL_IP_SRC = 3,\n\tLWTUNNEL_IP_TTL = 4,\n\tLWTUNNEL_IP_TOS = 5,\n\tLWTUNNEL_IP_FLAGS = 6,\n\tLWTUNNEL_IP_PAD = 7,\n\tLWTUNNEL_IP_OPTS = 8,\n\t__LWTUNNEL_IP_MAX = 9,\n};\n\nenum lzma2_seq {\n\tSEQ_CONTROL = 0,\n\tSEQ_UNCOMPRESSED_1 = 1,\n\tSEQ_UNCOMPRESSED_2 = 2,\n\tSEQ_COMPRESSED_0 = 3,\n\tSEQ_COMPRESSED_1 = 4,\n\tSEQ_PROPERTIES = 5,\n\tSEQ_LZMA_PREPARE = 6,\n\tSEQ_LZMA_RUN = 7,\n\tSEQ_COPY = 8,\n};\n\nenum lzma_state {\n\tSTATE_LIT_LIT = 0,\n\tSTATE_MATCH_LIT_LIT = 1,\n\tSTATE_REP_LIT_LIT = 2,\n\tSTATE_SHORTREP_LIT_LIT = 3,\n\tSTATE_MATCH_LIT = 4,\n\tSTATE_REP_LIT = 5,\n\tSTATE_SHORTREP_LIT = 6,\n\tSTATE_LIT_MATCH = 7,\n\tSTATE_LIT_LONGREP = 8,\n\tSTATE_LIT_SHORTREP = 9,\n\tSTATE_NONLIT_MATCH = 10,\n\tSTATE_NONLIT_REP = 11,\n};\n\nenum mac_version {\n\tRTL_GIGA_MAC_VER_02 = 0,\n\tRTL_GIGA_MAC_VER_03 = 1,\n\tRTL_GIGA_MAC_VER_04 = 2,\n\tRTL_GIGA_MAC_VER_05 = 3,\n\tRTL_GIGA_MAC_VER_06 = 4,\n\tRTL_GIGA_MAC_VER_07 = 5,\n\tRTL_GIGA_MAC_VER_08 = 6,\n\tRTL_GIGA_MAC_VER_09 = 7,\n\tRTL_GIGA_MAC_VER_10 = 8,\n\tRTL_GIGA_MAC_VER_14 = 9,\n\tRTL_GIGA_MAC_VER_17 = 10,\n\tRTL_GIGA_MAC_VER_18 = 11,\n\tRTL_GIGA_MAC_VER_19 = 12,\n\tRTL_GIGA_MAC_VER_20 = 13,\n\tRTL_GIGA_MAC_VER_21 = 14,\n\tRTL_GIGA_MAC_VER_22 = 15,\n\tRTL_GIGA_MAC_VER_23 = 16,\n\tRTL_GIGA_MAC_VER_24 = 17,\n\tRTL_GIGA_MAC_VER_25 = 18,\n\tRTL_GIGA_MAC_VER_26 = 19,\n\tRTL_GIGA_MAC_VER_28 = 20,\n\tRTL_GIGA_MAC_VER_29 = 21,\n\tRTL_GIGA_MAC_VER_30 = 22,\n\tRTL_GIGA_MAC_VER_31 = 23,\n\tRTL_GIGA_MAC_VER_32 = 24,\n\tRTL_GIGA_MAC_VER_33 = 25,\n\tRTL_GIGA_MAC_VER_34 = 26,\n\tRTL_GIGA_MAC_VER_35 = 27,\n\tRTL_GIGA_MAC_VER_36 = 28,\n\tRTL_GIGA_MAC_VER_37 = 29,\n\tRTL_GIGA_MAC_VER_38 = 30,\n\tRTL_GIGA_MAC_VER_39 = 31,\n\tRTL_GIGA_MAC_VER_40 = 32,\n\tRTL_GIGA_MAC_VER_42 = 33,\n\tRTL_GIGA_MAC_VER_43 = 34,\n\tRTL_GIGA_MAC_VER_44 = 35,\n\tRTL_GIGA_MAC_VER_46 = 36,\n\tRTL_GIGA_MAC_VER_48 = 37,\n\tRTL_GIGA_MAC_VER_51 = 38,\n\tRTL_GIGA_MAC_VER_52 = 39,\n\tRTL_GIGA_MAC_VER_53 = 40,\n\tRTL_GIGA_MAC_VER_61 = 41,\n\tRTL_GIGA_MAC_VER_63 = 42,\n\tRTL_GIGA_MAC_VER_64 = 43,\n\tRTL_GIGA_MAC_VER_65 = 44,\n\tRTL_GIGA_MAC_VER_66 = 45,\n\tRTL_GIGA_MAC_VER_70 = 46,\n\tRTL_GIGA_MAC_VER_71 = 47,\n\tRTL_GIGA_MAC_NONE = 48,\n};\n\nenum macvlan_mode {\n\tMACVLAN_MODE_PRIVATE = 1,\n\tMACVLAN_MODE_VEPA = 2,\n\tMACVLAN_MODE_BRIDGE = 4,\n\tMACVLAN_MODE_PASSTHRU = 8,\n\tMACVLAN_MODE_SOURCE = 16,\n};\n\nenum maple_status {\n\tma_active = 0,\n\tma_start = 1,\n\tma_root = 2,\n\tma_none = 3,\n\tma_pause = 4,\n\tma_overflow = 5,\n\tma_underflow = 6,\n\tma_error = 7,\n};\n\nenum maple_type {\n\tmaple_dense = 0,\n\tmaple_leaf_64 = 1,\n\tmaple_range_64 = 2,\n\tmaple_arange_64 = 3,\n};\n\nenum mapping_flags {\n\tAS_EIO = 0,\n\tAS_ENOSPC = 1,\n\tAS_MM_ALL_LOCKS = 2,\n\tAS_UNEVICTABLE = 3,\n\tAS_EXITING = 4,\n\tAS_NO_WRITEBACK_TAGS = 5,\n\tAS_RELEASE_ALWAYS = 6,\n\tAS_STABLE_WRITES = 7,\n\tAS_INACCESSIBLE = 8,\n\tAS_FOLIO_ORDER_BITS = 5,\n\tAS_FOLIO_ORDER_MIN = 16,\n\tAS_FOLIO_ORDER_MAX = 21,\n};\n\nenum mapping_status {\n\tMAPPING_OK = 0,\n\tMAPPING_INVALID = 1,\n\tMAPPING_EMPTY = 2,\n\tMAPPING_DATA_FIN = 3,\n\tMAPPING_DUMMY = 4,\n\tMAPPING_BAD_CSUM = 5,\n\tMAPPING_NODSS = 6,\n};\n\nenum mctrl_gpio_idx {\n\tUART_GPIO_CTS = 0,\n\tUART_GPIO_DSR = 1,\n\tUART_GPIO_DCD = 2,\n\tUART_GPIO_RNG = 3,\n\tUART_GPIO_RI = 3,\n\tUART_GPIO_RTS = 4,\n\tUART_GPIO_DTR = 5,\n\tUART_GPIO_MAX = 6,\n};\n\nenum mdio_i2c_proto {\n\tMDIO_I2C_NONE = 0,\n\tMDIO_I2C_MARVELL_C22 = 1,\n\tMDIO_I2C_C45 = 2,\n\tMDIO_I2C_ROLLBALL = 3,\n};\n\nenum membarrier_cmd {\n\tMEMBARRIER_CMD_QUERY = 0,\n\tMEMBARRIER_CMD_GLOBAL = 1,\n\tMEMBARRIER_CMD_GLOBAL_EXPEDITED = 2,\n\tMEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 4,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED = 8,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 16,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 32,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 64,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 128,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 256,\n\tMEMBARRIER_CMD_GET_REGISTRATIONS = 512,\n\tMEMBARRIER_CMD_SHARED = 1,\n};\n\nenum membarrier_cmd_flag {\n\tMEMBARRIER_CMD_FLAG_CPU = 1,\n};\n\nenum memblock_flags {\n\tMEMBLOCK_NONE = 0,\n\tMEMBLOCK_HOTPLUG = 1,\n\tMEMBLOCK_MIRROR = 2,\n\tMEMBLOCK_NOMAP = 4,\n\tMEMBLOCK_DRIVER_MANAGED = 8,\n\tMEMBLOCK_RSRV_NOINIT = 16,\n};\n\nenum memcg_memory_event {\n\tMEMCG_LOW = 0,\n\tMEMCG_HIGH = 1,\n\tMEMCG_MAX = 2,\n\tMEMCG_OOM = 3,\n\tMEMCG_OOM_KILL = 4,\n\tMEMCG_OOM_GROUP_KILL = 5,\n\tMEMCG_SWAP_HIGH = 6,\n\tMEMCG_SWAP_MAX = 7,\n\tMEMCG_SWAP_FAIL = 8,\n\tMEMCG_NR_MEMORY_EVENTS = 9,\n};\n\nenum memcg_stat_item {\n\tMEMCG_SWAP = 48,\n\tMEMCG_SOCK = 49,\n\tMEMCG_PERCPU_B = 50,\n\tMEMCG_VMALLOC = 51,\n\tMEMCG_KMEM = 52,\n\tMEMCG_ZSWAP_B = 53,\n\tMEMCG_ZSWAPPED = 54,\n\tMEMCG_NR_STAT = 55,\n};\n\nenum meminit_context {\n\tMEMINIT_EARLY = 0,\n\tMEMINIT_HOTPLUG = 1,\n};\n\nenum memory_type {\n\tMEMORY_DEVICE_PRIVATE = 1,\n\tMEMORY_DEVICE_COHERENT = 2,\n\tMEMORY_DEVICE_FS_DAX = 3,\n\tMEMORY_DEVICE_GENERIC = 4,\n\tMEMORY_DEVICE_PCI_P2PDMA = 5,\n};\n\nenum metadata_type {\n\tMETADATA_IP_TUNNEL = 0,\n\tMETADATA_HW_PORT_MUX = 1,\n\tMETADATA_MACSEC = 2,\n\tMETADATA_XFRM = 3,\n};\n\nenum mfi_evt_class {\n\tMFI_EVT_CLASS_DEBUG = -2,\n\tMFI_EVT_CLASS_PROGRESS = -1,\n\tMFI_EVT_CLASS_INFO = 0,\n\tMFI_EVT_CLASS_WARNING = 1,\n\tMFI_EVT_CLASS_CRITICAL = 2,\n\tMFI_EVT_CLASS_FATAL = 3,\n\tMFI_EVT_CLASS_DEAD = 4,\n};\n\nenum mfill_atomic_mode {\n\tMFILL_ATOMIC_COPY = 0,\n\tMFILL_ATOMIC_ZEROPAGE = 1,\n\tMFILL_ATOMIC_CONTINUE = 2,\n\tMFILL_ATOMIC_POISON = 3,\n\tNR_MFILL_ATOMIC_MODES = 4,\n};\n\nenum migrate_mode {\n\tMIGRATE_ASYNC = 0,\n\tMIGRATE_SYNC_LIGHT = 1,\n\tMIGRATE_SYNC = 2,\n};\n\nenum migrate_reason {\n\tMR_COMPACTION = 0,\n\tMR_MEMORY_FAILURE = 1,\n\tMR_MEMORY_HOTPLUG = 2,\n\tMR_SYSCALL = 3,\n\tMR_MEMPOLICY_MBIND = 4,\n\tMR_NUMA_MISPLACED = 5,\n\tMR_CONTIG_RANGE = 6,\n\tMR_LONGTERM_PIN = 7,\n\tMR_DEMOTION = 8,\n\tMR_DAMON = 9,\n\tMR_TYPES = 10,\n};\n\nenum migratetype {\n\tMIGRATE_UNMOVABLE = 0,\n\tMIGRATE_MOVABLE = 1,\n\tMIGRATE_RECLAIMABLE = 2,\n\tMIGRATE_PCPTYPES = 3,\n\tMIGRATE_HIGHATOMIC = 3,\n\tMIGRATE_CMA = 4,\n\tMIGRATE_ISOLATE = 5,\n\tMIGRATE_TYPES = 6,\n};\n\nenum migration_type {\n\tmigrate_load = 0,\n\tmigrate_util = 1,\n\tmigrate_task = 2,\n\tmigrate_misfit = 3,\n};\n\nenum misc_res_type {\n\tMISC_CG_RES_TYPES = 0,\n};\n\nenum mm_cid_state {\n\tMM_CID_UNSET = 4294967295,\n\tMM_CID_LAZY_PUT = 2147483648,\n};\n\nenum mmap_allocation_direction {\n\tUP = 0,\n\tDOWN = 1,\n};\n\nenum mminit_level {\n\tMMINIT_WARNING = 0,\n\tMMINIT_VERIFY = 1,\n\tMMINIT_TRACE = 2,\n};\n\nenum mmu_notifier_event {\n\tMMU_NOTIFY_UNMAP = 0,\n\tMMU_NOTIFY_CLEAR = 1,\n\tMMU_NOTIFY_PROTECTION_VMA = 2,\n\tMMU_NOTIFY_PROTECTION_PAGE = 3,\n\tMMU_NOTIFY_SOFT_DIRTY = 4,\n\tMMU_NOTIFY_RELEASE = 5,\n\tMMU_NOTIFY_MIGRATE = 6,\n\tMMU_NOTIFY_EXCLUSIVE = 7,\n};\n\nenum mnt_tree_flags_t {\n\tMNT_TREE_MOVE = 1,\n\tMNT_TREE_BENEATH = 2,\n};\n\nenum mod_license {\n\tNOT_GPL_ONLY = 0,\n\tGPL_ONLY = 1,\n};\n\nenum mod_mem_type {\n\tMOD_TEXT = 0,\n\tMOD_DATA = 1,\n\tMOD_RODATA = 2,\n\tMOD_RO_AFTER_INIT = 3,\n\tMOD_INIT_TEXT = 4,\n\tMOD_INIT_DATA = 5,\n\tMOD_INIT_RODATA = 6,\n\tMOD_MEM_NUM_TYPES = 7,\n\tMOD_INVALID = -1,\n};\n\nenum mode_set_atomic {\n\tLEAVE_ATOMIC_MODE_SET = 0,\n\tENTER_ATOMIC_MODE_SET = 1,\n};\n\nenum module_state {\n\tMODULE_STATE_LIVE = 0,\n\tMODULE_STATE_COMING = 1,\n\tMODULE_STATE_GOING = 2,\n\tMODULE_STATE_UNFORMED = 3,\n};\n\nenum mountstat {\n\tMNT_OK = 0,\n\tMNT_EPERM = 1,\n\tMNT_ENOENT = 2,\n\tMNT_EACCES = 13,\n\tMNT_EINVAL = 22,\n};\n\nenum mountstat3 {\n\tMNT3_OK = 0,\n\tMNT3ERR_PERM = 1,\n\tMNT3ERR_NOENT = 2,\n\tMNT3ERR_IO = 5,\n\tMNT3ERR_ACCES = 13,\n\tMNT3ERR_NOTDIR = 20,\n\tMNT3ERR_INVAL = 22,\n\tMNT3ERR_NAMETOOLONG = 63,\n\tMNT3ERR_NOTSUPP = 10004,\n\tMNT3ERR_SERVERFAULT = 10006,\n};\n\nenum mousedev_emul {\n\tMOUSEDEV_EMUL_PS2 = 0,\n\tMOUSEDEV_EMUL_IMPS = 1,\n\tMOUSEDEV_EMUL_EXPS = 2,\n};\n\nenum mpt3sas_perf_mode {\n\tMPT_PERF_MODE_DEFAULT = -1,\n\tMPT_PERF_MODE_BALANCED = 0,\n\tMPT_PERF_MODE_IOPS = 1,\n\tMPT_PERF_MODE_LATENCY = 2,\n};\n\nenum mptcp_addr_signal_status {\n\tMPTCP_ADD_ADDR_SIGNAL = 0,\n\tMPTCP_ADD_ADDR_ECHO = 1,\n\tMPTCP_RM_ADDR_SIGNAL = 2,\n};\n\nenum mptcp_event_attr {\n\tMPTCP_ATTR_UNSPEC = 0,\n\tMPTCP_ATTR_TOKEN = 1,\n\tMPTCP_ATTR_FAMILY = 2,\n\tMPTCP_ATTR_LOC_ID = 3,\n\tMPTCP_ATTR_REM_ID = 4,\n\tMPTCP_ATTR_SADDR4 = 5,\n\tMPTCP_ATTR_SADDR6 = 6,\n\tMPTCP_ATTR_DADDR4 = 7,\n\tMPTCP_ATTR_DADDR6 = 8,\n\tMPTCP_ATTR_SPORT = 9,\n\tMPTCP_ATTR_DPORT = 10,\n\tMPTCP_ATTR_BACKUP = 11,\n\tMPTCP_ATTR_ERROR = 12,\n\tMPTCP_ATTR_FLAGS = 13,\n\tMPTCP_ATTR_TIMEOUT = 14,\n\tMPTCP_ATTR_IF_IDX = 15,\n\tMPTCP_ATTR_RESET_REASON = 16,\n\tMPTCP_ATTR_RESET_FLAGS = 17,\n\tMPTCP_ATTR_SERVER_SIDE = 18,\n\t__MPTCP_ATTR_MAX = 19,\n};\n\nenum mptcp_event_type {\n\tMPTCP_EVENT_UNSPEC = 0,\n\tMPTCP_EVENT_CREATED = 1,\n\tMPTCP_EVENT_ESTABLISHED = 2,\n\tMPTCP_EVENT_CLOSED = 3,\n\tMPTCP_EVENT_ANNOUNCED = 6,\n\tMPTCP_EVENT_REMOVED = 7,\n\tMPTCP_EVENT_SUB_ESTABLISHED = 10,\n\tMPTCP_EVENT_SUB_CLOSED = 11,\n\tMPTCP_EVENT_SUB_PRIORITY = 13,\n\tMPTCP_EVENT_LISTENER_CREATED = 15,\n\tMPTCP_EVENT_LISTENER_CLOSED = 16,\n};\n\nenum mptcp_pm_status {\n\tMPTCP_PM_ADD_ADDR_RECEIVED = 0,\n\tMPTCP_PM_ADD_ADDR_SEND_ACK = 1,\n\tMPTCP_PM_RM_ADDR_RECEIVED = 2,\n\tMPTCP_PM_ESTABLISHED = 3,\n\tMPTCP_PM_SUBFLOW_ESTABLISHED = 4,\n\tMPTCP_PM_ALREADY_ESTABLISHED = 5,\n\tMPTCP_PM_MPC_ENDPOINT_ACCOUNTED = 6,\n};\n\nenum mptcp_pm_type {\n\tMPTCP_PM_TYPE_KERNEL = 0,\n\tMPTCP_PM_TYPE_USERSPACE = 1,\n\t__MPTCP_PM_TYPE_NR = 2,\n\t__MPTCP_PM_TYPE_MAX = 1,\n};\n\nenum mq_rq_state {\n\tMQ_RQ_IDLE = 0,\n\tMQ_RQ_IN_FLIGHT = 1,\n\tMQ_RQ_COMPLETE = 2,\n};\n\nenum msdos_sys_ind {\n\tDOS_EXTENDED_PARTITION = 5,\n\tLINUX_EXTENDED_PARTITION = 133,\n\tWIN98_EXTENDED_PARTITION = 15,\n\tLINUX_DATA_PARTITION = 131,\n\tLINUX_LVM_PARTITION = 142,\n\tLINUX_RAID_PARTITION = 253,\n\tSOLARIS_X86_PARTITION = 130,\n\tNEW_SOLARIS_X86_PARTITION = 191,\n\tDM6_AUX1PARTITION = 81,\n\tDM6_AUX3PARTITION = 83,\n\tDM6_PARTITION = 84,\n\tEZD_PARTITION = 85,\n\tFREEBSD_PARTITION = 165,\n\tOPENBSD_PARTITION = 166,\n\tNETBSD_PARTITION = 169,\n\tBSDI_PARTITION = 183,\n\tMINIX_PARTITION = 129,\n\tUNIXWARE_PARTITION = 99,\n};\n\nenum msi_desc_filter {\n\tMSI_DESC_ALL = 0,\n\tMSI_DESC_NOTASSOCIATED = 1,\n\tMSI_DESC_ASSOCIATED = 2,\n};\n\nenum msi_domain_ids {\n\tMSI_DEFAULT_DOMAIN = 0,\n\tMSI_MAX_DEVICE_IRQDOMAINS = 1,\n};\n\nenum mthp_stat_item {\n\tMTHP_STAT_ANON_FAULT_ALLOC = 0,\n\tMTHP_STAT_ANON_FAULT_FALLBACK = 1,\n\tMTHP_STAT_ANON_FAULT_FALLBACK_CHARGE = 2,\n\tMTHP_STAT_ZSWPOUT = 3,\n\tMTHP_STAT_SWPIN = 4,\n\tMTHP_STAT_SWPIN_FALLBACK = 5,\n\tMTHP_STAT_SWPIN_FALLBACK_CHARGE = 6,\n\tMTHP_STAT_SWPOUT = 7,\n\tMTHP_STAT_SWPOUT_FALLBACK = 8,\n\tMTHP_STAT_SHMEM_ALLOC = 9,\n\tMTHP_STAT_SHMEM_FALLBACK = 10,\n\tMTHP_STAT_SHMEM_FALLBACK_CHARGE = 11,\n\tMTHP_STAT_SPLIT = 12,\n\tMTHP_STAT_SPLIT_FAILED = 13,\n\tMTHP_STAT_SPLIT_DEFERRED = 14,\n\tMTHP_STAT_NR_ANON = 15,\n\tMTHP_STAT_NR_ANON_PARTIALLY_MAPPED = 16,\n\t__MTHP_STAT_COUNT = 17,\n};\n\nenum multi_stop_state {\n\tMULTI_STOP_NONE = 0,\n\tMULTI_STOP_PREPARE = 1,\n\tMULTI_STOP_DISABLE_IRQ = 2,\n\tMULTI_STOP_RUN = 3,\n\tMULTI_STOP_EXIT = 4,\n};\n\nenum mvs_event_flags {\n\tPHY_PLUG_EVENT = 3,\n\tPHY_PLUG_IN = 1,\n\tPHY_PLUG_OUT = 2,\n\tEXP_BRCT_CHG = 4,\n};\n\nenum mvs_info_flags {\n\tMVF_PHY_PWR_FIX = 2,\n\tMVF_FLAG_SOC = 4,\n};\n\nenum mvs_port_type {\n\tPORT_TGT_MASK = 32,\n\tPORT_INIT_PORT = 16,\n\tPORT_TGT_PORT = 8,\n\tPORT_INIT_TGT_PORT = 24,\n\tPORT_TYPE_SAS = 2,\n\tPORT_TYPE_SATA = 1,\n};\n\nenum mvumi_qc_result {\n\tMV_QUEUE_COMMAND_RESULT_SENT = 0,\n\tMV_QUEUE_COMMAND_RESULT_NO_RESOURCE = 1,\n};\n\nenum nbcon_prio {\n\tNBCON_PRIO_NONE = 0,\n\tNBCON_PRIO_NORMAL = 1,\n\tNBCON_PRIO_EMERGENCY = 2,\n\tNBCON_PRIO_PANIC = 3,\n\tNBCON_PRIO_MAX = 4,\n};\n\nenum net_device_flags {\n\tIFF_UP = 1,\n\tIFF_BROADCAST = 2,\n\tIFF_DEBUG = 4,\n\tIFF_LOOPBACK = 8,\n\tIFF_POINTOPOINT = 16,\n\tIFF_NOTRAILERS = 32,\n\tIFF_RUNNING = 64,\n\tIFF_NOARP = 128,\n\tIFF_PROMISC = 256,\n\tIFF_ALLMULTI = 512,\n\tIFF_MASTER = 1024,\n\tIFF_SLAVE = 2048,\n\tIFF_MULTICAST = 4096,\n\tIFF_PORTSEL = 8192,\n\tIFF_AUTOMEDIA = 16384,\n\tIFF_DYNAMIC = 32768,\n\tIFF_LOWER_UP = 65536,\n\tIFF_DORMANT = 131072,\n\tIFF_ECHO = 262144,\n};\n\nenum net_device_path_type {\n\tDEV_PATH_ETHERNET = 0,\n\tDEV_PATH_VLAN = 1,\n\tDEV_PATH_BRIDGE = 2,\n\tDEV_PATH_PPPOE = 3,\n\tDEV_PATH_DSA = 4,\n\tDEV_PATH_MTK_WDMA = 5,\n};\n\nenum net_xmit_qdisc_t {\n\t__NET_XMIT_STOLEN = 65536,\n\t__NET_XMIT_BYPASS = 131072,\n};\n\nenum netdev_cmd {\n\tNETDEV_UP = 1,\n\tNETDEV_DOWN = 2,\n\tNETDEV_REBOOT = 3,\n\tNETDEV_CHANGE = 4,\n\tNETDEV_REGISTER = 5,\n\tNETDEV_UNREGISTER = 6,\n\tNETDEV_CHANGEMTU = 7,\n\tNETDEV_CHANGEADDR = 8,\n\tNETDEV_PRE_CHANGEADDR = 9,\n\tNETDEV_GOING_DOWN = 10,\n\tNETDEV_CHANGENAME = 11,\n\tNETDEV_FEAT_CHANGE = 12,\n\tNETDEV_BONDING_FAILOVER = 13,\n\tNETDEV_PRE_UP = 14,\n\tNETDEV_PRE_TYPE_CHANGE = 15,\n\tNETDEV_POST_TYPE_CHANGE = 16,\n\tNETDEV_POST_INIT = 17,\n\tNETDEV_PRE_UNINIT = 18,\n\tNETDEV_RELEASE = 19,\n\tNETDEV_NOTIFY_PEERS = 20,\n\tNETDEV_JOIN = 21,\n\tNETDEV_CHANGEUPPER = 22,\n\tNETDEV_RESEND_IGMP = 23,\n\tNETDEV_PRECHANGEMTU = 24,\n\tNETDEV_CHANGEINFODATA = 25,\n\tNETDEV_BONDING_INFO = 26,\n\tNETDEV_PRECHANGEUPPER = 27,\n\tNETDEV_CHANGELOWERSTATE = 28,\n\tNETDEV_UDP_TUNNEL_PUSH_INFO = 29,\n\tNETDEV_UDP_TUNNEL_DROP_INFO = 30,\n\tNETDEV_CHANGE_TX_QUEUE_LEN = 31,\n\tNETDEV_CVLAN_FILTER_PUSH_INFO = 32,\n\tNETDEV_CVLAN_FILTER_DROP_INFO = 33,\n\tNETDEV_SVLAN_FILTER_PUSH_INFO = 34,\n\tNETDEV_SVLAN_FILTER_DROP_INFO = 35,\n\tNETDEV_OFFLOAD_XSTATS_ENABLE = 36,\n\tNETDEV_OFFLOAD_XSTATS_DISABLE = 37,\n\tNETDEV_OFFLOAD_XSTATS_REPORT_USED = 38,\n\tNETDEV_OFFLOAD_XSTATS_REPORT_DELTA = 39,\n\tNETDEV_XDP_FEAT_CHANGE = 40,\n};\n\nenum netdev_ml_priv_type {\n\tML_PRIV_NONE = 0,\n\tML_PRIV_CAN = 1,\n};\n\nenum netdev_offload_xstats_type {\n\tNETDEV_OFFLOAD_XSTATS_TYPE_L3 = 1,\n};\n\nenum netdev_priv_flags {\n\tIFF_802_1Q_VLAN = 1,\n\tIFF_EBRIDGE = 2,\n\tIFF_BONDING = 4,\n\tIFF_ISATAP = 8,\n\tIFF_WAN_HDLC = 16,\n\tIFF_XMIT_DST_RELEASE = 32,\n\tIFF_DONT_BRIDGE = 64,\n\tIFF_DISABLE_NETPOLL = 128,\n\tIFF_MACVLAN_PORT = 256,\n\tIFF_BRIDGE_PORT = 512,\n\tIFF_OVS_DATAPATH = 1024,\n\tIFF_TX_SKB_SHARING = 2048,\n\tIFF_UNICAST_FLT = 4096,\n\tIFF_TEAM_PORT = 8192,\n\tIFF_SUPP_NOFCS = 16384,\n\tIFF_LIVE_ADDR_CHANGE = 32768,\n\tIFF_MACVLAN = 65536,\n\tIFF_XMIT_DST_RELEASE_PERM = 131072,\n\tIFF_L3MDEV_MASTER = 262144,\n\tIFF_NO_QUEUE = 524288,\n\tIFF_OPENVSWITCH = 1048576,\n\tIFF_L3MDEV_SLAVE = 2097152,\n\tIFF_TEAM = 4194304,\n\tIFF_RXFH_CONFIGURED = 8388608,\n\tIFF_PHONY_HEADROOM = 16777216,\n\tIFF_MACSEC = 33554432,\n\tIFF_NO_RX_HANDLER = 67108864,\n\tIFF_FAILOVER = 134217728,\n\tIFF_FAILOVER_SLAVE = 268435456,\n\tIFF_L3MDEV_RX_HANDLER = 536870912,\n\tIFF_NO_ADDRCONF = 1073741824,\n\tIFF_TX_SKB_NO_LINEAR = 2147483648,\n};\n\nenum netdev_qstats_scope {\n\tNETDEV_QSTATS_SCOPE_QUEUE = 1,\n};\n\nenum netdev_queue_state_t {\n\t__QUEUE_STATE_DRV_XOFF = 0,\n\t__QUEUE_STATE_STACK_XOFF = 1,\n\t__QUEUE_STATE_FROZEN = 2,\n};\n\nenum netdev_queue_type {\n\tNETDEV_QUEUE_TYPE_RX = 0,\n\tNETDEV_QUEUE_TYPE_TX = 1,\n};\n\nenum netdev_reg_state {\n\tNETREG_UNINITIALIZED = 0,\n\tNETREG_REGISTERED = 1,\n\tNETREG_UNREGISTERING = 2,\n\tNETREG_UNREGISTERED = 3,\n\tNETREG_RELEASED = 4,\n\tNETREG_DUMMY = 5,\n};\n\nenum netdev_stat_type {\n\tNETDEV_PCPU_STAT_NONE = 0,\n\tNETDEV_PCPU_STAT_LSTATS = 1,\n\tNETDEV_PCPU_STAT_TSTATS = 2,\n\tNETDEV_PCPU_STAT_DSTATS = 3,\n};\n\nenum netdev_state_t {\n\t__LINK_STATE_START = 0,\n\t__LINK_STATE_PRESENT = 1,\n\t__LINK_STATE_NOCARRIER = 2,\n\t__LINK_STATE_LINKWATCH_PENDING = 3,\n\t__LINK_STATE_DORMANT = 4,\n\t__LINK_STATE_TESTING = 5,\n};\n\nenum netdev_tx {\n\t__NETDEV_TX_MIN = -2147483648,\n\tNETDEV_TX_OK = 0,\n\tNETDEV_TX_BUSY = 16,\n};\n\ntypedef enum netdev_tx netdev_tx_t;\n\nenum netdev_xdp_act {\n\tNETDEV_XDP_ACT_BASIC = 1,\n\tNETDEV_XDP_ACT_REDIRECT = 2,\n\tNETDEV_XDP_ACT_NDO_XMIT = 4,\n\tNETDEV_XDP_ACT_XSK_ZEROCOPY = 8,\n\tNETDEV_XDP_ACT_HW_OFFLOAD = 16,\n\tNETDEV_XDP_ACT_RX_SG = 32,\n\tNETDEV_XDP_ACT_NDO_XMIT_SG = 64,\n\tNETDEV_XDP_ACT_MASK = 127,\n};\n\nenum netdev_xdp_rx_metadata {\n\tNETDEV_XDP_RX_METADATA_TIMESTAMP = 1,\n\tNETDEV_XDP_RX_METADATA_HASH = 2,\n\tNETDEV_XDP_RX_METADATA_VLAN_TAG = 4,\n};\n\nenum netdev_xsk_flags {\n\tNETDEV_XSK_FLAGS_TX_TIMESTAMP = 1,\n\tNETDEV_XSK_FLAGS_TX_CHECKSUM = 2,\n};\n\nenum netevent_notif_type {\n\tNETEVENT_NEIGH_UPDATE = 1,\n\tNETEVENT_REDIRECT = 2,\n\tNETEVENT_DELAY_PROBE_TIME_UPDATE = 3,\n\tNETEVENT_IPV4_MPATH_HASH_UPDATE = 4,\n\tNETEVENT_IPV6_MPATH_HASH_UPDATE = 5,\n\tNETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE = 6,\n};\n\nenum netfs_collect_contig_trace {\n\tnetfs_contig_trace_collect = 0,\n\tnetfs_contig_trace_jump = 1,\n\tnetfs_contig_trace_unlock = 2,\n} __attribute__((mode(byte)));\n\nenum netfs_donate_trace {\n\tnetfs_trace_donate_tail_to_prev = 0,\n\tnetfs_trace_donate_to_prev = 1,\n\tnetfs_trace_donate_to_next = 2,\n\tnetfs_trace_donate_to_deferred_next = 3,\n} __attribute__((mode(byte)));\n\nenum netfs_failure {\n\tnetfs_fail_check_write_begin = 0,\n\tnetfs_fail_copy_to_cache = 1,\n\tnetfs_fail_dio_read_short = 2,\n\tnetfs_fail_dio_read_zero = 3,\n\tnetfs_fail_read = 4,\n\tnetfs_fail_short_read = 5,\n\tnetfs_fail_prepare_write = 6,\n\tnetfs_fail_write = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_folio_trace {\n\tnetfs_folio_is_uptodate = 0,\n\tnetfs_just_prefetch = 1,\n\tnetfs_whole_folio_modify = 2,\n\tnetfs_modify_and_clear = 3,\n\tnetfs_streaming_write = 4,\n\tnetfs_streaming_write_cont = 5,\n\tnetfs_flush_content = 6,\n\tnetfs_streaming_filled_page = 7,\n\tnetfs_streaming_cont_filled_page = 8,\n\tnetfs_folio_trace_abandon = 9,\n\tnetfs_folio_trace_alloc_buffer = 10,\n\tnetfs_folio_trace_cancel_copy = 11,\n\tnetfs_folio_trace_cancel_store = 12,\n\tnetfs_folio_trace_clear = 13,\n\tnetfs_folio_trace_clear_cc = 14,\n\tnetfs_folio_trace_clear_g = 15,\n\tnetfs_folio_trace_clear_s = 16,\n\tnetfs_folio_trace_copy_to_cache = 17,\n\tnetfs_folio_trace_end_copy = 18,\n\tnetfs_folio_trace_filled_gaps = 19,\n\tnetfs_folio_trace_kill = 20,\n\tnetfs_folio_trace_kill_cc = 21,\n\tnetfs_folio_trace_kill_g = 22,\n\tnetfs_folio_trace_kill_s = 23,\n\tnetfs_folio_trace_mkwrite = 24,\n\tnetfs_folio_trace_mkwrite_plus = 25,\n\tnetfs_folio_trace_not_under_wback = 26,\n\tnetfs_folio_trace_not_locked = 27,\n\tnetfs_folio_trace_put = 28,\n\tnetfs_folio_trace_read = 29,\n\tnetfs_folio_trace_read_done = 30,\n\tnetfs_folio_trace_read_gaps = 31,\n\tnetfs_folio_trace_read_unlock = 32,\n\tnetfs_folio_trace_redirtied = 33,\n\tnetfs_folio_trace_store = 34,\n\tnetfs_folio_trace_store_copy = 35,\n\tnetfs_folio_trace_store_plus = 36,\n\tnetfs_folio_trace_wthru = 37,\n\tnetfs_folio_trace_wthru_plus = 38,\n} __attribute__((mode(byte)));\n\nenum netfs_folioq_trace {\n\tnetfs_trace_folioq_alloc_buffer = 0,\n\tnetfs_trace_folioq_clear = 1,\n\tnetfs_trace_folioq_delete = 2,\n\tnetfs_trace_folioq_make_space = 3,\n\tnetfs_trace_folioq_rollbuf_init = 4,\n\tnetfs_trace_folioq_read_progress = 5,\n} __attribute__((mode(byte)));\n\nenum netfs_io_origin {\n\tNETFS_READAHEAD = 0,\n\tNETFS_READPAGE = 1,\n\tNETFS_READ_GAPS = 2,\n\tNETFS_READ_SINGLE = 3,\n\tNETFS_READ_FOR_WRITE = 4,\n\tNETFS_DIO_READ = 5,\n\tNETFS_WRITEBACK = 6,\n\tNETFS_WRITEBACK_SINGLE = 7,\n\tNETFS_WRITETHROUGH = 8,\n\tNETFS_UNBUFFERED_WRITE = 9,\n\tNETFS_DIO_WRITE = 10,\n\tNETFS_PGPRIV2_COPY_TO_CACHE = 11,\n\tnr__netfs_io_origin = 12,\n} __attribute__((mode(byte)));\n\nenum netfs_io_source {\n\tNETFS_SOURCE_UNKNOWN = 0,\n\tNETFS_FILL_WITH_ZEROES = 1,\n\tNETFS_DOWNLOAD_FROM_SERVER = 2,\n\tNETFS_READ_FROM_CACHE = 3,\n\tNETFS_INVALID_READ = 4,\n\tNETFS_UPLOAD_TO_SERVER = 5,\n\tNETFS_WRITE_TO_CACHE = 6,\n\tNETFS_INVALID_WRITE = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_read_from_hole {\n\tNETFS_READ_HOLE_IGNORE = 0,\n\tNETFS_READ_HOLE_CLEAR = 1,\n\tNETFS_READ_HOLE_FAIL = 2,\n};\n\nenum netfs_read_trace {\n\tnetfs_read_trace_dio_read = 0,\n\tnetfs_read_trace_expanded = 1,\n\tnetfs_read_trace_readahead = 2,\n\tnetfs_read_trace_readpage = 3,\n\tnetfs_read_trace_read_gaps = 4,\n\tnetfs_read_trace_read_single = 5,\n\tnetfs_read_trace_prefetch_for_write = 6,\n\tnetfs_read_trace_write_begin = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_rreq_ref_trace {\n\tnetfs_rreq_trace_get_for_outstanding = 0,\n\tnetfs_rreq_trace_get_subreq = 1,\n\tnetfs_rreq_trace_get_work = 2,\n\tnetfs_rreq_trace_put_complete = 3,\n\tnetfs_rreq_trace_put_discard = 4,\n\tnetfs_rreq_trace_put_failed = 5,\n\tnetfs_rreq_trace_put_no_submit = 6,\n\tnetfs_rreq_trace_put_return = 7,\n\tnetfs_rreq_trace_put_subreq = 8,\n\tnetfs_rreq_trace_put_work = 9,\n\tnetfs_rreq_trace_put_work_complete = 10,\n\tnetfs_rreq_trace_put_work_nq = 11,\n\tnetfs_rreq_trace_see_work = 12,\n\tnetfs_rreq_trace_new = 13,\n} __attribute__((mode(byte)));\n\nenum netfs_rreq_trace {\n\tnetfs_rreq_trace_assess = 0,\n\tnetfs_rreq_trace_copy = 1,\n\tnetfs_rreq_trace_collect = 2,\n\tnetfs_rreq_trace_complete = 3,\n\tnetfs_rreq_trace_dirty = 4,\n\tnetfs_rreq_trace_done = 5,\n\tnetfs_rreq_trace_free = 6,\n\tnetfs_rreq_trace_redirty = 7,\n\tnetfs_rreq_trace_resubmit = 8,\n\tnetfs_rreq_trace_set_abandon = 9,\n\tnetfs_rreq_trace_set_pause = 10,\n\tnetfs_rreq_trace_unlock = 11,\n\tnetfs_rreq_trace_unlock_pgpriv2 = 12,\n\tnetfs_rreq_trace_unmark = 13,\n\tnetfs_rreq_trace_wait_ip = 14,\n\tnetfs_rreq_trace_wait_pause = 15,\n\tnetfs_rreq_trace_wait_queue = 16,\n\tnetfs_rreq_trace_wake_ip = 17,\n\tnetfs_rreq_trace_wake_queue = 18,\n\tnetfs_rreq_trace_woke_queue = 19,\n\tnetfs_rreq_trace_unpause = 20,\n\tnetfs_rreq_trace_write_done = 21,\n} __attribute__((mode(byte)));\n\nenum netfs_sreq_ref_trace {\n\tnetfs_sreq_trace_get_copy_to_cache = 0,\n\tnetfs_sreq_trace_get_resubmit = 1,\n\tnetfs_sreq_trace_get_submit = 2,\n\tnetfs_sreq_trace_get_short_read = 3,\n\tnetfs_sreq_trace_new = 4,\n\tnetfs_sreq_trace_put_abandon = 5,\n\tnetfs_sreq_trace_put_cancel = 6,\n\tnetfs_sreq_trace_put_clear = 7,\n\tnetfs_sreq_trace_put_consumed = 8,\n\tnetfs_sreq_trace_put_done = 9,\n\tnetfs_sreq_trace_put_failed = 10,\n\tnetfs_sreq_trace_put_merged = 11,\n\tnetfs_sreq_trace_put_no_copy = 12,\n\tnetfs_sreq_trace_put_oom = 13,\n\tnetfs_sreq_trace_put_wip = 14,\n\tnetfs_sreq_trace_put_work = 15,\n\tnetfs_sreq_trace_put_terminated = 16,\n} __attribute__((mode(byte)));\n\nenum netfs_sreq_trace {\n\tnetfs_sreq_trace_add_donations = 0,\n\tnetfs_sreq_trace_added = 1,\n\tnetfs_sreq_trace_cache_nowrite = 2,\n\tnetfs_sreq_trace_cache_prepare = 3,\n\tnetfs_sreq_trace_cache_write = 4,\n\tnetfs_sreq_trace_cancel = 5,\n\tnetfs_sreq_trace_clear = 6,\n\tnetfs_sreq_trace_discard = 7,\n\tnetfs_sreq_trace_donate_to_prev = 8,\n\tnetfs_sreq_trace_donate_to_next = 9,\n\tnetfs_sreq_trace_download_instead = 10,\n\tnetfs_sreq_trace_fail = 11,\n\tnetfs_sreq_trace_free = 12,\n\tnetfs_sreq_trace_hit_eof = 13,\n\tnetfs_sreq_trace_io_progress = 14,\n\tnetfs_sreq_trace_limited = 15,\n\tnetfs_sreq_trace_need_clear = 16,\n\tnetfs_sreq_trace_partial_read = 17,\n\tnetfs_sreq_trace_need_retry = 18,\n\tnetfs_sreq_trace_prepare = 19,\n\tnetfs_sreq_trace_prep_failed = 20,\n\tnetfs_sreq_trace_progress = 21,\n\tnetfs_sreq_trace_reprep_failed = 22,\n\tnetfs_sreq_trace_retry = 23,\n\tnetfs_sreq_trace_short = 24,\n\tnetfs_sreq_trace_split = 25,\n\tnetfs_sreq_trace_submit = 26,\n\tnetfs_sreq_trace_superfluous = 27,\n\tnetfs_sreq_trace_terminated = 28,\n\tnetfs_sreq_trace_wait_for = 29,\n\tnetfs_sreq_trace_write = 30,\n\tnetfs_sreq_trace_write_skip = 31,\n\tnetfs_sreq_trace_write_term = 32,\n} __attribute__((mode(byte)));\n\nenum netfs_write_trace {\n\tnetfs_write_trace_copy_to_cache = 0,\n\tnetfs_write_trace_dio_write = 1,\n\tnetfs_write_trace_unbuffered_write = 2,\n\tnetfs_write_trace_writeback = 3,\n\tnetfs_write_trace_writethrough = 4,\n} __attribute__((mode(byte)));\n\nenum netlink_attribute_type {\n\tNL_ATTR_TYPE_INVALID = 0,\n\tNL_ATTR_TYPE_FLAG = 1,\n\tNL_ATTR_TYPE_U8 = 2,\n\tNL_ATTR_TYPE_U16 = 3,\n\tNL_ATTR_TYPE_U32 = 4,\n\tNL_ATTR_TYPE_U64 = 5,\n\tNL_ATTR_TYPE_S8 = 6,\n\tNL_ATTR_TYPE_S16 = 7,\n\tNL_ATTR_TYPE_S32 = 8,\n\tNL_ATTR_TYPE_S64 = 9,\n\tNL_ATTR_TYPE_BINARY = 10,\n\tNL_ATTR_TYPE_STRING = 11,\n\tNL_ATTR_TYPE_NUL_STRING = 12,\n\tNL_ATTR_TYPE_NESTED = 13,\n\tNL_ATTR_TYPE_NESTED_ARRAY = 14,\n\tNL_ATTR_TYPE_BITFIELD32 = 15,\n\tNL_ATTR_TYPE_SINT = 16,\n\tNL_ATTR_TYPE_UINT = 17,\n};\n\nenum netlink_policy_type_attr {\n\tNL_POLICY_TYPE_ATTR_UNSPEC = 0,\n\tNL_POLICY_TYPE_ATTR_TYPE = 1,\n\tNL_POLICY_TYPE_ATTR_MIN_VALUE_S = 2,\n\tNL_POLICY_TYPE_ATTR_MAX_VALUE_S = 3,\n\tNL_POLICY_TYPE_ATTR_MIN_VALUE_U = 4,\n\tNL_POLICY_TYPE_ATTR_MAX_VALUE_U = 5,\n\tNL_POLICY_TYPE_ATTR_MIN_LENGTH = 6,\n\tNL_POLICY_TYPE_ATTR_MAX_LENGTH = 7,\n\tNL_POLICY_TYPE_ATTR_POLICY_IDX = 8,\n\tNL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 9,\n\tNL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 10,\n\tNL_POLICY_TYPE_ATTR_PAD = 11,\n\tNL_POLICY_TYPE_ATTR_MASK = 12,\n\t__NL_POLICY_TYPE_ATTR_MAX = 13,\n\tNL_POLICY_TYPE_ATTR_MAX = 12,\n};\n\nenum netlink_skb_flags {\n\tNETLINK_SKB_DST = 8,\n};\n\nenum netlink_validation {\n\tNL_VALIDATE_LIBERAL = 0,\n\tNL_VALIDATE_TRAILING = 1,\n\tNL_VALIDATE_MAXTYPE = 2,\n\tNL_VALIDATE_UNSPEC = 4,\n\tNL_VALIDATE_STRICT_ATTRS = 8,\n\tNL_VALIDATE_NESTED = 16,\n};\n\nenum netloc_type4 {\n\tNL4_NAME = 1,\n\tNL4_URL = 2,\n\tNL4_NETADDR = 3,\n};\n\nenum netns_bpf_attach_type {\n\tNETNS_BPF_INVALID = -1,\n\tNETNS_BPF_FLOW_DISSECTOR = 0,\n\tNETNS_BPF_SK_LOOKUP = 1,\n\tMAX_NETNS_BPF_ATTACH_TYPE = 2,\n};\n\nenum nexthop_event_type {\n\tNEXTHOP_EVENT_DEL = 0,\n\tNEXTHOP_EVENT_REPLACE = 1,\n\tNEXTHOP_EVENT_RES_TABLE_PRE_REPLACE = 2,\n\tNEXTHOP_EVENT_BUCKET_REPLACE = 3,\n\tNEXTHOP_EVENT_HW_STATS_REPORT_DELTA = 4,\n};\n\nenum nf_ct_ext_id {\n\tNF_CT_EXT_HELPER = 0,\n\tNF_CT_EXT_NAT = 1,\n\tNF_CT_EXT_SEQADJ = 2,\n\tNF_CT_EXT_ACCT = 3,\n\tNF_CT_EXT_LABELS = 4,\n\tNF_CT_EXT_SYNPROXY = 5,\n\tNF_CT_EXT_NUM = 6,\n};\n\nenum nf_dev_hooks {\n\tNF_NETDEV_INGRESS = 0,\n\tNF_NETDEV_EGRESS = 1,\n\tNF_NETDEV_NUMHOOKS = 2,\n};\n\nenum nf_hook_ops_type {\n\tNF_HOOK_OP_UNDEFINED = 0,\n\tNF_HOOK_OP_NF_TABLES = 1,\n\tNF_HOOK_OP_BPF = 2,\n};\n\nenum nf_inet_hooks {\n\tNF_INET_PRE_ROUTING = 0,\n\tNF_INET_LOCAL_IN = 1,\n\tNF_INET_FORWARD = 2,\n\tNF_INET_LOCAL_OUT = 3,\n\tNF_INET_POST_ROUTING = 4,\n\tNF_INET_NUMHOOKS = 5,\n\tNF_INET_INGRESS = 5,\n};\n\nenum nf_ip6_hook_priorities {\n\tNF_IP6_PRI_FIRST = -2147483648,\n\tNF_IP6_PRI_RAW_BEFORE_DEFRAG = -450,\n\tNF_IP6_PRI_CONNTRACK_DEFRAG = -400,\n\tNF_IP6_PRI_RAW = -300,\n\tNF_IP6_PRI_SELINUX_FIRST = -225,\n\tNF_IP6_PRI_CONNTRACK = -200,\n\tNF_IP6_PRI_MANGLE = -150,\n\tNF_IP6_PRI_NAT_DST = -100,\n\tNF_IP6_PRI_FILTER = 0,\n\tNF_IP6_PRI_SECURITY = 50,\n\tNF_IP6_PRI_NAT_SRC = 100,\n\tNF_IP6_PRI_SELINUX_LAST = 225,\n\tNF_IP6_PRI_CONNTRACK_HELPER = 300,\n\tNF_IP6_PRI_LAST = 2147483647,\n};\n\nenum nf_ip_hook_priorities {\n\tNF_IP_PRI_FIRST = -2147483648,\n\tNF_IP_PRI_RAW_BEFORE_DEFRAG = -450,\n\tNF_IP_PRI_CONNTRACK_DEFRAG = -400,\n\tNF_IP_PRI_RAW = -300,\n\tNF_IP_PRI_SELINUX_FIRST = -225,\n\tNF_IP_PRI_CONNTRACK = -200,\n\tNF_IP_PRI_MANGLE = -150,\n\tNF_IP_PRI_NAT_DST = -100,\n\tNF_IP_PRI_FILTER = 0,\n\tNF_IP_PRI_SECURITY = 50,\n\tNF_IP_PRI_NAT_SRC = 100,\n\tNF_IP_PRI_SELINUX_LAST = 225,\n\tNF_IP_PRI_CONNTRACK_HELPER = 300,\n\tNF_IP_PRI_CONNTRACK_CONFIRM = 2147483647,\n\tNF_IP_PRI_LAST = 2147483647,\n};\n\nenum nf_ip_trace_comments {\n\tNF_IP6_TRACE_COMMENT_RULE = 0,\n\tNF_IP6_TRACE_COMMENT_RETURN = 1,\n\tNF_IP6_TRACE_COMMENT_POLICY = 2,\n};\n\nenum nf_log_type {\n\tNF_LOG_TYPE_LOG = 0,\n\tNF_LOG_TYPE_ULOG = 1,\n\tNF_LOG_TYPE_MAX = 2,\n};\n\nenum nf_nat_manip_type;\n\nenum nfs3_createmode {\n\tNFS3_CREATE_UNCHECKED = 0,\n\tNFS3_CREATE_GUARDED = 1,\n\tNFS3_CREATE_EXCLUSIVE = 2,\n};\n\nenum nfs3_ftype {\n\tNF3NON = 0,\n\tNF3REG = 1,\n\tNF3DIR = 2,\n\tNF3BLK = 3,\n\tNF3CHR = 4,\n\tNF3LNK = 5,\n\tNF3SOCK = 6,\n\tNF3FIFO = 7,\n\tNF3BAD = 8,\n};\n\nenum nfs3_stable_how {\n\tNFS_UNSTABLE = 0,\n\tNFS_DATA_SYNC = 1,\n\tNFS_FILE_SYNC = 2,\n\tNFS_INVALID_STABLE_HOW = -1,\n};\n\nenum nfs3_time_how {\n\tDONT_CHANGE = 0,\n\tSET_TO_SERVER_TIME = 1,\n\tSET_TO_CLIENT_TIME = 2,\n};\n\nenum nfs4_acl_type {\n\tNFS4ACL_NONE = 0,\n\tNFS4ACL_ACL = 1,\n\tNFS4ACL_DACL = 2,\n\tNFS4ACL_SACL = 3,\n};\n\nenum nfs4_acl_whotype {\n\tNFS4_ACL_WHO_NAMED = 0,\n\tNFS4_ACL_WHO_OWNER = 1,\n\tNFS4_ACL_WHO_GROUP = 2,\n\tNFS4_ACL_WHO_EVERYONE = 3,\n};\n\nenum nfs4_callback_procnum {\n\tCB_NULL = 0,\n\tCB_COMPOUND = 1,\n};\n\nenum nfs4_change_attr_type {\n\tNFS4_CHANGE_TYPE_IS_MONOTONIC_INCR = 0,\n\tNFS4_CHANGE_TYPE_IS_VERSION_COUNTER = 1,\n\tNFS4_CHANGE_TYPE_IS_VERSION_COUNTER_NOPNFS = 2,\n\tNFS4_CHANGE_TYPE_IS_TIME_METADATA = 3,\n\tNFS4_CHANGE_TYPE_IS_UNDEFINED = 4,\n};\n\nenum nfs4_client_state {\n\tNFS4CLNT_MANAGER_RUNNING = 0,\n\tNFS4CLNT_CHECK_LEASE = 1,\n\tNFS4CLNT_LEASE_EXPIRED = 2,\n\tNFS4CLNT_RECLAIM_REBOOT = 3,\n\tNFS4CLNT_RECLAIM_NOGRACE = 4,\n\tNFS4CLNT_DELEGRETURN = 5,\n\tNFS4CLNT_SESSION_RESET = 6,\n\tNFS4CLNT_LEASE_CONFIRM = 7,\n\tNFS4CLNT_SERVER_SCOPE_MISMATCH = 8,\n\tNFS4CLNT_PURGE_STATE = 9,\n\tNFS4CLNT_BIND_CONN_TO_SESSION = 10,\n\tNFS4CLNT_MOVED = 11,\n\tNFS4CLNT_LEASE_MOVED = 12,\n\tNFS4CLNT_DELEGATION_EXPIRED = 13,\n\tNFS4CLNT_RUN_MANAGER = 14,\n\tNFS4CLNT_MANAGER_AVAILABLE = 15,\n\tNFS4CLNT_RECALL_RUNNING = 16,\n\tNFS4CLNT_RECALL_ANY_LAYOUT_READ = 17,\n\tNFS4CLNT_RECALL_ANY_LAYOUT_RW = 18,\n\tNFS4CLNT_DELEGRETURN_DELAYED = 19,\n};\n\nenum nfs4_ff_op_type {\n\tNFS4_FF_OP_LAYOUTSTATS = 0,\n\tNFS4_FF_OP_LAYOUTRETURN = 1,\n};\n\nenum nfs4_open_delegation_type4 {\n\tNFS4_OPEN_DELEGATE_NONE = 0,\n\tNFS4_OPEN_DELEGATE_READ = 1,\n\tNFS4_OPEN_DELEGATE_WRITE = 2,\n\tNFS4_OPEN_DELEGATE_NONE_EXT = 3,\n\tNFS4_OPEN_DELEGATE_READ_ATTRS_DELEG = 4,\n\tNFS4_OPEN_DELEGATE_WRITE_ATTRS_DELEG = 5,\n};\n\nenum nfs4_session_state {\n\tNFS4_SESSION_INITING = 0,\n\tNFS4_SESSION_ESTABLISHED = 1,\n};\n\nenum nfs4_setxattr_options {\n\tSETXATTR4_EITHER = 0,\n\tSETXATTR4_CREATE = 1,\n\tSETXATTR4_REPLACE = 2,\n};\n\nenum nfs4_slot_tbl_state {\n\tNFS4_SLOT_TBL_DRAINING = 0,\n};\n\nenum nfs_cb_opnum4 {\n\tOP_CB_GETATTR = 3,\n\tOP_CB_RECALL = 4,\n\tOP_CB_LAYOUTRECALL = 5,\n\tOP_CB_NOTIFY = 6,\n\tOP_CB_PUSH_DELEG = 7,\n\tOP_CB_RECALL_ANY = 8,\n\tOP_CB_RECALLABLE_OBJ_AVAIL = 9,\n\tOP_CB_RECALL_SLOT = 10,\n\tOP_CB_SEQUENCE = 11,\n\tOP_CB_WANTS_CANCELLED = 12,\n\tOP_CB_NOTIFY_LOCK = 13,\n\tOP_CB_NOTIFY_DEVICEID = 14,\n\tOP_CB_OFFLOAD = 15,\n\tOP_CB_ILLEGAL = 10044,\n};\n\nenum nfs_ftype4 {\n\tNF4BAD = 0,\n\tNF4REG = 1,\n\tNF4DIR = 2,\n\tNF4BLK = 3,\n\tNF4CHR = 4,\n\tNF4LNK = 5,\n\tNF4SOCK = 6,\n\tNF4FIFO = 7,\n\tNF4ATTRDIR = 8,\n\tNF4NAMEDATTR = 9,\n};\n\nenum nfs_lock_status {\n\tNFS_LOCK_NOT_SET = 0,\n\tNFS_LOCK_LOCK = 1,\n\tNFS_LOCK_NOLOCK = 2,\n};\n\nenum nfs_opnum4 {\n\tOP_ACCESS = 3,\n\tOP_CLOSE = 4,\n\tOP_COMMIT = 5,\n\tOP_CREATE = 6,\n\tOP_DELEGPURGE = 7,\n\tOP_DELEGRETURN = 8,\n\tOP_GETATTR = 9,\n\tOP_GETFH = 10,\n\tOP_LINK = 11,\n\tOP_LOCK = 12,\n\tOP_LOCKT = 13,\n\tOP_LOCKU = 14,\n\tOP_LOOKUP = 15,\n\tOP_LOOKUPP = 16,\n\tOP_NVERIFY = 17,\n\tOP_OPEN = 18,\n\tOP_OPENATTR = 19,\n\tOP_OPEN_CONFIRM = 20,\n\tOP_OPEN_DOWNGRADE = 21,\n\tOP_PUTFH = 22,\n\tOP_PUTPUBFH = 23,\n\tOP_PUTROOTFH = 24,\n\tOP_READ = 25,\n\tOP_READDIR = 26,\n\tOP_READLINK = 27,\n\tOP_REMOVE = 28,\n\tOP_RENAME = 29,\n\tOP_RENEW = 30,\n\tOP_RESTOREFH = 31,\n\tOP_SAVEFH = 32,\n\tOP_SECINFO = 33,\n\tOP_SETATTR = 34,\n\tOP_SETCLIENTID = 35,\n\tOP_SETCLIENTID_CONFIRM = 36,\n\tOP_VERIFY = 37,\n\tOP_WRITE = 38,\n\tOP_RELEASE_LOCKOWNER = 39,\n\tOP_BACKCHANNEL_CTL = 40,\n\tOP_BIND_CONN_TO_SESSION = 41,\n\tOP_EXCHANGE_ID = 42,\n\tOP_CREATE_SESSION = 43,\n\tOP_DESTROY_SESSION = 44,\n\tOP_FREE_STATEID = 45,\n\tOP_GET_DIR_DELEGATION = 46,\n\tOP_GETDEVICEINFO = 47,\n\tOP_GETDEVICELIST = 48,\n\tOP_LAYOUTCOMMIT = 49,\n\tOP_LAYOUTGET = 50,\n\tOP_LAYOUTRETURN = 51,\n\tOP_SECINFO_NO_NAME = 52,\n\tOP_SEQUENCE = 53,\n\tOP_SET_SSV = 54,\n\tOP_TEST_STATEID = 55,\n\tOP_WANT_DELEGATION = 56,\n\tOP_DESTROY_CLIENTID = 57,\n\tOP_RECLAIM_COMPLETE = 58,\n\tOP_ALLOCATE = 59,\n\tOP_COPY = 60,\n\tOP_COPY_NOTIFY = 61,\n\tOP_DEALLOCATE = 62,\n\tOP_IO_ADVISE = 63,\n\tOP_LAYOUTERROR = 64,\n\tOP_LAYOUTSTATS = 65,\n\tOP_OFFLOAD_CANCEL = 66,\n\tOP_OFFLOAD_STATUS = 67,\n\tOP_READ_PLUS = 68,\n\tOP_SEEK = 69,\n\tOP_WRITE_SAME = 70,\n\tOP_CLONE = 71,\n\tOP_GETXATTR = 72,\n\tOP_SETXATTR = 73,\n\tOP_LISTXATTRS = 74,\n\tOP_REMOVEXATTR = 75,\n\tOP_ILLEGAL = 10044,\n};\n\nenum nfs_param {\n\tOpt_ac = 0,\n\tOpt_acdirmax = 1,\n\tOpt_acdirmin = 2,\n\tOpt_acl___4 = 3,\n\tOpt_acregmax = 4,\n\tOpt_acregmin = 5,\n\tOpt_actimeo = 6,\n\tOpt_addr = 7,\n\tOpt_bg = 8,\n\tOpt_bsize = 9,\n\tOpt_clientaddr = 10,\n\tOpt_cto = 11,\n\tOpt_alignwrite = 12,\n\tOpt_fg = 13,\n\tOpt_fscache = 14,\n\tOpt_fscache_flag = 15,\n\tOpt_hard = 16,\n\tOpt_intr = 17,\n\tOpt_local_lock = 18,\n\tOpt_lock = 19,\n\tOpt_lookupcache = 20,\n\tOpt_migration = 21,\n\tOpt_minorversion = 22,\n\tOpt_mountaddr = 23,\n\tOpt_mounthost = 24,\n\tOpt_mountport = 25,\n\tOpt_mountproto = 26,\n\tOpt_mountvers = 27,\n\tOpt_namelen = 28,\n\tOpt_nconnect = 29,\n\tOpt_max_connect = 30,\n\tOpt_port___2 = 31,\n\tOpt_posix = 32,\n\tOpt_proto = 33,\n\tOpt_rdirplus = 34,\n\tOpt_rdma = 35,\n\tOpt_resvport = 36,\n\tOpt_retrans = 37,\n\tOpt_retry = 38,\n\tOpt_rsize = 39,\n\tOpt_sec = 40,\n\tOpt_sharecache = 41,\n\tOpt_sloppy = 42,\n\tOpt_soft = 43,\n\tOpt_softerr = 44,\n\tOpt_softreval = 45,\n\tOpt_source___2 = 46,\n\tOpt_tcp = 47,\n\tOpt_timeo = 48,\n\tOpt_trunkdiscovery = 49,\n\tOpt_udp = 50,\n\tOpt_v = 51,\n\tOpt_vers = 52,\n\tOpt_wsize = 53,\n\tOpt_write = 54,\n\tOpt_xprtsec = 55,\n};\n\nenum nfs_stat {\n\tNFS_OK = 0,\n\tNFSERR_PERM = 1,\n\tNFSERR_NOENT = 2,\n\tNFSERR_IO = 5,\n\tNFSERR_NXIO = 6,\n\tNFSERR_EAGAIN = 11,\n\tNFSERR_ACCES = 13,\n\tNFSERR_EXIST = 17,\n\tNFSERR_XDEV = 18,\n\tNFSERR_NODEV = 19,\n\tNFSERR_NOTDIR = 20,\n\tNFSERR_ISDIR = 21,\n\tNFSERR_INVAL = 22,\n\tNFSERR_FBIG = 27,\n\tNFSERR_NOSPC = 28,\n\tNFSERR_ROFS = 30,\n\tNFSERR_MLINK = 31,\n\tNFSERR_NAMETOOLONG = 63,\n\tNFSERR_NOTEMPTY = 66,\n\tNFSERR_DQUOT = 69,\n\tNFSERR_STALE = 70,\n\tNFSERR_REMOTE = 71,\n\tNFSERR_WFLUSH = 99,\n\tNFSERR_BADHANDLE = 10001,\n\tNFSERR_NOT_SYNC = 10002,\n\tNFSERR_BAD_COOKIE = 10003,\n\tNFSERR_NOTSUPP = 10004,\n\tNFSERR_TOOSMALL = 10005,\n\tNFSERR_SERVERFAULT = 10006,\n\tNFSERR_BADTYPE = 10007,\n\tNFSERR_JUKEBOX = 10008,\n\tNFSERR_SAME = 10009,\n\tNFSERR_DENIED = 10010,\n\tNFSERR_EXPIRED = 10011,\n\tNFSERR_LOCKED = 10012,\n\tNFSERR_GRACE = 10013,\n\tNFSERR_FHEXPIRED = 10014,\n\tNFSERR_SHARE_DENIED = 10015,\n\tNFSERR_WRONGSEC = 10016,\n\tNFSERR_CLID_INUSE = 10017,\n\tNFSERR_RESOURCE = 10018,\n\tNFSERR_MOVED = 10019,\n\tNFSERR_NOFILEHANDLE = 10020,\n\tNFSERR_MINOR_VERS_MISMATCH = 10021,\n\tNFSERR_STALE_CLIENTID = 10022,\n\tNFSERR_STALE_STATEID = 10023,\n\tNFSERR_OLD_STATEID = 10024,\n\tNFSERR_BAD_STATEID = 10025,\n\tNFSERR_BAD_SEQID = 10026,\n\tNFSERR_NOT_SAME = 10027,\n\tNFSERR_LOCK_RANGE = 10028,\n\tNFSERR_SYMLINK = 10029,\n\tNFSERR_RESTOREFH = 10030,\n\tNFSERR_LEASE_MOVED = 10031,\n\tNFSERR_ATTRNOTSUPP = 10032,\n\tNFSERR_NO_GRACE = 10033,\n\tNFSERR_RECLAIM_BAD = 10034,\n\tNFSERR_RECLAIM_CONFLICT = 10035,\n\tNFSERR_BAD_XDR = 10036,\n\tNFSERR_LOCKS_HELD = 10037,\n\tNFSERR_OPENMODE = 10038,\n\tNFSERR_BADOWNER = 10039,\n\tNFSERR_BADCHAR = 10040,\n\tNFSERR_BADNAME = 10041,\n\tNFSERR_BAD_RANGE = 10042,\n\tNFSERR_LOCK_NOTSUPP = 10043,\n\tNFSERR_OP_ILLEGAL = 10044,\n\tNFSERR_DEADLOCK = 10045,\n\tNFSERR_FILE_OPEN = 10046,\n\tNFSERR_ADMIN_REVOKED = 10047,\n\tNFSERR_CB_PATH_DOWN = 10048,\n};\n\nenum nfs_stat_bytecounters {\n\tNFSIOS_NORMALREADBYTES = 0,\n\tNFSIOS_NORMALWRITTENBYTES = 1,\n\tNFSIOS_DIRECTREADBYTES = 2,\n\tNFSIOS_DIRECTWRITTENBYTES = 3,\n\tNFSIOS_SERVERREADBYTES = 4,\n\tNFSIOS_SERVERWRITTENBYTES = 5,\n\tNFSIOS_READPAGES = 6,\n\tNFSIOS_WRITEPAGES = 7,\n\t__NFSIOS_BYTESMAX = 8,\n};\n\nenum nfs_stat_eventcounters {\n\tNFSIOS_INODEREVALIDATE = 0,\n\tNFSIOS_DENTRYREVALIDATE = 1,\n\tNFSIOS_DATAINVALIDATE = 2,\n\tNFSIOS_ATTRINVALIDATE = 3,\n\tNFSIOS_VFSOPEN = 4,\n\tNFSIOS_VFSLOOKUP = 5,\n\tNFSIOS_VFSACCESS = 6,\n\tNFSIOS_VFSUPDATEPAGE = 7,\n\tNFSIOS_VFSREADPAGE = 8,\n\tNFSIOS_VFSREADPAGES = 9,\n\tNFSIOS_VFSWRITEPAGE = 10,\n\tNFSIOS_VFSWRITEPAGES = 11,\n\tNFSIOS_VFSGETDENTS = 12,\n\tNFSIOS_VFSSETATTR = 13,\n\tNFSIOS_VFSFLUSH = 14,\n\tNFSIOS_VFSFSYNC = 15,\n\tNFSIOS_VFSLOCK = 16,\n\tNFSIOS_VFSRELEASE = 17,\n\tNFSIOS_CONGESTIONWAIT = 18,\n\tNFSIOS_SETATTRTRUNC = 19,\n\tNFSIOS_EXTENDWRITE = 20,\n\tNFSIOS_SILLYRENAME = 21,\n\tNFSIOS_SHORTREAD = 22,\n\tNFSIOS_SHORTWRITE = 23,\n\tNFSIOS_DELAY = 24,\n\tNFSIOS_PNFS_READ = 25,\n\tNFSIOS_PNFS_WRITE = 26,\n\t__NFSIOS_COUNTSMAX = 27,\n};\n\nenum nfsd4_cb_op {\n\tNFSPROC4_CLNT_CB_NULL = 0,\n\tNFSPROC4_CLNT_CB_RECALL = 1,\n\tNFSPROC4_CLNT_CB_LAYOUT = 2,\n\tNFSPROC4_CLNT_CB_OFFLOAD = 3,\n\tNFSPROC4_CLNT_CB_SEQUENCE = 4,\n\tNFSPROC4_CLNT_CB_NOTIFY_LOCK = 5,\n\tNFSPROC4_CLNT_CB_RECALL_ANY = 6,\n\tNFSPROC4_CLNT_CB_GETATTR = 7,\n};\n\nenum nfsd4_op_flags {\n\tALLOWED_WITHOUT_FH = 1,\n\tALLOWED_ON_ABSENT_FS = 2,\n\tALLOWED_AS_FIRST_OP = 4,\n\tOP_HANDLES_WRONGSEC = 8,\n\tOP_IS_PUTFH_LIKE = 16,\n\tOP_MODIFIES_SOMETHING = 32,\n\tOP_CACHEME = 64,\n\tOP_CLEAR_STATEID = 128,\n\tOP_NONTRIVIAL_ERROR_ENCODE = 256,\n};\n\nenum nfsd_fsid {\n\tFSID_DEV = 0,\n\tFSID_NUM = 1,\n\tFSID_MAJOR_MINOR = 2,\n\tFSID_ENCODE_DEV = 3,\n\tFSID_UUID4_INUM = 4,\n\tFSID_UUID8 = 5,\n\tFSID_UUID16 = 6,\n\tFSID_UUID16_INUM = 7,\n};\n\nenum nfsstat4 {\n\tNFS4_OK = 0,\n\tNFS4ERR_PERM = 1,\n\tNFS4ERR_NOENT = 2,\n\tNFS4ERR_IO = 5,\n\tNFS4ERR_NXIO = 6,\n\tNFS4ERR_ACCESS = 13,\n\tNFS4ERR_EXIST = 17,\n\tNFS4ERR_XDEV = 18,\n\tNFS4ERR_NOTDIR = 20,\n\tNFS4ERR_ISDIR = 21,\n\tNFS4ERR_INVAL = 22,\n\tNFS4ERR_FBIG = 27,\n\tNFS4ERR_NOSPC = 28,\n\tNFS4ERR_ROFS = 30,\n\tNFS4ERR_MLINK = 31,\n\tNFS4ERR_NAMETOOLONG = 63,\n\tNFS4ERR_NOTEMPTY = 66,\n\tNFS4ERR_DQUOT = 69,\n\tNFS4ERR_STALE = 70,\n\tNFS4ERR_BADHANDLE = 10001,\n\tNFS4ERR_BAD_COOKIE = 10003,\n\tNFS4ERR_NOTSUPP = 10004,\n\tNFS4ERR_TOOSMALL = 10005,\n\tNFS4ERR_SERVERFAULT = 10006,\n\tNFS4ERR_BADTYPE = 10007,\n\tNFS4ERR_DELAY = 10008,\n\tNFS4ERR_SAME = 10009,\n\tNFS4ERR_DENIED = 10010,\n\tNFS4ERR_EXPIRED = 10011,\n\tNFS4ERR_LOCKED = 10012,\n\tNFS4ERR_GRACE = 10013,\n\tNFS4ERR_FHEXPIRED = 10014,\n\tNFS4ERR_SHARE_DENIED = 10015,\n\tNFS4ERR_WRONGSEC = 10016,\n\tNFS4ERR_CLID_INUSE = 10017,\n\tNFS4ERR_RESOURCE = 10018,\n\tNFS4ERR_MOVED = 10019,\n\tNFS4ERR_NOFILEHANDLE = 10020,\n\tNFS4ERR_MINOR_VERS_MISMATCH = 10021,\n\tNFS4ERR_STALE_CLIENTID = 10022,\n\tNFS4ERR_STALE_STATEID = 10023,\n\tNFS4ERR_OLD_STATEID = 10024,\n\tNFS4ERR_BAD_STATEID = 10025,\n\tNFS4ERR_BAD_SEQID = 10026,\n\tNFS4ERR_NOT_SAME = 10027,\n\tNFS4ERR_LOCK_RANGE = 10028,\n\tNFS4ERR_SYMLINK = 10029,\n\tNFS4ERR_RESTOREFH = 10030,\n\tNFS4ERR_LEASE_MOVED = 10031,\n\tNFS4ERR_ATTRNOTSUPP = 10032,\n\tNFS4ERR_NO_GRACE = 10033,\n\tNFS4ERR_RECLAIM_BAD = 10034,\n\tNFS4ERR_RECLAIM_CONFLICT = 10035,\n\tNFS4ERR_BADXDR = 10036,\n\tNFS4ERR_LOCKS_HELD = 10037,\n\tNFS4ERR_OPENMODE = 10038,\n\tNFS4ERR_BADOWNER = 10039,\n\tNFS4ERR_BADCHAR = 10040,\n\tNFS4ERR_BADNAME = 10041,\n\tNFS4ERR_BAD_RANGE = 10042,\n\tNFS4ERR_LOCK_NOTSUPP = 10043,\n\tNFS4ERR_OP_ILLEGAL = 10044,\n\tNFS4ERR_DEADLOCK = 10045,\n\tNFS4ERR_FILE_OPEN = 10046,\n\tNFS4ERR_ADMIN_REVOKED = 10047,\n\tNFS4ERR_CB_PATH_DOWN = 10048,\n\tNFS4ERR_BADIOMODE = 10049,\n\tNFS4ERR_BADLAYOUT = 10050,\n\tNFS4ERR_BAD_SESSION_DIGEST = 10051,\n\tNFS4ERR_BADSESSION = 10052,\n\tNFS4ERR_BADSLOT = 10053,\n\tNFS4ERR_COMPLETE_ALREADY = 10054,\n\tNFS4ERR_CONN_NOT_BOUND_TO_SESSION = 10055,\n\tNFS4ERR_DELEG_ALREADY_WANTED = 10056,\n\tNFS4ERR_BACK_CHAN_BUSY = 10057,\n\tNFS4ERR_LAYOUTTRYLATER = 10058,\n\tNFS4ERR_LAYOUTUNAVAILABLE = 10059,\n\tNFS4ERR_NOMATCHING_LAYOUT = 10060,\n\tNFS4ERR_RECALLCONFLICT = 10061,\n\tNFS4ERR_UNKNOWN_LAYOUTTYPE = 10062,\n\tNFS4ERR_SEQ_MISORDERED = 10063,\n\tNFS4ERR_SEQUENCE_POS = 10064,\n\tNFS4ERR_REQ_TOO_BIG = 10065,\n\tNFS4ERR_REP_TOO_BIG = 10066,\n\tNFS4ERR_REP_TOO_BIG_TO_CACHE = 10067,\n\tNFS4ERR_RETRY_UNCACHED_REP = 10068,\n\tNFS4ERR_UNSAFE_COMPOUND = 10069,\n\tNFS4ERR_TOO_MANY_OPS = 10070,\n\tNFS4ERR_OP_NOT_IN_SESSION = 10071,\n\tNFS4ERR_HASH_ALG_UNSUPP = 10072,\n\tNFS4ERR_CLIENTID_BUSY = 10074,\n\tNFS4ERR_PNFS_IO_HOLE = 10075,\n\tNFS4ERR_SEQ_FALSE_RETRY = 10076,\n\tNFS4ERR_BAD_HIGH_SLOT = 10077,\n\tNFS4ERR_DEADSESSION = 10078,\n\tNFS4ERR_ENCR_ALG_UNSUPP = 10079,\n\tNFS4ERR_PNFS_NO_LAYOUT = 10080,\n\tNFS4ERR_NOT_ONLY_OP = 10081,\n\tNFS4ERR_WRONG_CRED = 10082,\n\tNFS4ERR_WRONG_TYPE = 10083,\n\tNFS4ERR_DIRDELEG_UNAVAIL = 10084,\n\tNFS4ERR_REJECT_DELEG = 10085,\n\tNFS4ERR_RETURNCONFLICT = 10086,\n\tNFS4ERR_DELEG_REVOKED = 10087,\n\tNFS4ERR_PARTNER_NOTSUPP = 10088,\n\tNFS4ERR_PARTNER_NO_AUTH = 10089,\n\tNFS4ERR_UNION_NOTSUPP = 10090,\n\tNFS4ERR_OFFLOAD_DENIED = 10091,\n\tNFS4ERR_WRONG_LFS = 10092,\n\tNFS4ERR_BADLABEL = 10093,\n\tNFS4ERR_OFFLOAD_NO_REQS = 10094,\n\tNFS4ERR_NOXATTR = 10095,\n\tNFS4ERR_XATTR2BIG = 10096,\n\tNFS4ERR_FIRST_FREE = 10097,\n};\n\nenum nh_notifier_info_type {\n\tNH_NOTIFIER_INFO_TYPE_SINGLE = 0,\n\tNH_NOTIFIER_INFO_TYPE_GRP = 1,\n\tNH_NOTIFIER_INFO_TYPE_RES_TABLE = 2,\n\tNH_NOTIFIER_INFO_TYPE_RES_BUCKET = 3,\n\tNH_NOTIFIER_INFO_TYPE_GRP_HW_STATS = 4,\n};\n\nenum nhi_fw_mode {\n\tNHI_FW_SAFE_MODE = 0,\n\tNHI_FW_AUTH_MODE = 1,\n\tNHI_FW_EP_MODE = 2,\n\tNHI_FW_CM_MODE = 3,\n};\n\nenum nhi_mailbox_cmd {\n\tNHI_MAILBOX_SAVE_DEVS = 5,\n\tNHI_MAILBOX_DISCONNECT_PCIE_PATHS = 6,\n\tNHI_MAILBOX_DRV_UNLOADS = 7,\n\tNHI_MAILBOX_DISCONNECT_PA = 16,\n\tNHI_MAILBOX_DISCONNECT_PB = 17,\n\tNHI_MAILBOX_ALLOW_ALL_DEVS = 35,\n};\n\nenum nhlt_device_type {\n\tNHLT_DEVICE_BT = 0,\n\tNHLT_DEVICE_DMIC = 1,\n\tNHLT_DEVICE_I2S = 4,\n\tNHLT_DEVICE_INVALID = 5,\n};\n\nenum nhlt_link_type {\n\tNHLT_LINK_HDA = 0,\n\tNHLT_LINK_DSP = 1,\n\tNHLT_LINK_DMIC = 2,\n\tNHLT_LINK_SSP = 3,\n\tNHLT_LINK_INVALID = 4,\n};\n\nenum nl80211_auth_type {\n\tNL80211_AUTHTYPE_OPEN_SYSTEM = 0,\n\tNL80211_AUTHTYPE_SHARED_KEY = 1,\n\tNL80211_AUTHTYPE_FT = 2,\n\tNL80211_AUTHTYPE_NETWORK_EAP = 3,\n\tNL80211_AUTHTYPE_SAE = 4,\n\tNL80211_AUTHTYPE_FILS_SK = 5,\n\tNL80211_AUTHTYPE_FILS_SK_PFS = 6,\n\tNL80211_AUTHTYPE_FILS_PK = 7,\n\t__NL80211_AUTHTYPE_NUM = 8,\n\tNL80211_AUTHTYPE_MAX = 7,\n\tNL80211_AUTHTYPE_AUTOMATIC = 8,\n};\n\nenum nl80211_band {\n\tNL80211_BAND_2GHZ = 0,\n\tNL80211_BAND_5GHZ = 1,\n\tNL80211_BAND_60GHZ = 2,\n\tNL80211_BAND_6GHZ = 3,\n\tNL80211_BAND_S1GHZ = 4,\n\tNL80211_BAND_LC = 5,\n\tNUM_NL80211_BANDS = 6,\n};\n\nenum nl80211_bss_select_attr {\n\t__NL80211_BSS_SELECT_ATTR_INVALID = 0,\n\tNL80211_BSS_SELECT_ATTR_RSSI = 1,\n\tNL80211_BSS_SELECT_ATTR_BAND_PREF = 2,\n\tNL80211_BSS_SELECT_ATTR_RSSI_ADJUST = 3,\n\t__NL80211_BSS_SELECT_ATTR_AFTER_LAST = 4,\n\tNL80211_BSS_SELECT_ATTR_MAX = 3,\n};\n\nenum nl80211_chan_width {\n\tNL80211_CHAN_WIDTH_20_NOHT = 0,\n\tNL80211_CHAN_WIDTH_20 = 1,\n\tNL80211_CHAN_WIDTH_40 = 2,\n\tNL80211_CHAN_WIDTH_80 = 3,\n\tNL80211_CHAN_WIDTH_80P80 = 4,\n\tNL80211_CHAN_WIDTH_160 = 5,\n\tNL80211_CHAN_WIDTH_5 = 6,\n\tNL80211_CHAN_WIDTH_10 = 7,\n\tNL80211_CHAN_WIDTH_1 = 8,\n\tNL80211_CHAN_WIDTH_2 = 9,\n\tNL80211_CHAN_WIDTH_4 = 10,\n\tNL80211_CHAN_WIDTH_8 = 11,\n\tNL80211_CHAN_WIDTH_16 = 12,\n\tNL80211_CHAN_WIDTH_320 = 13,\n};\n\nenum nl80211_dfs_regions {\n\tNL80211_DFS_UNSET = 0,\n\tNL80211_DFS_FCC = 1,\n\tNL80211_DFS_ETSI = 2,\n\tNL80211_DFS_JP = 3,\n};\n\nenum nl80211_dfs_state {\n\tNL80211_DFS_USABLE = 0,\n\tNL80211_DFS_UNAVAILABLE = 1,\n\tNL80211_DFS_AVAILABLE = 2,\n};\n\nenum nl80211_iftype {\n\tNL80211_IFTYPE_UNSPECIFIED = 0,\n\tNL80211_IFTYPE_ADHOC = 1,\n\tNL80211_IFTYPE_STATION = 2,\n\tNL80211_IFTYPE_AP = 3,\n\tNL80211_IFTYPE_AP_VLAN = 4,\n\tNL80211_IFTYPE_WDS = 5,\n\tNL80211_IFTYPE_MONITOR = 6,\n\tNL80211_IFTYPE_MESH_POINT = 7,\n\tNL80211_IFTYPE_P2P_CLIENT = 8,\n\tNL80211_IFTYPE_P2P_GO = 9,\n\tNL80211_IFTYPE_P2P_DEVICE = 10,\n\tNL80211_IFTYPE_OCB = 11,\n\tNL80211_IFTYPE_NAN = 12,\n\tNUM_NL80211_IFTYPES = 13,\n\tNL80211_IFTYPE_MAX = 12,\n};\n\nenum nl80211_key_mode {\n\tNL80211_KEY_RX_TX = 0,\n\tNL80211_KEY_NO_TX = 1,\n\tNL80211_KEY_SET_TX = 2,\n};\n\nenum nl80211_mfp {\n\tNL80211_MFP_NO = 0,\n\tNL80211_MFP_REQUIRED = 1,\n\tNL80211_MFP_OPTIONAL = 2,\n};\n\nenum nl80211_reg_initiator {\n\tNL80211_REGDOM_SET_BY_CORE = 0,\n\tNL80211_REGDOM_SET_BY_USER = 1,\n\tNL80211_REGDOM_SET_BY_DRIVER = 2,\n\tNL80211_REGDOM_SET_BY_COUNTRY_IE = 3,\n};\n\nenum nl80211_sae_pwe_mechanism {\n\tNL80211_SAE_PWE_UNSPECIFIED = 0,\n\tNL80211_SAE_PWE_HUNT_AND_PECK = 1,\n\tNL80211_SAE_PWE_HASH_TO_ELEMENT = 2,\n\tNL80211_SAE_PWE_BOTH = 3,\n};\n\nenum nl80211_sar_type {\n\tNL80211_SAR_TYPE_POWER = 0,\n\tNUM_NL80211_SAR_TYPE = 1,\n};\n\nenum nl80211_user_reg_hint_type {\n\tNL80211_USER_REG_HINT_USER = 0,\n\tNL80211_USER_REG_HINT_CELL_BASE = 1,\n\tNL80211_USER_REG_HINT_INDOOR = 2,\n};\n\nenum nla_policy_validation {\n\tNLA_VALIDATE_NONE = 0,\n\tNLA_VALIDATE_RANGE = 1,\n\tNLA_VALIDATE_RANGE_WARN_TOO_LONG = 2,\n\tNLA_VALIDATE_MIN = 3,\n\tNLA_VALIDATE_MAX = 4,\n\tNLA_VALIDATE_MASK = 5,\n\tNLA_VALIDATE_RANGE_PTR = 6,\n\tNLA_VALIDATE_FUNCTION = 7,\n};\n\nenum nlmsgerr_attrs {\n\tNLMSGERR_ATTR_UNUSED = 0,\n\tNLMSGERR_ATTR_MSG = 1,\n\tNLMSGERR_ATTR_OFFS = 2,\n\tNLMSGERR_ATTR_COOKIE = 3,\n\tNLMSGERR_ATTR_POLICY = 4,\n\tNLMSGERR_ATTR_MISS_TYPE = 5,\n\tNLMSGERR_ATTR_MISS_NEST = 6,\n\t__NLMSGERR_ATTR_MAX = 7,\n\tNLMSGERR_ATTR_MAX = 6,\n};\n\nenum node_stat_item {\n\tNR_LRU_BASE = 0,\n\tNR_INACTIVE_ANON = 0,\n\tNR_ACTIVE_ANON = 1,\n\tNR_INACTIVE_FILE = 2,\n\tNR_ACTIVE_FILE = 3,\n\tNR_UNEVICTABLE = 4,\n\tNR_SLAB_RECLAIMABLE_B = 5,\n\tNR_SLAB_UNRECLAIMABLE_B = 6,\n\tNR_ISOLATED_ANON = 7,\n\tNR_ISOLATED_FILE = 8,\n\tWORKINGSET_NODES = 9,\n\tWORKINGSET_REFAULT_BASE = 10,\n\tWORKINGSET_REFAULT_ANON = 10,\n\tWORKINGSET_REFAULT_FILE = 11,\n\tWORKINGSET_ACTIVATE_BASE = 12,\n\tWORKINGSET_ACTIVATE_ANON = 12,\n\tWORKINGSET_ACTIVATE_FILE = 13,\n\tWORKINGSET_RESTORE_BASE = 14,\n\tWORKINGSET_RESTORE_ANON = 14,\n\tWORKINGSET_RESTORE_FILE = 15,\n\tWORKINGSET_NODERECLAIM = 16,\n\tNR_ANON_MAPPED = 17,\n\tNR_FILE_MAPPED = 18,\n\tNR_FILE_PAGES = 19,\n\tNR_FILE_DIRTY = 20,\n\tNR_WRITEBACK = 21,\n\tNR_WRITEBACK_TEMP = 22,\n\tNR_SHMEM = 23,\n\tNR_SHMEM_THPS = 24,\n\tNR_SHMEM_PMDMAPPED = 25,\n\tNR_FILE_THPS = 26,\n\tNR_FILE_PMDMAPPED = 27,\n\tNR_ANON_THPS = 28,\n\tNR_VMSCAN_WRITE = 29,\n\tNR_VMSCAN_IMMEDIATE = 30,\n\tNR_DIRTIED = 31,\n\tNR_WRITTEN = 32,\n\tNR_THROTTLED_WRITTEN = 33,\n\tNR_KERNEL_MISC_RECLAIMABLE = 34,\n\tNR_FOLL_PIN_ACQUIRED = 35,\n\tNR_FOLL_PIN_RELEASED = 36,\n\tNR_KERNEL_STACK_KB = 37,\n\tNR_PAGETABLE = 38,\n\tNR_SECONDARY_PAGETABLE = 39,\n\tNR_IOMMU_PAGES = 40,\n\tNR_SWAPCACHE = 41,\n\tPGPROMOTE_SUCCESS = 42,\n\tPGPROMOTE_CANDIDATE = 43,\n\tPGDEMOTE_KSWAPD = 44,\n\tPGDEMOTE_DIRECT = 45,\n\tPGDEMOTE_KHUGEPAGED = 46,\n\tNR_HUGETLB = 47,\n\tNR_VM_NODE_STAT_ITEMS = 48,\n};\n\nenum node_states {\n\tN_POSSIBLE = 0,\n\tN_ONLINE = 1,\n\tN_NORMAL_MEMORY = 2,\n\tN_HIGH_MEMORY = 2,\n\tN_MEMORY = 3,\n\tN_CPU = 4,\n\tN_GENERIC_INITIATOR = 5,\n\tNR_NODE_STATES = 6,\n};\n\nenum notify_state {\n\tSECCOMP_NOTIFY_INIT = 0,\n\tSECCOMP_NOTIFY_SENT = 1,\n\tSECCOMP_NOTIFY_REPLIED = 2,\n};\n\nenum numa_faults_stats {\n\tNUMA_MEM = 0,\n\tNUMA_CPU = 1,\n\tNUMA_MEMBUF = 2,\n\tNUMA_CPUBUF = 3,\n};\n\nenum numa_stat_item {\n\tNUMA_HIT = 0,\n\tNUMA_MISS = 1,\n\tNUMA_FOREIGN = 2,\n\tNUMA_INTERLEAVE_HIT = 3,\n\tNUMA_LOCAL = 4,\n\tNUMA_OTHER = 5,\n\tNR_VM_NUMA_EVENT_ITEMS = 6,\n};\n\nenum numa_topology_type {\n\tNUMA_DIRECT = 0,\n\tNUMA_GLUELESS_MESH = 1,\n\tNUMA_BACKPLANE = 2,\n};\n\nenum numa_type {\n\tnode_has_spare = 0,\n\tnode_fully_busy = 1,\n\tnode_overloaded = 2,\n};\n\nenum numa_vmaskip_reason {\n\tNUMAB_SKIP_UNSUITABLE = 0,\n\tNUMAB_SKIP_SHARED_RO = 1,\n\tNUMAB_SKIP_INACCESSIBLE = 2,\n\tNUMAB_SKIP_SCAN_DELAY = 3,\n\tNUMAB_SKIP_PID_INACTIVE = 4,\n\tNUMAB_SKIP_IGNORE_PID = 5,\n\tNUMAB_SKIP_SEQ_COMPLETED = 6,\n};\n\nenum nvme_admin_opcode {\n\tnvme_admin_delete_sq = 0,\n\tnvme_admin_create_sq = 1,\n\tnvme_admin_get_log_page = 2,\n\tnvme_admin_delete_cq = 4,\n\tnvme_admin_create_cq = 5,\n\tnvme_admin_identify = 6,\n\tnvme_admin_abort_cmd = 8,\n\tnvme_admin_set_features = 9,\n\tnvme_admin_get_features = 10,\n\tnvme_admin_async_event = 12,\n\tnvme_admin_ns_mgmt = 13,\n\tnvme_admin_activate_fw = 16,\n\tnvme_admin_download_fw = 17,\n\tnvme_admin_dev_self_test = 20,\n\tnvme_admin_ns_attach = 21,\n\tnvme_admin_keep_alive = 24,\n\tnvme_admin_directive_send = 25,\n\tnvme_admin_directive_recv = 26,\n\tnvme_admin_virtual_mgmt = 28,\n\tnvme_admin_nvme_mi_send = 29,\n\tnvme_admin_nvme_mi_recv = 30,\n\tnvme_admin_dbbuf = 124,\n\tnvme_admin_format_nvm = 128,\n\tnvme_admin_security_send = 129,\n\tnvme_admin_security_recv = 130,\n\tnvme_admin_sanitize_nvm = 132,\n\tnvme_admin_get_lba_status = 134,\n\tnvme_admin_vendor_start = 192,\n};\n\nenum nvme_ana_state {\n\tNVME_ANA_OPTIMIZED = 1,\n\tNVME_ANA_NONOPTIMIZED = 2,\n\tNVME_ANA_INACCESSIBLE = 3,\n\tNVME_ANA_PERSISTENT_LOSS = 4,\n\tNVME_ANA_CHANGE = 15,\n};\n\nenum nvme_ctrl_attr {\n\tNVME_CTRL_ATTR_HID_128_BIT = 1,\n\tNVME_CTRL_ATTR_TBKAS = 64,\n\tNVME_CTRL_ATTR_ELBAS = 32768,\n\tNVME_CTRL_ATTR_RHII = 262144,\n};\n\nenum nvme_ctrl_flags {\n\tNVME_CTRL_FAILFAST_EXPIRED = 0,\n\tNVME_CTRL_ADMIN_Q_STOPPED = 1,\n\tNVME_CTRL_STARTED_ONCE = 2,\n\tNVME_CTRL_STOPPED = 3,\n\tNVME_CTRL_SKIP_ID_CNS_CS = 4,\n\tNVME_CTRL_DIRTY_CAPABILITY = 5,\n\tNVME_CTRL_FROZEN = 6,\n};\n\nenum nvme_ctrl_state {\n\tNVME_CTRL_NEW = 0,\n\tNVME_CTRL_LIVE = 1,\n\tNVME_CTRL_RESETTING = 2,\n\tNVME_CTRL_CONNECTING = 3,\n\tNVME_CTRL_DELETING = 4,\n\tNVME_CTRL_DELETING_NOIO = 5,\n\tNVME_CTRL_DEAD = 6,\n};\n\nenum nvme_ctrl_type {\n\tNVME_CTRL_IO = 1,\n\tNVME_CTRL_DISC = 2,\n\tNVME_CTRL_ADMIN = 3,\n};\n\nenum nvme_dctype {\n\tNVME_DCTYPE_NOT_REPORTED = 0,\n\tNVME_DCTYPE_DDC = 1,\n\tNVME_DCTYPE_CDC = 2,\n};\n\nenum nvme_disposition {\n\tCOMPLETE = 0,\n\tRETRY = 1,\n\tFAILOVER = 2,\n\tAUTHENTICATE = 3,\n};\n\nenum nvme_eds {\n\tNVME_EXTENDED_DATA_STRUCT = 1,\n};\n\nenum nvme_iopolicy {\n\tNVME_IOPOLICY_NUMA = 0,\n\tNVME_IOPOLICY_RR = 1,\n\tNVME_IOPOLICY_QD = 2,\n};\n\nenum nvme_ns_features {\n\tNVME_NS_EXT_LBAS = 1,\n\tNVME_NS_METADATA_SUPPORTED = 2,\n\tNVME_NS_DEAC = 4,\n};\n\nenum nvme_opcode {\n\tnvme_cmd_flush = 0,\n\tnvme_cmd_write = 1,\n\tnvme_cmd_read = 2,\n\tnvme_cmd_write_uncor = 4,\n\tnvme_cmd_compare = 5,\n\tnvme_cmd_write_zeroes = 8,\n\tnvme_cmd_dsm = 9,\n\tnvme_cmd_verify = 12,\n\tnvme_cmd_resv_register = 13,\n\tnvme_cmd_resv_report = 14,\n\tnvme_cmd_resv_acquire = 17,\n\tnvme_cmd_resv_release = 21,\n\tnvme_cmd_zone_mgmt_send = 121,\n\tnvme_cmd_zone_mgmt_recv = 122,\n\tnvme_cmd_zone_append = 125,\n\tnvme_cmd_vendor_start = 128,\n};\n\nenum nvme_pr_acquire_action {\n\tNVME_PR_ACQUIRE_ACT_ACQUIRE = 0,\n\tNVME_PR_ACQUIRE_ACT_PREEMPT = 1,\n\tNVME_PR_ACQUIRE_ACT_PREEMPT_AND_ABORT = 2,\n};\n\nenum nvme_pr_change_ptpl {\n\tNVME_PR_CPTPL_NO_CHANGE = 0,\n\tNVME_PR_CPTPL_RESV = 1073741824,\n\tNVME_PR_CPTPL_CLEARED = -2147483648,\n\tNVME_PR_CPTPL_PERSIST = -1073741824,\n};\n\nenum nvme_pr_register_action {\n\tNVME_PR_REGISTER_ACT_REG = 0,\n\tNVME_PR_REGISTER_ACT_UNREG = 1,\n\tNVME_PR_REGISTER_ACT_REPLACE = 2,\n};\n\nenum nvme_pr_release_action {\n\tNVME_PR_RELEASE_ACT_RELEASE = 0,\n\tNVME_PR_RELEASE_ACT_CLEAR = 1,\n};\n\nenum nvme_pr_type {\n\tNVME_PR_WRITE_EXCLUSIVE = 1,\n\tNVME_PR_EXCLUSIVE_ACCESS = 2,\n\tNVME_PR_WRITE_EXCLUSIVE_REG_ONLY = 3,\n\tNVME_PR_EXCLUSIVE_ACCESS_REG_ONLY = 4,\n\tNVME_PR_WRITE_EXCLUSIVE_ALL_REGS = 5,\n\tNVME_PR_EXCLUSIVE_ACCESS_ALL_REGS = 6,\n};\n\nenum nvme_quirks {\n\tNVME_QUIRK_STRIPE_SIZE = 1,\n\tNVME_QUIRK_IDENTIFY_CNS = 2,\n\tNVME_QUIRK_DEALLOCATE_ZEROES = 4,\n\tNVME_QUIRK_DELAY_BEFORE_CHK_RDY = 8,\n\tNVME_QUIRK_NO_APST = 16,\n\tNVME_QUIRK_NO_DEEPEST_PS = 32,\n\tNVME_QUIRK_QDEPTH_ONE = 64,\n\tNVME_QUIRK_MEDIUM_PRIO_SQ = 128,\n\tNVME_QUIRK_IGNORE_DEV_SUBNQN = 256,\n\tNVME_QUIRK_DISABLE_WRITE_ZEROES = 512,\n\tNVME_QUIRK_SIMPLE_SUSPEND = 1024,\n\tNVME_QUIRK_SINGLE_VECTOR = 2048,\n\tNVME_QUIRK_128_BYTES_SQES = 4096,\n\tNVME_QUIRK_SHARED_TAGS = 8192,\n\tNVME_QUIRK_NO_TEMP_THRESH_CHANGE = 16384,\n\tNVME_QUIRK_NO_NS_DESC_LIST = 32768,\n\tNVME_QUIRK_DMA_ADDRESS_BITS_48 = 65536,\n\tNVME_QUIRK_SKIP_CID_GEN = 131072,\n\tNVME_QUIRK_BOGUS_NID = 262144,\n\tNVME_QUIRK_NO_SECONDARY_TEMP_THRESH = 524288,\n\tNVME_QUIRK_FORCE_NO_SIMPLE_SUSPEND = 1048576,\n\tNVME_QUIRK_BROKEN_MSI = 2097152,\n\tNVME_QUIRK_DMAPOOL_ALIGN_512 = 4194304,\n};\n\nenum nvme_subsys_type {\n\tNVME_NQN_DISC = 1,\n\tNVME_NQN_NVME = 2,\n\tNVME_NQN_CURR = 3,\n};\n\nenum nvme_zone_mgmt_action {\n\tNVME_ZONE_CLOSE = 1,\n\tNVME_ZONE_FINISH = 2,\n\tNVME_ZONE_OPEN = 3,\n\tNVME_ZONE_RESET = 4,\n\tNVME_ZONE_OFFLINE = 5,\n\tNVME_ZONE_SET_DESC_EXT = 16,\n};\n\nenum nvmem_type {\n\tNVMEM_TYPE_UNKNOWN = 0,\n\tNVMEM_TYPE_EEPROM = 1,\n\tNVMEM_TYPE_OTP = 2,\n\tNVMEM_TYPE_BATTERY_BACKED = 3,\n\tNVMEM_TYPE_FRAM = 4,\n};\n\nenum nvmf_capsule_command {\n\tnvme_fabrics_type_property_set = 0,\n\tnvme_fabrics_type_connect = 1,\n\tnvme_fabrics_type_property_get = 4,\n\tnvme_fabrics_type_auth_send = 5,\n\tnvme_fabrics_type_auth_receive = 6,\n};\n\nenum nvmf_fabrics_opcode {\n\tnvme_fabrics_command = 127,\n};\n\nenum objext_flags {\n\tOBJEXTS_ALLOC_FAIL = 4,\n\t__NR_OBJEXTS_FLAGS = 8,\n};\n\nenum of_gpio_flags {\n\tOF_GPIO_ACTIVE_LOW = 1,\n\tOF_GPIO_SINGLE_ENDED = 2,\n\tOF_GPIO_OPEN_DRAIN = 4,\n\tOF_GPIO_TRANSITORY = 8,\n\tOF_GPIO_PULL_UP = 16,\n\tOF_GPIO_PULL_DOWN = 32,\n\tOF_GPIO_PULL_DISABLE = 64,\n};\n\nenum offload_act_command {\n\tFLOW_ACT_REPLACE = 0,\n\tFLOW_ACT_DESTROY = 1,\n\tFLOW_ACT_STATS = 2,\n};\n\nenum ohci_rh_state {\n\tOHCI_RH_HALTED = 0,\n\tOHCI_RH_SUSPENDED = 1,\n\tOHCI_RH_RUNNING = 2,\n};\n\nenum oom_constraint {\n\tCONSTRAINT_NONE = 0,\n\tCONSTRAINT_CPUSET = 1,\n\tCONSTRAINT_MEMORY_POLICY = 2,\n\tCONSTRAINT_MEMCG = 3,\n};\n\nenum open_args_createmode4 {\n\tOPEN_ARGS_CREATEMODE_UNCHECKED4 = 0,\n\tOPEN_ARGS_CREATE_MODE_GUARDED = 1,\n\tOPEN_ARGS_CREATEMODE_EXCLUSIVE4 = 2,\n\tOPEN_ARGS_CREATE_MODE_EXCLUSIVE4_1 = 3,\n};\n\nenum open_args_open_claim4 {\n\tOPEN_ARGS_OPEN_CLAIM_NULL = 0,\n\tOPEN_ARGS_OPEN_CLAIM_PREVIOUS = 1,\n\tOPEN_ARGS_OPEN_CLAIM_DELEGATE_CUR = 2,\n\tOPEN_ARGS_OPEN_CLAIM_DELEGATE_PREV = 3,\n\tOPEN_ARGS_OPEN_CLAIM_FH = 4,\n\tOPEN_ARGS_OPEN_CLAIM_DELEG_CUR_FH = 5,\n\tOPEN_ARGS_OPEN_CLAIM_DELEG_PREV_FH = 6,\n};\n\nenum open_args_share_access4 {\n\tOPEN_ARGS_SHARE_ACCESS_READ = 1,\n\tOPEN_ARGS_SHARE_ACCESS_WRITE = 2,\n\tOPEN_ARGS_SHARE_ACCESS_BOTH = 3,\n};\n\nenum open_args_share_access_want4 {\n\tOPEN_ARGS_SHARE_ACCESS_WANT_ANY_DELEG = 3,\n\tOPEN_ARGS_SHARE_ACCESS_WANT_NO_DELEG = 4,\n\tOPEN_ARGS_SHARE_ACCESS_WANT_CANCEL = 5,\n\tOPEN_ARGS_SHARE_ACCESS_WANT_SIGNAL_DELEG_WHEN_RESRC_AVAIL = 17,\n\tOPEN_ARGS_SHARE_ACCESS_WANT_PUSH_DELEG_WHEN_UNCONTENDED = 18,\n\tOPEN_ARGS_SHARE_ACCESS_WANT_DELEG_TIMESTAMPS = 20,\n\tOPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION = 21,\n};\n\nenum open_args_share_deny4 {\n\tOPEN_ARGS_SHARE_DENY_NONE = 0,\n\tOPEN_ARGS_SHARE_DENY_READ = 1,\n\tOPEN_ARGS_SHARE_DENY_WRITE = 2,\n\tOPEN_ARGS_SHARE_DENY_BOTH = 3,\n};\n\nenum open_claim_type4 {\n\tNFS4_OPEN_CLAIM_NULL = 0,\n\tNFS4_OPEN_CLAIM_PREVIOUS = 1,\n\tNFS4_OPEN_CLAIM_DELEGATE_CUR = 2,\n\tNFS4_OPEN_CLAIM_DELEGATE_PREV = 3,\n\tNFS4_OPEN_CLAIM_FH = 4,\n\tNFS4_OPEN_CLAIM_DELEG_CUR_FH = 5,\n\tNFS4_OPEN_CLAIM_DELEG_PREV_FH = 6,\n};\n\nenum open_delegation_type4 {\n\tOPEN_DELEGATE_NONE = 0,\n\tOPEN_DELEGATE_READ = 1,\n\tOPEN_DELEGATE_WRITE = 2,\n\tOPEN_DELEGATE_NONE_EXT = 3,\n\tOPEN_DELEGATE_READ_ATTRS_DELEG = 4,\n\tOPEN_DELEGATE_WRITE_ATTRS_DELEG = 5,\n};\n\nenum open_frame_protocol {\n\tPROTOCOL_SMP = 0,\n\tPROTOCOL_SSP = 1,\n\tPROTOCOL_STP = 2,\n};\n\nenum opentype4 {\n\tNFS4_OPEN_NOCREATE = 0,\n\tNFS4_OPEN_CREATE = 1,\n};\n\nenum opp_table_access {\n\tOPP_TABLE_ACCESS_UNKNOWN = 0,\n\tOPP_TABLE_ACCESS_EXCLUSIVE = 1,\n\tOPP_TABLE_ACCESS_SHARED = 2,\n};\n\nenum ovl_copyop {\n\tOVL_COPY = 0,\n\tOVL_CLONE = 1,\n\tOVL_DEDUPE = 2,\n};\n\nenum ovl_entry_flag {\n\tOVL_E_UPPER_ALIAS = 0,\n\tOVL_E_OPAQUE = 1,\n\tOVL_E_CONNECTED = 2,\n\tOVL_E_XWHITEOUTS = 3,\n};\n\nenum ovl_inode_flag {\n\tOVL_IMPURE = 0,\n\tOVL_WHITEOUTS = 1,\n\tOVL_INDEX = 2,\n\tOVL_UPPERDATA = 3,\n\tOVL_CONST_INO = 4,\n\tOVL_HAS_DIGEST = 5,\n\tOVL_VERIFIED_DIGEST = 6,\n};\n\nenum ovl_opt {\n\tOpt_lowerdir = 0,\n\tOpt_lowerdir_add = 1,\n\tOpt_datadir_add = 2,\n\tOpt_upperdir = 3,\n\tOpt_workdir = 4,\n\tOpt_default_permissions = 5,\n\tOpt_redirect_dir = 6,\n\tOpt_index = 7,\n\tOpt_uuid = 8,\n\tOpt_nfs_export = 9,\n\tOpt_userxattr = 10,\n\tOpt_xino = 11,\n\tOpt_metacopy = 12,\n\tOpt_verity = 13,\n\tOpt_volatile = 14,\n};\n\nenum ovl_path_type {\n\t__OVL_PATH_UPPER = 1,\n\t__OVL_PATH_MERGE = 2,\n\t__OVL_PATH_ORIGIN = 4,\n};\n\nenum ovl_xattr {\n\tOVL_XATTR_OPAQUE = 0,\n\tOVL_XATTR_REDIRECT = 1,\n\tOVL_XATTR_ORIGIN = 2,\n\tOVL_XATTR_IMPURE = 3,\n\tOVL_XATTR_NLINK = 4,\n\tOVL_XATTR_UPPER = 5,\n\tOVL_XATTR_UUID = 6,\n\tOVL_XATTR_METACOPY = 7,\n\tOVL_XATTR_PROTATTR = 8,\n\tOVL_XATTR_XWHITEOUT = 9,\n};\n\nenum owner_state {\n\tOWNER_NULL = 1,\n\tOWNER_WRITER = 2,\n\tOWNER_READER = 4,\n\tOWNER_NONSPINNABLE = 8,\n};\n\nenum p9_cache_bits {\n\tCACHE_NONE = 0,\n\tCACHE_FILE = 1,\n\tCACHE_META = 2,\n\tCACHE_WRITEBACK = 4,\n\tCACHE_LOOSE = 8,\n\tCACHE_FSCACHE = 128,\n};\n\nenum p9_cache_shortcuts {\n\tCACHE_SC_NONE = 0,\n\tCACHE_SC_READAHEAD = 1,\n\tCACHE_SC_MMAP = 5,\n\tCACHE_SC_LOOSE = 15,\n\tCACHE_SC_FSCACHE = 143,\n};\n\nenum p9_fid_reftype {\n\tP9_FID_REF_CREATE = 0,\n\tP9_FID_REF_GET = 1,\n\tP9_FID_REF_PUT = 2,\n\tP9_FID_REF_DESTROY = 3,\n} __attribute__((mode(byte)));\n\nenum p9_msg_t {\n\tP9_TLERROR = 6,\n\tP9_RLERROR = 7,\n\tP9_TSTATFS = 8,\n\tP9_RSTATFS = 9,\n\tP9_TLOPEN = 12,\n\tP9_RLOPEN = 13,\n\tP9_TLCREATE = 14,\n\tP9_RLCREATE = 15,\n\tP9_TSYMLINK = 16,\n\tP9_RSYMLINK = 17,\n\tP9_TMKNOD = 18,\n\tP9_RMKNOD = 19,\n\tP9_TRENAME = 20,\n\tP9_RRENAME = 21,\n\tP9_TREADLINK = 22,\n\tP9_RREADLINK = 23,\n\tP9_TGETATTR = 24,\n\tP9_RGETATTR = 25,\n\tP9_TSETATTR = 26,\n\tP9_RSETATTR = 27,\n\tP9_TXATTRWALK = 30,\n\tP9_RXATTRWALK = 31,\n\tP9_TXATTRCREATE = 32,\n\tP9_RXATTRCREATE = 33,\n\tP9_TREADDIR = 40,\n\tP9_RREADDIR = 41,\n\tP9_TFSYNC = 50,\n\tP9_RFSYNC = 51,\n\tP9_TLOCK = 52,\n\tP9_RLOCK = 53,\n\tP9_TGETLOCK = 54,\n\tP9_RGETLOCK = 55,\n\tP9_TLINK = 70,\n\tP9_RLINK = 71,\n\tP9_TMKDIR = 72,\n\tP9_RMKDIR = 73,\n\tP9_TRENAMEAT = 74,\n\tP9_RRENAMEAT = 75,\n\tP9_TUNLINKAT = 76,\n\tP9_RUNLINKAT = 77,\n\tP9_TVERSION = 100,\n\tP9_RVERSION = 101,\n\tP9_TAUTH = 102,\n\tP9_RAUTH = 103,\n\tP9_TATTACH = 104,\n\tP9_RATTACH = 105,\n\tP9_TERROR = 106,\n\tP9_RERROR = 107,\n\tP9_TFLUSH = 108,\n\tP9_RFLUSH = 109,\n\tP9_TWALK = 110,\n\tP9_RWALK = 111,\n\tP9_TOPEN = 112,\n\tP9_ROPEN = 113,\n\tP9_TCREATE = 114,\n\tP9_RCREATE = 115,\n\tP9_TREAD = 116,\n\tP9_RREAD = 117,\n\tP9_TWRITE = 118,\n\tP9_RWRITE = 119,\n\tP9_TCLUNK = 120,\n\tP9_RCLUNK = 121,\n\tP9_TREMOVE = 122,\n\tP9_RREMOVE = 123,\n\tP9_TSTAT = 124,\n\tP9_RSTAT = 125,\n\tP9_TWSTAT = 126,\n\tP9_RWSTAT = 127,\n};\n\nenum p9_open_mode_t {\n\tP9_OREAD = 0,\n\tP9_OWRITE = 1,\n\tP9_ORDWR = 2,\n\tP9_OEXEC = 3,\n\tP9_OTRUNC = 16,\n\tP9_OREXEC = 32,\n\tP9_ORCLOSE = 64,\n\tP9_OAPPEND = 128,\n\tP9_OEXCL = 4096,\n\tP9L_MODE_MASK = 8191,\n\tP9L_DIRECT = 8192,\n\tP9L_NOWRITECACHE = 16384,\n\tP9L_LOOSE = 32768,\n};\n\nenum p9_perm_t {\n\tP9_DMDIR = 2147483648,\n\tP9_DMAPPEND = 1073741824,\n\tP9_DMEXCL = 536870912,\n\tP9_DMMOUNT = 268435456,\n\tP9_DMAUTH = 134217728,\n\tP9_DMTMP = 67108864,\n\tP9_DMSYMLINK = 33554432,\n\tP9_DMLINK = 16777216,\n\tP9_DMDEVICE = 8388608,\n\tP9_DMNAMEDPIPE = 2097152,\n\tP9_DMSOCKET = 1048576,\n\tP9_DMSETUID = 524288,\n\tP9_DMSETGID = 262144,\n\tP9_DMSETVTX = 65536,\n};\n\nenum p9_proto_versions {\n\tp9_proto_legacy = 0,\n\tp9_proto_2000u = 1,\n\tp9_proto_2000L = 2,\n};\n\nenum p9_req_status_t {\n\tREQ_STATUS_ALLOC = 0,\n\tREQ_STATUS_UNSENT = 1,\n\tREQ_STATUS_SENT = 2,\n\tREQ_STATUS_RCVD = 3,\n\tREQ_STATUS_FLSHD = 4,\n\tREQ_STATUS_ERROR = 5,\n};\n\nenum p9_session_flags {\n\tV9FS_PROTO_2000U = 1,\n\tV9FS_PROTO_2000L = 2,\n\tV9FS_ACCESS_SINGLE = 4,\n\tV9FS_ACCESS_USER = 8,\n\tV9FS_ACCESS_CLIENT = 16,\n\tV9FS_POSIX_ACL = 32,\n\tV9FS_NO_XATTR = 64,\n\tV9FS_IGNORE_QV = 128,\n\tV9FS_DIRECT_IO = 256,\n\tV9FS_SYNC = 512,\n};\n\nenum p9_trans_status {\n\tConnected = 0,\n\tBeginDisconnect = 1,\n\tDisconnected = 2,\n\tHung = 3,\n};\n\nenum packet_sock_flags {\n\tPACKET_SOCK_ORIGDEV = 0,\n\tPACKET_SOCK_AUXDATA = 1,\n\tPACKET_SOCK_TX_HAS_OFF = 2,\n\tPACKET_SOCK_TP_LOSS = 3,\n\tPACKET_SOCK_RUNNING = 4,\n\tPACKET_SOCK_PRESSURE = 5,\n\tPACKET_SOCK_QDISC_BYPASS = 6,\n};\n\nenum packets_types {\n\tPACKET_AVCPQ = 1,\n\tPACKET_PTPQ = 2,\n\tPACKET_DCBCPQ = 3,\n\tPACKET_UPQ = 4,\n\tPACKET_MCBCQ = 5,\n};\n\nenum page_memcg_data_flags {\n\tMEMCG_DATA_OBJEXTS = 1,\n\tMEMCG_DATA_KMEM = 2,\n\t__NR_MEMCG_DATA_FLAGS = 4,\n};\n\nenum page_size_enum {\n\t__PAGE_SIZE = 16384,\n};\n\nenum page_walk_action {\n\tACTION_SUBTREE = 0,\n\tACTION_CONTINUE = 1,\n\tACTION_AGAIN = 2,\n};\n\nenum page_walk_lock {\n\tPGWALK_RDLOCK = 0,\n\tPGWALK_WRLOCK = 1,\n\tPGWALK_WRLOCK_VERIFY = 2,\n};\n\nenum pageblock_bits {\n\tPB_migrate = 0,\n\tPB_migrate_end = 2,\n\tPB_migrate_skip = 3,\n\tNR_PAGEBLOCK_BITS = 4,\n};\n\nenum pageflags {\n\tPG_locked = 0,\n\tPG_writeback = 1,\n\tPG_referenced = 2,\n\tPG_uptodate = 3,\n\tPG_dirty = 4,\n\tPG_lru = 5,\n\tPG_head = 6,\n\tPG_waiters = 7,\n\tPG_active = 8,\n\tPG_workingset = 9,\n\tPG_owner_priv_1 = 10,\n\tPG_owner_2 = 11,\n\tPG_arch_1 = 12,\n\tPG_reserved = 13,\n\tPG_private = 14,\n\tPG_private_2 = 15,\n\tPG_reclaim = 16,\n\tPG_swapbacked = 17,\n\tPG_unevictable = 18,\n\tPG_dropbehind = 19,\n\tPG_mlocked = 20,\n\t__NR_PAGEFLAGS = 21,\n\tPG_readahead = 16,\n\tPG_swapcache = 10,\n\tPG_checked = 10,\n\tPG_anon_exclusive = 11,\n\tPG_mappedtodisk = 11,\n\tPG_fscache = 15,\n\tPG_pinned = 10,\n\tPG_savepinned = 4,\n\tPG_foreign = 10,\n\tPG_xen_remapped = 10,\n\tPG_isolated = 16,\n\tPG_reported = 3,\n\tPG_vmemmap_self_hosted = 10,\n\tPG_has_hwpoisoned = 8,\n\tPG_large_rmappable = 9,\n\tPG_partially_mapped = 16,\n};\n\nenum pagetype {\n\tPGTY_buddy = 240,\n\tPGTY_offline = 241,\n\tPGTY_table = 242,\n\tPGTY_guard = 243,\n\tPGTY_hugetlb = 244,\n\tPGTY_slab = 245,\n\tPGTY_zsmalloc = 246,\n\tPGTY_unaccepted = 247,\n\tPGTY_mapcount_underflow = 255,\n};\n\nenum parport_pc_pci_cards {\n\ttitan_110l = 0,\n\ttitan_210l = 1,\n\tnetmos_9xx5_combo = 2,\n\tnetmos_9855 = 3,\n\tnetmos_9855_2p = 4,\n\tnetmos_9900 = 5,\n\tnetmos_9900_2p = 6,\n\tnetmos_99xx_1p = 7,\n\tavlab_1s1p = 8,\n\tavlab_1s2p = 9,\n\tavlab_2s1p = 10,\n\tsiig_1s1p_10x = 11,\n\tsiig_2s1p_10x = 12,\n\tsiig_2p1s_20x = 13,\n\tsiig_1s1p_20x = 14,\n\tsiig_2s1p_20x = 15,\n\ttimedia_4078a = 16,\n\ttimedia_4079h = 17,\n\ttimedia_4085h = 18,\n\ttimedia_4088a = 19,\n\ttimedia_4089a = 20,\n\ttimedia_4095a = 21,\n\ttimedia_4096a = 22,\n\ttimedia_4078u = 23,\n\ttimedia_4079a = 24,\n\ttimedia_4085u = 25,\n\ttimedia_4079r = 26,\n\ttimedia_4079s = 27,\n\ttimedia_4079d = 28,\n\ttimedia_4079e = 29,\n\ttimedia_4079f = 30,\n\ttimedia_9079a = 31,\n\ttimedia_9079b = 32,\n\ttimedia_9079c = 33,\n\twch_ch353_1s1p = 34,\n\twch_ch353_2s1p = 35,\n\twch_ch382_0s1p = 36,\n\twch_ch382_2s1p = 37,\n\tbrainboxes_5s1p = 38,\n\tsunix_4008a = 39,\n\tsunix_5069a = 40,\n\tsunix_5079a = 41,\n\tsunix_5099a = 42,\n\tbrainboxes_uc257 = 43,\n\tbrainboxes_is300 = 44,\n\tbrainboxes_uc414 = 45,\n\tbrainboxes_px263 = 46,\n};\n\nenum parport_pc_pci_cards___2 {\n\tsiig_1p_10x = 3,\n\tsiig_2p_10x = 4,\n\tsiig_1p_20x = 5,\n\tsiig_2p_20x = 6,\n\tlava_parallel = 7,\n\tlava_parallel_dual_a = 8,\n\tlava_parallel_dual_b = 9,\n\tboca_ioppar = 10,\n\tplx_9050 = 11,\n\ttimedia_4006a = 12,\n\ttimedia_4014 = 13,\n\ttimedia_4008a = 14,\n\ttimedia_4018 = 15,\n\ttimedia_9018a = 16,\n\tsyba_2p_epp = 17,\n\tsyba_1p_ecp = 18,\n\ttitan_010l = 19,\n\tavlab_1p = 20,\n\tavlab_2p = 21,\n\toxsemi_952 = 22,\n\toxsemi_954 = 23,\n\toxsemi_840 = 24,\n\toxsemi_pcie_pport = 25,\n\taks_0100 = 26,\n\tmobility_pp = 27,\n\tnetmos_9900___2 = 28,\n\tnetmos_9705 = 29,\n\tnetmos_9715 = 30,\n\tnetmos_9755 = 31,\n\tnetmos_9805 = 32,\n\tnetmos_9815 = 33,\n\tnetmos_9901 = 34,\n\tnetmos_9865 = 35,\n\tasix_ax99100 = 36,\n\tquatech_sppxp100 = 37,\n\twch_ch382l = 38,\n\tbrainboxes_uc146 = 39,\n\tbrainboxes_px203 = 40,\n};\n\nenum parport_pc_sio_types {\n\tsio_via_686a = 0,\n\tsio_via_8231 = 1,\n\tsio_ite_8872 = 2,\n\tlast_sio = 3,\n};\n\nenum partition_cmd {\n\tpartcmd_enable = 0,\n\tpartcmd_enablei = 1,\n\tpartcmd_disable = 2,\n\tpartcmd_update = 3,\n\tpartcmd_invalidate = 4,\n};\n\nenum passtype {\n\tPASS_SCAN = 0,\n\tPASS_REVOKE = 1,\n\tPASS_REPLAY = 2,\n};\n\nenum path_flags {\n\tPATH_IS_DIR = 1,\n\tPATH_CONNECT_PATH = 4,\n\tPATH_CHROOT_REL = 8,\n\tPATH_CHROOT_NSCONNECT = 16,\n\tPATH_DELEGATE_DELETED = 65536,\n\tPATH_MEDIATE_DELETED = 131072,\n};\n\nenum pce_status {\n\tPCE_STATUS_NONE = 0,\n\tPCE_STATUS_ACQUIRED = 1,\n\tPCE_STATUS_PREPARED = 2,\n\tPCE_STATUS_ENABLED = 3,\n\tPCE_STATUS_ERROR = 4,\n};\n\nenum pci_bar_type {\n\tpci_bar_unknown = 0,\n\tpci_bar_io = 1,\n\tpci_bar_mem32 = 2,\n\tpci_bar_mem64 = 3,\n};\n\nenum pci_board_num_t {\n\tpbn_default = 0,\n\tpbn_b0_1_115200 = 1,\n\tpbn_b0_2_115200 = 2,\n\tpbn_b0_4_115200 = 3,\n\tpbn_b0_5_115200 = 4,\n\tpbn_b0_8_115200 = 5,\n\tpbn_b0_1_921600 = 6,\n\tpbn_b0_2_921600 = 7,\n\tpbn_b0_4_921600 = 8,\n\tpbn_b0_2_1130000 = 9,\n\tpbn_b0_4_1152000 = 10,\n\tpbn_b0_4_1250000 = 11,\n\tpbn_b0_2_1843200 = 12,\n\tpbn_b0_4_1843200 = 13,\n\tpbn_b0_1_15625000 = 14,\n\tpbn_b0_bt_1_115200 = 15,\n\tpbn_b0_bt_2_115200 = 16,\n\tpbn_b0_bt_4_115200 = 17,\n\tpbn_b0_bt_8_115200 = 18,\n\tpbn_b0_bt_1_460800 = 19,\n\tpbn_b0_bt_2_460800 = 20,\n\tpbn_b0_bt_4_460800 = 21,\n\tpbn_b0_bt_1_921600 = 22,\n\tpbn_b0_bt_2_921600 = 23,\n\tpbn_b0_bt_4_921600 = 24,\n\tpbn_b0_bt_8_921600 = 25,\n\tpbn_b1_1_115200 = 26,\n\tpbn_b1_2_115200 = 27,\n\tpbn_b1_4_115200 = 28,\n\tpbn_b1_8_115200 = 29,\n\tpbn_b1_16_115200 = 30,\n\tpbn_b1_1_921600 = 31,\n\tpbn_b1_2_921600 = 32,\n\tpbn_b1_4_921600 = 33,\n\tpbn_b1_8_921600 = 34,\n\tpbn_b1_2_1250000 = 35,\n\tpbn_b1_bt_1_115200 = 36,\n\tpbn_b1_bt_2_115200 = 37,\n\tpbn_b1_bt_4_115200 = 38,\n\tpbn_b1_bt_2_921600 = 39,\n\tpbn_b1_1_1382400 = 40,\n\tpbn_b1_2_1382400 = 41,\n\tpbn_b1_4_1382400 = 42,\n\tpbn_b1_8_1382400 = 43,\n\tpbn_b2_1_115200 = 44,\n\tpbn_b2_2_115200 = 45,\n\tpbn_b2_4_115200 = 46,\n\tpbn_b2_8_115200 = 47,\n\tpbn_b2_1_460800 = 48,\n\tpbn_b2_4_460800 = 49,\n\tpbn_b2_8_460800 = 50,\n\tpbn_b2_16_460800 = 51,\n\tpbn_b2_1_921600 = 52,\n\tpbn_b2_4_921600 = 53,\n\tpbn_b2_8_921600 = 54,\n\tpbn_b2_8_1152000 = 55,\n\tpbn_b2_bt_1_115200 = 56,\n\tpbn_b2_bt_2_115200 = 57,\n\tpbn_b2_bt_4_115200 = 58,\n\tpbn_b2_bt_2_921600 = 59,\n\tpbn_b2_bt_4_921600 = 60,\n\tpbn_b3_2_115200 = 61,\n\tpbn_b3_4_115200 = 62,\n\tpbn_b3_8_115200 = 63,\n\tpbn_b4_bt_2_921600 = 64,\n\tpbn_b4_bt_4_921600 = 65,\n\tpbn_b4_bt_8_921600 = 66,\n\tpbn_panacom = 67,\n\tpbn_panacom2 = 68,\n\tpbn_panacom4 = 69,\n\tpbn_plx_romulus = 70,\n\tpbn_oxsemi = 71,\n\tpbn_oxsemi_1_15625000 = 72,\n\tpbn_oxsemi_2_15625000 = 73,\n\tpbn_oxsemi_4_15625000 = 74,\n\tpbn_oxsemi_8_15625000 = 75,\n\tpbn_intel_i960 = 76,\n\tpbn_sgi_ioc3 = 77,\n\tpbn_computone_4 = 78,\n\tpbn_computone_6 = 79,\n\tpbn_computone_8 = 80,\n\tpbn_sbsxrsio = 81,\n\tpbn_pasemi_1682M = 82,\n\tpbn_ni8430_2 = 83,\n\tpbn_ni8430_4 = 84,\n\tpbn_ni8430_8 = 85,\n\tpbn_ni8430_16 = 86,\n\tpbn_ADDIDATA_PCIe_1_3906250 = 87,\n\tpbn_ADDIDATA_PCIe_2_3906250 = 88,\n\tpbn_ADDIDATA_PCIe_4_3906250 = 89,\n\tpbn_ADDIDATA_PCIe_8_3906250 = 90,\n\tpbn_ce4100_1_115200 = 91,\n\tpbn_omegapci = 92,\n\tpbn_NETMOS9900_2s_115200 = 93,\n\tpbn_brcm_trumanage = 94,\n\tpbn_fintek_4 = 95,\n\tpbn_fintek_8 = 96,\n\tpbn_fintek_12 = 97,\n\tpbn_fintek_F81504A = 98,\n\tpbn_fintek_F81508A = 99,\n\tpbn_fintek_F81512A = 100,\n\tpbn_wch382_2 = 101,\n\tpbn_wch384_4 = 102,\n\tpbn_wch384_8 = 103,\n\tpbn_sunix_pci_1s = 104,\n\tpbn_sunix_pci_2s = 105,\n\tpbn_sunix_pci_4s = 106,\n\tpbn_sunix_pci_8s = 107,\n\tpbn_sunix_pci_16s = 108,\n\tpbn_titan_1_4000000 = 109,\n\tpbn_titan_2_4000000 = 110,\n\tpbn_titan_4_4000000 = 111,\n\tpbn_titan_8_4000000 = 112,\n\tpbn_moxa_2 = 113,\n\tpbn_moxa_4 = 114,\n\tpbn_moxa_8 = 115,\n};\n\nenum pci_bus_flags {\n\tPCI_BUS_FLAGS_NO_MSI = 1,\n\tPCI_BUS_FLAGS_NO_MMRBC = 2,\n\tPCI_BUS_FLAGS_NO_AERSID = 4,\n\tPCI_BUS_FLAGS_NO_EXTCFG = 8,\n};\n\nenum pci_bus_speed {\n\tPCI_SPEED_33MHz = 0,\n\tPCI_SPEED_66MHz = 1,\n\tPCI_SPEED_66MHz_PCIX = 2,\n\tPCI_SPEED_100MHz_PCIX = 3,\n\tPCI_SPEED_133MHz_PCIX = 4,\n\tPCI_SPEED_66MHz_PCIX_ECC = 5,\n\tPCI_SPEED_100MHz_PCIX_ECC = 6,\n\tPCI_SPEED_133MHz_PCIX_ECC = 7,\n\tPCI_SPEED_66MHz_PCIX_266 = 9,\n\tPCI_SPEED_100MHz_PCIX_266 = 10,\n\tPCI_SPEED_133MHz_PCIX_266 = 11,\n\tAGP_UNKNOWN = 12,\n\tAGP_1X = 13,\n\tAGP_2X = 14,\n\tAGP_4X = 15,\n\tAGP_8X = 16,\n\tPCI_SPEED_66MHz_PCIX_533 = 17,\n\tPCI_SPEED_100MHz_PCIX_533 = 18,\n\tPCI_SPEED_133MHz_PCIX_533 = 19,\n\tPCIE_SPEED_2_5GT = 20,\n\tPCIE_SPEED_5_0GT = 21,\n\tPCIE_SPEED_8_0GT = 22,\n\tPCIE_SPEED_16_0GT = 23,\n\tPCIE_SPEED_32_0GT = 24,\n\tPCIE_SPEED_64_0GT = 25,\n\tPCI_SPEED_UNKNOWN = 255,\n};\n\nenum pci_cfg_register_bits {\n\tPCTL_PWR_OFF = 251658240,\n\tPCTL_COM_ON = 15728640,\n\tPCTL_LINK_RST = 983040,\n\tPCTL_LINK_OFFS = 16,\n\tPCTL_PHY_DSBL = 61440,\n\tPCTL_PHY_DSBL_OFFS = 12,\n\tPRD_REQ_SIZE = 16384,\n\tPRD_REQ_MASK = 28672,\n\tPLS_NEG_LINK_WD = 1008,\n\tPLS_NEG_LINK_WD_OFFS = 4,\n\tPLS_LINK_SPD = 15,\n\tPLS_LINK_SPD_OFFS = 0,\n};\n\nenum pci_cfg_registers {\n\tPCR_PHY_CTL = 64,\n\tPCR_PHY_CTL2 = 144,\n\tPCR_DEV_CTRL = 232,\n\tPCR_LINK_STAT = 242,\n};\n\nenum pci_cfg_registers___2 {\n\tPCR_PHY_CTL___2 = 64,\n\tPCR_PHY_CTL2___2 = 144,\n\tPCR_DEV_CTRL___2 = 120,\n\tPCR_LINK_STAT___2 = 130,\n};\n\nenum pci_dev_flags {\n\tPCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = 1,\n\tPCI_DEV_FLAGS_NO_D3 = 2,\n\tPCI_DEV_FLAGS_ASSIGNED = 4,\n\tPCI_DEV_FLAGS_ACS_ENABLED_QUIRK = 8,\n\tPCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = 32,\n\tPCI_DEV_FLAGS_NO_BUS_RESET = 64,\n\tPCI_DEV_FLAGS_NO_PM_RESET = 128,\n\tPCI_DEV_FLAGS_VPD_REF_F0 = 256,\n\tPCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = 512,\n\tPCI_DEV_FLAGS_NO_FLR_RESET = 1024,\n\tPCI_DEV_FLAGS_NO_RELAXED_ORDERING = 2048,\n\tPCI_DEV_FLAGS_HAS_MSI_MASKING = 4096,\n};\n\nenum pci_ers_result {\n\tPCI_ERS_RESULT_NONE = 1,\n\tPCI_ERS_RESULT_CAN_RECOVER = 2,\n\tPCI_ERS_RESULT_NEED_RESET = 3,\n\tPCI_ERS_RESULT_DISCONNECT = 4,\n\tPCI_ERS_RESULT_RECOVERED = 5,\n\tPCI_ERS_RESULT_NO_AER_DRIVER = 6,\n};\n\nenum pci_fixup_pass {\n\tpci_fixup_early = 0,\n\tpci_fixup_header = 1,\n\tpci_fixup_final = 2,\n\tpci_fixup_enable = 3,\n\tpci_fixup_resume = 4,\n\tpci_fixup_suspend = 5,\n\tpci_fixup_resume_early = 6,\n\tpci_fixup_suspend_late = 7,\n};\n\nenum pci_interrupt_cause {\n\tMVS_IRQ_COM_IN_I2O_IOP0 = 1,\n\tMVS_IRQ_COM_IN_I2O_IOP1 = 2,\n\tMVS_IRQ_COM_IN_I2O_IOP2 = 4,\n\tMVS_IRQ_COM_IN_I2O_IOP3 = 8,\n\tMVS_IRQ_COM_OUT_I2O_HOS0 = 16,\n\tMVS_IRQ_COM_OUT_I2O_HOS1 = 32,\n\tMVS_IRQ_COM_OUT_I2O_HOS2 = 64,\n\tMVS_IRQ_COM_OUT_I2O_HOS3 = 128,\n\tMVS_IRQ_PCIF_TO_CPU_DRBL0 = 256,\n\tMVS_IRQ_PCIF_TO_CPU_DRBL1 = 512,\n\tMVS_IRQ_PCIF_TO_CPU_DRBL2 = 1024,\n\tMVS_IRQ_PCIF_TO_CPU_DRBL3 = 2048,\n\tMVS_IRQ_PCIF_DRBL0 = 4096,\n\tMVS_IRQ_PCIF_DRBL1 = 8192,\n\tMVS_IRQ_PCIF_DRBL2 = 16384,\n\tMVS_IRQ_PCIF_DRBL3 = 32768,\n\tMVS_IRQ_XOR_A = 65536,\n\tMVS_IRQ_XOR_B = 131072,\n\tMVS_IRQ_SAS_A = 262144,\n\tMVS_IRQ_SAS_B = 524288,\n\tMVS_IRQ_CPU_CNTRL = 1048576,\n\tMVS_IRQ_GPIO = 2097152,\n\tMVS_IRQ_UART = 4194304,\n\tMVS_IRQ_SPI = 8388608,\n\tMVS_IRQ_I2C = 16777216,\n\tMVS_IRQ_SGPIO = 33554432,\n\tMVS_IRQ_COM_ERR = 536870912,\n\tMVS_IRQ_I2O_ERR = 1073741824,\n\tMVS_IRQ_PCIE_ERR = -2147483648,\n};\n\nenum pci_mmap_api {\n\tPCI_MMAP_SYSFS = 0,\n\tPCI_MMAP_PROCFS = 1,\n};\n\nenum pci_mmap_state {\n\tpci_mmap_io = 0,\n\tpci_mmap_mem = 1,\n};\n\nenum pci_p2pdma_map_type {\n\tPCI_P2PDMA_MAP_UNKNOWN = 0,\n\tPCI_P2PDMA_MAP_NOT_SUPPORTED = 1,\n\tPCI_P2PDMA_MAP_BUS_ADDR = 2,\n\tPCI_P2PDMA_MAP_THRU_HOST_BRIDGE = 3,\n};\n\nenum pcie_bus_config_types {\n\tPCIE_BUS_TUNE_OFF = 0,\n\tPCIE_BUS_DEFAULT = 1,\n\tPCIE_BUS_SAFE = 2,\n\tPCIE_BUS_PERFORMANCE = 3,\n\tPCIE_BUS_PEER2PEER = 4,\n};\n\nenum pcie_link_width {\n\tPCIE_LNK_WIDTH_RESRV = 0,\n\tPCIE_LNK_X1 = 1,\n\tPCIE_LNK_X2 = 2,\n\tPCIE_LNK_X4 = 4,\n\tPCIE_LNK_X8 = 8,\n\tPCIE_LNK_X12 = 12,\n\tPCIE_LNK_X16 = 16,\n\tPCIE_LNK_X32 = 32,\n\tPCIE_LNK_WIDTH_UNKNOWN = 255,\n};\n\nenum pcie_reset_state {\n\tpcie_deassert_reset = 1,\n\tpcie_warm_reset = 2,\n\tpcie_hot_reset = 3,\n};\n\nenum pcim_addr_devres_type {\n\tPCIM_ADDR_DEVRES_TYPE_INVALID = 0,\n\tPCIM_ADDR_DEVRES_TYPE_REGION = 1,\n\tPCIM_ADDR_DEVRES_TYPE_REGION_MAPPING = 2,\n\tPCIM_ADDR_DEVRES_TYPE_MAPPING = 3,\n};\n\nenum pcpu_fc {\n\tPCPU_FC_AUTO = 0,\n\tPCPU_FC_EMBED = 1,\n\tPCPU_FC_PAGE = 2,\n\tPCPU_FC_NR = 3,\n};\n\nenum pedit_cmd {\n\tTCA_PEDIT_KEY_EX_CMD_SET = 0,\n\tTCA_PEDIT_KEY_EX_CMD_ADD = 1,\n\t__PEDIT_CMD_MAX = 2,\n};\n\nenum pedit_header_type {\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK = 0,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_ETH = 1,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_IP4 = 2,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_IP6 = 3,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_TCP = 4,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5,\n\t__PEDIT_HDR_TYPE_MAX = 6,\n};\n\nenum perf_addr_filter_action_t {\n\tPERF_ADDR_FILTER_ACTION_STOP = 0,\n\tPERF_ADDR_FILTER_ACTION_START = 1,\n\tPERF_ADDR_FILTER_ACTION_FILTER = 2,\n};\n\nenum perf_bpf_event_type {\n\tPERF_BPF_EVENT_UNKNOWN = 0,\n\tPERF_BPF_EVENT_PROG_LOAD = 1,\n\tPERF_BPF_EVENT_PROG_UNLOAD = 2,\n\tPERF_BPF_EVENT_MAX = 3,\n};\n\nenum perf_branch_sample_type {\n\tPERF_SAMPLE_BRANCH_USER = 1,\n\tPERF_SAMPLE_BRANCH_KERNEL = 2,\n\tPERF_SAMPLE_BRANCH_HV = 4,\n\tPERF_SAMPLE_BRANCH_ANY = 8,\n\tPERF_SAMPLE_BRANCH_ANY_CALL = 16,\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 32,\n\tPERF_SAMPLE_BRANCH_IND_CALL = 64,\n\tPERF_SAMPLE_BRANCH_ABORT_TX = 128,\n\tPERF_SAMPLE_BRANCH_IN_TX = 256,\n\tPERF_SAMPLE_BRANCH_NO_TX = 512,\n\tPERF_SAMPLE_BRANCH_COND = 1024,\n\tPERF_SAMPLE_BRANCH_CALL_STACK = 2048,\n\tPERF_SAMPLE_BRANCH_IND_JUMP = 4096,\n\tPERF_SAMPLE_BRANCH_CALL = 8192,\n\tPERF_SAMPLE_BRANCH_NO_FLAGS = 16384,\n\tPERF_SAMPLE_BRANCH_NO_CYCLES = 32768,\n\tPERF_SAMPLE_BRANCH_TYPE_SAVE = 65536,\n\tPERF_SAMPLE_BRANCH_HW_INDEX = 131072,\n\tPERF_SAMPLE_BRANCH_PRIV_SAVE = 262144,\n\tPERF_SAMPLE_BRANCH_COUNTERS = 524288,\n\tPERF_SAMPLE_BRANCH_MAX = 1048576,\n};\n\nenum perf_branch_sample_type_shift {\n\tPERF_SAMPLE_BRANCH_USER_SHIFT = 0,\n\tPERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1,\n\tPERF_SAMPLE_BRANCH_HV_SHIFT = 2,\n\tPERF_SAMPLE_BRANCH_ANY_SHIFT = 3,\n\tPERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4,\n\tPERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5,\n\tPERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6,\n\tPERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7,\n\tPERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8,\n\tPERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9,\n\tPERF_SAMPLE_BRANCH_COND_SHIFT = 10,\n\tPERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11,\n\tPERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12,\n\tPERF_SAMPLE_BRANCH_CALL_SHIFT = 13,\n\tPERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14,\n\tPERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15,\n\tPERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16,\n\tPERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17,\n\tPERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18,\n\tPERF_SAMPLE_BRANCH_COUNTERS_SHIFT = 19,\n\tPERF_SAMPLE_BRANCH_MAX_SHIFT = 20,\n};\n\nenum perf_callchain_context {\n\tPERF_CONTEXT_HV = 18446744073709551584ULL,\n\tPERF_CONTEXT_KERNEL = 18446744073709551488ULL,\n\tPERF_CONTEXT_USER = 18446744073709551104ULL,\n\tPERF_CONTEXT_GUEST = 18446744073709549568ULL,\n\tPERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL,\n\tPERF_CONTEXT_GUEST_USER = 18446744073709549056ULL,\n\tPERF_CONTEXT_MAX = 18446744073709547521ULL,\n};\n\nenum perf_event_ioc_flags {\n\tPERF_IOC_FLAG_GROUP = 1,\n};\n\nenum perf_event_loongarch_regs {\n\tPERF_REG_LOONGARCH_PC = 0,\n\tPERF_REG_LOONGARCH_R1 = 1,\n\tPERF_REG_LOONGARCH_R2 = 2,\n\tPERF_REG_LOONGARCH_R3 = 3,\n\tPERF_REG_LOONGARCH_R4 = 4,\n\tPERF_REG_LOONGARCH_R5 = 5,\n\tPERF_REG_LOONGARCH_R6 = 6,\n\tPERF_REG_LOONGARCH_R7 = 7,\n\tPERF_REG_LOONGARCH_R8 = 8,\n\tPERF_REG_LOONGARCH_R9 = 9,\n\tPERF_REG_LOONGARCH_R10 = 10,\n\tPERF_REG_LOONGARCH_R11 = 11,\n\tPERF_REG_LOONGARCH_R12 = 12,\n\tPERF_REG_LOONGARCH_R13 = 13,\n\tPERF_REG_LOONGARCH_R14 = 14,\n\tPERF_REG_LOONGARCH_R15 = 15,\n\tPERF_REG_LOONGARCH_R16 = 16,\n\tPERF_REG_LOONGARCH_R17 = 17,\n\tPERF_REG_LOONGARCH_R18 = 18,\n\tPERF_REG_LOONGARCH_R19 = 19,\n\tPERF_REG_LOONGARCH_R20 = 20,\n\tPERF_REG_LOONGARCH_R21 = 21,\n\tPERF_REG_LOONGARCH_R22 = 22,\n\tPERF_REG_LOONGARCH_R23 = 23,\n\tPERF_REG_LOONGARCH_R24 = 24,\n\tPERF_REG_LOONGARCH_R25 = 25,\n\tPERF_REG_LOONGARCH_R26 = 26,\n\tPERF_REG_LOONGARCH_R27 = 27,\n\tPERF_REG_LOONGARCH_R28 = 28,\n\tPERF_REG_LOONGARCH_R29 = 29,\n\tPERF_REG_LOONGARCH_R30 = 30,\n\tPERF_REG_LOONGARCH_R31 = 31,\n\tPERF_REG_LOONGARCH_MAX = 32,\n};\n\nenum perf_event_read_format {\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 1,\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 2,\n\tPERF_FORMAT_ID = 4,\n\tPERF_FORMAT_GROUP = 8,\n\tPERF_FORMAT_LOST = 16,\n\tPERF_FORMAT_MAX = 32,\n};\n\nenum perf_event_sample_format {\n\tPERF_SAMPLE_IP = 1,\n\tPERF_SAMPLE_TID = 2,\n\tPERF_SAMPLE_TIME = 4,\n\tPERF_SAMPLE_ADDR = 8,\n\tPERF_SAMPLE_READ = 16,\n\tPERF_SAMPLE_CALLCHAIN = 32,\n\tPERF_SAMPLE_ID = 64,\n\tPERF_SAMPLE_CPU = 128,\n\tPERF_SAMPLE_PERIOD = 256,\n\tPERF_SAMPLE_STREAM_ID = 512,\n\tPERF_SAMPLE_RAW = 1024,\n\tPERF_SAMPLE_BRANCH_STACK = 2048,\n\tPERF_SAMPLE_REGS_USER = 4096,\n\tPERF_SAMPLE_STACK_USER = 8192,\n\tPERF_SAMPLE_WEIGHT = 16384,\n\tPERF_SAMPLE_DATA_SRC = 32768,\n\tPERF_SAMPLE_IDENTIFIER = 65536,\n\tPERF_SAMPLE_TRANSACTION = 131072,\n\tPERF_SAMPLE_REGS_INTR = 262144,\n\tPERF_SAMPLE_PHYS_ADDR = 524288,\n\tPERF_SAMPLE_AUX = 1048576,\n\tPERF_SAMPLE_CGROUP = 2097152,\n\tPERF_SAMPLE_DATA_PAGE_SIZE = 4194304,\n\tPERF_SAMPLE_CODE_PAGE_SIZE = 8388608,\n\tPERF_SAMPLE_WEIGHT_STRUCT = 16777216,\n\tPERF_SAMPLE_MAX = 33554432,\n};\n\nenum perf_event_state {\n\tPERF_EVENT_STATE_DEAD = -4,\n\tPERF_EVENT_STATE_EXIT = -3,\n\tPERF_EVENT_STATE_ERROR = -2,\n\tPERF_EVENT_STATE_OFF = -1,\n\tPERF_EVENT_STATE_INACTIVE = 0,\n\tPERF_EVENT_STATE_ACTIVE = 1,\n};\n\nenum perf_event_task_context {\n\tperf_invalid_context = -1,\n\tperf_hw_context = 0,\n\tperf_sw_context = 1,\n\tperf_nr_task_contexts = 2,\n};\n\nenum perf_event_type {\n\tPERF_RECORD_MMAP = 1,\n\tPERF_RECORD_LOST = 2,\n\tPERF_RECORD_COMM = 3,\n\tPERF_RECORD_EXIT = 4,\n\tPERF_RECORD_THROTTLE = 5,\n\tPERF_RECORD_UNTHROTTLE = 6,\n\tPERF_RECORD_FORK = 7,\n\tPERF_RECORD_READ = 8,\n\tPERF_RECORD_SAMPLE = 9,\n\tPERF_RECORD_MMAP2 = 10,\n\tPERF_RECORD_AUX = 11,\n\tPERF_RECORD_ITRACE_START = 12,\n\tPERF_RECORD_LOST_SAMPLES = 13,\n\tPERF_RECORD_SWITCH = 14,\n\tPERF_RECORD_SWITCH_CPU_WIDE = 15,\n\tPERF_RECORD_NAMESPACES = 16,\n\tPERF_RECORD_KSYMBOL = 17,\n\tPERF_RECORD_BPF_EVENT = 18,\n\tPERF_RECORD_CGROUP = 19,\n\tPERF_RECORD_TEXT_POKE = 20,\n\tPERF_RECORD_AUX_OUTPUT_HW_ID = 21,\n\tPERF_RECORD_MAX = 22,\n};\n\nenum perf_hw_cache_id {\n\tPERF_COUNT_HW_CACHE_L1D = 0,\n\tPERF_COUNT_HW_CACHE_L1I = 1,\n\tPERF_COUNT_HW_CACHE_LL = 2,\n\tPERF_COUNT_HW_CACHE_DTLB = 3,\n\tPERF_COUNT_HW_CACHE_ITLB = 4,\n\tPERF_COUNT_HW_CACHE_BPU = 5,\n\tPERF_COUNT_HW_CACHE_NODE = 6,\n\tPERF_COUNT_HW_CACHE_MAX = 7,\n};\n\nenum perf_hw_cache_op_id {\n\tPERF_COUNT_HW_CACHE_OP_READ = 0,\n\tPERF_COUNT_HW_CACHE_OP_WRITE = 1,\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 2,\n\tPERF_COUNT_HW_CACHE_OP_MAX = 3,\n};\n\nenum perf_hw_cache_op_result_id {\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0,\n\tPERF_COUNT_HW_CACHE_RESULT_MISS = 1,\n\tPERF_COUNT_HW_CACHE_RESULT_MAX = 2,\n};\n\nenum perf_hw_id {\n\tPERF_COUNT_HW_CPU_CYCLES = 0,\n\tPERF_COUNT_HW_INSTRUCTIONS = 1,\n\tPERF_COUNT_HW_CACHE_REFERENCES = 2,\n\tPERF_COUNT_HW_CACHE_MISSES = 3,\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4,\n\tPERF_COUNT_HW_BRANCH_MISSES = 5,\n\tPERF_COUNT_HW_BUS_CYCLES = 6,\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7,\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8,\n\tPERF_COUNT_HW_REF_CPU_CYCLES = 9,\n\tPERF_COUNT_HW_MAX = 10,\n};\n\nenum perf_pmu_scope {\n\tPERF_PMU_SCOPE_NONE = 0,\n\tPERF_PMU_SCOPE_CORE = 1,\n\tPERF_PMU_SCOPE_DIE = 2,\n\tPERF_PMU_SCOPE_CLUSTER = 3,\n\tPERF_PMU_SCOPE_PKG = 4,\n\tPERF_PMU_SCOPE_SYS_WIDE = 5,\n\tPERF_PMU_MAX_SCOPE = 6,\n};\n\nenum perf_probe_config {\n\tPERF_PROBE_CONFIG_IS_RETPROBE = 1,\n\tPERF_UPROBE_REF_CTR_OFFSET_BITS = 32,\n\tPERF_UPROBE_REF_CTR_OFFSET_SHIFT = 32,\n};\n\nenum perf_record_ksymbol_type {\n\tPERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0,\n\tPERF_RECORD_KSYMBOL_TYPE_BPF = 1,\n\tPERF_RECORD_KSYMBOL_TYPE_OOL = 2,\n\tPERF_RECORD_KSYMBOL_TYPE_MAX = 3,\n};\n\nenum perf_sample_regs_abi {\n\tPERF_SAMPLE_REGS_ABI_NONE = 0,\n\tPERF_SAMPLE_REGS_ABI_32 = 1,\n\tPERF_SAMPLE_REGS_ABI_64 = 2,\n};\n\nenum perf_sw_ids {\n\tPERF_COUNT_SW_CPU_CLOCK = 0,\n\tPERF_COUNT_SW_TASK_CLOCK = 1,\n\tPERF_COUNT_SW_PAGE_FAULTS = 2,\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 3,\n\tPERF_COUNT_SW_CPU_MIGRATIONS = 4,\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN = 5,\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 7,\n\tPERF_COUNT_SW_EMULATION_FAULTS = 8,\n\tPERF_COUNT_SW_DUMMY = 9,\n\tPERF_COUNT_SW_BPF_OUTPUT = 10,\n\tPERF_COUNT_SW_CGROUP_SWITCHES = 11,\n\tPERF_COUNT_SW_MAX = 12,\n};\n\nenum perf_type_id {\n\tPERF_TYPE_HARDWARE = 0,\n\tPERF_TYPE_SOFTWARE = 1,\n\tPERF_TYPE_TRACEPOINT = 2,\n\tPERF_TYPE_HW_CACHE = 3,\n\tPERF_TYPE_RAW = 4,\n\tPERF_TYPE_BREAKPOINT = 5,\n\tPERF_TYPE_MAX = 6,\n};\n\nenum pgdat_flags {\n\tPGDAT_DIRTY = 0,\n\tPGDAT_WRITEBACK = 1,\n\tPGDAT_RECLAIM_LOCKED = 2,\n};\n\nenum pgt_entry {\n\tNORMAL_PMD = 0,\n\tHPAGE_PMD = 1,\n\tNORMAL_PUD = 2,\n\tHPAGE_PUD = 3,\n};\n\nenum phy_event {\n\tPHYE_LOSS_OF_SIGNAL = 0,\n\tPHYE_OOB_DONE = 1,\n\tPHYE_OOB_ERROR = 2,\n\tPHYE_SPINUP_HOLD = 3,\n\tPHYE_RESUME_TIMEOUT = 4,\n\tPHYE_SHUTDOWN = 5,\n\tPHY_NUM_EVENTS = 6,\n};\n\nenum phy_func {\n\tPHY_FUNC_NOP = 0,\n\tPHY_FUNC_LINK_RESET = 1,\n\tPHY_FUNC_HARD_RESET = 2,\n\tPHY_FUNC_DISABLE = 3,\n\tPHY_FUNC_CLEAR_ERROR_LOG = 5,\n\tPHY_FUNC_CLEAR_AFFIL = 6,\n\tPHY_FUNC_TX_SATA_PS_SIGNAL = 7,\n\tPHY_FUNC_RELEASE_SPINUP_HOLD = 16,\n\tPHY_FUNC_SET_LINK_RATE = 17,\n\tPHY_FUNC_GET_EVENTS = 18,\n};\n\nenum phy_led_modes {\n\tPHY_LED_ACTIVE_HIGH = 0,\n\tPHY_LED_ACTIVE_LOW = 1,\n\tPHY_LED_INACTIVE_HIGH_IMPEDANCE = 2,\n\t__PHY_LED_MODES_NUM = 3,\n};\n\nenum phy_media {\n\tPHY_MEDIA_DEFAULT = 0,\n\tPHY_MEDIA_SR = 1,\n\tPHY_MEDIA_DAC = 2,\n};\n\nenum phy_mode {\n\tPHY_MODE_INVALID = 0,\n\tPHY_MODE_USB_HOST = 1,\n\tPHY_MODE_USB_HOST_LS = 2,\n\tPHY_MODE_USB_HOST_FS = 3,\n\tPHY_MODE_USB_HOST_HS = 4,\n\tPHY_MODE_USB_HOST_SS = 5,\n\tPHY_MODE_USB_DEVICE = 6,\n\tPHY_MODE_USB_DEVICE_LS = 7,\n\tPHY_MODE_USB_DEVICE_FS = 8,\n\tPHY_MODE_USB_DEVICE_HS = 9,\n\tPHY_MODE_USB_DEVICE_SS = 10,\n\tPHY_MODE_USB_OTG = 11,\n\tPHY_MODE_UFS_HS_A = 12,\n\tPHY_MODE_UFS_HS_B = 13,\n\tPHY_MODE_PCIE = 14,\n\tPHY_MODE_ETHERNET = 15,\n\tPHY_MODE_MIPI_DPHY = 16,\n\tPHY_MODE_SATA = 17,\n\tPHY_MODE_LVDS = 18,\n\tPHY_MODE_DP = 19,\n};\n\nenum phy_state {\n\tPHY_DOWN = 0,\n\tPHY_READY = 1,\n\tPHY_HALTED = 2,\n\tPHY_ERROR = 3,\n\tPHY_UP = 4,\n\tPHY_RUNNING = 5,\n\tPHY_NOLINK = 6,\n\tPHY_CABLETEST = 7,\n};\n\nenum phy_state_work {\n\tPHY_STATE_WORK_NONE = 0,\n\tPHY_STATE_WORK_ANEG = 1,\n\tPHY_STATE_WORK_SUSPEND = 2,\n};\n\nenum phy_tunable_id {\n\tETHTOOL_PHY_ID_UNSPEC = 0,\n\tETHTOOL_PHY_DOWNSHIFT = 1,\n\tETHTOOL_PHY_FAST_LINK_DOWN = 2,\n\tETHTOOL_PHY_EDPD = 3,\n\t__ETHTOOL_PHY_TUNABLE_COUNT = 4,\n};\n\nenum phy_upstream {\n\tPHY_UPSTREAM_MAC = 0,\n\tPHY_UPSTREAM_PHY = 1,\n};\n\nenum phylink_op_type {\n\tPHYLINK_NETDEV = 0,\n\tPHYLINK_DEV = 1,\n};\n\nenum pid_type {\n\tPIDTYPE_PID = 0,\n\tPIDTYPE_TGID = 1,\n\tPIDTYPE_PGID = 2,\n\tPIDTYPE_SID = 3,\n\tPIDTYPE_MAX = 4,\n};\n\nenum pidcg_event {\n\tPIDCG_MAX = 0,\n\tPIDCG_FORKFAIL = 1,\n\tNR_PIDCG_EVENTS = 2,\n};\n\nenum pin_config_param {\n\tPIN_CONFIG_BIAS_BUS_HOLD = 0,\n\tPIN_CONFIG_BIAS_DISABLE = 1,\n\tPIN_CONFIG_BIAS_HIGH_IMPEDANCE = 2,\n\tPIN_CONFIG_BIAS_PULL_DOWN = 3,\n\tPIN_CONFIG_BIAS_PULL_PIN_DEFAULT = 4,\n\tPIN_CONFIG_BIAS_PULL_UP = 5,\n\tPIN_CONFIG_DRIVE_OPEN_DRAIN = 6,\n\tPIN_CONFIG_DRIVE_OPEN_SOURCE = 7,\n\tPIN_CONFIG_DRIVE_PUSH_PULL = 8,\n\tPIN_CONFIG_DRIVE_STRENGTH = 9,\n\tPIN_CONFIG_DRIVE_STRENGTH_UA = 10,\n\tPIN_CONFIG_INPUT_DEBOUNCE = 11,\n\tPIN_CONFIG_INPUT_ENABLE = 12,\n\tPIN_CONFIG_INPUT_SCHMITT = 13,\n\tPIN_CONFIG_INPUT_SCHMITT_ENABLE = 14,\n\tPIN_CONFIG_INPUT_SCHMITT_UV = 15,\n\tPIN_CONFIG_MODE_LOW_POWER = 16,\n\tPIN_CONFIG_MODE_PWM = 17,\n\tPIN_CONFIG_OUTPUT = 18,\n\tPIN_CONFIG_OUTPUT_ENABLE = 19,\n\tPIN_CONFIG_OUTPUT_IMPEDANCE_OHMS = 20,\n\tPIN_CONFIG_PERSIST_STATE = 21,\n\tPIN_CONFIG_POWER_SOURCE = 22,\n\tPIN_CONFIG_SKEW_DELAY = 23,\n\tPIN_CONFIG_SLEEP_HARDWARE_STATE = 24,\n\tPIN_CONFIG_SLEW_RATE = 25,\n\tPIN_CONFIG_END = 127,\n\tPIN_CONFIG_MAX = 255,\n};\n\nenum pinctrl_map_type {\n\tPIN_MAP_TYPE_INVALID = 0,\n\tPIN_MAP_TYPE_DUMMY_STATE = 1,\n\tPIN_MAP_TYPE_MUX_GROUP = 2,\n\tPIN_MAP_TYPE_CONFIGS_PIN = 3,\n\tPIN_MAP_TYPE_CONFIGS_GROUP = 4,\n};\n\nenum pkcs7_actions {\n\tACT_pkcs7_check_content_type = 0,\n\tACT_pkcs7_extract_cert = 1,\n\tACT_pkcs7_note_OID = 2,\n\tACT_pkcs7_note_certificate_list = 3,\n\tACT_pkcs7_note_content = 4,\n\tACT_pkcs7_note_data = 5,\n\tACT_pkcs7_note_signed_info = 6,\n\tACT_pkcs7_note_signeddata_version = 7,\n\tACT_pkcs7_note_signerinfo_version = 8,\n\tACT_pkcs7_sig_note_authenticated_attr = 9,\n\tACT_pkcs7_sig_note_digest_algo = 10,\n\tACT_pkcs7_sig_note_issuer = 11,\n\tACT_pkcs7_sig_note_pkey_algo = 12,\n\tACT_pkcs7_sig_note_serial = 13,\n\tACT_pkcs7_sig_note_set_of_authattrs = 14,\n\tACT_pkcs7_sig_note_signature = 15,\n\tACT_pkcs7_sig_note_skid = 16,\n\tNR__pkcs7_actions = 17,\n};\n\nenum pkt_hash_types {\n\tPKT_HASH_TYPE_NONE = 0,\n\tPKT_HASH_TYPE_L2 = 1,\n\tPKT_HASH_TYPE_L3 = 2,\n\tPKT_HASH_TYPE_L4 = 3,\n};\n\nenum pm_qos_flags_status {\n\tPM_QOS_FLAGS_UNDEFINED = -1,\n\tPM_QOS_FLAGS_NONE = 0,\n\tPM_QOS_FLAGS_SOME = 1,\n\tPM_QOS_FLAGS_ALL = 2,\n};\n\nenum pm_qos_req_action {\n\tPM_QOS_ADD_REQ = 0,\n\tPM_QOS_UPDATE_REQ = 1,\n\tPM_QOS_REMOVE_REQ = 2,\n};\n\nenum pm_qos_type {\n\tPM_QOS_UNITIALIZED = 0,\n\tPM_QOS_MAX = 1,\n\tPM_QOS_MIN = 2,\n};\n\nenum pnfs_block_extent_state {\n\tPNFS_BLOCK_READWRITE_DATA = 0,\n\tPNFS_BLOCK_READ_DATA = 1,\n\tPNFS_BLOCK_INVALID_DATA = 2,\n\tPNFS_BLOCK_NONE_DATA = 3,\n};\n\nenum pnfs_block_volume_type {\n\tPNFS_BLOCK_VOLUME_SIMPLE = 0,\n\tPNFS_BLOCK_VOLUME_SLICE = 1,\n\tPNFS_BLOCK_VOLUME_CONCAT = 2,\n\tPNFS_BLOCK_VOLUME_STRIPE = 3,\n\tPNFS_BLOCK_VOLUME_SCSI = 4,\n};\n\nenum pnfs_iomode {\n\tIOMODE_READ = 1,\n\tIOMODE_RW = 2,\n\tIOMODE_ANY = 3,\n};\n\nenum pnfs_layout_destroy_mode {\n\tPNFS_LAYOUT_INVALIDATE = 0,\n\tPNFS_LAYOUT_BULK_RETURN = 1,\n\tPNFS_LAYOUT_FILE_BULK_RETURN = 2,\n};\n\nenum pnfs_layoutreturn_type {\n\tRETURN_FILE = 1,\n\tRETURN_FSID = 2,\n\tRETURN_ALL = 3,\n};\n\nenum pnfs_layouttype {\n\tLAYOUT_NFSV4_1_FILES = 1,\n\tLAYOUT_OSD2_OBJECTS = 2,\n\tLAYOUT_BLOCK_VOLUME = 3,\n\tLAYOUT_FLEX_FILES = 4,\n\tLAYOUT_SCSI = 5,\n\tLAYOUT_TYPE_MAX = 6,\n};\n\nenum pnfs_notify_deviceid_type4 {\n\tNOTIFY_DEVICEID4_CHANGE = 2,\n\tNOTIFY_DEVICEID4_DELETE = 4,\n};\n\nenum pnfs_try_status {\n\tPNFS_ATTEMPTED = 0,\n\tPNFS_NOT_ATTEMPTED = 1,\n\tPNFS_TRY_AGAIN = 2,\n};\n\nenum pnfs_update_layout_reason {\n\tPNFS_UPDATE_LAYOUT_UNKNOWN = 0,\n\tPNFS_UPDATE_LAYOUT_NO_PNFS = 1,\n\tPNFS_UPDATE_LAYOUT_RD_ZEROLEN = 2,\n\tPNFS_UPDATE_LAYOUT_MDSTHRESH = 3,\n\tPNFS_UPDATE_LAYOUT_NOMEM = 4,\n\tPNFS_UPDATE_LAYOUT_BULK_RECALL = 5,\n\tPNFS_UPDATE_LAYOUT_IO_TEST_FAIL = 6,\n\tPNFS_UPDATE_LAYOUT_FOUND_CACHED = 7,\n\tPNFS_UPDATE_LAYOUT_RETURN = 8,\n\tPNFS_UPDATE_LAYOUT_RETRY = 9,\n\tPNFS_UPDATE_LAYOUT_BLOCKED = 10,\n\tPNFS_UPDATE_LAYOUT_INVALID_OPEN = 11,\n\tPNFS_UPDATE_LAYOUT_SEND_LAYOUTGET = 12,\n\tPNFS_UPDATE_LAYOUT_EXIT = 13,\n};\n\nenum poll_time_type {\n\tPT_TIMEVAL = 0,\n\tPT_OLD_TIMEVAL = 1,\n\tPT_TIMESPEC = 2,\n\tPT_OLD_TIMESPEC = 3,\n};\n\nenum pool_workqueue_stats {\n\tPWQ_STAT_STARTED = 0,\n\tPWQ_STAT_COMPLETED = 1,\n\tPWQ_STAT_CPU_TIME = 2,\n\tPWQ_STAT_CPU_INTENSIVE = 3,\n\tPWQ_STAT_CM_WAKEUP = 4,\n\tPWQ_STAT_REPATRIATED = 5,\n\tPWQ_STAT_MAYDAY = 6,\n\tPWQ_STAT_RESCUED = 7,\n\tPWQ_NR_STATS = 8,\n};\n\nenum port_event {\n\tPORTE_BYTES_DMAED = 0,\n\tPORTE_BROADCAST_RCVD = 1,\n\tPORTE_LINK_RESET_ERR = 2,\n\tPORTE_TIMER_EVENT = 3,\n\tPORTE_HARD_RESET = 4,\n\tPORT_NUM_EVENTS = 5,\n};\n\nenum port_pkey_state {\n\tIB_PORT_PKEY_NOT_VALID = 0,\n\tIB_PORT_PKEY_VALID = 1,\n\tIB_PORT_PKEY_LISTED = 2,\n};\n\nenum positive_aop_returns {\n\tAOP_WRITEPAGE_ACTIVATE = 524288,\n\tAOP_TRUNCATED_PAGE = 524289,\n};\n\nenum posix_timer_state {\n\tPOSIX_TIMER_DISARMED = 0,\n\tPOSIX_TIMER_ARMED = 1,\n\tPOSIX_TIMER_REQUEUE_PENDING = 2,\n};\n\nenum power_event {\n\tpointer_reset = 2147483648,\n\tglobal_unicast = 512,\n\twake_up_rx_frame = 64,\n\tmagic_frame = 32,\n\twake_up_frame_en = 4,\n\tmagic_pkt_en = 2,\n\tpower_down = 1,\n};\n\nenum power_supply_charge_behaviour {\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_AUTO = 0,\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE = 1,\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_FORCE_DISCHARGE = 2,\n};\n\nenum power_supply_charge_type {\n\tPOWER_SUPPLY_CHARGE_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_CHARGE_TYPE_NONE = 1,\n\tPOWER_SUPPLY_CHARGE_TYPE_TRICKLE = 2,\n\tPOWER_SUPPLY_CHARGE_TYPE_FAST = 3,\n\tPOWER_SUPPLY_CHARGE_TYPE_STANDARD = 4,\n\tPOWER_SUPPLY_CHARGE_TYPE_ADAPTIVE = 5,\n\tPOWER_SUPPLY_CHARGE_TYPE_CUSTOM = 6,\n\tPOWER_SUPPLY_CHARGE_TYPE_LONGLIFE = 7,\n\tPOWER_SUPPLY_CHARGE_TYPE_BYPASS = 8,\n};\n\nenum power_supply_notifier_events {\n\tPSY_EVENT_PROP_CHANGED = 0,\n};\n\nenum power_supply_property {\n\tPOWER_SUPPLY_PROP_STATUS = 0,\n\tPOWER_SUPPLY_PROP_CHARGE_TYPE = 1,\n\tPOWER_SUPPLY_PROP_CHARGE_TYPES = 2,\n\tPOWER_SUPPLY_PROP_HEALTH = 3,\n\tPOWER_SUPPLY_PROP_PRESENT = 4,\n\tPOWER_SUPPLY_PROP_ONLINE = 5,\n\tPOWER_SUPPLY_PROP_AUTHENTIC = 6,\n\tPOWER_SUPPLY_PROP_TECHNOLOGY = 7,\n\tPOWER_SUPPLY_PROP_CYCLE_COUNT = 8,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MAX = 9,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MIN = 10,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN = 11,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN = 12,\n\tPOWER_SUPPLY_PROP_VOLTAGE_NOW = 13,\n\tPOWER_SUPPLY_PROP_VOLTAGE_AVG = 14,\n\tPOWER_SUPPLY_PROP_VOLTAGE_OCV = 15,\n\tPOWER_SUPPLY_PROP_VOLTAGE_BOOT = 16,\n\tPOWER_SUPPLY_PROP_CURRENT_MAX = 17,\n\tPOWER_SUPPLY_PROP_CURRENT_NOW = 18,\n\tPOWER_SUPPLY_PROP_CURRENT_AVG = 19,\n\tPOWER_SUPPLY_PROP_CURRENT_BOOT = 20,\n\tPOWER_SUPPLY_PROP_POWER_NOW = 21,\n\tPOWER_SUPPLY_PROP_POWER_AVG = 22,\n\tPOWER_SUPPLY_PROP_CHARGE_FULL_DESIGN = 23,\n\tPOWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN = 24,\n\tPOWER_SUPPLY_PROP_CHARGE_FULL = 25,\n\tPOWER_SUPPLY_PROP_CHARGE_EMPTY = 26,\n\tPOWER_SUPPLY_PROP_CHARGE_NOW = 27,\n\tPOWER_SUPPLY_PROP_CHARGE_AVG = 28,\n\tPOWER_SUPPLY_PROP_CHARGE_COUNTER = 29,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT = 30,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX = 31,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE = 32,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX = 33,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT = 34,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX = 35,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD = 36,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD = 37,\n\tPOWER_SUPPLY_PROP_CHARGE_BEHAVIOUR = 38,\n\tPOWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT = 39,\n\tPOWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT = 40,\n\tPOWER_SUPPLY_PROP_INPUT_POWER_LIMIT = 41,\n\tPOWER_SUPPLY_PROP_ENERGY_FULL_DESIGN = 42,\n\tPOWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN = 43,\n\tPOWER_SUPPLY_PROP_ENERGY_FULL = 44,\n\tPOWER_SUPPLY_PROP_ENERGY_EMPTY = 45,\n\tPOWER_SUPPLY_PROP_ENERGY_NOW = 46,\n\tPOWER_SUPPLY_PROP_ENERGY_AVG = 47,\n\tPOWER_SUPPLY_PROP_CAPACITY = 48,\n\tPOWER_SUPPLY_PROP_CAPACITY_ALERT_MIN = 49,\n\tPOWER_SUPPLY_PROP_CAPACITY_ALERT_MAX = 50,\n\tPOWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN = 51,\n\tPOWER_SUPPLY_PROP_CAPACITY_LEVEL = 52,\n\tPOWER_SUPPLY_PROP_TEMP = 53,\n\tPOWER_SUPPLY_PROP_TEMP_MAX = 54,\n\tPOWER_SUPPLY_PROP_TEMP_MIN = 55,\n\tPOWER_SUPPLY_PROP_TEMP_ALERT_MIN = 56,\n\tPOWER_SUPPLY_PROP_TEMP_ALERT_MAX = 57,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT = 58,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN = 59,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX = 60,\n\tPOWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW = 61,\n\tPOWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG = 62,\n\tPOWER_SUPPLY_PROP_TIME_TO_FULL_NOW = 63,\n\tPOWER_SUPPLY_PROP_TIME_TO_FULL_AVG = 64,\n\tPOWER_SUPPLY_PROP_TYPE = 65,\n\tPOWER_SUPPLY_PROP_USB_TYPE = 66,\n\tPOWER_SUPPLY_PROP_SCOPE = 67,\n\tPOWER_SUPPLY_PROP_PRECHARGE_CURRENT = 68,\n\tPOWER_SUPPLY_PROP_CHARGE_TERM_CURRENT = 69,\n\tPOWER_SUPPLY_PROP_CALIBRATE = 70,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_YEAR = 71,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_MONTH = 72,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_DAY = 73,\n\tPOWER_SUPPLY_PROP_MODEL_NAME = 74,\n\tPOWER_SUPPLY_PROP_MANUFACTURER = 75,\n\tPOWER_SUPPLY_PROP_SERIAL_NUMBER = 76,\n};\n\nenum power_supply_type {\n\tPOWER_SUPPLY_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_TYPE_BATTERY = 1,\n\tPOWER_SUPPLY_TYPE_UPS = 2,\n\tPOWER_SUPPLY_TYPE_MAINS = 3,\n\tPOWER_SUPPLY_TYPE_USB = 4,\n\tPOWER_SUPPLY_TYPE_USB_DCP = 5,\n\tPOWER_SUPPLY_TYPE_USB_CDP = 6,\n\tPOWER_SUPPLY_TYPE_USB_ACA = 7,\n\tPOWER_SUPPLY_TYPE_USB_TYPE_C = 8,\n\tPOWER_SUPPLY_TYPE_USB_PD = 9,\n\tPOWER_SUPPLY_TYPE_USB_PD_DRP = 10,\n\tPOWER_SUPPLY_TYPE_APPLE_BRICK_ID = 11,\n\tPOWER_SUPPLY_TYPE_WIRELESS = 12,\n};\n\nenum power_supply_usb_type {\n\tPOWER_SUPPLY_USB_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_USB_TYPE_SDP = 1,\n\tPOWER_SUPPLY_USB_TYPE_DCP = 2,\n\tPOWER_SUPPLY_USB_TYPE_CDP = 3,\n\tPOWER_SUPPLY_USB_TYPE_ACA = 4,\n\tPOWER_SUPPLY_USB_TYPE_C = 5,\n\tPOWER_SUPPLY_USB_TYPE_PD = 6,\n\tPOWER_SUPPLY_USB_TYPE_PD_DRP = 7,\n\tPOWER_SUPPLY_USB_TYPE_PD_PPS = 8,\n\tPOWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID = 9,\n};\n\nenum pr_status {\n\tPR_STS_SUCCESS = 0,\n\tPR_STS_IOERR = 2,\n\tPR_STS_RESERVATION_CONFLICT = 24,\n\tPR_STS_RETRY_PATH_FAILURE = 917504,\n\tPR_STS_PATH_FAST_FAILED = 983040,\n\tPR_STS_PATH_FAILED = 65536,\n};\n\nenum pr_type {\n\tPR_WRITE_EXCLUSIVE = 1,\n\tPR_EXCLUSIVE_ACCESS = 2,\n\tPR_WRITE_EXCLUSIVE_REG_ONLY = 3,\n\tPR_EXCLUSIVE_ACCESS_REG_ONLY = 4,\n\tPR_WRITE_EXCLUSIVE_ALL_REGS = 5,\n\tPR_EXCLUSIVE_ACCESS_ALL_REGS = 6,\n};\n\nenum prep_dispatch {\n\tPREP_DISPATCH_OK = 0,\n\tPREP_DISPATCH_NO_TAG = 1,\n\tPREP_DISPATCH_NO_BUDGET = 2,\n};\n\nenum print_line_t {\n\tTRACE_TYPE_PARTIAL_LINE = 0,\n\tTRACE_TYPE_HANDLED = 1,\n\tTRACE_TYPE_UNHANDLED = 2,\n\tTRACE_TYPE_NO_CONSUME = 3,\n};\n\nenum printk_info_flags {\n\tLOG_FORCE_CON = 1,\n\tLOG_NEWLINE = 2,\n\tLOG_CONT = 8,\n};\n\nenum prio_policy {\n\tPOLICY_NO_CHANGE = 0,\n\tPOLICY_PROMOTE_TO_RT = 1,\n\tPOLICY_RESTRICT_TO_BE = 2,\n\tPOLICY_ALL_TO_IDLE = 3,\n\tPOLICY_NONE_TO_RT = 4,\n};\n\nenum priv_stack_mode {\n\tPRIV_STACK_UNKNOWN = 0,\n\tNO_PRIV_STACK = 1,\n\tPRIV_STACK_ADAPTIVE = 2,\n};\n\nenum probe_print_type {\n\tPROBE_PRINT_NORMAL = 0,\n\tPROBE_PRINT_RETURN = 1,\n\tPROBE_PRINT_EVENT = 2,\n};\n\nenum probe_type {\n\tPROBE_DEFAULT_STRATEGY = 0,\n\tPROBE_PREFER_ASYNCHRONOUS = 1,\n\tPROBE_FORCE_SYNCHRONOUS = 2,\n};\n\nenum proc_cn_event {\n\tPROC_EVENT_NONE = 0,\n\tPROC_EVENT_FORK = 1,\n\tPROC_EVENT_EXEC = 2,\n\tPROC_EVENT_UID = 4,\n\tPROC_EVENT_GID = 64,\n\tPROC_EVENT_SID = 128,\n\tPROC_EVENT_PTRACE = 256,\n\tPROC_EVENT_COMM = 512,\n\tPROC_EVENT_NONZERO_EXIT = 536870912,\n\tPROC_EVENT_COREDUMP = 1073741824,\n\tPROC_EVENT_EXIT = 2147483648,\n};\n\nenum proc_hidepid {\n\tHIDEPID_OFF = 0,\n\tHIDEPID_NO_ACCESS = 1,\n\tHIDEPID_INVISIBLE = 2,\n\tHIDEPID_NOT_PTRACEABLE = 4,\n};\n\nenum proc_mem_force {\n\tPROC_MEM_FORCE_ALWAYS = 0,\n\tPROC_MEM_FORCE_PTRACE = 1,\n\tPROC_MEM_FORCE_NEVER = 2,\n};\n\nenum proc_param {\n\tOpt_gid___8 = 0,\n\tOpt_hidepid = 1,\n\tOpt_subset = 2,\n};\n\nenum proc_pidonly {\n\tPROC_PIDONLY_OFF = 0,\n\tPROC_PIDONLY_ON = 1,\n};\n\nenum procmap_query_flags {\n\tPROCMAP_QUERY_VMA_READABLE = 1,\n\tPROCMAP_QUERY_VMA_WRITABLE = 2,\n\tPROCMAP_QUERY_VMA_EXECUTABLE = 4,\n\tPROCMAP_QUERY_VMA_SHARED = 8,\n\tPROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16,\n\tPROCMAP_QUERY_FILE_BACKED_VMA = 32,\n};\n\nenum profile_mode {\n\tAPPARMOR_ENFORCE = 0,\n\tAPPARMOR_COMPLAIN = 1,\n\tAPPARMOR_KILL = 2,\n\tAPPARMOR_UNCONFINED = 3,\n\tAPPARMOR_USER = 4,\n};\n\nenum prs_errcode {\n\tPERR_NONE = 0,\n\tPERR_INVCPUS = 1,\n\tPERR_INVPARENT = 2,\n\tPERR_NOTPART = 3,\n\tPERR_NOTEXCL = 4,\n\tPERR_NOCPUS = 5,\n\tPERR_HOTPLUG = 6,\n\tPERR_CPUSEMPTY = 7,\n\tPERR_HKEEPING = 8,\n\tPERR_ACCESS = 9,\n};\n\nenum ps2_disposition {\n\tPS2_PROCESS = 0,\n\tPS2_IGNORE = 1,\n\tPS2_ERROR = 2,\n};\n\nenum psi_aggregators {\n\tPSI_AVGS = 0,\n\tPSI_POLL = 1,\n\tNR_PSI_AGGREGATORS = 2,\n};\n\nenum psi_res {\n\tPSI_IO = 0,\n\tPSI_MEM = 1,\n\tPSI_CPU = 2,\n\tNR_PSI_RESOURCES = 3,\n};\n\nenum psi_states {\n\tPSI_IO_SOME = 0,\n\tPSI_IO_FULL = 1,\n\tPSI_MEM_SOME = 2,\n\tPSI_MEM_FULL = 3,\n\tPSI_CPU_SOME = 4,\n\tPSI_CPU_FULL = 5,\n\tPSI_NONIDLE = 6,\n\tNR_PSI_STATES = 7,\n};\n\nenum psi_task_count {\n\tNR_IOWAIT = 0,\n\tNR_MEMSTALL = 1,\n\tNR_RUNNING = 2,\n\tNR_MEMSTALL_RUNNING = 3,\n\tNR_PSI_TASK_COUNTS = 4,\n};\n\nenum psmouse_scale {\n\tPSMOUSE_SCALE11 = 0,\n\tPSMOUSE_SCALE21 = 1,\n};\n\nenum psmouse_state {\n\tPSMOUSE_IGNORE = 0,\n\tPSMOUSE_INITIALIZING = 1,\n\tPSMOUSE_RESYNCING = 2,\n\tPSMOUSE_CMD_MODE = 3,\n\tPSMOUSE_ACTIVATED = 4,\n};\n\nenum psmouse_type {\n\tPSMOUSE_NONE = 0,\n\tPSMOUSE_PS2 = 1,\n\tPSMOUSE_PS2PP = 2,\n\tPSMOUSE_THINKPS = 3,\n\tPSMOUSE_GENPS = 4,\n\tPSMOUSE_IMPS = 5,\n\tPSMOUSE_IMEX = 6,\n\tPSMOUSE_SYNAPTICS = 7,\n\tPSMOUSE_ALPS = 8,\n\tPSMOUSE_LIFEBOOK = 9,\n\tPSMOUSE_TRACKPOINT = 10,\n\tPSMOUSE_TOUCHKIT_PS2 = 11,\n\tPSMOUSE_CORTRON = 12,\n\tPSMOUSE_HGPK = 13,\n\tPSMOUSE_ELANTECH = 14,\n\tPSMOUSE_FSP = 15,\n\tPSMOUSE_SYNAPTICS_RELATIVE = 16,\n\tPSMOUSE_CYPRESS = 17,\n\tPSMOUSE_FOCALTECH = 18,\n\tPSMOUSE_VMMOUSE = 19,\n\tPSMOUSE_BYD = 20,\n\tPSMOUSE_SYNAPTICS_SMBUS = 21,\n\tPSMOUSE_ELANTECH_SMBUS = 22,\n\tPSMOUSE_AUTO = 23,\n};\n\nenum ptp_clock_events {\n\tPTP_CLOCK_ALARM = 0,\n\tPTP_CLOCK_EXTTS = 1,\n\tPTP_CLOCK_EXTOFF = 2,\n\tPTP_CLOCK_PPS = 3,\n\tPTP_CLOCK_PPSUSR = 4,\n};\n\nenum ptp_pin_function {\n\tPTP_PF_NONE = 0,\n\tPTP_PF_EXTTS = 1,\n\tPTP_PF_PEROUT = 2,\n\tPTP_PF_PHYSYNC = 3,\n};\n\nenum pwm_polarity {\n\tPWM_POLARITY_NORMAL = 0,\n\tPWM_POLARITY_INVERSED = 1,\n};\n\nenum qdisc_class_ops_flags {\n\tQDISC_CLASS_OPS_DOIT_UNLOCKED = 1,\n};\n\nenum qdisc_state2_t {\n\t__QDISC_STATE2_RUNNING = 0,\n};\n\nenum qdisc_state_t {\n\t__QDISC_STATE_SCHED = 0,\n\t__QDISC_STATE_DEACTIVATED = 1,\n\t__QDISC_STATE_MISSED = 2,\n\t__QDISC_STATE_DRAINING = 3,\n};\n\nenum queue_mode {\n\tQUEUE_MODE_STRICT_PRIORITY = 0,\n\tQUEUE_MODE_STREAM_RESERVATION = 1,\n};\n\nenum quota_type {\n\tUSRQUOTA = 0,\n\tGRPQUOTA = 1,\n\tPRJQUOTA = 2,\n};\n\nenum radeon_chip_flags {\n\tCHIP_FAMILY_MASK = 65535,\n\tCHIP_FLAGS_MASK = 4294901760,\n\tCHIP_IS_MOBILITY = 65536,\n\tCHIP_IS_IGP = 131072,\n\tCHIP_HAS_CRTC2 = 262144,\n};\n\nenum radeon_errata {\n\tCHIP_ERRATA_R300_CG = 1,\n\tCHIP_ERRATA_PLL_DUMMYREADS = 2,\n\tCHIP_ERRATA_PLL_DELAY = 4,\n};\n\nenum radeon_family {\n\tCHIP_FAMILY_UNKNOW = 0,\n\tCHIP_FAMILY_LEGACY = 1,\n\tCHIP_FAMILY_RADEON = 2,\n\tCHIP_FAMILY_RV100 = 3,\n\tCHIP_FAMILY_RS100 = 4,\n\tCHIP_FAMILY_RV200 = 5,\n\tCHIP_FAMILY_RS200 = 6,\n\tCHIP_FAMILY_R200 = 7,\n\tCHIP_FAMILY_RV250 = 8,\n\tCHIP_FAMILY_RS300 = 9,\n\tCHIP_FAMILY_RV280 = 10,\n\tCHIP_FAMILY_R300 = 11,\n\tCHIP_FAMILY_R350 = 12,\n\tCHIP_FAMILY_RV350 = 13,\n\tCHIP_FAMILY_RV380 = 14,\n\tCHIP_FAMILY_R420 = 15,\n\tCHIP_FAMILY_RC410 = 16,\n\tCHIP_FAMILY_RS400 = 17,\n\tCHIP_FAMILY_RS480 = 18,\n\tCHIP_FAMILY_LAST = 19,\n};\n\nenum radeon_montype {\n\tMT_NONE = 0,\n\tMT_CRT = 1,\n\tMT_LCD = 2,\n\tMT_DFP = 3,\n\tMT_CTV = 4,\n\tMT_STV = 5,\n};\n\nenum radeon_pm_mode {\n\tradeon_pm_none = 0,\n\tradeon_pm_d2 = 1,\n\tradeon_pm_off = 2,\n};\n\nenum raid_level {\n\tRAID_LEVEL_UNKNOWN = 0,\n\tRAID_LEVEL_LINEAR = 1,\n\tRAID_LEVEL_0 = 2,\n\tRAID_LEVEL_1 = 3,\n\tRAID_LEVEL_10 = 4,\n\tRAID_LEVEL_1E = 5,\n\tRAID_LEVEL_3 = 6,\n\tRAID_LEVEL_4 = 7,\n\tRAID_LEVEL_5 = 8,\n\tRAID_LEVEL_50 = 9,\n\tRAID_LEVEL_6 = 10,\n\tRAID_LEVEL_JBOD = 11,\n};\n\nenum raid_state {\n\tRAID_STATE_UNKNOWN = 0,\n\tRAID_STATE_ACTIVE = 1,\n\tRAID_STATE_DEGRADED = 2,\n\tRAID_STATE_RESYNCING = 3,\n\tRAID_STATE_OFFLINE = 4,\n};\n\nenum ramfs_param {\n\tOpt_mode___6 = 0,\n};\n\nenum rdma_ah_attr_type {\n\tRDMA_AH_ATTR_TYPE_UNDEFINED = 0,\n\tRDMA_AH_ATTR_TYPE_IB = 1,\n\tRDMA_AH_ATTR_TYPE_ROCE = 2,\n\tRDMA_AH_ATTR_TYPE_OPA = 3,\n};\n\nenum rdma_cm_event_type {\n\tRDMA_CM_EVENT_ADDR_RESOLVED = 0,\n\tRDMA_CM_EVENT_ADDR_ERROR = 1,\n\tRDMA_CM_EVENT_ROUTE_RESOLVED = 2,\n\tRDMA_CM_EVENT_ROUTE_ERROR = 3,\n\tRDMA_CM_EVENT_CONNECT_REQUEST = 4,\n\tRDMA_CM_EVENT_CONNECT_RESPONSE = 5,\n\tRDMA_CM_EVENT_CONNECT_ERROR = 6,\n\tRDMA_CM_EVENT_UNREACHABLE = 7,\n\tRDMA_CM_EVENT_REJECTED = 8,\n\tRDMA_CM_EVENT_ESTABLISHED = 9,\n\tRDMA_CM_EVENT_DISCONNECTED = 10,\n\tRDMA_CM_EVENT_DEVICE_REMOVAL = 11,\n\tRDMA_CM_EVENT_MULTICAST_JOIN = 12,\n\tRDMA_CM_EVENT_MULTICAST_ERROR = 13,\n\tRDMA_CM_EVENT_ADDR_CHANGE = 14,\n\tRDMA_CM_EVENT_TIMEWAIT_EXIT = 15,\n};\n\nenum rdma_driver_id {\n\tRDMA_DRIVER_UNKNOWN = 0,\n\tRDMA_DRIVER_MLX5 = 1,\n\tRDMA_DRIVER_MLX4 = 2,\n\tRDMA_DRIVER_CXGB3 = 3,\n\tRDMA_DRIVER_CXGB4 = 4,\n\tRDMA_DRIVER_MTHCA = 5,\n\tRDMA_DRIVER_BNXT_RE = 6,\n\tRDMA_DRIVER_OCRDMA = 7,\n\tRDMA_DRIVER_NES = 8,\n\tRDMA_DRIVER_I40IW = 9,\n\tRDMA_DRIVER_IRDMA = 9,\n\tRDMA_DRIVER_VMW_PVRDMA = 10,\n\tRDMA_DRIVER_QEDR = 11,\n\tRDMA_DRIVER_HNS = 12,\n\tRDMA_DRIVER_USNIC = 13,\n\tRDMA_DRIVER_RXE = 14,\n\tRDMA_DRIVER_HFI1 = 15,\n\tRDMA_DRIVER_QIB = 16,\n\tRDMA_DRIVER_EFA = 17,\n\tRDMA_DRIVER_SIW = 18,\n\tRDMA_DRIVER_ERDMA = 19,\n\tRDMA_DRIVER_MANA = 20,\n};\n\nenum rdma_link_layer {\n\tIB_LINK_LAYER_UNSPECIFIED = 0,\n\tIB_LINK_LAYER_INFINIBAND = 1,\n\tIB_LINK_LAYER_ETHERNET = 2,\n};\n\nenum rdma_netdev_t {\n\tRDMA_NETDEV_OPA_VNIC = 0,\n\tRDMA_NETDEV_IPOIB = 1,\n};\n\nenum rdma_network_type {\n\tRDMA_NETWORK_IB = 0,\n\tRDMA_NETWORK_ROCE_V1 = 1,\n\tRDMA_NETWORK_IPV4 = 2,\n\tRDMA_NETWORK_IPV6 = 3,\n};\n\nenum rdma_nl_counter_mask {\n\tRDMA_COUNTER_MASK_QP_TYPE = 1,\n\tRDMA_COUNTER_MASK_PID = 2,\n};\n\nenum rdma_nl_counter_mode {\n\tRDMA_COUNTER_MODE_NONE = 0,\n\tRDMA_COUNTER_MODE_AUTO = 1,\n\tRDMA_COUNTER_MODE_MANUAL = 2,\n\tRDMA_COUNTER_MODE_MAX = 3,\n};\n\nenum rdma_nl_dev_type {\n\tRDMA_DEVICE_TYPE_SMI = 1,\n};\n\nenum rdma_nl_name_assign_type {\n\tRDMA_NAME_ASSIGN_TYPE_UNKNOWN = 0,\n\tRDMA_NAME_ASSIGN_TYPE_USER = 1,\n};\n\nenum rdma_restrack_type {\n\tRDMA_RESTRACK_PD = 0,\n\tRDMA_RESTRACK_CQ = 1,\n\tRDMA_RESTRACK_QP = 2,\n\tRDMA_RESTRACK_CM_ID = 3,\n\tRDMA_RESTRACK_MR = 4,\n\tRDMA_RESTRACK_CTX = 5,\n\tRDMA_RESTRACK_COUNTER = 6,\n\tRDMA_RESTRACK_SRQ = 7,\n\tRDMA_RESTRACK_MAX = 8,\n};\n\nenum rdma_transport_type {\n\tRDMA_TRANSPORT_IB = 0,\n\tRDMA_TRANSPORT_IWARP = 1,\n\tRDMA_TRANSPORT_USNIC = 2,\n\tRDMA_TRANSPORT_USNIC_UDP = 3,\n\tRDMA_TRANSPORT_UNSPECIFIED = 4,\n};\n\nenum rdma_ucm_port_space {\n\tRDMA_PS_IPOIB = 2,\n\tRDMA_PS_IB = 319,\n\tRDMA_PS_TCP = 262,\n\tRDMA_PS_UDP = 273,\n};\n\nenum rdmacg_file_type {\n\tRDMACG_RESOURCE_TYPE_MAX = 0,\n\tRDMACG_RESOURCE_TYPE_STAT = 1,\n};\n\nenum rdmacg_resource_type {\n\tRDMACG_RESOURCE_HCA_HANDLE = 0,\n\tRDMACG_RESOURCE_HCA_OBJECT = 1,\n\tRDMACG_RESOURCE_MAX = 2,\n};\n\nenum rds_message_rxpath_latency {\n\tRDS_MSG_RX_HDR_TO_DGRAM_START = 0,\n\tRDS_MSG_RX_DGRAM_REASSEMBLE = 1,\n\tRDS_MSG_RX_DGRAM_DELIVERED = 2,\n\tRDS_MSG_RX_DGRAM_TRACE_MAX = 3,\n};\n\nenum reboot_mode {\n\tREBOOT_UNDEFINED = -1,\n\tREBOOT_COLD = 0,\n\tREBOOT_WARM = 1,\n\tREBOOT_HARD = 2,\n\tREBOOT_SOFT = 3,\n\tREBOOT_GPIO = 4,\n};\n\nenum reboot_type {\n\tBOOT_TRIPLE = 116,\n\tBOOT_KBD = 107,\n\tBOOT_BIOS = 98,\n\tBOOT_ACPI = 97,\n\tBOOT_EFI = 101,\n\tBOOT_CF9_FORCE = 112,\n\tBOOT_CF9_SAFE = 113,\n};\n\nenum ref_state_type {\n\tREF_TYPE_PTR = 1,\n\tREF_TYPE_IRQ = 2,\n\tREF_TYPE_LOCK = 3,\n};\n\nenum refcount_saturation_type {\n\tREFCOUNT_ADD_NOT_ZERO_OVF = 0,\n\tREFCOUNT_ADD_OVF = 1,\n\tREFCOUNT_ADD_UAF = 2,\n\tREFCOUNT_SUB_UAF = 3,\n\tREFCOUNT_DEC_LEAK = 4,\n};\n\nenum reg0i15_op {\n\tbreak_op = 84,\n};\n\nenum reg0i26_op {\n\tb_op = 20,\n\tbl_op = 21,\n};\n\nenum reg1i20_op {\n\tlu12iw_op = 10,\n\tlu32id_op = 11,\n\tpcaddi_op = 12,\n\tpcalau12i_op = 13,\n\tpcaddu12i_op = 14,\n\tpcaddu18i_op = 15,\n};\n\nenum reg1i21_op {\n\tbeqz_op = 16,\n\tbnez_op = 17,\n\tbceqz_op = 18,\n\tbcnez_op = 18,\n};\n\nenum reg2_op {\n\trevb2h_op = 12,\n\trevb4h_op = 13,\n\trevb2w_op = 14,\n\trevbd_op = 15,\n\trevh2w_op = 16,\n\trevhd_op = 17,\n\textwh_op = 22,\n\textwb_op = 23,\n\tcpucfg_op = 27,\n\tiocsrrdb_op = 102912,\n\tiocsrrdh_op = 102913,\n\tiocsrrdw_op = 102914,\n\tiocsrrdd_op = 102915,\n\tiocsrwrb_op = 102916,\n\tiocsrwrh_op = 102917,\n\tiocsrwrw_op = 102918,\n\tiocsrwrd_op = 102919,\n};\n\nenum reg2bstrd_op {\n\tbstrinsd_op = 2,\n\tbstrpickd_op = 3,\n};\n\nenum reg2i12_op {\n\taddiw_op = 10,\n\taddid_op = 11,\n\tlu52id_op = 12,\n\tandi_op = 13,\n\tori_op = 14,\n\txori_op = 15,\n\tldb_op = 160,\n\tldh_op = 161,\n\tldw_op = 162,\n\tldd_op = 163,\n\tstb_op = 164,\n\tsth_op = 165,\n\tstw_op = 166,\n\tstd_op = 167,\n\tldbu_op = 168,\n\tldhu_op = 169,\n\tldwu_op = 170,\n\tflds_op = 172,\n\tfsts_op = 173,\n\tfldd_op = 174,\n\tfstd_op = 175,\n};\n\nenum reg2i14_op {\n\tllw_op = 32,\n\tscw_op = 33,\n\tlld_op = 34,\n\tscd_op = 35,\n\tldptrw_op = 36,\n\tstptrw_op = 37,\n\tldptrd_op = 38,\n\tstptrd_op = 39,\n};\n\nenum reg2i16_op {\n\tjirl_op = 19,\n\tbeq_op = 22,\n\tbne_op = 23,\n\tblt_op = 24,\n\tbge_op = 25,\n\tbltu_op = 26,\n\tbgeu_op = 27,\n};\n\nenum reg2i5_op {\n\tslliw_op = 129,\n\tsrliw_op = 137,\n\tsraiw_op = 145,\n};\n\nenum reg2i6_op {\n\tsllid_op = 65,\n\tsrlid_op = 69,\n\tsraid_op = 73,\n};\n\nenum reg3_op {\n\tasrtle_op = 2,\n\tasrtgt_op = 3,\n\taddw_op = 32,\n\taddd_op = 33,\n\tsubw_op = 34,\n\tsubd_op = 35,\n\tnor_op = 40,\n\tand_op = 41,\n\tor_op = 42,\n\txor_op = 43,\n\torn_op = 44,\n\tandn_op = 45,\n\tsllw_op = 46,\n\tsrlw_op = 47,\n\tsraw_op = 48,\n\tslld_op = 49,\n\tsrld_op = 50,\n\tsrad_op = 51,\n\tmulw_op = 56,\n\tmulhw_op = 57,\n\tmulhwu_op = 58,\n\tmuld_op = 59,\n\tmulhd_op = 60,\n\tmulhdu_op = 61,\n\tdivw_op = 64,\n\tmodw_op = 65,\n\tdivwu_op = 66,\n\tmodwu_op = 67,\n\tdivd_op = 68,\n\tmodd_op = 69,\n\tdivdu_op = 70,\n\tmoddu_op = 71,\n\tldxb_op = 28672,\n\tldxh_op = 28680,\n\tldxw_op = 28688,\n\tldxd_op = 28696,\n\tstxb_op = 28704,\n\tstxh_op = 28712,\n\tstxw_op = 28720,\n\tstxd_op = 28728,\n\tldxbu_op = 28736,\n\tldxhu_op = 28744,\n\tldxwu_op = 28752,\n\tfldxs_op = 28768,\n\tfldxd_op = 28776,\n\tfstxs_op = 28784,\n\tfstxd_op = 28792,\n\tamswapw_op = 28864,\n\tamswapd_op = 28865,\n\tamaddw_op = 28866,\n\tamaddd_op = 28867,\n\tamandw_op = 28868,\n\tamandd_op = 28869,\n\tamorw_op = 28870,\n\tamord_op = 28871,\n\tamxorw_op = 28872,\n\tamxord_op = 28873,\n\tammaxw_op = 28874,\n\tammaxd_op = 28875,\n\tamminw_op = 28876,\n\tammind_op = 28877,\n\tammaxwu_op = 28878,\n\tammaxdu_op = 28879,\n\tamminwu_op = 28880,\n\tammindu_op = 28881,\n\tamswapdbw_op = 28882,\n\tamswapdbd_op = 28883,\n\tamadddbw_op = 28884,\n\tamadddbd_op = 28885,\n\tamanddbw_op = 28886,\n\tamanddbd_op = 28887,\n\tamordbw_op = 28888,\n\tamordbd_op = 28889,\n\tamxordbw_op = 28890,\n\tamxordbd_op = 28891,\n\tammaxdbw_op = 28892,\n\tammaxdbd_op = 28893,\n\tammindbw_op = 28894,\n\tammindbd_op = 28895,\n\tammaxdbwu_op = 28896,\n\tammaxdbdu_op = 28897,\n\tammindbwu_op = 28898,\n\tammindbdu_op = 28899,\n\tfldgts_op = 28904,\n\tfldgtd_op = 28905,\n\tfldles_op = 28906,\n\tfldled_op = 28907,\n\tfstgts_op = 28908,\n\tfstgtd_op = 28909,\n\tfstles_op = 28910,\n\tfstled_op = 28911,\n\tldgtb_op = 28912,\n\tldgth_op = 28913,\n\tldgtw_op = 28914,\n\tldgtd_op = 28915,\n\tldleb_op = 28916,\n\tldleh_op = 28917,\n\tldlew_op = 28918,\n\tldled_op = 28919,\n\tstgtb_op = 28920,\n\tstgth_op = 28921,\n\tstgtw_op = 28922,\n\tstgtd_op = 28923,\n\tstleb_op = 28924,\n\tstleh_op = 28925,\n\tstlew_op = 28926,\n\tstled_op = 28927,\n};\n\nenum reg3sa2_op {\n\talslw_op = 2,\n\talslwu_op = 3,\n\talsld_op = 22,\n};\n\nenum reg_arg_type {\n\tSRC_OP = 0,\n\tDST_OP = 1,\n\tDST_OP_NO_MARK = 2,\n};\n\nenum regcache_type {\n\tREGCACHE_NONE = 0,\n\tREGCACHE_RBTREE = 1,\n\tREGCACHE_FLAT = 2,\n\tREGCACHE_MAPLE = 3,\n};\n\nenum regex_type {\n\tMATCH_FULL = 0,\n\tMATCH_FRONT_ONLY = 1,\n\tMATCH_MIDDLE_ONLY = 2,\n\tMATCH_END_ONLY = 3,\n\tMATCH_GLOB = 4,\n\tMATCH_INDEX = 5,\n};\n\nenum regmap_endian {\n\tREGMAP_ENDIAN_DEFAULT = 0,\n\tREGMAP_ENDIAN_BIG = 1,\n\tREGMAP_ENDIAN_LITTLE = 2,\n\tREGMAP_ENDIAN_NATIVE = 3,\n};\n\nenum release_type {\n\tleaf_only = 0,\n\twhole_subtree = 1,\n};\n\nenum reloc_stage {\n\tMOVE_DATA_EXTENTS = 0,\n\tUPDATE_DATA_PTRS = 1,\n};\n\nenum req_flag_bits {\n\t__REQ_FAILFAST_DEV = 8,\n\t__REQ_FAILFAST_TRANSPORT = 9,\n\t__REQ_FAILFAST_DRIVER = 10,\n\t__REQ_SYNC = 11,\n\t__REQ_META = 12,\n\t__REQ_PRIO = 13,\n\t__REQ_NOMERGE = 14,\n\t__REQ_IDLE = 15,\n\t__REQ_INTEGRITY = 16,\n\t__REQ_FUA = 17,\n\t__REQ_PREFLUSH = 18,\n\t__REQ_RAHEAD = 19,\n\t__REQ_BACKGROUND = 20,\n\t__REQ_NOWAIT = 21,\n\t__REQ_POLLED = 22,\n\t__REQ_ALLOC_CACHE = 23,\n\t__REQ_SWAP = 24,\n\t__REQ_DRV = 25,\n\t__REQ_FS_PRIVATE = 26,\n\t__REQ_ATOMIC = 27,\n\t__REQ_NOUNMAP = 28,\n\t__REQ_NR_BITS = 29,\n};\n\nenum req_op {\n\tREQ_OP_READ = 0,\n\tREQ_OP_WRITE = 1,\n\tREQ_OP_FLUSH = 2,\n\tREQ_OP_DISCARD = 3,\n\tREQ_OP_SECURE_ERASE = 5,\n\tREQ_OP_ZONE_APPEND = 7,\n\tREQ_OP_WRITE_ZEROES = 9,\n\tREQ_OP_ZONE_OPEN = 10,\n\tREQ_OP_ZONE_CLOSE = 11,\n\tREQ_OP_ZONE_FINISH = 12,\n\tREQ_OP_ZONE_RESET = 13,\n\tREQ_OP_ZONE_RESET_ALL = 15,\n\tREQ_OP_DRV_IN = 34,\n\tREQ_OP_DRV_OUT = 35,\n\tREQ_OP_LAST = 36,\n};\n\nenum request_irq_err {\n\tREQ_IRQ_ERR_ALL = 0,\n\tREQ_IRQ_ERR_TX = 1,\n\tREQ_IRQ_ERR_RX = 2,\n\tREQ_IRQ_ERR_SFTY = 3,\n\tREQ_IRQ_ERR_SFTY_UE = 4,\n\tREQ_IRQ_ERR_SFTY_CE = 5,\n\tREQ_IRQ_ERR_LPI = 6,\n\tREQ_IRQ_ERR_WOL = 7,\n\tREQ_IRQ_ERR_MAC = 8,\n\tREQ_IRQ_ERR_NO = 9,\n};\n\nenum resctrl_conf_type {\n\tCDP_NONE = 0,\n\tCDP_CODE = 1,\n\tCDP_DATA = 2,\n};\n\nenum reset_control_flags {\n\tRESET_CONTROL_EXCLUSIVE = 4,\n\tRESET_CONTROL_EXCLUSIVE_DEASSERTED = 12,\n\tRESET_CONTROL_EXCLUSIVE_RELEASED = 0,\n\tRESET_CONTROL_SHARED = 1,\n\tRESET_CONTROL_SHARED_DEASSERTED = 9,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE = 6,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE_DEASSERTED = 14,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED = 2,\n\tRESET_CONTROL_OPTIONAL_SHARED = 3,\n\tRESET_CONTROL_OPTIONAL_SHARED_DEASSERTED = 11,\n};\n\nenum reset_type {\n\tFORCE_BIG_HAMMER = 0,\n\tSOFT_RESET = 1,\n};\n\nenum resolve_mode {\n\tRESOLVE_TBD = 0,\n\tRESOLVE_PTR = 1,\n\tRESOLVE_STRUCT_OR_ARRAY = 2,\n};\n\nenum resource_type {\n\tRESOURCE_CACHED_MEMORY = 0,\n\tRESOURCE_UNCACHED_MEMORY = 1,\n};\n\nenum ring_buffer_flags {\n\tRB_FL_OVERWRITE = 1,\n};\n\nenum ring_buffer_type {\n\tRINGBUF_TYPE_DATA_TYPE_LEN_MAX = 28,\n\tRINGBUF_TYPE_PADDING = 29,\n\tRINGBUF_TYPE_TIME_EXTEND = 30,\n\tRINGBUF_TYPE_TIME_STAMP = 31,\n};\n\nenum ring_desc_flags {\n\tRING_DESC_ISOCH = 1,\n\tRING_DESC_CRC_ERROR = 1,\n\tRING_DESC_COMPLETED = 2,\n\tRING_DESC_POSTED = 4,\n\tRING_DESC_BUFFER_OVERRUN = 4,\n\tRING_DESC_INTERRUPT = 8,\n};\n\nenum ring_flags {\n\tRING_FLAG_ISOCH_ENABLE = 134217728,\n\tRING_FLAG_E2E_FLOW_CONTROL = 268435456,\n\tRING_FLAG_PCI_NO_SNOOP = 536870912,\n\tRING_FLAG_RAW = 1073741824,\n\tRING_FLAG_ENABLE = -2147483648,\n};\n\nenum rio_device_state {\n\tRIO_DEVICE_INITIALIZING = 0,\n\tRIO_DEVICE_RUNNING = 1,\n\tRIO_DEVICE_GONE = 2,\n\tRIO_DEVICE_SHUTDOWN = 3,\n};\n\nenum rio_link_speed {\n\tRIO_LINK_DOWN = 0,\n\tRIO_LINK_125 = 1,\n\tRIO_LINK_250 = 2,\n\tRIO_LINK_312 = 3,\n\tRIO_LINK_500 = 4,\n\tRIO_LINK_625 = 5,\n};\n\nenum rlimit_type {\n\tUCOUNT_RLIMIT_NPROC = 0,\n\tUCOUNT_RLIMIT_MSGQUEUE = 1,\n\tUCOUNT_RLIMIT_SIGPENDING = 2,\n\tUCOUNT_RLIMIT_MEMLOCK = 3,\n\tUCOUNT_RLIMIT_COUNTS = 4,\n};\n\nenum rmap_level {\n\tRMAP_LEVEL_PTE = 0,\n\tRMAP_LEVEL_PMD = 1,\n};\n\nenum rmi_reg_state {\n\tRMI_REG_STATE_DEFAULT = 0,\n\tRMI_REG_STATE_OFF = 1,\n\tRMI_REG_STATE_ON = 2,\n};\n\nenum rmi_sensor_type {\n\trmi_sensor_default = 0,\n\trmi_sensor_touchscreen = 1,\n\trmi_sensor_touchpad = 2,\n};\n\nenum rmp_flags {\n\tRMP_LOCKED = 1,\n\tRMP_USE_SHARED_ZEROPAGE = 2,\n};\n\nenum routing_attribute {\n\tDIRECT_ROUTING = 0,\n\tSUBTRACTIVE_ROUTING = 1,\n\tTABLE_ROUTING = 2,\n};\n\nenum rp_check {\n\tRP_CHECK_CALL = 0,\n\tRP_CHECK_CHAIN_CALL = 1,\n\tRP_CHECK_RET = 2,\n};\n\nenum rp_lock {\n\tRP_UNLOCKED = 0,\n\tRP_LOCKED = 1,\n\tRP_UNHASHED = 2,\n};\n\nenum rpc_accept_stat {\n\tRPC_SUCCESS = 0,\n\tRPC_PROG_UNAVAIL = 1,\n\tRPC_PROG_MISMATCH = 2,\n\tRPC_PROC_UNAVAIL = 3,\n\tRPC_GARBAGE_ARGS = 4,\n\tRPC_SYSTEM_ERR = 5,\n\tRPC_DROP_REPLY = 60000,\n};\n\nenum rpc_auth_flavors {\n\tRPC_AUTH_NULL = 0,\n\tRPC_AUTH_UNIX = 1,\n\tRPC_AUTH_SHORT = 2,\n\tRPC_AUTH_DES = 3,\n\tRPC_AUTH_KRB = 4,\n\tRPC_AUTH_GSS = 6,\n\tRPC_AUTH_TLS = 7,\n\tRPC_AUTH_MAXFLAVOR = 8,\n\tRPC_AUTH_GSS_KRB5 = 390003,\n\tRPC_AUTH_GSS_KRB5I = 390004,\n\tRPC_AUTH_GSS_KRB5P = 390005,\n\tRPC_AUTH_GSS_LKEY = 390006,\n\tRPC_AUTH_GSS_LKEYI = 390007,\n\tRPC_AUTH_GSS_LKEYP = 390008,\n\tRPC_AUTH_GSS_SPKM = 390009,\n\tRPC_AUTH_GSS_SPKMI = 390010,\n\tRPC_AUTH_GSS_SPKMP = 390011,\n};\n\nenum rpc_auth_stat {\n\tRPC_AUTH_OK = 0,\n\tRPC_AUTH_BADCRED = 1,\n\tRPC_AUTH_REJECTEDCRED = 2,\n\tRPC_AUTH_BADVERF = 3,\n\tRPC_AUTH_REJECTEDVERF = 4,\n\tRPC_AUTH_TOOWEAK = 5,\n\tRPCSEC_GSS_CREDPROBLEM = 13,\n\tRPCSEC_GSS_CTXPROBLEM = 14,\n};\n\nenum rpc_display_format_t {\n\tRPC_DISPLAY_ADDR = 0,\n\tRPC_DISPLAY_PORT = 1,\n\tRPC_DISPLAY_PROTO = 2,\n\tRPC_DISPLAY_HEX_ADDR = 3,\n\tRPC_DISPLAY_HEX_PORT = 4,\n\tRPC_DISPLAY_NETID = 5,\n\tRPC_DISPLAY_MAX = 6,\n};\n\nenum rpc_gss_proc {\n\tRPC_GSS_PROC_DATA = 0,\n\tRPC_GSS_PROC_INIT = 1,\n\tRPC_GSS_PROC_CONTINUE_INIT = 2,\n\tRPC_GSS_PROC_DESTROY = 3,\n};\n\nenum rpc_gss_svc {\n\tRPC_GSS_SVC_NONE = 1,\n\tRPC_GSS_SVC_INTEGRITY = 2,\n\tRPC_GSS_SVC_PRIVACY = 3,\n};\n\nenum rpc_msg_type {\n\tRPC_CALL = 0,\n\tRPC_REPLY = 1,\n};\n\nenum rpc_reject_stat {\n\tRPC_MISMATCH = 0,\n\tRPC_AUTH_ERROR = 1,\n};\n\nenum rpc_reply_stat {\n\tRPC_MSG_ACCEPTED = 0,\n\tRPC_MSG_DENIED = 1,\n};\n\nenum rpm_request {\n\tRPM_REQ_NONE = 0,\n\tRPM_REQ_IDLE = 1,\n\tRPM_REQ_SUSPEND = 2,\n\tRPM_REQ_AUTOSUSPEND = 3,\n\tRPM_REQ_RESUME = 4,\n};\n\nenum rpm_status {\n\tRPM_INVALID = -1,\n\tRPM_ACTIVE = 0,\n\tRPM_RESUMING = 1,\n\tRPM_SUSPENDED = 2,\n\tRPM_SUSPENDING = 3,\n};\n\nenum rq_end_io_ret {\n\tRQ_END_IO_NONE = 0,\n\tRQ_END_IO_FREE = 1,\n};\n\nenum rq_qos_id {\n\tRQ_QOS_WBT = 0,\n\tRQ_QOS_LATENCY = 1,\n\tRQ_QOS_COST = 2,\n};\n\nenum rqf_flags {\n\t__RQF_STARTED = 0,\n\t__RQF_FLUSH_SEQ = 1,\n\t__RQF_MIXED_MERGE = 2,\n\t__RQF_DONTPREP = 3,\n\t__RQF_SCHED_TAGS = 4,\n\t__RQF_USE_SCHED = 5,\n\t__RQF_FAILED = 6,\n\t__RQF_QUIET = 7,\n\t__RQF_IO_STAT = 8,\n\t__RQF_PM = 9,\n\t__RQF_HASHED = 10,\n\t__RQF_STATS = 11,\n\t__RQF_SPECIAL_PAYLOAD = 12,\n\t__RQF_ZONE_WRITE_PLUGGING = 13,\n\t__RQF_TIMED_OUT = 14,\n\t__RQF_RESV = 15,\n\t__RQF_BITS = 16,\n};\n\nenum rsaprivkey_actions {\n\tACT_rsa_get_d = 0,\n\tACT_rsa_get_dp = 1,\n\tACT_rsa_get_dq = 2,\n\tACT_rsa_get_e = 3,\n\tACT_rsa_get_n = 4,\n\tACT_rsa_get_p = 5,\n\tACT_rsa_get_q = 6,\n\tACT_rsa_get_qinv = 7,\n\tNR__rsaprivkey_actions = 8,\n};\n\nenum rsapubkey_actions {\n\tACT_rsa_get_e___2 = 0,\n\tACT_rsa_get_n___2 = 1,\n\tNR__rsapubkey_actions = 2,\n};\n\nenum rseq_cpu_id_state {\n\tRSEQ_CPU_ID_UNINITIALIZED = -1,\n\tRSEQ_CPU_ID_REGISTRATION_FAILED = -2,\n};\n\nenum rseq_cs_flags {\n\tRSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = 1,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = 2,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = 4,\n};\n\nenum rseq_cs_flags_bit {\n\tRSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2,\n};\n\nenum rseq_event_mask_bits {\n\tRSEQ_EVENT_PREEMPT_BIT = 0,\n\tRSEQ_EVENT_SIGNAL_BIT = 1,\n\tRSEQ_EVENT_MIGRATE_BIT = 2,\n};\n\nenum rseq_flags {\n\tRSEQ_FLAG_UNREGISTER = 1,\n};\n\nenum rt6_nud_state {\n\tRT6_NUD_FAIL_HARD = -3,\n\tRT6_NUD_FAIL_PROBE = -2,\n\tRT6_NUD_FAIL_DO_RR = -1,\n\tRT6_NUD_SUCCEED = 1,\n};\n\nenum rt_class_t {\n\tRT_TABLE_UNSPEC = 0,\n\tRT_TABLE_COMPAT = 252,\n\tRT_TABLE_DEFAULT = 253,\n\tRT_TABLE_MAIN = 254,\n\tRT_TABLE_LOCAL = 255,\n\tRT_TABLE_MAX = 4294967295,\n};\n\nenum rt_scope_t {\n\tRT_SCOPE_UNIVERSE = 0,\n\tRT_SCOPE_SITE = 200,\n\tRT_SCOPE_LINK = 253,\n\tRT_SCOPE_HOST = 254,\n\tRT_SCOPE_NOWHERE = 255,\n};\n\nenum rtattr_type_t {\n\tRTA_UNSPEC = 0,\n\tRTA_DST = 1,\n\tRTA_SRC = 2,\n\tRTA_IIF = 3,\n\tRTA_OIF = 4,\n\tRTA_GATEWAY = 5,\n\tRTA_PRIORITY = 6,\n\tRTA_PREFSRC = 7,\n\tRTA_METRICS = 8,\n\tRTA_MULTIPATH = 9,\n\tRTA_PROTOINFO = 10,\n\tRTA_FLOW = 11,\n\tRTA_CACHEINFO = 12,\n\tRTA_SESSION = 13,\n\tRTA_MP_ALGO = 14,\n\tRTA_TABLE = 15,\n\tRTA_MARK = 16,\n\tRTA_MFC_STATS = 17,\n\tRTA_VIA = 18,\n\tRTA_NEWDST = 19,\n\tRTA_PREF = 20,\n\tRTA_ENCAP_TYPE = 21,\n\tRTA_ENCAP = 22,\n\tRTA_EXPIRES = 23,\n\tRTA_PAD = 24,\n\tRTA_UID = 25,\n\tRTA_TTL_PROPAGATE = 26,\n\tRTA_IP_PROTO = 27,\n\tRTA_SPORT = 28,\n\tRTA_DPORT = 29,\n\tRTA_NH_ID = 30,\n\tRTA_FLOWLABEL = 31,\n\t__RTA_MAX = 32,\n};\n\nenum rtc_control {\n\tDMA_CONTROL_RTC_64 = 0,\n\tDMA_CONTROL_RTC_32 = 8,\n\tDMA_CONTROL_RTC_96 = 16,\n\tDMA_CONTROL_RTC_128 = 24,\n};\n\nenum rtl8125_registers {\n\tLEDSEL0 = 24,\n\tINT_CFG0_8125 = 52,\n\tIntrMask_8125 = 56,\n\tIntrStatus_8125 = 60,\n\tINT_CFG1_8125 = 122,\n\tLEDSEL2 = 132,\n\tLEDSEL1 = 134,\n\tTxPoll_8125 = 144,\n\tLEDSEL3 = 150,\n\tMAC0_BKP = 6624,\n\tRSS_CTRL_8125 = 17664,\n\tQ_NUM_CTRL_8125 = 18432,\n\tEEE_TXIDLE_TIMER_8125 = 24648,\n};\n\nenum rtl8168_8101_registers {\n\tCSIDR = 100,\n\tCSIAR = 104,\n\tPMCH = 111,\n\tEPHYAR = 128,\n\tDLLPR = 208,\n\tDBG_REG = 209,\n\tTWSI = 210,\n\tMCU = 211,\n\tEFUSEAR = 220,\n\tMISC_1 = 242,\n};\n\nenum rtl8168_registers {\n\tLED_CTRL = 24,\n\tLED_FREQ = 26,\n\tEEE_LED = 27,\n\tERIDR = 112,\n\tERIAR = 116,\n\tEPHY_RXER_NUM = 124,\n\tOCPDR = 176,\n\tOCPAR = 180,\n\tGPHY_OCP = 184,\n\tRDSAR1 = 208,\n\tMISC = 240,\n};\n\nenum rtl_dash_type {\n\tRTL_DASH_NONE = 0,\n\tRTL_DASH_DP = 1,\n\tRTL_DASH_EP = 2,\n\tRTL_DASH_25_BP = 3,\n};\n\nenum rtl_desc_bit {\n\tDescOwn = -2147483648,\n\tRingEnd = 1073741824,\n\tFirstFrag = 536870912,\n\tLastFrag = 268435456,\n};\n\nenum rtl_flag {\n\tRTL_FLAG_TASK_RESET_PENDING = 0,\n\tRTL_FLAG_TASK_TX_TIMEOUT = 1,\n\tRTL_FLAG_MAX = 2,\n};\n\nenum rtl_fw_opcode {\n\tPHY_READ = 0,\n\tPHY_DATA_OR = 1,\n\tPHY_DATA_AND = 2,\n\tPHY_BJMPN = 3,\n\tPHY_MDIO_CHG = 4,\n\tPHY_CLEAR_READCOUNT = 7,\n\tPHY_WRITE = 8,\n\tPHY_READCOUNT_EQ_SKIP = 9,\n\tPHY_COMP_EQ_SKIPN = 10,\n\tPHY_COMP_NEQ_SKIPN = 11,\n\tPHY_WRITE_PREVIOUS = 12,\n\tPHY_SKIPN = 13,\n\tPHY_DELAY_MS = 14,\n};\n\nenum rtl_register_content {\n\tSYSErr = 32768,\n\tPCSTimeout = 16384,\n\tSWInt = 256,\n\tTxDescUnavail = 128,\n\tRxFIFOOver = 64,\n\tLinkChg = 32,\n\tRxOverflow = 16,\n\tTxErr = 8,\n\tTxOK = 4,\n\tRxErr = 2,\n\tRxOK = 1,\n\tRxRWT = 4194304,\n\tRxRES = 2097152,\n\tRxRUNT = 1048576,\n\tRxCRC = 524288,\n\tStopReq = 128,\n\tCmdReset = 16,\n\tCmdRxEnb = 8,\n\tCmdTxEnb = 4,\n\tRxBufEmpty = 1,\n\tHPQ = 128,\n\tNPQ = 64,\n\tFSWInt = 1,\n\tCfg9346_Lock = 0,\n\tCfg9346_Unlock = 192,\n\tAcceptErr = 32,\n\tAcceptRunt = 16,\n\tAcceptBroadcast = 8,\n\tAcceptMulticast = 4,\n\tAcceptMyPhys = 2,\n\tAcceptAllPhys = 1,\n\tTxInterFrameGapShift = 24,\n\tTxDMAShift = 8,\n\tLEDS1 = 128,\n\tLEDS0 = 64,\n\tSpeed_down = 16,\n\tMEMMAP = 8,\n\tIOMAP = 4,\n\tVPD = 2,\n\tPMEnable = 1,\n\tClkReqEn = 128,\n\tMSIEnable = 32,\n\tPCI_Clock_66MHz = 1,\n\tPCI_Clock_33MHz = 0,\n\tMagicPacket = 32,\n\tLinkUp = 16,\n\tJumbo_En0 = 4,\n\tRdy_to_L23 = 2,\n\tBeacon_en = 1,\n\tJumbo_En1 = 2,\n\tBWF = 64,\n\tMWF = 32,\n\tUWF = 16,\n\tSpi_en = 8,\n\tLanWake = 2,\n\tPMEStatus = 1,\n\tASPM_en = 1,\n\tEnableBist = 32768,\n\tMac_dbgo_oe = 16384,\n\tEnAnaPLL = 16384,\n\tNormal_mode = 8192,\n\tForce_half_dup = 4096,\n\tForce_rxflow_en = 2048,\n\tForce_txflow_en = 1024,\n\tCxpl_dbg_sel = 512,\n\tASF = 256,\n\tPktCntrDisable = 128,\n\tMac_dbgo_sel = 28,\n\tRxVlan = 64,\n\tRxChkSum = 32,\n\tPCIDAC = 16,\n\tPCIMulRW = 8,\n\tTBI_Enable = 128,\n\tTxFlowCtrl = 64,\n\tRxFlowCtrl = 32,\n\t_1000bpsF = 16,\n\t_100bps = 8,\n\t_10bps = 4,\n\tLinkStatus = 2,\n\tFullDup = 1,\n\tCounterReset = 1,\n\tCounterDump = 8,\n\tMagicPacket_v2 = 65536,\n};\n\nenum rtl_registers {\n\tMAC0 = 0,\n\tMAC4 = 4,\n\tMAR0 = 8,\n\tCounterAddrLow = 16,\n\tCounterAddrHigh = 20,\n\tTxDescStartAddrLow = 32,\n\tTxDescStartAddrHigh = 36,\n\tTxHDescStartAddrLow = 40,\n\tTxHDescStartAddrHigh = 44,\n\tFLASH = 48,\n\tERSR = 54,\n\tChipCmd = 55,\n\tTxPoll = 56,\n\tIntrMask = 60,\n\tIntrStatus = 62,\n\tTxConfig = 64,\n\tRxConfig = 68,\n\tCfg9346 = 80,\n\tConfig0 = 81,\n\tConfig1 = 82,\n\tConfig2 = 83,\n\tConfig3 = 84,\n\tConfig4 = 85,\n\tConfig5 = 86,\n\tPHYAR = 96,\n\tPHYstatus = 108,\n\tRxMaxSize = 218,\n\tCPlusCmd = 224,\n\tIntrMitigate = 226,\n\tRxDescAddrLow = 228,\n\tRxDescAddrHigh = 232,\n\tEarlyTxThres = 236,\n\tMaxTxPacketSize = 236,\n\tFuncEvent = 240,\n\tFuncEventMask = 244,\n\tFuncPresetState = 248,\n\tIBCR0 = 248,\n\tIBCR2 = 249,\n\tIBIMR0 = 250,\n\tIBISR0 = 251,\n\tFuncForceEvent = 252,\n};\n\nenum rtl_rx_desc_bit {\n\tPID1 = 262144,\n\tPID0 = 131072,\n\tIPFail = 65536,\n\tUDPFail = 32768,\n\tTCPFail = 16384,\n\tRxVlanTag = 65536,\n};\n\nenum rtl_tx_desc_bit {\n\tTD_LSO = 134217728,\n\tTxVlanTag = 131072,\n};\n\nenum rtl_tx_desc_bit_0 {\n\tTD0_TCP_CS = 65536,\n\tTD0_UDP_CS = 131072,\n\tTD0_IP_CS = 262144,\n};\n\nenum rtl_tx_desc_bit_1 {\n\tTD1_GTSENV4 = 67108864,\n\tTD1_GTSENV6 = 33554432,\n\tTD1_IPv6_CS = 268435456,\n\tTD1_IPv4_CS = 536870912,\n\tTD1_TCP_CS = 1073741824,\n\tTD1_UDP_CS = -2147483648,\n};\n\nenum rtmutex_chainwalk {\n\tRT_MUTEX_MIN_CHAINWALK = 0,\n\tRT_MUTEX_FULL_CHAINWALK = 1,\n};\n\nenum rtnetlink_groups {\n\tRTNLGRP_NONE = 0,\n\tRTNLGRP_LINK = 1,\n\tRTNLGRP_NOTIFY = 2,\n\tRTNLGRP_NEIGH = 3,\n\tRTNLGRP_TC = 4,\n\tRTNLGRP_IPV4_IFADDR = 5,\n\tRTNLGRP_IPV4_MROUTE = 6,\n\tRTNLGRP_IPV4_ROUTE = 7,\n\tRTNLGRP_IPV4_RULE = 8,\n\tRTNLGRP_IPV6_IFADDR = 9,\n\tRTNLGRP_IPV6_MROUTE = 10,\n\tRTNLGRP_IPV6_ROUTE = 11,\n\tRTNLGRP_IPV6_IFINFO = 12,\n\tRTNLGRP_DECnet_IFADDR = 13,\n\tRTNLGRP_NOP2 = 14,\n\tRTNLGRP_DECnet_ROUTE = 15,\n\tRTNLGRP_DECnet_RULE = 16,\n\tRTNLGRP_NOP4 = 17,\n\tRTNLGRP_IPV6_PREFIX = 18,\n\tRTNLGRP_IPV6_RULE = 19,\n\tRTNLGRP_ND_USEROPT = 20,\n\tRTNLGRP_PHONET_IFADDR = 21,\n\tRTNLGRP_PHONET_ROUTE = 22,\n\tRTNLGRP_DCB = 23,\n\tRTNLGRP_IPV4_NETCONF = 24,\n\tRTNLGRP_IPV6_NETCONF = 25,\n\tRTNLGRP_MDB = 26,\n\tRTNLGRP_MPLS_ROUTE = 27,\n\tRTNLGRP_NSID = 28,\n\tRTNLGRP_MPLS_NETCONF = 29,\n\tRTNLGRP_IPV4_MROUTE_R = 30,\n\tRTNLGRP_IPV6_MROUTE_R = 31,\n\tRTNLGRP_NEXTHOP = 32,\n\tRTNLGRP_BRVLAN = 33,\n\tRTNLGRP_MCTP_IFADDR = 34,\n\tRTNLGRP_TUNNEL = 35,\n\tRTNLGRP_STATS = 36,\n\tRTNLGRP_IPV4_MCADDR = 37,\n\tRTNLGRP_IPV6_MCADDR = 38,\n\tRTNLGRP_IPV6_ACADDR = 39,\n\t__RTNLGRP_MAX = 40,\n};\n\nenum rtnl_kinds {\n\tRTNL_KIND_NEW = 0,\n\tRTNL_KIND_DEL = 1,\n\tRTNL_KIND_GET = 2,\n\tRTNL_KIND_SET = 3,\n};\n\nenum rtnl_link_flags {\n\tRTNL_FLAG_DOIT_UNLOCKED = 1,\n\tRTNL_FLAG_BULK_DEL_SUPPORTED = 2,\n\tRTNL_FLAG_DUMP_UNLOCKED = 4,\n\tRTNL_FLAG_DUMP_SPLIT_NLM_DONE = 8,\n};\n\nenum rw_hint {\n\tWRITE_LIFE_NOT_SET = 0,\n\tWRITE_LIFE_NONE = 1,\n\tWRITE_LIFE_SHORT = 2,\n\tWRITE_LIFE_MEDIUM = 3,\n\tWRITE_LIFE_LONG = 4,\n\tWRITE_LIFE_EXTREME = 5,\n} __attribute__((mode(byte)));\n\nenum rwsem_waiter_type {\n\tRWSEM_WAITING_FOR_WRITE = 0,\n\tRWSEM_WAITING_FOR_READ = 1,\n};\n\nenum rwsem_wake_type {\n\tRWSEM_WAKE_ANY = 0,\n\tRWSEM_WAKE_READERS = 1,\n\tRWSEM_WAKE_READ_OWNED = 2,\n};\n\nenum rx_frame_status {\n\tgood_frame = 0,\n\tdiscard_frame = 1,\n\tcsum_none = 2,\n\tllc_snap = 4,\n\tdma_own = 8,\n\trx_not_ls = 16,\n};\n\nenum rx_handler_result {\n\tRX_HANDLER_CONSUMED = 0,\n\tRX_HANDLER_ANOTHER = 1,\n\tRX_HANDLER_EXACT = 2,\n\tRX_HANDLER_PASS = 3,\n};\n\ntypedef enum rx_handler_result rx_handler_result_t;\n\nenum s2idle_states {\n\tS2IDLE_STATE_NONE = 0,\n\tS2IDLE_STATE_ENTER = 1,\n\tS2IDLE_STATE_WAKE = 2,\n};\n\nenum s_alloc {\n\tsa_rootdomain = 0,\n\tsa_sd = 1,\n\tsa_sd_storage = 2,\n\tsa_none = 3,\n};\n\nenum sa_path_rec_type {\n\tSA_PATH_REC_TYPE_IB = 0,\n\tSA_PATH_REC_TYPE_ROCE_V1 = 1,\n\tSA_PATH_REC_TYPE_ROCE_V2 = 2,\n\tSA_PATH_REC_TYPE_OPA = 3,\n};\n\nenum sam_status {\n\tSAM_STAT_GOOD = 0,\n\tSAM_STAT_CHECK_CONDITION = 2,\n\tSAM_STAT_CONDITION_MET = 4,\n\tSAM_STAT_BUSY = 8,\n\tSAM_STAT_INTERMEDIATE = 16,\n\tSAM_STAT_INTERMEDIATE_CONDITION_MET = 20,\n\tSAM_STAT_RESERVATION_CONFLICT = 24,\n\tSAM_STAT_COMMAND_TERMINATED = 34,\n\tSAM_STAT_TASK_SET_FULL = 40,\n\tSAM_STAT_ACA_ACTIVE = 48,\n\tSAM_STAT_TASK_ABORTED = 64,\n};\n\nenum sas_cmd_port_registers {\n\tCMD_CMRST_OOB_DET = 256,\n\tCMD_CMWK_OOB_DET = 260,\n\tCMD_CMSAS_OOB_DET = 264,\n\tCMD_BRST_OOB_DET = 268,\n\tCMD_OOB_SPACE = 272,\n\tCMD_OOB_BURST = 276,\n\tCMD_PHY_TIMER = 280,\n\tCMD_PHY_CONFIG0 = 284,\n\tCMD_PHY_CONFIG1 = 288,\n\tCMD_SAS_CTL0 = 292,\n\tCMD_SAS_CTL1 = 296,\n\tCMD_SAS_CTL2 = 300,\n\tCMD_SAS_CTL3 = 304,\n\tCMD_ID_TEST = 308,\n\tCMD_PL_TIMER = 312,\n\tCMD_WD_TIMER = 316,\n\tCMD_PORT_SEL_COUNT = 320,\n\tCMD_APP_MEM_CTL = 324,\n\tCMD_XOR_MEM_CTL = 328,\n\tCMD_DMA_MEM_CTL = 332,\n\tCMD_PORT_MEM_CTL0 = 336,\n\tCMD_PORT_MEM_CTL1 = 340,\n\tCMD_SATA_PORT_MEM_CTL0 = 344,\n\tCMD_SATA_PORT_MEM_CTL1 = 348,\n\tCMD_XOR_MEM_BIST_CTL = 352,\n\tCMD_XOR_MEM_BIST_STAT = 356,\n\tCMD_DMA_MEM_BIST_CTL = 360,\n\tCMD_DMA_MEM_BIST_STAT = 364,\n\tCMD_PORT_MEM_BIST_CTL = 368,\n\tCMD_PORT_MEM_BIST_STAT0 = 372,\n\tCMD_PORT_MEM_BIST_STAT1 = 376,\n\tCMD_STP_MEM_BIST_CTL = 380,\n\tCMD_STP_MEM_BIST_STAT0 = 384,\n\tCMD_STP_MEM_BIST_STAT1 = 388,\n\tCMD_RESET_COUNT = 392,\n\tCMD_MONTR_DATA_SEL = 396,\n\tCMD_PLL_PHY_CONFIG = 400,\n\tCMD_PHY_CTL = 404,\n\tCMD_PHY_TEST_COUNT0 = 408,\n\tCMD_PHY_TEST_COUNT1 = 412,\n\tCMD_PHY_TEST_COUNT2 = 416,\n\tCMD_APP_ERR_CONFIG = 420,\n\tCMD_PND_FIFO_CTL0 = 424,\n\tCMD_HOST_CTL = 428,\n\tCMD_HOST_WR_DATA = 432,\n\tCMD_HOST_RD_DATA = 436,\n\tCMD_PHY_MODE_21 = 440,\n\tCMD_SL_MODE0 = 444,\n\tCMD_SL_MODE1 = 448,\n\tCMD_PND_FIFO_CTL1 = 452,\n\tCMD_PORT_LAYER_TIMER1 = 480,\n\tCMD_LINK_TIMER = 484,\n};\n\nenum sas_device_type {\n\tSAS_PHY_UNUSED = 0,\n\tSAS_END_DEVICE = 1,\n\tSAS_EDGE_EXPANDER_DEVICE = 2,\n\tSAS_FANOUT_EXPANDER_DEVICE = 3,\n\tSAS_HA = 4,\n\tSAS_SATA_DEV = 5,\n\tSAS_SATA_PM = 7,\n\tSAS_SATA_PM_PORT = 8,\n\tSAS_SATA_PENDING = 9,\n};\n\nenum sas_gpio_reg_type {\n\tSAS_GPIO_REG_CFG = 0,\n\tSAS_GPIO_REG_RX = 1,\n\tSAS_GPIO_REG_RX_GP = 2,\n\tSAS_GPIO_REG_TX = 3,\n\tSAS_GPIO_REG_TX_GP = 4,\n};\n\nenum sas_ha_state {\n\tSAS_HA_REGISTERED = 0,\n\tSAS_HA_DRAINING = 1,\n\tSAS_HA_ATA_EH_ACTIVE = 2,\n\tSAS_HA_FROZEN = 3,\n\tSAS_HA_RESUMING = 4,\n};\n\nenum sas_internal_abort {\n\tSAS_INTERNAL_ABORT_SINGLE = 0,\n\tSAS_INTERNAL_ABORT_DEV = 1,\n};\n\nenum sas_linkrate {\n\tSAS_LINK_RATE_UNKNOWN = 0,\n\tSAS_PHY_DISABLED = 1,\n\tSAS_PHY_RESET_PROBLEM = 2,\n\tSAS_SATA_SPINUP_HOLD = 3,\n\tSAS_SATA_PORT_SELECTOR = 4,\n\tSAS_PHY_RESET_IN_PROGRESS = 5,\n\tSAS_LINK_RATE_1_5_GBPS = 8,\n\tSAS_LINK_RATE_G1 = 8,\n\tSAS_LINK_RATE_3_0_GBPS = 9,\n\tSAS_LINK_RATE_G2 = 9,\n\tSAS_LINK_RATE_6_0_GBPS = 10,\n\tSAS_LINK_RATE_12_0_GBPS = 11,\n\tSAS_LINK_RATE_22_5_GBPS = 12,\n\tSAS_LINK_RATE_FAILED = 16,\n\tSAS_PHY_VIRTUAL = 17,\n};\n\nenum sas_oob_mode {\n\tOOB_NOT_CONNECTED = 0,\n\tSATA_OOB_MODE = 1,\n\tSAS_OOB_MODE = 2,\n};\n\nenum sas_open_rej_reason {\n\tSAS_OREJ_UNKNOWN = 0,\n\tSAS_OREJ_BAD_DEST = 1,\n\tSAS_OREJ_CONN_RATE = 2,\n\tSAS_OREJ_EPROTO = 3,\n\tSAS_OREJ_RESV_AB0 = 4,\n\tSAS_OREJ_RESV_AB1 = 5,\n\tSAS_OREJ_RESV_AB2 = 6,\n\tSAS_OREJ_RESV_AB3 = 7,\n\tSAS_OREJ_WRONG_DEST = 8,\n\tSAS_OREJ_STP_NORES = 9,\n\tSAS_OREJ_NO_DEST = 10,\n\tSAS_OREJ_PATH_BLOCKED = 11,\n\tSAS_OREJ_RSVD_CONT0 = 12,\n\tSAS_OREJ_RSVD_CONT1 = 13,\n\tSAS_OREJ_RSVD_INIT0 = 14,\n\tSAS_OREJ_RSVD_INIT1 = 15,\n\tSAS_OREJ_RSVD_STOP0 = 16,\n\tSAS_OREJ_RSVD_STOP1 = 17,\n\tSAS_OREJ_RSVD_RETRY = 18,\n};\n\nenum sas_phy_role {\n\tPHY_ROLE_NONE = 0,\n\tPHY_ROLE_TARGET = 64,\n\tPHY_ROLE_INITIATOR = 128,\n};\n\nenum sas_protocol {\n\tSAS_PROTOCOL_NONE = 0,\n\tSAS_PROTOCOL_SATA = 1,\n\tSAS_PROTOCOL_SMP = 2,\n\tSAS_PROTOCOL_STP = 4,\n\tSAS_PROTOCOL_SSP = 8,\n\tSAS_PROTOCOL_ALL = 14,\n\tSAS_PROTOCOL_STP_ALL = 5,\n\tSAS_PROTOCOL_INTERNAL_ABORT = 16,\n};\n\nenum sas_sata_config_port_regs {\n\tPHYR_IDENTIFY = 0,\n\tPHYR_ADDR_LO = 4,\n\tPHYR_ADDR_HI = 8,\n\tPHYR_ATT_DEV_INFO = 12,\n\tPHYR_ATT_ADDR_LO = 16,\n\tPHYR_ATT_ADDR_HI = 20,\n\tPHYR_SATA_CTL = 24,\n\tPHYR_PHY_STAT = 28,\n\tPHYR_SATA_SIG0 = 32,\n\tPHYR_SATA_SIG1 = 36,\n\tPHYR_SATA_SIG2 = 40,\n\tPHYR_SATA_SIG3 = 44,\n\tPHYR_R_ERR_COUNT = 48,\n\tPHYR_CRC_ERR_COUNT = 52,\n\tPHYR_WIDE_PORT = 56,\n\tPHYR_CURRENT0 = 128,\n\tPHYR_CURRENT1 = 132,\n\tPHYR_CURRENT2 = 136,\n\tCONFIG_ID_FRAME0 = 256,\n\tCONFIG_ID_FRAME1 = 260,\n\tCONFIG_ID_FRAME2 = 264,\n\tCONFIG_ID_FRAME3 = 268,\n\tCONFIG_ID_FRAME4 = 272,\n\tCONFIG_ID_FRAME5 = 276,\n\tCONFIG_ID_FRAME6 = 280,\n\tCONFIG_ATT_ID_FRAME0 = 284,\n\tCONFIG_ATT_ID_FRAME1 = 288,\n\tCONFIG_ATT_ID_FRAME2 = 292,\n\tCONFIG_ATT_ID_FRAME3 = 296,\n\tCONFIG_ATT_ID_FRAME4 = 300,\n\tCONFIG_ATT_ID_FRAME5 = 304,\n\tCONFIG_ATT_ID_FRAME6 = 308,\n};\n\nenum sas_sata_phy_regs {\n\tGENERATION_1_SETTING = 280,\n\tGENERATION_1_2_SETTING = 284,\n\tGENERATION_2_3_SETTING = 288,\n\tGENERATION_3_4_SETTING = 292,\n};\n\nenum sas_sata_vsp_regs {\n\tVSR_PHY_STAT = 0,\n\tVSR_PHY_MODE1 = 1,\n\tVSR_PHY_MODE2 = 2,\n\tVSR_PHY_MODE3 = 3,\n\tVSR_PHY_MODE4 = 4,\n\tVSR_PHY_MODE5 = 5,\n\tVSR_PHY_MODE6 = 6,\n\tVSR_PHY_MODE7 = 7,\n\tVSR_PHY_MODE8 = 8,\n\tVSR_PHY_MODE9 = 9,\n\tVSR_PHY_MODE10 = 10,\n\tVSR_PHY_MODE11 = 11,\n\tVSR_PHY_VS0 = 12,\n\tVSR_PHY_VS1 = 13,\n};\n\nenum sas_sata_vsp_regs___2 {\n\tVSR_PHY_STAT___2 = 0,\n\tVSR_PHY_MODE1___2 = 4,\n\tVSR_PHY_MODE2___2 = 8,\n\tVSR_PHY_MODE3___2 = 12,\n\tVSR_PHY_MODE4___2 = 16,\n\tVSR_PHY_MODE5___2 = 20,\n\tVSR_PHY_MODE6___2 = 24,\n\tVSR_PHY_MODE7___2 = 28,\n\tVSR_PHY_MODE8___2 = 32,\n\tVSR_PHY_MODE9___2 = 36,\n\tVSR_PHY_MODE10___2 = 40,\n\tVSR_PHY_MODE11___2 = 44,\n\tVSR_PHY_ACT_LED = 48,\n\tVSR_PHY_FFE_CONTROL = 268,\n\tVSR_PHY_DFE_UPDATE_CRTL = 272,\n\tVSR_REF_CLOCK_CRTL = 416,\n};\n\nenum scan_balance {\n\tSCAN_EQUAL = 0,\n\tSCAN_FRACT = 1,\n\tSCAN_ANON = 2,\n\tSCAN_FILE = 3,\n};\n\nenum scan_result {\n\tSCAN_FAIL = 0,\n\tSCAN_SUCCEED = 1,\n\tSCAN_PMD_NULL = 2,\n\tSCAN_PMD_NONE = 3,\n\tSCAN_PMD_MAPPED = 4,\n\tSCAN_EXCEED_NONE_PTE = 5,\n\tSCAN_EXCEED_SWAP_PTE = 6,\n\tSCAN_EXCEED_SHARED_PTE = 7,\n\tSCAN_PTE_NON_PRESENT = 8,\n\tSCAN_PTE_UFFD_WP = 9,\n\tSCAN_PTE_MAPPED_HUGEPAGE = 10,\n\tSCAN_PAGE_RO = 11,\n\tSCAN_LACK_REFERENCED_PAGE = 12,\n\tSCAN_PAGE_NULL = 13,\n\tSCAN_SCAN_ABORT = 14,\n\tSCAN_PAGE_COUNT = 15,\n\tSCAN_PAGE_LRU = 16,\n\tSCAN_PAGE_LOCK = 17,\n\tSCAN_PAGE_ANON = 18,\n\tSCAN_PAGE_COMPOUND = 19,\n\tSCAN_ANY_PROCESS = 20,\n\tSCAN_VMA_NULL = 21,\n\tSCAN_VMA_CHECK = 22,\n\tSCAN_ADDRESS_RANGE = 23,\n\tSCAN_DEL_PAGE_LRU = 24,\n\tSCAN_ALLOC_HUGE_PAGE_FAIL = 25,\n\tSCAN_CGROUP_CHARGE_FAIL = 26,\n\tSCAN_TRUNCATED = 27,\n\tSCAN_PAGE_HAS_PRIVATE = 28,\n\tSCAN_STORE_FAILED = 29,\n\tSCAN_COPY_MC = 30,\n\tSCAN_PAGE_FILLED = 31,\n};\n\nenum sched_tunable_scaling {\n\tSCHED_TUNABLESCALING_NONE = 0,\n\tSCHED_TUNABLESCALING_LOG = 1,\n\tSCHED_TUNABLESCALING_LINEAR = 2,\n\tSCHED_TUNABLESCALING_END = 3,\n};\n\nenum scrub_stripe_flags {\n\tSCRUB_STRIPE_FLAG_INITIALIZED = 0,\n\tSCRUB_STRIPE_FLAG_REPAIR_DONE = 1,\n\tSCRUB_STRIPE_FLAG_NO_REPORT = 2,\n};\n\nenum scsi_cmnd_submitter {\n\tSUBMITTED_BY_BLOCK_LAYER = 0,\n\tSUBMITTED_BY_SCSI_ERROR_HANDLER = 1,\n\tSUBMITTED_BY_SCSI_RESET_IOCTL = 2,\n} __attribute__((mode(byte)));\n\nenum scsi_code_set {\n\tPS_CODE_SET_BINARY = 1,\n\tPS_CODE_SET_ASCII = 2,\n\tPS_CODE_SET_UTF8 = 3,\n};\n\nenum scsi_designator_type {\n\tPS_DESIGNATOR_T10 = 1,\n\tPS_DESIGNATOR_EUI64 = 2,\n\tPS_DESIGNATOR_NAA = 3,\n\tPS_DESIGNATOR_NAME = 8,\n};\n\nenum scsi_device_event {\n\tSDEV_EVT_MEDIA_CHANGE = 1,\n\tSDEV_EVT_INQUIRY_CHANGE_REPORTED = 2,\n\tSDEV_EVT_CAPACITY_CHANGE_REPORTED = 3,\n\tSDEV_EVT_SOFT_THRESHOLD_REACHED_REPORTED = 4,\n\tSDEV_EVT_MODE_PARAMETER_CHANGE_REPORTED = 5,\n\tSDEV_EVT_LUN_CHANGE_REPORTED = 6,\n\tSDEV_EVT_ALUA_STATE_CHANGE_REPORTED = 7,\n\tSDEV_EVT_POWER_ON_RESET_OCCURRED = 8,\n\tSDEV_EVT_FIRST = 1,\n\tSDEV_EVT_LAST = 8,\n\tSDEV_EVT_MAXBITS = 9,\n};\n\nenum scsi_device_state {\n\tSDEV_CREATED = 1,\n\tSDEV_RUNNING = 2,\n\tSDEV_CANCEL = 3,\n\tSDEV_DEL = 4,\n\tSDEV_QUIESCE = 5,\n\tSDEV_OFFLINE = 6,\n\tSDEV_TRANSPORT_OFFLINE = 7,\n\tSDEV_BLOCK = 8,\n\tSDEV_CREATED_BLOCK = 9,\n};\n\nenum scsi_devinfo_key {\n\tSCSI_DEVINFO_GLOBAL = 0,\n\tSCSI_DEVINFO_SPI = 1,\n};\n\nenum scsi_disposition {\n\tNEEDS_RETRY = 8193,\n\tSUCCESS = 8194,\n\tFAILED = 8195,\n\tQUEUED = 8196,\n\tSOFT_ERROR = 8197,\n\tADD_TO_MLQUEUE = 8198,\n\tTIMEOUT_ERROR = 8199,\n\tSCSI_RETURN_NOT_HANDLED = 8200,\n\tFAST_IO_FAIL = 8201,\n};\n\nenum scsi_host_guard_type {\n\tSHOST_DIX_GUARD_CRC = 1,\n\tSHOST_DIX_GUARD_IP = 2,\n};\n\nenum scsi_host_prot_capabilities {\n\tSHOST_DIF_TYPE1_PROTECTION = 1,\n\tSHOST_DIF_TYPE2_PROTECTION = 2,\n\tSHOST_DIF_TYPE3_PROTECTION = 4,\n\tSHOST_DIX_TYPE0_PROTECTION = 8,\n\tSHOST_DIX_TYPE1_PROTECTION = 16,\n\tSHOST_DIX_TYPE2_PROTECTION = 32,\n\tSHOST_DIX_TYPE3_PROTECTION = 64,\n};\n\nenum scsi_host_state {\n\tSHOST_CREATED = 1,\n\tSHOST_RUNNING = 2,\n\tSHOST_CANCEL = 3,\n\tSHOST_DEL = 4,\n\tSHOST_RECOVERY = 5,\n\tSHOST_CANCEL_RECOVERY = 6,\n\tSHOST_DEL_RECOVERY = 7,\n};\n\nenum scsi_host_status {\n\tDID_OK = 0,\n\tDID_NO_CONNECT = 1,\n\tDID_BUS_BUSY = 2,\n\tDID_TIME_OUT = 3,\n\tDID_BAD_TARGET = 4,\n\tDID_ABORT = 5,\n\tDID_PARITY = 6,\n\tDID_ERROR = 7,\n\tDID_RESET = 8,\n\tDID_BAD_INTR = 9,\n\tDID_PASSTHROUGH = 10,\n\tDID_SOFT_ERROR = 11,\n\tDID_IMM_RETRY = 12,\n\tDID_REQUEUE = 13,\n\tDID_TRANSPORT_DISRUPTED = 14,\n\tDID_TRANSPORT_FAILFAST = 15,\n\tDID_TRANSPORT_MARGINAL = 20,\n};\n\nenum scsi_ml_status {\n\tSCSIML_STAT_OK = 0,\n\tSCSIML_STAT_RESV_CONFLICT = 1,\n\tSCSIML_STAT_NOSPC = 2,\n\tSCSIML_STAT_MED_ERROR = 3,\n\tSCSIML_STAT_TGT_FAILURE = 4,\n\tSCSIML_STAT_DL_TIMEOUT = 5,\n};\n\nenum scsi_msg_byte {\n\tCOMMAND_COMPLETE = 0,\n\tEXTENDED_MESSAGE = 1,\n\tSAVE_POINTERS = 2,\n\tRESTORE_POINTERS = 3,\n\tDISCONNECT = 4,\n\tINITIATOR_ERROR = 5,\n\tABORT_TASK_SET = 6,\n\tMESSAGE_REJECT = 7,\n\tNOP = 8,\n\tMSG_PARITY_ERROR = 9,\n\tLINKED_CMD_COMPLETE = 10,\n\tLINKED_FLG_CMD_COMPLETE = 11,\n\tTARGET_RESET = 12,\n\tABORT_TASK = 13,\n\tCLEAR_TASK_SET = 14,\n\tINITIATE_RECOVERY = 15,\n\tRELEASE_RECOVERY = 16,\n\tTERMINATE_IO_PROC = 17,\n\tCLEAR_ACA = 22,\n\tLOGICAL_UNIT_RESET = 23,\n\tSIMPLE_QUEUE_TAG = 32,\n\tHEAD_OF_QUEUE_TAG = 33,\n\tORDERED_QUEUE_TAG = 34,\n\tIGNORE_WIDE_RESIDUE = 35,\n\tACA = 36,\n\tQAS_REQUEST = 85,\n\tBUS_DEVICE_RESET = 12,\n\tABORT = 6,\n};\n\nenum scsi_pr_type {\n\tSCSI_PR_WRITE_EXCLUSIVE = 1,\n\tSCSI_PR_EXCLUSIVE_ACCESS = 3,\n\tSCSI_PR_WRITE_EXCLUSIVE_REG_ONLY = 5,\n\tSCSI_PR_EXCLUSIVE_ACCESS_REG_ONLY = 6,\n\tSCSI_PR_WRITE_EXCLUSIVE_ALL_REGS = 7,\n\tSCSI_PR_EXCLUSIVE_ACCESS_ALL_REGS = 8,\n};\n\nenum scsi_prot_flags {\n\tSCSI_PROT_TRANSFER_PI = 1,\n\tSCSI_PROT_GUARD_CHECK = 2,\n\tSCSI_PROT_REF_CHECK = 4,\n\tSCSI_PROT_REF_INCREMENT = 8,\n\tSCSI_PROT_IP_CHECKSUM = 16,\n};\n\nenum scsi_prot_operations {\n\tSCSI_PROT_NORMAL = 0,\n\tSCSI_PROT_READ_INSERT = 1,\n\tSCSI_PROT_WRITE_STRIP = 2,\n\tSCSI_PROT_READ_STRIP = 3,\n\tSCSI_PROT_WRITE_INSERT = 4,\n\tSCSI_PROT_READ_PASS = 5,\n\tSCSI_PROT_WRITE_PASS = 6,\n};\n\nenum scsi_scan_mode {\n\tSCSI_SCAN_INITIAL = 0,\n\tSCSI_SCAN_RESCAN = 1,\n\tSCSI_SCAN_MANUAL = 2,\n};\n\nenum scsi_target_state {\n\tSTARGET_CREATED = 1,\n\tSTARGET_RUNNING = 2,\n\tSTARGET_REMOVE = 3,\n\tSTARGET_CREATED_REMOVE = 4,\n\tSTARGET_DEL = 5,\n};\n\nenum scsi_timeout_action {\n\tSCSI_EH_DONE = 0,\n\tSCSI_EH_RESET_TIMER = 1,\n\tSCSI_EH_NOT_HANDLED = 2,\n};\n\nenum scsi_timeouts {\n\tSCSI_DEFAULT_EH_TIMEOUT = 2500,\n};\n\nenum scsi_vpd_parameters {\n\tSCSI_VPD_HEADER_SIZE = 4,\n\tSCSI_VPD_LIST_SIZE = 36,\n};\n\nenum sctp_cid {\n\tSCTP_CID_DATA = 0,\n\tSCTP_CID_INIT = 1,\n\tSCTP_CID_INIT_ACK = 2,\n\tSCTP_CID_SACK = 3,\n\tSCTP_CID_HEARTBEAT = 4,\n\tSCTP_CID_HEARTBEAT_ACK = 5,\n\tSCTP_CID_ABORT = 6,\n\tSCTP_CID_SHUTDOWN = 7,\n\tSCTP_CID_SHUTDOWN_ACK = 8,\n\tSCTP_CID_ERROR = 9,\n\tSCTP_CID_COOKIE_ECHO = 10,\n\tSCTP_CID_COOKIE_ACK = 11,\n\tSCTP_CID_ECN_ECNE = 12,\n\tSCTP_CID_ECN_CWR = 13,\n\tSCTP_CID_SHUTDOWN_COMPLETE = 14,\n\tSCTP_CID_AUTH = 15,\n\tSCTP_CID_I_DATA = 64,\n\tSCTP_CID_FWD_TSN = 192,\n\tSCTP_CID_ASCONF = 193,\n\tSCTP_CID_I_FWD_TSN = 194,\n\tSCTP_CID_ASCONF_ACK = 128,\n\tSCTP_CID_RECONF = 130,\n\tSCTP_CID_PAD = 132,\n};\n\nenum sctp_conntrack {\n\tSCTP_CONNTRACK_NONE = 0,\n\tSCTP_CONNTRACK_CLOSED = 1,\n\tSCTP_CONNTRACK_COOKIE_WAIT = 2,\n\tSCTP_CONNTRACK_COOKIE_ECHOED = 3,\n\tSCTP_CONNTRACK_ESTABLISHED = 4,\n\tSCTP_CONNTRACK_SHUTDOWN_SENT = 5,\n\tSCTP_CONNTRACK_SHUTDOWN_RECD = 6,\n\tSCTP_CONNTRACK_SHUTDOWN_ACK_SENT = 7,\n\tSCTP_CONNTRACK_HEARTBEAT_SENT = 8,\n\tSCTP_CONNTRACK_HEARTBEAT_ACKED = 9,\n\tSCTP_CONNTRACK_MAX = 10,\n};\n\nenum sctp_endpoint_type {\n\tSCTP_EP_TYPE_SOCKET = 0,\n\tSCTP_EP_TYPE_ASSOCIATION = 1,\n};\n\nenum sctp_event_timeout {\n\tSCTP_EVENT_TIMEOUT_NONE = 0,\n\tSCTP_EVENT_TIMEOUT_T1_COOKIE = 1,\n\tSCTP_EVENT_TIMEOUT_T1_INIT = 2,\n\tSCTP_EVENT_TIMEOUT_T2_SHUTDOWN = 3,\n\tSCTP_EVENT_TIMEOUT_T3_RTX = 4,\n\tSCTP_EVENT_TIMEOUT_T4_RTO = 5,\n\tSCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD = 6,\n\tSCTP_EVENT_TIMEOUT_HEARTBEAT = 7,\n\tSCTP_EVENT_TIMEOUT_RECONF = 8,\n\tSCTP_EVENT_TIMEOUT_PROBE = 9,\n\tSCTP_EVENT_TIMEOUT_SACK = 10,\n\tSCTP_EVENT_TIMEOUT_AUTOCLOSE = 11,\n};\n\nenum sctp_msg_flags {\n\tMSG_NOTIFICATION = 32768,\n};\n\nenum sctp_param {\n\tSCTP_PARAM_HEARTBEAT_INFO = 256,\n\tSCTP_PARAM_IPV4_ADDRESS = 1280,\n\tSCTP_PARAM_IPV6_ADDRESS = 1536,\n\tSCTP_PARAM_STATE_COOKIE = 1792,\n\tSCTP_PARAM_UNRECOGNIZED_PARAMETERS = 2048,\n\tSCTP_PARAM_COOKIE_PRESERVATIVE = 2304,\n\tSCTP_PARAM_HOST_NAME_ADDRESS = 2816,\n\tSCTP_PARAM_SUPPORTED_ADDRESS_TYPES = 3072,\n\tSCTP_PARAM_ECN_CAPABLE = 128,\n\tSCTP_PARAM_RANDOM = 640,\n\tSCTP_PARAM_CHUNKS = 896,\n\tSCTP_PARAM_HMAC_ALGO = 1152,\n\tSCTP_PARAM_SUPPORTED_EXT = 2176,\n\tSCTP_PARAM_FWD_TSN_SUPPORT = 192,\n\tSCTP_PARAM_ADD_IP = 448,\n\tSCTP_PARAM_DEL_IP = 704,\n\tSCTP_PARAM_ERR_CAUSE = 960,\n\tSCTP_PARAM_SET_PRIMARY = 1216,\n\tSCTP_PARAM_SUCCESS_REPORT = 1472,\n\tSCTP_PARAM_ADAPTATION_LAYER_IND = 1728,\n\tSCTP_PARAM_RESET_OUT_REQUEST = 3328,\n\tSCTP_PARAM_RESET_IN_REQUEST = 3584,\n\tSCTP_PARAM_RESET_TSN_REQUEST = 3840,\n\tSCTP_PARAM_RESET_RESPONSE = 4096,\n\tSCTP_PARAM_RESET_ADD_OUT_STREAMS = 4352,\n\tSCTP_PARAM_RESET_ADD_IN_STREAMS = 4608,\n};\n\nenum sctp_scope {\n\tSCTP_SCOPE_GLOBAL = 0,\n\tSCTP_SCOPE_PRIVATE = 1,\n\tSCTP_SCOPE_LINK = 2,\n\tSCTP_SCOPE_LOOPBACK = 3,\n\tSCTP_SCOPE_UNUSABLE = 4,\n};\n\nenum sctp_socket_type {\n\tSCTP_SOCKET_UDP = 0,\n\tSCTP_SOCKET_UDP_HIGH_BANDWIDTH = 1,\n\tSCTP_SOCKET_TCP = 2,\n};\n\nenum sctp_state {\n\tSCTP_STATE_CLOSED = 0,\n\tSCTP_STATE_COOKIE_WAIT = 1,\n\tSCTP_STATE_COOKIE_ECHOED = 2,\n\tSCTP_STATE_ESTABLISHED = 3,\n\tSCTP_STATE_SHUTDOWN_PENDING = 4,\n\tSCTP_STATE_SHUTDOWN_SENT = 5,\n\tSCTP_STATE_SHUTDOWN_RECEIVED = 6,\n\tSCTP_STATE_SHUTDOWN_ACK_SENT = 7,\n};\n\nenum sel_inos {\n\tSEL_ROOT_INO = 2,\n\tSEL_LOAD = 3,\n\tSEL_ENFORCE = 4,\n\tSEL_CONTEXT = 5,\n\tSEL_ACCESS = 6,\n\tSEL_CREATE = 7,\n\tSEL_RELABEL = 8,\n\tSEL_USER = 9,\n\tSEL_POLICYVERS = 10,\n\tSEL_COMMIT_BOOLS = 11,\n\tSEL_MLS = 12,\n\tSEL_DISABLE = 13,\n\tSEL_MEMBER = 14,\n\tSEL_CHECKREQPROT = 15,\n\tSEL_COMPAT_NET = 16,\n\tSEL_REJECT_UNKNOWN = 17,\n\tSEL_DENY_UNKNOWN = 18,\n\tSEL_STATUS = 19,\n\tSEL_POLICY = 20,\n\tSEL_VALIDATE_TRANS = 21,\n\tSEL_INO_NEXT = 22,\n};\n\nenum selinux_nlgroups {\n\tSELNLGRP_NONE = 0,\n\tSELNLGRP_AVC = 1,\n\t__SELNLGRP_MAX = 2,\n};\n\nenum serio_event_type {\n\tSERIO_RESCAN_PORT = 0,\n\tSERIO_RECONNECT_PORT = 1,\n\tSERIO_RECONNECT_SUBTREE = 2,\n\tSERIO_REGISTER_PORT = 3,\n\tSERIO_ATTACH_DRIVER = 4,\n};\n\nenum service_response {\n\tSAS_TASK_COMPLETE = 0,\n\tSAS_TASK_UNDELIVERED = -1,\n};\n\nenum set_event_iter_type {\n\tSET_EVENT_FILE = 0,\n\tSET_EVENT_MOD = 1,\n};\n\nenum sgp_type {\n\tSGP_READ = 0,\n\tSGP_NOALLOC = 1,\n\tSGP_CACHE = 2,\n\tSGP_WRITE = 3,\n\tSGP_FALLOC = 4,\n};\n\nenum sgpio_led_status {\n\tLED_OFF___2 = 0,\n\tLED_ON___2 = 1,\n\tLED_BLINKA = 2,\n\tLED_BLINKA_INV = 3,\n\tLED_BLINKA_SOF = 4,\n\tLED_BLINKA_EOF = 5,\n\tLED_BLINKB = 6,\n\tLED_BLINKB_INV = 7,\n};\n\nenum sgpio_registers {\n\tMVS_SGPIO_HOST_OFFSET = 256,\n\tMVS_SGPIO_CFG0 = 49664,\n\tMVS_SGPIO_CFG0_ENABLE = 1,\n\tMVS_SGPIO_CFG0_BLINKB = 2,\n\tMVS_SGPIO_CFG0_BLINKA = 4,\n\tMVS_SGPIO_CFG0_INVSCLK = 8,\n\tMVS_SGPIO_CFG0_INVSLOAD = 16,\n\tMVS_SGPIO_CFG0_INVSDOUT = 32,\n\tMVS_SGPIO_CFG0_SLOAD_FALLEDGE = 64,\n\tMVS_SGPIO_CFG0_SDOUT_FALLEDGE = 128,\n\tMVS_SGPIO_CFG0_SDIN_RISEEDGE = 256,\n\tMVS_SGPIO_CFG0_MAN_BITLEN_SHIFT = 18,\n\tMVS_SGPIO_CFG0_AUT_BITLEN_SHIFT = 24,\n\tMVS_SGPIO_CFG1 = 49668,\n\tMVS_SGPIO_CFG1_LOWA_SHIFT = 0,\n\tMVS_SGPIO_CFG1_HIA_SHIFT = 4,\n\tMVS_SGPIO_CFG1_LOWB_SHIFT = 8,\n\tMVS_SGPIO_CFG1_HIB_SHIFT = 12,\n\tMVS_SGPIO_CFG1_MAXACTON_SHIFT = 16,\n\tMVS_SGPIO_CFG1_FORCEACTOFF_SHIFT = 20,\n\tMVS_SGPIO_CFG1_STRCHACTON_SHIFT = 24,\n\tMVS_SGPIO_CFG1_STRCHACTOFF_SHIFT = 28,\n\tMVS_SGPIO_CFG2 = 49672,\n\tMVS_SGPIO_CFG2_CLK_SHIFT = 0,\n\tMVS_SGPIO_CFG2_BLINK_SHIFT = 20,\n\tMVS_SGPIO_CTRL = 49676,\n\tMVS_SGPIO_CTRL_SDOUT_AUTO = 2,\n\tMVS_SGPIO_CTRL_SDOUT_SHIFT = 2,\n\tMVS_SGPIO_DSRC = 49696,\n\tMVS_SGPIO_DCTRL = 49720,\n\tMVS_SGPIO_DCTRL_ERR_SHIFT = 0,\n\tMVS_SGPIO_DCTRL_LOC_SHIFT = 3,\n\tMVS_SGPIO_DCTRL_ACT_SHIFT = 5,\n};\n\nenum shmem_param {\n\tOpt_gid___9 = 0,\n\tOpt_huge = 1,\n\tOpt_mode___7 = 2,\n\tOpt_mpol = 3,\n\tOpt_nr_blocks = 4,\n\tOpt_nr_inodes___2 = 5,\n\tOpt_size___2 = 6,\n\tOpt_uid___8 = 7,\n\tOpt_inode32___2 = 8,\n\tOpt_inode64___2 = 9,\n\tOpt_noswap = 10,\n\tOpt_quota___4 = 11,\n\tOpt_usrquota___4 = 12,\n\tOpt_grpquota___4 = 13,\n\tOpt_usrquota_block_hardlimit = 14,\n\tOpt_usrquota_inode_hardlimit = 15,\n\tOpt_grpquota_block_hardlimit = 16,\n\tOpt_grpquota_inode_hardlimit = 17,\n\tOpt_casefold_version = 18,\n\tOpt_casefold = 19,\n\tOpt_strict_encoding = 20,\n};\n\nenum si_type {\n\tSI_TYPE_INVALID = 0,\n\tSI_KCS = 1,\n\tSI_SMIC = 2,\n\tSI_BT = 3,\n\tSI_TYPE_MAX = 4,\n};\n\nenum sig_handler {\n\tHANDLER_CURRENT = 0,\n\tHANDLER_SIG_DFL = 1,\n\tHANDLER_EXIT = 2,\n};\n\nenum siginfo_layout {\n\tSIL_KILL = 0,\n\tSIL_TIMER = 1,\n\tSIL_POLL = 2,\n\tSIL_FAULT = 3,\n\tSIL_FAULT_TRAPNO = 4,\n\tSIL_FAULT_MCEERR = 5,\n\tSIL_FAULT_BNDERR = 6,\n\tSIL_FAULT_PKUERR = 7,\n\tSIL_FAULT_PERF_EVENT = 8,\n\tSIL_CHLD = 9,\n\tSIL_RT = 10,\n\tSIL_SYS = 11,\n};\n\nenum sk_action {\n\tSK_DROP = 0,\n\tSK_PASS = 1,\n};\n\nenum sk_pacing {\n\tSK_PACING_NONE = 0,\n\tSK_PACING_NEEDED = 1,\n\tSK_PACING_FQ = 2,\n};\n\nenum sk_psock_state_bits {\n\tSK_PSOCK_TX_ENABLED = 0,\n\tSK_PSOCK_RX_STRP_ENABLED = 1,\n};\n\nenum sk_rst_reason {\n\tSK_RST_REASON_NOT_SPECIFIED = 0,\n\tSK_RST_REASON_NO_SOCKET = 1,\n\tSK_RST_REASON_TCP_INVALID_ACK_SEQUENCE = 2,\n\tSK_RST_REASON_TCP_RFC7323_PAWS = 3,\n\tSK_RST_REASON_TCP_TOO_OLD_ACK = 4,\n\tSK_RST_REASON_TCP_ACK_UNSENT_DATA = 5,\n\tSK_RST_REASON_TCP_FLAGS = 6,\n\tSK_RST_REASON_TCP_OLD_ACK = 7,\n\tSK_RST_REASON_TCP_ABORT_ON_DATA = 8,\n\tSK_RST_REASON_TCP_TIMEWAIT_SOCKET = 9,\n\tSK_RST_REASON_INVALID_SYN = 10,\n\tSK_RST_REASON_TCP_ABORT_ON_CLOSE = 11,\n\tSK_RST_REASON_TCP_ABORT_ON_LINGER = 12,\n\tSK_RST_REASON_TCP_ABORT_ON_MEMORY = 13,\n\tSK_RST_REASON_TCP_STATE = 14,\n\tSK_RST_REASON_TCP_KEEPALIVE_TIMEOUT = 15,\n\tSK_RST_REASON_TCP_DISCONNECT_WITH_DATA = 16,\n\tSK_RST_REASON_MPTCP_RST_EUNSPEC = 17,\n\tSK_RST_REASON_MPTCP_RST_EMPTCP = 18,\n\tSK_RST_REASON_MPTCP_RST_ERESOURCE = 19,\n\tSK_RST_REASON_MPTCP_RST_EPROHIBIT = 20,\n\tSK_RST_REASON_MPTCP_RST_EWQ2BIG = 21,\n\tSK_RST_REASON_MPTCP_RST_EBADPERF = 22,\n\tSK_RST_REASON_MPTCP_RST_EMIDDLEBOX = 23,\n\tSK_RST_REASON_ERROR = 24,\n\tSK_RST_REASON_MAX = 25,\n};\n\nenum skb_drop_reason {\n\tSKB_NOT_DROPPED_YET = 0,\n\tSKB_CONSUMED = 1,\n\tSKB_DROP_REASON_NOT_SPECIFIED = 2,\n\tSKB_DROP_REASON_NO_SOCKET = 3,\n\tSKB_DROP_REASON_SOCKET_CLOSE = 4,\n\tSKB_DROP_REASON_SOCKET_FILTER = 5,\n\tSKB_DROP_REASON_SOCKET_RCVBUFF = 6,\n\tSKB_DROP_REASON_UNIX_DISCONNECT = 7,\n\tSKB_DROP_REASON_UNIX_SKIP_OOB = 8,\n\tSKB_DROP_REASON_PKT_TOO_SMALL = 9,\n\tSKB_DROP_REASON_TCP_CSUM = 10,\n\tSKB_DROP_REASON_UDP_CSUM = 11,\n\tSKB_DROP_REASON_NETFILTER_DROP = 12,\n\tSKB_DROP_REASON_OTHERHOST = 13,\n\tSKB_DROP_REASON_IP_CSUM = 14,\n\tSKB_DROP_REASON_IP_INHDR = 15,\n\tSKB_DROP_REASON_IP_RPFILTER = 16,\n\tSKB_DROP_REASON_UNICAST_IN_L2_MULTICAST = 17,\n\tSKB_DROP_REASON_XFRM_POLICY = 18,\n\tSKB_DROP_REASON_IP_NOPROTO = 19,\n\tSKB_DROP_REASON_PROTO_MEM = 20,\n\tSKB_DROP_REASON_TCP_AUTH_HDR = 21,\n\tSKB_DROP_REASON_TCP_MD5NOTFOUND = 22,\n\tSKB_DROP_REASON_TCP_MD5UNEXPECTED = 23,\n\tSKB_DROP_REASON_TCP_MD5FAILURE = 24,\n\tSKB_DROP_REASON_TCP_AONOTFOUND = 25,\n\tSKB_DROP_REASON_TCP_AOUNEXPECTED = 26,\n\tSKB_DROP_REASON_TCP_AOKEYNOTFOUND = 27,\n\tSKB_DROP_REASON_TCP_AOFAILURE = 28,\n\tSKB_DROP_REASON_SOCKET_BACKLOG = 29,\n\tSKB_DROP_REASON_TCP_FLAGS = 30,\n\tSKB_DROP_REASON_TCP_ABORT_ON_DATA = 31,\n\tSKB_DROP_REASON_TCP_ZEROWINDOW = 32,\n\tSKB_DROP_REASON_TCP_OLD_DATA = 33,\n\tSKB_DROP_REASON_TCP_OVERWINDOW = 34,\n\tSKB_DROP_REASON_TCP_OFOMERGE = 35,\n\tSKB_DROP_REASON_TCP_RFC7323_PAWS = 36,\n\tSKB_DROP_REASON_TCP_RFC7323_PAWS_ACK = 37,\n\tSKB_DROP_REASON_TCP_OLD_SEQUENCE = 38,\n\tSKB_DROP_REASON_TCP_INVALID_SEQUENCE = 39,\n\tSKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE = 40,\n\tSKB_DROP_REASON_TCP_RESET = 41,\n\tSKB_DROP_REASON_TCP_INVALID_SYN = 42,\n\tSKB_DROP_REASON_TCP_CLOSE = 43,\n\tSKB_DROP_REASON_TCP_FASTOPEN = 44,\n\tSKB_DROP_REASON_TCP_OLD_ACK = 45,\n\tSKB_DROP_REASON_TCP_TOO_OLD_ACK = 46,\n\tSKB_DROP_REASON_TCP_ACK_UNSENT_DATA = 47,\n\tSKB_DROP_REASON_TCP_OFO_QUEUE_PRUNE = 48,\n\tSKB_DROP_REASON_TCP_OFO_DROP = 49,\n\tSKB_DROP_REASON_IP_OUTNOROUTES = 50,\n\tSKB_DROP_REASON_BPF_CGROUP_EGRESS = 51,\n\tSKB_DROP_REASON_IPV6DISABLED = 52,\n\tSKB_DROP_REASON_NEIGH_CREATEFAIL = 53,\n\tSKB_DROP_REASON_NEIGH_FAILED = 54,\n\tSKB_DROP_REASON_NEIGH_QUEUEFULL = 55,\n\tSKB_DROP_REASON_NEIGH_DEAD = 56,\n\tSKB_DROP_REASON_TC_EGRESS = 57,\n\tSKB_DROP_REASON_SECURITY_HOOK = 58,\n\tSKB_DROP_REASON_QDISC_DROP = 59,\n\tSKB_DROP_REASON_QDISC_OVERLIMIT = 60,\n\tSKB_DROP_REASON_QDISC_CONGESTED = 61,\n\tSKB_DROP_REASON_CAKE_FLOOD = 62,\n\tSKB_DROP_REASON_FQ_BAND_LIMIT = 63,\n\tSKB_DROP_REASON_FQ_HORIZON_LIMIT = 64,\n\tSKB_DROP_REASON_FQ_FLOW_LIMIT = 65,\n\tSKB_DROP_REASON_CPU_BACKLOG = 66,\n\tSKB_DROP_REASON_XDP = 67,\n\tSKB_DROP_REASON_TC_INGRESS = 68,\n\tSKB_DROP_REASON_UNHANDLED_PROTO = 69,\n\tSKB_DROP_REASON_SKB_CSUM = 70,\n\tSKB_DROP_REASON_SKB_GSO_SEG = 71,\n\tSKB_DROP_REASON_SKB_UCOPY_FAULT = 72,\n\tSKB_DROP_REASON_DEV_HDR = 73,\n\tSKB_DROP_REASON_DEV_READY = 74,\n\tSKB_DROP_REASON_FULL_RING = 75,\n\tSKB_DROP_REASON_NOMEM = 76,\n\tSKB_DROP_REASON_HDR_TRUNC = 77,\n\tSKB_DROP_REASON_TAP_FILTER = 78,\n\tSKB_DROP_REASON_TAP_TXFILTER = 79,\n\tSKB_DROP_REASON_ICMP_CSUM = 80,\n\tSKB_DROP_REASON_INVALID_PROTO = 81,\n\tSKB_DROP_REASON_IP_INADDRERRORS = 82,\n\tSKB_DROP_REASON_IP_INNOROUTES = 83,\n\tSKB_DROP_REASON_IP_LOCAL_SOURCE = 84,\n\tSKB_DROP_REASON_IP_INVALID_SOURCE = 85,\n\tSKB_DROP_REASON_IP_LOCALNET = 86,\n\tSKB_DROP_REASON_IP_INVALID_DEST = 87,\n\tSKB_DROP_REASON_PKT_TOO_BIG = 88,\n\tSKB_DROP_REASON_DUP_FRAG = 89,\n\tSKB_DROP_REASON_FRAG_REASM_TIMEOUT = 90,\n\tSKB_DROP_REASON_FRAG_TOO_FAR = 91,\n\tSKB_DROP_REASON_TCP_MINTTL = 92,\n\tSKB_DROP_REASON_IPV6_BAD_EXTHDR = 93,\n\tSKB_DROP_REASON_IPV6_NDISC_FRAG = 94,\n\tSKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 95,\n\tSKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 96,\n\tSKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 97,\n\tSKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 98,\n\tSKB_DROP_REASON_QUEUE_PURGE = 99,\n\tSKB_DROP_REASON_TC_COOKIE_ERROR = 100,\n\tSKB_DROP_REASON_PACKET_SOCK_ERROR = 101,\n\tSKB_DROP_REASON_TC_CHAIN_NOTFOUND = 102,\n\tSKB_DROP_REASON_TC_RECLASSIFY_LOOP = 103,\n\tSKB_DROP_REASON_VXLAN_INVALID_HDR = 104,\n\tSKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 105,\n\tSKB_DROP_REASON_MAC_INVALID_SOURCE = 106,\n\tSKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 107,\n\tSKB_DROP_REASON_NO_TX_TARGET = 108,\n\tSKB_DROP_REASON_IP_TUNNEL_ECN = 109,\n\tSKB_DROP_REASON_TUNNEL_TXINFO = 110,\n\tSKB_DROP_REASON_LOCAL_MAC = 111,\n\tSKB_DROP_REASON_ARP_PVLAN_DISABLE = 112,\n\tSKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 113,\n\tSKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 114,\n\tSKB_DROP_REASON_MAX = 115,\n\tSKB_DROP_REASON_SUBSYS_MASK = 4294901760,\n};\n\nenum skb_drop_reason_subsys {\n\tSKB_DROP_REASON_SUBSYS_CORE = 0,\n\tSKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE = 1,\n\tSKB_DROP_REASON_SUBSYS_MAC80211_MONITOR = 2,\n\tSKB_DROP_REASON_SUBSYS_OPENVSWITCH = 3,\n\tSKB_DROP_REASON_SUBSYS_NUM = 4,\n};\n\nenum skb_ext_id {\n\tSKB_EXT_BRIDGE_NF = 0,\n\tSKB_EXT_SEC_PATH = 1,\n\tSKB_EXT_MPTCP = 2,\n\tSKB_EXT_NUM = 3,\n};\n\nenum skb_tstamp_type {\n\tSKB_CLOCK_REALTIME = 0,\n\tSKB_CLOCK_MONOTONIC = 1,\n\tSKB_CLOCK_TAI = 2,\n\t__SKB_CLOCK_MAX = 2,\n};\n\nenum sknetlink_groups {\n\tSKNLGRP_NONE = 0,\n\tSKNLGRP_INET_TCP_DESTROY = 1,\n\tSKNLGRP_INET_UDP_DESTROY = 2,\n\tSKNLGRP_INET6_TCP_DESTROY = 3,\n\tSKNLGRP_INET6_UDP_DESTROY = 4,\n\t__SKNLGRP_MAX = 5,\n};\n\nenum slab_stat_type {\n\tSL_ALL = 0,\n\tSL_PARTIAL = 1,\n\tSL_CPU = 2,\n\tSL_OBJECTS = 3,\n\tSL_TOTAL = 4,\n};\n\nenum slab_state {\n\tDOWN___2 = 0,\n\tPARTIAL = 1,\n\tUP___2 = 2,\n\tFULL = 3,\n};\n\nenum smbios_attr_enum {\n\tSMBIOS_ATTR_NONE = 0,\n\tSMBIOS_ATTR_LABEL_SHOW = 1,\n\tSMBIOS_ATTR_INSTANCE_SHOW = 2,\n};\n\nenum snd_compr_direction {\n\tSND_COMPRESS_PLAYBACK = 0,\n\tSND_COMPRESS_CAPTURE = 1,\n\tSND_COMPRESS_ACCEL = 2,\n};\n\nenum snd_ctl_add_mode {\n\tCTL_ADD_EXCLUSIVE = 0,\n\tCTL_REPLACE = 1,\n\tCTL_ADD_ON_REPLACE = 2,\n};\n\nenum snd_ctl_led_mode {\n\tMODE_FOLLOW_MUTE = 0,\n\tMODE_FOLLOW_ROUTE = 1,\n\tMODE_OFF = 2,\n\tMODE_ON = 3,\n};\n\nenum snd_device_state {\n\tSNDRV_DEV_BUILD = 0,\n\tSNDRV_DEV_REGISTERED = 1,\n\tSNDRV_DEV_DISCONNECTED = 2,\n};\n\nenum snd_device_type {\n\tSNDRV_DEV_LOWLEVEL = 0,\n\tSNDRV_DEV_INFO = 1,\n\tSNDRV_DEV_BUS = 2,\n\tSNDRV_DEV_CODEC = 3,\n\tSNDRV_DEV_PCM = 4,\n\tSNDRV_DEV_COMPRESS = 5,\n\tSNDRV_DEV_RAWMIDI = 6,\n\tSNDRV_DEV_TIMER = 7,\n\tSNDRV_DEV_SEQUENCER = 8,\n\tSNDRV_DEV_HWDEP = 9,\n\tSNDRV_DEV_JACK = 10,\n\tSNDRV_DEV_CONTROL = 11,\n};\n\nenum snd_dma_sync_mode {\n\tSNDRV_DMA_SYNC_CPU = 0,\n\tSNDRV_DMA_SYNC_DEVICE = 1,\n};\n\nenum snd_jack_types {\n\tSND_JACK_HEADPHONE = 1,\n\tSND_JACK_MICROPHONE = 2,\n\tSND_JACK_HEADSET = 3,\n\tSND_JACK_LINEOUT = 4,\n\tSND_JACK_MECHANICAL = 8,\n\tSND_JACK_VIDEOOUT = 16,\n\tSND_JACK_AVOUT = 20,\n\tSND_JACK_LINEIN = 32,\n\tSND_JACK_BTN_0 = 16384,\n\tSND_JACK_BTN_1 = 8192,\n\tSND_JACK_BTN_2 = 4096,\n\tSND_JACK_BTN_3 = 2048,\n\tSND_JACK_BTN_4 = 1024,\n\tSND_JACK_BTN_5 = 512,\n};\n\nenum sndrv_ctl_event_type {\n\tSNDRV_CTL_EVENT_ELEM = 0,\n\tSNDRV_CTL_EVENT_LAST = 0,\n};\n\nenum snoop_when {\n\tSUBMIT = 0,\n\tCOMPLETE___2 = 1,\n};\n\nenum sock_flags {\n\tSOCK_DEAD = 0,\n\tSOCK_DONE = 1,\n\tSOCK_URGINLINE = 2,\n\tSOCK_KEEPOPEN = 3,\n\tSOCK_LINGER = 4,\n\tSOCK_DESTROY = 5,\n\tSOCK_BROADCAST = 6,\n\tSOCK_TIMESTAMP = 7,\n\tSOCK_ZAPPED = 8,\n\tSOCK_USE_WRITE_QUEUE = 9,\n\tSOCK_DBG = 10,\n\tSOCK_RCVTSTAMP = 11,\n\tSOCK_RCVTSTAMPNS = 12,\n\tSOCK_LOCALROUTE = 13,\n\tSOCK_MEMALLOC = 14,\n\tSOCK_TIMESTAMPING_RX_SOFTWARE = 15,\n\tSOCK_FASYNC = 16,\n\tSOCK_RXQ_OVFL = 17,\n\tSOCK_ZEROCOPY = 18,\n\tSOCK_WIFI_STATUS = 19,\n\tSOCK_NOFCS = 20,\n\tSOCK_FILTER_LOCKED = 21,\n\tSOCK_SELECT_ERR_QUEUE = 22,\n\tSOCK_RCU_FREE = 23,\n\tSOCK_TXTIME = 24,\n\tSOCK_XDP = 25,\n\tSOCK_TSTAMP_NEW = 26,\n\tSOCK_RCVMARK = 27,\n\tSOCK_RCVPRIORITY = 28,\n};\n\nenum sock_shutdown_cmd {\n\tSHUT_RD = 0,\n\tSHUT_WR = 1,\n\tSHUT_RDWR = 2,\n};\n\nenum sock_type {\n\tSOCK_STREAM = 1,\n\tSOCK_DGRAM = 2,\n\tSOCK_RAW = 3,\n\tSOCK_RDM = 4,\n\tSOCK_SEQPACKET = 5,\n\tSOCK_DCCP = 6,\n\tSOCK_PACKET = 10,\n};\n\nenum sp_media_type {\n\tsp_media_unknown = 0,\n\tsp_media_fiber = 1,\n\tsp_media_copper = 2,\n\tsp_media_backplane = 3,\n};\n\nenum special_kfunc_type {\n\tKF_bpf_obj_new_impl = 0,\n\tKF_bpf_obj_drop_impl = 1,\n\tKF_bpf_refcount_acquire_impl = 2,\n\tKF_bpf_list_push_front_impl = 3,\n\tKF_bpf_list_push_back_impl = 4,\n\tKF_bpf_list_pop_front = 5,\n\tKF_bpf_list_pop_back = 6,\n\tKF_bpf_cast_to_kern_ctx = 7,\n\tKF_bpf_rdonly_cast = 8,\n\tKF_bpf_rcu_read_lock = 9,\n\tKF_bpf_rcu_read_unlock = 10,\n\tKF_bpf_rbtree_remove = 11,\n\tKF_bpf_rbtree_add_impl = 12,\n\tKF_bpf_rbtree_first = 13,\n\tKF_bpf_dynptr_from_skb = 14,\n\tKF_bpf_dynptr_from_xdp = 15,\n\tKF_bpf_dynptr_slice = 16,\n\tKF_bpf_dynptr_slice_rdwr = 17,\n\tKF_bpf_dynptr_clone = 18,\n\tKF_bpf_percpu_obj_new_impl = 19,\n\tKF_bpf_percpu_obj_drop_impl = 20,\n\tKF_bpf_throw = 21,\n\tKF_bpf_wq_set_callback_impl = 22,\n\tKF_bpf_preempt_disable = 23,\n\tKF_bpf_preempt_enable = 24,\n\tKF_bpf_iter_css_task_new = 25,\n\tKF_bpf_session_cookie = 26,\n\tKF_bpf_get_kmem_cache = 27,\n\tKF_bpf_local_irq_save = 28,\n\tKF_bpf_local_irq_restore = 29,\n\tKF_bpf_iter_num_new = 30,\n\tKF_bpf_iter_num_next = 31,\n\tKF_bpf_iter_num_destroy = 32,\n};\n\nenum spi_mem_data_dir {\n\tSPI_MEM_NO_DATA = 0,\n\tSPI_MEM_DATA_IN = 1,\n\tSPI_MEM_DATA_OUT = 2,\n};\n\nenum squashfs_param {\n\tOpt_errors___2 = 0,\n\tOpt_threads = 1,\n};\n\nenum stack_type {\n\tSTACK_TYPE_UNKNOWN = 0,\n\tSTACK_TYPE_IRQ = 1,\n\tSTACK_TYPE_TASK = 2,\n};\n\nenum stat_group {\n\tSTAT_READ = 0,\n\tSTAT_WRITE = 1,\n\tSTAT_DISCARD = 2,\n\tSTAT_FLUSH = 3,\n\tNR_STAT_GROUPS = 4,\n};\n\nenum stat_item {\n\tALLOC_FASTPATH = 0,\n\tALLOC_SLOWPATH = 1,\n\tFREE_FASTPATH = 2,\n\tFREE_SLOWPATH = 3,\n\tFREE_FROZEN = 4,\n\tFREE_ADD_PARTIAL = 5,\n\tFREE_REMOVE_PARTIAL = 6,\n\tALLOC_FROM_PARTIAL = 7,\n\tALLOC_SLAB = 8,\n\tALLOC_REFILL = 9,\n\tALLOC_NODE_MISMATCH = 10,\n\tFREE_SLAB = 11,\n\tCPUSLAB_FLUSH = 12,\n\tDEACTIVATE_FULL = 13,\n\tDEACTIVATE_EMPTY = 14,\n\tDEACTIVATE_TO_HEAD = 15,\n\tDEACTIVATE_TO_TAIL = 16,\n\tDEACTIVATE_REMOTE_FREES = 17,\n\tDEACTIVATE_BYPASS = 18,\n\tORDER_FALLBACK = 19,\n\tCMPXCHG_DOUBLE_CPU_FAIL = 20,\n\tCMPXCHG_DOUBLE_FAIL = 21,\n\tCPU_PARTIAL_ALLOC = 22,\n\tCPU_PARTIAL_FREE = 23,\n\tCPU_PARTIAL_NODE = 24,\n\tCPU_PARTIAL_DRAIN = 25,\n\tNR_SLUB_STAT_ITEMS = 26,\n};\n\nenum state {\n\tStart = 0,\n\tCollect = 1,\n\tGotHeader = 2,\n\tSkipIt = 3,\n\tGotName = 4,\n\tCopyFile = 5,\n\tGotSymlink = 6,\n\tReset = 7,\n};\n\nenum state_protect_how4 {\n\tSP4_NONE = 0,\n\tSP4_MACH_CRED = 1,\n\tSP4_SSV = 2,\n};\n\nenum status_buffer {\n\tSB_EIR_OFF = 0,\n\tSB_RFB_OFF = 8,\n\tSB_RFB_MAX = 1024,\n};\n\nenum stmmac_mpacket_type {\n\tMPACKET_VERIFY = 0,\n\tMPACKET_RESPONSE = 1,\n};\n\nenum stmmac_rfs_type {\n\tSTMMAC_RFS_T_VLAN = 0,\n\tSTMMAC_RFS_T_LLDP = 1,\n\tSTMMAC_RFS_T_1588 = 2,\n\tSTMMAC_RFS_T_MAX = 3,\n};\n\nenum stmmac_state {\n\tSTMMAC_DOWN = 0,\n\tSTMMAC_RESET_REQUESTED = 1,\n\tSTMMAC_RESETING = 2,\n\tSTMMAC_SERVICE_SCHED = 3,\n};\n\nenum stmmac_txbuf_type {\n\tSTMMAC_TXBUF_T_SKB = 0,\n\tSTMMAC_TXBUF_T_XDP_TX = 1,\n\tSTMMAC_TXBUF_T_XDP_NDO = 2,\n\tSTMMAC_TXBUF_T_XSK_TX = 3,\n};\n\nenum store_type {\n\twr_invalid = 0,\n\twr_new_root = 1,\n\twr_store_root = 2,\n\twr_exact_fit = 3,\n\twr_spanning_store = 4,\n\twr_split_store = 5,\n\twr_rebalance = 6,\n\twr_append = 7,\n\twr_node_store = 8,\n\twr_slot_store = 9,\n};\n\nenum strict_prio_type {\n\tprio_none = 0,\n\tprio_group = 1,\n\tprio_link = 2,\n};\n\nenum string_size_units {\n\tSTRING_UNITS_10 = 0,\n\tSTRING_UNITS_2 = 1,\n\tSTRING_UNITS_MASK = 1,\n\tSTRING_UNITS_NO_SPACE = 1073741824,\n\tSTRING_UNITS_NO_BYTES = 2147483648,\n};\n\nenum stripetype4 {\n\tSTRIPE_SPARSE = 1,\n\tSTRIPE_DENSE = 2,\n};\n\nenum subpixel_order {\n\tSubPixelUnknown = 0,\n\tSubPixelHorizontalRGB = 1,\n\tSubPixelHorizontalBGR = 2,\n\tSubPixelVerticalRGB = 3,\n\tSubPixelVerticalBGR = 4,\n\tSubPixelNone = 5,\n};\n\nenum sum_check_bits {\n\tSUM_CHECK_P = 0,\n\tSUM_CHECK_Q = 1,\n};\n\nenum sum_check_flags {\n\tSUM_CHECK_P_RESULT = 1,\n\tSUM_CHECK_Q_RESULT = 2,\n};\n\nenum support_mode {\n\tALLOW_LEGACY = 0,\n\tDENY_LEGACY = 1,\n};\n\nenum suspend_mode {\n\tPRESUSPEND = 0,\n\tPRESUSPEND_UNDO = 1,\n\tPOSTSUSPEND = 2,\n};\n\nenum suspend_stat_step {\n\tSUSPEND_WORKING = 0,\n\tSUSPEND_FREEZE = 1,\n\tSUSPEND_PREPARE = 2,\n\tSUSPEND_SUSPEND = 3,\n\tSUSPEND_SUSPEND_LATE = 4,\n\tSUSPEND_SUSPEND_NOIRQ = 5,\n\tSUSPEND_RESUME_NOIRQ = 6,\n\tSUSPEND_RESUME_EARLY = 7,\n\tSUSPEND_RESUME = 8,\n};\n\nenum svc_auth_status {\n\tSVC_GARBAGE = 1,\n\tSVC_SYSERR = 2,\n\tSVC_VALID = 3,\n\tSVC_NEGATIVE = 4,\n\tSVC_OK = 5,\n\tSVC_DROP = 6,\n\tSVC_CLOSE = 7,\n\tSVC_DENIED = 8,\n\tSVC_PENDING = 9,\n\tSVC_COMPLETE = 10,\n};\n\nenum sw_activity {\n\tOFF = 0,\n\tBLINK_ON = 1,\n\tBLINK_OFF = 2,\n};\n\nenum swap_cluster_flags {\n\tCLUSTER_FLAG_NONE = 0,\n\tCLUSTER_FLAG_FREE = 1,\n\tCLUSTER_FLAG_NONFULL = 2,\n\tCLUSTER_FLAG_FRAG = 3,\n\tCLUSTER_FLAG_USABLE = 3,\n\tCLUSTER_FLAG_FULL = 4,\n\tCLUSTER_FLAG_DISCARD = 5,\n\tCLUSTER_FLAG_MAX = 6,\n};\n\nenum switch_power_state {\n\tDRM_SWITCH_POWER_ON = 0,\n\tDRM_SWITCH_POWER_OFF = 1,\n\tDRM_SWITCH_POWER_CHANGING = 2,\n\tDRM_SWITCH_POWER_DYNAMIC_OFF = 3,\n};\n\nenum switchdev_notifier_type {\n\tSWITCHDEV_FDB_ADD_TO_BRIDGE = 1,\n\tSWITCHDEV_FDB_DEL_TO_BRIDGE = 2,\n\tSWITCHDEV_FDB_ADD_TO_DEVICE = 3,\n\tSWITCHDEV_FDB_DEL_TO_DEVICE = 4,\n\tSWITCHDEV_FDB_OFFLOADED = 5,\n\tSWITCHDEV_FDB_FLUSH_TO_BRIDGE = 6,\n\tSWITCHDEV_PORT_OBJ_ADD = 7,\n\tSWITCHDEV_PORT_OBJ_DEL = 8,\n\tSWITCHDEV_PORT_ATTR_SET = 9,\n\tSWITCHDEV_VXLAN_FDB_ADD_TO_BRIDGE = 10,\n\tSWITCHDEV_VXLAN_FDB_DEL_TO_BRIDGE = 11,\n\tSWITCHDEV_VXLAN_FDB_ADD_TO_DEVICE = 12,\n\tSWITCHDEV_VXLAN_FDB_DEL_TO_DEVICE = 13,\n\tSWITCHDEV_VXLAN_FDB_OFFLOADED = 14,\n\tSWITCHDEV_BRPORT_OFFLOADED = 15,\n\tSWITCHDEV_BRPORT_UNOFFLOADED = 16,\n\tSWITCHDEV_BRPORT_REPLAY = 17,\n};\n\nenum synaptics_pkt_type {\n\tSYN_NEWABS = 0,\n\tSYN_NEWABS_STRICT = 1,\n\tSYN_NEWABS_RELAXED = 2,\n\tSYN_OLDABS = 3,\n};\n\nenum sys_off_mode {\n\tSYS_OFF_MODE_POWER_OFF_PREPARE = 0,\n\tSYS_OFF_MODE_POWER_OFF = 1,\n\tSYS_OFF_MODE_RESTART_PREPARE = 2,\n\tSYS_OFF_MODE_RESTART = 3,\n};\n\nenum syscall_work_bit {\n\tSYSCALL_WORK_BIT_SECCOMP = 0,\n\tSYSCALL_WORK_BIT_SYSCALL_TRACEPOINT = 1,\n\tSYSCALL_WORK_BIT_SYSCALL_TRACE = 2,\n\tSYSCALL_WORK_BIT_SYSCALL_EMU = 3,\n\tSYSCALL_WORK_BIT_SYSCALL_AUDIT = 4,\n\tSYSCALL_WORK_BIT_SYSCALL_USER_DISPATCH = 5,\n\tSYSCALL_WORK_BIT_SYSCALL_EXIT_TRAP = 6,\n};\n\nenum sysctl_writes_mode {\n\tSYSCTL_WRITES_LEGACY = -1,\n\tSYSCTL_WRITES_WARN = 0,\n\tSYSCTL_WRITES_STRICT = 1,\n};\n\nenum system_states {\n\tSYSTEM_BOOTING = 0,\n\tSYSTEM_SCHEDULING = 1,\n\tSYSTEM_FREEING_INITMEM = 2,\n\tSYSTEM_RUNNING = 3,\n\tSYSTEM_HALT = 4,\n\tSYSTEM_POWER_OFF = 5,\n\tSYSTEM_RESTART = 6,\n\tSYSTEM_SUSPEND = 7,\n};\n\nenum t10_dif_type {\n\tT10_PI_TYPE0_PROTECTION = 0,\n\tT10_PI_TYPE1_PROTECTION = 1,\n\tT10_PI_TYPE2_PROTECTION = 2,\n\tT10_PI_TYPE3_PROTECTION = 3,\n};\n\nenum task_attribute {\n\tTASK_ATTR_SIMPLE = 0,\n\tTASK_ATTR_HOQ = 1,\n\tTASK_ATTR_ORDERED = 2,\n\tTASK_ATTR_ACA = 4,\n};\n\nenum task_disposition {\n\tTASK_IS_DONE = 0,\n\tTASK_IS_ABORTED = 1,\n\tTASK_IS_AT_LU = 2,\n\tTASK_IS_NOT_AT_LU = 3,\n\tTASK_ABORT_FAILED = 4,\n};\n\nenum task_work_notify_mode {\n\tTWA_NONE = 0,\n\tTWA_RESUME = 1,\n\tTWA_SIGNAL = 2,\n\tTWA_SIGNAL_NO_IPI = 3,\n\tTWA_NMI_CURRENT = 4,\n};\n\nenum tb_cfg_error {\n\tTB_CFG_ERROR_PORT_NOT_CONNECTED = 0,\n\tTB_CFG_ERROR_LINK_ERROR = 1,\n\tTB_CFG_ERROR_INVALID_CONFIG_SPACE = 2,\n\tTB_CFG_ERROR_NO_SUCH_PORT = 4,\n\tTB_CFG_ERROR_ACK_PLUG_EVENT = 7,\n\tTB_CFG_ERROR_LOOP = 8,\n\tTB_CFG_ERROR_HEC_ERROR_DETECTED = 12,\n\tTB_CFG_ERROR_FLOW_CONTROL_ERROR = 13,\n\tTB_CFG_ERROR_LOCK = 15,\n\tTB_CFG_ERROR_DP_BW = 32,\n\tTB_CFG_ERROR_ROP_CMPLT = 33,\n\tTB_CFG_ERROR_POP_CMPLT = 34,\n\tTB_CFG_ERROR_PCIE_WAKE = 35,\n\tTB_CFG_ERROR_DP_CON_CHANGE = 36,\n\tTB_CFG_ERROR_DPTX_DISCOVERY = 37,\n\tTB_CFG_ERROR_LINK_RECOVERY = 38,\n\tTB_CFG_ERROR_ASYM_LINK = 39,\n};\n\nenum tb_cfg_pkg_type {\n\tTB_CFG_PKG_READ = 1,\n\tTB_CFG_PKG_WRITE = 2,\n\tTB_CFG_PKG_ERROR = 3,\n\tTB_CFG_PKG_NOTIFY_ACK = 4,\n\tTB_CFG_PKG_EVENT = 5,\n\tTB_CFG_PKG_XDOMAIN_REQ = 6,\n\tTB_CFG_PKG_XDOMAIN_RESP = 7,\n\tTB_CFG_PKG_OVERRIDE = 8,\n\tTB_CFG_PKG_RESET = 9,\n\tTB_CFG_PKG_ICM_EVENT = 10,\n\tTB_CFG_PKG_ICM_CMD = 11,\n\tTB_CFG_PKG_ICM_RESP = 12,\n};\n\nenum tb_cfg_space {\n\tTB_CFG_HOPS = 0,\n\tTB_CFG_PORT = 1,\n\tTB_CFG_SWITCH = 2,\n\tTB_CFG_COUNTERS = 3,\n};\n\nenum tb_drom_entry_type {\n\tTB_DROM_ENTRY_GENERIC = 0,\n\tTB_DROM_ENTRY_PORT = 1,\n};\n\nenum tb_eeprom_transfer {\n\tTB_EEPROM_IN = 0,\n\tTB_EEPROM_OUT = 1,\n};\n\nenum tb_link_width {\n\tTB_LINK_WIDTH_SINGLE = 1,\n\tTB_LINK_WIDTH_DUAL = 2,\n\tTB_LINK_WIDTH_ASYM_TX = 4,\n\tTB_LINK_WIDTH_ASYM_RX = 8,\n};\n\nenum tb_nvm_write_ops {\n\tWRITE_AND_AUTHENTICATE = 1,\n\tWRITE_ONLY = 2,\n\tAUTHENTICATE_ONLY = 3,\n};\n\nenum tb_path_port {\n\tTB_PATH_NONE = 0,\n\tTB_PATH_SOURCE = 1,\n\tTB_PATH_INTERNAL = 2,\n\tTB_PATH_DESTINATION = 4,\n\tTB_PATH_ALL = 7,\n};\n\nenum tb_port_cap {\n\tTB_PORT_CAP_PHY = 1,\n\tTB_PORT_CAP_POWER = 2,\n\tTB_PORT_CAP_TIME1 = 3,\n\tTB_PORT_CAP_ADAP = 4,\n\tTB_PORT_CAP_VSE = 5,\n\tTB_PORT_CAP_USB4 = 6,\n};\n\nenum tb_port_state {\n\tTB_PORT_DISABLED = 0,\n\tTB_PORT_CONNECTING = 1,\n\tTB_PORT_UP = 2,\n\tTB_PORT_TX_CL0S = 3,\n\tTB_PORT_RX_CL0S = 4,\n\tTB_PORT_CL1 = 5,\n\tTB_PORT_CL2 = 6,\n\tTB_PORT_UNPLUGGED = 7,\n};\n\nenum tb_port_type {\n\tTB_TYPE_INACTIVE = 0,\n\tTB_TYPE_PORT = 1,\n\tTB_TYPE_NHI = 2,\n\tTB_TYPE_DP_HDMI_IN = 917761,\n\tTB_TYPE_DP_HDMI_OUT = 917762,\n\tTB_TYPE_PCIE_DOWN = 1048833,\n\tTB_TYPE_PCIE_UP = 1048834,\n\tTB_TYPE_USB3_DOWN = 2097409,\n\tTB_TYPE_USB3_UP = 2097410,\n};\n\nenum tb_property_type {\n\tTB_PROPERTY_TYPE_UNKNOWN = 0,\n\tTB_PROPERTY_TYPE_DIRECTORY = 68,\n\tTB_PROPERTY_TYPE_DATA = 100,\n\tTB_PROPERTY_TYPE_TEXT = 116,\n\tTB_PROPERTY_TYPE_VALUE = 118,\n};\n\nenum tb_security_level {\n\tTB_SECURITY_NONE = 0,\n\tTB_SECURITY_USER = 1,\n\tTB_SECURITY_SECURE = 2,\n\tTB_SECURITY_DPONLY = 3,\n\tTB_SECURITY_USBONLY = 4,\n\tTB_SECURITY_NOPCIE = 5,\n};\n\nenum tb_switch_cap {\n\tTB_SWITCH_CAP_TMU = 3,\n\tTB_SWITCH_CAP_VSE = 5,\n};\n\nenum tb_switch_tmu_mode {\n\tTB_SWITCH_TMU_MODE_OFF = 0,\n\tTB_SWITCH_TMU_MODE_LOWRES = 1,\n\tTB_SWITCH_TMU_MODE_HIFI_UNI = 2,\n\tTB_SWITCH_TMU_MODE_HIFI_BI = 3,\n\tTB_SWITCH_TMU_MODE_MEDRES_ENHANCED_UNI = 4,\n};\n\nenum tb_switch_vse_cap {\n\tTB_VSE_CAP_PLUG_EVENTS = 1,\n\tTB_VSE_CAP_TIME2 = 3,\n\tTB_VSE_CAP_CP_LP = 4,\n\tTB_VSE_CAP_LINK_CONTROLLER = 6,\n};\n\nenum tb_tunnel_state {\n\tTB_TUNNEL_INACTIVE = 0,\n\tTB_TUNNEL_ACTIVATING = 1,\n\tTB_TUNNEL_ACTIVE = 2,\n};\n\nenum tb_tunnel_type {\n\tTB_TUNNEL_PCI = 0,\n\tTB_TUNNEL_DP = 1,\n\tTB_TUNNEL_DMA = 2,\n\tTB_TUNNEL_USB3 = 3,\n};\n\nenum tb_xdp_error {\n\tERROR_SUCCESS = 0,\n\tERROR_UNKNOWN_PACKET = 1,\n\tERROR_UNKNOWN_DOMAIN = 2,\n\tERROR_NOT_SUPPORTED = 3,\n\tERROR_NOT_READY = 4,\n};\n\nenum tb_xdp_type {\n\tUUID_REQUEST_OLD = 1,\n\tUUID_RESPONSE = 2,\n\tPROPERTIES_REQUEST = 3,\n\tPROPERTIES_RESPONSE = 4,\n\tPROPERTIES_CHANGED_REQUEST = 5,\n\tPROPERTIES_CHANGED_RESPONSE = 6,\n\tERROR_RESPONSE = 7,\n\tUUID_REQUEST = 12,\n\tLINK_STATE_STATUS_REQUEST = 15,\n\tLINK_STATE_STATUS_RESPONSE = 16,\n\tLINK_STATE_CHANGE_REQUEST = 17,\n\tLINK_STATE_CHANGE_RESPONSE = 18,\n};\n\nenum tc_clsu32_command {\n\tTC_CLSU32_NEW_KNODE = 0,\n\tTC_CLSU32_REPLACE_KNODE = 1,\n\tTC_CLSU32_DELETE_KNODE = 2,\n\tTC_CLSU32_NEW_HNODE = 3,\n\tTC_CLSU32_REPLACE_HNODE = 4,\n\tTC_CLSU32_DELETE_HNODE = 5,\n};\n\nenum tc_fifo_command {\n\tTC_FIFO_REPLACE = 0,\n\tTC_FIFO_DESTROY = 1,\n\tTC_FIFO_STATS = 2,\n};\n\nenum tc_link_layer {\n\tTC_LINKLAYER_UNAWARE = 0,\n\tTC_LINKLAYER_ETHERNET = 1,\n\tTC_LINKLAYER_ATM = 2,\n};\n\nenum tc_mq_command {\n\tTC_MQ_CREATE = 0,\n\tTC_MQ_DESTROY = 1,\n\tTC_MQ_STATS = 2,\n\tTC_MQ_GRAFT = 3,\n};\n\nenum tc_root_command {\n\tTC_ROOT_GRAFT = 0,\n};\n\nenum tc_setup_type {\n\tTC_QUERY_CAPS = 0,\n\tTC_SETUP_QDISC_MQPRIO = 1,\n\tTC_SETUP_CLSU32 = 2,\n\tTC_SETUP_CLSFLOWER = 3,\n\tTC_SETUP_CLSMATCHALL = 4,\n\tTC_SETUP_CLSBPF = 5,\n\tTC_SETUP_BLOCK = 6,\n\tTC_SETUP_QDISC_CBS = 7,\n\tTC_SETUP_QDISC_RED = 8,\n\tTC_SETUP_QDISC_PRIO = 9,\n\tTC_SETUP_QDISC_MQ = 10,\n\tTC_SETUP_QDISC_ETF = 11,\n\tTC_SETUP_ROOT_QDISC = 12,\n\tTC_SETUP_QDISC_GRED = 13,\n\tTC_SETUP_QDISC_TAPRIO = 14,\n\tTC_SETUP_FT = 15,\n\tTC_SETUP_QDISC_ETS = 16,\n\tTC_SETUP_QDISC_TBF = 17,\n\tTC_SETUP_QDISC_FIFO = 18,\n\tTC_SETUP_QDISC_HTB = 19,\n\tTC_SETUP_ACT = 20,\n};\n\nenum tc_taprio_qopt_cmd {\n\tTAPRIO_CMD_REPLACE = 0,\n\tTAPRIO_CMD_DESTROY = 1,\n\tTAPRIO_CMD_STATS = 2,\n\tTAPRIO_CMD_QUEUE_STATS = 3,\n};\n\nenum tca_id {\n\tTCA_ID_UNSPEC = 0,\n\tTCA_ID_POLICE = 1,\n\tTCA_ID_GACT = 5,\n\tTCA_ID_IPT = 6,\n\tTCA_ID_PEDIT = 7,\n\tTCA_ID_MIRRED = 8,\n\tTCA_ID_NAT = 9,\n\tTCA_ID_XT = 10,\n\tTCA_ID_SKBEDIT = 11,\n\tTCA_ID_VLAN = 12,\n\tTCA_ID_BPF = 13,\n\tTCA_ID_CONNMARK = 14,\n\tTCA_ID_SKBMOD = 15,\n\tTCA_ID_CSUM = 16,\n\tTCA_ID_TUNNEL_KEY = 17,\n\tTCA_ID_SIMP = 22,\n\tTCA_ID_IFE = 25,\n\tTCA_ID_SAMPLE = 26,\n\tTCA_ID_CTINFO = 27,\n\tTCA_ID_MPLS = 28,\n\tTCA_ID_CT = 29,\n\tTCA_ID_GATE = 30,\n\t__TCA_ID_MAX = 255,\n};\n\nenum tcf_proto_ops_flags {\n\tTCF_PROTO_OPS_DOIT_UNLOCKED = 1,\n};\n\nenum tcp_ca_ack_event_flags {\n\tCA_ACK_SLOWPATH = 1,\n\tCA_ACK_WIN_UPDATE = 2,\n\tCA_ACK_ECE = 4,\n};\n\nenum tcp_ca_event {\n\tCA_EVENT_TX_START = 0,\n\tCA_EVENT_CWND_RESTART = 1,\n\tCA_EVENT_COMPLETE_CWR = 2,\n\tCA_EVENT_LOSS = 3,\n\tCA_EVENT_ECN_NO_CE = 4,\n\tCA_EVENT_ECN_IS_CE = 5,\n};\n\nenum tcp_ca_state {\n\tTCP_CA_Open = 0,\n\tTCP_CA_Disorder = 1,\n\tTCP_CA_CWR = 2,\n\tTCP_CA_Recovery = 3,\n\tTCP_CA_Loss = 4,\n};\n\nenum tcp_chrono {\n\tTCP_CHRONO_UNSPEC = 0,\n\tTCP_CHRONO_BUSY = 1,\n\tTCP_CHRONO_RWND_LIMITED = 2,\n\tTCP_CHRONO_SNDBUF_LIMITED = 3,\n\t__TCP_CHRONO_MAX = 4,\n};\n\nenum tcp_conntrack {\n\tTCP_CONNTRACK_NONE = 0,\n\tTCP_CONNTRACK_SYN_SENT = 1,\n\tTCP_CONNTRACK_SYN_RECV = 2,\n\tTCP_CONNTRACK_ESTABLISHED = 3,\n\tTCP_CONNTRACK_FIN_WAIT = 4,\n\tTCP_CONNTRACK_CLOSE_WAIT = 5,\n\tTCP_CONNTRACK_LAST_ACK = 6,\n\tTCP_CONNTRACK_TIME_WAIT = 7,\n\tTCP_CONNTRACK_CLOSE = 8,\n\tTCP_CONNTRACK_LISTEN = 9,\n\tTCP_CONNTRACK_MAX = 10,\n\tTCP_CONNTRACK_IGNORE = 11,\n\tTCP_CONNTRACK_RETRANS = 12,\n\tTCP_CONNTRACK_UNACK = 13,\n\tTCP_CONNTRACK_TIMEOUT_MAX = 14,\n};\n\nenum tcp_fastopen_client_fail {\n\tTFO_STATUS_UNSPEC = 0,\n\tTFO_COOKIE_UNAVAILABLE = 1,\n\tTFO_DATA_NOT_ACKED = 2,\n\tTFO_SYN_RETRANSMITTED = 3,\n};\n\nenum tcp_metric_index {\n\tTCP_METRIC_RTT = 0,\n\tTCP_METRIC_RTTVAR = 1,\n\tTCP_METRIC_SSTHRESH = 2,\n\tTCP_METRIC_CWND = 3,\n\tTCP_METRIC_REORDERING = 4,\n\tTCP_METRIC_RTT_US = 5,\n\tTCP_METRIC_RTTVAR_US = 6,\n\t__TCP_METRIC_MAX = 7,\n};\n\nenum tcp_queue {\n\tTCP_FRAG_IN_WRITE_QUEUE = 0,\n\tTCP_FRAG_IN_RTX_QUEUE = 1,\n};\n\nenum tcp_seq_states {\n\tTCP_SEQ_STATE_LISTENING = 0,\n\tTCP_SEQ_STATE_ESTABLISHED = 1,\n};\n\nenum tcp_skb_cb_sacked_flags {\n\tTCPCB_SACKED_ACKED = 1,\n\tTCPCB_SACKED_RETRANS = 2,\n\tTCPCB_LOST = 4,\n\tTCPCB_TAGBITS = 7,\n\tTCPCB_REPAIRED = 16,\n\tTCPCB_EVER_RETRANS = 128,\n\tTCPCB_RETRANS = 146,\n};\n\nenum tcp_synack_type {\n\tTCP_SYNACK_NORMAL = 0,\n\tTCP_SYNACK_FASTOPEN = 1,\n\tTCP_SYNACK_COOKIE = 2,\n};\n\nenum tcp_tw_status {\n\tTCP_TW_SUCCESS = 0,\n\tTCP_TW_RST = 1,\n\tTCP_TW_ACK = 2,\n\tTCP_TW_SYN = 3,\n};\n\nenum tcpa_event_types {\n\tPREBOOT = 0,\n\tPOST_CODE = 1,\n\tUNUSED = 2,\n\tNO_ACTION = 3,\n\tSEPARATOR = 4,\n\tACTION = 5,\n\tEVENT_TAG = 6,\n\tSCRTM_CONTENTS = 7,\n\tSCRTM_VERSION = 8,\n\tCPU_MICROCODE = 9,\n\tPLATFORM_CONFIG_FLAGS = 10,\n\tTABLE_OF_DEVICES = 11,\n\tCOMPACT_HASH = 12,\n\tIPL = 13,\n\tIPL_PARTITION_DATA = 14,\n\tNONHOST_CODE = 15,\n\tNONHOST_CONFIG = 16,\n\tNONHOST_INFO = 17,\n};\n\nenum tcx_action_base {\n\tTCX_NEXT = -1,\n\tTCX_PASS = 0,\n\tTCX_DROP = 2,\n\tTCX_REDIRECT = 7,\n};\n\nenum tg_state_flags {\n\tTHROTL_TG_PENDING = 1,\n\tTHROTL_TG_WAS_EMPTY = 2,\n\tTHROTL_TG_CANCELING = 4,\n};\n\nenum thermal_device_mode {\n\tTHERMAL_DEVICE_DISABLED = 0,\n\tTHERMAL_DEVICE_ENABLED = 1,\n};\n\nenum thermal_notify_event {\n\tTHERMAL_EVENT_UNSPECIFIED = 0,\n\tTHERMAL_EVENT_TEMP_SAMPLE = 1,\n\tTHERMAL_TRIP_VIOLATED = 2,\n\tTHERMAL_TRIP_CHANGED = 3,\n\tTHERMAL_DEVICE_DOWN = 4,\n\tTHERMAL_DEVICE_UP = 5,\n\tTHERMAL_DEVICE_POWER_CAPABILITY_CHANGED = 6,\n\tTHERMAL_TABLE_CHANGED = 7,\n\tTHERMAL_EVENT_KEEP_ALIVE = 8,\n\tTHERMAL_TZ_BIND_CDEV = 9,\n\tTHERMAL_TZ_UNBIND_CDEV = 10,\n\tTHERMAL_INSTANCE_WEIGHT_CHANGED = 11,\n\tTHERMAL_TZ_RESUME = 12,\n\tTHERMAL_TZ_ADD_THRESHOLD = 13,\n\tTHERMAL_TZ_DEL_THRESHOLD = 14,\n\tTHERMAL_TZ_FLUSH_THRESHOLDS = 15,\n};\n\nenum thermal_trend {\n\tTHERMAL_TREND_STABLE = 0,\n\tTHERMAL_TREND_RAISING = 1,\n\tTHERMAL_TREND_DROPPING = 2,\n};\n\nenum thermal_trip_type {\n\tTHERMAL_TRIP_ACTIVE = 0,\n\tTHERMAL_TRIP_PASSIVE = 1,\n\tTHERMAL_TRIP_HOT = 2,\n\tTHERMAL_TRIP_CRITICAL = 3,\n};\n\nenum tick_broadcast_state {\n\tTICK_BROADCAST_EXIT = 0,\n\tTICK_BROADCAST_ENTER = 1,\n};\n\nenum tick_dep_bits {\n\tTICK_DEP_BIT_POSIX_TIMER = 0,\n\tTICK_DEP_BIT_PERF_EVENTS = 1,\n\tTICK_DEP_BIT_SCHED = 2,\n\tTICK_DEP_BIT_CLOCK_UNSTABLE = 3,\n\tTICK_DEP_BIT_RCU = 4,\n\tTICK_DEP_BIT_RCU_EXP = 5,\n};\n\nenum tick_device_mode {\n\tTICKDEV_MODE_PERIODIC = 0,\n\tTICKDEV_MODE_ONESHOT = 1,\n};\n\nenum timekeeping_adv_mode {\n\tTK_ADV_TICK = 0,\n\tTK_ADV_FREQ = 1,\n};\n\nenum timer_tread_format {\n\tTREAD_FORMAT_NONE = 0,\n\tTREAD_FORMAT_TIME64 = 1,\n\tTREAD_FORMAT_TIME32 = 2,\n};\n\nenum timespec_type {\n\tTT_NONE = 0,\n\tTT_NATIVE = 1,\n\tTT_COMPAT = 2,\n};\n\nenum tk_offsets {\n\tTK_OFFS_REAL = 0,\n\tTK_OFFS_BOOT = 1,\n\tTK_OFFS_TAI = 2,\n\tTK_OFFS_MAX = 3,\n};\n\nenum tlb_flush_reason {\n\tTLB_FLUSH_ON_TASK_SWITCH = 0,\n\tTLB_REMOTE_SHOOTDOWN = 1,\n\tTLB_LOCAL_SHOOTDOWN = 2,\n\tTLB_LOCAL_MM_SHOOTDOWN = 3,\n\tTLB_REMOTE_SEND_IPI = 4,\n\tTLB_REMOTE_WRONG_CPU = 5,\n\tNR_TLB_FLUSH_REASONS = 6,\n};\n\nenum tls_offload_ctx_dir {\n\tTLS_OFFLOAD_CTX_DIR_RX = 0,\n\tTLS_OFFLOAD_CTX_DIR_TX = 1,\n};\n\nenum tp_func_state {\n\tTP_FUNC_0 = 0,\n\tTP_FUNC_1 = 1,\n\tTP_FUNC_2 = 2,\n\tTP_FUNC_N = 3,\n};\n\nenum tp_transition_sync {\n\tTP_TRANSITION_SYNC_1_0_1 = 0,\n\tTP_TRANSITION_SYNC_N_2_1 = 1,\n\t_NR_TP_TRANSITION_SYNC = 2,\n};\n\nenum tpacket_versions {\n\tTPACKET_V1 = 0,\n\tTPACKET_V2 = 1,\n\tTPACKET_V3 = 2,\n};\n\nenum tpm_duration {\n\tTPM_SHORT = 0,\n\tTPM_MEDIUM = 1,\n\tTPM_LONG = 2,\n\tTPM_LONG_LONG = 3,\n\tTPM_UNDEFINED = 4,\n\tTPM_NUM_DURATIONS = 4,\n};\n\nenum trace_flag_type {\n\tTRACE_FLAG_IRQS_OFF = 1,\n\tTRACE_FLAG_NEED_RESCHED_LAZY = 2,\n\tTRACE_FLAG_NEED_RESCHED = 4,\n\tTRACE_FLAG_HARDIRQ = 8,\n\tTRACE_FLAG_SOFTIRQ = 16,\n\tTRACE_FLAG_PREEMPT_RESCHED = 32,\n\tTRACE_FLAG_NMI = 64,\n\tTRACE_FLAG_BH_OFF = 128,\n};\n\nenum trace_iter_flags {\n\tTRACE_FILE_LAT_FMT = 1,\n\tTRACE_FILE_ANNOTATE = 2,\n\tTRACE_FILE_TIME_IN_NS = 4,\n};\n\nenum trace_iterator_bits {\n\tTRACE_ITER_PRINT_PARENT_BIT = 0,\n\tTRACE_ITER_SYM_OFFSET_BIT = 1,\n\tTRACE_ITER_SYM_ADDR_BIT = 2,\n\tTRACE_ITER_VERBOSE_BIT = 3,\n\tTRACE_ITER_RAW_BIT = 4,\n\tTRACE_ITER_HEX_BIT = 5,\n\tTRACE_ITER_BIN_BIT = 6,\n\tTRACE_ITER_BLOCK_BIT = 7,\n\tTRACE_ITER_FIELDS_BIT = 8,\n\tTRACE_ITER_PRINTK_BIT = 9,\n\tTRACE_ITER_ANNOTATE_BIT = 10,\n\tTRACE_ITER_USERSTACKTRACE_BIT = 11,\n\tTRACE_ITER_SYM_USEROBJ_BIT = 12,\n\tTRACE_ITER_PRINTK_MSGONLY_BIT = 13,\n\tTRACE_ITER_CONTEXT_INFO_BIT = 14,\n\tTRACE_ITER_LATENCY_FMT_BIT = 15,\n\tTRACE_ITER_RECORD_CMD_BIT = 16,\n\tTRACE_ITER_RECORD_TGID_BIT = 17,\n\tTRACE_ITER_OVERWRITE_BIT = 18,\n\tTRACE_ITER_STOP_ON_FREE_BIT = 19,\n\tTRACE_ITER_IRQ_INFO_BIT = 20,\n\tTRACE_ITER_MARKERS_BIT = 21,\n\tTRACE_ITER_EVENT_FORK_BIT = 22,\n\tTRACE_ITER_TRACE_PRINTK_BIT = 23,\n\tTRACE_ITER_PAUSE_ON_TRACE_BIT = 24,\n\tTRACE_ITER_HASH_PTR_BIT = 25,\n\tTRACE_ITER_STACKTRACE_BIT = 26,\n\tTRACE_ITER_LAST_BIT = 27,\n};\n\nenum trace_iterator_flags {\n\tTRACE_ITER_PRINT_PARENT = 1,\n\tTRACE_ITER_SYM_OFFSET = 2,\n\tTRACE_ITER_SYM_ADDR = 4,\n\tTRACE_ITER_VERBOSE = 8,\n\tTRACE_ITER_RAW = 16,\n\tTRACE_ITER_HEX = 32,\n\tTRACE_ITER_BIN = 64,\n\tTRACE_ITER_BLOCK = 128,\n\tTRACE_ITER_FIELDS = 256,\n\tTRACE_ITER_PRINTK = 512,\n\tTRACE_ITER_ANNOTATE = 1024,\n\tTRACE_ITER_USERSTACKTRACE = 2048,\n\tTRACE_ITER_SYM_USEROBJ = 4096,\n\tTRACE_ITER_PRINTK_MSGONLY = 8192,\n\tTRACE_ITER_CONTEXT_INFO = 16384,\n\tTRACE_ITER_LATENCY_FMT = 32768,\n\tTRACE_ITER_RECORD_CMD = 65536,\n\tTRACE_ITER_RECORD_TGID = 131072,\n\tTRACE_ITER_OVERWRITE = 262144,\n\tTRACE_ITER_STOP_ON_FREE = 524288,\n\tTRACE_ITER_IRQ_INFO = 1048576,\n\tTRACE_ITER_MARKERS = 2097152,\n\tTRACE_ITER_EVENT_FORK = 4194304,\n\tTRACE_ITER_TRACE_PRINTK = 8388608,\n\tTRACE_ITER_PAUSE_ON_TRACE = 16777216,\n\tTRACE_ITER_HASH_PTR = 33554432,\n\tTRACE_ITER_STACKTRACE = 67108864,\n};\n\nenum trace_reg {\n\tTRACE_REG_REGISTER = 0,\n\tTRACE_REG_UNREGISTER = 1,\n\tTRACE_REG_PERF_REGISTER = 2,\n\tTRACE_REG_PERF_UNREGISTER = 3,\n\tTRACE_REG_PERF_OPEN = 4,\n\tTRACE_REG_PERF_CLOSE = 5,\n\tTRACE_REG_PERF_ADD = 6,\n\tTRACE_REG_PERF_DEL = 7,\n};\n\nenum trace_type {\n\t__TRACE_FIRST_TYPE = 0,\n\tTRACE_FN = 1,\n\tTRACE_CTX = 2,\n\tTRACE_WAKE = 3,\n\tTRACE_STACK = 4,\n\tTRACE_PRINT = 5,\n\tTRACE_BPRINT = 6,\n\tTRACE_MMIO_RW = 7,\n\tTRACE_MMIO_MAP = 8,\n\tTRACE_BRANCH = 9,\n\tTRACE_GRAPH_RET = 10,\n\tTRACE_GRAPH_ENT = 11,\n\tTRACE_GRAPH_RETADDR_ENT = 12,\n\tTRACE_USER_STACK = 13,\n\tTRACE_BLK = 14,\n\tTRACE_BPUTS = 15,\n\tTRACE_HWLAT = 16,\n\tTRACE_OSNOISE = 17,\n\tTRACE_TIMERLAT = 18,\n\tTRACE_RAW_DATA = 19,\n\tTRACE_FUNC_REPEATS = 20,\n\t__TRACE_LAST_TYPE = 21,\n};\n\nenum track_item {\n\tTRACK_ALLOC = 0,\n\tTRACK_FREE = 1,\n};\n\nenum translation_map {\n\tLAT1_MAP = 0,\n\tGRAF_MAP = 1,\n\tIBMPC_MAP = 2,\n\tUSER_MAP = 3,\n\tFIRST_MAP = 0,\n\tLAST_MAP = 3,\n};\n\nenum transparent_hugepage_flag {\n\tTRANSPARENT_HUGEPAGE_UNSUPPORTED = 0,\n\tTRANSPARENT_HUGEPAGE_FLAG = 1,\n\tTRANSPARENT_HUGEPAGE_REQ_MADV_FLAG = 2,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG = 3,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG = 4,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG = 5,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG = 6,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG = 7,\n\tTRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG = 8,\n};\n\nenum tsi721_flags {\n\tTSI721_USING_MSI = 1,\n\tTSI721_USING_MSIX = 2,\n\tTSI721_IMSGID_SET = 4,\n};\n\nenum tsi721_msix_vect {\n\tTSI721_VECT_IDB = 0,\n\tTSI721_VECT_PWRX = 1,\n\tTSI721_VECT_OMB0_DONE = 2,\n\tTSI721_VECT_OMB1_DONE = 3,\n\tTSI721_VECT_OMB2_DONE = 4,\n\tTSI721_VECT_OMB3_DONE = 5,\n\tTSI721_VECT_OMB0_INT = 6,\n\tTSI721_VECT_OMB1_INT = 7,\n\tTSI721_VECT_OMB2_INT = 8,\n\tTSI721_VECT_OMB3_INT = 9,\n\tTSI721_VECT_IMB0_RCV = 10,\n\tTSI721_VECT_IMB1_RCV = 11,\n\tTSI721_VECT_IMB2_RCV = 12,\n\tTSI721_VECT_IMB3_RCV = 13,\n\tTSI721_VECT_IMB0_INT = 14,\n\tTSI721_VECT_IMB1_INT = 15,\n\tTSI721_VECT_IMB2_INT = 16,\n\tTSI721_VECT_IMB3_INT = 17,\n\tTSI721_VECT_MAX = 18,\n};\n\nenum tsq_enum {\n\tTSQ_THROTTLED = 0,\n\tTSQ_QUEUED = 1,\n\tTCP_TSQ_DEFERRED = 2,\n\tTCP_WRITE_TIMER_DEFERRED = 3,\n\tTCP_DELACK_TIMER_DEFERRED = 4,\n\tTCP_MTU_REDUCED_DEFERRED = 5,\n\tTCP_ACK_DEFERRED = 6,\n};\n\nenum tsq_flags {\n\tTSQF_THROTTLED = 1,\n\tTSQF_QUEUED = 2,\n\tTCPF_TSQ_DEFERRED = 4,\n\tTCPF_WRITE_TIMER_DEFERRED = 8,\n\tTCPF_DELACK_TIMER_DEFERRED = 16,\n\tTCPF_MTU_REDUCED_DEFERRED = 32,\n\tTCPF_ACK_DEFERRED = 64,\n};\n\nenum ttc_control {\n\tDMA_CONTROL_TTC_64 = 0,\n\tDMA_CONTROL_TTC_128 = 16384,\n\tDMA_CONTROL_TTC_192 = 32768,\n\tDMA_CONTROL_TTC_256 = 49152,\n\tDMA_CONTROL_TTC_40 = 65536,\n\tDMA_CONTROL_TTC_32 = 81920,\n\tDMA_CONTROL_TTC_24 = 98304,\n\tDMA_CONTROL_TTC_16 = 114688,\n};\n\nenum ttc_control___2 {\n\tDMA_CONTROL_TTC_DEFAULT = 0,\n\tDMA_CONTROL_TTC_64___2 = 16384,\n\tDMA_CONTROL_TTC_128___2 = 32768,\n\tDMA_CONTROL_TTC_256___2 = 49152,\n\tDMA_CONTROL_TTC_18 = 4194304,\n\tDMA_CONTROL_TTC_24___2 = 4210688,\n\tDMA_CONTROL_TTC_32___2 = 4227072,\n\tDMA_CONTROL_TTC_40___2 = 4243456,\n\tDMA_CONTROL_SE = 8,\n\tDMA_CONTROL_OSF = 4,\n};\n\nenum ttm_bo_type {\n\tttm_bo_type_device = 0,\n\tttm_bo_type_kernel = 1,\n\tttm_bo_type_sg = 2,\n};\n\nenum ttm_caching {\n\tttm_uncached = 0,\n\tttm_write_combined = 1,\n\tttm_cached = 2,\n};\n\nenum ttm_lru_item_type {\n\tTTM_LRU_RESOURCE = 0,\n\tTTM_LRU_HITCH = 1,\n};\n\nenum ttu_flags {\n\tTTU_SPLIT_HUGE_PMD = 4,\n\tTTU_IGNORE_MLOCK = 8,\n\tTTU_SYNC = 16,\n\tTTU_HWPOISON = 32,\n\tTTU_BATCH_FLUSH = 64,\n\tTTU_RMAP_LOCKED = 128,\n};\n\nenum tty_flow_change {\n\tTTY_FLOW_NO_CHANGE = 0,\n\tTTY_THROTTLE_SAFE = 1,\n\tTTY_UNTHROTTLE_SAFE = 2,\n};\n\nenum tunable_id {\n\tETHTOOL_ID_UNSPEC = 0,\n\tETHTOOL_RX_COPYBREAK = 1,\n\tETHTOOL_TX_COPYBREAK = 2,\n\tETHTOOL_PFC_PREVENTION_TOUT = 3,\n\tETHTOOL_TX_COPYBREAK_BUF_SIZE = 4,\n\t__ETHTOOL_TUNABLE_COUNT = 5,\n};\n\nenum tunable_type_id {\n\tETHTOOL_TUNABLE_UNSPEC = 0,\n\tETHTOOL_TUNABLE_U8 = 1,\n\tETHTOOL_TUNABLE_U16 = 2,\n\tETHTOOL_TUNABLE_U32 = 3,\n\tETHTOOL_TUNABLE_U64 = 4,\n\tETHTOOL_TUNABLE_STRING = 5,\n\tETHTOOL_TUNABLE_S8 = 6,\n\tETHTOOL_TUNABLE_S16 = 7,\n\tETHTOOL_TUNABLE_S32 = 8,\n\tETHTOOL_TUNABLE_S64 = 9,\n};\n\nenum tunnel_encap_types {\n\tTUNNEL_ENCAP_NONE = 0,\n\tTUNNEL_ENCAP_FOU = 1,\n\tTUNNEL_ENCAP_GUE = 2,\n\tTUNNEL_ENCAP_MPLS = 3,\n};\n\nenum tx_frame_status {\n\ttx_done = 0,\n\ttx_not_ls = 1,\n\ttx_err = 2,\n\ttx_dma_own = 4,\n\ttx_err_bump_tc = 8,\n};\n\nenum tx_queue_prio {\n\tTX_QUEUE_PRIO_HIGH = 0,\n\tTX_QUEUE_PRIO_LOW = 1,\n};\n\nenum txgbe_atr_flow_type {\n\tTXGBE_ATR_FLOW_TYPE_IPV4 = 0,\n\tTXGBE_ATR_FLOW_TYPE_UDPV4 = 1,\n\tTXGBE_ATR_FLOW_TYPE_TCPV4 = 2,\n\tTXGBE_ATR_FLOW_TYPE_SCTPV4 = 3,\n\tTXGBE_ATR_FLOW_TYPE_IPV6 = 4,\n\tTXGBE_ATR_FLOW_TYPE_UDPV6 = 5,\n\tTXGBE_ATR_FLOW_TYPE_TCPV6 = 6,\n\tTXGBE_ATR_FLOW_TYPE_SCTPV6 = 7,\n\tTXGBE_ATR_FLOW_TYPE_TUNNELED_IPV4 = 16,\n\tTXGBE_ATR_FLOW_TYPE_TUNNELED_UDPV4 = 17,\n\tTXGBE_ATR_FLOW_TYPE_TUNNELED_TCPV4 = 18,\n\tTXGBE_ATR_FLOW_TYPE_TUNNELED_SCTPV4 = 19,\n\tTXGBE_ATR_FLOW_TYPE_TUNNELED_IPV6 = 20,\n\tTXGBE_ATR_FLOW_TYPE_TUNNELED_UDPV6 = 21,\n\tTXGBE_ATR_FLOW_TYPE_TUNNELED_TCPV6 = 22,\n\tTXGBE_ATR_FLOW_TYPE_TUNNELED_SCTPV6 = 23,\n};\n\nenum txgbe_fdir_pballoc_type {\n\tTXGBE_FDIR_PBALLOC_NONE = 0,\n\tTXGBE_FDIR_PBALLOC_64K = 1,\n\tTXGBE_FDIR_PBALLOC_128K = 2,\n\tTXGBE_FDIR_PBALLOC_256K = 3,\n};\n\nenum txgbe_misc_irqs {\n\tTXGBE_IRQ_LINK = 0,\n\tTXGBE_IRQ_MAX = 1,\n};\n\nenum txgbe_swnodes {\n\tSWNODE_GPIO = 0,\n\tSWNODE_I2C = 1,\n\tSWNODE_SFP = 2,\n\tSWNODE_PHYLINK = 3,\n\tSWNODE_MAX = 4,\n};\n\nenum txtime_flags {\n\tSOF_TXTIME_DEADLINE_MODE = 1,\n\tSOF_TXTIME_REPORT_ERRORS = 2,\n\tSOF_TXTIME_FLAGS_LAST = 2,\n\tSOF_TXTIME_FLAGS_MASK = 3,\n};\n\nenum uart_pm_state {\n\tUART_PM_STATE_ON = 0,\n\tUART_PM_STATE_OFF = 3,\n\tUART_PM_STATE_UNDEFINED = 4,\n};\n\nenum uclamp_id {\n\tUCLAMP_MIN = 0,\n\tUCLAMP_MAX = 1,\n\tUCLAMP_CNT = 2,\n};\n\nenum ucount_type {\n\tUCOUNT_USER_NAMESPACES = 0,\n\tUCOUNT_PID_NAMESPACES = 1,\n\tUCOUNT_UTS_NAMESPACES = 2,\n\tUCOUNT_IPC_NAMESPACES = 3,\n\tUCOUNT_NET_NAMESPACES = 4,\n\tUCOUNT_MNT_NAMESPACES = 5,\n\tUCOUNT_CGROUP_NAMESPACES = 6,\n\tUCOUNT_TIME_NAMESPACES = 7,\n\tUCOUNT_INOTIFY_INSTANCES = 8,\n\tUCOUNT_INOTIFY_WATCHES = 9,\n\tUCOUNT_FANOTIFY_GROUPS = 10,\n\tUCOUNT_FANOTIFY_MARKS = 11,\n\tUCOUNT_COUNTS = 12,\n};\n\nenum udp_conntrack {\n\tUDP_CT_UNREPLIED = 0,\n\tUDP_CT_REPLIED = 1,\n\tUDP_CT_MAX = 2,\n};\n\nenum udp_parsable_tunnel_type {\n\tUDP_TUNNEL_TYPE_VXLAN = 1,\n\tUDP_TUNNEL_TYPE_GENEVE = 2,\n\tUDP_TUNNEL_TYPE_VXLAN_GPE = 4,\n};\n\nenum udp_tunnel_nic_info_flags {\n\tUDP_TUNNEL_NIC_INFO_MAY_SLEEP = 1,\n\tUDP_TUNNEL_NIC_INFO_OPEN_ONLY = 2,\n\tUDP_TUNNEL_NIC_INFO_IPV4_ONLY = 4,\n\tUDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN = 8,\n};\n\nenum udp_tunnel_nic_table_entry_flags {\n\tUDP_TUNNEL_NIC_ENTRY_ADD = 1,\n\tUDP_TUNNEL_NIC_ENTRY_DEL = 2,\n\tUDP_TUNNEL_NIC_ENTRY_OP_FAIL = 4,\n\tUDP_TUNNEL_NIC_ENTRY_FROZEN = 8,\n};\n\nenum umh_disable_depth {\n\tUMH_ENABLED = 0,\n\tUMH_FREEZING = 1,\n\tUMH_DISABLED = 2,\n};\n\nenum umount_tree_flags {\n\tUMOUNT_SYNC = 1,\n\tUMOUNT_PROPAGATE = 2,\n\tUMOUNT_CONNECTED = 4,\n};\n\nenum unix_vertex_index {\n\tUNIX_VERTEX_INDEX_MARK1 = 0,\n\tUNIX_VERTEX_INDEX_MARK2 = 1,\n\tUNIX_VERTEX_INDEX_START = 2,\n};\n\nenum unwinder_type {\n\tUNWINDER_GUESS = 0,\n\tUNWINDER_PROLOGUE = 1,\n\tUNWINDER_ORC = 2,\n};\n\nenum uprobe_task_state {\n\tUTASK_RUNNING = 0,\n\tUTASK_SSTEP = 1,\n\tUTASK_SSTEP_ACK = 2,\n\tUTASK_SSTEP_TRAPPED = 3,\n};\n\nenum usb3_link_state {\n\tUSB3_LPM_U0 = 0,\n\tUSB3_LPM_U1 = 1,\n\tUSB3_LPM_U2 = 2,\n\tUSB3_LPM_U3 = 3,\n};\n\nenum usb4_ba_index {\n\tUSB4_BA_MAX_USB3 = 1,\n\tUSB4_BA_MIN_DP_AUX = 2,\n\tUSB4_BA_MIN_DP_MAIN = 3,\n\tUSB4_BA_MAX_PCIE = 4,\n\tUSB4_BA_MAX_HI = 5,\n};\n\nenum usb4_margin_sw_error_counter {\n\tUSB4_MARGIN_SW_ERROR_COUNTER_NOP = 0,\n\tUSB4_MARGIN_SW_ERROR_COUNTER_CLEAR = 1,\n\tUSB4_MARGIN_SW_ERROR_COUNTER_START = 2,\n\tUSB4_MARGIN_SW_ERROR_COUNTER_STOP = 3,\n};\n\nenum usb4_margining_lane {\n\tUSB4_MARGINING_LANE_RX0 = 0,\n\tUSB4_MARGINING_LANE_RX1 = 1,\n\tUSB4_MARGINING_LANE_RX2 = 2,\n\tUSB4_MARGINING_LANE_ALL = 7,\n};\n\nenum usb4_sb_opcode {\n\tUSB4_SB_OPCODE_ERR = 542265925,\n\tUSB4_SB_OPCODE_ONS = 1145914145,\n\tUSB4_SB_OPCODE_ROUTER_OFFLINE = 1313166156,\n\tUSB4_SB_OPCODE_ENUMERATE_RETIMERS = 1297436229,\n\tUSB4_SB_OPCODE_SET_INBOUND_SBTX = 1347769164,\n\tUSB4_SB_OPCODE_UNSET_INBOUND_SBTX = 1347769173,\n\tUSB4_SB_OPCODE_QUERY_LAST_RETIMER = 1414742348,\n\tUSB4_SB_OPCODE_QUERY_CABLE_RETIMER = 1380729411,\n\tUSB4_SB_OPCODE_GET_NVM_SECTOR_SIZE = 1397968455,\n\tUSB4_SB_OPCODE_NVM_SET_OFFSET = 1397772098,\n\tUSB4_SB_OPCODE_NVM_BLOCK_WRITE = 1464552514,\n\tUSB4_SB_OPCODE_NVM_AUTH_WRITE = 1213486401,\n\tUSB4_SB_OPCODE_NVM_READ = 1381123649,\n\tUSB4_SB_OPCODE_READ_LANE_MARGINING_CAP = 1346585682,\n\tUSB4_SB_OPCODE_RUN_HW_LANE_MARGINING = 1196247122,\n\tUSB4_SB_OPCODE_RUN_SW_LANE_MARGINING = 1196249938,\n\tUSB4_SB_OPCODE_READ_SW_MARGIN_ERR = 1465074770,\n};\n\nenum usb4_sb_target {\n\tUSB4_SB_TARGET_ROUTER = 0,\n\tUSB4_SB_TARGET_PARTNER = 1,\n\tUSB4_SB_TARGET_RETIMER = 2,\n};\n\nenum usb4_switch_op {\n\tUSB4_SWITCH_OP_QUERY_DP_RESOURCE = 16,\n\tUSB4_SWITCH_OP_ALLOC_DP_RESOURCE = 17,\n\tUSB4_SWITCH_OP_DEALLOC_DP_RESOURCE = 18,\n\tUSB4_SWITCH_OP_NVM_WRITE = 32,\n\tUSB4_SWITCH_OP_NVM_AUTH = 33,\n\tUSB4_SWITCH_OP_NVM_READ = 34,\n\tUSB4_SWITCH_OP_NVM_SET_OFFSET = 35,\n\tUSB4_SWITCH_OP_DROM_READ = 36,\n\tUSB4_SWITCH_OP_NVM_SECTOR_SIZE = 37,\n\tUSB4_SWITCH_OP_BUFFER_ALLOC = 51,\n};\n\nenum usb_charger_state {\n\tUSB_CHARGER_DEFAULT = 0,\n\tUSB_CHARGER_PRESENT = 1,\n\tUSB_CHARGER_ABSENT = 2,\n};\n\nenum usb_charger_type {\n\tUNKNOWN_TYPE = 0,\n\tSDP_TYPE = 1,\n\tDCP_TYPE = 2,\n\tCDP_TYPE = 3,\n\tACA_TYPE = 4,\n};\n\nenum usb_dev_authorize_policy {\n\tUSB_DEVICE_AUTHORIZE_NONE = 0,\n\tUSB_DEVICE_AUTHORIZE_ALL = 1,\n\tUSB_DEVICE_AUTHORIZE_INTERNAL = 2,\n};\n\nenum usb_device_speed {\n\tUSB_SPEED_UNKNOWN = 0,\n\tUSB_SPEED_LOW = 1,\n\tUSB_SPEED_FULL = 2,\n\tUSB_SPEED_HIGH = 3,\n\tUSB_SPEED_WIRELESS = 4,\n\tUSB_SPEED_SUPER = 5,\n\tUSB_SPEED_SUPER_PLUS = 6,\n};\n\nenum usb_device_state {\n\tUSB_STATE_NOTATTACHED = 0,\n\tUSB_STATE_ATTACHED = 1,\n\tUSB_STATE_POWERED = 2,\n\tUSB_STATE_RECONNECTING = 3,\n\tUSB_STATE_UNAUTHENTICATED = 4,\n\tUSB_STATE_DEFAULT = 5,\n\tUSB_STATE_ADDRESS = 6,\n\tUSB_STATE_CONFIGURED = 7,\n\tUSB_STATE_SUSPENDED = 8,\n};\n\nenum usb_dr_mode {\n\tUSB_DR_MODE_UNKNOWN = 0,\n\tUSB_DR_MODE_HOST = 1,\n\tUSB_DR_MODE_PERIPHERAL = 2,\n\tUSB_DR_MODE_OTG = 3,\n};\n\nenum usb_interface_condition {\n\tUSB_INTERFACE_UNBOUND = 0,\n\tUSB_INTERFACE_BINDING = 1,\n\tUSB_INTERFACE_BOUND = 2,\n\tUSB_INTERFACE_UNBINDING = 3,\n};\n\nenum usb_led_event {\n\tUSB_LED_EVENT_HOST = 0,\n\tUSB_LED_EVENT_GADGET = 1,\n};\n\nenum usb_link_tunnel_mode {\n\tUSB_LINK_UNKNOWN = 0,\n\tUSB_LINK_NATIVE = 1,\n\tUSB_LINK_TUNNELED = 2,\n};\n\nenum usb_otg_state {\n\tOTG_STATE_UNDEFINED = 0,\n\tOTG_STATE_B_IDLE = 1,\n\tOTG_STATE_B_SRP_INIT = 2,\n\tOTG_STATE_B_PERIPHERAL = 3,\n\tOTG_STATE_B_WAIT_ACON = 4,\n\tOTG_STATE_B_HOST = 5,\n\tOTG_STATE_A_IDLE = 6,\n\tOTG_STATE_A_WAIT_VRISE = 7,\n\tOTG_STATE_A_WAIT_BCON = 8,\n\tOTG_STATE_A_HOST = 9,\n\tOTG_STATE_A_SUSPEND = 10,\n\tOTG_STATE_A_PERIPHERAL = 11,\n\tOTG_STATE_A_WAIT_VFALL = 12,\n\tOTG_STATE_A_VBUS_ERR = 13,\n};\n\nenum usb_phy_events {\n\tUSB_EVENT_NONE = 0,\n\tUSB_EVENT_VBUS = 1,\n\tUSB_EVENT_ID = 2,\n\tUSB_EVENT_CHARGER = 3,\n\tUSB_EVENT_ENUMERATED = 4,\n};\n\nenum usb_phy_interface {\n\tUSBPHY_INTERFACE_MODE_UNKNOWN = 0,\n\tUSBPHY_INTERFACE_MODE_UTMI = 1,\n\tUSBPHY_INTERFACE_MODE_UTMIW = 2,\n\tUSBPHY_INTERFACE_MODE_ULPI = 3,\n\tUSBPHY_INTERFACE_MODE_SERIAL = 4,\n\tUSBPHY_INTERFACE_MODE_HSIC = 5,\n};\n\nenum usb_phy_type {\n\tUSB_PHY_TYPE_UNDEFINED = 0,\n\tUSB_PHY_TYPE_USB2 = 1,\n\tUSB_PHY_TYPE_USB3 = 2,\n};\n\nenum usb_port_connect_type {\n\tUSB_PORT_CONNECT_TYPE_UNKNOWN = 0,\n\tUSB_PORT_CONNECT_TYPE_HOT_PLUG = 1,\n\tUSB_PORT_CONNECT_TYPE_HARD_WIRED = 2,\n\tUSB_PORT_NOT_USED = 3,\n};\n\nenum usb_role {\n\tUSB_ROLE_NONE = 0,\n\tUSB_ROLE_HOST = 1,\n\tUSB_ROLE_DEVICE = 2,\n};\n\nenum usb_ssp_rate {\n\tUSB_SSP_GEN_UNKNOWN = 0,\n\tUSB_SSP_GEN_2x1 = 1,\n\tUSB_SSP_GEN_1x2 = 2,\n\tUSB_SSP_GEN_2x2 = 3,\n};\n\nenum usb_wireless_status {\n\tUSB_WIRELESS_STATUS_NA = 0,\n\tUSB_WIRELESS_STATUS_DISCONNECTED = 1,\n\tUSB_WIRELESS_STATUS_CONNECTED = 2,\n};\n\nenum utf16_endian {\n\tUTF16_HOST_ENDIAN = 0,\n\tUTF16_LITTLE_ENDIAN = 1,\n\tUTF16_BIG_ENDIAN = 2,\n};\n\nenum utf8_normalization {\n\tUTF8_NFDI = 0,\n\tUTF8_NFDICF = 1,\n\tUTF8_NMAX = 2,\n};\n\nenum uts_proc {\n\tUTS_PROC_ARCH = 0,\n\tUTS_PROC_OSTYPE = 1,\n\tUTS_PROC_OSRELEASE = 2,\n\tUTS_PROC_VERSION = 3,\n\tUTS_PROC_HOSTNAME = 4,\n\tUTS_PROC_DOMAINNAME = 5,\n};\n\nenum v4l2_av1_segment_feature {\n\tV4L2_AV1_SEG_LVL_ALT_Q = 0,\n\tV4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,\n\tV4L2_AV1_SEG_LVL_REF_FRAME = 5,\n\tV4L2_AV1_SEG_LVL_REF_SKIP = 6,\n\tV4L2_AV1_SEG_LVL_REF_GLOBALMV = 7,\n\tV4L2_AV1_SEG_LVL_MAX = 8,\n};\n\nenum v4l2_fwnode_bus_type {\n\tV4L2_FWNODE_BUS_TYPE_GUESS = 0,\n\tV4L2_FWNODE_BUS_TYPE_CSI2_CPHY = 1,\n\tV4L2_FWNODE_BUS_TYPE_CSI1 = 2,\n\tV4L2_FWNODE_BUS_TYPE_CCP2 = 3,\n\tV4L2_FWNODE_BUS_TYPE_CSI2_DPHY = 4,\n\tV4L2_FWNODE_BUS_TYPE_PARALLEL = 5,\n\tV4L2_FWNODE_BUS_TYPE_BT656 = 6,\n\tV4L2_FWNODE_BUS_TYPE_DPI = 7,\n\tNR_OF_V4L2_FWNODE_BUS_TYPE = 8,\n};\n\nenum v4l2_preemphasis {\n\tV4L2_PREEMPHASIS_DISABLED = 0,\n\tV4L2_PREEMPHASIS_50_uS = 1,\n\tV4L2_PREEMPHASIS_75_uS = 2,\n};\n\nenum vc_ctl_state {\n\tESnormal = 0,\n\tESesc = 1,\n\tESsquare = 2,\n\tESgetpars = 3,\n\tESfunckey = 4,\n\tEShash = 5,\n\tESsetG0 = 6,\n\tESsetG1 = 7,\n\tESpercent = 8,\n\tEScsiignore = 9,\n\tESnonstd = 10,\n\tESpalette = 11,\n\tESosc = 12,\n\tESANSI_first = 12,\n\tESapc = 13,\n\tESpm = 14,\n\tESdcs = 15,\n\tESANSI_last = 15,\n};\n\nenum vc_intensity {\n\tVCI_HALF_BRIGHT = 0,\n\tVCI_NORMAL = 1,\n\tVCI_BOLD = 2,\n\tVCI_MASK = 3,\n};\n\nenum vdso_clock_mode {\n\tVDSO_CLOCKMODE_NONE = 0,\n\tVDSO_CLOCKMODE_CPU = 1,\n\tVDSO_CLOCKMODE_MAX = 2,\n\tVDSO_CLOCKMODE_TIMENS = 2147483647,\n};\n\nenum verifier_phase {\n\tCHECK_META = 0,\n\tCHECK_TYPE = 1,\n};\n\nenum vers_op {\n\tNFSD_SET = 0,\n\tNFSD_CLEAR = 1,\n\tNFSD_TEST = 2,\n\tNFSD_AVAIL = 3,\n};\n\nenum vesa_blank_mode {\n\tVESA_NO_BLANKING = 0,\n\tVESA_VSYNC_SUSPEND = 1,\n\tVESA_HSYNC_SUSPEND = 2,\n\tVESA_POWERDOWN = 3,\n\tVESA_BLANK_MAX = 3,\n};\n\nenum vhost_task_flags {\n\tVHOST_TASK_FLAGS_STOP = 0,\n\tVHOST_TASK_FLAGS_KILLED = 1,\n};\n\nenum visit_state {\n\tNOT_VISITED = 0,\n\tVISITED = 1,\n\tRESOLVED = 2,\n};\n\nenum vlan_flags {\n\tVLAN_FLAG_REORDER_HDR = 1,\n\tVLAN_FLAG_GVRP = 2,\n\tVLAN_FLAG_LOOSE_BINDING = 4,\n\tVLAN_FLAG_MVRP = 8,\n\tVLAN_FLAG_BRIDGE_BINDING = 16,\n};\n\nenum vlan_protos {\n\tVLAN_PROTO_8021Q = 0,\n\tVLAN_PROTO_8021AD = 1,\n\tVLAN_PROTO_NUM = 2,\n};\n\nenum vm_event_item {\n\tPGPGIN = 0,\n\tPGPGOUT = 1,\n\tPSWPIN = 2,\n\tPSWPOUT = 3,\n\tPGALLOC_DMA32 = 4,\n\tPGALLOC_NORMAL = 5,\n\tPGALLOC_MOVABLE = 6,\n\tALLOCSTALL_DMA32 = 7,\n\tALLOCSTALL_NORMAL = 8,\n\tALLOCSTALL_MOVABLE = 9,\n\tPGSCAN_SKIP_DMA32 = 10,\n\tPGSCAN_SKIP_NORMAL = 11,\n\tPGSCAN_SKIP_MOVABLE = 12,\n\tPGFREE = 13,\n\tPGACTIVATE = 14,\n\tPGDEACTIVATE = 15,\n\tPGLAZYFREE = 16,\n\tPGFAULT = 17,\n\tPGMAJFAULT = 18,\n\tPGLAZYFREED = 19,\n\tPGREFILL = 20,\n\tPGREUSE = 21,\n\tPGSTEAL_KSWAPD = 22,\n\tPGSTEAL_DIRECT = 23,\n\tPGSTEAL_KHUGEPAGED = 24,\n\tPGSCAN_KSWAPD = 25,\n\tPGSCAN_DIRECT = 26,\n\tPGSCAN_KHUGEPAGED = 27,\n\tPGSCAN_DIRECT_THROTTLE = 28,\n\tPGSCAN_ANON = 29,\n\tPGSCAN_FILE = 30,\n\tPGSTEAL_ANON = 31,\n\tPGSTEAL_FILE = 32,\n\tPGSCAN_ZONE_RECLAIM_SUCCESS = 33,\n\tPGSCAN_ZONE_RECLAIM_FAILED = 34,\n\tPGINODESTEAL = 35,\n\tSLABS_SCANNED = 36,\n\tKSWAPD_INODESTEAL = 37,\n\tKSWAPD_LOW_WMARK_HIT_QUICKLY = 38,\n\tKSWAPD_HIGH_WMARK_HIT_QUICKLY = 39,\n\tPAGEOUTRUN = 40,\n\tPGROTATED = 41,\n\tDROP_PAGECACHE = 42,\n\tDROP_SLAB = 43,\n\tOOM_KILL = 44,\n\tNUMA_PTE_UPDATES = 45,\n\tNUMA_HUGE_PTE_UPDATES = 46,\n\tNUMA_HINT_FAULTS = 47,\n\tNUMA_HINT_FAULTS_LOCAL = 48,\n\tNUMA_PAGE_MIGRATE = 49,\n\tPGMIGRATE_SUCCESS = 50,\n\tPGMIGRATE_FAIL = 51,\n\tTHP_MIGRATION_SUCCESS = 52,\n\tTHP_MIGRATION_FAIL = 53,\n\tTHP_MIGRATION_SPLIT = 54,\n\tCOMPACTMIGRATE_SCANNED = 55,\n\tCOMPACTFREE_SCANNED = 56,\n\tCOMPACTISOLATED = 57,\n\tCOMPACTSTALL = 58,\n\tCOMPACTFAIL = 59,\n\tCOMPACTSUCCESS = 60,\n\tKCOMPACTD_WAKE = 61,\n\tKCOMPACTD_MIGRATE_SCANNED = 62,\n\tKCOMPACTD_FREE_SCANNED = 63,\n\tHTLB_BUDDY_PGALLOC = 64,\n\tHTLB_BUDDY_PGALLOC_FAIL = 65,\n\tCMA_ALLOC_SUCCESS = 66,\n\tCMA_ALLOC_FAIL = 67,\n\tUNEVICTABLE_PGCULLED = 68,\n\tUNEVICTABLE_PGSCANNED = 69,\n\tUNEVICTABLE_PGRESCUED = 70,\n\tUNEVICTABLE_PGMLOCKED = 71,\n\tUNEVICTABLE_PGMUNLOCKED = 72,\n\tUNEVICTABLE_PGCLEARED = 73,\n\tUNEVICTABLE_PGSTRANDED = 74,\n\tTHP_FAULT_ALLOC = 75,\n\tTHP_FAULT_FALLBACK = 76,\n\tTHP_FAULT_FALLBACK_CHARGE = 77,\n\tTHP_COLLAPSE_ALLOC = 78,\n\tTHP_COLLAPSE_ALLOC_FAILED = 79,\n\tTHP_FILE_ALLOC = 80,\n\tTHP_FILE_FALLBACK = 81,\n\tTHP_FILE_FALLBACK_CHARGE = 82,\n\tTHP_FILE_MAPPED = 83,\n\tTHP_SPLIT_PAGE = 84,\n\tTHP_SPLIT_PAGE_FAILED = 85,\n\tTHP_DEFERRED_SPLIT_PAGE = 86,\n\tTHP_UNDERUSED_SPLIT_PAGE = 87,\n\tTHP_SPLIT_PMD = 88,\n\tTHP_SCAN_EXCEED_NONE_PTE = 89,\n\tTHP_SCAN_EXCEED_SWAP_PTE = 90,\n\tTHP_SCAN_EXCEED_SHARED_PTE = 91,\n\tTHP_ZERO_PAGE_ALLOC = 92,\n\tTHP_ZERO_PAGE_ALLOC_FAILED = 93,\n\tTHP_SWPOUT = 94,\n\tTHP_SWPOUT_FALLBACK = 95,\n\tBALLOON_INFLATE = 96,\n\tBALLOON_DEFLATE = 97,\n\tBALLOON_MIGRATE = 98,\n\tSWAP_RA = 99,\n\tSWAP_RA_HIT = 100,\n\tSWPIN_ZERO = 101,\n\tSWPOUT_ZERO = 102,\n\tKSM_SWPIN_COPY = 103,\n\tCOW_KSM = 104,\n\tZSWPIN = 105,\n\tZSWPOUT = 106,\n\tZSWPWB = 107,\n\tNR_VM_EVENT_ITEMS = 108,\n};\n\nenum vm_fault_reason {\n\tVM_FAULT_OOM = 1,\n\tVM_FAULT_SIGBUS = 2,\n\tVM_FAULT_MAJOR = 4,\n\tVM_FAULT_HWPOISON = 16,\n\tVM_FAULT_HWPOISON_LARGE = 32,\n\tVM_FAULT_SIGSEGV = 64,\n\tVM_FAULT_NOPAGE = 256,\n\tVM_FAULT_LOCKED = 512,\n\tVM_FAULT_RETRY = 1024,\n\tVM_FAULT_FALLBACK = 2048,\n\tVM_FAULT_DONE_COW = 4096,\n\tVM_FAULT_NEEDDSYNC = 8192,\n\tVM_FAULT_COMPLETED = 16384,\n\tVM_FAULT_HINDEX_MASK = 983040,\n};\n\nenum vm_stat_item {\n\tNR_DIRTY_THRESHOLD = 0,\n\tNR_DIRTY_BG_THRESHOLD = 1,\n\tNR_MEMMAP_PAGES = 2,\n\tNR_MEMMAP_BOOT_PAGES = 3,\n\tNR_VM_STAT_ITEMS = 4,\n};\n\nenum vma_merge_flags {\n\tVMG_FLAG_DEFAULT = 0,\n\tVMG_FLAG_JUST_EXPAND = 1,\n};\n\nenum vma_merge_state {\n\tVMA_MERGE_START = 0,\n\tVMA_MERGE_ERROR_NOMEM = 1,\n\tVMA_MERGE_NOMERGE = 2,\n\tVMA_MERGE_SUCCESS = 3,\n};\n\nenum vma_resv_mode {\n\tVMA_NEEDS_RESV = 0,\n\tVMA_COMMIT_RESV = 1,\n\tVMA_END_RESV = 2,\n\tVMA_ADD_RESV = 3,\n\tVMA_DEL_RESV = 4,\n};\n\nenum vmpressure_levels {\n\tVMPRESSURE_LOW = 0,\n\tVMPRESSURE_MEDIUM = 1,\n\tVMPRESSURE_CRITICAL = 2,\n\tVMPRESSURE_NUM_LEVELS = 3,\n};\n\nenum vmpressure_modes {\n\tVMPRESSURE_NO_PASSTHROUGH = 0,\n\tVMPRESSURE_HIERARCHY = 1,\n\tVMPRESSURE_LOCAL = 2,\n\tVMPRESSURE_NUM_MODES = 3,\n};\n\nenum vmscan_throttle_state {\n\tVMSCAN_THROTTLE_WRITEBACK = 0,\n\tVMSCAN_THROTTLE_ISOLATED = 1,\n\tVMSCAN_THROTTLE_NOPROGRESS = 2,\n\tVMSCAN_THROTTLE_CONGESTED = 3,\n\tNR_VMSCAN_THROTTLE = 4,\n};\n\nenum vp_vq_vector_policy {\n\tVP_VQ_VECTOR_POLICY_EACH = 0,\n\tVP_VQ_VECTOR_POLICY_SHARED_SLOW = 1,\n\tVP_VQ_VECTOR_POLICY_SHARED = 2,\n};\n\nenum vvar_pages {\n\tVVAR_GENERIC_PAGE_OFFSET = 0,\n\tVVAR_TIMENS_PAGE_OFFSET = 1,\n\tVVAR_LOONGARCH_PAGES_START = 2,\n\tVVAR_LOONGARCH_PAGES_END = 3,\n\tVVAR_NR_PAGES = 4,\n};\n\nenum wb_reason {\n\tWB_REASON_BACKGROUND = 0,\n\tWB_REASON_VMSCAN = 1,\n\tWB_REASON_SYNC = 2,\n\tWB_REASON_PERIODIC = 3,\n\tWB_REASON_LAPTOP_TIMER = 4,\n\tWB_REASON_FS_FREE_SPACE = 5,\n\tWB_REASON_FORKER_THREAD = 6,\n\tWB_REASON_FOREIGN_FLUSH = 7,\n\tWB_REASON_MAX = 8,\n};\n\nenum wb_stat_item {\n\tWB_RECLAIMABLE = 0,\n\tWB_WRITEBACK = 1,\n\tWB_DIRTIED = 2,\n\tWB_WRITTEN = 3,\n\tNR_WB_STAT_ITEMS = 4,\n};\n\nenum wb_state {\n\tWB_registered = 0,\n\tWB_writeback_running = 1,\n\tWB_has_dirty_io = 2,\n\tWB_start_all = 3,\n};\n\nenum wbt_flags {\n\tWBT_TRACKED = 1,\n\tWBT_READ = 2,\n\tWBT_SWAP = 4,\n\tWBT_DISCARD = 8,\n\tWBT_NR_BITS = 4,\n};\n\nenum why_no_delegation4 {\n\tWND4_NOT_WANTED = 0,\n\tWND4_CONTENTION = 1,\n\tWND4_RESOURCE = 2,\n\tWND4_NOT_SUPP_FTYPE = 3,\n\tWND4_WRITE_DELEG_NOT_SUPP_FTYPE = 4,\n\tWND4_NOT_SUPP_UPGRADE = 5,\n\tWND4_NOT_SUPP_DOWNGRADE = 6,\n\tWND4_CANCELLED = 7,\n\tWND4_IS_DIR = 8,\n};\n\nenum wiphy_flags {\n\tWIPHY_FLAG_SUPPORTS_EXT_KEK_KCK = 1,\n\tWIPHY_FLAG_SUPPORTS_MLO = 2,\n\tWIPHY_FLAG_SPLIT_SCAN_6GHZ = 4,\n\tWIPHY_FLAG_NETNS_OK = 8,\n\tWIPHY_FLAG_PS_ON_BY_DEFAULT = 16,\n\tWIPHY_FLAG_4ADDR_AP = 32,\n\tWIPHY_FLAG_4ADDR_STATION = 64,\n\tWIPHY_FLAG_CONTROL_PORT_PROTOCOL = 128,\n\tWIPHY_FLAG_IBSS_RSN = 256,\n\tWIPHY_FLAG_DISABLE_WEXT = 512,\n\tWIPHY_FLAG_MESH_AUTH = 1024,\n\tWIPHY_FLAG_SUPPORTS_EXT_KCK_32 = 2048,\n\tWIPHY_FLAG_SUPPORTS_NSTR_NONPRIMARY = 4096,\n\tWIPHY_FLAG_SUPPORTS_FW_ROAM = 8192,\n\tWIPHY_FLAG_AP_UAPSD = 16384,\n\tWIPHY_FLAG_SUPPORTS_TDLS = 32768,\n\tWIPHY_FLAG_TDLS_EXTERNAL_SETUP = 65536,\n\tWIPHY_FLAG_HAVE_AP_SME = 131072,\n\tWIPHY_FLAG_REPORTS_OBSS = 262144,\n\tWIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = 524288,\n\tWIPHY_FLAG_OFFCHAN_TX = 1048576,\n\tWIPHY_FLAG_HAS_REMAIN_ON_CHANNEL = 2097152,\n\tWIPHY_FLAG_SUPPORTS_5_10_MHZ = 4194304,\n\tWIPHY_FLAG_HAS_CHANNEL_SWITCH = 8388608,\n\tWIPHY_FLAG_NOTIFY_REGDOM_BY_DRIVER = 16777216,\n\tWIPHY_FLAG_CHANNEL_CHANGE_ON_BEACON = 33554432,\n};\n\nenum work_bits {\n\tWORK_STRUCT_PENDING_BIT = 0,\n\tWORK_STRUCT_INACTIVE_BIT = 1,\n\tWORK_STRUCT_PWQ_BIT = 2,\n\tWORK_STRUCT_LINKED_BIT = 3,\n\tWORK_STRUCT_FLAG_BITS = 4,\n\tWORK_STRUCT_COLOR_SHIFT = 4,\n\tWORK_STRUCT_COLOR_BITS = 4,\n\tWORK_STRUCT_PWQ_SHIFT = 8,\n\tWORK_OFFQ_FLAG_SHIFT = 4,\n\tWORK_OFFQ_BH_BIT = 4,\n\tWORK_OFFQ_FLAG_END = 5,\n\tWORK_OFFQ_FLAG_BITS = 1,\n\tWORK_OFFQ_DISABLE_SHIFT = 5,\n\tWORK_OFFQ_DISABLE_BITS = 16,\n\tWORK_OFFQ_POOL_SHIFT = 21,\n\tWORK_OFFQ_LEFT = 43,\n\tWORK_OFFQ_POOL_BITS = 31,\n};\n\nenum work_cancel_flags {\n\tWORK_CANCEL_DELAYED = 1,\n\tWORK_CANCEL_DISABLE = 2,\n};\n\nenum work_flags {\n\tWORK_STRUCT_PENDING = 1,\n\tWORK_STRUCT_INACTIVE = 2,\n\tWORK_STRUCT_PWQ = 4,\n\tWORK_STRUCT_LINKED = 8,\n\tWORK_STRUCT_STATIC = 0,\n};\n\nenum worker_flags {\n\tWORKER_DIE = 2,\n\tWORKER_IDLE = 4,\n\tWORKER_PREP = 8,\n\tWORKER_CPU_INTENSIVE = 64,\n\tWORKER_UNBOUND = 128,\n\tWORKER_REBOUND = 256,\n\tWORKER_NOT_RUNNING = 456,\n};\n\nenum worker_pool_flags {\n\tPOOL_BH = 1,\n\tPOOL_MANAGER_ACTIVE = 2,\n\tPOOL_DISASSOCIATED = 4,\n\tPOOL_BH_DRAINING = 8,\n};\n\nenum wq_affn_scope {\n\tWQ_AFFN_DFL = 0,\n\tWQ_AFFN_CPU = 1,\n\tWQ_AFFN_SMT = 2,\n\tWQ_AFFN_CACHE = 3,\n\tWQ_AFFN_NUMA = 4,\n\tWQ_AFFN_SYSTEM = 5,\n\tWQ_AFFN_NR_TYPES = 6,\n};\n\nenum wq_consts {\n\tWQ_MAX_ACTIVE = 2048,\n\tWQ_UNBOUND_MAX_ACTIVE = 2048,\n\tWQ_DFL_ACTIVE = 1024,\n\tWQ_DFL_MIN_ACTIVE = 8,\n};\n\nenum wq_flags {\n\tWQ_BH = 1,\n\tWQ_UNBOUND = 2,\n\tWQ_FREEZABLE = 4,\n\tWQ_MEM_RECLAIM = 8,\n\tWQ_HIGHPRI = 16,\n\tWQ_CPU_INTENSIVE = 32,\n\tWQ_SYSFS = 64,\n\tWQ_POWER_EFFICIENT = 128,\n\t__WQ_DESTROYING = 32768,\n\t__WQ_DRAINING = 65536,\n\t__WQ_ORDERED = 131072,\n\t__WQ_LEGACY = 262144,\n\t__WQ_BH_ALLOWS = 17,\n};\n\nenum wq_internal_consts {\n\tNR_STD_WORKER_POOLS = 2,\n\tUNBOUND_POOL_HASH_ORDER = 6,\n\tBUSY_WORKER_HASH_ORDER = 6,\n\tMAX_IDLE_WORKERS_RATIO = 4,\n\tIDLE_WORKER_TIMEOUT = 75000,\n\tMAYDAY_INITIAL_TIMEOUT = 2,\n\tMAYDAY_INTERVAL = 25,\n\tCREATE_COOLDOWN = 250,\n\tRESCUER_NICE_LEVEL = -20,\n\tHIGHPRI_NICE_LEVEL = -20,\n\tWQ_NAME_LEN = 32,\n\tWORKER_ID_LEN = 42,\n};\n\nenum wq_misc_consts {\n\tWORK_NR_COLORS = 16,\n\tWORK_CPU_UNBOUND = 256,\n\tWORK_BUSY_PENDING = 1,\n\tWORK_BUSY_RUNNING = 2,\n\tWORKER_DESC_LEN = 32,\n};\n\nenum writeback_sync_modes {\n\tWB_SYNC_NONE = 0,\n\tWB_SYNC_ALL = 1,\n};\n\nenum wx_dec_ptype_etype {\n\tWX_DEC_PTYPE_ETYPE_NONE = 0,\n\tWX_DEC_PTYPE_ETYPE_IPIP = 1,\n\tWX_DEC_PTYPE_ETYPE_IG = 2,\n\tWX_DEC_PTYPE_ETYPE_IGM = 3,\n\tWX_DEC_PTYPE_ETYPE_IGMV = 4,\n};\n\nenum wx_dec_ptype_ip {\n\tWX_DEC_PTYPE_IP_NONE = 0,\n\tWX_DEC_PTYPE_IP_IPV4 = 1,\n\tWX_DEC_PTYPE_IP_IPV6 = 2,\n\tWX_DEC_PTYPE_IP_FGV4 = 5,\n\tWX_DEC_PTYPE_IP_FGV6 = 6,\n};\n\nenum wx_dec_ptype_layer {\n\tWX_DEC_PTYPE_LAYER_NONE = 0,\n\tWX_DEC_PTYPE_LAYER_PAY2 = 1,\n\tWX_DEC_PTYPE_LAYER_PAY3 = 2,\n\tWX_DEC_PTYPE_LAYER_PAY4 = 3,\n};\n\nenum wx_dec_ptype_mac {\n\tWX_DEC_PTYPE_MAC_IP = 0,\n\tWX_DEC_PTYPE_MAC_L2 = 2,\n\tWX_DEC_PTYPE_MAC_FCOE = 3,\n};\n\nenum wx_dec_ptype_prot {\n\tWX_DEC_PTYPE_PROT_NONE = 0,\n\tWX_DEC_PTYPE_PROT_UDP = 1,\n\tWX_DEC_PTYPE_PROT_TCP = 2,\n\tWX_DEC_PTYPE_PROT_SCTP = 3,\n\tWX_DEC_PTYPE_PROT_ICMP = 4,\n\tWX_DEC_PTYPE_PROT_TS = 5,\n};\n\nenum wx_eeprom_type {\n\twx_eeprom_uninitialized = 0,\n\twx_eeprom_spi = 1,\n\twx_flash = 2,\n\twx_eeprom_none = 3,\n};\n\nenum wx_isb_idx {\n\tWX_ISB_HEADER = 0,\n\tWX_ISB_MISC = 1,\n\tWX_ISB_VEC0 = 2,\n\tWX_ISB_VEC1 = 3,\n\tWX_ISB_MAX = 4,\n};\n\nenum wx_l2_ptypes {\n\tWX_PTYPE_L2_ABORTED = 16,\n\tWX_PTYPE_L2_MAC = 17,\n\tWX_PTYPE_L2_IPV4_FRAG = 33,\n\tWX_PTYPE_L2_IPV4 = 34,\n\tWX_PTYPE_L2_IPV4_UDP = 35,\n\tWX_PTYPE_L2_IPV4_TCP = 36,\n\tWX_PTYPE_L2_IPV4_SCTP = 37,\n\tWX_PTYPE_L2_IPV6_FRAG = 41,\n\tWX_PTYPE_L2_IPV6 = 42,\n\tWX_PTYPE_L2_IPV6_UDP = 43,\n\tWX_PTYPE_L2_IPV6_TCP = 44,\n\tWX_PTYPE_L2_IPV6_SCTP = 45,\n\tWX_PTYPE_L2_TUN4_MAC = 160,\n\tWX_PTYPE_L2_TUN6_MAC = 224,\n};\n\nenum wx_mac_type {\n\twx_mac_unknown = 0,\n\twx_mac_sp = 1,\n\twx_mac_em = 2,\n};\n\nenum wx_pf_flags {\n\tWX_FLAG_FDIR_CAPABLE = 0,\n\tWX_FLAG_FDIR_HASH = 1,\n\tWX_FLAG_FDIR_PERFECT = 2,\n\tWX_PF_FLAGS_NBITS = 3,\n};\n\nenum wx_reset_type {\n\tWX_LAN_RESET = 0,\n\tWX_SW_RESET = 1,\n\tWX_GLOBAL_RESET = 2,\n};\n\nenum wx_ring_f_enum {\n\tRING_F_NONE___2 = 0,\n\tRING_F_RSS___2 = 1,\n\tRING_F_FDIR___2 = 2,\n\tRING_F_ARRAY_SIZE___2 = 3,\n};\n\nenum wx_state {\n\tWX_STATE_RESETTING = 0,\n\tWX_STATE_NBITS = 1,\n};\n\nenum wx_tx_flags {\n\tWX_TX_FLAGS_HW_VLAN = 1,\n\tWX_TX_FLAGS_TSO = 2,\n\tWX_TX_FLAGS_TSTAMP = 4,\n\tWX_TX_FLAGS_CC = 8,\n\tWX_TX_FLAGS_IPV4 = 16,\n\tWX_TX_FLAGS_CSUM = 32,\n\tWX_TX_FLAGS_OUTER_IPV4 = 256,\n\tWX_TX_FLAGS_LINKSEC = 512,\n\tWX_TX_FLAGS_IPSEC = 1024,\n\tWX_TX_FLAGS_SW_VLAN = 64,\n};\n\nenum x509_actions {\n\tACT_x509_extract_key_data = 0,\n\tACT_x509_extract_name_segment = 1,\n\tACT_x509_note_OID = 2,\n\tACT_x509_note_issuer = 3,\n\tACT_x509_note_not_after = 4,\n\tACT_x509_note_not_before = 5,\n\tACT_x509_note_params = 6,\n\tACT_x509_note_serial = 7,\n\tACT_x509_note_sig_algo = 8,\n\tACT_x509_note_signature = 9,\n\tACT_x509_note_subject = 10,\n\tACT_x509_note_tbs_certificate = 11,\n\tACT_x509_process_extension = 12,\n\tNR__x509_actions = 13,\n};\n\nenum x509_akid_actions {\n\tACT_x509_akid_note_kid = 0,\n\tACT_x509_akid_note_name = 1,\n\tACT_x509_akid_note_serial = 2,\n\tACT_x509_extract_name_segment___2 = 3,\n\tACT_x509_note_OID___2 = 4,\n\tNR__x509_akid_actions = 5,\n};\n\nenum xa_lock_type {\n\tXA_LOCK_IRQ = 1,\n\tXA_LOCK_BH = 2,\n};\n\nenum xbtree_key_contig {\n\tXBTREE_KEY_GAP = 0,\n\tXBTREE_KEY_CONTIGUOUS = 1,\n\tXBTREE_KEY_OVERLAP = 2,\n};\n\nenum xbtree_recpacking {\n\tXBTREE_RECPACKING_EMPTY = 0,\n\tXBTREE_RECPACKING_SPARSE = 1,\n\tXBTREE_RECPACKING_FULL = 2,\n};\n\nenum xdp_action {\n\tXDP_ABORTED = 0,\n\tXDP_DROP = 1,\n\tXDP_PASS = 2,\n\tXDP_TX = 3,\n\tXDP_REDIRECT = 4,\n};\n\nenum xdp_buff_flags {\n\tXDP_FLAGS_HAS_FRAGS = 1,\n\tXDP_FLAGS_FRAGS_PF_MEMALLOC = 2,\n};\n\nenum xdp_mem_type {\n\tMEM_TYPE_PAGE_SHARED = 0,\n\tMEM_TYPE_PAGE_ORDER0 = 1,\n\tMEM_TYPE_PAGE_POOL = 2,\n\tMEM_TYPE_XSK_BUFF_POOL = 3,\n\tMEM_TYPE_MAX = 4,\n};\n\nenum xdp_rss_hash_type {\n\tXDP_RSS_L3_IPV4 = 1,\n\tXDP_RSS_L3_IPV6 = 2,\n\tXDP_RSS_L3_DYNHDR = 4,\n\tXDP_RSS_L4 = 8,\n\tXDP_RSS_L4_TCP = 16,\n\tXDP_RSS_L4_UDP = 32,\n\tXDP_RSS_L4_SCTP = 64,\n\tXDP_RSS_L4_IPSEC = 128,\n\tXDP_RSS_L4_ICMP = 256,\n\tXDP_RSS_TYPE_NONE = 0,\n\tXDP_RSS_TYPE_L2 = 0,\n\tXDP_RSS_TYPE_L3_IPV4 = 1,\n\tXDP_RSS_TYPE_L3_IPV6 = 2,\n\tXDP_RSS_TYPE_L3_IPV4_OPT = 5,\n\tXDP_RSS_TYPE_L3_IPV6_EX = 6,\n\tXDP_RSS_TYPE_L4_ANY = 8,\n\tXDP_RSS_TYPE_L4_IPV4_TCP = 25,\n\tXDP_RSS_TYPE_L4_IPV4_UDP = 41,\n\tXDP_RSS_TYPE_L4_IPV4_SCTP = 73,\n\tXDP_RSS_TYPE_L4_IPV4_IPSEC = 137,\n\tXDP_RSS_TYPE_L4_IPV4_ICMP = 265,\n\tXDP_RSS_TYPE_L4_IPV6_TCP = 26,\n\tXDP_RSS_TYPE_L4_IPV6_UDP = 42,\n\tXDP_RSS_TYPE_L4_IPV6_SCTP = 74,\n\tXDP_RSS_TYPE_L4_IPV6_IPSEC = 138,\n\tXDP_RSS_TYPE_L4_IPV6_ICMP = 266,\n\tXDP_RSS_TYPE_L4_IPV6_TCP_EX = 30,\n\tXDP_RSS_TYPE_L4_IPV6_UDP_EX = 46,\n\tXDP_RSS_TYPE_L4_IPV6_SCTP_EX = 78,\n};\n\nenum xdp_rx_metadata {\n\tXDP_METADATA_KFUNC_RX_TIMESTAMP = 0,\n\tXDP_METADATA_KFUNC_RX_HASH = 1,\n\tXDP_METADATA_KFUNC_RX_VLAN_TAG = 2,\n\tMAX_XDP_METADATA_KFUNC = 3,\n};\n\nenum xen_domain_type {\n\tXEN_NATIVE = 0,\n\tXEN_PV_DOMAIN = 1,\n\tXEN_HVM_DOMAIN = 2,\n};\n\nenum xfrm_ae_ftype_t {\n\tXFRM_AE_UNSPEC = 0,\n\tXFRM_AE_RTHR = 1,\n\tXFRM_AE_RVAL = 2,\n\tXFRM_AE_LVAL = 4,\n\tXFRM_AE_ETHR = 8,\n\tXFRM_AE_CR = 16,\n\tXFRM_AE_CE = 32,\n\tXFRM_AE_CU = 64,\n\t__XFRM_AE_MAX = 65,\n};\n\nenum xfrm_attr_type_t {\n\tXFRMA_UNSPEC = 0,\n\tXFRMA_ALG_AUTH = 1,\n\tXFRMA_ALG_CRYPT = 2,\n\tXFRMA_ALG_COMP = 3,\n\tXFRMA_ENCAP = 4,\n\tXFRMA_TMPL = 5,\n\tXFRMA_SA = 6,\n\tXFRMA_POLICY = 7,\n\tXFRMA_SEC_CTX = 8,\n\tXFRMA_LTIME_VAL = 9,\n\tXFRMA_REPLAY_VAL = 10,\n\tXFRMA_REPLAY_THRESH = 11,\n\tXFRMA_ETIMER_THRESH = 12,\n\tXFRMA_SRCADDR = 13,\n\tXFRMA_COADDR = 14,\n\tXFRMA_LASTUSED = 15,\n\tXFRMA_POLICY_TYPE = 16,\n\tXFRMA_MIGRATE = 17,\n\tXFRMA_ALG_AEAD = 18,\n\tXFRMA_KMADDRESS = 19,\n\tXFRMA_ALG_AUTH_TRUNC = 20,\n\tXFRMA_MARK = 21,\n\tXFRMA_TFCPAD = 22,\n\tXFRMA_REPLAY_ESN_VAL = 23,\n\tXFRMA_SA_EXTRA_FLAGS = 24,\n\tXFRMA_PROTO = 25,\n\tXFRMA_ADDRESS_FILTER = 26,\n\tXFRMA_PAD = 27,\n\tXFRMA_OFFLOAD_DEV = 28,\n\tXFRMA_SET_MARK = 29,\n\tXFRMA_SET_MARK_MASK = 30,\n\tXFRMA_IF_ID = 31,\n\tXFRMA_MTIMER_THRESH = 32,\n\tXFRMA_SA_DIR = 33,\n\tXFRMA_NAT_KEEPALIVE_INTERVAL = 34,\n\tXFRMA_SA_PCPU = 35,\n\tXFRMA_IPTFS_DROP_TIME = 36,\n\tXFRMA_IPTFS_REORDER_WINDOW = 37,\n\tXFRMA_IPTFS_DONT_FRAG = 38,\n\tXFRMA_IPTFS_INIT_DELAY = 39,\n\tXFRMA_IPTFS_MAX_QSIZE = 40,\n\tXFRMA_IPTFS_PKT_SIZE = 41,\n\t__XFRMA_MAX = 42,\n};\n\nenum xfrm_nlgroups {\n\tXFRMNLGRP_NONE = 0,\n\tXFRMNLGRP_ACQUIRE = 1,\n\tXFRMNLGRP_EXPIRE = 2,\n\tXFRMNLGRP_SA = 3,\n\tXFRMNLGRP_POLICY = 4,\n\tXFRMNLGRP_AEVENTS = 5,\n\tXFRMNLGRP_REPORT = 6,\n\tXFRMNLGRP_MIGRATE = 7,\n\tXFRMNLGRP_MAPPING = 8,\n\t__XFRMNLGRP_MAX = 9,\n};\n\nenum xfrm_pol_inexact_candidate_type {\n\tXFRM_POL_CAND_BOTH = 0,\n\tXFRM_POL_CAND_SADDR = 1,\n\tXFRM_POL_CAND_DADDR = 2,\n\tXFRM_POL_CAND_ANY = 3,\n\tXFRM_POL_CAND_MAX = 4,\n};\n\nenum xfrm_replay_mode {\n\tXFRM_REPLAY_MODE_LEGACY = 0,\n\tXFRM_REPLAY_MODE_BMP = 1,\n\tXFRM_REPLAY_MODE_ESN = 2,\n};\n\nenum xfrm_sa_dir {\n\tXFRM_SA_DIR_IN = 1,\n\tXFRM_SA_DIR_OUT = 2,\n};\n\nenum xfrm_sadattr_type_t {\n\tXFRMA_SAD_UNSPEC = 0,\n\tXFRMA_SAD_CNT = 1,\n\tXFRMA_SAD_HINFO = 2,\n\t__XFRMA_SAD_MAX = 3,\n};\n\nenum xfrm_spdattr_type_t {\n\tXFRMA_SPD_UNSPEC = 0,\n\tXFRMA_SPD_INFO = 1,\n\tXFRMA_SPD_HINFO = 2,\n\tXFRMA_SPD_IPV4_HTHRESH = 3,\n\tXFRMA_SPD_IPV6_HTHRESH = 4,\n\t__XFRMA_SPD_MAX = 5,\n};\n\nenum xfs_ag_resv_type {\n\tXFS_AG_RESV_NONE = 0,\n\tXFS_AG_RESV_AGFL = 1,\n\tXFS_AG_RESV_METADATA = 2,\n\tXFS_AG_RESV_RMAPBT = 3,\n\tXFS_AG_RESV_IGNORE = 4,\n\tXFS_AG_RESV_METAFILE = 5,\n};\n\nenum xfs_attr_defer_op {\n\tXFS_ATTR_DEFER_SET = 0,\n\tXFS_ATTR_DEFER_REMOVE = 1,\n\tXFS_ATTR_DEFER_REPLACE = 2,\n};\n\nenum xfs_attr_update {\n\tXFS_ATTRUPDATE_REMOVE = 0,\n\tXFS_ATTRUPDATE_UPSERT = 1,\n\tXFS_ATTRUPDATE_CREATE = 2,\n\tXFS_ATTRUPDATE_REPLACE = 3,\n};\n\nenum xfs_blft {\n\tXFS_BLFT_UNKNOWN_BUF = 0,\n\tXFS_BLFT_UDQUOT_BUF = 1,\n\tXFS_BLFT_PDQUOT_BUF = 2,\n\tXFS_BLFT_GDQUOT_BUF = 3,\n\tXFS_BLFT_BTREE_BUF = 4,\n\tXFS_BLFT_AGF_BUF = 5,\n\tXFS_BLFT_AGFL_BUF = 6,\n\tXFS_BLFT_AGI_BUF = 7,\n\tXFS_BLFT_DINO_BUF = 8,\n\tXFS_BLFT_SYMLINK_BUF = 9,\n\tXFS_BLFT_DIR_BLOCK_BUF = 10,\n\tXFS_BLFT_DIR_DATA_BUF = 11,\n\tXFS_BLFT_DIR_FREE_BUF = 12,\n\tXFS_BLFT_DIR_LEAF1_BUF = 13,\n\tXFS_BLFT_DIR_LEAFN_BUF = 14,\n\tXFS_BLFT_DA_NODE_BUF = 15,\n\tXFS_BLFT_ATTR_LEAF_BUF = 16,\n\tXFS_BLFT_ATTR_RMT_BUF = 17,\n\tXFS_BLFT_SB_BUF = 18,\n\tXFS_BLFT_RTBITMAP_BUF = 19,\n\tXFS_BLFT_RTSUMMARY_BUF = 20,\n\tXFS_BLFT_MAX_BUF = 32,\n};\n\nenum xfs_bmap_intent_type {\n\tXFS_BMAP_MAP = 1,\n\tXFS_BMAP_UNMAP = 2,\n};\n\nenum xfs_btree_type {\n\tXFS_BTREE_TYPE_AG = 0,\n\tXFS_BTREE_TYPE_INODE = 1,\n\tXFS_BTREE_TYPE_MEM = 2,\n};\n\nenum xfs_dacmp {\n\tXFS_CMP_DIFFERENT = 0,\n\tXFS_CMP_EXACT = 1,\n\tXFS_CMP_CASE = 2,\n};\n\nenum xfs_dax_mode {\n\tXFS_DAX_INODE = 0,\n\tXFS_DAX_ALWAYS = 1,\n\tXFS_DAX_NEVER = 2,\n};\n\nenum xfs_delattr_state {\n\tXFS_DAS_UNINIT = 0,\n\tXFS_DAS_SF_ADD = 1,\n\tXFS_DAS_SF_REMOVE = 2,\n\tXFS_DAS_LEAF_ADD = 3,\n\tXFS_DAS_LEAF_REMOVE = 4,\n\tXFS_DAS_NODE_ADD = 5,\n\tXFS_DAS_NODE_REMOVE = 6,\n\tXFS_DAS_LEAF_SET_RMT = 7,\n\tXFS_DAS_LEAF_ALLOC_RMT = 8,\n\tXFS_DAS_LEAF_REPLACE = 9,\n\tXFS_DAS_LEAF_REMOVE_OLD = 10,\n\tXFS_DAS_LEAF_REMOVE_RMT = 11,\n\tXFS_DAS_LEAF_REMOVE_ATTR = 12,\n\tXFS_DAS_NODE_SET_RMT = 13,\n\tXFS_DAS_NODE_ALLOC_RMT = 14,\n\tXFS_DAS_NODE_REPLACE = 15,\n\tXFS_DAS_NODE_REMOVE_OLD = 16,\n\tXFS_DAS_NODE_REMOVE_RMT = 17,\n\tXFS_DAS_NODE_REMOVE_ATTR = 18,\n\tXFS_DAS_DONE = 19,\n};\n\nenum xfs_dinode_fmt {\n\tXFS_DINODE_FMT_DEV = 0,\n\tXFS_DINODE_FMT_LOCAL = 1,\n\tXFS_DINODE_FMT_EXTENTS = 2,\n\tXFS_DINODE_FMT_BTREE = 3,\n\tXFS_DINODE_FMT_UUID = 4,\n\tXFS_DINODE_FMT_META_BTREE = 5,\n};\n\nenum xfs_dir2_fmt {\n\tXFS_DIR2_FMT_SF = 0,\n\tXFS_DIR2_FMT_BLOCK = 1,\n\tXFS_DIR2_FMT_LEAF = 2,\n\tXFS_DIR2_FMT_NODE = 3,\n\tXFS_DIR2_FMT_ERROR = 4,\n};\n\nenum xfs_experimental_feat {\n\tXFS_EXPERIMENTAL_PNFS = 0,\n\tXFS_EXPERIMENTAL_SCRUB = 1,\n\tXFS_EXPERIMENTAL_SHRINK = 2,\n\tXFS_EXPERIMENTAL_LARP = 3,\n\tXFS_EXPERIMENTAL_LBS = 4,\n\tXFS_EXPERIMENTAL_EXCHRANGE = 5,\n\tXFS_EXPERIMENTAL_PPTR = 6,\n\tXFS_EXPERIMENTAL_METADIR = 7,\n\tXFS_EXPERIMENTAL_MAX = 8,\n};\n\nenum xfs_fstrm_alloc {\n\tXFS_PICK_USERDATA = 1,\n\tXFS_PICK_LOWSPACE = 2,\n};\n\nenum xfs_group_type {\n\tXG_TYPE_AG = 0,\n\tXG_TYPE_RTG = 1,\n\tXG_TYPE_MAX = 2,\n} __attribute__((mode(byte)));\n\nenum xfs_icwalk_goal {\n\tXFS_ICWALK_BLOCKGC = 1,\n\tXFS_ICWALK_RECLAIM = 0,\n};\n\nenum xfs_metafile_type {\n\tXFS_METAFILE_UNKNOWN = 0,\n\tXFS_METAFILE_DIR = 1,\n\tXFS_METAFILE_USRQUOTA = 2,\n\tXFS_METAFILE_GRPQUOTA = 3,\n\tXFS_METAFILE_PRJQUOTA = 4,\n\tXFS_METAFILE_RTBITMAP = 5,\n\tXFS_METAFILE_RTSUMMARY = 6,\n\tXFS_METAFILE_RTRMAP = 7,\n\tXFS_METAFILE_RTREFCOUNT = 8,\n\tXFS_METAFILE_MAX = 9,\n} __attribute__((mode(byte)));\n\nenum xfs_refc_adjust_op {\n\tXFS_REFCOUNT_ADJUST_INCREASE = 1,\n\tXFS_REFCOUNT_ADJUST_DECREASE = -1,\n\tXFS_REFCOUNT_ADJUST_COW_ALLOC = 0,\n\tXFS_REFCOUNT_ADJUST_COW_FREE = -1,\n};\n\nenum xfs_refc_domain {\n\tXFS_REFC_DOMAIN_SHARED = 0,\n\tXFS_REFC_DOMAIN_COW = 1,\n};\n\nenum xfs_refcount_intent_type {\n\tXFS_REFCOUNT_INCREASE = 1,\n\tXFS_REFCOUNT_DECREASE = 2,\n\tXFS_REFCOUNT_ALLOC_COW = 3,\n\tXFS_REFCOUNT_FREE_COW = 4,\n};\n\nenum xfs_rmap_intent_type {\n\tXFS_RMAP_MAP = 0,\n\tXFS_RMAP_MAP_SHARED = 1,\n\tXFS_RMAP_UNMAP = 2,\n\tXFS_RMAP_UNMAP_SHARED = 3,\n\tXFS_RMAP_CONVERT = 4,\n\tXFS_RMAP_CONVERT_SHARED = 5,\n\tXFS_RMAP_ALLOC = 6,\n\tXFS_RMAP_FREE = 7,\n};\n\nenum xfs_rtg_inodes {\n\tXFS_RTGI_BITMAP = 0,\n\tXFS_RTGI_SUMMARY = 1,\n\tXFS_RTGI_RMAP = 2,\n\tXFS_RTGI_REFCOUNT = 3,\n\tXFS_RTGI_MAX = 4,\n};\n\nenum xhci_cancelled_td_status {\n\tTD_DIRTY = 0,\n\tTD_HALTED = 1,\n\tTD_CLEARING_CACHE = 2,\n\tTD_CLEARING_CACHE_DEFERRED = 3,\n\tTD_CLEARED = 4,\n};\n\nenum xhci_ep_reset_type {\n\tEP_HARD_RESET = 0,\n\tEP_SOFT_RESET = 1,\n};\n\nenum xhci_overhead_type {\n\tLS_OVERHEAD_TYPE = 0,\n\tFS_OVERHEAD_TYPE = 1,\n\tHS_OVERHEAD_TYPE = 2,\n};\n\nenum xhci_ring_type {\n\tTYPE_CTRL = 0,\n\tTYPE_ISOC = 1,\n\tTYPE_BULK = 2,\n\tTYPE_INTR = 3,\n\tTYPE_STREAM = 4,\n\tTYPE_COMMAND = 5,\n\tTYPE_EVENT = 6,\n};\n\nenum xhci_setup_dev {\n\tSETUP_CONTEXT_ONLY = 0,\n\tSETUP_CONTEXT_ADDRESS = 1,\n};\n\nenum xlog_iclog_state {\n\tXLOG_STATE_ACTIVE = 0,\n\tXLOG_STATE_WANT_SYNC = 1,\n\tXLOG_STATE_SYNCING = 2,\n\tXLOG_STATE_DONE_SYNC = 3,\n\tXLOG_STATE_CALLBACK = 4,\n\tXLOG_STATE_DIRTY = 5,\n};\n\nenum xlog_recover_reorder {\n\tXLOG_REORDER_BUFFER_LIST = 0,\n\tXLOG_REORDER_ITEM_LIST = 1,\n\tXLOG_REORDER_INODE_BUFFER_LIST = 2,\n\tXLOG_REORDER_CANCEL_LIST = 3,\n};\n\nenum xprt_transports {\n\tXPRT_TRANSPORT_UDP = 17,\n\tXPRT_TRANSPORT_TCP = 6,\n\tXPRT_TRANSPORT_BC_TCP = -2147483642,\n\tXPRT_TRANSPORT_RDMA = 256,\n\tXPRT_TRANSPORT_BC_RDMA = -2147483392,\n\tXPRT_TRANSPORT_LOCAL = 257,\n\tXPRT_TRANSPORT_TCP_TLS = 258,\n};\n\nenum xprt_xid_rb_cmp {\n\tXID_RB_EQUAL = 0,\n\tXID_RB_LEFT = 1,\n\tXID_RB_RIGHT = 2,\n};\n\nenum xprtsec_policies {\n\tRPC_XPRTSEC_NONE = 0,\n\tRPC_XPRTSEC_TLS_ANON = 1,\n\tRPC_XPRTSEC_TLS_X509 = 2,\n};\n\nenum xps_map_type {\n\tXPS_CPUS = 0,\n\tXPS_RXQS = 1,\n\tXPS_MAPS_MAX = 2,\n};\n\nenum xz_check {\n\tXZ_CHECK_NONE = 0,\n\tXZ_CHECK_CRC32 = 1,\n\tXZ_CHECK_CRC64 = 4,\n\tXZ_CHECK_SHA256 = 10,\n};\n\nenum xz_mode {\n\tXZ_SINGLE = 0,\n\tXZ_PREALLOC = 1,\n\tXZ_DYNALLOC = 2,\n};\n\nenum xz_ret {\n\tXZ_OK = 0,\n\tXZ_STREAM_END = 1,\n\tXZ_UNSUPPORTED_CHECK = 2,\n\tXZ_MEM_ERROR = 3,\n\tXZ_MEMLIMIT_ERROR = 4,\n\tXZ_FORMAT_ERROR = 5,\n\tXZ_OPTIONS_ERROR = 6,\n\tXZ_DATA_ERROR = 7,\n\tXZ_BUF_ERROR = 8,\n};\n\nenum zbc_zone_alignment_method {\n\tZBC_CONSTANT_ZONE_LENGTH = 1,\n\tZBC_CONSTANT_ZONE_START_OFFSET = 8,\n};\n\nenum zbc_zone_cond {\n\tZBC_ZONE_COND_NO_WP = 0,\n\tZBC_ZONE_COND_EMPTY = 1,\n\tZBC_ZONE_COND_IMP_OPEN = 2,\n\tZBC_ZONE_COND_EXP_OPEN = 3,\n\tZBC_ZONE_COND_CLOSED = 4,\n\tZBC_ZONE_COND_READONLY = 13,\n\tZBC_ZONE_COND_FULL = 14,\n\tZBC_ZONE_COND_OFFLINE = 15,\n};\n\nenum zbc_zone_type {\n\tZBC_ZONE_TYPE_CONV = 1,\n\tZBC_ZONE_TYPE_SEQWRITE_REQ = 2,\n\tZBC_ZONE_TYPE_SEQWRITE_PREF = 3,\n\tZBC_ZONE_TYPE_SEQ_OR_BEFORE_REQ = 4,\n\tZBC_ZONE_TYPE_GAP = 5,\n};\n\nenum zone_flags {\n\tZONE_BOOSTED_WATERMARK = 0,\n\tZONE_RECLAIM_ACTIVE = 1,\n\tZONE_BELOW_HIGH = 2,\n};\n\nenum zone_stat_item {\n\tNR_FREE_PAGES = 0,\n\tNR_ZONE_LRU_BASE = 1,\n\tNR_ZONE_INACTIVE_ANON = 1,\n\tNR_ZONE_ACTIVE_ANON = 2,\n\tNR_ZONE_INACTIVE_FILE = 3,\n\tNR_ZONE_ACTIVE_FILE = 4,\n\tNR_ZONE_UNEVICTABLE = 5,\n\tNR_ZONE_WRITE_PENDING = 6,\n\tNR_MLOCK = 7,\n\tNR_BOUNCE = 8,\n\tNR_ZSPAGES = 9,\n\tNR_FREE_CMA_PAGES = 10,\n\tNR_VM_ZONE_STAT_ITEMS = 11,\n};\n\nenum zone_type {\n\tZONE_DMA32 = 0,\n\tZONE_NORMAL = 1,\n\tZONE_MOVABLE = 2,\n\t__MAX_NR_ZONES = 3,\n};\n\nenum zone_watermarks {\n\tWMARK_MIN = 0,\n\tWMARK_LOW = 1,\n\tWMARK_HIGH = 2,\n\tWMARK_PROMO = 3,\n\tNR_WMARK = 4,\n};\n\nenum zpool_mapmode {\n\tZPOOL_MM_RW = 0,\n\tZPOOL_MM_RO = 1,\n\tZPOOL_MM_WO = 2,\n\tZPOOL_MM_DEFAULT = 0,\n};\n\nenum zs_mapmode {\n\tZS_MM_RW = 0,\n\tZS_MM_RO = 1,\n\tZS_MM_WO = 2,\n};\n\nenum zswap_init_type {\n\tZSWAP_UNINIT = 0,\n\tZSWAP_INIT_SUCCEED = 1,\n\tZSWAP_INIT_FAILED = 2,\n};\n\ntypedef _Bool bool;\n\ntypedef __int128 unsigned __u128;\n\ntypedef __u128 u128;\n\ntypedef u128 freelist_full_t;\n\ntypedef char *__kernel_caddr_t;\n\ntypedef char __pad_after_uframe[0];\n\ntypedef char __pad_before_uframe[0];\n\ntypedef char acpi_bus_id[8];\n\ntypedef char acpi_device_class[20];\n\ntypedef char acpi_device_name[40];\n\ntypedef char *acpi_string;\n\ntypedef __kernel_caddr_t caddr_t;\n\ntypedef const char (* const ethnl_string_array_t)[32];\n\ntypedef int __kernel_clockid_t;\n\ntypedef int __kernel_daddr_t;\n\ntypedef int __kernel_ipc_pid_t;\n\ntypedef int __kernel_key_t;\n\ntypedef int __kernel_mqd_t;\n\ntypedef int __kernel_pid_t;\n\ntypedef int __kernel_rwf_t;\n\ntypedef int __kernel_timer_t;\n\ntypedef int __s32;\n\ntypedef int class_get_unused_fd_t;\n\ntypedef __kernel_clockid_t clockid_t;\n\ntypedef __s32 s32;\n\ntypedef s32 compat_int_t;\n\ntypedef s32 compat_ssize_t;\n\ntypedef int cydp_t;\n\ntypedef s32 dma_cookie_t;\n\ntypedef int ext2_grpblk_t;\n\ntypedef int ext4_grpblk_t;\n\ntypedef int folio_walk_flags_t;\n\ntypedef int fpb_t;\n\ntypedef int fpi_t;\n\ntypedef s32 int32_t;\n\ntypedef int32_t key_serial_t;\n\ntypedef __kernel_key_t key_t;\n\ntypedef int kprobe_opcode_t;\n\ntypedef int mhp_t;\n\ntypedef int mpi_size_t;\n\ntypedef __kernel_mqd_t mqd_t;\n\ntypedef s32 old_time32_t;\n\ntypedef int pci_power_t;\n\ntypedef __kernel_pid_t pid_t;\n\ntypedef int rmap_t;\n\ntypedef __kernel_rwf_t rwf_t;\n\ntypedef __s32 sctp_assoc_t;\n\ntypedef int snd_ctl_elem_iface_t;\n\ntypedef int snd_ctl_elem_type_t;\n\ntypedef int snd_pcm_access_t;\n\ntypedef int snd_pcm_format_t;\n\ntypedef int snd_pcm_hw_param_t;\n\ntypedef int snd_pcm_state_t;\n\ntypedef int snd_pcm_subformat_t;\n\ntypedef int suspend_state_t;\n\ntypedef __kernel_timer_t timer_t;\n\ntypedef long int __kernel_long_t;\n\ntypedef __kernel_long_t __kernel_clock_t;\n\ntypedef __kernel_long_t __kernel_off_t;\n\ntypedef __kernel_long_t __kernel_old_time_t;\n\ntypedef __kernel_long_t __kernel_ptrdiff_t;\n\ntypedef __kernel_long_t __kernel_ssize_t;\n\ntypedef __kernel_long_t __kernel_suseconds_t;\n\ntypedef __kernel_clock_t clock_t;\n\ntypedef long int intptr_t;\n\ntypedef long int mpi_limb_signed_t;\n\ntypedef __kernel_off_t off_t;\n\ntypedef __kernel_ptrdiff_t ptrdiff_t;\n\ntypedef long int snd_pcm_sframes_t;\n\ntypedef __kernel_ssize_t ssize_t;\n\ntypedef __kernel_suseconds_t suseconds_t;\n\ntypedef long int word_type;\n\ntypedef long long int __s64;\n\ntypedef __s64 Elf64_Sxword;\n\ntypedef long long int __kernel_loff_t;\n\ntypedef long long int __kernel_time64_t;\n\ntypedef __s64 s64;\n\ntypedef s64 compat_loff_t;\n\ntypedef s64 int64_t;\n\ntypedef s64 ktime_t;\n\ntypedef __kernel_loff_t loff_t;\n\ntypedef long long int qsize_t;\n\ntypedef __s64 time64_t;\n\ntypedef int64_t xfs_csn_t;\n\ntypedef __s64 xfs_daddr_t;\n\ntypedef __s64 xfs_off_t;\n\ntypedef xfs_off_t xfs_dir2_off_t;\n\ntypedef int64_t xfs_fsize_t;\n\ntypedef int64_t xfs_lsn_t;\n\ntypedef long long unsigned int __u64;\n\ntypedef __u64 Elf64_Addr;\n\ntypedef __u64 Elf64_Off;\n\ntypedef __u64 Elf64_Xword;\n\ntypedef __u64 __le64;\n\ntypedef __le64 U64;\n\ntypedef __u64 u64;\n\ntypedef u64 uint64_t;\n\ntypedef uint64_t U64___2;\n\ntypedef U64___2 ZSTD_VecMask;\n\ntypedef __u64 __addrpair;\n\ntypedef __u64 __be64;\n\ntypedef __u64 __virtio64;\n\ntypedef u64 acpi_bus_address;\n\ntypedef u64 acpi_io_address;\n\ntypedef u64 acpi_physical_address;\n\ntypedef u64 acpi_size;\n\ntypedef u64 async_cookie_t;\n\ntypedef __u64 blist_flags_t;\n\ntypedef u64 blkcnt_t;\n\ntypedef u64 clientid4;\n\ntypedef u64 compat_u64;\n\ntypedef u64 dma_addr_t;\n\ntypedef u64 efi_physical_addr_t;\n\ntypedef long long unsigned int ext4_fsblk_t;\n\ntypedef __be64 fdt64_t;\n\ntypedef u64 gfn_t;\n\ntypedef u64 gpa_t;\n\ntypedef u64 io_req_flags_t;\n\ntypedef u64 netdev_features_t;\n\ntypedef u64 pci_bus_addr_t;\n\ntypedef u64 phys_addr_t;\n\ntypedef __u64 rds_rdma_cookie_t;\n\ntypedef phys_addr_t resource_size_t;\n\ntypedef u64 sci_t;\n\ntypedef u64 sector_t;\n\ntypedef __u64 timeu64_t;\n\ntypedef u64 u_int64_t;\n\ntypedef u64 unative_t;\n\ntypedef u64 upf_t;\n\ntypedef uint64_t vli_type;\n\ntypedef uint64_t xfbno_t;\n\ntypedef __be64 xfs_bmbt_ptr_t;\n\ntypedef uint64_t xfs_bmbt_rec_base_t;\n\ntypedef uint64_t xfs_extnum_t;\n\ntypedef uint64_t xfs_filblks_t;\n\ntypedef uint64_t xfs_fileoff_t;\n\ntypedef uint64_t xfs_fsblock_t;\n\ntypedef long long unsigned int xfs_ino_t;\n\ntypedef uint64_t xfs_inofree_t;\n\ntypedef uint64_t xfs_log_timestamp_t;\n\ntypedef uint64_t xfs_qcnt_t;\n\ntypedef uint64_t xfs_rfsblock_t;\n\ntypedef uint64_t xfs_rtblock_t;\n\ntypedef uint64_t xfs_rtbxlen_t;\n\ntypedef __be64 xfs_rtrefcount_ptr_t;\n\ntypedef __be64 xfs_rtrmap_ptr_t;\n\ntypedef uint64_t xfs_rtxnum_t;\n\ntypedef __be64 xfs_timestamp_t;\n\ntypedef uint64_t xfs_ufsize_t;\n\ntypedef long unsigned int __kernel_ulong_t;\n\ntypedef __kernel_ulong_t __kernel_size_t;\n\ntypedef __kernel_size_t size_t;\n\ntypedef size_t HUF_CElt;\n\ntypedef long unsigned int mpi_limb_t;\n\ntypedef mpi_limb_t UWtype;\n\ntypedef __kernel_ulong_t aio_context_t;\n\ntypedef long unsigned int cycles_t;\n\ntypedef long unsigned int efi_status_t;\n\ntypedef long unsigned int elf_greg_t;\n\ntypedef elf_greg_t elf_gregset_t[45];\n\ntypedef long unsigned int ext2_fsblk_t;\n\ntypedef __kernel_ulong_t ino_t;\n\ntypedef long unsigned int irq_hw_number_t;\n\ntypedef long unsigned int kernel_ulong_t;\n\ntypedef long unsigned int kimage_entry_t;\n\ntypedef long unsigned int kvm_pte_t;\n\ntypedef mpi_limb_t *mpi_ptr_t;\n\ntypedef long unsigned int netmem_ref;\n\ntypedef long unsigned int perf_trace_t[1024];\n\ntypedef long unsigned int pte_marker;\n\ntypedef long unsigned int snd_pcm_uframes_t;\n\ntypedef long unsigned int uLong;\n\ntypedef long unsigned int uintptr_t;\n\ntypedef long unsigned int ulg;\n\ntypedef long unsigned int ulong;\n\ntypedef uintptr_t uptrval;\n\ntypedef long unsigned int vm_flags_t;\n\ntypedef short int __s16;\n\ntypedef __s16 s16;\n\ntypedef s16 int16_t;\n\ntypedef int16_t S16;\n\ntypedef short unsigned int __u16;\n\ntypedef __u16 Elf32_Half;\n\ntypedef __u16 Elf64_Half;\n\ntypedef short unsigned int ush;\n\ntypedef ush Pos;\n\ntypedef __u16 __le16;\n\ntypedef __le16 U16;\n\ntypedef __u16 u16;\n\ntypedef u16 uint16_t;\n\ntypedef uint16_t U16___2;\n\ntypedef __u16 __be16;\n\ntypedef __u16 __hc16;\n\ntypedef short unsigned int __kernel_gid16_t;\n\ntypedef short unsigned int __kernel_sa_family_t;\n\ntypedef short unsigned int __kernel_uid16_t;\n\ntypedef __u16 __sum16;\n\ntypedef __u16 __virtio16;\n\ntypedef u16 acpi_owner_id;\n\ntypedef u16 acpi_rs_length;\n\ntypedef u16 blk_short_t;\n\ntypedef __u16 comp_t;\n\ntypedef u16 efi_char16_t;\n\ntypedef __kernel_gid16_t gid16_t;\n\ntypedef u16 hda_nid_t;\n\ntypedef short unsigned int mifi_t;\n\ntypedef short unsigned int pci_bus_flags_t;\n\ntypedef short unsigned int pci_dev_flags_t;\n\ntypedef __u16 port_id;\n\ntypedef __kernel_sa_family_t sa_family_t;\n\ntypedef u16 u_int16_t;\n\ntypedef short unsigned int u_short;\n\ntypedef u16 ucs2_char_t;\n\ntypedef __kernel_uid16_t uid16_t;\n\ntypedef __u16 uio_meta_flags_t;\n\ntypedef short unsigned int umode_t;\n\ntypedef short unsigned int ushort;\n\ntypedef short unsigned int vifi_t;\n\ntypedef u16 wchar_t;\n\ntypedef uint16_t xfs_dir2_data_off_t;\n\ntypedef signed char __s8;\n\ntypedef __s8 s8;\n\ntypedef s8 int8_t;\n\ntypedef unsigned char __u8;\n\ntypedef __u8 u8;\n\ntypedef u8 uint8_t;\n\ntypedef uint8_t BYTE;\n\ntypedef unsigned char Byte;\n\ntypedef u8 U8;\n\ntypedef uint8_t U8___2;\n\ntypedef u8 acpi_adr_space_type;\n\ntypedef u8 blk_status_t;\n\ntypedef unsigned char cc_t;\n\ntypedef uint8_t dchars;\n\ntypedef u8 dscp_t;\n\ntypedef uint8_t dstring;\n\ntypedef __u8 dvd_challenge[10];\n\ntypedef __u8 dvd_key[5];\n\ntypedef u8 efi_bool_t;\n\ntypedef __u8 rds_tos_t;\n\ntypedef u8 rmap_age_t;\n\ntypedef unsigned char u_char;\n\ntypedef u8 u_int8_t;\n\ntypedef unsigned char uch;\n\ntypedef uint8_t xfs_dqtype_t;\n\ntypedef unsigned int __u32;\n\ntypedef __u32 Elf32_Addr;\n\ntypedef __u32 Elf32_Off;\n\ntypedef __u32 Elf32_Word;\n\ntypedef __u32 Elf64_Word;\n\ntypedef unsigned int FSE_CTable;\n\ntypedef unsigned int FSE_DTable;\n\ntypedef __u32 u32;\n\ntypedef u32 uint32_t;\n\ntypedef uint32_t U32;\n\ntypedef U32 HUF_DTable;\n\ntypedef unsigned int IPos;\n\ntypedef unsigned int OM_uint32;\n\ntypedef __u32 __le32;\n\ntypedef __le32 U32___2;\n\ntypedef unsigned int UHWtype;\n\ntypedef __u32 __be32;\n\ntypedef __u32 __hc32;\n\ntypedef u32 __kernel_dev_t;\n\ntypedef unsigned int __kernel_gid32_t;\n\ntypedef unsigned int __kernel_gid_t;\n\ntypedef unsigned int __kernel_mode_t;\n\ntypedef unsigned int __kernel_old_dev_t;\n\ntypedef unsigned int __kernel_uid32_t;\n\ntypedef unsigned int __kernel_uid_t;\n\ntypedef unsigned int __poll_t;\n\ntypedef __u32 __portpair;\n\ntypedef __u32 __virtio32;\n\ntypedef __u32 __wsum;\n\ntypedef u32 acpi_event_status;\n\ntypedef u32 acpi_mutex_handle;\n\ntypedef u32 acpi_name;\n\ntypedef u32 acpi_object_type;\n\ntypedef u32 acpi_rsdesc_size;\n\ntypedef u32 acpi_status;\n\ntypedef unsigned int autofs_wqt_t;\n\ntypedef unsigned int blk_features_t;\n\ntypedef unsigned int blk_flags_t;\n\ntypedef unsigned int blk_insert_t;\n\ntypedef unsigned int blk_mode_t;\n\ntypedef __u32 blk_mq_req_flags_t;\n\ntypedef __u32 blk_opf_t;\n\ntypedef unsigned int blk_qc_t;\n\ntypedef u32 compat_caddr_t;\n\ntypedef u32 compat_size_t;\n\ntypedef u32 compat_uint_t;\n\ntypedef u32 compat_ulong_t;\n\ntypedef u32 compat_uptr_t;\n\ntypedef u32 depot_flags_t;\n\ntypedef u32 depot_stack_handle_t;\n\ntypedef __kernel_dev_t dev_t;\n\ntypedef unsigned int drm_magic_t;\n\ntypedef u32 efi_cc_event_algorithm_bitmap_t;\n\ntypedef u32 efi_cc_event_log_bitmap_t;\n\ntypedef u32 efi_cc_event_log_format_t;\n\ntypedef u32 efi_cc_mr_index_t;\n\ntypedef u32 efi_tcg2_event_log_format;\n\ntypedef u32 errseq_t;\n\ntypedef unsigned int ext4_group_t;\n\ntypedef __u32 ext4_lblk_t;\n\ntypedef __be32 fdt32_t;\n\ntypedef unsigned int fgf_t;\n\ntypedef unsigned int fmode_t;\n\ntypedef unsigned int fop_flags_t;\n\ntypedef unsigned int gfp_t;\n\ntypedef __kernel_gid32_t gid_t;\n\ntypedef __u32 if_mask;\n\ntypedef unsigned int ioasid_t;\n\ntypedef unsigned int iov_iter_extraction_t;\n\ntypedef unsigned int isolate_mode_t;\n\ntypedef u32 ixgbe_autoneg_advertised;\n\ntypedef u32 ixgbe_link_speed;\n\ntypedef unsigned int kasan_vmalloc_flags_t;\n\ntypedef uint32_t key_perm_t;\n\ntypedef __kernel_mode_t mode_t;\n\ntypedef u32 nlink_t;\n\ntypedef u32 note_buf_t[128];\n\ntypedef __u32 nvme_submit_flags_t;\n\ntypedef unsigned int pci_channel_state_t;\n\ntypedef unsigned int pci_ers_result_t;\n\ntypedef unsigned int pgtbl_mod_mask;\n\ntypedef u32 phandle;\n\ntypedef u32 phys_cpuid_t;\n\ntypedef unsigned int pipe_index_t;\n\ntypedef uint32_t prid_t;\n\ntypedef __kernel_uid32_t projid_t;\n\ntypedef __kernel_uid32_t qid_t;\n\ntypedef U32 rankValCol_t[13];\n\ntypedef __u32 req_flags_t;\n\ntypedef u32 rpc_authflavor_t;\n\ntypedef __be32 rpc_fraghdr;\n\ntypedef unsigned int sk_buff_data_t;\n\ntypedef unsigned int slab_flags_t;\n\ntypedef unsigned int speed_t;\n\ntypedef unsigned int t_key;\n\ntypedef unsigned int tcflag_t;\n\ntypedef unsigned int tid_t;\n\ntypedef unsigned int uInt;\n\ntypedef unsigned int u_int;\n\ntypedef u32 u_int32_t;\n\ntypedef uint32_t udf_pblk_t;\n\ntypedef unsigned int uffd_flags_t;\n\ntypedef __kernel_uid32_t uid_t;\n\ntypedef unsigned int uint;\n\ntypedef u32 unicode_t;\n\ntypedef u32 uprobe_opcode_t;\n\ntypedef unsigned int upstat_t;\n\ntypedef u32 usb_port_location_t;\n\ntypedef unsigned int vm_fault_t;\n\ntypedef unsigned int xa_mark_t;\n\ntypedef u32 xdp_features_t;\n\ntypedef uint32_t xfs_aextnum_t;\n\ntypedef uint32_t xfs_agblock_t;\n\ntypedef uint32_t xfs_agino_t;\n\ntypedef uint32_t xfs_agnumber_t;\n\ntypedef unsigned int xfs_buf_flags_t;\n\ntypedef uint32_t xfs_dablk_t;\n\ntypedef uint32_t xfs_dahash_t;\n\ntypedef __u32 xfs_dev_t;\n\ntypedef uint xfs_dir2_data_aoff_t;\n\ntypedef uint32_t xfs_dir2_dataptr_t;\n\ntypedef uint32_t xfs_dir2_db_t;\n\ntypedef uint32_t xfs_dqid_t;\n\ntypedef uint32_t xfs_extlen_t;\n\ntypedef __u32 xfs_nlink_t;\n\ntypedef uint32_t xfs_rgblock_t;\n\ntypedef uint32_t xfs_rgnumber_t;\n\ntypedef uint32_t xfs_rtxlen_t;\n\ntypedef uint32_t xlog_tid_t;\n\ntypedef unsigned int zap_flags_t;\n\ntypedef struct {\n\tsize_t bitContainer;\n\tunsigned int bitPos;\n\tchar *startPtr;\n\tchar *ptr;\n\tchar *endPtr;\n} BIT_CStream_t;\n\ntypedef struct {\n\tsize_t bitContainer;\n\tunsigned int bitsConsumed;\n\tconst char *ptr;\n\tconst char *start;\n\tconst char *limitPtr;\n} BIT_DStream_t;\n\ntypedef struct {\n\tBYTE maxTableLog;\n\tBYTE tableType;\n\tBYTE tableLog;\n\tBYTE reserved;\n} DTableDesc;\n\nstruct DWstruct {\n\tint low;\n\tint high;\n};\n\ntypedef union {\n\tstruct DWstruct s;\n\tlong long int ll;\n} DWunion;\n\ntypedef struct {\n\tptrdiff_t value;\n\tconst void *stateTable;\n\tconst void *symbolTT;\n\tunsigned int stateLog;\n} FSE_CState_t;\n\ntypedef struct {\n\tsize_t state;\n\tconst void *table;\n} FSE_DState_t;\n\ntypedef struct {\n\tU16___2 tableLog;\n\tU16___2 fastMode;\n} FSE_DTableHeader;\n\ntypedef struct {\n\tshort int ncount[256];\n\tFSE_DTable dtable[0];\n} FSE_DecompressWksp;\n\ntypedef struct {\n\tshort unsigned int newState;\n\tunsigned char symbol;\n\tunsigned char nbBits;\n} FSE_decode_t;\n\ntypedef struct {\n\tint deltaFindState;\n\tU32 deltaNbBits;\n} FSE_symbolCompressionTransform;\n\ntypedef struct {\n\tsize_t bitContainer[2];\n\tsize_t bitPos[2];\n\tBYTE *startPtr;\n\tBYTE *ptr;\n\tBYTE *endPtr;\n} HUF_CStream_t;\n\ntypedef struct {\n\tFSE_CTable CTable[59];\n\tU32 scratchBuffer[41];\n\tunsigned int count[13];\n\tS16 norm[13];\n} HUF_CompressWeightsWksp;\n\ntypedef struct {\n\tBYTE nbBits;\n\tBYTE byte;\n} HUF_DEltX1;\n\ntypedef struct {\n\tU16___2 sequence;\n\tBYTE nbBits;\n\tBYTE length;\n} HUF_DEltX2;\n\ntypedef struct {\n\tU32 rankVal[13];\n\tU32 rankStart[13];\n\tU32 statsWksp[218];\n\tBYTE symbols[256];\n\tBYTE huffWeight[256];\n} HUF_ReadDTableX1_Workspace;\n\ntypedef struct {\n\tBYTE symbol;\n} sortedSymbol_t;\n\ntypedef struct {\n\tU32 rankVal[156];\n\tU32 rankStats[13];\n\tU32 rankStart0[15];\n\tsortedSymbol_t sortedSymbol[256];\n\tBYTE weightList[256];\n\tU32 calleeWksp[218];\n} HUF_ReadDTableX2_Workspace;\n\ntypedef struct {\n\tHUF_CompressWeightsWksp wksp;\n\tBYTE bitsToWeight[13];\n\tBYTE huffWeight[255];\n} HUF_WriteCTableWksp;\n\nstruct nodeElt_s {\n\tU32 count;\n\tU16___2 parent;\n\tBYTE byte;\n\tBYTE nbBits;\n};\n\ntypedef struct nodeElt_s nodeElt;\n\ntypedef nodeElt huffNodeTable[512];\n\ntypedef struct {\n\tU16___2 base;\n\tU16___2 curr;\n} rankPos;\n\ntypedef struct {\n\thuffNodeTable huffNodeTbl;\n\trankPos rankPosition[192];\n} HUF_buildCTable_wksp_tables;\n\ntypedef struct {\n\tunsigned int count[256];\n\tHUF_CElt CTable[257];\n\tunion {\n\t\tHUF_buildCTable_wksp_tables buildCTable_wksp;\n\t\tHUF_WriteCTableWksp writeCTable_wksp;\n\t\tU32 hist_wksp[1024];\n\t} wksps;\n} HUF_compress_tables_t;\n\nstruct buffer_head;\n\ntypedef struct {\n\t__le32 *p;\n\t__le32 key;\n\tstruct buffer_head *bh;\n} Indirect;\n\ntypedef struct {\n\tconst uint8_t *externalDict;\n\tsize_t extDictSize;\n\tconst uint8_t *prefixEnd;\n\tsize_t prefixSize;\n} LZ4_streamDecode_t_internal;\n\ntypedef union {\n\tlong long unsigned int table[4];\n\tLZ4_streamDecode_t_internal internal_donotuse;\n} LZ4_streamDecode_t;\n\nstruct folio;\n\ntypedef struct {\n\tstruct folio *v;\n} Sector;\n\ntypedef struct {\n\tunsigned int offset;\n\tunsigned int litLength;\n\tunsigned int matchLength;\n\tunsigned int rep;\n} ZSTD_Sequence;\n\ntypedef struct {\n\tint collectSequences;\n\tZSTD_Sequence *seqStart;\n\tsize_t seqIndex;\n\tsize_t maxSequences;\n} SeqCollector;\n\ntypedef struct {\n\tS16 norm[53];\n\tU32 wksp[285];\n} ZSTD_BuildCTableWksp;\n\nstruct ZSTD_DDict_s;\n\ntypedef struct ZSTD_DDict_s ZSTD_DDict;\n\ntypedef struct {\n\tconst ZSTD_DDict **ddictPtrTable;\n\tsize_t ddictPtrTableSize;\n\tsize_t ddictPtrCount;\n} ZSTD_DDictHashSet;\n\nstruct seqDef_s;\n\ntypedef struct seqDef_s seqDef;\n\ntypedef struct {\n\tseqDef *sequencesStart;\n\tseqDef *sequences;\n\tBYTE *litStart;\n\tBYTE *lit;\n\tBYTE *llCode;\n\tBYTE *mlCode;\n\tBYTE *ofCode;\n\tsize_t maxNbSeq;\n\tsize_t maxNbLit;\n\tZSTD_longLengthType_e longLengthType;\n\tU32 longLengthPos;\n} seqStore_t;\n\ntypedef struct {\n\tsymbolEncodingType_e hType;\n\tBYTE hufDesBuffer[128];\n\tsize_t hufDesSize;\n} ZSTD_hufCTablesMetadata_t;\n\ntypedef struct {\n\tsymbolEncodingType_e llType;\n\tsymbolEncodingType_e ofType;\n\tsymbolEncodingType_e mlType;\n\tBYTE fseTablesBuffer[133];\n\tsize_t fseTablesSize;\n\tsize_t lastCountSize;\n} ZSTD_fseCTablesMetadata_t;\n\ntypedef struct {\n\tZSTD_hufCTablesMetadata_t hufMetadata;\n\tZSTD_fseCTablesMetadata_t fseMetadata;\n} ZSTD_entropyCTablesMetadata_t;\n\ntypedef struct {\n\tseqStore_t fullSeqStoreChunk;\n\tseqStore_t firstHalfSeqStore;\n\tseqStore_t secondHalfSeqStore;\n\tseqStore_t currSeqStore;\n\tseqStore_t nextSeqStore;\n\tU32 partitions[196];\n\tZSTD_entropyCTablesMetadata_t entropyMetadata;\n} ZSTD_blockSplitCtx;\n\ntypedef struct {\n\tHUF_CElt CTable[257];\n\tHUF_repeat repeatMode;\n} ZSTD_hufCTables_t;\n\ntypedef struct {\n\tFSE_CTable offcodeCTable[193];\n\tFSE_CTable matchlengthCTable[363];\n\tFSE_CTable litlengthCTable[329];\n\tFSE_repeat offcode_repeatMode;\n\tFSE_repeat matchlength_repeatMode;\n\tFSE_repeat litlength_repeatMode;\n} ZSTD_fseCTables_t;\n\ntypedef struct {\n\tZSTD_hufCTables_t huf;\n\tZSTD_fseCTables_t fse;\n} ZSTD_entropyCTables_t;\n\ntypedef struct {\n\tZSTD_entropyCTables_t entropy;\n\tU32 rep[3];\n} ZSTD_compressedBlockState_t;\n\ntypedef struct {\n\tconst BYTE *nextSrc;\n\tconst BYTE *base;\n\tconst BYTE *dictBase;\n\tU32 dictLimit;\n\tU32 lowLimit;\n\tU32 nbOverflowCorrections;\n} ZSTD_window_t;\n\ntypedef struct {\n\tU32 off;\n\tU32 len;\n} ZSTD_match_t;\n\ntypedef struct {\n\tint price;\n\tU32 off;\n\tU32 mlen;\n\tU32 litlen;\n\tU32 rep[3];\n} ZSTD_optimal_t;\n\ntypedef struct {\n\tunsigned int *litFreq;\n\tunsigned int *litLengthFreq;\n\tunsigned int *matchLengthFreq;\n\tunsigned int *offCodeFreq;\n\tZSTD_match_t *matchTable;\n\tZSTD_optimal_t *priceTable;\n\tU32 litSum;\n\tU32 litLengthSum;\n\tU32 matchLengthSum;\n\tU32 offCodeSum;\n\tU32 litSumBasePrice;\n\tU32 litLengthSumBasePrice;\n\tU32 matchLengthSumBasePrice;\n\tU32 offCodeSumBasePrice;\n\tZSTD_OptPrice_e priceType;\n\tconst ZSTD_entropyCTables_t *symbolCosts;\n\tZSTD_paramSwitch_e literalCompressionMode;\n} optState_t;\n\ntypedef struct {\n\tunsigned int windowLog;\n\tunsigned int chainLog;\n\tunsigned int hashLog;\n\tunsigned int searchLog;\n\tunsigned int minMatch;\n\tunsigned int targetLength;\n\tZSTD_strategy strategy;\n} ZSTD_compressionParameters;\n\ntypedef struct {\n\tU32 offset;\n\tU32 litLength;\n\tU32 matchLength;\n} rawSeq;\n\ntypedef struct {\n\trawSeq *seq;\n\tsize_t pos;\n\tsize_t posInSequence;\n\tsize_t size;\n\tsize_t capacity;\n} rawSeqStore_t;\n\nstruct ZSTD_matchState_t;\n\ntypedef struct ZSTD_matchState_t ZSTD_matchState_t;\n\nstruct ZSTD_matchState_t {\n\tZSTD_window_t window;\n\tU32 loadedDictEnd;\n\tU32 nextToUpdate;\n\tU32 hashLog3;\n\tU32 rowHashLog;\n\tU16___2 *tagTable;\n\tU32 hashCache[8];\n\tU32 *hashTable;\n\tU32 *hashTable3;\n\tU32 *chainTable;\n\tU32 forceNonContiguous;\n\tint dedicatedDictSearch;\n\toptState_t opt;\n\tconst ZSTD_matchState_t *dictMatchState;\n\tZSTD_compressionParameters cParams;\n\tconst rawSeqStore_t *ldmSeqStore;\n};\n\ntypedef struct {\n\tZSTD_compressedBlockState_t *prevCBlock;\n\tZSTD_compressedBlockState_t *nextCBlock;\n\tZSTD_matchState_t matchState;\n} ZSTD_blockState_t;\n\ntypedef struct {\n\tsize_t error;\n\tint lowerBound;\n\tint upperBound;\n} ZSTD_bounds;\n\ntypedef struct {\n\tU32 f1c;\n\tU32 f1d;\n\tU32 f7b;\n\tU32 f7c;\n} ZSTD_cpuid_t;\n\ntypedef void * (*ZSTD_allocFunction)(void *, size_t);\n\ntypedef void (*ZSTD_freeFunction)(void *, void *);\n\ntypedef struct {\n\tZSTD_allocFunction customAlloc;\n\tZSTD_freeFunction customFree;\n\tvoid *opaque;\n} ZSTD_customMem;\n\ntypedef struct {\n\tvoid *workspace;\n\tvoid *workspaceEnd;\n\tvoid *objectEnd;\n\tvoid *tableEnd;\n\tvoid *tableValidEnd;\n\tvoid *allocStart;\n\tBYTE allocFailed;\n\tint workspaceOversizedDuration;\n\tZSTD_cwksp_alloc_phase_e phase;\n\tZSTD_cwksp_static_alloc_e isStatic;\n} ZSTD_cwksp;\n\ntypedef struct {\n\tU16___2 nextState;\n\tBYTE nbAdditionalBits;\n\tBYTE nbBits;\n\tU32 baseValue;\n} ZSTD_seqSymbol;\n\ntypedef struct {\n\tZSTD_seqSymbol LLTable[513];\n\tZSTD_seqSymbol OFTable[257];\n\tZSTD_seqSymbol MLTable[513];\n\tHUF_DTable hufTable[4097];\n\tU32 rep[3];\n\tU32 workspace[157];\n} ZSTD_entropyDTables_t;\n\ntypedef struct {\n\tlong long unsigned int frameContentSize;\n\tlong long unsigned int windowSize;\n\tunsigned int blockSizeMax;\n\tZSTD_frameType_e frameType;\n\tunsigned int headerSize;\n\tunsigned int dictID;\n\tunsigned int checksumFlag;\n} ZSTD_frameHeader;\n\ntypedef struct {\n\tint contentSizeFlag;\n\tint checksumFlag;\n\tint noDictIDFlag;\n} ZSTD_frameParameters;\n\ntypedef struct {\n\tlong long unsigned int ingested;\n\tlong long unsigned int consumed;\n\tlong long unsigned int produced;\n\tlong long unsigned int flushed;\n\tunsigned int currentJobID;\n\tunsigned int nbActiveWorkers;\n} ZSTD_frameProgression;\n\ntypedef struct {\n\tsize_t compressedSize;\n\tlong long unsigned int decompressedBound;\n} ZSTD_frameSizeInfo;\n\ntypedef struct {\n\tsize_t state;\n\tconst ZSTD_seqSymbol *table;\n} ZSTD_fseState;\n\nstruct ZSTD_CDict_s;\n\ntypedef struct ZSTD_CDict_s ZSTD_CDict;\n\ntypedef struct {\n\tvoid *dictBuffer;\n\tconst void *dict;\n\tsize_t dictSize;\n\tZSTD_dictContentType_e dictContentType;\n\tZSTD_CDict *cdict;\n} ZSTD_localDict;\n\ntypedef struct {\n\trawSeqStore_t seqStore;\n\tU32 startPosInBlock;\n\tU32 endPosInBlock;\n\tU32 offset;\n} ZSTD_optLdm_t;\n\ntypedef struct {\n\tZSTD_compressionParameters cParams;\n\tZSTD_frameParameters fParams;\n} ZSTD_parameters;\n\ntypedef struct {\n\tU32 fastMode;\n\tU32 tableLog;\n} ZSTD_seqSymbol_header;\n\ntypedef struct {\n\tU32 litLength;\n\tU32 matchLength;\n} ZSTD_sequenceLength;\n\ntypedef struct {\n\tU32 idx;\n\tU32 posInSequence;\n\tsize_t posInSrc;\n} ZSTD_sequencePosition;\n\ntypedef struct {\n\tU32 LLtype;\n\tU32 Offtype;\n\tU32 MLtype;\n\tsize_t size;\n\tsize_t lastCountSize;\n} ZSTD_symbolEncodingTypeStats_t;\n\ntypedef struct {\n\tlong unsigned int fds_bits[16];\n} __kernel_fd_set;\n\ntypedef struct {\n\tint val[2];\n} __kernel_fsid_t;\n\nstruct mbox_out {\n\tu8 cmd;\n\tu8 cmdid;\n\tu16 numsectors;\n\tu32 lba;\n\tu32 xferaddr;\n\tu8 logdrv;\n\tu8 numsgelements;\n\tu8 resvd;\n} __attribute__((packed));\n\nstruct mbox_in {\n\tvolatile u8 busy;\n\tvolatile u8 numstatus;\n\tvolatile u8 status;\n\tvolatile u8 completed[46];\n\tvolatile u8 poll;\n\tvolatile u8 ack;\n};\n\ntypedef struct {\n\tstruct mbox_out m_out;\n\tstruct mbox_in m_in;\n} mbox_t;\n\ntypedef struct {\n\tu32 xfer_segment_lo;\n\tu32 xfer_segment_hi;\n\tmbox_t mbox;\n} __attribute__((packed)) mbox64_t;\n\nstruct list_head {\n\tstruct list_head *next;\n\tstruct list_head *prev;\n};\n\ntypedef struct {\n\tu32 data_size;\n\tu32 config_signature;\n\tu8 fw_version[16];\n\tu8 bios_version[16];\n\tu8 product_name[80];\n\tu8 max_commands;\n\tu8 nchannels;\n\tu8 fc_loop_present;\n\tu8 mem_type;\n\tu32 signature;\n\tu16 dram_size;\n\tu16 subsysid;\n\tu16 subsysvid;\n\tu8 notify_counters;\n\tu8 pad1k[889];\n} mega_product_info;\n\ntypedef struct {\n\tu32 address;\n\tu32 length;\n} mega_sglist;\n\ntypedef struct {\n\tu64 address;\n\tu32 length;\n} __attribute__((packed)) mega_sgl64;\n\ntypedef struct {\n\tu8 timeout: 3;\n\tu8 ars: 1;\n\tu8 reserved: 3;\n\tu8 islogical: 1;\n\tu8 logdrv;\n\tu8 channel;\n\tu8 target;\n\tu8 queuetag;\n\tu8 queueaction;\n\tu8 cdb[10];\n\tu8 cdblen;\n\tu8 reqsenselen;\n\tu8 reqsensearea[32];\n\tu8 numsgelements;\n\tu8 scsistatus;\n\tu32 dataxferaddr;\n\tu32 dataxferlen;\n} mega_passthru;\n\ntypedef struct {\n\tu8 timeout: 3;\n\tu8 ars: 1;\n\tu8 rsvd1: 1;\n\tu8 cd_rom: 1;\n\tu8 rsvd2: 1;\n\tu8 islogical: 1;\n\tu8 logdrv;\n\tu8 channel;\n\tu8 target;\n\tu8 queuetag;\n\tu8 queueaction;\n\tu8 cdblen;\n\tu8 rsvd3;\n\tu8 cdb[16];\n\tu8 numsgelements;\n\tu8 status;\n\tu8 reqsenselen;\n\tu8 reqsensearea[32];\n\tu8 rsvd4;\n\tu32 dataxferaddr;\n\tu32 dataxferlen;\n} mega_ext_passthru;\n\nstruct scsi_cmnd;\n\ntypedef struct {\n\tint idx;\n\tu32 state;\n\tstruct list_head list;\n\tu8 raw_mbox[66];\n\tu32 dma_type;\n\tu32 dma_direction;\n\tstruct scsi_cmnd *cmd;\n\tdma_addr_t dma_h_bulkdata;\n\tdma_addr_t dma_h_sgdata;\n\tmega_sglist *sgl;\n\tmega_sgl64 *sgl64;\n\tdma_addr_t sgl_dma_addr;\n\tmega_passthru *pthru;\n\tdma_addr_t pthru_dma_addr;\n\tmega_ext_passthru *epthru;\n\tdma_addr_t epthru_dma_addr;\n} scb_t;\n\ntypedef struct {\n\tint counter;\n} atomic_t;\n\nstruct qspinlock {\n\tunion {\n\t\tatomic_t val;\n\t\tstruct {\n\t\t\tu8 locked;\n\t\t\tu8 pending;\n\t\t};\n\t\tstruct {\n\t\t\tu16 locked_pending;\n\t\t\tu16 tail;\n\t\t};\n\t};\n};\n\ntypedef struct qspinlock arch_spinlock_t;\n\nstruct raw_spinlock {\n\tarch_spinlock_t raw_lock;\n};\n\nstruct spinlock {\n\tunion {\n\t\tstruct raw_spinlock rlock;\n\t};\n};\n\ntypedef struct spinlock spinlock_t;\n\ntypedef struct {\n\ts64 counter;\n} atomic64_t;\n\ntypedef atomic64_t atomic_long_t;\n\ntypedef struct raw_spinlock raw_spinlock_t;\n\nstruct optimistic_spin_queue {\n\tatomic_t tail;\n};\n\nstruct mutex {\n\tatomic_long_t owner;\n\traw_spinlock_t wait_lock;\n\tstruct optimistic_spin_queue osq;\n\tstruct list_head wait_list;\n};\n\nstruct swait_queue_head {\n\traw_spinlock_t lock;\n\tstruct list_head task_list;\n};\n\nstruct completion {\n\tunsigned int done;\n\tstruct swait_queue_head wait;\n};\n\nstruct pci_dev;\n\nstruct Scsi_Host;\n\nstruct proc_dir_entry;\n\ntypedef struct {\n\tint this_id;\n\tu32 flag;\n\tlong unsigned int base;\n\tvoid *mmio_base;\n\tmbox64_t *una_mbox64;\n\tdma_addr_t una_mbox64_dma;\n\tvolatile mbox64_t *mbox64;\n\tvolatile mbox_t *mbox;\n\tdma_addr_t mbox_dma;\n\tstruct pci_dev *dev;\n\tstruct list_head free_list;\n\tstruct list_head pending_list;\n\tstruct list_head completed_list;\n\tstruct Scsi_Host *host;\n\tu8 *mega_buffer;\n\tdma_addr_t buf_dma_handle;\n\tmega_product_info product_info;\n\tu8 max_cmds;\n\tscb_t *scb_list;\n\tatomic_t pend_cmds;\n\tu8 numldrv;\n\tu8 fw_version[7];\n\tu8 bios_version[7];\n\tstruct proc_dir_entry *controller_proc_dir_entry;\n\tint has_64bit_addr;\n\tint support_ext_cdb;\n\tint boot_ldrv_enabled;\n\tint boot_ldrv;\n\tint boot_pdrv_enabled;\n\tint boot_pdrv_ch;\n\tint boot_pdrv_tgt;\n\tint support_random_del;\n\tint read_ldidmap;\n\tatomic_t quiescent;\n\tspinlock_t lock;\n\tu8 logdrv_chan[9];\n\tint mega_ch_class;\n\tu8 sglen;\n\tscb_t int_scb;\n\tstruct mutex int_mtx;\n\tint int_status;\n\tstruct completion int_waitq;\n\tint has_cluster;\n} adapter_t;\n\nstruct tasklet_struct {\n\tstruct tasklet_struct *next;\n\tlong unsigned int state;\n\tatomic_t count;\n\tbool use_callback;\n\tunion {\n\t\tvoid (*func)(long unsigned int);\n\t\tvoid (*callback)(struct tasklet_struct *);\n\t};\n\tlong unsigned int data;\n};\n\ntypedef struct {\n\tcaddr_t ccb;\n\tstruct list_head list;\n\tlong unsigned int gp;\n\tunsigned int sno;\n\tstruct scsi_cmnd *scp;\n\tuint32_t state;\n\tuint32_t dma_direction;\n\tuint32_t dma_type;\n\tuint16_t dev_channel;\n\tuint16_t dev_target;\n\tuint32_t status;\n} scb_t___2;\n\ntypedef struct {\n\tstruct tasklet_struct dpc_h;\n\tstruct pci_dev *pdev;\n\tstruct Scsi_Host *host;\n\tspinlock_t lock;\n\tuint8_t quiescent;\n\tint outstanding_cmds;\n\tscb_t___2 *kscb_list;\n\tstruct list_head kscb_pool;\n\tspinlock_t kscb_pool_lock;\n\tstruct list_head pend_list;\n\tspinlock_t pend_list_lock;\n\tstruct list_head completed_list;\n\tspinlock_t completed_list_lock;\n\tuint16_t sglen;\n\tint device_ids[1040];\n\tcaddr_t raid_device;\n\tuint8_t max_channel;\n\tuint16_t max_target;\n\tuint8_t max_lun;\n\tuint32_t unique_id;\n\tint irq;\n\tuint8_t ito;\n\tcaddr_t ibuf;\n\tdma_addr_t ibuf_dma_h;\n\tscb_t___2 *uscb_list;\n\tstruct list_head uscb_pool;\n\tspinlock_t uscb_pool_lock;\n\tint max_cmds;\n\tuint8_t fw_version[16];\n\tuint8_t bios_version[16];\n\tuint8_t max_cdb_sz;\n\tuint8_t ha;\n\tuint16_t init_id;\n\tuint16_t max_sectors;\n\tuint16_t cmd_per_lun;\n\tatomic_t being_detached;\n} adapter_t___2;\n\ntypedef struct {\n\tu8 channel;\n\tu8 target;\n} adp_device;\n\ntypedef struct {\n\tu32 start_blk;\n\tu32 num_blks;\n\tadp_device device[32];\n} adp_span_40ld;\n\ntypedef struct {\n\tu32 start_blk;\n\tu32 num_blks;\n\tadp_device device[8];\n} adp_span_8ld;\n\ntypedef struct {\n\tU32 tableTime;\n\tU32 decode256Time;\n} algo_time_t;\n\ntypedef struct {\n\tu32 count;\n\tuint32_t *element;\n} bitmap4;\n\ntypedef struct {\n\tblockType_e blockType;\n\tU32 lastBlock;\n\tU32 origSize;\n} blockProperties_t;\n\ntypedef struct {\n\tunion {\n\t\tvoid *kernel;\n\t\tvoid *user;\n\t};\n\tbool is_kernel: 1;\n} sockptr_t;\n\ntypedef sockptr_t bpfptr_t;\n\ntypedef struct {\n\tunsigned int interval;\n\tunsigned int timeout;\n} cisco_proto;\n\ntypedef struct {\n\tint *lock;\n\tlong unsigned int flags;\n} class_core_lock_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_cpus_read_lock_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n\traw_spinlock_t *lock2;\n} class_double_raw_spinlock_t;\n\nstruct rq;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq *lock2;\n} class_double_rq_lock_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_irq_t;\n\ntypedef struct {\n\tvoid *lock;\n\tlong unsigned int flags;\n} class_irqsave_t;\n\nstruct snd_pcm_substream;\n\ntypedef struct {\n\tstruct snd_pcm_substream *lock;\n} class_pcm_stream_lock_irq_t;\n\ntypedef struct {\n\tstruct snd_pcm_substream *lock;\n\tlong unsigned int flags;\n} class_pcm_stream_lock_irqsave_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_preempt_notrace_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_preempt_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n} class_raw_spinlock_irq_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n\tlong unsigned int flags;\n} class_raw_spinlock_irqsave_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n} class_raw_spinlock_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_rcu_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_rcu_tasks_trace_t;\n\nstruct qrwlock {\n\tunion {\n\t\tatomic_t cnts;\n\t\tstruct {\n\t\t\tu8 wlocked;\n\t\t\tu8 __lstate[3];\n\t\t};\n\t};\n\tarch_spinlock_t wait_lock;\n};\n\ntypedef struct qrwlock arch_rwlock_t;\n\ntypedef struct {\n\tarch_rwlock_t raw_lock;\n} rwlock_t;\n\ntypedef struct {\n\trwlock_t *lock;\n\tlong unsigned int flags;\n} class_read_lock_irqsave_t;\n\nstruct pin_cookie {};\n\nstruct rq_flags {\n\tlong unsigned int flags;\n\tstruct pin_cookie cookie;\n};\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_irq_t;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_irqsave_t;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n} class_spinlock_irq_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n} class_spinlock_irqsave_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n} class_spinlock_t;\n\nstruct srcu_struct;\n\ntypedef struct {\n\tstruct srcu_struct *lock;\n\tint idx;\n} class_srcu_t;\n\nstruct task_struct;\n\ntypedef struct {\n\tstruct task_struct *lock;\n\tstruct rq *rq;\n\tstruct rq_flags rf;\n} class_task_rq_lock_t;\n\ntypedef struct {\n\trwlock_t *lock;\n} class_write_lock_irq_t;\n\ntypedef struct {\n\trwlock_t *lock;\n\tlong unsigned int flags;\n} class_write_lock_irqsave_t;\n\ntypedef struct {\n\tu32 cl_boot;\n\tu32 cl_id;\n} clientid_t;\n\ntypedef struct {\n\tunsigned char op;\n\tunsigned char bits;\n\tshort unsigned int val;\n} code;\n\ntypedef struct {\n\tclientid_t so_clid;\n\tu32 so_id;\n} stateid_opaque_t;\n\ntypedef struct {\n\tu32 si_generation;\n\tstateid_opaque_t si_opaque;\n} stateid_t;\n\nstruct refcount_struct {\n\tatomic_t refs;\n};\n\ntypedef struct refcount_struct refcount_t;\n\ntypedef struct {\n\tstateid_t cs_stid;\n\tunsigned char cs_type;\n\trefcount_t cs_count;\n} copy_stateid_t;\n\ntypedef struct {\n\t__be16 disc_information_length;\n\t__u8 disc_status: 2;\n\t__u8 border_status: 2;\n\t__u8 erasable: 1;\n\t__u8 reserved1: 3;\n\t__u8 n_first_track;\n\t__u8 n_sessions_lsb;\n\t__u8 first_track_lsb;\n\t__u8 last_track_lsb;\n\t__u8 mrw_status: 2;\n\t__u8 dbit: 1;\n\t__u8 reserved2: 2;\n\t__u8 uru: 1;\n\t__u8 dbc_v: 1;\n\t__u8 did_v: 1;\n\t__u8 disc_type;\n\t__u8 n_sessions_msb;\n\t__u8 first_track_msb;\n\t__u8 last_track_msb;\n\t__u32 disc_id;\n\t__u32 lead_in;\n\t__u32 lead_out;\n\t__u8 disc_bar_code[8];\n\t__u8 reserved3;\n\t__u8 n_opc;\n} disc_information;\n\ntypedef struct {\n\tu8 span_depth;\n\tu8 level;\n\tu8 read_ahead;\n\tu8 stripe_sz;\n\tu8 status;\n\tu8 write_mode;\n\tu8 direct_io;\n\tu8 row_size;\n} logdrv_param;\n\ntypedef struct {\n\tlogdrv_param lparam;\n\tadp_span_40ld span[8];\n} logdrv_40ld;\n\ntypedef struct {\n\tu8 type;\n\tu8 cur_status;\n\tu8 tag_depth;\n\tu8 sync_neg;\n\tu32 size;\n} phys_drv;\n\ntypedef struct {\n\tu8 nlog_drives;\n\tu8 resvd[3];\n\tlogdrv_40ld ldrv[40];\n\tphys_drv pdrv[75];\n} disk_array_40ld;\n\ntypedef struct {\n\tlogdrv_param lparam;\n\tadp_span_8ld span[8];\n} logdrv_8ld;\n\ntypedef struct {\n\tu8 nlog_drives;\n\tu8 resvd[3];\n\tlogdrv_8ld ldrv[8];\n\tphys_drv pdrv[75];\n} disk_array_8ld;\n\ntypedef struct {\n\tlong unsigned int bits[1];\n} dma_cap_mask_t;\n\nstruct dvd_lu_send_agid {\n\t__u8 type;\n\tunsigned int agid: 2;\n};\n\nstruct dvd_host_send_challenge {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_challenge chal;\n};\n\nstruct dvd_send_key {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_key key;\n};\n\nstruct dvd_lu_send_challenge {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_challenge chal;\n};\n\nstruct dvd_lu_send_title_key {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_key title_key;\n\tint lba;\n\tunsigned int cpm: 1;\n\tunsigned int cp_sec: 1;\n\tunsigned int cgms: 2;\n};\n\nstruct dvd_lu_send_asf {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tunsigned int asf: 1;\n};\n\nstruct dvd_host_send_rpcstate {\n\t__u8 type;\n\t__u8 pdrc;\n};\n\nstruct dvd_lu_send_rpcstate {\n\t__u8 type: 2;\n\t__u8 vra: 3;\n\t__u8 ucca: 3;\n\t__u8 region_mask;\n\t__u8 rpc_scheme;\n};\n\ntypedef union {\n\t__u8 type;\n\tstruct dvd_lu_send_agid lsa;\n\tstruct dvd_host_send_challenge hsc;\n\tstruct dvd_send_key lsk;\n\tstruct dvd_lu_send_challenge lsc;\n\tstruct dvd_send_key hsk;\n\tstruct dvd_lu_send_title_key lstk;\n\tstruct dvd_lu_send_asf lsasf;\n\tstruct dvd_host_send_rpcstate hrpcs;\n\tstruct dvd_lu_send_rpcstate lrpcs;\n} dvd_authinfo;\n\nstruct dvd_layer {\n\t__u8 book_version: 4;\n\t__u8 book_type: 4;\n\t__u8 min_rate: 4;\n\t__u8 disc_size: 4;\n\t__u8 layer_type: 4;\n\t__u8 track_path: 1;\n\t__u8 nlayers: 2;\n\tchar: 1;\n\t__u8 track_density: 4;\n\t__u8 linear_density: 4;\n\t__u8 bca: 1;\n\t__u32 start_sector;\n\t__u32 end_sector;\n\t__u32 end_sector_l0;\n};\n\nstruct dvd_physical {\n\t__u8 type;\n\t__u8 layer_num;\n\tstruct dvd_layer layer[4];\n};\n\nstruct dvd_copyright {\n\t__u8 type;\n\t__u8 layer_num;\n\t__u8 cpst;\n\t__u8 rmi;\n};\n\nstruct dvd_disckey {\n\t__u8 type;\n\tunsigned int agid: 2;\n\t__u8 value[2048];\n};\n\nstruct dvd_bca {\n\t__u8 type;\n\tint len;\n\t__u8 value[188];\n};\n\nstruct dvd_manufact {\n\t__u8 type;\n\t__u8 layer_num;\n\tint len;\n\t__u8 value[2048];\n};\n\ntypedef union {\n\t__u8 type;\n\tstruct dvd_physical physical;\n\tstruct dvd_copyright copyright;\n\tstruct dvd_disckey disckey;\n\tstruct dvd_bca bca;\n\tstruct dvd_manufact manufact;\n} dvd_struct;\n\ntypedef struct {\n\tu64 length;\n\tu64 data;\n} efi_capsule_block_desc_t;\n\ntypedef struct {\n\t__u8 b[16];\n} guid_t;\n\ntypedef guid_t efi_guid_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu32 headersize;\n\tu32 flags;\n\tu32 imagesize;\n} efi_capsule_header_t;\n\ntypedef struct {\n\tu8 major;\n\tu8 minor;\n} efi_cc_version_t;\n\ntypedef struct {\n\tu8 type;\n\tu8 sub_type;\n} efi_cc_type_t;\n\ntypedef struct {\n\tu8 size;\n\tefi_cc_version_t structure_version;\n\tefi_cc_version_t protocol_version;\n\tefi_cc_event_algorithm_bitmap_t hash_algorithm_bitmap;\n\tefi_cc_event_log_bitmap_t supported_event_logs;\n\tefi_cc_type_t cc_type;\n} efi_cc_boot_service_cap_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu32 table;\n} efi_config_table_32_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu64 table;\n} efi_config_table_64_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_guid_t guid;\n\t\tvoid *table;\n\t};\n\tefi_config_table_32_t mixed_mode;\n} efi_config_table_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tlong unsigned int *ptr;\n\tconst char name[16];\n} efi_config_table_type_t;\n\ntypedef struct {\n\tu16 year;\n\tu8 month;\n\tu8 day;\n\tu8 hour;\n\tu8 minute;\n\tu8 second;\n\tu8 pad1;\n\tu32 nanosecond;\n\ts16 timezone;\n\tu8 daylight;\n\tu8 pad2;\n} efi_time_t;\n\ntypedef struct {\n\tu64 size;\n\tu64 file_size;\n\tu64 phys_size;\n\tefi_time_t create_time;\n\tefi_time_t last_access_time;\n\tefi_time_t modification_time;\n\t__u64 attribute;\n\tefi_char16_t filename[0];\n} efi_file_info_t;\n\ntypedef struct {\n\tu32 red_mask;\n\tu32 green_mask;\n\tu32 blue_mask;\n\tu32 reserved_mask;\n} efi_pixel_bitmask_t;\n\ntypedef struct {\n\tu32 version;\n\tu32 horizontal_resolution;\n\tu32 vertical_resolution;\n\tint pixel_format;\n\tefi_pixel_bitmask_t pixel_information;\n\tu32 pixels_per_scan_line;\n} efi_graphics_output_mode_info_t;\n\ntypedef struct {\n\tu16 scan_code;\n\tefi_char16_t unicode_char;\n} efi_input_key_t;\n\ntypedef struct {\n\tu32 attributes;\n\tu16 file_path_list_length;\n\tu8 variable_data[0];\n} __attribute__((packed)) efi_load_option_t;\n\nstruct efi_generic_dev_path;\n\ntypedef struct efi_generic_dev_path efi_device_path_protocol_t;\n\ntypedef struct {\n\tu32 attributes;\n\tu16 file_path_list_length;\n\tconst efi_char16_t *description;\n\tconst efi_device_path_protocol_t *file_path_list;\n\tu32 optional_data_size;\n\tconst void *optional_data;\n} efi_load_option_unpacked_t;\n\ntypedef void *efi_handle_t;\n\ntypedef struct {\n\tu64 signature;\n\tu32 revision;\n\tu32 headersize;\n\tu32 crc32;\n\tu32 reserved;\n} efi_table_hdr_t;\n\ntypedef struct {\n\tu32 resolution;\n\tu32 accuracy;\n\tu8 sets_to_zero;\n} efi_time_cap_t;\n\ntypedef efi_status_t efi_get_time_t(efi_time_t *, efi_time_cap_t *);\n\ntypedef efi_status_t efi_set_time_t(efi_time_t *);\n\ntypedef efi_status_t efi_get_wakeup_time_t(efi_bool_t *, efi_bool_t *, efi_time_t *);\n\ntypedef efi_status_t efi_set_wakeup_time_t(efi_bool_t, efi_time_t *);\n\ntypedef struct {\n\tu32 type;\n\tu32 pad;\n\tu64 phys_addr;\n\tu64 virt_addr;\n\tu64 num_pages;\n\tu64 attribute;\n} efi_memory_desc_t;\n\ntypedef efi_status_t efi_set_virtual_address_map_t(long unsigned int, long unsigned int, u32, efi_memory_desc_t *);\n\ntypedef efi_status_t efi_get_variable_t(efi_char16_t *, efi_guid_t *, u32 *, long unsigned int *, void *);\n\ntypedef efi_status_t efi_get_next_variable_t(long unsigned int *, efi_char16_t *, efi_guid_t *);\n\ntypedef efi_status_t efi_set_variable_t(efi_char16_t *, efi_guid_t *, u32, long unsigned int, void *);\n\ntypedef efi_status_t efi_get_next_high_mono_count_t(u32 *);\n\ntypedef void efi_reset_system_t(int, efi_status_t, long unsigned int, efi_char16_t *);\n\ntypedef efi_status_t efi_update_capsule_t(efi_capsule_header_t **, long unsigned int, long unsigned int);\n\ntypedef efi_status_t efi_query_capsule_caps_t(efi_capsule_header_t **, long unsigned int, u64 *, int *);\n\ntypedef efi_status_t efi_query_variable_info_t(u32, u64 *, u64 *, u64 *);\n\ntypedef struct {\n\tefi_table_hdr_t hdr;\n\tu32 get_time;\n\tu32 set_time;\n\tu32 get_wakeup_time;\n\tu32 set_wakeup_time;\n\tu32 set_virtual_address_map;\n\tu32 convert_pointer;\n\tu32 get_variable;\n\tu32 get_next_variable;\n\tu32 set_variable;\n\tu32 get_next_high_mono_count;\n\tu32 reset_system;\n\tu32 update_capsule;\n\tu32 query_capsule_caps;\n\tu32 query_variable_info;\n} efi_runtime_services_32_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tefi_get_time_t *get_time;\n\t\tefi_set_time_t *set_time;\n\t\tefi_get_wakeup_time_t *get_wakeup_time;\n\t\tefi_set_wakeup_time_t *set_wakeup_time;\n\t\tefi_set_virtual_address_map_t *set_virtual_address_map;\n\t\tvoid *convert_pointer;\n\t\tefi_get_variable_t *get_variable;\n\t\tefi_get_next_variable_t *get_next_variable;\n\t\tefi_set_variable_t *set_variable;\n\t\tefi_get_next_high_mono_count_t *get_next_high_mono_count;\n\t\tefi_reset_system_t *reset_system;\n\t\tefi_update_capsule_t *update_capsule;\n\t\tefi_query_capsule_caps_t *query_capsule_caps;\n\t\tefi_query_variable_info_t *query_variable_info;\n\t};\n\tefi_runtime_services_32_t mixed_mode;\n} efi_runtime_services_t;\n\ntypedef struct {\n\tefi_table_hdr_t hdr;\n\tu32 fw_vendor;\n\tu32 fw_revision;\n\tu32 con_in_handle;\n\tu32 con_in;\n\tu32 con_out_handle;\n\tu32 con_out;\n\tu32 stderr_handle;\n\tu32 stderr;\n\tu32 runtime;\n\tu32 boottime;\n\tu32 nr_tables;\n\tu32 tables;\n} efi_system_table_32_t;\n\nunion efi_simple_text_input_protocol;\n\ntypedef union efi_simple_text_input_protocol efi_simple_text_input_protocol_t;\n\nunion efi_simple_text_output_protocol;\n\ntypedef union efi_simple_text_output_protocol efi_simple_text_output_protocol_t;\n\nunion efi_boot_services;\n\ntypedef union efi_boot_services efi_boot_services_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tlong unsigned int fw_vendor;\n\t\tu32 fw_revision;\n\t\tlong unsigned int con_in_handle;\n\t\tefi_simple_text_input_protocol_t *con_in;\n\t\tlong unsigned int con_out_handle;\n\t\tefi_simple_text_output_protocol_t *con_out;\n\t\tlong unsigned int stderr_handle;\n\t\tlong unsigned int stderr;\n\t\tefi_runtime_services_t *runtime;\n\t\tefi_boot_services_t *boottime;\n\t\tlong unsigned int nr_tables;\n\t\tlong unsigned int tables;\n\t};\n\tefi_system_table_32_t mixed_mode;\n} efi_system_table_t;\n\ntypedef union {\n\tstruct {\n\t\tu32 revision;\n\t\tefi_handle_t parent_handle;\n\t\tefi_system_table_t *system_table;\n\t\tefi_handle_t device_handle;\n\t\tvoid *file_path;\n\t\tvoid *reserved;\n\t\tu32 load_options_size;\n\t\tvoid *load_options;\n\t\tvoid *image_base;\n\t\t__u64 image_size;\n\t\tunsigned int image_code_type;\n\t\tunsigned int image_data_type;\n\t\tefi_status_t (*unload)(efi_handle_t);\n\t};\n\tstruct {\n\t\tu32 revision;\n\t\tu32 parent_handle;\n\t\tu32 system_table;\n\t\tu32 device_handle;\n\t\tu32 file_path;\n\t\tu32 reserved;\n\t\tu32 load_options_size;\n\t\tu32 load_options;\n\t\tu32 image_base;\n\t\t__u64 image_size;\n\t\tu32 image_code_type;\n\t\tu32 image_data_type;\n\t\tu32 unload;\n\t} mixed_mode;\n} efi_loaded_image_t;\n\ntypedef struct {\n\tu32 version;\n\tu32 num_entries;\n\tu32 desc_size;\n\tu32 flags;\n\tefi_memory_desc_t entry[0];\n} efi_memory_attributes_table_t;\n\ntypedef struct {\n\tu32 read;\n\tu32 write;\n} efi_pci_io_protocol_access_32_t;\n\ntypedef struct {\n\tvoid *read;\n\tvoid *write;\n} efi_pci_io_protocol_access_t;\n\nunion efi_pci_io_protocol;\n\ntypedef union efi_pci_io_protocol efi_pci_io_protocol_t;\n\ntypedef efi_status_t (*efi_pci_io_protocol_cfg_t)(efi_pci_io_protocol_t *, EFI_PCI_IO_PROTOCOL_WIDTH, u32, long unsigned int, void *);\n\ntypedef struct {\n\tefi_pci_io_protocol_cfg_t read;\n\tefi_pci_io_protocol_cfg_t write;\n} efi_pci_io_protocol_config_access_t;\n\ntypedef struct {\n\tu16 version;\n\tu16 length;\n\tu32 runtime_services_supported;\n} efi_rt_properties_table_t;\n\ntypedef struct {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n} ext2_acl_entry;\n\ntypedef struct {\n\t__le32 a_version;\n} ext2_acl_header;\n\ntypedef struct {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n} ext4_acl_entry;\n\ntypedef struct {\n\t__le32 a_version;\n} ext4_acl_header;\n\ntypedef __kernel_fd_set fd_set;\n\ntypedef struct {\n\tlong unsigned int *in;\n\tlong unsigned int *out;\n\tlong unsigned int *ex;\n\tlong unsigned int *res_in;\n\tlong unsigned int *res_out;\n\tlong unsigned int *res_ex;\n} fd_set_bits;\n\ntypedef struct {\n\tatomic64_t refcnt;\n} file_ref_t;\n\ntypedef struct {\n\tunsigned int t391;\n\tunsigned int t392;\n\tunsigned int n391;\n\tunsigned int n392;\n\tunsigned int n393;\n\tshort unsigned int lmi;\n\tshort unsigned int dce;\n} fr_proto;\n\ntypedef struct {\n\tunsigned int dlci;\n} fr_proto_pvc;\n\ntypedef struct {\n\tunsigned int dlci;\n\tchar master[16];\n} fr_proto_pvc_info;\n\ntypedef union {\n\tstruct {\n\t\tvoid *freelist;\n\t\tlong unsigned int counter;\n\t};\n\tfreelist_full_t full;\n} freelist_aba_t;\n\ntypedef struct {\n\tlong unsigned int v;\n} freeptr_t;\n\ntypedef struct {\n\tlong unsigned int key[2];\n} hsiphash_key_t;\n\ntypedef struct {\n\tunsigned int ipi_irqs[4];\n\tunsigned int __softirq_pending;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t message;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n} irq_cpustat_t;\n\ntypedef struct {\n\tu64 val;\n} kernel_cap_t;\n\ntypedef struct {\n\tgid_t val;\n} kgid_t;\n\ntypedef struct {\n\tprojid_t val;\n} kprojid_t;\n\ntypedef struct {\n\tuid_t val;\n} kuid_t;\n\ntypedef struct {\n\tU32 offset;\n\tU32 checksum;\n} ldmEntry_t;\n\ntypedef struct {\n\tconst BYTE *split;\n\tU32 hash;\n\tU32 checksum;\n\tldmEntry_t *bucket;\n} ldmMatchCandidate_t;\n\ntypedef struct {\n\tZSTD_paramSwitch_e enableLdm;\n\tU32 hashLog;\n\tU32 bucketSizeLog;\n\tU32 minMatchLength;\n\tU32 hashRateLog;\n\tU32 windowLog;\n} ldmParams_t;\n\ntypedef struct {\n\tU64___2 rolling;\n\tU64___2 stopMask;\n} ldmRollingHashState_t;\n\ntypedef struct {\n\tZSTD_window_t window;\n\tldmEntry_t *hashTable;\n\tU32 loadedDictEnd;\n\tBYTE *bucketOffsets;\n\tsize_t splitIndices[64];\n\tldmMatchCandidate_t matchCandidates[64];\n} ldmState_t;\n\ntypedef struct {\n\t__le64 b;\n\t__le64 a;\n} le128;\n\ntypedef struct {\n\tatomic_long_t a;\n} local_t;\n\ntypedef struct {\n\tlocal_t a;\n} local64_t;\n\ntypedef struct {} local_lock_t;\n\ntypedef struct {} lockdep_map_p;\n\ntypedef struct {\n\tuint8_t cmd;\n\tuint8_t cmdid;\n\tuint16_t numsectors;\n\tuint32_t lba;\n\tuint32_t xferaddr;\n\tuint8_t logdrv;\n\tuint8_t numsge;\n\tuint8_t resvd;\n\tuint8_t busy;\n\tuint8_t numstatus;\n\tuint8_t status;\n\tuint8_t completed[46];\n\tuint8_t poll;\n\tuint8_t ack;\n} __attribute__((packed)) mbox_t___2;\n\ntypedef struct {\n\tuint32_t xferaddr_lo;\n\tuint32_t xferaddr_hi;\n\tmbox_t___2 mbox32;\n} __attribute__((packed)) mbox64_t___2;\n\ntypedef struct {\n\tuint64_t address;\n\tuint32_t length;\n} __attribute__((packed)) mbox_sgl64;\n\ntypedef struct {\n\tuint32_t address;\n\tuint32_t length;\n} mbox_sgl32;\n\ntypedef struct {\n\tuint8_t timeout: 3;\n\tuint8_t ars: 1;\n\tuint8_t reserved: 3;\n\tuint8_t islogical: 1;\n\tuint8_t logdrv;\n\tuint8_t channel;\n\tuint8_t target;\n\tuint8_t queuetag;\n\tuint8_t queueaction;\n\tuint8_t cdb[10];\n\tuint8_t cdblen;\n\tuint8_t reqsenselen;\n\tuint8_t reqsensearea[32];\n\tuint8_t numsge;\n\tuint8_t scsistatus;\n\tuint32_t dataxferaddr;\n\tuint32_t dataxferlen;\n} mraid_passthru_t;\n\ntypedef struct {\n\tuint8_t timeout: 3;\n\tuint8_t ars: 1;\n\tuint8_t rsvd1: 1;\n\tuint8_t cd_rom: 1;\n\tuint8_t rsvd2: 1;\n\tuint8_t islogical: 1;\n\tuint8_t logdrv;\n\tuint8_t channel;\n\tuint8_t target;\n\tuint8_t queuetag;\n\tuint8_t queueaction;\n\tuint8_t cdblen;\n\tuint8_t rsvd3;\n\tuint8_t cdb[16];\n\tuint8_t numsge;\n\tuint8_t status;\n\tuint8_t reqsenselen;\n\tuint8_t reqsensearea[32];\n\tuint8_t rsvd4;\n\tuint32_t dataxferaddr;\n\tuint32_t dataxferlen;\n} mraid_epassthru_t;\n\ntypedef struct {\n\tuint8_t *raw_mbox;\n\tmbox_t___2 *mbox;\n\tmbox64_t___2 *mbox64;\n\tdma_addr_t mbox_dma_h;\n\tmbox_sgl64 *sgl64;\n\tmbox_sgl32 *sgl32;\n\tdma_addr_t sgl_dma_h;\n\tmraid_passthru_t *pthru;\n\tdma_addr_t pthru_dma_h;\n\tmraid_epassthru_t *epthru;\n\tdma_addr_t epthru_dma_h;\n\tdma_addr_t buf_dma_h;\n} mbox_ccb_t;\n\ntypedef struct {\n\tu8 max_commands;\n\tu8 rebuild_rate;\n\tu8 max_targ_per_chan;\n\tu8 nchannels;\n\tu8 fw_version[4];\n\tu16 age_of_flash;\n\tu8 chip_set_value;\n\tu8 dram_size;\n\tu8 cache_flush_interval;\n\tu8 bios_version[4];\n\tu8 board_type;\n\tu8 sense_alert;\n\tu8 write_config_count;\n\tu8 drive_inserted_count;\n\tu8 inserted_drive;\n\tu8 battery_status;\n\tu8 dec_fault_bus_info;\n} mega_adp_info;\n\nstruct notify {\n\tu32 global_counter;\n\tu8 param_counter;\n\tu8 param_id;\n\tu16 param_val;\n\tu8 write_config_counter;\n\tu8 write_config_rsvd[3];\n\tu8 ldrv_op_counter;\n\tu8 ldrv_opid;\n\tu8 ldrv_opcmd;\n\tu8 ldrv_opstatus;\n\tu8 ldrv_state_counter;\n\tu8 ldrv_state_id;\n\tu8 ldrv_state_new;\n\tu8 ldrv_state_old;\n\tu8 pdrv_state_counter;\n\tu8 pdrv_state_id;\n\tu8 pdrv_state_new;\n\tu8 pdrv_state_old;\n\tu8 pdrv_fmt_counter;\n\tu8 pdrv_fmt_id;\n\tu8 pdrv_fmt_val;\n\tu8 pdrv_fmt_rsvd;\n\tu8 targ_xfer_counter;\n\tu8 targ_xfer_id;\n\tu8 targ_xfer_val;\n\tu8 targ_xfer_rsvd;\n\tu8 fcloop_id_chg_counter;\n\tu8 fcloopid_pdrvid;\n\tu8 fcloop_id0;\n\tu8 fcloop_id1;\n\tu8 fcloop_state_counter;\n\tu8 fcloop_state0;\n\tu8 fcloop_state1;\n\tu8 fcloop_state_rsvd;\n};\n\ntypedef struct {\n\tu32 data_size;\n\tstruct notify notify;\n\tu8 notify_rsvd[88];\n\tu8 rebuild_rate;\n\tu8 cache_flush_interval;\n\tu8 sense_alert;\n\tu8 drive_insert_count;\n\tu8 battery_status;\n\tu8 num_ldrv;\n\tu8 recon_state[5];\n\tu16 ldrv_op_status[5];\n\tu32 ldrv_size[40];\n\tu8 ldrv_prop[40];\n\tu8 ldrv_state[40];\n\tu8 pdrv_state[256];\n\tu16 pdrv_format[16];\n\tu8 targ_xfer[80];\n\tu8 pad1k[263];\n} __attribute__((packed)) mega_inquiry3;\n\ntypedef struct {\n\tu8 num_ldrv;\n\tu8 rsvd[3];\n\tu32 ldrv_size[8];\n\tu8 ldrv_prop[8];\n\tu8 ldrv_state[8];\n} mega_ldrv_info;\n\ntypedef struct {\n\tu8 pdrv_state[75];\n\tu8 rsvd;\n} mega_pdrv_info;\n\ntypedef struct {\n\tu8 cmd;\n\tu8 cmdid;\n\tu8 opcode;\n\tu8 subopcode;\n\tu32 lba;\n\tu32 xferaddr;\n\tu8 logdrv;\n\tu8 rsvd[3];\n\tu8 numstatus;\n\tu8 status;\n} __attribute__((packed)) megacmd_t;\n\ntypedef struct {\n\tu64 asid[256];\n\tvoid *vdso;\n} mm_context_t;\n\nstruct mraid_pci_blk {\n\tcaddr_t vaddr;\n\tdma_addr_t dma_addr;\n};\n\nstruct wait_queue_head {\n\tspinlock_t lock;\n\tstruct list_head head;\n};\n\ntypedef struct wait_queue_head wait_queue_head_t;\n\nstruct dma_pool;\n\nstruct uioc;\n\ntypedef struct uioc uioc_t;\n\ntypedef struct {\n\tmbox64_t___2 *una_mbox64;\n\tdma_addr_t una_mbox64_dma;\n\tmbox_t___2 *mbox;\n\tmbox64_t___2 *mbox64;\n\tdma_addr_t mbox_dma;\n\tspinlock_t mailbox_lock;\n\tlong unsigned int baseport;\n\tvoid *baseaddr;\n\tstruct mraid_pci_blk mbox_pool[128];\n\tstruct dma_pool *mbox_pool_handle;\n\tstruct mraid_pci_blk epthru_pool[128];\n\tstruct dma_pool *epthru_pool_handle;\n\tstruct mraid_pci_blk sg_pool[128];\n\tstruct dma_pool *sg_pool_handle;\n\tmbox_ccb_t ccb_list[128];\n\tmbox_ccb_t uccb_list[32];\n\tmbox64_t___2 umbox64[32];\n\tuint8_t pdrv_state[75];\n\tuint32_t last_disp;\n\tint hw_error;\n\tint fast_load;\n\tuint8_t channel_class;\n\tstruct mutex sysfs_mtx;\n\tuioc_t *sysfs_uioc;\n\tmbox64_t___2 *sysfs_mbox64;\n\tcaddr_t sysfs_buffer;\n\tdma_addr_t sysfs_buffer_dma;\n\twait_queue_head_t sysfs_wait_q;\n\tint random_del_supported;\n\tuint16_t curr_ldmap[64];\n} mraid_device_t;\n\ntypedef struct {\n\tmega_adp_info adapter_info;\n\tmega_ldrv_info logdrv_info;\n\tmega_pdrv_info pdrv_info;\n} mraid_inquiry;\n\ntypedef struct {\n\tmraid_inquiry raid_inq;\n\tu16 phys_drv_format[5];\n\tu8 stack_attn;\n\tu8 modem_status;\n\tu8 rsvd[2];\n} __attribute__((packed)) mraid_ext_inquiry;\n\ntypedef struct {\n\tuint32_t global_counter;\n\tuint8_t param_counter;\n\tuint8_t param_id;\n\tuint16_t param_val;\n\tuint8_t write_config_counter;\n\tuint8_t write_config_rsvd[3];\n\tuint8_t ldrv_op_counter;\n\tuint8_t ldrv_opid;\n\tuint8_t ldrv_opcmd;\n\tuint8_t ldrv_opstatus;\n\tuint8_t ldrv_state_counter;\n\tuint8_t ldrv_state_id;\n\tuint8_t ldrv_state_new;\n\tuint8_t ldrv_state_old;\n\tuint8_t pdrv_state_counter;\n\tuint8_t pdrv_state_id;\n\tuint8_t pdrv_state_new;\n\tuint8_t pdrv_state_old;\n\tuint8_t pdrv_fmt_counter;\n\tuint8_t pdrv_fmt_id;\n\tuint8_t pdrv_fmt_val;\n\tuint8_t pdrv_fmt_rsvd;\n\tuint8_t targ_xfer_counter;\n\tuint8_t targ_xfer_id;\n\tuint8_t targ_xfer_val;\n\tuint8_t targ_xfer_rsvd;\n\tuint8_t fcloop_id_chg_counter;\n\tuint8_t fcloopid_pdrvid;\n\tuint8_t fcloop_id0;\n\tuint8_t fcloop_id1;\n\tuint8_t fcloop_state_counter;\n\tuint8_t fcloop_state0;\n\tuint8_t fcloop_state1;\n\tuint8_t fcloop_state_rsvd;\n} mraid_notify_t;\n\ntypedef struct {\n\tuint32_t data_size;\n\tmraid_notify_t notify;\n\tuint8_t notify_rsvd[88];\n\tuint8_t rebuild_rate;\n\tuint8_t cache_flush_int;\n\tuint8_t sense_alert;\n\tuint8_t drive_insert_count;\n\tuint8_t battery_status;\n\tuint8_t num_ldrv;\n\tuint8_t recon_state[5];\n\tuint16_t ldrv_op_status[5];\n\tuint32_t ldrv_size[40];\n\tuint8_t ldrv_prop[40];\n\tuint8_t ldrv_state[40];\n\tuint8_t pdrv_state[256];\n\tuint16_t pdrv_format[16];\n\tuint8_t targ_xfer[80];\n\tuint8_t pad1k[263];\n} __attribute__((packed)) mraid_inquiry3_t;\n\ntypedef struct {\n\tuint32_t data_size;\n\tuint32_t config_signature;\n\tuint8_t fw_version[16];\n\tuint8_t bios_version[16];\n\tuint8_t product_name[80];\n\tuint8_t max_commands;\n\tuint8_t nchannels;\n\tuint8_t fc_loop_present;\n\tuint8_t mem_type;\n\tuint32_t signature;\n\tuint16_t dram_size;\n\tuint16_t subsysid;\n\tuint16_t subsysvid;\n\tuint8_t notify_counters;\n\tuint8_t pad1k[889];\n} mraid_pinfo_t;\n\ntypedef struct {} netdevice_tracker;\n\ntypedef struct {} netns_tracker;\n\ntypedef struct {\n\tchar data[8];\n} nfs4_verifier;\n\ntypedef struct {\n\tchar signature[8];\n\tu32 opcode;\n\tu32 adapno;\n\tunion {\n\t\tu8 __raw_mbox[18];\n\t\tvoid *__uaddr;\n\t} __ua;\n\tu32 xferlen;\n\tu32 flags;\n} nitioctl_t;\n\ntypedef struct {\n\tlong unsigned int bits[1];\n} nodemask_t;\n\ntypedef struct {\n\tlong unsigned int pgd;\n} pgd_t;\n\ntypedef struct {\n\tpgd_t pgd;\n} p4d_t;\n\ntypedef struct {\n\tu64 pme;\n} pagemap_entry_t;\n\ntypedef struct {\n\tu64 val;\n} pfn_t;\n\ntypedef struct {\n\tlong unsigned int pgprot;\n} pgprot_t;\n\ntypedef struct {\n\tlong unsigned int pmd;\n} pmd_t;\n\ntypedef struct {\n\tlong unsigned int bits[4];\n} pnp_irq_mask_t;\n\nstruct net;\n\ntypedef struct {\n\tstruct net *net;\n} possible_net_t;\n\ntypedef struct {\n\tlong unsigned int pte;\n} pte_t;\n\ntypedef struct {\n\tp4d_t p4d;\n} pud_t;\n\ntypedef struct {\n\tshort unsigned int encoding;\n\tshort unsigned int parity;\n} raw_hdlc_proto;\n\ntypedef struct {\n\tatomic_t refcnt;\n} rcuref_t;\n\ntypedef struct {\n\tsize_t written;\n\tsize_t count;\n\tunion {\n\t\tchar *buf;\n\t\tvoid *data;\n\t} arg;\n\tint error;\n} read_descriptor_t;\n\ntypedef struct {\n\tu16 reg;\n\tu32 val;\n} reg_val;\n\ntypedef union {\n} release_pages_arg;\n\ntypedef struct {\n\t__u16 report_key_length;\n\t__u8 reserved1;\n\t__u8 reserved2;\n\t__u8 ucca: 3;\n\t__u8 vra: 3;\n\t__u8 type_code: 2;\n\t__u8 region_mask;\n\t__u8 rpc_scheme;\n\t__u8 reserved3;\n} rpc_state_t;\n\ntypedef struct {\n\tBIT_DStream_t DStream;\n\tZSTD_fseState stateLL;\n\tZSTD_fseState stateOffb;\n\tZSTD_fseState stateML;\n\tsize_t prevOffset[3];\n} seqState_t;\n\ntypedef struct {\n\tU32 *splitLocations;\n\tsize_t idx;\n} seqStoreSplits;\n\ntypedef struct {\n\tsize_t litLength;\n\tsize_t matchLength;\n\tsize_t offset;\n} seq_t;\n\nstruct seqcount {\n\tunsigned int sequence;\n};\n\ntypedef struct seqcount seqcount_t;\n\ntypedef struct {\n\tseqcount_t seqcount;\n} seqcount_latch_t;\n\nstruct seqcount_spinlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_spinlock seqcount_spinlock_t;\n\ntypedef struct {\n\tseqcount_spinlock_t seqcount;\n\tspinlock_t lock;\n} seqlock_t;\n\ntypedef struct {\n\tlong unsigned int sig[1];\n} sigset_t;\n\ntypedef struct {\n\tu64 key[2];\n} siphash_key_t;\n\ntypedef struct {\n\tspinlock_t slock;\n\tint owned;\n\twait_queue_head_t wq;\n} socket_lock_t;\n\ntypedef struct {\n\tchar *from;\n\tchar *to;\n} substring_t;\n\ntypedef struct {\n\tlong unsigned int val;\n} swp_entry_t;\n\ntypedef struct {\n\tunsigned int clock_rate;\n\tunsigned int clock_type;\n\tshort unsigned int loopback;\n} sync_serial_settings;\n\ntypedef struct {\n\tunsigned int clock_rate;\n\tunsigned int clock_type;\n\tshort unsigned int loopback;\n\tunsigned int slot_map;\n} te1_settings;\n\ntypedef struct {\n\t__be16 track_information_length;\n\t__u8 track_lsb;\n\t__u8 session_lsb;\n\t__u8 reserved1;\n\t__u8 track_mode: 4;\n\t__u8 copy: 1;\n\t__u8 damage: 1;\n\t__u8 reserved2: 2;\n\t__u8 data_mode: 4;\n\t__u8 fp: 1;\n\t__u8 packet: 1;\n\t__u8 blank: 1;\n\t__u8 rt: 1;\n\t__u8 nwa_v: 1;\n\t__u8 lra_v: 1;\n\t__u8 reserved3: 6;\n\t__be32 track_start;\n\t__be32 next_writable;\n\t__be32 free_blocks;\n\t__be32 fixed_packet_size;\n\t__be32 track_size;\n\t__be32 last_rec_address;\n} track_information;\n\ntypedef struct {\n\tint data;\n\tint audio;\n\tint cdi;\n\tint xa;\n\tlong int error;\n} tracktype;\n\ntypedef struct {\n\tlocal64_t v;\n} u64_stats_t;\n\ntypedef struct {\n\t__u8 b[16];\n} uuid_t;\n\ntypedef struct {\n\tgid_t val;\n} vfsgid_t;\n\ntypedef struct {\n\tuid_t val;\n} vfsuid_t;\n\ntypedef struct {\n\tshort unsigned int dce;\n\tunsigned int modulo;\n\tunsigned int window;\n\tunsigned int t1;\n\tunsigned int t2;\n\tunsigned int n2;\n} x25_hdlc_proto;\n\nstruct in6_addr {\n\tunion {\n\t\t__u8 u6_addr8[16];\n\t\t__be16 u6_addr16[8];\n\t\t__be32 u6_addr32[4];\n\t} in6_u;\n};\n\ntypedef union {\n\t__be32 a4;\n\t__be32 a6[4];\n\tstruct in6_addr in6;\n} xfrm_address_t;\n\ntypedef ZSTD_compressionParameters zstd_compression_parameters;\n\ntypedef ZSTD_customMem zstd_custom_mem;\n\ntypedef ZSTD_frameHeader zstd_frame_header;\n\ntypedef ZSTD_parameters zstd_parameters;\n\nunion ATTO_SAS_ADDRESS {\n\tU8 b[8];\n\tU16 w[4];\n\tU32___2 d[2];\n\tU64 q;\n};\n\nstruct ATTO_SAS_NVRAM {\n\tu8 Signature[4];\n\tu8 Version;\n\tu8 Checksum;\n\tu8 Pad[10];\n\tu8 SasAddr[8];\n\tu8 Reserved[232];\n};\n\nstruct DIAG_BUFFER_START {\n\t__le32 Size;\n\t__le32 DiagVersion;\n\tu8 BufferType;\n\tu8 Reserved[3];\n\t__le32 Reserved1;\n\t__le32 Reserved2;\n\t__le32 Reserved3;\n};\n\nstruct IOV_111 {\n\tu8 maxVFsSupported;\n\tu8 numVFsEnabled;\n\tu8 requestorId;\n\tu8 reserved[5];\n};\n\nstruct IO_REQUEST_INFO {\n\tu64 ldStartBlock;\n\tu32 numBlocks;\n\tu16 ldTgtId;\n\tu8 isRead;\n\t__le16 devHandle;\n\tu8 pd_interface;\n\tu64 pdBlock;\n\tu8 fpOkForIo;\n\tu8 IoforUnevenSpan;\n\tu8 start_span;\n\tu8 do_fp_rlbypass;\n\tu64 start_row;\n\tu8 span_arm;\n\tu8 pd_after_lb;\n\tu16 r1_alt_dev_handle;\n\tbool ra_capable;\n\tu8 data_arms;\n};\n\nstruct LD_LOAD_BALANCE_INFO {\n\tu8 loadBalanceFlag;\n\tu8 reserved1;\n\tatomic_t scsi_pending_cmds[256];\n\tu64 last_accessed_block[256];\n};\n\nstruct megasas_cmd_fusion;\n\nstruct STREAM_DETECT {\n\tu64 next_seq_lba;\n\tstruct megasas_cmd_fusion *first_cmd_fusion;\n\tstruct megasas_cmd_fusion *last_cmd_fusion;\n\tu32 count_cmds_in_stream;\n\tu16 num_sges_in_group;\n\tu8 is_read;\n\tu8 group_depth;\n\tbool group_flush;\n\tu8 reserved[7];\n};\n\nstruct LD_STREAM_DETECT {\n\tbool write_back;\n\tbool fp_write_enabled;\n\tbool members_ssds;\n\tbool fp_cache_bypass_capable;\n\tu32 mru_bit_map;\n\tstruct STREAM_DETECT stream_track[8];\n};\n\nstruct _LD_SPAN_SET {\n\tu64 log_start_lba;\n\tu64 log_end_lba;\n\tu64 span_row_start;\n\tu64 span_row_end;\n\tu64 data_strip_start;\n\tu64 data_strip_end;\n\tu64 data_row_start;\n\tu64 data_row_end;\n\tu8 strip_offset[8];\n\tu32 span_row_data_width;\n\tu32 diff;\n\tu32 reserved[2];\n};\n\ntypedef struct _LD_SPAN_SET LD_SPAN_SET;\n\nstruct LOG_BLOCK_SPAN_INFO {\n\tLD_SPAN_SET span_set[8];\n};\n\ntypedef struct LOG_BLOCK_SPAN_INFO LD_SPAN_INFO;\n\ntypedef struct LOG_BLOCK_SPAN_INFO *PLD_SPAN_INFO;\n\nstruct MEGASAS_RAID_MFA_IO_REQUEST_DESCRIPTOR {\n\tu32 RequestFlags: 8;\n\tu32 MessageAddress1: 24;\n\tu32 MessageAddress2;\n};\n\nstruct MPI2_DEFAULT_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 DescriptorTypeDependent;\n};\n\nstruct MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 Reserved1;\n};\n\nstruct MPI2_SCSI_IO_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 DevHandle;\n};\n\nstruct MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 IoIndex;\n};\n\nstruct MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR {\n\tu8 RequestFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 LMID;\n\t__le16 Reserved;\n};\n\nunion MEGASAS_REQUEST_DESCRIPTOR_UNION {\n\tstruct MPI2_DEFAULT_REQUEST_DESCRIPTOR Default;\n\tstruct MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR HighPriority;\n\tstruct MPI2_SCSI_IO_REQUEST_DESCRIPTOR SCSIIO;\n\tstruct MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR SCSITarget;\n\tstruct MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR RAIDAccelerator;\n\tstruct MEGASAS_RAID_MFA_IO_REQUEST_DESCRIPTOR MFAIo;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 low;\n\t\t\t__le32 high;\n\t\t} u;\n\t\t__le64 Words;\n\t};\n};\n\nstruct MPI25_IEEE_SGE_CHAIN64 {\n\t__le64 Address;\n\t__le32 Length;\n\t__le16 Reserved1;\n\tu8 NextChainOffset;\n\tu8 Flags;\n};\n\nstruct MPI2_ADDRESS_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le32 ReplyFrameAddress;\n};\n\nstruct MPI2_DEFAULT_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 DescriptorTypeDependent1;\n\t__le32 DescriptorTypeDependent2;\n};\n\nstruct MPI2_IEEE_SGE_CHAIN32 {\n\t__le32 Address;\n\t__le32 FlagsLength;\n};\n\nstruct MPI2_IEEE_SGE_CHAIN64 {\n\t__le64 Address;\n\t__le32 Length;\n\t__le16 Reserved1;\n\tu8 Reserved2;\n\tu8 Flags;\n};\n\nunion MPI2_IEEE_SGE_CHAIN_UNION {\n\tstruct MPI2_IEEE_SGE_CHAIN32 Chain32;\n\tstruct MPI2_IEEE_SGE_CHAIN64 Chain64;\n};\n\nstruct MPI2_IEEE_SGE_SIMPLE32 {\n\t__le32 Address;\n\t__le32 FlagsLength;\n};\n\nstruct MPI2_IEEE_SGE_SIMPLE64 {\n\t__le64 Address;\n\t__le32 Length;\n\t__le16 Reserved1;\n\tu8 Reserved2;\n\tu8 Flags;\n};\n\nunion MPI2_IEEE_SGE_SIMPLE_UNION {\n\tstruct MPI2_IEEE_SGE_SIMPLE32 Simple32;\n\tstruct MPI2_IEEE_SGE_SIMPLE64 Simple64;\n};\n\nstruct MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY {\n\tu64 RDPQBaseAddress;\n\tu32 Reserved1;\n\tu32 Reserved2;\n};\n\nstruct MPI2_IOC_INIT_REQUEST {\n\tu8 WhoInit;\n\tu8 Reserved1;\n\tu8 ChainOffset;\n\tu8 Function;\n\t__le16 Reserved2;\n\tu8 Reserved3;\n\tu8 MsgFlags;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\t__le16 Reserved4;\n\t__le16 MsgVersion;\n\t__le16 HeaderVersion;\n\tu32 Reserved5;\n\t__le16 Reserved6;\n\tu8 HostPageSize;\n\tu8 HostMSIxVectors;\n\t__le16 Reserved8;\n\t__le16 SystemRequestFrameSize;\n\t__le16 ReplyDescriptorPostQueueDepth;\n\t__le16 ReplyFreeQueueDepth;\n\t__le32 SenseBufferAddressHigh;\n\t__le32 SystemReplyAddressHigh;\n\t__le64 SystemRequestFrameBaseAddress;\n\t__le64 ReplyDescriptorPostQueueAddress;\n\t__le64 ReplyFreeQueueAddress;\n\t__le64 TimeStamp;\n};\n\nstruct MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le32 Reserved;\n};\n\nstruct MPI2_SCSI_IO_CDB_EEDP32 {\n\tu8 CDB[20];\n\t__be32 PrimaryReferenceTag;\n\t__be16 PrimaryApplicationTag;\n\t__be16 PrimaryApplicationTagMask;\n\t__le32 TransferLength;\n};\n\nstruct MPI2_SGE_SIMPLE_UNION {\n\t__le32 FlagsLength;\n\tunion {\n\t\t__le32 Address32;\n\t\t__le64 Address64;\n\t} u;\n};\n\nunion MPI2_SCSI_IO_CDB_UNION {\n\tu8 CDB32[32];\n\tstruct MPI2_SCSI_IO_CDB_EEDP32 EEDP32;\n\tstruct MPI2_SGE_SIMPLE_UNION SGE;\n};\n\nstruct RAID_CONTEXT {\n\tu8 type: 4;\n\tu8 nseg: 4;\n\tu8 resvd0;\n\t__le16 timeout_value;\n\tu8 reg_lock_flags;\n\tu8 resvd1;\n\t__le16 virtual_disk_tgt_id;\n\t__le64 reg_lock_row_lba;\n\t__le32 reg_lock_length;\n\t__le16 next_lmid;\n\tu8 ex_status;\n\tu8 status;\n\tu8 raid_flags;\n\tu8 num_sge;\n\t__le16 config_seq_num;\n\tu8 span_arm;\n\tu8 priority;\n\tu8 num_sge_ext;\n\tu8 resvd2;\n};\n\nstruct RAID_CONTEXT_G35 {\n\tu16 nseg_type;\n\tu16 timeout_value;\n\tu16 routing_flags;\n\tu16 virtual_disk_tgt_id;\n\t__le64 reg_lock_row_lba;\n\tu32 reg_lock_length;\n\tunion {\n\t\tu16 rmw_op_index;\n\t\tu16 peer_smid;\n\t\tu16 r56_arm_map;\n\t} flow_specific;\n\tu8 ex_status;\n\tu8 status;\n\tu8 raid_flags;\n\tu8 span_arm;\n\tu16 config_seq_num;\n\tunion {\n\t\tstruct {\n\t\t\tu16 num_sge: 12;\n\t\t\tu16 reserved: 3;\n\t\t\tu16 stream_detected: 1;\n\t\t} bits;\n\t\tu8 bytes[2];\n\t} u;\n\tu8 resvd2[2];\n};\n\nunion RAID_CONTEXT_UNION {\n\tstruct RAID_CONTEXT raid_context;\n\tstruct RAID_CONTEXT_G35 raid_context_g35;\n};\n\nstruct MPI2_SGE_CHAIN_UNION {\n\t__le16 Length;\n\tu8 NextChainOffset;\n\tu8 Flags;\n\tunion {\n\t\t__le32 Address32;\n\t\t__le64 Address64;\n\t} u;\n};\n\nunion MPI2_SGE_IO_UNION {\n\tstruct MPI2_SGE_SIMPLE_UNION MpiSimple;\n\tstruct MPI2_SGE_CHAIN_UNION MpiChain;\n\tunion MPI2_IEEE_SGE_SIMPLE_UNION IeeeSimple;\n\tunion MPI2_IEEE_SGE_CHAIN_UNION IeeeChain;\n};\n\nstruct MPI2_RAID_SCSI_IO_REQUEST {\n\t__le16 DevHandle;\n\tu8 ChainOffset;\n\tu8 Function;\n\t__le16 Reserved1;\n\tu8 Reserved2;\n\tu8 MsgFlags;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\t__le16 Reserved3;\n\t__le32 SenseBufferLowAddress;\n\t__le16 SGLFlags;\n\tu8 SenseBufferLength;\n\tu8 Reserved4;\n\tu8 SGLOffset0;\n\tu8 SGLOffset1;\n\tu8 SGLOffset2;\n\tu8 SGLOffset3;\n\t__le32 SkipCount;\n\t__le32 DataLength;\n\t__le32 BidirectionalDataLength;\n\t__le16 IoFlags;\n\t__le16 EEDPFlags;\n\t__le32 EEDPBlockSize;\n\t__le32 SecondaryReferenceTag;\n\t__le16 SecondaryApplicationTag;\n\t__le16 ApplicationTagTranslationMask;\n\tu8 LUN[8];\n\t__le32 Control;\n\tunion MPI2_SCSI_IO_CDB_UNION CDB;\n\tunion RAID_CONTEXT_UNION RaidContext;\n\tunion {\n\t\tunion MPI2_SGE_IO_UNION SGL;\n\t\tstruct {\n\t\t\tstruct {} __empty_SGLs;\n\t\t\tunion MPI2_SGE_IO_UNION SGLs[0];\n\t\t};\n\t};\n};\n\nstruct MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\t__le16 TaskTag;\n\t__le16 Reserved1;\n};\n\nstruct MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\t__le16 SMID;\n\tu8 SequenceNumber;\n\tu8 Reserved1;\n\t__le16 IoIndex;\n};\n\nstruct MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR {\n\tu8 ReplyFlags;\n\tu8 MSIxIndex;\n\tu8 VP_ID;\n\tu8 Flags;\n\t__le16 InitiatorDevHandle;\n\t__le16 IoIndex;\n};\n\nunion MPI2_REPLY_DESCRIPTORS_UNION {\n\tstruct MPI2_DEFAULT_REPLY_DESCRIPTOR Default;\n\tstruct MPI2_ADDRESS_REPLY_DESCRIPTOR AddressReply;\n\tstruct MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR SCSIIOSuccess;\n\tstruct MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR TargetAssistSuccess;\n\tstruct MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR TargetCommandBuffer;\n\tstruct MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR RAIDAcceleratorSuccess;\n\t__le64 Words;\n};\n\nstruct MPI2_SCSI_TASK_MANAGE_REPLY {\n\tu16 DevHandle;\n\tu8 MsgLength;\n\tu8 Function;\n\tu8 ResponseCode;\n\tu8 TaskType;\n\tu8 Reserved1;\n\tu8 MsgFlags;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\tu16 Reserved2;\n\tu16 Reserved3;\n\tu16 IOCStatus;\n\tu32 IOCLogInfo;\n\tu32 TerminationCount;\n\tu32 ResponseInfo;\n};\n\nstruct MPI2_SCSI_TASK_MANAGE_REQUEST {\n\tu16 DevHandle;\n\tu8 ChainOffset;\n\tu8 Function;\n\tu8 Reserved1;\n\tu8 TaskType;\n\tu8 Reserved2;\n\tu8 MsgFlags;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\tu16 Reserved3;\n\tu8 LUN[8];\n\tu32 Reserved4[7];\n\tu16 TaskMID;\n\tu16 Reserved5;\n};\n\nstruct work_struct;\n\ntypedef void (*work_func_t)(struct work_struct *);\n\nstruct work_struct {\n\tatomic_long_t data;\n\tstruct list_head entry;\n\twork_func_t func;\n};\n\nstruct hlist_node {\n\tstruct hlist_node *next;\n\tstruct hlist_node **pprev;\n};\n\nstruct timer_list {\n\tstruct hlist_node entry;\n\tlong unsigned int expires;\n\tvoid (*function)(struct timer_list *);\n\tu32 flags;\n};\n\nstruct workqueue_struct;\n\nstruct delayed_work {\n\tstruct work_struct work;\n\tstruct timer_list timer;\n\tstruct workqueue_struct *wq;\n\tint cpu;\n};\n\nstruct MPT3SAS_ADAPTER;\n\ntypedef void (*MPT3SAS_FLUSH_RUNNING_CMDS)(struct MPT3SAS_ADAPTER *);\n\nstruct _internal_cmd {\n\tstruct mutex mutex;\n\tstruct completion done;\n\tvoid *reply;\n\tvoid *sense;\n\tu16 status;\n\tu16 smid;\n};\n\ntypedef void (*MPT_ADD_SGE)(void *, u32, dma_addr_t);\n\nstruct _pcie_device;\n\ntypedef int (*MPT_BUILD_SG_SCMD)(struct MPT3SAS_ADAPTER *, struct scsi_cmnd *, u16, struct _pcie_device *);\n\ntypedef void (*MPT_BUILD_SG)(struct MPT3SAS_ADAPTER *, void *, dma_addr_t, size_t, dma_addr_t, size_t);\n\ntypedef void (*MPT_BUILD_ZERO_LEN_SGE)(struct MPT3SAS_ADAPTER *, void *);\n\nstruct _MPI26_NVME_ENCAPSULATED_REQUEST;\n\ntypedef struct _MPI26_NVME_ENCAPSULATED_REQUEST Mpi26NVMeEncapsulatedRequest_t;\n\ntypedef void (*NVME_BUILD_PRP)(struct MPT3SAS_ADAPTER *, u16, Mpi26NVMeEncapsulatedRequest_t *, dma_addr_t, size_t, dma_addr_t, size_t);\n\nstruct _MPI2_VERSION_STRUCT {\n\tU8 Dev;\n\tU8 Unit;\n\tU8 Minor;\n\tU8 Major;\n};\n\ntypedef struct _MPI2_VERSION_STRUCT MPI2_VERSION_STRUCT;\n\nunion mpi3_version_union {\n\tMPI2_VERSION_STRUCT Struct;\n\tu32 Word;\n};\n\nstruct mpt3sas_facts {\n\tu16 MsgVersion;\n\tu16 HeaderVersion;\n\tu8 IOCNumber;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\tu16 IOCExceptions;\n\tu16 IOCStatus;\n\tu32 IOCLogInfo;\n\tu8 MaxChainDepth;\n\tu8 WhoInit;\n\tu8 NumberOfPorts;\n\tu8 MaxMSIxVectors;\n\tu16 RequestCredit;\n\tu16 ProductID;\n\tu32 IOCCapabilities;\n\tunion mpi3_version_union FWVersion;\n\tu16 IOCRequestFrameSize;\n\tu16 IOCMaxChainSegmentSize;\n\tu16 MaxInitiators;\n\tu16 MaxTargets;\n\tu16 MaxSasExpanders;\n\tu16 MaxEnclosures;\n\tu16 ProtocolFlags;\n\tu16 HighPriorityCredit;\n\tu16 MaxReplyDescriptorPostQueueDepth;\n\tu8 ReplyFrameSize;\n\tu8 MaxVolumes;\n\tu16 MaxDevHandle;\n\tu16 MaxPersistentEntries;\n\tu16 MinDevHandle;\n\tu8 CurrentHostPageSize;\n};\n\nstruct _MPI2_CONFIG_PAGE_HEADER {\n\tU8 PageVersion;\n\tU8 PageLength;\n\tU8 PageNumber;\n\tU8 PageType;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_HEADER MPI2_CONFIG_PAGE_HEADER;\n\nstruct _MPI2_CONFIG_PAGE_MAN_0 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU8 ChipName[16];\n\tU8 ChipRevision[8];\n\tU8 BoardName[16];\n\tU8 BoardAssembly[16];\n\tU8 BoardTracerNumber[16];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_MAN_0 Mpi2ManufacturingPage0_t;\n\nstruct Mpi2ManufacturingPage10_t {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU8 OEMIdentifier;\n\tU8 Reserved1;\n\tU16 Reserved2;\n\tU32___2 Reserved3;\n\tU32___2 GenericFlags0;\n\tU32___2 GenericFlags1;\n\tU32___2 Reserved4;\n\tU32___2 OEMSpecificFlags0;\n\tU32___2 OEMSpecificFlags1;\n\tU32___2 Reserved5[18];\n};\n\nstruct Mpi2ManufacturingPage11_t {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\t__le32 Reserved1;\n\tu8 Reserved2;\n\tu8 EEDPTagMode;\n\tu8 Reserved3;\n\tu8 Reserved4;\n\t__le32 Reserved5[8];\n\tu16 AddlFlags2;\n\tu8 AddlFlags3;\n\tu8 Reserved6;\n\t__le32 Reserved7[7];\n\tu8 NVMeAbortTO;\n\tu8 NumPerDevEvents;\n\tu8 HostTraceBufferDecrementSizeKB;\n\tu8 HostTraceBufferFlags;\n\tu16 HostTraceBufferMaxSizeKB;\n\tu16 HostTraceBufferMinSizeKB;\n\tu8 CoreDumpTOSec;\n\tu8 TimeSyncInterval;\n\tu16 Reserved9;\n\t__le32 Reserved10;\n};\n\nstruct _MPI2_BOOT_DEVICE_ADAPTER_ORDER {\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n\tU32___2 Reserved3;\n\tU32___2 Reserved4;\n\tU32___2 Reserved5;\n\tU32___2 Reserved6;\n};\n\ntypedef struct _MPI2_BOOT_DEVICE_ADAPTER_ORDER MPI2_BOOT_DEVICE_ADAPTER_ORDER;\n\nstruct _MPI2_BOOT_DEVICE_SAS_WWID {\n\tU64 SASAddress;\n\tU8 LUN[8];\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n};\n\ntypedef struct _MPI2_BOOT_DEVICE_SAS_WWID MPI2_BOOT_DEVICE_SAS_WWID;\n\nstruct _MPI2_BOOT_DEVICE_ENCLOSURE_SLOT {\n\tU64 EnclosureLogicalID;\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n\tU16 SlotNumber;\n\tU16 Reserved3;\n\tU32___2 Reserved4;\n};\n\ntypedef struct _MPI2_BOOT_DEVICE_ENCLOSURE_SLOT MPI2_BOOT_DEVICE_ENCLOSURE_SLOT;\n\nstruct _MPI2_BOOT_DEVICE_DEVICE_NAME {\n\tU64 DeviceName;\n\tU8 LUN[8];\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n};\n\ntypedef struct _MPI2_BOOT_DEVICE_DEVICE_NAME MPI2_BOOT_DEVICE_DEVICE_NAME;\n\nunion _MPI2_MPI2_BIOSPAGE2_BOOT_DEVICE {\n\tMPI2_BOOT_DEVICE_ADAPTER_ORDER AdapterOrder;\n\tMPI2_BOOT_DEVICE_SAS_WWID SasWwid;\n\tMPI2_BOOT_DEVICE_ENCLOSURE_SLOT EnclosureSlot;\n\tMPI2_BOOT_DEVICE_DEVICE_NAME DeviceName;\n};\n\ntypedef union _MPI2_MPI2_BIOSPAGE2_BOOT_DEVICE MPI2_BIOSPAGE2_BOOT_DEVICE;\n\nstruct _MPI2_CONFIG_PAGE_BIOS_2 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n\tU32___2 Reserved3;\n\tU32___2 Reserved4;\n\tU32___2 Reserved5;\n\tU32___2 Reserved6;\n\tU8 ReqBootDeviceForm;\n\tU8 Reserved7;\n\tU16 Reserved8;\n\tMPI2_BIOSPAGE2_BOOT_DEVICE RequestedBootDevice;\n\tU8 ReqAltBootDeviceForm;\n\tU8 Reserved9;\n\tU16 Reserved10;\n\tMPI2_BIOSPAGE2_BOOT_DEVICE RequestedAltBootDevice;\n\tU8 CurrentBootDeviceForm;\n\tU8 Reserved11;\n\tU16 Reserved12;\n\tMPI2_BIOSPAGE2_BOOT_DEVICE CurrentBootDevice;\n} __attribute__((packed));\n\ntypedef struct _MPI2_CONFIG_PAGE_BIOS_2 Mpi2BiosPage2_t;\n\nstruct _MPI2_ADAPTER_INFO {\n\tU8 PciBusNumber;\n\tU8 PciDeviceAndFunctionNumber;\n\tU16 AdapterFlags;\n};\n\ntypedef struct _MPI2_ADAPTER_INFO MPI2_ADAPTER_INFO;\n\nstruct _MPI2_ADAPTER_ORDER_AUX {\n\tU64 WWID;\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n};\n\ntypedef struct _MPI2_ADAPTER_ORDER_AUX MPI2_ADAPTER_ORDER_AUX;\n\nstruct _MPI2_CONFIG_PAGE_BIOS_3 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU32___2 GlobalFlags;\n\tU32___2 BiosVersion;\n\tMPI2_ADAPTER_INFO AdapterOrder[4];\n\tU32___2 Reserved1;\n\tMPI2_ADAPTER_ORDER_AUX AdapterOrderAux[4];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_BIOS_3 Mpi2BiosPage3_t;\n\nstruct _MPI2_CONFIG_PAGE_IOC_8 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU8 NumDevsPerEnclosure;\n\tU8 Reserved1;\n\tU16 Reserved2;\n\tU16 MaxPersistentEntries;\n\tU16 MaxNumPhysicalMappedIDs;\n\tU16 Flags;\n\tU16 Reserved3;\n\tU16 IRVolumeMappingFlags;\n\tU16 Reserved4;\n\tU32___2 Reserved5;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_IOC_8 Mpi2IOCPage8_t;\n\nunion _MPI2_VERSION_UNION {\n\tMPI2_VERSION_STRUCT Struct;\n\tU32___2 Word;\n};\n\ntypedef union _MPI2_VERSION_UNION MPI2_VERSION_UNION;\n\nstruct _MPI2_CONFIG_PAGE_IO_UNIT_0 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU64 UniqueValue;\n\tMPI2_VERSION_UNION NvdataVersionDefault;\n\tMPI2_VERSION_UNION NvdataVersionPersistent;\n} __attribute__((packed));\n\ntypedef struct _MPI2_CONFIG_PAGE_IO_UNIT_0 Mpi2IOUnitPage0_t;\n\nstruct _MPI2_CONFIG_PAGE_IO_UNIT_1 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU32___2 Flags;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_IO_UNIT_1 Mpi2IOUnitPage1_t;\n\nstruct _MPI2_CONFIG_PAGE_IOC_1 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU32___2 Flags;\n\tU32___2 CoalescingTimeout;\n\tU8 CoalescingDepth;\n\tU8 PCISlotNum;\n\tU8 PCIBusNum;\n\tU8 PCIDomainSegment;\n\tU32___2 Reserved1;\n\tU32___2 ProductSpecific;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_IOC_1 Mpi2IOCPage1_t;\n\nstruct _boot_device {\n\tint channel;\n\tvoid *device;\n};\n\nstruct device;\n\nstruct hba_port;\n\nstruct _sas_phy;\n\nstruct sas_rphy;\n\nstruct _sas_node {\n\tstruct list_head list;\n\tstruct device *parent_dev;\n\tu8 num_phys;\n\tu64 sas_address;\n\tu16 handle;\n\tu64 sas_address_parent;\n\tu16 enclosure_handle;\n\tu64 enclosure_logical_id;\n\tu8 responding;\n\tu8 nr_phys_allocated;\n\tstruct hba_port *port;\n\tstruct _sas_phy *phy;\n\tstruct list_head sas_port_list;\n\tstruct sas_rphy *rphy;\n};\n\nstruct htb_rel_query {\n\tu16 buffer_rel_condition;\n\tu16 reserved;\n\tu32 trigger_type;\n\tu32 trigger_info_dwords[2];\n};\n\ntypedef u32 (*BASE_READ_REG)(const void *);\n\nstruct SL_WH_MASTER_TRIGGER_T {\n\tuint32_t MasterData;\n};\n\nstruct SL_WH_EVENT_TRIGGER_T {\n\tuint16_t EventValue;\n\tuint16_t LogEntryQualifier;\n};\n\nstruct SL_WH_EVENT_TRIGGERS_T {\n\tuint32_t ValidEntries;\n\tstruct SL_WH_EVENT_TRIGGER_T EventTriggerEntry[20];\n};\n\nstruct SL_WH_SCSI_TRIGGER_T {\n\tU8 ASCQ;\n\tU8 ASC;\n\tU8 SenseKey;\n\tU8 Reserved;\n};\n\nstruct SL_WH_SCSI_TRIGGERS_T {\n\tuint32_t ValidEntries;\n\tstruct SL_WH_SCSI_TRIGGER_T SCSITriggerEntry[20];\n};\n\nstruct SL_WH_MPI_TRIGGER_T {\n\tuint16_t IOCStatus;\n\tuint16_t Reserved;\n\tuint32_t IocLogInfo;\n};\n\nstruct SL_WH_MPI_TRIGGERS_T {\n\tuint32_t ValidEntries;\n\tstruct SL_WH_MPI_TRIGGER_T MPITriggerEntry[20];\n};\n\ntypedef void (*PUT_SMID_IO_FP_HIP)(struct MPT3SAS_ADAPTER *, u16, u16);\n\ntypedef void (*PUT_SMID_DEFAULT)(struct MPT3SAS_ADAPTER *, u16);\n\ntypedef u8 (*GET_MSIX_INDEX)(struct MPT3SAS_ADAPTER *, struct scsi_cmnd *);\n\nstruct _MPI2_SYSTEM_INTERFACE_REGS;\n\ntypedef struct _MPI2_SYSTEM_INTERFACE_REGS Mpi2SystemInterfaceRegs_t;\n\nstruct fw_event_work;\n\nstruct io_uring_poll_queue;\n\nstruct mpt3sas_port_facts;\n\nstruct pcie_sg_list;\n\nstruct chain_lookup;\n\nstruct request_tracker;\n\nstruct reply_post_struct;\n\nstruct _MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY;\n\ntypedef struct _MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY Mpi2IOCInitRDPQArrayEntry;\n\nstruct dentry;\n\nstruct MPT3SAS_ADAPTER {\n\tstruct list_head list;\n\tstruct Scsi_Host *shost;\n\tu8 id;\n\tint cpu_count;\n\tchar name[32];\n\tchar driver_name[24];\n\tchar tmp_string[64];\n\tstruct pci_dev *pdev;\n\tMpi2SystemInterfaceRegs_t *chip;\n\tphys_addr_t chip_phys;\n\tint logging_level;\n\tint fwfault_debug;\n\tu8 ir_firmware;\n\tint bars;\n\tu8 mask_interrupts;\n\tchar fault_reset_work_q_name[20];\n\tstruct workqueue_struct *fault_reset_work_q;\n\tstruct delayed_work fault_reset_work;\n\tstruct workqueue_struct *firmware_event_thread;\n\tspinlock_t fw_event_lock;\n\tstruct list_head fw_event_list;\n\tstruct fw_event_work *current_event;\n\tu8 fw_events_cleanup;\n\tint aen_event_read_flag;\n\tu8 broadcast_aen_busy;\n\tu16 broadcast_aen_pending;\n\tu8 shost_recovery;\n\tu8 got_task_abort_from_ioctl;\n\tstruct mutex reset_in_progress_mutex;\n\tstruct mutex hostdiag_unlock_mutex;\n\tspinlock_t ioc_reset_in_progress_lock;\n\tu8 ioc_link_reset_in_progress;\n\tu8 ignore_loginfos;\n\tu8 remove_host;\n\tu8 pci_error_recovery;\n\tu8 wait_for_discovery_to_complete;\n\tu8 is_driver_loading;\n\tu8 port_enable_failed;\n\tu8 start_scan;\n\tu16 start_scan_failed;\n\tu8 msix_enable;\n\tu16 msix_vector_count;\n\tu8 *cpu_msix_table;\n\tu16 cpu_msix_table_sz;\n\tresource_size_t **reply_post_host_index;\n\tu32 ioc_reset_count;\n\tMPT3SAS_FLUSH_RUNNING_CMDS schedule_dead_ioc_flush_running_cmds;\n\tu32 non_operational_loop;\n\tu8 ioc_coredump_loop;\n\tu32 timestamp_update_count;\n\tu32 time_sync_interval;\n\tatomic64_t total_io_cnt;\n\tatomic64_t high_iops_outstanding;\n\tbool msix_load_balance;\n\tu16 thresh_hold;\n\tu8 high_iops_queues;\n\tu8 iopoll_q_start_index;\n\tu32 drv_internal_flags;\n\tu32 drv_support_bitmap;\n\tu32 dma_mask;\n\tbool enable_sdev_max_qd;\n\tbool use_32bit_dma;\n\tstruct io_uring_poll_queue *io_uring_poll_queues;\n\tu8 scsi_io_cb_idx;\n\tu8 tm_cb_idx;\n\tu8 transport_cb_idx;\n\tu8 scsih_cb_idx;\n\tu8 ctl_cb_idx;\n\tu8 base_cb_idx;\n\tu8 port_enable_cb_idx;\n\tu8 config_cb_idx;\n\tu8 tm_tr_cb_idx;\n\tu8 tm_tr_volume_cb_idx;\n\tu8 tm_sas_control_cb_idx;\n\tstruct _internal_cmd base_cmds;\n\tstruct _internal_cmd port_enable_cmds;\n\tstruct _internal_cmd transport_cmds;\n\tstruct _internal_cmd scsih_cmds;\n\tstruct _internal_cmd tm_cmds;\n\tstruct _internal_cmd ctl_cmds;\n\tstruct _internal_cmd config_cmds;\n\tMPT_ADD_SGE base_add_sg_single;\n\tMPT_BUILD_SG_SCMD build_sg_scmd;\n\tMPT_BUILD_SG build_sg;\n\tMPT_BUILD_ZERO_LEN_SGE build_zero_len_sge;\n\tu16 sge_size_ieee;\n\tu16 hba_mpi_version_belonged;\n\tMPT_BUILD_SG build_sg_mpi;\n\tMPT_BUILD_ZERO_LEN_SGE build_zero_len_sge_mpi;\n\tNVME_BUILD_PRP build_nvme_prp;\n\tu32 event_type[4];\n\tu32 event_context;\n\tvoid *event_log;\n\tu32 event_masks[4];\n\tu8 tm_custom_handling;\n\tu8 nvme_abort_timeout;\n\tu16 max_shutdown_latency;\n\tu16 max_wideport_qd;\n\tu16 max_narrowport_qd;\n\tu16 max_nvme_qd;\n\tu8 max_sata_qd;\n\tstruct mpt3sas_facts facts;\n\tstruct mpt3sas_facts prev_fw_facts;\n\tstruct mpt3sas_port_facts *pfacts;\n\tMpi2ManufacturingPage0_t manu_pg0;\n\tstruct Mpi2ManufacturingPage10_t manu_pg10;\n\tstruct Mpi2ManufacturingPage11_t manu_pg11;\n\tMpi2BiosPage2_t bios_pg2;\n\tMpi2BiosPage3_t bios_pg3;\n\tMpi2IOCPage8_t ioc_pg8;\n\tMpi2IOUnitPage0_t iounit_pg0;\n\tMpi2IOUnitPage1_t iounit_pg1;\n\tMpi2IOCPage1_t ioc_pg1_copy;\n\tstruct _boot_device req_boot_device;\n\tstruct _boot_device req_alt_boot_device;\n\tstruct _boot_device current_boot_device;\n\tstruct _sas_node sas_hba;\n\tstruct list_head sas_expander_list;\n\tstruct list_head enclosure_list;\n\tspinlock_t sas_node_lock;\n\tstruct list_head sas_device_list;\n\tstruct list_head sas_device_init_list;\n\tspinlock_t sas_device_lock;\n\tstruct list_head pcie_device_list;\n\tstruct list_head pcie_device_init_list;\n\tspinlock_t pcie_device_lock;\n\tstruct list_head raid_device_list;\n\tspinlock_t raid_device_lock;\n\tu8 io_missing_delay;\n\tu16 device_missing_delay;\n\tint sas_id;\n\tint pcie_target_id;\n\tvoid *blocking_handles;\n\tvoid *pd_handles;\n\tu16 pd_handles_sz;\n\tvoid *pend_os_device_add;\n\tu16 pend_os_device_add_sz;\n\tu16 config_page_sz;\n\tvoid *config_page;\n\tdma_addr_t config_page_dma;\n\tvoid *config_vaddr;\n\tu16 hba_queue_depth;\n\tu16 sge_size;\n\tu16 scsiio_depth;\n\tu16 request_sz;\n\tu8 *request;\n\tdma_addr_t request_dma;\n\tu32 request_dma_sz;\n\tstruct pcie_sg_list *pcie_sg_lookup;\n\tspinlock_t scsi_lookup_lock;\n\tint pending_io_count;\n\twait_queue_head_t reset_wq;\n\tu16 *io_queue_num;\n\tstruct dma_pool *pcie_sgl_dma_pool;\n\tu32 page_size;\n\tstruct chain_lookup *chain_lookup;\n\tstruct list_head free_chain_list;\n\tstruct dma_pool *chain_dma_pool;\n\tulong chain_pages;\n\tu16 max_sges_in_main_message;\n\tu16 max_sges_in_chain_message;\n\tu16 chains_needed_per_io;\n\tu32 chain_depth;\n\tu16 chain_segment_sz;\n\tu16 chains_per_prp_buffer;\n\tu16 hi_priority_smid;\n\tu8 *hi_priority;\n\tdma_addr_t hi_priority_dma;\n\tu16 hi_priority_depth;\n\tstruct request_tracker *hpr_lookup;\n\tstruct list_head hpr_free_list;\n\tu16 internal_smid;\n\tu8 *internal;\n\tdma_addr_t internal_dma;\n\tu16 internal_depth;\n\tstruct request_tracker *internal_lookup;\n\tstruct list_head internal_free_list;\n\tu8 *sense;\n\tdma_addr_t sense_dma;\n\tstruct dma_pool *sense_dma_pool;\n\tu16 reply_sz;\n\tu8 *reply;\n\tdma_addr_t reply_dma;\n\tu32 reply_dma_max_address;\n\tu32 reply_dma_min_address;\n\tstruct dma_pool *reply_dma_pool;\n\tu16 reply_free_queue_depth;\n\t__le32 *reply_free;\n\tdma_addr_t reply_free_dma;\n\tstruct dma_pool *reply_free_dma_pool;\n\tu32 reply_free_host_index;\n\tu16 reply_post_queue_depth;\n\tstruct reply_post_struct *reply_post;\n\tu8 rdpq_array_capable;\n\tu8 rdpq_array_enable;\n\tu8 rdpq_array_enable_assigned;\n\tstruct dma_pool *reply_post_free_dma_pool;\n\tstruct dma_pool *reply_post_free_array_dma_pool;\n\tMpi2IOCInitRDPQArrayEntry *reply_post_free_array;\n\tdma_addr_t reply_post_free_array_dma;\n\tu8 reply_queue_count;\n\tstruct list_head reply_queue_list;\n\tu8 combined_reply_queue;\n\tu8 combined_reply_index_count;\n\tu8 smp_affinity_enable;\n\tresource_size_t **replyPostRegisterIndex;\n\tstruct list_head delayed_tr_list;\n\tstruct list_head delayed_tr_volume_list;\n\tstruct list_head delayed_sc_list;\n\tstruct list_head delayed_event_ack_list;\n\tu8 temp_sensors_count;\n\tstruct mutex pci_access_mutex;\n\tu8 *diag_buffer[3];\n\tu32 diag_buffer_sz[3];\n\tdma_addr_t diag_buffer_dma[3];\n\tu8 diag_buffer_status[3];\n\tu32 unique_id[3];\n\tu32 product_specific[69];\n\tu32 diagnostic_flags[3];\n\tu32 ring_buffer_offset;\n\tu32 ring_buffer_sz;\n\tstruct htb_rel_query htb_rel;\n\tu8 reset_from_user;\n\tu8 is_warpdrive;\n\tu8 is_mcpu_endpoint;\n\tu8 hide_ir_msg;\n\tu8 mfg_pg10_hide_flag;\n\tu8 hide_drives;\n\tspinlock_t diag_trigger_lock;\n\tu8 diag_trigger_active;\n\tu8 atomic_desc_capable;\n\tBASE_READ_REG base_readl;\n\tBASE_READ_REG base_readl_ext_retry;\n\tstruct SL_WH_MASTER_TRIGGER_T diag_trigger_master;\n\tstruct SL_WH_EVENT_TRIGGERS_T diag_trigger_event;\n\tstruct SL_WH_SCSI_TRIGGERS_T diag_trigger_scsi;\n\tstruct SL_WH_MPI_TRIGGERS_T diag_trigger_mpi;\n\tu8 supports_trigger_pages;\n\tvoid *device_remove_in_progress;\n\tu16 device_remove_in_progress_sz;\n\tu8 is_gen35_ioc;\n\tu8 is_aero_ioc;\n\tstruct dentry *debugfs_root;\n\tstruct dentry *ioc_dump;\n\tPUT_SMID_IO_FP_HIP put_smid_scsi_io;\n\tPUT_SMID_IO_FP_HIP put_smid_fast_path;\n\tPUT_SMID_IO_FP_HIP put_smid_hi_priority;\n\tPUT_SMID_DEFAULT put_smid_default;\n\tGET_MSIX_INDEX get_msix_index_for_smlio;\n\tu8 multipath_on_hba;\n\tstruct list_head port_table_list;\n};\n\nstruct MPT3SAS_TARGET;\n\nstruct MPT3SAS_DEVICE {\n\tstruct MPT3SAS_TARGET *sas_target;\n\tunsigned int lun;\n\tu32 flags;\n\tu8 configured_lun;\n\tu8 block;\n\tu8 tlr_snoop_check;\n\tu8 ignore_delay_remove;\n\tu8 ncq_prio_enable;\n\tlong unsigned int ata_command_pending;\n};\n\nstruct scsi_target;\n\nstruct _raid_device;\n\nstruct _sas_device;\n\nstruct MPT3SAS_TARGET {\n\tstruct scsi_target *starget;\n\tu64 sas_address;\n\tstruct _raid_device *raid_device;\n\tu16 handle;\n\tint num_luns;\n\tu32 flags;\n\tu8 deleted;\n\tu8 tm_busy;\n\tstruct hba_port *port;\n\tstruct _sas_device *sas_dev;\n\tstruct _pcie_device *pcie_dev;\n};\n\nstruct MPT3_IOCTL_EVENTS {\n\tuint32_t event;\n\tuint32_t context;\n\tuint8_t data[192];\n};\n\nstruct MR_ARRAY_INFO {\n\t__le16 pd[32];\n};\n\nstruct MR_CPU_AFFINITY_MASK {\n\tunion {\n\t\tstruct {\n\t\t\tu8 hw_path: 1;\n\t\t\tu8 cpu0: 1;\n\t\t\tu8 cpu1: 1;\n\t\t\tu8 cpu2: 1;\n\t\t\tu8 cpu3: 1;\n\t\t\tu8 reserved: 3;\n\t\t};\n\t\tu8 core_mask;\n\t};\n};\n\nstruct MR_CTRL_HB_HOST_MEM {\n\tstruct {\n\t\tu32 fwCounter;\n\t\tstruct {\n\t\t\tu32 debugmode: 1;\n\t\t\tu32 reserved: 31;\n\t\t} debug;\n\t\tu32 reserved_fw[6];\n\t\tu32 driverCounter;\n\t\tu32 reserved_driver[7];\n\t} HB;\n\tu8 pad[960];\n};\n\nstruct MR_DEV_HANDLE_INFO {\n\t__le16 curDevHdl;\n\tu8 validHandles;\n\tu8 interfaceType;\n\t__le16 devHandle[2];\n};\n\nstruct MR_IO_AFFINITY {\n\tunion {\n\t\tstruct {\n\t\t\tstruct MR_CPU_AFFINITY_MASK pdRead;\n\t\t\tstruct MR_CPU_AFFINITY_MASK pdWrite;\n\t\t\tstruct MR_CPU_AFFINITY_MASK ldRead;\n\t\t\tstruct MR_CPU_AFFINITY_MASK ldWrite;\n\t\t};\n\t\tu32 word;\n\t};\n\tu8 maxCores;\n\tu8 reserved[3];\n};\n\nstruct MR_LD_RAID {\n\tstruct {\n\t\tu32 fpCapable: 1;\n\t\tu32 ra_capable: 1;\n\t\tu32 reserved5: 2;\n\t\tu32 ldPiMode: 4;\n\t\tu32 pdPiMode: 4;\n\t\tu32 encryptionType: 8;\n\t\tu32 fpWriteCapable: 1;\n\t\tu32 fpReadCapable: 1;\n\t\tu32 fpWriteAcrossStripe: 1;\n\t\tu32 fpReadAcrossStripe: 1;\n\t\tu32 fpNonRWCapable: 1;\n\t\tu32 tmCapable: 1;\n\t\tu32 fpBypassRegionLock: 1;\n\t\tu32 disable_coalescing: 1;\n\t\tu32 fp_rmw_capable: 1;\n\t\tu32 fp_cache_bypass_capable: 1;\n\t\tu32 reserved4: 2;\n\t} capability;\n\t__le32 reserved6;\n\t__le64 size;\n\tu8 spanDepth;\n\tu8 level;\n\tu8 stripeShift;\n\tu8 rowSize;\n\tu8 rowDataSize;\n\tu8 writeMode;\n\tu8 PRL;\n\tu8 SRL;\n\t__le16 targetId;\n\tu8 ldState;\n\tu8 regTypeReqOnWrite;\n\tu8 modFactor;\n\tu8 regTypeReqOnRead;\n\t__le16 seqNum;\n\tstruct {\n\t\tu32 ldSyncRequired: 1;\n\t\tu32 regTypeReqOnReadIsValid: 1;\n\t\tu32 isEPD: 1;\n\t\tu32 enableSLDOnAllRWIOs: 1;\n\t\tu32 reserved: 28;\n\t} flags;\n\tu8 LUN[8];\n\tu8 fpIoTimeoutForLd;\n\tu8 ld_accept_priority_type;\n\tu8 reserved2[2];\n\tu32 logical_block_length;\n\tstruct {\n\t\tu32 ld_pi_exp: 4;\n\t\tu32 ld_logical_block_exp: 4;\n\t\tu32 reserved1: 24;\n\t};\n\tstruct MR_IO_AFFINITY cpuAffinity;\n\tu8 reserved3[64];\n};\n\nstruct MR_LD_SPAN {\n\t__le64 startBlk;\n\t__le64 numBlks;\n\t__le16 arrayRef;\n\tu8 spanRowSize;\n\tu8 spanRowDataSize;\n\tu8 reserved[4];\n};\n\nstruct MR_QUAD_ELEMENT {\n\t__le64 logStart;\n\t__le64 logEnd;\n\t__le64 offsetInSpan;\n\t__le32 diff;\n\t__le32 reserved1;\n};\n\nstruct MR_SPAN_INFO {\n\t__le32 noElements;\n\t__le32 reserved1;\n\tstruct MR_QUAD_ELEMENT quad[8];\n};\n\nstruct MR_SPAN_BLOCK_INFO {\n\t__le64 num_rows;\n\tstruct MR_LD_SPAN span;\n\tstruct MR_SPAN_INFO block_span_info;\n};\n\nstruct MR_LD_SPAN_MAP {\n\tstruct MR_LD_RAID ldRaid;\n\tu8 dataArmMap[32];\n\tstruct MR_SPAN_BLOCK_INFO spanBlock[8];\n};\n\nstruct MR_DRV_RAID_MAP {\n\t__le32 totalSize;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 maxLd;\n\t\t\t__le32 maxSpanDepth;\n\t\t\t__le32 maxRowSize;\n\t\t\t__le32 maxPdCount;\n\t\t\t__le32 maxArrays;\n\t\t} validationInfo;\n\t\t__le32 version[5];\n\t};\n\tu8 fpPdIoTimeoutSec;\n\tu8 reserved2[7];\n\t__le16 ldCount;\n\t__le16 arCount;\n\t__le16 spanCount;\n\t__le16 reserve3;\n\tstruct MR_DEV_HANDLE_INFO devHndlInfo[512];\n\tu16 ldTgtIdToLd[512];\n\tstruct MR_ARRAY_INFO arMapInfo[512];\n\tstruct MR_LD_SPAN_MAP ldSpanMap[0];\n};\n\nstruct MR_DRV_RAID_MAP_ALL {\n\tstruct MR_DRV_RAID_MAP raidMap;\n\tstruct MR_LD_SPAN_MAP ldSpanMap[512];\n};\n\nstruct MR_DRV_SYSTEM_INFO {\n\tu8 infoVersion;\n\tu8 systemIdLength;\n\tu16 reserved0;\n\tu8 systemId[64];\n\tu8 reserved[1980];\n};\n\nstruct MR_FW_RAID_MAP {\n\t__le32 totalSize;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 maxLd;\n\t\t\t__le32 maxSpanDepth;\n\t\t\t__le32 maxRowSize;\n\t\t\t__le32 maxPdCount;\n\t\t\t__le32 maxArrays;\n\t\t} validationInfo;\n\t\t__le32 version[5];\n\t};\n\t__le32 ldCount;\n\t__le32 Reserved1;\n\tu8 ldTgtIdToLd[128];\n\tu8 fpPdIoTimeoutSec;\n\tu8 reserved2[7];\n\tstruct MR_ARRAY_INFO arMapInfo[128];\n\tstruct MR_DEV_HANDLE_INFO devHndlInfo[256];\n\tstruct MR_LD_SPAN_MAP ldSpanMap[0];\n};\n\nstruct MR_FW_RAID_MAP_ALL {\n\tstruct MR_FW_RAID_MAP raidMap;\n\tstruct MR_LD_SPAN_MAP ldSpanMap[64];\n};\n\nstruct MR_RAID_MAP_DESC_TABLE {\n\tu32 raid_map_desc_type;\n\tu32 raid_map_desc_offset;\n\tu32 raid_map_desc_buffer_size;\n\tu32 raid_map_desc_elements;\n};\n\nstruct MR_FW_RAID_MAP_DYNAMIC {\n\tu32 raid_map_size;\n\tu32 desc_table_offset;\n\tu32 desc_table_size;\n\tu32 desc_table_num_elements;\n\tu64 reserved1;\n\tu32 reserved2[3];\n\tu8 fp_pd_io_timeout_sec;\n\tu8 reserved3[3];\n\tu32 rmw_fp_seq_num;\n\tu16 ld_count;\n\tu16 ar_count;\n\tu16 span_count;\n\tu16 reserved4[3];\n\tunion {\n\t\tstruct {\n\t\t\tstruct MR_DEV_HANDLE_INFO *dev_hndl_info;\n\t\t\tu16 *ld_tgt_id_to_ld;\n\t\t\tstruct MR_ARRAY_INFO *ar_map_info;\n\t\t\tstruct MR_LD_SPAN_MAP *ld_span_map;\n\t\t};\n\t\tu64 ptr_structure_size[4];\n\t};\n\tstruct MR_RAID_MAP_DESC_TABLE raid_map_desc_table[4];\n\tu32 raid_map_desc_data[0];\n};\n\nstruct MR_FW_RAID_MAP_EXT {\n\tu32 reserved;\n\tunion {\n\t\tstruct {\n\t\t\tu32 maxLd;\n\t\t\tu32 maxSpanDepth;\n\t\t\tu32 maxRowSize;\n\t\t\tu32 maxPdCount;\n\t\t\tu32 maxArrays;\n\t\t} validationInfo;\n\t\tu32 version[5];\n\t};\n\tu8 fpPdIoTimeoutSec;\n\tu8 reserved2[7];\n\t__le16 ldCount;\n\t__le16 arCount;\n\t__le16 spanCount;\n\t__le16 reserve3;\n\tstruct MR_DEV_HANDLE_INFO devHndlInfo[256];\n\tu8 ldTgtIdToLd[256];\n\tstruct MR_ARRAY_INFO arMapInfo[256];\n\tstruct MR_LD_SPAN_MAP ldSpanMap[256];\n};\n\nstruct MR_HOST_DEVICE_LIST_ENTRY {\n\tstruct {\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tu8 is_sys_pd: 1;\n\t\t\t\tu8 reserved: 7;\n\t\t\t} bits;\n\t\t\tu8 byte;\n\t\t} u;\n\t} flags;\n\tu8 scsi_type;\n\t__le16 target_id;\n\tu8 reserved[4];\n\t__le64 sas_addr[2];\n};\n\nstruct MR_HOST_DEVICE_LIST {\n\t__le32 size;\n\t__le32 count;\n\t__le32 reserved[2];\n\tstruct MR_HOST_DEVICE_LIST_ENTRY host_device_list[0];\n};\n\nunion MR_LD_REF {\n\tstruct {\n\t\tu8 targetId;\n\t\tu8 reserved;\n\t\t__le16 seqNum;\n\t};\n\t__le32 ref;\n};\n\nstruct MR_LD_LIST {\n\t__le32 ldCount;\n\t__le32 reserved;\n\tstruct {\n\t\tunion MR_LD_REF ref;\n\t\tu8 state;\n\t\tu8 reserved[3];\n\t\t__le64 size;\n\t} ldList[256];\n};\n\nstruct MR_LD_TARGETID_LIST {\n\t__le32 size;\n\t__le32 count;\n\tu8 pad[3];\n\tu8 targetId[256];\n};\n\nstruct MR_LD_TARGET_SYNC {\n\tu8 targetId;\n\tu8 reserved;\n\t__le16 seqNum;\n};\n\nstruct MR_LD_VF_MAP {\n\tu32 size;\n\tunion MR_LD_REF ref;\n\tu8 ldVfCount;\n\tu8 reserved[6];\n\tu8 policy[0];\n};\n\nstruct MR_LD_VF_AFFILIATION {\n\tu32 size;\n\tu8 ldCount;\n\tu8 vfCount;\n\tu8 thisVf;\n\tu8 reserved[9];\n\tstruct MR_LD_VF_MAP map[1];\n};\n\nstruct MR_LD_VF_MAP_111 {\n\tu8 targetId;\n\tu8 reserved[3];\n\tu8 policy[8];\n};\n\nstruct MR_LD_VF_AFFILIATION_111 {\n\tu8 vdCount;\n\tu8 vfCount;\n\tu8 thisVf;\n\tu8 reserved[5];\n\tstruct MR_LD_VF_MAP_111 map[64];\n};\n\nstruct MR_PD_ADDRESS {\n\t__le16 deviceId;\n\tu16 enclDeviceId;\n\tunion {\n\t\tstruct {\n\t\t\tu8 enclIndex;\n\t\t\tu8 slotNumber;\n\t\t} mrPdAddress;\n\t\tstruct {\n\t\t\tu8 enclPosition;\n\t\t\tu8 enclConnectorIndex;\n\t\t} mrEnclAddress;\n\t};\n\tu8 scsiDevType;\n\tunion {\n\t\tu8 connectedPortBitmap;\n\t\tu8 connectedPortNumbers;\n\t};\n\tu64 sasAddr[2];\n};\n\nstruct MR_PD_CFG_SEQ {\n\tu16 seqNum;\n\tu16 devHandle;\n\tstruct {\n\t\tu8 tmCapable: 1;\n\t\tu8 reserved: 7;\n\t} capability;\n\tu8 reserved;\n\tu16 pd_target_id;\n};\n\nstruct MR_PD_CFG_SEQ_NUM_SYNC {\n\t__le32 size;\n\t__le32 count;\n\tstruct MR_PD_CFG_SEQ seq[0];\n};\n\nunion MR_PD_DDF_TYPE {\n\tstruct {\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tu16 forcedPDGUID: 1;\n\t\t\t\tu16 inVD: 1;\n\t\t\t\tu16 isGlobalSpare: 1;\n\t\t\t\tu16 isSpare: 1;\n\t\t\t\tu16 isForeign: 1;\n\t\t\t\tu16 reserved: 7;\n\t\t\t\tu16 intf: 4;\n\t\t\t} pdType;\n\t\t\tu16 type;\n\t\t};\n\t\tu16 reserved;\n\t} ddf;\n\tstruct {\n\t\tu32 reserved;\n\t} nonDisk;\n\tu32 type;\n};\n\nunion MR_PD_REF {\n\tstruct {\n\t\tu16 deviceId;\n\t\tu16 seqNum;\n\t} mrPdRef;\n\tu32 ref;\n};\n\nunion MR_PROGRESS {\n\tstruct {\n\t\tu16 progress;\n\t\tunion {\n\t\t\tu16 elapsedSecs;\n\t\t\tu16 elapsedSecsForLastPercent;\n\t\t};\n\t} mrProgress;\n\tu32 w;\n};\n\nstruct MR_PD_PROGRESS {\n\tstruct {\n\t\tu32 rbld: 1;\n\t\tu32 patrol: 1;\n\t\tu32 clear: 1;\n\t\tu32 copyBack: 1;\n\t\tu32 erase: 1;\n\t\tu32 locate: 1;\n\t\tu32 reserved: 26;\n\t} active;\n\tunion MR_PROGRESS rbld;\n\tunion MR_PROGRESS patrol;\n\tunion {\n\t\tunion MR_PROGRESS clear;\n\t\tunion MR_PROGRESS erase;\n\t};\n\tstruct {\n\t\tu32 rbld: 1;\n\t\tu32 patrol: 1;\n\t\tu32 clear: 1;\n\t\tu32 copyBack: 1;\n\t\tu32 erase: 1;\n\t\tu32 reserved: 27;\n\t} pause;\n\tunion MR_PROGRESS reserved[3];\n};\n\nstruct MR_PD_INFO {\n\tunion MR_PD_REF ref;\n\tu8 inquiryData[96];\n\tu8 vpdPage83[64];\n\tu8 notSupported;\n\tu8 scsiDevType;\n\tunion {\n\t\tu8 connectedPortBitmap;\n\t\tu8 connectedPortNumbers;\n\t};\n\tu8 deviceSpeed;\n\tu32 mediaErrCount;\n\tu32 otherErrCount;\n\tu32 predFailCount;\n\tu32 lastPredFailEventSeqNum;\n\tu16 fwState;\n\tu8 disabledForRemoval;\n\tu8 linkSpeed;\n\tunion MR_PD_DDF_TYPE state;\n\tstruct {\n\t\tu8 count;\n\t\tu8 isPathBroken: 4;\n\t\tu8 reserved3: 3;\n\t\tu8 widePortCapable: 1;\n\t\tu8 connectorIndex[2];\n\t\tu8 reserved[4];\n\t\tu64 sasAddr[2];\n\t\tu8 reserved2[16];\n\t} pathInfo;\n\tu64 rawSize;\n\tu64 nonCoercedSize;\n\tu64 coercedSize;\n\tu16 enclDeviceId;\n\tu8 enclIndex;\n\tunion {\n\t\tu8 slotNumber;\n\t\tu8 enclConnectorIndex;\n\t};\n\tstruct MR_PD_PROGRESS progInfo;\n\tu8 badBlockTableFull;\n\tu8 unusableInCurrentConfig;\n\tu8 vpdPage83Ext[64];\n\tu8 powerState;\n\tu8 enclPosition;\n\tu32 allowedOps;\n\tu16 copyBackPartnerId;\n\tu16 enclPartnerDeviceId;\n\tstruct {\n\t\tu16 fdeCapable: 1;\n\t\tu16 fdeEnabled: 1;\n\t\tu16 secured: 1;\n\t\tu16 locked: 1;\n\t\tu16 foreign: 1;\n\t\tu16 needsEKM: 1;\n\t\tu16 reserved: 10;\n\t} security;\n\tu8 mediaType;\n\tu8 notCertified;\n\tu8 bridgeVendor[8];\n\tu8 bridgeProductIdentification[16];\n\tu8 bridgeProductRevisionLevel[4];\n\tu8 satBridgeExists;\n\tu8 interfaceType;\n\tu8 temperature;\n\tu8 emulatedBlockSize;\n\tu16 userDataBlockSize;\n\tu16 reserved2;\n\tstruct {\n\t\tu32 piType: 3;\n\t\tu32 piFormatted: 1;\n\t\tu32 piEligible: 1;\n\t\tu32 NCQ: 1;\n\t\tu32 WCE: 1;\n\t\tu32 commissionedSpare: 1;\n\t\tu32 emergencySpare: 1;\n\t\tu32 ineligibleForSSCD: 1;\n\t\tu32 ineligibleForLd: 1;\n\t\tu32 useSSEraseType: 1;\n\t\tu32 wceUnchanged: 1;\n\t\tu32 supportScsiUnmap: 1;\n\t\tu32 reserved: 18;\n\t} properties;\n\tu64 shieldDiagCompletionTime;\n\tu8 shieldCounter;\n\tu8 linkSpeedOther;\n\tu8 reserved4[2];\n\tstruct {\n\t\tu32 bbmErrCountSupported: 1;\n\t\tu32 bbmErrCount: 31;\n\t} bbmErr;\n\tu8 reserved1[84];\n} __attribute__((packed));\n\nstruct MR_PD_LIST {\n\t__le32 size;\n\t__le32 count;\n\tstruct MR_PD_ADDRESS addr[1];\n};\n\nstruct MR_PRIV_DEVICE {\n\tbool is_tm_capable;\n\tbool tm_busy;\n\tatomic_t sdev_priv_busy;\n\tatomic_t r1_ldio_hint;\n\tu8 interface_type;\n\tu8 task_abort_tmo;\n\tu8 target_reset_tmo;\n};\n\nstruct MR_SNAPDUMP_PROPERTIES {\n\tu8 offload_num;\n\tu8 max_num_supported;\n\tu8 cur_num_supported;\n\tu8 trigger_min_num_sec_before_ocr;\n\tu8 reserved[12];\n};\n\nstruct MR_TARGET_PROPERTIES {\n\tu32 max_io_size_kb;\n\tu32 device_qdepth;\n\tu32 sector_size;\n\tu8 reset_tmo;\n\tu8 reserved[499];\n};\n\nstruct MR_TM_REQUEST {\n\tchar request[128];\n};\n\nstruct MR_TM_REPLY {\n\tchar reply[128];\n};\n\nstruct MR_TASK_MANAGE_REQUEST {\n\tstruct MR_TM_REQUEST TmRequest;\n\tunion {\n\t\tstruct {\n\t\t\tu32 isTMForLD: 1;\n\t\t\tu32 isTMForPD: 1;\n\t\t\tu32 reserved1: 30;\n\t\t\tu32 reserved2;\n\t\t} tmReqFlags;\n\t\tstruct MR_TM_REPLY TMReply;\n\t};\n};\n\nstruct sk_buff;\n\nstruct sk_buff_list {\n\tstruct sk_buff *next;\n\tstruct sk_buff *prev;\n};\n\nstruct sk_buff_head {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *next;\n\t\t\tstruct sk_buff *prev;\n\t\t};\n\t\tstruct sk_buff_list list;\n\t};\n\t__u32 qlen;\n\tspinlock_t lock;\n};\n\nstruct qdisc_skb_head {\n\tstruct sk_buff *head;\n\tstruct sk_buff *tail;\n\t__u32 qlen;\n\tspinlock_t lock;\n};\n\nstruct u64_stats_sync {};\n\nstruct gnet_stats_basic_sync {\n\tu64_stats_t bytes;\n\tu64_stats_t packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct gnet_stats_queue {\n\t__u32 qlen;\n\t__u32 backlog;\n\t__u32 drops;\n\t__u32 requeues;\n\t__u32 overlimits;\n};\n\nstruct callback_head {\n\tstruct callback_head *next;\n\tvoid (*func)(struct callback_head *);\n};\n\nstruct lock_class_key {};\n\nstruct Qdisc_ops;\n\nstruct qdisc_size_table;\n\nstruct netdev_queue;\n\nstruct net_rate_estimator;\n\nstruct Qdisc {\n\tint (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **);\n\tstruct sk_buff * (*dequeue)(struct Qdisc *);\n\tunsigned int flags;\n\tu32 limit;\n\tconst struct Qdisc_ops *ops;\n\tstruct qdisc_size_table *stab;\n\tstruct hlist_node hash;\n\tu32 handle;\n\tu32 parent;\n\tstruct netdev_queue *dev_queue;\n\tstruct net_rate_estimator *rate_est;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tint pad;\n\trefcount_t refcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sk_buff_head gso_skb;\n\tstruct qdisc_skb_head q;\n\tstruct gnet_stats_basic_sync bstats;\n\tstruct gnet_stats_queue qstats;\n\tint owner;\n\tlong unsigned int state;\n\tlong unsigned int state2;\n\tstruct Qdisc *next_sched;\n\tstruct sk_buff_head skb_bad_txq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t busylock;\n\tspinlock_t seqlock;\n\tstruct callback_head rcu;\n\tnetdevice_tracker dev_tracker;\n\tstruct lock_class_key root_lock_key;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong int privdata[0];\n};\n\nstruct Qdisc_class_common {\n\tu32 classid;\n\tunsigned int filter_cnt;\n\tstruct hlist_node hnode;\n};\n\nstruct hlist_head;\n\nstruct Qdisc_class_hash {\n\tstruct hlist_head *hash;\n\tunsigned int hashsize;\n\tunsigned int hashmask;\n\tunsigned int hashelems;\n};\n\nstruct tcmsg;\n\nstruct netlink_ext_ack;\n\nstruct nlattr;\n\nstruct qdisc_walker;\n\nstruct tcf_block;\n\nstruct gnet_dump;\n\nstruct Qdisc_class_ops {\n\tunsigned int flags;\n\tstruct netdev_queue * (*select_queue)(struct Qdisc *, struct tcmsg *);\n\tint (*graft)(struct Qdisc *, long unsigned int, struct Qdisc *, struct Qdisc **, struct netlink_ext_ack *);\n\tstruct Qdisc * (*leaf)(struct Qdisc *, long unsigned int);\n\tvoid (*qlen_notify)(struct Qdisc *, long unsigned int);\n\tlong unsigned int (*find)(struct Qdisc *, u32);\n\tint (*change)(struct Qdisc *, u32, u32, struct nlattr **, long unsigned int *, struct netlink_ext_ack *);\n\tint (*delete)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *);\n\tvoid (*walk)(struct Qdisc *, struct qdisc_walker *);\n\tstruct tcf_block * (*tcf_block)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *);\n\tlong unsigned int (*bind_tcf)(struct Qdisc *, long unsigned int, u32);\n\tvoid (*unbind_tcf)(struct Qdisc *, long unsigned int);\n\tint (*dump)(struct Qdisc *, long unsigned int, struct sk_buff *, struct tcmsg *);\n\tint (*dump_stats)(struct Qdisc *, long unsigned int, struct gnet_dump *);\n};\n\nstruct module;\n\nstruct Qdisc_ops {\n\tstruct Qdisc_ops *next;\n\tconst struct Qdisc_class_ops *cl_ops;\n\tchar id[16];\n\tint priv_size;\n\tunsigned int static_flags;\n\tint (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **);\n\tstruct sk_buff * (*dequeue)(struct Qdisc *);\n\tstruct sk_buff * (*peek)(struct Qdisc *);\n\tint (*init)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *);\n\tvoid (*reset)(struct Qdisc *);\n\tvoid (*destroy)(struct Qdisc *);\n\tint (*change)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *);\n\tvoid (*attach)(struct Qdisc *);\n\tint (*change_tx_queue_len)(struct Qdisc *, unsigned int);\n\tvoid (*change_real_num_tx)(struct Qdisc *, unsigned int);\n\tint (*dump)(struct Qdisc *, struct sk_buff *);\n\tint (*dump_stats)(struct Qdisc *, struct gnet_dump *);\n\tvoid (*ingress_block_set)(struct Qdisc *, u32);\n\tvoid (*egress_block_set)(struct Qdisc *, u32);\n\tu32 (*ingress_block_get)(struct Qdisc *);\n\tu32 (*egress_block_get)(struct Qdisc *);\n\tstruct module *owner;\n};\n\nstruct RR_CL_s {\n\t__u8 location[8];\n};\n\nstruct RR_NM_s {\n\t__u8 flags;\n\tchar name[0];\n};\n\nstruct RR_PL_s {\n\t__u8 location[8];\n};\n\nstruct RR_PN_s {\n\t__u8 dev_high[8];\n\t__u8 dev_low[8];\n};\n\nstruct RR_PX_s {\n\t__u8 mode[8];\n\t__u8 n_links[8];\n\t__u8 uid[8];\n\t__u8 gid[8];\n};\n\nstruct RR_RR_s {\n\t__u8 flags[1];\n};\n\nstruct SL_component {\n\t__u8 flags;\n\t__u8 len;\n\t__u8 text[0];\n};\n\nstruct RR_SL_s {\n\t__u8 flags;\n\tstruct SL_component link;\n};\n\nstruct stamp {\n\t__u8 time[7];\n};\n\nstruct RR_TF_s {\n\t__u8 flags;\n\tstruct stamp times[0];\n};\n\nstruct RR_ZF_s {\n\t__u8 algorithm[2];\n\t__u8 parms[2];\n\t__u8 real_size[8];\n};\n\nstruct RxDesc {\n\t__le32 opts1;\n\t__le32 opts2;\n\t__le64 addr;\n};\n\nstruct SL_WH_TRIGGERS_EVENT_DATA_T {\n\tuint32_t trigger_type;\n\tunion {\n\t\tstruct SL_WH_MASTER_TRIGGER_T master;\n\t\tstruct SL_WH_EVENT_TRIGGER_T event;\n\t\tstruct SL_WH_SCSI_TRIGGER_T scsi;\n\t\tstruct SL_WH_MPI_TRIGGER_T mpi;\n\t} u;\n};\n\nstruct SU_CE_s {\n\t__u8 extent[8];\n\t__u8 offset[8];\n\t__u8 size[8];\n};\n\nstruct SU_ER_s {\n\t__u8 len_id;\n\t__u8 len_des;\n\t__u8 len_src;\n\t__u8 ext_ver;\n\t__u8 data[0];\n};\n\nstruct SU_SP_s {\n\t__u8 magic[2];\n\t__u8 skip;\n};\n\nstruct kref {\n\trefcount_t refcount;\n};\n\nstruct blk_mq_queue_map {\n\tunsigned int *mq_map;\n\tunsigned int nr_queues;\n\tunsigned int queue_offset;\n};\n\nstruct blk_mq_ops;\n\nstruct blk_mq_tags;\n\nstruct blk_mq_tag_set {\n\tconst struct blk_mq_ops *ops;\n\tstruct blk_mq_queue_map map[3];\n\tunsigned int nr_maps;\n\tunsigned int nr_hw_queues;\n\tunsigned int queue_depth;\n\tunsigned int reserved_tags;\n\tunsigned int cmd_size;\n\tint numa_node;\n\tunsigned int timeout;\n\tunsigned int flags;\n\tvoid *driver_data;\n\tstruct blk_mq_tags **tags;\n\tstruct blk_mq_tags *shared_tags;\n\tstruct mutex tag_list_lock;\n\tstruct list_head tag_list;\n\tstruct srcu_struct *srcu;\n};\n\nstruct kset;\n\nstruct kobj_type;\n\nstruct kernfs_node;\n\nstruct kobject {\n\tconst char *name;\n\tstruct list_head entry;\n\tstruct kobject *parent;\n\tstruct kset *kset;\n\tconst struct kobj_type *ktype;\n\tstruct kernfs_node *sd;\n\tstruct kref kref;\n\tunsigned int state_initialized: 1;\n\tunsigned int state_in_sysfs: 1;\n\tunsigned int state_add_uevent_sent: 1;\n\tunsigned int state_remove_uevent_sent: 1;\n\tunsigned int uevent_suppress: 1;\n};\n\nstruct dev_links_info {\n\tstruct list_head suppliers;\n\tstruct list_head consumers;\n\tstruct list_head defer_sync;\n\tenum dl_dev_state status;\n};\n\nstruct pm_message {\n\tint event;\n};\n\ntypedef struct pm_message pm_message_t;\n\nstruct rb_node {\n\tlong unsigned int __rb_parent_color;\n\tstruct rb_node *rb_right;\n\tstruct rb_node *rb_left;\n};\n\nstruct timerqueue_node {\n\tstruct rb_node node;\n\tktime_t expires;\n};\n\nstruct hrtimer_clock_base;\n\nstruct hrtimer {\n\tstruct timerqueue_node node;\n\tktime_t _softexpires;\n\tenum hrtimer_restart (*function)(struct hrtimer *);\n\tstruct hrtimer_clock_base *base;\n\tu8 state;\n\tu8 is_rel;\n\tu8 is_soft;\n\tu8 is_hard;\n};\n\nstruct wakeup_source;\n\nstruct wake_irq;\n\nstruct pm_subsys_data;\n\nstruct dev_pm_qos;\n\nstruct dev_pm_info {\n\tpm_message_t power_state;\n\tbool can_wakeup: 1;\n\tbool async_suspend: 1;\n\tbool in_dpm_list: 1;\n\tbool is_prepared: 1;\n\tbool is_suspended: 1;\n\tbool is_noirq_suspended: 1;\n\tbool is_late_suspended: 1;\n\tbool no_pm: 1;\n\tbool early_init: 1;\n\tbool direct_complete: 1;\n\tu32 driver_flags;\n\tspinlock_t lock;\n\tstruct list_head entry;\n\tstruct completion completion;\n\tstruct wakeup_source *wakeup;\n\tbool wakeup_path: 1;\n\tbool syscore: 1;\n\tbool no_pm_callbacks: 1;\n\tbool async_in_progress: 1;\n\tbool must_resume: 1;\n\tbool set_active: 1;\n\tbool may_skip_resume: 1;\n\tstruct hrtimer suspend_timer;\n\tu64 timer_expires;\n\tstruct work_struct work;\n\twait_queue_head_t wait_queue;\n\tstruct wake_irq *wakeirq;\n\tatomic_t usage_count;\n\tatomic_t child_count;\n\tunsigned int disable_depth: 3;\n\tbool idle_notification: 1;\n\tbool request_pending: 1;\n\tbool deferred_resume: 1;\n\tbool needs_force_resume: 1;\n\tbool runtime_auto: 1;\n\tbool ignore_children: 1;\n\tbool no_callbacks: 1;\n\tbool irq_safe: 1;\n\tbool use_autosuspend: 1;\n\tbool timer_autosuspends: 1;\n\tbool memalloc_noio: 1;\n\tunsigned int links_count;\n\tenum rpm_request request;\n\tenum rpm_status runtime_status;\n\tenum rpm_status last_status;\n\tint runtime_error;\n\tint autosuspend_delay;\n\tu64 last_busy;\n\tu64 active_time;\n\tu64 suspended_time;\n\tu64 accounting_timestamp;\n\tstruct pm_subsys_data *subsys_data;\n\tvoid (*set_latency_tolerance)(struct device *, s32);\n\tstruct dev_pm_qos *qos;\n};\n\nstruct irq_domain;\n\nstruct msi_device_data;\n\nstruct dev_msi_info {\n\tstruct irq_domain *domain;\n\tstruct msi_device_data *data;\n};\n\nstruct dev_archdata {};\n\nstruct device_private;\n\nstruct device_type;\n\nstruct bus_type;\n\nstruct device_driver;\n\nstruct dev_pm_domain;\n\nstruct dev_pin_info;\n\nstruct bus_dma_region;\n\nstruct device_dma_parameters;\n\nstruct dma_coherent_mem;\n\nstruct cma;\n\nstruct io_tlb_mem;\n\nstruct device_node;\n\nstruct fwnode_handle;\n\nstruct class;\n\nstruct attribute_group;\n\nstruct iommu_group;\n\nstruct dev_iommu;\n\nstruct device_physical_location;\n\nstruct device {\n\tstruct kobject kobj;\n\tstruct device *parent;\n\tstruct device_private *p;\n\tconst char *init_name;\n\tconst struct device_type *type;\n\tconst struct bus_type *bus;\n\tstruct device_driver *driver;\n\tvoid *platform_data;\n\tvoid *driver_data;\n\tstruct mutex mutex;\n\tstruct dev_links_info links;\n\tstruct dev_pm_info power;\n\tstruct dev_pm_domain *pm_domain;\n\tstruct dev_pin_info *pins;\n\tstruct dev_msi_info msi;\n\tu64 *dma_mask;\n\tu64 coherent_dma_mask;\n\tu64 bus_dma_limit;\n\tconst struct bus_dma_region *dma_range_map;\n\tstruct device_dma_parameters *dma_parms;\n\tstruct list_head dma_pools;\n\tstruct dma_coherent_mem *dma_mem;\n\tstruct cma *cma_area;\n\tstruct io_tlb_mem *dma_io_tlb_mem;\n\tstruct dev_archdata archdata;\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tint numa_node;\n\tdev_t devt;\n\tu32 id;\n\tspinlock_t devres_lock;\n\tstruct list_head devres_head;\n\tconst struct class *class;\n\tconst struct attribute_group **groups;\n\tvoid (*release)(struct device *);\n\tstruct iommu_group *iommu_group;\n\tstruct dev_iommu *iommu;\n\tstruct device_physical_location *physical_location;\n\tenum device_removable removable;\n\tbool offline_disabled: 1;\n\tbool offline: 1;\n\tbool of_node_reused: 1;\n\tbool state_synced: 1;\n\tbool can_match: 1;\n\tbool dma_skip_sync: 1;\n};\n\nstruct scsi_host_template;\n\nstruct scsi_transport_template;\n\nstruct Scsi_Host {\n\tstruct list_head __devices;\n\tstruct list_head __targets;\n\tstruct list_head starved_list;\n\tspinlock_t default_lock;\n\tspinlock_t *host_lock;\n\tstruct mutex scan_mutex;\n\tstruct list_head eh_abort_list;\n\tstruct list_head eh_cmd_q;\n\tstruct task_struct *ehandler;\n\tstruct completion *eh_action;\n\twait_queue_head_t host_wait;\n\tconst struct scsi_host_template *hostt;\n\tstruct scsi_transport_template *transportt;\n\tstruct kref tagset_refcnt;\n\tstruct completion tagset_freed;\n\tstruct blk_mq_tag_set tag_set;\n\tatomic_t host_blocked;\n\tunsigned int host_failed;\n\tunsigned int host_eh_scheduled;\n\tunsigned int host_no;\n\tint eh_deadline;\n\tlong unsigned int last_reset;\n\tunsigned int max_channel;\n\tunsigned int max_id;\n\tu64 max_lun;\n\tunsigned int unique_id;\n\tshort unsigned int max_cmd_len;\n\tint this_id;\n\tint can_queue;\n\tshort int cmd_per_lun;\n\tshort unsigned int sg_tablesize;\n\tshort unsigned int sg_prot_tablesize;\n\tunsigned int max_sectors;\n\tunsigned int opt_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int dma_alignment;\n\tlong unsigned int dma_boundary;\n\tlong unsigned int virt_boundary_mask;\n\tunsigned int nr_hw_queues;\n\tunsigned int nr_maps;\n\tunsigned int active_mode: 2;\n\tunsigned int host_self_blocked: 1;\n\tunsigned int reverse_ordering: 1;\n\tunsigned int tmf_in_progress: 1;\n\tunsigned int async_scan: 1;\n\tunsigned int eh_noresume: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int host_tagset: 1;\n\tunsigned int queuecommand_may_block: 1;\n\tunsigned int short_inquiry: 1;\n\tunsigned int no_scsi2_lun_in_cdb: 1;\n\tunsigned int no_highmem: 1;\n\tstruct workqueue_struct *work_q;\n\tstruct workqueue_struct *tmf_work_q;\n\tunsigned int max_host_blocked;\n\tunsigned int prot_capabilities;\n\tunsigned char prot_guard_type;\n\tlong unsigned int base;\n\tlong unsigned int io_port;\n\tunsigned char n_io_port;\n\tunsigned char dma_channel;\n\tunsigned int irq;\n\tenum scsi_host_state shost_state;\n\tstruct device shost_gendev;\n\tstruct device shost_dev;\n\tvoid *shost_data;\n\tstruct device *dma_dev;\n\tint rpm_autosuspend_delay;\n\tlong unsigned int hostdata[0];\n};\n\nstruct TxDesc {\n\t__le32 opts1;\n\t__le32 opts2;\n\t__le64 addr;\n};\n\nstruct ZSTD_CCtx_params_s {\n\tZSTD_format_e format;\n\tZSTD_compressionParameters cParams;\n\tZSTD_frameParameters fParams;\n\tint compressionLevel;\n\tint forceWindow;\n\tsize_t targetCBlockSize;\n\tint srcSizeHint;\n\tZSTD_dictAttachPref_e attachDictPref;\n\tZSTD_paramSwitch_e literalCompressionMode;\n\tint nbWorkers;\n\tsize_t jobSize;\n\tint overlapLog;\n\tint rsyncable;\n\tldmParams_t ldmParams;\n\tint enableDedicatedDictSearch;\n\tZSTD_bufferMode_e inBufferMode;\n\tZSTD_bufferMode_e outBufferMode;\n\tZSTD_sequenceFormat_e blockDelimiters;\n\tint validateSequences;\n\tZSTD_paramSwitch_e useBlockSplitter;\n\tZSTD_paramSwitch_e useRowMatchFinder;\n\tint deterministicRefPrefix;\n\tZSTD_customMem customMem;\n};\n\ntypedef struct ZSTD_CCtx_params_s ZSTD_CCtx_params;\n\nstruct xxh64_state {\n\tuint64_t total_len;\n\tuint64_t v1;\n\tuint64_t v2;\n\tuint64_t v3;\n\tuint64_t v4;\n\tuint64_t mem64[4];\n\tuint32_t memsize;\n};\n\nstruct POOL_ctx_s;\n\ntypedef struct POOL_ctx_s ZSTD_threadPool;\n\nstruct ZSTD_inBuffer_s {\n\tconst void *src;\n\tsize_t size;\n\tsize_t pos;\n};\n\ntypedef struct ZSTD_inBuffer_s ZSTD_inBuffer;\n\nstruct ZSTD_prefixDict_s {\n\tconst void *dict;\n\tsize_t dictSize;\n\tZSTD_dictContentType_e dictContentType;\n};\n\ntypedef struct ZSTD_prefixDict_s ZSTD_prefixDict;\n\nstruct ZSTD_CCtx_s {\n\tZSTD_compressionStage_e stage;\n\tint cParamsChanged;\n\tint bmi2;\n\tZSTD_CCtx_params requestedParams;\n\tZSTD_CCtx_params appliedParams;\n\tZSTD_CCtx_params simpleApiParams;\n\tU32 dictID;\n\tsize_t dictContentSize;\n\tZSTD_cwksp workspace;\n\tsize_t blockSize;\n\tlong long unsigned int pledgedSrcSizePlusOne;\n\tlong long unsigned int consumedSrcSize;\n\tlong long unsigned int producedCSize;\n\tstruct xxh64_state xxhState;\n\tZSTD_customMem customMem;\n\tZSTD_threadPool *pool;\n\tsize_t staticSize;\n\tSeqCollector seqCollector;\n\tint isFirstBlock;\n\tint initialized;\n\tseqStore_t seqStore;\n\tldmState_t ldmState;\n\trawSeq *ldmSequences;\n\tsize_t maxNbLdmSequences;\n\trawSeqStore_t externSeqStore;\n\tZSTD_blockState_t blockState;\n\tU32 *entropyWorkspace;\n\tZSTD_buffered_policy_e bufferedPolicy;\n\tchar *inBuff;\n\tsize_t inBuffSize;\n\tsize_t inToCompress;\n\tsize_t inBuffPos;\n\tsize_t inBuffTarget;\n\tchar *outBuff;\n\tsize_t outBuffSize;\n\tsize_t outBuffContentSize;\n\tsize_t outBuffFlushedSize;\n\tZSTD_cStreamStage streamStage;\n\tU32 frameEnded;\n\tZSTD_inBuffer expectedInBuffer;\n\tsize_t expectedOutBufferSize;\n\tZSTD_localDict localDict;\n\tconst ZSTD_CDict *cdict;\n\tZSTD_prefixDict prefixDict;\n\tZSTD_blockSplitCtx blockSplitCtx;\n};\n\ntypedef struct ZSTD_CCtx_s ZSTD_CCtx;\n\ntypedef ZSTD_CCtx ZSTD_CStream;\n\ntypedef ZSTD_CCtx zstd_cctx;\n\ntypedef ZSTD_CStream zstd_cstream;\n\nstruct ZSTD_CDict_s {\n\tconst void *dictContent;\n\tsize_t dictContentSize;\n\tZSTD_dictContentType_e dictContentType;\n\tU32 *entropyWorkspace;\n\tZSTD_cwksp workspace;\n\tZSTD_matchState_t matchState;\n\tZSTD_compressedBlockState_t cBlockState;\n\tZSTD_customMem customMem;\n\tU32 dictID;\n\tint compressionLevel;\n\tZSTD_paramSwitch_e useRowMatchFinder;\n};\n\ntypedef ZSTD_CDict zstd_cdict;\n\nstruct ZSTD_outBuffer_s {\n\tvoid *dst;\n\tsize_t size;\n\tsize_t pos;\n};\n\ntypedef struct ZSTD_outBuffer_s ZSTD_outBuffer;\n\nstruct ZSTD_DCtx_s {\n\tconst ZSTD_seqSymbol *LLTptr;\n\tconst ZSTD_seqSymbol *MLTptr;\n\tconst ZSTD_seqSymbol *OFTptr;\n\tconst HUF_DTable *HUFptr;\n\tZSTD_entropyDTables_t entropy;\n\tU32 workspace[640];\n\tconst void *previousDstEnd;\n\tconst void *prefixStart;\n\tconst void *virtualStart;\n\tconst void *dictEnd;\n\tsize_t expected;\n\tZSTD_frameHeader fParams;\n\tU64___2 processedCSize;\n\tU64___2 decodedSize;\n\tblockType_e bType;\n\tZSTD_dStage stage;\n\tU32 litEntropy;\n\tU32 fseEntropy;\n\tstruct xxh64_state xxhState;\n\tsize_t headerSize;\n\tZSTD_format_e format;\n\tZSTD_forceIgnoreChecksum_e forceIgnoreChecksum;\n\tU32 validateChecksum;\n\tconst BYTE *litPtr;\n\tZSTD_customMem customMem;\n\tsize_t litSize;\n\tsize_t rleSize;\n\tsize_t staticSize;\n\tZSTD_DDict *ddictLocal;\n\tconst ZSTD_DDict *ddict;\n\tU32 dictID;\n\tint ddictIsCold;\n\tZSTD_dictUses_e dictUses;\n\tZSTD_DDictHashSet *ddictSet;\n\tZSTD_refMultipleDDicts_e refMultipleDDicts;\n\tZSTD_dStreamStage streamStage;\n\tchar *inBuff;\n\tsize_t inBuffSize;\n\tsize_t inPos;\n\tsize_t maxWindowSize;\n\tchar *outBuff;\n\tsize_t outBuffSize;\n\tsize_t outStart;\n\tsize_t outEnd;\n\tsize_t lhSize;\n\tU32 hostageByte;\n\tint noForwardProgress;\n\tZSTD_bufferMode_e outBufferMode;\n\tZSTD_outBuffer expectedOutBuffer;\n\tBYTE *litBuffer;\n\tconst BYTE *litBufferEnd;\n\tZSTD_litLocation_e litBufferLocation;\n\tBYTE litExtraBuffer[65568];\n\tBYTE headerBuffer[18];\n\tsize_t oversizedDuration;\n};\n\ntypedef struct ZSTD_DCtx_s ZSTD_DCtx;\n\ntypedef ZSTD_DCtx ZSTD_DStream;\n\ntypedef ZSTD_DCtx zstd_dctx;\n\ntypedef ZSTD_DStream zstd_dstream;\n\nstruct ZSTD_DDict_s {\n\tvoid *dictBuffer;\n\tconst void *dictContent;\n\tsize_t dictSize;\n\tZSTD_entropyDTables_t entropy;\n\tU32 dictID;\n\tU32 entropyPresent;\n\tZSTD_customMem cMem;\n};\n\ntypedef ZSTD_DDict zstd_ddict;\n\ntypedef ZSTD_inBuffer zstd_in_buffer;\n\ntypedef ZSTD_outBuffer zstd_out_buffer;\n\nunion _MFI_CAPABILITIES {\n\tstruct {\n\t\tu32 support_fp_remote_lun: 1;\n\t\tu32 support_additional_msix: 1;\n\t\tu32 support_fastpath_wb: 1;\n\t\tu32 support_max_255lds: 1;\n\t\tu32 support_ndrive_r1_lb: 1;\n\t\tu32 support_core_affinity: 1;\n\t\tu32 security_protocol_cmds_fw: 1;\n\t\tu32 support_ext_queue_depth: 1;\n\t\tu32 support_ext_io_size: 1;\n\t\tu32 support_vfid_in_ioframe: 1;\n\t\tu32 support_fp_rlbypass: 1;\n\t\tu32 support_qd_throttling: 1;\n\t\tu32 support_pd_map_target_id: 1;\n\t\tu32 support_64bit_mode: 1;\n\t\tu32 support_nvme_passthru: 1;\n\t\tu32 support_fw_exposed_dev_list: 1;\n\t\tu32 support_memdump: 1;\n\t\tu32 reserved: 15;\n\t} mfi_capabilities;\n\t__le32 reg;\n};\n\ntypedef union _MFI_CAPABILITIES MFI_CAPABILITIES;\n\nstruct _MPI25_EVENT_DATA_SAS_DEVICE_DISCOVERY_ERROR {\n\tU16 DevHandle;\n\tU8 ReasonCode;\n\tU8 PhysicalPort;\n\tU32___2 Reserved1[2];\n\tU64 SASAddress;\n\tU32___2 Reserved2[2];\n} __attribute__((packed));\n\ntypedef struct _MPI25_EVENT_DATA_SAS_DEVICE_DISCOVERY_ERROR Mpi25EventDataSasDeviceDiscoveryError_t;\n\nstruct _MPI2_IEEE_SGE_SIMPLE64 {\n\tU64 Address;\n\tU32___2 Length;\n\tU16 Reserved1;\n\tU8 Reserved2;\n\tU8 Flags;\n};\n\ntypedef struct _MPI2_IEEE_SGE_SIMPLE64 MPI2_IEEE_SGE_SIMPLE64;\n\nstruct _MPI25_IEEE_SGE_CHAIN64 {\n\tU64 Address;\n\tU32___2 Length;\n\tU16 Reserved1;\n\tU8 NextChainOffset;\n\tU8 Flags;\n};\n\ntypedef struct _MPI25_IEEE_SGE_CHAIN64 MPI25_IEEE_SGE_CHAIN64;\n\nunion _MPI25_SGE_IO_UNION {\n\tMPI2_IEEE_SGE_SIMPLE64 IeeeSimple;\n\tMPI25_IEEE_SGE_CHAIN64 IeeeChain;\n};\n\ntypedef union _MPI25_SGE_IO_UNION MPI25_SGE_IO_UNION;\n\nstruct _MPI25_FW_UPLOAD_REQUEST {\n\tU8 ImageType;\n\tU8 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU32___2 Reserved5;\n\tU32___2 Reserved6;\n\tU32___2 Reserved7;\n\tU32___2 ImageOffset;\n\tU32___2 ImageSize;\n\tMPI25_SGE_IO_UNION SGL;\n};\n\ntypedef struct _MPI25_FW_UPLOAD_REQUEST Mpi25FWUploadRequest_t;\n\ntypedef struct _MPI25_IEEE_SGE_CHAIN64 Mpi25IeeeSgeChain64_t;\n\ntypedef struct _MPI25_IEEE_SGE_CHAIN64 *pMpi25IeeeSgeChain64_t;\n\nstruct _MPI2_SCSI_IO_CDB_EEDP32 {\n\tU8 CDB[20];\n\t__be32 PrimaryReferenceTag;\n\tU16 PrimaryApplicationTag;\n\tU16 PrimaryApplicationTagMask;\n\tU32___2 TransferLength;\n};\n\ntypedef struct _MPI2_SCSI_IO_CDB_EEDP32 MPI2_SCSI_IO_CDB_EEDP32;\n\nunion _MPI25_SCSI_IO_CDB_UNION {\n\tU8 CDB32[32];\n\tMPI2_SCSI_IO_CDB_EEDP32 EEDP32;\n\tMPI2_IEEE_SGE_SIMPLE64 SGE;\n};\n\ntypedef union _MPI25_SCSI_IO_CDB_UNION MPI25_SCSI_IO_CDB_UNION;\n\nstruct _MPI25_SCSI_IO_REQUEST {\n\tU16 DevHandle;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved1;\n\tU8 Reserved2;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU32___2 SenseBufferLowAddress;\n\tU8 DMAFlags;\n\tU8 Reserved5;\n\tU8 SenseBufferLength;\n\tU8 Reserved4;\n\tU8 SGLOffset0;\n\tU8 SGLOffset1;\n\tU8 SGLOffset2;\n\tU8 SGLOffset3;\n\tU32___2 SkipCount;\n\tU32___2 DataLength;\n\tU32___2 BidirectionalDataLength;\n\tU16 IoFlags;\n\tU16 EEDPFlags;\n\tU16 EEDPBlockSize;\n\tU16 Reserved6;\n\tU32___2 SecondaryReferenceTag;\n\tU16 SecondaryApplicationTag;\n\tU16 ApplicationTagTranslationMask;\n\tU8 LUN[8];\n\tU32___2 Control;\n\tMPI25_SCSI_IO_CDB_UNION CDB;\n\tMPI25_SGE_IO_UNION SGL;\n};\n\ntypedef struct _MPI25_SCSI_IO_REQUEST Mpi25SCSIIORequest_t;\n\nstruct _MPI26_ATOMIC_REQUEST_DESCRIPTOR {\n\tU8 RequestFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n};\n\ntypedef struct _MPI26_ATOMIC_REQUEST_DESCRIPTOR Mpi26AtomicRequestDescriptor_t;\n\nstruct _MPI26_HASH_EXCLUSION_FORMAT {\n\tU32___2 Offset;\n\tU32___2 Size;\n};\n\ntypedef struct _MPI26_HASH_EXCLUSION_FORMAT MPI26_HASH_EXCLUSION_FORMAT;\n\nstruct _MPI26_COMPONENT_IMAGE_HEADER {\n\tU32___2 Signature0;\n\tU32___2 LoadAddress;\n\tU32___2 DataSize;\n\tU32___2 StartAddress;\n\tU32___2 Signature1;\n\tU32___2 FlashOffset;\n\tU32___2 FlashSize;\n\tU32___2 VersionStringOffset;\n\tU32___2 BuildDateStringOffset;\n\tU32___2 BuildTimeStringOffset;\n\tU32___2 EnvironmentVariableOffset;\n\tU32___2 ApplicationSpecific;\n\tU32___2 Signature2;\n\tU32___2 HeaderSize;\n\tU32___2 Crc;\n\tU8 NotFlashImage;\n\tU8 Compressed;\n\tU16 Reserved3E;\n\tU32___2 SecondaryFlashOffset;\n\tU32___2 Reserved44;\n\tU32___2 Reserved48;\n\tMPI2_VERSION_UNION RMCInterfaceVersion;\n\tMPI2_VERSION_UNION Reserved50;\n\tMPI2_VERSION_UNION FWVersion;\n\tMPI2_VERSION_UNION NvdataVersion;\n\tMPI26_HASH_EXCLUSION_FORMAT HashExclusion[4];\n\tU32___2 NextImageHeaderOffset;\n\tU32___2 Reserved80[32];\n};\n\ntypedef struct _MPI26_COMPONENT_IMAGE_HEADER Mpi26ComponentImageHeader_t;\n\nstruct _MPI2_CONFIG_EXTENDED_PAGE_HEADER {\n\tU8 PageVersion;\n\tU8 Reserved1;\n\tU8 PageNumber;\n\tU8 PageType;\n\tU16 ExtPageLength;\n\tU8 ExtPageType;\n\tU8 Reserved2;\n};\n\ntypedef struct _MPI2_CONFIG_EXTENDED_PAGE_HEADER MPI2_CONFIG_EXTENDED_PAGE_HEADER;\n\nstruct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_0 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 TriggerFlags;\n\tU16 Reserved0xA;\n\tU32___2 Reserved0xC[61];\n};\n\ntypedef struct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_0 Mpi26DriverTriggerPage0_t;\n\nstruct _MPI26_DRIVER_MASTER_TRIGGER_ENTRY {\n\tU32___2 MasterTriggerFlags;\n};\n\ntypedef struct _MPI26_DRIVER_MASTER_TRIGGER_ENTRY MPI26_DRIVER_MASTER_TRIGGER_ENTRY;\n\nstruct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_1 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 NumMasterTrigger;\n\tU16 Reserved0xA;\n\tMPI26_DRIVER_MASTER_TRIGGER_ENTRY MasterTriggers[1];\n};\n\ntypedef struct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_1 Mpi26DriverTriggerPage1_t;\n\nstruct _MPI26_DRIVER_MPI_EVENT_TRIGGER_ENTRY {\n\tU16 MPIEventCode;\n\tU16 MPIEventCodeSpecific;\n};\n\ntypedef struct _MPI26_DRIVER_MPI_EVENT_TRIGGER_ENTRY MPI26_DRIVER_MPI_EVENT_TRIGGER_ENTRY;\n\nstruct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_2 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 NumMPIEventTrigger;\n\tU16 Reserved0xA;\n\tMPI26_DRIVER_MPI_EVENT_TRIGGER_ENTRY MPIEventTriggers[20];\n};\n\ntypedef struct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_2 Mpi26DriverTriggerPage2_t;\n\nstruct _MPI26_DRIVER_SCSI_SENSE_TRIGGER_ENTRY {\n\tU8 ASCQ;\n\tU8 ASC;\n\tU8 SenseKey;\n\tU8 Reserved;\n};\n\ntypedef struct _MPI26_DRIVER_SCSI_SENSE_TRIGGER_ENTRY MPI26_DRIVER_SCSI_SENSE_TRIGGER_ENTRY;\n\nstruct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_3 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 NumSCSISenseTrigger;\n\tU16 Reserved0xA;\n\tMPI26_DRIVER_SCSI_SENSE_TRIGGER_ENTRY SCSISenseTriggers[20];\n};\n\ntypedef struct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_3 Mpi26DriverTriggerPage3_t;\n\nstruct _MPI26_DRIVER_IOCSTATUS_LOGINFO_TRIGGER_ENTRY {\n\tU16 IOCStatus;\n\tU16 Reserved;\n\tU32___2 LogInfo;\n};\n\ntypedef struct _MPI26_DRIVER_IOCSTATUS_LOGINFO_TRIGGER_ENTRY MPI26_DRIVER_IOCSTATUS_LOGINFO_TRIGGER_ENTRY;\n\nstruct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_4 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 NumIOCStatusLogInfoTrigger;\n\tU16 Reserved0xA;\n\tMPI26_DRIVER_IOCSTATUS_LOGINFO_TRIGGER_ENTRY IOCStatusLoginfoTriggers[20];\n};\n\ntypedef struct _MPI26_CONFIG_PAGE_DRIVER_TRIGGER_4 Mpi26DriverTriggerPage4_t;\n\nstruct _MPI26_CONFIG_PAGE_PCIEDEV_0 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 Slot;\n\tU16 EnclosureHandle;\n\tU64 WWID;\n\tU16 ParentDevHandle;\n\tU8 PortNum;\n\tU8 AccessStatus;\n\tU16 DevHandle;\n\tU8 PhysicalPort;\n\tU8 Reserved1;\n\tU32___2 DeviceInfo;\n\tU32___2 Flags;\n\tU8 SupportedLinkRates;\n\tU8 MaxPortWidth;\n\tU8 NegotiatedPortWidth;\n\tU8 NegotiatedLinkRate;\n\tU8 EnclosureLevel;\n\tU8 Reserved2;\n\tU16 Reserved3;\n\tU8 ConnectorName[4];\n\tU32___2 Reserved4;\n\tU32___2 Reserved5;\n} __attribute__((packed));\n\ntypedef struct _MPI26_CONFIG_PAGE_PCIEDEV_0 Mpi26PCIeDevicePage0_t;\n\nstruct _MPI26_CONFIG_PAGE_PCIEDEV_2 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 DevHandle;\n\tU8 ControllerResetTO;\n\tU8 Reserved1;\n\tU32___2 MaximumDataTransferSize;\n\tU32___2 Capabilities;\n\tU16 NOIOB;\n\tU16 ShutdownLatency;\n\tU16 VendorID;\n\tU16 DeviceID;\n\tU16 SubsystemVendorID;\n\tU16 SubsystemID;\n\tU8 RevisionID;\n\tU8 Reserved21[3];\n};\n\ntypedef struct _MPI26_CONFIG_PAGE_PCIEDEV_2 Mpi26PCIeDevicePage2_t;\n\nstruct _MPI26_PCIE_IO_UNIT1_PHY_DATA {\n\tU8 Link;\n\tU8 LinkFlags;\n\tU8 PhyFlags;\n\tU8 MaxMinLinkRate;\n\tU32___2 ControllerPhyDeviceInfo;\n\tU32___2 Reserved1;\n};\n\ntypedef struct _MPI26_PCIE_IO_UNIT1_PHY_DATA MPI26_PCIE_IO_UNIT1_PHY_DATA;\n\nstruct _MPI26_CONFIG_PAGE_PIOUNIT_1 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 ControlFlags;\n\tU16 Reserved;\n\tU16 AdditionalControlFlags;\n\tU16 NVMeMaxQueueDepth;\n\tU8 NumPhys;\n\tU8 DMDReportPCIe;\n\tU16 Reserved2;\n\tMPI26_PCIE_IO_UNIT1_PHY_DATA PhyData[0];\n};\n\ntypedef struct _MPI26_CONFIG_PAGE_PIOUNIT_1 Mpi26PCIeIOUnitPage1_t;\n\nstruct _MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT {\n\tU32___2 ActiveCablePowerRequirement;\n\tU8 ReasonCode;\n\tU8 ReceptacleID;\n\tU16 Reserved1;\n};\n\ntypedef struct _MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT Mpi26EventDataActiveCableExcept_t;\n\nstruct _MPI26_EVENT_DATA_PCIE_DEVICE_STATUS_CHANGE {\n\tU16 TaskTag;\n\tU8 ReasonCode;\n\tU8 PhysicalPort;\n\tU8 ASC;\n\tU8 ASCQ;\n\tU16 DevHandle;\n\tU32___2 Reserved2;\n\tU64 WWID;\n\tU8 LUN[8];\n} __attribute__((packed));\n\ntypedef struct _MPI26_EVENT_DATA_PCIE_DEVICE_STATUS_CHANGE Mpi26EventDataPCIeDeviceStatusChange_t;\n\nstruct _MPI26_EVENT_DATA_PCIE_ENUMERATION {\n\tU8 Flags;\n\tU8 ReasonCode;\n\tU8 PhysicalPort;\n\tU8 Reserved1;\n\tU32___2 EnumerationStatus;\n};\n\ntypedef struct _MPI26_EVENT_DATA_PCIE_ENUMERATION Mpi26EventDataPCIeEnumeration_t;\n\nstruct _MPI26_EVENT_PCIE_TOPO_PORT_ENTRY {\n\tU16 AttachedDevHandle;\n\tU8 PortStatus;\n\tU8 Reserved1;\n\tU8 CurrentPortInfo;\n\tU8 Reserved2;\n\tU8 PreviousPortInfo;\n\tU8 Reserved3;\n};\n\ntypedef struct _MPI26_EVENT_PCIE_TOPO_PORT_ENTRY MPI26_EVENT_PCIE_TOPO_PORT_ENTRY;\n\nstruct _MPI26_EVENT_DATA_PCIE_TOPOLOGY_CHANGE_LIST {\n\tU16 EnclosureHandle;\n\tU16 SwitchDevHandle;\n\tU8 NumPorts;\n\tU8 Reserved1;\n\tU16 Reserved2;\n\tU8 NumEntries;\n\tU8 StartPortNum;\n\tU8 SwitchStatus;\n\tU8 PhysicalPort;\n\tMPI26_EVENT_PCIE_TOPO_PORT_ENTRY PortEntry[0];\n};\n\ntypedef struct _MPI26_EVENT_DATA_PCIE_TOPOLOGY_CHANGE_LIST Mpi26EventDataPCIeTopologyChangeList_t;\n\nstruct _MPI26_IOUNIT_CONTROL_REPLY {\n\tU8 Operation;\n\tU8 Reserved1;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 DevHandle;\n\tU8 IOCParameter;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU16 Reserved4;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n};\n\ntypedef struct _MPI26_IOUNIT_CONTROL_REPLY Mpi26IoUnitControlReply_t;\n\nstruct _MPI26_IOUNIT_CONTROL_REQUEST {\n\tU8 Operation;\n\tU8 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 DevHandle;\n\tU8 IOCParameter;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU16 Reserved4;\n\tU8 PhyNum;\n\tU8 PrimFlags;\n\tU32___2 Primitive;\n\tU8 LookupMethod;\n\tU8 Reserved5;\n\tU16 SlotNumber;\n\tU64 LookupAddress;\n\tU32___2 IOCParameterValue;\n\tU32___2 Reserved7;\n\tU32___2 Reserved8;\n} __attribute__((packed));\n\ntypedef struct _MPI26_IOUNIT_CONTROL_REQUEST Mpi26IoUnitControlRequest_t;\n\nstruct _MPI26_NVME_ENCAPSULATED_ERROR_REPLY {\n\tU16 DevHandle;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 EncapsulatedCommandLength;\n\tU8 Reserved1;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU16 Reserved3;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU16 ErrorResponseCount;\n\tU16 Reserved4;\n};\n\ntypedef struct _MPI26_NVME_ENCAPSULATED_ERROR_REPLY Mpi26NVMeEncapsulatedErrorReply_t;\n\nstruct _MPI26_NVME_ENCAPSULATED_REQUEST {\n\tU16 DevHandle;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 EncapsulatedCommandLength;\n\tU8 Reserved1;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU32___2 Reserved3;\n\tU64 ErrorResponseBaseAddress;\n\tU16 ErrorResponseAllocationLength;\n\tU16 Flags;\n\tU32___2 DataLength;\n\tU8 NVMe_Command[4];\n} __attribute__((packed));\n\nstruct _MPI2_ADDRESS_REPLY_DESCRIPTOR {\n\tU8 ReplyFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU32___2 ReplyFrameAddress;\n};\n\ntypedef struct _MPI2_ADDRESS_REPLY_DESCRIPTOR MPI2_ADDRESS_REPLY_DESCRIPTOR;\n\nstruct _MPI2_BIOS4_ENTRY {\n\tU64 ReassignmentWWID;\n\tU64 ReassignmentDeviceName;\n};\n\ntypedef struct _MPI2_BIOS4_ENTRY MPI2_BIOS4_ENTRY;\n\ntypedef struct _MPI2_BOOT_DEVICE_DEVICE_NAME Mpi2BootDeviceDeviceName_t;\n\ntypedef struct _MPI2_BOOT_DEVICE_ENCLOSURE_SLOT Mpi2BootDeviceEnclosureSlot_t;\n\ntypedef struct _MPI2_BOOT_DEVICE_SAS_WWID Mpi2BootDeviceSasWwid_t;\n\nstruct _MPI2_CONFIG_PAGE_BIOS_4 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU8 NumPhys;\n\tU8 Reserved1;\n\tU16 Reserved2;\n\tMPI2_BIOS4_ENTRY Phy[0];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_BIOS_4 Mpi2BiosPage4_t;\n\nstruct _MPI2_CONFIG_PAGE_EXPANDER_0 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU8 PhysicalPort;\n\tU8 ReportGenLength;\n\tU16 EnclosureHandle;\n\tU64 SASAddress;\n\tU32___2 DiscoveryStatus;\n\tU16 DevHandle;\n\tU16 ParentDevHandle;\n\tU16 ExpanderChangeCount;\n\tU16 ExpanderRouteIndexes;\n\tU8 NumPhys;\n\tU8 SASLevel;\n\tU16 Flags;\n\tU16 STPBusInactivityTimeLimit;\n\tU16 STPMaxConnectTimeLimit;\n\tU16 STP_SMP_NexusLossTime;\n\tU16 MaxNumRoutedSasAddresses;\n\tU64 ActiveZoneManagerSASAddress;\n\tU16 ZoneLockInactivityLimit;\n\tU16 Reserved1;\n\tU8 TimeToReducedFunc;\n\tU8 InitialTimeToReducedFunc;\n\tU8 MaxReducedFuncTime;\n\tU8 Reserved2;\n} __attribute__((packed));\n\ntypedef struct _MPI2_CONFIG_PAGE_EXPANDER_0 Mpi2ExpanderPage0_t;\n\nstruct _MPI2_CONFIG_PAGE_EXPANDER_1 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU8 PhysicalPort;\n\tU8 Reserved1;\n\tU16 Reserved2;\n\tU8 NumPhys;\n\tU8 Phy;\n\tU16 NumTableEntriesProgrammed;\n\tU8 ProgrammedLinkRate;\n\tU8 HwLinkRate;\n\tU16 AttachedDevHandle;\n\tU32___2 PhyInfo;\n\tU32___2 AttachedDeviceInfo;\n\tU16 ExpanderDevHandle;\n\tU8 ChangeCount;\n\tU8 NegotiatedLinkRate;\n\tU8 PhyIdentifier;\n\tU8 AttachedPhyIdentifier;\n\tU8 Reserved3;\n\tU8 DiscoveryInfo;\n\tU32___2 AttachedPhyInfo;\n\tU8 ZoneGroup;\n\tU8 SelfConfigStatus;\n\tU16 Reserved4;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_EXPANDER_1 Mpi2ExpanderPage1_t;\n\nstruct _MPI2_CONFIG_PAGE_IO_UNIT_3 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU8 GPIOCount;\n\tU8 Reserved1;\n\tU16 Reserved2;\n\tU16 GPIOVal[36];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_IO_UNIT_3 Mpi2IOUnitPage3_t;\n\nstruct _MPI2_IOUNIT8_SENSOR {\n\tU16 Flags;\n\tU16 Reserved1;\n\tU16 Threshold[4];\n\tU32___2 Reserved2;\n\tU32___2 Reserved3;\n\tU32___2 Reserved4;\n};\n\ntypedef struct _MPI2_IOUNIT8_SENSOR MPI2_IOUNIT8_SENSOR;\n\nstruct _MPI2_CONFIG_PAGE_IO_UNIT_8 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n\tU8 NumSensors;\n\tU8 PollingInterval;\n\tU16 Reserved3;\n\tMPI2_IOUNIT8_SENSOR Sensor[0];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_IO_UNIT_8 Mpi2IOUnitPage8_t;\n\nstruct _MPI2_CONFIG_PAGE_MAN_1 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU8 VPD[256];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_MAN_1 Mpi2ManufacturingPage1_t;\n\nstruct _MPI2_MANPAGE7_CONNECTOR_INFO {\n\tU32___2 Pinout;\n\tU8 Connector[16];\n\tU8 Location;\n\tU8 ReceptacleID;\n\tU16 Slot;\n\tU16 Slotx2;\n\tU16 Slotx4;\n};\n\ntypedef struct _MPI2_MANPAGE7_CONNECTOR_INFO MPI2_MANPAGE7_CONNECTOR_INFO;\n\nstruct _MPI2_CONFIG_PAGE_MAN_7 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n\tU32___2 Flags;\n\tU8 EnclosureName[16];\n\tU8 NumPhys;\n\tU8 Reserved3;\n\tU16 Reserved4;\n\tMPI2_MANPAGE7_CONNECTOR_INFO ConnectorInfo[0];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_MAN_7 Mpi2ManufacturingPage7_t;\n\nstruct _MPI2_RAIDCONFIG0_CONFIG_ELEMENT {\n\tU16 ElementFlags;\n\tU16 VolDevHandle;\n\tU8 HotSparePool;\n\tU8 PhysDiskNum;\n\tU16 PhysDiskDevHandle;\n};\n\ntypedef struct _MPI2_RAIDCONFIG0_CONFIG_ELEMENT MPI2_RAIDCONFIG0_CONFIG_ELEMENT;\n\nstruct _MPI2_CONFIG_PAGE_RAID_CONFIGURATION_0 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU8 NumHotSpares;\n\tU8 NumPhysDisks;\n\tU8 NumVolumes;\n\tU8 ConfigNum;\n\tU32___2 Flags;\n\tU8 ConfigGUID[24];\n\tU32___2 Reserved1;\n\tU8 NumElements;\n\tU8 Reserved2;\n\tU16 Reserved3;\n\tMPI2_RAIDCONFIG0_CONFIG_ELEMENT ConfigElement[0];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_RAID_CONFIGURATION_0 Mpi2RaidConfigurationPage0_t;\n\nstruct _MPI2_RAIDVOL0_SETTINGS {\n\tU16 Settings;\n\tU8 HotSparePool;\n\tU8 Reserved;\n};\n\ntypedef struct _MPI2_RAIDVOL0_SETTINGS MPI2_RAIDVOL0_SETTINGS;\n\nstruct _MPI2_RAIDVOL0_PHYS_DISK {\n\tU8 RAIDSetNum;\n\tU8 PhysDiskMap;\n\tU8 PhysDiskNum;\n\tU8 Reserved;\n};\n\ntypedef struct _MPI2_RAIDVOL0_PHYS_DISK MPI2_RAIDVOL0_PHYS_DISK;\n\nstruct _MPI2_CONFIG_PAGE_RAID_VOL_0 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU16 DevHandle;\n\tU8 VolumeState;\n\tU8 VolumeType;\n\tU32___2 VolumeStatusFlags;\n\tMPI2_RAIDVOL0_SETTINGS VolumeSettings;\n\tU64 MaxLBA;\n\tU32___2 StripeSize;\n\tU16 BlockSize;\n\tU16 Reserved1;\n\tU8 SupportedPhysDisks;\n\tU8 ResyncRate;\n\tU16 DataScrubDuration;\n\tU8 NumPhysDisks;\n\tU8 Reserved2;\n\tU8 Reserved3;\n\tU8 InactiveStatus;\n\tMPI2_RAIDVOL0_PHYS_DISK PhysDisk[0];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_RAID_VOL_0 Mpi2RaidVolPage0_t;\n\nstruct _MPI2_CONFIG_PAGE_RAID_VOL_1 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU16 DevHandle;\n\tU16 Reserved0;\n\tU8 GUID[24];\n\tU8 Name[16];\n\tU64 WWID;\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_RAID_VOL_1 Mpi2RaidVolPage1_t;\n\nstruct _MPI2_RAIDPHYSDISK0_SETTINGS {\n\tU16 Reserved1;\n\tU8 HotSparePool;\n\tU8 Reserved2;\n};\n\ntypedef struct _MPI2_RAIDPHYSDISK0_SETTINGS MPI2_RAIDPHYSDISK0_SETTINGS;\n\nstruct _MPI2_RAIDPHYSDISK0_INQUIRY_DATA {\n\tU8 VendorID[8];\n\tU8 ProductID[16];\n\tU8 ProductRevLevel[4];\n\tU8 SerialNum[32];\n};\n\ntypedef struct _MPI2_RAIDPHYSDISK0_INQUIRY_DATA MPI2_RAIDPHYSDISK0_INQUIRY_DATA;\n\nstruct _MPI2_CONFIG_PAGE_RD_PDISK_0 {\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU16 DevHandle;\n\tU8 Reserved1;\n\tU8 PhysDiskNum;\n\tMPI2_RAIDPHYSDISK0_SETTINGS PhysDiskSettings;\n\tU32___2 Reserved2;\n\tMPI2_RAIDPHYSDISK0_INQUIRY_DATA InquiryData;\n\tU32___2 Reserved3;\n\tU8 PhysDiskState;\n\tU8 OfflineReason;\n\tU8 IncompatibleReason;\n\tU8 PhysDiskAttributes;\n\tU32___2 PhysDiskStatusFlags;\n\tU64 DeviceMaxLBA;\n\tU64 HostMaxLBA;\n\tU64 CoercedMaxLBA;\n\tU16 BlockSize;\n\tU16 Reserved5;\n\tU32___2 Reserved6;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_RD_PDISK_0 Mpi2RaidPhysDiskPage0_t;\n\nstruct _MPI2_SAS_IO_UNIT0_PHY_DATA {\n\tU8 Port;\n\tU8 PortFlags;\n\tU8 PhyFlags;\n\tU8 NegotiatedLinkRate;\n\tU32___2 ControllerPhyDeviceInfo;\n\tU16 AttachedDevHandle;\n\tU16 ControllerDevHandle;\n\tU32___2 DiscoveryStatus;\n\tU32___2 Reserved;\n};\n\ntypedef struct _MPI2_SAS_IO_UNIT0_PHY_DATA MPI2_SAS_IO_UNIT0_PHY_DATA;\n\nstruct _MPI2_CONFIG_PAGE_SASIOUNIT_0 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU32___2 Reserved1;\n\tU8 NumPhys;\n\tU8 Reserved2;\n\tU16 Reserved3;\n\tMPI2_SAS_IO_UNIT0_PHY_DATA PhyData[0];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_0 Mpi2SasIOUnitPage0_t;\n\nstruct _MPI2_SAS_IO_UNIT1_PHY_DATA {\n\tU8 Port;\n\tU8 PortFlags;\n\tU8 PhyFlags;\n\tU8 MaxMinLinkRate;\n\tU32___2 ControllerPhyDeviceInfo;\n\tU16 MaxTargetPortConnectTime;\n\tU16 Reserved1;\n};\n\ntypedef struct _MPI2_SAS_IO_UNIT1_PHY_DATA MPI2_SAS_IO_UNIT1_PHY_DATA;\n\nstruct _MPI2_CONFIG_PAGE_SASIOUNIT_1 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 ControlFlags;\n\tU16 SASNarrowMaxQueueDepth;\n\tU16 AdditionalControlFlags;\n\tU16 SASWideMaxQueueDepth;\n\tU8 NumPhys;\n\tU8 SATAMaxQDepth;\n\tU8 ReportDeviceMissingDelay;\n\tU8 IODeviceMissingDelay;\n\tMPI2_SAS_IO_UNIT1_PHY_DATA PhyData[0];\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_1 Mpi2SasIOUnitPage1_t;\n\nstruct _MPI2_CONFIG_PAGE_SAS_DEV_0 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 Slot;\n\tU16 EnclosureHandle;\n\tU64 SASAddress;\n\tU16 ParentDevHandle;\n\tU8 PhyNum;\n\tU8 AccessStatus;\n\tU16 DevHandle;\n\tU8 AttachedPhyIdentifier;\n\tU8 ZoneGroup;\n\tU32___2 DeviceInfo;\n\tU16 Flags;\n\tU8 PhysicalPort;\n\tU8 MaxPortConnections;\n\tU64 DeviceName;\n\tU8 PortGroups;\n\tU8 DmaGroup;\n\tU8 ControlGroup;\n\tU8 EnclosureLevel;\n\tU32___2 ConnectorName[4];\n\tU32___2 Reserved3;\n} __attribute__((packed));\n\ntypedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0 Mpi2SasDevicePage0_t;\n\nstruct _MPI2_CONFIG_PAGE_SAS_DEV_1 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU32___2 Reserved1;\n\tU64 SASAddress;\n\tU32___2 Reserved2;\n\tU16 DevHandle;\n\tU16 Reserved3;\n\tU8 InitialRegDeviceFIS[20];\n} __attribute__((packed));\n\ntypedef struct _MPI2_CONFIG_PAGE_SAS_DEV_1 Mpi2SasDevicePage1_t;\n\nstruct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU32___2 Reserved1;\n\tU64 EnclosureLogicalID;\n\tU16 Flags;\n\tU16 EnclosureHandle;\n\tU16 NumSlots;\n\tU16 StartSlot;\n\tU8 ChassisSlot;\n\tU8 EnclosureLevel;\n\tU16 SEPDevHandle;\n\tU8 OEMRD;\n\tU8 Reserved1a;\n\tU16 Reserved2;\n\tU32___2 Reserved3;\n} __attribute__((packed));\n\ntypedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0 Mpi2SasEnclosurePage0_t;\n\nstruct _MPI2_CONFIG_PAGE_SAS_PHY_0 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU16 OwnerDevHandle;\n\tU16 Reserved1;\n\tU16 AttachedDevHandle;\n\tU8 AttachedPhyIdentifier;\n\tU8 Reserved2;\n\tU32___2 AttachedPhyInfo;\n\tU8 ProgrammedLinkRate;\n\tU8 HwLinkRate;\n\tU8 ChangeCount;\n\tU8 Flags;\n\tU32___2 PhyInfo;\n\tU8 NegotiatedLinkRate;\n\tU8 Reserved3;\n\tU16 Reserved4;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_SAS_PHY_0 Mpi2SasPhyPage0_t;\n\nstruct _MPI2_CONFIG_PAGE_SAS_PHY_1 {\n\tMPI2_CONFIG_EXTENDED_PAGE_HEADER Header;\n\tU32___2 Reserved1;\n\tU32___2 InvalidDwordCount;\n\tU32___2 RunningDisparityErrorCount;\n\tU32___2 LossDwordSynchCount;\n\tU32___2 PhyResetProblemCount;\n};\n\ntypedef struct _MPI2_CONFIG_PAGE_SAS_PHY_1 Mpi2SasPhyPage1_t;\n\nstruct _MPI2_CONFIG_REPLY {\n\tU8 Action;\n\tU8 SGLFlags;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 ExtPageLength;\n\tU8 ExtPageType;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved1;\n\tU16 Reserved2;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tMPI2_CONFIG_PAGE_HEADER Header;\n};\n\ntypedef struct _MPI2_CONFIG_REPLY Mpi2ConfigReply_t;\n\nstruct _MPI2_SGE_SIMPLE_UNION {\n\tU32___2 FlagsLength;\n\tunion {\n\t\tU32___2 Address32;\n\t\tU64 Address64;\n\t} u;\n} __attribute__((packed));\n\ntypedef struct _MPI2_SGE_SIMPLE_UNION MPI2_SGE_SIMPLE_UNION;\n\nstruct _MPI2_SGE_CHAIN_UNION {\n\tU16 Length;\n\tU8 NextChainOffset;\n\tU8 Flags;\n\tunion {\n\t\tU32___2 Address32;\n\t\tU64 Address64;\n\t} u;\n} __attribute__((packed));\n\ntypedef struct _MPI2_SGE_CHAIN_UNION MPI2_SGE_CHAIN_UNION;\n\nstruct _MPI2_IEEE_SGE_SIMPLE32 {\n\tU32___2 Address;\n\tU32___2 FlagsLength;\n};\n\ntypedef struct _MPI2_IEEE_SGE_SIMPLE32 MPI2_IEEE_SGE_SIMPLE32;\n\nunion _MPI2_IEEE_SGE_SIMPLE_UNION {\n\tMPI2_IEEE_SGE_SIMPLE32 Simple32;\n\tMPI2_IEEE_SGE_SIMPLE64 Simple64;\n};\n\ntypedef union _MPI2_IEEE_SGE_SIMPLE_UNION MPI2_IEEE_SGE_SIMPLE_UNION;\n\ntypedef MPI2_IEEE_SGE_SIMPLE32 MPI2_IEEE_SGE_CHAIN32;\n\ntypedef MPI2_IEEE_SGE_SIMPLE64 MPI2_IEEE_SGE_CHAIN64;\n\nunion _MPI2_IEEE_SGE_CHAIN_UNION {\n\tMPI2_IEEE_SGE_CHAIN32 Chain32;\n\tMPI2_IEEE_SGE_CHAIN64 Chain64;\n};\n\ntypedef union _MPI2_IEEE_SGE_CHAIN_UNION MPI2_IEEE_SGE_CHAIN_UNION;\n\nunion _MPI2_SGE_IO_UNION {\n\tMPI2_SGE_SIMPLE_UNION MpiSimple;\n\tMPI2_SGE_CHAIN_UNION MpiChain;\n\tMPI2_IEEE_SGE_SIMPLE_UNION IeeeSimple;\n\tMPI2_IEEE_SGE_CHAIN_UNION IeeeChain;\n};\n\ntypedef union _MPI2_SGE_IO_UNION MPI2_SGE_IO_UNION;\n\nstruct _MPI2_CONFIG_REQUEST {\n\tU8 Action;\n\tU8 SGLFlags;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 ExtPageLength;\n\tU8 ExtPageType;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved1;\n\tU8 Reserved2;\n\tU8 ProxyVF_ID;\n\tU16 Reserved4;\n\tU32___2 Reserved3;\n\tMPI2_CONFIG_PAGE_HEADER Header;\n\tU32___2 PageAddress;\n\tMPI2_SGE_IO_UNION PageBufferSGE;\n} __attribute__((packed));\n\ntypedef struct _MPI2_CONFIG_REQUEST Mpi2ConfigRequest_t;\n\nstruct _MPI2_DEFAULT_REPLY {\n\tU16 FunctionDependent1;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 FunctionDependent2;\n\tU8 FunctionDependent3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved1;\n\tU16 FunctionDependent5;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n};\n\ntypedef struct _MPI2_DEFAULT_REPLY MPI2DefaultReply_t;\n\nstruct _MPI2_DEFAULT_REPLY_DESCRIPTOR {\n\tU8 ReplyFlags;\n\tU8 MSIxIndex;\n\tU16 DescriptorTypeDependent1;\n\tU32___2 DescriptorTypeDependent2;\n};\n\ntypedef struct _MPI2_DEFAULT_REPLY_DESCRIPTOR MPI2_DEFAULT_REPLY_DESCRIPTOR;\n\nstruct _MPI2_DEFAULT_REQUEST_DESCRIPTOR {\n\tU8 RequestFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU16 LMID;\n\tU16 DescriptorTypeDependent;\n};\n\ntypedef struct _MPI2_DEFAULT_REQUEST_DESCRIPTOR MPI2_DEFAULT_REQUEST_DESCRIPTOR;\n\nstruct _MPI2_DIAG_BUFFER_POST_REPLY {\n\tU8 ExtendedType;\n\tU8 BufferType;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU16 Reserved5;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU32___2 TransferLength;\n};\n\ntypedef struct _MPI2_DIAG_BUFFER_POST_REPLY Mpi2DiagBufferPostReply_t;\n\nstruct _MPI2_DIAG_BUFFER_POST_REQUEST {\n\tU8 ExtendedType;\n\tU8 BufferType;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU64 BufferAddress;\n\tU32___2 BufferLength;\n\tU32___2 Reserved5;\n\tU32___2 Reserved6;\n\tU32___2 Flags;\n\tU32___2 ProductSpecific[23];\n} __attribute__((packed));\n\ntypedef struct _MPI2_DIAG_BUFFER_POST_REQUEST Mpi2DiagBufferPostRequest_t;\n\nstruct _MPI2_DIAG_RELEASE_REPLY {\n\tU8 Reserved1;\n\tU8 BufferType;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU16 Reserved5;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n};\n\ntypedef struct _MPI2_DIAG_RELEASE_REPLY Mpi2DiagReleaseReply_t;\n\nstruct _MPI2_DIAG_RELEASE_REQUEST {\n\tU8 Reserved1;\n\tU8 BufferType;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n};\n\ntypedef struct _MPI2_DIAG_RELEASE_REQUEST Mpi2DiagReleaseRequest_t;\n\nstruct _MPI2_EVENT_ACK_REQUEST {\n\tU16 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU16 Event;\n\tU16 Reserved5;\n\tU32___2 EventContext;\n};\n\ntypedef struct _MPI2_EVENT_ACK_REQUEST Mpi2EventAckRequest_t;\n\nstruct _MPI2_EVENT_IR_CONFIG_ELEMENT {\n\tU16 ElementFlags;\n\tU16 VolDevHandle;\n\tU8 ReasonCode;\n\tU8 PhysDiskNum;\n\tU16 PhysDiskDevHandle;\n};\n\ntypedef struct _MPI2_EVENT_IR_CONFIG_ELEMENT MPI2_EVENT_IR_CONFIG_ELEMENT;\n\nstruct _MPI2_EVENT_DATA_IR_CONFIG_CHANGE_LIST {\n\tU8 NumElements;\n\tU8 Reserved1;\n\tU8 Reserved2;\n\tU8 ConfigNum;\n\tU32___2 Flags;\n\tMPI2_EVENT_IR_CONFIG_ELEMENT ConfigElement[0];\n};\n\ntypedef struct _MPI2_EVENT_DATA_IR_CONFIG_CHANGE_LIST Mpi2EventDataIrConfigChangeList_t;\n\nstruct _MPI2_EVENT_DATA_IR_OPERATION_STATUS {\n\tU16 VolDevHandle;\n\tU16 Reserved1;\n\tU8 RAIDOperation;\n\tU8 PercentComplete;\n\tU16 Reserved2;\n\tU32___2 ElapsedSeconds;\n};\n\ntypedef struct _MPI2_EVENT_DATA_IR_OPERATION_STATUS Mpi2EventDataIrOperationStatus_t;\n\nstruct _MPI2_EVENT_DATA_IR_PHYSICAL_DISK {\n\tU16 Reserved1;\n\tU8 ReasonCode;\n\tU8 PhysDiskNum;\n\tU16 PhysDiskDevHandle;\n\tU16 Reserved2;\n\tU16 Slot;\n\tU16 EnclosureHandle;\n\tU32___2 NewValue;\n\tU32___2 PreviousValue;\n};\n\ntypedef struct _MPI2_EVENT_DATA_IR_PHYSICAL_DISK Mpi2EventDataIrPhysicalDisk_t;\n\nstruct _MPI2_EVENT_DATA_IR_VOLUME {\n\tU16 VolDevHandle;\n\tU8 ReasonCode;\n\tU8 Reserved1;\n\tU32___2 NewValue;\n\tU32___2 PreviousValue;\n};\n\ntypedef struct _MPI2_EVENT_DATA_IR_VOLUME Mpi2EventDataIrVolume_t;\n\nstruct _MPI2_EVENT_DATA_LOG_ENTRY_ADDED {\n\tU64 TimeStamp;\n\tU32___2 Reserved1;\n\tU16 LogSequence;\n\tU16 LogEntryQualifier;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU8 LogData[28];\n};\n\ntypedef struct _MPI2_EVENT_DATA_LOG_ENTRY_ADDED Mpi2EventDataLogEntryAdded_t;\n\nstruct _MPI2_EVENT_DATA_SAS_BROADCAST_PRIMITIVE {\n\tU8 PhyNum;\n\tU8 Port;\n\tU8 PortWidth;\n\tU8 Primitive;\n};\n\ntypedef struct _MPI2_EVENT_DATA_SAS_BROADCAST_PRIMITIVE Mpi2EventDataSasBroadcastPrimitive_t;\n\nstruct _MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE {\n\tU16 TaskTag;\n\tU8 ReasonCode;\n\tU8 PhysicalPort;\n\tU8 ASC;\n\tU8 ASCQ;\n\tU16 DevHandle;\n\tU32___2 Reserved2;\n\tU64 SASAddress;\n\tU8 LUN[8];\n} __attribute__((packed));\n\ntypedef struct _MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE Mpi2EventDataSasDeviceStatusChange_t;\n\nstruct _MPI2_EVENT_DATA_SAS_DISCOVERY {\n\tU8 Flags;\n\tU8 ReasonCode;\n\tU8 PhysicalPort;\n\tU8 Reserved1;\n\tU32___2 DiscoveryStatus;\n};\n\ntypedef struct _MPI2_EVENT_DATA_SAS_DISCOVERY Mpi2EventDataSasDiscovery_t;\n\nstruct _MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE {\n\tU16 EnclosureHandle;\n\tU8 ReasonCode;\n\tU8 PhysicalPort;\n\tU64 EnclosureLogicalID;\n\tU16 NumSlots;\n\tU16 StartSlot;\n\tU32___2 PhyBits;\n} __attribute__((packed));\n\ntypedef struct _MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE Mpi2EventDataSasEnclDevStatusChange_t;\n\nstruct _MPI2_EVENT_SAS_TOPO_PHY_ENTRY {\n\tU16 AttachedDevHandle;\n\tU8 LinkRate;\n\tU8 PhyStatus;\n};\n\ntypedef struct _MPI2_EVENT_SAS_TOPO_PHY_ENTRY MPI2_EVENT_SAS_TOPO_PHY_ENTRY;\n\nstruct _MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST {\n\tU16 EnclosureHandle;\n\tU16 ExpanderDevHandle;\n\tU8 NumPhys;\n\tU8 Reserved1;\n\tU16 Reserved2;\n\tU8 NumEntries;\n\tU8 StartPhyNum;\n\tU8 ExpStatus;\n\tU8 PhysicalPort;\n\tMPI2_EVENT_SAS_TOPO_PHY_ENTRY PHY[0];\n};\n\ntypedef struct _MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST Mpi2EventDataSasTopologyChangeList_t;\n\nstruct _MPI2_EVENT_DATA_TEMPERATURE {\n\tU16 Status;\n\tU8 SensorNum;\n\tU8 Reserved1;\n\tU16 CurrentTemperature;\n\tU16 Reserved2;\n\tU32___2 Reserved3;\n\tU32___2 Reserved4;\n};\n\ntypedef struct _MPI2_EVENT_DATA_TEMPERATURE Mpi2EventDataTemperature_t;\n\ntypedef struct _MPI2_EVENT_IR_CONFIG_ELEMENT Mpi2EventIrConfigElement_t;\n\nstruct _MPI2_EVENT_NOTIFICATION_REPLY {\n\tU16 EventDataLength;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 Reserved1;\n\tU8 AckRequired;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU16 Reserved3;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU16 Event;\n\tU16 Reserved4;\n\tU32___2 EventContext;\n\tU32___2 EventData[0];\n};\n\ntypedef struct _MPI2_EVENT_NOTIFICATION_REPLY Mpi2EventNotificationReply_t;\n\nstruct _MPI2_EVENT_NOTIFICATION_REQUEST {\n\tU16 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU32___2 Reserved5;\n\tU32___2 Reserved6;\n\tU32___2 EventMasks[4];\n\tU16 SASBroadcastPrimitiveMasks;\n\tU16 SASNotifyPrimitiveMasks;\n\tU32___2 Reserved8;\n};\n\ntypedef struct _MPI2_EVENT_NOTIFICATION_REQUEST Mpi2EventNotificationRequest_t;\n\nstruct _MPI2_FW_IMAGE_HEADER {\n\tU32___2 Signature;\n\tU32___2 Signature0;\n\tU32___2 Signature1;\n\tU32___2 Signature2;\n\tMPI2_VERSION_UNION MPIVersion;\n\tMPI2_VERSION_UNION FWVersion;\n\tMPI2_VERSION_UNION NVDATAVersion;\n\tMPI2_VERSION_UNION PackageVersion;\n\tU16 VendorID;\n\tU16 ProductID;\n\tU16 ProtocolFlags;\n\tU16 Reserved26;\n\tU32___2 IOCCapabilities;\n\tU32___2 ImageSize;\n\tU32___2 NextImageHeaderOffset;\n\tU32___2 Checksum;\n\tU32___2 Reserved38;\n\tU32___2 Reserved3C;\n\tU32___2 Reserved40;\n\tU32___2 Reserved44;\n\tU32___2 Reserved48;\n\tU32___2 Reserved4C;\n\tU32___2 Reserved50;\n\tU32___2 Reserved54;\n\tU32___2 Reserved58;\n\tU32___2 Reserved5C;\n\tU32___2 BootFlags;\n\tU32___2 FirmwareVersionNameWhat;\n\tU8 FirmwareVersionName[32];\n\tU32___2 VendorNameWhat;\n\tU8 VendorName[32];\n\tU32___2 PackageNameWhat;\n\tU8 PackageName[32];\n\tU32___2 ReservedD0;\n\tU32___2 ReservedD4;\n\tU32___2 ReservedD8;\n\tU32___2 ReservedDC;\n\tU32___2 ReservedE0;\n\tU32___2 ReservedE4;\n\tU32___2 ReservedE8;\n\tU32___2 ReservedEC;\n\tU32___2 ReservedF0;\n\tU32___2 ReservedF4;\n\tU32___2 ReservedF8;\n\tU32___2 ReservedFC;\n};\n\ntypedef struct _MPI2_FW_IMAGE_HEADER Mpi2FWImageHeader_t;\n\nstruct _MPI2_FW_UPLOAD_REPLY {\n\tU8 ImageType;\n\tU8 Reserved1;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU16 Reserved5;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU32___2 ActualImageSize;\n};\n\ntypedef struct _MPI2_FW_UPLOAD_REPLY Mpi2FWUploadReply_t;\n\nstruct _MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR {\n\tU8 RequestFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU16 LMID;\n\tU16 Reserved1;\n};\n\ntypedef struct _MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR;\n\nstruct _MPI2_IOC_FACTS_REPLY {\n\tU16 MsgVersion;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 HeaderVersion;\n\tU8 IOCNumber;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved1;\n\tU16 IOCExceptions;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU8 MaxChainDepth;\n\tU8 WhoInit;\n\tU8 NumberOfPorts;\n\tU8 MaxMSIxVectors;\n\tU16 RequestCredit;\n\tU16 ProductID;\n\tU32___2 IOCCapabilities;\n\tMPI2_VERSION_UNION FWVersion;\n\tU16 IOCRequestFrameSize;\n\tU16 IOCMaxChainSegmentSize;\n\tU16 MaxInitiators;\n\tU16 MaxTargets;\n\tU16 MaxSasExpanders;\n\tU16 MaxEnclosures;\n\tU16 ProtocolFlags;\n\tU16 HighPriorityCredit;\n\tU16 MaxReplyDescriptorPostQueueDepth;\n\tU8 ReplyFrameSize;\n\tU8 MaxVolumes;\n\tU16 MaxDevHandle;\n\tU16 MaxPersistentEntries;\n\tU16 MinDevHandle;\n\tU8 CurrentHostPageSize;\n\tU8 Reserved4;\n\tU8 SGEModifierMask;\n\tU8 SGEModifierValue;\n\tU8 SGEModifierShift;\n\tU8 Reserved5;\n};\n\ntypedef struct _MPI2_IOC_FACTS_REPLY Mpi2IOCFactsReply_t;\n\nstruct _MPI2_IOC_FACTS_REQUEST {\n\tU16 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n};\n\ntypedef struct _MPI2_IOC_FACTS_REQUEST Mpi2IOCFactsRequest_t;\n\nstruct _MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY {\n\tU64 RDPQBaseAddress;\n\tU32___2 Reserved1;\n\tU32___2 Reserved2;\n};\n\nstruct _MPI2_IOC_INIT_REPLY {\n\tU8 WhoInit;\n\tU8 Reserved1;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU16 Reserved5;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n};\n\ntypedef struct _MPI2_IOC_INIT_REPLY Mpi2IOCInitReply_t;\n\nstruct _MPI2_IOC_INIT_REQUEST {\n\tU8 WhoInit;\n\tU8 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU16 MsgVersion;\n\tU16 HeaderVersion;\n\tU32___2 Reserved5;\n\tU16 ConfigurationFlags;\n\tU8 HostPageSize;\n\tU8 HostMSIxVectors;\n\tU16 Reserved8;\n\tU16 SystemRequestFrameSize;\n\tU16 ReplyDescriptorPostQueueDepth;\n\tU16 ReplyFreeQueueDepth;\n\tU32___2 SenseBufferAddressHigh;\n\tU32___2 SystemReplyAddressHigh;\n\tU64 SystemRequestFrameBaseAddress;\n\tU64 ReplyDescriptorPostQueueAddress;\n\tU64 ReplyFreeQueueAddress;\n\tU64 TimeStamp;\n};\n\ntypedef struct _MPI2_IOC_INIT_REQUEST Mpi2IOCInitRequest_t;\n\ntypedef union _MPI2_MPI2_BIOSPAGE2_BOOT_DEVICE Mpi2BiosPage2BootDevice_t;\n\nstruct _MPI2_PORT_ENABLE_REPLY {\n\tU16 Reserved1;\n\tU8 MsgLength;\n\tU8 Function;\n\tU8 Reserved2;\n\tU8 PortFlags;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU16 Reserved5;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n};\n\ntypedef struct _MPI2_PORT_ENABLE_REPLY Mpi2PortEnableReply_t;\n\nstruct _MPI2_PORT_ENABLE_REQUEST {\n\tU16 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU8 Reserved2;\n\tU8 PortFlags;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n};\n\ntypedef struct _MPI2_PORT_ENABLE_REQUEST Mpi2PortEnableRequest_t;\n\nstruct _MPI2_PORT_FACTS_REPLY {\n\tU16 Reserved1;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 PortNumber;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU16 Reserved4;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU8 Reserved5;\n\tU8 PortType;\n\tU16 Reserved6;\n\tU16 MaxPostedCmdBuffers;\n\tU16 Reserved7;\n};\n\ntypedef struct _MPI2_PORT_FACTS_REPLY Mpi2PortFactsReply_t;\n\nstruct _MPI2_PORT_FACTS_REQUEST {\n\tU16 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 PortNumber;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n};\n\ntypedef struct _MPI2_PORT_FACTS_REQUEST Mpi2PortFactsRequest_t;\n\nstruct _MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR {\n\tU8 ReplyFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU32___2 Reserved;\n};\n\ntypedef struct _MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR;\n\ntypedef MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR MPI26_PCIE_ENCAPSULATED_SUCCESS_REPLY_DESCRIPTOR;\n\nstruct _MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR {\n\tU8 RequestFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU16 LMID;\n\tU16 Reserved;\n};\n\ntypedef struct _MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR;\n\nstruct _MPI2_RAID_ACTION_RATE_DATA {\n\tU8 RateToChange;\n\tU8 RateOrMode;\n\tU16 DataScrubDuration;\n};\n\ntypedef struct _MPI2_RAID_ACTION_RATE_DATA MPI2_RAID_ACTION_RATE_DATA;\n\nstruct _MPI2_RAID_ACTION_START_RAID_FUNCTION {\n\tU8 RAIDFunction;\n\tU8 Flags;\n\tU16 Reserved1;\n};\n\ntypedef struct _MPI2_RAID_ACTION_START_RAID_FUNCTION MPI2_RAID_ACTION_START_RAID_FUNCTION;\n\nstruct _MPI2_RAID_ACTION_STOP_RAID_FUNCTION {\n\tU8 RAIDFunction;\n\tU8 Flags;\n\tU16 Reserved1;\n};\n\ntypedef struct _MPI2_RAID_ACTION_STOP_RAID_FUNCTION MPI2_RAID_ACTION_STOP_RAID_FUNCTION;\n\nstruct _MPI2_RAID_ACTION_HOT_SPARE {\n\tU8 HotSparePool;\n\tU8 Reserved1;\n\tU16 DevHandle;\n};\n\ntypedef struct _MPI2_RAID_ACTION_HOT_SPARE MPI2_RAID_ACTION_HOT_SPARE;\n\nstruct _MPI2_RAID_ACTION_FW_UPDATE_MODE {\n\tU8 Flags;\n\tU8 DeviceFirmwareUpdateModeTimeout;\n\tU16 Reserved1;\n};\n\ntypedef struct _MPI2_RAID_ACTION_FW_UPDATE_MODE MPI2_RAID_ACTION_FW_UPDATE_MODE;\n\nunion _MPI2_RAID_ACTION_DATA {\n\tU32___2 Word;\n\tMPI2_RAID_ACTION_RATE_DATA Rates;\n\tMPI2_RAID_ACTION_START_RAID_FUNCTION StartRaidFunction;\n\tMPI2_RAID_ACTION_STOP_RAID_FUNCTION StopRaidFunction;\n\tMPI2_RAID_ACTION_HOT_SPARE HotSpare;\n\tMPI2_RAID_ACTION_FW_UPDATE_MODE FwUpdateMode;\n};\n\ntypedef union _MPI2_RAID_ACTION_DATA MPI2_RAID_ACTION_DATA;\n\nstruct _MPI2_RAID_VOL_INDICATOR {\n\tU64 TotalBlocks;\n\tU64 BlocksRemaining;\n\tU32___2 Flags;\n\tU32___2 ElapsedSeconds;\n};\n\ntypedef struct _MPI2_RAID_VOL_INDICATOR MPI2_RAID_VOL_INDICATOR;\n\nstruct _MPI2_RAID_COMPATIBILITY_RESULT_STRUCT {\n\tU8 State;\n\tU8 Reserved1;\n\tU16 Reserved2;\n\tU32___2 GenericAttributes;\n\tU32___2 OEMSpecificAttributes;\n\tU32___2 Reserved3;\n\tU32___2 Reserved4;\n};\n\ntypedef struct _MPI2_RAID_COMPATIBILITY_RESULT_STRUCT MPI2_RAID_COMPATIBILITY_RESULT_STRUCT;\n\nunion _MPI2_RAID_ACTION_REPLY_DATA {\n\tU32___2 Word[6];\n\tMPI2_RAID_VOL_INDICATOR RaidVolumeIndicator;\n\tU16 VolDevHandle;\n\tU8 VolumeState;\n\tU8 PhysDiskNum;\n\tMPI2_RAID_COMPATIBILITY_RESULT_STRUCT RaidCompatibilityResult;\n};\n\ntypedef union _MPI2_RAID_ACTION_REPLY_DATA MPI2_RAID_ACTION_REPLY_DATA;\n\nstruct _MPI2_RAID_ACTION_REPLY {\n\tU8 Action;\n\tU8 Reserved1;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 VolDevHandle;\n\tU8 PhysDiskNum;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU16 Reserved3;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tMPI2_RAID_ACTION_REPLY_DATA ActionData;\n} __attribute__((packed));\n\ntypedef struct _MPI2_RAID_ACTION_REPLY Mpi2RaidActionReply_t;\n\nstruct _MPI2_RAID_ACTION_REQUEST {\n\tU8 Action;\n\tU8 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 VolDevHandle;\n\tU8 PhysDiskNum;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU32___2 Reserved3;\n\tMPI2_RAID_ACTION_DATA ActionDataWord;\n\tMPI2_SGE_SIMPLE_UNION ActionDataSGE;\n};\n\ntypedef struct _MPI2_RAID_ACTION_REQUEST Mpi2RaidActionRequest_t;\n\nstruct _MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR {\n\tU8 ReplyFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU16 TaskTag;\n\tU16 Reserved1;\n};\n\ntypedef struct _MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR;\n\nstruct _MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR {\n\tU8 ReplyFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU8 SequenceNumber;\n\tU8 Reserved1;\n\tU16 IoIndex;\n};\n\ntypedef struct _MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR;\n\nstruct _MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR {\n\tU8 ReplyFlags;\n\tU8 MSIxIndex;\n\tU8 VP_ID;\n\tU8 Flags;\n\tU16 InitiatorDevHandle;\n\tU16 IoIndex;\n};\n\ntypedef struct _MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR;\n\ntypedef MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR MPI25_FP_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR;\n\nunion _MPI2_REPLY_DESCRIPTORS_UNION {\n\tMPI2_DEFAULT_REPLY_DESCRIPTOR Default;\n\tMPI2_ADDRESS_REPLY_DESCRIPTOR AddressReply;\n\tMPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR SCSIIOSuccess;\n\tMPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR TargetAssistSuccess;\n\tMPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR TargetCommandBuffer;\n\tMPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR RAIDAcceleratorSuccess;\n\tMPI25_FP_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR FastPathSCSIIOSuccess;\n\tMPI26_PCIE_ENCAPSULATED_SUCCESS_REPLY_DESCRIPTOR PCIeEncapsulatedSuccess;\n\tU64 Words;\n};\n\ntypedef union _MPI2_REPLY_DESCRIPTORS_UNION Mpi2ReplyDescriptorsUnion_t;\n\nstruct _MPI2_SCSI_IO_REQUEST_DESCRIPTOR {\n\tU8 RequestFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU16 LMID;\n\tU16 DevHandle;\n};\n\ntypedef struct _MPI2_SCSI_IO_REQUEST_DESCRIPTOR MPI2_SCSI_IO_REQUEST_DESCRIPTOR;\n\nstruct _MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR {\n\tU8 RequestFlags;\n\tU8 MSIxIndex;\n\tU16 SMID;\n\tU16 LMID;\n\tU16 IoIndex;\n};\n\ntypedef struct _MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR;\n\ntypedef MPI2_SCSI_IO_REQUEST_DESCRIPTOR MPI25_FP_SCSI_IO_REQUEST_DESCRIPTOR;\n\ntypedef MPI2_SCSI_IO_REQUEST_DESCRIPTOR MPI26_PCIE_ENCAPSULATED_REQUEST_DESCRIPTOR;\n\nunion _MPI2_REQUEST_DESCRIPTOR_UNION {\n\tMPI2_DEFAULT_REQUEST_DESCRIPTOR Default;\n\tMPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR HighPriority;\n\tMPI2_SCSI_IO_REQUEST_DESCRIPTOR SCSIIO;\n\tMPI2_SCSI_TARGET_REQUEST_DESCRIPTOR SCSITarget;\n\tMPI2_RAID_ACCEL_REQUEST_DESCRIPTOR RAIDAccelerator;\n\tMPI25_FP_SCSI_IO_REQUEST_DESCRIPTOR FastPathSCSIIO;\n\tMPI26_PCIE_ENCAPSULATED_REQUEST_DESCRIPTOR PCIeEncapsulated;\n\tU64 Words;\n};\n\ntypedef union _MPI2_REQUEST_DESCRIPTOR_UNION Mpi2RequestDescriptorUnion_t;\n\nstruct _MPI2_REQUEST_HEADER {\n\tU16 FunctionDependent1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 FunctionDependent2;\n\tU8 FunctionDependent3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved1;\n};\n\ntypedef struct _MPI2_REQUEST_HEADER MPI2RequestHeader_t;\n\nstruct _MPI2_SAS_IOUNIT_CONTROL_REPLY {\n\tU8 Operation;\n\tU8 Reserved1;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 DevHandle;\n\tU8 IOCParameter;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU16 Reserved4;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n};\n\ntypedef struct _MPI2_SAS_IOUNIT_CONTROL_REPLY Mpi2SasIoUnitControlReply_t;\n\nstruct _MPI2_SAS_IOUNIT_CONTROL_REQUEST {\n\tU8 Operation;\n\tU8 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 DevHandle;\n\tU8 IOCParameter;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU16 Reserved4;\n\tU8 PhyNum;\n\tU8 PrimFlags;\n\tU32___2 Primitive;\n\tU8 LookupMethod;\n\tU8 Reserved5;\n\tU16 SlotNumber;\n\tU64 LookupAddress;\n\tU32___2 IOCParameterValue;\n\tU32___2 Reserved7;\n\tU32___2 Reserved8;\n} __attribute__((packed));\n\ntypedef struct _MPI2_SAS_IOUNIT_CONTROL_REQUEST Mpi2SasIoUnitControlRequest_t;\n\nunion _MPI2_SCSI_IO_CDB_UNION {\n\tU8 CDB32[32];\n\tMPI2_SCSI_IO_CDB_EEDP32 EEDP32;\n\tMPI2_SGE_SIMPLE_UNION SGE;\n};\n\ntypedef union _MPI2_SCSI_IO_CDB_UNION MPI2_SCSI_IO_CDB_UNION;\n\nstruct _MPI2_SCSI_IO_REPLY {\n\tU16 DevHandle;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 Reserved1;\n\tU8 Reserved2;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU8 SCSIStatus;\n\tU8 SCSIState;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU32___2 TransferCount;\n\tU32___2 SenseCount;\n\tU32___2 ResponseInfo;\n\tU16 TaskTag;\n\tU16 SCSIStatusQualifier;\n\tU32___2 BidirectionalTransferCount;\n\tU32___2 EEDPErrorOffset;\n\tU16 EEDPObservedAppTag;\n\tU16 EEDPObservedGuard;\n\tU32___2 EEDPObservedRefTag;\n};\n\ntypedef struct _MPI2_SCSI_IO_REPLY Mpi2SCSIIOReply_t;\n\nstruct _MPI2_SCSI_IO_REQUEST {\n\tU16 DevHandle;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved1;\n\tU8 Reserved2;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU32___2 SenseBufferLowAddress;\n\tU16 SGLFlags;\n\tU8 SenseBufferLength;\n\tU8 Reserved4;\n\tU8 SGLOffset0;\n\tU8 SGLOffset1;\n\tU8 SGLOffset2;\n\tU8 SGLOffset3;\n\tU32___2 SkipCount;\n\tU32___2 DataLength;\n\tU32___2 BidirectionalDataLength;\n\tU16 IoFlags;\n\tU16 EEDPFlags;\n\tU32___2 EEDPBlockSize;\n\tU32___2 SecondaryReferenceTag;\n\tU16 SecondaryApplicationTag;\n\tU16 ApplicationTagTranslationMask;\n\tU8 LUN[8];\n\tU32___2 Control;\n\tMPI2_SCSI_IO_CDB_UNION CDB;\n\tMPI2_SGE_IO_UNION SGL;\n};\n\ntypedef struct _MPI2_SCSI_IO_REQUEST Mpi2SCSIIORequest_t;\n\nstruct _MPI2_SCSI_TASK_MANAGE_REPLY {\n\tU16 DevHandle;\n\tU8 MsgLength;\n\tU8 Function;\n\tU8 ResponseCode;\n\tU8 TaskType;\n\tU8 Reserved1;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU16 Reserved3;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU32___2 TerminationCount;\n\tU32___2 ResponseInfo;\n};\n\ntypedef struct _MPI2_SCSI_TASK_MANAGE_REPLY Mpi2SCSITaskManagementReply_t;\n\nstruct _MPI2_SCSI_TASK_MANAGE_REQUEST {\n\tU16 DevHandle;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU8 Reserved1;\n\tU8 TaskType;\n\tU8 Reserved2;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved3;\n\tU8 LUN[8];\n\tU32___2 Reserved4[7];\n\tU16 TaskMID;\n\tU16 Reserved5;\n};\n\ntypedef struct _MPI2_SCSI_TASK_MANAGE_REQUEST Mpi2SCSITaskManagementRequest_t;\n\nstruct _MPI2_SEP_REPLY {\n\tU16 DevHandle;\n\tU8 MsgLength;\n\tU8 Function;\n\tU8 Action;\n\tU8 Flags;\n\tU8 Reserved1;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU16 Reserved3;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU32___2 SlotStatus;\n\tU32___2 Reserved4;\n\tU16 Slot;\n\tU16 EnclosureHandle;\n};\n\ntypedef struct _MPI2_SEP_REPLY Mpi2SepReply_t;\n\nstruct _MPI2_SEP_REQUEST {\n\tU16 DevHandle;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU8 Action;\n\tU8 Flags;\n\tU8 Reserved1;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved2;\n\tU32___2 SlotStatus;\n\tU32___2 Reserved3;\n\tU32___2 Reserved4;\n\tU32___2 Reserved5;\n\tU16 Slot;\n\tU16 EnclosureHandle;\n};\n\ntypedef struct _MPI2_SEP_REQUEST Mpi2SepRequest_t;\n\nstruct _MPI2_SGE_SIMPLE32 {\n\tU32___2 FlagsLength;\n\tU32___2 Address;\n};\n\ntypedef struct _MPI2_SGE_SIMPLE32 Mpi2SGESimple32_t;\n\nstruct _MPI2_SGE_SIMPLE64 {\n\tU32___2 FlagsLength;\n\tU64 Address;\n} __attribute__((packed));\n\ntypedef struct _MPI2_SGE_SIMPLE64 Mpi2SGESimple64_t;\n\nunion _MPI2_SIMPLE_SGE_UNION {\n\tMPI2_SGE_SIMPLE_UNION MpiSimple;\n\tMPI2_IEEE_SGE_SIMPLE_UNION IeeeSimple;\n};\n\ntypedef union _MPI2_SIMPLE_SGE_UNION MPI2_SIMPLE_SGE_UNION;\n\nstruct _MPI2_SMP_PASSTHROUGH_REPLY {\n\tU8 PassthroughFlags;\n\tU8 PhysicalPort;\n\tU8 MsgLength;\n\tU8 Function;\n\tU16 ResponseDataLength;\n\tU8 SGLFlags;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved1;\n\tU8 Reserved2;\n\tU8 SASStatus;\n\tU16 IOCStatus;\n\tU32___2 IOCLogInfo;\n\tU32___2 Reserved3;\n\tU8 ResponseData[4];\n};\n\ntypedef struct _MPI2_SMP_PASSTHROUGH_REPLY Mpi2SmpPassthroughReply_t;\n\nstruct _MPI2_SMP_PASSTHROUGH_REQUEST {\n\tU8 PassthroughFlags;\n\tU8 PhysicalPort;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 RequestDataLength;\n\tU8 SGLFlags;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved1;\n\tU32___2 Reserved2;\n\tU64 SASAddress;\n\tU32___2 Reserved3;\n\tU32___2 Reserved4;\n\tMPI2_SIMPLE_SGE_UNION SGL;\n};\n\ntypedef struct _MPI2_SMP_PASSTHROUGH_REQUEST Mpi2SmpPassthroughRequest_t;\n\nstruct _MPI2_SYSTEM_INTERFACE_REGS {\n\tU32___2 Doorbell;\n\tU32___2 WriteSequence;\n\tU32___2 HostDiagnostic;\n\tU32___2 Reserved1;\n\tU32___2 DiagRWData;\n\tU32___2 DiagRWAddressLow;\n\tU32___2 DiagRWAddressHigh;\n\tU32___2 Reserved2[5];\n\tU32___2 HostInterruptStatus;\n\tU32___2 HostInterruptMask;\n\tU32___2 DCRData;\n\tU32___2 DCRAddress;\n\tU32___2 Reserved3[2];\n\tU32___2 ReplyFreeHostIndex;\n\tU32___2 Reserved4[8];\n\tU32___2 ReplyPostHostIndex;\n\tU32___2 Reserved5;\n\tU32___2 HCBSize;\n\tU32___2 HCBAddressLow;\n\tU32___2 HCBAddressHigh;\n\tU32___2 Reserved6[12];\n\tU32___2 Scratchpad[4];\n\tU32___2 RequestDescriptorPostLow;\n\tU32___2 RequestDescriptorPostHigh;\n\tU32___2 AtomicRequestDescriptorPost;\n\tU32___2 Reserved7[13];\n};\n\nstruct _MPI2_TOOLBOX_CLEAN_REQUEST {\n\tU8 Tool;\n\tU8 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tU32___2 Flags;\n};\n\ntypedef struct _MPI2_TOOLBOX_CLEAN_REQUEST Mpi2ToolboxCleanRequest_t;\n\nstruct _MPI2_TOOLBOX_MEM_MOVE_REQUEST {\n\tU8 Tool;\n\tU8 Reserved1;\n\tU8 ChainOffset;\n\tU8 Function;\n\tU16 Reserved2;\n\tU8 Reserved3;\n\tU8 MsgFlags;\n\tU8 VP_ID;\n\tU8 VF_ID;\n\tU16 Reserved4;\n\tMPI2_SGE_SIMPLE_UNION SGL;\n};\n\ntypedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST Mpi2ToolboxMemMoveRequest_t;\n\nstruct __aio_sigset {\n\tconst sigset_t *sigmask;\n\tsize_t sigsetsize;\n};\n\nstruct llist_node {\n\tstruct llist_node *next;\n};\n\nstruct __call_single_node {\n\tstruct llist_node llist;\n\tunion {\n\t\tunsigned int u_flags;\n\t\tatomic_t a_flags;\n\t};\n\tu16 src;\n\tu16 dst;\n};\n\ntypedef void (*smp_call_func_t)(void *);\n\nstruct __call_single_data {\n\tstruct __call_single_node node;\n\tsmp_call_func_t func;\n\tvoid *info;\n};\n\ntypedef struct __call_single_data call_single_data_t;\n\nstruct cpumask;\n\nstruct __cmp_key {\n\tconst struct cpumask *cpus;\n\tstruct cpumask ***masks;\n\tint node;\n\tint cpu;\n\tint w;\n};\n\nstruct drm_connector;\n\nstruct drm_connector_state;\n\nstruct __drm_connnectors_state {\n\tstruct drm_connector *ptr;\n\tstruct drm_connector_state *state;\n\tstruct drm_connector_state *old_state;\n\tstruct drm_connector_state *new_state;\n\ts32 *out_fence_ptr;\n};\n\nstruct drm_crtc;\n\nstruct drm_crtc_state;\n\nstruct drm_crtc_commit;\n\nstruct __drm_crtcs_state {\n\tstruct drm_crtc *ptr;\n\tstruct drm_crtc_state *state;\n\tstruct drm_crtc_state *old_state;\n\tstruct drm_crtc_state *new_state;\n\tstruct drm_crtc_commit *commit;\n\ts32 *out_fence_ptr;\n\tu64 last_vblank_count;\n};\n\nstruct drm_plane;\n\nstruct drm_plane_state;\n\nstruct __drm_planes_state {\n\tstruct drm_plane *ptr;\n\tstruct drm_plane_state *state;\n\tstruct drm_plane_state *old_state;\n\tstruct drm_plane_state *new_state;\n};\n\nstruct drm_private_obj;\n\nstruct drm_private_state;\n\nstruct __drm_private_objs_state {\n\tstruct drm_private_obj *ptr;\n\tstruct drm_private_state *state;\n\tstruct drm_private_state *old_state;\n\tstruct drm_private_state *new_state;\n};\n\nstruct __fb_timings {\n\tu32 dclk;\n\tu32 hfreq;\n\tu32 vfreq;\n\tu32 hactive;\n\tu32 vactive;\n\tu32 hblank;\n\tu32 vblank;\n\tu32 htotal;\n\tu32 vtotal;\n};\n\nstruct genradix_root;\n\nstruct __genradix {\n\tstruct genradix_root *root;\n};\n\nstruct pmu;\n\nstruct cgroup;\n\nstruct __group_key {\n\tint cpu;\n\tstruct pmu *pmu;\n\tstruct cgroup *cgroup;\n};\n\nstruct __ip6_tnl_parm {\n\tchar name[16];\n\tint link;\n\t__u8 proto;\n\t__u8 encap_limit;\n\t__u8 hop_limit;\n\tbool collect_md;\n\t__be32 flowinfo;\n\t__u32 flags;\n\tstruct in6_addr laddr;\n\tstruct in6_addr raddr;\n\tlong unsigned int i_flags[1];\n\tlong unsigned int o_flags[1];\n\t__be32 i_key;\n\t__be32 o_key;\n\t__u32 fwmark;\n\t__u32 index;\n\t__u8 erspan_ver;\n\t__u8 dir;\n\t__u16 hwid;\n};\n\nstruct __kernel_timespec {\n\t__kernel_time64_t tv_sec;\n\tlong long int tv_nsec;\n};\n\nstruct __kernel_itimerspec {\n\tstruct __kernel_timespec it_interval;\n\tstruct __kernel_timespec it_value;\n};\n\nstruct __kernel_old_timeval {\n\t__kernel_long_t tv_sec;\n\t__kernel_long_t tv_usec;\n};\n\nstruct __kernel_old_itimerval {\n\tstruct __kernel_old_timeval it_interval;\n\tstruct __kernel_old_timeval it_value;\n};\n\nstruct __kernel_old_timespec {\n\t__kernel_old_time_t tv_sec;\n\tlong int tv_nsec;\n};\n\nstruct __kernel_sock_timeval {\n\t__s64 tv_sec;\n\t__s64 tv_usec;\n};\n\nstruct __kernel_sockaddr_storage {\n\tunion {\n\t\tstruct {\n\t\t\t__kernel_sa_family_t ss_family;\n\t\t\tchar __data[126];\n\t\t};\n\t\tvoid *__align;\n\t};\n};\n\nstruct __kernel_timex_timeval {\n\t__kernel_time64_t tv_sec;\n\tlong long int tv_usec;\n};\n\nstruct __kernel_timex {\n\tunsigned int modes;\n\tlong long int offset;\n\tlong long int freq;\n\tlong long int maxerror;\n\tlong long int esterror;\n\tint status;\n\tlong long int constant;\n\tlong long int precision;\n\tlong long int tolerance;\n\tstruct __kernel_timex_timeval time;\n\tlong long int tick;\n\tlong long int ppsfreq;\n\tlong long int jitter;\n\tint shift;\n\tlong long int stabil;\n\tlong long int jitcnt;\n\tlong long int calcnt;\n\tlong long int errcnt;\n\tlong long int stbcnt;\n\tint tai;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct __kfifo {\n\tunsigned int in;\n\tunsigned int out;\n\tunsigned int mask;\n\tunsigned int esize;\n\tvoid *data;\n};\n\nstruct __large_struct {\n\tlong unsigned int buf[100];\n};\n\nstruct net_device;\n\nstruct __rt6_probe_work {\n\tstruct work_struct work;\n\tstruct in6_addr target;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n};\n\nunion sigval {\n\tint sival_int;\n\tvoid *sival_ptr;\n};\n\ntypedef union sigval sigval_t;\n\nunion __sifields {\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t} _kill;\n\tstruct {\n\t\t__kernel_timer_t _tid;\n\t\tint _overrun;\n\t\tsigval_t _sigval;\n\t\tint _sys_private;\n\t} _timer;\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t\tsigval_t _sigval;\n\t} _rt;\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t\tint _status;\n\t\t__kernel_clock_t _utime;\n\t\t__kernel_clock_t _stime;\n\t} _sigchld;\n\tstruct {\n\t\tvoid *_addr;\n\t\tunion {\n\t\t\tint _trapno;\n\t\t\tshort int _addr_lsb;\n\t\t\tstruct {\n\t\t\t\tchar _dummy_bnd[8];\n\t\t\t\tvoid *_lower;\n\t\t\t\tvoid *_upper;\n\t\t\t} _addr_bnd;\n\t\t\tstruct {\n\t\t\t\tchar _dummy_pkey[8];\n\t\t\t\t__u32 _pkey;\n\t\t\t} _addr_pkey;\n\t\t\tstruct {\n\t\t\t\tlong unsigned int _data;\n\t\t\t\t__u32 _type;\n\t\t\t\t__u32 _flags;\n\t\t\t} _perf;\n\t\t};\n\t} _sigfault;\n\tstruct {\n\t\tlong int _band;\n\t\tint _fd;\n\t} _sigpoll;\n\tstruct {\n\t\tvoid *_call_addr;\n\t\tint _syscall;\n\t\tunsigned int _arch;\n\t} _sigsys;\n};\n\nstruct bpf_flow_keys;\n\nstruct bpf_sock;\n\nstruct __sk_buff {\n\t__u32 len;\n\t__u32 pkt_type;\n\t__u32 mark;\n\t__u32 queue_mapping;\n\t__u32 protocol;\n\t__u32 vlan_present;\n\t__u32 vlan_tci;\n\t__u32 vlan_proto;\n\t__u32 priority;\n\t__u32 ingress_ifindex;\n\t__u32 ifindex;\n\t__u32 tc_index;\n\t__u32 cb[5];\n\t__u32 hash;\n\t__u32 tc_classid;\n\t__u32 data;\n\t__u32 data_end;\n\t__u32 napi_id;\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 data_meta;\n\tunion {\n\t\tstruct bpf_flow_keys *flow_keys;\n\t};\n\t__u64 tstamp;\n\t__u32 wire_len;\n\t__u32 gso_segs;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\t__u32 gso_size;\n\t__u8 tstamp_type;\n\t__u64 hwtstamp;\n};\n\nstruct __track_dentry_update_args {\n\tstruct dentry *dentry;\n\tint op;\n};\n\nstruct __track_range_args {\n\text4_lblk_t start;\n\text4_lblk_t end;\n};\n\nstruct __una_u32 {\n\tu32 x;\n};\n\nstruct inode;\n\nstruct __uprobe_key {\n\tstruct inode *inode;\n\tloff_t offset;\n};\n\nstruct __user_cap_data_struct {\n\t__u32 effective;\n\t__u32 permitted;\n\t__u32 inheritable;\n};\n\ntypedef struct __user_cap_data_struct *cap_user_data_t;\n\nstruct __user_cap_header_struct {\n\t__u32 version;\n\tint pid;\n};\n\ntypedef struct __user_cap_header_struct *cap_user_header_t;\n\nstruct __xfsstats {\n\tuint32_t xs_allocx;\n\tuint32_t xs_allocb;\n\tuint32_t xs_freex;\n\tuint32_t xs_freeb;\n\tuint32_t xs_abt_lookup;\n\tuint32_t xs_abt_compare;\n\tuint32_t xs_abt_insrec;\n\tuint32_t xs_abt_delrec;\n\tuint32_t xs_blk_mapr;\n\tuint32_t xs_blk_mapw;\n\tuint32_t xs_blk_unmap;\n\tuint32_t xs_add_exlist;\n\tuint32_t xs_del_exlist;\n\tuint32_t xs_look_exlist;\n\tuint32_t xs_cmp_exlist;\n\tuint32_t xs_bmbt_lookup;\n\tuint32_t xs_bmbt_compare;\n\tuint32_t xs_bmbt_insrec;\n\tuint32_t xs_bmbt_delrec;\n\tuint32_t xs_dir_lookup;\n\tuint32_t xs_dir_create;\n\tuint32_t xs_dir_remove;\n\tuint32_t xs_dir_getdents;\n\tuint32_t xs_trans_sync;\n\tuint32_t xs_trans_async;\n\tuint32_t xs_trans_empty;\n\tuint32_t xs_ig_attempts;\n\tuint32_t xs_ig_found;\n\tuint32_t xs_ig_frecycle;\n\tuint32_t xs_ig_missed;\n\tuint32_t xs_ig_dup;\n\tuint32_t xs_ig_reclaims;\n\tuint32_t xs_ig_attrchg;\n\tuint32_t xs_log_writes;\n\tuint32_t xs_log_blocks;\n\tuint32_t xs_log_noiclogs;\n\tuint32_t xs_log_force;\n\tuint32_t xs_log_force_sleep;\n\tuint32_t xs_try_logspace;\n\tuint32_t xs_sleep_logspace;\n\tuint32_t xs_push_ail;\n\tuint32_t xs_push_ail_success;\n\tuint32_t xs_push_ail_pushbuf;\n\tuint32_t xs_push_ail_pinned;\n\tuint32_t xs_push_ail_locked;\n\tuint32_t xs_push_ail_flushing;\n\tuint32_t xs_push_ail_restarts;\n\tuint32_t xs_push_ail_flush;\n\tuint32_t xs_xstrat_quick;\n\tuint32_t xs_xstrat_split;\n\tuint32_t xs_write_calls;\n\tuint32_t xs_read_calls;\n\tuint32_t xs_attr_get;\n\tuint32_t xs_attr_set;\n\tuint32_t xs_attr_remove;\n\tuint32_t xs_attr_list;\n\tuint32_t xs_iflush_count;\n\tuint32_t xs_icluster_flushcnt;\n\tuint32_t xs_icluster_flushinode;\n\tuint32_t vn_active;\n\tuint32_t vn_alloc;\n\tuint32_t vn_get;\n\tuint32_t vn_hold;\n\tuint32_t vn_rele;\n\tuint32_t vn_reclaim;\n\tuint32_t vn_remove;\n\tuint32_t vn_free;\n\tuint32_t xb_get;\n\tuint32_t xb_create;\n\tuint32_t xb_get_locked;\n\tuint32_t xb_get_locked_waited;\n\tuint32_t xb_busy_locked;\n\tuint32_t xb_miss_locked;\n\tuint32_t xb_page_retries;\n\tuint32_t xb_page_found;\n\tuint32_t xb_get_read;\n\tuint32_t xs_abtb_2[15];\n\tuint32_t xs_abtc_2[15];\n\tuint32_t xs_bmbt_2[15];\n\tuint32_t xs_ibt_2[15];\n\tuint32_t xs_fibt_2[15];\n\tuint32_t xs_rmap_2[15];\n\tuint32_t xs_refcbt_2[15];\n\tuint32_t xs_rmap_mem_2[15];\n\tuint32_t xs_rcbag_2[15];\n\tuint32_t xs_rtrmap_2[15];\n\tuint32_t xs_rtrmap_mem_2[15];\n\tuint32_t xs_rtrefcbt_2[15];\n\tuint32_t xs_qm_dqreclaims;\n\tuint32_t xs_qm_dqreclaim_misses;\n\tuint32_t xs_qm_dquot_dups;\n\tuint32_t xs_qm_dqcachemisses;\n\tuint32_t xs_qm_dqcachehits;\n\tuint32_t xs_qm_dqwants;\n\tuint32_t xs_qm_dquot;\n\tuint32_t xs_qm_dquot_unused;\n\tuint64_t xs_xstrat_bytes;\n\tuint64_t xs_write_bytes;\n\tuint64_t xs_read_bytes;\n\tuint64_t defer_relog;\n};\n\nstruct _bpf_dtab_netdev {\n\tstruct net_device *dev;\n};\n\nstruct sctx_info;\n\nstruct _ctx_layout {\n\tstruct sctx_info *addr;\n\tunsigned int size;\n};\n\nstruct jump_entry;\n\nstruct static_key_mod;\n\nstruct static_key {\n\tatomic_t enabled;\n\tunion {\n\t\tlong unsigned int type;\n\t\tstruct jump_entry *entries;\n\t\tstruct static_key_mod *next;\n\t};\n};\n\nstruct static_key_true {\n\tstruct static_key key;\n};\n\nstruct static_key_false {\n\tstruct static_key key;\n};\n\nstruct _ddebug {\n\tconst char *modname;\n\tconst char *function;\n\tconst char *filename;\n\tconst char *format;\n\tunsigned int lineno: 18;\n\tunsigned int class_id: 6;\n\tunsigned int flags: 8;\n\tunion {\n\t\tstruct static_key_true dd_key_true;\n\t\tstruct static_key_false dd_key_false;\n\t} key;\n};\n\nstruct _enclosure_node {\n\tstruct list_head list;\n\tMpi2SasEnclosurePage0_t pg0;\n};\n\nstruct _event_ack_list {\n\tstruct list_head list;\n\tU16 Event;\n\tU32___2 EventContext;\n};\n\nstruct _flow_keys_digest_data {\n\t__be16 n_proto;\n\tu8 ip_proto;\n\tu8 padding;\n\t__be32 ports;\n\t__be32 src;\n\t__be32 dst;\n};\n\nstruct _gpt_entry_attributes {\n\tu64 required_to_function: 1;\n\tu64 reserved: 47;\n\tu64 type_guid_specific: 16;\n};\n\ntypedef struct _gpt_entry_attributes gpt_entry_attributes;\n\nstruct _gpt_entry {\n\tefi_guid_t partition_type_guid;\n\tefi_guid_t unique_partition_guid;\n\t__le64 starting_lba;\n\t__le64 ending_lba;\n\tgpt_entry_attributes attributes;\n\t__le16 partition_name[36];\n};\n\ntypedef struct _gpt_entry gpt_entry;\n\nstruct _gpt_header {\n\t__le64 signature;\n\t__le32 revision;\n\t__le32 header_size;\n\t__le32 header_crc32;\n\t__le32 reserved1;\n\t__le64 my_lba;\n\t__le64 alternate_lba;\n\t__le64 first_usable_lba;\n\t__le64 last_usable_lba;\n\tefi_guid_t disk_guid;\n\t__le64 partition_entry_lba;\n\t__le32 num_partition_entries;\n\t__le32 sizeof_partition_entry;\n\t__le32 partition_entry_array_crc32;\n} __attribute__((packed));\n\ntypedef struct _gpt_header gpt_header;\n\nstruct _gpt_mbr_record {\n\tu8 boot_indicator;\n\tu8 start_head;\n\tu8 start_sector;\n\tu8 start_track;\n\tu8 os_type;\n\tu8 end_head;\n\tu8 end_sector;\n\tu8 end_track;\n\t__le32 starting_lba;\n\t__le32 size_in_lba;\n};\n\ntypedef struct _gpt_mbr_record gpt_mbr_record;\n\nstruct kvm_stats_desc {\n\t__u32 flags;\n\t__s16 exponent;\n\t__u16 size;\n\t__u32 offset;\n\t__u32 bucket_size;\n\tchar name[0];\n};\n\nstruct _kvm_stats_desc {\n\tstruct kvm_stats_desc desc;\n\tchar name[48];\n};\n\nstruct _legacy_mbr {\n\tu8 boot_code[440];\n\t__le32 unique_mbr_signature;\n\t__le16 unknown;\n\tgpt_mbr_record partition_record[4];\n\t__le16 signature;\n} __attribute__((packed));\n\ntypedef struct _legacy_mbr legacy_mbr;\n\nstruct _pcie_device {\n\tstruct list_head list;\n\tstruct scsi_target *starget;\n\tu64 wwid;\n\tu16 handle;\n\tu32 device_info;\n\tint id;\n\tint channel;\n\tu16 slot;\n\tu8 port_num;\n\tu8 responding;\n\tu8 fast_path;\n\tu32 nvme_mdts;\n\tu16 enclosure_handle;\n\tu64 enclosure_logical_id;\n\tu8 enclosure_level;\n\tu8 connector_name[4];\n\tu8 *serial_number;\n\tu8 reset_timeout;\n\tu8 access_status;\n\tu16 shutdown_latency;\n\tstruct kref refcount;\n};\n\nstruct scsi_device;\n\nstruct _raid_device {\n\tstruct list_head list;\n\tstruct scsi_target *starget;\n\tstruct scsi_device *sdev;\n\tu64 wwid;\n\tu16 handle;\n\tu16 block_sz;\n\tint id;\n\tint channel;\n\tu8 volume_type;\n\tu8 num_pds;\n\tu8 responding;\n\tu8 percent_complete;\n\tu8 direct_io_enabled;\n\tu8 stripe_exponent;\n\tu8 block_exponent;\n\tu64 max_lba;\n\tu32 stripe_sz;\n\tu32 device_info;\n\tu16 pd_handle[8];\n};\n\nstruct _sas_device {\n\tstruct list_head list;\n\tstruct scsi_target *starget;\n\tu64 sas_address;\n\tu64 device_name;\n\tu16 handle;\n\tu64 sas_address_parent;\n\tu16 enclosure_handle;\n\tu64 enclosure_logical_id;\n\tu16 volume_handle;\n\tu64 volume_wwid;\n\tu32 device_info;\n\tint id;\n\tint channel;\n\tu16 slot;\n\tu8 phy;\n\tu8 responding;\n\tu8 fast_path;\n\tu8 pfa_led_on;\n\tu8 pend_sas_rphy_add;\n\tu8 enclosure_level;\n\tu8 chassis_slot;\n\tu8 is_chassis_slot_valid;\n\tu8 connector_name[5];\n\tstruct kref refcount;\n\tu8 port_type;\n\tstruct hba_port *port;\n\tstruct sas_rphy *rphy;\n};\n\nstruct sas_identify {\n\tenum sas_device_type device_type;\n\tenum sas_protocol initiator_port_protocols;\n\tenum sas_protocol target_port_protocols;\n\tu64 sas_address;\n\tu8 phy_identifier;\n};\n\nstruct sas_phy;\n\nstruct _sas_phy {\n\tstruct list_head port_siblings;\n\tstruct sas_identify identify;\n\tstruct sas_identify remote_identify;\n\tstruct sas_phy *phy;\n\tu8 phy_id;\n\tu16 handle;\n\tu16 attached_handle;\n\tu8 phy_belongs_to_port;\n\tu8 hba_vphy;\n\tstruct hba_port *port;\n};\n\nstruct sas_port;\n\nstruct _sas_port {\n\tstruct list_head port_list;\n\tu8 num_phys;\n\tstruct sas_identify remote_identify;\n\tstruct sas_rphy *rphy;\n\tstruct sas_port *port;\n\tstruct hba_port *hba_port;\n\tstruct list_head phy_list;\n};\n\nstruct _sc_list {\n\tstruct list_head list;\n\tu16 handle;\n};\n\nstruct strp_msg {\n\tint full_len;\n\tint offset;\n};\n\nstruct _strp_msg {\n\tstruct strp_msg strp;\n\tint accum_len;\n};\n\nstruct _tr_list {\n\tstruct list_head list;\n\tu16 handle;\n\tu16 state;\n};\n\nstruct aa_policydb;\n\nstruct aa_attachment {\n\tconst char *xmatch_str;\n\tstruct aa_policydb *xmatch;\n\tunsigned int xmatch_len;\n\tint xattr_count;\n\tchar **xattrs;\n};\n\nstruct aa_label;\n\nstruct aa_audit_rule {\n\tstruct aa_label *label;\n};\n\nunion aa_buffer {\n\tstruct list_head list;\n\tstruct {\n\t\tstruct {} __empty_buffer;\n\t\tchar buffer[0];\n\t};\n};\n\nstruct aa_caps {\n\tkernel_cap_t allow;\n\tkernel_cap_t audit;\n\tkernel_cap_t denied;\n\tkernel_cap_t quiet;\n\tkernel_cap_t kill;\n\tkernel_cap_t extended;\n};\n\nstruct rhash_head {\n\tstruct rhash_head *next;\n};\n\nstruct aa_data {\n\tchar *key;\n\tu32 size;\n\tchar *data;\n\tstruct rhash_head head;\n};\n\nstruct table_header;\n\nstruct aa_dfa {\n\tstruct kref count;\n\tu16 flags;\n\tu32 max_oob;\n\tstruct table_header *tables[8];\n};\n\nstruct aa_ext {\n\tvoid *start;\n\tvoid *end;\n\tvoid *pos;\n\tu32 version;\n};\n\nstruct aa_file_ctx {\n\tspinlock_t lock;\n\tstruct aa_label *label;\n\tu32 allow;\n};\n\nstruct aa_proxy;\n\nstruct aa_profile;\n\nstruct aa_label {\n\tstruct kref count;\n\tstruct rb_node node;\n\tstruct callback_head rcu;\n\tstruct aa_proxy *proxy;\n\tchar *hname;\n\tlong int flags;\n\tu32 secid;\n\tint size;\n\tstruct aa_profile *vec[0];\n};\n\nstruct rb_root {\n\tstruct rb_node *rb_node;\n};\n\nstruct aa_labelset {\n\trwlock_t lock;\n\tstruct rb_root root;\n};\n\nstruct aa_load_ent {\n\tstruct list_head list;\n\tstruct aa_profile *new;\n\tstruct aa_profile *old;\n\tstruct aa_profile *rename;\n\tconst char *ns_name;\n};\n\nstruct aa_ns;\n\nstruct aa_loaddata {\n\tstruct kref count;\n\tstruct list_head list;\n\tstruct work_struct work;\n\tstruct dentry *dents[6];\n\tstruct aa_ns *ns;\n\tchar *name;\n\tsize_t size;\n\tsize_t compressed_size;\n\tlong int revision;\n\tint abi;\n\tunsigned char *hash;\n\tchar *data;\n};\n\nstruct aa_local_cache {\n\tunsigned int hold;\n\tunsigned int count;\n\tstruct list_head head;\n};\n\nstruct aa_policy {\n\tconst char *name;\n\tchar *hname;\n\tstruct list_head list;\n\tstruct list_head profiles;\n};\n\nstruct aa_ns_acct {\n\tint max_size;\n\tint max_count;\n\tint size;\n\tint count;\n};\n\nstruct aa_ns {\n\tstruct aa_policy base;\n\tstruct aa_ns *parent;\n\tstruct mutex lock;\n\tstruct aa_ns_acct acct;\n\tstruct aa_profile *unconfined;\n\tstruct list_head sub_ns;\n\tatomic_t uniq_null;\n\tlong int uniq_id;\n\tint level;\n\tlong int revision;\n\twait_queue_head_t wait;\n\tstruct aa_labelset labels;\n\tstruct list_head rawdata_list;\n\tstruct dentry *dents[13];\n};\n\nstruct aa_perms {\n\tu32 allow;\n\tu32 deny;\n\tu32 subtree;\n\tu32 cond;\n\tu32 kill;\n\tu32 complain;\n\tu32 prompt;\n\tu32 audit;\n\tu32 quiet;\n\tu32 hide;\n\tu32 xindex;\n\tu32 tag;\n\tu32 label;\n};\n\nstruct aa_str_table {\n\tint size;\n\tchar **table;\n};\n\nstruct aa_policydb {\n\tstruct kref count;\n\tstruct aa_dfa *dfa;\n\tstruct {\n\t\tstruct aa_perms *perms;\n\t\tu32 size;\n\t};\n\tstruct aa_str_table trans;\n\tunsigned int start[33];\n};\n\nstruct rhashtable;\n\nstruct aa_profile {\n\tstruct aa_policy base;\n\tstruct aa_profile *parent;\n\tstruct aa_ns *ns;\n\tconst char *rename;\n\tenum audit_mode audit;\n\tlong int mode;\n\tu32 path_flags;\n\tconst char *disconnected;\n\tstruct aa_attachment attach;\n\tstruct list_head rules;\n\tstruct aa_loaddata *rawdata;\n\tunsigned char *hash;\n\tchar *dirname;\n\tstruct dentry *dents[9];\n\tstruct rhashtable *data;\n\tstruct aa_label label;\n};\n\nstruct aa_proxy {\n\tstruct kref count;\n\tstruct aa_label *label;\n};\n\nstruct aa_revision {\n\tstruct aa_ns *ns;\n\tlong int last_read;\n};\n\nstruct rlimit {\n\t__kernel_ulong_t rlim_cur;\n\t__kernel_ulong_t rlim_max;\n};\n\nstruct aa_rlimit {\n\tunsigned int mask;\n\tstruct rlimit limits[16];\n};\n\nstruct aa_secmark;\n\nstruct aa_ruleset {\n\tstruct list_head list;\n\tint size;\n\tstruct aa_policydb *policy;\n\tstruct aa_policydb *file;\n\tstruct aa_caps caps;\n\tstruct aa_rlimit rlimits;\n\tint secmark_count;\n\tstruct aa_secmark *secmark;\n};\n\nstruct aa_secmark {\n\tu8 audit;\n\tu8 deny;\n\tu32 secid;\n\tchar *label;\n};\n\nstruct file_operations;\n\nstruct aa_sfs_entry {\n\tconst char *name;\n\tstruct dentry *dentry;\n\tumode_t mode;\n\tenum aa_sfs_type v_type;\n\tunion {\n\t\tbool boolean;\n\t\tchar *string;\n\t\tlong unsigned int u64;\n\t\tstruct aa_sfs_entry *files;\n\t} v;\n\tconst struct file_operations *file_ops;\n};\n\nstruct aa_sk_ctx {\n\tstruct aa_label *label;\n\tstruct aa_label *peer;\n};\n\nstruct aa_task_ctx {\n\tstruct aa_label *nnp;\n\tstruct aa_label *onexec;\n\tstruct aa_label *previous;\n\tu64 token;\n};\n\nstruct seq_net_private {\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n};\n\nstruct ac6_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n};\n\nstruct access_coordinate {\n\tunsigned int read_bandwidth;\n\tunsigned int write_bandwidth;\n\tunsigned int read_latency;\n\tunsigned int write_latency;\n};\n\nstruct access_report_info {\n\tstruct callback_head work;\n\tconst char *access;\n\tstruct task_struct *target;\n\tstruct task_struct *agent;\n};\n\nstruct accessmap {\n\tu32 access;\n\tint how;\n};\n\nstruct acct_v3 {\n\tchar ac_flag;\n\tchar ac_version;\n\t__u16 ac_tty;\n\t__u32 ac_exitcode;\n\t__u32 ac_uid;\n\t__u32 ac_gid;\n\t__u32 ac_pid;\n\t__u32 ac_ppid;\n\t__u32 ac_btime;\n\t__u32 ac_etime;\n\tcomp_t ac_utime;\n\tcomp_t ac_stime;\n\tcomp_t ac_mem;\n\tcomp_t ac_io;\n\tcomp_t ac_rw;\n\tcomp_t ac_minflt;\n\tcomp_t ac_majflt;\n\tcomp_t ac_swaps;\n\tchar ac_comm[16];\n};\n\ntypedef struct acct_v3 acct_t;\n\nstruct ack_sample {\n\tu32 pkts_acked;\n\ts32 rtt_us;\n\tu32 in_flight;\n};\n\nstruct crypto_tfm;\n\nstruct cipher_alg {\n\tunsigned int cia_min_keysize;\n\tunsigned int cia_max_keysize;\n\tint (*cia_setkey)(struct crypto_tfm *, const u8 *, unsigned int);\n\tvoid (*cia_encrypt)(struct crypto_tfm *, u8 *, const u8 *);\n\tvoid (*cia_decrypt)(struct crypto_tfm *, u8 *, const u8 *);\n};\n\nstruct compress_alg {\n\tint (*coa_compress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *);\n\tint (*coa_decompress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *);\n};\n\nstruct crypto_type;\n\nstruct crypto_alg {\n\tstruct list_head cra_list;\n\tstruct list_head cra_users;\n\tu32 cra_flags;\n\tunsigned int cra_blocksize;\n\tunsigned int cra_ctxsize;\n\tunsigned int cra_alignmask;\n\tint cra_priority;\n\trefcount_t cra_refcnt;\n\tchar cra_name[128];\n\tchar cra_driver_name[128];\n\tconst struct crypto_type *cra_type;\n\tunion {\n\t\tstruct cipher_alg cipher;\n\t\tstruct compress_alg compress;\n\t} cra_u;\n\tint (*cra_init)(struct crypto_tfm *);\n\tvoid (*cra_exit)(struct crypto_tfm *);\n\tvoid (*cra_destroy)(struct crypto_alg *);\n\tstruct module *cra_module;\n};\n\nstruct comp_alg_common {\n\tstruct crypto_alg base;\n};\n\nstruct acomp_req;\n\nstruct scatterlist;\n\nstruct crypto_acomp;\n\nstruct acomp_alg {\n\tint (*compress)(struct acomp_req *);\n\tint (*decompress)(struct acomp_req *);\n\tvoid (*dst_free)(struct scatterlist *);\n\tint (*init)(struct crypto_acomp *);\n\tvoid (*exit)(struct crypto_acomp *);\n\tunsigned int reqsize;\n\tunion {\n\t\tstruct {\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct comp_alg_common calg;\n\t};\n};\n\ntypedef void (*crypto_completion_t)(void *, int);\n\nstruct crypto_async_request {\n\tstruct list_head list;\n\tcrypto_completion_t complete;\n\tvoid *data;\n\tstruct crypto_tfm *tfm;\n\tu32 flags;\n};\n\nstruct acomp_req {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int slen;\n\tunsigned int dlen;\n\tu32 flags;\n\tvoid *__ctx[0];\n};\n\nstruct power_supply;\n\nunion power_supply_propval;\n\nstruct power_supply_desc {\n\tconst char *name;\n\tenum power_supply_type type;\n\tu8 charge_behaviours;\n\tu32 charge_types;\n\tu32 usb_types;\n\tconst enum power_supply_property *properties;\n\tsize_t num_properties;\n\tint (*get_property)(struct power_supply *, enum power_supply_property, union power_supply_propval *);\n\tint (*set_property)(struct power_supply *, enum power_supply_property, const union power_supply_propval *);\n\tint (*property_is_writeable)(struct power_supply *, enum power_supply_property);\n\tvoid (*external_power_changed)(struct power_supply *);\n\tvoid (*set_charged)(struct power_supply *);\n\tbool no_thermal;\n\tint use_for_apm;\n};\n\nstruct notifier_block;\n\ntypedef int (*notifier_fn_t)(struct notifier_block *, long unsigned int, void *);\n\nstruct notifier_block {\n\tnotifier_fn_t notifier_call;\n\tstruct notifier_block *next;\n\tint priority;\n};\n\nstruct acpi_device;\n\nstruct acpi_ac {\n\tstruct power_supply *charger;\n\tstruct power_supply_desc charger_desc;\n\tstruct acpi_device *device;\n\tlong long unsigned int state;\n\tstruct notifier_block battery_nb;\n};\n\nstruct acpi_address16_attribute {\n\tu16 granularity;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 translation_offset;\n\tu16 address_length;\n};\n\nstruct acpi_address32_attribute {\n\tu32 granularity;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 translation_offset;\n\tu32 address_length;\n};\n\nstruct acpi_address64_attribute {\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n};\n\nstruct acpi_namespace_node;\n\nstruct acpi_address_range {\n\tstruct acpi_address_range *next;\n\tstruct acpi_namespace_node *region_node;\n\tacpi_physical_address start_address;\n\tacpi_physical_address end_address;\n};\n\nstruct acpi_battery {\n\tstruct mutex lock;\n\tstruct mutex sysfs_lock;\n\tstruct power_supply *bat;\n\tstruct power_supply_desc bat_desc;\n\tstruct acpi_device *device;\n\tstruct notifier_block pm_nb;\n\tstruct list_head list;\n\tlong unsigned int update_time;\n\tint revision;\n\tint rate_now;\n\tint capacity_now;\n\tint voltage_now;\n\tint design_capacity;\n\tint full_charge_capacity;\n\tint technology;\n\tint design_voltage;\n\tint design_capacity_warning;\n\tint design_capacity_low;\n\tint cycle_count;\n\tint measurement_accuracy;\n\tint max_sampling_time;\n\tint min_sampling_time;\n\tint max_averaging_interval;\n\tint min_averaging_interval;\n\tint capacity_granularity_1;\n\tint capacity_granularity_2;\n\tint alarm;\n\tchar model_number[64];\n\tchar serial_number[64];\n\tchar type[64];\n\tchar oem_info[64];\n\tint state;\n\tint power_unit;\n\tlong unsigned int flags;\n};\n\nstruct acpi_battery_hook {\n\tconst char *name;\n\tint (*add_battery)(struct power_supply *, struct acpi_battery_hook *);\n\tint (*remove_battery)(struct power_supply *, struct acpi_battery_hook *);\n\tstruct list_head list;\n};\n\nstruct acpi_bit_register_info {\n\tu8 parent_register;\n\tu8 bit_position;\n\tu16 access_bit_mask;\n};\n\nstruct acpi_buffer {\n\tacpi_size length;\n\tvoid *pointer;\n};\n\nstruct acpi_bus_event {\n\tstruct list_head node;\n\tacpi_device_class device_class;\n\tacpi_bus_id bus_id;\n\tu32 type;\n\tu32 data;\n};\n\nstruct acpi_bus_type {\n\tstruct list_head list;\n\tconst char *name;\n\tbool (*match)(struct device *);\n\tstruct acpi_device * (*find_companion)(struct device *);\n\tvoid (*setup)(struct device *);\n};\n\nstruct input_dev;\n\nstruct acpi_button {\n\tunsigned int type;\n\tstruct input_dev *input;\n\tchar phys[32];\n\tlong unsigned int pushed;\n\tint last_state;\n\tktime_t last_time;\n\tbool suspended;\n\tbool lid_state_initialized;\n};\n\nstruct acpi_cdat_header {\n\tu8 type;\n\tu8 reserved;\n\tu16 length;\n};\n\nstruct acpi_cedt_header {\n\tu8 type;\n\tu8 reserved;\n\tu16 length;\n};\n\nstruct acpi_cedt_cfmws {\n\tstruct acpi_cedt_header header;\n\tu32 reserved1;\n\tu64 base_hpa;\n\tu64 window_size;\n\tu8 interleave_ways;\n\tu8 interleave_arithmetic;\n\tu16 reserved2;\n\tu32 granularity;\n\tu16 restrictions;\n\tu16 qtg_id;\n\tu32 interleave_targets[0];\n} __attribute__((packed));\n\nstruct acpi_comment_node {\n\tchar *comment;\n\tstruct acpi_comment_node *next;\n};\n\nstruct acpi_common_descriptor {\n\tvoid *common_pointer;\n\tu8 descriptor_type;\n};\n\nstruct acpi_common_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n};\n\nstruct acpi_connection_info {\n\tu8 *connection;\n\tu16 length;\n\tu8 access_length;\n};\n\nunion acpi_parse_object;\n\nstruct acpi_control_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu16 opcode;\n\tunion acpi_parse_object *predicate_op;\n\tu8 *aml_predicate_start;\n\tu8 *package_end;\n\tu64 loop_timeout;\n};\n\nstruct acpi_create_field_info {\n\tstruct acpi_namespace_node *region_node;\n\tstruct acpi_namespace_node *field_node;\n\tstruct acpi_namespace_node *register_node;\n\tstruct acpi_namespace_node *data_register_node;\n\tstruct acpi_namespace_node *connection_node;\n\tu8 *resource_buffer;\n\tu32 bank_value;\n\tu32 field_bit_position;\n\tu32 field_bit_length;\n\tu16 resource_length;\n\tu16 pin_number_index;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 field_type;\n\tu8 access_length;\n};\n\nstruct acpi_csrt_group {\n\tu32 length;\n\tu32 vendor_id;\n\tu32 subvendor_id;\n\tu16 device_id;\n\tu16 subdevice_id;\n\tu16 revision;\n\tu16 reserved;\n\tu32 shared_info_length;\n};\n\nstruct acpi_csrt_shared_info {\n\tu16 major_version;\n\tu16 minor_version;\n\tu32 mmio_base_low;\n\tu32 mmio_base_high;\n\tu32 gsi_interrupt;\n\tu8 interrupt_polarity;\n\tu8 interrupt_mode;\n\tu8 num_channels;\n\tu8 dma_address_width;\n\tu16 base_request_line;\n\tu16 num_handshake_signals;\n\tu32 max_block_size;\n};\n\nstruct attribute {\n\tconst char *name;\n\tumode_t mode;\n};\n\nstruct address_space;\n\nstruct file;\n\nstruct vm_area_struct;\n\nstruct bin_attribute {\n\tstruct attribute attr;\n\tsize_t size;\n\tvoid *private;\n\tstruct address_space * (*f_mapping)(void);\n\tssize_t (*read)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*read_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*write)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*write_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t);\n\tloff_t (*llseek)(struct file *, struct kobject *, const struct bin_attribute *, loff_t, int);\n\tint (*mmap)(struct file *, struct kobject *, const struct bin_attribute *, struct vm_area_struct *);\n};\n\nstruct acpi_data_attr {\n\tstruct bin_attribute attr;\n\tu64 addr;\n};\n\ntypedef void *acpi_handle;\n\nstruct fwnode_operations;\n\nstruct fwnode_handle {\n\tstruct fwnode_handle *secondary;\n\tconst struct fwnode_operations *ops;\n\tstruct device *dev;\n\tstruct list_head suppliers;\n\tstruct list_head consumers;\n\tu8 flags;\n};\n\nunion acpi_object;\n\nstruct acpi_device_data {\n\tconst union acpi_object *pointer;\n\tstruct list_head properties;\n\tconst union acpi_object *of_compatible;\n\tstruct list_head subnodes;\n};\n\nstruct acpi_data_node {\n\tstruct list_head sibling;\n\tconst char *name;\n\tacpi_handle handle;\n\tstruct fwnode_handle fwnode;\n\tstruct fwnode_handle *parent;\n\tstruct acpi_device_data data;\n\tstruct kobject kobj;\n\tstruct completion kobj_done;\n};\n\nstruct acpi_data_node_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct acpi_data_node *, char *);\n\tssize_t (*store)(struct acpi_data_node *, const char *, size_t);\n};\n\nstruct acpi_data_obj {\n\tchar *name;\n\tint (*fn)(void *, struct acpi_data_attr *);\n};\n\nstruct acpi_data_table_mapping {\n\tvoid *pointer;\n};\n\nstruct acpi_dep_data {\n\tstruct list_head node;\n\tacpi_handle supplier;\n\tacpi_handle consumer;\n\tbool honor_dep;\n\tbool met;\n\tbool free_when_met;\n};\n\nunion acpi_operand_object;\n\nstruct acpi_object_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n};\n\nstruct acpi_object_integer {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 fill[3];\n\tu64 value;\n};\n\nstruct acpi_object_string {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tchar *pointer;\n\tu32 length;\n};\n\nstruct acpi_object_buffer {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 *pointer;\n\tu32 length;\n\tu32 aml_length;\n\tu8 *aml_start;\n\tstruct acpi_namespace_node *node;\n};\n\nstruct acpi_object_package {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object **elements;\n\tu8 *aml_start;\n\tu32 aml_length;\n\tu32 count;\n};\n\nstruct acpi_object_event {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tvoid *os_semaphore;\n};\n\nstruct acpi_walk_state;\n\ntypedef acpi_status (*acpi_internal_method)(struct acpi_walk_state *);\n\nstruct acpi_object_method {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 info_flags;\n\tu8 param_count;\n\tu8 sync_level;\n\tunion acpi_operand_object *mutex;\n\tunion acpi_operand_object *node;\n\tu8 *aml_start;\n\tunion {\n\t\tacpi_internal_method implementation;\n\t\tunion acpi_operand_object *handler;\n\t} dispatch;\n\tu32 aml_length;\n\tacpi_owner_id owner_id;\n\tu8 thread_count;\n};\n\nstruct acpi_thread_state;\n\nstruct acpi_object_mutex {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 sync_level;\n\tu16 acquisition_depth;\n\tvoid *os_mutex;\n\tu64 thread_id;\n\tstruct acpi_thread_state *owner_thread;\n\tunion acpi_operand_object *prev;\n\tunion acpi_operand_object *next;\n\tstruct acpi_namespace_node *node;\n\tu8 original_sync_level;\n};\n\nstruct acpi_object_region {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 space_id;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *handler;\n\tunion acpi_operand_object *next;\n\tacpi_physical_address address;\n\tu32 length;\n\tvoid *pointer;\n};\n\nstruct acpi_object_notify_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n};\n\nstruct acpi_gpe_block_info;\n\nstruct acpi_object_device {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tstruct acpi_gpe_block_info *gpe_block;\n};\n\nstruct acpi_object_power_resource {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tu32 system_level;\n\tu32 resource_order;\n};\n\nstruct acpi_object_processor {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 proc_id;\n\tu8 length;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tacpi_io_address address;\n};\n\nstruct acpi_object_thermal_zone {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n};\n\nstruct acpi_object_field_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *region_obj;\n};\n\nstruct acpi_object_region_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tu16 resource_length;\n\tunion acpi_operand_object *region_obj;\n\tu8 *resource_buffer;\n\tu16 pin_number_index;\n\tu8 *internal_pcc_buffer;\n};\n\nstruct acpi_object_buffer_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tu8 is_create_field;\n\tunion acpi_operand_object *buffer_obj;\n};\n\nstruct acpi_object_bank_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *region_obj;\n\tunion acpi_operand_object *bank_obj;\n};\n\nstruct acpi_object_index_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *index_obj;\n\tunion acpi_operand_object *data_obj;\n};\n\ntypedef void (*acpi_notify_handler)(acpi_handle, u32, void *);\n\nstruct acpi_object_notify_handler {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *node;\n\tu32 handler_type;\n\tacpi_notify_handler handler;\n\tvoid *context;\n\tunion acpi_operand_object *next[2];\n};\n\ntypedef acpi_status (*acpi_adr_space_handler)(u32, acpi_physical_address, u32, u64 *, void *, void *);\n\ntypedef acpi_status (*acpi_adr_space_setup)(acpi_handle, u32, void *, void **);\n\nstruct acpi_object_addr_handler {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 space_id;\n\tu8 handler_flags;\n\tacpi_adr_space_handler handler;\n\tstruct acpi_namespace_node *node;\n\tvoid *context;\n\tvoid *context_mutex;\n\tacpi_adr_space_setup setup;\n\tunion acpi_operand_object *region_list;\n\tunion acpi_operand_object *next;\n};\n\nstruct acpi_object_reference {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 class;\n\tu8 target_type;\n\tu8 resolved;\n\tvoid *object;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object **where;\n\tu8 *index_pointer;\n\tu8 *aml;\n\tu32 value;\n};\n\nstruct acpi_object_extra {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *method_REG;\n\tstruct acpi_namespace_node *scope_node;\n\tvoid *region_context;\n\tu8 *aml_start;\n\tu32 aml_length;\n};\n\ntypedef void (*acpi_object_handler)(acpi_handle, void *);\n\nstruct acpi_object_data {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tacpi_object_handler handler;\n\tvoid *pointer;\n};\n\nstruct acpi_object_cache_list {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *next;\n};\n\nunion acpi_name_union {\n\tu32 integer;\n\tchar ascii[4];\n};\n\nstruct acpi_namespace_node {\n\tunion acpi_operand_object *object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 flags;\n\tunion acpi_name_union name;\n\tstruct acpi_namespace_node *parent;\n\tstruct acpi_namespace_node *child;\n\tstruct acpi_namespace_node *peer;\n\tacpi_owner_id owner_id;\n};\n\nunion acpi_operand_object {\n\tstruct acpi_object_common common;\n\tstruct acpi_object_integer integer;\n\tstruct acpi_object_string string;\n\tstruct acpi_object_buffer buffer;\n\tstruct acpi_object_package package;\n\tstruct acpi_object_event event;\n\tstruct acpi_object_method method;\n\tstruct acpi_object_mutex mutex;\n\tstruct acpi_object_region region;\n\tstruct acpi_object_notify_common common_notify;\n\tstruct acpi_object_device device;\n\tstruct acpi_object_power_resource power_resource;\n\tstruct acpi_object_processor processor;\n\tstruct acpi_object_thermal_zone thermal_zone;\n\tstruct acpi_object_field_common common_field;\n\tstruct acpi_object_region_field field;\n\tstruct acpi_object_buffer_field buffer_field;\n\tstruct acpi_object_bank_field bank_field;\n\tstruct acpi_object_index_field index_field;\n\tstruct acpi_object_notify_handler notify;\n\tstruct acpi_object_addr_handler address_space;\n\tstruct acpi_object_reference reference;\n\tstruct acpi_object_extra extra;\n\tstruct acpi_object_data data;\n\tstruct acpi_object_cache_list cache;\n\tstruct acpi_namespace_node node;\n};\n\nunion acpi_parse_value {\n\tu64 integer;\n\tu32 size;\n\tchar *string;\n\tu8 *buffer;\n\tchar *name;\n\tunion acpi_parse_object *arg;\n};\n\nstruct acpi_parse_obj_common {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n};\n\nstruct acpi_parse_obj_named {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n\tchar *path;\n\tu8 *data;\n\tu32 length;\n\tu32 name;\n};\n\nstruct acpi_parse_obj_asl {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n\tunion acpi_parse_object *child;\n\tunion acpi_parse_object *parent_method;\n\tchar *filename;\n\tu8 file_changed;\n\tchar *parent_filename;\n\tchar *external_name;\n\tchar *namepath;\n\tchar name_seg[4];\n\tu32 extra_value;\n\tu32 column;\n\tu32 line_number;\n\tu32 logical_line_number;\n\tu32 logical_byte_offset;\n\tu32 end_line;\n\tu32 end_logical_line;\n\tu32 acpi_btype;\n\tu32 aml_length;\n\tu32 aml_subtree_length;\n\tu32 final_aml_length;\n\tu32 final_aml_offset;\n\tu32 compile_flags;\n\tu16 parse_opcode;\n\tu8 aml_opcode_length;\n\tu8 aml_pkg_len_bytes;\n\tu8 extra;\n\tchar parse_op_name[20];\n};\n\nunion acpi_parse_object {\n\tstruct acpi_parse_obj_common common;\n\tstruct acpi_parse_obj_named named;\n\tstruct acpi_parse_obj_asl asl;\n};\n\nunion acpi_descriptor {\n\tstruct acpi_common_descriptor common;\n\tunion acpi_operand_object object;\n\tstruct acpi_namespace_node node;\n\tunion acpi_parse_object op;\n};\n\nstruct acpi_device_id {\n\t__u8 id[16];\n\tkernel_ulong_t driver_data;\n\t__u32 cls;\n\t__u32 cls_msk;\n};\n\nstruct acpi_dev_match_info {\n\tstruct acpi_device_id hid[2];\n\tconst char *uid;\n\ts64 hrv;\n};\n\nstruct acpi_dev_walk_context {\n\tint (*fn)(struct acpi_device *, void *);\n\tvoid *data;\n};\n\nstruct acpi_device_status {\n\tu32 present: 1;\n\tu32 enabled: 1;\n\tu32 show_in_ui: 1;\n\tu32 functional: 1;\n\tu32 battery_present: 1;\n\tu32 reserved: 27;\n};\n\nstruct acpi_device_flags {\n\tu32 dynamic_status: 1;\n\tu32 removable: 1;\n\tu32 ejectable: 1;\n\tu32 power_manageable: 1;\n\tu32 match_driver: 1;\n\tu32 initialized: 1;\n\tu32 visited: 1;\n\tu32 hotplug_notify: 1;\n\tu32 is_dock_station: 1;\n\tu32 of_compatible_ok: 1;\n\tu32 coherent_dma: 1;\n\tu32 cca_seen: 1;\n\tu32 enumeration_by_parent: 1;\n\tu32 honor_deps: 1;\n\tu32 reserved: 18;\n};\n\nstruct acpi_pnp_type {\n\tu32 hardware_id: 1;\n\tu32 bus_address: 1;\n\tu32 platform_id: 1;\n\tu32 backlight: 1;\n\tu32 reserved: 28;\n};\n\nstruct acpi_device_pnp {\n\tacpi_bus_id bus_id;\n\tint instance_no;\n\tstruct acpi_pnp_type type;\n\tacpi_bus_address bus_address;\n\tchar *unique_id;\n\tstruct list_head ids;\n\tacpi_device_name device_name;\n\tacpi_device_class device_class;\n};\n\nstruct acpi_device_power_flags {\n\tu32 explicit_get: 1;\n\tu32 power_resources: 1;\n\tu32 inrush_current: 1;\n\tu32 power_removed: 1;\n\tu32 ignore_parent: 1;\n\tu32 dsw_present: 1;\n\tu32 reserved: 26;\n};\n\nstruct acpi_device_power_state {\n\tstruct list_head resources;\n\tstruct {\n\t\tu8 valid: 1;\n\t\tu8 explicit_set: 1;\n\t\tu8 reserved: 6;\n\t} flags;\n\tint power;\n\tint latency;\n};\n\nstruct acpi_device_power {\n\tint state;\n\tstruct acpi_device_power_flags flags;\n\tstruct acpi_device_power_state states[5];\n\tu8 state_for_enumeration;\n};\n\nstruct acpi_device_wakeup_flags {\n\tu8 valid: 1;\n\tu8 notifier_present: 1;\n};\n\nstruct acpi_device_wakeup_context {\n\tvoid (*func)(struct acpi_device_wakeup_context *);\n\tstruct device *dev;\n};\n\nstruct acpi_device_wakeup {\n\tacpi_handle gpe_device;\n\tu64 gpe_number;\n\tu64 sleep_state;\n\tstruct list_head resources;\n\tstruct acpi_device_wakeup_flags flags;\n\tstruct acpi_device_wakeup_context context;\n\tstruct wakeup_source *ws;\n\tint prepare_count;\n\tint enable_count;\n};\n\nstruct acpi_device_perf_flags {\n\tu8 reserved: 8;\n};\n\nstruct acpi_device_perf_state;\n\nstruct acpi_device_perf {\n\tint state;\n\tstruct acpi_device_perf_flags flags;\n\tint state_count;\n\tstruct acpi_device_perf_state *states;\n};\n\nstruct acpi_device_dir {\n\tstruct proc_dir_entry *entry;\n};\n\nstruct acpi_scan_handler;\n\nstruct acpi_hotplug_context;\n\nstruct acpi_device_software_nodes;\n\nstruct acpi_gpio_mapping;\n\nstruct acpi_device {\n\tu32 pld_crc;\n\tint device_type;\n\tacpi_handle handle;\n\tstruct fwnode_handle fwnode;\n\tstruct list_head wakeup_list;\n\tstruct list_head del_list;\n\tstruct acpi_device_status status;\n\tstruct acpi_device_flags flags;\n\tstruct acpi_device_pnp pnp;\n\tstruct acpi_device_power power;\n\tstruct acpi_device_wakeup wakeup;\n\tstruct acpi_device_perf performance;\n\tstruct acpi_device_dir dir;\n\tstruct acpi_device_data data;\n\tstruct acpi_scan_handler *handler;\n\tstruct acpi_hotplug_context *hp;\n\tstruct acpi_device_software_nodes *swnodes;\n\tconst struct acpi_gpio_mapping *driver_gpios;\n\tvoid *driver_data;\n\tstruct device dev;\n\tunsigned int physical_node_count;\n\tunsigned int dep_unmet;\n\tstruct list_head physical_node_list;\n\tstruct mutex physical_node_lock;\n\tvoid (*remove)(struct acpi_device *);\n};\n\nstruct xarray {\n\tspinlock_t xa_lock;\n\tgfp_t xa_flags;\n\tvoid *xa_head;\n};\n\nstruct ida {\n\tstruct xarray xa;\n};\n\nstruct acpi_device_bus_id {\n\tconst char *bus_id;\n\tstruct ida instance_ida;\n\tstruct list_head node;\n};\n\nstruct acpi_pnp_device_id {\n\tu32 length;\n\tchar *string;\n};\n\nstruct acpi_pnp_device_id_list {\n\tu32 count;\n\tu32 list_size;\n\tstruct acpi_pnp_device_id ids[0];\n};\n\nstruct acpi_device_info {\n\tu32 info_size;\n\tu32 name;\n\tacpi_object_type type;\n\tu8 param_count;\n\tu16 valid;\n\tu8 flags;\n\tu8 highest_dstates[4];\n\tu8 lowest_dstates[5];\n\tu64 address;\n\tstruct acpi_pnp_device_id hardware_id;\n\tstruct acpi_pnp_device_id unique_id;\n\tstruct acpi_pnp_device_id class_code;\n\tstruct acpi_pnp_device_id_list compatible_id_list;\n};\n\ntypedef int (*acpi_op_add)(struct acpi_device *);\n\ntypedef void (*acpi_op_remove)(struct acpi_device *);\n\ntypedef void (*acpi_op_notify)(struct acpi_device *, u32);\n\nstruct acpi_device_ops {\n\tacpi_op_add add;\n\tacpi_op_remove remove;\n\tacpi_op_notify notify;\n};\n\nstruct acpi_device_perf_state {\n\tstruct {\n\t\tu8 valid: 1;\n\t\tu8 reserved: 7;\n\t} flags;\n\tu8 power;\n\tu8 performance;\n\tint latency;\n};\n\nstruct acpi_device_physical_node {\n\tstruct list_head node;\n\tstruct device *dev;\n\tunsigned int node_id;\n\tbool put_online: 1;\n};\n\nstruct acpi_device_properties {\n\tstruct list_head list;\n\tconst guid_t *guid;\n\tunion acpi_object *properties;\n\tvoid **bufs;\n};\n\nstruct property_entry {\n\tconst char *name;\n\tsize_t length;\n\tbool is_inline;\n\tenum dev_prop_type type;\n\tunion {\n\t\tconst void *pointer;\n\t\tunion {\n\t\t\tu8 u8_data[8];\n\t\t\tu16 u16_data[4];\n\t\t\tu32 u32_data[2];\n\t\t\tu64 u64_data[1];\n\t\t\tconst char *str[1];\n\t\t} value;\n\t};\n};\n\nstruct software_node;\n\nstruct software_node_ref_args {\n\tconst struct software_node *node;\n\tunsigned int nargs;\n\tu64 args[8];\n};\n\nstruct acpi_device_software_node_port {\n\tchar port_name[9];\n\tu32 data_lanes[8];\n\tu32 lane_polarities[9];\n\tu64 link_frequencies[8];\n\tunsigned int port_nr;\n\tbool crs_csi2_local;\n\tstruct property_entry port_props[2];\n\tstruct property_entry ep_props[8];\n\tstruct software_node_ref_args remote_ep[1];\n};\n\nstruct acpi_device_software_nodes {\n\tstruct property_entry dev_props[6];\n\tstruct software_node *nodes;\n\tconst struct software_node **nodeptrs;\n\tstruct acpi_device_software_node_port *ports;\n\tunsigned int num_ports;\n};\n\nstruct acpi_table_desc;\n\nstruct acpi_evaluate_info;\n\nstruct acpi_device_walk_info {\n\tstruct acpi_table_desc *table_desc;\n\tstruct acpi_evaluate_info *evaluate_info;\n\tu32 device_count;\n\tu32 num_STA;\n\tu32 num_INI;\n};\n\nstruct dma_chan;\n\nstruct acpi_dma_spec;\n\nstruct acpi_dma {\n\tstruct list_head dma_controllers;\n\tstruct device *dev;\n\tstruct dma_chan * (*acpi_dma_xlate)(struct acpi_dma_spec *, struct acpi_dma *);\n\tvoid *data;\n\tshort unsigned int base_request_line;\n\tshort unsigned int end_request_line;\n};\n\ntypedef bool (*dma_filter_fn)(struct dma_chan *, void *);\n\nstruct acpi_dma_filter_info {\n\tdma_cap_mask_t dma_cap;\n\tdma_filter_fn filter_fn;\n};\n\nstruct acpi_dma_spec {\n\tint chan_id;\n\tint slave_id;\n\tstruct device *dev;\n};\n\nstruct acpi_dma_parser_data {\n\tstruct acpi_dma_spec dma_spec;\n\tsize_t index;\n\tsize_t n;\n};\n\nstruct of_device_id;\n\nstruct dev_pm_ops;\n\nstruct driver_private;\n\nstruct device_driver {\n\tconst char *name;\n\tconst struct bus_type *bus;\n\tstruct module *owner;\n\tconst char *mod_name;\n\tbool suppress_bind_attrs;\n\tenum probe_type probe_type;\n\tconst struct of_device_id *of_match_table;\n\tconst struct acpi_device_id *acpi_match_table;\n\tint (*probe)(struct device *);\n\tvoid (*sync_state)(struct device *);\n\tint (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tint (*suspend)(struct device *, pm_message_t);\n\tint (*resume)(struct device *);\n\tconst struct attribute_group **groups;\n\tconst struct attribute_group **dev_groups;\n\tconst struct dev_pm_ops *pm;\n\tvoid (*coredump)(struct device *);\n\tstruct driver_private *p;\n};\n\nstruct acpi_driver {\n\tchar name[80];\n\tchar class[80];\n\tconst struct acpi_device_id *ids;\n\tunsigned int flags;\n\tstruct acpi_device_ops ops;\n\tstruct device_driver drv;\n};\n\nstruct transaction;\n\nstruct acpi_ec {\n\tacpi_handle handle;\n\tint gpe;\n\tint irq;\n\tlong unsigned int command_addr;\n\tlong unsigned int data_addr;\n\tbool global_lock;\n\tlong unsigned int flags;\n\tlong unsigned int reference_count;\n\tstruct mutex mutex;\n\twait_queue_head_t wait;\n\tstruct list_head list;\n\tstruct transaction *curr;\n\tspinlock_t lock;\n\tstruct work_struct work;\n\tlong unsigned int timestamp;\n\tenum acpi_ec_event_state event_state;\n\tunsigned int events_to_process;\n\tunsigned int events_in_progress;\n\tunsigned int queries_in_progress;\n\tbool busy_polling;\n\tunsigned int polling_guard;\n};\n\nstruct transaction {\n\tconst u8 *wdata;\n\tu8 *rdata;\n\tshort unsigned int irq_count;\n\tu8 command;\n\tu8 wi;\n\tu8 ri;\n\tu8 wlen;\n\tu8 rlen;\n\tu8 flags;\n};\n\nstruct acpi_ec_query_handler;\n\nstruct acpi_ec_query {\n\tstruct transaction transaction;\n\tstruct work_struct work;\n\tstruct acpi_ec_query_handler *handler;\n\tstruct acpi_ec *ec;\n};\n\ntypedef int (*acpi_ec_query_func)(void *);\n\nstruct acpi_ec_query_handler {\n\tstruct list_head node;\n\tacpi_ec_query_func func;\n\tacpi_handle handle;\n\tvoid *data;\n\tu8 query_bit;\n\tstruct kref kref;\n};\n\nunion acpi_predefined_info;\n\nstruct acpi_evaluate_info {\n\tstruct acpi_namespace_node *prefix_node;\n\tconst char *relative_pathname;\n\tunion acpi_operand_object **parameters;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *obj_desc;\n\tchar *full_pathname;\n\tconst union acpi_predefined_info *predefined;\n\tunion acpi_operand_object *return_object;\n\tunion acpi_operand_object *parent_package;\n\tu32 return_flags;\n\tu32 return_btype;\n\tu16 param_count;\n\tu16 node_flags;\n\tu8 pass_number;\n\tu8 return_object_type;\n\tu8 flags;\n};\n\nstruct acpi_exception_info {\n\tchar *name;\n};\n\nstruct acpi_fadt_info {\n\tconst char *name;\n\tu16 address64;\n\tu16 address32;\n\tu16 length;\n\tu8 default_length;\n\tu8 flags;\n};\n\nstruct acpi_generic_address;\n\nstruct acpi_fadt_pm_info {\n\tstruct acpi_generic_address *target;\n\tu16 source;\n\tu8 register_num;\n};\n\nstruct acpi_fan_fif {\n\tu8 revision;\n\tu8 fine_grain_ctrl;\n\tu8 step_size;\n\tu8 low_speed_notification;\n};\n\nstruct device_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct device *, struct device_attribute *, char *);\n\tssize_t (*store)(struct device *, struct device_attribute *, const char *, size_t);\n};\n\nstruct acpi_fan_fps;\n\nstruct thermal_cooling_device;\n\nstruct acpi_fan {\n\tbool acpi4;\n\tstruct acpi_fan_fif fif;\n\tstruct acpi_fan_fps *fps;\n\tint fps_count;\n\tstruct thermal_cooling_device *cdev;\n\tstruct device_attribute fst_speed;\n\tstruct device_attribute fine_grain_control;\n};\n\nstruct acpi_fan_fps {\n\tu64 control;\n\tu64 trip_point;\n\tu64 speed;\n\tu64 noise_level;\n\tu64 power;\n\tchar name[20];\n\tstruct device_attribute dev_attr;\n};\n\nstruct acpi_fan_fst {\n\tu64 revision;\n\tu64 control;\n\tu64 speed;\n};\n\nstruct acpi_ffh_info {\n\tu64 offset;\n\tu64 length;\n};\n\ntypedef u32 (*acpi_event_handler)(void *);\n\nstruct acpi_fixed_event_handler {\n\tacpi_event_handler handler;\n\tvoid *context;\n};\n\nstruct acpi_fixed_event_info {\n\tu8 status_register_id;\n\tu8 enable_register_id;\n\tu16 status_bit_mask;\n\tu16 enable_bit_mask;\n};\n\nstruct acpi_ged_device {\n\tstruct device *dev;\n\tstruct list_head event_list;\n};\n\nstruct acpi_ged_event {\n\tstruct list_head node;\n\tstruct device *dev;\n\tunsigned int gsi;\n\tunsigned int irq;\n\tacpi_handle handle;\n};\n\nstruct acpi_ged_handler_info {\n\tstruct acpi_ged_handler_info *next;\n\tu32 int_id;\n\tstruct acpi_namespace_node *evt_method;\n};\n\nstruct acpi_generic_address {\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_width;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_update_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tunion acpi_operand_object *object;\n};\n\nstruct acpi_scope_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tstruct acpi_namespace_node *node;\n};\n\nstruct acpi_pscope_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu32 arg_count;\n\tunion acpi_parse_object *op;\n\tu8 *arg_end;\n\tu8 *pkg_end;\n\tu32 arg_list;\n};\n\nstruct acpi_pkg_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu32 index;\n\tunion acpi_operand_object *source_object;\n\tunion acpi_operand_object *dest_object;\n\tstruct acpi_walk_state *walk_state;\n\tvoid *this_target_obj;\n\tu32 num_packages;\n};\n\nstruct acpi_thread_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu8 current_sync_level;\n\tstruct acpi_walk_state *walk_state_list;\n\tunion acpi_operand_object *acquired_mutex_list;\n\tu64 thread_id;\n};\n\nstruct acpi_result_values {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tunion acpi_operand_object *obj_desc[8];\n};\n\nstruct acpi_global_notify_handler;\n\nstruct acpi_notify_info {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu8 handler_list_id;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *handler_list_head;\n\tstruct acpi_global_notify_handler *global;\n};\n\nunion acpi_generic_state {\n\tstruct acpi_common_state common;\n\tstruct acpi_control_state control;\n\tstruct acpi_update_state update;\n\tstruct acpi_scope_state scope;\n\tstruct acpi_pscope_state parse_scope;\n\tstruct acpi_pkg_state pkg;\n\tstruct acpi_thread_state thread;\n\tstruct acpi_result_values results;\n\tstruct acpi_notify_info notify;\n};\n\nstruct acpi_genl_event {\n\tacpi_device_class device_class;\n\tchar bus_id[15];\n\tu32 type;\n\tu32 data;\n};\n\ntypedef acpi_status (*acpi_walk_callback)(acpi_handle, u32, void *, void **);\n\nstruct acpi_get_devices_info {\n\tacpi_walk_callback user_function;\n\tvoid *context;\n\tconst char *hid;\n};\n\nstruct acpi_global_notify_handler {\n\tacpi_notify_handler handler;\n\tvoid *context;\n};\n\nstruct acpi_gpe_address {\n\tu8 space_id;\n\tu64 address;\n};\n\nstruct acpi_gpe_xrupt_info;\n\nstruct acpi_gpe_register_info;\n\nstruct acpi_gpe_event_info;\n\nstruct acpi_gpe_block_info {\n\tstruct acpi_namespace_node *node;\n\tstruct acpi_gpe_block_info *previous;\n\tstruct acpi_gpe_block_info *next;\n\tstruct acpi_gpe_xrupt_info *xrupt_block;\n\tstruct acpi_gpe_register_info *register_info;\n\tstruct acpi_gpe_event_info *event_info;\n\tu64 address;\n\tu32 register_count;\n\tu16 gpe_count;\n\tu16 block_base_number;\n\tu8 space_id;\n\tu8 initialized;\n};\n\nstruct acpi_gpe_block_status_context {\n\tstruct acpi_gpe_register_info *gpe_skip_register_info;\n\tu8 gpe_skip_mask;\n\tu8 retval;\n};\n\nstruct acpi_gpe_device_info {\n\tu32 index;\n\tu32 next_block_base_index;\n\tacpi_status status;\n\tstruct acpi_namespace_node *gpe_device;\n};\n\nstruct acpi_gpe_handler_info;\n\nstruct acpi_gpe_notify_info;\n\nunion acpi_gpe_dispatch_info {\n\tstruct acpi_namespace_node *method_node;\n\tstruct acpi_gpe_handler_info *handler;\n\tstruct acpi_gpe_notify_info *notify_list;\n};\n\nstruct acpi_gpe_event_info {\n\tunion acpi_gpe_dispatch_info dispatch;\n\tstruct acpi_gpe_register_info *register_info;\n\tu8 flags;\n\tu8 gpe_number;\n\tu8 runtime_count;\n\tu8 disable_for_dispatch;\n};\n\ntypedef u32 (*acpi_gpe_handler)(acpi_handle, u32, void *);\n\nstruct acpi_gpe_handler_info {\n\tacpi_gpe_handler address;\n\tvoid *context;\n\tstruct acpi_namespace_node *method_node;\n\tu8 original_flags;\n\tu8 originally_enabled;\n};\n\nstruct acpi_gpe_notify_info {\n\tstruct acpi_namespace_node *device_node;\n\tstruct acpi_gpe_notify_info *next;\n};\n\nstruct acpi_gpe_register_info {\n\tstruct acpi_gpe_address status_address;\n\tstruct acpi_gpe_address enable_address;\n\tu16 base_gpe_number;\n\tu8 enable_for_wake;\n\tu8 enable_for_run;\n\tu8 mask_for_run;\n\tu8 enable_mask;\n};\n\nstruct acpi_gpe_walk_info {\n\tstruct acpi_namespace_node *gpe_device;\n\tstruct acpi_gpe_block_info *gpe_block;\n\tu16 count;\n\tacpi_owner_id owner_id;\n\tu8 execute_by_owner_id;\n};\n\nstruct acpi_gpe_xrupt_info {\n\tstruct acpi_gpe_xrupt_info *previous;\n\tstruct acpi_gpe_xrupt_info *next;\n\tstruct acpi_gpe_block_info *gpe_block_list_head;\n\tu32 interrupt_number;\n};\n\nstruct gpio_chip;\n\nstruct acpi_gpio_chip {\n\tstruct acpi_connection_info conn_info;\n\tstruct list_head conns;\n\tstruct mutex conn_lock;\n\tstruct gpio_chip *chip;\n\tstruct list_head events;\n\tstruct list_head deferred_req_irqs_list_entry;\n};\n\nstruct gpio_desc;\n\nstruct acpi_gpio_connection {\n\tstruct list_head node;\n\tunsigned int pin;\n\tstruct gpio_desc *desc;\n};\n\ntypedef irqreturn_t (*irq_handler_t)(int, void *);\n\nstruct acpi_gpio_event {\n\tstruct list_head node;\n\tacpi_handle handle;\n\tirq_handler_t handler;\n\tunsigned int pin;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tbool irq_is_wake;\n\tbool irq_requested;\n\tstruct gpio_desc *desc;\n};\n\nstruct acpi_gpio_info {\n\tstruct acpi_device *adev;\n\tenum gpiod_flags flags;\n\tbool gpioint;\n\tint pin_config;\n\tint polarity;\n\tint triggering;\n\tbool wake_capable;\n\tunsigned int debounce;\n\tunsigned int quirks;\n};\n\nstruct acpi_gpio_lookup {\n\tstruct acpi_gpio_info info;\n\tint index;\n\tu16 pin_index;\n\tbool active_low;\n\tstruct gpio_desc *desc;\n\tint n;\n};\n\nstruct acpi_gpio_params;\n\nstruct acpi_gpio_mapping {\n\tconst char *name;\n\tconst struct acpi_gpio_params *data;\n\tunsigned int size;\n\tunsigned int quirks;\n};\n\nstruct acpi_gpio_params {\n\tunsigned int crs_entry_index;\n\tunsigned int line_index;\n\tbool active_low;\n};\n\nstruct acpi_gpiolib_dmi_quirk {\n\tbool no_edge_events_on_boot;\n\tchar *ignore_wake;\n\tchar *ignore_interrupt;\n};\n\nstruct acpi_handle_list {\n\tu32 count;\n\tacpi_handle *handles;\n};\n\nstruct acpi_hardware_id {\n\tstruct list_head list;\n\tconst char *id;\n};\n\nstruct acpi_hmat_structure {\n\tu16 type;\n\tu16 reserved;\n\tu32 length;\n};\n\ntypedef int (*acpi_hp_notify)(struct acpi_device *, u32);\n\ntypedef void (*acpi_hp_uevent)(struct acpi_device *, u32);\n\ntypedef void (*acpi_hp_fixup)(struct acpi_device *);\n\nstruct acpi_hotplug_context {\n\tstruct acpi_device *self;\n\tacpi_hp_notify notify;\n\tacpi_hp_uevent uevent;\n\tacpi_hp_fixup fixup;\n};\n\nstruct acpi_hotplug_profile {\n\tstruct kobject kobj;\n\tint (*scan_dependent)(struct acpi_device *);\n\tvoid (*notify_online)(struct acpi_device *);\n\tbool enabled: 1;\n\tbool demand_offline: 1;\n};\n\nstruct acpi_hp_work {\n\tstruct work_struct work;\n\tstruct acpi_device *adev;\n\tu32 src;\n};\n\nstruct acpi_init_walk_info {\n\tu32 table_index;\n\tu32 object_count;\n\tu32 method_count;\n\tu32 serial_method_count;\n\tu32 non_serial_method_count;\n\tu32 serialized_method_count;\n\tu32 device_count;\n\tu32 op_region_count;\n\tu32 field_count;\n\tu32 buffer_count;\n\tu32 package_count;\n\tu32 op_region_init;\n\tu32 field_init;\n\tu32 buffer_init;\n\tu32 package_init;\n\tacpi_owner_id owner_id;\n};\n\nstruct acpi_interface_info {\n\tchar *name;\n\tstruct acpi_interface_info *next;\n\tu8 flags;\n\tu8 value;\n};\n\nstruct acpi_io_attribute {\n\tu8 range_type;\n\tu8 translation;\n\tu8 translation_type;\n\tu8 reserved1;\n};\n\nstruct rcu_work {\n\tstruct work_struct work;\n\tstruct callback_head rcu;\n\tstruct workqueue_struct *wq;\n};\n\nstruct acpi_ioremap {\n\tstruct list_head list;\n\tvoid *virt;\n\tacpi_physical_address phys;\n\tacpi_size size;\n\tunion {\n\t\tlong unsigned int refcount;\n\t\tstruct rcu_work rwork;\n\t} track;\n};\n\nstruct irq_fwspec;\n\nstruct acpi_irq_parse_one_ctx {\n\tint rc;\n\tunsigned int index;\n\tlong unsigned int *res_flags;\n\tstruct irq_fwspec *fwspec;\n};\n\nstruct acpi_lpat {\n\tint temp;\n\tint raw;\n};\n\nstruct acpi_lpat_conversion_table {\n\tstruct acpi_lpat *lpat;\n\tint lpat_count;\n};\n\nstruct acpi_lpi_state {\n\tu32 min_residency;\n\tu32 wake_latency;\n\tu32 flags;\n\tu32 arch_flags;\n\tu32 res_cnt_freq;\n\tu32 enable_parent_state;\n\tu64 address;\n\tu8 index;\n\tu8 entry_method;\n\tchar desc[32];\n};\n\nstruct acpi_lpi_states_array {\n\tunsigned int size;\n\tunsigned int composite_states_size;\n\tstruct acpi_lpi_state *entries;\n\tstruct acpi_lpi_state *composite_states[8];\n};\n\nstruct acpi_subtable_header {\n\tu8 type;\n\tu8 length;\n};\n\nstruct acpi_madt_bio_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu64 address;\n\tu16 size;\n\tu16 id;\n\tu16 gsi_base;\n} __attribute__((packed));\n\nstruct acpi_madt_core_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu32 processor_id;\n\tu32 core_id;\n\tu32 flags;\n} __attribute__((packed));\n\nstruct acpi_madt_eio_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu8 cascade;\n\tu8 node;\n\tu64 node_map;\n} __attribute__((packed));\n\nstruct acpi_madt_generic_distributor {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 gic_id;\n\tu64 base_address;\n\tu32 global_irq_base;\n\tu8 version;\n\tu8 reserved2[3];\n};\n\nstruct acpi_madt_generic_interrupt {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 cpu_interface_number;\n\tu32 uid;\n\tu32 flags;\n\tu32 parking_version;\n\tu32 performance_interrupt;\n\tu64 parked_address;\n\tu64 base_address;\n\tu64 gicv_base_address;\n\tu64 gich_base_address;\n\tu32 vgic_interrupt;\n\tu64 gicr_base_address;\n\tu64 arm_mpidr;\n\tu8 efficiency_class;\n\tu8 reserved2[1];\n\tu16 spe_interrupt;\n\tu16 trbe_interrupt;\n} __attribute__((packed));\n\nstruct acpi_madt_ht_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu64 address;\n\tu16 size;\n\tu8 cascade[8];\n} __attribute__((packed));\n\nstruct acpi_madt_interrupt_override {\n\tstruct acpi_subtable_header header;\n\tu8 bus;\n\tu8 source_irq;\n\tu32 global_irq;\n\tu16 inti_flags;\n} __attribute__((packed));\n\nstruct acpi_madt_interrupt_source {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu8 type;\n\tu8 id;\n\tu8 eid;\n\tu8 io_sapic_vector;\n\tu32 global_irq;\n\tu32 flags;\n};\n\nstruct acpi_madt_io_apic {\n\tstruct acpi_subtable_header header;\n\tu8 id;\n\tu8 reserved;\n\tu32 address;\n\tu32 global_irq_base;\n};\n\nstruct acpi_madt_io_sapic {\n\tstruct acpi_subtable_header header;\n\tu8 id;\n\tu8 reserved;\n\tu32 global_irq_base;\n\tu64 address;\n};\n\nstruct acpi_madt_lio_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu64 address;\n\tu16 size;\n\tu8 cascade[2];\n\tu32 cascade_map[2];\n} __attribute__((packed));\n\nstruct acpi_madt_local_apic {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu8 id;\n\tu32 lapic_flags;\n};\n\nstruct acpi_madt_local_apic_nmi {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu16 inti_flags;\n\tu8 lint;\n} __attribute__((packed));\n\nstruct acpi_madt_local_apic_override {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_madt_local_sapic {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu8 id;\n\tu8 eid;\n\tu8 reserved[3];\n\tu32 lapic_flags;\n\tu32 uid;\n\tchar uid_string[0];\n};\n\nstruct acpi_madt_local_x2apic {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 local_apic_id;\n\tu32 lapic_flags;\n\tu32 uid;\n};\n\nstruct acpi_madt_local_x2apic_nmi {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu32 uid;\n\tu8 lint;\n\tu8 reserved[3];\n};\n\nstruct acpi_madt_lpc_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu64 address;\n\tu16 size;\n\tu8 cascade;\n} __attribute__((packed));\n\nstruct acpi_madt_msi_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu64 msg_address;\n\tu32 start;\n\tu32 count;\n} __attribute__((packed));\n\nstruct acpi_madt_multiproc_wakeup {\n\tstruct acpi_subtable_header header;\n\tu16 version;\n\tu32 reserved;\n\tu64 mailbox_address;\n\tu64 reset_vector;\n};\n\nstruct acpi_madt_nmi_source {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu32 global_irq;\n};\n\nstruct acpi_madt_rintc {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu8 reserved;\n\tu32 flags;\n\tu64 hart_id;\n\tu32 uid;\n\tu32 ext_intc_id;\n\tu64 imsic_addr;\n\tu32 imsic_size;\n} __attribute__((packed));\n\nstruct acpi_mcfg_allocation {\n\tu64 address;\n\tu16 pci_segment;\n\tu8 start_bus_number;\n\tu8 end_bus_number;\n\tu32 reserved;\n};\n\nstruct acpi_mem_mapping {\n\tacpi_physical_address physical_address;\n\tu8 *logical_address;\n\tacpi_size length;\n\tstruct acpi_mem_mapping *next_mm;\n};\n\nstruct acpi_mem_space_context {\n\tu32 length;\n\tacpi_physical_address address;\n\tstruct acpi_mem_mapping *cur_mm;\n\tstruct acpi_mem_mapping *first_mm;\n};\n\nstruct acpi_memory_attribute {\n\tu8 write_protect;\n\tu8 caching;\n\tu8 range_type;\n\tu8 translation;\n};\n\nstruct acpi_memory_device {\n\tstruct acpi_device *device;\n\tstruct list_head res_list;\n\tint mgid;\n};\n\nstruct acpi_memory_info {\n\tstruct list_head list;\n\tu64 start_addr;\n\tu64 length;\n\tshort unsigned int caching;\n\tshort unsigned int write_protect;\n\tunsigned int enabled: 1;\n};\n\nstruct acpi_mutex_info {\n\tvoid *mutex;\n\tu32 use_count;\n\tu64 thread_id;\n};\n\nstruct acpi_name_info {\n\tchar name[4];\n\tu16 argument_list;\n\tu8 expected_btypes;\n} __attribute__((packed));\n\nstruct acpi_namestring_info {\n\tconst char *external_name;\n\tconst char *next_external_char;\n\tchar *internal_name;\n\tu32 length;\n\tu32 num_segments;\n\tu32 num_carats;\n\tu8 fully_qualified;\n};\n\nstruct acpi_nhlt_config {\n\tu32 capabilities_size;\n\tu8 capabilities[0];\n};\n\nstruct acpi_nhlt_gendevice_config {\n\tu8 virtual_slot;\n\tu8 config_type;\n};\n\nstruct acpi_nhlt_micdevice_config {\n\tu8 virtual_slot;\n\tu8 config_type;\n\tu8 array_type;\n};\n\nstruct acpi_nhlt_vendor_mic_config {\n\tu8 type;\n\tu8 panel;\n\tu16 speaker_position_distance;\n\tu16 horizontal_offset;\n\tu16 vertical_offset;\n\tu8 frequency_low_band;\n\tu8 frequency_high_band;\n\tu16 direction_angle;\n\tu16 elevation_angle;\n\tu16 work_vertical_angle_begin;\n\tu16 work_vertical_angle_end;\n\tu16 work_horizontal_angle_begin;\n\tu16 work_horizontal_angle_end;\n};\n\nstruct acpi_nhlt_vendor_micdevice_config {\n\tu8 virtual_slot;\n\tu8 config_type;\n\tu8 array_type;\n\tu8 mics_count;\n\tstruct acpi_nhlt_vendor_mic_config mics[0];\n};\n\nunion acpi_nhlt_device_config {\n\tu8 virtual_slot;\n\tstruct acpi_nhlt_gendevice_config gen;\n\tstruct acpi_nhlt_micdevice_config mic;\n\tstruct acpi_nhlt_vendor_micdevice_config vendor_mic;\n};\n\nstruct acpi_nhlt_endpoint {\n\tu32 length;\n\tu8 link_type;\n\tu8 instance_id;\n\tu16 vendor_id;\n\tu16 device_id;\n\tu16 revision_id;\n\tu32 subsystem_id;\n\tu8 device_type;\n\tu8 direction;\n\tu8 virtual_bus_id;\n} __attribute__((packed));\n\nstruct acpi_nhlt_wave_formatext {\n\tu16 format_tag;\n\tu16 channel_count;\n\tu32 samples_per_sec;\n\tu32 avg_bytes_per_sec;\n\tu16 block_align;\n\tu16 bits_per_sample;\n\tu16 extra_format_size;\n\tu16 valid_bits_per_sample;\n\tu32 channel_mask;\n\tu8 subformat[16];\n};\n\nstruct acpi_nhlt_format_config {\n\tstruct acpi_nhlt_wave_formatext format;\n\tstruct acpi_nhlt_config config;\n};\n\nstruct acpi_nhlt_formats_config {\n\tu8 formats_count;\n\tstruct acpi_nhlt_format_config formats[0];\n} __attribute__((packed));\n\nunion acpi_object {\n\tacpi_object_type type;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu64 value;\n\t} integer;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 length;\n\t\tchar *pointer;\n\t} string;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 length;\n\t\tu8 *pointer;\n\t} buffer;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 count;\n\t\tunion acpi_object *elements;\n\t} package;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tacpi_object_type actual_type;\n\t\tacpi_handle handle;\n\t} reference;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 proc_id;\n\t\tacpi_io_address pblk_address;\n\t\tu32 pblk_length;\n\t} processor;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 system_level;\n\t\tu32 resource_order;\n\t} power_resource;\n};\n\nstruct acpi_object_list {\n\tu32 count;\n\tunion acpi_object *pointer;\n};\n\nstruct acpi_offsets {\n\tsize_t offset;\n\tu8 mode;\n};\n\nstruct acpi_opcode_info {\n\tu32 parse_args;\n\tu32 runtime_args;\n\tu16 flags;\n\tu8 object_type;\n\tu8 class;\n\tu8 type;\n};\n\ntypedef void (*acpi_osd_exec_callback)(void *);\n\nstruct acpi_os_dpc {\n\tacpi_osd_exec_callback function;\n\tvoid *context;\n\tstruct work_struct work;\n};\n\nstruct acpi_osc_context {\n\tchar *uuid_str;\n\tint rev;\n\tstruct acpi_buffer cap;\n\tstruct acpi_buffer ret;\n};\n\nstruct acpi_osi_config {\n\tu8 default_disabling;\n\tunsigned int linux_enable: 1;\n\tunsigned int linux_dmi: 1;\n\tunsigned int linux_cmdline: 1;\n\tunsigned int darwin_enable: 1;\n\tunsigned int darwin_dmi: 1;\n\tunsigned int darwin_cmdline: 1;\n};\n\nstruct acpi_osi_entry {\n\tchar string[64];\n\tbool enable;\n};\n\nstruct acpi_package_info {\n\tu8 type;\n\tu8 object_type1;\n\tu8 count1;\n\tu8 object_type2;\n\tu8 count2;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_package_info2 {\n\tu8 type;\n\tu8 count;\n\tu8 object_type[4];\n\tu8 reserved;\n};\n\nstruct acpi_package_info3 {\n\tu8 type;\n\tu8 count;\n\tu8 object_type[2];\n\tu8 tail_object_type;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_package_info4 {\n\tu8 type;\n\tu8 object_type1;\n\tu8 count1;\n\tu8 sub_object_types;\n\tu8 pkg_count;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_parse_state {\n\tu8 *aml_start;\n\tu8 *aml;\n\tu8 *aml_end;\n\tu8 *pkg_start;\n\tu8 *pkg_end;\n\tunion acpi_parse_object *start_op;\n\tstruct acpi_namespace_node *start_node;\n\tunion acpi_generic_state *scope;\n\tunion acpi_parse_object *start_scope;\n\tu32 aml_size;\n};\n\nstruct acpi_pcc_info {\n\tu8 subspace_id;\n\tu16 length;\n\tu8 *internal_buffer;\n};\n\nstruct acpi_pci_device {\n\tacpi_handle device;\n\tstruct acpi_pci_device *next;\n};\n\nstruct acpi_pci_id {\n\tu16 segment;\n\tu16 bus;\n\tu16 device;\n\tu16 function;\n};\n\nstruct acpi_pci_link_irq {\n\tu32 active;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 resource_type;\n\tu8 possible_count;\n\tu32 possible[16];\n\tu8 initialized: 1;\n\tu8 reserved: 7;\n};\n\nstruct acpi_pci_link {\n\tstruct list_head list;\n\tstruct acpi_device *device;\n\tstruct acpi_pci_link_irq irq;\n\tint refcnt;\n};\n\nstruct resource {\n\tresource_size_t start;\n\tresource_size_t end;\n\tconst char *name;\n\tlong unsigned int flags;\n\tlong unsigned int desc;\n\tstruct resource *parent;\n\tstruct resource *sibling;\n\tstruct resource *child;\n};\n\nstruct pci_bus;\n\nstruct acpi_pci_root {\n\tstruct acpi_device *device;\n\tstruct pci_bus *bus;\n\tu16 segment;\n\tint bridge_type;\n\tstruct resource secondary;\n\tu32 osc_support_set;\n\tu32 osc_control_set;\n\tu32 osc_ext_support_set;\n\tu32 osc_ext_control_set;\n\tphys_addr_t mcfg_addr;\n};\n\nstruct acpi_pci_root_ops;\n\nstruct acpi_pci_root_info {\n\tstruct acpi_pci_root *root;\n\tstruct acpi_device *bridge;\n\tstruct acpi_pci_root_ops *ops;\n\tstruct list_head resources;\n\tchar name[16];\n};\n\nstruct pci_ops;\n\nstruct acpi_pci_root_ops {\n\tstruct pci_ops *pci_ops;\n\tint (*init_info)(struct acpi_pci_root_info *);\n\tvoid (*release_info)(struct acpi_pci_root_info *);\n\tint (*prepare_resources)(struct acpi_pci_root_info *);\n};\n\nstruct acpi_pci_routing_table {\n\tu32 length;\n\tu32 pin;\n\tu64 address;\n\tu32 source_index;\n\tunion {\n\t\tchar pad[4];\n\t\tstruct {\n\t\t\tstruct {} __Empty_source;\n\t\t\tchar source[0];\n\t\t};\n\t};\n};\n\nstruct pci_slot;\n\nstruct acpi_pci_slot {\n\tstruct pci_slot *pci_slot;\n\tstruct list_head list;\n};\n\nstruct acpi_pct_register {\n\tu8 descriptor;\n\tu16 length;\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 reserved;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_pkg_info {\n\tu8 *free_space;\n\tacpi_size length;\n\tu32 object_space;\n\tu32 num_packages;\n};\n\nstruct acpi_platform_list {\n\tchar oem_id[7];\n\tchar oem_table_id[9];\n\tu32 oem_revision;\n\tchar *table;\n\tenum acpi_predicate pred;\n\tchar *reason;\n\tu32 data;\n};\n\nstruct acpi_pld_info {\n\tu8 revision;\n\tu8 ignore_color;\n\tu8 red;\n\tu8 green;\n\tu8 blue;\n\tu16 width;\n\tu16 height;\n\tu8 user_visible;\n\tu8 dock;\n\tu8 lid;\n\tu8 panel;\n\tu8 vertical_position;\n\tu8 horizontal_position;\n\tu8 shape;\n\tu8 group_orientation;\n\tu8 group_token;\n\tu8 group_position;\n\tu8 bay;\n\tu8 ejectable;\n\tu8 ospm_eject_required;\n\tu8 cabinet_number;\n\tu8 card_cage_number;\n\tu8 reference;\n\tu8 rotation;\n\tu8 order;\n\tu8 reserved;\n\tu16 vertical_offset;\n\tu16 horizontal_offset;\n};\n\nstruct acpi_port_info {\n\tchar *name;\n\tu16 start;\n\tu16 end;\n\tu8 osi_dependency;\n};\n\nstruct acpi_power_dependent_device {\n\tstruct device *dev;\n\tstruct list_head node;\n};\n\nstruct acpi_power_register {\n\tu8 descriptor;\n\tu16 length;\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_power_resource {\n\tstruct acpi_device device;\n\tstruct list_head list_node;\n\tu32 system_level;\n\tu32 order;\n\tunsigned int ref_count;\n\tu8 state;\n\tstruct mutex resource_lock;\n\tstruct list_head dependents;\n};\n\nstruct acpi_power_resource_entry {\n\tstruct list_head node;\n\tstruct acpi_power_resource *resource;\n};\n\nstruct acpi_pptt_cache {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 flags;\n\tu32 next_level_of_cache;\n\tu32 size;\n\tu32 number_of_sets;\n\tu8 associativity;\n\tu8 attributes;\n\tu16 line_size;\n};\n\nstruct acpi_pptt_cache_v1 {\n\tu32 cache_id;\n};\n\nstruct acpi_pptt_processor {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 flags;\n\tu32 parent;\n\tu32 acpi_processor_id;\n\tu32 number_of_priv_resources;\n};\n\nunion acpi_predefined_info {\n\tstruct acpi_name_info info;\n\tstruct acpi_package_info ret_info;\n\tstruct acpi_package_info2 ret_info2;\n\tstruct acpi_package_info3 ret_info3;\n\tstruct acpi_package_info4 ret_info4;\n};\n\nstruct acpi_predefined_names {\n\tconst char *name;\n\tu8 type;\n\tchar *val;\n};\n\nstruct acpi_prmt_module_header {\n\tu16 revision;\n\tu16 length;\n};\n\nstruct acpi_probe_entry;\n\ntypedef bool (*acpi_probe_entry_validate_subtbl)(struct acpi_subtable_header *, struct acpi_probe_entry *);\n\nstruct acpi_table_header;\n\ntypedef int (*acpi_tbl_table_handler)(struct acpi_table_header *);\n\nunion acpi_subtable_headers;\n\ntypedef int (*acpi_tbl_entry_handler)(union acpi_subtable_headers *, const long unsigned int);\n\nstruct acpi_probe_entry {\n\t__u8 id[5];\n\t__u8 type;\n\tacpi_probe_entry_validate_subtbl subtable_valid;\n\tunion {\n\t\tacpi_tbl_table_handler probe_table;\n\t\tacpi_tbl_entry_handler probe_subtbl;\n\t};\n\tkernel_ulong_t driver_data;\n};\n\nstruct acpi_processor_flags {\n\tu8 power: 1;\n\tu8 performance: 1;\n\tu8 throttling: 1;\n\tu8 limit: 1;\n\tu8 bm_control: 1;\n\tu8 bm_check: 1;\n\tu8 has_cst: 1;\n\tu8 has_lpi: 1;\n\tu8 power_setup_done: 1;\n\tu8 bm_rld_set: 1;\n\tu8 previously_online: 1;\n};\n\nstruct acpi_processor_cx {\n\tu8 valid;\n\tu8 type;\n\tu32 address;\n\tu8 entry_method;\n\tu8 index;\n\tu32 latency;\n\tu8 bm_sts_skip;\n\tchar desc[32];\n};\n\nstruct acpi_processor_power {\n\tint count;\n\tunion {\n\t\tstruct acpi_processor_cx states[8];\n\t\tstruct acpi_lpi_state lpi_states[8];\n\t};\n\tint timer_broadcast_on_state;\n};\n\nstruct acpi_tsd_package {\n\tu64 num_entries;\n\tu64 revision;\n\tu64 domain;\n\tu64 coord_type;\n\tu64 num_processors;\n};\n\nstruct cpumask {\n\tlong unsigned int bits[4];\n};\n\ntypedef struct cpumask cpumask_var_t[1];\n\nstruct acpi_processor_tx {\n\tu16 power;\n\tu16 performance;\n};\n\nstruct acpi_processor_tx_tss;\n\nstruct acpi_processor;\n\nstruct acpi_processor_throttling {\n\tunsigned int state;\n\tunsigned int platform_limit;\n\tstruct acpi_pct_register control_register;\n\tstruct acpi_pct_register status_register;\n\tunsigned int state_count;\n\tstruct acpi_processor_tx_tss *states_tss;\n\tstruct acpi_tsd_package domain_info;\n\tcpumask_var_t shared_cpu_map;\n\tint (*acpi_processor_get_throttling)(struct acpi_processor *);\n\tint (*acpi_processor_set_throttling)(struct acpi_processor *, int, bool);\n\tu32 address;\n\tu8 duty_offset;\n\tu8 duty_width;\n\tu8 tsd_valid_flag;\n\tunsigned int shared_type;\n\tstruct acpi_processor_tx states[16];\n};\n\nstruct acpi_processor_lx {\n\tint px;\n\tint tx;\n};\n\nstruct acpi_processor_limit {\n\tstruct acpi_processor_lx state;\n\tstruct acpi_processor_lx thermal;\n\tstruct acpi_processor_lx user;\n};\n\nstruct plist_node {\n\tint prio;\n\tstruct list_head prio_list;\n\tstruct list_head node_list;\n};\n\nstruct freq_constraints;\n\nstruct freq_qos_request {\n\tenum freq_qos_req_type type;\n\tstruct plist_node pnode;\n\tstruct freq_constraints *qos;\n};\n\nstruct acpi_processor_performance;\n\nstruct acpi_processor {\n\tacpi_handle handle;\n\tu32 acpi_id;\n\tphys_cpuid_t phys_id;\n\tu32 id;\n\tu32 pblk;\n\tint performance_platform_limit;\n\tint throttling_platform_limit;\n\tstruct acpi_processor_flags flags;\n\tstruct acpi_processor_power power;\n\tstruct acpi_processor_performance *performance;\n\tstruct acpi_processor_throttling throttling;\n\tstruct acpi_processor_limit limit;\n\tstruct thermal_cooling_device *cdev;\n\tstruct device *dev;\n\tstruct freq_qos_request perflib_req;\n\tstruct freq_qos_request thermal_req;\n};\n\nstruct acpi_processor_errata {\n\tu8 smp;\n\tstruct {\n\t\tu8 throttle: 1;\n\t\tu8 fdma: 1;\n\t\tu8 reserved: 6;\n\t\tu32 bmisx;\n\t} piix4;\n};\n\nstruct acpi_psd_package {\n\tu64 num_entries;\n\tu64 revision;\n\tu64 domain;\n\tu64 coord_type;\n\tu64 num_processors;\n};\n\nstruct acpi_processor_px;\n\nstruct acpi_processor_performance {\n\tunsigned int state;\n\tunsigned int platform_limit;\n\tstruct acpi_pct_register control_register;\n\tstruct acpi_pct_register status_register;\n\tunsigned int state_count;\n\tstruct acpi_processor_px *states;\n\tstruct acpi_psd_package domain_info;\n\tcpumask_var_t shared_cpu_map;\n\tunsigned int shared_type;\n};\n\nstruct acpi_processor_px {\n\tu64 core_frequency;\n\tu64 power;\n\tu64 transition_latency;\n\tu64 bus_master_latency;\n\tu64 control;\n\tu64 status;\n};\n\nstruct acpi_processor_throttling_arg {\n\tstruct acpi_processor *pr;\n\tint target_state;\n\tbool force;\n};\n\nstruct acpi_processor_tx_tss {\n\tu64 freqpercentage;\n\tu64 power;\n\tu64 transition_latency;\n\tu64 control;\n\tu64 status;\n};\n\nstruct acpi_prt_entry {\n\tstruct acpi_pci_id id;\n\tu8 pin;\n\tacpi_handle link;\n\tu32 index;\n};\n\nstruct acpi_reg_walk_info {\n\tu32 function;\n\tu32 reg_run_count;\n\tacpi_adr_space_type space_id;\n};\n\ntypedef acpi_status (*acpi_repair_function)(struct acpi_evaluate_info *, union acpi_operand_object **);\n\nstruct acpi_repair_info {\n\tchar name[4];\n\tacpi_repair_function repair_function;\n};\n\nstruct acpi_resource_irq {\n\tu8 descriptor_length;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 interrupt_count;\n\tunion {\n\t\tu8 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu8 interrupts[0];\n\t\t};\n\t};\n};\n\nstruct acpi_resource_dma {\n\tu8 type;\n\tu8 bus_master;\n\tu8 transfer;\n\tu8 channel_count;\n\tunion {\n\t\tu8 channel;\n\t\tstruct {\n\t\t\tstruct {} __Empty_channels;\n\t\t\tu8 channels[0];\n\t\t};\n\t};\n};\n\nstruct acpi_resource_start_dependent {\n\tu8 descriptor_length;\n\tu8 compatibility_priority;\n\tu8 performance_robustness;\n};\n\nstruct acpi_resource_io {\n\tu8 io_decode;\n\tu8 alignment;\n\tu8 address_length;\n\tu16 minimum;\n\tu16 maximum;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_io {\n\tu16 address;\n\tu8 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_dma {\n\tu16 request_lines;\n\tu16 channels;\n\tu8 width;\n} __attribute__((packed));\n\nstruct acpi_resource_vendor {\n\tu16 byte_length;\n\tu8 byte_data[0];\n};\n\nstruct acpi_resource_vendor_typed {\n\tu16 byte_length;\n\tu8 uuid_subtype;\n\tu8 uuid[16];\n\tu8 byte_data[0];\n} __attribute__((packed));\n\nstruct acpi_resource_end_tag {\n\tu8 checksum;\n};\n\nstruct acpi_resource_memory24 {\n\tu8 write_protect;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 alignment;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_memory32 {\n\tu8 write_protect;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 alignment;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_memory32 {\n\tu8 write_protect;\n\tu32 address;\n\tu32 address_length;\n} __attribute__((packed));\n\nunion acpi_resource_attribute {\n\tstruct acpi_memory_attribute mem;\n\tstruct acpi_io_attribute io;\n\tu8 type_specific;\n};\n\nstruct acpi_resource_source {\n\tu8 index;\n\tu16 string_length;\n\tchar *string_ptr;\n} __attribute__((packed));\n\nstruct acpi_resource_address16 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address16_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address32 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address32_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address64 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address64_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_extended_address64 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tu8 revision_ID;\n\tstruct acpi_address64_attribute address;\n\tu64 type_specific;\n} __attribute__((packed));\n\nstruct acpi_resource_extended_irq {\n\tu8 producer_consumer;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 interrupt_count;\n\tstruct acpi_resource_source resource_source;\n\tunion {\n\t\tu32 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu32 interrupts[0];\n\t\t};\n\t};\n} __attribute__((packed));\n\nstruct acpi_resource_generic_register {\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_resource_gpio {\n\tu8 revision_id;\n\tu8 connection_type;\n\tu8 producer_consumer;\n\tu8 pin_config;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 io_restriction;\n\tu8 triggering;\n\tu8 polarity;\n\tu16 drive_strength;\n\tu16 debounce_timeout;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_i2c_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 access_mode;\n\tu16 slave_address;\n\tu32 connection_speed;\n} __attribute__((packed));\n\nstruct acpi_resource_spi_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 wire_mode;\n\tu8 device_polarity;\n\tu8 data_bit_length;\n\tu8 clock_phase;\n\tu8 clock_polarity;\n\tu16 device_selection;\n\tu32 connection_speed;\n} __attribute__((packed));\n\nstruct acpi_resource_uart_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 endian;\n\tu8 data_bits;\n\tu8 stop_bits;\n\tu8 flow_control;\n\tu8 parity;\n\tu8 lines_enabled;\n\tu16 rx_fifo_size;\n\tu16 tx_fifo_size;\n\tu32 default_baud_rate;\n} __attribute__((packed));\n\nstruct acpi_resource_csi2_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 local_port_instance;\n\tu8 phy_type;\n} __attribute__((packed));\n\nstruct acpi_resource_common_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_function {\n\tu8 revision_id;\n\tu8 pin_config;\n\tu8 shareable;\n\tu16 function_number;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_config {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_label {\n\tu16 string_length;\n\tchar *string_ptr;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tu16 *pin_table;\n\tstruct acpi_resource_label resource_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group_function {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu16 function_number;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tstruct acpi_resource_label resource_source_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group_config {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tstruct acpi_resource_label resource_source_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_clock_input {\n\tu8 revision_id;\n\tu8 mode;\n\tu8 scale;\n\tu16 frequency_divisor;\n\tu32 frequency_numerator;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n};\n\nunion acpi_resource_data {\n\tstruct acpi_resource_irq irq;\n\tstruct acpi_resource_dma dma;\n\tstruct acpi_resource_start_dependent start_dpf;\n\tstruct acpi_resource_io io;\n\tstruct acpi_resource_fixed_io fixed_io;\n\tstruct acpi_resource_fixed_dma fixed_dma;\n\tstruct acpi_resource_vendor vendor;\n\tstruct acpi_resource_vendor_typed vendor_typed;\n\tstruct acpi_resource_end_tag end_tag;\n\tstruct acpi_resource_memory24 memory24;\n\tstruct acpi_resource_memory32 memory32;\n\tstruct acpi_resource_fixed_memory32 fixed_memory32;\n\tstruct acpi_resource_address16 address16;\n\tstruct acpi_resource_address32 address32;\n\tstruct acpi_resource_address64 address64;\n\tstruct acpi_resource_extended_address64 ext_address64;\n\tstruct acpi_resource_extended_irq extended_irq;\n\tstruct acpi_resource_generic_register generic_reg;\n\tstruct acpi_resource_gpio gpio;\n\tstruct acpi_resource_i2c_serialbus i2c_serial_bus;\n\tstruct acpi_resource_spi_serialbus spi_serial_bus;\n\tstruct acpi_resource_uart_serialbus uart_serial_bus;\n\tstruct acpi_resource_csi2_serialbus csi2_serial_bus;\n\tstruct acpi_resource_common_serialbus common_serial_bus;\n\tstruct acpi_resource_pin_function pin_function;\n\tstruct acpi_resource_pin_config pin_config;\n\tstruct acpi_resource_pin_group pin_group;\n\tstruct acpi_resource_pin_group_function pin_group_function;\n\tstruct acpi_resource_pin_group_config pin_group_config;\n\tstruct acpi_resource_clock_input clock_input;\n\tstruct acpi_resource_address address;\n};\n\nstruct acpi_resource {\n\tu32 type;\n\tu32 length;\n\tunion acpi_resource_data data;\n};\n\nstruct acpi_rsconvert_info {\n\tu8 opcode;\n\tu8 resource_offset;\n\tu8 aml_offset;\n\tu8 value;\n};\n\nstruct acpi_rw_lock {\n\tvoid *writer_mutex;\n\tvoid *reader_mutex;\n\tu32 num_readers;\n};\n\nstruct acpi_scan_clear_dep_work {\n\tstruct work_struct work;\n\tstruct acpi_device *adev;\n};\n\nstruct acpi_scan_handler {\n\tstruct list_head list_node;\n\tconst struct acpi_device_id *ids;\n\tbool (*match)(const char *, const struct acpi_device_id **);\n\tint (*attach)(struct acpi_device *, const struct acpi_device_id *);\n\tvoid (*detach)(struct acpi_device *);\n\tvoid (*post_eject)(struct acpi_device *);\n\tvoid (*bind)(struct device *);\n\tvoid (*unbind)(struct device *);\n\tstruct acpi_hotplug_profile hotplug;\n};\n\ntypedef u32 (*acpi_sci_handler)(void *);\n\nstruct acpi_sci_handler_info {\n\tstruct acpi_sci_handler_info *next;\n\tacpi_sci_handler address;\n\tvoid *context;\n};\n\nstruct acpi_signal_fatal_info {\n\tu32 type;\n\tu32 code;\n\tu32 argument;\n};\n\ntypedef acpi_status (*acpi_object_converter)(struct acpi_namespace_node *, union acpi_operand_object *, union acpi_operand_object **);\n\nstruct acpi_simple_repair_info {\n\tchar name[4];\n\tu32 unexpected_btypes;\n\tu32 package_index;\n\tacpi_object_converter object_converter;\n};\n\nstruct spi_controller;\n\nstruct acpi_spi_lookup {\n\tstruct spi_controller *ctlr;\n\tu32 max_speed_hz;\n\tu32 mode;\n\tint irq;\n\tu8 bits_per_word;\n\tu8 chip_select;\n\tint n;\n\tint index;\n};\n\nstruct acpi_srat_cpu_affinity {\n\tstruct acpi_subtable_header header;\n\tu8 proximity_domain_lo;\n\tu8 apic_id;\n\tu32 flags;\n\tu8 local_sapic_eid;\n\tu8 proximity_domain_hi[3];\n\tu32 clock_domain;\n};\n\nstruct acpi_srat_generic_affinity {\n\tstruct acpi_subtable_header header;\n\tu8 reserved;\n\tu8 device_handle_type;\n\tu32 proximity_domain;\n\tu8 device_handle[16];\n\tu32 flags;\n\tu32 reserved1;\n};\n\nstruct acpi_srat_gicc_affinity {\n\tstruct acpi_subtable_header header;\n\tu32 proximity_domain;\n\tu32 acpi_processor_uid;\n\tu32 flags;\n\tu32 clock_domain;\n} __attribute__((packed));\n\nstruct acpi_srat_mem_affinity {\n\tstruct acpi_subtable_header header;\n\tu32 proximity_domain;\n\tu16 reserved;\n\tu64 base_address;\n\tu64 length;\n\tu32 reserved1;\n\tu32 flags;\n\tu64 reserved2;\n} __attribute__((packed));\n\nstruct acpi_srat_rintc_affinity {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 proximity_domain;\n\tu32 acpi_processor_uid;\n\tu32 flags;\n\tu32 clock_domain;\n};\n\nstruct acpi_srat_x2apic_cpu_affinity {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 proximity_domain;\n\tu32 apic_id;\n\tu32 flags;\n\tu32 clock_domain;\n\tu32 reserved2;\n};\n\nstruct acpi_subtable_entry {\n\tunion acpi_subtable_headers *hdr;\n\tenum acpi_subtable_type type;\n};\n\nunion acpi_subtable_headers {\n\tstruct acpi_subtable_header common;\n\tstruct acpi_hmat_structure hmat;\n\tstruct acpi_prmt_module_header prmt;\n\tstruct acpi_cedt_header cedt;\n\tstruct acpi_cdat_header cdat;\n};\n\ntypedef int (*acpi_tbl_entry_handler_arg)(union acpi_subtable_headers *, void *, const long unsigned int);\n\nstruct acpi_subtable_proc {\n\tint id;\n\tacpi_tbl_entry_handler handler;\n\tacpi_tbl_entry_handler_arg handler_arg;\n\tvoid *arg;\n\tint count;\n};\n\nstruct acpi_table_attr {\n\tstruct bin_attribute attr;\n\tchar name[4];\n\tint instance;\n\tchar filename[8];\n\tstruct list_head node;\n};\n\nstruct acpi_table_header {\n\tchar signature[4];\n\tu32 length;\n\tu8 revision;\n\tu8 checksum;\n\tchar oem_id[6];\n\tchar oem_table_id[8];\n\tu32 oem_revision;\n\tchar asl_compiler_id[4];\n\tu32 asl_compiler_revision;\n};\n\nstruct acpi_table_bert {\n\tstruct acpi_table_header header;\n\tu32 region_length;\n\tu64 address;\n};\n\nstruct acpi_table_bgrt {\n\tstruct acpi_table_header header;\n\tu16 version;\n\tu8 status;\n\tu8 image_type;\n\tu64 image_address;\n\tu32 image_offset_x;\n\tu32 image_offset_y;\n};\n\nstruct acpi_table_ccel {\n\tstruct acpi_table_header header;\n\tu8 CCtype;\n\tu8 Ccsub_type;\n\tu16 reserved;\n\tu64 log_area_minimum_length;\n\tu64 log_area_start_address;\n};\n\nstruct acpi_table_cdat {\n\tu32 length;\n\tu8 revision;\n\tu8 checksum;\n\tu8 reserved[6];\n\tu32 sequence;\n};\n\nstruct acpi_table_csrt {\n\tstruct acpi_table_header header;\n};\n\nstruct acpi_table_desc {\n\tacpi_physical_address address;\n\tstruct acpi_table_header *pointer;\n\tu32 length;\n\tunion acpi_name_union signature;\n\tacpi_owner_id owner_id;\n\tu8 flags;\n\tu16 validation_count;\n};\n\nstruct acpi_table_ecdt {\n\tstruct acpi_table_header header;\n\tstruct acpi_generic_address control;\n\tstruct acpi_generic_address data;\n\tu32 uid;\n\tu8 gpe;\n\tu8 id[0];\n} __attribute__((packed));\n\nstruct acpi_table_facs {\n\tchar signature[4];\n\tu32 length;\n\tu32 hardware_signature;\n\tu32 firmware_waking_vector;\n\tu32 global_lock;\n\tu32 flags;\n\tu64 xfirmware_waking_vector;\n\tu8 version;\n\tu8 reserved[3];\n\tu32 ospm_flags;\n\tu8 reserved1[24];\n};\n\nstruct acpi_table_fadt {\n\tstruct acpi_table_header header;\n\tu32 facs;\n\tu32 dsdt;\n\tu8 model;\n\tu8 preferred_profile;\n\tu16 sci_interrupt;\n\tu32 smi_command;\n\tu8 acpi_enable;\n\tu8 acpi_disable;\n\tu8 s4_bios_request;\n\tu8 pstate_control;\n\tu32 pm1a_event_block;\n\tu32 pm1b_event_block;\n\tu32 pm1a_control_block;\n\tu32 pm1b_control_block;\n\tu32 pm2_control_block;\n\tu32 pm_timer_block;\n\tu32 gpe0_block;\n\tu32 gpe1_block;\n\tu8 pm1_event_length;\n\tu8 pm1_control_length;\n\tu8 pm2_control_length;\n\tu8 pm_timer_length;\n\tu8 gpe0_block_length;\n\tu8 gpe1_block_length;\n\tu8 gpe1_base;\n\tu8 cst_control;\n\tu16 c2_latency;\n\tu16 c3_latency;\n\tu16 flush_size;\n\tu16 flush_stride;\n\tu8 duty_offset;\n\tu8 duty_width;\n\tu8 day_alarm;\n\tu8 month_alarm;\n\tu8 century;\n\tu16 boot_flags;\n\tu8 reserved;\n\tu32 flags;\n\tstruct acpi_generic_address reset_register;\n\tu8 reset_value;\n\tu16 arm_boot_flags;\n\tu8 minor_revision;\n\tu64 Xfacs;\n\tu64 Xdsdt;\n\tstruct acpi_generic_address xpm1a_event_block;\n\tstruct acpi_generic_address xpm1b_event_block;\n\tstruct acpi_generic_address xpm1a_control_block;\n\tstruct acpi_generic_address xpm1b_control_block;\n\tstruct acpi_generic_address xpm2_control_block;\n\tstruct acpi_generic_address xpm_timer_block;\n\tstruct acpi_generic_address xgpe0_block;\n\tstruct acpi_generic_address xgpe1_block;\n\tstruct acpi_generic_address sleep_control;\n\tstruct acpi_generic_address sleep_status;\n\tu64 hypervisor_id;\n} __attribute__((packed));\n\nstruct acpi_table_list {\n\tstruct acpi_table_desc *tables;\n\tu32 current_table_count;\n\tu32 max_table_count;\n\tu8 flags;\n};\n\nstruct acpi_table_madt {\n\tstruct acpi_table_header header;\n\tu32 address;\n\tu32 flags;\n};\n\nstruct acpi_table_mcfg {\n\tstruct acpi_table_header header;\n\tu8 reserved[8];\n};\n\nstruct acpi_table_nhlt {\n\tstruct acpi_table_header header;\n\tu8 endpoints_count;\n} __attribute__((packed));\n\nstruct acpi_table_rsdp {\n\tchar signature[8];\n\tu8 checksum;\n\tchar oem_id[6];\n\tu8 revision;\n\tu32 rsdt_physical_address;\n\tu32 length;\n\tu64 xsdt_physical_address;\n\tu8 extended_checksum;\n\tu8 reserved[3];\n} __attribute__((packed));\n\nstruct acpi_table_slit {\n\tstruct acpi_table_header header;\n\tu64 locality_count;\n\tu8 entry[0];\n} __attribute__((packed));\n\nstruct acpi_table_spcr {\n\tstruct acpi_table_header header;\n\tu8 interface_type;\n\tu8 reserved[3];\n\tstruct acpi_generic_address serial_port;\n\tu8 interrupt_type;\n\tu8 pc_interrupt;\n\tu32 interrupt;\n\tu8 baud_rate;\n\tu8 parity;\n\tu8 stop_bits;\n\tu8 flow_control;\n\tu8 terminal_type;\n\tu8 language;\n\tu16 pci_device_id;\n\tu16 pci_vendor_id;\n\tu8 pci_bus;\n\tu8 pci_device;\n\tu8 pci_function;\n\tu32 pci_flags;\n\tu8 pci_segment;\n\tu32 uart_clk_freq;\n\tu32 precise_baudrate;\n\tu16 name_space_string_length;\n\tu16 name_space_string_offset;\n\tchar name_space_string[0];\n} __attribute__((packed));\n\nstruct acpi_table_srat {\n\tstruct acpi_table_header header;\n\tu32 table_revision;\n\tu64 reserved;\n};\n\nstruct acpi_table_stao {\n\tstruct acpi_table_header header;\n\tu8 ignore_uart;\n} __attribute__((packed));\n\nstruct acpi_tad_driver_data {\n\tu32 capabilities;\n};\n\nstruct acpi_tad_rt {\n\tu16 year;\n\tu8 month;\n\tu8 day;\n\tu8 hour;\n\tu8 minute;\n\tu8 second;\n\tu8 valid;\n\tu16 msec;\n\ts16 tz;\n\tu8 daylight;\n\tu8 padding[3];\n};\n\nstruct acpi_thermal_trip {\n\tlong unsigned int temp_dk;\n\tstruct acpi_handle_list devices;\n};\n\nstruct acpi_thermal_passive {\n\tstruct acpi_thermal_trip trip;\n\tlong unsigned int tc1;\n\tlong unsigned int tc2;\n\tlong unsigned int delay;\n};\n\nstruct acpi_thermal_active {\n\tstruct acpi_thermal_trip trip;\n};\n\nstruct acpi_thermal_trips {\n\tstruct acpi_thermal_passive passive;\n\tstruct acpi_thermal_active active[10];\n};\n\nstruct thermal_zone_device;\n\nstruct acpi_thermal {\n\tstruct acpi_device *device;\n\tacpi_bus_id name;\n\tlong unsigned int temp_dk;\n\tlong unsigned int last_temp_dk;\n\tlong unsigned int polling_frequency;\n\tvolatile u8 zombie;\n\tstruct acpi_thermal_trips trips;\n\tstruct thermal_zone_device *thermal_zone;\n\tint kelvin_offset;\n\tstruct work_struct thermal_check_work;\n\tstruct mutex thermal_check_lock;\n\trefcount_t thermal_check_count;\n};\n\nstruct acpi_vector_group {\n\tint node;\n\tint pci_segment;\n\tstruct irq_domain *parent;\n};\n\nstruct acpi_vendor_uuid {\n\tu8 subtype;\n\tu8 data[16];\n};\n\nstruct acpi_vendor_walk_info {\n\tstruct acpi_vendor_uuid *uuid;\n\tstruct acpi_buffer *buffer;\n\tacpi_status status;\n};\n\nstruct acpi_wakeup_handler {\n\tstruct list_head list_node;\n\tbool (*wakeup)(void *);\n\tvoid *context;\n};\n\ntypedef acpi_status (*acpi_parse_downwards)(struct acpi_walk_state *, union acpi_parse_object **);\n\ntypedef acpi_status (*acpi_parse_upwards)(struct acpi_walk_state *);\n\nstruct acpi_walk_state {\n\tstruct acpi_walk_state *next;\n\tu8 descriptor_type;\n\tu8 walk_type;\n\tu16 opcode;\n\tu8 next_op_info;\n\tu8 num_operands;\n\tu8 operand_index;\n\tacpi_owner_id owner_id;\n\tu8 last_predicate;\n\tu8 current_result;\n\tu8 return_used;\n\tu8 scope_depth;\n\tu8 pass_number;\n\tu8 namespace_override;\n\tu8 result_size;\n\tu8 result_count;\n\tu8 *aml;\n\tu32 arg_types;\n\tu32 method_breakpoint;\n\tu32 user_breakpoint;\n\tu32 parse_flags;\n\tstruct acpi_parse_state parser_state;\n\tu32 prev_arg_types;\n\tu32 arg_count;\n\tu16 method_nesting_depth;\n\tu8 method_is_nested;\n\tstruct acpi_namespace_node arguments[7];\n\tstruct acpi_namespace_node local_variables[8];\n\tunion acpi_operand_object *operands[9];\n\tunion acpi_operand_object **params;\n\tu8 *aml_last_while;\n\tunion acpi_operand_object **caller_return_desc;\n\tunion acpi_generic_state *control_state;\n\tstruct acpi_namespace_node *deferred_node;\n\tunion acpi_operand_object *implicit_return_obj;\n\tstruct acpi_namespace_node *method_call_node;\n\tunion acpi_parse_object *method_call_op;\n\tunion acpi_operand_object *method_desc;\n\tstruct acpi_namespace_node *method_node;\n\tchar *method_pathname;\n\tunion acpi_parse_object *op;\n\tconst struct acpi_opcode_info *op_info;\n\tunion acpi_parse_object *origin;\n\tunion acpi_operand_object *result_obj;\n\tunion acpi_generic_state *results;\n\tunion acpi_operand_object *return_desc;\n\tunion acpi_generic_state *scope_info;\n\tunion acpi_parse_object *prev_op;\n\tunion acpi_parse_object *next_op;\n\tstruct acpi_thread_state *thread;\n\tacpi_parse_downwards descending_callback;\n\tacpi_parse_upwards ascending_callback;\n};\n\nstruct pnp_dev;\n\nstruct acpipnp_parse_option_s {\n\tstruct pnp_dev *dev;\n\tunsigned int option_flags;\n};\n\nstruct action_cache {\n\tlong unsigned int allow_native[8];\n};\n\nstruct action_devres {\n\tvoid *data;\n\tvoid (*action)(void *);\n};\n\nstruct action_gate_entry {\n\tu8 gate_state;\n\tu32 interval;\n\ts32 ipv;\n\ts32 maxoctets;\n};\n\nstruct action_ops {\n\tint (*pre_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tint (*do_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tvoid (*undo_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tvoid (*post_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n};\n\nstruct irq_poll;\n\ntypedef int irq_poll_fn(struct irq_poll *, int);\n\nstruct irq_poll {\n\tstruct list_head list;\n\tlong unsigned int state;\n\tint weight;\n\tirq_poll_fn *poll;\n};\n\nstruct adapter_reply_queue {\n\tstruct MPT3SAS_ADAPTER *ioc;\n\tu8 msix_index;\n\tu32 reply_post_host_index;\n\tMpi2ReplyDescriptorsUnion_t *reply_post_free;\n\tchar name[32];\n\tatomic_t busy;\n\tu32 os_irq;\n\tstruct irq_poll irqpoll;\n\tbool irq_poll_scheduled;\n\tbool irq_line_enable;\n\tbool is_iouring_poll_q;\n\tstruct list_head list;\n};\n\nstruct rw_semaphore {\n\tatomic_long_t count;\n\tatomic_long_t owner;\n\tstruct optimistic_spin_queue osq;\n\traw_spinlock_t wait_lock;\n\tstruct list_head wait_list;\n};\n\nstruct rb_root_cached {\n\tstruct rb_root rb_root;\n\tstruct rb_node *rb_leftmost;\n};\n\nstruct address_space_operations;\n\nstruct address_space {\n\tstruct inode *host;\n\tstruct xarray i_pages;\n\tstruct rw_semaphore invalidate_lock;\n\tgfp_t gfp_mask;\n\tatomic_t i_mmap_writable;\n\tstruct rb_root_cached i_mmap;\n\tlong unsigned int nrpages;\n\tlong unsigned int writeback_index;\n\tconst struct address_space_operations *a_ops;\n\tlong unsigned int flags;\n\terrseq_t wb_err;\n\tspinlock_t i_private_lock;\n\tstruct list_head i_private_list;\n\tstruct rw_semaphore i_mmap_rwsem;\n\tvoid *i_private_data;\n};\n\nstruct page;\n\nstruct writeback_control;\n\nstruct readahead_control;\n\nstruct kiocb;\n\nstruct iov_iter;\n\nstruct swap_info_struct;\n\nstruct address_space_operations {\n\tint (*writepage)(struct page *, struct writeback_control *);\n\tint (*read_folio)(struct file *, struct folio *);\n\tint (*writepages)(struct address_space *, struct writeback_control *);\n\tbool (*dirty_folio)(struct address_space *, struct folio *);\n\tvoid (*readahead)(struct readahead_control *);\n\tint (*write_begin)(struct file *, struct address_space *, loff_t, unsigned int, struct folio **, void **);\n\tint (*write_end)(struct file *, struct address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *);\n\tsector_t (*bmap)(struct address_space *, sector_t);\n\tvoid (*invalidate_folio)(struct folio *, size_t, size_t);\n\tbool (*release_folio)(struct folio *, gfp_t);\n\tvoid (*free_folio)(struct folio *);\n\tssize_t (*direct_IO)(struct kiocb *, struct iov_iter *);\n\tint (*migrate_folio)(struct address_space *, struct folio *, struct folio *, enum migrate_mode);\n\tint (*launder_folio)(struct folio *);\n\tbool (*is_partially_uptodate)(struct folio *, size_t, size_t);\n\tvoid (*is_dirty_writeback)(struct folio *, bool *, bool *);\n\tint (*error_remove_folio)(struct address_space *, struct folio *);\n\tint (*swap_activate)(struct swap_info_struct *, struct file *, sector_t *);\n\tvoid (*swap_deactivate)(struct file *);\n\tint (*swap_rw)(struct kiocb *, struct iov_iter *);\n};\n\nstruct adjust_trip_data {\n\tstruct acpi_thermal *tz;\n\tu32 event;\n};\n\nstruct advisor_ctx {\n\tktime_t start_scan;\n\tlong unsigned int scan_time;\n\tlong unsigned int change;\n\tlong long unsigned int cpu_time;\n};\n\nstruct crypto_aead;\n\nstruct aead_request;\n\nstruct aead_alg {\n\tint (*setkey)(struct crypto_aead *, const u8 *, unsigned int);\n\tint (*setauthsize)(struct crypto_aead *, unsigned int);\n\tint (*encrypt)(struct aead_request *);\n\tint (*decrypt)(struct aead_request *);\n\tint (*init)(struct crypto_aead *);\n\tvoid (*exit)(struct crypto_aead *);\n\tunsigned int ivsize;\n\tunsigned int maxauthsize;\n\tunsigned int chunksize;\n\tstruct crypto_alg base;\n};\n\nstruct crypto_template;\n\nstruct crypto_spawn;\n\nstruct crypto_instance {\n\tstruct crypto_alg alg;\n\tstruct crypto_template *tmpl;\n\tunion {\n\t\tstruct hlist_node list;\n\t\tstruct crypto_spawn *spawns;\n\t};\n\tstruct work_struct free_work;\n\tvoid *__ctx[0];\n};\n\nstruct aead_instance {\n\tvoid (*free)(struct aead_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[64];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct aead_alg alg;\n\t};\n};\n\nstruct aead_request {\n\tstruct crypto_async_request base;\n\tunsigned int assoclen;\n\tunsigned int cryptlen;\n\tu8 *iv;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tvoid *__ctx[0];\n};\n\nstruct aead_testvec;\n\nstruct aead_test_suite {\n\tconst struct aead_testvec *vecs;\n\tunsigned int count;\n\tunsigned int einval_allowed: 1;\n\tunsigned int aad_iv: 1;\n};\n\nstruct aead_testvec {\n\tconst char *key;\n\tconst char *iv;\n\tconst char *ptext;\n\tconst char *assoc;\n\tconst char *ctext;\n\tunsigned char novrfy;\n\tunsigned char wk;\n\tunsigned char klen;\n\tunsigned int plen;\n\tunsigned int clen;\n\tunsigned int alen;\n\tint setkey_error;\n\tint setauthsize_error;\n\tint crypt_error;\n};\n\nstruct pcie_tlp_log {\n\tu32 dw[4];\n\tu32 prefix[4];\n};\n\nstruct aer_capability_regs {\n\tu32 header;\n\tu32 uncor_status;\n\tu32 uncor_mask;\n\tu32 uncor_severity;\n\tu32 cor_status;\n\tu32 cor_mask;\n\tu32 cap_control;\n\tstruct pcie_tlp_log header_log;\n\tu32 root_command;\n\tu32 root_status;\n\tu16 cor_err_source;\n\tu16 uncor_err_source;\n};\n\nstruct aer_err_info {\n\tstruct pci_dev *dev[5];\n\tint error_dev_num;\n\tunsigned int id: 16;\n\tunsigned int severity: 2;\n\tunsigned int __pad1: 5;\n\tunsigned int multi_error_valid: 1;\n\tunsigned int first_error: 5;\n\tunsigned int __pad2: 2;\n\tunsigned int tlp_header_valid: 1;\n\tunsigned int status;\n\tunsigned int mask;\n\tstruct pcie_tlp_log tlp;\n};\n\nstruct aer_err_source {\n\tu32 status;\n\tu32 id;\n};\n\nstruct aer_rpc {\n\tstruct pci_dev *rpd;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct aer_err_source *type;\n\t\t\tconst struct aer_err_source *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct aer_err_source *ptr;\n\t\t\tconst struct aer_err_source *ptr_const;\n\t\t};\n\t\tstruct aer_err_source buf[128];\n\t} aer_fifo;\n};\n\nstruct aer_stats {\n\tu64 dev_cor_errs[16];\n\tu64 dev_fatal_errs[27];\n\tu64 dev_nonfatal_errs[27];\n\tu64 dev_total_cor_errs;\n\tu64 dev_total_fatal_errs;\n\tu64 dev_total_nonfatal_errs;\n\tu64 rootport_total_cor_errs;\n\tu64 rootport_total_fatal_errs;\n\tu64 rootport_total_nonfatal_errs;\n};\n\nstruct affinity_context {\n\tconst struct cpumask *new_mask;\n\tstruct cpumask *user_mask;\n\tunsigned int flags;\n};\n\nstruct aggregate_control {\n\tlong int *aggregate;\n\tlong int *local;\n\tlong int *pending;\n\tlong int *ppending;\n\tlong int *cstat;\n\tlong int *cstat_prev;\n\tint size;\n};\n\nstruct component_master_ops;\n\nstruct component_match;\n\nstruct aggregate_device {\n\tstruct list_head node;\n\tbool bound;\n\tconst struct component_master_ops *ops;\n\tstruct device *parent;\n\tstruct component_match *match;\n};\n\nstruct xfs_btree_ops;\n\nstruct aghdr_init_data {\n\txfs_agblock_t agno;\n\txfs_extlen_t agsize;\n\tstruct list_head buffer_list;\n\txfs_rfsblock_t nfree;\n\txfs_daddr_t daddr;\n\tsize_t numblks;\n\tconst struct xfs_btree_ops *bc_ops;\n};\n\nstruct hash_alg_common {\n\tunsigned int digestsize;\n\tunsigned int statesize;\n\tstruct crypto_alg base;\n};\n\nstruct ahash_request;\n\nstruct crypto_ahash;\n\nstruct ahash_alg {\n\tint (*init)(struct ahash_request *);\n\tint (*update)(struct ahash_request *);\n\tint (*final)(struct ahash_request *);\n\tint (*finup)(struct ahash_request *);\n\tint (*digest)(struct ahash_request *);\n\tint (*export)(struct ahash_request *, void *);\n\tint (*import)(struct ahash_request *, const void *);\n\tint (*setkey)(struct crypto_ahash *, const u8 *, unsigned int);\n\tint (*init_tfm)(struct crypto_ahash *);\n\tvoid (*exit_tfm)(struct crypto_ahash *);\n\tint (*clone_tfm)(struct crypto_ahash *, struct crypto_ahash *);\n\tstruct hash_alg_common halg;\n};\n\nstruct ahash_instance {\n\tvoid (*free)(struct ahash_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[96];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct ahash_alg alg;\n\t};\n};\n\nstruct ahash_request {\n\tstruct crypto_async_request base;\n\tunsigned int nbytes;\n\tstruct scatterlist *src;\n\tu8 *result;\n\tvoid *priv;\n\tvoid *__ctx[0];\n};\n\nstruct ahci_cmd_hdr {\n\t__le32 opts;\n\t__le32 status;\n\t__le32 tbl_addr;\n\t__le32 tbl_addr_hi;\n\t__le32 reserved[4];\n};\n\nstruct ahci_dwc_plat_data;\n\nstruct platform_device;\n\nstruct ahci_dwc_host_priv {\n\tconst struct ahci_dwc_plat_data *pdata;\n\tstruct platform_device *pdev;\n\tu32 timv;\n\tu32 dmacr[32];\n};\n\nstruct ahci_host_priv;\n\nstruct ahci_dwc_plat_data {\n\tunsigned int pflags;\n\tunsigned int hflags;\n\tint (*init)(struct ahci_host_priv *);\n\tint (*reinit)(struct ahci_host_priv *);\n\tvoid (*clear)(struct ahci_host_priv *);\n};\n\nstruct ata_link;\n\nstruct ahci_em_priv {\n\tenum sw_activity blink_policy;\n\tstruct timer_list timer;\n\tlong unsigned int saved_activity;\n\tlong unsigned int activity;\n\tlong unsigned int led_state;\n\tstruct ata_link *link;\n};\n\nstruct regulator;\n\nstruct clk_bulk_data;\n\nstruct reset_control;\n\nstruct phy;\n\nstruct ata_port;\n\nstruct ata_host;\n\nstruct ahci_host_priv {\n\tunsigned int flags;\n\tu32 mask_port_map;\n\tvoid *mmio;\n\tu32 cap;\n\tu32 cap2;\n\tu32 version;\n\tu32 port_map;\n\tu32 saved_cap;\n\tu32 saved_cap2;\n\tu32 saved_port_map;\n\tu32 saved_port_cap[32];\n\tu32 em_loc;\n\tu32 em_buf_sz;\n\tu32 em_msg_type;\n\tu32 remapped_nvme;\n\tbool got_runtime_pm;\n\tunsigned int n_clks;\n\tstruct clk_bulk_data *clks;\n\tunsigned int f_rsts;\n\tstruct reset_control *rsts;\n\tstruct regulator **target_pwrs;\n\tstruct regulator *ahci_regulator;\n\tstruct regulator *phy_regulator;\n\tstruct phy **phys;\n\tunsigned int nports;\n\tvoid *plat_data;\n\tunsigned int irq;\n\tvoid (*start_engine)(struct ata_port *);\n\tint (*stop_engine)(struct ata_port *);\n\tirqreturn_t (*irq_handler)(int, void *);\n\tint (*get_irq_vector)(struct ata_host *, int);\n};\n\nstruct ahci_port_priv {\n\tstruct ata_link *active_link;\n\tstruct ahci_cmd_hdr *cmd_slot;\n\tdma_addr_t cmd_slot_dma;\n\tvoid *cmd_tbl;\n\tdma_addr_t cmd_tbl_dma;\n\tvoid *rx_fis;\n\tdma_addr_t rx_fis_dma;\n\tunsigned int ncq_saw_d2h: 1;\n\tunsigned int ncq_saw_dmas: 1;\n\tunsigned int ncq_saw_sdb: 1;\n\tspinlock_t lock;\n\tu32 intr_mask;\n\tbool fbs_supported;\n\tbool fbs_enabled;\n\tint fbs_last_dev;\n\tstruct ahci_em_priv em_priv[15];\n\tchar *irq_desc;\n};\n\nstruct ahci_sg {\n\t__le32 addr;\n\t__le32 addr_hi;\n\t__le32 reserved;\n\t__le32 flags_size;\n};\n\nstruct wait_page_queue;\n\nstruct kiocb {\n\tstruct file *ki_filp;\n\tloff_t ki_pos;\n\tvoid (*ki_complete)(struct kiocb *, long int);\n\tvoid *private;\n\tint ki_flags;\n\tu16 ki_ioprio;\n\tunion {\n\t\tstruct wait_page_queue *ki_waitq;\n\t\tssize_t (*dio_complete)(void *);\n\t};\n};\n\nstruct cred;\n\nstruct fsync_iocb {\n\tstruct file *file;\n\tstruct work_struct work;\n\tbool datasync;\n\tstruct cred *creds;\n};\n\nstruct wait_queue_entry;\n\ntypedef int (*wait_queue_func_t)(struct wait_queue_entry *, unsigned int, int, void *);\n\nstruct wait_queue_entry {\n\tunsigned int flags;\n\tvoid *private;\n\twait_queue_func_t func;\n\tstruct list_head entry;\n};\n\nstruct poll_iocb {\n\tstruct file *file;\n\tstruct wait_queue_head *head;\n\t__poll_t events;\n\tbool cancelled;\n\tbool work_scheduled;\n\tbool work_need_resched;\n\tstruct wait_queue_entry wait;\n\tstruct work_struct work;\n};\n\ntypedef int kiocb_cancel_fn(struct kiocb *);\n\nstruct io_event {\n\t__u64 data;\n\t__u64 obj;\n\t__s64 res;\n\t__s64 res2;\n};\n\nstruct kioctx;\n\nstruct eventfd_ctx;\n\nstruct aio_kiocb {\n\tunion {\n\t\tstruct file *ki_filp;\n\t\tstruct kiocb rw;\n\t\tstruct fsync_iocb fsync;\n\t\tstruct poll_iocb poll;\n\t};\n\tstruct kioctx *ki_ctx;\n\tkiocb_cancel_fn *ki_cancel;\n\tstruct io_event ki_res;\n\tstruct list_head ki_list;\n\trefcount_t ki_refcnt;\n\tstruct eventfd_ctx *ki_eventfd;\n};\n\nstruct poll_table_struct;\n\ntypedef void (*poll_queue_proc)(struct file *, wait_queue_head_t *, struct poll_table_struct *);\n\nstruct poll_table_struct {\n\tpoll_queue_proc _qproc;\n\t__poll_t _key;\n};\n\nstruct aio_poll_table {\n\tstruct poll_table_struct pt;\n\tstruct aio_kiocb *iocb;\n\tbool queued;\n\tint error;\n};\n\nstruct aio_ring {\n\tunsigned int id;\n\tunsigned int nr;\n\tunsigned int head;\n\tunsigned int tail;\n\tunsigned int magic;\n\tunsigned int compat_features;\n\tunsigned int incompat_features;\n\tunsigned int header_length;\n\tstruct io_event io_events[0];\n};\n\nstruct aio_waiter {\n\tstruct wait_queue_entry w;\n\tsize_t min_nr;\n};\n\nstruct akcipher_request;\n\nstruct crypto_akcipher;\n\nstruct akcipher_alg {\n\tint (*encrypt)(struct akcipher_request *);\n\tint (*decrypt)(struct akcipher_request *);\n\tint (*set_pub_key)(struct crypto_akcipher *, const void *, unsigned int);\n\tint (*set_priv_key)(struct crypto_akcipher *, const void *, unsigned int);\n\tunsigned int (*max_size)(struct crypto_akcipher *);\n\tint (*init)(struct crypto_akcipher *);\n\tvoid (*exit)(struct crypto_akcipher *);\n\tstruct crypto_alg base;\n};\n\nstruct akcipher_instance {\n\tvoid (*free)(struct akcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[56];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct akcipher_alg alg;\n\t};\n};\n\nstruct akcipher_request {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int src_len;\n\tunsigned int dst_len;\n\tvoid *__ctx[0];\n};\n\nstruct akcipher_testvec;\n\nstruct akcipher_test_suite {\n\tconst struct akcipher_testvec *vecs;\n\tunsigned int count;\n};\n\nstruct akcipher_testvec {\n\tconst unsigned char *key;\n\tconst unsigned char *m;\n\tconst unsigned char *c;\n\tunsigned int key_len;\n\tunsigned int m_size;\n\tunsigned int c_size;\n\tbool public_key_vec;\n};\n\nstruct alarm {\n\tstruct timerqueue_node node;\n\tstruct hrtimer timer;\n\tvoid (*function)(struct alarm *, ktime_t);\n\tenum alarmtimer_type type;\n\tint state;\n\tvoid *data;\n};\n\nstruct timerqueue_head {\n\tstruct rb_root_cached rb_root;\n};\n\nstruct timespec64;\n\nstruct alarm_base {\n\tspinlock_t lock;\n\tstruct timerqueue_head timerqueue;\n\tktime_t (*get_ktime)(void);\n\tvoid (*get_timespec)(struct timespec64 *);\n\tclockid_t base_clockid;\n};\n\nstruct alc298_samsung_amp_desc {\n\tunsigned char nid;\n\tshort unsigned int init_seq[4];\n};\n\nstruct alc298_samsung_v2_amp_desc {\n\tshort unsigned int nid;\n\tint init_seq_size;\n\tshort unsigned int init_seq[36];\n};\n\nstruct alc_codec_rename_pci_table {\n\tunsigned int codec_vendor_id;\n\tshort unsigned int pci_subvendor;\n\tshort unsigned int pci_subdevice;\n\tconst char *name;\n};\n\nstruct alc_codec_rename_table {\n\tunsigned int vendor_id;\n\tshort unsigned int coef_mask;\n\tshort unsigned int coef_bits;\n\tconst char *name;\n};\n\nstruct alc_coef_led {\n\tunsigned int idx;\n\tunsigned int mask;\n\tunsigned int on;\n\tunsigned int off;\n};\n\nstruct alc_customize_define {\n\tunsigned int sku_cfg;\n\tunsigned char port_connectivity;\n\tunsigned char check_sum;\n\tunsigned char customization;\n\tunsigned char external_amp;\n\tunsigned int enable_pcbeep: 1;\n\tunsigned int platform_type: 1;\n\tunsigned int swap: 1;\n\tunsigned int override: 1;\n\tunsigned int fixup: 1;\n};\n\nstruct hda_multi_out {\n\tint num_dacs;\n\tconst hda_nid_t *dac_nids;\n\thda_nid_t hp_nid;\n\thda_nid_t hp_out_nid[5];\n\thda_nid_t extra_out_nid[5];\n\thda_nid_t dig_out_nid;\n\tconst hda_nid_t *follower_dig_outs;\n\tint max_channels;\n\tint dig_out_used;\n\tint no_share_stream;\n\tint share_spdif;\n\tunsigned int analog_rates;\n\tunsigned int analog_maxbps;\n\tu64 analog_formats;\n\tunsigned int spdif_rates;\n\tunsigned int spdif_maxbps;\n\tu64 spdif_formats;\n};\n\nstruct hda_input_mux_item {\n\tchar label[32];\n\tunsigned int index;\n};\n\nstruct hda_input_mux {\n\tunsigned int num_items;\n\tstruct hda_input_mux_item items[36];\n};\n\nstruct auto_pin_cfg_item {\n\thda_nid_t pin;\n\tint type;\n\tunsigned int is_headset_mic: 1;\n\tunsigned int is_headphone_mic: 1;\n\tunsigned int has_boost_on_pin: 1;\n\tint order;\n};\n\nstruct auto_pin_cfg {\n\tint line_outs;\n\thda_nid_t line_out_pins[5];\n\tint speaker_outs;\n\thda_nid_t speaker_pins[5];\n\tint hp_outs;\n\tint line_out_type;\n\thda_nid_t hp_pins[5];\n\tint num_inputs;\n\tstruct auto_pin_cfg_item inputs[18];\n\tint dig_outs;\n\thda_nid_t dig_out_pins[2];\n\thda_nid_t dig_in_pin;\n\thda_nid_t mono_out_pin;\n\tint dig_out_type[2];\n\tint dig_in_type;\n};\n\nstruct snd_array {\n\tunsigned int used;\n\tunsigned int alloced;\n\tunsigned int elem_size;\n\tunsigned int alloc_align;\n\tvoid *list;\n};\n\nstruct automic_entry {\n\thda_nid_t pin;\n\tint idx;\n\tunsigned int attr;\n};\n\nstruct snd_kcontrol;\n\nstruct hda_codec;\n\nstruct hda_vmaster_mute_hook {\n\tstruct snd_kcontrol *sw_kctl;\n\tvoid (*hook)(void *, int);\n\tstruct hda_codec *codec;\n};\n\nstruct hda_amp_list;\n\nstruct hda_loopback_check {\n\tconst struct hda_amp_list *amplist;\n\tint power_on;\n};\n\nstruct hda_multi_io {\n\thda_nid_t pin;\n\thda_nid_t dac;\n\tunsigned int ctl_in;\n};\n\nstruct hda_pcm_stream;\n\nstruct hda_pcm;\n\nstruct badness_table;\n\nstruct snd_ctl_elem_value;\n\nstruct hda_jack_callback;\n\nstruct led_classdev;\n\nstruct hda_gen_spec {\n\tchar stream_name_analog[32];\n\tconst struct hda_pcm_stream *stream_analog_playback;\n\tconst struct hda_pcm_stream *stream_analog_capture;\n\tchar stream_name_alt_analog[32];\n\tconst struct hda_pcm_stream *stream_analog_alt_playback;\n\tconst struct hda_pcm_stream *stream_analog_alt_capture;\n\tchar stream_name_digital[32];\n\tconst struct hda_pcm_stream *stream_digital_playback;\n\tconst struct hda_pcm_stream *stream_digital_capture;\n\tunsigned int active_streams;\n\tstruct mutex pcm_mutex;\n\tstruct hda_multi_out multiout;\n\thda_nid_t alt_dac_nid;\n\thda_nid_t follower_dig_outs[3];\n\tint dig_out_type;\n\tunsigned int num_adc_nids;\n\thda_nid_t adc_nids[18];\n\thda_nid_t dig_in_nid;\n\thda_nid_t mixer_nid;\n\thda_nid_t mixer_merge_nid;\n\tconst char *input_labels[36];\n\tint input_label_idxs[36];\n\thda_nid_t cur_adc;\n\tunsigned int cur_adc_stream_tag;\n\tunsigned int cur_adc_format;\n\tstruct hda_input_mux input_mux;\n\tunsigned int cur_mux[3];\n\tint min_channel_count;\n\tint ext_channel_count;\n\tint const_channel_count;\n\tstruct hda_pcm *pcm_rec[3];\n\tstruct auto_pin_cfg autocfg;\n\tstruct snd_array kctls;\n\thda_nid_t private_dac_nids[5];\n\thda_nid_t imux_pins[36];\n\tunsigned int dyn_adc_idx[36];\n\thda_nid_t shared_mic_vref_pin;\n\thda_nid_t hp_mic_pin;\n\tint hp_mic_mux_idx;\n\tint num_all_dacs;\n\thda_nid_t all_dacs[16];\n\tint num_all_adcs;\n\thda_nid_t all_adcs[18];\n\tstruct snd_array paths;\n\tint out_paths[5];\n\tint hp_paths[5];\n\tint speaker_paths[5];\n\tint aamix_out_paths[3];\n\tint digout_paths[5];\n\tint input_paths[648];\n\tint loopback_paths[36];\n\tint loopback_merge_path;\n\tint digin_path;\n\tint am_num_entries;\n\tstruct automic_entry am_entry[3];\n\tunsigned int hp_jack_present: 1;\n\tunsigned int line_jack_present: 1;\n\tunsigned int speaker_muted: 1;\n\tunsigned int line_out_muted: 1;\n\tunsigned int auto_mic: 1;\n\tunsigned int automute_speaker: 1;\n\tunsigned int automute_lo: 1;\n\tunsigned int detect_hp: 1;\n\tunsigned int detect_lo: 1;\n\tunsigned int automute_speaker_possible: 1;\n\tunsigned int automute_lo_possible: 1;\n\tunsigned int master_mute: 1;\n\tunsigned int keep_vref_in_automute: 1;\n\tunsigned int line_in_auto_switch: 1;\n\tunsigned int auto_mute_via_amp: 1;\n\tunsigned int suppress_auto_mute: 1;\n\tunsigned int suppress_auto_mic: 1;\n\tunsigned int need_dac_fix: 1;\n\tunsigned int hp_mic: 1;\n\tunsigned int suppress_hp_mic_detect: 1;\n\tunsigned int no_primary_hp: 1;\n\tunsigned int no_multi_io: 1;\n\tunsigned int multi_cap_vol: 1;\n\tunsigned int inv_dmic_split: 1;\n\tunsigned int own_eapd_ctl: 1;\n\tunsigned int keep_eapd_on: 1;\n\tunsigned int vmaster_mute_led: 1;\n\tunsigned int mic_mute_led: 1;\n\tunsigned int indep_hp: 1;\n\tunsigned int prefer_hp_amp: 1;\n\tunsigned int add_stereo_mix_input: 2;\n\tunsigned int add_jack_modes: 1;\n\tunsigned int power_down_unused: 1;\n\tunsigned int dac_min_mute: 1;\n\tunsigned int suppress_vmaster: 1;\n\tunsigned int no_analog: 1;\n\tunsigned int dyn_adc_switch: 1;\n\tunsigned int indep_hp_enabled: 1;\n\tunsigned int have_aamix_ctl: 1;\n\tunsigned int hp_mic_jack_modes: 1;\n\tunsigned int skip_verbs: 1;\n\tu64 mute_bits;\n\tu64 out_vol_mask;\n\tconst struct badness_table *main_out_badness;\n\tconst struct badness_table *extra_out_badness;\n\tconst hda_nid_t *preferred_dacs;\n\tbool aamix_mode;\n\thda_nid_t beep_nid;\n\thda_nid_t vmaster_nid;\n\tunsigned int vmaster_tlv[4];\n\tstruct hda_vmaster_mute_hook vmaster_mute;\n\tstruct hda_loopback_check loopback;\n\tstruct snd_array loopback_list;\n\tint multi_ios;\n\tstruct hda_multi_io multi_io[4];\n\tvoid (*init_hook)(struct hda_codec *);\n\tvoid (*automute_hook)(struct hda_codec *);\n\tvoid (*cap_sync_hook)(struct hda_codec *, struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\tvoid (*pcm_playback_hook)(struct hda_pcm_stream *, struct hda_codec *, struct snd_pcm_substream *, int);\n\tvoid (*pcm_capture_hook)(struct hda_pcm_stream *, struct hda_codec *, struct snd_pcm_substream *, int);\n\tvoid (*hp_automute_hook)(struct hda_codec *, struct hda_jack_callback *);\n\tvoid (*line_automute_hook)(struct hda_codec *, struct hda_jack_callback *);\n\tvoid (*mic_autoswitch_hook)(struct hda_codec *, struct hda_jack_callback *);\n\tstruct led_classdev *led_cdevs[2];\n};\n\nstruct hda_component {\n\tstruct device *dev;\n\tchar name[50];\n\tstruct acpi_device *adev;\n\tbool acpi_notifications_supported;\n\tvoid (*acpi_notify)(acpi_handle, u32, struct device *);\n\tvoid (*pre_playback_hook)(struct device *, int);\n\tvoid (*playback_hook)(struct device *, int);\n\tvoid (*post_playback_hook)(struct device *, int);\n};\n\nstruct hda_component_parent {\n\tstruct mutex mutex;\n\tstruct hda_codec *codec;\n\tstruct hda_component comps[4];\n};\n\nstruct alc_spec {\n\tstruct hda_gen_spec gen;\n\tstruct alc_customize_define cdefine;\n\tunsigned int parse_flags;\n\tunsigned int gpio_mask;\n\tunsigned int gpio_dir;\n\tunsigned int gpio_data;\n\tbool gpio_write_delay;\n\tint mute_led_polarity;\n\tint micmute_led_polarity;\n\thda_nid_t mute_led_nid;\n\thda_nid_t cap_mute_led_nid;\n\tunsigned int gpio_mute_led_mask;\n\tunsigned int gpio_mic_led_mask;\n\tstruct alc_coef_led mute_led_coef;\n\tstruct alc_coef_led mic_led_coef;\n\tstruct mutex coef_mutex;\n\thda_nid_t headset_mic_pin;\n\thda_nid_t headphone_mic_pin;\n\tint current_headset_mode;\n\tint current_headset_type;\n\tvoid (*init_hook)(struct hda_codec *);\n\tvoid (*power_hook)(struct hda_codec *);\n\tvoid (*shutup)(struct hda_codec *);\n\tint init_amp;\n\tint codec_variant;\n\tunsigned int has_alc5505_dsp: 1;\n\tunsigned int no_depop_delay: 1;\n\tunsigned int done_hp_init: 1;\n\tunsigned int no_shutup_pins: 1;\n\tunsigned int ultra_low_power: 1;\n\tunsigned int has_hs_key: 1;\n\tunsigned int no_internal_mic_pin: 1;\n\tunsigned int en_3kpull_low: 1;\n\tint num_speaker_amps;\n\thda_nid_t pll_nid;\n\tunsigned int pll_coef_idx;\n\tunsigned int pll_coef_bit;\n\tunsigned int coef0;\n\tstruct input_dev *kb_dev;\n\tu8 alc_mute_keycode_map[1];\n\tstruct hda_component_parent comps;\n};\n\nstruct alert_data {\n\tshort unsigned int addr;\n\tenum i2c_alert_protocol type;\n\tunsigned int data;\n};\n\nstruct cipher_testvec;\n\nstruct cipher_test_suite {\n\tconst struct cipher_testvec *vecs;\n\tunsigned int count;\n};\n\nstruct comp_testvec;\n\nstruct comp_test_suite {\n\tstruct {\n\t\tconst struct comp_testvec *vecs;\n\t\tunsigned int count;\n\t} comp;\n\tstruct {\n\t\tconst struct comp_testvec *vecs;\n\t\tunsigned int count;\n\t} decomp;\n};\n\nstruct hash_testvec;\n\nstruct hash_test_suite {\n\tconst struct hash_testvec *vecs;\n\tunsigned int count;\n};\n\nstruct cprng_testvec;\n\nstruct cprng_test_suite {\n\tconst struct cprng_testvec *vecs;\n\tunsigned int count;\n};\n\nstruct drbg_testvec;\n\nstruct drbg_test_suite {\n\tconst struct drbg_testvec *vecs;\n\tunsigned int count;\n};\n\nstruct sig_testvec;\n\nstruct sig_test_suite {\n\tconst struct sig_testvec *vecs;\n\tunsigned int count;\n};\n\nstruct kpp_testvec;\n\nstruct kpp_test_suite {\n\tconst struct kpp_testvec *vecs;\n\tunsigned int count;\n};\n\nstruct alg_test_desc {\n\tconst char *alg;\n\tconst char *generic_driver;\n\tint (*test)(const struct alg_test_desc *, const char *, u32, u32);\n\tint fips_allowed;\n\tunion {\n\t\tstruct aead_test_suite aead;\n\t\tstruct cipher_test_suite cipher;\n\t\tstruct comp_test_suite comp;\n\t\tstruct hash_test_suite hash;\n\t\tstruct cprng_test_suite cprng;\n\t\tstruct drbg_test_suite drbg;\n\t\tstruct akcipher_test_suite akcipher;\n\t\tstruct sig_test_suite sig;\n\t\tstruct kpp_test_suite kpp;\n\t} suite;\n};\n\nstruct alias_prop {\n\tstruct list_head link;\n\tconst char *alias;\n\tstruct device_node *np;\n\tint id;\n\tchar stem[0];\n};\n\nstruct allocDescImpUse {\n\t__le16 flags;\n\tuint8_t impUse[4];\n};\n\nstruct tag {\n\t__le16 tagIdent;\n\t__le16 descVersion;\n\tuint8_t tagChecksum;\n\tuint8_t reserved;\n\t__le16 tagSerialNum;\n\t__le16 descCRC;\n\t__le16 descCRCLength;\n\t__le32 tagLocation;\n};\n\nstruct allocExtDesc {\n\tstruct tag descTag;\n\t__le32 previousAllocExtLocation;\n\t__le32 lengthAllocDescs;\n};\n\nstruct alloc_chunk_ctl {\n\tu64 start;\n\tu64 type;\n\tint num_stripes;\n\tint sub_stripes;\n\tint dev_stripes;\n\tint devs_max;\n\tint devs_min;\n\tint devs_increment;\n\tint ncopies;\n\tint nparity;\n\tu64 max_stripe_size;\n\tu64 max_chunk_size;\n\tu64 dev_extent_min;\n\tu64 stripe_size;\n\tu64 chunk_size;\n\tint ndevs;\n};\n\nstruct zonelist;\n\nstruct zoneref;\n\nstruct alloc_context {\n\tstruct zonelist *zonelist;\n\tnodemask_t *nodemask;\n\tstruct zoneref *preferred_zoneref;\n\tint migratetype;\n\tenum zone_type highest_zoneidx;\n\tbool spread_dirty_pages;\n};\n\nstruct codetag {\n\tunsigned int flags;\n\tunsigned int lineno;\n\tconst char *modname;\n\tconst char *function;\n\tconst char *filename;\n};\n\nstruct alloc_tag_counters;\n\nstruct alloc_tag {\n\tstruct codetag ct;\n\tstruct alloc_tag_counters *counters;\n};\n\nstruct alloc_tag_counters {\n\tu64 bytes;\n\tu64 calls;\n};\n\nstruct alps_bitmap_point {\n\tint start_bit;\n\tint num_bits;\n};\n\nstruct input_mt_pos {\n\ts16 x;\n\ts16 y;\n};\n\nstruct alps_fields {\n\tunsigned int x_map;\n\tunsigned int y_map;\n\tunsigned int fingers;\n\tint pressure;\n\tstruct input_mt_pos st;\n\tstruct input_mt_pos mt[4];\n\tunsigned int first_mp: 1;\n\tunsigned int is_mp: 1;\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int ts_left: 1;\n\tunsigned int ts_right: 1;\n\tunsigned int ts_middle: 1;\n};\n\nstruct psmouse;\n\nstruct alps_nibble_commands;\n\nstruct alps_data {\n\tstruct psmouse *psmouse;\n\tstruct input_dev *dev2;\n\tstruct input_dev *dev3;\n\tchar phys2[32];\n\tchar phys3[32];\n\tstruct delayed_work dev3_register_work;\n\tconst struct alps_nibble_commands *nibble_commands;\n\tint addr_command;\n\tu16 proto_version;\n\tu8 byte0;\n\tu8 mask0;\n\tu8 dev_id[3];\n\tu8 fw_ver[3];\n\tint flags;\n\tint x_max;\n\tint y_max;\n\tint x_bits;\n\tint y_bits;\n\tunsigned int x_res;\n\tunsigned int y_res;\n\tint (*hw_init)(struct psmouse *);\n\tvoid (*process_packet)(struct psmouse *);\n\tint (*decode_fields)(struct alps_fields *, unsigned char *, struct psmouse *);\n\tvoid (*set_abs_params)(struct alps_data *, struct input_dev *);\n\tint prev_fin;\n\tint multi_packet;\n\tint second_touch;\n\tunsigned char multi_data[6];\n\tstruct alps_fields f;\n\tu8 quirks;\n\tstruct timer_list timer;\n};\n\nstruct alps_protocol_info {\n\tu16 version;\n\tu8 byte0;\n\tu8 mask0;\n\tunsigned int flags;\n};\n\nstruct alps_model_info {\n\tu8 signature[3];\n\tstruct alps_protocol_info protocol_info;\n};\n\nstruct alps_nibble_commands {\n\tint command;\n\tunsigned char data;\n};\n\nstruct alt_instr {\n\ts32 instr_offset;\n\ts32 replace_offset;\n\tu16 feature;\n\tu8 instrlen;\n\tu8 replacementlen;\n};\n\nstruct amba_cs_uci_id {\n\tunsigned int devarch;\n\tunsigned int devarch_mask;\n\tunsigned int devtype;\n\tvoid *data;\n};\n\nstruct device_dma_parameters {\n\tunsigned int max_segment_size;\n\tunsigned int min_align_mask;\n\tlong unsigned int segment_boundary_mask;\n};\n\nstruct clk;\n\nstruct amba_device {\n\tstruct device dev;\n\tstruct resource res;\n\tstruct clk *pclk;\n\tstruct device_dma_parameters dma_parms;\n\tunsigned int periphid;\n\tstruct mutex periphid_lock;\n\tunsigned int cid;\n\tstruct amba_cs_uci_id uci;\n\tunsigned int irq[9];\n\tconst char *driver_override;\n};\n\nstruct amd_chipset_type {\n\tenum amd_chipset_gen gen;\n\tu8 rev;\n};\n\nstruct amd_chipset_info {\n\tstruct pci_dev *nb_dev;\n\tstruct pci_dev *smbus_dev;\n\tint nb_type;\n\tstruct amd_chipset_type sb_type;\n\tint isoc_reqs;\n\tint probe_count;\n\tbool need_pll_quirk;\n};\n\nstruct amiga_parport_state {\n\tunsigned char data;\n\tunsigned char datadir;\n\tunsigned char status;\n\tunsigned char statusdir;\n};\n\nstruct aml_resource_small_header {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_large_header {\n\tu8 descriptor_type;\n\tu16 resource_length;\n} __attribute__((packed));\n\nstruct aml_resource_irq {\n\tu8 descriptor_type;\n\tu16 irq_mask;\n\tu8 flags;\n} __attribute__((packed));\n\nstruct aml_resource_dma {\n\tu8 descriptor_type;\n\tu8 dma_channel_mask;\n\tu8 flags;\n};\n\nstruct aml_resource_start_dependent {\n\tu8 descriptor_type;\n\tu8 flags;\n};\n\nstruct aml_resource_end_dependent {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_io {\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 minimum;\n\tu16 maximum;\n\tu8 alignment;\n\tu8 address_length;\n};\n\nstruct aml_resource_fixed_io {\n\tu8 descriptor_type;\n\tu16 address;\n\tu8 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_fixed_dma {\n\tu8 descriptor_type;\n\tu16 request_lines;\n\tu16 channels;\n\tu8 width;\n} __attribute__((packed));\n\nstruct aml_resource_vendor_small {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_end_tag {\n\tu8 descriptor_type;\n\tu8 checksum;\n};\n\nstruct aml_resource_memory24 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 alignment;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_generic_register {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 address_space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct aml_resource_vendor_large {\n\tu8 descriptor_type;\n\tu16 resource_length;\n} __attribute__((packed));\n\nstruct aml_resource_memory32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 alignment;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_fixed_memory32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu32 address;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address16 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu16 granularity;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 translation_offset;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu32 granularity;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 translation_offset;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address64 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_extended_address64 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu8 revision_ID;\n\tu8 reserved;\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n\tu64 type_specific;\n} __attribute__((packed));\n\nstruct aml_resource_extended_irq {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu8 interrupt_count;\n\tunion {\n\t\tu32 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu32 interrupts[0];\n\t\t};\n\t};\n} __attribute__((packed));\n\nstruct aml_resource_gpio {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 connection_type;\n\tu16 flags;\n\tu16 int_flags;\n\tu8 pin_config;\n\tu16 drive_strength;\n\tu16 debounce_timeout;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_i2c_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 connection_speed;\n\tu16 slave_address;\n} __attribute__((packed));\n\nstruct aml_resource_spi_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 connection_speed;\n\tu8 data_bit_length;\n\tu8 clock_phase;\n\tu8 clock_polarity;\n\tu16 device_selection;\n} __attribute__((packed));\n\nstruct aml_resource_uart_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 default_baud_rate;\n\tu16 rx_fifo_size;\n\tu16 tx_fifo_size;\n\tu8 parity;\n\tu8 lines_enabled;\n} __attribute__((packed));\n\nstruct aml_resource_csi2_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n} __attribute__((packed));\n\nstruct aml_resource_common_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_function {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config;\n\tu16 function_number;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_config {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 pin_table_offset;\n\tu16 label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group_function {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 function_number;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 res_source_label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group_config {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 res_source_label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_clock_input {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 frequency_divisor;\n\tu32 frequency_numerator;\n} __attribute__((packed));\n\nstruct aml_resource_address {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n} __attribute__((packed));\n\nunion aml_resource {\n\tu8 descriptor_type;\n\tstruct aml_resource_small_header small_header;\n\tstruct aml_resource_large_header large_header;\n\tstruct aml_resource_irq irq;\n\tstruct aml_resource_dma dma;\n\tstruct aml_resource_start_dependent start_dpf;\n\tstruct aml_resource_end_dependent end_dpf;\n\tstruct aml_resource_io io;\n\tstruct aml_resource_fixed_io fixed_io;\n\tstruct aml_resource_fixed_dma fixed_dma;\n\tstruct aml_resource_vendor_small vendor_small;\n\tstruct aml_resource_end_tag end_tag;\n\tstruct aml_resource_memory24 memory24;\n\tstruct aml_resource_generic_register generic_reg;\n\tstruct aml_resource_vendor_large vendor_large;\n\tstruct aml_resource_memory32 memory32;\n\tstruct aml_resource_fixed_memory32 fixed_memory32;\n\tstruct aml_resource_address16 address16;\n\tstruct aml_resource_address32 address32;\n\tstruct aml_resource_address64 address64;\n\tstruct aml_resource_extended_address64 ext_address64;\n\tstruct aml_resource_extended_irq extended_irq;\n\tstruct aml_resource_gpio gpio;\n\tstruct aml_resource_i2c_serialbus i2c_serial_bus;\n\tstruct aml_resource_spi_serialbus spi_serial_bus;\n\tstruct aml_resource_uart_serialbus uart_serial_bus;\n\tstruct aml_resource_csi2_serialbus csi2_serial_bus;\n\tstruct aml_resource_common_serialbus common_serial_bus;\n\tstruct aml_resource_pin_function pin_function;\n\tstruct aml_resource_pin_config pin_config;\n\tstruct aml_resource_pin_group pin_group;\n\tstruct aml_resource_pin_group_function pin_group_function;\n\tstruct aml_resource_pin_group_config pin_group_config;\n\tstruct aml_resource_clock_input clock_input;\n\tstruct aml_resource_address address;\n\tu32 dword_item;\n\tu16 word_item;\n\tu8 byte_item;\n};\n\nstruct analog_param_field {\n\tunsigned int even;\n\tunsigned int odd;\n};\n\nstruct analog_param_range {\n\tunsigned int min;\n\tunsigned int typ;\n\tunsigned int max;\n};\n\nstruct analog_parameters {\n\tunsigned int num_lines;\n\tunsigned int line_duration_ns;\n\tstruct analog_param_range hact_ns;\n\tstruct analog_param_range hfp_ns;\n\tstruct analog_param_range hslen_ns;\n\tstruct analog_param_range hbp_ns;\n\tstruct analog_param_range hblk_ns;\n\tunsigned int bt601_hfp;\n\tstruct analog_param_field vfp_lines;\n\tstruct analog_param_field vslen_lines;\n\tstruct analog_param_field vbp_lines;\n};\n\nstruct extent_ad {\n\t__le32 extLength;\n\t__le32 extLocation;\n};\n\nstruct anchorVolDescPtr {\n\tstruct tag descTag;\n\tstruct extent_ad mainVolDescSeqExt;\n\tstruct extent_ad reserveVolDescSeqExt;\n\tuint8_t reserved[480];\n};\n\nstruct kobj_uevent_env;\n\nstruct kobj_ns_type_operations;\n\nstruct class {\n\tconst char *name;\n\tconst struct attribute_group **class_groups;\n\tconst struct attribute_group **dev_groups;\n\tint (*dev_uevent)(const struct device *, struct kobj_uevent_env *);\n\tchar * (*devnode)(const struct device *, umode_t *);\n\tvoid (*class_release)(const struct class *);\n\tvoid (*dev_release)(struct device *);\n\tint (*shutdown_pre)(struct device *);\n\tconst struct kobj_ns_type_operations *ns_type;\n\tconst void * (*namespace)(const struct device *);\n\tvoid (*get_ownership)(const struct device *, kuid_t *, kgid_t *);\n\tconst struct dev_pm_ops *pm;\n};\n\nstruct transport_container;\n\nstruct transport_class {\n\tstruct class class;\n\tint (*setup)(struct transport_container *, struct device *, struct device *);\n\tint (*configure)(struct transport_container *, struct device *, struct device *);\n\tint (*remove)(struct transport_container *, struct device *, struct device *);\n};\n\nstruct klist_node;\n\nstruct klist {\n\tspinlock_t k_lock;\n\tstruct list_head k_list;\n\tvoid (*get)(struct klist_node *);\n\tvoid (*put)(struct klist_node *);\n};\n\nstruct attribute_container {\n\tstruct list_head node;\n\tstruct klist containers;\n\tstruct class *class;\n\tconst struct attribute_group *grp;\n\tstruct device_attribute **attrs;\n\tint (*match)(struct attribute_container *, struct device *);\n\tlong unsigned int flags;\n};\n\nstruct anon_transport_class {\n\tstruct transport_class tclass;\n\tstruct attribute_container container;\n};\n\nstruct anon_vma {\n\tstruct anon_vma *root;\n\tstruct rw_semaphore rwsem;\n\tatomic_t refcount;\n\tlong unsigned int num_children;\n\tlong unsigned int num_active_vmas;\n\tstruct anon_vma *parent;\n\tstruct rb_root_cached rb_root;\n};\n\nstruct anon_vma_chain {\n\tstruct vm_area_struct *vma;\n\tstruct anon_vma *anon_vma;\n\tstruct list_head same_vma;\n\tstruct rb_node rb;\n\tlong unsigned int rb_subtree_last;\n};\n\nstruct anon_vma_name {\n\tstruct kref kref;\n\tchar name[0];\n};\n\nstruct apd_private_data;\n\nstruct apd_device_desc {\n\tunsigned int fixed_clk_rate;\n\tstruct property_entry *properties;\n\tint (*setup)(struct apd_private_data *);\n};\n\nstruct apd_private_data {\n\tstruct clk *clk;\n\tstruct acpi_device *adev;\n\tconst struct apd_device_desc *dev_desc;\n};\n\nstruct aperture_range {\n\tstruct device *dev;\n\tresource_size_t base;\n\tresource_size_t size;\n\tstruct list_head lh;\n\tvoid (*detach)(struct device *);\n};\n\nstruct api_context {\n\tstruct completion done;\n\tint status;\n};\n\nstruct vfsmount;\n\nstruct path {\n\tstruct vfsmount *mnt;\n\tstruct dentry *dentry;\n};\n\nstruct lsm_network_audit;\n\nstruct lsm_ioctlop_audit;\n\nstruct lsm_ibpkey_audit;\n\nstruct lsm_ibendport_audit;\n\nstruct selinux_audit_data;\n\nstruct apparmor_audit_data;\n\nstruct common_audit_data {\n\tchar type;\n\tunion {\n\t\tstruct path path;\n\t\tstruct dentry *dentry;\n\t\tstruct inode *inode;\n\t\tstruct lsm_network_audit *net;\n\t\tint cap;\n\t\tint ipc_id;\n\t\tstruct task_struct *tsk;\n\t\tstruct {\n\t\t\tkey_serial_t key;\n\t\t\tchar *key_desc;\n\t\t} key_struct;\n\t\tchar *kmod_name;\n\t\tstruct lsm_ioctlop_audit *op;\n\t\tstruct file *file;\n\t\tstruct lsm_ibpkey_audit *ibpkey;\n\t\tstruct lsm_ibendport_audit *ibendport;\n\t\tint reason;\n\t\tconst char *anonclass;\n\t\tu16 nlmsg_type;\n\t} u;\n\tunion {\n\t\tstruct selinux_audit_data *selinux_audit_data;\n\t\tstruct apparmor_audit_data *apparmor_audit_data;\n\t};\n};\n\nstruct sock;\n\nstruct apparmor_audit_data {\n\tint error;\n\tint type;\n\tu16 class;\n\tconst char *op;\n\tconst struct cred *subj_cred;\n\tstruct aa_label *subj_label;\n\tconst char *name;\n\tconst char *info;\n\tu32 request;\n\tu32 denied;\n\tunion {\n\t\tstruct {\n\t\t\tstruct aa_label *peer;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tconst char *target;\n\t\t\t\t\tkuid_t ouid;\n\t\t\t\t} fs;\n\t\t\t\tstruct {\n\t\t\t\t\tint rlim;\n\t\t\t\t\tlong unsigned int max;\n\t\t\t\t} rlim;\n\t\t\t\tstruct {\n\t\t\t\t\tint signal;\n\t\t\t\t\tint unmappedsig;\n\t\t\t\t};\n\t\t\t\tstruct {\n\t\t\t\t\tint type;\n\t\t\t\t\tint protocol;\n\t\t\t\t\tstruct sock *peer_sk;\n\t\t\t\t\tvoid *addr;\n\t\t\t\t\tint addrlen;\n\t\t\t\t} net;\n\t\t\t};\n\t\t};\n\t\tstruct {\n\t\t\tstruct aa_profile *profile;\n\t\t\tconst char *ns;\n\t\t\tlong int pos;\n\t\t} iface;\n\t\tstruct {\n\t\t\tconst char *src_name;\n\t\t\tconst char *type;\n\t\t\tconst char *trans;\n\t\t\tconst char *data;\n\t\t\tlong unsigned int flags;\n\t\t} mnt;\n\t\tstruct {\n\t\t\tstruct aa_label *target;\n\t\t} uring;\n\t};\n\tstruct common_audit_data common;\n};\n\nstruct workqueue_attrs;\n\nstruct pool_workqueue;\n\nstruct apply_wqattrs_ctx {\n\tstruct workqueue_struct *wq;\n\tstruct workqueue_attrs *attrs;\n\tstruct list_head list;\n\tstruct pool_workqueue *dfl_pwq;\n\tstruct pool_workqueue *pwq_tbl[0];\n};\n\nstruct arch_elf_state {\n\tint fp_abi;\n\tint interp_fp_abi;\n};\n\nstruct arch_hw_breakpoint_ctrl {\n\tu32 __reserved: 28;\n\tu32 len: 2;\n\tu32 type: 2;\n};\n\nstruct arch_hw_breakpoint {\n\tu64 address;\n\tu64 mask;\n\tstruct arch_hw_breakpoint_ctrl ctrl;\n};\n\nstruct arch_io_reserve_memtype_wc_devres {\n\tresource_size_t start;\n\tresource_size_t size;\n};\n\nstruct arch_msi_msg_addr_hi {\n\tu32 address_hi;\n};\n\ntypedef struct arch_msi_msg_addr_hi arch_msi_msg_addr_hi_t;\n\nstruct arch_msi_msg_addr_lo {\n\tu32 address_lo;\n};\n\ntypedef struct arch_msi_msg_addr_lo arch_msi_msg_addr_lo_t;\n\nstruct arch_msi_msg_data {\n\tu32 data;\n};\n\ntypedef struct arch_msi_msg_data arch_msi_msg_data_t;\n\nstruct arch_specific_insn {\n\tint dummy;\n};\n\nstruct arch_uprobe {\n\tlong unsigned int resume_era;\n\tu32 insn[2];\n\tu32 ixol[2];\n\tbool simulate;\n};\n\nstruct arch_uprobe_task {\n\tlong unsigned int saved_trap_nr;\n};\n\nstruct arch_vdso_time_data {};\n\nstruct arg_dev_net_ip {\n\tstruct net *net;\n\tstruct in6_addr *addr;\n};\n\nstruct arg_netdev_event {\n\tconst struct net_device *dev;\n\tunion {\n\t\tunsigned char nh_flags;\n\t\tlong unsigned int event;\n\t};\n};\n\nstruct args_askumount {\n\t__u32 may_umount;\n};\n\nstruct args_expire {\n\t__u32 how;\n};\n\nstruct args_fail {\n\t__u32 token;\n\t__s32 status;\n};\n\nstruct args_in {\n\t__u32 type;\n};\n\nstruct args_out {\n\t__u32 devid;\n\t__u32 magic;\n};\n\nstruct args_ismountpoint {\n\tunion {\n\t\tstruct args_in in;\n\t\tstruct args_out out;\n\t};\n};\n\nstruct args_openmount {\n\t__u32 devid;\n};\n\nstruct args_protosubver {\n\t__u32 sub_version;\n};\n\nstruct args_protover {\n\t__u32 version;\n};\n\nstruct args_ready {\n\t__u32 token;\n};\n\nstruct args_requester {\n\t__u32 uid;\n\t__u32 gid;\n};\n\nstruct args_setpipefd {\n\t__s32 pipefd;\n};\n\nstruct args_timeout {\n\t__u64 timeout;\n};\n\nstruct arphdr {\n\t__be16 ar_hrd;\n\t__be16 ar_pro;\n\tunsigned char ar_hln;\n\tunsigned char ar_pln;\n\t__be16 ar_op;\n};\n\nstruct sockaddr {\n\tsa_family_t sa_family;\n\tunion {\n\t\tchar sa_data_min[14];\n\t\tstruct {\n\t\t\tstruct {} __empty_sa_data;\n\t\t\tchar sa_data[0];\n\t\t};\n\t};\n};\n\nstruct arpreq {\n\tstruct sockaddr arp_pa;\n\tstruct sockaddr arp_ha;\n\tint arp_flags;\n\tstruct sockaddr arp_netmask;\n\tchar arp_dev[16];\n};\n\nstruct trace_array;\n\nstruct trace_buffer;\n\nstruct trace_array_cpu;\n\nstruct array_buffer {\n\tstruct trace_array *tr;\n\tstruct trace_buffer *buffer;\n\tstruct trace_array_cpu *data;\n\tu64 time_start;\n\tint cpu;\n};\n\nstruct sas_work {\n\tstruct list_head drain_node;\n\tstruct work_struct work;\n};\n\nstruct asd_sas_phy;\n\nstruct asd_sas_event {\n\tstruct sas_work work;\n\tstruct asd_sas_phy *phy;\n\tint event;\n};\n\nstruct asd_sas_port;\n\nstruct sas_ha_struct;\n\nstruct asd_sas_phy {\n\tatomic_t event_nr;\n\tint in_shutdown;\n\tint error;\n\tint suspended;\n\tstruct sas_phy *phy;\n\tint enabled;\n\tint id;\n\tenum sas_protocol iproto;\n\tenum sas_protocol tproto;\n\tenum sas_phy_role role;\n\tenum sas_oob_mode oob_mode;\n\tenum sas_linkrate linkrate;\n\tu8 *sas_addr;\n\tu8 attached_sas_addr[8];\n\tspinlock_t frame_rcvd_lock;\n\tu8 *frame_rcvd;\n\tint frame_rcvd_size;\n\tspinlock_t sas_prim_lock;\n\tu32 sas_prim;\n\tstruct list_head port_phy_el;\n\tstruct asd_sas_port *port;\n\tstruct sas_ha_struct *ha;\n\tvoid *lldd_phy;\n};\n\nstruct sas_discovery_event {\n\tstruct sas_work work;\n\tstruct asd_sas_port *port;\n};\n\nstruct sas_discovery {\n\tstruct sas_discovery_event disc_work[4];\n\tlong unsigned int pending;\n\tu8 fanout_sas_addr[8];\n\tu8 eeds_a[8];\n\tu8 eeds_b[8];\n\tint max_level;\n};\n\nstruct domain_device;\n\nstruct asd_sas_port {\n\tstruct sas_discovery disc;\n\tstruct domain_device *port_dev;\n\tspinlock_t dev_list_lock;\n\tstruct list_head dev_list;\n\tstruct list_head disco_list;\n\tstruct list_head destroy_list;\n\tstruct list_head sas_port_del_list;\n\tenum sas_linkrate linkrate;\n\tstruct sas_work work;\n\tint suspended;\n\tint id;\n\tu8 sas_addr[8];\n\tu8 attached_sas_addr[8];\n\tenum sas_protocol iproto;\n\tenum sas_protocol tproto;\n\tenum sas_oob_mode oob_mode;\n\tspinlock_t phy_list_lock;\n\tstruct list_head phy_list;\n\tint num_phys;\n\tu32 phy_mask;\n\tstruct sas_ha_struct *ha;\n\tstruct sas_port *port;\n\tvoid *lldd_port;\n};\n\ntypedef int (*asn1_action_t)(void *, size_t, unsigned char, const void *, size_t);\n\nstruct asn1_decoder {\n\tconst unsigned char *machine;\n\tsize_t machlen;\n\tconst asn1_action_t *actions;\n};\n\nstruct assoc_array_ptr;\n\nstruct assoc_array {\n\tstruct assoc_array_ptr *root;\n\tlong unsigned int nr_leaves_on_tree;\n};\n\nstruct assoc_array_node;\n\nstruct assoc_array_delete_collapse_context {\n\tstruct assoc_array_node *node;\n\tconst void *skip_leaf;\n\tint slot;\n};\n\nstruct assoc_array_ops;\n\nstruct assoc_array_edit {\n\tstruct callback_head rcu;\n\tstruct assoc_array *array;\n\tconst struct assoc_array_ops *ops;\n\tconst struct assoc_array_ops *ops_for_excised_subtree;\n\tstruct assoc_array_ptr *leaf;\n\tstruct assoc_array_ptr **leaf_p;\n\tstruct assoc_array_ptr *dead_leaf;\n\tstruct assoc_array_ptr *new_meta[3];\n\tstruct assoc_array_ptr *excised_meta[1];\n\tstruct assoc_array_ptr *excised_subtree;\n\tstruct assoc_array_ptr **set_backpointers[16];\n\tstruct assoc_array_ptr *set_backpointers_to;\n\tstruct assoc_array_node *adjust_count_on;\n\tlong int adjust_count_by;\n\tstruct {\n\t\tstruct assoc_array_ptr **ptr;\n\t\tstruct assoc_array_ptr *to;\n\t} set[2];\n\tstruct {\n\t\tu8 *p;\n\t\tu8 to;\n\t} set_parent_slot[1];\n\tu8 segment_cache[17];\n};\n\nstruct assoc_array_node {\n\tstruct assoc_array_ptr *back_pointer;\n\tu8 parent_slot;\n\tstruct assoc_array_ptr *slots[16];\n\tlong unsigned int nr_leaves_on_branch;\n};\n\nstruct assoc_array_ops {\n\tlong unsigned int (*get_key_chunk)(const void *, int);\n\tlong unsigned int (*get_object_key_chunk)(const void *, int);\n\tbool (*compare_object)(const void *, const void *);\n\tint (*diff_objects)(const void *, const void *);\n\tvoid (*free_object)(void *);\n};\n\nstruct assoc_array_shortcut {\n\tstruct assoc_array_ptr *back_pointer;\n\tint parent_slot;\n\tint skip_to_level;\n\tstruct assoc_array_ptr *next_node;\n\tlong unsigned int index_key[0];\n};\n\nstruct assoc_array_walk_result {\n\tstruct {\n\t\tstruct assoc_array_node *node;\n\t\tint level;\n\t\tint slot;\n\t} terminal_node;\n\tstruct {\n\t\tstruct assoc_array_shortcut *shortcut;\n\t\tint level;\n\t\tint sc_level;\n\t\tlong unsigned int sc_segments;\n\t\tlong unsigned int dissimilarity;\n\t} wrong_shortcut;\n};\n\nstruct ast2300_dram_param {\n\tu32 dram_type;\n\tu32 dram_chipid;\n\tu32 dram_freq;\n\tu32 vram_size;\n\tu32 odt;\n\tu32 wodt;\n\tu32 rodt;\n\tu32 dram_config;\n\tu32 reg_PERIOD;\n\tu32 reg_MADJ;\n\tu32 reg_SADJ;\n\tu32 reg_MRS;\n\tu32 reg_EMRS;\n\tu32 reg_AC1;\n\tu32 reg_AC2;\n\tu32 reg_DQSIC;\n\tu32 reg_DRV;\n\tu32 reg_IOZ;\n\tu32 reg_DQIDLY;\n\tu32 reg_FREQ;\n\tu32 madj_max;\n\tu32 dll2_finetune_step;\n};\n\nstruct drm_object_properties;\n\nstruct drm_mode_object {\n\tuint32_t id;\n\tuint32_t type;\n\tstruct drm_object_properties *properties;\n\tstruct kref refcount;\n\tvoid (*free_cb)(struct kref *);\n};\n\nstruct drm_scrambling {\n\tbool supported;\n\tbool low_rates;\n};\n\nstruct drm_scdc {\n\tbool supported;\n\tbool read_request;\n\tstruct drm_scrambling scrambling;\n};\n\nstruct drm_hdmi_dsc_cap {\n\tbool v_1p2;\n\tbool native_420;\n\tbool all_bpp;\n\tu8 bpc_supported;\n\tu8 max_slices;\n\tint clk_per_slice;\n\tu8 max_lanes;\n\tu8 max_frl_rate_per_lane;\n\tu8 total_chunk_kbytes;\n};\n\nstruct drm_hdmi_info {\n\tstruct drm_scdc scdc;\n\tlong unsigned int y420_vdb_modes[4];\n\tlong unsigned int y420_cmdb_modes[4];\n\tu8 y420_dc_modes;\n\tu8 max_frl_rate_per_lane;\n\tu8 max_lanes;\n\tstruct drm_hdmi_dsc_cap dsc_cap;\n};\n\nstruct drm_monitor_range_info {\n\tu16 min_vfreq;\n\tu16 max_vfreq;\n};\n\nstruct drm_luminance_range_info {\n\tu32 min_luminance;\n\tu32 max_luminance;\n};\n\nstruct drm_display_info {\n\tunsigned int width_mm;\n\tunsigned int height_mm;\n\tunsigned int bpc;\n\tenum subpixel_order subpixel_order;\n\tint panel_orientation;\n\tu32 color_formats;\n\tconst u32 *bus_formats;\n\tunsigned int num_bus_formats;\n\tu32 bus_flags;\n\tint max_tmds_clock;\n\tbool dvi_dual;\n\tbool is_hdmi;\n\tbool has_audio;\n\tbool has_hdmi_infoframe;\n\tbool rgb_quant_range_selectable;\n\tu8 edid_hdmi_rgb444_dc_modes;\n\tu8 edid_hdmi_ycbcr444_dc_modes;\n\tu8 cea_rev;\n\tstruct drm_hdmi_info hdmi;\n\tbool non_desktop;\n\tstruct drm_monitor_range_info monitor_range;\n\tstruct drm_luminance_range_info luminance_range;\n\tu8 mso_stream_count;\n\tu8 mso_pixel_overlap;\n\tu32 max_dsc_bpp;\n\tu8 *vics;\n\tint vics_len;\n\tu32 quirks;\n\tu16 source_physical_address;\n};\n\nstruct drm_property;\n\nstruct drm_object_properties {\n\tint count;\n\tstruct drm_property *properties[64];\n\tuint64_t values[64];\n};\n\nstruct drm_privacy_screen;\n\nstruct drm_connector_tv_margins {\n\tunsigned int bottom;\n\tunsigned int left;\n\tunsigned int right;\n\tunsigned int top;\n};\n\nstruct drm_cmdline_mode {\n\tchar name[32];\n\tbool specified;\n\tbool refresh_specified;\n\tbool bpp_specified;\n\tunsigned int pixel_clock;\n\tint xres;\n\tint yres;\n\tint bpp;\n\tint refresh;\n\tbool rb;\n\tbool interlace;\n\tbool cvt;\n\tbool margins;\n\tenum drm_connector_force force;\n\tunsigned int rotation_reflection;\n\tenum drm_panel_orientation panel_orientation;\n\tstruct drm_connector_tv_margins tv_margins;\n\tenum drm_connector_tv_mode tv_mode;\n\tbool tv_mode_specified;\n};\n\nstruct hdr_static_metadata {\n\t__u8 eotf;\n\t__u8 metadata_type;\n\t__u16 max_cll;\n\t__u16 max_fall;\n\t__u16 min_cll;\n};\n\nstruct hdr_sink_metadata {\n\t__u32 metadata_type;\n\tunion {\n\t\tstruct hdr_static_metadata hdmi_type1;\n\t};\n};\n\nstruct hdmi_any_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n};\n\nstruct hdmi_avi_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tbool itc;\n\tunsigned char pixel_repeat;\n\tenum hdmi_colorspace colorspace;\n\tenum hdmi_scan_mode scan_mode;\n\tenum hdmi_colorimetry colorimetry;\n\tenum hdmi_picture_aspect picture_aspect;\n\tenum hdmi_active_aspect active_aspect;\n\tenum hdmi_extended_colorimetry extended_colorimetry;\n\tenum hdmi_quantization_range quantization_range;\n\tenum hdmi_nups nups;\n\tunsigned char video_code;\n\tenum hdmi_ycc_quantization_range ycc_quantization_range;\n\tenum hdmi_content_type content_type;\n\tshort unsigned int top_bar;\n\tshort unsigned int bottom_bar;\n\tshort unsigned int left_bar;\n\tshort unsigned int right_bar;\n};\n\nstruct hdmi_spd_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tchar vendor[8];\n\tchar product[16];\n\tenum hdmi_spd_sdi sdi;\n};\n\nstruct hdmi_vendor_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tunsigned int oui;\n\tu8 vic;\n\tenum hdmi_3d_structure s3d_struct;\n\tunsigned int s3d_ext_data;\n};\n\nunion hdmi_vendor_any_infoframe {\n\tstruct {\n\t\tenum hdmi_infoframe_type type;\n\t\tunsigned char version;\n\t\tunsigned char length;\n\t\tunsigned int oui;\n\t} any;\n\tstruct hdmi_vendor_infoframe hdmi;\n};\n\nstruct hdmi_audio_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tunsigned char channels;\n\tenum hdmi_audio_coding_type coding_type;\n\tenum hdmi_audio_sample_size sample_size;\n\tenum hdmi_audio_sample_frequency sample_frequency;\n\tenum hdmi_audio_coding_type_ext coding_type_ext;\n\tunsigned char channel_allocation;\n\tunsigned char level_shift_value;\n\tbool downmix_inhibit;\n};\n\nstruct hdmi_drm_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tenum hdmi_eotf eotf;\n\tenum hdmi_metadata_type metadata_type;\n\tstruct {\n\t\tu16 x;\n\t\tu16 y;\n\t} display_primaries[3];\n\tstruct {\n\t\tu16 x;\n\t\tu16 y;\n\t} white_point;\n\tu16 max_display_mastering_luminance;\n\tu16 min_display_mastering_luminance;\n\tu16 max_cll;\n\tu16 max_fall;\n};\n\nunion hdmi_infoframe {\n\tstruct hdmi_any_infoframe any;\n\tstruct hdmi_avi_infoframe avi;\n\tstruct hdmi_spd_infoframe spd;\n\tunion hdmi_vendor_any_infoframe vendor;\n\tstruct hdmi_audio_infoframe audio;\n\tstruct hdmi_drm_infoframe drm;\n};\n\nstruct drm_connector_hdmi_infoframe {\n\tunion hdmi_infoframe data;\n\tbool set;\n};\n\nstruct drm_connector_hdmi_funcs;\n\nstruct drm_connector_hdmi {\n\tunsigned char vendor[8];\n\tunsigned char product[16];\n\tlong unsigned int supported_formats;\n\tconst struct drm_connector_hdmi_funcs *funcs;\n\tstruct {\n\t\tstruct mutex lock;\n\t\tstruct drm_connector_hdmi_infoframe audio;\n\t} infoframes;\n};\n\nstruct drm_connector_hdmi_audio_funcs;\n\nstruct drm_connector_hdmi_audio {\n\tconst struct drm_connector_hdmi_audio_funcs *funcs;\n\tstruct platform_device *codec_pdev;\n\tstruct mutex lock;\n\tvoid (*plugged_cb)(struct device *, bool);\n\tstruct device *plugged_cb_dev;\n\tbool last_state;\n\tint dai_port;\n};\n\nstruct drm_device;\n\nstruct drm_connector_funcs;\n\nstruct drm_property_blob;\n\nstruct drm_connector_helper_funcs;\n\nstruct drm_edid;\n\nstruct drm_encoder;\n\nstruct i2c_adapter;\n\nstruct drm_tile_group;\n\nstruct drm_connector {\n\tstruct drm_device *dev;\n\tstruct device *kdev;\n\tstruct device_attribute *attr;\n\tstruct fwnode_handle *fwnode;\n\tstruct list_head head;\n\tstruct list_head global_connector_list_entry;\n\tstruct drm_mode_object base;\n\tchar *name;\n\tstruct mutex mutex;\n\tunsigned int index;\n\tint connector_type;\n\tint connector_type_id;\n\tbool interlace_allowed;\n\tbool doublescan_allowed;\n\tbool stereo_allowed;\n\tbool ycbcr_420_allowed;\n\tenum drm_connector_registration_state registration_state;\n\tstruct list_head modes;\n\tenum drm_connector_status status;\n\tstruct list_head probed_modes;\n\tstruct drm_display_info display_info;\n\tconst struct drm_connector_funcs *funcs;\n\tstruct drm_property_blob *edid_blob_ptr;\n\tstruct drm_object_properties properties;\n\tstruct drm_property *scaling_mode_property;\n\tstruct drm_property *vrr_capable_property;\n\tstruct drm_property *colorspace_property;\n\tstruct drm_property_blob *path_blob_ptr;\n\tunsigned int max_bpc;\n\tstruct drm_property *max_bpc_property;\n\tstruct drm_privacy_screen *privacy_screen;\n\tstruct notifier_block privacy_screen_notifier;\n\tstruct drm_property *privacy_screen_sw_state_property;\n\tstruct drm_property *privacy_screen_hw_state_property;\n\tstruct drm_property *broadcast_rgb_property;\n\tuint8_t polled;\n\tint dpms;\n\tconst struct drm_connector_helper_funcs *helper_private;\n\tstruct drm_cmdline_mode cmdline_mode;\n\tenum drm_connector_force force;\n\tconst struct drm_edid *edid_override;\n\tstruct mutex edid_override_mutex;\n\tu64 epoch_counter;\n\tu32 possible_encoders;\n\tstruct drm_encoder *encoder;\n\tuint8_t eld[128];\n\tstruct mutex eld_mutex;\n\tbool latency_present[2];\n\tint video_latency[2];\n\tint audio_latency[2];\n\tstruct i2c_adapter *ddc;\n\tint null_edid_counter;\n\tunsigned int bad_edid_counter;\n\tbool edid_corrupt;\n\tu8 real_edid_checksum;\n\tstruct dentry *debugfs_entry;\n\tstruct drm_connector_state *state;\n\tstruct drm_property_blob *tile_blob_ptr;\n\tbool has_tile;\n\tstruct drm_tile_group *tile_group;\n\tbool tile_is_single_monitor;\n\tuint8_t num_h_tile;\n\tuint8_t num_v_tile;\n\tuint8_t tile_h_loc;\n\tuint8_t tile_v_loc;\n\tuint16_t tile_h_size;\n\tuint16_t tile_v_size;\n\tstruct llist_node free_node;\n\tstruct hdr_sink_metadata hdr_sink_metadata;\n\tstruct drm_connector_hdmi hdmi;\n\tstruct drm_connector_hdmi_audio hdmi_audio;\n};\n\nstruct ast_connector {\n\tstruct drm_connector base;\n\tenum drm_connector_status physical_status;\n};\n\nstruct drm_display_mode {\n\tint clock;\n\tu16 hdisplay;\n\tu16 hsync_start;\n\tu16 hsync_end;\n\tu16 htotal;\n\tu16 hskew;\n\tu16 vdisplay;\n\tu16 vsync_start;\n\tu16 vsync_end;\n\tu16 vtotal;\n\tu16 vscan;\n\tu32 flags;\n\tint crtc_clock;\n\tu16 crtc_hdisplay;\n\tu16 crtc_hblank_start;\n\tu16 crtc_hblank_end;\n\tu16 crtc_hsync_start;\n\tu16 crtc_hsync_end;\n\tu16 crtc_htotal;\n\tu16 crtc_hskew;\n\tu16 crtc_vdisplay;\n\tu16 crtc_vblank_start;\n\tu16 crtc_vblank_end;\n\tu16 crtc_vsync_start;\n\tu16 crtc_vsync_end;\n\tu16 crtc_vtotal;\n\tu16 width_mm;\n\tu16 height_mm;\n\tu8 type;\n\tbool expose_to_userspace;\n\tstruct list_head head;\n\tchar name[32];\n\tenum drm_mode_status status;\n\tenum hdmi_picture_aspect picture_aspect_ratio;\n};\n\nstruct drm_pending_vblank_event;\n\nstruct drm_atomic_state;\n\nstruct drm_crtc_state {\n\tstruct drm_crtc *crtc;\n\tbool enable;\n\tbool active;\n\tbool planes_changed: 1;\n\tbool mode_changed: 1;\n\tbool active_changed: 1;\n\tbool connectors_changed: 1;\n\tbool zpos_changed: 1;\n\tbool color_mgmt_changed: 1;\n\tbool no_vblank: 1;\n\tu32 plane_mask;\n\tu32 connector_mask;\n\tu32 encoder_mask;\n\tstruct drm_display_mode adjusted_mode;\n\tstruct drm_display_mode mode;\n\tstruct drm_property_blob *mode_blob;\n\tstruct drm_property_blob *degamma_lut;\n\tstruct drm_property_blob *ctm;\n\tstruct drm_property_blob *gamma_lut;\n\tu32 target_vblank;\n\tbool async_flip;\n\tbool vrr_enabled;\n\tbool self_refresh_active;\n\tenum drm_scaling_filter scaling_filter;\n\tstruct drm_pending_vblank_event *event;\n\tstruct drm_crtc_commit *commit;\n\tstruct drm_atomic_state *state;\n};\n\nstruct ast_vbios_stdtable;\n\nstruct ast_vbios_enhtable;\n\nstruct ast_vbios_mode_info {\n\tconst struct ast_vbios_stdtable *std_table;\n\tconst struct ast_vbios_enhtable *enh_table;\n};\n\nstruct drm_format_info;\n\nstruct ast_crtc_state {\n\tstruct drm_crtc_state base;\n\tconst struct drm_format_info *format;\n\tstruct ast_vbios_mode_info vbios_mode_info;\n};\n\nstruct i2c_algo_bit_data {\n\tvoid *data;\n\tvoid (*setsda)(void *, int);\n\tvoid (*setscl)(void *, int);\n\tint (*getsda)(void *);\n\tint (*getscl)(void *);\n\tint (*pre_xfer)(struct i2c_adapter *);\n\tvoid (*post_xfer)(struct i2c_adapter *);\n\tint udelay;\n\tint timeout;\n\tbool can_do_atomic;\n};\n\nstruct rt_mutex_base {\n\traw_spinlock_t wait_lock;\n\tstruct rb_root_cached waiters;\n\tstruct task_struct *owner;\n};\n\nstruct rt_mutex {\n\tstruct rt_mutex_base rtmutex;\n};\n\nstruct i2c_algorithm;\n\nstruct i2c_lock_operations;\n\nstruct i2c_bus_recovery_info;\n\nstruct i2c_adapter_quirks;\n\nstruct i2c_adapter {\n\tstruct module *owner;\n\tunsigned int class;\n\tconst struct i2c_algorithm *algo;\n\tvoid *algo_data;\n\tconst struct i2c_lock_operations *lock_ops;\n\tstruct rt_mutex bus_lock;\n\tstruct rt_mutex mux_lock;\n\tint timeout;\n\tint retries;\n\tstruct device dev;\n\tlong unsigned int locked_flags;\n\tint nr;\n\tchar name[48];\n\tstruct completion dev_released;\n\tstruct mutex userspace_clients_lock;\n\tstruct list_head userspace_clients;\n\tstruct i2c_bus_recovery_info *bus_recovery_info;\n\tconst struct i2c_adapter_quirks *quirks;\n\tstruct irq_domain *host_notify_domain;\n\tstruct regulator *bus_regulator;\n\tstruct dentry *debugfs;\n\tlong unsigned int addrs_in_instantiation[2];\n};\n\nstruct ast_device;\n\nstruct ast_ddc {\n\tstruct ast_device *ast;\n\tstruct i2c_algo_bit_data bit;\n\tstruct i2c_adapter adapter;\n};\n\nstruct ww_acquire_ctx;\n\nstruct ww_mutex {\n\tstruct mutex base;\n\tstruct ww_acquire_ctx *ctx;\n};\n\nstruct drm_modeset_lock {\n\tstruct ww_mutex mutex;\n\tstruct list_head head;\n};\n\nstruct idr {\n\tstruct xarray idr_rt;\n\tunsigned int idr_base;\n\tunsigned int idr_next;\n};\n\nstruct llist_head {\n\tstruct llist_node *first;\n};\n\nstruct drm_modeset_acquire_ctx;\n\nstruct drm_mode_config_funcs;\n\nstruct drm_mode_config_helper_funcs;\n\nstruct drm_mode_config {\n\tstruct mutex mutex;\n\tstruct drm_modeset_lock connection_mutex;\n\tstruct drm_modeset_acquire_ctx *acquire_ctx;\n\tstruct mutex idr_mutex;\n\tstruct idr object_idr;\n\tstruct idr tile_idr;\n\tstruct mutex fb_lock;\n\tint num_fb;\n\tstruct list_head fb_list;\n\tspinlock_t connector_list_lock;\n\tint num_connector;\n\tstruct ida connector_ida;\n\tstruct list_head connector_list;\n\tstruct llist_head connector_free_list;\n\tstruct work_struct connector_free_work;\n\tint num_encoder;\n\tstruct list_head encoder_list;\n\tint num_total_plane;\n\tstruct list_head plane_list;\n\tstruct raw_spinlock panic_lock;\n\tint num_crtc;\n\tstruct list_head crtc_list;\n\tstruct list_head property_list;\n\tstruct list_head privobj_list;\n\tint min_width;\n\tint min_height;\n\tint max_width;\n\tint max_height;\n\tconst struct drm_mode_config_funcs *funcs;\n\tbool poll_enabled;\n\tbool poll_running;\n\tbool delayed_event;\n\tstruct delayed_work output_poll_work;\n\tstruct mutex blob_lock;\n\tstruct list_head property_blob_list;\n\tstruct drm_property *edid_property;\n\tstruct drm_property *dpms_property;\n\tstruct drm_property *path_property;\n\tstruct drm_property *tile_property;\n\tstruct drm_property *link_status_property;\n\tstruct drm_property *plane_type_property;\n\tstruct drm_property *prop_src_x;\n\tstruct drm_property *prop_src_y;\n\tstruct drm_property *prop_src_w;\n\tstruct drm_property *prop_src_h;\n\tstruct drm_property *prop_crtc_x;\n\tstruct drm_property *prop_crtc_y;\n\tstruct drm_property *prop_crtc_w;\n\tstruct drm_property *prop_crtc_h;\n\tstruct drm_property *prop_fb_id;\n\tstruct drm_property *prop_in_fence_fd;\n\tstruct drm_property *prop_out_fence_ptr;\n\tstruct drm_property *prop_crtc_id;\n\tstruct drm_property *prop_fb_damage_clips;\n\tstruct drm_property *prop_active;\n\tstruct drm_property *prop_mode_id;\n\tstruct drm_property *prop_vrr_enabled;\n\tstruct drm_property *dvi_i_subconnector_property;\n\tstruct drm_property *dvi_i_select_subconnector_property;\n\tstruct drm_property *dp_subconnector_property;\n\tstruct drm_property *tv_subconnector_property;\n\tstruct drm_property *tv_select_subconnector_property;\n\tstruct drm_property *legacy_tv_mode_property;\n\tstruct drm_property *tv_mode_property;\n\tstruct drm_property *tv_left_margin_property;\n\tstruct drm_property *tv_right_margin_property;\n\tstruct drm_property *tv_top_margin_property;\n\tstruct drm_property *tv_bottom_margin_property;\n\tstruct drm_property *tv_brightness_property;\n\tstruct drm_property *tv_contrast_property;\n\tstruct drm_property *tv_flicker_reduction_property;\n\tstruct drm_property *tv_overscan_property;\n\tstruct drm_property *tv_saturation_property;\n\tstruct drm_property *tv_hue_property;\n\tstruct drm_property *scaling_mode_property;\n\tstruct drm_property *aspect_ratio_property;\n\tstruct drm_property *content_type_property;\n\tstruct drm_property *degamma_lut_property;\n\tstruct drm_property *degamma_lut_size_property;\n\tstruct drm_property *ctm_property;\n\tstruct drm_property *gamma_lut_property;\n\tstruct drm_property *gamma_lut_size_property;\n\tstruct drm_property *suggested_x_property;\n\tstruct drm_property *suggested_y_property;\n\tstruct drm_property *non_desktop_property;\n\tstruct drm_property *panel_orientation_property;\n\tstruct drm_property *writeback_fb_id_property;\n\tstruct drm_property *writeback_pixel_formats_property;\n\tstruct drm_property *writeback_out_fence_ptr_property;\n\tstruct drm_property *hdr_output_metadata_property;\n\tstruct drm_property *content_protection_property;\n\tstruct drm_property *hdcp_content_type_property;\n\tuint32_t preferred_depth;\n\tuint32_t prefer_shadow;\n\tbool quirk_addfb_prefer_xbgr_30bpp;\n\tbool quirk_addfb_prefer_host_byte_order;\n\tbool async_page_flip;\n\tbool fb_modifiers_not_supported;\n\tbool normalize_zpos;\n\tstruct drm_property *modifiers_property;\n\tstruct drm_property *size_hints_property;\n\tuint32_t cursor_width;\n\tuint32_t cursor_height;\n\tstruct drm_atomic_state *suspend_state;\n\tconst struct drm_mode_config_helper_funcs *helper_private;\n};\n\nstruct drm_vram_mm;\n\nstruct drm_driver;\n\nstruct drm_minor;\n\nstruct drm_master;\n\nstruct drm_vblank_crtc;\n\nstruct drm_vma_offset_manager;\n\nstruct drm_fb_helper;\n\nstruct drm_device {\n\tint if_version;\n\tstruct kref ref;\n\tstruct device *dev;\n\tstruct {\n\t\tstruct list_head resources;\n\t\tvoid *final_kfree;\n\t\tspinlock_t lock;\n\t} managed;\n\tconst struct drm_driver *driver;\n\tvoid *dev_private;\n\tstruct drm_minor *primary;\n\tstruct drm_minor *render;\n\tstruct drm_minor *accel;\n\tbool registered;\n\tstruct drm_master *master;\n\tu32 driver_features;\n\tbool unplugged;\n\tstruct inode *anon_inode;\n\tchar *unique;\n\tstruct mutex struct_mutex;\n\tstruct mutex master_mutex;\n\tatomic_t open_count;\n\tstruct mutex filelist_mutex;\n\tstruct list_head filelist;\n\tstruct list_head filelist_internal;\n\tstruct mutex clientlist_mutex;\n\tstruct list_head clientlist;\n\tbool vblank_disable_immediate;\n\tstruct drm_vblank_crtc *vblank;\n\tspinlock_t vblank_time_lock;\n\tspinlock_t vbl_lock;\n\tu32 max_vblank_count;\n\tstruct list_head vblank_event_list;\n\tspinlock_t event_lock;\n\tunsigned int num_crtcs;\n\tstruct drm_mode_config mode_config;\n\tstruct mutex object_name_lock;\n\tstruct idr object_name_idr;\n\tstruct drm_vma_offset_manager *vma_offset_manager;\n\tstruct drm_vram_mm *vram_mm;\n\tenum switch_power_state switch_power_state;\n\tstruct drm_fb_helper *fb_helper;\n\tstruct dentry *debugfs_root;\n};\n\nstruct kmsg_dump_detail;\n\nstruct kmsg_dumper {\n\tstruct list_head list;\n\tvoid (*dump)(struct kmsg_dumper *, struct kmsg_dump_detail *);\n\tenum kmsg_dump_reason max_reason;\n\tbool registered;\n};\n\nstruct drm_framebuffer;\n\nstruct drm_plane_funcs;\n\nstruct drm_plane_helper_funcs;\n\nstruct drm_plane {\n\tstruct drm_device *dev;\n\tstruct list_head head;\n\tchar *name;\n\tstruct drm_modeset_lock mutex;\n\tstruct drm_mode_object base;\n\tuint32_t possible_crtcs;\n\tuint32_t *format_types;\n\tunsigned int format_count;\n\tbool format_default;\n\tuint64_t *modifiers;\n\tunsigned int modifier_count;\n\tstruct drm_crtc *crtc;\n\tstruct drm_framebuffer *fb;\n\tstruct drm_framebuffer *old_fb;\n\tconst struct drm_plane_funcs *funcs;\n\tstruct drm_object_properties properties;\n\tenum drm_plane_type type;\n\tunsigned int index;\n\tconst struct drm_plane_helper_funcs *helper_private;\n\tstruct drm_plane_state *state;\n\tstruct drm_property *alpha_property;\n\tstruct drm_property *zpos_property;\n\tstruct drm_property *rotation_property;\n\tstruct drm_property *blend_mode_property;\n\tstruct drm_property *color_encoding_property;\n\tstruct drm_property *color_range_property;\n\tstruct drm_property *scaling_filter_property;\n\tstruct drm_property *hotspot_x_property;\n\tstruct drm_property *hotspot_y_property;\n\tstruct kmsg_dumper kmsg_panic;\n};\n\nstruct ast_plane {\n\tstruct drm_plane base;\n\tvoid *vaddr;\n\tu64 offset;\n\tlong unsigned int size;\n};\n\nstruct drm_crtc_crc_entry;\n\nstruct drm_crtc_crc {\n\tspinlock_t lock;\n\tconst char *source;\n\tbool opened;\n\tbool overflow;\n\tstruct drm_crtc_crc_entry *entries;\n\tint head;\n\tint tail;\n\tsize_t values_cnt;\n\twait_queue_head_t wq;\n};\n\nstruct drm_crtc_funcs;\n\nstruct drm_crtc_helper_funcs;\n\nstruct drm_self_refresh_data;\n\nstruct drm_crtc {\n\tstruct drm_device *dev;\n\tstruct device_node *port;\n\tstruct list_head head;\n\tchar *name;\n\tstruct drm_modeset_lock mutex;\n\tstruct drm_mode_object base;\n\tstruct drm_plane *primary;\n\tstruct drm_plane *cursor;\n\tunsigned int index;\n\tint cursor_x;\n\tint cursor_y;\n\tbool enabled;\n\tstruct drm_display_mode mode;\n\tstruct drm_display_mode hwmode;\n\tint x;\n\tint y;\n\tconst struct drm_crtc_funcs *funcs;\n\tuint32_t gamma_size;\n\tuint16_t *gamma_store;\n\tconst struct drm_crtc_helper_funcs *helper_private;\n\tstruct drm_object_properties properties;\n\tstruct drm_property *scaling_filter_property;\n\tstruct drm_crtc_state *state;\n\tstruct list_head commit_list;\n\tspinlock_t commit_lock;\n\tstruct dentry *debugfs_entry;\n\tstruct drm_crtc_crc crc;\n\tunsigned int fence_context;\n\tspinlock_t fence_lock;\n\tlong unsigned int fence_seqno;\n\tchar timeline_name[32];\n\tstruct drm_self_refresh_data *self_refresh_data;\n};\n\nstruct drm_encoder_funcs;\n\nstruct drm_encoder_helper_funcs;\n\nstruct drm_encoder {\n\tstruct drm_device *dev;\n\tstruct list_head head;\n\tstruct drm_mode_object base;\n\tchar *name;\n\tint encoder_type;\n\tunsigned int index;\n\tuint32_t possible_crtcs;\n\tuint32_t possible_clones;\n\tstruct drm_crtc *crtc;\n\tstruct list_head bridge_chain;\n\tconst struct drm_encoder_funcs *funcs;\n\tconst struct drm_encoder_helper_funcs *helper_private;\n\tstruct dentry *debugfs_entry;\n};\n\nstruct firmware;\n\nstruct ast_device {\n\tstruct drm_device base;\n\tvoid *regs;\n\tvoid *ioregs;\n\tvoid *dp501_fw_buf;\n\tenum ast_config_mode config_mode;\n\tenum ast_chip chip;\n\tuint32_t dram_bus_width;\n\tuint32_t dram_type;\n\tuint32_t mclk;\n\tvoid *vram;\n\tlong unsigned int vram_base;\n\tlong unsigned int vram_size;\n\tlong unsigned int vram_fb_available;\n\tstruct mutex modeset_lock;\n\tenum ast_tx_chip tx_chip;\n\tstruct ast_plane primary_plane;\n\tstruct ast_plane cursor_plane;\n\tstruct drm_crtc crtc;\n\tunion {\n\t\tstruct {\n\t\t\tstruct drm_encoder encoder;\n\t\t\tstruct ast_connector connector;\n\t\t} vga;\n\t\tstruct {\n\t\t\tstruct drm_encoder encoder;\n\t\t\tstruct ast_connector connector;\n\t\t} sil164;\n\t\tstruct {\n\t\t\tstruct drm_encoder encoder;\n\t\t\tstruct ast_connector connector;\n\t\t} dp501;\n\t\tstruct {\n\t\t\tstruct drm_encoder encoder;\n\t\t\tstruct ast_connector connector;\n\t\t} astdp;\n\t} output;\n\tbool support_wide_screen;\n\tu8 *dp501_fw_addr;\n\tconst struct firmware *dp501_fw;\n};\n\nstruct ast_dramstruct {\n\tu16 index;\n\tu32 data;\n};\n\nstruct ast_vbios_dclk_info {\n\tu8 param1;\n\tu8 param2;\n\tu8 param3;\n};\n\nstruct ast_vbios_enhtable {\n\tu32 ht;\n\tu32 hde;\n\tu32 hfp;\n\tu32 hsync;\n\tu32 vt;\n\tu32 vde;\n\tu32 vfp;\n\tu32 vsync;\n\tu32 dclk_index;\n\tu32 flags;\n\tu32 refresh_rate;\n\tu32 refresh_rate_index;\n\tu32 mode_id;\n};\n\nstruct ast_vbios_stdtable {\n\tu8 misc;\n\tu8 seq[4];\n\tu8 crtc[25];\n\tu8 ar[20];\n\tu8 gr[9];\n};\n\nstruct asym_cap_data {\n\tstruct list_head link;\n\tstruct callback_head rcu;\n\tlong unsigned int capacity;\n\tlong unsigned int cpus[0];\n};\n\nstruct asymmetric_key_id {\n\tshort unsigned int len;\n\tunsigned char data[0];\n};\n\nstruct asymmetric_key_ids {\n\tvoid *id[3];\n};\n\nstruct key_preparsed_payload;\n\nstruct asymmetric_key_parser {\n\tstruct list_head link;\n\tstruct module *owner;\n\tconst char *name;\n\tint (*parse)(struct key_preparsed_payload *);\n};\n\nstruct key;\n\nstruct seq_file;\n\nstruct kernel_pkey_params;\n\nstruct kernel_pkey_query;\n\nstruct public_key_signature;\n\nstruct asymmetric_key_subtype {\n\tstruct module *owner;\n\tconst char *name;\n\tshort unsigned int name_len;\n\tvoid (*describe)(const struct key *, struct seq_file *);\n\tvoid (*destroy)(void *, void *);\n\tint (*query)(const struct kernel_pkey_params *, struct kernel_pkey_query *);\n\tint (*eds_op)(struct kernel_pkey_params *, const void *, void *);\n\tint (*verify_signature)(const struct key *, const struct public_key_signature *);\n};\n\nstruct usb_dev_state;\n\nstruct pid;\n\nstruct urb;\n\nstruct usb_memory;\n\nstruct async {\n\tstruct list_head asynclist;\n\tstruct usb_dev_state *ps;\n\tstruct pid *pid;\n\tconst struct cred *cred;\n\tunsigned int signr;\n\tunsigned int ifnum;\n\tvoid *userbuffer;\n\tvoid *userurb;\n\tsigval_t userurb_sigval;\n\tstruct urb *urb;\n\tstruct usb_memory *usbm;\n\tunsigned int mem_usage;\n\tint status;\n\tu8 bulk_addr;\n\tu8 bulk_status;\n};\n\nstruct btrfs_work;\n\ntypedef void (*btrfs_func_t)(struct btrfs_work *);\n\ntypedef void (*btrfs_ordered_func_t)(struct btrfs_work *, bool);\n\nstruct btrfs_workqueue;\n\nstruct btrfs_work {\n\tbtrfs_func_t func;\n\tbtrfs_ordered_func_t ordered_func;\n\tstruct work_struct normal_work;\n\tstruct list_head ordered_list;\n\tstruct btrfs_workqueue *wq;\n\tlong unsigned int flags;\n};\n\nstruct btrfs_inode;\n\nstruct cgroup_subsys_state;\n\nstruct async_cow;\n\nstruct async_chunk {\n\tstruct btrfs_inode *inode;\n\tstruct folio *locked_folio;\n\tu64 start;\n\tu64 end;\n\tblk_opf_t write_flags;\n\tstruct list_head extents;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct btrfs_work work;\n\tstruct async_cow *async_cow;\n};\n\nstruct async_cow {\n\tatomic_t num_chunks;\n\tstruct async_chunk chunks[0];\n};\n\nstruct async_domain {\n\tstruct list_head pending;\n\tunsigned int registered: 1;\n};\n\ntypedef void (*async_func_t)(void *, async_cookie_t);\n\nstruct async_entry {\n\tstruct list_head domain_list;\n\tstruct list_head global_list;\n\tstruct work_struct work;\n\tasync_cookie_t cookie;\n\tasync_func_t func;\n\tvoid *data;\n\tstruct async_domain *domain;\n};\n\nstruct async_extent {\n\tu64 start;\n\tu64 ram_size;\n\tu64 compressed_size;\n\tstruct folio **folios;\n\tlong unsigned int nr_folios;\n\tint compress_type;\n\tstruct list_head list;\n};\n\nstruct io_poll {\n\tstruct file *file;\n\tstruct wait_queue_head *head;\n\t__poll_t events;\n\tint retries;\n\tstruct wait_queue_entry wait;\n};\n\nstruct async_poll {\n\tstruct io_poll poll;\n\tstruct io_poll *double_poll;\n};\n\nstruct async_scan_data {\n\tstruct list_head list;\n\tstruct Scsi_Host *shost;\n\tstruct completion prev_finished;\n};\n\nstruct nvme_ctrl;\n\nstruct async_scan_info {\n\tstruct nvme_ctrl *ctrl;\n\tatomic_t next_nsid;\n\t__le32 *ns_list;\n};\n\nstruct btrfs_device;\n\nstruct btrfs_io_context;\n\nstruct btrfs_io_stripe {\n\tstruct btrfs_device *dev;\n\tu64 physical;\n\tu64 length;\n\tbool rst_search_commit_root;\n\tstruct btrfs_io_context *bioc;\n};\n\nstruct btrfs_bio;\n\nstruct async_submit_bio {\n\tstruct btrfs_bio *bbio;\n\tstruct btrfs_io_context *bioc;\n\tstruct btrfs_io_stripe smap;\n\tint mirror_num;\n\tstruct btrfs_work work;\n};\n\nstruct ata_acpi_drive {\n\tu32 pio;\n\tu32 dma;\n};\n\nstruct ata_acpi_gtf {\n\tu8 tf[7];\n};\n\nstruct ata_acpi_gtm {\n\tstruct ata_acpi_drive drive[2];\n\tu32 flags;\n};\n\nstruct ata_device;\n\nstruct ata_acpi_hotplug_context {\n\tstruct acpi_hotplug_context hp;\n\tunion {\n\t\tstruct ata_port *ap;\n\t\tstruct ata_device *dev;\n\t} data;\n};\n\nstruct ata_bmdma_prd {\n\t__le32 addr;\n\t__le32 flags_len;\n};\n\nstruct ata_cdl {\n\tu8 desc_log_buf[512];\n\tu8 ncq_sense_log_buf[1024];\n};\n\nstruct ata_cpr {\n\tu8 num;\n\tu8 num_storage_elements;\n\tu64 start_lba;\n\tu64 num_lbas;\n};\n\nstruct ata_cpr_log {\n\tu8 nr_cpr;\n\tstruct ata_cpr cpr[0];\n};\n\nstruct ata_dev_quirks_entry {\n\tconst char *model_num;\n\tconst char *model_rev;\n\tunsigned int quirks;\n};\n\nstruct ata_ering_entry {\n\tunsigned int eflags;\n\tunsigned int err_mask;\n\tu64 timestamp;\n};\n\nstruct ata_ering {\n\tint cursor;\n\tstruct ata_ering_entry ring[32];\n};\n\nstruct ata_device {\n\tstruct ata_link *link;\n\tunsigned int devno;\n\tunsigned int quirks;\n\tlong unsigned int flags;\n\tstruct scsi_device *sdev;\n\tvoid *private_data;\n\tunion acpi_object *gtf_cache;\n\tunsigned int gtf_filter;\n\tstruct device tdev;\n\tu64 n_sectors;\n\tu64 n_native_sectors;\n\tunsigned int class;\n\tlong unsigned int unpark_deadline;\n\tu8 pio_mode;\n\tu8 dma_mode;\n\tu8 xfer_mode;\n\tunsigned int xfer_shift;\n\tunsigned int multi_count;\n\tunsigned int max_sectors;\n\tunsigned int cdb_len;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tu16 cylinders;\n\tu16 heads;\n\tu16 sectors;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunion {\n\t\tu16 id[256];\n\t\tu32 gscr[128];\n\t};\n\tu8 devslp_timing[8];\n\tu8 ncq_send_recv_cmds[20];\n\tu8 ncq_non_data_cmds[64];\n\tu32 zac_zoned_cap;\n\tu32 zac_zones_optimal_open;\n\tu32 zac_zones_optimal_nonseq;\n\tu32 zac_zones_max_open;\n\tstruct ata_cpr_log *cpr_log;\n\tstruct ata_cdl *cdl;\n\tint spdn_cnt;\n\tstruct ata_ering ering;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 sector_buf[512];\n};\n\nstruct ata_eh_cmd_timeout_ent {\n\tconst u8 *commands;\n\tconst unsigned int *timeouts;\n};\n\nstruct ata_eh_info {\n\tstruct ata_device *dev;\n\tu32 serror;\n\tunsigned int err_mask;\n\tunsigned int action;\n\tunsigned int dev_action[2];\n\tunsigned int flags;\n\tunsigned int probe_mask;\n\tchar desc[80];\n\tint desc_len;\n};\n\nstruct ata_eh_context {\n\tstruct ata_eh_info i;\n\tint tries[2];\n\tint cmd_timeout_idx[16];\n\tunsigned int classes[2];\n\tunsigned int did_probe_mask;\n\tunsigned int unloaded_mask;\n\tunsigned int saved_ncq_enabled;\n\tu8 saved_xfer_mode[2];\n\tlong unsigned int last_reset;\n};\n\nstruct ata_force_param {\n\tconst char *name;\n\tu8 cbl;\n\tu8 spd_limit;\n\tunsigned int xfer_mask;\n\tunsigned int quirk_on;\n\tunsigned int quirk_off;\n\tu16 lflags_on;\n\tu16 lflags_off;\n};\n\nstruct ata_force_ent {\n\tint port;\n\tint device;\n\tstruct ata_force_param param;\n};\n\nstruct ata_port_operations;\n\nstruct ata_host {\n\tspinlock_t lock;\n\tstruct device *dev;\n\tvoid * const *iomap;\n\tunsigned int n_ports;\n\tunsigned int n_tags;\n\tvoid *private_data;\n\tstruct ata_port_operations *ops;\n\tlong unsigned int flags;\n\tstruct kref kref;\n\tstruct mutex eh_mutex;\n\tstruct task_struct *eh_owner;\n\tstruct ata_port *simplex_claimed;\n\tstruct ata_port *ports[0];\n};\n\nstruct transport_container {\n\tstruct attribute_container ac;\n\tconst struct attribute_group *statistics;\n};\n\nstruct scsi_transport_template {\n\tstruct transport_container host_attrs;\n\tstruct transport_container target_attrs;\n\tstruct transport_container device_attrs;\n\tint (*user_scan)(struct Scsi_Host *, uint, uint, u64);\n\tint device_size;\n\tint device_private_offset;\n\tint target_size;\n\tint target_private_offset;\n\tint host_size;\n\tunsigned int create_work_queue: 1;\n\tvoid (*eh_strategy_handler)(struct Scsi_Host *);\n};\n\nstruct ata_internal {\n\tstruct scsi_transport_template t;\n\tstruct device_attribute private_port_attrs[3];\n\tstruct device_attribute private_link_attrs[3];\n\tstruct device_attribute private_dev_attrs[9];\n\tstruct transport_container link_attr_cont;\n\tstruct transport_container dev_attr_cont;\n\tstruct device_attribute *link_attrs[4];\n\tstruct device_attribute *port_attrs[4];\n\tstruct device_attribute *dev_attrs[10];\n};\n\nstruct ata_ioports {\n\tvoid *cmd_addr;\n\tvoid *data_addr;\n\tvoid *error_addr;\n\tvoid *feature_addr;\n\tvoid *nsect_addr;\n\tvoid *lbal_addr;\n\tvoid *lbam_addr;\n\tvoid *lbah_addr;\n\tvoid *device_addr;\n\tvoid *status_addr;\n\tvoid *command_addr;\n\tvoid *altstatus_addr;\n\tvoid *ctl_addr;\n\tvoid *bmdma_addr;\n\tvoid *scr_addr;\n};\n\nstruct ata_link {\n\tstruct ata_port *ap;\n\tint pmp;\n\tstruct device tdev;\n\tunsigned int active_tag;\n\tu32 sactive;\n\tunsigned int flags;\n\tu32 saved_scontrol;\n\tunsigned int hw_sata_spd_limit;\n\tunsigned int sata_spd_limit;\n\tunsigned int sata_spd;\n\tenum ata_lpm_policy lpm_policy;\n\tstruct ata_eh_info eh_info;\n\tstruct ata_eh_context eh_context;\n\tlong: 64;\n\tlong: 64;\n\tstruct ata_device device[2];\n\tlong unsigned int last_lpm_change;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ata_taskfile {\n\tlong unsigned int flags;\n\tu8 protocol;\n\tu8 ctl;\n\tu8 hob_feature;\n\tu8 hob_nsect;\n\tu8 hob_lbal;\n\tu8 hob_lbam;\n\tu8 hob_lbah;\n\tunion {\n\t\tu8 error;\n\t\tu8 feature;\n\t};\n\tu8 nsect;\n\tu8 lbal;\n\tu8 lbam;\n\tu8 lbah;\n\tu8 device;\n\tunion {\n\t\tu8 status;\n\t\tu8 command;\n\t};\n\tu32 auxiliary;\n};\n\nstruct scatterlist {\n\tlong unsigned int page_link;\n\tunsigned int offset;\n\tunsigned int length;\n\tdma_addr_t dma_address;\n};\n\nstruct ata_queued_cmd;\n\ntypedef void (*ata_qc_cb_t)(struct ata_queued_cmd *);\n\nstruct ata_queued_cmd {\n\tstruct ata_port *ap;\n\tstruct ata_device *dev;\n\tstruct scsi_cmnd *scsicmd;\n\tvoid (*scsidone)(struct scsi_cmnd *);\n\tstruct ata_taskfile tf;\n\tu8 cdb[16];\n\tlong unsigned int flags;\n\tunsigned int tag;\n\tunsigned int hw_tag;\n\tunsigned int n_elem;\n\tunsigned int orig_n_elem;\n\tint dma_dir;\n\tunsigned int sect_size;\n\tunsigned int nbytes;\n\tunsigned int extrabytes;\n\tunsigned int curbytes;\n\tstruct scatterlist sgent;\n\tstruct scatterlist *sg;\n\tstruct scatterlist *cursg;\n\tunsigned int cursg_ofs;\n\tunsigned int err_mask;\n\tstruct ata_taskfile result_tf;\n\tata_qc_cb_t complete_fn;\n\tvoid *private_data;\n\tvoid *lldd_task;\n};\n\nstruct ata_port_stats {\n\tlong unsigned int unhandled_irq;\n\tlong unsigned int idle_irq;\n\tlong unsigned int rw_reqbuf;\n};\n\nstruct ata_port {\n\tstruct Scsi_Host *scsi_host;\n\tstruct ata_port_operations *ops;\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n\tunsigned int pflags;\n\tunsigned int print_id;\n\tunsigned int port_no;\n\tstruct ata_ioports ioaddr;\n\tu8 ctl;\n\tu8 last_ctl;\n\tstruct ata_link *sff_pio_task_link;\n\tstruct delayed_work sff_pio_task;\n\tstruct ata_bmdma_prd *bmdma_prd;\n\tdma_addr_t bmdma_prd_dma;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tunsigned int cbl;\n\tstruct ata_queued_cmd qcmd[33];\n\tu64 qc_active;\n\tint nr_active_links;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ata_link link;\n\tstruct ata_link *slave_link;\n\tint nr_pmp_links;\n\tstruct ata_link *pmp_link;\n\tstruct ata_link *excl_link;\n\tstruct ata_port_stats stats;\n\tstruct ata_host *host;\n\tstruct device *dev;\n\tstruct device tdev;\n\tstruct mutex scsi_scan_mutex;\n\tstruct delayed_work hotplug_task;\n\tstruct delayed_work scsi_rescan_task;\n\tunsigned int hsm_task_state;\n\tstruct list_head eh_done_q;\n\twait_queue_head_t eh_wait_q;\n\tint eh_tries;\n\tstruct completion park_req_pending;\n\tpm_message_t pm_mesg;\n\tenum ata_lpm_policy target_lpm_policy;\n\tstruct timer_list fastdrain_timer;\n\tunsigned int fastdrain_cnt;\n\tasync_cookie_t cookie;\n\tint em_message_type;\n\tvoid *private_data;\n\tstruct ata_acpi_gtm __acpi_init_gtm;\n};\n\nstruct ata_port_info {\n\tlong unsigned int flags;\n\tlong unsigned int link_flags;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tstruct ata_port_operations *port_ops;\n\tvoid *private_data;\n};\n\ntypedef int (*ata_prereset_fn_t)(struct ata_link *, long unsigned int);\n\ntypedef int (*ata_reset_fn_t)(struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*ata_postreset_fn_t)(struct ata_link *, unsigned int *);\n\nstruct ata_port_operations {\n\tint (*qc_defer)(struct ata_queued_cmd *);\n\tint (*check_atapi_dma)(struct ata_queued_cmd *);\n\tenum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *);\n\tunsigned int (*qc_issue)(struct ata_queued_cmd *);\n\tvoid (*qc_fill_rtf)(struct ata_queued_cmd *);\n\tvoid (*qc_ncq_fill_rtf)(struct ata_port *, u64);\n\tint (*cable_detect)(struct ata_port *);\n\tunsigned int (*mode_filter)(struct ata_device *, unsigned int);\n\tvoid (*set_piomode)(struct ata_port *, struct ata_device *);\n\tvoid (*set_dmamode)(struct ata_port *, struct ata_device *);\n\tint (*set_mode)(struct ata_link *, struct ata_device **);\n\tunsigned int (*read_id)(struct ata_device *, struct ata_taskfile *, __le16 *);\n\tvoid (*dev_config)(struct ata_device *);\n\tvoid (*freeze)(struct ata_port *);\n\tvoid (*thaw)(struct ata_port *);\n\tata_prereset_fn_t prereset;\n\tata_reset_fn_t softreset;\n\tata_reset_fn_t hardreset;\n\tata_postreset_fn_t postreset;\n\tata_prereset_fn_t pmp_prereset;\n\tata_reset_fn_t pmp_softreset;\n\tata_reset_fn_t pmp_hardreset;\n\tata_postreset_fn_t pmp_postreset;\n\tvoid (*error_handler)(struct ata_port *);\n\tvoid (*lost_interrupt)(struct ata_port *);\n\tvoid (*post_internal_cmd)(struct ata_queued_cmd *);\n\tvoid (*sched_eh)(struct ata_port *);\n\tvoid (*end_eh)(struct ata_port *);\n\tint (*scr_read)(struct ata_link *, unsigned int, u32 *);\n\tint (*scr_write)(struct ata_link *, unsigned int, u32);\n\tvoid (*pmp_attach)(struct ata_port *);\n\tvoid (*pmp_detach)(struct ata_port *);\n\tint (*set_lpm)(struct ata_link *, enum ata_lpm_policy, unsigned int);\n\tint (*port_suspend)(struct ata_port *, pm_message_t);\n\tint (*port_resume)(struct ata_port *);\n\tint (*port_start)(struct ata_port *);\n\tvoid (*port_stop)(struct ata_port *);\n\tvoid (*host_stop)(struct ata_host *);\n\tvoid (*sff_dev_select)(struct ata_port *, unsigned int);\n\tvoid (*sff_set_devctl)(struct ata_port *, u8);\n\tu8 (*sff_check_status)(struct ata_port *);\n\tu8 (*sff_check_altstatus)(struct ata_port *);\n\tvoid (*sff_tf_load)(struct ata_port *, const struct ata_taskfile *);\n\tvoid (*sff_tf_read)(struct ata_port *, struct ata_taskfile *);\n\tvoid (*sff_exec_command)(struct ata_port *, const struct ata_taskfile *);\n\tunsigned int (*sff_data_xfer)(struct ata_queued_cmd *, unsigned char *, unsigned int, int);\n\tvoid (*sff_irq_on)(struct ata_port *);\n\tbool (*sff_irq_check)(struct ata_port *);\n\tvoid (*sff_irq_clear)(struct ata_port *);\n\tvoid (*sff_drain_fifo)(struct ata_queued_cmd *);\n\tvoid (*bmdma_setup)(struct ata_queued_cmd *);\n\tvoid (*bmdma_start)(struct ata_queued_cmd *);\n\tvoid (*bmdma_stop)(struct ata_queued_cmd *);\n\tu8 (*bmdma_status)(struct ata_port *);\n\tssize_t (*em_show)(struct ata_port *, char *);\n\tssize_t (*em_store)(struct ata_port *, const char *, size_t);\n\tssize_t (*sw_activity_show)(struct ata_device *, char *);\n\tssize_t (*sw_activity_store)(struct ata_device *, enum sw_activity);\n\tssize_t (*transmit_led_message)(struct ata_port *, u32, ssize_t);\n\tconst struct ata_port_operations *inherits;\n};\n\nstruct ata_show_ering_arg {\n\tchar *buf;\n\tint written;\n};\n\nstruct ata_task_resp {\n\tu16 frame_len;\n\tu8 ending_fis[24];\n};\n\nstruct ata_timing {\n\tshort unsigned int mode;\n\tshort unsigned int setup;\n\tshort unsigned int act8b;\n\tshort unsigned int rec8b;\n\tshort unsigned int cyc8b;\n\tshort unsigned int active;\n\tshort unsigned int recover;\n\tshort unsigned int dmack_hold;\n\tshort unsigned int cycle;\n\tshort unsigned int udma;\n};\n\nstruct ata_xfer_ent {\n\tint shift;\n\tint bits;\n\tu8 base;\n};\n\nstruct ps2dev;\n\ntypedef enum ps2_disposition (*ps2_pre_receive_handler_t)(struct ps2dev *, u8, unsigned int);\n\ntypedef void (*ps2_receive_handler_t)(struct ps2dev *, u8);\n\nstruct serio;\n\nstruct ps2dev {\n\tstruct serio *serio;\n\tstruct mutex cmd_mutex;\n\twait_queue_head_t wait;\n\tlong unsigned int flags;\n\tu8 cmdbuf[8];\n\tu8 cmdcnt;\n\tu8 nak;\n\tps2_pre_receive_handler_t pre_receive_handler;\n\tps2_receive_handler_t receive_handler;\n};\n\nstruct vivaldi_data {\n\tu32 function_row_physmap[24];\n\tunsigned int num_function_row_keys;\n};\n\nstruct atkbd {\n\tstruct ps2dev ps2dev;\n\tstruct input_dev *dev;\n\tchar name[64];\n\tchar phys[32];\n\tshort unsigned int id;\n\tshort unsigned int keycode[512];\n\tlong unsigned int force_release_mask[8];\n\tunsigned char set;\n\tbool translated;\n\tbool extra;\n\tbool write;\n\tbool softrepeat;\n\tbool softraw;\n\tbool scroll;\n\tbool enabled;\n\tunsigned char emul;\n\tbool resend;\n\tbool release;\n\tlong unsigned int xl_bit;\n\tunsigned int last;\n\tlong unsigned int time;\n\tlong unsigned int err_count;\n\tstruct delayed_work event_work;\n\tlong unsigned int event_jiffies;\n\tlong unsigned int event_mask;\n\tstruct mutex mutex;\n\tstruct vivaldi_data vdata;\n};\n\nstruct atomic_notifier_head {\n\tspinlock_t lock;\n\tstruct notifier_block *head;\n};\n\nstruct attribute_group {\n\tconst char *name;\n\tumode_t (*is_visible)(struct kobject *, struct attribute *, int);\n\tumode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int);\n\tsize_t (*bin_size)(struct kobject *, const struct bin_attribute *, int);\n\tstruct attribute **attrs;\n\tunion {\n\t\tstruct bin_attribute **bin_attrs;\n\t\tconst struct bin_attribute * const *bin_attrs_new;\n\t};\n};\n\nstruct hdmi_audio_infoframe___2 {\n\tu8 type;\n\tu8 ver;\n\tu8 len;\n\tu8 checksum;\n\tu8 CC02_CT47;\n\tu8 SS01_SF24;\n\tu8 CXT04;\n\tu8 CA;\n\tu8 LFEPBL01_LSV36_DM_INH7;\n};\n\nstruct dp_audio_infoframe {\n\tu8 type;\n\tu8 len;\n\tu8 ver;\n\tu8 CC02_CT47;\n\tu8 SS01_SF24;\n\tu8 CXT04;\n\tu8 CA;\n\tu8 LFEPBL01_LSV36_DM_INH7;\n};\n\nunion audio_infoframe {\n\tstruct hdmi_audio_infoframe___2 hdmi;\n\tstruct dp_audio_infoframe dp;\n\tstruct {\n\t\tstruct {} __empty_bytes;\n\t\tu8 bytes[0];\n\t};\n};\n\nstruct audit_aux_data {\n\tstruct audit_aux_data *next;\n\tint type;\n};\n\nstruct audit_cap_data {\n\tkernel_cap_t permitted;\n\tkernel_cap_t inheritable;\n\tunion {\n\t\tunsigned int fE;\n\t\tkernel_cap_t effective;\n\t};\n\tkernel_cap_t ambient;\n\tkuid_t rootid;\n};\n\nstruct audit_aux_data_bprm_fcaps {\n\tstruct audit_aux_data d;\n\tstruct audit_cap_data fcap;\n\tunsigned int fcap_ver;\n\tstruct audit_cap_data old_pcap;\n\tstruct audit_cap_data new_pcap;\n};\n\nstruct lsm_prop_selinux {\n\tu32 secid;\n};\n\nstruct lsm_prop_smack {};\n\nstruct lsm_prop_apparmor {\n\tstruct aa_label *label;\n};\n\nstruct lsm_prop_bpf {};\n\nstruct lsm_prop {\n\tstruct lsm_prop_selinux selinux;\n\tstruct lsm_prop_smack smack;\n\tstruct lsm_prop_apparmor apparmor;\n\tstruct lsm_prop_bpf bpf;\n};\n\nstruct audit_aux_data_pids {\n\tstruct audit_aux_data d;\n\tpid_t target_pid[16];\n\tkuid_t target_auid[16];\n\tkuid_t target_uid[16];\n\tunsigned int target_sessionid[16];\n\tstruct lsm_prop target_ref[16];\n\tchar target_comm[256];\n\tint pid_count;\n};\n\nstruct audit_context;\n\nstruct audit_buffer {\n\tstruct sk_buff *skb;\n\tstruct audit_context *ctx;\n\tgfp_t gfp_mask;\n};\n\nstruct audit_cache {\n\tconst struct cred *ad_subj_cred;\n\tu64 ktime_ns_expiration[41];\n};\n\nstruct audit_tree;\n\nstruct audit_node {\n\tstruct list_head list;\n\tstruct audit_tree *owner;\n\tunsigned int index;\n};\n\nstruct fsnotify_mark;\n\nstruct audit_chunk {\n\tstruct list_head hash;\n\tlong unsigned int key;\n\tstruct fsnotify_mark *mark;\n\tstruct list_head trees;\n\tint count;\n\tatomic_long_t refs;\n\tstruct callback_head head;\n\tstruct audit_node owners[0];\n};\n\nstruct timespec64 {\n\ttime64_t tv_sec;\n\tlong int tv_nsec;\n};\n\nstruct filename;\n\nstruct audit_names {\n\tstruct list_head list;\n\tstruct filename *name;\n\tint name_len;\n\tbool hidden;\n\tlong unsigned int ino;\n\tdev_t dev;\n\tumode_t mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tdev_t rdev;\n\tstruct lsm_prop oprop;\n\tstruct audit_cap_data fcap;\n\tunsigned int fcap_ver;\n\tunsigned char type;\n\tbool should_free;\n};\n\nstruct mq_attr {\n\t__kernel_long_t mq_flags;\n\t__kernel_long_t mq_maxmsg;\n\t__kernel_long_t mq_msgsize;\n\t__kernel_long_t mq_curmsgs;\n\t__kernel_long_t __reserved[4];\n};\n\nstruct open_how {\n\t__u64 flags;\n\t__u64 mode;\n\t__u64 resolve;\n};\n\nstruct audit_ntp_val {\n\tlong long int oldval;\n\tlong long int newval;\n};\n\nstruct audit_ntp_data {\n\tstruct audit_ntp_val vals[6];\n};\n\nstruct audit_proctitle {\n\tint len;\n\tchar *value;\n};\n\nstruct audit_tree_refs;\n\nstruct audit_context {\n\tint dummy;\n\tenum {\n\t\tAUDIT_CTX_UNUSED = 0,\n\t\tAUDIT_CTX_SYSCALL = 1,\n\t\tAUDIT_CTX_URING = 2,\n\t} context;\n\tenum audit_state state;\n\tenum audit_state current_state;\n\tunsigned int serial;\n\tint major;\n\tint uring_op;\n\tstruct timespec64 ctime;\n\tlong unsigned int argv[4];\n\tlong int return_code;\n\tu64 prio;\n\tint return_valid;\n\tstruct audit_names preallocated_names[5];\n\tint name_count;\n\tstruct list_head names_list;\n\tchar *filterkey;\n\tstruct path pwd;\n\tstruct audit_aux_data *aux;\n\tstruct audit_aux_data *aux_pids;\n\tstruct __kernel_sockaddr_storage *sockaddr;\n\tsize_t sockaddr_len;\n\tpid_t ppid;\n\tkuid_t uid;\n\tkuid_t euid;\n\tkuid_t suid;\n\tkuid_t fsuid;\n\tkgid_t gid;\n\tkgid_t egid;\n\tkgid_t sgid;\n\tkgid_t fsgid;\n\tlong unsigned int personality;\n\tint arch;\n\tpid_t target_pid;\n\tkuid_t target_auid;\n\tkuid_t target_uid;\n\tunsigned int target_sessionid;\n\tstruct lsm_prop target_ref;\n\tchar target_comm[16];\n\tstruct audit_tree_refs *trees;\n\tstruct audit_tree_refs *first_trees;\n\tstruct list_head killed_trees;\n\tint tree_count;\n\tint type;\n\tunion {\n\t\tstruct {\n\t\t\tint nargs;\n\t\t\tlong int args[6];\n\t\t} socketcall;\n\t\tstruct {\n\t\t\tkuid_t uid;\n\t\t\tkgid_t gid;\n\t\t\tumode_t mode;\n\t\t\tstruct lsm_prop oprop;\n\t\t\tint has_perm;\n\t\t\tuid_t perm_uid;\n\t\t\tgid_t perm_gid;\n\t\t\tumode_t perm_mode;\n\t\t\tlong unsigned int qbytes;\n\t\t} ipc;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tstruct mq_attr mqstat;\n\t\t} mq_getsetattr;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tint sigev_signo;\n\t\t} mq_notify;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tsize_t msg_len;\n\t\t\tunsigned int msg_prio;\n\t\t\tstruct timespec64 abs_timeout;\n\t\t} mq_sendrecv;\n\t\tstruct {\n\t\t\tint oflag;\n\t\t\tumode_t mode;\n\t\t\tstruct mq_attr attr;\n\t\t} mq_open;\n\t\tstruct {\n\t\t\tpid_t pid;\n\t\t\tstruct audit_cap_data cap;\n\t\t} capset;\n\t\tstruct {\n\t\t\tint fd;\n\t\t\tint flags;\n\t\t} mmap;\n\t\tstruct open_how openat2;\n\t\tstruct {\n\t\t\tint argc;\n\t\t} execve;\n\t\tstruct {\n\t\t\tchar *name;\n\t\t} module;\n\t\tstruct {\n\t\t\tstruct audit_ntp_data ntp_data;\n\t\t\tstruct timespec64 tk_injoffset;\n\t\t} time;\n\t};\n\tint fds[2];\n\tstruct audit_proctitle proctitle;\n};\n\nstruct audit_ctl_mutex {\n\tstruct mutex lock;\n\tvoid *owner;\n};\n\nstruct audit_field;\n\nstruct audit_watch;\n\nstruct audit_fsnotify_mark;\n\nstruct audit_krule {\n\tu32 pflags;\n\tu32 flags;\n\tu32 listnr;\n\tu32 action;\n\tu32 mask[64];\n\tu32 buflen;\n\tu32 field_count;\n\tchar *filterkey;\n\tstruct audit_field *fields;\n\tstruct audit_field *arch_f;\n\tstruct audit_field *inode_f;\n\tstruct audit_watch *watch;\n\tstruct audit_tree *tree;\n\tstruct audit_fsnotify_mark *exe;\n\tstruct list_head rlist;\n\tstruct list_head list;\n\tu64 prio;\n};\n\nstruct audit_entry {\n\tstruct list_head list;\n\tstruct callback_head rcu;\n\tstruct audit_krule rule;\n};\n\nstruct audit_features {\n\t__u32 vers;\n\t__u32 mask;\n\t__u32 features;\n\t__u32 lock;\n};\n\nstruct audit_field {\n\tu32 type;\n\tunion {\n\t\tu32 val;\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t\tstruct {\n\t\t\tchar *lsm_str;\n\t\t\tvoid *lsm_rule;\n\t\t};\n\t};\n\tu32 op;\n};\n\nstruct fsnotify_group;\n\nstruct fsnotify_mark_connector;\n\nstruct fsnotify_mark {\n\t__u32 mask;\n\trefcount_t refcnt;\n\tstruct fsnotify_group *group;\n\tstruct list_head g_list;\n\tspinlock_t lock;\n\tstruct hlist_node obj_list;\n\tstruct fsnotify_mark_connector *connector;\n\t__u32 ignore_mask;\n\tunsigned int flags;\n};\n\nstruct audit_fsnotify_mark {\n\tdev_t dev;\n\tlong unsigned int ino;\n\tchar *path;\n\tstruct fsnotify_mark mark;\n\tstruct audit_krule *rule;\n};\n\nstruct audit_net {\n\tstruct sock *sk;\n};\n\nstruct audit_netlink_list {\n\t__u32 portid;\n\tstruct net *net;\n\tstruct sk_buff_head q;\n};\n\nstruct audit_nfcfgop_tab {\n\tenum audit_nfcfgop op;\n\tconst char *s;\n};\n\nstruct audit_parent {\n\tstruct list_head watches;\n\tstruct fsnotify_mark mark;\n};\n\nstruct audit_reply {\n\t__u32 portid;\n\tstruct net *net;\n\tstruct sk_buff *skb;\n};\n\nstruct audit_rule_data {\n\t__u32 flags;\n\t__u32 action;\n\t__u32 field_count;\n\t__u32 mask[64];\n\t__u32 fields[64];\n\t__u32 values[64];\n\t__u32 fieldflags[64];\n\t__u32 buflen;\n\tchar buf[0];\n};\n\nstruct audit_sig_info {\n\tuid_t uid;\n\tpid_t pid;\n\tchar ctx[0];\n};\n\nstruct audit_status {\n\t__u32 mask;\n\t__u32 enabled;\n\t__u32 failure;\n\t__u32 pid;\n\t__u32 rate_limit;\n\t__u32 backlog_limit;\n\t__u32 lost;\n\t__u32 backlog;\n\tunion {\n\t\t__u32 version;\n\t\t__u32 feature_bitmap;\n\t};\n\t__u32 backlog_wait_time;\n\t__u32 backlog_wait_time_actual;\n};\n\nstruct audit_tree {\n\trefcount_t count;\n\tint goner;\n\tstruct audit_chunk *root;\n\tstruct list_head chunks;\n\tstruct list_head rules;\n\tstruct list_head list;\n\tstruct list_head same_root;\n\tstruct callback_head head;\n\tchar pathname[0];\n};\n\nstruct audit_tree_mark {\n\tstruct fsnotify_mark mark;\n\tstruct audit_chunk *chunk;\n};\n\nstruct audit_tree_refs {\n\tstruct audit_tree_refs *next;\n\tstruct audit_chunk *c[31];\n};\n\nstruct audit_tty_status {\n\t__u32 enabled;\n\t__u32 log_passwd;\n};\n\nstruct audit_watch {\n\trefcount_t count;\n\tdev_t dev;\n\tchar *path;\n\tlong unsigned int ino;\n\tstruct audit_parent *parent;\n\tstruct list_head wlist;\n\tstruct list_head rules;\n};\n\nstruct auditd_connection {\n\tstruct pid *pid;\n\tu32 portid;\n\tstruct net *net;\n\tstruct callback_head rcu;\n};\n\nstruct auth_cred {\n\tconst struct cred *cred;\n\tconst char *principal;\n};\n\nstruct auth_ops;\n\nstruct auth_domain {\n\tstruct kref ref;\n\tstruct hlist_node hash;\n\tchar *name;\n\tstruct auth_ops *flavour;\n\tstruct callback_head callback_head;\n};\n\nstruct svc_rqst;\n\nstruct auth_ops {\n\tchar *name;\n\tstruct module *owner;\n\tint flavour;\n\tenum svc_auth_status (*accept)(struct svc_rqst *);\n\tint (*release)(struct svc_rqst *);\n\tvoid (*domain_release)(struct auth_domain *);\n\tenum svc_auth_status (*set_client)(struct svc_rqst *);\n\trpc_authflavor_t (*pseudoflavor)(struct svc_rqst *);\n};\n\nstruct auto_mode_param {\n\tint qp_type;\n};\n\nstruct auto_movable_group_stats {\n\tlong unsigned int movable_pages;\n\tlong unsigned int req_kernel_early_pages;\n};\n\nstruct auto_movable_stats {\n\tlong unsigned int kernel_early_pages;\n\tlong unsigned int movable_pages;\n};\n\nstruct auto_out_pin {\n\thda_nid_t pin;\n\tshort int seq;\n};\n\nstruct autofs_dev_ioctl {\n\t__u32 ver_major;\n\t__u32 ver_minor;\n\t__u32 size;\n\t__s32 ioctlfd;\n\tunion {\n\t\tstruct args_protover protover;\n\t\tstruct args_protosubver protosubver;\n\t\tstruct args_openmount openmount;\n\t\tstruct args_ready ready;\n\t\tstruct args_fail fail;\n\t\tstruct args_setpipefd setpipefd;\n\t\tstruct args_timeout timeout;\n\t\tstruct args_requester requester;\n\t\tstruct args_expire expire;\n\t\tstruct args_askumount askumount;\n\t\tstruct args_ismountpoint ismountpoint;\n\t};\n\tchar path[0];\n};\n\nstruct autofs_fs_context {\n\tkuid_t uid;\n\tkgid_t gid;\n\tint pgrp;\n\tbool pgrp_set;\n};\n\nstruct autofs_sb_info;\n\nstruct autofs_info {\n\tstruct dentry *dentry;\n\tint flags;\n\tstruct completion expire_complete;\n\tstruct list_head active;\n\tstruct list_head expiring;\n\tstruct autofs_sb_info *sbi;\n\tlong unsigned int exp_timeout;\n\tlong unsigned int last_used;\n\tint count;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct callback_head rcu;\n};\n\nstruct autofs_packet_hdr {\n\tint proto_version;\n\tint type;\n};\n\nstruct autofs_packet_expire {\n\tstruct autofs_packet_hdr hdr;\n\tint len;\n\tchar name[256];\n};\n\nstruct autofs_packet_expire_multi {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\tint len;\n\tchar name[256];\n};\n\nstruct autofs_packet_missing {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\tint len;\n\tchar name[256];\n};\n\nunion autofs_packet_union {\n\tstruct autofs_packet_hdr hdr;\n\tstruct autofs_packet_missing missing;\n\tstruct autofs_packet_expire expire;\n\tstruct autofs_packet_expire_multi expire_multi;\n};\n\nstruct super_block;\n\nstruct autofs_wait_queue;\n\nstruct autofs_sb_info {\n\tu32 magic;\n\tint pipefd;\n\tstruct file *pipe;\n\tstruct pid *oz_pgrp;\n\tint version;\n\tint sub_version;\n\tint min_proto;\n\tint max_proto;\n\tunsigned int flags;\n\tlong unsigned int exp_timeout;\n\tunsigned int type;\n\tstruct super_block *sb;\n\tstruct mutex wq_mutex;\n\tstruct mutex pipe_mutex;\n\tspinlock_t fs_lock;\n\tstruct autofs_wait_queue *queues;\n\tspinlock_t lookup_lock;\n\tstruct list_head active_list;\n\tstruct list_head expiring_list;\n\tstruct callback_head rcu;\n};\n\nstruct autofs_v5_packet {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\t__u32 dev;\n\t__u64 ino;\n\t__u32 uid;\n\t__u32 gid;\n\t__u32 pid;\n\t__u32 tgid;\n\t__u32 len;\n\tchar name[256];\n};\n\ntypedef struct autofs_v5_packet autofs_packet_expire_direct_t;\n\ntypedef struct autofs_v5_packet autofs_packet_expire_indirect_t;\n\ntypedef struct autofs_v5_packet autofs_packet_missing_direct_t;\n\ntypedef struct autofs_v5_packet autofs_packet_missing_indirect_t;\n\nunion autofs_v5_packet_union {\n\tstruct autofs_packet_hdr hdr;\n\tstruct autofs_v5_packet v5_packet;\n\tautofs_packet_missing_indirect_t missing_indirect;\n\tautofs_packet_expire_indirect_t expire_indirect;\n\tautofs_packet_missing_direct_t missing_direct;\n\tautofs_packet_expire_direct_t expire_direct;\n};\n\nstruct qstr {\n\tunion {\n\t\tstruct {\n\t\t\tu32 hash;\n\t\t\tu32 len;\n\t\t};\n\t\tu64 hash_len;\n\t};\n\tconst unsigned char *name;\n};\n\nstruct autofs_wait_queue {\n\twait_queue_head_t queue;\n\tstruct autofs_wait_queue *next;\n\tautofs_wqt_t wait_queue_token;\n\tstruct qstr name;\n\tu32 offset;\n\tu32 dev;\n\tu64 ino;\n\tkuid_t uid;\n\tkgid_t gid;\n\tpid_t pid;\n\tpid_t tgid;\n\tint status;\n\tunsigned int wait_ctr;\n};\n\nstruct task_group;\n\nstruct autogroup {\n\tstruct kref kref;\n\tstruct task_group *tg;\n\tstruct rw_semaphore lock;\n\tlong unsigned int id;\n\tint nice;\n};\n\nstruct av_decision {\n\tu32 allowed;\n\tu32 auditallow;\n\tu32 auditdeny;\n\tu32 seqno;\n\tu32 flags;\n};\n\nstruct hlist_head {\n\tstruct hlist_node *first;\n};\n\nstruct avc_cache {\n\tstruct hlist_head slots[512];\n\tspinlock_t slots_lock[512];\n\tatomic_t lru_hint;\n\tatomic_t active_nodes;\n\tu32 latest_notif;\n};\n\nstruct avc_cache_stats {\n\tunsigned int lookups;\n\tunsigned int misses;\n\tunsigned int allocations;\n\tunsigned int reclaims;\n\tunsigned int frees;\n};\n\nstruct avc_callback_node {\n\tint (*callback)(u32);\n\tu32 events;\n\tstruct avc_callback_node *next;\n};\n\nstruct avc_xperms_node;\n\nstruct avc_entry {\n\tu32 ssid;\n\tu32 tsid;\n\tu16 tclass;\n\tstruct av_decision avd;\n\tstruct avc_xperms_node *xp_node;\n};\n\nstruct avc_node {\n\tstruct avc_entry ae;\n\tstruct hlist_node list;\n\tstruct callback_head rhead;\n};\n\nstruct extended_perms_data;\n\nstruct extended_perms_decision {\n\tu8 used;\n\tu8 driver;\n\tu8 base_perm;\n\tstruct extended_perms_data *allowed;\n\tstruct extended_perms_data *auditallow;\n\tstruct extended_perms_data *dontaudit;\n};\n\nstruct avc_xperms_decision_node {\n\tstruct extended_perms_decision xpd;\n\tstruct list_head xpd_list;\n};\n\nstruct extended_perms_data {\n\tu32 p[8];\n};\n\nstruct extended_perms {\n\tu16 len;\n\tu8 base_perms;\n\tstruct extended_perms_data drivers;\n};\n\nstruct avc_xperms_node {\n\tstruct extended_perms xp;\n\tstruct list_head xpd_head;\n};\n\nstruct irq_matrix;\n\nstruct avecintc_chip {\n\traw_spinlock_t lock;\n\tstruct fwnode_handle *fwnode;\n\tstruct irq_domain *domain;\n\tstruct irq_matrix *vector_matrix;\n\tphys_addr_t msi_base_addr;\n};\n\nstruct avecintc_data {\n\tstruct list_head entry;\n\tunsigned int cpu;\n\tunsigned int vec;\n\tunsigned int prev_cpu;\n\tunsigned int prev_vec;\n\tunsigned int moving;\n};\n\nstruct avtab_node;\n\nstruct avtab {\n\tstruct avtab_node **htable;\n\tu32 nel;\n\tu32 nslot;\n\tu32 mask;\n};\n\nstruct avtab_extended_perms;\n\nstruct avtab_datum {\n\tunion {\n\t\tu32 data;\n\t\tstruct avtab_extended_perms *xperms;\n\t} u;\n};\n\nstruct avtab_extended_perms {\n\tu8 specified;\n\tu8 driver;\n\tstruct extended_perms_data perms;\n};\n\nstruct avtab_key {\n\tu16 source_type;\n\tu16 target_type;\n\tu16 target_class;\n\tu16 specified;\n};\n\nstruct avtab_node {\n\tstruct avtab_key key;\n\tstruct avtab_datum datum;\n\tstruct avtab_node *next;\n};\n\nstruct ax_parport_state {\n\tunsigned int ctr;\n\tunsigned int ecr;\n\tunsigned int dcsr;\n};\n\nstruct hdac_rb {\n\t__le32 *buf;\n\tdma_addr_t addr;\n\tshort unsigned int rp;\n\tshort unsigned int wp;\n\tint cmds[8];\n\tu32 res[8];\n};\n\nstruct snd_dma_device {\n\tint type;\n\tenum dma_data_direction dir;\n\tbool need_sync;\n\tstruct device *dev;\n};\n\nstruct snd_dma_buffer {\n\tstruct snd_dma_device dev;\n\tunsigned char *area;\n\tdma_addr_t addr;\n\tsize_t bytes;\n\tvoid *private_data;\n};\n\nstruct hdac_bus_ops;\n\nstruct hdac_ext_bus_ops;\n\nstruct hdac_device;\n\nstruct drm_audio_component;\n\nstruct hdac_bus {\n\tstruct device *dev;\n\tconst struct hdac_bus_ops *ops;\n\tconst struct hdac_ext_bus_ops *ext_ops;\n\tlong unsigned int addr;\n\tvoid *remap_addr;\n\tint irq;\n\tvoid *ppcap;\n\tvoid *spbcap;\n\tvoid *mlcap;\n\tvoid *gtscap;\n\tvoid *drsmcap;\n\tstruct list_head codec_list;\n\tunsigned int num_codecs;\n\tstruct hdac_device *caddr_tbl[16];\n\tu32 unsol_queue[128];\n\tunsigned int unsol_rp;\n\tunsigned int unsol_wp;\n\tstruct work_struct unsol_work;\n\tlong unsigned int codec_mask;\n\tlong unsigned int codec_powered;\n\tstruct hdac_rb corb;\n\tstruct hdac_rb rirb;\n\tunsigned int last_cmd[8];\n\twait_queue_head_t rirb_wq;\n\tstruct snd_dma_buffer rb;\n\tstruct snd_dma_buffer posbuf;\n\tint dma_type;\n\tstruct list_head stream_list;\n\tbool chip_init: 1;\n\tbool aligned_mmio: 1;\n\tbool sync_write: 1;\n\tbool use_posbuf: 1;\n\tbool snoop: 1;\n\tbool align_bdle_4k: 1;\n\tbool reverse_assign: 1;\n\tbool corbrp_self_clear: 1;\n\tbool polling_mode: 1;\n\tbool needs_damn_long_delay: 1;\n\tbool not_use_interrupts: 1;\n\tbool access_sdnctl_in_dword: 1;\n\tbool use_pio_for_commands: 1;\n\tint poll_count;\n\tint bdl_pos_adj;\n\tunsigned int dma_stop_delay;\n\tspinlock_t reg_lock;\n\tstruct mutex cmd_mutex;\n\tstruct mutex lock;\n\tstruct drm_audio_component *audio_component;\n\tlong int display_power_status;\n\tlong unsigned int display_power_active;\n\tint num_streams;\n\tint idx;\n\tstruct list_head hlink_list;\n\tbool cmd_dma_state;\n\tunsigned int sdo_limit;\n};\n\nstruct snd_card;\n\nstruct hda_bus {\n\tstruct hdac_bus core;\n\tstruct snd_card *card;\n\tstruct pci_dev *pci;\n\tconst char *modelname;\n\tstruct mutex prepare_mutex;\n\tlong unsigned int pcm_dev_bits[4];\n\tunsigned int allow_bus_reset: 1;\n\tunsigned int shutdown: 1;\n\tunsigned int response_reset: 1;\n\tunsigned int in_reset: 1;\n\tunsigned int no_response_fallback: 1;\n\tunsigned int bus_probing: 1;\n\tunsigned int keep_power: 1;\n\tunsigned int jackpoll_in_suspend: 1;\n\tint primary_dig_out_type;\n\tunsigned int mixer_assigned;\n};\n\nstruct azx;\n\nstruct azx_dev;\n\ntypedef unsigned int (*azx_get_pos_callback_t)(struct azx *, struct azx_dev *);\n\ntypedef int (*azx_get_delay_callback_t)(struct azx *, struct azx_dev *, unsigned int);\n\nstruct hda_controller_ops;\n\nstruct azx {\n\tstruct hda_bus bus;\n\tstruct snd_card *card;\n\tstruct pci_dev *pci;\n\tint dev_index;\n\tint driver_type;\n\tunsigned int driver_caps;\n\tint playback_streams;\n\tint playback_index_offset;\n\tint capture_streams;\n\tint capture_index_offset;\n\tint num_streams;\n\tint jackpoll_interval;\n\tconst struct hda_controller_ops *ops;\n\tazx_get_pos_callback_t get_position[2];\n\tazx_get_delay_callback_t get_delay[2];\n\tstruct mutex open_mutex;\n\tstruct list_head pcm_list;\n\tint codec_probe_mask;\n\tunsigned int beep_mode;\n\tbool ctl_dev_id;\n\tconst struct firmware *fw;\n\tint bdl_pos_adj;\n\tunsigned int running: 1;\n\tunsigned int fallback_to_single_cmd: 1;\n\tunsigned int single_cmd: 1;\n\tunsigned int msi: 1;\n\tunsigned int probing: 1;\n\tunsigned int snoop: 1;\n\tunsigned int uc_buffer: 1;\n\tunsigned int align_buffer_size: 1;\n\tunsigned int disabled: 1;\n\tunsigned int pm_prepared: 1;\n\tunsigned int gts_present: 1;\n};\n\nstruct cyclecounter;\n\nstruct timecounter {\n\tconst struct cyclecounter *cc;\n\tu64 cycle_last;\n\tu64 nsec;\n\tu64 mask;\n\tu64 frac;\n};\n\nstruct cyclecounter {\n\tu64 (*read)(const struct cyclecounter *);\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n};\n\nstruct snd_compr_stream;\n\nstruct hdac_stream {\n\tstruct hdac_bus *bus;\n\tstruct snd_dma_buffer bdl;\n\t__le32 *posbuf;\n\tint direction;\n\tunsigned int bufsize;\n\tunsigned int period_bytes;\n\tunsigned int frags;\n\tunsigned int fifo_size;\n\tvoid *sd_addr;\n\tvoid *spib_addr;\n\tvoid *fifo_addr;\n\tvoid *dpibr_addr;\n\tu32 dpib;\n\tu32 lpib;\n\tu32 sd_int_sta_mask;\n\tstruct snd_pcm_substream *substream;\n\tstruct snd_compr_stream *cstream;\n\tunsigned int format_val;\n\tunsigned char stream_tag;\n\tunsigned char index;\n\tint assigned_key;\n\tbool opened: 1;\n\tbool running: 1;\n\tbool prepared: 1;\n\tbool no_period_wakeup: 1;\n\tbool locked: 1;\n\tbool stripe: 1;\n\tu64 curr_pos;\n\tlong unsigned int start_wallclk;\n\tlong unsigned int period_wallclk;\n\tstruct timecounter tc;\n\tstruct cyclecounter cc;\n\tint delay_negative_threshold;\n\tstruct list_head list;\n};\n\nstruct azx_dev {\n\tstruct hdac_stream core;\n\tunsigned int irq_pending: 1;\n\tunsigned int insufficient: 1;\n};\n\nstruct snd_pcm;\n\nstruct azx_pcm {\n\tstruct azx *chip;\n\tstruct snd_pcm *pcm;\n\tstruct hda_codec *codec;\n\tstruct hda_pcm *info;\n\tstruct list_head list;\n};\n\nstruct backing_aio {\n\tstruct kiocb iocb;\n\trefcount_t ref;\n\tstruct kiocb *orig_iocb;\n\tvoid (*end_write)(struct kiocb *, ssize_t);\n\tstruct work_struct work;\n\tlong int res;\n};\n\nstruct percpu_counter {\n\traw_spinlock_t lock;\n\ts64 count;\n\tstruct list_head list;\n\ts32 *counters;\n};\n\nstruct fprop_local_percpu {\n\tstruct percpu_counter events;\n\tunsigned int period;\n\traw_spinlock_t lock;\n};\n\nstruct percpu_ref_data;\n\nstruct percpu_ref {\n\tlong unsigned int percpu_count_ptr;\n\tstruct percpu_ref_data *data;\n};\n\nstruct backing_dev_info;\n\nstruct bdi_writeback {\n\tstruct backing_dev_info *bdi;\n\tlong unsigned int state;\n\tlong unsigned int last_old_flush;\n\tstruct list_head b_dirty;\n\tstruct list_head b_io;\n\tstruct list_head b_more_io;\n\tstruct list_head b_dirty_time;\n\tspinlock_t list_lock;\n\tatomic_t writeback_inodes;\n\tstruct percpu_counter stat[4];\n\tlong unsigned int bw_time_stamp;\n\tlong unsigned int dirtied_stamp;\n\tlong unsigned int written_stamp;\n\tlong unsigned int write_bandwidth;\n\tlong unsigned int avg_write_bandwidth;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int balanced_dirty_ratelimit;\n\tstruct fprop_local_percpu completions;\n\tint dirty_exceeded;\n\tenum wb_reason start_all_reason;\n\tspinlock_t work_lock;\n\tstruct list_head work_list;\n\tstruct delayed_work dwork;\n\tstruct delayed_work bw_dwork;\n\tstruct list_head bdi_node;\n\tstruct percpu_ref refcnt;\n\tstruct fprop_local_percpu memcg_completions;\n\tstruct cgroup_subsys_state *memcg_css;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct list_head memcg_node;\n\tstruct list_head blkcg_node;\n\tstruct list_head b_attached;\n\tstruct list_head offline_node;\n\tunion {\n\t\tstruct work_struct release_work;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct backing_dev_info {\n\tu64 id;\n\tstruct rb_node rb_node;\n\tstruct list_head bdi_list;\n\tlong unsigned int ra_pages;\n\tlong unsigned int io_pages;\n\tstruct kref refcnt;\n\tunsigned int capabilities;\n\tunsigned int min_ratio;\n\tunsigned int max_ratio;\n\tunsigned int max_prop_frac;\n\tatomic_long_t tot_write_bandwidth;\n\tlong unsigned int last_bdp_sleep;\n\tstruct bdi_writeback wb;\n\tstruct list_head wb_list;\n\tstruct xarray cgwb_tree;\n\tstruct mutex cgwb_release_mutex;\n\tstruct rw_semaphore wb_switch_rwsem;\n\twait_queue_head_t wb_waitq;\n\tstruct device *dev;\n\tchar dev_name[64];\n\tstruct device *owner;\n\tstruct timer_list laptop_mode_wb_timer;\n\tstruct dentry *debug_dir;\n};\n\nstruct file_ra_state {\n\tlong unsigned int start;\n\tunsigned int size;\n\tunsigned int async_size;\n\tunsigned int ra_pages;\n\tunsigned int mmap_miss;\n\tloff_t prev_pos;\n};\n\nstruct fown_struct;\n\nstruct file {\n\tfile_ref_t f_ref;\n\tspinlock_t f_lock;\n\tfmode_t f_mode;\n\tconst struct file_operations *f_op;\n\tstruct address_space *f_mapping;\n\tvoid *private_data;\n\tstruct inode *f_inode;\n\tunsigned int f_flags;\n\tunsigned int f_iocb_flags;\n\tconst struct cred *f_cred;\n\tstruct path f_path;\n\tunion {\n\t\tstruct mutex f_pos_lock;\n\t\tu64 f_pipe;\n\t};\n\tloff_t f_pos;\n\tvoid *f_security;\n\tstruct fown_struct *f_owner;\n\terrseq_t f_wb_err;\n\terrseq_t f_sb_err;\n\tstruct hlist_head *f_ep;\n\tunion {\n\t\tstruct callback_head f_task_work;\n\t\tstruct llist_node f_llist;\n\t\tstruct file_ra_state f_ra;\n\t\tfreeptr_t f_freeptr;\n\t};\n};\n\nstruct backing_file {\n\tstruct file file;\n\tunion {\n\t\tstruct path user_path;\n\t\tfreeptr_t bf_freeptr;\n\t};\n};\n\nstruct backing_file_ctx {\n\tconst struct cred *cred;\n\tvoid (*accessed)(struct file *);\n\tvoid (*end_write)(struct kiocb *, ssize_t);\n};\n\nstruct backlight_properties {\n\tint brightness;\n\tint max_brightness;\n\tint power;\n\tenum backlight_type type;\n\tunsigned int state;\n\tenum backlight_scale scale;\n};\n\nstruct backlight_ops;\n\nstruct backlight_device {\n\tstruct backlight_properties props;\n\tstruct mutex update_lock;\n\tstruct mutex ops_lock;\n\tconst struct backlight_ops *ops;\n\tstruct notifier_block fb_notif;\n\tstruct list_head entry;\n\tstruct device dev;\n\tbool fb_bl_on[32];\n\tint use_count;\n};\n\nstruct backlight_ops {\n\tunsigned int options;\n\tint (*update_status)(struct backlight_device *);\n\tint (*get_brightness)(struct backlight_device *);\n\tbool (*controls_device)(struct backlight_device *, struct device *);\n};\n\nstruct btrfs_lru_cache_entry {\n\tstruct list_head lru_list;\n\tu64 key;\n\tu64 gen;\n\tstruct list_head list;\n};\n\nstruct backref_cache_entry {\n\tstruct btrfs_lru_cache_entry entry;\n\tu64 root_ids[17];\n\tint num_roots;\n};\n\nstruct send_ctx;\n\nstruct backref_ctx {\n\tstruct send_ctx *sctx;\n\tu64 found;\n\tu64 cur_objectid;\n\tu64 cur_offset;\n\tu64 extent_len;\n\tu64 bytenr;\n\tu64 backref_owner;\n\tu64 backref_offset;\n};\n\nstruct bpf_verifier_env;\n\nstruct backtrack_state {\n\tstruct bpf_verifier_env *env;\n\tu32 frame;\n\tu32 reg_masks[8];\n\tu64 stack_masks[8];\n};\n\nstruct badblocks {\n\tstruct device *dev;\n\tint count;\n\tint unacked_exist;\n\tint shift;\n\tu64 *page;\n\tint changed;\n\tseqlock_t lock;\n\tsector_t sector;\n\tsector_t size;\n};\n\nstruct badblocks_context {\n\tsector_t start;\n\tsector_t len;\n\tint ack;\n};\n\nstruct badness_table {\n\tint no_primary_dac;\n\tint no_dac;\n\tint shared_primary;\n\tint shared_surr;\n\tint shared_clfe;\n\tint shared_surr_main;\n};\n\nstruct balance_callback {\n\tstruct balance_callback *next;\n\tvoid (*func)(struct rq *);\n};\n\nstruct balloon_dev_info {\n\tlong unsigned int isolated_pages;\n\tspinlock_t pages_lock;\n\tstruct list_head pages;\n\tint (*migratepage)(struct balloon_dev_info *, struct page *, struct page *, enum migrate_mode);\n};\n\nstruct batadv_unicast_packet {\n\t__u8 packet_type;\n\t__u8 version;\n\t__u8 ttl;\n\t__u8 ttvn;\n\t__u8 dest[6];\n};\n\nstruct batch_u16 {\n\tu16 entropy[48];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u32 {\n\tu32 entropy[24];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u64 {\n\tu64 entropy[12];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u8 {\n\tu8 entropy[96];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct bd_holder_disk {\n\tstruct list_head list;\n\tstruct kobject *holder_dir;\n\tint refcnt;\n};\n\nstruct gendisk;\n\nstruct request_queue;\n\nstruct disk_stats;\n\nstruct blk_holder_ops;\n\nstruct partition_meta_info;\n\nstruct block_device {\n\tsector_t bd_start_sect;\n\tsector_t bd_nr_sectors;\n\tstruct gendisk *bd_disk;\n\tstruct request_queue *bd_queue;\n\tstruct disk_stats *bd_stats;\n\tlong unsigned int bd_stamp;\n\tatomic_t __bd_flags;\n\tdev_t bd_dev;\n\tstruct address_space *bd_mapping;\n\tatomic_t bd_openers;\n\tspinlock_t bd_size_lock;\n\tvoid *bd_claiming;\n\tvoid *bd_holder;\n\tconst struct blk_holder_ops *bd_holder_ops;\n\tstruct mutex bd_holder_lock;\n\tint bd_holders;\n\tstruct kobject *bd_holder_dir;\n\tatomic_t bd_fsfreeze_count;\n\tstruct mutex bd_fsfreeze_mutex;\n\tstruct partition_meta_info *bd_meta_info;\n\tint bd_writers;\n\tvoid *bd_security;\n\tstruct device bd_device;\n};\n\nstruct posix_acl;\n\nstruct inode_operations;\n\nstruct file_lock_context;\n\nstruct pipe_inode_info;\n\nstruct cdev;\n\nstruct fscrypt_inode_info;\n\nstruct fsverity_info;\n\nstruct inode {\n\tumode_t i_mode;\n\tshort unsigned int i_opflags;\n\tkuid_t i_uid;\n\tkgid_t i_gid;\n\tunsigned int i_flags;\n\tstruct posix_acl *i_acl;\n\tstruct posix_acl *i_default_acl;\n\tconst struct inode_operations *i_op;\n\tstruct super_block *i_sb;\n\tstruct address_space *i_mapping;\n\tvoid *i_security;\n\tlong unsigned int i_ino;\n\tunion {\n\t\tconst unsigned int i_nlink;\n\t\tunsigned int __i_nlink;\n\t};\n\tdev_t i_rdev;\n\tloff_t i_size;\n\ttime64_t i_atime_sec;\n\ttime64_t i_mtime_sec;\n\ttime64_t i_ctime_sec;\n\tu32 i_atime_nsec;\n\tu32 i_mtime_nsec;\n\tu32 i_ctime_nsec;\n\tu32 i_generation;\n\tspinlock_t i_lock;\n\tshort unsigned int i_bytes;\n\tu8 i_blkbits;\n\tenum rw_hint i_write_hint;\n\tblkcnt_t i_blocks;\n\tu32 i_state;\n\tstruct rw_semaphore i_rwsem;\n\tlong unsigned int dirtied_when;\n\tlong unsigned int dirtied_time_when;\n\tstruct hlist_node i_hash;\n\tstruct list_head i_io_list;\n\tstruct bdi_writeback *i_wb;\n\tint i_wb_frn_winner;\n\tu16 i_wb_frn_avg_time;\n\tu16 i_wb_frn_history;\n\tstruct list_head i_lru;\n\tstruct list_head i_sb_list;\n\tstruct list_head i_wb_list;\n\tunion {\n\t\tstruct hlist_head i_dentry;\n\t\tstruct callback_head i_rcu;\n\t};\n\tatomic64_t i_version;\n\tatomic64_t i_sequence;\n\tatomic_t i_count;\n\tatomic_t i_dio_count;\n\tatomic_t i_writecount;\n\tatomic_t i_readcount;\n\tunion {\n\t\tconst struct file_operations *i_fop;\n\t\tvoid (*free_inode)(struct inode *);\n\t};\n\tstruct file_lock_context *i_flctx;\n\tstruct address_space i_data;\n\tunion {\n\t\tstruct list_head i_devices;\n\t\tint i_linklen;\n\t};\n\tunion {\n\t\tstruct pipe_inode_info *i_pipe;\n\t\tstruct cdev *i_cdev;\n\t\tchar *i_link;\n\t\tunsigned int i_dir_seq;\n\t};\n\t__u32 i_fsnotify_mask;\n\tstruct fsnotify_mark_connector *i_fsnotify_marks;\n\tstruct fscrypt_inode_info *i_crypt_info;\n\tstruct fsverity_info *i_verity_info;\n\tvoid *i_private;\n};\n\nstruct bdev_inode {\n\tstruct block_device bdev;\n\tstruct inode vfs_inode;\n};\n\nstruct bfq_sched_data;\n\nstruct bfq_queue;\n\nstruct bfq_entity {\n\tstruct rb_node rb_node;\n\tbool on_st_or_in_serv;\n\tu64 start;\n\tu64 finish;\n\tstruct rb_root *tree;\n\tu64 min_start;\n\tint service;\n\tint budget;\n\tint allocated;\n\tint dev_weight;\n\tint weight;\n\tint new_weight;\n\tint orig_weight;\n\tstruct bfq_entity *parent;\n\tstruct bfq_sched_data *my_sched_data;\n\tstruct bfq_sched_data *sched_data;\n\tint prio_changed;\n\tbool in_groups_with_pending_reqs;\n\tstruct bfq_queue *last_bfqq_created;\n};\n\nstruct bfq_ttime {\n\tu64 last_end_request;\n\tu64 ttime_total;\n\tlong unsigned int ttime_samples;\n\tu64 ttime_mean;\n};\n\nstruct bfq_data;\n\nstruct request;\n\nstruct bfq_weight_counter;\n\nstruct bfq_io_cq;\n\nstruct bfq_queue {\n\tint ref;\n\tint stable_ref;\n\tstruct bfq_data *bfqd;\n\tshort unsigned int ioprio;\n\tshort unsigned int ioprio_class;\n\tshort unsigned int new_ioprio;\n\tshort unsigned int new_ioprio_class;\n\tu64 last_serv_time_ns;\n\tunsigned int inject_limit;\n\tlong unsigned int decrease_time_jif;\n\tstruct bfq_queue *new_bfqq;\n\tstruct rb_node pos_node;\n\tstruct rb_root *pos_root;\n\tstruct rb_root sort_list;\n\tstruct request *next_rq;\n\tint queued[2];\n\tint meta_pending;\n\tstruct list_head fifo;\n\tstruct bfq_entity entity;\n\tstruct bfq_weight_counter *weight_counter;\n\tint max_budget;\n\tlong unsigned int budget_timeout;\n\tint dispatched;\n\tlong unsigned int flags;\n\tstruct list_head bfqq_list;\n\tstruct bfq_ttime ttime;\n\tu64 io_start_time;\n\tu64 tot_idle_time;\n\tu32 seek_history;\n\tstruct hlist_node burst_list_node;\n\tsector_t last_request_pos;\n\tunsigned int requests_within_timer;\n\tpid_t pid;\n\tstruct bfq_io_cq *bic;\n\tlong unsigned int wr_cur_max_time;\n\tlong unsigned int soft_rt_next_start;\n\tlong unsigned int last_wr_start_finish;\n\tunsigned int wr_coeff;\n\tlong unsigned int last_idle_bklogged;\n\tlong unsigned int service_from_backlogged;\n\tlong unsigned int service_from_wr;\n\tlong unsigned int wr_start_at_switch_to_srt;\n\tlong unsigned int split_time;\n\tlong unsigned int first_IO_time;\n\tlong unsigned int creation_time;\n\tstruct bfq_queue *waker_bfqq;\n\tstruct bfq_queue *tentative_waker_bfqq;\n\tunsigned int num_waker_detections;\n\tu64 waker_detection_started;\n\tstruct hlist_node woken_list_node;\n\tstruct hlist_head woken_list;\n\tunsigned int actuator_idx;\n};\n\nstruct blk_independent_access_range {\n\tstruct kobject kobj;\n\tsector_t sector;\n\tsector_t nr_sectors;\n};\n\nstruct bfq_group;\n\nstruct bfq_data {\n\tstruct request_queue *queue;\n\tstruct list_head dispatch;\n\tstruct bfq_group *root_group;\n\tstruct rb_root_cached queue_weights_tree;\n\tunsigned int num_groups_with_pending_reqs;\n\tunsigned int busy_queues[3];\n\tint wr_busy_queues;\n\tint queued;\n\tint tot_rq_in_driver;\n\tint rq_in_driver[8];\n\tbool nonrot_with_queueing;\n\tint max_rq_in_driver;\n\tint hw_tag_samples;\n\tint hw_tag;\n\tint budgets_assigned;\n\tstruct hrtimer idle_slice_timer;\n\tstruct bfq_queue *in_service_queue;\n\tsector_t last_position;\n\tsector_t in_serv_last_pos;\n\tu64 last_completion;\n\tstruct bfq_queue *last_completed_rq_bfqq;\n\tstruct bfq_queue *last_bfqq_created;\n\tu64 last_empty_occupied_ns;\n\tbool wait_dispatch;\n\tstruct request *waited_rq;\n\tbool rqs_injected;\n\tu64 first_dispatch;\n\tu64 last_dispatch;\n\tktime_t last_budget_start;\n\tktime_t last_idling_start;\n\tlong unsigned int last_idling_start_jiffies;\n\tint peak_rate_samples;\n\tu32 sequential_samples;\n\tu64 tot_sectors_dispatched;\n\tu32 last_rq_max_size;\n\tu64 delta_from_first;\n\tu32 peak_rate;\n\tint bfq_max_budget;\n\tstruct list_head active_list[8];\n\tstruct list_head idle_list;\n\tu64 bfq_fifo_expire[2];\n\tunsigned int bfq_back_penalty;\n\tunsigned int bfq_back_max;\n\tu32 bfq_slice_idle;\n\tint bfq_user_max_budget;\n\tunsigned int bfq_timeout;\n\tbool strict_guarantees;\n\tlong unsigned int last_ins_in_burst;\n\tlong unsigned int bfq_burst_interval;\n\tint burst_size;\n\tstruct bfq_entity *burst_parent_entity;\n\tlong unsigned int bfq_large_burst_thresh;\n\tbool large_burst;\n\tstruct hlist_head burst_list;\n\tbool low_latency;\n\tunsigned int bfq_wr_coeff;\n\tunsigned int bfq_wr_rt_max_time;\n\tunsigned int bfq_wr_min_idle_time;\n\tlong unsigned int bfq_wr_min_inter_arr_async;\n\tunsigned int bfq_wr_max_softrt_rate;\n\tu64 rate_dur_prod;\n\tstruct bfq_queue oom_bfqq;\n\tspinlock_t lock;\n\tstruct bfq_io_cq *bio_bic;\n\tstruct bfq_queue *bio_bfqq;\n\tunsigned int word_depths[4];\n\tunsigned int full_depth_shift;\n\tunsigned int num_actuators;\n\tsector_t sector[8];\n\tsector_t nr_sectors[8];\n\tstruct blk_independent_access_range ia_ranges[8];\n\tunsigned int actuator_load_threshold;\n};\n\nstruct blkcg_gq;\n\nstruct blkg_policy_data {\n\tstruct blkcg_gq *blkg;\n\tint plid;\n\tbool online;\n};\n\nstruct bfq_service_tree {\n\tstruct rb_root active;\n\tstruct rb_root idle;\n\tstruct bfq_entity *first_idle;\n\tstruct bfq_entity *last_idle;\n\tu64 vtime;\n\tlong unsigned int wsum;\n};\n\nstruct bfq_sched_data {\n\tstruct bfq_entity *in_service_entity;\n\tstruct bfq_entity *next_in_service;\n\tstruct bfq_service_tree service_tree[3];\n\tlong unsigned int bfq_class_idle_last_service;\n};\n\nstruct blkg_rwstat {\n\tstruct percpu_counter cpu_cnt[5];\n\tatomic64_t aux_cnt[5];\n};\n\nstruct bfqg_stats {\n\tstruct blkg_rwstat bytes;\n\tstruct blkg_rwstat ios;\n};\n\nstruct bfq_group {\n\tstruct blkg_policy_data pd;\n\trefcount_t ref;\n\tstruct bfq_entity entity;\n\tstruct bfq_sched_data sched_data;\n\tstruct bfq_data *bfqd;\n\tstruct bfq_queue *async_bfqq[128];\n\tstruct bfq_queue *async_idle_bfqq[8];\n\tstruct bfq_entity *my_entity;\n\tint active_entities;\n\tint num_queues_with_pending_reqs;\n\tstruct rb_root rq_pos_tree;\n\tstruct bfqg_stats stats;\n};\n\nstruct blkcg;\n\nstruct blkcg_policy_data {\n\tstruct blkcg *blkcg;\n\tint plid;\n};\n\nstruct bfq_group_data {\n\tstruct blkcg_policy_data pd;\n\tunsigned int weight;\n};\n\nstruct io_context;\n\nstruct kmem_cache;\n\nstruct io_cq {\n\tstruct request_queue *q;\n\tstruct io_context *ioc;\n\tunion {\n\t\tstruct list_head q_node;\n\t\tstruct kmem_cache *__rcu_icq_cache;\n\t};\n\tunion {\n\t\tstruct hlist_node ioc_node;\n\t\tstruct callback_head __rcu_head;\n\t};\n\tunsigned int flags;\n};\n\nstruct bfq_iocq_bfqq_data {\n\tbool saved_has_short_ttime;\n\tbool saved_IO_bound;\n\tu64 saved_io_start_time;\n\tu64 saved_tot_idle_time;\n\tbool saved_in_large_burst;\n\tbool was_in_burst_list;\n\tunsigned int saved_weight;\n\tlong unsigned int saved_wr_coeff;\n\tlong unsigned int saved_last_wr_start_finish;\n\tlong unsigned int saved_service_from_wr;\n\tlong unsigned int saved_wr_start_at_switch_to_srt;\n\tunsigned int saved_wr_cur_max_time;\n\tstruct bfq_ttime saved_ttime;\n\tu64 saved_last_serv_time_ns;\n\tunsigned int saved_inject_limit;\n\tlong unsigned int saved_decrease_time_jif;\n\tstruct bfq_queue *stable_merge_bfqq;\n\tbool stably_merged;\n};\n\nstruct bfq_io_cq {\n\tstruct io_cq icq;\n\tstruct bfq_queue *bfqq[16];\n\tint ioprio;\n\tuint64_t blkcg_serial_nr;\n\tstruct bfq_iocq_bfqq_data bfqq_data[8];\n\tunsigned int requests;\n};\n\nstruct bfq_weight_counter {\n\tunsigned int weight;\n\tunsigned int num_active;\n\tstruct rb_node weights_node;\n};\n\nstruct bgl_lock {\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bh_accounting {\n\tint nr;\n\tint ratelimit;\n};\n\nstruct bh_lru {\n\tstruct buffer_head *bhs[16];\n};\n\nstruct bictcp {\n\tu32 cnt;\n\tu32 last_max_cwnd;\n\tu32 last_cwnd;\n\tu32 last_time;\n\tu32 bic_origin_point;\n\tu32 bic_K;\n\tu32 delay_min;\n\tu32 epoch_start;\n\tu32 ack_cnt;\n\tu32 tcp_cwnd;\n\tu16 unused;\n\tu8 sample_cnt;\n\tu8 found;\n\tu32 round_start;\n\tu32 end_seq;\n\tu32 last_ack;\n\tu32 curr_rtt;\n};\n\nstruct binfmt_misc {\n\tstruct list_head entries;\n\trwlock_t entries_lock;\n\tbool enabled;\n};\n\nstruct bvec_iter {\n\tsector_t bi_sector;\n\tunsigned int bi_size;\n\tunsigned int bi_idx;\n\tunsigned int bi_bvec_done;\n} __attribute__((packed));\n\nstruct bio;\n\ntypedef void bio_end_io_t(struct bio *);\n\nstruct bio_issue {\n\tu64 value;\n};\n\nstruct bio_vec {\n\tstruct page *bv_page;\n\tunsigned int bv_len;\n\tunsigned int bv_offset;\n};\n\nstruct bio_crypt_ctx;\n\nstruct bio_integrity_payload;\n\nstruct bio_set;\n\nstruct bio {\n\tstruct bio *bi_next;\n\tstruct block_device *bi_bdev;\n\tblk_opf_t bi_opf;\n\tshort unsigned int bi_flags;\n\tshort unsigned int bi_ioprio;\n\tenum rw_hint bi_write_hint;\n\tblk_status_t bi_status;\n\tatomic_t __bi_remaining;\n\tstruct bvec_iter bi_iter;\n\tunion {\n\t\tblk_qc_t bi_cookie;\n\t\tunsigned int __bi_nr_segments;\n\t};\n\tbio_end_io_t *bi_end_io;\n\tvoid *bi_private;\n\tstruct blkcg_gq *bi_blkg;\n\tstruct bio_issue bi_issue;\n\tu64 bi_iocost_cost;\n\tstruct bio_crypt_ctx *bi_crypt_context;\n\tstruct bio_integrity_payload *bi_integrity;\n\tshort unsigned int bi_vcnt;\n\tshort unsigned int bi_max_vecs;\n\tatomic_t __bi_cnt;\n\tstruct bio_vec *bi_io_vec;\n\tstruct bio_set *bi_pool;\n\tstruct bio_vec bi_inline_vecs[0];\n};\n\nstruct bio_alloc_cache {\n\tstruct bio *free_list;\n\tstruct bio *free_list_irq;\n\tunsigned int nr;\n\tunsigned int nr_irq;\n};\n\nstruct blk_crypto_key;\n\nstruct bio_crypt_ctx {\n\tconst struct blk_crypto_key *bc_key;\n\tu64 bc_dun[4];\n};\n\nstruct bio_fallback_crypt_ctx {\n\tstruct bio_crypt_ctx crypt_ctx;\n\tstruct bvec_iter crypt_iter;\n\tunion {\n\t\tstruct {\n\t\t\tstruct work_struct work;\n\t\t\tstruct bio *bio;\n\t\t};\n\t\tstruct {\n\t\t\tvoid *bi_private_orig;\n\t\t\tbio_end_io_t *bi_end_io_orig;\n\t\t};\n\t};\n};\n\nstruct bio_integrity_payload {\n\tstruct bio *bip_bio;\n\tstruct bvec_iter bip_iter;\n\tshort unsigned int bip_vcnt;\n\tshort unsigned int bip_max_vcnt;\n\tshort unsigned int bip_flags;\n\tu16 app_tag;\n\tstruct bvec_iter bio_iter;\n\tstruct work_struct bip_work;\n\tstruct bio_vec *bip_vec;\n\tstruct bio_vec bip_inline_vecs[0];\n};\n\nstruct bio_list {\n\tstruct bio *head;\n\tstruct bio *tail;\n};\n\nstruct iovec {\n\tvoid *iov_base;\n\t__kernel_size_t iov_len;\n};\n\nstruct kvec;\n\nstruct folio_queue;\n\nstruct iov_iter {\n\tu8 iter_type;\n\tbool nofault;\n\tbool data_source;\n\tsize_t iov_offset;\n\tunion {\n\t\tstruct iovec __ubuf_iovec;\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tconst struct iovec *__iov;\n\t\t\t\tconst struct kvec *kvec;\n\t\t\t\tconst struct bio_vec *bvec;\n\t\t\t\tconst struct folio_queue *folioq;\n\t\t\t\tstruct xarray *xarray;\n\t\t\t\tvoid *ubuf;\n\t\t\t};\n\t\t\tsize_t count;\n\t\t};\n\t};\n\tunion {\n\t\tlong unsigned int nr_segs;\n\t\tu8 folioq_slot;\n\t\tloff_t xarray_start;\n\t};\n};\n\nstruct bio_map_data {\n\tbool is_our_pages: 1;\n\tbool is_null_mapped: 1;\n\tstruct iov_iter iter;\n\tstruct iovec iov[0];\n};\n\nstruct bio_post_read_ctx {\n\tstruct bio *bio;\n\tstruct work_struct work;\n\tunsigned int cur_step;\n\tunsigned int enabled_steps;\n};\n\ntypedef void *mempool_alloc_t(gfp_t, void *);\n\ntypedef void mempool_free_t(void *, void *);\n\nstruct mempool_s {\n\tspinlock_t lock;\n\tint min_nr;\n\tint curr_nr;\n\tvoid **elements;\n\tvoid *pool_data;\n\tmempool_alloc_t *alloc;\n\tmempool_free_t *free;\n\twait_queue_head_t wait;\n};\n\ntypedef struct mempool_s mempool_t;\n\nstruct bio_set {\n\tstruct kmem_cache *bio_slab;\n\tunsigned int front_pad;\n\tstruct bio_alloc_cache *cache;\n\tmempool_t bio_pool;\n\tmempool_t bvec_pool;\n\tmempool_t bio_integrity_pool;\n\tmempool_t bvec_integrity_pool;\n\tunsigned int back_pad;\n\tspinlock_t rescue_lock;\n\tstruct bio_list rescue_list;\n\tstruct work_struct rescue_work;\n\tstruct workqueue_struct *rescue_workqueue;\n\tstruct hlist_node cpuhp_dead;\n};\n\nstruct bio_slab {\n\tstruct kmem_cache *slab;\n\tunsigned int slab_ref;\n\tunsigned int slab_size;\n\tchar name[12];\n};\n\nstruct biovec_slab {\n\tint nr_vecs;\n\tchar *name;\n\tstruct kmem_cache *slab;\n};\n\nstruct bl_dev_msg {\n\tint32_t status;\n\tuint32_t major;\n\tuint32_t minor;\n};\n\nstruct bl_msg_hdr {\n\tu8 type;\n\tu16 totallen;\n};\n\nstruct rpc_pipe_msg {\n\tstruct list_head list;\n\tvoid *data;\n\tsize_t len;\n\tsize_t copied;\n\tint errno;\n};\n\nstruct bl_pipe_msg {\n\tstruct rpc_pipe_msg msg;\n\twait_queue_head_t *bl_wq;\n};\n\nstruct blacklist_entry {\n\tstruct list_head next;\n\tchar *buf;\n};\n\nstruct blake2b_state {\n\tu64 h[8];\n\tu64 t[2];\n\tu64 f[2];\n\tu8 buf[128];\n\tunsigned int buflen;\n\tunsigned int outlen;\n};\n\nstruct blake2b_tfm_ctx {\n\tu8 key[64];\n\tunsigned int keylen;\n};\n\nstruct blake2s_state {\n\tu32 h[8];\n\tu32 t[2];\n\tu32 f[2];\n\tu8 buf[64];\n\tunsigned int buflen;\n\tunsigned int outlen;\n};\n\nstruct blk_crypto_profile;\n\nstruct blk_crypto_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_crypto_profile *, struct blk_crypto_attr *, char *);\n};\n\nstruct blk_crypto_config {\n\tenum blk_crypto_mode_num crypto_mode;\n\tunsigned int data_unit_size;\n\tunsigned int dun_bytes;\n};\n\nstruct crypto_skcipher;\n\nstruct blk_crypto_fallback_keyslot {\n\tenum blk_crypto_mode_num crypto_mode;\n\tstruct crypto_skcipher *tfms[5];\n};\n\nunion blk_crypto_iv {\n\t__le64 dun[4];\n\tu8 bytes[32];\n};\n\nstruct blk_crypto_key {\n\tstruct blk_crypto_config crypto_cfg;\n\tunsigned int data_unit_size_bits;\n\tunsigned int size;\n\tu8 raw[64];\n};\n\nstruct blk_crypto_keyslot {\n\tatomic_t slot_refs;\n\tstruct list_head idle_slot_node;\n\tstruct hlist_node hash_node;\n\tconst struct blk_crypto_key *key;\n\tstruct blk_crypto_profile *profile;\n};\n\nstruct blk_crypto_kobj {\n\tstruct kobject kobj;\n\tstruct blk_crypto_profile *profile;\n};\n\nstruct blk_crypto_ll_ops {\n\tint (*keyslot_program)(struct blk_crypto_profile *, const struct blk_crypto_key *, unsigned int);\n\tint (*keyslot_evict)(struct blk_crypto_profile *, const struct blk_crypto_key *, unsigned int);\n};\n\nstruct blk_crypto_mode {\n\tconst char *name;\n\tconst char *cipher_str;\n\tunsigned int keysize;\n\tunsigned int ivsize;\n};\n\nstruct blk_crypto_profile {\n\tstruct blk_crypto_ll_ops ll_ops;\n\tunsigned int max_dun_bytes_supported;\n\tunsigned int modes_supported[5];\n\tstruct device *dev;\n\tunsigned int num_slots;\n\tstruct rw_semaphore lock;\n\tstruct lock_class_key lockdep_key;\n\twait_queue_head_t idle_slots_wait_queue;\n\tstruct list_head idle_slots;\n\tspinlock_t idle_slots_lock;\n\tstruct hlist_head *slot_hashtable;\n\tunsigned int log_slot_ht_size;\n\tstruct blk_crypto_keyslot *slots;\n};\n\nstruct blk_expired_data {\n\tbool has_timedout_rq;\n\tlong unsigned int next;\n\tlong unsigned int timeout_start;\n};\n\nstruct blk_flush_queue {\n\tspinlock_t mq_flush_lock;\n\tunsigned int flush_pending_idx: 1;\n\tunsigned int flush_running_idx: 1;\n\tblk_status_t rq_status;\n\tlong unsigned int flush_pending_since;\n\tstruct list_head flush_queue[2];\n\tlong unsigned int flush_data_in_flight;\n\tstruct request *flush_rq;\n};\n\nstruct blk_holder_ops {\n\tvoid (*mark_dead)(struct block_device *, bool);\n\tvoid (*sync)(struct block_device *);\n\tint (*freeze)(struct block_device *);\n\tint (*thaw)(struct block_device *);\n};\n\nstruct blk_ia_range_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_independent_access_range *, char *);\n};\n\nstruct blk_independent_access_ranges {\n\tstruct kobject kobj;\n\tbool sysfs_registered;\n\tunsigned int nr_ia_ranges;\n\tstruct blk_independent_access_range ia_range[0];\n};\n\nstruct blk_integrity {\n\tunsigned char flags;\n\tenum blk_integrity_checksum csum_type;\n\tunsigned char tuple_size;\n\tunsigned char pi_offset;\n\tunsigned char interval_exp;\n\tunsigned char tag_size;\n};\n\nstruct blk_integrity_iter {\n\tvoid *prot_buf;\n\tvoid *data_buf;\n\tsector_t seed;\n\tunsigned int data_size;\n\tshort unsigned int interval;\n\tconst char *disk_name;\n};\n\nstruct rq_qos_ops;\n\nstruct rq_qos {\n\tconst struct rq_qos_ops *ops;\n\tstruct gendisk *disk;\n\tenum rq_qos_id id;\n\tstruct rq_qos *next;\n\tstruct dentry *debugfs_dir;\n};\n\nstruct blk_iolatency {\n\tstruct rq_qos rqos;\n\tstruct timer_list timer;\n\tbool enabled;\n\tatomic_t enable_cnt;\n\tstruct work_struct enable_work;\n};\n\nstruct blk_iou_cmd {\n\tint res;\n\tbool nowait;\n};\n\nstruct blk_major_name {\n\tstruct blk_major_name *next;\n\tint major;\n\tchar name[16];\n\tvoid (*probe)(dev_t);\n};\n\nstruct rq_list;\n\nstruct blk_mq_ctx;\n\nstruct blk_mq_hw_ctx;\n\nstruct blk_mq_alloc_data {\n\tstruct request_queue *q;\n\tblk_mq_req_flags_t flags;\n\tunsigned int shallow_depth;\n\tblk_opf_t cmd_flags;\n\treq_flags_t rq_flags;\n\tunsigned int nr_tags;\n\tstruct rq_list *cached_rqs;\n\tstruct blk_mq_ctx *ctx;\n\tstruct blk_mq_hw_ctx *hctx;\n};\n\nstruct blk_mq_ctxs;\n\nstruct blk_mq_ctx {\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head rq_lists[3];\n\t\tlong: 64;\n\t};\n\tunsigned int cpu;\n\tshort unsigned int index_hw[3];\n\tstruct blk_mq_hw_ctx *hctxs[3];\n\tstruct request_queue *queue;\n\tstruct blk_mq_ctxs *ctxs;\n\tstruct kobject kobj;\n\tlong: 64;\n};\n\nstruct blk_mq_ctxs {\n\tstruct kobject kobj;\n\tstruct blk_mq_ctx *queue_ctx;\n};\n\nstruct seq_operations;\n\nstruct blk_mq_debugfs_attr {\n\tconst char *name;\n\tumode_t mode;\n\tint (*show)(void *, struct seq_file *);\n\tssize_t (*write)(void *, const char *, size_t, loff_t *);\n\tconst struct seq_operations *seq_ops;\n};\n\nstruct sbitmap_word;\n\nstruct sbitmap {\n\tunsigned int depth;\n\tunsigned int shift;\n\tunsigned int map_nr;\n\tbool round_robin;\n\tstruct sbitmap_word *map;\n\tunsigned int *alloc_hint;\n};\n\ntypedef struct wait_queue_entry wait_queue_entry_t;\n\nstruct blk_mq_hw_ctx {\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head dispatch;\n\t\tlong unsigned int state;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct delayed_work run_work;\n\tcpumask_var_t cpumask;\n\tint next_cpu;\n\tint next_cpu_batch;\n\tlong unsigned int flags;\n\tvoid *sched_data;\n\tstruct request_queue *queue;\n\tstruct blk_flush_queue *fq;\n\tvoid *driver_data;\n\tstruct sbitmap ctx_map;\n\tstruct blk_mq_ctx *dispatch_from;\n\tunsigned int dispatch_busy;\n\tshort unsigned int type;\n\tshort unsigned int nr_ctx;\n\tstruct blk_mq_ctx **ctxs;\n\tspinlock_t dispatch_wait_lock;\n\twait_queue_entry_t dispatch_wait;\n\tatomic_t wait_index;\n\tstruct blk_mq_tags *tags;\n\tstruct blk_mq_tags *sched_tags;\n\tunsigned int numa_node;\n\tunsigned int queue_num;\n\tatomic_t nr_active;\n\tstruct hlist_node cpuhp_online;\n\tstruct hlist_node cpuhp_dead;\n\tstruct kobject kobj;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *sched_debugfs_dir;\n\tstruct list_head hctx_list;\n\tlong: 64;\n};\n\nstruct blk_mq_hw_ctx_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_mq_hw_ctx *, char *);\n};\n\nstruct blk_mq_queue_data;\n\nstruct io_comp_batch;\n\nstruct blk_mq_ops {\n\tblk_status_t (*queue_rq)(struct blk_mq_hw_ctx *, const struct blk_mq_queue_data *);\n\tvoid (*commit_rqs)(struct blk_mq_hw_ctx *);\n\tvoid (*queue_rqs)(struct rq_list *);\n\tint (*get_budget)(struct request_queue *);\n\tvoid (*put_budget)(struct request_queue *, int);\n\tvoid (*set_rq_budget_token)(struct request *, int);\n\tint (*get_rq_budget_token)(struct request *);\n\tenum blk_eh_timer_return (*timeout)(struct request *);\n\tint (*poll)(struct blk_mq_hw_ctx *, struct io_comp_batch *);\n\tvoid (*complete)(struct request *);\n\tint (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int);\n\tvoid (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tint (*init_request)(struct blk_mq_tag_set *, struct request *, unsigned int, unsigned int);\n\tvoid (*exit_request)(struct blk_mq_tag_set *, struct request *, unsigned int);\n\tvoid (*cleanup_rq)(struct request *);\n\tbool (*busy)(struct request_queue *);\n\tvoid (*map_queues)(struct blk_mq_tag_set *);\n\tvoid (*show_rq)(struct seq_file *, struct request *);\n};\n\nstruct elevator_type;\n\nstruct blk_mq_qe_pair {\n\tstruct list_head node;\n\tstruct request_queue *q;\n\tstruct elevator_type *type;\n};\n\nstruct blk_mq_queue_data {\n\tstruct request *rq;\n\tbool last;\n};\n\nstruct sbq_wait_state;\n\nstruct sbitmap_queue {\n\tstruct sbitmap sb;\n\tunsigned int wake_batch;\n\tatomic_t wake_index;\n\tstruct sbq_wait_state *ws;\n\tatomic_t ws_active;\n\tunsigned int min_shallow_depth;\n\tatomic_t completion_cnt;\n\tatomic_t wakeup_cnt;\n};\n\nstruct blk_mq_tags {\n\tunsigned int nr_tags;\n\tunsigned int nr_reserved_tags;\n\tunsigned int active_queues;\n\tstruct sbitmap_queue bitmap_tags;\n\tstruct sbitmap_queue breserved_tags;\n\tstruct request **rqs;\n\tstruct request **static_rqs;\n\tstruct list_head page_list;\n\tspinlock_t lock;\n};\n\nstruct rq_list {\n\tstruct request *head;\n\tstruct request *tail;\n};\n\nstruct blk_plug {\n\tstruct rq_list mq_list;\n\tstruct rq_list cached_rqs;\n\tu64 cur_ktime;\n\tshort unsigned int nr_ios;\n\tshort unsigned int rq_count;\n\tbool multiple_queues;\n\tbool has_elevator;\n\tstruct list_head cb_list;\n};\n\nstruct blk_plug_cb;\n\ntypedef void (*blk_plug_cb_fn)(struct blk_plug_cb *, bool);\n\nstruct blk_plug_cb {\n\tstruct list_head list;\n\tblk_plug_cb_fn callback;\n\tvoid *data;\n};\n\nstruct blk_queue_stats {\n\tstruct list_head callbacks;\n\tspinlock_t lock;\n\tint accounting;\n};\n\nstruct blk_revalidate_zone_args {\n\tstruct gendisk *disk;\n\tlong unsigned int *conv_zones_bitmap;\n\tunsigned int nr_zones;\n\tunsigned int zone_capacity;\n\tunsigned int last_zone_capacity;\n\tsector_t sector;\n};\n\nstruct blk_rq_stat {\n\tu64 mean;\n\tu64 min;\n\tu64 max;\n\tu32 nr_samples;\n\tu64 batch;\n};\n\nstruct blk_rq_wait {\n\tstruct completion done;\n\tblk_status_t ret;\n};\n\nstruct blk_stat_callback {\n\tstruct list_head list;\n\tstruct timer_list timer;\n\tstruct blk_rq_stat *cpu_stat;\n\tint (*bucket_fn)(const struct request *);\n\tunsigned int buckets;\n\tstruct blk_rq_stat *stat;\n\tvoid (*timer_fn)(struct blk_stat_callback *);\n\tvoid *data;\n\tstruct callback_head rcu;\n};\n\nstruct blk_zone {\n\t__u64 start;\n\t__u64 len;\n\t__u64 wp;\n\t__u8 type;\n\t__u8 cond;\n\t__u8 non_seq;\n\t__u8 reset;\n\t__u8 resv[4];\n\t__u64 capacity;\n\t__u8 reserved[24];\n};\n\nstruct blk_zone_range {\n\t__u64 sector;\n\t__u64 nr_sectors;\n};\n\nstruct blk_zone_report {\n\t__u64 sector;\n\t__u32 nr_zones;\n\t__u32 flags;\n\tstruct blk_zone zones[0];\n};\n\nstruct blk_zone_wplug {\n\tstruct hlist_node node;\n\trefcount_t ref;\n\tspinlock_t lock;\n\tunsigned int flags;\n\tunsigned int zone_no;\n\tunsigned int wp_offset;\n\tstruct bio_list bio_list;\n\tstruct work_struct bio_work;\n\tstruct callback_head callback_head;\n\tstruct gendisk *disk;\n};\n\nstruct cgroup_subsys;\n\nstruct cgroup_subsys_state {\n\tstruct cgroup *cgroup;\n\tstruct cgroup_subsys *ss;\n\tstruct percpu_ref refcnt;\n\tstruct list_head sibling;\n\tstruct list_head children;\n\tstruct list_head rstat_css_node;\n\tint id;\n\tunsigned int flags;\n\tu64 serial_nr;\n\tatomic_t online_cnt;\n\tstruct work_struct destroy_work;\n\tstruct rcu_work destroy_rwork;\n\tstruct cgroup_subsys_state *parent;\n\tint nr_descendants;\n};\n\nstruct blkcg {\n\tstruct cgroup_subsys_state css;\n\tspinlock_t lock;\n\trefcount_t online_pin;\n\tatomic_t congestion_count;\n\tstruct xarray blkg_tree;\n\tstruct blkcg_gq *blkg_hint;\n\tstruct hlist_head blkg_list;\n\tstruct blkcg_policy_data *cpd[6];\n\tstruct list_head all_blkcgs_node;\n\tstruct llist_head *lhead;\n\tchar fc_app_id[129];\n\tstruct list_head cgwb_list;\n};\n\nstruct blkg_iostat {\n\tu64 bytes[3];\n\tu64 ios[3];\n};\n\nstruct blkg_iostat_set {\n\tstruct u64_stats_sync sync;\n\tstruct blkcg_gq *blkg;\n\tstruct llist_node lnode;\n\tint lqueued;\n\tstruct blkg_iostat cur;\n\tstruct blkg_iostat last;\n};\n\nstruct blkcg_gq {\n\tstruct request_queue *q;\n\tstruct list_head q_node;\n\tstruct hlist_node blkcg_node;\n\tstruct blkcg *blkcg;\n\tstruct blkcg_gq *parent;\n\tstruct percpu_ref refcnt;\n\tbool online;\n\tstruct blkg_iostat_set *iostat_cpu;\n\tstruct blkg_iostat_set iostat;\n\tstruct blkg_policy_data *pd[6];\n\tspinlock_t async_bio_lock;\n\tstruct bio_list async_bios;\n\tunion {\n\t\tstruct work_struct async_bio_work;\n\t\tstruct work_struct free_work;\n\t};\n\tatomic_t use_delay;\n\tatomic64_t delay_nsec;\n\tatomic64_t delay_start;\n\tu64 last_delay;\n\tint last_use;\n\tstruct callback_head callback_head;\n};\n\ntypedef struct blkcg_policy_data *blkcg_pol_alloc_cpd_fn(gfp_t);\n\ntypedef void blkcg_pol_free_cpd_fn(struct blkcg_policy_data *);\n\ntypedef struct blkg_policy_data *blkcg_pol_alloc_pd_fn(struct gendisk *, struct blkcg *, gfp_t);\n\ntypedef void blkcg_pol_init_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_online_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_offline_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_free_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_reset_pd_stats_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_stat_pd_fn(struct blkg_policy_data *, struct seq_file *);\n\nstruct cftype;\n\nstruct blkcg_policy {\n\tint plid;\n\tstruct cftype *dfl_cftypes;\n\tstruct cftype *legacy_cftypes;\n\tblkcg_pol_alloc_cpd_fn *cpd_alloc_fn;\n\tblkcg_pol_free_cpd_fn *cpd_free_fn;\n\tblkcg_pol_alloc_pd_fn *pd_alloc_fn;\n\tblkcg_pol_init_pd_fn *pd_init_fn;\n\tblkcg_pol_online_pd_fn *pd_online_fn;\n\tblkcg_pol_offline_pd_fn *pd_offline_fn;\n\tblkcg_pol_free_pd_fn *pd_free_fn;\n\tblkcg_pol_reset_pd_stats_fn *pd_reset_stats_fn;\n\tblkcg_pol_stat_pd_fn *pd_stat_fn;\n};\n\nstruct blkdev_dio {\n\tunion {\n\t\tstruct kiocb *iocb;\n\t\tstruct task_struct *waiter;\n\t};\n\tsize_t size;\n\tatomic_t ref;\n\tunsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bio bio;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct blkg_conf_ctx {\n\tchar *input;\n\tchar *body;\n\tstruct block_device *bdev;\n\tstruct blkcg_gq *blkg;\n};\n\nstruct blkg_rwstat_sample {\n\tu64 cnt[5];\n};\n\nstruct blkpg_ioctl_arg {\n\tint op;\n\tint flags;\n\tint datalen;\n\tvoid *data;\n};\n\nstruct blkpg_partition {\n\tlong long int start;\n\tlong long int length;\n\tint pno;\n\tchar devname[64];\n\tchar volname[64];\n};\n\nstruct block_buffer {\n\tu32 filled;\n\tbool is_root_hash;\n\tu8 *data;\n};\n\ntypedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *);\n\nstruct hd_geometry;\n\nstruct pr_ops;\n\nstruct block_device_operations {\n\tvoid (*submit_bio)(struct bio *);\n\tint (*poll_bio)(struct bio *, struct io_comp_batch *, unsigned int);\n\tint (*open)(struct gendisk *, blk_mode_t);\n\tvoid (*release)(struct gendisk *);\n\tint (*ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int);\n\tunsigned int (*check_events)(struct gendisk *, unsigned int);\n\tvoid (*unlock_native_capacity)(struct gendisk *);\n\tint (*getgeo)(struct block_device *, struct hd_geometry *);\n\tint (*set_read_only)(struct block_device *, bool);\n\tvoid (*free_disk)(struct gendisk *);\n\tvoid (*swap_slot_free_notify)(struct block_device *, long unsigned int);\n\tint (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *);\n\tchar * (*devnode)(struct gendisk *, umode_t *);\n\tint (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id);\n\tstruct module *owner;\n\tconst struct pr_ops *pr_ops;\n\tint (*alternative_gpt_sector)(struct gendisk *, sector_t *);\n};\n\nstruct blockgroup_lock {\n\tstruct bgl_lock locks[128];\n};\n\nstruct blocking_notifier_head {\n\tstruct rw_semaphore rwsem;\n\tstruct notifier_block *head;\n};\n\nstruct bloom_pair {\n\tint entries;\n\tint old_entries;\n\ttime64_t swap_time;\n\tint new;\n\tlong unsigned int set[8];\n};\n\nstruct mem_zone_bm_rtree;\n\nstruct rtree_node;\n\nstruct bm_position {\n\tstruct mem_zone_bm_rtree *zone;\n\tstruct rtree_node *node;\n\tlong unsigned int node_pfn;\n\tlong unsigned int cur_pfn;\n\tint node_bit;\n};\n\nstruct bmp_header {\n\tu16 id;\n\tu32 size;\n} __attribute__((packed));\n\nstruct gro_list {\n\tstruct list_head list;\n\tint count;\n};\n\nstruct napi_config;\n\nstruct napi_struct {\n\tstruct list_head poll_list;\n\tlong unsigned int state;\n\tint weight;\n\tu32 defer_hard_irqs_count;\n\tlong unsigned int gro_bitmask;\n\tint (*poll)(struct napi_struct *, int);\n\tint list_owner;\n\tstruct net_device *dev;\n\tstruct gro_list gro_hash[8];\n\tstruct sk_buff *skb;\n\tstruct list_head rx_list;\n\tint rx_count;\n\tunsigned int napi_id;\n\tstruct hrtimer timer;\n\tstruct task_struct *thread;\n\tlong unsigned int gro_flush_timeout;\n\tlong unsigned int irq_suspend_timeout;\n\tu32 defer_hard_irqs;\n\tstruct list_head dev_list;\n\tstruct hlist_node napi_hash_node;\n\tint irq;\n\tint index;\n\tstruct napi_config *config;\n};\n\nstruct bnx2_sw_bd;\n\nstruct bnx2_rx_bd;\n\nstruct bnx2_sw_pg;\n\nstruct bnx2_rx_ring_info {\n\tu32 rx_prod_bseq;\n\tu16 rx_prod;\n\tu16 rx_cons;\n\tu32 rx_bidx_addr;\n\tu32 rx_bseq_addr;\n\tu32 rx_pg_bidx_addr;\n\tu16 rx_pg_prod;\n\tu16 rx_pg_cons;\n\tstruct bnx2_sw_bd *rx_buf_ring;\n\tstruct bnx2_rx_bd *rx_desc_ring[8];\n\tstruct bnx2_sw_pg *rx_pg_ring;\n\tstruct bnx2_rx_bd *rx_pg_desc_ring[32];\n\tdma_addr_t rx_desc_mapping[8];\n\tdma_addr_t rx_pg_desc_mapping[32];\n};\n\nstruct bnx2_tx_bd;\n\nstruct bnx2_sw_tx_bd;\n\nstruct bnx2_tx_ring_info {\n\tu32 tx_prod_bseq;\n\tu16 tx_prod;\n\tu32 tx_bidx_addr;\n\tu32 tx_bseq_addr;\n\tstruct bnx2_tx_bd *tx_desc_ring;\n\tstruct bnx2_sw_tx_bd *tx_buf_ring;\n\tu16 tx_cons;\n\tu16 hw_tx_cons;\n\tdma_addr_t tx_desc_mapping;\n};\n\nstruct bnx2;\n\nstruct status_block;\n\nstruct status_block_msix;\n\nstruct bnx2_napi {\n\tstruct napi_struct napi;\n\tstruct bnx2 *bp;\n\tunion {\n\t\tstruct status_block *msi;\n\t\tstruct status_block_msix *msix;\n\t} status_blk;\n\tu16 *hw_tx_cons_ptr;\n\tu16 *hw_rx_cons_ptr;\n\tu32 last_status_idx;\n\tu32 int_num;\n\tstruct bnx2_rx_ring_info rx_ring;\n\tstruct bnx2_tx_ring_info tx_ring;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bnx2_irq {\n\tirq_handler_t handler;\n\tunsigned int vector;\n\tu8 requested;\n\tchar name[18];\n};\n\nstruct statistics_block;\n\nstruct flash_spec;\n\nstruct bnx2 {\n\tvoid *regview;\n\tstruct net_device *dev;\n\tstruct pci_dev *pdev;\n\tatomic_t intr_sem;\n\tu32 flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bnx2_napi bnx2_napi[9];\n\tu32 rx_buf_use_size;\n\tu32 rx_buf_size;\n\tu32 rx_copy_thresh;\n\tu32 rx_jumbo_thresh;\n\tu32 rx_max_ring_idx;\n\tu32 rx_max_pg_ring_idx;\n\tint tx_ring_size;\n\tu32 tx_wake_thresh;\n\tunsigned int current_interval;\n\tstruct timer_list timer;\n\tstruct work_struct reset_task;\n\tspinlock_t phy_lock;\n\tspinlock_t indirect_lock;\n\tu32 phy_flags;\n\tu32 mii_bmcr;\n\tu32 mii_bmsr;\n\tu32 mii_bmsr1;\n\tu32 mii_adv;\n\tu32 mii_lpa;\n\tu32 mii_up1;\n\tu32 chip_id;\n\tu32 phy_addr;\n\tu32 phy_id;\n\tu16 bus_speed_mhz;\n\tu8 wol;\n\tu8 pad;\n\tu16 fw_wr_seq;\n\tu16 fw_drv_pulse_wr_seq;\n\tu32 fw_last_msg;\n\tint rx_max_ring;\n\tint rx_ring_size;\n\tint rx_max_pg_ring;\n\tint rx_pg_ring_size;\n\tu16 tx_quick_cons_trip;\n\tu16 tx_quick_cons_trip_int;\n\tu16 rx_quick_cons_trip;\n\tu16 rx_quick_cons_trip_int;\n\tu16 comp_prod_trip;\n\tu16 comp_prod_trip_int;\n\tu16 tx_ticks;\n\tu16 tx_ticks_int;\n\tu16 com_ticks;\n\tu16 com_ticks_int;\n\tu16 cmd_ticks;\n\tu16 cmd_ticks_int;\n\tu16 rx_ticks;\n\tu16 rx_ticks_int;\n\tu32 stats_ticks;\n\tdma_addr_t status_blk_mapping;\n\tvoid *status_blk;\n\tstruct statistics_block *stats_blk;\n\tstruct statistics_block *temp_stats_blk;\n\tdma_addr_t stats_blk_mapping;\n\tint ctx_pages;\n\tvoid *ctx_blk[4];\n\tdma_addr_t ctx_blk_mapping[4];\n\tu32 hc_cmd;\n\tu32 rx_mode;\n\tu16 req_line_speed;\n\tu8 req_duplex;\n\tu8 phy_port;\n\tu8 link_up;\n\tu16 line_speed;\n\tu8 duplex;\n\tu8 flow_ctrl;\n\tu32 advertising;\n\tu8 req_flow_ctrl;\n\tu8 autoneg;\n\tu8 loopback;\n\tu8 serdes_an_pending;\n\tu8 mac_addr[8];\n\tu32 shmem_base;\n\tchar fw_version[32];\n\tint pm_cap;\n\tint pcix_cap;\n\tconst struct flash_spec *flash_info;\n\tu32 flash_size;\n\tint status_stats_size;\n\tstruct bnx2_irq irq_tbl[9];\n\tint irq_nvecs;\n\tu8 func;\n\tu8 num_tx_rings;\n\tu8 num_rx_rings;\n\tint num_req_tx_rings;\n\tint num_req_rx_rings;\n\tu32 leds_save;\n\tu32 idle_chk_status_idx;\n\tconst struct firmware *mips_firmware;\n\tconst struct firmware *rv2p_firmware;\n\tlong: 64;\n};\n\nstruct bnx2_fw_file_section {\n\t__be32 addr;\n\t__be32 len;\n\t__be32 offset;\n};\n\nstruct bnx2_mips_fw_file_entry {\n\t__be32 start_addr;\n\tstruct bnx2_fw_file_section text;\n\tstruct bnx2_fw_file_section data;\n\tstruct bnx2_fw_file_section rodata;\n};\n\nstruct bnx2_mips_fw_file {\n\tstruct bnx2_mips_fw_file_entry com;\n\tstruct bnx2_mips_fw_file_entry cp;\n\tstruct bnx2_mips_fw_file_entry rxp;\n\tstruct bnx2_mips_fw_file_entry tpat;\n\tstruct bnx2_mips_fw_file_entry txp;\n};\n\nstruct bnx2_rv2p_fw_file_entry {\n\tstruct bnx2_fw_file_section rv2p;\n\t__be32 fixup[8];\n};\n\nstruct bnx2_rv2p_fw_file {\n\tstruct bnx2_rv2p_fw_file_entry proc1;\n\tstruct bnx2_rv2p_fw_file_entry proc2;\n};\n\nstruct bnx2_rx_bd {\n\tu32 rx_bd_haddr_hi;\n\tu32 rx_bd_haddr_lo;\n\tu32 rx_bd_len;\n\tu32 rx_bd_flags;\n};\n\nstruct bnx2_sw_bd {\n\tu8 *data;\n\tdma_addr_t mapping;\n};\n\nstruct bnx2_sw_pg {\n\tstruct page *page;\n\tdma_addr_t mapping;\n};\n\nstruct bnx2_sw_tx_bd {\n\tstruct sk_buff *skb;\n\tdma_addr_t mapping;\n\tshort unsigned int is_gso;\n\tshort unsigned int nr_frags;\n};\n\nstruct bnx2_tx_bd {\n\tu32 tx_bd_haddr_hi;\n\tu32 tx_bd_haddr_lo;\n\tu32 tx_bd_mss_nbytes;\n\tu32 tx_bd_vlan_tag_flags;\n};\n\nstruct spi_board_info {\n\tchar modalias[32];\n\tconst void *platform_data;\n\tconst struct software_node *swnode;\n\tvoid *controller_data;\n\tint irq;\n\tu32 max_speed_hz;\n\tu16 bus_num;\n\tu16 chip_select;\n\tu32 mode;\n};\n\nstruct boardinfo {\n\tstruct list_head list;\n\tstruct spi_board_info board_info;\n};\n\nstruct boot_triggers {\n\tconst char *event;\n\tchar *trigger;\n};\n\nstruct iphdr {\n\t__u8 ihl: 4;\n\t__u8 version: 4;\n\t__u8 tos;\n\t__be16 tot_len;\n\t__be16 id;\n\t__be16 frag_off;\n\t__u8 ttl;\n\t__u8 protocol;\n\t__sum16 check;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t};\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t} addrs;\n\t};\n};\n\nstruct udphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be16 len;\n\t__sum16 check;\n};\n\nstruct bootp_pkt {\n\tstruct iphdr iph;\n\tstruct udphdr udph;\n\tu8 op;\n\tu8 htype;\n\tu8 hlen;\n\tu8 hops;\n\t__be32 xid;\n\t__be16 secs;\n\t__be16 flags;\n\t__be32 client_ip;\n\t__be32 your_ip;\n\t__be32 server_ip;\n\t__be32 relay_ip;\n\tu8 hw_addr[16];\n\tu8 serv_name[64];\n\tu8 boot_file[128];\n\tu8 exten[312];\n};\n\nunion bounce {\n\tu64 reg_u64[4];\n\tu32 reg_u32[8];\n\tu16 reg_u16[16];\n\tu8 reg_u8[32];\n};\n\nstruct bp_slots_histogram {\n\tatomic_t *count;\n};\n\nstruct bp_cpuinfo {\n\tunsigned int cpu_pinned;\n\tstruct bp_slots_histogram tsk_pinned;\n};\n\nstruct bpf_map_ops;\n\nstruct btf_record;\n\nstruct btf;\n\nstruct obj_cgroup;\n\nstruct btf_type;\n\nstruct bpf_map {\n\tconst struct bpf_map_ops *ops;\n\tstruct bpf_map *inner_map_meta;\n\tvoid *security;\n\tenum bpf_map_type map_type;\n\tu32 key_size;\n\tu32 value_size;\n\tu32 max_entries;\n\tu64 map_extra;\n\tu32 map_flags;\n\tu32 id;\n\tstruct btf_record *record;\n\tint numa_node;\n\tu32 btf_key_type_id;\n\tu32 btf_value_type_id;\n\tu32 btf_vmlinux_value_type_id;\n\tstruct btf *btf;\n\tstruct obj_cgroup *objcg;\n\tchar name[16];\n\tstruct mutex freeze_mutex;\n\tatomic64_t refcnt;\n\tatomic64_t usercnt;\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n\tatomic64_t writecnt;\n\tstruct {\n\t\tconst struct btf_type *attach_func_proto;\n\t\tspinlock_t lock;\n\t\tenum bpf_prog_type type;\n\t\tbool jited;\n\t\tbool xdp_has_frags;\n\t} owner;\n\tbool bypass_spec_v1;\n\tbool frozen;\n\tbool free_after_mult_rcu_gp;\n\tbool free_after_rcu_gp;\n\tatomic64_t sleepable_refcnt;\n\ts64 *elem_count;\n};\n\nstruct range_tree {\n\tstruct rb_root_cached it_root;\n\tstruct rb_root_cached range_size_root;\n};\n\nstruct vm_struct;\n\nstruct bpf_arena {\n\tstruct bpf_map map;\n\tu64 user_vm_start;\n\tu64 user_vm_end;\n\tstruct vm_struct *kern_vm;\n\tstruct range_tree rt;\n\tstruct list_head vma_list;\n\tstruct mutex lock;\n};\n\nstruct bpf_array_aux;\n\nstruct bpf_array {\n\tstruct bpf_map map;\n\tu32 elem_size;\n\tu32 index_mask;\n\tstruct bpf_array_aux *aux;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_value;\n\t\t\tchar value[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_ptrs;\n\t\t\tvoid *ptrs[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_pptrs;\n\t\t\tvoid *pptrs[0];\n\t\t};\n\t};\n};\n\nstruct bpf_array_aux {\n\tstruct list_head poke_progs;\n\tstruct bpf_map *map;\n\tstruct mutex poke_mutex;\n\tstruct work_struct work;\n};\n\nstruct bpf_prog;\n\nstruct bpf_async_cb {\n\tstruct bpf_map *map;\n\tstruct bpf_prog *prog;\n\tvoid *callback_fn;\n\tvoid *value;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct delete_work;\n\t};\n\tu64 flags;\n};\n\nstruct bpf_spin_lock {\n\t__u32 val;\n};\n\nstruct bpf_hrtimer;\n\nstruct bpf_work;\n\nstruct bpf_async_kern {\n\tunion {\n\t\tstruct bpf_async_cb *cb;\n\t\tstruct bpf_hrtimer *timer;\n\t\tstruct bpf_work *work;\n\t};\n\tstruct bpf_spin_lock lock;\n};\n\nstruct btf_func_model {\n\tu8 ret_size;\n\tu8 ret_flags;\n\tu8 nr_args;\n\tu8 arg_size[12];\n\tu8 arg_flags[12];\n};\n\nstruct bpf_attach_target_info {\n\tstruct btf_func_model fmodel;\n\tlong int tgt_addr;\n\tstruct module *tgt_mod;\n\tconst char *tgt_name;\n\tconst struct btf_type *tgt_type;\n};\n\nunion bpf_attr {\n\tstruct {\n\t\t__u32 map_type;\n\t\t__u32 key_size;\n\t\t__u32 value_size;\n\t\t__u32 max_entries;\n\t\t__u32 map_flags;\n\t\t__u32 inner_map_fd;\n\t\t__u32 numa_node;\n\t\tchar map_name[16];\n\t\t__u32 map_ifindex;\n\t\t__u32 btf_fd;\n\t\t__u32 btf_key_type_id;\n\t\t__u32 btf_value_type_id;\n\t\t__u32 btf_vmlinux_value_type_id;\n\t\t__u64 map_extra;\n\t\t__s32 value_type_btf_obj_fd;\n\t\t__s32 map_token_fd;\n\t};\n\tstruct {\n\t\t__u32 map_fd;\n\t\t__u64 key;\n\t\tunion {\n\t\t\t__u64 value;\n\t\t\t__u64 next_key;\n\t\t};\n\t\t__u64 flags;\n\t};\n\tstruct {\n\t\t__u64 in_batch;\n\t\t__u64 out_batch;\n\t\t__u64 keys;\n\t\t__u64 values;\n\t\t__u32 count;\n\t\t__u32 map_fd;\n\t\t__u64 elem_flags;\n\t\t__u64 flags;\n\t} batch;\n\tstruct {\n\t\t__u32 prog_type;\n\t\t__u32 insn_cnt;\n\t\t__u64 insns;\n\t\t__u64 license;\n\t\t__u32 log_level;\n\t\t__u32 log_size;\n\t\t__u64 log_buf;\n\t\t__u32 kern_version;\n\t\t__u32 prog_flags;\n\t\tchar prog_name[16];\n\t\t__u32 prog_ifindex;\n\t\t__u32 expected_attach_type;\n\t\t__u32 prog_btf_fd;\n\t\t__u32 func_info_rec_size;\n\t\t__u64 func_info;\n\t\t__u32 func_info_cnt;\n\t\t__u32 line_info_rec_size;\n\t\t__u64 line_info;\n\t\t__u32 line_info_cnt;\n\t\t__u32 attach_btf_id;\n\t\tunion {\n\t\t\t__u32 attach_prog_fd;\n\t\t\t__u32 attach_btf_obj_fd;\n\t\t};\n\t\t__u32 core_relo_cnt;\n\t\t__u64 fd_array;\n\t\t__u64 core_relos;\n\t\t__u32 core_relo_rec_size;\n\t\t__u32 log_true_size;\n\t\t__s32 prog_token_fd;\n\t\t__u32 fd_array_cnt;\n\t};\n\tstruct {\n\t\t__u64 pathname;\n\t\t__u32 bpf_fd;\n\t\t__u32 file_flags;\n\t\t__s32 path_fd;\n\t};\n\tstruct {\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_bpf_fd;\n\t\t__u32 attach_type;\n\t\t__u32 attach_flags;\n\t\t__u32 replace_bpf_fd;\n\t\tunion {\n\t\t\t__u32 relative_fd;\n\t\t\t__u32 relative_id;\n\t\t};\n\t\t__u64 expected_revision;\n\t};\n\tstruct {\n\t\t__u32 prog_fd;\n\t\t__u32 retval;\n\t\t__u32 data_size_in;\n\t\t__u32 data_size_out;\n\t\t__u64 data_in;\n\t\t__u64 data_out;\n\t\t__u32 repeat;\n\t\t__u32 duration;\n\t\t__u32 ctx_size_in;\n\t\t__u32 ctx_size_out;\n\t\t__u64 ctx_in;\n\t\t__u64 ctx_out;\n\t\t__u32 flags;\n\t\t__u32 cpu;\n\t\t__u32 batch_size;\n\t} test;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 start_id;\n\t\t\t__u32 prog_id;\n\t\t\t__u32 map_id;\n\t\t\t__u32 btf_id;\n\t\t\t__u32 link_id;\n\t\t};\n\t\t__u32 next_id;\n\t\t__u32 open_flags;\n\t};\n\tstruct {\n\t\t__u32 bpf_fd;\n\t\t__u32 info_len;\n\t\t__u64 info;\n\t} info;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_type;\n\t\t__u32 query_flags;\n\t\t__u32 attach_flags;\n\t\t__u64 prog_ids;\n\t\tunion {\n\t\t\t__u32 prog_cnt;\n\t\t\t__u32 count;\n\t\t};\n\t\t__u64 prog_attach_flags;\n\t\t__u64 link_ids;\n\t\t__u64 link_attach_flags;\n\t\t__u64 revision;\n\t} query;\n\tstruct {\n\t\t__u64 name;\n\t\t__u32 prog_fd;\n\t\t__u64 cookie;\n\t} raw_tracepoint;\n\tstruct {\n\t\t__u64 btf;\n\t\t__u64 btf_log_buf;\n\t\t__u32 btf_size;\n\t\t__u32 btf_log_size;\n\t\t__u32 btf_log_level;\n\t\t__u32 btf_log_true_size;\n\t\t__u32 btf_flags;\n\t\t__s32 btf_token_fd;\n\t};\n\tstruct {\n\t\t__u32 pid;\n\t\t__u32 fd;\n\t\t__u32 flags;\n\t\t__u32 buf_len;\n\t\t__u64 buf;\n\t\t__u32 prog_id;\n\t\t__u32 fd_type;\n\t\t__u64 probe_offset;\n\t\t__u64 probe_addr;\n\t} task_fd_query;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 prog_fd;\n\t\t\t__u32 map_fd;\n\t\t};\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_type;\n\t\t__u32 flags;\n\t\tunion {\n\t\t\t__u32 target_btf_id;\n\t\t\tstruct {\n\t\t\t\t__u64 iter_info;\n\t\t\t\t__u32 iter_info_len;\n\t\t\t};\n\t\t\tstruct {\n\t\t\t\t__u64 bpf_cookie;\n\t\t\t} perf_event;\n\t\t\tstruct {\n\t\t\t\t__u32 flags;\n\t\t\t\t__u32 cnt;\n\t\t\t\t__u64 syms;\n\t\t\t\t__u64 addrs;\n\t\t\t\t__u64 cookies;\n\t\t\t} kprobe_multi;\n\t\t\tstruct {\n\t\t\t\t__u32 target_btf_id;\n\t\t\t\t__u64 cookie;\n\t\t\t} tracing;\n\t\t\tstruct {\n\t\t\t\t__u32 pf;\n\t\t\t\t__u32 hooknum;\n\t\t\t\t__s32 priority;\n\t\t\t\t__u32 flags;\n\t\t\t} netfilter;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32 relative_fd;\n\t\t\t\t\t__u32 relative_id;\n\t\t\t\t};\n\t\t\t\t__u64 expected_revision;\n\t\t\t} tcx;\n\t\t\tstruct {\n\t\t\t\t__u64 path;\n\t\t\t\t__u64 offsets;\n\t\t\t\t__u64 ref_ctr_offsets;\n\t\t\t\t__u64 cookies;\n\t\t\t\t__u32 cnt;\n\t\t\t\t__u32 flags;\n\t\t\t\t__u32 pid;\n\t\t\t} uprobe_multi;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32 relative_fd;\n\t\t\t\t\t__u32 relative_id;\n\t\t\t\t};\n\t\t\t\t__u64 expected_revision;\n\t\t\t} netkit;\n\t\t};\n\t} link_create;\n\tstruct {\n\t\t__u32 link_fd;\n\t\tunion {\n\t\t\t__u32 new_prog_fd;\n\t\t\t__u32 new_map_fd;\n\t\t};\n\t\t__u32 flags;\n\t\tunion {\n\t\t\t__u32 old_prog_fd;\n\t\t\t__u32 old_map_fd;\n\t\t};\n\t} link_update;\n\tstruct {\n\t\t__u32 link_fd;\n\t} link_detach;\n\tstruct {\n\t\t__u32 type;\n\t} enable_stats;\n\tstruct {\n\t\t__u32 link_fd;\n\t\t__u32 flags;\n\t} iter_create;\n\tstruct {\n\t\t__u32 prog_fd;\n\t\t__u32 map_fd;\n\t\t__u32 flags;\n\t} prog_bind_map;\n\tstruct {\n\t\t__u32 flags;\n\t\t__u32 bpffs_fd;\n\t} token_create;\n};\n\nstruct bpf_binary_header {\n\tu32 size;\n\tlong: 0;\n\tu8 image[0];\n};\n\nstruct bpf_bloom_filter {\n\tstruct bpf_map map;\n\tu32 bitset_mask;\n\tu32 hash_seed;\n\tu32 nr_hash_funcs;\n\tlong unsigned int bitset[0];\n};\n\nstruct bpf_bprintf_buffers {\n\tchar bin_args[512];\n\tchar buf[1024];\n};\n\nstruct bpf_bprintf_data {\n\tu32 *bin_args;\n\tchar *buf;\n\tbool get_bin_args;\n\tbool get_buf;\n};\n\nstruct bpf_btf_info {\n\t__u64 btf;\n\t__u32 btf_size;\n\t__u32 id;\n\t__u64 name;\n\t__u32 name_len;\n\t__u32 kernel_btf;\n};\n\nstruct btf_field;\n\nstruct bpf_call_arg_meta {\n\tstruct bpf_map *map_ptr;\n\tbool raw_mode;\n\tbool pkt_access;\n\tu8 release_regno;\n\tint regno;\n\tint access_size;\n\tint mem_size;\n\tu64 msize_max_value;\n\tint ref_obj_id;\n\tint dynptr_id;\n\tint map_uid;\n\tint func_id;\n\tstruct btf *btf;\n\tu32 btf_id;\n\tstruct btf *ret_btf;\n\tu32 ret_btf_id;\n\tu32 subprogno;\n\tstruct btf_field *kptr_field;\n\ts64 const_map_key;\n};\n\nstruct bpf_cand_cache {\n\tconst char *name;\n\tu32 name_len;\n\tu16 kind;\n\tu16 cnt;\n\tstruct {\n\t\tconst struct btf *btf;\n\t\tu32 id;\n\t} cands[0];\n};\n\nstruct bpf_run_ctx {};\n\nstruct bpf_prog_array_item;\n\nstruct bpf_cg_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tconst struct bpf_prog_array_item *prog_item;\n\tint retval;\n};\n\nstruct bpf_cgroup_dev_ctx {\n\t__u32 access_type;\n\t__u32 major;\n\t__u32 minor;\n};\n\nstruct bpf_link_ops;\n\nstruct bpf_link {\n\tatomic64_t refcnt;\n\tu32 id;\n\tenum bpf_link_type type;\n\tconst struct bpf_link_ops *ops;\n\tstruct bpf_prog *prog;\n\tbool sleepable;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n};\n\nstruct bpf_cgroup_link {\n\tstruct bpf_link link;\n\tstruct cgroup *cgroup;\n\tenum bpf_attach_type type;\n};\n\nstruct bpf_cgroup_storage_key {\n\t__u64 cgroup_inode_id;\n\t__u32 attach_type;\n};\n\nstruct bpf_storage_buffer;\n\nstruct bpf_cgroup_storage_map;\n\nstruct bpf_cgroup_storage {\n\tunion {\n\t\tstruct bpf_storage_buffer *buf;\n\t\tvoid *percpu_buf;\n\t};\n\tstruct bpf_cgroup_storage_map *map;\n\tstruct bpf_cgroup_storage_key key;\n\tstruct list_head list_map;\n\tstruct list_head list_cg;\n\tstruct rb_node node;\n\tstruct callback_head rcu;\n};\n\nstruct bpf_cgroup_storage_map {\n\tstruct bpf_map map;\n\tspinlock_t lock;\n\tstruct rb_root root;\n\tstruct list_head list;\n};\n\nstruct bpf_lru_list {\n\tstruct list_head lists[3];\n\tunsigned int counts[2];\n\tstruct list_head *next_inactive_rotation;\n\traw_spinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_lru_locallist;\n\nstruct bpf_common_lru {\n\tstruct bpf_lru_list lru_list;\n\tstruct bpf_lru_locallist *local_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_core_accessor {\n\t__u32 type_id;\n\t__u32 idx;\n\tconst char *name;\n};\n\nstruct bpf_core_cand {\n\tconst struct btf *btf;\n\t__u32 id;\n};\n\nstruct bpf_core_cand_list {\n\tstruct bpf_core_cand *cands;\n\tint len;\n};\n\nstruct bpf_verifier_log;\n\nstruct bpf_core_ctx {\n\tstruct bpf_verifier_log *log;\n\tconst struct btf *btf;\n};\n\nstruct bpf_core_relo {\n\t__u32 insn_off;\n\t__u32 type_id;\n\t__u32 access_str_off;\n\tenum bpf_core_relo_kind kind;\n};\n\nstruct bpf_core_relo_res {\n\t__u64 orig_val;\n\t__u64 new_val;\n\tbool poison;\n\tbool validate;\n\tbool fail_memsz_adjust;\n\t__u32 orig_sz;\n\t__u32 orig_type_id;\n\t__u32 new_sz;\n\t__u32 new_type_id;\n};\n\nstruct bpf_core_spec {\n\tconst struct btf *btf;\n\tstruct bpf_core_accessor spec[64];\n\t__u32 root_type_id;\n\tenum bpf_core_relo_kind relo_kind;\n\tint len;\n\tint raw_spec[64];\n\tint raw_len;\n\t__u32 bit_offset;\n};\n\nstruct bpf_cpu_map_entry;\n\nstruct bpf_cpu_map {\n\tstruct bpf_map map;\n\tstruct bpf_cpu_map_entry **cpu_map;\n};\n\nstruct bpf_cpumap_val {\n\t__u32 qsize;\n\tunion {\n\t\tint fd;\n\t\t__u32 id;\n\t} bpf_prog;\n};\n\nstruct xdp_bulk_queue;\n\nstruct ptr_ring;\n\nstruct bpf_cpu_map_entry {\n\tu32 cpu;\n\tint map_id;\n\tstruct xdp_bulk_queue *bulkq;\n\tstruct ptr_ring *queue;\n\tstruct task_struct *kthread;\n\tstruct bpf_cpumap_val value;\n\tstruct bpf_prog *prog;\n\tstruct completion kthread_running;\n\tstruct rcu_work free_work;\n};\n\ntypedef struct cpumask cpumask_t;\n\nstruct bpf_cpumask {\n\tcpumask_t cpumask;\n\trefcount_t usage;\n};\n\nstruct bpf_crypto_type;\n\nstruct bpf_crypto_ctx {\n\tconst struct bpf_crypto_type *type;\n\tvoid *tfm;\n\tu32 siv_len;\n\tstruct callback_head rcu;\n\trefcount_t usage;\n};\n\nstruct bpf_crypto_params {\n\tchar type[14];\n\tu8 reserved[2];\n\tchar algo[128];\n\tu8 key[256];\n\tu32 key_len;\n\tu32 authsize;\n};\n\nstruct bpf_crypto_type {\n\tvoid * (*alloc_tfm)(const char *);\n\tvoid (*free_tfm)(void *);\n\tint (*has_algo)(const char *);\n\tint (*setkey)(void *, const u8 *, unsigned int);\n\tint (*setauthsize)(void *, unsigned int);\n\tint (*encrypt)(void *, const u8 *, u8 *, unsigned int, u8 *);\n\tint (*decrypt)(void *, const u8 *, u8 *, unsigned int, u8 *);\n\tunsigned int (*ivsize)(void *);\n\tunsigned int (*statesize)(void *);\n\tu32 (*get_flags)(void *);\n\tstruct module *owner;\n\tchar name[14];\n};\n\nstruct bpf_crypto_type_list {\n\tconst struct bpf_crypto_type *type;\n\tstruct list_head list;\n};\n\nstruct bpf_ctx_arg_aux {\n\tu32 offset;\n\tenum bpf_reg_type reg_type;\n\tstruct btf *btf;\n\tu32 btf_id;\n};\n\nstruct skb_ext;\n\nstruct sk_buff {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *next;\n\t\t\tstruct sk_buff *prev;\n\t\t\tunion {\n\t\t\t\tstruct net_device *dev;\n\t\t\t\tlong unsigned int dev_scratch;\n\t\t\t};\n\t\t};\n\t\tstruct rb_node rbnode;\n\t\tstruct list_head list;\n\t\tstruct llist_node ll_node;\n\t};\n\tstruct sock *sk;\n\tunion {\n\t\tktime_t tstamp;\n\t\tu64 skb_mstamp_ns;\n\t};\n\tchar cb[48];\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _skb_refdst;\n\t\t\tvoid (*destructor)(struct sk_buff *);\n\t\t};\n\t\tstruct list_head tcp_tsorted_anchor;\n\t\tlong unsigned int _sk_redir;\n\t};\n\tlong unsigned int _nfct;\n\tunsigned int len;\n\tunsigned int data_len;\n\t__u16 mac_len;\n\t__u16 hdr_len;\n\t__u16 queue_mapping;\n\t__u8 __cloned_offset[0];\n\t__u8 cloned: 1;\n\t__u8 nohdr: 1;\n\t__u8 fclone: 2;\n\t__u8 peeked: 1;\n\t__u8 head_frag: 1;\n\t__u8 pfmemalloc: 1;\n\t__u8 pp_recycle: 1;\n\t__u8 active_extensions;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 __pkt_type_offset[0];\n\t\t\t__u8 pkt_type: 3;\n\t\t\t__u8 ignore_df: 1;\n\t\t\t__u8 dst_pending_confirm: 1;\n\t\t\t__u8 ip_summed: 2;\n\t\t\t__u8 ooo_okay: 1;\n\t\t\t__u8 __mono_tc_offset[0];\n\t\t\t__u8 tstamp_type: 2;\n\t\t\t__u8 tc_at_ingress: 1;\n\t\t\t__u8 tc_skip_classify: 1;\n\t\t\t__u8 remcsum_offload: 1;\n\t\t\t__u8 csum_complete_sw: 1;\n\t\t\t__u8 csum_level: 2;\n\t\t\t__u8 inner_protocol_type: 1;\n\t\t\t__u8 l4_hash: 1;\n\t\t\t__u8 sw_hash: 1;\n\t\t\t__u8 wifi_acked_valid: 1;\n\t\t\t__u8 wifi_acked: 1;\n\t\t\t__u8 no_fcs: 1;\n\t\t\t__u8 encapsulation: 1;\n\t\t\t__u8 encap_hdr_csum: 1;\n\t\t\t__u8 csum_valid: 1;\n\t\t\t__u8 ndisc_nodetype: 2;\n\t\t\t__u8 ipvs_property: 1;\n\t\t\t__u8 nf_trace: 1;\n\t\t\t__u8 redirected: 1;\n\t\t\t__u8 from_ingress: 1;\n\t\t\t__u8 nf_skip_egress: 1;\n\t\t\t__u8 decrypted: 1;\n\t\t\t__u8 slow_gro: 1;\n\t\t\t__u8 csum_not_inet: 1;\n\t\t\t__u8 unreadable: 1;\n\t\t\t__u16 tc_index;\n\t\t\tu16 alloc_cpu;\n\t\t\tunion {\n\t\t\t\t__wsum csum;\n\t\t\t\tstruct {\n\t\t\t\t\t__u16 csum_start;\n\t\t\t\t\t__u16 csum_offset;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__u32 priority;\n\t\t\tint skb_iif;\n\t\t\t__u32 hash;\n\t\t\tunion {\n\t\t\t\tu32 vlan_all;\n\t\t\t\tstruct {\n\t\t\t\t\t__be16 vlan_proto;\n\t\t\t\t\t__u16 vlan_tci;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tunsigned int napi_id;\n\t\t\t\tunsigned int sender_cpu;\n\t\t\t};\n\t\t\t__u32 secmark;\n\t\t\tunion {\n\t\t\t\t__u32 mark;\n\t\t\t\t__u32 reserved_tailroom;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__be16 inner_protocol;\n\t\t\t\t__u8 inner_ipproto;\n\t\t\t};\n\t\t\t__u16 inner_transport_header;\n\t\t\t__u16 inner_network_header;\n\t\t\t__u16 inner_mac_header;\n\t\t\t__be16 protocol;\n\t\t\t__u16 transport_header;\n\t\t\t__u16 network_header;\n\t\t\t__u16 mac_header;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 __pkt_type_offset[0];\n\t\t\t__u8 pkt_type: 3;\n\t\t\t__u8 ignore_df: 1;\n\t\t\t__u8 dst_pending_confirm: 1;\n\t\t\t__u8 ip_summed: 2;\n\t\t\t__u8 ooo_okay: 1;\n\t\t\t__u8 __mono_tc_offset[0];\n\t\t\t__u8 tstamp_type: 2;\n\t\t\t__u8 tc_at_ingress: 1;\n\t\t\t__u8 tc_skip_classify: 1;\n\t\t\t__u8 remcsum_offload: 1;\n\t\t\t__u8 csum_complete_sw: 1;\n\t\t\t__u8 csum_level: 2;\n\t\t\t__u8 inner_protocol_type: 1;\n\t\t\t__u8 l4_hash: 1;\n\t\t\t__u8 sw_hash: 1;\n\t\t\t__u8 wifi_acked_valid: 1;\n\t\t\t__u8 wifi_acked: 1;\n\t\t\t__u8 no_fcs: 1;\n\t\t\t__u8 encapsulation: 1;\n\t\t\t__u8 encap_hdr_csum: 1;\n\t\t\t__u8 csum_valid: 1;\n\t\t\t__u8 ndisc_nodetype: 2;\n\t\t\t__u8 ipvs_property: 1;\n\t\t\t__u8 nf_trace: 1;\n\t\t\t__u8 redirected: 1;\n\t\t\t__u8 from_ingress: 1;\n\t\t\t__u8 nf_skip_egress: 1;\n\t\t\t__u8 decrypted: 1;\n\t\t\t__u8 slow_gro: 1;\n\t\t\t__u8 csum_not_inet: 1;\n\t\t\t__u8 unreadable: 1;\n\t\t\t__u16 tc_index;\n\t\t\tu16 alloc_cpu;\n\t\t\tunion {\n\t\t\t\t__wsum csum;\n\t\t\t\tstruct {\n\t\t\t\t\t__u16 csum_start;\n\t\t\t\t\t__u16 csum_offset;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__u32 priority;\n\t\t\tint skb_iif;\n\t\t\t__u32 hash;\n\t\t\tunion {\n\t\t\t\tu32 vlan_all;\n\t\t\t\tstruct {\n\t\t\t\t\t__be16 vlan_proto;\n\t\t\t\t\t__u16 vlan_tci;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tunsigned int napi_id;\n\t\t\t\tunsigned int sender_cpu;\n\t\t\t};\n\t\t\t__u32 secmark;\n\t\t\tunion {\n\t\t\t\t__u32 mark;\n\t\t\t\t__u32 reserved_tailroom;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__be16 inner_protocol;\n\t\t\t\t__u8 inner_ipproto;\n\t\t\t};\n\t\t\t__u16 inner_transport_header;\n\t\t\t__u16 inner_network_header;\n\t\t\t__u16 inner_mac_header;\n\t\t\t__be16 protocol;\n\t\t\t__u16 transport_header;\n\t\t\t__u16 network_header;\n\t\t\t__u16 mac_header;\n\t\t} headers;\n\t};\n\tsk_buff_data_t tail;\n\tsk_buff_data_t end;\n\tunsigned char *head;\n\tunsigned char *data;\n\tunsigned int truesize;\n\trefcount_t users;\n\tstruct skb_ext *extensions;\n};\n\nstruct xdp_md {\n\t__u32 data;\n\t__u32 data_end;\n\t__u32 data_meta;\n\t__u32 ingress_ifindex;\n\t__u32 rx_queue_index;\n\t__u32 egress_ifindex;\n};\n\nstruct xdp_rxq_info;\n\nstruct xdp_txq_info;\n\nstruct xdp_buff {\n\tvoid *data;\n\tvoid *data_end;\n\tvoid *data_meta;\n\tvoid *data_hard_start;\n\tstruct xdp_rxq_info *rxq;\n\tstruct xdp_txq_info *txq;\n\tu32 frame_sz;\n\tu32 flags;\n};\n\nstruct bpf_sock {\n\t__u32 bound_dev_if;\n\t__u32 family;\n\t__u32 type;\n\t__u32 protocol;\n\t__u32 mark;\n\t__u32 priority;\n\t__u32 src_ip4;\n\t__u32 src_ip6[4];\n\t__u32 src_port;\n\t__be16 dst_port;\n\t__u32 dst_ip4;\n\t__u32 dst_ip6[4];\n\t__u32 state;\n\t__s32 rx_queue_mapping;\n};\n\nstruct hlist_nulls_node {\n\tstruct hlist_nulls_node *next;\n\tstruct hlist_nulls_node **pprev;\n};\n\nstruct proto;\n\nstruct inet_timewait_death_row;\n\nstruct sock_common {\n\tunion {\n\t\t__addrpair skc_addrpair;\n\t\tstruct {\n\t\t\t__be32 skc_daddr;\n\t\t\t__be32 skc_rcv_saddr;\n\t\t};\n\t};\n\tunion {\n\t\tunsigned int skc_hash;\n\t\t__u16 skc_u16hashes[2];\n\t};\n\tunion {\n\t\t__portpair skc_portpair;\n\t\tstruct {\n\t\t\t__be16 skc_dport;\n\t\t\t__u16 skc_num;\n\t\t};\n\t};\n\tshort unsigned int skc_family;\n\tvolatile unsigned char skc_state;\n\tunsigned char skc_reuse: 4;\n\tunsigned char skc_reuseport: 1;\n\tunsigned char skc_ipv6only: 1;\n\tunsigned char skc_net_refcnt: 1;\n\tint skc_bound_dev_if;\n\tunion {\n\t\tstruct hlist_node skc_bind_node;\n\t\tstruct hlist_node skc_portaddr_node;\n\t};\n\tstruct proto *skc_prot;\n\tpossible_net_t skc_net;\n\tstruct in6_addr skc_v6_daddr;\n\tstruct in6_addr skc_v6_rcv_saddr;\n\tatomic64_t skc_cookie;\n\tunion {\n\t\tlong unsigned int skc_flags;\n\t\tstruct sock *skc_listener;\n\t\tstruct inet_timewait_death_row *skc_tw_dr;\n\t};\n\tint skc_dontcopy_begin[0];\n\tunion {\n\t\tstruct hlist_node skc_node;\n\t\tstruct hlist_nulls_node skc_nulls_node;\n\t};\n\tshort unsigned int skc_tx_queue_mapping;\n\tshort unsigned int skc_rx_queue_mapping;\n\tunion {\n\t\tint skc_incoming_cpu;\n\t\tu32 skc_rcv_wnd;\n\t\tu32 skc_tw_rcv_nxt;\n\t};\n\trefcount_t skc_refcnt;\n\tint skc_dontcopy_end[0];\n\tunion {\n\t\tu32 skc_rxhash;\n\t\tu32 skc_window_clamp;\n\t\tu32 skc_tw_snd_nxt;\n\t};\n};\n\nstruct page_frag {\n\tstruct page *page;\n\t__u32 offset;\n\t__u32 size;\n};\n\nstruct sock_cgroup_data {\n\tstruct cgroup *cgroup;\n\tu32 classid;\n\tu16 prioidx;\n};\n\nstruct dst_entry;\n\nstruct sk_filter;\n\nstruct socket_wq;\n\nstruct socket;\n\nstruct mem_cgroup;\n\nstruct xfrm_policy;\n\nstruct sock_reuseport;\n\nstruct bpf_local_storage;\n\nstruct sock {\n\tstruct sock_common __sk_common;\n\t__u8 __cacheline_group_begin__sock_write_rx[0];\n\tatomic_t sk_drops;\n\t__s32 sk_peek_off;\n\tstruct sk_buff_head sk_error_queue;\n\tstruct sk_buff_head sk_receive_queue;\n\tstruct {\n\t\tatomic_t rmem_alloc;\n\t\tint len;\n\t\tstruct sk_buff *head;\n\t\tstruct sk_buff *tail;\n\t} sk_backlog;\n\t__u8 __cacheline_group_end__sock_write_rx[0];\n\t__u8 __cacheline_group_begin__sock_read_rx[0];\n\tstruct dst_entry *sk_rx_dst;\n\tint sk_rx_dst_ifindex;\n\tu32 sk_rx_dst_cookie;\n\tunsigned int sk_ll_usec;\n\tunsigned int sk_napi_id;\n\tu16 sk_busy_poll_budget;\n\tu8 sk_prefer_busy_poll;\n\tu8 sk_userlocks;\n\tint sk_rcvbuf;\n\tstruct sk_filter *sk_filter;\n\tunion {\n\t\tstruct socket_wq *sk_wq;\n\t\tstruct socket_wq *sk_wq_raw;\n\t};\n\tvoid (*sk_data_ready)(struct sock *);\n\tlong int sk_rcvtimeo;\n\tint sk_rcvlowat;\n\t__u8 __cacheline_group_end__sock_read_rx[0];\n\t__u8 __cacheline_group_begin__sock_read_rxtx[0];\n\tint sk_err;\n\tstruct socket *sk_socket;\n\tstruct mem_cgroup *sk_memcg;\n\tstruct xfrm_policy *sk_policy[2];\n\t__u8 __cacheline_group_end__sock_read_rxtx[0];\n\t__u8 __cacheline_group_begin__sock_write_rxtx[0];\n\tsocket_lock_t sk_lock;\n\tu32 sk_reserved_mem;\n\tint sk_forward_alloc;\n\tu32 sk_tsflags;\n\t__u8 __cacheline_group_end__sock_write_rxtx[0];\n\t__u8 __cacheline_group_begin__sock_write_tx[0];\n\tint sk_write_pending;\n\tatomic_t sk_omem_alloc;\n\tint sk_sndbuf;\n\tint sk_wmem_queued;\n\trefcount_t sk_wmem_alloc;\n\tlong unsigned int sk_tsq_flags;\n\tunion {\n\t\tstruct sk_buff *sk_send_head;\n\t\tstruct rb_root tcp_rtx_queue;\n\t};\n\tstruct sk_buff_head sk_write_queue;\n\tu32 sk_dst_pending_confirm;\n\tu32 sk_pacing_status;\n\tstruct page_frag sk_frag;\n\tstruct timer_list sk_timer;\n\tlong unsigned int sk_pacing_rate;\n\tatomic_t sk_zckey;\n\tatomic_t sk_tskey;\n\t__u8 __cacheline_group_end__sock_write_tx[0];\n\t__u8 __cacheline_group_begin__sock_read_tx[0];\n\tlong unsigned int sk_max_pacing_rate;\n\tlong int sk_sndtimeo;\n\tu32 sk_priority;\n\tu32 sk_mark;\n\tstruct dst_entry *sk_dst_cache;\n\tnetdev_features_t sk_route_caps;\n\tstruct sk_buff * (*sk_validate_xmit_skb)(struct sock *, struct net_device *, struct sk_buff *);\n\tu16 sk_gso_type;\n\tu16 sk_gso_max_segs;\n\tunsigned int sk_gso_max_size;\n\tgfp_t sk_allocation;\n\tu32 sk_txhash;\n\tu8 sk_pacing_shift;\n\tbool sk_use_task_frag;\n\t__u8 __cacheline_group_end__sock_read_tx[0];\n\tu8 sk_gso_disabled: 1;\n\tu8 sk_kern_sock: 1;\n\tu8 sk_no_check_tx: 1;\n\tu8 sk_no_check_rx: 1;\n\tu8 sk_shutdown;\n\tu16 sk_type;\n\tu16 sk_protocol;\n\tlong unsigned int sk_lingertime;\n\tstruct proto *sk_prot_creator;\n\trwlock_t sk_callback_lock;\n\tint sk_err_soft;\n\tu32 sk_ack_backlog;\n\tu32 sk_max_ack_backlog;\n\tkuid_t sk_uid;\n\tspinlock_t sk_peer_lock;\n\tint sk_bind_phc;\n\tstruct pid *sk_peer_pid;\n\tconst struct cred *sk_peer_cred;\n\tktime_t sk_stamp;\n\tint sk_disconnects;\n\tu8 sk_txrehash;\n\tu8 sk_clockid;\n\tu8 sk_txtime_deadline_mode: 1;\n\tu8 sk_txtime_report_errors: 1;\n\tu8 sk_txtime_unused: 6;\n\tvoid *sk_user_data;\n\tvoid *sk_security;\n\tstruct sock_cgroup_data sk_cgrp_data;\n\tvoid (*sk_state_change)(struct sock *);\n\tvoid (*sk_write_space)(struct sock *);\n\tvoid (*sk_error_report)(struct sock *);\n\tint (*sk_backlog_rcv)(struct sock *, struct sk_buff *);\n\tvoid (*sk_destruct)(struct sock *);\n\tstruct sock_reuseport *sk_reuseport_cb;\n\tstruct bpf_local_storage *sk_bpf_storage;\n\tstruct callback_head sk_rcu;\n\tnetns_tracker ns_tracker;\n\tstruct xarray sk_user_frags;\n};\n\nstruct bpf_sock_addr {\n\t__u32 user_family;\n\t__u32 user_ip4;\n\t__u32 user_ip6[4];\n\t__u32 user_port;\n\t__u32 family;\n\t__u32 type;\n\t__u32 protocol;\n\t__u32 msg_src_ip4;\n\t__u32 msg_src_ip6[4];\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n};\n\nstruct bpf_sock_addr_kern {\n\tstruct sock *sk;\n\tstruct sockaddr *uaddr;\n\tu64 tmp_reg;\n\tvoid *t_ctx;\n\tu32 uaddrlen;\n};\n\nstruct bpf_sock_ops {\n\t__u32 op;\n\tunion {\n\t\t__u32 args[4];\n\t\t__u32 reply;\n\t\t__u32 replylong[4];\n\t};\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 is_fullsock;\n\t__u32 snd_cwnd;\n\t__u32 srtt_us;\n\t__u32 bpf_sock_ops_cb_flags;\n\t__u32 state;\n\t__u32 rtt_min;\n\t__u32 snd_ssthresh;\n\t__u32 rcv_nxt;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 mss_cache;\n\t__u32 ecn_flags;\n\t__u32 rate_delivered;\n\t__u32 rate_interval_us;\n\t__u32 packets_out;\n\t__u32 retrans_out;\n\t__u32 total_retrans;\n\t__u32 segs_in;\n\t__u32 data_segs_in;\n\t__u32 segs_out;\n\t__u32 data_segs_out;\n\t__u32 lost_out;\n\t__u32 sacked_out;\n\t__u32 sk_txhash;\n\t__u64 bytes_received;\n\t__u64 bytes_acked;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tvoid *skb_data;\n\t};\n\tunion {\n\t\tvoid *skb_data_end;\n\t};\n\t__u32 skb_len;\n\t__u32 skb_tcp_flags;\n\t__u64 skb_hwtstamp;\n};\n\nstruct bpf_sock_ops_kern {\n\tstruct sock *sk;\n\tunion {\n\t\tu32 args[4];\n\t\tu32 reply;\n\t\tu32 replylong[4];\n\t};\n\tstruct sk_buff *syn_skb;\n\tstruct sk_buff *skb;\n\tvoid *skb_data_end;\n\tu8 op;\n\tu8 is_fullsock;\n\tu8 remaining_opt_len;\n\tu64 temp;\n};\n\nstruct sk_msg_md {\n\tunion {\n\t\tvoid *data;\n\t};\n\tunion {\n\t\tvoid *data_end;\n\t};\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 size;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n};\n\nstruct sk_msg_sg {\n\tu32 start;\n\tu32 curr;\n\tu32 end;\n\tu32 size;\n\tu32 copybreak;\n\tlong unsigned int copy[1];\n\tstruct scatterlist data[19];\n};\n\nstruct sk_msg {\n\tstruct sk_msg_sg sg;\n\tvoid *data;\n\tvoid *data_end;\n\tu32 apply_bytes;\n\tu32 cork_bytes;\n\tu32 flags;\n\tstruct sk_buff *skb;\n\tstruct sock *sk_redir;\n\tstruct sock *sk;\n\tstruct list_head list;\n};\n\nstruct bpf_flow_dissector {\n\tstruct bpf_flow_keys *flow_keys;\n\tconst struct sk_buff *skb;\n\tconst void *data;\n\tconst void *data_end;\n};\n\nstruct user_pt_regs {\n\tlong unsigned int regs[32];\n\tlong unsigned int orig_a0;\n\tlong unsigned int csr_era;\n\tlong unsigned int csr_badv;\n\tlong unsigned int reserved[10];\n};\n\ntypedef struct user_pt_regs bpf_user_pt_regs_t;\n\nstruct pt_regs {\n\tlong unsigned int regs[32];\n\tlong unsigned int orig_a0;\n\tlong unsigned int csr_era;\n\tlong unsigned int csr_badvaddr;\n\tlong unsigned int csr_crmd;\n\tlong unsigned int csr_prmd;\n\tlong unsigned int csr_euen;\n\tlong unsigned int csr_ecfg;\n\tlong unsigned int csr_estat;\n\tlong unsigned int __last[0];\n};\n\nstruct bpf_perf_event_data {\n\tbpf_user_pt_regs_t regs;\n\t__u64 sample_period;\n\t__u64 addr;\n};\n\nstruct perf_sample_data;\n\nstruct perf_event;\n\nstruct bpf_perf_event_data_kern {\n\tbpf_user_pt_regs_t *regs;\n\tstruct perf_sample_data *data;\n\tstruct perf_event *event;\n};\n\nstruct bpf_raw_tracepoint_args {\n\t__u64 args[0];\n};\n\nstruct bpf_sysctl {\n\t__u32 write;\n\t__u32 file_pos;\n};\n\nstruct ctl_table_header;\n\nstruct ctl_table;\n\nstruct bpf_sysctl_kern {\n\tstruct ctl_table_header *head;\n\tconst struct ctl_table *table;\n\tvoid *cur_val;\n\tsize_t cur_len;\n\tvoid *new_val;\n\tsize_t new_len;\n\tint new_updated;\n\tint write;\n\tloff_t *ppos;\n\tu64 tmp_reg;\n};\n\nstruct bpf_sockopt {\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tvoid *optval;\n\t};\n\tunion {\n\t\tvoid *optval_end;\n\t};\n\t__s32 level;\n\t__s32 optname;\n\t__s32 optlen;\n\t__s32 retval;\n};\n\nstruct bpf_sockopt_kern {\n\tstruct sock *sk;\n\tu8 *optval;\n\tu8 *optval_end;\n\ts32 level;\n\ts32 optname;\n\ts32 optlen;\n\tstruct task_struct *current_task;\n\tu64 tmp_reg;\n};\n\nstruct sk_reuseport_md {\n\tunion {\n\t\tvoid *data;\n\t};\n\tunion {\n\t\tvoid *data_end;\n\t};\n\t__u32 len;\n\t__u32 eth_protocol;\n\t__u32 ip_protocol;\n\t__u32 bind_inany;\n\t__u32 hash;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tstruct bpf_sock *migrating_sk;\n\t};\n};\n\nstruct sk_reuseport_kern {\n\tstruct sk_buff *skb;\n\tstruct sock *sk;\n\tstruct sock *selected_sk;\n\tstruct sock *migrating_sk;\n\tvoid *data_end;\n\tu32 hash;\n\tu32 reuseport_id;\n\tbool bind_inany;\n};\n\nstruct bpf_sk_lookup {\n\tunion {\n\t\tunion {\n\t\t\tstruct bpf_sock *sk;\n\t\t};\n\t\t__u64 cookie;\n\t};\n\t__u32 family;\n\t__u32 protocol;\n\t__u32 remote_ip4;\n\t__u32 remote_ip6[4];\n\t__be16 remote_port;\n\t__u32 local_ip4;\n\t__u32 local_ip6[4];\n\t__u32 local_port;\n\t__u32 ingress_ifindex;\n};\n\nstruct bpf_sk_lookup_kern {\n\tu16 family;\n\tu16 protocol;\n\t__be16 sport;\n\tu16 dport;\n\tstruct {\n\t\t__be32 saddr;\n\t\t__be32 daddr;\n\t} v4;\n\tstruct {\n\t\tconst struct in6_addr *saddr;\n\t\tconst struct in6_addr *daddr;\n\t} v6;\n\tstruct sock *selected_sk;\n\tu32 ingress_ifindex;\n\tbool no_reuseport;\n};\n\nstruct nf_hook_state;\n\nstruct bpf_nf_ctx {\n\tconst struct nf_hook_state *state;\n\tstruct sk_buff *skb;\n};\n\nstruct bpf_ctx_convert {\n\tstruct __sk_buff BPF_PROG_TYPE_SOCKET_FILTER_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SOCKET_FILTER_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SCHED_CLS_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SCHED_CLS_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SCHED_ACT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SCHED_ACT_kern;\n\tstruct xdp_md BPF_PROG_TYPE_XDP_prog;\n\tstruct xdp_buff BPF_PROG_TYPE_XDP_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_CGROUP_SKB_prog;\n\tstruct sk_buff BPF_PROG_TYPE_CGROUP_SKB_kern;\n\tstruct bpf_sock BPF_PROG_TYPE_CGROUP_SOCK_prog;\n\tstruct sock BPF_PROG_TYPE_CGROUP_SOCK_kern;\n\tstruct bpf_sock_addr BPF_PROG_TYPE_CGROUP_SOCK_ADDR_prog;\n\tstruct bpf_sock_addr_kern BPF_PROG_TYPE_CGROUP_SOCK_ADDR_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_IN_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_IN_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_OUT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_OUT_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_XMIT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_XMIT_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_kern;\n\tstruct bpf_sock_ops BPF_PROG_TYPE_SOCK_OPS_prog;\n\tstruct bpf_sock_ops_kern BPF_PROG_TYPE_SOCK_OPS_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SK_SKB_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SK_SKB_kern;\n\tstruct sk_msg_md BPF_PROG_TYPE_SK_MSG_prog;\n\tstruct sk_msg BPF_PROG_TYPE_SK_MSG_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_FLOW_DISSECTOR_prog;\n\tstruct bpf_flow_dissector BPF_PROG_TYPE_FLOW_DISSECTOR_kern;\n\tbpf_user_pt_regs_t BPF_PROG_TYPE_KPROBE_prog;\n\tstruct pt_regs BPF_PROG_TYPE_KPROBE_kern;\n\t__u64 BPF_PROG_TYPE_TRACEPOINT_prog;\n\tu64 BPF_PROG_TYPE_TRACEPOINT_kern;\n\tstruct bpf_perf_event_data BPF_PROG_TYPE_PERF_EVENT_prog;\n\tstruct bpf_perf_event_data_kern BPF_PROG_TYPE_PERF_EVENT_kern;\n\tstruct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_prog;\n\tu64 BPF_PROG_TYPE_RAW_TRACEPOINT_kern;\n\tstruct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_prog;\n\tu64 BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_kern;\n\tvoid *BPF_PROG_TYPE_TRACING_prog;\n\tvoid *BPF_PROG_TYPE_TRACING_kern;\n\tstruct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_prog;\n\tstruct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_kern;\n\tstruct bpf_sysctl BPF_PROG_TYPE_CGROUP_SYSCTL_prog;\n\tstruct bpf_sysctl_kern BPF_PROG_TYPE_CGROUP_SYSCTL_kern;\n\tstruct bpf_sockopt BPF_PROG_TYPE_CGROUP_SOCKOPT_prog;\n\tstruct bpf_sockopt_kern BPF_PROG_TYPE_CGROUP_SOCKOPT_kern;\n\tstruct sk_reuseport_md BPF_PROG_TYPE_SK_REUSEPORT_prog;\n\tstruct sk_reuseport_kern BPF_PROG_TYPE_SK_REUSEPORT_kern;\n\tstruct bpf_sk_lookup BPF_PROG_TYPE_SK_LOOKUP_prog;\n\tstruct bpf_sk_lookup_kern BPF_PROG_TYPE_SK_LOOKUP_kern;\n\tvoid *BPF_PROG_TYPE_STRUCT_OPS_prog;\n\tvoid *BPF_PROG_TYPE_STRUCT_OPS_kern;\n\tvoid *BPF_PROG_TYPE_EXT_prog;\n\tvoid *BPF_PROG_TYPE_EXT_kern;\n\tvoid *BPF_PROG_TYPE_SYSCALL_prog;\n\tvoid *BPF_PROG_TYPE_SYSCALL_kern;\n\tstruct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_prog;\n\tstruct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_kern;\n};\n\nstruct bpf_devmap_val {\n\t__u32 ifindex;\n\tunion {\n\t\tint fd;\n\t\t__u32 id;\n\t} bpf_prog;\n};\n\nstruct bpf_dispatcher_prog {\n\tstruct bpf_prog *prog;\n\trefcount_t users;\n};\n\nstruct latch_tree_node {\n\tstruct rb_node node[2];\n};\n\nstruct bpf_ksym {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar name[512];\n\tstruct list_head lnode;\n\tstruct latch_tree_node tnode;\n\tbool prog;\n};\n\nstruct bpf_dispatcher {\n\tstruct mutex mutex;\n\tvoid *func;\n\tstruct bpf_dispatcher_prog progs[48];\n\tint num_progs;\n\tvoid *image;\n\tvoid *rw_image;\n\tu32 image_off;\n\tstruct bpf_ksym ksym;\n};\n\nstruct bpf_dtab_netdev;\n\nstruct bpf_dtab {\n\tstruct bpf_map map;\n\tstruct bpf_dtab_netdev **netdev_map;\n\tstruct list_head list;\n\tstruct hlist_head *dev_index_head;\n\tspinlock_t index_lock;\n\tunsigned int items;\n\tu32 n_buckets;\n};\n\nstruct bpf_dtab_netdev {\n\tstruct net_device *dev;\n\tstruct hlist_node index_hlist;\n\tstruct bpf_prog *xdp_prog;\n\tstruct callback_head rcu;\n\tunsigned int idx;\n\tstruct bpf_devmap_val val;\n};\n\nstruct bpf_dummy_ops_state;\n\nstruct bpf_dummy_ops {\n\tint (*test_1)(struct bpf_dummy_ops_state *);\n\tint (*test_2)(struct bpf_dummy_ops_state *, int, short unsigned int, char, long unsigned int);\n\tint (*test_sleepable)(struct bpf_dummy_ops_state *);\n};\n\nstruct bpf_dummy_ops_state {\n\tint val;\n};\n\nstruct bpf_dummy_ops_test_args {\n\tu64 args[12];\n\tstruct bpf_dummy_ops_state state;\n};\n\nstruct bpf_dynptr {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_dynptr_kern {\n\tvoid *data;\n\tu32 size;\n\tu32 offset;\n};\n\nstruct bpf_prog_array_item {\n\tstruct bpf_prog *prog;\n\tunion {\n\t\tstruct bpf_cgroup_storage *cgroup_storage[2];\n\t\tu64 bpf_cookie;\n\t};\n};\n\nstruct bpf_prog_array {\n\tstruct callback_head rcu;\n\tstruct bpf_prog_array_item items[0];\n};\n\nstruct bpf_empty_prog_array {\n\tstruct bpf_prog_array hdr;\n\tstruct bpf_prog *null_prog;\n};\n\nstruct bpf_event_entry {\n\tstruct perf_event *event;\n\tstruct file *perf_file;\n\tstruct file *map_file;\n\tstruct callback_head rcu;\n};\n\nstruct bpf_fentry_test_t {\n\tstruct bpf_fentry_test_t *a;\n};\n\nstruct bpf_fib_lookup {\n\t__u8 family;\n\t__u8 l4_protocol;\n\t__be16 sport;\n\t__be16 dport;\n\tunion {\n\t\t__u16 tot_len;\n\t\t__u16 mtu_result;\n\t};\n\t__u32 ifindex;\n\tunion {\n\t\t__u8 tos;\n\t\t__be32 flowinfo;\n\t\t__u32 rt_metric;\n\t};\n\tunion {\n\t\t__be32 ipv4_src;\n\t\t__u32 ipv6_src[4];\n\t};\n\tunion {\n\t\t__be32 ipv4_dst;\n\t\t__u32 ipv6_dst[4];\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__be16 h_vlan_proto;\n\t\t\t__be16 h_vlan_TCI;\n\t\t};\n\t\t__u32 tbid;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__u32 mark;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 smac[6];\n\t\t\t__u8 dmac[6];\n\t\t};\n\t};\n};\n\nstruct bpf_flow_keys {\n\t__u16 nhoff;\n\t__u16 thoff;\n\t__u16 addr_proto;\n\t__u8 is_frag;\n\t__u8 is_first_frag;\n\t__u8 is_encap;\n\t__u8 ip_proto;\n\t__be16 n_proto;\n\t__be16 sport;\n\t__be16 dport;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 ipv4_src;\n\t\t\t__be32 ipv4_dst;\n\t\t};\n\t\tstruct {\n\t\t\t__u32 ipv6_src[4];\n\t\t\t__u32 ipv6_dst[4];\n\t\t};\n\t};\n\t__u32 flags;\n\t__be32 flow_label;\n};\n\nstruct bpf_func_info {\n\t__u32 insn_off;\n\t__u32 type_id;\n};\n\nstruct bpf_func_info_aux {\n\tu16 linkage;\n\tbool unreliable;\n\tbool called: 1;\n\tbool verified: 1;\n};\n\nstruct bpf_func_proto {\n\tu64 (*func)(u64, u64, u64, u64, u64);\n\tbool gpl_only;\n\tbool pkt_access;\n\tbool might_sleep;\n\tbool allow_fastcall;\n\tenum bpf_return_type ret_type;\n\tunion {\n\t\tstruct {\n\t\t\tenum bpf_arg_type arg1_type;\n\t\t\tenum bpf_arg_type arg2_type;\n\t\t\tenum bpf_arg_type arg3_type;\n\t\t\tenum bpf_arg_type arg4_type;\n\t\t\tenum bpf_arg_type arg5_type;\n\t\t};\n\t\tenum bpf_arg_type arg_type[5];\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu32 *arg1_btf_id;\n\t\t\tu32 *arg2_btf_id;\n\t\t\tu32 *arg3_btf_id;\n\t\t\tu32 *arg4_btf_id;\n\t\t\tu32 *arg5_btf_id;\n\t\t};\n\t\tu32 *arg_btf_id[5];\n\t\tstruct {\n\t\t\tsize_t arg1_size;\n\t\t\tsize_t arg2_size;\n\t\t\tsize_t arg3_size;\n\t\t\tsize_t arg4_size;\n\t\t\tsize_t arg5_size;\n\t\t};\n\t\tsize_t arg_size[5];\n\t};\n\tint *ret_btf_id;\n\tbool (*allowed)(const struct bpf_prog *);\n};\n\nstruct tnum {\n\tu64 value;\n\tu64 mask;\n};\n\nstruct bpf_reg_state {\n\tenum bpf_reg_type type;\n\ts32 off;\n\tunion {\n\t\tint range;\n\t\tstruct {\n\t\t\tstruct bpf_map *map_ptr;\n\t\t\tu32 map_uid;\n\t\t};\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t};\n\t\tstruct {\n\t\t\tu32 mem_size;\n\t\t\tu32 dynptr_id;\n\t\t};\n\t\tstruct {\n\t\t\tenum bpf_dynptr_type type;\n\t\t\tbool first_slot;\n\t\t} dynptr;\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t\tenum bpf_iter_state state: 2;\n\t\t\tint depth: 30;\n\t\t} iter;\n\t\tstruct {\n\t\t\tlong unsigned int raw1;\n\t\t\tlong unsigned int raw2;\n\t\t} raw;\n\t\tu32 subprogno;\n\t};\n\tstruct tnum var_off;\n\ts64 smin_value;\n\ts64 smax_value;\n\tu64 umin_value;\n\tu64 umax_value;\n\ts32 s32_min_value;\n\ts32 s32_max_value;\n\tu32 u32_min_value;\n\tu32 u32_max_value;\n\tu32 id;\n\tu32 ref_obj_id;\n\tstruct bpf_reg_state *parent;\n\tu32 frameno;\n\ts32 subreg_def;\n\tenum bpf_reg_liveness live;\n\tbool precise;\n};\n\nstruct bpf_retval_range {\n\ts32 minval;\n\ts32 maxval;\n};\n\nstruct bpf_stack_state;\n\nstruct bpf_func_state {\n\tstruct bpf_reg_state regs[11];\n\tint callsite;\n\tu32 frameno;\n\tu32 subprogno;\n\tu32 async_entry_cnt;\n\tstruct bpf_retval_range callback_ret_range;\n\tbool in_callback_fn;\n\tbool in_async_callback_fn;\n\tbool in_exception_callback_fn;\n\tu32 callback_depth;\n\tstruct bpf_stack_state *stack;\n\tint allocated_stack;\n};\n\nstruct bpf_hrtimer {\n\tstruct bpf_async_cb cb;\n\tstruct hrtimer timer;\n\tatomic_t cancelling;\n};\n\nstruct bpf_mem_caches;\n\nstruct bpf_mem_cache;\n\nstruct bpf_mem_alloc {\n\tstruct bpf_mem_caches *caches;\n\tstruct bpf_mem_cache *cache;\n\tstruct obj_cgroup *objcg;\n\tbool percpu;\n\tstruct work_struct work;\n};\n\nstruct pcpu_freelist_node;\n\nstruct pcpu_freelist_head {\n\tstruct pcpu_freelist_node *first;\n\traw_spinlock_t lock;\n};\n\nstruct pcpu_freelist {\n\tstruct pcpu_freelist_head *freelist;\n\tstruct pcpu_freelist_head extralist;\n};\n\nstruct bpf_lru_node;\n\ntypedef bool (*del_from_htab_func)(void *, struct bpf_lru_node *);\n\nstruct bpf_lru {\n\tunion {\n\t\tstruct bpf_common_lru common_lru;\n\t\tstruct bpf_lru_list *percpu_lru;\n\t};\n\tdel_from_htab_func del_from_htab;\n\tvoid *del_arg;\n\tunsigned int hash_offset;\n\tunsigned int nr_scans;\n\tbool percpu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bucket;\n\nstruct htab_elem;\n\nstruct bpf_htab {\n\tstruct bpf_map map;\n\tstruct bpf_mem_alloc ma;\n\tstruct bpf_mem_alloc pcpu_ma;\n\tstruct bucket *buckets;\n\tvoid *elems;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunion {\n\t\tstruct pcpu_freelist freelist;\n\t\tstruct bpf_lru lru;\n\t};\n\tstruct htab_elem **extra_elems;\n\tstruct percpu_counter pcount;\n\tatomic_t count;\n\tbool use_percpu_counter;\n\tu32 n_buckets;\n\tu32 elem_size;\n\tu32 hashrnd;\n\tstruct lock_class_key lockdep_key;\n\tint *map_locked[8];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_id_pair {\n\tu32 old;\n\tu32 cur;\n};\n\nstruct bpf_idmap {\n\tu32 tmp_id_gen;\n\tstruct bpf_id_pair map[600];\n};\n\nstruct bpf_idset {\n\tu32 count;\n\tu32 ids[600];\n};\n\nstruct bpf_insn {\n\t__u8 code;\n\t__u8 dst_reg: 4;\n\t__u8 src_reg: 4;\n\t__s16 off;\n\t__s32 imm;\n};\n\nstruct bpf_insn_access_aux {\n\tenum bpf_reg_type reg_type;\n\tbool is_ldsx;\n\tunion {\n\t\tint ctx_field_size;\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t};\n\t};\n\tstruct bpf_verifier_log *log;\n\tbool is_retval;\n};\n\nstruct bpf_map_ptr_state {\n\tstruct bpf_map *map_ptr;\n\tbool poison;\n\tbool unpriv;\n};\n\nstruct bpf_loop_inline_state {\n\tunsigned int initialized: 1;\n\tunsigned int fit_for_inline: 1;\n\tu32 callback_subprogno;\n};\n\nstruct btf_struct_meta;\n\nstruct bpf_insn_aux_data {\n\tunion {\n\t\tenum bpf_reg_type ptr_type;\n\t\tstruct bpf_map_ptr_state map_ptr_state;\n\t\ts32 call_imm;\n\t\tu32 alu_limit;\n\t\tstruct {\n\t\t\tu32 map_index;\n\t\t\tu32 map_off;\n\t\t};\n\t\tstruct {\n\t\t\tenum bpf_reg_type reg_type;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tstruct btf *btf;\n\t\t\t\t\tu32 btf_id;\n\t\t\t\t};\n\t\t\t\tu32 mem_size;\n\t\t\t};\n\t\t} btf_var;\n\t\tstruct bpf_loop_inline_state loop_inline_state;\n\t};\n\tunion {\n\t\tu64 obj_new_size;\n\t\tu64 insert_off;\n\t};\n\tstruct btf_struct_meta *kptr_struct_meta;\n\tu64 map_key_state;\n\tint ctx_field_size;\n\tu32 seen;\n\tbool sanitize_stack_spill;\n\tbool zext_dst;\n\tbool needs_zext;\n\tbool storage_get_func_atomic;\n\tbool is_iter_next;\n\tbool call_with_percpu_alloc_ptr;\n\tu8 alu_state;\n\tu8 fastcall_pattern: 1;\n\tu8 fastcall_spills_num: 3;\n\tunsigned int orig_idx;\n\tbool jmp_point;\n\tbool prune_point;\n\tbool force_checkpoint;\n\tbool calls_callback;\n};\n\ntypedef void (*bpf_insn_print_t)(void *, const char *, ...);\n\ntypedef const char * (*bpf_insn_revmap_call_t)(void *, const struct bpf_insn *);\n\ntypedef const char * (*bpf_insn_print_imm_t)(void *, const struct bpf_insn *, __u64);\n\nstruct bpf_insn_cbs {\n\tbpf_insn_print_t cb_print;\n\tbpf_insn_revmap_call_t cb_call;\n\tbpf_insn_print_imm_t cb_imm;\n\tvoid *private_data;\n};\n\nstruct bpf_insn_hist_entry {\n\tu32 idx;\n\tu32 prev_idx: 22;\n\tu32 flags: 10;\n\tu64 linked_regs;\n};\n\nstruct bpf_iter_meta;\n\nstruct bpf_iter__bpf_link {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_link *link;\n\t};\n};\n\nstruct bpf_iter__bpf_map {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n};\n\nstruct bpf_iter__bpf_map_elem {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tvoid *key;\n\t};\n\tunion {\n\t\tvoid *value;\n\t};\n};\n\nstruct bpf_iter__bpf_prog {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_prog *prog;\n\t};\n};\n\nstruct bpf_iter__bpf_sk_storage_map {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tstruct sock *sk;\n\t};\n\tunion {\n\t\tvoid *value;\n\t};\n};\n\nstruct bpf_iter__cgroup {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct cgroup *cgroup;\n\t};\n};\n\nstruct fib6_info;\n\nstruct bpf_iter__ipv6_route {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct fib6_info *rt;\n\t};\n};\n\nstruct bpf_iter__kmem_cache {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct kmem_cache *s;\n\t};\n};\n\nstruct kallsym_iter;\n\nstruct bpf_iter__ksym {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct kallsym_iter *ksym;\n\t};\n};\n\nstruct netlink_sock;\n\nstruct bpf_iter__netlink {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct netlink_sock *sk;\n\t};\n};\n\nstruct bpf_iter__sockmap {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tvoid *key;\n\t};\n\tunion {\n\t\tstruct sock *sk;\n\t};\n};\n\nstruct bpf_iter__task {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n};\n\nstruct bpf_iter__task__safe_trusted {\n\tstruct bpf_iter_meta *meta;\n\tstruct task_struct *task;\n};\n\nstruct bpf_iter__task_file {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n\tu32 fd;\n\tunion {\n\t\tstruct file *file;\n\t};\n};\n\nstruct bpf_iter__task_vma {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n\tunion {\n\t\tstruct vm_area_struct *vma;\n\t};\n};\n\nstruct bpf_iter__tcp {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct sock_common *sk_common;\n\t};\n\tuid_t uid;\n};\n\nstruct udp_sock;\n\nstruct bpf_iter__udp {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct udp_sock *udp_sk;\n\t};\n\tuid_t uid;\n\tlong: 0;\n\tint bucket;\n};\n\nstruct unix_sock;\n\nstruct bpf_iter__unix {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct unix_sock *unix_sk;\n\t};\n\tuid_t uid;\n};\n\nstruct bpf_iter_aux_info {\n\tstruct bpf_map *map;\n\tstruct {\n\t\tstruct cgroup *start;\n\t\tenum bpf_cgroup_iter_order order;\n\t} cgroup;\n\tstruct {\n\t\tenum bpf_iter_task_type type;\n\t\tu32 pid;\n\t} task;\n};\n\nstruct bpf_iter_bits {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_iter_bits_kern {\n\tunion {\n\t\t__u64 *bits;\n\t\t__u64 bits_copy;\n\t};\n\tint nr_bits;\n\tint bit;\n};\n\nstruct bpf_iter_css {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_iter_css_kern {\n\tstruct cgroup_subsys_state *start;\n\tstruct cgroup_subsys_state *pos;\n\tunsigned int flags;\n};\n\nstruct bpf_iter_css_task {\n\t__u64 __opaque[1];\n};\n\nstruct css_task_iter;\n\nstruct bpf_iter_css_task_kern {\n\tstruct css_task_iter *css_it;\n};\n\nstruct bpf_iter_kmem_cache {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_kmem_cache_kern {\n\tstruct kmem_cache *pos;\n};\n\nstruct bpf_iter_target_info;\n\nstruct bpf_iter_link {\n\tstruct bpf_link link;\n\tstruct bpf_iter_aux_info aux;\n\tstruct bpf_iter_target_info *tinfo;\n};\n\nunion bpf_iter_link_info {\n\tstruct {\n\t\t__u32 map_fd;\n\t} map;\n\tstruct {\n\t\tenum bpf_cgroup_iter_order order;\n\t\t__u32 cgroup_fd;\n\t\t__u64 cgroup_id;\n\t} cgroup;\n\tstruct {\n\t\t__u32 tid;\n\t\t__u32 pid;\n\t\t__u32 pid_fd;\n\t} task;\n};\n\nstruct bpf_iter_meta {\n\tunion {\n\t\tstruct seq_file *seq;\n\t};\n\tu64 session_id;\n\tu64 seq_num;\n};\n\nstruct bpf_iter_meta__safe_trusted {\n\tstruct seq_file *seq;\n};\n\nstruct bpf_iter_num {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_num_kern {\n\tint cur;\n\tint end;\n};\n\nstruct bpf_iter_seq_info;\n\nstruct bpf_iter_priv_data {\n\tstruct bpf_iter_target_info *tinfo;\n\tconst struct bpf_iter_seq_info *seq_info;\n\tstruct bpf_prog *prog;\n\tu64 session_id;\n\tu64 seq_num;\n\tbool done_stop;\n\tlong: 0;\n\tu8 target_private[0];\n};\n\ntypedef int (*bpf_iter_attach_target_t)(struct bpf_prog *, union bpf_iter_link_info *, struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_detach_target_t)(struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_show_fdinfo_t)(const struct bpf_iter_aux_info *, struct seq_file *);\n\nstruct bpf_link_info;\n\ntypedef int (*bpf_iter_fill_link_info_t)(const struct bpf_iter_aux_info *, struct bpf_link_info *);\n\ntypedef const struct bpf_func_proto * (*bpf_iter_get_func_proto_t)(enum bpf_func_id, const struct bpf_prog *);\n\nstruct bpf_iter_reg {\n\tconst char *target;\n\tbpf_iter_attach_target_t attach_target;\n\tbpf_iter_detach_target_t detach_target;\n\tbpf_iter_show_fdinfo_t show_fdinfo;\n\tbpf_iter_fill_link_info_t fill_link_info;\n\tbpf_iter_get_func_proto_t get_func_proto;\n\tu32 ctx_arg_info_size;\n\tu32 feature;\n\tstruct bpf_ctx_arg_aux ctx_arg_info[2];\n\tconst struct bpf_iter_seq_info *seq_info;\n};\n\nstruct bpf_iter_seq_array_map_info {\n\tstruct bpf_map *map;\n\tvoid *percpu_value_buf;\n\tu32 index;\n};\n\nstruct bpf_iter_seq_hash_map_info {\n\tstruct bpf_map *map;\n\tstruct bpf_htab *htab;\n\tvoid *percpu_value_buf;\n\tu32 bucket_id;\n\tu32 skip_elems;\n};\n\ntypedef int (*bpf_iter_init_seq_priv_t)(void *, struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_fini_seq_priv_t)(void *);\n\nstruct bpf_iter_seq_info {\n\tconst struct seq_operations *seq_ops;\n\tbpf_iter_init_seq_priv_t init_seq_private;\n\tbpf_iter_fini_seq_priv_t fini_seq_private;\n\tu32 seq_priv_size;\n};\n\nstruct bpf_iter_seq_link_info {\n\tu32 link_id;\n};\n\nstruct bpf_iter_seq_map_info {\n\tu32 map_id;\n};\n\nstruct bpf_iter_seq_prog_info {\n\tu32 prog_id;\n};\n\nstruct bpf_iter_seq_sk_storage_map_info {\n\tstruct bpf_map *map;\n\tunsigned int bucket_id;\n\tunsigned int skip_elems;\n};\n\nstruct pid_namespace;\n\nstruct bpf_iter_seq_task_common {\n\tstruct pid_namespace *ns;\n\tenum bpf_iter_task_type type;\n\tu32 pid;\n\tu32 pid_visiting;\n};\n\nstruct bpf_iter_seq_task_file_info {\n\tstruct bpf_iter_seq_task_common common;\n\tstruct task_struct *task;\n\tu32 tid;\n\tu32 fd;\n};\n\nstruct bpf_iter_seq_task_info {\n\tstruct bpf_iter_seq_task_common common;\n\tu32 tid;\n};\n\nstruct mm_struct;\n\nstruct bpf_iter_seq_task_vma_info {\n\tstruct bpf_iter_seq_task_common common;\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct vm_area_struct *vma;\n\tu32 tid;\n\tlong unsigned int prev_vm_start;\n\tlong unsigned int prev_vm_end;\n};\n\nstruct bpf_iter_target_info {\n\tstruct list_head list;\n\tconst struct bpf_iter_reg *reg_info;\n\tu32 btf_id;\n};\n\nstruct bpf_iter_task {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_iter_task_kern {\n\tstruct task_struct *task;\n\tstruct task_struct *pos;\n\tunsigned int flags;\n};\n\nstruct bpf_iter_task_vma {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_task_vma_kern_data;\n\nstruct bpf_iter_task_vma_kern {\n\tstruct bpf_iter_task_vma_kern_data *data;\n};\n\nstruct maple_enode;\n\nstruct maple_tree;\n\nstruct maple_alloc;\n\nstruct ma_state {\n\tstruct maple_tree *tree;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tstruct maple_enode *node;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tstruct maple_alloc *alloc;\n\tenum maple_status status;\n\tunsigned char depth;\n\tunsigned char offset;\n\tunsigned char mas_flags;\n\tunsigned char end;\n\tenum store_type store_type;\n};\n\nstruct vma_iterator {\n\tstruct ma_state mas;\n};\n\nstruct mmap_unlock_irq_work;\n\nstruct bpf_iter_task_vma_kern_data {\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct mmap_unlock_irq_work *work;\n\tstruct vma_iterator vmi;\n};\n\nstruct bpf_jit_poke_descriptor {\n\tvoid *tailcall_target;\n\tvoid *tailcall_bypass;\n\tvoid *bypass_addr;\n\tvoid *aux;\n\tunion {\n\t\tstruct {\n\t\t\tstruct bpf_map *map;\n\t\t\tu32 key;\n\t\t} tail_call;\n\t};\n\tbool tailcall_target_stable;\n\tu8 adj_off;\n\tu16 reason;\n\tu32 insn_idx;\n};\n\nstruct bpf_key {\n\tstruct key *key;\n\tbool has_ref;\n};\n\nstruct bpf_kfunc_btf {\n\tstruct btf *btf;\n\tstruct module *module;\n\tu16 offset;\n};\n\nstruct bpf_kfunc_btf_tab {\n\tstruct bpf_kfunc_btf descs[256];\n\tu32 nr_descs;\n};\n\nstruct bpf_kfunc_call_arg_meta {\n\tstruct btf *btf;\n\tu32 func_id;\n\tu32 kfunc_flags;\n\tconst struct btf_type *func_proto;\n\tconst char *func_name;\n\tu32 ref_obj_id;\n\tu8 release_regno;\n\tbool r0_rdonly;\n\tu32 ret_btf_id;\n\tu64 r0_size;\n\tu32 subprogno;\n\tstruct {\n\t\tu64 value;\n\t\tbool found;\n\t} arg_constant;\n\tstruct btf *arg_btf;\n\tu32 arg_btf_id;\n\tbool arg_owning_ref;\n\tstruct {\n\t\tstruct btf_field *field;\n\t} arg_list_head;\n\tstruct {\n\t\tstruct btf_field *field;\n\t} arg_rbtree_root;\n\tstruct {\n\t\tenum bpf_dynptr_type type;\n\t\tu32 id;\n\t\tu32 ref_obj_id;\n\t} initialized_dynptr;\n\tstruct {\n\t\tu8 spi;\n\t\tu8 frameno;\n\t} iter;\n\tstruct {\n\t\tstruct bpf_map *ptr;\n\t\tint uid;\n\t} map;\n\tu64 mem_size;\n};\n\nstruct bpf_kfunc_desc {\n\tstruct btf_func_model func_model;\n\tu32 func_id;\n\ts32 imm;\n\tu16 offset;\n\tlong unsigned int addr;\n};\n\nstruct bpf_kfunc_desc_tab {\n\tstruct bpf_kfunc_desc descs[256];\n\tu32 nr_descs;\n};\n\nstruct bpf_line_info {\n\t__u32 insn_off;\n\t__u32 file_name_off;\n\t__u32 line_off;\n\t__u32 line_col;\n};\n\nstruct bpf_link_info {\n\t__u32 type;\n\t__u32 id;\n\t__u32 prog_id;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 tp_name;\n\t\t\t__u32 tp_name_len;\n\t\t} raw_tracepoint;\n\t\tstruct {\n\t\t\t__u32 attach_type;\n\t\t\t__u32 target_obj_id;\n\t\t\t__u32 target_btf_id;\n\t\t} tracing;\n\t\tstruct {\n\t\t\t__u64 cgroup_id;\n\t\t\t__u32 attach_type;\n\t\t} cgroup;\n\t\tstruct {\n\t\t\t__u64 target_name;\n\t\t\t__u32 target_name_len;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 map_id;\n\t\t\t\t} map;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 cgroup_id;\n\t\t\t\t\t__u32 order;\n\t\t\t\t} cgroup;\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 tid;\n\t\t\t\t\t__u32 pid;\n\t\t\t\t} task;\n\t\t\t};\n\t\t} iter;\n\t\tstruct {\n\t\t\t__u32 netns_ino;\n\t\t\t__u32 attach_type;\n\t\t} netns;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t} xdp;\n\t\tstruct {\n\t\t\t__u32 map_id;\n\t\t} struct_ops;\n\t\tstruct {\n\t\t\t__u32 pf;\n\t\t\t__u32 hooknum;\n\t\t\t__s32 priority;\n\t\t\t__u32 flags;\n\t\t} netfilter;\n\t\tstruct {\n\t\t\t__u64 addrs;\n\t\t\t__u32 count;\n\t\t\t__u32 flags;\n\t\t\t__u64 missed;\n\t\t\t__u64 cookies;\n\t\t} kprobe_multi;\n\t\tstruct {\n\t\t\t__u64 path;\n\t\t\t__u64 offsets;\n\t\t\t__u64 ref_ctr_offsets;\n\t\t\t__u64 cookies;\n\t\t\t__u32 path_size;\n\t\t\t__u32 count;\n\t\t\t__u32 flags;\n\t\t\t__u32 pid;\n\t\t} uprobe_multi;\n\t\tstruct {\n\t\t\t__u32 type;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 file_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u32 offset;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} uprobe;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 func_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u32 offset;\n\t\t\t\t\t__u64 addr;\n\t\t\t\t\t__u64 missed;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} kprobe;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 tp_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} tracepoint;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 config;\n\t\t\t\t\t__u32 type;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} event;\n\t\t\t};\n\t\t} perf_event;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t\t__u32 attach_type;\n\t\t} tcx;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t\t__u32 attach_type;\n\t\t} netkit;\n\t\tstruct {\n\t\t\t__u32 map_id;\n\t\t\t__u32 attach_type;\n\t\t} sockmap;\n\t};\n};\n\nstruct bpf_link_ops {\n\tvoid (*release)(struct bpf_link *);\n\tvoid (*dealloc)(struct bpf_link *);\n\tvoid (*dealloc_deferred)(struct bpf_link *);\n\tint (*detach)(struct bpf_link *);\n\tint (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);\n\tvoid (*show_fdinfo)(const struct bpf_link *, struct seq_file *);\n\tint (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);\n\tint (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *);\n\t__poll_t (*poll)(struct file *, struct poll_table_struct *);\n};\n\nstruct bpf_link_primer {\n\tstruct bpf_link *link;\n\tstruct file *file;\n\tint fd;\n\tu32 id;\n};\n\nstruct bpf_list_head {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_list_node {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_list_node_kern {\n\tstruct list_head list_head;\n\tvoid *owner;\n};\n\nstruct bpf_local_storage_data;\n\nstruct bpf_local_storage_map;\n\nstruct bpf_local_storage {\n\tstruct bpf_local_storage_data *cache[16];\n\tstruct bpf_local_storage_map *smap;\n\tstruct hlist_head list;\n\tvoid *owner;\n\tstruct callback_head rcu;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_local_storage_cache {\n\tspinlock_t idx_lock;\n\tu64 idx_usage_counts[16];\n};\n\nstruct bpf_local_storage_data {\n\tstruct bpf_local_storage_map *smap;\n\tu8 data[0];\n};\n\nstruct bpf_local_storage_elem {\n\tstruct hlist_node map_node;\n\tstruct hlist_node snode;\n\tstruct bpf_local_storage *local_storage;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct hlist_node free_node;\n\t};\n\tlong: 64;\n\tstruct bpf_local_storage_data sdata;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_local_storage_map_bucket;\n\nstruct bpf_local_storage_map {\n\tstruct bpf_map map;\n\tstruct bpf_local_storage_map_bucket *buckets;\n\tu32 bucket_log;\n\tu16 elem_size;\n\tu16 cache_idx;\n\tstruct bpf_mem_alloc selem_ma;\n\tstruct bpf_mem_alloc storage_ma;\n\tbool bpf_ma;\n};\n\nstruct bpf_local_storage_map_bucket {\n\tstruct hlist_head list;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_lpm_trie_key_hdr {\n\t__u32 prefixlen;\n};\n\nstruct bpf_lpm_trie_key_u8 {\n\tunion {\n\t\tstruct bpf_lpm_trie_key_hdr hdr;\n\t\t__u32 prefixlen;\n\t};\n\t__u8 data[0];\n};\n\nstruct bpf_lru_locallist {\n\tstruct list_head lists[2];\n\tu16 next_steal;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_lru_node {\n\tstruct list_head list;\n\tu16 cpu;\n\tu8 type;\n\tu8 ref;\n};\n\nstruct bpf_offloaded_map;\n\nstruct bpf_map_dev_ops {\n\tint (*map_get_next_key)(struct bpf_offloaded_map *, void *, void *);\n\tint (*map_lookup_elem)(struct bpf_offloaded_map *, void *, void *);\n\tint (*map_update_elem)(struct bpf_offloaded_map *, void *, void *, u64);\n\tint (*map_delete_elem)(struct bpf_offloaded_map *, void *);\n};\n\nstruct bpf_map_info {\n\t__u32 type;\n\t__u32 id;\n\t__u32 key_size;\n\t__u32 value_size;\n\t__u32 max_entries;\n\t__u32 map_flags;\n\tchar name[16];\n\t__u32 ifindex;\n\t__u32 btf_vmlinux_value_type_id;\n\t__u64 netns_dev;\n\t__u64 netns_ino;\n\t__u32 btf_id;\n\t__u32 btf_key_type_id;\n\t__u32 btf_value_type_id;\n\t__u32 btf_vmlinux_id;\n\t__u64 map_extra;\n};\n\ntypedef u64 (*bpf_callback_t)(u64, u64, u64, u64, u64);\n\nstruct bpf_prog_aux;\n\nstruct bpf_map_ops {\n\tint (*map_alloc_check)(union bpf_attr *);\n\tstruct bpf_map * (*map_alloc)(union bpf_attr *);\n\tvoid (*map_release)(struct bpf_map *, struct file *);\n\tvoid (*map_free)(struct bpf_map *);\n\tint (*map_get_next_key)(struct bpf_map *, void *, void *);\n\tvoid (*map_release_uref)(struct bpf_map *);\n\tvoid * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);\n\tint (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);\n\tint (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tvoid * (*map_lookup_elem)(struct bpf_map *, void *);\n\tlong int (*map_update_elem)(struct bpf_map *, void *, void *, u64);\n\tlong int (*map_delete_elem)(struct bpf_map *, void *);\n\tlong int (*map_push_elem)(struct bpf_map *, void *, u64);\n\tlong int (*map_pop_elem)(struct bpf_map *, void *);\n\tlong int (*map_peek_elem)(struct bpf_map *, void *);\n\tvoid * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32);\n\tvoid * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);\n\tvoid (*map_fd_put_ptr)(struct bpf_map *, void *, bool);\n\tint (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);\n\tu32 (*map_fd_sys_lookup_elem)(void *);\n\tvoid (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);\n\tint (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);\n\tint (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);\n\tvoid (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);\n\tvoid (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);\n\tint (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);\n\tint (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);\n\tint (*map_mmap)(struct bpf_map *, struct vm_area_struct *);\n\t__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);\n\tlong unsigned int (*map_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tint (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);\n\tvoid (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);\n\tstruct bpf_local_storage ** (*map_owner_storage_ptr)(void *);\n\tlong int (*map_redirect)(struct bpf_map *, u64, u64);\n\tbool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);\n\tint (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);\n\tlong int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64);\n\tu64 (*map_mem_usage)(const struct bpf_map *);\n\tint *map_btf_id;\n\tconst struct bpf_iter_seq_info *iter_seq_info;\n};\n\nstruct rcuwait {\n\tstruct task_struct *task;\n};\n\nstruct irq_work {\n\tstruct __call_single_node node;\n\tvoid (*func)(struct irq_work *);\n\tstruct rcuwait irqwait;\n};\n\nstruct bpf_mem_cache {\n\tstruct llist_head free_llist;\n\tlocal_t active;\n\tstruct llist_head free_llist_extra;\n\tstruct irq_work refill_work;\n\tstruct obj_cgroup *objcg;\n\tint unit_size;\n\tint free_cnt;\n\tint low_watermark;\n\tint high_watermark;\n\tint batch;\n\tint percpu_size;\n\tbool draining;\n\tstruct bpf_mem_cache *tgt;\n\tstruct llist_head free_by_rcu;\n\tstruct llist_node *free_by_rcu_tail;\n\tstruct llist_head waiting_for_gp;\n\tstruct llist_node *waiting_for_gp_tail;\n\tstruct callback_head rcu;\n\tatomic_t call_rcu_in_progress;\n\tstruct llist_head free_llist_extra_rcu;\n\tstruct llist_head free_by_rcu_ttrace;\n\tstruct llist_head waiting_for_gp_ttrace;\n\tstruct callback_head rcu_ttrace;\n\tatomic_t call_rcu_ttrace_in_progress;\n};\n\nstruct bpf_mem_caches {\n\tstruct bpf_mem_cache cache[11];\n};\n\nstruct bpf_mount_opts {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tu64 delegate_cmds;\n\tu64 delegate_maps;\n\tu64 delegate_progs;\n\tu64 delegate_attachs;\n};\n\nstruct bpf_mprog_fp {\n\tstruct bpf_prog *prog;\n};\n\nstruct bpf_mprog_bundle;\n\nstruct bpf_mprog_entry {\n\tstruct bpf_mprog_fp fp_items[64];\n\tstruct bpf_mprog_bundle *parent;\n};\n\nstruct bpf_mprog_cp {\n\tstruct bpf_link *link;\n};\n\nstruct bpf_mprog_bundle {\n\tstruct bpf_mprog_entry a;\n\tstruct bpf_mprog_entry b;\n\tstruct bpf_mprog_cp cp_items[64];\n\tstruct bpf_prog *ref;\n\tatomic64_t revision;\n\tu32 count;\n};\n\nstruct bpf_nested_pt_regs {\n\tstruct pt_regs regs[3];\n};\n\nstruct bpf_nh_params {\n\tu32 nh_family;\n\tunion {\n\t\tu32 ipv4_nh;\n\t\tstruct in6_addr ipv6_nh;\n\t};\n};\n\nstruct bpf_redirect_info {\n\tu64 tgt_index;\n\tvoid *tgt_value;\n\tstruct bpf_map *map;\n\tu32 flags;\n\tu32 map_id;\n\tenum bpf_map_type map_type;\n\tstruct bpf_nh_params nh;\n\tu32 kern_flags;\n};\n\nstruct bpf_net_context {\n\tstruct bpf_redirect_info ri;\n\tstruct list_head cpu_map_flush_list;\n\tstruct list_head dev_map_flush_list;\n\tstruct list_head xskmap_map_flush_list;\n};\n\nstruct bpf_netns_link {\n\tstruct bpf_link link;\n\tenum bpf_attach_type type;\n\tenum netns_bpf_attach_type netns_type;\n\tstruct net *net;\n\tstruct list_head node;\n};\n\ntypedef unsigned int nf_hookfn(void *, struct sk_buff *, const struct nf_hook_state *);\n\nstruct nf_hook_ops {\n\tnf_hookfn *hook;\n\tstruct net_device *dev;\n\tvoid *priv;\n\tu8 pf;\n\tenum nf_hook_ops_type hook_ops_type: 8;\n\tunsigned int hooknum;\n\tint priority;\n};\n\nstruct nf_defrag_hook;\n\nstruct bpf_nf_link {\n\tstruct bpf_link link;\n\tstruct nf_hook_ops hook_ops;\n\tnetns_tracker ns_tracker;\n\tstruct net *net;\n\tu32 dead;\n\tconst struct nf_defrag_hook *defrag_hook;\n};\n\nstruct bpf_prog_offload_ops;\n\nstruct bpf_offload_dev {\n\tconst struct bpf_prog_offload_ops *ops;\n\tstruct list_head netdevs;\n\tvoid *priv;\n};\n\nstruct bpf_offload_netdev {\n\tstruct rhash_head l;\n\tstruct net_device *netdev;\n\tstruct bpf_offload_dev *offdev;\n\tstruct list_head progs;\n\tstruct list_head maps;\n\tstruct list_head offdev_netdevs;\n};\n\nstruct bpf_offloaded_map {\n\tstruct bpf_map map;\n\tstruct net_device *netdev;\n\tconst struct bpf_map_dev_ops *dev_ops;\n\tvoid *dev_priv;\n\tstruct list_head offloads;\n};\n\nstruct bpf_perf_event_value {\n\t__u64 counter;\n\t__u64 enabled;\n\t__u64 running;\n};\n\nstruct bpf_perf_link {\n\tstruct bpf_link link;\n\tstruct file *perf_file;\n};\n\nstruct bpf_pidns_info {\n\t__u32 pid;\n\t__u32 tgid;\n};\n\nstruct bpf_preload_info {\n\tchar link_name[16];\n\tstruct bpf_link *link;\n};\n\nstruct bpf_preload_ops {\n\tint (*preload)(struct bpf_preload_info *);\n\tstruct module *owner;\n};\n\nstruct sock_filter {\n\t__u16 code;\n\t__u8 jt;\n\t__u8 jf;\n\t__u32 k;\n};\n\nstruct bpf_prog_stats;\n\nstruct sock_fprog_kern;\n\nstruct bpf_prog {\n\tu16 pages;\n\tu16 jited: 1;\n\tu16 jit_requested: 1;\n\tu16 gpl_compatible: 1;\n\tu16 cb_access: 1;\n\tu16 dst_needed: 1;\n\tu16 blinding_requested: 1;\n\tu16 blinded: 1;\n\tu16 is_func: 1;\n\tu16 kprobe_override: 1;\n\tu16 has_callchain_buf: 1;\n\tu16 enforce_expected_attach_type: 1;\n\tu16 call_get_stack: 1;\n\tu16 call_get_func_ip: 1;\n\tu16 tstamp_type_access: 1;\n\tu16 sleepable: 1;\n\tenum bpf_prog_type type;\n\tenum bpf_attach_type expected_attach_type;\n\tu32 len;\n\tu32 jited_len;\n\tu8 tag[8];\n\tstruct bpf_prog_stats *stats;\n\tint *active;\n\tunsigned int (*bpf_func)(const void *, const struct bpf_insn *);\n\tstruct bpf_prog_aux *aux;\n\tstruct sock_fprog_kern *orig_prog;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_insns;\n\t\t\tstruct sock_filter insns[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_insnsi;\n\t\t\tstruct bpf_insn insnsi[0];\n\t\t};\n\t};\n};\n\nstruct bpf_trampoline;\n\nstruct bpf_prog_ops;\n\nstruct btf_mod_pair;\n\nstruct user_struct;\n\nstruct bpf_token;\n\nstruct bpf_prog_offload;\n\nstruct exception_table_entry;\n\nstruct bpf_prog_aux {\n\tatomic64_t refcnt;\n\tu32 used_map_cnt;\n\tu32 used_btf_cnt;\n\tu32 max_ctx_offset;\n\tu32 max_pkt_offset;\n\tu32 max_tp_access;\n\tu32 stack_depth;\n\tu32 id;\n\tu32 func_cnt;\n\tu32 real_func_cnt;\n\tu32 func_idx;\n\tu32 attach_btf_id;\n\tu32 ctx_arg_info_size;\n\tu32 max_rdonly_access;\n\tu32 max_rdwr_access;\n\tstruct btf *attach_btf;\n\tconst struct bpf_ctx_arg_aux *ctx_arg_info;\n\tvoid *priv_stack_ptr;\n\tstruct mutex dst_mutex;\n\tstruct bpf_prog *dst_prog;\n\tstruct bpf_trampoline *dst_trampoline;\n\tenum bpf_prog_type saved_dst_prog_type;\n\tenum bpf_attach_type saved_dst_attach_type;\n\tbool verifier_zext;\n\tbool dev_bound;\n\tbool offload_requested;\n\tbool attach_btf_trace;\n\tbool attach_tracing_prog;\n\tbool func_proto_unreliable;\n\tbool tail_call_reachable;\n\tbool xdp_has_frags;\n\tbool exception_cb;\n\tbool exception_boundary;\n\tbool is_extended;\n\tbool jits_use_priv_stack;\n\tbool priv_stack_requested;\n\tbool changes_pkt_data;\n\tu64 prog_array_member_cnt;\n\tstruct mutex ext_mutex;\n\tstruct bpf_arena *arena;\n\tvoid (*recursion_detected)(struct bpf_prog *);\n\tconst struct btf_type *attach_func_proto;\n\tconst char *attach_func_name;\n\tstruct bpf_prog **func;\n\tvoid *jit_data;\n\tstruct bpf_jit_poke_descriptor *poke_tab;\n\tstruct bpf_kfunc_desc_tab *kfunc_tab;\n\tstruct bpf_kfunc_btf_tab *kfunc_btf_tab;\n\tu32 size_poke_tab;\n\tstruct bpf_ksym ksym;\n\tconst struct bpf_prog_ops *ops;\n\tstruct bpf_map **used_maps;\n\tstruct mutex used_maps_mutex;\n\tstruct btf_mod_pair *used_btfs;\n\tstruct bpf_prog *prog;\n\tstruct user_struct *user;\n\tu64 load_time;\n\tu32 verified_insns;\n\tint cgroup_atype;\n\tstruct bpf_map *cgroup_storage[2];\n\tchar name[16];\n\tu64 (*bpf_exception_cb)(u64, u64, u64, u64, u64);\n\tvoid *security;\n\tstruct bpf_token *token;\n\tstruct bpf_prog_offload *offload;\n\tstruct btf *btf;\n\tstruct bpf_func_info *func_info;\n\tstruct bpf_func_info_aux *func_info_aux;\n\tstruct bpf_line_info *linfo;\n\tvoid **jited_linfo;\n\tu32 func_info_cnt;\n\tu32 nr_linfo;\n\tu32 linfo_idx;\n\tstruct module *mod;\n\tu32 num_exentries;\n\tstruct exception_table_entry *extable;\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct bpf_prog_dummy {\n\tstruct bpf_prog prog;\n};\n\nstruct bpf_prog_info {\n\t__u32 type;\n\t__u32 id;\n\t__u8 tag[8];\n\t__u32 jited_prog_len;\n\t__u32 xlated_prog_len;\n\t__u64 jited_prog_insns;\n\t__u64 xlated_prog_insns;\n\t__u64 load_time;\n\t__u32 created_by_uid;\n\t__u32 nr_map_ids;\n\t__u64 map_ids;\n\tchar name[16];\n\t__u32 ifindex;\n\t__u32 gpl_compatible: 1;\n\t__u64 netns_dev;\n\t__u64 netns_ino;\n\t__u32 nr_jited_ksyms;\n\t__u32 nr_jited_func_lens;\n\t__u64 jited_ksyms;\n\t__u64 jited_func_lens;\n\t__u32 btf_id;\n\t__u32 func_info_rec_size;\n\t__u64 func_info;\n\t__u32 nr_func_info;\n\t__u32 nr_line_info;\n\t__u64 line_info;\n\t__u64 jited_line_info;\n\t__u32 nr_jited_line_info;\n\t__u32 line_info_rec_size;\n\t__u32 jited_line_info_rec_size;\n\t__u32 nr_prog_tags;\n\t__u64 prog_tags;\n\t__u64 run_time_ns;\n\t__u64 run_cnt;\n\t__u64 recursion_misses;\n\t__u32 verified_insns;\n\t__u32 attach_btf_obj_id;\n\t__u32 attach_btf_id;\n};\n\nstruct bpf_prog_kstats {\n\tu64 nsecs;\n\tu64 cnt;\n\tu64 misses;\n};\n\nstruct bpf_prog_list {\n\tstruct hlist_node node;\n\tstruct bpf_prog *prog;\n\tstruct bpf_cgroup_link *link;\n\tstruct bpf_cgroup_storage *storage[2];\n};\n\nstruct bpf_prog_offload {\n\tstruct bpf_prog *prog;\n\tstruct net_device *netdev;\n\tstruct bpf_offload_dev *offdev;\n\tvoid *dev_priv;\n\tstruct list_head offloads;\n\tbool dev_state;\n\tbool opt_failed;\n\tvoid *jited_image;\n\tu32 jited_len;\n};\n\nstruct bpf_prog_offload_ops {\n\tint (*insn_hook)(struct bpf_verifier_env *, int, int);\n\tint (*finalize)(struct bpf_verifier_env *);\n\tint (*replace_insn)(struct bpf_verifier_env *, u32, struct bpf_insn *);\n\tint (*remove_insns)(struct bpf_verifier_env *, u32, u32);\n\tint (*prepare)(struct bpf_prog *);\n\tint (*translate)(struct bpf_prog *);\n\tvoid (*destroy)(struct bpf_prog *);\n};\n\nstruct bpf_prog_ops {\n\tint (*test_run)(struct bpf_prog *, const union bpf_attr *, union bpf_attr *);\n};\n\nstruct bpf_prog_pack {\n\tstruct list_head list;\n\tvoid *ptr;\n\tlong unsigned int bitmap[0];\n};\n\nstruct bpf_prog_stats {\n\tu64_stats_t cnt;\n\tu64_stats_t nsecs;\n\tu64_stats_t misses;\n\tstruct u64_stats_sync syncp;\n\tlong: 64;\n};\n\nstruct bpf_queue_stack {\n\tstruct bpf_map map;\n\traw_spinlock_t lock;\n\tu32 head;\n\tu32 tail;\n\tu32 size;\n\tchar elements[0];\n};\n\nstruct tracepoint;\n\nstruct bpf_raw_event_map {\n\tstruct tracepoint *tp;\n\tvoid *bpf_func;\n\tu32 num_args;\n\tu32 writable_size;\n\tlong: 64;\n};\n\nstruct bpf_raw_tp_link {\n\tstruct bpf_link link;\n\tstruct bpf_raw_event_map *btp;\n\tu64 cookie;\n};\n\nstruct bpf_raw_tp_null_args {\n\tconst char *func;\n\tu64 mask;\n};\n\nstruct bpf_raw_tp_regs {\n\tstruct pt_regs regs[3];\n};\n\nstruct bpf_raw_tp_test_run_info {\n\tstruct bpf_prog *prog;\n\tvoid *ctx;\n\tu32 retval;\n};\n\nstruct bpf_rb_node {\n\t__u64 __opaque[4];\n};\n\nstruct bpf_rb_node_kern {\n\tstruct rb_node rb_node;\n\tvoid *owner;\n};\n\nstruct bpf_rb_root {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_redir_neigh {\n\t__u32 nh_family;\n\tunion {\n\t\t__be32 ipv4_nh;\n\t\t__u32 ipv6_nh[4];\n\t};\n};\n\nstruct bpf_refcount {\n\t__u32 __opaque[1];\n};\n\nstruct bpf_reference_state {\n\tenum ref_state_type type;\n\tint id;\n\tint insn_idx;\n\tvoid *ptr;\n};\n\nstruct bpf_reg_types {\n\tconst enum bpf_reg_type types[10];\n\tu32 *btf_id;\n};\n\nstruct bpf_ringbuf {\n\twait_queue_head_t waitq;\n\tstruct irq_work work;\n\tu64 mask;\n\tstruct page **pages;\n\tint nr_pages;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t spinlock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t busy;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int consumer_pos;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int producer_pos;\n\tlong unsigned int pending_pos;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tchar data[0];\n};\n\nstruct bpf_ringbuf_hdr {\n\tu32 len;\n\tu32 pg_off;\n};\n\nstruct bpf_ringbuf_map {\n\tstruct bpf_map map;\n\tstruct bpf_ringbuf *rb;\n};\n\nstruct bpf_sanitize_info {\n\tstruct bpf_insn_aux_data aux;\n\tbool mask_to_left;\n};\n\nstruct bpf_security_struct {\n\tu32 sid;\n};\n\nstruct bpf_session_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tbool is_return;\n\tvoid *data;\n};\n\nstruct sk_psock_progs {\n\tstruct bpf_prog *msg_parser;\n\tstruct bpf_prog *stream_parser;\n\tstruct bpf_prog *stream_verdict;\n\tstruct bpf_prog *skb_verdict;\n\tstruct bpf_link *msg_parser_link;\n\tstruct bpf_link *stream_parser_link;\n\tstruct bpf_link *stream_verdict_link;\n\tstruct bpf_link *skb_verdict_link;\n};\n\nstruct bpf_shtab_bucket;\n\nstruct bpf_shtab {\n\tstruct bpf_map map;\n\tstruct bpf_shtab_bucket *buckets;\n\tu32 buckets_num;\n\tu32 elem_size;\n\tstruct sk_psock_progs progs;\n\tatomic_t count;\n};\n\nstruct bpf_shtab_bucket {\n\tstruct hlist_head head;\n\tspinlock_t lock;\n};\n\nstruct bpf_shtab_elem {\n\tstruct callback_head rcu;\n\tu32 hash;\n\tstruct sock *sk;\n\tstruct hlist_node node;\n\tu8 key[0];\n};\n\nstruct bpf_sk_storage_diag {\n\tu32 nr_maps;\n\tstruct bpf_map *maps[0];\n};\n\nstruct qdisc_skb_cb {\n\tstruct {\n\t\tunsigned int pkt_len;\n\t\tu16 slave_dev_queue_mapping;\n\t\tu16 tc_classid;\n\t};\n\tunsigned char data[20];\n};\n\nstruct bpf_skb_data_end {\n\tstruct qdisc_skb_cb qdisc_cb;\n\tvoid *data_meta;\n\tvoid *data_end;\n};\n\nstruct bpf_sock_tuple {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t\t__be16 sport;\n\t\t\t__be16 dport;\n\t\t} ipv4;\n\t\tstruct {\n\t\t\t__be32 saddr[4];\n\t\t\t__be32 daddr[4];\n\t\t\t__be16 sport;\n\t\t\t__be16 dport;\n\t\t} ipv6;\n\t};\n};\n\nstruct bpf_sockopt_buf {\n\tu8 data[32];\n};\n\nstruct bpf_stab {\n\tstruct bpf_map map;\n\tstruct sock **sks;\n\tstruct sk_psock_progs progs;\n\tspinlock_t lock;\n};\n\nstruct bpf_stack_build_id {\n\t__s32 status;\n\tunsigned char build_id[20];\n\tunion {\n\t\t__u64 offset;\n\t\t__u64 ip;\n\t};\n};\n\nstruct stack_map_bucket;\n\nstruct bpf_stack_map {\n\tstruct bpf_map map;\n\tvoid *elems;\n\tstruct pcpu_freelist freelist;\n\tu32 n_buckets;\n\tstruct stack_map_bucket *buckets[0];\n};\n\nstruct bpf_stack_state {\n\tstruct bpf_reg_state spilled_ptr;\n\tu8 slot_type[8];\n};\n\nstruct bpf_storage_buffer {\n\tstruct callback_head rcu;\n\tchar data[0];\n};\n\nstruct bpf_verifier_ops;\n\nstruct btf_member;\n\nstruct bpf_struct_ops {\n\tconst struct bpf_verifier_ops *verifier_ops;\n\tint (*init)(struct btf *);\n\tint (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *);\n\tint (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);\n\tint (*reg)(void *, struct bpf_link *);\n\tvoid (*unreg)(void *, struct bpf_link *);\n\tint (*update)(void *, void *, struct bpf_link *);\n\tint (*validate)(void *);\n\tvoid *cfi_stubs;\n\tstruct module *owner;\n\tconst char *name;\n\tstruct btf_func_model func_models[64];\n};\n\nstruct bpf_struct_ops_arg_info {\n\tstruct bpf_ctx_arg_aux *info;\n\tu32 cnt;\n};\n\nstruct bpf_struct_ops_common_value {\n\trefcount_t refcnt;\n\tenum bpf_struct_ops_state state;\n};\n\nstruct bpf_struct_ops_bpf_dummy_ops {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bpf_dummy_ops data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_struct_ops_desc {\n\tstruct bpf_struct_ops *st_ops;\n\tconst struct btf_type *type;\n\tconst struct btf_type *value_type;\n\tu32 type_id;\n\tu32 value_id;\n\tstruct bpf_struct_ops_arg_info *arg_info;\n};\n\nstruct bpf_struct_ops_link {\n\tstruct bpf_link link;\n\tstruct bpf_map *map;\n\twait_queue_head_t wait_hup;\n};\n\nstruct bpf_struct_ops_value {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tchar data[0];\n};\n\nstruct bpf_struct_ops_map {\n\tstruct bpf_map map;\n\tconst struct bpf_struct_ops_desc *st_ops_desc;\n\tstruct mutex lock;\n\tstruct bpf_link **links;\n\tstruct bpf_ksym **ksyms;\n\tu32 funcs_cnt;\n\tu32 image_pages_cnt;\n\tvoid *image_pages[8];\n\tstruct btf *btf;\n\tstruct bpf_struct_ops_value *uvalue;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bpf_struct_ops_value kvalue;\n};\n\nstruct rate_sample;\n\nunion tcp_cc_info;\n\nstruct tcp_congestion_ops {\n\tu32 (*ssthresh)(struct sock *);\n\tvoid (*cong_avoid)(struct sock *, u32, u32);\n\tvoid (*set_state)(struct sock *, u8);\n\tvoid (*cwnd_event)(struct sock *, enum tcp_ca_event);\n\tvoid (*in_ack_event)(struct sock *, u32);\n\tvoid (*pkts_acked)(struct sock *, const struct ack_sample *);\n\tu32 (*min_tso_segs)(struct sock *);\n\tvoid (*cong_control)(struct sock *, u32, int, const struct rate_sample *);\n\tu32 (*undo_cwnd)(struct sock *);\n\tu32 (*sndbuf_expand)(struct sock *);\n\tsize_t (*get_info)(struct sock *, u32, int *, union tcp_cc_info *);\n\tchar name[16];\n\tstruct module *owner;\n\tstruct list_head list;\n\tu32 key;\n\tu32 flags;\n\tvoid (*init)(struct sock *);\n\tvoid (*release)(struct sock *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_struct_ops_tcp_congestion_ops {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct tcp_congestion_ops data;\n};\n\nstruct bpf_subprog_arg_info {\n\tenum bpf_arg_type arg_type;\n\tunion {\n\t\tu32 mem_size;\n\t\tu32 btf_id;\n\t};\n};\n\nstruct bpf_subprog_info {\n\tu32 start;\n\tu32 linfo_idx;\n\tu16 stack_depth;\n\tu16 stack_extra;\n\ts16 fastcall_stack_off;\n\tbool has_tail_call: 1;\n\tbool tail_call_reachable: 1;\n\tbool has_ld_abs: 1;\n\tbool is_cb: 1;\n\tbool is_async_cb: 1;\n\tbool is_exception_cb: 1;\n\tbool args_cached: 1;\n\tbool keep_fastcall_stack: 1;\n\tbool changes_pkt_data: 1;\n\tenum priv_stack_mode priv_stack_mode;\n\tu8 arg_cnt;\n\tstruct bpf_subprog_arg_info args[5];\n};\n\nstruct tcp_iter_state {\n\tstruct seq_net_private p;\n\tenum tcp_seq_states state;\n\tstruct sock *syn_wait_sk;\n\tint bucket;\n\tint offset;\n\tint sbucket;\n\tint num;\n\tloff_t last_pos;\n};\n\nstruct bpf_tcp_iter_state {\n\tstruct tcp_iter_state state;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_tcp_req_attrs {\n\tu32 rcv_tsval;\n\tu32 rcv_tsecr;\n\tu16 mss;\n\tu8 rcv_wscale;\n\tu8 snd_wscale;\n\tu8 ecn_ok;\n\tu8 wscale_ok;\n\tu8 sack_ok;\n\tu8 tstamp_ok;\n\tu8 usec_ts_ok;\n\tu8 reserved[3];\n};\n\nstruct bpf_tcp_sock {\n\t__u32 snd_cwnd;\n\t__u32 srtt_us;\n\t__u32 rtt_min;\n\t__u32 snd_ssthresh;\n\t__u32 rcv_nxt;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 mss_cache;\n\t__u32 ecn_flags;\n\t__u32 rate_delivered;\n\t__u32 rate_interval_us;\n\t__u32 packets_out;\n\t__u32 retrans_out;\n\t__u32 total_retrans;\n\t__u32 segs_in;\n\t__u32 data_segs_in;\n\t__u32 segs_out;\n\t__u32 data_segs_out;\n\t__u32 lost_out;\n\t__u32 sacked_out;\n\t__u64 bytes_received;\n\t__u64 bytes_acked;\n\t__u32 dsack_dups;\n\t__u32 delivered;\n\t__u32 delivered_ce;\n\t__u32 icsk_retransmits;\n};\n\nstruct bpf_test_timer {\n\tenum {\n\t\tNO_PREEMPT = 0,\n\t\tNO_MIGRATE = 1,\n\t} mode;\n\tu32 i;\n\tu64 time_start;\n\tu64 time_spent;\n};\n\nstruct bpf_throw_ctx {\n\tstruct bpf_prog_aux *aux;\n\tu64 sp;\n\tu64 bp;\n\tint cnt;\n};\n\nstruct bpf_timer {\n\t__u64 __opaque[2];\n};\n\nstruct user_namespace;\n\nstruct bpf_token {\n\tstruct work_struct work;\n\tatomic64_t refcnt;\n\tstruct user_namespace *userns;\n\tu64 allowed_cmds;\n\tu64 allowed_maps;\n\tu64 allowed_progs;\n\tu64 allowed_attachs;\n\tvoid *security;\n};\n\nstruct bpf_trace_module {\n\tstruct module *module;\n\tstruct list_head list;\n};\n\nstruct bpf_trace_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tu64 bpf_cookie;\n\tbool is_uprobe;\n};\n\nunion perf_sample_weight {\n\t__u64 full;\n\tstruct {\n\t\t__u32 var1_dw;\n\t\t__u16 var2_w;\n\t\t__u16 var3_w;\n\t};\n};\n\nunion perf_mem_data_src {\n\t__u64 val;\n\tstruct {\n\t\t__u64 mem_op: 5;\n\t\t__u64 mem_lvl: 14;\n\t\t__u64 mem_snoop: 5;\n\t\t__u64 mem_lock: 2;\n\t\t__u64 mem_dtlb: 7;\n\t\t__u64 mem_lvl_num: 4;\n\t\t__u64 mem_remote: 1;\n\t\t__u64 mem_snoopx: 2;\n\t\t__u64 mem_blk: 3;\n\t\t__u64 mem_hops: 3;\n\t\t__u64 mem_rsvd: 18;\n\t};\n};\n\nstruct perf_regs {\n\t__u64 abi;\n\tstruct pt_regs *regs;\n};\n\nstruct perf_callchain_entry;\n\nstruct perf_raw_record;\n\nstruct perf_branch_stack;\n\nstruct perf_sample_data {\n\tu64 sample_flags;\n\tu64 period;\n\tu64 dyn_size;\n\tu64 type;\n\tstruct {\n\t\tu32 pid;\n\t\tu32 tid;\n\t} tid_entry;\n\tu64 time;\n\tu64 id;\n\tstruct {\n\t\tu32 cpu;\n\t\tu32 reserved;\n\t} cpu_entry;\n\tu64 ip;\n\tstruct perf_callchain_entry *callchain;\n\tstruct perf_raw_record *raw;\n\tstruct perf_branch_stack *br_stack;\n\tu64 *br_stack_cntr;\n\tunion perf_sample_weight weight;\n\tunion perf_mem_data_src data_src;\n\tu64 txn;\n\tstruct perf_regs regs_user;\n\tstruct perf_regs regs_intr;\n\tu64 stack_user_size;\n\tu64 stream_id;\n\tu64 cgroup;\n\tu64 addr;\n\tu64 phys_addr;\n\tu64 data_page_size;\n\tu64 code_page_size;\n\tu64 aux_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_trace_sample_data {\n\tstruct perf_sample_data sds[3];\n};\n\nstruct bpf_tramp_link {\n\tstruct bpf_link link;\n\tstruct hlist_node tramp_hlist;\n\tu64 cookie;\n};\n\nstruct bpf_tracing_link {\n\tstruct bpf_tramp_link link;\n\tenum bpf_attach_type attach_type;\n\tstruct bpf_trampoline *trampoline;\n\tstruct bpf_prog *tgt_prog;\n};\n\nstruct bpf_tramp_image {\n\tvoid *image;\n\tint size;\n\tstruct bpf_ksym ksym;\n\tstruct percpu_ref pcref;\n\tvoid *ip_after_call;\n\tvoid *ip_epilogue;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n};\n\nstruct bpf_tramp_links {\n\tstruct bpf_tramp_link *links[38];\n\tint nr_links;\n};\n\nstruct bpf_tramp_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tu64 bpf_cookie;\n\tstruct bpf_run_ctx *saved_run_ctx;\n};\n\nstruct ftrace_ops;\n\nstruct bpf_trampoline {\n\tstruct hlist_node hlist;\n\tstruct ftrace_ops *fops;\n\tstruct mutex mutex;\n\trefcount_t refcnt;\n\tu32 flags;\n\tu64 key;\n\tstruct {\n\t\tstruct btf_func_model model;\n\t\tvoid *addr;\n\t\tbool ftrace_managed;\n\t} func;\n\tstruct bpf_prog *extension_prog;\n\tstruct hlist_head progs_hlist[3];\n\tint progs_cnt[3];\n\tstruct bpf_tramp_image *cur_image;\n};\n\nstruct bpf_tunnel_key {\n\t__u32 tunnel_id;\n\tunion {\n\t\t__u32 remote_ipv4;\n\t\t__u32 remote_ipv6[4];\n\t};\n\t__u8 tunnel_tos;\n\t__u8 tunnel_ttl;\n\tunion {\n\t\t__u16 tunnel_ext;\n\t\t__be16 tunnel_flags;\n\t};\n\t__u32 tunnel_label;\n\tunion {\n\t\t__u32 local_ipv4;\n\t\t__u32 local_ipv6[4];\n\t};\n};\n\nstruct bpf_tuple {\n\tstruct bpf_prog *prog;\n\tstruct bpf_link *link;\n};\n\nstruct udp_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n};\n\nstruct bpf_udp_iter_state {\n\tstruct udp_iter_state state;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tint offset;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_unix_iter_state {\n\tstruct seq_net_private p;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct uprobe_consumer {\n\tint (*handler)(struct uprobe_consumer *, struct pt_regs *, __u64 *);\n\tint (*ret_handler)(struct uprobe_consumer *, long unsigned int, struct pt_regs *, __u64 *);\n\tbool (*filter)(struct uprobe_consumer *, struct mm_struct *);\n\tstruct list_head cons_node;\n\t__u64 id;\n};\n\nstruct bpf_uprobe_multi_link;\n\nstruct uprobe;\n\nstruct bpf_uprobe {\n\tstruct bpf_uprobe_multi_link *link;\n\tloff_t offset;\n\tlong unsigned int ref_ctr_offset;\n\tu64 cookie;\n\tstruct uprobe *uprobe;\n\tstruct uprobe_consumer consumer;\n\tbool session;\n};\n\nstruct bpf_uprobe_multi_link {\n\tstruct path path;\n\tstruct bpf_link link;\n\tu32 cnt;\n\tu32 flags;\n\tstruct bpf_uprobe *uprobes;\n\tstruct task_struct *task;\n};\n\nstruct bpf_uprobe_multi_run_ctx {\n\tstruct bpf_session_run_ctx session_ctx;\n\tlong unsigned int entry_ip;\n\tstruct bpf_uprobe *uprobe;\n};\n\nstruct btf_mod_pair {\n\tstruct btf *btf;\n\tstruct module *module;\n};\n\nstruct bpf_verifier_log {\n\tu64 start_pos;\n\tu64 end_pos;\n\tchar *ubuf;\n\tu32 level;\n\tu32 len_total;\n\tu32 len_max;\n\tchar kbuf[1024];\n};\n\nstruct bpf_verifier_stack_elem;\n\nstruct bpf_verifier_state;\n\nstruct bpf_verifier_state_list;\n\nstruct bpf_verifier_env {\n\tu32 insn_idx;\n\tu32 prev_insn_idx;\n\tstruct bpf_prog *prog;\n\tconst struct bpf_verifier_ops *ops;\n\tstruct module *attach_btf_mod;\n\tstruct bpf_verifier_stack_elem *head;\n\tint stack_size;\n\tbool strict_alignment;\n\tbool test_state_freq;\n\tbool test_reg_invariants;\n\tstruct bpf_verifier_state *cur_state;\n\tstruct bpf_verifier_state_list **explored_states;\n\tstruct bpf_verifier_state_list *free_list;\n\tstruct bpf_map *used_maps[64];\n\tstruct btf_mod_pair used_btfs[64];\n\tu32 used_map_cnt;\n\tu32 used_btf_cnt;\n\tu32 id_gen;\n\tu32 hidden_subprog_cnt;\n\tint exception_callback_subprog;\n\tbool explore_alu_limits;\n\tbool allow_ptr_leaks;\n\tbool allow_uninit_stack;\n\tbool bpf_capable;\n\tbool bypass_spec_v1;\n\tbool bypass_spec_v4;\n\tbool seen_direct_write;\n\tbool seen_exception;\n\tstruct bpf_insn_aux_data *insn_aux_data;\n\tconst struct bpf_line_info *prev_linfo;\n\tstruct bpf_verifier_log log;\n\tstruct bpf_subprog_info subprog_info[258];\n\tunion {\n\t\tstruct bpf_idmap idmap_scratch;\n\t\tstruct bpf_idset idset_scratch;\n\t};\n\tstruct {\n\t\tint *insn_state;\n\t\tint *insn_stack;\n\t\tint cur_stack;\n\t} cfg;\n\tstruct backtrack_state bt;\n\tstruct bpf_insn_hist_entry *insn_hist;\n\tstruct bpf_insn_hist_entry *cur_hist_ent;\n\tu32 insn_hist_cap;\n\tu32 pass_cnt;\n\tu32 subprog_cnt;\n\tu32 prev_insn_processed;\n\tu32 insn_processed;\n\tu32 prev_jmps_processed;\n\tu32 jmps_processed;\n\tu64 verification_time;\n\tu32 max_states_per_insn;\n\tu32 total_states;\n\tu32 peak_states;\n\tu32 longest_mark_read_walk;\n\tbpfptr_t fd_array;\n\tu32 scratched_regs;\n\tu64 scratched_stack_slots;\n\tu64 prev_log_pos;\n\tu64 prev_insn_print_pos;\n\tstruct bpf_reg_state fake_reg[2];\n\tchar tmp_str_buf[320];\n\tstruct bpf_insn insn_buf[32];\n\tstruct bpf_insn epilogue_buf[32];\n};\n\nstruct bpf_verifier_ops {\n\tconst struct bpf_func_proto * (*get_func_proto)(enum bpf_func_id, const struct bpf_prog *);\n\tbool (*is_valid_access)(int, int, enum bpf_access_type, const struct bpf_prog *, struct bpf_insn_access_aux *);\n\tint (*gen_prologue)(struct bpf_insn *, bool, const struct bpf_prog *);\n\tint (*gen_epilogue)(struct bpf_insn *, const struct bpf_prog *, s16);\n\tint (*gen_ld_abs)(const struct bpf_insn *, struct bpf_insn *);\n\tu32 (*convert_ctx_access)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *);\n\tint (*btf_struct_access)(struct bpf_verifier_log *, const struct bpf_reg_state *, int, int);\n};\n\nstruct bpf_verifier_state {\n\tstruct bpf_func_state *frame[8];\n\tstruct bpf_verifier_state *parent;\n\tstruct bpf_reference_state *refs;\n\tu32 branches;\n\tu32 insn_idx;\n\tu32 curframe;\n\tu32 acquired_refs;\n\tu32 active_locks;\n\tu32 active_preempt_locks;\n\tu32 active_irq_id;\n\tbool active_rcu_lock;\n\tbool speculative;\n\tbool used_as_loop_entry;\n\tbool in_sleepable;\n\tu32 first_insn_idx;\n\tu32 last_insn_idx;\n\tstruct bpf_verifier_state *loop_entry;\n\tu32 insn_hist_start;\n\tu32 insn_hist_end;\n\tu32 dfs_depth;\n\tu32 callback_unroll_depth;\n\tu32 may_goto_depth;\n};\n\nstruct bpf_verifier_stack_elem {\n\tstruct bpf_verifier_state st;\n\tint insn_idx;\n\tint prev_insn_idx;\n\tstruct bpf_verifier_stack_elem *next;\n\tu32 log_pos;\n};\n\nstruct bpf_verifier_state_list {\n\tstruct bpf_verifier_state state;\n\tstruct bpf_verifier_state_list *next;\n\tint miss_cnt;\n\tint hit_cnt;\n};\n\nstruct bpf_work {\n\tstruct bpf_async_cb cb;\n\tstruct work_struct work;\n\tstruct work_struct delete_work;\n};\n\nstruct bpf_wq {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_xdp_link;\n\nstruct bpf_xdp_entity {\n\tstruct bpf_prog *prog;\n\tstruct bpf_xdp_link *link;\n};\n\nstruct bpf_xdp_link {\n\tstruct bpf_link link;\n\tstruct net_device *dev;\n\tint flags;\n};\n\nstruct bpf_xdp_sock {\n\t__u32 queue_id;\n};\n\nstruct bpf_xfrm_state {\n\t__u32 reqid;\n\t__u32 spi;\n\t__u16 family;\n\t__u16 ext;\n\tunion {\n\t\t__u32 remote_ipv4;\n\t\t__u32 remote_ipv6[4];\n\t};\n};\n\nstruct bpf_xfrm_state_opts {\n\ts32 error;\n\ts32 netns_id;\n\tu32 mark;\n\txfrm_address_t daddr;\n\t__be32 spi;\n\tu8 proto;\n\tu16 family;\n};\n\nstruct bpffs_btf_enums {\n\tconst struct btf *btf;\n\tconst struct btf_type *cmd_t;\n\tconst struct btf_type *map_t;\n\tconst struct btf_type *prog_t;\n\tconst struct btf_type *attach_t;\n};\n\nstruct trace_entry {\n\tshort unsigned int type;\n\tunsigned char flags;\n\tunsigned char preempt_count;\n\tint pid;\n};\n\nstruct bprint_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tconst char *fmt;\n\tu32 buf[0];\n};\n\nstruct bputs_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tconst char *str;\n};\n\nstruct br_input_skb_cb {\n\tstruct net_device *brdev;\n\tu16 frag_max_size;\n\tu8 igmp;\n\tu8 mrouters_only: 1;\n\tu8 proxyarp_replied: 1;\n\tu8 src_port_isolated: 1;\n\tu8 promisc: 1;\n\tu8 br_netfilter_broute: 1;\n\tu32 backup_nhid;\n};\n\nstruct br_ip {\n\tunion {\n\t\t__be32 ip4;\n\t\tstruct in6_addr ip6;\n\t} src;\n\tunion {\n\t\t__be32 ip4;\n\t\tstruct in6_addr ip6;\n\t\tunsigned char mac_addr[6];\n\t} dst;\n\t__be16 proto;\n\t__u16 vid;\n};\n\nstruct br_mcast_stats {\n\t__u64 igmp_v1queries[2];\n\t__u64 igmp_v2queries[2];\n\t__u64 igmp_v3queries[2];\n\t__u64 igmp_leaves[2];\n\t__u64 igmp_v1reports[2];\n\t__u64 igmp_v2reports[2];\n\t__u64 igmp_v3reports[2];\n\t__u64 igmp_parse_errors;\n\t__u64 mld_v1queries[2];\n\t__u64 mld_v2queries[2];\n\t__u64 mld_leaves[2];\n\t__u64 mld_v1reports[2];\n\t__u64 mld_v2reports[2];\n\t__u64 mld_parse_errors;\n\t__u64 mcast_bytes[2];\n\t__u64 mcast_packets[2];\n};\n\nstruct br_mdb_entry {\n\t__u32 ifindex;\n\t__u8 state;\n\t__u8 flags;\n\t__u16 vid;\n\tstruct {\n\t\tunion {\n\t\t\t__be32 ip4;\n\t\t\tstruct in6_addr ip6;\n\t\t\tunsigned char mac_addr[6];\n\t\t} u;\n\t\t__be16 proto;\n\t} addr;\n};\n\nstruct br_port_msg {\n\t__u8 family;\n\t__u32 ifindex;\n};\n\nstruct metadata_dst;\n\nstruct br_tunnel_info {\n\t__be64 tunnel_id;\n\tstruct metadata_dst *tunnel_dst;\n};\n\nstruct brd_device {\n\tint brd_number;\n\tstruct gendisk *brd_disk;\n\tstruct list_head brd_list;\n\tstruct xarray brd_pages;\n\tu64 brd_nr_pages;\n};\n\nstruct bridge_id {\n\tunsigned char prio[2];\n\tunsigned char addr[6];\n};\n\ntypedef struct bridge_id bridge_id;\n\nstruct bridge_mcast_other_query {\n\tstruct timer_list timer;\n\tstruct timer_list delay_timer;\n};\n\nstruct bridge_mcast_own_query {\n\tstruct timer_list timer;\n\tu32 startup_sent;\n};\n\nstruct bridge_mcast_querier {\n\tstruct br_ip addr;\n\tint port_ifidx;\n\tseqcount_spinlock_t seq;\n};\n\nstruct bridge_mcast_stats {\n\tstruct br_mcast_stats mstats;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct bridge_stp_xstats {\n\t__u64 transition_blk;\n\t__u64 transition_fwd;\n\t__u64 rx_bpdu;\n\t__u64 tx_bpdu;\n\t__u64 rx_tcn;\n\t__u64 tx_tcn;\n};\n\nstruct broadcast_sk {\n\tstruct sock *sk;\n\tstruct work_struct work;\n};\n\nstruct broken_edid {\n\tu8 manufacturer[4];\n\tu32 model;\n\tu32 fix;\n};\n\nstruct fs_pin {\n\twait_queue_head_t wait;\n\tint done;\n\tstruct hlist_node s_list;\n\tstruct hlist_node m_list;\n\tvoid (*kill)(struct fs_pin *);\n};\n\nstruct bsd_acct_struct {\n\tstruct fs_pin pin;\n\tatomic_long_t count;\n\tstruct callback_head rcu;\n\tstruct mutex lock;\n\tbool active;\n\tbool check_space;\n\tlong unsigned int needcheck;\n\tstruct file *file;\n\tstruct pid_namespace *ns;\n\tstruct work_struct work;\n\tstruct completion done;\n\tacct_t ac;\n};\n\nstruct bsd_partition {\n\t__le32 p_size;\n\t__le32 p_offset;\n\t__le32 p_fsize;\n\t__u8 p_fstype;\n\t__u8 p_frag;\n\t__le16 p_cpg;\n};\n\nstruct bsd_disklabel {\n\t__le32 d_magic;\n\t__s16 d_type;\n\t__s16 d_subtype;\n\tchar d_typename[16];\n\tchar d_packname[16];\n\t__u32 d_secsize;\n\t__u32 d_nsectors;\n\t__u32 d_ntracks;\n\t__u32 d_ncylinders;\n\t__u32 d_secpercyl;\n\t__u32 d_secperunit;\n\t__u16 d_sparespertrack;\n\t__u16 d_sparespercyl;\n\t__u32 d_acylinders;\n\t__u16 d_rpm;\n\t__u16 d_interleave;\n\t__u16 d_trackskew;\n\t__u16 d_cylskew;\n\t__u32 d_headswitch;\n\t__u32 d_trkseek;\n\t__u32 d_flags;\n\t__u32 d_drivedata[5];\n\t__u32 d_spare[5];\n\t__le32 d_magic2;\n\t__le16 d_checksum;\n\t__le16 d_npartitions;\n\t__le32 d_bbsize;\n\t__le32 d_sbsize;\n\tstruct bsd_partition d_partitions[16];\n};\n\nstruct bsg_buffer {\n\tunsigned int payload_len;\n\tint sg_cnt;\n\tstruct scatterlist *sg_list;\n};\n\nstruct cdev {\n\tstruct kobject kobj;\n\tstruct module *owner;\n\tconst struct file_operations *ops;\n\tstruct list_head list;\n\tdev_t dev;\n\tunsigned int count;\n};\n\nstruct sg_io_v4;\n\ntypedef int bsg_sg_io_fn(struct request_queue *, struct sg_io_v4 *, bool, unsigned int);\n\nstruct bsg_device {\n\tstruct request_queue *queue;\n\tstruct device device;\n\tstruct cdev cdev;\n\tint max_queue;\n\tunsigned int timeout;\n\tunsigned int reserved_size;\n\tbsg_sg_io_fn *sg_io_fn;\n};\n\nstruct bsg_job {\n\tstruct device *dev;\n\tstruct kref kref;\n\tunsigned int timeout;\n\tvoid *request;\n\tvoid *reply;\n\tunsigned int request_len;\n\tunsigned int reply_len;\n\tstruct bsg_buffer request_payload;\n\tstruct bsg_buffer reply_payload;\n\tint result;\n\tunsigned int reply_payload_rcv_len;\n\tstruct request *bidi_rq;\n\tstruct bio *bidi_bio;\n\tvoid *dd_data;\n};\n\ntypedef int bsg_job_fn(struct bsg_job *);\n\ntypedef enum blk_eh_timer_return bsg_timeout_fn(struct request *);\n\nstruct bsg_set {\n\tstruct blk_mq_tag_set tag_set;\n\tstruct bsg_device *bd;\n\tbsg_job_fn *job_fn;\n\tbsg_timeout_fn *timeout_fn;\n};\n\ntypedef bool busy_tag_iter_fn(struct request *, void *);\n\nstruct bt_iter_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct request_queue *q;\n\tbusy_tag_iter_fn *fn;\n\tvoid *data;\n\tbool reserved;\n};\n\nstruct bt_tags_iter_data {\n\tstruct blk_mq_tags *tags;\n\tbusy_tag_iter_fn *fn;\n\tvoid *data;\n\tunsigned int flags;\n};\n\nstruct btf_header {\n\t__u16 magic;\n\t__u8 version;\n\t__u8 flags;\n\t__u32 hdr_len;\n\t__u32 type_off;\n\t__u32 type_len;\n\t__u32 str_off;\n\t__u32 str_len;\n};\n\nstruct btf_kfunc_set_tab;\n\nstruct btf_id_dtor_kfunc_tab;\n\nstruct btf_struct_metas;\n\nstruct btf_struct_ops_tab;\n\nstruct btf {\n\tvoid *data;\n\tstruct btf_type **types;\n\tu32 *resolved_ids;\n\tu32 *resolved_sizes;\n\tconst char *strings;\n\tvoid *nohdr_data;\n\tstruct btf_header hdr;\n\tu32 nr_types;\n\tu32 types_size;\n\tu32 data_size;\n\trefcount_t refcnt;\n\tu32 id;\n\tstruct callback_head rcu;\n\tstruct btf_kfunc_set_tab *kfunc_set_tab;\n\tstruct btf_id_dtor_kfunc_tab *dtor_kfunc_tab;\n\tstruct btf_struct_metas *struct_meta_tab;\n\tstruct btf_struct_ops_tab *struct_ops_tab;\n\tstruct btf *base_btf;\n\tu32 start_id;\n\tu32 start_str_off;\n\tchar name[56];\n\tbool kernel_btf;\n\t__u32 *base_id_map;\n};\n\nstruct btf_array {\n\t__u32 type;\n\t__u32 index_type;\n\t__u32 nelems;\n};\n\nstruct btf_decl_tag {\n\t__s32 component_idx;\n};\n\nstruct btf_enum {\n\t__u32 name_off;\n\t__s32 val;\n};\n\nstruct btf_enum64 {\n\t__u32 name_off;\n\t__u32 val_lo32;\n\t__u32 val_hi32;\n};\n\ntypedef void (*btf_dtor_kfunc_t)(void *);\n\nstruct btf_field_kptr {\n\tstruct btf *btf;\n\tstruct module *module;\n\tbtf_dtor_kfunc_t dtor;\n\tu32 btf_id;\n};\n\nstruct btf_field_graph_root {\n\tstruct btf *btf;\n\tu32 value_btf_id;\n\tu32 node_offset;\n\tstruct btf_record *value_rec;\n};\n\nstruct btf_field {\n\tu32 offset;\n\tu32 size;\n\tenum btf_field_type type;\n\tunion {\n\t\tstruct btf_field_kptr kptr;\n\t\tstruct btf_field_graph_root graph_root;\n\t};\n};\n\nstruct btf_field_desc {\n\tint t_off_cnt;\n\tint t_offs[2];\n\tint m_sz;\n\tint m_off_cnt;\n\tint m_offs[1];\n};\n\nstruct btf_field_info {\n\tenum btf_field_type type;\n\tu32 off;\n\tunion {\n\t\tstruct {\n\t\t\tu32 type_id;\n\t\t} kptr;\n\t\tstruct {\n\t\t\tconst char *node_name;\n\t\t\tu32 value_btf_id;\n\t\t} graph_root;\n\t};\n};\n\nstruct btf_field_iter {\n\tstruct btf_field_desc desc;\n\tvoid *p;\n\tint m_idx;\n\tint off_idx;\n\tint vlen;\n};\n\nstruct btf_id_dtor_kfunc {\n\tu32 btf_id;\n\tu32 kfunc_btf_id;\n};\n\nstruct btf_id_dtor_kfunc_tab {\n\tu32 cnt;\n\tstruct btf_id_dtor_kfunc dtors[0];\n};\n\nstruct btf_id_set {\n\tu32 cnt;\n\tu32 ids[0];\n};\n\nstruct btf_id_set8 {\n\tu32 cnt;\n\tu32 flags;\n\tstruct {\n\t\tu32 id;\n\t\tu32 flags;\n\t} pairs[0];\n};\n\ntypedef int (*btf_kfunc_filter_t)(const struct bpf_prog *, u32);\n\nstruct btf_kfunc_hook_filter {\n\tbtf_kfunc_filter_t filters[16];\n\tu32 nr_filters;\n};\n\nstruct btf_kfunc_id_set {\n\tstruct module *owner;\n\tstruct btf_id_set8 *set;\n\tbtf_kfunc_filter_t filter;\n};\n\nstruct btf_kfunc_set_tab {\n\tstruct btf_id_set8 *sets[14];\n\tstruct btf_kfunc_hook_filter hook_filters[14];\n};\n\nstruct btf_verifier_env;\n\nstruct resolve_vertex;\n\nstruct btf_show;\n\nstruct btf_kind_operations {\n\ts32 (*check_meta)(struct btf_verifier_env *, const struct btf_type *, u32);\n\tint (*resolve)(struct btf_verifier_env *, const struct resolve_vertex *);\n\tint (*check_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *);\n\tint (*check_kflag_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *);\n\tvoid (*log_details)(struct btf_verifier_env *, const struct btf_type *);\n\tvoid (*show)(const struct btf *, const struct btf_type *, u32, void *, u8, struct btf_show *);\n};\n\nstruct btf_member {\n\t__u32 name_off;\n\t__u32 type;\n\t__u32 offset;\n};\n\nstruct btf_module {\n\tstruct list_head list;\n\tstruct module *module;\n\tstruct btf *btf;\n\tstruct bin_attribute *sysfs_attr;\n\tint flags;\n};\n\nstruct btf_name_info {\n\tconst char *name;\n\tbool needs_size: 1;\n\tunsigned int size: 31;\n\t__u32 id;\n};\n\nstruct btf_param {\n\t__u32 name_off;\n\t__u32 type;\n};\n\nstruct btf_ptr {\n\tvoid *ptr;\n\t__u32 type_id;\n\t__u32 flags;\n};\n\nstruct btf_record {\n\tu32 cnt;\n\tu32 field_mask;\n\tint spin_lock_off;\n\tint timer_off;\n\tint wq_off;\n\tint refcount_off;\n\tstruct btf_field fields[0];\n};\n\nstruct btf_relocate {\n\tstruct btf *btf;\n\tconst struct btf *base_btf;\n\tconst struct btf *dist_base_btf;\n\tunsigned int nr_base_types;\n\tunsigned int nr_split_types;\n\tunsigned int nr_dist_base_types;\n\tint dist_str_len;\n\tint base_str_len;\n\t__u32 *id_map;\n\t__u32 *str_map;\n};\n\nstruct btf_sec_info {\n\tu32 off;\n\tu32 len;\n};\n\ntypedef void *va_list;\n\nstruct btf_show {\n\tu64 flags;\n\tvoid *target;\n\tvoid (*showfn)(struct btf_show *, const char *, va_list);\n\tconst struct btf *btf;\n\tstruct {\n\t\tu8 depth;\n\t\tu8 depth_to_show;\n\t\tu8 depth_check;\n\t\tu8 array_member: 1;\n\t\tu8 array_terminated: 1;\n\t\tu16 array_encoding;\n\t\tu32 type_id;\n\t\tint status;\n\t\tconst struct btf_type *type;\n\t\tconst struct btf_member *member;\n\t\tchar name[80];\n\t} state;\n\tstruct {\n\t\tu32 size;\n\t\tvoid *head;\n\t\tvoid *data;\n\t\tu8 safe[32];\n\t} obj;\n};\n\nstruct btf_show_snprintf {\n\tstruct btf_show show;\n\tint len_left;\n\tint len;\n};\n\nstruct btf_struct_meta {\n\tu32 btf_id;\n\tstruct btf_record *record;\n};\n\nstruct btf_struct_metas {\n\tu32 cnt;\n\tstruct btf_struct_meta types[0];\n};\n\nstruct btf_struct_ops_tab {\n\tu32 cnt;\n\tu32 capacity;\n\tstruct bpf_struct_ops_desc ops[0];\n};\n\nstruct btf_type {\n\t__u32 name_off;\n\t__u32 info;\n\tunion {\n\t\t__u32 size;\n\t\t__u32 type;\n\t};\n};\n\nstruct btf_var {\n\t__u32 linkage;\n};\n\nstruct btf_var_secinfo {\n\t__u32 type;\n\t__u32 offset;\n\t__u32 size;\n};\n\nstruct resolve_vertex {\n\tconst struct btf_type *t;\n\tu32 type_id;\n\tu16 next_member;\n};\n\nstruct btf_verifier_env {\n\tstruct btf *btf;\n\tu8 *visit_states;\n\tstruct resolve_vertex stack[32];\n\tstruct bpf_verifier_log log;\n\tu32 log_type_id;\n\tu32 top_stack;\n\tenum verifier_phase phase;\n\tenum resolve_mode resolve_mode;\n};\n\nstruct btree_geo {\n\tint keylen;\n\tint no_pairs;\n\tint no_longs;\n};\n\nstruct btree_head {\n\tlong unsigned int *node;\n\tmempool_t *mempool;\n\tint height;\n};\n\nstruct btrfs_delayed_root;\n\nstruct btrfs_async_delayed_work {\n\tstruct btrfs_delayed_root *delayed_root;\n\tint nr;\n\tstruct btrfs_work work;\n};\n\nstruct btrfs_backref_node;\n\nstruct btrfs_fs_info;\n\nstruct btrfs_backref_cache {\n\tstruct rb_root rb_root;\n\tstruct btrfs_backref_node *path[8];\n\tstruct list_head pending[8];\n\tu64 last_trans;\n\tint nr_nodes;\n\tint nr_edges;\n\tstruct list_head pending_edge;\n\tstruct list_head useless_node;\n\tstruct btrfs_fs_info *fs_info;\n\tbool is_reloc;\n};\n\nstruct btrfs_backref_edge {\n\tstruct list_head list[2];\n\tstruct btrfs_backref_node *node[2];\n};\n\nstruct btrfs_key {\n\t__u64 objectid;\n\t__u8 type;\n\t__u64 offset;\n} __attribute__((packed));\n\nstruct btrfs_path;\n\nstruct btrfs_backref_iter {\n\tu64 bytenr;\n\tstruct btrfs_path *path;\n\tstruct btrfs_fs_info *fs_info;\n\tstruct btrfs_key cur_key;\n\tu32 item_ptr;\n\tu32 cur_ptr;\n\tu32 end_ptr;\n};\n\nstruct btrfs_root;\n\nstruct extent_buffer;\n\nstruct btrfs_backref_node {\n\tstruct {\n\t\tstruct rb_node rb_node;\n\t\tu64 bytenr;\n\t};\n\tu64 new_bytenr;\n\tu64 owner;\n\tstruct list_head list;\n\tstruct list_head upper;\n\tstruct list_head lower;\n\tstruct btrfs_root *root;\n\tstruct extent_buffer *eb;\n\tunsigned int level: 8;\n\tunsigned int locked: 1;\n\tunsigned int processed: 1;\n\tunsigned int checked: 1;\n\tunsigned int pending: 1;\n\tunsigned int detached: 1;\n\tunsigned int is_reloc_root: 1;\n};\n\nstruct ulist_node;\n\nstruct ulist {\n\tlong unsigned int nnodes;\n\tstruct list_head nodes;\n\tstruct rb_root root;\n\tstruct ulist_node *prealloc;\n};\n\nstruct btrfs_backref_shared_cache_entry {\n\tu64 bytenr;\n\tu64 gen;\n\tbool is_shared;\n};\n\nstruct btrfs_backref_share_check_ctx {\n\tstruct ulist refs;\n\tu64 curr_leaf_bytenr;\n\tu64 prev_leaf_bytenr;\n\tstruct btrfs_backref_shared_cache_entry path_cache_entries[8];\n\tbool use_path_cache;\n\tstruct {\n\t\tu64 bytenr;\n\t\tbool is_shared;\n\t} prev_extents_cache[8];\n\tint prev_extents_cache_slot;\n};\n\ntypedef int iterate_extent_inodes_t(u64, u64, u64, u64, void *);\n\nstruct btrfs_trans_handle;\n\nstruct btrfs_extent_item;\n\nstruct btrfs_backref_walk_ctx {\n\tu64 bytenr;\n\tu64 extent_item_pos;\n\tbool ignore_extent_item_pos;\n\tbool skip_inode_ref_list;\n\tstruct btrfs_trans_handle *trans;\n\tstruct btrfs_fs_info *fs_info;\n\tu64 time_seq;\n\tstruct ulist *refs;\n\tstruct ulist *roots;\n\tbool (*cache_lookup)(u64, void *, const u64 **, int *);\n\tvoid (*cache_store)(u64, const struct ulist *, void *);\n\titerate_extent_inodes_t *indirect_ref_iterator;\n\tint (*check_extent_item)(u64, const struct btrfs_extent_item *, const struct extent_buffer *, void *);\n\tbool (*skip_data_ref)(u64, u64, u64, void *);\n\tvoid *user_ctx;\n};\n\nstruct btrfs_balance_args {\n\t__u64 profiles;\n\tunion {\n\t\t__u64 usage;\n\t\tstruct {\n\t\t\t__u32 usage_min;\n\t\t\t__u32 usage_max;\n\t\t};\n\t};\n\t__u64 devid;\n\t__u64 pstart;\n\t__u64 pend;\n\t__u64 vstart;\n\t__u64 vend;\n\t__u64 target;\n\t__u64 flags;\n\tunion {\n\t\t__u64 limit;\n\t\tstruct {\n\t\t\t__u32 limit_min;\n\t\t\t__u32 limit_max;\n\t\t};\n\t};\n\t__u32 stripes_min;\n\t__u32 stripes_max;\n\t__u64 unused[6];\n};\n\nstruct btrfs_balance_progress {\n\t__u64 expected;\n\t__u64 considered;\n\t__u64 completed;\n};\n\nstruct btrfs_balance_control {\n\tstruct btrfs_balance_args data;\n\tstruct btrfs_balance_args meta;\n\tstruct btrfs_balance_args sys;\n\tu64 flags;\n\tstruct btrfs_balance_progress stat;\n};\n\nstruct btrfs_disk_balance_args {\n\t__le64 profiles;\n\tunion {\n\t\t__le64 usage;\n\t\tstruct {\n\t\t\t__le32 usage_min;\n\t\t\t__le32 usage_max;\n\t\t};\n\t};\n\t__le64 devid;\n\t__le64 pstart;\n\t__le64 pend;\n\t__le64 vstart;\n\t__le64 vend;\n\t__le64 target;\n\t__le64 flags;\n\tunion {\n\t\t__le64 limit;\n\t\tstruct {\n\t\t\t__le32 limit_min;\n\t\t\t__le32 limit_max;\n\t\t};\n\t};\n\t__le32 stripes_min;\n\t__le32 stripes_max;\n\t__le64 unused[6];\n};\n\nstruct btrfs_balance_item {\n\t__le64 flags;\n\tstruct btrfs_disk_balance_args data;\n\tstruct btrfs_disk_balance_args meta;\n\tstruct btrfs_disk_balance_args sys;\n\t__le64 unused[4];\n};\n\nstruct btrfs_tree_parent_check {\n\tu64 owner_root;\n\tu64 transid;\n\tstruct btrfs_key first_key;\n\tbool has_first_key;\n\tu8 level;\n};\n\ntypedef void (*btrfs_bio_end_io_t)(struct btrfs_bio *);\n\nstruct btrfs_ordered_extent;\n\nstruct btrfs_ordered_sum;\n\nstruct btrfs_bio {\n\tstruct btrfs_inode *inode;\n\tu64 file_offset;\n\tunion {\n\t\tstruct {\n\t\t\tu8 *csum;\n\t\t\tu8 csum_inline[64];\n\t\t\tstruct bvec_iter saved_iter;\n\t\t};\n\t\tstruct {\n\t\t\tstruct btrfs_ordered_extent *ordered;\n\t\t\tstruct btrfs_ordered_sum *sums;\n\t\t\tu64 orig_physical;\n\t\t};\n\t\tstruct btrfs_tree_parent_check parent_check;\n\t};\n\tbtrfs_bio_end_io_t end_io;\n\tvoid *private;\n\tunsigned int mirror_num;\n\tatomic_t pending_ios;\n\tstruct work_struct end_io_work;\n\tstruct btrfs_fs_info *fs_info;\n\tblk_status_t status;\n\tstruct bio bio;\n};\n\nstruct btrfs_bio_ctrl {\n\tstruct btrfs_bio *bbio;\n\tenum btrfs_compression_type compress_type;\n\tu32 len_to_oe_boundary;\n\tblk_opf_t opf;\n\tbtrfs_bio_end_io_t end_io_func;\n\tstruct writeback_control *wbc;\n\tlong unsigned int submit_bitmap;\n};\n\nstruct btrfs_io_ctl {\n\tvoid *cur;\n\tvoid *orig;\n\tstruct page *page;\n\tstruct page **pages;\n\tstruct btrfs_fs_info *fs_info;\n\tstruct inode *inode;\n\tlong unsigned int size;\n\tint index;\n\tint num_pages;\n\tint entries;\n\tint bitmaps;\n};\n\nstruct btrfs_caching_control;\n\nstruct btrfs_space_info;\n\nstruct btrfs_free_space_ctl;\n\nstruct btrfs_chunk_map;\n\nstruct btrfs_block_group {\n\tstruct btrfs_fs_info *fs_info;\n\tstruct btrfs_inode *inode;\n\tspinlock_t lock;\n\tu64 start;\n\tu64 length;\n\tu64 pinned;\n\tu64 reserved;\n\tu64 used;\n\tu64 delalloc_bytes;\n\tu64 bytes_super;\n\tu64 flags;\n\tu64 cache_generation;\n\tu64 global_root_id;\n\tu64 commit_used;\n\tu32 bitmap_high_thresh;\n\tu32 bitmap_low_thresh;\n\tstruct rw_semaphore data_rwsem;\n\tlong unsigned int full_stripe_len;\n\tlong unsigned int runtime_flags;\n\tunsigned int ro;\n\tint disk_cache_state;\n\tint cached;\n\tstruct btrfs_caching_control *caching_ctl;\n\tstruct btrfs_space_info *space_info;\n\tstruct btrfs_free_space_ctl *free_space_ctl;\n\tstruct rb_node cache_node;\n\tstruct list_head list;\n\trefcount_t refs;\n\tstruct list_head cluster_list;\n\tstruct list_head bg_list;\n\tstruct list_head ro_list;\n\tatomic_t frozen;\n\tstruct list_head discard_list;\n\tint discard_index;\n\tu64 discard_eligible_time;\n\tu64 discard_cursor;\n\tenum btrfs_discard_state discard_state;\n\tstruct list_head dirty_list;\n\tstruct list_head io_list;\n\tstruct btrfs_io_ctl io_ctl;\n\tatomic_t reservations;\n\tatomic_t nocow_writers;\n\tstruct mutex free_space_lock;\n\tint swap_extents;\n\tu64 alloc_offset;\n\tu64 zone_unusable;\n\tu64 zone_capacity;\n\tu64 meta_write_pointer;\n\tstruct btrfs_chunk_map *physical_map;\n\tstruct list_head active_bg_list;\n\tstruct work_struct zone_finish_work;\n\tstruct extent_buffer *last_eb;\n\tenum btrfs_block_group_size_class size_class;\n\tu64 reclaim_mark;\n};\n\nstruct btrfs_block_group_item {\n\t__le64 used;\n\t__le64 chunk_objectid;\n\t__le64 flags;\n};\n\nstruct btrfs_block_rsv {\n\tu64 size;\n\tu64 reserved;\n\tstruct btrfs_space_info *space_info;\n\tspinlock_t lock;\n\tbool full;\n\tbool failfast;\n\tenum btrfs_rsv_type type: 8;\n\tu64 qgroup_rsv_size;\n\tu64 qgroup_rsv_reserved;\n};\n\nstruct btrfs_caching_control {\n\tstruct list_head list;\n\tstruct mutex mutex;\n\twait_queue_head_t wait;\n\tstruct btrfs_work work;\n\tstruct btrfs_block_group *block_group;\n\tatomic_t progress;\n\trefcount_t count;\n};\n\nstruct btrfs_stripe {\n\t__le64 devid;\n\t__le64 offset;\n\t__u8 dev_uuid[16];\n};\n\nstruct btrfs_chunk {\n\t__le64 length;\n\t__le64 owner;\n\t__le64 stripe_len;\n\t__le64 type;\n\t__le32 io_align;\n\t__le32 io_width;\n\t__le32 sector_size;\n\t__le16 num_stripes;\n\t__le16 sub_stripes;\n\tstruct btrfs_stripe stripe;\n};\n\nstruct btrfs_chunk_map {\n\tstruct rb_node rb_node;\n\tint verified_stripes;\n\trefcount_t refs;\n\tu64 start;\n\tu64 chunk_len;\n\tu64 stripe_size;\n\tu64 type;\n\tint io_align;\n\tint io_width;\n\tint num_stripes;\n\tint sub_stripes;\n\tstruct btrfs_io_stripe stripes[0];\n};\n\nstruct btrfs_cmd_header {\n\t__le32 len;\n\t__le16 cmd;\n\t__le32 crc;\n} __attribute__((packed));\n\nstruct btrfs_commit_stats {\n\tu64 commit_count;\n\tu64 max_commit_dur;\n\tu64 last_commit_dur;\n\tu64 total_commit_dur;\n};\n\nstruct shrinker;\n\nstruct btrfs_compr_pool {\n\tstruct shrinker *shrinker;\n\tspinlock_t lock;\n\tstruct list_head list;\n\tint count;\n\tint thresh;\n};\n\nstruct workspace_manager;\n\nstruct btrfs_compress_op {\n\tstruct workspace_manager *workspace_manager;\n\tunsigned int max_level;\n\tunsigned int default_level;\n};\n\nstruct btrfs_csum_item {\n\t__u8 csum;\n};\n\nstruct btrfs_csums {\n\tu16 size;\n\tconst char name[10];\n\tconst char driver[12];\n};\n\nstruct btrfs_data_container {\n\t__u32 bytes_left;\n\t__u32 bytes_missing;\n\t__u32 elem_cnt;\n\t__u32 elem_missed;\n\t__u64 val[0];\n};\n\nstruct btrfs_data_ref {\n\tu64 objectid;\n\tu64 offset;\n};\n\nstruct btrfs_delalloc_work {\n\tstruct inode *inode;\n\tstruct completion completion;\n\tstruct list_head list;\n\tstruct btrfs_work work;\n};\n\nstruct btrfs_disk_key {\n\t__le64 objectid;\n\t__u8 type;\n\t__le64 offset;\n} __attribute__((packed));\n\nstruct btrfs_delayed_extent_op {\n\tstruct btrfs_disk_key key;\n\tbool update_key;\n\tbool update_flags;\n\tu64 flags_to_set;\n};\n\nstruct btrfs_delayed_node;\n\nstruct btrfs_delayed_item {\n\tstruct rb_node rb_node;\n\tu64 index;\n\tstruct list_head tree_list;\n\tstruct list_head readdir_list;\n\tstruct list_head log_list;\n\tu64 bytes_reserved;\n\tstruct btrfs_delayed_node *delayed_node;\n\trefcount_t refs;\n\tenum btrfs_delayed_item_type type: 8;\n\tbool logged;\n\tu16 data_len;\n\tchar data[0];\n};\n\nstruct btrfs_timespec {\n\t__le64 sec;\n\t__le32 nsec;\n} __attribute__((packed));\n\nstruct btrfs_inode_item {\n\t__le64 generation;\n\t__le64 transid;\n\t__le64 size;\n\t__le64 nbytes;\n\t__le64 block_group;\n\t__le32 nlink;\n\t__le32 uid;\n\t__le32 gid;\n\t__le32 mode;\n\t__le64 rdev;\n\t__le64 flags;\n\t__le64 sequence;\n\t__le64 reserved[4];\n\tstruct btrfs_timespec atime;\n\tstruct btrfs_timespec ctime;\n\tstruct btrfs_timespec mtime;\n\tstruct btrfs_timespec otime;\n};\n\nstruct btrfs_delayed_node {\n\tu64 inode_id;\n\tu64 bytes_reserved;\n\tstruct btrfs_root *root;\n\tstruct list_head n_list;\n\tstruct list_head p_list;\n\tstruct rb_root_cached ins_root;\n\tstruct rb_root_cached del_root;\n\tstruct mutex mutex;\n\tstruct btrfs_inode_item inode_item;\n\trefcount_t refs;\n\tint count;\n\tu64 index_cnt;\n\tlong unsigned int flags;\n\tu32 curr_index_batch_size;\n\tu32 index_item_leaves;\n};\n\nstruct btrfs_delayed_ref_head {\n\tu64 bytenr;\n\tu64 num_bytes;\n\tstruct mutex mutex;\n\trefcount_t refs;\n\tspinlock_t lock;\n\tstruct rb_root_cached ref_tree;\n\tstruct list_head ref_add_list;\n\tstruct btrfs_delayed_extent_op *extent_op;\n\tint total_ref_mod;\n\tint ref_mod;\n\tu64 owning_root;\n\tu64 reserved_bytes;\n\tu8 level;\n\tbool must_insert_reserved;\n\tbool is_data;\n\tbool is_system;\n\tbool processing;\n\tbool tracked;\n};\n\nstruct btrfs_tree_ref {\n\tint level;\n};\n\nstruct btrfs_delayed_ref_node {\n\tstruct rb_node ref_node;\n\tstruct list_head add_list;\n\tu64 bytenr;\n\tu64 num_bytes;\n\tu64 seq;\n\tu64 ref_root;\n\tu64 parent;\n\trefcount_t refs;\n\tint ref_mod;\n\tunsigned int action: 8;\n\tunsigned int type: 8;\n\tunion {\n\t\tstruct btrfs_tree_ref tree_ref;\n\t\tstruct btrfs_data_ref data_ref;\n\t};\n};\n\nstruct btrfs_delayed_ref_root {\n\tstruct xarray head_refs;\n\tstruct xarray dirty_extents;\n\tspinlock_t lock;\n\tlong unsigned int num_heads;\n\tlong unsigned int num_heads_ready;\n\tu64 pending_csums;\n\tlong unsigned int flags;\n\tu64 run_delayed_start;\n\tu64 qgroup_to_skip;\n};\n\nstruct btrfs_delayed_root {\n\tspinlock_t lock;\n\tstruct list_head node_list;\n\tstruct list_head prepare_list;\n\tatomic_t items;\n\tatomic_t items_seq;\n\tint nodes;\n\twait_queue_head_t wait;\n};\n\nstruct btrfs_dev_extent {\n\t__le64 chunk_tree;\n\t__le64 chunk_objectid;\n\t__le64 chunk_offset;\n\t__le64 length;\n\t__u8 chunk_tree_uuid[16];\n};\n\nstruct btrfs_dev_item {\n\t__le64 devid;\n\t__le64 total_bytes;\n\t__le64 bytes_used;\n\t__le32 io_align;\n\t__le32 io_width;\n\t__le32 sector_size;\n\t__le64 type;\n\t__le64 generation;\n\t__le64 start_offset;\n\t__le32 dev_group;\n\t__u8 seek_speed;\n\t__u8 bandwidth;\n\t__u8 uuid[16];\n\t__u8 fsid[16];\n} __attribute__((packed));\n\nstruct btrfs_dev_lookup_args {\n\tu64 devid;\n\tu8 *uuid;\n\tu8 *fsid;\n\tbool missing;\n};\n\nstruct btrfs_scrub_progress {\n\t__u64 data_extents_scrubbed;\n\t__u64 tree_extents_scrubbed;\n\t__u64 data_bytes_scrubbed;\n\t__u64 tree_bytes_scrubbed;\n\t__u64 read_errors;\n\t__u64 csum_errors;\n\t__u64 verify_errors;\n\t__u64 no_csum;\n\t__u64 csum_discards;\n\t__u64 super_errors;\n\t__u64 malloc_errors;\n\t__u64 uncorrectable_errors;\n\t__u64 corrected_errors;\n\t__u64 last_physical;\n\t__u64 unverified_errors;\n};\n\nstruct btrfs_dev_replace {\n\tu64 replace_state;\n\ttime64_t time_started;\n\ttime64_t time_stopped;\n\tatomic64_t num_write_errors;\n\tatomic64_t num_uncorrectable_read_errors;\n\tu64 cursor_left;\n\tu64 committed_cursor_left;\n\tu64 cursor_left_last_write_of_item;\n\tu64 cursor_right;\n\tu64 cont_reading_from_srcdev_mode;\n\tint is_valid;\n\tint item_needs_writeback;\n\tstruct btrfs_device *srcdev;\n\tstruct btrfs_device *tgtdev;\n\tstruct mutex lock_finishing_cancel_unmount;\n\tstruct rw_semaphore rwsem;\n\tstruct btrfs_scrub_progress scrub_progress;\n\tstruct percpu_counter bio_counter;\n\twait_queue_head_t replace_wait;\n\tstruct task_struct *replace_task;\n};\n\nstruct btrfs_dev_replace_item {\n\t__le64 src_devid;\n\t__le64 cursor_left;\n\t__le64 cursor_right;\n\t__le64 cont_reading_from_srcdev_mode;\n\t__le64 replace_state;\n\t__le64 time_started;\n\t__le64 time_stopped;\n\t__le64 num_write_errors;\n\t__le64 num_uncorrectable_read_errors;\n};\n\nstruct btrfs_dev_stats_item {\n\t__le64 values[5];\n};\n\nstruct extent_io_tree {\n\tstruct rb_root state;\n\tunion {\n\t\tstruct btrfs_fs_info *fs_info;\n\t\tstruct btrfs_inode *inode;\n\t};\n\tu8 owner;\n\tspinlock_t lock;\n};\n\nstruct btrfs_fs_devices;\n\nstruct rcu_string;\n\nstruct btrfs_zoned_device_info;\n\nstruct scrub_ctx;\n\nstruct btrfs_device {\n\tstruct list_head dev_list;\n\tstruct list_head dev_alloc_list;\n\tstruct list_head post_commit_list;\n\tstruct btrfs_fs_devices *fs_devices;\n\tstruct btrfs_fs_info *fs_info;\n\tstruct rcu_string *name;\n\tu64 generation;\n\tstruct file *bdev_file;\n\tstruct block_device *bdev;\n\tstruct btrfs_zoned_device_info *zone_info;\n\tdev_t devt;\n\tlong unsigned int dev_state;\n\tblk_status_t last_flush_error;\n\tu64 devid;\n\tu64 total_bytes;\n\tu64 disk_total_bytes;\n\tu64 bytes_used;\n\tu32 io_align;\n\tu32 io_width;\n\tu64 type;\n\tatomic_t sb_write_errors;\n\tu32 sector_size;\n\tu8 uuid[16];\n\tu64 commit_total_bytes;\n\tu64 commit_bytes_used;\n\tstruct bio flush_bio;\n\tstruct completion flush_wait;\n\tstruct scrub_ctx *scrub_ctx;\n\tint dev_stats_valid;\n\tatomic_t dev_stats_ccnt;\n\tatomic_t dev_stat_values[5];\n\tstruct extent_io_tree alloc_state;\n\tstruct completion kobj_unregister;\n\tstruct kobject devid_kobj;\n\tu64 scrub_speed_max;\n};\n\nstruct btrfs_device_info {\n\tstruct btrfs_device *dev;\n\tu64 dev_offset;\n\tu64 max_avail;\n\tu64 total_avail;\n};\n\nstruct extent_changeset;\n\nstruct btrfs_dio_data {\n\tssize_t submitted;\n\tstruct extent_changeset *data_reserved;\n\tstruct btrfs_ordered_extent *ordered;\n\tbool data_space_reserved;\n\tbool nocow_done;\n};\n\nstruct btrfs_dio_private {\n\tu64 file_offset;\n\tu32 bytes;\n\tstruct btrfs_bio bbio;\n};\n\nstruct btrfs_dir_item {\n\tstruct btrfs_disk_key location;\n\t__le64 transid;\n\t__le16 data_len;\n\t__le16 name_len;\n\t__u8 type;\n} __attribute__((packed));\n\nstruct btrfs_dir_list {\n\tu64 ino;\n\tstruct list_head list;\n};\n\nstruct btrfs_dir_log_item {\n\t__le64 end;\n};\n\nstruct btrfs_discard_ctl {\n\tstruct workqueue_struct *discard_workers;\n\tstruct delayed_work work;\n\tspinlock_t lock;\n\tstruct btrfs_block_group *block_group;\n\tstruct list_head discard_list[3];\n\tu64 prev_discard;\n\tu64 prev_discard_time;\n\tatomic_t discardable_extents;\n\tatomic64_t discardable_bytes;\n\tu64 max_discard_size;\n\tu64 delay_ms;\n\tu32 iops_limit;\n\tu32 kbps_limit;\n\tu64 discard_extent_bytes;\n\tu64 discard_bitmap_bytes;\n\tatomic64_t discard_bytes_saved;\n};\n\nstruct btrfs_discard_stripe {\n\tstruct btrfs_device *dev;\n\tu64 physical;\n\tu64 length;\n};\n\nstruct btrfs_drew_lock {\n\tatomic_t readers;\n\tatomic_t writers;\n\twait_queue_head_t pending_writers;\n\twait_queue_head_t pending_readers;\n};\n\nstruct btrfs_drop_extents_args {\n\tstruct btrfs_path *path;\n\tu64 start;\n\tu64 end;\n\tbool drop_cache;\n\tbool replace_extent;\n\tu32 extent_item_size;\n\tu64 drop_end;\n\tu64 bytes_found;\n\tbool extent_inserted;\n};\n\nstruct btrfs_eb_write_context {\n\tstruct writeback_control *wbc;\n\tstruct extent_buffer *eb;\n\tstruct btrfs_block_group *zoned_bg;\n};\n\nstruct btrfs_em_shrink_ctx {\n\tlong int nr_to_scan;\n\tlong int scanned;\n};\n\nstruct btrfs_encoded_read_private {\n\tstruct completion done;\n\tvoid *uring_ctx;\n\trefcount_t pending_refs;\n\tblk_status_t status;\n};\n\nstruct btrfs_extent_data_ref {\n\t__le64 root;\n\t__le64 objectid;\n\t__le64 offset;\n\t__le32 count;\n} __attribute__((packed));\n\nstruct btrfs_extent_inline_ref {\n\t__u8 type;\n\t__le64 offset;\n} __attribute__((packed));\n\nstruct btrfs_extent_item {\n\t__le64 refs;\n\t__le64 generation;\n\t__le64 flags;\n};\n\nstruct btrfs_extent_owner_ref {\n\t__le64 root_id;\n};\n\nstruct btrfs_failed_bio {\n\tstruct btrfs_bio *bbio;\n\tint num_copies;\n\tatomic_t repair_count;\n};\n\nstruct kobj_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kobject *, struct kobj_attribute *, char *);\n\tssize_t (*store)(struct kobject *, struct kobj_attribute *, const char *, size_t);\n};\n\nstruct btrfs_feature_attr {\n\tstruct kobj_attribute kobj_attr;\n\tenum btrfs_feature_set feature_set;\n\tu64 feature_bit;\n};\n\nstruct btrfs_fid {\n\tu64 objectid;\n\tu64 root_objectid;\n\tu32 gen;\n\tu64 parent_objectid;\n\tu32 parent_gen;\n\tu64 parent_root_objectid;\n} __attribute__((packed));\n\nstruct btrfs_fiemap_entry {\n\tu64 offset;\n\tu64 phys;\n\tu64 len;\n\tu32 flags;\n};\n\nstruct btrfs_file_extent {\n\tu64 disk_bytenr;\n\tu64 disk_num_bytes;\n\tu64 num_bytes;\n\tu64 ram_bytes;\n\tu64 offset;\n\tu8 compression;\n};\n\nstruct btrfs_file_extent_item {\n\t__le64 generation;\n\t__le64 ram_bytes;\n\t__u8 compression;\n\t__u8 encryption;\n\t__le16 other_encoding;\n\t__u8 type;\n\t__le64 disk_bytenr;\n\t__le64 disk_num_bytes;\n\t__le64 offset;\n\t__le64 num_bytes;\n} __attribute__((packed));\n\nstruct extent_state;\n\nstruct btrfs_file_private {\n\tvoid *filldir_buf;\n\tu64 last_index;\n\tstruct extent_state *llseek_cached_state;\n\tstruct task_struct *owner_task;\n};\n\nstruct btrfs_free_cluster {\n\tspinlock_t lock;\n\tspinlock_t refill_lock;\n\tstruct rb_root root;\n\tu64 max_size;\n\tu64 window_start;\n\tbool fragmented;\n\tstruct btrfs_block_group *block_group;\n\tstruct list_head block_group_list;\n};\n\nstruct btrfs_free_space {\n\tstruct rb_node offset_index;\n\tstruct rb_node bytes_index;\n\tu64 offset;\n\tu64 bytes;\n\tu64 max_extent_size;\n\tlong unsigned int *bitmap;\n\tstruct list_head list;\n\tenum btrfs_trim_state trim_state;\n\ts32 bitmap_extents;\n};\n\nstruct btrfs_free_space_op;\n\nstruct btrfs_free_space_ctl {\n\tspinlock_t tree_lock;\n\tstruct rb_root free_space_offset;\n\tstruct rb_root_cached free_space_bytes;\n\tu64 free_space;\n\tint extents_thresh;\n\tint free_extents;\n\tint total_bitmaps;\n\tint unit;\n\tu64 start;\n\ts32 discardable_extents[2];\n\ts64 discardable_bytes[2];\n\tconst struct btrfs_free_space_op *op;\n\tstruct btrfs_block_group *block_group;\n\tstruct mutex cache_writeout_mutex;\n\tstruct list_head trimming_ranges;\n};\n\nstruct btrfs_free_space_entry {\n\t__le64 offset;\n\t__le64 bytes;\n\t__u8 type;\n} __attribute__((packed));\n\nstruct btrfs_free_space_header {\n\tstruct btrfs_disk_key location;\n\t__le64 generation;\n\t__le64 num_entries;\n\t__le64 num_bitmaps;\n} __attribute__((packed));\n\nstruct btrfs_free_space_info {\n\t__le32 extent_count;\n\t__le32 flags;\n};\n\nstruct btrfs_free_space_op {\n\tbool (*use_bitmap)(struct btrfs_free_space_ctl *, struct btrfs_free_space *);\n};\n\nstruct btrfs_fs_context {\n\tchar *subvol_name;\n\tu64 subvol_objectid;\n\tu64 max_inline;\n\tu32 commit_interval;\n\tu32 metadata_ratio;\n\tu32 thread_pool_size;\n\tlong long unsigned int mount_opt;\n\tlong unsigned int compress_type: 4;\n\tunsigned int compress_level;\n\trefcount_t refs;\n};\n\nstruct btrfs_fs_devices {\n\tu8 fsid[16];\n\tu8 metadata_uuid[16];\n\tstruct list_head fs_list;\n\tu64 num_devices;\n\tu64 open_devices;\n\tu64 rw_devices;\n\tu64 missing_devices;\n\tu64 total_rw_bytes;\n\tu64 total_devices;\n\tu64 latest_generation;\n\tstruct btrfs_device *latest_dev;\n\tstruct mutex device_list_mutex;\n\tstruct list_head devices;\n\tstruct list_head alloc_list;\n\tstruct list_head seed_list;\n\tint opened;\n\tbool rotating;\n\tbool discardable;\n\tbool seeding;\n\tbool temp_fsid;\n\tbool collect_fs_stats;\n\tstruct btrfs_fs_info *fs_info;\n\tstruct kobject fsid_kobj;\n\tstruct kobject *devices_kobj;\n\tstruct kobject *devinfo_kobj;\n\tstruct completion kobj_unregister;\n\tenum btrfs_chunk_allocation_policy chunk_alloc_policy;\n\tenum btrfs_read_policy read_policy;\n};\n\nstruct semaphore {\n\traw_spinlock_t lock;\n\tunsigned int count;\n\tstruct list_head wait_list;\n};\n\nstruct queue_limits {\n\tblk_features_t features;\n\tblk_flags_t flags;\n\tlong unsigned int seg_boundary_mask;\n\tlong unsigned int virt_boundary_mask;\n\tunsigned int max_hw_sectors;\n\tunsigned int max_dev_sectors;\n\tunsigned int chunk_sectors;\n\tunsigned int max_sectors;\n\tunsigned int max_user_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int min_segment_size;\n\tunsigned int physical_block_size;\n\tunsigned int logical_block_size;\n\tunsigned int alignment_offset;\n\tunsigned int io_min;\n\tunsigned int io_opt;\n\tunsigned int max_discard_sectors;\n\tunsigned int max_hw_discard_sectors;\n\tunsigned int max_user_discard_sectors;\n\tunsigned int max_secure_erase_sectors;\n\tunsigned int max_write_zeroes_sectors;\n\tunsigned int max_hw_zone_append_sectors;\n\tunsigned int max_zone_append_sectors;\n\tunsigned int discard_granularity;\n\tunsigned int discard_alignment;\n\tunsigned int zone_write_granularity;\n\tunsigned int atomic_write_hw_max;\n\tunsigned int atomic_write_max_sectors;\n\tunsigned int atomic_write_hw_boundary;\n\tunsigned int atomic_write_boundary_sectors;\n\tunsigned int atomic_write_hw_unit_min;\n\tunsigned int atomic_write_unit_min;\n\tunsigned int atomic_write_hw_unit_max;\n\tunsigned int atomic_write_unit_max;\n\tshort unsigned int max_segments;\n\tshort unsigned int max_integrity_segments;\n\tshort unsigned int max_discard_segments;\n\tunsigned int max_open_zones;\n\tunsigned int max_active_zones;\n\tunsigned int dma_alignment;\n\tunsigned int dma_pad_mask;\n\tstruct blk_integrity integrity;\n};\n\nstruct lockdep_map {};\n\nstruct btrfs_transaction;\n\nstruct btrfs_super_block;\n\nstruct btrfs_stripe_hash_table;\n\nstruct reloc_control;\n\nstruct crypto_shash;\n\nstruct btrfs_fs_info {\n\tu8 chunk_tree_uuid[16];\n\tlong unsigned int flags;\n\tstruct btrfs_root *tree_root;\n\tstruct btrfs_root *chunk_root;\n\tstruct btrfs_root *dev_root;\n\tstruct btrfs_root *fs_root;\n\tstruct btrfs_root *quota_root;\n\tstruct btrfs_root *uuid_root;\n\tstruct btrfs_root *data_reloc_root;\n\tstruct btrfs_root *block_group_root;\n\tstruct btrfs_root *stripe_root;\n\tstruct btrfs_root *log_root_tree;\n\trwlock_t global_root_lock;\n\tstruct rb_root global_root_tree;\n\tspinlock_t fs_roots_radix_lock;\n\tstruct xarray fs_roots_radix;\n\trwlock_t block_group_cache_lock;\n\tstruct rb_root_cached block_group_cache_tree;\n\tatomic64_t free_chunk_space;\n\tstruct extent_io_tree excluded_extents;\n\tstruct rb_root_cached mapping_tree;\n\trwlock_t mapping_tree_lock;\n\tstruct btrfs_block_rsv global_block_rsv;\n\tstruct btrfs_block_rsv trans_block_rsv;\n\tstruct btrfs_block_rsv chunk_block_rsv;\n\tstruct btrfs_block_rsv delayed_block_rsv;\n\tstruct btrfs_block_rsv delayed_refs_rsv;\n\tstruct btrfs_block_rsv empty_block_rsv;\n\tu64 generation;\n\tu64 last_trans_committed;\n\tu64 last_reloc_trans;\n\tu64 last_trans_log_full_commit;\n\tlong long unsigned int mount_opt;\n\tlong unsigned int compress_type: 4;\n\tunsigned int compress_level;\n\tu32 commit_interval;\n\tu64 max_inline;\n\tstruct btrfs_transaction *running_transaction;\n\twait_queue_head_t transaction_throttle;\n\twait_queue_head_t transaction_wait;\n\twait_queue_head_t transaction_blocked_wait;\n\twait_queue_head_t async_submit_wait;\n\tspinlock_t super_lock;\n\tstruct btrfs_super_block *super_copy;\n\tstruct btrfs_super_block *super_for_commit;\n\tstruct super_block *sb;\n\tstruct inode *btree_inode;\n\tstruct mutex tree_log_mutex;\n\tstruct mutex transaction_kthread_mutex;\n\tstruct mutex cleaner_mutex;\n\tstruct mutex chunk_mutex;\n\tstruct mutex ro_block_group_mutex;\n\tstruct btrfs_stripe_hash_table *stripe_hash_table;\n\tstruct mutex ordered_operations_mutex;\n\tstruct rw_semaphore commit_root_sem;\n\tstruct rw_semaphore cleanup_work_sem;\n\tstruct rw_semaphore subvol_sem;\n\tspinlock_t trans_lock;\n\tstruct mutex reloc_mutex;\n\tstruct list_head trans_list;\n\tstruct list_head dead_roots;\n\tstruct list_head caching_block_groups;\n\tspinlock_t delayed_iput_lock;\n\tstruct list_head delayed_iputs;\n\tatomic_t nr_delayed_iputs;\n\twait_queue_head_t delayed_iputs_wait;\n\tatomic64_t tree_mod_seq;\n\trwlock_t tree_mod_log_lock;\n\tstruct rb_root tree_mod_log;\n\tstruct list_head tree_mod_seq_list;\n\tatomic_t async_delalloc_pages;\n\tspinlock_t ordered_root_lock;\n\tstruct list_head ordered_roots;\n\tstruct mutex delalloc_root_mutex;\n\tspinlock_t delalloc_root_lock;\n\tstruct list_head delalloc_roots;\n\tstruct btrfs_workqueue *workers;\n\tstruct btrfs_workqueue *delalloc_workers;\n\tstruct btrfs_workqueue *flush_workers;\n\tstruct workqueue_struct *endio_workers;\n\tstruct workqueue_struct *endio_meta_workers;\n\tstruct workqueue_struct *rmw_workers;\n\tstruct workqueue_struct *compressed_write_workers;\n\tstruct btrfs_workqueue *endio_write_workers;\n\tstruct btrfs_workqueue *endio_freespace_worker;\n\tstruct btrfs_workqueue *caching_workers;\n\tstruct btrfs_workqueue *fixup_workers;\n\tstruct btrfs_workqueue *delayed_workers;\n\tstruct task_struct *transaction_kthread;\n\tstruct task_struct *cleaner_kthread;\n\tu32 thread_pool_size;\n\tstruct kobject *space_info_kobj;\n\tstruct kobject *qgroups_kobj;\n\tstruct kobject *discard_kobj;\n\tstruct percpu_counter stats_read_blocks;\n\tstruct percpu_counter dirty_metadata_bytes;\n\tstruct percpu_counter delalloc_bytes;\n\tstruct percpu_counter ordered_bytes;\n\ts32 dirty_metadata_batch;\n\ts32 delalloc_batch;\n\tstruct percpu_counter evictable_extent_maps;\n\tu64 em_shrinker_last_root;\n\tu64 em_shrinker_last_ino;\n\tatomic64_t em_shrinker_nr_to_scan;\n\tstruct work_struct em_shrinker_work;\n\tstruct list_head dirty_cowonly_roots;\n\tstruct btrfs_fs_devices *fs_devices;\n\tstruct list_head space_info;\n\tstruct btrfs_space_info *data_sinfo;\n\tstruct reloc_control *reloc_ctl;\n\tstruct btrfs_free_cluster data_alloc_cluster;\n\tstruct btrfs_free_cluster meta_alloc_cluster;\n\tspinlock_t defrag_inodes_lock;\n\tstruct rb_root defrag_inodes;\n\tatomic_t defrag_running;\n\tseqlock_t profiles_lock;\n\tu64 avail_data_alloc_bits;\n\tu64 avail_metadata_alloc_bits;\n\tu64 avail_system_alloc_bits;\n\tspinlock_t balance_lock;\n\tstruct mutex balance_mutex;\n\tatomic_t balance_pause_req;\n\tatomic_t balance_cancel_req;\n\tstruct btrfs_balance_control *balance_ctl;\n\twait_queue_head_t balance_wait_q;\n\tatomic_t reloc_cancel_req;\n\tu32 data_chunk_allocations;\n\tu32 metadata_ratio;\n\tvoid *bdev_holder;\n\tstruct mutex scrub_lock;\n\tatomic_t scrubs_running;\n\tatomic_t scrub_pause_req;\n\tatomic_t scrubs_paused;\n\tatomic_t scrub_cancel_req;\n\twait_queue_head_t scrub_pause_wait;\n\trefcount_t scrub_workers_refcnt;\n\tu32 sectors_per_page;\n\tstruct workqueue_struct *scrub_workers;\n\tstruct btrfs_discard_ctl discard_ctl;\n\tu64 qgroup_flags;\n\tstruct rb_root qgroup_tree;\n\tspinlock_t qgroup_lock;\n\tstruct ulist *qgroup_ulist;\n\tstruct mutex qgroup_ioctl_lock;\n\tstruct list_head dirty_qgroups;\n\tu64 qgroup_seq;\n\tstruct mutex qgroup_rescan_lock;\n\tstruct btrfs_key qgroup_rescan_progress;\n\tstruct btrfs_workqueue *qgroup_rescan_workers;\n\tstruct completion qgroup_rescan_completion;\n\tstruct btrfs_work qgroup_rescan_work;\n\tbool qgroup_rescan_running;\n\tu8 qgroup_drop_subtree_thres;\n\tu64 qgroup_enable_gen;\n\tint fs_error;\n\tlong unsigned int fs_state;\n\tstruct btrfs_delayed_root *delayed_root;\n\tspinlock_t buffer_lock;\n\tstruct xarray buffer_radix;\n\tint backup_root_index;\n\tstruct btrfs_dev_replace dev_replace;\n\tstruct semaphore uuid_tree_rescan_sem;\n\tstruct work_struct async_reclaim_work;\n\tstruct work_struct async_data_reclaim_work;\n\tstruct work_struct preempt_reclaim_work;\n\tstruct work_struct reclaim_bgs_work;\n\tstruct list_head reclaim_bgs;\n\tint bg_reclaim_threshold;\n\tspinlock_t unused_bgs_lock;\n\tstruct list_head unused_bgs;\n\tstruct mutex unused_bg_unpin_mutex;\n\tstruct mutex reclaim_bgs_lock;\n\tu32 nodesize;\n\tu32 sectorsize;\n\tu32 sectorsize_bits;\n\tu32 csum_size;\n\tu32 csums_per_leaf;\n\tu32 stripesize;\n\tu64 max_extent_size;\n\tspinlock_t swapfile_pins_lock;\n\tstruct rb_root swapfile_pins;\n\tstruct crypto_shash *csum_shash;\n\tenum btrfs_exclusive_operation exclusive_operation;\n\tu64 zone_size;\n\tstruct queue_limits limits;\n\tu64 max_zone_append_size;\n\tstruct mutex zoned_meta_io_lock;\n\tspinlock_t treelog_bg_lock;\n\tu64 treelog_bg;\n\tspinlock_t relocation_bg_lock;\n\tu64 data_reloc_bg;\n\tstruct mutex zoned_data_reloc_io_lock;\n\tstruct btrfs_block_group *active_meta_bg;\n\tstruct btrfs_block_group *active_system_bg;\n\tu64 nr_global_roots;\n\tspinlock_t zone_active_bgs_lock;\n\tstruct list_head zone_active_bgs;\n\tstruct btrfs_commit_stats commit_stats;\n\tu64 last_root_drop_gen;\n\tstruct lockdep_map btrfs_trans_num_writers_map;\n\tstruct lockdep_map btrfs_trans_num_extwriters_map;\n\tstruct lockdep_map btrfs_state_change_map[4];\n\tstruct lockdep_map btrfs_trans_pending_ordered_map;\n\tstruct lockdep_map btrfs_ordered_extent_map;\n};\n\nstruct btrfs_header {\n\t__u8 csum[32];\n\t__u8 fsid[16];\n\t__le64 bytenr;\n\t__le64 flags;\n\t__u8 chunk_tree_uuid[16];\n\t__le64 generation;\n\t__le64 owner;\n\t__le32 nritems;\n\t__u8 level;\n} __attribute__((packed));\n\nstruct btrfs_iget_args {\n\tu64 ino;\n\tstruct btrfs_root *root;\n};\n\nstruct btrfs_ino_list {\n\tu64 ino;\n\tu64 parent;\n\tstruct list_head list;\n};\n\nstruct extent_map_tree {\n\tstruct rb_root root;\n\tstruct list_head modified_extents;\n\trwlock_t lock;\n};\n\nstruct btrfs_inode {\n\tstruct btrfs_root *root;\n\tu8 prop_compress;\n\tu8 defrag_compress;\n\tspinlock_t lock;\n\tstruct extent_map_tree extent_tree;\n\tstruct extent_io_tree io_tree;\n\tstruct extent_io_tree *file_extent_tree;\n\tstruct mutex log_mutex;\n\tunsigned int outstanding_extents;\n\tspinlock_t ordered_tree_lock;\n\tstruct rb_root ordered_tree;\n\tstruct rb_node *ordered_tree_last;\n\tstruct list_head delalloc_inodes;\n\tlong unsigned int runtime_flags;\n\tu64 generation;\n\tu64 last_trans;\n\tu64 logged_trans;\n\tint last_sub_trans;\n\tint last_log_commit;\n\tunion {\n\t\tu64 delalloc_bytes;\n\t\tu64 first_dir_index_to_log;\n\t};\n\tunion {\n\t\tu64 new_delalloc_bytes;\n\t\tu64 last_dir_index_offset;\n\t};\n\tunion {\n\t\tu64 defrag_bytes;\n\t\tu64 reloc_block_group_start;\n\t};\n\tu64 disk_i_size;\n\tunion {\n\t\tu64 index_cnt;\n\t\tu64 csum_bytes;\n\t};\n\tu64 dir_index;\n\tu64 last_unlink_trans;\n\tunion {\n\t\tu64 last_reflink_trans;\n\t\tu64 ref_root_id;\n\t};\n\tu32 flags;\n\tu32 ro_flags;\n\tstruct btrfs_block_rsv block_rsv;\n\tstruct btrfs_delayed_node *delayed_node;\n\tu64 i_otime_sec;\n\tu32 i_otime_nsec;\n\tstruct list_head delayed_iput;\n\tstruct rw_semaphore i_mmap_lock;\n\tstruct inode vfs_inode;\n};\n\nstruct btrfs_inode_extref {\n\t__le64 parent_objectid;\n\t__le64 index;\n\t__le16 name_len;\n\t__u8 name[0];\n} __attribute__((packed));\n\nstruct btrfs_inode_info {\n\tu64 size;\n\tu64 gen;\n\tu64 mode;\n\tu64 uid;\n\tu64 gid;\n\tu64 rdev;\n\tu64 fileattr;\n\tu64 nlink;\n};\n\nstruct btrfs_inode_ref {\n\t__le64 index;\n\t__le16 name_len;\n} __attribute__((packed));\n\nstruct btrfs_io_context {\n\trefcount_t refs;\n\tstruct btrfs_fs_info *fs_info;\n\tu64 map_type;\n\tstruct bio *orig_bio;\n\tatomic_t error;\n\tu16 max_errors;\n\tbool use_rst;\n\tu64 logical;\n\tu64 size;\n\tstruct list_head rst_ordered_entry;\n\tu16 num_stripes;\n\tu16 mirror_num;\n\tu16 replace_nr_stripes;\n\ts16 replace_stripe_src;\n\tu64 full_stripe_logical;\n\tstruct btrfs_io_stripe stripes[0];\n};\n\nstruct btrfs_io_geometry {\n\tu32 stripe_index;\n\tu32 stripe_nr;\n\tint mirror_num;\n\tint num_stripes;\n\tu64 stripe_offset;\n\tu64 raid56_full_stripe_start;\n\tint max_errors;\n\tenum btrfs_map_op op;\n\tbool use_rst;\n};\n\nstruct btrfs_ioctl_balance_args {\n\t__u64 flags;\n\t__u64 state;\n\tstruct btrfs_balance_args data;\n\tstruct btrfs_balance_args meta;\n\tstruct btrfs_balance_args sys;\n\tstruct btrfs_balance_progress stat;\n\t__u64 unused[72];\n};\n\nstruct btrfs_ioctl_defrag_range_args {\n\t__u64 start;\n\t__u64 len;\n\t__u64 flags;\n\t__u32 extent_thresh;\n\t__u32 compress_type;\n\t__u32 unused[4];\n};\n\nstruct btrfs_ioctl_dev_info_args {\n\t__u64 devid;\n\t__u8 uuid[16];\n\t__u64 bytes_used;\n\t__u64 total_bytes;\n\t__u8 fsid[16];\n\t__u64 unused[377];\n\t__u8 path[1024];\n};\n\nstruct btrfs_ioctl_dev_replace_start_params {\n\t__u64 srcdevid;\n\t__u64 cont_reading_from_srcdev_mode;\n\t__u8 srcdev_name[1025];\n\t__u8 tgtdev_name[1025];\n};\n\nstruct btrfs_ioctl_dev_replace_status_params {\n\t__u64 replace_state;\n\t__u64 progress_1000;\n\t__u64 time_started;\n\t__u64 time_stopped;\n\t__u64 num_write_errors;\n\t__u64 num_uncorrectable_read_errors;\n};\n\nstruct btrfs_ioctl_dev_replace_args {\n\t__u64 cmd;\n\t__u64 result;\n\tunion {\n\t\tstruct btrfs_ioctl_dev_replace_start_params start;\n\t\tstruct btrfs_ioctl_dev_replace_status_params status;\n\t};\n\t__u64 spare[64];\n};\n\nstruct btrfs_ioctl_encoded_io_args {\n\tconst struct iovec *iov;\n\tlong unsigned int iovcnt;\n\t__s64 offset;\n\t__u64 flags;\n\t__u64 len;\n\t__u64 unencoded_len;\n\t__u64 unencoded_offset;\n\t__u32 compression;\n\t__u32 encryption;\n\t__u8 reserved[64];\n};\n\nstruct btrfs_ioctl_feature_flags {\n\t__u64 compat_flags;\n\t__u64 compat_ro_flags;\n\t__u64 incompat_flags;\n};\n\nstruct btrfs_ioctl_fs_info_args {\n\t__u64 max_id;\n\t__u64 num_devices;\n\t__u8 fsid[16];\n\t__u32 nodesize;\n\t__u32 sectorsize;\n\t__u32 clone_alignment;\n\t__u16 csum_type;\n\t__u16 csum_size;\n\t__u64 flags;\n\t__u64 generation;\n\t__u8 metadata_uuid[16];\n\t__u8 reserved[944];\n};\n\nstruct btrfs_ioctl_get_dev_stats {\n\t__u64 devid;\n\t__u64 nr_items;\n\t__u64 flags;\n\t__u64 values[5];\n\t__u64 unused[121];\n};\n\nstruct btrfs_ioctl_timespec {\n\t__u64 sec;\n\t__u32 nsec;\n};\n\nstruct btrfs_ioctl_get_subvol_info_args {\n\t__u64 treeid;\n\tchar name[256];\n\t__u64 parent_id;\n\t__u64 dirid;\n\t__u64 generation;\n\t__u64 flags;\n\t__u8 uuid[16];\n\t__u8 parent_uuid[16];\n\t__u8 received_uuid[16];\n\t__u64 ctransid;\n\t__u64 otransid;\n\t__u64 stransid;\n\t__u64 rtransid;\n\tstruct btrfs_ioctl_timespec ctime;\n\tstruct btrfs_ioctl_timespec otime;\n\tstruct btrfs_ioctl_timespec stime;\n\tstruct btrfs_ioctl_timespec rtime;\n\t__u64 reserved[8];\n};\n\nstruct btrfs_ioctl_get_subvol_rootref_args {\n\t__u64 min_treeid;\n\tstruct {\n\t\t__u64 treeid;\n\t\t__u64 dirid;\n\t} rootref[255];\n\t__u8 num_items;\n\t__u8 align[7];\n};\n\nstruct btrfs_ioctl_ino_lookup_args {\n\t__u64 treeid;\n\t__u64 objectid;\n\tchar name[4080];\n};\n\nstruct btrfs_ioctl_ino_lookup_user_args {\n\t__u64 dirid;\n\t__u64 treeid;\n\tchar name[256];\n\tchar path[3824];\n};\n\nstruct btrfs_ioctl_ino_path_args {\n\t__u64 inum;\n\t__u64 size;\n\t__u64 reserved[4];\n\t__u64 fspath;\n};\n\nstruct btrfs_ioctl_logical_ino_args {\n\t__u64 logical;\n\t__u64 size;\n\t__u64 reserved[3];\n\t__u64 flags;\n\t__u64 inodes;\n};\n\nstruct btrfs_ioctl_qgroup_assign_args {\n\t__u64 assign;\n\t__u64 src;\n\t__u64 dst;\n};\n\nstruct btrfs_ioctl_qgroup_create_args {\n\t__u64 create;\n\t__u64 qgroupid;\n};\n\nstruct btrfs_qgroup_limit {\n\t__u64 flags;\n\t__u64 max_rfer;\n\t__u64 max_excl;\n\t__u64 rsv_rfer;\n\t__u64 rsv_excl;\n};\n\nstruct btrfs_ioctl_qgroup_limit_args {\n\t__u64 qgroupid;\n\tstruct btrfs_qgroup_limit lim;\n};\n\nstruct btrfs_ioctl_quota_ctl_args {\n\t__u64 cmd;\n\t__u64 status;\n};\n\nstruct btrfs_ioctl_quota_rescan_args {\n\t__u64 flags;\n\t__u64 progress;\n\t__u64 reserved[6];\n};\n\nstruct btrfs_ioctl_received_subvol_args {\n\tchar uuid[16];\n\t__u64 stransid;\n\t__u64 rtransid;\n\tstruct btrfs_ioctl_timespec stime;\n\tstruct btrfs_ioctl_timespec rtime;\n\t__u64 flags;\n\t__u64 reserved[16];\n};\n\nstruct btrfs_ioctl_timespec_32 {\n\t__u64 sec;\n\t__u32 nsec;\n} __attribute__((packed));\n\nstruct btrfs_ioctl_received_subvol_args_32 {\n\tchar uuid[16];\n\t__u64 stransid;\n\t__u64 rtransid;\n\tstruct btrfs_ioctl_timespec_32 stime;\n\tstruct btrfs_ioctl_timespec_32 rtime;\n\t__u64 flags;\n\t__u64 reserved[16];\n};\n\nstruct btrfs_ioctl_scrub_args {\n\t__u64 devid;\n\t__u64 start;\n\t__u64 end;\n\t__u64 flags;\n\tstruct btrfs_scrub_progress progress;\n\t__u64 unused[109];\n};\n\nstruct btrfs_ioctl_search_key {\n\t__u64 tree_id;\n\t__u64 min_objectid;\n\t__u64 max_objectid;\n\t__u64 min_offset;\n\t__u64 max_offset;\n\t__u64 min_transid;\n\t__u64 max_transid;\n\t__u32 min_type;\n\t__u32 max_type;\n\t__u32 nr_items;\n\t__u32 unused;\n\t__u64 unused1;\n\t__u64 unused2;\n\t__u64 unused3;\n\t__u64 unused4;\n};\n\nstruct btrfs_ioctl_search_args {\n\tstruct btrfs_ioctl_search_key key;\n\tchar buf[3992];\n};\n\nstruct btrfs_ioctl_search_args_v2 {\n\tstruct btrfs_ioctl_search_key key;\n\t__u64 buf_size;\n\t__u64 buf[0];\n};\n\nstruct btrfs_ioctl_search_header {\n\t__u64 transid;\n\t__u64 objectid;\n\t__u64 offset;\n\t__u32 type;\n\t__u32 len;\n};\n\nstruct btrfs_ioctl_send_args {\n\t__s64 send_fd;\n\t__u64 clone_sources_count;\n\t__u64 *clone_sources;\n\t__u64 parent_root;\n\t__u64 flags;\n\t__u32 version;\n\t__u8 reserved[28];\n};\n\nstruct btrfs_ioctl_space_info {\n\t__u64 flags;\n\t__u64 total_bytes;\n\t__u64 used_bytes;\n};\n\nstruct btrfs_ioctl_space_args {\n\t__u64 space_slots;\n\t__u64 total_spaces;\n\tstruct btrfs_ioctl_space_info spaces[0];\n};\n\nstruct btrfs_ioctl_subvol_wait {\n\t__u64 subvolid;\n\t__u32 mode;\n\t__u32 count;\n};\n\nstruct btrfs_ioctl_vol_args {\n\t__s64 fd;\n\tchar name[4088];\n};\n\nstruct btrfs_qgroup_inherit;\n\nstruct btrfs_ioctl_vol_args_v2 {\n\t__s64 fd;\n\t__u64 transid;\n\t__u64 flags;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 size;\n\t\t\tstruct btrfs_qgroup_inherit *qgroup_inherit;\n\t\t};\n\t\t__u64 unused[4];\n\t};\n\tunion {\n\t\tchar name[4040];\n\t\t__u64 devid;\n\t\t__u64 subvolid;\n\t};\n};\n\nstruct btrfs_item {\n\tstruct btrfs_disk_key key;\n\t__le32 offset;\n\t__le32 size;\n} __attribute__((packed));\n\nstruct btrfs_item_batch {\n\tconst struct btrfs_key *keys;\n\tconst u32 *data_sizes;\n\tu32 total_data_size;\n\tint nr;\n};\n\nstruct btrfs_key_ptr {\n\tstruct btrfs_disk_key key;\n\t__le64 blockptr;\n\t__le64 generation;\n} __attribute__((packed));\n\nstruct btrfs_log_ctx {\n\tint log_ret;\n\tint log_transid;\n\tbool log_new_dentries;\n\tbool logging_new_name;\n\tbool logging_new_delayed_dentries;\n\tbool logged_before;\n\tstruct btrfs_inode *inode;\n\tstruct list_head list;\n\tstruct list_head ordered_extents;\n\tstruct list_head conflict_inodes;\n\tint num_conflict_inodes;\n\tbool logging_conflict_inodes;\n\tstruct extent_buffer *scratch_eb;\n};\n\nstruct maple_tree {\n\tunion {\n\t\tspinlock_t ma_lock;\n\t\tlockdep_map_p ma_external_lock;\n\t};\n\tunsigned int ma_flags;\n\tvoid *ma_root;\n};\n\nstruct btrfs_lru_cache {\n\tstruct list_head lru_list;\n\tstruct maple_tree entries;\n\tunsigned int size;\n\tunsigned int max_size;\n};\n\nstruct btrfs_map_token {\n\tstruct extent_buffer *eb;\n\tchar *kaddr;\n\tlong unsigned int offset;\n};\n\nstruct fscrypt_str {\n\tunsigned char *name;\n\tu32 len;\n};\n\nstruct fscrypt_name {\n\tconst struct qstr *usr_fname;\n\tstruct fscrypt_str disk_name;\n\tu32 hash;\n\tu32 minor_hash;\n\tstruct fscrypt_str crypto_buf;\n\tbool is_nokey_name;\n};\n\nstruct btrfs_new_inode_args {\n\tstruct inode *dir;\n\tstruct dentry *dentry;\n\tstruct inode *inode;\n\tbool orphan;\n\tbool subvol;\n\tstruct posix_acl *default_acl;\n\tstruct posix_acl *acl;\n\tstruct fscrypt_name fname;\n};\n\nstruct btrfs_ordered_extent {\n\tu64 file_offset;\n\tu64 num_bytes;\n\tu64 ram_bytes;\n\tu64 disk_bytenr;\n\tu64 disk_num_bytes;\n\tu64 offset;\n\tu64 bytes_left;\n\tu64 truncated_len;\n\tlong unsigned int flags;\n\tint compress_type;\n\tint qgroup_rsv;\n\trefcount_t refs;\n\tstruct btrfs_inode *inode;\n\tstruct list_head list;\n\tstruct list_head log_list;\n\twait_queue_head_t wait;\n\tstruct rb_node rb_node;\n\tstruct list_head root_extent_list;\n\tstruct btrfs_work work;\n\tstruct completion completion;\n\tstruct btrfs_work flush_work;\n\tstruct list_head work_list;\n\tstruct list_head bioc_list;\n};\n\nstruct btrfs_ordered_sum {\n\tu64 logical;\n\tu32 len;\n\tstruct list_head list;\n\tu8 sums[0];\n};\n\nstruct btrfs_path {\n\tstruct extent_buffer *nodes[8];\n\tint slots[8];\n\tu8 locks[8];\n\tu8 reada;\n\tu8 lowest_level;\n\tunsigned int search_for_split: 1;\n\tunsigned int keep_locks: 1;\n\tunsigned int skip_locking: 1;\n\tunsigned int search_commit_root: 1;\n\tunsigned int need_commit_sem: 1;\n\tunsigned int skip_release_on_error: 1;\n\tunsigned int search_for_extension: 1;\n\tunsigned int nowait: 1;\n};\n\nstruct btrfs_root_item;\n\nstruct btrfs_pending_snapshot {\n\tstruct dentry *dentry;\n\tstruct btrfs_inode *dir;\n\tstruct btrfs_root *root;\n\tstruct btrfs_root_item *root_item;\n\tstruct btrfs_root *snap;\n\tstruct btrfs_qgroup_inherit *inherit;\n\tstruct btrfs_path *path;\n\tstruct btrfs_block_rsv block_rsv;\n\tint error;\n\tdev_t anon_dev;\n\tbool readonly;\n\tstruct list_head list;\n};\n\nstruct btrfs_plug_cb {\n\tstruct blk_plug_cb cb;\n\tstruct btrfs_fs_info *info;\n\tstruct list_head rbio_list;\n};\n\nstruct btrfs_qgroup_rsv {\n\tu64 values[3];\n};\n\nstruct btrfs_qgroup {\n\tu64 qgroupid;\n\tu64 rfer;\n\tu64 rfer_cmpr;\n\tu64 excl;\n\tu64 excl_cmpr;\n\tu64 lim_flags;\n\tu64 max_rfer;\n\tu64 max_excl;\n\tu64 rsv_rfer;\n\tu64 rsv_excl;\n\tstruct btrfs_qgroup_rsv rsv;\n\tstruct list_head groups;\n\tstruct list_head members;\n\tstruct list_head dirty;\n\tstruct list_head iterator;\n\tstruct list_head nested_iterator;\n\tstruct rb_node node;\n\tu64 old_refcnt;\n\tu64 new_refcnt;\n\tstruct kobject kobj;\n};\n\nstruct btrfs_qgroup_extent_record {\n\tu64 num_bytes;\n\tu32 data_rsv;\n\tu64 data_rsv_refroot;\n\tstruct ulist *old_roots;\n};\n\nstruct btrfs_qgroup_info_item {\n\t__le64 generation;\n\t__le64 rfer;\n\t__le64 rfer_cmpr;\n\t__le64 excl;\n\t__le64 excl_cmpr;\n};\n\nstruct btrfs_qgroup_inherit {\n\t__u64 flags;\n\t__u64 num_qgroups;\n\t__u64 num_ref_copies;\n\t__u64 num_excl_copies;\n\tstruct btrfs_qgroup_limit lim;\n\t__u64 qgroups[0];\n};\n\nstruct btrfs_qgroup_limit_item {\n\t__le64 flags;\n\t__le64 max_rfer;\n\t__le64 max_excl;\n\t__le64 rsv_rfer;\n\t__le64 rsv_excl;\n};\n\nstruct btrfs_qgroup_list {\n\tstruct list_head next_group;\n\tstruct list_head next_member;\n\tstruct btrfs_qgroup *group;\n\tstruct btrfs_qgroup *member;\n};\n\nstruct btrfs_qgroup_status_item {\n\t__le64 version;\n\t__le64 generation;\n\t__le64 flags;\n\t__le64 rescan;\n\t__le64 enable_gen;\n};\n\nstruct btrfs_qgroup_swapped_block {\n\tstruct rb_node node;\n\tint level;\n\tbool trace_leaf;\n\tu64 subvol_bytenr;\n\tu64 subvol_generation;\n\tu64 reloc_bytenr;\n\tu64 reloc_generation;\n\tu64 last_snapshot;\n\tstruct btrfs_key first_key;\n};\n\nstruct btrfs_qgroup_swapped_blocks {\n\tspinlock_t lock;\n\tbool swapped;\n\tstruct rb_root blocks[8];\n};\n\nstruct btrfs_raid_attr {\n\tu8 sub_stripes;\n\tu8 dev_stripes;\n\tu8 devs_max;\n\tu8 devs_min;\n\tu8 tolerated_failures;\n\tu8 devs_increment;\n\tu8 ncopies;\n\tu8 nparity;\n\tu8 mindev_error;\n\tconst char raid_name[8];\n\tu64 bg_flag;\n};\n\nstruct sector_ptr;\n\nstruct btrfs_raid_bio {\n\tstruct btrfs_io_context *bioc;\n\tstruct list_head hash_list;\n\tstruct list_head stripe_cache;\n\tstruct work_struct work;\n\tstruct bio_list bio_list;\n\tspinlock_t bio_list_lock;\n\tstruct list_head plug_list;\n\tlong unsigned int flags;\n\tenum btrfs_rbio_ops operation;\n\tu16 nr_pages;\n\tu16 nr_sectors;\n\tu8 nr_data;\n\tu8 real_stripes;\n\tu8 stripe_npages;\n\tu8 stripe_nsectors;\n\tu8 scrubp;\n\tint bio_list_bytes;\n\trefcount_t refs;\n\tatomic_t stripes_pending;\n\twait_queue_head_t io_wait;\n\tlong unsigned int dbitmap;\n\tlong unsigned int finish_pbitmap;\n\tstruct page **stripe_pages;\n\tstruct sector_ptr *bio_sectors;\n\tstruct sector_ptr *stripe_sectors;\n\tvoid **finish_pointers;\n\tlong unsigned int *error_bitmap;\n\tu8 *csum_buf;\n\tlong unsigned int *csum_bitmap;\n};\n\nstruct btrfs_raid_stride {\n\t__le64 devid;\n\t__le64 physical;\n};\n\nstruct btrfs_ref {\n\tenum btrfs_ref_type type;\n\tenum btrfs_delayed_ref_action action;\n\tbool skip_qgroup;\n\tu64 bytenr;\n\tu64 num_bytes;\n\tu64 owning_root;\n\tu64 ref_root;\n\tu64 parent;\n\tunion {\n\t\tstruct btrfs_data_ref data_ref;\n\t\tstruct btrfs_tree_ref tree_ref;\n\t};\n};\n\nstruct btrfs_rename_ctx {\n\tu64 index;\n};\n\nstruct btrfs_replace_extent_info {\n\tu64 disk_offset;\n\tu64 disk_len;\n\tu64 data_offset;\n\tu64 data_len;\n\tu64 file_offset;\n\tchar *extent_buf;\n\tbool is_new_extent;\n\tbool update_times;\n\tint qgroup_reserved;\n\tint insertions;\n};\n\nstruct btrfs_root_item {\n\tstruct btrfs_inode_item inode;\n\t__le64 generation;\n\t__le64 root_dirid;\n\t__le64 bytenr;\n\t__le64 byte_limit;\n\t__le64 bytes_used;\n\t__le64 last_snapshot;\n\t__le64 flags;\n\t__le32 refs;\n\tstruct btrfs_disk_key drop_progress;\n\t__u8 drop_level;\n\t__u8 level;\n\t__le64 generation_v2;\n\t__u8 uuid[16];\n\t__u8 parent_uuid[16];\n\t__u8 received_uuid[16];\n\t__le64 ctransid;\n\t__le64 otransid;\n\t__le64 stransid;\n\t__le64 rtransid;\n\tstruct btrfs_timespec ctime;\n\tstruct btrfs_timespec otime;\n\tstruct btrfs_timespec stime;\n\tstruct btrfs_timespec rtime;\n\t__le64 reserved[8];\n} __attribute__((packed));\n\nstruct btrfs_root {\n\tstruct rb_node rb_node;\n\tstruct extent_buffer *node;\n\tstruct extent_buffer *commit_root;\n\tstruct btrfs_root *log_root;\n\tstruct btrfs_root *reloc_root;\n\tlong unsigned int state;\n\tstruct btrfs_root_item root_item;\n\tstruct btrfs_key root_key;\n\tstruct btrfs_fs_info *fs_info;\n\tstruct extent_io_tree dirty_log_pages;\n\tstruct mutex objectid_mutex;\n\tspinlock_t accounting_lock;\n\tstruct btrfs_block_rsv *block_rsv;\n\tstruct mutex log_mutex;\n\twait_queue_head_t log_writer_wait;\n\twait_queue_head_t log_commit_wait[2];\n\tstruct list_head log_ctxs[2];\n\tatomic_t log_writers;\n\tatomic_t log_commit[2];\n\tatomic_t log_batch;\n\tint log_transid;\n\tint log_transid_committed;\n\tint last_log_commit;\n\tpid_t log_start_pid;\n\tu64 last_trans;\n\tu64 free_objectid;\n\tstruct btrfs_key defrag_progress;\n\tstruct btrfs_key defrag_max;\n\tstruct list_head dirty_list;\n\tstruct list_head root_list;\n\tstruct xarray inodes;\n\tstruct xarray delayed_nodes;\n\tdev_t anon_dev;\n\tspinlock_t root_item_lock;\n\trefcount_t refs;\n\tstruct mutex delalloc_mutex;\n\tspinlock_t delalloc_lock;\n\tstruct list_head delalloc_inodes;\n\tstruct list_head delalloc_root;\n\tu64 nr_delalloc_inodes;\n\tstruct mutex ordered_extent_mutex;\n\tspinlock_t ordered_extent_lock;\n\tstruct list_head ordered_extents;\n\tstruct list_head ordered_root;\n\tu64 nr_ordered_extents;\n\tstruct list_head reloc_dirty_list;\n\tint send_in_progress;\n\tint dedupe_in_progress;\n\tstruct btrfs_drew_lock snapshot_lock;\n\tatomic_t snapshot_force_cow;\n\tspinlock_t qgroup_meta_rsv_lock;\n\tu64 qgroup_meta_rsv_pertrans;\n\tu64 qgroup_meta_rsv_prealloc;\n\twait_queue_head_t qgroup_flush_wait;\n\tatomic_t nr_swapfiles;\n\tstruct btrfs_qgroup_swapped_blocks swapped_blocks;\n\tstruct extent_io_tree log_csum_range;\n\tu64 relocation_src_root;\n};\n\nstruct btrfs_root_backup {\n\t__le64 tree_root;\n\t__le64 tree_root_gen;\n\t__le64 chunk_root;\n\t__le64 chunk_root_gen;\n\t__le64 extent_root;\n\t__le64 extent_root_gen;\n\t__le64 fs_root;\n\t__le64 fs_root_gen;\n\t__le64 dev_root;\n\t__le64 dev_root_gen;\n\t__le64 csum_root;\n\t__le64 csum_root_gen;\n\t__le64 total_bytes;\n\t__le64 bytes_used;\n\t__le64 num_devices;\n\t__le64 unused_64[4];\n\t__u8 tree_root_level;\n\t__u8 chunk_root_level;\n\t__u8 extent_root_level;\n\t__u8 fs_root_level;\n\t__u8 dev_root_level;\n\t__u8 csum_root_level;\n\t__u8 unused_8[10];\n};\n\nstruct btrfs_root_ref {\n\t__le64 dirid;\n\t__le64 sequence;\n\t__le16 name_len;\n} __attribute__((packed));\n\nstruct btrfs_seq_list {\n\tstruct list_head list;\n\tu64 seq;\n};\n\nstruct btrfs_shared_data_ref {\n\t__le32 count;\n};\n\nstruct btrfs_space_info {\n\tstruct btrfs_fs_info *fs_info;\n\tspinlock_t lock;\n\tu64 total_bytes;\n\tu64 bytes_used;\n\tu64 bytes_pinned;\n\tu64 bytes_reserved;\n\tu64 bytes_may_use;\n\tu64 bytes_readonly;\n\tu64 bytes_zone_unusable;\n\tu64 max_extent_size;\n\tu64 chunk_size;\n\tint bg_reclaim_threshold;\n\tint clamp;\n\tunsigned int full: 1;\n\tunsigned int chunk_alloc: 1;\n\tunsigned int flush: 1;\n\tunsigned int force_alloc;\n\tu64 disk_used;\n\tu64 disk_total;\n\tu64 flags;\n\tstruct list_head list;\n\tstruct list_head ro_bgs;\n\tstruct list_head priority_tickets;\n\tstruct list_head tickets;\n\tu64 reclaim_size;\n\tu64 tickets_id;\n\tstruct rw_semaphore groups_sem;\n\tstruct list_head block_groups[9];\n\tstruct kobject kobj;\n\tstruct kobject *block_group_kobjs[9];\n\tu64 reclaim_count;\n\tu64 reclaim_bytes;\n\tu64 reclaim_errors;\n\tbool dynamic_reclaim;\n\tbool periodic_reclaim;\n\tbool periodic_reclaim_ready;\n\ts64 reclaimable_bytes;\n};\n\nstruct btrfs_squota_delta {\n\tu64 root;\n\tu64 num_bytes;\n\tu64 generation;\n\tbool is_inc;\n\tbool is_data;\n};\n\nstruct btrfs_stream_header {\n\tchar magic[13];\n\t__le32 version;\n} __attribute__((packed));\n\nstruct btrfs_stripe_extent {\n\tstruct {\n\t\tstruct {} __empty_strides;\n\t\tstruct btrfs_raid_stride strides[0];\n\t};\n};\n\nstruct btrfs_stripe_hash {\n\tstruct list_head hash_list;\n\tspinlock_t lock;\n};\n\nstruct btrfs_stripe_hash_table {\n\tstruct list_head stripe_cache;\n\tspinlock_t cache_lock;\n\tint cache_size;\n\tstruct btrfs_stripe_hash table[0];\n};\n\nstruct btrfs_subpage {\n\tspinlock_t lock;\n\tunion {\n\t\tatomic_t eb_refs;\n\t\tatomic_t nr_locked;\n\t};\n\tlong unsigned int bitmaps[0];\n};\n\nstruct btrfs_super_block {\n\t__u8 csum[32];\n\t__u8 fsid[16];\n\t__le64 bytenr;\n\t__le64 flags;\n\t__le64 magic;\n\t__le64 generation;\n\t__le64 root;\n\t__le64 chunk_root;\n\t__le64 log_root;\n\t__le64 __unused_log_root_transid;\n\t__le64 total_bytes;\n\t__le64 bytes_used;\n\t__le64 root_dir_objectid;\n\t__le64 num_devices;\n\t__le32 sectorsize;\n\t__le32 nodesize;\n\t__le32 __unused_leafsize;\n\t__le32 stripesize;\n\t__le32 sys_chunk_array_size;\n\t__le64 chunk_root_generation;\n\t__le64 compat_flags;\n\t__le64 compat_ro_flags;\n\t__le64 incompat_flags;\n\t__le16 csum_type;\n\t__u8 root_level;\n\t__u8 chunk_root_level;\n\t__u8 log_root_level;\n\tstruct btrfs_dev_item dev_item;\n\tchar label[256];\n\t__le64 cache_generation;\n\t__le64 uuid_tree_generation;\n\t__u8 metadata_uuid[16];\n\t__u64 nr_global_roots;\n\t__le64 reserved[27];\n\t__u8 sys_chunk_array[2048];\n\tstruct btrfs_root_backup super_roots[4];\n\t__u8 padding[565];\n} __attribute__((packed));\n\nstruct btrfs_swap_info {\n\tu64 start;\n\tu64 block_start;\n\tu64 block_len;\n\tu64 lowest_ppage;\n\tu64 highest_ppage;\n\tlong unsigned int nr_pages;\n\tint nr_extents;\n};\n\nstruct btrfs_swapfile_pin {\n\tstruct rb_node node;\n\tvoid *ptr;\n\tstruct inode *inode;\n\tbool is_block_group;\n\tint bg_extent_count;\n};\n\nstruct btrfs_tlv_header {\n\t__le16 tlv_type;\n\t__le16 tlv_len;\n};\n\nstruct btrfs_trans_handle {\n\tu64 transid;\n\tu64 bytes_reserved;\n\tu64 delayed_refs_bytes_reserved;\n\tu64 chunk_bytes_reserved;\n\tlong unsigned int delayed_ref_updates;\n\tlong unsigned int delayed_ref_csum_deletions;\n\tstruct btrfs_transaction *transaction;\n\tstruct btrfs_block_rsv *block_rsv;\n\tstruct btrfs_block_rsv *orig_rsv;\n\tstruct btrfs_pending_snapshot *pending_snapshot;\n\trefcount_t use_count;\n\tunsigned int type;\n\tshort int aborted;\n\tbool adding_csums;\n\tbool allocating_chunk;\n\tbool removing_chunk;\n\tbool reloc_reserved;\n\tbool in_fsync;\n\tstruct btrfs_fs_info *fs_info;\n\tstruct list_head new_bgs;\n\tstruct btrfs_block_rsv delayed_rsv;\n};\n\nstruct btrfs_transaction {\n\tu64 transid;\n\tatomic_t num_extwriters;\n\tatomic_t num_writers;\n\trefcount_t use_count;\n\tlong unsigned int flags;\n\tenum btrfs_trans_state state;\n\tint aborted;\n\tstruct list_head list;\n\tstruct extent_io_tree dirty_pages;\n\ttime64_t start_time;\n\twait_queue_head_t writer_wait;\n\twait_queue_head_t commit_wait;\n\tstruct list_head pending_snapshots;\n\tstruct list_head dev_update_list;\n\tstruct list_head switch_commits;\n\tstruct list_head dirty_bgs;\n\tstruct list_head io_bgs;\n\tstruct list_head dropped_roots;\n\tstruct extent_io_tree pinned_extents;\n\tstruct mutex cache_write_mutex;\n\tspinlock_t dirty_bgs_lock;\n\tstruct list_head deleted_bgs;\n\tspinlock_t dropped_roots_lock;\n\tstruct btrfs_delayed_ref_root delayed_refs;\n\tstruct btrfs_fs_info *fs_info;\n\tatomic_t pending_ordered;\n\twait_queue_head_t pending_wait;\n};\n\nstruct btrfs_tree_block_info {\n\tstruct btrfs_disk_key key;\n\t__u8 level;\n};\n\nstruct btrfs_trim_range {\n\tu64 start;\n\tu64 bytes;\n\tstruct list_head list;\n};\n\nstruct btrfs_truncate_control {\n\tstruct btrfs_inode *inode;\n\tu64 new_size;\n\tu64 extents_found;\n\tu64 last_size;\n\tu64 sub_bytes;\n\tu64 ino;\n\tu32 min_type;\n\tbool skip_ref_updates;\n\tbool clear_extent_range;\n};\n\nstruct btrfs_uring_encoded_data {\n\tstruct btrfs_ioctl_encoded_io_args args;\n\tstruct iovec iovstack[8];\n\tstruct iovec *iov;\n\tstruct iov_iter iter;\n};\n\nstruct io_uring_cmd;\n\nstruct btrfs_uring_priv {\n\tstruct io_uring_cmd *cmd;\n\tstruct page **pages;\n\tlong unsigned int nr_pages;\n\tstruct kiocb iocb;\n\tstruct iovec *iov;\n\tstruct iov_iter iter;\n\tstruct extent_state *cached_state;\n\tu64 count;\n\tu64 start;\n\tu64 lockend;\n\tint err;\n\tbool compressed;\n};\n\nstruct btrfs_verity_descriptor_item {\n\t__le64 size;\n\t__le64 reserved[2];\n\t__u8 encryption;\n} __attribute__((packed));\n\nstruct btrfs_workqueue {\n\tstruct workqueue_struct *normal_wq;\n\tstruct btrfs_fs_info *fs_info;\n\tstruct list_head ordered_list;\n\tspinlock_t list_lock;\n\tatomic_t pending;\n\tint limit_active;\n\tint current_active;\n\tint thresh;\n\tunsigned int count;\n\tspinlock_t thres_lock;\n};\n\nstruct btrfs_writepage_fixup {\n\tstruct folio *folio;\n\tstruct btrfs_inode *inode;\n\tstruct btrfs_work work;\n};\n\nstruct btrfs_zoned_device_info {\n\tu64 zone_size;\n\tu8 zone_size_shift;\n\tu32 nr_zones;\n\tunsigned int max_active_zones;\n\tint reserved_active_zones;\n\tatomic_t active_zones_left;\n\tlong unsigned int *seq_zones;\n\tlong unsigned int *empty_zones;\n\tlong unsigned int *active_zones;\n\tstruct blk_zone *zone_cache;\n\tstruct blk_zone sb_zones[6];\n};\n\nstruct hlist_nulls_head {\n\tstruct hlist_nulls_node *first;\n};\n\nstruct bucket {\n\tstruct hlist_nulls_head head;\n\traw_spinlock_t raw_lock;\n};\n\nstruct bucket_item {\n\tu32 count;\n};\n\nstruct rhash_lock_head;\n\nstruct bucket_table {\n\tunsigned int size;\n\tunsigned int nest;\n\tu32 hash_rnd;\n\tstruct list_head walkers;\n\tstruct callback_head rcu;\n\tstruct bucket_table *future_tbl;\n\tstruct lockdep_map dep_map;\n\tlong: 64;\n\tstruct rhash_lock_head *buckets[0];\n};\n\nstruct buf_sel_arg {\n\tstruct iovec *iovs;\n\tsize_t out_len;\n\tsize_t max_len;\n\tshort unsigned int nr_iovs;\n\tshort unsigned int mode;\n};\n\nstruct buffer_data_page {\n\tu64 time_stamp;\n\tlocal_t commit;\n\tunsigned char data[0];\n};\n\nstruct buffer_data_read_page {\n\tunsigned int order;\n\tstruct buffer_data_page *data;\n};\n\ntypedef void bh_end_io_t(struct buffer_head *, int);\n\nstruct buffer_head {\n\tlong unsigned int b_state;\n\tstruct buffer_head *b_this_page;\n\tunion {\n\t\tstruct page *b_page;\n\t\tstruct folio *b_folio;\n\t};\n\tsector_t b_blocknr;\n\tsize_t b_size;\n\tchar *b_data;\n\tstruct block_device *b_bdev;\n\tbh_end_io_t *b_end_io;\n\tvoid *b_private;\n\tstruct list_head b_assoc_buffers;\n\tstruct address_space *b_assoc_map;\n\tatomic_t b_count;\n\tspinlock_t b_uptodate_lock;\n};\n\nstruct buffer_page {\n\tstruct list_head list;\n\tlocal_t write;\n\tunsigned int read;\n\tlocal_t entries;\n\tlong unsigned int real_end;\n\tunsigned int order;\n\tu32 id: 30;\n\tu32 range: 1;\n\tstruct buffer_data_page *page;\n};\n\nstruct buffer_ref {\n\tstruct trace_buffer *buffer;\n\tvoid *page;\n\tint cpu;\n\trefcount_t refcount;\n};\n\nstruct buffered_dirent {\n\tu64 ino;\n\tloff_t offset;\n\tint namlen;\n\tunsigned int d_type;\n\tchar name[0];\n};\n\nstruct bug_entry {\n\tint bug_addr_disp;\n\tint file_disp;\n\tshort unsigned int line;\n\tshort unsigned int flags;\n};\n\nstruct builtin_fw {\n\tchar *name;\n\tvoid *data;\n\tlong unsigned int size;\n};\n\nstruct group_data {\n\tint limit[21];\n\tint base[20];\n\tint permute[258];\n\tint minLen;\n\tint maxLen;\n};\n\nstruct bunzip_data {\n\tint writeCopies;\n\tint writePos;\n\tint writeRunCountdown;\n\tint writeCount;\n\tint writeCurrent;\n\tlong int (*fill)(void *, long unsigned int);\n\tlong int inbufCount;\n\tlong int inbufPos;\n\tunsigned char *inbuf;\n\tunsigned int inbufBitCount;\n\tunsigned int inbufBits;\n\tunsigned int crc32Table[256];\n\tunsigned int headerCRC;\n\tunsigned int totalCRC;\n\tunsigned int writeCRC;\n\tunsigned int *dbuf;\n\tunsigned int dbufSize;\n\tunsigned char selectors[32768];\n\tstruct group_data groups[6];\n\tint io_error;\n\tint byteCount[256];\n\tunsigned char symToByte[256];\n\tunsigned char mtfSymbol[256];\n};\n\nstruct bus_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct bus_type *, char *);\n\tssize_t (*store)(const struct bus_type *, const char *, size_t);\n};\n\nstruct bus_dma_region {\n\tphys_addr_t cpu_start;\n\tdma_addr_t dma_start;\n\tu64 size;\n};\n\nstruct bus_type {\n\tconst char *name;\n\tconst char *dev_name;\n\tconst struct attribute_group **bus_groups;\n\tconst struct attribute_group **dev_groups;\n\tconst struct attribute_group **drv_groups;\n\tint (*match)(struct device *, const struct device_driver *);\n\tint (*uevent)(const struct device *, struct kobj_uevent_env *);\n\tint (*probe)(struct device *);\n\tvoid (*sync_state)(struct device *);\n\tvoid (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tconst struct cpumask * (*irq_get_affinity)(struct device *, unsigned int);\n\tint (*online)(struct device *);\n\tint (*offline)(struct device *);\n\tint (*suspend)(struct device *, pm_message_t);\n\tint (*resume)(struct device *);\n\tint (*num_vf)(struct device *);\n\tint (*dma_configure)(struct device *);\n\tvoid (*dma_cleanup)(struct device *);\n\tconst struct dev_pm_ops *pm;\n\tbool need_parent_lock;\n};\n\nstruct bvec_iter_all {\n\tstruct bio_vec bv;\n\tint idx;\n\tunsigned int done;\n};\n\nstruct byd_data {\n\tstruct timer_list timer;\n\tstruct psmouse *psmouse;\n\ts32 abs_x;\n\ts32 abs_y;\n\tvolatile long unsigned int last_touch_time;\n\tbool btn_left;\n\tbool btn_right;\n\tbool touch;\n};\n\nstruct cache_head;\n\nstruct cache_deferred_req {\n\tstruct hlist_node hash;\n\tstruct list_head recent;\n\tstruct cache_head *item;\n\tvoid *owner;\n\tvoid (*revisit)(struct cache_deferred_req *, int);\n};\n\nstruct cache_desc {\n\tunsigned char type;\n\tunsigned char level;\n\tshort unsigned int sets;\n\tunsigned char ways;\n\tunsigned char linesz;\n\tunsigned char flags;\n};\n\nstruct cache_detail {\n\tstruct module *owner;\n\tint hash_size;\n\tstruct hlist_head *hash_table;\n\tspinlock_t hash_lock;\n\tchar *name;\n\tvoid (*cache_put)(struct kref *);\n\tint (*cache_upcall)(struct cache_detail *, struct cache_head *);\n\tvoid (*cache_request)(struct cache_detail *, struct cache_head *, char **, int *);\n\tint (*cache_parse)(struct cache_detail *, char *, int);\n\tint (*cache_show)(struct seq_file *, struct cache_detail *, struct cache_head *);\n\tvoid (*warn_no_listener)(struct cache_detail *, int);\n\tstruct cache_head * (*alloc)(void);\n\tvoid (*flush)(void);\n\tint (*match)(struct cache_head *, struct cache_head *);\n\tvoid (*init)(struct cache_head *, struct cache_head *);\n\tvoid (*update)(struct cache_head *, struct cache_head *);\n\ttime64_t flush_time;\n\tstruct list_head others;\n\ttime64_t nextcheck;\n\tint entries;\n\tstruct list_head queue;\n\tatomic_t writers;\n\ttime64_t last_close;\n\ttime64_t last_warn;\n\tunion {\n\t\tstruct proc_dir_entry *procfs;\n\t\tstruct dentry *pipefs;\n\t};\n\tstruct net *net;\n};\n\nstruct cache_head {\n\tstruct hlist_node cache_list;\n\ttime64_t expiry_time;\n\ttime64_t last_refresh;\n\tstruct kref ref;\n\tlong unsigned int flags;\n};\n\nstruct cache_queue {\n\tstruct list_head list;\n\tint reader;\n};\n\nstruct cache_reader {\n\tstruct cache_queue q;\n\tint offset;\n};\n\nstruct cache_req {\n\tstruct cache_deferred_req * (*defer)(struct cache_req *);\n\tlong unsigned int thread_wait;\n};\n\nstruct cache_request {\n\tstruct cache_queue q;\n\tstruct cache_head *item;\n\tchar *buf;\n\tint len;\n\tint readers;\n};\n\nstruct cache_type_info {\n\tconst char *size_prop;\n\tconst char *line_size_props[2];\n\tconst char *nr_sets_prop;\n};\n\nstruct cacheinfo {\n\tunsigned int id;\n\tenum cache_type type;\n\tunsigned int level;\n\tunsigned int coherency_line_size;\n\tunsigned int number_of_sets;\n\tunsigned int ways_of_associativity;\n\tunsigned int physical_line_partition;\n\tunsigned int size;\n\tcpumask_t shared_cpu_map;\n\tunsigned int attributes;\n\tvoid *fw_token;\n\tbool disable_sysfs;\n\tvoid *priv;\n};\n\nstruct cacheline_padding {\n\tchar x[0];\n};\n\nstruct cachestat {\n\t__u64 nr_cache;\n\t__u64 nr_dirty;\n\t__u64 nr_writeback;\n\t__u64 nr_evicted;\n\t__u64 nr_recently_evicted;\n};\n\nstruct cachestat_range {\n\t__u64 off;\n\t__u64 len;\n};\n\nstruct call_function_data {\n\tcall_single_data_t *csd;\n\tcpumask_var_t cpumask;\n\tcpumask_var_t cpumask_ipi;\n};\n\nstruct cb_process_state;\n\nstruct xdr_stream;\n\nstruct callback_op {\n\t__be32 (*process_op)(void *, void *, struct cb_process_state *);\n\t__be32 (*decode_args)(struct svc_rqst *, struct xdr_stream *, void *);\n\t__be32 (*encode_res)(struct svc_rqst *, struct xdr_stream *, const void *);\n\tlong int res_maxsize;\n};\n\nstruct callchain_cpus_entries {\n\tstruct callback_head callback_head;\n\tstruct perf_callchain_entry *cpu_entries[0];\n};\n\nstruct can_nocow_file_extent_args {\n\tu64 start;\n\tu64 end;\n\tbool writeback_path;\n\tbool free_path;\n\tstruct btrfs_file_extent file_extent;\n};\n\nstruct compact_control;\n\nstruct capture_control {\n\tstruct compact_control *cc;\n\tstruct page *page;\n};\n\nstruct cat_datum {\n\tu32 value;\n\tunsigned char isalias;\n};\n\nstruct cb_compound_hdr_arg {\n\tunsigned int taglen;\n\tconst char *tag;\n\tunsigned int minorversion;\n\tunsigned int cb_ident;\n\tunsigned int nops;\n};\n\nstruct cb_compound_hdr_res {\n\t__be32 *status;\n\tunsigned int taglen;\n\tconst char *tag;\n\t__be32 *nops;\n};\n\nstruct cb_devicenotifyitem;\n\nstruct cb_devicenotifyargs {\n\tuint32_t ndevs;\n\tstruct cb_devicenotifyitem *devs;\n};\n\nstruct nfs4_deviceid {\n\tchar data[16];\n};\n\nstruct cb_devicenotifyitem {\n\tuint32_t cbd_notify_type;\n\tuint32_t cbd_layout_type;\n\tstruct nfs4_deviceid cbd_dev_id;\n\tuint32_t cbd_immediate;\n};\n\nstruct nfs_fh {\n\tshort unsigned int size;\n\tunsigned char data[128];\n};\n\nstruct cb_getattrargs {\n\tstruct nfs_fh fh;\n\tuint32_t bitmap[3];\n};\n\nstruct cb_getattrres {\n\t__be32 status;\n\tuint32_t bitmap[3];\n\tuint64_t size;\n\tuint64_t change_attr;\n\tstruct timespec64 atime;\n\tstruct timespec64 ctime;\n\tstruct timespec64 mtime;\n};\n\nstruct pnfs_layout_range {\n\tu32 iomode;\n\tu64 offset;\n\tu64 length;\n};\n\nstruct nfs4_stateid_struct {\n\tunion {\n\t\tchar data[16];\n\t\tstruct {\n\t\t\t__be32 seqid;\n\t\t\tchar other[12];\n\t\t};\n\t};\n\tenum {\n\t\tNFS4_INVALID_STATEID_TYPE = 0,\n\t\tNFS4_SPECIAL_STATEID_TYPE = 1,\n\t\tNFS4_OPEN_STATEID_TYPE = 2,\n\t\tNFS4_LOCK_STATEID_TYPE = 3,\n\t\tNFS4_DELEGATION_STATEID_TYPE = 4,\n\t\tNFS4_LAYOUT_STATEID_TYPE = 5,\n\t\tNFS4_PNFS_DS_STATEID_TYPE = 6,\n\t\tNFS4_REVOKED_STATEID_TYPE = 7,\n\t} type;\n};\n\ntypedef struct nfs4_stateid_struct nfs4_stateid;\n\nstruct nfs_fsid {\n\tuint64_t major;\n\tuint64_t minor;\n};\n\nstruct cb_layoutrecallargs {\n\tuint32_t cbl_recall_type;\n\tuint32_t cbl_layout_type;\n\tuint32_t cbl_layoutchanged;\n\tunion {\n\t\tstruct {\n\t\t\tstruct nfs_fh cbl_fh;\n\t\t\tstruct pnfs_layout_range cbl_range;\n\t\t\tnfs4_stateid cbl_stateid;\n\t\t};\n\t\tstruct nfs_fsid cbl_fsid;\n\t};\n};\n\nstruct nfs_lowner {\n\t__u64 clientid;\n\t__u64 id;\n\tdev_t s_dev;\n};\n\nstruct cb_notify_lock_args {\n\tstruct nfs_fh cbnl_fh;\n\tstruct nfs_lowner cbnl_owner;\n\tbool cbnl_valid;\n};\n\nstruct nfs_write_verifier {\n\tchar data[8];\n};\n\nstruct nfs_writeverf {\n\tstruct nfs_write_verifier verifier;\n\tenum nfs3_stable_how committed;\n};\n\nstruct cb_offloadargs {\n\tstruct nfs_fh coa_fh;\n\tnfs4_stateid coa_stateid;\n\tuint32_t error;\n\tuint64_t wr_count;\n\tstruct nfs_writeverf wr_writeverf;\n};\n\nstruct nfs_client;\n\nstruct nfs4_slot;\n\nstruct cb_process_state {\n\tstruct nfs_client *clp;\n\tstruct nfs4_slot *slot;\n\tstruct net *net;\n\tu32 minorversion;\n\t__be32 drc_status;\n\tunsigned int referring_calls;\n};\n\nstruct cb_recallanyargs {\n\tuint32_t craa_objs_to_keep;\n\tuint32_t craa_type_mask;\n};\n\nstruct cb_recallargs {\n\tstruct nfs_fh fh;\n\tnfs4_stateid stateid;\n\tuint32_t truncate;\n};\n\nstruct cb_recallslotargs {\n\tuint32_t crsa_target_highest_slotid;\n};\n\nstruct nfs4_sessionid {\n\tunsigned char data[16];\n};\n\nstruct referring_call_list;\n\nstruct cb_sequenceargs {\n\tstruct sockaddr *csa_addr;\n\tstruct nfs4_sessionid csa_sessionid;\n\tuint32_t csa_sequenceid;\n\tuint32_t csa_slotid;\n\tuint32_t csa_highestslotid;\n\tuint32_t csa_cachethis;\n\tuint32_t csa_nrclists;\n\tstruct referring_call_list *csa_rclists;\n};\n\nstruct cb_sequenceres {\n\t__be32 csr_status;\n\tstruct nfs4_sessionid csr_sessionid;\n\tuint32_t csr_sequenceid;\n\tuint32_t csr_slotid;\n\tuint32_t csr_highestslotid;\n\tuint32_t csr_target_highestslotid;\n};\n\nstruct ccs_modesel_head {\n\t__u8 _r1;\n\t__u8 medium;\n\t__u8 _r2;\n\t__u8 block_desc_length;\n\t__u8 density;\n\t__u8 number_blocks_hi;\n\t__u8 number_blocks_med;\n\t__u8 number_blocks_lo;\n\t__u8 _r3;\n\t__u8 block_length_hi;\n\t__u8 block_length_med;\n\t__u8 block_length_lo;\n};\n\nstruct cdrom_msf0 {\n\t__u8 minute;\n\t__u8 second;\n\t__u8 frame;\n};\n\nunion cdrom_addr {\n\tstruct cdrom_msf0 msf;\n\tint lba;\n};\n\nstruct cdrom_blk {\n\tunsigned int from;\n\tshort unsigned int len;\n};\n\nstruct cdrom_mechstat_header {\n\t__u8 curslot: 5;\n\t__u8 changer_state: 2;\n\t__u8 fault: 1;\n\t__u8 reserved1: 4;\n\t__u8 door_open: 1;\n\t__u8 mech_state: 3;\n\t__u8 curlba[3];\n\t__u8 nslots;\n\t__u16 slot_tablelen;\n};\n\nstruct cdrom_slot {\n\t__u8 change: 1;\n\t__u8 reserved1: 6;\n\t__u8 disc_present: 1;\n\t__u8 reserved2[3];\n};\n\nstruct cdrom_changer_info {\n\tstruct cdrom_mechstat_header hdr;\n\tstruct cdrom_slot slots[256];\n};\n\nstruct cdrom_device_ops;\n\nstruct cdrom_device_info {\n\tconst struct cdrom_device_ops *ops;\n\tstruct list_head list;\n\tstruct gendisk *disk;\n\tvoid *handle;\n\tint mask;\n\tint speed;\n\tint capacity;\n\tunsigned int options: 30;\n\tunsigned int mc_flags: 2;\n\tunsigned int vfs_events;\n\tunsigned int ioctl_events;\n\tint use_count;\n\tchar name[20];\n\t__u8 sanyo_slot: 2;\n\t__u8 keeplocked: 1;\n\t__u8 reserved: 5;\n\tint cdda_method;\n\t__u8 last_sense;\n\t__u8 media_written;\n\tshort unsigned int mmc3_profile;\n\tint (*exit)(struct cdrom_device_info *);\n\tint mrw_mode_page;\n\tbool opened_for_data;\n\t__s64 last_media_change_ms;\n};\n\nstruct cdrom_multisession;\n\nstruct cdrom_mcn;\n\nstruct packet_command;\n\nstruct cdrom_device_ops {\n\tint (*open)(struct cdrom_device_info *, int);\n\tvoid (*release)(struct cdrom_device_info *);\n\tint (*drive_status)(struct cdrom_device_info *, int);\n\tunsigned int (*check_events)(struct cdrom_device_info *, unsigned int, int);\n\tint (*tray_move)(struct cdrom_device_info *, int);\n\tint (*lock_door)(struct cdrom_device_info *, int);\n\tint (*select_speed)(struct cdrom_device_info *, long unsigned int);\n\tint (*get_last_session)(struct cdrom_device_info *, struct cdrom_multisession *);\n\tint (*get_mcn)(struct cdrom_device_info *, struct cdrom_mcn *);\n\tint (*reset)(struct cdrom_device_info *);\n\tint (*audio_ioctl)(struct cdrom_device_info *, unsigned int, void *);\n\tint (*generic_packet)(struct cdrom_device_info *, struct packet_command *);\n\tint (*read_cdda_bpc)(struct cdrom_device_info *, void *, u32, u32, u8 *);\n\tconst int capability;\n};\n\nstruct request_sense;\n\nstruct cdrom_generic_command {\n\tunsigned char cmd[12];\n\tunsigned char *buffer;\n\tunsigned int buflen;\n\tint stat;\n\tstruct request_sense *sense;\n\tunsigned char data_direction;\n\tint quiet;\n\tint timeout;\n\tunion {\n\t\tvoid *reserved[1];\n\t\tvoid *unused;\n\t};\n};\n\nstruct cdrom_mcn {\n\t__u8 medium_catalog_number[14];\n};\n\nstruct cdrom_msf {\n\t__u8 cdmsf_min0;\n\t__u8 cdmsf_sec0;\n\t__u8 cdmsf_frame0;\n\t__u8 cdmsf_min1;\n\t__u8 cdmsf_sec1;\n\t__u8 cdmsf_frame1;\n};\n\nstruct cdrom_multisession {\n\tunion cdrom_addr addr;\n\t__u8 xa_flag;\n\t__u8 addr_format;\n};\n\nstruct cdrom_read_audio {\n\tunion cdrom_addr addr;\n\t__u8 addr_format;\n\tint nframes;\n\t__u8 *buf;\n};\n\nstruct cdrom_subchnl {\n\t__u8 cdsc_format;\n\t__u8 cdsc_audiostatus;\n\t__u8 cdsc_adr: 4;\n\t__u8 cdsc_ctrl: 4;\n\t__u8 cdsc_trk;\n\t__u8 cdsc_ind;\n\tunion cdrom_addr cdsc_absaddr;\n\tunion cdrom_addr cdsc_reladdr;\n};\n\nstruct cdrom_sysctl_settings {\n\tchar info[1000];\n\tint autoclose;\n\tint autoeject;\n\tint debug;\n\tint lock;\n\tint check;\n};\n\nstruct cdrom_ti {\n\t__u8 cdti_trk0;\n\t__u8 cdti_ind0;\n\t__u8 cdti_trk1;\n\t__u8 cdti_ind1;\n};\n\nstruct cdrom_timed_media_change_info {\n\t__s64 last_media_change;\n\t__u64 media_flags;\n};\n\nstruct cdrom_tocentry {\n\t__u8 cdte_track;\n\t__u8 cdte_adr: 4;\n\t__u8 cdte_ctrl: 4;\n\t__u8 cdte_format;\n\tunion cdrom_addr cdte_addr;\n\t__u8 cdte_datamode;\n};\n\nstruct cdrom_tochdr {\n\t__u8 cdth_trk0;\n\t__u8 cdth_trk1;\n};\n\nstruct cdrom_volctrl {\n\t__u8 channel0;\n\t__u8 channel1;\n\t__u8 channel2;\n\t__u8 channel3;\n};\n\nstruct clock_event_device;\n\nstruct ce_unbind {\n\tstruct clock_event_device *ce;\n\tint res;\n};\n\nstruct cea_db {\n\tu8 tag_length;\n\tu8 data[0];\n};\n\nstruct drm_edid_iter {\n\tconst struct drm_edid *drm_edid;\n\tint index;\n};\n\nstruct displayid_iter {\n\tconst struct drm_edid *drm_edid;\n\tconst u8 *section;\n\tint length;\n\tint idx;\n\tint ext_index;\n\tu8 version;\n\tu8 primary_use;\n};\n\nstruct cea_db_iter {\n\tstruct drm_edid_iter edid_iter;\n\tstruct displayid_iter displayid_iter;\n\tconst u8 *collection;\n\tint index;\n\tint end;\n};\n\nstruct cea_sad {\n\tint channels;\n\tint format;\n\tint rates;\n\tint sample_bits;\n\tint max_bitrate;\n\tint profile;\n};\n\nstruct cea_sad___2 {\n\tu8 format;\n\tu8 channels;\n\tu8 freq;\n\tu8 byte2;\n};\n\nstruct cfg80211_bss_select_adjust {\n\tenum nl80211_band band;\n\ts8 delta;\n};\n\nstruct cfg80211_bss_selection {\n\tenum nl80211_bss_select_attr behaviour;\n\tunion {\n\t\tenum nl80211_band band_pref;\n\t\tstruct cfg80211_bss_select_adjust adjust;\n\t} param;\n};\n\nstruct ieee80211_edmg {\n\tu8 channels;\n\tenum ieee80211_edmg_bw_config bw_config;\n};\n\nstruct ieee80211_channel;\n\nstruct cfg80211_chan_def {\n\tstruct ieee80211_channel *chan;\n\tenum nl80211_chan_width width;\n\tu32 center_freq1;\n\tu32 center_freq2;\n\tstruct ieee80211_edmg edmg;\n\tu16 freq1_offset;\n\tu16 punctured;\n};\n\nstruct cfg80211_crypto_settings {\n\tu32 wpa_versions;\n\tu32 cipher_group;\n\tint n_ciphers_pairwise;\n\tu32 ciphers_pairwise[5];\n\tint n_akm_suites;\n\tu32 akm_suites[10];\n\tbool control_port;\n\t__be16 control_port_ethertype;\n\tbool control_port_no_encrypt;\n\tbool control_port_over_nl80211;\n\tbool control_port_no_preauth;\n\tconst u8 *psk;\n\tconst u8 *sae_pwd;\n\tu8 sae_pwd_len;\n\tenum nl80211_sae_pwe_mechanism sae_pwe;\n};\n\nstruct ieee80211_mcs_info {\n\tu8 rx_mask[10];\n\t__le16 rx_highest;\n\tu8 tx_params;\n\tu8 reserved[3];\n};\n\nstruct ieee80211_ht_cap {\n\t__le16 cap_info;\n\tu8 ampdu_params_info;\n\tstruct ieee80211_mcs_info mcs;\n\t__le16 extended_ht_cap_info;\n\t__le32 tx_BF_cap_info;\n\tu8 antenna_selection_info;\n} __attribute__((packed));\n\nstruct ieee80211_vht_mcs_info {\n\t__le16 rx_mcs_map;\n\t__le16 rx_highest;\n\t__le16 tx_mcs_map;\n\t__le16 tx_highest;\n};\n\nstruct ieee80211_vht_cap {\n\t__le32 vht_cap_info;\n\tstruct ieee80211_vht_mcs_info supp_mcs;\n};\n\nstruct cfg80211_connect_params {\n\tstruct ieee80211_channel *channel;\n\tstruct ieee80211_channel *channel_hint;\n\tconst u8 *bssid;\n\tconst u8 *bssid_hint;\n\tconst u8 *ssid;\n\tsize_t ssid_len;\n\tenum nl80211_auth_type auth_type;\n\tconst u8 *ie;\n\tsize_t ie_len;\n\tbool privacy;\n\tenum nl80211_mfp mfp;\n\tstruct cfg80211_crypto_settings crypto;\n\tconst u8 *key;\n\tu8 key_len;\n\tu8 key_idx;\n\tu32 flags;\n\tint bg_scan_period;\n\tstruct ieee80211_ht_cap ht_capa;\n\tstruct ieee80211_ht_cap ht_capa_mask;\n\tstruct ieee80211_vht_cap vht_capa;\n\tstruct ieee80211_vht_cap vht_capa_mask;\n\tbool pbss;\n\tstruct cfg80211_bss_selection bss_select;\n\tconst u8 *prev_bssid;\n\tconst u8 *fils_erp_username;\n\tsize_t fils_erp_username_len;\n\tconst u8 *fils_erp_realm;\n\tsize_t fils_erp_realm_len;\n\tu16 fils_erp_next_seq_num;\n\tconst u8 *fils_erp_rrk;\n\tsize_t fils_erp_rrk_len;\n\tbool want_1x;\n\tstruct ieee80211_edmg edmg;\n};\n\nstruct key_params;\n\nstruct cfg80211_ibss_params {\n\tconst u8 *ssid;\n\tconst u8 *bssid;\n\tstruct cfg80211_chan_def chandef;\n\tconst u8 *ie;\n\tu8 ssid_len;\n\tu8 ie_len;\n\tu16 beacon_interval;\n\tu32 basic_rates;\n\tbool channel_fixed;\n\tbool privacy;\n\tbool control_port;\n\tbool control_port_over_nl80211;\n\tbool userspace_handles_dfs;\n\tint mcast_rate[6];\n\tstruct ieee80211_ht_cap ht_capa;\n\tstruct ieee80211_ht_cap ht_capa_mask;\n\tstruct key_params *wep_keys;\n\tint wep_tx_key;\n};\n\nstruct cfg80211_ssid {\n\tu8 ssid[32];\n\tu8 ssid_len;\n};\n\nstruct cfg80211_match_set {\n\tstruct cfg80211_ssid ssid;\n\tu8 bssid[6];\n\ts32 rssi_thold;\n};\n\nstruct cfg80211_pkt_pattern {\n\tconst u8 *mask;\n\tconst u8 *pattern;\n\tint pattern_len;\n\tint pkt_offset;\n};\n\nstruct cfg80211_pmsr_capabilities {\n\tunsigned int max_peers;\n\tu8 report_ap_tsf: 1;\n\tu8 randomize_mac_addr: 1;\n\tstruct {\n\t\tu32 preambles;\n\t\tu32 bandwidths;\n\t\ts8 max_bursts_exponent;\n\t\tu8 max_ftms_per_burst;\n\t\tu8 supported: 1;\n\t\tu8 asap: 1;\n\t\tu8 non_asap: 1;\n\t\tu8 request_lci: 1;\n\t\tu8 request_civicloc: 1;\n\t\tu8 trigger_based: 1;\n\t\tu8 non_trigger_based: 1;\n\t} ftm;\n};\n\nstruct cfg80211_sar_freq_ranges;\n\nstruct cfg80211_sar_capa {\n\tenum nl80211_sar_type type;\n\tu32 num_freq_ranges;\n\tconst struct cfg80211_sar_freq_ranges *freq_ranges;\n};\n\nstruct cfg80211_sar_freq_ranges {\n\tu32 start_freq;\n\tu32 end_freq;\n};\n\nstruct cfg80211_sched_scan_plan {\n\tu32 interval;\n\tu32 iterations;\n};\n\nstruct wiphy;\n\nstruct cfg80211_sched_scan_request {\n\tu64 reqid;\n\tstruct cfg80211_ssid *ssids;\n\tint n_ssids;\n\tu32 n_channels;\n\tconst u8 *ie;\n\tsize_t ie_len;\n\tu32 flags;\n\tstruct cfg80211_match_set *match_sets;\n\tint n_match_sets;\n\ts32 min_rssi_thold;\n\tu32 delay;\n\tstruct cfg80211_sched_scan_plan *scan_plans;\n\tint n_scan_plans;\n\tu8 mac_addr[6];\n\tu8 mac_addr_mask[6];\n\tbool relative_rssi_set;\n\ts8 relative_rssi;\n\tstruct cfg80211_bss_select_adjust rssi_adjust;\n\tstruct wiphy *wiphy;\n\tstruct net_device *dev;\n\tlong unsigned int scan_start;\n\tbool report_results;\n\tstruct callback_head callback_head;\n\tu32 owner_nlportid;\n\tbool nl_owner_dead;\n\tstruct list_head list;\n\tstruct ieee80211_channel *channels[0];\n};\n\nstruct cfg80211_wowlan_tcp;\n\nstruct cfg80211_wowlan {\n\tbool any;\n\tbool disconnect;\n\tbool magic_pkt;\n\tbool gtk_rekey_failure;\n\tbool eap_identity_req;\n\tbool four_way_handshake;\n\tbool rfkill_release;\n\tstruct cfg80211_pkt_pattern *patterns;\n\tstruct cfg80211_wowlan_tcp *tcp;\n\tint n_patterns;\n\tstruct cfg80211_sched_scan_request *nd_config;\n};\n\nstruct nl80211_wowlan_tcp_data_seq {\n\t__u32 start;\n\t__u32 offset;\n\t__u32 len;\n};\n\nstruct nl80211_wowlan_tcp_data_token {\n\t__u32 offset;\n\t__u32 len;\n\t__u8 token_stream[0];\n};\n\nstruct cfg80211_wowlan_tcp {\n\tstruct socket *sock;\n\t__be32 src;\n\t__be32 dst;\n\tu16 src_port;\n\tu16 dst_port;\n\tu8 dst_mac[6];\n\tint payload_len;\n\tconst u8 *payload;\n\tstruct nl80211_wowlan_tcp_data_seq payload_seq;\n\tu32 data_interval;\n\tu32 wake_len;\n\tconst u8 *wake_data;\n\tconst u8 *wake_mask;\n\tu32 tokens_size;\n\tstruct nl80211_wowlan_tcp_data_token payload_tok;\n};\n\nstruct tb_cfg_header {\n\tu32 route_hi: 22;\n\tu32 unknown: 10;\n\tu32 route_lo;\n};\n\nstruct cfg_ack_pkg {\n\tstruct tb_cfg_header header;\n};\n\nstruct cfg_error_pkg {\n\tstruct tb_cfg_header header;\n\tenum tb_cfg_error error: 8;\n\tu32 port: 6;\n\tu32 reserved: 16;\n\tu32 pg: 2;\n};\n\nstruct cfg_event_pkg {\n\tstruct tb_cfg_header header;\n\tu32 port: 6;\n\tu32 zero: 25;\n\tbool unplug: 1;\n};\n\nstruct tb_cfg_address {\n\tu32 offset: 13;\n\tu32 length: 6;\n\tu32 port: 6;\n\tenum tb_cfg_space space: 2;\n\tu32 seq: 2;\n\tu32 zero: 3;\n};\n\nstruct cfg_read_pkg {\n\tstruct tb_cfg_header header;\n\tstruct tb_cfg_address addr;\n};\n\nstruct cfg_reset_pkg {\n\tstruct tb_cfg_header header;\n};\n\nstruct cfg_write_pkg {\n\tstruct tb_cfg_header header;\n\tstruct tb_cfg_address addr;\n\tu32 data[64];\n};\n\nstruct cfs_bandwidth {\n\traw_spinlock_t lock;\n\tktime_t period;\n\tu64 quota;\n\tu64 runtime;\n\tu64 burst;\n\tu64 runtime_snap;\n\ts64 hierarchical_quota;\n\tu8 idle;\n\tu8 period_active;\n\tu8 slack_started;\n\tstruct hrtimer period_timer;\n\tstruct hrtimer slack_timer;\n\tstruct list_head throttled_cfs_rq;\n\tint nr_periods;\n\tint nr_throttled;\n\tint nr_burst;\n\tu64 throttled_time;\n\tu64 burst_time;\n};\n\nstruct load_weight {\n\tlong unsigned int weight;\n\tu32 inv_weight;\n};\n\nstruct sched_avg {\n\tu64 last_update_time;\n\tu64 load_sum;\n\tu64 runnable_sum;\n\tu32 util_sum;\n\tu32 period_contrib;\n\tlong unsigned int load_avg;\n\tlong unsigned int runnable_avg;\n\tlong unsigned int util_avg;\n\tunsigned int util_est;\n};\n\nstruct sched_entity;\n\nstruct cfs_rq {\n\tstruct load_weight load;\n\tunsigned int nr_queued;\n\tunsigned int h_nr_queued;\n\tunsigned int h_nr_runnable;\n\tunsigned int h_nr_idle;\n\ts64 avg_vruntime;\n\tu64 avg_load;\n\tu64 min_vruntime;\n\tunsigned int forceidle_seq;\n\tu64 min_vruntime_fi;\n\tstruct rb_root_cached tasks_timeline;\n\tstruct sched_entity *curr;\n\tstruct sched_entity *next;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_avg avg;\n\tstruct {\n\t\traw_spinlock_t lock;\n\t\tint nr;\n\t\tlong unsigned int load_avg;\n\t\tlong unsigned int util_avg;\n\t\tlong unsigned int runnable_avg;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t} removed;\n\tu64 last_update_tg_load_avg;\n\tlong unsigned int tg_load_avg_contrib;\n\tlong int propagate;\n\tlong int prop_runnable_sum;\n\tlong unsigned int h_load;\n\tu64 last_h_load_update;\n\tstruct sched_entity *h_load_next;\n\tstruct rq *rq;\n\tint on_list;\n\tstruct list_head leaf_cfs_rq_list;\n\tstruct task_group *tg;\n\tint idle;\n\tint runtime_enabled;\n\ts64 runtime_remaining;\n\tu64 throttled_pelt_idle;\n\tu64 throttled_clock;\n\tu64 throttled_clock_pelt;\n\tu64 throttled_clock_pelt_time;\n\tu64 throttled_clock_self;\n\tu64 throttled_clock_self_time;\n\tint throttled;\n\tint throttle_count;\n\tstruct list_head throttled_list;\n\tstruct list_head throttled_csd_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cfs_schedulable_data {\n\tstruct task_group *tg;\n\tu64 period;\n\tu64 quota;\n};\n\nstruct kernfs_ops;\n\nstruct kernfs_open_file;\n\nstruct cftype {\n\tchar name[64];\n\tlong unsigned int private;\n\tsize_t max_write_len;\n\tunsigned int flags;\n\tunsigned int file_offset;\n\tstruct cgroup_subsys *ss;\n\tstruct list_head node;\n\tstruct kernfs_ops *kf_ops;\n\tint (*open)(struct kernfs_open_file *);\n\tvoid (*release)(struct kernfs_open_file *);\n\tu64 (*read_u64)(struct cgroup_subsys_state *, struct cftype *);\n\ts64 (*read_s64)(struct cgroup_subsys_state *, struct cftype *);\n\tint (*seq_show)(struct seq_file *, void *);\n\tvoid * (*seq_start)(struct seq_file *, loff_t *);\n\tvoid * (*seq_next)(struct seq_file *, void *, loff_t *);\n\tvoid (*seq_stop)(struct seq_file *, void *);\n\tint (*write_u64)(struct cgroup_subsys_state *, struct cftype *, u64);\n\tint (*write_s64)(struct cgroup_subsys_state *, struct cftype *, s64);\n\tssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t);\n\t__poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *);\n\tstruct lock_class_key lockdep_key;\n};\n\nstruct cgroup_file {\n\tstruct kernfs_node *kn;\n\tlong unsigned int notified_at;\n\tstruct timer_list notify_timer;\n};\n\nstruct task_cputime {\n\tu64 stime;\n\tu64 utime;\n\tlong long unsigned int sum_exec_runtime;\n};\n\nstruct cgroup_base_stat {\n\tstruct task_cputime cputime;\n\tu64 forceidle_sum;\n\tu64 ntime;\n};\n\nstruct prev_cputime {\n\tu64 utime;\n\tu64 stime;\n\traw_spinlock_t lock;\n};\n\nstruct cgroup_bpf {\n\tstruct bpf_prog_array *effective[28];\n\tstruct hlist_head progs[28];\n\tu8 flags[28];\n\tstruct list_head storages;\n\tstruct bpf_prog_array *inactive;\n\tstruct percpu_ref refcnt;\n\tstruct work_struct release_work;\n};\n\nstruct cgroup_freezer_state {\n\tbool freeze;\n\tbool e_freeze;\n\tint nr_frozen_descendants;\n\tint nr_frozen_tasks;\n};\n\nstruct cgroup_root;\n\nstruct cgroup_rstat_cpu;\n\nstruct psi_group;\n\nstruct cgroup {\n\tstruct cgroup_subsys_state self;\n\tlong unsigned int flags;\n\tint level;\n\tint max_depth;\n\tint nr_descendants;\n\tint nr_dying_descendants;\n\tint max_descendants;\n\tint nr_populated_csets;\n\tint nr_populated_domain_children;\n\tint nr_populated_threaded_children;\n\tint nr_threaded_children;\n\tunsigned int kill_seq;\n\tstruct kernfs_node *kn;\n\tstruct cgroup_file procs_file;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file psi_files[3];\n\tu16 subtree_control;\n\tu16 subtree_ss_mask;\n\tu16 old_subtree_control;\n\tu16 old_subtree_ss_mask;\n\tstruct cgroup_subsys_state *subsys[14];\n\tint nr_dying_subsys[14];\n\tstruct cgroup_root *root;\n\tstruct list_head cset_links;\n\tstruct list_head e_csets[14];\n\tstruct cgroup *dom_cgrp;\n\tstruct cgroup *old_dom_cgrp;\n\tstruct cgroup_rstat_cpu *rstat_cpu;\n\tstruct list_head rstat_css_list;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad_;\n\tstruct cgroup *rstat_flush_next;\n\tstruct cgroup_base_stat last_bstat;\n\tstruct cgroup_base_stat bstat;\n\tstruct prev_cputime prev_cputime;\n\tstruct list_head pidlists;\n\tstruct mutex pidlist_mutex;\n\twait_queue_head_t offline_waitq;\n\tstruct work_struct release_agent_work;\n\tstruct psi_group *psi;\n\tstruct cgroup_bpf bpf;\n\tstruct cgroup_freezer_state freezer;\n\tstruct bpf_local_storage *bpf_cgrp_storage;\n\tstruct cgroup *ancestors[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cgroup__safe_rcu {\n\tstruct kernfs_node *kn;\n};\n\nstruct cgroup_cls_state {\n\tstruct cgroup_subsys_state css;\n\tu32 classid;\n};\n\nstruct css_set;\n\nstruct css_task_iter {\n\tstruct cgroup_subsys *ss;\n\tunsigned int flags;\n\tstruct list_head *cset_pos;\n\tstruct list_head *cset_head;\n\tstruct list_head *tcset_pos;\n\tstruct list_head *tcset_head;\n\tstruct list_head *task_pos;\n\tstruct list_head *cur_tasks_head;\n\tstruct css_set *cur_cset;\n\tstruct css_set *cur_dcset;\n\tstruct task_struct *cur_task;\n\tstruct list_head iters_node;\n};\n\nstruct cgroup_of_peak {\n\tlong unsigned int value;\n\tstruct list_head list;\n};\n\nstruct cgroup_namespace;\n\nstruct cgroup_pidlist;\n\nstruct cgroup_file_ctx {\n\tstruct cgroup_namespace *ns;\n\tstruct {\n\t\tvoid *trigger;\n\t} psi;\n\tstruct {\n\t\tbool started;\n\t\tstruct css_task_iter iter;\n\t} procs;\n\tstruct {\n\t\tstruct cgroup_pidlist *pidlist;\n\t} procs1;\n\tstruct cgroup_of_peak peak;\n};\n\nstruct kernfs_root;\n\nstruct kernfs_fs_context {\n\tstruct kernfs_root *root;\n\tvoid *ns_tag;\n\tlong unsigned int magic;\n\tbool new_sb_created;\n};\n\nstruct cgroup_fs_context {\n\tstruct kernfs_fs_context kfc;\n\tstruct cgroup_root *root;\n\tstruct cgroup_namespace *ns;\n\tunsigned int flags;\n\tbool cpuset_clone_children;\n\tbool none;\n\tbool all_ss;\n\tu16 subsys_mask;\n\tchar *name;\n\tchar *release_agent;\n};\n\nstruct cgroup_iter_priv {\n\tstruct cgroup_subsys_state *start_css;\n\tbool visited_all;\n\tbool terminate;\n\tint order;\n};\n\nstruct cgroup_taskset {\n\tstruct list_head src_csets;\n\tstruct list_head dst_csets;\n\tint nr_tasks;\n\tint ssid;\n\tstruct list_head *csets;\n\tstruct css_set *cur_cset;\n\tstruct task_struct *cur_task;\n};\n\nstruct cgroup_mgctx {\n\tstruct list_head preloaded_src_csets;\n\tstruct list_head preloaded_dst_csets;\n\tstruct cgroup_taskset tset;\n\tu16 ss_mask;\n};\n\nstruct proc_ns_operations;\n\nstruct ns_common {\n\tstruct dentry *stashed;\n\tconst struct proc_ns_operations *ops;\n\tunsigned int inum;\n\trefcount_t count;\n};\n\nstruct ucounts;\n\nstruct cgroup_namespace {\n\tstruct ns_common ns;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct css_set *root_cset;\n};\n\nstruct cgroup_pidlist {\n\tstruct {\n\t\tenum cgroup_filetype type;\n\t\tstruct pid_namespace *ns;\n\t} key;\n\tpid_t *list;\n\tint length;\n\tstruct list_head links;\n\tstruct cgroup *owner;\n\tstruct delayed_work destroy_dwork;\n};\n\nstruct cgroup_root {\n\tstruct kernfs_root *kf_root;\n\tunsigned int subsys_mask;\n\tint hierarchy_id;\n\tstruct list_head root_list;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tstruct cgroup cgrp;\n\tstruct cgroup *cgrp_ancestor_storage;\n\tatomic_t nr_cgrps;\n\tunsigned int flags;\n\tchar release_agent_path[4096];\n\tchar name[64];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cgroup_rstat_cpu {\n\tstruct u64_stats_sync bsync;\n\tstruct cgroup_base_stat bstat;\n\tstruct cgroup_base_stat last_bstat;\n\tstruct cgroup_base_stat subtree_bstat;\n\tstruct cgroup_base_stat last_subtree_bstat;\n\tstruct cgroup *updated_children;\n\tstruct cgroup *updated_next;\n};\n\nstruct cgroup_subsys {\n\tstruct cgroup_subsys_state * (*css_alloc)(struct cgroup_subsys_state *);\n\tint (*css_online)(struct cgroup_subsys_state *);\n\tvoid (*css_offline)(struct cgroup_subsys_state *);\n\tvoid (*css_released)(struct cgroup_subsys_state *);\n\tvoid (*css_free)(struct cgroup_subsys_state *);\n\tvoid (*css_reset)(struct cgroup_subsys_state *);\n\tvoid (*css_rstat_flush)(struct cgroup_subsys_state *, int);\n\tint (*css_extra_stat_show)(struct seq_file *, struct cgroup_subsys_state *);\n\tint (*css_local_stat_show)(struct seq_file *, struct cgroup_subsys_state *);\n\tint (*can_attach)(struct cgroup_taskset *);\n\tvoid (*cancel_attach)(struct cgroup_taskset *);\n\tvoid (*attach)(struct cgroup_taskset *);\n\tvoid (*post_attach)(void);\n\tint (*can_fork)(struct task_struct *, struct css_set *);\n\tvoid (*cancel_fork)(struct task_struct *, struct css_set *);\n\tvoid (*fork)(struct task_struct *);\n\tvoid (*exit)(struct task_struct *);\n\tvoid (*release)(struct task_struct *);\n\tvoid (*bind)(struct cgroup_subsys_state *);\n\tbool early_init: 1;\n\tbool implicit_on_dfl: 1;\n\tbool threaded: 1;\n\tint id;\n\tconst char *name;\n\tconst char *legacy_name;\n\tstruct cgroup_root *root;\n\tstruct idr css_idr;\n\tstruct list_head cfts;\n\tstruct cftype *dfl_cftypes;\n\tstruct cftype *legacy_cftypes;\n\tunsigned int depends_on;\n};\n\nstruct cgroupstats {\n\t__u64 nr_sleeping;\n\t__u64 nr_running;\n\t__u64 nr_stopped;\n\t__u64 nr_uninterruptible;\n\t__u64 nr_io_wait;\n};\n\nstruct cgrp_cset_link {\n\tstruct cgroup *cgrp;\n\tstruct css_set *cset;\n\tstruct list_head cset_link;\n\tstruct list_head cgrp_link;\n};\n\nstruct linked_page;\n\nstruct chain_allocator {\n\tstruct linked_page *chain;\n\tunsigned int used_space;\n\tgfp_t gfp_mask;\n\tint safe_needed;\n};\n\nstruct chain_tracker;\n\nstruct chain_lookup {\n\tstruct chain_tracker *chains_per_smid;\n\tatomic_t chain_offset;\n};\n\nstruct chain_tracker {\n\tvoid *chain_buffer;\n\tdma_addr_t chain_buffer_dma;\n};\n\nstruct channel_map_table {\n\tunsigned char map;\n\tint spk_mask;\n};\n\nstruct ethnl_reply_data {\n\tstruct net_device *dev;\n};\n\nstruct ethtool_channels {\n\t__u32 cmd;\n\t__u32 max_rx;\n\t__u32 max_tx;\n\t__u32 max_other;\n\t__u32 max_combined;\n\t__u32 rx_count;\n\t__u32 tx_count;\n\t__u32 other_count;\n\t__u32 combined_count;\n};\n\nstruct channels_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_channels channels;\n};\n\nstruct char_device_struct {\n\tstruct char_device_struct *next;\n\tunsigned int major;\n\tunsigned int baseminor;\n\tint minorct;\n\tchar name[64];\n\tstruct cdev *cdev;\n};\n\nstruct charspec {\n\tuint8_t charSetType;\n\tuint8_t charSetInfo[63];\n};\n\nstruct qdisc_walker {\n\tint stop;\n\tint skip;\n\tint count;\n\tint (*fn)(struct Qdisc *, long unsigned int, struct qdisc_walker *);\n};\n\nstruct check_loop_arg {\n\tstruct qdisc_walker w;\n\tstruct Qdisc *p;\n\tint depth;\n};\n\nstruct check_mount {\n\tstruct vfsmount *mnt;\n\tunsigned int mounted;\n};\n\nstruct iolatency_grp;\n\nstruct child_latency_info {\n\tspinlock_t lock;\n\tu64 last_scale_event;\n\tu64 scale_lat;\n\tu64 nr_samples;\n\tstruct iolatency_grp *scale_grp;\n\tatomic_t scale_cookie;\n};\n\nstruct chksum_ctx {\n\tu32 key;\n};\n\nstruct chksum_desc_ctx {\n\tu32 crc;\n};\n\nstruct cipher_context {\n\tchar iv[20];\n\tchar rec_seq[8];\n};\n\nstruct test_sglist {\n\tchar *bufs[8];\n\tstruct scatterlist sgl[8];\n\tstruct scatterlist sgl_saved[8];\n\tstruct scatterlist *sgl_ptr;\n\tunsigned int nents;\n};\n\nstruct cipher_test_sglists {\n\tstruct test_sglist src;\n\tstruct test_sglist dst;\n};\n\nstruct cipher_testvec {\n\tconst char *key;\n\tconst char *iv;\n\tconst char *iv_out;\n\tconst char *ptext;\n\tconst char *ctext;\n\tunsigned char wk;\n\tshort unsigned int klen;\n\tunsigned int len;\n\tbool fips_skip;\n\tint setkey_error;\n\tint crypt_error;\n};\n\nstruct class_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct class *, const struct class_attribute *, char *);\n\tssize_t (*store)(const struct class *, const struct class_attribute *, const char *, size_t);\n};\n\nstruct class_attribute_string {\n\tstruct class_attribute attr;\n\tchar *str;\n};\n\nstruct class_compat {\n\tstruct kobject *kobj;\n};\n\nstruct hashtab_node;\n\nstruct hashtab {\n\tstruct hashtab_node **htable;\n\tu32 size;\n\tu32 nel;\n};\n\nstruct symtab {\n\tstruct hashtab table;\n\tu32 nprim;\n};\n\nstruct common_datum;\n\nstruct constraint_node;\n\nstruct class_datum {\n\tu32 value;\n\tchar *comkey;\n\tstruct common_datum *comdatum;\n\tstruct symtab permissions;\n\tstruct constraint_node *constraints;\n\tstruct constraint_node *validatetrans;\n\tchar default_user;\n\tchar default_role;\n\tchar default_type;\n\tchar default_range;\n};\n\nstruct klist_iter {\n\tstruct klist *i_klist;\n\tstruct klist_node *i_cur;\n};\n\nstruct subsys_private;\n\nstruct class_dev_iter {\n\tstruct klist_iter ki;\n\tconst struct device_type *type;\n\tstruct subsys_private *sp;\n};\n\nstruct class_dir {\n\tstruct kobject kobj;\n\tconst struct class *class;\n};\n\nstruct class_info {\n\tint class;\n\tchar *class_name;\n};\n\nstruct class_interface {\n\tstruct list_head node;\n\tconst struct class *class;\n\tint (*add_dev)(struct device *);\n\tvoid (*remove_dev)(struct device *);\n};\n\nstruct cld_name {\n\t__u16 cn_len;\n\tunsigned char cn_id[1024];\n};\n\nstruct cld_princhash {\n\t__u8 cp_len;\n\tunsigned char cp_data[32];\n};\n\nstruct cld_clntinfo {\n\tstruct cld_name cc_name;\n\tstruct cld_princhash cc_princhash;\n} __attribute__((packed));\n\nstruct cld_msg {\n\t__u8 cm_vers;\n\t__u8 cm_cmd;\n\t__s16 cm_status;\n\t__u32 cm_xid;\n\tunion {\n\t\t__s64 cm_gracetime;\n\t\tstruct cld_name cm_name;\n\t\t__u8 cm_version;\n\t} cm_u;\n} __attribute__((packed));\n\nstruct cld_msg_hdr {\n\t__u8 cm_vers;\n\t__u8 cm_cmd;\n\t__s16 cm_status;\n\t__u32 cm_xid;\n};\n\nstruct cld_msg_v2 {\n\t__u8 cm_vers;\n\t__u8 cm_cmd;\n\t__s16 cm_status;\n\t__u32 cm_xid;\n\tunion {\n\t\tstruct cld_name cm_name;\n\t\t__u8 cm_version;\n\t\tstruct cld_clntinfo cm_clntinfo;\n\t} cm_u;\n} __attribute__((packed));\n\nstruct rpc_pipe;\n\nstruct cld_net {\n\tstruct rpc_pipe *cn_pipe;\n\tspinlock_t cn_lock;\n\tstruct list_head cn_list;\n\tunsigned int cn_xid;\n\tstruct crypto_shash *cn_tfm;\n\tbool cn_has_legacy;\n};\n\nstruct cld_upcall {\n\tstruct list_head cu_list;\n\tstruct cld_net *cu_net;\n\tstruct completion cu_done;\n\tunion {\n\t\tstruct cld_msg_hdr cu_hdr;\n\t\tstruct cld_msg cu_msg;\n\t\tstruct cld_msg_v2 cu_msg_v2;\n\t} cu_u;\n};\n\nstruct clear_refs_private {\n\tenum clear_refs_types type;\n};\n\nstruct clk_core;\n\nstruct clk {\n\tstruct clk_core *core;\n\tstruct device *dev;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tunsigned int exclusive_count;\n\tstruct hlist_node clks_node;\n};\n\nstruct clk_bulk_data {\n\tconst char *id;\n\tstruct clk *clk;\n};\n\nstruct clk_bulk_devres {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct clk_init_data;\n\nstruct clk_hw {\n\tstruct clk_core *core;\n\tstruct clk *clk;\n\tconst struct clk_init_data *init;\n};\n\nstruct clk_rate_request;\n\nstruct clk_duty;\n\nstruct clk_ops {\n\tint (*prepare)(struct clk_hw *);\n\tvoid (*unprepare)(struct clk_hw *);\n\tint (*is_prepared)(struct clk_hw *);\n\tvoid (*unprepare_unused)(struct clk_hw *);\n\tint (*enable)(struct clk_hw *);\n\tvoid (*disable)(struct clk_hw *);\n\tint (*is_enabled)(struct clk_hw *);\n\tvoid (*disable_unused)(struct clk_hw *);\n\tint (*save_context)(struct clk_hw *);\n\tvoid (*restore_context)(struct clk_hw *);\n\tlong unsigned int (*recalc_rate)(struct clk_hw *, long unsigned int);\n\tlong int (*round_rate)(struct clk_hw *, long unsigned int, long unsigned int *);\n\tint (*determine_rate)(struct clk_hw *, struct clk_rate_request *);\n\tint (*set_parent)(struct clk_hw *, u8);\n\tu8 (*get_parent)(struct clk_hw *);\n\tint (*set_rate)(struct clk_hw *, long unsigned int, long unsigned int);\n\tint (*set_rate_and_parent)(struct clk_hw *, long unsigned int, long unsigned int, u8);\n\tlong unsigned int (*recalc_accuracy)(struct clk_hw *, long unsigned int);\n\tint (*get_phase)(struct clk_hw *);\n\tint (*set_phase)(struct clk_hw *, int);\n\tint (*get_duty_cycle)(struct clk_hw *, struct clk_duty *);\n\tint (*set_duty_cycle)(struct clk_hw *, struct clk_duty *);\n\tint (*init)(struct clk_hw *);\n\tvoid (*terminate)(struct clk_hw *);\n\tvoid (*debug_init)(struct clk_hw *, struct dentry *);\n};\n\nstruct clk_composite {\n\tstruct clk_hw hw;\n\tstruct clk_ops ops;\n\tstruct clk_hw *mux_hw;\n\tstruct clk_hw *rate_hw;\n\tstruct clk_hw *gate_hw;\n\tconst struct clk_ops *mux_ops;\n\tconst struct clk_ops *rate_ops;\n\tconst struct clk_ops *gate_ops;\n};\n\nstruct clk_duty {\n\tunsigned int num;\n\tunsigned int den;\n};\n\nstruct clk_parent_map;\n\nstruct clk_core {\n\tconst char *name;\n\tconst struct clk_ops *ops;\n\tstruct clk_hw *hw;\n\tstruct module *owner;\n\tstruct device *dev;\n\tstruct hlist_node rpm_node;\n\tstruct device_node *of_node;\n\tstruct clk_core *parent;\n\tstruct clk_parent_map *parents;\n\tu8 num_parents;\n\tu8 new_parent_index;\n\tlong unsigned int rate;\n\tlong unsigned int req_rate;\n\tlong unsigned int new_rate;\n\tstruct clk_core *new_parent;\n\tstruct clk_core *new_child;\n\tlong unsigned int flags;\n\tbool orphan;\n\tbool rpm_enabled;\n\tunsigned int enable_count;\n\tunsigned int prepare_count;\n\tunsigned int protect_count;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int accuracy;\n\tint phase;\n\tstruct clk_duty duty;\n\tstruct hlist_head children;\n\tstruct hlist_node child_node;\n\tstruct hlist_head clks;\n\tunsigned int notifier_count;\n\tstruct dentry *dentry;\n\tstruct hlist_node debug_node;\n\tstruct kref ref;\n};\n\nstruct clk_div_table {\n\tunsigned int val;\n\tunsigned int div;\n};\n\nstruct clk_divider {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu8 width;\n\tu16 flags;\n\tconst struct clk_div_table *table;\n\tspinlock_t *lock;\n};\n\nstruct clk_fixed_factor {\n\tstruct clk_hw hw;\n\tunsigned int mult;\n\tunsigned int div;\n\tlong unsigned int acc;\n\tunsigned int flags;\n};\n\nstruct clk_fixed_rate {\n\tstruct clk_hw hw;\n\tlong unsigned int fixed_rate;\n\tlong unsigned int fixed_accuracy;\n\tlong unsigned int flags;\n};\n\nstruct clk_fractional_divider {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 mshift;\n\tu8 mwidth;\n\tu8 nshift;\n\tu8 nwidth;\n\tu8 flags;\n\tvoid (*approximation)(struct clk_hw *, long unsigned int, long unsigned int *, long unsigned int *, long unsigned int *);\n\tspinlock_t *lock;\n};\n\nstruct clk_gate {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 bit_idx;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct clk_gpio {\n\tstruct clk_hw hw;\n\tstruct gpio_desc *gpiod;\n};\n\nstruct clk_gated_fixed {\n\tstruct clk_gpio clk_gpio;\n\tstruct regulator *supply;\n\tlong unsigned int rate;\n};\n\nstruct clk_hw_onecell_data {\n\tunsigned int num;\n\tstruct clk_hw *hws[0];\n};\n\nstruct clk_parent_data;\n\nstruct clk_init_data {\n\tconst char *name;\n\tconst struct clk_ops *ops;\n\tconst char * const *parent_names;\n\tconst struct clk_parent_data *parent_data;\n\tconst struct clk_hw **parent_hws;\n\tu8 num_parents;\n\tlong unsigned int flags;\n};\n\nstruct clk_lookup {\n\tstruct list_head node;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct clk *clk;\n\tstruct clk_hw *clk_hw;\n};\n\nstruct clk_lookup_alloc {\n\tstruct clk_lookup cl;\n\tchar dev_id[24];\n\tchar con_id[16];\n};\n\nstruct clk_multiplier {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu8 width;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct clk_mux {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tconst u32 *table;\n\tu32 mask;\n\tu8 shift;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct srcu_node;\n\nstruct srcu_usage {\n\tstruct srcu_node *node;\n\tstruct srcu_node *level[3];\n\tint srcu_size_state;\n\tstruct mutex srcu_cb_mutex;\n\tspinlock_t lock;\n\tstruct mutex srcu_gp_mutex;\n\tlong unsigned int srcu_gp_seq;\n\tlong unsigned int srcu_gp_seq_needed;\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tlong unsigned int srcu_gp_start;\n\tlong unsigned int srcu_last_gp_end;\n\tlong unsigned int srcu_size_jiffies;\n\tlong unsigned int srcu_n_lock_retries;\n\tlong unsigned int srcu_n_exp_nodelay;\n\tbool sda_is_static;\n\tlong unsigned int srcu_barrier_seq;\n\tstruct mutex srcu_barrier_mutex;\n\tstruct completion srcu_barrier_completion;\n\tatomic_t srcu_barrier_cpu_cnt;\n\tlong unsigned int reschedule_jiffies;\n\tlong unsigned int reschedule_count;\n\tstruct delayed_work work;\n\tstruct srcu_struct *srcu_ssp;\n};\n\nstruct srcu_data;\n\nstruct srcu_struct {\n\tunsigned int srcu_idx;\n\tstruct srcu_data *sda;\n\tstruct lockdep_map dep_map;\n\tstruct srcu_usage *srcu_sup;\n};\n\nstruct srcu_notifier_head {\n\tstruct mutex mutex;\n\tstruct srcu_usage srcuu;\n\tstruct srcu_struct srcu;\n\tstruct notifier_block *head;\n};\n\nstruct clk_notifier {\n\tstruct clk *clk;\n\tstruct srcu_notifier_head notifier_head;\n\tstruct list_head node;\n};\n\nstruct clk_notifier_data {\n\tstruct clk *clk;\n\tlong unsigned int old_rate;\n\tlong unsigned int new_rate;\n};\n\nstruct clk_notifier_devres {\n\tstruct clk *clk;\n\tstruct notifier_block *nb;\n};\n\nstruct clk_onecell_data {\n\tstruct clk **clks;\n\tunsigned int clk_num;\n};\n\nstruct clk_parent_data {\n\tconst struct clk_hw *hw;\n\tconst char *fw_name;\n\tconst char *name;\n\tint index;\n};\n\nstruct clk_parent_map {\n\tconst struct clk_hw *hw;\n\tstruct clk_core *core;\n\tconst char *fw_name;\n\tconst char *name;\n\tint index;\n};\n\nstruct clk_rate_request {\n\tstruct clk_core *core;\n\tlong unsigned int rate;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int best_parent_rate;\n\tstruct clk_hw *best_parent_hw;\n};\n\nstruct clk_to_pixpll_parms_lookup_t {\n\tunsigned int clock;\n\tshort unsigned int width;\n\tshort unsigned int height;\n\tshort unsigned int vrefresh;\n\tshort unsigned int div_out;\n\tshort unsigned int loopc;\n\tshort unsigned int div_ref;\n};\n\nstruct clock_read_data {\n\tu64 epoch_ns;\n\tu64 epoch_cyc;\n\tu64 sched_clock_mask;\n\tu64 (*read_sched_clock)(void);\n\tu32 mult;\n\tu32 shift;\n};\n\nstruct clock_data {\n\tseqcount_latch_t seq;\n\tstruct clock_read_data read_data[2];\n\tktime_t wrap_kt;\n\tlong unsigned int rate;\n\tu64 (*actual_read_sched_clock)(void);\n};\n\nstruct clock_event_device {\n\tvoid (*event_handler)(struct clock_event_device *);\n\tint (*set_next_event)(long unsigned int, struct clock_event_device *);\n\tint (*set_next_ktime)(ktime_t, struct clock_event_device *);\n\tktime_t next_event;\n\tu64 max_delta_ns;\n\tu64 min_delta_ns;\n\tu32 mult;\n\tu32 shift;\n\tenum clock_event_state state_use_accessors;\n\tunsigned int features;\n\tlong unsigned int retries;\n\tint (*set_state_periodic)(struct clock_event_device *);\n\tint (*set_state_oneshot)(struct clock_event_device *);\n\tint (*set_state_oneshot_stopped)(struct clock_event_device *);\n\tint (*set_state_shutdown)(struct clock_event_device *);\n\tint (*tick_resume)(struct clock_event_device *);\n\tvoid (*broadcast)(const struct cpumask *);\n\tvoid (*suspend)(struct clock_event_device *);\n\tvoid (*resume)(struct clock_event_device *);\n\tlong unsigned int min_delta_ticks;\n\tlong unsigned int max_delta_ticks;\n\tconst char *name;\n\tint rating;\n\tint irq;\n\tint bound_on;\n\tconst struct cpumask *cpumask;\n\tstruct list_head list;\n\tstruct module *owner;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct clock_identity {\n\tu8 id[8];\n};\n\nstruct clock_provider {\n\tvoid (*clk_init_cb)(struct device_node *);\n\tstruct device_node *np;\n\tstruct list_head node;\n};\n\nstruct clocksource_base;\n\nstruct clocksource {\n\tu64 (*read)(struct clocksource *);\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n\tu64 max_idle_ns;\n\tu32 maxadj;\n\tu32 uncertainty_margin;\n\tu64 max_cycles;\n\tu64 max_raw_delta;\n\tconst char *name;\n\tstruct list_head list;\n\tu32 freq_khz;\n\tint rating;\n\tenum clocksource_ids id;\n\tenum vdso_clock_mode vdso_clock_mode;\n\tlong unsigned int flags;\n\tstruct clocksource_base *base;\n\tint (*enable)(struct clocksource *);\n\tvoid (*disable)(struct clocksource *);\n\tvoid (*suspend)(struct clocksource *);\n\tvoid (*resume)(struct clocksource *);\n\tvoid (*mark_unstable)(struct clocksource *);\n\tvoid (*tick_stable)(struct clocksource *);\n\tstruct module *owner;\n};\n\nstruct clocksource_base {\n\tenum clocksource_ids id;\n\tu32 freq_khz;\n\tu64 offset;\n\tu32 numerator;\n\tu32 denominator;\n};\n\nstruct clone_args {\n\t__u64 flags;\n\t__u64 pidfd;\n\t__u64 child_tid;\n\t__u64 parent_tid;\n\t__u64 exit_signal;\n\t__u64 stack;\n\t__u64 stack_size;\n\t__u64 tls;\n\t__u64 set_tid;\n\t__u64 set_tid_size;\n\t__u64 cgroup;\n};\n\nstruct dm_table;\n\nstruct dm_io;\n\nstruct clone_info {\n\tstruct dm_table *map;\n\tstruct bio *bio;\n\tstruct dm_io *io;\n\tsector_t sector;\n\tunsigned int sector_count;\n\tbool is_abnormal_io: 1;\n\tbool submit_as_polled: 1;\n};\n\nstruct clone_root {\n\tstruct btrfs_root *root;\n\tu64 ino;\n\tu64 offset;\n\tu64 num_bytes;\n\tbool found_ref;\n};\n\ntypedef void closure_fn(struct work_struct *);\n\nstruct closure_syncer;\n\nstruct closure {\n\tunion {\n\t\tstruct {\n\t\t\tstruct workqueue_struct *wq;\n\t\t\tstruct closure_syncer *s;\n\t\t\tstruct llist_node list;\n\t\t\tclosure_fn *fn;\n\t\t};\n\t\tstruct work_struct work;\n\t};\n\tstruct closure *parent;\n\tatomic_t remaining;\n\tbool closure_get_happened;\n};\n\nstruct closure_syncer {\n\tstruct task_struct *task;\n\tint done;\n};\n\nstruct closure_waitlist {\n\tstruct llist_head list;\n};\n\nstruct cma_kobject;\n\nstruct cma {\n\tlong unsigned int base_pfn;\n\tlong unsigned int count;\n\tlong unsigned int *bitmap;\n\tunsigned int order_per_bit;\n\tspinlock_t lock;\n\tchar name[64];\n\tatomic64_t nr_pages_succeeded;\n\tatomic64_t nr_pages_failed;\n\tatomic64_t nr_pages_released;\n\tstruct cma_kobject *cma_kobj;\n\tbool reserve_pages_on_error;\n};\n\nstruct dma_heap;\n\nstruct cma_heap {\n\tstruct dma_heap *heap;\n\tstruct cma *cma;\n};\n\nstruct cma_heap_buffer {\n\tstruct cma_heap *heap;\n\tstruct list_head attachments;\n\tstruct mutex lock;\n\tlong unsigned int len;\n\tstruct page *cma_pages;\n\tstruct page **pages;\n\tlong unsigned int pagecount;\n\tint vmap_cnt;\n\tvoid *vaddr;\n};\n\nstruct cma_kobject {\n\tstruct kobject kobj;\n\tstruct cma *cma;\n};\n\nstruct cmdline_subpart;\n\nstruct cmdline_parts {\n\tchar name[32];\n\tunsigned int nr_subparts;\n\tstruct cmdline_subpart *subpart;\n\tstruct cmdline_parts *next_parts;\n};\n\nstruct cmdline_subpart {\n\tchar name[32];\n\tsector_t from;\n\tsector_t size;\n\tint flags;\n\tstruct cmdline_subpart *next_subpart;\n};\n\nstruct cmis_cdb_advert_rpl {\n\tu8 inst_supported;\n\tu8 read_write_len_ext;\n\tu8 resv1;\n\tu8 resv2;\n};\n\nstruct cmis_cdb_fw_mng_features_rpl {\n\tu8 resv1;\n\tu8 resv2;\n\tu8 start_cmd_payload_size;\n\tu8 resv3;\n\tu8 read_write_len_ext;\n\tu8 write_mechanism;\n\tu8 resv4;\n\tu8 resv5;\n\t__be16 max_duration_start;\n\t__be16 resv6;\n\t__be16 max_duration_write;\n\t__be16 max_duration_complete;\n\t__be16 resv7;\n};\n\nstruct cmis_cdb_module_features_rpl {\n\tu8 resv1[34];\n\t__be16 max_completion_time;\n};\n\nstruct cmis_cdb_query_status_pl {\n\tu16 response_delay;\n};\n\nstruct cmis_cdb_query_status_rpl {\n\tu8 length;\n\tu8 status;\n};\n\nstruct cmis_cdb_run_fw_image_pl {\n\tu8 resv1;\n\tu8 image_to_run;\n\tu16 delay_to_reset;\n};\n\nstruct cmis_cdb_start_fw_download_pl_h {\n\t__be32 image_size;\n\t__be32 resv1;\n};\n\nstruct cmis_cdb_start_fw_download_pl {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 image_size;\n\t\t\t__be32 resv1;\n\t\t};\n\t\tstruct cmis_cdb_start_fw_download_pl_h head;\n\t};\n\tu8 vendor_data[112];\n};\n\nstruct cmis_cdb_write_fw_block_epl_pl {\n\tu8 fw_block[2048];\n};\n\nstruct cmis_cdb_write_fw_block_lpl_pl {\n\t__be32 block_address;\n\tu8 fw_block[116];\n};\n\nstruct cmis_fw_update_fw_mng_features {\n\tu8 start_cmd_payload_size;\n\tu8 write_mechanism;\n\tu16 max_duration_start;\n\tu16 max_duration_write;\n\tu16 max_duration_complete;\n};\n\nstruct cmis_password_entry_pl {\n\t__be32 password;\n};\n\nstruct cmis_rev_rpl {\n\tu8 rev;\n};\n\nstruct cmis_wait_for_cond_rpl {\n\tu8 state;\n};\n\nstruct crypto_comp;\n\nstruct cmp_data {\n\tstruct task_struct *thr;\n\tstruct crypto_comp *cc;\n\tatomic_t ready;\n\tatomic_t stop;\n\tint ret;\n\twait_queue_head_t go;\n\twait_queue_head_t done;\n\tsize_t unc_len;\n\tsize_t cmp_len;\n\tunsigned char unc[524288];\n\tunsigned char cmp[573440];\n};\n\nstruct cmsghdr {\n\t__kernel_size_t cmsg_len;\n\tint cmsg_level;\n\tint cmsg_type;\n};\n\nstruct ethtool_coalesce {\n\t__u32 cmd;\n\t__u32 rx_coalesce_usecs;\n\t__u32 rx_max_coalesced_frames;\n\t__u32 rx_coalesce_usecs_irq;\n\t__u32 rx_max_coalesced_frames_irq;\n\t__u32 tx_coalesce_usecs;\n\t__u32 tx_max_coalesced_frames;\n\t__u32 tx_coalesce_usecs_irq;\n\t__u32 tx_max_coalesced_frames_irq;\n\t__u32 stats_block_coalesce_usecs;\n\t__u32 use_adaptive_rx_coalesce;\n\t__u32 use_adaptive_tx_coalesce;\n\t__u32 pkt_rate_low;\n\t__u32 rx_coalesce_usecs_low;\n\t__u32 rx_max_coalesced_frames_low;\n\t__u32 tx_coalesce_usecs_low;\n\t__u32 tx_max_coalesced_frames_low;\n\t__u32 pkt_rate_high;\n\t__u32 rx_coalesce_usecs_high;\n\t__u32 rx_max_coalesced_frames_high;\n\t__u32 tx_coalesce_usecs_high;\n\t__u32 tx_max_coalesced_frames_high;\n\t__u32 rate_sample_interval;\n};\n\nstruct kernel_ethtool_coalesce {\n\tu8 use_cqe_mode_tx;\n\tu8 use_cqe_mode_rx;\n\tu32 tx_aggr_max_bytes;\n\tu32 tx_aggr_max_frames;\n\tu32 tx_aggr_time_usecs;\n};\n\nstruct coalesce_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_coalesce coalesce;\n\tstruct kernel_ethtool_coalesce kernel_coalesce;\n\tu32 supported_params;\n};\n\nstruct coef_fw {\n\tunsigned char nid;\n\tunsigned char idx;\n\tshort unsigned int mask;\n\tshort unsigned int val;\n};\n\nstruct collapse_control {\n\tbool is_khugepaged;\n\tu32 node_load[64];\n\tnodemask_t alloc_nmask;\n};\n\nstruct commit_header {\n\t__be32 h_magic;\n\t__be32 h_blocktype;\n\t__be32 h_sequence;\n\tunsigned char h_chksum_type;\n\tunsigned char h_chksum_size;\n\tunsigned char h_padding[2];\n\t__be32 h_chksum[8];\n\t__be64 h_commit_sec;\n\t__be32 h_commit_nsec;\n};\n\nstruct common_datum {\n\tu32 value;\n\tstruct symtab permissions;\n};\n\nstruct comp_opts {\n\tint dict_size;\n};\n\nstruct comp_testvec {\n\tint inlen;\n\tint outlen;\n\tchar input[512];\n\tchar output[512];\n};\n\nstruct zone;\n\nstruct compact_control {\n\tstruct list_head freepages[12];\n\tstruct list_head migratepages;\n\tunsigned int nr_freepages;\n\tunsigned int nr_migratepages;\n\tlong unsigned int free_pfn;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int fast_start_pfn;\n\tstruct zone *zone;\n\tlong unsigned int total_migrate_scanned;\n\tlong unsigned int total_free_scanned;\n\tshort unsigned int fast_search_fail;\n\tshort int search_order;\n\tconst gfp_t gfp_mask;\n\tint order;\n\tint migratetype;\n\tconst unsigned int alloc_flags;\n\tconst int highest_zoneidx;\n\tenum migrate_mode mode;\n\tbool ignore_skip_hint;\n\tbool no_set_skip_hint;\n\tbool ignore_block_suitable;\n\tbool direct_compaction;\n\tbool proactive_compaction;\n\tbool whole_zone;\n\tbool contended;\n\tbool finish_pageblock;\n\tbool alloc_contig;\n};\n\nstruct compat_group_filter {\n\tunion {\n\t\tstruct {\n\t\t\t__u32 gf_interface_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_group_aux;\n\t\t\t__u32 gf_fmode_aux;\n\t\t\t__u32 gf_numsrc_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist[1];\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\t__u32 gf_interface;\n\t\t\tstruct __kernel_sockaddr_storage gf_group;\n\t\t\t__u32 gf_fmode;\n\t\t\t__u32 gf_numsrc;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist_flex[0];\n\t\t} __attribute__((packed));\n\t};\n};\n\nstruct compat_group_req {\n\t__u32 gr_interface;\n\tstruct __kernel_sockaddr_storage gr_group;\n} __attribute__((packed));\n\nstruct compat_group_source_req {\n\t__u32 gsr_interface;\n\tstruct __kernel_sockaddr_storage gsr_group;\n\tstruct __kernel_sockaddr_storage gsr_source;\n} __attribute__((packed));\n\nstruct compat_if_dqblk {\n\tcompat_u64 dqb_bhardlimit;\n\tcompat_u64 dqb_bsoftlimit;\n\tcompat_u64 dqb_curspace;\n\tcompat_u64 dqb_ihardlimit;\n\tcompat_u64 dqb_isoftlimit;\n\tcompat_u64 dqb_curinodes;\n\tcompat_u64 dqb_btime;\n\tcompat_u64 dqb_itime;\n\tcompat_uint_t dqb_valid;\n};\n\nstruct compat_if_settings {\n\tunsigned int type;\n\tunsigned int size;\n\tcompat_uptr_t ifs_ifsu;\n};\n\nstruct compat_ifconf {\n\tcompat_int_t ifc_len;\n\tcompat_caddr_t ifcbuf;\n};\n\nstruct compat_ifmap {\n\tcompat_ulong_t mem_start;\n\tcompat_ulong_t mem_end;\n\tshort unsigned int base_addr;\n\tunsigned char irq;\n\tunsigned char dma;\n\tunsigned char port;\n};\n\nstruct compat_ifreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion {\n\t\tstruct sockaddr ifru_addr;\n\t\tstruct sockaddr ifru_dstaddr;\n\t\tstruct sockaddr ifru_broadaddr;\n\t\tstruct sockaddr ifru_netmask;\n\t\tstruct sockaddr ifru_hwaddr;\n\t\tshort int ifru_flags;\n\t\tcompat_int_t ifru_ivalue;\n\t\tcompat_int_t ifru_mtu;\n\t\tstruct compat_ifmap ifru_map;\n\t\tchar ifru_slave[16];\n\t\tchar ifru_newname[16];\n\t\tcompat_caddr_t ifru_data;\n\t\tstruct compat_if_settings ifru_settings;\n\t} ifr_ifru;\n};\n\nstruct compat_iovec {\n\tcompat_uptr_t iov_base;\n\tcompat_size_t iov_len;\n};\n\nstruct megasas_header {\n\tu8 cmd;\n\tu8 sense_len;\n\tu8 cmd_status;\n\tu8 scsi_status;\n\tu8 target_id;\n\tu8 lun;\n\tu8 cdb_len;\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xferlen;\n};\n\nstruct compat_megasas_iocpacket {\n\tu16 host_no;\n\tu16 __pad1;\n\tu32 sgl_off;\n\tu32 sge_count;\n\tu32 sense_off;\n\tu32 sense_len;\n\tunion {\n\t\tu8 raw[128];\n\t\tstruct megasas_header hdr;\n\t} frame;\n\tstruct compat_iovec sgl[16];\n};\n\nstruct compat_msghdr {\n\tcompat_uptr_t msg_name;\n\tcompat_int_t msg_namelen;\n\tcompat_uptr_t msg_iov;\n\tcompat_size_t msg_iovlen;\n\tcompat_uptr_t msg_control;\n\tcompat_size_t msg_controllen;\n\tcompat_uint_t msg_flags;\n};\n\nstruct compat_mmsghdr {\n\tstruct compat_msghdr msg_hdr;\n\tcompat_uint_t msg_len;\n};\n\nstruct compat_nfs_string {\n\tcompat_uint_t len;\n\tcompat_uptr_t data;\n};\n\nstruct compat_nfs4_mount_data_v1 {\n\tcompat_int_t version;\n\tcompat_int_t flags;\n\tcompat_int_t rsize;\n\tcompat_int_t wsize;\n\tcompat_int_t timeo;\n\tcompat_int_t retrans;\n\tcompat_int_t acregmin;\n\tcompat_int_t acregmax;\n\tcompat_int_t acdirmin;\n\tcompat_int_t acdirmax;\n\tstruct compat_nfs_string client_addr;\n\tstruct compat_nfs_string mnt_path;\n\tstruct compat_nfs_string hostname;\n\tcompat_uint_t host_addrlen;\n\tcompat_uptr_t host_addr;\n\tcompat_int_t proto;\n\tcompat_int_t auth_flavourlen;\n\tcompat_uptr_t auth_flavours;\n};\n\nstruct compat_resume_swap_area {\n\tcompat_loff_t offset;\n\tu32 dev;\n} __attribute__((packed));\n\nstruct compat_sg_io_hdr {\n\tcompat_int_t interface_id;\n\tcompat_int_t dxfer_direction;\n\tunsigned char cmd_len;\n\tunsigned char mx_sb_len;\n\tshort unsigned int iovec_count;\n\tcompat_uint_t dxfer_len;\n\tcompat_uint_t dxferp;\n\tcompat_uptr_t cmdp;\n\tcompat_uptr_t sbp;\n\tcompat_uint_t timeout;\n\tcompat_uint_t flags;\n\tcompat_int_t pack_id;\n\tcompat_uptr_t usr_ptr;\n\tunsigned char status;\n\tunsigned char masked_status;\n\tunsigned char msg_status;\n\tunsigned char sb_len_wr;\n\tshort unsigned int host_status;\n\tshort unsigned int driver_status;\n\tcompat_int_t resid;\n\tcompat_uint_t duration;\n\tcompat_uint_t info;\n};\n\nstruct compat_sock_fprog {\n\tu16 len;\n\tcompat_uptr_t filter;\n};\n\nstruct component_ops;\n\nstruct component {\n\tstruct list_head node;\n\tstruct aggregate_device *adev;\n\tbool bound;\n\tconst struct component_ops *ops;\n\tint subcomponent;\n\tstruct device *dev;\n};\n\nstruct component_master_ops {\n\tint (*bind)(struct device *);\n\tvoid (*unbind)(struct device *);\n};\n\nstruct component_match_array;\n\nstruct component_match {\n\tsize_t alloc;\n\tsize_t num;\n\tstruct component_match_array *compare;\n};\n\nstruct component_match_array {\n\tvoid *data;\n\tint (*compare)(struct device *, void *);\n\tint (*compare_typed)(struct device *, int, void *);\n\tvoid (*release)(struct device *, void *);\n\tstruct component *component;\n\tbool duplicate;\n};\n\nstruct component_ops {\n\tint (*bind)(struct device *, struct device *, void *);\n\tvoid (*unbind)(struct device *, struct device *, void *);\n};\n\nstruct compound_hdr {\n\tint32_t status;\n\tuint32_t nops;\n\t__be32 *nops_p;\n\tuint32_t taglen;\n\tchar *tag;\n\tuint32_t replen;\n\tu32 minorversion;\n};\n\ntypedef int (*decompress_fn)(unsigned char *, long int, long int (*)(void *, long unsigned int), long int (*)(void *, long unsigned int), unsigned char *, long int *, void (*)(char *));\n\nstruct compress_format {\n\tunsigned char magic[2];\n\tconst char *name;\n\tdecompress_fn decompressor;\n};\n\nstruct compressed_bio {\n\tunsigned int nr_folios;\n\tstruct folio **compressed_folios;\n\tu64 start;\n\tunsigned int len;\n\tunsigned int compressed_len;\n\tu8 compress_type;\n\tbool writeback;\n\tunion {\n\t\tstruct btrfs_bio *orig_bbio;\n\t\tstruct work_struct write_end_work;\n\t};\n\tstruct btrfs_bio bbio;\n};\n\nstruct consw;\n\nstruct con_driver {\n\tconst struct consw *con;\n\tconst char *desc;\n\tstruct device *dev;\n\tint node;\n\tint first;\n\tint last;\n\tint flag;\n};\n\nstruct cond_av_list {\n\tstruct avtab_node **nodes;\n\tu32 len;\n};\n\nstruct cond_bool_datum {\n\tu32 value;\n\tint state;\n};\n\nstruct cond_expr_node;\n\nstruct cond_expr {\n\tstruct cond_expr_node *nodes;\n\tu32 len;\n};\n\nstruct cond_expr_node {\n\tu32 expr_type;\n\tu32 boolean;\n};\n\nstruct policydb;\n\nstruct cond_insertf_data {\n\tstruct policydb *p;\n\tstruct avtab_node **dst;\n\tstruct cond_av_list *other;\n};\n\nstruct cond_node {\n\tint cur_state;\n\tstruct cond_expr expr;\n\tstruct cond_av_list true_list;\n\tstruct cond_av_list false_list;\n};\n\nstruct nid_path;\n\nstruct conexant_spec {\n\tstruct hda_gen_spec gen;\n\tunsigned int num_eapds;\n\thda_nid_t eapds[4];\n\tbool dynamic_eapd;\n\thda_nid_t mute_led_eapd;\n\tunsigned int parse_flags;\n\tbool recording;\n\tbool dc_enable;\n\tunsigned int dc_input_bias;\n\tstruct nid_path *dc_mode_path;\n\tint mute_led_polarity;\n\tunsigned int gpio_led;\n\tunsigned int gpio_mute_led_mask;\n\tunsigned int gpio_mic_led_mask;\n\tbool is_cx8070_sn6140;\n};\n\nstruct dmi_system_id;\n\nstruct snd_soc_acpi_codecs;\n\nstruct config_entry {\n\tu32 flags;\n\tu16 device;\n\tu8 acpi_hid[16];\n\tconst struct dmi_system_id *dmi_table;\n\tconst struct snd_soc_acpi_codecs *codec_hid;\n};\n\nstruct config_group;\n\nstruct config_item_type;\n\nstruct config_item {\n\tchar *ci_name;\n\tchar ci_namebuf[20];\n\tstruct kref ci_kref;\n\tstruct list_head ci_entry;\n\tstruct config_item *ci_parent;\n\tstruct config_group *ci_group;\n\tconst struct config_item_type *ci_type;\n\tstruct dentry *ci_dentry;\n};\n\nstruct configfs_subsystem;\n\nstruct config_group {\n\tstruct config_item cg_item;\n\tstruct list_head cg_children;\n\tstruct configfs_subsystem *cg_subsys;\n\tstruct list_head default_groups;\n\tstruct list_head group_entry;\n};\n\nstruct configfs_item_operations;\n\nstruct configfs_group_operations;\n\nstruct configfs_attribute;\n\nstruct configfs_bin_attribute;\n\nstruct config_item_type {\n\tstruct module *ct_owner;\n\tstruct configfs_item_operations *ct_item_ops;\n\tstruct configfs_group_operations *ct_group_ops;\n\tstruct configfs_attribute **ct_attrs;\n\tstruct configfs_bin_attribute **ct_bin_attrs;\n};\n\nstruct config_request {\n\tu16 sz;\n\tvoid *page;\n\tdma_addr_t page_dma;\n};\n\nstruct deflate_state;\n\ntypedef struct deflate_state deflate_state;\n\ntypedef block_state (*compress_func)(deflate_state *, int);\n\nstruct config_s {\n\tush good_length;\n\tush max_lazy;\n\tush nice_length;\n\tush max_chain;\n\tcompress_func func;\n};\n\ntypedef struct config_s config;\n\nstruct configfs_attribute {\n\tconst char *ca_name;\n\tstruct module *ca_owner;\n\tumode_t ca_mode;\n\tssize_t (*show)(struct config_item *, char *);\n\tssize_t (*store)(struct config_item *, const char *, size_t);\n};\n\nstruct configfs_bin_attribute {\n\tstruct configfs_attribute cb_attr;\n\tvoid *cb_private;\n\tsize_t cb_max_size;\n\tssize_t (*read)(struct config_item *, void *, size_t);\n\tssize_t (*write)(struct config_item *, const void *, size_t);\n};\n\nstruct configfs_buffer {\n\tsize_t count;\n\tloff_t pos;\n\tchar *page;\n\tstruct configfs_item_operations *ops;\n\tstruct mutex mutex;\n\tint needs_read_fill;\n\tbool read_in_progress;\n\tbool write_in_progress;\n\tchar *bin_buffer;\n\tint bin_buffer_size;\n\tint cb_max_size;\n\tstruct config_item *item;\n\tstruct module *owner;\n\tunion {\n\t\tstruct configfs_attribute *attr;\n\t\tstruct configfs_bin_attribute *bin_attr;\n\t};\n};\n\nstruct iattr;\n\nstruct configfs_fragment;\n\nstruct configfs_dirent {\n\tatomic_t s_count;\n\tint s_dependent_count;\n\tstruct list_head s_sibling;\n\tstruct list_head s_children;\n\tint s_links;\n\tvoid *s_element;\n\tint s_type;\n\tumode_t s_mode;\n\tstruct dentry *s_dentry;\n\tstruct iattr *s_iattr;\n\tstruct configfs_fragment *s_frag;\n};\n\nstruct configfs_fragment {\n\tatomic_t frag_count;\n\tstruct rw_semaphore frag_sem;\n\tbool frag_dead;\n};\n\nstruct configfs_group_operations {\n\tstruct config_item * (*make_item)(struct config_group *, const char *);\n\tstruct config_group * (*make_group)(struct config_group *, const char *);\n\tvoid (*disconnect_notify)(struct config_group *, struct config_item *);\n\tvoid (*drop_item)(struct config_group *, struct config_item *);\n\tbool (*is_visible)(struct config_item *, struct configfs_attribute *, int);\n\tbool (*is_bin_visible)(struct config_item *, struct configfs_bin_attribute *, int);\n};\n\nstruct configfs_item_operations {\n\tvoid (*release)(struct config_item *);\n\tint (*allow_link)(struct config_item *, struct config_item *);\n\tvoid (*drop_link)(struct config_item *, struct config_item *);\n};\n\nstruct configfs_subsystem {\n\tstruct config_group su_group;\n\tstruct mutex su_mutex;\n};\n\nstruct connect_timeout_data {\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct console;\n\nstruct printk_buffers;\n\nstruct nbcon_context {\n\tstruct console *console;\n\tunsigned int spinwait_max_us;\n\tenum nbcon_prio prio;\n\tunsigned int allow_unsafe_takeover: 1;\n\tunsigned int backlog: 1;\n\tstruct printk_buffers *pbufs;\n\tu64 seq;\n};\n\nstruct tty_driver;\n\nstruct nbcon_write_context;\n\nstruct console {\n\tchar name[16];\n\tvoid (*write)(struct console *, const char *, unsigned int);\n\tint (*read)(struct console *, char *, unsigned int);\n\tstruct tty_driver * (*device)(struct console *, int *);\n\tvoid (*unblank)(void);\n\tint (*setup)(struct console *, char *);\n\tint (*exit)(struct console *);\n\tint (*match)(struct console *, char *, int, char *);\n\tshort int flags;\n\tshort int index;\n\tint cflag;\n\tuint ispeed;\n\tuint ospeed;\n\tu64 seq;\n\tlong unsigned int dropped;\n\tvoid *data;\n\tstruct hlist_node node;\n\tvoid (*write_atomic)(struct console *, struct nbcon_write_context *);\n\tvoid (*write_thread)(struct console *, struct nbcon_write_context *);\n\tvoid (*device_lock)(struct console *, long unsigned int *);\n\tvoid (*device_unlock)(struct console *, long unsigned int);\n\tatomic_t nbcon_state;\n\tatomic_long_t nbcon_seq;\n\tstruct nbcon_context nbcon_device_ctxt;\n\tatomic_long_t nbcon_prev_seq;\n\tstruct printk_buffers *pbufs;\n\tstruct task_struct *kthread;\n\tstruct rcuwait rcuwait;\n\tstruct irq_work irq_work;\n};\n\nstruct winsize {\n\tshort unsigned int ws_row;\n\tshort unsigned int ws_col;\n\tshort unsigned int ws_xpixel;\n\tshort unsigned int ws_ypixel;\n};\n\nstruct hvc_struct;\n\nstruct console___2 {\n\tstruct list_head list;\n\tstruct hvc_struct *hvc;\n\tstruct winsize ws;\n\tu32 vtermno;\n};\n\nstruct console_cmdline {\n\tchar name[16];\n\tint index;\n\tchar devname[32];\n\tbool user_specified;\n\tchar *options;\n};\n\nstruct console_flush_type {\n\tbool nbcon_atomic;\n\tbool nbcon_offload;\n\tbool legacy_direct;\n\tbool legacy_offload;\n};\n\nstruct console_font {\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tunsigned char *data;\n};\n\nstruct console_font_op {\n\tunsigned int op;\n\tunsigned int flags;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tunsigned char *data;\n};\n\nstruct constant_table {\n\tconst char *name;\n\tint value;\n};\n\nstruct ebitmap_node;\n\nstruct ebitmap {\n\tstruct ebitmap_node *node;\n\tu32 highbit;\n};\n\nstruct type_set;\n\nstruct constraint_expr {\n\tu32 expr_type;\n\tu32 attr;\n\tu32 op;\n\tstruct ebitmap names;\n\tstruct type_set *type_names;\n\tstruct constraint_expr *next;\n};\n\nstruct constraint_node {\n\tu32 permissions;\n\tstruct constraint_expr *expr;\n\tstruct constraint_node *next;\n};\n\nstruct vc_data;\n\nstruct consw {\n\tstruct module *owner;\n\tconst char * (*con_startup)(void);\n\tvoid (*con_init)(struct vc_data *, bool);\n\tvoid (*con_deinit)(struct vc_data *);\n\tvoid (*con_clear)(struct vc_data *, unsigned int, unsigned int, unsigned int);\n\tvoid (*con_putc)(struct vc_data *, u16, unsigned int, unsigned int);\n\tvoid (*con_putcs)(struct vc_data *, const u16 *, unsigned int, unsigned int, unsigned int);\n\tvoid (*con_cursor)(struct vc_data *, bool);\n\tbool (*con_scroll)(struct vc_data *, unsigned int, unsigned int, enum con_scroll, unsigned int);\n\tbool (*con_switch)(struct vc_data *);\n\tbool (*con_blank)(struct vc_data *, enum vesa_blank_mode, bool);\n\tint (*con_font_set)(struct vc_data *, const struct console_font *, unsigned int, unsigned int);\n\tint (*con_font_get)(struct vc_data *, struct console_font *, unsigned int);\n\tint (*con_font_default)(struct vc_data *, struct console_font *, const char *);\n\tint (*con_resize)(struct vc_data *, unsigned int, unsigned int, bool);\n\tvoid (*con_set_palette)(struct vc_data *, const unsigned char *);\n\tvoid (*con_scrolldelta)(struct vc_data *, int);\n\tbool (*con_set_origin)(struct vc_data *);\n\tvoid (*con_save_screen)(struct vc_data *);\n\tu8 (*con_build_attr)(struct vc_data *, u8, enum vc_intensity, bool, bool, bool, bool);\n\tvoid (*con_invert_region)(struct vc_data *, u16 *, int);\n\tvoid (*con_debug_enter)(struct vc_data *);\n\tvoid (*con_debug_leave)(struct vc_data *);\n};\n\nstruct container_dev {\n\tstruct device dev;\n\tint (*offline)(struct container_dev *);\n};\n\nstruct mls_level {\n\tu32 sens;\n\tstruct ebitmap cat;\n};\n\nstruct mls_range {\n\tstruct mls_level level[2];\n};\n\nstruct context {\n\tu32 user;\n\tu32 role;\n\tu32 type;\n\tu32 len;\n\tstruct mls_range range;\n\tchar *str;\n};\n\nstruct context_tracking {\n\tatomic_t state;\n\tlong int nesting;\n\tlong int nmi_nesting;\n};\n\nstruct contig_page_info {\n\tlong unsigned int free_pages;\n\tlong unsigned int free_blocks_total;\n\tlong unsigned int free_blocks_suitable;\n};\n\nstruct hotplug_slot_ops;\n\nstruct hotplug_slot {\n\tconst struct hotplug_slot_ops *ops;\n\tstruct list_head slot_list;\n\tstruct pci_slot *pci_slot;\n\tstruct module *owner;\n\tconst char *mod_name;\n};\n\nstruct pcie_device;\n\nstruct controller {\n\tstruct pcie_device *pcie;\n\tu64 dsn;\n\tu32 slot_cap;\n\tunsigned int inband_presence_disabled: 1;\n\tu16 slot_ctrl;\n\tstruct mutex ctrl_lock;\n\tlong unsigned int cmd_started;\n\tunsigned int cmd_busy: 1;\n\twait_queue_head_t queue;\n\tatomic_t pending_events;\n\tunsigned int notification_enabled: 1;\n\tunsigned int power_fault_detected;\n\tstruct task_struct *poll_thread;\n\tu8 state;\n\tstruct mutex state_lock;\n\tstruct delayed_work button_work;\n\tstruct hotplug_slot hotplug_slot;\n\tstruct rw_semaphore reset_lock;\n\tunsigned int depth;\n\tunsigned int ist_running;\n\tint request_result;\n\twait_queue_head_t requester;\n};\n\nstruct controller___2 {\n\tstruct mutex crit_sect;\n\tstruct mutex cmd_lock;\n\tint num_slots;\n\tint slot_num_inc;\n\tstruct pci_dev *pci_dev;\n\tstruct list_head slot_list;\n\twait_queue_head_t queue;\n\tu8 slot_device_offset;\n\tu32 pcix_misc2_reg;\n\tu32 first_slot;\n\tu32 cap_offset;\n\tlong unsigned int mmio_base;\n\tlong unsigned int mmio_size;\n\tvoid *creg;\n\tstruct timer_list poll_timer;\n};\n\nstruct convert_context_args {\n\tstruct policydb *oldp;\n\tstruct policydb *newp;\n};\n\nstruct cooling_spec {\n\tlong unsigned int upper;\n\tlong unsigned int lower;\n\tunsigned int weight;\n};\n\nstruct copy_subpage_arg {\n\tstruct folio *dst;\n\tstruct folio *src;\n\tstruct vm_area_struct *vma;\n};\n\nstruct core_name {\n\tchar *corename;\n\tint used;\n\tint size;\n};\n\nstruct core_thread {\n\tstruct task_struct *task;\n\tstruct core_thread *next;\n};\n\nstruct core_state {\n\tatomic_t nr_threads;\n\tstruct core_thread dumper;\n\tstruct completion startup;\n};\n\nstruct core_vma_metadata {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int flags;\n\tlong unsigned int dump_size;\n\tlong unsigned int pgoff;\n\tstruct file *file;\n};\n\nstruct kernel_siginfo;\n\ntypedef struct kernel_siginfo kernel_siginfo_t;\n\nstruct coredump_params {\n\tconst kernel_siginfo_t *siginfo;\n\tstruct file *file;\n\tlong unsigned int limit;\n\tlong unsigned int mm_flags;\n\tint cpu;\n\tloff_t written;\n\tloff_t pos;\n\tloff_t to_skip;\n\tint vma_count;\n\tsize_t vma_data_size;\n\tstruct core_vma_metadata *vma_meta;\n};\n\nunion coreisr {\n\tu64 reg_u64[1024];\n\tu32 reg_u32[2048];\n\tu16 reg_u16[4096];\n\tu8 reg_u8[8192];\n};\n\nunion coremap {\n\tu64 reg_u64[32];\n\tu32 reg_u32[64];\n\tu16 reg_u16[128];\n\tu8 reg_u8[256];\n};\n\nstruct counted_str {\n\tstruct kref count;\n\tchar name[0];\n};\n\nstruct cper_sec_proc_arm {\n\tu32 validation_bits;\n\tu16 err_info_num;\n\tu16 context_info_num;\n\tu32 section_length;\n\tu8 affinity_level;\n\tu8 reserved[3];\n\tu64 mpidr;\n\tu64 midr;\n\tu32 running_state;\n\tu32 psci_state;\n};\n\nstruct cpio_data {\n\tvoid *data;\n\tsize_t size;\n\tchar name[18];\n};\n\nstruct cprng_testvec {\n\tconst char *key;\n\tconst char *dt;\n\tconst char *v;\n\tconst char *result;\n\tunsigned char klen;\n\tshort unsigned int dtlen;\n\tshort unsigned int vlen;\n\tshort unsigned int rlen;\n\tshort unsigned int loops;\n};\n\nstruct cpu {\n\tint node_id;\n\tint hotpluggable;\n\tstruct device dev;\n};\n\nstruct cpu_attr {\n\tstruct device_attribute attr;\n\tconst struct cpumask * const map;\n};\n\nstruct cpu_cacheinfo {\n\tstruct cacheinfo *info_list;\n\tunsigned int per_cpu_data_slice_size;\n\tunsigned int num_levels;\n\tunsigned int num_leaves;\n\tbool cpu_map_populated;\n\tbool early_ci_levels;\n};\n\nstruct update_util_data {\n\tvoid (*func)(struct update_util_data *, u64, unsigned int);\n};\n\nstruct policy_dbs_info;\n\nstruct cpu_dbs_info {\n\tu64 prev_cpu_idle;\n\tu64 prev_update_time;\n\tu64 prev_cpu_nice;\n\tunsigned int prev_load;\n\tstruct update_util_data update_util;\n\tstruct policy_dbs_info *policy_dbs;\n};\n\nstruct cpu_down_work {\n\tunsigned int cpu;\n\tenum cpuhp_state target;\n};\n\nstruct folio_batch {\n\tunsigned char nr;\n\tunsigned char i;\n\tbool percpu_pvec_drained;\n\tstruct folio *folios[31];\n};\n\nstruct cpu_fbatches {\n\tlocal_lock_t lock;\n\tstruct folio_batch lru_add;\n\tstruct folio_batch lru_deactivate_file;\n\tstruct folio_batch lru_deactivate;\n\tstruct folio_batch lru_lazyfree;\n\tstruct folio_batch lru_activate;\n\tlocal_lock_t lock_irq;\n\tstruct folio_batch lru_move_tail;\n};\n\nstruct cpu_hw_events {\n\tstruct perf_event *events[32];\n\tlong unsigned int used_mask[1];\n\tunsigned int saved_ctrl[32];\n};\n\nstruct cpu_itimer {\n\tu64 expires;\n\tu64 incr;\n};\n\nstruct cpu_reg {\n\tu32 mode;\n\tu32 mode_value_halt;\n\tu32 mode_value_sstep;\n\tu32 state;\n\tu32 state_value_clear;\n\tu32 gpr0;\n\tu32 evmask;\n\tu32 pc;\n\tu32 inst;\n\tu32 bp;\n\tu32 spad_base;\n\tu32 mips_view_base;\n};\n\nstruct cpu_rmap {\n\tstruct kref refcount;\n\tu16 size;\n\tvoid **obj;\n\tstruct {\n\t\tu16 index;\n\t\tu16 dist;\n\t} near[0];\n};\n\nstruct cpu_stop_done {\n\tatomic_t nr_todo;\n\tint ret;\n\tstruct completion completion;\n};\n\ntypedef int (*cpu_stop_fn_t)(void *);\n\nstruct cpu_stop_work {\n\tstruct list_head list;\n\tcpu_stop_fn_t fn;\n\tlong unsigned int caller;\n\tvoid *arg;\n\tstruct cpu_stop_done *done;\n};\n\nstruct cpu_stopper {\n\tstruct task_struct *thread;\n\traw_spinlock_t lock;\n\tbool enabled;\n\tstruct list_head works;\n\tstruct cpu_stop_work stop_work;\n\tlong unsigned int caller;\n\tcpu_stop_fn_t fn;\n};\n\nstruct cpu_timer {\n\tstruct timerqueue_node node;\n\tstruct timerqueue_head *head;\n\tstruct pid *pid;\n\tstruct list_head elist;\n\tbool firing;\n\tbool nanosleep;\n\tstruct task_struct *handling;\n};\n\nstruct cpu_vfs_cap_data {\n\t__u32 magic_etc;\n\tkuid_t rootid;\n\tkernel_cap_t permitted;\n\tkernel_cap_t inheritable;\n};\n\nstruct kernel_cpustat;\n\nstruct cpuacct {\n\tstruct cgroup_subsys_state css;\n\tu64 *cpuusage;\n\tstruct kernel_cpustat *cpustat;\n};\n\nstruct cpudl_item;\n\nstruct cpudl {\n\traw_spinlock_t lock;\n\tint size;\n\tcpumask_var_t free_cpus;\n\tstruct cpudl_item *elements;\n};\n\nstruct cpudl_item {\n\tu64 dl;\n\tint cpu;\n\tint idx;\n};\n\nstruct cpufreq_cpuinfo {\n\tunsigned int max_freq;\n\tunsigned int min_freq;\n\tunsigned int transition_latency;\n};\n\nstruct cpufreq_policy;\n\nstruct cpufreq_policy_data;\n\nstruct freq_attr;\n\nstruct cpufreq_driver {\n\tchar name[16];\n\tu16 flags;\n\tvoid *driver_data;\n\tint (*init)(struct cpufreq_policy *);\n\tint (*verify)(struct cpufreq_policy_data *);\n\tint (*setpolicy)(struct cpufreq_policy *);\n\tint (*target)(struct cpufreq_policy *, unsigned int, unsigned int);\n\tint (*target_index)(struct cpufreq_policy *, unsigned int);\n\tunsigned int (*fast_switch)(struct cpufreq_policy *, unsigned int);\n\tvoid (*adjust_perf)(unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tunsigned int (*get_intermediate)(struct cpufreq_policy *, unsigned int);\n\tint (*target_intermediate)(struct cpufreq_policy *, unsigned int);\n\tunsigned int (*get)(unsigned int);\n\tvoid (*update_limits)(unsigned int);\n\tint (*bios_limit)(int, unsigned int *);\n\tint (*online)(struct cpufreq_policy *);\n\tint (*offline)(struct cpufreq_policy *);\n\tvoid (*exit)(struct cpufreq_policy *);\n\tint (*suspend)(struct cpufreq_policy *);\n\tint (*resume)(struct cpufreq_policy *);\n\tvoid (*ready)(struct cpufreq_policy *);\n\tstruct freq_attr **attr;\n\tbool boost_enabled;\n\tint (*set_boost)(struct cpufreq_policy *, int);\n\tvoid (*register_em)(struct cpufreq_policy *);\n};\n\nstruct cpufreq_freqs {\n\tstruct cpufreq_policy *policy;\n\tunsigned int old;\n\tunsigned int new;\n\tu8 flags;\n};\n\nstruct cpufreq_frequency_table {\n\tunsigned int flags;\n\tunsigned int driver_data;\n\tunsigned int frequency;\n};\n\nstruct cpufreq_governor {\n\tchar name[16];\n\tint (*init)(struct cpufreq_policy *);\n\tvoid (*exit)(struct cpufreq_policy *);\n\tint (*start)(struct cpufreq_policy *);\n\tvoid (*stop)(struct cpufreq_policy *);\n\tvoid (*limits)(struct cpufreq_policy *);\n\tssize_t (*show_setspeed)(struct cpufreq_policy *, char *);\n\tint (*store_setspeed)(struct cpufreq_policy *, unsigned int);\n\tstruct list_head governor_list;\n\tstruct module *owner;\n\tu8 flags;\n};\n\nstruct plist_head {\n\tstruct list_head node_list;\n};\n\nstruct pm_qos_constraints {\n\tstruct plist_head list;\n\ts32 target_value;\n\ts32 default_value;\n\ts32 no_constraint_value;\n\tenum pm_qos_type type;\n\tstruct blocking_notifier_head *notifiers;\n};\n\nstruct freq_constraints {\n\tstruct pm_qos_constraints min_freq;\n\tstruct blocking_notifier_head min_freq_notifiers;\n\tstruct pm_qos_constraints max_freq;\n\tstruct blocking_notifier_head max_freq_notifiers;\n};\n\nstruct cpufreq_stats;\n\nstruct cpufreq_policy {\n\tcpumask_var_t cpus;\n\tcpumask_var_t related_cpus;\n\tcpumask_var_t real_cpus;\n\tunsigned int shared_type;\n\tunsigned int cpu;\n\tstruct clk *clk;\n\tstruct cpufreq_cpuinfo cpuinfo;\n\tunsigned int min;\n\tunsigned int max;\n\tunsigned int cur;\n\tunsigned int suspend_freq;\n\tunsigned int policy;\n\tunsigned int last_policy;\n\tstruct cpufreq_governor *governor;\n\tvoid *governor_data;\n\tchar last_governor[16];\n\tstruct work_struct update;\n\tstruct freq_constraints constraints;\n\tstruct freq_qos_request *min_freq_req;\n\tstruct freq_qos_request *max_freq_req;\n\tstruct cpufreq_frequency_table *freq_table;\n\tenum cpufreq_table_sorting freq_table_sorted;\n\tstruct list_head policy_list;\n\tstruct kobject kobj;\n\tstruct completion kobj_unregister;\n\tstruct rw_semaphore rwsem;\n\tbool fast_switch_possible;\n\tbool fast_switch_enabled;\n\tbool strict_target;\n\tbool efficiencies_available;\n\tunsigned int transition_delay_us;\n\tbool dvfs_possible_from_any_cpu;\n\tbool boost_enabled;\n\tunsigned int cached_target_freq;\n\tunsigned int cached_resolved_idx;\n\tbool transition_ongoing;\n\tspinlock_t transition_lock;\n\twait_queue_head_t transition_wait;\n\tstruct task_struct *transition_task;\n\tstruct cpufreq_stats *stats;\n\tvoid *driver_data;\n\tstruct thermal_cooling_device *cdev;\n\tstruct notifier_block nb_min;\n\tstruct notifier_block nb_max;\n};\n\nstruct cpufreq_policy_data {\n\tstruct cpufreq_cpuinfo cpuinfo;\n\tstruct cpufreq_frequency_table *freq_table;\n\tunsigned int cpu;\n\tunsigned int min;\n\tunsigned int max;\n};\n\nstruct cpuhp_cpu_state {\n\tenum cpuhp_state state;\n\tenum cpuhp_state target;\n\tenum cpuhp_state fail;\n\tstruct task_struct *thread;\n\tbool should_run;\n\tbool rollback;\n\tbool single;\n\tbool bringup;\n\tstruct hlist_node *node;\n\tstruct hlist_node *last;\n\tenum cpuhp_state cb_state;\n\tint result;\n\tatomic_t ap_sync_state;\n\tstruct completion done_up;\n\tstruct completion done_down;\n};\n\nstruct cpuhp_step {\n\tconst char *name;\n\tunion {\n\t\tint (*single)(unsigned int);\n\t\tint (*multi)(unsigned int, struct hlist_node *);\n\t} startup;\n\tunion {\n\t\tint (*single)(unsigned int);\n\t\tint (*multi)(unsigned int, struct hlist_node *);\n\t} teardown;\n\tstruct hlist_head list;\n\tbool cant_stop;\n\tbool multi_instance;\n};\n\nstruct cpuidle_state_usage {\n\tlong long unsigned int disable;\n\tlong long unsigned int usage;\n\tu64 time_ns;\n\tlong long unsigned int above;\n\tlong long unsigned int below;\n\tlong long unsigned int rejected;\n\tlong long unsigned int s2idle_usage;\n\tlong long unsigned int s2idle_time;\n};\n\nstruct cpuidle_state_kobj;\n\nstruct cpuidle_driver_kobj;\n\nstruct cpuidle_device_kobj;\n\nstruct cpuidle_device {\n\tunsigned int registered: 1;\n\tunsigned int enabled: 1;\n\tunsigned int poll_time_limit: 1;\n\tunsigned int cpu;\n\tktime_t next_hrtimer;\n\tint last_state_idx;\n\tu64 last_residency_ns;\n\tu64 poll_limit_ns;\n\tu64 forced_idle_latency_limit_ns;\n\tstruct cpuidle_state_usage states_usage[10];\n\tstruct cpuidle_state_kobj *kobjs[10];\n\tstruct cpuidle_driver_kobj *kobj_driver;\n\tstruct cpuidle_device_kobj *kobj_dev;\n\tstruct list_head device_list;\n};\n\nstruct cpuidle_driver;\n\nstruct cpuidle_state {\n\tchar name[16];\n\tchar desc[32];\n\ts64 exit_latency_ns;\n\ts64 target_residency_ns;\n\tunsigned int flags;\n\tunsigned int exit_latency;\n\tint power_usage;\n\tunsigned int target_residency;\n\tint (*enter)(struct cpuidle_device *, struct cpuidle_driver *, int);\n\tvoid (*enter_dead)(struct cpuidle_device *, int);\n\tint (*enter_s2idle)(struct cpuidle_device *, struct cpuidle_driver *, int);\n};\n\nstruct cpuidle_driver {\n\tconst char *name;\n\tstruct module *owner;\n\tunsigned int bctimer: 1;\n\tstruct cpuidle_state states[10];\n\tint state_count;\n\tint safe_state_index;\n\tstruct cpumask *cpumask;\n\tconst char *governor;\n};\n\nstruct cpuinfo_loongarch {\n\tu64 asid_cache;\n\tlong unsigned int asid_mask;\n\tlong long unsigned int options;\n\tunsigned int processor_id;\n\tunsigned int fpu_vers;\n\tunsigned int fpu_csr0;\n\tunsigned int fpu_mask;\n\tunsigned int cputype;\n\tint isa_level;\n\tint tlbsize;\n\tint tlbsizemtlb;\n\tint tlbsizestlbsets;\n\tint tlbsizestlbways;\n\tint cache_leaves_present;\n\tstruct cache_desc cache_leaves[6];\n\tint core;\n\tint package;\n\tint global_id;\n\tint vabits;\n\tint pabits;\n\tint timerbits;\n\tunsigned int ksave_mask;\n\tunsigned int watch_dreg_count;\n\tunsigned int watch_ireg_count;\n\tunsigned int watch_reg_use_cnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cpumap {\n\tunsigned int available;\n\tunsigned int allocated;\n\tunsigned int managed;\n\tunsigned int managed_allocated;\n\tbool initialized;\n\tbool online;\n\tlong unsigned int *managed_map;\n\tlong unsigned int alloc_map[0];\n};\n\nunion cpumask_rcuhead {\n\tcpumask_t cpumask;\n\tstruct callback_head rcu;\n};\n\nstruct cpupri_vec {\n\tatomic_t count;\n\tcpumask_var_t mask;\n};\n\nstruct cpupri {\n\tstruct cpupri_vec pri_to_cpu[101];\n\tint *cpu_to_pri;\n};\n\nstruct fmeter {\n\tint cnt;\n\tint val;\n\ttime64_t time;\n\tspinlock_t lock;\n};\n\nstruct uf_node {\n\tstruct uf_node *parent;\n\tunsigned int rank;\n};\n\nstruct cpuset {\n\tstruct cgroup_subsys_state css;\n\tlong unsigned int flags;\n\tcpumask_var_t cpus_allowed;\n\tnodemask_t mems_allowed;\n\tcpumask_var_t effective_cpus;\n\tnodemask_t effective_mems;\n\tcpumask_var_t effective_xcpus;\n\tcpumask_var_t exclusive_cpus;\n\tnodemask_t old_mems_allowed;\n\tstruct fmeter fmeter;\n\tint attach_in_progress;\n\tint relax_domain_level;\n\tint nr_subparts;\n\tint partition_root_state;\n\tint nr_deadline_tasks;\n\tint nr_migrate_dl_tasks;\n\tu64 sum_migrate_dl_bw;\n\tenum prs_errcode prs_err;\n\tstruct cgroup_file partition_file;\n\tstruct list_head remote_sibling;\n\tstruct uf_node node;\n};\n\nstruct cpuset_migrate_mm_work {\n\tstruct work_struct work;\n\tstruct mm_struct *mm;\n\tnodemask_t from;\n\tnodemask_t to;\n};\n\nstruct cramfs_info {\n\t__u32 crc;\n\t__u32 edition;\n\t__u32 blocks;\n\t__u32 files;\n};\n\nstruct cramfs_inode {\n\t__u32 mode: 16;\n\t__u32 uid: 16;\n\t__u32 size: 24;\n\t__u32 gid: 8;\n\t__u32 namelen: 6;\n\t__u32 offset: 26;\n};\n\nstruct cramfs_super {\n\t__u32 magic;\n\t__u32 size;\n\t__u32 flags;\n\t__u32 future;\n\t__u8 signature[16];\n\tstruct cramfs_info fsid;\n\t__u8 name[16];\n\tstruct cramfs_inode root;\n};\n\nstruct range {\n\tu64 start;\n\tu64 end;\n};\n\nstruct crash_mem {\n\tunsigned int max_nr_ranges;\n\tunsigned int nr_ranges;\n\tstruct range ranges[0];\n};\n\nstruct crc64_pi_tuple {\n\t__be64 guard_tag;\n\t__be16 app_tag;\n\t__u8 ref_tag[6];\n};\n\nstruct crc_data {\n\tstruct task_struct *thr;\n\tatomic_t ready;\n\tatomic_t stop;\n\tunsigned int run_threads;\n\twait_queue_head_t go;\n\twait_queue_head_t done;\n\tu32 *crc32;\n\tsize_t *unc_len[3];\n\tunsigned char *unc[3];\n};\n\nstruct group_info;\n\nstruct cred {\n\tatomic_long_t usage;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t suid;\n\tkgid_t sgid;\n\tkuid_t euid;\n\tkgid_t egid;\n\tkuid_t fsuid;\n\tkgid_t fsgid;\n\tunsigned int securebits;\n\tkernel_cap_t cap_inheritable;\n\tkernel_cap_t cap_permitted;\n\tkernel_cap_t cap_effective;\n\tkernel_cap_t cap_bset;\n\tkernel_cap_t cap_ambient;\n\tunsigned char jit_keyring;\n\tstruct key *session_keyring;\n\tstruct key *process_keyring;\n\tstruct key *thread_keyring;\n\tstruct key *request_key_auth;\n\tvoid *security;\n\tstruct user_struct *user;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct group_info *group_info;\n\tunion {\n\t\tint non_rcu;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct cred_label {\n\tconst struct cred *cred;\n\tstruct aa_label *label;\n};\n\nstruct crng {\n\tu8 key[32];\n\tlong unsigned int generation;\n\tlocal_lock_t lock;\n};\n\nstruct crs_csi2 {\n\tstruct list_head entry;\n\tacpi_handle handle;\n\tstruct acpi_device_software_nodes *swnodes;\n\tstruct list_head connections;\n\tu32 port_count;\n};\n\nstruct crs_csi2_connection {\n\tstruct list_head entry;\n\tstruct acpi_resource_csi2_serialbus csi2_data;\n\tacpi_handle remote_handle;\n\tchar remote_name[0];\n};\n\nstruct crypto_tfm {\n\trefcount_t refcnt;\n\tu32 crt_flags;\n\tint node;\n\tvoid (*exit)(struct crypto_tfm *);\n\tstruct crypto_alg *__crt_alg;\n\tvoid *__crt_ctx[0];\n};\n\nstruct crypto_acomp {\n\tint (*compress)(struct acomp_req *);\n\tint (*decompress)(struct acomp_req *);\n\tvoid (*dst_free)(struct scatterlist *);\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_wait {\n\tstruct completion completion;\n\tint err;\n};\n\nstruct crypto_acomp_ctx {\n\tstruct crypto_acomp *acomp;\n\tstruct acomp_req *req;\n\tstruct crypto_wait wait;\n\tu8 *buffer;\n\tstruct mutex mutex;\n\tbool is_sleepable;\n};\n\nstruct crypto_aead {\n\tunsigned int authsize;\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_spawn {\n\tstruct list_head list;\n\tstruct crypto_alg *alg;\n\tunion {\n\t\tstruct crypto_instance *inst;\n\t\tstruct crypto_spawn *next;\n\t};\n\tconst struct crypto_type *frontend;\n\tu32 mask;\n\tbool dead;\n\tbool registered;\n};\n\nstruct crypto_aead_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_aes_ctx {\n\tu32 key_enc[60];\n\tu32 key_dec[60];\n\tu32 key_length;\n};\n\nstruct crypto_ahash {\n\tbool using_shash;\n\tunsigned int statesize;\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_ahash_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_akcipher {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_akcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_akcipher_sync_data {\n\tstruct crypto_akcipher *tfm;\n\tconst void *src;\n\tvoid *dst;\n\tunsigned int slen;\n\tunsigned int dlen;\n\tstruct akcipher_request *req;\n\tstruct crypto_wait cwait;\n\tstruct scatterlist sg;\n\tu8 *buf;\n};\n\nstruct crypto_attr_alg {\n\tchar name[128];\n};\n\nstruct crypto_attr_type {\n\tu32 type;\n\tu32 mask;\n};\n\nstruct crypto_cipher {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_cipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_comp {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_cts_ctx {\n\tstruct crypto_skcipher *child;\n};\n\nstruct skcipher_request {\n\tunsigned int cryptlen;\n\tu8 *iv;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tstruct crypto_async_request base;\n\tvoid *__ctx[0];\n};\n\nstruct crypto_cts_reqctx {\n\tstruct scatterlist sg[2];\n\tunsigned int offset;\n\tstruct skcipher_request subreq;\n};\n\nstruct crypto_hash_walk {\n\tchar *data;\n\tunsigned int offset;\n\tunsigned int flags;\n\tstruct page *pg;\n\tunsigned int entrylen;\n\tunsigned int total;\n\tstruct scatterlist *sg;\n};\n\nstruct crypto_kpp {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_kpp_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_larval {\n\tstruct crypto_alg alg;\n\tstruct crypto_alg *adult;\n\tstruct completion completion;\n\tu32 mask;\n\tbool test_started;\n};\n\nstruct crypto_lskcipher {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_lskcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_queue {\n\tstruct list_head list;\n\tstruct list_head *backlog;\n\tunsigned int qlen;\n\tunsigned int max_qlen;\n};\n\nstruct crypto_report_acomp {\n\tchar type[64];\n};\n\nstruct crypto_report_aead {\n\tchar type[64];\n\tchar geniv[64];\n\tunsigned int blocksize;\n\tunsigned int maxauthsize;\n\tunsigned int ivsize;\n};\n\nstruct crypto_report_akcipher {\n\tchar type[64];\n};\n\nstruct crypto_report_blkcipher {\n\tchar type[64];\n\tchar geniv[64];\n\tunsigned int blocksize;\n\tunsigned int min_keysize;\n\tunsigned int max_keysize;\n\tunsigned int ivsize;\n};\n\nstruct crypto_report_comp {\n\tchar type[64];\n};\n\nstruct crypto_report_hash {\n\tchar type[64];\n\tunsigned int blocksize;\n\tunsigned int digestsize;\n};\n\nstruct crypto_report_kpp {\n\tchar type[64];\n};\n\nstruct crypto_report_rng {\n\tchar type[64];\n\tunsigned int seedsize;\n};\n\nstruct crypto_report_sig {\n\tchar type[64];\n};\n\nstruct crypto_rng {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_scomp {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_shash {\n\tunsigned int descsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_shash_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_sig {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_sig_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_skcipher {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_skcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_sync_skcipher {\n\tstruct crypto_skcipher base;\n};\n\nstruct rtattr;\n\nstruct crypto_template {\n\tstruct list_head list;\n\tstruct hlist_head instances;\n\tstruct module *module;\n\tint (*create)(struct crypto_template *, struct rtattr **);\n\tchar name[128];\n};\n\nstruct crypto_test_param {\n\tchar driver[128];\n\tchar alg[128];\n\tu32 type;\n};\n\nstruct crypto_type {\n\tunsigned int (*ctxsize)(struct crypto_alg *, u32, u32);\n\tunsigned int (*extsize)(struct crypto_alg *);\n\tint (*init_tfm)(struct crypto_tfm *);\n\tvoid (*show)(struct seq_file *, struct crypto_alg *);\n\tint (*report)(struct sk_buff *, struct crypto_alg *);\n\tvoid (*free)(struct crypto_instance *);\n\tunsigned int type;\n\tunsigned int maskclear;\n\tunsigned int maskset;\n\tunsigned int tfmsize;\n};\n\nstruct rtattr {\n\tshort unsigned int rta_len;\n\tshort unsigned int rta_type;\n};\n\nstruct cryptomgr_param {\n\tstruct rtattr *tb[34];\n\tstruct {\n\t\tstruct rtattr attr;\n\t\tstruct crypto_attr_type data;\n\t} type;\n\tstruct {\n\t\tstruct rtattr attr;\n\t\tstruct crypto_attr_alg data;\n\t} attrs[32];\n\tchar template[128];\n\tstruct crypto_larval *larval;\n\tu32 otype;\n\tu32 omask;\n};\n\nstruct cs_dbs_tuners {\n\tunsigned int down_threshold;\n\tunsigned int freq_step;\n};\n\nstruct dbs_data;\n\nstruct policy_dbs_info {\n\tstruct cpufreq_policy *policy;\n\tstruct mutex update_mutex;\n\tu64 last_sample_time;\n\ts64 sample_delay_ns;\n\tatomic_t work_count;\n\tstruct irq_work irq_work;\n\tstruct work_struct work;\n\tstruct dbs_data *dbs_data;\n\tstruct list_head list;\n\tunsigned int rate_mult;\n\tunsigned int idle_periods;\n\tbool is_shared;\n\tbool work_in_progress;\n};\n\nstruct cs_policy_dbs_info {\n\tstruct policy_dbs_info policy_dbs;\n\tunsigned int down_skip;\n\tunsigned int requested_freq;\n};\n\nstruct csi2_resources_walk_data {\n\tacpi_handle handle;\n\tstruct list_head connections;\n};\n\nstruct css_set {\n\tstruct cgroup_subsys_state *subsys[14];\n\trefcount_t refcount;\n\tstruct css_set *dom_cset;\n\tstruct cgroup *dfl_cgrp;\n\tint nr_tasks;\n\tstruct list_head tasks;\n\tstruct list_head mg_tasks;\n\tstruct list_head dying_tasks;\n\tstruct list_head task_iters;\n\tstruct list_head e_cset_node[14];\n\tstruct list_head threaded_csets;\n\tstruct list_head threaded_csets_node;\n\tstruct hlist_node hlist;\n\tstruct list_head cgrp_links;\n\tstruct list_head mg_src_preload_node;\n\tstruct list_head mg_dst_preload_node;\n\tstruct list_head mg_node;\n\tstruct cgroup *mg_src_cgrp;\n\tstruct cgroup *mg_dst_cgrp;\n\tstruct css_set *mg_dst_cset;\n\tbool dead;\n\tstruct callback_head callback_head;\n};\n\nstruct css_set__safe_rcu {\n\tstruct cgroup *dfl_cgrp;\n};\n\nstruct cstate {\n\tint state;\n\tuint32_t rep0;\n\tuint32_t rep1;\n\tuint32_t rep2;\n\tuint32_t rep3;\n};\n\nstruct csum_pseudo_header {\n\t__be64 data_seq;\n\t__be32 subflow_seq;\n\t__be16 data_len;\n\t__sum16 csum;\n};\n\nstruct csum_state {\n\t__wsum csum;\n\tsize_t off;\n};\n\nstruct ct_data_s {\n\tunion {\n\t\tush freq;\n\t\tush code;\n\t} fc;\n\tunion {\n\t\tush dad;\n\t\tush len;\n\t} dl;\n};\n\ntypedef struct ct_data_s ct_data;\n\nstruct ctl_table_root;\n\nstruct ctl_table_set;\n\nstruct ctl_dir;\n\nstruct ctl_node;\n\nstruct ctl_table_header {\n\tunion {\n\t\tstruct {\n\t\t\tconst struct ctl_table *ctl_table;\n\t\t\tint ctl_table_size;\n\t\t\tint used;\n\t\t\tint count;\n\t\t\tint nreg;\n\t\t};\n\t\tstruct callback_head rcu;\n\t};\n\tstruct completion *unregistering;\n\tconst struct ctl_table *ctl_table_arg;\n\tstruct ctl_table_root *root;\n\tstruct ctl_table_set *set;\n\tstruct ctl_dir *parent;\n\tstruct ctl_node *node;\n\tstruct hlist_head inodes;\n\tenum {\n\t\tSYSCTL_TABLE_TYPE_DEFAULT = 0,\n\t\tSYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY = 1,\n\t} type;\n};\n\nstruct ctl_dir {\n\tstruct ctl_table_header header;\n\tstruct rb_root root;\n};\n\nstruct ctl_node {\n\tstruct rb_node node;\n\tstruct ctl_table_header *header;\n};\n\nstruct tb_ring;\n\nstruct ring_frame;\n\ntypedef void (*ring_cb)(struct tb_ring *, struct ring_frame *, bool);\n\nstruct ring_frame {\n\tdma_addr_t buffer_phy;\n\tring_cb callback;\n\tstruct list_head list;\n\tu32 size: 12;\n\tu32 flags: 12;\n\tu32 eof: 4;\n\tu32 sof: 4;\n};\n\nstruct tb_ctl;\n\nstruct ctl_pkg {\n\tstruct tb_ctl *ctl;\n\tvoid *buffer;\n\tstruct ring_frame frame;\n};\n\ntypedef int proc_handler(const struct ctl_table *, int, void *, size_t *, loff_t *);\n\nstruct ctl_table_poll;\n\nstruct ctl_table {\n\tconst char *procname;\n\tvoid *data;\n\tint maxlen;\n\tumode_t mode;\n\tproc_handler *proc_handler;\n\tstruct ctl_table_poll *poll;\n\tvoid *extra1;\n\tvoid *extra2;\n};\n\nstruct ctl_table_poll {\n\tatomic_t event;\n\twait_queue_head_t wait;\n};\n\nstruct ctl_table_set {\n\tint (*is_seen)(struct ctl_table_set *);\n\tstruct ctl_dir dir;\n};\n\nstruct ctl_table_root {\n\tstruct ctl_table_set default_set;\n\tstruct ctl_table_set * (*lookup)(struct ctl_table_root *);\n\tvoid (*set_ownership)(struct ctl_table_header *, kuid_t *, kgid_t *);\n\tint (*permissions)(struct ctl_table_header *, const struct ctl_table *);\n};\n\nstruct netlink_policy_dump_state;\n\nstruct genl_family;\n\nstruct genl_op_iter;\n\nstruct ctrl_dump_policy_ctx {\n\tstruct netlink_policy_dump_state *state;\n\tconst struct genl_family *rt;\n\tstruct genl_op_iter *op_iter;\n\tu32 op;\n\tu16 fam_id;\n\tu8 dump_map: 1;\n\tu8 single_op: 1;\n};\n\nstruct ctx_rq_wait {\n\tstruct completion comp;\n\tatomic_t count;\n};\n\nstruct ctx_switch_entry {\n\tstruct trace_entry ent;\n\tunsigned int prev_pid;\n\tunsigned int next_pid;\n\tunsigned int next_cpu;\n\tunsigned char prev_prio;\n\tunsigned char prev_state;\n\tunsigned char next_prio;\n\tunsigned char next_state;\n};\n\nstruct cvt_timing {\n\tu8 code[3];\n};\n\nstruct cytp_contact {\n\tint x;\n\tint y;\n\tint z;\n};\n\nstruct cytp_data {\n\tint fw_version;\n\tint pkt_size;\n\tint mode;\n\tint tp_min_pressure;\n\tint tp_max_pressure;\n\tint tp_width;\n\tint tp_high;\n\tint tp_max_abs_x;\n\tint tp_max_abs_y;\n\tint tp_res_x;\n\tint tp_res_y;\n\tint tp_metrics_supported;\n};\n\nstruct cytp_report_data {\n\tint contact_cnt;\n\tstruct cytp_contact contacts[2];\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int tap: 1;\n};\n\nstruct dahash_test {\n\tuint16_t start;\n\tuint16_t length;\n\txfs_dahash_t dahash;\n\txfs_dahash_t ascii_ci_dahash;\n};\n\nstruct data_chunk {\n\tsize_t size;\n\tsize_t icg;\n\tsize_t dst_icg;\n\tsize_t src_icg;\n};\n\nstruct data_reloc_warn {\n\tstruct btrfs_path path;\n\tstruct btrfs_fs_info *fs_info;\n\tu64 extent_item_size;\n\tu64 logical;\n\tint mirror_num;\n};\n\nstruct dax_device;\n\nstruct dax_holder_operations {\n\tint (*notify_failure)(struct dax_device *, u64, u64, int);\n};\n\nstruct dax_operations {\n\tlong int (*direct_access)(struct dax_device *, long unsigned int, long int, enum dax_access_mode, void **, pfn_t *);\n\tint (*zero_page_range)(struct dax_device *, long unsigned int, size_t);\n\tsize_t (*recovery_write)(struct dax_device *, long unsigned int, void *, size_t, struct iov_iter *);\n};\n\nstruct xhci_dbc;\n\nstruct dbc_driver {\n\tint (*configure)(struct xhci_dbc *);\n\tvoid (*disconnect)(struct xhci_dbc *);\n};\n\nstruct xhci_ring;\n\nstruct dbc_ep {\n\tstruct xhci_dbc *dbc;\n\tstruct list_head list_pending;\n\tstruct xhci_ring *ring;\n\tunsigned int direction: 1;\n\tunsigned int halted: 1;\n};\n\nstruct dbc_regs {\n\t__le32 capability;\n\t__le32 doorbell;\n\t__le32 ersts;\n\t__le32 __reserved_0;\n\t__le64 erstba;\n\t__le64 erdp;\n\t__le32 control;\n\t__le32 status;\n\t__le32 portsc;\n\t__le32 __reserved_1;\n\t__le64 dccp;\n\t__le32 devinfo1;\n\t__le32 devinfo2;\n};\n\nunion xhci_trb;\n\nstruct dbc_request {\n\tvoid *buf;\n\tunsigned int length;\n\tdma_addr_t dma;\n\tvoid (*complete)(struct xhci_dbc *, struct dbc_request *);\n\tstruct list_head list_pool;\n\tint status;\n\tunsigned int actual;\n\tstruct xhci_dbc *dbc;\n\tstruct list_head list_pending;\n\tdma_addr_t trb_dma;\n\tunion xhci_trb *trb;\n\tunsigned int direction: 1;\n};\n\nstruct dbc_str_descs {\n\tchar string0[64];\n\tchar manufacturer[64];\n\tchar product[64];\n\tchar serial[64];\n};\n\nstruct gov_attr_set {\n\tstruct kobject kobj;\n\tstruct list_head policy_list;\n\tstruct mutex update_lock;\n\tint usage_count;\n};\n\nstruct dbs_governor;\n\nstruct dbs_data {\n\tstruct gov_attr_set attr_set;\n\tstruct dbs_governor *gov;\n\tvoid *tuners;\n\tunsigned int ignore_nice_load;\n\tunsigned int sampling_rate;\n\tunsigned int sampling_down_factor;\n\tunsigned int up_threshold;\n\tunsigned int io_is_busy;\n};\n\nstruct sysfs_ops;\n\nstruct kobj_type {\n\tvoid (*release)(struct kobject *);\n\tconst struct sysfs_ops *sysfs_ops;\n\tconst struct attribute_group **default_groups;\n\tconst struct kobj_ns_type_operations * (*child_ns_type)(const struct kobject *);\n\tconst void * (*namespace)(const struct kobject *);\n\tvoid (*get_ownership)(const struct kobject *, kuid_t *, kgid_t *);\n};\n\nstruct dbs_governor {\n\tstruct cpufreq_governor gov;\n\tstruct kobj_type kobj_type;\n\tstruct dbs_data *gdbs_data;\n\tunsigned int (*gov_dbs_update)(struct cpufreq_policy *);\n\tstruct policy_dbs_info * (*alloc)(void);\n\tvoid (*free)(struct policy_dbs_info *);\n\tint (*init)(struct dbs_data *);\n\tvoid (*exit)(struct dbs_data *);\n\tvoid (*start)(struct cpufreq_policy *);\n};\n\nstruct dcb_num_tcs {\n\tu8 pg_tcs;\n\tu8 pfc_tcs;\n};\n\nstruct dcb_support {\n\tu32 capabilities;\n\tu8 traffic_classes;\n\tu8 pfc_traffic_classes;\n};\n\nstruct dccp_hdr {\n\t__be16 dccph_sport;\n\t__be16 dccph_dport;\n\t__u8 dccph_doff;\n\t__u8 dccph_cscov: 4;\n\t__u8 dccph_ccval: 4;\n\t__sum16 dccph_checksum;\n\t__u8 dccph_x: 1;\n\t__u8 dccph_type: 4;\n\t__u8 dccph_reserved: 3;\n\t__u8 dccph_seq2;\n\t__be16 dccph_seq;\n};\n\nstruct io_stats_per_prio {\n\tuint32_t inserted;\n\tuint32_t merged;\n\tuint32_t dispatched;\n\tatomic_t completed;\n};\n\nstruct dd_per_prio {\n\tstruct list_head dispatch;\n\tstruct rb_root sort_list[2];\n\tstruct list_head fifo_list[2];\n\tsector_t latest_pos[2];\n\tstruct io_stats_per_prio stats;\n};\n\nstruct ddebug_class_map {\n\tstruct list_head link;\n\tstruct module *mod;\n\tconst char *mod_name;\n\tconst char **class_names;\n\tconst int length;\n\tconst int base;\n\tenum class_map_type map_type;\n};\n\nstruct deadline_data {\n\tstruct dd_per_prio per_prio[3];\n\tenum dd_data_dir last_dir;\n\tunsigned int batching;\n\tunsigned int starved;\n\tint fifo_expire[2];\n\tint fifo_batch;\n\tint writes_starved;\n\tint front_merges;\n\tu32 async_depth;\n\tint prio_aging_expire;\n\tspinlock_t lock;\n};\n\nstruct ohci_hcd;\n\nstruct debug_buffer {\n\tssize_t (*fill_func)(struct debug_buffer *);\n\tstruct ohci_hcd *ohci;\n\tstruct mutex mutex;\n\tsize_t count;\n\tchar *page;\n};\n\nstruct debug_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 msg_mask;\n};\n\nstruct debugfs_blob_wrapper {\n\tvoid *data;\n\tlong unsigned int size;\n};\n\nstruct debugfs_cancellation {\n\tstruct list_head list;\n\tvoid (*cancel)(struct dentry *, void *);\n\tvoid *cancel_data;\n};\n\nstruct debugfs_devm_entry {\n\tint (*read)(struct seq_file *, void *);\n\tstruct device *dev;\n};\n\nstruct debugfs_fs_info {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tunsigned int opts;\n};\n\nstruct debugfs_short_fops;\n\nstruct debugfs_fsdata {\n\tconst struct file_operations *real_fops;\n\tconst struct debugfs_short_fops *short_fops;\n\tstruct {\n\t\trefcount_t active_users;\n\t\tstruct completion active_users_drained;\n\t\tstruct mutex cancellations_mtx;\n\t\tstruct list_head cancellations;\n\t\tunsigned int methods;\n\t};\n};\n\ntypedef struct vfsmount * (*debugfs_automount_t)(struct dentry *, void *);\n\nstruct debugfs_inode_info {\n\tstruct inode vfs_inode;\n\tunion {\n\t\tconst void *raw;\n\t\tconst struct file_operations *real_fops;\n\t\tconst struct debugfs_short_fops *short_fops;\n\t\tdebugfs_automount_t automount;\n\t};\n\tconst void *aux;\n};\n\nstruct debugfs_reg32 {\n\tchar *name;\n\tlong unsigned int offset;\n};\n\nstruct debugfs_regset32 {\n\tconst struct debugfs_reg32 *regs;\n\tint nregs;\n\tvoid *base;\n\tstruct device *dev;\n};\n\nstruct debugfs_short_fops {\n\tssize_t (*read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct file *, const char *, size_t, loff_t *);\n\tloff_t (*llseek)(struct file *, loff_t, int);\n};\n\nstruct debugfs_u32_array {\n\tu32 *array;\n\tu32 n_elements;\n};\n\nstruct dec_data {\n\tstruct task_struct *thr;\n\tstruct crypto_comp *cc;\n\tatomic_t ready;\n\tatomic_t stop;\n\tint ret;\n\twait_queue_head_t go;\n\twait_queue_head_t done;\n\tsize_t unc_len;\n\tsize_t cmp_len;\n\tunsigned char unc[524288];\n\tunsigned char cmp[573440];\n};\n\nstruct decomp_stream {\n\tvoid *stream;\n\tstruct list_head list;\n};\n\nstruct decryptor_desc {\n\tu8 iv[16];\n\tstruct skcipher_request *req;\n\tstruct scatterlist frags[4];\n\tint fragno;\n\tint fraglen;\n};\n\nstruct dma_fence;\n\nstruct dma_fence_cb;\n\ntypedef void (*dma_fence_func_t)(struct dma_fence *, struct dma_fence_cb *);\n\nstruct dma_fence_cb {\n\tstruct list_head node;\n\tdma_fence_func_t func;\n};\n\nstruct default_wait_cb {\n\tstruct dma_fence_cb base;\n\tstruct task_struct *task;\n};\n\nstruct deferred_split {\n\tspinlock_t split_queue_lock;\n\tstruct list_head split_queue;\n\tlong unsigned int split_queue_len;\n};\n\nstruct z_stream_s;\n\ntypedef struct z_stream_s z_stream;\n\ntypedef z_stream *z_streamp;\n\nstruct static_tree_desc_s;\n\ntypedef struct static_tree_desc_s static_tree_desc;\n\nstruct tree_desc_s {\n\tct_data *dyn_tree;\n\tint max_code;\n\tstatic_tree_desc *stat_desc;\n};\n\nstruct deflate_state {\n\tz_streamp strm;\n\tint status;\n\tByte *pending_buf;\n\tulg pending_buf_size;\n\tByte *pending_out;\n\tint pending;\n\tint noheader;\n\tByte data_type;\n\tByte method;\n\tint last_flush;\n\tuInt w_size;\n\tuInt w_bits;\n\tuInt w_mask;\n\tByte *window;\n\tulg window_size;\n\tPos *prev;\n\tPos *head;\n\tuInt ins_h;\n\tuInt hash_size;\n\tuInt hash_bits;\n\tuInt hash_mask;\n\tuInt hash_shift;\n\tlong int block_start;\n\tuInt match_length;\n\tIPos prev_match;\n\tint match_available;\n\tuInt strstart;\n\tuInt match_start;\n\tuInt lookahead;\n\tuInt prev_length;\n\tuInt max_chain_length;\n\tuInt max_lazy_match;\n\tint level;\n\tint strategy;\n\tuInt good_match;\n\tint nice_match;\n\tstruct ct_data_s dyn_ltree[573];\n\tstruct ct_data_s dyn_dtree[61];\n\tstruct ct_data_s bl_tree[39];\n\tstruct tree_desc_s l_desc;\n\tstruct tree_desc_s d_desc;\n\tstruct tree_desc_s bl_desc;\n\tush bl_count[16];\n\tint heap[573];\n\tint heap_len;\n\tint heap_max;\n\tuch depth[573];\n\tuch *l_buf;\n\tuInt lit_bufsize;\n\tuInt last_lit;\n\tush *d_buf;\n\tulg opt_len;\n\tulg static_len;\n\tulg compressed_len;\n\tuInt matches;\n\tint last_eob_len;\n\tush bi_buf;\n\tint bi_valid;\n};\n\nstruct deflate_workspace {\n\tdeflate_state deflate_memory;\n\tByte *window_memory;\n\tPos *prev_memory;\n\tPos *head_memory;\n\tchar *overlay_memory;\n};\n\ntypedef struct deflate_workspace deflate_workspace;\n\nstruct defrag_target_range {\n\tstruct list_head list;\n\tu64 start;\n\tu64 len;\n};\n\nstruct delayed_call {\n\tvoid (*fn)(void *);\n\tvoid *arg;\n};\n\nstruct delayed_uprobe {\n\tstruct list_head list;\n\tstruct uprobe *uprobe;\n\tstruct mm_struct *mm;\n};\n\nstruct demotion_nodes {\n\tnodemask_t preferred;\n};\n\nstruct hlist_bl_node {\n\tstruct hlist_bl_node *next;\n\tstruct hlist_bl_node **pprev;\n};\n\nunion shortname_store {\n\tunsigned char string[40];\n\tlong unsigned int words[5];\n};\n\nstruct lockref {\n\tunion {\n\t\t__u64 lock_count;\n\t\tstruct {\n\t\t\tspinlock_t lock;\n\t\t\tint count;\n\t\t};\n\t};\n};\n\nstruct dentry_operations;\n\nstruct dentry {\n\tunsigned int d_flags;\n\tseqcount_spinlock_t d_seq;\n\tstruct hlist_bl_node d_hash;\n\tstruct dentry *d_parent;\n\tstruct qstr d_name;\n\tstruct inode *d_inode;\n\tunion shortname_store d_shortname;\n\tconst struct dentry_operations *d_op;\n\tstruct super_block *d_sb;\n\tlong unsigned int d_time;\n\tvoid *d_fsdata;\n\tstruct lockref d_lockref;\n\tunion {\n\t\tstruct list_head d_lru;\n\t\twait_queue_head_t *d_wait;\n\t};\n\tstruct hlist_node d_sib;\n\tstruct hlist_head d_children;\n\tunion {\n\t\tstruct hlist_node d_alias;\n\t\tstruct hlist_bl_node d_in_lookup_hash;\n\t\tstruct callback_head d_rcu;\n\t} d_u;\n};\n\nstruct dentry__safe_trusted {\n\tstruct inode *d_inode;\n};\n\nstruct dentry_info_args {\n\tint parent_ino;\n\tint dname_len;\n\tint ino;\n\tint inode_len;\n\tchar *dname;\n};\n\nstruct dentry_operations {\n\tint (*d_revalidate)(struct inode *, const struct qstr *, struct dentry *, unsigned int);\n\tint (*d_weak_revalidate)(struct dentry *, unsigned int);\n\tint (*d_hash)(const struct dentry *, struct qstr *);\n\tint (*d_compare)(const struct dentry *, unsigned int, const char *, const struct qstr *);\n\tint (*d_delete)(const struct dentry *);\n\tint (*d_init)(struct dentry *);\n\tvoid (*d_release)(struct dentry *);\n\tvoid (*d_prune)(struct dentry *);\n\tvoid (*d_iput)(struct dentry *, struct inode *);\n\tchar * (*d_dname)(struct dentry *, char *, int);\n\tstruct vfsmount * (*d_automount)(struct path *);\n\tint (*d_manage)(const struct path *, bool);\n\tstruct dentry * (*d_real)(struct dentry *, enum d_real_type);\n\tbool (*d_unalias_trylock)(const struct dentry *);\n\tvoid (*d_unalias_unlock)(const struct dentry *);\n\tlong: 64;\n};\n\nstruct dentry_stat_t {\n\tlong int nr_dentry;\n\tlong int nr_unused;\n\tlong int age_limit;\n\tlong int want_pages;\n\tlong int nr_negative;\n\tlong int dummy;\n};\n\nstruct udf_vds_record {\n\tuint32_t block;\n\tuint32_t volDescSeqNum;\n};\n\nstruct part_desc_seq_scan_data;\n\nstruct desc_seq_scan_data {\n\tstruct udf_vds_record vds[4];\n\tunsigned int size_part_descs;\n\tunsigned int num_part_descs;\n\tstruct part_desc_seq_scan_data *part_descs_loc;\n};\n\nunion desc_value {\n\t__le64 word;\n\tstruct {\n\t\t__le32 low;\n\t\t__le32 high;\n\t} u;\n};\n\nstruct slab;\n\nstruct detached_freelist {\n\tstruct slab *slab;\n\tvoid *tail;\n\tvoid *freelist;\n\tint cnt;\n\tstruct kmem_cache *s;\n};\n\nstruct detailed_data_monitor_range {\n\tu8 min_vfreq;\n\tu8 max_vfreq;\n\tu8 min_hfreq_khz;\n\tu8 max_hfreq_khz;\n\tu8 pixel_clock_mhz;\n\tu8 flags;\n\tunion {\n\t\tstruct {\n\t\t\tu8 reserved;\n\t\t\tu8 hfreq_start_khz;\n\t\t\tu8 c;\n\t\t\t__le16 m;\n\t\t\tu8 k;\n\t\t\tu8 j;\n\t\t} __attribute__((packed)) gtf2;\n\t\tstruct {\n\t\t\tu8 version;\n\t\t\tu8 data1;\n\t\t\tu8 data2;\n\t\t\tu8 supported_aspects;\n\t\t\tu8 flags;\n\t\t\tu8 supported_scalings;\n\t\t\tu8 preferred_refresh;\n\t\t} cvt;\n\t} formula;\n};\n\nstruct detailed_data_string {\n\tu8 str[13];\n};\n\nstruct detailed_data_wpindex {\n\tu8 white_yx_lo;\n\tu8 white_x_hi;\n\tu8 white_y_hi;\n\tu8 gamma;\n};\n\nstruct detailed_mode_closure {\n\tstruct drm_connector *connector;\n\tconst struct drm_edid *drm_edid;\n\tbool preferred;\n\tint modes;\n};\n\nstruct std_timing {\n\tu8 hsize;\n\tu8 vfreq_aspect;\n};\n\nstruct detailed_non_pixel {\n\tu8 pad1;\n\tu8 type;\n\tu8 pad2;\n\tunion {\n\t\tstruct detailed_data_string str;\n\t\tstruct detailed_data_monitor_range range;\n\t\tstruct detailed_data_wpindex color;\n\t\tstruct std_timing timings[6];\n\t\tstruct cvt_timing cvt[4];\n\t} data;\n};\n\nstruct detailed_pixel_timing {\n\tu8 hactive_lo;\n\tu8 hblank_lo;\n\tu8 hactive_hblank_hi;\n\tu8 vactive_lo;\n\tu8 vblank_lo;\n\tu8 vactive_vblank_hi;\n\tu8 hsync_offset_lo;\n\tu8 hsync_pulse_width_lo;\n\tu8 vsync_offset_pulse_width_lo;\n\tu8 hsync_vsync_offset_pulse_width_hi;\n\tu8 width_mm_lo;\n\tu8 height_mm_lo;\n\tu8 width_height_mm_hi;\n\tu8 hborder;\n\tu8 vborder;\n\tu8 misc;\n};\n\nstruct detailed_timing {\n\t__le16 pixel_clock;\n\tunion {\n\t\tstruct detailed_pixel_timing pixel_data;\n\t\tstruct detailed_non_pixel other_data;\n\t} data;\n};\n\nstruct dev_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct list_head exceptions;\n\tenum devcg_behavior behavior;\n};\n\nstruct dev_exception_item {\n\tu32 major;\n\tu32 minor;\n\tshort int type;\n\tshort int access;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct dev_ext_attribute {\n\tstruct device_attribute attr;\n\tvoid *var;\n};\n\nstruct dev_ifalias {\n\tstruct callback_head rcuhead;\n\tchar ifalias[0];\n};\n\nstruct iommu_fault_param;\n\nstruct iommu_fwspec;\n\nstruct iommu_device;\n\nstruct dev_iommu {\n\tstruct mutex lock;\n\tstruct iommu_fault_param *fault_param;\n\tstruct iommu_fwspec *fwspec;\n\tstruct iommu_device *iommu_dev;\n\tvoid *priv;\n\tu32 max_pasids;\n\tu32 attach_deferred: 1;\n\tu32 pci_32bit_workaround: 1;\n\tu32 require_direct: 1;\n\tu32 shadow_on_flush: 1;\n};\n\nstruct dev_kfree_skb_cb {\n\tenum skb_drop_reason reason;\n};\n\nstruct vmem_altmap {\n\tlong unsigned int base_pfn;\n\tconst long unsigned int end_pfn;\n\tconst long unsigned int reserve;\n\tlong unsigned int free;\n\tlong unsigned int align;\n\tlong unsigned int alloc;\n\tbool inaccessible;\n};\n\nstruct dev_pagemap_ops;\n\nstruct dev_pagemap {\n\tstruct vmem_altmap altmap;\n\tstruct percpu_ref ref;\n\tstruct completion done;\n\tenum memory_type type;\n\tunsigned int flags;\n\tlong unsigned int vmemmap_shift;\n\tconst struct dev_pagemap_ops *ops;\n\tvoid *owner;\n\tint nr_range;\n\tunion {\n\t\tstruct range range;\n\t\tstruct {\n\t\t\tstruct {} __empty_ranges;\n\t\t\tstruct range ranges[0];\n\t\t};\n\t};\n};\n\nstruct vm_fault;\n\nstruct dev_pagemap_ops {\n\tvoid (*page_free)(struct page *);\n\tvm_fault_t (*migrate_to_ram)(struct vm_fault *);\n\tint (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int);\n};\n\nstruct pinctrl;\n\nstruct pinctrl_state;\n\nstruct dev_pin_info {\n\tstruct pinctrl *p;\n\tstruct pinctrl_state *default_state;\n\tstruct pinctrl_state *init_state;\n\tstruct pinctrl_state *sleep_state;\n\tstruct pinctrl_state *idle_state;\n};\n\nstruct dev_pm_ops {\n\tint (*prepare)(struct device *);\n\tvoid (*complete)(struct device *);\n\tint (*suspend)(struct device *);\n\tint (*resume)(struct device *);\n\tint (*freeze)(struct device *);\n\tint (*thaw)(struct device *);\n\tint (*poweroff)(struct device *);\n\tint (*restore)(struct device *);\n\tint (*suspend_late)(struct device *);\n\tint (*resume_early)(struct device *);\n\tint (*freeze_late)(struct device *);\n\tint (*thaw_early)(struct device *);\n\tint (*poweroff_late)(struct device *);\n\tint (*restore_early)(struct device *);\n\tint (*suspend_noirq)(struct device *);\n\tint (*resume_noirq)(struct device *);\n\tint (*freeze_noirq)(struct device *);\n\tint (*thaw_noirq)(struct device *);\n\tint (*poweroff_noirq)(struct device *);\n\tint (*restore_noirq)(struct device *);\n\tint (*runtime_suspend)(struct device *);\n\tint (*runtime_resume)(struct device *);\n\tint (*runtime_idle)(struct device *);\n};\n\nstruct dev_pm_domain {\n\tstruct dev_pm_ops ops;\n\tint (*start)(struct device *);\n\tvoid (*detach)(struct device *, bool);\n\tint (*activate)(struct device *);\n\tvoid (*sync)(struct device *);\n\tvoid (*dismiss)(struct device *);\n\tint (*set_performance_state)(struct device *, unsigned int);\n};\n\nstruct dev_pm_domain_attach_data {\n\tconst char * const *pd_names;\n\tconst u32 num_pd_names;\n\tconst u32 pd_flags;\n};\n\nstruct device_link;\n\nstruct dev_pm_domain_list {\n\tstruct device **pd_devs;\n\tstruct device_link **pd_links;\n\tu32 *opp_tokens;\n\tu32 num_pds;\n};\n\nstruct dev_pm_opp_supply;\n\nstruct dev_pm_opp_icc_bw;\n\nstruct opp_table;\n\nstruct dev_pm_opp {\n\tstruct list_head node;\n\tstruct kref kref;\n\tbool available;\n\tbool dynamic;\n\tbool turbo;\n\tbool suspend;\n\tbool removed;\n\tlong unsigned int *rates;\n\tunsigned int level;\n\tstruct dev_pm_opp_supply *supplies;\n\tstruct dev_pm_opp_icc_bw *bandwidth;\n\tlong unsigned int clock_latency_ns;\n\tstruct dev_pm_opp **required_opps;\n\tstruct opp_table *opp_table;\n\tstruct device_node *np;\n\tstruct dentry *dentry;\n\tconst char *of_name;\n};\n\ntypedef int (*config_clks_t)(struct device *, struct opp_table *, struct dev_pm_opp *, void *, bool);\n\ntypedef int (*config_regulators_t)(struct device *, struct dev_pm_opp *, struct dev_pm_opp *, struct regulator **, unsigned int);\n\nstruct dev_pm_opp_config {\n\tconst char * const *clk_names;\n\tconfig_clks_t config_clks;\n\tconst char *prop_name;\n\tconfig_regulators_t config_regulators;\n\tconst unsigned int *supported_hw;\n\tunsigned int supported_hw_count;\n\tconst char * const *regulator_names;\n\tstruct device *required_dev;\n\tunsigned int required_dev_index;\n};\n\nstruct dev_pm_opp_data {\n\tbool turbo;\n\tunsigned int level;\n\tlong unsigned int freq;\n\tlong unsigned int u_volt;\n};\n\nstruct dev_pm_opp_icc_bw {\n\tu32 avg;\n\tu32 peak;\n};\n\nstruct dev_pm_opp_supply {\n\tlong unsigned int u_volt;\n\tlong unsigned int u_volt_min;\n\tlong unsigned int u_volt_max;\n\tlong unsigned int u_amp;\n\tlong unsigned int u_watt;\n};\n\nstruct pm_qos_flags {\n\tstruct list_head list;\n\ts32 effective_flags;\n};\n\nstruct dev_pm_qos_request;\n\nstruct dev_pm_qos {\n\tstruct pm_qos_constraints resume_latency;\n\tstruct pm_qos_constraints latency_tolerance;\n\tstruct freq_constraints freq;\n\tstruct pm_qos_flags flags;\n\tstruct dev_pm_qos_request *resume_latency_req;\n\tstruct dev_pm_qos_request *latency_tolerance_req;\n\tstruct dev_pm_qos_request *flags_req;\n};\n\nstruct pm_qos_flags_request {\n\tstruct list_head node;\n\ts32 flags;\n};\n\nstruct dev_pm_qos_request {\n\tenum dev_pm_qos_req_type type;\n\tunion {\n\t\tstruct plist_node pnode;\n\t\tstruct pm_qos_flags_request flr;\n\t\tstruct freq_qos_request freq;\n\t} data;\n\tstruct device *dev;\n};\n\nstruct dev_printk_info {\n\tchar subsystem[16];\n\tchar device[48];\n};\n\nstruct dev_to_host_fis {\n\tu8 fis_type;\n\tu8 flags;\n\tu8 status;\n\tu8 error;\n\tu8 lbal;\n\tunion {\n\t\tu8 lbam;\n\t\tu8 byte_count_low;\n\t};\n\tunion {\n\t\tu8 lbah;\n\t\tu8 byte_count_high;\n\t};\n\tu8 device;\n\tu8 lbal_exp;\n\tu8 lbam_exp;\n\tu8 lbah_exp;\n\tu8 _r_a;\n\tunion {\n\t\tu8 sector_count;\n\t\tu8 interrupt_reason;\n\t};\n\tu8 sector_count_exp;\n\tu8 _r_b;\n\tu8 _r_c;\n\tu32 _r_d;\n};\n\nstruct devcd_entry {\n\tstruct device devcd_dev;\n\tvoid *data;\n\tsize_t datalen;\n\tstruct mutex mutex;\n\tbool delete_work;\n\tstruct module *owner;\n\tssize_t (*read)(char *, loff_t, size_t, void *, size_t);\n\tvoid (*free)(void *);\n\tstruct delayed_work del_wk;\n\tstruct device *failing_dev;\n};\n\nstruct devfreq_dev_status {\n\tlong unsigned int total_time;\n\tlong unsigned int busy_time;\n\tlong unsigned int current_frequency;\n\tvoid *private_data;\n};\n\nstruct devfreq_stats {\n\tunsigned int total_trans;\n\tunsigned int *trans_table;\n\tu64 *time_in_state;\n\tu64 last_update;\n};\n\nstruct devfreq_dev_profile;\n\nstruct devfreq_governor;\n\nstruct devfreq {\n\tstruct list_head node;\n\tstruct mutex lock;\n\tstruct device dev;\n\tstruct devfreq_dev_profile *profile;\n\tconst struct devfreq_governor *governor;\n\tstruct opp_table *opp_table;\n\tstruct notifier_block nb;\n\tstruct delayed_work work;\n\tlong unsigned int *freq_table;\n\tunsigned int max_state;\n\tlong unsigned int previous_freq;\n\tstruct devfreq_dev_status last_status;\n\tvoid *data;\n\tvoid *governor_data;\n\tstruct dev_pm_qos_request user_min_freq_req;\n\tstruct dev_pm_qos_request user_max_freq_req;\n\tlong unsigned int scaling_min_freq;\n\tlong unsigned int scaling_max_freq;\n\tbool stop_polling;\n\tlong unsigned int suspend_freq;\n\tlong unsigned int resume_freq;\n\tatomic_t suspend_count;\n\tstruct devfreq_stats stats;\n\tstruct srcu_notifier_head transition_notifier_list;\n\tstruct thermal_cooling_device *cdev;\n\tstruct notifier_block nb_min;\n\tstruct notifier_block nb_max;\n};\n\nstruct devfreq_cooling_power {\n\tint (*get_real_power)(struct devfreq *, u32 *, long unsigned int, long unsigned int);\n};\n\nstruct devfreq_dev_profile {\n\tlong unsigned int initial_freq;\n\tunsigned int polling_ms;\n\tenum devfreq_timer timer;\n\tint (*target)(struct device *, long unsigned int *, u32);\n\tint (*get_dev_status)(struct device *, struct devfreq_dev_status *);\n\tint (*get_cur_freq)(struct device *, long unsigned int *);\n\tvoid (*exit)(struct device *);\n\tlong unsigned int *freq_table;\n\tunsigned int max_state;\n\tbool is_cooling_device;\n};\n\nstruct devfreq_freqs {\n\tlong unsigned int old;\n\tlong unsigned int new;\n};\n\nstruct devfreq_governor {\n\tstruct list_head node;\n\tconst char name[16];\n\tconst u64 attrs;\n\tconst u64 flags;\n\tint (*get_target_freq)(struct devfreq *, long unsigned int *);\n\tint (*event_handler)(struct devfreq *, unsigned int, void *);\n};\n\nstruct devfreq_notifier_devres {\n\tstruct devfreq *devfreq;\n\tstruct notifier_block *nb;\n\tunsigned int list;\n};\n\nstruct devfreq_simple_ondemand_data {\n\tunsigned int upthreshold;\n\tunsigned int downdifferential;\n};\n\nstruct deviceSpec {\n\t__le32 attrType;\n\tuint8_t attrSubtype;\n\tuint8_t reserved[3];\n\t__le32 attrLength;\n\t__le32 impUseLength;\n\t__le32 majorDeviceIdent;\n\t__le32 minorDeviceIdent;\n\tuint8_t impUse[0];\n};\n\nstruct device_attach_data {\n\tstruct device *dev;\n\tbool check_async;\n\tbool want_async;\n\tbool have_async;\n};\n\nunion device_attr_group_devres {\n\tconst struct attribute_group *group;\n\tconst struct attribute_group **groups;\n};\n\nstruct device_link {\n\tstruct device *supplier;\n\tstruct list_head s_node;\n\tstruct device *consumer;\n\tstruct list_head c_node;\n\tstruct device link_dev;\n\tenum device_link_state status;\n\tu32 flags;\n\trefcount_t rpm_active;\n\tstruct kref kref;\n\tstruct work_struct rm_work;\n\tbool supplier_preactivated;\n};\n\nstruct property;\n\nstruct device_node {\n\tconst char *name;\n\tphandle phandle;\n\tconst char *full_name;\n\tstruct fwnode_handle fwnode;\n\tstruct property *properties;\n\tstruct property *deadprops;\n\tstruct device_node *parent;\n\tstruct device_node *child;\n\tstruct device_node *sibling;\n\tstruct kobject kobj;\n\tlong unsigned int _flags;\n\tvoid *data;\n};\n\nstruct device_physical_location {\n\tenum device_physical_location_panel panel;\n\tenum device_physical_location_vertical_position vertical_position;\n\tenum device_physical_location_horizontal_position horizontal_position;\n\tbool dock;\n\tbool lid;\n};\n\nstruct klist_node {\n\tvoid *n_klist;\n\tstruct list_head n_node;\n\tstruct kref n_ref;\n};\n\nstruct device_private {\n\tstruct klist klist_children;\n\tstruct klist_node knode_parent;\n\tstruct klist_node knode_driver;\n\tstruct klist_node knode_bus;\n\tstruct klist_node knode_class;\n\tstruct list_head deferred_probe;\n\tconst struct device_driver *async_driver;\n\tchar *deferred_probe_reason;\n\tstruct device *device;\n\tu8 dead: 1;\n};\n\nstruct device_type {\n\tconst char *name;\n\tconst struct attribute_group **groups;\n\tint (*uevent)(const struct device *, struct kobj_uevent_env *);\n\tchar * (*devnode)(const struct device *, umode_t *, kuid_t *, kgid_t *);\n\tvoid (*release)(struct device *);\n\tconst struct dev_pm_ops *pm;\n};\n\nstruct devinet_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table devinet_vars[33];\n};\n\nstruct ratelimit_state {\n\traw_spinlock_t lock;\n\tint interval;\n\tint burst;\n\tint printed;\n\tint missed;\n\tunsigned int flags;\n\tlong unsigned int begin;\n};\n\nstruct printk_buffers {\n\tchar outbuf[2048];\n\tchar scratchbuf[1024];\n};\n\nstruct devkmsg_user {\n\tatomic64_t seq;\n\tstruct ratelimit_state rs;\n\tstruct mutex lock;\n\tstruct printk_buffers pbufs;\n};\n\nstruct devlink;\n\nstruct netdev_phys_item_id {\n\tunsigned char id[32];\n\tunsigned char id_len;\n};\n\nstruct devlink_port_phys_attrs {\n\tu32 port_number;\n\tu32 split_subport_number;\n};\n\nstruct devlink_port_pci_pf_attrs {\n\tu32 controller;\n\tu16 pf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_pci_vf_attrs {\n\tu32 controller;\n\tu16 pf;\n\tu16 vf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_pci_sf_attrs {\n\tu32 controller;\n\tu32 sf;\n\tu16 pf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_attrs {\n\tu8 split: 1;\n\tu8 splittable: 1;\n\tu32 lanes;\n\tenum devlink_port_flavour flavour;\n\tstruct netdev_phys_item_id switch_id;\n\tunion {\n\t\tstruct devlink_port_phys_attrs phys;\n\t\tstruct devlink_port_pci_pf_attrs pci_pf;\n\t\tstruct devlink_port_pci_vf_attrs pci_vf;\n\t\tstruct devlink_port_pci_sf_attrs pci_sf;\n\t};\n};\n\nstruct devlink_linecard;\n\nstruct devlink_port_ops;\n\nstruct ib_device;\n\nstruct devlink_rate;\n\nstruct devlink_port {\n\tstruct list_head list;\n\tstruct list_head region_list;\n\tstruct devlink *devlink;\n\tconst struct devlink_port_ops *ops;\n\tunsigned int index;\n\tspinlock_t type_lock;\n\tenum devlink_port_type type;\n\tenum devlink_port_type desired_type;\n\tunion {\n\t\tstruct {\n\t\t\tstruct net_device *netdev;\n\t\t\tint ifindex;\n\t\t\tchar ifname[16];\n\t\t} type_eth;\n\t\tstruct {\n\t\t\tstruct ib_device *ibdev;\n\t\t} type_ib;\n\t};\n\tstruct devlink_port_attrs attrs;\n\tu8 attrs_set: 1;\n\tu8 switch_port: 1;\n\tu8 registered: 1;\n\tu8 initialized: 1;\n\tstruct delayed_work type_warn_dw;\n\tstruct list_head reporter_list;\n\tstruct devlink_rate *devlink_rate;\n\tstruct devlink_linecard *linecard;\n\tu32 rel_index;\n};\n\nstruct devlink_port_ops {\n\tint (*port_split)(struct devlink *, struct devlink_port *, unsigned int, struct netlink_ext_ack *);\n\tint (*port_unsplit)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);\n\tint (*port_type_set)(struct devlink_port *, enum devlink_port_type);\n\tint (*port_del)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);\n\tint (*port_fn_hw_addr_get)(struct devlink_port *, u8 *, int *, struct netlink_ext_ack *);\n\tint (*port_fn_hw_addr_set)(struct devlink_port *, const u8 *, int, struct netlink_ext_ack *);\n\tint (*port_fn_roce_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_roce_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_migratable_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_migratable_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_state_get)(struct devlink_port *, enum devlink_port_fn_state *, enum devlink_port_fn_opstate *, struct netlink_ext_ack *);\n\tint (*port_fn_state_set)(struct devlink_port *, enum devlink_port_fn_state, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_crypto_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_crypto_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_packet_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_packet_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_max_io_eqs_get)(struct devlink_port *, u32 *, struct netlink_ext_ack *);\n\tint (*port_fn_max_io_eqs_set)(struct devlink_port *, u32, struct netlink_ext_ack *);\n};\n\nstruct devlink_rate {\n\tstruct list_head list;\n\tenum devlink_rate_type type;\n\tstruct devlink *devlink;\n\tvoid *priv;\n\tu64 tx_share;\n\tu64 tx_max;\n\tstruct devlink_rate *parent;\n\tunion {\n\t\tstruct devlink_port *devlink_port;\n\t\tstruct {\n\t\t\tchar *name;\n\t\t\trefcount_t refcnt;\n\t\t};\n\t};\n\tu32 tx_priority;\n\tu32 tx_weight;\n};\n\nstruct devm_clk_state {\n\tstruct clk *clk;\n\tvoid (*exit)(struct clk *);\n};\n\ntypedef void (*dr_release_t)(struct device *, void *);\n\nstruct devres_node {\n\tstruct list_head entry;\n\tdr_release_t release;\n\tconst char *name;\n\tsize_t size;\n};\n\nstruct devres {\n\tstruct devres_node node;\n\tu8 data[0];\n};\n\nstruct devres_group {\n\tstruct devres_node node[2];\n\tvoid *id;\n\tint color;\n};\n\nstruct dh {\n\tconst void *key;\n\tconst void *p;\n\tconst void *g;\n\tunsigned int key_size;\n\tunsigned int p_size;\n\tunsigned int g_size;\n};\n\nstruct gcry_mpi;\n\ntypedef struct gcry_mpi *MPI;\n\nstruct dh_ctx {\n\tMPI p;\n\tMPI g;\n\tMPI xa;\n};\n\nstruct dictionary {\n\tuint8_t *buf;\n\tsize_t start;\n\tsize_t pos;\n\tsize_t full;\n\tsize_t limit;\n\tsize_t end;\n\tuint32_t size;\n\tuint32_t size_max;\n\tuint32_t allocated;\n\tenum xz_mode mode;\n};\n\nstruct die_args {\n\tstruct pt_regs *regs;\n\tconst char *str;\n\tlong int err;\n\tint trapnr;\n\tint signr;\n};\n\nstruct dim_stats {\n\tint ppms;\n\tint bpms;\n\tint epms;\n\tint cpms;\n\tint cpe_ratio;\n};\n\nstruct dim_sample {\n\tktime_t time;\n\tu32 pkt_ctr;\n\tu32 byte_ctr;\n\tu16 event_ctr;\n\tu32 comp_ctr;\n};\n\nstruct dim {\n\tu8 state;\n\tstruct dim_stats prev_stats;\n\tstruct dim_sample start_sample;\n\tstruct dim_sample measuring_sample;\n\tstruct work_struct work;\n\tvoid *priv;\n\tu8 profile_ix;\n\tu8 mode;\n\tu8 tune_state;\n\tu8 steps_right;\n\tu8 steps_left;\n\tu8 tired;\n};\n\nstruct dim_cq_moder {\n\tu16 usec;\n\tu16 pkts;\n\tu16 comps;\n\tu8 cq_period_mode;\n\tstruct callback_head rcu;\n};\n\nstruct dim_irq_moder {\n\tu8 profile_flags;\n\tu8 coal_flags;\n\tu8 dim_rx_mode;\n\tu8 dim_tx_mode;\n\tstruct dim_cq_moder *rx_profile;\n\tstruct dim_cq_moder *tx_profile;\n\tvoid (*rx_dim_work)(struct work_struct *);\n\tvoid (*tx_dim_work)(struct work_struct *);\n};\n\ntypedef int dio_iodone_t(struct kiocb *, loff_t, ssize_t, void *);\n\nstruct dio {\n\tint flags;\n\tblk_opf_t opf;\n\tstruct gendisk *bio_disk;\n\tstruct inode *inode;\n\tloff_t i_size;\n\tdio_iodone_t *end_io;\n\tbool is_pinned;\n\tvoid *private;\n\tspinlock_t bio_lock;\n\tint page_errors;\n\tint is_async;\n\tbool defer_completion;\n\tbool should_dirty;\n\tint io_error;\n\tlong unsigned int refcount;\n\tstruct bio *bio_list;\n\tstruct task_struct *waiter;\n\tstruct kiocb *iocb;\n\tssize_t result;\n\tunion {\n\t\tstruct page *pages[64];\n\t\tstruct work_struct complete_work;\n\t};\n\tlong: 64;\n};\n\ntypedef int get_block_t(struct inode *, sector_t, struct buffer_head *, int);\n\nstruct dio_submit {\n\tstruct bio *bio;\n\tunsigned int blkbits;\n\tunsigned int blkfactor;\n\tunsigned int start_zero_done;\n\tint pages_in_io;\n\tsector_t block_in_file;\n\tunsigned int blocks_available;\n\tint reap_counter;\n\tsector_t final_block_in_request;\n\tint boundary;\n\tget_block_t *get_block;\n\tloff_t logical_offset_in_bio;\n\tsector_t final_block_in_bio;\n\tsector_t next_block_for_io;\n\tstruct page *cur_page;\n\tunsigned int cur_page_offset;\n\tunsigned int cur_page_len;\n\tsector_t cur_page_block;\n\tloff_t cur_page_fs_offset;\n\tstruct iov_iter *iter;\n\tunsigned int head;\n\tunsigned int tail;\n\tsize_t from;\n\tsize_t to;\n};\n\nstruct dioattr {\n\t__u32 d_mem;\n\t__u32 d_miniosz;\n\t__u32 d_maxiosz;\n};\n\nstruct dir_context;\n\ntypedef bool (*filldir_t)(struct dir_context *, const char *, int, loff_t, u64, unsigned int);\n\nstruct dir_context {\n\tfilldir_t actor;\n\tloff_t pos;\n};\n\nstruct dir_entry {\n\tu64 ino;\n\tu64 offset;\n\tunsigned int type;\n\tint name_len;\n};\n\nstruct dir_entry___2 {\n\tstruct list_head list;\n\ttime64_t mtime;\n\tchar name[0];\n};\n\nstruct fname;\n\nstruct dir_private_info {\n\tstruct rb_root root;\n\tstruct rb_node *curr_node;\n\tstruct fname *extra_fname;\n\tloff_t last_pos;\n\t__u32 curr_hash;\n\t__u32 curr_minor_hash;\n\t__u32 next_hash;\n\tu64 cookie;\n\tbool initialized;\n};\n\nstruct wb_domain;\n\nstruct dirty_throttle_control {\n\tstruct wb_domain *dom;\n\tstruct dirty_throttle_control *gdtc;\n\tstruct bdi_writeback *wb;\n\tstruct fprop_local_percpu *wb_completions;\n\tlong unsigned int avail;\n\tlong unsigned int dirty;\n\tlong unsigned int thresh;\n\tlong unsigned int bg_thresh;\n\tlong unsigned int wb_dirty;\n\tlong unsigned int wb_thresh;\n\tlong unsigned int wb_bg_thresh;\n\tlong unsigned int pos_ratio;\n\tbool freerun;\n\tbool dirty_exceeded;\n};\n\nstruct discover_resp {\n\tu8 _r_a[5];\n\tu8 phy_id;\n\t__be16 _r_b;\n\tu8 _r_c: 4;\n\tu8 attached_dev_type: 3;\n\tu8 _r_d: 1;\n\tu8 linkrate: 4;\n\tu8 _r_e: 4;\n\tu8 attached_sata_host: 1;\n\tu8 iproto: 3;\n\tu8 _r_f: 4;\n\tu8 attached_sata_dev: 1;\n\tu8 tproto: 3;\n\tu8 _r_g: 3;\n\tu8 attached_sata_ps: 1;\n\tu8 sas_addr[8];\n\tu8 attached_sas_addr[8];\n\tu8 attached_phy_id;\n\tu8 _r_h[7];\n\tu8 hmin_linkrate: 4;\n\tu8 pmin_linkrate: 4;\n\tu8 hmax_linkrate: 4;\n\tu8 pmax_linkrate: 4;\n\tu8 change_count;\n\tu8 pptv: 4;\n\tu8 _r_i: 3;\n\tu8 virtual: 1;\n\tu8 routing_attr: 4;\n\tu8 _r_j: 4;\n\tu8 conn_type;\n\tu8 conn_el_index;\n\tu8 conn_phy_link;\n\tu8 _r_k[8];\n};\n\nstruct disk_comp_opts {\n\t__le32 dictionary_size;\n\t__le32 flags;\n};\n\nstruct disk_events {\n\tstruct list_head node;\n\tstruct gendisk *disk;\n\tspinlock_t lock;\n\tstruct mutex block_mutex;\n\tint block;\n\tunsigned int pending;\n\tunsigned int clearing;\n\tlong int poll_msecs;\n\tstruct delayed_work dwork;\n};\n\nstruct disk_report_zones_cb_args {\n\tstruct gendisk *disk;\n\treport_zones_cb user_cb;\n\tvoid *user_data;\n};\n\nstruct disk_stats {\n\tu64 nsecs[4];\n\tlong unsigned int sectors[4];\n\tlong unsigned int ios[4];\n\tlong unsigned int merges[4];\n\tlong unsigned int io_ticks;\n\tlocal_t in_flight[2];\n};\n\nstruct dispatch_rq_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct request *rq;\n};\n\nstruct displayid_block {\n\tu8 tag;\n\tu8 rev;\n\tu8 num_bytes;\n};\n\nstruct displayid_detailed_timings_1 {\n\tu8 pixel_clock[3];\n\tu8 flags;\n\tu8 hactive[2];\n\tu8 hblank[2];\n\tu8 hsync[2];\n\tu8 hsw[2];\n\tu8 vactive[2];\n\tu8 vblank[2];\n\tu8 vsync[2];\n\tu8 vsw[2];\n};\n\nstruct displayid_detailed_timing_block {\n\tstruct displayid_block base;\n\tstruct displayid_detailed_timings_1 timings[0];\n};\n\nstruct displayid_header {\n\tu8 rev;\n\tu8 bytes;\n\tu8 prod_id;\n\tu8 ext_count;\n};\n\nstruct displayid_tiled_block {\n\tstruct displayid_block base;\n\tu8 tile_cap;\n\tu8 topo[3];\n\tu8 tile_size[4];\n\tu8 tile_pixel_bezel[5];\n\tu8 topology_id[8];\n};\n\nstruct displayid_vesa_vendor_specific_block {\n\tstruct displayid_block base;\n\tu8 oui[3];\n\tu8 data_structure_type;\n\tu8 mso;\n};\n\nstruct dl_bw {\n\traw_spinlock_t lock;\n\tu64 bw;\n\tu64 total_bw;\n};\n\nstruct dl_rq {\n\tstruct rb_root_cached root;\n\tunsigned int dl_nr_running;\n\tstruct {\n\t\tu64 curr;\n\t\tu64 next;\n\t} earliest_dl;\n\tbool overloaded;\n\tstruct rb_root_cached pushable_dl_tasks_root;\n\tu64 running_bw;\n\tu64 this_bw;\n\tu64 extra_bw;\n\tu64 max_bw;\n\tu64 bw_ratio;\n};\n\nstruct dm_arg {\n\tunsigned int min;\n\tunsigned int max;\n\tchar *error;\n};\n\nstruct dm_arg_set {\n\tunsigned int argc;\n\tchar **argv;\n};\n\nstruct dm_blkdev_id {\n\tu8 *id;\n\tenum blk_unique_id type;\n};\n\nstruct mapped_device;\n\nstruct dm_crypto_profile {\n\tstruct blk_crypto_profile profile;\n\tstruct mapped_device *md;\n};\n\nstruct dm_dev {\n\tstruct block_device *bdev;\n\tstruct file *bdev_file;\n\tstruct dax_device *dax_dev;\n\tblk_mode_t mode;\n\tchar name[16];\n};\n\nstruct dm_dev_internal {\n\tstruct list_head list;\n\trefcount_t count;\n\tstruct dm_dev *dm_dev;\n};\n\nstruct dm_ioctl {\n\t__u32 version[3];\n\t__u32 data_size;\n\t__u32 data_start;\n\t__u32 target_count;\n\t__s32 open_count;\n\t__u32 flags;\n\t__u32 event_nr;\n\t__u32 padding;\n\t__u64 dev;\n\tchar name[128];\n\tchar uuid[129];\n\tchar data[7];\n};\n\nstruct dm_target_spec;\n\nstruct dm_device {\n\tstruct dm_ioctl dmi;\n\tstruct dm_target_spec *table[256];\n\tchar *target_args_array[256];\n\tstruct list_head list;\n};\n\nstruct dm_device_zone_count {\n\tsector_t start;\n\tsector_t len;\n\tunsigned int total_nr_seq_zones;\n\tunsigned int target_nr_seq_zones;\n};\n\nstruct dm_file {\n\tvolatile unsigned int global_event_nr;\n};\n\nstruct dm_stats_aux {\n\tbool merged;\n\tlong long unsigned int duration_ns;\n};\n\nstruct dm_target;\n\nstruct dm_target_io {\n\tshort unsigned int magic;\n\tblk_short_t flags;\n\tunsigned int target_bio_nr;\n\tstruct dm_io *io;\n\tstruct dm_target *ti;\n\tunsigned int *len_ptr;\n\tsector_t old_sector;\n\tstruct bio clone;\n};\n\nstruct dm_io {\n\tshort unsigned int magic;\n\tblk_short_t flags;\n\tspinlock_t lock;\n\tlong unsigned int start_time;\n\tvoid *data;\n\tstruct dm_io *next;\n\tstruct dm_stats_aux stats_aux;\n\tblk_status_t status;\n\tatomic_t io_count;\n\tstruct mapped_device *md;\n\tstruct bio *orig_bio;\n\tunsigned int sector_offset;\n\tunsigned int sectors;\n\tstruct dm_target_io tio;\n};\n\nstruct dm_io_client {\n\tmempool_t pool;\n\tstruct bio_set bios;\n};\n\nstruct page_list;\n\nstruct dm_io_memory {\n\tenum dm_io_mem_type type;\n\tunsigned int offset;\n\tunion {\n\t\tstruct page_list *pl;\n\t\tstruct bio *bio;\n\t\tvoid *vma;\n\t\tvoid *addr;\n\t} ptr;\n};\n\ntypedef void (*io_notify_fn)(long unsigned int, void *);\n\nstruct dm_io_notify {\n\tio_notify_fn fn;\n\tvoid *context;\n};\n\nstruct dm_io_region {\n\tstruct block_device *bdev;\n\tsector_t sector;\n\tsector_t count;\n};\n\nstruct dm_io_request {\n\tblk_opf_t bi_opf;\n\tstruct dm_io_memory mem;\n\tstruct dm_io_notify notify;\n\tstruct dm_io_client *client;\n};\n\nstruct dm_kcopyd_throttle;\n\nstruct dm_kcopyd_client {\n\tstruct page_list *pages;\n\tunsigned int nr_reserved_pages;\n\tunsigned int nr_free_pages;\n\tunsigned int sub_job_size;\n\tstruct dm_io_client *io_client;\n\twait_queue_head_t destroyq;\n\tmempool_t job_pool;\n\tstruct workqueue_struct *kcopyd_wq;\n\tstruct work_struct kcopyd_work;\n\tstruct dm_kcopyd_throttle *throttle;\n\tatomic_t nr_jobs;\n\tspinlock_t job_lock;\n\tstruct list_head callback_jobs;\n\tstruct list_head complete_jobs;\n\tstruct list_head io_jobs;\n\tstruct list_head pages_jobs;\n};\n\nstruct dm_kcopyd_throttle {\n\tunsigned int throttle;\n\tunsigned int num_io_jobs;\n\tunsigned int io_period;\n\tunsigned int total_period;\n\tunsigned int last_jiffies;\n};\n\nstruct dm_kobject_holder {\n\tstruct kobject kobj;\n\tstruct completion completion;\n};\n\nstruct dm_md_mempools {\n\tstruct bio_set bs;\n\tstruct bio_set io_bs;\n};\n\nstruct dm_name_list {\n\t__u64 dev;\n\t__u32 next;\n\tchar name[0];\n};\n\nstruct pr_keys;\n\nstruct pr_held_reservation;\n\nstruct dm_pr {\n\tu64 old_key;\n\tu64 new_key;\n\tu32 flags;\n\tbool abort;\n\tbool fail_early;\n\tint ret;\n\tenum pr_type type;\n\tstruct pr_keys *read_keys;\n\tstruct pr_held_reservation *rsv;\n};\n\nstruct dm_report_zones_args {\n\tstruct dm_target *tgt;\n\tsector_t next_sector;\n\tvoid *orig_data;\n\treport_zones_cb orig_cb;\n\tunsigned int zone_idx;\n\tsector_t start;\n};\n\nstruct dm_rq_target_io;\n\nstruct dm_rq_clone_bio_info {\n\tstruct bio *orig;\n\tstruct dm_rq_target_io *tio;\n\tstruct bio clone;\n};\n\nstruct kthread_work;\n\ntypedef void (*kthread_work_func_t)(struct kthread_work *);\n\nstruct kthread_worker;\n\nstruct kthread_work {\n\tstruct list_head node;\n\tkthread_work_func_t func;\n\tstruct kthread_worker *worker;\n\tint canceling;\n};\n\nunion map_info {\n\tvoid *ptr;\n};\n\nstruct dm_rq_target_io {\n\tstruct mapped_device *md;\n\tstruct dm_target *ti;\n\tstruct request *orig;\n\tstruct request *clone;\n\tstruct kthread_work work;\n\tblk_status_t error;\n\tunion map_info info;\n\tstruct dm_stats_aux stats_aux;\n\tlong unsigned int duration_jiffies;\n\tunsigned int n_sectors;\n\tunsigned int completed;\n};\n\nstruct dm_stat_percpu {\n\tlong long unsigned int sectors[2];\n\tlong long unsigned int ios[2];\n\tlong long unsigned int merges[2];\n\tlong long unsigned int ticks[2];\n\tlong long unsigned int io_ticks[2];\n\tlong long unsigned int io_ticks_total;\n\tlong long unsigned int time_in_queue;\n\tlong long unsigned int *histogram;\n};\n\nstruct dm_stat_shared {\n\tatomic_t in_flight[2];\n\tlong long unsigned int stamp;\n\tstruct dm_stat_percpu tmp;\n};\n\nstruct dm_stat {\n\tstruct list_head list_entry;\n\tint id;\n\tunsigned int stat_flags;\n\tsize_t n_entries;\n\tsector_t start;\n\tsector_t end;\n\tsector_t step;\n\tunsigned int n_histogram_entries;\n\tlong long unsigned int *histogram_boundaries;\n\tconst char *program_id;\n\tconst char *aux_data;\n\tstruct callback_head callback_head;\n\tsize_t shared_alloc_size;\n\tsize_t percpu_alloc_size;\n\tsize_t histogram_alloc_size;\n\tstruct dm_stat_percpu *stat_percpu[256];\n\tstruct dm_stat_shared stat_shared[0];\n};\n\nstruct dm_stats_last_position;\n\nstruct dm_stats {\n\tstruct mutex mutex;\n\tstruct list_head list;\n\tstruct dm_stats_last_position *last;\n\tbool precise_timestamps;\n};\n\nstruct dm_stats_last_position {\n\tsector_t last_sector;\n\tunsigned int last_rw;\n};\n\nstruct dm_sysfs_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct mapped_device *, char *);\n\tssize_t (*store)(struct mapped_device *, const char *, size_t);\n};\n\nstruct target_type;\n\nstruct dm_table {\n\tstruct mapped_device *md;\n\tenum dm_queue_mode type;\n\tunsigned int depth;\n\tunsigned int counts[16];\n\tsector_t *index[16];\n\tunsigned int num_targets;\n\tunsigned int num_allocated;\n\tsector_t *highs;\n\tstruct dm_target *targets;\n\tstruct target_type *immutable_target_type;\n\tbool integrity_supported: 1;\n\tbool singleton: 1;\n\tbool flush_bypasses_map: 1;\n\tblk_mode_t mode;\n\tstruct list_head devices;\n\tstruct rw_semaphore devices_lock;\n\tvoid (*event_fn)(void *);\n\tvoid *event_context;\n\tstruct dm_md_mempools *mempools;\n\tstruct blk_crypto_profile *crypto_profile;\n};\n\nstruct dm_target {\n\tstruct dm_table *table;\n\tstruct target_type *type;\n\tsector_t begin;\n\tsector_t len;\n\tuint32_t max_io_len;\n\tunsigned int num_flush_bios;\n\tunsigned int num_discard_bios;\n\tunsigned int num_secure_erase_bios;\n\tunsigned int num_write_zeroes_bios;\n\tunsigned int per_io_data_size;\n\tvoid *private;\n\tchar *error;\n\tbool flush_supported: 1;\n\tbool discards_supported: 1;\n\tbool zone_reset_all_supported: 1;\n\tbool max_discard_granularity: 1;\n\tbool limit_swap_bios: 1;\n\tbool emulate_zone_append: 1;\n\tbool accounts_remapped_io: 1;\n\tbool needs_bio_set_dev: 1;\n\tbool flush_bypasses_map: 1;\n\tbool mempool_needs_integrity: 1;\n};\n\nstruct dm_target_deps {\n\t__u32 count;\n\t__u32 padding;\n\t__u64 dev[0];\n};\n\nstruct dm_target_msg {\n\t__u64 sector;\n\tchar message[0];\n};\n\nstruct dm_target_spec {\n\t__u64 sector_start;\n\t__u64 length;\n\t__s32 status;\n\t__u32 next;\n\tchar target_type[16];\n};\n\nstruct dm_target_versions {\n\t__u32 next;\n\t__u32 version[3];\n\tchar name[0];\n};\n\nstruct kobj_uevent_env {\n\tchar *argv[3];\n\tchar *envp[64];\n\tint envp_idx;\n\tchar buf[2048];\n\tint buflen;\n};\n\nstruct dm_uevent {\n\tstruct mapped_device *md;\n\tenum kobject_action action;\n\tstruct kobj_uevent_env ku_env;\n\tstruct list_head elist;\n\tchar name[128];\n\tchar uuid[129];\n};\n\nstruct dm_zone_resource_limits {\n\tunsigned int mapped_nr_seq_zones;\n\tstruct queue_limits *lim;\n\tbool reliable_limits;\n};\n\ntypedef void (*dma_async_tx_callback)(void *);\n\nstruct dmaengine_result;\n\ntypedef void (*dma_async_tx_callback_result)(void *, const struct dmaengine_result *);\n\nstruct dmaengine_unmap_data;\n\nstruct dma_descriptor_metadata_ops;\n\nstruct dma_async_tx_descriptor {\n\tdma_cookie_t cookie;\n\tenum dma_ctrl_flags flags;\n\tdma_addr_t phys;\n\tstruct dma_chan *chan;\n\tdma_cookie_t (*tx_submit)(struct dma_async_tx_descriptor *);\n\tint (*desc_free)(struct dma_async_tx_descriptor *);\n\tdma_async_tx_callback callback;\n\tdma_async_tx_callback_result callback_result;\n\tvoid *callback_param;\n\tstruct dmaengine_unmap_data *unmap;\n\tenum dma_desc_metadata_mode desc_metadata_mode;\n\tstruct dma_descriptor_metadata_ops *metadata_ops;\n};\n\nstruct dma_block {\n\tstruct dma_block *next_block;\n\tdma_addr_t dma;\n};\n\nstruct iosys_map {\n\tunion {\n\t\tvoid *vaddr_iomem;\n\t\tvoid *vaddr;\n\t};\n\tbool is_iomem;\n};\n\nstruct dma_buf_poll_cb_t {\n\tstruct dma_fence_cb cb;\n\twait_queue_head_t *poll;\n\t__poll_t active;\n};\n\nstruct dma_buf_ops;\n\nstruct dma_resv;\n\nstruct dma_buf {\n\tsize_t size;\n\tstruct file *file;\n\tstruct list_head attachments;\n\tconst struct dma_buf_ops *ops;\n\tunsigned int vmapping_counter;\n\tstruct iosys_map vmap_ptr;\n\tconst char *exp_name;\n\tconst char *name;\n\tspinlock_t name_lock;\n\tstruct module *owner;\n\tstruct list_head list_node;\n\tvoid *priv;\n\tstruct dma_resv *resv;\n\twait_queue_head_t poll;\n\tstruct dma_buf_poll_cb_t cb_in;\n\tstruct dma_buf_poll_cb_t cb_out;\n};\n\nstruct dma_buf_attachment;\n\nstruct dma_buf_attach_ops {\n\tbool allow_peer2peer;\n\tvoid (*move_notify)(struct dma_buf_attachment *);\n};\n\nstruct sg_table;\n\nstruct dma_buf_attachment {\n\tstruct dma_buf *dmabuf;\n\tstruct device *dev;\n\tstruct list_head node;\n\tstruct sg_table *sgt;\n\tenum dma_data_direction dir;\n\tbool peer2peer;\n\tconst struct dma_buf_attach_ops *importer_ops;\n\tvoid *importer_priv;\n\tvoid *priv;\n};\n\nstruct dma_buf_export_info {\n\tconst char *exp_name;\n\tstruct module *owner;\n\tconst struct dma_buf_ops *ops;\n\tsize_t size;\n\tint flags;\n\tstruct dma_resv *resv;\n\tvoid *priv;\n};\n\nstruct dma_buf_export_sync_file {\n\t__u32 flags;\n\t__s32 fd;\n};\n\nstruct dma_buf_import_sync_file {\n\t__u32 flags;\n\t__s32 fd;\n};\n\nstruct dma_buf_ops {\n\tbool cache_sgt_mapping;\n\tint (*attach)(struct dma_buf *, struct dma_buf_attachment *);\n\tvoid (*detach)(struct dma_buf *, struct dma_buf_attachment *);\n\tint (*pin)(struct dma_buf_attachment *);\n\tvoid (*unpin)(struct dma_buf_attachment *);\n\tstruct sg_table * (*map_dma_buf)(struct dma_buf_attachment *, enum dma_data_direction);\n\tvoid (*unmap_dma_buf)(struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction);\n\tvoid (*release)(struct dma_buf *);\n\tint (*begin_cpu_access)(struct dma_buf *, enum dma_data_direction);\n\tint (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);\n\tint (*mmap)(struct dma_buf *, struct vm_area_struct *);\n\tint (*vmap)(struct dma_buf *, struct iosys_map *);\n\tvoid (*vunmap)(struct dma_buf *, struct iosys_map *);\n};\n\nstruct dma_buf_sync {\n\t__u64 flags;\n};\n\nstruct dma_device;\n\nstruct dma_chan_dev;\n\nstruct dma_chan_percpu;\n\nstruct dma_router;\n\nstruct dma_chan {\n\tstruct dma_device *device;\n\tstruct device *slave;\n\tdma_cookie_t cookie;\n\tdma_cookie_t completed_cookie;\n\tint chan_id;\n\tstruct dma_chan_dev *dev;\n\tconst char *name;\n\tchar *dbg_client_name;\n\tstruct list_head device_node;\n\tstruct dma_chan_percpu *local;\n\tint client_count;\n\tint table_count;\n\tstruct dma_router *router;\n\tvoid *route_data;\n\tvoid *private;\n};\n\nstruct dma_chan_dev {\n\tstruct dma_chan *chan;\n\tstruct device device;\n\tint dev_id;\n\tbool chan_dma_dev;\n};\n\nstruct dma_chan_percpu {\n\tlong unsigned int memcpy_count;\n\tlong unsigned int bytes_transferred;\n};\n\nstruct dma_chan_tbl_ent {\n\tstruct dma_chan *chan;\n};\n\nstruct dma_coherent_mem {\n\tvoid *virt_base;\n\tdma_addr_t device_base;\n\tlong unsigned int pfn_base;\n\tint size;\n\tlong unsigned int *bitmap;\n\tspinlock_t spinlock;\n\tbool use_dev_dma_pfn_offset;\n};\n\nstruct dma_desc {\n\t__le32 des0;\n\t__le32 des1;\n\t__le32 des2;\n\t__le32 des3;\n};\n\nstruct dma_descriptor_metadata_ops {\n\tint (*attach)(struct dma_async_tx_descriptor *, void *, size_t);\n\tvoid * (*get_ptr)(struct dma_async_tx_descriptor *, size_t *, size_t *);\n\tint (*set_len)(struct dma_async_tx_descriptor *, size_t);\n};\n\nstruct dma_slave_map;\n\nstruct dma_filter {\n\tdma_filter_fn fn;\n\tint mapcnt;\n\tconst struct dma_slave_map *map;\n};\n\nstruct dma_vec;\n\nstruct dma_interleaved_template;\n\nstruct dma_slave_caps;\n\nstruct dma_slave_config;\n\nstruct dma_tx_state;\n\nstruct dma_device {\n\tstruct kref ref;\n\tunsigned int chancnt;\n\tunsigned int privatecnt;\n\tstruct list_head channels;\n\tstruct list_head global_node;\n\tstruct dma_filter filter;\n\tdma_cap_mask_t cap_mask;\n\tenum dma_desc_metadata_mode desc_metadata_modes;\n\tshort unsigned int max_xor;\n\tshort unsigned int max_pq;\n\tenum dmaengine_alignment copy_align;\n\tenum dmaengine_alignment xor_align;\n\tenum dmaengine_alignment pq_align;\n\tenum dmaengine_alignment fill_align;\n\tint dev_id;\n\tstruct device *dev;\n\tstruct module *owner;\n\tstruct ida chan_ida;\n\tu32 src_addr_widths;\n\tu32 dst_addr_widths;\n\tu32 directions;\n\tu32 min_burst;\n\tu32 max_burst;\n\tu32 max_sg_burst;\n\tbool descriptor_reuse;\n\tenum dma_residue_granularity residue_granularity;\n\tint (*device_alloc_chan_resources)(struct dma_chan *);\n\tint (*device_router_config)(struct dma_chan *);\n\tvoid (*device_free_chan_resources)(struct dma_chan *);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memcpy)(struct dma_chan *, dma_addr_t, dma_addr_t, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_xor)(struct dma_chan *, dma_addr_t, dma_addr_t *, unsigned int, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_xor_val)(struct dma_chan *, dma_addr_t *, unsigned int, size_t, enum sum_check_flags *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_pq)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_pq_val)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, enum sum_check_flags *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memset)(struct dma_chan *, dma_addr_t, int, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memset_sg)(struct dma_chan *, struct scatterlist *, unsigned int, int, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_interrupt)(struct dma_chan *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_peripheral_dma_vec)(struct dma_chan *, const struct dma_vec *, size_t, enum dma_transfer_direction, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_slave_sg)(struct dma_chan *, struct scatterlist *, unsigned int, enum dma_transfer_direction, long unsigned int, void *);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_cyclic)(struct dma_chan *, dma_addr_t, size_t, size_t, enum dma_transfer_direction, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_interleaved_dma)(struct dma_chan *, struct dma_interleaved_template *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_imm_data)(struct dma_chan *, dma_addr_t, u64, long unsigned int);\n\tvoid (*device_caps)(struct dma_chan *, struct dma_slave_caps *);\n\tint (*device_config)(struct dma_chan *, struct dma_slave_config *);\n\tint (*device_pause)(struct dma_chan *);\n\tint (*device_resume)(struct dma_chan *);\n\tint (*device_terminate_all)(struct dma_chan *);\n\tvoid (*device_synchronize)(struct dma_chan *);\n\tenum dma_status (*device_tx_status)(struct dma_chan *, dma_cookie_t, struct dma_tx_state *);\n\tvoid (*device_issue_pending)(struct dma_chan *);\n\tvoid (*device_release)(struct dma_device *);\n\tvoid (*dbg_summary_show)(struct seq_file *, struct dma_device *);\n\tstruct dentry *dbg_dev_root;\n};\n\nstruct dma_devres {\n\tsize_t size;\n\tvoid *vaddr;\n\tdma_addr_t dma_handle;\n\tlong unsigned int attrs;\n};\n\nstruct dma_edesc {\n\t__le32 des4;\n\t__le32 des5;\n\t__le32 des6;\n\t__le32 des7;\n\tstruct dma_desc basic;\n};\n\nstruct dma_extended_desc {\n\tstruct dma_desc basic;\n\t__le32 des4;\n\t__le32 des5;\n\t__le32 des6;\n\t__le32 des7;\n};\n\nstruct dma_features {\n\tunsigned int mbps_10_100;\n\tunsigned int mbps_1000;\n\tunsigned int half_duplex;\n\tunsigned int hash_filter;\n\tunsigned int multi_addr;\n\tunsigned int pcs;\n\tunsigned int sma_mdio;\n\tunsigned int pmt_remote_wake_up;\n\tunsigned int pmt_magic_frame;\n\tunsigned int rmon;\n\tunsigned int time_stamp;\n\tunsigned int atime_stamp;\n\tunsigned int eee;\n\tunsigned int av;\n\tunsigned int hash_tb_sz;\n\tunsigned int tsoen;\n\tunsigned int tx_coe;\n\tunsigned int rx_coe;\n\tunsigned int rx_coe_type1;\n\tunsigned int rx_coe_type2;\n\tunsigned int rxfifo_over_2048;\n\tunsigned int number_rx_channel;\n\tunsigned int number_tx_channel;\n\tunsigned int number_rx_queues;\n\tunsigned int number_tx_queues;\n\tunsigned int pps_out_num;\n\tunsigned int numtc;\n\tunsigned int dcben;\n\tunsigned int advthword;\n\tunsigned int ptoen;\n\tunsigned int osten;\n\tunsigned int pfcen;\n\tunsigned int enh_desc;\n\tunsigned int tx_fifo_size;\n\tunsigned int rx_fifo_size;\n\tunsigned int asp;\n\tunsigned int frpsel;\n\tunsigned int frpbs;\n\tunsigned int frpes;\n\tunsigned int addr64;\n\tunsigned int host_dma_width;\n\tunsigned int rssen;\n\tunsigned int vlhash;\n\tunsigned int sphen;\n\tunsigned int vlins;\n\tunsigned int dvlan;\n\tunsigned int l3l4fnum;\n\tunsigned int arpoffsel;\n\tunsigned int pou_ost_en;\n\tunsigned int ttsfd;\n\tunsigned int cbtisel;\n\tunsigned int frppipe_num;\n\tunsigned int nrvf_num;\n\tunsigned int estwid;\n\tunsigned int estdep;\n\tunsigned int estsel;\n\tunsigned int fpesel;\n\tunsigned int tbssel;\n\tunsigned int tbs_ch_num;\n\tunsigned int sgfsel;\n\tunsigned int aux_snapshot_n;\n\tunsigned int tssrc;\n\tunsigned int edma;\n\tunsigned int ediffc;\n\tunsigned int vxn;\n\tunsigned int dbgmem;\n\tunsigned int pcsel;\n};\n\nstruct dma_fence_ops;\n\nstruct dma_fence {\n\tspinlock_t *lock;\n\tconst struct dma_fence_ops *ops;\n\tunion {\n\t\tstruct list_head cb_list;\n\t\tktime_t timestamp;\n\t\tstruct callback_head rcu;\n\t};\n\tu64 context;\n\tu64 seqno;\n\tlong unsigned int flags;\n\tstruct kref refcount;\n\tint error;\n};\n\nstruct dma_fence_array;\n\nstruct dma_fence_array_cb {\n\tstruct dma_fence_cb cb;\n\tstruct dma_fence_array *array;\n};\n\nstruct dma_fence_array {\n\tstruct dma_fence base;\n\tspinlock_t lock;\n\tunsigned int num_fences;\n\tatomic_t num_pending;\n\tstruct dma_fence **fences;\n\tstruct irq_work work;\n\tstruct dma_fence_array_cb callbacks[0];\n};\n\nstruct dma_fence_chain {\n\tstruct dma_fence base;\n\tstruct dma_fence *prev;\n\tu64 prev_seqno;\n\tstruct dma_fence *fence;\n\tunion {\n\t\tstruct dma_fence_cb cb;\n\t\tstruct irq_work work;\n\t};\n\tspinlock_t lock;\n};\n\nstruct dma_fence_ops {\n\tbool use_64bit_seqno;\n\tconst char * (*get_driver_name)(struct dma_fence *);\n\tconst char * (*get_timeline_name)(struct dma_fence *);\n\tbool (*enable_signaling)(struct dma_fence *);\n\tbool (*signaled)(struct dma_fence *);\n\tlong int (*wait)(struct dma_fence *, bool, long int);\n\tvoid (*release)(struct dma_fence *);\n\tvoid (*fence_value_str)(struct dma_fence *, char *, int);\n\tvoid (*timeline_value_str)(struct dma_fence *, char *, int);\n\tvoid (*set_deadline)(struct dma_fence *, ktime_t);\n};\n\nstruct dma_fence_unwrap {\n\tstruct dma_fence *chain;\n\tstruct dma_fence *array;\n\tunsigned int index;\n};\n\nstruct dma_heap_ops;\n\nstruct dma_heap {\n\tconst char *name;\n\tconst struct dma_heap_ops *ops;\n\tvoid *priv;\n\tdev_t heap_devt;\n\tstruct list_head list;\n\tstruct cdev heap_cdev;\n};\n\nstruct dma_heap_allocation_data {\n\t__u64 len;\n\t__u32 fd;\n\t__u32 fd_flags;\n\t__u64 heap_flags;\n};\n\nstruct dma_heap_attachment {\n\tstruct device *dev;\n\tstruct sg_table *table;\n\tstruct list_head list;\n\tbool mapped;\n};\n\nstruct sg_table {\n\tstruct scatterlist *sgl;\n\tunsigned int nents;\n\tunsigned int orig_nents;\n};\n\nstruct dma_heap_attachment___2 {\n\tstruct device *dev;\n\tstruct sg_table table;\n\tstruct list_head list;\n\tbool mapped;\n};\n\nstruct dma_heap_export_info {\n\tconst char *name;\n\tconst struct dma_heap_ops *ops;\n\tvoid *priv;\n};\n\nstruct dma_heap_ops {\n\tstruct dma_buf * (*allocate)(struct dma_heap *, long unsigned int, u32, u64);\n};\n\nstruct dma_interleaved_template {\n\tdma_addr_t src_start;\n\tdma_addr_t dst_start;\n\tenum dma_transfer_direction dir;\n\tbool src_inc;\n\tbool dst_inc;\n\tbool src_sgl;\n\tbool dst_sgl;\n\tsize_t numf;\n\tsize_t frame_size;\n\tstruct data_chunk sgl[0];\n};\n\nstruct dma_map_ops {\n\tvoid * (*alloc)(struct device *, size_t, dma_addr_t *, gfp_t, long unsigned int);\n\tvoid (*free)(struct device *, size_t, void *, dma_addr_t, long unsigned int);\n\tstruct page * (*alloc_pages_op)(struct device *, size_t, dma_addr_t *, enum dma_data_direction, gfp_t);\n\tvoid (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction);\n\tint (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int);\n\tint (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int);\n\tdma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tint (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\tdma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\tvoid (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\tvoid (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction);\n\tvoid (*sync_sg_for_device)(struct device *, struct scatterlist *, int, enum dma_data_direction);\n\tvoid (*cache_sync)(struct device *, void *, size_t, enum dma_data_direction);\n\tint (*dma_supported)(struct device *, u64);\n\tu64 (*get_required_mask)(struct device *);\n\tsize_t (*max_mapping_size)(struct device *);\n\tsize_t (*opt_mapping_size)(void);\n\tlong unsigned int (*get_merge_boundary)(struct device *);\n};\n\nstruct dma_page {\n\tstruct list_head page_list;\n\tvoid *vaddr;\n\tdma_addr_t dma;\n};\n\nstruct dma_pool {\n\tstruct list_head page_list;\n\tspinlock_t lock;\n\tstruct dma_block *next_block;\n\tsize_t nr_blocks;\n\tsize_t nr_active;\n\tsize_t nr_pages;\n\tstruct device *dev;\n\tunsigned int size;\n\tunsigned int allocation;\n\tunsigned int boundary;\n\tchar name[32];\n\tstruct list_head pools;\n};\n\nstruct dma_resv_list;\n\nstruct dma_resv {\n\tstruct ww_mutex lock;\n\tstruct dma_resv_list *fences;\n};\n\nstruct dma_resv_iter {\n\tstruct dma_resv *obj;\n\tenum dma_resv_usage usage;\n\tstruct dma_fence *fence;\n\tenum dma_resv_usage fence_usage;\n\tunsigned int index;\n\tstruct dma_resv_list *fences;\n\tunsigned int num_fences;\n\tbool is_restarted;\n};\n\nstruct dma_resv_list {\n\tstruct callback_head rcu;\n\tu32 num_fences;\n\tu32 max_fences;\n\tstruct dma_fence *table[0];\n};\n\nstruct dma_router {\n\tstruct device *dev;\n\tvoid (*route_free)(struct device *, void *);\n};\n\nstruct dma_slave_caps {\n\tu32 src_addr_widths;\n\tu32 dst_addr_widths;\n\tu32 directions;\n\tu32 min_burst;\n\tu32 max_burst;\n\tu32 max_sg_burst;\n\tbool cmd_pause;\n\tbool cmd_resume;\n\tbool cmd_terminate;\n\tenum dma_residue_granularity residue_granularity;\n\tbool descriptor_reuse;\n};\n\nstruct dma_slave_config {\n\tenum dma_transfer_direction direction;\n\tphys_addr_t src_addr;\n\tphys_addr_t dst_addr;\n\tenum dma_slave_buswidth src_addr_width;\n\tenum dma_slave_buswidth dst_addr_width;\n\tu32 src_maxburst;\n\tu32 dst_maxburst;\n\tu32 src_port_window_size;\n\tu32 dst_port_window_size;\n\tbool device_fc;\n\tvoid *peripheral_config;\n\tsize_t peripheral_size;\n};\n\nstruct dma_slave_map {\n\tconst char *devname;\n\tconst char *slave;\n\tvoid *param;\n};\n\nstruct dma_tx_state {\n\tdma_cookie_t last;\n\tdma_cookie_t used;\n\tu32 residue;\n\tu32 in_flight_bytes;\n};\n\nstruct dma_vec {\n\tdma_addr_t addr;\n\tsize_t len;\n};\n\nstruct dmabuf_cmsg {\n\t__u64 frag_offset;\n\t__u32 frag_size;\n\t__u32 frag_token;\n\t__u32 dmabuf_id;\n\t__u32 flags;\n};\n\nstruct net_iov;\n\nstruct net_devmem_dmabuf_binding;\n\nstruct dmabuf_genpool_chunk_owner {\n\tlong unsigned int base_virtual;\n\tdma_addr_t base_dma_addr;\n\tstruct net_iov *niovs;\n\tsize_t num_niovs;\n\tstruct net_devmem_dmabuf_binding *binding;\n};\n\nstruct dmabuf_token {\n\t__u32 token_start;\n\t__u32 token_count;\n};\n\nstruct dmaengine_desc_callback {\n\tdma_async_tx_callback callback;\n\tdma_async_tx_callback_result callback_result;\n\tvoid *callback_param;\n};\n\nstruct dmaengine_result {\n\tenum dmaengine_tx_result result;\n\tu32 residue;\n};\n\nstruct dmaengine_unmap_data {\n\tu8 map_cnt;\n\tu8 to_cnt;\n\tu8 from_cnt;\n\tu8 bidi_cnt;\n\tstruct device *dev;\n\tstruct kref kref;\n\tsize_t len;\n\tdma_addr_t addr[0];\n};\n\nstruct dmaengine_unmap_pool {\n\tstruct kmem_cache *cache;\n\tconst char *name;\n\tmempool_t *pool;\n\tsize_t size;\n};\n\nstruct dmi_device {\n\tstruct list_head list;\n\tint type;\n\tconst char *name;\n\tvoid *device_data;\n};\n\nstruct dmi_dev_onboard {\n\tstruct dmi_device dev;\n\tint instance;\n\tint segment;\n\tint bus;\n\tint devfn;\n};\n\nstruct dmi_device_attribute {\n\tstruct device_attribute dev_attr;\n\tint field;\n};\n\nstruct dmi_header {\n\tu8 type;\n\tu8 length;\n\tu16 handle;\n};\n\nstruct dmi_memdev_info {\n\tconst char *device;\n\tconst char *bank;\n\tu64 size;\n\tu16 handle;\n\tu8 type;\n};\n\nstruct dmi_strmatch {\n\tunsigned char slot: 7;\n\tunsigned char exact_match: 1;\n\tchar substr[79];\n};\n\nstruct dmi_system_id {\n\tint (*callback)(const struct dmi_system_id *);\n\tconst char *ident;\n\tstruct dmi_strmatch matches[4];\n\tvoid *driver_data;\n};\n\nstruct fb_videomode;\n\nstruct dmt_videomode {\n\tu32 dmt_id;\n\tu32 std_2byte_code;\n\tu32 cvt_3byte_code;\n\tconst struct fb_videomode *mode;\n};\n\nstruct dnotify_struct;\n\nstruct dnotify_mark {\n\tstruct fsnotify_mark fsn_mark;\n\tstruct dnotify_struct *dn;\n};\n\ntypedef void *fl_owner_t;\n\nstruct dnotify_struct {\n\tstruct dnotify_struct *dn_next;\n\t__u32 dn_mask;\n\tint dn_fd;\n\tstruct file *dn_filp;\n\tfl_owner_t dn_owner;\n};\n\nstruct dns_payload_header {\n\t__u8 zero;\n\t__u8 content;\n\t__u8 version;\n};\n\nstruct dns_server_list_v1_header {\n\tstruct dns_payload_header hdr;\n\t__u8 source;\n\t__u8 status;\n\t__u8 nr_servers;\n};\n\nstruct do_proc_dointvec_minmax_conv_param {\n\tint *min;\n\tint *max;\n};\n\nstruct do_proc_douintvec_minmax_conv_param {\n\tunsigned int *min;\n\tunsigned int *max;\n};\n\nstruct dock_dependent_device {\n\tstruct list_head list;\n\tstruct acpi_device *adev;\n};\n\nstruct dock_station {\n\tacpi_handle handle;\n\tlong unsigned int last_dock_time;\n\tu32 flags;\n\tstruct list_head dependent_devices;\n\tstruct list_head sibling;\n\tstruct platform_device *dock_device;\n};\n\nstruct domainIdentSuffix {\n\t__le16 UDFRevision;\n\tuint8_t domainFlags;\n\tuint8_t reserved[5];\n};\n\nstruct ex_phy;\n\nstruct expander_device {\n\tstruct list_head children;\n\tint ex_change_count;\n\tu16 max_route_indexes;\n\tu8 num_phys;\n\tu8 t2t_supp: 1;\n\tu8 configuring: 1;\n\tu8 conf_route_table: 1;\n\tu8 enclosure_logical_id[8];\n\tstruct ex_phy *ex_phy;\n\tstruct sas_port *parent_port;\n\tstruct mutex cmd_mutex;\n};\n\nstruct report_phy_sata_resp {\n\tu8 _r_a[5];\n\tu8 phy_id;\n\tu8 _r_b;\n\tu8 affil_valid: 1;\n\tu8 affil_supp: 1;\n\tu8 _r_c: 6;\n\tu32 _r_d;\n\tu8 stp_sas_addr[8];\n\tstruct dev_to_host_fis fis;\n\tu32 _r_e;\n\tu8 affil_stp_ini_addr[8];\n\t__be32 crc;\n};\n\nstruct smp_rps_resp {\n\tu8 frame_type;\n\tu8 function;\n\tu8 result;\n\tu8 reserved;\n\tstruct report_phy_sata_resp rps;\n};\n\nstruct sata_device {\n\tunsigned int class;\n\tu8 port_no;\n\tstruct ata_port *ap;\n\tstruct ata_host *ata_host;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct smp_rps_resp rps_resp;\n\tu8 fis[24];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct scsi_lun {\n\t__u8 scsi_lun[8];\n};\n\nstruct ssp_device {\n\tstruct list_head eh_list_node;\n\tstruct scsi_lun reset_lun;\n};\n\nstruct domain_device {\n\tspinlock_t done_lock;\n\tenum sas_device_type dev_type;\n\tenum sas_linkrate linkrate;\n\tenum sas_linkrate min_linkrate;\n\tenum sas_linkrate max_linkrate;\n\tint pathways;\n\tstruct domain_device *parent;\n\tstruct list_head siblings;\n\tstruct asd_sas_port *port;\n\tstruct sas_phy *phy;\n\tstruct list_head dev_list_node;\n\tstruct list_head disco_list_node;\n\tenum sas_protocol iproto;\n\tenum sas_protocol tproto;\n\tstruct sas_rphy *rphy;\n\tu8 sas_addr[8];\n\tu8 hashed_sas_addr[3];\n\tu8 frame_rcvd[32];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunion {\n\t\tstruct expander_device ex_dev;\n\t\tstruct sata_device sata_dev;\n\t\tstruct ssp_device ssp_dev;\n\t};\n\tvoid *lldd_dev;\n\tlong unsigned int state;\n\tstruct kref kref;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct dotl_iattr_map {\n\tint iattr_valid;\n\tint p9_iattr_valid;\n};\n\nstruct dotl_openflag_map {\n\tint open_flag;\n\tint dotl_flag;\n};\n\nstruct double_list {\n\tstruct list_head *top;\n\tstruct list_head *bottom;\n};\n\nstruct dp_sdp_header {\n\tu8 HB0;\n\tu8 HB1;\n\tu8 HB2;\n\tu8 HB3;\n};\n\nstruct dp_sdp {\n\tstruct dp_sdp_header sdp_header;\n\tu8 db[32];\n};\n\nstruct dpages {\n\tvoid (*get_page)(struct dpages *, struct page **, long unsigned int *, unsigned int *);\n\tvoid (*next_page)(struct dpages *);\n\tunion {\n\t\tunsigned int context_u;\n\t\tstruct bvec_iter context_bi;\n\t};\n\tvoid *context_ptr;\n\tvoid *vma_invalidate_address;\n\tlong unsigned int vma_invalidate_size;\n};\n\nstruct dql {\n\tunsigned int num_queued;\n\tunsigned int adj_limit;\n\tunsigned int last_obj_cnt;\n\tshort unsigned int stall_thrs;\n\tlong unsigned int history_head;\n\tlong unsigned int history[4];\n\tlong: 64;\n\tunsigned int limit;\n\tunsigned int num_completed;\n\tunsigned int prev_ovlimit;\n\tunsigned int prev_num_queued;\n\tunsigned int prev_last_obj_cnt;\n\tunsigned int lowest_slack;\n\tlong unsigned int slack_start_time;\n\tunsigned int max_limit;\n\tunsigned int min_limit;\n\tunsigned int slack_hold_time;\n\tshort unsigned int stall_max;\n\tlong unsigned int last_reap;\n\tlong unsigned int stall_cnt;\n};\n\nstruct dqstats {\n\tlong unsigned int stat[8];\n\tstruct percpu_counter counter[8];\n};\n\nstruct kqid {\n\tunion {\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t\tkprojid_t projid;\n\t};\n\tenum quota_type type;\n};\n\nstruct mem_dqblk {\n\tqsize_t dqb_bhardlimit;\n\tqsize_t dqb_bsoftlimit;\n\tqsize_t dqb_curspace;\n\tqsize_t dqb_rsvspace;\n\tqsize_t dqb_ihardlimit;\n\tqsize_t dqb_isoftlimit;\n\tqsize_t dqb_curinodes;\n\ttime64_t dqb_btime;\n\ttime64_t dqb_itime;\n};\n\nstruct dquot {\n\tstruct hlist_node dq_hash;\n\tstruct list_head dq_inuse;\n\tstruct list_head dq_free;\n\tstruct list_head dq_dirty;\n\tstruct mutex dq_lock;\n\tspinlock_t dq_dqb_lock;\n\tatomic_t dq_count;\n\tstruct super_block *dq_sb;\n\tstruct kqid dq_id;\n\tloff_t dq_off;\n\tlong unsigned int dq_flags;\n\tstruct mem_dqblk dq_dqb;\n};\n\nstruct dquot_operations {\n\tint (*write_dquot)(struct dquot *);\n\tstruct dquot * (*alloc_dquot)(struct super_block *, int);\n\tvoid (*destroy_dquot)(struct dquot *);\n\tint (*acquire_dquot)(struct dquot *);\n\tint (*release_dquot)(struct dquot *);\n\tint (*mark_dirty)(struct dquot *);\n\tint (*write_info)(struct super_block *, int);\n\tqsize_t * (*get_reserved_space)(struct inode *);\n\tint (*get_projid)(struct inode *, kprojid_t *);\n\tint (*get_inode_usage)(struct inode *, qsize_t *);\n\tint (*get_next_id)(struct super_block *, struct kqid *);\n};\n\nstruct dquot_warn {\n\tstruct super_block *w_sb;\n\tstruct kqid w_dq_id;\n\tshort int w_type;\n};\n\nstruct drbg_string {\n\tconst unsigned char *buf;\n\tsize_t len;\n\tstruct list_head list;\n};\n\nstruct drbg_test_data {\n\tstruct drbg_string *testentropy;\n};\n\nstruct drbg_testvec {\n\tconst unsigned char *entropy;\n\tsize_t entropylen;\n\tconst unsigned char *entpra;\n\tconst unsigned char *entprb;\n\tsize_t entprlen;\n\tconst unsigned char *addtla;\n\tconst unsigned char *addtlb;\n\tsize_t addtllen;\n\tconst unsigned char *pers;\n\tsize_t perslen;\n\tconst unsigned char *expected;\n\tsize_t expectedlen;\n};\n\nstruct driver_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct device_driver *, char *);\n\tssize_t (*store)(struct device_driver *, const char *, size_t);\n};\n\nstruct module_kobject;\n\nstruct driver_private {\n\tstruct kobject kobj;\n\tstruct klist klist_devices;\n\tstruct klist_node knode_bus;\n\tstruct module_kobject *mkobj;\n\tstruct device_driver *driver;\n};\n\nstruct drm_framebuffer_funcs;\n\nstruct drm_gem_object;\n\nstruct drm_framebuffer {\n\tstruct drm_device *dev;\n\tstruct list_head head;\n\tstruct drm_mode_object base;\n\tchar comm[16];\n\tconst struct drm_format_info *format;\n\tconst struct drm_framebuffer_funcs *funcs;\n\tunsigned int pitches[4];\n\tunsigned int offsets[4];\n\tuint64_t modifier;\n\tunsigned int width;\n\tunsigned int height;\n\tint flags;\n\tstruct list_head filp_head;\n\tstruct drm_gem_object *obj[4];\n};\n\nstruct drm_afbc_framebuffer {\n\tstruct drm_framebuffer base;\n\tu32 block_width;\n\tu32 block_height;\n\tu32 aligned_width;\n\tu32 aligned_height;\n\tu32 offset;\n\tu32 afbc_size;\n};\n\nstruct drm_rect {\n\tint x1;\n\tint y1;\n\tint x2;\n\tint y2;\n};\n\nstruct drm_atomic_helper_damage_iter {\n\tstruct drm_rect plane_src;\n\tconst struct drm_rect *clips;\n\tuint32_t num_clips;\n\tuint32_t curr_clip;\n\tbool full_update;\n};\n\nstruct drm_atomic_state {\n\tstruct kref ref;\n\tstruct drm_device *dev;\n\tbool allow_modeset: 1;\n\tbool legacy_cursor_update: 1;\n\tbool async_update: 1;\n\tbool duplicated: 1;\n\tstruct __drm_planes_state *planes;\n\tstruct __drm_crtcs_state *crtcs;\n\tint num_connector;\n\tstruct __drm_connnectors_state *connectors;\n\tint num_private_objs;\n\tstruct __drm_private_objs_state *private_objs;\n\tstruct drm_modeset_acquire_ctx *acquire_ctx;\n\tstruct drm_crtc_commit *fake_commit;\n\tstruct work_struct commit_work;\n};\n\nstruct drm_audio_component_ops;\n\nstruct drm_audio_component_audio_ops;\n\nstruct drm_audio_component {\n\tstruct device *dev;\n\tconst struct drm_audio_component_ops *ops;\n\tconst struct drm_audio_component_audio_ops *audio_ops;\n\tstruct completion master_bind_complete;\n};\n\nstruct drm_audio_component_audio_ops {\n\tvoid *audio_ptr;\n\tvoid (*pin_eld_notify)(void *, int, int);\n\tint (*pin2port)(void *, int);\n\tint (*master_bind)(struct device *, struct drm_audio_component *);\n\tvoid (*master_unbind)(struct device *, struct drm_audio_component *);\n};\n\nstruct drm_audio_component_ops {\n\tstruct module *owner;\n\tlong unsigned int (*get_power)(struct device *);\n\tvoid (*put_power)(struct device *, long unsigned int);\n\tvoid (*codec_wake_override)(struct device *, bool);\n\tint (*get_cdclk_freq)(struct device *);\n\tint (*sync_audio_rate)(struct device *, int, int, int);\n\tint (*get_eld)(struct device *, int, int, bool *, unsigned char *, int);\n};\n\nstruct drm_auth {\n\tdrm_magic_t magic;\n};\n\nstruct drm_private_state_funcs;\n\nstruct drm_private_obj {\n\tstruct list_head head;\n\tstruct drm_modeset_lock lock;\n\tstruct drm_private_state *state;\n\tconst struct drm_private_state_funcs *funcs;\n};\n\nstruct drm_bridge_timings;\n\nstruct drm_bridge_funcs;\n\nstruct drm_bridge {\n\tstruct drm_private_obj base;\n\tstruct drm_device *dev;\n\tstruct drm_encoder *encoder;\n\tstruct list_head chain_node;\n\tstruct device_node *of_node;\n\tstruct list_head list;\n\tconst struct drm_bridge_timings *timings;\n\tconst struct drm_bridge_funcs *funcs;\n\tvoid *driver_private;\n\tenum drm_bridge_ops ops;\n\tint type;\n\tbool interlace_allowed;\n\tbool ycbcr_420_allowed;\n\tbool pre_enable_prev_first;\n\tstruct i2c_adapter *ddc;\n\tstruct mutex hpd_mutex;\n\tvoid (*hpd_cb)(void *, enum drm_connector_status);\n\tvoid *hpd_data;\n\tconst char *vendor;\n\tconst char *product;\n\tunsigned int supported_formats;\n\tunsigned int max_bpc;\n\tstruct device *hdmi_audio_dev;\n\tint hdmi_audio_max_i2s_playback_channels;\n\tunsigned int hdmi_audio_spdif_playback: 1;\n\tint hdmi_audio_dai_port;\n};\n\nstruct hdmi_codec_daifmt;\n\nstruct hdmi_codec_params;\n\nstruct drm_bridge_state;\n\nstruct drm_bridge_funcs {\n\tint (*attach)(struct drm_bridge *, enum drm_bridge_attach_flags);\n\tvoid (*detach)(struct drm_bridge *);\n\tenum drm_mode_status (*mode_valid)(struct drm_bridge *, const struct drm_display_info *, const struct drm_display_mode *);\n\tbool (*mode_fixup)(struct drm_bridge *, const struct drm_display_mode *, struct drm_display_mode *);\n\tvoid (*disable)(struct drm_bridge *);\n\tvoid (*post_disable)(struct drm_bridge *);\n\tvoid (*mode_set)(struct drm_bridge *, const struct drm_display_mode *, const struct drm_display_mode *);\n\tvoid (*pre_enable)(struct drm_bridge *);\n\tvoid (*enable)(struct drm_bridge *);\n\tvoid (*atomic_pre_enable)(struct drm_bridge *, struct drm_bridge_state *);\n\tvoid (*atomic_enable)(struct drm_bridge *, struct drm_bridge_state *);\n\tvoid (*atomic_disable)(struct drm_bridge *, struct drm_bridge_state *);\n\tvoid (*atomic_post_disable)(struct drm_bridge *, struct drm_bridge_state *);\n\tstruct drm_bridge_state * (*atomic_duplicate_state)(struct drm_bridge *);\n\tvoid (*atomic_destroy_state)(struct drm_bridge *, struct drm_bridge_state *);\n\tu32 * (*atomic_get_output_bus_fmts)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, unsigned int *);\n\tu32 * (*atomic_get_input_bus_fmts)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, u32, unsigned int *);\n\tint (*atomic_check)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *);\n\tstruct drm_bridge_state * (*atomic_reset)(struct drm_bridge *);\n\tenum drm_connector_status (*detect)(struct drm_bridge *);\n\tint (*get_modes)(struct drm_bridge *, struct drm_connector *);\n\tconst struct drm_edid * (*edid_read)(struct drm_bridge *, struct drm_connector *);\n\tvoid (*hpd_notify)(struct drm_bridge *, enum drm_connector_status);\n\tvoid (*hpd_enable)(struct drm_bridge *);\n\tvoid (*hpd_disable)(struct drm_bridge *);\n\tenum drm_mode_status (*hdmi_tmds_char_rate_valid)(const struct drm_bridge *, const struct drm_display_mode *, long long unsigned int);\n\tint (*hdmi_clear_infoframe)(struct drm_bridge *, enum hdmi_infoframe_type);\n\tint (*hdmi_write_infoframe)(struct drm_bridge *, enum hdmi_infoframe_type, const u8 *, size_t);\n\tint (*hdmi_audio_startup)(struct drm_connector *, struct drm_bridge *);\n\tint (*hdmi_audio_prepare)(struct drm_connector *, struct drm_bridge *, struct hdmi_codec_daifmt *, struct hdmi_codec_params *);\n\tvoid (*hdmi_audio_shutdown)(struct drm_connector *, struct drm_bridge *);\n\tint (*hdmi_audio_mute_stream)(struct drm_connector *, struct drm_bridge *, bool, int);\n\tvoid (*debugfs_init)(struct drm_bridge *, struct dentry *);\n};\n\nstruct drm_private_state {\n\tstruct drm_atomic_state *state;\n\tstruct drm_private_obj *obj;\n};\n\nstruct drm_bus_cfg {\n\tu32 format;\n\tu32 flags;\n};\n\nstruct drm_bridge_state {\n\tstruct drm_private_state base;\n\tstruct drm_bridge *bridge;\n\tstruct drm_bus_cfg input_bus_cfg;\n\tstruct drm_bus_cfg output_bus_cfg;\n};\n\nstruct drm_bridge_timings {\n\tu32 input_bus_flags;\n\tu32 setup_time_ps;\n\tu32 hold_time_ps;\n\tbool dual_link;\n};\n\nstruct drm_client {\n\tint idx;\n\tint auth;\n\tlong unsigned int pid;\n\tlong unsigned int uid;\n\tlong unsigned int magic;\n\tlong unsigned int iocs;\n};\n\nstruct drm_client_dev;\n\nstruct drm_client_buffer {\n\tstruct drm_client_dev *client;\n\tu32 pitch;\n\tstruct drm_gem_object *gem;\n\tstruct iosys_map map;\n\tstruct drm_framebuffer *fb;\n};\n\nstruct drm_client_funcs;\n\nstruct drm_file;\n\nstruct drm_mode_set;\n\nstruct drm_client_dev {\n\tstruct drm_device *dev;\n\tconst char *name;\n\tstruct list_head list;\n\tconst struct drm_client_funcs *funcs;\n\tstruct drm_file *file;\n\tstruct mutex modeset_mutex;\n\tstruct drm_mode_set *modesets;\n\tbool suspended;\n\tbool hotplug_failed;\n};\n\nstruct drm_client_funcs {\n\tstruct module *owner;\n\tvoid (*unregister)(struct drm_client_dev *);\n\tint (*restore)(struct drm_client_dev *);\n\tint (*hotplug)(struct drm_client_dev *);\n\tint (*suspend)(struct drm_client_dev *, bool);\n\tint (*resume)(struct drm_client_dev *, bool);\n};\n\nstruct drm_client_offset {\n\tint x;\n\tint y;\n};\n\nstruct drm_clip_rect {\n\tshort unsigned int x1;\n\tshort unsigned int y1;\n\tshort unsigned int x2;\n\tshort unsigned int y2;\n};\n\nstruct drm_color_lut {\n\t__u16 red;\n\t__u16 green;\n\t__u16 blue;\n\t__u16 reserved;\n};\n\nstruct drm_conn_prop_enum_list {\n\tint type;\n\tconst char *name;\n\tstruct ida ida;\n};\n\nstruct drm_printer;\n\nstruct drm_connector_funcs {\n\tint (*dpms)(struct drm_connector *, int);\n\tvoid (*reset)(struct drm_connector *);\n\tenum drm_connector_status (*detect)(struct drm_connector *, bool);\n\tvoid (*force)(struct drm_connector *);\n\tint (*fill_modes)(struct drm_connector *, uint32_t, uint32_t);\n\tint (*set_property)(struct drm_connector *, struct drm_property *, uint64_t);\n\tint (*late_register)(struct drm_connector *);\n\tvoid (*early_unregister)(struct drm_connector *);\n\tvoid (*destroy)(struct drm_connector *);\n\tstruct drm_connector_state * (*atomic_duplicate_state)(struct drm_connector *);\n\tvoid (*atomic_destroy_state)(struct drm_connector *, struct drm_connector_state *);\n\tint (*atomic_set_property)(struct drm_connector *, struct drm_connector_state *, struct drm_property *, uint64_t);\n\tint (*atomic_get_property)(struct drm_connector *, const struct drm_connector_state *, struct drm_property *, uint64_t *);\n\tvoid (*atomic_print_state)(struct drm_printer *, const struct drm_connector_state *);\n\tvoid (*oob_hotplug_event)(struct drm_connector *, enum drm_connector_status);\n\tvoid (*debugfs_init)(struct drm_connector *, struct dentry *);\n};\n\nstruct drm_connector_hdmi_audio_funcs {\n\tint (*startup)(struct drm_connector *);\n\tint (*prepare)(struct drm_connector *, struct hdmi_codec_daifmt *, struct hdmi_codec_params *);\n\tvoid (*shutdown)(struct drm_connector *);\n\tint (*mute_stream)(struct drm_connector *, bool, int);\n};\n\nstruct drm_connector_hdmi_funcs {\n\tenum drm_mode_status (*tmds_char_rate_valid)(const struct drm_connector *, const struct drm_display_mode *, long long unsigned int);\n\tint (*clear_infoframe)(struct drm_connector *, enum hdmi_infoframe_type);\n\tint (*write_infoframe)(struct drm_connector *, enum hdmi_infoframe_type, const u8 *, size_t);\n\tconst struct drm_edid * (*read_edid)(struct drm_connector *);\n};\n\nstruct drm_connector_hdmi_state {\n\tenum drm_hdmi_broadcast_rgb broadcast_rgb;\n\tstruct {\n\t\tstruct drm_connector_hdmi_infoframe avi;\n\t\tstruct drm_connector_hdmi_infoframe hdr_drm;\n\t\tstruct drm_connector_hdmi_infoframe spd;\n\t\tstruct drm_connector_hdmi_infoframe hdmi;\n\t} infoframes;\n\tbool is_limited_range;\n\tunsigned int output_bpc;\n\tenum hdmi_colorspace output_format;\n\tlong long unsigned int tmds_char_rate;\n};\n\nstruct drm_writeback_connector;\n\nstruct drm_writeback_job;\n\nstruct drm_connector_helper_funcs {\n\tint (*get_modes)(struct drm_connector *);\n\tint (*detect_ctx)(struct drm_connector *, struct drm_modeset_acquire_ctx *, bool);\n\tenum drm_mode_status (*mode_valid)(struct drm_connector *, struct drm_display_mode *);\n\tint (*mode_valid_ctx)(struct drm_connector *, struct drm_display_mode *, struct drm_modeset_acquire_ctx *, enum drm_mode_status *);\n\tstruct drm_encoder * (*best_encoder)(struct drm_connector *);\n\tstruct drm_encoder * (*atomic_best_encoder)(struct drm_connector *, struct drm_atomic_state *);\n\tint (*atomic_check)(struct drm_connector *, struct drm_atomic_state *);\n\tvoid (*atomic_commit)(struct drm_connector *, struct drm_atomic_state *);\n\tint (*prepare_writeback_job)(struct drm_writeback_connector *, struct drm_writeback_job *);\n\tvoid (*cleanup_writeback_job)(struct drm_writeback_connector *, struct drm_writeback_job *);\n\tvoid (*enable_hpd)(struct drm_connector *);\n\tvoid (*disable_hpd)(struct drm_connector *);\n};\n\nstruct drm_connector_list_iter {\n\tstruct drm_device *dev;\n\tstruct drm_connector *conn;\n};\n\nstruct drm_tv_connector_state {\n\tenum drm_mode_subconnector select_subconnector;\n\tenum drm_mode_subconnector subconnector;\n\tstruct drm_connector_tv_margins margins;\n\tunsigned int legacy_mode;\n\tunsigned int mode;\n\tunsigned int brightness;\n\tunsigned int contrast;\n\tunsigned int flicker_reduction;\n\tunsigned int overscan;\n\tunsigned int saturation;\n\tunsigned int hue;\n};\n\nstruct drm_connector_state {\n\tstruct drm_connector *connector;\n\tstruct drm_crtc *crtc;\n\tstruct drm_encoder *best_encoder;\n\tenum drm_link_status link_status;\n\tstruct drm_atomic_state *state;\n\tstruct drm_crtc_commit *commit;\n\tstruct drm_tv_connector_state tv;\n\tbool self_refresh_aware;\n\tenum hdmi_picture_aspect picture_aspect_ratio;\n\tunsigned int content_type;\n\tunsigned int hdcp_content_type;\n\tunsigned int scaling_mode;\n\tunsigned int content_protection;\n\tenum drm_colorspace colorspace;\n\tstruct drm_writeback_job *writeback_job;\n\tu8 max_requested_bpc;\n\tu8 max_bpc;\n\tenum drm_privacy_screen_status privacy_screen_sw_state;\n\tstruct drm_property_blob *hdr_output_metadata;\n\tstruct drm_connector_hdmi_state hdmi;\n};\n\nstruct drm_crtc_commit {\n\tstruct drm_crtc *crtc;\n\tstruct kref ref;\n\tstruct completion flip_done;\n\tstruct completion hw_done;\n\tstruct completion cleanup_done;\n\tstruct list_head commit_entry;\n\tstruct drm_pending_vblank_event *event;\n\tbool abort_completion;\n};\n\nstruct drm_crtc_crc_entry {\n\tbool has_frame_counter;\n\tuint32_t frame;\n\tuint32_t crcs[10];\n};\n\nstruct drm_crtc_funcs {\n\tvoid (*reset)(struct drm_crtc *);\n\tint (*cursor_set)(struct drm_crtc *, struct drm_file *, uint32_t, uint32_t, uint32_t);\n\tint (*cursor_set2)(struct drm_crtc *, struct drm_file *, uint32_t, uint32_t, uint32_t, int32_t, int32_t);\n\tint (*cursor_move)(struct drm_crtc *, int, int);\n\tint (*gamma_set)(struct drm_crtc *, u16 *, u16 *, u16 *, uint32_t, struct drm_modeset_acquire_ctx *);\n\tvoid (*destroy)(struct drm_crtc *);\n\tint (*set_config)(struct drm_mode_set *, struct drm_modeset_acquire_ctx *);\n\tint (*page_flip)(struct drm_crtc *, struct drm_framebuffer *, struct drm_pending_vblank_event *, uint32_t, struct drm_modeset_acquire_ctx *);\n\tint (*page_flip_target)(struct drm_crtc *, struct drm_framebuffer *, struct drm_pending_vblank_event *, uint32_t, uint32_t, struct drm_modeset_acquire_ctx *);\n\tint (*set_property)(struct drm_crtc *, struct drm_property *, uint64_t);\n\tstruct drm_crtc_state * (*atomic_duplicate_state)(struct drm_crtc *);\n\tvoid (*atomic_destroy_state)(struct drm_crtc *, struct drm_crtc_state *);\n\tint (*atomic_set_property)(struct drm_crtc *, struct drm_crtc_state *, struct drm_property *, uint64_t);\n\tint (*atomic_get_property)(struct drm_crtc *, const struct drm_crtc_state *, struct drm_property *, uint64_t *);\n\tint (*late_register)(struct drm_crtc *);\n\tvoid (*early_unregister)(struct drm_crtc *);\n\tint (*set_crc_source)(struct drm_crtc *, const char *);\n\tint (*verify_crc_source)(struct drm_crtc *, const char *, size_t *);\n\tconst char * const * (*get_crc_sources)(struct drm_crtc *, size_t *);\n\tvoid (*atomic_print_state)(struct drm_printer *, const struct drm_crtc_state *);\n\tu32 (*get_vblank_counter)(struct drm_crtc *);\n\tint (*enable_vblank)(struct drm_crtc *);\n\tvoid (*disable_vblank)(struct drm_crtc *);\n\tbool (*get_vblank_timestamp)(struct drm_crtc *, int *, ktime_t *, bool);\n};\n\nstruct drm_crtc_get_sequence {\n\t__u32 crtc_id;\n\t__u32 active;\n\t__u64 sequence;\n\t__s64 sequence_ns;\n};\n\nstruct drm_crtc_helper_funcs {\n\tvoid (*dpms)(struct drm_crtc *, int);\n\tvoid (*prepare)(struct drm_crtc *);\n\tvoid (*commit)(struct drm_crtc *);\n\tenum drm_mode_status (*mode_valid)(struct drm_crtc *, const struct drm_display_mode *);\n\tbool (*mode_fixup)(struct drm_crtc *, const struct drm_display_mode *, struct drm_display_mode *);\n\tint (*mode_set)(struct drm_crtc *, struct drm_display_mode *, struct drm_display_mode *, int, int, struct drm_framebuffer *);\n\tvoid (*mode_set_nofb)(struct drm_crtc *);\n\tint (*mode_set_base)(struct drm_crtc *, int, int, struct drm_framebuffer *);\n\tint (*mode_set_base_atomic)(struct drm_crtc *, struct drm_framebuffer *, int, int, enum mode_set_atomic);\n\tvoid (*disable)(struct drm_crtc *);\n\tint (*atomic_check)(struct drm_crtc *, struct drm_atomic_state *);\n\tvoid (*atomic_begin)(struct drm_crtc *, struct drm_atomic_state *);\n\tvoid (*atomic_flush)(struct drm_crtc *, struct drm_atomic_state *);\n\tvoid (*atomic_enable)(struct drm_crtc *, struct drm_atomic_state *);\n\tvoid (*atomic_disable)(struct drm_crtc *, struct drm_atomic_state *);\n\tbool (*get_scanout_position)(struct drm_crtc *, bool, int *, int *, ktime_t *, ktime_t *, const struct drm_display_mode *);\n};\n\nstruct drm_crtc_queue_sequence {\n\t__u32 crtc_id;\n\t__u32 flags;\n\t__u64 sequence;\n\t__u64 user_data;\n};\n\nstruct drm_debugfs_info {\n\tconst char *name;\n\tint (*show)(struct seq_file *, void *);\n\tu32 driver_features;\n\tvoid *data;\n};\n\nstruct drm_debugfs_entry {\n\tstruct drm_device *dev;\n\tstruct drm_debugfs_info file;\n\tstruct list_head list;\n};\n\nstruct drm_dmi_panel_orientation_data {\n\tint width;\n\tint height;\n\tconst char * const *bios_dates;\n\tint orientation;\n};\n\nstruct drm_mode_create_dumb;\n\nstruct drm_fb_helper_surface_size;\n\nstruct drm_ioctl_desc;\n\nstruct drm_driver {\n\tint (*load)(struct drm_device *, long unsigned int);\n\tint (*open)(struct drm_device *, struct drm_file *);\n\tvoid (*postclose)(struct drm_device *, struct drm_file *);\n\tvoid (*unload)(struct drm_device *);\n\tvoid (*release)(struct drm_device *);\n\tvoid (*master_set)(struct drm_device *, struct drm_file *, bool);\n\tvoid (*master_drop)(struct drm_device *, struct drm_file *);\n\tvoid (*debugfs_init)(struct drm_minor *);\n\tstruct drm_gem_object * (*gem_create_object)(struct drm_device *, size_t);\n\tint (*prime_handle_to_fd)(struct drm_device *, struct drm_file *, uint32_t, uint32_t, int *);\n\tint (*prime_fd_to_handle)(struct drm_device *, struct drm_file *, int, uint32_t *);\n\tstruct drm_gem_object * (*gem_prime_import)(struct drm_device *, struct dma_buf *);\n\tstruct drm_gem_object * (*gem_prime_import_sg_table)(struct drm_device *, struct dma_buf_attachment *, struct sg_table *);\n\tint (*dumb_create)(struct drm_file *, struct drm_device *, struct drm_mode_create_dumb *);\n\tint (*dumb_map_offset)(struct drm_file *, struct drm_device *, uint32_t, uint64_t *);\n\tint (*fbdev_probe)(struct drm_fb_helper *, struct drm_fb_helper_surface_size *);\n\tvoid (*show_fdinfo)(struct drm_printer *, struct drm_file *);\n\tint major;\n\tint minor;\n\tint patchlevel;\n\tchar *name;\n\tchar *desc;\n\tu32 driver_features;\n\tconst struct drm_ioctl_desc *ioctls;\n\tint num_ioctls;\n\tconst struct file_operations *fops;\n};\n\nstruct edid;\n\nstruct drm_edid {\n\tsize_t size;\n\tconst struct edid *edid;\n};\n\nstruct drm_edid_ident {\n\tu32 panel_id;\n\tconst char *name;\n};\n\nstruct drm_edid_match_closure {\n\tconst struct drm_edid_ident *ident;\n\tbool matched;\n};\n\nstruct drm_edid_product_id {\n\t__be16 manufacturer_name;\n\t__le16 product_code;\n\t__le32 serial_number;\n\tu8 week_of_manufacture;\n\tu8 year_of_manufacture;\n} __attribute__((packed));\n\nstruct drm_encoder_funcs {\n\tvoid (*reset)(struct drm_encoder *);\n\tvoid (*destroy)(struct drm_encoder *);\n\tint (*late_register)(struct drm_encoder *);\n\tvoid (*early_unregister)(struct drm_encoder *);\n\tvoid (*debugfs_init)(struct drm_encoder *, struct dentry *);\n};\n\nstruct drm_encoder_helper_funcs {\n\tvoid (*dpms)(struct drm_encoder *, int);\n\tenum drm_mode_status (*mode_valid)(struct drm_encoder *, const struct drm_display_mode *);\n\tbool (*mode_fixup)(struct drm_encoder *, const struct drm_display_mode *, struct drm_display_mode *);\n\tvoid (*prepare)(struct drm_encoder *);\n\tvoid (*commit)(struct drm_encoder *);\n\tvoid (*mode_set)(struct drm_encoder *, struct drm_display_mode *, struct drm_display_mode *);\n\tvoid (*atomic_mode_set)(struct drm_encoder *, struct drm_crtc_state *, struct drm_connector_state *);\n\tenum drm_connector_status (*detect)(struct drm_encoder *, struct drm_connector *);\n\tvoid (*atomic_disable)(struct drm_encoder *, struct drm_atomic_state *);\n\tvoid (*atomic_enable)(struct drm_encoder *, struct drm_atomic_state *);\n\tvoid (*disable)(struct drm_encoder *);\n\tvoid (*enable)(struct drm_encoder *);\n\tint (*atomic_check)(struct drm_encoder *, struct drm_crtc_state *, struct drm_connector_state *);\n};\n\nstruct drm_encoder_slave_funcs;\n\nstruct drm_encoder_slave {\n\tstruct drm_encoder base;\n\tconst struct drm_encoder_slave_funcs *slave_funcs;\n\tvoid *slave_priv;\n\tvoid *bus_priv;\n};\n\nstruct drm_encoder_slave_funcs {\n\tvoid (*set_config)(struct drm_encoder *, void *);\n\tvoid (*destroy)(struct drm_encoder *);\n\tvoid (*dpms)(struct drm_encoder *, int);\n\tvoid (*save)(struct drm_encoder *);\n\tvoid (*restore)(struct drm_encoder *);\n\tbool (*mode_fixup)(struct drm_encoder *, const struct drm_display_mode *, struct drm_display_mode *);\n\tint (*mode_valid)(struct drm_encoder *, struct drm_display_mode *);\n\tvoid (*mode_set)(struct drm_encoder *, struct drm_display_mode *, struct drm_display_mode *);\n\tenum drm_connector_status (*detect)(struct drm_encoder *, struct drm_connector *);\n\tint (*get_modes)(struct drm_encoder *, struct drm_connector *);\n\tint (*create_resources)(struct drm_encoder *, struct drm_connector *);\n\tint (*set_property)(struct drm_encoder *, struct drm_connector *, struct drm_property *, uint64_t);\n};\n\nstruct drm_event {\n\t__u32 type;\n\t__u32 length;\n};\n\nstruct drm_event_crtc_sequence {\n\tstruct drm_event base;\n\t__u64 user_data;\n\t__s64 time_ns;\n\t__u64 sequence;\n};\n\nstruct drm_event_vblank {\n\tstruct drm_event base;\n\t__u64 user_data;\n\t__u32 tv_sec;\n\t__u32 tv_usec;\n\t__u32 sequence;\n\t__u32 crtc_id;\n};\n\nstruct ww_acquire_ctx {\n\tstruct task_struct *task;\n\tlong unsigned int stamp;\n\tunsigned int acquired;\n\tshort unsigned int wounded;\n\tshort unsigned int is_wait_die;\n};\n\nstruct drm_exec {\n\tu32 flags;\n\tstruct ww_acquire_ctx ticket;\n\tunsigned int num_objects;\n\tunsigned int max_objects;\n\tstruct drm_gem_object **objects;\n\tstruct drm_gem_object *contended;\n\tstruct drm_gem_object *prelocked;\n};\n\nstruct fb_info;\n\nstruct fb_deferred_io {\n\tlong unsigned int delay;\n\tbool sort_pagereflist;\n\tint open_count;\n\tstruct mutex lock;\n\tstruct list_head pagereflist;\n\tstruct page * (*get_page)(struct fb_info *, long unsigned int);\n\tvoid (*deferred_io)(struct fb_info *, struct list_head *);\n};\n\nstruct drm_fb_helper_funcs;\n\nstruct drm_fb_helper {\n\tstruct drm_client_dev client;\n\tstruct drm_client_buffer *buffer;\n\tstruct drm_framebuffer *fb;\n\tstruct drm_device *dev;\n\tconst struct drm_fb_helper_funcs *funcs;\n\tstruct fb_info *info;\n\tu32 pseudo_palette[17];\n\tstruct drm_clip_rect damage_clip;\n\tspinlock_t damage_lock;\n\tstruct work_struct damage_work;\n\tstruct work_struct resume_work;\n\tstruct mutex lock;\n\tstruct list_head kernel_fb_list;\n\tbool delayed_hotplug;\n\tbool deferred_setup;\n\tint preferred_bpp;\n\tstruct fb_deferred_io fbdefio;\n};\n\nstruct drm_fb_helper_funcs {\n\tint (*fb_probe)(struct drm_fb_helper *, struct drm_fb_helper_surface_size *);\n\tint (*fb_dirty)(struct drm_fb_helper *, struct drm_clip_rect *);\n};\n\nstruct drm_fb_helper_surface_size {\n\tu32 fb_width;\n\tu32 fb_height;\n\tu32 surface_width;\n\tu32 surface_height;\n\tu32 surface_bpp;\n\tu32 surface_depth;\n};\n\nstruct drm_prime_file_private {\n\tstruct mutex lock;\n\tstruct rb_root dmabufs;\n\tstruct rb_root handles;\n};\n\nstruct drm_file {\n\tbool authenticated;\n\tbool stereo_allowed;\n\tbool universal_planes;\n\tbool atomic;\n\tbool aspect_ratio_allowed;\n\tbool writeback_connectors;\n\tbool was_master;\n\tbool is_master;\n\tbool supports_virtualized_cursor_plane;\n\tstruct drm_master *master;\n\tspinlock_t master_lookup_lock;\n\tstruct pid *pid;\n\tu64 client_id;\n\tdrm_magic_t magic;\n\tstruct list_head lhead;\n\tstruct drm_minor *minor;\n\tstruct idr object_idr;\n\tspinlock_t table_lock;\n\tstruct idr syncobj_idr;\n\tspinlock_t syncobj_table_lock;\n\tstruct file *filp;\n\tvoid *driver_priv;\n\tstruct list_head fbs;\n\tstruct mutex fbs_lock;\n\tstruct list_head blobs;\n\twait_queue_head_t event_wait;\n\tstruct list_head pending_event_list;\n\tstruct list_head event_list;\n\tint event_space;\n\tstruct mutex event_read_lock;\n\tstruct drm_prime_file_private prime;\n\tconst char *client_name;\n\tstruct mutex client_name_lock;\n};\n\nstruct drm_flip_task {\n\tstruct list_head node;\n\tvoid *data;\n};\n\nstruct drm_flip_work;\n\ntypedef void (*drm_flip_func_t)(struct drm_flip_work *, void *);\n\nstruct drm_flip_work {\n\tconst char *name;\n\tdrm_flip_func_t func;\n\tstruct work_struct worker;\n\tstruct list_head queued;\n\tstruct list_head commited;\n\tspinlock_t lock;\n};\n\nstruct drm_format_conv_state {\n\tstruct {\n\t\tvoid *mem;\n\t\tsize_t size;\n\t\tbool preallocated;\n\t} tmp;\n};\n\nstruct drm_format_info {\n\tu32 format;\n\tu8 depth;\n\tu8 num_planes;\n\tunion {\n\t\tu8 cpp[4];\n\t\tu8 char_per_block[4];\n\t};\n\tu8 block_w[4];\n\tu8 block_h[4];\n\tu8 hsub;\n\tu8 vsub;\n\tbool has_alpha;\n\tbool is_yuv;\n\tbool is_color_indexed;\n};\n\nstruct drm_format_modifier {\n\t__u64 formats;\n\t__u32 offset;\n\t__u32 pad;\n\t__u64 modifier;\n};\n\nstruct drm_format_modifier_blob {\n\t__u32 version;\n\t__u32 flags;\n\t__u32 count_formats;\n\t__u32 formats_offset;\n\t__u32 count_modifiers;\n\t__u32 modifiers_offset;\n};\n\nstruct drm_framebuffer_funcs {\n\tvoid (*destroy)(struct drm_framebuffer *);\n\tint (*create_handle)(struct drm_framebuffer *, struct drm_file *, unsigned int *);\n\tint (*dirty)(struct drm_framebuffer *, struct drm_file *, unsigned int, unsigned int, struct drm_clip_rect *, unsigned int);\n};\n\nstruct drm_gem_close {\n\t__u32 handle;\n\t__u32 pad;\n};\n\nstruct drm_gem_flink {\n\t__u32 handle;\n\t__u32 name;\n};\n\nstruct drm_gem_lru {\n\tstruct mutex *lock;\n\tlong int count;\n\tstruct list_head list;\n};\n\nstruct drm_mm;\n\nstruct drm_mm_node {\n\tlong unsigned int color;\n\tu64 start;\n\tu64 size;\n\tstruct drm_mm *mm;\n\tstruct list_head node_list;\n\tstruct list_head hole_stack;\n\tstruct rb_node rb;\n\tstruct rb_node rb_hole_size;\n\tstruct rb_node rb_hole_addr;\n\tu64 __subtree_last;\n\tu64 hole_size;\n\tu64 subtree_max_hole;\n\tlong unsigned int flags;\n};\n\nstruct drm_vma_offset_node {\n\trwlock_t vm_lock;\n\tstruct drm_mm_node vm_node;\n\tstruct rb_root vm_files;\n\tvoid *driver_private;\n};\n\nstruct drm_gem_object_funcs;\n\nstruct drm_gem_object {\n\tstruct kref refcount;\n\tunsigned int handle_count;\n\tstruct drm_device *dev;\n\tstruct file *filp;\n\tstruct drm_vma_offset_node vma_node;\n\tsize_t size;\n\tint name;\n\tstruct dma_buf *dma_buf;\n\tstruct dma_buf_attachment *import_attach;\n\tstruct dma_resv *resv;\n\tstruct dma_resv _resv;\n\tstruct {\n\t\tstruct list_head list;\n\t} gpuva;\n\tconst struct drm_gem_object_funcs *funcs;\n\tstruct list_head lru_node;\n\tstruct drm_gem_lru *lru;\n};\n\nstruct vm_operations_struct;\n\nstruct drm_gem_object_funcs {\n\tvoid (*free)(struct drm_gem_object *);\n\tint (*open)(struct drm_gem_object *, struct drm_file *);\n\tvoid (*close)(struct drm_gem_object *, struct drm_file *);\n\tvoid (*print_info)(struct drm_printer *, unsigned int, const struct drm_gem_object *);\n\tstruct dma_buf * (*export)(struct drm_gem_object *, int);\n\tint (*pin)(struct drm_gem_object *);\n\tvoid (*unpin)(struct drm_gem_object *);\n\tstruct sg_table * (*get_sg_table)(struct drm_gem_object *);\n\tint (*vmap)(struct drm_gem_object *, struct iosys_map *);\n\tvoid (*vunmap)(struct drm_gem_object *, struct iosys_map *);\n\tint (*mmap)(struct drm_gem_object *, struct vm_area_struct *);\n\tint (*evict)(struct drm_gem_object *);\n\tenum drm_gem_object_status (*status)(struct drm_gem_object *);\n\tsize_t (*rss)(struct drm_gem_object *);\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct drm_gem_open {\n\t__u32 name;\n\t__u32 handle;\n\t__u64 size;\n};\n\nstruct drm_gem_shmem_object {\n\tstruct drm_gem_object base;\n\tstruct page **pages;\n\tunsigned int pages_use_count;\n\tint madv;\n\tstruct list_head madv_list;\n\tstruct sg_table *sgt;\n\tvoid *vaddr;\n\tunsigned int vmap_use_count;\n\tbool pages_mark_dirty_on_put: 1;\n\tbool pages_mark_accessed_on_put: 1;\n\tbool map_wc: 1;\n};\n\nstruct drm_get_cap {\n\t__u64 capability;\n\t__u64 value;\n};\n\nstruct drm_gpuvm;\n\nstruct drm_gpuvm_bo;\n\nstruct drm_gpuva {\n\tstruct drm_gpuvm *vm;\n\tstruct drm_gpuvm_bo *vm_bo;\n\tenum drm_gpuva_flags flags;\n\tstruct {\n\t\tu64 addr;\n\t\tu64 range;\n\t} va;\n\tstruct {\n\t\tu64 offset;\n\t\tstruct drm_gem_object *obj;\n\t\tstruct list_head entry;\n\t} gem;\n\tstruct {\n\t\tstruct rb_node node;\n\t\tstruct list_head entry;\n\t\tu64 __subtree_last;\n\t} rb;\n};\n\nstruct drm_gpuva_op_map {\n\tstruct {\n\t\tu64 addr;\n\t\tu64 range;\n\t} va;\n\tstruct {\n\t\tu64 offset;\n\t\tstruct drm_gem_object *obj;\n\t} gem;\n};\n\nstruct drm_gpuva_op_unmap;\n\nstruct drm_gpuva_op_remap {\n\tstruct drm_gpuva_op_map *prev;\n\tstruct drm_gpuva_op_map *next;\n\tstruct drm_gpuva_op_unmap *unmap;\n};\n\nstruct drm_gpuva_op_unmap {\n\tstruct drm_gpuva *va;\n\tbool keep;\n};\n\nstruct drm_gpuva_op_prefetch {\n\tstruct drm_gpuva *va;\n};\n\nstruct drm_gpuva_op {\n\tstruct list_head entry;\n\tenum drm_gpuva_op_type op;\n\tunion {\n\t\tstruct drm_gpuva_op_map map;\n\t\tstruct drm_gpuva_op_remap remap;\n\t\tstruct drm_gpuva_op_unmap unmap;\n\t\tstruct drm_gpuva_op_prefetch prefetch;\n\t};\n};\n\nstruct drm_gpuvm_ops;\n\nstruct drm_gpuvm {\n\tconst char *name;\n\tenum drm_gpuvm_flags flags;\n\tstruct drm_device *drm;\n\tu64 mm_start;\n\tu64 mm_range;\n\tstruct {\n\t\tstruct rb_root_cached tree;\n\t\tstruct list_head list;\n\t} rb;\n\tstruct kref kref;\n\tstruct drm_gpuva kernel_alloc_node;\n\tconst struct drm_gpuvm_ops *ops;\n\tstruct drm_gem_object *r_obj;\n\tstruct {\n\t\tstruct list_head list;\n\t\tstruct list_head *local_list;\n\t\tspinlock_t lock;\n\t} extobj;\n\tstruct {\n\t\tstruct list_head list;\n\t\tstruct list_head *local_list;\n\t\tspinlock_t lock;\n\t} evict;\n};\n\nstruct drm_gpuvm_bo {\n\tstruct drm_gpuvm *vm;\n\tstruct drm_gem_object *obj;\n\tbool evicted;\n\tstruct kref kref;\n\tstruct {\n\t\tstruct list_head gpuva;\n\t\tstruct {\n\t\t\tstruct list_head gem;\n\t\t\tstruct list_head extobj;\n\t\t\tstruct list_head evict;\n\t\t} entry;\n\t} list;\n};\n\nstruct drm_gpuvm_ops {\n\tvoid (*vm_free)(struct drm_gpuvm *);\n\tstruct drm_gpuva_op * (*op_alloc)(void);\n\tvoid (*op_free)(struct drm_gpuva_op *);\n\tstruct drm_gpuvm_bo * (*vm_bo_alloc)(void);\n\tvoid (*vm_bo_free)(struct drm_gpuvm_bo *);\n\tint (*vm_bo_validate)(struct drm_gpuvm_bo *, struct drm_exec *);\n\tint (*sm_step_map)(struct drm_gpuva_op *, void *);\n\tint (*sm_step_remap)(struct drm_gpuva_op *, void *);\n\tint (*sm_step_unmap)(struct drm_gpuva_op *, void *);\n};\n\nstruct i2c_client;\n\nstruct i2c_device_id;\n\nstruct i2c_board_info;\n\nstruct i2c_driver {\n\tunsigned int class;\n\tint (*probe)(struct i2c_client *);\n\tvoid (*remove)(struct i2c_client *);\n\tvoid (*shutdown)(struct i2c_client *);\n\tvoid (*alert)(struct i2c_client *, enum i2c_alert_protocol, unsigned int);\n\tint (*command)(struct i2c_client *, unsigned int, void *);\n\tstruct device_driver driver;\n\tconst struct i2c_device_id *id_table;\n\tint (*detect)(struct i2c_client *, struct i2c_board_info *);\n\tconst short unsigned int *address_list;\n\tstruct list_head clients;\n\tu32 flags;\n};\n\nstruct drm_i2c_encoder_driver {\n\tstruct i2c_driver i2c_driver;\n\tint (*encoder_init)(struct i2c_client *, struct drm_device *, struct drm_encoder_slave *);\n};\n\nstruct drm_info_list {\n\tconst char *name;\n\tint (*show)(struct seq_file *, void *);\n\tu32 driver_features;\n\tvoid *data;\n};\n\nstruct drm_info_node {\n\tstruct drm_minor *minor;\n\tconst struct drm_info_list *info_ent;\n\tstruct list_head list;\n\tstruct dentry *dent;\n};\n\ntypedef int drm_ioctl_t(struct drm_device *, void *, struct drm_file *);\n\nstruct drm_ioctl_desc {\n\tunsigned int cmd;\n\tenum drm_ioctl_flags flags;\n\tdrm_ioctl_t *func;\n\tconst char *name;\n};\n\nstruct drm_master {\n\tstruct kref refcount;\n\tstruct drm_device *dev;\n\tchar *unique;\n\tint unique_len;\n\tstruct idr magic_map;\n\tvoid *driver_priv;\n\tstruct drm_master *lessor;\n\tint lessee_id;\n\tstruct list_head lessee_list;\n\tstruct list_head lessees;\n\tstruct idr leases;\n\tstruct idr lessee_idr;\n};\n\nstruct drm_memory_stats {\n\tu64 shared;\n\tu64 private;\n\tu64 resident;\n\tu64 purgeable;\n\tu64 active;\n};\n\nstruct drm_minor {\n\tint index;\n\tint type;\n\tstruct device *kdev;\n\tstruct drm_device *dev;\n\tstruct dentry *debugfs_symlink;\n\tstruct dentry *debugfs_root;\n};\n\nstruct drm_mm {\n\tvoid (*color_adjust)(const struct drm_mm_node *, long unsigned int, u64 *, u64 *);\n\tstruct list_head hole_stack;\n\tstruct drm_mm_node head_node;\n\tstruct rb_root_cached interval_tree;\n\tstruct rb_root_cached holes_size;\n\tstruct rb_root holes_addr;\n\tlong unsigned int scan_active;\n};\n\nstruct drm_mm_scan {\n\tstruct drm_mm *mm;\n\tu64 size;\n\tu64 alignment;\n\tu64 remainder_mask;\n\tu64 range_start;\n\tu64 range_end;\n\tu64 hit_start;\n\tu64 hit_end;\n\tlong unsigned int color;\n\tenum drm_mm_insert_mode mode;\n};\n\nstruct drm_mode_atomic {\n\t__u32 flags;\n\t__u32 count_objs;\n\t__u64 objs_ptr;\n\t__u64 count_props_ptr;\n\t__u64 props_ptr;\n\t__u64 prop_values_ptr;\n\t__u64 reserved;\n\t__u64 user_data;\n};\n\nstruct drm_mode_card_res {\n\t__u64 fb_id_ptr;\n\t__u64 crtc_id_ptr;\n\t__u64 connector_id_ptr;\n\t__u64 encoder_id_ptr;\n\t__u32 count_fbs;\n\t__u32 count_crtcs;\n\t__u32 count_connectors;\n\t__u32 count_encoders;\n\t__u32 min_width;\n\t__u32 max_width;\n\t__u32 min_height;\n\t__u32 max_height;\n};\n\nstruct drm_mode_closefb {\n\t__u32 fb_id;\n\t__u32 pad;\n};\n\nstruct drm_mode_fb_cmd2;\n\nstruct drm_mode_config_funcs {\n\tstruct drm_framebuffer * (*fb_create)(struct drm_device *, struct drm_file *, const struct drm_mode_fb_cmd2 *);\n\tconst struct drm_format_info * (*get_format_info)(const struct drm_mode_fb_cmd2 *);\n\tenum drm_mode_status (*mode_valid)(struct drm_device *, const struct drm_display_mode *);\n\tint (*atomic_check)(struct drm_device *, struct drm_atomic_state *);\n\tint (*atomic_commit)(struct drm_device *, struct drm_atomic_state *, bool);\n\tstruct drm_atomic_state * (*atomic_state_alloc)(struct drm_device *);\n\tvoid (*atomic_state_clear)(struct drm_atomic_state *);\n\tvoid (*atomic_state_free)(struct drm_atomic_state *);\n};\n\nstruct drm_mode_config_helper_funcs {\n\tvoid (*atomic_commit_tail)(struct drm_atomic_state *);\n\tint (*atomic_commit_setup)(struct drm_atomic_state *);\n};\n\nstruct drm_mode_connector_set_property {\n\t__u64 value;\n\t__u32 prop_id;\n\t__u32 connector_id;\n};\n\nstruct drm_mode_create_blob {\n\t__u64 data;\n\t__u32 length;\n\t__u32 blob_id;\n};\n\nstruct drm_mode_create_dumb {\n\t__u32 height;\n\t__u32 width;\n\t__u32 bpp;\n\t__u32 flags;\n\t__u32 handle;\n\t__u32 pitch;\n\t__u64 size;\n};\n\nstruct drm_mode_create_lease {\n\t__u64 object_ids;\n\t__u32 object_count;\n\t__u32 flags;\n\t__u32 lessee_id;\n\t__u32 fd;\n};\n\nstruct drm_mode_modeinfo {\n\t__u32 clock;\n\t__u16 hdisplay;\n\t__u16 hsync_start;\n\t__u16 hsync_end;\n\t__u16 htotal;\n\t__u16 hskew;\n\t__u16 vdisplay;\n\t__u16 vsync_start;\n\t__u16 vsync_end;\n\t__u16 vtotal;\n\t__u16 vscan;\n\t__u32 vrefresh;\n\t__u32 flags;\n\t__u32 type;\n\tchar name[32];\n};\n\nstruct drm_mode_crtc {\n\t__u64 set_connectors_ptr;\n\t__u32 count_connectors;\n\t__u32 crtc_id;\n\t__u32 fb_id;\n\t__u32 x;\n\t__u32 y;\n\t__u32 gamma_size;\n\t__u32 mode_valid;\n\tstruct drm_mode_modeinfo mode;\n};\n\nstruct drm_mode_crtc_lut {\n\t__u32 crtc_id;\n\t__u32 gamma_size;\n\t__u64 red;\n\t__u64 green;\n\t__u64 blue;\n};\n\nstruct drm_mode_crtc_page_flip_target {\n\t__u32 crtc_id;\n\t__u32 fb_id;\n\t__u32 flags;\n\t__u32 sequence;\n\t__u64 user_data;\n};\n\nstruct drm_mode_cursor {\n\t__u32 flags;\n\t__u32 crtc_id;\n\t__s32 x;\n\t__s32 y;\n\t__u32 width;\n\t__u32 height;\n\t__u32 handle;\n};\n\nstruct drm_mode_cursor2 {\n\t__u32 flags;\n\t__u32 crtc_id;\n\t__s32 x;\n\t__s32 y;\n\t__u32 width;\n\t__u32 height;\n\t__u32 handle;\n\t__s32 hot_x;\n\t__s32 hot_y;\n};\n\nstruct drm_mode_destroy_blob {\n\t__u32 blob_id;\n};\n\nstruct drm_mode_destroy_dumb {\n\t__u32 handle;\n};\n\nstruct drm_mode_fb_cmd {\n\t__u32 fb_id;\n\t__u32 width;\n\t__u32 height;\n\t__u32 pitch;\n\t__u32 bpp;\n\t__u32 depth;\n\t__u32 handle;\n};\n\nstruct drm_mode_fb_cmd2 {\n\t__u32 fb_id;\n\t__u32 width;\n\t__u32 height;\n\t__u32 pixel_format;\n\t__u32 flags;\n\t__u32 handles[4];\n\t__u32 pitches[4];\n\t__u32 offsets[4];\n\t__u64 modifier[4];\n};\n\nstruct drm_mode_fb_dirty_cmd {\n\t__u32 fb_id;\n\t__u32 flags;\n\t__u32 color;\n\t__u32 num_clips;\n\t__u64 clips_ptr;\n};\n\nstruct drm_mode_get_blob {\n\t__u32 blob_id;\n\t__u32 length;\n\t__u64 data;\n};\n\nstruct drm_mode_get_connector {\n\t__u64 encoders_ptr;\n\t__u64 modes_ptr;\n\t__u64 props_ptr;\n\t__u64 prop_values_ptr;\n\t__u32 count_modes;\n\t__u32 count_props;\n\t__u32 count_encoders;\n\t__u32 encoder_id;\n\t__u32 connector_id;\n\t__u32 connector_type;\n\t__u32 connector_type_id;\n\t__u32 connection;\n\t__u32 mm_width;\n\t__u32 mm_height;\n\t__u32 subpixel;\n\t__u32 pad;\n};\n\nstruct drm_mode_get_encoder {\n\t__u32 encoder_id;\n\t__u32 encoder_type;\n\t__u32 crtc_id;\n\t__u32 possible_crtcs;\n\t__u32 possible_clones;\n};\n\nstruct drm_mode_get_lease {\n\t__u32 count_objects;\n\t__u32 pad;\n\t__u64 objects_ptr;\n};\n\nstruct drm_mode_get_plane {\n\t__u32 plane_id;\n\t__u32 crtc_id;\n\t__u32 fb_id;\n\t__u32 possible_crtcs;\n\t__u32 gamma_size;\n\t__u32 count_format_types;\n\t__u64 format_type_ptr;\n};\n\nstruct drm_mode_get_plane_res {\n\t__u64 plane_id_ptr;\n\t__u32 count_planes;\n};\n\nstruct drm_mode_get_property {\n\t__u64 values_ptr;\n\t__u64 enum_blob_ptr;\n\t__u32 prop_id;\n\t__u32 flags;\n\tchar name[32];\n\t__u32 count_values;\n\t__u32 count_enum_blobs;\n};\n\nstruct drm_mode_list_lessees {\n\t__u32 count_lessees;\n\t__u32 pad;\n\t__u64 lessees_ptr;\n};\n\nstruct drm_mode_map_dumb {\n\t__u32 handle;\n\t__u32 pad;\n\t__u64 offset;\n};\n\nstruct drm_mode_obj_get_properties {\n\t__u64 props_ptr;\n\t__u64 prop_values_ptr;\n\t__u32 count_props;\n\t__u32 obj_id;\n\t__u32 obj_type;\n};\n\nstruct drm_mode_obj_set_property {\n\t__u64 value;\n\t__u32 prop_id;\n\t__u32 obj_id;\n\t__u32 obj_type;\n};\n\nstruct drm_mode_property_enum {\n\t__u64 value;\n\tchar name[32];\n};\n\nstruct drm_mode_rect {\n\t__s32 x1;\n\t__s32 y1;\n\t__s32 x2;\n\t__s32 y2;\n};\n\nstruct drm_mode_revoke_lease {\n\t__u32 lessee_id;\n};\n\nstruct drm_mode_rmfb_work {\n\tstruct work_struct work;\n\tstruct list_head fbs;\n};\n\nstruct drm_mode_set {\n\tstruct drm_framebuffer *fb;\n\tstruct drm_crtc *crtc;\n\tstruct drm_display_mode *mode;\n\tuint32_t x;\n\tuint32_t y;\n\tstruct drm_connector **connectors;\n\tsize_t num_connectors;\n};\n\nstruct drm_mode_set_plane {\n\t__u32 plane_id;\n\t__u32 crtc_id;\n\t__u32 fb_id;\n\t__u32 flags;\n\t__s32 crtc_x;\n\t__s32 crtc_y;\n\t__u32 crtc_w;\n\t__u32 crtc_h;\n\t__u32 src_x;\n\t__u32 src_y;\n\t__u32 src_h;\n\t__u32 src_w;\n};\n\nstruct drm_modeset_acquire_ctx {\n\tstruct ww_acquire_ctx ww_ctx;\n\tstruct drm_modeset_lock *contended;\n\tdepot_stack_handle_t stack_depot;\n\tstruct list_head locked;\n\tbool trylock_only;\n\tbool interruptible;\n};\n\nstruct drm_named_mode {\n\tconst char *name;\n\tunsigned int pixel_clock_khz;\n\tunsigned int xres;\n\tunsigned int yres;\n\tunsigned int flags;\n\tunsigned int tv_mode;\n};\n\nstruct sync_file;\n\nstruct drm_out_fence_state {\n\ts32 *out_fence_ptr;\n\tstruct sync_file *sync_file;\n\tint fd;\n};\n\nstruct drm_panel_funcs;\n\nstruct drm_panel {\n\tstruct device *dev;\n\tstruct backlight_device *backlight;\n\tconst struct drm_panel_funcs *funcs;\n\tint connector_type;\n\tstruct list_head list;\n\tstruct list_head followers;\n\tstruct mutex follower_lock;\n\tbool prepare_prev_first;\n\tbool prepared;\n\tbool enabled;\n};\n\nstruct drm_panel_follower_funcs;\n\nstruct drm_panel_follower {\n\tconst struct drm_panel_follower_funcs *funcs;\n\tstruct list_head list;\n\tstruct drm_panel *panel;\n};\n\nstruct drm_panel_follower_funcs {\n\tint (*panel_prepared)(struct drm_panel_follower *);\n\tint (*panel_unpreparing)(struct drm_panel_follower *);\n};\n\nstruct display_timing;\n\nstruct drm_panel_funcs {\n\tint (*prepare)(struct drm_panel *);\n\tint (*enable)(struct drm_panel *);\n\tint (*disable)(struct drm_panel *);\n\tint (*unprepare)(struct drm_panel *);\n\tint (*get_modes)(struct drm_panel *, struct drm_connector *);\n\tenum drm_panel_orientation (*get_orientation)(struct drm_panel *);\n\tint (*get_timings)(struct drm_panel *, unsigned int, struct display_timing *);\n\tvoid (*debugfs_init)(struct drm_panel *, struct dentry *);\n};\n\nstruct drm_pending_event {\n\tstruct completion *completion;\n\tvoid (*completion_release)(struct completion *);\n\tstruct drm_event *event;\n\tstruct dma_fence *fence;\n\tstruct drm_file *file_priv;\n\tstruct list_head link;\n\tstruct list_head pending_link;\n};\n\nstruct drm_pending_vblank_event {\n\tstruct drm_pending_event base;\n\tunsigned int pipe;\n\tu64 sequence;\n\tunion {\n\t\tstruct drm_event base;\n\t\tstruct drm_event_vblank vbl;\n\t\tstruct drm_event_crtc_sequence seq;\n\t} event;\n};\n\nstruct drm_plane_funcs {\n\tint (*update_plane)(struct drm_plane *, struct drm_crtc *, struct drm_framebuffer *, int, int, unsigned int, unsigned int, uint32_t, uint32_t, uint32_t, uint32_t, struct drm_modeset_acquire_ctx *);\n\tint (*disable_plane)(struct drm_plane *, struct drm_modeset_acquire_ctx *);\n\tvoid (*destroy)(struct drm_plane *);\n\tvoid (*reset)(struct drm_plane *);\n\tint (*set_property)(struct drm_plane *, struct drm_property *, uint64_t);\n\tstruct drm_plane_state * (*atomic_duplicate_state)(struct drm_plane *);\n\tvoid (*atomic_destroy_state)(struct drm_plane *, struct drm_plane_state *);\n\tint (*atomic_set_property)(struct drm_plane *, struct drm_plane_state *, struct drm_property *, uint64_t);\n\tint (*atomic_get_property)(struct drm_plane *, const struct drm_plane_state *, struct drm_property *, uint64_t *);\n\tint (*late_register)(struct drm_plane *);\n\tvoid (*early_unregister)(struct drm_plane *);\n\tvoid (*atomic_print_state)(struct drm_printer *, const struct drm_plane_state *);\n\tbool (*format_mod_supported)(struct drm_plane *, uint32_t, uint64_t);\n};\n\nstruct drm_scanout_buffer;\n\nstruct drm_plane_helper_funcs {\n\tint (*prepare_fb)(struct drm_plane *, struct drm_plane_state *);\n\tvoid (*cleanup_fb)(struct drm_plane *, struct drm_plane_state *);\n\tint (*begin_fb_access)(struct drm_plane *, struct drm_plane_state *);\n\tvoid (*end_fb_access)(struct drm_plane *, struct drm_plane_state *);\n\tint (*atomic_check)(struct drm_plane *, struct drm_atomic_state *);\n\tvoid (*atomic_update)(struct drm_plane *, struct drm_atomic_state *);\n\tvoid (*atomic_enable)(struct drm_plane *, struct drm_atomic_state *);\n\tvoid (*atomic_disable)(struct drm_plane *, struct drm_atomic_state *);\n\tint (*atomic_async_check)(struct drm_plane *, struct drm_atomic_state *);\n\tvoid (*atomic_async_update)(struct drm_plane *, struct drm_atomic_state *);\n\tint (*get_scanout_buffer)(struct drm_plane *, struct drm_scanout_buffer *);\n\tvoid (*panic_flush)(struct drm_plane *);\n};\n\nstruct drm_plane_size_hint {\n\t__u16 width;\n\t__u16 height;\n};\n\nstruct drm_plane_state {\n\tstruct drm_plane *plane;\n\tstruct drm_crtc *crtc;\n\tstruct drm_framebuffer *fb;\n\tstruct dma_fence *fence;\n\tint32_t crtc_x;\n\tint32_t crtc_y;\n\tuint32_t crtc_w;\n\tuint32_t crtc_h;\n\tuint32_t src_x;\n\tuint32_t src_y;\n\tuint32_t src_h;\n\tuint32_t src_w;\n\tint32_t hotspot_x;\n\tint32_t hotspot_y;\n\tu16 alpha;\n\tuint16_t pixel_blend_mode;\n\tunsigned int rotation;\n\tunsigned int zpos;\n\tunsigned int normalized_zpos;\n\tenum drm_color_encoding color_encoding;\n\tenum drm_color_range color_range;\n\tstruct drm_property_blob *fb_damage_clips;\n\tbool ignore_damage_clips;\n\tstruct drm_rect src;\n\tstruct drm_rect dst;\n\tbool visible;\n\tenum drm_scaling_filter scaling_filter;\n\tstruct drm_crtc_commit *commit;\n\tstruct drm_atomic_state *state;\n\tbool color_mgmt_changed: 1;\n};\n\nstruct drm_prime_handle {\n\t__u32 handle;\n\t__u32 flags;\n\t__s32 fd;\n};\n\nstruct drm_prime_member {\n\tstruct dma_buf *dma_buf;\n\tuint32_t handle;\n\tstruct rb_node dmabuf_rb;\n\tstruct rb_node handle_rb;\n};\n\nstruct drm_print_iterator {\n\tvoid *data;\n\tssize_t start;\n\tssize_t remain;\n\tssize_t offset;\n};\n\nstruct va_format;\n\nstruct drm_printer {\n\tvoid (*printfn)(struct drm_printer *, struct va_format *);\n\tvoid (*puts)(struct drm_printer *, const char *);\n\tvoid *arg;\n\tconst void *origin;\n\tconst char *prefix;\n\tstruct {\n\t\tunsigned int series;\n\t\tunsigned int counter;\n\t} line;\n\tenum drm_debug_category category;\n};\n\nstruct drm_private_state_funcs {\n\tstruct drm_private_state * (*atomic_duplicate_state)(struct drm_private_obj *);\n\tvoid (*atomic_destroy_state)(struct drm_private_obj *, struct drm_private_state *);\n\tvoid (*atomic_print_state)(struct drm_printer *, const struct drm_private_state *);\n};\n\nstruct drm_prop_enum_list {\n\tint type;\n\tconst char *name;\n};\n\nstruct drm_property {\n\tstruct list_head head;\n\tstruct drm_mode_object base;\n\tuint32_t flags;\n\tchar name[32];\n\tuint32_t num_values;\n\tuint64_t *values;\n\tstruct drm_device *dev;\n\tstruct list_head enum_list;\n};\n\nstruct drm_property_blob {\n\tstruct drm_mode_object base;\n\tstruct drm_device *dev;\n\tstruct list_head head_global;\n\tstruct list_head head_file;\n\tsize_t length;\n\tvoid *data;\n};\n\nstruct drm_property_enum {\n\tuint64_t value;\n\tstruct list_head head;\n\tchar name[32];\n};\n\nstruct drm_scanout_buffer {\n\tconst struct drm_format_info *format;\n\tstruct iosys_map map[4];\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int pitch[4];\n\tvoid (*set_pixel)(struct drm_scanout_buffer *, unsigned int, unsigned int, u32);\n};\n\nstruct ewma_psr_time {\n\tlong unsigned int internal;\n};\n\nstruct drm_self_refresh_data {\n\tstruct drm_crtc *crtc;\n\tstruct delayed_work entry_work;\n\tstruct mutex avg_mutex;\n\tstruct ewma_psr_time entry_avg_ms;\n\tstruct ewma_psr_time exit_avg_ms;\n};\n\nstruct drm_set_client_cap {\n\t__u64 capability;\n\t__u64 value;\n};\n\nstruct drm_set_client_name {\n\t__u64 name_len;\n\t__u64 name;\n};\n\nstruct drm_set_version {\n\tint drm_di_major;\n\tint drm_di_minor;\n\tint drm_dd_major;\n\tint drm_dd_minor;\n};\n\nstruct drm_shadow_plane_state {\n\tstruct drm_plane_state base;\n\tstruct drm_format_conv_state fmtcnv_state;\n\tstruct iosys_map map[4];\n\tstruct iosys_map data[4];\n};\n\nstruct drm_simple_display_pipe_funcs;\n\nstruct drm_simple_display_pipe {\n\tstruct drm_crtc crtc;\n\tstruct drm_plane plane;\n\tstruct drm_encoder encoder;\n\tstruct drm_connector *connector;\n\tconst struct drm_simple_display_pipe_funcs *funcs;\n};\n\nstruct drm_simple_display_pipe_funcs {\n\tenum drm_mode_status (*mode_valid)(struct drm_simple_display_pipe *, const struct drm_display_mode *);\n\tvoid (*enable)(struct drm_simple_display_pipe *, struct drm_crtc_state *, struct drm_plane_state *);\n\tvoid (*disable)(struct drm_simple_display_pipe *);\n\tint (*check)(struct drm_simple_display_pipe *, struct drm_plane_state *, struct drm_crtc_state *);\n\tvoid (*update)(struct drm_simple_display_pipe *, struct drm_plane_state *);\n\tint (*prepare_fb)(struct drm_simple_display_pipe *, struct drm_plane_state *);\n\tvoid (*cleanup_fb)(struct drm_simple_display_pipe *, struct drm_plane_state *);\n\tint (*begin_fb_access)(struct drm_simple_display_pipe *, struct drm_plane_state *);\n\tvoid (*end_fb_access)(struct drm_simple_display_pipe *, struct drm_plane_state *);\n\tint (*enable_vblank)(struct drm_simple_display_pipe *);\n\tvoid (*disable_vblank)(struct drm_simple_display_pipe *);\n\tvoid (*reset_crtc)(struct drm_simple_display_pipe *);\n\tstruct drm_crtc_state * (*duplicate_crtc_state)(struct drm_simple_display_pipe *);\n\tvoid (*destroy_crtc_state)(struct drm_simple_display_pipe *, struct drm_crtc_state *);\n\tvoid (*reset_plane)(struct drm_simple_display_pipe *);\n\tstruct drm_plane_state * (*duplicate_plane_state)(struct drm_simple_display_pipe *);\n\tvoid (*destroy_plane_state)(struct drm_simple_display_pipe *, struct drm_plane_state *);\n};\n\nstruct drm_stats {\n\tlong unsigned int count;\n\tstruct {\n\t\tlong unsigned int value;\n\t\tenum drm_stat_type type;\n\t} data[15];\n};\n\nstruct drm_syncobj {\n\tstruct kref refcount;\n\tstruct dma_fence *fence;\n\tstruct list_head cb_list;\n\tstruct list_head ev_fd_list;\n\tspinlock_t lock;\n\tstruct file *file;\n};\n\nstruct drm_syncobj_array {\n\t__u64 handles;\n\t__u32 count_handles;\n\t__u32 pad;\n};\n\nstruct drm_syncobj_create {\n\t__u32 handle;\n\t__u32 flags;\n};\n\nstruct drm_syncobj_destroy {\n\t__u32 handle;\n\t__u32 pad;\n};\n\nstruct drm_syncobj_eventfd {\n\t__u32 handle;\n\t__u32 flags;\n\t__u64 point;\n\t__s32 fd;\n\t__u32 pad;\n};\n\nstruct drm_syncobj_handle {\n\t__u32 handle;\n\t__u32 flags;\n\t__s32 fd;\n\t__u32 pad;\n};\n\nstruct drm_syncobj_timeline_array {\n\t__u64 handles;\n\t__u64 points;\n\t__u32 count_handles;\n\t__u32 flags;\n};\n\nstruct drm_syncobj_timeline_wait {\n\t__u64 handles;\n\t__u64 points;\n\t__s64 timeout_nsec;\n\t__u32 count_handles;\n\t__u32 flags;\n\t__u32 first_signaled;\n\t__u32 pad;\n\t__u64 deadline_nsec;\n};\n\nstruct drm_syncobj_transfer {\n\t__u32 src_handle;\n\t__u32 dst_handle;\n\t__u64 src_point;\n\t__u64 dst_point;\n\t__u32 flags;\n\t__u32 pad;\n};\n\nstruct drm_syncobj_wait {\n\t__u64 handles;\n\t__s64 timeout_nsec;\n\t__u32 count_handles;\n\t__u32 flags;\n\t__u32 first_signaled;\n\t__u32 pad;\n\t__u64 deadline_nsec;\n};\n\nstruct drm_tile_group {\n\tstruct kref refcount;\n\tstruct drm_device *dev;\n\tint id;\n\tu8 group_data[8];\n};\n\nstruct drm_unique {\n\t__kernel_size_t unique_len;\n\tchar *unique;\n};\n\nstruct drm_vblank_crtc_config {\n\tint offdelay_ms;\n\tbool disable_immediate;\n};\n\nstruct drm_vblank_crtc {\n\tstruct drm_device *dev;\n\twait_queue_head_t queue;\n\tstruct timer_list disable_timer;\n\tseqlock_t seqlock;\n\tatomic64_t count;\n\tktime_t time;\n\tatomic_t refcount;\n\tu32 last;\n\tu32 max_vblank_count;\n\tunsigned int inmodeset;\n\tunsigned int pipe;\n\tint framedur_ns;\n\tint linedur_ns;\n\tstruct drm_display_mode hwmode;\n\tstruct drm_vblank_crtc_config config;\n\tbool enabled;\n\tstruct kthread_worker *worker;\n\tstruct list_head pending_work;\n\twait_queue_head_t work_wait_queue;\n};\n\nstruct drm_vblank_work {\n\tstruct kthread_work base;\n\tstruct drm_vblank_crtc *vblank;\n\tu64 count;\n\tint cancelling;\n\tstruct list_head node;\n};\n\nstruct drm_version {\n\tint version_major;\n\tint version_minor;\n\tint version_patchlevel;\n\t__kernel_size_t name_len;\n\tchar *name;\n\t__kernel_size_t date_len;\n\tchar *date;\n\t__kernel_size_t desc_len;\n\tchar *desc;\n};\n\nstruct drm_vma_offset_file {\n\tstruct rb_node vm_rb;\n\tstruct drm_file *vm_tag;\n\tlong unsigned int vm_count;\n};\n\nstruct drm_vma_offset_manager {\n\trwlock_t vm_lock;\n\tstruct drm_mm vm_addr_space_mm;\n};\n\nstruct drm_wait_vblank_request {\n\tenum drm_vblank_seq_type type;\n\tunsigned int sequence;\n\tlong unsigned int signal;\n};\n\nstruct drm_wait_vblank_reply {\n\tenum drm_vblank_seq_type type;\n\tunsigned int sequence;\n\tlong int tval_sec;\n\tlong int tval_usec;\n};\n\nunion drm_wait_vblank {\n\tstruct drm_wait_vblank_request request;\n\tstruct drm_wait_vblank_reply reply;\n};\n\nstruct drm_writeback_connector {\n\tstruct drm_connector base;\n\tstruct drm_encoder encoder;\n\tstruct drm_property_blob *pixel_formats_blob_ptr;\n\tspinlock_t job_lock;\n\tstruct list_head job_queue;\n\tunsigned int fence_context;\n\tspinlock_t fence_lock;\n\tlong unsigned int fence_seqno;\n\tchar timeline_name[32];\n};\n\nstruct drm_writeback_job {\n\tstruct drm_writeback_connector *connector;\n\tbool prepared;\n\tstruct work_struct cleanup_work;\n\tstruct list_head list_entry;\n\tstruct drm_framebuffer *fb;\n\tstruct dma_fence *out_fence;\n\tvoid *priv;\n};\n\ntypedef void (*drmres_release_t)(struct drm_device *, void *);\n\nstruct drmres_node {\n\tstruct list_head entry;\n\tdrmres_release_t release;\n\tconst char *name;\n\tsize_t size;\n};\n\nstruct drmres {\n\tstruct drmres_node node;\n\tu8 data[0];\n};\n\nstruct drop_reason_list {\n\tconst char * const *reasons;\n\tsize_t n_reasons;\n};\n\nstruct pci_driver;\n\nstruct pci_device_id;\n\nstruct drv_dev_and_id {\n\tstruct pci_driver *drv;\n\tstruct pci_dev *dev;\n\tconst struct pci_device_id *id;\n};\n\nstruct dst_cache_pcpu;\n\nstruct dst_cache {\n\tstruct dst_cache_pcpu *cache;\n\tlong unsigned int reset_ts;\n};\n\nstruct in_addr {\n\t__be32 s_addr;\n};\n\nstruct dst_cache_pcpu {\n\tlong unsigned int refresh_ts;\n\tstruct dst_entry *dst;\n\tu32 cookie;\n\tunion {\n\t\tstruct in_addr in_saddr;\n\t\tstruct in6_addr in6_saddr;\n\t};\n};\n\nstruct dst_ops;\n\nstruct xfrm_state;\n\nstruct uncached_list;\n\nstruct lwtunnel_state;\n\nstruct dst_entry {\n\tstruct net_device *dev;\n\tstruct dst_ops *ops;\n\tlong unsigned int _metrics;\n\tlong unsigned int expires;\n\tstruct xfrm_state *xfrm;\n\tint (*input)(struct sk_buff *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tshort unsigned int flags;\n\tshort int obsolete;\n\tshort unsigned int header_len;\n\tshort unsigned int trailer_len;\n\trcuref_t __rcuref;\n\tint __use;\n\tlong unsigned int lastuse;\n\tstruct callback_head callback_head;\n\tshort int error;\n\tshort int __pad;\n\t__u32 tclassid;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head rt_uncached;\n\tstruct uncached_list *rt_uncached_list;\n\tstruct lwtunnel_state *lwtstate;\n};\n\nstruct dst_metrics {\n\tu32 metrics[17];\n\trefcount_t refcnt;\n};\n\nstruct neighbour;\n\nstruct dst_ops {\n\tshort unsigned int family;\n\tunsigned int gc_thresh;\n\tvoid (*gc)(struct dst_ops *);\n\tstruct dst_entry * (*check)(struct dst_entry *, __u32);\n\tunsigned int (*default_advmss)(const struct dst_entry *);\n\tunsigned int (*mtu)(const struct dst_entry *);\n\tu32 * (*cow_metrics)(struct dst_entry *, long unsigned int);\n\tvoid (*destroy)(struct dst_entry *);\n\tvoid (*ifdown)(struct dst_entry *, struct net_device *);\n\tvoid (*negative_advice)(struct sock *, struct dst_entry *);\n\tvoid (*link_failure)(struct sk_buff *);\n\tvoid (*update_pmtu)(struct dst_entry *, struct sock *, struct sk_buff *, u32, bool);\n\tvoid (*redirect)(struct dst_entry *, struct sock *, struct sk_buff *);\n\tint (*local_out)(struct net *, struct sock *, struct sk_buff *);\n\tstruct neighbour * (*neigh_lookup)(const struct dst_entry *, struct sk_buff *, const void *);\n\tvoid (*confirm_neigh)(const struct dst_entry *, const void *);\n\tstruct kmem_cache *kmem_cachep;\n\tstruct percpu_counter pcpuc_entries;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct i2c_timings {\n\tu32 bus_freq_hz;\n\tu32 scl_rise_ns;\n\tu32 scl_fall_ns;\n\tu32 scl_int_delay_ns;\n\tu32 sda_fall_ns;\n\tu32 sda_hold_ns;\n\tu32 digital_filter_width_ns;\n\tu32 analog_filter_cutoff_freq_hz;\n};\n\nstruct i2c_bus_recovery_info {\n\tint (*recover_bus)(struct i2c_adapter *);\n\tint (*get_scl)(struct i2c_adapter *);\n\tvoid (*set_scl)(struct i2c_adapter *, int);\n\tint (*get_sda)(struct i2c_adapter *);\n\tvoid (*set_sda)(struct i2c_adapter *, int);\n\tint (*get_bus_free)(struct i2c_adapter *);\n\tvoid (*prepare_recovery)(struct i2c_adapter *);\n\tvoid (*unprepare_recovery)(struct i2c_adapter *);\n\tstruct gpio_desc *scl_gpiod;\n\tstruct gpio_desc *sda_gpiod;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_default;\n\tstruct pinctrl_state *pins_gpio;\n};\n\nstruct regmap;\n\nstruct i2c_msg;\n\nstruct dw_i2c_dev {\n\tstruct device *dev;\n\tstruct regmap *map;\n\tstruct regmap *sysmap;\n\tvoid *base;\n\tvoid *ext;\n\tstruct completion cmd_complete;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct reset_control *rst;\n\tstruct i2c_client *slave;\n\tu32 (*get_clk_rate_khz)(struct dw_i2c_dev *);\n\tint cmd_err;\n\tstruct i2c_msg *msgs;\n\tint msgs_num;\n\tint msg_write_idx;\n\tu32 tx_buf_len;\n\tu8 *tx_buf;\n\tint msg_read_idx;\n\tu32 rx_buf_len;\n\tu8 *rx_buf;\n\tint msg_err;\n\tunsigned int status;\n\tunsigned int abort_source;\n\tunsigned int sw_mask;\n\tint irq;\n\tu32 flags;\n\tstruct i2c_adapter adapter;\n\tu32 functionality;\n\tu32 master_cfg;\n\tu32 slave_cfg;\n\tunsigned int tx_fifo_depth;\n\tunsigned int rx_fifo_depth;\n\tint rx_outstanding;\n\tstruct i2c_timings timings;\n\tu32 sda_hold_time;\n\tu16 ss_hcnt;\n\tu16 ss_lcnt;\n\tu16 fs_hcnt;\n\tu16 fs_lcnt;\n\tu16 fp_hcnt;\n\tu16 fp_lcnt;\n\tu16 hs_hcnt;\n\tu16 hs_lcnt;\n\tint (*acquire_lock)(void);\n\tvoid (*release_lock)(void);\n\tint semaphore_idx;\n\tbool shared_with_punit;\n\tint (*init)(struct dw_i2c_dev *);\n\tint (*set_sda_hold_time)(struct dw_i2c_dev *);\n\tint mode;\n\tstruct i2c_bus_recovery_info rinfo;\n\tu32 bus_capacitance_pF;\n\tbool clk_freq_optimized;\n};\n\nstruct dw_scl_sda_cfg;\n\nstruct dw_pci_controller {\n\tu32 bus_num;\n\tu32 flags;\n\tstruct dw_scl_sda_cfg *scl_sda_cfg;\n\tint (*setup)(struct pci_dev *, struct dw_pci_controller *);\n\tu32 (*get_clk_rate_khz)(struct dw_i2c_dev *);\n};\n\nstruct dw_scl_sda_cfg {\n\tu16 ss_hcnt;\n\tu16 fs_hcnt;\n\tu16 ss_lcnt;\n\tu16 fs_lcnt;\n\tu32 sda_hold_time;\n};\n\nstruct dw_xpcs_info {\n\tu32 pcs;\n\tu32 pma;\n};\n\nstruct phylink_pcs_ops;\n\nstruct phylink;\n\nstruct phylink_pcs {\n\tlong unsigned int supported_interfaces[1];\n\tconst struct phylink_pcs_ops *ops;\n\tstruct phylink *phylink;\n\tbool neg_mode;\n\tbool poll;\n\tbool rxc_always_on;\n};\n\nstruct dw_xpcs_desc;\n\nstruct mdio_device;\n\nstruct dw_xpcs {\n\tstruct dw_xpcs_info info;\n\tconst struct dw_xpcs_desc *desc;\n\tstruct mdio_device *mdiodev;\n\tstruct clk_bulk_data clks[2];\n\tstruct phylink_pcs pcs;\n\tphy_interface_t interface;\n\tbool need_reset;\n};\n\nstruct dw_xpcs_compat {\n\tphy_interface_t interface;\n\tconst int *supported;\n\tint an_mode;\n\tint (*pma_config)(struct dw_xpcs *);\n};\n\nstruct dw_xpcs_desc {\n\tu32 id;\n\tu32 mask;\n\tconst struct dw_xpcs_compat *compat;\n};\n\nstruct mii_bus;\n\nstruct dw_xpcs_plat {\n\tstruct platform_device *pdev;\n\tstruct mii_bus *bus;\n\tbool reg_indir;\n\tint reg_width;\n\tvoid *reg_base;\n\tstruct clk *cclk;\n};\n\nstruct usb_otg_caps {\n\tu16 otg_rev;\n\tbool hnp_support;\n\tbool srp_support;\n\tbool adp_support;\n};\n\nstruct dwc2_core_params {\n\tstruct usb_otg_caps otg_caps;\n\tu8 phy_type;\n\tu8 speed;\n\tu8 phy_utmi_width;\n\tbool eusb2_disc;\n\tbool phy_ulpi_ddr;\n\tbool phy_ulpi_ext_vbus;\n\tbool enable_dynamic_fifo;\n\tbool en_multiple_tx_fifo;\n\tbool i2c_enable;\n\tbool acg_enable;\n\tbool ulpi_fs_ls;\n\tbool ts_dline;\n\tbool reload_ctl;\n\tbool uframe_sched;\n\tbool external_id_pin_ctl;\n\tint power_down;\n\tbool no_clock_gating;\n\tbool lpm;\n\tbool lpm_clock_gating;\n\tbool besl;\n\tbool hird_threshold_en;\n\tbool service_interval;\n\tu8 hird_threshold;\n\tbool activate_stm_fs_transceiver;\n\tbool activate_stm_id_vb_detection;\n\tbool activate_ingenic_overcurrent_detection;\n\tbool ipg_isoc_en;\n\tu16 max_packet_count;\n\tu32 max_transfer_size;\n\tu32 ahbcfg;\n\tu32 ref_clk_per;\n\tu16 sof_cnt_wkup_alert;\n\tbool host_dma;\n\tbool dma_desc_enable;\n\tbool dma_desc_fs_enable;\n\tbool host_support_fs_ls_low_power;\n\tbool host_ls_low_power_phy_clk;\n\tbool oc_disable;\n\tu8 host_channels;\n\tu16 host_rx_fifo_size;\n\tu16 host_nperio_tx_fifo_size;\n\tu16 host_perio_tx_fifo_size;\n\tbool g_dma;\n\tbool g_dma_desc;\n\tu32 g_rx_fifo_size;\n\tu32 g_np_tx_fifo_size;\n\tu32 g_tx_fifo_size[16];\n\tbool change_speed_quirk;\n};\n\nstruct dwc2_dma_desc {\n\tu32 status;\n\tu32 buf;\n};\n\nstruct dwc2_dregs_backup {\n\tu32 dcfg;\n\tu32 dctl;\n\tu32 daintmsk;\n\tu32 diepmsk;\n\tu32 doepmsk;\n\tu32 diepctl[16];\n\tu32 dieptsiz[16];\n\tu32 diepdma[16];\n\tu32 doepctl[16];\n\tu32 doeptsiz[16];\n\tu32 doepdma[16];\n\tu32 dtxfsiz[16];\n\tbool valid;\n};\n\nstruct dwc2_gregs_backup {\n\tu32 gotgctl;\n\tu32 gintmsk;\n\tu32 gahbcfg;\n\tu32 gusbcfg;\n\tu32 grxfsiz;\n\tu32 gnptxfsiz;\n\tu32 gi2cctl;\n\tu32 glpmcfg;\n\tu32 pcgcctl;\n\tu32 pcgcctl1;\n\tu32 gdfifocfg;\n\tu32 gpwrdn;\n\tbool valid;\n};\n\nunion dwc2_hcd_internal_flags {\n\tu32 d32;\n\tstruct {\n\t\tunsigned int port_connect_status_change: 1;\n\t\tunsigned int port_connect_status: 1;\n\t\tunsigned int port_reset_change: 1;\n\t\tunsigned int port_enable_change: 1;\n\t\tunsigned int port_suspend_change: 1;\n\t\tunsigned int port_over_current_change: 1;\n\t\tunsigned int port_l1_change: 1;\n\t\tunsigned int reserved: 25;\n\t} b;\n};\n\nstruct dwc2_hcd_iso_packet_desc {\n\tu32 offset;\n\tu32 length;\n\tu32 actual_length;\n\tu32 status;\n};\n\nstruct dwc2_hcd_pipe_info {\n\tu8 dev_addr;\n\tu8 ep_num;\n\tu8 pipe_type;\n\tu8 pipe_dir;\n\tu16 maxp;\n\tu16 maxp_mult;\n};\n\nstruct dwc2_qtd;\n\nstruct dwc2_hcd_urb {\n\tvoid *priv;\n\tstruct dwc2_qtd *qtd;\n\tvoid *buf;\n\tdma_addr_t dma;\n\tvoid *setup_packet;\n\tdma_addr_t setup_dma;\n\tu32 length;\n\tu32 actual_length;\n\tu32 status;\n\tu32 error_count;\n\tu32 packet_count;\n\tu32 flags;\n\tu16 interval;\n\tstruct dwc2_hcd_pipe_info pipe_info;\n\tstruct dwc2_hcd_iso_packet_desc iso_descs[0];\n};\n\nstruct dwc2_qh;\n\nstruct dwc2_host_chan {\n\tu8 hc_num;\n\tunsigned int dev_addr: 7;\n\tunsigned int ep_num: 4;\n\tunsigned int ep_is_in: 1;\n\tunsigned int speed: 4;\n\tunsigned int ep_type: 2;\n\tint: 6;\n\tunsigned int max_packet: 11;\n\tunsigned int data_pid_start: 2;\n\tunsigned int multi_count: 2;\n\tu8 *xfer_buf;\n\tdma_addr_t xfer_dma;\n\tdma_addr_t align_buf;\n\tu32 xfer_len;\n\tu32 xfer_count;\n\tu16 start_pkt_count;\n\tu8 xfer_started;\n\tu8 do_ping;\n\tu8 error_state;\n\tu8 halt_on_queue;\n\tu8 halt_pending;\n\tu8 do_split;\n\tu8 complete_split;\n\tu8 hub_addr;\n\tu8 hub_port;\n\tu8 xact_pos;\n\tu8 requests;\n\tu8 schinfo;\n\tu16 ntd;\n\tenum dwc2_halt_status halt_status;\n\tu32 hcint;\n\tstruct dwc2_qh *qh;\n\tstruct list_head hc_list_entry;\n\tdma_addr_t desc_list_addr;\n\tu32 desc_list_sz;\n\tstruct list_head split_order_list_entry;\n};\n\nstruct dwc2_hregs_backup {\n\tu32 hcfg;\n\tu32 hflbaddr;\n\tu32 haintmsk;\n\tu32 hcchar[16];\n\tu32 hcsplt[16];\n\tu32 hcintmsk[16];\n\tu32 hctsiz[16];\n\tu32 hcidma[16];\n\tu32 hcidmab[16];\n\tu32 hprt0;\n\tu32 hfir;\n\tu32 hptxfsiz;\n\tbool valid;\n};\n\nstruct dwc2_hs_transfer_time {\n\tu32 start_schedule_us;\n\tu16 duration_us;\n};\n\nstruct dwc2_hw_params {\n\tunsigned int op_mode: 3;\n\tunsigned int arch: 2;\n\tunsigned int dma_desc_enable: 1;\n\tunsigned int enable_dynamic_fifo: 1;\n\tunsigned int en_multiple_tx_fifo: 1;\n\tunsigned int rx_fifo_size: 16;\n\tint: 8;\n\tunsigned int host_nperio_tx_fifo_size: 16;\n\tunsigned int dev_nperio_tx_fifo_size: 16;\n\tunsigned int host_perio_tx_fifo_size: 16;\n\tunsigned int nperio_tx_q_depth: 3;\n\tunsigned int host_perio_tx_q_depth: 3;\n\tunsigned int dev_token_q_depth: 5;\n\tint: 5;\n\tunsigned int max_transfer_size: 26;\n\tlong: 6;\n\tunsigned int max_packet_count: 11;\n\tunsigned int host_channels: 5;\n\tunsigned int hs_phy_type: 2;\n\tunsigned int fs_phy_type: 2;\n\tunsigned int i2c_enable: 1;\n\tunsigned int acg_enable: 1;\n\tunsigned int num_dev_ep: 4;\n\tunsigned int num_dev_in_eps: 4;\n\tint: 2;\n\tunsigned int num_dev_perio_in_ep: 4;\n\tunsigned int total_fifo_size: 16;\n\tunsigned int power_optimized: 1;\n\tunsigned int hibernation: 1;\n\tunsigned int utmi_phy_data_width: 2;\n\tunsigned int lpm_mode: 1;\n\tunsigned int ipg_isoc_en: 1;\n\tunsigned int service_interval_mode: 1;\n\tu32 snpsid;\n\tu32 dev_ep_dirs;\n\tu32 g_tx_fifo_size[16];\n};\n\nstruct regulator_bulk_data {\n\tconst char *supply;\n\tstruct regulator *consumer;\n\tint init_load_uA;\n\tint ret;\n};\n\nstruct usb_role_switch;\n\nstruct usb_phy;\n\nstruct dwc2_hsotg_plat;\n\nstruct dwc2_hsotg {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct dwc2_hw_params hw_params;\n\tstruct dwc2_core_params params;\n\tenum usb_otg_state op_state;\n\tenum usb_dr_mode dr_mode;\n\tstruct usb_role_switch *role_sw;\n\tenum usb_dr_mode role_sw_default_mode;\n\tunsigned int hcd_enabled: 1;\n\tunsigned int gadget_enabled: 1;\n\tunsigned int ll_hw_enabled: 1;\n\tunsigned int hibernated: 1;\n\tunsigned int in_ppd: 1;\n\tbool bus_suspended;\n\tunsigned int reset_phy_on_wake: 1;\n\tunsigned int need_phy_for_wake: 1;\n\tunsigned int phy_off_for_suspend: 1;\n\tu16 frame_number;\n\tstruct phy *phy;\n\tstruct usb_phy *uphy;\n\tstruct dwc2_hsotg_plat *plat;\n\tstruct regulator_bulk_data supplies[2];\n\tstruct regulator *vbus_supply;\n\tstruct regulator *usb33d;\n\tspinlock_t lock;\n\tvoid *priv;\n\tint irq;\n\tstruct clk *clk;\n\tstruct clk *utmi_clk;\n\tstruct reset_control *reset;\n\tstruct reset_control *reset_ecc;\n\tunsigned int queuing_high_bandwidth: 1;\n\tunsigned int srp_success: 1;\n\tstruct workqueue_struct *wq_otg;\n\tstruct work_struct wf_otg;\n\tstruct timer_list wkp_timer;\n\tenum dwc2_lx_state lx_state;\n\tstruct dwc2_gregs_backup gr_backup;\n\tstruct dwc2_dregs_backup dr_backup;\n\tstruct dwc2_hregs_backup hr_backup;\n\tstruct dentry *debug_root;\n\tstruct debugfs_regset32 *regset;\n\tbool needs_byte_swap;\n\tunion dwc2_hcd_internal_flags flags;\n\tstruct list_head non_periodic_sched_inactive;\n\tstruct list_head non_periodic_sched_waiting;\n\tstruct list_head non_periodic_sched_active;\n\tstruct list_head *non_periodic_qh_ptr;\n\tstruct list_head periodic_sched_inactive;\n\tstruct list_head periodic_sched_ready;\n\tstruct list_head periodic_sched_assigned;\n\tstruct list_head periodic_sched_queued;\n\tstruct list_head split_order;\n\tu16 periodic_usecs;\n\tlong unsigned int hs_periodic_bitmap[13];\n\tu16 periodic_qh_count;\n\tbool new_connection;\n\tu16 last_frame_num;\n\tstruct list_head free_hc_list;\n\tint periodic_channels;\n\tint non_periodic_channels;\n\tint available_host_channels;\n\tstruct dwc2_host_chan *hc_ptr_array[16];\n\tu8 *status_buf;\n\tdma_addr_t status_buf_dma;\n\tstruct delayed_work start_work;\n\tstruct delayed_work reset_work;\n\tstruct work_struct phy_reset_work;\n\tu8 otg_port;\n\tu32 *frame_list;\n\tdma_addr_t frame_list_dma;\n\tu32 frame_list_sz;\n\tstruct kmem_cache *desc_gen_cache;\n\tstruct kmem_cache *desc_hsisoc_cache;\n\tstruct kmem_cache *unaligned_cache;\n};\n\nstruct dwc2_hsotg_plat {\n\tenum dwc2_hsotg_dmamode dma;\n\tunsigned int is_osc: 1;\n\tint phy_type;\n\tint (*phy_init)(struct platform_device *, int);\n\tint (*phy_exit)(struct platform_device *, int);\n};\n\nstruct dwc2_tt;\n\nstruct dwc2_qh {\n\tstruct dwc2_hsotg *hsotg;\n\tu8 ep_type;\n\tu8 ep_is_in;\n\tu16 maxp;\n\tu16 maxp_mult;\n\tu8 dev_speed;\n\tu8 data_toggle;\n\tu8 ping_state;\n\tu8 do_split;\n\tu8 td_first;\n\tu8 td_last;\n\tu16 host_us;\n\tu16 device_us;\n\tu16 host_interval;\n\tu16 device_interval;\n\tu16 next_active_frame;\n\tu16 start_active_frame;\n\ts16 num_hs_transfers;\n\tstruct dwc2_hs_transfer_time hs_transfers[8];\n\tu32 ls_start_schedule_slice;\n\tu16 ntd;\n\tu8 *dw_align_buf;\n\tdma_addr_t dw_align_buf_dma;\n\tstruct list_head qtd_list;\n\tstruct dwc2_host_chan *channel;\n\tstruct list_head qh_list_entry;\n\tstruct dwc2_dma_desc *desc_list;\n\tdma_addr_t desc_list_dma;\n\tu32 desc_list_sz;\n\tu32 *n_bytes;\n\tstruct timer_list unreserve_timer;\n\tstruct hrtimer wait_timer;\n\tstruct dwc2_tt *dwc_tt;\n\tint ttport;\n\tunsigned int tt_buffer_dirty: 1;\n\tunsigned int unreserve_pending: 1;\n\tunsigned int schedule_low_speed: 1;\n\tunsigned int want_wait: 1;\n\tunsigned int wait_timer_cancel: 1;\n};\n\nstruct dwc2_qtd {\n\tenum dwc2_control_phase control_phase;\n\tu8 in_process;\n\tu8 data_toggle;\n\tu8 complete_split;\n\tu8 isoc_split_pos;\n\tu16 isoc_frame_index;\n\tu16 isoc_split_offset;\n\tu16 isoc_td_last;\n\tu16 isoc_td_first;\n\tu32 ssplit_out_xfer_count;\n\tu8 error_count;\n\tu8 n_desc;\n\tu16 isoc_frame_index_last;\n\tu16 num_naks;\n\tstruct dwc2_hcd_urb *urb;\n\tstruct dwc2_qh *qh;\n\tstruct list_head qtd_list_entry;\n};\n\nstruct usb_tt;\n\nstruct dwc2_tt {\n\tint refcount;\n\tstruct usb_tt *usb_tt;\n\tlong unsigned int periodic_bitmaps[0];\n};\n\nstruct dwmac4_addrs {\n\tu32 dma_chan;\n\tu32 dma_chan_offset;\n\tu32 mtl_chan;\n\tu32 mtl_chan_offset;\n\tu32 mtl_ets_ctrl;\n\tu32 mtl_ets_ctrl_offset;\n\tu32 mtl_txq_weight;\n\tu32 mtl_txq_weight_offset;\n\tu32 mtl_send_slp_cred;\n\tu32 mtl_send_slp_cred_offset;\n\tu32 mtl_high_cred;\n\tu32 mtl_high_cred_offset;\n\tu32 mtl_low_cred;\n\tu32 mtl_low_cred_offset;\n};\n\nstruct dwmac5_error_desc;\n\nstruct dwmac5_error {\n\tconst struct dwmac5_error_desc *desc;\n};\n\nstruct dwmac5_error_desc {\n\tbool valid;\n\tconst char *desc;\n\tconst char *detailed_desc;\n};\n\nstruct dwxgmac3_error_desc;\n\nstruct dwxgmac3_error {\n\tconst struct dwxgmac3_error_desc *desc;\n};\n\nstruct dwxgmac3_error_desc {\n\tbool valid;\n\tconst char *desc;\n\tconst char *detailed_desc;\n};\n\nstruct dx_countlimit {\n\t__le16 limit;\n\t__le16 count;\n};\n\nstruct dx_entry {\n\t__le32 hash;\n\t__le32 block;\n};\n\nstruct dx_frame {\n\tstruct buffer_head *bh;\n\tstruct dx_entry *entries;\n\tstruct dx_entry *at;\n};\n\nstruct dx_hash_info {\n\tu32 hash;\n\tu32 minor_hash;\n\tint hash_version;\n\tu32 *seed;\n};\n\nstruct dx_map_entry {\n\tu32 hash;\n\tu16 offs;\n\tu16 size;\n};\n\nstruct fake_dirent {\n\t__le32 inode;\n\t__le16 rec_len;\n\tu8 name_len;\n\tu8 file_type;\n};\n\nstruct dx_node {\n\tstruct fake_dirent fake;\n\tstruct dx_entry entries[0];\n};\n\nstruct dx_root_info {\n\t__le32 reserved_zero;\n\tu8 hash_version;\n\tu8 info_length;\n\tu8 indirect_levels;\n\tu8 unused_flags;\n};\n\nstruct dx_root {\n\tstruct fake_dirent dot;\n\tchar dot_name[4];\n\tstruct fake_dirent dotdot;\n\tchar dotdot_name[4];\n\tstruct dx_root_info info;\n\tstruct dx_entry entries[0];\n};\n\nstruct dx_tail {\n\tu32 dt_reserved;\n\t__le32 dt_checksum;\n};\n\nstruct dyn_event_operations;\n\nstruct dyn_event {\n\tstruct list_head list;\n\tstruct dyn_event_operations *ops;\n};\n\nstruct dyn_event_operations {\n\tstruct list_head list;\n\tint (*create)(const char *);\n\tint (*show)(struct seq_file *, struct dyn_event *);\n\tbool (*is_busy)(struct dyn_event *);\n\tint (*free)(struct dyn_event *);\n\tbool (*match)(const char *, const char *, int, const char **, struct dyn_event *);\n};\n\nstruct dynevent_arg {\n\tconst char *str;\n\tchar separator;\n};\n\nstruct dynevent_arg_pair {\n\tconst char *lhs;\n\tconst char *rhs;\n\tchar operator;\n\tchar separator;\n};\n\nstruct seq_buf {\n\tchar *buffer;\n\tsize_t size;\n\tsize_t len;\n};\n\nstruct dynevent_cmd;\n\ntypedef int (*dynevent_create_fn_t)(struct dynevent_cmd *);\n\nstruct dynevent_cmd {\n\tstruct seq_buf seq;\n\tconst char *event_name;\n\tunsigned int n_fields;\n\tenum dynevent_type type;\n\tdynevent_create_fn_t run_command;\n\tvoid *private_data;\n};\n\nstruct e1000_eeprom_info {\n\te1000_eeprom_type type;\n\tu16 word_size;\n\tu16 opcode_bits;\n\tu16 address_bits;\n\tu16 delay_usec;\n\tu16 page_size;\n};\n\nstruct e1000_host_mng_dhcp_cookie {\n\tu32 signature;\n\tu8 status;\n\tu8 reserved0;\n\tu16 vlan_id;\n\tu32 reserved1;\n\tu16 reserved2;\n\tu8 reserved3;\n\tu8 checksum;\n};\n\nstruct e1000_shadow_ram;\n\nstruct e1000_hw {\n\tu8 *hw_addr;\n\tu8 *flash_address;\n\tvoid *ce4100_gbe_mdio_base_virt;\n\te1000_mac_type mac_type;\n\te1000_phy_type phy_type;\n\tu32 phy_init_script;\n\te1000_media_type media_type;\n\tvoid *back;\n\tstruct e1000_shadow_ram *eeprom_shadow_ram;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\te1000_fc_type fc;\n\te1000_bus_speed bus_speed;\n\te1000_bus_width bus_width;\n\te1000_bus_type bus_type;\n\tstruct e1000_eeprom_info eeprom;\n\te1000_ms_type master_slave;\n\te1000_ms_type original_master_slave;\n\te1000_ffe_config ffe_config_state;\n\tu32 asf_firmware_present;\n\tu32 eeprom_semaphore_present;\n\tlong unsigned int io_base;\n\tu32 phy_id;\n\tu32 phy_revision;\n\tu32 phy_addr;\n\tu32 original_fc;\n\tu32 txcw;\n\tu32 autoneg_failed;\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tu32 mc_filter_type;\n\tu32 num_mc_addrs;\n\tu32 collision_delta;\n\tu32 tx_packet_delta;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tbool tx_pkt_filtering;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tu16 phy_spd_default;\n\tu16 autoneg_advertised;\n\tu16 pci_cmd_word;\n\tu16 fc_high_water;\n\tu16 fc_low_water;\n\tu16 fc_pause_time;\n\tu16 current_ifs_val;\n\tu16 ifs_min_val;\n\tu16 ifs_max_val;\n\tu16 ifs_step_size;\n\tu16 ifs_ratio;\n\tu16 device_id;\n\tu16 vendor_id;\n\tu16 subsystem_id;\n\tu16 subsystem_vendor_id;\n\tu8 revision_id;\n\tu8 autoneg;\n\tu8 mdix;\n\tu8 forced_speed_duplex;\n\tu8 wait_autoneg_complete;\n\tu8 dma_fairness;\n\tu8 mac_addr[6];\n\tu8 perm_mac_addr[6];\n\tbool disable_polarity_correction;\n\tbool speed_downgraded;\n\te1000_smart_speed smart_speed;\n\te1000_dsp_config dsp_config_state;\n\tbool get_link_status;\n\tbool serdes_has_link;\n\tbool tbi_compatibility_en;\n\tbool tbi_compatibility_on;\n\tbool laa_is_present;\n\tbool phy_reset_disable;\n\tbool initialize_hw_bits_disable;\n\tbool fc_send_xon;\n\tbool fc_strict_ieee;\n\tbool report_tx_early;\n\tbool adaptive_ifs;\n\tbool ifs_params_forced;\n\tbool in_ifs_mode;\n\tbool mng_reg_access_disabled;\n\tbool leave_av_bit_off;\n\tbool bad_tx_carr_stats_fd;\n\tbool has_smbus;\n};\n\nstruct e1000_hw_stats {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 txerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorcl;\n\tu64 gorch;\n\tu64 gotcl;\n\tu64 gotch;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rlerrc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 torl;\n\tu64 torh;\n\tu64 totl;\n\tu64 toth;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n};\n\nstruct e1000_phy_info {\n\te1000_cable_length cable_length;\n\te1000_10bt_ext_dist_enable extended_10bt_distance;\n\te1000_rev_polarity cable_polarity;\n\te1000_downshift downshift;\n\te1000_polarity_reversal polarity_correction;\n\te1000_auto_x_mode mdix_mode;\n\te1000_1000t_rx_status local_rx;\n\te1000_1000t_rx_status remote_rx;\n};\n\nstruct e1000_phy_stats {\n\tu32 idle_errors;\n\tu32 receive_errors;\n};\n\nstruct e1000_tx_buffer;\n\nstruct e1000_tx_ring {\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tunsigned int next_to_use;\n\tunsigned int next_to_clean;\n\tstruct e1000_tx_buffer *buffer_info;\n\tu16 tdh;\n\tu16 tdt;\n\tbool last_tx_tso;\n};\n\nstruct e1000_rx_buffer;\n\nstruct e1000_rx_ring {\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tunsigned int next_to_use;\n\tunsigned int next_to_clean;\n\tstruct e1000_rx_buffer *buffer_info;\n\tstruct sk_buff *rx_skb_top;\n\tint cpu;\n\tu16 rdh;\n\tu16 rdt;\n};\n\nstruct e1000_adapter {\n\tlong unsigned int active_vlans[64];\n\tu16 mng_vlan_id;\n\tu32 bd_number;\n\tu32 rx_buffer_len;\n\tu32 wol;\n\tu32 smartspeed;\n\tu32 en_mng_pt;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tspinlock_t stats_lock;\n\tunsigned int total_tx_bytes;\n\tunsigned int total_tx_packets;\n\tunsigned int total_rx_bytes;\n\tunsigned int total_rx_packets;\n\tu32 itr;\n\tu32 itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tu8 fc_autoneg;\n\tstruct e1000_tx_ring *tx_ring;\n\tunsigned int restart_queue;\n\tu32 txd_cmd;\n\tu32 tx_int_delay;\n\tu32 tx_abs_int_delay;\n\tu32 gotcl;\n\tu64 gotcl_old;\n\tu64 tpt_old;\n\tu64 colc_old;\n\tu32 tx_timeout_count;\n\tu32 tx_fifo_head;\n\tu32 tx_head_addr;\n\tu32 tx_fifo_size;\n\tu8 tx_timeout_factor;\n\tatomic_t tx_fifo_stall;\n\tbool pcix_82544;\n\tbool detect_tx_hung;\n\tbool dump_buffers;\n\tbool (*clean_rx)(struct e1000_adapter *, struct e1000_rx_ring *, int *, int);\n\tvoid (*alloc_rx_buf)(struct e1000_adapter *, struct e1000_rx_ring *, int);\n\tstruct e1000_rx_ring *rx_ring;\n\tstruct napi_struct napi;\n\tint num_tx_queues;\n\tint num_rx_queues;\n\tu64 hw_csum_err;\n\tu64 hw_csum_good;\n\tu32 alloc_rx_buff_failed;\n\tu32 rx_int_delay;\n\tu32 rx_abs_int_delay;\n\tbool rx_csum;\n\tu32 gorcl;\n\tu64 gorcl_old;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tstruct e1000_hw hw;\n\tstruct e1000_hw_stats stats;\n\tstruct e1000_phy_info phy_info;\n\tstruct e1000_phy_stats phy_stats;\n\tu32 test_icr;\n\tstruct e1000_tx_ring test_tx_ring;\n\tstruct e1000_rx_ring test_rx_ring;\n\tint msg_enable;\n\tbool tso_force;\n\tbool smart_power_down;\n\tbool quad_port_a;\n\tlong unsigned int flags;\n\tu32 eeprom_wol;\n\tint bars;\n\tint need_ioport;\n\tbool discarding;\n\tstruct work_struct reset_task;\n\tstruct delayed_work watchdog_task;\n\tstruct delayed_work fifo_stall_task;\n\tstruct delayed_work phy_info_task;\n};\n\nstruct e1000_hw___2;\n\nstruct e1000_mac_operations {\n\ts32 (*id_led_init)(struct e1000_hw___2 *);\n\ts32 (*blink_led)(struct e1000_hw___2 *);\n\tbool (*check_mng_mode)(struct e1000_hw___2 *);\n\ts32 (*check_for_link)(struct e1000_hw___2 *);\n\ts32 (*cleanup_led)(struct e1000_hw___2 *);\n\tvoid (*clear_hw_cntrs)(struct e1000_hw___2 *);\n\tvoid (*clear_vfta)(struct e1000_hw___2 *);\n\ts32 (*get_bus_info)(struct e1000_hw___2 *);\n\tvoid (*set_lan_id)(struct e1000_hw___2 *);\n\ts32 (*get_link_up_info)(struct e1000_hw___2 *, u16 *, u16 *);\n\ts32 (*led_on)(struct e1000_hw___2 *);\n\ts32 (*led_off)(struct e1000_hw___2 *);\n\tvoid (*update_mc_addr_list)(struct e1000_hw___2 *, u8 *, u32);\n\ts32 (*reset_hw)(struct e1000_hw___2 *);\n\ts32 (*init_hw)(struct e1000_hw___2 *);\n\ts32 (*setup_link)(struct e1000_hw___2 *);\n\ts32 (*setup_physical_interface)(struct e1000_hw___2 *);\n\ts32 (*setup_led)(struct e1000_hw___2 *);\n\tvoid (*write_vfta)(struct e1000_hw___2 *, u32, u32);\n\tvoid (*config_collision_dist)(struct e1000_hw___2 *);\n\tint (*rar_set)(struct e1000_hw___2 *, u8 *, u32);\n\ts32 (*read_mac_addr)(struct e1000_hw___2 *);\n\tu32 (*rar_get_count)(struct e1000_hw___2 *);\n};\n\nstruct e1000_mac_info {\n\tstruct e1000_mac_operations ops;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tenum e1000_mac_type type;\n\tu32 collision_delta;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tu32 mc_filter_type;\n\tu32 tx_packet_delta;\n\tu32 txcw;\n\tu16 current_ifs_val;\n\tu16 ifs_max_val;\n\tu16 ifs_min_val;\n\tu16 ifs_ratio;\n\tu16 ifs_step_size;\n\tu16 mta_reg_count;\n\tu32 mta_shadow[128];\n\tu16 rar_entry_count;\n\tu8 forced_speed_duplex;\n\tbool adaptive_ifs;\n\tbool has_fwsm;\n\tbool arc_subsystem_valid;\n\tbool autoneg;\n\tbool autoneg_failed;\n\tbool get_link_status;\n\tbool in_ifs_mode;\n\tbool serdes_has_link;\n\tbool tx_pkt_filtering;\n\tenum e1000_serdes_link_state serdes_link_state;\n};\n\nstruct e1000_fc_info {\n\tu32 high_water;\n\tu32 low_water;\n\tu16 pause_time;\n\tu16 refresh_time;\n\tbool send_xon;\n\tbool strict_ieee;\n\tenum e1000_fc_mode current_mode;\n\tenum e1000_fc_mode requested_mode;\n};\n\nstruct e1000_phy_operations {\n\ts32 (*acquire)(struct e1000_hw___2 *);\n\ts32 (*cfg_on_link_up)(struct e1000_hw___2 *);\n\ts32 (*check_polarity)(struct e1000_hw___2 *);\n\ts32 (*check_reset_block)(struct e1000_hw___2 *);\n\ts32 (*commit)(struct e1000_hw___2 *);\n\ts32 (*force_speed_duplex)(struct e1000_hw___2 *);\n\ts32 (*get_cfg_done)(struct e1000_hw___2 *);\n\ts32 (*get_cable_length)(struct e1000_hw___2 *);\n\ts32 (*get_info)(struct e1000_hw___2 *);\n\ts32 (*set_page)(struct e1000_hw___2 *, u16);\n\ts32 (*read_reg)(struct e1000_hw___2 *, u32, u16 *);\n\ts32 (*read_reg_locked)(struct e1000_hw___2 *, u32, u16 *);\n\ts32 (*read_reg_page)(struct e1000_hw___2 *, u32, u16 *);\n\tvoid (*release)(struct e1000_hw___2 *);\n\ts32 (*reset)(struct e1000_hw___2 *);\n\ts32 (*set_d0_lplu_state)(struct e1000_hw___2 *, bool);\n\ts32 (*set_d3_lplu_state)(struct e1000_hw___2 *, bool);\n\ts32 (*write_reg)(struct e1000_hw___2 *, u32, u16);\n\ts32 (*write_reg_locked)(struct e1000_hw___2 *, u32, u16);\n\ts32 (*write_reg_page)(struct e1000_hw___2 *, u32, u16);\n\tvoid (*power_up)(struct e1000_hw___2 *);\n\tvoid (*power_down)(struct e1000_hw___2 *);\n};\n\nstruct e1000_phy_info___2 {\n\tstruct e1000_phy_operations ops;\n\tenum e1000_phy_type type;\n\tenum e1000_1000t_rx_status local_rx;\n\tenum e1000_1000t_rx_status remote_rx;\n\tenum e1000_ms_type ms_type;\n\tenum e1000_ms_type original_ms_type;\n\tenum e1000_rev_polarity cable_polarity;\n\tenum e1000_smart_speed smart_speed;\n\tu32 addr;\n\tu32 id;\n\tu32 reset_delay_us;\n\tu32 revision;\n\tu32 retry_count;\n\tenum e1000_media_type media_type;\n\tu16 autoneg_advertised;\n\tu16 autoneg_mask;\n\tu16 cable_length;\n\tu16 max_cable_length;\n\tu16 min_cable_length;\n\tu8 mdix;\n\tbool disable_polarity_correction;\n\tbool is_mdix;\n\tbool polarity_correction;\n\tbool speed_downgraded;\n\tbool autoneg_wait_to_complete;\n\tbool retry_enabled;\n};\n\nstruct e1000_nvm_operations {\n\ts32 (*acquire)(struct e1000_hw___2 *);\n\ts32 (*read)(struct e1000_hw___2 *, u16, u16, u16 *);\n\tvoid (*release)(struct e1000_hw___2 *);\n\tvoid (*reload)(struct e1000_hw___2 *);\n\ts32 (*update)(struct e1000_hw___2 *);\n\ts32 (*valid_led_default)(struct e1000_hw___2 *, u16 *);\n\ts32 (*validate)(struct e1000_hw___2 *);\n\ts32 (*write)(struct e1000_hw___2 *, u16, u16, u16 *);\n};\n\nstruct e1000_nvm_info {\n\tstruct e1000_nvm_operations ops;\n\tenum e1000_nvm_type___2 type;\n\tenum e1000_nvm_override override;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\tu16 word_size;\n\tu16 delay_usec;\n\tu16 address_bits;\n\tu16 opcode_bits;\n\tu16 page_size;\n};\n\nstruct e1000_bus_info {\n\tenum e1000_bus_width width;\n\tu16 func;\n};\n\nstruct e1000_dev_spec_82571 {\n\tbool laa_is_present;\n\tu32 smb_counter;\n};\n\nstruct e1000_dev_spec_80003es2lan {\n\tbool mdic_wa_enable;\n};\n\nstruct e1000_shadow_ram___2 {\n\tu16 value;\n\tbool modified;\n};\n\nstruct e1000_dev_spec_ich8lan {\n\tbool kmrn_lock_loss_workaround_enabled;\n\tstruct e1000_shadow_ram___2 shadow_ram[2048];\n\tbool nvm_k1_enabled;\n\tbool eee_disable;\n\tu16 eee_lp_ability;\n\tenum e1000_ulp_state ulp_state;\n};\n\nstruct e1000_adapter___2;\n\nstruct e1000_hw___2 {\n\tstruct e1000_adapter___2 *adapter;\n\tvoid *hw_addr;\n\tvoid *flash_address;\n\tstruct e1000_mac_info mac;\n\tstruct e1000_fc_info fc;\n\tstruct e1000_phy_info___2 phy;\n\tstruct e1000_nvm_info nvm;\n\tstruct e1000_bus_info bus;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tunion {\n\t\tstruct e1000_dev_spec_82571 e82571;\n\t\tstruct e1000_dev_spec_80003es2lan e80003es2lan;\n\t\tstruct e1000_dev_spec_ich8lan ich8lan;\n\t} dev_spec;\n};\n\nstruct e1000_hw_stats___2 {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 tor;\n\tu64 tot;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n};\n\nstruct e1000_phy_regs {\n\tu16 bmcr;\n\tu16 bmsr;\n\tu16 advertise;\n\tu16 lpa;\n\tu16 expansion;\n\tu16 ctrl1000;\n\tu16 stat1000;\n\tu16 estatus;\n};\n\nstruct e1000_buffer;\n\nstruct e1000_ring {\n\tstruct e1000_adapter___2 *adapter;\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tu16 next_to_use;\n\tu16 next_to_clean;\n\tvoid *head;\n\tvoid *tail;\n\tstruct e1000_buffer *buffer_info;\n\tchar name[21];\n\tu32 ims_val;\n\tu32 itr_val;\n\tvoid *itr_register;\n\tint set_itr;\n\tstruct sk_buff *rx_skb_top;\n};\n\nstruct hwtstamp_config {\n\tint flags;\n\tint tx_type;\n\tint rx_filter;\n};\n\nstruct ptp_pin_desc;\n\nstruct ptp_system_timestamp;\n\nstruct system_device_crosststamp;\n\nstruct ptp_clock_request;\n\nstruct ptp_clock_info {\n\tstruct module *owner;\n\tchar name[32];\n\ts32 max_adj;\n\tint n_alarm;\n\tint n_ext_ts;\n\tint n_per_out;\n\tint n_pins;\n\tint pps;\n\tstruct ptp_pin_desc *pin_config;\n\tint (*adjfine)(struct ptp_clock_info *, long int);\n\tint (*adjphase)(struct ptp_clock_info *, s32);\n\ts32 (*getmaxphase)(struct ptp_clock_info *);\n\tint (*adjtime)(struct ptp_clock_info *, s64);\n\tint (*gettime64)(struct ptp_clock_info *, struct timespec64 *);\n\tint (*gettimex64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *);\n\tint (*getcrosststamp)(struct ptp_clock_info *, struct system_device_crosststamp *);\n\tint (*settime64)(struct ptp_clock_info *, const struct timespec64 *);\n\tint (*getcycles64)(struct ptp_clock_info *, struct timespec64 *);\n\tint (*getcyclesx64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *);\n\tint (*getcrosscycles)(struct ptp_clock_info *, struct system_device_crosststamp *);\n\tint (*enable)(struct ptp_clock_info *, struct ptp_clock_request *, int);\n\tint (*verify)(struct ptp_clock_info *, unsigned int, enum ptp_pin_function, unsigned int);\n\tlong int (*do_aux_work)(struct ptp_clock_info *);\n};\n\nstruct pm_qos_request {\n\tstruct plist_node node;\n\tstruct pm_qos_constraints *qos;\n};\n\nstruct e1000_info;\n\nstruct msix_entry;\n\nstruct ptp_clock;\n\nstruct e1000_adapter___2 {\n\tstruct timer_list watchdog_timer;\n\tstruct timer_list phy_info_timer;\n\tstruct timer_list blink_timer;\n\tstruct work_struct reset_task;\n\tstruct work_struct watchdog_task;\n\tconst struct e1000_info *ei;\n\tlong unsigned int active_vlans[64];\n\tu32 bd_number;\n\tu32 rx_buffer_len;\n\tu16 mng_vlan_id;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tu16 eeprom_vers;\n\tlong unsigned int state;\n\tu32 itr;\n\tu32 itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct e1000_ring *tx_ring;\n\tu32 tx_fifo_limit;\n\tstruct napi_struct napi;\n\tunsigned int uncorr_errors;\n\tunsigned int corr_errors;\n\tunsigned int restart_queue;\n\tu32 txd_cmd;\n\tbool detect_tx_hung;\n\tbool tx_hang_recheck;\n\tu8 tx_timeout_factor;\n\tu32 tx_int_delay;\n\tu32 tx_abs_int_delay;\n\tunsigned int total_tx_bytes;\n\tunsigned int total_tx_packets;\n\tunsigned int total_rx_bytes;\n\tunsigned int total_rx_packets;\n\tu64 tpt_old;\n\tu64 colc_old;\n\tu32 gotc;\n\tu64 gotc_old;\n\tu32 tx_timeout_count;\n\tu32 tx_fifo_head;\n\tu32 tx_head_addr;\n\tu32 tx_fifo_size;\n\tu32 tx_dma_failed;\n\tu32 tx_hwtstamp_timeouts;\n\tu32 tx_hwtstamp_skipped;\n\tlong: 64;\n\tlong: 64;\n\tbool (*clean_rx)(struct e1000_ring *, int *, int);\n\tvoid (*alloc_rx_buf)(struct e1000_ring *, int, gfp_t);\n\tstruct e1000_ring *rx_ring;\n\tu32 rx_int_delay;\n\tu32 rx_abs_int_delay;\n\tu64 hw_csum_err;\n\tu64 hw_csum_good;\n\tu64 rx_hdr_split;\n\tu32 gorc;\n\tu64 gorc_old;\n\tu32 alloc_rx_buff_failed;\n\tu32 rx_dma_failed;\n\tu32 rx_hwtstamp_cleared;\n\tunsigned int rx_ps_pages;\n\tu16 rx_ps_bsize0;\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tstruct e1000_hw___2 hw;\n\tspinlock_t stats64_lock;\n\tstruct e1000_hw_stats___2 stats;\n\tstruct e1000_phy_info___2 phy_info;\n\tstruct e1000_phy_stats phy_stats;\n\tstruct e1000_phy_regs phy_regs;\n\tstruct e1000_ring test_tx_ring;\n\tstruct e1000_ring test_rx_ring;\n\tu32 test_icr;\n\tu32 msg_enable;\n\tunsigned int num_vectors;\n\tstruct msix_entry *msix_entries;\n\tint int_mode;\n\tu32 eiac_mask;\n\tu32 eeprom_wol;\n\tu32 wol;\n\tu32 pba;\n\tu32 max_hw_frame_size;\n\tbool fc_autoneg;\n\tunsigned int flags;\n\tunsigned int flags2;\n\tstruct work_struct downshift_task;\n\tstruct work_struct update_phy_task;\n\tstruct work_struct print_hang_task;\n\tint phy_hang_count;\n\tu16 tx_ring_count;\n\tu16 rx_ring_count;\n\tstruct hwtstamp_config hwtstamp_config;\n\tstruct delayed_work systim_overflow_work;\n\tstruct sk_buff *tx_hwtstamp_skb;\n\tlong unsigned int tx_hwtstamp_start;\n\tstruct work_struct tx_hwtstamp_work;\n\tspinlock_t systim_lock;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct pm_qos_request pm_qos_req;\n\tlong int ptp_delta;\n\tu16 eee_advert;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion e1000_adv_rx_desc {\n\tstruct {\n\t\t__le64 pkt_addr;\n\t\t__le64 hdr_addr;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\tstruct {\n\t\t\t\t__le16 pkt_info;\n\t\t\t\t__le16 hdr_info;\n\t\t\t} lo_dword;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nstruct e1000_adv_tx_context_desc {\n\t__le32 vlan_macip_lens;\n\t__le32 seqnum_seed;\n\t__le32 type_tucmd_mlhl;\n\t__le32 mss_l4len_idx;\n};\n\nunion e1000_adv_tx_desc {\n\tstruct {\n\t\t__le64 buffer_addr;\n\t\t__le32 cmd_type_len;\n\t\t__le32 olinfo_status;\n\t} read;\n\tstruct {\n\t\t__le64 rsvd;\n\t\t__le32 nxtseq_seed;\n\t\t__le32 status;\n\t} wb;\n};\n\nstruct e1000_ps_page;\n\nstruct e1000_buffer {\n\tdma_addr_t dma;\n\tstruct sk_buff *skb;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int time_stamp;\n\t\t\tu16 length;\n\t\t\tu16 next_to_watch;\n\t\t\tunsigned int segs;\n\t\t\tunsigned int bytecount;\n\t\t\tu16 mapped_as_page;\n\t\t};\n\t\tstruct {\n\t\t\tstruct e1000_ps_page *ps_pages;\n\t\t\tstruct page *page;\n\t\t};\n\t};\n};\n\nstruct e1000_bus_info___2 {\n\tenum e1000_bus_type type;\n\tenum e1000_bus_speed speed;\n\tenum e1000_bus_width width;\n\tu32 snoop;\n\tu16 func;\n\tu16 pci_cmd_word;\n};\n\nstruct e1000_context_desc {\n\tunion {\n\t\t__le32 ip_config;\n\t\tstruct {\n\t\t\tu8 ipcss;\n\t\t\tu8 ipcso;\n\t\t\t__le16 ipcse;\n\t\t} ip_fields;\n\t} lower_setup;\n\tunion {\n\t\t__le32 tcp_config;\n\t\tstruct {\n\t\t\tu8 tucss;\n\t\t\tu8 tucso;\n\t\t\t__le16 tucse;\n\t\t} tcp_fields;\n\t} upper_setup;\n\t__le32 cmd_and_length;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\tu8 status;\n\t\t\tu8 hdr_len;\n\t\t\t__le16 mss;\n\t\t} fields;\n\t} tcp_seg_setup;\n};\n\nstruct e1000_sfp_flags {\n\tu8 e1000_base_sx: 1;\n\tu8 e1000_base_lx: 1;\n\tu8 e1000_base_cx: 1;\n\tu8 e1000_base_t: 1;\n\tu8 e100_base_lx: 1;\n\tu8 e100_base_fx: 1;\n\tu8 e10_base_bx10: 1;\n\tu8 e10_base_px: 1;\n};\n\nstruct e1000_dev_spec_82575 {\n\tbool sgmii_active;\n\tbool global_device_reset;\n\tbool eee_disable;\n\tbool clear_semaphore_once;\n\tstruct e1000_sfp_flags eth_flags;\n\tbool module_plugged;\n\tu8 media_port;\n\tbool media_changed;\n\tbool mas_capable;\n};\n\nstruct e1000_fc_info___2 {\n\tu32 high_water;\n\tu32 low_water;\n\tu16 pause_time;\n\tbool send_xon;\n\tbool strict_ieee;\n\tenum e1000_fc_mode current_mode;\n\tenum e1000_fc_mode requested_mode;\n};\n\nstruct e1000_fw_version {\n\tu32 etrack_id;\n\tu16 eep_major;\n\tu16 eep_minor;\n\tu16 eep_build;\n\tu8 invm_major;\n\tu8 invm_minor;\n\tu8 invm_img_type;\n\tbool or_valid;\n\tu16 or_major;\n\tu16 or_build;\n\tu16 or_patch;\n};\n\nstruct e1000_host_mng_command_header {\n\tu8 command_id;\n\tu8 checksum;\n\tu16 reserved1;\n\tu16 reserved2;\n\tu16 command_length;\n};\n\nstruct e1000_hw___3;\n\nstruct e1000_mac_operations___2 {\n\ts32 (*check_for_link)(struct e1000_hw___3 *);\n\ts32 (*reset_hw)(struct e1000_hw___3 *);\n\ts32 (*init_hw)(struct e1000_hw___3 *);\n\tbool (*check_mng_mode)(struct e1000_hw___3 *);\n\ts32 (*setup_physical_interface)(struct e1000_hw___3 *);\n\tvoid (*rar_set)(struct e1000_hw___3 *, u8 *, u32);\n\ts32 (*read_mac_addr)(struct e1000_hw___3 *);\n\ts32 (*get_speed_and_duplex)(struct e1000_hw___3 *, u16 *, u16 *);\n\ts32 (*acquire_swfw_sync)(struct e1000_hw___3 *, u16);\n\tvoid (*release_swfw_sync)(struct e1000_hw___3 *, u16);\n\ts32 (*get_thermal_sensor_data)(struct e1000_hw___3 *);\n\ts32 (*init_thermal_sensor_thresh)(struct e1000_hw___3 *);\n\tvoid (*write_vfta)(struct e1000_hw___3 *, u32, u32);\n};\n\nstruct e1000_thermal_diode_data {\n\tu8 location;\n\tu8 temp;\n\tu8 caution_thresh;\n\tu8 max_op_thresh;\n};\n\nstruct e1000_thermal_sensor_data {\n\tstruct e1000_thermal_diode_data sensor[3];\n};\n\nstruct e1000_mac_info___2 {\n\tstruct e1000_mac_operations___2 ops;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tenum e1000_mac_type___2 type;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tu32 mc_filter_type;\n\tu32 txcw;\n\tu16 mta_reg_count;\n\tu16 uta_reg_count;\n\tu32 mta_shadow[128];\n\tu16 rar_entry_count;\n\tu8 forced_speed_duplex;\n\tbool adaptive_ifs;\n\tbool arc_subsystem_valid;\n\tbool asf_firmware_present;\n\tbool autoneg;\n\tbool autoneg_failed;\n\tbool disable_hw_init_bits;\n\tbool get_link_status;\n\tbool ifs_params_forced;\n\tbool in_ifs_mode;\n\tbool report_tx_early;\n\tbool serdes_has_link;\n\tbool tx_pkt_filtering;\n\tstruct e1000_thermal_sensor_data thermal_sensor_data;\n};\n\nstruct e1000_phy_operations___2 {\n\ts32 (*acquire)(struct e1000_hw___3 *);\n\ts32 (*check_polarity)(struct e1000_hw___3 *);\n\ts32 (*check_reset_block)(struct e1000_hw___3 *);\n\ts32 (*force_speed_duplex)(struct e1000_hw___3 *);\n\ts32 (*get_cfg_done)(struct e1000_hw___3 *);\n\ts32 (*get_cable_length)(struct e1000_hw___3 *);\n\ts32 (*get_phy_info)(struct e1000_hw___3 *);\n\ts32 (*read_reg)(struct e1000_hw___3 *, u32, u16 *);\n\tvoid (*release)(struct e1000_hw___3 *);\n\ts32 (*reset)(struct e1000_hw___3 *);\n\ts32 (*set_d0_lplu_state)(struct e1000_hw___3 *, bool);\n\ts32 (*set_d3_lplu_state)(struct e1000_hw___3 *, bool);\n\ts32 (*write_reg)(struct e1000_hw___3 *, u32, u16);\n\ts32 (*read_i2c_byte)(struct e1000_hw___3 *, u8, u8, u8 *);\n\ts32 (*write_i2c_byte)(struct e1000_hw___3 *, u8, u8, u8);\n};\n\nstruct e1000_phy_info___3 {\n\tstruct e1000_phy_operations___2 ops;\n\tenum e1000_phy_type___2 type;\n\tenum e1000_1000t_rx_status local_rx;\n\tenum e1000_1000t_rx_status remote_rx;\n\tenum e1000_ms_type ms_type;\n\tenum e1000_ms_type original_ms_type;\n\tenum e1000_rev_polarity cable_polarity;\n\tenum e1000_smart_speed smart_speed;\n\tu32 addr;\n\tu32 id;\n\tu32 reset_delay_us;\n\tu32 revision;\n\tenum e1000_media_type media_type;\n\tu16 autoneg_advertised;\n\tu16 autoneg_mask;\n\tu16 cable_length;\n\tu16 max_cable_length;\n\tu16 min_cable_length;\n\tu16 pair_length[4];\n\tu8 mdix;\n\tbool disable_polarity_correction;\n\tbool is_mdix;\n\tbool polarity_correction;\n\tbool reset_disable;\n\tbool speed_downgraded;\n\tbool autoneg_wait_to_complete;\n};\n\nstruct e1000_nvm_operations___2 {\n\ts32 (*acquire)(struct e1000_hw___3 *);\n\ts32 (*read)(struct e1000_hw___3 *, u16, u16, u16 *);\n\tvoid (*release)(struct e1000_hw___3 *);\n\ts32 (*write)(struct e1000_hw___3 *, u16, u16, u16 *);\n\ts32 (*update)(struct e1000_hw___3 *);\n\ts32 (*validate)(struct e1000_hw___3 *);\n\ts32 (*valid_led_default)(struct e1000_hw___3 *, u16 *);\n};\n\nstruct e1000_nvm_info___2 {\n\tstruct e1000_nvm_operations___2 ops;\n\tenum e1000_nvm_type type;\n\tenum e1000_nvm_override override;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\tu16 word_size;\n\tu16 delay_usec;\n\tu16 address_bits;\n\tu16 opcode_bits;\n\tu16 page_size;\n};\n\nstruct e1000_mbx_operations {\n\ts32 (*init_params)(struct e1000_hw___3 *);\n\ts32 (*read)(struct e1000_hw___3 *, u32 *, u16, u16, bool);\n\ts32 (*write)(struct e1000_hw___3 *, u32 *, u16, u16);\n\ts32 (*read_posted)(struct e1000_hw___3 *, u32 *, u16, u16);\n\ts32 (*write_posted)(struct e1000_hw___3 *, u32 *, u16, u16);\n\ts32 (*check_for_msg)(struct e1000_hw___3 *, u16);\n\ts32 (*check_for_ack)(struct e1000_hw___3 *, u16);\n\ts32 (*check_for_rst)(struct e1000_hw___3 *, u16);\n\ts32 (*unlock)(struct e1000_hw___3 *, u16);\n};\n\nstruct e1000_mbx_stats {\n\tu32 msgs_tx;\n\tu32 msgs_rx;\n\tu32 acks;\n\tu32 reqs;\n\tu32 rsts;\n};\n\nstruct e1000_mbx_info {\n\tstruct e1000_mbx_operations ops;\n\tstruct e1000_mbx_stats stats;\n\tu32 timeout;\n\tu32 usec_delay;\n\tu16 size;\n};\n\nstruct e1000_hw___3 {\n\tvoid *back;\n\tu8 *hw_addr;\n\tu8 *flash_address;\n\tlong unsigned int io_base;\n\tstruct e1000_mac_info___2 mac;\n\tstruct e1000_fc_info___2 fc;\n\tstruct e1000_phy_info___3 phy;\n\tstruct e1000_nvm_info___2 nvm;\n\tstruct e1000_bus_info___2 bus;\n\tstruct e1000_mbx_info mbx;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tunion {\n\t\tstruct e1000_dev_spec_82575 _82575;\n\t} dev_spec;\n\tu16 device_id;\n\tu16 subsystem_vendor_id;\n\tu16 subsystem_device_id;\n\tu16 vendor_id;\n\tu8 revision_id;\n};\n\nstruct e1000_hw_stats___3 {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 tor;\n\tu64 tot;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n\tu64 cbtmpc;\n\tu64 htdpmc;\n\tu64 cbrdpc;\n\tu64 cbrmpc;\n\tu64 rpthc;\n\tu64 hgptc;\n\tu64 htcbdpc;\n\tu64 hgorc;\n\tu64 hgotc;\n\tu64 lenerrs;\n\tu64 scvpc;\n\tu64 hrmpc;\n\tu64 doosync;\n\tu64 o2bgptc;\n\tu64 o2bspc;\n\tu64 b2ospc;\n\tu64 b2ogprc;\n};\n\nstruct e1000_info___2 {\n\ts32 (*get_invariants)(struct e1000_hw___3 *);\n\tstruct e1000_mac_operations___2 *mac_ops;\n\tconst struct e1000_phy_operations___2 *phy_ops;\n\tstruct e1000_nvm_operations___2 *nvm_ops;\n};\n\nstruct e1000_info {\n\tenum e1000_mac_type mac;\n\tunsigned int flags;\n\tunsigned int flags2;\n\tu32 pba;\n\tu32 max_hw_frame_size;\n\ts32 (*get_variants)(struct e1000_adapter___2 *);\n\tconst struct e1000_mac_operations *mac_ops;\n\tconst struct e1000_phy_operations *phy_ops;\n\tconst struct e1000_nvm_operations *nvm_ops;\n};\n\nstruct e1000_opt_list {\n\tint i;\n\tchar *str;\n};\n\nstruct e1000_option {\n\tenum {\n\t\tenable_option = 0,\n\t\trange_option = 1,\n\t\tlist_option = 2,\n\t} type;\n\tconst char *name;\n\tconst char *err;\n\tint def;\n\tunion {\n\t\tstruct {\n\t\t\tint min;\n\t\t\tint max;\n\t\t} r;\n\t\tstruct {\n\t\t\tint nr;\n\t\t\tconst struct e1000_opt_list *p;\n\t\t} l;\n\t} arg;\n};\n\nstruct e1000_option___2 {\n\tenum {\n\t\tenable_option___2 = 0,\n\t\trange_option___2 = 1,\n\t\tlist_option___2 = 2,\n\t} type;\n\tconst char *name;\n\tconst char *err;\n\tint def;\n\tunion {\n\t\tstruct {\n\t\t\tint min;\n\t\t\tint max;\n\t\t} r;\n\t\tstruct {\n\t\t\tint nr;\n\t\t\tstruct e1000_opt_list *p;\n\t\t} l;\n\t} arg;\n};\n\nstruct e1000_ps_page {\n\tstruct page *page;\n\tu64 dma;\n};\n\nstruct e1000_reg_info {\n\tu32 ofs;\n\tchar *name;\n};\n\nstruct e1000_rx_buffer {\n\tunion {\n\t\tstruct page *page;\n\t\tu8 *data;\n\t} rxbuf;\n\tdma_addr_t dma;\n};\n\nstruct e1000_rx_desc {\n\t__le64 buffer_addr;\n\t__le16 length;\n\t__le16 csum;\n\tu8 status;\n\tu8 errors;\n\t__le16 special;\n};\n\nunion e1000_rx_desc_extended {\n\tstruct {\n\t\t__le64 buffer_addr;\n\t\t__le64 reserved;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\t__le32 mrq;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nunion e1000_rx_desc_packet_split {\n\tstruct {\n\t\t__le64 buffer_addr[4];\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\t__le32 mrq;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length0;\n\t\t\t__le16 vlan;\n\t\t} middle;\n\t\tstruct {\n\t\t\t__le16 header_status;\n\t\t\t__le16 length[3];\n\t\t} upper;\n\t\t__le64 reserved;\n\t} wb;\n};\n\nstruct e1000_shadow_ram {\n\tu16 eeprom_word;\n\tbool modified;\n};\n\nstruct e1000_stats {\n\tchar stat_string[32];\n\tint type;\n\tint sizeof_stat;\n\tint stat_offset;\n};\n\nstruct e1000_tx_buffer {\n\tstruct sk_buff *skb;\n\tdma_addr_t dma;\n\tlong unsigned int time_stamp;\n\tu16 length;\n\tu16 next_to_watch;\n\tbool mapped_as_page;\n\tshort unsigned int segs;\n\tunsigned int bytecount;\n};\n\nstruct e1000_tx_desc {\n\t__le64 buffer_addr;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\t__le16 length;\n\t\t\tu8 cso;\n\t\t\tu8 cmd;\n\t\t} flags;\n\t} lower;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\tu8 status;\n\t\t\tu8 css;\n\t\t\t__le16 special;\n\t\t} fields;\n\t} upper;\n};\n\nstruct usb_device;\n\nstruct each_dev_arg {\n\tvoid *data;\n\tint (*fn)(struct usb_device *, void *);\n};\n\nstruct uart_icount {\n\t__u32 cts;\n\t__u32 dsr;\n\t__u32 rng;\n\t__u32 dcd;\n\t__u32 rx;\n\t__u32 tx;\n\t__u32 frame;\n\t__u32 overrun;\n\t__u32 parity;\n\t__u32 brk;\n\t__u32 buf_overrun;\n};\n\nstruct serial_rs485 {\n\t__u32 flags;\n\t__u32 delay_rts_before_send;\n\t__u32 delay_rts_after_send;\n\tunion {\n\t\t__u32 padding[5];\n\t\tstruct {\n\t\t\t__u8 addr_recv;\n\t\t\t__u8 addr_dest;\n\t\t\t__u8 padding0[2];\n\t\t\t__u32 padding1[4];\n\t\t};\n\t};\n};\n\nstruct serial_iso7816 {\n\t__u32 flags;\n\t__u32 tg;\n\t__u32 sc_fi;\n\t__u32 sc_di;\n\t__u32 clk;\n\t__u32 reserved[5];\n};\n\nstruct ktermios;\n\nstruct uart_state;\n\nstruct uart_ops;\n\nstruct serial_port_device;\n\nstruct uart_port {\n\tspinlock_t lock;\n\tlong unsigned int iobase;\n\tunsigned char *membase;\n\tunsigned int (*serial_in)(struct uart_port *, int);\n\tvoid (*serial_out)(struct uart_port *, int, int);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tvoid (*set_mctrl)(struct uart_port *, unsigned int);\n\tunsigned int (*get_divisor)(struct uart_port *, unsigned int, unsigned int *);\n\tvoid (*set_divisor)(struct uart_port *, unsigned int, unsigned int, unsigned int);\n\tint (*startup)(struct uart_port *);\n\tvoid (*shutdown)(struct uart_port *);\n\tvoid (*throttle)(struct uart_port *);\n\tvoid (*unthrottle)(struct uart_port *);\n\tint (*handle_irq)(struct uart_port *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tvoid (*handle_break)(struct uart_port *);\n\tint (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *);\n\tint (*iso7816_config)(struct uart_port *, struct serial_iso7816 *);\n\tunsigned int ctrl_id;\n\tunsigned int port_id;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tunsigned int uartclk;\n\tunsigned int fifosize;\n\tunsigned char x_char;\n\tunsigned char regshift;\n\tunsigned char iotype;\n\tunsigned char quirks;\n\tunsigned int read_status_mask;\n\tunsigned int ignore_status_mask;\n\tstruct uart_state *state;\n\tstruct uart_icount icount;\n\tstruct console *cons;\n\tupf_t flags;\n\tupstat_t status;\n\tbool hw_stopped;\n\tunsigned int mctrl;\n\tunsigned int frame_time;\n\tunsigned int type;\n\tconst struct uart_ops *ops;\n\tunsigned int custom_divisor;\n\tunsigned int line;\n\tunsigned int minor;\n\tresource_size_t mapbase;\n\tresource_size_t mapsize;\n\tstruct device *dev;\n\tstruct serial_port_device *port_dev;\n\tlong unsigned int sysrq;\n\tu8 sysrq_ch;\n\tunsigned char has_sysrq;\n\tunsigned char sysrq_seq;\n\tunsigned char hub6;\n\tunsigned char suspended;\n\tunsigned char console_reinit;\n\tconst char *name;\n\tstruct attribute_group *attr_group;\n\tconst struct attribute_group **tty_groups;\n\tstruct serial_rs485 rs485;\n\tstruct serial_rs485 rs485_supported;\n\tstruct gpio_desc *rs485_term_gpio;\n\tstruct gpio_desc *rs485_rx_during_tx_gpio;\n\tstruct serial_iso7816 iso7816;\n\tvoid *private_data;\n};\n\nstruct earlycon_device {\n\tstruct console *con;\n\tstruct uart_port port;\n\tchar options[32];\n\tunsigned int baud;\n};\n\nstruct earlycon_id {\n\tchar name[15];\n\tchar name_term;\n\tchar compatible[128];\n\tint (*setup)(struct earlycon_device *, const char *);\n};\n\nstruct ebitmap_node {\n\tstruct ebitmap_node *next;\n\tlong unsigned int maps[6];\n\tu32 startbit;\n};\n\nstruct td;\n\nstruct ed {\n\t__hc32 hwINFO;\n\t__hc32 hwTailP;\n\t__hc32 hwHeadP;\n\t__hc32 hwNextED;\n\tdma_addr_t dma;\n\tstruct td *dummy;\n\tstruct ed *ed_next;\n\tstruct ed *ed_prev;\n\tstruct list_head td_list;\n\tstruct list_head in_use_list;\n\tu8 state;\n\tu8 type;\n\tu8 branch;\n\tu16 interval;\n\tu16 load;\n\tu16 last_iso;\n\tu16 tick;\n\tunsigned int takeback_wdh_cnt;\n\tstruct td *pending_td;\n\tlong: 64;\n};\n\nstruct est_timings {\n\tu8 t1;\n\tu8 t2;\n\tu8 mfg_rsvd;\n};\n\nstruct edid {\n\tu8 header[8];\n\tunion {\n\t\tstruct drm_edid_product_id product_id;\n\t\tstruct {\n\t\t\tu8 mfg_id[2];\n\t\t\tu8 prod_code[2];\n\t\t\tu32 serial;\n\t\t\tu8 mfg_week;\n\t\t\tu8 mfg_year;\n\t\t} __attribute__((packed));\n\t};\n\tu8 version;\n\tu8 revision;\n\tu8 input;\n\tu8 width_cm;\n\tu8 height_cm;\n\tu8 gamma;\n\tu8 features;\n\tu8 red_green_lo;\n\tu8 blue_white_lo;\n\tu8 red_x;\n\tu8 red_y;\n\tu8 green_x;\n\tu8 green_y;\n\tu8 blue_x;\n\tu8 blue_y;\n\tu8 white_x;\n\tu8 white_y;\n\tstruct est_timings established_timings;\n\tstruct std_timing standard_timings[8];\n\tstruct detailed_timing detailed_timings[4];\n\tu8 extensions;\n\tu8 checksum;\n};\n\nstruct edid_quirk {\n\tconst struct drm_edid_ident ident;\n\tu32 quirks;\n};\n\nstruct eee_config {\n\tu32 tx_lpi_timer;\n\tbool tx_lpi_enabled;\n\tbool eee_enabled;\n};\n\nstruct ethtool_keee {\n\tlong unsigned int supported[2];\n\tlong unsigned int advertised[2];\n\tlong unsigned int lp_advertised[2];\n\tu32 tx_lpi_timer;\n\tbool tx_lpi_enabled;\n\tbool eee_active;\n\tbool eee_enabled;\n};\n\nstruct eee_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_keee eee;\n};\n\nstruct eeprom_93cx6 {\n\tvoid *data;\n\tvoid (*register_read)(struct eeprom_93cx6 *);\n\tvoid (*register_write)(struct eeprom_93cx6 *);\n\tint width;\n\tunsigned int quirks;\n\tchar drive_data;\n\tchar reg_data_in;\n\tchar reg_data_out;\n\tchar reg_data_clock;\n\tchar reg_chip_select;\n};\n\nstruct eeprom_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 length;\n\tu8 *data;\n};\n\nstruct ethnl_req_info {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu32 flags;\n\tu32 phy_index;\n};\n\nstruct eeprom_req_info {\n\tstruct ethnl_req_info base;\n\tu32 offset;\n\tu32 length;\n\tu8 page;\n\tu8 bank;\n\tu8 i2c_address;\n};\n\nstruct efi_memory_map {\n\tphys_addr_t phys_map;\n\tvoid *map;\n\tvoid *map_end;\n\tint nr_map;\n\tlong unsigned int desc_version;\n\tlong unsigned int desc_size;\n\tlong unsigned int flags;\n};\n\nstruct efi {\n\tconst efi_runtime_services_t *runtime;\n\tunsigned int runtime_version;\n\tunsigned int runtime_supported_mask;\n\tlong unsigned int acpi;\n\tlong unsigned int acpi20;\n\tlong unsigned int smbios;\n\tlong unsigned int smbios3;\n\tlong unsigned int esrt;\n\tlong unsigned int tpm_log;\n\tlong unsigned int tpm_final_log;\n\tlong unsigned int mokvar_table;\n\tlong unsigned int coco_secret;\n\tlong unsigned int unaccepted;\n\tefi_get_time_t *get_time;\n\tefi_set_time_t *set_time;\n\tefi_get_wakeup_time_t *get_wakeup_time;\n\tefi_set_wakeup_time_t *set_wakeup_time;\n\tefi_get_variable_t *get_variable;\n\tefi_get_next_variable_t *get_next_variable;\n\tefi_set_variable_t *set_variable;\n\tefi_set_variable_t *set_variable_nonblocking;\n\tefi_query_variable_info_t *query_variable_info;\n\tefi_query_variable_info_t *query_variable_info_nonblocking;\n\tefi_update_capsule_t *update_capsule;\n\tefi_query_capsule_caps_t *query_capsule_caps;\n\tefi_get_next_high_mono_count_t *get_next_high_mono_count;\n\tefi_reset_system_t *reset_system;\n\tstruct efi_memory_map memmap;\n\tlong unsigned int flags;\n};\n\nstruct efi_boot_memmap {\n\tlong unsigned int map_size;\n\tlong unsigned int desc_size;\n\tu32 desc_ver;\n\tlong unsigned int map_key;\n\tlong unsigned int buff_size;\n\tefi_memory_desc_t map[0];\n};\n\ntypedef void *efi_event_t;\n\ntypedef void (*efi_event_notify_t)(efi_event_t, void *);\n\nunion efi_boot_services {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tvoid *raise_tpl;\n\t\tvoid *restore_tpl;\n\t\tefi_status_t (*allocate_pages)(int, int, long unsigned int, efi_physical_addr_t *);\n\t\tefi_status_t (*free_pages)(efi_physical_addr_t, long unsigned int);\n\t\tefi_status_t (*get_memory_map)(long unsigned int *, void *, long unsigned int *, long unsigned int *, u32 *);\n\t\tefi_status_t (*allocate_pool)(int, long unsigned int, void **);\n\t\tefi_status_t (*free_pool)(void *);\n\t\tefi_status_t (*create_event)(u32, long unsigned int, efi_event_notify_t, void *, efi_event_t *);\n\t\tefi_status_t (*set_timer)(efi_event_t, EFI_TIMER_DELAY, u64);\n\t\tefi_status_t (*wait_for_event)(long unsigned int, efi_event_t *, long unsigned int *);\n\t\tvoid *signal_event;\n\t\tefi_status_t (*close_event)(efi_event_t);\n\t\tvoid *check_event;\n\t\tvoid *install_protocol_interface;\n\t\tvoid *reinstall_protocol_interface;\n\t\tvoid *uninstall_protocol_interface;\n\t\tefi_status_t (*handle_protocol)(efi_handle_t, efi_guid_t *, void **);\n\t\tvoid *__reserved;\n\t\tvoid *register_protocol_notify;\n\t\tefi_status_t (*locate_handle)(int, efi_guid_t *, void *, long unsigned int *, efi_handle_t *);\n\t\tefi_status_t (*locate_device_path)(efi_guid_t *, efi_device_path_protocol_t **, efi_handle_t *);\n\t\tefi_status_t (*install_configuration_table)(efi_guid_t *, void *);\n\t\tefi_status_t (*load_image)(bool, efi_handle_t, efi_device_path_protocol_t *, void *, long unsigned int, efi_handle_t *);\n\t\tefi_status_t (*start_image)(efi_handle_t, long unsigned int *, efi_char16_t **);\n\t\tefi_status_t (*exit)(efi_handle_t, efi_status_t, long unsigned int, efi_char16_t *);\n\t\tefi_status_t (*unload_image)(efi_handle_t);\n\t\tefi_status_t (*exit_boot_services)(efi_handle_t, long unsigned int);\n\t\tvoid *get_next_monotonic_count;\n\t\tefi_status_t (*stall)(long unsigned int);\n\t\tvoid *set_watchdog_timer;\n\t\tvoid *connect_controller;\n\t\tefi_status_t (*disconnect_controller)(efi_handle_t, efi_handle_t, efi_handle_t);\n\t\tvoid *open_protocol;\n\t\tvoid *close_protocol;\n\t\tvoid *open_protocol_information;\n\t\tvoid *protocols_per_handle;\n\t\tefi_status_t (*locate_handle_buffer)(int, efi_guid_t *, void *, long unsigned int *, efi_handle_t **);\n\t\tefi_status_t (*locate_protocol)(efi_guid_t *, void *, void **);\n\t\tefi_status_t (*install_multiple_protocol_interfaces)(efi_handle_t *, ...);\n\t\tefi_status_t (*uninstall_multiple_protocol_interfaces)(efi_handle_t, ...);\n\t\tvoid *calculate_crc32;\n\t\tvoid (*copy_mem)(void *, const void *, long unsigned int);\n\t\tvoid (*set_mem)(void *, long unsigned int, unsigned char);\n\t\tvoid *create_event_ex;\n\t};\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tu32 raise_tpl;\n\t\tu32 restore_tpl;\n\t\tu32 allocate_pages;\n\t\tu32 free_pages;\n\t\tu32 get_memory_map;\n\t\tu32 allocate_pool;\n\t\tu32 free_pool;\n\t\tu32 create_event;\n\t\tu32 set_timer;\n\t\tu32 wait_for_event;\n\t\tu32 signal_event;\n\t\tu32 close_event;\n\t\tu32 check_event;\n\t\tu32 install_protocol_interface;\n\t\tu32 reinstall_protocol_interface;\n\t\tu32 uninstall_protocol_interface;\n\t\tu32 handle_protocol;\n\t\tu32 __reserved;\n\t\tu32 register_protocol_notify;\n\t\tu32 locate_handle;\n\t\tu32 locate_device_path;\n\t\tu32 install_configuration_table;\n\t\tu32 load_image;\n\t\tu32 start_image;\n\t\tu32 exit;\n\t\tu32 unload_image;\n\t\tu32 exit_boot_services;\n\t\tu32 get_next_monotonic_count;\n\t\tu32 stall;\n\t\tu32 set_watchdog_timer;\n\t\tu32 connect_controller;\n\t\tu32 disconnect_controller;\n\t\tu32 open_protocol;\n\t\tu32 close_protocol;\n\t\tu32 open_protocol_information;\n\t\tu32 protocols_per_handle;\n\t\tu32 locate_handle_buffer;\n\t\tu32 locate_protocol;\n\t\tu32 install_multiple_protocol_interfaces;\n\t\tu32 uninstall_multiple_protocol_interfaces;\n\t\tu32 calculate_crc32;\n\t\tu32 copy_mem;\n\t\tu32 set_mem;\n\t\tu32 create_event_ex;\n\t} mixed_mode;\n};\n\nstruct efi_cc_event {\n\tu32 event_size;\n\tstruct {\n\t\tu32 header_size;\n\t\tu16 header_version;\n\t\tu32 mr_index;\n\t\tu32 event_type;\n\t} __attribute__((packed)) event_header;\n} __attribute__((packed));\n\ntypedef struct efi_cc_event efi_cc_event_t;\n\nunion efi_cc_protocol;\n\ntypedef union efi_cc_protocol efi_cc_protocol_t;\n\nunion efi_cc_protocol {\n\tstruct {\n\t\tefi_status_t (*get_capability)(efi_cc_protocol_t *, efi_cc_boot_service_cap_t *);\n\t\tefi_status_t (*get_event_log)(efi_cc_protocol_t *, efi_cc_event_log_format_t, efi_physical_addr_t *, efi_physical_addr_t *, efi_bool_t *);\n\t\tefi_status_t (*hash_log_extend_event)(efi_cc_protocol_t *, u64, efi_physical_addr_t, u64, const efi_cc_event_t *);\n\t\tefi_status_t (*map_pcr_to_mr_index)(efi_cc_protocol_t *, u32, efi_cc_mr_index_t *);\n\t};\n\tstruct {\n\t\tu32 get_capability;\n\t\tu32 get_event_log;\n\t\tu32 hash_log_extend_event;\n\t\tu32 map_pcr_to_mr_index;\n\t} mixed_mode;\n};\n\nunion efi_device_path_from_text_protocol {\n\tstruct {\n\t\tefi_device_path_protocol_t * (*convert_text_to_device_node)(const efi_char16_t *);\n\t\tefi_device_path_protocol_t * (*convert_text_to_device_path)(const efi_char16_t *);\n\t};\n\tstruct {\n\t\tu32 convert_text_to_device_node;\n\t\tu32 convert_text_to_device_path;\n\t} mixed_mode;\n};\n\ntypedef union efi_device_path_from_text_protocol efi_device_path_from_text_protocol_t;\n\nstruct efi_generic_dev_path {\n\tu8 type;\n\tu8 sub_type;\n\tu16 length;\n};\n\nstruct efi_file_path_dev_path {\n\tstruct efi_generic_dev_path header;\n\tefi_char16_t filename[0];\n};\n\nunion efi_file_protocol;\n\ntypedef union efi_file_protocol efi_file_protocol_t;\n\nunion efi_file_protocol {\n\tstruct {\n\t\tu64 revision;\n\t\tefi_status_t (*open)(efi_file_protocol_t *, efi_file_protocol_t **, efi_char16_t *, u64, u64);\n\t\tefi_status_t (*close)(efi_file_protocol_t *);\n\t\tefi_status_t (*delete)(efi_file_protocol_t *);\n\t\tefi_status_t (*read)(efi_file_protocol_t *, long unsigned int *, void *);\n\t\tefi_status_t (*write)(efi_file_protocol_t *, long unsigned int, void *);\n\t\tefi_status_t (*get_position)(efi_file_protocol_t *, u64 *);\n\t\tefi_status_t (*set_position)(efi_file_protocol_t *, u64);\n\t\tefi_status_t (*get_info)(efi_file_protocol_t *, efi_guid_t *, long unsigned int *, void *);\n\t\tefi_status_t (*set_info)(efi_file_protocol_t *, efi_guid_t *, long unsigned int, void *);\n\t\tefi_status_t (*flush)(efi_file_protocol_t *);\n\t};\n\tstruct {\n\t\tu64 revision;\n\t\tu32 open;\n\t\tu32 close;\n\t\tu32 delete;\n\t\tu32 read;\n\t\tu32 write;\n\t\tu32 get_position;\n\t\tu32 set_position;\n\t\tu32 get_info;\n\t\tu32 set_info;\n\t\tu32 flush;\n\t} mixed_mode;\n};\n\nunion efi_graphics_output_protocol;\n\ntypedef union efi_graphics_output_protocol efi_graphics_output_protocol_t;\n\nunion efi_graphics_output_protocol_mode;\n\ntypedef union efi_graphics_output_protocol_mode efi_graphics_output_protocol_mode_t;\n\nunion efi_graphics_output_protocol {\n\tstruct {\n\t\tefi_status_t (*query_mode)(efi_graphics_output_protocol_t *, u32, long unsigned int *, efi_graphics_output_mode_info_t **);\n\t\tefi_status_t (*set_mode)(efi_graphics_output_protocol_t *, u32);\n\t\tvoid *blt;\n\t\tefi_graphics_output_protocol_mode_t *mode;\n\t};\n\tstruct {\n\t\tu32 query_mode;\n\t\tu32 set_mode;\n\t\tu32 blt;\n\t\tu32 mode;\n\t} mixed_mode;\n};\n\nunion efi_graphics_output_protocol_mode {\n\tstruct {\n\t\tu32 max_mode;\n\t\tu32 mode;\n\t\tefi_graphics_output_mode_info_t *info;\n\t\tlong unsigned int size_of_info;\n\t\tefi_physical_addr_t frame_buffer_base;\n\t\tlong unsigned int frame_buffer_size;\n\t};\n\tstruct {\n\t\tu32 max_mode;\n\t\tu32 mode;\n\t\tu32 info;\n\t\tu32 size_of_info;\n\t\tu64 frame_buffer_base;\n\t\tu32 frame_buffer_size;\n\t} mixed_mode;\n};\n\nunion efi_load_file_protocol;\n\ntypedef union efi_load_file_protocol efi_load_file_protocol_t;\n\nunion efi_load_file_protocol {\n\tstruct {\n\t\tefi_status_t (*load_file)(efi_load_file_protocol_t *, efi_device_path_protocol_t *, bool, long unsigned int *, void *);\n\t};\n\tstruct {\n\t\tu32 load_file;\n\t} mixed_mode;\n};\n\ntypedef union efi_load_file_protocol efi_load_file2_protocol_t;\n\nunion efi_memory_attribute_protocol;\n\ntypedef union efi_memory_attribute_protocol efi_memory_attribute_protocol_t;\n\nunion efi_memory_attribute_protocol {\n\tstruct {\n\t\tefi_status_t (*get_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64 *);\n\t\tefi_status_t (*set_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64);\n\t\tefi_status_t (*clear_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64);\n\t};\n\tstruct {\n\t\tu32 get_memory_attributes;\n\t\tu32 set_memory_attributes;\n\t\tu32 clear_memory_attributes;\n\t} mixed_mode;\n};\n\nstruct efi_memory_map_data {\n\tphys_addr_t phys_map;\n\tlong unsigned int size;\n\tlong unsigned int desc_version;\n\tlong unsigned int desc_size;\n\tlong unsigned int flags;\n};\n\nunion efi_pci_io_protocol {\n\tstruct {\n\t\tvoid *poll_mem;\n\t\tvoid *poll_io;\n\t\tefi_pci_io_protocol_access_t mem;\n\t\tefi_pci_io_protocol_access_t io;\n\t\tefi_pci_io_protocol_config_access_t pci;\n\t\tvoid *copy_mem;\n\t\tvoid *map;\n\t\tvoid *unmap;\n\t\tvoid *allocate_buffer;\n\t\tvoid *free_buffer;\n\t\tvoid *flush;\n\t\tefi_status_t (*get_location)(efi_pci_io_protocol_t *, long unsigned int *, long unsigned int *, long unsigned int *, long unsigned int *);\n\t\tvoid *attributes;\n\t\tvoid *get_bar_attributes;\n\t\tvoid *set_bar_attributes;\n\t\tuint64_t romsize;\n\t\tvoid *romimage;\n\t};\n\tstruct {\n\t\tu32 poll_mem;\n\t\tu32 poll_io;\n\t\tefi_pci_io_protocol_access_32_t mem;\n\t\tefi_pci_io_protocol_access_32_t io;\n\t\tefi_pci_io_protocol_access_32_t pci;\n\t\tu32 copy_mem;\n\t\tu32 map;\n\t\tu32 unmap;\n\t\tu32 allocate_buffer;\n\t\tu32 free_buffer;\n\t\tu32 flush;\n\t\tu32 get_location;\n\t\tu32 attributes;\n\t\tu32 get_bar_attributes;\n\t\tu32 set_bar_attributes;\n\t\tu64 romsize;\n\t\tu32 romimage;\n\t} mixed_mode;\n};\n\nunion efi_rng_protocol;\n\ntypedef union efi_rng_protocol efi_rng_protocol_t;\n\nunion efi_rng_protocol {\n\tstruct {\n\t\tefi_status_t (*get_info)(efi_rng_protocol_t *, long unsigned int *, efi_guid_t *);\n\t\tefi_status_t (*get_rng)(efi_rng_protocol_t *, efi_guid_t *, long unsigned int, u8 *);\n\t};\n\tstruct {\n\t\tu32 get_info;\n\t\tu32 get_rng;\n\t} mixed_mode;\n};\n\nunion efi_rts_args {\n\tstruct {\n\t\tefi_time_t *time;\n\t\tefi_time_cap_t *capabilities;\n\t} GET_TIME;\n\tstruct {\n\t\tefi_time_t *time;\n\t} SET_TIME;\n\tstruct {\n\t\tefi_bool_t *enabled;\n\t\tefi_bool_t *pending;\n\t\tefi_time_t *time;\n\t} GET_WAKEUP_TIME;\n\tstruct {\n\t\tefi_bool_t enable;\n\t\tefi_time_t *time;\n\t} SET_WAKEUP_TIME;\n\tstruct {\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t\tu32 *attr;\n\t\tlong unsigned int *data_size;\n\t\tvoid *data;\n\t} GET_VARIABLE;\n\tstruct {\n\t\tlong unsigned int *name_size;\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t} GET_NEXT_VARIABLE;\n\tstruct {\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t\tu32 attr;\n\t\tlong unsigned int data_size;\n\t\tvoid *data;\n\t} SET_VARIABLE;\n\tstruct {\n\t\tu32 attr;\n\t\tu64 *storage_space;\n\t\tu64 *remaining_space;\n\t\tu64 *max_variable_size;\n\t} QUERY_VARIABLE_INFO;\n\tstruct {\n\t\tu32 *high_count;\n\t} GET_NEXT_HIGH_MONO_COUNT;\n\tstruct {\n\t\tefi_capsule_header_t **capsules;\n\t\tlong unsigned int count;\n\t\tlong unsigned int sg_list;\n\t} UPDATE_CAPSULE;\n\tstruct {\n\t\tefi_capsule_header_t **capsules;\n\t\tlong unsigned int count;\n\t\tu64 *max_size;\n\t\tint *reset_type;\n\t} QUERY_CAPSULE_CAPS;\n\tstruct {\n\t\tefi_status_t (*acpi_prm_handler)(u64, void *);\n\t\tu64 param_buffer_addr;\n\t\tvoid *context;\n\t} ACPI_PRM_HANDLER;\n};\n\nstruct efi_runtime_work {\n\tunion efi_rts_args *args;\n\tefi_status_t status;\n\tstruct work_struct work;\n\tenum efi_rts_ids efi_rts_id;\n\tstruct completion efi_rts_comp;\n\tconst void *caller;\n};\n\nunion efi_simple_file_system_protocol;\n\ntypedef union efi_simple_file_system_protocol efi_simple_file_system_protocol_t;\n\nunion efi_simple_file_system_protocol {\n\tstruct {\n\t\tu64 revision;\n\t\tefi_status_t (*open_volume)(efi_simple_file_system_protocol_t *, efi_file_protocol_t **);\n\t};\n\tstruct {\n\t\tu64 revision;\n\t\tu32 open_volume;\n\t} mixed_mode;\n};\n\nunion efi_simple_text_input_protocol {\n\tstruct {\n\t\tvoid *reset;\n\t\tefi_status_t (*read_keystroke)(efi_simple_text_input_protocol_t *, efi_input_key_t *);\n\t\tefi_event_t wait_for_key;\n\t};\n\tstruct {\n\t\tu32 reset;\n\t\tu32 read_keystroke;\n\t\tu32 wait_for_key;\n\t} mixed_mode;\n};\n\nunion efi_simple_text_output_protocol {\n\tstruct {\n\t\tvoid *reset;\n\t\tefi_status_t (*output_string)(efi_simple_text_output_protocol_t *, efi_char16_t *);\n\t\tvoid *test_string;\n\t};\n\tstruct {\n\t\tu32 reset;\n\t\tu32 output_string;\n\t\tu32 test_string;\n\t} mixed_mode;\n};\n\nstruct efi_system_resource_entry_v1 {\n\tefi_guid_t fw_class;\n\tu32 fw_type;\n\tu32 fw_version;\n\tu32 lowest_supported_fw_version;\n\tu32 capsule_flags;\n\tu32 last_attempt_version;\n\tu32 last_attempt_status;\n};\n\nstruct efi_system_resource_table {\n\tu32 fw_resource_count;\n\tu32 fw_resource_count_max;\n\tu64 fw_resource_version;\n\tu8 entries[0];\n};\n\nstruct efi_tcg2_event {\n\tu32 event_size;\n\tstruct {\n\t\tu32 header_size;\n\t\tu16 header_version;\n\t\tu32 pcr_index;\n\t\tu32 event_type;\n\t} __attribute__((packed)) event_header;\n} __attribute__((packed));\n\ntypedef struct efi_tcg2_event efi_tcg2_event_t;\n\nstruct efi_tcg2_final_events_table {\n\tu64 version;\n\tu64 nr_events;\n\tu8 events[0];\n};\n\nunion efi_tcg2_protocol;\n\ntypedef union efi_tcg2_protocol efi_tcg2_protocol_t;\n\nunion efi_tcg2_protocol {\n\tstruct {\n\t\tvoid *get_capability;\n\t\tefi_status_t (*get_event_log)(efi_tcg2_protocol_t *, efi_tcg2_event_log_format, efi_physical_addr_t *, efi_physical_addr_t *, efi_bool_t *);\n\t\tefi_status_t (*hash_log_extend_event)(efi_tcg2_protocol_t *, u64, efi_physical_addr_t, u64, const efi_tcg2_event_t *);\n\t\tvoid *submit_command;\n\t\tvoid *get_active_pcr_banks;\n\t\tvoid *set_active_pcr_banks;\n\t\tvoid *get_result_of_set_active_pcr_banks;\n\t};\n\tstruct {\n\t\tu32 get_capability;\n\t\tu32 get_event_log;\n\t\tu32 hash_log_extend_event;\n\t\tu32 submit_command;\n\t\tu32 get_active_pcr_banks;\n\t\tu32 set_active_pcr_banks;\n\t\tu32 get_result_of_set_active_pcr_banks;\n\t} mixed_mode;\n};\n\nstruct efi_unaccepted_memory {\n\tu32 version;\n\tu32 unit_size;\n\tu64 phys_base;\n\tu64 size;\n\tlong unsigned int bitmap[0];\n};\n\nstruct efi_vendor_dev_path {\n\tstruct efi_generic_dev_path header;\n\tefi_guid_t vendorguid;\n\tu8 vendordata[0];\n};\n\nstruct efifb_dmi_info {\n\tchar *optname;\n\tlong unsigned int base;\n\tint stride;\n\tint width;\n\tint height;\n\tint flags;\n};\n\nstruct efifb_par {\n\tu32 pseudo_palette[16];\n\tresource_size_t base;\n\tresource_size_t size;\n};\n\nunion efistub_event {\n\tefi_tcg2_event_t tcg2_data;\n\tefi_cc_event_t cc_data;\n};\n\nstruct tdTCG_PCClientTaggedEvent {\n\tu32 tagged_event_id;\n\tu32 tagged_event_data_size;\n\tu8 tagged_event_data[0];\n};\n\ntypedef struct tdTCG_PCClientTaggedEvent TCG_PCClientTaggedEvent;\n\nstruct efistub_measured_event {\n\tunion efistub_event event_data;\n\tTCG_PCClientTaggedEvent tagged_event;\n} __attribute__((packed));\n\ntypedef efi_status_t efi_query_variable_store_t(u32, long unsigned int, bool);\n\nstruct efivar_operations {\n\tefi_get_variable_t *get_variable;\n\tefi_get_next_variable_t *get_next_variable;\n\tefi_set_variable_t *set_variable;\n\tefi_set_variable_t *set_variable_nonblocking;\n\tefi_query_variable_store_t *query_variable_store;\n\tefi_query_variable_info_t *query_variable_info;\n};\n\nstruct efivars {\n\tstruct kset *kset;\n\tconst struct efivar_operations *ops;\n};\n\nstruct ehci_caps {\n\tu32 hc_capbase;\n\tu32 hcs_params;\n\tu32 hcc_params;\n\tu8 portroute[8];\n};\n\nstruct ehci_dbg_port {\n\tu32 control;\n\tu32 pids;\n\tu32 data03;\n\tu32 data47;\n\tu32 address;\n};\n\nstruct usb_hcd;\n\nstruct ehci_driver_overrides {\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n\tint (*port_power)(struct usb_hcd *, int, bool);\n};\n\nstruct ehci_qh;\n\nstruct ehci_itd;\n\nstruct ehci_sitd;\n\nstruct ehci_fstn;\n\nunion ehci_shadow {\n\tstruct ehci_qh *qh;\n\tstruct ehci_itd *itd;\n\tstruct ehci_sitd *sitd;\n\tstruct ehci_fstn *fstn;\n\t__le32 *hw_next;\n\tvoid *ptr;\n};\n\nstruct ehci_fstn {\n\t__le32 hw_next;\n\t__le32 hw_prev;\n\tdma_addr_t fstn_dma;\n\tunion ehci_shadow fstn_next;\n\tlong: 64;\n};\n\nstruct ehci_regs;\n\nstruct ehci_hcd {\n\tenum ehci_hrtimer_event next_hrtimer_event;\n\tunsigned int enabled_hrtimer_events;\n\tktime_t hr_timeouts[12];\n\tstruct hrtimer hrtimer;\n\tint PSS_poll_count;\n\tint ASS_poll_count;\n\tint died_poll_count;\n\tstruct ehci_caps *caps;\n\tstruct ehci_regs *regs;\n\tstruct ehci_dbg_port *debug;\n\t__u32 hcs_params;\n\tspinlock_t lock;\n\tenum ehci_rh_state rh_state;\n\tbool scanning: 1;\n\tbool need_rescan: 1;\n\tbool intr_unlinking: 1;\n\tbool iaa_in_progress: 1;\n\tbool async_unlinking: 1;\n\tbool shutdown: 1;\n\tstruct ehci_qh *qh_scan_next;\n\tstruct ehci_qh *async;\n\tstruct ehci_qh *dummy;\n\tstruct list_head async_unlink;\n\tstruct list_head async_idle;\n\tunsigned int async_unlink_cycle;\n\tunsigned int async_count;\n\t__le32 old_current;\n\t__le32 old_token;\n\tunsigned int periodic_size;\n\t__le32 *periodic;\n\tdma_addr_t periodic_dma;\n\tstruct list_head intr_qh_list;\n\tunsigned int i_thresh;\n\tunion ehci_shadow *pshadow;\n\tstruct list_head intr_unlink_wait;\n\tstruct list_head intr_unlink;\n\tunsigned int intr_unlink_wait_cycle;\n\tunsigned int intr_unlink_cycle;\n\tunsigned int now_frame;\n\tunsigned int last_iso_frame;\n\tunsigned int intr_count;\n\tunsigned int isoc_count;\n\tunsigned int periodic_count;\n\tunsigned int uframe_periodic_max;\n\tstruct list_head cached_itd_list;\n\tstruct ehci_itd *last_itd_to_free;\n\tstruct list_head cached_sitd_list;\n\tstruct ehci_sitd *last_sitd_to_free;\n\tlong unsigned int reset_done[15];\n\tlong unsigned int bus_suspended;\n\tlong unsigned int companion_ports;\n\tlong unsigned int owned_ports;\n\tlong unsigned int port_c_suspend;\n\tlong unsigned int suspended_ports;\n\tlong unsigned int resuming_ports;\n\tstruct dma_pool *qh_pool;\n\tstruct dma_pool *qtd_pool;\n\tstruct dma_pool *itd_pool;\n\tstruct dma_pool *sitd_pool;\n\tunsigned int random_frame;\n\tlong unsigned int next_statechange;\n\tktime_t last_periodic_enable;\n\tu32 command;\n\tunsigned int no_selective_suspend: 1;\n\tunsigned int has_fsl_port_bug: 1;\n\tunsigned int has_fsl_hs_errata: 1;\n\tunsigned int has_fsl_susp_errata: 1;\n\tunsigned int has_ci_pec_bug: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_capbase: 1;\n\tunsigned int has_amcc_usb23: 1;\n\tunsigned int need_io_watchdog: 1;\n\tunsigned int amd_pll_fix: 1;\n\tunsigned int use_dummy_qh: 1;\n\tunsigned int has_synopsys_hc_bug: 1;\n\tunsigned int frame_index_bug: 1;\n\tunsigned int need_oc_pp_cycle: 1;\n\tunsigned int imx28_write_fix: 1;\n\tunsigned int spurious_oc: 1;\n\tunsigned int is_aspeed: 1;\n\tunsigned int zx_wakeup_clear_needed: 1;\n\t__le32 *ohci_hcctrl_reg;\n\tunsigned int has_hostpc: 1;\n\tunsigned int has_tdi_phy_lpm: 1;\n\tunsigned int has_ppcd: 1;\n\tu8 sbrn;\n\tu8 bandwidth[64];\n\tu8 tt_budget[64];\n\tstruct list_head tt_list;\n\tlong unsigned int priv[0];\n};\n\nstruct ehci_iso_packet {\n\tu64 bufp;\n\t__le32 transaction;\n\tu8 cross;\n\tu32 buf1;\n};\n\nstruct ehci_iso_sched {\n\tstruct list_head td_list;\n\tunsigned int span;\n\tunsigned int first_packet;\n\tstruct ehci_iso_packet packet[0];\n};\n\nstruct usb_host_endpoint;\n\nstruct ehci_per_sched {\n\tstruct usb_device *udev;\n\tstruct usb_host_endpoint *ep;\n\tstruct list_head ps_list;\n\tu16 tt_usecs;\n\tu16 cs_mask;\n\tu16 period;\n\tu16 phase;\n\tu8 bw_phase;\n\tu8 phase_uf;\n\tu8 usecs;\n\tu8 c_usecs;\n\tu8 bw_uperiod;\n\tu8 bw_period;\n};\n\nstruct ehci_qh_hw;\n\nstruct ehci_iso_stream {\n\tstruct ehci_qh_hw *hw;\n\tu8 bEndpointAddress;\n\tu8 highspeed;\n\tstruct list_head td_list;\n\tstruct list_head free_list;\n\tstruct ehci_per_sched ps;\n\tunsigned int next_uframe;\n\t__le32 splits;\n\tu16 uperiod;\n\tu16 maxp;\n\tunsigned int bandwidth;\n\t__le32 buf0;\n\t__le32 buf1;\n\t__le32 buf2;\n\t__le32 address;\n};\n\nstruct ehci_itd {\n\t__le32 hw_next;\n\t__le32 hw_transaction[8];\n\t__le32 hw_bufp[7];\n\t__le32 hw_bufp_hi[7];\n\tdma_addr_t itd_dma;\n\tunion ehci_shadow itd_next;\n\tstruct urb *urb;\n\tstruct ehci_iso_stream *stream;\n\tstruct list_head itd_list;\n\tunsigned int frame;\n\tunsigned int pg;\n\tunsigned int index[8];\n\tlong: 64;\n};\n\nstruct ehci_platform_priv {\n\tstruct clk *clks[4];\n\tstruct reset_control *rsts;\n\tbool reset_on_resume;\n\tbool quirk_poll;\n\tstruct timer_list poll_timer;\n\tstruct delayed_work poll_work;\n};\n\nstruct ehci_qtd;\n\nstruct ehci_qh {\n\tstruct ehci_qh_hw *hw;\n\tdma_addr_t qh_dma;\n\tunion ehci_shadow qh_next;\n\tstruct list_head qtd_list;\n\tstruct list_head intr_node;\n\tstruct ehci_qtd *dummy;\n\tstruct list_head unlink_node;\n\tstruct ehci_per_sched ps;\n\tunsigned int unlink_cycle;\n\tu8 qh_state;\n\tu8 xacterrs;\n\tu8 unlink_reason;\n\tu8 gap_uf;\n\tunsigned int is_out: 1;\n\tunsigned int clearing_tt: 1;\n\tunsigned int dequeue_during_giveback: 1;\n\tunsigned int should_be_inactive: 1;\n};\n\nstruct ehci_qh_hw {\n\t__le32 hw_next;\n\t__le32 hw_info1;\n\t__le32 hw_info2;\n\t__le32 hw_current;\n\t__le32 hw_qtd_next;\n\t__le32 hw_alt_next;\n\t__le32 hw_token;\n\t__le32 hw_buf[5];\n\t__le32 hw_buf_hi[5];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ehci_qtd {\n\t__le32 hw_next;\n\t__le32 hw_alt_next;\n\t__le32 hw_token;\n\t__le32 hw_buf[5];\n\t__le32 hw_buf_hi[5];\n\tdma_addr_t qtd_dma;\n\tstruct list_head qtd_list;\n\tstruct urb *urb;\n\tsize_t length;\n};\n\nstruct ehci_regs {\n\tu32 command;\n\tu32 status;\n\tu32 intr_enable;\n\tu32 frame_index;\n\tu32 segment;\n\tu32 frame_list;\n\tu32 async_next;\n\tu32 reserved1[2];\n\tu32 txfill_tuning;\n\tu32 reserved2[6];\n\tu32 configured_flag;\n\tunion {\n\t\tu32 port_status[15];\n\t\tstruct {\n\t\t\tu32 reserved3[9];\n\t\t\tu32 usbmode;\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu32 reserved4;\n\t\t\tu32 hostpc[15];\n\t\t};\n\t\tu32 brcm_insnreg[4];\n\t};\n\tu32 reserved5[2];\n\tu32 usbmode_ex;\n};\n\nstruct ehci_sitd {\n\t__le32 hw_next;\n\t__le32 hw_fullspeed_ep;\n\t__le32 hw_uframe;\n\t__le32 hw_results;\n\t__le32 hw_buf[2];\n\t__le32 hw_backpointer;\n\t__le32 hw_buf_hi[2];\n\tdma_addr_t sitd_dma;\n\tunion ehci_shadow sitd_next;\n\tstruct urb *urb;\n\tstruct ehci_iso_stream *stream;\n\tstruct list_head sitd_list;\n\tunsigned int frame;\n\tunsigned int index;\n};\n\nstruct ehci_tt {\n\tu16 bandwidth[8];\n\tstruct list_head tt_list;\n\tstruct list_head ps_list;\n\tstruct usb_tt *usb_tt;\n\tint tt_port;\n};\n\nstruct eiointc_priv {\n\tu32 node;\n\tu32 vec_count;\n\tnodemask_t node_map;\n\tcpumask_t cpuspan_map;\n\tstruct fwnode_handle *domain_handle;\n\tstruct irq_domain *eiointc_domain;\n\tint flags;\n};\n\nstruct elantech_attr_data {\n\tsize_t field_offset;\n\tunsigned char reg;\n};\n\nstruct finger_pos {\n\tunsigned int x;\n\tunsigned int y;\n};\n\nstruct elantech_device_info {\n\tunsigned char capabilities[3];\n\tunsigned char samples[3];\n\tunsigned char debug;\n\tunsigned char hw_version;\n\tunsigned char pattern;\n\tunsigned int fw_version;\n\tunsigned int ic_version;\n\tunsigned int product_id;\n\tunsigned int x_min;\n\tunsigned int y_min;\n\tunsigned int x_max;\n\tunsigned int y_max;\n\tunsigned int x_res;\n\tunsigned int y_res;\n\tunsigned int x_traces;\n\tunsigned int y_traces;\n\tunsigned int width;\n\tunsigned int bus;\n\tbool paritycheck;\n\tbool jumpy_cursor;\n\tbool reports_pressure;\n\tbool crc_enabled;\n\tbool set_hw_resolution;\n\tbool has_trackpoint;\n\tbool has_middle_button;\n\tint (*send_cmd)(struct psmouse *, unsigned char, unsigned char *);\n};\n\nstruct elantech_data {\n\tstruct input_dev *tp_dev;\n\tchar tp_phys[32];\n\tunsigned char reg_07;\n\tunsigned char reg_10;\n\tunsigned char reg_11;\n\tunsigned char reg_20;\n\tunsigned char reg_21;\n\tunsigned char reg_22;\n\tunsigned char reg_23;\n\tunsigned char reg_24;\n\tunsigned char reg_25;\n\tunsigned char reg_26;\n\tunsigned int single_finger_reports;\n\tunsigned int y_max;\n\tunsigned int width;\n\tstruct finger_pos mt[5];\n\tunsigned char parity[256];\n\tstruct elantech_device_info info;\n\tvoid (*original_set_rate)(struct psmouse *, unsigned int);\n};\n\nstruct elevator_queue;\n\nstruct elevator_mq_ops {\n\tint (*init_sched)(struct request_queue *, struct elevator_type *);\n\tvoid (*exit_sched)(struct elevator_queue *);\n\tint (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tvoid (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tvoid (*depth_updated)(struct blk_mq_hw_ctx *);\n\tbool (*allow_merge)(struct request_queue *, struct request *, struct bio *);\n\tbool (*bio_merge)(struct request_queue *, struct bio *, unsigned int);\n\tint (*request_merge)(struct request_queue *, struct request **, struct bio *);\n\tvoid (*request_merged)(struct request_queue *, struct request *, enum elv_merge);\n\tvoid (*requests_merged)(struct request_queue *, struct request *, struct request *);\n\tvoid (*limit_depth)(blk_opf_t, struct blk_mq_alloc_data *);\n\tvoid (*prepare_request)(struct request *);\n\tvoid (*finish_request)(struct request *);\n\tvoid (*insert_requests)(struct blk_mq_hw_ctx *, struct list_head *, blk_insert_t);\n\tstruct request * (*dispatch_request)(struct blk_mq_hw_ctx *);\n\tbool (*has_work)(struct blk_mq_hw_ctx *);\n\tvoid (*completed_request)(struct request *, u64);\n\tvoid (*requeue_request)(struct request *);\n\tstruct request * (*former_request)(struct request_queue *, struct request *);\n\tstruct request * (*next_request)(struct request_queue *, struct request *);\n\tvoid (*init_icq)(struct io_cq *);\n\tvoid (*exit_icq)(struct io_cq *);\n};\n\nstruct elevator_queue {\n\tstruct elevator_type *type;\n\tvoid *elevator_data;\n\tstruct kobject kobj;\n\tstruct mutex sysfs_lock;\n\tlong unsigned int flags;\n\tstruct hlist_head hash[64];\n};\n\nstruct elv_fs_entry;\n\nstruct elevator_type {\n\tstruct kmem_cache *icq_cache;\n\tstruct elevator_mq_ops ops;\n\tsize_t icq_size;\n\tsize_t icq_align;\n\tconst struct elv_fs_entry *elevator_attrs;\n\tconst char *elevator_name;\n\tconst char *elevator_alias;\n\tstruct module *elevator_owner;\n\tconst struct blk_mq_debugfs_attr *queue_debugfs_attrs;\n\tconst struct blk_mq_debugfs_attr *hctx_debugfs_attrs;\n\tchar icq_cache_name[22];\n\tstruct list_head list;\n};\n\nstruct elf32_hdr {\n\tunsigned char e_ident[16];\n\tElf32_Half e_type;\n\tElf32_Half e_machine;\n\tElf32_Word e_version;\n\tElf32_Addr e_entry;\n\tElf32_Off e_phoff;\n\tElf32_Off e_shoff;\n\tElf32_Word e_flags;\n\tElf32_Half e_ehsize;\n\tElf32_Half e_phentsize;\n\tElf32_Half e_phnum;\n\tElf32_Half e_shentsize;\n\tElf32_Half e_shnum;\n\tElf32_Half e_shstrndx;\n};\n\ntypedef struct elf32_hdr Elf32_Ehdr;\n\nstruct elf32_note {\n\tElf32_Word n_namesz;\n\tElf32_Word n_descsz;\n\tElf32_Word n_type;\n};\n\ntypedef struct elf32_note Elf32_Nhdr;\n\nstruct elf32_phdr {\n\tElf32_Word p_type;\n\tElf32_Off p_offset;\n\tElf32_Addr p_vaddr;\n\tElf32_Addr p_paddr;\n\tElf32_Word p_filesz;\n\tElf32_Word p_memsz;\n\tElf32_Word p_flags;\n\tElf32_Word p_align;\n};\n\ntypedef struct elf32_phdr Elf32_Phdr;\n\nstruct elf64_hdr {\n\tunsigned char e_ident[16];\n\tElf64_Half e_type;\n\tElf64_Half e_machine;\n\tElf64_Word e_version;\n\tElf64_Addr e_entry;\n\tElf64_Off e_phoff;\n\tElf64_Off e_shoff;\n\tElf64_Word e_flags;\n\tElf64_Half e_ehsize;\n\tElf64_Half e_phentsize;\n\tElf64_Half e_phnum;\n\tElf64_Half e_shentsize;\n\tElf64_Half e_shnum;\n\tElf64_Half e_shstrndx;\n};\n\ntypedef struct elf64_hdr Elf64_Ehdr;\n\nstruct elf64_note {\n\tElf64_Word n_namesz;\n\tElf64_Word n_descsz;\n\tElf64_Word n_type;\n};\n\ntypedef struct elf64_note Elf64_Nhdr;\n\nstruct elf64_phdr {\n\tElf64_Word p_type;\n\tElf64_Word p_flags;\n\tElf64_Off p_offset;\n\tElf64_Addr p_vaddr;\n\tElf64_Addr p_paddr;\n\tElf64_Xword p_filesz;\n\tElf64_Xword p_memsz;\n\tElf64_Xword p_align;\n};\n\ntypedef struct elf64_phdr Elf64_Phdr;\n\nstruct elf64_rela {\n\tElf64_Addr r_offset;\n\tElf64_Xword r_info;\n\tElf64_Sxword r_addend;\n};\n\ntypedef struct elf64_rela Elf64_Rela;\n\nstruct elf64_shdr {\n\tElf64_Word sh_name;\n\tElf64_Word sh_type;\n\tElf64_Xword sh_flags;\n\tElf64_Addr sh_addr;\n\tElf64_Off sh_offset;\n\tElf64_Xword sh_size;\n\tElf64_Word sh_link;\n\tElf64_Word sh_info;\n\tElf64_Xword sh_addralign;\n\tElf64_Xword sh_entsize;\n};\n\ntypedef struct elf64_shdr Elf64_Shdr;\n\nstruct elf64_sym {\n\tElf64_Word st_name;\n\tunsigned char st_info;\n\tunsigned char st_other;\n\tElf64_Half st_shndx;\n\tElf64_Addr st_value;\n\tElf64_Xword st_size;\n};\n\ntypedef struct elf64_sym Elf64_Sym;\n\nstruct memelfnote {\n\tconst char *name;\n\tint type;\n\tunsigned int datasz;\n\tvoid *data;\n};\n\nstruct siginfo {\n\tunion {\n\t\tstruct {\n\t\t\tint si_signo;\n\t\t\tint si_errno;\n\t\t\tint si_code;\n\t\t\tunion __sifields _sifields;\n\t\t};\n\t\tint _si_pad[32];\n\t};\n};\n\ntypedef struct siginfo siginfo_t;\n\nstruct elf_thread_core_info;\n\nstruct elf_note_info {\n\tstruct elf_thread_core_info *thread;\n\tstruct memelfnote psinfo;\n\tstruct memelfnote signote;\n\tstruct memelfnote auxv;\n\tstruct memelfnote files;\n\tsiginfo_t csigdata;\n\tsize_t size;\n\tint thread_notes;\n};\n\nstruct elf_prpsinfo {\n\tchar pr_state;\n\tchar pr_sname;\n\tchar pr_zomb;\n\tchar pr_nice;\n\tlong unsigned int pr_flag;\n\t__kernel_uid_t pr_uid;\n\t__kernel_gid_t pr_gid;\n\tpid_t pr_pid;\n\tpid_t pr_ppid;\n\tpid_t pr_pgrp;\n\tpid_t pr_sid;\n\tchar pr_fname[16];\n\tchar pr_psargs[80];\n};\n\nstruct elf_siginfo {\n\tint si_signo;\n\tint si_code;\n\tint si_errno;\n};\n\nstruct elf_prstatus_common {\n\tstruct elf_siginfo pr_info;\n\tshort int pr_cursig;\n\tlong unsigned int pr_sigpend;\n\tlong unsigned int pr_sighold;\n\tpid_t pr_pid;\n\tpid_t pr_ppid;\n\tpid_t pr_pgrp;\n\tpid_t pr_sid;\n\tstruct __kernel_old_timeval pr_utime;\n\tstruct __kernel_old_timeval pr_stime;\n\tstruct __kernel_old_timeval pr_cutime;\n\tstruct __kernel_old_timeval pr_cstime;\n};\n\nstruct elf_prstatus {\n\tstruct elf_prstatus_common common;\n\telf_gregset_t pr_reg;\n\tint pr_fpvalid;\n};\n\nstruct elf_thread_core_info {\n\tstruct elf_thread_core_info *next;\n\tstruct task_struct *task;\n\tstruct elf_prstatus prstatus;\n\tstruct memelfnote notes[0];\n};\n\nstruct elv_fs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct elevator_queue *, char *);\n\tssize_t (*store)(struct elevator_queue *, const char *, size_t);\n};\n\nstruct em_data_callback {};\n\nstruct em_perf_table;\n\nstruct em_perf_domain {\n\tstruct em_perf_table *em_table;\n\tint nr_perf_states;\n\tint min_perf_state;\n\tint max_perf_state;\n\tlong unsigned int flags;\n\tlong unsigned int cpus[0];\n};\n\nstruct em_perf_state {\n\tlong unsigned int performance;\n\tlong unsigned int frequency;\n\tlong unsigned int power;\n\tlong unsigned int cost;\n\tlong unsigned int flags;\n};\n\nstruct em_perf_table {\n\tstruct callback_head rcu;\n\tstruct kref kref;\n\tstruct em_perf_state state[0];\n};\n\nunion enable {\n\tu64 reg_u64[4];\n\tu32 reg_u32[8];\n\tu16 reg_u16[16];\n\tu8 reg_u8[32];\n};\n\nstruct trace_event_file;\n\nstruct enable_trigger_data {\n\tstruct trace_event_file *file;\n\tbool enable;\n\tbool hist;\n};\n\nstruct xdr_buf;\n\nstruct encryptor_desc {\n\tu8 iv[16];\n\tstruct skcipher_request *req;\n\tint pos;\n\tstruct xdr_buf *outbuf;\n\tstruct page **pages;\n\tstruct scatterlist infrags[4];\n\tstruct scatterlist outfrags[4];\n\tint fragno;\n\tint fraglen;\n};\n\nstruct energy_env {\n\tlong unsigned int task_busy_time;\n\tlong unsigned int pd_busy_time;\n\tlong unsigned int cpu_cap;\n\tlong unsigned int pd_cap;\n};\n\nstruct ent {\n\tstruct cache_head h;\n\tint type;\n\tu32 id;\n\tchar name[128];\n\tchar authname[128];\n\tstruct callback_head callback_head;\n};\n\nstruct entropy_timer_state {\n\tlong unsigned int entropy;\n\tstruct timer_list timer;\n\tatomic_t samples;\n\tunsigned int samples_per_bit;\n};\n\nstruct usb_endpoint_descriptor;\n\nstruct ep_device {\n\tstruct usb_endpoint_descriptor *desc;\n\tstruct usb_device *udev;\n\tstruct device dev;\n};\n\nstruct ep_name_entry {\n\tu8 len;\n\tu8 type;\n\tu8 data[0];\n};\n\ntypedef struct poll_table_struct poll_table;\n\nstruct epitem;\n\nstruct ep_pqueue {\n\tpoll_table pt;\n\tstruct epitem *epi;\n};\n\nstruct ephy_info {\n\tunsigned int offset;\n\tu16 mask;\n\tu16 bits;\n};\n\nstruct epoll_filefd {\n\tstruct file *file;\n\tint fd;\n} __attribute__((packed));\n\nstruct epoll_event {\n\t__poll_t events;\n\t__u64 data;\n};\n\nstruct eppoll_entry;\n\nstruct eventpoll;\n\nstruct epitem {\n\tunion {\n\t\tstruct rb_node rbn;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct list_head rdllink;\n\tstruct epitem *next;\n\tstruct epoll_filefd ffd;\n\tbool dying;\n\tstruct eppoll_entry *pwqlist;\n\tstruct eventpoll *ep;\n\tstruct hlist_node fllink;\n\tstruct wakeup_source *ws;\n\tstruct epoll_event event;\n};\n\nstruct epitems_head {\n\tstruct hlist_head epitems;\n\tstruct epitems_head *next;\n};\n\nstruct epoll_params {\n\t__u32 busy_poll_usecs;\n\t__u16 busy_poll_budget;\n\t__u8 prefer_busy_poll;\n\t__u8 __pad;\n};\n\nstruct eppoll_entry {\n\tstruct eppoll_entry *next;\n\tstruct epitem *base;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *whead;\n};\n\nstruct trace_eprobe;\n\nstruct eprobe_data {\n\tstruct trace_event_file *file;\n\tstruct trace_eprobe *ep;\n};\n\nstruct eprobe_trace_entry_head {\n\tstruct trace_entry ent;\n};\n\nstruct err_info {\n\tconst char **errs;\n\tu8 type;\n\tu16 pos;\n\tu64 ts;\n};\n\nstruct error_info {\n\tshort unsigned int code12;\n\tshort unsigned int size;\n};\n\nstruct error_info2 {\n\tunsigned char code1;\n\tunsigned char code2_min;\n\tunsigned char code2_max;\n\tconst char *str;\n\tconst char *fmt;\n};\n\nstruct errormap {\n\tchar *name;\n\tint val;\n\tint namelen;\n\tstruct hlist_node list;\n};\n\nstruct erspan_md2 {\n\t__be32 timestamp;\n\t__be16 sgt;\n\t__u8 hwid_upper: 2;\n\t__u8 ft: 5;\n\t__u8 p: 1;\n\t__u8 o: 1;\n\t__u8 gra: 2;\n\t__u8 dir: 1;\n\t__u8 hwid: 4;\n};\n\nstruct erspan_metadata {\n\tint version;\n\tunion {\n\t\t__be32 index;\n\t\tstruct erspan_md2 md2;\n\t} u;\n};\n\nstruct strp_stats {\n\tlong long unsigned int msgs;\n\tlong long unsigned int bytes;\n\tunsigned int mem_fail;\n\tunsigned int need_more_hdr;\n\tunsigned int msg_too_big;\n\tunsigned int msg_timeouts;\n\tunsigned int bad_hdr_len;\n};\n\ntypedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *, unsigned int, size_t);\n\nstruct strparser;\n\nstruct strp_callbacks {\n\tint (*parse_msg)(struct strparser *, struct sk_buff *);\n\tvoid (*rcv_msg)(struct strparser *, struct sk_buff *);\n\tint (*read_sock)(struct strparser *, read_descriptor_t *, sk_read_actor_t);\n\tint (*read_sock_done)(struct strparser *, int);\n\tvoid (*abort_parser)(struct strparser *, int);\n\tvoid (*lock)(struct strparser *);\n\tvoid (*unlock)(struct strparser *);\n};\n\nstruct strparser {\n\tstruct sock *sk;\n\tu32 stopped: 1;\n\tu32 paused: 1;\n\tu32 aborted: 1;\n\tu32 interrupted: 1;\n\tu32 unrecov_intr: 1;\n\tstruct sk_buff **skb_nextp;\n\tstruct sk_buff *skb_head;\n\tunsigned int need_bytes;\n\tstruct delayed_work msg_timer_work;\n\tstruct work_struct work;\n\tstruct strp_stats stats;\n\tstruct strp_callbacks cb;\n};\n\nstruct espintcp_msg {\n\tstruct sk_buff *skb;\n\tstruct sk_msg skmsg;\n\tint offset;\n\tint len;\n};\n\nstruct espintcp_ctx {\n\tstruct strparser strp;\n\tstruct sk_buff_head ike_queue;\n\tstruct sk_buff_head out_queue;\n\tstruct espintcp_msg partial;\n\tvoid (*saved_data_ready)(struct sock *);\n\tvoid (*saved_write_space)(struct sock *);\n\tvoid (*saved_destruct)(struct sock *);\n\tstruct work_struct work;\n\tbool tx_running;\n};\n\nstruct esre_entry;\n\nstruct esre_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct esre_entry *, char *);\n};\n\nstruct esre_entry {\n\tunion {\n\t\tstruct efi_system_resource_entry_v1 *esre1;\n\t} esre;\n\tstruct kobject kobj;\n\tstruct list_head list;\n};\n\nstruct ethhdr {\n\tunsigned char h_dest[6];\n\tunsigned char h_source[6];\n\t__be16 h_proto;\n};\n\nstruct ethnl_request_ops;\n\nstruct ethnl_dump_ctx {\n\tconst struct ethnl_request_ops *ops;\n\tstruct ethnl_req_info *req_info;\n\tstruct ethnl_reply_data *reply_data;\n\tlong unsigned int pos_ifindex;\n};\n\nstruct ethnl_module_fw_flash_ntf_params {\n\tu32 portid;\n\tu32 seq;\n\tbool closed_sock;\n};\n\nstruct phy_req_info;\n\nstruct ethnl_phy_dump_ctx {\n\tstruct phy_req_info *phy_req_info;\n\tlong unsigned int ifindex;\n\tlong unsigned int phy_index;\n};\n\nstruct genl_info;\n\nstruct ethnl_request_ops {\n\tu8 request_cmd;\n\tu8 reply_cmd;\n\tu16 hdr_attr;\n\tunsigned int req_info_size;\n\tunsigned int reply_data_size;\n\tbool allow_nodev_do;\n\tu8 set_ntf_cmd;\n\tint (*parse_request)(struct ethnl_req_info *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*prepare_data)(const struct ethnl_req_info *, struct ethnl_reply_data *, const struct genl_info *);\n\tint (*reply_size)(const struct ethnl_req_info *, const struct ethnl_reply_data *);\n\tint (*fill_reply)(struct sk_buff *, const struct ethnl_req_info *, const struct ethnl_reply_data *);\n\tvoid (*cleanup_data)(struct ethnl_reply_data *);\n\tint (*set_validate)(struct ethnl_req_info *, struct genl_info *);\n\tint (*set)(struct ethnl_req_info *, struct genl_info *);\n};\n\nstruct ethnl_sock_priv {\n\tstruct net_device *dev;\n\tu32 portid;\n\tenum ethnl_sock_type type;\n};\n\nstruct tsinfo_req_info;\n\nstruct tsinfo_reply_data;\n\nstruct ethnl_tsinfo_dump_ctx {\n\tstruct tsinfo_req_info *req_info;\n\tstruct tsinfo_reply_data *reply_data;\n\tlong unsigned int pos_ifindex;\n\tbool netdev_dump_done;\n\tlong unsigned int pos_phyindex;\n\tenum hwtstamp_provider_qualifier pos_phcqualifier;\n};\n\nstruct ethnl_tunnel_info_dump_ctx {\n\tstruct ethnl_req_info req_info;\n\tlong unsigned int ifindex;\n};\n\nstruct ethtool_ah_espip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be32 spi;\n\t__u8 tos;\n};\n\nstruct ethtool_ah_espip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be32 spi;\n\t__u8 tclass;\n};\n\nstruct ethtool_c33_pse_ext_state_info {\n\tenum ethtool_c33_pse_ext_state c33_pse_ext_state;\n\tunion {\n\t\tenum ethtool_c33_pse_ext_substate_error_condition error_condition;\n\t\tenum ethtool_c33_pse_ext_substate_mr_pse_enable mr_pse_enable;\n\t\tenum ethtool_c33_pse_ext_substate_option_detect_ted option_detect_ted;\n\t\tenum ethtool_c33_pse_ext_substate_option_vport_lim option_vport_lim;\n\t\tenum ethtool_c33_pse_ext_substate_ovld_detected ovld_detected;\n\t\tenum ethtool_c33_pse_ext_substate_power_not_available power_not_available;\n\t\tenum ethtool_c33_pse_ext_substate_short_detected short_detected;\n\t\tu32 __c33_pse_ext_substate;\n\t};\n};\n\nstruct ethtool_c33_pse_pw_limit_range {\n\tu32 min;\n\tu32 max;\n};\n\nstruct ethtool_cmd {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 advertising;\n\t__u16 speed;\n\t__u8 duplex;\n\t__u8 port;\n\t__u8 phy_address;\n\t__u8 transceiver;\n\t__u8 autoneg;\n\t__u8 mdio_support;\n\t__u32 maxtxpkt;\n\t__u32 maxrxpkt;\n\t__u16 speed_hi;\n\t__u8 eth_tp_mdix;\n\t__u8 eth_tp_mdix_ctrl;\n\t__u32 lp_advertising;\n\t__u32 reserved[2];\n};\n\nstruct ethtool_cmis_cdb {\n\tu8 cmis_rev;\n\tu8 read_write_len_ext;\n\tu16 max_completion_time;\n};\n\nstruct ethtool_cmis_cdb_request {\n\t__be16 id;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 epl_len;\n\t\t\tu8 lpl_len;\n\t\t\tu8 chk_code;\n\t\t\tu8 resv1;\n\t\t\tu8 resv2;\n\t\t\tu8 payload[120];\n\t\t};\n\t\tstruct {\n\t\t\t__be16 epl_len;\n\t\t\tu8 lpl_len;\n\t\t\tu8 chk_code;\n\t\t\tu8 resv1;\n\t\t\tu8 resv2;\n\t\t\tu8 payload[120];\n\t\t} body;\n\t};\n\tu8 *epl;\n};\n\nstruct ethtool_cmis_cdb_cmd_args {\n\tstruct ethtool_cmis_cdb_request req;\n\tu16 max_duration;\n\tu8 read_write_len_ext;\n\tu8 msleep_pre_rpl;\n\tu8 rpl_exp_len;\n\tu8 flags;\n\tchar *err_msg;\n};\n\nstruct ethtool_cmis_cdb_rpl_hdr {\n\tu8 rpl_len;\n\tu8 rpl_chk_code;\n};\n\nstruct ethtool_cmis_cdb_rpl {\n\tstruct ethtool_cmis_cdb_rpl_hdr hdr;\n\tu8 payload[120];\n};\n\nstruct ethtool_module_fw_flash_params {\n\t__be32 password;\n\tu8 password_valid: 1;\n};\n\nstruct ethtool_cmis_fw_update_params {\n\tstruct net_device *dev;\n\tstruct ethtool_module_fw_flash_params params;\n\tstruct ethnl_module_fw_flash_ntf_params ntf_params;\n\tconst struct firmware *fw;\n};\n\nstruct ethtool_flash {\n\t__u32 cmd;\n\t__u32 region;\n\tchar data[128];\n};\n\nstruct ethtool_drvinfo {\n\t__u32 cmd;\n\tchar driver[32];\n\tchar version[32];\n\tchar fw_version[32];\n\tchar bus_info[32];\n\tchar erom_version[32];\n\tchar reserved2[12];\n\t__u32 n_priv_flags;\n\t__u32 n_stats;\n\t__u32 testinfo_len;\n\t__u32 eedump_len;\n\t__u32 regdump_len;\n};\n\nstruct ethtool_devlink_compat {\n\tstruct devlink *devlink;\n\tunion {\n\t\tstruct ethtool_flash efl;\n\t\tstruct ethtool_drvinfo info;\n\t};\n};\n\nstruct ethtool_dump {\n\t__u32 cmd;\n\t__u32 version;\n\t__u32 flag;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_eee {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 advertised;\n\t__u32 lp_advertised;\n\t__u32 eee_active;\n\t__u32 eee_enabled;\n\t__u32 tx_lpi_enabled;\n\t__u32 tx_lpi_timer;\n\t__u32 reserved[2];\n};\n\nstruct ethtool_eeprom {\n\t__u32 cmd;\n\t__u32 magic;\n\t__u32 offset;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_eth_ctrl_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 MACControlFramesTransmitted;\n\t\t\tu64 MACControlFramesReceived;\n\t\t\tu64 UnsupportedOpcodesReceived;\n\t\t};\n\t\tstruct {\n\t\t\tu64 MACControlFramesTransmitted;\n\t\t\tu64 MACControlFramesReceived;\n\t\t\tu64 UnsupportedOpcodesReceived;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_eth_mac_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 FramesTransmittedOK;\n\t\t\tu64 SingleCollisionFrames;\n\t\t\tu64 MultipleCollisionFrames;\n\t\t\tu64 FramesReceivedOK;\n\t\t\tu64 FrameCheckSequenceErrors;\n\t\t\tu64 AlignmentErrors;\n\t\t\tu64 OctetsTransmittedOK;\n\t\t\tu64 FramesWithDeferredXmissions;\n\t\t\tu64 LateCollisions;\n\t\t\tu64 FramesAbortedDueToXSColls;\n\t\t\tu64 FramesLostDueToIntMACXmitError;\n\t\t\tu64 CarrierSenseErrors;\n\t\t\tu64 OctetsReceivedOK;\n\t\t\tu64 FramesLostDueToIntMACRcvError;\n\t\t\tu64 MulticastFramesXmittedOK;\n\t\t\tu64 BroadcastFramesXmittedOK;\n\t\t\tu64 FramesWithExcessiveDeferral;\n\t\t\tu64 MulticastFramesReceivedOK;\n\t\t\tu64 BroadcastFramesReceivedOK;\n\t\t\tu64 InRangeLengthErrors;\n\t\t\tu64 OutOfRangeLengthField;\n\t\t\tu64 FrameTooLongErrors;\n\t\t};\n\t\tstruct {\n\t\t\tu64 FramesTransmittedOK;\n\t\t\tu64 SingleCollisionFrames;\n\t\t\tu64 MultipleCollisionFrames;\n\t\t\tu64 FramesReceivedOK;\n\t\t\tu64 FrameCheckSequenceErrors;\n\t\t\tu64 AlignmentErrors;\n\t\t\tu64 OctetsTransmittedOK;\n\t\t\tu64 FramesWithDeferredXmissions;\n\t\t\tu64 LateCollisions;\n\t\t\tu64 FramesAbortedDueToXSColls;\n\t\t\tu64 FramesLostDueToIntMACXmitError;\n\t\t\tu64 CarrierSenseErrors;\n\t\t\tu64 OctetsReceivedOK;\n\t\t\tu64 FramesLostDueToIntMACRcvError;\n\t\t\tu64 MulticastFramesXmittedOK;\n\t\t\tu64 BroadcastFramesXmittedOK;\n\t\t\tu64 FramesWithExcessiveDeferral;\n\t\t\tu64 MulticastFramesReceivedOK;\n\t\t\tu64 BroadcastFramesReceivedOK;\n\t\t\tu64 InRangeLengthErrors;\n\t\t\tu64 OutOfRangeLengthField;\n\t\t\tu64 FrameTooLongErrors;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_eth_phy_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 SymbolErrorDuringCarrier;\n\t\t};\n\t\tstruct {\n\t\t\tu64 SymbolErrorDuringCarrier;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_fec_stat {\n\tu64 total;\n\tu64 lanes[8];\n};\n\nstruct ethtool_fec_stats {\n\tstruct ethtool_fec_stat corrected_blocks;\n\tstruct ethtool_fec_stat uncorrectable_blocks;\n\tstruct ethtool_fec_stat corrected_bits;\n};\n\nstruct ethtool_fecparam {\n\t__u32 cmd;\n\t__u32 active_fec;\n\t__u32 fec;\n\t__u32 reserved;\n};\n\nstruct ethtool_flow_ext {\n\t__u8 padding[2];\n\tunsigned char h_dest[6];\n\t__be16 vlan_etype;\n\t__be16 vlan_tci;\n\t__be32 data[2];\n};\n\nstruct ethtool_tcpip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be16 psrc;\n\t__be16 pdst;\n\t__u8 tos;\n};\n\nstruct ethtool_usrip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be32 l4_4_bytes;\n\t__u8 tos;\n\t__u8 ip_ver;\n\t__u8 proto;\n};\n\nstruct ethtool_tcpip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be16 psrc;\n\t__be16 pdst;\n\t__u8 tclass;\n};\n\nstruct ethtool_usrip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be32 l4_4_bytes;\n\t__u8 tclass;\n\t__u8 l4_proto;\n};\n\nunion ethtool_flow_union {\n\tstruct ethtool_tcpip4_spec tcp_ip4_spec;\n\tstruct ethtool_tcpip4_spec udp_ip4_spec;\n\tstruct ethtool_tcpip4_spec sctp_ip4_spec;\n\tstruct ethtool_ah_espip4_spec ah_ip4_spec;\n\tstruct ethtool_ah_espip4_spec esp_ip4_spec;\n\tstruct ethtool_usrip4_spec usr_ip4_spec;\n\tstruct ethtool_tcpip6_spec tcp_ip6_spec;\n\tstruct ethtool_tcpip6_spec udp_ip6_spec;\n\tstruct ethtool_tcpip6_spec sctp_ip6_spec;\n\tstruct ethtool_ah_espip6_spec ah_ip6_spec;\n\tstruct ethtool_ah_espip6_spec esp_ip6_spec;\n\tstruct ethtool_usrip6_spec usr_ip6_spec;\n\tstruct ethhdr ether_spec;\n\t__u8 hdata[52];\n};\n\nstruct ethtool_forced_speed_map {\n\tu32 speed;\n\tlong unsigned int caps[2];\n\tconst u32 *cap_arr;\n\tu32 arr_size;\n};\n\nstruct ethtool_get_features_block {\n\t__u32 available;\n\t__u32 requested;\n\t__u32 active;\n\t__u32 never_changed;\n};\n\nstruct ethtool_gfeatures {\n\t__u32 cmd;\n\t__u32 size;\n\tstruct ethtool_get_features_block features[0];\n};\n\nstruct ethtool_gstrings {\n\t__u32 cmd;\n\t__u32 string_set;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_link_ext_state_info {\n\tenum ethtool_link_ext_state link_ext_state;\n\tunion {\n\t\tenum ethtool_link_ext_substate_autoneg autoneg;\n\t\tenum ethtool_link_ext_substate_link_training link_training;\n\t\tenum ethtool_link_ext_substate_link_logical_mismatch link_logical_mismatch;\n\t\tenum ethtool_link_ext_substate_bad_signal_integrity bad_signal_integrity;\n\t\tenum ethtool_link_ext_substate_cable_issue cable_issue;\n\t\tenum ethtool_link_ext_substate_module module;\n\t\tu32 __link_ext_substate;\n\t};\n};\n\nstruct ethtool_link_ext_stats {\n\tu64 link_down_events;\n};\n\nstruct ethtool_link_settings {\n\t__u32 cmd;\n\t__u32 speed;\n\t__u8 duplex;\n\t__u8 port;\n\t__u8 phy_address;\n\t__u8 autoneg;\n\t__u8 mdio_support;\n\t__u8 eth_tp_mdix;\n\t__u8 eth_tp_mdix_ctrl;\n\t__s8 link_mode_masks_nwords;\n\t__u8 transceiver;\n\t__u8 master_slave_cfg;\n\t__u8 master_slave_state;\n\t__u8 rate_matching;\n\t__u32 reserved[7];\n};\n\nstruct ethtool_link_ksettings {\n\tstruct ethtool_link_settings base;\n\tstruct {\n\t\tlong unsigned int supported[2];\n\t\tlong unsigned int advertising[2];\n\t\tlong unsigned int lp_advertising[2];\n\t} link_modes;\n\tu32 lanes;\n};\n\nstruct ethtool_link_usettings {\n\tstruct ethtool_link_settings base;\n\tstruct {\n\t\t__u32 supported[4];\n\t\t__u32 advertising[4];\n\t\t__u32 lp_advertising[4];\n\t} link_modes;\n};\n\nstruct ethtool_mm_cfg {\n\tu32 verify_time;\n\tbool verify_enabled;\n\tbool tx_enabled;\n\tbool pmac_enabled;\n\tu32 tx_min_frag_size;\n};\n\nstruct ethtool_mm_state {\n\tu32 verify_time;\n\tu32 max_verify_time;\n\tenum ethtool_mm_verify_status verify_status;\n\tbool tx_enabled;\n\tbool tx_active;\n\tbool pmac_enabled;\n\tbool verify_enabled;\n\tu32 tx_min_frag_size;\n\tu32 rx_min_frag_size;\n};\n\nstruct ethtool_mm_stats {\n\tu64 MACMergeFrameAssErrorCount;\n\tu64 MACMergeFrameSmdErrorCount;\n\tu64 MACMergeFrameAssOkCount;\n\tu64 MACMergeFragCountRx;\n\tu64 MACMergeFragCountTx;\n\tu64 MACMergeHoldCount;\n};\n\nstruct ethtool_modinfo {\n\t__u32 cmd;\n\t__u32 type;\n\t__u32 eeprom_len;\n\t__u32 reserved[8];\n};\n\nstruct ethtool_module_eeprom {\n\tu32 offset;\n\tu32 length;\n\tu8 page;\n\tu8 bank;\n\tu8 i2c_address;\n\tu8 *data;\n};\n\nstruct ethtool_module_fw_flash {\n\tstruct list_head list;\n\tnetdevice_tracker dev_tracker;\n\tstruct work_struct work;\n\tstruct ethtool_cmis_fw_update_params fw_update;\n};\n\nstruct ethtool_module_power_mode_params {\n\tenum ethtool_module_power_mode_policy policy;\n\tenum ethtool_module_power_mode mode;\n};\n\nstruct ethtool_netdev_state {\n\tstruct xarray rss_ctx;\n\tstruct mutex rss_lock;\n\tunsigned int wol_enabled: 1;\n\tunsigned int module_fw_flash_in_progress: 1;\n};\n\nstruct ethtool_regs;\n\nstruct ethtool_wolinfo;\n\nstruct ethtool_ringparam;\n\nstruct kernel_ethtool_ringparam;\n\nstruct ethtool_pause_stats;\n\nstruct ethtool_pauseparam;\n\nstruct ethtool_test;\n\nstruct ethtool_stats;\n\nstruct ethtool_rxnfc;\n\nstruct ethtool_rxfh_param;\n\nstruct ethtool_rxfh_context;\n\nstruct kernel_ethtool_ts_info;\n\nstruct ethtool_ts_stats;\n\nstruct ethtool_tunable;\n\nstruct ethtool_rmon_stats;\n\nstruct ethtool_rmon_hist_range;\n\nstruct ethtool_ops {\n\tu32 cap_link_lanes_supported: 1;\n\tu32 cap_rss_ctx_supported: 1;\n\tu32 cap_rss_sym_xor_supported: 1;\n\tu32 rxfh_per_ctx_key: 1;\n\tu32 cap_rss_rxnfc_adds: 1;\n\tu32 rxfh_indir_space;\n\tu16 rxfh_key_space;\n\tu16 rxfh_priv_size;\n\tu32 rxfh_max_num_contexts;\n\tu32 supported_coalesce_params;\n\tu32 supported_ring_params;\n\tu32 supported_hwtstamp_qualifiers;\n\tvoid (*get_drvinfo)(struct net_device *, struct ethtool_drvinfo *);\n\tint (*get_regs_len)(struct net_device *);\n\tvoid (*get_regs)(struct net_device *, struct ethtool_regs *, void *);\n\tvoid (*get_wol)(struct net_device *, struct ethtool_wolinfo *);\n\tint (*set_wol)(struct net_device *, struct ethtool_wolinfo *);\n\tu32 (*get_msglevel)(struct net_device *);\n\tvoid (*set_msglevel)(struct net_device *, u32);\n\tint (*nway_reset)(struct net_device *);\n\tu32 (*get_link)(struct net_device *);\n\tint (*get_link_ext_state)(struct net_device *, struct ethtool_link_ext_state_info *);\n\tvoid (*get_link_ext_stats)(struct net_device *, struct ethtool_link_ext_stats *);\n\tint (*get_eeprom_len)(struct net_device *);\n\tint (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*get_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *);\n\tint (*set_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *);\n\tvoid (*get_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *);\n\tint (*set_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *);\n\tvoid (*get_pause_stats)(struct net_device *, struct ethtool_pause_stats *);\n\tvoid (*get_pauseparam)(struct net_device *, struct ethtool_pauseparam *);\n\tint (*set_pauseparam)(struct net_device *, struct ethtool_pauseparam *);\n\tvoid (*self_test)(struct net_device *, struct ethtool_test *, u64 *);\n\tvoid (*get_strings)(struct net_device *, u32, u8 *);\n\tint (*set_phys_id)(struct net_device *, enum ethtool_phys_id_state);\n\tvoid (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *);\n\tint (*begin)(struct net_device *);\n\tvoid (*complete)(struct net_device *);\n\tu32 (*get_priv_flags)(struct net_device *);\n\tint (*set_priv_flags)(struct net_device *, u32);\n\tint (*get_sset_count)(struct net_device *, int);\n\tint (*get_rxnfc)(struct net_device *, struct ethtool_rxnfc *, u32 *);\n\tint (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *);\n\tint (*flash_device)(struct net_device *, struct ethtool_flash *);\n\tint (*reset)(struct net_device *, u32 *);\n\tu32 (*get_rxfh_key_size)(struct net_device *);\n\tu32 (*get_rxfh_indir_size)(struct net_device *);\n\tint (*get_rxfh)(struct net_device *, struct ethtool_rxfh_param *);\n\tint (*set_rxfh)(struct net_device *, struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*create_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*modify_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*remove_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, u32, struct netlink_ext_ack *);\n\tvoid (*get_channels)(struct net_device *, struct ethtool_channels *);\n\tint (*set_channels)(struct net_device *, struct ethtool_channels *);\n\tint (*get_dump_flag)(struct net_device *, struct ethtool_dump *);\n\tint (*get_dump_data)(struct net_device *, struct ethtool_dump *, void *);\n\tint (*set_dump)(struct net_device *, struct ethtool_dump *);\n\tint (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *);\n\tvoid (*get_ts_stats)(struct net_device *, struct ethtool_ts_stats *);\n\tint (*get_module_info)(struct net_device *, struct ethtool_modinfo *);\n\tint (*get_module_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*get_eee)(struct net_device *, struct ethtool_keee *);\n\tint (*set_eee)(struct net_device *, struct ethtool_keee *);\n\tint (*get_tunable)(struct net_device *, const struct ethtool_tunable *, void *);\n\tint (*set_tunable)(struct net_device *, const struct ethtool_tunable *, const void *);\n\tint (*get_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *);\n\tint (*set_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *);\n\tint (*get_link_ksettings)(struct net_device *, struct ethtool_link_ksettings *);\n\tint (*set_link_ksettings)(struct net_device *, const struct ethtool_link_ksettings *);\n\tvoid (*get_fec_stats)(struct net_device *, struct ethtool_fec_stats *);\n\tint (*get_fecparam)(struct net_device *, struct ethtool_fecparam *);\n\tint (*set_fecparam)(struct net_device *, struct ethtool_fecparam *);\n\tvoid (*get_ethtool_phy_stats)(struct net_device *, struct ethtool_stats *, u64 *);\n\tint (*get_phy_tunable)(struct net_device *, const struct ethtool_tunable *, void *);\n\tint (*set_phy_tunable)(struct net_device *, const struct ethtool_tunable *, const void *);\n\tint (*get_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n\tint (*set_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n\tvoid (*get_eth_phy_stats)(struct net_device *, struct ethtool_eth_phy_stats *);\n\tvoid (*get_eth_mac_stats)(struct net_device *, struct ethtool_eth_mac_stats *);\n\tvoid (*get_eth_ctrl_stats)(struct net_device *, struct ethtool_eth_ctrl_stats *);\n\tvoid (*get_rmon_stats)(struct net_device *, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **);\n\tint (*get_module_power_mode)(struct net_device *, struct ethtool_module_power_mode_params *, struct netlink_ext_ack *);\n\tint (*set_module_power_mode)(struct net_device *, const struct ethtool_module_power_mode_params *, struct netlink_ext_ack *);\n\tint (*get_mm)(struct net_device *, struct ethtool_mm_state *);\n\tint (*set_mm)(struct net_device *, struct ethtool_mm_cfg *, struct netlink_ext_ack *);\n\tvoid (*get_mm_stats)(struct net_device *, struct ethtool_mm_stats *);\n};\n\nstruct ethtool_pause_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 tx_pause_frames;\n\t\t\tu64 rx_pause_frames;\n\t\t};\n\t\tstruct {\n\t\t\tu64 tx_pause_frames;\n\t\t\tu64 rx_pause_frames;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_pauseparam {\n\t__u32 cmd;\n\t__u32 autoneg;\n\t__u32 rx_pause;\n\t__u32 tx_pause;\n};\n\nstruct ethtool_per_queue_op {\n\t__u32 cmd;\n\t__u32 sub_command;\n\t__u32 queue_mask[128];\n\tchar data[0];\n};\n\nstruct ethtool_perm_addr {\n\t__u32 cmd;\n\t__u32 size;\n\t__u8 data[0];\n};\n\nstruct phy_device;\n\nstruct phy_plca_cfg;\n\nstruct phy_plca_status;\n\nstruct phy_tdr_config;\n\nstruct ethtool_phy_ops {\n\tint (*get_sset_count)(struct phy_device *);\n\tint (*get_strings)(struct phy_device *, u8 *);\n\tint (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *);\n\tint (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *);\n\tint (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *, struct netlink_ext_ack *);\n\tint (*get_plca_status)(struct phy_device *, struct phy_plca_status *);\n\tint (*start_cable_test)(struct phy_device *, struct netlink_ext_ack *);\n\tint (*start_cable_test_tdr)(struct phy_device *, struct netlink_ext_ack *, const struct phy_tdr_config *);\n};\n\nstruct ethtool_phy_stats {\n\tu64 rx_packets;\n\tu64 rx_bytes;\n\tu64 rx_errors;\n\tu64 tx_packets;\n\tu64 tx_bytes;\n\tu64 tx_errors;\n};\n\nstruct ethtool_pse_control_status {\n\tenum ethtool_podl_pse_admin_state podl_admin_state;\n\tenum ethtool_podl_pse_pw_d_status podl_pw_status;\n\tenum ethtool_c33_pse_admin_state c33_admin_state;\n\tenum ethtool_c33_pse_pw_d_status c33_pw_status;\n\tu32 c33_pw_class;\n\tu32 c33_actual_pw;\n\tstruct ethtool_c33_pse_ext_state_info c33_ext_state_info;\n\tu32 c33_avail_pw_limit;\n\tstruct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges;\n\tu32 c33_pw_limit_nb_ranges;\n};\n\nstruct ethtool_regs {\n\t__u32 cmd;\n\t__u32 version;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_ringparam {\n\t__u32 cmd;\n\t__u32 rx_max_pending;\n\t__u32 rx_mini_max_pending;\n\t__u32 rx_jumbo_max_pending;\n\t__u32 tx_max_pending;\n\t__u32 rx_pending;\n\t__u32 rx_mini_pending;\n\t__u32 rx_jumbo_pending;\n\t__u32 tx_pending;\n};\n\nstruct ethtool_rmon_hist_range {\n\tu16 low;\n\tu16 high;\n};\n\nstruct ethtool_rmon_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 undersize_pkts;\n\t\t\tu64 oversize_pkts;\n\t\t\tu64 fragments;\n\t\t\tu64 jabbers;\n\t\t\tu64 hist[10];\n\t\t\tu64 hist_tx[10];\n\t\t};\n\t\tstruct {\n\t\t\tu64 undersize_pkts;\n\t\t\tu64 oversize_pkts;\n\t\t\tu64 fragments;\n\t\t\tu64 jabbers;\n\t\t\tu64 hist[10];\n\t\t\tu64 hist_tx[10];\n\t\t} stats;\n\t};\n};\n\nstruct flow_dissector_key_basic {\n\t__be16 n_proto;\n\tu8 ip_proto;\n\tu8 padding;\n};\n\nstruct flow_dissector_key_ipv4_addrs {\n\t__be32 src;\n\t__be32 dst;\n};\n\nstruct flow_dissector_key_ipv6_addrs {\n\tstruct in6_addr src;\n\tstruct in6_addr dst;\n};\n\nstruct flow_dissector_key_ports {\n\tunion {\n\t\t__be32 ports;\n\t\tstruct {\n\t\t\t__be16 src;\n\t\t\t__be16 dst;\n\t\t};\n\t};\n};\n\nstruct flow_dissector_key_ip {\n\t__u8 tos;\n\t__u8 ttl;\n};\n\nstruct flow_dissector_key_vlan {\n\tunion {\n\t\tstruct {\n\t\t\tu16 vlan_id: 12;\n\t\t\tu16 vlan_dei: 1;\n\t\t\tu16 vlan_priority: 3;\n\t\t};\n\t\t__be16 vlan_tci;\n\t};\n\t__be16 vlan_tpid;\n\t__be16 vlan_eth_type;\n\tu16 padding;\n};\n\nstruct flow_dissector_key_eth_addrs {\n\tunsigned char dst[6];\n\tunsigned char src[6];\n};\n\nstruct ethtool_rx_flow_key {\n\tstruct flow_dissector_key_basic basic;\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs ipv4;\n\t\tstruct flow_dissector_key_ipv6_addrs ipv6;\n\t};\n\tstruct flow_dissector_key_ports tp;\n\tstruct flow_dissector_key_ip ip;\n\tstruct flow_dissector_key_vlan vlan;\n\tstruct flow_dissector_key_eth_addrs eth_addrs;\n};\n\nstruct flow_dissector {\n\tlong long unsigned int used_keys;\n\tshort unsigned int offset[33];\n};\n\nstruct ethtool_rx_flow_match {\n\tstruct flow_dissector dissector;\n\tstruct ethtool_rx_flow_key key;\n\tstruct ethtool_rx_flow_key mask;\n};\n\nstruct flow_rule;\n\nstruct ethtool_rx_flow_rule {\n\tstruct flow_rule *rule;\n\tlong unsigned int priv[0];\n};\n\nstruct ethtool_rx_flow_spec {\n\t__u32 flow_type;\n\tunion ethtool_flow_union h_u;\n\tstruct ethtool_flow_ext h_ext;\n\tunion ethtool_flow_union m_u;\n\tstruct ethtool_flow_ext m_ext;\n\t__u64 ring_cookie;\n\t__u32 location;\n};\n\nstruct ethtool_rx_flow_spec_input {\n\tconst struct ethtool_rx_flow_spec *fs;\n\tu32 rss_ctx;\n};\n\nstruct ethtool_rxfh {\n\t__u32 cmd;\n\t__u32 rss_context;\n\t__u32 indir_size;\n\t__u32 key_size;\n\t__u8 hfunc;\n\t__u8 input_xfrm;\n\t__u8 rsvd8[2];\n\t__u32 rsvd32;\n\t__u32 rss_config[0];\n};\n\nstruct ethtool_rxfh_context {\n\tu32 indir_size;\n\tu32 key_size;\n\tu16 priv_size;\n\tu8 hfunc;\n\tu8 input_xfrm;\n\tu8 indir_configured: 1;\n\tu8 key_configured: 1;\n\tu32 key_off;\n\tlong: 0;\n\tu8 data[0];\n};\n\nstruct ethtool_rxfh_param {\n\tu8 hfunc;\n\tu32 indir_size;\n\tu32 *indir;\n\tu32 key_size;\n\tu8 *key;\n\tu32 rss_context;\n\tu8 rss_delete;\n\tu8 input_xfrm;\n};\n\nstruct ethtool_rxnfc {\n\t__u32 cmd;\n\t__u32 flow_type;\n\t__u64 data;\n\tstruct ethtool_rx_flow_spec fs;\n\tunion {\n\t\t__u32 rule_cnt;\n\t\t__u32 rss_context;\n\t};\n\t__u32 rule_locs[0];\n};\n\nstruct ethtool_set_features_block {\n\t__u32 valid;\n\t__u32 requested;\n};\n\nstruct ethtool_sfeatures {\n\t__u32 cmd;\n\t__u32 size;\n\tstruct ethtool_set_features_block features[0];\n};\n\nstruct ethtool_sset_info {\n\t__u32 cmd;\n\t__u32 reserved;\n\t__u64 sset_mask;\n\t__u32 data[0];\n};\n\nstruct ethtool_stats {\n\t__u32 cmd;\n\t__u32 n_stats;\n\t__u64 data[0];\n};\n\nstruct ethtool_test {\n\t__u32 cmd;\n\t__u32 flags;\n\t__u32 reserved;\n\t__u32 len;\n\t__u64 data[0];\n};\n\nstruct ethtool_ts_info {\n\t__u32 cmd;\n\t__u32 so_timestamping;\n\t__s32 phc_index;\n\t__u32 tx_types;\n\t__u32 tx_reserved[3];\n\t__u32 rx_filters;\n\t__u32 rx_reserved[3];\n};\n\nstruct ethtool_ts_stats {\n\tunion {\n\t\tstruct {\n\t\t\tu64 pkts;\n\t\t\tu64 onestep_pkts_unconfirmed;\n\t\t\tu64 lost;\n\t\t\tu64 err;\n\t\t};\n\t\tstruct {\n\t\t\tu64 pkts;\n\t\t\tu64 onestep_pkts_unconfirmed;\n\t\t\tu64 lost;\n\t\t\tu64 err;\n\t\t} tx_stats;\n\t};\n};\n\nstruct ethtool_tunable {\n\t__u32 cmd;\n\t__u32 id;\n\t__u32 type_id;\n\t__u32 len;\n\tvoid *data[0];\n};\n\nstruct ethtool_value {\n\t__u32 cmd;\n\t__u32 data;\n};\n\nstruct ethtool_wolinfo {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 wolopts;\n\t__u8 sopass[6];\n};\n\nstruct input_handler;\n\nstruct input_value;\n\nstruct input_handle {\n\tvoid *private;\n\tint open;\n\tconst char *name;\n\tstruct input_dev *dev;\n\tstruct input_handler *handler;\n\tunsigned int (*handle_events)(struct input_handle *, struct input_value *, unsigned int);\n\tstruct list_head d_node;\n\tstruct list_head h_node;\n};\n\nstruct evdev_client;\n\nstruct evdev {\n\tint open;\n\tstruct input_handle handle;\n\tstruct evdev_client *grab;\n\tstruct list_head client_list;\n\tspinlock_t client_lock;\n\tstruct mutex mutex;\n\tstruct device dev;\n\tstruct cdev cdev;\n\tbool exist;\n};\n\nstruct input_event {\n\t__kernel_ulong_t __sec;\n\t__kernel_ulong_t __usec;\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct fasync_struct;\n\nstruct evdev_client {\n\tunsigned int head;\n\tunsigned int tail;\n\tunsigned int packet_head;\n\tspinlock_t buffer_lock;\n\twait_queue_head_t wait;\n\tstruct fasync_struct *fasync;\n\tstruct evdev *evdev;\n\tstruct list_head node;\n\tenum input_clock_type clk_type;\n\tbool revoked;\n\tlong unsigned int *evmasks[32];\n\tunsigned int bufsize;\n\tstruct input_event buffer[0];\n};\n\nstruct event_trigger_data;\n\nstruct event_trigger_ops;\n\nstruct event_command {\n\tstruct list_head list;\n\tchar *name;\n\tenum event_trigger_type trigger_type;\n\tint flags;\n\tint (*parse)(struct event_command *, struct trace_event_file *, char *, char *, char *);\n\tint (*reg)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tvoid (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tvoid (*unreg_all)(struct trace_event_file *);\n\tint (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tstruct event_trigger_ops * (*get_trigger_ops)(char *, char *);\n};\n\nstruct event_counter {\n\tu32 count;\n\tu32 flags;\n};\n\nstruct event_file_link {\n\tstruct trace_event_file *file;\n\tstruct list_head list;\n};\n\nstruct prog_entry;\n\nstruct event_filter {\n\tstruct prog_entry *prog;\n\tchar *filter_string;\n};\n\nstruct perf_cpu_context;\n\nstruct perf_event_context;\n\ntypedef void (*event_f)(struct perf_event *, struct perf_cpu_context *, struct perf_event_context *, void *);\n\nstruct event_function_struct {\n\tstruct perf_event *event;\n\tevent_f func;\n\tvoid *data;\n};\n\nstruct event_header {\n\t__be16 data_len;\n\t__u8 notification_class: 3;\n\t__u8 reserved1: 4;\n\t__u8 nea: 1;\n\t__u8 supp_event_class;\n};\n\nstruct slot;\n\nstruct event_info {\n\tu32 event_type;\n\tstruct slot *p_slot;\n\tstruct work_struct work;\n};\n\nstruct event_mod_load {\n\tstruct list_head list;\n\tchar *module;\n\tchar *match;\n\tchar *system;\n\tchar *event;\n};\n\nstruct event_subsystem {\n\tstruct list_head list;\n\tconst char *name;\n\tstruct event_filter *filter;\n\tint ref_count;\n};\n\nstruct event_trigger_data {\n\tlong unsigned int count;\n\tint ref;\n\tint flags;\n\tstruct event_trigger_ops *ops;\n\tstruct event_command *cmd_ops;\n\tstruct event_filter *filter;\n\tchar *filter_str;\n\tvoid *private_data;\n\tbool paused;\n\tbool paused_tmp;\n\tstruct list_head list;\n\tchar *name;\n\tstruct list_head named_list;\n\tstruct event_trigger_data *named_data;\n};\n\nstruct ring_buffer_event;\n\nstruct event_trigger_ops {\n\tvoid (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *);\n\tint (*init)(struct event_trigger_data *);\n\tvoid (*free)(struct event_trigger_data *);\n\tint (*print)(struct seq_file *, struct event_trigger_data *);\n};\n\nstruct eventfd_ctx {\n\tstruct kref kref;\n\twait_queue_head_t wqh;\n\t__u64 count;\n\tunsigned int flags;\n\tint id;\n};\n\nstruct eventfs_attr {\n\tint mode;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\ntypedef int (*eventfs_callback)(const char *, umode_t *, void **, const struct file_operations **);\n\ntypedef void (*eventfs_release)(const char *, void *);\n\nstruct eventfs_entry {\n\tconst char *name;\n\teventfs_callback callback;\n\teventfs_release release;\n};\n\nstruct eventfs_inode {\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct list_head children;\n\tconst struct eventfs_entry *entries;\n\tconst char *name;\n\tstruct eventfs_attr *entry_attrs;\n\tvoid *data;\n\tstruct eventfs_attr attr;\n\tstruct kref kref;\n\tunsigned int is_freed: 1;\n\tunsigned int is_events: 1;\n\tunsigned int nr_entries: 30;\n\tunsigned int ino;\n};\n\nstruct eventfs_root_inode {\n\tstruct eventfs_inode ei;\n\tstruct dentry *events_dir;\n};\n\nstruct eventpoll {\n\tstruct mutex mtx;\n\twait_queue_head_t wq;\n\twait_queue_head_t poll_wait;\n\tstruct list_head rdllist;\n\trwlock_t lock;\n\tstruct rb_root_cached rbr;\n\tstruct epitem *ovflist;\n\tstruct wakeup_source *ws;\n\tstruct user_struct *user;\n\tstruct file *file;\n\tu64 gen;\n\tstruct hlist_head refs;\n\trefcount_t refcount;\n\tunsigned int napi_id;\n\tu32 busy_poll_usecs;\n\tu16 busy_poll_budget;\n\tbool prefer_busy_poll;\n};\n\nstruct ex_phy {\n\tint phy_id;\n\tenum ex_phy_state phy_state;\n\tenum sas_device_type attached_dev_type;\n\tenum sas_linkrate linkrate;\n\tu8 attached_sata_host: 1;\n\tu8 attached_sata_dev: 1;\n\tu8 attached_sata_ps: 1;\n\tenum sas_protocol attached_tproto;\n\tenum sas_protocol attached_iproto;\n\tu8 attached_sas_addr[8];\n\tu8 attached_phy_id;\n\tint phy_change_count;\n\tenum routing_attribute routing_attr;\n\tu8 virtual: 1;\n\tint last_da_index;\n\tstruct sas_phy *phy;\n\tstruct sas_port *port;\n};\n\nstruct exar8250_board;\n\nstruct exar8250 {\n\tunsigned int nr;\n\tunsigned int osc_freq;\n\tstruct exar8250_board *board;\n\tstruct eeprom_93cx6 eeprom;\n\tvoid *virt;\n\tint line[0];\n};\n\nstruct uart_8250_port;\n\nstruct exar8250_board {\n\tunsigned int num_ports;\n\tunsigned int reg_shift;\n\tint (*setup)(struct exar8250 *, struct pci_dev *, struct uart_8250_port *, int);\n\tvoid (*exit)(struct pci_dev *);\n};\n\nstruct exar8250_platform {\n\tint (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *);\n\tconst struct serial_rs485 *rs485_supported;\n\tint (*register_gpio)(struct pci_dev *, struct uart_8250_port *);\n\tvoid (*unregister_gpio)(struct uart_8250_port *);\n};\n\nstruct exception_table_entry {\n\tint insn;\n\tint fixup;\n\tshort int type;\n\tshort int data;\n};\n\nstruct execmem_range {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int fallback_start;\n\tlong unsigned int fallback_end;\n\tpgprot_t pgprot;\n\tunsigned int alignment;\n\tenum execmem_range_flags flags;\n};\n\nstruct execmem_info {\n\tstruct execmem_range ranges[5];\n};\n\nstruct execute_work {\n\tstruct work_struct work;\n};\n\nstruct exit_boot_struct {\n\tefi_memory_desc_t *runtime_map;\n\tint runtime_entry_count;\n};\n\nstruct exp_flavor_info {\n\tu32 pseudoflavor;\n\tu32 flags;\n};\n\nstruct fid;\n\nstruct iomap;\n\nstruct handle_to_path_ctx;\n\nstruct export_operations {\n\tint (*encode_fh)(struct inode *, __u32 *, int *, struct inode *);\n\tstruct dentry * (*fh_to_dentry)(struct super_block *, struct fid *, int, int);\n\tstruct dentry * (*fh_to_parent)(struct super_block *, struct fid *, int, int);\n\tint (*get_name)(struct dentry *, char *, struct dentry *);\n\tstruct dentry * (*get_parent)(struct dentry *);\n\tint (*commit_metadata)(struct inode *);\n\tint (*get_uuid)(struct super_block *, u8 *, u32 *, u64 *);\n\tint (*map_blocks)(struct inode *, loff_t, u64, struct iomap *, bool, u32 *);\n\tint (*commit_blocks)(struct inode *, struct iomap *, int, struct iattr *);\n\tint (*permission)(struct handle_to_path_ctx *, unsigned int);\n\tstruct file * (*open)(struct path *, unsigned int);\n\tlong unsigned int flags;\n};\n\nstruct export_stats {\n\ttime64_t start_time;\n\tstruct percpu_counter counter[3];\n};\n\nstruct ext2_reserve_window {\n\text2_fsblk_t _rsv_start;\n\text2_fsblk_t _rsv_end;\n};\n\nstruct ext2_reserve_window_node {\n\tstruct rb_node rsv_node;\n\t__u32 rsv_goal_size;\n\t__u32 rsv_alloc_hit;\n\tstruct ext2_reserve_window rsv_window;\n};\n\nstruct ext2_block_alloc_info {\n\tstruct ext2_reserve_window_node rsv_window_node;\n\t__u32 last_alloc_logical_block;\n\text2_fsblk_t last_alloc_physical_block;\n};\n\nstruct ext2_dir_entry_2 {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[0];\n};\n\ntypedef struct ext2_dir_entry_2 ext2_dirent;\n\nstruct ext2_group_desc {\n\t__le32 bg_block_bitmap;\n\t__le32 bg_inode_bitmap;\n\t__le32 bg_inode_table;\n\t__le16 bg_free_blocks_count;\n\t__le16 bg_free_inodes_count;\n\t__le16 bg_used_dirs_count;\n\t__le16 bg_pad;\n\t__le32 bg_reserved[3];\n};\n\nstruct ext2_inode {\n\t__le16 i_mode;\n\t__le16 i_uid;\n\t__le32 i_size;\n\t__le32 i_atime;\n\t__le32 i_ctime;\n\t__le32 i_mtime;\n\t__le32 i_dtime;\n\t__le16 i_gid;\n\t__le16 i_links_count;\n\t__le32 i_blocks;\n\t__le32 i_flags;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 l_i_reserved1;\n\t\t} linux1;\n\t\tstruct {\n\t\t\t__le32 h_i_translator;\n\t\t} hurd1;\n\t\tstruct {\n\t\t\t__le32 m_i_reserved1;\n\t\t} masix1;\n\t} osd1;\n\t__le32 i_block[15];\n\t__le32 i_generation;\n\t__le32 i_file_acl;\n\t__le32 i_dir_acl;\n\t__le32 i_faddr;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 l_i_frag;\n\t\t\t__u8 l_i_fsize;\n\t\t\t__u16 i_pad1;\n\t\t\t__le16 l_i_uid_high;\n\t\t\t__le16 l_i_gid_high;\n\t\t\t__u32 l_i_reserved2;\n\t\t} linux2;\n\t\tstruct {\n\t\t\t__u8 h_i_frag;\n\t\t\t__u8 h_i_fsize;\n\t\t\t__le16 h_i_mode_high;\n\t\t\t__le16 h_i_uid_high;\n\t\t\t__le16 h_i_gid_high;\n\t\t\t__le32 h_i_author;\n\t\t} hurd2;\n\t\tstruct {\n\t\t\t__u8 m_i_frag;\n\t\t\t__u8 m_i_fsize;\n\t\t\t__u16 m_pad1;\n\t\t\t__u32 m_i_reserved2[2];\n\t\t} masix2;\n\t} osd2;\n};\n\nstruct ext2_inode_info {\n\t__le32 i_data[15];\n\t__u32 i_flags;\n\t__u32 i_faddr;\n\t__u8 i_frag_no;\n\t__u8 i_frag_size;\n\t__u16 i_state;\n\t__u32 i_file_acl;\n\t__u32 i_dir_acl;\n\t__u32 i_dtime;\n\t__u32 i_block_group;\n\tstruct ext2_block_alloc_info *i_block_alloc_info;\n\t__u32 i_dir_start_lookup;\n\tstruct rw_semaphore xattr_sem;\n\trwlock_t i_meta_lock;\n\tstruct mutex truncate_mutex;\n\tstruct inode vfs_inode;\n\tstruct list_head i_orphan;\n\tstruct dquot *i_dquot[3];\n};\n\nstruct ext2_mount_options {\n\tlong unsigned int s_mount_opt;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n};\n\nstruct ext2_super_block;\n\nstruct mb_cache;\n\nstruct ext2_sb_info {\n\tlong unsigned int s_inodes_per_block;\n\tlong unsigned int s_blocks_per_group;\n\tlong unsigned int s_inodes_per_group;\n\tlong unsigned int s_itb_per_group;\n\tlong unsigned int s_gdb_count;\n\tlong unsigned int s_desc_per_block;\n\tlong unsigned int s_groups_count;\n\tlong unsigned int s_overhead_last;\n\tlong unsigned int s_blocks_last;\n\tstruct buffer_head *s_sbh;\n\tstruct ext2_super_block *s_es;\n\tstruct buffer_head **s_group_desc;\n\tlong unsigned int s_mount_opt;\n\tlong unsigned int s_sb_block;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tshort unsigned int s_mount_state;\n\tshort unsigned int s_pad;\n\tint s_addr_per_block_bits;\n\tint s_desc_per_block_bits;\n\tint s_inode_size;\n\tint s_first_ino;\n\tspinlock_t s_next_gen_lock;\n\tu32 s_next_generation;\n\tlong unsigned int s_dir_count;\n\tu8 *s_debts;\n\tstruct percpu_counter s_freeblocks_counter;\n\tstruct percpu_counter s_freeinodes_counter;\n\tstruct percpu_counter s_dirs_counter;\n\tstruct blockgroup_lock *s_blockgroup_lock;\n\tspinlock_t s_rsv_window_lock;\n\tstruct rb_root s_rsv_window_root;\n\tstruct ext2_reserve_window_node s_rsv_window_head;\n\tspinlock_t s_lock;\n\tstruct mb_cache *s_ea_block_cache;\n\tstruct dax_device *s_daxdev;\n\tu64 s_dax_part_off;\n};\n\nstruct ext2_super_block {\n\t__le32 s_inodes_count;\n\t__le32 s_blocks_count;\n\t__le32 s_r_blocks_count;\n\t__le32 s_free_blocks_count;\n\t__le32 s_free_inodes_count;\n\t__le32 s_first_data_block;\n\t__le32 s_log_block_size;\n\t__le32 s_log_frag_size;\n\t__le32 s_blocks_per_group;\n\t__le32 s_frags_per_group;\n\t__le32 s_inodes_per_group;\n\t__le32 s_mtime;\n\t__le32 s_wtime;\n\t__le16 s_mnt_count;\n\t__le16 s_max_mnt_count;\n\t__le16 s_magic;\n\t__le16 s_state;\n\t__le16 s_errors;\n\t__le16 s_minor_rev_level;\n\t__le32 s_lastcheck;\n\t__le32 s_checkinterval;\n\t__le32 s_creator_os;\n\t__le32 s_rev_level;\n\t__le16 s_def_resuid;\n\t__le16 s_def_resgid;\n\t__le32 s_first_ino;\n\t__le16 s_inode_size;\n\t__le16 s_block_group_nr;\n\t__le32 s_feature_compat;\n\t__le32 s_feature_incompat;\n\t__le32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\tchar s_volume_name[16];\n\tchar s_last_mounted[64];\n\t__le32 s_algorithm_usage_bitmap;\n\t__u8 s_prealloc_blocks;\n\t__u8 s_prealloc_dir_blocks;\n\t__u16 s_padding1;\n\t__u8 s_journal_uuid[16];\n\t__u32 s_journal_inum;\n\t__u32 s_journal_dev;\n\t__u32 s_last_orphan;\n\t__u32 s_hash_seed[4];\n\t__u8 s_def_hash_version;\n\t__u8 s_reserved_char_pad;\n\t__u16 s_reserved_word_pad;\n\t__le32 s_default_mount_opts;\n\t__le32 s_first_meta_bg;\n\t__u32 s_reserved[190];\n};\n\nstruct ext2_xattr_entry {\n\t__u8 e_name_len;\n\t__u8 e_name_index;\n\t__le16 e_value_offs;\n\t__le32 e_value_block;\n\t__le32 e_value_size;\n\t__le32 e_hash;\n\tchar e_name[0];\n};\n\nstruct ext2_xattr_header {\n\t__le32 h_magic;\n\t__le32 h_refcount;\n\t__le32 h_blocks;\n\t__le32 h_hash;\n\t__u32 h_reserved[4];\n};\n\nstruct ext4_free_extent {\n\text4_lblk_t fe_logical;\n\text4_grpblk_t fe_start;\n\text4_group_t fe_group;\n\text4_grpblk_t fe_len;\n};\n\nstruct ext4_prealloc_space;\n\nstruct ext4_locality_group;\n\nstruct ext4_allocation_context {\n\tstruct inode *ac_inode;\n\tstruct super_block *ac_sb;\n\tstruct ext4_free_extent ac_o_ex;\n\tstruct ext4_free_extent ac_g_ex;\n\tstruct ext4_free_extent ac_b_ex;\n\tstruct ext4_free_extent ac_f_ex;\n\text4_grpblk_t ac_orig_goal_len;\n\t__u32 ac_flags;\n\t__u32 ac_groups_linear_remaining;\n\t__u16 ac_groups_scanned;\n\t__u16 ac_found;\n\t__u16 ac_cX_found[5];\n\t__u16 ac_tail;\n\t__u16 ac_buddy;\n\t__u8 ac_status;\n\t__u8 ac_criteria;\n\t__u8 ac_2order;\n\t__u8 ac_op;\n\tstruct folio *ac_bitmap_folio;\n\tstruct folio *ac_buddy_folio;\n\tstruct ext4_prealloc_space *ac_pa;\n\tstruct ext4_locality_group *ac_lg;\n};\n\nstruct ext4_allocation_request {\n\tstruct inode *inode;\n\tunsigned int len;\n\text4_lblk_t logical;\n\text4_lblk_t lleft;\n\text4_lblk_t lright;\n\text4_fsblk_t goal;\n\text4_fsblk_t pleft;\n\text4_fsblk_t pright;\n\tunsigned int flags;\n};\n\nstruct ext4_attr {\n\tstruct attribute attr;\n\tshort int attr_id;\n\tshort int attr_ptr;\n\tshort unsigned int attr_size;\n\tunion {\n\t\tint offset;\n\t\tvoid *explicit_ptr;\n\t} u;\n};\n\nstruct ext4_group_info;\n\nstruct ext4_buddy {\n\tstruct folio *bd_buddy_folio;\n\tvoid *bd_buddy;\n\tstruct folio *bd_bitmap_folio;\n\tvoid *bd_bitmap;\n\tstruct ext4_group_info *bd_info;\n\tstruct super_block *bd_sb;\n\t__u16 bd_blkbits;\n\text4_group_t bd_group;\n};\n\nstruct ext4_dir_entry {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__le16 name_len;\n\tchar name[255];\n};\n\nstruct ext4_dir_entry_2 {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[255];\n};\n\nstruct ext4_dir_entry_hash {\n\t__le32 hash;\n\t__le32 minor_hash;\n};\n\nstruct ext4_dir_entry_tail {\n\t__le32 det_reserved_zero1;\n\t__le16 det_rec_len;\n\t__u8 det_reserved_zero2;\n\t__u8 det_reserved_ft;\n\t__le32 det_checksum;\n};\n\nstruct ext4_err_translation {\n\tint code;\n\tint errno;\n};\n\nstruct ext4_es_stats {\n\tlong unsigned int es_stats_shrunk;\n\tstruct percpu_counter es_stats_cache_hits;\n\tstruct percpu_counter es_stats_cache_misses;\n\tu64 es_stats_scan_time;\n\tu64 es_stats_max_scan_time;\n\tstruct percpu_counter es_stats_all_cnt;\n\tstruct percpu_counter es_stats_shk_cnt;\n};\n\nstruct extent_status;\n\nstruct ext4_es_tree {\n\tstruct rb_root root;\n\tstruct extent_status *cache_es;\n};\n\nstruct ext4_extent;\n\nstruct ext4_extent_idx;\n\nstruct ext4_extent_header;\n\nstruct ext4_ext_path {\n\text4_fsblk_t p_block;\n\t__u16 p_depth;\n\t__u16 p_maxdepth;\n\tstruct ext4_extent *p_ext;\n\tstruct ext4_extent_idx *p_idx;\n\tstruct ext4_extent_header *p_hdr;\n\tstruct buffer_head *p_bh;\n};\n\nstruct ext4_extent {\n\t__le32 ee_block;\n\t__le16 ee_len;\n\t__le16 ee_start_hi;\n\t__le32 ee_start_lo;\n};\n\nstruct ext4_extent_header {\n\t__le16 eh_magic;\n\t__le16 eh_entries;\n\t__le16 eh_max;\n\t__le16 eh_depth;\n\t__le32 eh_generation;\n};\n\nstruct ext4_extent_idx {\n\t__le32 ei_block;\n\t__le32 ei_leaf_lo;\n\t__le16 ei_leaf_hi;\n\t__u16 ei_unused;\n};\n\nstruct ext4_extent_tail {\n\t__le32 et_checksum;\n};\n\nstruct ext4_fc_add_range {\n\t__le32 fc_ino;\n\t__u8 fc_ex[12];\n};\n\nstruct ext4_fc_alloc_region {\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tint ino;\n\tint len;\n};\n\nstruct ext4_fc_del_range {\n\t__le32 fc_ino;\n\t__le32 fc_lblk;\n\t__le32 fc_len;\n};\n\nstruct ext4_fc_dentry_info {\n\t__le32 fc_parent_ino;\n\t__le32 fc_ino;\n\t__u8 fc_dname[0];\n};\n\nstruct name_snapshot {\n\tstruct qstr name;\n\tunion shortname_store inline_name;\n};\n\nstruct ext4_fc_dentry_update {\n\tint fcd_op;\n\tint fcd_parent;\n\tint fcd_ino;\n\tstruct name_snapshot fcd_name;\n\tstruct list_head fcd_list;\n\tstruct list_head fcd_dilist;\n};\n\nstruct ext4_fc_head {\n\t__le32 fc_features;\n\t__le32 fc_tid;\n};\n\nstruct ext4_fc_inode {\n\t__le32 fc_ino;\n\t__u8 fc_raw_inode[0];\n};\n\nstruct ext4_fc_replay_state {\n\tint fc_replay_num_tags;\n\tint fc_replay_expected_off;\n\tint fc_current_pass;\n\tint fc_cur_tag;\n\tint fc_crc;\n\tstruct ext4_fc_alloc_region *fc_regions;\n\tint fc_regions_size;\n\tint fc_regions_used;\n\tint fc_regions_valid;\n\tint *fc_modified_inodes;\n\tint fc_modified_inodes_used;\n\tint fc_modified_inodes_size;\n};\n\nstruct ext4_fc_stats {\n\tunsigned int fc_ineligible_reason_count[10];\n\tlong unsigned int fc_num_commits;\n\tlong unsigned int fc_ineligible_commits;\n\tlong unsigned int fc_failed_commits;\n\tlong unsigned int fc_skipped_commits;\n\tlong unsigned int fc_numblks;\n\tu64 s_fc_avg_commit_time;\n};\n\nstruct ext4_fc_tail {\n\t__le32 fc_tid;\n\t__le32 fc_crc;\n};\n\nstruct ext4_fc_tl {\n\t__le16 fc_tag;\n\t__le16 fc_len;\n};\n\nstruct ext4_fc_tl_mem {\n\tu16 fc_tag;\n\tu16 fc_len;\n};\n\nstruct ext4_filename {\n\tconst struct qstr *usr_fname;\n\tstruct fscrypt_str disk_name;\n\tstruct dx_hash_info hinfo;\n\tstruct fscrypt_str crypto_buf;\n};\n\nstruct ext4_free_data {\n\tstruct list_head efd_list;\n\tstruct rb_node efd_node;\n\text4_group_t efd_group;\n\text4_grpblk_t efd_start_cluster;\n\text4_grpblk_t efd_count;\n\ttid_t efd_tid;\n};\n\nunion fscrypt_policy;\n\nstruct fscrypt_dummy_policy {\n\tconst union fscrypt_policy *policy;\n};\n\nstruct ext4_fs_context {\n\tchar *s_qf_names[3];\n\tstruct fscrypt_dummy_policy dummy_enc_policy;\n\tint s_jquota_fmt;\n\tshort unsigned int qname_spec;\n\tlong unsigned int vals_s_flags;\n\tlong unsigned int mask_s_flags;\n\tlong unsigned int journal_devnum;\n\tlong unsigned int s_commit_interval;\n\tlong unsigned int s_stripe;\n\tunsigned int s_inode_readahead_blks;\n\tunsigned int s_want_extra_isize;\n\tunsigned int s_li_wait_mult;\n\tunsigned int s_max_dir_size_kb;\n\tunsigned int journal_ioprio;\n\tunsigned int vals_s_mount_opt;\n\tunsigned int mask_s_mount_opt;\n\tunsigned int vals_s_mount_opt2;\n\tunsigned int mask_s_mount_opt2;\n\tunsigned int opt_flags;\n\tunsigned int spec;\n\tu32 s_max_batch_time;\n\tu32 s_min_batch_time;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\text4_fsblk_t s_sb_block;\n};\n\nstruct ext4_fsmap {\n\tstruct list_head fmr_list;\n\tdev_t fmr_device;\n\tuint32_t fmr_flags;\n\tuint64_t fmr_physical;\n\tuint64_t fmr_owner;\n\tuint64_t fmr_length;\n};\n\nstruct ext4_fsmap_head {\n\tuint32_t fmh_iflags;\n\tuint32_t fmh_oflags;\n\tunsigned int fmh_count;\n\tunsigned int fmh_entries;\n\tstruct ext4_fsmap fmh_keys[2];\n};\n\nstruct ext4_getfsmap_info;\n\nstruct ext4_getfsmap_dev {\n\tint (*gfd_fn)(struct super_block *, struct ext4_fsmap *, struct ext4_getfsmap_info *);\n\tu32 gfd_dev;\n};\n\ntypedef int (*ext4_fsmap_format_t)(struct ext4_fsmap *, void *);\n\nstruct ext4_getfsmap_info {\n\tstruct ext4_fsmap_head *gfi_head;\n\text4_fsmap_format_t gfi_formatter;\n\tvoid *gfi_format_arg;\n\text4_fsblk_t gfi_next_fsblk;\n\tu32 gfi_dev;\n\text4_group_t gfi_agno;\n\tstruct ext4_fsmap gfi_low;\n\tstruct ext4_fsmap gfi_high;\n\tstruct ext4_fsmap gfi_lastfree;\n\tstruct list_head gfi_meta_list;\n\tbool gfi_last;\n};\n\nstruct ext4_group_desc {\n\t__le32 bg_block_bitmap_lo;\n\t__le32 bg_inode_bitmap_lo;\n\t__le32 bg_inode_table_lo;\n\t__le16 bg_free_blocks_count_lo;\n\t__le16 bg_free_inodes_count_lo;\n\t__le16 bg_used_dirs_count_lo;\n\t__le16 bg_flags;\n\t__le32 bg_exclude_bitmap_lo;\n\t__le16 bg_block_bitmap_csum_lo;\n\t__le16 bg_inode_bitmap_csum_lo;\n\t__le16 bg_itable_unused_lo;\n\t__le16 bg_checksum;\n\t__le32 bg_block_bitmap_hi;\n\t__le32 bg_inode_bitmap_hi;\n\t__le32 bg_inode_table_hi;\n\t__le16 bg_free_blocks_count_hi;\n\t__le16 bg_free_inodes_count_hi;\n\t__le16 bg_used_dirs_count_hi;\n\t__le16 bg_itable_unused_hi;\n\t__le32 bg_exclude_bitmap_hi;\n\t__le16 bg_block_bitmap_csum_hi;\n\t__le16 bg_inode_bitmap_csum_hi;\n\t__u32 bg_reserved;\n};\n\nstruct ext4_group_info {\n\tlong unsigned int bb_state;\n\tstruct rb_root bb_free_root;\n\text4_grpblk_t bb_first_free;\n\text4_grpblk_t bb_free;\n\text4_grpblk_t bb_fragments;\n\tint bb_avg_fragment_size_order;\n\text4_grpblk_t bb_largest_free_order;\n\text4_group_t bb_group;\n\tstruct list_head bb_prealloc_list;\n\tstruct rw_semaphore alloc_sem;\n\tstruct list_head bb_avg_fragment_size_node;\n\tstruct list_head bb_largest_free_order_node;\n\text4_grpblk_t bb_counters[0];\n};\n\nstruct ext4_iloc {\n\tstruct buffer_head *bh;\n\tlong unsigned int offset;\n\text4_group_t block_group;\n};\n\nstruct ext4_inode {\n\t__le16 i_mode;\n\t__le16 i_uid;\n\t__le32 i_size_lo;\n\t__le32 i_atime;\n\t__le32 i_ctime;\n\t__le32 i_mtime;\n\t__le32 i_dtime;\n\t__le16 i_gid;\n\t__le16 i_links_count;\n\t__le32 i_blocks_lo;\n\t__le32 i_flags;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 l_i_version;\n\t\t} linux1;\n\t\tstruct {\n\t\t\t__u32 h_i_translator;\n\t\t} hurd1;\n\t\tstruct {\n\t\t\t__u32 m_i_reserved1;\n\t\t} masix1;\n\t} osd1;\n\t__le32 i_block[15];\n\t__le32 i_generation;\n\t__le32 i_file_acl_lo;\n\t__le32 i_size_high;\n\t__le32 i_obso_faddr;\n\tunion {\n\t\tstruct {\n\t\t\t__le16 l_i_blocks_high;\n\t\t\t__le16 l_i_file_acl_high;\n\t\t\t__le16 l_i_uid_high;\n\t\t\t__le16 l_i_gid_high;\n\t\t\t__le16 l_i_checksum_lo;\n\t\t\t__le16 l_i_reserved;\n\t\t} linux2;\n\t\tstruct {\n\t\t\t__le16 h_i_reserved1;\n\t\t\t__u16 h_i_mode_high;\n\t\t\t__u16 h_i_uid_high;\n\t\t\t__u16 h_i_gid_high;\n\t\t\t__u32 h_i_author;\n\t\t} hurd2;\n\t\tstruct {\n\t\t\t__le16 h_i_reserved1;\n\t\t\t__le16 m_i_file_acl_high;\n\t\t\t__u32 m_i_reserved2[2];\n\t\t} masix2;\n\t} osd2;\n\t__le16 i_extra_isize;\n\t__le16 i_checksum_hi;\n\t__le32 i_ctime_extra;\n\t__le32 i_mtime_extra;\n\t__le32 i_atime_extra;\n\t__le32 i_crtime;\n\t__le32 i_crtime_extra;\n\t__le32 i_version_hi;\n\t__le32 i_projid;\n};\n\nstruct ext4_pending_tree {\n\tstruct rb_root root;\n};\n\nstruct jbd2_inode;\n\nstruct ext4_inode_info {\n\t__le32 i_data[15];\n\t__u32 i_dtime;\n\text4_fsblk_t i_file_acl;\n\text4_group_t i_block_group;\n\text4_lblk_t i_dir_start_lookup;\n\tlong unsigned int i_flags;\n\tstruct rw_semaphore xattr_sem;\n\tunion {\n\t\tstruct list_head i_orphan;\n\t\tunsigned int i_orphan_idx;\n\t};\n\tstruct list_head i_fc_dilist;\n\tstruct list_head i_fc_list;\n\text4_lblk_t i_fc_lblk_start;\n\text4_lblk_t i_fc_lblk_len;\n\tatomic_t i_fc_updates;\n\tatomic_t i_unwritten;\n\twait_queue_head_t i_fc_wait;\n\tstruct mutex i_fc_lock;\n\tloff_t i_disksize;\n\tstruct rw_semaphore i_data_sem;\n\tstruct inode vfs_inode;\n\tstruct jbd2_inode *jinode;\n\tspinlock_t i_raw_lock;\n\tstruct timespec64 i_crtime;\n\tatomic_t i_prealloc_active;\n\tunsigned int i_reserved_data_blocks;\n\tstruct rb_root i_prealloc_node;\n\trwlock_t i_prealloc_lock;\n\tstruct ext4_es_tree i_es_tree;\n\trwlock_t i_es_lock;\n\tstruct list_head i_es_list;\n\tunsigned int i_es_all_nr;\n\tunsigned int i_es_shk_nr;\n\text4_lblk_t i_es_shrink_lblk;\n\text4_group_t i_last_alloc_group;\n\tstruct ext4_pending_tree i_pending_tree;\n\t__u16 i_extra_isize;\n\tu16 i_inline_off;\n\tu16 i_inline_size;\n\tqsize_t i_reserved_quota;\n\tspinlock_t i_completed_io_lock;\n\tstruct list_head i_rsv_conversion_list;\n\tstruct work_struct i_rsv_conversion_work;\n\tspinlock_t i_block_reservation_lock;\n\ttid_t i_sync_tid;\n\ttid_t i_datasync_tid;\n\tstruct dquot *i_dquot[3];\n\t__u32 i_csum_seed;\n\tkprojid_t i_projid;\n};\n\nstruct jbd2_journal_handle;\n\ntypedef struct jbd2_journal_handle handle_t;\n\nstruct ext4_io_end {\n\tstruct list_head list;\n\thandle_t *handle;\n\tstruct inode *inode;\n\tstruct bio *bio;\n\tunsigned int flag;\n\trefcount_t count;\n\tstruct list_head list_vec;\n};\n\ntypedef struct ext4_io_end ext4_io_end_t;\n\nstruct ext4_io_end_vec {\n\tstruct list_head list;\n\tloff_t offset;\n\tssize_t size;\n};\n\nstruct ext4_io_submit {\n\tstruct writeback_control *io_wbc;\n\tstruct bio *io_bio;\n\text4_io_end_t *io_end;\n\tsector_t io_next_block;\n};\n\nstruct ext4_journal_cb_entry {\n\tstruct list_head jce_list;\n\tvoid (*jce_func)(struct super_block *, struct ext4_journal_cb_entry *, int);\n};\n\nstruct jbd2_buffer_trigger_type {\n\tvoid (*t_frozen)(struct jbd2_buffer_trigger_type *, struct buffer_head *, void *, size_t);\n\tvoid (*t_abort)(struct jbd2_buffer_trigger_type *, struct buffer_head *);\n};\n\nstruct ext4_journal_trigger {\n\tstruct jbd2_buffer_trigger_type tr_triggers;\n\tstruct super_block *sb;\n};\n\nstruct ext4_lazy_init {\n\tlong unsigned int li_state;\n\tstruct list_head li_request_list;\n\tstruct mutex li_list_mtx;\n};\n\nstruct ext4_li_request {\n\tstruct super_block *lr_super;\n\tenum ext4_li_mode lr_mode;\n\text4_group_t lr_first_not_zeroed;\n\text4_group_t lr_next_group;\n\tstruct list_head lr_request;\n\tlong unsigned int lr_next_sched;\n\tlong unsigned int lr_timeout;\n};\n\nstruct ext4_locality_group {\n\tstruct mutex lg_mutex;\n\tstruct list_head lg_prealloc_list[10];\n\tspinlock_t lg_prealloc_lock;\n};\n\nstruct ext4_map_blocks {\n\text4_fsblk_t m_pblk;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\tunsigned int m_flags;\n};\n\nstruct ext4_mount_options {\n\tlong unsigned int s_mount_opt;\n\tlong unsigned int s_mount_opt2;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tlong unsigned int s_commit_interval;\n\tu32 s_min_batch_time;\n\tu32 s_max_batch_time;\n\tint s_jquota_fmt;\n\tchar *s_qf_names[3];\n};\n\nstruct ext4_new_group_data;\n\nstruct ext4_new_flex_group_data {\n\tstruct ext4_new_group_data *groups;\n\t__u16 *bg_flags;\n\text4_group_t resize_bg;\n\text4_group_t count;\n};\n\nstruct ext4_new_group_data {\n\t__u32 group;\n\t__u64 block_bitmap;\n\t__u64 inode_bitmap;\n\t__u64 inode_table;\n\t__u32 blocks_count;\n\t__u16 reserved_blocks;\n\t__u16 mdata_blocks;\n\t__u32 free_clusters_count;\n};\n\nstruct ext4_new_group_input {\n\t__u32 group;\n\t__u64 block_bitmap;\n\t__u64 inode_bitmap;\n\t__u64 inode_table;\n\t__u32 blocks_count;\n\t__u16 reserved_blocks;\n\t__u16 unused;\n};\n\nstruct ext4_orphan_block {\n\tatomic_t ob_free_entries;\n\tstruct buffer_head *ob_bh;\n};\n\nstruct ext4_orphan_block_tail {\n\t__le32 ob_magic;\n\t__le32 ob_checksum;\n};\n\nstruct ext4_orphan_info {\n\tint of_blocks;\n\t__u32 of_csum_seed;\n\tstruct ext4_orphan_block *of_binfo;\n};\n\nstruct ext4_prealloc_space {\n\tunion {\n\t\tstruct rb_node inode_node;\n\t\tstruct list_head lg_list;\n\t} pa_node;\n\tstruct list_head pa_group_list;\n\tunion {\n\t\tstruct list_head pa_tmp_list;\n\t\tstruct callback_head pa_rcu;\n\t} u;\n\tspinlock_t pa_lock;\n\tatomic_t pa_count;\n\tunsigned int pa_deleted;\n\text4_fsblk_t pa_pstart;\n\text4_lblk_t pa_lstart;\n\text4_grpblk_t pa_len;\n\text4_grpblk_t pa_free;\n\tshort unsigned int pa_type;\n\tunion {\n\t\trwlock_t *inode_lock;\n\t\tspinlock_t *lg_lock;\n\t} pa_node_lock;\n\tstruct inode *pa_inode;\n};\n\nstruct ext4_rcu_ptr {\n\tstruct callback_head rcu;\n\tvoid *ptr;\n};\n\nstruct ext4_renament {\n\tstruct inode *dir;\n\tstruct dentry *dentry;\n\tstruct inode *inode;\n\tbool is_dir;\n\tint dir_nlink_delta;\n\tstruct buffer_head *bh;\n\tstruct ext4_dir_entry_2 *de;\n\tint inlined;\n\tstruct buffer_head *dir_bh;\n\tstruct ext4_dir_entry_2 *parent_de;\n\tint dir_inlined;\n};\n\nstruct rcu_sync {\n\tint gp_state;\n\tint gp_count;\n\twait_queue_head_t gp_wait;\n\tstruct callback_head cb_head;\n};\n\nstruct percpu_rw_semaphore {\n\tstruct rcu_sync rss;\n\tunsigned int *read_count;\n\tstruct rcuwait writer;\n\twait_queue_head_t waiters;\n\tatomic_t block;\n};\n\nstruct ext4_super_block;\n\nstruct journal_s;\n\nstruct ext4_system_blocks;\n\nstruct flex_groups;\n\nstruct ext4_sb_info {\n\tlong unsigned int s_desc_size;\n\tlong unsigned int s_inodes_per_block;\n\tlong unsigned int s_blocks_per_group;\n\tlong unsigned int s_clusters_per_group;\n\tlong unsigned int s_inodes_per_group;\n\tlong unsigned int s_itb_per_group;\n\tlong unsigned int s_gdb_count;\n\tlong unsigned int s_desc_per_block;\n\text4_group_t s_groups_count;\n\text4_group_t s_blockfile_groups;\n\tlong unsigned int s_overhead;\n\tunsigned int s_cluster_ratio;\n\tunsigned int s_cluster_bits;\n\tloff_t s_bitmap_maxbytes;\n\tstruct buffer_head *s_sbh;\n\tstruct ext4_super_block *s_es;\n\tstruct buffer_head **s_group_desc;\n\tunsigned int s_mount_opt;\n\tunsigned int s_mount_opt2;\n\tlong unsigned int s_mount_flags;\n\tunsigned int s_def_mount_opt;\n\tunsigned int s_def_mount_opt2;\n\text4_fsblk_t s_sb_block;\n\tatomic64_t s_resv_clusters;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tshort unsigned int s_mount_state;\n\tshort unsigned int s_pad;\n\tint s_addr_per_block_bits;\n\tint s_desc_per_block_bits;\n\tint s_inode_size;\n\tint s_first_ino;\n\tunsigned int s_inode_readahead_blks;\n\tunsigned int s_inode_goal;\n\tu32 s_hash_seed[4];\n\tint s_def_hash_version;\n\tint s_hash_unsigned;\n\tstruct percpu_counter s_freeclusters_counter;\n\tstruct percpu_counter s_freeinodes_counter;\n\tstruct percpu_counter s_dirs_counter;\n\tstruct percpu_counter s_dirtyclusters_counter;\n\tstruct percpu_counter s_sra_exceeded_retry_limit;\n\tstruct blockgroup_lock *s_blockgroup_lock;\n\tstruct proc_dir_entry *s_proc;\n\tstruct kobject s_kobj;\n\tstruct completion s_kobj_unregister;\n\tstruct super_block *s_sb;\n\tstruct buffer_head *s_mmp_bh;\n\tstruct journal_s *s_journal;\n\tlong unsigned int s_ext4_flags;\n\tstruct mutex s_orphan_lock;\n\tstruct list_head s_orphan;\n\tstruct ext4_orphan_info s_orphan_info;\n\tlong unsigned int s_commit_interval;\n\tu32 s_max_batch_time;\n\tu32 s_min_batch_time;\n\tstruct file *s_journal_bdev_file;\n\tchar *s_qf_names[3];\n\tint s_jquota_fmt;\n\tunsigned int s_want_extra_isize;\n\tstruct ext4_system_blocks *s_system_blks;\n\tstruct ext4_group_info ***s_group_info;\n\tstruct inode *s_buddy_cache;\n\tspinlock_t s_md_lock;\n\tshort unsigned int *s_mb_offsets;\n\tunsigned int *s_mb_maxs;\n\tunsigned int s_group_info_size;\n\tunsigned int s_mb_free_pending;\n\tstruct list_head s_freed_data_list[2];\n\tstruct list_head s_discard_list;\n\tstruct work_struct s_discard_work;\n\tatomic_t s_retry_alloc_pending;\n\tstruct list_head *s_mb_avg_fragment_size;\n\trwlock_t *s_mb_avg_fragment_size_locks;\n\tstruct list_head *s_mb_largest_free_orders;\n\trwlock_t *s_mb_largest_free_orders_locks;\n\tlong unsigned int s_stripe;\n\tunsigned int s_mb_max_linear_groups;\n\tunsigned int s_mb_stream_request;\n\tunsigned int s_mb_max_to_scan;\n\tunsigned int s_mb_min_to_scan;\n\tunsigned int s_mb_stats;\n\tunsigned int s_mb_order2_reqs;\n\tunsigned int s_mb_group_prealloc;\n\tunsigned int s_max_dir_size_kb;\n\tlong unsigned int s_mb_last_group;\n\tlong unsigned int s_mb_last_start;\n\tunsigned int s_mb_prefetch;\n\tunsigned int s_mb_prefetch_limit;\n\tunsigned int s_mb_best_avail_max_trim_order;\n\tatomic_t s_bal_reqs;\n\tatomic_t s_bal_success;\n\tatomic_t s_bal_allocated;\n\tatomic_t s_bal_ex_scanned;\n\tatomic_t s_bal_cX_ex_scanned[5];\n\tatomic_t s_bal_groups_scanned;\n\tatomic_t s_bal_goals;\n\tatomic_t s_bal_len_goals;\n\tatomic_t s_bal_breaks;\n\tatomic_t s_bal_2orders;\n\tatomic_t s_bal_p2_aligned_bad_suggestions;\n\tatomic_t s_bal_goal_fast_bad_suggestions;\n\tatomic_t s_bal_best_avail_bad_suggestions;\n\tatomic64_t s_bal_cX_groups_considered[5];\n\tatomic64_t s_bal_cX_hits[5];\n\tatomic64_t s_bal_cX_failed[5];\n\tatomic_t s_mb_buddies_generated;\n\tatomic64_t s_mb_generation_time;\n\tatomic_t s_mb_lost_chunks;\n\tatomic_t s_mb_preallocated;\n\tatomic_t s_mb_discarded;\n\tatomic_t s_lock_busy;\n\tstruct ext4_locality_group *s_locality_groups;\n\tlong unsigned int s_sectors_written_start;\n\tu64 s_kbytes_written;\n\tunsigned int s_extent_max_zeroout_kb;\n\tunsigned int s_log_groups_per_flex;\n\tstruct flex_groups **s_flex_groups;\n\text4_group_t s_flex_groups_allocated;\n\tstruct workqueue_struct *rsv_conversion_wq;\n\tstruct timer_list s_err_report;\n\tstruct ext4_li_request *s_li_request;\n\tunsigned int s_li_wait_mult;\n\tstruct task_struct *s_mmp_tsk;\n\tlong unsigned int s_last_trim_minblks;\n\t__u32 s_csum_seed;\n\tstruct shrinker *s_es_shrinker;\n\tstruct list_head s_es_list;\n\tlong int s_es_nr_inode;\n\tstruct ext4_es_stats s_es_stats;\n\tstruct mb_cache *s_ea_block_cache;\n\tstruct mb_cache *s_ea_inode_cache;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t s_es_lock;\n\tstruct ext4_journal_trigger s_journal_triggers[1];\n\tstruct ratelimit_state s_err_ratelimit_state;\n\tstruct ratelimit_state s_warning_ratelimit_state;\n\tstruct ratelimit_state s_msg_ratelimit_state;\n\tatomic_t s_warning_count;\n\tatomic_t s_msg_count;\n\tstruct fscrypt_dummy_policy s_dummy_enc_policy;\n\tstruct percpu_rw_semaphore s_writepages_rwsem;\n\tstruct dax_device *s_daxdev;\n\tu64 s_dax_part_off;\n\terrseq_t s_bdev_wb_err;\n\tspinlock_t s_bdev_wb_lock;\n\tspinlock_t s_error_lock;\n\tint s_add_error_count;\n\tint s_first_error_code;\n\t__u32 s_first_error_line;\n\t__u32 s_first_error_ino;\n\t__u64 s_first_error_block;\n\tconst char *s_first_error_func;\n\ttime64_t s_first_error_time;\n\tint s_last_error_code;\n\t__u32 s_last_error_line;\n\t__u32 s_last_error_ino;\n\t__u64 s_last_error_block;\n\tconst char *s_last_error_func;\n\ttime64_t s_last_error_time;\n\tstruct work_struct s_sb_upd_work;\n\tunsigned int s_awu_min;\n\tunsigned int s_awu_max;\n\tatomic_t s_fc_subtid;\n\tstruct list_head s_fc_q[2];\n\tstruct list_head s_fc_dentry_q[2];\n\tunsigned int s_fc_bytes;\n\tspinlock_t s_fc_lock;\n\tstruct buffer_head *s_fc_bh;\n\tstruct ext4_fc_stats s_fc_stats;\n\ttid_t s_fc_ineligible_tid;\n\tstruct ext4_fc_replay_state s_fc_replay_state;\n};\n\nstruct ext4_super_block {\n\t__le32 s_inodes_count;\n\t__le32 s_blocks_count_lo;\n\t__le32 s_r_blocks_count_lo;\n\t__le32 s_free_blocks_count_lo;\n\t__le32 s_free_inodes_count;\n\t__le32 s_first_data_block;\n\t__le32 s_log_block_size;\n\t__le32 s_log_cluster_size;\n\t__le32 s_blocks_per_group;\n\t__le32 s_clusters_per_group;\n\t__le32 s_inodes_per_group;\n\t__le32 s_mtime;\n\t__le32 s_wtime;\n\t__le16 s_mnt_count;\n\t__le16 s_max_mnt_count;\n\t__le16 s_magic;\n\t__le16 s_state;\n\t__le16 s_errors;\n\t__le16 s_minor_rev_level;\n\t__le32 s_lastcheck;\n\t__le32 s_checkinterval;\n\t__le32 s_creator_os;\n\t__le32 s_rev_level;\n\t__le16 s_def_resuid;\n\t__le16 s_def_resgid;\n\t__le32 s_first_ino;\n\t__le16 s_inode_size;\n\t__le16 s_block_group_nr;\n\t__le32 s_feature_compat;\n\t__le32 s_feature_incompat;\n\t__le32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\tchar s_volume_name[16];\n\tchar s_last_mounted[64];\n\t__le32 s_algorithm_usage_bitmap;\n\t__u8 s_prealloc_blocks;\n\t__u8 s_prealloc_dir_blocks;\n\t__le16 s_reserved_gdt_blocks;\n\t__u8 s_journal_uuid[16];\n\t__le32 s_journal_inum;\n\t__le32 s_journal_dev;\n\t__le32 s_last_orphan;\n\t__le32 s_hash_seed[4];\n\t__u8 s_def_hash_version;\n\t__u8 s_jnl_backup_type;\n\t__le16 s_desc_size;\n\t__le32 s_default_mount_opts;\n\t__le32 s_first_meta_bg;\n\t__le32 s_mkfs_time;\n\t__le32 s_jnl_blocks[17];\n\t__le32 s_blocks_count_hi;\n\t__le32 s_r_blocks_count_hi;\n\t__le32 s_free_blocks_count_hi;\n\t__le16 s_min_extra_isize;\n\t__le16 s_want_extra_isize;\n\t__le32 s_flags;\n\t__le16 s_raid_stride;\n\t__le16 s_mmp_update_interval;\n\t__le64 s_mmp_block;\n\t__le32 s_raid_stripe_width;\n\t__u8 s_log_groups_per_flex;\n\t__u8 s_checksum_type;\n\t__u8 s_encryption_level;\n\t__u8 s_reserved_pad;\n\t__le64 s_kbytes_written;\n\t__le32 s_snapshot_inum;\n\t__le32 s_snapshot_id;\n\t__le64 s_snapshot_r_blocks_count;\n\t__le32 s_snapshot_list;\n\t__le32 s_error_count;\n\t__le32 s_first_error_time;\n\t__le32 s_first_error_ino;\n\t__le64 s_first_error_block;\n\t__u8 s_first_error_func[32];\n\t__le32 s_first_error_line;\n\t__le32 s_last_error_time;\n\t__le32 s_last_error_ino;\n\t__le32 s_last_error_line;\n\t__le64 s_last_error_block;\n\t__u8 s_last_error_func[32];\n\t__u8 s_mount_opts[64];\n\t__le32 s_usr_quota_inum;\n\t__le32 s_grp_quota_inum;\n\t__le32 s_overhead_clusters;\n\t__le32 s_backup_bgs[2];\n\t__u8 s_encrypt_algos[4];\n\t__u8 s_encrypt_pw_salt[16];\n\t__le32 s_lpf_ino;\n\t__le32 s_prj_quota_inum;\n\t__le32 s_checksum_seed;\n\t__u8 s_wtime_hi;\n\t__u8 s_mtime_hi;\n\t__u8 s_mkfs_time_hi;\n\t__u8 s_lastcheck_hi;\n\t__u8 s_first_error_time_hi;\n\t__u8 s_last_error_time_hi;\n\t__u8 s_first_error_errcode;\n\t__u8 s_last_error_errcode;\n\t__le16 s_encoding;\n\t__le16 s_encoding_flags;\n\t__le32 s_orphan_file_inum;\n\t__le32 s_reserved[94];\n\t__le32 s_checksum;\n};\n\nstruct ext4_system_blocks {\n\tstruct rb_root root;\n\tstruct callback_head rcu;\n};\n\nstruct ext4_system_zone {\n\tstruct rb_node node;\n\text4_fsblk_t start_blk;\n\tunsigned int count;\n\tu32 ino;\n};\n\nstruct ext4_xattr_entry;\n\nstruct ext4_xattr_search {\n\tstruct ext4_xattr_entry *first;\n\tvoid *base;\n\tvoid *end;\n\tstruct ext4_xattr_entry *here;\n\tint not_found;\n};\n\nstruct ext4_xattr_block_find {\n\tstruct ext4_xattr_search s;\n\tstruct buffer_head *bh;\n};\n\nstruct ext4_xattr_entry {\n\t__u8 e_name_len;\n\t__u8 e_name_index;\n\t__le16 e_value_offs;\n\t__le32 e_value_inum;\n\t__le32 e_value_size;\n\t__le32 e_hash;\n\tchar e_name[0];\n};\n\nstruct ext4_xattr_header {\n\t__le32 h_magic;\n\t__le32 h_refcount;\n\t__le32 h_blocks;\n\t__le32 h_hash;\n\t__le32 h_checksum;\n\t__u32 h_reserved[3];\n};\n\nstruct ext4_xattr_ibody_find {\n\tstruct ext4_xattr_search s;\n\tstruct ext4_iloc iloc;\n};\n\nstruct ext4_xattr_ibody_header {\n\t__le32 h_magic;\n};\n\nstruct ext4_xattr_info {\n\tconst char *name;\n\tconst void *value;\n\tsize_t value_len;\n\tint name_index;\n\tint in_inode;\n};\n\nstruct ext4_xattr_inode_array {\n\tunsigned int count;\n\tstruct inode *inodes[0];\n};\n\nstruct ext_arg {\n\tsize_t argsz;\n\tstruct timespec64 ts;\n\tconst sigset_t *sig;\n\tktime_t min_time;\n\tbool ts_set;\n};\n\nstruct msg_msg;\n\nstruct ext_wait_queue {\n\tstruct task_struct *task;\n\tstruct list_head list;\n\tstruct msg_msg *msg;\n\tint state;\n};\n\nstruct extctx_layout {\n\tlong unsigned int size;\n\tunsigned int flags;\n\tstruct _ctx_layout fpu;\n\tstruct _ctx_layout lsx;\n\tstruct _ctx_layout lasx;\n\tstruct _ctx_layout lbt;\n\tstruct _ctx_layout end;\n};\n\nstruct extendedAttrHeaderDesc {\n\tstruct tag descTag;\n\t__le32 impAttrLocation;\n\t__le32 appAttrLocation;\n};\n\nstruct lb_addr {\n\t__le32 logicalBlockNum;\n\t__le16 partitionReferenceNum;\n} __attribute__((packed));\n\nstruct icbtag {\n\t__le32 priorRecordedNumDirectEntries;\n\t__le16 strategyType;\n\t__le16 strategyParameter;\n\t__le16 numEntries;\n\tuint8_t reserved;\n\tuint8_t fileType;\n\tstruct lb_addr parentICBLocation;\n\t__le16 flags;\n};\n\nstruct timestamp {\n\t__le16 typeAndTimezone;\n\t__le16 year;\n\tuint8_t month;\n\tuint8_t day;\n\tuint8_t hour;\n\tuint8_t minute;\n\tuint8_t second;\n\tuint8_t centiseconds;\n\tuint8_t hundredsOfMicroseconds;\n\tuint8_t microseconds;\n};\n\nstruct long_ad {\n\t__le32 extLength;\n\tstruct lb_addr extLocation;\n\tuint8_t impUse[6];\n};\n\nstruct regid {\n\tuint8_t flags;\n\tuint8_t ident[23];\n\tuint8_t identSuffix[8];\n};\n\nstruct extendedFileEntry {\n\tstruct tag descTag;\n\tstruct icbtag icbTag;\n\t__le32 uid;\n\t__le32 gid;\n\t__le32 permissions;\n\t__le16 fileLinkCount;\n\tuint8_t recordFormat;\n\tuint8_t recordDisplayAttr;\n\t__le32 recordLength;\n\t__le64 informationLength;\n\t__le64 objectSize;\n\t__le64 logicalBlocksRecorded;\n\tstruct timestamp accessTime;\n\tstruct timestamp modificationTime;\n\tstruct timestamp createTime;\n\tstruct timestamp attrTime;\n\t__le32 checkpoint;\n\t__le32 reserved;\n\tstruct long_ad extendedAttrICB;\n\tstruct long_ad streamDirectoryICB;\n\tstruct regid impIdent;\n\t__le64 uniqueID;\n\t__le32 lengthExtendedAttr;\n\t__le32 lengthAllocDescs;\n\tuint8_t extendedAttr[0];\n};\n\nstruct extent_buffer {\n\tu64 start;\n\tu32 len;\n\tu32 folio_size;\n\tlong unsigned int bflags;\n\tstruct btrfs_fs_info *fs_info;\n\tvoid *addr;\n\tspinlock_t refs_lock;\n\tatomic_t refs;\n\tint read_mirror;\n\ts8 log_index;\n\tu8 folio_shift;\n\tstruct callback_head callback_head;\n\tstruct rw_semaphore lock;\n\tstruct folio *folios[4];\n};\n\nstruct extent_changeset {\n\tu64 bytes_changed;\n\tstruct ulist range_changed;\n};\n\nstruct extent_inode_elem {\n\tu64 inum;\n\tu64 offset;\n\tu64 num_bytes;\n\tstruct extent_inode_elem *next;\n};\n\nstruct extent_map {\n\tstruct rb_node rb_node;\n\tu64 start;\n\tu64 len;\n\tu64 disk_bytenr;\n\tu64 disk_num_bytes;\n\tu64 offset;\n\tu64 ram_bytes;\n\tu64 generation;\n\tu32 flags;\n\trefcount_t refs;\n\tstruct list_head list;\n};\n\nstruct kernel_lb_addr {\n\tuint32_t logicalBlockNum;\n\tuint16_t partitionReferenceNum;\n};\n\nstruct extent_position {\n\tstruct buffer_head *bh;\n\tuint32_t offset;\n\tstruct kernel_lb_addr block;\n};\n\nstruct extent_state {\n\tu64 start;\n\tu64 end;\n\tstruct rb_node rb_node;\n\twait_queue_head_t wq;\n\trefcount_t refs;\n\tu32 state;\n};\n\nstruct extent_status {\n\tstruct rb_node rb_node;\n\text4_lblk_t es_lblk;\n\text4_lblk_t es_len;\n\text4_fsblk_t es_pblk;\n};\n\nstruct external_name {\n\tatomic_t count;\n\tstruct callback_head head;\n\tunsigned char name[0];\n};\n\nstruct f815xxa_data {\n\tspinlock_t lock;\n\tint idx;\n};\n\nstruct f_owner_ex {\n\tint type;\n\t__kernel_pid_t pid;\n};\n\nstruct falloc_range {\n\tstruct list_head list;\n\tu64 start;\n\tu64 len;\n};\n\nstruct fan_fsid {\n\tstruct super_block *sb;\n\t__kernel_fsid_t id;\n\tbool weak;\n};\n\nstruct fsnotify_event {\n\tstruct list_head list;\n};\n\nstruct fanotify_event {\n\tstruct fsnotify_event fse;\n\tstruct hlist_node merge_list;\n\tu32 mask;\n\tstruct {\n\t\tunsigned int type: 3;\n\t\tunsigned int hash: 29;\n\t};\n\tstruct pid *pid;\n};\n\nstruct fanotify_fh {\n\tu8 type;\n\tu8 len;\n\tu8 flags;\n\tu8 pad;\n\tunsigned char buf[0];\n};\n\nstruct fanotify_error_event {\n\tstruct fanotify_event fae;\n\ts32 error;\n\tu32 err_count;\n\t__kernel_fsid_t fsid;\n\tstruct {\n\t\tstruct fanotify_fh object_fh;\n\t\tunsigned char _inline_fh_buf[128];\n\t};\n};\n\nstruct fanotify_event_info_header {\n\t__u8 info_type;\n\t__u8 pad;\n\t__u16 len;\n};\n\nstruct fanotify_event_info_error {\n\tstruct fanotify_event_info_header hdr;\n\t__s32 error;\n\t__u32 error_count;\n};\n\nstruct fanotify_event_info_fid {\n\tstruct fanotify_event_info_header hdr;\n\t__kernel_fsid_t fsid;\n\tunsigned char handle[0];\n};\n\nstruct fanotify_event_info_pidfd {\n\tstruct fanotify_event_info_header hdr;\n\t__s32 pidfd;\n};\n\nstruct fanotify_event_info_range {\n\tstruct fanotify_event_info_header hdr;\n\t__u32 pad;\n\t__u64 offset;\n\t__u64 count;\n};\n\nstruct fanotify_event_metadata {\n\t__u32 event_len;\n\t__u8 vers;\n\t__u8 reserved;\n\t__u16 metadata_len;\n\t__u64 mask;\n\t__s32 fd;\n\t__s32 pid;\n};\n\nstruct fanotify_fid_event {\n\tstruct fanotify_event fae;\n\t__kernel_fsid_t fsid;\n\tstruct {\n\t\tstruct fanotify_fh object_fh;\n\t\tunsigned char _inline_fh_buf[12];\n\t};\n};\n\nstruct fanotify_group_private_data {\n\tstruct hlist_head *merge_hash;\n\tstruct list_head access_list;\n\twait_queue_head_t access_waitq;\n\tint flags;\n\tint f_flags;\n\tstruct ucounts *ucounts;\n\tmempool_t error_events_pool;\n};\n\nstruct fanotify_info {\n\tu8 dir_fh_totlen;\n\tu8 dir2_fh_totlen;\n\tu8 file_fh_totlen;\n\tu8 name_len;\n\tu8 name2_len;\n\tu8 pad[3];\n\tunsigned char buf[0];\n};\n\nstruct fanotify_mark {\n\tstruct fsnotify_mark fsn_mark;\n\t__kernel_fsid_t fsid;\n};\n\nstruct fanotify_name_event {\n\tstruct fanotify_event fae;\n\t__kernel_fsid_t fsid;\n\tstruct fanotify_info info;\n};\n\nstruct fanotify_path_event {\n\tstruct fanotify_event fae;\n\tstruct path path;\n};\n\nstruct fanotify_response_info_header {\n\t__u8 type;\n\t__u8 pad;\n\t__u16 len;\n};\n\nstruct fanotify_response_info_audit_rule {\n\tstruct fanotify_response_info_header hdr;\n\t__u32 rule_number;\n\t__u32 subj_trust;\n\t__u32 obj_trust;\n};\n\nstruct fanotify_perm_event {\n\tstruct fanotify_event fae;\n\tstruct path path;\n\tconst loff_t *ppos;\n\tsize_t count;\n\tu32 response;\n\tshort unsigned int state;\n\tint fd;\n\tunion {\n\t\tstruct fanotify_response_info_header hdr;\n\t\tstruct fanotify_response_info_audit_rule audit_rule;\n\t};\n};\n\nstruct fanotify_response {\n\t__s32 fd;\n\t__u32 response;\n};\n\nstruct fanout_args {\n\t__u16 id;\n\t__u16 type_flags;\n\t__u32 max_num_members;\n};\n\nstruct fast_pool {\n\tlong unsigned int pool[4];\n\tlong unsigned int last;\n\tunsigned int count;\n\tstruct timer_list mix;\n};\n\nstruct request_sock;\n\nstruct tcp_fastopen_context;\n\nstruct fastopen_queue {\n\tstruct request_sock *rskq_rst_head;\n\tstruct request_sock *rskq_rst_tail;\n\tspinlock_t lock;\n\tint qlen;\n\tint max_qlen;\n\tstruct tcp_fastopen_context *ctx;\n};\n\nstruct fasync_struct {\n\trwlock_t fa_lock;\n\tint magic;\n\tint fa_fd;\n\tstruct fasync_struct *fa_next;\n\tstruct file *fa_file;\n\tstruct callback_head fa_rcu;\n};\n\nstruct fat_boot_sector {\n\t__u8 ignored[3];\n\t__u8 system_id[8];\n\t__u8 sector_size[2];\n\t__u8 sec_per_clus;\n\t__le16 reserved;\n\t__u8 fats;\n\t__u8 dir_entries[2];\n\t__u8 sectors[2];\n\t__u8 media;\n\t__le16 fat_length;\n\t__le16 secs_track;\n\t__le16 heads;\n\t__le32 hidden;\n\t__le32 total_sect;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 drive_number;\n\t\t\t__u8 state;\n\t\t\t__u8 signature;\n\t\t\t__u8 vol_id[4];\n\t\t\t__u8 vol_label[11];\n\t\t\t__u8 fs_type[8];\n\t\t} fat16;\n\t\tstruct {\n\t\t\t__le32 length;\n\t\t\t__le16 flags;\n\t\t\t__u8 version[2];\n\t\t\t__le32 root_cluster;\n\t\t\t__le16 info_sector;\n\t\t\t__le16 backup_boot;\n\t\t\t__le16 reserved2[6];\n\t\t\t__u8 drive_number;\n\t\t\t__u8 state;\n\t\t\t__u8 signature;\n\t\t\t__u8 vol_id[4];\n\t\t\t__u8 vol_label[11];\n\t\t\t__u8 fs_type[8];\n\t\t} fat32;\n\t};\n};\n\nstruct faux_device {\n\tstruct device dev;\n};\n\nstruct faux_device_ops {\n\tint (*probe)(struct faux_device *);\n\tvoid (*remove)(struct faux_device *);\n};\n\nstruct faux_object {\n\tstruct faux_device faux_dev;\n\tconst struct faux_device_ops *faux_ops;\n};\n\nstruct fb_bitfield {\n\t__u32 offset;\n\t__u32 length;\n\t__u32 msb_right;\n};\n\nstruct fb_blit_caps {\n\tlong unsigned int x[1];\n\tlong unsigned int y[2];\n\tu32 len;\n\tu32 flags;\n};\n\nstruct fb_chroma {\n\t__u32 redx;\n\t__u32 greenx;\n\t__u32 bluex;\n\t__u32 whitex;\n\t__u32 redy;\n\t__u32 greeny;\n\t__u32 bluey;\n\t__u32 whitey;\n};\n\nstruct fb_cmap {\n\t__u32 start;\n\t__u32 len;\n\t__u16 *red;\n\t__u16 *green;\n\t__u16 *blue;\n\t__u16 *transp;\n};\n\nstruct fb_cmap_user {\n\t__u32 start;\n\t__u32 len;\n\t__u16 *red;\n\t__u16 *green;\n\t__u16 *blue;\n\t__u16 *transp;\n};\n\nstruct fb_con2fbmap {\n\t__u32 console;\n\t__u32 framebuffer;\n};\n\nstruct fb_copyarea {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 sx;\n\t__u32 sy;\n};\n\nstruct fbcurpos {\n\t__u16 x;\n\t__u16 y;\n};\n\nstruct fb_image {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 fg_color;\n\t__u32 bg_color;\n\t__u8 depth;\n\tconst char *data;\n\tstruct fb_cmap cmap;\n};\n\nstruct fb_cursor {\n\t__u16 set;\n\t__u16 enable;\n\t__u16 rop;\n\tconst char *mask;\n\tstruct fbcurpos hot;\n\tstruct fb_image image;\n};\n\nstruct fb_cvt_data {\n\tu32 xres;\n\tu32 yres;\n\tu32 refresh;\n\tu32 f_refresh;\n\tu32 pixclock;\n\tu32 hperiod;\n\tu32 hblank;\n\tu32 hfreq;\n\tu32 htotal;\n\tu32 vtotal;\n\tu32 vsync;\n\tu32 hsync;\n\tu32 h_front_porch;\n\tu32 h_back_porch;\n\tu32 v_front_porch;\n\tu32 v_back_porch;\n\tu32 h_margin;\n\tu32 v_margin;\n\tu32 interlace;\n\tu32 aspect_ratio;\n\tu32 active_pixels;\n\tu32 flags;\n\tu32 status;\n};\n\nstruct fb_deferred_io_pageref {\n\tstruct page *page;\n\tlong unsigned int offset;\n\tstruct list_head list;\n};\n\nstruct fb_event {\n\tstruct fb_info *info;\n\tvoid *data;\n};\n\nstruct fb_fillrect {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 color;\n\t__u32 rop;\n};\n\nstruct fb_fix_screeninfo {\n\tchar id[16];\n\tlong unsigned int smem_start;\n\t__u32 smem_len;\n\t__u32 type;\n\t__u32 type_aux;\n\t__u32 visual;\n\t__u16 xpanstep;\n\t__u16 ypanstep;\n\t__u16 ywrapstep;\n\t__u32 line_length;\n\tlong unsigned int mmio_start;\n\t__u32 mmio_len;\n\t__u32 accel;\n\t__u16 capabilities;\n\t__u16 reserved[2];\n};\n\nstruct fb_var_screeninfo {\n\t__u32 xres;\n\t__u32 yres;\n\t__u32 xres_virtual;\n\t__u32 yres_virtual;\n\t__u32 xoffset;\n\t__u32 yoffset;\n\t__u32 bits_per_pixel;\n\t__u32 grayscale;\n\tstruct fb_bitfield red;\n\tstruct fb_bitfield green;\n\tstruct fb_bitfield blue;\n\tstruct fb_bitfield transp;\n\t__u32 nonstd;\n\t__u32 activate;\n\t__u32 height;\n\t__u32 width;\n\t__u32 accel_flags;\n\t__u32 pixclock;\n\t__u32 left_margin;\n\t__u32 right_margin;\n\t__u32 upper_margin;\n\t__u32 lower_margin;\n\t__u32 hsync_len;\n\t__u32 vsync_len;\n\t__u32 sync;\n\t__u32 vmode;\n\t__u32 rotate;\n\t__u32 colorspace;\n\t__u32 reserved[4];\n};\n\nstruct fb_monspecs {\n\tstruct fb_chroma chroma;\n\tstruct fb_videomode *modedb;\n\t__u8 manufacturer[4];\n\t__u8 monitor[14];\n\t__u8 serial_no[14];\n\t__u8 ascii[14];\n\t__u32 modedb_len;\n\t__u32 model;\n\t__u32 serial;\n\t__u32 year;\n\t__u32 week;\n\t__u32 hfmin;\n\t__u32 hfmax;\n\t__u32 dclkmin;\n\t__u32 dclkmax;\n\t__u16 input;\n\t__u16 dpms;\n\t__u16 signal;\n\t__u16 vfmin;\n\t__u16 vfmax;\n\t__u16 gamma;\n\t__u16 gtf: 1;\n\t__u16 misc;\n\t__u8 version;\n\t__u8 revision;\n\t__u8 max_x;\n\t__u8 max_y;\n};\n\nstruct fb_pixmap {\n\tu8 *addr;\n\tu32 size;\n\tu32 offset;\n\tu32 buf_align;\n\tu32 scan_align;\n\tu32 access_align;\n\tu32 flags;\n\tlong unsigned int blit_x[1];\n\tlong unsigned int blit_y[2];\n\tvoid (*writeio)(struct fb_info *, void *, void *, unsigned int);\n\tvoid (*readio)(struct fb_info *, void *, void *, unsigned int);\n};\n\nstruct lcd_device;\n\nstruct fb_ops;\n\nstruct fb_info {\n\trefcount_t count;\n\tint node;\n\tint flags;\n\tint fbcon_rotate_hint;\n\tstruct mutex lock;\n\tstruct mutex mm_lock;\n\tstruct fb_var_screeninfo var;\n\tstruct fb_fix_screeninfo fix;\n\tstruct fb_monspecs monspecs;\n\tstruct fb_pixmap pixmap;\n\tstruct fb_pixmap sprite;\n\tstruct fb_cmap cmap;\n\tstruct list_head modelist;\n\tstruct fb_videomode *mode;\n\tstruct lcd_device *lcd_dev;\n\tstruct delayed_work deferred_work;\n\tlong unsigned int npagerefs;\n\tstruct fb_deferred_io_pageref *pagerefs;\n\tstruct fb_deferred_io *fbdefio;\n\tconst struct fb_ops *fbops;\n\tstruct device *device;\n\tstruct device *dev;\n\tint class_flag;\n\tunion {\n\t\tchar *screen_base;\n\t\tchar *screen_buffer;\n\t};\n\tlong unsigned int screen_size;\n\tvoid *pseudo_palette;\n\tu32 state;\n\tvoid *fbcon_par;\n\tvoid *par;\n\tbool skip_vt_switch;\n\tbool skip_panic;\n};\n\nstruct fb_videomode {\n\tconst char *name;\n\tu32 refresh;\n\tu32 xres;\n\tu32 yres;\n\tu32 pixclock;\n\tu32 left_margin;\n\tu32 right_margin;\n\tu32 upper_margin;\n\tu32 lower_margin;\n\tu32 hsync_len;\n\tu32 vsync_len;\n\tu32 sync;\n\tu32 vmode;\n\tu32 flag;\n};\n\nstruct fb_modelist {\n\tstruct list_head list;\n\tstruct fb_videomode mode;\n};\n\nstruct fb_ops {\n\tstruct module *owner;\n\tint (*fb_open)(struct fb_info *, int);\n\tint (*fb_release)(struct fb_info *, int);\n\tssize_t (*fb_read)(struct fb_info *, char *, size_t, loff_t *);\n\tssize_t (*fb_write)(struct fb_info *, const char *, size_t, loff_t *);\n\tint (*fb_check_var)(struct fb_var_screeninfo *, struct fb_info *);\n\tint (*fb_set_par)(struct fb_info *);\n\tint (*fb_setcolreg)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, struct fb_info *);\n\tint (*fb_setcmap)(struct fb_cmap *, struct fb_info *);\n\tint (*fb_blank)(int, struct fb_info *);\n\tint (*fb_pan_display)(struct fb_var_screeninfo *, struct fb_info *);\n\tvoid (*fb_fillrect)(struct fb_info *, const struct fb_fillrect *);\n\tvoid (*fb_copyarea)(struct fb_info *, const struct fb_copyarea *);\n\tvoid (*fb_imageblit)(struct fb_info *, const struct fb_image *);\n\tint (*fb_cursor)(struct fb_info *, struct fb_cursor *);\n\tint (*fb_sync)(struct fb_info *);\n\tint (*fb_ioctl)(struct fb_info *, unsigned int, long unsigned int);\n\tint (*fb_compat_ioctl)(struct fb_info *, unsigned int, long unsigned int);\n\tint (*fb_mmap)(struct fb_info *, struct vm_area_struct *);\n\tvoid (*fb_get_caps)(struct fb_info *, struct fb_blit_caps *, struct fb_var_screeninfo *);\n\tvoid (*fb_destroy)(struct fb_info *);\n\tint (*fb_debug_enter)(struct fb_info *);\n\tint (*fb_debug_leave)(struct fb_info *);\n};\n\nstruct fbcon_display {\n\tconst u_char *fontdata;\n\tint userfont;\n\tu_short inverse;\n\tshort int yscroll;\n\tint vrows;\n\tint cursor_shape;\n\tint con_rotate;\n\tu32 xres_virtual;\n\tu32 yres_virtual;\n\tu32 height;\n\tu32 width;\n\tu32 bits_per_pixel;\n\tu32 grayscale;\n\tu32 nonstd;\n\tu32 accel_flags;\n\tu32 rotate;\n\tstruct fb_bitfield red;\n\tstruct fb_bitfield green;\n\tstruct fb_bitfield blue;\n\tstruct fb_bitfield transp;\n\tconst struct fb_videomode *mode;\n};\n\nstruct fbcon_ops {\n\tvoid (*bmove)(struct vc_data *, struct fb_info *, int, int, int, int, int, int);\n\tvoid (*clear)(struct vc_data *, struct fb_info *, int, int, int, int);\n\tvoid (*putcs)(struct vc_data *, struct fb_info *, const short unsigned int *, int, int, int, int, int);\n\tvoid (*clear_margins)(struct vc_data *, struct fb_info *, int, int);\n\tvoid (*cursor)(struct vc_data *, struct fb_info *, bool, int, int);\n\tint (*update_start)(struct fb_info *);\n\tint (*rotate_font)(struct fb_info *, struct vc_data *);\n\tstruct fb_var_screeninfo var;\n\tstruct delayed_work cursor_work;\n\tstruct fb_cursor cursor_state;\n\tstruct fbcon_display *p;\n\tstruct fb_info *info;\n\tint currcon;\n\tint cur_blink_jiffies;\n\tint cursor_flash;\n\tint cursor_reset;\n\tint blank_state;\n\tint graphics;\n\tint save_graphics;\n\tbool initialized;\n\tint rotate;\n\tint cur_rotate;\n\tchar *cursor_data;\n\tu8 *fontbuffer;\n\tu8 *fontdata;\n\tu8 *cursor_src;\n\tu32 cursor_size;\n\tu32 fd_size;\n};\n\nstruct fc_frame_header {\n\t__u8 fh_r_ctl;\n\t__u8 fh_d_id[3];\n\t__u8 fh_cs_ctl;\n\t__u8 fh_s_id[3];\n\t__u8 fh_type;\n\t__u8 fh_f_ctl[3];\n\t__u8 fh_seq_id;\n\t__u8 fh_df_ctl;\n\t__be16 fh_seq_cnt;\n\t__be16 fh_ox_id;\n\t__be16 fh_rx_id;\n\t__be32 fh_parm_offset;\n};\n\nstruct fc_log {\n\trefcount_t usage;\n\tu8 head;\n\tu8 tail;\n\tu8 need_free;\n\tstruct module *owner;\n\tchar *buffer[8];\n};\n\nstruct fcoe_crc_eof {\n\t__le32 fcoe_crc32;\n\t__u8 fcoe_eof;\n\t__u8 fcoe_resvd[3];\n};\n\nstruct fcoe_hdr {\n\t__u8 fcoe_ver;\n\t__u8 fcoe_resvd[12];\n\t__u8 fcoe_sof;\n};\n\nstruct fd {\n\tlong unsigned int word;\n};\n\ntypedef struct fd class_fd_pos_t;\n\ntypedef struct fd class_fd_raw_t;\n\ntypedef struct fd class_fd_t;\n\nstruct fd_data {\n\tfmode_t mode;\n\tunsigned int fd;\n};\n\nstruct fd_range {\n\tunsigned int from;\n\tunsigned int to;\n};\n\nstruct fdt_errtabent {\n\tconst char *str;\n};\n\nstruct fdt_header {\n\tfdt32_t magic;\n\tfdt32_t totalsize;\n\tfdt32_t off_dt_struct;\n\tfdt32_t off_dt_strings;\n\tfdt32_t off_mem_rsvmap;\n\tfdt32_t version;\n\tfdt32_t last_comp_version;\n\tfdt32_t boot_cpuid_phys;\n\tfdt32_t size_dt_strings;\n\tfdt32_t size_dt_struct;\n};\n\nstruct fdt_node_header {\n\tfdt32_t tag;\n\tchar name[0];\n};\n\nstruct fdt_property {\n\tfdt32_t tag;\n\tfdt32_t len;\n\tfdt32_t nameoff;\n\tchar data[0];\n};\n\nstruct fdt_reserve_entry {\n\tfdt64_t address;\n\tfdt64_t size;\n};\n\nstruct fdtable {\n\tunsigned int max_fds;\n\tstruct file **fd;\n\tlong unsigned int *close_on_exec;\n\tlong unsigned int *open_fds;\n\tlong unsigned int *full_fds_bits;\n\tstruct callback_head rcu;\n};\n\nstruct features_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 hw[2];\n\tu32 wanted[2];\n\tu32 active[2];\n\tu32 nochange[2];\n\tu32 all[2];\n};\n\nstruct fec_stat_grp {\n\tu64 stats[9];\n\tu8 cnt;\n};\n\nstruct fec_reply_data {\n\tstruct ethnl_reply_data base;\n\tlong unsigned int fec_link_modes[2];\n\tu32 active_fec;\n\tu8 fec_auto;\n\tstruct fec_stat_grp corr;\n\tstruct fec_stat_grp uncorr;\n\tstruct fec_stat_grp corr_bits;\n};\n\nstruct fetch_insn {\n\tenum fetch_op op;\n\tunion {\n\t\tunsigned int param;\n\t\tstruct {\n\t\t\tunsigned int size;\n\t\t\tint offset;\n\t\t};\n\t\tstruct {\n\t\t\tunsigned char basesize;\n\t\t\tunsigned char lshift;\n\t\t\tunsigned char rshift;\n\t\t};\n\t\tlong unsigned int immediate;\n\t\tvoid *data;\n\t};\n};\n\nstruct trace_seq;\n\ntypedef int (*print_type_func_t)(struct trace_seq *, void *, void *);\n\nstruct fetch_type {\n\tconst char *name;\n\tsize_t size;\n\tbool is_signed;\n\tbool is_string;\n\tprint_type_func_t print;\n\tconst char *fmt;\n\tconst char *fmttype;\n};\n\nstruct ff_condition_effect {\n\t__u16 right_saturation;\n\t__u16 left_saturation;\n\t__s16 right_coeff;\n\t__s16 left_coeff;\n\t__u16 deadband;\n\t__s16 center;\n};\n\nstruct ff_envelope {\n\t__u16 attack_length;\n\t__u16 attack_level;\n\t__u16 fade_length;\n\t__u16 fade_level;\n};\n\nstruct ff_constant_effect {\n\t__s16 level;\n\tstruct ff_envelope envelope;\n};\n\nstruct ff_effect;\n\nstruct ff_device {\n\tint (*upload)(struct input_dev *, struct ff_effect *, struct ff_effect *);\n\tint (*erase)(struct input_dev *, int);\n\tint (*playback)(struct input_dev *, int, int);\n\tvoid (*set_gain)(struct input_dev *, u16);\n\tvoid (*set_autocenter)(struct input_dev *, u16);\n\tvoid (*destroy)(struct ff_device *);\n\tvoid *private;\n\tlong unsigned int ffbit[2];\n\tstruct mutex mutex;\n\tint max_effects;\n\tstruct ff_effect *effects;\n\tstruct file *effect_owners[0];\n};\n\nstruct ff_trigger {\n\t__u16 button;\n\t__u16 interval;\n};\n\nstruct ff_replay {\n\t__u16 length;\n\t__u16 delay;\n};\n\nstruct ff_ramp_effect {\n\t__s16 start_level;\n\t__s16 end_level;\n\tstruct ff_envelope envelope;\n};\n\nstruct ff_periodic_effect {\n\t__u16 waveform;\n\t__u16 period;\n\t__s16 magnitude;\n\t__s16 offset;\n\t__u16 phase;\n\tstruct ff_envelope envelope;\n\t__u32 custom_len;\n\t__s16 *custom_data;\n};\n\nstruct ff_rumble_effect {\n\t__u16 strong_magnitude;\n\t__u16 weak_magnitude;\n};\n\nstruct ff_effect {\n\t__u16 type;\n\t__s16 id;\n\t__u16 direction;\n\tstruct ff_trigger trigger;\n\tstruct ff_replay replay;\n\tunion {\n\t\tstruct ff_constant_effect constant;\n\t\tstruct ff_ramp_effect ramp;\n\t\tstruct ff_periodic_effect periodic;\n\t\tstruct ff_condition_effect condition[2];\n\t\tstruct ff_rumble_effect rumble;\n\t} u;\n};\n\nstruct ffe_control {\n\tu8 ffe_cap_sel: 4;\n\tu8 ffe_rss_sel: 3;\n\tu8 reserved: 1;\n};\n\nstruct fib_kuid_range {\n\tkuid_t start;\n\tkuid_t end;\n};\n\nstruct fib_rule_port_range {\n\t__u16 start;\n\t__u16 end;\n};\n\nstruct fib_rule {\n\tstruct list_head list;\n\tint iifindex;\n\tint oifindex;\n\tu32 mark;\n\tu32 mark_mask;\n\tu32 flags;\n\tu32 table;\n\tu8 action;\n\tu8 l3mdev;\n\tu8 proto;\n\tu8 ip_proto;\n\tu32 target;\n\t__be64 tun_id;\n\tstruct fib_rule *ctarget;\n\tstruct net *fr_net;\n\trefcount_t refcnt;\n\tu32 pref;\n\tint suppress_ifgroup;\n\tint suppress_prefixlen;\n\tchar iifname[16];\n\tchar oifname[16];\n\tstruct fib_kuid_range uid_range;\n\tstruct fib_rule_port_range sport_range;\n\tstruct fib_rule_port_range dport_range;\n\tstruct callback_head rcu;\n};\n\nstruct fib4_rule {\n\tstruct fib_rule common;\n\tu8 dst_len;\n\tu8 src_len;\n\tdscp_t dscp;\n\tu8 dscp_full: 1;\n\t__be32 src;\n\t__be32 srcmask;\n\t__be32 dst;\n\t__be32 dstmask;\n\tu32 tclassid;\n};\n\nstruct fib6_node;\n\nstruct fib6_walker {\n\tstruct list_head lh;\n\tstruct fib6_node *root;\n\tstruct fib6_node *node;\n\tstruct fib6_info *leaf;\n\tenum fib6_walk_state state;\n\tunsigned int skip;\n\tunsigned int count;\n\tunsigned int skip_in_node;\n\tint (*func)(struct fib6_walker *);\n\tvoid *args;\n};\n\nstruct fib6_cleaner {\n\tstruct fib6_walker w;\n\tstruct net *net;\n\tint (*func)(struct fib6_info *, void *);\n\tint sernum;\n\tvoid *arg;\n\tbool skip_notify;\n};\n\nstruct nlmsghdr;\n\nstruct nl_info {\n\tstruct nlmsghdr *nlh;\n\tstruct net *nl_net;\n\tu32 portid;\n\tu8 skip_notify: 1;\n\tu8 skip_notify_kernel: 1;\n};\n\nstruct fib6_config {\n\tu32 fc_table;\n\tu32 fc_metric;\n\tint fc_dst_len;\n\tint fc_src_len;\n\tint fc_ifindex;\n\tu32 fc_flags;\n\tu32 fc_protocol;\n\tu16 fc_type;\n\tu16 fc_delete_all_nh: 1;\n\tu16 fc_ignore_dev_down: 1;\n\tu16 __unused: 14;\n\tu32 fc_nh_id;\n\tstruct in6_addr fc_dst;\n\tstruct in6_addr fc_src;\n\tstruct in6_addr fc_prefsrc;\n\tstruct in6_addr fc_gateway;\n\tlong unsigned int fc_expires;\n\tstruct nlattr *fc_mx;\n\tint fc_mx_len;\n\tint fc_mp_len;\n\tstruct nlattr *fc_mp;\n\tstruct nl_info fc_nlinfo;\n\tstruct nlattr *fc_encap;\n\tu16 fc_encap_type;\n\tbool fc_is_fdb;\n};\n\nstruct fib6_dump_arg {\n\tstruct net *net;\n\tstruct notifier_block *nb;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct fib_notifier_info {\n\tint family;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct fib6_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct fib6_info *rt;\n\tunsigned int nsiblings;\n};\n\nstruct fib6_gc_args {\n\tint timeout;\n\tint more;\n};\n\nstruct rt6key {\n\tstruct in6_addr addr;\n\tint plen;\n};\n\nstruct rtable;\n\nstruct fnhe_hash_bucket;\n\nstruct fib_nh_common {\n\tstruct net_device *nhc_dev;\n\tnetdevice_tracker nhc_dev_tracker;\n\tint nhc_oif;\n\tunsigned char nhc_scope;\n\tu8 nhc_family;\n\tu8 nhc_gw_family;\n\tunsigned char nhc_flags;\n\tstruct lwtunnel_state *nhc_lwtstate;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} nhc_gw;\n\tint nhc_weight;\n\tatomic_t nhc_upper_bound;\n\tstruct rtable **nhc_pcpu_rth_output;\n\tstruct rtable *nhc_rth_input;\n\tstruct fnhe_hash_bucket *nhc_exceptions;\n};\n\nstruct rt6_info;\n\nstruct rt6_exception_bucket;\n\nstruct fib6_nh {\n\tstruct fib_nh_common nh_common;\n\tlong unsigned int last_probe;\n\tstruct rt6_info **rt6i_pcpu;\n\tstruct rt6_exception_bucket *rt6i_exception_bucket;\n};\n\nstruct fib6_table;\n\nstruct nexthop;\n\nstruct fib6_info {\n\tstruct fib6_table *fib6_table;\n\tstruct fib6_info *fib6_next;\n\tstruct fib6_node *fib6_node;\n\tunion {\n\t\tstruct list_head fib6_siblings;\n\t\tstruct list_head nh_list;\n\t};\n\tunsigned int fib6_nsiblings;\n\trefcount_t fib6_ref;\n\tlong unsigned int expires;\n\tstruct hlist_node gc_link;\n\tstruct dst_metrics *fib6_metrics;\n\tstruct rt6key fib6_dst;\n\tu32 fib6_flags;\n\tstruct rt6key fib6_src;\n\tstruct rt6key fib6_prefsrc;\n\tu32 fib6_metric;\n\tu8 fib6_protocol;\n\tu8 fib6_type;\n\tu8 offload;\n\tu8 trap;\n\tu8 offload_failed;\n\tu8 should_flush: 1;\n\tu8 dst_nocount: 1;\n\tu8 dst_nopolicy: 1;\n\tu8 fib6_destroying: 1;\n\tu8 unused: 4;\n\tstruct callback_head rcu;\n\tstruct nexthop *nh;\n\tstruct fib6_nh fib6_nh[0];\n};\n\nstruct fib6_nh_age_excptn_arg {\n\tstruct fib6_gc_args *gc_args;\n\tlong unsigned int now;\n};\n\nstruct fib6_nh_del_cached_rt_arg {\n\tstruct fib6_config *cfg;\n\tstruct fib6_info *f6i;\n};\n\nstruct fib6_nh_dm_arg {\n\tstruct net *net;\n\tconst struct in6_addr *saddr;\n\tint oif;\n\tint flags;\n\tstruct fib6_nh *nh;\n};\n\nstruct rt6_rtnl_dump_arg;\n\nstruct fib6_nh_exception_dump_walker {\n\tstruct rt6_rtnl_dump_arg *dump;\n\tstruct fib6_info *rt;\n\tunsigned int flags;\n\tunsigned int skip;\n\tunsigned int count;\n};\n\nstruct fib6_nh_excptn_arg {\n\tstruct rt6_info *rt;\n\tint plen;\n};\n\nstruct fib6_nh_frl_arg {\n\tu32 flags;\n\tint oif;\n\tint strict;\n\tint *mpri;\n\tbool *do_rr;\n\tstruct fib6_nh *nh;\n};\n\nstruct fib6_nh_match_arg {\n\tconst struct net_device *dev;\n\tconst struct in6_addr *gw;\n\tstruct fib6_nh *match;\n};\n\nstruct fib6_nh_pcpu_arg {\n\tstruct fib6_info *from;\n\tconst struct fib6_table *table;\n};\n\nstruct fib6_result;\n\nstruct flowi6;\n\nstruct fib6_nh_rd_arg {\n\tstruct fib6_result *res;\n\tstruct flowi6 *fl6;\n\tconst struct in6_addr *gw;\n\tstruct rt6_info **ret;\n};\n\nstruct fib6_node {\n\tstruct fib6_node *parent;\n\tstruct fib6_node *left;\n\tstruct fib6_node *right;\n\tstruct fib6_info *leaf;\n\t__u16 fn_bit;\n\t__u16 fn_flags;\n\tint fn_sernum;\n\tstruct fib6_info *rr_ptr;\n\tstruct callback_head rcu;\n};\n\nstruct fib6_result {\n\tstruct fib6_nh *nh;\n\tstruct fib6_info *f6i;\n\tu32 fib6_flags;\n\tu8 fib6_type;\n\tstruct rt6_info *rt6;\n};\n\nstruct fib6_rule {\n\tstruct fib_rule common;\n\tstruct rt6key src;\n\tstruct rt6key dst;\n\t__be32 flowlabel;\n\t__be32 flowlabel_mask;\n\tdscp_t dscp;\n\tu8 dscp_full: 1;\n};\n\nstruct inet_peer_base {\n\tstruct rb_root rb_root;\n\tseqlock_t lock;\n\tint total;\n};\n\nstruct fib6_table {\n\tstruct hlist_node tb6_hlist;\n\tu32 tb6_id;\n\tspinlock_t tb6_lock;\n\tstruct fib6_node tb6_root;\n\tstruct inet_peer_base tb6_peers;\n\tunsigned int flags;\n\tunsigned int fib_seq;\n\tstruct hlist_head tb6_gc_hlist;\n};\n\nstruct fib_info;\n\nstruct fib_alias {\n\tstruct hlist_node fa_list;\n\tstruct fib_info *fa_info;\n\tdscp_t fa_dscp;\n\tu8 fa_type;\n\tu8 fa_state;\n\tu8 fa_slen;\n\tu32 tb_id;\n\ts16 fa_default;\n\tu8 offload;\n\tu8 trap;\n\tu8 offload_failed;\n\tstruct callback_head rcu;\n};\n\nstruct rtnexthop;\n\nstruct fib_config {\n\tu8 fc_dst_len;\n\tdscp_t fc_dscp;\n\tu8 fc_protocol;\n\tu8 fc_scope;\n\tu8 fc_type;\n\tu8 fc_gw_family;\n\tu32 fc_table;\n\t__be32 fc_dst;\n\tunion {\n\t\t__be32 fc_gw4;\n\t\tstruct in6_addr fc_gw6;\n\t};\n\tint fc_oif;\n\tu32 fc_flags;\n\tu32 fc_priority;\n\t__be32 fc_prefsrc;\n\tu32 fc_nh_id;\n\tstruct nlattr *fc_mx;\n\tstruct rtnexthop *fc_mp;\n\tint fc_mx_len;\n\tint fc_mp_len;\n\tu32 fc_flow;\n\tu32 fc_nlflags;\n\tstruct nl_info fc_nlinfo;\n\tstruct nlattr *fc_encap;\n\tu16 fc_encap_type;\n};\n\nstruct fib_dump_filter {\n\tu32 table_id;\n\tbool filter_set;\n\tbool dump_routes;\n\tbool dump_exceptions;\n\tbool rtnl_held;\n\tunsigned char protocol;\n\tunsigned char rt_type;\n\tunsigned int flags;\n\tstruct net_device *dev;\n};\n\nstruct fib_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tu32 dst;\n\tint dst_len;\n\tstruct fib_info *fi;\n\tdscp_t dscp;\n\tu8 type;\n\tu32 tb_id;\n};\n\nstruct fib_nh {\n\tstruct fib_nh_common nh_common;\n\tstruct hlist_node nh_hash;\n\tstruct fib_info *nh_parent;\n\t__u32 nh_tclassid;\n\t__be32 nh_saddr;\n\tint nh_saddr_genid;\n};\n\nstruct fib_info {\n\tstruct hlist_node fib_hash;\n\tstruct hlist_node fib_lhash;\n\tstruct list_head nh_list;\n\tstruct net *fib_net;\n\trefcount_t fib_treeref;\n\trefcount_t fib_clntref;\n\tunsigned int fib_flags;\n\tunsigned char fib_dead;\n\tunsigned char fib_protocol;\n\tunsigned char fib_scope;\n\tunsigned char fib_type;\n\t__be32 fib_prefsrc;\n\tu32 fib_tb_id;\n\tu32 fib_priority;\n\tstruct dst_metrics *fib_metrics;\n\tint fib_nhs;\n\tbool fib_nh_is_v6;\n\tbool nh_updated;\n\tbool pfsrc_removed;\n\tstruct nexthop *nh;\n\tstruct callback_head rcu;\n\tstruct fib_nh fib_nh[0];\n};\n\nstruct fib_lookup_arg {\n\tvoid *lookup_ptr;\n\tconst void *lookup_data;\n\tvoid *result;\n\tstruct fib_rule *rule;\n\tu32 table;\n\tint flags;\n};\n\nstruct fib_nh_exception {\n\tstruct fib_nh_exception *fnhe_next;\n\tint fnhe_genid;\n\t__be32 fnhe_daddr;\n\tu32 fnhe_pmtu;\n\tbool fnhe_mtu_locked;\n\t__be32 fnhe_gw;\n\tlong unsigned int fnhe_expires;\n\tstruct rtable *fnhe_rth_input;\n\tstruct rtable *fnhe_rth_output;\n\tlong unsigned int fnhe_stamp;\n\tstruct callback_head rcu;\n};\n\nstruct fib_nh_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct fib_nh *fib_nh;\n};\n\nstruct fib_notifier_net {\n\tstruct list_head fib_notifier_ops;\n\tstruct atomic_notifier_head fib_chain;\n};\n\nstruct fib_notifier_ops {\n\tint family;\n\tstruct list_head list;\n\tunsigned int (*fib_seq_read)(const struct net *);\n\tint (*fib_dump)(struct net *, struct notifier_block *, struct netlink_ext_ack *);\n\tstruct module *owner;\n\tstruct callback_head rcu;\n};\n\nstruct fib_prop {\n\tint error;\n\tu8 scope;\n};\n\nstruct fib_table;\n\nstruct fib_result {\n\t__be32 prefix;\n\tunsigned char prefixlen;\n\tunsigned char nh_sel;\n\tunsigned char type;\n\tunsigned char scope;\n\tu32 tclassid;\n\tdscp_t dscp;\n\tstruct fib_nh_common *nhc;\n\tstruct fib_info *fi;\n\tstruct fib_table *table;\n\tstruct hlist_head *fa_head;\n};\n\nstruct fib_result_nl {\n\t__be32 fl_addr;\n\tu32 fl_mark;\n\tunsigned char fl_tos;\n\tunsigned char fl_scope;\n\tunsigned char tb_id_in;\n\tunsigned char tb_id;\n\tunsigned char prefixlen;\n\tunsigned char nh_sel;\n\tunsigned char type;\n\tunsigned char scope;\n\tint err;\n};\n\nstruct key_vector;\n\nstruct fib_route_iter {\n\tstruct seq_net_private p;\n\tstruct fib_table *main_tb;\n\tstruct key_vector *tnode;\n\tloff_t pos;\n\tt_key key;\n};\n\nstruct fib_rt_info {\n\tstruct fib_info *fi;\n\tu32 tb_id;\n\t__be32 dst;\n\tint dst_len;\n\tdscp_t dscp;\n\tu8 type;\n\tu8 offload: 1;\n\tu8 trap: 1;\n\tu8 offload_failed: 1;\n\tu8 unused: 5;\n};\n\nstruct fib_rule_hdr {\n\t__u8 family;\n\t__u8 dst_len;\n\t__u8 src_len;\n\t__u8 tos;\n\t__u8 table;\n\t__u8 res1;\n\t__u8 res2;\n\t__u8 action;\n\t__u32 flags;\n};\n\nstruct fib_rule_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct fib_rule *rule;\n};\n\nstruct fib_rule_uid_range {\n\t__u32 start;\n\t__u32 end;\n};\n\nstruct flowi;\n\nstruct fib_rules_ops {\n\tint family;\n\tstruct list_head list;\n\tint rule_size;\n\tint addr_size;\n\tint unresolved_rules;\n\tint nr_goto_rules;\n\tunsigned int fib_rules_seq;\n\tint (*action)(struct fib_rule *, struct flowi *, int, struct fib_lookup_arg *);\n\tbool (*suppress)(struct fib_rule *, int, struct fib_lookup_arg *);\n\tint (*match)(struct fib_rule *, struct flowi *, int);\n\tint (*configure)(struct fib_rule *, struct sk_buff *, struct fib_rule_hdr *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*delete)(struct fib_rule *);\n\tint (*compare)(struct fib_rule *, struct fib_rule_hdr *, struct nlattr **);\n\tint (*fill)(struct fib_rule *, struct sk_buff *, struct fib_rule_hdr *);\n\tsize_t (*nlmsg_payload)(struct fib_rule *);\n\tvoid (*flush_cache)(struct fib_rules_ops *);\n\tint nlgroup;\n\tstruct list_head rules_list;\n\tstruct module *owner;\n\tstruct net *fro_net;\n\tstruct callback_head rcu;\n};\n\nstruct fib_table {\n\tstruct hlist_node tb_hlist;\n\tu32 tb_id;\n\tint tb_num_default;\n\tstruct callback_head rcu;\n\tlong unsigned int *tb_data;\n\tlong unsigned int __data[0];\n};\n\nstruct fib_trie_iter {\n\tstruct seq_net_private p;\n\tstruct fib_table *tb;\n\tstruct key_vector *tnode;\n\tunsigned int index;\n\tunsigned int depth;\n};\n\nstruct fid {\n\tunion {\n\t\tstruct {\n\t\t\tu32 ino;\n\t\t\tu32 gen;\n\t\t\tu32 parent_ino;\n\t\t\tu32 parent_gen;\n\t\t} i32;\n\t\tstruct {\n\t\t\tu64 ino;\n\t\t\tu32 gen;\n\t\t} __attribute__((packed)) i64;\n\t\tstruct {\n\t\t\tu32 block;\n\t\t\tu16 partref;\n\t\t\tu16 parent_partref;\n\t\t\tu32 generation;\n\t\t\tu32 parent_block;\n\t\t\tu32 parent_generation;\n\t\t} udf;\n\t\tstruct {\n\t\t\tstruct {} __empty_raw;\n\t\t\t__u32 raw[0];\n\t\t};\n\t};\n};\n\nstruct fiemap_extent {\n\t__u64 fe_logical;\n\t__u64 fe_physical;\n\t__u64 fe_length;\n\t__u64 fe_reserved64[2];\n\t__u32 fe_flags;\n\t__u32 fe_reserved[3];\n};\n\nstruct fiemap {\n\t__u64 fm_start;\n\t__u64 fm_length;\n\t__u32 fm_flags;\n\t__u32 fm_mapped_extents;\n\t__u32 fm_extent_count;\n\t__u32 fm_reserved;\n\tstruct fiemap_extent fm_extents[0];\n};\n\nstruct fiemap_cache {\n\tstruct btrfs_fiemap_entry *entries;\n\tint entries_size;\n\tint entries_pos;\n\tu64 next_search_offset;\n\tunsigned int extents_mapped;\n\tu64 offset;\n\tu64 phys;\n\tu64 len;\n\tu32 flags;\n\tbool cached;\n};\n\nstruct fiemap_extent_info {\n\tunsigned int fi_flags;\n\tunsigned int fi_extents_mapped;\n\tunsigned int fi_extents_max;\n\tstruct fiemap_extent *fi_extents_start;\n};\n\nstruct fileEntry {\n\tstruct tag descTag;\n\tstruct icbtag icbTag;\n\t__le32 uid;\n\t__le32 gid;\n\t__le32 permissions;\n\t__le16 fileLinkCount;\n\tuint8_t recordFormat;\n\tuint8_t recordDisplayAttr;\n\t__le32 recordLength;\n\t__le64 informationLength;\n\t__le64 logicalBlocksRecorded;\n\tstruct timestamp accessTime;\n\tstruct timestamp modificationTime;\n\tstruct timestamp attrTime;\n\t__le32 checkpoint;\n\tstruct long_ad extendedAttrICB;\n\tstruct regid impIdent;\n\t__le64 uniqueID;\n\t__le32 lengthExtendedAttr;\n\t__le32 lengthAllocDescs;\n\tuint8_t extendedAttr[0];\n};\n\nstruct fileIdentDesc {\n\tstruct tag descTag;\n\t__le16 fileVersionNum;\n\tuint8_t fileCharacteristics;\n\tuint8_t lengthFileIdent;\n\tstruct long_ad icb;\n\t__le16 lengthOfImpUse;\n} __attribute__((packed));\n\nstruct fileSetDesc {\n\tstruct tag descTag;\n\tstruct timestamp recordingDateAndTime;\n\t__le16 interchangeLvl;\n\t__le16 maxInterchangeLvl;\n\t__le32 charSetList;\n\t__le32 maxCharSetList;\n\t__le32 fileSetNum;\n\t__le32 fileSetDescNum;\n\tstruct charspec logicalVolIdentCharSet;\n\tdstring logicalVolIdent[128];\n\tstruct charspec fileSetCharSet;\n\tdstring fileSetIdent[32];\n\tdstring copyrightFileIdent[32];\n\tdstring abstractFileIdent[32];\n\tstruct long_ad rootDirectoryICB;\n\tstruct regid domainIdent;\n\tstruct long_ad nextExt;\n\tstruct long_ad streamDirectoryICB;\n\tuint8_t reserved[32];\n};\n\nstruct file__safe_trusted {\n\tstruct inode *f_inode;\n};\n\nstruct file_clone_range {\n\t__s64 src_fd;\n\t__u64 src_offset;\n\t__u64 src_length;\n\t__u64 dest_offset;\n};\n\nstruct file_dedupe_range_info {\n\t__s64 dest_fd;\n\t__u64 dest_offset;\n\t__u64 bytes_deduped;\n\t__s32 status;\n\t__u32 reserved;\n};\n\nstruct file_dedupe_range {\n\t__u64 src_offset;\n\t__u64 src_length;\n\t__u16 dest_count;\n\t__u16 reserved1;\n\t__u32 reserved2;\n\tstruct file_dedupe_range_info info[0];\n};\n\nstruct file_extent_cluster {\n\tu64 start;\n\tu64 end;\n\tu64 boundary[128];\n\tunsigned int nr;\n\tu64 owning_root;\n};\n\nstruct file_handle {\n\t__u32 handle_bytes;\n\tint handle_type;\n\tunsigned char f_handle[0];\n};\n\nstruct file_lock_core {\n\tstruct file_lock_core *flc_blocker;\n\tstruct list_head flc_list;\n\tstruct hlist_node flc_link;\n\tstruct list_head flc_blocked_requests;\n\tstruct list_head flc_blocked_member;\n\tfl_owner_t flc_owner;\n\tunsigned int flc_flags;\n\tunsigned char flc_type;\n\tpid_t flc_pid;\n\tint flc_link_cpu;\n\twait_queue_head_t flc_wait;\n\tstruct file *flc_file;\n};\n\nstruct lease_manager_operations;\n\nstruct file_lease {\n\tstruct file_lock_core c;\n\tstruct fasync_struct *fl_fasync;\n\tlong unsigned int fl_break_time;\n\tlong unsigned int fl_downgrade_time;\n\tconst struct lease_manager_operations *fl_lmops;\n};\n\nstruct nlm_lockowner;\n\nstruct nfs_lock_info {\n\tu32 state;\n\tstruct nlm_lockowner *owner;\n\tstruct list_head list;\n};\n\nstruct nfs4_lock_state;\n\nstruct nfs4_lock_info {\n\tstruct nfs4_lock_state *owner;\n};\n\nstruct file_lock_operations;\n\nstruct lock_manager_operations;\n\nstruct file_lock {\n\tstruct file_lock_core c;\n\tloff_t fl_start;\n\tloff_t fl_end;\n\tconst struct file_lock_operations *fl_ops;\n\tconst struct lock_manager_operations *fl_lmops;\n\tunion {\n\t\tstruct nfs_lock_info nfs_fl;\n\t\tstruct nfs4_lock_info nfs4_fl;\n\t\tstruct {\n\t\t\tstruct list_head link;\n\t\t\tint state;\n\t\t\tunsigned int debug_id;\n\t\t} afs;\n\t\tstruct {\n\t\t\tstruct inode *inode;\n\t\t} ceph;\n\t} fl_u;\n};\n\nstruct file_lock_context {\n\tspinlock_t flc_lock;\n\tstruct list_head flc_flock;\n\tstruct list_head flc_posix;\n\tstruct list_head flc_lease;\n};\n\nstruct file_lock_list_struct {\n\tspinlock_t lock;\n\tstruct hlist_head hlist;\n};\n\nstruct file_lock_operations {\n\tvoid (*fl_copy_lock)(struct file_lock *, struct file_lock *);\n\tvoid (*fl_release_private)(struct file_lock *);\n};\n\nstruct file_operations {\n\tstruct module *owner;\n\tfop_flags_t fop_flags;\n\tloff_t (*llseek)(struct file *, loff_t, int);\n\tssize_t (*read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct file *, const char *, size_t, loff_t *);\n\tssize_t (*read_iter)(struct kiocb *, struct iov_iter *);\n\tssize_t (*write_iter)(struct kiocb *, struct iov_iter *);\n\tint (*iopoll)(struct kiocb *, struct io_comp_batch *, unsigned int);\n\tint (*iterate_shared)(struct file *, struct dir_context *);\n\t__poll_t (*poll)(struct file *, struct poll_table_struct *);\n\tlong int (*unlocked_ioctl)(struct file *, unsigned int, long unsigned int);\n\tlong int (*compat_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*mmap)(struct file *, struct vm_area_struct *);\n\tint (*open)(struct inode *, struct file *);\n\tint (*flush)(struct file *, fl_owner_t);\n\tint (*release)(struct inode *, struct file *);\n\tint (*fsync)(struct file *, loff_t, loff_t, int);\n\tint (*fasync)(int, struct file *, int);\n\tint (*lock)(struct file *, int, struct file_lock *);\n\tlong unsigned int (*get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tint (*check_flags)(int);\n\tint (*flock)(struct file *, int, struct file_lock *);\n\tssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);\n\tssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*splice_eof)(struct file *);\n\tint (*setlease)(struct file *, int, struct file_lease **, void **);\n\tlong int (*fallocate)(struct file *, int, loff_t, loff_t);\n\tvoid (*show_fdinfo)(struct seq_file *, struct file *);\n\tssize_t (*copy_file_range)(struct file *, loff_t, struct file *, loff_t, size_t, unsigned int);\n\tloff_t (*remap_file_range)(struct file *, loff_t, struct file *, loff_t, loff_t, unsigned int);\n\tint (*fadvise)(struct file *, loff_t, loff_t, int);\n\tint (*uring_cmd)(struct io_uring_cmd *, unsigned int);\n\tint (*uring_cmd_iopoll)(struct io_uring_cmd *, struct io_comp_batch *, unsigned int);\n};\n\nstruct file_range {\n\tconst struct path *path;\n\tloff_t pos;\n\tsize_t count;\n};\n\nstruct page_counter;\n\nstruct file_region {\n\tstruct list_head link;\n\tlong int from;\n\tlong int to;\n\tstruct page_counter *reservation_counter;\n\tstruct cgroup_subsys_state *css;\n};\n\nstruct file_security_struct {\n\tu32 sid;\n\tu32 fown_sid;\n\tu32 isid;\n\tu32 pseqno;\n};\n\nstruct fs_context;\n\nstruct fs_parameter_spec;\n\nstruct file_system_type {\n\tconst char *name;\n\tint fs_flags;\n\tint (*init_fs_context)(struct fs_context *);\n\tconst struct fs_parameter_spec *parameters;\n\tstruct dentry * (*mount)(struct file_system_type *, int, const char *, void *);\n\tvoid (*kill_sb)(struct super_block *);\n\tstruct module *owner;\n\tstruct file_system_type *next;\n\tstruct hlist_head fs_supers;\n\tstruct lock_class_key s_lock_key;\n\tstruct lock_class_key s_umount_key;\n\tstruct lock_class_key s_vfs_rename_key;\n\tstruct lock_class_key s_writers_key[3];\n\tstruct lock_class_key i_lock_key;\n\tstruct lock_class_key i_mutex_key;\n\tstruct lock_class_key invalidate_lock_key;\n\tstruct lock_class_key i_mutex_dir_key;\n};\n\nstruct fileattr {\n\tu32 flags;\n\tu32 fsx_xflags;\n\tu32 fsx_extsize;\n\tu32 fsx_nextents;\n\tu32 fsx_projid;\n\tu32 fsx_cowextsize;\n\tbool flags_valid: 1;\n\tbool fsx_valid: 1;\n};\n\nstruct filename {\n\tconst char *name;\n\tconst char *uptr;\n\tatomic_t refcnt;\n\tstruct audit_names *aname;\n\tconst char iname[0];\n};\n\nstruct filename_trans_datum {\n\tstruct ebitmap stypes;\n\tu32 otype;\n\tstruct filename_trans_datum *next;\n};\n\nstruct filename_trans_key {\n\tu32 ttype;\n\tu16 tclass;\n\tconst char *name;\n};\n\nstruct files_stat_struct {\n\tlong unsigned int nr_files;\n\tlong unsigned int nr_free_files;\n\tlong unsigned int max_files;\n};\n\nstruct files_struct {\n\tatomic_t count;\n\tbool resize_in_progress;\n\twait_queue_head_t resize_wait;\n\tstruct fdtable *fdt;\n\tstruct fdtable fdtab;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t file_lock;\n\tunsigned int next_fd;\n\tlong unsigned int close_on_exec_init[1];\n\tlong unsigned int open_fds_init[1];\n\tlong unsigned int full_fds_bits_init[1];\n\tstruct file *fd_array[64];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct filter_list {\n\tstruct list_head list;\n\tstruct event_filter *filter;\n};\n\nstruct filter_parse_error {\n\tint lasterr;\n\tint lasterr_pos;\n};\n\nstruct regex;\n\nstruct ftrace_event_field;\n\nstruct filter_pred {\n\tstruct regex *regex;\n\tstruct cpumask *mask;\n\tshort unsigned int *ops;\n\tstruct ftrace_event_field *field;\n\tu64 val;\n\tu64 val2;\n\tenum filter_pred_fn fn_num;\n\tint offset;\n\tint not;\n\tint op;\n};\n\nstruct find_child_walk_data {\n\tstruct acpi_device *adev;\n\tu64 address;\n\tint score;\n\tbool check_sta;\n\tbool check_children;\n};\n\nstruct find_free_extent_ctl {\n\tu64 ram_bytes;\n\tu64 num_bytes;\n\tu64 min_alloc_size;\n\tu64 empty_size;\n\tu64 flags;\n\tint delalloc;\n\tu64 search_start;\n\tu64 empty_cluster;\n\tstruct btrfs_free_cluster *last_ptr;\n\tbool use_cluster;\n\tbool have_caching_bg;\n\tbool orig_have_caching_bg;\n\tbool for_treelog;\n\tbool for_data_reloc;\n\tint index;\n\tint loop;\n\tbool retry_uncached;\n\tint cached;\n\tu64 max_extent_size;\n\tu64 total_free_space;\n\tu64 found_offset;\n\tu64 hint_byte;\n\tenum btrfs_extent_allocation_policy policy;\n\tbool hinted;\n\tenum btrfs_block_group_size_class size_class;\n};\n\nstruct find_interface_arg {\n\tint minor;\n\tstruct device_driver *drv;\n};\n\nstruct kernel_symbol;\n\nstruct find_symbol_arg {\n\tconst char *name;\n\tbool gplok;\n\tbool warn;\n\tstruct module *owner;\n\tconst u32 *crc;\n\tconst struct kernel_symbol *sym;\n\tenum mod_license license;\n};\n\nstruct find_xattr_ctx {\n\tconst char *name;\n\tint name_len;\n\tint found_idx;\n\tchar *found_data;\n\tint found_data_len;\n};\n\nstruct finfo {\n\tefi_file_info_t info;\n\tefi_char16_t filename[256];\n};\n\nstruct firmware {\n\tsize_t size;\n\tconst u8 *data;\n\tvoid *priv;\n};\n\nstruct firmware_cache {\n\tspinlock_t lock;\n\tstruct list_head head;\n\tint state;\n\tspinlock_t name_lock;\n\tstruct list_head fw_names;\n\tstruct delayed_work work;\n\tstruct notifier_block pm_notify;\n};\n\nstruct firmware_work {\n\tstruct work_struct work;\n\tstruct module *module;\n\tconst char *name;\n\tstruct device *device;\n\tvoid *context;\n\tvoid (*cont)(const struct firmware *, void *);\n\tu32 opt_flags;\n};\n\nstruct fixed_mdio_bus {\n\tstruct mii_bus *mii_bus;\n\tstruct list_head phys;\n};\n\nstruct fixed_phy_status {\n\tint link;\n\tint speed;\n\tint duplex;\n\tint pause;\n\tint asym_pause;\n};\n\nstruct fixed_phy {\n\tint addr;\n\tstruct phy_device *phydev;\n\tstruct fixed_phy_status status;\n\tbool no_carrier;\n\tint (*link_update)(struct net_device *, struct fixed_phy_status *);\n\tstruct list_head node;\n\tstruct gpio_desc *link_gpiod;\n};\n\nstruct flags {\n\tint flag;\n\tchar *name[2];\n};\n\nstruct flash_spec {\n\tu32 strapping;\n\tu32 config1;\n\tu32 config2;\n\tu32 config3;\n\tu32 write1;\n\tu32 flags;\n\tu32 page_bits;\n\tu32 page_size;\n\tu32 addr_mask;\n\tu32 total_size;\n\tu8 *name;\n};\n\nstruct flex_groups {\n\tatomic64_t free_clusters;\n\tatomic_t free_inodes;\n\tatomic_t used_dirs;\n};\n\nstruct flock {\n\tshort int l_type;\n\tshort int l_whence;\n\t__kernel_off_t l_start;\n\t__kernel_off_t l_len;\n\t__kernel_pid_t l_pid;\n};\n\nstruct flock64 {\n\tshort int l_type;\n\tshort int l_whence;\n\t__kernel_loff_t l_start;\n\t__kernel_loff_t l_len;\n\t__kernel_pid_t l_pid;\n};\n\ntypedef void (*action_destr)(void *);\n\nstruct nf_flowtable;\n\nstruct ip_tunnel_info;\n\nstruct psample_group;\n\nstruct flow_action_cookie;\n\nstruct flow_action_entry {\n\tenum flow_action_id id;\n\tu32 hw_index;\n\tlong unsigned int cookie;\n\tu64 miss_cookie;\n\tenum flow_action_hw_stats hw_stats;\n\taction_destr destructor;\n\tvoid *destructor_priv;\n\tunion {\n\t\tu32 chain_index;\n\t\tstruct net_device *dev;\n\t\tstruct {\n\t\t\tu16 vid;\n\t\t\t__be16 proto;\n\t\t\tu8 prio;\n\t\t} vlan;\n\t\tstruct {\n\t\t\tunsigned char dst[6];\n\t\t\tunsigned char src[6];\n\t\t} vlan_push_eth;\n\t\tstruct {\n\t\t\tenum flow_action_mangle_base htype;\n\t\t\tu32 offset;\n\t\t\tu32 mask;\n\t\t\tu32 val;\n\t\t} mangle;\n\t\tstruct ip_tunnel_info *tunnel;\n\t\tu32 csum_flags;\n\t\tu32 mark;\n\t\tu16 ptype;\n\t\tu16 rx_queue;\n\t\tu32 priority;\n\t\tstruct {\n\t\t\tu32 ctx;\n\t\t\tu32 index;\n\t\t\tu8 vf;\n\t\t} queue;\n\t\tstruct {\n\t\t\tstruct psample_group *psample_group;\n\t\t\tu32 rate;\n\t\t\tu32 trunc_size;\n\t\t\tbool truncate;\n\t\t} sample;\n\t\tstruct {\n\t\t\tu32 burst;\n\t\t\tu64 rate_bytes_ps;\n\t\t\tu64 peakrate_bytes_ps;\n\t\t\tu32 avrate;\n\t\t\tu16 overhead;\n\t\t\tu64 burst_pkt;\n\t\t\tu64 rate_pkt_ps;\n\t\t\tu32 mtu;\n\t\t\tstruct {\n\t\t\t\tenum flow_action_id act_id;\n\t\t\t\tu32 extval;\n\t\t\t} exceed;\n\t\t\tstruct {\n\t\t\t\tenum flow_action_id act_id;\n\t\t\t\tu32 extval;\n\t\t\t} notexceed;\n\t\t} police;\n\t\tstruct {\n\t\t\tint action;\n\t\t\tu16 zone;\n\t\t\tstruct nf_flowtable *flow_table;\n\t\t} ct;\n\t\tstruct {\n\t\t\tlong unsigned int cookie;\n\t\t\tu32 mark;\n\t\t\tu32 labels[4];\n\t\t\tbool orig_dir;\n\t\t} ct_metadata;\n\t\tstruct {\n\t\t\tu32 label;\n\t\t\t__be16 proto;\n\t\t\tu8 tc;\n\t\t\tu8 bos;\n\t\t\tu8 ttl;\n\t\t} mpls_push;\n\t\tstruct {\n\t\t\t__be16 proto;\n\t\t} mpls_pop;\n\t\tstruct {\n\t\t\tu32 label;\n\t\t\tu8 tc;\n\t\t\tu8 bos;\n\t\t\tu8 ttl;\n\t\t} mpls_mangle;\n\t\tstruct {\n\t\t\ts32 prio;\n\t\t\tu64 basetime;\n\t\t\tu64 cycletime;\n\t\t\tu64 cycletimeext;\n\t\t\tu32 num_entries;\n\t\t\tstruct action_gate_entry *entries;\n\t\t} gate;\n\t\tstruct {\n\t\t\tu16 sid;\n\t\t} pppoe;\n\t};\n\tstruct flow_action_cookie *user_cookie;\n};\n\nstruct flow_action {\n\tunsigned int num_entries;\n\tstruct flow_action_entry entries[0];\n};\n\nstruct flow_action_cookie {\n\tu32 cookie_len;\n\tu8 cookie[0];\n};\n\nstruct flow_block {\n\tstruct list_head cb_list;\n};\n\ntypedef int flow_setup_cb_t(enum tc_setup_type, void *, void *);\n\nstruct flow_block_cb;\n\nstruct flow_block_indr {\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tstruct Qdisc *sch;\n\tenum flow_block_binder_type binder_type;\n\tvoid *data;\n\tvoid *cb_priv;\n\tvoid (*cleanup)(struct flow_block_cb *);\n};\n\nstruct flow_block_cb {\n\tstruct list_head driver_list;\n\tstruct list_head list;\n\tflow_setup_cb_t *cb;\n\tvoid *cb_ident;\n\tvoid *cb_priv;\n\tvoid (*release)(void *);\n\tstruct flow_block_indr indr;\n\tunsigned int refcnt;\n};\n\nstruct flow_block_offload {\n\tenum flow_block_command command;\n\tenum flow_block_binder_type binder_type;\n\tbool block_shared;\n\tbool unlocked_driver_cb;\n\tstruct net *net;\n\tstruct flow_block *block;\n\tstruct list_head cb_list;\n\tstruct list_head *driver_block_list;\n\tstruct netlink_ext_ack *extack;\n\tstruct Qdisc *sch;\n\tstruct list_head *cb_list_head;\n};\n\nstruct flow_cls_common_offload {\n\tu32 chain_index;\n\t__be16 protocol;\n\tu32 prio;\n\tbool skip_sw;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct flow_stats {\n\tu64 pkts;\n\tu64 bytes;\n\tu64 drops;\n\tu64 lastused;\n\tenum flow_action_hw_stats used_hw_stats;\n\tbool used_hw_stats_valid;\n};\n\nstruct flow_cls_offload {\n\tstruct flow_cls_common_offload common;\n\tenum flow_cls_command command;\n\tbool use_act_stats;\n\tlong unsigned int cookie;\n\tstruct flow_rule *rule;\n\tstruct flow_stats stats;\n\tu32 classid;\n};\n\nstruct flow_dissector_key {\n\tenum flow_dissector_key_id key_id;\n\tsize_t offset;\n};\n\nstruct flow_dissector_key_tipc {\n\t__be32 key;\n};\n\nstruct flow_dissector_key_addrs {\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs v4addrs;\n\t\tstruct flow_dissector_key_ipv6_addrs v6addrs;\n\t\tstruct flow_dissector_key_tipc tipckey;\n\t};\n};\n\nstruct flow_dissector_key_arp {\n\t__u32 sip;\n\t__u32 tip;\n\t__u8 op;\n\tunsigned char sha[6];\n\tunsigned char tha[6];\n};\n\nstruct flow_dissector_key_cfm {\n\tu8 mdl_ver;\n\tu8 opcode;\n};\n\nstruct flow_dissector_key_control {\n\tu16 thoff;\n\tu16 addr_type;\n\tu32 flags;\n};\n\nstruct flow_dissector_key_ct {\n\tu16 ct_state;\n\tu16 ct_zone;\n\tu32 ct_mark;\n\tu32 ct_labels[4];\n};\n\nstruct flow_dissector_key_enc_opts {\n\tu8 data[255];\n\tu8 len;\n\tu32 dst_opt_type;\n};\n\nstruct flow_dissector_key_hash {\n\tu32 hash;\n};\n\nstruct flow_dissector_key_icmp {\n\tstruct {\n\t\tu8 type;\n\t\tu8 code;\n\t};\n\tu16 id;\n};\n\nstruct flow_dissector_key_ipsec {\n\t__be32 spi;\n};\n\nstruct flow_dissector_key_keyid {\n\t__be32 keyid;\n};\n\nstruct flow_dissector_key_l2tpv3 {\n\t__be32 session_id;\n};\n\nstruct flow_dissector_key_meta {\n\tint ingress_ifindex;\n\tu16 ingress_iftype;\n\tu8 l2_miss;\n};\n\nstruct flow_dissector_mpls_lse {\n\tu32 mpls_ttl: 8;\n\tu32 mpls_bos: 1;\n\tu32 mpls_tc: 3;\n\tu32 mpls_label: 20;\n};\n\nstruct flow_dissector_key_mpls {\n\tstruct flow_dissector_mpls_lse ls[7];\n\tu8 used_lses;\n};\n\nstruct flow_dissector_key_num_of_vlans {\n\tu8 num_of_vlans;\n};\n\nstruct flow_dissector_key_ports_range {\n\tunion {\n\t\tstruct flow_dissector_key_ports tp;\n\t\tstruct {\n\t\t\tstruct flow_dissector_key_ports tp_min;\n\t\t\tstruct flow_dissector_key_ports tp_max;\n\t\t};\n\t};\n};\n\nstruct flow_dissector_key_pppoe {\n\t__be16 session_id;\n\t__be16 ppp_proto;\n\t__be16 type;\n};\n\nstruct flow_dissector_key_tags {\n\tu32 flow_label;\n};\n\nstruct flow_dissector_key_tcp {\n\t__be16 flags;\n};\n\nstruct flow_indir_dev_info {\n\tvoid *data;\n\tstruct net_device *dev;\n\tstruct Qdisc *sch;\n\tenum tc_setup_type type;\n\tvoid (*cleanup)(struct flow_block_cb *);\n\tstruct list_head list;\n\tenum flow_block_command command;\n\tenum flow_block_binder_type binder_type;\n\tstruct list_head *cb_list;\n};\n\ntypedef int flow_indr_block_bind_cb_t(struct net_device *, struct Qdisc *, void *, enum tc_setup_type, void *, void *, void (*)(struct flow_block_cb *));\n\nstruct flow_indr_dev {\n\tstruct list_head list;\n\tflow_indr_block_bind_cb_t *cb;\n\tvoid *cb_priv;\n\trefcount_t refcnt;\n};\n\nstruct flow_keys {\n\tstruct flow_dissector_key_control control;\n\tstruct flow_dissector_key_basic basic;\n\tstruct flow_dissector_key_tags tags;\n\tstruct flow_dissector_key_vlan vlan;\n\tstruct flow_dissector_key_vlan cvlan;\n\tstruct flow_dissector_key_keyid keyid;\n\tstruct flow_dissector_key_ports ports;\n\tstruct flow_dissector_key_icmp icmp;\n\tstruct flow_dissector_key_addrs addrs;\n\tlong: 0;\n};\n\nstruct flow_keys_basic {\n\tstruct flow_dissector_key_control control;\n\tstruct flow_dissector_key_basic basic;\n};\n\nstruct flow_keys_digest {\n\tu8 data[16];\n};\n\nstruct flow_match {\n\tstruct flow_dissector *dissector;\n\tvoid *mask;\n\tvoid *key;\n};\n\nstruct flow_match_arp {\n\tstruct flow_dissector_key_arp *key;\n\tstruct flow_dissector_key_arp *mask;\n};\n\nstruct flow_match_basic {\n\tstruct flow_dissector_key_basic *key;\n\tstruct flow_dissector_key_basic *mask;\n};\n\nstruct flow_match_control {\n\tstruct flow_dissector_key_control *key;\n\tstruct flow_dissector_key_control *mask;\n};\n\nstruct flow_match_ct {\n\tstruct flow_dissector_key_ct *key;\n\tstruct flow_dissector_key_ct *mask;\n};\n\nstruct flow_match_enc_keyid {\n\tstruct flow_dissector_key_keyid *key;\n\tstruct flow_dissector_key_keyid *mask;\n};\n\nstruct flow_match_enc_opts {\n\tstruct flow_dissector_key_enc_opts *key;\n\tstruct flow_dissector_key_enc_opts *mask;\n};\n\nstruct flow_match_eth_addrs {\n\tstruct flow_dissector_key_eth_addrs *key;\n\tstruct flow_dissector_key_eth_addrs *mask;\n};\n\nstruct flow_match_icmp {\n\tstruct flow_dissector_key_icmp *key;\n\tstruct flow_dissector_key_icmp *mask;\n};\n\nstruct flow_match_ip {\n\tstruct flow_dissector_key_ip *key;\n\tstruct flow_dissector_key_ip *mask;\n};\n\nstruct flow_match_ipsec {\n\tstruct flow_dissector_key_ipsec *key;\n\tstruct flow_dissector_key_ipsec *mask;\n};\n\nstruct flow_match_ipv4_addrs {\n\tstruct flow_dissector_key_ipv4_addrs *key;\n\tstruct flow_dissector_key_ipv4_addrs *mask;\n};\n\nstruct flow_match_ipv6_addrs {\n\tstruct flow_dissector_key_ipv6_addrs *key;\n\tstruct flow_dissector_key_ipv6_addrs *mask;\n};\n\nstruct flow_match_l2tpv3 {\n\tstruct flow_dissector_key_l2tpv3 *key;\n\tstruct flow_dissector_key_l2tpv3 *mask;\n};\n\nstruct flow_match_meta {\n\tstruct flow_dissector_key_meta *key;\n\tstruct flow_dissector_key_meta *mask;\n};\n\nstruct flow_match_mpls {\n\tstruct flow_dissector_key_mpls *key;\n\tstruct flow_dissector_key_mpls *mask;\n};\n\nstruct flow_match_ports {\n\tstruct flow_dissector_key_ports *key;\n\tstruct flow_dissector_key_ports *mask;\n};\n\nstruct flow_match_ports_range {\n\tstruct flow_dissector_key_ports_range *key;\n\tstruct flow_dissector_key_ports_range *mask;\n};\n\nstruct flow_match_pppoe {\n\tstruct flow_dissector_key_pppoe *key;\n\tstruct flow_dissector_key_pppoe *mask;\n};\n\nstruct flow_match_tcp {\n\tstruct flow_dissector_key_tcp *key;\n\tstruct flow_dissector_key_tcp *mask;\n};\n\nstruct flow_match_vlan {\n\tstruct flow_dissector_key_vlan *key;\n\tstruct flow_dissector_key_vlan *mask;\n};\n\nstruct flow_offload_action {\n\tstruct netlink_ext_ack *extack;\n\tenum offload_act_command command;\n\tenum flow_action_id id;\n\tu32 index;\n\tlong unsigned int cookie;\n\tstruct flow_stats stats;\n\tstruct flow_action action;\n};\n\nstruct flow_rule {\n\tstruct flow_match match;\n\tstruct flow_action action;\n};\n\nstruct flowi_tunnel {\n\t__be64 tun_id;\n};\n\nstruct flowi_common {\n\tint flowic_oif;\n\tint flowic_iif;\n\tint flowic_l3mdev;\n\t__u32 flowic_mark;\n\t__u8 flowic_tos;\n\t__u8 flowic_scope;\n\t__u8 flowic_proto;\n\t__u8 flowic_flags;\n\t__u32 flowic_secid;\n\tkuid_t flowic_uid;\n\t__u32 flowic_multipath_hash;\n\tstruct flowi_tunnel flowic_tun_key;\n};\n\nunion flowi_uli {\n\tstruct {\n\t\t__be16 dport;\n\t\t__be16 sport;\n\t} ports;\n\tstruct {\n\t\t__u8 type;\n\t\t__u8 code;\n\t} icmpt;\n\t__be32 gre_key;\n\tstruct {\n\t\t__u8 type;\n\t} mht;\n};\n\nstruct flowi4 {\n\tstruct flowi_common __fl_common;\n\t__be32 saddr;\n\t__be32 daddr;\n\tunion flowi_uli uli;\n};\n\nstruct flowi6 {\n\tstruct flowi_common __fl_common;\n\tstruct in6_addr daddr;\n\tstruct in6_addr saddr;\n\t__be32 flowlabel;\n\tunion flowi_uli uli;\n\t__u32 mp_hash;\n};\n\nstruct flowi {\n\tunion {\n\t\tstruct flowi_common __fl_common;\n\t\tstruct flowi4 ip4;\n\t\tstruct flowi6 ip6;\n\t} u;\n};\n\nstruct flush_backlogs {\n\tcpumask_t flush_cpus;\n\tstruct work_struct w[0];\n};\n\nstruct flush_busy_ctx_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct list_head *list;\n};\n\nstruct kyber_hctx_data;\n\nstruct flush_kcq_data {\n\tstruct kyber_hctx_data *khd;\n\tunsigned int sched_domain;\n\tstruct list_head *list;\n};\n\nstruct flush_tlb_data {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int addr1;\n\tlong unsigned int addr2;\n};\n\nstruct fmt {\n\tconst char *str;\n\tunsigned char state;\n\tunsigned char size;\n};\n\nstruct fname {\n\t__u32 hash;\n\t__u32 minor_hash;\n\tstruct rb_node rb_hash;\n\tstruct fname *next;\n\t__u32 inode;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[0];\n};\n\nstruct fnhe_hash_bucket {\n\tstruct fib_nh_exception *chain;\n};\n\nstruct focaltech_finger_state {\n\tbool active;\n\tbool valid;\n\tunsigned int x;\n\tunsigned int y;\n};\n\nstruct focaltech_hw_state {\n\tstruct focaltech_finger_state fingers[5];\n\tunsigned int width;\n\tbool pressed;\n};\n\nstruct focaltech_data {\n\tunsigned int x_max;\n\tunsigned int y_max;\n\tstruct focaltech_hw_state state;\n};\n\nstruct page_pool;\n\nstruct page {\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct list_head lru;\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *__filler;\n\t\t\t\t\tunsigned int mlock_count;\n\t\t\t\t};\n\t\t\t\tstruct list_head buddy_list;\n\t\t\t\tstruct list_head pcp_list;\n\t\t\t};\n\t\t\tstruct address_space *mapping;\n\t\t\tunion {\n\t\t\t\tlong unsigned int index;\n\t\t\t\tlong unsigned int share;\n\t\t\t};\n\t\t\tlong unsigned int private;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int pp_magic;\n\t\t\tstruct page_pool *pp;\n\t\t\tlong unsigned int _pp_mapping_pad;\n\t\t\tlong unsigned int dma_addr;\n\t\t\tatomic_long_t pp_ref_count;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int compound_head;\n\t\t};\n\t\tstruct {\n\t\t\tstruct dev_pagemap *pgmap;\n\t\t\tvoid *zone_device_data;\n\t\t};\n\t\tstruct callback_head callback_head;\n\t};\n\tunion {\n\t\tunsigned int page_type;\n\t\tatomic_t _mapcount;\n\t};\n\tatomic_t _refcount;\n\tlong unsigned int memcg_data;\n};\n\nstruct folio {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int flags;\n\t\t\tunion {\n\t\t\t\tstruct list_head lru;\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *__filler;\n\t\t\t\t\tunsigned int mlock_count;\n\t\t\t\t};\n\t\t\t};\n\t\t\tstruct address_space *mapping;\n\t\t\tlong unsigned int index;\n\t\t\tunion {\n\t\t\t\tvoid *private;\n\t\t\t\tswp_entry_t swap;\n\t\t\t};\n\t\t\tatomic_t _mapcount;\n\t\t\tatomic_t _refcount;\n\t\t\tlong unsigned int memcg_data;\n\t\t};\n\t\tstruct page page;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _flags_1;\n\t\t\tlong unsigned int _head_1;\n\t\t\tatomic_t _large_mapcount;\n\t\t\tatomic_t _entire_mapcount;\n\t\t\tatomic_t _nr_pages_mapped;\n\t\t\tatomic_t _pincount;\n\t\t\tunsigned int _folio_nr_pages;\n\t\t};\n\t\tstruct page __page_1;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _flags_2;\n\t\t\tlong unsigned int _head_2;\n\t\t\tvoid *_hugetlb_subpool;\n\t\t\tvoid *_hugetlb_cgroup;\n\t\t\tvoid *_hugetlb_cgroup_rsvd;\n\t\t\tvoid *_hugetlb_hwpoison;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int _flags_2a;\n\t\t\tlong unsigned int _head_2a;\n\t\t\tstruct list_head _deferred_list;\n\t\t};\n\t\tstruct page __page_2;\n\t};\n};\n\nstruct folio_iter {\n\tstruct folio *folio;\n\tsize_t offset;\n\tsize_t length;\n\tstruct folio *_next;\n\tsize_t _seg_count;\n\tint _i;\n};\n\nstruct folio_queue {\n\tstruct folio_batch vec;\n\tu8 orders[31];\n\tstruct folio_queue *next;\n\tstruct folio_queue *prev;\n\tlong unsigned int marks;\n\tlong unsigned int marks2;\n\tlong unsigned int marks3;\n\tunsigned int rreq_id;\n\tunsigned int debug_id;\n};\n\nstruct folio_referenced_arg {\n\tint mapcount;\n\tint referenced;\n\tlong unsigned int vm_flags;\n\tstruct mem_cgroup *memcg;\n};\n\nstruct folio_walk {\n\tstruct page *page;\n\tenum folio_walk_level level;\n\tunion {\n\t\tpte_t *ptep;\n\t\tpud_t *pudp;\n\t\tpmd_t *pmdp;\n\t};\n\tunion {\n\t\tpte_t pte;\n\t\tpud_t pud;\n\t\tpmd_t pmd;\n\t};\n\tstruct vm_area_struct *vma;\n\tspinlock_t *ptl;\n};\n\nstruct follow_page_context {\n\tstruct dev_pagemap *pgmap;\n\tunsigned int page_mask;\n};\n\nstruct follow_pfnmap_args {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int address;\n\tspinlock_t *lock;\n\tpte_t *ptep;\n\tlong unsigned int pfn;\n\tpgprot_t pgprot;\n\tbool writable;\n\tbool special;\n};\n\nstruct follower_init_arg {\n\tstruct hda_codec *codec;\n\tint step;\n};\n\nstruct font_data {\n\tunsigned int extra[4];\n\tconst unsigned char data[0];\n};\n\nstruct font_desc {\n\tint idx;\n\tconst char *name;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tconst void *data;\n\tint pref;\n};\n\nstruct memory_block;\n\ntypedef int (*walk_memory_blocks_func_t)(struct memory_block *, void *);\n\nstruct for_each_memory_block_cb_data {\n\twalk_memory_blocks_func_t func;\n\tvoid *arg;\n};\n\nstruct format_state___2 {\n\tunsigned char state;\n\tunsigned char size;\n\tunsigned char flags_or_double_size;\n\tunsigned char base;\n};\n\nstruct fown_struct {\n\tstruct file *file;\n\trwlock_t lock;\n\tstruct pid *pid;\n\tenum pid_type pid_type;\n\tkuid_t uid;\n\tkuid_t euid;\n\tint signum;\n};\n\nstruct fprop_global {\n\tstruct percpu_counter events;\n\tunsigned int period;\n\tseqcount_t sequence;\n};\n\nstruct fpu_context {\n\t__u64 regs[32];\n\t__u64 fcc;\n\t__u32 fcsr;\n};\n\nunion fpureg {\n\t__u32 val32[8];\n\t__u64 val64[4];\n};\n\ntypedef u32 (*rht_hashfn_t)(const void *, u32, u32);\n\ntypedef u32 (*rht_obj_hashfn_t)(const void *, u32, u32);\n\nstruct rhashtable_compare_arg;\n\ntypedef int (*rht_obj_cmpfn_t)(struct rhashtable_compare_arg *, const void *);\n\nstruct rhashtable_params {\n\tu16 nelem_hint;\n\tu16 key_len;\n\tu16 key_offset;\n\tu16 head_offset;\n\tunsigned int max_size;\n\tu16 min_size;\n\tbool automatic_shrinking;\n\trht_hashfn_t hashfn;\n\trht_obj_hashfn_t obj_hashfn;\n\trht_obj_cmpfn_t obj_cmpfn;\n};\n\nstruct rhashtable {\n\tstruct bucket_table *tbl;\n\tunsigned int key_len;\n\tunsigned int max_elems;\n\tstruct rhashtable_params p;\n\tbool rhlist;\n\tstruct work_struct run_work;\n\tstruct mutex mutex;\n\tspinlock_t lock;\n\tatomic_t nelems;\n};\n\nstruct inet_frags;\n\nstruct fqdir {\n\tlong int high_thresh;\n\tlong int low_thresh;\n\tint timeout;\n\tint max_dist;\n\tstruct inet_frags *f;\n\tstruct net *net;\n\tbool dead;\n\tlong: 64;\n\tlong: 64;\n\tstruct rhashtable rhashtable;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_long_t mem;\n\tstruct work_struct destroy_work;\n\tstruct llist_node free_list;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct frag_hdr {\n\t__u8 nexthdr;\n\t__u8 reserved;\n\t__be16 frag_off;\n\t__be32 identification;\n};\n\nstruct frag_v4_compare_key {\n\t__be32 saddr;\n\t__be32 daddr;\n\tu32 user;\n\tu32 vif;\n\t__be16 id;\n\tu16 protocol;\n};\n\nstruct frag_v6_compare_key {\n\tstruct in6_addr saddr;\n\tstruct in6_addr daddr;\n\tu32 user;\n\t__be32 id;\n\tu32 iif;\n};\n\nstruct inet_frag_queue {\n\tstruct rhash_head node;\n\tunion {\n\t\tstruct frag_v4_compare_key v4;\n\t\tstruct frag_v6_compare_key v6;\n\t} key;\n\tstruct timer_list timer;\n\tspinlock_t lock;\n\trefcount_t refcnt;\n\tstruct rb_root rb_fragments;\n\tstruct sk_buff *fragments_tail;\n\tstruct sk_buff *last_run_head;\n\tktime_t stamp;\n\tint len;\n\tint meat;\n\tu8 tstamp_type;\n\t__u8 flags;\n\tu16 max_size;\n\tstruct fqdir *fqdir;\n\tstruct callback_head rcu;\n};\n\nstruct frag_queue {\n\tstruct inet_frag_queue q;\n\tint iif;\n\t__u16 nhoffset;\n\tu8 ecn;\n};\n\nstruct freader {\n\tvoid *buf;\n\tu32 buf_sz;\n\tint err;\n\tunion {\n\t\tstruct {\n\t\t\tstruct file *file;\n\t\t\tstruct folio *folio;\n\t\t\tvoid *addr;\n\t\t\tloff_t folio_off;\n\t\t\tbool may_fault;\n\t\t};\n\t\tstruct {\n\t\t\tconst char *data;\n\t\t\tu64 data_sz;\n\t\t};\n\t};\n};\n\nstruct free_area {\n\tstruct list_head free_list[6];\n\tlong unsigned int nr_free;\n};\n\nstruct freezer {\n\tstruct cgroup_subsys_state css;\n\tunsigned int state;\n};\n\nstruct freq_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpufreq_policy *, char *);\n\tssize_t (*store)(struct cpufreq_policy *, const char *, size_t);\n};\n\nstruct p_log {\n\tconst char *prefix;\n\tstruct fc_log *log;\n};\n\nstruct fs_context_operations;\n\nstruct fs_context {\n\tconst struct fs_context_operations *ops;\n\tstruct mutex uapi_mutex;\n\tstruct file_system_type *fs_type;\n\tvoid *fs_private;\n\tvoid *sget_key;\n\tstruct dentry *root;\n\tstruct user_namespace *user_ns;\n\tstruct net *net_ns;\n\tconst struct cred *cred;\n\tstruct p_log log;\n\tconst char *source;\n\tvoid *security;\n\tvoid *s_fs_info;\n\tunsigned int sb_flags;\n\tunsigned int sb_flags_mask;\n\tunsigned int s_iflags;\n\tenum fs_context_purpose purpose: 8;\n\tenum fs_context_phase phase: 8;\n\tbool need_free: 1;\n\tbool global: 1;\n\tbool oldapi: 1;\n\tbool exclusive: 1;\n};\n\nstruct fs_parameter;\n\nstruct fs_context_operations {\n\tvoid (*free)(struct fs_context *);\n\tint (*dup)(struct fs_context *, struct fs_context *);\n\tint (*parse_param)(struct fs_context *, struct fs_parameter *);\n\tint (*parse_monolithic)(struct fs_context *, void *);\n\tint (*get_tree)(struct fs_context *);\n\tint (*reconfigure)(struct fs_context *);\n};\n\nstruct fs_disk_quota {\n\t__s8 d_version;\n\t__s8 d_flags;\n\t__u16 d_fieldmask;\n\t__u32 d_id;\n\t__u64 d_blk_hardlimit;\n\t__u64 d_blk_softlimit;\n\t__u64 d_ino_hardlimit;\n\t__u64 d_ino_softlimit;\n\t__u64 d_bcount;\n\t__u64 d_icount;\n\t__s32 d_itimer;\n\t__s32 d_btimer;\n\t__u16 d_iwarns;\n\t__u16 d_bwarns;\n\t__s8 d_itimer_hi;\n\t__s8 d_btimer_hi;\n\t__s8 d_rtbtimer_hi;\n\t__s8 d_padding2;\n\t__u64 d_rtb_hardlimit;\n\t__u64 d_rtb_softlimit;\n\t__u64 d_rtbcount;\n\t__s32 d_rtbtimer;\n\t__u16 d_rtbwarns;\n\t__s16 d_padding3;\n\tchar d_padding4[8];\n};\n\nstruct fs_error_report {\n\tint error;\n\tstruct inode *inode;\n\tstruct super_block *sb;\n};\n\nstruct fs_parameter {\n\tconst char *key;\n\tenum fs_value_type type: 8;\n\tunion {\n\t\tchar *string;\n\t\tvoid *blob;\n\t\tstruct filename *name;\n\t\tstruct file *file;\n\t};\n\tsize_t size;\n\tint dirfd;\n};\n\nstruct fs_parse_result;\n\ntypedef int fs_param_type(struct p_log *, const struct fs_parameter_spec *, struct fs_parameter *, struct fs_parse_result *);\n\nstruct fs_parameter_spec {\n\tconst char *name;\n\tfs_param_type *type;\n\tu8 opt;\n\tshort unsigned int flags;\n\tconst void *data;\n};\n\nstruct fs_parse_result {\n\tbool negated;\n\tunion {\n\t\tbool boolean;\n\t\tint int_32;\n\t\tunsigned int uint_32;\n\t\tu64 uint_64;\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t};\n};\n\nstruct fs_path {\n\tunion {\n\t\tstruct {\n\t\t\tchar *start;\n\t\t\tchar *end;\n\t\t\tchar *buf;\n\t\t\tshort unsigned int buf_len: 15;\n\t\t\tshort unsigned int reversed: 1;\n\t\t\tchar inline_buf[0];\n\t\t};\n\t\tchar pad[256];\n\t};\n};\n\nstruct fs_qfilestat {\n\t__u64 qfs_ino;\n\t__u64 qfs_nblks;\n\t__u32 qfs_nextents;\n};\n\ntypedef struct fs_qfilestat fs_qfilestat_t;\n\nstruct fs_qfilestatv {\n\t__u64 qfs_ino;\n\t__u64 qfs_nblks;\n\t__u32 qfs_nextents;\n\t__u32 qfs_pad;\n};\n\nstruct fs_quota_stat {\n\t__s8 qs_version;\n\t__u16 qs_flags;\n\t__s8 qs_pad;\n\tfs_qfilestat_t qs_uquota;\n\tfs_qfilestat_t qs_gquota;\n\t__u32 qs_incoredqs;\n\t__s32 qs_btimelimit;\n\t__s32 qs_itimelimit;\n\t__s32 qs_rtbtimelimit;\n\t__u16 qs_bwarnlimit;\n\t__u16 qs_iwarnlimit;\n};\n\nstruct fs_quota_statv {\n\t__s8 qs_version;\n\t__u8 qs_pad1;\n\t__u16 qs_flags;\n\t__u32 qs_incoredqs;\n\tstruct fs_qfilestatv qs_uquota;\n\tstruct fs_qfilestatv qs_gquota;\n\tstruct fs_qfilestatv qs_pquota;\n\t__s32 qs_btimelimit;\n\t__s32 qs_itimelimit;\n\t__s32 qs_rtbtimelimit;\n\t__u16 qs_bwarnlimit;\n\t__u16 qs_iwarnlimit;\n\t__u16 qs_rtbwarnlimit;\n\t__u16 qs_pad3;\n\t__u32 qs_pad4;\n\t__u64 qs_pad2[7];\n};\n\nstruct fs_struct {\n\tint users;\n\tspinlock_t lock;\n\tseqcount_spinlock_t seq;\n\tint umask;\n\tint in_exec;\n\tstruct path root;\n\tstruct path pwd;\n};\n\nstruct fs_sysfs_path {\n\t__u8 len;\n\t__u8 name[128];\n};\n\nstruct fscache_cache_ops;\n\nstruct fscache_cache {\n\tconst struct fscache_cache_ops *ops;\n\tstruct list_head cache_link;\n\tvoid *cache_priv;\n\trefcount_t ref;\n\tatomic_t n_volumes;\n\tatomic_t n_accesses;\n\tatomic_t object_count;\n\tunsigned int debug_id;\n\tenum fscache_cache_state state;\n\tchar *name;\n};\n\nstruct fscache_volume;\n\nstruct fscache_cookie;\n\nstruct netfs_cache_resources;\n\nstruct fscache_cache_ops {\n\tconst char *name;\n\tvoid (*acquire_volume)(struct fscache_volume *);\n\tvoid (*free_volume)(struct fscache_volume *);\n\tbool (*lookup_cookie)(struct fscache_cookie *);\n\tvoid (*withdraw_cookie)(struct fscache_cookie *);\n\tvoid (*resize_cookie)(struct netfs_cache_resources *, loff_t);\n\tbool (*invalidate_cookie)(struct fscache_cookie *);\n\tbool (*begin_operation)(struct netfs_cache_resources *, enum fscache_want_state);\n\tvoid (*prepare_to_write)(struct fscache_cookie *);\n};\n\nstruct fscache_cookie {\n\trefcount_t ref;\n\tatomic_t n_active;\n\tatomic_t n_accesses;\n\tunsigned int debug_id;\n\tunsigned int inval_counter;\n\tspinlock_t lock;\n\tstruct fscache_volume *volume;\n\tvoid *cache_priv;\n\tstruct hlist_bl_node hash_link;\n\tstruct list_head proc_link;\n\tstruct list_head commit_link;\n\tstruct work_struct work;\n\tloff_t object_size;\n\tlong unsigned int unused_at;\n\tlong unsigned int flags;\n\tenum fscache_cookie_state state;\n\tu8 advice;\n\tu8 key_len;\n\tu8 aux_len;\n\tu32 key_hash;\n\tunion {\n\t\tvoid *key;\n\t\tu8 inline_key[16];\n\t};\n\tunion {\n\t\tvoid *aux;\n\t\tu8 inline_aux[8];\n\t};\n};\n\nstruct fscache_volume {\n\trefcount_t ref;\n\tatomic_t n_cookies;\n\tatomic_t n_accesses;\n\tunsigned int debug_id;\n\tunsigned int key_hash;\n\tu8 *key;\n\tstruct list_head proc_link;\n\tstruct hlist_bl_node hash_link;\n\tstruct work_struct work;\n\tstruct fscache_cache *cache;\n\tvoid *cache_priv;\n\tspinlock_t lock;\n\tlong unsigned int flags;\n\tu8 coherency_len;\n\tu8 coherency[0];\n};\n\nstruct netfs_cache_ops;\n\nstruct netfs_cache_resources {\n\tconst struct netfs_cache_ops *ops;\n\tvoid *cache_priv;\n\tvoid *cache_priv2;\n\tunsigned int debug_id;\n\tunsigned int inval_counter;\n};\n\ntypedef void (*netfs_io_terminated_t)(void *, ssize_t, bool);\n\nstruct fscache_write_request {\n\tstruct netfs_cache_resources cache_resources;\n\tstruct address_space *mapping;\n\tloff_t start;\n\tsize_t len;\n\tbool set_bits;\n\tbool using_pgpriv2;\n\tnetfs_io_terminated_t term_func;\n\tvoid *term_func_priv;\n};\n\nstruct fscrypt_key_specifier {\n\t__u32 type;\n\t__u32 __reserved;\n\tunion {\n\t\t__u8 __reserved[32];\n\t\t__u8 descriptor[8];\n\t\t__u8 identifier[16];\n\t} u;\n};\n\nstruct fscrypt_add_key_arg {\n\tstruct fscrypt_key_specifier key_spec;\n\t__u32 raw_size;\n\t__u32 key_id;\n\t__u32 __reserved[8];\n\t__u8 raw[0];\n};\n\nstruct fscrypt_context_v1 {\n\tu8 version;\n\tu8 contents_encryption_mode;\n\tu8 filenames_encryption_mode;\n\tu8 flags;\n\tu8 master_key_descriptor[8];\n\tu8 nonce[16];\n};\n\nstruct fscrypt_context_v2 {\n\tu8 version;\n\tu8 contents_encryption_mode;\n\tu8 filenames_encryption_mode;\n\tu8 flags;\n\tu8 log2_data_unit_size;\n\tu8 __reserved[3];\n\tu8 master_key_identifier[16];\n\tu8 nonce[16];\n};\n\nunion fscrypt_context {\n\tu8 version;\n\tstruct fscrypt_context_v1 v1;\n\tstruct fscrypt_context_v2 v2;\n};\n\nstruct fscrypt_prepared_key {\n\tstruct crypto_skcipher *tfm;\n\tstruct blk_crypto_key *blk_key;\n};\n\nstruct fscrypt_mode;\n\nstruct fscrypt_direct_key {\n\tstruct super_block *dk_sb;\n\tstruct hlist_node dk_node;\n\trefcount_t dk_refcount;\n\tconst struct fscrypt_mode *dk_mode;\n\tstruct fscrypt_prepared_key dk_key;\n\tu8 dk_descriptor[8];\n\tu8 dk_raw[64];\n};\n\nstruct fscrypt_get_key_status_arg {\n\tstruct fscrypt_key_specifier key_spec;\n\t__u32 __reserved[6];\n\t__u32 status;\n\t__u32 status_flags;\n\t__u32 user_count;\n\t__u32 __out_reserved[13];\n};\n\nstruct fscrypt_policy_v1 {\n\t__u8 version;\n\t__u8 contents_encryption_mode;\n\t__u8 filenames_encryption_mode;\n\t__u8 flags;\n\t__u8 master_key_descriptor[8];\n};\n\nstruct fscrypt_policy_v2 {\n\t__u8 version;\n\t__u8 contents_encryption_mode;\n\t__u8 filenames_encryption_mode;\n\t__u8 flags;\n\t__u8 log2_data_unit_size;\n\t__u8 __reserved[3];\n\t__u8 master_key_identifier[16];\n};\n\nstruct fscrypt_get_policy_ex_arg {\n\t__u64 policy_size;\n\tunion {\n\t\t__u8 version;\n\t\tstruct fscrypt_policy_v1 v1;\n\t\tstruct fscrypt_policy_v2 v2;\n\t} policy;\n};\n\nstruct fscrypt_hkdf {\n\tstruct crypto_shash *hmac_tfm;\n};\n\nunion fscrypt_policy {\n\tu8 version;\n\tstruct fscrypt_policy_v1 v1;\n\tstruct fscrypt_policy_v2 v2;\n};\n\nstruct fscrypt_master_key;\n\nstruct fscrypt_inode_info {\n\tstruct fscrypt_prepared_key ci_enc_key;\n\tu8 ci_owns_key: 1;\n\tu8 ci_inlinecrypt: 1;\n\tu8 ci_dirhash_key_initialized: 1;\n\tu8 ci_data_unit_bits;\n\tu8 ci_data_units_per_block_bits;\n\tu32 ci_hashed_ino;\n\tstruct fscrypt_mode *ci_mode;\n\tstruct inode *ci_inode;\n\tstruct fscrypt_master_key *ci_master_key;\n\tstruct list_head ci_master_key_link;\n\tstruct fscrypt_direct_key *ci_direct_key;\n\tsiphash_key_t ci_dirhash_key;\n\tunion fscrypt_policy ci_policy;\n\tu8 ci_nonce[16];\n};\n\nunion fscrypt_iv {\n\tstruct {\n\t\t__le64 index;\n\t\tu8 nonce[16];\n\t};\n\tu8 raw[32];\n\t__le64 dun[4];\n};\n\nstruct fscrypt_key {\n\t__u32 mode;\n\t__u8 raw[64];\n\t__u32 size;\n};\n\nstruct fscrypt_keyring {\n\tspinlock_t lock;\n\tstruct hlist_head key_hashtable[128];\n};\n\nstruct fscrypt_master_key_secret {\n\tstruct fscrypt_hkdf hkdf;\n\tu32 size;\n\tu8 raw[64];\n};\n\nstruct fscrypt_master_key {\n\tstruct hlist_node mk_node;\n\tstruct rw_semaphore mk_sem;\n\trefcount_t mk_active_refs;\n\trefcount_t mk_struct_refs;\n\tstruct callback_head mk_rcu_head;\n\tstruct fscrypt_master_key_secret mk_secret;\n\tstruct fscrypt_key_specifier mk_spec;\n\tstruct key *mk_users;\n\tstruct list_head mk_decrypted_inodes;\n\tspinlock_t mk_decrypted_inodes_lock;\n\tstruct fscrypt_prepared_key mk_direct_keys[11];\n\tstruct fscrypt_prepared_key mk_iv_ino_lblk_64_keys[11];\n\tstruct fscrypt_prepared_key mk_iv_ino_lblk_32_keys[11];\n\tsiphash_key_t mk_ino_hash_key;\n\tbool mk_ino_hash_key_initialized;\n\tbool mk_present;\n};\n\nstruct fscrypt_mode {\n\tconst char *friendly_name;\n\tconst char *cipher_str;\n\tint keysize;\n\tint security_strength;\n\tint ivsize;\n\tint logged_cryptoapi_impl;\n\tint logged_blk_crypto_native;\n\tint logged_blk_crypto_fallback;\n\tenum blk_crypto_mode_num blk_crypto_mode;\n};\n\nstruct fscrypt_nokey_name {\n\tu32 dirhash[2];\n\tu8 bytes[149];\n\tu8 sha256[32];\n};\n\nstruct fscrypt_operations {\n\tunsigned int needs_bounce_pages: 1;\n\tunsigned int has_32bit_inodes: 1;\n\tunsigned int supports_subblock_data_units: 1;\n\tconst char *legacy_key_prefix;\n\tint (*get_context)(struct inode *, void *, size_t);\n\tint (*set_context)(struct inode *, const void *, size_t, void *);\n\tconst union fscrypt_policy * (*get_dummy_policy)(struct super_block *);\n\tbool (*empty_dir)(struct inode *);\n\tbool (*has_stable_inodes)(struct super_block *);\n\tstruct block_device ** (*get_devices)(struct super_block *, unsigned int *);\n};\n\nstruct fscrypt_provisioning_key_payload {\n\t__u32 type;\n\t__u32 __reserved;\n\t__u8 raw[0];\n};\n\nstruct fscrypt_remove_key_arg {\n\tstruct fscrypt_key_specifier key_spec;\n\t__u32 removal_status_flags;\n\t__u32 __reserved[5];\n};\n\nstruct fscrypt_symlink_data {\n\t__le16 len;\n\tchar encrypted_path[0];\n};\n\nstruct fsl_mc_obj_desc {\n\tchar type[16];\n\tint id;\n\tu16 vendor;\n\tu16 ver_major;\n\tu16 ver_minor;\n\tu8 irq_count;\n\tu8 region_count;\n\tu32 state;\n\tchar label[16];\n\tu16 flags;\n};\n\nstruct fsl_mc_io;\n\nstruct fsl_mc_device_irq;\n\nstruct fsl_mc_resource;\n\nstruct fsl_mc_device {\n\tstruct device dev;\n\tu64 dma_mask;\n\tu16 flags;\n\tu32 icid;\n\tu16 mc_handle;\n\tstruct fsl_mc_io *mc_io;\n\tstruct fsl_mc_obj_desc obj_desc;\n\tstruct resource *regions;\n\tstruct fsl_mc_device_irq **irqs;\n\tstruct fsl_mc_resource *resource;\n\tstruct device_link *consumer_link;\n\tconst char *driver_override;\n};\n\nstruct fsl_mc_resource_pool;\n\nstruct fsl_mc_resource {\n\tenum fsl_mc_pool_type type;\n\ts32 id;\n\tvoid *data;\n\tstruct fsl_mc_resource_pool *parent_pool;\n\tstruct list_head node;\n};\n\nstruct fsl_mc_device_irq {\n\tunsigned int virq;\n\tstruct fsl_mc_device *mc_dev;\n\tu8 dev_irq_index;\n\tstruct fsl_mc_resource resource;\n};\n\nstruct fsl_mc_io {\n\tstruct device *dev;\n\tu16 flags;\n\tu32 portal_size;\n\tphys_addr_t portal_phys_addr;\n\tvoid *portal_virt_addr;\n\tstruct fsl_mc_device *dpmcp_dev;\n\tunion {\n\t\tstruct mutex mutex;\n\t\traw_spinlock_t spinlock;\n\t};\n};\n\nstruct fsmap {\n\t__u32 fmr_device;\n\t__u32 fmr_flags;\n\t__u64 fmr_physical;\n\t__u64 fmr_owner;\n\t__u64 fmr_offset;\n\t__u64 fmr_length;\n\t__u64 fmr_reserved[3];\n};\n\nstruct fsmap_head {\n\t__u32 fmh_iflags;\n\t__u32 fmh_oflags;\n\t__u32 fmh_count;\n\t__u32 fmh_entries;\n\t__u64 fmh_reserved[6];\n\tstruct fsmap fmh_keys[2];\n\tstruct fsmap fmh_recs[0];\n};\n\nstruct inotify_group_private_data {\n\tspinlock_t idr_lock;\n\tstruct idr idr;\n\tstruct ucounts *ucounts;\n};\n\nstruct fsnotify_ops;\n\nstruct fsnotify_group {\n\tconst struct fsnotify_ops *ops;\n\trefcount_t refcnt;\n\tspinlock_t notification_lock;\n\tstruct list_head notification_list;\n\twait_queue_head_t notification_waitq;\n\tunsigned int q_len;\n\tunsigned int max_events;\n\tenum fsnotify_group_prio priority;\n\tbool shutdown;\n\tint flags;\n\tunsigned int owner_flags;\n\tstruct mutex mark_mutex;\n\tatomic_t user_waits;\n\tstruct list_head marks_list;\n\tstruct fasync_struct *fsn_fa;\n\tstruct fsnotify_event *overflow_event;\n\tstruct mem_cgroup *memcg;\n\tunion {\n\t\tvoid *private;\n\t\tstruct inotify_group_private_data inotify_data;\n\t\tstruct fanotify_group_private_data fanotify_data;\n\t};\n};\n\nstruct fsnotify_iter_info {\n\tstruct fsnotify_mark *marks[5];\n\tstruct fsnotify_group *current_group;\n\tunsigned int report_mask;\n\tint srcu_idx;\n};\n\ntypedef struct fsnotify_mark_connector *fsnotify_connp_t;\n\nstruct fsnotify_mark_connector {\n\tspinlock_t lock;\n\tunsigned char type;\n\tunsigned char prio;\n\tshort unsigned int flags;\n\tunion {\n\t\tvoid *obj;\n\t\tstruct fsnotify_mark_connector *destroy_next;\n\t};\n\tstruct hlist_head list;\n};\n\nstruct fsnotify_ops {\n\tint (*handle_event)(struct fsnotify_group *, u32, const void *, int, struct inode *, const struct qstr *, u32, struct fsnotify_iter_info *);\n\tint (*handle_inode_event)(struct fsnotify_mark *, u32, struct inode *, struct inode *, const struct qstr *, u32);\n\tvoid (*free_group_priv)(struct fsnotify_group *);\n\tvoid (*freeing_mark)(struct fsnotify_mark *, struct fsnotify_group *);\n\tvoid (*free_event)(struct fsnotify_group *, struct fsnotify_event *);\n\tvoid (*free_mark)(struct fsnotify_mark *);\n};\n\nstruct fsnotify_sb_info {\n\tstruct fsnotify_mark_connector *sb_marks;\n\tatomic_long_t watched_objects[3];\n};\n\nstruct fsp_data {\n\tunsigned char ver;\n\tunsigned char rev;\n\tunsigned int buttons;\n\tunsigned int flags;\n\tbool vscroll;\n\tbool hscroll;\n\tunsigned char last_reg;\n\tunsigned char last_val;\n\tunsigned int last_mt_fgr;\n};\n\nstruct fstrim_range {\n\t__u64 start;\n\t__u64 len;\n\t__u64 minlen;\n};\n\nstruct fsuuid {\n\t__u32 fsu_len;\n\t__u32 fsu_flags;\n\t__u8 fsu_uuid[0];\n};\n\nstruct fsuuid2 {\n\t__u8 len;\n\t__u8 uuid[16];\n};\n\nstruct fsverity_descriptor {\n\t__u8 version;\n\t__u8 hash_algorithm;\n\t__u8 log_blocksize;\n\t__u8 salt_size;\n\t__le32 sig_size;\n\t__le64 data_size;\n\t__u8 root_hash[64];\n\t__u8 salt[32];\n\t__u8 __reserved[144];\n\t__u8 signature[0];\n};\n\nstruct fsverity_digest {\n\t__u16 digest_algorithm;\n\t__u16 digest_size;\n\t__u8 digest[0];\n};\n\nstruct fsverity_enable_arg {\n\t__u32 version;\n\t__u32 hash_algorithm;\n\t__u32 block_size;\n\t__u32 salt_size;\n\t__u64 salt_ptr;\n\t__u32 sig_size;\n\t__u32 __reserved1;\n\t__u64 sig_ptr;\n\t__u64 __reserved2[11];\n};\n\nstruct fsverity_hash_alg {\n\tstruct crypto_shash *tfm;\n\tconst char *name;\n\tunsigned int digest_size;\n\tunsigned int block_size;\n\tenum hash_algo algo_id;\n};\n\nstruct merkle_tree_params {\n\tconst struct fsverity_hash_alg *hash_alg;\n\tconst u8 *hashstate;\n\tunsigned int digest_size;\n\tunsigned int block_size;\n\tunsigned int hashes_per_block;\n\tunsigned int blocks_per_page;\n\tu8 log_digestsize;\n\tu8 log_blocksize;\n\tu8 log_arity;\n\tu8 log_blocks_per_page;\n\tunsigned int num_levels;\n\tu64 tree_size;\n\tlong unsigned int tree_pages;\n\tlong unsigned int level_start[8];\n};\n\nstruct fsverity_info {\n\tstruct merkle_tree_params tree_params;\n\tu8 root_hash[64];\n\tu8 file_digest[64];\n\tconst struct inode *inode;\n\tlong unsigned int *hash_block_verified;\n};\n\nstruct fsverity_operations {\n\tint (*begin_enable_verity)(struct file *);\n\tint (*end_enable_verity)(struct file *, const void *, size_t, u64);\n\tint (*get_verity_descriptor)(struct inode *, void *, size_t);\n\tstruct page * (*read_merkle_tree_page)(struct inode *, long unsigned int, long unsigned int);\n\tint (*write_merkle_tree_block)(struct inode *, const void *, u64, unsigned int);\n};\n\nstruct fsverity_read_metadata_arg {\n\t__u64 metadata_type;\n\t__u64 offset;\n\t__u64 length;\n\t__u64 buf_ptr;\n\t__u64 __reserved;\n};\n\nstruct fsxattr {\n\t__u32 fsx_xflags;\n\t__u32 fsx_extsize;\n\t__u32 fsx_nextents;\n\t__u32 fsx_projid;\n\t__u32 fsx_cowextsize;\n\tunsigned char fsx_pad[8];\n};\n\nstruct ftq_reg {\n\tchar *name;\n\tu32 off;\n};\n\nstruct trace_seq {\n\tchar buffer[8156];\n\tstruct seq_buf seq;\n\tsize_t readpos;\n\tint full;\n};\n\nstruct tracer;\n\nstruct ring_buffer_iter;\n\nstruct trace_iterator {\n\tstruct trace_array *tr;\n\tstruct tracer *trace;\n\tstruct array_buffer *array_buffer;\n\tvoid *private;\n\tint cpu_file;\n\tstruct mutex mutex;\n\tstruct ring_buffer_iter **buffer_iter;\n\tlong unsigned int iter_flags;\n\tvoid *temp;\n\tunsigned int temp_size;\n\tchar *fmt;\n\tunsigned int fmt_size;\n\tatomic_t wait_index;\n\tstruct trace_seq tmp_seq;\n\tcpumask_var_t started;\n\tbool closed;\n\tbool snapshot;\n\tstruct trace_seq seq;\n\tstruct trace_entry *ent;\n\tlong unsigned int lost_events;\n\tint leftover;\n\tint ent_size;\n\tint cpu;\n\tu64 ts;\n\tloff_t pos;\n\tlong int idx;\n};\n\nstruct ftrace_buffer_info {\n\tstruct trace_iterator iter;\n\tvoid *spare;\n\tunsigned int spare_cpu;\n\tunsigned int spare_size;\n\tunsigned int read;\n};\n\nstruct ftrace_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n};\n\nstruct ftrace_event_field {\n\tstruct list_head link;\n\tconst char *name;\n\tconst char *type;\n\tint filter_type;\n\tint offset;\n\tint size;\n\tunsigned int is_signed: 1;\n\tunsigned int needs_test: 1;\n\tint len;\n};\n\nstruct ftrace_stack {\n\tlong unsigned int calls[1024];\n};\n\nstruct ftrace_stacks {\n\tstruct ftrace_stack stacks[4];\n};\n\nstruct func_repeats_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tu16 count;\n\tu16 top_delta_ts;\n\tu32 bottom_delta_ts;\n};\n\nstruct rdpq_alloc_detail {\n\tstruct dma_pool *dma_pool_ptr;\n\tdma_addr_t pool_entry_phys;\n\tunion MPI2_REPLY_DESCRIPTORS_UNION *pool_entry_virt;\n};\n\nstruct megasas_cmd;\n\nstruct fusion_context {\n\tstruct megasas_cmd_fusion **cmd_list;\n\tdma_addr_t req_frames_desc_phys;\n\tu8 *req_frames_desc;\n\tstruct dma_pool *io_request_frames_pool;\n\tdma_addr_t io_request_frames_phys;\n\tu8 *io_request_frames;\n\tstruct dma_pool *sg_dma_pool;\n\tstruct dma_pool *sense_dma_pool;\n\tu8 *sense;\n\tdma_addr_t sense_phys_addr;\n\tatomic_t busy_mq_poll[128];\n\tdma_addr_t reply_frames_desc_phys[128];\n\tunion MPI2_REPLY_DESCRIPTORS_UNION *reply_frames_desc[128];\n\tstruct rdpq_alloc_detail rdpq_tracker[8];\n\tstruct dma_pool *reply_frames_desc_pool;\n\tstruct dma_pool *reply_frames_desc_pool_align;\n\tu16 last_reply_idx[128];\n\tu32 reply_q_depth;\n\tu32 request_alloc_sz;\n\tu32 reply_alloc_sz;\n\tu32 io_frames_alloc_sz;\n\tstruct MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY *rdpq_virt;\n\tdma_addr_t rdpq_phys;\n\tu16 max_sge_in_main_msg;\n\tu16 max_sge_in_chain;\n\tu8 chain_offset_io_request;\n\tu8 chain_offset_mfi_pthru;\n\tstruct MR_FW_RAID_MAP_DYNAMIC *ld_map[2];\n\tdma_addr_t ld_map_phys[2];\n\tstruct MR_DRV_RAID_MAP_ALL *ld_drv_map[2];\n\tu32 max_map_sz;\n\tu32 current_map_sz;\n\tu32 old_map_sz;\n\tu32 new_map_sz;\n\tu32 drv_map_sz;\n\tu32 drv_map_pages;\n\tstruct MR_PD_CFG_SEQ_NUM_SYNC *pd_seq_sync[2];\n\tdma_addr_t pd_seq_phys[2];\n\tu8 fast_path_io;\n\tstruct LD_LOAD_BALANCE_INFO *load_balance_info;\n\tu32 load_balance_info_pages;\n\tLD_SPAN_INFO *log_to_span;\n\tu32 log_to_span_pages;\n\tstruct LD_STREAM_DETECT **stream_detect_by_ld;\n\tdma_addr_t ioc_init_request_phys;\n\tstruct MPI2_IOC_INIT_REQUEST *ioc_init_request;\n\tstruct megasas_cmd *ioc_init_cmd;\n\tbool pcie_bw_limitation;\n\tbool r56_div_offload;\n};\n\nstruct futex_hash_bucket {\n\tatomic_t waiters;\n\tspinlock_t lock;\n\tstruct plist_head chain;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion futex_key {\n\tstruct {\n\t\tu64 i_seq;\n\t\tlong unsigned int pgoff;\n\t\tunsigned int offset;\n\t} shared;\n\tstruct {\n\t\tunion {\n\t\t\tstruct mm_struct *mm;\n\t\t\tu64 __tmp;\n\t\t};\n\t\tlong unsigned int address;\n\t\tunsigned int offset;\n\t} private;\n\tstruct {\n\t\tu64 ptr;\n\t\tlong unsigned int word;\n\t\tunsigned int offset;\n\t} both;\n};\n\nstruct futex_pi_state {\n\tstruct list_head list;\n\tstruct rt_mutex_base pi_mutex;\n\tstruct task_struct *owner;\n\trefcount_t refcount;\n\tunion futex_key key;\n};\n\nstruct wake_q_head;\n\nstruct futex_q;\n\ntypedef void futex_wake_fn(struct wake_q_head *, struct futex_q *);\n\nstruct rt_mutex_waiter;\n\nstruct futex_q {\n\tstruct plist_node list;\n\tstruct task_struct *task;\n\tspinlock_t *lock_ptr;\n\tfutex_wake_fn *wake;\n\tvoid *wake_data;\n\tunion futex_key key;\n\tstruct futex_pi_state *pi_state;\n\tstruct rt_mutex_waiter *rt_waiter;\n\tunion futex_key *requeue_pi_key;\n\tu32 bitset;\n\tatomic_t requeue_state;\n};\n\nstruct futex_waitv {\n\t__u64 val;\n\t__u64 uaddr;\n\t__u32 flags;\n\t__u32 __reserved;\n};\n\nstruct futex_vector {\n\tstruct futex_waitv w;\n\tstruct futex_q q;\n};\n\nstruct fw_cache_entry {\n\tstruct list_head list;\n\tconst char *name;\n};\n\nstruct fw_event_work {\n\tstruct list_head list;\n\tstruct work_struct work;\n\tstruct MPT3SAS_ADAPTER *ioc;\n\tu16 device_handle;\n\tu8 VF_ID;\n\tu8 VP_ID;\n\tu8 ignore;\n\tu16 event;\n\tstruct kref refcount;\n\tchar event_data[0];\n};\n\nstruct fw_info {\n\tu32 magic;\n\tchar version[32];\n\t__le32 fw_start;\n\t__le32 fw_len;\n\tu8 chksum;\n} __attribute__((packed));\n\nstruct fw_name_devm {\n\tlong unsigned int magic;\n\tconst char *name;\n};\n\nstruct fw_state {\n\tstruct completion completion;\n\tenum fw_status status;\n};\n\nstruct fw_priv {\n\tstruct kref ref;\n\tstruct list_head list;\n\tstruct firmware_cache *fwc;\n\tstruct fw_state fw_st;\n\tvoid *data;\n\tsize_t size;\n\tsize_t allocated_size;\n\tsize_t offset;\n\tu32 opt_flags;\n\tbool is_paged_buf;\n\tstruct page **pages;\n\tint nr_pages;\n\tint page_array_size;\n\tconst char *fw_name;\n};\n\nunion fw_table_header {\n\tstruct acpi_table_header acpi;\n\tstruct acpi_table_cdat cdat;\n};\n\nunion fwnet_hwaddr {\n\tu8 u[16];\n\tstruct {\n\t\t__be64 uniq_id;\n\t\tu8 max_rec;\n\t\tu8 sspd;\n\t\tu8 fifo[6];\n\t} uc;\n};\n\nstruct fwnode_endpoint {\n\tunsigned int port;\n\tunsigned int id;\n\tconst struct fwnode_handle *local_fwnode;\n};\n\nstruct fwnode_link {\n\tstruct fwnode_handle *supplier;\n\tstruct list_head s_hook;\n\tstruct fwnode_handle *consumer;\n\tstruct list_head c_hook;\n\tu8 flags;\n};\n\nstruct fwnode_reference_args;\n\nstruct fwnode_operations {\n\tstruct fwnode_handle * (*get)(struct fwnode_handle *);\n\tvoid (*put)(struct fwnode_handle *);\n\tbool (*device_is_available)(const struct fwnode_handle *);\n\tconst void * (*device_get_match_data)(const struct fwnode_handle *, const struct device *);\n\tbool (*device_dma_supported)(const struct fwnode_handle *);\n\tenum dev_dma_attr (*device_get_dma_attr)(const struct fwnode_handle *);\n\tbool (*property_present)(const struct fwnode_handle *, const char *);\n\tbool (*property_read_bool)(const struct fwnode_handle *, const char *);\n\tint (*property_read_int_array)(const struct fwnode_handle *, const char *, unsigned int, void *, size_t);\n\tint (*property_read_string_array)(const struct fwnode_handle *, const char *, const char **, size_t);\n\tconst char * (*get_name)(const struct fwnode_handle *);\n\tconst char * (*get_name_prefix)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_parent)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_next_child_node)(const struct fwnode_handle *, struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_named_child_node)(const struct fwnode_handle *, const char *);\n\tint (*get_reference_args)(const struct fwnode_handle *, const char *, const char *, unsigned int, unsigned int, struct fwnode_reference_args *);\n\tstruct fwnode_handle * (*graph_get_next_endpoint)(const struct fwnode_handle *, struct fwnode_handle *);\n\tstruct fwnode_handle * (*graph_get_remote_endpoint)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*graph_get_port_parent)(struct fwnode_handle *);\n\tint (*graph_parse_endpoint)(const struct fwnode_handle *, struct fwnode_endpoint *);\n\tvoid * (*iomap)(struct fwnode_handle *, int);\n\tint (*irq_get)(const struct fwnode_handle *, unsigned int);\n\tint (*add_links)(struct fwnode_handle *);\n};\n\nstruct fwnode_reference_args {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int nargs;\n\tu64 args[8];\n};\n\nstruct gcry_mpi {\n\tint alloced;\n\tint nlimbs;\n\tint nbits;\n\tint sign;\n\tunsigned int flags;\n\tmpi_limb_t *d;\n};\n\nstruct pcpu_gen_cookie;\n\nstruct gen_cookie {\n\tstruct pcpu_gen_cookie *local;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic64_t forward_last;\n\tatomic64_t reverse_last;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct gen_pool;\n\ntypedef long unsigned int (*genpool_algo_t)(long unsigned int *, long unsigned int, long unsigned int, unsigned int, void *, struct gen_pool *, long unsigned int);\n\nstruct gen_pool {\n\tspinlock_t lock;\n\tstruct list_head chunks;\n\tint min_alloc_order;\n\tgenpool_algo_t algo;\n\tvoid *data;\n\tconst char *name;\n};\n\nstruct gen_pool_chunk {\n\tstruct list_head next_chunk;\n\tatomic_long_t avail;\n\tphys_addr_t phys_addr;\n\tvoid *owner;\n\tlong unsigned int start_addr;\n\tlong unsigned int end_addr;\n\tlong unsigned int bits[0];\n};\n\nstruct timer_rand_state;\n\nstruct gendisk {\n\tint major;\n\tint first_minor;\n\tint minors;\n\tchar disk_name[32];\n\tshort unsigned int events;\n\tshort unsigned int event_flags;\n\tstruct xarray part_tbl;\n\tstruct block_device *part0;\n\tconst struct block_device_operations *fops;\n\tstruct request_queue *queue;\n\tvoid *private_data;\n\tstruct bio_set bio_split;\n\tint flags;\n\tlong unsigned int state;\n\tstruct mutex open_mutex;\n\tunsigned int open_partitions;\n\tstruct backing_dev_info *bdi;\n\tstruct kobject queue_kobj;\n\tstruct kobject *slave_dir;\n\tstruct list_head slave_bdevs;\n\tstruct timer_rand_state *random;\n\tatomic_t sync_io;\n\tstruct disk_events *ev;\n\tunsigned int nr_zones;\n\tunsigned int zone_capacity;\n\tunsigned int last_zone_capacity;\n\tlong unsigned int *conv_zones_bitmap;\n\tunsigned int zone_wplugs_hash_bits;\n\tatomic_t nr_zone_wplugs;\n\tspinlock_t zone_wplugs_lock;\n\tstruct mempool_s *zone_wplugs_pool;\n\tstruct hlist_head *zone_wplugs_hash;\n\tstruct workqueue_struct *zone_wplugs_wq;\n\tstruct cdrom_device_info *cdi;\n\tint node_id;\n\tstruct badblocks *bb;\n\tstruct lockdep_map lockdep_map;\n\tu64 diskseq;\n\tblk_mode_t open_mode;\n\tstruct blk_independent_access_ranges *ia_ranges;\n};\n\nstruct genericFormat {\n\t__le32 attrType;\n\tuint8_t attrSubtype;\n\tuint8_t reserved[3];\n\t__le32 attrLength;\n\tuint8_t attrData[0];\n};\n\nstruct genericPartitionMap {\n\tuint8_t partitionMapType;\n\tuint8_t partitionMapLength;\n\tuint8_t partitionMapping[0];\n};\n\nstruct genericPartitionMap1 {\n\tuint8_t partitionMapType;\n\tuint8_t partitionMapLength;\n\t__le16 volSeqNum;\n\t__le16 partitionNum;\n};\n\nstruct generic_desc {\n\tstruct tag descTag;\n\t__le32 volDescSeqNum;\n};\n\nstruct geneve_opt {\n\t__be16 opt_class;\n\tu8 type;\n\tu8 length: 5;\n\tu8 r3: 1;\n\tu8 r2: 1;\n\tu8 r1: 1;\n\tu8 opt_data[0];\n};\n\nstruct ocontext;\n\nstruct genfs {\n\tchar *fstype;\n\tstruct ocontext *head;\n\tstruct genfs *next;\n};\n\nstruct netlink_callback;\n\nstruct nla_policy;\n\nstruct genl_split_ops {\n\tunion {\n\t\tstruct {\n\t\t\tint (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\t\t\tint (*doit)(struct sk_buff *, struct genl_info *);\n\t\t\tvoid (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\t\t};\n\t\tstruct {\n\t\t\tint (*start)(struct netlink_callback *);\n\t\t\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\t\t\tint (*done)(struct netlink_callback *);\n\t\t};\n\t};\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genlmsghdr;\n\nstruct genl_info {\n\tu32 snd_seq;\n\tu32 snd_portid;\n\tconst struct genl_family *family;\n\tconst struct nlmsghdr *nlhdr;\n\tstruct genlmsghdr *genlhdr;\n\tstruct nlattr **attrs;\n\tpossible_net_t _net;\n\tunion {\n\t\tu8 ctx[48];\n\t\tvoid *user_ptr[2];\n\t};\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct genl_dumpit_info {\n\tstruct genl_split_ops op;\n\tstruct genl_info info;\n};\n\nstruct genl_ops;\n\nstruct genl_small_ops;\n\nstruct genl_multicast_group;\n\nstruct genl_family {\n\tunsigned int hdrsize;\n\tchar name[16];\n\tunsigned int version;\n\tunsigned int maxattr;\n\tu8 netnsok: 1;\n\tu8 parallel_ops: 1;\n\tu8 n_ops;\n\tu8 n_small_ops;\n\tu8 n_split_ops;\n\tu8 n_mcgrps;\n\tu8 resv_start_op;\n\tconst struct nla_policy *policy;\n\tint (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\tvoid (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\tint (*bind)(int);\n\tvoid (*unbind)(int);\n\tconst struct genl_ops *ops;\n\tconst struct genl_small_ops *small_ops;\n\tconst struct genl_split_ops *split_ops;\n\tconst struct genl_multicast_group *mcgrps;\n\tstruct module *module;\n\tsize_t sock_priv_size;\n\tvoid (*sock_priv_init)(void *);\n\tvoid (*sock_priv_destroy)(void *);\n\tint id;\n\tunsigned int mcgrp_offset;\n\tstruct xarray *sock_privs;\n};\n\nstruct genl_multicast_group {\n\tchar name[16];\n\tu8 flags;\n};\n\nstruct genl_op_iter {\n\tconst struct genl_family *family;\n\tstruct genl_split_ops doit;\n\tstruct genl_split_ops dumpit;\n\tint cmd_idx;\n\tint entry_idx;\n\tu32 cmd;\n\tu8 flags;\n};\n\nstruct genl_ops {\n\tint (*doit)(struct sk_buff *, struct genl_info *);\n\tint (*start)(struct netlink_callback *);\n\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genl_small_ops {\n\tint (*doit)(struct sk_buff *, struct genl_info *);\n\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genl_start_context {\n\tconst struct genl_family *family;\n\tstruct nlmsghdr *nlh;\n\tstruct netlink_ext_ack *extack;\n\tconst struct genl_split_ops *ops;\n\tint hdrlen;\n};\n\nstruct genlmsghdr {\n\t__u8 cmd;\n\t__u8 version;\n\t__u16 reserved;\n};\n\nstruct genpool_data_align {\n\tint align;\n};\n\nstruct genpool_data_fixed {\n\tlong unsigned int offset;\n};\n\nstruct genradix_iter {\n\tsize_t offset;\n\tsize_t pos;\n};\n\nstruct genradix_node {\n\tunion {\n\t\tstruct genradix_node *children[64];\n\t\tu8 data[512];\n\t};\n};\n\nstruct getbmapx {\n\t__s64 bmv_offset;\n\t__s64 bmv_block;\n\t__s64 bmv_length;\n\t__s32 bmv_count;\n\t__s32 bmv_entries;\n\t__s32 bmv_iflags;\n\t__s32 bmv_oflags;\n\t__s32 bmv_unused1;\n\t__s32 bmv_unused2;\n};\n\nstruct getcpu_cache {\n\tlong unsigned int blob[16];\n};\n\nstruct getdents_callback {\n\tstruct dir_context ctx;\n\tchar *name;\n\tu64 ino;\n\tint found;\n\tint sequence;\n};\n\nstruct linux_dirent;\n\nstruct getdents_callback___2 {\n\tstruct dir_context ctx;\n\tstruct linux_dirent *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct linux_dirent64;\n\nstruct getdents_callback64 {\n\tstruct dir_context ctx;\n\tstruct linux_dirent64 *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct getfsmap_info {\n\tstruct super_block *gi_sb;\n\tstruct fsmap_head *gi_data;\n\tunsigned int gi_idx;\n\t__u32 gi_last_flags;\n};\n\nstruct input_keymap_entry {\n\t__u8 flags;\n\t__u8 len;\n\t__u16 index;\n\t__u32 keycode;\n\t__u8 scancode[32];\n};\n\nstruct getset_keycode_data {\n\tstruct input_keymap_entry ke;\n\tint error;\n};\n\nstruct kvm_memory_slot;\n\nstruct gfn_to_hva_cache {\n\tu64 generation;\n\tgpa_t gpa;\n\tlong unsigned int hva;\n\tlong unsigned int len;\n\tstruct kvm_memory_slot *memslot;\n};\n\nstruct giveback_urb_bh {\n\tbool running;\n\tbool high_prio;\n\tspinlock_t lock;\n\tstruct list_head head;\n\tstruct work_struct bh;\n\tstruct usb_host_endpoint *completing_ep;\n};\n\nstruct tc_stats {\n\t__u64 bytes;\n\t__u32 packets;\n\t__u32 drops;\n\t__u32 overlimits;\n\t__u32 bps;\n\t__u32 pps;\n\t__u32 qlen;\n\t__u32 backlog;\n};\n\nstruct gnet_dump {\n\tspinlock_t *lock;\n\tstruct sk_buff *skb;\n\tstruct nlattr *tail;\n\tint compat_tc_stats;\n\tint compat_xstats;\n\tint padattr;\n\tvoid *xstats;\n\tint xstats_len;\n\tstruct tc_stats tc_stats;\n};\n\nstruct gnet_estimator {\n\tsigned char interval;\n\tunsigned char ewma_log;\n};\n\nstruct gnet_stats_basic {\n\t__u64 bytes;\n\t__u32 packets;\n};\n\nstruct gnet_stats_rate_est {\n\t__u32 bps;\n\t__u32 pps;\n};\n\nstruct gnet_stats_rate_est64 {\n\t__u64 bps;\n\t__u64 pps;\n};\n\nstruct got_entry {\n\tElf64_Addr symbol_addr;\n};\n\nstruct governor_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct gov_attr_set *, char *);\n\tssize_t (*store)(struct gov_attr_set *, const char *, size_t);\n};\n\nstruct gpio_device;\n\nstruct gpio_array {\n\tstruct gpio_desc **desc;\n\tunsigned int size;\n\tstruct gpio_device *gdev;\n\tlong unsigned int *get_mask;\n\tlong unsigned int *set_mask;\n\tlong unsigned int invert_mask[0];\n};\n\nstruct gpio_v2_line_attribute {\n\t__u32 id;\n\t__u32 padding;\n\tunion {\n\t\t__u64 flags;\n\t\t__u64 values;\n\t\t__u32 debounce_period_us;\n\t};\n};\n\nstruct gpio_v2_line_info {\n\tchar name[32];\n\tchar consumer[32];\n\t__u32 offset;\n\t__u32 num_attrs;\n\t__u64 flags;\n\tstruct gpio_v2_line_attribute attrs[10];\n\t__u32 padding[4];\n};\n\nstruct gpio_v2_line_info_changed {\n\tstruct gpio_v2_line_info info;\n\t__u64 timestamp_ns;\n\t__u32 event_type;\n\t__u32 padding[5];\n};\n\nstruct gpio_chardev_data {\n\tstruct gpio_device *gdev;\n\twait_queue_head_t wait;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpio_v2_line_info_changed *type;\n\t\t\tconst struct gpio_v2_line_info_changed *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpio_v2_line_info_changed *ptr;\n\t\t\tconst struct gpio_v2_line_info_changed *ptr_const;\n\t\t};\n\t\tstruct gpio_v2_line_info_changed buf[32];\n\t} events;\n\tstruct notifier_block lineinfo_changed_nb;\n\tstruct notifier_block device_unregistered_nb;\n\tlong unsigned int *watched_lines;\n\tatomic_t watch_abi_version;\n\tstruct file *fp;\n};\n\nstruct irq_data;\n\nstruct irq_domain_ops {\n\tint (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token);\n\tint (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token);\n\tint (*map)(struct irq_domain *, unsigned int, irq_hw_number_t);\n\tvoid (*unmap)(struct irq_domain *, unsigned int);\n\tint (*xlate)(struct irq_domain *, struct device_node *, const u32 *, unsigned int, long unsigned int *, unsigned int *);\n\tint (*alloc)(struct irq_domain *, unsigned int, unsigned int, void *);\n\tvoid (*free)(struct irq_domain *, unsigned int, unsigned int);\n\tint (*activate)(struct irq_domain *, struct irq_data *, bool);\n\tvoid (*deactivate)(struct irq_domain *, struct irq_data *);\n\tint (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *);\n};\n\nstruct irq_desc;\n\ntypedef void (*irq_flow_handler_t)(struct irq_desc *);\n\nstruct irq_chip;\n\nunion gpio_irq_fwspec;\n\nstruct gpio_irq_chip {\n\tstruct irq_chip *chip;\n\tstruct irq_domain *domain;\n\tstruct fwnode_handle *fwnode;\n\tstruct irq_domain *parent_domain;\n\tint (*child_to_parent_hwirq)(struct gpio_chip *, unsigned int, unsigned int, unsigned int *, unsigned int *);\n\tint (*populate_parent_alloc_arg)(struct gpio_chip *, union gpio_irq_fwspec *, unsigned int, unsigned int);\n\tunsigned int (*child_offset_to_irq)(struct gpio_chip *, unsigned int);\n\tstruct irq_domain_ops child_irq_domain_ops;\n\tirq_flow_handler_t handler;\n\tunsigned int default_type;\n\tstruct lock_class_key *lock_key;\n\tstruct lock_class_key *request_key;\n\tirq_flow_handler_t parent_handler;\n\tunion {\n\t\tvoid *parent_handler_data;\n\t\tvoid **parent_handler_data_array;\n\t};\n\tunsigned int num_parents;\n\tunsigned int *parents;\n\tunsigned int *map;\n\tbool threaded;\n\tbool per_parent_data;\n\tbool initialized;\n\tbool domain_is_allocated_externally;\n\tint (*init_hw)(struct gpio_chip *);\n\tvoid (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int);\n\tlong unsigned int *valid_mask;\n\tunsigned int first;\n\tvoid (*irq_enable)(struct irq_data *);\n\tvoid (*irq_disable)(struct irq_data *);\n\tvoid (*irq_unmask)(struct irq_data *);\n\tvoid (*irq_mask)(struct irq_data *);\n};\n\nstruct of_phandle_args;\n\nstruct gpio_chip {\n\tconst char *label;\n\tstruct gpio_device *gpiodev;\n\tstruct device *parent;\n\tstruct fwnode_handle *fwnode;\n\tstruct module *owner;\n\tint (*request)(struct gpio_chip *, unsigned int);\n\tvoid (*free)(struct gpio_chip *, unsigned int);\n\tint (*get_direction)(struct gpio_chip *, unsigned int);\n\tint (*direction_input)(struct gpio_chip *, unsigned int);\n\tint (*direction_output)(struct gpio_chip *, unsigned int, int);\n\tint (*get)(struct gpio_chip *, unsigned int);\n\tint (*get_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *);\n\tvoid (*set)(struct gpio_chip *, unsigned int, int);\n\tvoid (*set_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *);\n\tint (*set_config)(struct gpio_chip *, unsigned int, long unsigned int);\n\tint (*to_irq)(struct gpio_chip *, unsigned int);\n\tvoid (*dbg_show)(struct seq_file *, struct gpio_chip *);\n\tint (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int);\n\tint (*add_pin_ranges)(struct gpio_chip *);\n\tint (*en_hw_timestamp)(struct gpio_chip *, u32, long unsigned int);\n\tint (*dis_hw_timestamp)(struct gpio_chip *, u32, long unsigned int);\n\tint base;\n\tu16 ngpio;\n\tu16 offset;\n\tconst char * const *names;\n\tbool can_sleep;\n\tlong unsigned int (*read_reg)(void *);\n\tvoid (*write_reg)(void *, long unsigned int);\n\tbool be_bits;\n\tvoid *reg_dat;\n\tvoid *reg_set;\n\tvoid *reg_clr;\n\tvoid *reg_dir_out;\n\tvoid *reg_dir_in;\n\tbool bgpio_dir_unreadable;\n\tint bgpio_bits;\n\traw_spinlock_t bgpio_lock;\n\tlong unsigned int bgpio_data;\n\tlong unsigned int bgpio_dir;\n\tstruct gpio_irq_chip irq;\n\tlong unsigned int *valid_mask;\n\tunsigned int of_gpio_n_cells;\n\tint (*of_xlate)(struct gpio_chip *, const struct of_phandle_args *, u32 *);\n};\n\nstruct gpio_chip_guard {\n\tstruct gpio_device *gdev;\n\tstruct gpio_chip *gc;\n\tint idx;\n};\n\ntypedef struct gpio_chip_guard class_gpio_chip_guard_t;\n\nstruct gpio_desc_label;\n\nstruct gpio_desc {\n\tstruct gpio_device *gdev;\n\tlong unsigned int flags;\n\tstruct gpio_desc_label *label;\n\tconst char *name;\n\tunsigned int debounce_period_us;\n};\n\nstruct gpio_desc_label {\n\tstruct callback_head rh;\n\tchar str[0];\n};\n\nstruct gpio_descs {\n\tstruct gpio_array *info;\n\tunsigned int ndescs;\n\tstruct gpio_desc *desc[0];\n};\n\nstruct raw_notifier_head {\n\tstruct notifier_block *head;\n};\n\nstruct gpio_device {\n\tstruct device dev;\n\tstruct cdev chrdev;\n\tint id;\n\tstruct device *mockdev;\n\tstruct module *owner;\n\tstruct gpio_chip *chip;\n\tstruct gpio_desc *descs;\n\tstruct srcu_struct desc_srcu;\n\tunsigned int base;\n\tu16 ngpio;\n\tbool can_sleep;\n\tconst char *label;\n\tvoid *data;\n\tstruct list_head list;\n\tstruct raw_notifier_head line_state_notifier;\n\trwlock_t line_state_lock;\n\tstruct workqueue_struct *line_state_wq;\n\tstruct blocking_notifier_head device_notifier;\n\tstruct srcu_struct srcu;\n\tstruct list_head pin_ranges;\n};\n\nstruct irq_fwspec {\n\tstruct fwnode_handle *fwnode;\n\tint param_count;\n\tu32 param[16];\n};\n\nstruct msi_desc;\n\nstruct msi_alloc_info {\n\tstruct msi_desc *desc;\n\tirq_hw_number_t hwirq;\n\tlong unsigned int flags;\n\tunion {\n\t\tlong unsigned int ul;\n\t\tvoid *ptr;\n\t} scratchpad[2];\n};\n\ntypedef struct msi_alloc_info msi_alloc_info_t;\n\nunion gpio_irq_fwspec {\n\tstruct irq_fwspec fwspec;\n\tmsi_alloc_info_t msiinfo;\n};\n\nstruct pinctrl_gpio_range {\n\tstruct list_head node;\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int base;\n\tunsigned int pin_base;\n\tunsigned int npins;\n\tconst unsigned int *pins;\n\tstruct gpio_chip *gc;\n};\n\nstruct pinctrl_dev;\n\nstruct gpio_pin_range {\n\tstruct list_head node;\n\tstruct pinctrl_dev *pctldev;\n\tstruct pinctrl_gpio_range range;\n};\n\nstruct gpio_v2_line_config_attribute {\n\tstruct gpio_v2_line_attribute attr;\n\t__u64 mask;\n};\n\nstruct gpio_v2_line_config {\n\t__u64 flags;\n\t__u32 num_attrs;\n\t__u32 padding[5];\n\tstruct gpio_v2_line_config_attribute attrs[10];\n};\n\nstruct gpio_v2_line_event {\n\t__u64 timestamp_ns;\n\t__u32 id;\n\t__u32 offset;\n\t__u32 seqno;\n\t__u32 line_seqno;\n\t__u32 padding[6];\n};\n\nstruct gpio_v2_line_request {\n\t__u32 offsets[64];\n\tchar consumer[32];\n\tstruct gpio_v2_line_config config;\n\t__u32 num_lines;\n\t__u32 event_buffer_size;\n\t__u32 padding[5];\n\t__s32 fd;\n};\n\nstruct gpio_v2_line_values {\n\t__u64 bits;\n\t__u64 mask;\n};\n\nstruct gpiochip_info {\n\tchar name[32];\n\tchar label[32];\n\t__u32 lines;\n};\n\nstruct gpiod_data {\n\tstruct gpio_desc *desc;\n\tstruct mutex mutex;\n\tstruct kernfs_node *value_kn;\n\tint irq;\n\tunsigned char irq_flags;\n\tbool direction_can_change;\n};\n\nstruct gpiod_hog {\n\tstruct list_head list;\n\tconst char *chip_label;\n\tu16 chip_hwnum;\n\tconst char *line_name;\n\tlong unsigned int lflags;\n\tint dflags;\n};\n\nstruct gpiod_lookup {\n\tconst char *key;\n\tu16 chip_hwnum;\n\tconst char *con_id;\n\tunsigned int idx;\n\tlong unsigned int flags;\n};\n\nstruct gpiod_lookup_table {\n\tstruct list_head list;\n\tconst char *dev_id;\n\tstruct gpiod_lookup table[0];\n};\n\nstruct gpioevent_data {\n\t__u64 timestamp;\n\t__u32 id;\n};\n\nstruct gpioevent_request {\n\t__u32 lineoffset;\n\t__u32 handleflags;\n\t__u32 eventflags;\n\tchar consumer_label[32];\n\tint fd;\n};\n\nstruct gpiohandle_config {\n\t__u32 flags;\n\t__u8 default_values[64];\n\t__u32 padding[4];\n};\n\nstruct gpiohandle_data {\n\t__u8 values[64];\n};\n\nstruct gpiohandle_request {\n\t__u32 lineoffsets[64];\n\t__u32 flags;\n\t__u8 default_values[64];\n\tchar consumer_label[32];\n\t__u32 lines;\n\tint fd;\n};\n\nstruct gpiolib_seq_priv {\n\tbool newline;\n\tint idx;\n};\n\nstruct gpioline_info {\n\t__u32 line_offset;\n\t__u32 flags;\n\tchar name[32];\n\tchar consumer[32];\n};\n\nstruct gpioline_info_changed {\n\tstruct gpioline_info info;\n\t__u64 timestamp;\n\t__u32 event_type;\n\t__u32 padding[5];\n};\n\nstruct gre_base_hdr {\n\t__be16 flags;\n\t__be16 protocol;\n};\n\nstruct gre_full_hdr {\n\tstruct gre_base_hdr fixed_header;\n\t__be16 csum;\n\t__be16 reserved1;\n\t__be32 key;\n\t__be32 seq;\n};\n\nstruct gro_cell {\n\tstruct sk_buff_head napi_skbs;\n\tstruct napi_struct napi;\n};\n\nstruct gro_cells {\n\tstruct gro_cell *cells;\n};\n\nstruct gro_remcsum {\n\tint offset;\n\t__wsum delta;\n};\n\nstruct group_device {\n\tstruct list_head list;\n\tstruct device *dev;\n\tchar *name;\n};\n\nstruct group_filter {\n\tunion {\n\t\tstruct {\n\t\t\t__u32 gf_interface_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_group_aux;\n\t\t\t__u32 gf_fmode_aux;\n\t\t\t__u32 gf_numsrc_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist[1];\n\t\t};\n\t\tstruct {\n\t\t\t__u32 gf_interface;\n\t\t\tstruct __kernel_sockaddr_storage gf_group;\n\t\t\t__u32 gf_fmode;\n\t\t\t__u32 gf_numsrc;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist_flex[0];\n\t\t};\n\t};\n};\n\nstruct group_for_pci_data {\n\tstruct pci_dev *pdev;\n\tstruct iommu_group *group;\n};\n\nstruct group_info {\n\trefcount_t usage;\n\tint ngroups;\n\tkgid_t gid[0];\n};\n\nstruct group_req {\n\t__u32 gr_interface;\n\tstruct __kernel_sockaddr_storage gr_group;\n};\n\nstruct group_source_req {\n\t__u32 gsr_interface;\n\tstruct __kernel_sockaddr_storage gsr_group;\n\tstruct __kernel_sockaddr_storage gsr_source;\n};\n\nstruct gsb_buffer {\n\tu8 status;\n\tu8 len;\n\tunion {\n\t\tu16 wdata;\n\t\tu8 bdata;\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\tu8 data[0];\n\t\t};\n\t};\n};\n\nstruct rpc_clnt;\n\nstruct rpc_pipe_ops;\n\nstruct gss_alloc_pdo {\n\tstruct rpc_clnt *clnt;\n\tconst char *name;\n\tconst struct rpc_pipe_ops *upcall_ops;\n};\n\nstruct rpcsec_gss_oid {\n\tunsigned int len;\n\tu8 data[32];\n};\n\nstruct gss_api_ops;\n\nstruct pf_desc;\n\nstruct gss_api_mech {\n\tstruct list_head gm_list;\n\tstruct module *gm_owner;\n\tstruct rpcsec_gss_oid gm_oid;\n\tchar *gm_name;\n\tconst struct gss_api_ops *gm_ops;\n\tint gm_pf_num;\n\tstruct pf_desc *gm_pfs;\n\tconst char *gm_upcall_enctypes;\n};\n\nstruct gss_ctx;\n\nstruct xdr_netobj;\n\nstruct gss_api_ops {\n\tint (*gss_import_sec_context)(const void *, size_t, struct gss_ctx *, time64_t *, gfp_t);\n\tu32 (*gss_get_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*gss_verify_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*gss_wrap)(struct gss_ctx *, int, struct xdr_buf *, struct page **);\n\tu32 (*gss_unwrap)(struct gss_ctx *, int, int, struct xdr_buf *);\n\tvoid (*gss_delete_sec_context)(void *);\n};\n\nstruct rpc_authops;\n\nstruct rpc_cred_cache;\n\nstruct rpc_auth {\n\tunsigned int au_cslack;\n\tunsigned int au_rslack;\n\tunsigned int au_verfsize;\n\tunsigned int au_ralign;\n\tlong unsigned int au_flags;\n\tconst struct rpc_authops *au_ops;\n\trpc_authflavor_t au_flavor;\n\trefcount_t au_count;\n\tstruct rpc_cred_cache *au_credcache;\n};\n\nstruct gss_pipe;\n\nstruct gss_auth {\n\tstruct kref kref;\n\tstruct hlist_node hash;\n\tstruct rpc_auth rpc_auth;\n\tstruct gss_api_mech *mech;\n\tenum rpc_gss_svc service;\n\tstruct rpc_clnt *client;\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n\tstruct gss_pipe *gss_pipe[2];\n\tconst char *target_name;\n};\n\nstruct xdr_netobj {\n\tunsigned int len;\n\tu8 *data;\n};\n\nstruct gss_cl_ctx {\n\trefcount_t count;\n\tenum rpc_gss_proc gc_proc;\n\tu32 gc_seq;\n\tu32 gc_seq_xmit;\n\tspinlock_t gc_seq_lock;\n\tstruct gss_ctx *gc_gss_ctx;\n\tstruct xdr_netobj gc_wire_ctx;\n\tstruct xdr_netobj gc_acceptor;\n\tu32 gc_win;\n\tlong unsigned int gc_expiry;\n\tstruct callback_head gc_rcu;\n};\n\nstruct rpc_credops;\n\nstruct rpc_cred {\n\tstruct hlist_node cr_hash;\n\tstruct list_head cr_lru;\n\tstruct callback_head cr_rcu;\n\tstruct rpc_auth *cr_auth;\n\tconst struct rpc_credops *cr_ops;\n\tlong unsigned int cr_expire;\n\tlong unsigned int cr_flags;\n\trefcount_t cr_count;\n\tconst struct cred *cr_cred;\n};\n\nstruct gss_upcall_msg;\n\nstruct gss_cred {\n\tstruct rpc_cred gc_base;\n\tenum rpc_gss_svc gc_service;\n\tstruct gss_cl_ctx *gc_ctx;\n\tstruct gss_upcall_msg *gc_upcall;\n\tconst char *gc_principal;\n\tlong unsigned int gc_upcall_timestamp;\n};\n\nstruct gss_ctx {\n\tstruct gss_api_mech *mech_type;\n\tvoid *internal_ctx_id;\n\tunsigned int slack;\n\tunsigned int align;\n};\n\nstruct gss_domain {\n\tstruct auth_domain h;\n\tu32 pseudoflavor;\n};\n\nstruct krb5_ctx;\n\nstruct gss_krb5_enctype {\n\tconst u32 etype;\n\tconst u32 ctype;\n\tconst char *name;\n\tconst char *encrypt_name;\n\tconst char *aux_cipher;\n\tconst char *cksum_name;\n\tconst u16 signalg;\n\tconst u16 sealalg;\n\tconst u32 cksumlength;\n\tconst u32 keyed_cksum;\n\tconst u32 keybytes;\n\tconst u32 keylength;\n\tconst u32 Kc_length;\n\tconst u32 Ke_length;\n\tconst u32 Ki_length;\n\tint (*derive_key)(const struct gss_krb5_enctype *, const struct xdr_netobj *, struct xdr_netobj *, const struct xdr_netobj *, gfp_t);\n\tu32 (*encrypt)(struct krb5_ctx *, u32, struct xdr_buf *, struct page **);\n\tu32 (*decrypt)(struct krb5_ctx *, u32, u32, struct xdr_buf *, u32 *, u32 *);\n\tu32 (*get_mic)(struct krb5_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*verify_mic)(struct krb5_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*wrap)(struct krb5_ctx *, int, struct xdr_buf *, struct page **);\n\tu32 (*unwrap)(struct krb5_ctx *, int, int, struct xdr_buf *, unsigned int *, unsigned int *);\n};\n\nstruct rpc_pipe_dir_object_ops;\n\nstruct rpc_pipe_dir_object {\n\tstruct list_head pdo_head;\n\tconst struct rpc_pipe_dir_object_ops *pdo_ops;\n\tvoid *pdo_data;\n};\n\nstruct gss_pipe {\n\tstruct rpc_pipe_dir_object pdo;\n\tstruct rpc_pipe *pipe;\n\tstruct rpc_clnt *clnt;\n\tconst char *name;\n\tstruct kref kref;\n};\n\nstruct rpc_gss_wire_cred {\n\tu32 gc_v;\n\tu32 gc_proc;\n\tu32 gc_seq;\n\tu32 gc_svc;\n\tstruct xdr_netobj gc_ctx;\n};\n\nstruct rsc;\n\nstruct gss_svc_data {\n\tstruct rpc_gss_wire_cred clcred;\n\tu32 gsd_databody_offset;\n\tstruct rsc *rsci;\n\t__be32 gsd_seq_num;\n\tu8 gsd_scratch[40];\n};\n\nstruct gss_svc_seq_data {\n\tu32 sd_max;\n\tlong unsigned int sd_win[2];\n\tspinlock_t sd_lock;\n};\n\nstruct rpc_timer {\n\tstruct list_head list;\n\tlong unsigned int expires;\n\tstruct delayed_work dwork;\n};\n\nstruct rpc_wait_queue {\n\tspinlock_t lock;\n\tstruct list_head tasks[4];\n\tunsigned char maxpriority;\n\tunsigned char priority;\n\tunsigned char nr;\n\tunsigned int qlen;\n\tstruct rpc_timer timer_list;\n\tconst char *name;\n};\n\nstruct gss_upcall_msg {\n\trefcount_t count;\n\tkuid_t uid;\n\tconst char *service_name;\n\tstruct rpc_pipe_msg msg;\n\tstruct list_head list;\n\tstruct gss_auth *auth;\n\tstruct rpc_pipe *pipe;\n\tstruct rpc_wait_queue rpc_waitqueue;\n\twait_queue_head_t waitqueue;\n\tstruct gss_cl_ctx *ctx;\n\tchar databuf[256];\n};\n\nstruct gssp_in_token {\n\tstruct page **pages;\n\tunsigned int page_base;\n\tunsigned int page_len;\n};\n\nstruct svc_cred {\n\tkuid_t cr_uid;\n\tkgid_t cr_gid;\n\tstruct group_info *cr_group_info;\n\tu32 cr_flavor;\n\tchar *cr_raw_principal;\n\tchar *cr_principal;\n\tchar *cr_targ_princ;\n\tstruct gss_api_mech *cr_gss_mech;\n};\n\nstruct gssp_upcall_data {\n\tstruct xdr_netobj in_handle;\n\tstruct gssp_in_token in_token;\n\tstruct xdr_netobj out_handle;\n\tstruct xdr_netobj out_token;\n\tstruct rpcsec_gss_oid mech_oid;\n\tstruct svc_cred creds;\n\tint found_creds;\n\tint major_status;\n\tint minor_status;\n};\n\ntypedef struct xdr_netobj utf8string;\n\ntypedef struct xdr_netobj gssx_buffer;\n\nstruct gssx_option;\n\nstruct gssx_option_array {\n\tu32 count;\n\tstruct gssx_option *data;\n};\n\nstruct gssx_call_ctx {\n\tutf8string locale;\n\tgssx_buffer server_ctx;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_ctx;\n\nstruct gssx_cred;\n\nstruct gssx_cb;\n\nstruct gssx_arg_accept_sec_context {\n\tstruct gssx_call_ctx call_ctx;\n\tstruct gssx_ctx *context_handle;\n\tstruct gssx_cred *cred_handle;\n\tstruct gssp_in_token input_token;\n\tstruct gssx_cb *input_cb;\n\tu32 ret_deleg_cred;\n\tstruct gssx_option_array options;\n\tstruct page **pages;\n\tunsigned int npages;\n};\n\nstruct gssx_cb {\n\tu64 initiator_addrtype;\n\tgssx_buffer initiator_address;\n\tu64 acceptor_addrtype;\n\tgssx_buffer acceptor_address;\n\tgssx_buffer application_data;\n};\n\nstruct gssx_name {\n\tgssx_buffer display_name;\n};\n\ntypedef struct gssx_name gssx_name;\n\nstruct gssx_cred_element;\n\nstruct gssx_cred_element_array {\n\tu32 count;\n\tstruct gssx_cred_element *data;\n};\n\nstruct gssx_cred {\n\tgssx_name desired_name;\n\tstruct gssx_cred_element_array elements;\n\tgssx_buffer cred_handle_reference;\n\tu32 needs_release;\n};\n\ntypedef struct xdr_netobj gssx_OID;\n\nstruct gssx_cred_element {\n\tgssx_name MN;\n\tgssx_OID mech;\n\tu32 cred_usage;\n\tu64 initiator_time_rec;\n\tu64 acceptor_time_rec;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_ctx {\n\tgssx_buffer exported_context_token;\n\tgssx_buffer state;\n\tu32 need_release;\n\tgssx_OID mech;\n\tgssx_name src_name;\n\tgssx_name targ_name;\n\tu64 lifetime;\n\tu64 ctx_flags;\n\tu32 locally_initiated;\n\tu32 open;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_name_attr {\n\tgssx_buffer attr;\n\tgssx_buffer value;\n\tstruct gssx_option_array extensions;\n};\n\nstruct gssx_name_attr_array {\n\tu32 count;\n\tstruct gssx_name_attr *data;\n};\n\nstruct gssx_option {\n\tgssx_buffer option;\n\tgssx_buffer value;\n};\n\nstruct gssx_status {\n\tu64 major_status;\n\tgssx_OID mech;\n\tu64 minor_status;\n\tutf8string major_status_string;\n\tutf8string minor_status_string;\n\tgssx_buffer server_ctx;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_res_accept_sec_context {\n\tstruct gssx_status status;\n\tstruct gssx_ctx *context_handle;\n\tgssx_buffer *output_token;\n\tstruct gssx_option_array options;\n};\n\nstruct scfg_guts;\n\nstruct guts {\n\tstruct scfg_guts *regs;\n\tbool little_endian;\n};\n\nunion handle_parts {\n\tdepot_stack_handle_t handle;\n\tstruct {\n\t\tu32 pool_index_plus_1: 15;\n\t\tu32 offset: 12;\n\t\tu32 extra: 5;\n\t};\n};\n\nstruct handle_to_path_ctx {\n\tstruct path root;\n\tenum handle_to_path_flags flags;\n\tunsigned int fh_flags;\n};\n\nstruct handshake_net {\n\tspinlock_t hn_lock;\n\tint hn_pending;\n\tint hn_pending_max;\n\tstruct list_head hn_requests;\n\tlong unsigned int hn_flags;\n};\n\nstruct handshake_req;\n\nstruct handshake_proto {\n\tint hp_handler_class;\n\tsize_t hp_privsize;\n\tlong unsigned int hp_flags;\n\tint (*hp_accept)(struct handshake_req *, struct genl_info *, int);\n\tvoid (*hp_done)(struct handshake_req *, unsigned int, struct genl_info *);\n\tvoid (*hp_destroy)(struct handshake_req *);\n};\n\nstruct handshake_req {\n\tstruct list_head hr_list;\n\tstruct rhash_head hr_rhash;\n\tlong unsigned int hr_flags;\n\tconst struct handshake_proto *hr_proto;\n\tstruct sock *hr_sk;\n\tvoid (*hr_odestruct)(struct sock *);\n\tchar hr_priv[0];\n};\n\nstruct hash {\n\tint ino;\n\tint minor;\n\tint major;\n\tumode_t mode;\n\tstruct hash *next;\n\tchar name[4098];\n};\n\nstruct hash_cell {\n\tstruct rb_node name_node;\n\tstruct rb_node uuid_node;\n\tbool name_set;\n\tbool uuid_set;\n\tchar *name;\n\tchar *uuid;\n\tstruct mapped_device *md;\n\tstruct dm_table *new_map;\n};\n\nstruct hash_prefix {\n\tconst char *name;\n\tconst u8 *data;\n\tsize_t size;\n};\n\nstruct hash_testvec {\n\tconst char *key;\n\tconst char *plaintext;\n\tconst char *digest;\n\tunsigned int psize;\n\tshort unsigned int ksize;\n\tint setkey_error;\n\tint digest_error;\n\tbool fips_skip;\n};\n\nstruct hashtab_key_params {\n\tu32 (*hash)(const void *);\n\tint (*cmp)(const void *, const void *);\n};\n\nstruct hashtab_node {\n\tvoid *key;\n\tvoid *datum;\n\tstruct hashtab_node *next;\n};\n\nstruct phy_tuning {\n\tu8 trans_emp_en: 1;\n\tu8 trans_emp_amp: 4;\n\tu8 Reserved_2bit_1: 3;\n\tu8 trans_amp: 5;\n\tu8 trans_amp_adj: 2;\n\tu8 resv_2bit_2: 1;\n\tu8 reserved[2];\n};\n\nstruct hba_info_page {\n\tu8 signature[4];\n\tu32 reserved1[13];\n\tu64 sas_addr[8];\n\tstruct ffe_control ffe_ctl[8];\n\tu32 reserved2[12];\n\tu8 phy_rate[8];\n\tstruct phy_tuning phy_tuning[8];\n\tu32 reserved3[10];\n};\n\nstruct hba_port {\n\tstruct list_head list;\n\tu64 sas_address;\n\tu32 phy_mask;\n\tu8 port_id;\n\tu8 flags;\n\tu32 vphys_mask;\n\tstruct list_head vphys_list;\n};\n\nstruct hc_driver {\n\tconst char *description;\n\tconst char *product_desc;\n\tsize_t hcd_priv_size;\n\tirqreturn_t (*irq)(struct usb_hcd *);\n\tint flags;\n\tint (*reset)(struct usb_hcd *);\n\tint (*start)(struct usb_hcd *);\n\tint (*pci_suspend)(struct usb_hcd *, bool);\n\tint (*pci_resume)(struct usb_hcd *, pm_message_t);\n\tint (*pci_poweroff_late)(struct usb_hcd *, bool);\n\tvoid (*stop)(struct usb_hcd *);\n\tvoid (*shutdown)(struct usb_hcd *);\n\tint (*get_frame_number)(struct usb_hcd *);\n\tint (*urb_enqueue)(struct usb_hcd *, struct urb *, gfp_t);\n\tint (*urb_dequeue)(struct usb_hcd *, struct urb *, int);\n\tint (*map_urb_for_dma)(struct usb_hcd *, struct urb *, gfp_t);\n\tvoid (*unmap_urb_for_dma)(struct usb_hcd *, struct urb *);\n\tvoid (*endpoint_disable)(struct usb_hcd *, struct usb_host_endpoint *);\n\tvoid (*endpoint_reset)(struct usb_hcd *, struct usb_host_endpoint *);\n\tint (*hub_status_data)(struct usb_hcd *, char *);\n\tint (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16);\n\tint (*bus_suspend)(struct usb_hcd *);\n\tint (*bus_resume)(struct usb_hcd *);\n\tint (*start_port_reset)(struct usb_hcd *, unsigned int);\n\tlong unsigned int (*get_resuming_ports)(struct usb_hcd *);\n\tvoid (*relinquish_port)(struct usb_hcd *, int);\n\tint (*port_handed_over)(struct usb_hcd *, int);\n\tvoid (*clear_tt_buffer_complete)(struct usb_hcd *, struct usb_host_endpoint *);\n\tint (*alloc_dev)(struct usb_hcd *, struct usb_device *);\n\tvoid (*free_dev)(struct usb_hcd *, struct usb_device *);\n\tint (*alloc_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, unsigned int, gfp_t);\n\tint (*free_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, gfp_t);\n\tint (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*check_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tvoid (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tint (*address_device)(struct usb_hcd *, struct usb_device *, unsigned int);\n\tint (*enable_device)(struct usb_hcd *, struct usb_device *);\n\tint (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t);\n\tint (*reset_device)(struct usb_hcd *, struct usb_device *);\n\tint (*update_device)(struct usb_hcd *, struct usb_device *);\n\tint (*set_usb2_hw_lpm)(struct usb_hcd *, struct usb_device *, int);\n\tint (*enable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state);\n\tint (*disable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state);\n\tint (*find_raw_port_number)(struct usb_hcd *, int);\n\tint (*port_power)(struct usb_hcd *, int, bool);\n\tint (*submit_single_step_set_feature)(struct usb_hcd *, struct urb *, int);\n};\n\nstruct hd_geometry {\n\tunsigned char heads;\n\tunsigned char sectors;\n\tshort unsigned int cylinders;\n\tlong unsigned int start;\n};\n\nstruct hda_alc298_mbxinit {\n\tunsigned char value_0x23;\n\tunsigned char value_0x25;\n};\n\nstruct hda_amp_list {\n\thda_nid_t nid;\n\tunsigned char dir;\n\tunsigned char idx;\n};\n\nstruct hda_beep {\n\tstruct input_dev *dev;\n\tstruct hda_codec *codec;\n\tchar phys[32];\n\tint tone;\n\thda_nid_t nid;\n\tunsigned int registered: 1;\n\tunsigned int enabled: 1;\n\tunsigned int linear_tone: 1;\n\tunsigned int playing: 1;\n\tunsigned int keep_power_at_enable: 1;\n\tstruct work_struct beep_work;\n\tvoid (*power_hook)(struct hda_beep *, bool);\n};\n\nstruct hdac_widget_tree;\n\nstruct hdac_device {\n\tstruct device dev;\n\tint type;\n\tstruct hdac_bus *bus;\n\tunsigned int addr;\n\tstruct list_head list;\n\thda_nid_t afg;\n\thda_nid_t mfg;\n\tunsigned int vendor_id;\n\tunsigned int subsystem_id;\n\tunsigned int revision_id;\n\tunsigned int afg_function_id;\n\tunsigned int mfg_function_id;\n\tunsigned int afg_unsol: 1;\n\tunsigned int mfg_unsol: 1;\n\tunsigned int power_caps;\n\tconst char *vendor_name;\n\tconst char *chip_name;\n\tint (*exec_verb)(struct hdac_device *, unsigned int, unsigned int, unsigned int *);\n\tunsigned int num_nodes;\n\thda_nid_t start_nid;\n\thda_nid_t end_nid;\n\tatomic_t in_pm;\n\tstruct mutex widget_lock;\n\tstruct hdac_widget_tree *widgets;\n\tstruct regmap *regmap;\n\tstruct mutex regmap_lock;\n\tstruct snd_array vendor_verbs;\n\tbool lazy_cache: 1;\n\tbool caps_overwriting: 1;\n\tbool cache_coef: 1;\n\tunsigned int registered: 1;\n};\n\nstruct hda_codec_ops {\n\tint (*build_controls)(struct hda_codec *);\n\tint (*build_pcms)(struct hda_codec *);\n\tint (*init)(struct hda_codec *);\n\tvoid (*free)(struct hda_codec *);\n\tvoid (*unsol_event)(struct hda_codec *, unsigned int);\n\tvoid (*set_power_state)(struct hda_codec *, hda_nid_t, unsigned int);\n\tint (*suspend)(struct hda_codec *);\n\tint (*resume)(struct hda_codec *);\n\tint (*check_power_status)(struct hda_codec *, hda_nid_t);\n\tvoid (*stream_pm)(struct hda_codec *, hda_nid_t, bool);\n};\n\nstruct hda_device_id;\n\nstruct snd_hwdep;\n\nstruct snd_info_buffer;\n\nstruct hda_fixup;\n\nstruct hda_codec {\n\tstruct hdac_device core;\n\tstruct hda_bus *bus;\n\tstruct snd_card *card;\n\tunsigned int addr;\n\tu32 probe_id;\n\tconst struct hda_device_id *preset;\n\tconst char *modelname;\n\tstruct hda_codec_ops patch_ops;\n\tstruct list_head pcm_list_head;\n\trefcount_t pcm_ref;\n\twait_queue_head_t remove_sleep;\n\tvoid *spec;\n\tstruct hda_beep *beep;\n\tunsigned int beep_mode;\n\tu32 *wcaps;\n\tstruct snd_array mixers;\n\tstruct snd_array nids;\n\tstruct list_head conn_list;\n\tstruct mutex spdif_mutex;\n\tstruct mutex control_mutex;\n\tstruct snd_array spdif_out;\n\tunsigned int spdif_in_enable;\n\tconst hda_nid_t *follower_dig_outs;\n\tstruct snd_array init_pins;\n\tstruct snd_array driver_pins;\n\tstruct snd_array cvt_setups;\n\tstruct mutex user_mutex;\n\tstruct snd_array init_verbs;\n\tstruct snd_array hints;\n\tstruct snd_array user_pins;\n\tstruct snd_hwdep *hwdep;\n\tunsigned int configured: 1;\n\tunsigned int in_freeing: 1;\n\tunsigned int display_power_control: 1;\n\tunsigned int spdif_status_reset: 1;\n\tunsigned int pin_amp_workaround: 1;\n\tunsigned int single_adc_amp: 1;\n\tunsigned int no_sticky_stream: 1;\n\tunsigned int pins_shutup: 1;\n\tunsigned int no_trigger_sense: 1;\n\tunsigned int no_jack_detect: 1;\n\tunsigned int inv_eapd: 1;\n\tunsigned int inv_jack_detect: 1;\n\tunsigned int pcm_format_first: 1;\n\tunsigned int cached_write: 1;\n\tunsigned int dp_mst: 1;\n\tunsigned int dump_coef: 1;\n\tunsigned int power_save_node: 1;\n\tunsigned int auto_runtime_pm: 1;\n\tunsigned int force_pin_prefix: 1;\n\tunsigned int link_down_at_suspend: 1;\n\tunsigned int relaxed_resume: 1;\n\tunsigned int forced_resume: 1;\n\tunsigned int no_stream_clean_at_suspend: 1;\n\tunsigned int ctl_dev_id: 1;\n\tlong unsigned int power_on_acct;\n\tlong unsigned int power_off_acct;\n\tlong unsigned int power_jiffies;\n\tunsigned int (*power_filter)(struct hda_codec *, hda_nid_t, unsigned int);\n\tvoid (*proc_widget_hook)(struct snd_info_buffer *, struct hda_codec *, hda_nid_t);\n\tstruct snd_array jacktbl;\n\tlong unsigned int jackpoll_interval;\n\tstruct delayed_work jackpoll_work;\n\tint depop_delay;\n\tint fixup_id;\n\tconst struct hda_fixup *fixup_list;\n\tconst char *fixup_name;\n\tstruct snd_array verbs;\n};\n\nstruct hdac_driver {\n\tstruct device_driver driver;\n\tint type;\n\tconst struct hda_device_id *id_table;\n\tint (*match)(struct hdac_device *, struct hdac_driver *);\n\tvoid (*unsol_event)(struct hdac_device *, unsigned int);\n\tint (*probe)(struct hdac_device *);\n\tint (*remove)(struct hdac_device *);\n\tvoid (*shutdown)(struct hdac_device *);\n};\n\nstruct hda_codec_driver {\n\tstruct hdac_driver core;\n\tconst struct hda_device_id *id;\n};\n\nstruct hda_conn_list {\n\tstruct list_head list;\n\tint len;\n\thda_nid_t nid;\n\thda_nid_t conns[0];\n};\n\nstruct hda_controller_ops {\n\tint (*disable_msi_reset_irq)(struct azx *);\n\tint (*position_check)(struct azx *, struct azx_dev *);\n\tint (*link_power)(struct azx *, bool);\n};\n\nstruct hda_cvt_setup {\n\thda_nid_t nid;\n\tu8 stream_tag;\n\tu8 channel_id;\n\tu16 format_id;\n\tunsigned char active;\n\tunsigned char dirty;\n};\n\nstruct hda_device_id {\n\t__u32 vendor_id;\n\t__u32 rev_id;\n\t__u8 api_version;\n\tconst char *name;\n\tlong unsigned int driver_data;\n};\n\nstruct hda_pintbl;\n\nstruct hda_verb;\n\nstruct hda_fixup {\n\tint type;\n\tbool chained: 1;\n\tbool chained_before: 1;\n\tint chain_id;\n\tunion {\n\t\tconst struct hda_pintbl *pins;\n\t\tconst struct hda_verb *verbs;\n\t\tvoid (*func)(struct hda_codec *, const struct hda_fixup *, int);\n\t} v;\n};\n\nstruct hda_hint {\n\tconst char *key;\n\tconst char *val;\n};\n\nstruct hda_intel {\n\tstruct azx chip;\n\tstruct work_struct irq_pending_work;\n\tstruct completion probe_wait;\n\tstruct delayed_work probe_work;\n\tstruct list_head list;\n\tunsigned int irq_pending_warned: 1;\n\tunsigned int probe_continued: 1;\n\tunsigned int runtime_pm_disabled: 1;\n\tunsigned int use_vga_switcheroo: 1;\n\tunsigned int vga_switcheroo_registered: 1;\n\tunsigned int init_failed: 1;\n\tunsigned int freed: 1;\n\tbool need_i915_power: 1;\n\tint probe_retry;\n};\n\ntypedef void (*hda_jack_callback_fn)(struct hda_codec *, struct hda_jack_callback *);\n\nstruct hda_jack_tbl;\n\nstruct hda_jack_callback {\n\thda_nid_t nid;\n\tint dev_id;\n\thda_jack_callback_fn func;\n\tunsigned int private_data;\n\tunsigned int unsol_res;\n\tstruct hda_jack_tbl *jack;\n\tstruct hda_jack_callback *next;\n};\n\nstruct hda_jack_keymap {\n\tenum snd_jack_types type;\n\tint key;\n};\n\nstruct snd_jack;\n\nstruct hda_jack_tbl {\n\thda_nid_t nid;\n\tint dev_id;\n\tunsigned char tag;\n\tstruct hda_jack_callback *callback;\n\tunsigned int pin_sense;\n\tunsigned int jack_detect: 1;\n\tunsigned int jack_dirty: 1;\n\tunsigned int phantom_jack: 1;\n\tunsigned int block_report: 1;\n\thda_nid_t gating_jack;\n\thda_nid_t gated_jack;\n\thda_nid_t key_report_jack;\n\tint type;\n\tint button_state;\n\tstruct snd_jack *jack;\n};\n\nstruct hda_model_fixup {\n\tconst int id;\n\tconst char *name;\n};\n\nstruct hda_nid_item {\n\tstruct snd_kcontrol *kctl;\n\tunsigned int index;\n\thda_nid_t nid;\n\tshort unsigned int flags;\n};\n\nstruct hda_patch_item {\n\tconst char *tag;\n\tconst char *alias;\n\tvoid (*parser)(char *, struct hda_bus *, struct hda_codec **);\n};\n\nstruct hda_pcm_ops {\n\tint (*open)(struct hda_pcm_stream *, struct hda_codec *, struct snd_pcm_substream *);\n\tint (*close)(struct hda_pcm_stream *, struct hda_codec *, struct snd_pcm_substream *);\n\tint (*prepare)(struct hda_pcm_stream *, struct hda_codec *, unsigned int, unsigned int, struct snd_pcm_substream *);\n\tint (*cleanup)(struct hda_pcm_stream *, struct hda_codec *, struct snd_pcm_substream *);\n\tunsigned int (*get_delay)(struct hda_pcm_stream *, struct hda_codec *, struct snd_pcm_substream *);\n};\n\nstruct snd_pcm_chmap_elem;\n\nstruct hda_pcm_stream {\n\tunsigned int substreams;\n\tunsigned int channels_min;\n\tunsigned int channels_max;\n\thda_nid_t nid;\n\tu32 rates;\n\tu64 formats;\n\tu32 subformats;\n\tunsigned int maxbps;\n\tconst struct snd_pcm_chmap_elem *chmap;\n\tstruct hda_pcm_ops ops;\n};\n\nstruct hda_pcm {\n\tchar *name;\n\tstruct hda_pcm_stream stream[2];\n\tunsigned int pcm_type;\n\tint device;\n\tstruct snd_pcm *pcm;\n\tbool own_chmap;\n\tstruct hda_codec *codec;\n\tstruct list_head list;\n\tunsigned int disconnected: 1;\n};\n\nstruct hda_pincfg {\n\thda_nid_t nid;\n\tunsigned char ctrl;\n\tunsigned char target;\n\tunsigned int cfg;\n};\n\nstruct hda_pintbl {\n\thda_nid_t nid;\n\tu32 val;\n};\n\nstruct hda_quirk {\n\tshort unsigned int subvendor;\n\tshort unsigned int subdevice;\n\tshort unsigned int subdevice_mask;\n\tbool match_codec_ssid;\n\tint value;\n};\n\nstruct hda_rate_tbl {\n\tunsigned int hz;\n\tunsigned int alsa_bits;\n\tunsigned int hda_fmt;\n};\n\nstruct hda_scodec_match {\n\tconst char *bus;\n\tconst char *hid;\n\tconst char *match_str;\n\tint index;\n};\n\nstruct hda_spdif_out {\n\thda_nid_t nid;\n\tunsigned int status;\n\tshort unsigned int ctls;\n};\n\nstruct hda_vendor_id {\n\tunsigned int id;\n\tconst char *name;\n};\n\nstruct hda_verb {\n\thda_nid_t nid;\n\tu32 verb;\n\tu32 param;\n};\n\nstruct hda_verb_ioctl {\n\tu32 verb;\n\tu32 res;\n};\n\nstruct hdac_bus_ops {\n\tint (*command)(struct hdac_bus *, unsigned int);\n\tint (*get_response)(struct hdac_bus *, unsigned int, unsigned int *);\n\tvoid (*link_power)(struct hdac_device *, bool);\n};\n\nstruct hdac_cea_channel_speaker_allocation {\n\tint ca_index;\n\tint speakers[8];\n\tint channels;\n\tint spk_mask;\n};\n\nstruct hdac_chmap;\n\nstruct hdac_chmap_ops {\n\tint (*chmap_cea_alloc_validate_get_type)(struct hdac_chmap *, struct hdac_cea_channel_speaker_allocation *, int);\n\tvoid (*cea_alloc_to_tlv_chmap)(struct hdac_chmap *, struct hdac_cea_channel_speaker_allocation *, unsigned int *, int);\n\tint (*chmap_validate)(struct hdac_chmap *, int, int, unsigned char *);\n\tint (*get_spk_alloc)(struct hdac_device *, int);\n\tvoid (*get_chmap)(struct hdac_device *, int, unsigned char *);\n\tvoid (*set_chmap)(struct hdac_device *, int, unsigned char *, int);\n\tbool (*is_pcm_attached)(struct hdac_device *, int);\n\tint (*pin_get_slot_channel)(struct hdac_device *, hda_nid_t, int);\n\tint (*pin_set_slot_channel)(struct hdac_device *, hda_nid_t, int, int);\n\tvoid (*set_channel_count)(struct hdac_device *, hda_nid_t, int);\n};\n\nstruct hdac_chmap {\n\tunsigned int channels_max;\n\tstruct hdac_chmap_ops ops;\n\tstruct hdac_device *hdac;\n};\n\nstruct hdac_ext_bus_ops {\n\tint (*hdev_attach)(struct hdac_device *);\n\tint (*hdev_detach)(struct hdac_device *);\n};\n\nstruct hdac_widget_tree {\n\tstruct kobject *root;\n\tstruct kobject *afg;\n\tstruct kobject **nodes;\n};\n\nstruct parsed_hdmi_eld {\n\tint baseline_len;\n\tint eld_ver;\n\tint cea_edid_ver;\n\tchar monitor_name[17];\n\tint manufacture_id;\n\tint product_id;\n\tu64 port_id;\n\tint support_hdcp;\n\tint support_ai;\n\tint conn_type;\n\tint aud_synch_delay;\n\tint spk_alloc;\n\tint sad_count;\n\tstruct cea_sad sad[16];\n};\n\nstruct hdmi_eld {\n\tbool monitor_present;\n\tbool eld_valid;\n\tint eld_size;\n\tchar eld_buffer[256];\n\tstruct parsed_hdmi_eld info;\n};\n\nstruct hdmi_spec_per_pin;\n\nstruct hdmi_ops {\n\tint (*pin_get_eld)(struct hda_codec *, hda_nid_t, int, unsigned char *, int *);\n\tvoid (*pin_setup_infoframe)(struct hda_codec *, hda_nid_t, int, int, int, int);\n\tint (*pin_hbr_setup)(struct hda_codec *, hda_nid_t, int, bool);\n\tint (*setup_stream)(struct hda_codec *, hda_nid_t, hda_nid_t, int, u32, int);\n\tvoid (*pin_cvt_fixup)(struct hda_codec *, struct hdmi_spec_per_pin *, hda_nid_t);\n};\n\nstruct hdmi_pcm {\n\tstruct hda_pcm *pcm;\n\tstruct snd_jack *jack;\n\tstruct snd_kcontrol *eld_ctl;\n};\n\nstruct hdmi_spec {\n\tstruct hda_codec *codec;\n\tint num_cvts;\n\tstruct snd_array cvts;\n\thda_nid_t cvt_nids[4];\n\tint num_pins;\n\tint num_nids;\n\tint dev_num;\n\tstruct snd_array pins;\n\tstruct hdmi_pcm pcm_rec[8];\n\tstruct mutex pcm_lock;\n\tstruct mutex bind_lock;\n\tlong unsigned int pcm_bitmap;\n\tint pcm_used;\n\tlong unsigned int pcm_in_use;\n\tstruct hdmi_eld temp_eld;\n\tstruct hdmi_ops ops;\n\tbool dyn_pin_out;\n\tbool static_pcm_mapping;\n\tbool hdmi_intr_trig_ctrl;\n\tbool nv_dp_workaround;\n\tbool intel_hsw_fixup;\n\tstruct hda_multi_out multiout;\n\tstruct hda_pcm_stream pcm_playback;\n\tbool use_acomp_notifier;\n\tbool acomp_registered;\n\tbool force_connect;\n\tstruct drm_audio_component_audio_ops drm_audio_ops;\n\tint (*port2pin)(struct hda_codec *, int);\n\tstruct hdac_chmap chmap;\n\thda_nid_t vendor_nid;\n\tconst int *port_map;\n\tint port_num;\n\tint silent_stream_type;\n};\n\nstruct hdmi_spec_per_cvt {\n\thda_nid_t cvt_nid;\n\tbool assigned;\n\tbool silent_stream;\n\tunsigned int channels_min;\n\tunsigned int channels_max;\n\tu32 rates;\n\tu64 formats;\n\tunsigned int maxbps;\n};\n\nstruct snd_info_entry;\n\nstruct hdmi_spec_per_pin {\n\thda_nid_t pin_nid;\n\tint dev_id;\n\tint pin_nid_idx;\n\tint num_mux_nids;\n\thda_nid_t mux_nids[32];\n\tint mux_idx;\n\thda_nid_t cvt_nid;\n\tstruct hda_codec *codec;\n\tstruct hdmi_eld sink_eld;\n\tstruct mutex lock;\n\tstruct delayed_work work;\n\tstruct hdmi_pcm *pcm;\n\tint pcm_idx;\n\tint prev_pcm_idx;\n\tint repoll_count;\n\tbool setup;\n\tbool silent_stream;\n\tint channels;\n\tbool non_pcm;\n\tbool chmap_set;\n\tunsigned char chmap[8];\n\tstruct snd_info_entry *proc_entry;\n};\n\nstruct hh_cache;\n\nstruct header_ops {\n\tint (*create)(struct sk_buff *, struct net_device *, short unsigned int, const void *, const void *, unsigned int);\n\tint (*parse)(const struct sk_buff *, unsigned char *);\n\tint (*cache)(const struct neighbour *, struct hh_cache *, __be16);\n\tvoid (*cache_update)(struct hh_cache *, const struct net_device *, const unsigned char *);\n\tbool (*validate)(const char *, unsigned int);\n\t__be16 (*parse_protocol)(const struct sk_buff *);\n};\n\nstruct heuristic_ws {\n\tu8 *sample;\n\tu32 sample_size;\n\tstruct bucket_item *bucket;\n\tstruct bucket_item *bucket_b;\n\tstruct list_head list;\n};\n\nstruct hh_cache {\n\tunsigned int hh_len;\n\tseqlock_t hh_lock;\n\tlong unsigned int hh_data[12];\n};\n\nstruct hib_bio_batch {\n\tatomic_t count;\n\twait_queue_head_t wait;\n\tblk_status_t error;\n\tstruct blk_plug plug;\n};\n\nstruct hid_class_descriptor {\n\t__u8 bDescriptorType;\n\t__le16 wDescriptorLength;\n} __attribute__((packed));\n\nstruct hid_collection {\n\tint parent_idx;\n\tunsigned int type;\n\tunsigned int usage;\n\tunsigned int level;\n};\n\nstruct hid_report;\n\nstruct hid_control_fifo {\n\tunsigned char dir;\n\tstruct hid_report *report;\n\tchar *raw_report;\n};\n\nstruct hid_device;\n\nstruct hid_debug_list {\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tchar *type;\n\t\t\tconst char *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tchar *ptr;\n\t\t\tconst char *ptr_const;\n\t\t};\n\t\tchar buf[0];\n\t} hid_debug_fifo;\n\tstruct fasync_struct *fasync;\n\tstruct hid_device *hdev;\n\tstruct list_head node;\n\tstruct mutex read_mutex;\n};\n\nstruct hid_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdHID;\n\t__u8 bCountryCode;\n\t__u8 bNumDescriptors;\n\tstruct hid_class_descriptor desc[1];\n} __attribute__((packed));\n\nstruct hid_report_enum {\n\tunsigned int numbered;\n\tstruct list_head report_list;\n\tstruct hid_report *report_id_hash[256];\n};\n\nstruct hid_driver;\n\nstruct hid_ll_driver;\n\nstruct hid_field;\n\nstruct hid_usage;\n\nstruct hid_device {\n\tconst __u8 *dev_rdesc;\n\tconst __u8 *bpf_rdesc;\n\tconst __u8 *rdesc;\n\tunsigned int dev_rsize;\n\tunsigned int bpf_rsize;\n\tunsigned int rsize;\n\tunsigned int collection_size;\n\tstruct hid_collection *collection;\n\tunsigned int maxcollection;\n\tunsigned int maxapplication;\n\t__u16 bus;\n\t__u16 group;\n\t__u32 vendor;\n\t__u32 product;\n\t__u32 version;\n\tenum hid_type type;\n\tunsigned int country;\n\tstruct hid_report_enum report_enum[3];\n\tstruct work_struct led_work;\n\tstruct semaphore driver_input_lock;\n\tstruct device dev;\n\tstruct hid_driver *driver;\n\tvoid *devres_group_id;\n\tconst struct hid_ll_driver *ll_driver;\n\tstruct mutex ll_open_lock;\n\tunsigned int ll_open_count;\n\tlong unsigned int status;\n\tunsigned int claimed;\n\tunsigned int quirks;\n\tunsigned int initial_quirks;\n\tbool io_started;\n\tstruct list_head inputs;\n\tvoid *hiddev;\n\tvoid *hidraw;\n\tchar name[128];\n\tchar phys[64];\n\tchar uniq[64];\n\tvoid *driver_data;\n\tint (*ff_init)(struct hid_device *);\n\tint (*hiddev_connect)(struct hid_device *, unsigned int);\n\tvoid (*hiddev_disconnect)(struct hid_device *);\n\tvoid (*hiddev_hid_event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);\n\tvoid (*hiddev_report_event)(struct hid_device *, struct hid_report *);\n\tshort unsigned int debug;\n\tstruct dentry *debug_dir;\n\tstruct dentry *debug_rdesc;\n\tstruct dentry *debug_events;\n\tstruct list_head debug_list;\n\tspinlock_t debug_list_lock;\n\twait_queue_head_t debug_wait;\n\tstruct kref ref;\n\tunsigned int id;\n};\n\nstruct hid_device_id {\n\t__u16 bus;\n\t__u16 group;\n\t__u32 vendor;\n\t__u32 product;\n\tkernel_ulong_t driver_data;\n};\n\nstruct hid_report_id;\n\nstruct hid_usage_id;\n\nstruct hid_input;\n\nstruct hid_driver {\n\tchar *name;\n\tconst struct hid_device_id *id_table;\n\tstruct list_head dyn_list;\n\tspinlock_t dyn_lock;\n\tbool (*match)(struct hid_device *, bool);\n\tint (*probe)(struct hid_device *, const struct hid_device_id *);\n\tvoid (*remove)(struct hid_device *);\n\tconst struct hid_report_id *report_table;\n\tint (*raw_event)(struct hid_device *, struct hid_report *, u8 *, int);\n\tconst struct hid_usage_id *usage_table;\n\tint (*event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);\n\tvoid (*report)(struct hid_device *, struct hid_report *);\n\tconst __u8 * (*report_fixup)(struct hid_device *, __u8 *, unsigned int *);\n\tint (*input_mapping)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *);\n\tint (*input_mapped)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *);\n\tint (*input_configured)(struct hid_device *, struct hid_input *);\n\tvoid (*feature_mapping)(struct hid_device *, struct hid_field *, struct hid_usage *);\n\tint (*suspend)(struct hid_device *, pm_message_t);\n\tint (*resume)(struct hid_device *);\n\tint (*reset_resume)(struct hid_device *);\n\tstruct device_driver driver;\n};\n\nstruct hid_dynid {\n\tstruct list_head list;\n\tstruct hid_device_id id;\n};\n\nstruct hid_field {\n\tunsigned int physical;\n\tunsigned int logical;\n\tunsigned int application;\n\tstruct hid_usage *usage;\n\tunsigned int maxusage;\n\tunsigned int flags;\n\tunsigned int report_offset;\n\tunsigned int report_size;\n\tunsigned int report_count;\n\tunsigned int report_type;\n\t__s32 *value;\n\t__s32 *new_value;\n\t__s32 *usages_priorities;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__s32 unit_exponent;\n\tunsigned int unit;\n\tbool ignored;\n\tstruct hid_report *report;\n\tunsigned int index;\n\tstruct hid_input *hidinput;\n\t__u16 dpad;\n\tunsigned int slot_idx;\n};\n\nstruct hid_field_entry {\n\tstruct list_head list;\n\tstruct hid_field *field;\n\tunsigned int index;\n\t__s32 priority;\n};\n\nstruct hid_global {\n\tunsigned int usage_page;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__s32 unit_exponent;\n\tunsigned int unit;\n\tunsigned int report_id;\n\tunsigned int report_size;\n\tunsigned int report_count;\n};\n\nstruct hid_input {\n\tstruct list_head list;\n\tstruct hid_report *report;\n\tstruct input_dev *input;\n\tconst char *name;\n\tstruct list_head reports;\n\tunsigned int application;\n\tbool registered;\n};\n\nstruct hid_item {\n\tunsigned int format;\n\t__u8 size;\n\t__u8 type;\n\t__u8 tag;\n\tunion {\n\t\t__u8 u8;\n\t\t__s8 s8;\n\t\t__u16 u16;\n\t\t__s16 s16;\n\t\t__u32 u32;\n\t\t__s32 s32;\n\t\tconst __u8 *longdata;\n\t} data;\n};\n\nstruct hid_ll_driver {\n\tint (*start)(struct hid_device *);\n\tvoid (*stop)(struct hid_device *);\n\tint (*open)(struct hid_device *);\n\tvoid (*close)(struct hid_device *);\n\tint (*power)(struct hid_device *, int);\n\tint (*parse)(struct hid_device *);\n\tvoid (*request)(struct hid_device *, struct hid_report *, int);\n\tint (*wait)(struct hid_device *);\n\tint (*raw_request)(struct hid_device *, unsigned char, __u8 *, size_t, unsigned char, int);\n\tint (*output_report)(struct hid_device *, __u8 *, size_t);\n\tint (*idle)(struct hid_device *, int, int, int);\n\tbool (*may_wakeup)(struct hid_device *);\n\tunsigned int max_buffer_size;\n};\n\nstruct hid_local {\n\tunsigned int usage[12288];\n\tu8 usage_size[12288];\n\tunsigned int collection_index[12288];\n\tunsigned int usage_index;\n\tunsigned int usage_minimum;\n\tunsigned int delimiter_depth;\n\tunsigned int delimiter_branch;\n};\n\nstruct hid_output_fifo {\n\tstruct hid_report *report;\n\tchar *raw_report;\n};\n\nstruct hid_parser {\n\tstruct hid_global global;\n\tstruct hid_global global_stack[4];\n\tunsigned int global_stack_ptr;\n\tstruct hid_local local;\n\tunsigned int *collection_stack;\n\tunsigned int collection_stack_ptr;\n\tunsigned int collection_stack_size;\n\tstruct hid_device *device;\n\tunsigned int scan_flags;\n};\n\nstruct hid_report {\n\tstruct list_head list;\n\tstruct list_head hidinput_list;\n\tstruct list_head field_entry_list;\n\tunsigned int id;\n\tenum hid_report_type type;\n\tunsigned int application;\n\tstruct hid_field *field[256];\n\tstruct hid_field_entry *field_entries;\n\tunsigned int maxfield;\n\tunsigned int size;\n\tstruct hid_device *device;\n\tbool tool_active;\n\tunsigned int tool;\n};\n\nstruct hid_report_id {\n\t__u32 report_type;\n};\n\nstruct hid_usage {\n\tunsigned int hid;\n\tunsigned int collection_index;\n\tunsigned int usage_index;\n\t__s8 resolution_multiplier;\n\t__s8 wheel_factor;\n\t__u16 code;\n\t__u8 type;\n\t__s16 hat_min;\n\t__s16 hat_max;\n\t__s16 hat_dir;\n\t__s16 wheel_accumulated;\n};\n\nstruct hid_usage_entry {\n\tunsigned int page;\n\tunsigned int usage;\n\tconst char *description;\n};\n\nstruct hid_usage_id {\n\t__u32 usage_hid;\n\t__u32 usage_type;\n\t__u32 usage_code;\n};\n\nstruct hiddev {\n\tint minor;\n\tint exist;\n\tint open;\n\tstruct mutex existancelock;\n\twait_queue_head_t wait;\n\tstruct hid_device *hid;\n\tstruct list_head list;\n\tspinlock_t list_lock;\n\tbool initialized;\n};\n\nstruct hiddev_collection_info {\n\t__u32 index;\n\t__u32 type;\n\t__u32 usage;\n\t__u32 level;\n};\n\nstruct hiddev_devinfo {\n\t__u32 bustype;\n\t__u32 busnum;\n\t__u32 devnum;\n\t__u32 ifnum;\n\t__s16 vendor;\n\t__s16 product;\n\t__s16 version;\n\t__u32 num_applications;\n};\n\nstruct hiddev_event {\n\tunsigned int hid;\n\tint value;\n};\n\nstruct hiddev_field_info {\n\t__u32 report_type;\n\t__u32 report_id;\n\t__u32 field_index;\n\t__u32 maxusage;\n\t__u32 flags;\n\t__u32 physical;\n\t__u32 logical;\n\t__u32 application;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__u32 unit_exponent;\n\t__u32 unit;\n};\n\nstruct hiddev_usage_ref {\n\t__u32 report_type;\n\t__u32 report_id;\n\t__u32 field_index;\n\t__u32 usage_index;\n\t__u32 usage_code;\n\t__s32 value;\n};\n\nstruct hiddev_list {\n\tstruct hiddev_usage_ref buffer[2048];\n\tint head;\n\tint tail;\n\tunsigned int flags;\n\tstruct fasync_struct *fasync;\n\tstruct hiddev *hiddev;\n\tstruct list_head node;\n\tstruct mutex thread_lock;\n};\n\nstruct hiddev_report_info {\n\t__u32 report_type;\n\t__u32 report_id;\n\t__u32 num_fields;\n};\n\nstruct hiddev_usage_ref_multi {\n\tstruct hiddev_usage_ref uref;\n\t__u32 num_values;\n\t__s32 values[1024];\n};\n\nstruct hidraw {\n\tunsigned int minor;\n\tint exist;\n\tint open;\n\twait_queue_head_t wait;\n\tstruct hid_device *hid;\n\tstruct device *dev;\n\tspinlock_t list_lock;\n\tstruct list_head list;\n};\n\nstruct hidraw_devinfo {\n\t__u32 bustype;\n\t__s16 vendor;\n\t__s16 product;\n};\n\nstruct hidraw_report {\n\t__u8 *value;\n\tint len;\n};\n\nstruct hidraw_list {\n\tstruct hidraw_report buffer[64];\n\tint head;\n\tint tail;\n\tstruct fasync_struct *fasync;\n\tstruct hidraw *hidraw;\n\tstruct list_head node;\n\tstruct mutex read_mutex;\n\tbool revoked;\n};\n\nstruct hlist_bl_head {\n\tstruct hlist_bl_node *first;\n};\n\nstruct hmac_ctx {\n\tstruct crypto_shash *hash;\n\tu8 pads[0];\n};\n\nstruct mmu_interval_notifier;\n\nstruct hmm_range {\n\tstruct mmu_interval_notifier *notifier;\n\tlong unsigned int notifier_seq;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int *hmm_pfns;\n\tlong unsigned int default_flags;\n\tlong unsigned int pfn_flags_mask;\n\tvoid *dev_private_owner;\n};\n\nstruct hmm_vma_walk {\n\tstruct hmm_range *range;\n\tlong unsigned int last;\n};\n\nstruct hop_jumbo_hdr {\n\tu8 nexthdr;\n\tu8 hdrlen;\n\tu8 tlv_type;\n\tu8 tlv_len;\n\t__be32 jumbo_payload_len;\n};\n\nstruct host_to_dev_fis {\n\tu8 fis_type;\n\tu8 flags;\n\tu8 command;\n\tu8 features;\n\tu8 lbal;\n\tunion {\n\t\tu8 lbam;\n\t\tu8 byte_count_low;\n\t};\n\tunion {\n\t\tu8 lbah;\n\t\tu8 byte_count_high;\n\t};\n\tu8 device;\n\tu8 lbal_exp;\n\tu8 lbam_exp;\n\tu8 lbah_exp;\n\tu8 features_exp;\n\tunion {\n\t\tu8 sector_count;\n\t\tu8 interrupt_reason;\n\t};\n\tu8 sector_count_exp;\n\tu8 _r_a;\n\tu8 control;\n\tu32 _r_b;\n};\n\nstruct hotplug_slot_ops {\n\tint (*enable_slot)(struct hotplug_slot *);\n\tint (*disable_slot)(struct hotplug_slot *);\n\tint (*set_attention_status)(struct hotplug_slot *, u8);\n\tint (*hardware_test)(struct hotplug_slot *, u32);\n\tint (*get_power_status)(struct hotplug_slot *, u8 *);\n\tint (*get_attention_status)(struct hotplug_slot *, u8 *);\n\tint (*get_latch_status)(struct hotplug_slot *, u8 *);\n\tint (*get_adapter_status)(struct hotplug_slot *, u8 *);\n\tint (*reset_slot)(struct hotplug_slot *, bool);\n};\n\nstruct housekeeping {\n\tstruct cpumask cpumasks[3];\n\tlong unsigned int flags;\n};\n\nstruct hprobe {\n\tenum hprobe_state state;\n\tint srcu_idx;\n\tstruct uprobe *uprobe;\n};\n\nstruct hpx_type0 {\n\tu32 revision;\n\tu8 cache_line_size;\n\tu8 latency_timer;\n\tu8 enable_serr;\n\tu8 enable_perr;\n};\n\nstruct hpx_type1 {\n\tu32 revision;\n\tu8 max_mem_read;\n\tu8 avg_max_split;\n\tu16 tot_max_split;\n};\n\nstruct hpx_type2 {\n\tu32 revision;\n\tu32 unc_err_mask_and;\n\tu32 unc_err_mask_or;\n\tu32 unc_err_sever_and;\n\tu32 unc_err_sever_or;\n\tu32 cor_err_mask_and;\n\tu32 cor_err_mask_or;\n\tu32 adv_err_cap_and;\n\tu32 adv_err_cap_or;\n\tu16 pci_exp_devctl_and;\n\tu16 pci_exp_devctl_or;\n\tu16 pci_exp_lnkctl_and;\n\tu16 pci_exp_lnkctl_or;\n\tu32 sec_unc_err_sever_and;\n\tu32 sec_unc_err_sever_or;\n\tu32 sec_unc_err_mask_and;\n\tu32 sec_unc_err_mask_or;\n};\n\nstruct hpx_type3 {\n\tu16 device_type;\n\tu16 function_type;\n\tu16 config_space_location;\n\tu16 pci_exp_cap_id;\n\tu16 pci_exp_cap_ver;\n\tu16 pci_exp_vendor_id;\n\tu16 dvsec_id;\n\tu16 dvsec_rev;\n\tu16 match_offset;\n\tu32 match_mask_and;\n\tu32 match_value;\n\tu16 reg_offset;\n\tu32 reg_mask_and;\n\tu32 reg_mask_or;\n};\n\nstruct seqcount_raw_spinlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_raw_spinlock seqcount_raw_spinlock_t;\n\nstruct hrtimer_cpu_base;\n\nstruct hrtimer_clock_base {\n\tstruct hrtimer_cpu_base *cpu_base;\n\tunsigned int index;\n\tclockid_t clockid;\n\tseqcount_raw_spinlock_t seq;\n\tstruct hrtimer *running;\n\tstruct timerqueue_head active;\n\tktime_t (*get_time)(void);\n\tktime_t offset;\n};\n\nstruct hrtimer_cpu_base {\n\traw_spinlock_t lock;\n\tunsigned int cpu;\n\tunsigned int active_bases;\n\tunsigned int clock_was_set_seq;\n\tunsigned int hres_active: 1;\n\tunsigned int in_hrtirq: 1;\n\tunsigned int hang_detected: 1;\n\tunsigned int softirq_activated: 1;\n\tunsigned int online: 1;\n\tunsigned int nr_events;\n\tshort unsigned int nr_retries;\n\tshort unsigned int nr_hangs;\n\tunsigned int max_hang_time;\n\tktime_t expires_next;\n\tstruct hrtimer *next_timer;\n\tktime_t softirq_expires_next;\n\tstruct hrtimer *softirq_next_timer;\n\tstruct hrtimer_clock_base clock_base[8];\n\tcall_single_data_t csd;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hrtimer_sleeper {\n\tstruct hrtimer timer;\n\tstruct task_struct *task;\n};\n\nstruct hs_primary_descriptor {\n\t__u8 foo[8];\n\t__u8 type[1];\n\t__u8 id[5];\n\t__u8 version[1];\n\t__u8 unused1[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 unused3[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 unused4[28];\n\t__u8 root_directory_record[34];\n};\n\nstruct hs_volume_descriptor {\n\t__u8 foo[8];\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 data[2033];\n};\n\nstruct hsr_tag {\n\t__be16 path_and_LSDU_size;\n\t__be16 sequence_nr;\n\t__be16 encap_proto;\n};\n\nstruct hstate {\n\tstruct mutex resize_lock;\n\tstruct lock_class_key resize_key;\n\tint next_nid_to_alloc;\n\tint next_nid_to_free;\n\tunsigned int order;\n\tunsigned int demote_order;\n\tlong unsigned int mask;\n\tlong unsigned int max_huge_pages;\n\tlong unsigned int nr_huge_pages;\n\tlong unsigned int free_huge_pages;\n\tlong unsigned int resv_huge_pages;\n\tlong unsigned int surplus_huge_pages;\n\tlong unsigned int nr_overcommit_huge_pages;\n\tstruct list_head hugepage_activelist;\n\tstruct list_head hugepage_freelists[64];\n\tunsigned int max_huge_pages_node[64];\n\tunsigned int nr_huge_pages_node[64];\n\tunsigned int free_huge_pages_node[64];\n\tunsigned int surplus_huge_pages_node[64];\n\tchar name[32];\n};\n\nstruct pcpu_freelist_node {\n\tstruct pcpu_freelist_node *next;\n};\n\nstruct htab_elem {\n\tunion {\n\t\tstruct hlist_nulls_node hash_node;\n\t\tstruct {\n\t\t\tvoid *padding;\n\t\t\tunion {\n\t\t\t\tstruct pcpu_freelist_node fnode;\n\t\t\t\tstruct htab_elem *batch_flink;\n\t\t\t};\n\t\t};\n\t};\n\tunion {\n\t\tvoid *ptr_to_pptr;\n\t\tstruct bpf_lru_node lru_node;\n\t};\n\tu32 hash;\n\tlong: 0;\n\tchar key[0];\n};\n\nstruct htvec {\n\tint num_parents;\n\tvoid *base;\n\tstruct irq_domain *htvec_domain;\n\traw_spinlock_t htvec_lock;\n\tu32 saved_vec_en[8];\n};\n\nstruct huge_bootmem_page {\n\tstruct list_head list;\n\tstruct hstate *hstate;\n};\n\nstruct hugepage_subpool {\n\tspinlock_t lock;\n\tlong int count;\n\tlong int max_hpages;\n\tlong int used_hpages;\n\tstruct hstate *hstate;\n\tlong int min_hpages;\n\tlong int rsv_hpages;\n};\n\nstruct page_counter {\n\tatomic_long_t usage;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tlong unsigned int emin;\n\tatomic_long_t min_usage;\n\tatomic_long_t children_min_usage;\n\tlong unsigned int elow;\n\tatomic_long_t low_usage;\n\tatomic_long_t children_low_usage;\n\tlong unsigned int watermark;\n\tlong unsigned int local_watermark;\n\tlong unsigned int failcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tbool protection_support;\n\tlong unsigned int min;\n\tlong unsigned int low;\n\tlong unsigned int high;\n\tlong unsigned int max;\n\tstruct page_counter *parent;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hugetlb_cgroup_per_node;\n\nstruct hugetlb_cgroup {\n\tstruct cgroup_subsys_state css;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct page_counter hugepage[1];\n\tstruct page_counter rsvd_hugepage[1];\n\tatomic_long_t events[1];\n\tatomic_long_t events_local[1];\n\tstruct cgroup_file events_file[1];\n\tstruct cgroup_file events_local_file[1];\n\tstruct hugetlb_cgroup_per_node *nodeinfo[0];\n};\n\nstruct hugetlb_cgroup_per_node {\n\tlong unsigned int usage[1];\n};\n\nstruct hugetlb_vma_lock {\n\tstruct kref refs;\n\tstruct rw_semaphore rw_sema;\n\tstruct vm_area_struct *vma;\n};\n\nstruct hugetlbfs_fs_context {\n\tstruct hstate *hstate;\n\tlong long unsigned int max_size_opt;\n\tlong long unsigned int min_size_opt;\n\tlong int max_hpages;\n\tlong int nr_inodes;\n\tlong int min_hpages;\n\tenum hugetlbfs_size_type max_val_type;\n\tenum hugetlbfs_size_type min_val_type;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n};\n\nstruct hugetlbfs_inode_info {\n\tstruct inode vfs_inode;\n\tunsigned int seals;\n};\n\nstruct hugetlbfs_sb_info {\n\tlong int max_inodes;\n\tlong int free_inodes;\n\tspinlock_t stat_lock;\n\tstruct hstate *hstate;\n\tstruct hugepage_subpool *spool;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n};\n\nstruct hv_ops {\n\tssize_t (*get_chars)(uint32_t, u8 *, size_t);\n\tssize_t (*put_chars)(uint32_t, const u8 *, size_t);\n\tint (*flush)(uint32_t, bool);\n\tint (*notifier_add)(struct hvc_struct *, int);\n\tvoid (*notifier_del)(struct hvc_struct *, int);\n\tvoid (*notifier_hangup)(struct hvc_struct *, int);\n\tint (*tiocmget)(struct hvc_struct *);\n\tint (*tiocmset)(struct hvc_struct *, unsigned int, unsigned int);\n\tvoid (*dtr_rts)(struct hvc_struct *, bool);\n};\n\nstruct tty_buffer {\n\tunion {\n\t\tstruct tty_buffer *next;\n\t\tstruct llist_node free;\n\t};\n\tunsigned int used;\n\tunsigned int size;\n\tunsigned int commit;\n\tunsigned int lookahead;\n\tunsigned int read;\n\tbool flags;\n\tlong: 0;\n\tu8 data[0];\n};\n\nstruct tty_bufhead {\n\tstruct tty_buffer *head;\n\tstruct work_struct work;\n\tstruct mutex lock;\n\tatomic_t priority;\n\tstruct tty_buffer sentinel;\n\tstruct llist_head free;\n\tatomic_t mem_used;\n\tint mem_limit;\n\tstruct tty_buffer *tail;\n};\n\nstruct tty_struct;\n\nstruct tty_port_operations;\n\nstruct tty_port_client_operations;\n\nstruct tty_port {\n\tstruct tty_bufhead buf;\n\tstruct tty_struct *tty;\n\tstruct tty_struct *itty;\n\tconst struct tty_port_operations *ops;\n\tconst struct tty_port_client_operations *client_ops;\n\tspinlock_t lock;\n\tint blocked_open;\n\tint count;\n\twait_queue_head_t open_wait;\n\twait_queue_head_t delta_msr_wait;\n\tlong unsigned int flags;\n\tlong unsigned int iflags;\n\tunsigned char console: 1;\n\tstruct mutex mutex;\n\tstruct mutex buf_mutex;\n\tu8 *xmit_buf;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tu8 *type;\n\t\t\tconst u8 *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tu8 *ptr;\n\t\t\tconst u8 *ptr_const;\n\t\t};\n\t\tu8 buf[0];\n\t} xmit_fifo;\n\tunsigned int close_delay;\n\tunsigned int closing_wait;\n\tint drain_delay;\n\tstruct kref kref;\n\tvoid *client_data;\n};\n\nstruct hvc_struct {\n\tstruct tty_port port;\n\tspinlock_t lock;\n\tint index;\n\tint do_wakeup;\n\tint outbuf_size;\n\tint n_outbuf;\n\tuint32_t vtermno;\n\tconst struct hv_ops *ops;\n\tint irq_requested;\n\tint data;\n\tstruct winsize ws;\n\tstruct work_struct tty_resize;\n\tstruct list_head next;\n\tlong unsigned int flags;\n\tu8 outbuf[0];\n};\n\nstruct hw_perf_event_extra {\n\tu64 config;\n\tunsigned int reg;\n\tint alloc;\n\tint idx;\n};\n\nstruct rhlist_head {\n\tstruct rhash_head rhead;\n\tstruct rhlist_head *next;\n};\n\nstruct hw_perf_event {\n\tunion {\n\t\tstruct {\n\t\t\tu64 config;\n\t\t\tu64 last_tag;\n\t\t\tlong unsigned int config_base;\n\t\t\tlong unsigned int event_base;\n\t\t\tint event_base_rdpmc;\n\t\t\tint idx;\n\t\t\tint last_cpu;\n\t\t\tint flags;\n\t\t\tstruct hw_perf_event_extra extra_reg;\n\t\t\tstruct hw_perf_event_extra branch_reg;\n\t\t};\n\t\tstruct {\n\t\t\tu64 aux_config;\n\t\t\tunsigned int aux_paused;\n\t\t};\n\t\tstruct {\n\t\t\tstruct hrtimer hrtimer;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head tp_list;\n\t\t};\n\t\tstruct {\n\t\t\tu64 pwr_acc;\n\t\t\tu64 ptsc;\n\t\t};\n\t\tstruct {\n\t\t\tstruct arch_hw_breakpoint info;\n\t\t\tstruct rhlist_head bp_list;\n\t\t};\n\t\tstruct {\n\t\t\tu8 iommu_bank;\n\t\t\tu8 iommu_cntr;\n\t\t\tu16 padding;\n\t\t\tu64 conf;\n\t\t\tu64 conf1;\n\t\t};\n\t};\n\tstruct task_struct *target;\n\tvoid *addr_filters;\n\tlong unsigned int addr_filters_gen;\n\tint state;\n\tlocal64_t prev_count;\n\tu64 sample_period;\n\tunion {\n\t\tstruct {\n\t\t\tu64 last_period;\n\t\t\tlocal64_t period_left;\n\t\t};\n\t\tstruct {\n\t\t\tu64 saved_metric;\n\t\t\tu64 saved_slots;\n\t\t};\n\t};\n\tu64 interrupts_seq;\n\tu64 interrupts;\n\tu64 freq_time_stamp;\n\tu64 freq_count_stamp;\n};\n\nstruct hw_port_info {\n\tstruct net_device *lower_dev;\n\tu32 port_id;\n};\n\nstruct hwlat_entry {\n\tstruct trace_entry ent;\n\tu64 duration;\n\tu64 outer_duration;\n\tu64 nmi_total_ts;\n\tstruct timespec64 timestamp;\n\tunsigned int nmi_count;\n\tunsigned int seqnum;\n\tunsigned int count;\n};\n\nstruct ixgbe_hw;\n\nstruct ixgbe_thermal_diode_data;\n\nstruct hwmon_attr {\n\tstruct device_attribute dev_attr;\n\tstruct ixgbe_hw *hw;\n\tstruct ixgbe_thermal_diode_data *sensor;\n\tchar name[12];\n};\n\nstruct hwmon_attr___2 {\n\tstruct device_attribute dev_attr;\n\tstruct e1000_hw___3 *hw;\n\tstruct e1000_thermal_diode_data *sensor;\n\tchar name[12];\n};\n\nstruct hwmon_buff {\n\tstruct attribute_group group;\n\tconst struct attribute_group *groups[2];\n\tstruct attribute *attrs[13];\n\tstruct hwmon_attr___2 hwmon_list[12];\n\tunsigned int n_hwmon;\n};\n\nstruct hwmon_buff___2 {\n\tstruct attribute_group group;\n\tconst struct attribute_group *groups[2];\n\tstruct attribute *attrs[13];\n\tstruct hwmon_attr hwmon_list[12];\n\tunsigned int n_hwmon;\n};\n\nstruct hwmon_channel_info {\n\tenum hwmon_sensor_types type;\n\tconst u32 *config;\n};\n\nstruct hwmon_ops;\n\nstruct hwmon_chip_info {\n\tconst struct hwmon_ops *ops;\n\tconst struct hwmon_channel_info * const *info;\n};\n\nstruct hwmon_device {\n\tconst char *name;\n\tconst char *label;\n\tstruct device dev;\n\tconst struct hwmon_chip_info *chip;\n\tstruct list_head tzdata;\n\tstruct attribute_group group;\n\tconst struct attribute_group **groups;\n};\n\nstruct hwmon_device_attribute {\n\tstruct device_attribute dev_attr;\n\tconst struct hwmon_ops *ops;\n\tenum hwmon_sensor_types type;\n\tu32 attr;\n\tint index;\n\tchar name[32];\n};\n\nstruct hwmon_ops {\n\tumode_t visible;\n\tumode_t (*is_visible)(const void *, enum hwmon_sensor_types, u32, int);\n\tint (*read)(struct device *, enum hwmon_sensor_types, u32, int, long int *);\n\tint (*read_string)(struct device *, enum hwmon_sensor_types, u32, int, const char **);\n\tint (*write)(struct device *, enum hwmon_sensor_types, u32, int, long int);\n};\n\nstruct hwmon_thermal_data {\n\tstruct list_head node;\n\tstruct device *dev;\n\tint index;\n\tstruct thermal_zone_device *tzd;\n};\n\nstruct hwmon_type_attr_list {\n\tconst u32 *attrs;\n\tsize_t n_attrs;\n};\n\nstruct hwrng {\n\tconst char *name;\n\tint (*init)(struct hwrng *);\n\tvoid (*cleanup)(struct hwrng *);\n\tint (*data_present)(struct hwrng *, int);\n\tint (*data_read)(struct hwrng *, u32 *);\n\tint (*read)(struct hwrng *, void *, size_t, bool);\n\tlong unsigned int priv;\n\tshort unsigned int quality;\n\tstruct list_head list;\n\tstruct kref ref;\n\tstruct completion cleanup_done;\n\tstruct completion dying;\n};\n\nstruct hwtstamp_provider_desc {\n\tint index;\n\tenum hwtstamp_provider_qualifier qualifier;\n};\n\nstruct hwtstamp_provider {\n\tstruct callback_head callback_head;\n\tenum hwtstamp_source source;\n\tstruct phy_device *phydev;\n\tstruct hwtstamp_provider_desc desc;\n};\n\nstruct i2c_acpi_handler_data {\n\tstruct acpi_connection_info info;\n\tstruct i2c_adapter *adapter;\n};\n\nstruct i2c_acpi_irq_context {\n\tint irq;\n\tbool wake_capable;\n};\n\nstruct i2c_acpi_lookup {\n\tstruct i2c_board_info *info;\n\tacpi_handle adapter_handle;\n\tacpi_handle device_handle;\n\tacpi_handle search_handle;\n\tint n;\n\tint index;\n\tu32 speed;\n\tu32 min_speed;\n\tu32 force_speed;\n};\n\nstruct i2c_adapter_quirks {\n\tu64 flags;\n\tint max_num_msgs;\n\tu16 max_write_len;\n\tu16 max_read_len;\n\tu16 max_comb_1st_msg_len;\n\tu16 max_comb_2nd_msg_len;\n};\n\nunion i2c_smbus_data;\n\nstruct i2c_algorithm {\n\tunion {\n\t\tint (*xfer)(struct i2c_adapter *, struct i2c_msg *, int);\n\t\tint (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int);\n\t};\n\tunion {\n\t\tint (*xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int);\n\t\tint (*master_xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int);\n\t};\n\tint (*smbus_xfer)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *);\n\tint (*smbus_xfer_atomic)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *);\n\tu32 (*functionality)(struct i2c_adapter *);\n\tunion {\n\t\tint (*reg_target)(struct i2c_client *);\n\t\tint (*reg_slave)(struct i2c_client *);\n\t};\n\tunion {\n\t\tint (*unreg_target)(struct i2c_client *);\n\t\tint (*unreg_slave)(struct i2c_client *);\n\t};\n};\n\nstruct i2c_board_info {\n\tchar type[20];\n\tshort unsigned int flags;\n\tshort unsigned int addr;\n\tconst char *dev_name;\n\tvoid *platform_data;\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tconst struct software_node *swnode;\n\tconst struct resource *resources;\n\tunsigned int num_resources;\n\tint irq;\n};\n\ntypedef int (*i2c_slave_cb_t)(struct i2c_client *, enum i2c_slave_event, u8 *);\n\nstruct i2c_client {\n\tshort unsigned int flags;\n\tshort unsigned int addr;\n\tchar name[20];\n\tstruct i2c_adapter *adapter;\n\tstruct device dev;\n\tint init_irq;\n\tint irq;\n\tstruct list_head detected;\n\ti2c_slave_cb_t slave_cb;\n\tvoid *devres_group_id;\n\tstruct dentry *debugfs;\n};\n\nstruct i2c_cmd_arg {\n\tunsigned int cmd;\n\tvoid *arg;\n};\n\nstruct i2c_dev {\n\tstruct list_head list;\n\tstruct i2c_adapter *adap;\n\tstruct device dev;\n\tstruct cdev cdev;\n};\n\nstruct i2c_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct i2c_device_identity {\n\tu16 manufacturer_id;\n\tu16 part_id;\n\tu8 die_revision;\n};\n\nstruct i2c_devinfo {\n\tstruct list_head list;\n\tint busnum;\n\tstruct i2c_board_info board_info;\n};\n\nstruct i2c_dw_semaphore_callbacks {\n\tint (*probe)(struct dw_i2c_dev *);\n\tvoid (*remove)(struct dw_i2c_dev *);\n};\n\nstruct i2c_gpio_platform_data {\n\tint udelay;\n\tint timeout;\n\tunsigned int sda_is_open_drain: 1;\n\tunsigned int sda_is_output_only: 1;\n\tunsigned int sda_has_no_pullup: 1;\n\tunsigned int scl_is_open_drain: 1;\n\tunsigned int scl_is_output_only: 1;\n\tunsigned int scl_has_no_pullup: 1;\n};\n\nstruct i2c_gpio_private_data {\n\tstruct gpio_desc *sda;\n\tstruct gpio_desc *scl;\n\tstruct i2c_adapter adap;\n\tstruct i2c_algo_bit_data bit_data;\n\tstruct i2c_gpio_platform_data pdata;\n};\n\nstruct i2c_lock_operations {\n\tvoid (*lock_bus)(struct i2c_adapter *, unsigned int);\n\tint (*trylock_bus)(struct i2c_adapter *, unsigned int);\n\tvoid (*unlock_bus)(struct i2c_adapter *, unsigned int);\n};\n\nstruct i2c_msg {\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\t__u8 *buf;\n};\n\nstruct sb800_mmio_cfg {\n\tvoid *addr;\n\tbool use_mmio;\n};\n\nstruct i2c_piix4_adapdata {\n\tshort unsigned int smba;\n\tbool sb800_main;\n\tbool notify_imc;\n\tu8 port;\n\tstruct sb800_mmio_cfg mmio_cfg;\n};\n\nstruct i2c_rdwr_ioctl_data {\n\tstruct i2c_msg *msgs;\n\t__u32 nmsgs;\n};\n\nstruct i2c_slave_host_notify_status {\n\tu8 index;\n\tu8 addr;\n};\n\nstruct i2c_smbus_alert {\n\tstruct work_struct alert;\n\tstruct i2c_client *ara;\n};\n\nstruct i2c_smbus_alert_setup {\n\tint irq;\n};\n\nunion i2c_smbus_data {\n\t__u8 byte;\n\t__u16 word;\n\t__u8 block[34];\n};\n\nstruct i2c_smbus_ioctl_data {\n\t__u8 read_write;\n\t__u8 command;\n\t__u32 size;\n\tunion i2c_smbus_data *data;\n};\n\nstruct i8042_port {\n\tstruct serio *serio;\n\tint irq;\n\tbool exists;\n\tbool driver_bound;\n\tsigned char mux;\n};\n\nstruct iattr {\n\tunsigned int ia_valid;\n\tumode_t ia_mode;\n\tunion {\n\t\tkuid_t ia_uid;\n\t\tvfsuid_t ia_vfsuid;\n\t};\n\tunion {\n\t\tkgid_t ia_gid;\n\t\tvfsgid_t ia_vfsgid;\n\t};\n\tloff_t ia_size;\n\tstruct timespec64 ia_atime;\n\tstruct timespec64 ia_mtime;\n\tstruct timespec64 ia_ctime;\n\tstruct file *ia_file;\n};\n\nstruct ib_pd;\n\nstruct ib_uobject;\n\nstruct ib_gid_attr;\n\nstruct ib_ah {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_uobject *uobject;\n\tconst struct ib_gid_attr *sgid_attr;\n\tenum rdma_ah_attr_type type;\n};\n\nstruct ib_ah_attr {\n\tu16 dlid;\n\tu8 src_path_bits;\n};\n\nstruct ib_core_device {\n\tstruct device dev;\n\tpossible_net_t rdma_net;\n\tstruct kobject *ports_kobj;\n\tstruct list_head port_list;\n\tstruct ib_device *owner;\n};\n\nstruct ib_counters {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n};\n\nstruct ib_counters_read_attr {\n\tu64 *counters_buff;\n\tu32 ncounters;\n\tu32 flags;\n};\n\nstruct ib_ucq_object;\n\nstruct ib_cq;\n\ntypedef void (*ib_comp_handler)(struct ib_cq *, void *);\n\nstruct rdma_restrack_entry {\n\tbool valid;\n\tu8 no_track: 1;\n\tstruct kref kref;\n\tstruct completion comp;\n\tstruct task_struct *task;\n\tconst char *kern_name;\n\tenum rdma_restrack_type type;\n\tbool user;\n\tu32 id;\n};\n\nstruct ib_event;\n\nstruct ib_wc;\n\nstruct ib_cq {\n\tstruct ib_device *device;\n\tstruct ib_ucq_object *uobject;\n\tib_comp_handler comp_handler;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *cq_context;\n\tint cqe;\n\tunsigned int cqe_used;\n\tatomic_t usecnt;\n\tenum ib_poll_context poll_ctx;\n\tstruct ib_wc *wc;\n\tstruct list_head pool_entry;\n\tunion {\n\t\tstruct irq_poll iop;\n\t\tstruct work_struct work;\n\t};\n\tstruct workqueue_struct *comp_wq;\n\tstruct dim *dim;\n\tktime_t timestamp;\n\tu8 interrupt: 1;\n\tu8 shared: 1;\n\tunsigned int comp_vector;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_cq_caps {\n\tu16 max_cq_moderation_count;\n\tu16 max_cq_moderation_period;\n};\n\nstruct ib_cq_init_attr {\n\tunsigned int cqe;\n\tu32 comp_vector;\n\tu32 flags;\n};\n\nstruct ib_cqe {\n\tvoid (*done)(struct ib_cq *, struct ib_wc *);\n};\n\nstruct uverbs_attr_bundle;\n\nstruct iw_cm_id;\n\nstruct iw_cm_conn_param;\n\nstruct ib_uverbs_file;\n\nstruct ib_qp;\n\nstruct ib_send_wr;\n\nstruct ib_recv_wr;\n\nstruct ib_srq;\n\nstruct ib_grh;\n\nstruct ib_mad;\n\nstruct ib_device_attr;\n\nstruct ib_udata;\n\nstruct ib_device_modify;\n\nstruct ib_port_attr;\n\nstruct ib_port_modify;\n\nstruct ib_port_immutable;\n\nstruct rdma_netdev_alloc_params;\n\nunion ib_gid;\n\nstruct ib_ucontext;\n\nstruct rdma_user_mmap_entry;\n\nstruct rdma_ah_init_attr;\n\nstruct rdma_ah_attr;\n\nstruct ib_srq_init_attr;\n\nstruct ib_srq_attr;\n\nstruct ib_qp_init_attr;\n\nstruct ib_qp_attr;\n\nstruct ib_mr;\n\nstruct ib_sge;\n\nstruct ib_mr_status;\n\nstruct ib_mw;\n\nstruct ib_xrcd;\n\nstruct ib_flow;\n\nstruct ib_flow_attr;\n\nstruct ib_flow_action;\n\nstruct ifla_vf_info;\n\nstruct ifla_vf_stats;\n\nstruct ifla_vf_guid;\n\nstruct ib_wq;\n\nstruct ib_wq_init_attr;\n\nstruct ib_wq_attr;\n\nstruct ib_rwq_ind_table;\n\nstruct ib_rwq_ind_table_init_attr;\n\nstruct ib_dm;\n\nstruct ib_dm_alloc_attr;\n\nstruct ib_dm_mr_attr;\n\nstruct rdma_hw_stats;\n\nstruct rdma_cm_id;\n\nstruct rdma_counter;\n\nstruct ib_device_ops {\n\tstruct module *owner;\n\tenum rdma_driver_id driver_id;\n\tu32 uverbs_abi_ver;\n\tunsigned int uverbs_no_driver_id_binding: 1;\n\tconst struct attribute_group *device_group;\n\tconst struct attribute_group **port_groups;\n\tint (*post_send)(struct ib_qp *, const struct ib_send_wr *, const struct ib_send_wr **);\n\tint (*post_recv)(struct ib_qp *, const struct ib_recv_wr *, const struct ib_recv_wr **);\n\tvoid (*drain_rq)(struct ib_qp *);\n\tvoid (*drain_sq)(struct ib_qp *);\n\tint (*poll_cq)(struct ib_cq *, int, struct ib_wc *);\n\tint (*peek_cq)(struct ib_cq *, int);\n\tint (*req_notify_cq)(struct ib_cq *, enum ib_cq_notify_flags);\n\tint (*post_srq_recv)(struct ib_srq *, const struct ib_recv_wr *, const struct ib_recv_wr **);\n\tint (*process_mad)(struct ib_device *, int, u32, const struct ib_wc *, const struct ib_grh *, const struct ib_mad *, struct ib_mad *, size_t *, u16 *);\n\tint (*query_device)(struct ib_device *, struct ib_device_attr *, struct ib_udata *);\n\tint (*modify_device)(struct ib_device *, int, struct ib_device_modify *);\n\tvoid (*get_dev_fw_str)(struct ib_device *, char *);\n\tconst struct cpumask * (*get_vector_affinity)(struct ib_device *, int);\n\tint (*query_port)(struct ib_device *, u32, struct ib_port_attr *);\n\tint (*modify_port)(struct ib_device *, u32, int, struct ib_port_modify *);\n\tint (*get_port_immutable)(struct ib_device *, u32, struct ib_port_immutable *);\n\tenum rdma_link_layer (*get_link_layer)(struct ib_device *, u32);\n\tstruct net_device * (*get_netdev)(struct ib_device *, u32);\n\tstruct net_device * (*alloc_rdma_netdev)(struct ib_device *, u32, enum rdma_netdev_t, const char *, unsigned char, void (*)(struct net_device *));\n\tint (*rdma_netdev_get_params)(struct ib_device *, u32, enum rdma_netdev_t, struct rdma_netdev_alloc_params *);\n\tint (*query_gid)(struct ib_device *, u32, int, union ib_gid *);\n\tint (*add_gid)(const struct ib_gid_attr *, void **);\n\tint (*del_gid)(const struct ib_gid_attr *, void **);\n\tint (*query_pkey)(struct ib_device *, u32, u16, u16 *);\n\tint (*alloc_ucontext)(struct ib_ucontext *, struct ib_udata *);\n\tvoid (*dealloc_ucontext)(struct ib_ucontext *);\n\tint (*mmap)(struct ib_ucontext *, struct vm_area_struct *);\n\tvoid (*mmap_free)(struct rdma_user_mmap_entry *);\n\tvoid (*disassociate_ucontext)(struct ib_ucontext *);\n\tint (*alloc_pd)(struct ib_pd *, struct ib_udata *);\n\tint (*dealloc_pd)(struct ib_pd *, struct ib_udata *);\n\tint (*create_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *);\n\tint (*create_user_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *);\n\tint (*modify_ah)(struct ib_ah *, struct rdma_ah_attr *);\n\tint (*query_ah)(struct ib_ah *, struct rdma_ah_attr *);\n\tint (*destroy_ah)(struct ib_ah *, u32);\n\tint (*create_srq)(struct ib_srq *, struct ib_srq_init_attr *, struct ib_udata *);\n\tint (*modify_srq)(struct ib_srq *, struct ib_srq_attr *, enum ib_srq_attr_mask, struct ib_udata *);\n\tint (*query_srq)(struct ib_srq *, struct ib_srq_attr *);\n\tint (*destroy_srq)(struct ib_srq *, struct ib_udata *);\n\tint (*create_qp)(struct ib_qp *, struct ib_qp_init_attr *, struct ib_udata *);\n\tint (*modify_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_udata *);\n\tint (*query_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_qp_init_attr *);\n\tint (*destroy_qp)(struct ib_qp *, struct ib_udata *);\n\tint (*create_cq)(struct ib_cq *, const struct ib_cq_init_attr *, struct uverbs_attr_bundle *);\n\tint (*modify_cq)(struct ib_cq *, u16, u16);\n\tint (*destroy_cq)(struct ib_cq *, struct ib_udata *);\n\tint (*resize_cq)(struct ib_cq *, int, struct ib_udata *);\n\tstruct ib_mr * (*get_dma_mr)(struct ib_pd *, int);\n\tstruct ib_mr * (*reg_user_mr)(struct ib_pd *, u64, u64, u64, int, struct ib_udata *);\n\tstruct ib_mr * (*reg_user_mr_dmabuf)(struct ib_pd *, u64, u64, u64, int, int, struct uverbs_attr_bundle *);\n\tstruct ib_mr * (*rereg_user_mr)(struct ib_mr *, int, u64, u64, u64, int, struct ib_pd *, struct ib_udata *);\n\tint (*dereg_mr)(struct ib_mr *, struct ib_udata *);\n\tstruct ib_mr * (*alloc_mr)(struct ib_pd *, enum ib_mr_type, u32);\n\tstruct ib_mr * (*alloc_mr_integrity)(struct ib_pd *, u32, u32);\n\tint (*advise_mr)(struct ib_pd *, enum ib_uverbs_advise_mr_advice, u32, struct ib_sge *, u32, struct uverbs_attr_bundle *);\n\tint (*map_mr_sg)(struct ib_mr *, struct scatterlist *, int, unsigned int *);\n\tint (*check_mr_status)(struct ib_mr *, u32, struct ib_mr_status *);\n\tint (*alloc_mw)(struct ib_mw *, struct ib_udata *);\n\tint (*dealloc_mw)(struct ib_mw *);\n\tint (*attach_mcast)(struct ib_qp *, union ib_gid *, u16);\n\tint (*detach_mcast)(struct ib_qp *, union ib_gid *, u16);\n\tint (*alloc_xrcd)(struct ib_xrcd *, struct ib_udata *);\n\tint (*dealloc_xrcd)(struct ib_xrcd *, struct ib_udata *);\n\tstruct ib_flow * (*create_flow)(struct ib_qp *, struct ib_flow_attr *, struct ib_udata *);\n\tint (*destroy_flow)(struct ib_flow *);\n\tint (*destroy_flow_action)(struct ib_flow_action *);\n\tint (*set_vf_link_state)(struct ib_device *, int, u32, int);\n\tint (*get_vf_config)(struct ib_device *, int, u32, struct ifla_vf_info *);\n\tint (*get_vf_stats)(struct ib_device *, int, u32, struct ifla_vf_stats *);\n\tint (*get_vf_guid)(struct ib_device *, int, u32, struct ifla_vf_guid *, struct ifla_vf_guid *);\n\tint (*set_vf_guid)(struct ib_device *, int, u32, u64, int);\n\tstruct ib_wq * (*create_wq)(struct ib_pd *, struct ib_wq_init_attr *, struct ib_udata *);\n\tint (*destroy_wq)(struct ib_wq *, struct ib_udata *);\n\tint (*modify_wq)(struct ib_wq *, struct ib_wq_attr *, u32, struct ib_udata *);\n\tint (*create_rwq_ind_table)(struct ib_rwq_ind_table *, struct ib_rwq_ind_table_init_attr *, struct ib_udata *);\n\tint (*destroy_rwq_ind_table)(struct ib_rwq_ind_table *);\n\tstruct ib_dm * (*alloc_dm)(struct ib_device *, struct ib_ucontext *, struct ib_dm_alloc_attr *, struct uverbs_attr_bundle *);\n\tint (*dealloc_dm)(struct ib_dm *, struct uverbs_attr_bundle *);\n\tstruct ib_mr * (*reg_dm_mr)(struct ib_pd *, struct ib_dm *, struct ib_dm_mr_attr *, struct uverbs_attr_bundle *);\n\tint (*create_counters)(struct ib_counters *, struct uverbs_attr_bundle *);\n\tint (*destroy_counters)(struct ib_counters *);\n\tint (*read_counters)(struct ib_counters *, struct ib_counters_read_attr *, struct uverbs_attr_bundle *);\n\tint (*map_mr_sg_pi)(struct ib_mr *, struct scatterlist *, int, unsigned int *, struct scatterlist *, int, unsigned int *);\n\tstruct rdma_hw_stats * (*alloc_hw_device_stats)(struct ib_device *);\n\tstruct rdma_hw_stats * (*alloc_hw_port_stats)(struct ib_device *, u32);\n\tint (*get_hw_stats)(struct ib_device *, struct rdma_hw_stats *, u32, int);\n\tint (*modify_hw_stat)(struct ib_device *, u32, unsigned int, bool);\n\tint (*fill_res_mr_entry)(struct sk_buff *, struct ib_mr *);\n\tint (*fill_res_mr_entry_raw)(struct sk_buff *, struct ib_mr *);\n\tint (*fill_res_cq_entry)(struct sk_buff *, struct ib_cq *);\n\tint (*fill_res_cq_entry_raw)(struct sk_buff *, struct ib_cq *);\n\tint (*fill_res_qp_entry)(struct sk_buff *, struct ib_qp *);\n\tint (*fill_res_qp_entry_raw)(struct sk_buff *, struct ib_qp *);\n\tint (*fill_res_cm_id_entry)(struct sk_buff *, struct rdma_cm_id *);\n\tint (*fill_res_srq_entry)(struct sk_buff *, struct ib_srq *);\n\tint (*fill_res_srq_entry_raw)(struct sk_buff *, struct ib_srq *);\n\tint (*enable_driver)(struct ib_device *);\n\tvoid (*dealloc_driver)(struct ib_device *);\n\tvoid (*iw_add_ref)(struct ib_qp *);\n\tvoid (*iw_rem_ref)(struct ib_qp *);\n\tstruct ib_qp * (*iw_get_qp)(struct ib_device *, int);\n\tint (*iw_connect)(struct iw_cm_id *, struct iw_cm_conn_param *);\n\tint (*iw_accept)(struct iw_cm_id *, struct iw_cm_conn_param *);\n\tint (*iw_reject)(struct iw_cm_id *, const void *, u8);\n\tint (*iw_create_listen)(struct iw_cm_id *, int);\n\tint (*iw_destroy_listen)(struct iw_cm_id *);\n\tint (*counter_bind_qp)(struct rdma_counter *, struct ib_qp *);\n\tint (*counter_unbind_qp)(struct ib_qp *);\n\tint (*counter_dealloc)(struct rdma_counter *);\n\tstruct rdma_hw_stats * (*counter_alloc_stats)(struct rdma_counter *);\n\tint (*counter_update_stats)(struct rdma_counter *);\n\tint (*fill_stat_mr_entry)(struct sk_buff *, struct ib_mr *);\n\tint (*query_ucontext)(struct ib_ucontext *, struct uverbs_attr_bundle *);\n\tint (*get_numa_node)(struct ib_device *);\n\tstruct ib_device * (*add_sub_dev)(struct ib_device *, enum rdma_nl_dev_type, const char *);\n\tvoid (*del_sub_dev)(struct ib_device *);\n\tvoid (*ufile_hw_cleanup)(struct ib_uverbs_file *);\n\tvoid (*report_port_event)(struct ib_device *, struct net_device *, long unsigned int);\n\tsize_t size_ib_ah;\n\tsize_t size_ib_counters;\n\tsize_t size_ib_cq;\n\tsize_t size_ib_mw;\n\tsize_t size_ib_pd;\n\tsize_t size_ib_qp;\n\tsize_t size_ib_rwq_ind_table;\n\tsize_t size_ib_srq;\n\tsize_t size_ib_ucontext;\n\tsize_t size_ib_xrcd;\n};\n\nstruct ib_odp_caps {\n\tuint64_t general_caps;\n\tstruct {\n\t\tuint32_t rc_odp_caps;\n\t\tuint32_t uc_odp_caps;\n\t\tuint32_t ud_odp_caps;\n\t\tuint32_t xrc_odp_caps;\n\t} per_transport_caps;\n};\n\nstruct ib_rss_caps {\n\tu32 supported_qpts;\n\tu32 max_rwq_indirection_tables;\n\tu32 max_rwq_indirection_table_size;\n};\n\nstruct ib_tm_caps {\n\tu32 max_rndv_hdr_size;\n\tu32 max_num_tags;\n\tu32 flags;\n\tu32 max_ops;\n\tu32 max_sge;\n};\n\nstruct ib_device_attr {\n\tu64 fw_ver;\n\t__be64 sys_image_guid;\n\tu64 max_mr_size;\n\tu64 page_size_cap;\n\tu32 vendor_id;\n\tu32 vendor_part_id;\n\tu32 hw_ver;\n\tint max_qp;\n\tint max_qp_wr;\n\tu64 device_cap_flags;\n\tu64 kernel_cap_flags;\n\tint max_send_sge;\n\tint max_recv_sge;\n\tint max_sge_rd;\n\tint max_cq;\n\tint max_cqe;\n\tint max_mr;\n\tint max_pd;\n\tint max_qp_rd_atom;\n\tint max_ee_rd_atom;\n\tint max_res_rd_atom;\n\tint max_qp_init_rd_atom;\n\tint max_ee_init_rd_atom;\n\tenum ib_atomic_cap atomic_cap;\n\tenum ib_atomic_cap masked_atomic_cap;\n\tint max_ee;\n\tint max_rdd;\n\tint max_mw;\n\tint max_raw_ipv6_qp;\n\tint max_raw_ethy_qp;\n\tint max_mcast_grp;\n\tint max_mcast_qp_attach;\n\tint max_total_mcast_qp_attach;\n\tint max_ah;\n\tint max_srq;\n\tint max_srq_wr;\n\tint max_srq_sge;\n\tunsigned int max_fast_reg_page_list_len;\n\tunsigned int max_pi_fast_reg_page_list_len;\n\tu16 max_pkeys;\n\tu8 local_ca_ack_delay;\n\tint sig_prot_cap;\n\tint sig_guard_cap;\n\tstruct ib_odp_caps odp_caps;\n\tuint64_t timestamp_mask;\n\tuint64_t hca_core_clock;\n\tstruct ib_rss_caps rss_caps;\n\tu32 max_wq_type_rq;\n\tu32 raw_packet_caps;\n\tstruct ib_tm_caps tm_caps;\n\tstruct ib_cq_caps cq_caps;\n\tu64 max_dm_size;\n\tu32 max_sgl_rd;\n};\n\nstruct hw_stats_device_data;\n\nstruct rdmacg_device {\n\tstruct list_head dev_node;\n\tstruct list_head rpools;\n\tchar *name;\n};\n\nstruct rdma_restrack_root;\n\nstruct uapi_definition;\n\nstruct ib_port_data;\n\nstruct rdma_link_ops;\n\nstruct ib_device {\n\tstruct device *dma_device;\n\tstruct ib_device_ops ops;\n\tchar name[64];\n\tstruct callback_head callback_head;\n\tstruct list_head event_handler_list;\n\tstruct rw_semaphore event_handler_rwsem;\n\tspinlock_t qp_open_list_lock;\n\tstruct rw_semaphore client_data_rwsem;\n\tstruct xarray client_data;\n\tstruct mutex unregistration_lock;\n\trwlock_t cache_lock;\n\tstruct ib_port_data *port_data;\n\tint num_comp_vectors;\n\tunion {\n\t\tstruct device dev;\n\t\tstruct ib_core_device coredev;\n\t};\n\tconst struct attribute_group *groups[4];\n\tu64 uverbs_cmd_mask;\n\tchar node_desc[64];\n\t__be64 node_guid;\n\tu32 local_dma_lkey;\n\tu16 is_switch: 1;\n\tu16 kverbs_provider: 1;\n\tu16 use_cq_dim: 1;\n\tu8 node_type;\n\tu32 phys_port_cnt;\n\tstruct ib_device_attr attrs;\n\tstruct hw_stats_device_data *hw_stats_data;\n\tstruct rdmacg_device cg_device;\n\tu32 index;\n\tspinlock_t cq_pools_lock;\n\tstruct list_head cq_pools[3];\n\tstruct rdma_restrack_root *res;\n\tconst struct uapi_definition *driver_def;\n\trefcount_t refcount;\n\tstruct completion unreg_completion;\n\tstruct work_struct unregistration_work;\n\tconst struct rdma_link_ops *link_ops;\n\tstruct mutex compat_devs_mutex;\n\tstruct xarray compat_devs;\n\tchar iw_ifname[16];\n\tu32 iw_driver_flags;\n\tu32 lag_flags;\n\tstruct mutex subdev_lock;\n\tstruct list_head subdev_list_head;\n\tenum rdma_nl_dev_type type;\n\tstruct ib_device *parent;\n\tstruct list_head subdev_list;\n\tenum rdma_nl_name_assign_type name_assign_type;\n};\n\nstruct ib_device_modify {\n\tu64 sys_image_guid;\n\tchar node_desc[64];\n};\n\nstruct ib_dm {\n\tstruct ib_device *device;\n\tu32 length;\n\tu32 flags;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n};\n\nstruct ib_dm_alloc_attr {\n\tu64 length;\n\tu32 alignment;\n\tu32 flags;\n};\n\nstruct ib_dm_mr_attr {\n\tu64 length;\n\tu64 offset;\n\tu32 access_flags;\n};\n\nstruct ib_event {\n\tstruct ib_device *device;\n\tunion {\n\t\tstruct ib_cq *cq;\n\t\tstruct ib_qp *qp;\n\t\tstruct ib_srq *srq;\n\t\tstruct ib_wq *wq;\n\t\tu32 port_num;\n\t} element;\n\tenum ib_event_type event;\n};\n\nstruct ib_flow {\n\tstruct ib_qp *qp;\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n};\n\nstruct ib_flow_action {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tenum ib_flow_action_type type;\n\tatomic_t usecnt;\n};\n\nstruct ib_flow_eth_filter {\n\tu8 dst_mac[6];\n\tu8 src_mac[6];\n\t__be16 ether_type;\n\t__be16 vlan_tag;\n};\n\nstruct ib_flow_spec_eth {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_eth_filter val;\n\tstruct ib_flow_eth_filter mask;\n};\n\nstruct ib_flow_ib_filter {\n\t__be16 dlid;\n\t__u8 sl;\n};\n\nstruct ib_flow_spec_ib {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ib_filter val;\n\tstruct ib_flow_ib_filter mask;\n};\n\nstruct ib_flow_ipv4_filter {\n\t__be32 src_ip;\n\t__be32 dst_ip;\n\tu8 proto;\n\tu8 tos;\n\tu8 ttl;\n\tu8 flags;\n};\n\nstruct ib_flow_spec_ipv4 {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ipv4_filter val;\n\tstruct ib_flow_ipv4_filter mask;\n};\n\nstruct ib_flow_tcp_udp_filter {\n\t__be16 dst_port;\n\t__be16 src_port;\n};\n\nstruct ib_flow_spec_tcp_udp {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_tcp_udp_filter val;\n\tstruct ib_flow_tcp_udp_filter mask;\n};\n\nstruct ib_flow_ipv6_filter {\n\tu8 src_ip[16];\n\tu8 dst_ip[16];\n\t__be32 flow_label;\n\tu8 next_hdr;\n\tu8 traffic_class;\n\tu8 hop_limit;\n} __attribute__((packed));\n\nstruct ib_flow_spec_ipv6 {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ipv6_filter val;\n\tstruct ib_flow_ipv6_filter mask;\n};\n\nstruct ib_flow_tunnel_filter {\n\t__be32 tunnel_id;\n};\n\nstruct ib_flow_spec_tunnel {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_tunnel_filter val;\n\tstruct ib_flow_tunnel_filter mask;\n};\n\nstruct ib_flow_esp_filter {\n\t__be32 spi;\n\t__be32 seq;\n};\n\nstruct ib_flow_spec_esp {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_esp_filter val;\n\tstruct ib_flow_esp_filter mask;\n};\n\nstruct ib_flow_gre_filter {\n\t__be16 c_ks_res0_ver;\n\t__be16 protocol;\n\t__be32 key;\n};\n\nstruct ib_flow_spec_gre {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_gre_filter val;\n\tstruct ib_flow_gre_filter mask;\n};\n\nstruct ib_flow_mpls_filter {\n\t__be32 tag;\n};\n\nstruct ib_flow_spec_mpls {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_mpls_filter val;\n\tstruct ib_flow_mpls_filter mask;\n};\n\nstruct ib_flow_spec_action_tag {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tu32 tag_id;\n};\n\nstruct ib_flow_spec_action_drop {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n};\n\nstruct ib_flow_spec_action_handle {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tstruct ib_flow_action *act;\n};\n\nstruct ib_flow_spec_action_count {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tstruct ib_counters *counters;\n};\n\nunion ib_flow_spec {\n\tstruct {\n\t\tu32 type;\n\t\tu16 size;\n\t};\n\tstruct ib_flow_spec_eth eth;\n\tstruct ib_flow_spec_ib ib;\n\tstruct ib_flow_spec_ipv4 ipv4;\n\tstruct ib_flow_spec_tcp_udp tcp_udp;\n\tstruct ib_flow_spec_ipv6 ipv6;\n\tstruct ib_flow_spec_tunnel tunnel;\n\tstruct ib_flow_spec_esp esp;\n\tstruct ib_flow_spec_gre gre;\n\tstruct ib_flow_spec_mpls mpls;\n\tstruct ib_flow_spec_action_tag flow_tag;\n\tstruct ib_flow_spec_action_drop drop;\n\tstruct ib_flow_spec_action_handle action;\n\tstruct ib_flow_spec_action_count flow_count;\n};\n\nstruct ib_flow_attr {\n\tenum ib_flow_attr_type type;\n\tu16 size;\n\tu16 priority;\n\tu32 flags;\n\tu8 num_of_specs;\n\tu32 port;\n\tunion ib_flow_spec flows[0];\n};\n\nunion ib_gid {\n\tu8 raw[16];\n\tstruct {\n\t\t__be64 subnet_prefix;\n\t\t__be64 interface_id;\n\t} global;\n};\n\nstruct ib_gid_attr {\n\tstruct net_device *ndev;\n\tstruct ib_device *device;\n\tunion ib_gid gid;\n\tenum ib_gid_type gid_type;\n\tu16 index;\n\tu32 port_num;\n};\n\nstruct ib_global_route {\n\tconst struct ib_gid_attr *sgid_attr;\n\tunion ib_gid dgid;\n\tu32 flow_label;\n\tu8 sgid_index;\n\tu8 hop_limit;\n\tu8 traffic_class;\n};\n\nstruct ib_grh {\n\t__be32 version_tclass_flow;\n\t__be16 paylen;\n\tu8 next_hdr;\n\tu8 hop_limit;\n\tunion ib_gid sgid;\n\tunion ib_gid dgid;\n};\n\nstruct ib_mad_hdr {\n\tu8 base_version;\n\tu8 mgmt_class;\n\tu8 class_version;\n\tu8 method;\n\t__be16 status;\n\t__be16 class_specific;\n\t__be64 tid;\n\t__be16 attr_id;\n\t__be16 resv;\n\t__be32 attr_mod;\n};\n\nstruct ib_mad {\n\tstruct ib_mad_hdr mad_hdr;\n\tu8 data[232];\n};\n\nstruct ib_sig_attrs;\n\nstruct ib_mr {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tu32 lkey;\n\tu32 rkey;\n\tu64 iova;\n\tu64 length;\n\tunsigned int page_size;\n\tenum ib_mr_type type;\n\tbool need_inval;\n\tunion {\n\t\tstruct ib_uobject *uobject;\n\t\tstruct list_head qp_entry;\n\t};\n\tstruct ib_dm *dm;\n\tstruct ib_sig_attrs *sig_attrs;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_sig_err {\n\tenum ib_sig_err_type err_type;\n\tu32 expected;\n\tu32 actual;\n\tu64 sig_err_offset;\n\tu32 key;\n};\n\nstruct ib_mr_status {\n\tu32 fail_status;\n\tstruct ib_sig_err sig_err;\n};\n\nstruct ib_mw {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_uobject *uobject;\n\tu32 rkey;\n\tenum ib_mw_type type;\n};\n\nstruct ib_pd {\n\tu32 local_dma_lkey;\n\tu32 flags;\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n\tu32 unsafe_global_rkey;\n\tstruct ib_mr *__internal_mr;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_port_attr {\n\tu64 subnet_prefix;\n\tenum ib_port_state state;\n\tenum ib_mtu max_mtu;\n\tenum ib_mtu active_mtu;\n\tu32 phys_mtu;\n\tint gid_tbl_len;\n\tunsigned int ip_gids: 1;\n\tu32 port_cap_flags;\n\tu32 max_msg_sz;\n\tu32 bad_pkey_cntr;\n\tu32 qkey_viol_cntr;\n\tu16 pkey_tbl_len;\n\tu32 sm_lid;\n\tu32 lid;\n\tu8 lmc;\n\tu8 max_vl_num;\n\tu8 sm_sl;\n\tu8 subnet_timeout;\n\tu8 init_type_reply;\n\tu8 active_width;\n\tu16 active_speed;\n\tu8 phys_state;\n\tu16 port_cap_flags2;\n};\n\nstruct ib_pkey_cache;\n\nstruct ib_gid_table;\n\nstruct ib_port_cache {\n\tu64 subnet_prefix;\n\tstruct ib_pkey_cache *pkey;\n\tstruct ib_gid_table *gid;\n\tu8 lmc;\n\tenum ib_port_state port_state;\n\tenum ib_port_state last_port_state;\n};\n\nstruct ib_port_immutable {\n\tint pkey_tbl_len;\n\tint gid_tbl_len;\n\tu32 core_cap_flags;\n\tu32 max_mad_size;\n};\n\nstruct rdma_counter_mode {\n\tenum rdma_nl_counter_mode mode;\n\tenum rdma_nl_counter_mask mask;\n\tstruct auto_mode_param param;\n};\n\nstruct rdma_port_counter {\n\tstruct rdma_counter_mode mode;\n\tstruct rdma_hw_stats *hstats;\n\tunsigned int num_counters;\n\tstruct mutex lock;\n};\n\nstruct ib_port;\n\nstruct ib_port_data {\n\tstruct ib_device *ib_dev;\n\tstruct ib_port_immutable immutable;\n\tspinlock_t pkey_list_lock;\n\tspinlock_t netdev_lock;\n\tstruct list_head pkey_list;\n\tstruct ib_port_cache cache;\n\tstruct net_device *netdev;\n\tnetdevice_tracker netdev_tracker;\n\tstruct hlist_node ndev_hash_link;\n\tstruct rdma_port_counter port_counter;\n\tstruct ib_port *sysfs;\n};\n\nstruct ib_port_modify {\n\tu32 set_port_cap_mask;\n\tu32 clr_port_cap_mask;\n\tu8 init_type;\n};\n\nstruct ib_qp_security;\n\nstruct ib_port_pkey {\n\tenum port_pkey_state state;\n\tu16 pkey_index;\n\tu32 port_num;\n\tstruct list_head qp_list;\n\tstruct list_head to_error_list;\n\tstruct ib_qp_security *sec;\n};\n\nstruct ib_ports_pkeys {\n\tstruct ib_port_pkey main;\n\tstruct ib_port_pkey alt;\n};\n\nstruct ib_uqp_object;\n\nstruct ib_qp {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_cq *send_cq;\n\tstruct ib_cq *recv_cq;\n\tspinlock_t mr_lock;\n\tint mrs_used;\n\tstruct list_head rdma_mrs;\n\tstruct list_head sig_mrs;\n\tstruct ib_srq *srq;\n\tstruct completion srq_completion;\n\tstruct ib_xrcd *xrcd;\n\tstruct list_head xrcd_list;\n\tatomic_t usecnt;\n\tstruct list_head open_list;\n\tstruct ib_qp *real_qp;\n\tstruct ib_uqp_object *uobject;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid (*registered_event_handler)(struct ib_event *, void *);\n\tvoid *qp_context;\n\tconst struct ib_gid_attr *av_sgid_attr;\n\tconst struct ib_gid_attr *alt_path_sgid_attr;\n\tu32 qp_num;\n\tu32 max_write_sge;\n\tu32 max_read_sge;\n\tenum ib_qp_type qp_type;\n\tstruct ib_rwq_ind_table *rwq_ind_tbl;\n\tstruct ib_qp_security *qp_sec;\n\tu32 port;\n\tbool integrity_en;\n\tstruct rdma_restrack_entry res;\n\tstruct rdma_counter *counter;\n};\n\nstruct ib_qp_cap {\n\tu32 max_send_wr;\n\tu32 max_recv_wr;\n\tu32 max_send_sge;\n\tu32 max_recv_sge;\n\tu32 max_inline_data;\n\tu32 max_rdma_ctxs;\n};\n\nstruct roce_ah_attr {\n\tu8 dmac[6];\n};\n\nstruct opa_ah_attr {\n\tu32 dlid;\n\tu8 src_path_bits;\n\tbool make_grd;\n};\n\nstruct rdma_ah_attr {\n\tstruct ib_global_route grh;\n\tu8 sl;\n\tu8 static_rate;\n\tu32 port_num;\n\tu8 ah_flags;\n\tenum rdma_ah_attr_type type;\n\tunion {\n\t\tstruct ib_ah_attr ib;\n\t\tstruct roce_ah_attr roce;\n\t\tstruct opa_ah_attr opa;\n\t};\n};\n\nstruct ib_qp_attr {\n\tenum ib_qp_state qp_state;\n\tenum ib_qp_state cur_qp_state;\n\tenum ib_mtu path_mtu;\n\tenum ib_mig_state path_mig_state;\n\tu32 qkey;\n\tu32 rq_psn;\n\tu32 sq_psn;\n\tu32 dest_qp_num;\n\tint qp_access_flags;\n\tstruct ib_qp_cap cap;\n\tstruct rdma_ah_attr ah_attr;\n\tstruct rdma_ah_attr alt_ah_attr;\n\tu16 pkey_index;\n\tu16 alt_pkey_index;\n\tu8 en_sqd_async_notify;\n\tu8 sq_draining;\n\tu8 max_rd_atomic;\n\tu8 max_dest_rd_atomic;\n\tu8 min_rnr_timer;\n\tu32 port_num;\n\tu8 timeout;\n\tu8 retry_cnt;\n\tu8 rnr_retry;\n\tu32 alt_port_num;\n\tu8 alt_timeout;\n\tu32 rate_limit;\n\tstruct net_device *xmit_slave;\n};\n\nstruct ib_qp_init_attr {\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *qp_context;\n\tstruct ib_cq *send_cq;\n\tstruct ib_cq *recv_cq;\n\tstruct ib_srq *srq;\n\tstruct ib_xrcd *xrcd;\n\tstruct ib_qp_cap cap;\n\tenum ib_sig_type sq_sig_type;\n\tenum ib_qp_type qp_type;\n\tu32 create_flags;\n\tu32 port_num;\n\tstruct ib_rwq_ind_table *rwq_ind_tbl;\n\tu32 source_qpn;\n};\n\nstruct ib_qp_security {\n\tstruct ib_qp *qp;\n\tstruct ib_device *dev;\n\tstruct mutex mutex;\n\tstruct ib_ports_pkeys *ports_pkeys;\n\tstruct list_head shared_qp_list;\n\tvoid *security;\n\tbool destroying;\n\tatomic_t error_list_count;\n\tstruct completion error_complete;\n\tint error_comps_pending;\n};\n\nstruct rdma_cgroup;\n\nstruct ib_rdmacg_object {\n\tstruct rdma_cgroup *cg;\n};\n\nstruct ib_recv_wr {\n\tstruct ib_recv_wr *next;\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tstruct ib_sge *sg_list;\n\tint num_sge;\n};\n\nstruct ib_rwq_ind_table {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n\tu32 ind_tbl_num;\n\tu32 log_ind_tbl_size;\n\tstruct ib_wq **ind_tbl;\n};\n\nstruct ib_rwq_ind_table_init_attr {\n\tu32 log_ind_tbl_size;\n\tstruct ib_wq **ind_tbl;\n};\n\nstruct ib_send_wr {\n\tstruct ib_send_wr *next;\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tstruct ib_sge *sg_list;\n\tint num_sge;\n\tenum ib_wr_opcode opcode;\n\tint send_flags;\n\tunion {\n\t\t__be32 imm_data;\n\t\tu32 invalidate_rkey;\n\t} ex;\n};\n\nstruct ib_sge {\n\tu64 addr;\n\tu32 length;\n\tu32 lkey;\n};\n\nstruct ib_t10_dif_domain {\n\tenum ib_t10_dif_bg_type bg_type;\n\tu16 pi_interval;\n\tu16 bg;\n\tu16 app_tag;\n\tu32 ref_tag;\n\tbool ref_remap;\n\tbool app_escape;\n\tbool ref_escape;\n\tu16 apptag_check_mask;\n};\n\nstruct ib_sig_domain {\n\tenum ib_signature_type sig_type;\n\tunion {\n\t\tstruct ib_t10_dif_domain dif;\n\t} sig;\n};\n\nstruct ib_sig_attrs {\n\tu8 check_mask;\n\tstruct ib_sig_domain mem;\n\tstruct ib_sig_domain wire;\n\tint meta_length;\n};\n\nstruct ib_usrq_object;\n\nstruct ib_srq {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_usrq_object *uobject;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *srq_context;\n\tenum ib_srq_type srq_type;\n\tatomic_t usecnt;\n\tstruct {\n\t\tstruct ib_cq *cq;\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tstruct ib_xrcd *xrcd;\n\t\t\t\tu32 srq_num;\n\t\t\t} xrc;\n\t\t};\n\t} ext;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_srq_attr {\n\tu32 max_wr;\n\tu32 max_sge;\n\tu32 srq_limit;\n};\n\nstruct ib_srq_init_attr {\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *srq_context;\n\tstruct ib_srq_attr attr;\n\tenum ib_srq_type srq_type;\n\tstruct {\n\t\tstruct ib_cq *cq;\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tstruct ib_xrcd *xrcd;\n\t\t\t} xrc;\n\t\t\tstruct {\n\t\t\t\tu32 max_num_tags;\n\t\t\t} tag_matching;\n\t\t};\n\t} ext;\n};\n\nstruct ib_ucontext {\n\tstruct ib_device *device;\n\tstruct ib_uverbs_file *ufile;\n\tstruct ib_rdmacg_object cg_obj;\n\tstruct rdma_restrack_entry res;\n\tstruct xarray mmap_xa;\n};\n\nstruct ib_udata {\n\tconst void *inbuf;\n\tvoid *outbuf;\n\tsize_t inlen;\n\tsize_t outlen;\n};\n\nstruct uverbs_api_object;\n\nstruct ib_uobject {\n\tu64 user_handle;\n\tstruct ib_uverbs_file *ufile;\n\tstruct ib_ucontext *context;\n\tvoid *object;\n\tstruct list_head list;\n\tstruct ib_rdmacg_object cg_obj;\n\tint id;\n\tstruct kref ref;\n\tatomic_t usecnt;\n\tstruct callback_head rcu;\n\tconst struct uverbs_api_object *uapi_object;\n};\n\nstruct ib_wc {\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tenum ib_wc_status status;\n\tenum ib_wc_opcode opcode;\n\tu32 vendor_err;\n\tu32 byte_len;\n\tstruct ib_qp *qp;\n\tunion {\n\t\t__be32 imm_data;\n\t\tu32 invalidate_rkey;\n\t} ex;\n\tu32 src_qp;\n\tu32 slid;\n\tint wc_flags;\n\tu16 pkey_index;\n\tu8 sl;\n\tu8 dlid_path_bits;\n\tu32 port_num;\n\tu8 smac[6];\n\tu16 vlan_id;\n\tu8 network_hdr_type;\n};\n\nstruct ib_uwq_object;\n\nstruct ib_wq {\n\tstruct ib_device *device;\n\tstruct ib_uwq_object *uobject;\n\tvoid *wq_context;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tstruct ib_pd *pd;\n\tstruct ib_cq *cq;\n\tu32 wq_num;\n\tenum ib_wq_state state;\n\tenum ib_wq_type wq_type;\n\tatomic_t usecnt;\n};\n\nstruct ib_wq_attr {\n\tenum ib_wq_state wq_state;\n\tenum ib_wq_state curr_wq_state;\n\tu32 flags;\n\tu32 flags_mask;\n};\n\nstruct ib_wq_init_attr {\n\tvoid *wq_context;\n\tenum ib_wq_type wq_type;\n\tu32 max_wr;\n\tu32 max_sge;\n\tstruct ib_cq *cq;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tu32 create_flags;\n};\n\nstruct ib_xrcd {\n\tstruct ib_device *device;\n\tatomic_t usecnt;\n\tstruct inode *inode;\n\tstruct rw_semaphore tgt_qps_rwsem;\n\tstruct xarray tgt_qps;\n};\n\nstruct ic_device {\n\tstruct ic_device *next;\n\tstruct net_device *dev;\n\tshort unsigned int flags;\n\tshort int able;\n\t__be32 xid;\n};\n\nstruct ich8_pr {\n\tu32 base: 13;\n\tu32 reserved1: 2;\n\tu32 rpe: 1;\n\tu32 limit: 13;\n\tu32 reserved2: 2;\n\tu32 wpe: 1;\n};\n\nunion ich8_flash_protected_range {\n\tstruct ich8_pr range;\n\tu32 regval;\n};\n\nstruct ich8_hsflctl {\n\tu16 flcgo: 1;\n\tu16 flcycle: 2;\n\tu16 reserved: 5;\n\tu16 fldbcount: 2;\n\tu16 flockdn: 6;\n};\n\nstruct ich8_hsfsts {\n\tu16 flcdone: 1;\n\tu16 flcerr: 1;\n\tu16 dael: 1;\n\tu16 berasesz: 2;\n\tu16 flcinprog: 1;\n\tu16 reserved1: 2;\n\tu16 reserved2: 6;\n\tu16 fldesvalid: 1;\n\tu16 flockdn: 1;\n};\n\nunion ich8_hws_flash_ctrl {\n\tstruct ich8_hsflctl hsf_ctrl;\n\tu16 regval;\n};\n\nunion ich8_hws_flash_status {\n\tstruct ich8_hsfsts hsf_status;\n\tu16 regval;\n};\n\nstruct usb4_switch_nvm_auth;\n\nstruct tb;\n\nstruct icm_pkg_header;\n\nstruct icm {\n\tstruct mutex request_lock;\n\tstruct delayed_work rescan_work;\n\tstruct pci_dev *upstream_port;\n\tint vnd_cap;\n\tbool safe_mode;\n\tsize_t max_boot_acl;\n\tbool rpm;\n\tbool can_upgrade_nvm;\n\tu8 proto_version;\n\tstruct usb4_switch_nvm_auth *last_nvm_auth;\n\tbool veto;\n\tbool (*is_supported)(struct tb *);\n\tint (*cio_reset)(struct tb *);\n\tint (*get_mode)(struct tb *);\n\tint (*get_route)(struct tb *, u8, u8, u64 *);\n\tvoid (*save_devices)(struct tb *);\n\tint (*driver_ready)(struct tb *, enum tb_security_level *, u8 *, size_t *, bool *);\n\tvoid (*set_uuid)(struct tb *);\n\tvoid (*device_connected)(struct tb *, const struct icm_pkg_header *);\n\tvoid (*device_disconnected)(struct tb *, const struct icm_pkg_header *);\n\tvoid (*xdomain_connected)(struct tb *, const struct icm_pkg_header *);\n\tvoid (*xdomain_disconnected)(struct tb *, const struct icm_pkg_header *);\n\tvoid (*rtd3_veto)(struct tb *, const struct icm_pkg_header *);\n};\n\nstruct icm_ar_boot_acl_entry {\n\tu32 uuid_lo;\n\tu32 uuid_hi;\n};\n\nstruct icm_pkg_header {\n\tu8 code;\n\tu8 flags;\n\tu8 packet_id;\n\tu8 total_packets;\n};\n\nstruct icm_ar_pkg_driver_ready_response {\n\tstruct icm_pkg_header hdr;\n\tu8 romver;\n\tu8 ramver;\n\tu16 info;\n};\n\nstruct icm_ar_pkg_get_route {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved;\n\tu16 link_info;\n};\n\nstruct icm_ar_pkg_get_route_response {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved;\n\tu16 link_info;\n\tu32 route_hi;\n\tu32 route_lo;\n};\n\nstruct icm_ar_pkg_preboot_acl {\n\tstruct icm_pkg_header hdr;\n\tstruct icm_ar_boot_acl_entry acl[16];\n};\n\nstruct icm_ar_pkg_preboot_acl_response {\n\tstruct icm_pkg_header hdr;\n\tstruct icm_ar_boot_acl_entry acl[16];\n};\n\nstruct icm_fr_event_device_connected {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu8 connection_key;\n\tu8 connection_id;\n\tu16 link_info;\n\tu32 ep_name[55];\n};\n\nstruct icm_fr_event_device_disconnected {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved;\n\tu16 link_info;\n};\n\nstruct icm_fr_event_xdomain_connected {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved;\n\tu16 link_info;\n\tuuid_t remote_uuid;\n\tuuid_t local_uuid;\n\tu32 local_route_hi;\n\tu32 local_route_lo;\n\tu32 remote_route_hi;\n\tu32 remote_route_lo;\n};\n\nstruct icm_fr_event_xdomain_disconnected {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved;\n\tu16 link_info;\n\tuuid_t remote_uuid;\n};\n\nstruct icm_fr_pkg_add_device_key {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu8 connection_key;\n\tu8 connection_id;\n\tu16 reserved;\n\tu32 key[8];\n};\n\nstruct icm_fr_pkg_add_device_key_response {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu8 connection_key;\n\tu8 connection_id;\n\tu16 reserved;\n};\n\nstruct icm_fr_pkg_approve_device {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu8 connection_key;\n\tu8 connection_id;\n\tu16 reserved;\n};\n\nstruct icm_fr_pkg_approve_xdomain {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved;\n\tu16 link_info;\n\tuuid_t remote_uuid;\n\tu16 transmit_path;\n\tu16 transmit_ring;\n\tu16 receive_path;\n\tu16 receive_ring;\n};\n\nstruct icm_fr_pkg_approve_xdomain_response {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved;\n\tu16 link_info;\n\tuuid_t remote_uuid;\n\tu16 transmit_path;\n\tu16 transmit_ring;\n\tu16 receive_path;\n\tu16 receive_ring;\n};\n\nstruct icm_fr_pkg_challenge_device {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu8 connection_key;\n\tu8 connection_id;\n\tu16 reserved;\n\tu32 challenge[8];\n};\n\nstruct icm_fr_pkg_challenge_device_response {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu8 connection_key;\n\tu8 connection_id;\n\tu16 reserved;\n\tu32 challenge[8];\n\tu32 response[8];\n};\n\nstruct icm_fr_pkg_driver_ready_response {\n\tstruct icm_pkg_header hdr;\n\tu8 romver;\n\tu8 ramver;\n\tu16 security_level;\n};\n\nstruct icm_fr_pkg_get_topology {\n\tstruct icm_pkg_header hdr;\n};\n\nstruct icm_fr_pkg_get_topology_response {\n\tstruct icm_pkg_header hdr;\n\tu32 route_lo;\n\tu32 route_hi;\n\tu8 first_data;\n\tu8 second_data;\n\tu8 drom_i2c_address_index;\n\tu8 switch_index;\n\tu32 reserved[2];\n\tu32 ports[16];\n\tu32 port_hop_info[16];\n};\n\nstruct icm_icl_event_rtd3_veto {\n\tstruct icm_pkg_header hdr;\n\tu32 veto_reason;\n};\n\nstruct icm_notification {\n\tstruct work_struct work;\n\tstruct icm_pkg_header *pkg;\n\tstruct tb *tb;\n};\n\nstruct icm_pkg_driver_ready {\n\tstruct icm_pkg_header hdr;\n};\n\nstruct icm_tr_event_device_connected {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu32 route_hi;\n\tu32 route_lo;\n\tu8 connection_id;\n\tu8 reserved;\n\tu16 link_info;\n\tu32 ep_name[55];\n};\n\nstruct icm_tr_event_device_disconnected {\n\tstruct icm_pkg_header hdr;\n\tu32 route_hi;\n\tu32 route_lo;\n};\n\nstruct icm_tr_event_xdomain_connected {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved;\n\tu16 link_info;\n\tuuid_t remote_uuid;\n\tuuid_t local_uuid;\n\tu32 local_route_hi;\n\tu32 local_route_lo;\n\tu32 remote_route_hi;\n\tu32 remote_route_lo;\n};\n\nstruct icm_tr_event_xdomain_disconnected {\n\tstruct icm_pkg_header hdr;\n\tu32 route_hi;\n\tu32 route_lo;\n\tuuid_t remote_uuid;\n};\n\nstruct icm_tr_pkg_add_device_key {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu32 route_hi;\n\tu32 route_lo;\n\tu8 connection_id;\n\tu8 reserved[3];\n\tu32 key[8];\n};\n\nstruct icm_tr_pkg_add_device_key_response {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu32 route_hi;\n\tu32 route_lo;\n\tu8 connection_id;\n\tu8 reserved[3];\n};\n\nstruct icm_tr_pkg_approve_device {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu32 route_hi;\n\tu32 route_lo;\n\tu8 connection_id;\n\tu8 reserved1[3];\n};\n\nstruct icm_tr_pkg_approve_xdomain {\n\tstruct icm_pkg_header hdr;\n\tu32 route_hi;\n\tu32 route_lo;\n\tuuid_t remote_uuid;\n\tu16 transmit_path;\n\tu16 transmit_ring;\n\tu16 receive_path;\n\tu16 receive_ring;\n};\n\nstruct icm_tr_pkg_approve_xdomain_response {\n\tstruct icm_pkg_header hdr;\n\tu32 route_hi;\n\tu32 route_lo;\n\tuuid_t remote_uuid;\n\tu16 transmit_path;\n\tu16 transmit_ring;\n\tu16 receive_path;\n\tu16 receive_ring;\n};\n\nstruct icm_tr_pkg_challenge_device {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu32 route_hi;\n\tu32 route_lo;\n\tu8 connection_id;\n\tu8 reserved[3];\n\tu32 challenge[8];\n};\n\nstruct icm_tr_pkg_challenge_device_response {\n\tstruct icm_pkg_header hdr;\n\tuuid_t ep_uuid;\n\tu32 route_hi;\n\tu32 route_lo;\n\tu8 connection_id;\n\tu8 reserved[3];\n\tu32 challenge[8];\n\tu32 response[8];\n};\n\nstruct icm_tr_pkg_disconnect_xdomain {\n\tstruct icm_pkg_header hdr;\n\tu8 stage;\n\tu8 reserved[3];\n\tu32 route_hi;\n\tu32 route_lo;\n\tuuid_t remote_uuid;\n};\n\nstruct icm_tr_pkg_disconnect_xdomain_response {\n\tstruct icm_pkg_header hdr;\n\tu8 stage;\n\tu8 reserved[3];\n\tu32 route_hi;\n\tu32 route_lo;\n\tuuid_t remote_uuid;\n};\n\nstruct icm_tr_pkg_driver_ready_response {\n\tstruct icm_pkg_header hdr;\n\tu16 reserved1;\n\tu16 info;\n\tu32 nvm_version;\n\tu16 device_id;\n\tu16 reserved2;\n};\n\nstruct icm_usb4_switch_op {\n\tstruct icm_pkg_header hdr;\n\tu32 route_hi;\n\tu32 route_lo;\n\tu32 metadata;\n\tu16 opcode;\n\tu16 data_len_valid;\n\tu32 data[16];\n};\n\nstruct icm_usb4_switch_op_response {\n\tstruct icm_pkg_header hdr;\n\tu32 route_hi;\n\tu32 route_lo;\n\tu32 metadata;\n\tu16 opcode;\n\tu16 status;\n\tu32 data[16];\n};\n\nstruct icmp6_err {\n\tint err;\n\tint fatal;\n};\n\nstruct icmp6_filter {\n\t__u32 data[8];\n};\n\nstruct icmpv6_echo {\n\t__be16 identifier;\n\t__be16 sequence;\n};\n\nstruct icmpv6_nd_advt {\n\t__u32 reserved: 5;\n\t__u32 override: 1;\n\t__u32 solicited: 1;\n\t__u32 router: 1;\n\t__u32 reserved2: 24;\n};\n\nstruct icmpv6_nd_ra {\n\t__u8 hop_limit;\n\t__u8 reserved: 3;\n\t__u8 router_pref: 2;\n\t__u8 home_agent: 1;\n\t__u8 other: 1;\n\t__u8 managed: 1;\n\t__be16 rt_lifetime;\n};\n\nstruct icmp6hdr {\n\t__u8 icmp6_type;\n\t__u8 icmp6_code;\n\t__sum16 icmp6_cksum;\n\tunion {\n\t\t__be32 un_data32[1];\n\t\t__be16 un_data16[2];\n\t\t__u8 un_data8[4];\n\t\tstruct icmpv6_echo u_echo;\n\t\tstruct icmpv6_nd_advt u_nd_advt;\n\t\tstruct icmpv6_nd_ra u_nd_ra;\n\t} icmp6_dataun;\n};\n\nstruct icmphdr {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 checksum;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 id;\n\t\t\t__be16 sequence;\n\t\t} echo;\n\t\t__be32 gateway;\n\t\tstruct {\n\t\t\t__be16 __unused;\n\t\t\t__be16 mtu;\n\t\t} frag;\n\t\t__u8 reserved[4];\n\t} un;\n};\n\nstruct ip_options {\n\t__be32 faddr;\n\t__be32 nexthop;\n\tunsigned char optlen;\n\tunsigned char srr;\n\tunsigned char rr;\n\tunsigned char ts;\n\tunsigned char is_strictroute: 1;\n\tunsigned char srr_is_hit: 1;\n\tunsigned char is_changed: 1;\n\tunsigned char rr_needaddr: 1;\n\tunsigned char ts_needtime: 1;\n\tunsigned char ts_needaddr: 1;\n\tunsigned char router_alert;\n\tunsigned char cipso;\n\tunsigned char __pad2;\n\tunsigned char __data[0];\n};\n\nstruct ip_options_rcu {\n\tstruct callback_head rcu;\n\tstruct ip_options opt;\n};\n\nstruct ip_options_data {\n\tstruct ip_options_rcu opt;\n\tchar data[40];\n};\n\nstruct icmp_bxm {\n\tstruct sk_buff *skb;\n\tint offset;\n\tint data_len;\n\tstruct {\n\t\tstruct icmphdr icmph;\n\t\t__be32 times[3];\n\t} data;\n\tint head_len;\n\tstruct ip_options_data replyopts;\n};\n\nstruct icmp_control {\n\tenum skb_drop_reason (*handler)(struct sk_buff *);\n\tshort int error;\n};\n\nstruct icmp_err {\n\tint errno;\n\tunsigned int fatal: 1;\n};\n\nstruct icmp_ext_echo_ctype3_hdr {\n\t__be16 afi;\n\t__u8 addrlen;\n\t__u8 reserved;\n};\n\nstruct icmp_extobj_hdr {\n\t__be16 length;\n\t__u8 class_num;\n\t__u8 class_type;\n};\n\nstruct icmp_ext_echo_iio {\n\tstruct icmp_extobj_hdr extobj_hdr;\n\tunion {\n\t\tchar name[16];\n\t\t__be32 ifindex;\n\t\tstruct {\n\t\t\tstruct icmp_ext_echo_ctype3_hdr ctype3_hdr;\n\t\t\tunion {\n\t\t\t\t__be32 ipv4_addr;\n\t\t\t\tstruct in6_addr ipv6_addr;\n\t\t\t} ip_addr;\n\t\t} addr;\n\t} ident;\n};\n\nstruct icmp_ext_hdr {\n\t__u8 reserved1: 4;\n\t__u8 version: 4;\n\t__u8 reserved2;\n\t__sum16 checksum;\n};\n\nstruct icmp_filter {\n\t__u32 data;\n};\n\nstruct icmp_mib {\n\tlong unsigned int mibs[30];\n};\n\nstruct icmpmsg_mib {\n\tatomic_long_t mibs[512];\n};\n\nstruct icmpv6_mib {\n\tlong unsigned int mibs[7];\n};\n\nstruct icmpv6_mib_device {\n\tatomic_long_t mibs[7];\n};\n\nstruct icmpv6_msg {\n\tstruct sk_buff *skb;\n\tint offset;\n\tuint8_t type;\n};\n\nstruct icmpv6msg_mib {\n\tatomic_long_t mibs[512];\n};\n\nstruct icmpv6msg_mib_device {\n\tatomic_long_t mibs[512];\n};\n\nstruct id_bitmap {\n\tlong unsigned int map[4];\n};\n\nstruct ida_bitmap {\n\tlong unsigned int bitmap[16];\n};\n\nstruct idempotent {\n\tconst void *cookie;\n\tstruct hlist_node entry;\n\tstruct completion complete;\n\tint ret;\n};\n\nstruct idle_timer {\n\tstruct hrtimer timer;\n\tint done;\n};\n\nstruct idmap_legacy_upcalldata;\n\nstruct idmap {\n\tstruct rpc_pipe_dir_object idmap_pdo;\n\tstruct rpc_pipe *idmap_pipe;\n\tstruct idmap_legacy_upcalldata *idmap_upcall_data;\n\tstruct mutex idmap_mutex;\n\tstruct user_namespace *user_ns;\n};\n\nstruct idmap_key {\n\tbool map_up;\n\tu32 id;\n\tu32 count;\n};\n\nstruct idmap_msg {\n\t__u8 im_type;\n\t__u8 im_conv;\n\tchar im_name[128];\n\t__u32 im_id;\n\t__u8 im_status;\n};\n\nstruct idmap_legacy_upcalldata {\n\tstruct rpc_pipe_msg pipe_msg;\n\tstruct idmap_msg idmap_msg;\n\tstruct key *authkey;\n\tstruct idmap *idmap;\n};\n\nstruct ieee1284_info {\n\tint mode;\n\tvolatile enum ieee1284_phase phase;\n\tstruct semaphore irq;\n};\n\nstruct ieee80211_channel {\n\tenum nl80211_band band;\n\tu32 center_freq;\n\tu16 freq_offset;\n\tu16 hw_value;\n\tu32 flags;\n\tint max_antenna_gain;\n\tint max_power;\n\tint max_reg_power;\n\tbool beacon_found;\n\tu32 orig_flags;\n\tint orig_mag;\n\tint orig_mpwr;\n\tenum nl80211_dfs_state dfs_state;\n\tlong unsigned int dfs_state_entered;\n\tunsigned int dfs_cac_ms;\n\ts8 psd;\n};\n\nstruct ieee80211_eht_cap_elem_fixed {\n\tu8 mac_cap_info[2];\n\tu8 phy_cap_info[9];\n};\n\nstruct ieee80211_eht_mcs_nss_supp_20mhz_only {\n\tunion {\n\t\tstruct {\n\t\t\tu8 rx_tx_mcs7_max_nss;\n\t\t\tu8 rx_tx_mcs9_max_nss;\n\t\t\tu8 rx_tx_mcs11_max_nss;\n\t\t\tu8 rx_tx_mcs13_max_nss;\n\t\t};\n\t\tu8 rx_tx_max_nss[4];\n\t};\n};\n\nstruct ieee80211_eht_mcs_nss_supp_bw {\n\tunion {\n\t\tstruct {\n\t\t\tu8 rx_tx_mcs9_max_nss;\n\t\t\tu8 rx_tx_mcs11_max_nss;\n\t\t\tu8 rx_tx_mcs13_max_nss;\n\t\t};\n\t\tu8 rx_tx_max_nss[3];\n\t};\n};\n\nstruct ieee80211_eht_mcs_nss_supp {\n\tunion {\n\t\tstruct ieee80211_eht_mcs_nss_supp_20mhz_only only_20mhz;\n\t\tstruct {\n\t\t\tstruct ieee80211_eht_mcs_nss_supp_bw _80;\n\t\t\tstruct ieee80211_eht_mcs_nss_supp_bw _160;\n\t\t\tstruct ieee80211_eht_mcs_nss_supp_bw _320;\n\t\t} bw;\n\t};\n};\n\nstruct ieee80211_freq_range {\n\tu32 start_freq_khz;\n\tu32 end_freq_khz;\n\tu32 max_bandwidth_khz;\n};\n\nstruct ieee80211_he_6ghz_capa {\n\t__le16 capa;\n};\n\nstruct ieee80211_he_cap_elem {\n\tu8 mac_cap_info[6];\n\tu8 phy_cap_info[11];\n};\n\nstruct ieee80211_he_mcs_nss_supp {\n\t__le16 rx_mcs_80;\n\t__le16 tx_mcs_80;\n\t__le16 rx_mcs_160;\n\t__le16 tx_mcs_160;\n\t__le16 rx_mcs_80p80;\n\t__le16 tx_mcs_80p80;\n};\n\nstruct ieee80211_iface_limit;\n\nstruct ieee80211_iface_combination {\n\tconst struct ieee80211_iface_limit *limits;\n\tu32 num_different_channels;\n\tu16 max_interfaces;\n\tu8 n_limits;\n\tbool beacon_int_infra_match;\n\tu8 radar_detect_widths;\n\tu8 radar_detect_regions;\n\tu32 beacon_int_min_gcd;\n};\n\nstruct ieee80211_iface_limit {\n\tu16 max;\n\tu16 types;\n};\n\nstruct ieee80211_power_rule {\n\tu32 max_antenna_gain;\n\tu32 max_eirp;\n};\n\nstruct ieee80211_rate {\n\tu32 flags;\n\tu16 bitrate;\n\tu16 hw_value;\n\tu16 hw_value_short;\n};\n\nstruct ieee80211_wmm_ac {\n\tu16 cw_min;\n\tu16 cw_max;\n\tu16 cot;\n\tu8 aifsn;\n};\n\nstruct ieee80211_wmm_rule {\n\tstruct ieee80211_wmm_ac client[4];\n\tstruct ieee80211_wmm_ac ap[4];\n};\n\nstruct ieee80211_reg_rule {\n\tstruct ieee80211_freq_range freq_range;\n\tstruct ieee80211_power_rule power_rule;\n\tstruct ieee80211_wmm_rule wmm_rule;\n\tu32 flags;\n\tu32 dfs_cac_ms;\n\tbool has_wmm;\n\ts8 psd;\n};\n\nstruct ieee80211_regdomain {\n\tstruct callback_head callback_head;\n\tu32 n_reg_rules;\n\tchar alpha2[3];\n\tenum nl80211_dfs_regions dfs_region;\n\tstruct ieee80211_reg_rule reg_rules[0];\n};\n\nstruct ieee80211_sta_he_cap {\n\tbool has_he;\n\tstruct ieee80211_he_cap_elem he_cap_elem;\n\tstruct ieee80211_he_mcs_nss_supp he_mcs_nss_supp;\n\tu8 ppe_thres[25];\n} __attribute__((packed));\n\nstruct ieee80211_sta_eht_cap {\n\tbool has_eht;\n\tstruct ieee80211_eht_cap_elem_fixed eht_cap_elem;\n\tstruct ieee80211_eht_mcs_nss_supp eht_mcs_nss_supp;\n\tu8 eht_ppe_thres[32];\n};\n\nstruct ieee80211_sband_iftype_data {\n\tu16 types_mask;\n\tstruct ieee80211_sta_he_cap he_cap;\n\tstruct ieee80211_he_6ghz_capa he_6ghz_capa;\n\tstruct ieee80211_sta_eht_cap eht_cap;\n\tstruct {\n\t\tconst u8 *data;\n\t\tunsigned int len;\n\t} vendor_elems;\n} __attribute__((packed));\n\nstruct ieee80211_sta_ht_cap {\n\tu16 cap;\n\tbool ht_supported;\n\tu8 ampdu_factor;\n\tu8 ampdu_density;\n\tstruct ieee80211_mcs_info mcs;\n\tshort: 0;\n} __attribute__((packed));\n\nstruct ieee80211_sta_s1g_cap {\n\tbool s1g;\n\tu8 cap[10];\n\tu8 nss_mcs[5];\n};\n\nstruct ieee80211_sta_vht_cap {\n\tbool vht_supported;\n\tu32 cap;\n\tstruct ieee80211_vht_mcs_info vht_mcs;\n};\n\nstruct ieee80211_supported_band {\n\tstruct ieee80211_channel *channels;\n\tstruct ieee80211_rate *bitrates;\n\tenum nl80211_band band;\n\tint n_channels;\n\tint n_bitrates;\n\tstruct ieee80211_sta_ht_cap ht_cap;\n\tstruct ieee80211_sta_vht_cap vht_cap;\n\tstruct ieee80211_sta_s1g_cap s1g_cap;\n\tstruct ieee80211_edmg edmg_cap;\n\tu16 n_iftype_data;\n\tconst struct ieee80211_sband_iftype_data *iftype_data;\n};\n\nstruct ieee80211_txrx_stypes {\n\tu16 tx;\n\tu16 rx;\n};\n\nstruct ieee_ets {\n\t__u8 willing;\n\t__u8 ets_cap;\n\t__u8 cbs;\n\t__u8 tc_tx_bw[8];\n\t__u8 tc_rx_bw[8];\n\t__u8 tc_tsa[8];\n\t__u8 prio_tc[8];\n\t__u8 tc_reco_bw[8];\n\t__u8 tc_reco_tsa[8];\n\t__u8 reco_prio_tc[8];\n};\n\nstruct ieee_pfc {\n\t__u8 pfc_cap;\n\t__u8 pfc_en;\n\t__u8 mbc;\n\t__u16 delay;\n\t__u64 requests[8];\n\t__u64 indications[8];\n};\n\nstruct if6_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n\tint offset;\n};\n\nstruct if_dqblk {\n\t__u64 dqb_bhardlimit;\n\t__u64 dqb_bsoftlimit;\n\t__u64 dqb_curspace;\n\t__u64 dqb_ihardlimit;\n\t__u64 dqb_isoftlimit;\n\t__u64 dqb_curinodes;\n\t__u64 dqb_btime;\n\t__u64 dqb_itime;\n\t__u32 dqb_valid;\n};\n\nstruct if_dqinfo {\n\t__u64 dqi_bgrace;\n\t__u64 dqi_igrace;\n\t__u32 dqi_flags;\n\t__u32 dqi_valid;\n};\n\nstruct if_nextdqblk {\n\t__u64 dqb_bhardlimit;\n\t__u64 dqb_bsoftlimit;\n\t__u64 dqb_curspace;\n\t__u64 dqb_ihardlimit;\n\t__u64 dqb_isoftlimit;\n\t__u64 dqb_curinodes;\n\t__u64 dqb_btime;\n\t__u64 dqb_itime;\n\t__u32 dqb_valid;\n\t__u32 dqb_id;\n};\n\nstruct if_set {\n\tif_mask ifs_bits[8];\n};\n\nstruct if_settings {\n\tunsigned int type;\n\tunsigned int size;\n\tunion {\n\t\traw_hdlc_proto *raw_hdlc;\n\t\tcisco_proto *cisco;\n\t\tfr_proto *fr;\n\t\tfr_proto_pvc *fr_pvc;\n\t\tfr_proto_pvc_info *fr_pvc_info;\n\t\tx25_hdlc_proto *x25;\n\t\tsync_serial_settings *sync;\n\t\tte1_settings *te1;\n\t} ifs_ifsu;\n};\n\nstruct if_stats_msg {\n\t__u8 family;\n\t__u8 pad1;\n\t__u16 pad2;\n\t__u32 ifindex;\n\t__u32 filter_mask;\n};\n\nstruct ifa6_config {\n\tconst struct in6_addr *pfx;\n\tunsigned int plen;\n\tu8 ifa_proto;\n\tconst struct in6_addr *peer_pfx;\n\tu32 rt_priority;\n\tu32 ifa_flags;\n\tu32 preferred_lft;\n\tu32 valid_lft;\n\tu16 scope;\n};\n\nstruct ifa_cacheinfo {\n\t__u32 ifa_prefered;\n\t__u32 ifa_valid;\n\t__u32 cstamp;\n\t__u32 tstamp;\n};\n\nstruct ifacaddr6 {\n\tstruct in6_addr aca_addr;\n\tstruct fib6_info *aca_rt;\n\tstruct ifacaddr6 *aca_next;\n\tstruct hlist_node aca_addr_lst;\n\tint aca_users;\n\trefcount_t aca_refcnt;\n\tlong unsigned int aca_cstamp;\n\tlong unsigned int aca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ifaddrlblmsg {\n\t__u8 ifal_family;\n\t__u8 __ifal_reserved;\n\t__u8 ifal_prefixlen;\n\t__u8 ifal_flags;\n\t__u32 ifal_index;\n\t__u32 ifal_seq;\n};\n\nstruct ifaddrmsg {\n\t__u8 ifa_family;\n\t__u8 ifa_prefixlen;\n\t__u8 ifa_flags;\n\t__u8 ifa_scope;\n\t__u32 ifa_index;\n};\n\nstruct ifbond {\n\t__s32 bond_mode;\n\t__s32 num_slaves;\n\t__s32 miimon;\n};\n\ntypedef struct ifbond ifbond;\n\nstruct ifreq;\n\nstruct ifconf {\n\tint ifc_len;\n\tunion {\n\t\tchar *ifcu_buf;\n\t\tstruct ifreq *ifcu_req;\n\t} ifc_ifcu;\n};\n\nstruct ifinfomsg {\n\tunsigned char ifi_family;\n\tunsigned char __ifi_pad;\n\tshort unsigned int ifi_type;\n\tint ifi_index;\n\tunsigned int ifi_flags;\n\tunsigned int ifi_change;\n};\n\nstruct ifla_cacheinfo {\n\t__u32 max_reasm_len;\n\t__u32 tstamp;\n\t__u32 reachable_time;\n\t__u32 retrans_time;\n};\n\nstruct ifla_vf_broadcast {\n\t__u8 broadcast[32];\n};\n\nstruct ifla_vf_guid {\n\t__u32 vf;\n\t__u64 guid;\n};\n\nstruct ifla_vf_info {\n\t__u32 vf;\n\t__u8 mac[32];\n\t__u32 vlan;\n\t__u32 qos;\n\t__u32 spoofchk;\n\t__u32 linkstate;\n\t__u32 min_tx_rate;\n\t__u32 max_tx_rate;\n\t__u32 rss_query_en;\n\t__u32 trusted;\n\t__be16 vlan_proto;\n};\n\nstruct ifla_vf_link_state {\n\t__u32 vf;\n\t__u32 link_state;\n};\n\nstruct ifla_vf_mac {\n\t__u32 vf;\n\t__u8 mac[32];\n};\n\nstruct ifla_vf_rate {\n\t__u32 vf;\n\t__u32 min_tx_rate;\n\t__u32 max_tx_rate;\n};\n\nstruct ifla_vf_rss_query_en {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_spoofchk {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_stats {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 broadcast;\n\t__u64 multicast;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n};\n\nstruct ifla_vf_trust {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_tx_rate {\n\t__u32 vf;\n\t__u32 rate;\n};\n\nstruct ifla_vf_vlan {\n\t__u32 vf;\n\t__u32 vlan;\n\t__u32 qos;\n};\n\nstruct ifla_vf_vlan_info {\n\t__u32 vf;\n\t__u32 vlan;\n\t__u32 qos;\n\t__be16 vlan_proto;\n};\n\nstruct ifla_vxlan_port_range {\n\t__be16 low;\n\t__be16 high;\n};\n\nstruct ifmap {\n\tlong unsigned int mem_start;\n\tlong unsigned int mem_end;\n\tshort unsigned int base_addr;\n\tunsigned char irq;\n\tunsigned char dma;\n\tunsigned char port;\n};\n\nstruct inet6_dev;\n\nstruct ip6_sf_list;\n\nstruct ifmcaddr6 {\n\tstruct in6_addr mca_addr;\n\tstruct inet6_dev *idev;\n\tstruct ifmcaddr6 *next;\n\tstruct ip6_sf_list *mca_sources;\n\tstruct ip6_sf_list *mca_tomb;\n\tunsigned int mca_sfmode;\n\tunsigned char mca_crcount;\n\tlong unsigned int mca_sfcount[2];\n\tstruct delayed_work mca_work;\n\tunsigned int mca_flags;\n\tint mca_users;\n\trefcount_t mca_refcnt;\n\tlong unsigned int mca_cstamp;\n\tlong unsigned int mca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ifreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion {\n\t\tstruct sockaddr ifru_addr;\n\t\tstruct sockaddr ifru_dstaddr;\n\t\tstruct sockaddr ifru_broadaddr;\n\t\tstruct sockaddr ifru_netmask;\n\t\tstruct sockaddr ifru_hwaddr;\n\t\tshort int ifru_flags;\n\t\tint ifru_ivalue;\n\t\tint ifru_mtu;\n\t\tstruct ifmap ifru_map;\n\t\tchar ifru_slave[16];\n\t\tchar ifru_newname[16];\n\t\tvoid *ifru_data;\n\t\tstruct if_settings ifru_settings;\n\t} ifr_ifru;\n};\n\nstruct ifslave {\n\t__s32 slave_id;\n\tchar slave_name[16];\n\t__s8 link;\n\t__s8 state;\n\t__u32 link_failure_count;\n};\n\ntypedef struct ifslave ifslave;\n\nstruct msix_entry {\n\tu32 vector;\n\tu16 entry;\n};\n\nstruct rtnl_link_stats64 {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 rx_errors;\n\t__u64 tx_errors;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n\t__u64 multicast;\n\t__u64 collisions;\n\t__u64 rx_length_errors;\n\t__u64 rx_over_errors;\n\t__u64 rx_crc_errors;\n\t__u64 rx_frame_errors;\n\t__u64 rx_fifo_errors;\n\t__u64 rx_missed_errors;\n\t__u64 tx_aborted_errors;\n\t__u64 tx_carrier_errors;\n\t__u64 tx_fifo_errors;\n\t__u64 tx_heartbeat_errors;\n\t__u64 tx_window_errors;\n\t__u64 rx_compressed;\n\t__u64 tx_compressed;\n\t__u64 rx_nohandler;\n\t__u64 rx_otherhost_dropped;\n};\n\nstruct igb_tx_queue_stats {\n\tu64 packets;\n\tu64 bytes;\n\tu64 restart_queue;\n\tu64 restart_queue2;\n};\n\nstruct igb_rx_queue_stats {\n\tu64 packets;\n\tu64 bytes;\n\tu64 drops;\n\tu64 csum_err;\n\tu64 alloc_failed;\n};\n\nstruct xdp_mem_info {\n\tu32 type;\n\tu32 id;\n};\n\nstruct xdp_rxq_info {\n\tstruct net_device *dev;\n\tu32 queue_index;\n\tu32 reg_state;\n\tstruct xdp_mem_info mem;\n\tu32 frag_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct igb_q_vector;\n\nstruct igb_tx_buffer;\n\nstruct igb_rx_buffer;\n\nstruct xsk_buff_pool;\n\nstruct igb_ring {\n\tstruct igb_q_vector *q_vector;\n\tstruct net_device *netdev;\n\tstruct bpf_prog *xdp_prog;\n\tstruct device *dev;\n\tunion {\n\t\tstruct igb_tx_buffer *tx_buffer_info;\n\t\tstruct igb_rx_buffer *rx_buffer_info;\n\t\tstruct xdp_buff **rx_buffer_info_zc;\n\t};\n\tvoid *desc;\n\tlong unsigned int flags;\n\tvoid *tail;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tu16 count;\n\tu8 queue_index;\n\tu8 reg_idx;\n\tbool launchtime_enable;\n\tbool cbs_enable;\n\ts32 idleslope;\n\ts32 sendslope;\n\ts32 hicredit;\n\ts32 locredit;\n\tu16 next_to_clean;\n\tu16 next_to_use;\n\tu16 next_to_alloc;\n\tunion {\n\t\tstruct {\n\t\t\tstruct igb_tx_queue_stats tx_stats;\n\t\t\tstruct u64_stats_sync tx_syncp;\n\t\t\tstruct u64_stats_sync tx_syncp2;\n\t\t};\n\t\tstruct {\n\t\t\tstruct sk_buff *skb;\n\t\t\tstruct igb_rx_queue_stats rx_stats;\n\t\t\tstruct u64_stats_sync rx_syncp;\n\t\t};\n\t};\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct xsk_buff_pool *xsk_pool;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ptp_pin_desc {\n\tchar name[64];\n\tunsigned int index;\n\tunsigned int func;\n\tunsigned int chan;\n\tunsigned int rsv[5];\n};\n\nstruct vf_mac_filter {\n\tstruct list_head l;\n\tint vf;\n\tbool free;\n\tu8 vf_mac[6];\n};\n\nstruct vf_data_storage;\n\nstruct igb_mac_addr;\n\nstruct igb_adapter {\n\tlong unsigned int active_vlans[64];\n\tstruct net_device *netdev;\n\tstruct bpf_prog *xdp_prog;\n\tlong unsigned int state;\n\tunsigned int flags;\n\tunsigned int num_q_vectors;\n\tstruct msix_entry msix_entries[10];\n\tu32 rx_itr_setting;\n\tu32 tx_itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tu16 tx_work_limit;\n\tu32 tx_timeout_count;\n\tint num_tx_queues;\n\tstruct igb_ring *tx_ring[16];\n\tint num_rx_queues;\n\tstruct igb_ring *rx_ring[16];\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tstruct timer_list watchdog_timer;\n\tstruct timer_list phy_info_timer;\n\tu16 mng_vlan_id;\n\tu32 bd_number;\n\tu32 wol;\n\tu32 en_mng_pt;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tu8 *io_addr;\n\tstruct work_struct reset_task;\n\tstruct work_struct watchdog_task;\n\tbool fc_autoneg;\n\tu8 tx_timeout_factor;\n\tstruct timer_list blink_timer;\n\tlong unsigned int led_status;\n\tstruct pci_dev *pdev;\n\tspinlock_t stats64_lock;\n\tstruct rtnl_link_stats64 stats64;\n\tstruct e1000_hw___3 hw;\n\tstruct e1000_hw_stats___3 stats;\n\tstruct e1000_phy_info___3 phy_info;\n\tu32 test_icr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct igb_ring test_tx_ring;\n\tstruct igb_ring test_rx_ring;\n\tint msg_enable;\n\tstruct igb_q_vector *q_vector[8];\n\tu32 eims_enable_mask;\n\tu32 eims_other;\n\tu16 tx_ring_count;\n\tu16 rx_ring_count;\n\tunsigned int vfs_allocated_count;\n\tstruct vf_data_storage *vf_data;\n\tint vf_rate_link_speed;\n\tu32 rss_queues;\n\tu32 wvbr;\n\tu32 *shadow_vfta;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_caps;\n\tstruct delayed_work ptp_overflow_work;\n\tstruct work_struct ptp_tx_work;\n\tstruct sk_buff *ptp_tx_skb;\n\tstruct hwtstamp_config tstamp_config;\n\tlong unsigned int ptp_tx_start;\n\tlong unsigned int last_rx_ptp_check;\n\tlong unsigned int last_rx_timestamp;\n\tunsigned int ptp_flags;\n\tspinlock_t tmreg_lock;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tu32 tx_hwtstamp_timeouts;\n\tu32 tx_hwtstamp_skipped;\n\tu32 rx_hwtstamp_cleared;\n\tbool pps_sys_wrap_on;\n\tstruct ptp_pin_desc sdp_config[4];\n\tstruct {\n\t\tstruct timespec64 start;\n\t\tstruct timespec64 period;\n\t} perout[2];\n\tchar fw_version[48];\n\tstruct hwmon_buff *igb_hwmon_buff;\n\tbool ets;\n\tstruct i2c_algo_bit_data i2c_algo;\n\tstruct i2c_adapter i2c_adap;\n\tstruct i2c_client *i2c_client;\n\tu32 rss_indir_tbl_init;\n\tu8 rss_indir_tbl[128];\n\tlong unsigned int link_check_timeout;\n\tint copper_tries;\n\tstruct e1000_info___2 ei;\n\tu16 eee_advert;\n\tstruct hlist_head nfc_filter_list;\n\tstruct hlist_head cls_flower_list;\n\tunsigned int nfc_filter_count;\n\tspinlock_t nfc_lock;\n\tbool etype_bitmap[3];\n\tstruct igb_mac_addr *mac_table;\n\tstruct vf_mac_filter vf_macs;\n\tstruct vf_mac_filter *vf_mac_list;\n\tspinlock_t vfs_lock;\n};\n\nstruct igb_mac_addr {\n\tu8 addr[6];\n\tu8 queue;\n\tu8 state;\n};\n\nstruct igb_nfc_input {\n\tu8 match_flags;\n\t__be16 etype;\n\t__be16 vlan_tci;\n\tu8 src_addr[6];\n\tu8 dst_addr[6];\n};\n\nstruct igb_nfc_filter {\n\tstruct hlist_node nfc_node;\n\tstruct igb_nfc_input filter;\n\tlong unsigned int cookie;\n\tu16 etype_reg_index;\n\tu16 sw_idx;\n\tu16 action;\n};\n\nstruct igb_ring_container {\n\tstruct igb_ring *ring;\n\tunsigned int total_bytes;\n\tunsigned int total_packets;\n\tu16 work_limit;\n\tu8 count;\n\tu8 itr;\n};\n\nstruct igb_q_vector {\n\tstruct igb_adapter *adapter;\n\tint cpu;\n\tu32 eims_value;\n\tu16 itr_val;\n\tu8 set_itr;\n\tvoid *itr_register;\n\tstruct igb_ring_container rx;\n\tstruct igb_ring_container tx;\n\tstruct napi_struct napi;\n\tstruct callback_head rcu;\n\tchar name[25];\n\tlong: 64;\n\tlong: 64;\n\tstruct igb_ring ring[0];\n};\n\nstruct igb_reg_info {\n\tu32 ofs;\n\tchar *name;\n};\n\nstruct igb_reg_test {\n\tu16 reg;\n\tu16 reg_offset;\n\tu16 array_len;\n\tu16 test_type;\n\tu32 mask;\n\tu32 write;\n};\n\nstruct igb_rx_buffer {\n\tdma_addr_t dma;\n\tstruct page *page;\n\t__u32 page_offset;\n\t__u16 pagecnt_bias;\n};\n\nstruct igb_stats {\n\tchar stat_string[32];\n\tint sizeof_stat;\n\tint stat_offset;\n};\n\nstruct xdp_frame;\n\nstruct igb_tx_buffer {\n\tunion e1000_adv_tx_desc *next_to_watch;\n\tlong unsigned int time_stamp;\n\tenum igb_tx_buf_type type;\n\tunion {\n\t\tstruct sk_buff *skb;\n\t\tstruct xdp_frame *xdpf;\n\t};\n\tunsigned int bytecount;\n\tu16 gso_segs;\n\t__be16 protocol;\n\tdma_addr_t dma;\n\t__u32 len;\n\tu32 tx_flags;\n};\n\nstruct igmp6_mc_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct inet6_dev *idev;\n};\n\nstruct igmp6_mcf_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct inet6_dev *idev;\n\tstruct ifmcaddr6 *im;\n};\n\nstruct in_device;\n\nstruct igmp_mc_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct in_device *in_dev;\n};\n\nstruct ip_mc_list;\n\nstruct igmp_mcf_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct in_device *idev;\n\tstruct ip_mc_list *im;\n};\n\nstruct igmphdr {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 csum;\n\t__be32 group;\n};\n\nstruct igmpmsg {\n\t__u32 unused1;\n\t__u32 unused2;\n\tunsigned char im_msgtype;\n\tunsigned char im_mbz;\n\tunsigned char im_vif;\n\tunsigned char im_vif_hi;\n\tstruct in_addr im_src;\n\tstruct in_addr im_dst;\n};\n\nstruct igmpv3_grec {\n\t__u8 grec_type;\n\t__u8 grec_auxwords;\n\t__be16 grec_nsrcs;\n\t__be32 grec_mca;\n\t__be32 grec_src[0];\n};\n\nstruct igmpv3_query {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 csum;\n\t__be32 group;\n\t__u8 qrv: 3;\n\t__u8 suppress: 1;\n\t__u8 resv: 4;\n\t__u8 qqic;\n\t__be16 nsrcs;\n\t__be32 srcs[0];\n};\n\nstruct igmpv3_report {\n\t__u8 type;\n\t__u8 resv1;\n\t__sum16 csum;\n\t__be16 resv2;\n\t__be16 ngrec;\n\tstruct igmpv3_grec grec[0];\n};\n\nstruct in6_flowlabel_req {\n\tstruct in6_addr flr_dst;\n\t__be32 flr_label;\n\t__u8 flr_action;\n\t__u8 flr_share;\n\t__u16 flr_flags;\n\t__u16 flr_expires;\n\t__u16 flr_linger;\n\t__u32 __flr_pad;\n};\n\nstruct in6_ifreq {\n\tstruct in6_addr ifr6_addr;\n\t__u32 ifr6_prefixlen;\n\tint ifr6_ifindex;\n};\n\nstruct in6_pktinfo {\n\tstruct in6_addr ipi6_addr;\n\tint ipi6_ifindex;\n};\n\nstruct in6_rtmsg {\n\tstruct in6_addr rtmsg_dst;\n\tstruct in6_addr rtmsg_src;\n\tstruct in6_addr rtmsg_gateway;\n\t__u32 rtmsg_type;\n\t__u16 rtmsg_dst_len;\n\t__u16 rtmsg_src_len;\n\t__u32 rtmsg_metric;\n\tlong unsigned int rtmsg_info;\n\t__u32 rtmsg_flags;\n\tint rtmsg_ifindex;\n};\n\nstruct in6_validator_info {\n\tstruct in6_addr i6vi_addr;\n\tstruct inet6_dev *i6vi_dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct ipv4_devconf {\n\tvoid *sysctl;\n\tint data[33];\n\tlong unsigned int state[1];\n};\n\nstruct in_ifaddr;\n\nstruct neigh_parms;\n\nstruct in_device {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\trefcount_t refcnt;\n\tint dead;\n\tstruct in_ifaddr *ifa_list;\n\tstruct ip_mc_list *mc_list;\n\tstruct ip_mc_list **mc_hash;\n\tint mc_count;\n\tspinlock_t mc_tomb_lock;\n\tstruct ip_mc_list *mc_tomb;\n\tlong unsigned int mr_v1_seen;\n\tlong unsigned int mr_v2_seen;\n\tlong unsigned int mr_maxdelay;\n\tlong unsigned int mr_qi;\n\tlong unsigned int mr_qri;\n\tunsigned char mr_qrv;\n\tunsigned char mr_gq_running;\n\tu32 mr_ifc_count;\n\tstruct timer_list mr_gq_timer;\n\tstruct timer_list mr_ifc_timer;\n\tstruct neigh_parms *arp_parms;\n\tstruct ipv4_devconf cnf;\n\tstruct callback_head callback_head;\n};\n\nstruct in_ifaddr {\n\tstruct hlist_node addr_lst;\n\tstruct in_ifaddr *ifa_next;\n\tstruct in_device *ifa_dev;\n\tstruct callback_head callback_head;\n\t__be32 ifa_local;\n\t__be32 ifa_address;\n\t__be32 ifa_mask;\n\t__u32 ifa_rt_priority;\n\t__be32 ifa_broadcast;\n\tunsigned char ifa_scope;\n\tunsigned char ifa_prefixlen;\n\tunsigned char ifa_proto;\n\t__u32 ifa_flags;\n\tchar ifa_label[16];\n\t__u32 ifa_valid_lft;\n\t__u32 ifa_preferred_lft;\n\tlong unsigned int ifa_cstamp;\n\tlong unsigned int ifa_tstamp;\n};\n\nstruct in_pktinfo {\n\tint ipi_ifindex;\n\tstruct in_addr ipi_spec_dst;\n\tstruct in_addr ipi_addr;\n};\n\nstruct in_validator_info {\n\t__be32 ivi_addr;\n\tstruct in_device *ivi_dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct indirectEntry {\n\tstruct tag descTag;\n\tstruct icbtag icbTag;\n\tstruct long_ad indirectICB;\n};\n\nstruct ipv6_txoptions;\n\nstruct inet6_cork {\n\tstruct ipv6_txoptions *opt;\n\tu8 hop_limit;\n\tu8 tclass;\n};\n\nstruct ipv6_stable_secret {\n\tbool initialized;\n\tstruct in6_addr secret;\n};\n\nstruct ipv6_devconf {\n\t__u8 __cacheline_group_begin__ipv6_devconf_read_txrx[0];\n\t__s32 disable_ipv6;\n\t__s32 hop_limit;\n\t__s32 mtu6;\n\t__s32 forwarding;\n\t__s32 disable_policy;\n\t__s32 proxy_ndp;\n\t__u8 __cacheline_group_end__ipv6_devconf_read_txrx[0];\n\t__s32 accept_ra;\n\t__s32 accept_redirects;\n\t__s32 autoconf;\n\t__s32 dad_transmits;\n\t__s32 rtr_solicits;\n\t__s32 rtr_solicit_interval;\n\t__s32 rtr_solicit_max_interval;\n\t__s32 rtr_solicit_delay;\n\t__s32 force_mld_version;\n\t__s32 mldv1_unsolicited_report_interval;\n\t__s32 mldv2_unsolicited_report_interval;\n\t__s32 use_tempaddr;\n\t__s32 temp_valid_lft;\n\t__s32 temp_prefered_lft;\n\t__s32 regen_min_advance;\n\t__s32 regen_max_retry;\n\t__s32 max_desync_factor;\n\t__s32 max_addresses;\n\t__s32 accept_ra_defrtr;\n\t__u32 ra_defrtr_metric;\n\t__s32 accept_ra_min_hop_limit;\n\t__s32 accept_ra_min_lft;\n\t__s32 accept_ra_pinfo;\n\t__s32 ignore_routes_with_linkdown;\n\t__s32 accept_ra_rtr_pref;\n\t__s32 rtr_probe_interval;\n\t__s32 accept_ra_rt_info_min_plen;\n\t__s32 accept_ra_rt_info_max_plen;\n\t__s32 accept_source_route;\n\t__s32 accept_ra_from_local;\n\tatomic_t mc_forwarding;\n\t__s32 drop_unicast_in_l2_multicast;\n\t__s32 accept_dad;\n\t__s32 force_tllao;\n\t__s32 ndisc_notify;\n\t__s32 suppress_frag_ndisc;\n\t__s32 accept_ra_mtu;\n\t__s32 drop_unsolicited_na;\n\t__s32 accept_untracked_na;\n\tstruct ipv6_stable_secret stable_secret;\n\t__s32 use_oif_addrs_only;\n\t__s32 keep_addr_on_down;\n\t__s32 seg6_enabled;\n\t__u32 enhanced_dad;\n\t__u32 addr_gen_mode;\n\t__s32 ndisc_tclass;\n\t__s32 rpl_seg_enabled;\n\t__u32 ioam6_id;\n\t__u32 ioam6_id_wide;\n\t__u8 ioam6_enabled;\n\t__u8 ndisc_evict_nocarrier;\n\t__u8 ra_honor_pio_life;\n\t__u8 ra_honor_pio_pflag;\n\tstruct ctl_table_header *sysctl_header;\n};\n\nstruct ipstats_mib;\n\nstruct ipv6_devstat {\n\tstruct proc_dir_entry *proc_dir_entry;\n\tstruct ipstats_mib *ipv6;\n\tstruct icmpv6_mib_device *icmpv6dev;\n\tstruct icmpv6msg_mib_device *icmpv6msgdev;\n};\n\nstruct inet6_dev {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head addr_list;\n\tstruct ifmcaddr6 *mc_list;\n\tstruct ifmcaddr6 *mc_tomb;\n\tunsigned char mc_qrv;\n\tunsigned char mc_gq_running;\n\tunsigned char mc_ifc_count;\n\tunsigned char mc_dad_count;\n\tlong unsigned int mc_v1_seen;\n\tlong unsigned int mc_qi;\n\tlong unsigned int mc_qri;\n\tlong unsigned int mc_maxdelay;\n\tstruct delayed_work mc_gq_work;\n\tstruct delayed_work mc_ifc_work;\n\tstruct delayed_work mc_dad_work;\n\tstruct delayed_work mc_query_work;\n\tstruct delayed_work mc_report_work;\n\tstruct sk_buff_head mc_query_queue;\n\tstruct sk_buff_head mc_report_queue;\n\tspinlock_t mc_query_lock;\n\tspinlock_t mc_report_lock;\n\tstruct mutex mc_lock;\n\tstruct ifacaddr6 *ac_list;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\t__u32 if_flags;\n\tint dead;\n\tu32 desync_factor;\n\tstruct list_head tempaddr_list;\n\tstruct in6_addr token;\n\tstruct neigh_parms *nd_parms;\n\tstruct ipv6_devconf cnf;\n\tstruct ipv6_devstat stats;\n\tstruct timer_list rs_timer;\n\t__s32 rs_interval;\n\t__u8 rs_probes;\n\tlong unsigned int tstamp;\n\tstruct callback_head rcu;\n\tunsigned int ra_mtu;\n};\n\nstruct inet6_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint event;\n\tunsigned int flags;\n\tint netnsid;\n\tint ifindex;\n\tenum addr_type_t type;\n\tbool force_rt_scope_universe;\n};\n\nstruct inet6_ifaddr {\n\tstruct in6_addr addr;\n\t__u32 prefix_len;\n\t__u32 rt_priority;\n\t__u32 valid_lft;\n\t__u32 prefered_lft;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tint state;\n\t__u32 flags;\n\t__u8 dad_probes;\n\t__u8 stable_privacy_retry;\n\t__u16 scope;\n\t__u64 dad_nonce;\n\tlong unsigned int cstamp;\n\tlong unsigned int tstamp;\n\tstruct delayed_work dad_work;\n\tstruct inet6_dev *idev;\n\tstruct fib6_info *rt;\n\tstruct hlist_node addr_lst;\n\tstruct list_head if_list;\n\tstruct list_head if_list_aux;\n\tstruct list_head tmp_list;\n\tstruct inet6_ifaddr *ifpub;\n\tint regen_count;\n\tbool tokenized;\n\tu8 ifa_proto;\n\tstruct callback_head rcu;\n\tstruct in6_addr peer_addr;\n};\n\nstruct inet6_skb_parm;\n\nstruct inet6_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n\tunsigned int flags;\n\tu32 secret;\n};\n\nstruct inet6_skb_parm {\n\tint iif;\n\t__be16 ra;\n\t__u16 dst0;\n\t__u16 srcrt;\n\t__u16 dst1;\n\t__u16 lastopt;\n\t__u16 nhoff;\n\t__u16 flags;\n\t__u16 frag_max_size;\n\t__u16 srhoff;\n};\n\nstruct inet_bind2_bucket {\n\tpossible_net_t ib_net;\n\tint l3mdev;\n\tshort unsigned int port;\n\tshort unsigned int addr_type;\n\tstruct in6_addr v6_rcv_saddr;\n\tstruct hlist_node node;\n\tstruct hlist_node bhash_node;\n\tstruct hlist_head owners;\n};\n\nstruct inet_bind_bucket {\n\tpossible_net_t ib_net;\n\tint l3mdev;\n\tshort unsigned int port;\n\tsigned char fastreuse;\n\tsigned char fastreuseport;\n\tkuid_t fastuid;\n\tstruct in6_addr fast_v6_rcv_saddr;\n\t__be32 fast_rcv_saddr;\n\tshort unsigned int fast_sk_family;\n\tbool fast_ipv6_only;\n\tstruct hlist_node node;\n\tstruct hlist_head bhash2;\n};\n\nstruct inet_bind_hashbucket {\n\tspinlock_t lock;\n\tstruct hlist_head chain;\n};\n\nstruct inet_cork {\n\tunsigned int flags;\n\t__be32 addr;\n\tstruct ip_options *opt;\n\tunsigned int fragsize;\n\tint length;\n\tstruct dst_entry *dst;\n\tu8 tx_flags;\n\t__u8 ttl;\n\t__s16 tos;\n\tu32 priority;\n\t__u16 gso_size;\n\tu32 ts_opt_id;\n\tu64 transmit_time;\n\tu32 mark;\n};\n\nstruct inet_cork_full {\n\tstruct inet_cork base;\n\tstruct flowi fl;\n};\n\nstruct ipv6_pinfo;\n\nstruct ip_mc_socklist;\n\nstruct inet_sock {\n\tstruct sock sk;\n\tstruct ipv6_pinfo *pinet6;\n\tlong unsigned int inet_flags;\n\t__be32 inet_saddr;\n\t__s16 uc_ttl;\n\t__be16 inet_sport;\n\tstruct ip_options_rcu *inet_opt;\n\tatomic_t inet_id;\n\t__u8 tos;\n\t__u8 min_ttl;\n\t__u8 mc_ttl;\n\t__u8 pmtudisc;\n\t__u8 rcv_tos;\n\t__u8 convert_csum;\n\tint uc_index;\n\tint mc_index;\n\t__be32 mc_addr;\n\tu32 local_port_range;\n\tstruct ip_mc_socklist *mc_list;\n\tstruct inet_cork_full cork;\n};\n\nstruct request_sock_queue {\n\tspinlock_t rskq_lock;\n\tu8 rskq_defer_accept;\n\tu32 synflood_warned;\n\tatomic_t qlen;\n\tatomic_t young;\n\tstruct request_sock *rskq_accept_head;\n\tstruct request_sock *rskq_accept_tail;\n\tstruct fastopen_queue fastopenq;\n};\n\nstruct inet_connection_sock_af_ops;\n\nstruct tcp_ulp_ops;\n\nstruct inet_connection_sock {\n\tstruct inet_sock icsk_inet;\n\tstruct request_sock_queue icsk_accept_queue;\n\tstruct inet_bind_bucket *icsk_bind_hash;\n\tstruct inet_bind2_bucket *icsk_bind2_hash;\n\tlong unsigned int icsk_timeout;\n\tstruct timer_list icsk_retransmit_timer;\n\tstruct timer_list icsk_delack_timer;\n\t__u32 icsk_rto;\n\t__u32 icsk_rto_min;\n\t__u32 icsk_delack_max;\n\t__u32 icsk_pmtu_cookie;\n\tconst struct tcp_congestion_ops *icsk_ca_ops;\n\tconst struct inet_connection_sock_af_ops *icsk_af_ops;\n\tconst struct tcp_ulp_ops *icsk_ulp_ops;\n\tvoid *icsk_ulp_data;\n\tvoid (*icsk_clean_acked)(struct sock *, u32);\n\tunsigned int (*icsk_sync_mss)(struct sock *, u32);\n\t__u8 icsk_ca_state: 5;\n\t__u8 icsk_ca_initialized: 1;\n\t__u8 icsk_ca_setsockopt: 1;\n\t__u8 icsk_ca_dst_locked: 1;\n\t__u8 icsk_retransmits;\n\t__u8 icsk_pending;\n\t__u8 icsk_backoff;\n\t__u8 icsk_syn_retries;\n\t__u8 icsk_probes_out;\n\t__u16 icsk_ext_hdr_len;\n\tstruct {\n\t\t__u8 pending;\n\t\t__u8 quick;\n\t\t__u8 pingpong;\n\t\t__u8 retry;\n\t\t__u32 ato: 8;\n\t\t__u32 lrcv_flowlabel: 20;\n\t\t__u32 unused: 4;\n\t\tlong unsigned int timeout;\n\t\t__u32 lrcvtime;\n\t\t__u16 last_seg_size;\n\t\t__u16 rcv_mss;\n\t} icsk_ack;\n\tstruct {\n\t\tint search_high;\n\t\tint search_low;\n\t\tu32 probe_size: 31;\n\t\tu32 enabled: 1;\n\t\tu32 probe_timestamp;\n\t} icsk_mtup;\n\tu32 icsk_probes_tstamp;\n\tu32 icsk_user_timeout;\n\tu64 icsk_ca_priv[13];\n};\n\nstruct inet_connection_sock_af_ops {\n\tint (*queue_xmit)(struct sock *, struct sk_buff *, struct flowi *);\n\tvoid (*send_check)(struct sock *, struct sk_buff *);\n\tint (*rebuild_header)(struct sock *);\n\tvoid (*sk_rx_dst_set)(struct sock *, const struct sk_buff *);\n\tint (*conn_request)(struct sock *, struct sk_buff *);\n\tstruct sock * (*syn_recv_sock)(const struct sock *, struct sk_buff *, struct request_sock *, struct dst_entry *, struct request_sock *, bool *);\n\tu16 net_header_len;\n\tu16 sockaddr_len;\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*addr2sockaddr)(struct sock *, struct sockaddr *);\n\tvoid (*mtu_reduced)(struct sock *);\n};\n\nstruct inet_diag_bc_op {\n\tunsigned char code;\n\tunsigned char yes;\n\tshort unsigned int no;\n};\n\nstruct inet_diag_dump_data {\n\tstruct nlattr *req_nlas[4];\n\tstruct bpf_sk_storage_diag *bpf_stg_diag;\n};\n\nstruct inet_diag_entry {\n\tconst __be32 *saddr;\n\tconst __be32 *daddr;\n\tu16 sport;\n\tu16 dport;\n\tu16 family;\n\tu16 userlocks;\n\tu32 ifindex;\n\tu32 mark;\n\tu64 cgroup_id;\n};\n\nstruct inet_diag_req_v2;\n\nstruct inet_diag_msg;\n\nstruct inet_diag_handler {\n\tstruct module *owner;\n\tvoid (*dump)(struct sk_buff *, struct netlink_callback *, const struct inet_diag_req_v2 *);\n\tint (*dump_one)(struct netlink_callback *, const struct inet_diag_req_v2 *);\n\tvoid (*idiag_get_info)(struct sock *, struct inet_diag_msg *, void *);\n\tint (*idiag_get_aux)(struct sock *, bool, struct sk_buff *);\n\tsize_t (*idiag_get_aux_size)(struct sock *, bool);\n\tint (*destroy)(struct sk_buff *, const struct inet_diag_req_v2 *);\n\t__u16 idiag_type;\n\t__u16 idiag_info_size;\n};\n\nstruct inet_diag_hostcond {\n\t__u8 family;\n\t__u8 prefix_len;\n\tint port;\n\t__be32 addr[0];\n};\n\nstruct inet_diag_markcond {\n\t__u32 mark;\n\t__u32 mask;\n};\n\nstruct inet_diag_meminfo {\n\t__u32 idiag_rmem;\n\t__u32 idiag_wmem;\n\t__u32 idiag_fmem;\n\t__u32 idiag_tmem;\n};\n\nstruct inet_diag_sockid {\n\t__be16 idiag_sport;\n\t__be16 idiag_dport;\n\t__be32 idiag_src[4];\n\t__be32 idiag_dst[4];\n\t__u32 idiag_if;\n\t__u32 idiag_cookie[2];\n};\n\nstruct inet_diag_msg {\n\t__u8 idiag_family;\n\t__u8 idiag_state;\n\t__u8 idiag_timer;\n\t__u8 idiag_retrans;\n\tstruct inet_diag_sockid id;\n\t__u32 idiag_expires;\n\t__u32 idiag_rqueue;\n\t__u32 idiag_wqueue;\n\t__u32 idiag_uid;\n\t__u32 idiag_inode;\n};\n\nstruct inet_diag_req {\n\t__u8 idiag_family;\n\t__u8 idiag_src_len;\n\t__u8 idiag_dst_len;\n\t__u8 idiag_ext;\n\tstruct inet_diag_sockid id;\n\t__u32 idiag_states;\n\t__u32 idiag_dbs;\n};\n\nstruct inet_diag_req_v2 {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n\t__u8 idiag_ext;\n\t__u8 pad;\n\t__u32 idiag_states;\n\tstruct inet_diag_sockid id;\n};\n\nstruct inet_diag_sockopt {\n\t__u8 recverr: 1;\n\t__u8 is_icsk: 1;\n\t__u8 freebind: 1;\n\t__u8 hdrincl: 1;\n\t__u8 mc_loop: 1;\n\t__u8 transparent: 1;\n\t__u8 mc_all: 1;\n\t__u8 nodefrag: 1;\n\t__u8 bind_address_no_port: 1;\n\t__u8 recverr_rfc4884: 1;\n\t__u8 defer_connect: 1;\n\t__u8 unused: 5;\n};\n\nstruct inet_ehash_bucket {\n\tstruct hlist_nulls_head chain;\n};\n\nstruct inet_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint event;\n\tunsigned int flags;\n\tint netnsid;\n\tint ifindex;\n};\n\nstruct inet_frags {\n\tunsigned int qsize;\n\tvoid (*constructor)(struct inet_frag_queue *, const void *);\n\tvoid (*destructor)(struct inet_frag_queue *);\n\tvoid (*frag_expire)(struct timer_list *);\n\tstruct kmem_cache *frags_cachep;\n\tconst char *frags_cache_name;\n\tstruct rhashtable_params rhash_params;\n\trefcount_t refcnt;\n\tstruct completion completion;\n};\n\nstruct inet_listen_hashbucket;\n\nstruct inet_hashinfo {\n\tstruct inet_ehash_bucket *ehash;\n\tspinlock_t *ehash_locks;\n\tunsigned int ehash_mask;\n\tunsigned int ehash_locks_mask;\n\tstruct kmem_cache *bind_bucket_cachep;\n\tstruct inet_bind_hashbucket *bhash;\n\tstruct kmem_cache *bind2_bucket_cachep;\n\tstruct inet_bind_hashbucket *bhash2;\n\tunsigned int bhash_size;\n\tunsigned int lhash2_mask;\n\tstruct inet_listen_hashbucket *lhash2;\n\tbool pernet;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inet_listen_hashbucket {\n\tspinlock_t lock;\n\tstruct hlist_nulls_head nulls_head;\n};\n\nstruct ipv4_addr_key {\n\t__be32 addr;\n\tint vif;\n};\n\nstruct inetpeer_addr {\n\tunion {\n\t\tstruct ipv4_addr_key a4;\n\t\tstruct in6_addr a6;\n\t\tu32 key[4];\n\t};\n\t__u16 family;\n};\n\nstruct inet_peer {\n\tstruct rb_node rb_node;\n\tstruct inetpeer_addr daddr;\n\tu32 metrics[17];\n\tu32 rate_tokens;\n\tu32 n_redirects;\n\tlong unsigned int rate_last;\n\tunion {\n\t\tstruct {\n\t\t\tatomic_t rid;\n\t\t};\n\t\tstruct callback_head rcu;\n\t};\n\t__u32 dtime;\n\trefcount_t refcnt;\n};\n\nstruct proto_ops;\n\nstruct inet_protosw {\n\tstruct list_head list;\n\tshort unsigned int type;\n\tshort unsigned int protocol;\n\tstruct proto *prot;\n\tconst struct proto_ops *ops;\n\tunsigned char flags;\n};\n\nstruct request_sock_ops;\n\nstruct saved_syn;\n\nstruct request_sock {\n\tstruct sock_common __req_common;\n\tstruct request_sock *dl_next;\n\tu16 mss;\n\tu8 num_retrans;\n\tu8 syncookie: 1;\n\tu8 num_timeout: 7;\n\tu32 ts_recent;\n\tstruct timer_list rsk_timer;\n\tconst struct request_sock_ops *rsk_ops;\n\tstruct sock *sk;\n\tstruct saved_syn *saved_syn;\n\tu32 secid;\n\tu32 peer_secid;\n\tu32 timeout;\n};\n\nstruct inet_request_sock {\n\tstruct request_sock req;\n\tu16 snd_wscale: 4;\n\tu16 rcv_wscale: 4;\n\tu16 tstamp_ok: 1;\n\tu16 sack_ok: 1;\n\tu16 wscale_ok: 1;\n\tu16 ecn_ok: 1;\n\tu16 acked: 1;\n\tu16 no_srccheck: 1;\n\tu16 smc_ok: 1;\n\tu32 ir_mark;\n\tunion {\n\t\tstruct ip_options_rcu *ireq_opt;\n\t\tstruct {\n\t\t\tstruct ipv6_txoptions *ipv6_opt;\n\t\t\tstruct sk_buff *pktopts;\n\t\t};\n\t};\n};\n\nstruct inet_skb_parm {\n\tint iif;\n\tstruct ip_options opt;\n\tu16 flags;\n\tu16 frag_max_size;\n};\n\nstruct inet_timewait_death_row {\n\trefcount_t tw_refcount;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct inet_hashinfo *hashinfo;\n\tint sysctl_max_tw_buckets;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inet_timewait_sock {\n\tstruct sock_common __tw_common;\n\t__u32 tw_mark;\n\tunsigned char tw_substate;\n\tunsigned char tw_rcv_wscale;\n\t__be16 tw_sport;\n\tunsigned int tw_transparent: 1;\n\tunsigned int tw_flowlabel: 20;\n\tunsigned int tw_usec_ts: 1;\n\tunsigned int tw_pad: 2;\n\tunsigned int tw_tos: 8;\n\tu32 tw_txhash;\n\tu32 tw_priority;\n\tu32 tw_entry_stamp;\n\tstruct timer_list tw_timer;\n\tstruct inet_bind_bucket *tw_tb;\n\tstruct inet_bind2_bucket *tw_tb2;\n};\n\nstruct inflate_state {\n\tinflate_mode mode;\n\tint last;\n\tint wrap;\n\tint havedict;\n\tint flags;\n\tunsigned int dmax;\n\tlong unsigned int check;\n\tlong unsigned int total;\n\tunsigned int wbits;\n\tunsigned int wsize;\n\tunsigned int whave;\n\tunsigned int write;\n\tunsigned char *window;\n\tlong unsigned int hold;\n\tunsigned int bits;\n\tunsigned int length;\n\tunsigned int offset;\n\tunsigned int extra;\n\tconst code *lencode;\n\tconst code *distcode;\n\tunsigned int lenbits;\n\tunsigned int distbits;\n\tunsigned int ncode;\n\tunsigned int nlen;\n\tunsigned int ndist;\n\tunsigned int have;\n\tcode *next;\n\tshort unsigned int lens[320];\n\tshort unsigned int work[288];\n\tcode codes[2048];\n};\n\nstruct inflate_workspace {\n\tstruct inflate_state inflate_state;\n\tunsigned char working_window[32768];\n};\n\nstruct init_sequence {\n\tint (*init_func)(void);\n\tvoid (*exit_func)(void);\n};\n\nstruct inode_defrag {\n\tstruct rb_node rb_node;\n\tu64 ino;\n\tu64 transid;\n\tu64 root;\n\tu32 extent_thresh;\n};\n\nstruct inode_fs_paths {\n\tstruct btrfs_path *btrfs_path;\n\tstruct btrfs_root *fs_root;\n\tstruct btrfs_data_container *fspath;\n};\n\nstruct mnt_idmap;\n\nstruct kstat;\n\nstruct offset_ctx;\n\nstruct inode_operations {\n\tstruct dentry * (*lookup)(struct inode *, struct dentry *, unsigned int);\n\tconst char * (*get_link)(struct dentry *, struct inode *, struct delayed_call *);\n\tint (*permission)(struct mnt_idmap *, struct inode *, int);\n\tstruct posix_acl * (*get_inode_acl)(struct inode *, int, bool);\n\tint (*readlink)(struct dentry *, char *, int);\n\tint (*create)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, bool);\n\tint (*link)(struct dentry *, struct inode *, struct dentry *);\n\tint (*unlink)(struct inode *, struct dentry *);\n\tint (*symlink)(struct mnt_idmap *, struct inode *, struct dentry *, const char *);\n\tint (*mkdir)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t);\n\tint (*rmdir)(struct inode *, struct dentry *);\n\tint (*mknod)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, dev_t);\n\tint (*rename)(struct mnt_idmap *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int);\n\tint (*setattr)(struct mnt_idmap *, struct dentry *, struct iattr *);\n\tint (*getattr)(struct mnt_idmap *, const struct path *, struct kstat *, u32, unsigned int);\n\tssize_t (*listxattr)(struct dentry *, char *, size_t);\n\tint (*fiemap)(struct inode *, struct fiemap_extent_info *, u64, u64);\n\tint (*update_time)(struct inode *, int);\n\tint (*atomic_open)(struct inode *, struct dentry *, struct file *, unsigned int, umode_t);\n\tint (*tmpfile)(struct mnt_idmap *, struct inode *, struct file *, umode_t);\n\tstruct posix_acl * (*get_acl)(struct mnt_idmap *, struct dentry *, int);\n\tint (*set_acl)(struct mnt_idmap *, struct dentry *, struct posix_acl *, int);\n\tint (*fileattr_set)(struct mnt_idmap *, struct dentry *, struct fileattr *);\n\tint (*fileattr_get)(struct dentry *, struct fileattr *);\n\tstruct offset_ctx * (*get_offset_ctx)(struct inode *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inode_security_struct {\n\tstruct inode *inode;\n\tstruct list_head list;\n\tu32 task_sid;\n\tu32 sid;\n\tu16 sclass;\n\tunsigned char initialized;\n\tspinlock_t lock;\n};\n\nstruct inode_switch_wbs_context {\n\tstruct rcu_work work;\n\tstruct bdi_writeback *new_wb;\n\tstruct inode *inodes[0];\n};\n\nstruct inodes_stat_t {\n\tlong int nr_inodes;\n\tlong int nr_unused;\n\tlong int dummy[5];\n};\n\nstruct inotify_event {\n\t__s32 wd;\n\t__u32 mask;\n\t__u32 cookie;\n\t__u32 len;\n\tchar name[0];\n};\n\nstruct inotify_event_info {\n\tstruct fsnotify_event fse;\n\tu32 mask;\n\tint wd;\n\tu32 sync_cookie;\n\tint name_len;\n\tchar name[0];\n};\n\nstruct inotify_inode_mark {\n\tstruct fsnotify_mark fsn_mark;\n\tint wd;\n};\n\nstruct input_absinfo {\n\t__s32 value;\n\t__s32 minimum;\n\t__s32 maximum;\n\t__s32 fuzz;\n\t__s32 flat;\n\t__s32 resolution;\n};\n\nstruct input_id {\n\t__u16 bustype;\n\t__u16 vendor;\n\t__u16 product;\n\t__u16 version;\n};\n\nstruct input_dev_poller;\n\nstruct input_mt;\n\nstruct input_dev {\n\tconst char *name;\n\tconst char *phys;\n\tconst char *uniq;\n\tstruct input_id id;\n\tlong unsigned int propbit[1];\n\tlong unsigned int evbit[1];\n\tlong unsigned int keybit[12];\n\tlong unsigned int relbit[1];\n\tlong unsigned int absbit[1];\n\tlong unsigned int mscbit[1];\n\tlong unsigned int ledbit[1];\n\tlong unsigned int sndbit[1];\n\tlong unsigned int ffbit[2];\n\tlong unsigned int swbit[1];\n\tunsigned int hint_events_per_packet;\n\tunsigned int keycodemax;\n\tunsigned int keycodesize;\n\tvoid *keycode;\n\tint (*setkeycode)(struct input_dev *, const struct input_keymap_entry *, unsigned int *);\n\tint (*getkeycode)(struct input_dev *, struct input_keymap_entry *);\n\tstruct ff_device *ff;\n\tstruct input_dev_poller *poller;\n\tunsigned int repeat_key;\n\tstruct timer_list timer;\n\tint rep[2];\n\tstruct input_mt *mt;\n\tstruct input_absinfo *absinfo;\n\tlong unsigned int key[12];\n\tlong unsigned int led[1];\n\tlong unsigned int snd[1];\n\tlong unsigned int sw[1];\n\tint (*open)(struct input_dev *);\n\tvoid (*close)(struct input_dev *);\n\tint (*flush)(struct input_dev *, struct file *);\n\tint (*event)(struct input_dev *, unsigned int, unsigned int, int);\n\tstruct input_handle *grab;\n\tspinlock_t event_lock;\n\tstruct mutex mutex;\n\tunsigned int users;\n\tbool going_away;\n\tstruct device dev;\n\tstruct list_head h_list;\n\tstruct list_head node;\n\tunsigned int num_vals;\n\tunsigned int max_vals;\n\tstruct input_value *vals;\n\tbool devres_managed;\n\tktime_t timestamp[3];\n\tbool inhibited;\n};\n\nstruct input_dev_poller {\n\tvoid (*poll)(struct input_dev *);\n\tunsigned int poll_interval;\n\tunsigned int poll_interval_max;\n\tunsigned int poll_interval_min;\n\tstruct input_dev *input;\n\tstruct delayed_work work;\n};\n\nstruct input_device_id {\n\tkernel_ulong_t flags;\n\t__u16 bustype;\n\t__u16 vendor;\n\t__u16 product;\n\t__u16 version;\n\tkernel_ulong_t evbit[1];\n\tkernel_ulong_t keybit[12];\n\tkernel_ulong_t relbit[1];\n\tkernel_ulong_t absbit[1];\n\tkernel_ulong_t mscbit[1];\n\tkernel_ulong_t ledbit[1];\n\tkernel_ulong_t sndbit[1];\n\tkernel_ulong_t ffbit[2];\n\tkernel_ulong_t swbit[1];\n\tkernel_ulong_t propbit[1];\n\tkernel_ulong_t driver_info;\n};\n\nstruct input_devres {\n\tstruct input_dev *input;\n};\n\nstruct input_handler {\n\tvoid *private;\n\tvoid (*event)(struct input_handle *, unsigned int, unsigned int, int);\n\tunsigned int (*events)(struct input_handle *, struct input_value *, unsigned int);\n\tbool (*filter)(struct input_handle *, unsigned int, unsigned int, int);\n\tbool (*match)(struct input_handler *, struct input_dev *);\n\tint (*connect)(struct input_handler *, struct input_dev *, const struct input_device_id *);\n\tvoid (*disconnect)(struct input_handle *);\n\tvoid (*start)(struct input_handle *);\n\tbool passive_observer;\n\tbool legacy_minors;\n\tint minor;\n\tconst char *name;\n\tconst struct input_device_id *id_table;\n\tstruct list_head h_list;\n\tstruct list_head node;\n};\n\nstruct led_pattern;\n\nstruct led_trigger;\n\nstruct led_hw_trigger_type;\n\nstruct led_classdev {\n\tconst char *name;\n\tunsigned int brightness;\n\tunsigned int max_brightness;\n\tunsigned int color;\n\tint flags;\n\tlong unsigned int work_flags;\n\tvoid (*brightness_set)(struct led_classdev *, enum led_brightness);\n\tint (*brightness_set_blocking)(struct led_classdev *, enum led_brightness);\n\tenum led_brightness (*brightness_get)(struct led_classdev *);\n\tint (*blink_set)(struct led_classdev *, long unsigned int *, long unsigned int *);\n\tint (*pattern_set)(struct led_classdev *, struct led_pattern *, u32, int);\n\tint (*pattern_clear)(struct led_classdev *);\n\tstruct device *dev;\n\tconst struct attribute_group **groups;\n\tstruct list_head node;\n\tconst char *default_trigger;\n\tlong unsigned int blink_delay_on;\n\tlong unsigned int blink_delay_off;\n\tstruct timer_list blink_timer;\n\tint blink_brightness;\n\tint new_blink_brightness;\n\tvoid (*flash_resume)(struct led_classdev *);\n\tstruct workqueue_struct *wq;\n\tstruct work_struct set_brightness_work;\n\tint delayed_set_value;\n\tlong unsigned int delayed_delay_on;\n\tlong unsigned int delayed_delay_off;\n\tstruct rw_semaphore trigger_lock;\n\tstruct led_trigger *trigger;\n\tstruct list_head trig_list;\n\tvoid *trigger_data;\n\tbool activated;\n\tstruct led_hw_trigger_type *trigger_type;\n\tconst char *hw_control_trigger;\n\tint (*hw_control_is_supported)(struct led_classdev *, long unsigned int);\n\tint (*hw_control_set)(struct led_classdev *, long unsigned int);\n\tint (*hw_control_get)(struct led_classdev *, long unsigned int *);\n\tstruct device * (*hw_control_get_device)(struct led_classdev *);\n\tstruct mutex led_access;\n};\n\nstruct input_led {\n\tstruct led_classdev cdev;\n\tstruct input_handle *handle;\n\tunsigned int code;\n};\n\nstruct input_leds {\n\tstruct input_handle handle;\n\tunsigned int num_leds;\n\tstruct input_led leds[0];\n};\n\nstruct input_mask {\n\t__u32 type;\n\t__u32 codes_size;\n\t__u64 codes_ptr;\n};\n\nstruct input_mt_slot {\n\tint abs[14];\n\tunsigned int frame;\n\tunsigned int key;\n};\n\nstruct input_mt {\n\tint trkid;\n\tint num_slots;\n\tint slot;\n\tunsigned int flags;\n\tunsigned int frame;\n\tint *red;\n\tstruct input_mt_slot slots[0];\n};\n\nstruct input_seq_state {\n\tshort unsigned int pos;\n\tbool mutex_acquired;\n\tint input_devices_state;\n};\n\nstruct input_value {\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct intel_vss {\n\tu16 vendor;\n\tu16 model;\n\tu8 mc;\n\tu8 flags;\n\tu16 pci_devid;\n\tu32 nvm_version;\n};\n\nstruct internal_container {\n\tstruct klist_node node;\n\tstruct attribute_container *cont;\n\tstruct device classdev;\n};\n\nstruct internal_state {\n\tint dummy;\n};\n\nstruct interval {\n\tuint32_t first;\n\tuint32_t last;\n};\n\nstruct interval_tree_node {\n\tstruct rb_node rb;\n\tlong unsigned int start;\n\tlong unsigned int last;\n\tlong unsigned int __subtree_last;\n};\n\nstruct io {\n\tlong unsigned int error_bits;\n\tatomic_t count;\n\tstruct dm_io_client *client;\n\tio_notify_fn callback;\n\tvoid *context;\n\tvoid *vma_invalidate_address;\n\tlong unsigned int vma_invalidate_size;\n\tlong: 64;\n};\n\nstruct io_accept {\n\tstruct file *file;\n\tstruct sockaddr *addr;\n\tint *addr_len;\n\tint flags;\n\tint iou_flags;\n\tu32 file_slot;\n\tlong unsigned int nofile;\n};\n\nstruct io_alloc_cache {\n\tvoid **entries;\n\tunsigned int nr_cached;\n\tunsigned int max_cached;\n\tunsigned int elem_size;\n\tunsigned int init_clear;\n};\n\nstruct ubuf_info;\n\nstruct msghdr {\n\tvoid *msg_name;\n\tint msg_namelen;\n\tint msg_inq;\n\tstruct iov_iter msg_iter;\n\tunion {\n\t\tvoid *msg_control;\n\t\tvoid *msg_control_user;\n\t};\n\tbool msg_control_is_user: 1;\n\tbool msg_get_inq: 1;\n\tunsigned int msg_flags;\n\t__kernel_size_t msg_controllen;\n\tstruct kiocb *msg_iocb;\n\tstruct ubuf_info *msg_ubuf;\n\tint (*sg_from_iter)(struct sk_buff *, struct iov_iter *, size_t);\n};\n\nstruct io_async_msghdr {\n\tstruct iovec *free_iov;\n\tint free_iov_nr;\n\tunion {\n\t\tstruct {\n\t\t\tint namelen;\n\t\t\tstruct iovec fast_iov;\n\t\t\t__kernel_size_t controllen;\n\t\t\t__kernel_size_t payloadlen;\n\t\t\tstruct sockaddr *uaddr;\n\t\t\tstruct msghdr msg;\n\t\t\tstruct __kernel_sockaddr_storage addr;\n\t\t};\n\t\tstruct {\n\t\t\tint namelen;\n\t\t\tstruct iovec fast_iov;\n\t\t\t__kernel_size_t controllen;\n\t\t\t__kernel_size_t payloadlen;\n\t\t\tstruct sockaddr *uaddr;\n\t\t\tstruct msghdr msg;\n\t\t\tstruct __kernel_sockaddr_storage addr;\n\t\t} clear;\n\t};\n};\n\nstruct iov_iter_state {\n\tsize_t iov_offset;\n\tsize_t count;\n\tlong unsigned int nr_segs;\n};\n\nstruct wait_page_queue {\n\tstruct folio *folio;\n\tint bit_nr;\n\twait_queue_entry_t wait;\n};\n\nstruct uio_meta {\n\tuio_meta_flags_t flags;\n\tu16 app_tag;\n\tu64 seed;\n\tstruct iov_iter iter;\n};\n\nstruct io_meta_state {\n\tu32 seed;\n\tstruct iov_iter_state iter_meta;\n};\n\nstruct io_async_rw {\n\tsize_t bytes_done;\n\tstruct iovec *free_iovec;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iov_iter iter;\n\t\t\tstruct iov_iter_state iter_state;\n\t\t\tstruct iovec fast_iov;\n\t\t\tint free_iov_nr;\n\t\t\tunion {\n\t\t\t\tstruct wait_page_queue wpq;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct uio_meta meta;\n\t\t\t\t\tstruct io_meta_state meta_state;\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\tstruct {\n\t\t\tstruct iov_iter iter;\n\t\t\tstruct iov_iter_state iter_state;\n\t\t\tstruct iovec fast_iov;\n\t\t\tint free_iov_nr;\n\t\t\tunion {\n\t\t\t\tstruct wait_page_queue wpq;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct uio_meta meta;\n\t\t\t\t\tstruct io_meta_state meta_state;\n\t\t\t\t};\n\t\t\t};\n\t\t} clear;\n\t};\n};\n\nstruct io_bind {\n\tstruct file *file;\n\tint addr_len;\n};\n\nstruct io_btrfs_cmd {\n\tstruct btrfs_uring_priv *priv;\n};\n\nstruct io_buffer {\n\tstruct list_head list;\n\t__u64 addr;\n\t__u32 len;\n\t__u16 bid;\n\t__u16 bgid;\n};\n\nstruct io_mapped_region {\n\tstruct page **pages;\n\tvoid *ptr;\n\tunsigned int nr_pages;\n\tunsigned int flags;\n};\n\nstruct io_uring_buf_ring;\n\nstruct io_buffer_list {\n\tunion {\n\t\tstruct list_head buf_list;\n\t\tstruct io_uring_buf_ring *buf_ring;\n\t};\n\t__u16 bgid;\n\t__u16 buf_nr_pages;\n\t__u16 nr_entries;\n\t__u16 head;\n\t__u16 mask;\n\t__u16 flags;\n\tstruct io_mapped_region region;\n};\n\nstruct io_cancel {\n\tstruct file *file;\n\tu64 addr;\n\tu32 flags;\n\ts32 fd;\n\tu8 opcode;\n};\n\nstruct io_ring_ctx;\n\nstruct io_cancel_data {\n\tstruct io_ring_ctx *ctx;\n\tunion {\n\t\tu64 data;\n\t\tstruct file *file;\n\t};\n\tu8 opcode;\n\tu32 flags;\n\tint seq;\n};\n\nstruct io_wq_work;\n\ntypedef bool work_cancel_fn(struct io_wq_work *, void *);\n\nstruct io_cb_cancel_data {\n\twork_cancel_fn *fn;\n\tvoid *data;\n\tint nr_running;\n\tint nr_pending;\n\tbool cancel_all;\n};\n\nstruct io_close {\n\tstruct file *file;\n\tint fd;\n\tu32 file_slot;\n};\n\nstruct io_cmd_data {\n\tstruct file *file;\n\t__u8 data[56];\n};\n\nstruct io_kiocb;\n\nstruct io_cold_def {\n\tconst char *name;\n\tvoid (*cleanup)(struct io_kiocb *);\n\tvoid (*fail)(struct io_kiocb *);\n};\n\nstruct io_comp_batch {\n\tstruct rq_list req_list;\n\tbool need_ts;\n\tvoid (*complete)(struct io_comp_batch *);\n};\n\nstruct io_connect {\n\tstruct file *file;\n\tstruct sockaddr *addr;\n\tint addr_len;\n\tbool in_progress;\n\tbool seen_econnaborted;\n};\n\nstruct io_context {\n\tatomic_long_t refcount;\n\tatomic_t active_ref;\n\tshort unsigned int ioprio;\n\tspinlock_t lock;\n\tstruct xarray icq_tree;\n\tstruct io_cq *icq_hint;\n\tstruct hlist_head icq_list;\n\tstruct work_struct release_work;\n};\n\nstruct io_cqe {\n\t__u64 user_data;\n\t__s32 res;\n\tunion {\n\t\t__u32 flags;\n\t\tint fd;\n\t};\n};\n\nstruct io_cqring_offsets {\n\t__u32 head;\n\t__u32 tail;\n\t__u32 ring_mask;\n\t__u32 ring_entries;\n\t__u32 overflow;\n\t__u32 cqes;\n\t__u32 flags;\n\t__u32 resv1;\n\t__u64 user_addr;\n};\n\nstruct io_defer_entry {\n\tstruct list_head list;\n\tstruct io_kiocb *req;\n\tu32 seq;\n};\n\nstruct io_epoll {\n\tstruct file *file;\n\tint epfd;\n\tint op;\n\tint fd;\n\tstruct epoll_event event;\n};\n\nstruct io_err_c {\n\tstruct dm_dev *dev;\n\tsector_t start;\n};\n\nstruct io_ev_fd {\n\tstruct eventfd_ctx *cq_ev_fd;\n\tunsigned int eventfd_async;\n\tunsigned int last_cq_tail;\n\trefcount_t refs;\n\tatomic_t ops;\n\tstruct callback_head rcu;\n};\n\nstruct io_fadvise {\n\tstruct file *file;\n\tu64 offset;\n\tu64 len;\n\tu32 advice;\n};\n\nstruct io_rsrc_node;\n\nstruct io_rsrc_data {\n\tunsigned int nr;\n\tstruct io_rsrc_node **nodes;\n};\n\nstruct io_file_table {\n\tstruct io_rsrc_data data;\n\tlong unsigned int *bitmap;\n\tunsigned int alloc_hint;\n};\n\nstruct io_fixed_install {\n\tstruct file *file;\n\tunsigned int o_flags;\n};\n\nstruct io_ftrunc {\n\tstruct file *file;\n\tloff_t len;\n};\n\nstruct io_futex {\n\tstruct file *file;\n\tunion {\n\t\tu32 *uaddr;\n\t\tstruct futex_waitv *uwaitv;\n\t};\n\tlong unsigned int futex_val;\n\tlong unsigned int futex_mask;\n\tlong unsigned int futexv_owned;\n\tu32 futex_flags;\n\tunsigned int futex_nr;\n\tbool futexv_unqueued;\n};\n\nstruct io_futex_data {\n\tstruct futex_q q;\n\tstruct io_kiocb *req;\n};\n\nstruct io_hash_bucket {\n\tstruct hlist_head list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct io_hash_table {\n\tstruct io_hash_bucket *hbs;\n\tunsigned int hash_bits;\n};\n\nstruct io_imu_folio_data {\n\tunsigned int nr_pages_head;\n\tunsigned int nr_pages_mid;\n\tunsigned int folio_shift;\n\tunsigned int nr_folios;\n};\n\nstruct io_uring_sqe;\n\nstruct io_issue_def {\n\tunsigned int needs_file: 1;\n\tunsigned int plug: 1;\n\tunsigned int hash_reg_file: 1;\n\tunsigned int unbound_nonreg_file: 1;\n\tunsigned int pollin: 1;\n\tunsigned int pollout: 1;\n\tunsigned int poll_exclusive: 1;\n\tunsigned int buffer_select: 1;\n\tunsigned int audit_skip: 1;\n\tunsigned int ioprio: 1;\n\tunsigned int iopoll: 1;\n\tunsigned int iopoll_queue: 1;\n\tunsigned int vectored: 1;\n\tshort unsigned int async_size;\n\tint (*issue)(struct io_kiocb *, unsigned int);\n\tint (*prep)(struct io_kiocb *, const struct io_uring_sqe *);\n};\n\nstruct io_wq_work_node {\n\tstruct io_wq_work_node *next;\n};\n\nstruct io_tw_state;\n\ntypedef void (*io_req_tw_func_t)(struct io_kiocb *, struct io_tw_state *);\n\nstruct io_task_work {\n\tstruct llist_node node;\n\tio_req_tw_func_t func;\n};\n\nstruct io_wq_work {\n\tstruct io_wq_work_node list;\n\tatomic_t flags;\n\tint cancel_seq;\n};\n\nstruct io_uring_task;\n\nstruct io_kiocb {\n\tunion {\n\t\tstruct file *file;\n\t\tstruct io_cmd_data cmd;\n\t};\n\tu8 opcode;\n\tu8 iopoll_completed;\n\tu16 buf_index;\n\tunsigned int nr_tw;\n\tio_req_flags_t flags;\n\tstruct io_cqe cqe;\n\tstruct io_ring_ctx *ctx;\n\tstruct io_uring_task *tctx;\n\tunion {\n\t\tstruct io_buffer *kbuf;\n\t\tstruct io_buffer_list *buf_list;\n\t\tstruct io_rsrc_node *buf_node;\n\t};\n\tunion {\n\t\tstruct io_wq_work_node comp_list;\n\t\t__poll_t apoll_events;\n\t};\n\tstruct io_rsrc_node *file_node;\n\tatomic_t refs;\n\tbool cancel_seq_set;\n\tstruct io_task_work io_task_work;\n\tunion {\n\t\tstruct hlist_node hash_node;\n\t\tu64 iopoll_start;\n\t};\n\tstruct async_poll *apoll;\n\tvoid *async_data;\n\tatomic_t poll_refs;\n\tstruct io_kiocb *link;\n\tconst struct cred *creds;\n\tstruct io_wq_work work;\n\tstruct {\n\t\tu64 extra1;\n\t\tu64 extra2;\n\t} big_cqe;\n};\n\nstruct io_link {\n\tstruct file *file;\n\tint old_dfd;\n\tint new_dfd;\n\tstruct filename *oldpath;\n\tstruct filename *newpath;\n\tint flags;\n};\n\nstruct io_listen {\n\tstruct file *file;\n\tint backlog;\n};\n\nstruct io_madvise {\n\tstruct file *file;\n\tu64 addr;\n\tu64 len;\n\tu32 advice;\n};\n\nstruct io_mapped_ubuf {\n\tu64 ubuf;\n\tunsigned int len;\n\tunsigned int nr_bvecs;\n\tunsigned int folio_shift;\n\trefcount_t refs;\n\tlong unsigned int acct_pages;\n\tstruct bio_vec bvec[0];\n};\n\nstruct io_mapping {\n\tresource_size_t base;\n\tlong unsigned int size;\n\tpgprot_t prot;\n\tvoid *iomem;\n};\n\nstruct io_mkdir {\n\tstruct file *file;\n\tint dfd;\n\tumode_t mode;\n\tstruct filename *filename;\n};\n\nstruct io_msg {\n\tstruct file *file;\n\tstruct file *src_file;\n\tstruct callback_head tw;\n\tu64 user_data;\n\tu32 len;\n\tu32 cmd;\n\tu32 src_fd;\n\tunion {\n\t\tu32 dst_fd;\n\t\tu32 cqe_flags;\n\t};\n\tu32 flags;\n};\n\nstruct io_napi_entry {\n\tunsigned int napi_id;\n\tstruct list_head list;\n\tlong unsigned int timeout;\n\tstruct hlist_node node;\n\tstruct callback_head rcu;\n};\n\nstruct io_nop {\n\tstruct file *file;\n\tint result;\n\tint fd;\n\tint buffer;\n\tunsigned int flags;\n};\n\nstruct ubuf_info_ops;\n\nstruct ubuf_info {\n\tconst struct ubuf_info_ops *ops;\n\trefcount_t refcnt;\n\tu8 flags;\n};\n\nstruct io_notif_data {\n\tstruct file *file;\n\tstruct ubuf_info uarg;\n\tstruct io_notif_data *next;\n\tstruct io_notif_data *head;\n\tunsigned int account_pages;\n\tbool zc_report;\n\tbool zc_used;\n\tbool zc_copied;\n};\n\nstruct io_open {\n\tstruct file *file;\n\tint dfd;\n\tu32 file_slot;\n\tstruct filename *filename;\n\tstruct open_how how;\n\tlong unsigned int nofile;\n};\n\nstruct io_uring_cqe {\n\t__u64 user_data;\n\t__s32 res;\n\t__u32 flags;\n\t__u64 big_cqe[0];\n};\n\nstruct io_overflow_cqe {\n\tstruct list_head list;\n\tstruct io_uring_cqe cqe;\n};\n\nstruct io_poll_table {\n\tstruct poll_table_struct pt;\n\tstruct io_kiocb *req;\n\tint nr_entries;\n\tint error;\n\tbool owning;\n\t__poll_t result_mask;\n};\n\nstruct io_poll_update {\n\tstruct file *file;\n\tu64 old_user_data;\n\tu64 new_user_data;\n\t__poll_t events;\n\tbool update_events;\n\tbool update_user_data;\n};\n\nstruct io_provide_buf {\n\tstruct file *file;\n\t__u64 addr;\n\t__u32 len;\n\t__u32 bgid;\n\t__u32 nbufs;\n\t__u16 bid;\n};\n\nstruct io_uring_recvmsg_out {\n\t__u32 namelen;\n\t__u32 controllen;\n\t__u32 payloadlen;\n\t__u32 flags;\n};\n\nstruct io_recvmsg_multishot_hdr {\n\tstruct io_uring_recvmsg_out msg;\n\tstruct __kernel_sockaddr_storage addr;\n};\n\nstruct io_rename {\n\tstruct file *file;\n\tint old_dfd;\n\tint new_dfd;\n\tstruct filename *oldpath;\n\tstruct filename *newpath;\n\tint flags;\n};\n\nstruct io_restriction {\n\tlong unsigned int register_op[1];\n\tlong unsigned int sqe_op[1];\n\tu8 sqe_flags_allowed;\n\tu8 sqe_flags_required;\n\tbool registered;\n};\n\nstruct io_wq_work_list {\n\tstruct io_wq_work_node *first;\n\tstruct io_wq_work_node *last;\n};\n\nstruct io_submit_link {\n\tstruct io_kiocb *head;\n\tstruct io_kiocb *last;\n};\n\nstruct io_submit_state {\n\tstruct io_wq_work_node free_list;\n\tstruct io_wq_work_list compl_reqs;\n\tstruct io_submit_link link;\n\tbool plug_started;\n\tbool need_plug;\n\tbool cq_flush;\n\tshort unsigned int submit_nr;\n\tstruct blk_plug plug;\n};\n\nstruct io_rings;\n\nstruct io_sq_data;\n\nstruct io_wq_hash;\n\nstruct io_ring_ctx {\n\tstruct {\n\t\tunsigned int flags;\n\t\tunsigned int drain_next: 1;\n\t\tunsigned int restricted: 1;\n\t\tunsigned int off_timeout_used: 1;\n\t\tunsigned int drain_active: 1;\n\t\tunsigned int has_evfd: 1;\n\t\tunsigned int task_complete: 1;\n\t\tunsigned int lockless_cq: 1;\n\t\tunsigned int syscall_iopoll: 1;\n\t\tunsigned int poll_activated: 1;\n\t\tunsigned int drain_disabled: 1;\n\t\tunsigned int compat: 1;\n\t\tunsigned int iowq_limits_set: 1;\n\t\tstruct task_struct *submitter_task;\n\t\tstruct io_rings *rings;\n\t\tstruct percpu_ref refs;\n\t\tclockid_t clockid;\n\t\tenum tk_offsets clock_offset;\n\t\tenum task_work_notify_mode notify_method;\n\t\tunsigned int sq_thread_idle;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct mutex uring_lock;\n\t\tu32 *sq_array;\n\t\tstruct io_uring_sqe *sq_sqes;\n\t\tunsigned int cached_sq_head;\n\t\tunsigned int sq_entries;\n\t\tatomic_t cancel_seq;\n\t\tbool poll_multi_queue;\n\t\tstruct io_wq_work_list iopoll_list;\n\t\tstruct io_file_table file_table;\n\t\tstruct io_rsrc_data buf_table;\n\t\tstruct io_submit_state submit_state;\n\t\tstruct xarray io_bl_xa;\n\t\tstruct io_hash_table cancel_table;\n\t\tstruct io_alloc_cache apoll_cache;\n\t\tstruct io_alloc_cache netmsg_cache;\n\t\tstruct io_alloc_cache rw_cache;\n\t\tstruct io_alloc_cache uring_cache;\n\t\tstruct hlist_head cancelable_uring_cmd;\n\t\tu64 hybrid_poll_time;\n\t};\n\tstruct {\n\t\tstruct io_uring_cqe *cqe_cached;\n\t\tstruct io_uring_cqe *cqe_sentinel;\n\t\tunsigned int cached_cq_tail;\n\t\tunsigned int cq_entries;\n\t\tstruct io_ev_fd *io_ev_fd;\n\t\tunsigned int cq_extra;\n\t\tvoid *cq_wait_arg;\n\t\tsize_t cq_wait_size;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct llist_head work_llist;\n\t\tstruct llist_head retry_llist;\n\t\tlong unsigned int check_cq;\n\t\tatomic_t cq_wait_nr;\n\t\tatomic_t cq_timeouts;\n\t\tstruct wait_queue_head cq_wait;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\traw_spinlock_t timeout_lock;\n\t\tstruct list_head timeout_list;\n\t\tstruct list_head ltimeout_list;\n\t\tunsigned int cq_last_tm_flush;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tspinlock_t completion_lock;\n\tstruct list_head io_buffers_comp;\n\tstruct list_head cq_overflow_list;\n\tstruct hlist_head waitid_list;\n\tstruct hlist_head futex_list;\n\tstruct io_alloc_cache futex_cache;\n\tconst struct cred *sq_creds;\n\tstruct io_sq_data *sq_data;\n\tstruct wait_queue_head sqo_sq_wait;\n\tstruct list_head sqd_list;\n\tunsigned int file_alloc_start;\n\tunsigned int file_alloc_end;\n\tstruct list_head io_buffers_cache;\n\tstruct wait_queue_head poll_wq;\n\tstruct io_restriction restrictions;\n\tu32 pers_next;\n\tstruct xarray personalities;\n\tstruct io_wq_hash *hash_map;\n\tstruct user_struct *user;\n\tstruct mm_struct *mm_account;\n\tstruct llist_head fallback_llist;\n\tstruct delayed_work fallback_work;\n\tstruct work_struct exit_work;\n\tstruct list_head tctx_list;\n\tstruct completion ref_comp;\n\tu32 iowq_limits[2];\n\tstruct callback_head poll_wq_task_work;\n\tstruct list_head defer_list;\n\tstruct io_alloc_cache msg_cache;\n\tspinlock_t msg_lock;\n\tstruct list_head napi_list;\n\tspinlock_t napi_lock;\n\tktime_t napi_busy_poll_dt;\n\tbool napi_prefer_busy_poll;\n\tu8 napi_track_mode;\n\tstruct hlist_head napi_ht[16];\n\tunsigned int evfd_last_cq_tail;\n\tstruct mutex mmap_lock;\n\tstruct io_mapped_region sq_region;\n\tstruct io_mapped_region ring_region;\n\tstruct io_mapped_region param_region;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct io_ring_ctx_rings {\n\tstruct io_rings *rings;\n\tstruct io_uring_sqe *sq_sqes;\n\tstruct io_mapped_region sq_region;\n\tstruct io_mapped_region ring_region;\n};\n\nstruct io_uring {\n\tu32 head;\n\tu32 tail;\n};\n\nstruct io_rings {\n\tstruct io_uring sq;\n\tstruct io_uring cq;\n\tu32 sq_ring_mask;\n\tu32 cq_ring_mask;\n\tu32 sq_ring_entries;\n\tu32 cq_ring_entries;\n\tu32 sq_dropped;\n\tatomic_t sq_flags;\n\tu32 cq_flags;\n\tu32 cq_overflow;\n\tlong: 64;\n\tlong: 64;\n\tstruct io_uring_cqe cqes[0];\n};\n\nstruct io_rsrc_node {\n\tunsigned char type;\n\tint refs;\n\tu64 tag;\n\tunion {\n\t\tlong unsigned int file_ptr;\n\t\tstruct io_mapped_ubuf *buf;\n\t};\n};\n\nstruct io_rsrc_update {\n\tstruct file *file;\n\tu64 arg;\n\tu32 nr_args;\n\tu32 offset;\n};\n\nstruct io_rw {\n\tstruct kiocb kiocb;\n\tu64 addr;\n\tu32 len;\n\trwf_t flags;\n};\n\nstruct io_shutdown {\n\tstruct file *file;\n\tint how;\n};\n\nstruct io_socket {\n\tstruct file *file;\n\tint domain;\n\tint type;\n\tint protocol;\n\tint flags;\n\tu32 file_slot;\n\tlong unsigned int nofile;\n};\n\nstruct io_splice {\n\tstruct file *file_out;\n\tloff_t off_out;\n\tloff_t off_in;\n\tu64 len;\n\tint splice_fd_in;\n\tunsigned int flags;\n\tstruct io_rsrc_node *rsrc_node;\n};\n\nstruct io_sq_data {\n\trefcount_t refs;\n\tatomic_t park_pending;\n\tstruct mutex lock;\n\tstruct list_head ctx_list;\n\tstruct task_struct *thread;\n\tstruct wait_queue_head wait;\n\tunsigned int sq_thread_idle;\n\tint sq_cpu;\n\tpid_t task_pid;\n\tpid_t task_tgid;\n\tu64 work_time;\n\tlong unsigned int state;\n\tstruct completion exited;\n};\n\nstruct io_sqring_offsets {\n\t__u32 head;\n\t__u32 tail;\n\t__u32 ring_mask;\n\t__u32 ring_entries;\n\t__u32 flags;\n\t__u32 dropped;\n\t__u32 array;\n\t__u32 resv1;\n\t__u64 user_addr;\n};\n\nstruct user_msghdr;\n\nstruct io_sr_msg {\n\tstruct file *file;\n\tunion {\n\t\tstruct compat_msghdr *umsg_compat;\n\t\tstruct user_msghdr *umsg;\n\t\tvoid *buf;\n\t};\n\tint len;\n\tunsigned int done_io;\n\tunsigned int msg_flags;\n\tunsigned int nr_multishot_loops;\n\tu16 flags;\n\tu16 buf_group;\n\tu16 buf_index;\n\tvoid *msg_control;\n\tstruct io_kiocb *notif;\n};\n\nstruct statx;\n\nstruct io_statx {\n\tstruct file *file;\n\tint dfd;\n\tunsigned int mask;\n\tunsigned int flags;\n\tstruct filename *filename;\n\tstruct statx *buffer;\n};\n\nstruct io_sync {\n\tstruct file *file;\n\tloff_t len;\n\tloff_t off;\n\tint flags;\n\tint mode;\n};\n\nstruct io_task_cancel {\n\tstruct io_uring_task *tctx;\n\tbool all;\n};\n\nstruct io_tctx_exit {\n\tstruct callback_head task_work;\n\tstruct completion completion;\n\tstruct io_ring_ctx *ctx;\n};\n\nstruct io_tctx_node {\n\tstruct list_head ctx_node;\n\tstruct task_struct *task;\n\tstruct io_ring_ctx *ctx;\n};\n\nstruct io_timeout {\n\tstruct file *file;\n\tu32 off;\n\tu32 target_seq;\n\tu32 repeats;\n\tstruct list_head list;\n\tstruct io_kiocb *head;\n\tstruct io_kiocb *prev;\n};\n\nstruct io_timeout_data {\n\tstruct io_kiocb *req;\n\tstruct hrtimer timer;\n\tstruct timespec64 ts;\n\tenum hrtimer_mode mode;\n\tu32 flags;\n};\n\nstruct io_timeout_rem {\n\tstruct file *file;\n\tu64 addr;\n\tstruct timespec64 ts;\n\tu32 flags;\n\tbool ltimeout;\n};\n\nstruct io_tlb_area {\n\tlong unsigned int used;\n\tunsigned int index;\n\tspinlock_t lock;\n};\n\nstruct io_tlb_slot;\n\nstruct io_tlb_pool {\n\tphys_addr_t start;\n\tphys_addr_t end;\n\tvoid *vaddr;\n\tlong unsigned int nslabs;\n\tbool late_alloc;\n\tunsigned int nareas;\n\tunsigned int area_nslabs;\n\tstruct io_tlb_area *areas;\n\tstruct io_tlb_slot *slots;\n};\n\nstruct io_tlb_mem {\n\tstruct io_tlb_pool defpool;\n\tlong unsigned int nslabs;\n\tstruct dentry *debugfs;\n\tbool force_bounce;\n\tbool for_alloc;\n\tatomic_long_t total_used;\n\tatomic_long_t used_hiwater;\n\tatomic_long_t transient_nslabs;\n};\n\nstruct io_tlb_slot {\n\tphys_addr_t orig_addr;\n\tsize_t alloc_size;\n\tshort unsigned int list;\n\tshort unsigned int pad_slots;\n};\n\nstruct io_tw_state {};\n\nstruct io_unlink {\n\tstruct file *file;\n\tint dfd;\n\tint flags;\n\tstruct filename *filename;\n};\n\nstruct io_uring_attr_pi {\n\t__u16 flags;\n\t__u16 app_tag;\n\t__u32 len;\n\t__u64 addr;\n\t__u64 seed;\n\t__u64 rsvd;\n};\n\nstruct io_uring_buf {\n\t__u64 addr;\n\t__u32 len;\n\t__u16 bid;\n\t__u16 resv;\n};\n\nstruct io_uring_buf_reg {\n\t__u64 ring_addr;\n\t__u32 ring_entries;\n\t__u16 bgid;\n\t__u16 flags;\n\t__u64 resv[3];\n};\n\nstruct io_uring_buf_ring {\n\tunion {\n\t\tstruct {\n\t\t\t__u64 resv1;\n\t\t\t__u32 resv2;\n\t\t\t__u16 resv3;\n\t\t\t__u16 tail;\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_bufs;\n\t\t\tstruct io_uring_buf bufs[0];\n\t\t};\n\t};\n};\n\nstruct io_uring_buf_status {\n\t__u32 buf_group;\n\t__u32 head;\n\t__u32 resv[8];\n};\n\nstruct io_uring_clock_register {\n\t__u32 clockid;\n\t__u32 __resv[3];\n};\n\nstruct io_uring_clone_buffers {\n\t__u32 src_fd;\n\t__u32 flags;\n\t__u32 src_off;\n\t__u32 dst_off;\n\t__u32 nr;\n\t__u32 pad[3];\n};\n\nstruct io_uring_cmd {\n\tstruct file *file;\n\tconst struct io_uring_sqe *sqe;\n\tvoid (*task_work_cb)(struct io_uring_cmd *, unsigned int);\n\tu32 cmd_op;\n\tu32 flags;\n\tu8 pdu[32];\n};\n\nstruct io_uring_sqe {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 ioprio;\n\t__s32 fd;\n\tunion {\n\t\t__u64 off;\n\t\t__u64 addr2;\n\t\tstruct {\n\t\t\t__u32 cmd_op;\n\t\t\t__u32 __pad1;\n\t\t};\n\t};\n\tunion {\n\t\t__u64 addr;\n\t\t__u64 splice_off_in;\n\t\tstruct {\n\t\t\t__u32 level;\n\t\t\t__u32 optname;\n\t\t};\n\t};\n\t__u32 len;\n\tunion {\n\t\t__kernel_rwf_t rw_flags;\n\t\t__u32 fsync_flags;\n\t\t__u16 poll_events;\n\t\t__u32 poll32_events;\n\t\t__u32 sync_range_flags;\n\t\t__u32 msg_flags;\n\t\t__u32 timeout_flags;\n\t\t__u32 accept_flags;\n\t\t__u32 cancel_flags;\n\t\t__u32 open_flags;\n\t\t__u32 statx_flags;\n\t\t__u32 fadvise_advice;\n\t\t__u32 splice_flags;\n\t\t__u32 rename_flags;\n\t\t__u32 unlink_flags;\n\t\t__u32 hardlink_flags;\n\t\t__u32 xattr_flags;\n\t\t__u32 msg_ring_flags;\n\t\t__u32 uring_cmd_flags;\n\t\t__u32 waitid_flags;\n\t\t__u32 futex_flags;\n\t\t__u32 install_fd_flags;\n\t\t__u32 nop_flags;\n\t};\n\t__u64 user_data;\n\tunion {\n\t\t__u16 buf_index;\n\t\t__u16 buf_group;\n\t};\n\t__u16 personality;\n\tunion {\n\t\t__s32 splice_fd_in;\n\t\t__u32 file_index;\n\t\t__u32 optlen;\n\t\tstruct {\n\t\t\t__u16 addr_len;\n\t\t\t__u16 __pad3[1];\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__u64 addr3;\n\t\t\t__u64 __pad2[1];\n\t\t};\n\t\tstruct {\n\t\t\t__u64 attr_ptr;\n\t\t\t__u64 attr_type_mask;\n\t\t};\n\t\t__u64 optval;\n\t\t__u8 cmd[0];\n\t};\n};\n\nstruct io_uring_cmd_data {\n\tvoid *op_data;\n\tstruct io_uring_sqe sqes[2];\n};\n\nstruct io_uring_file_index_range {\n\t__u32 off;\n\t__u32 len;\n\t__u64 resv;\n};\n\nstruct io_uring_getevents_arg {\n\t__u64 sigmask;\n\t__u32 sigmask_sz;\n\t__u32 min_wait_usec;\n\t__u64 ts;\n};\n\nstruct io_uring_mem_region_reg {\n\t__u64 region_uptr;\n\t__u64 flags;\n\t__u64 __resv[2];\n};\n\nstruct io_uring_napi {\n\t__u32 busy_poll_to;\n\t__u8 prefer_busy_poll;\n\t__u8 opcode;\n\t__u8 pad[2];\n\t__u32 op_param;\n\t__u32 resv;\n};\n\nstruct io_uring_params {\n\t__u32 sq_entries;\n\t__u32 cq_entries;\n\t__u32 flags;\n\t__u32 sq_thread_cpu;\n\t__u32 sq_thread_idle;\n\t__u32 features;\n\t__u32 wq_fd;\n\t__u32 resv[3];\n\tstruct io_sqring_offsets sq_off;\n\tstruct io_cqring_offsets cq_off;\n};\n\nstruct io_uring_poll_queue {\n\tatomic_t busy;\n\tatomic_t pause;\n\tstruct adapter_reply_queue *reply_q;\n};\n\nstruct io_uring_probe_op {\n\t__u8 op;\n\t__u8 resv;\n\t__u16 flags;\n\t__u32 resv2;\n};\n\nstruct io_uring_probe {\n\t__u8 last_op;\n\t__u8 ops_len;\n\t__u16 resv;\n\t__u32 resv2[3];\n\tstruct io_uring_probe_op ops[0];\n};\n\nstruct io_uring_reg_wait {\n\tstruct __kernel_timespec ts;\n\t__u32 min_wait_usec;\n\t__u32 flags;\n\t__u64 sigmask;\n\t__u32 sigmask_sz;\n\t__u32 pad[3];\n\t__u64 pad2[2];\n};\n\nstruct io_uring_region_desc {\n\t__u64 user_addr;\n\t__u64 size;\n\t__u32 flags;\n\t__u32 id;\n\t__u64 mmap_offset;\n\t__u64 __resv[4];\n};\n\nstruct io_uring_restriction {\n\t__u16 opcode;\n\tunion {\n\t\t__u8 register_op;\n\t\t__u8 sqe_op;\n\t\t__u8 sqe_flags;\n\t};\n\t__u8 resv;\n\t__u32 resv2[3];\n};\n\nstruct io_uring_rsrc_register {\n\t__u32 nr;\n\t__u32 flags;\n\t__u64 resv2;\n\t__u64 data;\n\t__u64 tags;\n};\n\nstruct io_uring_rsrc_update {\n\t__u32 offset;\n\t__u32 resv;\n\t__u64 data;\n};\n\nstruct io_uring_rsrc_update2 {\n\t__u32 offset;\n\t__u32 resv;\n\t__u64 data;\n\t__u64 tags;\n\t__u32 nr;\n\t__u32 resv2;\n};\n\nstruct io_uring_sync_cancel_reg {\n\t__u64 addr;\n\t__s32 fd;\n\t__u32 flags;\n\tstruct __kernel_timespec timeout;\n\t__u8 opcode;\n\t__u8 pad[7];\n\t__u64 pad2[3];\n};\n\nstruct io_wq;\n\nstruct io_uring_task {\n\tint cached_refs;\n\tconst struct io_ring_ctx *last;\n\tstruct task_struct *task;\n\tstruct io_wq *io_wq;\n\tstruct file *registered_rings[16];\n\tstruct xarray xa;\n\tstruct wait_queue_head wait;\n\tatomic_t in_cancel;\n\tatomic_t inflight_tracked;\n\tstruct percpu_counter inflight;\n\tlong: 64;\n\tstruct {\n\t\tstruct llist_head task_list;\n\t\tstruct callback_head task_work;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n};\n\nstruct io_wait_queue {\n\tstruct wait_queue_entry wq;\n\tstruct io_ring_ctx *ctx;\n\tunsigned int cq_tail;\n\tunsigned int cq_min_tail;\n\tunsigned int nr_timeouts;\n\tint hit_timeout;\n\tktime_t min_timeout;\n\tktime_t timeout;\n\tstruct hrtimer t;\n\tktime_t napi_busy_poll_dt;\n\tbool napi_prefer_busy_poll;\n};\n\nstruct waitid_info {\n\tpid_t pid;\n\tuid_t uid;\n\tint status;\n\tint cause;\n};\n\nstruct io_waitid {\n\tstruct file *file;\n\tint which;\n\tpid_t upid;\n\tint options;\n\tatomic_t refs;\n\tstruct wait_queue_head *head;\n\tstruct siginfo *infop;\n\tstruct waitid_info info;\n};\n\nstruct rusage;\n\nstruct wait_opts {\n\tenum pid_type wo_type;\n\tint wo_flags;\n\tstruct pid *wo_pid;\n\tstruct waitid_info *wo_info;\n\tint wo_stat;\n\tstruct rusage *wo_rusage;\n\twait_queue_entry_t child_wait;\n\tint notask_error;\n};\n\nstruct io_waitid_async {\n\tstruct io_kiocb *req;\n\tstruct wait_opts wo;\n};\n\nstruct io_worker {\n\trefcount_t ref;\n\tint create_index;\n\tlong unsigned int flags;\n\tstruct hlist_nulls_node nulls_node;\n\tstruct list_head all_list;\n\tstruct task_struct *task;\n\tstruct io_wq *wq;\n\tstruct io_wq_work *cur_work;\n\traw_spinlock_t lock;\n\tstruct completion ref_done;\n\tlong unsigned int create_state;\n\tstruct callback_head create_work;\n\tint init_retries;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct delayed_work work;\n\t};\n};\n\ntypedef struct io_wq_work *free_work_fn(struct io_wq_work *);\n\ntypedef void io_wq_work_fn(struct io_wq_work *);\n\nstruct io_wq_acct {\n\tunsigned int nr_workers;\n\tunsigned int max_workers;\n\tint index;\n\tatomic_t nr_running;\n\traw_spinlock_t lock;\n\tstruct io_wq_work_list work_list;\n\tlong unsigned int flags;\n};\n\nstruct io_wq {\n\tlong unsigned int state;\n\tfree_work_fn *free_work;\n\tio_wq_work_fn *do_work;\n\tstruct io_wq_hash *hash;\n\tatomic_t worker_refs;\n\tstruct completion worker_done;\n\tstruct hlist_node cpuhp_node;\n\tstruct task_struct *task;\n\tstruct io_wq_acct acct[2];\n\traw_spinlock_t lock;\n\tstruct hlist_nulls_head free_list;\n\tstruct list_head all_list;\n\tstruct wait_queue_entry wait;\n\tstruct io_wq_work *hash_tail[64];\n\tcpumask_var_t cpu_mask;\n};\n\nstruct io_wq_data {\n\tstruct io_wq_hash *hash;\n\tstruct task_struct *task;\n\tio_wq_work_fn *do_work;\n\tfree_work_fn *free_work;\n};\n\nstruct io_wq_hash {\n\trefcount_t refs;\n\tlong unsigned int map;\n\tstruct wait_queue_head wait;\n};\n\nstruct xattr_name;\n\nstruct kernel_xattr_ctx {\n\tunion {\n\t\tconst void *cvalue;\n\t\tvoid *value;\n\t};\n\tvoid *kvalue;\n\tsize_t size;\n\tstruct xattr_name *kname;\n\tunsigned int flags;\n};\n\nstruct io_xattr {\n\tstruct file *file;\n\tstruct kernel_xattr_ctx ctx;\n\tstruct filename *filename;\n};\n\nstruct ioam6_hdr {\n\t__u8 opt_type;\n\t__u8 opt_len;\n\tchar: 8;\n\t__u8 type;\n};\n\nstruct ioam6_schema;\n\nstruct ioam6_namespace {\n\tstruct rhash_head head;\n\tstruct callback_head rcu;\n\tstruct ioam6_schema *schema;\n\t__be16 id;\n\t__be32 data;\n\t__be64 data_wide;\n};\n\nstruct ioam6_pernet_data {\n\tstruct mutex lock;\n\tstruct rhashtable namespaces;\n\tstruct rhashtable schemas;\n};\n\nstruct ioam6_schema {\n\tstruct rhash_head head;\n\tstruct callback_head rcu;\n\tstruct ioam6_namespace *ns;\n\tu32 id;\n\tint len;\n\t__be32 hdr;\n\tu8 data[0];\n};\n\nstruct ioam6_trace_hdr {\n\t__be16 namespace_id;\n\tchar: 2;\n\t__u8 overflow: 1;\n\t__u8 nodelen: 5;\n\t__u8 remlen: 7;\n\tunion {\n\t\t__be32 type_be32;\n\t\tstruct {\n\t\t\t__u32 bit7: 1;\n\t\t\t__u32 bit6: 1;\n\t\t\t__u32 bit5: 1;\n\t\t\t__u32 bit4: 1;\n\t\t\t__u32 bit3: 1;\n\t\t\t__u32 bit2: 1;\n\t\t\t__u32 bit1: 1;\n\t\t\t__u32 bit0: 1;\n\t\t\t__u32 bit15: 1;\n\t\t\t__u32 bit14: 1;\n\t\t\t__u32 bit13: 1;\n\t\t\t__u32 bit12: 1;\n\t\t\t__u32 bit11: 1;\n\t\t\t__u32 bit10: 1;\n\t\t\t__u32 bit9: 1;\n\t\t\t__u32 bit8: 1;\n\t\t\t__u32 bit23: 1;\n\t\t\t__u32 bit22: 1;\n\t\t\t__u32 bit21: 1;\n\t\t\t__u32 bit20: 1;\n\t\t\t__u32 bit19: 1;\n\t\t\t__u32 bit18: 1;\n\t\t\t__u32 bit17: 1;\n\t\t\t__u32 bit16: 1;\n\t\t} type;\n\t};\n\t__u8 data[0];\n};\n\nstruct ioc_params {\n\tu32 qos[6];\n\tu64 i_lcoefs[6];\n\tu64 lcoefs[6];\n\tu32 too_fast_vrate_pct;\n\tu32 too_slow_vrate_pct;\n};\n\nstruct ioc_margins {\n\ts64 min;\n\ts64 low;\n\ts64 target;\n};\n\nstruct ioc_pcpu_stat;\n\nstruct ioc {\n\tstruct rq_qos rqos;\n\tbool enabled;\n\tstruct ioc_params params;\n\tstruct ioc_margins margins;\n\tu32 period_us;\n\tu32 timer_slack_ns;\n\tu64 vrate_min;\n\tu64 vrate_max;\n\tspinlock_t lock;\n\tstruct timer_list timer;\n\tstruct list_head active_iocgs;\n\tstruct ioc_pcpu_stat *pcpu_stat;\n\tenum ioc_running running;\n\tatomic64_t vtime_rate;\n\tu64 vtime_base_rate;\n\ts64 vtime_err;\n\tseqcount_spinlock_t period_seqcount;\n\tu64 period_at;\n\tu64 period_at_vtime;\n\tatomic64_t cur_period;\n\tint busy_level;\n\tbool weights_updated;\n\tatomic_t hweight_gen;\n\tu64 dfgv_period_at;\n\tu64 dfgv_period_rem;\n\tu64 dfgv_usage_us_sum;\n\tu64 autop_too_fast_at;\n\tu64 autop_too_slow_at;\n\tint autop_idx;\n\tbool user_qos_params: 1;\n\tbool user_cost_model: 1;\n};\n\nstruct ioc_cgrp {\n\tstruct blkcg_policy_data cpd;\n\tunsigned int dfl_weight;\n};\n\nstruct iocg_stat {\n\tu64 usage_us;\n\tu64 wait_us;\n\tu64 indebt_us;\n\tu64 indelay_us;\n};\n\nstruct iocg_pcpu_stat;\n\nstruct ioc_gq {\n\tstruct blkg_policy_data pd;\n\tstruct ioc *ioc;\n\tu32 cfg_weight;\n\tu32 weight;\n\tu32 active;\n\tu32 inuse;\n\tu32 last_inuse;\n\ts64 saved_margin;\n\tsector_t cursor;\n\tatomic64_t vtime;\n\tatomic64_t done_vtime;\n\tu64 abs_vdebt;\n\tu64 delay;\n\tu64 delay_at;\n\tatomic64_t active_period;\n\tstruct list_head active_list;\n\tu64 child_active_sum;\n\tu64 child_inuse_sum;\n\tu64 child_adjusted_sum;\n\tint hweight_gen;\n\tu32 hweight_active;\n\tu32 hweight_inuse;\n\tu32 hweight_donating;\n\tu32 hweight_after_donation;\n\tstruct list_head walk_list;\n\tstruct list_head surplus_list;\n\tstruct wait_queue_head waitq;\n\tstruct hrtimer waitq_timer;\n\tu64 activated_at;\n\tstruct iocg_pcpu_stat *pcpu_stat;\n\tstruct iocg_stat stat;\n\tstruct iocg_stat last_stat;\n\tu64 last_stat_abs_vusage;\n\tu64 usage_delta_us;\n\tu64 wait_since;\n\tu64 indebt_since;\n\tu64 indelay_since;\n\tint level;\n\tstruct ioc_gq *ancestors[0];\n};\n\nstruct ioc_missed {\n\tlocal_t nr_met;\n\tlocal_t nr_missed;\n\tu32 last_met;\n\tu32 last_missed;\n};\n\nstruct ioc_now {\n\tu64 now_ns;\n\tu64 now;\n\tu64 vnow;\n};\n\nstruct ioc_pcpu_stat {\n\tstruct ioc_missed missed[2];\n\tlocal64_t rq_wait_ns;\n\tu64 last_rq_wait_ns;\n};\n\nstruct iocb {\n\t__u64 aio_data;\n\t__u32 aio_key;\n\t__kernel_rwf_t aio_rw_flags;\n\t__u16 aio_lio_opcode;\n\t__s16 aio_reqprio;\n\t__u32 aio_fildes;\n\t__u64 aio_buf;\n\t__u64 aio_nbytes;\n\t__s64 aio_offset;\n\t__u64 aio_reserved2;\n\t__u32 aio_flags;\n\t__u32 aio_resfd;\n};\n\nstruct iocg_pcpu_stat {\n\tlocal64_t abs_vusage;\n};\n\nstruct iocg_wait {\n\tstruct wait_queue_entry wait;\n\tstruct bio *bio;\n\tu64 abs_cost;\n\tbool committed;\n};\n\nstruct iocg_wake_ctx {\n\tstruct ioc_gq *iocg;\n\tu32 hw_inuse;\n\ts64 vbudget;\n};\n\nstruct ioctl_sick_map {\n\tunsigned int sick_mask;\n\tunsigned int ioctl_mask;\n};\n\nstruct percentile_stats {\n\tu64 total;\n\tu64 missed;\n};\n\nstruct latency_stat {\n\tunion {\n\t\tstruct percentile_stats ps;\n\t\tstruct blk_rq_stat rqs;\n\t};\n};\n\nstruct rq_wait {\n\twait_queue_head_t wait;\n\tatomic_t inflight;\n};\n\nstruct iolatency_grp {\n\tstruct blkg_policy_data pd;\n\tstruct latency_stat *stats;\n\tstruct latency_stat cur_stat;\n\tstruct blk_iolatency *blkiolat;\n\tunsigned int max_depth;\n\tstruct rq_wait rq_wait;\n\tatomic64_t window_start;\n\tatomic_t scale_cookie;\n\tu64 min_lat_nsec;\n\tu64 cur_win_nsec;\n\tu64 lat_avg;\n\tu64 nr_samples;\n\tbool ssd;\n\tstruct child_latency_info child_lat;\n};\n\nstruct iomap_folio_ops;\n\nstruct iomap {\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tstruct block_device *bdev;\n\tstruct dax_device *dax_dev;\n\tvoid *inline_data;\n\tvoid *private;\n\tconst struct iomap_folio_ops *folio_ops;\n\tu64 validity_cookie;\n};\n\nstruct iomap_dio_ops;\n\nstruct iomap_dio {\n\tstruct kiocb *iocb;\n\tconst struct iomap_dio_ops *dops;\n\tloff_t i_size;\n\tloff_t size;\n\tatomic_t ref;\n\tunsigned int flags;\n\tint error;\n\tsize_t done_before;\n\tbool wait_for_completion;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iov_iter *iter;\n\t\t\tstruct task_struct *waiter;\n\t\t} submit;\n\t\tstruct {\n\t\t\tstruct work_struct work;\n\t\t} aio;\n\t};\n};\n\nstruct iomap_iter;\n\nstruct iomap_dio_ops {\n\tint (*end_io)(struct kiocb *, ssize_t, int, unsigned int);\n\tvoid (*submit_io)(const struct iomap_iter *, struct bio *, loff_t);\n\tstruct bio_set *bio_set;\n};\n\nstruct iomap_folio_ops {\n\tstruct folio * (*get_folio)(struct iomap_iter *, loff_t, unsigned int);\n\tvoid (*put_folio)(struct inode *, loff_t, unsigned int, struct folio *);\n\tbool (*iomap_valid)(struct inode *, const struct iomap *);\n};\n\nstruct iomap_folio_state {\n\tspinlock_t state_lock;\n\tunsigned int read_bytes_pending;\n\tatomic_t write_bytes_pending;\n\tlong unsigned int state[0];\n};\n\nstruct iomap_ioend {\n\tstruct list_head io_list;\n\tu16 io_type;\n\tu16 io_flags;\n\tstruct inode *io_inode;\n\tsize_t io_size;\n\tloff_t io_offset;\n\tsector_t io_sector;\n\tstruct bio io_bio;\n};\n\nstruct iomap_iter {\n\tstruct inode *inode;\n\tloff_t pos;\n\tu64 len;\n\ts64 processed;\n\tunsigned int flags;\n\tstruct iomap iomap;\n\tstruct iomap srcmap;\n\tvoid *private;\n};\n\nstruct iomap_ops {\n\tint (*iomap_begin)(struct inode *, loff_t, loff_t, unsigned int, struct iomap *, struct iomap *);\n\tint (*iomap_end)(struct inode *, loff_t, loff_t, ssize_t, unsigned int, struct iomap *);\n};\n\nstruct iomap_readpage_ctx {\n\tstruct folio *cur_folio;\n\tbool cur_folio_in_bio;\n\tstruct bio *bio;\n\tstruct readahead_control *rac;\n};\n\nstruct iomap_swapfile_info {\n\tstruct iomap iomap;\n\tstruct swap_info_struct *sis;\n\tuint64_t lowest_ppage;\n\tuint64_t highest_ppage;\n\tlong unsigned int nr_pages;\n\tint nr_extents;\n\tstruct file *file;\n};\n\nstruct iomap_writepage_ctx;\n\nstruct iomap_writeback_ops {\n\tint (*map_blocks)(struct iomap_writepage_ctx *, struct inode *, loff_t, unsigned int);\n\tint (*prepare_ioend)(struct iomap_ioend *, int);\n\tvoid (*discard_folio)(struct folio *, loff_t);\n};\n\nstruct iomap_writepage_ctx {\n\tstruct iomap iomap;\n\tstruct iomap_ioend *ioend;\n\tconst struct iomap_writeback_ops *ops;\n\tu32 nr_folios;\n};\n\nstruct iommu_domain;\n\nstruct iommu_attach_handle {\n\tstruct iommu_domain *domain;\n};\n\nstruct iommu_ops;\n\nstruct iommu_device {\n\tstruct list_head list;\n\tconst struct iommu_ops *ops;\n\tstruct fwnode_handle *fwnode;\n\tstruct device *dev;\n\tstruct iommu_group *singleton_group;\n\tu32 max_pasids;\n};\n\nstruct iova_bitmap;\n\nstruct iommu_iotlb_gather;\n\nstruct iommu_dirty_bitmap {\n\tstruct iova_bitmap *bitmap;\n\tstruct iommu_iotlb_gather *gather;\n};\n\nstruct iommu_dirty_ops {\n\tint (*set_dirty_tracking)(struct iommu_domain *, bool);\n\tint (*read_and_clear_dirty)(struct iommu_domain *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *);\n};\n\nstruct iommu_domain_geometry {\n\tdma_addr_t aperture_start;\n\tdma_addr_t aperture_end;\n\tbool force_aperture;\n};\n\nstruct iommu_dma_cookie;\n\ntypedef int (*iommu_fault_handler_t)(struct iommu_domain *, struct device *, long unsigned int, int, void *);\n\nstruct iommu_domain_ops;\n\nstruct iopf_group;\n\nstruct iommu_domain {\n\tunsigned int type;\n\tconst struct iommu_domain_ops *ops;\n\tconst struct iommu_dirty_ops *dirty_ops;\n\tconst struct iommu_ops *owner;\n\tlong unsigned int pgsize_bitmap;\n\tstruct iommu_domain_geometry geometry;\n\tstruct iommu_dma_cookie *iova_cookie;\n\tint (*iopf_handler)(struct iopf_group *);\n\tvoid *fault_data;\n\tunion {\n\t\tstruct {\n\t\t\tiommu_fault_handler_t handler;\n\t\t\tvoid *handler_token;\n\t\t};\n\t\tstruct {\n\t\t\tstruct mm_struct *mm;\n\t\t\tint users;\n\t\t\tstruct list_head next;\n\t\t};\n\t};\n};\n\nstruct iommu_user_data_array;\n\nstruct iommu_domain_ops {\n\tint (*attach_dev)(struct iommu_domain *, struct device *);\n\tint (*set_dev_pasid)(struct iommu_domain *, struct device *, ioasid_t, struct iommu_domain *);\n\tint (*map_pages)(struct iommu_domain *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *);\n\tsize_t (*unmap_pages)(struct iommu_domain *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *);\n\tvoid (*flush_iotlb_all)(struct iommu_domain *);\n\tint (*iotlb_sync_map)(struct iommu_domain *, long unsigned int, size_t);\n\tvoid (*iotlb_sync)(struct iommu_domain *, struct iommu_iotlb_gather *);\n\tint (*cache_invalidate_user)(struct iommu_domain *, struct iommu_user_data_array *);\n\tphys_addr_t (*iova_to_phys)(struct iommu_domain *, dma_addr_t);\n\tbool (*enforce_cache_coherency)(struct iommu_domain *);\n\tint (*set_pgtable_quirks)(struct iommu_domain *, long unsigned int);\n\tvoid (*free)(struct iommu_domain *);\n};\n\nstruct iommu_fault_page_request {\n\tu32 flags;\n\tu32 pasid;\n\tu32 grpid;\n\tu32 perm;\n\tu64 addr;\n\tu64 private_data[2];\n};\n\nstruct iommu_fault {\n\tu32 type;\n\tstruct iommu_fault_page_request prm;\n};\n\nstruct iopf_queue;\n\nstruct iommu_fault_param {\n\tstruct mutex lock;\n\trefcount_t users;\n\tstruct callback_head rcu;\n\tstruct device *dev;\n\tstruct iopf_queue *queue;\n\tstruct list_head queue_list;\n\tstruct list_head partial;\n\tstruct list_head faults;\n};\n\nstruct iommu_fwspec {\n\tstruct fwnode_handle *iommu_fwnode;\n\tu32 flags;\n\tunsigned int num_ids;\n\tu32 ids[0];\n};\n\nstruct iommu_group {\n\tstruct kobject kobj;\n\tstruct kobject *devices_kobj;\n\tstruct list_head devices;\n\tstruct xarray pasid_array;\n\tstruct mutex mutex;\n\tvoid *iommu_data;\n\tvoid (*iommu_data_release)(void *);\n\tchar *name;\n\tint id;\n\tstruct iommu_domain *default_domain;\n\tstruct iommu_domain *blocking_domain;\n\tstruct iommu_domain *domain;\n\tstruct list_head entry;\n\tunsigned int owner_cnt;\n\tvoid *owner;\n};\n\nstruct iommu_group_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct iommu_group *, char *);\n\tssize_t (*store)(struct iommu_group *, const char *, size_t);\n};\n\nstruct iommu_iotlb_gather {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tsize_t pgsize;\n\tstruct list_head freelist;\n\tbool queued;\n};\n\nstruct iommufd_viommu;\n\nstruct iommufd_ctx;\n\nstruct iommu_user_data;\n\nstruct iopf_fault;\n\nstruct iommu_page_response;\n\nstruct iommu_ops {\n\tbool (*capable)(struct device *, enum iommu_cap);\n\tvoid * (*hw_info)(struct device *, u32 *, u32 *);\n\tstruct iommu_domain * (*domain_alloc)(unsigned int);\n\tstruct iommu_domain * (*domain_alloc_paging_flags)(struct device *, u32, const struct iommu_user_data *);\n\tstruct iommu_domain * (*domain_alloc_paging)(struct device *);\n\tstruct iommu_domain * (*domain_alloc_sva)(struct device *, struct mm_struct *);\n\tstruct iommu_domain * (*domain_alloc_nested)(struct device *, struct iommu_domain *, u32, const struct iommu_user_data *);\n\tstruct iommu_device * (*probe_device)(struct device *);\n\tvoid (*release_device)(struct device *);\n\tvoid (*probe_finalize)(struct device *);\n\tstruct iommu_group * (*device_group)(struct device *);\n\tvoid (*get_resv_regions)(struct device *, struct list_head *);\n\tint (*of_xlate)(struct device *, const struct of_phandle_args *);\n\tbool (*is_attach_deferred)(struct device *);\n\tint (*dev_enable_feat)(struct device *, enum iommu_dev_features);\n\tint (*dev_disable_feat)(struct device *, enum iommu_dev_features);\n\tvoid (*page_response)(struct device *, struct iopf_fault *, struct iommu_page_response *);\n\tint (*def_domain_type)(struct device *);\n\tstruct iommufd_viommu * (*viommu_alloc)(struct device *, struct iommu_domain *, struct iommufd_ctx *, unsigned int);\n\tconst struct iommu_domain_ops *default_domain_ops;\n\tlong unsigned int pgsize_bitmap;\n\tstruct module *owner;\n\tstruct iommu_domain *identity_domain;\n\tstruct iommu_domain *blocked_domain;\n\tstruct iommu_domain *release_domain;\n\tstruct iommu_domain *default_domain;\n\tu8 user_pasid_table: 1;\n};\n\nstruct iommu_page_response {\n\tu32 pasid;\n\tu32 grpid;\n\tu32 code;\n};\n\nstruct iommu_resv_region {\n\tstruct list_head list;\n\tphys_addr_t start;\n\tsize_t length;\n\tint prot;\n\tenum iommu_resv_type type;\n\tvoid (*free)(struct device *, struct iommu_resv_region *);\n};\n\nstruct iommu_user_data {\n\tunsigned int type;\n\tvoid *uptr;\n\tsize_t len;\n};\n\nstruct iommu_user_data_array {\n\tunsigned int type;\n\tvoid *uptr;\n\tsize_t entry_len;\n\tu32 entry_num;\n};\n\nstruct iopf_fault {\n\tstruct iommu_fault fault;\n\tstruct list_head list;\n};\n\nstruct iopf_group {\n\tstruct iopf_fault last_fault;\n\tstruct list_head faults;\n\tsize_t fault_count;\n\tstruct list_head pending_node;\n\tstruct work_struct work;\n\tstruct iommu_attach_handle *attach_handle;\n\tstruct iommu_fault_param *fault_param;\n\tstruct list_head node;\n\tu32 cookie;\n};\n\nstruct iopf_queue {\n\tstruct workqueue_struct *wq;\n\tstruct list_head devices;\n\tstruct mutex lock;\n};\n\nstruct ioprio_blkcg {\n\tstruct blkcg_policy_data cpd;\n\tenum prio_policy prio_policy;\n};\n\nstruct ip32_parport_state {\n\tunsigned int dcr;\n\tunsigned int ecr;\n};\n\nstruct ip6_flowlabel {\n\tstruct ip6_flowlabel *next;\n\t__be32 label;\n\tatomic_t users;\n\tstruct in6_addr dst;\n\tstruct ipv6_txoptions *opt;\n\tlong unsigned int linger;\n\tstruct callback_head rcu;\n\tu8 share;\n\tunion {\n\t\tstruct pid *pid;\n\t\tkuid_t uid;\n\t} owner;\n\tlong unsigned int lastuse;\n\tlong unsigned int expires;\n\tstruct net *fl_net;\n};\n\nstruct ip6_frag_state {\n\tu8 *prevhdr;\n\tunsigned int hlen;\n\tunsigned int mtu;\n\tunsigned int left;\n\tint offset;\n\tint ptr;\n\tint hroom;\n\tint troom;\n\t__be32 frag_id;\n\tu8 nexthdr;\n};\n\nstruct ipv6hdr;\n\nstruct ip6_fraglist_iter {\n\tstruct ipv6hdr *tmp_hdr;\n\tstruct sk_buff *frag;\n\tint offset;\n\tunsigned int hlen;\n\t__be32 frag_id;\n\tu8 nexthdr;\n};\n\nstruct sockaddr_in6 {\n\tshort unsigned int sin6_family;\n\t__be16 sin6_port;\n\t__be32 sin6_flowinfo;\n\tstruct in6_addr sin6_addr;\n\t__u32 sin6_scope_id;\n};\n\nstruct ip6_mtuinfo {\n\tstruct sockaddr_in6 ip6m_addr;\n\t__u32 ip6m_mtu;\n};\n\nstruct ip6_ra_chain {\n\tstruct ip6_ra_chain *next;\n\tstruct sock *sk;\n\tint sel;\n\tvoid (*destructor)(struct sock *);\n};\n\nstruct ip6_rt_info {\n\tstruct in6_addr daddr;\n\tstruct in6_addr saddr;\n\tu_int32_t mark;\n};\n\nstruct ip6_sf_list {\n\tstruct ip6_sf_list *sf_next;\n\tstruct in6_addr sf_addr;\n\tlong unsigned int sf_count[2];\n\tunsigned char sf_gsresp;\n\tunsigned char sf_oldin;\n\tunsigned char sf_crcount;\n\tstruct callback_head rcu;\n};\n\nstruct ip6_sf_socklist {\n\tunsigned int sl_max;\n\tunsigned int sl_count;\n\tstruct callback_head rcu;\n\tstruct in6_addr sl_addr[0];\n};\n\nstruct ip_tunnel_encap {\n\tu16 type;\n\tu16 flags;\n\t__be16 sport;\n\t__be16 dport;\n};\n\nstruct ip6_tnl {\n\tstruct ip6_tnl *next;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net *net;\n\tstruct __ip6_tnl_parm parms;\n\tstruct flowi fl;\n\tstruct dst_cache dst_cache;\n\tstruct gro_cells gro_cells;\n\tint err_count;\n\tlong unsigned int err_time;\n\t__u32 i_seqno;\n\tatomic_t o_seqno;\n\tint hlen;\n\tint tun_hlen;\n\tint encap_hlen;\n\tstruct ip_tunnel_encap encap;\n\tint mlink;\n};\n\nstruct ip6_tnl_encap_ops {\n\tsize_t (*encap_hlen)(struct ip_tunnel_encap *);\n\tint (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi6 *);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n};\n\nstruct ip6addrlbl_entry {\n\tstruct in6_addr prefix;\n\tint prefixlen;\n\tint ifindex;\n\tint addrtype;\n\tu32 label;\n\tstruct hlist_node list;\n\tstruct callback_head rcu;\n};\n\nstruct ip6addrlbl_init_table {\n\tconst struct in6_addr *prefix;\n\tint prefixlen;\n\tu32 label;\n};\n\nstruct ip6fl_iter_state {\n\tstruct seq_net_private p;\n\tstruct pid_namespace *pid_ns;\n\tint bucket;\n};\n\nstruct ip6rd_flowi {\n\tstruct flowi6 fl6;\n\tstruct in6_addr gateway;\n};\n\nstruct ip6t_ip6 {\n\tstruct in6_addr src;\n\tstruct in6_addr dst;\n\tstruct in6_addr smsk;\n\tstruct in6_addr dmsk;\n\tchar iniface[16];\n\tchar outiface[16];\n\tunsigned char iniface_mask[16];\n\tunsigned char outiface_mask[16];\n\t__u16 proto;\n\t__u8 tos;\n\t__u8 flags;\n\t__u8 invflags;\n};\n\nstruct xt_counters {\n\t__u64 pcnt;\n\t__u64 bcnt;\n};\n\nstruct ip6t_entry {\n\tstruct ip6t_ip6 ipv6;\n\tunsigned int nfcache;\n\t__u16 target_offset;\n\t__u16 next_offset;\n\tunsigned int comefrom;\n\tstruct xt_counters counters;\n\tunsigned char elems[0];\n};\n\nstruct xt_target;\n\nstruct xt_entry_target {\n\tunion {\n\t\tstruct {\n\t\t\t__u16 target_size;\n\t\t\tchar name[29];\n\t\t\t__u8 revision;\n\t\t} user;\n\t\tstruct {\n\t\t\t__u16 target_size;\n\t\t\tstruct xt_target *target;\n\t\t} kernel;\n\t\t__u16 target_size;\n\t} u;\n\tunsigned char data[0];\n};\n\nstruct xt_error_target {\n\tstruct xt_entry_target target;\n\tchar errorname[30];\n};\n\nstruct ip6t_error {\n\tstruct ip6t_entry entry;\n\tstruct xt_error_target target;\n};\n\nstruct ip6t_get_entries {\n\tchar name[32];\n\tunsigned int size;\n\tstruct ip6t_entry entrytable[0];\n};\n\nstruct ip6t_getinfo {\n\tchar name[32];\n\tunsigned int valid_hooks;\n\tunsigned int hook_entry[5];\n\tunsigned int underflow[5];\n\tunsigned int num_entries;\n\tunsigned int size;\n};\n\nstruct ip6t_icmp {\n\t__u8 type;\n\t__u8 code[2];\n\t__u8 invflags;\n};\n\nstruct ip6t_replace {\n\tchar name[32];\n\tunsigned int valid_hooks;\n\tunsigned int num_entries;\n\tunsigned int size;\n\tunsigned int hook_entry[5];\n\tunsigned int underflow[5];\n\tunsigned int num_counters;\n\tstruct xt_counters *counters;\n\tstruct ip6t_entry entries[0];\n};\n\nstruct xt_standard_target {\n\tstruct xt_entry_target target;\n\tint verdict;\n};\n\nstruct ip6t_standard {\n\tstruct ip6t_entry entry;\n\tstruct xt_standard_target target;\n};\n\nstruct ip_auth_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__be16 reserved;\n\t__be32 spi;\n\t__be32 seq_no;\n\t__u8 auth_data[0];\n};\n\nstruct ip_beet_phdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 padlen;\n\t__u8 reserved;\n};\n\nstruct ip_conntrack_stat {\n\tunsigned int found;\n\tunsigned int invalid;\n\tunsigned int insert;\n\tunsigned int insert_failed;\n\tunsigned int clash_resolve;\n\tunsigned int drop;\n\tunsigned int early_drop;\n\tunsigned int error;\n\tunsigned int expect_new;\n\tunsigned int expect_create;\n\tunsigned int expect_delete;\n\tunsigned int search_restart;\n\tunsigned int chaintoolong;\n};\n\nstruct ip_ct_sctp {\n\tenum sctp_conntrack state;\n\t__be32 vtag[2];\n\tu8 init[2];\n\tu8 last_dir;\n\tu8 flags;\n};\n\nstruct ip_ct_tcp_state {\n\tu_int32_t td_end;\n\tu_int32_t td_maxend;\n\tu_int32_t td_maxwin;\n\tu_int32_t td_maxack;\n\tu_int8_t td_scale;\n\tu_int8_t flags;\n};\n\nstruct ip_ct_tcp {\n\tstruct ip_ct_tcp_state seen[2];\n\tu_int8_t state;\n\tu_int8_t last_dir;\n\tu_int8_t retrans;\n\tu_int8_t last_index;\n\tu_int32_t last_seq;\n\tu_int32_t last_ack;\n\tu_int32_t last_end;\n\tu_int16_t last_win;\n\tu_int8_t last_wscale;\n\tu_int8_t last_flags;\n};\n\nstruct ip_esp_hdr {\n\t__be32 spi;\n\t__be32 seq_no;\n\t__u8 enc_data[0];\n};\n\nstruct ip_frag_state {\n\tbool DF;\n\tunsigned int hlen;\n\tunsigned int ll_rs;\n\tunsigned int mtu;\n\tunsigned int left;\n\tint offset;\n\tint ptr;\n\t__be16 not_last_frag;\n};\n\nstruct ip_fraglist_iter {\n\tstruct sk_buff *frag;\n\tstruct iphdr *iph;\n\tint offset;\n\tunsigned int hlen;\n};\n\nstruct unix_domain;\n\nstruct ip_map {\n\tstruct cache_head h;\n\tchar m_class[8];\n\tstruct in6_addr m_addr;\n\tstruct unix_domain *m_client;\n\tstruct callback_head m_rcu;\n};\n\nstruct ip_sf_list;\n\nstruct ip_mc_list {\n\tstruct in_device *interface;\n\t__be32 multiaddr;\n\tunsigned int sfmode;\n\tstruct ip_sf_list *sources;\n\tstruct ip_sf_list *tomb;\n\tlong unsigned int sfcount[2];\n\tunion {\n\t\tstruct ip_mc_list *next;\n\t\tstruct ip_mc_list *next_rcu;\n\t};\n\tstruct ip_mc_list *next_hash;\n\tstruct timer_list timer;\n\tint users;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tchar tm_running;\n\tchar reporter;\n\tchar unsolicit_count;\n\tchar loaded;\n\tunsigned char gsquery;\n\tunsigned char crcount;\n\tlong unsigned int mca_cstamp;\n\tlong unsigned int mca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ip_mreqn {\n\tstruct in_addr imr_multiaddr;\n\tstruct in_addr imr_address;\n\tint imr_ifindex;\n};\n\nstruct ip_sf_socklist;\n\nstruct ip_mc_socklist {\n\tstruct ip_mc_socklist *next_rcu;\n\tstruct ip_mreqn multi;\n\tunsigned int sfmode;\n\tstruct ip_sf_socklist *sflist;\n\tstruct callback_head rcu;\n};\n\nstruct ip_mreq_source {\n\t__be32 imr_multiaddr;\n\t__be32 imr_interface;\n\t__be32 imr_sourceaddr;\n};\n\nstruct ip_msfilter {\n\t__be32 imsf_multiaddr;\n\t__be32 imsf_interface;\n\t__u32 imsf_fmode;\n\t__u32 imsf_numsrc;\n\tunion {\n\t\t__be32 imsf_slist[1];\n\t\tstruct {\n\t\t\tstruct {} __empty_imsf_slist_flex;\n\t\t\t__be32 imsf_slist_flex[0];\n\t\t};\n\t};\n};\n\nstruct ip_ra_chain {\n\tstruct ip_ra_chain *next;\n\tstruct sock *sk;\n\tunion {\n\t\tvoid (*destructor)(struct sock *);\n\t\tstruct sock *saved_sk;\n\t};\n\tstruct callback_head rcu;\n};\n\nstruct kvec {\n\tvoid *iov_base;\n\tsize_t iov_len;\n};\n\nstruct ip_reply_arg {\n\tstruct kvec iov[1];\n\tint flags;\n\t__wsum csum;\n\tint csumoffset;\n\tint bound_dev_if;\n\tu8 tos;\n\tkuid_t uid;\n};\n\nstruct ip_rt_acct {\n\t__u32 o_bytes;\n\t__u32 o_packets;\n\t__u32 i_bytes;\n\t__u32 i_packets;\n};\n\nstruct ip_rt_info {\n\t__be32 daddr;\n\t__be32 saddr;\n\tu_int8_t tos;\n\tu_int32_t mark;\n};\n\nstruct ip_sf_list {\n\tstruct ip_sf_list *sf_next;\n\tlong unsigned int sf_count[2];\n\t__be32 sf_inaddr;\n\tunsigned char sf_gsresp;\n\tunsigned char sf_oldin;\n\tunsigned char sf_crcount;\n};\n\nstruct ip_sf_socklist {\n\tunsigned int sl_max;\n\tunsigned int sl_count;\n\tstruct callback_head rcu;\n\t__be32 sl_addr[0];\n};\n\nstruct ip_tunnel_parm_kern {\n\tchar name[16];\n\tlong unsigned int i_flags[1];\n\tlong unsigned int o_flags[1];\n\t__be32 i_key;\n\t__be32 o_key;\n\tint link;\n\tstruct iphdr iph;\n};\n\nstruct ip_tunnel_prl_entry;\n\nstruct ip_tunnel {\n\tstruct ip_tunnel *next;\n\tstruct hlist_node hash_node;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net *net;\n\tlong unsigned int err_time;\n\tint err_count;\n\tu32 i_seqno;\n\tatomic_t o_seqno;\n\tint tun_hlen;\n\tu32 index;\n\tu8 erspan_ver;\n\tu8 dir;\n\tu16 hwid;\n\tstruct dst_cache dst_cache;\n\tstruct ip_tunnel_parm_kern parms;\n\tint mlink;\n\tint encap_hlen;\n\tint hlen;\n\tstruct ip_tunnel_encap encap;\n\tstruct ip_tunnel_prl_entry *prl;\n\tunsigned int prl_count;\n\tunsigned int ip_tnl_net_id;\n\tstruct gro_cells gro_cells;\n\t__u32 fwmark;\n\tbool collect_md;\n\tbool ignore_df;\n};\n\nstruct ip_tunnel_encap_ops {\n\tsize_t (*encap_hlen)(struct ip_tunnel_encap *);\n\tint (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi4 *);\n\tint (*err_handler)(struct sk_buff *, u32);\n};\n\nstruct ip_tunnel_key {\n\t__be64 tun_id;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 src;\n\t\t\t__be32 dst;\n\t\t} ipv4;\n\t\tstruct {\n\t\t\tstruct in6_addr src;\n\t\t\tstruct in6_addr dst;\n\t\t} ipv6;\n\t} u;\n\tlong unsigned int tun_flags[1];\n\t__be32 label;\n\tu32 nhid;\n\tu8 tos;\n\tu8 ttl;\n\t__be16 tp_src;\n\t__be16 tp_dst;\n\t__u8 flow_flags;\n};\n\nstruct ip_tunnel_info {\n\tstruct ip_tunnel_key key;\n\tstruct ip_tunnel_encap encap;\n\tstruct dst_cache dst_cache;\n\tu8 options_len;\n\tu8 mode;\n};\n\nstruct rtnl_link_ops;\n\nstruct ip_tunnel_net {\n\tstruct net_device *fb_tunnel_dev;\n\tstruct rtnl_link_ops *rtnl_link_ops;\n\tstruct hlist_head tunnels[128];\n\tstruct ip_tunnel *collect_md_tun;\n\tint type;\n};\n\nstruct ip_tunnel_parm {\n\tchar name[16];\n\tint link;\n\t__be16 i_flags;\n\t__be16 o_flags;\n\t__be32 i_key;\n\t__be32 o_key;\n\tstruct iphdr iph;\n};\n\nstruct ip_tunnel_prl {\n\t__be32 addr;\n\t__u16 flags;\n\t__u16 __reserved;\n\t__u32 datalen;\n\t__u32 __reserved2;\n};\n\nstruct ip_tunnel_prl_entry {\n\tstruct ip_tunnel_prl_entry *next;\n\t__be32 addr;\n\tu16 flags;\n\tstruct callback_head callback_head;\n};\n\nstruct ipc64_perm {\n\t__kernel_key_t key;\n\t__kernel_uid32_t uid;\n\t__kernel_gid32_t gid;\n\t__kernel_uid32_t cuid;\n\t__kernel_gid32_t cgid;\n\t__kernel_mode_t mode;\n\tunsigned char __pad1[0];\n\tshort unsigned int seq;\n\tshort unsigned int __pad2;\n\t__kernel_ulong_t __unused1;\n\t__kernel_ulong_t __unused2;\n};\n\nstruct ipc_ids {\n\tint in_use;\n\tshort unsigned int seq;\n\tstruct rw_semaphore rwsem;\n\tstruct idr ipcs_idr;\n\tint max_idx;\n\tint last_idx;\n\tint next_id;\n\tstruct rhashtable key_ht;\n};\n\nstruct ipc_namespace {\n\tstruct ipc_ids ids[3];\n\tint sem_ctls[4];\n\tint used_sems;\n\tunsigned int msg_ctlmax;\n\tunsigned int msg_ctlmnb;\n\tunsigned int msg_ctlmni;\n\tstruct percpu_counter percpu_msg_bytes;\n\tstruct percpu_counter percpu_msg_hdrs;\n\tsize_t shm_ctlmax;\n\tsize_t shm_ctlall;\n\tlong unsigned int shm_tot;\n\tint shm_ctlmni;\n\tint shm_rmid_forced;\n\tstruct notifier_block ipcns_nb;\n\tstruct vfsmount *mq_mnt;\n\tunsigned int mq_queues_count;\n\tunsigned int mq_queues_max;\n\tunsigned int mq_msg_max;\n\tunsigned int mq_msgsize_max;\n\tunsigned int mq_msg_default;\n\tunsigned int mq_msgsize_default;\n\tstruct ctl_table_set mq_set;\n\tstruct ctl_table_header *mq_sysctls;\n\tstruct ctl_table_set ipc_set;\n\tstruct ctl_table_header *ipc_sysctls;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct llist_node mnt_llist;\n\tstruct ns_common ns;\n};\n\nstruct ipc_params;\n\nstruct kern_ipc_perm;\n\nstruct ipc_ops {\n\tint (*getnew)(struct ipc_namespace *, struct ipc_params *);\n\tint (*associate)(struct kern_ipc_perm *, int);\n\tint (*more_checks)(struct kern_ipc_perm *, struct ipc_params *);\n};\n\nstruct ipc_params {\n\tkey_t key;\n\tint flg;\n\tunion {\n\t\tsize_t size;\n\t\tint nsems;\n\t} u;\n};\n\nstruct ipc_perm {\n\t__kernel_key_t key;\n\t__kernel_uid_t uid;\n\t__kernel_gid_t gid;\n\t__kernel_uid_t cuid;\n\t__kernel_gid_t cgid;\n\t__kernel_mode_t mode;\n\tshort unsigned int seq;\n};\n\nstruct ipc_proc_iface {\n\tconst char *path;\n\tconst char *header;\n\tint ids;\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct ipc_proc_iter {\n\tstruct ipc_namespace *ns;\n\tstruct pid_namespace *pid_ns;\n\tstruct ipc_proc_iface *iface;\n};\n\nstruct ipc_security_struct {\n\tu16 sclass;\n\tu32 sid;\n};\n\nstruct sockcm_cookie {\n\tu64 transmit_time;\n\tu32 mark;\n\tu32 tsflags;\n\tu32 ts_opt_id;\n\tu32 priority;\n};\n\nstruct ipcm6_cookie {\n\tstruct sockcm_cookie sockc;\n\t__s16 hlimit;\n\t__s16 tclass;\n\t__u16 gso_size;\n\t__s8 dontfrag;\n\tstruct ipv6_txoptions *opt;\n};\n\nstruct ipcm_cookie {\n\tstruct sockcm_cookie sockc;\n\t__be32 addr;\n\tint oif;\n\tstruct ip_options_rcu *opt;\n\t__u8 protocol;\n\t__u8 ttl;\n\t__s16 tos;\n\t__u16 gso_size;\n};\n\nstruct ipfrag_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t};\n\tstruct sk_buff *next_frag;\n\tint frag_run_len;\n\tint ip_defrag_offset;\n};\n\nstruct ipi_state {\n\tspinlock_t lock;\n\tuint32_t status;\n\tuint32_t en;\n\tuint32_t set;\n\tuint32_t clear;\n\tuint64_t buf[4];\n};\n\nunion ipmap {\n\tu64 reg_u64;\n\tu32 reg_u32[2];\n\tu16 reg_u16[4];\n\tu8 reg_u8[8];\n};\n\nstruct ipmi_dmi_info {\n\tenum si_type si_type;\n\tunsigned int space;\n\tlong unsigned int addr;\n\tu8 slave_addr;\n\tstruct ipmi_dmi_info *next;\n};\n\nstruct ipmi_plat_data {\n\tenum ipmi_plat_interface_type iftype;\n\tunsigned int type;\n\tunsigned int space;\n\tlong unsigned int addr;\n\tunsigned int regspacing;\n\tunsigned int regsize;\n\tunsigned int regshift;\n\tunsigned int irq;\n\tunsigned int slave_addr;\n\tenum ipmi_addr_src addr_source;\n};\n\nstruct mr_table;\n\nstruct ipmr_result {\n\tstruct mr_table *mrt;\n};\n\nstruct ipq {\n\tstruct inet_frag_queue q;\n\tu8 ecn;\n\tu16 max_df_size;\n\tint iif;\n\tunsigned int rid;\n\tstruct inet_peer *peer;\n};\n\nstruct ipstats_mib {\n\tu64 mibs[38];\n\tstruct u64_stats_sync syncp;\n};\n\nstruct ipt_icmp {\n\t__u8 type;\n\t__u8 code[2];\n\t__u8 invflags;\n};\n\nstruct ipv6_ac_socklist {\n\tstruct in6_addr acl_addr;\n\tint acl_ifindex;\n\tstruct ipv6_ac_socklist *acl_next;\n};\n\nstruct udp_table;\n\nstruct ipv6_bpf_stub {\n\tint (*inet6_bind)(struct sock *, struct sockaddr *, int, u32);\n\tstruct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *);\n\tint (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t);\n\tint (*ipv6_dev_get_saddr)(struct net *, const struct net_device *, const struct in6_addr *, unsigned int, struct in6_addr *);\n};\n\nstruct ipv6_fl_socklist {\n\tstruct ipv6_fl_socklist *next;\n\tstruct ip6_flowlabel *fl;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6_mc_socklist {\n\tstruct in6_addr addr;\n\tint ifindex;\n\tunsigned int sfmode;\n\tstruct ipv6_mc_socklist *next;\n\tstruct ip6_sf_socklist *sflist;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6_mreq {\n\tstruct in6_addr ipv6mr_multiaddr;\n\tint ipv6mr_ifindex;\n};\n\nstruct ipv6_opt_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n};\n\nstruct ipv6_params {\n\t__s32 disable_ipv6;\n\t__s32 autoconf;\n};\n\nstruct ipv6_pinfo {\n\tstruct in6_addr saddr;\n\tstruct in6_pktinfo sticky_pktinfo;\n\tconst struct in6_addr *daddr_cache;\n\t__be32 flow_label;\n\t__u32 frag_size;\n\ts16 hop_limit;\n\tu8 mcast_hops;\n\tint ucast_oif;\n\tint mcast_oif;\n\tunion {\n\t\tstruct {\n\t\t\t__u16 srcrt: 1;\n\t\t\t__u16 osrcrt: 1;\n\t\t\t__u16 rxinfo: 1;\n\t\t\t__u16 rxoinfo: 1;\n\t\t\t__u16 rxhlim: 1;\n\t\t\t__u16 rxohlim: 1;\n\t\t\t__u16 hopopts: 1;\n\t\t\t__u16 ohopopts: 1;\n\t\t\t__u16 dstopts: 1;\n\t\t\t__u16 odstopts: 1;\n\t\t\t__u16 rxflow: 1;\n\t\t\t__u16 rxtclass: 1;\n\t\t\t__u16 rxpmtu: 1;\n\t\t\t__u16 rxorigdstaddr: 1;\n\t\t\t__u16 recvfragsize: 1;\n\t\t} bits;\n\t\t__u16 all;\n\t} rxopt;\n\t__u8 srcprefs;\n\t__u8 pmtudisc;\n\t__u8 min_hopcount;\n\t__u8 tclass;\n\t__be32 rcv_flowinfo;\n\t__u32 dst_cookie;\n\tstruct ipv6_mc_socklist *ipv6_mc_list;\n\tstruct ipv6_ac_socklist *ipv6_ac_list;\n\tstruct ipv6_fl_socklist *ipv6_fl_list;\n\tstruct ipv6_txoptions *opt;\n\tstruct sk_buff *pktoptions;\n\tstruct sk_buff *rxpmtu;\n\tstruct inet6_cork cork;\n};\n\nstruct ipv6_route_iter {\n\tstruct seq_net_private p;\n\tstruct fib6_walker w;\n\tloff_t skip;\n\tstruct fib6_table *tbl;\n\tint sernum;\n};\n\nstruct ipv6_rpl_sr_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n\t__u32 cmpre: 4;\n\t__u32 cmpri: 4;\n\t__u32 reserved: 4;\n\t__u32 pad: 4;\n\t__u32 reserved1: 16;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_addr;\n\t\t\tstruct in6_addr addr[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\t__u8 data[0];\n\t\t};\n\t} segments;\n};\n\nstruct ipv6_rt_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n};\n\nstruct ipv6_saddr_dst {\n\tconst struct in6_addr *addr;\n\tint ifindex;\n\tint scope;\n\tint label;\n\tunsigned int prefs;\n};\n\nstruct ipv6_saddr_score {\n\tint rule;\n\tint addr_type;\n\tstruct inet6_ifaddr *ifa;\n\tlong unsigned int scorebits[1];\n\tint scopedist;\n\tint matchlen;\n};\n\nstruct ipv6_sr_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n\t__u8 first_segment;\n\t__u8 flags;\n\t__u16 tag;\n\tstruct in6_addr segments[0];\n};\n\nstruct neigh_table;\n\nstruct ipv6_stub {\n\tint (*ipv6_sock_mc_join)(struct sock *, int, const struct in6_addr *);\n\tint (*ipv6_sock_mc_drop)(struct sock *, int, const struct in6_addr *);\n\tstruct dst_entry * (*ipv6_dst_lookup_flow)(struct net *, const struct sock *, struct flowi6 *, const struct in6_addr *);\n\tint (*ipv6_route_input)(struct sk_buff *);\n\tstruct fib6_table * (*fib6_get_table)(struct net *, u32);\n\tint (*fib6_lookup)(struct net *, int, struct flowi6 *, struct fib6_result *, int);\n\tint (*fib6_table_lookup)(struct net *, struct fib6_table *, int, struct flowi6 *, struct fib6_result *, int);\n\tvoid (*fib6_select_path)(const struct net *, struct fib6_result *, struct flowi6 *, int, bool, const struct sk_buff *, int);\n\tu32 (*ip6_mtu_from_fib6)(const struct fib6_result *, const struct in6_addr *, const struct in6_addr *);\n\tint (*fib6_nh_init)(struct net *, struct fib6_nh *, struct fib6_config *, gfp_t, struct netlink_ext_ack *);\n\tvoid (*fib6_nh_release)(struct fib6_nh *);\n\tvoid (*fib6_nh_release_dsts)(struct fib6_nh *);\n\tvoid (*fib6_update_sernum)(struct net *, struct fib6_info *);\n\tint (*ip6_del_rt)(struct net *, struct fib6_info *, bool);\n\tvoid (*fib6_rt_update)(struct net *, struct fib6_info *, struct nl_info *);\n\tvoid (*udpv6_encap_enable)(void);\n\tvoid (*ndisc_send_na)(struct net_device *, const struct in6_addr *, const struct in6_addr *, bool, bool, bool, bool);\n\tvoid (*xfrm6_local_rxpmtu)(struct sk_buff *, u32);\n\tint (*xfrm6_udp_encap_rcv)(struct sock *, struct sk_buff *);\n\tstruct sk_buff * (*xfrm6_gro_udp_encap_rcv)(struct sock *, struct list_head *, struct sk_buff *);\n\tint (*xfrm6_rcv_encap)(struct sk_buff *, int, __be32, int);\n\tstruct neigh_table *nd_tbl;\n\tint (*ipv6_fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *));\n\tstruct net_device * (*ipv6_dev_find)(struct net *, const struct in6_addr *, struct net_device *);\n\tint (*ip6_xmit)(const struct sock *, struct sk_buff *, struct flowi6 *, __u32, struct ipv6_txoptions *, int, u32);\n};\n\nstruct ipv6_txoptions {\n\trefcount_t refcnt;\n\tint tot_len;\n\t__u16 opt_flen;\n\t__u16 opt_nflen;\n\tstruct ipv6_opt_hdr *hopopt;\n\tstruct ipv6_opt_hdr *dst0opt;\n\tstruct ipv6_rt_hdr *srcrt;\n\tstruct ipv6_opt_hdr *dst1opt;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6hdr {\n\t__u8 priority: 4;\n\t__u8 version: 4;\n\t__u8 flow_lbl[3];\n\t__be16 payload_len;\n\t__u8 nexthdr;\n\t__u8 hop_limit;\n\tunion {\n\t\tstruct {\n\t\t\tstruct in6_addr saddr;\n\t\t\tstruct in6_addr daddr;\n\t\t};\n\t\tstruct {\n\t\t\tstruct in6_addr saddr;\n\t\t\tstruct in6_addr daddr;\n\t\t} addrs;\n\t};\n};\n\nstruct irq_affinity {\n\tunsigned int pre_vectors;\n\tunsigned int post_vectors;\n\tunsigned int nr_sets;\n\tunsigned int set_size[4];\n\tvoid (*calc_sets)(struct irq_affinity *, unsigned int);\n\tvoid *priv;\n};\n\nstruct irq_affinity_desc {\n\tstruct cpumask mask;\n\tunsigned int is_managed: 1;\n};\n\nstruct irq_affinity_devres {\n\tunsigned int count;\n\tunsigned int irq[0];\n};\n\nstruct irq_affinity_notify {\n\tunsigned int irq;\n\tstruct kref kref;\n\tstruct work_struct work;\n\tvoid (*notify)(struct irq_affinity_notify *, const cpumask_t *);\n\tvoid (*release)(struct kref *);\n};\n\nstruct msi_msg;\n\nstruct irq_chip {\n\tconst char *name;\n\tunsigned int (*irq_startup)(struct irq_data *);\n\tvoid (*irq_shutdown)(struct irq_data *);\n\tvoid (*irq_enable)(struct irq_data *);\n\tvoid (*irq_disable)(struct irq_data *);\n\tvoid (*irq_ack)(struct irq_data *);\n\tvoid (*irq_mask)(struct irq_data *);\n\tvoid (*irq_mask_ack)(struct irq_data *);\n\tvoid (*irq_unmask)(struct irq_data *);\n\tvoid (*irq_eoi)(struct irq_data *);\n\tint (*irq_set_affinity)(struct irq_data *, const struct cpumask *, bool);\n\tint (*irq_retrigger)(struct irq_data *);\n\tint (*irq_set_type)(struct irq_data *, unsigned int);\n\tint (*irq_set_wake)(struct irq_data *, unsigned int);\n\tvoid (*irq_bus_lock)(struct irq_data *);\n\tvoid (*irq_bus_sync_unlock)(struct irq_data *);\n\tvoid (*irq_suspend)(struct irq_data *);\n\tvoid (*irq_resume)(struct irq_data *);\n\tvoid (*irq_pm_shutdown)(struct irq_data *);\n\tvoid (*irq_calc_mask)(struct irq_data *);\n\tvoid (*irq_print_chip)(struct irq_data *, struct seq_file *);\n\tint (*irq_request_resources)(struct irq_data *);\n\tvoid (*irq_release_resources)(struct irq_data *);\n\tvoid (*irq_compose_msi_msg)(struct irq_data *, struct msi_msg *);\n\tvoid (*irq_write_msi_msg)(struct irq_data *, struct msi_msg *);\n\tint (*irq_get_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool *);\n\tint (*irq_set_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool);\n\tint (*irq_set_vcpu_affinity)(struct irq_data *, void *);\n\tvoid (*ipi_send_single)(struct irq_data *, unsigned int);\n\tvoid (*ipi_send_mask)(struct irq_data *, const struct cpumask *);\n\tint (*irq_nmi_setup)(struct irq_data *);\n\tvoid (*irq_nmi_teardown)(struct irq_data *);\n\tlong unsigned int flags;\n};\n\nstruct irq_chip_regs {\n\tlong unsigned int enable;\n\tlong unsigned int disable;\n\tlong unsigned int mask;\n\tlong unsigned int ack;\n\tlong unsigned int eoi;\n\tlong unsigned int type;\n};\n\nstruct irq_chip_type {\n\tstruct irq_chip chip;\n\tstruct irq_chip_regs regs;\n\tirq_flow_handler_t handler;\n\tu32 type;\n\tu32 mask_cache_priv;\n\tu32 *mask_cache;\n};\n\nstruct irq_chip_generic {\n\traw_spinlock_t lock;\n\tvoid *reg_base;\n\tu32 (*reg_readl)(void *);\n\tvoid (*reg_writel)(u32, void *);\n\tvoid (*suspend)(struct irq_chip_generic *);\n\tvoid (*resume)(struct irq_chip_generic *);\n\tunsigned int irq_base;\n\tunsigned int irq_cnt;\n\tu32 mask_cache;\n\tu32 wake_enabled;\n\tu32 wake_active;\n\tunsigned int num_ct;\n\tvoid *private;\n\tlong unsigned int installed;\n\tlong unsigned int unused;\n\tstruct irq_domain *domain;\n\tstruct list_head list;\n\tstruct irq_chip_type chip_types[0];\n};\n\nstruct irq_common_data {\n\tunsigned int state_use_accessors;\n\tunsigned int node;\n\tvoid *handler_data;\n\tstruct msi_desc *msi_desc;\n\tcpumask_var_t affinity;\n\tcpumask_var_t effective_affinity;\n};\n\nstruct irq_data {\n\tu32 mask;\n\tunsigned int irq;\n\tirq_hw_number_t hwirq;\n\tstruct irq_common_data *common;\n\tstruct irq_chip *chip;\n\tstruct irq_domain *domain;\n\tstruct irq_data *parent_data;\n\tvoid *chip_data;\n};\n\nstruct irqstat;\n\nstruct irqaction;\n\nstruct irq_desc {\n\tstruct irq_common_data irq_common_data;\n\tstruct irq_data irq_data;\n\tstruct irqstat *kstat_irqs;\n\tirq_flow_handler_t handle_irq;\n\tstruct irqaction *action;\n\tunsigned int status_use_accessors;\n\tunsigned int core_internal_state__do_not_mess_with_it;\n\tunsigned int depth;\n\tunsigned int wake_depth;\n\tunsigned int tot_count;\n\tunsigned int irq_count;\n\tlong unsigned int last_unhandled;\n\tunsigned int irqs_unhandled;\n\tatomic_t threads_handled;\n\tint threads_handled_last;\n\traw_spinlock_t lock;\n\tstruct cpumask *percpu_enabled;\n\tconst struct cpumask *percpu_affinity;\n\tconst struct cpumask *affinity_hint;\n\tstruct irq_affinity_notify *affinity_notify;\n\tlong unsigned int threads_oneshot;\n\tatomic_t threads_active;\n\twait_queue_head_t wait_for_threads;\n\tunsigned int nr_actions;\n\tunsigned int no_suspend_depth;\n\tunsigned int cond_suspend_depth;\n\tunsigned int force_resume_depth;\n\tstruct proc_dir_entry *dir;\n\tstruct callback_head rcu;\n\tstruct kobject kobj;\n\tstruct mutex request_mutex;\n\tint parent_irq;\n\tstruct module *owner;\n\tconst char *name;\n};\n\nstruct irq_desc_devres {\n\tunsigned int from;\n\tunsigned int cnt;\n};\n\nstruct irq_devres {\n\tunsigned int irq;\n\tvoid *dev_id;\n};\n\nstruct irq_domain_chip_generic;\n\nstruct msi_parent_ops;\n\nstruct irq_domain {\n\tstruct list_head link;\n\tconst char *name;\n\tconst struct irq_domain_ops *ops;\n\tvoid *host_data;\n\tunsigned int flags;\n\tunsigned int mapcount;\n\tstruct mutex mutex;\n\tstruct irq_domain *root;\n\tstruct fwnode_handle *fwnode;\n\tenum irq_domain_bus_token bus_token;\n\tstruct irq_domain_chip_generic *gc;\n\tstruct device *dev;\n\tstruct device *pm_dev;\n\tstruct irq_domain *parent;\n\tconst struct msi_parent_ops *msi_parent_ops;\n\tvoid (*exit)(struct irq_domain *);\n\tirq_hw_number_t hwirq_max;\n\tunsigned int revmap_size;\n\tstruct xarray revmap_tree;\n\tstruct irq_data *revmap[0];\n};\n\nstruct irq_domain_chip_generic {\n\tunsigned int irqs_per_chip;\n\tunsigned int num_chips;\n\tunsigned int irq_flags_to_clear;\n\tunsigned int irq_flags_to_set;\n\tenum irq_gc_flags gc_flags;\n\tvoid (*exit)(struct irq_chip_generic *);\n\tstruct irq_chip_generic *gc[0];\n};\n\nstruct irq_domain_chip_generic_info {\n\tconst char *name;\n\tirq_flow_handler_t handler;\n\tunsigned int irqs_per_chip;\n\tunsigned int num_ct;\n\tunsigned int irq_flags_to_clear;\n\tunsigned int irq_flags_to_set;\n\tenum irq_gc_flags gc_flags;\n\tint (*init)(struct irq_chip_generic *);\n\tvoid (*exit)(struct irq_chip_generic *);\n};\n\nstruct irq_domain_info {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int domain_flags;\n\tunsigned int size;\n\tirq_hw_number_t hwirq_max;\n\tint direct_max;\n\tunsigned int hwirq_base;\n\tunsigned int virq_base;\n\tenum irq_domain_bus_token bus_token;\n\tconst char *name_suffix;\n\tconst struct irq_domain_ops *ops;\n\tvoid *host_data;\n\tstruct irq_domain *parent;\n\tstruct irq_domain_chip_generic_info *dgc_info;\n\tint (*init)(struct irq_domain *);\n\tvoid (*exit)(struct irq_domain *);\n};\n\nstruct irq_generic_chip_devres {\n\tstruct irq_chip_generic *gc;\n\tu32 msk;\n\tunsigned int clr;\n\tunsigned int set;\n};\n\nstruct irq_glue {\n\tstruct irq_affinity_notify notify;\n\tstruct cpu_rmap *rmap;\n\tu16 index;\n};\n\nstruct irq_info {\n\tstruct hlist_node node;\n\tint irq;\n\tspinlock_t lock;\n\tstruct list_head *head;\n};\n\nstruct irq_matrix {\n\tunsigned int matrix_bits;\n\tunsigned int alloc_start;\n\tunsigned int alloc_end;\n\tunsigned int alloc_size;\n\tunsigned int global_available;\n\tunsigned int global_reserved;\n\tunsigned int systembits_inalloc;\n\tunsigned int total_allocated;\n\tunsigned int online_maps;\n\tstruct cpumap *maps;\n\tlong unsigned int *system_map;\n\tlong unsigned int scratch_map[0];\n};\n\nstruct irq_override_cmp {\n\tconst struct dmi_system_id *system;\n\tunsigned char irq;\n\tunsigned char triggering;\n\tunsigned char polarity;\n\tunsigned char shareable;\n\tbool override;\n};\n\nstruct irqaction {\n\tirq_handler_t handler;\n\tvoid *dev_id;\n\tvoid *percpu_dev_id;\n\tstruct irqaction *next;\n\tirq_handler_t thread_fn;\n\tstruct task_struct *thread;\n\tstruct irqaction *secondary;\n\tunsigned int irq;\n\tunsigned int flags;\n\tlong unsigned int thread_flags;\n\tlong unsigned int thread_mask;\n\tconst char *name;\n\tstruct proc_dir_entry *dir;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct irqchip_fwid {\n\tstruct fwnode_handle fwnode;\n\tunsigned int type;\n\tchar *name;\n\tphys_addr_t *pa;\n};\n\nstruct irqentry_state {\n\tunion {\n\t\tbool exit_rcu;\n\t\tbool lockdep;\n\t};\n};\n\ntypedef struct irqentry_state irqentry_state_t;\n\nstruct irqstat {\n\tunsigned int cnt;\n};\n\nstruct iso_directory_record {\n\t__u8 length[1];\n\t__u8 ext_attr_length[1];\n\t__u8 extent[8];\n\t__u8 size[8];\n\t__u8 date[7];\n\t__u8 flags[1];\n\t__u8 file_unit_size[1];\n\t__u8 interleave[1];\n\t__u8 volume_sequence_number[4];\n\t__u8 name_len[1];\n\tchar name[0];\n};\n\nstruct iso_inode_info {\n\tlong unsigned int i_iget5_block;\n\tlong unsigned int i_iget5_offset;\n\tunsigned int i_first_extent;\n\tunsigned char i_file_format;\n\tunsigned char i_format_parm[3];\n\tlong unsigned int i_next_section_block;\n\tlong unsigned int i_next_section_offset;\n\toff_t i_section_size;\n\tstruct inode vfs_inode;\n};\n\nstruct iso_primary_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 unused1[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 unused3[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 opt_type_l_path_table[4];\n\t__u8 type_m_path_table[4];\n\t__u8 opt_type_m_path_table[4];\n\t__u8 root_directory_record[34];\n\tchar volume_set_id[128];\n\tchar publisher_id[128];\n\tchar preparer_id[128];\n\tchar application_id[128];\n\tchar copyright_file_id[37];\n\tchar abstract_file_id[37];\n\tchar bibliographic_file_id[37];\n\t__u8 creation_date[17];\n\t__u8 modification_date[17];\n\t__u8 expiration_date[17];\n\t__u8 effective_date[17];\n\t__u8 file_structure_version[1];\n\t__u8 unused4[1];\n\t__u8 application_data[512];\n\t__u8 unused5[653];\n};\n\nstruct iso_rec {\n\tint error_count;\n\tint numdesc;\n};\n\nstruct iso_supplementary_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 flags[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 escape[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 opt_type_l_path_table[4];\n\t__u8 type_m_path_table[4];\n\t__u8 opt_type_m_path_table[4];\n\t__u8 root_directory_record[34];\n\tchar volume_set_id[128];\n\tchar publisher_id[128];\n\tchar preparer_id[128];\n\tchar application_id[128];\n\tchar copyright_file_id[37];\n\tchar abstract_file_id[37];\n\tchar bibliographic_file_id[37];\n\t__u8 creation_date[17];\n\t__u8 modification_date[17];\n\t__u8 expiration_date[17];\n\t__u8 effective_date[17];\n\t__u8 file_structure_version[1];\n\t__u8 unused4[1];\n\t__u8 application_data[512];\n\t__u8 unused5[653];\n};\n\nstruct iso_volume_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 data[2041];\n};\n\nstruct isofs_fid {\n\tu32 block;\n\tu16 offset;\n\tu16 parent_offset;\n\tu32 generation;\n\tu32 parent_block;\n\tu32 parent_generation;\n};\n\nstruct isofs_iget5_callback_data {\n\tlong unsigned int block;\n\tlong unsigned int offset;\n};\n\nstruct isofs_options {\n\tunsigned int rock: 1;\n\tunsigned int joliet: 1;\n\tunsigned int cruft: 1;\n\tunsigned int hide: 1;\n\tunsigned int showassoc: 1;\n\tunsigned int nocompress: 1;\n\tunsigned int overriderockperm: 1;\n\tunsigned int uid_set: 1;\n\tunsigned int gid_set: 1;\n\tunsigned char map;\n\tunsigned char check;\n\tunsigned int blocksize;\n\tumode_t fmode;\n\tumode_t dmode;\n\tkgid_t gid;\n\tkuid_t uid;\n\tchar *iocharset;\n\ts32 session;\n\ts32 sbsector;\n};\n\nstruct nls_table;\n\nstruct isofs_sb_info {\n\tlong unsigned int s_ninodes;\n\tlong unsigned int s_nzones;\n\tlong unsigned int s_firstdatazone;\n\tlong unsigned int s_log_zone_size;\n\tlong unsigned int s_max_size;\n\tint s_rock_offset;\n\ts32 s_sbsector;\n\tunsigned char s_joliet_level;\n\tunsigned char s_mapping;\n\tunsigned char s_check;\n\tunsigned char s_session;\n\tunsigned int s_high_sierra: 1;\n\tunsigned int s_rock: 2;\n\tunsigned int s_cruft: 1;\n\tunsigned int s_nocompress: 1;\n\tunsigned int s_hide: 1;\n\tunsigned int s_showassoc: 1;\n\tunsigned int s_overriderockperm: 1;\n\tunsigned int s_uid_set: 1;\n\tunsigned int s_gid_set: 1;\n\tumode_t s_fmode;\n\tumode_t s_dmode;\n\tkgid_t s_gid;\n\tkuid_t s_uid;\n\tstruct nls_table *s_nls_iocharset;\n};\n\nunion isr {\n\tu64 reg_u64[4];\n\tu32 reg_u32[8];\n\tu16 reg_u16[16];\n\tu8 reg_u8[32];\n};\n\nstruct itimerspec64 {\n\tstruct timespec64 it_interval;\n\tstruct timespec64 it_value;\n};\n\nstruct iw_discarded {\n\t__u32 nwid;\n\t__u32 code;\n\t__u32 fragment;\n\t__u32 retries;\n\t__u32 misc;\n};\n\nstruct iw_encode_ext {\n\t__u32 ext_flags;\n\t__u8 tx_seq[8];\n\t__u8 rx_seq[8];\n\tstruct sockaddr addr;\n\t__u16 alg;\n\t__u16 key_len;\n\t__u8 key[0];\n};\n\nstruct iw_point {\n\tvoid *pointer;\n\t__u16 length;\n\t__u16 flags;\n};\n\nstruct iw_param {\n\t__s32 value;\n\t__u8 fixed;\n\t__u8 disabled;\n\t__u16 flags;\n};\n\nstruct iw_freq {\n\t__s32 m;\n\t__s16 e;\n\t__u8 i;\n\t__u8 flags;\n};\n\nstruct iw_quality {\n\t__u8 qual;\n\t__u8 level;\n\t__u8 noise;\n\t__u8 updated;\n};\n\nunion iwreq_data {\n\tchar name[16];\n\tstruct iw_point essid;\n\tstruct iw_param nwid;\n\tstruct iw_freq freq;\n\tstruct iw_param sens;\n\tstruct iw_param bitrate;\n\tstruct iw_param txpower;\n\tstruct iw_param rts;\n\tstruct iw_param frag;\n\t__u32 mode;\n\tstruct iw_param retry;\n\tstruct iw_point encoding;\n\tstruct iw_param power;\n\tstruct iw_quality qual;\n\tstruct sockaddr ap_addr;\n\tstruct sockaddr addr;\n\tstruct iw_param param;\n\tstruct iw_point data;\n};\n\nstruct iw_event {\n\t__u16 len;\n\t__u16 cmd;\n\tunion iwreq_data u;\n};\n\nstruct iw_request_info;\n\ntypedef int (*iw_handler)(struct net_device *, struct iw_request_info *, union iwreq_data *, char *);\n\nstruct iw_statistics;\n\nstruct iw_handler_def {\n\tconst iw_handler *standard;\n\t__u16 num_standard;\n\tstruct iw_statistics * (*get_wireless_stats)(struct net_device *);\n};\n\nstruct iw_ioctl_description {\n\t__u8 header_type;\n\t__u8 flags;\n\t__u16 token_size;\n\t__u16 min_tokens;\n\t__u16 max_tokens;\n};\n\nstruct iw_missed {\n\t__u32 beacon;\n};\n\nstruct iw_node_attr {\n\tstruct kobj_attribute kobj_attr;\n\tint nid;\n};\n\nstruct iw_request_info {\n\t__u16 cmd;\n\t__u16 flags;\n};\n\nstruct iw_statistics {\n\t__u16 status;\n\tstruct iw_quality qual;\n\tstruct iw_discarded discard;\n\tstruct iw_missed miss;\n};\n\nstruct iwreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion iwreq_data u;\n};\n\nstruct ixgbe_aci_cmd_disable_rxen {\n\tu8 lport_num;\n\tu8 reserved[15];\n};\n\nstruct ixgbe_aci_cmd_driver_ver {\n\tu8 major_ver;\n\tu8 minor_ver;\n\tu8 build_ver;\n\tu8 subbuild_ver;\n\tu8 reserved[4];\n\t__le32 addr_high;\n\t__le32 addr_low;\n};\n\nstruct ixgbe_aci_cmd_get_exp_err {\n\t__le32 reason;\n\t__le32 identifier;\n\tu8 rsvd[8];\n};\n\nstruct ixgbe_aci_cmd_get_link_status {\n\tu8 lport_num;\n\tu8 reserved;\n\t__le16 cmd_flags;\n\t__le32 reserved2;\n\t__le32 addr_high;\n\t__le32 addr_low;\n};\n\nstruct ixgbe_aci_cmd_get_link_status_data {\n\tu8 topo_media_conflict;\n\tu8 link_cfg_err;\n\tu8 link_info;\n\tu8 an_info;\n\tu8 ext_info;\n\tu8 lb_status;\n\t__le16 max_frame_size;\n\tu8 cfg;\n\tu8 power_desc;\n\t__le16 link_speed;\n\t__le16 reserved3;\n\tu8 ext_fec_status;\n\tu8 reserved4;\n\t__le64 phy_type_low;\n\t__le64 phy_type_high;\n\t__le64 lp_phy_type_low;\n\t__le64 lp_phy_type_high;\n\tu8 lp_fec_adv;\n\tu8 lp_fec_req;\n\tu8 lp_flowcontrol;\n\tu8 reserved5[5];\n};\n\nstruct ixgbe_aci_cmd_link_topo_params {\n\tu8 lport_num;\n\tu8 lport_num_valid;\n\tu8 node_type_ctx;\n\tu8 index;\n};\n\nstruct ixgbe_aci_cmd_link_topo_addr {\n\tstruct ixgbe_aci_cmd_link_topo_params topo_params;\n\t__le16 handle;\n};\n\nstruct ixgbe_aci_cmd_get_link_topo {\n\tstruct ixgbe_aci_cmd_link_topo_addr addr;\n\tu8 node_part_num;\n\tu8 rsvd[9];\n};\n\nstruct ixgbe_aci_cmd_get_link_topo_pin {\n\tstruct ixgbe_aci_cmd_link_topo_addr addr;\n\tu8 input_io_params;\n\tu8 output_io_params;\n\tu8 output_io_flags;\n\tu8 rsvd[7];\n};\n\nstruct ixgbe_aci_cmd_get_phy_caps {\n\tu8 lport_num;\n\tu8 reserved;\n\t__le16 param0;\n\t__le32 reserved1;\n\t__le32 addr_high;\n\t__le32 addr_low;\n};\n\nstruct ixgbe_aci_cmd_get_phy_caps_data {\n\t__le64 phy_type_low;\n\t__le64 phy_type_high;\n\tu8 caps;\n\tu8 low_power_ctrl_an;\n\t__le16 eee_cap;\n\t__le16 eeer_value;\n\tu8 phy_id_oui[4];\n\tu8 phy_fw_ver[8];\n\tu8 link_fec_options;\n\tu8 module_compliance_enforcement;\n\tu8 extended_compliance_code;\n\tu8 module_type[3];\n\tu8 qualified_module_count;\n\tu8 rsvd2[7];\n\tstruct {\n\t\tu8 v_oui[3];\n\t\tu8 rsvd3;\n\t\tu8 v_part[16];\n\t\t__le32 v_rev;\n\t\t__le64 rsvd4;\n\t} qual_modules[16];\n};\n\nstruct ixgbe_aci_cmd_get_ver {\n\t__le32 rom_ver;\n\t__le32 fw_build;\n\tu8 fw_branch;\n\tu8 fw_major;\n\tu8 fw_minor;\n\tu8 fw_patch;\n\tu8 api_branch;\n\tu8 api_major;\n\tu8 api_minor;\n\tu8 api_patch;\n};\n\nstruct ixgbe_aci_cmd_list_caps {\n\tu8 cmd_flags;\n\tu8 pf_index;\n\tu8 reserved[2];\n\t__le32 count;\n\t__le32 addr_high;\n\t__le32 addr_low;\n};\n\nstruct ixgbe_aci_cmd_list_caps_elem {\n\t__le16 cap;\n\tu8 major_ver;\n\tu8 minor_ver;\n\t__le32 number;\n\t__le32 logical_id;\n\t__le32 phys_id;\n\t__le64 rsvd1;\n\t__le64 rsvd2;\n};\n\nstruct ixgbe_aci_cmd_nvm {\n\t__le16 offset_low;\n\tu8 offset_high;\n\tu8 cmd_flags;\n\t__le16 module_typeid;\n\t__le16 length;\n\t__le32 addr_high;\n\t__le32 addr_low;\n};\n\nstruct ixgbe_aci_cmd_nvm_checksum {\n\tu8 flags;\n\tu8 rsvd;\n\t__le16 checksum;\n\tu8 rsvd2[12];\n};\n\nstruct ixgbe_aci_cmd_req_res {\n\t__le16 res_id;\n\t__le16 access_type;\n\t__le32 timeout;\n\t__le32 res_number;\n\t__le16 status;\n\tu8 reserved[2];\n};\n\nstruct ixgbe_aci_cmd_restart_an {\n\tu8 lport_num;\n\tu8 reserved;\n\tu8 cmd_flags;\n\tu8 reserved2[13];\n};\n\nstruct ixgbe_aci_cmd_set_event_mask {\n\tu8 lport_num;\n\tu8 reserved[7];\n\t__le16 event_mask;\n\tu8 reserved1[6];\n};\n\nstruct ixgbe_aci_cmd_set_phy_cfg {\n\tu8 lport_num;\n\tu8 reserved[7];\n\t__le32 addr_high;\n\t__le32 addr_low;\n};\n\nstruct ixgbe_aci_cmd_set_phy_cfg_data {\n\t__le64 phy_type_low;\n\t__le64 phy_type_high;\n\tu8 caps;\n\tu8 low_power_ctrl_an;\n\t__le16 eee_cap;\n\t__le16 eeer_value;\n\tu8 link_fec_opt;\n\tu8 module_compliance_enforcement;\n};\n\nstruct ixgbe_aci_cmd_sff_eeprom {\n\tu8 lport_num;\n\tu8 lport_num_valid;\n\t__le16 i2c_bus_addr;\n\t__le16 i2c_offset;\n\tu8 module_bank;\n\tu8 module_page;\n\t__le32 addr_high;\n\t__le32 addr_low;\n};\n\nstruct ixgbe_aci_desc {\n\t__le16 flags;\n\t__le16 opcode;\n\t__le16 datalen;\n\t__le16 retval;\n\t__le32 cookie_high;\n\t__le32 cookie_low;\n\tunion {\n\t\tu8 raw[16];\n\t\tstruct ixgbe_aci_cmd_get_ver get_ver;\n\t\tstruct ixgbe_aci_cmd_driver_ver driver_ver;\n\t\tstruct ixgbe_aci_cmd_get_exp_err exp_err;\n\t\tstruct ixgbe_aci_cmd_req_res res_owner;\n\t\tstruct ixgbe_aci_cmd_list_caps get_cap;\n\t\tstruct ixgbe_aci_cmd_disable_rxen disable_rxen;\n\t\tstruct ixgbe_aci_cmd_get_phy_caps get_phy;\n\t\tstruct ixgbe_aci_cmd_set_phy_cfg set_phy;\n\t\tstruct ixgbe_aci_cmd_restart_an restart_an;\n\t\tstruct ixgbe_aci_cmd_get_link_status get_link_status;\n\t\tstruct ixgbe_aci_cmd_set_event_mask set_event_mask;\n\t\tstruct ixgbe_aci_cmd_get_link_topo get_link_topo;\n\t\tstruct ixgbe_aci_cmd_get_link_topo_pin get_link_topo_pin;\n\t\tstruct ixgbe_aci_cmd_sff_eeprom read_write_sff_param;\n\t\tstruct ixgbe_aci_cmd_nvm nvm;\n\t\tstruct ixgbe_aci_cmd_nvm_checksum nvm_checksum;\n\t} params;\n};\n\nstruct ixgbe_aci_event {\n\tstruct ixgbe_aci_desc desc;\n\tu8 *msg_buf;\n\tu16 msg_len;\n\tu16 buf_len;\n};\n\nstruct ixgbe_aci_info {\n\tstruct mutex lock;\n\tenum ixgbe_aci_err last_status;\n};\n\nstruct tc_bw_alloc {\n\tu8 bwg_id;\n\tu8 bwg_percent;\n\tu8 link_percent;\n\tu8 up_to_tc_bitmap;\n\tu16 data_credits_refill;\n\tu16 data_credits_max;\n\tenum strict_prio_type prio_type;\n};\n\nstruct tc_configuration {\n\tstruct tc_bw_alloc path[2];\n\tenum dcb_pfc_type dcb_pfc;\n\tu16 desc_credits_max;\n\tu8 tc;\n};\n\nstruct ixgbe_dcb_config {\n\tstruct dcb_support support;\n\tstruct dcb_num_tcs num_tcs;\n\tstruct tc_configuration tc_config[8];\n\tu8 bw_percentage[16];\n\tbool pfc_mode_enable;\n\tu32 dcb_cfg_version;\n\tu32 link_speed;\n};\n\nstruct ixgbe_ring_feature {\n\tu16 limit;\n\tu16 indices;\n\tu16 mask;\n\tu16 offset;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ixgbe_queue_stats {\n\tu64 packets;\n\tu64 bytes;\n};\n\nstruct ixgbe_tx_queue_stats {\n\tu64 restart_queue;\n\tu64 tx_busy;\n\tu64 tx_done_old;\n};\n\nstruct ixgbe_rx_queue_stats {\n\tu64 rsc_count;\n\tu64 rsc_flush;\n\tu64 non_eop_descs;\n\tu64 alloc_rx_page;\n\tu64 alloc_rx_page_failed;\n\tu64 alloc_rx_buff_failed;\n\tu64 csum_err;\n};\n\nstruct ixgbe_q_vector;\n\nstruct ixgbe_tx_buffer;\n\nstruct ixgbe_rx_buffer;\n\nstruct ixgbe_ring {\n\tstruct ixgbe_ring *next;\n\tstruct ixgbe_q_vector *q_vector;\n\tstruct net_device *netdev;\n\tstruct bpf_prog *xdp_prog;\n\tstruct device *dev;\n\tvoid *desc;\n\tunion {\n\t\tstruct ixgbe_tx_buffer *tx_buffer_info;\n\t\tstruct ixgbe_rx_buffer *rx_buffer_info;\n\t};\n\tlong unsigned int state;\n\tu8 *tail;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tu16 count;\n\tu8 queue_index;\n\tu8 reg_idx;\n\tu16 next_to_use;\n\tu16 next_to_clean;\n\tlong unsigned int last_rx_timestamp;\n\tunion {\n\t\tu16 next_to_alloc;\n\t\tstruct {\n\t\t\tu8 atr_sample_rate;\n\t\t\tu8 atr_count;\n\t\t};\n\t};\n\tu8 dcb_tc;\n\tstruct ixgbe_queue_stats stats;\n\tstruct u64_stats_sync syncp;\n\tunion {\n\t\tstruct ixgbe_tx_queue_stats tx_stats;\n\t\tstruct ixgbe_rx_queue_stats rx_stats;\n\t};\n\tu16 rx_offset;\n\tstruct xdp_rxq_info xdp_rxq;\n\tspinlock_t tx_lock;\n\tstruct xsk_buff_pool *xsk_pool;\n\tu16 ring_idx;\n\tu16 rx_buf_len;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ixgbe_mac_operations {\n\tint (*init_hw)(struct ixgbe_hw *);\n\tint (*reset_hw)(struct ixgbe_hw *);\n\tint (*start_hw)(struct ixgbe_hw *);\n\tint (*clear_hw_cntrs)(struct ixgbe_hw *);\n\tenum ixgbe_media_type (*get_media_type)(struct ixgbe_hw *);\n\tint (*get_mac_addr)(struct ixgbe_hw *, u8 *);\n\tint (*get_san_mac_addr)(struct ixgbe_hw *, u8 *);\n\tint (*get_device_caps)(struct ixgbe_hw *, u16 *);\n\tint (*get_wwn_prefix)(struct ixgbe_hw *, u16 *, u16 *);\n\tint (*stop_adapter)(struct ixgbe_hw *);\n\tint (*get_bus_info)(struct ixgbe_hw *);\n\tvoid (*set_lan_id)(struct ixgbe_hw *);\n\tint (*read_analog_reg8)(struct ixgbe_hw *, u32, u8 *);\n\tint (*write_analog_reg8)(struct ixgbe_hw *, u32, u8);\n\tint (*setup_sfp)(struct ixgbe_hw *);\n\tint (*disable_rx_buff)(struct ixgbe_hw *);\n\tint (*enable_rx_buff)(struct ixgbe_hw *);\n\tint (*enable_rx_dma)(struct ixgbe_hw *, u32);\n\tint (*acquire_swfw_sync)(struct ixgbe_hw *, u32);\n\tvoid (*release_swfw_sync)(struct ixgbe_hw *, u32);\n\tvoid (*init_swfw_sync)(struct ixgbe_hw *);\n\tint (*prot_autoc_read)(struct ixgbe_hw *, bool *, u32 *);\n\tint (*prot_autoc_write)(struct ixgbe_hw *, u32, bool);\n\tvoid (*disable_tx_laser)(struct ixgbe_hw *);\n\tvoid (*enable_tx_laser)(struct ixgbe_hw *);\n\tvoid (*flap_tx_laser)(struct ixgbe_hw *);\n\tvoid (*stop_link_on_d3)(struct ixgbe_hw *);\n\tint (*setup_link)(struct ixgbe_hw *, ixgbe_link_speed, bool);\n\tint (*setup_mac_link)(struct ixgbe_hw *, ixgbe_link_speed, bool);\n\tint (*check_link)(struct ixgbe_hw *, ixgbe_link_speed *, bool *, bool);\n\tint (*get_link_capabilities)(struct ixgbe_hw *, ixgbe_link_speed *, bool *);\n\tvoid (*set_rate_select_speed)(struct ixgbe_hw *, ixgbe_link_speed);\n\tvoid (*set_rxpba)(struct ixgbe_hw *, int, u32, int);\n\tint (*led_on)(struct ixgbe_hw *, u32);\n\tint (*led_off)(struct ixgbe_hw *, u32);\n\tint (*blink_led_start)(struct ixgbe_hw *, u32);\n\tint (*blink_led_stop)(struct ixgbe_hw *, u32);\n\tint (*init_led_link_act)(struct ixgbe_hw *);\n\tint (*set_rar)(struct ixgbe_hw *, u32, u8 *, u32, u32);\n\tint (*clear_rar)(struct ixgbe_hw *, u32);\n\tint (*set_vmdq)(struct ixgbe_hw *, u32, u32);\n\tint (*set_vmdq_san_mac)(struct ixgbe_hw *, u32);\n\tint (*clear_vmdq)(struct ixgbe_hw *, u32, u32);\n\tint (*init_rx_addrs)(struct ixgbe_hw *);\n\tint (*update_mc_addr_list)(struct ixgbe_hw *, struct net_device *);\n\tint (*enable_mc)(struct ixgbe_hw *);\n\tint (*disable_mc)(struct ixgbe_hw *);\n\tint (*clear_vfta)(struct ixgbe_hw *);\n\tint (*set_vfta)(struct ixgbe_hw *, u32, u32, bool, bool);\n\tint (*init_uta_tables)(struct ixgbe_hw *);\n\tvoid (*set_mac_anti_spoofing)(struct ixgbe_hw *, bool, int);\n\tvoid (*set_vlan_anti_spoofing)(struct ixgbe_hw *, bool, int);\n\tint (*fc_enable)(struct ixgbe_hw *);\n\tint (*setup_fc)(struct ixgbe_hw *);\n\tvoid (*fc_autoneg)(struct ixgbe_hw *);\n\tint (*set_fw_drv_ver)(struct ixgbe_hw *, u8, u8, u8, u8, u16, const char *);\n\tint (*get_thermal_sensor_data)(struct ixgbe_hw *);\n\tint (*init_thermal_sensor_thresh)(struct ixgbe_hw *);\n\tbool (*fw_recovery_mode)(struct ixgbe_hw *);\n\tvoid (*disable_rx)(struct ixgbe_hw *);\n\tvoid (*enable_rx)(struct ixgbe_hw *);\n\tvoid (*set_source_address_pruning)(struct ixgbe_hw *, bool, unsigned int);\n\tvoid (*set_ethertype_anti_spoofing)(struct ixgbe_hw *, bool, int);\n\tint (*dmac_config)(struct ixgbe_hw *);\n\tint (*dmac_update_tcs)(struct ixgbe_hw *);\n\tint (*dmac_config_tcs)(struct ixgbe_hw *);\n\tint (*read_iosf_sb_reg)(struct ixgbe_hw *, u32, u32, u32 *);\n\tint (*write_iosf_sb_reg)(struct ixgbe_hw *, u32, u32, u32);\n};\n\nstruct ixgbe_thermal_diode_data {\n\tu8 location;\n\tu8 temp;\n\tu8 caution_thresh;\n\tu8 max_op_thresh;\n};\n\nstruct ixgbe_thermal_sensor_data {\n\tstruct ixgbe_thermal_diode_data sensor[3];\n};\n\nstruct ixgbe_mac_info {\n\tstruct ixgbe_mac_operations ops;\n\tenum ixgbe_mac_type type;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tu8 san_addr[6];\n\tu16 wwnn_prefix;\n\tu16 wwpn_prefix;\n\tu16 max_msix_vectors;\n\tu32 mta_shadow[128];\n\ts32 mc_filter_type;\n\tu32 mcft_size;\n\tu32 vft_size;\n\tu32 num_rar_entries;\n\tu32 rar_highwater;\n\tu32 rx_pb_size;\n\tu32 max_tx_queues;\n\tu32 max_rx_queues;\n\tu32 orig_autoc;\n\tu32 orig_autoc2;\n\tbool orig_link_settings_stored;\n\tbool autotry_restart;\n\tu8 flags;\n\tu8 san_mac_rar_index;\n\tstruct ixgbe_thermal_sensor_data thermal_sensor_data;\n\tbool set_lben;\n\tu32 max_link_up_time;\n\tu8 led_link_act;\n};\n\nstruct ixgbe_addr_filter_info {\n\tu32 num_mc_addrs;\n\tu32 rar_used_count;\n\tu32 mta_in_use;\n\tu32 overflow_promisc;\n\tbool uc_set_promisc;\n\tbool user_set_promisc;\n};\n\nstruct ixgbe_fc_info {\n\tu32 high_water[8];\n\tu32 low_water[8];\n\tu16 pause_time;\n\tbool send_xon;\n\tbool strict_ieee;\n\tbool disable_fc_autoneg;\n\tbool fc_was_autonegged;\n\tenum ixgbe_fc_mode current_mode;\n\tenum ixgbe_fc_mode requested_mode;\n};\n\nstruct ixgbe_phy_operations {\n\tint (*identify)(struct ixgbe_hw *);\n\tint (*identify_sfp)(struct ixgbe_hw *);\n\tint (*init)(struct ixgbe_hw *);\n\tint (*reset)(struct ixgbe_hw *);\n\tint (*read_reg)(struct ixgbe_hw *, u32, u32, u16 *);\n\tint (*write_reg)(struct ixgbe_hw *, u32, u32, u16);\n\tint (*read_reg_mdi)(struct ixgbe_hw *, u32, u32, u16 *);\n\tint (*write_reg_mdi)(struct ixgbe_hw *, u32, u32, u16);\n\tint (*setup_link)(struct ixgbe_hw *);\n\tint (*setup_internal_link)(struct ixgbe_hw *);\n\tint (*setup_link_speed)(struct ixgbe_hw *, ixgbe_link_speed, bool);\n\tint (*check_link)(struct ixgbe_hw *, ixgbe_link_speed *, bool *);\n\tint (*read_i2c_byte)(struct ixgbe_hw *, u8, u8, u8 *);\n\tint (*write_i2c_byte)(struct ixgbe_hw *, u8, u8, u8);\n\tint (*read_i2c_sff8472)(struct ixgbe_hw *, u8, u8 *);\n\tint (*read_i2c_eeprom)(struct ixgbe_hw *, u8, u8 *);\n\tint (*write_i2c_eeprom)(struct ixgbe_hw *, u8, u8);\n\tbool (*check_overtemp)(struct ixgbe_hw *);\n\tint (*set_phy_power)(struct ixgbe_hw *, bool);\n\tint (*enter_lplu)(struct ixgbe_hw *);\n\tint (*handle_lasi)(struct ixgbe_hw *, bool *);\n\tint (*read_i2c_byte_unlocked)(struct ixgbe_hw *, u8, u8, u8 *);\n\tint (*write_i2c_byte_unlocked)(struct ixgbe_hw *, u8, u8, u8);\n};\n\nstruct mdio_if_info {\n\tint prtad;\n\tu32 mmds;\n\tunsigned int mode_support;\n\tstruct net_device *dev;\n\tint (*mdio_read)(struct net_device *, int, int, u16);\n\tint (*mdio_write)(struct net_device *, int, int, u16, u16);\n};\n\nstruct ixgbe_phy_info {\n\tstruct ixgbe_phy_operations ops;\n\tstruct mdio_if_info mdio;\n\tenum ixgbe_phy_type type;\n\tu32 id;\n\tenum ixgbe_sfp_type sfp_type;\n\tbool sfp_setup_needed;\n\tu32 revision;\n\tenum ixgbe_media_type media_type;\n\tu32 phy_semaphore_mask;\n\tbool reset_disable;\n\tixgbe_autoneg_advertised autoneg_advertised;\n\tixgbe_link_speed speeds_supported;\n\tixgbe_link_speed eee_speeds_supported;\n\tixgbe_link_speed eee_speeds_advertised;\n\tenum ixgbe_smart_speed smart_speed;\n\tbool smart_speed_active;\n\tbool multispeed_fiber;\n\tbool reset_if_overtemp;\n\tbool qsfp_shared_i2c_bus;\n\tu32 nw_mng_if_sel;\n\tu64 phy_type_low;\n\tu64 phy_type_high;\n\tu16 curr_user_speed_req;\n\tstruct ixgbe_aci_cmd_set_phy_cfg_data curr_user_phy_cfg;\n};\n\nstruct ixgbe_link_operations {\n\tint (*read_link)(struct ixgbe_hw *, u8, u16, u16 *);\n\tint (*read_link_unlocked)(struct ixgbe_hw *, u8, u16, u16 *);\n\tint (*write_link)(struct ixgbe_hw *, u8, u16, u16);\n\tint (*write_link_unlocked)(struct ixgbe_hw *, u8, u16, u16);\n};\n\nstruct ixgbe_link_status {\n\tu64 phy_type_low;\n\tu64 phy_type_high;\n\tu16 max_frame_size;\n\tu16 link_speed;\n\tu16 req_speeds;\n\tu8 topo_media_conflict;\n\tu8 link_cfg_err;\n\tu8 lse_ena;\n\tu8 link_info;\n\tu8 an_info;\n\tu8 ext_info;\n\tu8 fec_info;\n\tu8 pacing;\n\tu8 module_type[3];\n};\n\nstruct ixgbe_link_info {\n\tstruct ixgbe_link_operations ops;\n\tu8 addr;\n\tstruct ixgbe_link_status link_info;\n\tstruct ixgbe_link_status link_info_old;\n\tu8 get_link_info;\n};\n\nstruct ixgbe_eeprom_operations {\n\tint (*init_params)(struct ixgbe_hw *);\n\tint (*read)(struct ixgbe_hw *, u16, u16 *);\n\tint (*read_buffer)(struct ixgbe_hw *, u16, u16, u16 *);\n\tint (*write)(struct ixgbe_hw *, u16, u16);\n\tint (*write_buffer)(struct ixgbe_hw *, u16, u16, u16 *);\n\tint (*validate_checksum)(struct ixgbe_hw *, u16 *);\n\tint (*update_checksum)(struct ixgbe_hw *);\n\tint (*calc_checksum)(struct ixgbe_hw *);\n};\n\nstruct ixgbe_eeprom_info {\n\tstruct ixgbe_eeprom_operations ops;\n\tenum ixgbe_eeprom_type type;\n\tu32 semaphore_delay;\n\tu16 word_size;\n\tu16 address_bits;\n\tu16 word_page_size;\n\tu16 ctrl_word_3;\n};\n\nstruct ixgbe_bus_info {\n\tenum ixgbe_bus_speed speed;\n\tenum ixgbe_bus_width width;\n\tenum ixgbe_bus_type type;\n\tu8 func;\n\tu8 lan_id;\n\tu8 instance_id;\n};\n\nstruct ixgbe_mbx_stats {\n\tu32 msgs_tx;\n\tu32 msgs_rx;\n\tu32 acks;\n\tu32 reqs;\n\tu32 rsts;\n};\n\nstruct ixgbe_mbx_operations;\n\nstruct ixgbe_mbx_info {\n\tconst struct ixgbe_mbx_operations *ops;\n\tstruct ixgbe_mbx_stats stats;\n\tu32 timeout;\n\tu32 usec_delay;\n\tu32 v2p_mailbox;\n\tu16 size;\n};\n\nstruct ixgbe_orom_info {\n\tu8 major;\n\tu8 patch;\n\tu16 build;\n\tu32 srev;\n};\n\nstruct ixgbe_nvm_info {\n\tu32 eetrack;\n\tu32 srev;\n\tu8 major;\n\tu8 minor;\n} __attribute__((packed));\n\nstruct ixgbe_netlist_info {\n\tu32 major;\n\tu32 minor;\n\tu32 type;\n\tu32 rev;\n\tu32 hash;\n\tu16 cust_ver;\n} __attribute__((packed));\n\nstruct ixgbe_bank_info {\n\tu32 nvm_ptr;\n\tu32 nvm_size;\n\tu32 orom_ptr;\n\tu32 orom_size;\n\tu32 netlist_ptr;\n\tu32 netlist_size;\n\tenum ixgbe_flash_bank nvm_bank;\n\tenum ixgbe_flash_bank orom_bank;\n\tenum ixgbe_flash_bank netlist_bank;\n};\n\nstruct ixgbe_flash_info {\n\tstruct ixgbe_orom_info orom;\n\tu32 flash_size;\n\tstruct ixgbe_nvm_info nvm;\n\tstruct ixgbe_netlist_info netlist;\n\tstruct ixgbe_bank_info banks;\n\tu16 sr_words;\n\tu8 blank_nvm_mode;\n};\n\nstruct ixgbe_hw_caps {\n\tu64 wr_csr_prot;\n\tu32 switching_mode;\n\tu32 mgmt_mode;\n\tu32 mgmt_protocols_mctp;\n\tu32 os2bmc;\n\tu32 valid_functions;\n\tu32 active_tc_bitmap;\n\tu32 maxtc;\n\tu32 rss_table_size;\n\tu32 rss_table_entry_width;\n\tu32 num_rxq;\n\tu32 rxq_first_id;\n\tu32 num_txq;\n\tu32 txq_first_id;\n\tu32 num_msix_vectors;\n\tu32 msix_vector_first_id;\n\tu32 max_mtu;\n\tu32 num_wol_proxy_fltr;\n\tu32 wol_proxy_vsi_seid;\n\tu32 led_pin_num;\n\tu32 sdp_pin_num;\n\tu8 led[12];\n\tu8 sdp[8];\n\tu8 sr_iov_1_1;\n\tu8 vmdq;\n\tu8 evb_802_1_qbg;\n\tu8 evb_802_1_qbh;\n\tu8 dcb;\n\tu8 iscsi;\n\tu8 ieee_1588;\n\tu8 mgmt_cem;\n\tu8 apm_wol_support;\n\tu8 acpi_prog_mthd;\n\tu8 proxy_support;\n\tbool nvm_update_pending_nvm;\n\tbool nvm_update_pending_orom;\n\tbool nvm_update_pending_netlist;\n\tbool sec_rev_disabled;\n\tbool update_disabled;\n\tbool nvm_unified_update;\n\tbool netlist_auth;\n\tbool no_drop_policy_support;\n\tbool pcie_reset_avoidance;\n\tbool reset_restrict_support;\n\tu32 ext_topo_dev_img_ver_high[4];\n\tu32 ext_topo_dev_img_ver_low[4];\n\tu8 ext_topo_dev_img_part_num[4];\n\tbool ext_topo_dev_img_load_en[4];\n\tbool ext_topo_dev_img_prog_en[4];\n} __attribute__((packed));\n\nstruct ixgbe_hw_dev_caps {\n\tstruct ixgbe_hw_caps common_cap;\n\tu32 num_vfs_exposed;\n\tu32 num_vsi_allocd_to_host;\n\tu32 num_flow_director_fltr;\n\tu32 num_funcs;\n};\n\nstruct ixgbe_hw_func_caps {\n\tu32 num_allocd_vfs;\n\tu32 vf_base_id;\n\tu32 guar_num_vsi;\n\tstruct ixgbe_hw_caps common_cap;\n\tbool no_drop_policy_ena;\n};\n\nstruct ixgbe_hw {\n\tu8 *hw_addr;\n\tvoid *back;\n\tstruct ixgbe_mac_info mac;\n\tstruct ixgbe_addr_filter_info addr_ctrl;\n\tstruct ixgbe_fc_info fc;\n\tstruct ixgbe_phy_info phy;\n\tstruct ixgbe_link_info link;\n\tstruct ixgbe_eeprom_info eeprom;\n\tstruct ixgbe_bus_info bus;\n\tstruct ixgbe_mbx_info mbx;\n\tconst u32 *mvals;\n\tu16 device_id;\n\tu16 vendor_id;\n\tu16 subsystem_device_id;\n\tu16 subsystem_vendor_id;\n\tu8 revision_id;\n\tbool adapter_stopped;\n\tbool force_full_reset;\n\tbool allow_unsupported_sfp;\n\tbool wol_enabled;\n\tbool need_crosstalk_fix;\n\tu8 api_branch;\n\tu8 api_maj_ver;\n\tu8 api_min_ver;\n\tu8 api_patch;\n\tu8 fw_branch;\n\tu8 fw_maj_ver;\n\tu8 fw_min_ver;\n\tu8 fw_patch;\n\tu32 fw_build;\n\tstruct ixgbe_aci_info aci;\n\tstruct ixgbe_flash_info flash;\n\tstruct ixgbe_hw_dev_caps dev_caps;\n\tstruct ixgbe_hw_func_caps func_caps;\n};\n\nstruct ixgbe_hw_stats {\n\tu64 crcerrs;\n\tu64 illerrc;\n\tu64 errbc;\n\tu64 mspdc;\n\tu64 mpctotal;\n\tu64 mpc[8];\n\tu64 mlfc;\n\tu64 mrfc;\n\tu64 rlec;\n\tu64 lxontxc;\n\tu64 lxonrxc;\n\tu64 lxofftxc;\n\tu64 lxoffrxc;\n\tu64 pxontxc[8];\n\tu64 pxonrxc[8];\n\tu64 pxofftxc[8];\n\tu64 pxoffrxc[8];\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 rnbc[8];\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rjc;\n\tu64 mngprc;\n\tu64 mngpdc;\n\tu64 mngptc;\n\tu64 tor;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 xec;\n\tu64 rqsmr[16];\n\tu64 tqsmr[8];\n\tu64 qprc[16];\n\tu64 qptc[16];\n\tu64 qbrc[16];\n\tu64 qbtc[16];\n\tu64 qprdc[16];\n\tu64 pxon2offc[8];\n\tu64 fdirustat_add;\n\tu64 fdirustat_remove;\n\tu64 fdirfstat_fadd;\n\tu64 fdirfstat_fremove;\n\tu64 fdirmatch;\n\tu64 fdirmiss;\n\tu64 fccrc;\n\tu64 fcoerpdc;\n\tu64 fcoeprc;\n\tu64 fcoeptc;\n\tu64 fcoedwrc;\n\tu64 fcoedwtc;\n\tu64 fcoe_noddp;\n\tu64 fcoe_noddp_ext_buff;\n\tu64 b2ospc;\n\tu64 b2ogprc;\n\tu64 o2bgptc;\n\tu64 o2bspc;\n};\n\nunion ixgbe_atr_input {\n\tstruct {\n\t\tu8 vm_pool;\n\t\tu8 flow_type;\n\t\t__be16 vlan_id;\n\t\t__be32 dst_ip[4];\n\t\t__be32 src_ip[4];\n\t\t__be16 src_port;\n\t\t__be16 dst_port;\n\t\t__be16 flex_bytes;\n\t\t__be16 bkt_hash;\n\t} formatted;\n\t__be32 dword_stream[11];\n};\n\nstruct ixgbe_fcoe_ddp {\n\tint len;\n\tu32 err;\n\tunsigned int sgc;\n\tstruct scatterlist *sgl;\n\tdma_addr_t udp;\n\tu64 *udl;\n\tstruct dma_pool *pool;\n};\n\nstruct ixgbe_fcoe_ddp_pool;\n\nstruct ixgbe_fcoe {\n\tstruct ixgbe_fcoe_ddp_pool *ddp_pool;\n\tatomic_t refcnt;\n\tspinlock_t lock;\n\tstruct ixgbe_fcoe_ddp ddp[2048];\n\tvoid *extra_ddp_buffer;\n\tdma_addr_t extra_ddp_buffer_dma;\n\tlong unsigned int mode;\n\tu8 up;\n};\n\nstruct vf_macvlans {\n\tstruct list_head l;\n\tint vf;\n\tbool free;\n\tbool is_macvlan;\n\tu8 vf_macvlan[6];\n};\n\nstruct vf_data_storage___2;\n\nstruct ixgbe_mac_addr;\n\nstruct ixgbe_jump_table;\n\nstruct ixgbe_ipsec;\n\nstruct ixgbe_adapter {\n\tlong unsigned int active_vlans[64];\n\tstruct net_device *netdev;\n\tstruct bpf_prog *xdp_prog;\n\tstruct pci_dev *pdev;\n\tstruct mii_bus *mii_bus;\n\tlong unsigned int state;\n\tu32 flags;\n\tu32 flags2;\n\tint num_tx_queues;\n\tu16 tx_itr_setting;\n\tu16 tx_work_limit;\n\tu64 tx_ipsec;\n\tint num_rx_queues;\n\tu16 rx_itr_setting;\n\tu64 rx_ipsec;\n\t__be16 vxlan_port;\n\t__be16 geneve_port;\n\tint num_xdp_queues;\n\tstruct ixgbe_ring *xdp_ring[64];\n\tlong unsigned int *af_xdp_zc_qps;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ixgbe_ring *tx_ring[64];\n\tu64 restart_queue;\n\tu64 lsc_int;\n\tu32 tx_timeout_count;\n\tstruct ixgbe_ring *rx_ring[64];\n\tint num_rx_pools;\n\tint num_rx_queues_per_pool;\n\tu64 hw_csum_rx_error;\n\tu64 hw_rx_no_dma_resources;\n\tu64 rsc_total_count;\n\tu64 rsc_total_flush;\n\tu64 non_eop_descs;\n\tu32 alloc_rx_page;\n\tu32 alloc_rx_page_failed;\n\tu32 alloc_rx_buff_failed;\n\tstruct ixgbe_q_vector *q_vector[64];\n\tstruct ieee_pfc *ixgbe_ieee_pfc;\n\tstruct ieee_ets *ixgbe_ieee_ets;\n\tstruct ixgbe_dcb_config dcb_cfg;\n\tstruct ixgbe_dcb_config temp_dcb_cfg;\n\tu8 hw_tcs;\n\tu8 dcb_set_bitmap;\n\tu8 dcbx_cap;\n\tenum ixgbe_fc_mode last_lfc_mode;\n\tint num_q_vectors;\n\tint max_q_vectors;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ixgbe_ring_feature ring_feature[5];\n\tstruct msix_entry *msix_entries;\n\tu32 test_icr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ixgbe_ring test_tx_ring;\n\tstruct ixgbe_ring test_rx_ring;\n\tstruct ixgbe_hw hw;\n\tu16 msg_enable;\n\tstruct ixgbe_hw_stats stats;\n\tu64 tx_busy;\n\tunsigned int tx_ring_count;\n\tunsigned int xdp_ring_count;\n\tunsigned int rx_ring_count;\n\tu32 link_speed;\n\tbool link_up;\n\tlong unsigned int sfp_poll_time;\n\tlong unsigned int link_check_timeout;\n\tstruct timer_list service_timer;\n\tstruct work_struct service_task;\n\tstruct hlist_head fdir_filter_list;\n\tlong unsigned int fdir_overflow;\n\tunion ixgbe_atr_input fdir_mask;\n\tint fdir_filter_count;\n\tu32 fdir_pballoc;\n\tu32 atr_sample_rate;\n\tspinlock_t fdir_perfect_lock;\n\tstruct ixgbe_fcoe fcoe;\n\tu8 *io_addr;\n\tu32 wol;\n\tu16 bridge_mode;\n\tchar eeprom_id[32];\n\tu16 eeprom_cap;\n\tu32 interrupt_event;\n\tu32 led_reg;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_caps;\n\tstruct work_struct ptp_tx_work;\n\tstruct sk_buff *ptp_tx_skb;\n\tstruct hwtstamp_config tstamp_config;\n\tlong unsigned int ptp_tx_start;\n\tlong unsigned int last_overflow_check;\n\tlong unsigned int last_rx_ptp_check;\n\tlong unsigned int last_rx_timestamp;\n\tspinlock_t tmreg_lock;\n\tstruct cyclecounter hw_cc;\n\tstruct timecounter hw_tc;\n\tu32 base_incval;\n\tu32 tx_hwtstamp_timeouts;\n\tu32 tx_hwtstamp_skipped;\n\tu32 rx_hwtstamp_cleared;\n\tvoid (*ptp_setup_sdp)(struct ixgbe_adapter *);\n\tlong unsigned int active_vfs[1];\n\tunsigned int num_vfs;\n\tstruct vf_data_storage___2 *vfinfo;\n\tint vf_rate_link_speed;\n\tstruct vf_macvlans vf_mvs;\n\tstruct vf_macvlans *mv_list;\n\tu32 timer_event_accumulator;\n\tu32 vferr_refcount;\n\tstruct ixgbe_mac_addr *mac_table;\n\tstruct kobject *info_kobj;\n\tu16 lse_mask;\n\tstruct hwmon_buff___2 *ixgbe_hwmon_buff;\n\tstruct dentry *ixgbe_dbg_adapter;\n\tu8 default_up;\n\tlong unsigned int fwd_bitmask[1];\n\tstruct ixgbe_jump_table *jump_tables[10];\n\tlong unsigned int tables;\n\tu8 rss_indir_tbl[512];\n\tu32 *rss_key;\n\tstruct ixgbe_ipsec *ipsec;\n\tspinlock_t vfs_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion ixgbe_adv_rx_desc {\n\tstruct {\n\t\t__le64 pkt_addr;\n\t\t__le64 hdr_addr;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\t__le32 data;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 pkt_info;\n\t\t\t\t\t__le16 hdr_info;\n\t\t\t\t} hs_rss;\n\t\t\t} lo_dword;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nstruct ixgbe_adv_tx_context_desc {\n\t__le32 vlan_macip_lens;\n\t__le32 fceof_saidx;\n\t__le32 type_tucmd_mlhl;\n\t__le32 mss_l4len_idx;\n};\n\nunion ixgbe_adv_tx_desc {\n\tstruct {\n\t\t__le64 buffer_addr;\n\t\t__le32 cmd_type_len;\n\t\t__le32 olinfo_status;\n\t} read;\n\tstruct {\n\t\t__le64 rsvd;\n\t\t__le32 nxtseq_seed;\n\t\t__le32 status;\n\t} wb;\n};\n\nunion ixgbe_atr_hash_dword {\n\tstruct {\n\t\tu8 vm_pool;\n\t\tu8 flow_type;\n\t\t__be16 vlan_id;\n\t} formatted;\n\t__be32 ip;\n\tstruct {\n\t\t__be16 src;\n\t\t__be16 dst;\n\t} port;\n\t__be16 flex_bytes;\n\t__be32 dword;\n};\n\nstruct ixgbe_cb {\n\tunion {\n\t\tstruct sk_buff *head;\n\t\tstruct sk_buff *tail;\n\t};\n\tdma_addr_t dma;\n\tu16 append_cnt;\n\tbool page_released;\n};\n\nstruct ixgbe_fcoe_ddp_pool {\n\tstruct dma_pool *pool;\n\tu64 noddp;\n\tu64 noddp_ext_buff;\n};\n\nstruct ixgbe_fdir_filter {\n\tstruct hlist_node fdir_node;\n\tunion ixgbe_atr_input filter;\n\tu16 sw_idx;\n\tu64 action;\n};\n\nstruct ixgbe_fwd_adapter {\n\tlong unsigned int active_vlans[64];\n\tstruct net_device *netdev;\n\tunsigned int tx_base_queue;\n\tunsigned int rx_base_queue;\n\tint pool;\n};\n\nstruct ixgbe_hic_hdr {\n\tu8 cmd;\n\tu8 buf_len;\n\tunion {\n\t\tu8 cmd_resv;\n\t\tu8 ret_status;\n\t} cmd_or_resp;\n\tu8 checksum;\n};\n\nstruct ixgbe_hic_disable_rxen {\n\tstruct ixgbe_hic_hdr hdr;\n\tu8 port_number;\n\tu8 pad2;\n\tu16 pad3;\n};\n\nstruct ixgbe_hic_drv_info {\n\tstruct ixgbe_hic_hdr hdr;\n\tu8 port_num;\n\tu8 ver_sub;\n\tu8 ver_build;\n\tu8 ver_min;\n\tu8 ver_maj;\n\tu8 pad;\n\tu16 pad2;\n};\n\nstruct ixgbe_hic_drv_info2 {\n\tstruct ixgbe_hic_hdr hdr;\n\tu8 port_num;\n\tu8 ver_sub;\n\tu8 ver_build;\n\tu8 ver_min;\n\tu8 ver_maj;\n\tchar driver_string[39];\n};\n\nstruct ixgbe_hic_hdr2_req {\n\tu8 cmd;\n\tu8 buf_lenh;\n\tu8 buf_lenl;\n\tu8 checksum;\n};\n\nstruct ixgbe_hic_hdr2_rsp {\n\tu8 cmd;\n\tu8 buf_lenl;\n\tu8 buf_lenh_status;\n\tu8 checksum;\n};\n\nunion ixgbe_hic_hdr2 {\n\tstruct ixgbe_hic_hdr2_req req;\n\tstruct ixgbe_hic_hdr2_rsp rsp;\n};\n\nstruct ixgbe_hic_internal_phy_req {\n\tstruct ixgbe_hic_hdr hdr;\n\tu8 port_number;\n\tu8 command_type;\n\t__be16 address;\n\tu16 rsv1;\n\t__be32 write_data;\n\tu16 pad;\n} __attribute__((packed));\n\nstruct ixgbe_hic_internal_phy_resp {\n\tstruct ixgbe_hic_hdr hdr;\n\t__be32 read_data;\n};\n\nstruct ixgbe_hic_phy_activity_req {\n\tstruct ixgbe_hic_hdr hdr;\n\tu8 port_number;\n\tu8 pad;\n\t__le16 activity_id;\n\t__be32 data[4];\n};\n\nstruct ixgbe_hic_phy_activity_resp {\n\tstruct ixgbe_hic_hdr hdr;\n\t__be32 data[4];\n};\n\nstruct ixgbe_hic_phy_token_req {\n\tstruct ixgbe_hic_hdr hdr;\n\tu8 port_number;\n\tu8 command_type;\n\tu16 pad;\n};\n\nstruct ixgbe_hic_read_shadow_ram {\n\tunion ixgbe_hic_hdr2 hdr;\n\tu32 address;\n\tu16 length;\n\tu16 pad2;\n\tu16 data;\n\tu16 pad3;\n};\n\nstruct ixgbe_hic_write_shadow_ram {\n\tunion ixgbe_hic_hdr2 hdr;\n\t__be32 address;\n\t__be16 length;\n\tu16 pad2;\n\tu16 data;\n\tu16 pad3;\n};\n\nstruct ixgbe_info {\n\tenum ixgbe_mac_type mac;\n\tint (*get_invariants)(struct ixgbe_hw *);\n\tconst struct ixgbe_mac_operations *mac_ops;\n\tconst struct ixgbe_eeprom_operations *eeprom_ops;\n\tconst struct ixgbe_phy_operations *phy_ops;\n\tconst struct ixgbe_mbx_operations *mbx_ops;\n\tconst struct ixgbe_link_operations *link_ops;\n\tconst u32 *mvals;\n};\n\nstruct rx_ip_sa;\n\nstruct rx_sa;\n\nstruct tx_sa;\n\nstruct ixgbe_ipsec {\n\tu16 num_rx_sa;\n\tu16 num_tx_sa;\n\tstruct rx_ip_sa *ip_tbl;\n\tstruct rx_sa *rx_tbl;\n\tstruct tx_sa *tx_tbl;\n\tstruct hlist_head rx_sa_list[1024];\n};\n\nstruct ixgbe_ipsec_tx_data {\n\tu32 flags;\n\tu16 trailer_len;\n\tu16 sa_idx;\n};\n\nstruct ixgbe_mat_field;\n\nstruct ixgbe_jump_table {\n\tstruct ixgbe_mat_field *mat;\n\tstruct ixgbe_fdir_filter *input;\n\tunion ixgbe_atr_input *mask;\n\tu32 link_hdl;\n\tlong unsigned int child_loc_map[32];\n};\n\nstruct ixgbe_mac_addr {\n\tu8 addr[6];\n\tu16 pool;\n\tu16 state;\n};\n\nstruct ixgbe_mat_field {\n\tunsigned int off;\n\tint (*val)(struct ixgbe_fdir_filter *, union ixgbe_atr_input *, u32, u32);\n\tunsigned int type;\n};\n\nstruct ixgbe_mbx_operations {\n\tint (*init_params)(struct ixgbe_hw *);\n\tint (*read)(struct ixgbe_hw *, u32 *, u16, u16);\n\tint (*write)(struct ixgbe_hw *, u32 *, u16, u16);\n\tint (*read_posted)(struct ixgbe_hw *, u32 *, u16, u16);\n\tint (*write_posted)(struct ixgbe_hw *, u32 *, u16, u16);\n\tint (*check_for_msg)(struct ixgbe_hw *, u16);\n\tint (*check_for_ack)(struct ixgbe_hw *, u16);\n\tint (*check_for_rst)(struct ixgbe_hw *, u16);\n};\n\nstruct ixgbe_nexthdr {\n\tunsigned int o;\n\tu32 s;\n\tu32 m;\n\tunsigned int off;\n\tu32 val;\n\tu32 mask;\n\tstruct ixgbe_mat_field *jump;\n};\n\nstruct ixgbe_nvm_version {\n\tu32 etk_id;\n\tu8 nvm_major;\n\tu16 nvm_minor;\n\tu8 nvm_id;\n\tbool oem_valid;\n\tu8 oem_major;\n\tu8 oem_minor;\n\tu16 oem_release;\n\tbool or_valid;\n\tu8 or_major;\n\tu16 or_build;\n\tu8 or_patch;\n};\n\nstruct ixgbe_ring_container {\n\tstruct ixgbe_ring *ring;\n\tlong unsigned int next_update;\n\tunsigned int total_bytes;\n\tunsigned int total_packets;\n\tu16 work_limit;\n\tu8 count;\n\tu8 itr;\n};\n\nstruct ixgbe_q_vector {\n\tstruct ixgbe_adapter *adapter;\n\tu16 v_idx;\n\tu16 itr;\n\tstruct ixgbe_ring_container rx;\n\tstruct ixgbe_ring_container tx;\n\tstruct napi_struct napi;\n\tcpumask_t affinity_mask;\n\tint numa_node;\n\tstruct callback_head rcu;\n\tchar name[25];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ixgbe_ring ring[0];\n};\n\nstruct ixgbe_reg_info {\n\tu32 ofs;\n\tchar *name;\n};\n\nstruct ixgbe_reg_test {\n\tu16 reg;\n\tu8 array_len;\n\tu8 test_type;\n\tu32 mask;\n\tu32 write;\n};\n\nstruct ixgbe_rx_buffer {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *skb;\n\t\t\tdma_addr_t dma;\n\t\t\tstruct page *page;\n\t\t\t__u32 page_offset;\n\t\t\t__u16 pagecnt_bias;\n\t\t};\n\t\tstruct {\n\t\t\tbool discard;\n\t\t\tstruct xdp_buff *xdp;\n\t\t};\n\t};\n};\n\nstruct ixgbe_stats {\n\tchar stat_string[32];\n\tint type;\n\tint sizeof_stat;\n\tint stat_offset;\n};\n\nstruct ixgbe_tx_buffer {\n\tunion ixgbe_adv_tx_desc *next_to_watch;\n\tlong unsigned int time_stamp;\n\tunion {\n\t\tstruct sk_buff *skb;\n\t\tstruct xdp_frame *xdpf;\n\t};\n\tunsigned int bytecount;\n\tshort unsigned int gso_segs;\n\t__be16 protocol;\n\tdma_addr_t dma;\n\t__u32 len;\n\tu32 tx_flags;\n};\n\nstruct transaction_s;\n\ntypedef struct transaction_s transaction_t;\n\nstruct jbd2_inode {\n\ttransaction_t *i_transaction;\n\ttransaction_t *i_next_transaction;\n\tstruct list_head i_list;\n\tstruct inode *i_vfs_inode;\n\tlong unsigned int i_flags;\n\tloff_t i_dirty_start;\n\tloff_t i_dirty_end;\n};\n\nstruct jbd2_journal_block_tail {\n\t__be32 t_checksum;\n};\n\ntypedef struct journal_s journal_t;\n\nstruct jbd2_journal_handle {\n\tunion {\n\t\ttransaction_t *h_transaction;\n\t\tjournal_t *h_journal;\n\t};\n\thandle_t *h_rsv_handle;\n\tint h_total_credits;\n\tint h_revoke_credits;\n\tint h_revoke_credits_requested;\n\tint h_ref;\n\tint h_err;\n\tunsigned int h_sync: 1;\n\tunsigned int h_jdata: 1;\n\tunsigned int h_reserved: 1;\n\tunsigned int h_aborted: 1;\n\tunsigned int h_type: 8;\n\tunsigned int h_line_no: 16;\n\tlong unsigned int h_start_jiffies;\n\tunsigned int h_requested_credits;\n\tunsigned int saved_alloc_context;\n};\n\nstruct journal_header_s {\n\t__be32 h_magic;\n\t__be32 h_blocktype;\n\t__be32 h_sequence;\n};\n\ntypedef struct journal_header_s journal_header_t;\n\nstruct jbd2_journal_revoke_header_s {\n\tjournal_header_t r_header;\n\t__be32 r_count;\n};\n\ntypedef struct jbd2_journal_revoke_header_s jbd2_journal_revoke_header_t;\n\nstruct jbd2_revoke_record_s {\n\tstruct list_head hash;\n\ttid_t sequence;\n\tlong long unsigned int blocknr;\n};\n\nstruct jbd2_revoke_table_s {\n\tint hash_size;\n\tint hash_shift;\n\tstruct list_head *hash_table;\n};\n\nstruct transaction_stats_s;\n\nstruct jbd2_stats_proc_session {\n\tjournal_t *journal;\n\tstruct transaction_stats_s *stats;\n\tint start;\n\tint max;\n};\n\nunion loongarch_instruction;\n\nstruct jit_ctx {\n\tconst struct bpf_prog *prog;\n\tunsigned int idx;\n\tunsigned int flags;\n\tunsigned int epilogue_offset;\n\tu32 *offset;\n\tint num_exentries;\n\tunion loongarch_instruction *image;\n\tu32 stack_size;\n};\n\nstruct jit_data {\n\tstruct bpf_binary_header *header;\n\tu8 *image;\n\tstruct jit_ctx ctx;\n};\n\nstruct join_entry {\n\tu32 token;\n\tu32 remote_nonce;\n\tu32 local_nonce;\n\tu8 join_id;\n\tu8 local_id;\n\tu8 backup;\n\tu8 valid;\n};\n\nstruct journal_block_tag3_s {\n\t__be32 t_blocknr;\n\t__be32 t_flags;\n\t__be32 t_blocknr_high;\n\t__be32 t_checksum;\n};\n\ntypedef struct journal_block_tag3_s journal_block_tag3_t;\n\nstruct journal_block_tag_s {\n\t__be32 t_blocknr;\n\t__be16 t_checksum;\n\t__be16 t_flags;\n\t__be32 t_blocknr_high;\n};\n\ntypedef struct journal_block_tag_s journal_block_tag_t;\n\nstruct journal_head {\n\tstruct buffer_head *b_bh;\n\tspinlock_t b_state_lock;\n\tint b_jcount;\n\tunsigned int b_jlist;\n\tunsigned int b_modified;\n\tchar *b_frozen_data;\n\tchar *b_committed_data;\n\ttransaction_t *b_transaction;\n\ttransaction_t *b_next_transaction;\n\tstruct journal_head *b_tnext;\n\tstruct journal_head *b_tprev;\n\ttransaction_t *b_cp_transaction;\n\tstruct journal_head *b_cpnext;\n\tstruct journal_head *b_cpprev;\n\tstruct jbd2_buffer_trigger_type *b_triggers;\n\tstruct jbd2_buffer_trigger_type *b_frozen_triggers;\n};\n\nstruct transaction_run_stats_s {\n\tlong unsigned int rs_wait;\n\tlong unsigned int rs_request_delay;\n\tlong unsigned int rs_running;\n\tlong unsigned int rs_locked;\n\tlong unsigned int rs_flushing;\n\tlong unsigned int rs_logging;\n\t__u32 rs_handle_count;\n\t__u32 rs_blocks;\n\t__u32 rs_blocks_logged;\n};\n\nstruct transaction_stats_s {\n\tlong unsigned int ts_tid;\n\tlong unsigned int ts_requested;\n\tstruct transaction_run_stats_s run;\n};\n\nstruct journal_superblock_s;\n\ntypedef struct journal_superblock_s journal_superblock_t;\n\nstruct journal_s {\n\tlong unsigned int j_flags;\n\tint j_errno;\n\tstruct mutex j_abort_mutex;\n\tstruct buffer_head *j_sb_buffer;\n\tjournal_superblock_t *j_superblock;\n\trwlock_t j_state_lock;\n\tint j_barrier_count;\n\tstruct mutex j_barrier;\n\ttransaction_t *j_running_transaction;\n\ttransaction_t *j_committing_transaction;\n\ttransaction_t *j_checkpoint_transactions;\n\twait_queue_head_t j_wait_transaction_locked;\n\twait_queue_head_t j_wait_done_commit;\n\twait_queue_head_t j_wait_commit;\n\twait_queue_head_t j_wait_updates;\n\twait_queue_head_t j_wait_reserved;\n\twait_queue_head_t j_fc_wait;\n\tstruct mutex j_checkpoint_mutex;\n\tstruct buffer_head *j_chkpt_bhs[64];\n\tstruct shrinker *j_shrinker;\n\tstruct percpu_counter j_checkpoint_jh_count;\n\ttransaction_t *j_shrink_transaction;\n\tlong unsigned int j_head;\n\tlong unsigned int j_tail;\n\tlong unsigned int j_free;\n\tlong unsigned int j_first;\n\tlong unsigned int j_last;\n\tlong unsigned int j_fc_first;\n\tlong unsigned int j_fc_off;\n\tlong unsigned int j_fc_last;\n\tstruct block_device *j_dev;\n\tint j_blocksize;\n\tlong long unsigned int j_blk_offset;\n\tchar j_devname[56];\n\tstruct block_device *j_fs_dev;\n\terrseq_t j_fs_dev_wb_err;\n\tunsigned int j_total_len;\n\tatomic_t j_reserved_credits;\n\tspinlock_t j_list_lock;\n\tstruct inode *j_inode;\n\ttid_t j_tail_sequence;\n\ttid_t j_transaction_sequence;\n\ttid_t j_commit_sequence;\n\ttid_t j_commit_request;\n\t__u8 j_uuid[16];\n\tstruct task_struct *j_task;\n\tint j_max_transaction_buffers;\n\tint j_revoke_records_per_block;\n\tint j_transaction_overhead_buffers;\n\tlong unsigned int j_commit_interval;\n\tstruct timer_list j_commit_timer;\n\tspinlock_t j_revoke_lock;\n\tstruct jbd2_revoke_table_s *j_revoke;\n\tstruct jbd2_revoke_table_s *j_revoke_table[2];\n\tstruct buffer_head **j_wbuf;\n\tstruct buffer_head **j_fc_wbuf;\n\tint j_wbufsize;\n\tint j_fc_wbufsize;\n\tpid_t j_last_sync_writer;\n\tu64 j_average_commit_time;\n\tu32 j_min_batch_time;\n\tu32 j_max_batch_time;\n\tvoid (*j_commit_callback)(journal_t *, transaction_t *);\n\tint (*j_submit_inode_data_buffers)(struct jbd2_inode *);\n\tint (*j_finish_inode_data_buffers)(struct jbd2_inode *);\n\tspinlock_t j_history_lock;\n\tstruct proc_dir_entry *j_proc_entry;\n\tstruct transaction_stats_s j_stats;\n\tunsigned int j_failed_commit;\n\tvoid *j_private;\n\t__u32 j_csum_seed;\n\tvoid (*j_fc_cleanup_callback)(struct journal_s *, int, tid_t);\n\tint (*j_fc_replay_callback)(struct journal_s *, struct buffer_head *, enum passtype, int, tid_t);\n\tint (*j_bmap)(struct journal_s *, sector_t *);\n};\n\nstruct journal_superblock_s {\n\tjournal_header_t s_header;\n\t__be32 s_blocksize;\n\t__be32 s_maxlen;\n\t__be32 s_first;\n\t__be32 s_sequence;\n\t__be32 s_start;\n\t__be32 s_errno;\n\t__be32 s_feature_compat;\n\t__be32 s_feature_incompat;\n\t__be32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\t__be32 s_nr_users;\n\t__be32 s_dynsuper;\n\t__be32 s_max_transaction;\n\t__be32 s_max_trans_data;\n\t__u8 s_checksum_type;\n\t__u8 s_padding2[3];\n\t__be32 s_num_fc_blks;\n\t__be32 s_head;\n\t__u32 s_padding[40];\n\t__be32 s_checksum;\n\t__u8 s_users[768];\n};\n\nstruct jump_entry {\n\ts32 code;\n\ts32 target;\n\tlong int key;\n};\n\nstruct k_itimer;\n\nstruct k_clock {\n\tint (*clock_getres)(const clockid_t, struct timespec64 *);\n\tint (*clock_set)(const clockid_t, const struct timespec64 *);\n\tint (*clock_get_timespec)(const clockid_t, struct timespec64 *);\n\tktime_t (*clock_get_ktime)(const clockid_t);\n\tint (*clock_adj)(const clockid_t, struct __kernel_timex *);\n\tint (*timer_create)(struct k_itimer *);\n\tint (*nsleep)(const clockid_t, int, const struct timespec64 *);\n\tint (*timer_set)(struct k_itimer *, int, struct itimerspec64 *, struct itimerspec64 *);\n\tint (*timer_del)(struct k_itimer *);\n\tvoid (*timer_get)(struct k_itimer *, struct itimerspec64 *);\n\tvoid (*timer_rearm)(struct k_itimer *);\n\ts64 (*timer_forward)(struct k_itimer *, ktime_t);\n\tktime_t (*timer_remaining)(struct k_itimer *, ktime_t);\n\tint (*timer_try_to_cancel)(struct k_itimer *);\n\tvoid (*timer_arm)(struct k_itimer *, ktime_t, bool, bool);\n\tvoid (*timer_wait_running)(struct k_itimer *);\n};\n\nstruct kernel_siginfo {\n\tstruct {\n\t\tint si_signo;\n\t\tint si_errno;\n\t\tint si_code;\n\t\tunion __sifields _sifields;\n\t};\n};\n\nstruct sigqueue {\n\tstruct list_head list;\n\tint flags;\n\tkernel_siginfo_t info;\n\tstruct ucounts *ucounts;\n};\n\nstruct signal_struct;\n\nstruct k_itimer {\n\tstruct hlist_node list;\n\tstruct hlist_node ignored_list;\n\tstruct hlist_node t_hash;\n\tspinlock_t it_lock;\n\tconst struct k_clock *kclock;\n\tclockid_t it_clock;\n\ttimer_t it_id;\n\tint it_status;\n\tbool it_sig_periodic;\n\ts64 it_overrun;\n\ts64 it_overrun_last;\n\tunsigned int it_signal_seq;\n\tunsigned int it_sigqueue_seq;\n\tint it_sigev_notify;\n\tenum pid_type it_pid_type;\n\tktime_t it_interval;\n\tstruct signal_struct *it_signal;\n\tunion {\n\t\tstruct pid *it_pid;\n\t\tstruct task_struct *it_process;\n\t};\n\tstruct sigqueue sigq;\n\trcuref_t rcuref;\n\tunion {\n\t\tstruct {\n\t\t\tstruct hrtimer timer;\n\t\t} real;\n\t\tstruct cpu_timer cpu;\n\t\tstruct {\n\t\t\tstruct alarm alarmtimer;\n\t\t} alarm;\n\t} it;\n\tstruct callback_head rcu;\n};\n\ntypedef void __signalfn_t(int);\n\ntypedef __signalfn_t *__sighandler_t;\n\nstruct sigaction {\n\t__sighandler_t sa_handler;\n\tlong unsigned int sa_flags;\n\tsigset_t sa_mask;\n};\n\nstruct k_sigaction {\n\tstruct sigaction sa;\n};\n\nstruct kallsym_iter {\n\tloff_t pos;\n\tloff_t pos_mod_end;\n\tloff_t pos_ftrace_mod_end;\n\tloff_t pos_bpf_end;\n\tlong unsigned int value;\n\tunsigned int nameoff;\n\tchar type;\n\tchar name[512];\n\tchar module_name[56];\n\tint exported;\n\tint show_value;\n};\n\nstruct karatsuba_ctx {\n\tstruct karatsuba_ctx *next;\n\tmpi_ptr_t tspace;\n\tmpi_size_t tspace_size;\n\tmpi_ptr_t tp;\n\tmpi_size_t tp_size;\n};\n\nstruct led_trigger {\n\tconst char *name;\n\tint (*activate)(struct led_classdev *);\n\tvoid (*deactivate)(struct led_classdev *);\n\tenum led_brightness brightness;\n\tstruct led_hw_trigger_type *trigger_type;\n\tspinlock_t leddev_list_lock;\n\tstruct list_head led_cdevs;\n\tstruct list_head next_trig;\n\tconst struct attribute_group **groups;\n};\n\nstruct kbd_led_trigger {\n\tstruct led_trigger trigger;\n\tunsigned int mask;\n};\n\nstruct kbd_repeat {\n\tint delay;\n\tint period;\n};\n\nstruct kbd_struct {\n\tunsigned char lockstate;\n\tunsigned char slockstate;\n\tunsigned char ledmode: 1;\n\tunsigned char ledflagstate: 4;\n\tchar: 3;\n\tunsigned char default_ledflagstate: 4;\n\tunsigned char kbdmode: 3;\n\tint: 1;\n\tunsigned char modeflags: 5;\n};\n\nstruct kbdiacr {\n\tunsigned char diacr;\n\tunsigned char base;\n\tunsigned char result;\n};\n\nstruct kbdiacrs {\n\tunsigned int kb_cnt;\n\tstruct kbdiacr kbdiacr[256];\n};\n\nstruct kbdiacruc {\n\tunsigned int diacr;\n\tunsigned int base;\n\tunsigned int result;\n};\n\nstruct kbdiacrsuc {\n\tunsigned int kb_cnt;\n\tstruct kbdiacruc kbdiacruc[256];\n};\n\nstruct kbentry {\n\tunsigned char kb_table;\n\tunsigned char kb_index;\n\tshort unsigned int kb_value;\n};\n\nstruct kbkeycode {\n\tunsigned int scancode;\n\tunsigned int keycode;\n};\n\nstruct kbsentry {\n\tunsigned char kb_func;\n\tunsigned char kb_string[512];\n};\n\nstruct kcmp_epoll_slot {\n\t__u32 efd;\n\t__u32 tfd;\n\t__u32 toff;\n};\n\ntypedef void (*dm_kcopyd_notify_fn)(int, long unsigned int, void *);\n\nstruct kcopyd_job {\n\tstruct dm_kcopyd_client *kc;\n\tstruct list_head list;\n\tunsigned int flags;\n\tint read_err;\n\tlong unsigned int write_err;\n\tenum req_op op;\n\tstruct dm_io_region source;\n\tunsigned int num_dests;\n\tstruct dm_io_region dests[8];\n\tstruct page_list *pages;\n\tdm_kcopyd_notify_fn fn;\n\tvoid *context;\n\tstruct mutex lock;\n\tatomic_t sub_jobs;\n\tsector_t progress;\n\tsector_t write_offset;\n\tstruct kcopyd_job *master_job;\n};\n\nstruct kcore_list {\n\tstruct list_head list;\n\tlong unsigned int addr;\n\tsize_t size;\n\tint type;\n};\n\nstruct kcsan_scoped_access {};\n\nstruct kdf_testvec {\n\tunsigned char *key;\n\tsize_t keylen;\n\tunsigned char *ikm;\n\tsize_t ikmlen;\n\tstruct kvec info;\n\tunsigned char *expected;\n\tsize_t expectedlen;\n};\n\nstruct kern_ipc_perm {\n\tspinlock_t lock;\n\tbool deleted;\n\tint id;\n\tkey_t key;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t cuid;\n\tkgid_t cgid;\n\tumode_t mode;\n\tlong unsigned int seq;\n\tvoid *security;\n\tstruct rhash_head khtnode;\n\tstruct callback_head rcu;\n\trefcount_t refcount;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kernel_clone_args {\n\tu64 flags;\n\tint *pidfd;\n\tint *child_tid;\n\tint *parent_tid;\n\tconst char *name;\n\tint exit_signal;\n\tu32 kthread: 1;\n\tu32 io_thread: 1;\n\tu32 user_worker: 1;\n\tu32 no_files: 1;\n\tlong unsigned int stack;\n\tlong unsigned int stack_size;\n\tlong unsigned int tls;\n\tpid_t *set_tid;\n\tsize_t set_tid_size;\n\tint cgroup;\n\tint idle;\n\tint (*fn)(void *);\n\tvoid *fn_arg;\n\tstruct cgroup *cgrp;\n\tstruct css_set *cset;\n\tunsigned int kill_seq;\n};\n\nstruct kernel_cpustat {\n\tu64 cpustat[11];\n};\n\nstruct kernel_ethtool_ringparam {\n\tu32 rx_buf_len;\n\tu8 tcp_data_split;\n\tu8 tx_push;\n\tu8 rx_push;\n\tu32 cqe_size;\n\tu32 tx_push_buf_len;\n\tu32 tx_push_buf_max_len;\n\tu32 hds_thresh;\n\tu32 hds_thresh_max;\n};\n\nstruct kernel_ethtool_ts_info {\n\tu32 cmd;\n\tu32 so_timestamping;\n\tint phc_index;\n\tenum hwtstamp_provider_qualifier phc_qualifier;\n\tenum hwtstamp_tx_types tx_types;\n\tenum hwtstamp_rx_filters rx_filters;\n};\n\nstruct kernel_extent_ad {\n\tuint32_t extLength;\n\tuint32_t extLocation;\n};\n\nstruct kernel_hwtstamp_config {\n\tint flags;\n\tint tx_type;\n\tint rx_filter;\n\tstruct ifreq *ifr;\n\tbool copied_to_user;\n\tenum hwtstamp_source source;\n\tenum hwtstamp_provider_qualifier qualifier;\n};\n\nstruct kernel_long_ad {\n\tuint32_t extLength;\n\tstruct kernel_lb_addr extLocation;\n\tuint8_t impUse[6];\n};\n\nstruct kernel_param_ops;\n\nstruct kparam_string;\n\nstruct kparam_array;\n\nstruct kernel_param {\n\tconst char *name;\n\tstruct module *mod;\n\tconst struct kernel_param_ops *ops;\n\tconst u16 perm;\n\ts8 level;\n\tu8 flags;\n\tunion {\n\t\tvoid *arg;\n\t\tconst struct kparam_string *str;\n\t\tconst struct kparam_array *arr;\n\t};\n};\n\nstruct kernel_param_ops {\n\tunsigned int flags;\n\tint (*set)(const char *, const struct kernel_param *);\n\tint (*get)(char *, const struct kernel_param *);\n\tvoid (*free)(void *);\n};\n\nstruct kernel_pkey_params {\n\tstruct key *key;\n\tconst char *encoding;\n\tconst char *hash_algo;\n\tchar *info;\n\t__u32 in_len;\n\tunion {\n\t\t__u32 out_len;\n\t\t__u32 in2_len;\n\t};\n\tenum kernel_pkey_operation op: 8;\n};\n\nstruct kernel_pkey_query {\n\t__u32 supported_ops;\n\t__u32 key_size;\n\t__u16 max_data_size;\n\t__u16 max_sig_size;\n\t__u16 max_enc_size;\n\t__u16 max_dec_size;\n};\n\nstruct kernel_stat {\n\tlong unsigned int irqs_sum;\n\tunsigned int softirqs[10];\n};\n\nstruct kernel_symbol {\n\tlong unsigned int value;\n\tconst char *name;\n\tconst char *namespace;\n};\n\nstruct kernfs_open_node;\n\nstruct kernfs_elem_attr {\n\tconst struct kernfs_ops *ops;\n\tstruct kernfs_open_node *open;\n\tloff_t size;\n\tstruct kernfs_node *notify_next;\n};\n\nstruct kernfs_elem_dir {\n\tlong unsigned int subdirs;\n\tstruct rb_root children;\n\tstruct kernfs_root *root;\n\tlong unsigned int rev;\n};\n\nstruct kernfs_elem_symlink {\n\tstruct kernfs_node *target_kn;\n};\n\nstruct kernfs_global_locks {\n\tstruct mutex open_file_mutex[1024];\n};\n\nstruct simple_xattrs {\n\tstruct rb_root rb_root;\n\trwlock_t lock;\n};\n\nstruct kernfs_iattrs {\n\tkuid_t ia_uid;\n\tkgid_t ia_gid;\n\tstruct timespec64 ia_atime;\n\tstruct timespec64 ia_mtime;\n\tstruct timespec64 ia_ctime;\n\tstruct simple_xattrs xattrs;\n\tatomic_t nr_user_xattrs;\n\tatomic_t user_xattr_size;\n};\n\nstruct kernfs_node {\n\tatomic_t count;\n\tatomic_t active;\n\tstruct kernfs_node *parent;\n\tconst char *name;\n\tstruct rb_node rb;\n\tconst void *ns;\n\tunsigned int hash;\n\tshort unsigned int flags;\n\tumode_t mode;\n\tunion {\n\t\tstruct kernfs_elem_dir dir;\n\t\tstruct kernfs_elem_symlink symlink;\n\t\tstruct kernfs_elem_attr attr;\n\t};\n\tu64 id;\n\tvoid *priv;\n\tstruct kernfs_iattrs *iattr;\n\tstruct callback_head rcu;\n};\n\nstruct kernfs_open_file {\n\tstruct kernfs_node *kn;\n\tstruct file *file;\n\tstruct seq_file *seq_file;\n\tvoid *priv;\n\tstruct mutex mutex;\n\tstruct mutex prealloc_mutex;\n\tint event;\n\tstruct list_head list;\n\tchar *prealloc_buf;\n\tsize_t atomic_write_len;\n\tbool mmapped: 1;\n\tbool released: 1;\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct kernfs_open_node {\n\tstruct callback_head callback_head;\n\tatomic_t event;\n\twait_queue_head_t poll;\n\tstruct list_head files;\n\tunsigned int nr_mmapped;\n\tunsigned int nr_to_release;\n};\n\nstruct kernfs_ops {\n\tint (*open)(struct kernfs_open_file *);\n\tvoid (*release)(struct kernfs_open_file *);\n\tint (*seq_show)(struct seq_file *, void *);\n\tvoid * (*seq_start)(struct seq_file *, loff_t *);\n\tvoid * (*seq_next)(struct seq_file *, void *, loff_t *);\n\tvoid (*seq_stop)(struct seq_file *, void *);\n\tssize_t (*read)(struct kernfs_open_file *, char *, size_t, loff_t);\n\tsize_t atomic_write_len;\n\tbool prealloc;\n\tssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t);\n\t__poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *);\n\tint (*mmap)(struct kernfs_open_file *, struct vm_area_struct *);\n\tloff_t (*llseek)(struct kernfs_open_file *, loff_t, int);\n};\n\nstruct kernfs_syscall_ops;\n\nstruct kernfs_root {\n\tstruct kernfs_node *kn;\n\tunsigned int flags;\n\tstruct idr ino_idr;\n\tu32 last_id_lowbits;\n\tu32 id_highbits;\n\tstruct kernfs_syscall_ops *syscall_ops;\n\tstruct list_head supers;\n\twait_queue_head_t deactivate_waitq;\n\tstruct rw_semaphore kernfs_rwsem;\n\tstruct rw_semaphore kernfs_iattr_rwsem;\n\tstruct rw_semaphore kernfs_supers_rwsem;\n\tstruct callback_head rcu;\n};\n\nstruct kernfs_super_info {\n\tstruct super_block *sb;\n\tstruct kernfs_root *root;\n\tconst void *ns;\n\tstruct list_head node;\n};\n\nstruct kernfs_syscall_ops {\n\tint (*show_options)(struct seq_file *, struct kernfs_root *);\n\tint (*mkdir)(struct kernfs_node *, const char *, umode_t);\n\tint (*rmdir)(struct kernfs_node *);\n\tint (*rename)(struct kernfs_node *, struct kernfs_node *, const char *);\n\tint (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *);\n};\n\nstruct kexec_load_limit {\n\tstruct mutex mutex;\n\tint limit;\n};\n\nstruct kexec_segment {\n\tunion {\n\t\tvoid *buf;\n\t\tvoid *kbuf;\n\t};\n\tsize_t bufsz;\n\tlong unsigned int mem;\n\tsize_t memsz;\n};\n\nstruct key_type;\n\nstruct key_tag;\n\nstruct keyring_index_key {\n\tlong unsigned int hash;\n\tunion {\n\t\tstruct {\n\t\t\tu16 desc_len;\n\t\t\tchar desc[6];\n\t\t};\n\t\tlong unsigned int x;\n\t};\n\tstruct key_type *type;\n\tstruct key_tag *domain_tag;\n\tconst char *description;\n};\n\nunion key_payload {\n\tvoid *rcu_data0;\n\tvoid *data[4];\n};\n\nstruct key_user;\n\nstruct key_restriction;\n\nstruct key {\n\trefcount_t usage;\n\tkey_serial_t serial;\n\tunion {\n\t\tstruct list_head graveyard_link;\n\t\tstruct rb_node serial_node;\n\t};\n\tstruct rw_semaphore sem;\n\tstruct key_user *user;\n\tvoid *security;\n\tunion {\n\t\ttime64_t expiry;\n\t\ttime64_t revoked_at;\n\t};\n\ttime64_t last_used_at;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkey_perm_t perm;\n\tshort unsigned int quotalen;\n\tshort unsigned int datalen;\n\tshort int state;\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct keyring_index_key index_key;\n\t\tstruct {\n\t\t\tlong unsigned int hash;\n\t\t\tlong unsigned int len_desc;\n\t\t\tstruct key_type *type;\n\t\t\tstruct key_tag *domain_tag;\n\t\t\tchar *description;\n\t\t};\n\t};\n\tunion {\n\t\tunion key_payload payload;\n\t\tstruct {\n\t\t\tstruct list_head name_link;\n\t\t\tstruct assoc_array keys;\n\t\t};\n\t};\n\tstruct key_restriction *restrict_link;\n};\n\nstruct key_match_data {\n\tbool (*cmp)(const struct key *, const struct key_match_data *);\n\tconst void *raw_data;\n\tvoid *preparsed;\n\tunsigned int lookup_type;\n};\n\nstruct key_params {\n\tconst u8 *key;\n\tconst u8 *seq;\n\tint key_len;\n\tint seq_len;\n\tu16 vlan_id;\n\tu32 cipher;\n\tenum nl80211_key_mode mode;\n};\n\nstruct key_preparsed_payload {\n\tconst char *orig_description;\n\tchar *description;\n\tunion key_payload payload;\n\tconst void *data;\n\tsize_t datalen;\n\tsize_t quotalen;\n\ttime64_t expiry;\n};\n\ntypedef int (*key_restrict_link_func_t)(struct key *, const struct key_type *, const union key_payload *, struct key *);\n\nstruct key_restriction {\n\tkey_restrict_link_func_t check;\n\tstruct key *key;\n\tstruct key_type *keytype;\n};\n\nstruct key_security_struct {\n\tu32 sid;\n};\n\nstruct key_tag {\n\tstruct callback_head rcu;\n\trefcount_t usage;\n\tbool removed;\n};\n\ntypedef int (*request_key_actor_t)(struct key *, void *);\n\nstruct key_type {\n\tconst char *name;\n\tsize_t def_datalen;\n\tunsigned int flags;\n\tint (*vet_description)(const char *);\n\tint (*preparse)(struct key_preparsed_payload *);\n\tvoid (*free_preparse)(struct key_preparsed_payload *);\n\tint (*instantiate)(struct key *, struct key_preparsed_payload *);\n\tint (*update)(struct key *, struct key_preparsed_payload *);\n\tint (*match_preparse)(struct key_match_data *);\n\tvoid (*match_free)(struct key_match_data *);\n\tvoid (*revoke)(struct key *);\n\tvoid (*destroy)(struct key *);\n\tvoid (*describe)(const struct key *, struct seq_file *);\n\tlong int (*read)(const struct key *, char *, size_t);\n\trequest_key_actor_t request_key;\n\tstruct key_restriction * (*lookup_restriction)(const char *);\n\tint (*asym_query)(const struct kernel_pkey_params *, struct kernel_pkey_query *);\n\tint (*asym_eds_op)(struct kernel_pkey_params *, const void *, void *);\n\tint (*asym_verify_signature)(struct kernel_pkey_params *, const void *, const void *);\n\tstruct list_head link;\n\tstruct lock_class_key lock_class;\n};\n\nstruct key_user {\n\tstruct rb_node node;\n\tstruct mutex cons_lock;\n\tspinlock_t lock;\n\trefcount_t usage;\n\tatomic_t nkeys;\n\tatomic_t nikeys;\n\tkuid_t uid;\n\tint qnkeys;\n\tint qnbytes;\n};\n\nstruct key_vector {\n\tt_key key;\n\tunsigned char pos;\n\tunsigned char bits;\n\tunsigned char slen;\n\tunion {\n\t\tstruct hlist_head leaf;\n\t\tstruct {\n\t\t\tstruct {} __empty_tnode;\n\t\t\tstruct key_vector *tnode[0];\n\t\t};\n\t};\n};\n\nstruct keyboard_notifier_param {\n\tstruct vc_data *vc;\n\tint down;\n\tint shift;\n\tint ledstate;\n\tunsigned int value;\n};\n\nstruct keyctl_dh_params {\n\tunion {\n\t\t__s32 private;\n\t\t__s32 priv;\n\t};\n\t__s32 prime;\n\t__s32 base;\n};\n\nstruct keyctl_kdf_params {\n\tchar *hashname;\n\tchar *otherinfo;\n\t__u32 otherinfolen;\n\t__u32 __spare[8];\n};\n\nstruct keyctl_pkey_params {\n\t__s32 key_id;\n\t__u32 in_len;\n\tunion {\n\t\t__u32 out_len;\n\t\t__u32 in2_len;\n\t};\n\t__u32 __spare[7];\n};\n\nstruct keyctl_pkey_query {\n\t__u32 supported_ops;\n\t__u32 key_size;\n\t__u16 max_data_size;\n\t__u16 max_sig_size;\n\t__u16 max_enc_size;\n\t__u16 max_dec_size;\n\t__u32 __spare[10];\n};\n\nstruct keyring_read_iterator_context {\n\tsize_t buflen;\n\tsize_t count;\n\tkey_serial_t *buffer;\n};\n\nstruct __key_reference_with_attributes;\n\ntypedef struct __key_reference_with_attributes *key_ref_t;\n\nstruct keyring_search_context {\n\tstruct keyring_index_key index_key;\n\tconst struct cred *cred;\n\tstruct key_match_data match_data;\n\tunsigned int flags;\n\tint (*iterator)(const void *, void *);\n\tint skipped_ret;\n\tbool possessed;\n\tkey_ref_t result;\n\ttime64_t now;\n};\n\nstruct kfifo {\n\tunion {\n\t\tstruct __kfifo kfifo;\n\t\tunsigned char *type;\n\t\tconst unsigned char *const_type;\n\t\tchar (*rectype)[0];\n\t\tvoid *ptr;\n\t\tconst void *ptr_const;\n\t};\n\tunsigned char buf[0];\n};\n\nstruct rcu_gp_oldstate {\n\tlong unsigned int rgos_norm;\n\tlong unsigned int rgos_exp;\n};\n\nstruct kfree_rcu_cpu;\n\nstruct kfree_rcu_cpu_work {\n\tstruct rcu_work rcu_work;\n\tstruct callback_head *head_free;\n\tstruct rcu_gp_oldstate head_free_gp_snap;\n\tstruct list_head bulk_head_free[2];\n\tstruct kfree_rcu_cpu *krcp;\n};\n\nstruct kfree_rcu_cpu {\n\tstruct callback_head *head;\n\tlong unsigned int head_gp_snap;\n\tatomic_t head_count;\n\tstruct list_head bulk_head[2];\n\tatomic_t bulk_count[2];\n\tstruct kfree_rcu_cpu_work krw_arr[2];\n\traw_spinlock_t lock;\n\tstruct delayed_work monitor_work;\n\tbool initialized;\n\tstruct delayed_work page_cache_work;\n\tatomic_t backoff_page_cache_fill;\n\tatomic_t work_in_progress;\n\tstruct hrtimer hrtimer;\n\tstruct llist_head bkvcache;\n\tint nr_bkv_objs;\n};\n\nstruct kgetbmap {\n\t__s64 bmv_offset;\n\t__s64 bmv_block;\n\t__s64 bmv_length;\n\t__s32 bmv_oflags;\n};\n\nstruct mm_slot {\n\tstruct hlist_node hash;\n\tstruct list_head mm_node;\n\tstruct mm_struct *mm;\n};\n\nstruct khugepaged_mm_slot {\n\tstruct mm_slot slot;\n};\n\nstruct khugepaged_scan {\n\tstruct list_head mm_head;\n\tstruct khugepaged_mm_slot *mm_slot;\n\tlong unsigned int address;\n};\n\nstruct kimage_arch {\n\tlong unsigned int efi_boot;\n\tlong unsigned int cmdline_ptr;\n\tlong unsigned int systable_ptr;\n};\n\nstruct kimage {\n\tkimage_entry_t head;\n\tkimage_entry_t *entry;\n\tkimage_entry_t *last_entry;\n\tlong unsigned int start;\n\tstruct page *control_code_page;\n\tstruct page *swap_page;\n\tvoid *vmcoreinfo_data_copy;\n\tlong unsigned int nr_segments;\n\tstruct kexec_segment segment[16];\n\tstruct list_head control_pages;\n\tstruct list_head dest_pages;\n\tstruct list_head unusable_pages;\n\tlong unsigned int control_page;\n\tunsigned int type: 1;\n\tunsigned int preserve_context: 1;\n\tunsigned int file_mode: 1;\n\tstruct kimage_arch arch;\n\tvoid *elf_headers;\n\tlong unsigned int elf_headers_sz;\n\tlong unsigned int elf_load_addr;\n};\n\nstruct kioctx_cpu;\n\nstruct kioctx {\n\tstruct percpu_ref users;\n\tatomic_t dead;\n\tstruct percpu_ref reqs;\n\tlong unsigned int user_id;\n\tstruct kioctx_cpu *cpu;\n\tunsigned int req_batch;\n\tunsigned int max_reqs;\n\tunsigned int nr_events;\n\tlong unsigned int mmap_base;\n\tlong unsigned int mmap_size;\n\tstruct folio **ring_folios;\n\tlong int nr_pages;\n\tstruct rcu_work free_rwork;\n\tstruct ctx_rq_wait *rq_wait;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct {\n\t\tatomic_t reqs_available;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tspinlock_t ctx_lock;\n\t\tstruct list_head active_reqs;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct mutex ring_lock;\n\t\twait_queue_head_t wait;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tunsigned int tail;\n\t\tunsigned int completed_events;\n\t\tspinlock_t completion_lock;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct folio *internal_folios[8];\n\tstruct file *aio_ring_file;\n\tunsigned int id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kioctx_cpu {\n\tunsigned int reqs_available;\n};\n\nstruct kioctx_table {\n\tstruct callback_head rcu;\n\tunsigned int nr;\n\tstruct kioctx *table[0];\n};\n\nstruct klist_waiter {\n\tstruct list_head list;\n\tstruct klist_node *node;\n\tstruct task_struct *process;\n\tint woken;\n};\n\nstruct km_event {\n\tunion {\n\t\tu32 hard;\n\t\tu32 proto;\n\t\tu32 byid;\n\t\tu32 aevent;\n\t\tu32 type;\n\t} data;\n\tu32 seq;\n\tu32 portid;\n\tu32 event;\n\tstruct net *net;\n};\n\nstruct kmalloc_info_struct {\n\tconst char *name[3];\n\tunsigned int size;\n};\n\nstruct kmalloced_param {\n\tstruct list_head list;\n\tchar val[0];\n};\n\nstruct kmap_ctrl {};\n\ntypedef struct kmem_cache *kmem_buckets[16];\n\nstruct reciprocal_value {\n\tu32 m;\n\tu8 sh1;\n\tu8 sh2;\n};\n\nstruct kmem_cache_order_objects {\n\tunsigned int x;\n};\n\nstruct kmem_cache_cpu;\n\nstruct kmem_cache_node;\n\nstruct kmem_cache {\n\tstruct kmem_cache_cpu *cpu_slab;\n\tslab_flags_t flags;\n\tlong unsigned int min_partial;\n\tunsigned int size;\n\tunsigned int object_size;\n\tstruct reciprocal_value reciprocal_size;\n\tunsigned int offset;\n\tunsigned int cpu_partial;\n\tunsigned int cpu_partial_slabs;\n\tstruct kmem_cache_order_objects oo;\n\tstruct kmem_cache_order_objects min;\n\tgfp_t allocflags;\n\tint refcount;\n\tvoid (*ctor)(void *);\n\tunsigned int inuse;\n\tunsigned int align;\n\tunsigned int red_left_pad;\n\tconst char *name;\n\tstruct list_head list;\n\tstruct kobject kobj;\n\tunsigned int remote_node_defrag_ratio;\n\tstruct kmem_cache_node *node[64];\n};\n\nstruct kmem_cache_args {\n\tunsigned int align;\n\tunsigned int useroffset;\n\tunsigned int usersize;\n\tunsigned int freeptr_offset;\n\tbool use_freeptr_offset;\n\tvoid (*ctor)(void *);\n};\n\nstruct kmem_cache_cpu {\n\tunion {\n\t\tstruct {\n\t\t\tvoid **freelist;\n\t\t\tlong unsigned int tid;\n\t\t};\n\t\tfreelist_aba_t freelist_tid;\n\t};\n\tstruct slab *slab;\n\tstruct slab *partial;\n\tlocal_lock_t lock;\n};\n\nunion kmem_cache_iter_priv {\n\tstruct bpf_iter_kmem_cache it;\n\tstruct bpf_iter_kmem_cache_kern kit;\n};\n\nstruct kmem_cache_node {\n\tspinlock_t list_lock;\n\tlong unsigned int nr_partial;\n\tstruct list_head partial;\n\tatomic_long_t nr_slabs;\n\tatomic_long_t total_objects;\n\tstruct list_head full;\n};\n\nstruct kmem_obj_info {\n\tvoid *kp_ptr;\n\tstruct slab *kp_slab;\n\tvoid *kp_objp;\n\tlong unsigned int kp_data_offset;\n\tstruct kmem_cache *kp_slab_cache;\n\tvoid *kp_ret;\n\tvoid *kp_stack[16];\n\tvoid *kp_free_stack[16];\n};\n\nstruct kmsg_dump_detail {\n\tenum kmsg_dump_reason reason;\n\tconst char *description;\n};\n\nstruct kmsg_dump_iter {\n\tu64 cur_seq;\n\tu64 next_seq;\n};\n\nstruct knfsd_fh {\n\tunsigned int fh_size;\n\tunion {\n\t\tchar fh_raw[128];\n\t\tstruct {\n\t\t\tu8 fh_version;\n\t\t\tu8 fh_auth_type;\n\t\t\tu8 fh_fsid_type;\n\t\t\tu8 fh_fileid_type;\n\t\t\tu32 fh_fsid[0];\n\t\t};\n\t};\n};\n\nstruct probe;\n\nstruct kobj_map {\n\tstruct probe *probes[255];\n\tstruct mutex *lock;\n};\n\nstruct kobj_ns_type_operations {\n\tenum kobj_ns_type type;\n\tbool (*current_may_mount)(void);\n\tvoid * (*grab_current_ns)(void);\n\tconst void * (*netlink_ns)(struct sock *);\n\tconst void * (*initial_ns)(void);\n\tvoid (*drop_ns)(void *);\n};\n\nstruct kparam_array {\n\tunsigned int max;\n\tunsigned int elemsize;\n\tunsigned int *num;\n\tconst struct kernel_param_ops *ops;\n\tvoid *elem;\n};\n\nstruct kparam_string {\n\tunsigned int maxlen;\n\tchar *string;\n};\n\nstruct kpp_request;\n\nstruct kpp_alg {\n\tint (*set_secret)(struct crypto_kpp *, const void *, unsigned int);\n\tint (*generate_public_key)(struct kpp_request *);\n\tint (*compute_shared_secret)(struct kpp_request *);\n\tunsigned int (*max_size)(struct crypto_kpp *);\n\tint (*init)(struct crypto_kpp *);\n\tvoid (*exit)(struct crypto_kpp *);\n\tstruct crypto_alg base;\n};\n\nstruct kpp_instance {\n\tvoid (*free)(struct kpp_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[48];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct kpp_alg alg;\n\t};\n};\n\nstruct kpp_request {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int src_len;\n\tunsigned int dst_len;\n\tvoid *__ctx[0];\n};\n\nstruct kpp_secret {\n\tshort unsigned int type;\n\tshort unsigned int len;\n};\n\nstruct kpp_testvec {\n\tconst unsigned char *secret;\n\tconst unsigned char *b_secret;\n\tconst unsigned char *b_public;\n\tconst unsigned char *expected_a_public;\n\tconst unsigned char *expected_ss;\n\tshort unsigned int secret_size;\n\tshort unsigned int b_secret_size;\n\tshort unsigned int b_public_size;\n\tshort unsigned int expected_a_public_size;\n\tshort unsigned int expected_ss_size;\n\tbool genkey;\n};\n\nstruct kprobe;\n\ntypedef int (*kprobe_pre_handler_t)(struct kprobe *, struct pt_regs *);\n\ntypedef void (*kprobe_post_handler_t)(struct kprobe *, struct pt_regs *, long unsigned int);\n\nstruct kprobe {\n\tstruct hlist_node hlist;\n\tstruct list_head list;\n\tlong unsigned int nmissed;\n\tkprobe_opcode_t *addr;\n\tconst char *symbol_name;\n\tunsigned int offset;\n\tkprobe_pre_handler_t pre_handler;\n\tkprobe_post_handler_t post_handler;\n\tkprobe_opcode_t opcode;\n\tstruct arch_specific_insn ainsn;\n\tu32 flags;\n};\n\nstruct krb5_ctx {\n\tint initiate;\n\tu32 enctype;\n\tu32 flags;\n\tconst struct gss_krb5_enctype *gk5e;\n\tstruct crypto_sync_skcipher *enc;\n\tstruct crypto_sync_skcipher *seq;\n\tstruct crypto_sync_skcipher *acceptor_enc;\n\tstruct crypto_sync_skcipher *initiator_enc;\n\tstruct crypto_sync_skcipher *acceptor_enc_aux;\n\tstruct crypto_sync_skcipher *initiator_enc_aux;\n\tstruct crypto_ahash *acceptor_sign;\n\tstruct crypto_ahash *initiator_sign;\n\tstruct crypto_ahash *initiator_integ;\n\tstruct crypto_ahash *acceptor_integ;\n\tu8 Ksess[32];\n\tu8 cksum[32];\n\tatomic_t seq_send;\n\tatomic64_t seq_send64;\n\ttime64_t endtime;\n\tstruct xdr_netobj mech_used;\n};\n\nstruct kset_uevent_ops;\n\nstruct kset {\n\tstruct list_head list;\n\tspinlock_t list_lock;\n\tstruct kobject kobj;\n\tconst struct kset_uevent_ops *uevent_ops;\n};\n\nstruct kset_uevent_ops {\n\tint (* const filter)(const struct kobject *);\n\tconst char * (* const name)(const struct kobject *);\n\tint (* const uevent)(const struct kobject *, struct kobj_uevent_env *);\n};\n\nstruct ksignal {\n\tstruct k_sigaction ka;\n\tkernel_siginfo_t info;\n\tint sig;\n};\n\nstruct ksm_rmap_item;\n\nstruct ksm_mm_slot {\n\tstruct mm_slot slot;\n\tstruct ksm_rmap_item *rmap_list;\n};\n\nstruct ksm_stable_node;\n\nstruct ksm_rmap_item {\n\tstruct ksm_rmap_item *rmap_list;\n\tunion {\n\t\tstruct anon_vma *anon_vma;\n\t\tint nid;\n\t};\n\tstruct mm_struct *mm;\n\tlong unsigned int address;\n\tunsigned int oldchecksum;\n\trmap_age_t age;\n\trmap_age_t remaining_skips;\n\tunion {\n\t\tstruct rb_node node;\n\t\tstruct {\n\t\t\tstruct ksm_stable_node *head;\n\t\t\tstruct hlist_node hlist;\n\t\t};\n\t};\n};\n\nstruct ksm_scan {\n\tstruct ksm_mm_slot *mm_slot;\n\tlong unsigned int address;\n\tstruct ksm_rmap_item **rmap_list;\n\tlong unsigned int seqnr;\n};\n\nstruct ksm_stable_node {\n\tunion {\n\t\tstruct rb_node node;\n\t\tstruct {\n\t\t\tstruct list_head *head;\n\t\t\tstruct {\n\t\t\t\tstruct hlist_node hlist_dup;\n\t\t\t\tstruct list_head list;\n\t\t\t};\n\t\t};\n\t};\n\tstruct hlist_head hlist;\n\tunion {\n\t\tlong unsigned int kpfn;\n\t\tlong unsigned int chain_prune_time;\n\t};\n\tint rmap_hlist_len;\n\tint nid;\n};\n\nstruct kstat {\n\tu32 result_mask;\n\tumode_t mode;\n\tunsigned int nlink;\n\tuint32_t blksize;\n\tu64 attributes;\n\tu64 attributes_mask;\n\tu64 ino;\n\tdev_t dev;\n\tdev_t rdev;\n\tkuid_t uid;\n\tkgid_t gid;\n\tloff_t size;\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tstruct timespec64 ctime;\n\tstruct timespec64 btime;\n\tu64 blocks;\n\tu64 mnt_id;\n\tu64 change_cookie;\n\tu64 subvol;\n\tu32 dio_mem_align;\n\tu32 dio_offset_align;\n\tu32 dio_read_offset_align;\n\tu32 atomic_write_unit_min;\n\tu32 atomic_write_unit_max;\n\tu32 atomic_write_segments_max;\n};\n\nstruct kstatfs {\n\tlong int f_type;\n\tlong int f_bsize;\n\tu64 f_blocks;\n\tu64 f_bfree;\n\tu64 f_bavail;\n\tu64 f_files;\n\tu64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\tlong int f_namelen;\n\tlong int f_frsize;\n\tlong int f_flags;\n\tlong int f_spare[4];\n};\n\nstruct statmount {\n\t__u32 size;\n\t__u32 mnt_opts;\n\t__u64 mask;\n\t__u32 sb_dev_major;\n\t__u32 sb_dev_minor;\n\t__u64 sb_magic;\n\t__u32 sb_flags;\n\t__u32 fs_type;\n\t__u64 mnt_id;\n\t__u64 mnt_parent_id;\n\t__u32 mnt_id_old;\n\t__u32 mnt_parent_id_old;\n\t__u64 mnt_attr;\n\t__u64 mnt_propagation;\n\t__u64 mnt_peer_group;\n\t__u64 mnt_master;\n\t__u64 propagate_from;\n\t__u32 mnt_root;\n\t__u32 mnt_point;\n\t__u64 mnt_ns_id;\n\t__u32 fs_subtype;\n\t__u32 sb_source;\n\t__u32 opt_num;\n\t__u32 opt_array;\n\t__u32 opt_sec_num;\n\t__u32 opt_sec_array;\n\t__u64 __spare2[46];\n\tchar str[0];\n};\n\nstruct seq_file {\n\tchar *buf;\n\tsize_t size;\n\tsize_t from;\n\tsize_t count;\n\tsize_t pad_until;\n\tloff_t index;\n\tloff_t read_pos;\n\tstruct mutex lock;\n\tconst struct seq_operations *op;\n\tint poll_event;\n\tconst struct file *file;\n\tvoid *private;\n};\n\nstruct kstatmount {\n\tstruct statmount *buf;\n\tsize_t bufsize;\n\tstruct vfsmount *mnt;\n\tu64 mask;\n\tstruct path root;\n\tstruct statmount sm;\n\tstruct seq_file seq;\n};\n\nstruct ktermios {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n\tspeed_t c_ispeed;\n\tspeed_t c_ospeed;\n};\n\nstruct kthread {\n\tlong unsigned int flags;\n\tunsigned int cpu;\n\tunsigned int node;\n\tint started;\n\tint result;\n\tint (*threadfn)(void *);\n\tvoid *data;\n\tstruct completion parked;\n\tstruct completion exited;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tchar *full_name;\n\tstruct task_struct *task;\n\tstruct list_head hotplug_node;\n\tstruct cpumask *preferred_affinity;\n};\n\nstruct kthread_create_info {\n\tchar *full_name;\n\tint (*threadfn)(void *);\n\tvoid *data;\n\tint node;\n\tstruct task_struct *result;\n\tstruct completion *done;\n\tstruct list_head list;\n};\n\nstruct kthread_delayed_work {\n\tstruct kthread_work work;\n\tstruct timer_list timer;\n};\n\nstruct kthread_flush_work {\n\tstruct kthread_work work;\n\tstruct completion done;\n};\n\nstruct kthread_worker {\n\tunsigned int flags;\n\traw_spinlock_t lock;\n\tstruct list_head work_list;\n\tstruct list_head delayed_work_list;\n\tstruct task_struct *task;\n\tstruct kthread_work *current_work;\n};\n\nstruct kvfree_rcu_bulk_data {\n\tstruct list_head list;\n\tstruct rcu_gp_oldstate gp_snap;\n\tlong unsigned int nr_records;\n\tvoid *records[0];\n};\n\nstruct kvm_memslots {\n\tu64 generation;\n\tatomic_long_t last_used_slot;\n\tstruct rb_root_cached hva_tree;\n\tstruct rb_root gfn_tree;\n\tstruct hlist_head id_hash[128];\n\tint node_idx;\n};\n\nstruct kvm_vm_stat_generic {\n\tu64 remote_tlb_flush;\n\tu64 remote_tlb_flush_requests;\n};\n\nstruct kvm_vm_stat {\n\tstruct kvm_vm_stat_generic generic;\n\tu64 pages;\n\tu64 hugepages;\n\tu64 ipi_read_exits;\n\tu64 ipi_write_exits;\n\tu64 eiointc_read_exits;\n\tu64 eiointc_write_exits;\n\tu64 pch_pic_read_exits;\n\tu64 pch_pic_write_exits;\n};\n\nstruct kvm_phyid_map;\n\nstruct kvm_context;\n\nstruct loongarch_ipi;\n\nstruct loongarch_eiointc;\n\nstruct loongarch_pch_pic;\n\nstruct kvm_arch {\n\tkvm_pte_t *pgd;\n\tlong unsigned int gpa_size;\n\tlong unsigned int invalid_ptes[4];\n\tunsigned int pte_shifts[4];\n\tunsigned int root_level;\n\tspinlock_t phyid_map_lock;\n\tstruct kvm_phyid_map *phyid_map;\n\tlong unsigned int pv_features;\n\ts64 time_offset;\n\tstruct kvm_context *vmcs;\n\tstruct loongarch_ipi *ipi;\n\tstruct loongarch_eiointc *eiointc;\n\tstruct loongarch_pch_pic *pch_pic;\n};\n\nstruct mmu_notifier_ops;\n\nstruct mmu_notifier {\n\tstruct hlist_node hlist;\n\tconst struct mmu_notifier_ops *ops;\n\tstruct mm_struct *mm;\n\tstruct callback_head rcu;\n\tunsigned int users;\n};\n\nstruct kvm_io_bus;\n\nstruct kvm_coalesced_mmio_ring;\n\nstruct kvm_irq_routing_table;\n\nstruct kvm_stat_data;\n\nstruct kvm {\n\tspinlock_t mmu_lock;\n\tstruct mutex slots_lock;\n\tstruct mutex slots_arch_lock;\n\tstruct mm_struct *mm;\n\tlong unsigned int nr_memslot_pages;\n\tstruct kvm_memslots __memslots[2];\n\tstruct kvm_memslots *memslots[1];\n\tstruct xarray vcpu_array;\n\tatomic_t nr_memslots_dirty_logging;\n\tspinlock_t mn_invalidate_lock;\n\tlong unsigned int mn_active_invalidate_count;\n\tstruct rcuwait mn_memslots_update_rcuwait;\n\tspinlock_t gpc_lock;\n\tstruct list_head gpc_list;\n\tatomic_t online_vcpus;\n\tint max_vcpus;\n\tint created_vcpus;\n\tint last_boosted_vcpu;\n\tstruct list_head vm_list;\n\tstruct mutex lock;\n\tstruct kvm_io_bus *buses[5];\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head items;\n\t\tstruct list_head resampler_list;\n\t\tstruct mutex resampler_lock;\n\t} irqfds;\n\tstruct list_head ioeventfds;\n\tstruct kvm_vm_stat stat;\n\tstruct kvm_arch arch;\n\trefcount_t users_count;\n\tstruct kvm_coalesced_mmio_ring *coalesced_mmio_ring;\n\tspinlock_t ring_lock;\n\tstruct list_head coalesced_zones;\n\tstruct mutex irq_lock;\n\tstruct kvm_irq_routing_table *irq_routing;\n\tstruct hlist_head irq_ack_notifier_list;\n\tstruct mmu_notifier mmu_notifier;\n\tlong unsigned int mmu_invalidate_seq;\n\tlong int mmu_invalidate_in_progress;\n\tgfn_t mmu_invalidate_range_start;\n\tgfn_t mmu_invalidate_range_end;\n\tstruct list_head devices;\n\tu64 manual_dirty_log_protect;\n\tstruct dentry *debugfs_dentry;\n\tstruct kvm_stat_data **debugfs_stat_data;\n\tstruct srcu_struct srcu;\n\tstruct srcu_struct irq_srcu;\n\tpid_t userspace_pid;\n\tbool override_halt_poll_ns;\n\tunsigned int max_halt_poll_ns;\n\tu32 dirty_ring_size;\n\tbool dirty_ring_with_bitmap;\n\tbool vm_bugged;\n\tbool vm_dead;\n\tchar stats_id[48];\n};\n\nstruct kvm_arch_memory_slot {\n\tlong unsigned int flags;\n};\n\nstruct kvm_coalesced_mmio {\n\t__u64 phys_addr;\n\t__u32 len;\n\tunion {\n\t\t__u32 pad;\n\t\t__u32 pio;\n\t};\n\t__u8 data[8];\n};\n\nstruct kvm_coalesced_mmio_ring {\n\t__u32 first;\n\t__u32 last;\n\tstruct kvm_coalesced_mmio coalesced_mmio[0];\n};\n\nstruct kvm_vcpu;\n\nstruct kvm_context {\n\tlong unsigned int vpid_cache;\n\tstruct kvm_vcpu *last_vcpu;\n\tu64 perf_ctrl[16];\n\tu64 perf_cntr[16];\n};\n\nstruct kvm_debug_exit_arch {};\n\nstruct kvm_dirty_gfn {\n\t__u32 flags;\n\t__u32 slot;\n\t__u64 offset;\n};\n\nstruct kvm_dirty_ring {\n\tu32 dirty_index;\n\tu32 reset_index;\n\tu32 size;\n\tu32 soft_limit;\n\tstruct kvm_dirty_gfn *dirty_gfns;\n\tint index;\n};\n\nstruct kvm_hyperv_exit {\n\t__u32 type;\n\t__u32 pad1;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 msr;\n\t\t\t__u32 pad2;\n\t\t\t__u64 control;\n\t\t\t__u64 evt_page;\n\t\t\t__u64 msg_page;\n\t\t} synic;\n\t\tstruct {\n\t\t\t__u64 input;\n\t\t\t__u64 result;\n\t\t\t__u64 params[2];\n\t\t} hcall;\n\t\tstruct {\n\t\t\t__u32 msr;\n\t\t\t__u32 pad2;\n\t\t\t__u64 control;\n\t\t\t__u64 status;\n\t\t\t__u64 send_page;\n\t\t\t__u64 recv_page;\n\t\t\t__u64 pending_page;\n\t\t} syndbg;\n\t} u;\n};\n\nstruct kvm_io_device;\n\nstruct kvm_io_range {\n\tgpa_t addr;\n\tint len;\n\tstruct kvm_io_device *dev;\n};\n\nstruct kvm_io_bus {\n\tint dev_count;\n\tint ioeventfd_count;\n\tstruct kvm_io_range range[0];\n};\n\nstruct kvm_io_device_ops;\n\nstruct kvm_io_device {\n\tconst struct kvm_io_device_ops *ops;\n};\n\nstruct kvm_io_device_ops {\n\tint (*read)(struct kvm_vcpu *, struct kvm_io_device *, gpa_t, int, void *);\n\tint (*write)(struct kvm_vcpu *, struct kvm_io_device *, gpa_t, int, const void *);\n\tvoid (*destructor)(struct kvm_io_device *);\n};\n\nstruct kvm_irq_routing_table {\n\tint chip[64];\n\tu32 nr_rt_entries;\n\tstruct hlist_head map[0];\n};\n\nstruct kvm_memory_slot {\n\tstruct hlist_node id_node[2];\n\tstruct interval_tree_node hva_node[2];\n\tstruct rb_node gfn_node[2];\n\tgfn_t base_gfn;\n\tlong unsigned int npages;\n\tlong unsigned int *dirty_bitmap;\n\tstruct kvm_arch_memory_slot arch;\n\tlong unsigned int userspace_addr;\n\tu32 flags;\n\tshort int id;\n\tu16 as_id;\n};\n\nstruct kvm_mmio_fragment {\n\tgpa_t gpa;\n\tvoid *data;\n\tunsigned int len;\n};\n\nstruct kvm_mmu_memory_cache {\n\tgfp_t gfp_zero;\n\tgfp_t gfp_custom;\n\tu64 init_value;\n\tstruct kmem_cache *kmem_cache;\n\tint capacity;\n\tint nobjs;\n\tvoid **objects;\n};\n\nstruct kvm_mp_state {\n\t__u32 mp_state;\n};\n\nstruct kvm_phyid_info {\n\tstruct kvm_vcpu *vcpu;\n\tbool enabled;\n};\n\nstruct kvm_phyid_map {\n\tint max_phyid;\n\tstruct kvm_phyid_info phys_map[256];\n};\n\nstruct kvm_xen_exit {\n\t__u32 type;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 longmode;\n\t\t\t__u32 cpl;\n\t\t\t__u64 input;\n\t\t\t__u64 result;\n\t\t\t__u64 params[6];\n\t\t} hcall;\n\t} u;\n};\n\nstruct kvm_sync_regs {};\n\nstruct kvm_run {\n\t__u8 request_interrupt_window;\n\t__u8 immediate_exit__unsafe;\n\t__u8 padding1[6];\n\t__u32 exit_reason;\n\t__u8 ready_for_interrupt_injection;\n\t__u8 if_flag;\n\t__u16 flags;\n\t__u64 cr8;\n\t__u64 apic_base;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 hardware_exit_reason;\n\t\t} hw;\n\t\tstruct {\n\t\t\t__u64 hardware_entry_failure_reason;\n\t\t\t__u32 cpu;\n\t\t} fail_entry;\n\t\tstruct {\n\t\t\t__u32 exception;\n\t\t\t__u32 error_code;\n\t\t} ex;\n\t\tstruct {\n\t\t\t__u8 direction;\n\t\t\t__u8 size;\n\t\t\t__u16 port;\n\t\t\t__u32 count;\n\t\t\t__u64 data_offset;\n\t\t} io;\n\t\tstruct {\n\t\t\tstruct kvm_debug_exit_arch arch;\n\t\t} debug;\n\t\tstruct {\n\t\t\t__u64 phys_addr;\n\t\t\t__u8 data[8];\n\t\t\t__u32 len;\n\t\t\t__u8 is_write;\n\t\t} mmio;\n\t\tstruct {\n\t\t\t__u64 phys_addr;\n\t\t\t__u8 data[8];\n\t\t\t__u32 len;\n\t\t\t__u8 is_write;\n\t\t} iocsr_io;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t\t__u64 ret;\n\t\t\tunion {\n\t\t\t\t__u64 flags;\n\t\t\t};\n\t\t} hypercall;\n\t\tstruct {\n\t\t\t__u64 rip;\n\t\t\t__u32 is_write;\n\t\t\t__u32 pad;\n\t\t} tpr_access;\n\t\tstruct {\n\t\t\t__u8 icptcode;\n\t\t\t__u16 ipa;\n\t\t\t__u32 ipb;\n\t\t} s390_sieic;\n\t\t__u64 s390_reset_flags;\n\t\tstruct {\n\t\t\t__u64 trans_exc_code;\n\t\t\t__u32 pgm_code;\n\t\t} s390_ucontrol;\n\t\tstruct {\n\t\t\t__u32 dcrn;\n\t\t\t__u32 data;\n\t\t\t__u8 is_write;\n\t\t} dcr;\n\t\tstruct {\n\t\t\t__u32 suberror;\n\t\t\t__u32 ndata;\n\t\t\t__u64 data[16];\n\t\t} internal;\n\t\tstruct {\n\t\t\t__u32 suberror;\n\t\t\t__u32 ndata;\n\t\t\t__u64 flags;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u8 insn_size;\n\t\t\t\t\t__u8 insn_bytes[15];\n\t\t\t\t};\n\t\t\t};\n\t\t} emulation_failure;\n\t\tstruct {\n\t\t\t__u64 gprs[32];\n\t\t} osi;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 ret;\n\t\t\t__u64 args[9];\n\t\t} papr_hcall;\n\t\tstruct {\n\t\t\t__u16 subchannel_id;\n\t\t\t__u16 subchannel_nr;\n\t\t\t__u32 io_int_parm;\n\t\t\t__u32 io_int_word;\n\t\t\t__u32 ipb;\n\t\t\t__u8 dequeued;\n\t\t} s390_tsch;\n\t\tstruct {\n\t\t\t__u32 epr;\n\t\t} epr;\n\t\tstruct {\n\t\t\t__u32 type;\n\t\t\t__u32 ndata;\n\t\t\tunion {\n\t\t\t\t__u64 data[16];\n\t\t\t};\n\t\t} system_event;\n\t\tstruct {\n\t\t\t__u64 addr;\n\t\t\t__u8 ar;\n\t\t\t__u8 reserved;\n\t\t\t__u8 fc;\n\t\t\t__u8 sel1;\n\t\t\t__u16 sel2;\n\t\t} s390_stsi;\n\t\tstruct {\n\t\t\t__u8 vector;\n\t\t} eoi;\n\t\tstruct kvm_hyperv_exit hyperv;\n\t\tstruct {\n\t\t\t__u64 esr_iss;\n\t\t\t__u64 fault_ipa;\n\t\t} arm_nisv;\n\t\tstruct {\n\t\t\t__u8 error;\n\t\t\t__u8 pad[7];\n\t\t\t__u32 reason;\n\t\t\t__u32 index;\n\t\t\t__u64 data;\n\t\t} msr;\n\t\tstruct kvm_xen_exit xen;\n\t\tstruct {\n\t\t\tlong unsigned int extension_id;\n\t\t\tlong unsigned int function_id;\n\t\t\tlong unsigned int args[6];\n\t\t\tlong unsigned int ret[2];\n\t\t} riscv_sbi;\n\t\tstruct {\n\t\t\tlong unsigned int csr_num;\n\t\t\tlong unsigned int new_value;\n\t\t\tlong unsigned int write_mask;\n\t\t\tlong unsigned int ret_value;\n\t\t} riscv_csr;\n\t\tstruct {\n\t\t\t__u32 flags;\n\t\t} notify;\n\t\tstruct {\n\t\t\t__u64 flags;\n\t\t\t__u64 gpa;\n\t\t\t__u64 size;\n\t\t} memory_fault;\n\t\tchar padding[256];\n\t};\n\t__u64 kvm_valid_regs;\n\t__u64 kvm_dirty_regs;\n\tunion {\n\t\tstruct kvm_sync_regs regs;\n\t\tchar padding[2048];\n\t} s;\n};\n\nstruct kvm_stat_data {\n\tstruct kvm *kvm;\n\tconst struct _kvm_stats_desc *desc;\n\tenum kvm_stat_kind kind;\n};\n\nstruct preempt_ops;\n\nstruct preempt_notifier {\n\tstruct hlist_node link;\n\tstruct preempt_ops *ops;\n};\n\nstruct loongarch_fpu {\n\tuint64_t fcc;\n\tuint32_t fcsr;\n\tuint32_t ftop;\n\tunion fpureg fpr[32];\n};\n\nstruct loongarch_lbt {\n\tlong unsigned int scr0;\n\tlong unsigned int scr1;\n\tlong unsigned int scr2;\n\tlong unsigned int scr3;\n\tlong unsigned int eflags;\n};\n\nstruct loongarch_csrs;\n\nstruct kvm_vcpu_arch {\n\tlong unsigned int host_eentry;\n\tlong unsigned int guest_eentry;\n\tint (*handle_exit)(struct kvm_run *, struct kvm_vcpu *);\n\tlong unsigned int host_sp;\n\tlong unsigned int host_tp;\n\tlong unsigned int host_pgd;\n\tlong unsigned int badi;\n\tlong unsigned int badv;\n\tlong unsigned int host_ecfg;\n\tlong unsigned int host_estat;\n\tlong unsigned int host_percpu;\n\tlong unsigned int gprs[32];\n\tlong unsigned int pc;\n\tunsigned int aux_inuse;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct loongarch_fpu fpu;\n\tstruct loongarch_lbt lbt;\n\tstruct loongarch_csrs *csr;\n\tint max_pmu_csrid;\n\tu32 io_gpr;\n\tu32 count_ctl;\n\tstruct hrtimer swtimer;\n\tlong unsigned int irq_pending;\n\tlong unsigned int irq_clear;\n\tlong unsigned int exception_pending;\n\tunsigned int esubcode;\n\tstruct kvm_mmu_memory_cache mmu_page_cache;\n\tu64 vpid;\n\tgpa_t flush_gpa;\n\tu64 timer_mhz;\n\tktime_t expire;\n\tint last_sched_cpu;\n\tstruct kvm_mp_state mp_state;\n\tstruct ipi_state ipi_state;\n\tu32 cpucfg[21];\n\tstruct {\n\t\tu64 guest_addr;\n\t\tu64 last_steal;\n\t\tstruct gfn_to_hva_cache cache;\n\t} st;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kvm_vcpu_stat_generic {\n\tu64 halt_successful_poll;\n\tu64 halt_attempted_poll;\n\tu64 halt_poll_invalid;\n\tu64 halt_wakeup;\n\tu64 halt_poll_success_ns;\n\tu64 halt_poll_fail_ns;\n\tu64 halt_wait_ns;\n\tu64 halt_poll_success_hist[32];\n\tu64 halt_poll_fail_hist[32];\n\tu64 halt_wait_hist[32];\n\tu64 blocking;\n};\n\nstruct kvm_vcpu_stat {\n\tstruct kvm_vcpu_stat_generic generic;\n\tu64 int_exits;\n\tu64 idle_exits;\n\tu64 cpucfg_exits;\n\tu64 signal_exits;\n\tu64 hypercall_exits;\n};\n\nstruct kvm_vcpu {\n\tstruct kvm *kvm;\n\tstruct preempt_notifier preempt_notifier;\n\tint cpu;\n\tint vcpu_id;\n\tint vcpu_idx;\n\tint ____srcu_idx;\n\tint mode;\n\tu64 requests;\n\tlong unsigned int guest_debug;\n\tstruct mutex mutex;\n\tstruct kvm_run *run;\n\tstruct rcuwait wait;\n\tstruct pid *pid;\n\trwlock_t pid_lock;\n\tint sigset_active;\n\tsigset_t sigset;\n\tunsigned int halt_poll_ns;\n\tbool valid_wakeup;\n\tint mmio_needed;\n\tint mmio_read_completed;\n\tint mmio_is_write;\n\tint mmio_cur_fragment;\n\tint mmio_nr_fragments;\n\tstruct kvm_mmio_fragment mmio_fragments[2];\n\tbool wants_to_run;\n\tbool preempted;\n\tbool ready;\n\tbool scheduled_out;\n\tlong: 64;\n\tlong: 64;\n\tstruct kvm_vcpu_arch arch;\n\tstruct kvm_vcpu_stat stat;\n\tchar stats_id[48];\n\tstruct kvm_dirty_ring dirty_ring;\n\tstruct kvm_memory_slot *last_used_slot;\n\tu64 last_used_slot_gen;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kyber_cpu_latency {\n\tatomic_t buckets[48];\n};\n\nstruct kyber_ctx_queue {\n\tspinlock_t lock;\n\tstruct list_head rq_list[4];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbq_wait {\n\tstruct sbitmap_queue *sbq;\n\tstruct wait_queue_entry wait;\n};\n\nstruct kyber_hctx_data {\n\tspinlock_t lock;\n\tstruct list_head rqs[4];\n\tunsigned int cur_domain;\n\tunsigned int batching;\n\tstruct kyber_ctx_queue *kcqs;\n\tstruct sbitmap kcq_map[4];\n\tstruct sbq_wait domain_wait[4];\n\tstruct sbq_wait_state *domain_ws[4];\n\tatomic_t wait_index[4];\n};\n\nstruct kyber_queue_data {\n\tstruct request_queue *q;\n\tdev_t dev;\n\tstruct sbitmap_queue domain_tokens[4];\n\tunsigned int async_depth;\n\tstruct kyber_cpu_latency *cpu_latency;\n\tstruct timer_list timer;\n\tunsigned int latency_buckets[48];\n\tlong unsigned int latency_timeout[3];\n\tint domain_p99[3];\n\tu64 latency_targets[3];\n};\n\nstruct l2_fhdr {\n\tu32 l2_fhdr_status;\n\tu32 l2_fhdr_hash;\n\tu16 l2_fhdr_vlan_tag;\n\tu16 l2_fhdr_pkt_len;\n\tu16 l2_fhdr_tcp_udp_xsum;\n\tu16 l2_fhdr_ip_xsum;\n};\n\ntypedef int (*lookup_by_table_id_t)(struct net *, u32);\n\nstruct l3mdev_handler {\n\tlookup_by_table_id_t dev_lookup;\n};\n\nstruct l3mdev_ops {\n\tu32 (*l3mdev_fib_table)(const struct net_device *);\n\tstruct sk_buff * (*l3mdev_l3_rcv)(struct net_device *, struct sk_buff *, u16);\n\tstruct sk_buff * (*l3mdev_l3_out)(struct net_device *, struct sock *, struct sk_buff *, u16);\n\tstruct dst_entry * (*l3mdev_link_scope_lookup)(const struct net_device *, struct flowi6 *);\n};\n\nstruct label_it {\n\tint i;\n\tint j;\n};\n\nstruct lasx_context {\n\t__u64 regs[128];\n\t__u64 fcc;\n\t__u32 fcsr;\n};\n\nstruct latch_tree_ops {\n\tbool (*less)(struct latch_tree_node *, struct latch_tree_node *);\n\tint (*comp)(void *, struct latch_tree_node *);\n};\n\nstruct latch_tree_root {\n\tseqcount_latch_t seq;\n\tstruct rb_root tree[2];\n};\n\nstruct latched_seq {\n\tseqcount_latch_t latch;\n\tu64 val[2];\n};\n\nstruct laundry_time {\n\ttime64_t cutoff;\n\ttime64_t new_timeo;\n};\n\nstruct layout_verification {\n\tu32 mode;\n\tu64 start;\n\tu64 inval;\n\tu64 cowread;\n};\n\nstruct sched_domain;\n\nstruct lb_env {\n\tstruct sched_domain *sd;\n\tstruct rq *src_rq;\n\tint src_cpu;\n\tint dst_cpu;\n\tstruct rq *dst_rq;\n\tstruct cpumask *dst_grpmask;\n\tint new_dst_cpu;\n\tenum cpu_idle_type idle;\n\tlong int imbalance;\n\tstruct cpumask *cpus;\n\tunsigned int flags;\n\tunsigned int loop;\n\tunsigned int loop_break;\n\tunsigned int loop_max;\n\tenum fbq_type fbq_type;\n\tenum migration_type migration_type;\n\tstruct list_head tasks;\n};\n\nstruct lcd_properties {\n\tint max_contrast;\n};\n\nstruct lcd_ops;\n\nstruct lcd_device {\n\tstruct lcd_properties props;\n\tstruct mutex ops_lock;\n\tconst struct lcd_ops *ops;\n\tstruct mutex update_lock;\n\tstruct notifier_block fb_notif;\n\tstruct device dev;\n};\n\nstruct lcd_ops {\n\tint (*get_power)(struct lcd_device *);\n\tint (*set_power)(struct lcd_device *, int);\n\tint (*get_contrast)(struct lcd_device *);\n\tint (*set_contrast)(struct lcd_device *, int);\n\tint (*set_mode)(struct lcd_device *, u32, u32);\n\tbool (*controls_device)(struct lcd_device *, struct device *);\n};\n\nstruct ld_semaphore {\n\tatomic_long_t count;\n\traw_spinlock_t wait_lock;\n\tunsigned int wait_readers;\n\tstruct list_head read_wait;\n\tstruct list_head write_wait;\n};\n\nstruct ldsem_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n};\n\nstruct lease_manager_operations {\n\tbool (*lm_break)(struct file_lease *);\n\tint (*lm_change)(struct file_lease *, int, struct list_head *);\n\tvoid (*lm_setup)(struct file_lease *, void **);\n\tbool (*lm_breaker_owns_lease)(struct file_lease *);\n};\n\nstruct mc_subled;\n\nstruct led_classdev_mc {\n\tstruct led_classdev led_cdev;\n\tunsigned int num_colors;\n\tstruct mc_subled *subled_info;\n};\n\nstruct led_hw_trigger_type {\n\tint dummy;\n};\n\nstruct led_init_data {\n\tstruct fwnode_handle *fwnode;\n\tconst char *default_label;\n\tconst char *devicename;\n\tbool devname_mandatory;\n};\n\nstruct led_lookup_data {\n\tstruct list_head list;\n\tconst char *provider;\n\tconst char *dev_id;\n\tconst char *con_id;\n};\n\nstruct led_pattern {\n\tu32 delta_t;\n\tint brightness;\n};\n\nstruct led_properties {\n\tu32 color;\n\tbool color_present;\n\tconst char *function;\n\tu32 func_enum;\n\tbool func_enum_present;\n\tconst char *label;\n};\n\nstruct legacy_fs_context {\n\tchar *legacy_data;\n\tsize_t data_size;\n\tenum legacy_fs_param param_type;\n};\n\nstruct level_datum {\n\tstruct mls_level level;\n\tunsigned char isalias;\n};\n\nstruct limit_names {\n\tconst char *name;\n\tconst char *unit;\n};\n\nstruct linereq;\n\nstruct line {\n\tstruct gpio_desc *desc;\n\tstruct linereq *req;\n\tunsigned int irq;\n\tu64 edflags;\n\tu64 timestamp_ns;\n\tu32 req_seqno;\n\tu32 line_seqno;\n\tstruct delayed_work work;\n\tunsigned int sw_debounced;\n\tunsigned int level;\n};\n\nstruct linear_c {\n\tstruct dm_dev *dev;\n\tsector_t start;\n};\n\nstruct lineevent_state {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tstruct gpio_desc *desc;\n\tu32 eflags;\n\tint irq;\n\twait_queue_head_t wait;\n\tstruct notifier_block device_unregistered_nb;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpioevent_data *type;\n\t\t\tconst struct gpioevent_data *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpioevent_data *ptr;\n\t\t\tconst struct gpioevent_data *ptr_const;\n\t\t};\n\t\tstruct gpioevent_data buf[16];\n\t} events;\n\tu64 timestamp;\n};\n\nstruct linehandle_state {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tstruct gpio_desc *descs[64];\n\tu32 num_descs;\n};\n\nstruct lineinfo_changed_ctx {\n\tstruct work_struct work;\n\tstruct gpio_v2_line_info_changed chg;\n\tstruct gpio_device *gdev;\n\tstruct gpio_chardev_data *cdev;\n};\n\nstruct linereq {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tu32 num_lines;\n\twait_queue_head_t wait;\n\tstruct notifier_block device_unregistered_nb;\n\tu32 event_buffer_size;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpio_v2_line_event *type;\n\t\t\tconst struct gpio_v2_line_event *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpio_v2_line_event *ptr;\n\t\t\tconst struct gpio_v2_line_event *ptr_const;\n\t\t};\n\t\tstruct gpio_v2_line_event buf[0];\n\t} events;\n\tatomic_t seqno;\n\tstruct mutex config_mutex;\n\tstruct line lines[0];\n};\n\nstruct linger {\n\tint l_onoff;\n\tint l_linger;\n};\n\nstruct link_ctl_info {\n\tsnd_ctl_elem_type_t type;\n\tint count;\n\tint min_val;\n\tint max_val;\n};\n\nstruct snd_ctl_elem_id {\n\tunsigned int numid;\n\tsnd_ctl_elem_iface_t iface;\n\tunsigned int device;\n\tunsigned int subdevice;\n\tunsigned char name[44];\n\tunsigned int index;\n};\n\nstruct snd_ctl_elem_info;\n\ntypedef int snd_kcontrol_info_t(struct snd_kcontrol *, struct snd_ctl_elem_info *);\n\ntypedef int snd_kcontrol_get_t(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\ntypedef int snd_kcontrol_put_t(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\ntypedef int snd_kcontrol_tlv_rw_t(struct snd_kcontrol *, int, unsigned int, unsigned int *);\n\nstruct snd_ctl_file;\n\nstruct snd_kcontrol_volatile {\n\tstruct snd_ctl_file *owner;\n\tunsigned int access;\n};\n\nstruct snd_kcontrol {\n\tstruct list_head list;\n\tstruct snd_ctl_elem_id id;\n\tunsigned int count;\n\tsnd_kcontrol_info_t *info;\n\tsnd_kcontrol_get_t *get;\n\tsnd_kcontrol_put_t *put;\n\tunion {\n\t\tsnd_kcontrol_tlv_rw_t *c;\n\t\tconst unsigned int *p;\n\t} tlv;\n\tlong unsigned int private_value;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_kcontrol *);\n\tstruct snd_kcontrol_volatile vd[0];\n};\n\nstruct link_master;\n\nstruct link_follower {\n\tstruct list_head list;\n\tstruct link_master *master;\n\tstruct link_ctl_info info;\n\tint vals[2];\n\tunsigned int flags;\n\tstruct snd_kcontrol *kctl;\n\tstruct snd_kcontrol follower;\n};\n\nstruct link_free {\n\tunion {\n\t\tlong unsigned int next;\n\t\tlong unsigned int handle;\n\t};\n};\n\nstruct link_master {\n\tstruct list_head followers;\n\tstruct link_ctl_info info;\n\tint val;\n\tunsigned int tlv[4];\n\tvoid (*hook)(void *, int);\n\tvoid *hook_private_data;\n};\n\nstruct link_mode_info {\n\tint speed;\n\tu8 lanes;\n\tu8 duplex;\n};\n\nstruct linked_page {\n\tstruct linked_page *next;\n\tchar data[16376];\n};\n\nstruct linked_reg {\n\tu8 frameno;\n\tunion {\n\t\tu8 spi;\n\t\tu8 regno;\n\t};\n\tbool is_reg;\n};\n\nstruct linked_regs {\n\tint cnt;\n\tstruct linked_reg entries[6];\n};\n\nstruct linkinfo_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_link_ksettings ksettings;\n\tstruct ethtool_link_settings *lsettings;\n};\n\nstruct linkmodes_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_link_ksettings ksettings;\n\tstruct ethtool_link_settings *lsettings;\n\tbool peer_empty;\n};\n\nstruct linkstate_reply_data {\n\tstruct ethnl_reply_data base;\n\tint link;\n\tint sqi;\n\tint sqi_max;\n\tstruct ethtool_link_ext_stats link_stats;\n\tbool link_ext_state_provided;\n\tstruct ethtool_link_ext_state_info ethtool_link_ext_state_info;\n};\n\nstruct linux_binprm;\n\nstruct linux_binfmt {\n\tstruct list_head lh;\n\tstruct module *module;\n\tint (*load_binary)(struct linux_binprm *);\n\tint (*load_shlib)(struct file *);\n\tint (*core_dump)(struct coredump_params *);\n\tlong unsigned int min_coredump;\n};\n\nstruct linux_binprm {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int vma_pages;\n\tlong unsigned int argmin;\n\tstruct mm_struct *mm;\n\tlong unsigned int p;\n\tunsigned int have_execfd: 1;\n\tunsigned int execfd_creds: 1;\n\tunsigned int secureexec: 1;\n\tunsigned int point_of_no_return: 1;\n\tunsigned int comm_from_dentry: 1;\n\tunsigned int is_check: 1;\n\tstruct file *executable;\n\tstruct file *interpreter;\n\tstruct file *file;\n\tstruct cred *cred;\n\tint unsafe;\n\tunsigned int per_clear;\n\tint argc;\n\tint envc;\n\tconst char *filename;\n\tconst char *interp;\n\tconst char *fdpath;\n\tunsigned int interp_flags;\n\tint execfd;\n\tlong unsigned int loader;\n\tlong unsigned int exec;\n\tstruct rlimit rlim_stack;\n\tchar buf[256];\n};\n\nstruct linux_binprm__safe_trusted {\n\tstruct file *file;\n};\n\nstruct linux_dirent {\n\tlong unsigned int d_ino;\n\tlong unsigned int d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[0];\n};\n\nstruct linux_dirent64 {\n\tu64 d_ino;\n\ts64 d_off;\n\tshort unsigned int d_reclen;\n\tunsigned char d_type;\n\tchar d_name[0];\n};\n\nstruct linux_efi_initrd {\n\tlong unsigned int base;\n\tlong unsigned int size;\n};\n\nstruct linux_efi_memreserve {\n\tint size;\n\tatomic_t count;\n\tphys_addr_t next;\n\tstruct {\n\t\tphys_addr_t base;\n\t\tphys_addr_t size;\n\t} entry[0];\n};\n\nstruct linux_efi_random_seed {\n\tu32 size;\n\tu8 bits[0];\n};\n\nstruct linux_efi_tpm_eventlog {\n\tu32 size;\n\tu32 final_events_preboot_size;\n\tu8 version;\n\tu8 log[0];\n};\n\nstruct linux_logo {\n\tint type;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int clutsize;\n\tconst unsigned char *clut;\n\tconst unsigned char *data;\n};\n\nstruct linux_mib {\n\tlong unsigned int mibs[133];\n};\n\nstruct linux_tls_mib {\n\tlong unsigned int mibs[18];\n};\n\nstruct liointc_priv;\n\nstruct liointc_handler_data {\n\tstruct liointc_priv *priv;\n\tu32 parent_int_map;\n};\n\nstruct liointc_priv {\n\tstruct irq_chip_generic *gc;\n\tstruct liointc_handler_data handler[4];\n\tvoid *core_isr[4];\n\tu8 map_cache[32];\n\tu32 int_pol;\n\tu32 int_edge;\n\tbool has_lpc_irq_errata;\n};\n\nstruct list_lru_node;\n\nstruct list_lru {\n\tstruct list_lru_node *node;\n\tstruct list_head list;\n\tint shrinker_id;\n\tbool memcg_aware;\n\tstruct xarray xa;\n};\n\nstruct list_lru_one {\n\tstruct list_head list;\n\tlong int nr_items;\n\tspinlock_t lock;\n};\n\nstruct list_lru_memcg {\n\tstruct callback_head rcu;\n\tstruct list_lru_one node[0];\n};\n\nstruct list_lru_node {\n\tstruct list_lru_one lru;\n\tatomic_long_t nr_items;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct listener {\n\tstruct list_head list;\n\tpid_t pid;\n\tchar valid;\n};\n\nstruct listener_list {\n\tstruct rw_semaphore sem;\n\tstruct list_head list;\n};\n\nstruct listeners {\n\tstruct callback_head rcu;\n\tlong unsigned int masks[0];\n};\n\nstruct load_info {\n\tconst char *name;\n\tstruct module *mod;\n\tElf64_Ehdr *hdr;\n\tlong unsigned int len;\n\tElf64_Shdr *sechdrs;\n\tchar *secstrings;\n\tchar *strtab;\n\tlong unsigned int symoffs;\n\tlong unsigned int stroffs;\n\tlong unsigned int init_typeoffs;\n\tlong unsigned int core_typeoffs;\n\tbool sig_ok;\n\tlong unsigned int mod_kallsyms_init_off;\n\tstruct page **pages;\n\tunsigned int max_pages;\n\tunsigned int used_pages;\n\tstruct {\n\t\tunsigned int sym;\n\t\tunsigned int str;\n\t\tunsigned int mod;\n\t\tunsigned int vers;\n\t\tunsigned int info;\n\t\tunsigned int pcpu;\n\t\tunsigned int vers_ext_crc;\n\t\tunsigned int vers_ext_name;\n\t} index;\n};\n\nstruct location;\n\nstruct loc_track {\n\tlong unsigned int max;\n\tlong unsigned int count;\n\tstruct location *loc;\n\tloff_t idx;\n};\n\nstruct local_ports {\n\tu32 range;\n\tbool warned;\n};\n\nstruct location {\n\tdepot_stack_handle_t handle;\n\tlong unsigned int count;\n\tlong unsigned int addr;\n\tlong unsigned int waste;\n\tlong long int sum_time;\n\tlong int min_time;\n\tlong int max_time;\n\tlong int min_pid;\n\tlong int max_pid;\n\tlong unsigned int cpus[4];\n\tnodemask_t nodes;\n};\n\nstruct lock_manager {\n\tstruct list_head list;\n\tbool block_opens;\n};\n\nstruct lock_manager_operations {\n\tvoid *lm_mod_owner;\n\tfl_owner_t (*lm_get_owner)(fl_owner_t);\n\tvoid (*lm_put_owner)(fl_owner_t);\n\tvoid (*lm_notify)(struct file_lock *);\n\tint (*lm_grant)(struct file_lock *, int);\n\tbool (*lm_lock_expirable)(struct file_lock *);\n\tvoid (*lm_expire_lock)(void);\n};\n\nstruct lockd_net {\n\tunsigned int nlmsvc_users;\n\tlong unsigned int next_gc;\n\tlong unsigned int nrhosts;\n\tstruct delayed_work grace_period_end;\n\tstruct lock_manager lockd_manager;\n\tstruct list_head nsm_handles;\n};\n\nstruct locks_iterator {\n\tint li_cpu;\n\tloff_t li_pos;\n};\n\nstruct logic_pio_host_ops {\n\tu32 (*in)(void *, long unsigned int, size_t);\n\tvoid (*out)(void *, long unsigned int, u32, size_t);\n\tu32 (*ins)(void *, long unsigned int, void *, size_t, unsigned int);\n\tvoid (*outs)(void *, long unsigned int, const void *, size_t, unsigned int);\n};\n\nstruct logic_pio_hwaddr {\n\tstruct list_head list;\n\tconst struct fwnode_handle *fwnode;\n\tresource_size_t hw_start;\n\tresource_size_t io_start;\n\tresource_size_t size;\n\tlong unsigned int flags;\n\tvoid *hostdata;\n\tconst struct logic_pio_host_ops *ops;\n};\n\nstruct logicalVolDesc {\n\tstruct tag descTag;\n\t__le32 volDescSeqNum;\n\tstruct charspec descCharSet;\n\tdstring logicalVolIdent[128];\n\t__le32 logicalBlockSize;\n\tstruct regid domainIdent;\n\tuint8_t logicalVolContentsUse[16];\n\t__le32 mapTableLength;\n\t__le32 numPartitionMaps;\n\tstruct regid impIdent;\n\tuint8_t impUse[128];\n\tstruct extent_ad integritySeqExt;\n\tuint8_t partitionMaps[0];\n};\n\nstruct logicalVolHeaderDesc {\n\t__le64 uniqueID;\n\tuint8_t reserved[24];\n};\n\nstruct logicalVolIntegrityDesc {\n\tstruct tag descTag;\n\tstruct timestamp recordingDateAndTime;\n\t__le32 integrityType;\n\tstruct extent_ad nextIntegrityExt;\n\tuint8_t logicalVolContentsUse[32];\n\t__le32 numOfPartitions;\n\t__le32 lengthOfImpUse;\n\t__le32 freeSpaceTable[0];\n};\n\nstruct logicalVolIntegrityDescImpUse {\n\tstruct regid impIdent;\n\t__le32 numFiles;\n\t__le32 numDirs;\n\t__le16 minUDFReadRev;\n\t__le16 minUDFWriteRev;\n\t__le16 maxUDFWriteRev;\n\tuint8_t impUse[0];\n} __attribute__((packed));\n\nunion loginfo_type {\n\tu32 loginfo;\n\tstruct {\n\t\tu32 subcode: 16;\n\t\tu32 code: 8;\n\t\tu32 originator: 4;\n\t\tu32 bus_type: 4;\n\t} dw;\n};\n\nstruct logo_data {\n\tint depth;\n\tint needs_directpalette;\n\tint needs_truepalette;\n\tint needs_cmapreset;\n\tconst struct linux_logo *logo;\n};\n\nstruct lookup_args {\n\tint offset;\n\tconst struct in6_addr *addr;\n};\n\nstruct loongarch_csrs {\n\tlong unsigned int csrs[2048];\n};\n\nunion nodetype {\n\tu64 reg_u64[4];\n\tu32 reg_u32[8];\n\tu16 reg_u16[16];\n\tu8 reg_u8[32];\n};\n\nstruct loongarch_eiointc {\n\tspinlock_t lock;\n\tstruct kvm *kvm;\n\tstruct kvm_io_device device;\n\tstruct kvm_io_device device_vext;\n\tuint32_t num_cpu;\n\tuint32_t features;\n\tuint32_t status;\n\tunion nodetype nodetype;\n\tunion bounce bounce;\n\tunion isr isr;\n\tunion coreisr coreisr;\n\tunion enable enable;\n\tunion ipmap ipmap;\n\tunion coremap coremap;\n\tlong unsigned int sw_coreisr[8192];\n\tuint8_t sw_coremap[256];\n};\n\nstruct reg0i15_format {\n\tunsigned int immediate: 15;\n\tunsigned int opcode: 17;\n};\n\nstruct reg0i26_format {\n\tunsigned int immediate_h: 10;\n\tunsigned int immediate_l: 16;\n\tunsigned int opcode: 6;\n};\n\nstruct reg1i20_format {\n\tunsigned int rd: 5;\n\tunsigned int immediate: 20;\n\tunsigned int opcode: 7;\n};\n\nstruct reg1i21_format {\n\tunsigned int immediate_h: 5;\n\tunsigned int rj: 5;\n\tunsigned int immediate_l: 16;\n\tunsigned int opcode: 6;\n};\n\nstruct reg2_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int opcode: 22;\n};\n\nstruct reg2i5_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int immediate: 5;\n\tunsigned int opcode: 17;\n};\n\nstruct reg2i6_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int immediate: 6;\n\tunsigned int opcode: 16;\n};\n\nstruct reg2i12_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int immediate: 12;\n\tunsigned int opcode: 10;\n};\n\nstruct reg2i14_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int immediate: 14;\n\tunsigned int opcode: 8;\n};\n\nstruct reg2i16_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int immediate: 16;\n\tunsigned int opcode: 6;\n};\n\nstruct reg2bstrd_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int lsbd: 6;\n\tunsigned int msbd: 6;\n\tunsigned int opcode: 10;\n};\n\nstruct reg2csr_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int csr: 14;\n\tunsigned int opcode: 8;\n};\n\nstruct reg3_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int rk: 5;\n\tunsigned int opcode: 17;\n};\n\nstruct reg3sa2_format {\n\tunsigned int rd: 5;\n\tunsigned int rj: 5;\n\tunsigned int rk: 5;\n\tunsigned int immediate: 2;\n\tunsigned int opcode: 15;\n};\n\nunion loongarch_instruction {\n\tunsigned int word;\n\tstruct reg0i15_format reg0i15_format;\n\tstruct reg0i26_format reg0i26_format;\n\tstruct reg1i20_format reg1i20_format;\n\tstruct reg1i21_format reg1i21_format;\n\tstruct reg2_format reg2_format;\n\tstruct reg2i5_format reg2i5_format;\n\tstruct reg2i6_format reg2i6_format;\n\tstruct reg2i12_format reg2i12_format;\n\tstruct reg2i14_format reg2i14_format;\n\tstruct reg2i16_format reg2i16_format;\n\tstruct reg2bstrd_format reg2bstrd_format;\n\tstruct reg2csr_format reg2csr_format;\n\tstruct reg3_format reg3_format;\n\tstruct reg3sa2_format reg3sa2_format;\n};\n\nstruct loongarch_ipi {\n\tspinlock_t lock;\n\tstruct kvm *kvm;\n\tstruct kvm_io_device device;\n};\n\nstruct loongarch_pch_pic {\n\tspinlock_t lock;\n\tstruct kvm *kvm;\n\tstruct kvm_io_device device;\n\tuint64_t mask;\n\tuint64_t htmsi_en;\n\tuint64_t edge;\n\tuint64_t auto_ctrl0;\n\tuint64_t auto_ctrl1;\n\tuint64_t last_intirr;\n\tuint64_t irr;\n\tuint64_t isr;\n\tuint64_t polarity;\n\tuint8_t route_entry[64];\n\tuint8_t htmsi_vector[64];\n\tuint64_t pch_pic_base;\n};\n\nstruct loongarch_perf_event {\n\tunsigned int event_id;\n};\n\nstruct loongarch_pmu {\n\tu64 max_period;\n\tu64 valid_count;\n\tu64 overflow;\n\tconst char *name;\n\tunsigned int num_counters;\n\tu64 (*read_counter)(unsigned int);\n\tvoid (*write_counter)(unsigned int, u64);\n\tconst struct loongarch_perf_event * (*map_raw_event)(u64);\n\tconst struct loongarch_perf_event (*general_event_map)[10];\n\tconst struct loongarch_perf_event (*cache_event_map)[42];\n};\n\nstruct vdso_pcpu_data {\n\tu32 node;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct vdso_rng_data {\n\tu64 generation;\n\tu8 is_ready;\n};\n\nstruct loongarch_vdso_data {\n\tstruct vdso_pcpu_data pdata[256];\n\tstruct vdso_rng_data rng_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct vm_special_mapping {\n\tconst char *name;\n\tstruct page **pages;\n\tvm_fault_t (*fault)(const struct vm_special_mapping *, struct vm_area_struct *, struct vm_fault *);\n\tint (*mremap)(const struct vm_special_mapping *, struct vm_area_struct *);\n\tvoid (*close)(const struct vm_special_mapping *, struct vm_area_struct *);\n};\n\nstruct loongarch_vdso_info {\n\tvoid *vdso;\n\tlong unsigned int size;\n\tlong unsigned int offset_sigreturn;\n\tstruct vm_special_mapping code_mapping;\n\tstruct vm_special_mapping data_mapping;\n};\n\nstruct loongson2_clk_board_info {\n\tu8 id;\n\tenum loongson2_clk_type type;\n\tconst char *name;\n\tconst char *parent_name;\n\tlong unsigned int fixed_rate;\n\tu8 reg_offset;\n\tu8 div_shift;\n\tu8 div_width;\n\tu8 mult_shift;\n\tu8 mult_width;\n\tu8 bit_idx;\n};\n\nstruct loongson2_clk_data {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 div_shift;\n\tu8 div_width;\n\tu8 mult_shift;\n\tu8 mult_width;\n};\n\nstruct loongson2_clk_provider {\n\tvoid *base;\n\tstruct device *dev;\n\tspinlock_t clk_lock;\n\tstruct clk_hw_onecell_data clk_data;\n};\n\nstruct pinctrl_pin_desc;\n\nstruct pinctrl_ops;\n\nstruct pinmux_ops;\n\nstruct pinconf_ops;\n\nstruct pinconf_generic_params;\n\nstruct pin_config_item;\n\nstruct pinctrl_desc {\n\tconst char *name;\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tconst struct pinctrl_ops *pctlops;\n\tconst struct pinmux_ops *pmxops;\n\tconst struct pinconf_ops *confops;\n\tstruct module *owner;\n\tunsigned int num_custom_params;\n\tconst struct pinconf_generic_params *custom_params;\n\tconst struct pin_config_item *custom_conf_items;\n\tbool link_consumers;\n};\n\nstruct loongson2_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pcdev;\n\tstruct pinctrl_desc desc;\n\tstruct device_node *of_node;\n\tspinlock_t lock;\n\tvoid *reg_base;\n};\n\nstruct loongson2_pm {\n\tvoid *base;\n\tstruct input_dev *dev;\n\tbool suspended;\n};\n\nstruct loongson2_pmx_func {\n\tconst char *name;\n\tconst char * const *groups;\n\tunsigned int num_groups;\n};\n\nstruct pingroup {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tsize_t npins;\n};\n\nstruct loongson2_pmx_group {\n\tstruct pingroup grp;\n\tunsigned int reg;\n\tunsigned int bit;\n};\n\nstruct loongson2_soc_die_attr {\n\tchar *die;\n\tu32 svr;\n\tu32 mask;\n};\n\nstruct loongson_board_info {\n\tint bios_size;\n\tconst char *bios_vendor;\n\tconst char *bios_version;\n\tconst char *bios_release_date;\n\tconst char *board_name;\n\tconst char *board_vendor;\n};\n\nstruct loongson_data {\n\tu32 loongson_id;\n\tstruct device *dev;\n};\n\nstruct lsdc_kms_funcs;\n\nstruct lsdc_desc {\n\tu32 num_of_crtc;\n\tu32 max_pixel_clk;\n\tu32 max_width;\n\tu32 max_height;\n\tu32 num_of_hw_cursor;\n\tu32 hw_cursor_w;\n\tu32 hw_cursor_h;\n\tu32 pitch_align;\n\tbool has_vblank_counter;\n\tconst struct lsdc_kms_funcs *funcs;\n};\n\nstruct loongson_gfx_desc {\n\tstruct lsdc_desc dc;\n\tu32 conf_reg_base;\n\tstruct {\n\t\tu32 reg_offset;\n\t\tu32 reg_size;\n\t} gfxpll;\n\tstruct {\n\t\tu32 reg_offset;\n\t\tu32 reg_size;\n\t} pixpll[2];\n\tenum loongson_chip_id chip_id;\n\tchar model[64];\n};\n\nstruct loongson_gfxpll_parms {\n\tunsigned int ref_clock;\n\tunsigned int div_ref;\n\tunsigned int loopc;\n\tunsigned int div_out_dc;\n\tunsigned int div_out_gmc;\n\tunsigned int div_out_gpu;\n};\n\nstruct loongson_gfxpll_funcs;\n\nstruct loongson_gfxpll {\n\tstruct drm_device *ddev;\n\tvoid *mmio;\n\tu32 reg_base;\n\tu32 reg_size;\n\tconst struct loongson_gfxpll_funcs *funcs;\n\tstruct loongson_gfxpll_parms parms;\n};\n\nstruct loongson_gfxpll_bitmap {\n\tunsigned int div_out_dc: 7;\n\tunsigned int div_out_gmc: 7;\n\tunsigned int div_out_gpu: 7;\n\tunsigned int loopc: 9;\n\tunsigned int _reserved_1_: 2;\n\tunsigned int div_ref: 7;\n\tunsigned int locked: 1;\n\tunsigned int sel_out_dc: 1;\n\tunsigned int sel_out_gmc: 1;\n\tunsigned int sel_out_gpu: 1;\n\tunsigned int set_param: 1;\n\tunsigned int bypass: 1;\n\tunsigned int powerdown: 1;\n\tunsigned int _reserved_2_: 18;\n};\n\nstruct loongson_gfxpll_funcs {\n\tint (*init)(struct loongson_gfxpll * const);\n\tint (*update)(struct loongson_gfxpll * const, const struct loongson_gfxpll_parms *);\n\tvoid (*get_rates)(struct loongson_gfxpll * const, unsigned int *, unsigned int *, unsigned int *);\n\tvoid (*print)(struct loongson_gfxpll * const, struct drm_printer *, bool);\n};\n\nunion loongson_gfxpll_reg_bitmap {\n\tstruct loongson_gfxpll_bitmap bitmap;\n\tu32 w[2];\n\tu64 d;\n};\n\nstruct loongson_gpio_chip_data;\n\nstruct loongson_gpio_chip {\n\tstruct gpio_chip chip;\n\tstruct fwnode_handle *fwnode;\n\tspinlock_t lock;\n\tvoid *reg_base;\n\tconst struct loongson_gpio_chip_data *chip_data;\n};\n\nstruct loongson_gpio_chip_data {\n\tconst char *label;\n\tenum loongson_gpio_mode mode;\n\tunsigned int conf_offset;\n\tunsigned int out_offset;\n\tunsigned int in_offset;\n\tunsigned int inten_offset;\n};\n\nstruct loongson_pci_data;\n\nstruct loongson_pci {\n\tvoid *cfg0_base;\n\tvoid *cfg1_base;\n\tstruct platform_device *pdev;\n\tconst struct loongson_pci_data *data;\n};\n\nstruct loongson_pci_data {\n\tu32 flags;\n\tstruct pci_ops *ops;\n};\n\nstruct loongson_rtc_config {\n\tu32 pm_offset;\n\tu32 flags;\n};\n\nstruct rtc_device;\n\nstruct loongson_rtc_priv {\n\tspinlock_t lock;\n\tu32 fix_year;\n\tstruct rtc_device *rtcdev;\n\tstruct regmap *regmap;\n\tvoid *pm_base;\n\tconst struct loongson_rtc_config *config;\n};\n\nstruct loongson_system_configuration {\n\tint nr_cpus;\n\tint nr_nodes;\n\tint boot_cpu_id;\n\tint cores_per_node;\n\tint cores_per_package;\n\tlong unsigned int cores_io_master[4];\n\tlong unsigned int suspend_addr;\n\tconst char *cpuname;\n};\n\nstruct loop_cmd {\n\tstruct list_head list_entry;\n\tbool use_aio;\n\tatomic_t ref;\n\tlong int ret;\n\tstruct kiocb iocb;\n\tstruct bio_vec *bvec;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct cgroup_subsys_state *memcg_css;\n};\n\nstruct loop_info64 {\n\t__u64 lo_device;\n\t__u64 lo_inode;\n\t__u64 lo_rdevice;\n\t__u64 lo_offset;\n\t__u64 lo_sizelimit;\n\t__u32 lo_number;\n\t__u32 lo_encrypt_type;\n\t__u32 lo_encrypt_key_size;\n\t__u32 lo_flags;\n\t__u8 lo_file_name[64];\n\t__u8 lo_crypt_name[64];\n\t__u8 lo_encrypt_key[32];\n\t__u64 lo_init[2];\n};\n\nstruct loop_config {\n\t__u32 fd;\n\t__u32 block_size;\n\tstruct loop_info64 info;\n\t__u64 __reserved[8];\n};\n\nstruct loop_device {\n\tint lo_number;\n\tloff_t lo_offset;\n\tloff_t lo_sizelimit;\n\tint lo_flags;\n\tchar lo_file_name[64];\n\tstruct file *lo_backing_file;\n\tstruct block_device *lo_device;\n\tgfp_t old_gfp_mask;\n\tspinlock_t lo_lock;\n\tint lo_state;\n\tspinlock_t lo_work_lock;\n\tstruct workqueue_struct *workqueue;\n\tstruct work_struct rootcg_work;\n\tstruct list_head rootcg_cmd_list;\n\tstruct list_head idle_worker_list;\n\tstruct rb_root worker_tree;\n\tstruct timer_list timer;\n\tbool sysfs_inited;\n\tstruct request_queue *lo_queue;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct gendisk *lo_disk;\n\tstruct mutex lo_mutex;\n\tbool idr_visible;\n};\n\nstruct loop_info {\n\tint lo_number;\n\t__kernel_old_dev_t lo_device;\n\tlong unsigned int lo_inode;\n\t__kernel_old_dev_t lo_rdevice;\n\tint lo_offset;\n\tint lo_encrypt_type;\n\tint lo_encrypt_key_size;\n\tint lo_flags;\n\tchar lo_name[64];\n\tunsigned char lo_encrypt_key[32];\n\tlong unsigned int lo_init[2];\n\tchar reserved[4];\n};\n\nstruct loop_worker {\n\tstruct rb_node rb_node;\n\tstruct work_struct work;\n\tstruct list_head cmd_list;\n\tstruct list_head idle_list;\n\tstruct loop_device *lo;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tlong unsigned int last_ran_at;\n};\n\nunion lower_chunk {\n\tunion lower_chunk *next;\n\tlong unsigned int data[256];\n};\n\nstruct lpm_trie_node;\n\nstruct lpm_trie {\n\tstruct bpf_map map;\n\tstruct lpm_trie_node *root;\n\tstruct bpf_mem_alloc ma;\n\tsize_t n_entries;\n\tsize_t max_prefixlen;\n\tsize_t data_size;\n\traw_spinlock_t lock;\n};\n\nstruct lpm_trie_node {\n\tstruct lpm_trie_node *child[2];\n\tu32 prefixlen;\n\tu32 flags;\n\tu8 data[0];\n};\n\nstruct zswap_lruvec_state {\n\tatomic_long_t nr_disk_swapins;\n};\n\nstruct pglist_data;\n\nstruct lruvec {\n\tstruct list_head lists[5];\n\tspinlock_t lru_lock;\n\tlong unsigned int anon_cost;\n\tlong unsigned int file_cost;\n\tatomic_long_t nonresident_age;\n\tlong unsigned int refaults[2];\n\tlong unsigned int flags;\n\tstruct pglist_data *pgdat;\n\tstruct zswap_lruvec_state zswap_lruvec_state;\n};\n\nstruct lruvec_stats {\n\tlong int state[32];\n\tlong int state_local[32];\n\tlong int state_pending[32];\n};\n\nstruct lruvec_stats_percpu {\n\tlong int state[32];\n\tlong int state_prev[32];\n};\n\nstruct virt_dma_desc;\n\nstruct virt_dma_chan {\n\tstruct dma_chan chan;\n\tstruct tasklet_struct task;\n\tvoid (*desc_free)(struct virt_dma_desc *);\n\tspinlock_t lock;\n\tstruct list_head desc_allocated;\n\tstruct list_head desc_submitted;\n\tstruct list_head desc_issued;\n\tstruct list_head desc_completed;\n\tstruct list_head desc_terminated;\n\tstruct virt_dma_desc *cyclic;\n};\n\nstruct ls2x_dma_desc;\n\nstruct ls2x_dma_chan {\n\tstruct virt_dma_chan vchan;\n\tstruct ls2x_dma_desc *desc;\n\tvoid *pool;\n\tint irq;\n\tstruct dma_slave_config sconfig;\n};\n\nstruct virt_dma_desc {\n\tstruct dma_async_tx_descriptor tx;\n\tstruct dmaengine_result tx_result;\n\tstruct list_head node;\n};\n\nstruct ls2x_dma_hw_desc;\n\nstruct ls2x_dma_sg {\n\tstruct ls2x_dma_hw_desc *hw;\n\tdma_addr_t llp;\n\tdma_addr_t phys;\n\tu32 len;\n};\n\nstruct ls2x_dma_desc {\n\tstruct virt_dma_desc vdesc;\n\tbool cyclic;\n\tsize_t burst_size;\n\tu32 desc_num;\n\tenum dma_transfer_direction direction;\n\tenum dma_status status;\n\tstruct ls2x_dma_sg sg[0];\n};\n\nstruct ls2x_dma_hw_desc {\n\tu32 ndesc_addr;\n\tu32 mem_addr;\n\tu32 apb_addr;\n\tu32 len;\n\tu32 step_len;\n\tu32 step_times;\n\tu32 cmd;\n\tu32 stats;\n\tu32 high_ndesc_addr;\n\tu32 high_mem_addr;\n\tu32 reserved[2];\n};\n\nstruct ls2x_dma_priv {\n\tstruct dma_device ddev;\n\tstruct clk *dma_clk;\n\tvoid *regs;\n\tstruct ls2x_dma_chan lchan;\n};\n\nstruct ls2x_i2c_priv {\n\tstruct i2c_adapter adapter;\n\tvoid *base;\n\tstruct i2c_timings i2c_t;\n\tstruct completion cmd_complete;\n};\n\nstruct ttm_device;\n\nstruct ttm_resource;\n\nstruct ttm_tt;\n\nstruct ttm_lru_bulk_move;\n\nstruct ttm_buffer_object {\n\tstruct drm_gem_object base;\n\tstruct ttm_device *bdev;\n\tenum ttm_bo_type type;\n\tuint32_t page_alignment;\n\tvoid (*destroy)(struct ttm_buffer_object *);\n\tstruct kref kref;\n\tstruct ttm_resource *resource;\n\tstruct ttm_tt *ttm;\n\tbool deleted;\n\tstruct ttm_lru_bulk_move *bulk_move;\n\tunsigned int priority;\n\tunsigned int pin_count;\n\tstruct work_struct delayed_delete;\n\tstruct sg_table *sg;\n};\n\nstruct ttm_bo_kmap_obj {\n\tvoid *virtual;\n\tstruct page *page;\n\tenum {\n\t\tttm_bo_map_iomap = 129,\n\t\tttm_bo_map_vmap = 2,\n\t\tttm_bo_map_kmap = 3,\n\t\tttm_bo_map_premapped = 132,\n\t} bo_kmap_type;\n\tstruct ttm_buffer_object *bo;\n};\n\nstruct ttm_place;\n\nstruct ttm_placement {\n\tunsigned int num_placement;\n\tconst struct ttm_place *placement;\n};\n\nstruct ttm_place {\n\tunsigned int fpfn;\n\tunsigned int lpfn;\n\tuint32_t mem_type;\n\tuint32_t flags;\n};\n\nstruct lsdc_bo {\n\tstruct ttm_buffer_object tbo;\n\tstruct list_head list;\n\tstruct iosys_map map;\n\tunsigned int vmap_count;\n\tunsigned int sharing_count;\n\tstruct ttm_bo_kmap_obj kmap;\n\tvoid *kptr;\n\tbool is_iomem;\n\tsize_t size;\n\tu32 initial_domain;\n\tstruct ttm_placement placement;\n\tstruct ttm_place placements[4];\n};\n\nstruct lsdc_pixpll_funcs;\n\nstruct lsdc_pixpll_parms;\n\nstruct lsdc_pixpll {\n\tconst struct lsdc_pixpll_funcs *funcs;\n\tstruct drm_device *ddev;\n\tu32 reg_base;\n\tu32 reg_size;\n\tvoid *mmio;\n\tstruct lsdc_pixpll_parms *priv;\n};\n\nstruct lsdc_device;\n\nstruct lsdc_crtc_hw_ops;\n\nstruct lsdc_reg32;\n\nstruct lsdc_crtc {\n\tstruct drm_crtc base;\n\tstruct lsdc_pixpll pixpll;\n\tstruct lsdc_device *ldev;\n\tconst struct lsdc_crtc_hw_ops *hw_ops;\n\tconst struct lsdc_reg32 *preg;\n\tunsigned int nreg;\n\tstruct drm_info_list *p_info_list;\n\tunsigned int n_info_list;\n\tbool has_vblank;\n};\n\nstruct lsdc_crtc_hw_ops {\n\tvoid (*enable)(struct lsdc_crtc *);\n\tvoid (*disable)(struct lsdc_crtc *);\n\tvoid (*enable_vblank)(struct lsdc_crtc *);\n\tvoid (*disable_vblank)(struct lsdc_crtc *);\n\tvoid (*flip)(struct lsdc_crtc *);\n\tvoid (*clone)(struct lsdc_crtc *);\n\tvoid (*get_scan_pos)(struct lsdc_crtc *, int *, int *);\n\tvoid (*set_mode)(struct lsdc_crtc *, const struct drm_display_mode *);\n\tvoid (*soft_reset)(struct lsdc_crtc *);\n\tvoid (*reset)(struct lsdc_crtc *);\n\tu32 (*get_vblank_counter)(struct lsdc_crtc *);\n\tvoid (*set_dma_step)(struct lsdc_crtc *, enum lsdc_dma_steps);\n};\n\nstruct lsdc_pixpll_parms {\n\tunsigned int ref_clock;\n\tunsigned int div_ref;\n\tunsigned int loopc;\n\tunsigned int div_out;\n};\n\nstruct lsdc_crtc_state {\n\tstruct drm_crtc_state base;\n\tstruct lsdc_pixpll_parms pparms;\n};\n\nstruct lsdc_cursor_plane_ops;\n\nstruct lsdc_cursor {\n\tstruct drm_plane base;\n\tconst struct lsdc_cursor_plane_ops *ops;\n\tstruct lsdc_device *ldev;\n};\n\nstruct lsdc_cursor_plane_ops {\n\tvoid (*update_bo_addr)(struct lsdc_cursor *, u64);\n\tvoid (*update_cfg)(struct lsdc_cursor *, enum lsdc_cursor_size, enum lsdc_cursor_format);\n\tvoid (*update_position)(struct lsdc_cursor *, int, int);\n};\n\nstruct dmem_cgroup_region;\n\nstruct ttm_resource_manager_func;\n\nstruct ttm_resource_manager {\n\tbool use_type;\n\tbool use_tt;\n\tstruct ttm_device *bdev;\n\tuint64_t size;\n\tconst struct ttm_resource_manager_func *func;\n\tspinlock_t move_lock;\n\tstruct dma_fence *move;\n\tstruct list_head lru[4];\n\tuint64_t usage;\n\tstruct dmem_cgroup_region *cg;\n};\n\nstruct ttm_pool;\n\nstruct ttm_pool_type {\n\tstruct ttm_pool *pool;\n\tunsigned int order;\n\tenum ttm_caching caching;\n\tstruct list_head shrinker_list;\n\tspinlock_t lock;\n\tstruct list_head pages;\n};\n\nstruct ttm_pool {\n\tstruct device *dev;\n\tint nid;\n\tbool use_dma_alloc;\n\tbool use_dma32;\n\tstruct {\n\t\tstruct ttm_pool_type orders[12];\n\t} caching[3];\n};\n\nstruct ttm_device_funcs;\n\nstruct ttm_device {\n\tstruct list_head device_list;\n\tconst struct ttm_device_funcs *funcs;\n\tstruct ttm_resource_manager sysman;\n\tstruct ttm_resource_manager *man_drv[8];\n\tstruct drm_vma_offset_manager *vma_manager;\n\tstruct ttm_pool pool;\n\tspinlock_t lru_lock;\n\tstruct list_head unevictable;\n\tstruct address_space *dev_mapping;\n\tstruct workqueue_struct *wq;\n};\n\nstruct lsdc_primary_plane_ops;\n\nstruct lsdc_primary {\n\tstruct drm_plane base;\n\tconst struct lsdc_primary_plane_ops *ops;\n\tstruct lsdc_device *ldev;\n};\n\nstruct lsdc_output {\n\tstruct drm_encoder encoder;\n\tstruct drm_connector connector;\n};\n\nstruct lsdc_i2c;\n\nstruct lsdc_display_pipe {\n\tstruct lsdc_crtc crtc;\n\tstruct lsdc_primary primary;\n\tstruct lsdc_cursor cursor;\n\tstruct lsdc_output output;\n\tstruct lsdc_i2c *li2c;\n\tunsigned int index;\n};\n\nstruct lsdc_gem {\n\tstruct mutex mutex;\n\tstruct list_head objects;\n};\n\nstruct lsdc_device {\n\tstruct drm_device base;\n\tstruct ttm_device bdev;\n\tconst struct lsdc_desc *descp;\n\tstruct pci_dev *dc;\n\tstruct pci_dev *gpu;\n\tstruct loongson_gfxpll *gfxpll;\n\tspinlock_t reglock;\n\tvoid *reg_base;\n\tresource_size_t vram_base;\n\tresource_size_t vram_size;\n\tresource_size_t gtt_base;\n\tresource_size_t gtt_size;\n\tstruct lsdc_display_pipe dispipe[2];\n\tstruct lsdc_gem gem;\n\tu32 irq_status;\n\tsize_t vram_pinned_size;\n\tsize_t gtt_pinned_size;\n\tunsigned int num_output;\n};\n\nstruct lsdc_i2c {\n\tstruct i2c_adapter adapter;\n\tstruct i2c_algo_bit_data bit;\n\tstruct drm_device *ddev;\n\tvoid *dir_reg;\n\tvoid *dat_reg;\n\tu8 sda;\n\tu8 scl;\n};\n\nstruct lsdc_kms_funcs {\n\tirqreturn_t (*irq_handler)(int, void *);\n\tint (*create_i2c)(struct drm_device *, struct lsdc_display_pipe *, unsigned int);\n\tint (*output_init)(struct drm_device *, struct lsdc_display_pipe *, struct i2c_adapter *, unsigned int);\n\tint (*cursor_plane_init)(struct drm_device *, struct drm_plane *, unsigned int);\n\tint (*primary_plane_init)(struct drm_device *, struct drm_plane *, unsigned int);\n\tint (*crtc_init)(struct drm_device *, struct drm_crtc *, struct drm_plane *, struct drm_plane *, unsigned int, bool);\n};\n\nstruct lsdc_pixpll_funcs {\n\tint (*setup)(struct lsdc_pixpll * const);\n\tint (*compute)(struct lsdc_pixpll * const, unsigned int, struct lsdc_pixpll_parms *);\n\tint (*update)(struct lsdc_pixpll * const, const struct lsdc_pixpll_parms *);\n\tunsigned int (*get_rate)(struct lsdc_pixpll * const);\n\tvoid (*print)(struct lsdc_pixpll * const, struct drm_printer *);\n};\n\nstruct lsdc_pixpll_reg {\n\tunsigned int div_out: 7;\n\tunsigned int _reserved_1_: 14;\n\tunsigned int loopc: 9;\n\tunsigned int _reserved_2_: 2;\n\tunsigned int div_ref: 7;\n\tunsigned int locked: 1;\n\tunsigned int sel_out: 1;\n\tunsigned int _reserved_3_: 2;\n\tunsigned int set_param: 1;\n\tunsigned int bypass: 1;\n\tunsigned int powerdown: 1;\n\tunsigned int _reserved_4_: 18;\n};\n\nunion lsdc_pixpll_reg_bitmap {\n\tstruct lsdc_pixpll_reg bitmap;\n\tu32 w[2];\n\tu64 d;\n};\n\nstruct lsdc_primary_plane_ops {\n\tvoid (*update_fb_addr)(struct lsdc_primary *, u64);\n\tvoid (*update_fb_stride)(struct lsdc_primary *, u32);\n\tvoid (*update_fb_format)(struct lsdc_primary *, const struct drm_format_info *);\n};\n\nstruct lsdc_reg32 {\n\tchar *name;\n\tu32 offset;\n};\n\nstruct skcipher_alg_common {\n\tunsigned int min_keysize;\n\tunsigned int max_keysize;\n\tunsigned int ivsize;\n\tunsigned int chunksize;\n\tunsigned int statesize;\n\tstruct crypto_alg base;\n};\n\nstruct lskcipher_alg {\n\tint (*setkey)(struct crypto_lskcipher *, const u8 *, unsigned int);\n\tint (*encrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32);\n\tint (*decrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32);\n\tint (*init)(struct crypto_lskcipher *);\n\tvoid (*exit)(struct crypto_lskcipher *);\n\tstruct skcipher_alg_common co;\n};\n\nstruct lskcipher_instance {\n\tvoid (*free)(struct lskcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[64];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct lskcipher_alg alg;\n\t};\n};\n\nstruct lsm_blob_sizes {\n\tint lbs_cred;\n\tint lbs_file;\n\tint lbs_ib;\n\tint lbs_inode;\n\tint lbs_sock;\n\tint lbs_superblock;\n\tint lbs_ipc;\n\tint lbs_key;\n\tint lbs_msg_msg;\n\tint lbs_perf_event;\n\tint lbs_task;\n\tint lbs_xattr_count;\n\tint lbs_tun_dev;\n\tint lbs_bdev;\n};\n\nstruct lsm_context {\n\tchar *context;\n\tu32 len;\n\tint id;\n};\n\nstruct lsm_ctx {\n\t__u64 id;\n\t__u64 flags;\n\t__u64 len;\n\t__u64 ctx_len;\n\t__u8 ctx[0];\n};\n\nstruct lsm_ibendport_audit {\n\tconst char *dev_name;\n\tu8 port;\n};\n\nstruct lsm_ibpkey_audit {\n\tu64 subnet_prefix;\n\tu16 pkey;\n};\n\nstruct lsm_id {\n\tconst char *name;\n\tu64 id;\n};\n\nstruct lsm_info {\n\tconst char *name;\n\tenum lsm_order order;\n\tlong unsigned int flags;\n\tint *enabled;\n\tint (*init)(void);\n\tstruct lsm_blob_sizes *blobs;\n};\n\nstruct lsm_ioctlop_audit {\n\tstruct path path;\n\tu16 cmd;\n};\n\nstruct lsm_network_audit {\n\tint netif;\n\tconst struct sock *sk;\n\tu16 family;\n\t__be16 dport;\n\t__be16 sport;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 daddr;\n\t\t\t__be32 saddr;\n\t\t} v4;\n\t\tstruct {\n\t\t\tstruct in6_addr daddr;\n\t\t\tstruct in6_addr saddr;\n\t\t} v6;\n\t} fam;\n};\n\nstruct static_call_key;\n\nstruct security_hook_list;\n\nstruct lsm_static_call {\n\tstruct static_call_key *key;\n\tvoid *trampoline;\n\tstruct security_hook_list *hl;\n\tstruct static_key_false *active;\n};\n\nstruct lsm_static_calls_table {\n\tstruct lsm_static_call binder_set_context_mgr[4];\n\tstruct lsm_static_call binder_transaction[4];\n\tstruct lsm_static_call binder_transfer_binder[4];\n\tstruct lsm_static_call binder_transfer_file[4];\n\tstruct lsm_static_call ptrace_access_check[4];\n\tstruct lsm_static_call ptrace_traceme[4];\n\tstruct lsm_static_call capget[4];\n\tstruct lsm_static_call capset[4];\n\tstruct lsm_static_call capable[4];\n\tstruct lsm_static_call quotactl[4];\n\tstruct lsm_static_call quota_on[4];\n\tstruct lsm_static_call syslog[4];\n\tstruct lsm_static_call settime[4];\n\tstruct lsm_static_call vm_enough_memory[4];\n\tstruct lsm_static_call bprm_creds_for_exec[4];\n\tstruct lsm_static_call bprm_creds_from_file[4];\n\tstruct lsm_static_call bprm_check_security[4];\n\tstruct lsm_static_call bprm_committing_creds[4];\n\tstruct lsm_static_call bprm_committed_creds[4];\n\tstruct lsm_static_call fs_context_submount[4];\n\tstruct lsm_static_call fs_context_dup[4];\n\tstruct lsm_static_call fs_context_parse_param[4];\n\tstruct lsm_static_call sb_alloc_security[4];\n\tstruct lsm_static_call sb_delete[4];\n\tstruct lsm_static_call sb_free_security[4];\n\tstruct lsm_static_call sb_free_mnt_opts[4];\n\tstruct lsm_static_call sb_eat_lsm_opts[4];\n\tstruct lsm_static_call sb_mnt_opts_compat[4];\n\tstruct lsm_static_call sb_remount[4];\n\tstruct lsm_static_call sb_kern_mount[4];\n\tstruct lsm_static_call sb_show_options[4];\n\tstruct lsm_static_call sb_statfs[4];\n\tstruct lsm_static_call sb_mount[4];\n\tstruct lsm_static_call sb_umount[4];\n\tstruct lsm_static_call sb_pivotroot[4];\n\tstruct lsm_static_call sb_set_mnt_opts[4];\n\tstruct lsm_static_call sb_clone_mnt_opts[4];\n\tstruct lsm_static_call move_mount[4];\n\tstruct lsm_static_call dentry_init_security[4];\n\tstruct lsm_static_call dentry_create_files_as[4];\n\tstruct lsm_static_call path_unlink[4];\n\tstruct lsm_static_call path_mkdir[4];\n\tstruct lsm_static_call path_rmdir[4];\n\tstruct lsm_static_call path_mknod[4];\n\tstruct lsm_static_call path_post_mknod[4];\n\tstruct lsm_static_call path_truncate[4];\n\tstruct lsm_static_call path_symlink[4];\n\tstruct lsm_static_call path_link[4];\n\tstruct lsm_static_call path_rename[4];\n\tstruct lsm_static_call path_chmod[4];\n\tstruct lsm_static_call path_chown[4];\n\tstruct lsm_static_call path_chroot[4];\n\tstruct lsm_static_call path_notify[4];\n\tstruct lsm_static_call inode_alloc_security[4];\n\tstruct lsm_static_call inode_free_security[4];\n\tstruct lsm_static_call inode_free_security_rcu[4];\n\tstruct lsm_static_call inode_init_security[4];\n\tstruct lsm_static_call inode_init_security_anon[4];\n\tstruct lsm_static_call inode_create[4];\n\tstruct lsm_static_call inode_post_create_tmpfile[4];\n\tstruct lsm_static_call inode_link[4];\n\tstruct lsm_static_call inode_unlink[4];\n\tstruct lsm_static_call inode_symlink[4];\n\tstruct lsm_static_call inode_mkdir[4];\n\tstruct lsm_static_call inode_rmdir[4];\n\tstruct lsm_static_call inode_mknod[4];\n\tstruct lsm_static_call inode_rename[4];\n\tstruct lsm_static_call inode_readlink[4];\n\tstruct lsm_static_call inode_follow_link[4];\n\tstruct lsm_static_call inode_permission[4];\n\tstruct lsm_static_call inode_setattr[4];\n\tstruct lsm_static_call inode_post_setattr[4];\n\tstruct lsm_static_call inode_getattr[4];\n\tstruct lsm_static_call inode_xattr_skipcap[4];\n\tstruct lsm_static_call inode_setxattr[4];\n\tstruct lsm_static_call inode_post_setxattr[4];\n\tstruct lsm_static_call inode_getxattr[4];\n\tstruct lsm_static_call inode_listxattr[4];\n\tstruct lsm_static_call inode_removexattr[4];\n\tstruct lsm_static_call inode_post_removexattr[4];\n\tstruct lsm_static_call inode_set_acl[4];\n\tstruct lsm_static_call inode_post_set_acl[4];\n\tstruct lsm_static_call inode_get_acl[4];\n\tstruct lsm_static_call inode_remove_acl[4];\n\tstruct lsm_static_call inode_post_remove_acl[4];\n\tstruct lsm_static_call inode_need_killpriv[4];\n\tstruct lsm_static_call inode_killpriv[4];\n\tstruct lsm_static_call inode_getsecurity[4];\n\tstruct lsm_static_call inode_setsecurity[4];\n\tstruct lsm_static_call inode_listsecurity[4];\n\tstruct lsm_static_call inode_getlsmprop[4];\n\tstruct lsm_static_call inode_copy_up[4];\n\tstruct lsm_static_call inode_copy_up_xattr[4];\n\tstruct lsm_static_call inode_setintegrity[4];\n\tstruct lsm_static_call kernfs_init_security[4];\n\tstruct lsm_static_call file_permission[4];\n\tstruct lsm_static_call file_alloc_security[4];\n\tstruct lsm_static_call file_release[4];\n\tstruct lsm_static_call file_free_security[4];\n\tstruct lsm_static_call file_ioctl[4];\n\tstruct lsm_static_call file_ioctl_compat[4];\n\tstruct lsm_static_call mmap_addr[4];\n\tstruct lsm_static_call mmap_file[4];\n\tstruct lsm_static_call file_mprotect[4];\n\tstruct lsm_static_call file_lock[4];\n\tstruct lsm_static_call file_fcntl[4];\n\tstruct lsm_static_call file_set_fowner[4];\n\tstruct lsm_static_call file_send_sigiotask[4];\n\tstruct lsm_static_call file_receive[4];\n\tstruct lsm_static_call file_open[4];\n\tstruct lsm_static_call file_post_open[4];\n\tstruct lsm_static_call file_truncate[4];\n\tstruct lsm_static_call task_alloc[4];\n\tstruct lsm_static_call task_free[4];\n\tstruct lsm_static_call cred_alloc_blank[4];\n\tstruct lsm_static_call cred_free[4];\n\tstruct lsm_static_call cred_prepare[4];\n\tstruct lsm_static_call cred_transfer[4];\n\tstruct lsm_static_call cred_getsecid[4];\n\tstruct lsm_static_call cred_getlsmprop[4];\n\tstruct lsm_static_call kernel_act_as[4];\n\tstruct lsm_static_call kernel_create_files_as[4];\n\tstruct lsm_static_call kernel_module_request[4];\n\tstruct lsm_static_call kernel_load_data[4];\n\tstruct lsm_static_call kernel_post_load_data[4];\n\tstruct lsm_static_call kernel_read_file[4];\n\tstruct lsm_static_call kernel_post_read_file[4];\n\tstruct lsm_static_call task_fix_setuid[4];\n\tstruct lsm_static_call task_fix_setgid[4];\n\tstruct lsm_static_call task_fix_setgroups[4];\n\tstruct lsm_static_call task_setpgid[4];\n\tstruct lsm_static_call task_getpgid[4];\n\tstruct lsm_static_call task_getsid[4];\n\tstruct lsm_static_call current_getlsmprop_subj[4];\n\tstruct lsm_static_call task_getlsmprop_obj[4];\n\tstruct lsm_static_call task_setnice[4];\n\tstruct lsm_static_call task_setioprio[4];\n\tstruct lsm_static_call task_getioprio[4];\n\tstruct lsm_static_call task_prlimit[4];\n\tstruct lsm_static_call task_setrlimit[4];\n\tstruct lsm_static_call task_setscheduler[4];\n\tstruct lsm_static_call task_getscheduler[4];\n\tstruct lsm_static_call task_movememory[4];\n\tstruct lsm_static_call task_kill[4];\n\tstruct lsm_static_call task_prctl[4];\n\tstruct lsm_static_call task_to_inode[4];\n\tstruct lsm_static_call userns_create[4];\n\tstruct lsm_static_call ipc_permission[4];\n\tstruct lsm_static_call ipc_getlsmprop[4];\n\tstruct lsm_static_call msg_msg_alloc_security[4];\n\tstruct lsm_static_call msg_msg_free_security[4];\n\tstruct lsm_static_call msg_queue_alloc_security[4];\n\tstruct lsm_static_call msg_queue_free_security[4];\n\tstruct lsm_static_call msg_queue_associate[4];\n\tstruct lsm_static_call msg_queue_msgctl[4];\n\tstruct lsm_static_call msg_queue_msgsnd[4];\n\tstruct lsm_static_call msg_queue_msgrcv[4];\n\tstruct lsm_static_call shm_alloc_security[4];\n\tstruct lsm_static_call shm_free_security[4];\n\tstruct lsm_static_call shm_associate[4];\n\tstruct lsm_static_call shm_shmctl[4];\n\tstruct lsm_static_call shm_shmat[4];\n\tstruct lsm_static_call sem_alloc_security[4];\n\tstruct lsm_static_call sem_free_security[4];\n\tstruct lsm_static_call sem_associate[4];\n\tstruct lsm_static_call sem_semctl[4];\n\tstruct lsm_static_call sem_semop[4];\n\tstruct lsm_static_call netlink_send[4];\n\tstruct lsm_static_call d_instantiate[4];\n\tstruct lsm_static_call getselfattr[4];\n\tstruct lsm_static_call setselfattr[4];\n\tstruct lsm_static_call getprocattr[4];\n\tstruct lsm_static_call setprocattr[4];\n\tstruct lsm_static_call ismaclabel[4];\n\tstruct lsm_static_call secid_to_secctx[4];\n\tstruct lsm_static_call lsmprop_to_secctx[4];\n\tstruct lsm_static_call secctx_to_secid[4];\n\tstruct lsm_static_call release_secctx[4];\n\tstruct lsm_static_call inode_invalidate_secctx[4];\n\tstruct lsm_static_call inode_notifysecctx[4];\n\tstruct lsm_static_call inode_setsecctx[4];\n\tstruct lsm_static_call inode_getsecctx[4];\n\tstruct lsm_static_call unix_stream_connect[4];\n\tstruct lsm_static_call unix_may_send[4];\n\tstruct lsm_static_call socket_create[4];\n\tstruct lsm_static_call socket_post_create[4];\n\tstruct lsm_static_call socket_socketpair[4];\n\tstruct lsm_static_call socket_bind[4];\n\tstruct lsm_static_call socket_connect[4];\n\tstruct lsm_static_call socket_listen[4];\n\tstruct lsm_static_call socket_accept[4];\n\tstruct lsm_static_call socket_sendmsg[4];\n\tstruct lsm_static_call socket_recvmsg[4];\n\tstruct lsm_static_call socket_getsockname[4];\n\tstruct lsm_static_call socket_getpeername[4];\n\tstruct lsm_static_call socket_getsockopt[4];\n\tstruct lsm_static_call socket_setsockopt[4];\n\tstruct lsm_static_call socket_shutdown[4];\n\tstruct lsm_static_call socket_sock_rcv_skb[4];\n\tstruct lsm_static_call socket_getpeersec_stream[4];\n\tstruct lsm_static_call socket_getpeersec_dgram[4];\n\tstruct lsm_static_call sk_alloc_security[4];\n\tstruct lsm_static_call sk_free_security[4];\n\tstruct lsm_static_call sk_clone_security[4];\n\tstruct lsm_static_call sk_getsecid[4];\n\tstruct lsm_static_call sock_graft[4];\n\tstruct lsm_static_call inet_conn_request[4];\n\tstruct lsm_static_call inet_csk_clone[4];\n\tstruct lsm_static_call inet_conn_established[4];\n\tstruct lsm_static_call secmark_relabel_packet[4];\n\tstruct lsm_static_call secmark_refcount_inc[4];\n\tstruct lsm_static_call secmark_refcount_dec[4];\n\tstruct lsm_static_call req_classify_flow[4];\n\tstruct lsm_static_call tun_dev_alloc_security[4];\n\tstruct lsm_static_call tun_dev_create[4];\n\tstruct lsm_static_call tun_dev_attach_queue[4];\n\tstruct lsm_static_call tun_dev_attach[4];\n\tstruct lsm_static_call tun_dev_open[4];\n\tstruct lsm_static_call sctp_assoc_request[4];\n\tstruct lsm_static_call sctp_bind_connect[4];\n\tstruct lsm_static_call sctp_sk_clone[4];\n\tstruct lsm_static_call sctp_assoc_established[4];\n\tstruct lsm_static_call mptcp_add_subflow[4];\n\tstruct lsm_static_call key_alloc[4];\n\tstruct lsm_static_call key_permission[4];\n\tstruct lsm_static_call key_getsecurity[4];\n\tstruct lsm_static_call key_post_create_or_update[4];\n\tstruct lsm_static_call audit_rule_init[4];\n\tstruct lsm_static_call audit_rule_known[4];\n\tstruct lsm_static_call audit_rule_match[4];\n\tstruct lsm_static_call audit_rule_free[4];\n\tstruct lsm_static_call bpf[4];\n\tstruct lsm_static_call bpf_map[4];\n\tstruct lsm_static_call bpf_prog[4];\n\tstruct lsm_static_call bpf_map_create[4];\n\tstruct lsm_static_call bpf_map_free[4];\n\tstruct lsm_static_call bpf_prog_load[4];\n\tstruct lsm_static_call bpf_prog_free[4];\n\tstruct lsm_static_call bpf_token_create[4];\n\tstruct lsm_static_call bpf_token_free[4];\n\tstruct lsm_static_call bpf_token_cmd[4];\n\tstruct lsm_static_call bpf_token_capable[4];\n\tstruct lsm_static_call locked_down[4];\n\tstruct lsm_static_call perf_event_open[4];\n\tstruct lsm_static_call perf_event_alloc[4];\n\tstruct lsm_static_call perf_event_read[4];\n\tstruct lsm_static_call perf_event_write[4];\n\tstruct lsm_static_call uring_override_creds[4];\n\tstruct lsm_static_call uring_sqpoll[4];\n\tstruct lsm_static_call uring_cmd[4];\n\tstruct lsm_static_call initramfs_populated[4];\n\tstruct lsm_static_call bdev_alloc_security[4];\n\tstruct lsm_static_call bdev_free_security[4];\n\tstruct lsm_static_call bdev_setintegrity[4];\n};\n\nstruct lsx_context {\n\t__u64 regs[64];\n\t__u64 fcc;\n\t__u32 fcsr;\n};\n\nstruct lwq {\n\tspinlock_t lock;\n\tstruct llist_node *ready;\n\tstruct llist_head new;\n};\n\nstruct lwq_node {\n\tstruct llist_node node;\n};\n\nstruct lwtunnel_encap_ops {\n\tint (*build_state)(struct net *, struct nlattr *, unsigned int, const void *, struct lwtunnel_state **, struct netlink_ext_ack *);\n\tvoid (*destroy_state)(struct lwtunnel_state *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*input)(struct sk_buff *);\n\tint (*fill_encap)(struct sk_buff *, struct lwtunnel_state *);\n\tint (*get_encap_size)(struct lwtunnel_state *);\n\tint (*cmp_encap)(struct lwtunnel_state *, struct lwtunnel_state *);\n\tint (*xmit)(struct sk_buff *);\n\tstruct module *owner;\n};\n\nstruct lwtunnel_state {\n\t__u16 type;\n\t__u16 flags;\n\t__u16 headroom;\n\tatomic_t refcnt;\n\tint (*orig_output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*orig_input)(struct sk_buff *);\n\tstruct callback_head rcu;\n\t__u8 data[0];\n};\n\nstruct lz4_comp_opts {\n\t__le32 version;\n\t__le32 flags;\n};\n\nstruct lzma2_dec {\n\tenum lzma2_seq sequence;\n\tenum lzma2_seq next_sequence;\n\tuint32_t uncompressed;\n\tuint32_t compressed;\n\tbool need_dict_reset;\n\tbool need_props;\n\tbool pedantic_microlzma;\n};\n\nstruct lzma_len_dec {\n\tuint16_t choice;\n\tuint16_t choice2;\n\tuint16_t low[128];\n\tuint16_t mid[128];\n\tuint16_t high[256];\n};\n\nstruct lzma_dec {\n\tuint32_t rep0;\n\tuint32_t rep1;\n\tuint32_t rep2;\n\tuint32_t rep3;\n\tenum lzma_state state;\n\tuint32_t len;\n\tuint32_t lc;\n\tuint32_t literal_pos_mask;\n\tuint32_t pos_mask;\n\tuint16_t is_match[192];\n\tuint16_t is_rep[12];\n\tuint16_t is_rep0[12];\n\tuint16_t is_rep1[12];\n\tuint16_t is_rep2[12];\n\tuint16_t is_rep0_long[192];\n\tuint16_t dist_slot[256];\n\tuint16_t dist_special[114];\n\tuint16_t dist_align[16];\n\tstruct lzma_len_dec match_len_dec;\n\tstruct lzma_len_dec rep_len_dec;\n\tuint16_t literal[12288];\n};\n\nstruct lzma_header {\n\tuint8_t pos;\n\tuint32_t dict_size;\n\tuint64_t dst_size;\n} __attribute__((packed));\n\nstruct lzo_ctx {\n\tvoid *lzo_comp_mem;\n};\n\nstruct lzorle_ctx {\n\tvoid *lzorle_comp_mem;\n};\n\nstruct ma_topiary {\n\tstruct maple_enode *head;\n\tstruct maple_enode *tail;\n\tstruct maple_tree *mtree;\n};\n\nstruct maple_node;\n\nstruct ma_wr_state {\n\tstruct ma_state *mas;\n\tstruct maple_node *node;\n\tlong unsigned int r_min;\n\tlong unsigned int r_max;\n\tenum maple_type type;\n\tunsigned char offset_end;\n\tlong unsigned int *pivots;\n\tlong unsigned int end_piv;\n\tvoid **slots;\n\tvoid *entry;\n\tvoid *content;\n};\n\nstruct mac_addr {\n\tunsigned char addr[6];\n};\n\ntypedef struct mac_addr mac_addr;\n\nstruct mac_address {\n\tu8 addr[6];\n};\n\nstruct mii_regs {\n\tunsigned int addr;\n\tunsigned int data;\n\tunsigned int addr_shift;\n\tunsigned int reg_shift;\n\tunsigned int addr_mask;\n\tunsigned int reg_mask;\n\tunsigned int clk_csr_shift;\n\tunsigned int clk_csr_mask;\n};\n\nstruct mac_link {\n\tu32 caps;\n\tu32 speed_mask;\n\tu32 speed10;\n\tu32 speed100;\n\tu32 speed1000;\n\tu32 speed2500;\n\tu32 duplex;\n\tstruct {\n\t\tu32 speed2500;\n\t\tu32 speed5000;\n\t\tu32 speed10000;\n\t} xgmii;\n\tstruct {\n\t\tu32 speed25000;\n\t\tu32 speed40000;\n\t\tu32 speed50000;\n\t\tu32 speed100000;\n\t} xlgmii;\n};\n\nstruct stmmac_ops;\n\nstruct stmmac_desc_ops;\n\nstruct stmmac_dma_ops;\n\nstruct stmmac_mode_ops;\n\nstruct stmmac_hwtimestamp;\n\nstruct stmmac_tc_ops;\n\nstruct stmmac_mmc_ops;\n\nstruct stmmac_est_ops;\n\nstruct mac_device_info {\n\tconst struct stmmac_ops *mac;\n\tconst struct stmmac_desc_ops *desc;\n\tconst struct stmmac_dma_ops *dma;\n\tconst struct stmmac_mode_ops *mode;\n\tconst struct stmmac_hwtimestamp *ptp;\n\tconst struct stmmac_tc_ops *tc;\n\tconst struct stmmac_mmc_ops *mmc;\n\tconst struct stmmac_est_ops *est;\n\tstruct dw_xpcs *xpcs;\n\tstruct phylink_pcs *phylink_pcs;\n\tstruct mii_regs mii;\n\tstruct mac_link link;\n\tvoid *pcsr;\n\tunsigned int multicast_filter_bins;\n\tunsigned int unicast_filter_entries;\n\tunsigned int mcast_bits_log2;\n\tunsigned int rx_csum;\n\tunsigned int pcs;\n\tunsigned int pmt;\n\tunsigned int ps;\n\tunsigned int xlgmac;\n\tunsigned int num_vlan;\n\tu32 vlan_filter[32];\n\tbool vlan_fail_q_en;\n\tu8 vlan_fail_q;\n\tbool hw_vlan_en;\n};\n\nstruct macsec_info {\n\tsci_t sci;\n};\n\nstruct macvlan_port;\n\nstruct vlan_pcpu_stats;\n\nstruct macvlan_dev {\n\tstruct net_device *dev;\n\tstruct list_head list;\n\tstruct hlist_node hlist;\n\tstruct macvlan_port *port;\n\tstruct net_device *lowerdev;\n\tnetdevice_tracker dev_tracker;\n\tvoid *accel_priv;\n\tstruct vlan_pcpu_stats *pcpu_stats;\n\tlong unsigned int mc_filter[4];\n\tnetdev_features_t set_features;\n\tenum macvlan_mode mode;\n\tu16 flags;\n\tunsigned int macaddr_count;\n\tu32 bc_queue_len_req;\n};\n\nstruct mmu_gather;\n\nstruct madvise_walk_private {\n\tstruct mmu_gather *tlb;\n\tbool pageout;\n};\n\nstruct mafield {\n\tconst char *prefix;\n\tint field;\n};\n\nstruct map_files_info {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tfmode_t mode;\n};\n\nstruct map_info___2 {\n\tstruct map_info___2 *next;\n\tstruct mm_struct *mm;\n\tlong unsigned int vaddr;\n};\n\nstruct map_iter {\n\tvoid *key;\n\tbool done;\n};\n\nstruct maple_alloc {\n\tlong unsigned int total;\n\tunsigned char node_count;\n\tunsigned int request_count;\n\tstruct maple_alloc *slot[30];\n};\n\nstruct maple_pnode;\n\nstruct maple_metadata {\n\tunsigned char end;\n\tunsigned char gap;\n};\n\nstruct maple_arange_64 {\n\tstruct maple_pnode *parent;\n\tlong unsigned int pivot[9];\n\tvoid *slot[10];\n\tlong unsigned int gap[10];\n\tstruct maple_metadata meta;\n};\n\nstruct maple_big_node {\n\tlong unsigned int pivot[33];\n\tunion {\n\t\tstruct maple_enode *slot[34];\n\t\tstruct {\n\t\t\tlong unsigned int padding[21];\n\t\t\tlong unsigned int gap[21];\n\t\t};\n\t};\n\tunsigned char b_end;\n\tenum maple_type type;\n};\n\nstruct maple_range_64 {\n\tstruct maple_pnode *parent;\n\tlong unsigned int pivot[15];\n\tunion {\n\t\tvoid *slot[16];\n\t\tstruct {\n\t\t\tvoid *pad[15];\n\t\t\tstruct maple_metadata meta;\n\t\t};\n\t};\n};\n\nstruct maple_node {\n\tunion {\n\t\tstruct {\n\t\t\tstruct maple_pnode *parent;\n\t\t\tvoid *slot[31];\n\t\t};\n\t\tstruct {\n\t\t\tvoid *pad;\n\t\t\tstruct callback_head rcu;\n\t\t\tstruct maple_enode *piv_parent;\n\t\t\tunsigned char parent_slot;\n\t\t\tenum maple_type type;\n\t\t\tunsigned char slot_len;\n\t\t\tunsigned int ma_flags;\n\t\t};\n\t\tstruct maple_range_64 mr64;\n\t\tstruct maple_arange_64 ma64;\n\t\tstruct maple_alloc alloc;\n\t};\n};\n\nstruct maple_subtree_state {\n\tstruct ma_state *orig_l;\n\tstruct ma_state *orig_r;\n\tstruct ma_state *l;\n\tstruct ma_state *m;\n\tstruct ma_state *r;\n\tstruct ma_topiary *free;\n\tstruct ma_topiary *destroy;\n\tstruct maple_big_node *bn;\n};\n\nstruct maple_topiary {\n\tstruct maple_pnode *parent;\n\tstruct maple_enode *next;\n};\n\nstruct mapped_device {\n\tstruct mutex suspend_lock;\n\tstruct mutex table_devices_lock;\n\tstruct list_head table_devices;\n\tvoid *map;\n\tlong unsigned int flags;\n\tstruct mutex type_lock;\n\tenum dm_queue_mode type;\n\tint numa_node_id;\n\tstruct request_queue *queue;\n\tatomic_t holders;\n\tatomic_t open_count;\n\tstruct dm_target *immutable_target;\n\tstruct target_type *immutable_target_type;\n\tchar name[16];\n\tstruct gendisk *disk;\n\tstruct dax_device *dax_dev;\n\twait_queue_head_t wait;\n\tlong unsigned int *pending_io;\n\tstruct hd_geometry geometry;\n\tstruct workqueue_struct *wq;\n\tstruct work_struct work;\n\tspinlock_t deferred_lock;\n\tstruct bio_list deferred;\n\tstruct work_struct requeue_work;\n\tstruct dm_io *requeue_list;\n\tvoid *interface_ptr;\n\twait_queue_head_t eventq;\n\tatomic_t event_nr;\n\tatomic_t uevent_seq;\n\tstruct list_head uevent_list;\n\tspinlock_t uevent_lock;\n\tbool init_tio_pdu: 1;\n\tstruct blk_mq_tag_set *tag_set;\n\tstruct dm_stats stats;\n\tunsigned int internal_suspend_count;\n\tint swap_bios;\n\tstruct semaphore swap_bios_semaphore;\n\tstruct mutex swap_bios_lock;\n\tstruct dm_md_mempools *mempools;\n\tstruct dm_kobject_holder kobj_holder;\n\tstruct srcu_struct io_barrier;\n\tunsigned int nr_zones;\n\tvoid *zone_revalidate_map;\n};\n\nstruct mapping_area {\n\tlocal_lock_t lock;\n\tchar *vm_buf;\n\tchar *vm_addr;\n\tenum zs_mapmode vm_mm;\n};\n\nstruct mapping_node {\n\tstruct {\n\t\tstruct rb_node rb_node;\n\t\tu64 bytenr;\n\t};\n\tvoid *data;\n};\n\nstruct mapping_tree {\n\tstruct rb_root rb_root;\n\tspinlock_t lock;\n};\n\nstruct match {\n\tu32 mode;\n\tu32 area;\n\tu8 depth;\n};\n\nstruct match_token {\n\tint token;\n\tconst char *pattern;\n};\n\nstruct match_workbuf {\n\tunsigned int count;\n\tunsigned int pos;\n\tunsigned int len;\n\tunsigned int size;\n\tunsigned int history[24];\n};\n\nstruct mb_cache {\n\tstruct hlist_bl_head *c_hash;\n\tint c_bucket_bits;\n\tlong unsigned int c_max_entries;\n\tspinlock_t c_list_lock;\n\tstruct list_head c_list;\n\tlong unsigned int c_entry_count;\n\tstruct shrinker *c_shrink;\n\tstruct work_struct c_shrink_work;\n};\n\nstruct mb_cache_entry {\n\tstruct list_head e_list;\n\tstruct hlist_bl_node e_hash_list;\n\tatomic_t e_refcnt;\n\tu32 e_key;\n\tlong unsigned int e_flags;\n\tu64 e_value;\n};\n\nstruct mc_subled {\n\tunsigned int color_index;\n\tunsigned int brightness;\n\tunsigned int intensity;\n\tunsigned int channel;\n};\n\nstruct mcfg_entry {\n\tstruct list_head list;\n\tphys_addr_t addr;\n\tu16 segment;\n\tu8 bus_start;\n\tu8 bus_end;\n};\n\nstruct pci_ecam_ops;\n\nstruct mcfg_fixup {\n\tchar oem_id[7];\n\tchar oem_table_id[9];\n\tu32 oem_revision;\n\tu16 segment;\n\tstruct resource bus_range;\n\tconst struct pci_ecam_ops *ops;\n\tstruct resource cfgres;\n};\n\nstruct mcontroller {\n\tuint64_t base;\n\tuint8_t irq;\n\tuint8_t numldrv;\n\tuint8_t pcibus;\n\tuint16_t pcidev;\n\tuint8_t pcifun;\n\tuint16_t pciid;\n\tuint16_t pcivendor;\n\tuint8_t pcislot;\n\tuint32_t uid;\n} __attribute__((packed));\n\nstruct mcontroller___2 {\n\tu64 base;\n\tu8 irq;\n\tu8 numldrv;\n\tu8 pcibus;\n\tu16 pcidev;\n\tu8 pcifun;\n\tu16 pciid;\n\tu16 pcivendor;\n\tu8 pcislot;\n\tu32 uid;\n};\n\ntypedef struct mcontroller mcontroller_t;\n\nstruct mcs_spinlock {\n\tstruct mcs_spinlock *next;\n\tint locked;\n\tint count;\n};\n\nstruct mctrl_gpios {\n\tstruct uart_port *port;\n\tstruct gpio_desc *gpio[6];\n\tint irq[6];\n\tunsigned int mctrl_prev;\n\tbool mctrl_on;\n};\n\nstruct md5_state {\n\tu32 hash[4];\n\tu32 block[16];\n\tu64 byte_count;\n};\n\nstruct mdio_board_info {\n\tconst char *bus_id;\n\tchar modalias[32];\n\tint mdio_addr;\n\tconst void *platform_data;\n};\n\nstruct mdio_board_entry {\n\tstruct list_head list;\n\tstruct mdio_board_info board_info;\n};\n\nstruct mdio_bus_stat_attr {\n\tint addr;\n\tunsigned int field_offset;\n};\n\nstruct mdio_bus_stats {\n\tu64_stats_t transfers;\n\tu64_stats_t errors;\n\tu64_stats_t writes;\n\tu64_stats_t reads;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct mdio_device {\n\tstruct device dev;\n\tstruct mii_bus *bus;\n\tchar modalias[32];\n\tint (*bus_match)(struct device *, const struct device_driver *);\n\tvoid (*device_free)(struct mdio_device *);\n\tvoid (*device_remove)(struct mdio_device *);\n\tint addr;\n\tint flags;\n\tint reset_state;\n\tstruct gpio_desc *reset_gpio;\n\tstruct reset_control *reset_ctrl;\n\tunsigned int reset_assert_delay;\n\tunsigned int reset_deassert_delay;\n};\n\nstruct mdio_device_id {\n\t__u32 phy_id;\n\t__u32 phy_id_mask;\n};\n\nstruct mdio_driver_common {\n\tstruct device_driver driver;\n\tint flags;\n};\n\nstruct mdio_driver {\n\tstruct mdio_driver_common mdiodrv;\n\tint (*probe)(struct mdio_device *);\n\tvoid (*remove)(struct mdio_device *);\n\tvoid (*shutdown)(struct mdio_device *);\n};\n\nstruct mdiobus_devres {\n\tstruct mii_bus *mii;\n};\n\nstruct media_event_desc {\n\t__u8 media_event_code: 4;\n\t__u8 reserved1: 4;\n\t__u8 door_open: 1;\n\t__u8 media_present: 1;\n\t__u8 reserved2: 6;\n\t__u8 start_slot;\n\t__u8 end_slot;\n};\n\nstruct mega_hbas {\n\tint is_bios_enabled;\n\tadapter_t *hostdata_addr;\n};\n\nstruct megaraid_cmd_priv {\n\tstruct list_head entry;\n};\n\nstruct megasas_abort_frame {\n\tu8 cmd;\n\tu8 reserved_0;\n\tu8 cmd_status;\n\tu8 reserved_1;\n\t__le32 reserved_2;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 reserved_3;\n\t__le32 reserved_4;\n\t__le32 abort_context;\n\t__le32 pad_1;\n\t__le32 abort_mfi_phys_addr_lo;\n\t__le32 abort_mfi_phys_addr_hi;\n\t__le32 reserved_5[6];\n};\n\nstruct megasas_aen {\n\tu16 host_no;\n\tu16 __pad1;\n\tu32 seq_num;\n\tu32 class_locale_word;\n};\n\nstruct megasas_instance;\n\nstruct megasas_aen_event {\n\tstruct delayed_work hotplug_work;\n\tstruct megasas_instance *instance;\n};\n\nunion megasas_frame;\n\nstruct megasas_cmd {\n\tunion megasas_frame *frame;\n\tdma_addr_t frame_phys_addr;\n\tu8 *sense;\n\tdma_addr_t sense_phys_addr;\n\tu32 index;\n\tu8 sync_cmd;\n\tu8 cmd_status_drv;\n\tu8 abort_aen;\n\tu8 retry_for_fw_reset;\n\tstruct list_head list;\n\tstruct scsi_cmnd *scmd;\n\tu8 flags;\n\tstruct megasas_instance *instance;\n\tunion {\n\t\tstruct {\n\t\t\tu16 smid;\n\t\t\tu16 resvd;\n\t\t} context;\n\t\tu32 frame_count;\n\t};\n};\n\nstruct megasas_cmd_fusion {\n\tstruct MPI2_RAID_SCSI_IO_REQUEST *io_request;\n\tdma_addr_t io_request_phys_addr;\n\tunion MPI2_SGE_IO_UNION *sg_frame;\n\tdma_addr_t sg_frame_phys_addr;\n\tu8 *sense;\n\tdma_addr_t sense_phys_addr;\n\tstruct list_head list;\n\tstruct scsi_cmnd *scmd;\n\tstruct megasas_instance *instance;\n\tu8 retry_for_fw_reset;\n\tunion MEGASAS_REQUEST_DESCRIPTOR_UNION *request_desc;\n\tu32 sync_cmd_idx;\n\tu32 index;\n\tu8 pd_r1_lb;\n\tstruct completion done;\n\tu8 pd_interface;\n\tu16 r1_alt_dev_handle;\n\tbool cmd_completed;\n};\n\nstruct megasas_cmd_priv {\n\tvoid *cmd_priv;\n\tu8 status;\n};\n\nstruct megasas_ctrl_prop {\n\tu16 seq_num;\n\tu16 pred_fail_poll_interval;\n\tu16 intr_throttle_count;\n\tu16 intr_throttle_timeouts;\n\tu8 rebuild_rate;\n\tu8 patrol_read_rate;\n\tu8 bgi_rate;\n\tu8 cc_rate;\n\tu8 recon_rate;\n\tu8 cache_flush_interval;\n\tu8 spinup_drv_count;\n\tu8 spinup_delay;\n\tu8 cluster_enable;\n\tu8 coercion_mode;\n\tu8 alarm_enable;\n\tu8 disable_auto_rebuild;\n\tu8 disable_battery_warn;\n\tu8 ecc_bucket_size;\n\tu16 ecc_bucket_leak_rate;\n\tu8 restore_hotspare_on_insertion;\n\tu8 expose_encl_devices;\n\tu8 maintainPdFailHistory;\n\tu8 disallowHostRequestReordering;\n\tu8 abortCCOnError;\n\tu8 loadBalanceMode;\n\tu8 disableAutoDetectBackplane;\n\tu8 snapVDSpace;\n\tstruct {\n\t\tu32 copyBackDisabled: 1;\n\t\tu32 SMARTerEnabled: 1;\n\t\tu32 prCorrectUnconfiguredAreas: 1;\n\t\tu32 useFdeOnly: 1;\n\t\tu32 disableNCQ: 1;\n\t\tu32 SSDSMARTerEnabled: 1;\n\t\tu32 SSDPatrolReadEnabled: 1;\n\t\tu32 enableSpinDownUnconfigured: 1;\n\t\tu32 autoEnhancedImport: 1;\n\t\tu32 enableSecretKeyControl: 1;\n\t\tu32 disableOnlineCtrlReset: 1;\n\t\tu32 allowBootWithPinnedCache: 1;\n\t\tu32 disableSpinDownHS: 1;\n\t\tu32 enableJBOD: 1;\n\t\tu32 reserved: 18;\n\t} OnOffProperties;\n\tunion {\n\t\tu8 autoSnapVDSpace;\n\t\tu8 viewSpace;\n\t\tstruct {\n\t\t\tu16 reserved1: 4;\n\t\t\tu16 enable_snap_dump: 1;\n\t\t\tu16 reserved2: 1;\n\t\t\tu16 enable_fw_dev_list: 1;\n\t\t\tu16 reserved3: 9;\n\t\t} on_off_properties2;\n\t};\n\t__le16 spinDownTime;\n\tu8 reserved[24];\n};\n\nstruct megasas_ctrl_info {\n\tstruct {\n\t\t__le16 vendor_id;\n\t\t__le16 device_id;\n\t\t__le16 sub_vendor_id;\n\t\t__le16 sub_device_id;\n\t\tu8 reserved[24];\n\t} pci;\n\tstruct {\n\t\tu8 PCIX: 1;\n\t\tu8 PCIE: 1;\n\t\tu8 iSCSI: 1;\n\t\tu8 SAS_3G: 1;\n\t\tu8 SRIOV: 1;\n\t\tu8 reserved_0: 3;\n\t\tu8 reserved_1[6];\n\t\tu8 port_count;\n\t\tu64 port_addr[8];\n\t} host_interface;\n\tstruct {\n\t\tu8 SPI: 1;\n\t\tu8 SAS_3G: 1;\n\t\tu8 SATA_1_5G: 1;\n\t\tu8 SATA_3G: 1;\n\t\tu8 reserved_0: 4;\n\t\tu8 reserved_1[6];\n\t\tu8 port_count;\n\t\tu64 port_addr[8];\n\t} device_interface;\n\t__le32 image_check_word;\n\t__le32 image_component_count;\n\tstruct {\n\t\tchar name[8];\n\t\tchar version[32];\n\t\tchar build_date[16];\n\t\tchar built_time[16];\n\t} image_component[8];\n\t__le32 pending_image_component_count;\n\tstruct {\n\t\tchar name[8];\n\t\tchar version[32];\n\t\tchar build_date[16];\n\t\tchar build_time[16];\n\t} pending_image_component[8];\n\tu8 max_arms;\n\tu8 max_spans;\n\tu8 max_arrays;\n\tu8 max_lds;\n\tchar product_name[80];\n\tchar serial_no[32];\n\tstruct {\n\t\tu32 bbu: 1;\n\t\tu32 alarm: 1;\n\t\tu32 nvram: 1;\n\t\tu32 uart: 1;\n\t\tu32 reserved: 28;\n\t} hw_present;\n\t__le32 current_fw_time;\n\t__le16 max_concurrent_cmds;\n\t__le16 max_sge_count;\n\t__le32 max_request_size;\n\t__le16 ld_present_count;\n\t__le16 ld_degraded_count;\n\t__le16 ld_offline_count;\n\t__le16 pd_present_count;\n\t__le16 pd_disk_present_count;\n\t__le16 pd_disk_pred_failure_count;\n\t__le16 pd_disk_failed_count;\n\t__le16 nvram_size;\n\t__le16 memory_size;\n\t__le16 flash_size;\n\t__le16 mem_correctable_error_count;\n\t__le16 mem_uncorrectable_error_count;\n\tu8 cluster_permitted;\n\tu8 cluster_active;\n\t__le16 max_strips_per_io;\n\tstruct {\n\t\tu32 raid_level_0: 1;\n\t\tu32 raid_level_1: 1;\n\t\tu32 raid_level_5: 1;\n\t\tu32 raid_level_1E: 1;\n\t\tu32 raid_level_6: 1;\n\t\tu32 reserved: 27;\n\t} raid_levels;\n\tstruct {\n\t\tu32 rbld_rate: 1;\n\t\tu32 cc_rate: 1;\n\t\tu32 bgi_rate: 1;\n\t\tu32 recon_rate: 1;\n\t\tu32 patrol_rate: 1;\n\t\tu32 alarm_control: 1;\n\t\tu32 cluster_supported: 1;\n\t\tu32 bbu: 1;\n\t\tu32 spanning_allowed: 1;\n\t\tu32 dedicated_hotspares: 1;\n\t\tu32 revertible_hotspares: 1;\n\t\tu32 foreign_config_import: 1;\n\t\tu32 self_diagnostic: 1;\n\t\tu32 mixed_redundancy_arr: 1;\n\t\tu32 global_hot_spares: 1;\n\t\tu32 reserved: 17;\n\t} adapter_operations;\n\tstruct {\n\t\tu32 read_policy: 1;\n\t\tu32 write_policy: 1;\n\t\tu32 io_policy: 1;\n\t\tu32 access_policy: 1;\n\t\tu32 disk_cache_policy: 1;\n\t\tu32 reserved: 27;\n\t} ld_operations;\n\tstruct {\n\t\tu8 min;\n\t\tu8 max;\n\t\tu8 reserved[2];\n\t} stripe_sz_ops;\n\tstruct {\n\t\tu32 force_online: 1;\n\t\tu32 force_offline: 1;\n\t\tu32 force_rebuild: 1;\n\t\tu32 reserved: 29;\n\t} pd_operations;\n\tstruct {\n\t\tu32 ctrl_supports_sas: 1;\n\t\tu32 ctrl_supports_sata: 1;\n\t\tu32 allow_mix_in_encl: 1;\n\t\tu32 allow_mix_in_ld: 1;\n\t\tu32 allow_sata_in_cluster: 1;\n\t\tu32 reserved: 27;\n\t} pd_mix_support;\n\tu8 ecc_bucket_count;\n\tu8 reserved_2[11];\n\tstruct megasas_ctrl_prop properties;\n\tchar package_version[96];\n\t__le64 deviceInterfacePortAddr2[8];\n\tu8 reserved3[128];\n\tstruct {\n\t\tu16 minPdRaidLevel_0: 4;\n\t\tu16 maxPdRaidLevel_0: 12;\n\t\tu16 minPdRaidLevel_1: 4;\n\t\tu16 maxPdRaidLevel_1: 12;\n\t\tu16 minPdRaidLevel_5: 4;\n\t\tu16 maxPdRaidLevel_5: 12;\n\t\tu16 minPdRaidLevel_1E: 4;\n\t\tu16 maxPdRaidLevel_1E: 12;\n\t\tu16 minPdRaidLevel_6: 4;\n\t\tu16 maxPdRaidLevel_6: 12;\n\t\tu16 minPdRaidLevel_10: 4;\n\t\tu16 maxPdRaidLevel_10: 12;\n\t\tu16 minPdRaidLevel_50: 4;\n\t\tu16 maxPdRaidLevel_50: 12;\n\t\tu16 minPdRaidLevel_60: 4;\n\t\tu16 maxPdRaidLevel_60: 12;\n\t\tu16 minPdRaidLevel_1E_RLQ0: 4;\n\t\tu16 maxPdRaidLevel_1E_RLQ0: 12;\n\t\tu16 minPdRaidLevel_1E0_RLQ0: 4;\n\t\tu16 maxPdRaidLevel_1E0_RLQ0: 12;\n\t\tu16 reserved[6];\n\t} pdsForRaidLevels;\n\t__le16 maxPds;\n\t__le16 maxDedHSPs;\n\t__le16 maxGlobalHSP;\n\t__le16 ddfSize;\n\tu8 maxLdsPerArray;\n\tu8 partitionsInDDF;\n\tu8 lockKeyBinding;\n\tu8 maxPITsPerLd;\n\tu8 maxViewsPerLd;\n\tu8 maxTargetId;\n\t__le16 maxBvlVdSize;\n\t__le16 maxConfigurableSSCSize;\n\t__le16 currentSSCsize;\n\tchar expanderFwVersion[12];\n\t__le16 PFKTrialTimeRemaining;\n\t__le16 cacheMemorySize;\n\tstruct {\n\t\tu32 supportPIcontroller: 1;\n\t\tu32 supportLdPIType1: 1;\n\t\tu32 supportLdPIType2: 1;\n\t\tu32 supportLdPIType3: 1;\n\t\tu32 supportLdBBMInfo: 1;\n\t\tu32 supportShieldState: 1;\n\t\tu32 blockSSDWriteCacheChange: 1;\n\t\tu32 supportSuspendResumeBGops: 1;\n\t\tu32 supportEmergencySpares: 1;\n\t\tu32 supportSetLinkSpeed: 1;\n\t\tu32 supportBootTimePFKChange: 1;\n\t\tu32 supportJBOD: 1;\n\t\tu32 disableOnlinePFKChange: 1;\n\t\tu32 supportPerfTuning: 1;\n\t\tu32 supportSSDPatrolRead: 1;\n\t\tu32 realTimeScheduler: 1;\n\t\tu32 supportResetNow: 1;\n\t\tu32 supportEmulatedDrives: 1;\n\t\tu32 headlessMode: 1;\n\t\tu32 dedicatedHotSparesLimited: 1;\n\t\tu32 supportUnevenSpans: 1;\n\t\tu32 supportPointInTimeProgress: 1;\n\t\tu32 supportDataLDonSSCArray: 1;\n\t\tu32 mpio: 1;\n\t\tu32 supportConfigAutoBalance: 1;\n\t\tu32 activePassive: 2;\n\t\tu32 reserved: 5;\n\t} adapterOperations2;\n\tu8 driverVersion[32];\n\tu8 maxDAPdCountSpinup60;\n\tu8 temperatureROC;\n\tu8 temperatureCtrl;\n\tu8 reserved4;\n\t__le16 maxConfigurablePds;\n\tu8 reserved5[2];\n\tstruct {\n\t\tu32 peerIsPresent: 1;\n\t\tu32 peerIsIncompatible: 1;\n\t\tu32 hwIncompatible: 1;\n\t\tu32 fwVersionMismatch: 1;\n\t\tu32 ctrlPropIncompatible: 1;\n\t\tu32 premiumFeatureMismatch: 1;\n\t\tu32 passive: 1;\n\t\tu32 reserved: 25;\n\t} cluster;\n\tchar clusterId[16];\n\tstruct {\n\t\tu8 maxVFsSupported;\n\t\tu8 numVFsEnabled;\n\t\tu8 requestorId;\n\t\tu8 reserved;\n\t} iov;\n\tstruct {\n\t\tu32 supportPersonalityChange: 2;\n\t\tu32 supportThermalPollInterval: 1;\n\t\tu32 supportDisableImmediateIO: 1;\n\t\tu32 supportT10RebuildAssist: 1;\n\t\tu32 supportMaxExtLDs: 1;\n\t\tu32 supportCrashDump: 1;\n\t\tu32 supportSwZone: 1;\n\t\tu32 supportDebugQueue: 1;\n\t\tu32 supportNVCacheErase: 1;\n\t\tu32 supportForceTo512e: 1;\n\t\tu32 supportHOQRebuild: 1;\n\t\tu32 supportAllowedOpsforDrvRemoval: 1;\n\t\tu32 supportDrvActivityLEDSetting: 1;\n\t\tu32 supportNVDRAM: 1;\n\t\tu32 supportForceFlash: 1;\n\t\tu32 supportDisableSESMonitoring: 1;\n\t\tu32 supportCacheBypassModes: 1;\n\t\tu32 supportSecurityonJBOD: 1;\n\t\tu32 discardCacheDuringLDDelete: 1;\n\t\tu32 supportTTYLogCompression: 1;\n\t\tu32 supportCPLDUpdate: 1;\n\t\tu32 supportDiskCacheSettingForSysPDs: 1;\n\t\tu32 supportExtendedSSCSize: 1;\n\t\tu32 useSeqNumJbodFP: 1;\n\t\tu32 reserved: 7;\n\t} adapterOperations3;\n\tstruct {\n\t\tu8 cpld_in_flash: 1;\n\t\tu8 reserved: 7;\n\t\tu8 reserved1[3];\n\t\tu8 userCodeDefinition[12];\n\t} cpld;\n\tstruct {\n\t\tu16 ctrl_info_ext_supported: 1;\n\t\tu16 support_ibutton_less: 1;\n\t\tu16 supported_enc_algo: 1;\n\t\tu16 support_encrypted_mfc: 1;\n\t\tu16 image_upload_supported: 1;\n\t\tu16 support_ses_ctrl_in_multipathcfg: 1;\n\t\tu16 support_pd_map_target_id: 1;\n\t\tu16 fw_swaps_bbu_vpd_info: 1;\n\t\tu16 support_ssc_rev3: 1;\n\t\tu16 support_dual_fw_update: 1;\n\t\tu16 support_host_info: 1;\n\t\tu16 support_flash_comp_info: 1;\n\t\tu16 support_pl_debug_info: 1;\n\t\tu16 support_nvme_passthru: 1;\n\t\tu16 reserved: 2;\n\t} adapter_operations4;\n\tu8 pad[2];\n\tu32 size;\n\tu32 pad1;\n\tu8 reserved6[64];\n\tstruct {\n\t\tu32 mr_config_ext2_supported: 1;\n\t\tu32 support_profile_change: 2;\n\t\tu32 support_cvhealth_info: 1;\n\t\tu32 support_pcie: 1;\n\t\tu32 support_ext_mfg_vpd: 1;\n\t\tu32 support_oce_only: 1;\n\t\tu32 support_nvme_tm: 1;\n\t\tu32 support_snap_dump: 1;\n\t\tu32 support_fde_type_mix: 1;\n\t\tu32 support_force_personality_change: 1;\n\t\tu32 support_psoc_update: 1;\n\t\tu32 support_pci_lane_margining: 1;\n\t\tu32 reserved: 19;\n\t} adapter_operations5;\n\tu32 rsvdForAdptOp[63];\n\tu8 reserved7[3];\n\tu8 TaskAbortTO;\n\tu8 MaxResetTO;\n\tu8 reserved8[3];\n};\n\nstruct megasas_sge32 {\n\t__le32 phys_addr;\n\t__le32 length;\n};\n\nstruct megasas_sge64 {\n\t__le64 phys_addr;\n\t__le32 length;\n} __attribute__((packed));\n\nstruct megasas_sge_skinny {\n\t__le64 phys_addr;\n\t__le32 length;\n\t__le32 flag;\n};\n\nunion megasas_sgl {\n\tstruct {\n\t\tstruct {} __empty_sge32;\n\t\tstruct megasas_sge32 sge32[0];\n\t};\n\tstruct {\n\t\tstruct {} __empty_sge64;\n\t\tstruct megasas_sge64 sge64[0];\n\t};\n\tstruct {\n\t\tstruct {} __empty_sge_skinny;\n\t\tstruct megasas_sge_skinny sge_skinny[0];\n\t};\n};\n\nstruct megasas_dcmd_frame {\n\tu8 cmd;\n\tu8 reserved_0;\n\tu8 cmd_status;\n\tu8 reserved_1[4];\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xfer_len;\n\t__le32 opcode;\n\tunion {\n\t\tu8 b[12];\n\t\t__le16 s[6];\n\t\t__le32 w[3];\n\t} mbox;\n\tunion megasas_sgl sgl;\n};\n\nstruct megasas_debugfs_buffer {\n\tvoid *buf;\n\tu32 len;\n};\n\nunion megasas_evt_class_locale {\n\tstruct {\n\t\tu16 locale;\n\t\tu8 reserved;\n\t\ts8 class;\n\t} members;\n\tu32 word;\n};\n\nstruct megasas_evtarg_pd {\n\tu16 device_id;\n\tu8 encl_index;\n\tu8 slot_number;\n};\n\nstruct megasas_evtarg_ld {\n\tu16 target_id;\n\tu8 ld_index;\n\tu8 reserved;\n};\n\nstruct megasas_progress {\n\t__le16 progress;\n\t__le16 elapsed_seconds;\n};\n\nstruct megasas_evt_detail {\n\t__le32 seq_num;\n\t__le32 time_stamp;\n\t__le32 code;\n\tunion megasas_evt_class_locale cl;\n\tu8 arg_type;\n\tu8 reserved1[15];\n\tunion {\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tu8 cdb_length;\n\t\t\tu8 sense_length;\n\t\t\tu8 reserved[2];\n\t\t\tu8 cdb[16];\n\t\t\tu8 sense[64];\n\t\t} cdbSense;\n\t\tstruct megasas_evtarg_ld ld;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\t__le64 count;\n\t\t} __attribute__((packed)) ld_count;\n\t\tstruct {\n\t\t\t__le64 lba;\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t} __attribute__((packed)) ld_lba;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\t__le32 prevOwner;\n\t\t\t__le32 newOwner;\n\t\t} ld_owner;\n\t\tstruct {\n\t\t\tu64 ld_lba;\n\t\t\tu64 pd_lba;\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t} ld_lba_pd_lba;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\tstruct megasas_progress prog;\n\t\t} ld_prog;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t\tu32 prev_state;\n\t\t\tu32 new_state;\n\t\t} ld_state;\n\t\tstruct {\n\t\t\tu64 strip;\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t} __attribute__((packed)) ld_strip;\n\t\tstruct megasas_evtarg_pd pd;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tu32 err;\n\t\t} pd_err;\n\t\tstruct {\n\t\t\tu64 lba;\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t} __attribute__((packed)) pd_lba;\n\t\tstruct {\n\t\t\tu64 lba;\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tstruct megasas_evtarg_ld ld;\n\t\t} pd_lba_ld;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tstruct megasas_progress prog;\n\t\t} pd_prog;\n\t\tstruct {\n\t\t\tstruct megasas_evtarg_pd pd;\n\t\t\tu32 prevState;\n\t\t\tu32 newState;\n\t\t} pd_state;\n\t\tstruct {\n\t\t\tu16 vendorId;\n\t\t\t__le16 deviceId;\n\t\t\tu16 subVendorId;\n\t\t\tu16 subDeviceId;\n\t\t} pci;\n\t\tu32 rate;\n\t\tchar str[96];\n\t\tstruct {\n\t\t\tu32 rtc;\n\t\t\tu32 elapsedSeconds;\n\t\t} time;\n\t\tstruct {\n\t\t\tu32 ecar;\n\t\t\tu32 elog;\n\t\t\tchar str[64];\n\t\t} ecc;\n\t\tu8 b[96];\n\t\t__le16 s[48];\n\t\t__le32 w[24];\n\t\t__le64 d[12];\n\t} args;\n\tchar description[128];\n};\n\nstruct megasas_evt_log_info {\n\t__le32 newest_seq_num;\n\t__le32 oldest_seq_num;\n\t__le32 clear_seq_num;\n\t__le32 shutdown_seq_num;\n\t__le32 boot_seq_num;\n};\n\nstruct megasas_init_frame {\n\tu8 cmd;\n\tu8 reserved_0;\n\tu8 cmd_status;\n\tu8 reserved_1;\n\tMFI_CAPABILITIES driver_operations;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 replyqueue_mask;\n\t__le32 data_xfer_len;\n\t__le32 queue_info_new_phys_addr_lo;\n\t__le32 queue_info_new_phys_addr_hi;\n\t__le32 queue_info_old_phys_addr_lo;\n\t__le32 queue_info_old_phys_addr_hi;\n\t__le32 reserved_4[2];\n\t__le32 system_info_lo;\n\t__le32 system_info_hi;\n\t__le32 reserved_5[2];\n};\n\nstruct megasas_io_frame {\n\tu8 cmd;\n\tu8 sense_len;\n\tu8 cmd_status;\n\tu8 scsi_status;\n\tu8 target_id;\n\tu8 access_byte;\n\tu8 reserved_0;\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 lba_count;\n\t__le32 sense_buf_phys_addr_lo;\n\t__le32 sense_buf_phys_addr_hi;\n\t__le32 start_lba_lo;\n\t__le32 start_lba_hi;\n\tunion megasas_sgl sgl;\n};\n\nstruct megasas_pthru_frame {\n\tu8 cmd;\n\tu8 sense_len;\n\tu8 cmd_status;\n\tu8 scsi_status;\n\tu8 target_id;\n\tu8 lun;\n\tu8 cdb_len;\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xfer_len;\n\t__le32 sense_buf_phys_addr_lo;\n\t__le32 sense_buf_phys_addr_hi;\n\tu8 cdb[16];\n\tunion megasas_sgl sgl;\n};\n\nstruct megasas_smp_frame {\n\tu8 cmd;\n\tu8 reserved_1;\n\tu8 cmd_status;\n\tu8 connection_status;\n\tu8 reserved_2[3];\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xfer_len;\n\t__le64 sas_addr;\n\tunion {\n\t\tstruct megasas_sge32 sge32[2];\n\t\tstruct megasas_sge64 sge64[2];\n\t} sgl;\n};\n\nstruct megasas_stp_frame {\n\tu8 cmd;\n\tu8 reserved_1;\n\tu8 cmd_status;\n\tu8 reserved_2;\n\tu8 target_id;\n\tu8 reserved_3[2];\n\tu8 sge_count;\n\t__le32 context;\n\t__le32 pad_0;\n\t__le16 flags;\n\t__le16 timeout;\n\t__le32 data_xfer_len;\n\t__le16 fis[10];\n\t__le32 stp_flags;\n\tunion {\n\t\tstruct megasas_sge32 sge32[2];\n\t\tstruct megasas_sge64 sge64[2];\n\t} sgl;\n};\n\nunion megasas_frame {\n\tstruct megasas_header hdr;\n\tstruct megasas_init_frame init;\n\tstruct megasas_io_frame io;\n\tstruct megasas_pthru_frame pthru;\n\tstruct megasas_dcmd_frame dcmd;\n\tstruct megasas_abort_frame abort;\n\tstruct megasas_smp_frame smp;\n\tstruct megasas_stp_frame stp;\n\tu8 raw_bytes[64];\n};\n\nstruct megasas_init_queue_info {\n\t__le32 init_flags;\n\t__le32 reply_queue_entries;\n\t__le32 reply_queue_start_phys_addr_lo;\n\t__le32 reply_queue_start_phys_addr_hi;\n\t__le32 producer_index_phys_addr_lo;\n\t__le32 producer_index_phys_addr_hi;\n\t__le32 consumer_index_phys_addr_lo;\n\t__le32 consumer_index_phys_addr_hi;\n};\n\nstruct megasas_pd_list {\n\tu16 tid;\n\tu8 driveType;\n\tu8 driveState;\n};\n\nstruct megasas_irq_context {\n\tchar name[32];\n\tstruct megasas_instance *instance;\n\tu32 MSIxIndex;\n\tu32 os_irq;\n\tstruct irq_poll irqpoll;\n\tbool irq_poll_scheduled;\n\tbool irq_line_enable;\n\tatomic_t in_used;\n};\n\nstruct megasas_register_set;\n\nstruct megasas_instance_template;\n\nstruct megasas_instance {\n\tunsigned int *reply_map;\n\t__le32 *producer;\n\tdma_addr_t producer_h;\n\t__le32 *consumer;\n\tdma_addr_t consumer_h;\n\tstruct MR_DRV_SYSTEM_INFO *system_info_buf;\n\tdma_addr_t system_info_h;\n\tstruct MR_LD_VF_AFFILIATION *vf_affiliation;\n\tdma_addr_t vf_affiliation_h;\n\tstruct MR_LD_VF_AFFILIATION_111 *vf_affiliation_111;\n\tdma_addr_t vf_affiliation_111_h;\n\tstruct MR_CTRL_HB_HOST_MEM *hb_host_mem;\n\tdma_addr_t hb_host_mem_h;\n\tstruct MR_PD_INFO *pd_info;\n\tdma_addr_t pd_info_h;\n\tstruct MR_TARGET_PROPERTIES *tgt_prop;\n\tdma_addr_t tgt_prop_h;\n\t__le32 *reply_queue;\n\tdma_addr_t reply_queue_h;\n\tu32 *crash_dump_buf;\n\tdma_addr_t crash_dump_h;\n\tstruct MR_PD_LIST *pd_list_buf;\n\tdma_addr_t pd_list_buf_h;\n\tstruct megasas_ctrl_info *ctrl_info_buf;\n\tdma_addr_t ctrl_info_buf_h;\n\tstruct MR_LD_LIST *ld_list_buf;\n\tdma_addr_t ld_list_buf_h;\n\tstruct MR_LD_TARGETID_LIST *ld_targetid_list_buf;\n\tdma_addr_t ld_targetid_list_buf_h;\n\tstruct MR_HOST_DEVICE_LIST *host_device_list_buf;\n\tdma_addr_t host_device_list_buf_h;\n\tstruct MR_SNAPDUMP_PROPERTIES *snapdump_prop;\n\tdma_addr_t snapdump_prop_h;\n\tvoid *crash_buf[512];\n\tunsigned int fw_crash_buffer_size;\n\tunsigned int fw_crash_state;\n\tunsigned int fw_crash_buffer_offset;\n\tu32 drv_buf_index;\n\tu32 drv_buf_alloc;\n\tu32 crash_dump_fw_support;\n\tu32 crash_dump_drv_support;\n\tu32 crash_dump_app_support;\n\tu32 secure_jbod_support;\n\tu32 support_morethan256jbod;\n\tbool use_seqnum_jbod_fp;\n\tbool smp_affinity_enable;\n\tstruct mutex crashdump_lock;\n\tstruct megasas_register_set *reg_set;\n\tu32 *reply_post_host_index_addr[16];\n\tstruct megasas_pd_list pd_list[256];\n\tstruct megasas_pd_list local_pd_list[256];\n\tu8 ld_ids[256];\n\tu8 ld_tgtid_status[256];\n\tu8 ld_ids_prev[256];\n\tu8 ld_ids_from_raidmap[256];\n\ts8 init_id;\n\tu16 max_num_sge;\n\tu16 max_fw_cmds;\n\tu16 max_mpt_cmds;\n\tu16 max_mfi_cmds;\n\tu16 max_scsi_cmds;\n\tu16 ldio_threshold;\n\tu16 cur_can_queue;\n\tu32 max_sectors_per_req;\n\tbool msix_load_balance;\n\tstruct megasas_aen_event *ev;\n\tstruct megasas_cmd **cmd_list;\n\tstruct list_head cmd_pool;\n\tspinlock_t mfi_pool_lock;\n\tspinlock_t hba_lock;\n\tspinlock_t stream_lock;\n\tspinlock_t completion_lock;\n\tstruct dma_pool *frame_dma_pool;\n\tstruct dma_pool *sense_dma_pool;\n\tstruct megasas_evt_detail *evt_detail;\n\tdma_addr_t evt_detail_h;\n\tstruct megasas_cmd *aen_cmd;\n\tstruct semaphore ioctl_sem;\n\tstruct Scsi_Host *host;\n\twait_queue_head_t int_cmd_wait_q;\n\twait_queue_head_t abort_cmd_wait_q;\n\tstruct pci_dev *pdev;\n\tu32 unique_id;\n\tu32 fw_support_ieee;\n\tu32 threshold_reply_count;\n\tatomic_t fw_outstanding;\n\tatomic_t ldio_outstanding;\n\tatomic_t fw_reset_no_pci_access;\n\tatomic64_t total_io_count;\n\tatomic64_t high_iops_outstanding;\n\tstruct megasas_instance_template *instancet;\n\tstruct tasklet_struct isr_tasklet;\n\tstruct work_struct work_init;\n\tstruct delayed_work fw_fault_work;\n\tstruct workqueue_struct *fw_fault_work_q;\n\tchar fault_handler_work_q_name[48];\n\tu8 flag;\n\tu8 unload;\n\tu8 flag_ieee;\n\tu8 issuepend_done;\n\tu8 disableOnlineCtrlReset;\n\tu8 UnevenSpanSupport;\n\tu8 supportmax256vd;\n\tu8 pd_list_not_supported;\n\tu16 fw_supported_vd_count;\n\tu16 fw_supported_pd_count;\n\tu16 drv_supported_vd_count;\n\tu16 drv_supported_pd_count;\n\tatomic_t adprecovery;\n\tlong unsigned int last_time;\n\tu32 mfiStatus;\n\tu32 last_seq_num;\n\tstruct list_head internal_reset_pending_q;\n\tvoid *ctrl_context;\n\tunsigned int msix_vectors;\n\tstruct megasas_irq_context irq_context[128];\n\tu64 map_id;\n\tu64 pd_seq_map_id;\n\tstruct megasas_cmd *map_update_cmd;\n\tstruct megasas_cmd *jbod_seq_cmd;\n\tlong unsigned int bar;\n\tlong int reset_flags;\n\tstruct mutex reset_mutex;\n\tstruct timer_list sriov_heartbeat_timer;\n\tchar skip_heartbeat_timer_del;\n\tu8 requestorId;\n\tchar PlasmaFW111;\n\tchar clusterId[16];\n\tu8 peerIsPresent;\n\tu8 passive;\n\tu16 throttlequeuedepth;\n\tu8 mask_interrupts;\n\tu16 max_chain_frame_sz;\n\tu8 is_imr;\n\tu8 is_rdpq;\n\tbool dev_handle;\n\tbool fw_sync_cache_support;\n\tu32 mfi_frame_size;\n\tbool msix_combined;\n\tu16 max_raid_mapsize;\n\tu8 r1_ldio_hint_default;\n\tu32 nvme_page_size;\n\tu8 adapter_type;\n\tbool consistent_mask_64bit;\n\tbool support_nvme_passthru;\n\tbool enable_sdev_max_qd;\n\tu8 task_abort_tmo;\n\tu8 max_reset_tmo;\n\tu8 snapdump_wait_time;\n\tstruct dentry *debugfs_root;\n\tstruct dentry *raidmap_dump;\n\tu8 enable_fw_dev_list;\n\tbool atomic_desc_support;\n\tbool support_seqnum_jbod_fp;\n\tbool support_pci_lane_margining;\n\tu8 low_latency_index_start;\n\tint perf_mode;\n\tint iopoll_q_count;\n};\n\nstruct megasas_instance_template {\n\tvoid (*fire_cmd)(struct megasas_instance *, dma_addr_t, u32, struct megasas_register_set *);\n\tvoid (*enable_intr)(struct megasas_instance *);\n\tvoid (*disable_intr)(struct megasas_instance *);\n\tint (*clear_intr)(struct megasas_instance *);\n\tu32 (*read_fw_status_reg)(struct megasas_instance *);\n\tint (*adp_reset)(struct megasas_instance *, struct megasas_register_set *);\n\tint (*check_reset)(struct megasas_instance *, struct megasas_register_set *);\n\tirqreturn_t (*service_isr)(int, void *);\n\tvoid (*tasklet)(long unsigned int);\n\tu32 (*init_adapter)(struct megasas_instance *);\n\tu32 (*build_and_issue_cmd)(struct megasas_instance *, struct scsi_cmnd *);\n\tvoid (*issue_dcmd)(struct megasas_instance *, struct megasas_cmd *);\n};\n\nstruct megasas_iocpacket {\n\tu16 host_no;\n\tu16 __pad1;\n\tu32 sgl_off;\n\tu32 sge_count;\n\tu32 sense_off;\n\tu32 sense_len;\n\tunion {\n\t\tu8 raw[128];\n\t\tstruct megasas_header hdr;\n\t} frame;\n\tstruct iovec sgl[16];\n} __attribute__((packed));\n\nstruct megasas_mgmt_info {\n\tu16 count;\n\tstruct megasas_instance *instance[1024];\n\tint max_index;\n};\n\nstruct megasas_register_set {\n\tu32 doorbell;\n\tu32 fusion_seq_offset;\n\tu32 fusion_host_diag;\n\tu32 reserved_01;\n\tu32 inbound_msg_0;\n\tu32 inbound_msg_1;\n\tu32 outbound_msg_0;\n\tu32 outbound_msg_1;\n\tu32 inbound_doorbell;\n\tu32 inbound_intr_status;\n\tu32 inbound_intr_mask;\n\tu32 outbound_doorbell;\n\tu32 outbound_intr_status;\n\tu32 outbound_intr_mask;\n\tu32 reserved_1[2];\n\tu32 inbound_queue_port;\n\tu32 outbound_queue_port;\n\tu32 reserved_2[9];\n\tu32 reply_post_host_index;\n\tu32 reserved_2_2[12];\n\tu32 outbound_doorbell_clear;\n\tu32 reserved_3[3];\n\tu32 outbound_scratch_pad_0;\n\tu32 outbound_scratch_pad_1;\n\tu32 outbound_scratch_pad_2;\n\tu32 outbound_scratch_pad_3;\n\tu32 inbound_low_queue_port;\n\tu32 inbound_high_queue_port;\n\tu32 inbound_single_queue_port;\n\tu32 res_6[11];\n\tu32 host_diag;\n\tu32 seq_offset;\n\tu32 index_registers[807];\n};\n\nstruct mem_cgroup_id {\n\tint id;\n\trefcount_t ref;\n};\n\nstruct vmpressure {\n\tlong unsigned int scanned;\n\tlong unsigned int reclaimed;\n\tlong unsigned int tree_scanned;\n\tlong unsigned int tree_reclaimed;\n\tspinlock_t sr_lock;\n\tstruct list_head events;\n\tstruct mutex events_lock;\n\tstruct work_struct work;\n};\n\nstruct wb_domain {\n\tspinlock_t lock;\n\tstruct fprop_global completions;\n\tstruct timer_list period_timer;\n\tlong unsigned int period_time;\n\tlong unsigned int dirty_limit_tstamp;\n\tlong unsigned int dirty_limit;\n};\n\nstruct wb_completion {\n\tatomic_t cnt;\n\twait_queue_head_t *waitq;\n};\n\nstruct memcg_cgwb_frn {\n\tu64 bdi_id;\n\tint memcg_id;\n\tu64 at;\n\tstruct wb_completion done;\n};\n\nstruct memcg_vmstats;\n\nstruct memcg_vmstats_percpu;\n\nstruct mem_cgroup_per_node;\n\nstruct mem_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct mem_cgroup_id id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct page_counter memory;\n\tunion {\n\t\tstruct page_counter swap;\n\t\tstruct page_counter memsw;\n\t};\n\tstruct list_head memory_peaks;\n\tstruct list_head swap_peaks;\n\tspinlock_t peaks_lock;\n\tstruct work_struct high_work;\n\tlong unsigned int zswap_max;\n\tbool zswap_writeback;\n\tstruct vmpressure vmpressure;\n\tbool oom_group;\n\tint swappiness;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tstruct cgroup_file swap_events_file;\n\tstruct memcg_vmstats *vmstats;\n\tatomic_long_t memory_events[9];\n\tatomic_long_t memory_events_local[9];\n\tlong unsigned int socket_pressure;\n\tint kmemcg_id;\n\tstruct obj_cgroup *objcg;\n\tstruct obj_cgroup *orig_objcg;\n\tstruct list_head objcg_list;\n\tstruct memcg_vmstats_percpu *vmstats_percpu;\n\tstruct list_head cgwb_list;\n\tstruct wb_domain cgwb_domain;\n\tstruct memcg_cgwb_frn cgwb_frn[4];\n\tstruct deferred_split deferred_split_queue;\n\tstruct mem_cgroup_per_node *nodeinfo[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct mem_cgroup_reclaim_iter {\n\tstruct mem_cgroup *position;\n\tatomic_t generation;\n};\n\nstruct shrinker_info;\n\nstruct mem_cgroup_per_node {\n\tstruct mem_cgroup *memcg;\n\tstruct lruvec_stats_percpu *lruvec_stats_percpu;\n\tstruct lruvec_stats *lruvec_stats;\n\tstruct shrinker_info *shrinker_info;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct lruvec lruvec;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tlong unsigned int lru_zone_size[15];\n\tstruct mem_cgroup_reclaim_iter iter;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef struct pglist_data pg_data_t;\n\nstruct mem_cgroup_reclaim_cookie {\n\tpg_data_t *pgdat;\n\tint generation;\n};\n\nstruct quota_format_type;\n\nstruct mem_dqinfo {\n\tstruct quota_format_type *dqi_format;\n\tint dqi_fmt_id;\n\tstruct list_head dqi_dirty_list;\n\tlong unsigned int dqi_flags;\n\tunsigned int dqi_bgrace;\n\tunsigned int dqi_igrace;\n\tqsize_t dqi_max_spc_limit;\n\tqsize_t dqi_max_ino_limit;\n\tvoid *dqi_priv;\n};\n\nstruct mem_entry {\n\tu32 offset;\n\tu32 len;\n};\n\nstruct mem_extent {\n\tstruct list_head hook;\n\tlong unsigned int start;\n\tlong unsigned int end;\n};\n\nstruct mem_section_usage;\n\nstruct mem_section {\n\tlong unsigned int section_mem_map;\n\tstruct mem_section_usage *usage;\n};\n\nstruct mem_section_usage {\n\tstruct callback_head rcu;\n\tlong unsigned int subsection_map[4];\n\tlong unsigned int pageblock_flags[0];\n};\n\nstruct mem_size_stats {\n\tlong unsigned int resident;\n\tlong unsigned int shared_clean;\n\tlong unsigned int shared_dirty;\n\tlong unsigned int private_clean;\n\tlong unsigned int private_dirty;\n\tlong unsigned int referenced;\n\tlong unsigned int anonymous;\n\tlong unsigned int lazyfree;\n\tlong unsigned int anonymous_thp;\n\tlong unsigned int shmem_thp;\n\tlong unsigned int file_thp;\n\tlong unsigned int swap;\n\tlong unsigned int shared_hugetlb;\n\tlong unsigned int private_hugetlb;\n\tlong unsigned int ksm;\n\tu64 pss;\n\tu64 pss_anon;\n\tu64 pss_file;\n\tu64 pss_shmem;\n\tu64 pss_dirty;\n\tu64 pss_locked;\n\tu64 swap_pss;\n};\n\nstruct mem_zone_bm_rtree {\n\tstruct list_head list;\n\tstruct list_head nodes;\n\tstruct list_head leaves;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tstruct rtree_node *rtree;\n\tint levels;\n\tunsigned int blocks;\n};\n\nstruct memblock_region;\n\nstruct memblock_type {\n\tlong unsigned int cnt;\n\tlong unsigned int max;\n\tphys_addr_t total_size;\n\tstruct memblock_region *regions;\n\tchar *name;\n};\n\nstruct memblock {\n\tbool bottom_up;\n\tphys_addr_t current_limit;\n\tstruct memblock_type memory;\n\tstruct memblock_type reserved;\n};\n\nstruct memblock_region {\n\tphys_addr_t base;\n\tphys_addr_t size;\n\tenum memblock_flags flags;\n\tint nid;\n};\n\nstruct membuf {\n\tvoid *p;\n\tsize_t left;\n};\n\nstruct memcg_stock_pcp {\n\tlocal_lock_t stock_lock;\n\tstruct mem_cgroup *cached;\n\tunsigned int nr_pages;\n\tstruct obj_cgroup *cached_objcg;\n\tstruct pglist_data *cached_pgdat;\n\tunsigned int nr_bytes;\n\tint nr_slab_reclaimable_b;\n\tint nr_slab_unreclaimable_b;\n\tstruct work_struct work;\n\tlong unsigned int flags;\n};\n\nstruct memcg_vmstats {\n\tlong int state[39];\n\tlong unsigned int events[27];\n\tlong int state_local[39];\n\tlong unsigned int events_local[27];\n\tlong int state_pending[39];\n\tlong unsigned int events_pending[27];\n\tatomic64_t stats_updates;\n};\n\nstruct memcg_vmstats_percpu {\n\tunsigned int stats_updates;\n\tstruct memcg_vmstats_percpu *parent;\n\tstruct memcg_vmstats *vmstats;\n\tlong int state[39];\n\tlong unsigned int events[27];\n\tlong int state_prev[39];\n\tlong unsigned int events_prev[27];\n\tlong: 64;\n};\n\nstruct memdev {\n\tconst char *name;\n\tconst struct file_operations *fops;\n\tfmode_t fmode;\n\tumode_t mode;\n};\n\nstruct memory_bitmap {\n\tstruct list_head zones;\n\tstruct linked_page *p_list;\n\tstruct bm_position cur;\n};\n\nstruct memory_group;\n\nstruct memory_block {\n\tlong unsigned int start_section_nr;\n\tlong unsigned int state;\n\tint online_type;\n\tint nid;\n\tstruct zone *zone;\n\tstruct device dev;\n\tstruct vmem_altmap *altmap;\n\tstruct memory_group *group;\n\tstruct list_head group_next;\n};\n\nstruct memory_dev_type {\n\tstruct list_head tier_sibling;\n\tstruct list_head list;\n\tint adistance;\n\tnodemask_t nodes;\n\tstruct kref kref;\n};\n\nstruct memory_group {\n\tint nid;\n\tstruct list_head memory_blocks;\n\tlong unsigned int present_kernel_pages;\n\tlong unsigned int present_movable_pages;\n\tbool is_dynamic;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int max_pages;\n\t\t} s;\n\t\tstruct {\n\t\t\tlong unsigned int unit_pages;\n\t\t} d;\n\t};\n};\n\nstruct memory_notify {\n\tlong unsigned int altmap_start_pfn;\n\tlong unsigned int altmap_nr_pages;\n\tlong unsigned int start_pfn;\n\tlong unsigned int nr_pages;\n\tint status_change_nid_normal;\n\tint status_change_nid;\n};\n\nstruct memory_stat {\n\tconst char *name;\n\tunsigned int idx;\n};\n\nstruct memory_tier {\n\tstruct list_head list;\n\tstruct list_head memory_types;\n\tint adistance_start;\n\tstruct device dev;\n\tnodemask_t lower_tier_mask;\n};\n\nstruct mempolicy {\n\tatomic_t refcnt;\n\tshort unsigned int mode;\n\tshort unsigned int flags;\n\tnodemask_t nodes;\n\tint home_node;\n\tunion {\n\t\tnodemask_t cpuset_mems_allowed;\n\t\tnodemask_t user_nodemask;\n\t} w;\n};\n\nstruct mempolicy_operations {\n\tint (*create)(struct mempolicy *, const nodemask_t *);\n\tvoid (*rebind)(struct mempolicy *, const nodemask_t *);\n};\n\nstruct meta_entry {\n\tu64 data_block;\n\tunsigned int index_block;\n\tshort unsigned int offset;\n\tshort unsigned int pad;\n};\n\nstruct meta_index {\n\tunsigned int inode_number;\n\tunsigned int offset;\n\tshort unsigned int entries;\n\tshort unsigned int skip;\n\tshort unsigned int locked;\n\tshort unsigned int pad;\n\tstruct meta_entry meta_entry[127];\n};\n\nstruct metadataPartitionMap {\n\tuint8_t partitionMapType;\n\tuint8_t partitionMapLength;\n\tuint8_t reserved1[2];\n\tstruct regid partIdent;\n\t__le16 volSeqNum;\n\t__le16 partitionNum;\n\t__le32 metadataFileLoc;\n\t__le32 metadataMirrorFileLoc;\n\t__le32 metadataBitmapFileLoc;\n\t__le32 allocUnitSize;\n\t__le16 alignUnitSize;\n\tuint8_t flags;\n\tuint8_t reserved2[5];\n};\n\nstruct xfrm_md_info {\n\tu32 if_id;\n\tint link;\n\tstruct dst_entry *dst_orig;\n};\n\nstruct metadata_dst {\n\tstruct dst_entry dst;\n\tenum metadata_type type;\n\tunion {\n\t\tstruct ip_tunnel_info tun_info;\n\t\tstruct hw_port_info port_info;\n\t\tstruct macsec_info macsec_info;\n\t\tstruct xfrm_md_info xfrm_info;\n\t} u;\n};\n\nstruct mf6cctl {\n\tstruct sockaddr_in6 mf6cc_origin;\n\tstruct sockaddr_in6 mf6cc_mcastgrp;\n\tmifi_t mf6cc_parent;\n\tstruct if_set mf6cc_ifset;\n};\n\nstruct mr_mfc {\n\tstruct rhlist_head mnode;\n\tshort unsigned int mfc_parent;\n\tint mfc_flags;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int expires;\n\t\t\tstruct sk_buff_head unresolved;\n\t\t} unres;\n\t\tstruct {\n\t\t\tlong unsigned int last_assert;\n\t\t\tint minvif;\n\t\t\tint maxvif;\n\t\t\tatomic_long_t bytes;\n\t\t\tatomic_long_t pkt;\n\t\t\tatomic_long_t wrong_if;\n\t\t\tlong unsigned int lastuse;\n\t\t\tunsigned char ttls[32];\n\t\t\trefcount_t refcount;\n\t\t} res;\n\t} mfc_un;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n\tvoid (*free)(struct callback_head *);\n};\n\nstruct mfc6_cache_cmp_arg {\n\tstruct in6_addr mf6c_mcastgrp;\n\tstruct in6_addr mf6c_origin;\n};\n\nstruct mfc6_cache {\n\tstruct mr_mfc _c;\n\tunion {\n\t\tstruct {\n\t\t\tstruct in6_addr mf6c_mcastgrp;\n\t\t\tstruct in6_addr mf6c_origin;\n\t\t};\n\t\tstruct mfc6_cache_cmp_arg cmparg;\n\t};\n};\n\nstruct mfc_cache_cmp_arg {\n\t__be32 mfc_mcastgrp;\n\t__be32 mfc_origin;\n};\n\nstruct mfc_cache {\n\tstruct mr_mfc _c;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 mfc_mcastgrp;\n\t\t\t__be32 mfc_origin;\n\t\t};\n\t\tstruct mfc_cache_cmp_arg cmparg;\n\t};\n};\n\nstruct mfc_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct mr_mfc *mfc;\n\tu32 tb_id;\n};\n\nstruct mfcctl {\n\tstruct in_addr mfcc_origin;\n\tstruct in_addr mfcc_mcastgrp;\n\tvifi_t mfcc_parent;\n\tunsigned char mfcc_ttls[32];\n\tunsigned int mfcc_pkt_cnt;\n\tunsigned int mfcc_byte_cnt;\n\tunsigned int mfcc_wrong_if;\n\tint mfcc_expire;\n};\n\nstruct mhp_params {\n\tstruct vmem_altmap *altmap;\n\tpgprot_t pgprot;\n\tstruct dev_pagemap *pgmap;\n};\n\nstruct mif6ctl {\n\tmifi_t mif6c_mifi;\n\tunsigned char mif6c_flags;\n\tunsigned char vifc_threshold;\n\t__u16 mif6c_pifi;\n\tunsigned int vifc_rate_limit;\n};\n\nstruct migrate_pages_stats {\n\tint nr_succeeded;\n\tint nr_failed_pages;\n\tint nr_thp_succeeded;\n\tint nr_thp_failed;\n\tint nr_thp_split;\n\tint nr_split;\n};\n\nstruct migrate_struct {\n\text4_lblk_t first_block;\n\text4_lblk_t last_block;\n\text4_lblk_t curr_block;\n\text4_fsblk_t first_pblock;\n\text4_fsblk_t last_pblock;\n};\n\nstruct set_affinity_pending;\n\nstruct migration_arg {\n\tstruct task_struct *task;\n\tint dest_cpu;\n\tstruct set_affinity_pending *pending;\n};\n\nstruct migration_mpol {\n\tstruct mempolicy *pol;\n\tlong unsigned int ilx;\n};\n\nstruct migration_swap_arg {\n\tstruct task_struct *src_task;\n\tstruct task_struct *dst_task;\n\tint src_cpu;\n\tint dst_cpu;\n};\n\nstruct migration_target_control {\n\tint nid;\n\tnodemask_t *nmask;\n\tgfp_t gfp_mask;\n\tenum migrate_reason reason;\n};\n\nstruct phy_package_shared;\n\nstruct mii_bus {\n\tstruct module *owner;\n\tconst char *name;\n\tchar id[61];\n\tvoid *priv;\n\tint (*read)(struct mii_bus *, int, int);\n\tint (*write)(struct mii_bus *, int, int, u16);\n\tint (*read_c45)(struct mii_bus *, int, int, int);\n\tint (*write_c45)(struct mii_bus *, int, int, int, u16);\n\tint (*reset)(struct mii_bus *);\n\tstruct mdio_bus_stats stats[32];\n\tstruct mutex mdio_lock;\n\tstruct device *parent;\n\tenum {\n\t\tMDIOBUS_ALLOCATED = 1,\n\t\tMDIOBUS_REGISTERED = 2,\n\t\tMDIOBUS_UNREGISTERED = 3,\n\t\tMDIOBUS_RELEASED = 4,\n\t} state;\n\tstruct device dev;\n\tstruct mdio_device *mdio_map[32];\n\tu32 phy_mask;\n\tu32 phy_ignore_ta_mask;\n\tint irq[32];\n\tint reset_delay_us;\n\tint reset_post_delay_us;\n\tstruct gpio_desc *reset_gpiod;\n\tstruct mutex shared_lock;\n\tstruct phy_package_shared *shared[32];\n};\n\nstruct mii_if_info {\n\tint phy_id;\n\tint advertising;\n\tint phy_id_mask;\n\tint reg_num_mask;\n\tunsigned int full_duplex: 1;\n\tunsigned int force_media: 1;\n\tunsigned int supports_gmii: 1;\n\tstruct net_device *dev;\n\tint (*mdio_read)(struct net_device *, int, int);\n\tvoid (*mdio_write)(struct net_device *, int, int, int);\n};\n\nstruct mii_ioctl_data {\n\t__u16 phy_id;\n\t__u16 reg_num;\n\t__u16 val_in;\n\t__u16 val_out;\n};\n\nstruct mii_timestamper {\n\tbool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int);\n\tvoid (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int);\n\tint (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n\tvoid (*link_state)(struct mii_timestamper *, struct phy_device *);\n\tint (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *);\n\tstruct device *device;\n};\n\nstruct mii_timestamping_ctrl {\n\tstruct mii_timestamper * (*probe_channel)(struct device *, unsigned int);\n\tvoid (*release_channel)(struct device *, struct mii_timestamper *);\n};\n\nstruct mii_timestamping_desc {\n\tstruct list_head list;\n\tstruct mii_timestamping_ctrl *ctrl;\n\tstruct device *device;\n};\n\nstruct mimd {\n\tuint32_t inlen;\n\tuint32_t outlen;\n\tunion {\n\t\tuint8_t fca[16];\n\t\tstruct {\n\t\t\tuint8_t opcode;\n\t\t\tuint8_t subopcode;\n\t\t\tuint16_t adapno;\n\t\t\tuint8_t *buffer;\n\t\t\tuint32_t length;\n\t\t} __attribute__((packed)) fcs;\n\t} ui;\n\tuint8_t mbox[18];\n\tmraid_passthru_t pthru;\n\tchar *data;\n} __attribute__((packed));\n\ntypedef struct mimd mimd_t;\n\nstruct min_heap_callbacks {\n\tbool (*less)(const void *, const void *, void *);\n\tvoid (*swp)(void *, void *, void *);\n};\n\nstruct min_heap_char {\n\tsize_t nr;\n\tsize_t size;\n\tchar *data;\n\tchar preallocated[0];\n};\n\ntypedef struct min_heap_char min_heap_char;\n\nstruct min_max_quirk {\n\tconst char * const *pnp_ids;\n\tstruct {\n\t\tu32 min;\n\t\tu32 max;\n\t} board_id;\n\tu32 x_min;\n\tu32 x_max;\n\tu32 y_min;\n\tu32 y_max;\n};\n\nstruct tcf_proto;\n\nstruct mini_Qdisc {\n\tstruct tcf_proto *filter_list;\n\tstruct tcf_block *block;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tlong unsigned int rcu_state;\n};\n\nstruct mini_Qdisc_pair {\n\tstruct mini_Qdisc miniq1;\n\tstruct mini_Qdisc miniq2;\n\tstruct mini_Qdisc **p_miniq;\n};\n\nstruct minimode {\n\tshort int w;\n\tshort int h;\n\tshort int r;\n\tshort int rb;\n};\n\nstruct minix_super_block {\n\t__u16 s_ninodes;\n\t__u16 s_nzones;\n\t__u16 s_imap_blocks;\n\t__u16 s_zmap_blocks;\n\t__u16 s_firstdatazone;\n\t__u16 s_log_zone_size;\n\t__u32 s_max_size;\n\t__u16 s_magic;\n\t__u16 s_state;\n\t__u32 s_zones;\n};\n\nstruct minmax_sample {\n\tu32 t;\n\tu32 v;\n};\n\nstruct minmax {\n\tstruct minmax_sample s[3];\n};\n\nstruct misc_res {\n\tu64 max;\n\tatomic64_t watermark;\n\tatomic64_t usage;\n\tatomic64_t events;\n\tatomic64_t events_local;\n};\n\nstruct misc_cg {\n\tstruct cgroup_subsys_state css;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tstruct misc_res res[0];\n};\n\nstruct miscdevice {\n\tint minor;\n\tconst char *name;\n\tconst struct file_operations *fops;\n\tstruct list_head list;\n\tstruct device *parent;\n\tstruct device *this_device;\n\tconst struct attribute_group **groups;\n\tconst char *nodename;\n\tumode_t mode;\n};\n\nstruct mld2_grec {\n\t__u8 grec_type;\n\t__u8 grec_auxwords;\n\t__be16 grec_nsrcs;\n\tstruct in6_addr grec_mca;\n\tstruct in6_addr grec_src[0];\n};\n\nstruct mld2_query {\n\tstruct icmp6hdr mld2q_hdr;\n\tstruct in6_addr mld2q_mca;\n\t__u8 mld2q_qrv: 3;\n\t__u8 mld2q_suppress: 1;\n\t__u8 mld2q_resv2: 4;\n\t__u8 mld2q_qqic;\n\t__be16 mld2q_nsrcs;\n\tstruct in6_addr mld2q_srcs[0];\n};\n\nstruct mld2_report {\n\tstruct icmp6hdr mld2r_hdr;\n\tstruct mld2_grec mld2r_grec[0];\n};\n\nstruct mld_msg {\n\tstruct icmp6hdr mld_hdr;\n\tstruct in6_addr mld_mca;\n};\n\nstruct mlock_fbatch {\n\tlocal_lock_t lock;\n\tstruct folio_batch fbatch;\n};\n\nstruct mm_cid {\n\tu64 time;\n\tint cid;\n\tint recent_cid;\n};\n\nstruct mm_dmapool {\n\tcaddr_t vaddr;\n\tdma_addr_t paddr;\n\tuint32_t buf_size;\n\tstruct dma_pool *handle;\n\tspinlock_t lock;\n\tuint8_t in_use;\n};\n\ntypedef struct mm_dmapool mm_dmapool_t;\n\nstruct mm_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_mm_state state;\n\tstruct ethtool_mm_stats stats;\n};\n\ntypedef struct page *pgtable_t;\n\nstruct xol_area;\n\nstruct uprobes_state {\n\tstruct xol_area *xol_area;\n};\n\nstruct mmu_notifier_subscriptions;\n\nstruct mm_struct {\n\tstruct {\n\t\tstruct {\n\t\t\tatomic_t mm_count;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t};\n\t\tstruct maple_tree mm_mt;\n\t\tlong unsigned int mmap_base;\n\t\tlong unsigned int mmap_legacy_base;\n\t\tlong unsigned int task_size;\n\t\tpgd_t *pgd;\n\t\tatomic_t membarrier_state;\n\t\tatomic_t mm_users;\n\t\tstruct mm_cid *pcpu_cid;\n\t\tlong unsigned int mm_cid_next_scan;\n\t\tunsigned int nr_cpus_allowed;\n\t\tatomic_t max_nr_cid;\n\t\traw_spinlock_t cpus_allowed_lock;\n\t\tatomic_long_t pgtables_bytes;\n\t\tint map_count;\n\t\tspinlock_t page_table_lock;\n\t\tstruct rw_semaphore mmap_lock;\n\t\tstruct list_head mmlist;\n\t\tlong unsigned int hiwater_rss;\n\t\tlong unsigned int hiwater_vm;\n\t\tlong unsigned int total_vm;\n\t\tlong unsigned int locked_vm;\n\t\tatomic64_t pinned_vm;\n\t\tlong unsigned int data_vm;\n\t\tlong unsigned int exec_vm;\n\t\tlong unsigned int stack_vm;\n\t\tlong unsigned int def_flags;\n\t\tseqcount_t write_protect_seq;\n\t\tspinlock_t arg_lock;\n\t\tlong unsigned int start_code;\n\t\tlong unsigned int end_code;\n\t\tlong unsigned int start_data;\n\t\tlong unsigned int end_data;\n\t\tlong unsigned int start_brk;\n\t\tlong unsigned int brk;\n\t\tlong unsigned int start_stack;\n\t\tlong unsigned int arg_start;\n\t\tlong unsigned int arg_end;\n\t\tlong unsigned int env_start;\n\t\tlong unsigned int env_end;\n\t\tlong unsigned int saved_auxv[48];\n\t\tstruct percpu_counter rss_stat[4];\n\t\tstruct linux_binfmt *binfmt;\n\t\tmm_context_t context;\n\t\tlong unsigned int flags;\n\t\tspinlock_t ioctx_lock;\n\t\tstruct kioctx_table *ioctx_table;\n\t\tstruct task_struct *owner;\n\t\tstruct user_namespace *user_ns;\n\t\tstruct file *exe_file;\n\t\tstruct mmu_notifier_subscriptions *notifier_subscriptions;\n\t\tpgtable_t pmd_huge_pte;\n\t\tlong unsigned int numa_next_scan;\n\t\tlong unsigned int numa_scan_offset;\n\t\tint numa_scan_seq;\n\t\tatomic_t tlb_flush_pending;\n\t\tstruct uprobes_state uprobes_state;\n\t\tatomic_long_t hugetlb_usage;\n\t\tstruct work_struct async_put_work;\n\t\tlong unsigned int ksm_merging_pages;\n\t\tlong unsigned int ksm_rmap_items;\n\t\tatomic_long_t ksm_zero_pages;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tlong unsigned int cpu_bitmap[0];\n};\n\nstruct mm_struct__safe_rcu_or_null {\n\tstruct file *exe_file;\n};\n\nstruct mm_walk_ops;\n\nstruct mm_walk {\n\tconst struct mm_walk_ops *ops;\n\tstruct mm_struct *mm;\n\tpgd_t *pgd;\n\tstruct vm_area_struct *vma;\n\tenum page_walk_action action;\n\tbool no_vma;\n\tvoid *private;\n};\n\nstruct mm_walk_ops {\n\tint (*pgd_entry)(pgd_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*p4d_entry)(p4d_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pud_entry)(pud_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pmd_entry)(pmd_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pte_entry)(pte_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pte_hole)(long unsigned int, long unsigned int, int, struct mm_walk *);\n\tint (*hugetlb_entry)(pte_t *, long unsigned int, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*test_walk)(long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pre_vma)(long unsigned int, long unsigned int, struct mm_walk *);\n\tvoid (*post_vma)(struct mm_walk *);\n\tint (*install_pte)(long unsigned int, long unsigned int, pte_t *, struct mm_walk *);\n\tenum page_walk_lock walk_lock;\n};\n\nstruct vma_munmap_struct {\n\tstruct vma_iterator *vmi;\n\tstruct vm_area_struct *vma;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct list_head *uf;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int unmap_start;\n\tlong unsigned int unmap_end;\n\tint vma_count;\n\tbool unlock;\n\tbool clear_ptes;\n\tlong unsigned int nr_pages;\n\tlong unsigned int locked_vm;\n\tlong unsigned int nr_accounted;\n\tlong unsigned int exec_vm;\n\tlong unsigned int stack_vm;\n\tlong unsigned int data_vm;\n};\n\nstruct mmap_state {\n\tstruct mm_struct *mm;\n\tstruct vma_iterator *vmi;\n\tlong unsigned int addr;\n\tlong unsigned int end;\n\tlong unsigned int pgoff;\n\tlong unsigned int pglen;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tlong unsigned int charged;\n\tbool retry_merge;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct vma_munmap_struct vms;\n\tstruct ma_state mas_detach;\n\tstruct maple_tree mt_detach;\n};\n\nstruct mmap_unlock_irq_work {\n\tstruct irq_work irq_work;\n\tstruct mm_struct *mm;\n};\n\nstruct mminit_pfnnid_cache {\n\tlong unsigned int last_start;\n\tlong unsigned int last_end;\n\tint last_nid;\n};\n\nstruct mmp_struct {\n\t__le32 mmp_magic;\n\t__le32 mmp_seq;\n\t__le64 mmp_time;\n\tchar mmp_nodename[64];\n\tchar mmp_bdevname[32];\n\t__le16 mmp_check_interval;\n\t__le16 mmp_pad1;\n\t__le32 mmp_pad2[226];\n\t__le32 mmp_checksum;\n};\n\nstruct mmpin {\n\tstruct user_struct *user;\n\tunsigned int num_pg;\n};\n\nstruct user_msghdr {\n\tvoid *msg_name;\n\tint msg_namelen;\n\tstruct iovec *msg_iov;\n\t__kernel_size_t msg_iovlen;\n\tvoid *msg_control;\n\t__kernel_size_t msg_controllen;\n\tunsigned int msg_flags;\n};\n\nstruct mmsghdr {\n\tstruct user_msghdr msg_hdr;\n\tunsigned int msg_len;\n};\n\nstruct encoded_page;\n\nstruct mmu_gather_batch {\n\tstruct mmu_gather_batch *next;\n\tunsigned int nr;\n\tunsigned int max;\n\tstruct encoded_page *encoded_pages[0];\n};\n\nstruct mmu_gather {\n\tstruct mm_struct *mm;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int fullmm: 1;\n\tunsigned int need_flush_all: 1;\n\tunsigned int freed_tables: 1;\n\tunsigned int delayed_rmap: 1;\n\tunsigned int cleared_ptes: 1;\n\tunsigned int cleared_pmds: 1;\n\tunsigned int cleared_puds: 1;\n\tunsigned int cleared_p4ds: 1;\n\tunsigned int vma_exec: 1;\n\tunsigned int vma_huge: 1;\n\tunsigned int vma_pfn: 1;\n\tunsigned int batch_count;\n\tstruct mmu_gather_batch *active;\n\tstruct mmu_gather_batch local;\n\tstruct page *__pages[8];\n};\n\nstruct mmu_interval_notifier_ops;\n\nstruct mmu_interval_notifier {\n\tstruct interval_tree_node interval_tree;\n\tconst struct mmu_interval_notifier_ops *ops;\n\tstruct mm_struct *mm;\n\tstruct hlist_node deferred_item;\n\tlong unsigned int invalidate_seq;\n};\n\nstruct mmu_notifier_range;\n\nstruct mmu_interval_notifier_ops {\n\tbool (*invalidate)(struct mmu_interval_notifier *, const struct mmu_notifier_range *, long unsigned int);\n};\n\nstruct mmu_notifier_ops {\n\tvoid (*release)(struct mmu_notifier *, struct mm_struct *);\n\tint (*clear_flush_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tint (*clear_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tint (*test_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int);\n\tint (*invalidate_range_start)(struct mmu_notifier *, const struct mmu_notifier_range *);\n\tvoid (*invalidate_range_end)(struct mmu_notifier *, const struct mmu_notifier_range *);\n\tvoid (*arch_invalidate_secondary_tlbs)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tstruct mmu_notifier * (*alloc_notifier)(struct mm_struct *);\n\tvoid (*free_notifier)(struct mmu_notifier *);\n};\n\nstruct mmu_notifier_range {\n\tstruct mm_struct *mm;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int flags;\n\tenum mmu_notifier_event event;\n\tvoid *owner;\n};\n\nstruct mmu_notifier_subscriptions {\n\tstruct hlist_head list;\n\tbool has_itree;\n\tspinlock_t lock;\n\tlong unsigned int invalidate_seq;\n\tlong unsigned int active_invalidate_ranges;\n\tstruct rb_root_cached itree;\n\twait_queue_head_t wq;\n\tstruct hlist_head deferred_list;\n};\n\nstruct mnt_id_req {\n\t__u32 size;\n\t__u32 spare;\n\t__u64 mnt_id;\n\t__u64 param;\n\t__u64 mnt_ns_id;\n};\n\nstruct uid_gid_extent {\n\tu32 first;\n\tu32 lower_first;\n\tu32 count;\n};\n\nstruct uid_gid_map {\n\tunion {\n\t\tstruct {\n\t\t\tstruct uid_gid_extent extent[5];\n\t\t\tu32 nr_extents;\n\t\t};\n\t\tstruct {\n\t\t\tstruct uid_gid_extent *forward;\n\t\t\tstruct uid_gid_extent *reverse;\n\t\t};\n\t};\n};\n\nstruct mnt_idmap {\n\tstruct uid_gid_map uid_map;\n\tstruct uid_gid_map gid_map;\n\trefcount_t count;\n};\n\nstruct mount;\n\nstruct mnt_namespace {\n\tstruct ns_common ns;\n\tstruct mount *root;\n\tstruct {\n\t\tstruct rb_root mounts;\n\t\tstruct rb_node *mnt_last_node;\n\t\tstruct rb_node *mnt_first_node;\n\t};\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tu64 seq;\n\tunion {\n\t\twait_queue_head_t poll;\n\t\tstruct callback_head mnt_ns_rcu;\n\t};\n\tu64 event;\n\tunsigned int nr_mounts;\n\tunsigned int pending_mounts;\n\tstruct rb_node mnt_ns_tree_node;\n\tstruct list_head mnt_ns_list;\n\trefcount_t passive;\n};\n\nstruct mnt_ns_info {\n\t__u32 size;\n\t__u32 nr_mounts;\n\t__u64 mnt_ns_id;\n};\n\nstruct mnt_pcp {\n\tint mnt_count;\n\tint mnt_writers;\n};\n\nstruct mod_section {\n\tint shndx;\n\tint num_entries;\n\tint max_entries;\n};\n\nstruct orc_entry;\n\nstruct plt_entry;\n\nstruct mod_arch_specific {\n\tstruct mod_section got;\n\tstruct mod_section plt;\n\tstruct mod_section plt_idx;\n\tunsigned int num_orcs;\n\tint *orc_unwind_ip;\n\tstruct orc_entry *orc_unwind;\n\tstruct plt_entry *ftrace_trampolines;\n};\n\nstruct mod_initfree {\n\tstruct llist_node node;\n\tvoid *init_text;\n\tvoid *init_data;\n\tvoid *init_rodata;\n};\n\nstruct mod_kallsyms {\n\tElf64_Sym *symtab;\n\tunsigned int num_symtab;\n\tchar *strtab;\n\tchar *typetab;\n};\n\nstruct mod_tree_node {\n\tstruct module *mod;\n\tstruct latch_tree_node node;\n};\n\nstruct mod_tree_root {\n\tstruct latch_tree_root root;\n\tlong unsigned int addr_min;\n\tlong unsigned int addr_max;\n};\n\nstruct mode_info {\n\tconst char *mode;\n\tu32 magic;\n\tstruct list_head list;\n};\n\nstruct mode_page_header {\n\t__be16 mode_data_length;\n\t__u8 medium_type;\n\t__u8 reserved1;\n\t__u8 reserved2;\n\t__u8 reserved3;\n\t__be16 desc_length;\n};\n\nstruct modesel_head {\n\t__u8 reserved1;\n\t__u8 medium;\n\t__u8 reserved2;\n\t__u8 block_desc_length;\n\t__u8 density;\n\t__u8 number_of_blocks_hi;\n\t__u8 number_of_blocks_med;\n\t__u8 number_of_blocks_lo;\n\t__u8 reserved3;\n\t__u8 block_length_hi;\n\t__u8 block_length_med;\n\t__u8 block_length_lo;\n};\n\nstruct module_param_attrs;\n\nstruct module_kobject {\n\tstruct kobject kobj;\n\tstruct module *mod;\n\tstruct kobject *drivers_dir;\n\tstruct module_param_attrs *mp;\n\tstruct completion *kobj_completion;\n};\n\nstruct module_memory {\n\tvoid *base;\n\tvoid *rw_copy;\n\tbool is_rox;\n\tunsigned int size;\n\tstruct mod_tree_node mtn;\n};\n\ntypedef struct tracepoint * const tracepoint_ptr_t;\n\nstruct module_attribute;\n\nstruct module_sect_attrs;\n\nstruct module_notes_attrs;\n\nstruct trace_event_call;\n\nstruct trace_eval_map;\n\nstruct module {\n\tenum module_state state;\n\tstruct list_head list;\n\tchar name[56];\n\tstruct module_kobject mkobj;\n\tstruct module_attribute *modinfo_attrs;\n\tconst char *version;\n\tconst char *srcversion;\n\tstruct kobject *holders_dir;\n\tconst struct kernel_symbol *syms;\n\tconst u32 *crcs;\n\tunsigned int num_syms;\n\tstruct mutex param_lock;\n\tstruct kernel_param *kp;\n\tunsigned int num_kp;\n\tunsigned int num_gpl_syms;\n\tconst struct kernel_symbol *gpl_syms;\n\tconst u32 *gpl_crcs;\n\tbool using_gplonly_symbols;\n\tbool async_probe_requested;\n\tunsigned int num_exentries;\n\tstruct exception_table_entry *extable;\n\tint (*init)(void);\n\tstruct module_memory mem[7];\n\tstruct mod_arch_specific arch;\n\tlong unsigned int taints;\n\tunsigned int num_bugs;\n\tstruct list_head bug_list;\n\tstruct bug_entry *bug_table;\n\tstruct mod_kallsyms *kallsyms;\n\tstruct mod_kallsyms core_kallsyms;\n\tstruct module_sect_attrs *sect_attrs;\n\tstruct module_notes_attrs *notes_attrs;\n\tchar *args;\n\tvoid *percpu;\n\tunsigned int percpu_size;\n\tvoid *noinstr_text_start;\n\tunsigned int noinstr_text_size;\n\tunsigned int num_tracepoints;\n\ttracepoint_ptr_t *tracepoints_ptrs;\n\tunsigned int num_srcu_structs;\n\tstruct srcu_struct **srcu_struct_ptrs;\n\tunsigned int num_bpf_raw_events;\n\tstruct bpf_raw_event_map *bpf_raw_events;\n\tunsigned int btf_data_size;\n\tunsigned int btf_base_data_size;\n\tvoid *btf_data;\n\tvoid *btf_base_data;\n\tstruct jump_entry *jump_entries;\n\tunsigned int num_jump_entries;\n\tunsigned int num_trace_bprintk_fmt;\n\tconst char **trace_bprintk_fmt_start;\n\tstruct trace_event_call **trace_events;\n\tunsigned int num_trace_events;\n\tstruct trace_eval_map **trace_evals;\n\tunsigned int num_trace_evals;\n\tstruct list_head source_list;\n\tstruct list_head target_list;\n\tvoid (*exit)(void);\n\tatomic_t refcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct module_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct module_attribute *, struct module_kobject *, char *);\n\tssize_t (*store)(const struct module_attribute *, struct module_kobject *, const char *, size_t);\n\tvoid (*setup)(struct module *, const char *);\n\tint (*test)(struct module *);\n\tvoid (*free)(struct module *);\n};\n\nstruct module_notes_attrs {\n\tstruct attribute_group grp;\n\tstruct bin_attribute attrs[0];\n};\n\nstruct param_attribute {\n\tstruct module_attribute mattr;\n\tconst struct kernel_param *param;\n};\n\nstruct module_param_attrs {\n\tunsigned int num;\n\tstruct attribute_group grp;\n\tstruct param_attribute attrs[0];\n};\n\nstruct module_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_module_power_mode_params power;\n};\n\nstruct module_sect_attrs {\n\tstruct attribute_group grp;\n\tstruct bin_attribute attrs[0];\n};\n\nstruct module_string {\n\tstruct list_head next;\n\tstruct module *module;\n\tchar *str;\n};\n\nstruct module_use {\n\tstruct list_head source_list;\n\tstruct list_head target_list;\n\tstruct module *source;\n\tstruct module *target;\n};\n\nstruct module_version_attribute {\n\tstruct module_attribute mattr;\n\tconst char *module_name;\n\tconst char *version;\n};\n\nstruct modversion_info {\n\tlong unsigned int crc;\n\tchar name[56];\n};\n\nstruct modversion_info_ext {\n\tsize_t remaining;\n\tconst u32 *crc;\n\tconst char *name;\n};\n\nstruct mon_bin_hdr;\n\nstruct mon_bin_get {\n\tstruct mon_bin_hdr *hdr;\n\tvoid *data;\n\tsize_t alloc;\n};\n\nstruct mon_bin_hdr {\n\tu64 id;\n\tunsigned char type;\n\tunsigned char xfer_type;\n\tunsigned char epnum;\n\tunsigned char devnum;\n\tshort unsigned int busnum;\n\tchar flag_setup;\n\tchar flag_data;\n\ts64 ts_sec;\n\ts32 ts_usec;\n\tint status;\n\tunsigned int len_urb;\n\tunsigned int len_cap;\n\tunion {\n\t\tunsigned char setup[8];\n\t\tstruct iso_rec iso;\n\t} s;\n\tint interval;\n\tint start_frame;\n\tunsigned int xfer_flags;\n\tunsigned int ndesc;\n};\n\nstruct mon_bin_isodesc {\n\tint iso_status;\n\tunsigned int iso_off;\n\tunsigned int iso_len;\n\tu32 _pad;\n};\n\nstruct mon_bin_mfetch {\n\tu32 *offvec;\n\tu32 nfetch;\n\tu32 nflush;\n};\n\nstruct mon_bin_stats {\n\tu32 queued;\n\tu32 dropped;\n};\n\nstruct usb_bus;\n\nstruct mon_bus {\n\tstruct list_head bus_link;\n\tspinlock_t lock;\n\tstruct usb_bus *u_bus;\n\tint text_inited;\n\tint bin_inited;\n\tstruct dentry *dent_s;\n\tstruct dentry *dent_t;\n\tstruct dentry *dent_u;\n\tstruct device *classdev;\n\tint nreaders;\n\tstruct list_head r_list;\n\tstruct kref ref;\n\tunsigned int cnt_events;\n\tunsigned int cnt_text_lost;\n};\n\nstruct mon_iso_desc {\n\tint status;\n\tunsigned int offset;\n\tunsigned int length;\n};\n\nstruct mon_event_text {\n\tstruct list_head e_link;\n\tint type;\n\tlong unsigned int id;\n\tunsigned int tstamp;\n\tint busnum;\n\tchar devnum;\n\tchar epnum;\n\tchar is_in;\n\tchar xfertype;\n\tint length;\n\tint status;\n\tint interval;\n\tint start_frame;\n\tint error_count;\n\tchar setup_flag;\n\tchar data_flag;\n\tint numdesc;\n\tstruct mon_iso_desc isodesc[5];\n\tunsigned char setup[8];\n\tunsigned char data[32];\n};\n\nstruct mon_pgmap {\n\tstruct page *pg;\n\tunsigned char *ptr;\n};\n\nstruct mon_reader {\n\tstruct list_head r_link;\n\tstruct mon_bus *m_bus;\n\tvoid *r_data;\n\tvoid (*rnf_submit)(void *, struct urb *);\n\tvoid (*rnf_error)(void *, struct urb *, int);\n\tvoid (*rnf_complete)(void *, struct urb *, int);\n};\n\nstruct mon_reader_bin {\n\tspinlock_t b_lock;\n\tunsigned int b_size;\n\tunsigned int b_cnt;\n\tunsigned int b_in;\n\tunsigned int b_out;\n\tunsigned int b_read;\n\tstruct mon_pgmap *b_vec;\n\twait_queue_head_t b_wait;\n\tstruct mutex fetch_lock;\n\tint mmap_active;\n\tstruct mon_reader r;\n\tunsigned int cnt_lost;\n};\n\nstruct mon_reader_text {\n\tstruct kmem_cache *e_slab;\n\tint nevents;\n\tstruct list_head e_list;\n\tstruct mon_reader r;\n\twait_queue_head_t wait;\n\tint printf_size;\n\tsize_t printf_offset;\n\tsize_t printf_togo;\n\tchar *printf_buf;\n\tstruct mutex printf_lock;\n\tchar slab_name[30];\n};\n\nstruct mon_text_ptr {\n\tint cnt;\n\tint limit;\n\tchar *pbuf;\n};\n\nstruct vfsmount {\n\tstruct dentry *mnt_root;\n\tstruct super_block *mnt_sb;\n\tint mnt_flags;\n\tstruct mnt_idmap *mnt_idmap;\n};\n\nstruct mountpoint;\n\nstruct mount {\n\tstruct hlist_node mnt_hash;\n\tstruct mount *mnt_parent;\n\tstruct dentry *mnt_mountpoint;\n\tstruct vfsmount mnt;\n\tunion {\n\t\tstruct rb_node mnt_node;\n\t\tstruct callback_head mnt_rcu;\n\t\tstruct llist_node mnt_llist;\n\t};\n\tstruct mnt_pcp *mnt_pcp;\n\tstruct list_head mnt_mounts;\n\tstruct list_head mnt_child;\n\tstruct list_head mnt_instance;\n\tconst char *mnt_devname;\n\tstruct list_head mnt_list;\n\tstruct list_head mnt_expire;\n\tstruct list_head mnt_share;\n\tstruct list_head mnt_slave_list;\n\tstruct list_head mnt_slave;\n\tstruct mount *mnt_master;\n\tstruct mnt_namespace *mnt_ns;\n\tstruct mountpoint *mnt_mp;\n\tunion {\n\t\tstruct hlist_node mnt_mp_list;\n\t\tstruct hlist_node mnt_umount;\n\t};\n\tstruct list_head mnt_umounting;\n\tstruct fsnotify_mark_connector *mnt_fsnotify_marks;\n\t__u32 mnt_fsnotify_mask;\n\tint mnt_id;\n\tu64 mnt_id_unique;\n\tint mnt_group_id;\n\tint mnt_expiry_mark;\n\tstruct hlist_head mnt_pins;\n\tstruct hlist_head mnt_stuck_children;\n};\n\nstruct mount_attr {\n\t__u64 attr_set;\n\t__u64 attr_clr;\n\t__u64 propagation;\n\t__u64 userns_fd;\n};\n\nstruct mount_kattr {\n\tunsigned int attr_set;\n\tunsigned int attr_clr;\n\tunsigned int propagation;\n\tunsigned int lookup_flags;\n\tbool recurse;\n\tstruct user_namespace *mnt_userns;\n\tstruct mnt_idmap *mnt_idmap;\n};\n\nstruct mount_opts {\n\tint token;\n\tint mount_opt;\n\tint flags;\n};\n\nstruct mountpoint {\n\tstruct hlist_node m_hash;\n\tstruct dentry *m_dentry;\n\tstruct hlist_head m_list;\n\tint m_count;\n};\n\nstruct mountres {\n\tint errno;\n\tstruct nfs_fh *fh;\n\tunsigned int *auth_count;\n\trpc_authflavor_t *auth_flavors;\n};\n\nstruct mousedev_hw_data {\n\tint dx;\n\tint dy;\n\tint dz;\n\tint x;\n\tint y;\n\tint abs_event;\n\tlong unsigned int buttons;\n};\n\nstruct mousedev {\n\tint open;\n\tstruct input_handle handle;\n\twait_queue_head_t wait;\n\tstruct list_head client_list;\n\tspinlock_t client_lock;\n\tstruct mutex mutex;\n\tstruct device dev;\n\tstruct cdev cdev;\n\tbool exist;\n\tstruct list_head mixdev_node;\n\tbool opened_by_mixdev;\n\tstruct mousedev_hw_data packet;\n\tunsigned int pkt_count;\n\tint old_x[4];\n\tint old_y[4];\n\tint frac_dx;\n\tint frac_dy;\n\tlong unsigned int touch;\n\tint (*open_device)(struct mousedev *);\n\tvoid (*close_device)(struct mousedev *);\n};\n\nstruct mousedev_motion {\n\tint dx;\n\tint dy;\n\tint dz;\n\tlong unsigned int buttons;\n};\n\nstruct mousedev_client {\n\tstruct fasync_struct *fasync;\n\tstruct mousedev *mousedev;\n\tstruct list_head node;\n\tstruct mousedev_motion packets[16];\n\tunsigned int head;\n\tunsigned int tail;\n\tspinlock_t packet_lock;\n\tint pos_x;\n\tint pos_y;\n\tu8 ps2[6];\n\tunsigned char ready;\n\tunsigned char buffer;\n\tunsigned char bufsiz;\n\tunsigned char imexseq;\n\tunsigned char impsseq;\n\tenum mousedev_emul mode;\n\tlong unsigned int last_buttons;\n};\n\nstruct movable_operations {\n\tbool (*isolate_page)(struct page *, isolate_mode_t);\n\tint (*migrate_page)(struct page *, struct page *, enum migrate_mode);\n\tvoid (*putback_page)(struct page *);\n};\n\nstruct move_extent {\n\t__u32 reserved;\n\t__u32 donor_fd;\n\t__u64 orig_start;\n\t__u64 donor_start;\n\t__u64 len;\n\t__u64 moved_len;\n};\n\nstruct mpage_da_data {\n\tstruct inode *inode;\n\tstruct writeback_control *wbc;\n\tunsigned int can_map: 1;\n\tlong unsigned int first_page;\n\tlong unsigned int next_page;\n\tlong unsigned int last_page;\n\tstruct ext4_map_blocks map;\n\tstruct ext4_io_submit io_submit;\n\tunsigned int do_map: 1;\n\tunsigned int scanned_until_end: 1;\n\tunsigned int journalled_more_data: 1;\n};\n\nstruct mpage_data {\n\tstruct bio *bio;\n\tsector_t last_block_in_bio;\n\tget_block_t *get_block;\n};\n\nstruct mpage_readpage_args {\n\tstruct bio *bio;\n\tstruct folio *folio;\n\tunsigned int nr_pages;\n\tbool is_readahead;\n\tsector_t last_block_in_bio;\n\tstruct buffer_head map_bh;\n\tlong unsigned int first_logical_block;\n\tget_block_t *get_block;\n};\n\nstruct mpls_label {\n\t__be32 entry;\n};\n\nstruct mpls_shim_hdr {\n\t__be32 label_stack_entry;\n};\n\nstruct mpt3_ioctl_header {\n\tuint32_t ioc_number;\n\tuint32_t port_number;\n\tuint32_t max_data_size;\n};\n\nstruct mpt3_addnl_diag_query {\n\tstruct mpt3_ioctl_header hdr;\n\tuint32_t unique_id;\n\tstruct htb_rel_query rel_query;\n\tuint32_t reserved2[2];\n};\n\nstruct mpt3_diag_query {\n\tstruct mpt3_ioctl_header hdr;\n\tuint8_t reserved;\n\tuint8_t buffer_type;\n\tuint16_t application_flags;\n\tuint32_t diagnostic_flags;\n\tuint32_t product_specific[23];\n\tuint32_t total_buffer_size;\n\tuint32_t driver_added_buffer_size;\n\tuint32_t unique_id;\n};\n\nstruct mpt3_diag_read_buffer {\n\tstruct mpt3_ioctl_header hdr;\n\tuint8_t status;\n\tuint8_t reserved;\n\tuint16_t flags;\n\tuint32_t starting_offset;\n\tuint32_t bytes_to_read;\n\tuint32_t unique_id;\n\tuint32_t diagnostic_data[1];\n};\n\nstruct mpt3_diag_register {\n\tstruct mpt3_ioctl_header hdr;\n\tuint8_t reserved;\n\tuint8_t buffer_type;\n\tuint16_t application_flags;\n\tuint32_t diagnostic_flags;\n\tuint32_t product_specific[23];\n\tuint32_t requested_buffer_size;\n\tuint32_t unique_id;\n};\n\nstruct mpt3_diag_release {\n\tstruct mpt3_ioctl_header hdr;\n\tuint32_t unique_id;\n};\n\nstruct mpt3_diag_unregister {\n\tstruct mpt3_ioctl_header hdr;\n\tuint32_t unique_id;\n};\n\nstruct mpt3_ioctl_btdh_mapping {\n\tstruct mpt3_ioctl_header hdr;\n\tuint32_t id;\n\tuint32_t bus;\n\tuint16_t handle;\n\tuint16_t rsvd;\n};\n\nstruct mpt3_ioctl_command {\n\tstruct mpt3_ioctl_header hdr;\n\tuint32_t timeout;\n\tvoid *reply_frame_buf_ptr;\n\tvoid *data_in_buf_ptr;\n\tvoid *data_out_buf_ptr;\n\tvoid *sense_data_ptr;\n\tuint32_t max_reply_bytes;\n\tuint32_t data_in_size;\n\tuint32_t data_out_size;\n\tuint32_t max_sense_bytes;\n\tuint32_t data_sge_offset;\n\tuint8_t mf[1];\n};\n\nstruct mpt3_ioctl_diag_reset {\n\tstruct mpt3_ioctl_header hdr;\n};\n\nstruct mpt3_ioctl_eventenable {\n\tstruct mpt3_ioctl_header hdr;\n\tuint32_t event_types[4];\n};\n\nstruct mpt3_ioctl_eventquery {\n\tstruct mpt3_ioctl_header hdr;\n\tuint16_t event_entries;\n\tuint16_t rsvd;\n\tuint32_t event_types[4];\n};\n\nstruct mpt3_ioctl_eventreport {\n\tstruct mpt3_ioctl_header hdr;\n\tstruct MPT3_IOCTL_EVENTS event_data[1];\n};\n\nstruct mpt3_ioctl_pci_info {\n\tunion {\n\t\tstruct {\n\t\t\tuint32_t device: 5;\n\t\t\tuint32_t function: 3;\n\t\t\tuint32_t bus: 24;\n\t\t} bits;\n\t\tuint32_t word;\n\t} u;\n\tuint32_t segment_id;\n};\n\nstruct mpt3_ioctl_iocinfo {\n\tstruct mpt3_ioctl_header hdr;\n\tuint32_t adapter_type;\n\tuint32_t port_number;\n\tuint32_t pci_id;\n\tuint32_t hw_rev;\n\tuint32_t subsystem_device;\n\tuint32_t subsystem_vendor;\n\tuint32_t rsvd0;\n\tuint32_t firmware_version;\n\tuint32_t bios_version;\n\tuint8_t driver_version[32];\n\tuint8_t rsvd1;\n\tuint8_t scsi_id;\n\tuint16_t rsvd2;\n\tstruct mpt3_ioctl_pci_info pci_information;\n};\n\nstruct mpt3sas_debugfs_buffer {\n\tvoid *buf;\n\tu32 len;\n};\n\nstruct mpt3sas_nvme_cmd {\n\tu8 rsvd[24];\n\t__le64 prp1;\n\t__le64 prp2;\n};\n\nstruct mpt3sas_port_facts {\n\tu8 PortNumber;\n\tu8 VP_ID;\n\tu8 VF_ID;\n\tu8 PortType;\n\tu16 MaxPostedCmdBuffers;\n};\n\nstruct mptcp_addr_info {\n\tu8 id;\n\tsa_family_t family;\n\t__be16 port;\n\tunion {\n\t\tstruct in_addr addr;\n\t\tstruct in6_addr addr6;\n\t};\n};\n\nstruct mptcp_data_frag {\n\tstruct list_head list;\n\tu64 data_seq;\n\tu16 data_len;\n\tu16 offset;\n\tu16 overhead;\n\tu16 already_sent;\n\tstruct page *page;\n};\n\nstruct mptcp_delegated_action {\n\tstruct napi_struct napi;\n\tstruct list_head head;\n};\n\nstruct mptcp_diag_ctx {\n\tlong int s_slot;\n\tlong int s_num;\n\tunsigned int l_slot;\n\tunsigned int l_num;\n};\n\nstruct mptcp_ext {\n\tunion {\n\t\tu64 data_ack;\n\t\tu32 data_ack32;\n\t};\n\tu64 data_seq;\n\tu32 subflow_seq;\n\tu16 data_len;\n\t__sum16 csum;\n\tu8 use_map: 1;\n\tu8 dsn64: 1;\n\tu8 data_fin: 1;\n\tu8 use_ack: 1;\n\tu8 ack64: 1;\n\tu8 mpc_map: 1;\n\tu8 frozen: 1;\n\tu8 reset_transient: 1;\n\tu8 reset_reason: 4;\n\tu8 csum_reqd: 1;\n\tu8 infinite_map: 1;\n};\n\nstruct mptcp_info {\n\t__u8 mptcpi_subflows;\n\t__u8 mptcpi_add_addr_signal;\n\t__u8 mptcpi_add_addr_accepted;\n\t__u8 mptcpi_subflows_max;\n\t__u8 mptcpi_add_addr_signal_max;\n\t__u8 mptcpi_add_addr_accepted_max;\n\t__u32 mptcpi_flags;\n\t__u32 mptcpi_token;\n\t__u64 mptcpi_write_seq;\n\t__u64 mptcpi_snd_una;\n\t__u64 mptcpi_rcv_nxt;\n\t__u8 mptcpi_local_addr_used;\n\t__u8 mptcpi_local_addr_max;\n\t__u8 mptcpi_csum_enabled;\n\t__u32 mptcpi_retransmits;\n\t__u64 mptcpi_bytes_retrans;\n\t__u64 mptcpi_bytes_sent;\n\t__u64 mptcpi_bytes_received;\n\t__u64 mptcpi_bytes_acked;\n\t__u8 mptcpi_subflows_total;\n\t__u8 reserved[3];\n\t__u32 mptcpi_last_data_sent;\n\t__u32 mptcpi_last_data_recv;\n\t__u32 mptcpi_last_ack_recv;\n};\n\nstruct mptcp_full_info {\n\t__u32 size_tcpinfo_kernel;\n\t__u32 size_tcpinfo_user;\n\t__u32 size_sfinfo_kernel;\n\t__u32 size_sfinfo_user;\n\t__u32 num_subflows;\n\t__u32 size_arrays_user;\n\t__u64 subflow_info;\n\t__u64 tcp_info;\n\tstruct mptcp_info mptcp_info;\n};\n\nstruct mptcp_mib {\n\tlong unsigned int mibs[71];\n};\n\nstruct mptcp_rm_list {\n\tu8 ids[8];\n\tu8 nr;\n};\n\nstruct mptcp_options_received {\n\tu64 sndr_key;\n\tu64 rcvr_key;\n\tu64 data_ack;\n\tu64 data_seq;\n\tu32 subflow_seq;\n\tu16 data_len;\n\t__sum16 csum;\n\tunion {\n\t\tstruct {\n\t\t\tu16 suboptions;\n\t\t\tu16 use_map: 1;\n\t\t\tu16 dsn64: 1;\n\t\t\tu16 data_fin: 1;\n\t\t\tu16 use_ack: 1;\n\t\t\tu16 ack64: 1;\n\t\t\tu16 mpc_map: 1;\n\t\t\tu16 reset_reason: 4;\n\t\t\tu16 reset_transient: 1;\n\t\t\tu16 echo: 1;\n\t\t\tu16 backup: 1;\n\t\t\tu16 deny_join_id0: 1;\n\t\t\tu16 __unused: 2;\n\t\t};\n\t\tstruct {\n\t\t\tu16 suboptions;\n\t\t\tu16 use_map: 1;\n\t\t\tu16 dsn64: 1;\n\t\t\tu16 data_fin: 1;\n\t\t\tu16 use_ack: 1;\n\t\t\tu16 ack64: 1;\n\t\t\tu16 mpc_map: 1;\n\t\t\tu16 reset_reason: 4;\n\t\t\tu16 reset_transient: 1;\n\t\t\tu16 echo: 1;\n\t\t\tu16 backup: 1;\n\t\t\tu16 deny_join_id0: 1;\n\t\t\tu16 __unused: 2;\n\t\t} status;\n\t};\n\tu8 join_id;\n\tu32 token;\n\tu32 nonce;\n\tu64 thmac;\n\tu8 hmac[20];\n\tstruct mptcp_addr_info addr;\n\tstruct mptcp_rm_list rm_list;\n\tu64 ahmac;\n\tu64 fail_seq;\n};\n\nstruct mptcp_out_options {\n\tu16 suboptions;\n\tstruct mptcp_rm_list rm_list;\n\tu8 join_id;\n\tu8 backup;\n\tu8 reset_reason: 4;\n\tu8 reset_transient: 1;\n\tu8 csum_reqd: 1;\n\tu8 allow_join_id0: 1;\n\tunion {\n\t\tstruct {\n\t\t\tu64 sndr_key;\n\t\t\tu64 rcvr_key;\n\t\t\tu64 data_seq;\n\t\t\tu32 subflow_seq;\n\t\t\tu16 data_len;\n\t\t\t__sum16 csum;\n\t\t};\n\t\tstruct {\n\t\t\tstruct mptcp_addr_info addr;\n\t\t\tu64 ahmac;\n\t\t};\n\t\tstruct {\n\t\t\tstruct mptcp_ext ext_copy;\n\t\t\tu64 fail_seq;\n\t\t};\n\t\tstruct {\n\t\t\tu32 nonce;\n\t\t\tu32 token;\n\t\t\tu64 thmac;\n\t\t\tu8 hmac[20];\n\t\t};\n\t};\n};\n\nstruct mptcp_pernet {\n\tstruct ctl_table_header *ctl_table_hdr;\n\tunsigned int add_addr_timeout;\n\tunsigned int blackhole_timeout;\n\tunsigned int close_timeout;\n\tunsigned int stale_loss_cnt;\n\tatomic_t active_disable_times;\n\tu8 syn_retrans_before_tcp_fallback;\n\tlong unsigned int active_disable_stamp;\n\tu8 mptcp_enabled;\n\tu8 checksum_enabled;\n\tu8 allow_join_initial_addr_port;\n\tu8 pm_type;\n\tchar scheduler[16];\n};\n\nstruct mptcp_sock;\n\nstruct mptcp_pm_add_entry {\n\tstruct list_head list;\n\tstruct mptcp_addr_info addr;\n\tu8 retrans_times;\n\tstruct timer_list add_timer;\n\tstruct mptcp_sock *sock;\n};\n\nstruct mptcp_pm_addr_entry {\n\tstruct list_head list;\n\tstruct mptcp_addr_info addr;\n\tu8 flags;\n\tint ifindex;\n\tstruct socket *lsk;\n};\n\nstruct mptcp_pm_data {\n\tstruct mptcp_addr_info local;\n\tstruct mptcp_addr_info remote;\n\tstruct list_head anno_list;\n\tstruct list_head userspace_pm_local_addr_list;\n\tspinlock_t lock;\n\tu8 addr_signal;\n\tbool server_side;\n\tbool work_pending;\n\tbool accept_addr;\n\tbool accept_subflow;\n\tbool remote_deny_join_id0;\n\tu8 add_addr_signaled;\n\tu8 add_addr_accepted;\n\tu8 local_addr_used;\n\tu8 pm_type;\n\tu8 subflows;\n\tu8 status;\n\tlong unsigned int id_avail_bitmap[4];\n\tstruct mptcp_rm_list rm_list_tx;\n\tstruct mptcp_rm_list rm_list_rx;\n};\n\nstruct mptcp_pm_local {\n\tstruct mptcp_addr_info addr;\n\tu8 flags;\n\tint ifindex;\n};\n\nstruct mptcp_subflow_context;\n\nstruct mptcp_sched_data {\n\tbool reinject;\n\tu8 subflows;\n\tstruct mptcp_subflow_context *contexts[8];\n};\n\nstruct mptcp_sched_ops {\n\tint (*get_subflow)(struct mptcp_sock *, struct mptcp_sched_data *);\n\tchar name[16];\n\tstruct module *owner;\n\tstruct list_head list;\n\tvoid (*init)(struct mptcp_sock *);\n\tvoid (*release)(struct mptcp_sock *);\n};\n\nstruct mptcp_sendmsg_info {\n\tint mss_now;\n\tint size_goal;\n\tu16 limit;\n\tu16 sent;\n\tunsigned int flags;\n\tbool data_lock_held;\n};\n\nstruct mptcp_skb_cb {\n\tu64 map_seq;\n\tu64 end_seq;\n\tu32 offset;\n\tu8 has_rxtstamp: 1;\n};\n\nstruct mptcp_sock {\n\tstruct inet_connection_sock sk;\n\tu64 local_key;\n\tu64 remote_key;\n\tu64 write_seq;\n\tu64 bytes_sent;\n\tu64 snd_nxt;\n\tu64 bytes_received;\n\tu64 ack_seq;\n\tatomic64_t rcv_wnd_sent;\n\tu64 rcv_data_fin_seq;\n\tu64 bytes_retrans;\n\tu64 bytes_consumed;\n\tint rmem_fwd_alloc;\n\tint snd_burst;\n\tint old_wspace;\n\tu64 recovery_snd_nxt;\n\tu64 bytes_acked;\n\tu64 snd_una;\n\tu64 wnd_end;\n\tu32 last_data_sent;\n\tu32 last_data_recv;\n\tu32 last_ack_recv;\n\tlong unsigned int timer_ival;\n\tu32 token;\n\tint rmem_released;\n\tlong unsigned int flags;\n\tlong unsigned int cb_flags;\n\tbool recovery;\n\tbool can_ack;\n\tbool fully_established;\n\tbool rcv_data_fin;\n\tbool snd_data_fin_enable;\n\tbool rcv_fastclose;\n\tbool use_64bit_ack;\n\tbool csum_enabled;\n\tbool allow_infinite_fallback;\n\tu8 pending_state;\n\tu8 mpc_endpoint_id;\n\tu8 recvmsg_inq: 1;\n\tu8 cork: 1;\n\tu8 nodelay: 1;\n\tu8 fastopening: 1;\n\tu8 in_accept_queue: 1;\n\tu8 free_first: 1;\n\tu8 rcvspace_init: 1;\n\tu32 notsent_lowat;\n\tint keepalive_cnt;\n\tint keepalive_idle;\n\tint keepalive_intvl;\n\tstruct work_struct work;\n\tstruct sk_buff *ooo_last_skb;\n\tstruct rb_root out_of_order_queue;\n\tstruct sk_buff_head receive_queue;\n\tstruct list_head conn_list;\n\tstruct list_head rtx_queue;\n\tstruct mptcp_data_frag *first_pending;\n\tstruct list_head join_list;\n\tstruct sock *first;\n\tstruct mptcp_pm_data pm;\n\tstruct mptcp_sched_ops *sched;\n\tstruct {\n\t\tu32 space;\n\t\tu32 copied;\n\t\tu64 time;\n\t\tu64 rtt_us;\n\t} rcvq_space;\n\tu8 scaling_ratio;\n\tu32 subflow_id;\n\tu32 setsockopt_seq;\n\tchar ca_name[16];\n};\n\nstruct sockaddr_in {\n\t__kernel_sa_family_t sin_family;\n\t__be16 sin_port;\n\tstruct in_addr sin_addr;\n\tunsigned char __pad[8];\n};\n\nstruct mptcp_subflow_addrs {\n\tunion {\n\t\t__kernel_sa_family_t sa_family;\n\t\tstruct sockaddr sa_local;\n\t\tstruct sockaddr_in sin_local;\n\t\tstruct sockaddr_in6 sin6_local;\n\t\tstruct __kernel_sockaddr_storage ss_local;\n\t};\n\tunion {\n\t\tstruct sockaddr sa_remote;\n\t\tstruct sockaddr_in sin_remote;\n\t\tstruct sockaddr_in6 sin6_remote;\n\t\tstruct __kernel_sockaddr_storage ss_remote;\n\t};\n};\n\nstruct mptcp_subflow_context {\n\tstruct list_head node;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int avg_pacing_rate;\n\t\t\tu64 local_key;\n\t\t\tu64 remote_key;\n\t\t\tu64 idsn;\n\t\t\tu64 map_seq;\n\t\t\tu32 snd_isn;\n\t\t\tu32 token;\n\t\t\tu32 rel_write_seq;\n\t\t\tu32 map_subflow_seq;\n\t\t\tu32 ssn_offset;\n\t\t\tu32 map_data_len;\n\t\t\t__wsum map_data_csum;\n\t\t\tu32 map_csum_len;\n\t\t\tu32 request_mptcp: 1;\n\t\t\tu32 request_join: 1;\n\t\t\tu32 request_bkup: 1;\n\t\t\tu32 mp_capable: 1;\n\t\t\tu32 mp_join: 1;\n\t\t\tu32 pm_notified: 1;\n\t\t\tu32 conn_finished: 1;\n\t\t\tu32 map_valid: 1;\n\t\t\tu32 map_csum_reqd: 1;\n\t\t\tu32 map_data_fin: 1;\n\t\t\tu32 mpc_map: 1;\n\t\t\tu32 backup: 1;\n\t\t\tu32 send_mp_prio: 1;\n\t\t\tu32 send_mp_fail: 1;\n\t\t\tu32 send_fastclose: 1;\n\t\t\tu32 send_infinite_map: 1;\n\t\t\tu32 remote_key_valid: 1;\n\t\t\tu32 disposable: 1;\n\t\t\tu32 stale: 1;\n\t\t\tu32 valid_csum_seen: 1;\n\t\t\tu32 is_mptfo: 1;\n\t\t\tu32 close_event_done: 1;\n\t\t\tu32 mpc_drop: 1;\n\t\t\tu32 __unused: 9;\n\t\t\tbool data_avail;\n\t\t\tbool scheduled;\n\t\t\tbool pm_listener;\n\t\t\tbool fully_established;\n\t\t\tu32 remote_nonce;\n\t\t\tu64 thmac;\n\t\t\tu32 local_nonce;\n\t\t\tu32 remote_token;\n\t\t\tunion {\n\t\t\t\tu8 hmac[20];\n\t\t\t\tu64 iasn;\n\t\t\t};\n\t\t\ts16 local_id;\n\t\t\tu8 remote_id;\n\t\t\tu8 reset_seen: 1;\n\t\t\tu8 reset_transient: 1;\n\t\t\tu8 reset_reason: 4;\n\t\t\tu8 stale_count;\n\t\t\tu32 subflow_id;\n\t\t\tlong int delegated_status;\n\t\t\tlong unsigned int fail_tout;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int avg_pacing_rate;\n\t\t\tu64 local_key;\n\t\t\tu64 remote_key;\n\t\t\tu64 idsn;\n\t\t\tu64 map_seq;\n\t\t\tu32 snd_isn;\n\t\t\tu32 token;\n\t\t\tu32 rel_write_seq;\n\t\t\tu32 map_subflow_seq;\n\t\t\tu32 ssn_offset;\n\t\t\tu32 map_data_len;\n\t\t\t__wsum map_data_csum;\n\t\t\tu32 map_csum_len;\n\t\t\tu32 request_mptcp: 1;\n\t\t\tu32 request_join: 1;\n\t\t\tu32 request_bkup: 1;\n\t\t\tu32 mp_capable: 1;\n\t\t\tu32 mp_join: 1;\n\t\t\tu32 pm_notified: 1;\n\t\t\tu32 conn_finished: 1;\n\t\t\tu32 map_valid: 1;\n\t\t\tu32 map_csum_reqd: 1;\n\t\t\tu32 map_data_fin: 1;\n\t\t\tu32 mpc_map: 1;\n\t\t\tu32 backup: 1;\n\t\t\tu32 send_mp_prio: 1;\n\t\t\tu32 send_mp_fail: 1;\n\t\t\tu32 send_fastclose: 1;\n\t\t\tu32 send_infinite_map: 1;\n\t\t\tu32 remote_key_valid: 1;\n\t\t\tu32 disposable: 1;\n\t\t\tu32 stale: 1;\n\t\t\tu32 valid_csum_seen: 1;\n\t\t\tu32 is_mptfo: 1;\n\t\t\tu32 close_event_done: 1;\n\t\t\tu32 mpc_drop: 1;\n\t\t\tu32 __unused: 9;\n\t\t\tbool data_avail;\n\t\t\tbool scheduled;\n\t\t\tbool pm_listener;\n\t\t\tbool fully_established;\n\t\t\tu32 remote_nonce;\n\t\t\tu64 thmac;\n\t\t\tu32 local_nonce;\n\t\t\tu32 remote_token;\n\t\t\tunion {\n\t\t\t\tu8 hmac[20];\n\t\t\t\tu64 iasn;\n\t\t\t};\n\t\t\ts16 local_id;\n\t\t\tu8 remote_id;\n\t\t\tu8 reset_seen: 1;\n\t\t\tu8 reset_transient: 1;\n\t\t\tu8 reset_reason: 4;\n\t\t\tu8 stale_count;\n\t\t\tu32 subflow_id;\n\t\t\tlong int delegated_status;\n\t\t\tlong unsigned int fail_tout;\n\t\t} reset;\n\t};\n\tstruct list_head delegated_node;\n\tu32 setsockopt_seq;\n\tu32 stale_rcv_tstamp;\n\tint cached_sndbuf;\n\tstruct sock *tcp_sock;\n\tstruct sock *conn;\n\tconst struct inet_connection_sock_af_ops *icsk_af_ops;\n\tvoid (*tcp_state_change)(struct sock *);\n\tvoid (*tcp_error_report)(struct sock *);\n\tstruct callback_head rcu;\n};\n\nstruct mptcp_subflow_data {\n\t__u32 size_subflow_data;\n\t__u32 num_subflows;\n\t__u32 size_kernel;\n\t__u32 size_user;\n};\n\nstruct mptcp_subflow_info {\n\t__u32 id;\n\tstruct mptcp_subflow_addrs addrs;\n};\n\nstruct tcp_request_sock_ops;\n\nstruct tcp_request_sock {\n\tstruct inet_request_sock req;\n\tconst struct tcp_request_sock_ops *af_specific;\n\tu64 snt_synack;\n\tbool tfo_listener;\n\tbool is_mptcp;\n\tbool req_usec_ts;\n\tbool drop_req;\n\tu32 txhash;\n\tu32 rcv_isn;\n\tu32 snt_isn;\n\tu32 ts_off;\n\tu32 last_oow_ack_time;\n\tu32 rcv_nxt;\n\tu8 syn_tos;\n};\n\nstruct mptcp_subflow_request_sock {\n\tstruct tcp_request_sock sk;\n\tu16 mp_capable: 1;\n\tu16 mp_join: 1;\n\tu16 backup: 1;\n\tu16 request_bkup: 1;\n\tu16 csum_reqd: 1;\n\tu16 allow_join_id0: 1;\n\tu8 local_id;\n\tu8 remote_id;\n\tu64 local_key;\n\tu64 idsn;\n\tu32 token;\n\tu32 ssn_offset;\n\tu64 thmac;\n\tu32 local_nonce;\n\tu32 remote_nonce;\n\tstruct mptcp_sock *msk;\n\tstruct hlist_nulls_node token_node;\n};\n\nstruct mq_inflight {\n\tstruct block_device *part;\n\tunsigned int inflight[2];\n};\n\nstruct mq_sched {\n\tstruct Qdisc **qdiscs;\n};\n\nstruct mqueue_fs_context {\n\tstruct ipc_namespace *ipc_ns;\n\tbool newns;\n};\n\nstruct sigevent {\n\tsigval_t sigev_value;\n\tint sigev_signo;\n\tint sigev_notify;\n\tunion {\n\t\tint _pad[12];\n\t\tint _tid;\n\t\tstruct {\n\t\t\tvoid (*_function)(sigval_t);\n\t\t\tvoid *_attribute;\n\t\t} _sigev_thread;\n\t} _sigev_un;\n};\n\nstruct posix_msg_tree_node;\n\nstruct mqueue_inode_info {\n\tspinlock_t lock;\n\tstruct inode vfs_inode;\n\twait_queue_head_t wait_q;\n\tstruct rb_root msg_tree;\n\tstruct rb_node *msg_tree_rightmost;\n\tstruct posix_msg_tree_node *node_cache;\n\tstruct mq_attr attr;\n\tstruct sigevent notify;\n\tstruct pid *notify_owner;\n\tu32 notify_self_exec_id;\n\tstruct user_namespace *notify_user_ns;\n\tstruct ucounts *ucounts;\n\tstruct sock *notify_sock;\n\tstruct sk_buff *notify_cookie;\n\tstruct ext_wait_queue e_wait_q[2];\n\tlong unsigned int qsize;\n};\n\nstruct mr_mfc_iter {\n\tstruct seq_net_private p;\n\tstruct mr_table *mrt;\n\tstruct list_head *cache;\n\tspinlock_t *lock;\n};\n\nstruct mr_table_ops {\n\tconst struct rhashtable_params *rht_params;\n\tvoid *cmparg_any;\n};\n\nstruct vif_device {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tlong unsigned int bytes_in;\n\tlong unsigned int bytes_out;\n\tlong unsigned int pkt_in;\n\tlong unsigned int pkt_out;\n\tlong unsigned int rate_limit;\n\tunsigned char threshold;\n\tshort unsigned int flags;\n\tint link;\n\tstruct netdev_phys_item_id dev_parent_id;\n\t__be32 local;\n\t__be32 remote;\n};\n\nstruct rhltable {\n\tstruct rhashtable ht;\n};\n\nstruct mr_table {\n\tstruct list_head list;\n\tpossible_net_t net;\n\tstruct mr_table_ops ops;\n\tu32 id;\n\tstruct sock *mroute_sk;\n\tstruct timer_list ipmr_expire_timer;\n\tstruct list_head mfc_unres_queue;\n\tstruct vif_device vif_table[32];\n\tstruct rhltable mfc_hash;\n\tstruct list_head mfc_cache_list;\n\tint maxvif;\n\tatomic_t cache_resolve_queue_len;\n\tbool mroute_do_assert;\n\tbool mroute_do_pim;\n\tbool mroute_do_wrvifwhole;\n\tint mroute_reg_vif_num;\n};\n\nstruct mr_vif_iter {\n\tstruct seq_net_private p;\n\tstruct mr_table *mrt;\n\tint ct;\n};\n\nstruct mraid_hba_info {\n\tuint16_t pci_vendor_id;\n\tuint16_t pci_device_id;\n\tuint16_t subsys_vendor_id;\n\tuint16_t subsys_device_id;\n\tuint64_t baseport;\n\tuint8_t pci_bus;\n\tuint8_t pci_dev_fn;\n\tuint8_t pci_slot;\n\tuint8_t irq;\n\tuint32_t unique_id;\n\tuint32_t host_no;\n\tuint8_t num_ldrv;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef struct mraid_hba_info mraid_hba_info_t;\n\nstruct mraid_mmadp {\n\tuint32_t unique_id;\n\tuint32_t drvr_type;\n\tlong unsigned int drvr_data;\n\tuint16_t timeout;\n\tuint8_t max_kioc;\n\tstruct pci_dev *pdev;\n\tint (*issue_uioc)(long unsigned int, uioc_t *, uint32_t);\n\tuint32_t quiescent;\n\tstruct list_head list;\n\tuioc_t *kioc_list;\n\tstruct list_head kioc_pool;\n\tspinlock_t kioc_pool_lock;\n\tstruct semaphore kioc_semaphore;\n\tmbox64_t___2 *mbox_list;\n\tstruct dma_pool *pthru_dma_pool;\n\tmm_dmapool_t dma_pool_list[5];\n};\n\ntypedef struct mraid_mmadp mraid_mmadp_t;\n\nstruct mrt6msg {\n\t__u8 im6_mbz;\n\t__u8 im6_msgtype;\n\t__u16 im6_mif;\n\t__u32 im6_pad;\n\tstruct in6_addr im6_src;\n\tstruct in6_addr im6_dst;\n};\n\nstruct mrw_feature_desc {\n\t__be16 feature_code;\n\t__u8 curr: 1;\n\t__u8 persistent: 1;\n\t__u8 feature_version: 4;\n\t__u8 reserved1: 2;\n\t__u8 add_len;\n\t__u8 write: 1;\n\t__u8 reserved2: 7;\n\t__u8 reserved3;\n\t__u8 reserved4;\n\t__u8 reserved5;\n};\n\nstruct msdos_partition {\n\tu8 boot_ind;\n\tu8 head;\n\tu8 sector;\n\tu8 cyl;\n\tu8 sys_ind;\n\tu8 end_head;\n\tu8 end_sector;\n\tu8 end_cyl;\n\t__le32 start_sect;\n\t__le32 nr_sects;\n};\n\nstruct msg_msgseg;\n\nstruct msg_msg {\n\tstruct list_head m_list;\n\tlong int m_type;\n\tsize_t m_ts;\n\tstruct msg_msgseg *next;\n\tvoid *security;\n};\n\nstruct msg_msgseg {\n\tstruct msg_msgseg *next;\n};\n\nstruct msg_queue {\n\tstruct kern_ipc_perm q_perm;\n\ttime64_t q_stime;\n\ttime64_t q_rtime;\n\ttime64_t q_ctime;\n\tlong unsigned int q_cbytes;\n\tlong unsigned int q_qnum;\n\tlong unsigned int q_qbytes;\n\tstruct pid *q_lspid;\n\tstruct pid *q_lrpid;\n\tstruct list_head q_messages;\n\tstruct list_head q_receivers;\n\tstruct list_head q_senders;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct msg_receiver {\n\tstruct list_head r_list;\n\tstruct task_struct *r_tsk;\n\tint r_mode;\n\tlong int r_msgtype;\n\tlong int r_maxsize;\n\tstruct msg_msg *r_msg;\n};\n\nstruct msg_security_struct {\n\tu32 sid;\n};\n\nstruct msg_sender {\n\tstruct list_head list;\n\tstruct task_struct *tsk;\n\tsize_t msgsz;\n};\n\nstruct msgbuf {\n\t__kernel_long_t mtype;\n\tchar mtext[1];\n};\n\nstruct msginfo {\n\tint msgpool;\n\tint msgmap;\n\tint msgmax;\n\tint msgmnb;\n\tint msgmni;\n\tint msgssz;\n\tint msgtql;\n\tshort unsigned int msgseg;\n};\n\nstruct msi_ctrl {\n\tunsigned int domid;\n\tunsigned int first;\n\tunsigned int last;\n\tunsigned int nirqs;\n};\n\nstruct msi_msg {\n\tunion {\n\t\tu32 address_lo;\n\t\tarch_msi_msg_addr_lo_t arch_addr_lo;\n\t};\n\tunion {\n\t\tu32 address_hi;\n\t\tarch_msi_msg_addr_hi_t arch_addr_hi;\n\t};\n\tunion {\n\t\tu32 data;\n\t\tarch_msi_msg_data_t arch_data;\n\t};\n};\n\nstruct pci_msi_desc {\n\tunion {\n\t\tu32 msi_mask;\n\t\tu32 msix_ctrl;\n\t};\n\tstruct {\n\t\tu8 is_msix: 1;\n\t\tu8 multiple: 3;\n\t\tu8 multi_cap: 3;\n\t\tu8 can_mask: 1;\n\t\tu8 is_64: 1;\n\t\tu8 is_virtual: 1;\n\t\tunsigned int default_irq;\n\t} msi_attrib;\n\tunion {\n\t\tu8 mask_pos;\n\t\tvoid *mask_base;\n\t};\n};\n\nunion msi_domain_cookie {\n\tu64 value;\n\tvoid *ptr;\n\tvoid *iobase;\n};\n\nunion msi_instance_cookie {\n\tu64 value;\n\tvoid *ptr;\n};\n\nstruct msi_desc_data {\n\tunion msi_domain_cookie dcookie;\n\tunion msi_instance_cookie icookie;\n};\n\nstruct msi_desc {\n\tunsigned int irq;\n\tunsigned int nvec_used;\n\tstruct device *dev;\n\tstruct msi_msg msg;\n\tstruct irq_affinity_desc *affinity;\n\tstruct device_attribute *sysfs_attrs;\n\tvoid (*write_msi_msg)(struct msi_desc *, void *);\n\tvoid *write_msi_msg_data;\n\tu16 msi_index;\n\tunion {\n\t\tstruct pci_msi_desc pci;\n\t\tstruct msi_desc_data data;\n\t};\n};\n\nstruct msi_dev_domain {\n\tstruct xarray store;\n\tstruct irq_domain *domain;\n};\n\nstruct msi_device_data {\n\tlong unsigned int properties;\n\tstruct mutex mutex;\n\tstruct msi_dev_domain __domains[1];\n\tlong unsigned int __iter_idx;\n};\n\nstruct msi_domain_ops;\n\nstruct msi_domain_info {\n\tu32 flags;\n\tenum irq_domain_bus_token bus_token;\n\tunsigned int hwsize;\n\tstruct msi_domain_ops *ops;\n\tstruct irq_chip *chip;\n\tvoid *chip_data;\n\tirq_flow_handler_t handler;\n\tvoid *handler_data;\n\tconst char *handler_name;\n\tvoid *data;\n};\n\nstruct msi_domain_ops {\n\tirq_hw_number_t (*get_hwirq)(struct msi_domain_info *, msi_alloc_info_t *);\n\tint (*msi_init)(struct irq_domain *, struct msi_domain_info *, unsigned int, irq_hw_number_t, msi_alloc_info_t *);\n\tvoid (*msi_free)(struct irq_domain *, struct msi_domain_info *, unsigned int);\n\tint (*msi_prepare)(struct irq_domain *, struct device *, int, msi_alloc_info_t *);\n\tvoid (*prepare_desc)(struct irq_domain *, msi_alloc_info_t *, struct msi_desc *);\n\tvoid (*set_desc)(msi_alloc_info_t *, struct msi_desc *);\n\tint (*domain_alloc_irqs)(struct irq_domain *, struct device *, int);\n\tvoid (*domain_free_irqs)(struct irq_domain *, struct device *);\n\tvoid (*msi_post_free)(struct irq_domain *, struct device *);\n\tint (*msi_translate)(struct irq_domain *, struct irq_fwspec *, irq_hw_number_t *, unsigned int *);\n};\n\nstruct msi_domain_template {\n\tchar name[48];\n\tstruct irq_chip chip;\n\tstruct msi_domain_ops ops;\n\tstruct msi_domain_info info;\n};\n\nstruct msi_map {\n\tint index;\n\tint virq;\n};\n\nstruct msi_parent_ops {\n\tu32 supported_flags;\n\tu32 required_flags;\n\tu32 bus_select_token;\n\tu32 bus_select_mask;\n\tconst char *prefix;\n\tbool (*init_dev_msi_info)(struct device *, struct irq_domain *, struct irq_domain *, struct msi_domain_info *);\n};\n\nstruct msix_irq {\n\tu16 vector;\n\tchar irq_name[64];\n};\n\nstruct msqid64_ds {\n\tstruct ipc64_perm msg_perm;\n\tlong int msg_stime;\n\tlong int msg_rtime;\n\tlong int msg_ctime;\n\tlong unsigned int msg_cbytes;\n\tlong unsigned int msg_qnum;\n\tlong unsigned int msg_qbytes;\n\t__kernel_pid_t msg_lspid;\n\t__kernel_pid_t msg_lrpid;\n\tlong unsigned int __unused4;\n\tlong unsigned int __unused5;\n};\n\nstruct msg;\n\nstruct msqid_ds {\n\tstruct ipc_perm msg_perm;\n\tstruct msg *msg_first;\n\tstruct msg *msg_last;\n\t__kernel_old_time_t msg_stime;\n\t__kernel_old_time_t msg_rtime;\n\t__kernel_old_time_t msg_ctime;\n\tlong unsigned int msg_lcbytes;\n\tlong unsigned int msg_lqbytes;\n\tshort unsigned int msg_cbytes;\n\tshort unsigned int msg_qnum;\n\tshort unsigned int msg_qbytes;\n\t__kernel_ipc_pid_t msg_lspid;\n\t__kernel_ipc_pid_t msg_lrpid;\n};\n\nstruct mthp_stat {\n\tlong unsigned int stats[204];\n};\n\nstruct multi_stop_data {\n\tcpu_stop_fn_t fn;\n\tvoid *data;\n\tunsigned int num_threads;\n\tconst struct cpumask *active_cpus;\n\tenum multi_stop_state state;\n\tatomic_t thread_ack;\n};\n\nstruct multi_transaction {\n\tstruct kref count;\n\tssize_t size;\n\tchar data[0];\n};\n\nstruct multiprocess_signals {\n\tsigset_t signal;\n\tstruct hlist_node node;\n};\n\ntypedef struct mutex *class_mutex_t;\n\ntypedef class_mutex_t class_mutex_intr_t;\n\nstruct mutex_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tstruct ww_acquire_ctx *ww_ctx;\n};\n\nstruct mv3310_mactype;\n\nstruct mv3310_chip {\n\tbool (*has_downshift)(struct phy_device *);\n\tvoid (*init_supported_interfaces)(long unsigned int *);\n\tint (*get_mactype)(struct phy_device *);\n\tint (*set_mactype)(struct phy_device *, int);\n\tint (*select_mactype)(long unsigned int *);\n\tconst struct mv3310_mactype *mactypes;\n\tsize_t n_mactypes;\n\tint (*hwmon_read_temp_reg)(struct phy_device *);\n};\n\nstruct mv3310_mactype {\n\tbool valid;\n\tbool fixed_interface;\n\tphy_interface_t interface_10g;\n};\n\nstruct mv3310_priv {\n\tlong unsigned int supported_interfaces[1];\n\tconst struct mv3310_mactype *mactype;\n\tu32 firmware_ver;\n\tbool has_downshift;\n\tstruct device *hwmon_dev;\n\tchar *hwmon_name;\n};\n\nstruct mvs_dispatch;\n\nstruct mvs_chip_info {\n\tu32 n_host;\n\tu32 n_phy;\n\tu32 fis_offs;\n\tu32 fis_count;\n\tu32 srs_sz;\n\tu32 sg_width;\n\tu32 slot_width;\n\tconst struct mvs_dispatch *dispatch;\n};\n\nstruct mvs_cmd_hdr {\n\t__le32 flags;\n\t__le32 lens;\n\t__le32 tags;\n\t__le32 data_len;\n\t__le64 cmd_tbl;\n\t__le64 open_frame;\n\t__le64 status_buf;\n\t__le64 prd_tbl;\n\t__le32 reserved[4];\n};\n\nstruct mvs_info;\n\nstruct mvs_device {\n\tstruct list_head dev_entry;\n\tenum sas_device_type dev_type;\n\tstruct mvs_info *mvi_info;\n\tstruct domain_device *sas_device;\n\tu32 attached_phy;\n\tu32 device_id;\n\tu32 running_req;\n\tu8 taskfileset;\n\tu8 dev_status;\n\tu16 reserved;\n};\n\nstruct sas_identify_frame;\n\nstruct sas_phy_linkrates;\n\nstruct mvs_prv_info;\n\nstruct mvs_dispatch {\n\tchar *name;\n\tint (*chip_init)(struct mvs_info *);\n\tint (*spi_init)(struct mvs_info *);\n\tint (*chip_ioremap)(struct mvs_info *);\n\tvoid (*chip_iounmap)(struct mvs_info *);\n\tirqreturn_t (*isr)(struct mvs_info *, int, u32);\n\tu32 (*isr_status)(struct mvs_info *, int);\n\tvoid (*interrupt_enable)(struct mvs_info *);\n\tvoid (*interrupt_disable)(struct mvs_info *);\n\tu32 (*read_phy_ctl)(struct mvs_info *, u32);\n\tvoid (*write_phy_ctl)(struct mvs_info *, u32, u32);\n\tu32 (*read_port_cfg_data)(struct mvs_info *, u32);\n\tvoid (*write_port_cfg_data)(struct mvs_info *, u32, u32);\n\tvoid (*write_port_cfg_addr)(struct mvs_info *, u32, u32);\n\tu32 (*read_port_vsr_data)(struct mvs_info *, u32);\n\tvoid (*write_port_vsr_data)(struct mvs_info *, u32, u32);\n\tvoid (*write_port_vsr_addr)(struct mvs_info *, u32, u32);\n\tu32 (*read_port_irq_stat)(struct mvs_info *, u32);\n\tvoid (*write_port_irq_stat)(struct mvs_info *, u32, u32);\n\tu32 (*read_port_irq_mask)(struct mvs_info *, u32);\n\tvoid (*write_port_irq_mask)(struct mvs_info *, u32, u32);\n\tvoid (*command_active)(struct mvs_info *, u32);\n\tvoid (*clear_srs_irq)(struct mvs_info *, u8, u8);\n\tvoid (*issue_stop)(struct mvs_info *, enum mvs_port_type, u32);\n\tvoid (*start_delivery)(struct mvs_info *, u32);\n\tu32 (*rx_update)(struct mvs_info *);\n\tvoid (*int_full)(struct mvs_info *);\n\tu8 (*assign_reg_set)(struct mvs_info *, u8 *);\n\tvoid (*free_reg_set)(struct mvs_info *, u8 *);\n\tu32 (*prd_size)(void);\n\tu32 (*prd_count)(void);\n\tvoid (*make_prd)(struct scatterlist *, int, void *);\n\tvoid (*detect_porttype)(struct mvs_info *, int);\n\tint (*oob_done)(struct mvs_info *, int);\n\tvoid (*fix_phy_info)(struct mvs_info *, int, struct sas_identify_frame *);\n\tvoid (*phy_work_around)(struct mvs_info *, int);\n\tvoid (*phy_set_link_rate)(struct mvs_info *, u32, struct sas_phy_linkrates *);\n\tu32 (*phy_max_link_rate)(void);\n\tvoid (*phy_disable)(struct mvs_info *, u32);\n\tvoid (*phy_enable)(struct mvs_info *, u32);\n\tvoid (*phy_reset)(struct mvs_info *, u32, int);\n\tvoid (*stp_reset)(struct mvs_info *, u32);\n\tvoid (*clear_active_cmds)(struct mvs_info *);\n\tu32 (*spi_read_data)(struct mvs_info *);\n\tvoid (*spi_write_data)(struct mvs_info *, u32);\n\tint (*spi_buildcmd)(struct mvs_info *, u32 *, u8, u8, u8, u32);\n\tint (*spi_issuecmd)(struct mvs_info *, u32);\n\tint (*spi_waitdataready)(struct mvs_info *, u32);\n\tvoid (*dma_fix)(struct mvs_info *, u32, int, int, void *);\n\tvoid (*tune_interrupt)(struct mvs_info *, u32);\n\tvoid (*non_spec_ncq_error)(struct mvs_info *);\n\tint (*gpio_write)(struct mvs_prv_info *, u8, u8, u8, u8 *);\n};\n\nstruct mvs_port;\n\nstruct mvs_phy {\n\tstruct mvs_info *mvi;\n\tstruct mvs_port *port;\n\tstruct asd_sas_phy sas_phy;\n\tstruct sas_identify identify;\n\tstruct scsi_device *sdev;\n\tstruct timer_list timer;\n\tu64 dev_sas_addr;\n\tu64 att_dev_sas_addr;\n\tu32 att_dev_info;\n\tu32 dev_info;\n\tu32 phy_type;\n\tu32 phy_status;\n\tu32 irq_status;\n\tu32 frame_rcvd_size;\n\tu8 frame_rcvd[32];\n\tu8 phy_attached;\n\tu8 phy_mode;\n\tu8 reserved[2];\n\tu32 phy_event;\n\tenum sas_linkrate minimum_linkrate;\n\tenum sas_linkrate maximum_linkrate;\n};\n\nstruct mvs_port {\n\tstruct asd_sas_port sas_port;\n\tu8 port_attached;\n\tu8 wide_port_phymap;\n\tstruct list_head list;\n};\n\nstruct sas_task;\n\nstruct mvs_slot_info {\n\tstruct list_head entry;\n\tunion {\n\t\tstruct sas_task *task;\n\t\tvoid *tdata;\n\t};\n\tu32 n_elem;\n\tu32 tx;\n\tu32 slot_tag;\n\tvoid *buf;\n\tdma_addr_t buf_dma;\n\tvoid *response;\n\tstruct mvs_port *port;\n\tstruct mvs_device *device;\n\tvoid *open_frame;\n};\n\nstruct mvs_info {\n\tlong unsigned int flags;\n\tspinlock_t lock;\n\tstruct pci_dev *pdev;\n\tstruct device *dev;\n\tvoid *regs;\n\tvoid *regs_ex;\n\tu8 sas_addr[8];\n\tstruct sas_ha_struct *sas;\n\tstruct Scsi_Host *shost;\n\t__le32 *tx;\n\tdma_addr_t tx_dma;\n\tu32 tx_prod;\n\t__le32 *rx;\n\tdma_addr_t rx_dma;\n\tu32 rx_cons;\n\t__le32 *rx_fis;\n\tdma_addr_t rx_fis_dma;\n\tstruct mvs_cmd_hdr *slot;\n\tdma_addr_t slot_dma;\n\tu32 chip_id;\n\tconst struct mvs_chip_info *chip;\n\tlong unsigned int *rsvd_tags;\n\tstruct mvs_phy phy[8];\n\tstruct mvs_port port[8];\n\tu32 id;\n\tu64 sata_reg_set;\n\tstruct list_head *hba_list;\n\tstruct list_head soc_entry;\n\tstruct list_head wq_list;\n\tlong unsigned int instance;\n\tu16 flashid;\n\tu32 flashsize;\n\tu32 flashsectSize;\n\tvoid *addon;\n\tstruct hba_info_page hba_info_param;\n\tstruct mvs_device devices[1024];\n\tvoid *bulk_buffer;\n\tdma_addr_t bulk_buffer_dma;\n\tvoid *bulk_buffer1;\n\tdma_addr_t bulk_buffer_dma1;\n\tvoid *dma_pool;\n\tstruct mvs_slot_info slot_info[0];\n};\n\nstruct mvs_prd {\n\t__le64 addr;\n\t__le32 reserved;\n\t__le32 len;\n};\n\nstruct mvs_prd___2 {\n\t__le64 addr;\n\t__le32 im_len;\n} __attribute__((packed));\n\nstruct mvs_prd_imt {\n\t__le32 len: 22;\n\tu8 _r_a: 2;\n\tu8 misc_ctl: 4;\n\tu8 inter_sel: 4;\n};\n\nstruct mvs_prv_info {\n\tu8 n_host;\n\tu8 n_phy;\n\tu8 scan_finished;\n\tu8 reserve;\n\tstruct mvs_info *mvi[2];\n\tstruct tasklet_struct mv_tasklet;\n};\n\nstruct mvs_task_exec_info {\n\tstruct sas_task *task;\n\tstruct mvs_cmd_hdr *hdr;\n\tstruct mvs_port *port;\n\tu32 tag;\n\tint n_elem;\n};\n\nstruct mvs_wq {\n\tstruct delayed_work work_q;\n\tstruct mvs_info *mvi;\n\tvoid *data;\n\tint handler;\n\tstruct list_head entry;\n};\n\nstruct mvumi_msg_frame;\n\nstruct mvumi_cmd {\n\tstruct list_head queue_pointer;\n\tstruct mvumi_msg_frame *frame;\n\tdma_addr_t frame_phys;\n\tstruct scsi_cmnd *scmd;\n\tatomic_t sync_cmd;\n\tvoid *data_buf;\n\tshort unsigned int request_id;\n\tunsigned char cmd_status;\n};\n\nstruct mvumi_cmd_priv {\n\tstruct mvumi_cmd *cmd_priv;\n};\n\nstruct mvumi_compact_sgl {\n\tu32 baseaddr_l;\n\tu32 baseaddr_h;\n\tu32 flags;\n};\n\nstruct mvumi_device {\n\tstruct list_head list;\n\tstruct scsi_device *sdev;\n\tu64 wwid;\n\tu8 dev_type;\n\tint id;\n};\n\nstruct mvumi_driver_event {\n\tu32 time_stamp;\n\tu32 sequence_no;\n\tu32 event_id;\n\tu8 severity;\n\tu8 param_count;\n\tu16 device_id;\n\tu32 params[4];\n\tu8 sense_data_length;\n\tu8 Reserved1;\n\tu8 sense_data[30];\n};\n\nstruct mvumi_dyn_list_entry {\n\tu32 src_low_addr;\n\tu32 src_high_addr;\n\tu32 if_length;\n\tu32 reserve;\n};\n\nstruct mvumi_event_req {\n\tunsigned char count;\n\tunsigned char reserved[3];\n\tstruct mvumi_driver_event events[6];\n};\n\nstruct mvumi_hba;\n\nstruct mvumi_events_wq {\n\tstruct work_struct work_q;\n\tstruct mvumi_hba *mhba;\n\tunsigned int event;\n\tvoid *param;\n};\n\nstruct mvumi_tag {\n\tshort unsigned int *stack;\n\tshort unsigned int top;\n\tshort unsigned int size;\n};\n\nstruct mvumi_instance_template;\n\nstruct mvumi_hw_regs;\n\nstruct mvumi_hba {\n\tvoid *base_addr[6];\n\tu32 pci_base[6];\n\tvoid *mmio;\n\tstruct list_head cmd_pool;\n\tstruct Scsi_Host *shost;\n\twait_queue_head_t int_cmd_wait_q;\n\tstruct pci_dev *pdev;\n\tunsigned int unique_id;\n\tatomic_t fw_outstanding;\n\tstruct mvumi_instance_template *instancet;\n\tvoid *ib_list;\n\tdma_addr_t ib_list_phys;\n\tvoid *ib_frame;\n\tdma_addr_t ib_frame_phys;\n\tvoid *ob_list;\n\tdma_addr_t ob_list_phys;\n\tvoid *ib_shadow;\n\tdma_addr_t ib_shadow_phys;\n\tvoid *ob_shadow;\n\tdma_addr_t ob_shadow_phys;\n\tvoid *handshake_page;\n\tdma_addr_t handshake_page_phys;\n\tunsigned int global_isr;\n\tunsigned int isr_status;\n\tshort unsigned int max_sge;\n\tshort unsigned int max_target_id;\n\tunsigned char *target_map;\n\tunsigned int max_io;\n\tunsigned int list_num_io;\n\tunsigned int ib_max_size;\n\tunsigned int ob_max_size;\n\tunsigned int ib_max_size_setting;\n\tunsigned int ob_max_size_setting;\n\tunsigned int max_transfer_size;\n\tunsigned char hba_total_pages;\n\tunsigned char fw_flag;\n\tunsigned char request_id_enabled;\n\tunsigned char eot_flag;\n\tshort unsigned int hba_capability;\n\tshort unsigned int io_seq;\n\tunsigned int ib_cur_slot;\n\tunsigned int ob_cur_slot;\n\tunsigned int fw_state;\n\tstruct mutex sas_discovery_mutex;\n\tstruct list_head ob_data_list;\n\tstruct list_head free_ob_list;\n\tstruct list_head res_list;\n\tstruct list_head waiting_req_list;\n\tstruct mvumi_tag tag_pool;\n\tstruct mvumi_cmd **tag_cmd;\n\tstruct mvumi_hw_regs *regs;\n\tstruct mutex device_lock;\n\tstruct list_head mhba_dev_list;\n\tstruct list_head shost_dev_list;\n\tstruct task_struct *dm_thread;\n\tatomic_t pnp_count;\n};\n\nstruct mvumi_hotplug_event {\n\tu16 size;\n\tu8 dummy[2];\n\tu8 bitmap[0];\n};\n\nstruct mvumi_hs_header {\n\tu8 page_code;\n\tu8 checksum;\n\tu16 frame_length;\n\tu32 frame_content[0];\n};\n\nstruct version_info {\n\tu32 ver_major;\n\tu32 ver_minor;\n\tu32 ver_oem;\n\tu32 ver_build;\n};\n\nstruct mvumi_hs_page1 {\n\tu8 pagecode;\n\tu8 checksum;\n\tu16 frame_length;\n\tu16 number_of_ports;\n\tu16 max_devices_support;\n\tu16 max_io_support;\n\tu16 umi_ver;\n\tu32 max_transfer_size;\n\tstruct version_info fw_ver;\n\tu8 cl_in_max_entry_size;\n\tu8 cl_out_max_entry_size;\n\tu8 cl_inout_list_depth;\n\tu8 total_pages;\n\tu16 capability;\n\tu16 reserved1;\n};\n\nstruct mvumi_hs_page2 {\n\tu8 pagecode;\n\tu8 checksum;\n\tu16 frame_length;\n\tu8 host_type;\n\tu8 host_cap;\n\tu8 reserved[2];\n\tstruct version_info host_ver;\n\tu32 system_io_bus;\n\tu32 slot_number;\n\tu32 intr_level;\n\tu32 intr_vector;\n\tu64 seconds_since1970;\n};\n\nstruct mvumi_hs_page3 {\n\tu8 pagecode;\n\tu8 checksum;\n\tu16 frame_length;\n\tu16 control;\n\tu8 reserved[2];\n\tu32 host_bufferaddr_l;\n\tu32 host_bufferaddr_h;\n\tu32 host_eventaddr_l;\n\tu32 host_eventaddr_h;\n};\n\nstruct mvumi_hs_page4 {\n\tu8 pagecode;\n\tu8 checksum;\n\tu16 frame_length;\n\tu32 ib_baseaddr_l;\n\tu32 ib_baseaddr_h;\n\tu32 ob_baseaddr_l;\n\tu32 ob_baseaddr_h;\n\tu8 ib_entry_size;\n\tu8 ob_entry_size;\n\tu8 ob_depth;\n\tu8 ib_depth;\n};\n\nstruct mvumi_hw_regs {\n\tvoid *main_int_cause_reg;\n\tvoid *enpointa_mask_reg;\n\tvoid *enpointb_mask_reg;\n\tvoid *rstoutn_en_reg;\n\tvoid *ctrl_sts_reg;\n\tvoid *rstoutn_mask_reg;\n\tvoid *sys_soft_rst_reg;\n\tvoid *pciea_to_arm_drbl_reg;\n\tvoid *arm_to_pciea_drbl_reg;\n\tvoid *arm_to_pciea_mask_reg;\n\tvoid *pciea_to_arm_msg0;\n\tvoid *pciea_to_arm_msg1;\n\tvoid *arm_to_pciea_msg0;\n\tvoid *arm_to_pciea_msg1;\n\tvoid *reset_request;\n\tvoid *reset_enable;\n\tvoid *inb_list_basel;\n\tvoid *inb_list_baseh;\n\tvoid *inb_aval_count_basel;\n\tvoid *inb_aval_count_baseh;\n\tvoid *inb_write_pointer;\n\tvoid *inb_read_pointer;\n\tvoid *outb_list_basel;\n\tvoid *outb_list_baseh;\n\tvoid *outb_copy_basel;\n\tvoid *outb_copy_baseh;\n\tvoid *outb_copy_pointer;\n\tvoid *outb_read_pointer;\n\tvoid *inb_isr_cause;\n\tvoid *outb_isr_cause;\n\tvoid *outb_coal_cfg;\n\tvoid *outb_coal_timeout;\n\tu32 int_comaout;\n\tu32 int_comaerr;\n\tu32 int_dl_cpu2pciea;\n\tu32 int_mu;\n\tu32 int_drbl_int_mask;\n\tu32 int_main_int_mask;\n\tu32 cl_pointer_toggle;\n\tu32 cl_slot_num_mask;\n\tu32 clic_irq;\n\tu32 clic_in_err;\n\tu32 clic_out_err;\n};\n\nstruct mvumi_instance_template {\n\tvoid (*fire_cmd)(struct mvumi_hba *, struct mvumi_cmd *);\n\tvoid (*enable_intr)(struct mvumi_hba *);\n\tvoid (*disable_intr)(struct mvumi_hba *);\n\tint (*clear_intr)(void *);\n\tunsigned int (*read_fw_status_reg)(struct mvumi_hba *);\n\tunsigned int (*check_ib_list)(struct mvumi_hba *);\n\tint (*check_ob_list)(struct mvumi_hba *, unsigned int *, unsigned int *);\n\tint (*reset_host)(struct mvumi_hba *);\n};\n\nstruct mvumi_msg_frame {\n\tu16 device_id;\n\tu16 tag;\n\tu8 cmd_flag;\n\tu8 req_function;\n\tu8 cdb_length;\n\tu8 sg_counts;\n\tu32 data_transfer_length;\n\tu16 request_id;\n\tu16 reserved1;\n\tu8 cdb[16];\n\tu32 payload[0];\n};\n\nstruct mvumi_ob_data {\n\tstruct list_head list;\n\tunsigned char data[0];\n};\n\nstruct mvumi_res {\n\tstruct list_head entry;\n\tdma_addr_t bus_addr;\n\tvoid *virt_addr;\n\tunsigned int size;\n\tshort unsigned int type;\n};\n\nstruct mvumi_rsp_frame {\n\tu16 device_id;\n\tu16 tag;\n\tu8 req_status;\n\tu8 rsp_flag;\n\tu16 request_id;\n\tu32 payload[0];\n};\n\nstruct mvumi_sgl {\n\tu32 baseaddr_l;\n\tu32 baseaddr_h;\n\tu32 flags;\n\tu32 size;\n};\n\nstruct my_u {\n\t__le64 a;\n\t__le64 b;\n};\n\nstruct my_u0 {\n\tu64 a;\n\tu64 b;\n};\n\nstruct my_u0___2 {\n\t__le64 a;\n\t__le64 b;\n};\n\nstruct my_u1 {\n\t__le64 a;\n\t__le64 b;\n\t__le64 c;\n\t__le64 d;\n};\n\nstruct n_tty_data {\n\tsize_t read_head;\n\tsize_t commit_head;\n\tsize_t canon_head;\n\tsize_t echo_head;\n\tsize_t echo_commit;\n\tsize_t echo_mark;\n\tlong unsigned int char_map[4];\n\tlong unsigned int overrun_time;\n\tunsigned int num_overrun;\n\tbool no_room;\n\tunsigned char lnext: 1;\n\tunsigned char erasing: 1;\n\tunsigned char raw: 1;\n\tunsigned char real_raw: 1;\n\tunsigned char icanon: 1;\n\tunsigned char push: 1;\n\tu8 read_buf[4096];\n\tlong unsigned int read_flags[64];\n\tu8 echo_buf[4096];\n\tsize_t read_tail;\n\tsize_t line_start;\n\tsize_t lookahead_count;\n\tunsigned int column;\n\tunsigned int canon_column;\n\tsize_t echo_tail;\n\tstruct mutex atomic_read_lock;\n\tstruct mutex output_lock;\n};\n\nstruct name_cache_entry {\n\tstruct btrfs_lru_cache_entry entry;\n\tu64 parent_ino;\n\tu64 parent_gen;\n\tint ret;\n\tint need_later_update;\n\tint name_len;\n\tchar name[0];\n};\n\nstruct name_list {\n\tchar name[33];\n\tstruct list_head list;\n};\n\nstruct saved {\n\tstruct path link;\n\tstruct delayed_call done;\n\tconst char *name;\n\tunsigned int seq;\n};\n\nstruct nameidata {\n\tstruct path path;\n\tstruct qstr last;\n\tstruct path root;\n\tstruct inode *inode;\n\tunsigned int flags;\n\tunsigned int state;\n\tunsigned int seq;\n\tunsigned int next_seq;\n\tunsigned int m_seq;\n\tunsigned int r_seq;\n\tint last_type;\n\tunsigned int depth;\n\tint total_link_count;\n\tstruct saved *stack;\n\tstruct saved internal[2];\n\tstruct filename *name;\n\tconst char *pathname;\n\tstruct nameidata *saved;\n\tunsigned int root_seq;\n\tint dfd;\n\tvfsuid_t dir_vfsuid;\n\tumode_t dir_mode;\n};\n\nstruct page_frag_cache {\n\tlong unsigned int encoded_page;\n\t__u32 offset;\n\t__u32 pagecnt_bias;\n};\n\nstruct napi_alloc_cache {\n\tlocal_lock_t bh_lock;\n\tstruct page_frag_cache page;\n\tunsigned int skb_count;\n\tvoid *skb_cache[64];\n};\n\nstruct napi_config {\n\tu64 gro_flush_timeout;\n\tu64 irq_suspend_timeout;\n\tu32 defer_hard_irqs;\n\tunsigned int napi_id;\n};\n\nstruct napi_gro_cb {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *frag0;\n\t\t\tunsigned int frag0_len;\n\t\t};\n\t\tstruct {\n\t\t\tstruct sk_buff *last;\n\t\t\tlong unsigned int age;\n\t\t};\n\t};\n\tint data_offset;\n\tu16 flush;\n\tu16 count;\n\tu16 proto;\n\tu16 pad;\n\tunion {\n\t\tstruct {\n\t\t\tu16 gro_remcsum_start;\n\t\t\tu8 same_flow: 1;\n\t\t\tu8 encap_mark: 1;\n\t\t\tu8 csum_valid: 1;\n\t\t\tu8 csum_cnt: 3;\n\t\t\tu8 free: 2;\n\t\t\tu8 is_ipv6: 1;\n\t\t\tu8 is_fou: 1;\n\t\t\tu8 ip_fixedid: 1;\n\t\t\tu8 recursion_counter: 4;\n\t\t\tu8 is_flist: 1;\n\t\t};\n\t\tstruct {\n\t\t\tu16 gro_remcsum_start;\n\t\t\tu8 same_flow: 1;\n\t\t\tu8 encap_mark: 1;\n\t\t\tu8 csum_valid: 1;\n\t\t\tu8 csum_cnt: 3;\n\t\t\tu8 free: 2;\n\t\t\tu8 is_ipv6: 1;\n\t\t\tu8 is_fou: 1;\n\t\t\tu8 ip_fixedid: 1;\n\t\t\tu8 recursion_counter: 4;\n\t\t\tu8 is_flist: 1;\n\t\t} zeroed;\n\t};\n\t__wsum csum;\n\tunion {\n\t\tstruct {\n\t\t\tu16 network_offset;\n\t\t\tu16 inner_network_offset;\n\t\t};\n\t\tu16 network_offsets[2];\n\t};\n};\n\nstruct nat_keepalive {\n\tstruct net *net;\n\tu16 family;\n\txfrm_address_t saddr;\n\txfrm_address_t daddr;\n\t__be16 encap_sport;\n\t__be16 encap_dport;\n\t__u32 smark;\n};\n\nstruct nat_keepalive_work_ctx {\n\ttime64_t next_run;\n\ttime64_t now;\n};\n\nstruct nbcon_state {\n\tunion {\n\t\tunsigned int atom;\n\t\tstruct {\n\t\t\tunsigned int prio: 2;\n\t\t\tunsigned int req_prio: 2;\n\t\t\tunsigned int unsafe: 1;\n\t\t\tunsigned int unsafe_takeover: 1;\n\t\t\tunsigned int cpu: 24;\n\t\t};\n\t};\n};\n\nstruct nbcon_write_context {\n\tstruct nbcon_context ctxt;\n\tchar *outbuf;\n\tunsigned int len;\n\tbool unsafe_takeover;\n};\n\nstruct nd_msg {\n\tstruct icmp6hdr icmph;\n\tstruct in6_addr target;\n\t__u8 opt[0];\n};\n\nstruct nd_opt_hdr {\n\t__u8 nd_opt_type;\n\t__u8 nd_opt_len;\n};\n\nstruct nda_cacheinfo {\n\t__u32 ndm_confirmed;\n\t__u32 ndm_used;\n\t__u32 ndm_updated;\n\t__u32 ndm_refcnt;\n};\n\nstruct ndisc_options;\n\nstruct prefix_info;\n\nstruct ndisc_ops {\n\tint (*parse_options)(const struct net_device *, struct nd_opt_hdr *, struct ndisc_options *);\n\tvoid (*update)(const struct net_device *, struct neighbour *, u32, u8, const struct ndisc_options *);\n\tint (*opt_addr_space)(const struct net_device *, u8, struct neighbour *, u8 *, u8 **);\n\tvoid (*fill_addr_option)(const struct net_device *, struct sk_buff *, u8, const u8 *);\n\tvoid (*prefix_rcv_add_addr)(struct net *, struct net_device *, const struct prefix_info *, struct inet6_dev *, struct in6_addr *, int, u32, bool, bool, __u32, u32, bool);\n};\n\nstruct ndisc_options {\n\tstruct nd_opt_hdr *nd_opt_array[15];\n\tstruct nd_opt_hdr *nd_opts_ri;\n\tstruct nd_opt_hdr *nd_opts_ri_end;\n\tstruct nd_opt_hdr *nd_useropts;\n\tstruct nd_opt_hdr *nd_useropts_end;\n};\n\nstruct ndmsg {\n\t__u8 ndm_family;\n\t__u8 ndm_pad1;\n\t__u16 ndm_pad2;\n\t__s32 ndm_ifindex;\n\t__u16 ndm_state;\n\t__u8 ndm_flags;\n\t__u8 ndm_type;\n};\n\nstruct ndo_fdb_dump_context {\n\tlong unsigned int ifindex;\n\tlong unsigned int fdb_idx;\n};\n\nstruct ndt_config {\n\t__u16 ndtc_key_len;\n\t__u16 ndtc_entry_size;\n\t__u32 ndtc_entries;\n\t__u32 ndtc_last_flush;\n\t__u32 ndtc_last_rand;\n\t__u32 ndtc_hash_rnd;\n\t__u32 ndtc_hash_mask;\n\t__u32 ndtc_hash_chain_gc;\n\t__u32 ndtc_proxy_qlen;\n};\n\nstruct ndt_stats {\n\t__u64 ndts_allocs;\n\t__u64 ndts_destroys;\n\t__u64 ndts_hash_grows;\n\t__u64 ndts_res_failed;\n\t__u64 ndts_lookups;\n\t__u64 ndts_hits;\n\t__u64 ndts_rcv_probes_mcast;\n\t__u64 ndts_rcv_probes_ucast;\n\t__u64 ndts_periodic_gc_runs;\n\t__u64 ndts_forced_gc_runs;\n\t__u64 ndts_table_fulls;\n};\n\nstruct ndtmsg {\n\t__u8 ndtm_family;\n\t__u8 ndtm_pad1;\n\t__u16 ndtm_pad2;\n};\n\nstruct nduseroptmsg {\n\tunsigned char nduseropt_family;\n\tunsigned char nduseropt_pad1;\n\tshort unsigned int nduseropt_opts_len;\n\tint nduseropt_ifindex;\n\t__u8 nduseropt_icmp_type;\n\t__u8 nduseropt_icmp_code;\n\tshort unsigned int nduseropt_pad2;\n\tunsigned int nduseropt_pad3;\n};\n\nstruct neigh_dump_filter {\n\tint master_idx;\n\tint dev_idx;\n};\n\nstruct neigh_hash_table {\n\tstruct hlist_head *hash_heads;\n\tunsigned int hash_shift;\n\t__u32 hash_rnd[4];\n\tstruct callback_head rcu;\n};\n\nstruct neigh_ops {\n\tint family;\n\tvoid (*solicit)(struct neighbour *, struct sk_buff *);\n\tvoid (*error_report)(struct neighbour *, struct sk_buff *);\n\tint (*output)(struct neighbour *, struct sk_buff *);\n\tint (*connected_output)(struct neighbour *, struct sk_buff *);\n};\n\nstruct neigh_parms {\n\tpossible_net_t net;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head list;\n\tint (*neigh_setup)(struct neighbour *);\n\tstruct neigh_table *tbl;\n\tvoid *sysctl_table;\n\tint dead;\n\trefcount_t refcnt;\n\tstruct callback_head callback_head;\n\tint reachable_time;\n\tu32 qlen;\n\tint data[14];\n\tlong unsigned int data_state[1];\n};\n\nstruct neigh_seq_state {\n\tstruct seq_net_private p;\n\tstruct neigh_table *tbl;\n\tstruct neigh_hash_table *nht;\n\tvoid * (*neigh_sub_iter)(struct neigh_seq_state *, struct neighbour *, loff_t *);\n\tunsigned int bucket;\n\tunsigned int flags;\n};\n\nstruct neigh_statistics {\n\tlong unsigned int allocs;\n\tlong unsigned int destroys;\n\tlong unsigned int hash_grows;\n\tlong unsigned int res_failed;\n\tlong unsigned int lookups;\n\tlong unsigned int hits;\n\tlong unsigned int rcv_probes_mcast;\n\tlong unsigned int rcv_probes_ucast;\n\tlong unsigned int periodic_gc_runs;\n\tlong unsigned int forced_gc_runs;\n\tlong unsigned int unres_discards;\n\tlong unsigned int table_fulls;\n};\n\nstruct neigh_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table neigh_vars[21];\n};\n\nstruct pneigh_entry;\n\nstruct neigh_table {\n\tint family;\n\tunsigned int entry_size;\n\tunsigned int key_len;\n\t__be16 protocol;\n\t__u32 (*hash)(const void *, const struct net_device *, __u32 *);\n\tbool (*key_eq)(const struct neighbour *, const void *);\n\tint (*constructor)(struct neighbour *);\n\tint (*pconstructor)(struct pneigh_entry *);\n\tvoid (*pdestructor)(struct pneigh_entry *);\n\tvoid (*proxy_redo)(struct sk_buff *);\n\tint (*is_multicast)(const void *);\n\tbool (*allow_add)(const struct net_device *, struct netlink_ext_ack *);\n\tchar *id;\n\tstruct neigh_parms parms;\n\tstruct list_head parms_list;\n\tint gc_interval;\n\tint gc_thresh1;\n\tint gc_thresh2;\n\tint gc_thresh3;\n\tlong unsigned int last_flush;\n\tstruct delayed_work gc_work;\n\tstruct delayed_work managed_work;\n\tstruct timer_list proxy_timer;\n\tstruct sk_buff_head proxy_queue;\n\tatomic_t entries;\n\tatomic_t gc_entries;\n\tstruct list_head gc_list;\n\tstruct list_head managed_list;\n\trwlock_t lock;\n\tlong unsigned int last_rand;\n\tstruct neigh_statistics *stats;\n\tstruct neigh_hash_table *nht;\n\tstruct pneigh_entry **phash_buckets;\n};\n\nstruct neighbour {\n\tstruct hlist_node hash;\n\tstruct hlist_node dev_list;\n\tstruct neigh_table *tbl;\n\tstruct neigh_parms *parms;\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\tunsigned int arp_queue_len_bytes;\n\tstruct sk_buff_head arp_queue;\n\tstruct timer_list timer;\n\tlong unsigned int used;\n\tatomic_t probes;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tu8 protocol;\n\tu32 flags;\n\tseqlock_t ha_lock;\n\tlong: 0;\n\tunsigned char ha[32];\n\tstruct hh_cache hh;\n\tint (*output)(struct neighbour *, struct sk_buff *);\n\tconst struct neigh_ops *ops;\n\tstruct list_head gc_list;\n\tstruct list_head managed_list;\n\tstruct callback_head rcu;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu8 primary_key[0];\n};\n\nstruct neighbour_cb {\n\tlong unsigned int sched_next;\n\tunsigned int flags;\n};\n\nunion nested_table {\n\tunion nested_table *table;\n\tstruct rhash_lock_head *bucket;\n};\n\nstruct ref_tracker_dir {};\n\nstruct prot_inuse;\n\nstruct netns_core {\n\tstruct ctl_table_header *sysctl_hdr;\n\tint sysctl_somaxconn;\n\tint sysctl_optmem_max;\n\tu8 sysctl_txrehash;\n\tu8 sysctl_tstamp_allow_data;\n\tstruct prot_inuse *prot_inuse;\n\tstruct cpumask *rps_default_mask;\n};\n\nstruct tcp_mib;\n\nstruct udp_mib;\n\nstruct netns_mib {\n\tstruct ipstats_mib *ip_statistics;\n\tstruct ipstats_mib *ipv6_statistics;\n\tstruct tcp_mib *tcp_statistics;\n\tstruct linux_mib *net_statistics;\n\tstruct udp_mib *udp_statistics;\n\tstruct udp_mib *udp_stats_in6;\n\tstruct linux_tls_mib *tls_statistics;\n\tstruct mptcp_mib *mptcp_statistics;\n\tstruct udp_mib *udplite_statistics;\n\tstruct udp_mib *udplite_stats_in6;\n\tstruct icmp_mib *icmp_statistics;\n\tstruct icmpmsg_mib *icmpmsg_statistics;\n\tstruct icmpv6_mib *icmpv6_statistics;\n\tstruct icmpv6msg_mib *icmpv6msg_statistics;\n\tstruct proc_dir_entry *proc_net_devsnmp6;\n};\n\nstruct netns_packet {\n\tstruct mutex sklist_lock;\n\tstruct hlist_head sklist;\n};\n\nstruct unix_table {\n\tspinlock_t *locks;\n\tstruct hlist_head *buckets;\n};\n\nstruct netns_unix {\n\tstruct unix_table table;\n\tint sysctl_max_dgram_qlen;\n\tstruct ctl_table_header *ctl;\n};\n\nstruct netns_nexthop {\n\tstruct rb_root rb_root;\n\tstruct hlist_head *devhash;\n\tunsigned int seq;\n\tu32 last_id_allocated;\n\tstruct blocking_notifier_head notifier_chain;\n};\n\nstruct ping_group_range {\n\tseqlock_t lock;\n\tkgid_t range[2];\n};\n\nstruct sysctl_fib_multipath_hash_seed {\n\tu32 user_seed;\n\tu32 mp_seed;\n};\n\nstruct netns_ipv4 {\n\t__u8 __cacheline_group_begin__netns_ipv4_read_tx[0];\n\tu8 sysctl_tcp_early_retrans;\n\tu8 sysctl_tcp_tso_win_divisor;\n\tu8 sysctl_tcp_tso_rtt_log;\n\tu8 sysctl_tcp_autocorking;\n\tint sysctl_tcp_min_snd_mss;\n\tunsigned int sysctl_tcp_notsent_lowat;\n\tint sysctl_tcp_limit_output_bytes;\n\tint sysctl_tcp_min_rtt_wlen;\n\tint sysctl_tcp_wmem[3];\n\tu8 sysctl_ip_fwd_use_pmtu;\n\t__u8 __cacheline_group_end__netns_ipv4_read_tx[0];\n\t__u8 __cacheline_group_begin__netns_ipv4_read_txrx[0];\n\tu8 sysctl_tcp_moderate_rcvbuf;\n\t__u8 __cacheline_group_end__netns_ipv4_read_txrx[0];\n\t__u8 __cacheline_group_begin__netns_ipv4_read_rx[0];\n\tu8 sysctl_ip_early_demux;\n\tu8 sysctl_tcp_early_demux;\n\tu8 sysctl_tcp_l3mdev_accept;\n\tint sysctl_tcp_reordering;\n\tint sysctl_tcp_rmem[3];\n\t__u8 __cacheline_group_end__netns_ipv4_read_rx[0];\n\tlong: 64;\n\tstruct inet_timewait_death_row tcp_death_row;\n\tstruct udp_table *udp_table;\n\tstruct ctl_table_header *forw_hdr;\n\tstruct ctl_table_header *frags_hdr;\n\tstruct ctl_table_header *ipv4_hdr;\n\tstruct ctl_table_header *route_hdr;\n\tstruct ctl_table_header *xfrm4_hdr;\n\tstruct ipv4_devconf *devconf_all;\n\tstruct ipv4_devconf *devconf_dflt;\n\tstruct ip_ra_chain *ra_chain;\n\tstruct mutex ra_mutex;\n\tstruct fib_rules_ops *rules_ops;\n\tstruct fib_table *fib_main;\n\tstruct fib_table *fib_default;\n\tunsigned int fib_rules_require_fldissect;\n\tbool fib_has_custom_rules;\n\tbool fib_has_custom_local_routes;\n\tbool fib_offload_disabled;\n\tu8 sysctl_tcp_shrink_window;\n\tatomic_t fib_num_tclassid_users;\n\tstruct hlist_head *fib_table_hash;\n\tstruct sock *fibnl;\n\tstruct sock *mc_autojoin_sk;\n\tstruct inet_peer_base *peers;\n\tstruct fqdir *fqdir;\n\tu8 sysctl_icmp_echo_ignore_all;\n\tu8 sysctl_icmp_echo_enable_probe;\n\tu8 sysctl_icmp_echo_ignore_broadcasts;\n\tu8 sysctl_icmp_ignore_bogus_error_responses;\n\tu8 sysctl_icmp_errors_use_inbound_ifaddr;\n\tint sysctl_icmp_ratelimit;\n\tint sysctl_icmp_ratemask;\n\tint sysctl_icmp_msgs_per_sec;\n\tint sysctl_icmp_msgs_burst;\n\tatomic_t icmp_global_credit;\n\tu32 icmp_global_stamp;\n\tu32 ip_rt_min_pmtu;\n\tint ip_rt_mtu_expires;\n\tint ip_rt_min_advmss;\n\tstruct local_ports ip_local_ports;\n\tu8 sysctl_tcp_ecn;\n\tu8 sysctl_tcp_ecn_fallback;\n\tu8 sysctl_ip_default_ttl;\n\tu8 sysctl_ip_no_pmtu_disc;\n\tu8 sysctl_ip_fwd_update_priority;\n\tu8 sysctl_ip_nonlocal_bind;\n\tu8 sysctl_ip_autobind_reuse;\n\tu8 sysctl_ip_dynaddr;\n\tu8 sysctl_raw_l3mdev_accept;\n\tu8 sysctl_udp_early_demux;\n\tu8 sysctl_nexthop_compat_mode;\n\tu8 sysctl_fwmark_reflect;\n\tu8 sysctl_tcp_fwmark_accept;\n\tu8 sysctl_tcp_mtu_probing;\n\tint sysctl_tcp_mtu_probe_floor;\n\tint sysctl_tcp_base_mss;\n\tint sysctl_tcp_probe_threshold;\n\tu32 sysctl_tcp_probe_interval;\n\tint sysctl_tcp_keepalive_time;\n\tint sysctl_tcp_keepalive_intvl;\n\tu8 sysctl_tcp_keepalive_probes;\n\tu8 sysctl_tcp_syn_retries;\n\tu8 sysctl_tcp_synack_retries;\n\tu8 sysctl_tcp_syncookies;\n\tu8 sysctl_tcp_migrate_req;\n\tu8 sysctl_tcp_comp_sack_nr;\n\tu8 sysctl_tcp_backlog_ack_defer;\n\tu8 sysctl_tcp_pingpong_thresh;\n\tu8 sysctl_tcp_retries1;\n\tu8 sysctl_tcp_retries2;\n\tu8 sysctl_tcp_orphan_retries;\n\tu8 sysctl_tcp_tw_reuse;\n\tunsigned int sysctl_tcp_tw_reuse_delay;\n\tint sysctl_tcp_fin_timeout;\n\tu8 sysctl_tcp_sack;\n\tu8 sysctl_tcp_window_scaling;\n\tu8 sysctl_tcp_timestamps;\n\tint sysctl_tcp_rto_min_us;\n\tu8 sysctl_tcp_recovery;\n\tu8 sysctl_tcp_thin_linear_timeouts;\n\tu8 sysctl_tcp_slow_start_after_idle;\n\tu8 sysctl_tcp_retrans_collapse;\n\tu8 sysctl_tcp_stdurg;\n\tu8 sysctl_tcp_rfc1337;\n\tu8 sysctl_tcp_abort_on_overflow;\n\tu8 sysctl_tcp_fack;\n\tint sysctl_tcp_max_reordering;\n\tint sysctl_tcp_adv_win_scale;\n\tu8 sysctl_tcp_dsack;\n\tu8 sysctl_tcp_app_win;\n\tu8 sysctl_tcp_frto;\n\tu8 sysctl_tcp_nometrics_save;\n\tu8 sysctl_tcp_no_ssthresh_metrics_save;\n\tu8 sysctl_tcp_workaround_signed_windows;\n\tint sysctl_tcp_challenge_ack_limit;\n\tu8 sysctl_tcp_min_tso_segs;\n\tu8 sysctl_tcp_reflect_tos;\n\tint sysctl_tcp_invalid_ratelimit;\n\tint sysctl_tcp_pacing_ss_ratio;\n\tint sysctl_tcp_pacing_ca_ratio;\n\tunsigned int sysctl_tcp_child_ehash_entries;\n\tlong unsigned int sysctl_tcp_comp_sack_delay_ns;\n\tlong unsigned int sysctl_tcp_comp_sack_slack_ns;\n\tint sysctl_max_syn_backlog;\n\tint sysctl_tcp_fastopen;\n\tconst struct tcp_congestion_ops *tcp_congestion_control;\n\tstruct tcp_fastopen_context *tcp_fastopen_ctx;\n\tunsigned int sysctl_tcp_fastopen_blackhole_timeout;\n\tatomic_t tfo_active_disable_times;\n\tlong unsigned int tfo_active_disable_stamp;\n\tu32 tcp_challenge_timestamp;\n\tu32 tcp_challenge_count;\n\tu8 sysctl_tcp_plb_enabled;\n\tu8 sysctl_tcp_plb_idle_rehash_rounds;\n\tu8 sysctl_tcp_plb_rehash_rounds;\n\tu8 sysctl_tcp_plb_suspend_rto_sec;\n\tint sysctl_tcp_plb_cong_thresh;\n\tint sysctl_udp_wmem_min;\n\tint sysctl_udp_rmem_min;\n\tu8 sysctl_fib_notify_on_flag_change;\n\tu8 sysctl_tcp_syn_linear_timeouts;\n\tu8 sysctl_udp_l3mdev_accept;\n\tu8 sysctl_igmp_llm_reports;\n\tint sysctl_igmp_max_memberships;\n\tint sysctl_igmp_max_msf;\n\tint sysctl_igmp_qrv;\n\tstruct ping_group_range ping_group_range;\n\tatomic_t dev_addr_genid;\n\tunsigned int sysctl_udp_child_hash_entries;\n\tlong unsigned int *sysctl_local_reserved_ports;\n\tint sysctl_ip_prot_sock;\n\tstruct list_head mr_tables;\n\tstruct fib_rules_ops *mr_rules_ops;\n\tstruct sysctl_fib_multipath_hash_seed sysctl_fib_multipath_hash_seed;\n\tu32 sysctl_fib_multipath_hash_fields;\n\tu8 sysctl_fib_multipath_use_neigh;\n\tu8 sysctl_fib_multipath_hash_policy;\n\tstruct fib_notifier_ops *notifier_ops;\n\tunsigned int fib_seq;\n\tstruct fib_notifier_ops *ipmr_notifier_ops;\n\tunsigned int ipmr_seq;\n\tatomic_t rt_genid;\n\tsiphash_key_t ip_id_key;\n\tstruct hlist_head *inet_addr_lst;\n\tstruct delayed_work addr_chk_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netns_sysctl_ipv6 {\n\tstruct ctl_table_header *hdr;\n\tstruct ctl_table_header *route_hdr;\n\tstruct ctl_table_header *icmp_hdr;\n\tstruct ctl_table_header *frags_hdr;\n\tstruct ctl_table_header *xfrm6_hdr;\n\tint flush_delay;\n\tint ip6_rt_max_size;\n\tint ip6_rt_gc_min_interval;\n\tint ip6_rt_gc_timeout;\n\tint ip6_rt_gc_interval;\n\tint ip6_rt_gc_elasticity;\n\tint ip6_rt_mtu_expires;\n\tint ip6_rt_min_advmss;\n\tu32 multipath_hash_fields;\n\tu8 multipath_hash_policy;\n\tu8 bindv6only;\n\tu8 flowlabel_consistency;\n\tu8 auto_flowlabels;\n\tint icmpv6_time;\n\tu8 icmpv6_echo_ignore_all;\n\tu8 icmpv6_echo_ignore_multicast;\n\tu8 icmpv6_echo_ignore_anycast;\n\tlong unsigned int icmpv6_ratemask[4];\n\tlong unsigned int *icmpv6_ratemask_ptr;\n\tu8 anycast_src_echo_reply;\n\tu8 ip_nonlocal_bind;\n\tu8 fwmark_reflect;\n\tu8 flowlabel_state_ranges;\n\tint idgen_retries;\n\tint idgen_delay;\n\tint flowlabel_reflect;\n\tint max_dst_opts_cnt;\n\tint max_hbh_opts_cnt;\n\tint max_dst_opts_len;\n\tint max_hbh_opts_len;\n\tint seg6_flowlabel;\n\tu32 ioam6_id;\n\tu64 ioam6_id_wide;\n\tu8 skip_notify_on_dev_down;\n\tu8 fib_notify_on_flag_change;\n\tu8 icmpv6_error_anycast_as_unicast;\n};\n\nstruct rt6_statistics;\n\nstruct seg6_pernet_data;\n\nstruct netns_ipv6 {\n\tstruct dst_ops ip6_dst_ops;\n\tstruct netns_sysctl_ipv6 sysctl;\n\tstruct ipv6_devconf *devconf_all;\n\tstruct ipv6_devconf *devconf_dflt;\n\tstruct inet_peer_base *peers;\n\tstruct fqdir *fqdir;\n\tstruct fib6_info *fib6_null_entry;\n\tstruct rt6_info *ip6_null_entry;\n\tstruct rt6_statistics *rt6_stats;\n\tstruct timer_list ip6_fib_timer;\n\tstruct hlist_head *fib_table_hash;\n\tstruct fib6_table *fib6_main_tbl;\n\tstruct list_head fib6_walkers;\n\trwlock_t fib6_walker_lock;\n\tspinlock_t fib6_gc_lock;\n\tatomic_t ip6_rt_gc_expire;\n\tlong unsigned int ip6_rt_last_gc;\n\tunsigned char flowlabel_has_excl;\n\tbool fib6_has_custom_rules;\n\tunsigned int fib6_rules_require_fldissect;\n\tstruct rt6_info *ip6_prohibit_entry;\n\tstruct rt6_info *ip6_blk_hole_entry;\n\tstruct fib6_table *fib6_local_tbl;\n\tstruct fib_rules_ops *fib6_rules_ops;\n\tstruct sock *ndisc_sk;\n\tstruct sock *tcp_sk;\n\tstruct sock *igmp_sk;\n\tstruct sock *mc_autojoin_sk;\n\tstruct hlist_head *inet6_addr_lst;\n\tspinlock_t addrconf_hash_lock;\n\tstruct delayed_work addr_chk_work;\n\tstruct mr_table *mrt6;\n\tatomic_t dev_addr_genid;\n\tatomic_t fib6_sernum;\n\tstruct seg6_pernet_data *seg6_data;\n\tstruct fib_notifier_ops *notifier_ops;\n\tstruct fib_notifier_ops *ip6mr_notifier_ops;\n\tunsigned int ipmr_seq;\n\tstruct {\n\t\tstruct hlist_head head;\n\t\tspinlock_t lock;\n\t\tu32 seq;\n\t} ip6addrlbl_table;\n\tstruct ioam6_pernet_data *ioam6_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sctp_mib;\n\nstruct netns_sctp {\n\tstruct sctp_mib *sctp_statistics;\n\tstruct proc_dir_entry *proc_net_sctp;\n\tstruct ctl_table_header *sysctl_header;\n\tstruct sock *ctl_sock;\n\tstruct sock *udp4_sock;\n\tstruct sock *udp6_sock;\n\tint udp_port;\n\tint encap_port;\n\tstruct list_head local_addr_list;\n\tstruct list_head addr_waitq;\n\tstruct timer_list addr_wq_timer;\n\tstruct list_head auto_asconf_splist;\n\tspinlock_t addr_wq_lock;\n\tspinlock_t local_addr_lock;\n\tunsigned int rto_initial;\n\tunsigned int rto_min;\n\tunsigned int rto_max;\n\tint rto_alpha;\n\tint rto_beta;\n\tint max_burst;\n\tint cookie_preserve_enable;\n\tchar *sctp_hmac_alg;\n\tunsigned int valid_cookie_life;\n\tunsigned int sack_timeout;\n\tunsigned int hb_interval;\n\tunsigned int probe_interval;\n\tint max_retrans_association;\n\tint max_retrans_path;\n\tint max_retrans_init;\n\tint pf_retrans;\n\tint ps_retrans;\n\tint pf_enable;\n\tint pf_expose;\n\tint sndbuf_policy;\n\tint rcvbuf_policy;\n\tint default_auto_asconf;\n\tint addip_enable;\n\tint addip_noauth;\n\tint prsctp_enable;\n\tint reconf_enable;\n\tint auth_enable;\n\tint intl_enable;\n\tint ecn_enable;\n\tint scope_policy;\n\tint rwnd_upd_shift;\n\tlong unsigned int max_autoclose;\n\tint l3mdev_accept;\n};\n\nstruct nf_logger;\n\nstruct nf_hook_entries;\n\nstruct netns_nf {\n\tstruct proc_dir_entry *proc_netfilter;\n\tconst struct nf_logger *nf_loggers[11];\n\tstruct ctl_table_header *nf_log_dir_header;\n\tstruct nf_hook_entries *hooks_ipv4[5];\n\tstruct nf_hook_entries *hooks_ipv6[5];\n\tstruct nf_hook_entries *hooks_arp[3];\n\tstruct nf_hook_entries *hooks_bridge[5];\n\tunsigned int defrag_ipv4_users;\n\tunsigned int defrag_ipv6_users;\n};\n\nstruct nf_ct_event_notifier;\n\nstruct nf_generic_net {\n\tunsigned int timeout;\n};\n\nstruct nf_tcp_net {\n\tunsigned int timeouts[14];\n\tu8 tcp_loose;\n\tu8 tcp_be_liberal;\n\tu8 tcp_max_retrans;\n\tu8 tcp_ignore_invalid_rst;\n};\n\nstruct nf_udp_net {\n\tunsigned int timeouts[2];\n};\n\nstruct nf_icmp_net {\n\tunsigned int timeout;\n};\n\nstruct nf_dccp_net {\n\tu8 dccp_loose;\n\tunsigned int dccp_timeout[10];\n};\n\nstruct nf_sctp_net {\n\tunsigned int timeouts[10];\n};\n\nstruct nf_gre_net {\n\tstruct list_head keymap_list;\n\tunsigned int timeouts[2];\n};\n\nstruct nf_ip_net {\n\tstruct nf_generic_net generic;\n\tstruct nf_tcp_net tcp;\n\tstruct nf_udp_net udp;\n\tstruct nf_icmp_net icmp;\n\tstruct nf_icmp_net icmpv6;\n\tstruct nf_dccp_net dccp;\n\tstruct nf_sctp_net sctp;\n\tstruct nf_gre_net gre;\n};\n\nstruct netns_ct {\n\tu8 sysctl_log_invalid;\n\tu8 sysctl_events;\n\tu8 sysctl_acct;\n\tu8 sysctl_tstamp;\n\tu8 sysctl_checksum;\n\tstruct ip_conntrack_stat *stat;\n\tstruct nf_ct_event_notifier *nf_conntrack_event_cb;\n\tstruct nf_ip_net nf_ct_proto;\n\tatomic_t labels_used;\n};\n\nstruct netns_nftables {\n\tu8 gencursor;\n};\n\nstruct netns_bpf {\n\tstruct bpf_prog_array *run_array[2];\n\tstruct bpf_prog *progs[2];\n\tstruct list_head links[2];\n};\n\nstruct xfrm_policy_hash {\n\tstruct hlist_head *table;\n\tunsigned int hmask;\n\tu8 dbits4;\n\tu8 sbits4;\n\tu8 dbits6;\n\tu8 sbits6;\n};\n\nstruct xfrm_policy_hthresh {\n\tstruct work_struct work;\n\tseqlock_t lock;\n\tu8 lbits4;\n\tu8 rbits4;\n\tu8 lbits6;\n\tu8 rbits6;\n};\n\nstruct netns_xfrm {\n\tstruct list_head state_all;\n\tstruct hlist_head *state_bydst;\n\tstruct hlist_head *state_bysrc;\n\tstruct hlist_head *state_byspi;\n\tstruct hlist_head *state_byseq;\n\tstruct hlist_head *state_cache_input;\n\tunsigned int state_hmask;\n\tunsigned int state_num;\n\tstruct work_struct state_hash_work;\n\tstruct list_head policy_all;\n\tstruct hlist_head *policy_byidx;\n\tunsigned int policy_idx_hmask;\n\tunsigned int idx_generator;\n\tstruct xfrm_policy_hash policy_bydst[3];\n\tunsigned int policy_count[6];\n\tstruct work_struct policy_hash_work;\n\tstruct xfrm_policy_hthresh policy_hthresh;\n\tstruct list_head inexact_bins;\n\tstruct sock *nlsk;\n\tstruct sock *nlsk_stash;\n\tu32 sysctl_aevent_etime;\n\tu32 sysctl_aevent_rseqth;\n\tint sysctl_larval_drop;\n\tu32 sysctl_acq_expires;\n\tu8 policy_default[3];\n\tstruct ctl_table_header *sysctl_hdr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct dst_ops xfrm4_dst_ops;\n\tstruct dst_ops xfrm6_dst_ops;\n\tspinlock_t xfrm_state_lock;\n\tseqcount_spinlock_t xfrm_state_hash_generation;\n\tseqcount_spinlock_t xfrm_policy_hash_generation;\n\tspinlock_t xfrm_policy_lock;\n\tstruct mutex xfrm_cfg_mutex;\n\tstruct delayed_work nat_keepalive_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netns_ipvs;\n\nstruct mpls_route;\n\nstruct netns_mpls {\n\tint ip_ttl_propagate;\n\tint default_ttl;\n\tsize_t platform_labels;\n\tstruct mpls_route **platform_label;\n\tstruct ctl_table_header *ctl;\n};\n\nstruct netns_xdp {\n\tstruct mutex lock;\n\tstruct hlist_head list;\n};\n\nstruct uevent_sock;\n\nstruct net_generic;\n\nstruct net {\n\trefcount_t passive;\n\tspinlock_t rules_mod_lock;\n\tunsigned int dev_base_seq;\n\tu32 ifindex;\n\tspinlock_t nsid_lock;\n\tatomic_t fnhe_genid;\n\tstruct list_head list;\n\tstruct list_head exit_list;\n\tstruct llist_node defer_free_list;\n\tstruct llist_node cleanup_list;\n\tstruct key_tag *key_domain;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct idr netns_ids;\n\tstruct ns_common ns;\n\tstruct ref_tracker_dir refcnt_tracker;\n\tstruct ref_tracker_dir notrefcnt_tracker;\n\tstruct list_head dev_base_head;\n\tstruct proc_dir_entry *proc_net;\n\tstruct proc_dir_entry *proc_net_stat;\n\tstruct ctl_table_set sysctls;\n\tstruct sock *rtnl;\n\tstruct sock *genl_sock;\n\tstruct uevent_sock *uevent_sock;\n\tstruct hlist_head *dev_name_head;\n\tstruct hlist_head *dev_index_head;\n\tstruct xarray dev_by_index;\n\tstruct raw_notifier_head netdev_chain;\n\tu32 hash_mix;\n\tstruct net_device *loopback_dev;\n\tstruct list_head rules_ops;\n\tstruct netns_core core;\n\tstruct netns_mib mib;\n\tstruct netns_packet packet;\n\tstruct netns_unix unx;\n\tstruct netns_nexthop nexthop;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct netns_ipv4 ipv4;\n\tstruct netns_ipv6 ipv6;\n\tstruct netns_sctp sctp;\n\tstruct netns_nf nf;\n\tstruct netns_ct ct;\n\tstruct netns_nftables nft;\n\tstruct sk_buff_head wext_nlevents;\n\tstruct net_generic *gen;\n\tstruct netns_bpf bpf;\n\tlong: 64;\n\tstruct netns_xfrm xfrm;\n\tu64 net_cookie;\n\tstruct netns_ipvs *ipvs;\n\tstruct netns_mpls mpls;\n\tstruct netns_xdp xdp;\n\tstruct sock *crypto_nlsk;\n\tstruct sock *diag_nlsk;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rtable {\n\tstruct dst_entry dst;\n\tint rt_genid;\n\tunsigned int rt_flags;\n\t__u16 rt_type;\n\t__u8 rt_is_input;\n\t__u8 rt_uses_gateway;\n\tint rt_iif;\n\tu8 rt_gw_family;\n\tunion {\n\t\t__be32 rt_gw4;\n\t\tstruct in6_addr rt_gw6;\n\t};\n\tu32 rt_mtu_locked: 1;\n\tu32 rt_pmtu: 31;\n};\n\nstruct rt6_info {\n\tstruct dst_entry dst;\n\tstruct fib6_info *from;\n\tint sernum;\n\tstruct rt6key rt6i_dst;\n\tstruct rt6key rt6i_src;\n\tstruct in6_addr rt6i_gateway;\n\tstruct inet6_dev *rt6i_idev;\n\tu32 rt6i_flags;\n\tshort unsigned int rt6i_nfheader_len;\n};\n\nstruct net_bridge;\n\nstruct net_bridge_vlan;\n\nstruct net_bridge_mcast {\n\tstruct net_bridge *br;\n\tstruct net_bridge_vlan *vlan;\n\tu32 multicast_last_member_count;\n\tu32 multicast_startup_query_count;\n\tu8 multicast_querier;\n\tu8 multicast_igmp_version;\n\tu8 multicast_router;\n\tu8 multicast_mld_version;\n\tlong unsigned int multicast_last_member_interval;\n\tlong unsigned int multicast_membership_interval;\n\tlong unsigned int multicast_querier_interval;\n\tlong unsigned int multicast_query_interval;\n\tlong unsigned int multicast_query_response_interval;\n\tlong unsigned int multicast_startup_query_interval;\n\tstruct hlist_head ip4_mc_router_list;\n\tstruct timer_list ip4_mc_router_timer;\n\tstruct bridge_mcast_other_query ip4_other_query;\n\tstruct bridge_mcast_own_query ip4_own_query;\n\tstruct bridge_mcast_querier ip4_querier;\n\tstruct hlist_head ip6_mc_router_list;\n\tstruct timer_list ip6_mc_router_timer;\n\tstruct bridge_mcast_other_query ip6_other_query;\n\tstruct bridge_mcast_own_query ip6_own_query;\n\tstruct bridge_mcast_querier ip6_querier;\n};\n\nstruct net_bridge {\n\tspinlock_t lock;\n\tspinlock_t hash_lock;\n\tstruct hlist_head frame_type_list;\n\tstruct net_device *dev;\n\tlong unsigned int options;\n\tstruct rhashtable fdb_hash_tbl;\n\tstruct list_head port_list;\n\tunion {\n\t\tstruct rtable fake_rtable;\n\t\tstruct rt6_info fake_rt6_info;\n\t};\n\tu16 group_fwd_mask;\n\tu16 group_fwd_mask_required;\n\tbridge_id designated_root;\n\tbridge_id bridge_id;\n\tunsigned char topology_change;\n\tunsigned char topology_change_detected;\n\tu16 root_port;\n\tlong unsigned int max_age;\n\tlong unsigned int hello_time;\n\tlong unsigned int forward_delay;\n\tlong unsigned int ageing_time;\n\tlong unsigned int bridge_max_age;\n\tlong unsigned int bridge_hello_time;\n\tlong unsigned int bridge_forward_delay;\n\tlong unsigned int bridge_ageing_time;\n\tu32 root_path_cost;\n\tu8 group_addr[6];\n\tenum {\n\t\tBR_NO_STP = 0,\n\t\tBR_KERNEL_STP = 1,\n\t\tBR_USER_STP = 2,\n\t} stp_enabled;\n\tstruct net_bridge_mcast multicast_ctx;\n\tstruct bridge_mcast_stats *mcast_stats;\n\tu32 hash_max;\n\tspinlock_t multicast_lock;\n\tstruct rhashtable mdb_hash_tbl;\n\tstruct rhashtable sg_port_tbl;\n\tstruct hlist_head mcast_gc_list;\n\tstruct hlist_head mdb_list;\n\tstruct work_struct mcast_gc_work;\n\tstruct timer_list hello_timer;\n\tstruct timer_list tcn_timer;\n\tstruct timer_list topology_change_timer;\n\tstruct delayed_work gc_work;\n\tstruct kobject *ifobj;\n\tu32 auto_cnt;\n\tatomic_t fdb_n_learned;\n\tu32 fdb_max_learned;\n\tstruct hlist_head fdb_list;\n};\n\nstruct net_bridge_fdb_key {\n\tmac_addr addr;\n\tu16 vlan_id;\n};\n\nstruct net_bridge_port;\n\nstruct net_bridge_fdb_entry {\n\tstruct rhash_head rhnode;\n\tstruct net_bridge_port *dst;\n\tstruct net_bridge_fdb_key key;\n\tstruct hlist_node fdb_node;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct net_bridge_mcast_port {\n\tstruct net_bridge_port *port;\n\tstruct net_bridge_vlan *vlan;\n\tstruct bridge_mcast_own_query ip4_own_query;\n\tstruct timer_list ip4_mc_router_timer;\n\tstruct hlist_node ip4_rlist;\n\tstruct bridge_mcast_own_query ip6_own_query;\n\tstruct timer_list ip6_mc_router_timer;\n\tstruct hlist_node ip6_rlist;\n\tunsigned char multicast_router;\n\tu32 mdb_n_entries;\n\tu32 mdb_max_entries;\n};\n\nstruct net_bridge_port {\n\tstruct net_bridge *br;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tstruct net_bridge_port *backup_port;\n\tu32 backup_nhid;\n\tu8 priority;\n\tu8 state;\n\tu16 port_no;\n\tunsigned char topology_change_ack;\n\tunsigned char config_pending;\n\tport_id port_id;\n\tport_id designated_port;\n\tbridge_id designated_root;\n\tbridge_id designated_bridge;\n\tu32 path_cost;\n\tu32 designated_cost;\n\tlong unsigned int designated_age;\n\tstruct timer_list forward_delay_timer;\n\tstruct timer_list hold_timer;\n\tstruct timer_list message_age_timer;\n\tstruct kobject kobj;\n\tstruct callback_head rcu;\n\tstruct net_bridge_mcast_port multicast_ctx;\n\tstruct bridge_mcast_stats *mcast_stats;\n\tu32 multicast_eht_hosts_limit;\n\tu32 multicast_eht_hosts_cnt;\n\tstruct hlist_head mglist;\n\tchar sysfs_name[16];\n\tu16 group_fwd_mask;\n\tu16 backup_redirected_cnt;\n\tstruct bridge_stp_xstats stp_xstats;\n};\n\nstruct pcpu_sw_netstats;\n\nstruct net_bridge_vlan {\n\tstruct rhash_head vnode;\n\tstruct rhash_head tnode;\n\tu16 vid;\n\tu16 flags;\n\tu16 priv_flags;\n\tu8 state;\n\tstruct pcpu_sw_netstats *stats;\n\tunion {\n\t\tstruct net_bridge *br;\n\t\tstruct net_bridge_port *port;\n\t};\n\tunion {\n\t\trefcount_t refcnt;\n\t\tstruct net_bridge_vlan *brvlan;\n\t};\n\tstruct br_tunnel_info tinfo;\n\tunion {\n\t\tstruct net_bridge_mcast br_mcast_ctx;\n\t\tstruct net_bridge_mcast_port port_mcast_ctx;\n\t};\n\tu16 msti;\n\tstruct list_head vlist;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_tc_txq {\n\tu16 count;\n\tu16 offset;\n};\n\ntypedef rx_handler_result_t rx_handler_func_t(struct sk_buff **);\n\nstruct net_device_stats {\n\tunion {\n\t\tlong unsigned int rx_packets;\n\t\tatomic_long_t __rx_packets;\n\t};\n\tunion {\n\t\tlong unsigned int tx_packets;\n\t\tatomic_long_t __tx_packets;\n\t};\n\tunion {\n\t\tlong unsigned int rx_bytes;\n\t\tatomic_long_t __rx_bytes;\n\t};\n\tunion {\n\t\tlong unsigned int tx_bytes;\n\t\tatomic_long_t __tx_bytes;\n\t};\n\tunion {\n\t\tlong unsigned int rx_errors;\n\t\tatomic_long_t __rx_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_errors;\n\t\tatomic_long_t __tx_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_dropped;\n\t\tatomic_long_t __rx_dropped;\n\t};\n\tunion {\n\t\tlong unsigned int tx_dropped;\n\t\tatomic_long_t __tx_dropped;\n\t};\n\tunion {\n\t\tlong unsigned int multicast;\n\t\tatomic_long_t __multicast;\n\t};\n\tunion {\n\t\tlong unsigned int collisions;\n\t\tatomic_long_t __collisions;\n\t};\n\tunion {\n\t\tlong unsigned int rx_length_errors;\n\t\tatomic_long_t __rx_length_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_over_errors;\n\t\tatomic_long_t __rx_over_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_crc_errors;\n\t\tatomic_long_t __rx_crc_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_frame_errors;\n\t\tatomic_long_t __rx_frame_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_fifo_errors;\n\t\tatomic_long_t __rx_fifo_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_missed_errors;\n\t\tatomic_long_t __rx_missed_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_aborted_errors;\n\t\tatomic_long_t __tx_aborted_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_carrier_errors;\n\t\tatomic_long_t __tx_carrier_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_fifo_errors;\n\t\tatomic_long_t __tx_fifo_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_heartbeat_errors;\n\t\tatomic_long_t __tx_heartbeat_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_window_errors;\n\t\tatomic_long_t __tx_window_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_compressed;\n\t\tatomic_long_t __rx_compressed;\n\t};\n\tunion {\n\t\tlong unsigned int tx_compressed;\n\t\tatomic_long_t __tx_compressed;\n\t};\n};\n\nstruct netdev_hw_addr_list {\n\tstruct list_head list;\n\tint count;\n\tstruct rb_root tree;\n};\n\nstruct garp_port;\n\nstruct mrp_port;\n\nstruct net_device_ops;\n\nstruct xps_dev_maps;\n\nstruct pcpu_lstats;\n\nstruct pcpu_dstats;\n\nstruct netdev_rx_queue;\n\nstruct netdev_name_node;\n\nstruct xdp_metadata_ops;\n\nstruct xsk_tx_metadata_ops;\n\nstruct net_device_core_stats;\n\nstruct xfrmdev_ops;\n\nstruct tlsdev_ops;\n\nstruct vlan_info;\n\nstruct wireless_dev;\n\nstruct xdp_dev_bulk_queue;\n\nstruct netdev_stat_ops;\n\nstruct netdev_queue_mgmt_ops;\n\nstruct netprio_map;\n\nstruct phy_link_topology;\n\nstruct sfp_bus;\n\nstruct udp_tunnel_nic_info;\n\nstruct udp_tunnel_nic;\n\nstruct netdev_config;\n\nstruct rtnl_hw_stats64;\n\nstruct net_device {\n\t__u8 __cacheline_group_begin__net_device_read_tx[0];\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int priv_flags: 32;\n\t\t\tlong unsigned int lltx: 1;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int priv_flags: 32;\n\t\t\tlong unsigned int lltx: 1;\n\t\t} priv_flags_fast;\n\t};\n\tconst struct net_device_ops *netdev_ops;\n\tconst struct header_ops *header_ops;\n\tstruct netdev_queue *_tx;\n\tnetdev_features_t gso_partial_features;\n\tunsigned int real_num_tx_queues;\n\tunsigned int gso_max_size;\n\tunsigned int gso_ipv4_max_size;\n\tu16 gso_max_segs;\n\ts16 num_tc;\n\tunsigned int mtu;\n\tshort unsigned int needed_headroom;\n\tstruct netdev_tc_txq tc_to_txq[16];\n\tstruct xps_dev_maps *xps_maps[2];\n\tstruct nf_hook_entries *nf_hooks_egress;\n\tstruct bpf_mprog_entry *tcx_egress;\n\t__u8 __cacheline_group_end__net_device_read_tx[0];\n\t__u8 __cacheline_group_begin__net_device_read_txrx[0];\n\tunion {\n\t\tstruct pcpu_lstats *lstats;\n\t\tstruct pcpu_sw_netstats *tstats;\n\t\tstruct pcpu_dstats *dstats;\n\t};\n\tlong unsigned int state;\n\tunsigned int flags;\n\tshort unsigned int hard_header_len;\n\tnetdev_features_t features;\n\tstruct inet6_dev *ip6_ptr;\n\t__u8 __cacheline_group_end__net_device_read_txrx[0];\n\t__u8 __cacheline_group_begin__net_device_read_rx[0];\n\tstruct bpf_prog *xdp_prog;\n\tstruct list_head ptype_specific;\n\tint ifindex;\n\tunsigned int real_num_rx_queues;\n\tstruct netdev_rx_queue *_rx;\n\tunsigned int gro_max_size;\n\tunsigned int gro_ipv4_max_size;\n\trx_handler_func_t *rx_handler;\n\tvoid *rx_handler_data;\n\tpossible_net_t nd_net;\n\tstruct bpf_mprog_entry *tcx_ingress;\n\t__u8 __cacheline_group_end__net_device_read_rx[0];\n\tchar name[16];\n\tstruct netdev_name_node *name_node;\n\tstruct dev_ifalias *ifalias;\n\tlong unsigned int mem_end;\n\tlong unsigned int mem_start;\n\tlong unsigned int base_addr;\n\tstruct list_head dev_list;\n\tstruct list_head napi_list;\n\tstruct list_head unreg_list;\n\tstruct list_head close_list;\n\tstruct list_head ptype_all;\n\tstruct {\n\t\tstruct list_head upper;\n\t\tstruct list_head lower;\n\t} adj_list;\n\txdp_features_t xdp_features;\n\tconst struct xdp_metadata_ops *xdp_metadata_ops;\n\tconst struct xsk_tx_metadata_ops *xsk_tx_metadata_ops;\n\tshort unsigned int gflags;\n\tshort unsigned int needed_tailroom;\n\tnetdev_features_t hw_features;\n\tnetdev_features_t wanted_features;\n\tnetdev_features_t vlan_features;\n\tnetdev_features_t hw_enc_features;\n\tnetdev_features_t mpls_features;\n\tunsigned int min_mtu;\n\tunsigned int max_mtu;\n\tshort unsigned int type;\n\tunsigned char min_header_len;\n\tunsigned char name_assign_type;\n\tint group;\n\tstruct net_device_stats stats;\n\tstruct net_device_core_stats *core_stats;\n\tatomic_t carrier_up_count;\n\tatomic_t carrier_down_count;\n\tconst struct ethtool_ops *ethtool_ops;\n\tconst struct l3mdev_ops *l3mdev_ops;\n\tconst struct ndisc_ops *ndisc_ops;\n\tconst struct xfrmdev_ops *xfrmdev_ops;\n\tconst struct tlsdev_ops *tlsdev_ops;\n\tunsigned int operstate;\n\tunsigned char link_mode;\n\tunsigned char if_port;\n\tunsigned char dma;\n\tunsigned char perm_addr[32];\n\tunsigned char addr_assign_type;\n\tunsigned char addr_len;\n\tunsigned char upper_level;\n\tunsigned char lower_level;\n\tshort unsigned int neigh_priv_len;\n\tshort unsigned int dev_id;\n\tshort unsigned int dev_port;\n\tint irq;\n\tu32 priv_len;\n\tspinlock_t addr_list_lock;\n\tstruct netdev_hw_addr_list uc;\n\tstruct netdev_hw_addr_list mc;\n\tstruct netdev_hw_addr_list dev_addrs;\n\tstruct kset *queues_kset;\n\tunsigned int promiscuity;\n\tunsigned int allmulti;\n\tbool uc_promisc;\n\tstruct in_device *ip_ptr;\n\tstruct hlist_head fib_nh_head;\n\tstruct vlan_info *vlan_info;\n\tstruct wireless_dev *ieee80211_ptr;\n\tconst unsigned char *dev_addr;\n\tunsigned int num_rx_queues;\n\tunsigned int xdp_zc_max_segs;\n\tstruct netdev_queue *ingress_queue;\n\tstruct nf_hook_entries *nf_hooks_ingress;\n\tunsigned char broadcast[32];\n\tstruct cpu_rmap *rx_cpu_rmap;\n\tstruct hlist_node index_hlist;\n\tunsigned int num_tx_queues;\n\tstruct Qdisc *qdisc;\n\tunsigned int tx_queue_len;\n\tspinlock_t tx_global_lock;\n\tstruct xdp_dev_bulk_queue *xdp_bulkq;\n\tstruct hlist_head qdisc_hash[16];\n\tstruct timer_list watchdog_timer;\n\tint watchdog_timeo;\n\tu32 proto_down_reason;\n\tstruct list_head todo_list;\n\tint *pcpu_refcnt;\n\tstruct ref_tracker_dir refcnt_tracker;\n\tstruct list_head link_watch_list;\n\tu8 reg_state;\n\tbool dismantle;\n\tenum {\n\t\tRTNL_LINK_INITIALIZED = 0,\n\t\tRTNL_LINK_INITIALIZING = 1,\n\t} rtnl_link_state: 16;\n\tbool needs_free_netdev;\n\tvoid (*priv_destructor)(struct net_device *);\n\tvoid *ml_priv;\n\tenum netdev_ml_priv_type ml_priv_type;\n\tenum netdev_stat_type pcpu_stat_type: 8;\n\tstruct garp_port *garp_port;\n\tstruct mrp_port *mrp_port;\n\tstruct device dev;\n\tconst struct attribute_group *sysfs_groups[4];\n\tconst struct attribute_group *sysfs_rx_queue_group;\n\tconst struct rtnl_link_ops *rtnl_link_ops;\n\tconst struct netdev_stat_ops *stat_ops;\n\tconst struct netdev_queue_mgmt_ops *queue_mgmt_ops;\n\tunsigned int tso_max_size;\n\tu16 tso_max_segs;\n\tu8 prio_tc_map[16];\n\tunsigned int fcoe_ddp_xid;\n\tstruct netprio_map *priomap;\n\tstruct phy_link_topology *link_topo;\n\tstruct phy_device *phydev;\n\tstruct sfp_bus *sfp_bus;\n\tstruct lock_class_key *qdisc_tx_busylock;\n\tbool proto_down;\n\tbool threaded;\n\tlong unsigned int see_all_hwtstamp_requests: 1;\n\tlong unsigned int change_proto_down: 1;\n\tlong unsigned int netns_local: 1;\n\tlong unsigned int fcoe_mtu: 1;\n\tstruct list_head net_notifier_list;\n\tconst struct udp_tunnel_nic_info *udp_tunnel_nic_info;\n\tstruct udp_tunnel_nic *udp_tunnel_nic;\n\tstruct netdev_config *cfg;\n\tstruct netdev_config *cfg_pending;\n\tstruct ethtool_netdev_state *ethtool;\n\tstruct bpf_xdp_entity xdp_state[3];\n\tu8 dev_addr_shadow[32];\n\tnetdevice_tracker linkwatch_dev_tracker;\n\tnetdevice_tracker watchdog_dev_tracker;\n\tnetdevice_tracker dev_registered_tracker;\n\tstruct rtnl_hw_stats64 *offload_xstats_l3;\n\tstruct devlink_port *devlink_port;\n\tstruct hlist_head page_pools;\n\tstruct dim_irq_moder *irq_moder;\n\tu64 max_pacing_offload_horizon;\n\tstruct napi_config *napi_config;\n\tlong unsigned int gro_flush_timeout;\n\tu32 napi_defer_hard_irqs;\n\tbool up;\n\tstruct mutex lock;\n\tstruct hlist_head neighbours[2];\n\tstruct hwtstamp_provider *hwprov;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 priv[0];\n};\n\nstruct net_device_core_stats {\n\tlong unsigned int rx_dropped;\n\tlong unsigned int tx_dropped;\n\tlong unsigned int rx_nohandler;\n\tlong unsigned int rx_otherhost_dropped;\n};\n\nstruct net_device_devres {\n\tstruct net_device *ndev;\n};\n\nstruct netdev_fcoe_hbainfo;\n\nstruct netdev_bpf;\n\nstruct net_device_path_ctx;\n\nstruct net_device_path;\n\nstruct skb_shared_hwtstamps;\n\nstruct net_device_ops {\n\tint (*ndo_init)(struct net_device *);\n\tvoid (*ndo_uninit)(struct net_device *);\n\tint (*ndo_open)(struct net_device *);\n\tint (*ndo_stop)(struct net_device *);\n\tnetdev_tx_t (*ndo_start_xmit)(struct sk_buff *, struct net_device *);\n\tnetdev_features_t (*ndo_features_check)(struct sk_buff *, struct net_device *, netdev_features_t);\n\tu16 (*ndo_select_queue)(struct net_device *, struct sk_buff *, struct net_device *);\n\tvoid (*ndo_change_rx_flags)(struct net_device *, int);\n\tvoid (*ndo_set_rx_mode)(struct net_device *);\n\tint (*ndo_set_mac_address)(struct net_device *, void *);\n\tint (*ndo_validate_addr)(struct net_device *);\n\tint (*ndo_do_ioctl)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_eth_ioctl)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_siocbond)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_siocwandev)(struct net_device *, struct if_settings *);\n\tint (*ndo_siocdevprivate)(struct net_device *, struct ifreq *, void *, int);\n\tint (*ndo_set_config)(struct net_device *, struct ifmap *);\n\tint (*ndo_change_mtu)(struct net_device *, int);\n\tint (*ndo_neigh_setup)(struct net_device *, struct neigh_parms *);\n\tvoid (*ndo_tx_timeout)(struct net_device *, unsigned int);\n\tvoid (*ndo_get_stats64)(struct net_device *, struct rtnl_link_stats64 *);\n\tbool (*ndo_has_offload_stats)(const struct net_device *, int);\n\tint (*ndo_get_offload_stats)(int, const struct net_device *, void *);\n\tstruct net_device_stats * (*ndo_get_stats)(struct net_device *);\n\tint (*ndo_vlan_rx_add_vid)(struct net_device *, __be16, u16);\n\tint (*ndo_vlan_rx_kill_vid)(struct net_device *, __be16, u16);\n\tint (*ndo_set_vf_mac)(struct net_device *, int, u8 *);\n\tint (*ndo_set_vf_vlan)(struct net_device *, int, u16, u8, __be16);\n\tint (*ndo_set_vf_rate)(struct net_device *, int, int, int);\n\tint (*ndo_set_vf_spoofchk)(struct net_device *, int, bool);\n\tint (*ndo_set_vf_trust)(struct net_device *, int, bool);\n\tint (*ndo_get_vf_config)(struct net_device *, int, struct ifla_vf_info *);\n\tint (*ndo_set_vf_link_state)(struct net_device *, int, int);\n\tint (*ndo_get_vf_stats)(struct net_device *, int, struct ifla_vf_stats *);\n\tint (*ndo_set_vf_port)(struct net_device *, int, struct nlattr **);\n\tint (*ndo_get_vf_port)(struct net_device *, int, struct sk_buff *);\n\tint (*ndo_get_vf_guid)(struct net_device *, int, struct ifla_vf_guid *, struct ifla_vf_guid *);\n\tint (*ndo_set_vf_guid)(struct net_device *, int, u64, int);\n\tint (*ndo_set_vf_rss_query_en)(struct net_device *, int, bool);\n\tint (*ndo_setup_tc)(struct net_device *, enum tc_setup_type, void *);\n\tint (*ndo_fcoe_enable)(struct net_device *);\n\tint (*ndo_fcoe_disable)(struct net_device *);\n\tint (*ndo_fcoe_ddp_setup)(struct net_device *, u16, struct scatterlist *, unsigned int);\n\tint (*ndo_fcoe_ddp_done)(struct net_device *, u16);\n\tint (*ndo_fcoe_ddp_target)(struct net_device *, u16, struct scatterlist *, unsigned int);\n\tint (*ndo_fcoe_get_hbainfo)(struct net_device *, struct netdev_fcoe_hbainfo *);\n\tint (*ndo_fcoe_get_wwn)(struct net_device *, u64 *, int);\n\tint (*ndo_rx_flow_steer)(struct net_device *, const struct sk_buff *, u16, u32);\n\tint (*ndo_add_slave)(struct net_device *, struct net_device *, struct netlink_ext_ack *);\n\tint (*ndo_del_slave)(struct net_device *, struct net_device *);\n\tstruct net_device * (*ndo_get_xmit_slave)(struct net_device *, struct sk_buff *, bool);\n\tstruct net_device * (*ndo_sk_get_lower_dev)(struct net_device *, struct sock *);\n\tnetdev_features_t (*ndo_fix_features)(struct net_device *, netdev_features_t);\n\tint (*ndo_set_features)(struct net_device *, netdev_features_t);\n\tint (*ndo_neigh_construct)(struct net_device *, struct neighbour *);\n\tvoid (*ndo_neigh_destroy)(struct net_device *, struct neighbour *);\n\tint (*ndo_fdb_add)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, bool *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_del)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, bool *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_del_bulk)(struct nlmsghdr *, struct net_device *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_dump)(struct sk_buff *, struct netlink_callback *, struct net_device *, struct net_device *, int *);\n\tint (*ndo_fdb_get)(struct sk_buff *, struct nlattr **, struct net_device *, const unsigned char *, u16, u32, u32, struct netlink_ext_ack *);\n\tint (*ndo_mdb_add)(struct net_device *, struct nlattr **, u16, struct netlink_ext_ack *);\n\tint (*ndo_mdb_del)(struct net_device *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*ndo_mdb_del_bulk)(struct net_device *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*ndo_mdb_dump)(struct net_device *, struct sk_buff *, struct netlink_callback *);\n\tint (*ndo_mdb_get)(struct net_device *, struct nlattr **, u32, u32, struct netlink_ext_ack *);\n\tint (*ndo_bridge_setlink)(struct net_device *, struct nlmsghdr *, u16, struct netlink_ext_ack *);\n\tint (*ndo_bridge_getlink)(struct sk_buff *, u32, u32, struct net_device *, u32, int);\n\tint (*ndo_bridge_dellink)(struct net_device *, struct nlmsghdr *, u16);\n\tint (*ndo_change_carrier)(struct net_device *, bool);\n\tint (*ndo_get_phys_port_id)(struct net_device *, struct netdev_phys_item_id *);\n\tint (*ndo_get_port_parent_id)(struct net_device *, struct netdev_phys_item_id *);\n\tint (*ndo_get_phys_port_name)(struct net_device *, char *, size_t);\n\tvoid * (*ndo_dfwd_add_station)(struct net_device *, struct net_device *);\n\tvoid (*ndo_dfwd_del_station)(struct net_device *, void *);\n\tint (*ndo_set_tx_maxrate)(struct net_device *, int, u32);\n\tint (*ndo_get_iflink)(const struct net_device *);\n\tint (*ndo_fill_metadata_dst)(struct net_device *, struct sk_buff *);\n\tvoid (*ndo_set_rx_headroom)(struct net_device *, int);\n\tint (*ndo_bpf)(struct net_device *, struct netdev_bpf *);\n\tint (*ndo_xdp_xmit)(struct net_device *, int, struct xdp_frame **, u32);\n\tstruct net_device * (*ndo_xdp_get_xmit_slave)(struct net_device *, struct xdp_buff *);\n\tint (*ndo_xsk_wakeup)(struct net_device *, u32, u32);\n\tint (*ndo_tunnel_ctl)(struct net_device *, struct ip_tunnel_parm_kern *, int);\n\tstruct net_device * (*ndo_get_peer_dev)(struct net_device *);\n\tint (*ndo_fill_forward_path)(struct net_device_path_ctx *, struct net_device_path *);\n\tktime_t (*ndo_get_tstamp)(struct net_device *, const struct skb_shared_hwtstamps *, bool);\n\tint (*ndo_hwtstamp_get)(struct net_device *, struct kernel_hwtstamp_config *);\n\tint (*ndo_hwtstamp_set)(struct net_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n};\n\nstruct net_device_path {\n\tenum net_device_path_type type;\n\tconst struct net_device *dev;\n\tunion {\n\t\tstruct {\n\t\t\tu16 id;\n\t\t\t__be16 proto;\n\t\t\tu8 h_dest[6];\n\t\t} encap;\n\t\tstruct {\n\t\t\tenum {\n\t\t\t\tDEV_PATH_BR_VLAN_KEEP = 0,\n\t\t\t\tDEV_PATH_BR_VLAN_TAG = 1,\n\t\t\t\tDEV_PATH_BR_VLAN_UNTAG = 2,\n\t\t\t\tDEV_PATH_BR_VLAN_UNTAG_HW = 3,\n\t\t\t} vlan_mode;\n\t\t\tu16 vlan_id;\n\t\t\t__be16 vlan_proto;\n\t\t} bridge;\n\t\tstruct {\n\t\t\tint port;\n\t\t\tu16 proto;\n\t\t} dsa;\n\t\tstruct {\n\t\t\tu8 wdma_idx;\n\t\t\tu8 queue;\n\t\t\tu16 wcid;\n\t\t\tu8 bss;\n\t\t\tu8 amsdu;\n\t\t} mtk_wdma;\n\t};\n};\n\nstruct net_device_path_ctx {\n\tconst struct net_device *dev;\n\tu8 daddr[6];\n\tint num_vlans;\n\tstruct {\n\t\tu16 id;\n\t\t__be16 proto;\n\t} vlan[2];\n};\n\nstruct net_device_path_stack {\n\tint num_paths;\n\tstruct net_device_path path[5];\n};\n\nstruct net_devmem_dmabuf_binding {\n\tstruct dma_buf *dmabuf;\n\tstruct dma_buf_attachment *attachment;\n\tstruct sg_table *sgt;\n\tstruct net_device *dev;\n\tstruct gen_pool *chunk_pool;\n\trefcount_t ref;\n\tstruct list_head list;\n\tstruct xarray bound_rxqs;\n\tu32 id;\n};\n\nstruct net_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint flags;\n\tint cmd;\n\tint nsid;\n\tbool add_ref;\n\tint ref_nsid;\n};\n\nstruct net_generic {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int len;\n\t\t\tstruct callback_head rcu;\n\t\t} s;\n\t\tstruct {\n\t\t\tstruct {} __empty_ptr;\n\t\t\tvoid *ptr[0];\n\t\t};\n\t};\n};\n\nstruct offload_callbacks {\n\tstruct sk_buff * (*gso_segment)(struct sk_buff *, netdev_features_t);\n\tstruct sk_buff * (*gro_receive)(struct list_head *, struct sk_buff *);\n\tint (*gro_complete)(struct sk_buff *, int);\n};\n\nstruct packet_offload {\n\t__be16 type;\n\tu16 priority;\n\tstruct offload_callbacks callbacks;\n\tstruct list_head list;\n};\n\nstruct net_offload {\n\tstruct offload_callbacks callbacks;\n\tunsigned int flags;\n\tu32 secret;\n};\n\nstruct net_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tunsigned int no_policy: 1;\n\tunsigned int icmp_strict_tag_validation: 1;\n\tu32 secret;\n};\n\nstruct rps_sock_flow_table;\n\nstruct net_hotdata {\n\tstruct packet_offload ip_packet_offload;\n\tstruct net_offload tcpv4_offload;\n\tstruct net_protocol tcp_protocol;\n\tstruct net_offload udpv4_offload;\n\tstruct net_protocol udp_protocol;\n\tstruct packet_offload ipv6_packet_offload;\n\tstruct net_offload tcpv6_offload;\n\tstruct inet6_protocol tcpv6_protocol;\n\tstruct inet6_protocol udpv6_protocol;\n\tstruct net_offload udpv6_offload;\n\tstruct list_head offload_base;\n\tstruct list_head ptype_all;\n\tstruct kmem_cache *skbuff_cache;\n\tstruct kmem_cache *skbuff_fclone_cache;\n\tstruct kmem_cache *skb_small_head_cache;\n\tstruct rps_sock_flow_table *rps_sock_flow_table;\n\tu32 rps_cpu_mask;\n\tint gro_normal_batch;\n\tint netdev_budget;\n\tint netdev_budget_usecs;\n\tint tstamp_prequeue;\n\tint max_backlog;\n\tint dev_tx_weight;\n\tint dev_rx_weight;\n\tint sysctl_max_skb_frags;\n\tint sysctl_skb_defer_max;\n\tint sysctl_mem_pcpu_rsv;\n};\n\nstruct net_iov {\n\tlong unsigned int __unused_padding;\n\tlong unsigned int pp_magic;\n\tstruct page_pool *pp;\n\tstruct dmabuf_genpool_chunk_owner *owner;\n\tlong unsigned int dma_addr;\n\tatomic_long_t pp_ref_count;\n};\n\nstruct net_packet_attrs {\n\tconst unsigned char *src;\n\tconst unsigned char *dst;\n\tu32 ip_src;\n\tu32 ip_dst;\n\tbool tcp;\n\tu16 sport;\n\tu16 dport;\n\tint timeout;\n\tint size;\n\tint max_size;\n\tu8 id;\n\tu16 queue_mapping;\n};\n\nstruct net_proto_family {\n\tint family;\n\tint (*create)(struct net *, struct socket *, int, int);\n\tstruct module *owner;\n};\n\nstruct net_rate_estimator {\n\tstruct gnet_stats_basic_sync *bstats;\n\tspinlock_t *stats_lock;\n\tbool running;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tu8 ewma_log;\n\tu8 intvl_log;\n\tseqcount_t seq;\n\tu64 last_packets;\n\tu64 last_bytes;\n\tu64 avpps;\n\tu64 avbps;\n\tlong unsigned int next_jiffies;\n\tstruct timer_list timer;\n\tstruct callback_head rcu;\n};\n\nstruct net_test {\n\tchar name[32];\n\tint (*fn)(struct net_device *);\n};\n\nstruct packet_type {\n\t__be16 type;\n\tbool ignore_outgoing;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tint (*func)(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *);\n\tvoid (*list_func)(struct list_head *, struct packet_type *, struct net_device *);\n\tbool (*id_match)(struct packet_type *, struct sock *);\n\tstruct net *af_packet_net;\n\tvoid *af_packet_priv;\n\tstruct list_head list;\n};\n\nstruct net_test_priv {\n\tstruct net_packet_attrs *packet;\n\tstruct packet_type pt;\n\tstruct completion comp;\n\tint double_vlan;\n\tint vlan_id;\n\tint ok;\n};\n\nstruct netconfmsg {\n\t__u8 ncm_family;\n};\n\nstruct netdev_adjacent {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tbool master;\n\tbool ignore;\n\tu16 ref_nr;\n\tvoid *private;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_bonding_info {\n\tifslave slave;\n\tifbond master;\n};\n\nstruct netdev_bpf {\n\tenum bpf_netdev_command command;\n\tunion {\n\t\tstruct {\n\t\t\tu32 flags;\n\t\t\tstruct bpf_prog *prog;\n\t\t\tstruct netlink_ext_ack *extack;\n\t\t};\n\t\tstruct {\n\t\t\tstruct bpf_offloaded_map *offmap;\n\t\t};\n\t\tstruct {\n\t\t\tstruct xsk_buff_pool *pool;\n\t\t\tu16 queue_id;\n\t\t} xsk;\n\t};\n};\n\nstruct netdev_config {\n\tu32 hds_thresh;\n\tu8 hds_config;\n};\n\nstruct netdev_fcoe_hbainfo {\n\tchar manufacturer[64];\n\tchar serial_number[64];\n\tchar hardware_version[64];\n\tchar driver_version[64];\n\tchar optionrom_version[64];\n\tchar firmware_version[64];\n\tchar model[256];\n\tchar model_description[256];\n};\n\nstruct netdev_hw_addr {\n\tstruct list_head list;\n\tstruct rb_node node;\n\tunsigned char addr[32];\n\tunsigned char type;\n\tbool global_use;\n\tint sync_cnt;\n\tint refcount;\n\tint synced;\n\tstruct callback_head callback_head;\n};\n\nstruct netdev_name_node {\n\tstruct hlist_node hlist;\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tconst char *name;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_nested_priv {\n\tunsigned char flags;\n\tvoid *data;\n};\n\nstruct netdev_net_notifier {\n\tstruct list_head list;\n\tstruct notifier_block *nb;\n};\n\nstruct netdev_nl_dump_ctx {\n\tlong unsigned int ifindex;\n\tunsigned int rxq_idx;\n\tunsigned int txq_idx;\n\tunsigned int napi_id;\n};\n\nstruct netdev_notifier_info {\n\tstruct net_device *dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct netdev_notifier_bonding_info {\n\tstruct netdev_notifier_info info;\n\tstruct netdev_bonding_info bonding_info;\n};\n\nstruct netdev_notifier_change_info {\n\tstruct netdev_notifier_info info;\n\tunsigned int flags_changed;\n};\n\nstruct netdev_notifier_changelowerstate_info {\n\tstruct netdev_notifier_info info;\n\tvoid *lower_state_info;\n};\n\nstruct netdev_notifier_changeupper_info {\n\tstruct netdev_notifier_info info;\n\tstruct net_device *upper_dev;\n\tbool master;\n\tbool linking;\n\tvoid *upper_info;\n};\n\nstruct netdev_notifier_info_ext {\n\tstruct netdev_notifier_info info;\n\tunion {\n\t\tu32 mtu;\n\t} ext;\n};\n\nstruct netdev_notifier_offload_xstats_rd;\n\nstruct netdev_notifier_offload_xstats_ru;\n\nstruct netdev_notifier_offload_xstats_info {\n\tstruct netdev_notifier_info info;\n\tenum netdev_offload_xstats_type type;\n\tunion {\n\t\tstruct netdev_notifier_offload_xstats_rd *report_delta;\n\t\tstruct netdev_notifier_offload_xstats_ru *report_used;\n\t};\n};\n\nstruct rtnl_hw_stats64 {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 rx_errors;\n\t__u64 tx_errors;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n\t__u64 multicast;\n};\n\nstruct netdev_notifier_offload_xstats_rd {\n\tstruct rtnl_hw_stats64 stats;\n\tbool used;\n};\n\nstruct netdev_notifier_offload_xstats_ru {\n\tbool used;\n};\n\nstruct netdev_notifier_pre_changeaddr_info {\n\tstruct netdev_notifier_info info;\n\tconst unsigned char *dev_addr;\n};\n\nstruct netdev_queue {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct Qdisc *qdisc;\n\tstruct Qdisc *qdisc_sleeping;\n\tstruct kobject kobj;\n\tlong unsigned int tx_maxrate;\n\tatomic_long_t trans_timeout;\n\tstruct net_device *sb_dev;\n\tstruct xsk_buff_pool *pool;\n\tlong: 64;\n\tstruct dql dql;\n\tspinlock_t _xmit_lock;\n\tint xmit_lock_owner;\n\tlong unsigned int trans_start;\n\tlong unsigned int state;\n\tstruct napi_struct *napi;\n\tint numa_node;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netdev_queue_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct netdev_queue *, char *);\n\tssize_t (*store)(struct netdev_queue *, const char *, size_t);\n};\n\nstruct netdev_queue_mgmt_ops {\n\tsize_t ndo_queue_mem_size;\n\tint (*ndo_queue_mem_alloc)(struct net_device *, void *, int);\n\tvoid (*ndo_queue_mem_free)(struct net_device *, void *);\n\tint (*ndo_queue_start)(struct net_device *, void *, int);\n\tint (*ndo_queue_stop)(struct net_device *, void *, int);\n};\n\nstruct netdev_queue_stats_rx {\n\tu64 bytes;\n\tu64 packets;\n\tu64 alloc_fail;\n\tu64 hw_drops;\n\tu64 hw_drop_overruns;\n\tu64 csum_unnecessary;\n\tu64 csum_none;\n\tu64 csum_bad;\n\tu64 hw_gro_packets;\n\tu64 hw_gro_bytes;\n\tu64 hw_gro_wire_packets;\n\tu64 hw_gro_wire_bytes;\n\tu64 hw_drop_ratelimits;\n};\n\nstruct netdev_queue_stats_tx {\n\tu64 bytes;\n\tu64 packets;\n\tu64 hw_drops;\n\tu64 hw_drop_errors;\n\tu64 csum_none;\n\tu64 needs_csum;\n\tu64 hw_gso_packets;\n\tu64 hw_gso_bytes;\n\tu64 hw_gso_wire_packets;\n\tu64 hw_gso_wire_bytes;\n\tu64 hw_drop_ratelimits;\n\tu64 stop;\n\tu64 wake;\n};\n\nstruct pp_memory_provider_params {\n\tvoid *mp_priv;\n};\n\nstruct rps_map;\n\nstruct rps_dev_flow_table;\n\nstruct netdev_rx_queue {\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct rps_map *rps_map;\n\tstruct rps_dev_flow_table *rps_flow_table;\n\tstruct kobject kobj;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct xsk_buff_pool *pool;\n\tstruct napi_struct *napi;\n\tstruct pp_memory_provider_params mp_params;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netdev_stat_ops {\n\tvoid (*get_queue_stats_rx)(struct net_device *, int, struct netdev_queue_stats_rx *);\n\tvoid (*get_queue_stats_tx)(struct net_device *, int, struct netdev_queue_stats_tx *);\n\tvoid (*get_base_stats)(struct net_device *, struct netdev_queue_stats_rx *, struct netdev_queue_stats_tx *);\n};\n\nstruct netdev_xmit {\n\tu16 recursion;\n\tu8 more;\n\tu8 skip_txqueue;\n};\n\nstruct netevent_redirect {\n\tstruct dst_entry *old;\n\tstruct dst_entry *new;\n\tstruct neighbour *neigh;\n\tconst void *daddr;\n};\n\nstruct netfs_io_subrequest;\n\nstruct netfs_cache_ops {\n\tvoid (*end_operation)(struct netfs_cache_resources *);\n\tint (*read)(struct netfs_cache_resources *, loff_t, struct iov_iter *, enum netfs_read_from_hole, netfs_io_terminated_t, void *);\n\tint (*write)(struct netfs_cache_resources *, loff_t, struct iov_iter *, netfs_io_terminated_t, void *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tvoid (*expand_readahead)(struct netfs_cache_resources *, long long unsigned int *, long long unsigned int *, long long unsigned int);\n\tenum netfs_io_source (*prepare_read)(struct netfs_io_subrequest *, long long unsigned int);\n\tvoid (*prepare_write_subreq)(struct netfs_io_subrequest *);\n\tint (*prepare_write)(struct netfs_cache_resources *, loff_t *, size_t *, size_t, loff_t, bool);\n\tenum netfs_io_source (*prepare_ondemand_read)(struct netfs_cache_resources *, loff_t, size_t *, loff_t, long unsigned int *, ino_t);\n\tint (*query_occupancy)(struct netfs_cache_resources *, loff_t, size_t, size_t, loff_t *, size_t *);\n};\n\nstruct netfs_group;\n\nstruct netfs_folio {\n\tstruct netfs_group *netfs_group;\n\tunsigned int dirty_offset;\n\tunsigned int dirty_len;\n};\n\nstruct netfs_group {\n\trefcount_t ref;\n\tvoid (*free)(struct netfs_group *);\n};\n\nstruct netfs_request_ops;\n\nstruct netfs_inode {\n\tstruct inode inode;\n\tconst struct netfs_request_ops *ops;\n\tstruct fscache_cookie *cache;\n\tstruct mutex wb_lock;\n\tloff_t remote_i_size;\n\tloff_t zero_point;\n\tatomic_t io_count;\n\tlong unsigned int flags;\n};\n\nstruct netfs_io_stream {\n\tstruct netfs_io_subrequest *construct;\n\tsize_t sreq_max_len;\n\tunsigned int sreq_max_segs;\n\tunsigned int submit_off;\n\tunsigned int submit_len;\n\tunsigned int submit_extendable_to;\n\tvoid (*prepare_write)(struct netfs_io_subrequest *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tstruct list_head subrequests;\n\tstruct netfs_io_subrequest *front;\n\tlong long unsigned int collected_to;\n\tsize_t transferred;\n\tenum netfs_io_source source;\n\tshort unsigned int error;\n\tunsigned char stream_nr;\n\tbool avail;\n\tbool active;\n\tbool need_retry;\n\tbool failed;\n};\n\nstruct rolling_buffer {\n\tstruct folio_queue *head;\n\tstruct folio_queue *tail;\n\tstruct iov_iter iter;\n\tu8 next_head_slot;\n\tu8 first_tail_slot;\n};\n\nstruct netfs_io_request {\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct inode *inode;\n\tstruct address_space *mapping;\n\tstruct kiocb *iocb;\n\tstruct netfs_cache_resources cache_resources;\n\tstruct netfs_io_request *copy_to_cache;\n\tstruct readahead_control *ractl;\n\tstruct list_head proc_link;\n\tstruct netfs_io_stream io_streams[2];\n\tstruct netfs_group *group;\n\tstruct rolling_buffer buffer;\n\twait_queue_head_t waitq;\n\tvoid *netfs_priv;\n\tvoid *netfs_priv2;\n\tstruct bio_vec *direct_bv;\n\tunsigned int direct_bv_count;\n\tunsigned int debug_id;\n\tunsigned int rsize;\n\tunsigned int wsize;\n\tatomic_t subreq_counter;\n\tunsigned int nr_group_rel;\n\tspinlock_t lock;\n\tlong long unsigned int submitted;\n\tlong long unsigned int len;\n\tsize_t transferred;\n\tlong int error;\n\tenum netfs_io_origin origin;\n\tbool direct_bv_unpin;\n\tlong long unsigned int i_size;\n\tlong long unsigned int start;\n\tatomic64_t issued_to;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int cleaned_to;\n\tlong long unsigned int abandon_to;\n\tlong unsigned int no_unlock_folio;\n\tunsigned char front_folio_order;\n\trefcount_t ref;\n\tlong unsigned int flags;\n\tconst struct netfs_request_ops *netfs_ops;\n\tvoid (*cleanup)(struct netfs_io_request *);\n};\n\nstruct netfs_io_subrequest {\n\tstruct netfs_io_request *rreq;\n\tstruct work_struct work;\n\tstruct list_head rreq_link;\n\tstruct iov_iter io_iter;\n\tlong long unsigned int start;\n\tsize_t len;\n\tsize_t transferred;\n\trefcount_t ref;\n\tshort int error;\n\tshort unsigned int debug_index;\n\tunsigned int nr_segs;\n\tu8 retry_count;\n\tenum netfs_io_source source;\n\tunsigned char stream_nr;\n\tlong unsigned int flags;\n};\n\nstruct netfs_request_ops {\n\tmempool_t *request_pool;\n\tmempool_t *subrequest_pool;\n\tint (*init_request)(struct netfs_io_request *, struct file *);\n\tvoid (*free_request)(struct netfs_io_request *);\n\tvoid (*free_subrequest)(struct netfs_io_subrequest *);\n\tvoid (*expand_readahead)(struct netfs_io_request *);\n\tint (*prepare_read)(struct netfs_io_subrequest *);\n\tvoid (*issue_read)(struct netfs_io_subrequest *);\n\tbool (*is_still_valid)(struct netfs_io_request *);\n\tint (*check_write_begin)(struct file *, loff_t, unsigned int, struct folio **, void **);\n\tvoid (*done)(struct netfs_io_request *);\n\tvoid (*update_i_size)(struct inode *, loff_t);\n\tvoid (*post_modify)(struct inode *);\n\tvoid (*begin_writeback)(struct netfs_io_request *);\n\tvoid (*prepare_write)(struct netfs_io_subrequest *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tvoid (*retry_request)(struct netfs_io_request *, struct netfs_io_stream *);\n\tvoid (*invalidate_cache)(struct netfs_io_request *);\n};\n\nstruct netif_security_struct {\n\tstruct net *ns;\n\tint ifindex;\n\tu32 sid;\n};\n\nstruct netlink_broadcast_data {\n\tstruct sock *exclude_sk;\n\tstruct net *net;\n\tu32 portid;\n\tu32 group;\n\tint failure;\n\tint delivery_failure;\n\tint congested;\n\tint delivered;\n\tgfp_t allocation;\n\tstruct sk_buff *skb;\n\tstruct sk_buff *skb2;\n\tint (*tx_filter)(struct sock *, struct sk_buff *, void *);\n\tvoid *tx_data;\n};\n\nstruct netlink_callback {\n\tstruct sk_buff *skb;\n\tconst struct nlmsghdr *nlh;\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tvoid *data;\n\tstruct module *module;\n\tstruct netlink_ext_ack *extack;\n\tu16 family;\n\tu16 answer_flags;\n\tu32 min_dump_alloc;\n\tunsigned int prev_seq;\n\tunsigned int seq;\n\tint flags;\n\tbool strict_check;\n\tunion {\n\t\tu8 ctx[48];\n\t\tlong int args[6];\n\t};\n};\n\nstruct netlink_compare_arg {\n\tpossible_net_t pnet;\n\tu32 portid;\n};\n\nstruct netlink_diag_msg {\n\t__u8 ndiag_family;\n\t__u8 ndiag_type;\n\t__u8 ndiag_protocol;\n\t__u8 ndiag_state;\n\t__u32 ndiag_portid;\n\t__u32 ndiag_dst_portid;\n\t__u32 ndiag_dst_group;\n\t__u32 ndiag_ino;\n\t__u32 ndiag_cookie[2];\n};\n\nstruct netlink_diag_req {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n\t__u16 pad;\n\t__u32 ndiag_ino;\n\t__u32 ndiag_show;\n\t__u32 ndiag_cookie[2];\n};\n\nstruct netlink_dump_control {\n\tint (*start)(struct netlink_callback *);\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tstruct netlink_ext_ack *extack;\n\tvoid *data;\n\tstruct module *module;\n\tu32 min_dump_alloc;\n\tint flags;\n};\n\nstruct netlink_ext_ack {\n\tconst char *_msg;\n\tconst struct nlattr *bad_attr;\n\tconst struct nla_policy *policy;\n\tconst struct nlattr *miss_nest;\n\tu16 miss_type;\n\tu8 cookie[20];\n\tu8 cookie_len;\n\tchar _msg_buf[80];\n};\n\nstruct netlink_kernel_cfg {\n\tunsigned int groups;\n\tunsigned int flags;\n\tvoid (*input)(struct sk_buff *);\n\tint (*bind)(struct net *, int);\n\tvoid (*unbind)(struct net *, int);\n\tvoid (*release)(struct sock *, long unsigned int *);\n};\n\nstruct netlink_notify {\n\tstruct net *net;\n\tu32 portid;\n\tint protocol;\n};\n\nstruct netlink_policy_dump_state {\n\tunsigned int policy_idx;\n\tunsigned int attr_idx;\n\tunsigned int n_alloc;\n\tstruct {\n\t\tconst struct nla_policy *policy;\n\t\tunsigned int maxtype;\n\t} policies[0];\n};\n\nstruct netlink_range_validation {\n\tu64 min;\n\tu64 max;\n};\n\nstruct netlink_range_validation_signed {\n\ts64 min;\n\ts64 max;\n};\n\nstruct netlink_set_err_data {\n\tstruct sock *exclude_sk;\n\tu32 portid;\n\tu32 group;\n\tint code;\n};\n\nstruct scm_creds {\n\tu32 pid;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\nstruct netlink_skb_parms {\n\tstruct scm_creds creds;\n\t__u32 portid;\n\t__u32 dst_group;\n\t__u32 flags;\n\tstruct sock *sk;\n\tbool nsid_is_set;\n\tint nsid;\n};\n\nstruct netlink_sock {\n\tstruct sock sk;\n\tlong unsigned int flags;\n\tu32 portid;\n\tu32 dst_portid;\n\tu32 dst_group;\n\tu32 subscriptions;\n\tu32 ngroups;\n\tlong unsigned int *groups;\n\tlong unsigned int state;\n\tsize_t max_recvmsg_len;\n\twait_queue_head_t wait;\n\tbool bound;\n\tbool cb_running;\n\tint dump_done_errno;\n\tstruct netlink_callback cb;\n\tstruct mutex nl_cb_mutex;\n\tvoid (*netlink_rcv)(struct sk_buff *);\n\tint (*netlink_bind)(struct net *, int);\n\tvoid (*netlink_unbind)(struct net *, int);\n\tvoid (*netlink_release)(struct sock *, long unsigned int *);\n\tstruct module *module;\n\tstruct rhash_head node;\n\tstruct callback_head rcu;\n};\n\nstruct netlink_table {\n\tstruct rhashtable hash;\n\tstruct hlist_head mc_list;\n\tstruct listeners *listeners;\n\tunsigned int flags;\n\tunsigned int groups;\n\tstruct mutex *cb_mutex;\n\tstruct module *module;\n\tint (*bind)(struct net *, int);\n\tvoid (*unbind)(struct net *, int);\n\tvoid (*release)(struct sock *, long unsigned int *);\n\tint registered;\n};\n\nstruct netlink_tap {\n\tstruct net_device *dev;\n\tstruct module *module;\n\tstruct list_head list;\n};\n\nstruct netlink_tap_net {\n\tstruct list_head netlink_tap_all;\n\tstruct mutex netlink_tap_lock;\n};\n\nstruct netnode_security_struct {\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} addr;\n\tu32 sid;\n\tu16 family;\n};\n\nstruct netns_pfkey {\n\tstruct hlist_head table;\n\tatomic_t socks_nr;\n};\n\nstruct netport_security_struct {\n\tu32 sid;\n\tu16 port;\n\tu8 protocol;\n};\n\nstruct netprio_map {\n\tstruct callback_head rcu;\n\tu32 priomap_len;\n\tu32 priomap[0];\n};\n\nstruct netsfhdr {\n\t__be32 version;\n\t__be64 magic;\n\tu8 id;\n} __attribute__((packed));\n\nunion network_header {\n\tstruct iphdr *ipv4;\n\tstruct ipv6hdr *ipv6;\n\tvoid *raw;\n};\n\nunion network_header___2 {\n\tstruct ipv6hdr *ipv6;\n\tstruct iphdr *ipv4;\n\tvoid *raw;\n};\n\nstruct new_utsname {\n\tchar sysname[65];\n\tchar nodename[65];\n\tchar release[65];\n\tchar version[65];\n\tchar machine[65];\n\tchar domainname[65];\n};\n\nstruct nh_info;\n\nstruct nh_group;\n\nstruct nexthop {\n\tstruct rb_node rb_node;\n\tstruct list_head fi_list;\n\tstruct list_head f6i_list;\n\tstruct list_head fdb_list;\n\tstruct list_head grp_list;\n\tstruct net *net;\n\tu32 id;\n\tu8 protocol;\n\tu8 nh_flags;\n\tbool is_group;\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tunion {\n\t\tstruct nh_info *nh_info;\n\t\tstruct nh_group *nh_grp;\n\t};\n};\n\nstruct nexthop_grp {\n\t__u32 id;\n\t__u8 weight;\n\t__u8 weight_high;\n\t__u16 resvd2;\n};\n\nstruct nf_bridge_info {\n\tenum {\n\t\tBRNF_PROTO_UNCHANGED = 0,\n\t\tBRNF_PROTO_8021Q = 1,\n\t\tBRNF_PROTO_PPPOE = 2,\n\t} orig_proto: 8;\n\tu8 pkt_otherhost: 1;\n\tu8 in_prerouting: 1;\n\tu8 bridged_dnat: 1;\n\tu8 sabotage_in_done: 1;\n\t__u16 frag_max_size;\n\tint physinif;\n\tstruct net_device *physoutdev;\n\tunion {\n\t\t__be32 ipv4_daddr;\n\t\tstruct in6_addr ipv6_daddr;\n\t\tchar neigh_header[8];\n\t};\n};\n\nstruct nf_conntrack {\n\trefcount_t use;\n};\n\nunion nf_inet_addr {\n\t__u32 all[4];\n\t__be32 ip;\n\t__be32 ip6[4];\n\tstruct in_addr in;\n\tstruct in6_addr in6;\n};\n\nunion nf_conntrack_man_proto {\n\t__be16 all;\n\tstruct {\n\t\t__be16 port;\n\t} tcp;\n\tstruct {\n\t\t__be16 port;\n\t} udp;\n\tstruct {\n\t\t__be16 id;\n\t} icmp;\n\tstruct {\n\t\t__be16 port;\n\t} dccp;\n\tstruct {\n\t\t__be16 port;\n\t} sctp;\n\tstruct {\n\t\t__be16 key;\n\t} gre;\n};\n\nstruct nf_conntrack_man {\n\tunion nf_inet_addr u3;\n\tunion nf_conntrack_man_proto u;\n\tu_int16_t l3num;\n};\n\nstruct nf_conntrack_tuple {\n\tstruct nf_conntrack_man src;\n\tstruct {\n\t\tunion nf_inet_addr u3;\n\t\tunion {\n\t\t\t__be16 all;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} tcp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} udp;\n\t\t\tstruct {\n\t\t\t\tu_int8_t type;\n\t\t\t\tu_int8_t code;\n\t\t\t} icmp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} dccp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} sctp;\n\t\t\tstruct {\n\t\t\t\t__be16 key;\n\t\t\t} gre;\n\t\t} u;\n\t\tu_int8_t protonum;\n\t\tstruct {} __nfct_hash_offsetend;\n\t\tu_int8_t dir;\n\t} dst;\n};\n\nstruct nf_conntrack_tuple_hash {\n\tstruct hlist_nulls_node hnnode;\n\tstruct nf_conntrack_tuple tuple;\n};\n\nstruct nf_ct_dccp {\n\tu_int8_t role[2];\n\tu_int8_t state;\n\tu_int8_t last_pkt;\n\tu_int8_t last_dir;\n\tu_int64_t handshake_seq;\n};\n\nstruct nf_ct_udp {\n\tlong unsigned int stream_ts;\n};\n\nstruct nf_ct_gre {\n\tunsigned int stream_timeout;\n\tunsigned int timeout;\n};\n\nunion nf_conntrack_proto {\n\tstruct nf_ct_dccp dccp;\n\tstruct ip_ct_sctp sctp;\n\tstruct ip_ct_tcp tcp;\n\tstruct nf_ct_udp udp;\n\tstruct nf_ct_gre gre;\n\tunsigned int tmpl_padto;\n};\n\nstruct nf_ct_ext;\n\nstruct nf_conn {\n\tstruct nf_conntrack ct_general;\n\tspinlock_t lock;\n\tu32 timeout;\n\tstruct nf_conntrack_tuple_hash tuplehash[2];\n\tlong unsigned int status;\n\tpossible_net_t ct_net;\n\tstruct hlist_node nat_bysource;\n\tstruct {} __nfct_init_offset;\n\tstruct nf_conn *master;\n\tu_int32_t mark;\n\tstruct nf_ct_ext *ext;\n\tunion nf_conntrack_proto proto;\n};\n\nstruct nf_conn___init {\n\tstruct nf_conn ct;\n};\n\nstruct nf_conn_labels {\n\tlong unsigned int bits[2];\n};\n\nstruct nf_conntrack_zone {\n\tu16 id;\n\tu8 flags;\n\tu8 dir;\n};\n\nstruct nf_ct_ext {\n\tu8 offset[6];\n\tu8 len;\n\tunsigned int gen_id;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct nf_ct_hook {\n\tint (*update)(struct net *, struct sk_buff *);\n\tvoid (*destroy)(struct nf_conntrack *);\n\tbool (*get_tuple_skb)(struct nf_conntrack_tuple *, const struct sk_buff *);\n\tvoid (*attach)(struct sk_buff *, const struct sk_buff *);\n\tvoid (*set_closing)(struct nf_conntrack *);\n\tint (*confirm)(struct sk_buff *);\n};\n\nstruct nf_defrag_hook {\n\tstruct module *owner;\n\tint (*enable)(struct net *);\n\tvoid (*disable)(struct net *);\n};\n\nstruct nf_hook_entry {\n\tnf_hookfn *hook;\n\tvoid *priv;\n};\n\nstruct nf_hook_entries {\n\tu16 num_hook_entries;\n\tstruct nf_hook_entry hooks[0];\n};\n\nstruct nf_hook_entries_rcu_head {\n\tstruct callback_head head;\n\tvoid *allocation;\n};\n\nstruct nf_hook_state {\n\tu8 hook;\n\tu8 pf;\n\tstruct net_device *in;\n\tstruct net_device *out;\n\tstruct sock *sk;\n\tstruct net *net;\n\tint (*okfn)(struct net *, struct sock *, struct sk_buff *);\n};\n\nstruct nf_queue_entry;\n\nstruct nf_ipv6_ops {\n\tvoid (*route_input)(struct sk_buff *);\n\tint (*fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *));\n\tint (*reroute)(struct sk_buff *, const struct nf_queue_entry *);\n};\n\nstruct nf_log_buf {\n\tunsigned int count;\n\tchar buf[1020];\n};\n\nstruct nf_loginfo;\n\ntypedef void nf_logfn(struct net *, u_int8_t, unsigned int, const struct sk_buff *, const struct net_device *, const struct net_device *, const struct nf_loginfo *, const char *);\n\nstruct nf_logger {\n\tchar *name;\n\tenum nf_log_type type;\n\tnf_logfn *logfn;\n\tstruct module *me;\n};\n\nstruct nf_loginfo {\n\tu_int8_t type;\n\tunion {\n\t\tstruct {\n\t\t\tu_int32_t copy_len;\n\t\t\tu_int16_t group;\n\t\t\tu_int16_t qthreshold;\n\t\t\tu_int16_t flags;\n\t\t} ulog;\n\t\tstruct {\n\t\t\tu_int8_t level;\n\t\t\tu_int8_t logflags;\n\t\t} log;\n\t} u;\n};\n\nstruct nf_mttg_trav {\n\tstruct list_head *head;\n\tstruct list_head *curr;\n\tuint8_t class;\n};\n\nstruct nf_nat_hook {\n\tint (*parse_nat_setup)(struct nf_conn *, enum nf_nat_manip_type, const struct nlattr *);\n\tvoid (*decode_session)(struct sk_buff *, struct flowi *);\n\tvoid (*remove_nat_bysrc)(struct nf_conn *);\n};\n\nstruct nf_queue_entry {\n\tstruct list_head list;\n\tstruct sk_buff *skb;\n\tunsigned int id;\n\tunsigned int hook_index;\n\tstruct net_device *physin;\n\tstruct net_device *physout;\n\tstruct nf_hook_state state;\n\tu16 size;\n};\n\nstruct nf_queue_handler {\n\tint (*outfn)(struct nf_queue_entry *, unsigned int);\n\tvoid (*nf_hook_drop)(struct net *);\n};\n\nstruct nf_sockopt_ops {\n\tstruct list_head list;\n\tu_int8_t pf;\n\tint set_optmin;\n\tint set_optmax;\n\tint (*set)(struct sock *, int, sockptr_t, unsigned int);\n\tint get_optmin;\n\tint get_optmax;\n\tint (*get)(struct sock *, int, void *, int *);\n\tstruct module *owner;\n};\n\nstruct nfnl_ct_hook {\n\tsize_t (*build_size)(const struct nf_conn *);\n\tint (*build)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, u_int16_t, u_int16_t);\n\tint (*parse)(const struct nlattr *, struct nf_conn *);\n\tint (*attach_expect)(const struct nlattr *, struct nf_conn *, u32, u32);\n\tvoid (*seq_adjust)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, s32);\n};\n\nstruct nfs2_fh {\n\tchar data[32];\n};\n\nstruct nfs3_accessargs {\n\tstruct nfs_fh *fh;\n\t__u32 access;\n};\n\nstruct nfs_fattr;\n\nstruct nfs3_accessres {\n\tstruct nfs_fattr *fattr;\n\t__u32 access;\n};\n\nstruct nfs3_createargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tstruct iattr *sattr;\n\tenum nfs3_createmode createmode;\n\t__be32 verifier[2];\n};\n\nstruct rpc_procinfo;\n\nstruct rpc_message {\n\tconst struct rpc_procinfo *rpc_proc;\n\tvoid *rpc_argp;\n\tvoid *rpc_resp;\n\tconst struct cred *rpc_cred;\n};\n\nstruct nfs3_mkdirargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tstruct iattr *sattr;\n};\n\nstruct nfs3_symlinkargs {\n\tstruct nfs_fh *fromfh;\n\tconst char *fromname;\n\tunsigned int fromlen;\n\tstruct page **pages;\n\tunsigned int pathlen;\n\tstruct iattr *sattr;\n};\n\nstruct nfs3_mknodargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tenum nfs3_ftype type;\n\tstruct iattr *sattr;\n\tdev_t rdev;\n};\n\nstruct nfs3_diropres {\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs4_string;\n\nstruct nfs4_threshold;\n\nstruct nfs4_label;\n\nstruct nfs_fattr {\n\tunsigned int valid;\n\tumode_t mode;\n\t__u32 nlink;\n\tkuid_t uid;\n\tkgid_t gid;\n\tdev_t rdev;\n\t__u64 size;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 blocksize;\n\t\t\t__u32 blocks;\n\t\t} nfs2;\n\t\tstruct {\n\t\t\t__u64 used;\n\t\t} nfs3;\n\t} du;\n\tstruct nfs_fsid fsid;\n\t__u64 fileid;\n\t__u64 mounted_on_fileid;\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tstruct timespec64 ctime;\n\t__u64 change_attr;\n\t__u64 pre_change_attr;\n\t__u64 pre_size;\n\tstruct timespec64 pre_mtime;\n\tstruct timespec64 pre_ctime;\n\tlong unsigned int time_start;\n\tlong unsigned int gencount;\n\tstruct nfs4_string *owner_name;\n\tstruct nfs4_string *group_name;\n\tstruct nfs4_threshold *mdsthreshold;\n\tstruct nfs4_label *label;\n};\n\nstruct nfs3_createdata {\n\tstruct rpc_message msg;\n\tunion {\n\t\tstruct nfs3_createargs create;\n\t\tstruct nfs3_mkdirargs mkdir;\n\t\tstruct nfs3_symlinkargs symlink;\n\t\tstruct nfs3_mknodargs mknod;\n\t} arg;\n\tstruct nfs3_diropres res;\n\tstruct nfs_fh fh;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_fattr dir_attr;\n};\n\nstruct nfs3_diropargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n};\n\nstruct nfs3_fh {\n\tshort unsigned int size;\n\tunsigned char data[64];\n};\n\nstruct nfs3_getaclargs {\n\tstruct nfs_fh *fh;\n\tint mask;\n\tstruct page **pages;\n};\n\nstruct nfs3_getaclres {\n\tstruct nfs_fattr *fattr;\n\tint mask;\n\tunsigned int acl_access_count;\n\tunsigned int acl_default_count;\n\tstruct posix_acl *acl_access;\n\tstruct posix_acl *acl_default;\n};\n\nstruct nfs3_linkargs {\n\tstruct nfs_fh *fromfh;\n\tstruct nfs_fh *tofh;\n\tconst char *toname;\n\tunsigned int tolen;\n};\n\nstruct nfs3_linkres {\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs3_readdirargs {\n\tstruct nfs_fh *fh;\n\t__u64 cookie;\n\t__be32 verf[2];\n\tbool plus;\n\tunsigned int count;\n\tstruct page **pages;\n};\n\nstruct nfs3_readdirres {\n\tstruct nfs_fattr *dir_attr;\n\t__be32 *verf;\n\tbool plus;\n};\n\nstruct nfs3_readlinkargs {\n\tstruct nfs_fh *fh;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tstruct page **pages;\n};\n\nstruct nfs3_sattrargs {\n\tstruct nfs_fh *fh;\n\tstruct iattr *sattr;\n\tunsigned int guard;\n\tstruct timespec64 guardtime;\n};\n\nstruct nfs3_setaclargs {\n\tstruct inode *inode;\n\tint mask;\n\tstruct posix_acl *acl_access;\n\tstruct posix_acl *acl_default;\n\tsize_t len;\n\tunsigned int npages;\n\tstruct page **pages;\n};\n\nstruct nfs41_bind_conn_to_session_args {\n\tstruct nfs_client *client;\n\tstruct nfs4_sessionid sessionid;\n\tu32 dir;\n\tbool use_conn_in_rdma_mode;\n\tint retries;\n};\n\nstruct nfs41_bind_conn_to_session_res {\n\tstruct nfs4_sessionid sessionid;\n\tu32 dir;\n\tbool use_conn_in_rdma_mode;\n};\n\nstruct nfs4_channel_attrs {\n\tu32 max_rqst_sz;\n\tu32 max_resp_sz;\n\tu32 max_resp_sz_cached;\n\tu32 max_ops;\n\tu32 max_reqs;\n};\n\nstruct nfs41_create_session_args {\n\tstruct nfs_client *client;\n\tu64 clientid;\n\tuint32_t seqid;\n\tuint32_t flags;\n\tuint32_t cb_program;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_channel_attrs bc_attrs;\n};\n\nstruct nfs41_create_session_res {\n\tstruct nfs4_sessionid sessionid;\n\tuint32_t seqid;\n\tuint32_t flags;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_channel_attrs bc_attrs;\n};\n\nstruct nfs4_op_map {\n\tunion {\n\t\tlong unsigned int longs[2];\n\t\tu32 words[4];\n\t} u;\n};\n\nstruct nfs41_state_protection {\n\tu32 how;\n\tstruct nfs4_op_map enforce;\n\tstruct nfs4_op_map allow;\n};\n\nstruct nfs41_exchange_id_args {\n\tstruct nfs_client *client;\n\tnfs4_verifier verifier;\n\tu32 flags;\n\tstruct nfs41_state_protection state_protect;\n};\n\nstruct nfs41_server_owner;\n\nstruct nfs41_server_scope;\n\nstruct nfs41_impl_id;\n\nstruct nfs41_exchange_id_res {\n\tu64 clientid;\n\tu32 seqid;\n\tu32 flags;\n\tstruct nfs41_server_owner *server_owner;\n\tstruct nfs41_server_scope *server_scope;\n\tstruct nfs41_impl_id *impl_id;\n\tstruct nfs41_state_protection state_protect;\n};\n\nstruct nfs41_exchange_id_data {\n\tstruct nfs41_exchange_id_res res;\n\tstruct nfs41_exchange_id_args args;\n};\n\nstruct nfs4_sequence_args {\n\tstruct nfs4_slot *sa_slot;\n\tu8 sa_cache_this: 1;\n\tu8 sa_privileged: 1;\n};\n\nstruct nfs41_free_stateid_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs4_sequence_res {\n\tstruct nfs4_slot *sr_slot;\n\tlong unsigned int sr_timestamp;\n\tint sr_status;\n\tu32 sr_status_flags;\n\tu32 sr_highest_slotid;\n\tu32 sr_target_highest_slotid;\n};\n\nstruct nfs41_free_stateid_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n};\n\nstruct nfstime4 {\n\tint64_t seconds;\n\tuint32_t nseconds;\n};\n\nstruct nfs41_impl_id {\n\tchar domain[1025];\n\tchar name[1025];\n\tstruct nfstime4 date;\n};\n\nstruct nfs41_reclaim_complete_args {\n\tstruct nfs4_sequence_args seq_args;\n\tunsigned char one_fs: 1;\n};\n\nstruct nfs41_reclaim_complete_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs41_secinfo_no_name_args {\n\tstruct nfs4_sequence_args seq_args;\n\tint style;\n};\n\nstruct nfs41_server_owner {\n\tuint64_t minor_id;\n\tuint32_t major_id_sz;\n\tchar major_id[1024];\n};\n\nstruct nfs41_server_scope {\n\tuint32_t server_scope_sz;\n\tchar server_scope[1024];\n};\n\nstruct nfs41_test_stateid_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs41_test_stateid_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n};\n\nstruct nfs42_clone_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *src_fh;\n\tstruct nfs_fh *dst_fh;\n\tnfs4_stateid src_stateid;\n\tnfs4_stateid dst_stateid;\n\t__u64 src_offset;\n\t__u64 dst_offset;\n\t__u64 count;\n\tconst u32 *dst_bitmask;\n};\n\nstruct nfs_server;\n\nstruct nfs42_clone_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int rpc_status;\n\tstruct nfs_fattr *dst_fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nl4_server;\n\nstruct nfs42_copy_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *src_fh;\n\tnfs4_stateid src_stateid;\n\tu64 src_pos;\n\tstruct nfs_fh *dst_fh;\n\tnfs4_stateid dst_stateid;\n\tu64 dst_pos;\n\tu64 count;\n\tbool sync;\n\tstruct nl4_server *cp_src;\n};\n\nstruct nfs42_netaddr {\n\tchar netid[5];\n\tchar addr[58];\n\tu32 netid_len;\n\tu32 addr_len;\n};\n\nstruct nl4_server {\n\tenum netloc_type4 nl4_type;\n\tunion {\n\t\tstruct {\n\t\t\tint nl4_str_sz;\n\t\t\tchar nl4_str[1025];\n\t\t};\n\t\tstruct nfs42_netaddr nl4_addr;\n\t} u;\n};\n\nstruct nfs42_copy_notify_args {\n\tstruct nfs4_sequence_args cna_seq_args;\n\tstruct nfs_fh *cna_src_fh;\n\tnfs4_stateid cna_src_stateid;\n\tstruct nl4_server cna_dst;\n};\n\nstruct nfs42_copy_notify_res {\n\tstruct nfs4_sequence_res cnr_seq_res;\n\tstruct nfstime4 cnr_lease_time;\n\tnfs4_stateid cnr_stateid;\n\tstruct nl4_server cnr_src;\n};\n\nstruct nfs42_write_res {\n\tnfs4_stateid stateid;\n\tu64 count;\n\tstruct nfs_writeverf verifier;\n};\n\nstruct nfs_commitres {\n\tstruct nfs4_sequence_res seq_res;\n\t__u32 op_status;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_writeverf *verf;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs42_copy_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs42_write_res write_res;\n\tbool consecutive;\n\tbool synchronous;\n\tstruct nfs_commitres commit_res;\n};\n\nstruct nfs42_device_error {\n\tstruct nfs4_deviceid dev_id;\n\tint status;\n\tenum nfs_opnum4 opnum;\n};\n\nstruct nfs42_falloc_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *falloc_fh;\n\tnfs4_stateid falloc_stateid;\n\tu64 falloc_offset;\n\tu64 falloc_length;\n\tconst u32 *falloc_bitmask;\n};\n\nstruct nfs42_falloc_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n\tstruct nfs_fattr *falloc_fattr;\n\tconst struct nfs_server *falloc_server;\n};\n\nstruct nfs42_getxattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst char *xattr_name;\n\tsize_t xattr_len;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_getxattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tsize_t xattr_len;\n};\n\nstruct nfs42_layout_error {\n\t__u64 offset;\n\t__u64 length;\n\tnfs4_stateid stateid;\n\tstruct nfs42_device_error errors[1];\n};\n\nstruct nfs42_layouterror_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct inode *inode;\n\tunsigned int num_errors;\n\tstruct nfs42_layout_error errors[5];\n};\n\nstruct nfs42_layouterror_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int num_errors;\n\tint rpc_status;\n};\n\nstruct pnfs_layout_segment;\n\nstruct nfs42_layouterror_data {\n\tstruct nfs42_layouterror_args args;\n\tstruct nfs42_layouterror_res res;\n\tstruct inode *inode;\n\tstruct pnfs_layout_segment *lseg;\n};\n\nstruct nfs42_layoutstat_devinfo;\n\nstruct nfs42_layoutstat_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct inode *inode;\n\tnfs4_stateid stateid;\n\tint num_dev;\n\tstruct nfs42_layoutstat_devinfo *devinfo;\n};\n\nstruct nfs42_layoutstat_res {\n\tstruct nfs4_sequence_res seq_res;\n\tint num_dev;\n\tint rpc_status;\n};\n\nstruct nfs42_layoutstat_data {\n\tstruct inode *inode;\n\tstruct nfs42_layoutstat_args args;\n\tstruct nfs42_layoutstat_res res;\n};\n\nstruct nfs4_xdr_opaque_ops;\n\nstruct nfs4_xdr_opaque_data {\n\tconst struct nfs4_xdr_opaque_ops *ops;\n\tvoid *data;\n};\n\nstruct nfs42_layoutstat_devinfo {\n\tstruct nfs4_deviceid dev_id;\n\t__u64 offset;\n\t__u64 length;\n\t__u64 read_count;\n\t__u64 read_bytes;\n\t__u64 write_count;\n\t__u64 write_bytes;\n\t__u32 layout_type;\n\tstruct nfs4_xdr_opaque_data ld_private;\n};\n\nstruct nfs42_listxattrsargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tu32 count;\n\tu64 cookie;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_listxattrsres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct page *scratch;\n\tvoid *xattr_buf;\n\tsize_t xattr_len;\n\tu64 cookie;\n\tbool eof;\n\tsize_t copied;\n};\n\nstruct nfs42_offload_status_args {\n\tstruct nfs4_sequence_args osa_seq_args;\n\tstruct nfs_fh *osa_src_fh;\n\tnfs4_stateid osa_stateid;\n};\n\nstruct nfs42_offload_status_res {\n\tstruct nfs4_sequence_res osr_seq_res;\n\tuint64_t osr_count;\n\tint osr_status;\n};\n\nstruct nfs42_offload_data {\n\tstruct nfs_server *seq_server;\n\tstruct nfs42_offload_status_args args;\n\tstruct nfs42_offload_status_res res;\n};\n\nstruct nfs42_removexattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst char *xattr_name;\n};\n\nstruct nfs4_change_info {\n\tu32 atomic;\n\tu64 before;\n\tu64 after;\n};\n\nstruct nfs42_removexattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_change_info cinfo;\n};\n\nstruct nfs42_seek_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *sa_fh;\n\tnfs4_stateid sa_stateid;\n\tu64 sa_offset;\n\tu32 sa_what;\n};\n\nstruct nfs42_seek_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n\tu32 sr_eof;\n\tu64 sr_offset;\n};\n\nstruct nfs42_setxattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst u32 *bitmask;\n\tconst char *xattr_name;\n\tu32 xattr_flags;\n\tsize_t xattr_len;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_setxattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_change_info cinfo;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs4_accessargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n\tu32 access;\n};\n\nstruct nfs4_accessres {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tu32 supported;\n\tu32 access;\n};\n\nstruct nfs4_ace {\n\tuint32_t type;\n\tuint32_t flag;\n\tuint32_t access_mask;\n\tint whotype;\n\tunion {\n\t\tkuid_t who_uid;\n\t\tkgid_t who_gid;\n\t};\n};\n\nstruct nfs4_acl {\n\tuint32_t naces;\n\tstruct nfs4_ace aces[0];\n};\n\nstruct nfs4_add_xprt_data {\n\tstruct nfs_client *clp;\n\tconst struct cred *cred;\n};\n\nstruct nfs4_cached_acl {\n\tenum nfs4_acl_type type;\n\tint cached;\n\tsize_t len;\n\tchar data[0];\n};\n\nstruct nfs4_call_sync_data {\n\tconst struct nfs_server *seq_server;\n\tstruct nfs4_sequence_args *seq_args;\n\tstruct nfs4_sequence_res *seq_res;\n};\n\nstruct nfs4_cb_compound_hdr {\n\tu32 ident;\n\tu32 nops;\n\t__be32 *nops_p;\n\tu32 minorversion;\n\tint status;\n};\n\nstruct svc_xprt;\n\nstruct nfs4_cb_conn {\n\tstruct __kernel_sockaddr_storage cb_addr;\n\tstruct __kernel_sockaddr_storage cb_saddr;\n\tsize_t cb_addrlen;\n\tu32 cb_prog;\n\tu32 cb_ident;\n\tstruct svc_xprt *cb_xprt;\n};\n\nstruct nfs4_client;\n\nstruct nfsd4_callback_ops;\n\nstruct nfsd4_callback {\n\tstruct nfs4_client *cb_clp;\n\tstruct rpc_message cb_msg;\n\tconst struct nfsd4_callback_ops *cb_ops;\n\tstruct work_struct cb_work;\n\tint cb_seq_status;\n\tint cb_status;\n\tint cb_held_slot;\n\tbool cb_need_restart;\n};\n\nstruct nfs4_cb_fattr {\n\tstruct nfsd4_callback ncf_getattr;\n\tu32 ncf_cb_status;\n\tu64 ncf_cb_change;\n\tu64 ncf_cb_fsize;\n\tstruct timespec64 ncf_cb_mtime;\n\tstruct timespec64 ncf_cb_atime;\n\tlong unsigned int ncf_cb_flags;\n\tbool ncf_file_modified;\n\tu64 ncf_initial_cinfo;\n\tu64 ncf_cur_fsize;\n};\n\nstruct nfsd4_channel_attrs {\n\tu32 headerpadsz;\n\tu32 maxreq_sz;\n\tu32 maxresp_sz;\n\tu32 maxresp_cached;\n\tu32 maxops;\n\tu32 maxreqs;\n\tu32 nr_rdma_attrs;\n\tu32 rdma_attrs;\n};\n\nstruct nfsd4_cb_sec {\n\tu32 flavor;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\nstruct nfsd4_create_session {\n\tclientid_t clientid;\n\tstruct nfs4_sessionid sessionid;\n\tu32 seqid;\n\tu32 flags;\n\tstruct nfsd4_channel_attrs fore_channel;\n\tstruct nfsd4_channel_attrs back_channel;\n\tu32 callback_prog;\n\tstruct nfsd4_cb_sec cb_sec;\n};\n\nstruct nfsd4_clid_slot {\n\tu32 sl_seqid;\n\t__be32 sl_status;\n\tstruct nfsd4_create_session sl_cr_ses;\n};\n\nstruct nfsdfs_client {\n\tstruct kref cl_ref;\n\tvoid (*cl_release)(struct kref *);\n};\n\nstruct nfsd4_session;\n\nstruct nfsd4_cb_recall_any;\n\nstruct nfs4_client {\n\tstruct list_head cl_idhash;\n\tstruct rb_node cl_namenode;\n\tstruct list_head *cl_ownerstr_hashtbl;\n\tstruct list_head cl_openowners;\n\tstruct idr cl_stateids;\n\tstruct list_head cl_delegations;\n\tstruct list_head cl_revoked;\n\tstruct list_head cl_lru;\n\tstruct list_head cl_lo_states;\n\tstruct xdr_netobj cl_name;\n\tnfs4_verifier cl_verifier;\n\ttime64_t cl_time;\n\tstruct __kernel_sockaddr_storage cl_addr;\n\tbool cl_mach_cred;\n\tstruct svc_cred cl_cred;\n\tclientid_t cl_clientid;\n\tnfs4_verifier cl_confirm;\n\tu32 cl_minorversion;\n\tatomic_t cl_admin_revoked;\n\tstruct xdr_netobj cl_nii_domain;\n\tstruct xdr_netobj cl_nii_name;\n\tstruct timespec64 cl_nii_time;\n\tstruct nfs4_cb_conn cl_cb_conn;\n\tlong unsigned int cl_flags;\n\tstruct workqueue_struct *cl_callback_wq;\n\tconst struct cred *cl_cb_cred;\n\tstruct rpc_clnt *cl_cb_client;\n\tu32 cl_cb_ident;\n\tint cl_cb_state;\n\tstruct nfsd4_callback cl_cb_null;\n\tstruct nfsd4_session *cl_cb_session;\n\tspinlock_t cl_lock;\n\tstruct list_head cl_sessions;\n\tstruct nfsd4_clid_slot cl_cs_slot;\n\tu32 cl_exchange_flags;\n\tatomic_t cl_rpc_users;\n\tstruct nfsdfs_client cl_nfsdfs;\n\tstruct nfs4_op_map cl_spo_must_allow;\n\tstruct dentry *cl_nfsd_dentry;\n\tstruct dentry *cl_nfsd_info_dentry;\n\tstruct rpc_wait_queue cl_cb_waitq;\n\tstruct net *net;\n\tstruct list_head async_copies;\n\tspinlock_t async_lock;\n\tatomic_t cl_cb_inflight;\n\tunsigned int cl_state;\n\tatomic_t cl_delegs_in_recall;\n\tstruct nfsd4_cb_recall_any *cl_ra;\n\ttime64_t cl_ra_time;\n\tstruct list_head cl_ra_cblist;\n};\n\nstruct nfs4_client_reclaim {\n\tstruct list_head cr_strhash;\n\tstruct nfs4_client *cr_clp;\n\tstruct xdr_netobj cr_name;\n\tstruct xdr_netobj cr_princhash;\n};\n\nstruct nfs4_file;\n\nstruct nfs4_clnt_odstate {\n\tstruct nfs4_client *co_client;\n\tstruct nfs4_file *co_file;\n\tstruct list_head co_perfile;\n\trefcount_t co_odcount;\n};\n\nstruct nfs_seqid;\n\nstruct nfs4_layoutreturn_args;\n\nstruct nfs_closeargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n\tfmode_t fmode;\n\tu32 share_access;\n\tconst u32 *bitmask;\n\tu32 bitmask_store[3];\n\tstruct nfs4_layoutreturn_args *lr_args;\n};\n\nstruct nfs4_layoutreturn_res;\n\nstruct nfs_closeres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_seqid *seqid;\n\tconst struct nfs_server *server;\n\tstruct nfs4_layoutreturn_res *lr_res;\n\tint lr_ret;\n};\n\nstruct pnfs_layout_hdr;\n\nstruct nfs4_layoutreturn_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct pnfs_layout_hdr *layout;\n\tstruct inode *inode;\n\tstruct pnfs_layout_range range;\n\tnfs4_stateid stateid;\n\t__u32 layout_type;\n\tstruct nfs4_xdr_opaque_data *ld_private;\n};\n\nstruct nfs4_layoutreturn_res {\n\tstruct nfs4_sequence_res seq_res;\n\tu32 lrs_present;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs4_state;\n\nstruct nfs4_closedata {\n\tstruct inode *inode;\n\tstruct nfs4_state *state;\n\tstruct nfs_closeargs arg;\n\tstruct nfs_closeres res;\n\tstruct {\n\t\tstruct nfs4_layoutreturn_args arg;\n\t\tstruct nfs4_layoutreturn_res res;\n\t\tstruct nfs4_xdr_opaque_data ld_private;\n\t\tu32 roc_barrier;\n\t\tbool roc;\n\t} lr;\n\tstruct nfs_fattr fattr;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs4_copy_state {\n\tstruct list_head copies;\n\tstruct list_head src_copies;\n\tnfs4_stateid stateid;\n\tstruct completion completion;\n\tuint64_t count;\n\tstruct nfs_writeverf verf;\n\tint error;\n\tint flags;\n\tstruct nfs4_state *parent_src_state;\n\tstruct nfs4_state *parent_dst_state;\n};\n\nstruct nfs4_cpntf_state {\n\tcopy_stateid_t cp_stateid;\n\tstruct list_head cp_list;\n\tstateid_t cp_p_stateid;\n\tclientid_t cp_p_clid;\n\ttime64_t cpntf_time;\n};\n\nstruct nfs4_create_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tu32 ftype;\n\tunion {\n\t\tstruct {\n\t\t\tstruct page **pages;\n\t\t\tunsigned int len;\n\t\t} symlink;\n\t\tstruct {\n\t\t\tu32 specdata1;\n\t\t\tu32 specdata2;\n\t\t} device;\n\t} u;\n\tconst struct qstr *name;\n\tconst struct nfs_server *server;\n\tconst struct iattr *attrs;\n\tconst struct nfs_fh *dir_fh;\n\tconst u32 *bitmask;\n\tconst struct nfs4_label *label;\n\tumode_t umask;\n};\n\nstruct nfs4_create_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs4_change_info dir_cinfo;\n};\n\nstruct nfs4_createdata {\n\tstruct rpc_message msg;\n\tstruct nfs4_create_arg arg;\n\tstruct nfs4_create_res res;\n\tstruct nfs_fh fh;\n\tstruct nfs_fattr fattr;\n};\n\nstruct nfs4_stid {\n\trefcount_t sc_count;\n\tshort unsigned int sc_type;\n\tshort unsigned int sc_status;\n\tstruct list_head sc_cp_list;\n\tstateid_t sc_stateid;\n\tspinlock_t sc_lock;\n\tstruct nfs4_client *sc_client;\n\tstruct nfs4_file *sc_file;\n\tvoid (*sc_free)(struct nfs4_stid *);\n};\n\nstruct nfs4_delegation {\n\tstruct nfs4_stid dl_stid;\n\tstruct list_head dl_perfile;\n\tstruct list_head dl_perclnt;\n\tstruct list_head dl_recall_lru;\n\tstruct nfs4_clnt_odstate *dl_clnt_odstate;\n\tu32 dl_type;\n\ttime64_t dl_time;\n\tint dl_retries;\n\tstruct nfsd4_callback dl_recall;\n\tbool dl_recalled;\n\tstruct nfs4_cb_fattr dl_cb_fattr;\n};\n\nstruct nfs4_delegattr {\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tbool atime_set;\n\tbool mtime_set;\n};\n\nstruct nfs4_delegreturnargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fhandle;\n\tconst nfs4_stateid *stateid;\n\tconst u32 *bitmask;\n\tu32 bitmask_store[3];\n\tstruct nfs4_layoutreturn_args *lr_args;\n\tstruct nfs4_delegattr *sattr_args;\n};\n\nstruct nfs4_delegreturnres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_server *server;\n\tstruct nfs4_layoutreturn_res *lr_res;\n\tint lr_ret;\n\tbool sattr_res;\n\tint sattr_ret;\n};\n\nstruct nfs4_delegreturndata {\n\tstruct nfs4_delegreturnargs args;\n\tstruct nfs4_delegreturnres res;\n\tstruct nfs_fh fh;\n\tnfs4_stateid stateid;\n\tlong unsigned int timestamp;\n\tstruct {\n\t\tstruct nfs4_layoutreturn_args arg;\n\t\tstruct nfs4_layoutreturn_res res;\n\t\tstruct nfs4_xdr_opaque_data ld_private;\n\t\tu32 roc_barrier;\n\t\tbool roc;\n\t} lr;\n\tstruct nfs4_delegattr sattr;\n\tstruct nfs_fattr fattr;\n\tint rpc_status;\n\tstruct inode *inode;\n};\n\nstruct pnfs_layoutdriver_type;\n\nstruct nfs4_deviceid_node {\n\tstruct hlist_node node;\n\tstruct hlist_node tmpnode;\n\tconst struct pnfs_layoutdriver_type *ld;\n\tconst struct nfs_client *nfs_client;\n\tlong unsigned int flags;\n\tlong unsigned int timestamp_unavailable;\n\tstruct nfs4_deviceid deviceid;\n\tstruct callback_head rcu;\n\tatomic_t ref;\n};\n\nstruct nfs4_dir_ctx {\n\tstruct dir_context ctx;\n\tstruct list_head names;\n};\n\nstruct nfs4_ds_server {\n\tstruct list_head list;\n\tstruct rpc_clnt *rpc_clnt;\n};\n\nstruct nfs4_exception {\n\tstruct nfs4_state *state;\n\tstruct inode *inode;\n\tnfs4_stateid *stateid;\n\tlong int timeout;\n\tshort unsigned int retrans;\n\tunsigned char task_is_privileged: 1;\n\tunsigned char delay: 1;\n\tunsigned char recovering: 1;\n\tunsigned char retry: 1;\n\tbool interruptible;\n};\n\nstruct nfs4_ff_busy_timer {\n\tktime_t start_time;\n\tatomic_t n_ops;\n};\n\nstruct nfs4_ff_ds_version {\n\tu32 version;\n\tu32 minor_version;\n\tu32 rsize;\n\tu32 wsize;\n\tbool tightly_coupled;\n};\n\nstruct nfs4_ff_io_stat {\n\t__u64 ops_requested;\n\t__u64 bytes_requested;\n\t__u64 ops_completed;\n\t__u64 bytes_completed;\n\t__u64 bytes_not_delivered;\n\tktime_t total_busy_time;\n\tktime_t aggregate_completion_time;\n};\n\nstruct nfs4_pnfs_ds;\n\nstruct nfs4_ff_layout_ds {\n\tstruct nfs4_deviceid_node id_node;\n\tu32 ds_versions_cnt;\n\tstruct nfs4_ff_ds_version *ds_versions;\n\tstruct nfs4_pnfs_ds *ds;\n};\n\nstruct nfs4_ff_layout_ds_err {\n\tstruct list_head list;\n\tu64 offset;\n\tu64 length;\n\tint status;\n\tenum nfs_opnum4 opnum;\n\tnfs4_stateid stateid;\n\tstruct nfs4_deviceid deviceid;\n};\n\nstruct nfsd_file;\n\nstruct nfs_file_localio {\n\tstruct nfsd_file *ro_file;\n\tstruct nfsd_file *rw_file;\n\tstruct list_head list;\n\tvoid *nfs_uuid;\n};\n\nstruct nfs4_ff_layoutstat {\n\tstruct nfs4_ff_io_stat io_stat;\n\tstruct nfs4_ff_busy_timer busy_timer;\n};\n\nstruct nfs4_ff_layout_mirror {\n\tstruct pnfs_layout_hdr *layout;\n\tstruct list_head mirrors;\n\tu32 ds_count;\n\tu32 efficiency;\n\tstruct nfs4_deviceid devid;\n\tstruct nfs4_ff_layout_ds *mirror_ds;\n\tu32 fh_versions_cnt;\n\tstruct nfs_fh *fh_versions;\n\tnfs4_stateid stateid;\n\tconst struct cred *ro_cred;\n\tconst struct cred *rw_cred;\n\tstruct nfs_file_localio nfl;\n\trefcount_t ref;\n\tspinlock_t lock;\n\tlong unsigned int flags;\n\tstruct nfs4_ff_layoutstat read_stat;\n\tstruct nfs4_ff_layoutstat write_stat;\n\tktime_t start_time;\n\tu32 report_interval;\n};\n\nstruct pnfs_layout_segment {\n\tstruct list_head pls_list;\n\tstruct list_head pls_lc_list;\n\tstruct list_head pls_commits;\n\tstruct pnfs_layout_range pls_range;\n\trefcount_t pls_refcount;\n\tu32 pls_seq;\n\tlong unsigned int pls_flags;\n\tstruct pnfs_layout_hdr *pls_layout;\n};\n\nstruct nfs4_ff_layout_segment {\n\tstruct pnfs_layout_segment generic_hdr;\n\tu64 stripe_unit;\n\tu32 flags;\n\tu32 mirror_array_cnt;\n\tstruct nfs4_ff_layout_mirror *mirror_array[0];\n};\n\nstruct nfs4_file {\n\trefcount_t fi_ref;\n\tstruct inode *fi_inode;\n\tbool fi_aliased;\n\tspinlock_t fi_lock;\n\tstruct rhlist_head fi_rlist;\n\tstruct list_head fi_stateids;\n\tunion {\n\t\tstruct list_head fi_delegations;\n\t\tstruct callback_head fi_rcu;\n\t};\n\tstruct list_head fi_clnt_odstate;\n\tstruct nfsd_file *fi_fds[3];\n\tatomic_t fi_access[2];\n\tu32 fi_share_deny;\n\tstruct nfsd_file *fi_deleg_file;\n\tint fi_delegees;\n\tstruct knfsd_fh fi_fhandle;\n\tbool fi_had_conflict;\n\tstruct list_head fi_lo_states;\n\tatomic_t fi_lo_recalls;\n};\n\nstruct nfs4_file_layout_dsaddr {\n\tstruct nfs4_deviceid_node id_node;\n\tu32 stripe_count;\n\tu8 *stripe_indices;\n\tu32 ds_num;\n\tstruct nfs4_pnfs_ds *ds_list[0];\n};\n\nstruct pnfs_layout_hdr {\n\trefcount_t plh_refcount;\n\tatomic_t plh_outstanding;\n\tstruct list_head plh_layouts;\n\tstruct list_head plh_bulk_destroy;\n\tstruct list_head plh_segs;\n\tstruct list_head plh_return_segs;\n\tlong unsigned int plh_block_lgets;\n\tlong unsigned int plh_retry_timestamp;\n\tlong unsigned int plh_flags;\n\tnfs4_stateid plh_stateid;\n\tu32 plh_barrier;\n\tu32 plh_return_seq;\n\tenum pnfs_iomode plh_return_iomode;\n\tloff_t plh_lwb;\n\tconst struct cred *plh_lc_cred;\n\tstruct inode *plh_inode;\n\tstruct callback_head plh_rcu;\n};\n\nstruct pnfs_commit_ops;\n\nstruct pnfs_ds_commit_info {\n\tstruct list_head commits;\n\tunsigned int nwritten;\n\tunsigned int ncommitting;\n\tconst struct pnfs_commit_ops *ops;\n};\n\nstruct nfs4_filelayout {\n\tstruct pnfs_layout_hdr generic_hdr;\n\tstruct pnfs_ds_commit_info commit_info;\n};\n\nstruct nfs4_filelayout_segment {\n\tstruct pnfs_layout_segment generic_hdr;\n\tu32 stripe_type;\n\tu32 commit_through_mds;\n\tu32 stripe_unit;\n\tu32 first_stripe_index;\n\tu64 pattern_offset;\n\tstruct nfs4_deviceid deviceid;\n\tstruct nfs4_file_layout_dsaddr *dsaddr;\n\tunsigned int num_fh;\n\tstruct nfs_fh **fh_array;\n};\n\nstruct nfs4_flexfile_layout {\n\tstruct pnfs_layout_hdr generic_hdr;\n\tstruct pnfs_ds_commit_info commit_info;\n\tstruct list_head mirrors;\n\tstruct list_head error_list;\n\tktime_t last_report_time;\n};\n\nstruct nfs4_flexfile_layoutreturn_args {\n\tstruct list_head errors;\n\tstruct nfs42_layoutstat_devinfo devinfo[4];\n\tunsigned int num_errors;\n\tunsigned int num_dev;\n\tstruct page *pages[1];\n};\n\nstruct nfs4_string {\n\tunsigned int len;\n\tchar *data;\n};\n\nstruct nfs4_pathname {\n\tunsigned int ncomponents;\n\tstruct nfs4_string components[512];\n};\n\nstruct nfs4_fs_location {\n\tunsigned int nservers;\n\tstruct nfs4_string servers[10];\n\tstruct nfs4_pathname rootpath;\n};\n\nstruct nfs4_fs_locations {\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n\tstruct nfs4_pathname fs_path;\n\tint nlocations;\n\tstruct nfs4_fs_location locations[10];\n};\n\nstruct nfs4_fs_locations_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct nfs_fh *fh;\n\tconst struct qstr *name;\n\tstruct page *page;\n\tconst u32 *bitmask;\n\tclientid4 clientid;\n\tunsigned char migration: 1;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fs_locations_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_fs_locations *fs_locations;\n\tunsigned char migration: 1;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsid_present_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tclientid4 clientid;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsid_present_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fh *fh;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsinfo_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_fsinfo;\n\nstruct nfs4_fsinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fsinfo *fsinfo;\n};\n\nstruct nfs4_get_lease_time_args {\n\tstruct nfs4_sequence_args la_seq_args;\n};\n\nstruct nfs4_get_lease_time_res;\n\nstruct nfs4_get_lease_time_data {\n\tstruct nfs4_get_lease_time_args *args;\n\tstruct nfs4_get_lease_time_res *res;\n\tstruct nfs_client *clp;\n};\n\nstruct nfs4_get_lease_time_res {\n\tstruct nfs4_sequence_res lr_seq_res;\n\tstruct nfs_fsinfo *lr_fsinfo;\n};\n\nstruct nfs4_getattr_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_getattr_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct pnfs_device;\n\nstruct nfs4_getdeviceinfo_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct pnfs_device *pdev;\n\t__u32 notify_types;\n};\n\nstruct nfs4_getdeviceinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct pnfs_device *pdev;\n\t__u32 notification;\n};\n\nstruct nfs4_label {\n\tuint32_t lfs;\n\tuint32_t pi;\n\tu32 lsmid;\n\tu32 len;\n\tchar *label;\n};\n\nstruct nfsd4_layout_seg {\n\tu32 iomode;\n\tu64 offset;\n\tu64 length;\n};\n\nstruct nfs4_layout_stateid;\n\nstruct nfs4_layout {\n\tstruct list_head lo_perstate;\n\tstruct nfs4_layout_stateid *lo_state;\n\tstruct nfsd4_layout_seg lo_seg;\n};\n\nstruct nfs4_layout_stateid {\n\tstruct nfs4_stid ls_stid;\n\tstruct list_head ls_perclnt;\n\tstruct list_head ls_perfile;\n\tspinlock_t ls_lock;\n\tstruct list_head ls_layouts;\n\tu32 ls_layout_type;\n\tstruct nfsd_file *ls_file;\n\tstruct nfsd4_callback ls_recall;\n\tstateid_t ls_recall_sid;\n\tbool ls_recalled;\n\tstruct mutex ls_mutex;\n};\n\nstruct nfs4_layoutcommit_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n\t__u64 lastbytewritten;\n\tstruct inode *inode;\n\tconst u32 *bitmask;\n\tsize_t layoutupdate_len;\n\tstruct page *layoutupdate_page;\n\tstruct page **layoutupdate_pages;\n\t__be32 *start_p;\n};\n\nstruct rpc_wait {\n\tstruct list_head list;\n\tstruct list_head links;\n\tstruct list_head timer_list;\n};\n\nstruct rpc_call_ops;\n\nstruct rpc_xprt;\n\nstruct rpc_rqst;\n\nstruct rpc_task {\n\tatomic_t tk_count;\n\tint tk_status;\n\tstruct list_head tk_task;\n\tvoid (*tk_callback)(struct rpc_task *);\n\tvoid (*tk_action)(struct rpc_task *);\n\tlong unsigned int tk_timeout;\n\tlong unsigned int tk_runstate;\n\tstruct rpc_wait_queue *tk_waitqueue;\n\tunion {\n\t\tstruct work_struct tk_work;\n\t\tstruct rpc_wait tk_wait;\n\t} u;\n\tstruct rpc_message tk_msg;\n\tvoid *tk_calldata;\n\tconst struct rpc_call_ops *tk_ops;\n\tstruct rpc_clnt *tk_client;\n\tstruct rpc_xprt *tk_xprt;\n\tstruct rpc_cred *tk_op_cred;\n\tstruct rpc_rqst *tk_rqstp;\n\tstruct workqueue_struct *tk_workqueue;\n\tktime_t tk_start;\n\tpid_t tk_owner;\n\tint tk_rpc_status;\n\tshort unsigned int tk_flags;\n\tshort unsigned int tk_timeouts;\n\tshort unsigned int tk_pid;\n\tunsigned char tk_priority: 2;\n\tunsigned char tk_garb_retry: 2;\n\tunsigned char tk_cred_retry: 2;\n};\n\nstruct nfs4_layoutcommit_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n\tint status;\n};\n\nstruct nfs4_layoutcommit_data {\n\tstruct rpc_task task;\n\tstruct nfs_fattr fattr;\n\tstruct list_head lseg_list;\n\tconst struct cred *cred;\n\tstruct inode *inode;\n\tstruct nfs4_layoutcommit_args args;\n\tstruct nfs4_layoutcommit_res res;\n};\n\nstruct nfs4_layoutdriver_data {\n\tstruct page **pages;\n\t__u32 pglen;\n\t__u32 len;\n};\n\nstruct nfs_open_context;\n\nstruct nfs4_layoutget_args {\n\tstruct nfs4_sequence_args seq_args;\n\t__u32 type;\n\tstruct pnfs_layout_range range;\n\t__u64 minlength;\n\t__u32 maxcount;\n\tstruct inode *inode;\n\tstruct nfs_open_context *ctx;\n\tnfs4_stateid stateid;\n\tstruct nfs4_layoutdriver_data layout;\n};\n\nstruct nfs4_layoutget_res {\n\tstruct nfs4_sequence_res seq_res;\n\tint status;\n\t__u32 return_on_close;\n\tstruct pnfs_layout_range range;\n\t__u32 type;\n\tnfs4_stateid stateid;\n\tstruct nfs4_layoutdriver_data *layoutp;\n};\n\nstruct nfs4_layoutget {\n\tstruct nfs4_layoutget_args args;\n\tstruct nfs4_layoutget_res res;\n\tconst struct cred *cred;\n\tstruct pnfs_layout_hdr *lo;\n\tgfp_t gfp_flags;\n};\n\nstruct nfs4_layoutreturn {\n\tstruct nfs4_layoutreturn_args args;\n\tstruct nfs4_layoutreturn_res res;\n\tconst struct cred *cred;\n\tstruct nfs_client *clp;\n\tstruct inode *inode;\n\tint rpc_status;\n\tstruct nfs4_xdr_opaque_data ld_private;\n};\n\nstruct nfs4_link_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_link_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs4_change_info cinfo;\n\tstruct nfs_fattr *dir_attr;\n};\n\nstruct nfs_seqid_counter {\n\tktime_t create_time;\n\tu64 owner_id;\n\tint flags;\n\tu32 counter;\n\tspinlock_t lock;\n\tstruct list_head list;\n\tstruct rpc_wait_queue wait;\n};\n\nstruct nfs4_lock_state {\n\tstruct list_head ls_locks;\n\tstruct nfs4_state *ls_state;\n\tlong unsigned int ls_flags;\n\tstruct nfs_seqid_counter ls_seqid;\n\tnfs4_stateid ls_stateid;\n\trefcount_t ls_count;\n\tfl_owner_t ls_owner;\n};\n\nstruct nfs4_lock_waiter {\n\tstruct inode *inode;\n\tstruct nfs_lowner owner;\n\twait_queue_entry_t wait;\n};\n\nstruct nfs_lock_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_seqid *lock_seqid;\n\tnfs4_stateid lock_stateid;\n\tstruct nfs_seqid *open_seqid;\n\tnfs4_stateid open_stateid;\n\tstruct nfs_lowner lock_owner;\n\tunsigned char block: 1;\n\tunsigned char reclaim: 1;\n\tunsigned char new_lock: 1;\n\tunsigned char new_lock_owner: 1;\n};\n\nstruct nfs_lock_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *lock_seqid;\n\tstruct nfs_seqid *open_seqid;\n};\n\nstruct nfs4_lockdata {\n\tstruct nfs_lock_args arg;\n\tstruct nfs_lock_res res;\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_open_context *ctx;\n\tstruct file_lock fl;\n\tlong unsigned int timestamp;\n\tint rpc_status;\n\tint cancelled;\n\tstruct nfs_server *server;\n};\n\nstruct nfs4_replay {\n\t__be32 rp_status;\n\tunsigned int rp_buflen;\n\tchar *rp_buf;\n\tstruct knfsd_fh rp_openfh;\n\tint rp_locked;\n\tchar rp_ibuf[112];\n};\n\nstruct nfs4_stateowner_operations;\n\nstruct nfs4_stateowner {\n\tstruct list_head so_strhash;\n\tstruct list_head so_stateids;\n\tstruct nfs4_client *so_client;\n\tconst struct nfs4_stateowner_operations *so_ops;\n\tatomic_t so_count;\n\tu32 so_seqid;\n\tstruct xdr_netobj so_owner;\n\tstruct nfs4_replay so_replay;\n\tbool so_is_open_owner;\n};\n\nstruct nfs4_lockowner {\n\tstruct nfs4_stateowner lo_owner;\n\tstruct list_head lo_blocked;\n};\n\nstruct nfs4_lookup_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookup_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_fh *fh;\n};\n\nstruct nfs4_lookup_root_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookupp_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookupp_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_fh *fh;\n};\n\nstruct nfs4_mig_recovery_ops {\n\tint (*get_locations)(struct nfs_server *, struct nfs_fh *, struct nfs4_fs_locations *, struct page *, const struct cred *);\n\tint (*fsid_present)(struct inode *, const struct cred *);\n};\n\nstruct nfs4_state_recovery_ops;\n\nstruct nfs4_state_maintenance_ops;\n\nstruct nfs4_minor_version_ops {\n\tu32 minor_version;\n\tunsigned int init_caps;\n\tint (*init_client)(struct nfs_client *);\n\tvoid (*shutdown_client)(struct nfs_client *);\n\tbool (*match_stateid)(const nfs4_stateid *, const nfs4_stateid *);\n\tint (*find_root_sec)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tvoid (*free_lock_state)(struct nfs_server *, struct nfs4_lock_state *);\n\tint (*test_and_free_expired)(struct nfs_server *, const nfs4_stateid *, const struct cred *);\n\tstruct nfs_seqid * (*alloc_seqid)(struct nfs_seqid_counter *, gfp_t);\n\tvoid (*session_trunk)(struct rpc_clnt *, struct rpc_xprt *, void *);\n\tconst struct rpc_call_ops *call_sync_ops;\n\tconst struct nfs4_state_recovery_ops *reboot_recovery_ops;\n\tconst struct nfs4_state_recovery_ops *nograce_recovery_ops;\n\tconst struct nfs4_state_maintenance_ops *state_renewal_ops;\n\tconst struct nfs4_mig_recovery_ops *mig_recovery_ops;\n};\n\nstruct nfs_string {\n\tunsigned int len;\n\tconst char *data;\n};\n\nstruct nfs4_mount_data {\n\tint version;\n\tint flags;\n\tint rsize;\n\tint wsize;\n\tint timeo;\n\tint retrans;\n\tint acregmin;\n\tint acregmax;\n\tint acdirmin;\n\tint acdirmax;\n\tstruct nfs_string client_addr;\n\tstruct nfs_string mnt_path;\n\tstruct nfs_string hostname;\n\tunsigned int host_addrlen;\n\tstruct sockaddr *host_addr;\n\tint proto;\n\tint auth_flavourlen;\n\tint *auth_flavours;\n};\n\nstruct nfs4_ol_stateid {\n\tstruct nfs4_stid st_stid;\n\tstruct list_head st_perfile;\n\tstruct list_head st_perstateowner;\n\tstruct list_head st_locks;\n\tstruct nfs4_stateowner *st_stateowner;\n\tstruct nfs4_clnt_odstate *st_clnt_odstate;\n\tunsigned char st_access_bmap;\n\tunsigned char st_deny_bmap;\n\tstruct nfs4_ol_stateid *st_openstp;\n\tstruct mutex st_mutex;\n};\n\nstruct nfs4_open_caps {\n\tu32 oa_share_access[1];\n\tu32 oa_share_deny[1];\n\tu32 oa_share_access_want[1];\n\tu32 oa_open_claim[1];\n\tu32 oa_createmode[1];\n};\n\nstruct nfs4_open_createattrs {\n\tstruct nfs4_label *label;\n\tstruct iattr *sattr;\n\tconst __u32 verf[2];\n};\n\nstruct nfs4_open_delegation {\n\t__u32 open_delegation_type;\n\tunion {\n\t\tstruct {\n\t\t\tfmode_t type;\n\t\t\t__u32 do_recall;\n\t\t\tnfs4_stateid stateid;\n\t\t\tlong unsigned int pagemod_limit;\n\t\t};\n\t\tstruct {\n\t\t\t__u32 why_no_delegation;\n\t\t\t__u32 will_notify;\n\t\t};\n\t};\n};\n\nstruct stateowner_id {\n\t__u64 create_time;\n\t__u64 uniquifier;\n};\n\nstruct nfs_openargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tstruct nfs_seqid *seqid;\n\tint open_flags;\n\tfmode_t fmode;\n\tu32 share_access;\n\tu32 access;\n\t__u64 clientid;\n\tstruct stateowner_id id;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iattr *attrs;\n\t\t\tnfs4_verifier verifier;\n\t\t};\n\t\tnfs4_stateid delegation;\n\t\t__u32 delegation_type;\n\t} u;\n\tconst struct qstr *name;\n\tconst struct nfs_server *server;\n\tconst u32 *bitmask;\n\tconst u32 *open_bitmap;\n\tenum open_claim_type4 claim;\n\tenum createmode4 createmode;\n\tconst struct nfs4_label *label;\n\tumode_t umask;\n\tstruct nfs4_layoutget_args *lg_args;\n};\n\nstruct nfs_openres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_fh fh;\n\tstruct nfs4_change_info cinfo;\n\t__u32 rflags;\n\tstruct nfs_fattr *f_attr;\n\tstruct nfs_seqid *seqid;\n\tconst struct nfs_server *server;\n\t__u32 attrset[3];\n\tstruct nfs4_string *owner;\n\tstruct nfs4_string *group_owner;\n\tstruct nfs4_open_delegation delegation;\n\t__u32 access_request;\n\t__u32 access_supported;\n\t__u32 access_result;\n\tstruct nfs4_layoutget_res *lg_res;\n};\n\nstruct nfs_open_confirmargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tnfs4_stateid *stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs_open_confirmres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs4_state_owner;\n\nstruct nfs4_opendata {\n\tstruct kref kref;\n\tstruct nfs_openargs o_arg;\n\tstruct nfs_openres o_res;\n\tstruct nfs_open_confirmargs c_arg;\n\tstruct nfs_open_confirmres c_res;\n\tstruct nfs4_string owner_name;\n\tstruct nfs4_string group_name;\n\tstruct nfs4_label *a_label;\n\tstruct nfs_fattr f_attr;\n\tstruct dentry *dir;\n\tstruct dentry *dentry;\n\tstruct nfs4_state_owner *owner;\n\tstruct nfs4_state *state;\n\tstruct iattr attrs;\n\tstruct nfs4_layoutget *lgp;\n\tlong unsigned int timestamp;\n\tbool rpc_done;\n\tbool file_created;\n\tbool is_recover;\n\tbool cancelled;\n\tint rpc_status;\n};\n\nstruct nfs4_openowner {\n\tstruct nfs4_stateowner oo_owner;\n\tstruct list_head oo_perclient;\n\tstruct list_head oo_close_lru;\n\tstruct nfs4_ol_stateid *oo_last_closed_stid;\n\ttime64_t oo_time;\n\tunsigned char oo_flags;\n};\n\nstruct nfs4_pathconf_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_pathconf;\n\nstruct nfs4_pathconf_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_pathconf *pathconf;\n};\n\nstruct nfs4_pnfs_ds {\n\tstruct list_head ds_node;\n\tchar *ds_remotestr;\n\tstruct list_head ds_addrs;\n\tstruct nfs_client *ds_clp;\n\trefcount_t ds_count;\n\tlong unsigned int ds_state;\n};\n\nstruct nfs4_pnfs_ds_addr {\n\tstruct __kernel_sockaddr_storage da_addr;\n\tsize_t da_addrlen;\n\tstruct list_head da_node;\n\tchar *da_remotestr;\n\tconst char *da_netid;\n\tint da_transport;\n};\n\nstruct nfs4_readdir_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tu64 cookie;\n\tnfs4_verifier verifier;\n\tu32 count;\n\tstruct page **pages;\n\tunsigned int pgbase;\n\tconst u32 *bitmask;\n\tbool plus;\n};\n\nstruct nfs4_readdir_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_verifier verifier;\n\tunsigned int pgbase;\n};\n\nstruct nfs4_readlink {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tstruct page **pages;\n};\n\nstruct nfs4_readlink_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs4_reclaim_complete_data {\n\tstruct nfs_client *clp;\n\tstruct nfs41_reclaim_complete_args arg;\n\tstruct nfs41_reclaim_complete_res res;\n};\n\nstruct nfs4_renewdata {\n\tstruct nfs_client *client;\n\tlong unsigned int timestamp;\n};\n\nstruct rpcsec_gss_info {\n\tstruct rpcsec_gss_oid oid;\n\tu32 qop;\n\tu32 service;\n};\n\nstruct nfs4_secinfo4 {\n\tu32 flavor;\n\tstruct rpcsec_gss_info flavor_info;\n};\n\nstruct nfs4_secinfo_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n};\n\nstruct nfs4_secinfo_flavors {\n\tunsigned int num_flavors;\n\tstruct nfs4_secinfo4 flavors[0];\n};\n\nstruct nfs4_secinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_secinfo_flavors *flavors;\n};\n\nstruct nfs4_sequence_data {\n\tstruct nfs_client *clp;\n\tstruct nfs4_sequence_args args;\n\tstruct nfs4_sequence_res res;\n};\n\nstruct nfs4_server_caps_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fhandle;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_server_caps_res {\n\tstruct nfs4_sequence_res seq_res;\n\tu32 attr_bitmask[3];\n\tu32 exclcreat_bitmask[3];\n\tu32 acl_bitmask;\n\tu32 has_links;\n\tu32 has_symlinks;\n\tu32 fh_expire_type;\n\tu32 case_insensitive;\n\tu32 case_preserving;\n\tstruct nfs4_open_caps open_caps;\n};\n\nstruct nfs4_session;\n\nstruct nfs4_slot_table {\n\tstruct nfs4_session *session;\n\tstruct nfs4_slot *slots;\n\tlong unsigned int used_slots[16];\n\tspinlock_t slot_tbl_lock;\n\tstruct rpc_wait_queue slot_tbl_waitq;\n\twait_queue_head_t slot_waitq;\n\tu32 max_slots;\n\tu32 max_slotid;\n\tu32 highest_used_slotid;\n\tu32 target_highest_slotid;\n\tu32 server_highest_slotid;\n\ts32 d_target_highest_slotid;\n\ts32 d2_target_highest_slotid;\n\tlong unsigned int generation;\n\tstruct completion complete;\n\tlong unsigned int slot_tbl_state;\n};\n\nstruct nfs4_session {\n\tstruct nfs4_sessionid sess_id;\n\tu32 flags;\n\tlong unsigned int session_state;\n\tu32 hash_alg;\n\tu32 ssv_len;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_slot_table fc_slot_table;\n\tstruct nfs4_channel_attrs bc_attrs;\n\tstruct nfs4_slot_table bc_slot_table;\n\tstruct nfs_client *clp;\n};\n\nstruct nfs4_setclientid {\n\tconst nfs4_verifier *sc_verifier;\n\tu32 sc_prog;\n\tunsigned int sc_netid_len;\n\tchar sc_netid[6];\n\tunsigned int sc_uaddr_len;\n\tchar sc_uaddr[58];\n\tstruct nfs_client *sc_clnt;\n\tstruct rpc_cred *sc_cred;\n};\n\nstruct nfs4_setclientid_res {\n\tu64 clientid;\n\tnfs4_verifier confirm;\n};\n\nstruct nfs4_slot {\n\tstruct nfs4_slot_table *table;\n\tstruct nfs4_slot *next;\n\tlong unsigned int generation;\n\tu32 slot_nr;\n\tu32 seq_nr;\n\tu32 seq_nr_last_acked;\n\tu32 seq_nr_highest_sent;\n\tunsigned int privileged: 1;\n\tunsigned int seq_done: 1;\n};\n\nstruct nfs4_ssc_client_ops {\n\tstruct file * (*sco_open)(struct vfsmount *, struct nfs_fh *, nfs4_stateid *);\n\tvoid (*sco_close)(struct file *);\n};\n\nstruct nfs4_state {\n\tstruct list_head open_states;\n\tstruct list_head inode_states;\n\tstruct list_head lock_states;\n\tstruct nfs4_state_owner *owner;\n\tstruct inode *inode;\n\tlong unsigned int flags;\n\tspinlock_t state_lock;\n\tseqlock_t seqlock;\n\tnfs4_stateid stateid;\n\tnfs4_stateid open_stateid;\n\tunsigned int n_rdonly;\n\tunsigned int n_wronly;\n\tunsigned int n_rdwr;\n\tfmode_t state;\n\trefcount_t count;\n\twait_queue_head_t waitq;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs4_state_maintenance_ops {\n\tint (*sched_state_renewal)(struct nfs_client *, const struct cred *, unsigned int);\n\tconst struct cred * (*get_state_renewal_cred)(struct nfs_client *);\n\tint (*renew_lease)(struct nfs_client *, const struct cred *);\n};\n\nstruct nfs4_state_owner {\n\tstruct nfs_server *so_server;\n\tstruct list_head so_lru;\n\tlong unsigned int so_expires;\n\tstruct rb_node so_server_node;\n\tconst struct cred *so_cred;\n\tspinlock_t so_lock;\n\tatomic_t so_count;\n\tlong unsigned int so_flags;\n\tstruct list_head so_states;\n\tstruct nfs_seqid_counter so_seqid;\n\tstruct mutex so_delegreturn_mutex;\n};\n\nstruct nfs4_state_recovery_ops {\n\tint owner_flag_bit;\n\tint state_flag_bit;\n\tint (*recover_open)(struct nfs4_state_owner *, struct nfs4_state *);\n\tint (*recover_lock)(struct nfs4_state *, struct file_lock *);\n\tint (*establish_clid)(struct nfs_client *, const struct cred *);\n\tint (*reclaim_complete)(struct nfs_client *, const struct cred *);\n\tint (*detect_trunking)(struct nfs_client *, struct nfs_client **, const struct cred *);\n};\n\nstruct nfs4_stateowner_operations {\n\tvoid (*so_unhash)(struct nfs4_stateowner *);\n\tvoid (*so_free)(struct nfs4_stateowner *);\n};\n\nstruct nfs4_statfs_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_fsstat;\n\nstruct nfs4_statfs_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fsstat *fsstat;\n};\n\nstruct nfs4_threshold {\n\t__u32 bm;\n\t__u32 l_type;\n\t__u64 rd_sz;\n\t__u64 wr_sz;\n\t__u64 rd_io_sz;\n\t__u64 wr_io_sz;\n};\n\nstruct nfs_locku_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_seqid *seqid;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs_locku_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs_lock_context;\n\nstruct nfs4_unlockdata {\n\tstruct nfs_locku_args arg;\n\tstruct nfs_locku_res res;\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_open_context *ctx;\n\tstruct nfs_lock_context *l_ctx;\n\tstruct file_lock fl;\n\tstruct nfs_server *server;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs4_xattr_cache;\n\nstruct nfs4_xattr_bucket {\n\tspinlock_t lock;\n\tstruct hlist_head hlist;\n\tstruct nfs4_xattr_cache *cache;\n\tbool draining;\n};\n\nstruct nfs4_xattr_entry;\n\nstruct nfs4_xattr_cache {\n\tstruct kref ref;\n\tstruct nfs4_xattr_bucket buckets[64];\n\tstruct list_head lru;\n\tstruct list_head dispose;\n\tatomic_long_t nent;\n\tspinlock_t listxattr_lock;\n\tstruct inode *inode;\n\tstruct nfs4_xattr_entry *listxattr;\n};\n\nstruct nfs4_xattr_entry {\n\tstruct kref ref;\n\tstruct hlist_node hnode;\n\tstruct list_head lru;\n\tstruct list_head dispose;\n\tchar *xattr_name;\n\tvoid *xattr_value;\n\tsize_t xattr_size;\n\tstruct nfs4_xattr_bucket *bucket;\n\tuint32_t flags;\n};\n\nstruct nfs4_xdr_opaque_ops {\n\tvoid (*encode)(struct xdr_stream *, const void *, const struct nfs4_xdr_opaque_data *);\n\tvoid (*free)(struct nfs4_xdr_opaque_data *);\n};\n\nstruct nfs_access_entry {\n\tstruct rb_node rb_node;\n\tstruct list_head lru;\n\tkuid_t fsuid;\n\tkgid_t fsgid;\n\tstruct group_info *group_info;\n\tu64 timestamp;\n\t__u32 mask;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_auth_info {\n\tunsigned int flavor_len;\n\trpc_authflavor_t flavors[12];\n};\n\nstruct nfs_cache_array_entry {\n\tu64 cookie;\n\tu64 ino;\n\tconst char *name;\n\tunsigned int name_len;\n\tunsigned char d_type;\n};\n\nstruct nfs_cache_array {\n\tu64 change_attr;\n\tu64 last_cookie;\n\tunsigned int size;\n\tunsigned char folio_full: 1;\n\tunsigned char folio_is_eof: 1;\n\tunsigned char cookies_are_ordered: 1;\n\tstruct nfs_cache_array_entry array[0];\n};\n\nstruct svc_serv;\n\nstruct nfs_callback_data {\n\tunsigned int users;\n\tstruct svc_serv *serv;\n};\n\nstruct xprtsec_parms {\n\tenum xprtsec_policies policy;\n\tkey_serial_t cert_serial;\n\tkey_serial_t privkey_serial;\n};\n\nstruct nfs_rpc_ops;\n\nstruct nfs_subversion;\n\nstruct nfs_client {\n\trefcount_t cl_count;\n\tatomic_t cl_mds_count;\n\tint cl_cons_state;\n\tlong unsigned int cl_res_state;\n\tlong unsigned int cl_flags;\n\tstruct __kernel_sockaddr_storage cl_addr;\n\tsize_t cl_addrlen;\n\tchar *cl_hostname;\n\tchar *cl_acceptor;\n\tstruct list_head cl_share_link;\n\tstruct list_head cl_superblocks;\n\tstruct rpc_clnt *cl_rpcclient;\n\tconst struct nfs_rpc_ops *rpc_ops;\n\tint cl_proto;\n\tstruct nfs_subversion *cl_nfs_mod;\n\tu32 cl_minorversion;\n\tunsigned int cl_nconnect;\n\tunsigned int cl_max_connect;\n\tconst char *cl_principal;\n\tstruct xprtsec_parms cl_xprtsec;\n\tstruct list_head cl_ds_clients;\n\tu64 cl_clientid;\n\tnfs4_verifier cl_confirm;\n\tlong unsigned int cl_state;\n\tspinlock_t cl_lock;\n\tlong unsigned int cl_lease_time;\n\tlong unsigned int cl_last_renewal;\n\tstruct delayed_work cl_renewd;\n\tstruct rpc_wait_queue cl_rpcwaitq;\n\tstruct idmap *cl_idmap;\n\tconst char *cl_owner_id;\n\tu32 cl_cb_ident;\n\tconst struct nfs4_minor_version_ops *cl_mvops;\n\tlong unsigned int cl_mig_gen;\n\tstruct nfs4_slot_table *cl_slot_tbl;\n\tu32 cl_seqid;\n\tu32 cl_exchange_flags;\n\tstruct nfs4_session *cl_session;\n\tbool cl_preserve_clid;\n\tstruct nfs41_server_owner *cl_serverowner;\n\tstruct nfs41_server_scope *cl_serverscope;\n\tstruct nfs41_impl_id *cl_implid;\n\tlong unsigned int cl_sp4_flags;\n\twait_queue_head_t cl_lock_waitq;\n\tchar cl_ipaddr[48];\n\tstruct net *cl_net;\n\tstruct list_head pending_cb_stateids;\n\tstruct callback_head rcu;\n};\n\nstruct rpc_timeout;\n\nstruct nfs_client_initdata {\n\tlong unsigned int init_flags;\n\tconst char *hostname;\n\tconst struct __kernel_sockaddr_storage *addr;\n\tconst char *nodename;\n\tconst char *ip_addr;\n\tsize_t addrlen;\n\tstruct nfs_subversion *nfs_mod;\n\tint proto;\n\tu32 minorversion;\n\tunsigned int nconnect;\n\tunsigned int max_connect;\n\tstruct net *net;\n\tconst struct rpc_timeout *timeparms;\n\tconst struct cred *cred;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct nfs_clone_mount {\n\tstruct super_block *sb;\n\tstruct dentry *dentry;\n\tstruct nfs_fattr *fattr;\n\tunsigned int inherited_bsize;\n};\n\nstruct nfs_commit_data;\n\nstruct nfs_commit_info;\n\nstruct nfs_page;\n\nstruct nfs_commit_completion_ops {\n\tvoid (*completion)(struct nfs_commit_data *);\n\tvoid (*resched_write)(struct nfs_commit_info *, struct nfs_page *);\n};\n\nstruct nfs_commitargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\t__u64 offset;\n\t__u32 count;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_direct_req;\n\nstruct nfs_commit_data {\n\tstruct rpc_task task;\n\tstruct inode *inode;\n\tconst struct cred *cred;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_writeverf verf;\n\tstruct list_head pages;\n\tstruct list_head list;\n\tstruct nfs_direct_req *dreq;\n\tstruct nfs_commitargs args;\n\tstruct nfs_commitres res;\n\tstruct nfs_open_context *context;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct nfs_client *ds_clp;\n\tint ds_commit_index;\n\tloff_t lwb;\n\tconst struct rpc_call_ops *mds_ops;\n\tconst struct nfs_commit_completion_ops *completion_ops;\n\tint (*commit_done_cb)(struct rpc_task *, struct nfs_commit_data *);\n\tlong unsigned int flags;\n};\n\nstruct nfs_mds_commit_info;\n\nstruct nfs_commit_info {\n\tstruct inode *inode;\n\tstruct nfs_mds_commit_info *mds;\n\tstruct pnfs_ds_commit_info *ds;\n\tstruct nfs_direct_req *dreq;\n\tconst struct nfs_commit_completion_ops *completion_ops;\n};\n\nstruct nfs_delegation {\n\tstruct list_head super_list;\n\tconst struct cred *cred;\n\tstruct inode *inode;\n\tnfs4_stateid stateid;\n\tfmode_t type;\n\tlong unsigned int pagemod_limit;\n\t__u64 change_attr;\n\tlong unsigned int test_gen;\n\tlong unsigned int flags;\n\trefcount_t refcount;\n\tspinlock_t lock;\n\tstruct callback_head rcu;\n};\n\nstruct nfs_mds_commit_info {\n\tatomic_t rpcs_out;\n\tatomic_long_t ncommit;\n\tstruct list_head list;\n};\n\nstruct nfs_direct_req {\n\tstruct kref kref;\n\tstruct nfs_open_context *ctx;\n\tstruct nfs_lock_context *l_ctx;\n\tstruct kiocb *iocb;\n\tstruct inode *inode;\n\tatomic_t io_count;\n\tspinlock_t lock;\n\tloff_t io_start;\n\tssize_t count;\n\tssize_t max_count;\n\tssize_t error;\n\tstruct completion completion;\n\tstruct nfs_mds_commit_info mds_cinfo;\n\tstruct pnfs_ds_commit_info ds_cinfo;\n\tstruct work_struct work;\n\tint flags;\n};\n\nstruct nfs_entry {\n\t__u64 ino;\n\t__u64 cookie;\n\tconst char *name;\n\tunsigned int len;\n\tint eof;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n\tunsigned char d_type;\n\tstruct nfs_server *server;\n};\n\nstruct nfs_find_desc {\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs_free_stateid_data {\n\tstruct nfs_server *server;\n\tstruct nfs41_free_stateid_args args;\n\tstruct nfs41_free_stateid_res res;\n};\n\nstruct nfs_fs_context {\n\tbool internal;\n\tbool skip_reconfig_option_check;\n\tbool need_mount;\n\tbool sloppy;\n\tunsigned int flags;\n\tunsigned int rsize;\n\tunsigned int wsize;\n\tunsigned int timeo;\n\tunsigned int retrans;\n\tunsigned int acregmin;\n\tunsigned int acregmax;\n\tunsigned int acdirmin;\n\tunsigned int acdirmax;\n\tunsigned int namlen;\n\tunsigned int options;\n\tunsigned int bsize;\n\tstruct nfs_auth_info auth_info;\n\trpc_authflavor_t selected_flavor;\n\tstruct xprtsec_parms xprtsec;\n\tchar *client_address;\n\tunsigned int version;\n\tunsigned int minorversion;\n\tchar *fscache_uniq;\n\tshort unsigned int protofamily;\n\tshort unsigned int mountfamily;\n\tbool has_sec_mnt_opts;\n\tint lock_status;\n\tstruct {\n\t\tunion {\n\t\t\tstruct sockaddr address;\n\t\t\tstruct __kernel_sockaddr_storage _address;\n\t\t};\n\t\tsize_t addrlen;\n\t\tchar *hostname;\n\t\tu32 version;\n\t\tint port;\n\t\tshort unsigned int protocol;\n\t} mount_server;\n\tstruct {\n\t\tunion {\n\t\t\tstruct sockaddr address;\n\t\t\tstruct __kernel_sockaddr_storage _address;\n\t\t};\n\t\tsize_t addrlen;\n\t\tchar *hostname;\n\t\tchar *export_path;\n\t\tint port;\n\t\tshort unsigned int protocol;\n\t\tshort unsigned int nconnect;\n\t\tshort unsigned int max_connect;\n\t\tshort unsigned int export_path_len;\n\t} nfs_server;\n\tstruct nfs_fh *mntfh;\n\tstruct nfs_server *server;\n\tstruct nfs_subversion *nfs_mod;\n\tstruct nfs_clone_mount clone_data;\n};\n\nstruct nfs_fsinfo {\n\tstruct nfs_fattr *fattr;\n\t__u32 rtmax;\n\t__u32 rtpref;\n\t__u32 rtmult;\n\t__u32 wtmax;\n\t__u32 wtpref;\n\t__u32 wtmult;\n\t__u32 dtpref;\n\t__u64 maxfilesize;\n\tstruct timespec64 time_delta;\n\t__u32 lease_time;\n\t__u32 nlayouttypes;\n\t__u32 layouttype[8];\n\t__u32 blksize;\n\t__u32 clone_blksize;\n\tenum nfs4_change_attr_type change_attr_type;\n\t__u32 xattr_support;\n};\n\nstruct nfs_fsstat {\n\tstruct nfs_fattr *fattr;\n\t__u64 tbytes;\n\t__u64 fbytes;\n\t__u64 abytes;\n\t__u64 tfiles;\n\t__u64 ffiles;\n\t__u64 afiles;\n};\n\nstruct nfs_getaclargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tstruct page **acl_pages;\n};\n\nstruct nfs_getaclres {\n\tstruct nfs4_sequence_res seq_res;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tsize_t acl_data_offset;\n\tint acl_flags;\n\tstruct page *acl_scratch;\n};\n\nstruct nfs_inode {\n\t__u64 fileid;\n\tstruct nfs_fh fh;\n\tlong unsigned int flags;\n\tlong unsigned int cache_validity;\n\tlong unsigned int read_cache_jiffies;\n\tlong unsigned int attrtimeo;\n\tlong unsigned int attrtimeo_timestamp;\n\tlong unsigned int attr_gencount;\n\tstruct rb_root access_cache;\n\tstruct list_head access_cache_entry_lru;\n\tstruct list_head access_cache_inode_lru;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int cache_change_attribute;\n\t\t\t__be32 cookieverf[2];\n\t\t\tstruct rw_semaphore rmdir_sem;\n\t\t};\n\t\tstruct {\n\t\t\tatomic_long_t nrequests;\n\t\t\tatomic_long_t redirtied_pages;\n\t\t\tstruct nfs_mds_commit_info commit_info;\n\t\t\tstruct mutex commit_mutex;\n\t\t};\n\t};\n\tstruct list_head open_files;\n\tstruct {\n\t\tint cnt;\n\t\tstruct {\n\t\t\tu64 start;\n\t\t\tu64 end;\n\t\t} gap[16];\n\t} *ooo;\n\tstruct nfs4_cached_acl *nfs4_acl;\n\tstruct list_head open_states;\n\tstruct nfs_delegation *delegation;\n\tstruct rw_semaphore rwsem;\n\tstruct pnfs_layout_hdr *layout;\n\t__u64 write_io;\n\t__u64 read_io;\n\tstruct nfs4_xattr_cache *xattr_cache;\n\tunion {\n\t\tstruct inode vfs_inode;\n\t};\n};\n\nstruct nfs_io_completion {\n\tvoid (*complete)(void *);\n\tvoid *data;\n\tstruct kref refcount;\n};\n\nstruct nfs_iostats {\n\tlong long unsigned int bytes[8];\n\tlong unsigned int events[27];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nfs_lock_context {\n\trefcount_t count;\n\tstruct list_head list;\n\tstruct nfs_open_context *open_context;\n\tfl_owner_t lockowner;\n\tatomic_t io_count;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_lockt_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_lowner lock_owner;\n};\n\nstruct nfs_lockt_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct file_lock *denied;\n};\n\nstruct nfs_mount_data {\n\tint version;\n\tint fd;\n\tstruct nfs2_fh old_root;\n\tint flags;\n\tint rsize;\n\tint wsize;\n\tint timeo;\n\tint retrans;\n\tint acregmin;\n\tint acregmax;\n\tint acdirmin;\n\tint acdirmax;\n\tstruct sockaddr_in addr;\n\tchar hostname[256];\n\tint namlen;\n\tunsigned int bsize;\n\tstruct nfs3_fh root;\n\tint pseudoflavor;\n\tchar context[257];\n};\n\nstruct nfs_mount_request {\n\tstruct __kernel_sockaddr_storage *sap;\n\tsize_t salen;\n\tchar *hostname;\n\tchar *dirpath;\n\tu32 version;\n\tshort unsigned int protocol;\n\tstruct nfs_fh *fh;\n\tint noresvport;\n\tunsigned int *auth_flav_len;\n\trpc_authflavor_t *auth_flavs;\n\tstruct net *net;\n};\n\nstruct rpc_program;\n\nstruct rpc_stat {\n\tconst struct rpc_program *program;\n\tunsigned int netcnt;\n\tunsigned int netudpcnt;\n\tunsigned int nettcpcnt;\n\tunsigned int nettcpconn;\n\tunsigned int netreconn;\n\tunsigned int rpccnt;\n\tunsigned int rpcretrans;\n\tunsigned int rpcauthrefresh;\n\tunsigned int rpcgarbage;\n};\n\nstruct nfs_netns_client;\n\nstruct nfs_net {\n\tstruct cache_detail *nfs_dns_resolve;\n\tstruct rpc_pipe *bl_device_pipe;\n\tstruct bl_dev_msg bl_mount_reply;\n\twait_queue_head_t bl_wq;\n\tstruct mutex bl_mutex;\n\tstruct list_head nfs_client_list;\n\tstruct list_head nfs_volume_list;\n\tstruct idr cb_ident_idr;\n\tshort unsigned int nfs_callback_tcpport;\n\tshort unsigned int nfs_callback_tcpport6;\n\tint cb_users[3];\n\tstruct nfs_netns_client *nfs_client;\n\tspinlock_t nfs_client_lock;\n\tktime_t boot_time;\n\tstruct rpc_stat rpcstats;\n\tstruct proc_dir_entry *proc_nfsfs;\n};\n\nstruct nfs_netns_client {\n\tstruct kobject kobject;\n\tstruct kobject nfs_net_kobj;\n\tstruct net *net;\n\tconst char *identifier;\n};\n\nstruct nfs_open_context {\n\tstruct nfs_lock_context lock_context;\n\tfl_owner_t flock_owner;\n\tstruct dentry *dentry;\n\tconst struct cred *cred;\n\tstruct rpc_cred *ll_cred;\n\tstruct nfs4_state *state;\n\tfmode_t mode;\n\tint error;\n\tlong unsigned int flags;\n\tstruct nfs4_threshold *mdsthreshold;\n\tstruct list_head list;\n\tstruct callback_head callback_head;\n\tstruct nfs_file_localio nfl;\n};\n\nstruct nfs_open_dir_context {\n\tstruct list_head list;\n\tatomic_t cache_hits;\n\tatomic_t cache_misses;\n\tlong unsigned int attr_gencount;\n\t__be32 verf[2];\n\t__u64 dir_cookie;\n\t__u64 last_cookie;\n\tlong unsigned int page_index;\n\tunsigned int dtsize;\n\tbool force_clear;\n\tbool eof;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_page {\n\tstruct list_head wb_list;\n\tunion {\n\t\tstruct page *wb_page;\n\t\tstruct folio *wb_folio;\n\t};\n\tstruct nfs_lock_context *wb_lock_context;\n\tlong unsigned int wb_index;\n\tunsigned int wb_offset;\n\tunsigned int wb_pgbase;\n\tunsigned int wb_bytes;\n\tstruct kref wb_kref;\n\tlong unsigned int wb_flags;\n\tstruct nfs_write_verifier wb_verf;\n\tstruct nfs_page *wb_this_page;\n\tstruct nfs_page *wb_head;\n\tshort unsigned int wb_nio;\n};\n\nstruct nfs_page_array {\n\tstruct page **pagevec;\n\tunsigned int npages;\n\tstruct page *page_array[8];\n};\n\nstruct nfs_page_iter_page {\n\tconst struct nfs_page *req;\n\tsize_t count;\n};\n\nstruct nfs_pgio_mirror {\n\tstruct list_head pg_list;\n\tlong unsigned int pg_bytes_written;\n\tsize_t pg_count;\n\tsize_t pg_bsize;\n\tunsigned int pg_base;\n\tunsigned char pg_recoalesce: 1;\n};\n\nstruct nfs_pageio_ops;\n\nstruct nfs_rw_ops;\n\nstruct nfs_pgio_completion_ops;\n\nstruct nfs_pageio_descriptor {\n\tstruct inode *pg_inode;\n\tconst struct nfs_pageio_ops *pg_ops;\n\tconst struct nfs_rw_ops *pg_rw_ops;\n\tint pg_ioflags;\n\tint pg_error;\n\tconst struct rpc_call_ops *pg_rpc_callops;\n\tconst struct nfs_pgio_completion_ops *pg_completion_ops;\n\tstruct pnfs_layout_segment *pg_lseg;\n\tstruct nfs_io_completion *pg_io_completion;\n\tstruct nfs_direct_req *pg_dreq;\n\tunsigned int pg_bsize;\n\tu32 pg_mirror_count;\n\tstruct nfs_pgio_mirror *pg_mirrors;\n\tstruct nfs_pgio_mirror pg_mirrors_static[1];\n\tstruct nfs_pgio_mirror *pg_mirrors_dynamic;\n\tu32 pg_mirror_idx;\n\tshort unsigned int pg_maxretrans;\n\tunsigned char pg_moreio: 1;\n};\n\nstruct nfs_pageio_ops {\n\tvoid (*pg_init)(struct nfs_pageio_descriptor *, struct nfs_page *);\n\tsize_t (*pg_test)(struct nfs_pageio_descriptor *, struct nfs_page *, struct nfs_page *);\n\tint (*pg_doio)(struct nfs_pageio_descriptor *);\n\tunsigned int (*pg_get_mirror_count)(struct nfs_pageio_descriptor *, struct nfs_page *);\n\tvoid (*pg_cleanup)(struct nfs_pageio_descriptor *);\n\tstruct nfs_pgio_mirror * (*pg_get_mirror)(struct nfs_pageio_descriptor *, u32);\n\tu32 (*pg_set_mirror)(struct nfs_pageio_descriptor *, u32);\n};\n\nstruct nfs_pathconf {\n\tstruct nfs_fattr *fattr;\n\t__u32 max_link;\n\t__u32 max_namelen;\n};\n\nstruct nfs_pgio_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct nfs_open_context *context;\n\tstruct nfs_lock_context *lock_context;\n\tnfs4_stateid stateid;\n\t__u64 offset;\n\t__u32 count;\n\tunsigned int pgbase;\n\tstruct page **pages;\n\tunion {\n\t\tunsigned int replen;\n\t\tstruct {\n\t\t\tconst u32 *bitmask;\n\t\t\tu32 bitmask_store[3];\n\t\t\tenum nfs3_stable_how stable;\n\t\t};\n\t};\n};\n\nstruct nfs_pgio_header;\n\nstruct nfs_pgio_completion_ops {\n\tvoid (*error_cleanup)(struct list_head *, int);\n\tvoid (*init_hdr)(struct nfs_pgio_header *);\n\tvoid (*completion)(struct nfs_pgio_header *);\n\tvoid (*reschedule_io)(struct nfs_pgio_header *);\n};\n\nstruct nfs_pgio_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\t__u64 count;\n\t__u32 op_status;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int replen;\n\t\t\tint eof;\n\t\t\tvoid *scratch;\n\t\t};\n\t\tstruct {\n\t\t\tstruct nfs_writeverf *verf;\n\t\t\tconst struct nfs_server *server;\n\t\t};\n\t};\n};\n\nstruct nfs_pgio_header {\n\tstruct inode *inode;\n\tconst struct cred *cred;\n\tstruct list_head pages;\n\tstruct nfs_page *req;\n\tstruct nfs_writeverf verf;\n\tfmode_t rw_mode;\n\tstruct pnfs_layout_segment *lseg;\n\tloff_t io_start;\n\tconst struct rpc_call_ops *mds_ops;\n\tvoid (*release)(struct nfs_pgio_header *);\n\tconst struct nfs_pgio_completion_ops *completion_ops;\n\tconst struct nfs_rw_ops *rw_ops;\n\tstruct nfs_io_completion *io_completion;\n\tstruct nfs_direct_req *dreq;\n\tint pnfs_error;\n\tint error;\n\tunsigned int good_bytes;\n\tlong unsigned int flags;\n\tstruct rpc_task task;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_pgio_args args;\n\tstruct nfs_pgio_res res;\n\tlong unsigned int timestamp;\n\tint (*pgio_done_cb)(struct rpc_task *, struct nfs_pgio_header *);\n\t__u64 mds_offset;\n\tstruct nfs_page_array page_array;\n\tstruct nfs_client *ds_clp;\n\tu32 ds_commit_idx;\n\tu32 pgio_mirror_idx;\n};\n\nstruct nfs_readdir_arg {\n\tstruct dentry *dentry;\n\tconst struct cred *cred;\n\t__be32 *verf;\n\tu64 cookie;\n\tstruct page **pages;\n\tunsigned int page_len;\n\tbool plus;\n};\n\nstruct nfs_readdir_descriptor {\n\tstruct file *file;\n\tstruct folio *folio;\n\tstruct dir_context *ctx;\n\tlong unsigned int folio_index;\n\tlong unsigned int folio_index_max;\n\tu64 dir_cookie;\n\tu64 last_cookie;\n\tloff_t current_index;\n\t__be32 verf[2];\n\tlong unsigned int dir_verifier;\n\tlong unsigned int timestamp;\n\tlong unsigned int gencount;\n\tlong unsigned int attr_gencount;\n\tunsigned int cache_entry_index;\n\tunsigned int buffer_fills;\n\tunsigned int dtsize;\n\tbool clear_cache;\n\tbool plus;\n\tbool eob;\n\tbool eof;\n};\n\nstruct nfs_readdir_res {\n\t__be32 *verf;\n};\n\nstruct nfs_referral_count {\n\tstruct list_head list;\n\tconst struct task_struct *task;\n\tunsigned int referral_count;\n};\n\nstruct nfs_release_lockowner_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_lowner lock_owner;\n};\n\nstruct nfs_release_lockowner_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs_release_lockowner_data {\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_server *server;\n\tstruct nfs_release_lockowner_args args;\n\tstruct nfs_release_lockowner_res res;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs_removeargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tstruct qstr name;\n};\n\nstruct nfs_removeres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_server *server;\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs4_change_info cinfo;\n};\n\nstruct nfs_renameargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *old_dir;\n\tconst struct nfs_fh *new_dir;\n\tconst struct qstr *old_name;\n\tconst struct qstr *new_name;\n};\n\nstruct nfs_renameres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_server *server;\n\tstruct nfs4_change_info old_cinfo;\n\tstruct nfs_fattr *old_fattr;\n\tstruct nfs4_change_info new_cinfo;\n\tstruct nfs_fattr *new_fattr;\n};\n\nstruct nfs_renamedata {\n\tstruct nfs_renameargs args;\n\tstruct nfs_renameres res;\n\tstruct rpc_task task;\n\tconst struct cred *cred;\n\tstruct inode *old_dir;\n\tstruct dentry *old_dentry;\n\tstruct nfs_fattr old_fattr;\n\tstruct inode *new_dir;\n\tstruct dentry *new_dentry;\n\tstruct nfs_fattr new_fattr;\n\tvoid (*complete)(struct rpc_task *, struct nfs_renamedata *);\n\tlong int timeout;\n\tbool cancelled;\n};\n\nstruct nlmclnt_operations;\n\nstruct nfs_unlinkdata;\n\nstruct nfs_rpc_ops {\n\tu32 version;\n\tconst struct dentry_operations *dentry_ops;\n\tconst struct inode_operations *dir_inode_ops;\n\tconst struct inode_operations *file_inode_ops;\n\tconst struct file_operations *file_ops;\n\tconst struct nlmclnt_operations *nlmclnt_ops;\n\tint (*getroot)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tint (*submount)(struct fs_context *, struct nfs_server *);\n\tint (*try_get_tree)(struct fs_context *);\n\tint (*getattr)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, struct inode *);\n\tint (*setattr)(struct dentry *, struct nfs_fattr *, struct iattr *);\n\tint (*lookup)(struct inode *, struct dentry *, const struct qstr *, struct nfs_fh *, struct nfs_fattr *);\n\tint (*lookupp)(struct inode *, struct nfs_fh *, struct nfs_fattr *);\n\tint (*access)(struct inode *, struct nfs_access_entry *, const struct cred *);\n\tint (*readlink)(struct inode *, struct page *, unsigned int, unsigned int);\n\tint (*create)(struct inode *, struct dentry *, struct iattr *, int);\n\tint (*remove)(struct inode *, struct dentry *);\n\tvoid (*unlink_setup)(struct rpc_message *, struct dentry *, struct inode *);\n\tvoid (*unlink_rpc_prepare)(struct rpc_task *, struct nfs_unlinkdata *);\n\tint (*unlink_done)(struct rpc_task *, struct inode *);\n\tvoid (*rename_setup)(struct rpc_message *, struct dentry *, struct dentry *);\n\tvoid (*rename_rpc_prepare)(struct rpc_task *, struct nfs_renamedata *);\n\tint (*rename_done)(struct rpc_task *, struct inode *, struct inode *);\n\tint (*link)(struct inode *, struct inode *, const struct qstr *);\n\tint (*symlink)(struct inode *, struct dentry *, struct folio *, unsigned int, struct iattr *);\n\tint (*mkdir)(struct inode *, struct dentry *, struct iattr *);\n\tint (*rmdir)(struct inode *, const struct qstr *);\n\tint (*readdir)(struct nfs_readdir_arg *, struct nfs_readdir_res *);\n\tint (*mknod)(struct inode *, struct dentry *, struct iattr *, dev_t);\n\tint (*statfs)(struct nfs_server *, struct nfs_fh *, struct nfs_fsstat *);\n\tint (*fsinfo)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tint (*pathconf)(struct nfs_server *, struct nfs_fh *, struct nfs_pathconf *);\n\tint (*set_capabilities)(struct nfs_server *, struct nfs_fh *);\n\tint (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, bool);\n\tint (*pgio_rpc_prepare)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*read_setup)(struct nfs_pgio_header *, struct rpc_message *);\n\tint (*read_done)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*write_setup)(struct nfs_pgio_header *, struct rpc_message *, struct rpc_clnt **);\n\tint (*write_done)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*commit_setup)(struct nfs_commit_data *, struct rpc_message *, struct rpc_clnt **);\n\tvoid (*commit_rpc_prepare)(struct rpc_task *, struct nfs_commit_data *);\n\tint (*commit_done)(struct rpc_task *, struct nfs_commit_data *);\n\tint (*lock)(struct file *, int, struct file_lock *);\n\tint (*lock_check_bounds)(const struct file_lock *);\n\tvoid (*clear_acl_cache)(struct inode *);\n\tvoid (*close_context)(struct nfs_open_context *, int);\n\tstruct inode * (*open_context)(struct inode *, struct nfs_open_context *, int, struct iattr *, int *);\n\tint (*have_delegation)(struct inode *, fmode_t, int);\n\tint (*return_delegation)(struct inode *);\n\tstruct nfs_client * (*alloc_client)(const struct nfs_client_initdata *);\n\tstruct nfs_client * (*init_client)(struct nfs_client *, const struct nfs_client_initdata *);\n\tvoid (*free_client)(struct nfs_client *);\n\tstruct nfs_server * (*create_server)(struct fs_context *);\n\tstruct nfs_server * (*clone_server)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, rpc_authflavor_t);\n\tint (*discover_trunking)(struct nfs_server *, struct nfs_fh *);\n\tvoid (*enable_swap)(struct inode *);\n\tvoid (*disable_swap)(struct inode *);\n};\n\nstruct rpc_task_setup;\n\nstruct nfs_rw_ops {\n\tstruct nfs_pgio_header * (*rw_alloc_header)(void);\n\tvoid (*rw_free_header)(struct nfs_pgio_header *);\n\tint (*rw_done)(struct rpc_task *, struct nfs_pgio_header *, struct inode *);\n\tvoid (*rw_result)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*rw_initiate)(struct nfs_pgio_header *, struct rpc_message *, const struct nfs_rpc_ops *, struct rpc_task_setup *, int);\n};\n\nstruct nfs_seqid {\n\tstruct nfs_seqid_counter *sequence;\n\tstruct list_head list;\n\tstruct rpc_task *task;\n};\n\nstruct nlm_host;\n\nstruct nfs_server {\n\tstruct nfs_client *nfs_client;\n\tstruct list_head client_link;\n\tstruct list_head master_link;\n\tstruct rpc_clnt *client;\n\tstruct rpc_clnt *client_acl;\n\tstruct nlm_host *nlm_host;\n\tstruct nfs_iostats *io_stats;\n\twait_queue_head_t write_congestion_wait;\n\tatomic_long_t writeback;\n\tunsigned int write_congested;\n\tunsigned int flags;\n\tunsigned int fattr_valid;\n\tunsigned int caps;\n\tunsigned int rsize;\n\tunsigned int rpages;\n\tunsigned int wsize;\n\tunsigned int wpages;\n\tunsigned int wtmult;\n\tunsigned int dtsize;\n\tshort unsigned int port;\n\tunsigned int bsize;\n\tunsigned int gxasize;\n\tunsigned int sxasize;\n\tunsigned int lxasize;\n\tunsigned int acregmin;\n\tunsigned int acregmax;\n\tunsigned int acdirmin;\n\tunsigned int acdirmax;\n\tunsigned int namelen;\n\tunsigned int options;\n\tunsigned int clone_blksize;\n\tenum nfs4_change_attr_type change_attr_type;\n\tstruct nfs_fsid fsid;\n\tint s_sysfs_id;\n\t__u64 maxfilesize;\n\tstruct timespec64 time_delta;\n\tlong unsigned int mount_time;\n\tstruct super_block *super;\n\tdev_t s_dev;\n\tstruct nfs_auth_info auth_info;\n\tu32 pnfs_blksize;\n\tu32 attr_bitmask[3];\n\tu32 attr_bitmask_nl[3];\n\tu32 exclcreat_bitmask[3];\n\tu32 cache_consistency_bitmask[3];\n\tu32 acl_bitmask;\n\tu32 fh_expire_type;\n\tstruct pnfs_layoutdriver_type *pnfs_curr_ld;\n\tstruct rpc_wait_queue roc_rpcwaitq;\n\tvoid *pnfs_ld_data;\n\tstruct rb_root state_owners;\n\tatomic64_t owner_ctr;\n\tstruct list_head state_owners_lru;\n\tstruct list_head layouts;\n\tstruct list_head delegations;\n\tstruct list_head ss_copies;\n\tstruct list_head ss_src_copies;\n\tlong unsigned int delegation_gen;\n\tlong unsigned int mig_gen;\n\tlong unsigned int mig_status;\n\tvoid (*destroy)(struct nfs_server *);\n\tatomic_t active;\n\tstruct __kernel_sockaddr_storage mountd_address;\n\tsize_t mountd_addrlen;\n\tu32 mountd_version;\n\tshort unsigned int mountd_port;\n\tshort unsigned int mountd_protocol;\n\tstruct rpc_wait_queue uoc_rpcwaitq;\n\tunsigned int read_hdrsize;\n\tconst struct cred *cred;\n\tbool has_sec_mnt_opts;\n\tstruct kobject kobj;\n\tstruct callback_head rcu;\n};\n\nstruct nfs_setaclargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tstruct page **acl_pages;\n};\n\nstruct nfs_setaclres {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs_setattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tnfs4_stateid stateid;\n\tstruct iattr *iap;\n\tconst struct nfs_server *server;\n\tconst u32 *bitmask;\n\tconst struct nfs4_label *label;\n};\n\nstruct nfs_setattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs_ssc_client_ops {\n\tvoid (*sco_sb_deactive)(struct super_block *);\n};\n\nstruct nfs_ssc_client_ops_tbl {\n\tconst struct nfs4_ssc_client_ops *ssc_nfs4_ops;\n\tconst struct nfs_ssc_client_ops *ssc_nfs_ops;\n};\n\nstruct rpc_version;\n\nstruct super_operations;\n\nstruct xattr_handler;\n\nstruct nfs_subversion {\n\tstruct module *owner;\n\tstruct file_system_type *nfs_fs;\n\tconst struct rpc_version *rpc_vers;\n\tconst struct nfs_rpc_ops *rpc_ops;\n\tconst struct super_operations *sops;\n\tconst struct xattr_handler * const *xattr;\n};\n\nstruct nfs_unlinkdata {\n\tstruct nfs_removeargs args;\n\tstruct nfs_removeres res;\n\tstruct dentry *dentry;\n\twait_queue_head_t wq;\n\tconst struct cred *cred;\n\tstruct nfs_fattr dir_attr;\n\tlong int timeout;\n};\n\nstruct xdr_array2_desc;\n\ntypedef int (*xdr_xcode_elem_t)(struct xdr_array2_desc *, void *);\n\nstruct xdr_array2_desc {\n\tunsigned int elem_size;\n\tunsigned int array_len;\n\tunsigned int array_maxlen;\n\txdr_xcode_elem_t xcode;\n};\n\nstruct nfsacl_decode_desc {\n\tstruct xdr_array2_desc desc;\n\tunsigned int count;\n\tstruct posix_acl *acl;\n};\n\nstruct nfsacl_encode_desc {\n\tstruct xdr_array2_desc desc;\n\tunsigned int count;\n\tstruct posix_acl *acl;\n\tint typeflag;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\nstruct posix_acl_entry {\n\tshort int e_tag;\n\tshort unsigned int e_perm;\n\tunion {\n\t\tkuid_t e_uid;\n\t\tkgid_t e_gid;\n\t};\n};\n\nstruct posix_acl {\n\trefcount_t a_refcount;\n\tunsigned int a_count;\n\tstruct callback_head a_rcu;\n\tstruct posix_acl_entry a_entries[0];\n};\n\nstruct nfsacl_simple_acl {\n\tstruct posix_acl acl;\n\tstruct posix_acl_entry ace[4];\n};\n\nstruct svc_export;\n\nstruct svc_fh {\n\tstruct knfsd_fh fh_handle;\n\tint fh_maxsize;\n\tstruct dentry *fh_dentry;\n\tstruct svc_export *fh_export;\n\tbool fh_want_write;\n\tbool fh_no_wcc;\n\tbool fh_no_atomic_attr;\n\tbool fh_use_wgather;\n\tbool fh_64bit_cookies;\n\tint fh_flags;\n\tbool fh_post_saved;\n\tbool fh_pre_saved;\n\t__u64 fh_pre_size;\n\tstruct timespec64 fh_pre_mtime;\n\tstruct timespec64 fh_pre_ctime;\n\tu64 fh_pre_change;\n\tstruct kstat fh_post_attr;\n\tu64 fh_post_change;\n};\n\nstruct nfsd3_accessargs {\n\tstruct svc_fh fh;\n\t__u32 access;\n};\n\nstruct nfsd3_accessres {\n\t__be32 status;\n\tstruct svc_fh fh;\n\t__u32 access;\n\tstruct kstat stat;\n};\n\nstruct nfsd3_attrstat {\n\t__be32 status;\n\tstruct svc_fh fh;\n\tstruct kstat stat;\n};\n\nstruct nfsd3_commitargs {\n\tstruct svc_fh fh;\n\t__u64 offset;\n\t__u32 count;\n};\n\nstruct nfsd3_commitres {\n\t__be32 status;\n\tstruct svc_fh fh;\n\t__be32 verf[2];\n};\n\nstruct nfsd3_createargs {\n\tstruct svc_fh fh;\n\tchar *name;\n\tunsigned int len;\n\tint createmode;\n\tstruct iattr attrs;\n\t__be32 *verf;\n};\n\nstruct nfsd3_diropargs {\n\tstruct svc_fh fh;\n\tchar *name;\n\tunsigned int len;\n};\n\nstruct nfsd3_diropres {\n\t__be32 status;\n\tstruct svc_fh dirfh;\n\tstruct svc_fh fh;\n};\n\nstruct nfsd3_fhandle_pair {\n\t__u32 dummy;\n\tstruct svc_fh fh1;\n\tstruct svc_fh fh2;\n};\n\nstruct nfsd3_fsinfores {\n\t__be32 status;\n\t__u32 f_rtmax;\n\t__u32 f_rtpref;\n\t__u32 f_rtmult;\n\t__u32 f_wtmax;\n\t__u32 f_wtpref;\n\t__u32 f_wtmult;\n\t__u32 f_dtpref;\n\t__u64 f_maxfilesize;\n\t__u32 f_properties;\n};\n\nstruct nfsd3_fsstatres {\n\t__be32 status;\n\tstruct kstatfs stats;\n\t__u32 invarsec;\n};\n\nstruct nfsd3_getaclargs {\n\tstruct svc_fh fh;\n\t__u32 mask;\n};\n\nstruct nfsd3_getaclres {\n\t__be32 status;\n\tstruct svc_fh fh;\n\tint mask;\n\tstruct posix_acl *acl_access;\n\tstruct posix_acl *acl_default;\n\tstruct kstat stat;\n};\n\nstruct nfsd3_linkargs {\n\tstruct svc_fh ffh;\n\tstruct svc_fh tfh;\n\tchar *tname;\n\tunsigned int tlen;\n};\n\nstruct nfsd3_linkres {\n\t__be32 status;\n\tstruct svc_fh tfh;\n\tstruct svc_fh fh;\n};\n\nstruct nfsd3_mknodargs {\n\tstruct svc_fh fh;\n\tchar *name;\n\tunsigned int len;\n\t__u32 ftype;\n\t__u32 major;\n\t__u32 minor;\n\tstruct iattr attrs;\n};\n\nstruct nfsd3_pathconfres {\n\t__be32 status;\n\t__u32 p_link_max;\n\t__u32 p_name_max;\n\t__u32 p_no_trunc;\n\t__u32 p_chown_restricted;\n\t__u32 p_case_insensitive;\n\t__u32 p_case_preserving;\n};\n\nstruct nfsd3_readargs {\n\tstruct svc_fh fh;\n\t__u64 offset;\n\t__u32 count;\n};\n\nstruct nfsd3_readdirargs {\n\tstruct svc_fh fh;\n\t__u64 cookie;\n\t__u32 count;\n\t__be32 *verf;\n};\n\nstruct xdr_stream {\n\t__be32 *p;\n\tstruct xdr_buf *buf;\n\t__be32 *end;\n\tstruct kvec *iov;\n\tstruct kvec scratch;\n\tstruct page **page_ptr;\n\tvoid *page_kaddr;\n\tunsigned int nwords;\n\tstruct rpc_rqst *rqst;\n};\n\nstruct xdr_buf {\n\tstruct kvec head[1];\n\tstruct kvec tail[1];\n\tstruct bio_vec *bvec;\n\tstruct page **pages;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int flags;\n\tunsigned int buflen;\n\tunsigned int len;\n};\n\nstruct readdir_cd {\n\t__be32 err;\n};\n\nstruct nfsd3_readdirres {\n\t__be32 status;\n\tstruct svc_fh fh;\n\t__be32 verf[2];\n\tstruct xdr_stream xdr;\n\tstruct xdr_buf dirlist;\n\tstruct svc_fh scratch;\n\tstruct readdir_cd common;\n\tunsigned int cookie_offset;\n\tstruct svc_rqst *rqstp;\n};\n\nstruct nfsd3_readlinkres {\n\t__be32 status;\n\tstruct svc_fh fh;\n\t__u32 len;\n\tstruct page **pages;\n};\n\nstruct nfsd3_readres {\n\t__be32 status;\n\tstruct svc_fh fh;\n\tlong unsigned int count;\n\t__u32 eof;\n\tstruct page **pages;\n};\n\nstruct nfsd3_renameargs {\n\tstruct svc_fh ffh;\n\tchar *fname;\n\tunsigned int flen;\n\tstruct svc_fh tfh;\n\tchar *tname;\n\tunsigned int tlen;\n};\n\nstruct nfsd3_renameres {\n\t__be32 status;\n\tstruct svc_fh ffh;\n\tstruct svc_fh tfh;\n};\n\nstruct nfsd3_sattrargs {\n\tstruct svc_fh fh;\n\tstruct iattr attrs;\n\tint check_guard;\n\tstruct timespec64 guardtime;\n};\n\nstruct nfsd3_setaclargs {\n\tstruct svc_fh fh;\n\t__u32 mask;\n\tstruct posix_acl *acl_access;\n\tstruct posix_acl *acl_default;\n};\n\nstruct nfsd3_symlinkargs {\n\tstruct svc_fh ffh;\n\tchar *fname;\n\tunsigned int flen;\n\tchar *tname;\n\tunsigned int tlen;\n\tstruct iattr attrs;\n\tstruct kvec first;\n};\n\ntypedef struct svc_fh svc_fh;\n\nstruct nfsd3_writeargs {\n\tsvc_fh fh;\n\t__u64 offset;\n\t__u32 count;\n\tint stable;\n\t__u32 len;\n\tstruct xdr_buf payload;\n};\n\nstruct nfsd3_writeres {\n\t__be32 status;\n\tstruct svc_fh fh;\n\tlong unsigned int count;\n\tint committed;\n\t__be32 verf[2];\n};\n\nstruct nfsd42_write_res {\n\tu64 wr_bytes_written;\n\tu32 wr_stable_how;\n\tnfs4_verifier wr_verifier;\n\tstateid_t cb_stateid;\n};\n\nstruct nfsd4_access {\n\tu32 ac_req_access;\n\tu32 ac_supported;\n\tu32 ac_resp_access;\n};\n\nstruct nfsd4_backchannel_ctl {\n\tu32 bc_cb_program;\n\tstruct nfsd4_cb_sec bc_cb_sec;\n};\n\nstruct nfsd4_bind_conn_to_session {\n\tstruct nfs4_sessionid sessionid;\n\tu32 dir;\n};\n\nstruct nfsd4_blocked_lock {\n\tstruct list_head nbl_list;\n\tstruct list_head nbl_lru;\n\ttime64_t nbl_time;\n\tstruct file_lock nbl_lock;\n\tstruct knfsd_fh nbl_fh;\n\tstruct nfsd4_callback nbl_cb;\n\tstruct kref nbl_kref;\n};\n\nstruct nfsd4_callback_ops {\n\tvoid (*prepare)(struct nfsd4_callback *);\n\tint (*done)(struct nfsd4_callback *, struct rpc_task *);\n\tvoid (*release)(struct nfsd4_callback *);\n\tuint32_t opcode;\n};\n\nstruct nfsd4_cb_offload {\n\tstruct nfsd4_callback co_cb;\n\tstruct nfsd42_write_res co_res;\n\t__be32 co_nfserr;\n\tunsigned int co_retries;\n\tstruct knfsd_fh co_fh;\n};\n\nstruct nfsd4_cb_recall_any {\n\tstruct nfsd4_callback ra_cb;\n\tu32 ra_keep;\n\tu32 ra_bmval[1];\n};\n\nstruct nfsd4_change_info {\n\tu32 atomic;\n\tu64 before_change;\n\tu64 after_change;\n};\n\nstruct nfsd_net;\n\nstruct nfsd4_client_tracking_ops {\n\tint (*init)(struct net *);\n\tvoid (*exit)(struct net *);\n\tvoid (*create)(struct nfs4_client *);\n\tvoid (*remove)(struct nfs4_client *);\n\tint (*check)(struct nfs4_client *);\n\tvoid (*grace_done)(struct nfsd_net *);\n\tuint8_t version;\n\tsize_t msglen;\n};\n\nstruct nfsd4_clone {\n\tstateid_t cl_src_stateid;\n\tstateid_t cl_dst_stateid;\n\tu64 cl_src_pos;\n\tu64 cl_dst_pos;\n\tu64 cl_count;\n};\n\nstruct nfsd4_close {\n\tu32 cl_seqid;\n\tstateid_t cl_stateid;\n};\n\nstruct nfsd4_commit {\n\tu64 co_offset;\n\tu32 co_count;\n\tnfs4_verifier co_verf;\n};\n\nstruct nfsd4_slot;\n\nstruct nfsd4_compound_state {\n\tstruct svc_fh current_fh;\n\tstruct svc_fh save_fh;\n\tstruct nfs4_stateowner *replay_owner;\n\tstruct nfs4_client *clp;\n\tstruct nfsd4_session *session;\n\tstruct nfsd4_slot *slot;\n\tint data_offset;\n\tbool spo_must_allowed;\n\tsize_t iovlen;\n\tu32 minorversion;\n\t__be32 status;\n\tstateid_t current_stateid;\n\tstateid_t save_stateid;\n\tu32 sid_flags;\n};\n\nstruct nfsd4_create {\n\tu32 cr_namelen;\n\tchar *cr_name;\n\tu32 cr_type;\n\tunion {\n\t\tstruct {\n\t\t\tu32 datalen;\n\t\t\tchar *data;\n\t\t\tstruct kvec first;\n\t\t} link;\n\t\tstruct {\n\t\t\tu32 specdata1;\n\t\t\tu32 specdata2;\n\t\t} dev;\n\t} u;\n\tu32 cr_bmval[3];\n\tstruct iattr cr_iattr;\n\tint cr_umask;\n\tstruct nfsd4_change_info cr_cinfo;\n\tstruct nfs4_acl *cr_acl;\n\tstruct xdr_netobj cr_label;\n};\n\nstruct nfsd4_delegreturn {\n\tstateid_t dr_stateid;\n};\n\nstruct nfsd4_getattr {\n\tu32 ga_bmval[3];\n\tstruct svc_fh *ga_fhp;\n};\n\nstruct nfsd4_link {\n\tu32 li_namelen;\n\tchar *li_name;\n\tstruct nfsd4_change_info li_cinfo;\n};\n\nstruct nfsd4_lock_denied {\n\tclientid_t ld_clientid;\n\tstruct xdr_netobj ld_owner;\n\tu64 ld_start;\n\tu64 ld_length;\n\tu32 ld_type;\n};\n\nstruct nfsd4_lock {\n\tu32 lk_type;\n\tu32 lk_reclaim;\n\tu64 lk_offset;\n\tu64 lk_length;\n\tu32 lk_is_new;\n\tunion {\n\t\tstruct {\n\t\t\tu32 open_seqid;\n\t\t\tstateid_t open_stateid;\n\t\t\tu32 lock_seqid;\n\t\t\tclientid_t clientid;\n\t\t\tstruct xdr_netobj owner;\n\t\t} new;\n\t\tstruct {\n\t\t\tstateid_t lock_stateid;\n\t\t\tu32 lock_seqid;\n\t\t} old;\n\t} v;\n\tstateid_t lk_resp_stateid;\n\tstruct nfsd4_lock_denied lk_denied;\n};\n\nstruct nfsd4_lockt {\n\tu32 lt_type;\n\tclientid_t lt_clientid;\n\tstruct xdr_netobj lt_owner;\n\tu64 lt_offset;\n\tu64 lt_length;\n\tstruct nfsd4_lock_denied lt_denied;\n};\n\nstruct nfsd4_locku {\n\tu32 lu_type;\n\tu32 lu_seqid;\n\tstateid_t lu_stateid;\n\tu64 lu_offset;\n\tu64 lu_length;\n};\n\nstruct nfsd4_lookup {\n\tu32 lo_len;\n\tchar *lo_name;\n};\n\nstruct nfsd4_verify {\n\tu32 ve_bmval[3];\n\tu32 ve_attrlen;\n\tchar *ve_attrval;\n};\n\nstruct nfsd4_open {\n\tu32 op_claim_type;\n\tu32 op_fnamelen;\n\tchar *op_fname;\n\tu32 op_delegate_type;\n\tstateid_t op_delegate_stateid;\n\tu32 op_why_no_deleg;\n\tu32 op_create;\n\tu32 op_createmode;\n\tint op_umask;\n\tu32 op_bmval[3];\n\tstruct iattr op_iattr;\n\tlong: 64;\n\tlong: 64;\n\tnfs4_verifier op_verf;\n\tclientid_t op_clientid;\n\tstruct xdr_netobj op_owner;\n\tu32 op_seqid;\n\tu32 op_share_access;\n\tu32 op_share_deny;\n\tu32 op_deleg_want;\n\tstateid_t op_stateid;\n\t__be32 op_xdr_error;\n\tstruct nfsd4_change_info op_cinfo;\n\tu32 op_rflags;\n\tbool op_recall;\n\tbool op_truncate;\n\tbool op_created;\n\tstruct nfs4_openowner *op_openowner;\n\tstruct file *op_filp;\n\tstruct nfs4_file *op_file;\n\tstruct nfs4_ol_stateid *op_stp;\n\tstruct nfs4_clnt_odstate *op_odstate;\n\tstruct nfs4_acl *op_acl;\n\tstruct xdr_netobj op_label;\n\tstruct svc_rqst *op_rqstp;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nfsd4_open_confirm {\n\tstateid_t oc_req_stateid;\n\tu32 oc_seqid;\n\tstateid_t oc_resp_stateid;\n};\n\nstruct nfsd4_open_downgrade {\n\tstateid_t od_stateid;\n\tu32 od_seqid;\n\tu32 od_share_access;\n\tu32 od_deleg_want;\n\tu32 od_share_deny;\n};\n\nstruct nfsd4_putfh {\n\tu32 pf_fhlen;\n\tchar *pf_fhval;\n\tbool no_verify;\n};\n\nstruct nfsd4_read {\n\tstateid_t rd_stateid;\n\tu64 rd_offset;\n\tu32 rd_length;\n\tint rd_vlen;\n\tstruct nfsd_file *rd_nf;\n\tstruct svc_rqst *rd_rqstp;\n\tstruct svc_fh *rd_fhp;\n\tu32 rd_eof;\n};\n\nstruct nfsd4_readdir {\n\tu64 rd_cookie;\n\tnfs4_verifier rd_verf;\n\tu32 rd_dircount;\n\tu32 rd_maxcount;\n\tu32 rd_bmval[3];\n\tstruct svc_rqst *rd_rqstp;\n\tstruct svc_fh *rd_fhp;\n\tstruct readdir_cd common;\n\tstruct xdr_stream *xdr;\n\tint cookie_offset;\n};\n\nstruct nfsd4_readlink {\n\tstruct svc_rqst *rl_rqstp;\n\tstruct svc_fh *rl_fhp;\n};\n\nstruct nfsd4_remove {\n\tu32 rm_namelen;\n\tchar *rm_name;\n\tstruct nfsd4_change_info rm_cinfo;\n};\n\nstruct nfsd4_rename {\n\tu32 rn_snamelen;\n\tchar *rn_sname;\n\tu32 rn_tnamelen;\n\tchar *rn_tname;\n\tstruct nfsd4_change_info rn_sinfo;\n\tstruct nfsd4_change_info rn_tinfo;\n};\n\nstruct nfsd4_secinfo {\n\tu32 si_namelen;\n\tchar *si_name;\n\tstruct svc_export *si_exp;\n};\n\nstruct nfsd4_setattr {\n\tstateid_t sa_stateid;\n\tu32 sa_bmval[3];\n\tstruct iattr sa_iattr;\n\tstruct nfs4_acl *sa_acl;\n\tstruct xdr_netobj sa_label;\n};\n\nstruct nfsd4_setclientid {\n\tnfs4_verifier se_verf;\n\tstruct xdr_netobj se_name;\n\tu32 se_callback_prog;\n\tu32 se_callback_netid_len;\n\tchar *se_callback_netid_val;\n\tu32 se_callback_addr_len;\n\tchar *se_callback_addr_val;\n\tu32 se_callback_ident;\n\tclientid_t se_clientid;\n\tnfs4_verifier se_confirm;\n};\n\nstruct nfsd4_setclientid_confirm {\n\tclientid_t sc_clientid;\n\tnfs4_verifier sc_confirm;\n};\n\nstruct nfsd4_write {\n\tstateid_t wr_stateid;\n\tu64 wr_offset;\n\tu32 wr_stable_how;\n\tu32 wr_buflen;\n\tstruct xdr_buf wr_payload;\n\tu32 wr_bytes_written;\n\tu32 wr_how_written;\n\tnfs4_verifier wr_verifier;\n};\n\nstruct nfsd4_release_lockowner {\n\tclientid_t rl_clientid;\n\tstruct xdr_netobj rl_owner;\n};\n\nstruct nfsd4_exchange_id {\n\tnfs4_verifier verifier;\n\tstruct xdr_netobj clname;\n\tu32 flags;\n\tclientid_t clientid;\n\tu32 seqid;\n\tu32 spa_how;\n\tu32 spo_must_enforce[3];\n\tu32 spo_must_allow[3];\n\tstruct xdr_netobj nii_domain;\n\tstruct xdr_netobj nii_name;\n\tstruct timespec64 nii_time;\n\tchar *server_impl_name;\n};\n\nstruct nfsd4_destroy_session {\n\tstruct nfs4_sessionid sessionid;\n};\n\nstruct nfsd4_destroy_clientid {\n\tclientid_t clientid;\n};\n\nstruct nfsd4_sequence {\n\tstruct nfs4_sessionid sessionid;\n\tu32 seqid;\n\tu32 slotid;\n\tu32 maxslots;\n\tu32 cachethis;\n\tu32 target_maxslots;\n\tu32 status_flags;\n};\n\nstruct nfsd4_reclaim_complete {\n\tu32 rca_one_fs;\n};\n\nstruct nfsd4_test_stateid {\n\tu32 ts_num_ids;\n\tstruct list_head ts_stateid_list;\n};\n\nstruct nfsd4_free_stateid {\n\tstateid_t fr_stateid;\n};\n\nstruct nfsd4_get_dir_delegation {\n\tu32 gdda_signal_deleg_avail;\n\tu32 gdda_notification_types[1];\n\tstruct timespec64 gdda_child_attr_delay;\n\tstruct timespec64 gdda_dir_attr_delay;\n\tu32 gdda_child_attributes[3];\n\tu32 gdda_dir_attributes[3];\n\tu32 gddrnf_status;\n\tnfs4_verifier gddr_cookieverf;\n\tstateid_t gddr_stateid;\n\tu32 gddr_notification[1];\n\tu32 gddr_child_attributes[3];\n\tu32 gddr_dir_attributes[3];\n\tbool gddrnf_will_signal_deleg_avail;\n};\n\nstruct nfsd4_deviceid {\n\tu64 fsid_idx;\n\tu32 generation;\n\tu32 pad;\n};\n\nstruct nfsd4_getdeviceinfo {\n\tstruct nfsd4_deviceid gd_devid;\n\tu32 gd_layout_type;\n\tu32 gd_maxcount;\n\tu32 gd_notify_types;\n\tvoid *gd_device;\n};\n\nstruct nfsd4_layoutget {\n\tu64 lg_minlength;\n\tu32 lg_signal;\n\tu32 lg_layout_type;\n\tu32 lg_maxcount;\n\tstateid_t lg_sid;\n\tstruct nfsd4_layout_seg lg_seg;\n\tvoid *lg_content;\n};\n\nstruct nfsd4_layoutcommit {\n\tstateid_t lc_sid;\n\tstruct nfsd4_layout_seg lc_seg;\n\tu32 lc_reclaim;\n\tu32 lc_newoffset;\n\tu64 lc_last_wr;\n\tstruct timespec64 lc_mtime;\n\tu32 lc_layout_type;\n\tu32 lc_up_len;\n\tvoid *lc_up_layout;\n\tbool lc_size_chg;\n\tu64 lc_newsize;\n};\n\nstruct nfsd4_layoutreturn {\n\tu32 lr_return_type;\n\tu32 lr_layout_type;\n\tstruct nfsd4_layout_seg lr_seg;\n\tu32 lr_reclaim;\n\tu32 lrf_body_len;\n\tvoid *lrf_body;\n\tstateid_t lr_sid;\n\tbool lrs_present;\n};\n\nstruct nfsd4_secinfo_no_name {\n\tu32 sin_style;\n\tstruct svc_export *sin_exp;\n};\n\nstruct nfsd4_fallocate {\n\tstateid_t falloc_stateid;\n\tloff_t falloc_offset;\n\tu64 falloc_length;\n};\n\nstruct nfsd4_ssc_umount_item;\n\nstruct nfsd4_copy {\n\tstateid_t cp_src_stateid;\n\tstateid_t cp_dst_stateid;\n\tu64 cp_src_pos;\n\tu64 cp_dst_pos;\n\tu64 cp_count;\n\tstruct nl4_server *cp_src;\n\tlong unsigned int cp_flags;\n\t__be32 nfserr;\n\tstruct nfsd42_write_res cp_res;\n\tstruct knfsd_fh fh;\n\tstruct nfsd4_cb_offload cp_cb_offload;\n\tstruct nfs4_client *cp_clp;\n\tstruct nfsd_file *nf_src;\n\tstruct nfsd_file *nf_dst;\n\tcopy_stateid_t cp_stateid;\n\tstruct list_head copies;\n\tstruct task_struct *copy_task;\n\trefcount_t refcount;\n\tunsigned int cp_ttl;\n\tstruct nfsd4_ssc_umount_item *ss_nsui;\n\tstruct nfs_fh c_fh;\n\tnfs4_stateid stateid;\n\tstruct nfsd_net *cp_nn;\n};\n\nstruct nfsd4_offload_status {\n\tstateid_t stateid;\n\tu64 count;\n\t__be32 status;\n\tbool completed;\n};\n\nstruct nfsd4_copy_notify {\n\tstateid_t cpn_src_stateid;\n\tstruct nl4_server *cpn_dst;\n\tstateid_t cpn_cnr_stateid;\n\tstruct timespec64 cpn_lease_time;\n\tstruct nl4_server *cpn_src;\n};\n\nstruct nfsd4_seek {\n\tstateid_t seek_stateid;\n\tloff_t seek_offset;\n\tu32 seek_whence;\n\tu32 seek_eof;\n\tloff_t seek_pos;\n};\n\nstruct nfsd4_getxattr {\n\tchar *getxa_name;\n\tu32 getxa_len;\n\tvoid *getxa_buf;\n};\n\nstruct nfsd4_setxattr {\n\tu32 setxa_flags;\n\tchar *setxa_name;\n\tchar *setxa_buf;\n\tu32 setxa_len;\n\tstruct nfsd4_change_info setxa_cinfo;\n};\n\nstruct nfsd4_listxattrs {\n\tu64 lsxa_cookie;\n\tu32 lsxa_maxcount;\n\tchar *lsxa_buf;\n\tu32 lsxa_len;\n};\n\nstruct nfsd4_removexattr {\n\tchar *rmxa_name;\n\tstruct nfsd4_change_info rmxa_cinfo;\n};\n\nunion nfsd4_op_u {\n\tstruct nfsd4_access access;\n\tstruct nfsd4_close close;\n\tstruct nfsd4_commit commit;\n\tstruct nfsd4_create create;\n\tstruct nfsd4_delegreturn delegreturn;\n\tstruct nfsd4_getattr getattr;\n\tstruct svc_fh *getfh;\n\tstruct nfsd4_link link;\n\tstruct nfsd4_lock lock;\n\tstruct nfsd4_lockt lockt;\n\tstruct nfsd4_locku locku;\n\tstruct nfsd4_lookup lookup;\n\tstruct nfsd4_verify nverify;\n\tstruct nfsd4_open open;\n\tstruct nfsd4_open_confirm open_confirm;\n\tstruct nfsd4_open_downgrade open_downgrade;\n\tstruct nfsd4_putfh putfh;\n\tstruct nfsd4_read read;\n\tstruct nfsd4_readdir readdir;\n\tstruct nfsd4_readlink readlink;\n\tstruct nfsd4_remove remove;\n\tstruct nfsd4_rename rename;\n\tclientid_t renew;\n\tstruct nfsd4_secinfo secinfo;\n\tstruct nfsd4_setattr setattr;\n\tstruct nfsd4_setclientid setclientid;\n\tstruct nfsd4_setclientid_confirm setclientid_confirm;\n\tstruct nfsd4_verify verify;\n\tstruct nfsd4_write write;\n\tstruct nfsd4_release_lockowner release_lockowner;\n\tstruct nfsd4_exchange_id exchange_id;\n\tstruct nfsd4_backchannel_ctl backchannel_ctl;\n\tstruct nfsd4_bind_conn_to_session bind_conn_to_session;\n\tstruct nfsd4_create_session create_session;\n\tstruct nfsd4_destroy_session destroy_session;\n\tstruct nfsd4_destroy_clientid destroy_clientid;\n\tstruct nfsd4_sequence sequence;\n\tstruct nfsd4_reclaim_complete reclaim_complete;\n\tstruct nfsd4_test_stateid test_stateid;\n\tstruct nfsd4_free_stateid free_stateid;\n\tstruct nfsd4_get_dir_delegation get_dir_delegation;\n\tstruct nfsd4_getdeviceinfo getdeviceinfo;\n\tstruct nfsd4_layoutget layoutget;\n\tstruct nfsd4_layoutcommit layoutcommit;\n\tstruct nfsd4_layoutreturn layoutreturn;\n\tstruct nfsd4_secinfo_no_name secinfo_no_name;\n\tstruct nfsd4_fallocate allocate;\n\tstruct nfsd4_fallocate deallocate;\n\tstruct nfsd4_clone clone;\n\tstruct nfsd4_copy copy;\n\tstruct nfsd4_offload_status offload_status;\n\tstruct nfsd4_copy_notify copy_notify;\n\tstruct nfsd4_seek seek;\n\tstruct nfsd4_getxattr getxattr;\n\tstruct nfsd4_setxattr setxattr;\n\tstruct nfsd4_listxattrs listxattrs;\n\tstruct nfsd4_removexattr removexattr;\n};\n\nstruct nfsd4_operation;\n\nstruct nfsd4_op {\n\tu32 opnum;\n\t__be32 status;\n\tconst struct nfsd4_operation *opdesc;\n\tstruct nfs4_replay *replay;\n\tlong: 64;\n\tunion nfsd4_op_u u;\n};\n\nstruct svcxdr_tmpbuf;\n\nstruct nfsd4_compoundargs {\n\tstruct xdr_stream *xdr;\n\tstruct svcxdr_tmpbuf *to_free;\n\tstruct svc_rqst *rqstp;\n\tchar *tag;\n\tu32 taglen;\n\tu32 minorversion;\n\tu32 client_opcnt;\n\tu32 opcnt;\n\tbool splice_ok;\n\tstruct nfsd4_op *ops;\n\tstruct nfsd4_op iops[8];\n};\n\nstruct nfsd4_compoundres {\n\tstruct xdr_stream *xdr;\n\tstruct svc_rqst *rqstp;\n\t__be32 *statusp;\n\tchar *tag;\n\tu32 taglen;\n\tu32 opcnt;\n\tstruct nfsd4_compound_state cstate;\n};\n\nstruct svc_xpt_user {\n\tstruct list_head list;\n\tvoid (*callback)(struct svc_xpt_user *);\n};\n\nstruct nfsd4_conn {\n\tstruct list_head cn_persession;\n\tstruct svc_xprt *cn_xprt;\n\tstruct svc_xpt_user cn_xpt_user;\n\tstruct nfsd4_session *cn_session;\n\tunsigned char cn_flags;\n};\n\nstruct nfsd4_deviceid_map {\n\tstruct list_head hash;\n\tu64 idx;\n\tint fsid_type;\n\tu32 fsid[0];\n};\n\nstruct nfsd4_fattr_args {\n\tstruct svc_rqst *rqstp;\n\tstruct svc_fh *fhp;\n\tstruct svc_export *exp;\n\tstruct dentry *dentry;\n\tstruct kstat stat;\n\tstruct kstatfs statfs;\n\tstruct nfs4_acl *acl;\n\tu64 change_attr;\n\tu32 rdattr_err;\n\tbool contextsupport;\n\tbool ignore_crossmnt;\n};\n\nstruct nfsd4_fs_location {\n\tchar *hosts;\n\tchar *path;\n};\n\nstruct nfsd4_fs_locations {\n\tuint32_t locations_count;\n\tstruct nfsd4_fs_location *locations;\n\tint migrated;\n};\n\nstruct nfsd4_layout_ops {\n\tu32 notify_types;\n\tbool disable_recalls;\n\t__be32 (*proc_getdeviceinfo)(struct super_block *, struct svc_rqst *, struct nfs4_client *, struct nfsd4_getdeviceinfo *);\n\t__be32 (*encode_getdeviceinfo)(struct xdr_stream *, const struct nfsd4_getdeviceinfo *);\n\t__be32 (*proc_layoutget)(struct inode *, const struct svc_fh *, struct nfsd4_layoutget *);\n\t__be32 (*encode_layoutget)(struct xdr_stream *, const struct nfsd4_layoutget *);\n\t__be32 (*proc_layoutcommit)(struct inode *, struct nfsd4_layoutcommit *);\n\tvoid (*fence_client)(struct nfs4_layout_stateid *, struct nfsd_file *);\n};\n\nstruct nfsd4_operation {\n\t__be32 (*op_func)(struct svc_rqst *, struct nfsd4_compound_state *, union nfsd4_op_u *);\n\tvoid (*op_release)(union nfsd4_op_u *);\n\tu32 op_flags;\n\tchar *op_name;\n\tu32 (*op_rsize_bop)(const struct svc_rqst *, const struct nfsd4_op *);\n\tvoid (*op_get_currentstateid)(struct nfsd4_compound_state *, union nfsd4_op_u *);\n\tvoid (*op_set_currentstateid)(struct nfsd4_compound_state *, union nfsd4_op_u *);\n};\n\nstruct nfsd4_session {\n\tatomic_t se_ref;\n\tspinlock_t se_lock;\n\tu32 se_cb_slot_avail;\n\tu32 se_cb_highest_slot;\n\tu32 se_cb_prog;\n\tstruct list_head se_hash;\n\tstruct list_head se_perclnt;\n\tstruct list_head se_all_sessions;\n\tstruct nfs4_client *se_client;\n\tstruct nfs4_sessionid se_sessionid;\n\tstruct nfsd4_channel_attrs se_fchannel;\n\tstruct nfsd4_cb_sec se_cb_sec;\n\tstruct list_head se_conns;\n\tu32 se_cb_seq_nr[32];\n\tstruct xarray se_slots;\n\tu16 se_slot_gen;\n\tbool se_dead;\n\tu32 se_target_maxslots;\n};\n\nstruct nfsd4_sessionid {\n\tclientid_t clientid;\n\tu32 sequence;\n\tu32 reserved;\n};\n\nstruct nfsd4_slot {\n\tu32 sl_seqid;\n\t__be32 sl_status;\n\tstruct svc_cred sl_cred;\n\tu32 sl_datalen;\n\tu16 sl_opcnt;\n\tu16 sl_generation;\n\tu8 sl_flags;\n\tchar sl_data[0];\n};\n\nstruct nfsd4_ssc_umount_item {\n\tstruct list_head nsui_list;\n\tbool nsui_busy;\n\trefcount_t nsui_refcnt;\n\tlong unsigned int nsui_expire;\n\tstruct vfsmount *nsui_vfsmount;\n\tchar nsui_ipaddr[64];\n};\n\nstruct nfsd4_test_stateid_id {\n\t__be32 ts_id_status;\n\tstateid_t ts_id_stateid;\n\tstruct list_head ts_id_list;\n};\n\nstruct nfsd_attrs {\n\tstruct iattr *na_iattr;\n\tstruct xdr_netobj *na_seclabel;\n\tstruct posix_acl *na_pacl;\n\tstruct posix_acl *na_dpacl;\n\tint na_labelerr;\n\tint na_aclerr;\n};\n\nstruct nfsd_cacherep {\n\tstruct {\n\t\t__be32 k_xid;\n\t\t__wsum k_csum;\n\t\tu32 k_proc;\n\t\tu32 k_prot;\n\t\tu32 k_vers;\n\t\tunsigned int k_len;\n\t\tstruct sockaddr_in6 k_addr;\n\t} c_key;\n\tstruct rb_node c_node;\n\tstruct list_head c_lru;\n\tunsigned char c_state;\n\tunsigned char c_type;\n\tunsigned char c_secure: 1;\n\tlong unsigned int c_timestamp;\n\tunion {\n\t\tstruct kvec u_vec;\n\t\t__be32 u_status;\n\t} c_u;\n};\n\nstruct nfsd_drc_bucket {\n\tstruct rb_root rb_head;\n\tstruct list_head lru_head;\n\tspinlock_t cache_lock;\n};\n\nstruct nfsd_fcache_disposal {\n\tspinlock_t lock;\n\tstruct list_head freeme;\n};\n\nstruct nfsd_fhandle {\n\tstruct svc_fh fh;\n};\n\nstruct nfsd_file_mark;\n\nstruct nfsd_file {\n\tstruct rhlist_head nf_rlist;\n\tvoid *nf_inode;\n\tstruct file *nf_file;\n\tconst struct cred *nf_cred;\n\tstruct net *nf_net;\n\tlong unsigned int nf_flags;\n\trefcount_t nf_ref;\n\tunsigned char nf_may;\n\tstruct nfsd_file_mark *nf_mark;\n\tstruct list_head nf_lru;\n\tstruct list_head nf_gc;\n\tstruct callback_head nf_rcu;\n\tktime_t nf_birthtime;\n};\n\nstruct nfsd_file_mark {\n\tstruct fsnotify_mark nfm_mark;\n\trefcount_t nfm_ref;\n};\n\nstruct nfsd_genl_rqstp {\n\tstruct sockaddr rq_daddr;\n\tstruct sockaddr rq_saddr;\n\tlong unsigned int rq_flags;\n\tktime_t rq_stime;\n\t__be32 rq_xid;\n\tu32 rq_vers;\n\tu32 rq_prog;\n\tu32 rq_proc;\n\tu32 rq_opcnt;\n\tu32 rq_opnum[50];\n};\n\nstruct svc_info {\n\tstruct svc_serv *serv;\n\tstruct mutex *mutex;\n};\n\nstruct svc_program;\n\nstruct svc_stat {\n\tstruct svc_program *program;\n\tunsigned int netcnt;\n\tunsigned int netudpcnt;\n\tunsigned int nettcpcnt;\n\tunsigned int nettcpconn;\n\tunsigned int rpccnt;\n\tunsigned int rpcbadfmt;\n\tunsigned int rpcbadauth;\n\tunsigned int rpcbadclnt;\n};\n\nstruct nfsd_net {\n\tstruct cld_net *cld_net;\n\tstruct cache_detail *svc_expkey_cache;\n\tstruct cache_detail *svc_export_cache;\n\tstruct cache_detail *idtoname_cache;\n\tstruct cache_detail *nametoid_cache;\n\tstruct lock_manager nfsd4_manager;\n\tbool grace_ended;\n\ttime64_t boot_time;\n\tstruct dentry *nfsd_client_dir;\n\tstruct list_head *reclaim_str_hashtbl;\n\tint reclaim_str_hashtbl_size;\n\tstruct list_head *conf_id_hashtbl;\n\tstruct rb_root conf_name_tree;\n\tstruct list_head *unconf_id_hashtbl;\n\tstruct rb_root unconf_name_tree;\n\tstruct list_head *sessionid_hashtbl;\n\tstruct list_head client_lru;\n\tstruct list_head close_lru;\n\tstruct list_head del_recall_lru;\n\tstruct list_head blocked_locks_lru;\n\tstruct delayed_work laundromat_work;\n\tspinlock_t client_lock;\n\tspinlock_t blocked_locks_lock;\n\tstruct file *rec_file;\n\tbool in_grace;\n\tconst struct nfsd4_client_tracking_ops *client_tracking_ops;\n\ttime64_t nfsd4_lease;\n\ttime64_t nfsd4_grace;\n\tbool somebody_reclaimed;\n\tbool track_reclaim_completes;\n\tatomic_t nr_reclaim_complete;\n\tbool nfsd_net_up;\n\tbool lockd_up;\n\tseqlock_t writeverf_lock;\n\tunsigned char writeverf[8];\n\tu32 clientid_base;\n\tu32 clientid_counter;\n\tu32 clverifier_counter;\n\tstruct svc_info nfsd_info;\n\tstruct percpu_ref nfsd_net_ref;\n\tstruct completion nfsd_net_confirm_done;\n\tstruct completion nfsd_net_free_done;\n\tu32 s2s_cp_cl_id;\n\tstruct idr s2s_cp_stateids;\n\tspinlock_t s2s_cp_lock;\n\tatomic_t pending_async_copies;\n\tbool nfsd_versions[5];\n\tbool nfsd4_minorversions[3];\n\tstruct nfsd_drc_bucket *drc_hashtbl;\n\tunsigned int max_drc_entries;\n\tunsigned int maskbits;\n\tunsigned int drc_hashsize;\n\tatomic_t num_drc_entries;\n\tstruct percpu_counter counter[85];\n\tstruct svc_stat nfsd_svcstats;\n\tunsigned int longest_chain;\n\tunsigned int longest_chain_cachesize;\n\tstruct shrinker *nfsd_reply_cache_shrinker;\n\tspinlock_t nfsd_ssc_lock;\n\tstruct list_head nfsd_ssc_mount_list;\n\twait_queue_head_t nfsd_ssc_waitq;\n\tchar nfsd_name[65];\n\tstruct nfsd_fcache_disposal *fcache_disposal;\n\tsiphash_key_t siphash_key;\n\tatomic_t nfs4_client_count;\n\tint nfs4_max_clients;\n\tatomic_t nfsd_courtesy_clients;\n\tstruct shrinker *nfsd_client_shrinker;\n\tstruct work_struct nfsd_shrinker_work;\n\ttime64_t nfs40_last_revoke;\n};\n\ntypedef struct nfstime4 fattr4_time_deleg_access;\n\ntypedef struct nfstime4 fattr4_time_deleg_modify;\n\nstruct nh_config {\n\tu32 nh_id;\n\tu8 nh_family;\n\tu8 nh_protocol;\n\tu8 nh_blackhole;\n\tu8 nh_fdb;\n\tu32 nh_flags;\n\tint nh_ifindex;\n\tstruct net_device *dev;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} gw;\n\tstruct nlattr *nh_grp;\n\tu16 nh_grp_type;\n\tu16 nh_grp_res_num_buckets;\n\tlong unsigned int nh_grp_res_idle_timer;\n\tlong unsigned int nh_grp_res_unbalanced_timer;\n\tbool nh_grp_res_has_num_buckets;\n\tbool nh_grp_res_has_idle_timer;\n\tbool nh_grp_res_has_unbalanced_timer;\n\tbool nh_hw_stats;\n\tstruct nlattr *nh_encap;\n\tu16 nh_encap_type;\n\tu32 nlflags;\n\tstruct nl_info nlinfo;\n};\n\nstruct nh_dump_filter {\n\tu32 nh_id;\n\tint dev_idx;\n\tint master_idx;\n\tbool group_filter;\n\tbool fdb_filter;\n\tu32 res_bucket_nh_id;\n\tu32 op_flags;\n};\n\nstruct nh_grp_entry_stats;\n\nstruct nh_grp_entry {\n\tstruct nexthop *nh;\n\tstruct nh_grp_entry_stats *stats;\n\tu16 weight;\n\tunion {\n\t\tstruct {\n\t\t\tatomic_t upper_bound;\n\t\t} hthr;\n\t\tstruct {\n\t\t\tstruct list_head uw_nh_entry;\n\t\t\tu16 count_buckets;\n\t\t\tu16 wants_buckets;\n\t\t} res;\n\t};\n\tstruct list_head nh_list;\n\tstruct nexthop *nh_parent;\n\tu64 packets_hw;\n};\n\nstruct nh_res_table;\n\nstruct nh_group {\n\tstruct nh_group *spare;\n\tu16 num_nh;\n\tbool is_multipath;\n\tbool hash_threshold;\n\tbool resilient;\n\tbool fdb_nh;\n\tbool has_v4;\n\tbool hw_stats;\n\tstruct nh_res_table *res_table;\n\tstruct nh_grp_entry nh_entries[0];\n};\n\nstruct nh_grp_entry_stats {\n\tu64_stats_t packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct nh_info {\n\tstruct hlist_node dev_hash;\n\tstruct nexthop *nh_parent;\n\tu8 family;\n\tbool reject_nh;\n\tbool fdb_nh;\n\tunion {\n\t\tstruct fib_nh_common fib_nhc;\n\t\tstruct fib_nh fib_nh;\n\t\tstruct fib6_nh fib6_nh;\n\t};\n};\n\nstruct nh_notifier_single_info {\n\tstruct net_device *dev;\n\tu8 gw_family;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t};\n\tu32 id;\n\tu8 is_reject: 1;\n\tu8 is_fdb: 1;\n\tu8 has_encap: 1;\n};\n\nstruct nh_notifier_grp_entry_info {\n\tu16 weight;\n\tstruct nh_notifier_single_info nh;\n};\n\nstruct nh_notifier_grp_hw_stats_entry_info {\n\tu32 id;\n\tu64 packets;\n};\n\nstruct nh_notifier_grp_hw_stats_info {\n\tu16 num_nh;\n\tbool hw_stats_used;\n\tstruct nh_notifier_grp_hw_stats_entry_info stats[0];\n};\n\nstruct nh_notifier_grp_info {\n\tu16 num_nh;\n\tbool is_fdb;\n\tbool hw_stats;\n\tstruct nh_notifier_grp_entry_info nh_entries[0];\n};\n\nstruct nh_notifier_res_table_info;\n\nstruct nh_notifier_res_bucket_info;\n\nstruct nh_notifier_info {\n\tstruct net *net;\n\tstruct netlink_ext_ack *extack;\n\tu32 id;\n\tenum nh_notifier_info_type type;\n\tunion {\n\t\tstruct nh_notifier_single_info *nh;\n\t\tstruct nh_notifier_grp_info *nh_grp;\n\t\tstruct nh_notifier_res_table_info *nh_res_table;\n\t\tstruct nh_notifier_res_bucket_info *nh_res_bucket;\n\t\tstruct nh_notifier_grp_hw_stats_info *nh_grp_hw_stats;\n\t};\n};\n\nstruct nh_notifier_res_bucket_info {\n\tu16 bucket_index;\n\tunsigned int idle_timer_ms;\n\tbool force;\n\tstruct nh_notifier_single_info old_nh;\n\tstruct nh_notifier_single_info new_nh;\n};\n\nstruct nh_notifier_res_table_info {\n\tu16 num_nh_buckets;\n\tbool hw_stats;\n\tstruct nh_notifier_single_info nhs[0];\n};\n\nstruct nh_res_bucket {\n\tstruct nh_grp_entry *nh_entry;\n\tatomic_long_t used_time;\n\tlong unsigned int migrated_time;\n\tbool occupied;\n\tu8 nh_flags;\n};\n\nstruct nh_res_table {\n\tstruct net *net;\n\tu32 nhg_id;\n\tstruct delayed_work upkeep_dw;\n\tstruct list_head uw_nh_entries;\n\tlong unsigned int unbalanced_since;\n\tu32 idle_timer;\n\tu32 unbalanced_timer;\n\tu16 num_nh_buckets;\n\tstruct nh_res_bucket nh_buckets[0];\n};\n\nstruct nhlt_specific_cfg {\n\tu32 size;\n\tu8 caps[0];\n};\n\nstruct nhlt_endpoint {\n\tu32 length;\n\tu8 linktype;\n\tu8 instance_id;\n\tu16 vendor_id;\n\tu16 device_id;\n\tu16 revision_id;\n\tu32 subsystem_id;\n\tu8 device_type;\n\tu8 direction;\n\tu8 virtual_bus_id;\n\tstruct nhlt_specific_cfg config;\n} __attribute__((packed));\n\nstruct nhlt_acpi_table {\n\tstruct acpi_table_header header;\n\tu8 endpoint_count;\n\tstruct nhlt_endpoint desc[0];\n} __attribute__((packed));\n\nstruct nhlt_device_specific_config {\n\tu8 virtual_slot;\n\tu8 config_type;\n};\n\nstruct nhlt_dmic_array_config {\n\tstruct nhlt_device_specific_config device_config;\n\tu8 array_type;\n};\n\nstruct wav_fmt {\n\tu16 fmt_tag;\n\tu16 channels;\n\tu32 samples_per_sec;\n\tu32 avg_bytes_per_sec;\n\tu16 block_align;\n\tu16 bits_per_sample;\n\tu16 cb_size;\n} __attribute__((packed));\n\nunion samples {\n\tu16 valid_bits_per_sample;\n\tu16 samples_per_block;\n\tu16 reserved;\n};\n\nstruct wav_fmt_ext {\n\tstruct wav_fmt fmt;\n\tunion samples sample;\n\tu32 channel_mask;\n\tu8 sub_fmt[16];\n};\n\nstruct nhlt_fmt_cfg {\n\tstruct wav_fmt_ext fmt_ext;\n\tstruct nhlt_specific_cfg config;\n};\n\nstruct nhlt_fmt {\n\tu8 fmt_count;\n\tstruct nhlt_fmt_cfg fmt_config[0];\n} __attribute__((packed));\n\nstruct nhlt_vendor_dmic_array_config {\n\tstruct nhlt_dmic_array_config dmic_config;\n\tu8 nb_mics;\n};\n\nstruct nhmsg {\n\tunsigned char nh_family;\n\tunsigned char nh_scope;\n\tunsigned char nh_protocol;\n\tunsigned char resvd;\n\tunsigned int nh_flags;\n};\n\nstruct nid_path {\n\tint depth;\n\thda_nid_t path[10];\n\tunsigned char idx[10];\n\tunsigned char multi[10];\n\tunsigned int ctls[3];\n\tbool active: 1;\n\tbool pin_enabled: 1;\n\tbool pin_fixed: 1;\n\tbool stream_enabled: 1;\n};\n\nstruct nl80211_vendor_cmd_info {\n\t__u32 vendor_id;\n\t__u32 subcmd;\n};\n\nstruct nl80211_wowlan_tcp_data_token_feature {\n\t__u32 min_len;\n\t__u32 max_len;\n\t__u32 bufsize;\n};\n\nstruct nl_pktinfo {\n\t__u32 group;\n};\n\nstruct rhashtable_walker {\n\tstruct list_head list;\n\tstruct bucket_table *tbl;\n};\n\nstruct rhashtable_iter {\n\tstruct rhashtable *ht;\n\tstruct rhash_head *p;\n\tstruct rhlist_head *list;\n\tstruct rhashtable_walker walker;\n\tunsigned int slot;\n\tunsigned int skip;\n\tbool end_of_table;\n};\n\nstruct nl_seq_iter {\n\tstruct seq_net_private p;\n\tstruct rhashtable_iter hti;\n\tint link;\n};\n\nstruct nla_bitfield32 {\n\t__u32 value;\n\t__u32 selector;\n};\n\nstruct nla_policy {\n\tu8 type;\n\tu8 validation_type;\n\tu16 len;\n\tunion {\n\t\tu16 strict_start_type;\n\t\tconst u32 bitfield32_valid;\n\t\tconst u32 mask;\n\t\tconst char *reject_message;\n\t\tconst struct nla_policy *nested_policy;\n\t\tconst struct netlink_range_validation *range;\n\t\tconst struct netlink_range_validation_signed *range_signed;\n\t\tstruct {\n\t\t\ts16 min;\n\t\t\ts16 max;\n\t\t};\n\t\tint (*validate)(const struct nlattr *, struct netlink_ext_ack *);\n\t};\n};\n\nstruct nlattr {\n\t__u16 nla_len;\n\t__u16 nla_type;\n};\n\nstruct nlm_cookie {\n\tunsigned char data[32];\n\tunsigned int len;\n};\n\nstruct nlm_lock {\n\tchar *caller;\n\tunsigned int len;\n\tstruct nfs_fh fh;\n\tstruct xdr_netobj oh;\n\tu32 svid;\n\tu64 lock_start;\n\tu64 lock_len;\n\tstruct file_lock fl;\n};\n\nstruct nlm_args {\n\tstruct nlm_cookie cookie;\n\tstruct nlm_lock lock;\n\tu32 block;\n\tu32 reclaim;\n\tu32 state;\n\tu32 monitor;\n\tu32 fsm_access;\n\tu32 fsm_mode;\n};\n\nstruct nlm_rqst;\n\nstruct nlm_file;\n\nstruct nlm_block {\n\tstruct kref b_count;\n\tstruct list_head b_list;\n\tstruct list_head b_flist;\n\tstruct nlm_rqst *b_call;\n\tstruct svc_serv *b_daemon;\n\tstruct nlm_host *b_host;\n\tlong unsigned int b_when;\n\tunsigned int b_id;\n\tunsigned char b_granted;\n\tstruct nlm_file *b_file;\n\tstruct cache_req *b_cache_req;\n\tstruct cache_deferred_req *b_deferred_req;\n\tunsigned int b_flags;\n};\n\nstruct nlm_share;\n\nstruct nlm_file {\n\tstruct hlist_node f_list;\n\tstruct nfs_fh f_handle;\n\tstruct file *f_file[2];\n\tstruct nlm_share *f_shares;\n\tstruct list_head f_blocks;\n\tunsigned int f_locks;\n\tunsigned int f_count;\n\tstruct mutex f_mutex;\n};\n\nstruct nsm_handle;\n\nstruct nlm_host {\n\tstruct hlist_node h_hash;\n\tstruct __kernel_sockaddr_storage h_addr;\n\tsize_t h_addrlen;\n\tstruct __kernel_sockaddr_storage h_srcaddr;\n\tsize_t h_srcaddrlen;\n\tstruct rpc_clnt *h_rpcclnt;\n\tchar *h_name;\n\tu32 h_version;\n\tshort unsigned int h_proto;\n\tshort unsigned int h_reclaiming: 1;\n\tshort unsigned int h_server: 1;\n\tshort unsigned int h_noresvport: 1;\n\tshort unsigned int h_inuse: 1;\n\twait_queue_head_t h_gracewait;\n\tstruct rw_semaphore h_rwsem;\n\tu32 h_state;\n\tu32 h_nsmstate;\n\tu32 h_pidcount;\n\trefcount_t h_count;\n\tstruct mutex h_mutex;\n\tlong unsigned int h_nextrebind;\n\tlong unsigned int h_expires;\n\tstruct list_head h_lockowners;\n\tspinlock_t h_lock;\n\tstruct list_head h_granted;\n\tstruct list_head h_reclaim;\n\tstruct nsm_handle *h_nsmhandle;\n\tchar *h_addrbuf;\n\tstruct net *net;\n\tconst struct cred *h_cred;\n\tchar nodename[65];\n\tconst struct nlmclnt_operations *h_nlmclnt_ops;\n};\n\nstruct nlm_lockowner {\n\tstruct list_head list;\n\trefcount_t count;\n\tstruct nlm_host *host;\n\tfl_owner_t owner;\n\tuint32_t pid;\n};\n\nstruct nlm_lookup_host_info {\n\tconst int server;\n\tconst struct sockaddr *sap;\n\tconst size_t salen;\n\tconst short unsigned int protocol;\n\tconst u32 version;\n\tconst char *hostname;\n\tconst size_t hostname_len;\n\tconst int noresvport;\n\tstruct net *net;\n\tconst struct cred *cred;\n};\n\nstruct nsm_private {\n\tunsigned char data[16];\n};\n\nstruct nlm_reboot {\n\tchar *mon;\n\tunsigned int len;\n\tu32 state;\n\tstruct nsm_private priv;\n};\n\nstruct nlm_res {\n\tstruct nlm_cookie cookie;\n\t__be32 status;\n\tstruct nlm_lock lock;\n};\n\nstruct nlm_rqst {\n\trefcount_t a_count;\n\tunsigned int a_flags;\n\tstruct nlm_host *a_host;\n\tstruct nlm_args a_args;\n\tstruct nlm_res a_res;\n\tstruct nlm_block *a_block;\n\tunsigned int a_retries;\n\tu8 a_owner[74];\n\tvoid *a_callback_data;\n};\n\nstruct nlm_share {\n\tstruct nlm_share *s_next;\n\tstruct nlm_host *s_host;\n\tstruct nlm_file *s_file;\n\tstruct xdr_netobj s_owner;\n\tu32 s_access;\n\tu32 s_mode;\n};\n\nstruct nlm_wait {\n\tstruct list_head b_list;\n\twait_queue_head_t b_wait;\n\tstruct nlm_host *b_host;\n\tstruct file_lock *b_lock;\n\t__be32 b_status;\n};\n\nstruct nlmclnt_initdata {\n\tconst char *hostname;\n\tconst struct sockaddr *address;\n\tsize_t addrlen;\n\tshort unsigned int protocol;\n\tu32 nfs_version;\n\tint noresvport;\n\tstruct net *net;\n\tconst struct nlmclnt_operations *nlmclnt_ops;\n\tconst struct cred *cred;\n};\n\nstruct nlmclnt_operations {\n\tvoid (*nlmclnt_alloc_call)(void *);\n\tbool (*nlmclnt_unlock_prepare)(struct rpc_task *, void *);\n\tvoid (*nlmclnt_release_call)(void *);\n};\n\nstruct nlmsg_perm {\n\tu16 nlmsg_type;\n\tu32 perm;\n};\n\nstruct nlmsghdr {\n\t__u32 nlmsg_len;\n\t__u16 nlmsg_type;\n\t__u16 nlmsg_flags;\n\t__u32 nlmsg_seq;\n\t__u32 nlmsg_pid;\n};\n\nstruct nlmsgerr {\n\tint error;\n\tstruct nlmsghdr msg;\n};\n\nstruct nlmsvc_binding {\n\t__be32 (*fopen)(struct svc_rqst *, struct nfs_fh *, struct file **, int);\n\tvoid (*fclose)(struct file *);\n};\n\nstruct nls_table {\n\tconst char *charset;\n\tconst char *alias;\n\tint (*uni2char)(wchar_t, unsigned char *, int);\n\tint (*char2uni)(const unsigned char *, int, wchar_t *);\n\tconst unsigned char *charset2lower;\n\tconst unsigned char *charset2upper;\n\tstruct module *owner;\n\tstruct nls_table *next;\n};\n\nstruct node {\n\tstruct device dev;\n\tstruct list_head access_list;\n};\n\nstruct node_access_nodes {\n\tstruct device dev;\n\tstruct list_head list_node;\n\tunsigned int access;\n};\n\nstruct node_attr {\n\tstruct device_attribute attr;\n\tenum node_states state;\n};\n\nstruct node_groups {\n\tunsigned int id;\n\tunion {\n\t\tunsigned int ngroups;\n\t\tunsigned int ncpus;\n\t};\n};\n\nstruct node_hstate {\n\tstruct kobject *hugepages_kobj;\n\tstruct kobject *hstate_kobjs[1];\n};\n\nstruct node_memory_type_map {\n\tstruct memory_dev_type *memtype;\n\tint map_count;\n};\n\nstruct nodemask_scratch {\n\tnodemask_t mask1;\n\tnodemask_t mask2;\n};\n\nstruct nosave_region {\n\tstruct list_head list;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n};\n\nstruct notification {\n\tatomic_t requests;\n\tu32 flags;\n\tu64 next_id;\n\tstruct list_head notifications;\n};\n\nstruct ns_get_path_bpf_map_args {\n\tstruct bpf_offloaded_map *offmap;\n\tstruct bpf_map_info *info;\n};\n\nstruct ns_get_path_bpf_prog_args {\n\tstruct bpf_prog *prog;\n\tstruct bpf_prog_info *info;\n};\n\nstruct ns_get_path_task_args {\n\tconst struct proc_ns_operations *ns_ops;\n\tstruct task_struct *task;\n};\n\nstruct nsm_args {\n\tstruct nsm_private *priv;\n\tu32 prog;\n\tu32 vers;\n\tu32 proc;\n\tchar *mon_name;\n\tconst char *nodename;\n};\n\nstruct nsm_handle {\n\tstruct list_head sm_link;\n\trefcount_t sm_count;\n\tchar *sm_mon_name;\n\tchar *sm_name;\n\tstruct __kernel_sockaddr_storage sm_addr;\n\tsize_t sm_addrlen;\n\tunsigned int sm_monitored: 1;\n\tunsigned int sm_sticky: 1;\n\tstruct nsm_private sm_priv;\n\tchar sm_addrbuf[51];\n};\n\nstruct nsm_res {\n\tu32 status;\n\tu32 state;\n};\n\nstruct uts_namespace;\n\nstruct time_namespace;\n\nstruct nsproxy {\n\trefcount_t count;\n\tstruct uts_namespace *uts_ns;\n\tstruct ipc_namespace *ipc_ns;\n\tstruct mnt_namespace *mnt_ns;\n\tstruct pid_namespace *pid_ns_for_children;\n\tstruct net *net_ns;\n\tstruct time_namespace *time_ns;\n\tstruct time_namespace *time_ns_for_children;\n\tstruct cgroup_namespace *cgroup_ns;\n};\n\nstruct nsset {\n\tunsigned int flags;\n\tstruct nsproxy *nsproxy;\n\tstruct fs_struct *fs;\n\tconst struct cred *cred;\n};\n\nstruct nt_partition_info {\n\tu32 xlink_enabled;\n\tu32 target_part_low;\n\tu32 target_part_high;\n\tu32 reserved;\n};\n\nstruct ntb_ctrl_regs {\n\tu32 partition_status;\n\tu32 partition_op;\n\tu32 partition_ctrl;\n\tu32 bar_setup;\n\tu32 bar_error;\n\tu16 lut_table_entries;\n\tu16 lut_table_offset;\n\tu32 lut_error;\n\tu16 req_id_table_size;\n\tu16 req_id_table_offset;\n\tu32 req_id_error;\n\tu32 reserved1[7];\n\tstruct {\n\t\tu32 ctl;\n\t\tu32 win_size;\n\t\tu64 xlate_addr;\n\t} bar_entry[6];\n\tstruct {\n\t\tu32 win_size;\n\t\tu32 reserved[3];\n\t} bar_ext_entry[6];\n\tu32 reserved2[192];\n\tu32 req_id_table[512];\n\tu32 reserved3[256];\n\tu64 lut_entry[512];\n};\n\nstruct ntb_info_regs {\n\tu8 partition_count;\n\tu8 partition_id;\n\tu16 reserved1;\n\tu64 ep_map;\n\tu16 requester_id;\n\tu16 reserved2;\n\tu32 reserved3[4];\n\tstruct nt_partition_info ntp_info[48];\n} __attribute__((packed));\n\nstruct ntp_data {\n\tlong unsigned int tick_usec;\n\tu64 tick_length;\n\tu64 tick_length_base;\n\tint time_state;\n\tint time_status;\n\ts64 time_offset;\n\tlong int time_constant;\n\tlong int time_maxerror;\n\tlong int time_esterror;\n\ts64 time_freq;\n\ttime64_t time_reftime;\n\tlong int time_adjust;\n\ts64 ntp_tick_adj;\n\ttime64_t ntp_next_leap_sec;\n};\n\nstruct numa_group {\n\trefcount_t refcount;\n\tspinlock_t lock;\n\tint nr_tasks;\n\tpid_t gid;\n\tint active_nodes;\n\tstruct callback_head rcu;\n\tlong unsigned int total_faults;\n\tlong unsigned int max_faults_cpu;\n\tlong unsigned int faults[0];\n};\n\nstruct numa_maps {\n\tlong unsigned int pages;\n\tlong unsigned int anon;\n\tlong unsigned int active;\n\tlong unsigned int writeback;\n\tlong unsigned int mapcount_max;\n\tlong unsigned int dirty;\n\tlong unsigned int swapcache;\n\tlong unsigned int node[64];\n};\n\nstruct proc_maps_private {\n\tstruct inode *inode;\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct vma_iterator iter;\n\tstruct mempolicy *task_mempolicy;\n};\n\nstruct numa_maps_private {\n\tstruct proc_maps_private proc_maps;\n\tstruct numa_maps md;\n};\n\nstruct numa_memblk {\n\tu64 start;\n\tu64 end;\n\tint nid;\n};\n\nstruct numa_meminfo {\n\tint nr_blks;\n\tstruct numa_memblk blk[128];\n};\n\nstruct numa_stats {\n\tlong unsigned int load;\n\tlong unsigned int runnable;\n\tlong unsigned int util;\n\tlong unsigned int compute_capacity;\n\tunsigned int nr_running;\n\tunsigned int weight;\n\tenum numa_type node_type;\n\tint idle_cpu;\n};\n\nstruct nvm_auth_status {\n\tstruct list_head list;\n\tuuid_t uuid;\n\tu32 status;\n};\n\nstruct nvme_abort_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__u32 rsvd1[9];\n\t__le16 sqid;\n\t__u16 cid;\n\t__u32 rsvd11[5];\n};\n\nstruct nvme_ana_group_desc {\n\t__le32 grpid;\n\t__le32 nnsids;\n\t__le64 chgcnt;\n\t__u8 state;\n\t__u8 rsvd17[15];\n\t__le32 nsids[0];\n};\n\nstruct nvme_ana_rsp_hdr {\n\t__le64 chgcnt;\n\t__le16 ngrps;\n\t__le16 rsvd10[3];\n};\n\nstruct nvme_sgl_desc {\n\t__le64 addr;\n\t__le32 length;\n\t__u8 rsvd[3];\n\t__u8 type;\n};\n\nstruct nvme_keyed_sgl_desc {\n\t__le64 addr;\n\t__u8 length[3];\n\t__u8 key[4];\n\t__u8 type;\n};\n\nunion nvme_data_ptr {\n\tstruct {\n\t\t__le64 prp1;\n\t\t__le64 prp2;\n\t};\n\tstruct nvme_sgl_desc sgl;\n\tstruct nvme_keyed_sgl_desc ksgl;\n};\n\nstruct nvme_common_command {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__le32 cdw2[2];\n\t__le64 metadata;\n\tunion nvme_data_ptr dptr;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 cdw10;\n\t\t\t__le32 cdw11;\n\t\t\t__le32 cdw12;\n\t\t\t__le32 cdw13;\n\t\t\t__le32 cdw14;\n\t\t\t__le32 cdw15;\n\t\t};\n\t\tstruct {\n\t\t\t__le32 cdw10;\n\t\t\t__le32 cdw11;\n\t\t\t__le32 cdw12;\n\t\t\t__le32 cdw13;\n\t\t\t__le32 cdw14;\n\t\t\t__le32 cdw15;\n\t\t} cdws;\n\t};\n};\n\nstruct nvme_rw_command {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__le32 cdw2;\n\t__le32 cdw3;\n\t__le64 metadata;\n\tunion nvme_data_ptr dptr;\n\t__le64 slba;\n\t__le16 length;\n\t__le16 control;\n\t__le32 dsmgmt;\n\t__le32 reftag;\n\t__le16 lbat;\n\t__le16 lbatm;\n};\n\nstruct nvme_identify {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__u64 rsvd2[2];\n\tunion nvme_data_ptr dptr;\n\t__u8 cns;\n\t__u8 rsvd3;\n\t__le16 ctrlid;\n\t__le16 cnssid;\n\t__u8 rsvd11;\n\t__u8 csi;\n\t__u32 rsvd12[4];\n};\n\nstruct nvme_features {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__u64 rsvd2[2];\n\tunion nvme_data_ptr dptr;\n\t__le32 fid;\n\t__le32 dword11;\n\t__le32 dword12;\n\t__le32 dword13;\n\t__le32 dword14;\n\t__le32 dword15;\n};\n\nstruct nvme_create_cq {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__u32 rsvd1[5];\n\t__le64 prp1;\n\t__u64 rsvd8;\n\t__le16 cqid;\n\t__le16 qsize;\n\t__le16 cq_flags;\n\t__le16 irq_vector;\n\t__u32 rsvd12[4];\n};\n\nstruct nvme_create_sq {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__u32 rsvd1[5];\n\t__le64 prp1;\n\t__u64 rsvd8;\n\t__le16 sqid;\n\t__le16 qsize;\n\t__le16 sq_flags;\n\t__le16 cqid;\n\t__u32 rsvd12[4];\n};\n\nstruct nvme_delete_queue {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__u32 rsvd1[9];\n\t__le16 qid;\n\t__u16 rsvd10;\n\t__u32 rsvd11[5];\n};\n\nstruct nvme_download_firmware {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__u32 rsvd1[5];\n\tunion nvme_data_ptr dptr;\n\t__le32 numd;\n\t__le32 offset;\n\t__u32 rsvd12[4];\n};\n\nstruct nvme_format_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__u64 rsvd2[4];\n\t__le32 cdw10;\n\t__u32 rsvd11[5];\n};\n\nstruct nvme_dsm_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__u64 rsvd2[2];\n\tunion nvme_data_ptr dptr;\n\t__le32 nr;\n\t__le32 attributes;\n\t__u32 rsvd12[4];\n};\n\nstruct nvme_write_zeroes_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__u64 rsvd2;\n\t__le64 metadata;\n\tunion nvme_data_ptr dptr;\n\t__le64 slba;\n\t__le16 length;\n\t__le16 control;\n\t__le32 dsmgmt;\n\t__le32 reftag;\n\t__le16 lbat;\n\t__le16 lbatm;\n};\n\nstruct nvme_zone_mgmt_send_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__le32 cdw2[2];\n\t__le64 metadata;\n\tunion nvme_data_ptr dptr;\n\t__le64 slba;\n\t__le32 cdw12;\n\t__u8 zsa;\n\t__u8 select_all;\n\t__u8 rsvd13[2];\n\t__le32 cdw14[2];\n};\n\nstruct nvme_zone_mgmt_recv_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__le64 rsvd2[2];\n\tunion nvme_data_ptr dptr;\n\t__le64 slba;\n\t__le32 numd;\n\t__u8 zra;\n\t__u8 zrasf;\n\t__u8 pr;\n\t__u8 rsvd13;\n\t__le32 cdw14[2];\n};\n\nstruct nvme_get_log_page_command {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__u64 rsvd2[2];\n\tunion nvme_data_ptr dptr;\n\t__u8 lid;\n\t__u8 lsp;\n\t__le16 numdl;\n\t__le16 numdu;\n\t__le16 lsi;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 lpol;\n\t\t\t__le32 lpou;\n\t\t};\n\t\t__le64 lpo;\n\t};\n\t__u8 rsvd14[3];\n\t__u8 csi;\n\t__u32 rsvd15;\n};\n\nstruct nvmf_common_command {\n\t__u8 opcode;\n\t__u8 resv1;\n\t__u16 command_id;\n\t__u8 fctype;\n\t__u8 resv2[35];\n\t__u8 ts[24];\n};\n\nstruct nvmf_connect_command {\n\t__u8 opcode;\n\t__u8 resv1;\n\t__u16 command_id;\n\t__u8 fctype;\n\t__u8 resv2[19];\n\tunion nvme_data_ptr dptr;\n\t__le16 recfmt;\n\t__le16 qid;\n\t__le16 sqsize;\n\t__u8 cattr;\n\t__u8 resv3;\n\t__le32 kato;\n\t__u8 resv4[12];\n};\n\nstruct nvmf_property_set_command {\n\t__u8 opcode;\n\t__u8 resv1;\n\t__u16 command_id;\n\t__u8 fctype;\n\t__u8 resv2[35];\n\t__u8 attrib;\n\t__u8 resv3[3];\n\t__le32 offset;\n\t__le64 value;\n\t__u8 resv4[8];\n};\n\nstruct nvmf_property_get_command {\n\t__u8 opcode;\n\t__u8 resv1;\n\t__u16 command_id;\n\t__u8 fctype;\n\t__u8 resv2[35];\n\t__u8 attrib;\n\t__u8 resv3[3];\n\t__le32 offset;\n\t__u8 resv4[16];\n};\n\nstruct nvmf_auth_common_command {\n\t__u8 opcode;\n\t__u8 resv1;\n\t__u16 command_id;\n\t__u8 fctype;\n\t__u8 resv2[19];\n\tunion nvme_data_ptr dptr;\n\t__u8 resv3;\n\t__u8 spsp0;\n\t__u8 spsp1;\n\t__u8 secp;\n\t__le32 al_tl;\n\t__u8 resv4[16];\n};\n\nstruct nvmf_auth_send_command {\n\t__u8 opcode;\n\t__u8 resv1;\n\t__u16 command_id;\n\t__u8 fctype;\n\t__u8 resv2[19];\n\tunion nvme_data_ptr dptr;\n\t__u8 resv3;\n\t__u8 spsp0;\n\t__u8 spsp1;\n\t__u8 secp;\n\t__le32 tl;\n\t__u8 resv4[16];\n};\n\nstruct nvmf_auth_receive_command {\n\t__u8 opcode;\n\t__u8 resv1;\n\t__u16 command_id;\n\t__u8 fctype;\n\t__u8 resv2[19];\n\tunion nvme_data_ptr dptr;\n\t__u8 resv3;\n\t__u8 spsp0;\n\t__u8 spsp1;\n\t__u8 secp;\n\t__le32 al;\n\t__u8 resv4[16];\n};\n\nstruct nvme_dbbuf {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__u32 rsvd1[5];\n\t__le64 prp1;\n\t__le64 prp2;\n\t__u32 rsvd12[6];\n};\n\nstruct nvme_directive_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 command_id;\n\t__le32 nsid;\n\t__u64 rsvd2[2];\n\tunion nvme_data_ptr dptr;\n\t__le32 numd;\n\t__u8 doper;\n\t__u8 dtype;\n\t__le16 dspec;\n\t__u8 endir;\n\t__u8 tdtype;\n\t__u16 rsvd15;\n\t__u32 rsvd16[3];\n};\n\nstruct nvme_command {\n\tunion {\n\t\tstruct nvme_common_command common;\n\t\tstruct nvme_rw_command rw;\n\t\tstruct nvme_identify identify;\n\t\tstruct nvme_features features;\n\t\tstruct nvme_create_cq create_cq;\n\t\tstruct nvme_create_sq create_sq;\n\t\tstruct nvme_delete_queue delete_queue;\n\t\tstruct nvme_download_firmware dlfw;\n\t\tstruct nvme_format_cmd format;\n\t\tstruct nvme_dsm_cmd dsm;\n\t\tstruct nvme_write_zeroes_cmd write_zeroes;\n\t\tstruct nvme_zone_mgmt_send_cmd zms;\n\t\tstruct nvme_zone_mgmt_recv_cmd zmr;\n\t\tstruct nvme_abort_cmd abort;\n\t\tstruct nvme_get_log_page_command get_log_page;\n\t\tstruct nvmf_common_command fabrics;\n\t\tstruct nvmf_connect_command connect;\n\t\tstruct nvmf_property_set_command prop_set;\n\t\tstruct nvmf_property_get_command prop_get;\n\t\tstruct nvmf_auth_common_command auth_common;\n\t\tstruct nvmf_auth_send_command auth_send;\n\t\tstruct nvmf_auth_receive_command auth_receive;\n\t\tstruct nvme_dbbuf dbbuf;\n\t\tstruct nvme_directive_cmd directive;\n\t};\n};\n\nunion nvme_result {\n\t__le16 u16;\n\t__le32 u32;\n\t__le64 u64;\n};\n\nstruct nvme_completion {\n\tunion nvme_result result;\n\t__le16 sq_head;\n\t__le16 sq_id;\n\t__u16 command_id;\n\t__le16 status;\n};\n\nstruct nvme_core_quirk_entry {\n\tu16 vid;\n\tconst char *mn;\n\tconst char *fr;\n\tlong unsigned int quirks;\n};\n\nstruct opal_dev;\n\nstruct nvme_id_power_state {\n\t__le16 max_power;\n\t__u8 rsvd2;\n\t__u8 flags;\n\t__le32 entry_lat;\n\t__le32 exit_lat;\n\t__u8 read_tput;\n\t__u8 read_lat;\n\t__u8 write_tput;\n\t__u8 write_lat;\n\t__le16 idle_power;\n\t__u8 idle_scale;\n\t__u8 rsvd19;\n\t__le16 active_power;\n\t__u8 active_work_scale;\n\t__u8 rsvd23[9];\n};\n\nstruct nvme_fault_inject {};\n\nstruct nvme_ctrl_ops;\n\nstruct nvme_subsystem;\n\nstruct nvme_effects_log;\n\nstruct nvmf_ctrl_options;\n\nstruct nvme_ctrl {\n\tbool comp_seen;\n\tbool identified;\n\tbool passthru_err_log_enabled;\n\tenum nvme_ctrl_state state;\n\tspinlock_t lock;\n\tstruct mutex scan_lock;\n\tconst struct nvme_ctrl_ops *ops;\n\tstruct request_queue *admin_q;\n\tstruct request_queue *connect_q;\n\tstruct request_queue *fabrics_q;\n\tstruct device *dev;\n\tint instance;\n\tint numa_node;\n\tstruct blk_mq_tag_set *tagset;\n\tstruct blk_mq_tag_set *admin_tagset;\n\tstruct list_head namespaces;\n\tstruct mutex namespaces_lock;\n\tstruct srcu_struct srcu;\n\tstruct device ctrl_device;\n\tstruct device *device;\n\tstruct cdev cdev;\n\tstruct work_struct reset_work;\n\tstruct work_struct delete_work;\n\twait_queue_head_t state_wq;\n\tstruct nvme_subsystem *subsys;\n\tstruct list_head subsys_entry;\n\tstruct opal_dev *opal_dev;\n\tu16 cntlid;\n\tu16 mtfa;\n\tu32 ctrl_config;\n\tu32 queue_count;\n\tu64 cap;\n\tu32 max_hw_sectors;\n\tu32 max_segments;\n\tu32 max_integrity_segments;\n\tu32 max_zeroes_sectors;\n\tu32 max_zone_append;\n\tu16 crdt[3];\n\tu16 oncs;\n\tu8 dmrl;\n\tu32 dmrsl;\n\tu16 oacs;\n\tu16 sqsize;\n\tu32 max_namespaces;\n\tatomic_t abort_limit;\n\tu8 vwc;\n\tu32 vs;\n\tu32 sgls;\n\tu16 kas;\n\tu8 npss;\n\tu8 apsta;\n\tu16 wctemp;\n\tu16 cctemp;\n\tu32 oaes;\n\tu32 aen_result;\n\tu32 ctratt;\n\tunsigned int shutdown_timeout;\n\tunsigned int kato;\n\tbool subsystem;\n\tlong unsigned int quirks;\n\tstruct nvme_id_power_state psd[32];\n\tstruct nvme_effects_log *effects;\n\tstruct xarray cels;\n\tstruct work_struct scan_work;\n\tstruct work_struct async_event_work;\n\tstruct delayed_work ka_work;\n\tstruct delayed_work failfast_work;\n\tstruct nvme_command ka_cmd;\n\tlong unsigned int ka_last_check_time;\n\tstruct work_struct fw_act_work;\n\tlong unsigned int events;\n\tu8 anacap;\n\tu8 anatt;\n\tu32 anagrpmax;\n\tu32 nanagrpid;\n\tstruct mutex ana_lock;\n\tstruct nvme_ana_rsp_hdr *ana_log_buf;\n\tsize_t ana_log_size;\n\tstruct timer_list anatt_timer;\n\tstruct work_struct ana_work;\n\tatomic_t nr_active;\n\tkey_serial_t tls_pskid;\n\tu64 ps_max_latency_us;\n\tbool apst_enabled;\n\tu16 hmmaxd;\n\tu32 hmpre;\n\tu32 hmmin;\n\tu32 hmminds;\n\tu32 ioccsz;\n\tu32 iorcsz;\n\tu16 icdoff;\n\tu16 maxcmd;\n\tint nr_reconnects;\n\tlong unsigned int flags;\n\tstruct nvmf_ctrl_options *opts;\n\tstruct page *discard_page;\n\tlong unsigned int discard_page_busy;\n\tstruct nvme_fault_inject fault_inject;\n\tenum nvme_ctrl_type cntrltype;\n\tenum nvme_dctype dctype;\n};\n\nstruct nvme_ctrl_ops {\n\tconst char *name;\n\tstruct module *module;\n\tunsigned int flags;\n\tconst struct attribute_group **dev_attr_groups;\n\tint (*reg_read32)(struct nvme_ctrl *, u32, u32 *);\n\tint (*reg_write32)(struct nvme_ctrl *, u32, u32);\n\tint (*reg_read64)(struct nvme_ctrl *, u32, u64 *);\n\tvoid (*free_ctrl)(struct nvme_ctrl *);\n\tvoid (*submit_async_event)(struct nvme_ctrl *);\n\tint (*subsystem_reset)(struct nvme_ctrl *);\n\tvoid (*delete_ctrl)(struct nvme_ctrl *);\n\tvoid (*stop_ctrl)(struct nvme_ctrl *);\n\tint (*get_address)(struct nvme_ctrl *, char *, int);\n\tvoid (*print_device_info)(struct nvme_ctrl *);\n\tbool (*supports_pci_p2pdma)(struct nvme_ctrl *);\n};\n\nunion nvme_descriptor {\n\tstruct nvme_sgl_desc *sg_list;\n\t__le64 *prp_list;\n};\n\nstruct nvme_queue;\n\nstruct nvme_host_mem_buf_desc;\n\nstruct nvme_dev {\n\tstruct nvme_queue *queues;\n\tstruct blk_mq_tag_set tagset;\n\tstruct blk_mq_tag_set admin_tagset;\n\tu32 *dbs;\n\tstruct device *dev;\n\tstruct dma_pool *prp_page_pool;\n\tstruct dma_pool *prp_small_pool;\n\tunsigned int online_queues;\n\tunsigned int max_qid;\n\tunsigned int io_queues[3];\n\tunsigned int num_vecs;\n\tu32 q_depth;\n\tint io_sqes;\n\tu32 db_stride;\n\tvoid *bar;\n\tlong unsigned int bar_mapped_size;\n\tstruct mutex shutdown_lock;\n\tbool subsystem;\n\tu64 cmb_size;\n\tbool cmb_use_sqes;\n\tu32 cmbsz;\n\tu32 cmbloc;\n\tstruct nvme_ctrl ctrl;\n\tu32 last_ps;\n\tbool hmb;\n\tstruct sg_table *hmb_sgt;\n\tmempool_t *iod_mempool;\n\tmempool_t *iod_meta_mempool;\n\t__le32 *dbbuf_dbs;\n\tdma_addr_t dbbuf_dbs_dma_addr;\n\t__le32 *dbbuf_eis;\n\tdma_addr_t dbbuf_eis_dma_addr;\n\tu64 host_mem_size;\n\tu32 nr_host_mem_descs;\n\tu32 host_mem_descs_size;\n\tdma_addr_t host_mem_descs_dma;\n\tstruct nvme_host_mem_buf_desc *host_mem_descs;\n\tvoid **host_mem_desc_bufs;\n\tunsigned int nr_allocated_queues;\n\tunsigned int nr_write_queues;\n\tunsigned int nr_poll_queues;\n};\n\nstruct nvme_dsm_range {\n\t__le32 cattr;\n\t__le32 nlb;\n\t__le64 slba;\n};\n\nstruct nvme_effects_log {\n\t__le32 acs[256];\n\t__le32 iocs[256];\n\t__u8 resv[2048];\n};\n\nstruct nvme_feat_auto_pst {\n\t__le64 entries[32];\n};\n\nstruct nvme_feat_host_behavior {\n\t__u8 acre;\n\t__u8 etdas;\n\t__u8 lbafee;\n\t__u8 resv1[509];\n};\n\nstruct nvme_fw_slot_info_log {\n\t__u8 afi;\n\t__u8 rsvd1[7];\n\t__le64 frs[7];\n\t__u8 rsvd64[448];\n};\n\nstruct nvme_host_mem_buf_desc {\n\t__le64 addr;\n\t__le32 size;\n\t__u32 rsvd;\n};\n\nstruct nvme_id_ctrl {\n\t__le16 vid;\n\t__le16 ssvid;\n\tchar sn[20];\n\tchar mn[40];\n\tchar fr[8];\n\t__u8 rab;\n\t__u8 ieee[3];\n\t__u8 cmic;\n\t__u8 mdts;\n\t__le16 cntlid;\n\t__le32 ver;\n\t__le32 rtd3r;\n\t__le32 rtd3e;\n\t__le32 oaes;\n\t__le32 ctratt;\n\t__u8 rsvd100[11];\n\t__u8 cntrltype;\n\t__u8 fguid[16];\n\t__le16 crdt1;\n\t__le16 crdt2;\n\t__le16 crdt3;\n\t__u8 rsvd134[122];\n\t__le16 oacs;\n\t__u8 acl;\n\t__u8 aerl;\n\t__u8 frmw;\n\t__u8 lpa;\n\t__u8 elpe;\n\t__u8 npss;\n\t__u8 avscc;\n\t__u8 apsta;\n\t__le16 wctemp;\n\t__le16 cctemp;\n\t__le16 mtfa;\n\t__le32 hmpre;\n\t__le32 hmmin;\n\t__u8 tnvmcap[16];\n\t__u8 unvmcap[16];\n\t__le32 rpmbs;\n\t__le16 edstt;\n\t__u8 dsto;\n\t__u8 fwug;\n\t__le16 kas;\n\t__le16 hctma;\n\t__le16 mntmt;\n\t__le16 mxtmt;\n\t__le32 sanicap;\n\t__le32 hmminds;\n\t__le16 hmmaxd;\n\t__le16 nvmsetidmax;\n\t__le16 endgidmax;\n\t__u8 anatt;\n\t__u8 anacap;\n\t__le32 anagrpmax;\n\t__le32 nanagrpid;\n\t__u8 rsvd352[160];\n\t__u8 sqes;\n\t__u8 cqes;\n\t__le16 maxcmd;\n\t__le32 nn;\n\t__le16 oncs;\n\t__le16 fuses;\n\t__u8 fna;\n\t__u8 vwc;\n\t__le16 awun;\n\t__le16 awupf;\n\t__u8 nvscc;\n\t__u8 nwpc;\n\t__le16 acwu;\n\t__u8 rsvd534[2];\n\t__le32 sgls;\n\t__le32 mnan;\n\t__u8 rsvd544[224];\n\tchar subnqn[256];\n\t__u8 rsvd1024[768];\n\t__le32 ioccsz;\n\t__le32 iorcsz;\n\t__le16 icdoff;\n\t__u8 ctrattr;\n\t__u8 msdbd;\n\t__u8 rsvd1804[2];\n\t__u8 dctype;\n\t__u8 rsvd1807[241];\n\tstruct nvme_id_power_state psd[32];\n\t__u8 vs[1024];\n};\n\nstruct nvme_id_ctrl_nvm {\n\t__u8 vsl;\n\t__u8 wzsl;\n\t__u8 wusl;\n\t__u8 dmrl;\n\t__le32 dmrsl;\n\t__le64 dmsl;\n\t__u8 rsvd16[4080];\n};\n\nstruct nvme_id_ctrl_zns {\n\t__u8 zasl;\n\t__u8 rsvd1[4095];\n};\n\nstruct nvme_lbaf {\n\t__le16 ms;\n\t__u8 ds;\n\t__u8 rp;\n};\n\nstruct nvme_id_ns {\n\t__le64 nsze;\n\t__le64 ncap;\n\t__le64 nuse;\n\t__u8 nsfeat;\n\t__u8 nlbaf;\n\t__u8 flbas;\n\t__u8 mc;\n\t__u8 dpc;\n\t__u8 dps;\n\t__u8 nmic;\n\t__u8 rescap;\n\t__u8 fpi;\n\t__u8 dlfeat;\n\t__le16 nawun;\n\t__le16 nawupf;\n\t__le16 nacwu;\n\t__le16 nabsn;\n\t__le16 nabo;\n\t__le16 nabspf;\n\t__le16 noiob;\n\t__u8 nvmcap[16];\n\t__le16 npwg;\n\t__le16 npwa;\n\t__le16 npdg;\n\t__le16 npda;\n\t__le16 nows;\n\t__u8 rsvd74[18];\n\t__le32 anagrpid;\n\t__u8 rsvd96[3];\n\t__u8 nsattr;\n\t__le16 nvmsetid;\n\t__le16 endgid;\n\t__u8 nguid[16];\n\t__u8 eui64[8];\n\tstruct nvme_lbaf lbaf[64];\n\t__u8 vs[3712];\n};\n\nstruct nvme_id_ns_cs_indep {\n\t__u8 nsfeat;\n\t__u8 nmic;\n\t__u8 rescap;\n\t__u8 fpi;\n\t__le32 anagrpid;\n\t__u8 nsattr;\n\t__u8 rsvd9;\n\t__le16 nvmsetid;\n\t__le16 endgid;\n\t__u8 nstat;\n\t__u8 rsvd15[4081];\n};\n\nstruct nvme_id_ns_nvm {\n\t__le64 lbstm;\n\t__u8 pic;\n\t__u8 rsvd9[3];\n\t__le32 elbaf[64];\n\t__u8 rsvd268[3828];\n};\n\nstruct nvme_zns_lbafe {\n\t__le64 zsze;\n\t__u8 zdes;\n\t__u8 rsvd9[7];\n};\n\nstruct nvme_id_ns_zns {\n\t__le16 zoc;\n\t__le16 ozcs;\n\t__le32 mar;\n\t__le32 mor;\n\t__le32 rrl;\n\t__le32 frl;\n\t__u8 rsvd20[2796];\n\tstruct nvme_zns_lbafe lbafe[64];\n\t__u8 vs[256];\n};\n\nstruct nvme_request {\n\tstruct nvme_command *cmd;\n\tunion nvme_result result;\n\tu8 genctr;\n\tu8 retries;\n\tu8 flags;\n\tu16 status;\n\tlong unsigned int start_time;\n\tstruct nvme_ctrl *ctrl;\n};\n\nstruct nvme_iod {\n\tstruct nvme_request req;\n\tstruct nvme_command cmd;\n\tbool aborted;\n\ts8 nr_allocations;\n\tunsigned int dma_len;\n\tdma_addr_t first_dma;\n\tdma_addr_t meta_dma;\n\tstruct sg_table sgt;\n\tstruct sg_table meta_sgt;\n\tunion nvme_descriptor meta_list;\n\tunion nvme_descriptor list[5];\n};\n\nstruct nvme_ns_head;\n\nstruct nvme_ns {\n\tstruct list_head list;\n\tstruct nvme_ctrl *ctrl;\n\tstruct request_queue *queue;\n\tstruct gendisk *disk;\n\tenum nvme_ana_state ana_state;\n\tu32 ana_grpid;\n\tstruct list_head siblings;\n\tstruct kref kref;\n\tstruct nvme_ns_head *head;\n\tlong unsigned int flags;\n\tstruct cdev cdev;\n\tstruct device cdev_device;\n\tstruct nvme_fault_inject fault_inject;\n};\n\nstruct nvme_ns_ids {\n\tu8 eui64[8];\n\tu8 nguid[16];\n\tuuid_t uuid;\n\tu8 csi;\n};\n\nstruct nvme_ns_head {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tstruct nvme_subsystem *subsys;\n\tstruct nvme_ns_ids ids;\n\tu8 lba_shift;\n\tu16 ms;\n\tu16 pi_size;\n\tu8 pi_type;\n\tu8 guard_type;\n\tstruct list_head entry;\n\tstruct kref ref;\n\tbool shared;\n\tbool rotational;\n\tbool passthru_err_log_enabled;\n\tstruct nvme_effects_log *effects;\n\tu64 nuse;\n\tunsigned int ns_id;\n\tint instance;\n\tu64 zsze;\n\tlong unsigned int features;\n\tstruct ratelimit_state rs_nuse;\n\tstruct cdev cdev;\n\tstruct device cdev_device;\n\tstruct gendisk *disk;\n\tstruct bio_list requeue_list;\n\tspinlock_t requeue_lock;\n\tstruct work_struct requeue_work;\n\tstruct work_struct partition_scan_work;\n\tstruct mutex lock;\n\tlong unsigned int flags;\n\tstruct nvme_ns *current_path[0];\n};\n\nstruct nvme_ns_id_desc {\n\t__u8 nidt;\n\t__u8 nidl;\n\t__le16 reserved;\n};\n\nstruct nvme_ns_info {\n\tstruct nvme_ns_ids ids;\n\tu32 nsid;\n\t__le32 anagrpid;\n\tu8 pi_offset;\n\tbool is_shared;\n\tbool is_readonly;\n\tbool is_ready;\n\tbool is_removed;\n\tbool is_rotational;\n\tbool no_vwc;\n};\n\nstruct nvme_passthru_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 rsvd1;\n\t__u32 nsid;\n\t__u32 cdw2;\n\t__u32 cdw3;\n\t__u64 metadata;\n\t__u64 addr;\n\t__u32 metadata_len;\n\t__u32 data_len;\n\t__u32 cdw10;\n\t__u32 cdw11;\n\t__u32 cdw12;\n\t__u32 cdw13;\n\t__u32 cdw14;\n\t__u32 cdw15;\n\t__u32 timeout_ms;\n\t__u32 result;\n};\n\nstruct nvme_passthru_cmd64 {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 rsvd1;\n\t__u32 nsid;\n\t__u32 cdw2;\n\t__u32 cdw3;\n\t__u64 metadata;\n\t__u64 addr;\n\t__u32 metadata_len;\n\tunion {\n\t\t__u32 data_len;\n\t\t__u32 vec_cnt;\n\t};\n\t__u32 cdw10;\n\t__u32 cdw11;\n\t__u32 cdw12;\n\t__u32 cdw13;\n\t__u32 cdw14;\n\t__u32 cdw15;\n\t__u32 timeout_ms;\n\t__u32 rsvd2;\n\t__u64 result;\n};\n\nstruct nvme_queue {\n\tstruct nvme_dev *dev;\n\tspinlock_t sq_lock;\n\tvoid *sq_cmds;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t cq_poll_lock;\n\tstruct nvme_completion *cqes;\n\tdma_addr_t sq_dma_addr;\n\tdma_addr_t cq_dma_addr;\n\tu32 *q_db;\n\tu32 q_depth;\n\tu16 cq_vector;\n\tu16 sq_tail;\n\tu16 last_sq_tail;\n\tu16 cq_head;\n\tu16 qid;\n\tu8 cq_phase;\n\tu8 sqes;\n\tlong unsigned int flags;\n\t__le32 *dbbuf_sq_db;\n\t__le32 *dbbuf_cq_db;\n\t__le32 *dbbuf_sq_ei;\n\t__le32 *dbbuf_cq_ei;\n\tstruct completion delete_done;\n};\n\nstruct nvme_registered_ctrl {\n\t__le16 cntlid;\n\t__u8 rcsts;\n\t__u8 rsvd3[5];\n\t__le64 hostid;\n\t__le64 rkey;\n};\n\nstruct nvme_registered_ctrl_ext {\n\t__le16 cntlid;\n\t__u8 rcsts;\n\t__u8 rsvd3[5];\n\t__le64 rkey;\n\t__u8 hostid[16];\n\t__u8 rsvd32[32];\n};\n\nstruct nvme_reservation_status {\n\t__le32 gen;\n\t__u8 rtype;\n\t__u8 regctl[2];\n\t__u8 resv5[2];\n\t__u8 ptpls;\n\t__u8 resv10[14];\n\tstruct nvme_registered_ctrl regctl_ds[0];\n};\n\nstruct nvme_reservation_status_ext {\n\t__le32 gen;\n\t__u8 rtype;\n\t__u8 regctl[2];\n\t__u8 resv5[2];\n\t__u8 ptpls;\n\t__u8 resv10[14];\n\t__u8 rsvd24[40];\n\tstruct nvme_registered_ctrl_ext regctl_eds[0];\n};\n\nstruct nvme_subsystem {\n\tint instance;\n\tstruct device dev;\n\tstruct kref ref;\n\tstruct list_head entry;\n\tstruct mutex lock;\n\tstruct list_head ctrls;\n\tstruct list_head nsheads;\n\tchar subnqn[223];\n\tchar serial[20];\n\tchar model[40];\n\tchar firmware_rev[8];\n\tu8 cmic;\n\tenum nvme_subsys_type subtype;\n\tu16 vendor_id;\n\tu16 awupf;\n\tstruct ida ns_ida;\n\tenum nvme_iopolicy iopolicy;\n};\n\nstruct nvme_uring_cmd {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 rsvd1;\n\t__u32 nsid;\n\t__u32 cdw2;\n\t__u32 cdw3;\n\t__u64 metadata;\n\t__u64 addr;\n\t__u32 metadata_len;\n\t__u32 data_len;\n\t__u32 cdw10;\n\t__u32 cdw11;\n\t__u32 cdw12;\n\t__u32 cdw13;\n\t__u32 cdw14;\n\t__u32 cdw15;\n\t__u32 timeout_ms;\n\t__u32 rsvd2;\n};\n\nstruct nvme_uring_cmd_pdu {\n\tstruct request *req;\n\tstruct bio *bio;\n\tu64 result;\n\tint status;\n};\n\nstruct nvme_uring_data {\n\t__u64 metadata;\n\t__u64 addr;\n\t__u32 data_len;\n\t__u32 metadata_len;\n\t__u32 timeout_ms;\n};\n\nstruct nvme_user_io {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 control;\n\t__u16 nblocks;\n\t__u16 rsvd;\n\t__u64 metadata;\n\t__u64 addr;\n\t__u64 slba;\n\t__u32 dsmgmt;\n\t__u32 reftag;\n\t__u16 apptag;\n\t__u16 appmask;\n};\n\nstruct nvme_zone_descriptor {\n\t__u8 zt;\n\t__u8 zs;\n\t__u8 za;\n\t__u8 rsvd3[5];\n\t__le64 zcap;\n\t__le64 zslba;\n\t__le64 wp;\n\t__u8 rsvd32[32];\n};\n\nstruct nvme_zone_info {\n\tu64 zone_size;\n\tunsigned int max_open_zones;\n\tunsigned int max_active_zones;\n};\n\nstruct nvme_zone_report {\n\t__le64 nr_zones;\n\t__u8 resv8[56];\n\tstruct nvme_zone_descriptor entries[0];\n};\n\nstruct nvmem_cell_entry;\n\nstruct nvmem_cell {\n\tstruct nvmem_cell_entry *entry;\n\tconst char *id;\n\tint index;\n};\n\ntypedef int (*nvmem_cell_post_process_t)(void *, const char *, int, unsigned int, void *, size_t);\n\nstruct nvmem_device;\n\nstruct nvmem_cell_entry {\n\tconst char *name;\n\tint offset;\n\tsize_t raw_len;\n\tint bytes;\n\tint bit_offset;\n\tint nbits;\n\tnvmem_cell_post_process_t read_post_process;\n\tvoid *priv;\n\tstruct device_node *np;\n\tstruct nvmem_device *nvmem;\n\tstruct list_head node;\n};\n\nstruct nvmem_cell_info {\n\tconst char *name;\n\tunsigned int offset;\n\tsize_t raw_len;\n\tunsigned int bytes;\n\tunsigned int bit_offset;\n\tunsigned int nbits;\n\tstruct device_node *np;\n\tnvmem_cell_post_process_t read_post_process;\n\tvoid *priv;\n};\n\nstruct nvmem_cell_lookup {\n\tconst char *nvmem_name;\n\tconst char *cell_name;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct list_head node;\n};\n\nstruct nvmem_cell_table {\n\tconst char *nvmem_name;\n\tconst struct nvmem_cell_info *cells;\n\tsize_t ncells;\n\tstruct list_head node;\n};\n\ntypedef int (*nvmem_reg_read_t)(void *, unsigned int, void *, size_t);\n\ntypedef int (*nvmem_reg_write_t)(void *, unsigned int, void *, size_t);\n\nstruct nvmem_keepout;\n\nstruct nvmem_layout;\n\nstruct nvmem_config {\n\tstruct device *dev;\n\tconst char *name;\n\tint id;\n\tstruct module *owner;\n\tconst struct nvmem_cell_info *cells;\n\tint ncells;\n\tbool add_legacy_fixed_of_cells;\n\tvoid (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *);\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n\tenum nvmem_type type;\n\tbool read_only;\n\tbool root_only;\n\tbool ignore_wp;\n\tstruct nvmem_layout *layout;\n\tstruct device_node *of_node;\n\tnvmem_reg_read_t reg_read;\n\tnvmem_reg_write_t reg_write;\n\tint size;\n\tint word_size;\n\tint stride;\n\tvoid *priv;\n\tbool compat;\n\tstruct device *base_dev;\n};\n\nstruct nvmem_device {\n\tstruct module *owner;\n\tstruct device dev;\n\tstruct list_head node;\n\tint stride;\n\tint word_size;\n\tint id;\n\tstruct kref refcnt;\n\tsize_t size;\n\tbool read_only;\n\tbool root_only;\n\tint flags;\n\tenum nvmem_type type;\n\tstruct bin_attribute eeprom;\n\tstruct device *base_dev;\n\tstruct list_head cells;\n\tvoid (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *);\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n\tnvmem_reg_read_t reg_read;\n\tnvmem_reg_write_t reg_write;\n\tstruct gpio_desc *wp_gpio;\n\tstruct nvmem_layout *layout;\n\tvoid *priv;\n\tbool sysfs_cells_populated;\n};\n\nstruct nvmem_keepout {\n\tunsigned int start;\n\tunsigned int end;\n\tunsigned char value;\n};\n\nstruct nvmem_layout {\n\tstruct device dev;\n\tstruct nvmem_device *nvmem;\n\tint (*add_cells)(struct nvmem_layout *);\n};\n\nstruct nvmem_layout_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct nvmem_layout *);\n\tvoid (*remove)(struct nvmem_layout *);\n};\n\nstruct nvmet_pr_acquire_data {\n\t__le64 crkey;\n\t__le64 prkey;\n};\n\nstruct nvmet_pr_register_data {\n\t__le64 crkey;\n\t__le64 nrkey;\n};\n\nstruct nvmet_pr_release_data {\n\t__le64 crkey;\n};\n\nstruct nvmf_host;\n\nstruct nvmf_ctrl_options {\n\tunsigned int mask;\n\tint max_reconnects;\n\tchar *transport;\n\tchar *subsysnqn;\n\tchar *traddr;\n\tchar *trsvcid;\n\tchar *host_traddr;\n\tchar *host_iface;\n\tsize_t queue_size;\n\tunsigned int nr_io_queues;\n\tunsigned int reconnect_delay;\n\tbool discovery_nqn;\n\tbool duplicate_connect;\n\tunsigned int kato;\n\tstruct nvmf_host *host;\n\tchar *dhchap_secret;\n\tchar *dhchap_ctrl_secret;\n\tstruct key *keyring;\n\tstruct key *tls_key;\n\tbool tls;\n\tbool disable_sqflow;\n\tbool hdr_digest;\n\tbool data_digest;\n\tunsigned int nr_write_queues;\n\tunsigned int nr_poll_queues;\n\tint tos;\n\tint fast_io_fail_tmo;\n};\n\nstruct nvmf_host {\n\tstruct kref ref;\n\tstruct list_head list;\n\tchar nqn[223];\n\tuuid_t id;\n};\n\nstruct nvs_page {\n\tlong unsigned int phys_start;\n\tunsigned int size;\n\tvoid *kaddr;\n\tvoid *data;\n\tbool unmap;\n\tstruct list_head node;\n};\n\nstruct nvs_region {\n\t__u64 phys_start;\n\t__u64 size;\n\tstruct list_head node;\n};\n\nstruct obj_cgroup {\n\tstruct percpu_ref refcnt;\n\tstruct mem_cgroup *memcg;\n\tatomic_t nr_charged_bytes;\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct objpool_head;\n\ntypedef int (*objpool_fini_cb)(struct objpool_head *, void *);\n\nstruct objpool_slot;\n\nstruct objpool_head {\n\tint obj_size;\n\tint nr_objs;\n\tint nr_possible_cpus;\n\tint capacity;\n\tgfp_t gfp;\n\trefcount_t ref;\n\tlong unsigned int flags;\n\tstruct objpool_slot **cpu_slots;\n\tobjpool_fini_cb release;\n\tvoid *context;\n};\n\nstruct objpool_slot {\n\tuint32_t head;\n\tuint32_t tail;\n\tuint32_t last;\n\tuint32_t mask;\n\tvoid *entries[0];\n};\n\nstruct obs_kernel_param {\n\tconst char *str;\n\tint (*setup_func)(char *);\n\tint early;\n};\n\nstruct ocontext {\n\tunion {\n\t\tchar *name;\n\t\tstruct {\n\t\t\tu8 protocol;\n\t\t\tu16 low_port;\n\t\t\tu16 high_port;\n\t\t} port;\n\t\tstruct {\n\t\t\tu32 addr;\n\t\t\tu32 mask;\n\t\t} node;\n\t\tstruct {\n\t\t\tu32 addr[4];\n\t\t\tu32 mask[4];\n\t\t} node6;\n\t\tstruct {\n\t\t\tu64 subnet_prefix;\n\t\t\tu16 low_pkey;\n\t\t\tu16 high_pkey;\n\t\t} ibpkey;\n\t\tstruct {\n\t\t\tchar *dev_name;\n\t\t\tu8 port;\n\t\t} ibendport;\n\t} u;\n\tunion {\n\t\tu32 sclass;\n\t\tu32 behavior;\n\t} v;\n\tstruct context context[2];\n\tu32 sid[2];\n\tstruct ocontext *next;\n};\n\nstruct od_dbs_tuners {\n\tunsigned int powersave_bias;\n};\n\nstruct od_ops {\n\tunsigned int (*powersave_bias_target)(struct cpufreq_policy *, unsigned int, unsigned int);\n};\n\nstruct od_policy_dbs_info {\n\tstruct policy_dbs_info policy_dbs;\n\tunsigned int freq_lo;\n\tunsigned int freq_lo_delay_us;\n\tunsigned int freq_hi_delay_us;\n\tunsigned int sample_type: 1;\n};\n\nstruct of_bus {\n\tvoid (*count_cells)(const void *, int, int *, int *);\n\tu64 (*map)(__be32 *, const __be32 *, int, int, int);\n\tint (*translate)(__be32 *, u64, int);\n};\n\nstruct of_bus___2 {\n\tconst char *name;\n\tconst char *addresses;\n\tint (*match)(struct device_node *);\n\tvoid (*count_cells)(struct device_node *, int *, int *);\n\tu64 (*map)(__be32 *, const __be32 *, int, int, int, int);\n\tint (*translate)(__be32 *, u64, int);\n\tint flag_cells;\n\tunsigned int (*get_flags)(const __be32 *);\n};\n\nstruct of_clk_provider {\n\tstruct list_head link;\n\tstruct device_node *node;\n\tstruct clk * (*get)(struct of_phandle_args *, void *);\n\tstruct clk_hw * (*get_hw)(struct of_phandle_args *, void *);\n\tvoid *data;\n};\n\nstruct of_dev_auxdata {\n\tchar *compatible;\n\tresource_size_t phys_addr;\n\tchar *name;\n\tvoid *platform_data;\n};\n\nstruct of_device_id {\n\tchar name[32];\n\tchar type[32];\n\tchar compatible[128];\n\tconst void *data;\n};\n\nstruct of_dma {\n\tstruct list_head of_dma_controllers;\n\tstruct device_node *of_node;\n\tstruct dma_chan * (*of_dma_xlate)(struct of_phandle_args *, struct of_dma *);\n\tvoid * (*of_dma_route_allocate)(struct of_phandle_args *, struct of_dma *);\n\tstruct dma_router *dma_router;\n\tvoid *of_dma_data;\n};\n\nstruct of_dma_filter_info {\n\tdma_cap_mask_t dma_cap;\n\tdma_filter_fn filter_fn;\n};\n\nstruct of_endpoint {\n\tunsigned int port;\n\tunsigned int id;\n\tconst struct device_node *local_node;\n};\n\ntypedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *);\n\nstruct of_intc_desc {\n\tstruct list_head list;\n\tof_irq_init_cb_t irq_init_cb;\n\tstruct device_node *dev;\n\tstruct device_node *interrupt_parent;\n};\n\nstruct of_pci_iommu_alias_info {\n\tstruct device *dev;\n\tstruct device_node *np;\n};\n\nstruct of_pci_range {\n\tunion {\n\t\tu64 pci_addr;\n\t\tu64 bus_addr;\n\t};\n\tu64 cpu_addr;\n\tu64 parent_bus_addr;\n\tu64 size;\n\tu32 flags;\n};\n\nstruct of_pci_range_parser {\n\tstruct device_node *node;\n\tconst struct of_bus___2 *bus;\n\tconst __be32 *range;\n\tconst __be32 *end;\n\tint na;\n\tint ns;\n\tint pna;\n\tbool dma;\n};\n\nstruct of_phandle_args {\n\tstruct device_node *np;\n\tint args_count;\n\tuint32_t args[16];\n};\n\nstruct of_phandle_iterator {\n\tconst char *cells_name;\n\tint cell_count;\n\tconst struct device_node *parent;\n\tconst __be32 *list_end;\n\tconst __be32 *phandle_end;\n\tconst __be32 *cur;\n\tuint32_t cur_count;\n\tphandle phandle;\n\tstruct device_node *node;\n};\n\nstruct of_rename_gpio {\n\tconst char *con_id;\n\tconst char *legacy_id;\n\tconst char *compatible;\n};\n\nstruct of_serial_info {\n\tstruct clk *clk;\n\tstruct reset_control *rst;\n\tint type;\n\tint line;\n\tstruct notifier_block clk_notifier;\n};\n\nstruct offset_ctx {\n\tstruct maple_tree mt;\n\tlong unsigned int next_offset;\n};\n\nstruct ohci_driver_overrides {\n\tconst char *product_desc;\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n};\n\nstruct ohci_hcca {\n\t__hc32 int_table[32];\n\t__hc32 frame_no;\n\t__hc32 done_head;\n\tu8 reserved_for_hc[116];\n\tu8 what[4];\n};\n\nstruct ohci_regs;\n\nstruct ohci_hcd {\n\tspinlock_t lock;\n\tstruct ohci_regs *regs;\n\tstruct ohci_hcca *hcca;\n\tdma_addr_t hcca_dma;\n\tstruct ed *ed_rm_list;\n\tstruct ed *ed_bulktail;\n\tstruct ed *ed_controltail;\n\tstruct ed *periodic[32];\n\tvoid (*start_hnp)(struct ohci_hcd *);\n\tstruct dma_pool *td_cache;\n\tstruct dma_pool *ed_cache;\n\tstruct td *td_hash[64];\n\tstruct td *dl_start;\n\tstruct td *dl_end;\n\tstruct list_head pending;\n\tstruct list_head eds_in_use;\n\tenum ohci_rh_state rh_state;\n\tint num_ports;\n\tint load[32];\n\tu32 hc_control;\n\tlong unsigned int next_statechange;\n\tu32 fminterval;\n\tunsigned int autostop: 1;\n\tunsigned int working: 1;\n\tunsigned int restart_work: 1;\n\tlong unsigned int flags;\n\tunsigned int prev_frame_no;\n\tunsigned int wdh_cnt;\n\tunsigned int prev_wdh_cnt;\n\tu32 prev_donehead;\n\tstruct timer_list io_watchdog;\n\tstruct work_struct nec_work;\n\tstruct dentry *debug_dir;\n\tlong unsigned int priv[0];\n};\n\nstruct ohci_platform_priv {\n\tstruct clk *clks[4];\n\tstruct reset_control *resets;\n};\n\nstruct ohci_roothub_regs {\n\t__hc32 a;\n\t__hc32 b;\n\t__hc32 status;\n\t__hc32 portstatus[15];\n};\n\nstruct ohci_regs {\n\t__hc32 revision;\n\t__hc32 control;\n\t__hc32 cmdstatus;\n\t__hc32 intrstatus;\n\t__hc32 intrenable;\n\t__hc32 intrdisable;\n\t__hc32 hcca;\n\t__hc32 ed_periodcurrent;\n\t__hc32 ed_controlhead;\n\t__hc32 ed_controlcurrent;\n\t__hc32 ed_bulkhead;\n\t__hc32 ed_bulkcurrent;\n\t__hc32 donehead;\n\t__hc32 fminterval;\n\t__hc32 fmremaining;\n\t__hc32 fmnumber;\n\t__hc32 periodicstart;\n\t__hc32 lsthresh;\n\tstruct ohci_roothub_regs roothub;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct old_timespec32 {\n\told_time32_t tv_sec;\n\ts32 tv_nsec;\n};\n\nstruct old_itimerspec32 {\n\tstruct old_timespec32 it_interval;\n\tstruct old_timespec32 it_value;\n};\n\nstruct old_serial_port {\n\tunsigned int uart;\n\tunsigned int baud_base;\n\tunsigned int port;\n\tunsigned int irq;\n\tupf_t flags;\n\tunsigned char io_type;\n\tunsigned char *iomem_base;\n\tshort unsigned int iomem_reg_shift;\n};\n\nstruct old_timeval32 {\n\told_time32_t tv_sec;\n\ts32 tv_usec;\n};\n\nstruct once_work {\n\tstruct work_struct work;\n\tstruct static_key_true *key;\n\tstruct module *module;\n};\n\nstruct online_data {\n\tunsigned int cpu;\n\tbool online;\n};\n\nstruct oom_control {\n\tstruct zonelist *zonelist;\n\tnodemask_t *nodemask;\n\tstruct mem_cgroup *memcg;\n\tconst gfp_t gfp_mask;\n\tconst int order;\n\tlong unsigned int totalpages;\n\tstruct task_struct *chosen;\n\tlong int chosen_points;\n\tenum oom_constraint constraint;\n};\n\nstruct open_arguments4 {\n\tbitmap4 oa_share_access;\n\tbitmap4 oa_share_deny;\n\tbitmap4 oa_share_access_want;\n\tbitmap4 oa_open_claim;\n\tbitmap4 oa_create_mode;\n};\n\ntypedef struct open_arguments4 fattr4_open_arguments;\n\nstruct open_flags {\n\tint open_flag;\n\tumode_t mode;\n\tint acc_mode;\n\tint intent;\n\tint lookup_flags;\n};\n\nstruct opp_config_data {\n\tstruct opp_table *opp_table;\n\tunsigned int flags;\n\tunsigned int required_dev_index;\n};\n\nstruct opp_device {\n\tstruct list_head node;\n\tconst struct device *dev;\n\tstruct dentry *dentry;\n};\n\nstruct icc_path;\n\nstruct opp_table {\n\tstruct list_head node;\n\tstruct list_head lazy;\n\tstruct blocking_notifier_head head;\n\tstruct list_head dev_list;\n\tstruct list_head opp_list;\n\tstruct kref kref;\n\tstruct mutex lock;\n\tstruct device_node *np;\n\tlong unsigned int clock_latency_ns_max;\n\tunsigned int voltage_tolerance_v1;\n\tunsigned int parsed_static_opps;\n\tenum opp_table_access shared_opp;\n\tlong unsigned int current_rate_single_clk;\n\tstruct dev_pm_opp *current_opp;\n\tstruct dev_pm_opp *suspend_opp;\n\tstruct opp_table **required_opp_tables;\n\tstruct device **required_devs;\n\tunsigned int required_opp_count;\n\tunsigned int *supported_hw;\n\tunsigned int supported_hw_count;\n\tconst char *prop_name;\n\tconfig_clks_t config_clks;\n\tstruct clk **clks;\n\tstruct clk *clk;\n\tint clk_count;\n\tconfig_regulators_t config_regulators;\n\tstruct regulator **regulators;\n\tint regulator_count;\n\tstruct icc_path **paths;\n\tunsigned int path_count;\n\tbool enabled;\n\tbool is_genpd;\n\tstruct dentry *dentry;\n\tchar dentry_name[255];\n};\n\nstruct optimistic_spin_node {\n\tstruct optimistic_spin_node *next;\n\tstruct optimistic_spin_node *prev;\n\tint locked;\n\tint cpu;\n};\n\nstruct orc_entry {\n\ts16 sp_offset;\n\ts16 fp_offset;\n\ts16 ra_offset;\n\tunsigned int sp_reg: 4;\n\tunsigned int fp_reg: 4;\n\tunsigned int ra_reg: 4;\n\tunsigned int type: 3;\n\tunsigned int signal: 1;\n};\n\nstruct orlov_stats {\n\t__u64 free_clusters;\n\t__u32 free_inodes;\n\t__u32 used_dirs;\n};\n\nstruct orphan_dir_info {\n\tstruct rb_node node;\n\tu64 ino;\n\tu64 gen;\n\tu64 last_dir_index_offset;\n\tu64 dir_high_seq_ino;\n};\n\nstruct osnoise_entry {\n\tstruct trace_entry ent;\n\tu64 noise;\n\tu64 runtime;\n\tu64 max_sample;\n\tunsigned int hw_count;\n\tunsigned int nmi_count;\n\tunsigned int irq_count;\n\tunsigned int softirq_count;\n\tunsigned int thread_count;\n};\n\nstruct ovl_cache_entry {\n\tunsigned int len;\n\tunsigned int type;\n\tu64 real_ino;\n\tu64 ino;\n\tstruct list_head l_node;\n\tstruct rb_node node;\n\tstruct ovl_cache_entry *next_maybe_whiteout;\n\tbool is_upper;\n\tbool is_whiteout;\n\tbool check_xwhiteout;\n\tchar name[0];\n};\n\nstruct ovl_cattr {\n\tdev_t rdev;\n\tumode_t mode;\n\tconst char *link;\n\tstruct dentry *hardlink;\n};\n\nstruct ovl_config {\n\tchar *upperdir;\n\tchar *workdir;\n\tchar **lowerdirs;\n\tbool default_permissions;\n\tint redirect_mode;\n\tint verity_mode;\n\tbool index;\n\tint uuid;\n\tbool nfs_export;\n\tint xino;\n\tbool metacopy;\n\tbool userxattr;\n\tbool ovl_volatile;\n};\n\nstruct ovl_fh;\n\nstruct ovl_copy_up_ctx {\n\tstruct dentry *parent;\n\tstruct dentry *dentry;\n\tstruct path lowerpath;\n\tstruct kstat stat;\n\tstruct kstat pstat;\n\tconst char *link;\n\tstruct dentry *destdir;\n\tstruct qstr destname;\n\tstruct dentry *workdir;\n\tconst struct ovl_fh *origin_fh;\n\tbool origin;\n\tbool indexed;\n\tbool metacopy;\n\tbool metacopy_digest;\n\tbool metadata_fsync;\n};\n\nstruct ovl_cu_creds {\n\tconst struct cred *old;\n\tstruct cred *new;\n};\n\nstruct ovl_dir_cache {\n\tlong int refcount;\n\tu64 version;\n\tstruct list_head entries;\n\tstruct rb_root root;\n};\n\nstruct ovl_dir_file {\n\tbool is_real;\n\tbool is_upper;\n\tstruct ovl_dir_cache *cache;\n\tstruct list_head *cursor;\n\tstruct file *realfile;\n\tstruct file *upperfile;\n};\n\nstruct ovl_layer;\n\nstruct ovl_path {\n\tconst struct ovl_layer *layer;\n\tstruct dentry *dentry;\n};\n\nstruct ovl_entry {\n\tunsigned int __numlower;\n\tstruct ovl_path __lowerstack[0];\n};\n\nstruct ovl_fb {\n\tu8 version;\n\tu8 magic;\n\tu8 len;\n\tu8 flags;\n\tu8 type;\n\tuuid_t uuid;\n\tu32 fid[0];\n} __attribute__((packed));\n\nstruct ovl_fh {\n\tu8 padding[3];\n\tunion {\n\t\tstruct ovl_fb fb;\n\t\tstruct {\n\t\t\tstruct {} __empty_buf;\n\t\t\tu8 buf[0];\n\t\t};\n\t};\n};\n\nstruct ovl_file {\n\tstruct file *realfile;\n\tstruct file *upperfile;\n};\n\nstruct ovl_sb;\n\nstruct ovl_fs {\n\tunsigned int numlayer;\n\tunsigned int numfs;\n\tunsigned int numdatalayer;\n\tstruct ovl_layer *layers;\n\tstruct ovl_sb *fs;\n\tstruct dentry *workbasedir;\n\tstruct dentry *workdir;\n\tlong int namelen;\n\tstruct ovl_config config;\n\tconst struct cred *creator_cred;\n\tbool tmpfile;\n\tbool noxattr;\n\tbool nofh;\n\tbool upperdir_locked;\n\tbool workdir_locked;\n\tstruct inode *workbasedir_trap;\n\tstruct inode *workdir_trap;\n\tint xino_mode;\n\tatomic_long_t last_ino;\n\tstruct dentry *whiteout;\n\tbool no_shared_whiteout;\n\terrseq_t errseq;\n};\n\nstruct ovl_opt_set {\n\tbool metacopy;\n\tbool redirect;\n\tbool nfs_export;\n\tbool index;\n};\n\nstruct ovl_fs_context_layer;\n\nstruct ovl_fs_context {\n\tstruct path upper;\n\tstruct path work;\n\tsize_t capacity;\n\tsize_t nr;\n\tsize_t nr_data;\n\tstruct ovl_opt_set set;\n\tstruct ovl_fs_context_layer *lower;\n\tchar *lowerdir_all;\n};\n\nstruct ovl_fs_context_layer {\n\tchar *name;\n\tstruct path path;\n};\n\nstruct ovl_inode {\n\tunion {\n\t\tstruct ovl_dir_cache *cache;\n\t\tconst char *lowerdata_redirect;\n\t};\n\tconst char *redirect;\n\tu64 version;\n\tlong unsigned int flags;\n\tstruct inode vfs_inode;\n\tstruct dentry *__upperdentry;\n\tstruct ovl_entry *oe;\n\tstruct mutex lock;\n};\n\nstruct ovl_inode_params {\n\tstruct inode *newinode;\n\tstruct dentry *upperdentry;\n\tstruct ovl_entry *oe;\n\tbool index;\n\tchar *redirect;\n\tchar *lowerdata_redirect;\n};\n\nstruct ovl_layer {\n\tstruct vfsmount *mnt;\n\tstruct inode *trap;\n\tstruct ovl_sb *fs;\n\tint idx;\n\tint fsid;\n\tbool has_xwhiteouts;\n};\n\nstruct ovl_lookup_data {\n\tstruct super_block *sb;\n\tconst struct ovl_layer *layer;\n\tstruct qstr name;\n\tbool is_dir;\n\tbool opaque;\n\tbool xwhiteouts;\n\tbool stop;\n\tbool last;\n\tchar *redirect;\n\tint metacopy;\n\tbool absolute_redirect;\n};\n\nstruct ovl_metacopy {\n\tu8 version;\n\tu8 len;\n\tu8 flags;\n\tu8 digest_algo;\n\tu8 digest[64];\n};\n\nstruct ovl_readdir_data {\n\tstruct dir_context ctx;\n\tstruct dentry *dentry;\n\tbool is_lowest;\n\tstruct rb_root *root;\n\tstruct list_head *list;\n\tstruct list_head middle;\n\tstruct ovl_cache_entry *first_maybe_whiteout;\n\tint count;\n\tint err;\n\tbool is_upper;\n\tbool d_type_supported;\n\tbool in_xwhiteouts_dir;\n};\n\nstruct ovl_readdir_translate {\n\tstruct dir_context *orig_ctx;\n\tstruct ovl_dir_cache *cache;\n\tstruct dir_context ctx;\n\tu64 parent_ino;\n\tint fsid;\n\tint xinobits;\n\tbool xinowarn;\n};\n\nstruct ovl_sb {\n\tstruct super_block *sb;\n\tdev_t pseudo_dev;\n\tbool bad_uuid;\n\tbool is_lower;\n};\n\nstruct p9_trans_module;\n\nstruct p9_client {\n\tspinlock_t lock;\n\tunsigned int msize;\n\tunsigned char proto_version;\n\tstruct p9_trans_module *trans_mod;\n\tenum p9_trans_status status;\n\tvoid *trans;\n\tstruct kmem_cache *fcall_cache;\n\tunion {\n\t\tstruct {\n\t\t\tint rfd;\n\t\t\tint wfd;\n\t\t} fd;\n\t\tstruct {\n\t\t\tu16 port;\n\t\t\tbool privport;\n\t\t} tcp;\n\t} trans_opts;\n\tstruct idr fids;\n\tstruct idr reqs;\n\tchar name[65];\n};\n\nstruct p9_fcall {\n\tu32 size;\n\tu8 id;\n\tu16 tag;\n\tsize_t offset;\n\tsize_t capacity;\n\tstruct kmem_cache *cache;\n\tu8 *sdata;\n\tbool zc;\n};\n\nstruct p9_conn;\n\nstruct p9_poll_wait {\n\tstruct p9_conn *conn;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *wait_addr;\n};\n\nstruct p9_req_t;\n\nstruct p9_conn {\n\tstruct list_head mux_list;\n\tstruct p9_client *client;\n\tint err;\n\tspinlock_t req_lock;\n\tstruct list_head req_list;\n\tstruct list_head unsent_req_list;\n\tstruct p9_req_t *rreq;\n\tstruct p9_req_t *wreq;\n\tchar tmp_buf[7];\n\tstruct p9_fcall rc;\n\tint wpos;\n\tint wsize;\n\tchar *wbuf;\n\tstruct list_head poll_pending_link;\n\tstruct p9_poll_wait poll_wait[2];\n\tpoll_table pt;\n\tstruct work_struct rq;\n\tstruct work_struct wq;\n\tlong unsigned int wsched;\n};\n\nstruct p9_qid {\n\tu8 type;\n\tu32 version;\n\tu64 path;\n};\n\nstruct p9_dirent {\n\tstruct p9_qid qid;\n\tu64 d_off;\n\tunsigned char d_type;\n\tchar d_name[256];\n};\n\nstruct p9_fd_opts {\n\tint rfd;\n\tint wfd;\n\tu16 port;\n\tbool privport;\n};\n\nstruct p9_fid {\n\tstruct p9_client *clnt;\n\tu32 fid;\n\trefcount_t count;\n\tint mode;\n\tstruct p9_qid qid;\n\tu32 iounit;\n\tkuid_t uid;\n\tvoid *rdir;\n\tstruct hlist_node dlist;\n\tstruct hlist_node ilist;\n};\n\nstruct p9_flock {\n\tu8 type;\n\tu32 flags;\n\tu64 start;\n\tu64 length;\n\tu32 proc_id;\n\tchar *client_id;\n};\n\nstruct p9_getlock {\n\tu8 type;\n\tu64 start;\n\tu64 length;\n\tu32 proc_id;\n\tchar *client_id;\n};\n\nstruct p9_iattr_dotl {\n\tu32 valid;\n\tu32 mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tu64 size;\n\tu64 atime_sec;\n\tu64 atime_nsec;\n\tu64 mtime_sec;\n\tu64 mtime_nsec;\n};\n\nstruct p9_rdir {\n\tint head;\n\tint tail;\n\tuint8_t buf[0];\n};\n\nstruct p9_req_t {\n\tint status;\n\tint t_err;\n\trefcount_t refcount;\n\twait_queue_head_t wq;\n\tstruct p9_fcall tc;\n\tstruct p9_fcall rc;\n\tstruct list_head req_list;\n};\n\nstruct p9_rstatfs {\n\tu32 type;\n\tu32 bsize;\n\tu64 blocks;\n\tu64 bfree;\n\tu64 bavail;\n\tu64 files;\n\tu64 ffree;\n\tu64 fsid;\n\tu32 namelen;\n};\n\nstruct p9_stat_dotl {\n\tu64 st_result_mask;\n\tstruct p9_qid qid;\n\tu32 st_mode;\n\tkuid_t st_uid;\n\tkgid_t st_gid;\n\tu64 st_nlink;\n\tu64 st_rdev;\n\tu64 st_size;\n\tu64 st_blksize;\n\tu64 st_blocks;\n\tu64 st_atime_sec;\n\tu64 st_atime_nsec;\n\tu64 st_mtime_sec;\n\tu64 st_mtime_nsec;\n\tu64 st_ctime_sec;\n\tu64 st_ctime_nsec;\n\tu64 st_btime_sec;\n\tu64 st_btime_nsec;\n\tu64 st_gen;\n\tu64 st_data_version;\n};\n\nstruct p9_trans_fd {\n\tstruct file *rd;\n\tstruct file *wr;\n\tstruct p9_conn conn;\n};\n\nstruct p9_trans_module {\n\tstruct list_head list;\n\tchar *name;\n\tint maxsize;\n\tbool pooled_rbuffers;\n\tint def;\n\tstruct module *owner;\n\tint (*create)(struct p9_client *, const char *, char *);\n\tvoid (*close)(struct p9_client *);\n\tint (*request)(struct p9_client *, struct p9_req_t *);\n\tint (*cancel)(struct p9_client *, struct p9_req_t *);\n\tint (*cancelled)(struct p9_client *, struct p9_req_t *);\n\tint (*zc_request)(struct p9_client *, struct p9_req_t *, struct iov_iter *, struct iov_iter *, int, int, int);\n\tint (*show_options)(struct seq_file *, struct p9_client *);\n};\n\nstruct p9_wstat {\n\tu16 size;\n\tu16 type;\n\tu32 dev;\n\tstruct p9_qid qid;\n\tu32 mode;\n\tu32 atime;\n\tu32 mtime;\n\tu64 length;\n\tconst char *name;\n\tconst char *uid;\n\tconst char *gid;\n\tconst char *muid;\n\tchar *extension;\n\tkuid_t n_uid;\n\tkgid_t n_gid;\n\tkuid_t n_muid;\n};\n\nstruct pacct_struct {\n\tint ac_flag;\n\tlong int ac_exitcode;\n\tlong unsigned int ac_mem;\n\tu64 ac_utime;\n\tu64 ac_stime;\n\tlong unsigned int ac_minflt;\n\tlong unsigned int ac_majflt;\n};\n\nstruct scsi_sense_hdr;\n\nstruct packet_command {\n\tunsigned char cmd[12];\n\tunsigned char *buffer;\n\tunsigned int buflen;\n\tint stat;\n\tstruct scsi_sense_hdr *sshdr;\n\tunsigned char data_direction;\n\tint quiet;\n\tint timeout;\n\tvoid *reserved[1];\n};\n\nstruct packet_fanout {\n\tpossible_net_t net;\n\tunsigned int num_members;\n\tu32 max_num_members;\n\tu16 id;\n\tu8 type;\n\tu8 flags;\n\tunion {\n\t\tatomic_t rr_cur;\n\t\tstruct bpf_prog *bpf_prog;\n\t};\n\tstruct list_head list;\n\tspinlock_t lock;\n\trefcount_t sk_ref;\n\tlong: 64;\n\tstruct packet_type prot_hook;\n\tstruct sock *arr[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct packet_mclist {\n\tstruct packet_mclist *next;\n\tint ifindex;\n\tint count;\n\tshort unsigned int type;\n\tshort unsigned int alen;\n\tunsigned char addr[32];\n};\n\nstruct packet_mreq_max {\n\tint mr_ifindex;\n\tshort unsigned int mr_type;\n\tshort unsigned int mr_alen;\n\tunsigned char mr_address[32];\n};\n\nstruct pgv;\n\nstruct tpacket_kbdq_core {\n\tstruct pgv *pkbdq;\n\tunsigned int feature_req_word;\n\tunsigned int hdrlen;\n\tunsigned char reset_pending_on_curr_blk;\n\tunsigned char delete_blk_timer;\n\tshort unsigned int kactive_blk_num;\n\tshort unsigned int blk_sizeof_priv;\n\tshort unsigned int last_kactive_blk_num;\n\tchar *pkblk_start;\n\tchar *pkblk_end;\n\tint kblk_size;\n\tunsigned int max_frame_len;\n\tunsigned int knum_blocks;\n\tuint64_t knxt_seq_num;\n\tchar *prev;\n\tchar *nxt_offset;\n\tstruct sk_buff *skb;\n\trwlock_t blk_fill_in_prog_lock;\n\tshort unsigned int retire_blk_tov;\n\tshort unsigned int version;\n\tlong unsigned int tov_in_jiffies;\n\tstruct timer_list retire_blk_timer;\n};\n\nstruct packet_ring_buffer {\n\tstruct pgv *pg_vec;\n\tunsigned int head;\n\tunsigned int frames_per_block;\n\tunsigned int frame_size;\n\tunsigned int frame_max;\n\tunsigned int pg_vec_order;\n\tunsigned int pg_vec_pages;\n\tunsigned int pg_vec_len;\n\tunsigned int *pending_refcnt;\n\tunion {\n\t\tlong unsigned int *rx_owner_map;\n\t\tstruct tpacket_kbdq_core prb_bdqc;\n\t};\n};\n\nstruct packet_rollover {\n\tint sock;\n\tatomic_long_t num;\n\tatomic_long_t num_huge;\n\tatomic_long_t num_failed;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 history[16];\n};\n\nstruct sockaddr_pkt {\n\tshort unsigned int spkt_family;\n\tunsigned char spkt_device[14];\n\t__be16 spkt_protocol;\n};\n\nstruct sockaddr_ll {\n\tshort unsigned int sll_family;\n\t__be16 sll_protocol;\n\tint sll_ifindex;\n\tshort unsigned int sll_hatype;\n\tunsigned char sll_pkttype;\n\tunsigned char sll_halen;\n\tunsigned char sll_addr[8];\n};\n\nstruct packet_skb_cb {\n\tunion {\n\t\tstruct sockaddr_pkt pkt;\n\t\tunion {\n\t\t\tunsigned int origlen;\n\t\t\tstruct sockaddr_ll ll;\n\t\t};\n\t} sa;\n};\n\nstruct tpacket_stats {\n\tunsigned int tp_packets;\n\tunsigned int tp_drops;\n};\n\nstruct tpacket_stats_v3 {\n\tunsigned int tp_packets;\n\tunsigned int tp_drops;\n\tunsigned int tp_freeze_q_cnt;\n};\n\nunion tpacket_stats_u {\n\tstruct tpacket_stats stats1;\n\tstruct tpacket_stats_v3 stats3;\n};\n\nstruct packet_sock {\n\tstruct sock sk;\n\tstruct packet_fanout *fanout;\n\tunion tpacket_stats_u stats;\n\tstruct packet_ring_buffer rx_ring;\n\tstruct packet_ring_buffer tx_ring;\n\tint copy_thresh;\n\tspinlock_t bind_lock;\n\tstruct mutex pg_vec_lock;\n\tlong unsigned int flags;\n\tint ifindex;\n\tu8 vnet_hdr_sz;\n\t__be16 num;\n\tstruct packet_rollover *rollover;\n\tstruct packet_mclist *mclist;\n\tatomic_long_t mapped;\n\tenum tpacket_versions tp_version;\n\tunsigned int tp_hdrlen;\n\tunsigned int tp_reserve;\n\tunsigned int tp_tstamp;\n\tstruct completion skb_completion;\n\tstruct net_device *cached_dev;\n\tlong: 64;\n\tstruct packet_type prot_hook;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t tp_drops;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct padata_cpumask {\n\tcpumask_var_t pcpu;\n\tcpumask_var_t cbcpu;\n};\n\nstruct padata_instance {\n\tstruct hlist_node cpu_online_node;\n\tstruct hlist_node cpu_dead_node;\n\tstruct workqueue_struct *parallel_wq;\n\tstruct workqueue_struct *serial_wq;\n\tstruct list_head pslist;\n\tstruct padata_cpumask cpumask;\n\tstruct kobject kobj;\n\tstruct mutex lock;\n\tu8 flags;\n};\n\nstruct padata_list {\n\tstruct list_head list;\n\tspinlock_t lock;\n};\n\nstruct padata_mt_job {\n\tvoid (*thread_fn)(long unsigned int, long unsigned int, void *);\n\tvoid *fn_arg;\n\tlong unsigned int start;\n\tlong unsigned int size;\n\tlong unsigned int align;\n\tlong unsigned int min_chunk;\n\tint max_threads;\n\tbool numa_aware;\n};\n\nstruct padata_mt_job_state {\n\tspinlock_t lock;\n\tstruct completion completion;\n\tstruct padata_mt_job *job;\n\tint nworks;\n\tint nworks_fini;\n\tlong unsigned int chunk_size;\n};\n\nstruct parallel_data;\n\nstruct padata_priv {\n\tstruct list_head list;\n\tstruct parallel_data *pd;\n\tint cb_cpu;\n\tunsigned int seq_nr;\n\tint info;\n\tvoid (*parallel)(struct padata_priv *);\n\tvoid (*serial)(struct padata_priv *);\n};\n\nstruct padata_serial_queue {\n\tstruct padata_list serial;\n\tstruct work_struct work;\n\tstruct parallel_data *pd;\n};\n\nstruct padata_shell {\n\tstruct padata_instance *pinst;\n\tstruct parallel_data *pd;\n\tstruct parallel_data *opd;\n\tstruct list_head list;\n};\n\nstruct padata_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct padata_instance *, struct attribute *, char *);\n\tssize_t (*store)(struct padata_instance *, struct attribute *, const char *, size_t);\n};\n\nstruct padata_work {\n\tstruct work_struct pw_work;\n\tstruct list_head pw_list;\n\tvoid *pw_data;\n};\n\nstruct printf_spec;\n\nstruct page_flags_fields {\n\tint width;\n\tint shift;\n\tint mask;\n\tconst struct printf_spec *spec;\n\tconst char *name;\n};\n\nstruct page_list {\n\tstruct page_list *next;\n\tstruct page *page;\n};\n\nstruct page_pool_params_fast {\n\tunsigned int order;\n\tunsigned int pool_size;\n\tint nid;\n\tstruct device *dev;\n\tstruct napi_struct *napi;\n\tenum dma_data_direction dma_dir;\n\tunsigned int max_len;\n\tunsigned int offset;\n};\n\nstruct pp_alloc_cache {\n\tu32 count;\n\tnetmem_ref cache[128];\n};\n\nstruct ptr_ring {\n\tint producer;\n\tspinlock_t producer_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tint consumer_head;\n\tint consumer_tail;\n\tspinlock_t consumer_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tint size;\n\tint batch;\n\tvoid **queue;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct page_pool_params_slow {\n\tstruct net_device *netdev;\n\tunsigned int queue_idx;\n\tunsigned int flags;\n\tvoid (*init_callback)(netmem_ref, void *);\n\tvoid *init_arg;\n};\n\nstruct page_pool {\n\tstruct page_pool_params_fast p;\n\tint cpuid;\n\tu32 pages_state_hold_cnt;\n\tbool has_init_callback: 1;\n\tbool dma_map: 1;\n\tbool dma_sync: 1;\n\tbool dma_sync_for_cpu: 1;\n\tlong: 0;\n\t__u8 __cacheline_group_begin__frag[0];\n\tlong int frag_users;\n\tnetmem_ref frag_page;\n\tunsigned int frag_offset;\n\tlong: 0;\n\t__u8 __cacheline_group_end__frag[0];\n\tlong: 64;\n\tstruct {} __cacheline_group_pad__frag;\n\tstruct delayed_work release_dw;\n\tvoid (*disconnect)(void *);\n\tlong unsigned int defer_start;\n\tlong unsigned int defer_warn;\n\tu32 xdp_mem_id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct pp_alloc_cache alloc;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ptr_ring ring;\n\tvoid *mp_priv;\n\tatomic_t pages_state_release_cnt;\n\trefcount_t user_cnt;\n\tu64 destroy_cnt;\n\tstruct page_pool_params_slow slow;\n\tstruct {\n\t\tstruct hlist_node list;\n\t\tu64 detach_time;\n\t\tu32 id;\n\t} user;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct page_pool_dump_cb {\n\tlong unsigned int ifindex;\n\tu32 pp_id;\n};\n\nstruct page_pool_params {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int order;\n\t\t\tunsigned int pool_size;\n\t\t\tint nid;\n\t\t\tstruct device *dev;\n\t\t\tstruct napi_struct *napi;\n\t\t\tenum dma_data_direction dma_dir;\n\t\t\tunsigned int max_len;\n\t\t\tunsigned int offset;\n\t\t};\n\t\tstruct page_pool_params_fast fast;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tstruct net_device *netdev;\n\t\t\tunsigned int queue_idx;\n\t\t\tunsigned int flags;\n\t\t\tvoid (*init_callback)(netmem_ref, void *);\n\t\t\tvoid *init_arg;\n\t\t};\n\t\tstruct page_pool_params_slow slow;\n\t};\n};\n\nstruct page_region {\n\t__u64 start;\n\t__u64 end;\n\t__u64 categories;\n};\n\nstruct page_reporting_dev_info {\n\tint (*report)(struct page_reporting_dev_info *, struct scatterlist *, unsigned int);\n\tstruct delayed_work work;\n\tatomic_t state;\n\tunsigned int order;\n};\n\nstruct page_vma_mapped_walk {\n\tlong unsigned int pfn;\n\tlong unsigned int nr_pages;\n\tlong unsigned int pgoff;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int address;\n\tpmd_t *pmd;\n\tpte_t *pte;\n\tspinlock_t *ptl;\n\tunsigned int flags;\n};\n\nstruct pageattr_masks {\n\tpgprot_t set_mask;\n\tpgprot_t clear_mask;\n};\n\nstruct pm_scan_arg {\n\t__u64 size;\n\t__u64 flags;\n\t__u64 start;\n\t__u64 end;\n\t__u64 walk_end;\n\t__u64 vec;\n\t__u64 vec_len;\n\t__u64 max_pages;\n\t__u64 category_inverted;\n\t__u64 category_mask;\n\t__u64 category_anyof_mask;\n\t__u64 return_mask;\n};\n\nstruct pagemap_scan_private {\n\tstruct pm_scan_arg arg;\n\tlong unsigned int masks_of_interest;\n\tlong unsigned int cur_vma_category;\n\tstruct page_region *vec_buf;\n\tlong unsigned int vec_buf_len;\n\tlong unsigned int vec_buf_index;\n\tlong unsigned int found_pages;\n\tstruct page_region *vec_out;\n};\n\nstruct pagemapread {\n\tint pos;\n\tint len;\n\tpagemap_entry_t *buffer;\n\tbool show_pfn;\n};\n\nstruct pages_devres {\n\tlong unsigned int addr;\n\tunsigned int order;\n};\n\nstruct pages_or_folios {\n\tunion {\n\t\tstruct page **pages;\n\t\tstruct folio **folios;\n\t\tvoid **entries;\n\t};\n\tbool has_folios;\n\tlong int nr_entries;\n};\n\nstruct panel_bridge {\n\tstruct drm_bridge bridge;\n\tstruct drm_connector connector;\n\tstruct drm_panel *panel;\n\tu32 connector_type;\n};\n\nstruct panel_info {\n\tint xres;\n\tint yres;\n\tint valid;\n\tint clock;\n\tint hOver_plus;\n\tint hSync_width;\n\tint hblank;\n\tint vOver_plus;\n\tint vSync_width;\n\tint vblank;\n\tint hAct_high;\n\tint vAct_high;\n\tint interlaced;\n\tint pwr_delay;\n\tint use_bios_dividers;\n\tint ref_divider;\n\tint post_divider;\n\tint fbk_divider;\n};\n\nstruct parallel_data {\n\tstruct padata_shell *ps;\n\tstruct padata_list *reorder_list;\n\tstruct padata_serial_queue *squeue;\n\trefcount_t refcnt;\n\tunsigned int seq_nr;\n\tunsigned int processed;\n\tint cpu;\n\tstruct padata_cpumask cpumask;\n\tstruct work_struct reorder_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct parallel_io {\n\tstruct kref refcnt;\n\tvoid (*pnfs_callback)(void *);\n\tvoid *data;\n};\n\nstruct pardev_cb {\n\tint (*preempt)(void *);\n\tvoid (*wakeup)(void *);\n\tvoid *private;\n\tvoid (*irq_func)(void *);\n\tunsigned int flags;\n};\n\nstruct parport;\n\nstruct parport_state;\n\nstruct pardevice {\n\tconst char *name;\n\tstruct parport *port;\n\tint daisy;\n\tint (*preempt)(void *);\n\tvoid (*wakeup)(void *);\n\tvoid *private;\n\tvoid (*irq_func)(void *);\n\tunsigned int flags;\n\tstruct pardevice *next;\n\tstruct pardevice *prev;\n\tstruct device dev;\n\tbool devmodel;\n\tstruct parport_state *state;\n\twait_queue_head_t wait_q;\n\tlong unsigned int time;\n\tlong unsigned int timeslice;\n\tvolatile long int timeout;\n\tlong unsigned int waiting;\n\tstruct pardevice *waitprev;\n\tstruct pardevice *waitnext;\n\tvoid *sysctl_table;\n};\n\nstruct parport_device_info {\n\tparport_device_class class;\n\tconst char *class_name;\n\tconst char *mfr;\n\tconst char *model;\n\tconst char *cmdset;\n\tconst char *description;\n};\n\nstruct parport_operations;\n\nstruct parport {\n\tlong unsigned int base;\n\tlong unsigned int base_hi;\n\tunsigned int size;\n\tconst char *name;\n\tunsigned int modes;\n\tint irq;\n\tint dma;\n\tint muxport;\n\tint portnum;\n\tstruct device *dev;\n\tstruct device bus_dev;\n\tstruct parport *physport;\n\tstruct pardevice *devices;\n\tstruct pardevice *cad;\n\tint daisy;\n\tint muxsel;\n\tstruct pardevice *waithead;\n\tstruct pardevice *waittail;\n\tstruct list_head list;\n\tstruct timer_list timer;\n\tunsigned int flags;\n\tvoid *sysctl_table;\n\tstruct parport_device_info probe_info[5];\n\tstruct ieee1284_info ieee1284;\n\tstruct parport_operations *ops;\n\tvoid *private_data;\n\tint number;\n\tspinlock_t pardevice_lock;\n\tspinlock_t waitlist_lock;\n\trwlock_t cad_lock;\n\tint spintime;\n\tatomic_t ref_count;\n\tlong unsigned int devflags;\n\tstruct pardevice *proc_device;\n\tstruct list_head full_list;\n\tstruct parport *slaves[3];\n};\n\nstruct parport_default_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table vars[2];\n};\n\nstruct parport_device_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table vars[1];\n\tstruct ctl_table device_dir[1];\n};\n\nstruct parport_driver {\n\tconst char *name;\n\tvoid (*detach)(struct parport *);\n\tvoid (*match_port)(struct parport *);\n\tint (*probe)(struct pardevice *);\n\tstruct device_driver driver;\n};\n\nstruct parport_operations {\n\tvoid (*write_data)(struct parport *, unsigned char);\n\tunsigned char (*read_data)(struct parport *);\n\tvoid (*write_control)(struct parport *, unsigned char);\n\tunsigned char (*read_control)(struct parport *);\n\tunsigned char (*frob_control)(struct parport *, unsigned char, unsigned char);\n\tunsigned char (*read_status)(struct parport *);\n\tvoid (*enable_irq)(struct parport *);\n\tvoid (*disable_irq)(struct parport *);\n\tvoid (*data_forward)(struct parport *);\n\tvoid (*data_reverse)(struct parport *);\n\tvoid (*init_state)(struct pardevice *, struct parport_state *);\n\tvoid (*save_state)(struct parport *, struct parport_state *);\n\tvoid (*restore_state)(struct parport *, struct parport_state *);\n\tsize_t (*epp_write_data)(struct parport *, const void *, size_t, int);\n\tsize_t (*epp_read_data)(struct parport *, void *, size_t, int);\n\tsize_t (*epp_write_addr)(struct parport *, const void *, size_t, int);\n\tsize_t (*epp_read_addr)(struct parport *, void *, size_t, int);\n\tsize_t (*ecp_write_data)(struct parport *, const void *, size_t, int);\n\tsize_t (*ecp_read_data)(struct parport *, void *, size_t, int);\n\tsize_t (*ecp_write_addr)(struct parport *, const void *, size_t, int);\n\tsize_t (*compat_write_data)(struct parport *, const void *, size_t, int);\n\tsize_t (*nibble_read_data)(struct parport *, void *, size_t, int);\n\tsize_t (*byte_read_data)(struct parport *, void *, size_t, int);\n\tstruct module *owner;\n};\n\nstruct parport_pc_pci {\n\tint numports;\n\tstruct {\n\t\tint lo;\n\t\tint hi;\n\t} addr[2];\n\tunsigned int mode_mask;\n\tunsigned char ecr_writable;\n\tint (*preinit_hook)(struct pci_dev *, int, int);\n\tvoid (*postinit_hook)(struct pci_dev *, int);\n};\n\nstruct parport_pc_pci___2 {\n\tint numports;\n\tstruct {\n\t\tint lo;\n\t\tint hi;\n\t} addr[4];\n\tint (*preinit_hook)(struct pci_dev *, struct parport_pc_pci___2 *, int, int);\n\tvoid (*postinit_hook)(struct pci_dev *, struct parport_pc_pci___2 *, int);\n};\n\nstruct parport_pc_private {\n\tunsigned char ctr;\n\tunsigned char ctr_writable;\n\tint ecr;\n\tunsigned char ecr_writable;\n\tint fifo_depth;\n\tint pword;\n\tint readIntrThreshold;\n\tint writeIntrThreshold;\n\tchar *dma_buf;\n\tdma_addr_t dma_handle;\n\tstruct list_head list;\n\tstruct parport *port;\n};\n\nstruct parport_pc_via_data;\n\nstruct parport_pc_superio {\n\tint (*probe)(struct pci_dev *, int, int, const struct parport_pc_via_data *);\n\tconst struct parport_pc_via_data *via;\n};\n\nstruct parport_pc_via_data {\n\tu8 via_pci_parport_irq_reg;\n\tu8 via_pci_parport_dma_reg;\n\tu8 via_pci_superio_config_reg;\n\tu8 via_pci_superio_config_data;\n\tu8 viacfg_function;\n\tu8 viacfg_parport_control;\n\tu8 viacfg_parport_base;\n};\n\nstruct serial_private;\n\nstruct parport_serial_private {\n\tstruct serial_private *serial;\n\tint num_par;\n\tstruct parport *port[16];\n\tstruct parport_pc_pci___2 par;\n};\n\nstruct pc_parport_state {\n\tunsigned int ctr;\n\tunsigned int ecr;\n};\n\nstruct parport_state {\n\tunion {\n\t\tstruct pc_parport_state pc;\n\t\tstruct ax_parport_state ax;\n\t\tstruct amiga_parport_state amiga;\n\t\tstruct ip32_parport_state ip32;\n\t\tvoid *misc;\n\t} u;\n};\n\nstruct parport_sysctl_table {\n\tstruct ctl_table_header *port_header;\n\tstruct ctl_table_header *devices_header;\n\tstruct ctl_table vars[5];\n\tstruct ctl_table device_dir[1];\n};\n\nstruct parsed_desc {\n\tu32 mb;\n\tu32 valid;\n};\n\nstruct partition_meta_info {\n\tchar uuid[37];\n\tu8 volname[64];\n};\n\nstruct parsed_partitions {\n\tstruct gendisk *disk;\n\tchar name[32];\n\tstruct {\n\t\tsector_t from;\n\t\tsector_t size;\n\t\tint flags;\n\t\tbool has_info;\n\t\tstruct partition_meta_info info;\n\t} *parts;\n\tint next;\n\tint limit;\n\tbool access_beyond_eod;\n\tchar *pp_buf;\n};\n\nstruct part_desc_seq_scan_data {\n\tstruct udf_vds_record rec;\n\tu32 partnum;\n};\n\nstruct partial_cluster {\n\text4_fsblk_t pclu;\n\text4_lblk_t lblk;\n\tenum {\n\t\tinitial = 0,\n\t\ttofree = 1,\n\t\tnofree = 2,\n\t} state;\n};\n\nstruct partial_context {\n\tgfp_t flags;\n\tunsigned int orig_size;\n\tvoid *object;\n};\n\nstruct partial_page {\n\tunsigned int offset;\n\tunsigned int len;\n\tlong unsigned int private;\n};\n\nstruct partitionDesc {\n\tstruct tag descTag;\n\t__le32 volDescSeqNum;\n\t__le16 partitionFlags;\n\t__le16 partitionNumber;\n\tstruct regid partitionContents;\n\tuint8_t partitionContentsUse[128];\n\t__le32 accessType;\n\t__le32 partitionStartingLocation;\n\t__le32 partitionLength;\n\tstruct regid impIdent;\n\tuint8_t impUse[128];\n\tuint8_t reserved[156];\n};\n\nstruct short_ad {\n\t__le32 extLength;\n\t__le32 extPosition;\n};\n\nstruct partitionHeaderDesc {\n\tstruct short_ad unallocSpaceTable;\n\tstruct short_ad unallocSpaceBitmap;\n\tstruct short_ad partitionIntegrityTable;\n\tstruct short_ad freedSpaceTable;\n\tstruct short_ad freedSpaceBitmap;\n\tuint8_t reserved[88];\n};\n\nstruct pathComponent {\n\tuint8_t componentType;\n\tuint8_t lengthComponentIdent;\n\t__le16 componentFileVersionNum;\n\tdchars componentIdent[0];\n};\n\nstruct path_cond {\n\tkuid_t uid;\n\tumode_t mode;\n};\n\nstruct pause_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_pauseparam pauseparam;\n\tstruct ethtool_pause_stats pausestat;\n};\n\nstruct pause_req_info {\n\tstruct ethnl_req_info base;\n\tenum ethtool_mac_stats_src src;\n};\n\nstruct pbe {\n\tvoid *address;\n\tvoid *orig_address;\n\tstruct pbe *next;\n};\n\nstruct pch_lpc {\n\tvoid *base;\n\tstruct irq_domain *lpc_domain;\n\traw_spinlock_t lpc_lock;\n\tu32 saved_reg_ctl;\n\tu32 saved_reg_ena;\n\tu32 saved_reg_pol;\n};\n\nstruct pch_msi_data {\n\tstruct mutex msi_map_lock;\n\tphys_addr_t doorbell;\n\tu32 irq_first;\n\tu32 num_irqs;\n\tlong unsigned int *msi_map;\n};\n\nstruct pch_pic {\n\tvoid *base;\n\tstruct irq_domain *pic_domain;\n\tu32 ht_vec_base;\n\traw_spinlock_t pic_lock;\n\tu32 vec_count;\n\tu32 gsi_base;\n\tu32 saved_vec_en[2];\n\tu32 saved_vec_pol[2];\n\tu32 saved_vec_edge[2];\n\tu8 table[64];\n\tint inuse;\n};\n\nstruct pci_acs {\n\tu16 cap;\n\tu16 ctrl;\n\tu16 fw_ctrl;\n};\n\nstruct pci_bits {\n\tunsigned int reg;\n\tunsigned int width;\n\tlong unsigned int mask;\n\tlong unsigned int val;\n};\n\nstruct pci_bus {\n\tstruct list_head node;\n\tstruct pci_bus *parent;\n\tstruct list_head children;\n\tstruct list_head devices;\n\tstruct pci_dev *self;\n\tstruct list_head slots;\n\tstruct resource *resource[4];\n\tstruct list_head resources;\n\tstruct resource busn_res;\n\tstruct pci_ops *ops;\n\tvoid *sysdata;\n\tstruct proc_dir_entry *procdir;\n\tunsigned char number;\n\tunsigned char primary;\n\tunsigned char max_bus_speed;\n\tunsigned char cur_bus_speed;\n\tint domain_nr;\n\tchar name[48];\n\tshort unsigned int bridge_ctl;\n\tpci_bus_flags_t bus_flags;\n\tstruct device *bridge;\n\tstruct device dev;\n\tstruct bin_attribute *legacy_io;\n\tstruct bin_attribute *legacy_mem;\n\tunsigned int is_added: 1;\n\tunsigned int unsafe_warn: 1;\n};\n\nstruct pci_bus_region {\n\tpci_bus_addr_t start;\n\tpci_bus_addr_t end;\n};\n\nstruct pci_bus_resource {\n\tstruct list_head list;\n\tstruct resource *res;\n};\n\nstruct pci_cap_saved_data {\n\tu16 cap_nr;\n\tbool cap_extended;\n\tunsigned int size;\n\tu32 data[0];\n};\n\nstruct pci_cap_saved_state {\n\tstruct hlist_node next;\n\tstruct pci_cap_saved_data cap;\n};\n\nstruct pci_config_window {\n\tstruct resource res;\n\tstruct resource busr;\n\tunsigned int bus_shift;\n\tvoid *priv;\n\tconst struct pci_ecam_ops *ops;\n\tunion {\n\t\tvoid *win;\n\t\tvoid **winp;\n\t};\n\tstruct device *parent;\n};\n\nstruct pci_vpd {\n\tstruct mutex lock;\n\tunsigned int len;\n\tu8 cap;\n};\n\nstruct rcec_ea;\n\nstruct pcie_bwctrl_data;\n\nstruct pci_sriov;\n\nstruct pci_dev {\n\tstruct list_head bus_list;\n\tstruct pci_bus *bus;\n\tstruct pci_bus *subordinate;\n\tvoid *sysdata;\n\tstruct proc_dir_entry *procent;\n\tstruct pci_slot *slot;\n\tunsigned int devfn;\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tshort unsigned int subsystem_vendor;\n\tshort unsigned int subsystem_device;\n\tunsigned int class;\n\tu8 revision;\n\tu8 hdr_type;\n\tu16 aer_cap;\n\tstruct aer_stats *aer_stats;\n\tstruct rcec_ea *rcec_ea;\n\tstruct pci_dev *rcec;\n\tu32 devcap;\n\tu8 pcie_cap;\n\tu8 msi_cap;\n\tu8 msix_cap;\n\tu8 pcie_mpss: 3;\n\tu8 rom_base_reg;\n\tu8 pin;\n\tu16 pcie_flags_reg;\n\tlong unsigned int *dma_alias_mask;\n\tstruct pci_driver *driver;\n\tu64 dma_mask;\n\tstruct device_dma_parameters dma_parms;\n\tpci_power_t current_state;\n\tu8 pm_cap;\n\tunsigned int pme_support: 5;\n\tunsigned int pme_poll: 1;\n\tunsigned int pinned: 1;\n\tunsigned int config_rrs_sv: 1;\n\tunsigned int imm_ready: 1;\n\tunsigned int d1_support: 1;\n\tunsigned int d2_support: 1;\n\tunsigned int no_d1d2: 1;\n\tunsigned int no_d3cold: 1;\n\tunsigned int bridge_d3: 1;\n\tunsigned int d3cold_allowed: 1;\n\tunsigned int mmio_always_on: 1;\n\tunsigned int wakeup_prepared: 1;\n\tunsigned int skip_bus_pm: 1;\n\tunsigned int ignore_hotplug: 1;\n\tunsigned int hotplug_user_indicators: 1;\n\tunsigned int clear_retrain_link: 1;\n\tunsigned int d3hot_delay;\n\tunsigned int d3cold_delay;\n\tu16 l1ss;\n\tunsigned int pasid_no_tlp: 1;\n\tunsigned int eetlp_prefix_max: 3;\n\tpci_channel_state_t error_state;\n\tstruct device dev;\n\tint cfg_size;\n\tunsigned int irq;\n\tstruct resource resource[17];\n\tstruct resource driver_exclusive_resource;\n\tbool match_driver;\n\tunsigned int transparent: 1;\n\tunsigned int io_window: 1;\n\tunsigned int pref_window: 1;\n\tunsigned int pref_64_window: 1;\n\tunsigned int multifunction: 1;\n\tunsigned int is_busmaster: 1;\n\tunsigned int no_msi: 1;\n\tunsigned int no_64bit_msi: 1;\n\tunsigned int block_cfg_access: 1;\n\tunsigned int broken_parity_status: 1;\n\tunsigned int irq_reroute_variant: 2;\n\tunsigned int msi_enabled: 1;\n\tunsigned int msix_enabled: 1;\n\tunsigned int ari_enabled: 1;\n\tunsigned int ats_enabled: 1;\n\tunsigned int pasid_enabled: 1;\n\tunsigned int pri_enabled: 1;\n\tunsigned int tph_enabled: 1;\n\tunsigned int is_managed: 1;\n\tunsigned int is_msi_managed: 1;\n\tunsigned int needs_freset: 1;\n\tunsigned int state_saved: 1;\n\tunsigned int is_physfn: 1;\n\tunsigned int is_virtfn: 1;\n\tunsigned int is_hotplug_bridge: 1;\n\tunsigned int shpc_managed: 1;\n\tunsigned int is_thunderbolt: 1;\n\tunsigned int untrusted: 1;\n\tunsigned int external_facing: 1;\n\tunsigned int broken_intx_masking: 1;\n\tunsigned int io_window_1k: 1;\n\tunsigned int irq_managed: 1;\n\tunsigned int non_compliant_bars: 1;\n\tunsigned int is_probed: 1;\n\tunsigned int link_active_reporting: 1;\n\tunsigned int no_vf_scan: 1;\n\tunsigned int no_command_memory: 1;\n\tunsigned int rom_bar_overlap: 1;\n\tunsigned int rom_attr_enabled: 1;\n\tpci_dev_flags_t dev_flags;\n\tatomic_t enable_cnt;\n\tspinlock_t pcie_cap_lock;\n\tu32 saved_config_space[16];\n\tstruct hlist_head saved_cap_space;\n\tstruct bin_attribute *res_attr[17];\n\tstruct bin_attribute *res_attr_wc[17];\n\tunsigned int broken_cmd_compl: 1;\n\tvoid *msix_base;\n\traw_spinlock_t msi_lock;\n\tstruct pci_vpd vpd;\n\tstruct pcie_bwctrl_data *link_bwctrl;\n\tunion {\n\t\tstruct pci_sriov *sriov;\n\t\tstruct pci_dev *physfn;\n\t};\n\tu16 ats_cap;\n\tu8 ats_stu;\n\tu16 acs_cap;\n\tu8 supported_speeds;\n\tphys_addr_t rom;\n\tsize_t romlen;\n\tconst char *driver_override;\n\tlong unsigned int priv_flags;\n\tu8 reset_methods[8];\n};\n\nstruct pci_dev_acs_enabled {\n\tu16 vendor;\n\tu16 device;\n\tint (*acs_enabled)(struct pci_dev *, u16);\n};\n\nstruct pci_dev_acs_ops {\n\tu16 vendor;\n\tu16 device;\n\tint (*enable_acs)(struct pci_dev *);\n\tint (*disable_acs_redir)(struct pci_dev *);\n};\n\nstruct pci_dev_reset_methods {\n\tu16 vendor;\n\tu16 device;\n\tint (*reset)(struct pci_dev *, bool);\n};\n\nstruct pci_dev_resource {\n\tstruct list_head list;\n\tstruct resource *res;\n\tstruct pci_dev *dev;\n\tresource_size_t start;\n\tresource_size_t end;\n\tresource_size_t add_size;\n\tresource_size_t min_align;\n\tlong unsigned int flags;\n};\n\nstruct pci_device_id {\n\t__u32 vendor;\n\t__u32 device;\n\t__u32 subvendor;\n\t__u32 subdevice;\n\t__u32 class;\n\t__u32 class_mask;\n\tkernel_ulong_t driver_data;\n\t__u32 override_only;\n};\n\nstruct pci_domain_busn_res {\n\tstruct list_head list;\n\tstruct resource res;\n\tint domain_nr;\n};\n\nstruct pci_dynids {\n\tspinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct pci_error_handlers;\n\nstruct pci_driver {\n\tconst char *name;\n\tconst struct pci_device_id *id_table;\n\tint (*probe)(struct pci_dev *, const struct pci_device_id *);\n\tvoid (*remove)(struct pci_dev *);\n\tint (*suspend)(struct pci_dev *, pm_message_t);\n\tint (*resume)(struct pci_dev *);\n\tvoid (*shutdown)(struct pci_dev *);\n\tint (*sriov_configure)(struct pci_dev *, int);\n\tint (*sriov_set_msix_vec_count)(struct pci_dev *, int);\n\tu32 (*sriov_get_vf_total_msix)(struct pci_dev *);\n\tconst struct pci_error_handlers *err_handler;\n\tconst struct attribute_group **groups;\n\tconst struct attribute_group **dev_groups;\n\tstruct device_driver driver;\n\tstruct pci_dynids dynids;\n\tbool driver_managed_dma;\n};\n\nstruct pci_dynid {\n\tstruct list_head node;\n\tstruct pci_device_id id;\n};\n\nstruct pci_ops {\n\tint (*add_bus)(struct pci_bus *);\n\tvoid (*remove_bus)(struct pci_bus *);\n\tvoid * (*map_bus)(struct pci_bus *, unsigned int, int);\n\tint (*read)(struct pci_bus *, unsigned int, int, int, u32 *);\n\tint (*write)(struct pci_bus *, unsigned int, int, int, u32);\n};\n\nstruct pci_host_bridge;\n\nstruct pci_ecam_ops {\n\tunsigned int bus_shift;\n\tstruct pci_ops pci_ops;\n\tint (*init)(struct pci_config_window *);\n\tint (*enable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid (*disable_device)(struct pci_host_bridge *, struct pci_dev *);\n};\n\nstruct pci_error_handlers {\n\tpci_ers_result_t (*error_detected)(struct pci_dev *, pci_channel_state_t);\n\tpci_ers_result_t (*mmio_enabled)(struct pci_dev *);\n\tpci_ers_result_t (*slot_reset)(struct pci_dev *);\n\tvoid (*reset_prepare)(struct pci_dev *);\n\tvoid (*reset_done)(struct pci_dev *);\n\tvoid (*resume)(struct pci_dev *);\n\tvoid (*cor_error_detected)(struct pci_dev *);\n};\n\nstruct pci_filp_private {\n\tenum pci_mmap_state mmap_state;\n\tint write_combine;\n};\n\nstruct pci_fixup {\n\tu16 vendor;\n\tu16 device;\n\tu32 class;\n\tunsigned int class_shift;\n\tvoid (*hook)(struct pci_dev *);\n};\n\nstruct pci_host_bridge {\n\tstruct device dev;\n\tstruct pci_bus *bus;\n\tstruct pci_ops *ops;\n\tstruct pci_ops *child_ops;\n\tvoid *sysdata;\n\tint busnr;\n\tint domain_nr;\n\tstruct list_head windows;\n\tstruct list_head dma_ranges;\n\tu8 (*swizzle_irq)(struct pci_dev *, u8 *);\n\tint (*map_irq)(const struct pci_dev *, u8, u8);\n\tvoid (*release_fn)(struct pci_host_bridge *);\n\tint (*enable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid (*disable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid *release_data;\n\tunsigned int ignore_reset_delay: 1;\n\tunsigned int no_ext_tags: 1;\n\tunsigned int no_inc_mrrs: 1;\n\tunsigned int native_aer: 1;\n\tunsigned int native_pcie_hotplug: 1;\n\tunsigned int native_shpc_hotplug: 1;\n\tunsigned int native_pme: 1;\n\tunsigned int native_ltr: 1;\n\tunsigned int native_dpc: 1;\n\tunsigned int native_cxl_error: 1;\n\tunsigned int preserve_config: 1;\n\tunsigned int size_windows: 1;\n\tunsigned int msi_domain: 1;\n\tresource_size_t (*align_resource)(struct pci_dev *, const struct resource *, resource_size_t, resource_size_t, resource_size_t);\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct pci_osc_bit_struct {\n\tu32 bit;\n\tchar *desc;\n};\n\nstruct pci_p2pdma_map_state {\n\tstruct dev_pagemap *pgmap;\n\tint map;\n\tu64 bus_off;\n};\n\nstruct pci_parport_data {\n\tint num;\n\tstruct parport *ports[2];\n};\n\nstruct pci_pme_device {\n\tstruct list_head list;\n\tstruct pci_dev *dev;\n};\n\nstruct pci_reset_fn_method {\n\tint (*reset_fn)(struct pci_dev *, bool);\n\tchar *name;\n};\n\nstruct pci_root_info {\n\tstruct acpi_pci_root_info common;\n\tstruct pci_config_window *cfg;\n};\n\nstruct pci_saved_state {\n\tu32 config_space[16];\n\tstruct pci_cap_saved_data cap[0];\n};\n\nstruct pciserial_board;\n\nstruct pci_serial_quirk {\n\tu32 vendor;\n\tu32 device;\n\tu32 subvendor;\n\tu32 subdevice;\n\tint (*probe)(struct pci_dev *);\n\tint (*init)(struct pci_dev *);\n\tint (*setup)(struct serial_private *, const struct pciserial_board *, struct uart_8250_port *, int);\n\tvoid (*exit)(struct pci_dev *);\n};\n\nstruct pci_slot {\n\tstruct pci_bus *bus;\n\tstruct list_head list;\n\tstruct hotplug_slot *hotplug;\n\tunsigned char number;\n\tstruct kobject kobj;\n};\n\nstruct pci_slot_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct pci_slot *, char *);\n\tssize_t (*store)(struct pci_slot *, const char *, size_t);\n};\n\nstruct pci_sriov {\n\tint pos;\n\tint nres;\n\tu32 cap;\n\tu16 ctrl;\n\tu16 total_VFs;\n\tu16 initial_VFs;\n\tu16 num_VFs;\n\tu16 offset;\n\tu16 stride;\n\tu16 vf_device;\n\tu32 pgsz;\n\tu8 link;\n\tu8 max_VF_buses;\n\tu16 driver_max_VFs;\n\tstruct pci_dev *dev;\n\tstruct pci_dev *self;\n\tu32 class;\n\tu8 hdr_type;\n\tu16 subsystem_vendor;\n\tu16 subsystem_device;\n\tresource_size_t barsz[6];\n\tbool drivers_autoprobe;\n};\n\nstruct pcie_bwctrl_data {\n\tstruct mutex set_speed_mutex;\n\tatomic_t lbms_count;\n\tstruct thermal_cooling_device *cdev;\n};\n\nstruct pcie_device {\n\tint irq;\n\tstruct pci_dev *port;\n\tu32 service;\n\tvoid *priv_data;\n\tstruct device device;\n};\n\nstruct pcie_pme_service_data {\n\tspinlock_t lock;\n\tstruct pcie_device *srv;\n\tstruct work_struct work;\n\tbool noirq;\n};\n\nstruct pcie_port_service_driver {\n\tconst char *name;\n\tint (*probe)(struct pcie_device *);\n\tvoid (*remove)(struct pcie_device *);\n\tint (*suspend)(struct pcie_device *);\n\tint (*resume_noirq)(struct pcie_device *);\n\tint (*resume)(struct pcie_device *);\n\tint (*runtime_suspend)(struct pcie_device *);\n\tint (*runtime_resume)(struct pcie_device *);\n\tint (*slot_reset)(struct pcie_device *);\n\tint port_type;\n\tu32 service;\n\tstruct device_driver driver;\n};\n\nstruct pcie_sg_list {\n\tvoid *pcie_sgl;\n\tdma_addr_t pcie_sgl_dma;\n};\n\nstruct pcim_addr_devres {\n\tenum pcim_addr_devres_type type;\n\tvoid *baseaddr;\n\tlong unsigned int offset;\n\tlong unsigned int len;\n\tint bar;\n};\n\nstruct pcim_intx_devres {\n\tint orig_intx;\n};\n\nstruct pcim_iomap_devres {\n\tvoid *table[6];\n};\n\nstruct pciserial_board {\n\tunsigned int flags;\n\tunsigned int num_ports;\n\tunsigned int base_baud;\n\tunsigned int uart_offset;\n\tunsigned int reg_shift;\n\tunsigned int first_offset;\n};\n\nstruct pcm_format_data {\n\tunsigned char width;\n\tunsigned char phys;\n\tsigned char le;\n\tsigned char signd;\n\tunsigned char silence[8];\n};\n\nstruct pcpu_group_info {\n\tint nr_units;\n\tlong unsigned int base_offset;\n\tunsigned int *cpu_map;\n};\n\nstruct pcpu_alloc_info {\n\tsize_t static_size;\n\tsize_t reserved_size;\n\tsize_t dyn_size;\n\tsize_t unit_size;\n\tsize_t atom_size;\n\tsize_t alloc_size;\n\tsize_t __ai_size;\n\tint nr_groups;\n\tstruct pcpu_group_info groups[0];\n};\n\nstruct pcpu_block_md {\n\tint scan_hint;\n\tint scan_hint_start;\n\tint contig_hint;\n\tint contig_hint_start;\n\tint left_free;\n\tint right_free;\n\tint first_free;\n\tint nr_bits;\n};\n\nstruct pcpuobj_ext;\n\nstruct pcpu_chunk {\n\tstruct list_head list;\n\tint free_bytes;\n\tstruct pcpu_block_md chunk_md;\n\tlong unsigned int *bound_map;\n\tvoid *base_addr;\n\tlong unsigned int *alloc_map;\n\tstruct pcpu_block_md *md_blocks;\n\tvoid *data;\n\tbool immutable;\n\tbool isolated;\n\tint start_offset;\n\tint end_offset;\n\tstruct pcpuobj_ext *obj_exts;\n\tint nr_pages;\n\tint nr_populated;\n\tint nr_empty_pop_pages;\n\tlong unsigned int populated[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pcpu_dstats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tu64_stats_t rx_drops;\n\tu64_stats_t tx_drops;\n\tstruct u64_stats_sync syncp;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pcpu_gen_cookie {\n\tlocal_t nesting;\n\tu64 last;\n};\n\nstruct pcpu_lstats {\n\tu64_stats_t packets;\n\tu64_stats_t bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct pcpu_sw_netstats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct pcpuobj_ext {\n\tstruct obj_cgroup *cgroup;\n};\n\nstruct pde_opener {\n\tstruct list_head lh;\n\tstruct file *file;\n\tbool closing;\n\tstruct completion *c;\n};\n\nstruct pdev_archdata {};\n\nstruct pending_dir_move {\n\tstruct rb_node node;\n\tstruct list_head list;\n\tu64 parent_ino;\n\tu64 ino;\n\tu64 gen;\n\tstruct list_head update_refs;\n};\n\nstruct pending_list {\n\tstruct list_head head;\n};\n\nstruct pending_reservation {\n\tstruct rb_node rb_node;\n\text4_lblk_t lclu;\n};\n\nstruct per_cpu_nodestat {\n\ts8 stat_threshold;\n\ts8 vm_node_stat_diff[48];\n};\n\nstruct per_cpu_pages {\n\tspinlock_t lock;\n\tint count;\n\tint high;\n\tint high_min;\n\tint high_max;\n\tint batch;\n\tu8 flags;\n\tu8 alloc_factor;\n\tu8 expire;\n\tshort int free_count;\n\tstruct list_head lists[14];\n};\n\nstruct per_cpu_zonestat {\n\ts8 vm_stat_diff[11];\n\ts8 stat_threshold;\n\tlong unsigned int vm_numa_event[6];\n};\n\nstruct percpu_cluster {\n\tlocal_lock_t lock;\n\tunsigned int next[12];\n};\n\nstruct percpu_free_defer {\n\tstruct callback_head rcu;\n\tvoid *ptr;\n};\n\ntypedef void percpu_ref_func_t(struct percpu_ref *);\n\nstruct percpu_ref_data {\n\tatomic_long_t count;\n\tpercpu_ref_func_t *release;\n\tpercpu_ref_func_t *confirm_switch;\n\tbool force_atomic: 1;\n\tbool allow_reinit: 1;\n\tstruct callback_head rcu;\n\tstruct percpu_ref *ref;\n};\n\nstruct perf_addr_filter {\n\tstruct list_head entry;\n\tstruct path path;\n\tlong unsigned int offset;\n\tlong unsigned int size;\n\tenum perf_addr_filter_action_t action;\n};\n\nstruct perf_addr_filter_range {\n\tlong unsigned int start;\n\tlong unsigned int size;\n};\n\nstruct perf_addr_filters_head {\n\tstruct list_head list;\n\traw_spinlock_t lock;\n\tunsigned int nr_file_filters;\n};\n\nstruct perf_event_header {\n\t__u32 type;\n\t__u16 misc;\n\t__u16 size;\n};\n\nstruct perf_aux_event {\n\tstruct perf_event_header header;\n\tu64 hw_id;\n};\n\nstruct perf_aux_event___2 {\n\tstruct perf_event_header header;\n\tu32 pid;\n\tu32 tid;\n};\n\nstruct perf_aux_event___3 {\n\tstruct perf_event_header header;\n\tu64 offset;\n\tu64 size;\n\tu64 flags;\n};\n\nstruct perf_bpf_event {\n\tstruct bpf_prog *prog;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu16 type;\n\t\tu16 flags;\n\t\tu32 id;\n\t\tu8 tag[8];\n\t} event_id;\n};\n\nstruct perf_branch_entry {\n\t__u64 from;\n\t__u64 to;\n\t__u64 mispred: 1;\n\t__u64 predicted: 1;\n\t__u64 in_tx: 1;\n\t__u64 abort: 1;\n\t__u64 cycles: 16;\n\t__u64 type: 4;\n\t__u64 spec: 2;\n\t__u64 new_type: 4;\n\t__u64 priv: 3;\n\t__u64 reserved: 31;\n};\n\nstruct perf_branch_stack {\n\t__u64 nr;\n\t__u64 hw_idx;\n\tstruct perf_branch_entry entries[0];\n};\n\nstruct perf_event_mmap_page;\n\nstruct perf_buffer {\n\trefcount_t refcount;\n\tstruct callback_head callback_head;\n\tstruct work_struct work;\n\tint page_order;\n\tint nr_pages;\n\tint overwrite;\n\tint paused;\n\tatomic_t poll;\n\tlocal_t head;\n\tunsigned int nest;\n\tlocal_t events;\n\tlocal_t wakeup;\n\tlocal_t lost;\n\tlong int watermark;\n\tlong int aux_watermark;\n\tspinlock_t event_lock;\n\tstruct list_head event_list;\n\tatomic_t mmap_count;\n\tlong unsigned int mmap_locked;\n\tstruct user_struct *mmap_user;\n\tstruct mutex aux_mutex;\n\tlong int aux_head;\n\tunsigned int aux_nest;\n\tlong int aux_wakeup;\n\tlong unsigned int aux_pgoff;\n\tint aux_nr_pages;\n\tint aux_overwrite;\n\tatomic_t aux_mmap_count;\n\tlong unsigned int aux_mmap_locked;\n\tvoid (*free_aux)(void *);\n\trefcount_t aux_refcount;\n\tint aux_in_sampling;\n\tint aux_in_pause_resume;\n\tvoid **aux_pages;\n\tvoid *aux_priv;\n\tstruct perf_event_mmap_page *user_page;\n\tvoid *data_pages[0];\n};\n\nstruct perf_callchain_entry {\n\t__u64 nr;\n\t__u64 ip[0];\n};\n\nstruct perf_callchain_entry_ctx {\n\tstruct perf_callchain_entry *entry;\n\tu32 max_stack;\n\tu32 nr;\n\tshort int contexts;\n\tbool contexts_maxed;\n};\n\nstruct perf_cgroup_info;\n\nstruct perf_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct perf_cgroup_info *info;\n};\n\nstruct perf_cgroup_event {\n\tchar *path;\n\tint path_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 id;\n\t\tchar path[0];\n\t} event_id;\n};\n\nstruct perf_cgroup_info {\n\tu64 time;\n\tu64 timestamp;\n\tu64 timeoffset;\n\tint active;\n};\n\nstruct perf_comm_event {\n\tstruct task_struct *task;\n\tchar *comm;\n\tint comm_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t} event_id;\n};\n\nstruct perf_event_groups {\n\tstruct rb_root tree;\n\tu64 index;\n};\n\nstruct perf_event_context {\n\traw_spinlock_t lock;\n\tstruct mutex mutex;\n\tstruct list_head pmu_ctx_list;\n\tstruct perf_event_groups pinned_groups;\n\tstruct perf_event_groups flexible_groups;\n\tstruct list_head event_list;\n\tint nr_events;\n\tint nr_user;\n\tint is_active;\n\tint nr_task_data;\n\tint nr_stat;\n\tint nr_freq;\n\tint rotate_disable;\n\trefcount_t refcount;\n\tstruct task_struct *task;\n\tu64 time;\n\tu64 timestamp;\n\tu64 timeoffset;\n\tstruct perf_event_context *parent_ctx;\n\tu64 parent_gen;\n\tu64 generation;\n\tint pin_count;\n\tint nr_cgroups;\n\tstruct callback_head callback_head;\n\tlocal_t nr_no_switch_fast;\n};\n\nstruct perf_cpu_context {\n\tstruct perf_event_context ctx;\n\tstruct perf_event_context *task_ctx;\n\tint online;\n\tstruct perf_cgroup *cgrp;\n\tint heap_size;\n\tstruct perf_event **heap;\n\tstruct perf_event *heap_default[2];\n};\n\nstruct perf_event_pmu_context {\n\tstruct pmu *pmu;\n\tstruct perf_event_context *ctx;\n\tstruct list_head pmu_ctx_entry;\n\tstruct list_head pinned_active;\n\tstruct list_head flexible_active;\n\tunsigned int embedded: 1;\n\tunsigned int nr_events;\n\tunsigned int nr_cgroups;\n\tunsigned int nr_freq;\n\tatomic_t refcount;\n\tstruct callback_head callback_head;\n\tvoid *task_ctx_data;\n\tint rotate_necessary;\n};\n\nstruct perf_cpu_pmu_context {\n\tstruct perf_event_pmu_context epc;\n\tstruct perf_event_pmu_context *task_epc;\n\tstruct list_head sched_cb_entry;\n\tint sched_cb_usage;\n\tint active_oncpu;\n\tint exclusive;\n\traw_spinlock_t hrtimer_lock;\n\tstruct hrtimer hrtimer;\n\tktime_t hrtimer_interval;\n\tunsigned int hrtimer_active;\n};\n\nstruct perf_domain {\n\tstruct em_perf_domain *em_pd;\n\tstruct perf_domain *next;\n\tstruct callback_head rcu;\n};\n\nstruct perf_event_attr {\n\t__u32 type;\n\t__u32 size;\n\t__u64 config;\n\tunion {\n\t\t__u64 sample_period;\n\t\t__u64 sample_freq;\n\t};\n\t__u64 sample_type;\n\t__u64 read_format;\n\t__u64 disabled: 1;\n\t__u64 inherit: 1;\n\t__u64 pinned: 1;\n\t__u64 exclusive: 1;\n\t__u64 exclude_user: 1;\n\t__u64 exclude_kernel: 1;\n\t__u64 exclude_hv: 1;\n\t__u64 exclude_idle: 1;\n\t__u64 mmap: 1;\n\t__u64 comm: 1;\n\t__u64 freq: 1;\n\t__u64 inherit_stat: 1;\n\t__u64 enable_on_exec: 1;\n\t__u64 task: 1;\n\t__u64 watermark: 1;\n\t__u64 precise_ip: 2;\n\t__u64 mmap_data: 1;\n\t__u64 sample_id_all: 1;\n\t__u64 exclude_host: 1;\n\t__u64 exclude_guest: 1;\n\t__u64 exclude_callchain_kernel: 1;\n\t__u64 exclude_callchain_user: 1;\n\t__u64 mmap2: 1;\n\t__u64 comm_exec: 1;\n\t__u64 use_clockid: 1;\n\t__u64 context_switch: 1;\n\t__u64 write_backward: 1;\n\t__u64 namespaces: 1;\n\t__u64 ksymbol: 1;\n\t__u64 bpf_event: 1;\n\t__u64 aux_output: 1;\n\t__u64 cgroup: 1;\n\t__u64 text_poke: 1;\n\t__u64 build_id: 1;\n\t__u64 inherit_thread: 1;\n\t__u64 remove_on_exec: 1;\n\t__u64 sigtrap: 1;\n\t__u64 __reserved_1: 26;\n\tunion {\n\t\t__u32 wakeup_events;\n\t\t__u32 wakeup_watermark;\n\t};\n\t__u32 bp_type;\n\tunion {\n\t\t__u64 bp_addr;\n\t\t__u64 kprobe_func;\n\t\t__u64 uprobe_path;\n\t\t__u64 config1;\n\t};\n\tunion {\n\t\t__u64 bp_len;\n\t\t__u64 kprobe_addr;\n\t\t__u64 probe_offset;\n\t\t__u64 config2;\n\t};\n\t__u64 branch_sample_type;\n\t__u64 sample_regs_user;\n\t__u32 sample_stack_user;\n\t__s32 clockid;\n\t__u64 sample_regs_intr;\n\t__u32 aux_watermark;\n\t__u16 sample_max_stack;\n\t__u16 __reserved_2;\n\t__u32 aux_sample_size;\n\tunion {\n\t\t__u32 aux_action;\n\t\tstruct {\n\t\t\t__u32 aux_start_paused: 1;\n\t\t\t__u32 aux_pause: 1;\n\t\t\t__u32 aux_resume: 1;\n\t\t\t__u32 __reserved_3: 29;\n\t\t};\n\t};\n\t__u64 sig_data;\n\t__u64 config3;\n};\n\ntypedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *);\n\nstruct perf_event {\n\tstruct list_head event_entry;\n\tstruct list_head sibling_list;\n\tstruct list_head active_list;\n\tstruct rb_node group_node;\n\tu64 group_index;\n\tstruct list_head migrate_entry;\n\tstruct hlist_node hlist_entry;\n\tstruct list_head active_entry;\n\tint nr_siblings;\n\tint event_caps;\n\tint group_caps;\n\tunsigned int group_generation;\n\tstruct perf_event *group_leader;\n\tstruct pmu *pmu;\n\tvoid *pmu_private;\n\tenum perf_event_state state;\n\tunsigned int attach_state;\n\tlocal64_t count;\n\tatomic64_t child_count;\n\tu64 total_time_enabled;\n\tu64 total_time_running;\n\tu64 tstamp;\n\tstruct perf_event_attr attr;\n\tu16 header_size;\n\tu16 id_header_size;\n\tu16 read_size;\n\tstruct hw_perf_event hw;\n\tstruct perf_event_context *ctx;\n\tstruct perf_event_pmu_context *pmu_ctx;\n\tatomic_long_t refcount;\n\tatomic64_t child_total_time_enabled;\n\tatomic64_t child_total_time_running;\n\tstruct mutex child_mutex;\n\tstruct list_head child_list;\n\tstruct perf_event *parent;\n\tint oncpu;\n\tint cpu;\n\tstruct list_head owner_entry;\n\tstruct task_struct *owner;\n\tstruct mutex mmap_mutex;\n\tatomic_t mmap_count;\n\tstruct perf_buffer *rb;\n\tstruct list_head rb_entry;\n\tlong unsigned int rcu_batches;\n\tint rcu_pending;\n\twait_queue_head_t waitq;\n\tstruct fasync_struct *fasync;\n\tunsigned int pending_wakeup;\n\tunsigned int pending_kill;\n\tunsigned int pending_disable;\n\tlong unsigned int pending_addr;\n\tstruct irq_work pending_irq;\n\tstruct irq_work pending_disable_irq;\n\tstruct callback_head pending_task;\n\tunsigned int pending_work;\n\tstruct rcuwait pending_work_wait;\n\tatomic_t event_limit;\n\tstruct perf_addr_filters_head addr_filters;\n\tstruct perf_addr_filter_range *addr_filter_ranges;\n\tlong unsigned int addr_filters_gen;\n\tstruct perf_event *aux_event;\n\tvoid (*destroy)(struct perf_event *);\n\tstruct callback_head callback_head;\n\tstruct pid_namespace *ns;\n\tu64 id;\n\tatomic64_t lost_samples;\n\tu64 (*clock)(void);\n\tperf_overflow_handler_t overflow_handler;\n\tvoid *overflow_handler_context;\n\tstruct bpf_prog *prog;\n\tu64 bpf_cookie;\n\tstruct trace_event_call *tp_event;\n\tstruct event_filter *filter;\n\tstruct perf_cgroup *cgrp;\n\tvoid *security;\n\tstruct list_head sb_list;\n\t__u32 orig_type;\n};\n\nstruct perf_event_min_heap {\n\tsize_t nr;\n\tsize_t size;\n\tstruct perf_event **data;\n\tstruct perf_event *preallocated[0];\n};\n\nstruct perf_event_mmap_page {\n\t__u32 version;\n\t__u32 compat_version;\n\t__u32 lock;\n\t__u32 index;\n\t__s64 offset;\n\t__u64 time_enabled;\n\t__u64 time_running;\n\tunion {\n\t\t__u64 capabilities;\n\t\tstruct {\n\t\t\t__u64 cap_bit0: 1;\n\t\t\t__u64 cap_bit0_is_deprecated: 1;\n\t\t\t__u64 cap_user_rdpmc: 1;\n\t\t\t__u64 cap_user_time: 1;\n\t\t\t__u64 cap_user_time_zero: 1;\n\t\t\t__u64 cap_user_time_short: 1;\n\t\t\t__u64 cap_____res: 58;\n\t\t};\n\t};\n\t__u16 pmc_width;\n\t__u16 time_shift;\n\t__u32 time_mult;\n\t__u64 time_offset;\n\t__u64 time_zero;\n\t__u32 size;\n\t__u32 __reserved_1;\n\t__u64 time_cycles;\n\t__u64 time_mask;\n\t__u8 __reserved[928];\n\t__u64 data_head;\n\t__u64 data_tail;\n\t__u64 data_offset;\n\t__u64 data_size;\n\t__u64 aux_head;\n\t__u64 aux_tail;\n\t__u64 aux_offset;\n\t__u64 aux_size;\n};\n\nstruct perf_event_query_bpf {\n\t__u32 ids_len;\n\t__u32 prog_cnt;\n\t__u32 ids[0];\n};\n\nstruct perf_event_security_struct {\n\tu32 sid;\n};\n\nstruct perf_ksymbol_event {\n\tconst char *name;\n\tint name_len;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 addr;\n\t\tu32 len;\n\t\tu16 ksym_type;\n\t\tu16 flags;\n\t} event_id;\n};\n\nstruct perf_mmap_event {\n\tstruct vm_area_struct *vma;\n\tconst char *file_name;\n\tint file_size;\n\tint maj;\n\tint min;\n\tu64 ino;\n\tu64 ino_generation;\n\tu32 prot;\n\tu32 flags;\n\tu8 build_id[20];\n\tu32 build_id_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t\tu64 start;\n\t\tu64 len;\n\t\tu64 pgoff;\n\t} event_id;\n};\n\nstruct perf_ns_link_info {\n\t__u64 dev;\n\t__u64 ino;\n};\n\nstruct perf_namespaces_event {\n\tstruct task_struct *task;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t\tu64 nr_namespaces;\n\t\tstruct perf_ns_link_info link_info[7];\n\t} event_id;\n};\n\nstruct perf_output_handle {\n\tstruct perf_event *event;\n\tstruct perf_buffer *rb;\n\tlong unsigned int wakeup;\n\tlong unsigned int size;\n\tu64 aux_flags;\n\tunion {\n\t\tvoid *addr;\n\t\tlong unsigned int head;\n\t};\n\tint page;\n};\n\nstruct perf_pmu_events_attr {\n\tstruct device_attribute attr;\n\tu64 id;\n\tconst char *event_str;\n};\n\ntypedef long unsigned int (*perf_copy_f)(void *, const void *, long unsigned int, long unsigned int);\n\nstruct perf_raw_frag {\n\tunion {\n\t\tstruct perf_raw_frag *next;\n\t\tlong unsigned int pad;\n\t};\n\tperf_copy_f copy;\n\tvoid *data;\n\tu32 size;\n} __attribute__((packed));\n\nstruct perf_raw_record {\n\tstruct perf_raw_frag frag;\n\tu32 size;\n};\n\nstruct perf_read_data {\n\tstruct perf_event *event;\n\tbool group;\n\tint ret;\n};\n\nstruct perf_read_event {\n\tstruct perf_event_header header;\n\tu32 pid;\n\tu32 tid;\n};\n\nstruct perf_switch_event {\n\tstruct task_struct *task;\n\tstruct task_struct *next_prev;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 next_prev_pid;\n\t\tu32 next_prev_tid;\n\t} event_id;\n};\n\nstruct perf_task_event {\n\tstruct task_struct *task;\n\tstruct perf_event_context *task_ctx;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 ppid;\n\t\tu32 tid;\n\t\tu32 ptid;\n\t\tu64 time;\n\t} event_id;\n};\n\nstruct perf_text_poke_event {\n\tconst void *old_bytes;\n\tconst void *new_bytes;\n\tsize_t pad;\n\tu16 old_len;\n\tu16 new_len;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 addr;\n\t} event_id;\n};\n\nstruct pericom8250 {\n\tvoid *virt;\n\tunsigned int nr;\n\tint line[0];\n};\n\nstruct perm_datum {\n\tu32 value;\n};\n\nstruct pernet_operations {\n\tstruct list_head list;\n\tint (*init)(struct net *);\n\tvoid (*pre_exit)(struct net *);\n\tvoid (*exit)(struct net *);\n\tvoid (*exit_batch)(struct list_head *);\n\tvoid (*exit_batch_rtnl)(struct list_head *, struct list_head *);\n\tunsigned int * const id;\n\tconst size_t size;\n};\n\nstruct pf_desc {\n\tu32 pseudoflavor;\n\tu32 qop;\n\tu32 service;\n\tchar *name;\n\tchar *auth_domain_name;\n\tstruct auth_domain *domain;\n\tbool datatouch;\n};\n\nstruct skb_array {\n\tstruct ptr_ring ring;\n};\n\nstruct pfifo_fast_priv {\n\tstruct skb_array q[3];\n};\n\nstruct xfrm_policy_walk_entry {\n\tstruct list_head all;\n\tu8 dead;\n};\n\nstruct xfrm_policy_walk {\n\tstruct xfrm_policy_walk_entry walk;\n\tu8 type;\n\tu32 seq;\n};\n\nstruct xfrm_address_filter;\n\nstruct xfrm_state_walk {\n\tstruct list_head all;\n\tu8 state;\n\tu8 dying;\n\tu8 proto;\n\tu32 seq;\n\tstruct xfrm_address_filter *filter;\n};\n\nstruct pfkey_sock {\n\tstruct sock sk;\n\tint registered;\n\tint promisc;\n\tstruct {\n\t\tuint8_t msg_version;\n\t\tuint32_t msg_portid;\n\t\tint (*dump)(struct pfkey_sock *);\n\t\tvoid (*done)(struct pfkey_sock *);\n\t\tunion {\n\t\t\tstruct xfrm_policy_walk policy;\n\t\t\tstruct xfrm_state_walk state;\n\t\t} u;\n\t\tstruct sk_buff *skb;\n\t} dump;\n\tstruct mutex dump_lock;\n};\n\nstruct zone {\n\tlong unsigned int _watermark[4];\n\tlong unsigned int watermark_boost;\n\tlong unsigned int nr_reserved_highatomic;\n\tlong unsigned int nr_free_highatomic;\n\tlong int lowmem_reserve[3];\n\tint node;\n\tstruct pglist_data *zone_pgdat;\n\tstruct per_cpu_pages *per_cpu_pageset;\n\tstruct per_cpu_zonestat *per_cpu_zonestats;\n\tint pageset_high_min;\n\tint pageset_high_max;\n\tint pageset_batch;\n\tlong unsigned int zone_start_pfn;\n\tatomic_long_t managed_pages;\n\tlong unsigned int spanned_pages;\n\tlong unsigned int present_pages;\n\tlong unsigned int present_early_pages;\n\tlong unsigned int cma_pages;\n\tconst char *name;\n\tlong unsigned int nr_isolate_pageblock;\n\tseqlock_t span_seqlock;\n\tint initialized;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct free_area free_area[12];\n\tlong unsigned int flags;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tlong unsigned int percpu_drift_mark;\n\tlong unsigned int compact_cached_free_pfn;\n\tlong unsigned int compact_cached_migrate_pfn[2];\n\tlong unsigned int compact_init_migrate_pfn;\n\tlong unsigned int compact_init_free_pfn;\n\tunsigned int compact_considered;\n\tunsigned int compact_defer_shift;\n\tint compact_order_failed;\n\tbool compact_blockskip_flush;\n\tbool contiguous;\n\tlong: 0;\n\tstruct cacheline_padding _pad3_;\n\tatomic_long_t vm_stat[11];\n\tatomic_long_t vm_numa_event[6];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct zoneref {\n\tstruct zone *zone;\n\tint zone_idx;\n};\n\nstruct zonelist {\n\tstruct zoneref _zonerefs[193];\n};\n\nstruct pglist_data {\n\tstruct zone node_zones[3];\n\tstruct zonelist node_zonelists[2];\n\tint nr_zones;\n\tspinlock_t node_size_lock;\n\tlong unsigned int node_start_pfn;\n\tlong unsigned int node_present_pages;\n\tlong unsigned int node_spanned_pages;\n\tint node_id;\n\twait_queue_head_t kswapd_wait;\n\twait_queue_head_t pfmemalloc_wait;\n\twait_queue_head_t reclaim_wait[4];\n\tatomic_t nr_writeback_throttled;\n\tlong unsigned int nr_reclaim_start;\n\tstruct mutex kswapd_lock;\n\tstruct task_struct *kswapd;\n\tint kswapd_order;\n\tenum zone_type kswapd_highest_zoneidx;\n\tint kswapd_failures;\n\tint kcompactd_max_order;\n\tenum zone_type kcompactd_highest_zoneidx;\n\twait_queue_head_t kcompactd_wait;\n\tstruct task_struct *kcompactd;\n\tbool proactive_compact_trigger;\n\tlong unsigned int totalreserve_pages;\n\tlong unsigned int min_unmapped_pages;\n\tlong unsigned int min_slab_pages;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct deferred_split deferred_split_queue;\n\tunsigned int nbp_rl_start;\n\tlong unsigned int nbp_rl_nr_cand;\n\tunsigned int nbp_threshold;\n\tunsigned int nbp_th_start;\n\tlong unsigned int nbp_th_nr_cand;\n\tstruct lruvec __lruvec;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tstruct per_cpu_nodestat *per_cpu_nodestats;\n\tatomic_long_t vm_stat[48];\n\tstruct memory_tier *memtier;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pgv {\n\tchar *buffer;\n};\n\nstruct phc_vclocks_reply_data {\n\tstruct ethnl_reply_data base;\n\tint num;\n\tint *index;\n};\n\nstruct phy_attrs {\n\tu32 bus_width;\n\tu32 max_link_rate;\n\tenum phy_mode mode;\n};\n\nstruct phy_ops;\n\nstruct phy {\n\tstruct device dev;\n\tint id;\n\tconst struct phy_ops *ops;\n\tstruct mutex mutex;\n\tint init_count;\n\tint power_count;\n\tstruct phy_attrs attrs;\n\tstruct regulator *pwr;\n\tstruct dentry *debugfs;\n};\n\nstruct phy_c45_device_ids {\n\tu32 devices_in_package;\n\tu32 mmds_present;\n\tu32 device_ids[32];\n};\n\nstruct phy_configure_opts_mipi_dphy {\n\tunsigned int clk_miss;\n\tunsigned int clk_post;\n\tunsigned int clk_pre;\n\tunsigned int clk_prepare;\n\tunsigned int clk_settle;\n\tunsigned int clk_term_en;\n\tunsigned int clk_trail;\n\tunsigned int clk_zero;\n\tunsigned int d_term_en;\n\tunsigned int eot;\n\tunsigned int hs_exit;\n\tunsigned int hs_prepare;\n\tunsigned int hs_settle;\n\tunsigned int hs_skip;\n\tunsigned int hs_trail;\n\tunsigned int hs_zero;\n\tunsigned int init;\n\tunsigned int lpx;\n\tunsigned int ta_get;\n\tunsigned int ta_go;\n\tunsigned int ta_sure;\n\tunsigned int wakeup;\n\tlong unsigned int hs_clk_rate;\n\tlong unsigned int lp_clk_rate;\n\tunsigned char lanes;\n};\n\nstruct phy_configure_opts_dp {\n\tunsigned int link_rate;\n\tunsigned int lanes;\n\tunsigned int voltage[4];\n\tunsigned int pre[4];\n\tu8 ssc: 1;\n\tu8 set_rate: 1;\n\tu8 set_lanes: 1;\n\tu8 set_voltages: 1;\n};\n\nstruct phy_configure_opts_lvds {\n\tunsigned int bits_per_lane_and_dclk_cycle;\n\tlong unsigned int differential_clk_rate;\n\tunsigned int lanes;\n\tbool is_slave;\n};\n\nunion phy_configure_opts {\n\tstruct phy_configure_opts_mipi_dphy mipi_dphy;\n\tstruct phy_configure_opts_dp dp;\n\tstruct phy_configure_opts_lvds lvds;\n};\n\nstruct phy_control_reply {\n\tu8 smp_frame_type;\n\tu8 function;\n\tu8 function_result;\n\tu8 response_length;\n};\n\nstruct phy_control_request {\n\tu8 smp_frame_type;\n\tu8 function;\n\tu8 allocated_response_length;\n\tu8 request_length;\n\tu16 expander_change_count;\n\tu8 reserved_1[3];\n\tu8 phy_identifier;\n\tu8 phy_operation;\n\tu8 reserved_2[13];\n\tu64 attached_device_name;\n\tu8 programmed_min_physical_link_rate;\n\tu8 programmed_max_physical_link_rate;\n\tu8 reserved_3[6];\n};\n\nstruct pse_control;\n\nstruct phy_driver;\n\nstruct phy_device {\n\tstruct mdio_device mdio;\n\tconst struct phy_driver *drv;\n\tstruct device_link *devlink;\n\tu32 phyindex;\n\tu32 phy_id;\n\tstruct phy_c45_device_ids c45_ids;\n\tunsigned int is_c45: 1;\n\tunsigned int is_internal: 1;\n\tunsigned int is_pseudo_fixed_link: 1;\n\tunsigned int is_gigabit_capable: 1;\n\tunsigned int has_fixups: 1;\n\tunsigned int suspended: 1;\n\tunsigned int suspended_by_mdio_bus: 1;\n\tunsigned int sysfs_links: 1;\n\tunsigned int loopback_enabled: 1;\n\tunsigned int downshifted_rate: 1;\n\tunsigned int is_on_sfp_module: 1;\n\tunsigned int mac_managed_pm: 1;\n\tunsigned int wol_enabled: 1;\n\tunsigned int autoneg: 1;\n\tunsigned int link: 1;\n\tunsigned int autoneg_complete: 1;\n\tunsigned int interrupts: 1;\n\tunsigned int irq_suspended: 1;\n\tunsigned int irq_rerun: 1;\n\tunsigned int default_timestamp: 1;\n\tint rate_matching;\n\tenum phy_state state;\n\tu32 dev_flags;\n\tphy_interface_t interface;\n\tlong unsigned int possible_interfaces[1];\n\tint speed;\n\tint duplex;\n\tint port;\n\tint pause;\n\tint asym_pause;\n\tu8 master_slave_get;\n\tu8 master_slave_set;\n\tu8 master_slave_state;\n\tlong unsigned int supported[2];\n\tlong unsigned int advertising[2];\n\tlong unsigned int lp_advertising[2];\n\tlong unsigned int adv_old[2];\n\tlong unsigned int supported_eee[2];\n\tlong unsigned int advertising_eee[2];\n\tlong unsigned int eee_broken_modes[2];\n\tbool enable_tx_lpi;\n\tbool eee_active;\n\tstruct eee_config eee_cfg;\n\tlong unsigned int host_interfaces[1];\n\tstruct list_head leds;\n\tint irq;\n\tvoid *priv;\n\tstruct phy_package_shared *shared;\n\tstruct sk_buff *skb;\n\tvoid *ehdr;\n\tstruct nlattr *nest;\n\tstruct delayed_work state_queue;\n\tstruct mutex lock;\n\tbool sfp_bus_attached;\n\tstruct sfp_bus *sfp_bus;\n\tstruct phylink *phylink;\n\tstruct net_device *attached_dev;\n\tstruct mii_timestamper *mii_ts;\n\tstruct pse_control *psec;\n\tu8 mdix;\n\tu8 mdix_ctrl;\n\tint pma_extable;\n\tunsigned int link_down_events;\n\tvoid (*phy_link_change)(struct phy_device *, bool);\n\tvoid (*adjust_link)(struct net_device *);\n};\n\nstruct phy_device_node {\n\tenum phy_upstream upstream_type;\n\tunion {\n\t\tstruct net_device *netdev;\n\t\tstruct phy_device *phydev;\n\t} upstream;\n\tstruct sfp_bus *parent_sfp_bus;\n\tstruct phy_device *phy;\n};\n\nstruct phy_driver {\n\tstruct mdio_driver_common mdiodrv;\n\tu32 phy_id;\n\tchar *name;\n\tu32 phy_id_mask;\n\tconst long unsigned int * const features;\n\tu32 flags;\n\tconst void *driver_data;\n\tint (*soft_reset)(struct phy_device *);\n\tint (*config_init)(struct phy_device *);\n\tint (*probe)(struct phy_device *);\n\tint (*get_features)(struct phy_device *);\n\tunsigned int (*inband_caps)(struct phy_device *, phy_interface_t);\n\tint (*config_inband)(struct phy_device *, unsigned int);\n\tint (*get_rate_matching)(struct phy_device *, phy_interface_t);\n\tint (*suspend)(struct phy_device *);\n\tint (*resume)(struct phy_device *);\n\tint (*config_aneg)(struct phy_device *);\n\tint (*aneg_done)(struct phy_device *);\n\tint (*read_status)(struct phy_device *);\n\tint (*config_intr)(struct phy_device *);\n\tirqreturn_t (*handle_interrupt)(struct phy_device *);\n\tvoid (*remove)(struct phy_device *);\n\tint (*match_phy_device)(struct phy_device *);\n\tint (*set_wol)(struct phy_device *, struct ethtool_wolinfo *);\n\tvoid (*get_wol)(struct phy_device *, struct ethtool_wolinfo *);\n\tvoid (*link_change_notify)(struct phy_device *);\n\tint (*read_mmd)(struct phy_device *, int, u16);\n\tint (*write_mmd)(struct phy_device *, int, u16, u16);\n\tint (*read_page)(struct phy_device *);\n\tint (*write_page)(struct phy_device *, int);\n\tint (*module_info)(struct phy_device *, struct ethtool_modinfo *);\n\tint (*module_eeprom)(struct phy_device *, struct ethtool_eeprom *, u8 *);\n\tint (*cable_test_start)(struct phy_device *);\n\tint (*cable_test_tdr_start)(struct phy_device *, const struct phy_tdr_config *);\n\tint (*cable_test_get_status)(struct phy_device *, bool *);\n\tvoid (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *);\n\tvoid (*get_link_stats)(struct phy_device *, struct ethtool_link_ext_stats *);\n\tint (*update_stats)(struct phy_device *);\n\tint (*get_sset_count)(struct phy_device *);\n\tvoid (*get_strings)(struct phy_device *, u8 *);\n\tvoid (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *);\n\tint (*get_tunable)(struct phy_device *, struct ethtool_tunable *, void *);\n\tint (*set_tunable)(struct phy_device *, struct ethtool_tunable *, const void *);\n\tint (*set_loopback)(struct phy_device *, bool);\n\tint (*get_sqi)(struct phy_device *);\n\tint (*get_sqi_max)(struct phy_device *);\n\tint (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *);\n\tint (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *);\n\tint (*get_plca_status)(struct phy_device *, struct phy_plca_status *);\n\tint (*led_brightness_set)(struct phy_device *, u8, enum led_brightness);\n\tint (*led_blink_set)(struct phy_device *, u8, long unsigned int *, long unsigned int *);\n\tint (*led_hw_is_supported)(struct phy_device *, u8, long unsigned int);\n\tint (*led_hw_control_set)(struct phy_device *, u8, long unsigned int);\n\tint (*led_hw_control_get)(struct phy_device *, u8, long unsigned int *);\n\tint (*led_polarity_set)(struct phy_device *, int, long unsigned int);\n};\n\nstruct phy_error_log_reply {\n\tu8 smp_frame_type;\n\tu8 function;\n\tu8 function_result;\n\tu8 response_length;\n\t__be16 expander_change_count;\n\tu8 reserved_1[3];\n\tu8 phy_identifier;\n\tu8 reserved_2[2];\n\t__be32 invalid_dword;\n\t__be32 running_disparity_error;\n\t__be32 loss_of_dword_sync;\n\t__be32 phy_reset_problem;\n};\n\nstruct phy_error_log_request {\n\tu8 smp_frame_type;\n\tu8 function;\n\tu8 allocated_response_length;\n\tu8 request_length;\n\tu8 reserved_1[5];\n\tu8 phy_identifier;\n\tu8 reserved_2[2];\n};\n\nstruct phy_fixup {\n\tstruct list_head list;\n\tchar bus_id[64];\n\tu32 phy_uid;\n\tu32 phy_uid_mask;\n\tint (*run)(struct phy_device *);\n};\n\nstruct phy_led {\n\tstruct list_head list;\n\tstruct phy_device *phydev;\n\tstruct led_classdev led_cdev;\n\tu8 index;\n};\n\nstruct phy_link_topology {\n\tstruct xarray phys;\n\tu32 next_phy_index;\n};\n\nstruct phy_lookup {\n\tstruct list_head node;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct phy *phy;\n};\n\nstruct phy_ops {\n\tint (*init)(struct phy *);\n\tint (*exit)(struct phy *);\n\tint (*power_on)(struct phy *);\n\tint (*power_off)(struct phy *);\n\tint (*set_mode)(struct phy *, enum phy_mode, int);\n\tint (*set_media)(struct phy *, enum phy_media);\n\tint (*set_speed)(struct phy *, int);\n\tint (*configure)(struct phy *, union phy_configure_opts *);\n\tint (*validate)(struct phy *, enum phy_mode, int, union phy_configure_opts *);\n\tint (*reset)(struct phy *);\n\tint (*calibrate)(struct phy *);\n\tint (*connect)(struct phy *, int);\n\tint (*disconnect)(struct phy *, int);\n\tvoid (*release)(struct phy *);\n\tstruct module *owner;\n};\n\nstruct phy_package_shared {\n\tu8 base_addr;\n\tstruct device_node *np;\n\trefcount_t refcnt;\n\tlong unsigned int flags;\n\tsize_t priv_size;\n\tvoid *priv;\n};\n\nstruct phy_plca_cfg {\n\tint version;\n\tint enabled;\n\tint node_id;\n\tint node_cnt;\n\tint to_tmr;\n\tint burst_cnt;\n\tint burst_tmr;\n};\n\nstruct phy_plca_status {\n\tbool pst;\n};\n\nstruct phy_provider {\n\tstruct device *dev;\n\tstruct device_node *children;\n\tstruct module *owner;\n\tstruct list_head list;\n\tstruct phy * (*of_xlate)(struct device *, const struct of_phandle_args *);\n};\n\nstruct phy_reg {\n\tu16 reg;\n\tu16 val;\n};\n\nstruct phy_req_info {\n\tstruct ethnl_req_info base;\n\tstruct phy_device_node *pdn;\n};\n\nstruct phy_setting {\n\tu32 speed;\n\tu8 duplex;\n\tu8 bit;\n};\n\nstruct phy_tdr_config {\n\tu32 first;\n\tu32 last;\n\tu32 step;\n\ts8 pair;\n};\n\nstruct phylib_stubs {\n\tint (*hwtstamp_get)(struct phy_device *, struct kernel_hwtstamp_config *);\n\tint (*hwtstamp_set)(struct phy_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n\tvoid (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *);\n\tvoid (*get_link_ext_stats)(struct phy_device *, struct ethtool_link_ext_stats *);\n};\n\nstruct phylink_link_state {\n\tlong unsigned int advertising[2];\n\tlong unsigned int lp_advertising[2];\n\tphy_interface_t interface;\n\tint speed;\n\tint duplex;\n\tint pause;\n\tint rate_matching;\n\tunsigned int link: 1;\n\tunsigned int an_complete: 1;\n};\n\nstruct phylink_mac_ops;\n\nstruct phylink_config;\n\nstruct phylink {\n\tstruct net_device *netdev;\n\tconst struct phylink_mac_ops *mac_ops;\n\tstruct phylink_config *config;\n\tstruct phylink_pcs *pcs;\n\tstruct device *dev;\n\tunsigned int old_link_state: 1;\n\tlong unsigned int phylink_disable_state;\n\tstruct phy_device *phydev;\n\tphy_interface_t link_interface;\n\tu8 cfg_link_an_mode;\n\tu8 req_link_an_mode;\n\tu8 act_link_an_mode;\n\tu8 link_port;\n\tlong unsigned int supported[2];\n\tlong unsigned int supported_lpi[2];\n\tstruct phylink_link_state link_config;\n\tphy_interface_t cur_interface;\n\tstruct gpio_desc *link_gpio;\n\tunsigned int link_irq;\n\tstruct timer_list link_poll;\n\tvoid (*get_fixed_state)(struct net_device *, struct phylink_link_state *);\n\tstruct mutex state_mutex;\n\tstruct phylink_link_state phy_state;\n\tunsigned int phy_ib_mode;\n\tstruct work_struct resolve;\n\tunsigned int pcs_neg_mode;\n\tunsigned int pcs_state;\n\tbool link_failed;\n\tbool mac_supports_eee_ops;\n\tbool mac_supports_eee;\n\tbool phy_enable_tx_lpi;\n\tbool mac_enable_tx_lpi;\n\tbool mac_tx_clk_stop;\n\tu32 mac_tx_lpi_timer;\n\tstruct sfp_bus *sfp_bus;\n\tbool sfp_may_have_phy;\n\tlong unsigned int sfp_interfaces[1];\n\tlong unsigned int sfp_support[2];\n\tu8 sfp_port;\n\tstruct eee_config eee_cfg;\n};\n\nstruct phylink_config {\n\tstruct device *dev;\n\tenum phylink_op_type type;\n\tbool poll_fixed_state;\n\tbool mac_managed_pm;\n\tbool mac_requires_rxc;\n\tbool default_an_inband;\n\tbool eee_rx_clk_stop_enable;\n\tvoid (*get_fixed_state)(struct phylink_config *, struct phylink_link_state *);\n\tlong unsigned int supported_interfaces[1];\n\tlong unsigned int lpi_interfaces[1];\n\tlong unsigned int mac_capabilities;\n\tlong unsigned int lpi_capabilities;\n\tu32 lpi_timer_default;\n\tbool eee_enabled_default;\n};\n\nstruct phylink_mac_ops {\n\tlong unsigned int (*mac_get_caps)(struct phylink_config *, phy_interface_t);\n\tstruct phylink_pcs * (*mac_select_pcs)(struct phylink_config *, phy_interface_t);\n\tint (*mac_prepare)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_config)(struct phylink_config *, unsigned int, const struct phylink_link_state *);\n\tint (*mac_finish)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_link_down)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_link_up)(struct phylink_config *, struct phy_device *, unsigned int, phy_interface_t, int, int, bool, bool);\n\tvoid (*mac_disable_tx_lpi)(struct phylink_config *);\n\tint (*mac_enable_tx_lpi)(struct phylink_config *, u32, bool);\n};\n\nstruct phylink_pcs_ops {\n\tint (*pcs_validate)(struct phylink_pcs *, long unsigned int *, const struct phylink_link_state *);\n\tunsigned int (*pcs_inband_caps)(struct phylink_pcs *, phy_interface_t);\n\tint (*pcs_enable)(struct phylink_pcs *);\n\tvoid (*pcs_disable)(struct phylink_pcs *);\n\tvoid (*pcs_pre_config)(struct phylink_pcs *, phy_interface_t);\n\tint (*pcs_post_config)(struct phylink_pcs *, phy_interface_t);\n\tvoid (*pcs_get_state)(struct phylink_pcs *, unsigned int, struct phylink_link_state *);\n\tint (*pcs_config)(struct phylink_pcs *, unsigned int, phy_interface_t, const long unsigned int *, bool);\n\tvoid (*pcs_an_restart)(struct phylink_pcs *);\n\tvoid (*pcs_link_up)(struct phylink_pcs *, unsigned int, phy_interface_t, int, int);\n\tint (*pcs_pre_init)(struct phylink_pcs *);\n};\n\nstruct phys_vec {\n\tphys_addr_t paddr;\n\tu32 len;\n};\n\nstruct upid {\n\tint nr;\n\tstruct pid_namespace *ns;\n};\n\nstruct pid {\n\trefcount_t count;\n\tunsigned int level;\n\tspinlock_t lock;\n\tstruct dentry *stashed;\n\tu64 ino;\n\tstruct rb_node pidfs_node;\n\tstruct hlist_head tasks[4];\n\tstruct hlist_head inodes;\n\twait_queue_head_t wait_pidfd;\n\tstruct callback_head rcu;\n\tstruct upid numbers[0];\n};\n\nunion proc_op {\n\tint (*proc_get_link)(struct dentry *, struct path *);\n\tint (*proc_show)(struct seq_file *, struct pid_namespace *, struct pid *, struct task_struct *);\n\tint lsmid;\n};\n\nstruct pid_entry {\n\tconst char *name;\n\tunsigned int len;\n\tumode_t mode;\n\tconst struct inode_operations *iop;\n\tconst struct file_operations *fop;\n\tunion proc_op op;\n};\n\nstruct pid_namespace {\n\tstruct idr idr;\n\tstruct callback_head rcu;\n\tunsigned int pid_allocated;\n\tstruct task_struct *child_reaper;\n\tstruct kmem_cache *pid_cachep;\n\tunsigned int level;\n\tint pid_max;\n\tstruct pid_namespace *parent;\n\tstruct fs_pin *bacct;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tint reboot;\n\tstruct ns_common ns;\n\tstruct work_struct work;\n\tstruct ctl_table_set set;\n\tstruct ctl_table_header *sysctls;\n\tint memfd_noexec_scope;\n};\n\nstruct pidfd_info {\n\t__u64 mask;\n\t__u64 cgroupid;\n\t__u32 pid;\n\t__u32 tgid;\n\t__u32 ppid;\n\t__u32 ruid;\n\t__u32 rgid;\n\t__u32 euid;\n\t__u32 egid;\n\t__u32 suid;\n\t__u32 sgid;\n\t__u32 fsuid;\n\t__u32 fsgid;\n\t__u32 spare0[1];\n};\n\nstruct pids_cgroup {\n\tstruct cgroup_subsys_state css;\n\tatomic64_t counter;\n\tatomic64_t limit;\n\tint64_t watermark;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tatomic64_t events[2];\n\tatomic64_t events_local[2];\n};\n\nstruct pimreghdr {\n\t__u8 type;\n\t__u8 reserved;\n\t__be16 csum;\n\t__be32 flags;\n};\n\nstruct pin_config_item {\n\tconst enum pin_config_param param;\n\tconst char * const display;\n\tconst char * const format;\n\tbool has_arg;\n};\n\nstruct pinctrl_setting_mux;\n\nstruct pin_desc {\n\tstruct pinctrl_dev *pctldev;\n\tconst char *name;\n\tbool dynamic_name;\n\tvoid *drv_data;\n\tunsigned int mux_usecount;\n\tconst char *mux_owner;\n\tconst struct pinctrl_setting_mux *mux_setting;\n\tconst char *gpio_owner;\n\tstruct mutex mux_lock;\n};\n\nstruct pinconf_generic_params {\n\tconst char * const property;\n\tenum pin_config_param param;\n\tu32 default_value;\n};\n\nstruct pinconf_ops {\n\tbool is_generic;\n\tint (*pin_config_get)(struct pinctrl_dev *, unsigned int, long unsigned int *);\n\tint (*pin_config_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int);\n\tint (*pin_config_group_get)(struct pinctrl_dev *, unsigned int, long unsigned int *);\n\tint (*pin_config_group_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int);\n\tvoid (*pin_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tvoid (*pin_config_group_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tvoid (*pin_config_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, long unsigned int);\n};\n\nstruct pinctrl {\n\tstruct list_head node;\n\tstruct device *dev;\n\tstruct list_head states;\n\tstruct pinctrl_state *state;\n\tstruct list_head dt_maps;\n\tstruct kref users;\n};\n\nstruct pinctrl_dev {\n\tstruct list_head node;\n\tstruct pinctrl_desc *desc;\n\tstruct xarray pin_desc_tree;\n\tstruct list_head gpio_ranges;\n\tstruct device *dev;\n\tstruct module *owner;\n\tvoid *driver_data;\n\tstruct pinctrl *p;\n\tstruct pinctrl_state *hog_default;\n\tstruct pinctrl_state *hog_sleep;\n\tstruct mutex mutex;\n\tstruct dentry *device_root;\n};\n\nstruct pinctrl_map;\n\nstruct pinctrl_dt_map {\n\tstruct list_head node;\n\tstruct pinctrl_dev *pctldev;\n\tstruct pinctrl_map *map;\n\tunsigned int num_maps;\n};\n\nstruct pinctrl_map_mux {\n\tconst char *group;\n\tconst char *function;\n};\n\nstruct pinctrl_map_configs {\n\tconst char *group_or_pin;\n\tlong unsigned int *configs;\n\tunsigned int num_configs;\n};\n\nstruct pinctrl_map {\n\tconst char *dev_name;\n\tconst char *name;\n\tenum pinctrl_map_type type;\n\tconst char *ctrl_dev_name;\n\tunion {\n\t\tstruct pinctrl_map_mux mux;\n\t\tstruct pinctrl_map_configs configs;\n\t} data;\n};\n\nstruct pinctrl_maps {\n\tstruct list_head node;\n\tconst struct pinctrl_map *maps;\n\tunsigned int num_maps;\n};\n\nstruct pinctrl_ops {\n\tint (*get_groups_count)(struct pinctrl_dev *);\n\tconst char * (*get_group_name)(struct pinctrl_dev *, unsigned int);\n\tint (*get_group_pins)(struct pinctrl_dev *, unsigned int, const unsigned int **, unsigned int *);\n\tvoid (*pin_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tint (*dt_node_to_map)(struct pinctrl_dev *, struct device_node *, struct pinctrl_map **, unsigned int *);\n\tvoid (*dt_free_map)(struct pinctrl_dev *, struct pinctrl_map *, unsigned int);\n};\n\nstruct pinctrl_pin_desc {\n\tunsigned int number;\n\tconst char *name;\n\tvoid *drv_data;\n};\n\nstruct pinctrl_setting_mux {\n\tunsigned int group;\n\tunsigned int func;\n};\n\nstruct pinctrl_setting_configs {\n\tunsigned int group_or_pin;\n\tlong unsigned int *configs;\n\tunsigned int num_configs;\n};\n\nstruct pinctrl_setting {\n\tstruct list_head node;\n\tenum pinctrl_map_type type;\n\tstruct pinctrl_dev *pctldev;\n\tconst char *dev_name;\n\tunion {\n\t\tstruct pinctrl_setting_mux mux;\n\t\tstruct pinctrl_setting_configs configs;\n\t} data;\n};\n\nstruct pinctrl_state {\n\tstruct list_head node;\n\tconst char *name;\n\tstruct list_head settings;\n};\n\nstruct ping_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n\tsa_family_t family;\n};\n\nstruct ping_table {\n\tstruct hlist_head hash[64];\n\tspinlock_t lock;\n};\n\nstruct pingfakehdr {\n\tstruct icmphdr icmph;\n\tstruct msghdr *msg;\n\tsa_family_t family;\n\t__wsum wcheck;\n};\n\nstruct pingv6_ops {\n\tint (*ipv6_recv_error)(struct sock *, struct msghdr *, int, int *);\n\tvoid (*ip6_datagram_recv_common_ctl)(struct sock *, struct msghdr *, struct sk_buff *);\n\tvoid (*ip6_datagram_recv_specific_ctl)(struct sock *, struct msghdr *, struct sk_buff *);\n\tint (*icmpv6_err_convert)(u8, u8, int *);\n\tvoid (*ipv6_icmp_error)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\tint (*ipv6_chk_addr)(struct net *, const struct in6_addr *, const struct net_device *, int);\n};\n\nstruct pinmux_ops {\n\tint (*request)(struct pinctrl_dev *, unsigned int);\n\tint (*free)(struct pinctrl_dev *, unsigned int);\n\tint (*get_functions_count)(struct pinctrl_dev *);\n\tconst char * (*get_function_name)(struct pinctrl_dev *, unsigned int);\n\tint (*get_function_groups)(struct pinctrl_dev *, unsigned int, const char * const **, unsigned int *);\n\tint (*set_mux)(struct pinctrl_dev *, unsigned int, unsigned int);\n\tint (*gpio_request_enable)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int);\n\tvoid (*gpio_disable_free)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int);\n\tint (*gpio_set_direction)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int, bool);\n\tbool strict;\n};\n\nstruct pipe_buffer;\n\nstruct pipe_buf_operations {\n\tint (*confirm)(struct pipe_inode_info *, struct pipe_buffer *);\n\tvoid (*release)(struct pipe_inode_info *, struct pipe_buffer *);\n\tbool (*try_steal)(struct pipe_inode_info *, struct pipe_buffer *);\n\tbool (*get)(struct pipe_inode_info *, struct pipe_buffer *);\n};\n\nstruct pipe_buffer {\n\tstruct page *page;\n\tunsigned int offset;\n\tunsigned int len;\n\tconst struct pipe_buf_operations *ops;\n\tunsigned int flags;\n\tlong unsigned int private;\n};\n\nunion pipe_index {\n\tlong unsigned int head_tail;\n\tstruct {\n\t\tpipe_index_t head;\n\t\tpipe_index_t tail;\n\t};\n};\n\nstruct pipe_inode_info {\n\tstruct mutex mutex;\n\twait_queue_head_t rd_wait;\n\twait_queue_head_t wr_wait;\n\tunion {\n\t\tlong unsigned int head_tail;\n\t\tstruct {\n\t\t\tpipe_index_t head;\n\t\t\tpipe_index_t tail;\n\t\t};\n\t};\n\tunsigned int max_usage;\n\tunsigned int ring_size;\n\tunsigned int nr_accounted;\n\tunsigned int readers;\n\tunsigned int writers;\n\tunsigned int files;\n\tunsigned int r_counter;\n\tunsigned int w_counter;\n\tbool poll_usage;\n\tstruct page *tmp_page;\n\tstruct fasync_struct *fasync_readers;\n\tstruct fasync_struct *fasync_writers;\n\tstruct pipe_buffer *bufs;\n\tstruct user_struct *user;\n};\n\nstruct pipe_wait {\n\tstruct trace_iterator *iter;\n\tint wait_index;\n};\n\nstruct pkcs1pad_ctx {\n\tstruct crypto_akcipher *child;\n\tunsigned int key_size;\n};\n\nstruct pkcs1pad_inst_ctx {\n\tstruct crypto_akcipher_spawn spawn;\n};\n\nstruct pkcs1pad_request {\n\tstruct scatterlist in_sg[2];\n\tstruct scatterlist out_sg[1];\n\tuint8_t *in_buf;\n\tuint8_t *out_buf;\n\tstruct akcipher_request child_req;\n};\n\nstruct x509_certificate;\n\nstruct pkcs7_signed_info;\n\nstruct pkcs7_message {\n\tstruct x509_certificate *certs;\n\tstruct x509_certificate *crl;\n\tstruct pkcs7_signed_info *signed_infos;\n\tu8 version;\n\tbool have_authattrs;\n\tenum OID data_type;\n\tsize_t data_len;\n\tsize_t data_hdrlen;\n\tconst void *data;\n};\n\nstruct pkcs7_parse_context {\n\tstruct pkcs7_message *msg;\n\tstruct pkcs7_signed_info *sinfo;\n\tstruct pkcs7_signed_info **ppsinfo;\n\tstruct x509_certificate *certs;\n\tstruct x509_certificate **ppcerts;\n\tlong unsigned int data;\n\tenum OID last_oid;\n\tunsigned int x509_index;\n\tunsigned int sinfo_index;\n\tconst void *raw_serial;\n\tunsigned int raw_serial_size;\n\tunsigned int raw_issuer_size;\n\tconst void *raw_issuer;\n\tconst void *raw_skid;\n\tunsigned int raw_skid_size;\n\tbool expect_skid;\n};\n\nstruct pkcs7_signed_info {\n\tstruct pkcs7_signed_info *next;\n\tstruct x509_certificate *signer;\n\tunsigned int index;\n\tbool unsupported_crypto;\n\tbool blacklisted;\n\tconst void *msgdigest;\n\tunsigned int msgdigest_len;\n\tunsigned int authattrs_len;\n\tconst void *authattrs;\n\tlong unsigned int aa_set;\n\ttime64_t signing_time;\n\tstruct public_key_signature *sig;\n};\n\nstruct plat_serial8250_port {\n\tlong unsigned int iobase;\n\tvoid *membase;\n\tresource_size_t mapbase;\n\tresource_size_t mapsize;\n\tunsigned int uartclk;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tvoid *private_data;\n\tunsigned char regshift;\n\tunsigned char iotype;\n\tunsigned char hub6;\n\tunsigned char has_sysrq;\n\tunsigned int type;\n\tupf_t flags;\n\tu16 bugs;\n\tunsigned int (*serial_in)(struct uart_port *, int);\n\tvoid (*serial_out)(struct uart_port *, int, int);\n\tu32 (*dl_read)(struct uart_8250_port *);\n\tvoid (*dl_write)(struct uart_8250_port *, u32);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tint (*handle_irq)(struct uart_port *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tvoid (*handle_break)(struct uart_port *);\n};\n\nstruct stmmac_rxq_cfg {\n\tu8 mode_to_use;\n\tu32 chan;\n\tu8 pkt_route;\n\tbool use_prio;\n\tu32 prio;\n};\n\nstruct stmmac_txq_cfg {\n\tu32 weight;\n\tbool coe_unsupported;\n\tu8 mode_to_use;\n\tu32 send_slope;\n\tu32 idle_slope;\n\tu32 high_credit;\n\tu32 low_credit;\n\tbool use_prio;\n\tu32 prio;\n\tint tbs_en;\n};\n\nstruct stmmac_mdio_bus_data;\n\nstruct stmmac_dma_cfg;\n\nstruct stmmac_safety_feature_cfg;\n\nstruct stmmac_priv;\n\nstruct system_counterval_t;\n\nstruct stmmac_axi;\n\nstruct plat_stmmacenet_data {\n\tint bus_id;\n\tint phy_addr;\n\tphy_interface_t mac_interface;\n\tphy_interface_t phy_interface;\n\tstruct stmmac_mdio_bus_data *mdio_bus_data;\n\tstruct device_node *phy_node;\n\tstruct fwnode_handle *port_node;\n\tstruct device_node *mdio_node;\n\tstruct stmmac_dma_cfg *dma_cfg;\n\tstruct stmmac_safety_feature_cfg *safety_feat_cfg;\n\tint clk_csr;\n\tint has_gmac;\n\tint enh_desc;\n\tint tx_coe;\n\tint rx_coe;\n\tint bugged_jumbo;\n\tint pmt;\n\tint force_sf_dma_mode;\n\tint force_thresh_dma_mode;\n\tint riwt_off;\n\tint max_speed;\n\tint maxmtu;\n\tint multicast_filter_bins;\n\tint unicast_filter_entries;\n\tint tx_fifo_size;\n\tint rx_fifo_size;\n\tu32 host_dma_width;\n\tu32 rx_queues_to_use;\n\tu32 tx_queues_to_use;\n\tu8 rx_sched_algorithm;\n\tu8 tx_sched_algorithm;\n\tstruct stmmac_rxq_cfg rx_queues_cfg[8];\n\tstruct stmmac_txq_cfg tx_queues_cfg[8];\n\tvoid (*fix_mac_speed)(void *, unsigned int, unsigned int);\n\tint (*fix_soc_reset)(void *, void *);\n\tint (*serdes_powerup)(struct net_device *, void *);\n\tvoid (*serdes_powerdown)(struct net_device *, void *);\n\tvoid (*speed_mode_2500)(struct net_device *, void *);\n\tvoid (*ptp_clk_freq_config)(struct stmmac_priv *);\n\tint (*init)(struct platform_device *, void *);\n\tvoid (*exit)(struct platform_device *, void *);\n\tstruct mac_device_info * (*setup)(void *);\n\tint (*clks_config)(void *, bool);\n\tint (*crosststamp)(ktime_t *, struct system_counterval_t *, void *);\n\tvoid (*dump_debug_regs)(void *);\n\tint (*pcs_init)(struct stmmac_priv *);\n\tvoid (*pcs_exit)(struct stmmac_priv *);\n\tstruct phylink_pcs * (*select_pcs)(struct stmmac_priv *, phy_interface_t);\n\tvoid *bsp_priv;\n\tstruct clk *stmmac_clk;\n\tstruct clk *pclk;\n\tstruct clk *clk_ptp_ref;\n\tlong unsigned int clk_ptp_rate;\n\tlong unsigned int clk_ref_rate;\n\tunsigned int mult_fact_100ns;\n\ts32 ptp_max_adj;\n\tu32 cdc_error_adj;\n\tstruct reset_control *stmmac_rst;\n\tstruct reset_control *stmmac_ahb_rst;\n\tstruct stmmac_axi *axi;\n\tint has_gmac4;\n\tint rss_en;\n\tint mac_port_sel_speed;\n\tint has_xgmac;\n\tu8 vlan_fail_q;\n\tlong unsigned int eee_usecs_rate;\n\tstruct pci_dev *pdev;\n\tint int_snapshot_num;\n\tint msi_mac_vec;\n\tint msi_wol_vec;\n\tint msi_lpi_vec;\n\tint msi_sfty_ce_vec;\n\tint msi_sfty_ue_vec;\n\tint msi_rx_base_vec;\n\tint msi_tx_base_vec;\n\tconst struct dwmac4_addrs *dwmac4_addrs;\n\tunsigned int flags;\n};\n\nstruct mfd_cell;\n\nstruct platform_device_id;\n\nstruct platform_device {\n\tconst char *name;\n\tint id;\n\tbool id_auto;\n\tstruct device dev;\n\tu64 platform_dma_mask;\n\tstruct device_dma_parameters dma_parms;\n\tu32 num_resources;\n\tstruct resource *resource;\n\tconst struct platform_device_id *id_entry;\n\tconst char *driver_override;\n\tstruct mfd_cell *mfd_cell;\n\tstruct pdev_archdata archdata;\n};\n\nstruct platform_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct platform_device_info {\n\tstruct device *parent;\n\tstruct fwnode_handle *fwnode;\n\tbool of_node_reused;\n\tconst char *name;\n\tint id;\n\tconst struct resource *res;\n\tunsigned int num_res;\n\tconst void *data;\n\tsize_t size_data;\n\tu64 dma_mask;\n\tconst struct property_entry *properties;\n};\n\nstruct platform_driver {\n\tint (*probe)(struct platform_device *);\n\tvoid (*remove)(struct platform_device *);\n\tvoid (*shutdown)(struct platform_device *);\n\tint (*suspend)(struct platform_device *, pm_message_t);\n\tint (*resume)(struct platform_device *);\n\tstruct device_driver driver;\n\tconst struct platform_device_id *id_table;\n\tbool prevent_deferred_probe;\n\tbool driver_managed_dma;\n};\n\nstruct platform_hibernation_ops {\n\tint (*begin)(pm_message_t);\n\tvoid (*end)(void);\n\tint (*pre_snapshot)(void);\n\tvoid (*finish)(void);\n\tint (*prepare)(void);\n\tint (*enter)(void);\n\tvoid (*leave)(void);\n\tint (*pre_restore)(void);\n\tvoid (*restore_cleanup)(void);\n\tvoid (*recover)(void);\n};\n\nstruct platform_object {\n\tstruct platform_device pdev;\n\tchar name[0];\n};\n\nstruct platform_s2idle_ops {\n\tint (*begin)(void);\n\tint (*prepare)(void);\n\tint (*prepare_late)(void);\n\tvoid (*check)(void);\n\tbool (*wake)(void);\n\tvoid (*restore_early)(void);\n\tvoid (*restore)(void);\n\tvoid (*end)(void);\n};\n\nstruct platform_suspend_ops {\n\tint (*valid)(suspend_state_t);\n\tint (*begin)(suspend_state_t);\n\tint (*prepare)(void);\n\tint (*prepare_late)(void);\n\tint (*enter)(suspend_state_t);\n\tvoid (*wake)(void);\n\tvoid (*finish)(void);\n\tbool (*suspend_again)(void);\n\tvoid (*end)(void);\n\tvoid (*recover)(void);\n};\n\nstruct plca_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct phy_plca_cfg plca_cfg;\n\tstruct phy_plca_status plca_st;\n};\n\nstruct pll_info {\n\tint ppll_max;\n\tint ppll_min;\n\tint sclk;\n\tint mclk;\n\tint ref_div;\n\tint ref_clk;\n};\n\nstruct plt_entry {\n\tu32 inst_lu12iw;\n\tu32 inst_lu32id;\n\tu32 inst_lu52id;\n\tu32 inst_jirl;\n};\n\nstruct plt_idx_entry {\n\tElf64_Addr symbol_addr;\n};\n\nstruct pm_clk_notifier_block {\n\tstruct notifier_block nb;\n\tstruct dev_pm_domain *pm_domain;\n\tchar *con_ids[0];\n};\n\nstruct pm_clock_entry {\n\tstruct list_head node;\n\tchar *con_id;\n\tstruct clk *clk;\n\tenum pce_status status;\n\tbool enabled_when_prepared;\n};\n\nstruct pm_nl_pernet {\n\tspinlock_t lock;\n\tstruct list_head local_addr_list;\n\tunsigned int addrs;\n\tunsigned int stale_loss_cnt;\n\tunsigned int add_addr_signal_max;\n\tunsigned int add_addr_accept_max;\n\tunsigned int local_addr_max;\n\tunsigned int subflows_max;\n\tunsigned int next_id;\n\tlong unsigned int id_bitmap[4];\n};\n\nstruct pm_subsys_data {\n\tspinlock_t lock;\n\tunsigned int refcount;\n\tunsigned int clock_op_might_sleep;\n\tstruct mutex clock_mutex;\n\tstruct list_head clock_list;\n};\n\nstruct pm_vt_switch {\n\tstruct list_head head;\n\tstruct device *dev;\n\tbool required;\n};\n\nstruct pmu {\n\tstruct list_head entry;\n\tstruct module *module;\n\tstruct device *dev;\n\tstruct device *parent;\n\tconst struct attribute_group **attr_groups;\n\tconst struct attribute_group **attr_update;\n\tconst char *name;\n\tint type;\n\tint capabilities;\n\tunsigned int scope;\n\tint *pmu_disable_count;\n\tstruct perf_cpu_pmu_context *cpu_pmu_context;\n\tatomic_t exclusive_cnt;\n\tint task_ctx_nr;\n\tint hrtimer_interval_ms;\n\tunsigned int nr_addr_filters;\n\tvoid (*pmu_enable)(struct pmu *);\n\tvoid (*pmu_disable)(struct pmu *);\n\tint (*event_init)(struct perf_event *);\n\tvoid (*event_mapped)(struct perf_event *, struct mm_struct *);\n\tvoid (*event_unmapped)(struct perf_event *, struct mm_struct *);\n\tint (*add)(struct perf_event *, int);\n\tvoid (*del)(struct perf_event *, int);\n\tvoid (*start)(struct perf_event *, int);\n\tvoid (*stop)(struct perf_event *, int);\n\tvoid (*read)(struct perf_event *);\n\tvoid (*start_txn)(struct pmu *, unsigned int);\n\tint (*commit_txn)(struct pmu *);\n\tvoid (*cancel_txn)(struct pmu *);\n\tint (*event_idx)(struct perf_event *);\n\tvoid (*sched_task)(struct perf_event_pmu_context *, bool);\n\tstruct kmem_cache *task_ctx_cache;\n\tvoid (*swap_task_ctx)(struct perf_event_pmu_context *, struct perf_event_pmu_context *);\n\tvoid * (*setup_aux)(struct perf_event *, void **, int, bool);\n\tvoid (*free_aux)(void *);\n\tlong int (*snapshot_aux)(struct perf_event *, struct perf_output_handle *, long unsigned int);\n\tint (*addr_filters_validate)(struct list_head *);\n\tvoid (*addr_filters_sync)(struct perf_event *);\n\tint (*aux_output_match)(struct perf_event *);\n\tbool (*filter)(struct pmu *, int);\n\tint (*check_period)(struct perf_event *, u64);\n};\n\nstruct pmu_event_list {\n\traw_spinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct pneigh_entry {\n\tstruct pneigh_entry *next;\n\tpossible_net_t net;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu32 flags;\n\tu8 protocol;\n\tu32 key[0];\n};\n\nstruct pnfs_block_dev_map;\n\nstruct pnfs_block_dev {\n\tstruct nfs4_deviceid_node node;\n\tu64 start;\n\tu64 len;\n\tenum pnfs_block_volume_type type;\n\tu32 nr_children;\n\tstruct pnfs_block_dev *children;\n\tu64 chunk_size;\n\tstruct file *bdev_file;\n\tu64 disk_offset;\n\tlong unsigned int flags;\n\tu64 pr_key;\n\tbool (*map)(struct pnfs_block_dev *, u64, struct pnfs_block_dev_map *);\n};\n\nstruct pnfs_block_dev_map {\n\tu64 start;\n\tu64 len;\n\tu64 disk_offset;\n\tstruct block_device *bdev;\n};\n\nstruct pnfs_block_volume {\n\tenum pnfs_block_volume_type type;\n\tunion {\n\t\tstruct {\n\t\t\tu64 offset;\n\t\t\tu32 sig_len;\n\t\t\tu8 sig[128];\n\t\t} simple;\n\t\tstruct {\n\t\t\tenum scsi_code_set code_set;\n\t\t\tenum scsi_designator_type designator_type;\n\t\t\tint designator_len;\n\t\t\tu8 designator[256];\n\t\t\tu64 pr_key;\n\t\t} scsi;\n\t};\n};\n\nstruct pnfs_block_deviceaddr {\n\tu32 nr_volumes;\n\tstruct pnfs_block_volume volumes[0];\n};\n\nstruct pnfs_block_extent {\n\tunion {\n\t\tstruct rb_node be_node;\n\t\tstruct list_head be_list;\n\t};\n\tstruct nfs4_deviceid_node *be_device;\n\tsector_t be_f_offset;\n\tsector_t be_length;\n\tsector_t be_v_offset;\n\tenum pnfs_block_extent_state be_state;\n\tunsigned int be_tag;\n};\n\nstruct pnfs_block_extent___2 {\n\tstruct nfsd4_deviceid vol_id;\n\tu64 foff;\n\tu64 len;\n\tu64 soff;\n\tenum pnfs_block_extent_state es;\n};\n\nstruct pnfs_block_layout {\n\tstruct pnfs_layout_hdr bl_layout;\n\tstruct rb_root bl_ext_rw;\n\tstruct rb_root bl_ext_ro;\n\tspinlock_t bl_ext_lock;\n\tbool bl_scsi_layout;\n\tu64 bl_lwb;\n};\n\nstruct pnfs_block_volume___2 {\n\tenum pnfs_block_volume_type type;\n\tunion {\n\t\tstruct {\n\t\t\tint len;\n\t\t\tint nr_sigs;\n\t\t\tstruct {\n\t\t\t\tu64 offset;\n\t\t\t\tu32 sig_len;\n\t\t\t\tu8 sig[128];\n\t\t\t} sigs[4];\n\t\t} simple;\n\t\tstruct {\n\t\t\tu64 start;\n\t\t\tu64 len;\n\t\t\tu32 volume;\n\t\t} slice;\n\t\tstruct {\n\t\t\tu32 volumes_count;\n\t\t\tu32 volumes[64];\n\t\t} concat;\n\t\tstruct {\n\t\t\tu64 chunk_size;\n\t\t\tu32 volumes_count;\n\t\t\tu32 volumes[64];\n\t\t} stripe;\n\t\tstruct {\n\t\t\tenum scsi_code_set code_set;\n\t\t\tenum scsi_designator_type designator_type;\n\t\t\tint designator_len;\n\t\t\tu8 designator[256];\n\t\t\tu64 pr_key;\n\t\t} scsi;\n\t};\n};\n\nstruct pnfs_commit_bucket {\n\tstruct list_head written;\n\tstruct list_head committing;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct nfs_writeverf direct_verf;\n};\n\nstruct pnfs_commit_array {\n\tstruct list_head cinfo_list;\n\tstruct list_head lseg_list;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct callback_head rcu;\n\trefcount_t refcount;\n\tunsigned int nbuckets;\n\tstruct pnfs_commit_bucket buckets[0];\n};\n\nstruct pnfs_commit_ops {\n\tvoid (*setup_ds_info)(struct pnfs_ds_commit_info *, struct pnfs_layout_segment *);\n\tvoid (*release_ds_info)(struct pnfs_ds_commit_info *, struct inode *);\n\tint (*commit_pagelist)(struct inode *, struct list_head *, int, struct nfs_commit_info *);\n\tvoid (*mark_request_commit)(struct nfs_page *, struct pnfs_layout_segment *, struct nfs_commit_info *, u32);\n\tvoid (*clear_request_commit)(struct nfs_page *, struct nfs_commit_info *);\n\tint (*scan_commit_lists)(struct nfs_commit_info *, int);\n\tvoid (*recover_commit_reqs)(struct list_head *, struct nfs_commit_info *);\n};\n\nstruct pnfs_device {\n\tstruct nfs4_deviceid dev_id;\n\tunsigned int layout_type;\n\tunsigned int mincount;\n\tunsigned int maxcount;\n\tstruct page **pages;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tunsigned char nocache: 1;\n};\n\nstruct pnfs_layoutdriver_type {\n\tstruct list_head pnfs_tblid;\n\tconst u32 id;\n\tconst char *name;\n\tstruct module *owner;\n\tunsigned int flags;\n\tunsigned int max_layoutget_response;\n\tint (*set_layoutdriver)(struct nfs_server *, const struct nfs_fh *);\n\tint (*clear_layoutdriver)(struct nfs_server *);\n\tstruct pnfs_layout_hdr * (*alloc_layout_hdr)(struct inode *, gfp_t);\n\tvoid (*free_layout_hdr)(struct pnfs_layout_hdr *);\n\tstruct pnfs_layout_segment * (*alloc_lseg)(struct pnfs_layout_hdr *, struct nfs4_layoutget_res *, gfp_t);\n\tvoid (*free_lseg)(struct pnfs_layout_segment *);\n\tvoid (*add_lseg)(struct pnfs_layout_hdr *, struct pnfs_layout_segment *, struct list_head *);\n\tvoid (*return_range)(struct pnfs_layout_hdr *, struct pnfs_layout_range *);\n\tconst struct nfs_pageio_ops *pg_read_ops;\n\tconst struct nfs_pageio_ops *pg_write_ops;\n\tstruct pnfs_ds_commit_info * (*get_ds_info)(struct inode *);\n\tint (*sync)(struct inode *, bool);\n\tenum pnfs_try_status (*read_pagelist)(struct nfs_pgio_header *);\n\tenum pnfs_try_status (*write_pagelist)(struct nfs_pgio_header *, int);\n\tvoid (*free_deviceid_node)(struct nfs4_deviceid_node *);\n\tstruct nfs4_deviceid_node * (*alloc_deviceid_node)(struct nfs_server *, struct pnfs_device *, gfp_t);\n\tint (*prepare_layoutreturn)(struct nfs4_layoutreturn_args *);\n\tvoid (*cleanup_layoutcommit)(struct nfs4_layoutcommit_data *);\n\tint (*prepare_layoutcommit)(struct nfs4_layoutcommit_args *);\n\tint (*prepare_layoutstats)(struct nfs42_layoutstat_args *);\n\tvoid (*cancel_io)(struct pnfs_layout_segment *);\n};\n\nstruct pnp_protocol;\n\nstruct pnp_id;\n\nstruct pnp_card {\n\tstruct device dev;\n\tunsigned char number;\n\tstruct list_head global_list;\n\tstruct list_head protocol_list;\n\tstruct list_head devices;\n\tstruct pnp_protocol *protocol;\n\tstruct pnp_id *id;\n\tchar name[50];\n\tunsigned char pnpver;\n\tunsigned char productver;\n\tunsigned int serial;\n\tunsigned char checksum;\n\tstruct proc_dir_entry *procdir;\n};\n\nstruct pnp_card_device_id {\n\t__u8 id[8];\n\tkernel_ulong_t driver_data;\n\tstruct {\n\t\t__u8 id[8];\n\t} devs[8];\n};\n\nstruct pnp_device_id;\n\nstruct pnp_driver {\n\tconst char *name;\n\tconst struct pnp_device_id *id_table;\n\tunsigned int flags;\n\tint (*probe)(struct pnp_dev *, const struct pnp_device_id *);\n\tvoid (*remove)(struct pnp_dev *);\n\tvoid (*shutdown)(struct pnp_dev *);\n\tint (*suspend)(struct pnp_dev *, pm_message_t);\n\tint (*resume)(struct pnp_dev *);\n\tstruct device_driver driver;\n};\n\nstruct pnp_card_link;\n\nstruct pnp_card_driver {\n\tstruct list_head global_list;\n\tchar *name;\n\tconst struct pnp_card_device_id *id_table;\n\tunsigned int flags;\n\tint (*probe)(struct pnp_card_link *, const struct pnp_card_device_id *);\n\tvoid (*remove)(struct pnp_card_link *);\n\tint (*suspend)(struct pnp_card_link *, pm_message_t);\n\tint (*resume)(struct pnp_card_link *);\n\tstruct pnp_driver link;\n};\n\nstruct pnp_card_link {\n\tstruct pnp_card *card;\n\tstruct pnp_card_driver *driver;\n\tvoid *driver_data;\n\tpm_message_t pm_state;\n};\n\nstruct pnp_dev {\n\tstruct device dev;\n\tu64 dma_mask;\n\tunsigned int number;\n\tint status;\n\tstruct list_head global_list;\n\tstruct list_head protocol_list;\n\tstruct list_head card_list;\n\tstruct list_head rdev_list;\n\tstruct pnp_protocol *protocol;\n\tstruct pnp_card *card;\n\tstruct pnp_driver *driver;\n\tstruct pnp_card_link *card_link;\n\tstruct pnp_id *id;\n\tint active;\n\tint capabilities;\n\tunsigned int num_dependent_sets;\n\tstruct list_head resources;\n\tstruct list_head options;\n\tchar name[50];\n\tint flags;\n\tstruct proc_dir_entry *procent;\n\tvoid *data;\n};\n\nstruct pnp_device_id {\n\t__u8 id[8];\n\tkernel_ulong_t driver_data;\n};\n\nstruct pnp_dma {\n\tunsigned char map;\n\tunsigned char flags;\n};\n\nstruct pnp_fixup {\n\tchar id[7];\n\tvoid (*quirk_function)(struct pnp_dev *);\n};\n\nstruct pnp_id {\n\tchar id[8];\n\tstruct pnp_id *next;\n};\n\nstruct pnp_info_buffer {\n\tchar *buffer;\n\tchar *curr;\n\tlong unsigned int size;\n\tlong unsigned int len;\n\tint stop;\n\tint error;\n};\n\ntypedef struct pnp_info_buffer pnp_info_buffer_t;\n\nstruct pnp_irq {\n\tpnp_irq_mask_t map;\n\tunsigned char flags;\n};\n\nstruct pnp_mem {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_size_t size;\n\tunsigned char flags;\n};\n\nstruct pnp_port {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_size_t size;\n\tunsigned char flags;\n};\n\nstruct pnp_option {\n\tstruct list_head list;\n\tunsigned int flags;\n\tlong unsigned int type;\n\tunion {\n\t\tstruct pnp_port port;\n\t\tstruct pnp_irq irq;\n\t\tstruct pnp_dma dma;\n\t\tstruct pnp_mem mem;\n\t} u;\n};\n\nstruct pnp_protocol {\n\tstruct list_head protocol_list;\n\tchar *name;\n\tint (*get)(struct pnp_dev *);\n\tint (*set)(struct pnp_dev *);\n\tint (*disable)(struct pnp_dev *);\n\tbool (*can_wakeup)(struct pnp_dev *);\n\tint (*suspend)(struct pnp_dev *, pm_message_t);\n\tint (*resume)(struct pnp_dev *);\n\tunsigned char number;\n\tstruct device dev;\n\tstruct list_head cards;\n\tstruct list_head devices;\n};\n\nstruct pnp_resource {\n\tstruct list_head list;\n\tstruct resource res;\n};\n\nstruct policy_file;\n\nstruct policy_data {\n\tstruct policydb *p;\n\tstruct policy_file *fp;\n};\n\nstruct policy_file {\n\tchar *data;\n\tsize_t len;\n};\n\nstruct policy_load_memory {\n\tsize_t len;\n\tvoid *data;\n};\n\nstruct role_datum;\n\nstruct user_datum;\n\nstruct type_datum;\n\nstruct role_allow;\n\nstruct policydb {\n\tint mls_enabled;\n\tstruct symtab symtab[8];\n\tchar **sym_val_to_name[8];\n\tstruct class_datum **class_val_to_struct;\n\tstruct role_datum **role_val_to_struct;\n\tstruct user_datum **user_val_to_struct;\n\tstruct type_datum **type_val_to_struct;\n\tstruct avtab te_avtab;\n\tstruct hashtab role_tr;\n\tstruct ebitmap filename_trans_ttypes;\n\tstruct hashtab filename_trans;\n\tu32 compat_filename_trans_count;\n\tstruct cond_bool_datum **bool_val_to_struct;\n\tstruct avtab te_cond_avtab;\n\tstruct cond_node *cond_list;\n\tu32 cond_list_len;\n\tstruct role_allow *role_allow;\n\tstruct ocontext *ocontexts[9];\n\tstruct genfs *genfs;\n\tstruct hashtab range_tr;\n\tstruct ebitmap *type_attr_map_array;\n\tstruct ebitmap policycaps;\n\tstruct ebitmap permissive_map;\n\tsize_t len;\n\tunsigned int policyvers;\n\tunsigned int reject_unknown: 1;\n\tunsigned int allow_unknown: 1;\n\tu16 process_class;\n\tu32 process_trans_perms;\n};\n\nstruct policydb_compat_info {\n\tunsigned int version;\n\tunsigned int sym_num;\n\tunsigned int ocon_num;\n};\n\nstruct pollfd {\n\tint fd;\n\tshort int events;\n\tshort int revents;\n};\n\nstruct poll_list {\n\tstruct poll_list *next;\n\tunsigned int len;\n\tstruct pollfd entries[0];\n};\n\nstruct poll_table_entry {\n\tstruct file *filp;\n\t__poll_t key;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *wait_address;\n};\n\nstruct poll_table_page {\n\tstruct poll_table_page *next;\n\tstruct poll_table_entry *entry;\n\tstruct poll_table_entry entries[0];\n};\n\nstruct poll_wqueues {\n\tpoll_table pt;\n\tstruct poll_table_page *table;\n\tstruct task_struct *polling_task;\n\tint triggered;\n\tint error;\n\tint inline_index;\n\tstruct poll_table_entry inline_entries[9];\n};\n\nstruct worker_pool;\n\nstruct pool_workqueue {\n\tstruct worker_pool *pool;\n\tstruct workqueue_struct *wq;\n\tint work_color;\n\tint flush_color;\n\tint refcnt;\n\tint nr_in_flight[16];\n\tbool plugged;\n\tint nr_active;\n\tstruct list_head inactive_works;\n\tstruct list_head pending_node;\n\tstruct list_head pwqs_node;\n\tstruct list_head mayday_node;\n\tu64 stats[8];\n\tstruct kthread_work release_work;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct port_stats {\n\tlong unsigned int bytes_sent;\n\tlong unsigned int bytes_received;\n\tlong unsigned int bytes_discarded;\n};\n\nstruct ports_device;\n\nstruct port_buffer;\n\nstruct virtqueue;\n\nstruct port {\n\tstruct list_head list;\n\tstruct ports_device *portdev;\n\tstruct port_buffer *inbuf;\n\tspinlock_t inbuf_lock;\n\tspinlock_t outvq_lock;\n\tstruct virtqueue *in_vq;\n\tstruct virtqueue *out_vq;\n\tstruct dentry *debugfs_file;\n\tstruct port_stats stats;\n\tstruct console___2 cons;\n\tstruct cdev *cdev;\n\tstruct device *dev;\n\tstruct kref kref;\n\twait_queue_head_t waitqueue;\n\tchar *name;\n\tstruct fasync_struct *async_queue;\n\tu32 id;\n\tbool outvq_full;\n\tbool host_connected;\n\tbool guest_connected;\n};\n\nstruct port_buffer {\n\tchar *buf;\n\tsize_t size;\n\tsize_t len;\n\tsize_t offset;\n\tdma_addr_t dma;\n\tstruct device *dev;\n\tstruct list_head list;\n\tunsigned int sgpages;\n\tstruct scatterlist sg[0];\n};\n\nstruct port_identity {\n\tstruct clock_identity clock_identity;\n\t__be16 port_number;\n};\n\nstruct portdrv_service_data {\n\tstruct pcie_port_service_driver *drv;\n\tstruct device *dev;\n\tu32 service;\n};\n\nstruct virtio_console_control {\n\t__virtio32 id;\n\t__virtio16 event;\n\t__virtio16 value;\n};\n\nstruct virtio_device;\n\nstruct ports_device {\n\tstruct list_head list;\n\tstruct work_struct control_work;\n\tstruct work_struct config_work;\n\tstruct list_head ports;\n\tspinlock_t ports_lock;\n\tspinlock_t c_ivq_lock;\n\tspinlock_t c_ovq_lock;\n\tu32 max_nr_ports;\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *c_ivq;\n\tstruct virtqueue *c_ovq;\n\tstruct virtio_console_control cpkt;\n\tstruct virtqueue **in_vqs;\n\tstruct virtqueue **out_vqs;\n\tint chr_major;\n};\n\nstruct ports_driver_data {\n\tstruct dentry *debugfs_dir;\n\tstruct list_head portdevs;\n\tstruct list_head consoles;\n};\n\nstruct posix_ace_state {\n\tu32 allow;\n\tu32 deny;\n};\n\nstruct posix_user_ace_state {\n\tunion {\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t};\n\tstruct posix_ace_state perms;\n};\n\nstruct posix_ace_state_array {\n\tint n;\n\tstruct posix_user_ace_state aces[0];\n};\n\nstruct posix_acl_state {\n\tunsigned char valid;\n\tstruct posix_ace_state owner;\n\tstruct posix_ace_state group;\n\tstruct posix_ace_state other;\n\tstruct posix_ace_state everyone;\n\tstruct posix_ace_state mask;\n\tstruct posix_ace_state_array *users;\n\tstruct posix_ace_state_array *groups;\n};\n\nstruct posix_acl_summary {\n\tshort unsigned int owner;\n\tshort unsigned int users;\n\tshort unsigned int group;\n\tshort unsigned int groups;\n\tshort unsigned int other;\n\tshort unsigned int mask;\n};\n\nstruct posix_acl_xattr_entry {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n};\n\nstruct posix_acl_xattr_header {\n\t__le32 a_version;\n};\n\nstruct posix_clock;\n\nstruct posix_clock_context;\n\nstruct posix_clock_operations {\n\tstruct module *owner;\n\tint (*clock_adjtime)(struct posix_clock *, struct __kernel_timex *);\n\tint (*clock_gettime)(struct posix_clock *, struct timespec64 *);\n\tint (*clock_getres)(struct posix_clock *, struct timespec64 *);\n\tint (*clock_settime)(struct posix_clock *, const struct timespec64 *);\n\tlong int (*ioctl)(struct posix_clock_context *, unsigned int, long unsigned int);\n\tint (*open)(struct posix_clock_context *, fmode_t);\n\t__poll_t (*poll)(struct posix_clock_context *, struct file *, poll_table *);\n\tint (*release)(struct posix_clock_context *);\n\tssize_t (*read)(struct posix_clock_context *, uint, char *, size_t);\n};\n\nstruct posix_clock {\n\tstruct posix_clock_operations ops;\n\tstruct cdev cdev;\n\tstruct device *dev;\n\tstruct rw_semaphore rwsem;\n\tbool zombie;\n};\n\nstruct posix_clock_context {\n\tstruct posix_clock *clk;\n\tvoid *private_clkdata;\n};\n\nstruct posix_clock_desc {\n\tstruct file *fp;\n\tstruct posix_clock *clk;\n};\n\nstruct posix_cputimer_base {\n\tu64 nextevt;\n\tstruct timerqueue_head tqhead;\n};\n\nstruct posix_cputimers {\n\tstruct posix_cputimer_base bases[3];\n\tunsigned int timers_active;\n\tunsigned int expiry_active;\n};\n\nstruct posix_cputimers_work {\n\tstruct callback_head work;\n\tstruct mutex mutex;\n\tunsigned int scheduled;\n};\n\nstruct posix_msg_tree_node {\n\tstruct rb_node rb_node;\n\tstruct list_head msg_list;\n\tint priority;\n};\n\nstruct postprocess_bh_ctx {\n\tstruct work_struct work;\n\tstruct buffer_head *bh;\n};\n\nstruct power_supply_battery_info;\n\nstruct power_supply {\n\tconst struct power_supply_desc *desc;\n\tchar **supplied_to;\n\tsize_t num_supplicants;\n\tchar **supplied_from;\n\tsize_t num_supplies;\n\tstruct device_node *of_node;\n\tvoid *drv_data;\n\tstruct device dev;\n\tstruct work_struct changed_work;\n\tstruct delayed_work deferred_register_work;\n\tspinlock_t changed_lock;\n\tbool changed;\n\tbool update_groups;\n\tbool initialized;\n\tbool removing;\n\tatomic_t use_cnt;\n\tstruct power_supply_battery_info *battery_info;\n\tstruct rw_semaphore extensions_sem;\n\tstruct list_head extensions;\n\tstruct thermal_zone_device *tzd;\n\tstruct thermal_cooling_device *tcd;\n\tstruct led_trigger *trig;\n\tstruct led_trigger *charging_trig;\n\tstruct led_trigger *full_trig;\n\tstruct led_trigger *charging_blink_full_solid_trig;\n\tstruct led_trigger *charging_orange_full_green_trig;\n};\n\nstruct power_supply_attr {\n\tconst char *prop_name;\n\tchar attr_name[31];\n\tstruct device_attribute dev_attr;\n\tconst char * const *text_values;\n\tint text_values_len;\n};\n\nstruct power_supply_maintenance_charge_table;\n\nstruct power_supply_battery_ocv_table;\n\nstruct power_supply_resistance_temp_table;\n\nstruct power_supply_vbat_ri_table;\n\nstruct power_supply_battery_info {\n\tunsigned int technology;\n\tint energy_full_design_uwh;\n\tint charge_full_design_uah;\n\tint voltage_min_design_uv;\n\tint voltage_max_design_uv;\n\tint tricklecharge_current_ua;\n\tint precharge_current_ua;\n\tint precharge_voltage_max_uv;\n\tint charge_term_current_ua;\n\tint charge_restart_voltage_uv;\n\tint overvoltage_limit_uv;\n\tint constant_charge_current_max_ua;\n\tint constant_charge_voltage_max_uv;\n\tconst struct power_supply_maintenance_charge_table *maintenance_charge;\n\tint maintenance_charge_size;\n\tint alert_low_temp_charge_current_ua;\n\tint alert_low_temp_charge_voltage_uv;\n\tint alert_high_temp_charge_current_ua;\n\tint alert_high_temp_charge_voltage_uv;\n\tint factory_internal_resistance_uohm;\n\tint factory_internal_resistance_charging_uohm;\n\tint ocv_temp[20];\n\tint temp_ambient_alert_min;\n\tint temp_ambient_alert_max;\n\tint temp_alert_min;\n\tint temp_alert_max;\n\tint temp_min;\n\tint temp_max;\n\tconst struct power_supply_battery_ocv_table *ocv_table[20];\n\tint ocv_table_size[20];\n\tconst struct power_supply_resistance_temp_table *resist_table;\n\tint resist_table_size;\n\tconst struct power_supply_vbat_ri_table *vbat2ri_discharging;\n\tint vbat2ri_discharging_size;\n\tconst struct power_supply_vbat_ri_table *vbat2ri_charging;\n\tint vbat2ri_charging_size;\n\tint bti_resistance_ohm;\n\tint bti_resistance_tolerance;\n};\n\nstruct power_supply_battery_ocv_table {\n\tint ocv;\n\tint capacity;\n};\n\nstruct power_supply_config {\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tvoid *drv_data;\n\tconst struct attribute_group **attr_grp;\n\tchar **supplied_to;\n\tsize_t num_supplicants;\n\tbool no_wakeup_source;\n};\n\nstruct power_supply_ext {\n\tconst char * const name;\n\tu8 charge_behaviours;\n\tconst enum power_supply_property *properties;\n\tsize_t num_properties;\n\tint (*get_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, union power_supply_propval *);\n\tint (*set_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, const union power_supply_propval *);\n\tint (*property_is_writeable)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property);\n};\n\nstruct power_supply_ext_registration {\n\tstruct list_head list_head;\n\tconst struct power_supply_ext *ext;\n\tstruct device *dev;\n\tvoid *data;\n};\n\nstruct power_supply_hwmon {\n\tstruct power_supply *psy;\n\tlong unsigned int *props;\n};\n\nstruct power_supply_led_trigger {\n\tstruct led_trigger trig;\n\tstruct power_supply *psy;\n};\n\nstruct power_supply_maintenance_charge_table {\n\tint charge_current_max_ua;\n\tint charge_voltage_max_uv;\n\tint charge_safety_timer_minutes;\n};\n\nunion power_supply_propval {\n\tint intval;\n\tconst char *strval;\n};\n\nstruct power_supply_resistance_temp_table {\n\tint temp;\n\tint resistance;\n};\n\nstruct power_supply_vbat_ri_table {\n\tint vbat_uv;\n\tint ri_uohm;\n};\n\nstruct pppoe_tag {\n\t__be16 tag_type;\n\t__be16 tag_len;\n\tchar tag_data[0];\n};\n\nstruct pppoe_hdr {\n\t__u8 type: 4;\n\t__u8 ver: 4;\n\t__u8 code;\n\t__be16 sid;\n\t__be16 length;\n\tstruct pppoe_tag tag[0];\n};\n\nstruct pps_bind_args {\n\tint tsformat;\n\tint edge;\n\tint consumer;\n};\n\nstruct pps_device;\n\nstruct pps_source_info {\n\tchar name[32];\n\tchar path[32];\n\tint mode;\n\tvoid (*echo)(struct pps_device *, int, void *);\n\tstruct module *owner;\n\tstruct device *dev;\n};\n\nstruct pps_ktime {\n\t__s64 sec;\n\t__s32 nsec;\n\t__u32 flags;\n};\n\nstruct pps_kparams {\n\tint api_version;\n\tint mode;\n\tstruct pps_ktime assert_off_tu;\n\tstruct pps_ktime clear_off_tu;\n};\n\nstruct pps_device {\n\tstruct pps_source_info info;\n\tstruct pps_kparams params;\n\t__u32 assert_sequence;\n\t__u32 clear_sequence;\n\tstruct pps_ktime assert_tu;\n\tstruct pps_ktime clear_tu;\n\tint current_mode;\n\tunsigned int last_ev;\n\twait_queue_head_t queue;\n\tunsigned int id;\n\tconst void *lookup_cookie;\n\tstruct device dev;\n\tstruct fasync_struct *async_queue;\n\tspinlock_t lock;\n};\n\nstruct pps_event_time {\n\tstruct timespec64 ts_real;\n};\n\nstruct pps_kinfo {\n\t__u32 assert_sequence;\n\t__u32 clear_sequence;\n\tstruct pps_ktime assert_tu;\n\tstruct pps_ktime clear_tu;\n\tint current_mode;\n};\n\nstruct pps_fdata {\n\tstruct pps_kinfo info;\n\tstruct pps_ktime timeout;\n};\n\nstruct pptp_gre_header {\n\tstruct gre_base_hdr gre_hd;\n\t__be16 payload_len;\n\t__be16 call_id;\n\t__be32 seq;\n\t__be32 ack;\n};\n\nstruct pr_clear {\n\t__u64 key;\n\t__u32 flags;\n\t__u32 __pad;\n};\n\nstruct pr_cont_work_struct {\n\tbool comma;\n\twork_func_t func;\n\tlong int ctr;\n};\n\nstruct pr_held_reservation {\n\tu64 key;\n\tu32 generation;\n\tenum pr_type type;\n};\n\nstruct pr_keys {\n\tu32 generation;\n\tu32 num_keys;\n\tu64 keys[0];\n};\n\nstruct pr_ops {\n\tint (*pr_register)(struct block_device *, u64, u64, u32);\n\tint (*pr_reserve)(struct block_device *, u64, enum pr_type, u32);\n\tint (*pr_release)(struct block_device *, u64, enum pr_type);\n\tint (*pr_preempt)(struct block_device *, u64, u64, enum pr_type, bool);\n\tint (*pr_clear)(struct block_device *, u64);\n\tint (*pr_read_keys)(struct block_device *, struct pr_keys *);\n\tint (*pr_read_reservation)(struct block_device *, struct pr_held_reservation *);\n};\n\nstruct pr_preempt {\n\t__u64 old_key;\n\t__u64 new_key;\n\t__u32 type;\n\t__u32 flags;\n};\n\nstruct pr_registration {\n\t__u64 old_key;\n\t__u64 new_key;\n\t__u32 flags;\n\t__u32 __pad;\n};\n\nstruct pr_reservation {\n\t__u64 key;\n\t__u32 type;\n\t__u32 flags;\n};\n\nstruct prb_data_blk_lpos {\n\tlong unsigned int begin;\n\tlong unsigned int next;\n};\n\nstruct prb_data_block {\n\tlong unsigned int id;\n\tchar data[0];\n};\n\nstruct prb_data_ring {\n\tunsigned int size_bits;\n\tchar *data;\n\tatomic_long_t head_lpos;\n\tatomic_long_t tail_lpos;\n};\n\nstruct prb_desc {\n\tatomic_long_t state_var;\n\tstruct prb_data_blk_lpos text_blk_lpos;\n};\n\nstruct printk_info;\n\nstruct prb_desc_ring {\n\tunsigned int count_bits;\n\tstruct prb_desc *descs;\n\tstruct printk_info *infos;\n\tatomic_long_t head_id;\n\tatomic_long_t tail_id;\n\tatomic_long_t last_finalized_seq;\n};\n\nstruct printk_ringbuffer;\n\nstruct prb_reserved_entry {\n\tstruct printk_ringbuffer *rb;\n\tlong unsigned int irqflags;\n\tlong unsigned int id;\n\tunsigned int text_space;\n};\n\nstruct prctl_mm_map {\n\t__u64 start_code;\n\t__u64 end_code;\n\t__u64 start_data;\n\t__u64 end_data;\n\t__u64 start_brk;\n\t__u64 brk;\n\t__u64 start_stack;\n\t__u64 arg_start;\n\t__u64 arg_end;\n\t__u64 env_start;\n\t__u64 env_end;\n\t__u64 *auxv;\n\t__u32 auxv_size;\n\t__u32 exe_fd;\n};\n\nstruct preempt_ops {\n\tvoid (*sched_in)(struct preempt_notifier *, int);\n\tvoid (*sched_out)(struct preempt_notifier *, struct task_struct *);\n};\n\nstruct prefix_cacheinfo {\n\t__u32 preferred_time;\n\t__u32 valid_time;\n};\n\nstruct prefix_info {\n\t__u8 type;\n\t__u8 length;\n\t__u8 prefix_len;\n\tunion {\n\t\t__u8 flags;\n\t\tstruct {\n\t\t\t__u8 reserved: 4;\n\t\t\t__u8 preferpd: 1;\n\t\t\t__u8 routeraddr: 1;\n\t\t\t__u8 autoconf: 1;\n\t\t\t__u8 onlink: 1;\n\t\t};\n\t};\n\t__be32 valid;\n\t__be32 prefered;\n\t__be32 reserved2;\n\tstruct in6_addr prefix;\n};\n\nstruct prefixmsg {\n\tunsigned char prefix_family;\n\tunsigned char prefix_pad1;\n\tshort unsigned int prefix_pad2;\n\tint prefix_ifindex;\n\tunsigned char prefix_type;\n\tunsigned char prefix_len;\n\tunsigned char prefix_flags;\n\tunsigned char prefix_pad3;\n};\n\nstruct preftree {\n\tstruct rb_root_cached root;\n\tunsigned int count;\n};\n\nstruct preftrees {\n\tstruct preftree direct;\n\tstruct preftree indirect;\n\tstruct preftree indirect_missing_keys;\n};\n\nstruct prelim_ref {\n\tstruct rb_node rbnode;\n\tu64 root_id;\n\tstruct btrfs_key key_for_search;\n\tu8 level;\n\tint count;\n\tstruct extent_inode_elem *inode_list;\n\tu64 parent;\n\tu64 wanted_disk_byte;\n};\n\nstruct prepend_buffer {\n\tchar *buf;\n\tint len;\n};\n\nstruct primaryVolDesc {\n\tstruct tag descTag;\n\t__le32 volDescSeqNum;\n\t__le32 primaryVolDescNum;\n\tdstring volIdent[32];\n\t__le16 volSeqNum;\n\t__le16 maxVolSeqNum;\n\t__le16 interchangeLvl;\n\t__le16 maxInterchangeLvl;\n\t__le32 charSetList;\n\t__le32 maxCharSetList;\n\tdstring volSetIdent[128];\n\tstruct charspec descCharSet;\n\tstruct charspec explanatoryCharSet;\n\tstruct extent_ad volAbstract;\n\tstruct extent_ad volCopyright;\n\tstruct regid appIdent;\n\tstruct timestamp recordingDateAndTime;\n\tstruct regid impIdent;\n\tuint8_t impUse[64];\n\t__le32 predecessorVolDescSeqLocation;\n\t__le16 flags;\n\tuint8_t reserved[22];\n};\n\nstruct print_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tchar buf[0];\n};\n\nstruct printf_spec {\n\tunsigned char flags;\n\tunsigned char base;\n\tshort int precision;\n\tint field_width;\n};\n\nstruct printk_info {\n\tu64 seq;\n\tu64 ts_nsec;\n\tu16 text_len;\n\tu8 facility;\n\tu8 flags: 5;\n\tu8 level: 3;\n\tu32 caller_id;\n\tstruct dev_printk_info dev_info;\n};\n\nstruct printk_message {\n\tstruct printk_buffers *pbufs;\n\tunsigned int outbuf_len;\n\tu64 seq;\n\tlong unsigned int dropped;\n};\n\nstruct printk_record {\n\tstruct printk_info *info;\n\tchar *text_buf;\n\tunsigned int text_buf_size;\n};\n\nstruct printk_ringbuffer {\n\tstruct prb_desc_ring desc_ring;\n\tstruct prb_data_ring text_data_ring;\n\tatomic_long_t fail;\n};\n\nstruct private_bios_data {\n\tu8 geometry: 4;\n\tu8 unused: 4;\n\tu8 boot_drv;\n\tu8 rsvd[12];\n\tu16 cksum;\n};\n\nstruct privflags_reply_data {\n\tstruct ethnl_reply_data base;\n\tconst char (*priv_flag_names)[32];\n\tunsigned int n_priv_flags;\n\tu32 priv_flags;\n};\n\ntypedef struct kobject *kobj_probe_t(dev_t, int *, void *);\n\nstruct probe {\n\tstruct probe *next;\n\tdev_t dev;\n\tlong unsigned int range;\n\tstruct module *owner;\n\tkobj_probe_t *get;\n\tint (*lock)(dev_t, void *);\n\tvoid *data;\n};\n\nstruct probe_arg {\n\tstruct fetch_insn *code;\n\tbool dynamic;\n\tunsigned int offset;\n\tunsigned int count;\n\tconst char *name;\n\tconst char *comm;\n\tchar *fmt;\n\tconst struct fetch_type *type;\n};\n\nstruct probe_entry_arg {\n\tstruct fetch_insn *code;\n\tunsigned int size;\n};\n\ntypedef int (*proc_write_t)(struct file *, char *, size_t);\n\nstruct proc_ops;\n\nstruct proc_dir_entry {\n\tatomic_t in_use;\n\trefcount_t refcnt;\n\tstruct list_head pde_openers;\n\tspinlock_t pde_unload_lock;\n\tstruct completion *pde_unload_completion;\n\tconst struct inode_operations *proc_iops;\n\tunion {\n\t\tconst struct proc_ops *proc_ops;\n\t\tconst struct file_operations *proc_dir_ops;\n\t};\n\tconst struct dentry_operations *proc_dops;\n\tunion {\n\t\tconst struct seq_operations *seq_ops;\n\t\tint (*single_show)(struct seq_file *, void *);\n\t};\n\tproc_write_t write;\n\tvoid *data;\n\tunsigned int state_size;\n\tunsigned int low_ino;\n\tnlink_t nlink;\n\tkuid_t uid;\n\tkgid_t gid;\n\tloff_t size;\n\tstruct proc_dir_entry *parent;\n\tstruct rb_root subdir;\n\tstruct rb_node subdir_node;\n\tchar *name;\n\tumode_t mode;\n\tu8 flags;\n\tu8 namelen;\n\tchar inline_name[0];\n};\n\nstruct proc_fs_context {\n\tstruct pid_namespace *pid_ns;\n\tunsigned int mask;\n\tenum proc_hidepid hidepid;\n\tint gid;\n\tenum proc_pidonly pidonly;\n};\n\nstruct proc_fs_info {\n\tstruct pid_namespace *pid_ns;\n\tstruct dentry *proc_self;\n\tstruct dentry *proc_thread_self;\n\tkgid_t pid_gid;\n\tenum proc_hidepid hide_pid;\n\tenum proc_pidonly pidonly;\n\tstruct callback_head rcu;\n};\n\nstruct proc_fs_opts {\n\tint flag;\n\tconst char *str;\n};\n\nstruct proc_inode {\n\tstruct pid *pid;\n\tunsigned int fd;\n\tunion proc_op op;\n\tstruct proc_dir_entry *pde;\n\tstruct ctl_table_header *sysctl;\n\tconst struct ctl_table *sysctl_entry;\n\tstruct hlist_node sibling_inodes;\n\tconst struct proc_ns_operations *ns_ops;\n\tstruct inode vfs_inode;\n};\n\nstruct proc_mounts {\n\tstruct mnt_namespace *ns;\n\tstruct path root;\n\tint (*show)(struct seq_file *, struct vfsmount *);\n};\n\nstruct proc_nfs_info {\n\tint flag;\n\tconst char *str;\n\tconst char *nostr;\n};\n\nstruct proc_ns_operations {\n\tconst char *name;\n\tconst char *real_ns_name;\n\tint type;\n\tstruct ns_common * (*get)(struct task_struct *);\n\tvoid (*put)(struct ns_common *);\n\tint (*install)(struct nsset *, struct ns_common *);\n\tstruct user_namespace * (*owner)(struct ns_common *);\n\tstruct ns_common * (*get_parent)(struct ns_common *);\n};\n\nstruct proc_ops {\n\tunsigned int proc_flags;\n\tint (*proc_open)(struct inode *, struct file *);\n\tssize_t (*proc_read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*proc_read_iter)(struct kiocb *, struct iov_iter *);\n\tssize_t (*proc_write)(struct file *, const char *, size_t, loff_t *);\n\tloff_t (*proc_lseek)(struct file *, loff_t, int);\n\tint (*proc_release)(struct inode *, struct file *);\n\t__poll_t (*proc_poll)(struct file *, struct poll_table_struct *);\n\tlong int (*proc_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*proc_mmap)(struct file *, struct vm_area_struct *);\n\tlong unsigned int (*proc_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n};\n\nstruct proc_timens_offset {\n\tint clockid;\n\tstruct timespec64 val;\n};\n\nstruct proc_xfs_info {\n\tuint64_t flag;\n\tchar *str;\n};\n\nstruct process_timer {\n\tstruct timer_list timer;\n\tstruct task_struct *task;\n};\n\nstruct procmap_query {\n\t__u64 size;\n\t__u64 query_flags;\n\t__u64 query_addr;\n\t__u64 vma_start;\n\t__u64 vma_end;\n\t__u64 vma_flags;\n\t__u64 vma_page_size;\n\t__u64 vma_offset;\n\t__u64 inode;\n\t__u32 dev_major;\n\t__u32 dev_minor;\n\t__u32 vma_name_size;\n\t__u32 build_id_size;\n\t__u64 vma_name_addr;\n\t__u64 build_id_addr;\n};\n\nstruct prog_entry {\n\tint target;\n\tint when_to_branch;\n\tstruct filter_pred *pred;\n};\n\nstruct prog_poke_elem {\n\tstruct list_head list;\n\tstruct bpf_prog_aux *aux;\n};\n\nstruct prog_test_member1 {\n\tint a;\n};\n\nstruct prog_test_member {\n\tstruct prog_test_member1 m;\n\tint c;\n};\n\nstruct prog_test_ref_kfunc {\n\tint a;\n\tint b;\n\tstruct prog_test_member memb;\n\tstruct prog_test_ref_kfunc *next;\n\trefcount_t cnt;\n};\n\nstruct prop_handler {\n\tstruct hlist_node node;\n\tconst char *xattr_name;\n\tint (*validate)(const struct btrfs_inode *, const char *, size_t);\n\tint (*apply)(struct inode *, const char *, size_t);\n\tconst char * (*extract)(const struct inode *);\n\tbool (*ignore)(const struct btrfs_inode *);\n\tint inheritable;\n};\n\nstruct property {\n\tchar *name;\n\tint length;\n\tvoid *value;\n\tstruct property *next;\n\tstruct bin_attribute attr;\n};\n\nstruct prot_inuse {\n\tint all;\n\tint val[64];\n};\n\nstruct smc_hashinfo;\n\nstruct proto_accept_arg;\n\nstruct sk_psock;\n\nstruct timewait_sock_ops;\n\nstruct raw_hashinfo;\n\nstruct proto {\n\tvoid (*close)(struct sock *, long int);\n\tint (*pre_connect)(struct sock *, struct sockaddr *, int);\n\tint (*connect)(struct sock *, struct sockaddr *, int);\n\tint (*disconnect)(struct sock *, int);\n\tstruct sock * (*accept)(struct sock *, struct proto_accept_arg *);\n\tint (*ioctl)(struct sock *, int, int *);\n\tint (*init)(struct sock *);\n\tvoid (*destroy)(struct sock *);\n\tvoid (*shutdown)(struct sock *, int);\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*keepalive)(struct sock *, int);\n\tint (*sendmsg)(struct sock *, struct msghdr *, size_t);\n\tint (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *);\n\tvoid (*splice_eof)(struct socket *);\n\tint (*bind)(struct sock *, struct sockaddr *, int);\n\tint (*bind_add)(struct sock *, struct sockaddr *, int);\n\tint (*backlog_rcv)(struct sock *, struct sk_buff *);\n\tbool (*bpf_bypass_getsockopt)(int, int);\n\tvoid (*release_cb)(struct sock *);\n\tint (*hash)(struct sock *);\n\tvoid (*unhash)(struct sock *);\n\tvoid (*rehash)(struct sock *);\n\tint (*get_port)(struct sock *, short unsigned int);\n\tvoid (*put_port)(struct sock *);\n\tint (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);\n\tunsigned int inuse_idx;\n\tint (*forward_alloc_get)(const struct sock *);\n\tbool (*stream_memory_free)(const struct sock *, int);\n\tbool (*sock_is_readable)(struct sock *);\n\tvoid (*enter_memory_pressure)(struct sock *);\n\tvoid (*leave_memory_pressure)(struct sock *);\n\tatomic_long_t *memory_allocated;\n\tint *per_cpu_fw_alloc;\n\tstruct percpu_counter *sockets_allocated;\n\tlong unsigned int *memory_pressure;\n\tlong int *sysctl_mem;\n\tint *sysctl_wmem;\n\tint *sysctl_rmem;\n\tu32 sysctl_wmem_offset;\n\tu32 sysctl_rmem_offset;\n\tint max_header;\n\tbool no_autobind;\n\tstruct kmem_cache *slab;\n\tunsigned int obj_size;\n\tunsigned int ipv6_pinfo_offset;\n\tslab_flags_t slab_flags;\n\tunsigned int useroffset;\n\tunsigned int usersize;\n\tunsigned int *orphan_count;\n\tstruct request_sock_ops *rsk_prot;\n\tstruct timewait_sock_ops *twsk_prot;\n\tunion {\n\t\tstruct inet_hashinfo *hashinfo;\n\t\tstruct udp_table *udp_table;\n\t\tstruct raw_hashinfo *raw_hash;\n\t\tstruct smc_hashinfo *smc_hash;\n\t} h;\n\tstruct module *owner;\n\tchar name[32];\n\tstruct list_head node;\n\tint (*diag_destroy)(struct sock *, int);\n};\n\nstruct proto_accept_arg {\n\tint flags;\n\tint err;\n\tint is_empty;\n\tbool kern;\n};\n\ntypedef int (*skb_read_actor_t)(struct sock *, struct sk_buff *);\n\nstruct proto_ops {\n\tint family;\n\tstruct module *owner;\n\tint (*release)(struct socket *);\n\tint (*bind)(struct socket *, struct sockaddr *, int);\n\tint (*connect)(struct socket *, struct sockaddr *, int, int);\n\tint (*socketpair)(struct socket *, struct socket *);\n\tint (*accept)(struct socket *, struct socket *, struct proto_accept_arg *);\n\tint (*getname)(struct socket *, struct sockaddr *, int);\n\t__poll_t (*poll)(struct file *, struct socket *, struct poll_table_struct *);\n\tint (*ioctl)(struct socket *, unsigned int, long unsigned int);\n\tint (*gettstamp)(struct socket *, void *, bool, bool);\n\tint (*listen)(struct socket *, int);\n\tint (*shutdown)(struct socket *, int);\n\tint (*setsockopt)(struct socket *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct socket *, int, int, char *, int *);\n\tvoid (*show_fdinfo)(struct seq_file *, struct socket *);\n\tint (*sendmsg)(struct socket *, struct msghdr *, size_t);\n\tint (*recvmsg)(struct socket *, struct msghdr *, size_t, int);\n\tint (*mmap)(struct file *, struct socket *, struct vm_area_struct *);\n\tssize_t (*splice_read)(struct socket *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*splice_eof)(struct socket *);\n\tint (*set_peek_off)(struct sock *, int);\n\tint (*peek_len)(struct socket *);\n\tint (*read_sock)(struct sock *, read_descriptor_t *, sk_read_actor_t);\n\tint (*read_skb)(struct sock *, skb_read_actor_t);\n\tint (*sendmsg_locked)(struct sock *, struct msghdr *, size_t);\n\tint (*set_rcvlowat)(struct sock *, int);\n};\n\nstruct prt_quirk {\n\tconst struct dmi_system_id *system;\n\tunsigned int segment;\n\tunsigned int bus;\n\tunsigned int device;\n\tunsigned char pin;\n\tconst char *source;\n\tconst char *actual_source;\n};\n\nstruct ps2pp_info {\n\tu8 model;\n\tu8 kind;\n\tu16 features;\n};\n\nstruct psample_group {\n\tstruct list_head list;\n\tstruct net *net;\n\tu32 group_num;\n\tu32 refcount;\n\tu32 seq;\n\tstruct callback_head rcu;\n};\n\nstruct psched_pktrate {\n\tu64 rate_pkts_ps;\n\tu32 mult;\n\tu8 shift;\n};\n\nstruct psched_ratecfg {\n\tu64 rate_bytes_ps;\n\tu32 mult;\n\tu16 overhead;\n\tu16 mpu;\n\tu8 linklayer;\n\tu8 shift;\n};\n\nstruct pse_control_config {\n\tenum ethtool_podl_pse_admin_state podl_admin_control;\n\tenum ethtool_c33_pse_admin_state c33_admin_control;\n};\n\nstruct pse_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_pse_control_status status;\n};\n\nstruct pseudo_fs_context {\n\tconst struct super_operations *ops;\n\tconst struct export_operations *eops;\n\tconst struct xattr_handler * const *xattr;\n\tconst struct dentry_operations *dops;\n\tlong unsigned int magic;\n};\n\nstruct psi_group_cpu;\n\nstruct psi_group {\n\tstruct psi_group *parent;\n\tbool enabled;\n\tstruct mutex avgs_lock;\n\tstruct psi_group_cpu *pcpu;\n\tu64 avg_total[6];\n\tu64 avg_last_update;\n\tu64 avg_next_update;\n\tstruct delayed_work avgs_work;\n\tstruct list_head avg_triggers;\n\tu32 avg_nr_triggers[6];\n\tu64 total[12];\n\tlong unsigned int avg[18];\n\tstruct task_struct *rtpoll_task;\n\tstruct timer_list rtpoll_timer;\n\twait_queue_head_t rtpoll_wait;\n\tatomic_t rtpoll_wakeup;\n\tatomic_t rtpoll_scheduled;\n\tstruct mutex rtpoll_trigger_lock;\n\tstruct list_head rtpoll_triggers;\n\tu32 rtpoll_nr_triggers[6];\n\tu32 rtpoll_states;\n\tu64 rtpoll_min_period;\n\tu64 rtpoll_total[6];\n\tu64 rtpoll_next_update;\n\tu64 rtpoll_until;\n};\n\nstruct psi_group_cpu {\n\tseqcount_t seq;\n\tunsigned int tasks[4];\n\tu32 state_mask;\n\tu32 times[7];\n\tu64 state_start;\n\tu32 times_prev[14];\n\tlong: 64;\n};\n\nstruct psi_window {\n\tu64 size;\n\tu64 start_time;\n\tu64 start_value;\n\tu64 prev_growth;\n};\n\nstruct psi_trigger {\n\tenum psi_states state;\n\tu64 threshold;\n\tstruct list_head node;\n\tstruct psi_group *group;\n\twait_queue_head_t event_wait;\n\tstruct kernfs_open_file *of;\n\tint event;\n\tstruct psi_window win;\n\tu64 last_event_time;\n\tbool pending_event;\n\tenum psi_aggregators aggregator;\n};\n\nstruct psmouse_protocol;\n\nstruct psmouse {\n\tvoid *private;\n\tstruct input_dev *dev;\n\tstruct ps2dev ps2dev;\n\tstruct delayed_work resync_work;\n\tconst char *vendor;\n\tconst char *name;\n\tconst struct psmouse_protocol *protocol;\n\tunsigned char packet[8];\n\tunsigned char badbyte;\n\tunsigned char pktcnt;\n\tunsigned char pktsize;\n\tunsigned char oob_data_type;\n\tunsigned char extra_buttons;\n\tbool acks_disable_command;\n\tunsigned int model;\n\tlong unsigned int last;\n\tlong unsigned int out_of_sync_cnt;\n\tlong unsigned int num_resyncs;\n\tenum psmouse_state state;\n\tchar devname[64];\n\tchar phys[32];\n\tunsigned int rate;\n\tunsigned int resolution;\n\tunsigned int resetafter;\n\tunsigned int resync_time;\n\tbool smartscroll;\n\tpsmouse_ret_t (*protocol_handler)(struct psmouse *);\n\tvoid (*set_rate)(struct psmouse *, unsigned int);\n\tvoid (*set_resolution)(struct psmouse *, unsigned int);\n\tvoid (*set_scale)(struct psmouse *, enum psmouse_scale);\n\tint (*reconnect)(struct psmouse *);\n\tint (*fast_reconnect)(struct psmouse *);\n\tvoid (*disconnect)(struct psmouse *);\n\tvoid (*cleanup)(struct psmouse *);\n\tint (*poll)(struct psmouse *);\n\tvoid (*pt_activate)(struct psmouse *);\n\tvoid (*pt_deactivate)(struct psmouse *);\n};\n\nstruct psmouse_attribute {\n\tstruct device_attribute dattr;\n\tvoid *data;\n\tssize_t (*show)(struct psmouse *, void *, char *);\n\tssize_t (*set)(struct psmouse *, void *, const char *, size_t);\n\tbool protect;\n};\n\nstruct psmouse_protocol {\n\tenum psmouse_type type;\n\tbool maxproto;\n\tbool ignore_parity;\n\tbool try_passthru;\n\tbool smbus_companion;\n\tconst char *name;\n\tconst char *alias;\n\tint (*detect)(struct psmouse *, bool);\n\tint (*init)(struct psmouse *);\n};\n\nstruct psmouse_smbus_dev {\n\tstruct i2c_board_info board;\n\tstruct psmouse *psmouse;\n\tstruct i2c_client *client;\n\tstruct list_head node;\n\tbool dead;\n\tbool need_deactivate;\n};\n\nstruct psmouse_smbus_removal_work {\n\tstruct work_struct work;\n\tstruct i2c_client *client;\n};\n\nstruct psy_am_i_supplied_data {\n\tstruct power_supply *psy;\n\tunsigned int count;\n};\n\nstruct psy_for_each_psy_cb_data {\n\tint (*fn)(struct power_supply *, void *);\n\tvoid *data;\n};\n\nstruct psy_get_supplier_prop_data {\n\tstruct power_supply *psy;\n\tenum power_supply_property psp;\n\tunion power_supply_propval *val;\n};\n\nstruct pt_regs_offset {\n\tconst char *name;\n\tint offset;\n};\n\nstruct ptdesc {\n\tlong unsigned int __page_flags;\n\tunion {\n\t\tstruct callback_head pt_rcu_head;\n\t\tstruct list_head pt_list;\n\t\tstruct {\n\t\t\tlong unsigned int _pt_pad_1;\n\t\t\tpgtable_t pmd_huge_pte;\n\t\t};\n\t};\n\tlong unsigned int __page_mapping;\n\tunion {\n\t\tlong unsigned int pt_index;\n\t\tstruct mm_struct *pt_mm;\n\t\tatomic_t pt_frag_refcount;\n\t};\n\tunion {\n\t\tlong unsigned int _pt_pad_2;\n\t\tspinlock_t ptl;\n\t};\n\tunsigned int __page_type;\n\tatomic_t __page_refcount;\n\tlong unsigned int pt_memcg_data;\n};\n\nstruct ptp_clock {\n\tstruct posix_clock clock;\n\tstruct device dev;\n\tstruct ptp_clock_info *info;\n\tdev_t devid;\n\tint index;\n\tstruct pps_device *pps_source;\n\tlong int dialed_frequency;\n\tstruct list_head tsevqs;\n\tspinlock_t tsevqs_lock;\n\tstruct mutex pincfg_mux;\n\twait_queue_head_t tsev_wq;\n\tint defunct;\n\tstruct device_attribute *pin_dev_attr;\n\tstruct attribute **pin_attr;\n\tstruct attribute_group pin_attr_group;\n\tconst struct attribute_group *pin_attr_groups[2];\n\tstruct kthread_worker *kworker;\n\tstruct kthread_delayed_work aux_work;\n\tunsigned int max_vclocks;\n\tunsigned int n_vclocks;\n\tint *vclock_index;\n\tstruct mutex n_vclocks_mux;\n\tbool is_virtual_clock;\n\tbool has_cycles;\n\tstruct dentry *debugfs_root;\n};\n\nstruct ptp_clock_caps {\n\tint max_adj;\n\tint n_alarm;\n\tint n_ext_ts;\n\tint n_per_out;\n\tint pps;\n\tint n_pins;\n\tint cross_timestamping;\n\tint adjust_phase;\n\tint max_phase_adj;\n\tint rsv[11];\n};\n\nstruct ptp_clock_event {\n\tint type;\n\tint index;\n\tunion {\n\t\tu64 timestamp;\n\t\ts64 offset;\n\t\tstruct pps_event_time pps_times;\n\t};\n};\n\nstruct ptp_extts_request {\n\tunsigned int index;\n\tunsigned int flags;\n\tunsigned int rsv[2];\n};\n\nstruct ptp_clock_time {\n\t__s64 sec;\n\t__u32 nsec;\n\t__u32 reserved;\n};\n\nstruct ptp_perout_request {\n\tunion {\n\t\tstruct ptp_clock_time start;\n\t\tstruct ptp_clock_time phase;\n\t};\n\tstruct ptp_clock_time period;\n\tunsigned int index;\n\tunsigned int flags;\n\tunion {\n\t\tstruct ptp_clock_time on;\n\t\tunsigned int rsv[4];\n\t};\n};\n\nstruct ptp_clock_request {\n\tenum {\n\t\tPTP_CLK_REQ_EXTTS = 0,\n\t\tPTP_CLK_REQ_PEROUT = 1,\n\t\tPTP_CLK_REQ_PPS = 2,\n\t} type;\n\tunion {\n\t\tstruct ptp_extts_request extts;\n\t\tstruct ptp_perout_request perout;\n\t};\n};\n\nstruct ptp_extts_event {\n\tstruct ptp_clock_time t;\n\tunsigned int index;\n\tunsigned int flags;\n\tunsigned int rsv[2];\n};\n\nstruct ptp_header {\n\tu8 tsmt;\n\tu8 ver;\n\t__be16 message_length;\n\tu8 domain_number;\n\tu8 reserved1;\n\tu8 flag_field[2];\n\t__be64 correction;\n\t__be32 reserved2;\n\tstruct port_identity source_port_identity;\n\t__be16 sequence_id;\n\tu8 control;\n\tu8 log_message_interval;\n} __attribute__((packed));\n\nstruct ptp_sys_offset {\n\tunsigned int n_samples;\n\tunsigned int rsv[3];\n\tstruct ptp_clock_time ts[51];\n};\n\nstruct ptp_sys_offset_extended {\n\tunsigned int n_samples;\n\t__kernel_clockid_t clockid;\n\tunsigned int rsv[2];\n\tstruct ptp_clock_time ts[75];\n};\n\nstruct ptp_sys_offset_precise {\n\tstruct ptp_clock_time device;\n\tstruct ptp_clock_time sys_realtime;\n\tstruct ptp_clock_time sys_monoraw;\n\tunsigned int rsv[4];\n};\n\nstruct ptp_system_timestamp {\n\tstruct timespec64 pre_ts;\n\tstruct timespec64 post_ts;\n\tclockid_t clockid;\n};\n\nstruct ptp_vclock {\n\tstruct ptp_clock *pclock;\n\tstruct ptp_clock_info info;\n\tstruct ptp_clock *clock;\n\tstruct hlist_node vclock_hash_node;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tstruct mutex lock;\n};\n\nstruct ptrace_peeksiginfo_args {\n\t__u64 off;\n\t__u32 flags;\n\t__s32 nr;\n};\n\nstruct ptrace_relation {\n\tstruct task_struct *tracer;\n\tstruct task_struct *tracee;\n\tbool invalid;\n\tstruct list_head node;\n\tstruct callback_head rcu;\n};\n\nstruct ptrace_rseq_configuration {\n\t__u64 rseq_abi_pointer;\n\t__u32 rseq_abi_size;\n\t__u32 signature;\n\t__u32 flags;\n\t__u32 pad;\n};\n\nstruct ptrace_sud_config {\n\t__u64 mode;\n\t__u64 selector;\n\t__u64 offset;\n\t__u64 len;\n};\n\nstruct ptrace_syscall_info {\n\t__u8 op;\n\t__u8 pad[3];\n\t__u32 arch;\n\t__u64 instruction_pointer;\n\t__u64 stack_pointer;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t} entry;\n\t\tstruct {\n\t\t\t__s64 rval;\n\t\t\t__u8 is_error;\n\t\t} exit;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t\t__u32 ret_data;\n\t\t} seccomp;\n\t};\n};\n\nstruct pts_mount_opts {\n\tint setuid;\n\tint setgid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tumode_t ptmxmode;\n\tint reserve;\n\tint max;\n};\n\nstruct pts_fs_info {\n\tstruct ida allocated_ptys;\n\tstruct pts_mount_opts mount_opts;\n\tstruct super_block *sb;\n\tstruct dentry *ptmx_dentry;\n};\n\nstruct public_key {\n\tvoid *key;\n\tu32 keylen;\n\tenum OID algo;\n\tvoid *params;\n\tu32 paramlen;\n\tbool key_is_private;\n\tconst char *id_type;\n\tconst char *pkey_algo;\n\tlong unsigned int key_eflags;\n};\n\nstruct public_key_signature {\n\tstruct asymmetric_key_id *auth_ids[3];\n\tu8 *s;\n\tu8 *digest;\n\tu32 s_size;\n\tu32 digest_size;\n\tconst char *pkey_algo;\n\tconst char *hash_algo;\n\tconst char *encoding;\n};\n\nstruct pushbutton_work_info {\n\tstruct slot *p_slot;\n\tstruct work_struct work;\n};\n\nstruct pwm_args {\n\tu64 period;\n\tenum pwm_polarity polarity;\n};\n\nstruct pwm_capture {\n\tunsigned int period;\n\tunsigned int duty_cycle;\n};\n\nstruct pwm_chip;\n\ntypedef struct pwm_chip *class_pwmchip_t;\n\nstruct pwm_state {\n\tu64 period;\n\tu64 duty_cycle;\n\tenum pwm_polarity polarity;\n\tbool enabled;\n\tbool usage_power;\n};\n\nstruct pwm_device {\n\tconst char *label;\n\tlong unsigned int flags;\n\tunsigned int hwpwm;\n\tstruct pwm_chip *chip;\n\tstruct pwm_args args;\n\tstruct pwm_state state;\n\tstruct pwm_state last;\n};\n\nstruct pwm_ops;\n\nstruct pwm_chip {\n\tstruct device dev;\n\tconst struct pwm_ops *ops;\n\tstruct module *owner;\n\tunsigned int id;\n\tunsigned int npwm;\n\tstruct pwm_device * (*of_xlate)(struct pwm_chip *, const struct of_phandle_args *);\n\tbool atomic;\n\tbool uses_pwmchip_alloc;\n\tbool operational;\n\tunion {\n\t\tstruct mutex nonatomic_lock;\n\t\tspinlock_t atomic_lock;\n\t};\n\tstruct pwm_device pwms[0];\n};\n\nstruct pwm_export {\n\tstruct device pwm_dev;\n\tstruct pwm_device *pwm;\n\tstruct mutex lock;\n\tstruct pwm_state suspend;\n};\n\nstruct pwm_lookup {\n\tstruct list_head list;\n\tconst char *provider;\n\tunsigned int index;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tunsigned int period;\n\tenum pwm_polarity polarity;\n\tconst char *module;\n};\n\nstruct pwm_waveform;\n\nstruct pwm_ops {\n\tint (*request)(struct pwm_chip *, struct pwm_device *);\n\tvoid (*free)(struct pwm_chip *, struct pwm_device *);\n\tint (*capture)(struct pwm_chip *, struct pwm_device *, struct pwm_capture *, long unsigned int);\n\tsize_t sizeof_wfhw;\n\tint (*round_waveform_tohw)(struct pwm_chip *, struct pwm_device *, const struct pwm_waveform *, void *);\n\tint (*round_waveform_fromhw)(struct pwm_chip *, struct pwm_device *, const void *, struct pwm_waveform *);\n\tint (*read_waveform)(struct pwm_chip *, struct pwm_device *, void *);\n\tint (*write_waveform)(struct pwm_chip *, struct pwm_device *, const void *);\n\tint (*apply)(struct pwm_chip *, struct pwm_device *, const struct pwm_state *);\n\tint (*get_state)(struct pwm_chip *, struct pwm_device *, struct pwm_state *);\n};\n\nstruct pwm_waveform {\n\tu64 period_length_ns;\n\tu64 duty_length_ns;\n\tu64 duty_offset_ns;\n};\n\nstruct qc_dqblk {\n\tint d_fieldmask;\n\tu64 d_spc_hardlimit;\n\tu64 d_spc_softlimit;\n\tu64 d_ino_hardlimit;\n\tu64 d_ino_softlimit;\n\tu64 d_space;\n\tu64 d_ino_count;\n\ts64 d_ino_timer;\n\ts64 d_spc_timer;\n\tint d_ino_warns;\n\tint d_spc_warns;\n\tu64 d_rt_spc_hardlimit;\n\tu64 d_rt_spc_softlimit;\n\tu64 d_rt_space;\n\ts64 d_rt_spc_timer;\n\tint d_rt_spc_warns;\n};\n\nstruct qc_info {\n\tint i_fieldmask;\n\tunsigned int i_flags;\n\tunsigned int i_spc_timelimit;\n\tunsigned int i_ino_timelimit;\n\tunsigned int i_rt_spc_timelimit;\n\tunsigned int i_spc_warnlimit;\n\tunsigned int i_ino_warnlimit;\n\tunsigned int i_rt_spc_warnlimit;\n};\n\nstruct qc_type_state {\n\tunsigned int flags;\n\tunsigned int spc_timelimit;\n\tunsigned int ino_timelimit;\n\tunsigned int rt_spc_timelimit;\n\tunsigned int spc_warnlimit;\n\tunsigned int ino_warnlimit;\n\tunsigned int rt_spc_warnlimit;\n\tlong long unsigned int ino;\n\tblkcnt_t blocks;\n\tblkcnt_t nextents;\n};\n\nstruct qc_state {\n\tunsigned int s_incoredqs;\n\tstruct qc_type_state s_state[3];\n};\n\nstruct qdisc_dump_args {\n\tstruct qdisc_walker w;\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n};\n\nstruct tc_ratespec {\n\tunsigned char cell_log;\n\t__u8 linklayer;\n\tshort unsigned int overhead;\n\tshort int cell_align;\n\tshort unsigned int mpu;\n\t__u32 rate;\n};\n\nstruct qdisc_rate_table {\n\tstruct tc_ratespec rate;\n\tu32 data[256];\n\tstruct qdisc_rate_table *next;\n\tint refcnt;\n};\n\nstruct tc_sizespec {\n\tunsigned char cell_log;\n\tunsigned char size_log;\n\tshort int cell_align;\n\tint overhead;\n\tunsigned int linklayer;\n\tunsigned int mpu;\n\tunsigned int mtu;\n\tunsigned int tsize;\n};\n\nstruct qdisc_size_table {\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct tc_sizespec szopts;\n\tint refcnt;\n\tu16 data[0];\n};\n\nstruct qdisc_watchdog {\n\tstruct hrtimer timer;\n\tstruct Qdisc *qdisc;\n};\n\nstruct qnode {\n\tstruct mcs_spinlock mcs;\n};\n\nstruct queue_pages {\n\tstruct list_head *pagelist;\n\tlong unsigned int flags;\n\tnodemask_t *nmask;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tstruct vm_area_struct *first;\n\tstruct folio *large;\n\tlong int nr_failed;\n};\n\nstruct queue_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct gendisk *, char *);\n\tssize_t (*store)(struct gendisk *, const char *, size_t);\n\tint (*store_limit)(struct gendisk *, const char *, size_t, struct queue_limits *);\n\tvoid (*load_module)(struct gendisk *, const char *, size_t);\n};\n\nstruct quirk_entry {\n\tu16 vid;\n\tu16 pid;\n\tu32 flags;\n};\n\nstruct quirks_list_struct {\n\tstruct hid_device_id hid_bl_item;\n\tstruct list_head node;\n};\n\nstruct quota_format_ops {\n\tint (*check_quota_file)(struct super_block *, int);\n\tint (*read_file_info)(struct super_block *, int);\n\tint (*write_file_info)(struct super_block *, int);\n\tint (*free_file_info)(struct super_block *, int);\n\tint (*read_dqblk)(struct dquot *);\n\tint (*commit_dqblk)(struct dquot *);\n\tint (*release_dqblk)(struct dquot *);\n\tint (*get_next_id)(struct super_block *, struct kqid *);\n};\n\nstruct quota_format_type {\n\tint qf_fmt_id;\n\tconst struct quota_format_ops *qf_ops;\n\tstruct module *qf_owner;\n\tstruct quota_format_type *qf_next;\n};\n\nstruct quota_info {\n\tunsigned int flags;\n\tstruct rw_semaphore dqio_sem;\n\tstruct inode *files[3];\n\tstruct mem_dqinfo info[3];\n\tconst struct quota_format_ops *ops[3];\n};\n\nstruct quota_module_name {\n\tint qm_fmt_id;\n\tchar *qm_mod_name;\n};\n\nstruct quotactl_ops {\n\tint (*quota_on)(struct super_block *, int, int, const struct path *);\n\tint (*quota_off)(struct super_block *, int);\n\tint (*quota_enable)(struct super_block *, unsigned int);\n\tint (*quota_disable)(struct super_block *, unsigned int);\n\tint (*quota_sync)(struct super_block *, int);\n\tint (*set_info)(struct super_block *, int, struct qc_info *);\n\tint (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);\n\tint (*get_nextdqblk)(struct super_block *, struct kqid *, struct qc_dqblk *);\n\tint (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);\n\tint (*get_state)(struct super_block *, struct qc_state *);\n\tint (*rm_xquota)(struct super_block *, unsigned int);\n};\n\nstruct ra_msg {\n\tstruct icmp6hdr icmph;\n\t__be32 reachable_time;\n\t__be32 retrans_timer;\n};\n\nstruct radeonfb_info;\n\nstruct radeon_i2c_chan {\n\tstruct radeonfb_info *rinfo;\n\tu32 ddc_reg;\n\tstruct i2c_adapter adapter;\n\tstruct i2c_algo_bit_data algo;\n};\n\nstruct radeon_regs {\n\tu32 ovr_clr;\n\tu32 ovr_wid_left_right;\n\tu32 ovr_wid_top_bottom;\n\tu32 ov0_scale_cntl;\n\tu32 mpp_tb_config;\n\tu32 mpp_gp_config;\n\tu32 subpic_cntl;\n\tu32 viph_control;\n\tu32 i2c_cntl_1;\n\tu32 gen_int_cntl;\n\tu32 cap0_trig_cntl;\n\tu32 cap1_trig_cntl;\n\tu32 bus_cntl;\n\tu32 surface_cntl;\n\tu32 bios_5_scratch;\n\tu32 dp_datatype;\n\tu32 rbbm_soft_reset;\n\tu32 clock_cntl_index;\n\tu32 amcgpio_en_reg;\n\tu32 amcgpio_mask;\n\tu32 surf_lower_bound[8];\n\tu32 surf_upper_bound[8];\n\tu32 surf_info[8];\n\tu32 crtc_gen_cntl;\n\tu32 crtc_ext_cntl;\n\tu32 dac_cntl;\n\tu32 crtc_h_total_disp;\n\tu32 crtc_h_sync_strt_wid;\n\tu32 crtc_v_total_disp;\n\tu32 crtc_v_sync_strt_wid;\n\tu32 crtc_offset;\n\tu32 crtc_offset_cntl;\n\tu32 crtc_pitch;\n\tu32 disp_merge_cntl;\n\tu32 grph_buffer_cntl;\n\tu32 crtc_more_cntl;\n\tu32 crtc2_gen_cntl;\n\tu32 dac2_cntl;\n\tu32 disp_output_cntl;\n\tu32 disp_hw_debug;\n\tu32 disp2_merge_cntl;\n\tu32 grph2_buffer_cntl;\n\tu32 crtc2_h_total_disp;\n\tu32 crtc2_h_sync_strt_wid;\n\tu32 crtc2_v_total_disp;\n\tu32 crtc2_v_sync_strt_wid;\n\tu32 crtc2_offset;\n\tu32 crtc2_offset_cntl;\n\tu32 crtc2_pitch;\n\tu32 fp_crtc_h_total_disp;\n\tu32 fp_crtc_v_total_disp;\n\tu32 fp_gen_cntl;\n\tu32 fp2_gen_cntl;\n\tu32 fp_h_sync_strt_wid;\n\tu32 fp2_h_sync_strt_wid;\n\tu32 fp_horz_stretch;\n\tu32 fp_panel_cntl;\n\tu32 fp_v_sync_strt_wid;\n\tu32 fp2_v_sync_strt_wid;\n\tu32 fp_vert_stretch;\n\tu32 lvds_gen_cntl;\n\tu32 lvds_pll_cntl;\n\tu32 tmds_crc;\n\tu32 tmds_transmitter_cntl;\n\tu32 dot_clock_freq;\n\tint feedback_div;\n\tint post_div;\n\tu32 ppll_div_3;\n\tu32 ppll_ref_div;\n\tu32 vclk_ecp_cntl;\n\tu32 clk_cntl_index;\n\tu32 dot_clock_freq_2;\n\tint feedback_div_2;\n\tint post_div_2;\n\tu32 p2pll_ref_div;\n\tu32 p2pll_div_0;\n\tu32 htotal_cntl2;\n\tint palette_valid;\n};\n\ntypedef void (*reinit_function_ptr)(struct radeonfb_info *);\n\nstruct radeonfb_info {\n\tstruct fb_info *info;\n\tstruct radeon_regs state;\n\tstruct radeon_regs init_state;\n\tchar name[50];\n\tlong unsigned int mmio_base_phys;\n\tlong unsigned int fb_base_phys;\n\tvoid *mmio_base;\n\tvoid *fb_base;\n\tlong unsigned int fb_local_base;\n\tstruct pci_dev *pdev;\n\tvoid *bios_seg;\n\tint fp_bios_start;\n\tu32 pseudo_palette[16];\n\tstruct {\n\t\tu8 red;\n\t\tu8 green;\n\t\tu8 blue;\n\t\tu8 pad;\n\t} palette[256];\n\tint chipset;\n\tu8 family;\n\tu8 rev;\n\tunsigned int errata;\n\tlong unsigned int video_ram;\n\tlong unsigned int mapped_vram;\n\tint vram_width;\n\tint vram_ddr;\n\tint pitch;\n\tint bpp;\n\tint depth;\n\tint has_CRTC2;\n\tint is_mobility;\n\tint is_IGP;\n\tint reversed_DAC;\n\tint reversed_TMDS;\n\tstruct panel_info panel_info;\n\tint mon1_type;\n\tu8 *mon1_EDID;\n\tstruct fb_videomode *mon1_modedb;\n\tint mon1_dbsize;\n\tint mon2_type;\n\tu8 *mon2_EDID;\n\tu32 dp_gui_master_cntl;\n\tstruct pll_info pll;\n\tint wc_cookie;\n\tu32 save_regs[100];\n\tint asleep;\n\tint lock_blank;\n\tint dynclk;\n\tint no_schedule;\n\tenum radeon_pm_mode pm_mode;\n\treinit_function_ptr reinit_func;\n\tspinlock_t reg_lock;\n\tstruct timer_list lvds_timer;\n\tu32 pending_lvds_gen_cntl;\n\tstruct radeon_i2c_chan i2c[4];\n};\n\nstruct xa_node;\n\nstruct radix_tree_iter {\n\tlong unsigned int index;\n\tlong unsigned int next_index;\n\tlong unsigned int tags;\n\tstruct xa_node *node;\n};\n\nstruct radix_tree_preload {\n\tlocal_lock_t lock;\n\tunsigned int nr;\n\tstruct xa_node *nodes;\n};\n\nstruct raid56_bio_trace_info {\n\tu64 devid;\n\tu32 offset;\n\tu8 stripe_nr;\n};\n\nstruct raid6_calls {\n\tvoid (*gen_syndrome)(int, size_t, void **);\n\tvoid (*xor_syndrome)(int, int, int, size_t, void **);\n\tint (*valid)(void);\n\tconst char *name;\n\tint priority;\n};\n\nstruct raid6_recov_calls {\n\tvoid (*data2)(int, size_t, int, int, void **);\n\tvoid (*datap)(int, size_t, int, void **);\n\tint (*valid)(void);\n\tconst char *name;\n\tint priority;\n};\n\nstruct raid_component {\n\tstruct list_head node;\n\tstruct device dev;\n\tint num;\n};\n\nstruct raid_data {\n\tstruct list_head component_list;\n\tint component_count;\n\tenum raid_level level;\n\tenum raid_state state;\n\tint resync;\n};\n\nstruct raid_function_template {\n\tconst void *cookie;\n\tint (*is_raid)(struct device *);\n\tvoid (*get_resync)(struct device *);\n\tvoid (*get_state)(struct device *);\n};\n\nstruct raid_template {\n\tstruct transport_container raid_attrs;\n};\n\nstruct raid_internal {\n\tstruct raid_template r;\n\tstruct raid_function_template *f;\n\tstruct device_attribute private_attrs[3];\n\tstruct device_attribute *attrs[4];\n};\n\nstruct raid_kobject {\n\tu64 flags;\n\tstruct kobject kobj;\n};\n\nstruct ramfs_mount_opts {\n\tumode_t mode;\n};\n\nstruct ramfs_fs_info {\n\tstruct ramfs_mount_opts mount_opts;\n};\n\nstruct range_node {\n\tstruct rb_node rn_rbnode;\n\tstruct rb_node rb_range_size;\n\tu32 rn_start;\n\tu32 rn_last;\n\tu32 __rn_subtree_last;\n};\n\nstruct range_trans {\n\tu32 source_type;\n\tu32 target_type;\n\tu32 target_class;\n};\n\nstruct rate_sample {\n\tu64 prior_mstamp;\n\tu32 prior_delivered;\n\tu32 prior_delivered_ce;\n\ts32 delivered;\n\ts32 delivered_ce;\n\tlong int interval_us;\n\tu32 snd_interval_us;\n\tu32 rcv_interval_us;\n\tlong int rtt_us;\n\tint losses;\n\tu32 acked_sacked;\n\tu32 prior_in_flight;\n\tu32 last_end_seq;\n\tbool is_app_limited;\n\tbool is_retrans;\n\tbool is_ack_delayed;\n};\n\nstruct raw6_frag_vec {\n\tstruct msghdr *msg;\n\tint hlen;\n\tchar c[4];\n};\n\nstruct raw6_sock {\n\tstruct inet_sock inet;\n\t__u32 checksum;\n\t__u32 offset;\n\tstruct icmp6_filter filter;\n\t__u32 ip6mr_table;\n\tstruct ipv6_pinfo inet6;\n};\n\nstruct raw_data_entry {\n\tstruct trace_entry ent;\n\tunsigned int id;\n\tchar buf[0];\n};\n\nstruct raw_frag_vec {\n\tstruct msghdr *msg;\n\tunion {\n\t\tstruct icmphdr icmph;\n\t\tchar c[1];\n\t} hdr;\n\tint hlen;\n};\n\nstruct raw_hashinfo {\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hlist_head ht[256];\n};\n\nstruct raw_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n};\n\nstruct raw_sock {\n\tstruct inet_sock inet;\n\tstruct icmp_filter filter;\n\tu32 ipmr_table;\n};\n\nstruct rawdata_f_data {\n\tstruct aa_loaddata *loaddata;\n};\n\nstruct rb_augment_callbacks {\n\tvoid (*propagate)(struct rb_node *, struct rb_node *);\n\tvoid (*copy)(struct rb_node *, struct rb_node *);\n\tvoid (*rotate)(struct rb_node *, struct rb_node *);\n};\n\nstruct rb_event_info {\n\tu64 ts;\n\tu64 delta;\n\tu64 before;\n\tu64 after;\n\tlong unsigned int length;\n\tstruct buffer_page *tail_page;\n\tint add_timestamp;\n};\n\nstruct rb_irq_work {\n\tstruct irq_work work;\n\twait_queue_head_t waiters;\n\twait_queue_head_t full_waiters;\n\tatomic_t seq;\n\tbool waiters_pending;\n\tbool full_waiters_pending;\n\tbool wakeup_full;\n};\n\nstruct rb_list {\n\tstruct rb_root root;\n\tstruct list_head head;\n\tspinlock_t lock;\n};\n\nstruct rb_simple_node {\n\tstruct rb_node rb_node;\n\tu64 bytenr;\n};\n\nstruct rb_time_struct {\n\tlocal64_t time;\n};\n\ntypedef struct rb_time_struct rb_time_t;\n\nstruct rb_wait_data {\n\tstruct rb_irq_work *irq_work;\n\tint seq;\n};\n\nstruct rc {\n\tlong int (*fill)(void *, long unsigned int);\n\tuint8_t *ptr;\n\tuint8_t *buffer;\n\tuint8_t *buffer_end;\n\tlong int buffer_size;\n\tuint32_t code;\n\tuint32_t range;\n\tuint32_t bound;\n\tvoid (*error)(char *);\n};\n\nstruct rc_dec {\n\tuint32_t range;\n\tuint32_t code;\n\tuint32_t init_bytes_left;\n\tconst uint8_t *in;\n\tsize_t in_pos;\n\tsize_t in_limit;\n};\n\nstruct rcec_ea {\n\tu8 nextbusn;\n\tu8 lastbusn;\n\tu32 bitmap;\n};\n\nstruct rchan_callbacks;\n\nstruct rchan_buf;\n\nstruct rchan {\n\tu32 version;\n\tsize_t subbuf_size;\n\tsize_t n_subbufs;\n\tsize_t alloc_size;\n\tconst struct rchan_callbacks *cb;\n\tstruct kref kref;\n\tvoid *private_data;\n\tsize_t last_toobig;\n\tstruct rchan_buf **buf;\n\tint is_global;\n\tstruct list_head list;\n\tstruct dentry *parent;\n\tint has_base_filename;\n\tchar base_filename[255];\n};\n\nstruct rchan_buf {\n\tvoid *start;\n\tvoid *data;\n\tsize_t offset;\n\tsize_t subbufs_produced;\n\tsize_t subbufs_consumed;\n\tstruct rchan *chan;\n\twait_queue_head_t read_wait;\n\tstruct irq_work wakeup_work;\n\tstruct dentry *dentry;\n\tstruct kref kref;\n\tstruct page **page_array;\n\tunsigned int page_count;\n\tunsigned int finalized;\n\tsize_t *padding;\n\tsize_t prev_padding;\n\tsize_t bytes_consumed;\n\tsize_t early_bytes;\n\tunsigned int cpu;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rchan_callbacks {\n\tint (*subbuf_start)(struct rchan_buf *, void *, void *, size_t);\n\tstruct dentry * (*create_buf_file)(const char *, struct dentry *, umode_t, struct rchan_buf *, int *);\n\tint (*remove_buf_file)(struct dentry *);\n};\n\nstruct rchan_percpu_buf_dispatcher {\n\tstruct rchan_buf *buf;\n\tstruct dentry *dentry;\n};\n\nstruct rcu_cblist {\n\tstruct callback_head *head;\n\tstruct callback_head **tail;\n\tlong int len;\n};\n\nunion rcu_noqs {\n\tstruct {\n\t\tu8 norm;\n\t\tu8 exp;\n\t} b;\n\tu16 s;\n};\n\nstruct rcu_segcblist {\n\tstruct callback_head *head;\n\tstruct callback_head **tails[4];\n\tlong unsigned int gp_seq[4];\n\tlong int len;\n\tlong int seglen[4];\n\tu8 flags;\n};\n\nstruct rcu_snap_record {\n\tlong unsigned int gp_seq;\n\tu64 cputime_irq;\n\tu64 cputime_softirq;\n\tu64 cputime_system;\n\tlong unsigned int nr_hardirqs;\n\tunsigned int nr_softirqs;\n\tlong long unsigned int nr_csw;\n\tlong unsigned int jiffies;\n};\n\nstruct rcu_node;\n\nstruct rcu_data {\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_seq_needed;\n\tunion rcu_noqs cpu_no_qs;\n\tbool core_needs_qs;\n\tbool beenonline;\n\tbool gpwrap;\n\tbool cpu_started;\n\tstruct rcu_node *mynode;\n\tlong unsigned int grpmask;\n\tlong unsigned int ticks_this_gp;\n\tstruct irq_work defer_qs_iw;\n\tbool defer_qs_iw_pending;\n\tstruct work_struct strict_work;\n\tstruct rcu_segcblist cblist;\n\tlong int qlen_last_fqs_check;\n\tlong unsigned int n_cbs_invoked;\n\tlong unsigned int n_force_qs_snap;\n\tlong int blimit;\n\tint watching_snap;\n\tbool rcu_need_heavy_qs;\n\tbool rcu_urgent_qs;\n\tbool rcu_forced_tick;\n\tbool rcu_forced_tick_exp;\n\tlong unsigned int barrier_seq_snap;\n\tstruct callback_head barrier_head;\n\tint exp_watching_snap;\n\tstruct task_struct *rcu_cpu_kthread_task;\n\tunsigned int rcu_cpu_kthread_status;\n\tchar rcu_cpu_has_work;\n\tlong unsigned int rcuc_activity;\n\tunsigned int softirq_snap;\n\tstruct irq_work rcu_iw;\n\tbool rcu_iw_pending;\n\tlong unsigned int rcu_iw_gp_seq;\n\tlong unsigned int rcu_ofl_gp_seq;\n\tshort int rcu_ofl_gp_state;\n\tlong unsigned int rcu_onl_gp_seq;\n\tshort int rcu_onl_gp_state;\n\tlong unsigned int last_fqs_resched;\n\tlong unsigned int last_sched_clock;\n\tstruct rcu_snap_record snap_record;\n\tlong int lazy_len;\n\tint cpu;\n};\n\nstruct rcu_exp_work {\n\tlong unsigned int rew_s;\n\tstruct kthread_work rew_work;\n};\n\nstruct rcu_node {\n\traw_spinlock_t lock;\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_seq_needed;\n\tlong unsigned int completedqs;\n\tlong unsigned int qsmask;\n\tlong unsigned int rcu_gp_init_mask;\n\tlong unsigned int qsmaskinit;\n\tlong unsigned int qsmaskinitnext;\n\tlong unsigned int expmask;\n\tlong unsigned int expmaskinit;\n\tlong unsigned int expmaskinitnext;\n\tstruct kthread_worker *exp_kworker;\n\tlong unsigned int cbovldmask;\n\tlong unsigned int ffmask;\n\tlong unsigned int grpmask;\n\tint grplo;\n\tint grphi;\n\tu8 grpnum;\n\tu8 level;\n\tbool wait_blkd_tasks;\n\tstruct rcu_node *parent;\n\tstruct list_head blkd_tasks;\n\tstruct list_head *gp_tasks;\n\tstruct list_head *exp_tasks;\n\tstruct list_head *boost_tasks;\n\tstruct rt_mutex boost_mtx;\n\tlong unsigned int boost_time;\n\tstruct mutex kthread_mutex;\n\tstruct task_struct *boost_kthread_task;\n\tunsigned int boost_kthread_status;\n\tlong unsigned int n_boosts;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t fqslock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t exp_lock;\n\tlong unsigned int exp_seq_rq;\n\twait_queue_head_t exp_wq[4];\n\tstruct rcu_exp_work rew;\n\tbool exp_need_flush;\n\traw_spinlock_t exp_poll_lock;\n\tlong unsigned int exp_seq_poll_rq;\n\tstruct work_struct exp_poll_wq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion rcu_special {\n\tstruct {\n\t\tu8 blocked;\n\t\tu8 need_qs;\n\t\tu8 exp_hint;\n\t\tu8 need_mb;\n\t} b;\n\tu32 s;\n};\n\nstruct rcu_stall_chk_rdr {\n\tint nesting;\n\tunion rcu_special rs;\n\tbool on_blkd_list;\n};\n\nstruct sr_wait_node {\n\tatomic_t inuse;\n\tstruct llist_node node;\n};\n\nstruct rcu_state {\n\tstruct rcu_node node[17];\n\tstruct rcu_node *level[3];\n\tint ncpus;\n\tint n_online_cpus;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_max;\n\tstruct task_struct *gp_kthread;\n\tstruct swait_queue_head gp_wq;\n\tshort int gp_flags;\n\tshort int gp_state;\n\tlong unsigned int gp_wake_time;\n\tlong unsigned int gp_wake_seq;\n\tlong unsigned int gp_seq_polled;\n\tlong unsigned int gp_seq_polled_snap;\n\tlong unsigned int gp_seq_polled_exp_snap;\n\tstruct mutex barrier_mutex;\n\tatomic_t barrier_cpu_count;\n\tstruct completion barrier_completion;\n\tlong unsigned int barrier_sequence;\n\traw_spinlock_t barrier_lock;\n\tstruct mutex exp_mutex;\n\tstruct mutex exp_wake_mutex;\n\tlong unsigned int expedited_sequence;\n\tatomic_t expedited_need_qs;\n\tstruct swait_queue_head expedited_wq;\n\tint ncpus_snap;\n\tu8 cbovld;\n\tu8 cbovldnext;\n\tlong unsigned int jiffies_force_qs;\n\tlong unsigned int jiffies_kick_kthreads;\n\tlong unsigned int n_force_qs;\n\tlong unsigned int gp_start;\n\tlong unsigned int gp_end;\n\tlong unsigned int gp_activity;\n\tlong unsigned int gp_req_activity;\n\tlong unsigned int jiffies_stall;\n\tint nr_fqs_jiffies_stall;\n\tlong unsigned int jiffies_resched;\n\tlong unsigned int n_force_qs_gpstart;\n\tconst char *name;\n\tchar abbr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tarch_spinlock_t ofl_lock;\n\tstruct llist_head srs_next;\n\tstruct llist_node *srs_wait_tail;\n\tstruct llist_node *srs_done_tail;\n\tstruct sr_wait_node srs_wait_nodes[5];\n\tstruct work_struct srs_cleanup_work;\n\tatomic_t srs_cleanups_pending;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rcu_string {\n\tstruct callback_head rcu;\n\tchar str[0];\n};\n\nstruct rcu_synchronize {\n\tstruct callback_head head;\n\tstruct completion completion;\n};\n\nstruct rcu_tasks;\n\ntypedef void (*rcu_tasks_gp_func_t)(struct rcu_tasks *);\n\ntypedef void (*pregp_func_t)(struct list_head *);\n\ntypedef void (*pertask_func_t)(struct task_struct *, struct list_head *);\n\ntypedef void (*postscan_func_t)(struct list_head *);\n\ntypedef void (*holdouts_func_t)(struct list_head *, bool, bool *);\n\ntypedef void (*postgp_func_t)(struct rcu_tasks *);\n\ntypedef void (*rcu_callback_t)(struct callback_head *);\n\ntypedef void (*call_rcu_func_t)(struct callback_head *, rcu_callback_t);\n\nstruct rcu_tasks_percpu;\n\nstruct rcu_tasks {\n\tstruct rcuwait cbs_wait;\n\traw_spinlock_t cbs_gbl_lock;\n\tstruct mutex tasks_gp_mutex;\n\tint gp_state;\n\tint gp_sleep;\n\tint init_fract;\n\tlong unsigned int gp_jiffies;\n\tlong unsigned int gp_start;\n\tlong unsigned int tasks_gp_seq;\n\tlong unsigned int n_ipis;\n\tlong unsigned int n_ipis_fails;\n\tstruct task_struct *kthread_ptr;\n\tlong unsigned int lazy_jiffies;\n\trcu_tasks_gp_func_t gp_func;\n\tpregp_func_t pregp_func;\n\tpertask_func_t pertask_func;\n\tpostscan_func_t postscan_func;\n\tholdouts_func_t holdouts_func;\n\tpostgp_func_t postgp_func;\n\tcall_rcu_func_t call_func;\n\tunsigned int wait_state;\n\tstruct rcu_tasks_percpu *rtpcpu;\n\tstruct rcu_tasks_percpu **rtpcp_array;\n\tint percpu_enqueue_shift;\n\tint percpu_enqueue_lim;\n\tint percpu_dequeue_lim;\n\tlong unsigned int percpu_dequeue_gpseq;\n\tstruct mutex barrier_q_mutex;\n\tatomic_t barrier_q_count;\n\tstruct completion barrier_q_completion;\n\tlong unsigned int barrier_q_seq;\n\tlong unsigned int barrier_q_start;\n\tchar *name;\n\tchar *kname;\n};\n\nstruct rcu_tasks_percpu {\n\tstruct rcu_segcblist cblist;\n\traw_spinlock_t lock;\n\tlong unsigned int rtp_jiffies;\n\tlong unsigned int rtp_n_lock_retries;\n\tstruct timer_list lazy_timer;\n\tunsigned int urgent_gp;\n\tstruct work_struct rtp_work;\n\tstruct irq_work rtp_irq_work;\n\tstruct callback_head barrier_q_head;\n\tstruct list_head rtp_blkd_tasks;\n\tstruct list_head rtp_exit_list;\n\tint cpu;\n\tint index;\n\tstruct rcu_tasks *rtpp;\n};\n\nstruct rd_msg {\n\tstruct icmp6hdr icmph;\n\tstruct in6_addr target;\n\tstruct in6_addr dest;\n\t__u8 opt[0];\n};\n\nstruct rdma_dev_addr {\n\tunsigned char src_dev_addr[32];\n\tunsigned char dst_dev_addr[32];\n\tunsigned char broadcast[32];\n\tshort unsigned int dev_type;\n\tint bound_dev_if;\n\tenum rdma_transport_type transport;\n\tstruct net *net;\n\tconst struct ib_gid_attr *sgid_attr;\n\tenum rdma_network_type network;\n\tint hoplimit;\n};\n\nstruct rdma_addr {\n\tstruct __kernel_sockaddr_storage src_addr;\n\tstruct __kernel_sockaddr_storage dst_addr;\n\tstruct rdma_dev_addr dev_addr;\n};\n\nstruct rdma_ah_init_attr {\n\tstruct rdma_ah_attr *ah_attr;\n\tu32 flags;\n\tstruct net_device *xmit_slave;\n};\n\nstruct rdma_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct list_head rpools;\n};\n\nstruct rdma_conn_param {\n\tconst void *private_data;\n\tu8 private_data_len;\n\tu8 responder_resources;\n\tu8 initiator_depth;\n\tu8 flow_control;\n\tu8 retry_count;\n\tu8 rnr_retry_count;\n\tu8 srq;\n\tu32 qp_num;\n\tu32 qkey;\n};\n\nstruct rdma_ud_param {\n\tconst void *private_data;\n\tu8 private_data_len;\n\tstruct rdma_ah_attr ah_attr;\n\tu32 qp_num;\n\tu32 qkey;\n};\n\nstruct rdma_ucm_ece {\n\t__u32 vendor_id;\n\t__u32 attr_mod;\n};\n\nstruct rdma_cm_event {\n\tenum rdma_cm_event_type event;\n\tint status;\n\tunion {\n\t\tstruct rdma_conn_param conn;\n\t\tstruct rdma_ud_param ud;\n\t} param;\n\tstruct rdma_ucm_ece ece;\n};\n\ntypedef int (*rdma_cm_event_handler)(struct rdma_cm_id *, struct rdma_cm_event *);\n\nstruct sa_path_rec;\n\nstruct rdma_route {\n\tstruct rdma_addr addr;\n\tstruct sa_path_rec *path_rec;\n\tstruct sa_path_rec *path_rec_inbound;\n\tstruct sa_path_rec *path_rec_outbound;\n\tint num_pri_alt_paths;\n};\n\nstruct rdma_cm_id {\n\tstruct ib_device *device;\n\tvoid *context;\n\tstruct ib_qp *qp;\n\trdma_cm_event_handler event_handler;\n\tstruct rdma_route route;\n\tenum rdma_ucm_port_space ps;\n\tenum ib_qp_type qp_type;\n\tu32 port_num;\n\tstruct work_struct net_work;\n};\n\nstruct rdma_counter {\n\tstruct rdma_restrack_entry res;\n\tstruct ib_device *device;\n\tuint32_t id;\n\tstruct kref kref;\n\tstruct rdma_counter_mode mode;\n\tstruct mutex lock;\n\tstruct rdma_hw_stats *stats;\n\tu32 port;\n};\n\nstruct rdma_stat_desc;\n\nstruct rdma_hw_stats {\n\tstruct mutex lock;\n\tlong unsigned int timestamp;\n\tlong unsigned int lifespan;\n\tconst struct rdma_stat_desc *descs;\n\tlong unsigned int *is_disabled;\n\tint num_counters;\n\tu64 value[0];\n};\n\nstruct rdma_link_ops {\n\tstruct list_head list;\n\tconst char *type;\n\tint (*newlink)(const char *, struct net_device *);\n};\n\nstruct rdma_netdev_alloc_params {\n\tsize_t sizeof_priv;\n\tunsigned int txqs;\n\tunsigned int rxqs;\n\tvoid *param;\n\tint (*initialize_rdma_netdev)(struct ib_device *, u32, struct net_device *, void *);\n};\n\nstruct rdma_stat_desc {\n\tconst char *name;\n\tunsigned int flags;\n\tconst void *priv;\n};\n\nstruct rdma_user_mmap_entry {\n\tstruct kref ref;\n\tstruct ib_ucontext *ucontext;\n\tlong unsigned int start_pgoff;\n\tsize_t npages;\n\tbool driver_removed;\n};\n\nstruct rdmacg_resource {\n\tint max;\n\tint usage;\n};\n\nstruct rdmacg_resource_pool {\n\tstruct rdmacg_device *device;\n\tstruct rdmacg_resource resources[2];\n\tstruct list_head cg_node;\n\tstruct list_head dev_node;\n\tu64 usage_sum;\n\tint num_max_cnt;\n};\n\nstruct rds6_info_connection {\n\t__u64 next_tx_seq;\n\t__u64 next_rx_seq;\n\tstruct in6_addr laddr;\n\tstruct in6_addr faddr;\n\t__u8 transport[16];\n\t__u8 flags;\n} __attribute__((packed));\n\nstruct rds6_info_message {\n\t__u64 seq;\n\t__u32 len;\n\tstruct in6_addr laddr;\n\tstruct in6_addr faddr;\n\t__be16 lport;\n\t__be16 fport;\n\t__u8 flags;\n\t__u8 tos;\n} __attribute__((packed));\n\nstruct rds6_info_socket {\n\t__u32 sndbuf;\n\tstruct in6_addr bound_addr;\n\tstruct in6_addr connected_addr;\n\t__be16 bound_port;\n\t__be16 connected_port;\n\t__u32 rcvbuf;\n\t__u64 inum;\n} __attribute__((packed));\n\nstruct rds_atomic_args {\n\trds_rdma_cookie_t cookie;\n\t__u64 local_addr;\n\t__u64 remote_addr;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 compare;\n\t\t\t__u64 swap;\n\t\t} cswp;\n\t\tstruct {\n\t\t\t__u64 add;\n\t\t} fadd;\n\t\tstruct {\n\t\t\t__u64 compare;\n\t\t\t__u64 swap;\n\t\t\t__u64 compare_mask;\n\t\t\t__u64 swap_mask;\n\t\t} m_cswp;\n\t\tstruct {\n\t\t\t__u64 add;\n\t\t\t__u64 nocarry_mask;\n\t\t} m_fadd;\n\t};\n\t__u64 flags;\n\t__u64 user_token;\n};\n\nstruct rds_cmsg_rx_trace {\n\t__u8 rx_traces;\n\t__u8 rx_trace_pos[3];\n\t__u64 rx_trace[3];\n};\n\nstruct rds_cong_map {\n\tstruct rb_node m_rb_node;\n\tstruct in6_addr m_addr;\n\twait_queue_head_t m_waitq;\n\tstruct list_head m_conn_list;\n\tlong unsigned int m_page_addrs[1];\n};\n\nstruct rds_connection;\n\nstruct rds_message;\n\nstruct rds_conn_path {\n\tstruct rds_connection *cp_conn;\n\tstruct rds_message *cp_xmit_rm;\n\tlong unsigned int cp_xmit_sg;\n\tunsigned int cp_xmit_hdr_off;\n\tunsigned int cp_xmit_data_off;\n\tunsigned int cp_xmit_atomic_sent;\n\tunsigned int cp_xmit_rdma_sent;\n\tunsigned int cp_xmit_data_sent;\n\tspinlock_t cp_lock;\n\tu64 cp_next_tx_seq;\n\tstruct list_head cp_send_queue;\n\tstruct list_head cp_retrans;\n\tu64 cp_next_rx_seq;\n\tvoid *cp_transport_data;\n\tatomic_t cp_state;\n\tlong unsigned int cp_send_gen;\n\tlong unsigned int cp_flags;\n\tlong unsigned int cp_reconnect_jiffies;\n\tstruct delayed_work cp_send_w;\n\tstruct delayed_work cp_recv_w;\n\tstruct delayed_work cp_conn_w;\n\tstruct work_struct cp_down_w;\n\tstruct mutex cp_cm_lock;\n\twait_queue_head_t cp_waitq;\n\tunsigned int cp_unacked_packets;\n\tunsigned int cp_unacked_bytes;\n\tunsigned int cp_index;\n};\n\nstruct rds_transport;\n\nstruct rds_connection {\n\tstruct hlist_node c_hash_node;\n\tstruct in6_addr c_laddr;\n\tstruct in6_addr c_faddr;\n\tint c_dev_if;\n\tint c_bound_if;\n\tunsigned int c_loopback: 1;\n\tunsigned int c_isv6: 1;\n\tunsigned int c_ping_triggered: 1;\n\tunsigned int c_pad_to_32: 29;\n\tint c_npaths;\n\tstruct rds_connection *c_passive;\n\tstruct rds_transport *c_trans;\n\tstruct rds_cong_map *c_lcong;\n\tstruct rds_cong_map *c_fcong;\n\tunsigned int c_proposed_version;\n\tunsigned int c_version;\n\tpossible_net_t c_net;\n\tu8 c_tos;\n\tstruct list_head c_map_item;\n\tlong unsigned int c_map_queued;\n\tstruct rds_conn_path *c_path;\n\twait_queue_head_t c_hs_waitq;\n\tu32 c_my_gen_num;\n\tu32 c_peer_gen_num;\n};\n\nstruct rds_ext_header_rdma {\n\t__be32 h_rdma_rkey;\n};\n\nstruct rds_ext_header_rdma_dest {\n\t__be32 h_rdma_rkey;\n\t__be32 h_rdma_offset;\n};\n\nstruct rds_ext_header_version {\n\t__be32 h_version;\n};\n\nstruct rds_free_mr_args {\n\trds_rdma_cookie_t cookie;\n\t__u64 flags;\n};\n\nstruct rds_iovec {\n\t__u64 addr;\n\t__u64 bytes;\n};\n\nstruct rds_get_mr_args {\n\tstruct rds_iovec vec;\n\t__u64 cookie_addr;\n\t__u64 flags;\n};\n\nstruct rds_get_mr_for_dest_args {\n\tstruct __kernel_sockaddr_storage dest_addr;\n\tstruct rds_iovec vec;\n\t__u64 cookie_addr;\n\t__u64 flags;\n};\n\nstruct rds_header {\n\t__be64 h_sequence;\n\t__be64 h_ack;\n\t__be32 h_len;\n\t__be16 h_sport;\n\t__be16 h_dport;\n\tu8 h_flags;\n\tu8 h_credit;\n\tu8 h_padding[4];\n\t__sum16 h_csum;\n\tu8 h_exthdr[16];\n};\n\nstruct rds_inc_usercopy {\n\trds_rdma_cookie_t rdma_cookie;\n\tktime_t rx_tstamp;\n};\n\nstruct rds_incoming {\n\trefcount_t i_refcount;\n\tstruct list_head i_item;\n\tstruct rds_connection *i_conn;\n\tstruct rds_conn_path *i_conn_path;\n\tstruct rds_header i_hdr;\n\tlong unsigned int i_rx_jiffies;\n\tstruct in6_addr i_saddr;\n\tstruct rds_inc_usercopy i_usercopy;\n\tu64 i_rx_lat_trace[4];\n};\n\nstruct rds_info_connection {\n\t__u64 next_tx_seq;\n\t__u64 next_rx_seq;\n\t__be32 laddr;\n\t__be32 faddr;\n\t__u8 transport[16];\n\t__u8 flags;\n\t__u8 tos;\n} __attribute__((packed));\n\nstruct rds_info_counter {\n\t__u8 name[32];\n\t__u64 value;\n};\n\nstruct rds_info_iterator {\n\tstruct page **pages;\n\tvoid *addr;\n\tlong unsigned int offset;\n};\n\nstruct rds_info_lengths {\n\tunsigned int nr;\n\tunsigned int each;\n};\n\nstruct rds_info_message {\n\t__u64 seq;\n\t__u32 len;\n\t__be32 laddr;\n\t__be32 faddr;\n\t__be16 lport;\n\t__be16 fport;\n\t__u8 flags;\n\t__u8 tos;\n} __attribute__((packed));\n\nstruct rds_info_socket {\n\t__u32 sndbuf;\n\t__be32 bound_addr;\n\t__be32 connected_addr;\n\t__be16 bound_port;\n\t__be16 connected_port;\n\t__u32 rcvbuf;\n\t__u64 inum;\n} __attribute__((packed));\n\nstruct rds_iov_vector {\n\tstruct rds_iovec *iov;\n\tint len;\n};\n\nstruct rds_iov_vector_arr {\n\tstruct rds_iov_vector *vec;\n\tint len;\n\tint indx;\n\tint incr;\n};\n\nstruct rds_loop_connection {\n\tstruct list_head loop_node;\n\tstruct rds_connection *conn;\n};\n\nstruct rds_notifier;\n\nstruct rds_mr;\n\nstruct rm_atomic_op {\n\tint op_type;\n\tunion {\n\t\tstruct {\n\t\t\tuint64_t compare;\n\t\t\tuint64_t swap;\n\t\t\tuint64_t compare_mask;\n\t\t\tuint64_t swap_mask;\n\t\t} op_m_cswp;\n\t\tstruct {\n\t\t\tuint64_t add;\n\t\t\tuint64_t nocarry_mask;\n\t\t} op_m_fadd;\n\t};\n\tu32 op_rkey;\n\tu64 op_remote_addr;\n\tunsigned int op_notify: 1;\n\tunsigned int op_recverr: 1;\n\tunsigned int op_mapped: 1;\n\tunsigned int op_silent: 1;\n\tunsigned int op_active: 1;\n\tstruct scatterlist *op_sg;\n\tstruct rds_notifier *op_notifier;\n\tstruct rds_mr *op_rdma_mr;\n};\n\nstruct rm_rdma_op {\n\tu32 op_rkey;\n\tu64 op_remote_addr;\n\tunsigned int op_write: 1;\n\tunsigned int op_fence: 1;\n\tunsigned int op_notify: 1;\n\tunsigned int op_recverr: 1;\n\tunsigned int op_mapped: 1;\n\tunsigned int op_silent: 1;\n\tunsigned int op_active: 1;\n\tunsigned int op_bytes;\n\tunsigned int op_nents;\n\tunsigned int op_count;\n\tstruct scatterlist *op_sg;\n\tstruct rds_notifier *op_notifier;\n\tstruct rds_mr *op_rdma_mr;\n\tu64 op_odp_addr;\n\tstruct rds_mr *op_odp_mr;\n};\n\nstruct rds_znotifier;\n\nstruct rm_data_op {\n\tunsigned int op_active: 1;\n\tunsigned int op_nents;\n\tunsigned int op_count;\n\tunsigned int op_dmasg;\n\tunsigned int op_dmaoff;\n\tstruct rds_znotifier *op_mmp_znotifier;\n\tstruct scatterlist *op_sg;\n};\n\nstruct rds_sock;\n\nstruct rds_message {\n\trefcount_t m_refcount;\n\tstruct list_head m_sock_item;\n\tstruct list_head m_conn_item;\n\tstruct rds_incoming m_inc;\n\tu64 m_ack_seq;\n\tstruct in6_addr m_daddr;\n\tlong unsigned int m_flags;\n\tspinlock_t m_rs_lock;\n\twait_queue_head_t m_flush_wait;\n\tstruct rds_sock *m_rs;\n\trds_rdma_cookie_t m_rdma_cookie;\n\tunsigned int m_used_sgs;\n\tunsigned int m_total_sgs;\n\tvoid *m_final_op;\n\tstruct {\n\t\tstruct rm_atomic_op atomic;\n\t\tstruct rm_rdma_op rdma;\n\t\tstruct rm_data_op data;\n\t};\n\tstruct rds_conn_path *m_conn_path;\n};\n\nstruct rds_mr {\n\tstruct rb_node r_rb_node;\n\tstruct kref r_kref;\n\tu32 r_key;\n\tunsigned int r_use_once: 1;\n\tunsigned int r_invalidate: 1;\n\tunsigned int r_write: 1;\n\tstruct rds_sock *r_sock;\n\tstruct rds_transport *r_trans;\n\tvoid *r_trans_private;\n};\n\nstruct rds_znotifier {\n\tstruct mmpin z_mmp;\n\tu32 z_cookie;\n};\n\nstruct rds_zcopy_cookies {\n\t__u32 num;\n\t__u32 cookies[8];\n};\n\nstruct rds_msg_zcopy_info {\n\tstruct list_head rs_zcookie_next;\n\tunion {\n\t\tstruct rds_znotifier znotif;\n\t\tstruct rds_zcopy_cookies zcookies;\n\t};\n};\n\nstruct rds_msg_zcopy_queue {\n\tstruct list_head zcookie_head;\n\tspinlock_t lock;\n};\n\nstruct rds_notifier {\n\tstruct list_head n_list;\n\tuint64_t n_user_token;\n\tint n_status;\n};\n\nstruct rds_page_remainder {\n\tstruct page *r_page;\n\tlong unsigned int r_offset;\n};\n\nstruct rds_rdma_args {\n\trds_rdma_cookie_t cookie;\n\tstruct rds_iovec remote_vec;\n\t__u64 local_vec_addr;\n\t__u64 nr_local;\n\t__u64 flags;\n\t__u64 user_token;\n};\n\nstruct rds_rdma_notify {\n\t__u64 user_token;\n\t__s32 status;\n};\n\nstruct rds_rx_trace_so {\n\t__u8 rx_traces;\n\t__u8 rx_trace_pos[3];\n};\n\nstruct rds_sock {\n\tstruct sock rs_sk;\n\tu64 rs_user_addr;\n\tu64 rs_user_bytes;\n\tstruct rhash_head rs_bound_node;\n\tu8 rs_bound_key[22];\n\tstruct sockaddr_in6 rs_bound_sin6;\n\tstruct in6_addr rs_conn_addr;\n\t__be16 rs_conn_port;\n\tstruct rds_transport *rs_transport;\n\tstruct rds_connection *rs_conn;\n\tint rs_congested;\n\tint rs_seen_congestion;\n\tspinlock_t rs_lock;\n\tstruct list_head rs_send_queue;\n\tu32 rs_snd_bytes;\n\tint rs_rcv_bytes;\n\tstruct list_head rs_notify_queue;\n\tuint64_t rs_cong_mask;\n\tuint64_t rs_cong_notify;\n\tstruct list_head rs_cong_list;\n\tlong unsigned int rs_cong_track;\n\trwlock_t rs_recv_lock;\n\tstruct list_head rs_recv_queue;\n\tstruct list_head rs_item;\n\tspinlock_t rs_rdma_lock;\n\tstruct rb_root rs_rdma_keys;\n\tunsigned char rs_recverr;\n\tunsigned char rs_cong_monitor;\n\tu32 rs_hash_initval;\n\tu8 rs_rx_traces;\n\tu8 rs_rx_trace[3];\n\tstruct rds_msg_zcopy_queue rs_zcookie_queue;\n\tu8 rs_tos;\n};\n\nstruct rds_statistics {\n\tuint64_t s_conn_reset;\n\tuint64_t s_recv_drop_bad_checksum;\n\tuint64_t s_recv_drop_old_seq;\n\tuint64_t s_recv_drop_no_sock;\n\tuint64_t s_recv_drop_dead_sock;\n\tuint64_t s_recv_deliver_raced;\n\tuint64_t s_recv_delivered;\n\tuint64_t s_recv_queued;\n\tuint64_t s_recv_immediate_retry;\n\tuint64_t s_recv_delayed_retry;\n\tuint64_t s_recv_ack_required;\n\tuint64_t s_recv_rdma_bytes;\n\tuint64_t s_recv_ping;\n\tuint64_t s_send_queue_empty;\n\tuint64_t s_send_queue_full;\n\tuint64_t s_send_lock_contention;\n\tuint64_t s_send_lock_queue_raced;\n\tuint64_t s_send_immediate_retry;\n\tuint64_t s_send_delayed_retry;\n\tuint64_t s_send_drop_acked;\n\tuint64_t s_send_ack_required;\n\tuint64_t s_send_queued;\n\tuint64_t s_send_rdma;\n\tuint64_t s_send_rdma_bytes;\n\tuint64_t s_send_pong;\n\tuint64_t s_page_remainder_hit;\n\tuint64_t s_page_remainder_miss;\n\tuint64_t s_copy_to_user;\n\tuint64_t s_copy_from_user;\n\tuint64_t s_cong_update_queued;\n\tuint64_t s_cong_update_received;\n\tuint64_t s_cong_send_error;\n\tuint64_t s_cong_send_blocked;\n\tuint64_t s_recv_bytes_added_to_socket;\n\tuint64_t s_recv_bytes_removed_from_socket;\n\tuint64_t s_send_stuck_rm;\n};\n\nstruct rds_transport {\n\tchar t_name[16];\n\tstruct list_head t_item;\n\tstruct module *t_owner;\n\tunsigned int t_prefer_loopback: 1;\n\tunsigned int t_mp_capable: 1;\n\tunsigned int t_type;\n\tint (*laddr_check)(struct net *, const struct in6_addr *, __u32);\n\tint (*conn_alloc)(struct rds_connection *, gfp_t);\n\tvoid (*conn_free)(void *);\n\tint (*conn_path_connect)(struct rds_conn_path *);\n\tvoid (*conn_path_shutdown)(struct rds_conn_path *);\n\tvoid (*xmit_path_prepare)(struct rds_conn_path *);\n\tvoid (*xmit_path_complete)(struct rds_conn_path *);\n\tint (*xmit)(struct rds_connection *, struct rds_message *, unsigned int, unsigned int, unsigned int);\n\tint (*xmit_rdma)(struct rds_connection *, struct rm_rdma_op *);\n\tint (*xmit_atomic)(struct rds_connection *, struct rm_atomic_op *);\n\tint (*recv_path)(struct rds_conn_path *);\n\tint (*inc_copy_to_user)(struct rds_incoming *, struct iov_iter *);\n\tvoid (*inc_free)(struct rds_incoming *);\n\tint (*cm_handle_connect)(struct rdma_cm_id *, struct rdma_cm_event *, bool);\n\tint (*cm_initiate_connect)(struct rdma_cm_id *, bool);\n\tvoid (*cm_connect_complete)(struct rds_connection *, struct rdma_cm_event *);\n\tunsigned int (*stats_info_copy)(struct rds_info_iterator *, unsigned int);\n\tvoid (*exit)(void);\n\tvoid * (*get_mr)(struct scatterlist *, long unsigned int, struct rds_sock *, u32 *, struct rds_connection *, u64, u64, int);\n\tvoid (*sync_mr)(void *, int);\n\tvoid (*free_mr)(void *, int);\n\tvoid (*flush_mrs)(void);\n\tbool (*t_unloading)(struct rds_connection *);\n\tu8 (*get_tos_map)(u8);\n};\n\nstruct read_plus_segment {\n\tenum data_content4 type;\n\tuint64_t offset;\n\tunion {\n\t\tstruct {\n\t\t\tuint64_t length;\n\t\t} hole;\n\t\tstruct {\n\t\t\tuint32_t length;\n\t\t\tunsigned int from;\n\t\t} data;\n\t};\n};\n\nstruct readahead_control {\n\tstruct file *file;\n\tstruct address_space *mapping;\n\tstruct file_ra_state *ra;\n\tlong unsigned int _index;\n\tunsigned int _nr_pages;\n\tunsigned int _batch_count;\n\tbool dropbehind;\n\tbool _workingset;\n\tlong unsigned int _pflags;\n};\n\nstruct readdir_data {\n\tstruct dir_context ctx;\n\tchar *dirent;\n\tsize_t used;\n\tint full;\n};\n\nstruct reboot_mode_driver {\n\tstruct device *dev;\n\tstruct list_head head;\n\tint (*write)(struct reboot_mode_driver *, unsigned int);\n\tstruct notifier_block reboot_notifier;\n};\n\nstruct reciprocal_value_adv {\n\tu32 m;\n\tu8 sh;\n\tu8 exp;\n\tbool is_wide_m;\n};\n\nstruct reclaim_stat {\n\tunsigned int nr_dirty;\n\tunsigned int nr_unqueued_dirty;\n\tunsigned int nr_congested;\n\tunsigned int nr_writeback;\n\tunsigned int nr_immediate;\n\tunsigned int nr_pageout;\n\tunsigned int nr_activate[2];\n\tunsigned int nr_ref_keep;\n\tunsigned int nr_unmap_fail;\n\tunsigned int nr_lazyfree_fail;\n\tunsigned int nr_demoted;\n};\n\nstruct reclaim_state {\n\tlong unsigned int reclaimed;\n};\n\nstruct recorded_ref {\n\tstruct list_head list;\n\tchar *name;\n\tstruct fs_path *full_path;\n\tu64 dir;\n\tu64 dir_gen;\n\tint name_len;\n\tstruct rb_node node;\n\tstruct rb_root *root;\n};\n\nstruct recovery_info {\n\ttid_t start_transaction;\n\ttid_t end_transaction;\n\tlong unsigned int head_block;\n\tint nr_replays;\n\tint nr_revokes;\n\tint nr_revoke_hits;\n};\n\nstruct referring_call {\n\tuint32_t rc_sequenceid;\n\tuint32_t rc_slotid;\n};\n\nstruct referring_call_list {\n\tstruct nfs4_sessionid rcl_sessionid;\n\tuint32_t rcl_nrefcalls;\n\tstruct referring_call *rcl_refcalls;\n};\n\nstruct reg_default {\n\tunsigned int reg;\n\tunsigned int def;\n};\n\nstruct reg_field {\n\tunsigned int reg;\n\tunsigned int lsb;\n\tunsigned int msb;\n\tunsigned int id_size;\n\tunsigned int id_offset;\n};\n\nunion reg_phy_cfg {\n\tu32 v;\n\tstruct {\n\t\tu32 phy_reset: 1;\n\t\tu32 sas_support: 1;\n\t\tu32 sata_support: 1;\n\t\tu32 sata_host_mode: 1;\n\t\tu32 speed_support: 3;\n\t\tu32 snw_3_support: 1;\n\t\tu32 tx_lnk_parity: 1;\n\t\tu32 tx_spt_phs_lnk_rate: 6;\n\t\tu32 tx_lgcl_lnk_rate: 4;\n\t\tu32 tx_ssc_type: 1;\n\t\tu32 sata_spin_up_spt: 1;\n\t\tu32 sata_spin_up_en: 1;\n\t\tu32 bypass_oob: 1;\n\t\tu32 disable_phy: 1;\n\t\tu32 rsvd: 8;\n\t} u;\n};\n\nstruct reg_sequence {\n\tunsigned int reg;\n\tunsigned int def;\n\tunsigned int delay_us;\n};\n\nstruct regcache_ops {\n\tconst char *name;\n\tenum regcache_type type;\n\tint (*init)(struct regmap *);\n\tint (*exit)(struct regmap *);\n\tvoid (*debugfs_init)(struct regmap *);\n\tint (*read)(struct regmap *, unsigned int, unsigned int *);\n\tint (*write)(struct regmap *, unsigned int, unsigned int);\n\tint (*sync)(struct regmap *, unsigned int, unsigned int);\n\tint (*drop)(struct regmap *, unsigned int, unsigned int);\n};\n\nstruct regcache_rbtree_node;\n\nstruct regcache_rbtree_ctx {\n\tstruct rb_root root;\n\tstruct regcache_rbtree_node *cached_rbnode;\n};\n\nstruct regcache_rbtree_node {\n\tvoid *block;\n\tlong unsigned int *cache_present;\n\tunsigned int base_reg;\n\tunsigned int blklen;\n\tstruct rb_node node;\n};\n\ntypedef int (*regex_match_func)(char *, struct regex *, int);\n\nstruct regex {\n\tchar pattern[256];\n\tint len;\n\tint field_len;\n\tregex_match_func match;\n};\n\nstruct region {\n\tunsigned int start;\n\tunsigned int off;\n\tunsigned int group_len;\n\tunsigned int end;\n\tunsigned int nbits;\n};\n\nstruct region_devres {\n\tstruct resource *parent;\n\tresource_size_t start;\n\tresource_size_t n;\n};\n\ntypedef void (*regmap_lock)(void *);\n\ntypedef void (*regmap_unlock)(void *);\n\nstruct regmap_format {\n\tsize_t buf_size;\n\tsize_t reg_bytes;\n\tsize_t pad_bytes;\n\tsize_t val_bytes;\n\ts8 reg_shift;\n\tvoid (*format_write)(struct regmap *, unsigned int, unsigned int);\n\tvoid (*format_reg)(void *, unsigned int, unsigned int);\n\tvoid (*format_val)(void *, unsigned int, unsigned int);\n\tunsigned int (*parse_val)(const void *);\n\tvoid (*parse_inplace)(void *);\n};\n\nstruct hwspinlock;\n\nstruct regmap_bus;\n\nstruct regmap_access_table;\n\nstruct regmap {\n\tunion {\n\t\tstruct mutex mutex;\n\t\tstruct {\n\t\t\tspinlock_t spinlock;\n\t\t\tlong unsigned int spinlock_flags;\n\t\t};\n\t\tstruct {\n\t\t\traw_spinlock_t raw_spinlock;\n\t\t\tlong unsigned int raw_spinlock_flags;\n\t\t};\n\t};\n\tstruct lock_class_key *lock_key;\n\tregmap_lock lock;\n\tregmap_unlock unlock;\n\tvoid *lock_arg;\n\tgfp_t alloc_flags;\n\tunsigned int reg_base;\n\tstruct device *dev;\n\tvoid *work_buf;\n\tstruct regmap_format format;\n\tconst struct regmap_bus *bus;\n\tvoid *bus_context;\n\tconst char *name;\n\tbool async;\n\tspinlock_t async_lock;\n\twait_queue_head_t async_waitq;\n\tstruct list_head async_list;\n\tstruct list_head async_free;\n\tint async_ret;\n\tbool debugfs_disable;\n\tstruct dentry *debugfs;\n\tconst char *debugfs_name;\n\tunsigned int debugfs_reg_len;\n\tunsigned int debugfs_val_len;\n\tunsigned int debugfs_tot_len;\n\tstruct list_head debugfs_off_cache;\n\tstruct mutex cache_lock;\n\tunsigned int max_register;\n\tbool max_register_is_set;\n\tbool (*writeable_reg)(struct device *, unsigned int);\n\tbool (*readable_reg)(struct device *, unsigned int);\n\tbool (*volatile_reg)(struct device *, unsigned int);\n\tbool (*precious_reg)(struct device *, unsigned int);\n\tbool (*writeable_noinc_reg)(struct device *, unsigned int);\n\tbool (*readable_noinc_reg)(struct device *, unsigned int);\n\tconst struct regmap_access_table *wr_table;\n\tconst struct regmap_access_table *rd_table;\n\tconst struct regmap_access_table *volatile_table;\n\tconst struct regmap_access_table *precious_table;\n\tconst struct regmap_access_table *wr_noinc_table;\n\tconst struct regmap_access_table *rd_noinc_table;\n\tint (*reg_read)(void *, unsigned int, unsigned int *);\n\tint (*reg_write)(void *, unsigned int, unsigned int);\n\tint (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\tint (*read)(void *, const void *, size_t, void *, size_t);\n\tint (*write)(void *, const void *, size_t);\n\tbool defer_caching;\n\tlong unsigned int read_flag_mask;\n\tlong unsigned int write_flag_mask;\n\tint reg_shift;\n\tint reg_stride;\n\tint reg_stride_order;\n\tbool force_write_field;\n\tconst struct regcache_ops *cache_ops;\n\tenum regcache_type cache_type;\n\tunsigned int cache_size_raw;\n\tunsigned int cache_word_size;\n\tunsigned int num_reg_defaults;\n\tunsigned int num_reg_defaults_raw;\n\tbool cache_only;\n\tbool cache_bypass;\n\tbool cache_free;\n\tstruct reg_default *reg_defaults;\n\tconst void *reg_defaults_raw;\n\tvoid *cache;\n\tbool cache_dirty;\n\tbool no_sync_defaults;\n\tstruct reg_sequence *patch;\n\tint patch_regs;\n\tbool use_single_read;\n\tbool use_single_write;\n\tbool can_multi_write;\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n\tstruct rb_root range_tree;\n\tvoid *selector_work_buf;\n\tstruct hwspinlock *hwlock;\n\tbool can_sleep;\n};\n\nstruct regmap_range;\n\nstruct regmap_access_table {\n\tconst struct regmap_range *yes_ranges;\n\tunsigned int n_yes_ranges;\n\tconst struct regmap_range *no_ranges;\n\tunsigned int n_no_ranges;\n};\n\nstruct regmap_async {\n\tstruct list_head list;\n\tstruct regmap *map;\n\tvoid *work_buf;\n};\n\ntypedef int (*regmap_hw_write)(void *, const void *, size_t);\n\ntypedef int (*regmap_hw_gather_write)(void *, const void *, size_t, const void *, size_t);\n\ntypedef int (*regmap_hw_async_write)(void *, const void *, size_t, const void *, size_t, struct regmap_async *);\n\ntypedef int (*regmap_hw_reg_write)(void *, unsigned int, unsigned int);\n\ntypedef int (*regmap_hw_reg_noinc_write)(void *, unsigned int, const void *, size_t);\n\ntypedef int (*regmap_hw_reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\ntypedef int (*regmap_hw_read)(void *, const void *, size_t, void *, size_t);\n\ntypedef int (*regmap_hw_reg_read)(void *, unsigned int, unsigned int *);\n\ntypedef int (*regmap_hw_reg_noinc_read)(void *, unsigned int, void *, size_t);\n\ntypedef void (*regmap_hw_free_context)(void *);\n\ntypedef struct regmap_async * (*regmap_hw_async_alloc)(void);\n\nstruct regmap_bus {\n\tbool fast_io;\n\tbool free_on_exit;\n\tregmap_hw_write write;\n\tregmap_hw_gather_write gather_write;\n\tregmap_hw_async_write async_write;\n\tregmap_hw_reg_write reg_write;\n\tregmap_hw_reg_noinc_write reg_noinc_write;\n\tregmap_hw_reg_update_bits reg_update_bits;\n\tregmap_hw_read read;\n\tregmap_hw_reg_read reg_read;\n\tregmap_hw_reg_noinc_read reg_noinc_read;\n\tregmap_hw_free_context free_context;\n\tregmap_hw_async_alloc async_alloc;\n\tu8 read_flag_mask;\n\tenum regmap_endian reg_format_endian_default;\n\tenum regmap_endian val_format_endian_default;\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n};\n\nstruct regmap_range_cfg;\n\nstruct regmap_config {\n\tconst char *name;\n\tint reg_bits;\n\tint reg_stride;\n\tint reg_shift;\n\tunsigned int reg_base;\n\tint pad_bits;\n\tint val_bits;\n\tbool (*writeable_reg)(struct device *, unsigned int);\n\tbool (*readable_reg)(struct device *, unsigned int);\n\tbool (*volatile_reg)(struct device *, unsigned int);\n\tbool (*precious_reg)(struct device *, unsigned int);\n\tbool (*writeable_noinc_reg)(struct device *, unsigned int);\n\tbool (*readable_noinc_reg)(struct device *, unsigned int);\n\tint (*reg_read)(void *, unsigned int, unsigned int *);\n\tint (*reg_write)(void *, unsigned int, unsigned int);\n\tint (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\tint (*read)(void *, const void *, size_t, void *, size_t);\n\tint (*write)(void *, const void *, size_t);\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n\tbool can_sleep;\n\tbool fast_io;\n\tbool io_port;\n\tbool disable_locking;\n\tregmap_lock lock;\n\tregmap_unlock unlock;\n\tvoid *lock_arg;\n\tunsigned int max_register;\n\tbool max_register_is_0;\n\tconst struct regmap_access_table *wr_table;\n\tconst struct regmap_access_table *rd_table;\n\tconst struct regmap_access_table *volatile_table;\n\tconst struct regmap_access_table *precious_table;\n\tconst struct regmap_access_table *wr_noinc_table;\n\tconst struct regmap_access_table *rd_noinc_table;\n\tconst struct reg_default *reg_defaults;\n\tunsigned int num_reg_defaults;\n\tenum regcache_type cache_type;\n\tconst void *reg_defaults_raw;\n\tunsigned int num_reg_defaults_raw;\n\tlong unsigned int read_flag_mask;\n\tlong unsigned int write_flag_mask;\n\tbool zero_flag_mask;\n\tbool use_single_read;\n\tbool use_single_write;\n\tbool use_relaxed_mmio;\n\tbool can_multi_write;\n\tbool use_hwlock;\n\tbool use_raw_spinlock;\n\tunsigned int hwlock_id;\n\tunsigned int hwlock_mode;\n\tenum regmap_endian reg_format_endian;\n\tenum regmap_endian val_format_endian;\n\tconst struct regmap_range_cfg *ranges;\n\tunsigned int num_ranges;\n};\n\nstruct regmap_debugfs_node {\n\tstruct regmap *map;\n\tstruct list_head link;\n};\n\nstruct regmap_debugfs_off_cache {\n\tstruct list_head list;\n\toff_t min;\n\toff_t max;\n\tunsigned int base_reg;\n\tunsigned int max_reg;\n};\n\nstruct regmap_field {\n\tstruct regmap *regmap;\n\tunsigned int mask;\n\tunsigned int shift;\n\tunsigned int reg;\n\tunsigned int id_size;\n\tunsigned int id_offset;\n};\n\nstruct regmap_mmio_context {\n\tvoid *regs;\n\tunsigned int val_bytes;\n\tbool big_endian;\n\tbool attached_clk;\n\tstruct clk *clk;\n\tvoid (*reg_write)(struct regmap_mmio_context *, unsigned int, unsigned int);\n\tunsigned int (*reg_read)(struct regmap_mmio_context *, unsigned int);\n};\n\nstruct regmap_range {\n\tunsigned int range_min;\n\tunsigned int range_max;\n};\n\nstruct regmap_range_cfg {\n\tconst char *name;\n\tunsigned int range_min;\n\tunsigned int range_max;\n\tunsigned int selector_reg;\n\tunsigned int selector_mask;\n\tint selector_shift;\n\tunsigned int window_start;\n\tunsigned int window_len;\n};\n\nstruct regmap_range_node {\n\tstruct rb_node node;\n\tconst char *name;\n\tstruct regmap *map;\n\tunsigned int range_min;\n\tunsigned int range_max;\n\tunsigned int selector_reg;\n\tunsigned int selector_mask;\n\tint selector_shift;\n\tunsigned int window_start;\n\tunsigned int window_len;\n};\n\nstruct regulatory_request {\n\tstruct callback_head callback_head;\n\tint wiphy_idx;\n\tenum nl80211_reg_initiator initiator;\n\tenum nl80211_user_reg_hint_type user_reg_hint_type;\n\tchar alpha2[3];\n\tenum nl80211_dfs_regions dfs_region;\n\tbool intersect;\n\tbool processed;\n\tenum environment_cap country_ie_env;\n\tstruct list_head list;\n};\n\nstruct rela_la_abs {\n\tlong int pc;\n\tlong int symvalue;\n};\n\nstruct reloc_control {\n\tstruct btrfs_block_group *block_group;\n\tstruct btrfs_root *extent_root;\n\tstruct inode *data_inode;\n\tstruct btrfs_block_rsv *block_rsv;\n\tstruct btrfs_backref_cache backref_cache;\n\tstruct file_extent_cluster cluster;\n\tstruct extent_io_tree processed_blocks;\n\tstruct mapping_tree reloc_root_tree;\n\tstruct list_head reloc_roots;\n\tstruct list_head dirty_subvol_roots;\n\tu64 merging_rsv_size;\n\tu64 nodes_relocated;\n\tu64 reserved_bytes;\n\tu64 search_start;\n\tu64 extents_found;\n\tenum reloc_stage stage;\n\tbool create_reloc_tree;\n\tbool merge_reloc_tree;\n\tbool found_file_extent;\n};\n\ntypedef int (*remote_function_f)(void *);\n\nstruct remote_function_call {\n\tstruct task_struct *p;\n\tremote_function_f func;\n\tvoid *info;\n\tint ret;\n};\n\nstruct remote_output {\n\tstruct perf_buffer *rb;\n\tint err;\n};\n\nstruct renamedata {\n\tstruct mnt_idmap *old_mnt_idmap;\n\tstruct inode *old_dir;\n\tstruct dentry *old_dentry;\n\tstruct mnt_idmap *new_mnt_idmap;\n\tstruct inode *new_dir;\n\tstruct dentry *new_dentry;\n\tstruct inode **delegated_inode;\n\tunsigned int flags;\n};\n\nstruct rep_manu_reply {\n\tu8 smp_frame_type;\n\tu8 function;\n\tu8 function_result;\n\tu8 response_length;\n\tu16 expander_change_count;\n\tu8 reserved0[2];\n\tu8 sas_format;\n\tu8 reserved2[3];\n\tu8 vendor_id[8];\n\tu8 product_id[16];\n\tu8 product_rev[4];\n\tu8 component_vendor_id[8];\n\tu16 component_id;\n\tu8 component_revision_id;\n\tu8 reserved3;\n\tu8 vendor_specific[8];\n};\n\nstruct rep_manu_request {\n\tu8 smp_frame_type;\n\tu8 function;\n\tu8 reserved;\n\tu8 request_length;\n};\n\nstruct repcodes_s {\n\tU32 rep[3];\n};\n\ntypedef struct repcodes_s repcodes_t;\n\nunion reply_descriptor {\n\tu64 word;\n\tstruct {\n\t\tu32 low;\n\t\tu32 high;\n\t} u;\n};\n\nstruct reply_post_struct {\n\tMpi2ReplyDescriptorsUnion_t *reply_post_free;\n\tdma_addr_t reply_post_free_dma;\n};\n\nstruct report_general_resp {\n\t__be16 change_count;\n\t__be16 route_indexes;\n\tu8 _r_a;\n\tu8 num_phys;\n\tu8 conf_route_table: 1;\n\tu8 configuring: 1;\n\tu8 config_others: 1;\n\tu8 orej_retry_supp: 1;\n\tu8 stp_cont_awt: 1;\n\tu8 self_config: 1;\n\tu8 zone_config: 1;\n\tu8 t2t_supp: 1;\n\tu8 _r_c;\n\tu8 enclosure_logical_id[8];\n\tu8 _r_d[12];\n};\n\nstruct req {\n\tstruct req *next;\n\tstruct completion done;\n\tint err;\n\tconst char *name;\n\tumode_t mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct device *dev;\n};\n\nstruct req_iterator {\n\tstruct bvec_iter iter;\n\tstruct bio *bio;\n};\n\ntypedef enum rq_end_io_ret rq_end_io_fn(struct request *, blk_status_t);\n\nstruct request {\n\tstruct request_queue *q;\n\tstruct blk_mq_ctx *mq_ctx;\n\tstruct blk_mq_hw_ctx *mq_hctx;\n\tblk_opf_t cmd_flags;\n\treq_flags_t rq_flags;\n\tint tag;\n\tint internal_tag;\n\tunsigned int timeout;\n\tunsigned int __data_len;\n\tsector_t __sector;\n\tstruct bio *bio;\n\tstruct bio *biotail;\n\tunion {\n\t\tstruct list_head queuelist;\n\t\tstruct request *rq_next;\n\t};\n\tstruct block_device *part;\n\tu64 alloc_time_ns;\n\tu64 start_time_ns;\n\tu64 io_start_time_ns;\n\tshort unsigned int wbt_flags;\n\tshort unsigned int stats_sectors;\n\tshort unsigned int nr_phys_segments;\n\tshort unsigned int nr_integrity_segments;\n\tstruct bio_crypt_ctx *crypt_ctx;\n\tstruct blk_crypto_keyslot *crypt_keyslot;\n\tenum mq_rq_state state;\n\tatomic_t ref;\n\tlong unsigned int deadline;\n\tunion {\n\t\tstruct hlist_node hash;\n\t\tstruct llist_node ipi_list;\n\t};\n\tunion {\n\t\tstruct rb_node rb_node;\n\t\tstruct bio_vec special_vec;\n\t};\n\tstruct {\n\t\tstruct io_cq *icq;\n\t\tvoid *priv[2];\n\t} elv;\n\tstruct {\n\t\tunsigned int seq;\n\t\trq_end_io_fn *saved_end_io;\n\t} flush;\n\tu64 fifo_time;\n\trq_end_io_fn *end_io;\n\tvoid *end_io_data;\n};\n\nstruct request_key_auth {\n\tstruct callback_head rcu;\n\tstruct key *target_key;\n\tstruct key *dest_keyring;\n\tconst struct cred *cred;\n\tvoid *callout_info;\n\tsize_t callout_len;\n\tpid_t pid;\n\tchar op[8];\n};\n\nstruct throtl_data;\n\nstruct request_queue {\n\tvoid *queuedata;\n\tstruct elevator_queue *elevator;\n\tconst struct blk_mq_ops *mq_ops;\n\tstruct blk_mq_ctx *queue_ctx;\n\tlong unsigned int queue_flags;\n\tunsigned int rq_timeout;\n\tunsigned int queue_depth;\n\trefcount_t refs;\n\tunsigned int nr_hw_queues;\n\tstruct xarray hctx_table;\n\tstruct percpu_ref q_usage_counter;\n\tstruct lock_class_key io_lock_cls_key;\n\tstruct lockdep_map io_lockdep_map;\n\tstruct lock_class_key q_lock_cls_key;\n\tstruct lockdep_map q_lockdep_map;\n\tstruct request *last_merge;\n\tspinlock_t queue_lock;\n\tint quiesce_depth;\n\tstruct gendisk *disk;\n\tstruct kobject *mq_kobj;\n\tstruct queue_limits limits;\n\tstruct device *dev;\n\tenum rpm_status rpm_status;\n\tatomic_t pm_only;\n\tstruct blk_queue_stats *stats;\n\tstruct rq_qos *rq_qos;\n\tstruct mutex rq_qos_mutex;\n\tint id;\n\tlong unsigned int nr_requests;\n\tstruct blk_crypto_profile *crypto_profile;\n\tstruct kobject *crypto_kobject;\n\tstruct timer_list timeout;\n\tstruct work_struct timeout_work;\n\tatomic_t nr_active_requests_shared_tags;\n\tstruct blk_mq_tags *sched_shared_tags;\n\tstruct list_head icq_list;\n\tlong unsigned int blkcg_pols[1];\n\tstruct blkcg_gq *root_blkg;\n\tstruct list_head blkg_list;\n\tstruct mutex blkcg_mutex;\n\tint node;\n\tspinlock_t requeue_lock;\n\tstruct list_head requeue_list;\n\tstruct delayed_work requeue_work;\n\tstruct blk_flush_queue *fq;\n\tstruct list_head flush_list;\n\tstruct mutex sysfs_lock;\n\tstruct mutex limits_lock;\n\tstruct list_head unused_hctx_list;\n\tspinlock_t unused_hctx_lock;\n\tint mq_freeze_depth;\n\tstruct throtl_data *td;\n\tstruct callback_head callback_head;\n\twait_queue_head_t mq_freeze_wq;\n\tstruct mutex mq_freeze_lock;\n\tstruct blk_mq_tag_set *tag_set;\n\tstruct list_head tag_set_list;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *sched_debugfs_dir;\n\tstruct dentry *rqos_debugfs_dir;\n\tstruct mutex debugfs_mutex;\n};\n\nstruct request_sense {\n\t__u8 error_code: 7;\n\t__u8 valid: 1;\n\t__u8 segment_number;\n\t__u8 sense_key: 4;\n\t__u8 reserved2: 1;\n\t__u8 ili: 1;\n\t__u8 reserved1: 2;\n\t__u8 information[4];\n\t__u8 add_sense_len;\n\t__u8 command_info[4];\n\t__u8 asc;\n\t__u8 ascq;\n\t__u8 fruc;\n\t__u8 sks[3];\n\t__u8 asb[46];\n};\n\nstruct request_sock__safe_rcu_or_null {\n\tstruct sock *sk;\n};\n\nstruct request_sock_ops {\n\tint family;\n\tunsigned int obj_size;\n\tstruct kmem_cache *slab;\n\tchar *slab_name;\n\tint (*rtx_syn_ack)(const struct sock *, struct request_sock *);\n\tvoid (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *);\n\tvoid (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason);\n\tvoid (*destructor)(struct request_sock *);\n\tvoid (*syn_ack_timeout)(const struct request_sock *);\n};\n\nstruct request_tracker {\n\tu16 smid;\n\tu8 cb_idx;\n\tstruct list_head tracker_list;\n};\n\nstruct res_proc_context {\n\tstruct list_head *list;\n\tint (*preproc)(struct acpi_resource *, void *);\n\tvoid *preproc_data;\n\tint count;\n\tint error;\n};\n\nstruct reserve_mem_table {\n\tchar name[16];\n\tphys_addr_t start;\n\tphys_addr_t size;\n};\n\nstruct reserve_ticket {\n\tu64 bytes;\n\tint error;\n\tbool steal;\n\tstruct list_head list;\n\twait_queue_head_t wait;\n};\n\nstruct reserved_mem_ops;\n\nstruct reserved_mem {\n\tconst char *name;\n\tlong unsigned int fdt_node;\n\tconst struct reserved_mem_ops *ops;\n\tphys_addr_t base;\n\tphys_addr_t size;\n\tvoid *priv;\n};\n\nstruct reserved_mem_ops {\n\tint (*device_init)(struct reserved_mem *, struct device *);\n\tvoid (*device_release)(struct reserved_mem *, struct device *);\n};\n\nstruct reset_controller_dev;\n\nstruct reset_control {\n\tstruct reset_controller_dev *rcdev;\n\tstruct list_head list;\n\tunsigned int id;\n\tstruct kref refcnt;\n\tbool acquired;\n\tbool shared;\n\tbool array;\n\tatomic_t deassert_count;\n\tatomic_t triggered_count;\n};\n\nstruct reset_control_array {\n\tstruct reset_control base;\n\tunsigned int num_rstcs;\n\tstruct reset_control *rstc[0];\n};\n\nstruct reset_control_bulk_data {\n\tconst char *id;\n\tstruct reset_control *rstc;\n};\n\nstruct reset_control_bulk_devres {\n\tint num_rstcs;\n\tstruct reset_control_bulk_data *rstcs;\n};\n\nstruct reset_control_lookup {\n\tstruct list_head list;\n\tconst char *provider;\n\tunsigned int index;\n\tconst char *dev_id;\n\tconst char *con_id;\n};\n\nstruct reset_control_ops {\n\tint (*reset)(struct reset_controller_dev *, long unsigned int);\n\tint (*assert)(struct reset_controller_dev *, long unsigned int);\n\tint (*deassert)(struct reset_controller_dev *, long unsigned int);\n\tint (*status)(struct reset_controller_dev *, long unsigned int);\n};\n\nstruct reset_controller_dev {\n\tconst struct reset_control_ops *ops;\n\tstruct module *owner;\n\tstruct list_head list;\n\tstruct list_head reset_control_head;\n\tstruct device *dev;\n\tstruct device_node *of_node;\n\tconst struct of_phandle_args *of_args;\n\tint of_reset_n_cells;\n\tint (*of_xlate)(struct reset_controller_dev *, const struct of_phandle_args *);\n\tunsigned int nr_resets;\n};\n\ntypedef resource_size_t (*resource_alignf)(void *, const struct resource *, resource_size_t, resource_size_t);\n\nstruct resource_constraint {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_alignf alignf;\n\tvoid *alignf_data;\n};\n\nstruct resource_entry {\n\tstruct list_head node;\n\tstruct resource *res;\n\tresource_size_t offset;\n\tstruct resource __res;\n};\n\nstruct resource_win {\n\tstruct resource res;\n\tresource_size_t offset;\n};\n\nstruct restart_block {\n\tlong unsigned int arch_data;\n\tlong int (*fn)(struct restart_block *);\n\tunion {\n\t\tstruct {\n\t\t\tu32 *uaddr;\n\t\t\tu32 val;\n\t\t\tu32 flags;\n\t\t\tu32 bitset;\n\t\t\tu64 time;\n\t\t\tu32 *uaddr2;\n\t\t} futex;\n\t\tstruct {\n\t\t\tclockid_t clockid;\n\t\t\tenum timespec_type type;\n\t\t\tunion {\n\t\t\t\tstruct __kernel_timespec *rmtp;\n\t\t\t\tstruct old_timespec32 *compat_rmtp;\n\t\t\t};\n\t\t\tu64 expires;\n\t\t} nanosleep;\n\t\tstruct {\n\t\t\tstruct pollfd *ufds;\n\t\t\tint nfds;\n\t\t\tint has_timeout;\n\t\t\tlong unsigned int tv_sec;\n\t\t\tlong unsigned int tv_nsec;\n\t\t} poll;\n\t};\n};\n\nstruct resume_swap_area {\n\t__kernel_loff_t offset;\n\t__u32 dev;\n} __attribute__((packed));\n\nstruct resv_map {\n\tstruct kref refs;\n\tspinlock_t lock;\n\tstruct list_head regions;\n\tlong int adds_in_progress;\n\tstruct list_head region_cache;\n\tlong int region_cache_count;\n\tstruct rw_semaphore rw_sema;\n\tstruct page_counter *reservation_counter;\n\tlong unsigned int pages_per_hpage;\n\tstruct cgroup_subsys_state *css;\n};\n\nstruct tb_port;\n\nstruct retimer_info {\n\tstruct tb_port *port;\n\tu8 index;\n};\n\nstruct return_consumer {\n\t__u64 cookie;\n\t__u64 id;\n};\n\nstruct return_instance {\n\tstruct hprobe hprobe;\n\tlong unsigned int func;\n\tlong unsigned int stack;\n\tlong unsigned int orig_ret_vaddr;\n\tbool chained;\n\tint cons_cnt;\n\tstruct return_instance *next;\n\tstruct callback_head rcu;\n\tstruct return_consumer consumer;\n\tstruct return_consumer *extra_consumers;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct reuseport_array {\n\tstruct bpf_map map;\n\tstruct sock *ptrs[0];\n};\n\nstruct rgb {\n\tu8 r;\n\tu8 g;\n\tu8 b;\n};\n\nstruct rgmii_adv {\n\tunsigned int pause;\n\tunsigned int duplex;\n\tunsigned int lp_pause;\n\tunsigned int lp_duplex;\n};\n\nstruct rhash_lock_head {};\n\nstruct rhashtable_compare_arg {\n\tstruct rhashtable *ht;\n\tconst void *key;\n};\n\nstruct ring_buffer_event {\n\tu32 type_len: 5;\n\tu32 time_delta: 27;\n\tu32 array[0];\n};\n\nstruct ring_buffer_per_cpu;\n\nstruct ring_buffer_iter {\n\tstruct ring_buffer_per_cpu *cpu_buffer;\n\tlong unsigned int head;\n\tlong unsigned int next_event;\n\tstruct buffer_page *head_page;\n\tstruct buffer_page *cache_reader_page;\n\tlong unsigned int cache_read;\n\tlong unsigned int cache_pages_removed;\n\tu64 read_stamp;\n\tu64 page_stamp;\n\tstruct ring_buffer_event *event;\n\tsize_t event_size;\n\tint missed_events;\n};\n\nstruct ring_buffer_meta {\n\tint magic;\n\tint struct_size;\n\tlong unsigned int text_addr;\n\tlong unsigned int data_addr;\n\tlong unsigned int first_buffer;\n\tlong unsigned int head_buffer;\n\tlong unsigned int commit_buffer;\n\t__u32 subbuf_size;\n\t__u32 nr_subbufs;\n\tint buffers[0];\n};\n\nstruct trace_buffer_meta;\n\nstruct ring_buffer_per_cpu {\n\tint cpu;\n\tatomic_t record_disabled;\n\tatomic_t resize_disabled;\n\tstruct trace_buffer *buffer;\n\traw_spinlock_t reader_lock;\n\tarch_spinlock_t lock;\n\tstruct lock_class_key lock_key;\n\tstruct buffer_data_page *free_page;\n\tlong unsigned int nr_pages;\n\tunsigned int current_context;\n\tstruct list_head *pages;\n\tlong unsigned int cnt;\n\tstruct buffer_page *head_page;\n\tstruct buffer_page *tail_page;\n\tstruct buffer_page *commit_page;\n\tstruct buffer_page *reader_page;\n\tlong unsigned int lost_events;\n\tlong unsigned int last_overrun;\n\tlong unsigned int nest;\n\tlocal_t entries_bytes;\n\tlocal_t entries;\n\tlocal_t overrun;\n\tlocal_t commit_overrun;\n\tlocal_t dropped_events;\n\tlocal_t committing;\n\tlocal_t commits;\n\tlocal_t pages_touched;\n\tlocal_t pages_lost;\n\tlocal_t pages_read;\n\tlong int last_pages_touch;\n\tsize_t shortest_full;\n\tlong unsigned int read;\n\tlong unsigned int read_bytes;\n\trb_time_t write_stamp;\n\trb_time_t before_stamp;\n\tu64 event_stamp[5];\n\tu64 read_stamp;\n\tlong unsigned int pages_removed;\n\tunsigned int mapped;\n\tunsigned int user_mapped;\n\tstruct mutex mapping_lock;\n\tlong unsigned int *subbuf_ids;\n\tstruct trace_buffer_meta *meta_page;\n\tstruct ring_buffer_meta *ring_meta;\n\tlong int nr_pages_to_update;\n\tstruct list_head new_pages;\n\tstruct work_struct update_pages_work;\n\tstruct completion update_done;\n\tstruct rb_irq_work irq_work;\n};\n\nstruct ring_desc {\n\tu64 phys;\n\tu32 length: 12;\n\tu32 eof: 4;\n\tu32 sof: 4;\n\tenum ring_desc_flags flags: 12;\n\tu32 time;\n};\n\nstruct ring_info {\n\tstruct sk_buff *skb;\n\tu32 len;\n};\n\nstruct rings_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_ringparam ringparam;\n\tstruct kernel_ethtool_ringparam kernel_ringparam;\n\tu32 supported_ring_params;\n};\n\nstruct rio_mport;\n\nstruct rio_dbell {\n\tstruct list_head node;\n\tstruct resource *res;\n\tvoid (*dinb)(struct rio_mport *, void *, u16, u16, u16);\n\tvoid *dev_id;\n};\n\nstruct rio_switch_ops;\n\nstruct rio_dev;\n\nstruct rio_switch {\n\tstruct list_head node;\n\tu8 *route_table;\n\tu32 port_ok;\n\tstruct rio_switch_ops *ops;\n\tspinlock_t lock;\n\tstruct rio_dev *nextdev[0];\n};\n\nstruct rio_net;\n\nstruct rio_driver;\n\nunion rio_pw_msg;\n\nstruct rio_dev {\n\tstruct list_head global_list;\n\tstruct list_head net_list;\n\tstruct rio_net *net;\n\tbool do_enum;\n\tu16 did;\n\tu16 vid;\n\tu32 device_rev;\n\tu16 asm_did;\n\tu16 asm_vid;\n\tu16 asm_rev;\n\tu16 efptr;\n\tu32 pef;\n\tu32 swpinfo;\n\tu32 src_ops;\n\tu32 dst_ops;\n\tu32 comp_tag;\n\tu32 phys_efptr;\n\tu32 phys_rmap;\n\tu32 em_efptr;\n\tu64 dma_mask;\n\tstruct rio_driver *driver;\n\tstruct device dev;\n\tstruct resource riores[16];\n\tint (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);\n\tu16 destid;\n\tu8 hopcount;\n\tstruct rio_dev *prev;\n\tatomic_t state;\n\tstruct rio_switch rswitch[0];\n};\n\nstruct rio_device_id {\n\t__u16 did;\n\t__u16 vid;\n\t__u16 asm_did;\n\t__u16 asm_vid;\n};\n\nstruct rio_disc_work {\n\tstruct work_struct work;\n\tstruct rio_mport *mport;\n};\n\nstruct rio_driver {\n\tstruct list_head node;\n\tchar *name;\n\tconst struct rio_device_id *id_table;\n\tint (*probe)(struct rio_dev *, const struct rio_device_id *);\n\tvoid (*remove)(struct rio_dev *);\n\tvoid (*shutdown)(struct rio_dev *);\n\tint (*suspend)(struct rio_dev *, u32);\n\tint (*resume)(struct rio_dev *);\n\tint (*enable_wake)(struct rio_dev *, u32, int);\n\tstruct device_driver driver;\n};\n\nstruct rio_msg {\n\tstruct resource *res;\n\tvoid (*mcback)(struct rio_mport *, void *, int, int);\n};\n\nstruct rio_ops;\n\nstruct rio_scan;\n\nstruct rio_mport {\n\tstruct list_head dbells;\n\tstruct list_head pwrites;\n\tstruct list_head node;\n\tstruct list_head nnode;\n\tstruct rio_net *net;\n\tstruct mutex lock;\n\tstruct resource iores;\n\tstruct resource riores[16];\n\tstruct rio_msg inb_msg[4];\n\tstruct rio_msg outb_msg[4];\n\tint host_deviceid;\n\tstruct rio_ops *ops;\n\tunsigned char id;\n\tunsigned char index;\n\tunsigned int sys_size;\n\tu32 phys_efptr;\n\tu32 phys_rmap;\n\tunsigned char name[40];\n\tstruct device dev;\n\tvoid *priv;\n\tstruct rio_scan *nscan;\n\tatomic_t state;\n\tunsigned int pwe_refcnt;\n};\n\nstruct rio_mport_attr {\n\tint flags;\n\tint link_speed;\n\tint link_width;\n\tint dma_max_sge;\n\tint dma_max_size;\n\tint dma_align;\n};\n\nstruct rio_net {\n\tstruct list_head node;\n\tstruct list_head devices;\n\tstruct list_head switches;\n\tstruct list_head mports;\n\tstruct rio_mport *hport;\n\tunsigned char id;\n\tstruct device dev;\n\tvoid *enum_data;\n\tvoid (*release)(struct rio_net *);\n};\n\nstruct rio_ops {\n\tint (*lcread)(struct rio_mport *, int, u32, int, u32 *);\n\tint (*lcwrite)(struct rio_mport *, int, u32, int, u32);\n\tint (*cread)(struct rio_mport *, int, u16, u8, u32, int, u32 *);\n\tint (*cwrite)(struct rio_mport *, int, u16, u8, u32, int, u32);\n\tint (*dsend)(struct rio_mport *, int, u16, u16);\n\tint (*pwenable)(struct rio_mport *, int);\n\tint (*open_outb_mbox)(struct rio_mport *, void *, int, int);\n\tvoid (*close_outb_mbox)(struct rio_mport *, int);\n\tint (*open_inb_mbox)(struct rio_mport *, void *, int, int);\n\tvoid (*close_inb_mbox)(struct rio_mport *, int);\n\tint (*add_outb_message)(struct rio_mport *, struct rio_dev *, int, void *, size_t);\n\tint (*add_inb_buffer)(struct rio_mport *, int, void *);\n\tvoid * (*get_inb_message)(struct rio_mport *, int);\n\tint (*map_inb)(struct rio_mport *, dma_addr_t, u64, u64, u32);\n\tvoid (*unmap_inb)(struct rio_mport *, dma_addr_t);\n\tint (*query_mport)(struct rio_mport *, struct rio_mport_attr *);\n\tint (*map_outb)(struct rio_mport *, u16, u64, u32, u32, dma_addr_t *);\n\tvoid (*unmap_outb)(struct rio_mport *, u16, u64);\n};\n\nunion rio_pw_msg {\n\tstruct {\n\t\tu32 comptag;\n\t\tu32 errdetect;\n\t\tu32 is_port;\n\t\tu32 ltlerrdet;\n\t\tu32 padding[12];\n\t} em;\n\tu32 raw[16];\n};\n\nstruct rio_pwrite {\n\tstruct list_head node;\n\tint (*pwcback)(struct rio_mport *, void *, union rio_pw_msg *, int);\n\tvoid *context;\n};\n\nstruct rio_scan {\n\tstruct module *owner;\n\tint (*enumerate)(struct rio_mport *, u32);\n\tint (*discover)(struct rio_mport *, u32);\n};\n\nstruct rio_scan_node {\n\tint mport_id;\n\tstruct list_head node;\n\tstruct rio_scan *ops;\n};\n\nstruct rio_switch_ops {\n\tstruct module *owner;\n\tint (*add_entry)(struct rio_mport *, u16, u8, u16, u16, u8);\n\tint (*get_entry)(struct rio_mport *, u16, u8, u16, u16, u8 *);\n\tint (*clr_table)(struct rio_mport *, u16, u8, u16);\n\tint (*set_domain)(struct rio_mport *, u16, u8, u8);\n\tint (*get_domain)(struct rio_mport *, u16, u8, u8 *);\n\tint (*em_init)(struct rio_dev *);\n\tint (*em_handle)(struct rio_dev *, u8);\n};\n\nstruct rlimit64 {\n\t__u64 rlim_cur;\n\t__u64 rlim_max;\n};\n\nstruct rmap_walk_arg {\n\tstruct folio *folio;\n\tbool map_unused_to_zeropage;\n};\n\nstruct rmap_walk_control {\n\tvoid *arg;\n\tbool try_lock;\n\tbool contended;\n\tbool (*rmap_one)(struct folio *, struct vm_area_struct *, long unsigned int, void *);\n\tint (*done)(struct folio *);\n\tstruct anon_vma * (*anon_lock)(const struct folio *, struct rmap_walk_control *);\n\tbool (*invalid_vma)(struct vm_area_struct *, void *);\n};\n\nstruct rmem_assigned_device {\n\tstruct device *dev;\n\tstruct reserved_mem *rmem;\n\tstruct list_head list;\n};\n\nstruct rmi_2d_axis_alignment {\n\tbool swap_axes;\n\tbool flip_x;\n\tbool flip_y;\n\tu16 clip_x_low;\n\tu16 clip_y_low;\n\tu16 clip_x_high;\n\tu16 clip_y_high;\n\tu16 offset_x;\n\tu16 offset_y;\n\tu8 delta_x_threshold;\n\tu8 delta_y_threshold;\n};\n\nstruct rmi_2d_sensor_platform_data {\n\tstruct rmi_2d_axis_alignment axis_align;\n\tenum rmi_sensor_type sensor_type;\n\tint x_mm;\n\tint y_mm;\n\tint disable_report_mask;\n\tu16 rezero_wait;\n\tbool topbuttonpad;\n\tbool kernel_tracking;\n\tint dmax;\n\tint dribble;\n\tint palm_detect;\n};\n\nstruct rmi_device_platform_data_spi {\n\tu32 block_delay_us;\n\tu32 split_read_block_delay_us;\n\tu32 read_delay_us;\n\tu32 write_delay_us;\n\tu32 split_read_byte_delay_us;\n\tu32 pre_delay_us;\n\tu32 post_delay_us;\n\tu8 bits_per_word;\n\tu16 mode;\n\tvoid *cs_assert_data;\n\tint (*cs_assert)(const void *, const bool);\n};\n\nstruct rmi_f01_power_management {\n\tenum rmi_reg_state nosleep;\n\tu8 wakeup_threshold;\n\tu8 doze_holdoff;\n\tu8 doze_interval;\n};\n\nstruct rmi_gpio_data {\n\tbool buttonpad;\n\tbool trackstick_buttons;\n\tbool disable;\n};\n\nstruct rmi_device_platform_data {\n\tint reset_delay_ms;\n\tint irq;\n\tstruct rmi_device_platform_data_spi spi_data;\n\tstruct rmi_2d_sensor_platform_data sensor_pdata;\n\tstruct rmi_f01_power_management power_management;\n\tstruct rmi_gpio_data gpio_data;\n};\n\nstruct rnd_state {\n\t__u32 s1;\n\t__u32 s2;\n\t__u32 s3;\n\t__u32 s4;\n};\n\nstruct rng_alg {\n\tint (*generate)(struct crypto_rng *, const u8 *, unsigned int, u8 *, unsigned int);\n\tint (*seed)(struct crypto_rng *, const u8 *, unsigned int);\n\tvoid (*set_ent)(struct crypto_rng *, const u8 *, unsigned int);\n\tunsigned int seedsize;\n\tstruct crypto_alg base;\n};\n\nstruct robust_list {\n\tstruct robust_list *next;\n};\n\nstruct robust_list_head {\n\tstruct robust_list list;\n\tlong int futex_offset;\n\tstruct robust_list *list_op_pending;\n};\n\nstruct rock_ridge {\n\t__u8 signature[2];\n\t__u8 len;\n\t__u8 version;\n\tunion {\n\t\tstruct SU_SP_s SP;\n\t\tstruct SU_CE_s CE;\n\t\tstruct SU_ER_s ER;\n\t\tstruct RR_RR_s RR;\n\t\tstruct RR_PX_s PX;\n\t\tstruct RR_PN_s PN;\n\t\tstruct RR_SL_s SL;\n\t\tstruct RR_NM_s NM;\n\t\tstruct RR_CL_s CL;\n\t\tstruct RR_PL_s PL;\n\t\tstruct RR_TF_s TF;\n\t\tstruct RR_ZF_s ZF;\n\t} u;\n};\n\nstruct rock_state {\n\tvoid *buffer;\n\tunsigned char *chr;\n\tint len;\n\tint cont_size;\n\tint cont_extent;\n\tint cont_offset;\n\tint cont_loops;\n\tstruct inode *inode;\n};\n\nstruct role_allow {\n\tu32 role;\n\tu32 new_role;\n\tstruct role_allow *next;\n};\n\nstruct role_datum {\n\tu32 value;\n\tu32 bounds;\n\tstruct ebitmap dominates;\n\tstruct ebitmap types;\n};\n\nstruct role_trans_datum {\n\tu32 new_role;\n};\n\nstruct role_trans_key {\n\tu32 role;\n\tu32 type;\n\tu32 tclass;\n};\n\nstruct romfs_super_block {\n\t__be32 word0;\n\t__be32 word1;\n\t__be32 size;\n\t__be32 checksum;\n\tchar name[0];\n};\n\nstruct root_device {\n\tstruct device dev;\n\tstruct module *owner;\n};\n\nstruct root_domain {\n\tatomic_t refcount;\n\tatomic_t rto_count;\n\tstruct callback_head rcu;\n\tcpumask_var_t span;\n\tcpumask_var_t online;\n\tbool overloaded;\n\tbool overutilized;\n\tcpumask_var_t dlo_mask;\n\tatomic_t dlo_count;\n\tstruct dl_bw dl_bw;\n\tstruct cpudl cpudl;\n\tu64 visit_gen;\n\tstruct irq_work rto_push_work;\n\traw_spinlock_t rto_lock;\n\tint rto_loop;\n\tint rto_cpu;\n\tatomic_t rto_loop_next;\n\tatomic_t rto_loop_start;\n\tcpumask_var_t rto_mask;\n\tstruct cpupri cpupri;\n\tstruct perf_domain *pd;\n};\n\nstruct root_name_map {\n\tu64 id;\n\tconst char *name;\n};\n\nstruct route_info {\n\t__u8 type;\n\t__u8 length;\n\t__u8 prefix_len;\n\t__u8 reserved_l: 3;\n\t__u8 route_pref: 2;\n\t__u8 reserved_h: 3;\n\t__be32 lifetime;\n\t__u8 prefix[0];\n};\n\nstruct rpc_add_xprt_test {\n\tvoid (*add_xprt_test)(struct rpc_clnt *, struct rpc_xprt *, void *);\n\tvoid *data;\n};\n\nstruct rpc_auth_create_args {\n\trpc_authflavor_t pseudoflavor;\n\tconst char *target_name;\n};\n\nstruct rpc_authops {\n\tstruct module *owner;\n\trpc_authflavor_t au_flavor;\n\tchar *au_name;\n\tstruct rpc_auth * (*create)(const struct rpc_auth_create_args *, struct rpc_clnt *);\n\tvoid (*destroy)(struct rpc_auth *);\n\tint (*hash_cred)(struct auth_cred *, unsigned int);\n\tstruct rpc_cred * (*lookup_cred)(struct rpc_auth *, struct auth_cred *, int);\n\tstruct rpc_cred * (*crcreate)(struct rpc_auth *, struct auth_cred *, int, gfp_t);\n\trpc_authflavor_t (*info2flavor)(struct rpcsec_gss_info *);\n\tint (*flavor2info)(rpc_authflavor_t, struct rpcsec_gss_info *);\n\tint (*key_timeout)(struct rpc_auth *, struct rpc_cred *);\n\tint (*ping)(struct rpc_clnt *);\n};\n\nstruct rpc_bind_conn_calldata {\n\tstruct nfs_client *clp;\n\tconst struct cred *cred;\n};\n\nstruct rpc_buffer {\n\tsize_t len;\n\tchar data[0];\n};\n\nstruct rpc_call_ops {\n\tvoid (*rpc_call_prepare)(struct rpc_task *, void *);\n\tvoid (*rpc_call_done)(struct rpc_task *, void *);\n\tvoid (*rpc_count_stats)(struct rpc_task *, void *);\n\tvoid (*rpc_release)(void *);\n};\n\nstruct rpc_xprt_switch;\n\nstruct rpc_cb_add_xprt_calldata {\n\tstruct rpc_xprt_switch *xps;\n\tstruct rpc_xprt *xprt;\n};\n\nstruct rpc_pipe_dir_head {\n\tstruct list_head pdh_entries;\n\tstruct dentry *pdh_dentry;\n};\n\nstruct rpc_rtt {\n\tlong unsigned int timeo;\n\tlong unsigned int srtt[5];\n\tlong unsigned int sdrtt[5];\n\tint ntimeouts[5];\n};\n\nstruct rpc_timeout {\n\tlong unsigned int to_initval;\n\tlong unsigned int to_maxval;\n\tlong unsigned int to_increment;\n\tunsigned int to_retries;\n\tunsigned char to_exponential;\n};\n\nstruct rpc_xprt_iter_ops;\n\nstruct rpc_xprt_iter {\n\tstruct rpc_xprt_switch *xpi_xpswitch;\n\tstruct rpc_xprt *xpi_cursor;\n\tconst struct rpc_xprt_iter_ops *xpi_ops;\n};\n\nstruct rpc_iostats;\n\nstruct rpc_sysfs_client;\n\nstruct rpc_clnt {\n\trefcount_t cl_count;\n\tunsigned int cl_clid;\n\tstruct list_head cl_clients;\n\tstruct list_head cl_tasks;\n\tatomic_t cl_pid;\n\tspinlock_t cl_lock;\n\tstruct rpc_xprt *cl_xprt;\n\tconst struct rpc_procinfo *cl_procinfo;\n\tu32 cl_prog;\n\tu32 cl_vers;\n\tu32 cl_maxproc;\n\tstruct rpc_auth *cl_auth;\n\tstruct rpc_stat *cl_stats;\n\tstruct rpc_iostats *cl_metrics;\n\tunsigned int cl_softrtry: 1;\n\tunsigned int cl_softerr: 1;\n\tunsigned int cl_discrtry: 1;\n\tunsigned int cl_noretranstimeo: 1;\n\tunsigned int cl_autobind: 1;\n\tunsigned int cl_chatty: 1;\n\tunsigned int cl_shutdown: 1;\n\tstruct xprtsec_parms cl_xprtsec;\n\tstruct rpc_rtt *cl_rtt;\n\tconst struct rpc_timeout *cl_timeout;\n\tatomic_t cl_swapper;\n\tint cl_nodelen;\n\tchar cl_nodename[65];\n\tstruct rpc_pipe_dir_head cl_pipedir_objects;\n\tstruct rpc_clnt *cl_parent;\n\tstruct rpc_rtt cl_rtt_default;\n\tstruct rpc_timeout cl_timeout_default;\n\tconst struct rpc_program *cl_program;\n\tconst char *cl_principal;\n\tstruct rpc_sysfs_client *cl_sysfs;\n\tunion {\n\t\tstruct rpc_xprt_iter cl_xpi;\n\t\tstruct work_struct cl_work;\n\t};\n\tconst struct cred *cl_cred;\n\tunsigned int cl_max_connect;\n\tstruct super_block *pipefs_sb;\n\tatomic_t cl_task_count;\n};\n\nstruct rpc_create_args {\n\tstruct net *net;\n\tint protocol;\n\tstruct sockaddr *address;\n\tsize_t addrsize;\n\tstruct sockaddr *saddress;\n\tconst struct rpc_timeout *timeout;\n\tconst char *servername;\n\tconst char *nodename;\n\tconst struct rpc_program *program;\n\tstruct rpc_stat *stats;\n\tu32 prognumber;\n\tu32 version;\n\trpc_authflavor_t authflavor;\n\tu32 nconnect;\n\tlong unsigned int flags;\n\tchar *client_name;\n\tstruct svc_xprt *bc_xprt;\n\tconst struct cred *cred;\n\tunsigned int max_connect;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct rpc_cred_cache {\n\tstruct hlist_head *hashtable;\n\tunsigned int hashbits;\n\tspinlock_t lock;\n};\n\nstruct rpc_credops {\n\tconst char *cr_name;\n\tint (*cr_init)(struct rpc_auth *, struct rpc_cred *);\n\tvoid (*crdestroy)(struct rpc_cred *);\n\tint (*crmatch)(struct auth_cred *, struct rpc_cred *, int);\n\tint (*crmarshal)(struct rpc_task *, struct xdr_stream *);\n\tint (*crrefresh)(struct rpc_task *);\n\tint (*crvalidate)(struct rpc_task *, struct xdr_stream *);\n\tint (*crwrap_req)(struct rpc_task *, struct xdr_stream *);\n\tint (*crunwrap_resp)(struct rpc_task *, struct xdr_stream *);\n\tint (*crkey_timeout)(struct rpc_cred *);\n\tchar * (*crstringify_acceptor)(struct rpc_cred *);\n\tbool (*crneed_reencode)(struct rpc_task *);\n};\n\nstruct rpc_filelist {\n\tconst char *name;\n\tconst struct file_operations *i_fop;\n\tumode_t mode;\n};\n\nstruct rpc_inode {\n\tstruct inode vfs_inode;\n\tvoid *private;\n\tstruct rpc_pipe *pipe;\n\twait_queue_head_t waitq;\n};\n\nstruct rpc_iostats {\n\tspinlock_t om_lock;\n\tlong unsigned int om_ops;\n\tlong unsigned int om_ntrans;\n\tlong unsigned int om_timeouts;\n\tlong long unsigned int om_bytes_sent;\n\tlong long unsigned int om_bytes_recv;\n\tktime_t om_queue;\n\tktime_t om_rtt;\n\tktime_t om_execute;\n\tlong unsigned int om_error_status;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rpc_pipe {\n\tstruct list_head pipe;\n\tstruct list_head in_upcall;\n\tstruct list_head in_downcall;\n\tint pipelen;\n\tint nreaders;\n\tint nwriters;\n\tint flags;\n\tstruct delayed_work queue_timeout;\n\tconst struct rpc_pipe_ops *ops;\n\tspinlock_t lock;\n\tstruct dentry *dentry;\n};\n\nstruct rpc_pipe_dir_object_ops {\n\tint (*create)(struct dentry *, struct rpc_pipe_dir_object *);\n\tvoid (*destroy)(struct dentry *, struct rpc_pipe_dir_object *);\n};\n\nstruct rpc_pipe_ops {\n\tssize_t (*upcall)(struct file *, struct rpc_pipe_msg *, char *, size_t);\n\tssize_t (*downcall)(struct file *, const char *, size_t);\n\tvoid (*release_pipe)(struct inode *);\n\tint (*open_pipe)(struct inode *);\n\tvoid (*destroy_msg)(struct rpc_pipe_msg *);\n};\n\ntypedef void (*kxdreproc_t)(struct rpc_rqst *, struct xdr_stream *, const void *);\n\ntypedef int (*kxdrdproc_t)(struct rpc_rqst *, struct xdr_stream *, void *);\n\nstruct rpc_procinfo {\n\tu32 p_proc;\n\tkxdreproc_t p_encode;\n\tkxdrdproc_t p_decode;\n\tunsigned int p_arglen;\n\tunsigned int p_replen;\n\tunsigned int p_timer;\n\tu32 p_statidx;\n\tconst char *p_name;\n};\n\nstruct rpc_program {\n\tconst char *name;\n\tu32 number;\n\tunsigned int nrvers;\n\tconst struct rpc_version **version;\n\tstruct rpc_stat *stats;\n\tconst char *pipe_dir_name;\n};\n\nstruct rpc_rqst {\n\tstruct rpc_xprt *rq_xprt;\n\tstruct xdr_buf rq_snd_buf;\n\tstruct xdr_buf rq_rcv_buf;\n\tstruct rpc_task *rq_task;\n\tstruct rpc_cred *rq_cred;\n\t__be32 rq_xid;\n\tint rq_cong;\n\tu32 rq_seqno;\n\tint rq_enc_pages_num;\n\tstruct page **rq_enc_pages;\n\tvoid (*rq_release_snd_buf)(struct rpc_rqst *);\n\tunion {\n\t\tstruct list_head rq_list;\n\t\tstruct rb_node rq_recv;\n\t};\n\tstruct list_head rq_xmit;\n\tstruct list_head rq_xmit2;\n\tvoid *rq_buffer;\n\tsize_t rq_callsize;\n\tvoid *rq_rbuffer;\n\tsize_t rq_rcvsize;\n\tsize_t rq_xmit_bytes_sent;\n\tsize_t rq_reply_bytes_recvd;\n\tstruct xdr_buf rq_private_buf;\n\tlong unsigned int rq_majortimeo;\n\tlong unsigned int rq_minortimeo;\n\tlong unsigned int rq_timeout;\n\tktime_t rq_rtt;\n\tunsigned int rq_retries;\n\tunsigned int rq_connect_cookie;\n\tatomic_t rq_pin;\n\tu32 rq_bytes_sent;\n\tktime_t rq_xtime;\n\tint rq_ntrans;\n\tstruct lwq_node rq_bc_list;\n\tlong unsigned int rq_bc_pa_state;\n\tstruct list_head rq_bc_pa_list;\n};\n\nstruct rpc_sysfs_client {\n\tstruct kobject kobject;\n\tstruct net *net;\n\tstruct rpc_clnt *clnt;\n\tstruct rpc_xprt_switch *xprt_switch;\n};\n\nstruct rpc_sysfs_xprt {\n\tstruct kobject kobject;\n\tstruct rpc_xprt *xprt;\n\tstruct rpc_xprt_switch *xprt_switch;\n};\n\nstruct rpc_sysfs_xprt_switch {\n\tstruct kobject kobject;\n\tstruct net *net;\n\tstruct rpc_xprt_switch *xprt_switch;\n\tstruct rpc_xprt *xprt;\n};\n\nstruct rpc_task_setup {\n\tstruct rpc_task *task;\n\tstruct rpc_clnt *rpc_client;\n\tstruct rpc_xprt *rpc_xprt;\n\tstruct rpc_cred *rpc_op_cred;\n\tconst struct rpc_message *rpc_message;\n\tconst struct rpc_call_ops *callback_ops;\n\tvoid *callback_data;\n\tstruct workqueue_struct *workqueue;\n\tshort unsigned int flags;\n\tsigned char priority;\n};\n\nstruct rpc_version {\n\tu32 number;\n\tunsigned int nrprocs;\n\tconst struct rpc_procinfo *procs;\n\tunsigned int *counts;\n};\n\nstruct rpc_xprt_ops;\n\nstruct xprt_class;\n\nstruct rpc_xprt {\n\tstruct kref kref;\n\tconst struct rpc_xprt_ops *ops;\n\tunsigned int id;\n\tconst struct rpc_timeout *timeout;\n\tstruct __kernel_sockaddr_storage addr;\n\tsize_t addrlen;\n\tint prot;\n\tlong unsigned int cong;\n\tlong unsigned int cwnd;\n\tsize_t max_payload;\n\tstruct rpc_wait_queue binding;\n\tstruct rpc_wait_queue sending;\n\tstruct rpc_wait_queue pending;\n\tstruct rpc_wait_queue backlog;\n\tstruct list_head free;\n\tunsigned int max_reqs;\n\tunsigned int min_reqs;\n\tunsigned int num_reqs;\n\tlong unsigned int state;\n\tunsigned char resvport: 1;\n\tunsigned char reuseport: 1;\n\tatomic_t swapper;\n\tunsigned int bind_index;\n\tstruct list_head xprt_switch;\n\tlong unsigned int bind_timeout;\n\tlong unsigned int reestablish_timeout;\n\tstruct xprtsec_parms xprtsec;\n\tunsigned int connect_cookie;\n\tstruct work_struct task_cleanup;\n\tstruct timer_list timer;\n\tlong unsigned int last_used;\n\tlong unsigned int idle_timeout;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int max_reconnect_timeout;\n\tatomic_long_t queuelen;\n\tspinlock_t transport_lock;\n\tspinlock_t reserve_lock;\n\tspinlock_t queue_lock;\n\tu32 xid;\n\tstruct rpc_task *snd_task;\n\tstruct list_head xmit_queue;\n\tatomic_long_t xmit_queuelen;\n\tstruct svc_xprt *bc_xprt;\n\tstruct svc_serv *bc_serv;\n\tunsigned int bc_alloc_max;\n\tunsigned int bc_alloc_count;\n\tatomic_t bc_slot_count;\n\tspinlock_t bc_pa_lock;\n\tstruct list_head bc_pa_list;\n\tstruct rb_root recv_queue;\n\tstruct {\n\t\tlong unsigned int bind_count;\n\t\tlong unsigned int connect_count;\n\t\tlong unsigned int connect_start;\n\t\tlong unsigned int connect_time;\n\t\tlong unsigned int sends;\n\t\tlong unsigned int recvs;\n\t\tlong unsigned int bad_xids;\n\t\tlong unsigned int max_slots;\n\t\tlong long unsigned int req_u;\n\t\tlong long unsigned int bklog_u;\n\t\tlong long unsigned int sending_u;\n\t\tlong long unsigned int pending_u;\n\t} stat;\n\tstruct net *xprt_net;\n\tnetns_tracker ns_tracker;\n\tconst char *servername;\n\tconst char *address_strings[6];\n\tstruct callback_head rcu;\n\tconst struct xprt_class *xprt_class;\n\tstruct rpc_sysfs_xprt *xprt_sysfs;\n\tbool main;\n};\n\nstruct rpc_xprt_iter_ops {\n\tvoid (*xpi_rewind)(struct rpc_xprt_iter *);\n\tstruct rpc_xprt * (*xpi_xprt)(struct rpc_xprt_iter *);\n\tstruct rpc_xprt * (*xpi_next)(struct rpc_xprt_iter *);\n};\n\nstruct rpc_xprt_ops {\n\tvoid (*set_buffer_size)(struct rpc_xprt *, size_t, size_t);\n\tint (*reserve_xprt)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*release_xprt)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*alloc_slot)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*free_slot)(struct rpc_xprt *, struct rpc_rqst *);\n\tvoid (*rpcbind)(struct rpc_task *);\n\tvoid (*set_port)(struct rpc_xprt *, short unsigned int);\n\tvoid (*connect)(struct rpc_xprt *, struct rpc_task *);\n\tint (*get_srcaddr)(struct rpc_xprt *, char *, size_t);\n\tshort unsigned int (*get_srcport)(struct rpc_xprt *);\n\tint (*buf_alloc)(struct rpc_task *);\n\tvoid (*buf_free)(struct rpc_task *);\n\tint (*prepare_request)(struct rpc_rqst *, struct xdr_buf *);\n\tint (*send_request)(struct rpc_rqst *);\n\tvoid (*abort_send_request)(struct rpc_rqst *);\n\tvoid (*wait_for_reply_request)(struct rpc_task *);\n\tvoid (*timer)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*release_request)(struct rpc_task *);\n\tvoid (*close)(struct rpc_xprt *);\n\tvoid (*destroy)(struct rpc_xprt *);\n\tvoid (*set_connect_timeout)(struct rpc_xprt *, long unsigned int, long unsigned int);\n\tvoid (*print_stats)(struct rpc_xprt *, struct seq_file *);\n\tint (*enable_swap)(struct rpc_xprt *);\n\tvoid (*disable_swap)(struct rpc_xprt *);\n\tvoid (*inject_disconnect)(struct rpc_xprt *);\n\tint (*bc_setup)(struct rpc_xprt *, unsigned int);\n\tsize_t (*bc_maxpayload)(struct rpc_xprt *);\n\tunsigned int (*bc_num_slots)(struct rpc_xprt *);\n\tvoid (*bc_free_rqst)(struct rpc_rqst *);\n\tvoid (*bc_destroy)(struct rpc_xprt *, unsigned int);\n};\n\nstruct rpc_xprt_switch {\n\tspinlock_t xps_lock;\n\tstruct kref xps_kref;\n\tunsigned int xps_id;\n\tunsigned int xps_nxprts;\n\tunsigned int xps_nactive;\n\tunsigned int xps_nunique_destaddr_xprts;\n\tatomic_long_t xps_queuelen;\n\tstruct list_head xps_xprt_list;\n\tstruct net *xps_net;\n\tconst struct rpc_xprt_iter_ops *xps_iter_ops;\n\tstruct rpc_sysfs_xprt_switch *xps_sysfs;\n\tstruct callback_head xps_rcu;\n};\n\nstruct rpcb_info {\n\tu32 rpc_vers;\n\tconst struct rpc_procinfo *rpc_proc;\n};\n\nstruct rpcbind_args {\n\tstruct rpc_xprt *r_xprt;\n\tu32 r_prog;\n\tu32 r_vers;\n\tu32 r_prot;\n\tshort unsigned int r_port;\n\tconst char *r_netid;\n\tconst char *r_addr;\n\tconst char *r_owner;\n\tint r_status;\n};\n\nstruct rps_dev_flow {\n\tu16 cpu;\n\tu16 filter;\n\tunsigned int last_qtail;\n};\n\nstruct rps_dev_flow_table {\n\tunsigned int mask;\n\tstruct callback_head rcu;\n\tstruct rps_dev_flow flows[0];\n};\n\nstruct rps_map {\n\tunsigned int len;\n\tstruct callback_head rcu;\n\tu16 cpus[0];\n};\n\nstruct rps_sock_flow_table {\n\tu32 mask;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 ents[0];\n};\n\nstruct rt_prio_array {\n\tlong unsigned int bitmap[2];\n\tstruct list_head queue[100];\n};\n\nstruct rt_rq {\n\tstruct rt_prio_array active;\n\tunsigned int rt_nr_running;\n\tunsigned int rr_nr_running;\n\tstruct {\n\t\tint curr;\n\t\tint next;\n\t} highest_prio;\n\tbool overloaded;\n\tstruct plist_head pushable_tasks;\n\tint rt_queued;\n\tint rt_throttled;\n\tu64 rt_time;\n\tu64 rt_runtime;\n\traw_spinlock_t rt_runtime_lock;\n\tunsigned int rt_nr_boosted;\n\tstruct rq *rq;\n\tstruct task_group *tg;\n};\n\nstruct sched_dl_entity;\n\ntypedef bool (*dl_server_has_tasks_f)(struct sched_dl_entity *);\n\ntypedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *);\n\nstruct sched_dl_entity {\n\tstruct rb_node rb_node;\n\tu64 dl_runtime;\n\tu64 dl_deadline;\n\tu64 dl_period;\n\tu64 dl_bw;\n\tu64 dl_density;\n\ts64 runtime;\n\tu64 deadline;\n\tunsigned int flags;\n\tunsigned int dl_throttled: 1;\n\tunsigned int dl_yielded: 1;\n\tunsigned int dl_non_contending: 1;\n\tunsigned int dl_overrun: 1;\n\tunsigned int dl_server: 1;\n\tunsigned int dl_server_active: 1;\n\tunsigned int dl_defer: 1;\n\tunsigned int dl_defer_armed: 1;\n\tunsigned int dl_defer_running: 1;\n\tstruct hrtimer dl_timer;\n\tstruct hrtimer inactive_timer;\n\tstruct rq *rq;\n\tdl_server_has_tasks_f server_has_tasks;\n\tdl_server_pick_f server_pick_task;\n\tstruct sched_dl_entity *pi_se;\n};\n\nstruct sched_info {\n\tlong unsigned int pcount;\n\tlong long unsigned int run_delay;\n\tlong long unsigned int max_run_delay;\n\tlong long unsigned int min_run_delay;\n\tlong long unsigned int last_arrival;\n\tlong long unsigned int last_queued;\n};\n\nstruct rq {\n\traw_spinlock_t __lock;\n\tunsigned int nr_running;\n\tunsigned int nr_numa_running;\n\tunsigned int nr_preferred_running;\n\tunsigned int numa_migrate_on;\n\tlong unsigned int last_blocked_load_update_tick;\n\tunsigned int has_blocked_load;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t nohz_csd;\n\tunsigned int nohz_tick_stopped;\n\tatomic_t nohz_flags;\n\tunsigned int ttwu_pending;\n\tu64 nr_switches;\n\tlong: 64;\n\tstruct cfs_rq cfs;\n\tstruct rt_rq rt;\n\tstruct dl_rq dl;\n\tstruct sched_dl_entity fair_server;\n\tstruct list_head leaf_cfs_rq_list;\n\tstruct list_head *tmp_alone_branch;\n\tunsigned int nr_uninterruptible;\n\tunion {\n\t\tstruct task_struct *donor;\n\t\tstruct task_struct *curr;\n\t};\n\tstruct sched_dl_entity *dl_server;\n\tstruct task_struct *idle;\n\tstruct task_struct *stop;\n\tlong unsigned int next_balance;\n\tstruct mm_struct *prev_mm;\n\tunsigned int clock_update_flags;\n\tu64 clock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu64 clock_task;\n\tu64 clock_pelt;\n\tlong unsigned int lost_idle_time;\n\tu64 clock_pelt_idle;\n\tu64 clock_idle;\n\tatomic_t nr_iowait;\n\tint membarrier_state;\n\tstruct root_domain *rd;\n\tstruct sched_domain *sd;\n\tlong unsigned int cpu_capacity;\n\tstruct balance_callback *balance_callback;\n\tunsigned char nohz_idle_balance;\n\tunsigned char idle_balance;\n\tlong unsigned int misfit_task_load;\n\tint active_balance;\n\tint push_cpu;\n\tstruct cpu_stop_work active_balance_work;\n\tint cpu;\n\tint online;\n\tstruct list_head cfs_tasks;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_avg avg_rt;\n\tstruct sched_avg avg_dl;\n\tu64 idle_stamp;\n\tu64 avg_idle;\n\tu64 max_idle_balance_cost;\n\tstruct rcuwait hotplug_wait;\n\tlong unsigned int calc_load_update;\n\tlong int calc_load_active;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t hrtick_csd;\n\tstruct hrtimer hrtick_timer;\n\tktime_t hrtick_time;\n\tstruct sched_info rq_sched_info;\n\tlong long unsigned int rq_cpu_time;\n\tunsigned int yld_count;\n\tunsigned int sched_count;\n\tunsigned int sched_goidle;\n\tunsigned int ttwu_count;\n\tunsigned int ttwu_local;\n\tunsigned int nr_pinned;\n\tunsigned int push_busy;\n\tstruct cpu_stop_work push_work;\n\tstruct rq *core;\n\tstruct task_struct *core_pick;\n\tstruct sched_dl_entity *core_dl_server;\n\tunsigned int core_enabled;\n\tunsigned int core_sched_seq;\n\tstruct rb_root core_tree;\n\tunsigned int core_task_seq;\n\tunsigned int core_pick_seq;\n\tlong unsigned int core_cookie;\n\tunsigned int core_forceidle_count;\n\tunsigned int core_forceidle_seq;\n\tunsigned int core_forceidle_occupation;\n\tu64 core_forceidle_start;\n\tcpumask_var_t scratch_mask;\n\tcall_single_data_t cfsb_csd;\n\tstruct list_head cfsb_csd_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rq_depth {\n\tunsigned int max_depth;\n\tint scale_step;\n\tbool scaled_max;\n\tunsigned int queue_depth;\n\tunsigned int default_depth;\n};\n\nstruct rq_iter_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tbool has_rq;\n};\n\nstruct rq_map_data {\n\tstruct page **pages;\n\tlong unsigned int offset;\n\tshort unsigned int page_order;\n\tshort unsigned int nr_entries;\n\tbool null_mapped;\n\tbool from_user;\n};\n\nstruct rq_qos_ops {\n\tvoid (*throttle)(struct rq_qos *, struct bio *);\n\tvoid (*track)(struct rq_qos *, struct request *, struct bio *);\n\tvoid (*merge)(struct rq_qos *, struct request *, struct bio *);\n\tvoid (*issue)(struct rq_qos *, struct request *);\n\tvoid (*requeue)(struct rq_qos *, struct request *);\n\tvoid (*done)(struct rq_qos *, struct request *);\n\tvoid (*done_bio)(struct rq_qos *, struct bio *);\n\tvoid (*cleanup)(struct rq_qos *, struct bio *);\n\tvoid (*queue_depth_changed)(struct rq_qos *);\n\tvoid (*exit)(struct rq_qos *);\n\tconst struct blk_mq_debugfs_attr *debugfs_attrs;\n};\n\ntypedef bool acquire_inflight_cb_t(struct rq_wait *, void *);\n\nstruct rq_qos_wait_data {\n\tstruct wait_queue_entry wq;\n\tstruct task_struct *task;\n\tstruct rq_wait *rqw;\n\tacquire_inflight_cb_t *cb;\n\tvoid *private_data;\n\tbool got_token;\n};\n\nstruct rq_wb {\n\tunsigned int wb_background;\n\tunsigned int wb_normal;\n\tshort int enable_state;\n\tunsigned int unknown_cnt;\n\tu64 win_nsec;\n\tu64 cur_win_nsec;\n\tstruct blk_stat_callback *cb;\n\tu64 sync_issue;\n\tvoid *sync_cookie;\n\tlong unsigned int last_issue;\n\tlong unsigned int last_comp;\n\tlong unsigned int min_lat_nsec;\n\tstruct rq_qos rqos;\n\tstruct rq_wait rq_wait[3];\n\tstruct rq_depth rq_depth;\n};\n\nstruct rs_msg {\n\tstruct icmp6hdr icmph;\n\t__u8 opt[0];\n};\n\nstruct rsa_key {\n\tconst u8 *n;\n\tconst u8 *e;\n\tconst u8 *d;\n\tconst u8 *p;\n\tconst u8 *q;\n\tconst u8 *dp;\n\tconst u8 *dq;\n\tconst u8 *qinv;\n\tsize_t n_sz;\n\tsize_t e_sz;\n\tsize_t d_sz;\n\tsize_t p_sz;\n\tsize_t q_sz;\n\tsize_t dp_sz;\n\tsize_t dq_sz;\n\tsize_t qinv_sz;\n};\n\nstruct rsa_mpi_key {\n\tMPI n;\n\tMPI e;\n\tMPI d;\n\tMPI p;\n\tMPI q;\n\tMPI dp;\n\tMPI dq;\n\tMPI qinv;\n};\n\nstruct rsassa_pkcs1_ctx {\n\tstruct crypto_akcipher *child;\n\tunsigned int key_size;\n};\n\nstruct rsassa_pkcs1_inst_ctx {\n\tstruct crypto_akcipher_spawn spawn;\n\tconst struct hash_prefix *hash_prefix;\n};\n\nstruct rsc {\n\tstruct cache_head h;\n\tstruct xdr_netobj handle;\n\tstruct svc_cred cred;\n\tstruct gss_svc_seq_data seqdata;\n\tstruct gss_ctx *mechctx;\n\tstruct callback_head callback_head;\n};\n\nstruct rseq {\n\t__u32 cpu_id_start;\n\t__u32 cpu_id;\n\t__u64 rseq_cs;\n\t__u32 flags;\n\t__u32 node_id;\n\t__u32 mm_cid;\n\tchar end[0];\n};\n\nstruct rseq_cs {\n\t__u32 version;\n\t__u32 flags;\n\t__u64 start_ip;\n\t__u64 post_commit_offset;\n\t__u64 abort_ip;\n};\n\nstruct rsi {\n\tstruct cache_head h;\n\tstruct xdr_netobj in_handle;\n\tstruct xdr_netobj in_token;\n\tstruct xdr_netobj out_handle;\n\tstruct xdr_netobj out_token;\n\tint major_status;\n\tint minor_status;\n\tstruct callback_head callback_head;\n};\n\nstruct rss_nl_dump_ctx {\n\tlong unsigned int ifindex;\n\tlong unsigned int ctx_idx;\n\tunsigned int match_ifindex;\n\tunsigned int start_ctx;\n};\n\nstruct rss_reply_data {\n\tstruct ethnl_reply_data base;\n\tbool no_key_fields;\n\tu32 indir_size;\n\tu32 hkey_size;\n\tu32 hfunc;\n\tu32 input_xfrm;\n\tu32 *indir_table;\n\tu8 *hkey;\n};\n\nstruct rss_req_info {\n\tstruct ethnl_req_info base;\n\tu32 rss_context;\n};\n\nstruct rsvd_count {\n\tint ndelayed;\n\tbool first_do_lblk_found;\n\text4_lblk_t first_do_lblk;\n\text4_lblk_t last_do_lblk;\n\tstruct extent_status *left_es;\n\tbool partial;\n\text4_lblk_t lclu;\n};\n\nstruct rt0_hdr {\n\tstruct ipv6_rt_hdr rt_hdr;\n\t__u32 reserved;\n\tstruct in6_addr addr[0];\n};\n\nstruct rt6_exception {\n\tstruct hlist_node hlist;\n\tstruct rt6_info *rt6i;\n\tlong unsigned int stamp;\n\tstruct callback_head rcu;\n};\n\nstruct rt6_exception_bucket {\n\tstruct hlist_head chain;\n\tint depth;\n};\n\nstruct rt6_mtu_change_arg {\n\tstruct net_device *dev;\n\tunsigned int mtu;\n\tstruct fib6_info *f6i;\n};\n\nstruct rt6_nh {\n\tstruct fib6_info *fib6_info;\n\tstruct fib6_config r_cfg;\n\tstruct list_head next;\n};\n\nstruct rt6_rtnl_dump_arg {\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n\tstruct net *net;\n\tstruct fib_dump_filter filter;\n};\n\nstruct rt6_statistics {\n\t__u32 fib_nodes;\n\t__u32 fib_route_nodes;\n\t__u32 fib_rt_entries;\n\t__u32 fib_rt_cache;\n\t__u32 fib_discarded_routes;\n\tatomic_t fib_rt_alloc;\n};\n\nstruct rt_bandwidth {\n\traw_spinlock_t rt_runtime_lock;\n\tktime_t rt_period;\n\tu64 rt_runtime;\n\tstruct hrtimer rt_period_timer;\n\tunsigned int rt_period_active;\n};\n\nstruct rt_cache_stat {\n\tunsigned int in_slow_tot;\n\tunsigned int in_slow_mc;\n\tunsigned int in_no_route;\n\tunsigned int in_brd;\n\tunsigned int in_martian_dst;\n\tunsigned int in_martian_src;\n\tunsigned int out_slow_tot;\n\tunsigned int out_slow_mc;\n};\n\nstruct rt_waiter_node {\n\tstruct rb_node entry;\n\tint prio;\n\tu64 deadline;\n};\n\nstruct rt_mutex_waiter {\n\tstruct rt_waiter_node tree;\n\tstruct rt_waiter_node pi_tree;\n\tstruct task_struct *task;\n\tstruct rt_mutex_base *lock;\n\tunsigned int wake_state;\n\tstruct ww_acquire_ctx *ww_ctx;\n};\n\nstruct rt_schedulable_data {\n\tstruct task_group *tg;\n\tu64 rt_period;\n\tu64 rt_runtime;\n};\n\nstruct sigaltstack {\n\tvoid *ss_sp;\n\tint ss_flags;\n\t__kernel_size_t ss_size;\n};\n\ntypedef struct sigaltstack stack_t;\n\nstruct sigcontext {\n\t__u64 sc_pc;\n\t__u64 sc_regs[32];\n\t__u32 sc_flags;\n\t__u64 sc_extcontext[0];\n};\n\nstruct ucontext {\n\tlong unsigned int uc_flags;\n\tstruct ucontext *uc_link;\n\tstack_t uc_stack;\n\tsigset_t uc_sigmask;\n\t__u8 __unused[120];\n\tlong: 64;\n\tstruct sigcontext uc_mcontext;\n};\n\nstruct rt_sigframe {\n\tstruct siginfo rs_info;\n\tstruct ucontext rs_uctx;\n};\n\nstruct wake_q_node;\n\nstruct wake_q_head {\n\tstruct wake_q_node *first;\n\tstruct wake_q_node **lastp;\n};\n\nstruct rt_wake_q_head {\n\tstruct wake_q_head head;\n\tstruct task_struct *rtlock_task;\n};\n\nstruct rta_cacheinfo {\n\t__u32 rta_clntref;\n\t__u32 rta_lastuse;\n\t__s32 rta_expires;\n\t__u32 rta_error;\n\t__u32 rta_used;\n\t__u32 rta_id;\n\t__u32 rta_ts;\n\t__u32 rta_tsage;\n};\n\nstruct rta_mfc_stats {\n\t__u64 mfcs_packets;\n\t__u64 mfcs_bytes;\n\t__u64 mfcs_wrong_if;\n};\n\nstruct rtc_time;\n\nstruct rtc_wkalrm;\n\nstruct rtc_param;\n\nstruct rtc_class_ops {\n\tint (*ioctl)(struct device *, unsigned int, long unsigned int);\n\tint (*read_time)(struct device *, struct rtc_time *);\n\tint (*set_time)(struct device *, struct rtc_time *);\n\tint (*read_alarm)(struct device *, struct rtc_wkalrm *);\n\tint (*set_alarm)(struct device *, struct rtc_wkalrm *);\n\tint (*proc)(struct device *, struct seq_file *);\n\tint (*alarm_irq_enable)(struct device *, unsigned int);\n\tint (*read_offset)(struct device *, long int *);\n\tint (*set_offset)(struct device *, long int);\n\tint (*param_get)(struct device *, struct rtc_param *);\n\tint (*param_set)(struct device *, struct rtc_param *);\n};\n\nstruct rtc_timer {\n\tstruct timerqueue_node node;\n\tktime_t period;\n\tvoid (*func)(struct rtc_device *);\n\tstruct rtc_device *rtc;\n\tint enabled;\n};\n\nstruct rtc_device {\n\tstruct device dev;\n\tstruct module *owner;\n\tint id;\n\tconst struct rtc_class_ops *ops;\n\tstruct mutex ops_lock;\n\tstruct cdev char_dev;\n\tlong unsigned int flags;\n\tlong unsigned int irq_data;\n\tspinlock_t irq_lock;\n\twait_queue_head_t irq_queue;\n\tstruct fasync_struct *async_queue;\n\tint irq_freq;\n\tint max_user_freq;\n\tstruct timerqueue_head timerqueue;\n\tstruct rtc_timer aie_timer;\n\tstruct rtc_timer uie_rtctimer;\n\tstruct hrtimer pie_timer;\n\tint pie_enabled;\n\tstruct work_struct irqwork;\n\tlong unsigned int set_offset_nsec;\n\tlong unsigned int features[1];\n\ttime64_t range_min;\n\ttimeu64_t range_max;\n\ttimeu64_t alarm_offset_max;\n\ttime64_t start_secs;\n\ttime64_t offset_secs;\n\tbool set_start_time;\n};\n\nstruct rtc_param {\n\t__u64 param;\n\tunion {\n\t\t__u64 uvalue;\n\t\t__s64 svalue;\n\t\t__u64 ptr;\n\t};\n\t__u32 index;\n\t__u32 __pad;\n};\n\nstruct rtc_time {\n\tint tm_sec;\n\tint tm_min;\n\tint tm_hour;\n\tint tm_mday;\n\tint tm_mon;\n\tint tm_year;\n\tint tm_wday;\n\tint tm_yday;\n\tint tm_isdst;\n};\n\nstruct rtc_wkalrm {\n\tunsigned char enabled;\n\tunsigned char pending;\n\tstruct rtc_time time;\n};\n\nstruct rtentry {\n\tlong unsigned int rt_pad1;\n\tstruct sockaddr rt_dst;\n\tstruct sockaddr rt_gateway;\n\tstruct sockaddr rt_genmask;\n\tshort unsigned int rt_flags;\n\tshort int rt_pad2;\n\tlong unsigned int rt_pad3;\n\tvoid *rt_pad4;\n\tshort int rt_metric;\n\tchar *rt_dev;\n\tlong unsigned int rt_mtu;\n\tlong unsigned int rt_window;\n\tshort unsigned int rt_irtt;\n};\n\nstruct rtgenmsg {\n\tunsigned char rtgen_family;\n};\n\nstruct rtl8169_counters {\n\t__le64 tx_packets;\n\t__le64 rx_packets;\n\t__le64 tx_errors;\n\t__le32 rx_errors;\n\t__le16 rx_missed;\n\t__le16 align_errors;\n\t__le32 tx_one_collision;\n\t__le32 tx_multi_collision;\n\t__le64 rx_unicast;\n\t__le64 rx_broadcast;\n\t__le32 rx_multicast;\n\t__le16 tx_aborted;\n\t__le16 tx_underrun;\n\t__le64 tx_octets;\n\t__le64 rx_octets;\n\t__le64 rx_multicast64;\n\t__le64 tx_unicast64;\n\t__le64 tx_broadcast64;\n\t__le64 tx_multicast64;\n\t__le32 tx_pause_on;\n\t__le32 tx_pause_off;\n\t__le32 tx_pause_all;\n\t__le32 tx_deferred;\n\t__le32 tx_late_collision;\n\t__le32 tx_all_collision;\n\t__le32 tx_aborted32;\n\t__le32 align_errors32;\n\t__le32 rx_frame_too_long;\n\t__le32 rx_runt;\n\t__le32 rx_pause_on;\n\t__le32 rx_pause_off;\n\t__le32 rx_pause_all;\n\t__le32 rx_unknown_opcode;\n\t__le32 rx_mac_error;\n\t__le32 tx_underrun32;\n\t__le32 rx_mac_missed;\n\t__le32 rx_tcam_dropped;\n\t__le32 tdu;\n\t__le32 rdu;\n};\n\nstruct rtl8169_tc_offsets {\n\tbool inited;\n\t__le64 tx_errors;\n\t__le32 tx_multi_collision;\n\t__le16 tx_aborted;\n\t__le16 rx_missed;\n};\n\nstruct r8169_led_classdev;\n\nstruct rtl_fw;\n\nstruct rtl8169_private {\n\tvoid *mmio_addr;\n\tstruct pci_dev *pci_dev;\n\tstruct net_device *dev;\n\tstruct phy_device *phydev;\n\tstruct napi_struct napi;\n\tenum mac_version mac_version;\n\tenum rtl_dash_type dash_type;\n\tu32 cur_rx;\n\tu32 cur_tx;\n\tu32 dirty_tx;\n\tstruct TxDesc *TxDescArray;\n\tstruct RxDesc *RxDescArray;\n\tdma_addr_t TxPhyAddr;\n\tdma_addr_t RxPhyAddr;\n\tstruct page *Rx_databuff[256];\n\tstruct ring_info tx_skb[256];\n\tu16 cp_cmd;\n\tu16 tx_lpi_timer;\n\tu32 irq_mask;\n\tint irq;\n\tstruct clk *clk;\n\tstruct {\n\t\tlong unsigned int flags[1];\n\t\tstruct work_struct work;\n\t} wk;\n\traw_spinlock_t mac_ocp_lock;\n\tstruct mutex led_lock;\n\tunsigned int supports_gmii: 1;\n\tunsigned int aspm_manageable: 1;\n\tunsigned int dash_enabled: 1;\n\tdma_addr_t counters_phys_addr;\n\tstruct rtl8169_counters *counters;\n\tstruct rtl8169_tc_offsets tc_offset;\n\tu32 saved_wolopts;\n\tconst char *fw_name;\n\tstruct rtl_fw *rtl_fw;\n\tstruct r8169_led_classdev *leds;\n\tu32 ocp_base;\n};\n\nstruct rtl821x_priv {\n\tu16 phycr1;\n\tu16 phycr2;\n\tbool has_phycr2;\n\tstruct clk *clk;\n};\n\nstruct rtl_coalesce_info {\n\tu32 speed;\n\tu32 scale_nsecs[4];\n};\n\nstruct rtl_cond {\n\tbool (*check)(struct rtl8169_private *);\n\tconst char *msg;\n};\n\ntypedef void (*rtl_fw_write_t)(struct rtl8169_private *, int, int);\n\ntypedef int (*rtl_fw_read_t)(struct rtl8169_private *, int);\n\nstruct rtl_fw_phy_action {\n\t__le32 *code;\n\tsize_t size;\n};\n\nstruct rtl_fw {\n\trtl_fw_write_t phy_write;\n\trtl_fw_read_t phy_read;\n\trtl_fw_write_t mac_mcu_write;\n\trtl_fw_read_t mac_mcu_read;\n\tconst struct firmware *fw;\n\tconst char *fw_name;\n\tstruct device *dev;\n\tchar version[32];\n\tstruct rtl_fw_phy_action phy_action;\n};\n\nstruct rtl_mac_info {\n\tu16 mask;\n\tu16 val;\n\tenum mac_version ver;\n};\n\nstruct rtm_dump_res_bucket_ctx;\n\nstruct rtm_dump_nexthop_bucket_data {\n\tstruct rtm_dump_res_bucket_ctx *ctx;\n\tstruct nh_dump_filter filter;\n};\n\nstruct rtm_dump_nh_ctx {\n\tu32 idx;\n};\n\nstruct rtm_dump_res_bucket_ctx {\n\tstruct rtm_dump_nh_ctx nh;\n\tu16 bucket_index;\n};\n\nstruct rtmsg {\n\tunsigned char rtm_family;\n\tunsigned char rtm_dst_len;\n\tunsigned char rtm_src_len;\n\tunsigned char rtm_tos;\n\tunsigned char rtm_table;\n\tunsigned char rtm_protocol;\n\tunsigned char rtm_scope;\n\tunsigned char rtm_type;\n\tunsigned int rtm_flags;\n};\n\nstruct rtnexthop {\n\tshort unsigned int rtnh_len;\n\tunsigned char rtnh_flags;\n\tunsigned char rtnh_hops;\n\tint rtnh_ifindex;\n};\n\nstruct rtnl_af_ops {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tint family;\n\tint (*fill_link_af)(struct sk_buff *, const struct net_device *, u32);\n\tsize_t (*get_link_af_size)(const struct net_device *, u32);\n\tint (*validate_link_af)(const struct net_device *, const struct nlattr *, struct netlink_ext_ack *);\n\tint (*set_link_af)(struct net_device *, const struct nlattr *, struct netlink_ext_ack *);\n\tint (*fill_stats_af)(struct sk_buff *, const struct net_device *);\n\tsize_t (*get_stats_af_size)(const struct net_device *);\n};\n\ntypedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, struct netlink_ext_ack *);\n\ntypedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *);\n\nstruct rtnl_link {\n\trtnl_doit_func doit;\n\trtnl_dumpit_func dumpit;\n\tstruct module *owner;\n\tunsigned int flags;\n\tstruct callback_head rcu;\n};\n\nstruct rtnl_link_ifmap {\n\t__u64 mem_start;\n\t__u64 mem_end;\n\t__u64 base_addr;\n\t__u16 irq;\n\t__u8 dma;\n\t__u8 port;\n};\n\nstruct rtnl_link_ops {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tconst char *kind;\n\tsize_t priv_size;\n\tstruct net_device * (*alloc)(struct nlattr **, const char *, unsigned char, unsigned int, unsigned int);\n\tvoid (*setup)(struct net_device *);\n\tbool netns_refund;\n\tconst u16 peer_type;\n\tunsigned int maxtype;\n\tconst struct nla_policy *policy;\n\tint (*validate)(struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tint (*newlink)(struct net *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tint (*changelink)(struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tvoid (*dellink)(struct net_device *, struct list_head *);\n\tsize_t (*get_size)(const struct net_device *);\n\tint (*fill_info)(struct sk_buff *, const struct net_device *);\n\tsize_t (*get_xstats_size)(const struct net_device *);\n\tint (*fill_xstats)(struct sk_buff *, const struct net_device *);\n\tunsigned int (*get_num_tx_queues)(void);\n\tunsigned int (*get_num_rx_queues)(void);\n\tunsigned int slave_maxtype;\n\tconst struct nla_policy *slave_policy;\n\tint (*slave_changelink)(struct net_device *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tsize_t (*get_slave_size)(const struct net_device *, const struct net_device *);\n\tint (*fill_slave_info)(struct sk_buff *, const struct net_device *, const struct net_device *);\n\tstruct net * (*get_link_net)(const struct net_device *);\n\tsize_t (*get_linkxstats_size)(const struct net_device *, int);\n\tint (*fill_linkxstats)(struct sk_buff *, const struct net_device *, int *, int);\n};\n\nstruct rtnl_link_stats {\n\t__u32 rx_packets;\n\t__u32 tx_packets;\n\t__u32 rx_bytes;\n\t__u32 tx_bytes;\n\t__u32 rx_errors;\n\t__u32 tx_errors;\n\t__u32 rx_dropped;\n\t__u32 tx_dropped;\n\t__u32 multicast;\n\t__u32 collisions;\n\t__u32 rx_length_errors;\n\t__u32 rx_over_errors;\n\t__u32 rx_crc_errors;\n\t__u32 rx_frame_errors;\n\t__u32 rx_fifo_errors;\n\t__u32 rx_missed_errors;\n\t__u32 tx_aborted_errors;\n\t__u32 tx_carrier_errors;\n\t__u32 tx_fifo_errors;\n\t__u32 tx_heartbeat_errors;\n\t__u32 tx_window_errors;\n\t__u32 rx_compressed;\n\t__u32 tx_compressed;\n\t__u32 rx_nohandler;\n};\n\nstruct rtnl_mdb_dump_ctx {\n\tlong int idx;\n};\n\nstruct rtnl_msg_handler {\n\tstruct module *owner;\n\tint protocol;\n\tint msgtype;\n\trtnl_doit_func doit;\n\trtnl_dumpit_func dumpit;\n\tint flags;\n};\n\nstruct rtnl_net_dump_cb {\n\tstruct net *tgt_net;\n\tstruct net *ref_net;\n\tstruct sk_buff *skb;\n\tstruct net_fill_args fillargs;\n\tint idx;\n\tint s_idx;\n};\n\nstruct rtnl_nets {\n\tstruct net *net[3];\n\tunsigned char len;\n};\n\nstruct rtnl_newlink_tbs {\n\tstruct nlattr *tb[67];\n\tstruct nlattr *linkinfo[6];\n\tstruct nlattr *attr[51];\n\tstruct nlattr *slave_attr[45];\n};\n\nstruct rtnl_offload_xstats_request_used {\n\tbool request;\n\tbool used;\n};\n\nstruct rtnl_stats_dump_filters {\n\tu32 mask[6];\n};\n\nstruct rtree_node {\n\tstruct list_head list;\n\tlong unsigned int *data;\n};\n\nstruct rtvia {\n\t__kernel_sa_family_t rtvia_family;\n\t__u8 rtvia_addr[0];\n};\n\nstruct rusage {\n\tstruct __kernel_old_timeval ru_utime;\n\tstruct __kernel_old_timeval ru_stime;\n\t__kernel_long_t ru_maxrss;\n\t__kernel_long_t ru_ixrss;\n\t__kernel_long_t ru_idrss;\n\t__kernel_long_t ru_isrss;\n\t__kernel_long_t ru_minflt;\n\t__kernel_long_t ru_majflt;\n\t__kernel_long_t ru_nswap;\n\t__kernel_long_t ru_inblock;\n\t__kernel_long_t ru_oublock;\n\t__kernel_long_t ru_msgsnd;\n\t__kernel_long_t ru_msgrcv;\n\t__kernel_long_t ru_nsignals;\n\t__kernel_long_t ru_nvcsw;\n\t__kernel_long_t ru_nivcsw;\n};\n\ntypedef struct rw_semaphore *class_rwsem_read_t;\n\ntypedef struct rw_semaphore *class_rwsem_write_t;\n\nstruct rwrt_feature_desc {\n\t__be16 feature_code;\n\t__u8 curr: 1;\n\t__u8 persistent: 1;\n\t__u8 feature_version: 4;\n\t__u8 reserved1: 2;\n\t__u8 add_len;\n\t__u32 last_lba;\n\t__u32 block_size;\n\t__u16 blocking;\n\t__u8 page_present: 1;\n\t__u8 reserved2: 7;\n\t__u8 reserved3;\n};\n\nstruct rwsem_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tenum rwsem_waiter_type type;\n\tlong unsigned int timeout;\n\tbool handoff_set;\n};\n\nstruct rx_ip_sa {\n\t__be32 ipaddr[4];\n\tu32 ref_cnt;\n\tbool used;\n};\n\nstruct rx_queue_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct netdev_rx_queue *, char *);\n\tssize_t (*store)(struct netdev_rx_queue *, const char *, size_t);\n};\n\nstruct rx_sa {\n\tstruct hlist_node hlist;\n\tstruct xfrm_state *xs;\n\t__be32 ipaddr[4];\n\tu32 key[4];\n\tu32 salt;\n\tu32 mode;\n\tu8 iptbl_ind;\n\tbool used;\n\tbool decrypt;\n\tu32 vf;\n};\n\nstruct s3_save {\n\tu32 command;\n\tu32 dev_nt;\n\tu64 dcbaa_ptr;\n\tu32 config_reg;\n};\n\nstruct s_data {\n\tstruct sched_domain **sd;\n\tstruct root_domain *rd;\n};\n\nstruct sa_mbx_msg {\n\t__be32 spi;\n\tu8 dir;\n\tu8 proto;\n\tu16 family;\n\t__be32 addr[4];\n\tu32 key[5];\n};\n\nstruct value_name_pair;\n\nstruct sa_name_list {\n\tint opcode;\n\tconst struct value_name_pair *arr;\n\tint arr_sz;\n};\n\nstruct sa_path_rec_ib {\n\t__be16 dlid;\n\t__be16 slid;\n\tu8 raw_traffic;\n};\n\nstruct sa_path_rec_roce {\n\tbool route_resolved;\n\tu8 dmac[6];\n};\n\nstruct sa_path_rec_opa {\n\t__be32 dlid;\n\t__be32 slid;\n\tu8 raw_traffic;\n\tu8 l2_8B;\n\tu8 l2_10B;\n\tu8 l2_9B;\n\tu8 l2_16B;\n\tu8 qos_type;\n\tu8 qos_priority;\n};\n\nstruct sa_path_rec {\n\tunion ib_gid dgid;\n\tunion ib_gid sgid;\n\t__be64 service_id;\n\t__be32 flow_label;\n\tu8 hop_limit;\n\tu8 traffic_class;\n\tu8 reversible;\n\tu8 numb_path;\n\t__be16 pkey;\n\t__be16 qos_class;\n\tu8 sl;\n\tu8 mtu_selector;\n\tu8 mtu;\n\tu8 rate_selector;\n\tu8 rate;\n\tu8 packet_life_time_selector;\n\tu8 packet_life_time;\n\tu8 preference;\n\tunion {\n\t\tstruct sa_path_rec_ib ib;\n\t\tstruct sa_path_rec_roce roce;\n\t\tstruct sa_path_rec_opa opa;\n\t};\n\tenum sa_path_rec_type rec_type;\n\tu32 flags;\n};\n\nstruct sadb_address {\n\t__u16 sadb_address_len;\n\t__u16 sadb_address_exttype;\n\t__u8 sadb_address_proto;\n\t__u8 sadb_address_prefixlen;\n\t__u16 sadb_address_reserved;\n};\n\nstruct sadb_alg {\n\t__u8 sadb_alg_id;\n\t__u8 sadb_alg_ivlen;\n\t__u16 sadb_alg_minbits;\n\t__u16 sadb_alg_maxbits;\n\t__u16 sadb_alg_reserved;\n};\n\nstruct sadb_comb {\n\t__u8 sadb_comb_auth;\n\t__u8 sadb_comb_encrypt;\n\t__u16 sadb_comb_flags;\n\t__u16 sadb_comb_auth_minbits;\n\t__u16 sadb_comb_auth_maxbits;\n\t__u16 sadb_comb_encrypt_minbits;\n\t__u16 sadb_comb_encrypt_maxbits;\n\t__u32 sadb_comb_reserved;\n\t__u32 sadb_comb_soft_allocations;\n\t__u32 sadb_comb_hard_allocations;\n\t__u64 sadb_comb_soft_bytes;\n\t__u64 sadb_comb_hard_bytes;\n\t__u64 sadb_comb_soft_addtime;\n\t__u64 sadb_comb_hard_addtime;\n\t__u64 sadb_comb_soft_usetime;\n\t__u64 sadb_comb_hard_usetime;\n};\n\nstruct sadb_ext {\n\t__u16 sadb_ext_len;\n\t__u16 sadb_ext_type;\n};\n\nstruct sadb_key {\n\t__u16 sadb_key_len;\n\t__u16 sadb_key_exttype;\n\t__u16 sadb_key_bits;\n\t__u16 sadb_key_reserved;\n};\n\nstruct sadb_lifetime {\n\t__u16 sadb_lifetime_len;\n\t__u16 sadb_lifetime_exttype;\n\t__u32 sadb_lifetime_allocations;\n\t__u64 sadb_lifetime_bytes;\n\t__u64 sadb_lifetime_addtime;\n\t__u64 sadb_lifetime_usetime;\n};\n\nstruct sadb_msg {\n\t__u8 sadb_msg_version;\n\t__u8 sadb_msg_type;\n\t__u8 sadb_msg_errno;\n\t__u8 sadb_msg_satype;\n\t__u16 sadb_msg_len;\n\t__u16 sadb_msg_reserved;\n\t__u32 sadb_msg_seq;\n\t__u32 sadb_msg_pid;\n};\n\nstruct sadb_prop {\n\t__u16 sadb_prop_len;\n\t__u16 sadb_prop_exttype;\n\t__u8 sadb_prop_replay;\n\t__u8 sadb_prop_reserved[3];\n};\n\nstruct sadb_sa {\n\t__u16 sadb_sa_len;\n\t__u16 sadb_sa_exttype;\n\t__be32 sadb_sa_spi;\n\t__u8 sadb_sa_replay;\n\t__u8 sadb_sa_state;\n\t__u8 sadb_sa_auth;\n\t__u8 sadb_sa_encrypt;\n\t__u32 sadb_sa_flags;\n};\n\nstruct sadb_spirange {\n\t__u16 sadb_spirange_len;\n\t__u16 sadb_spirange_exttype;\n\t__u32 sadb_spirange_min;\n\t__u32 sadb_spirange_max;\n\t__u32 sadb_spirange_reserved;\n};\n\nstruct sadb_supported {\n\t__u16 sadb_supported_len;\n\t__u16 sadb_supported_exttype;\n\t__u32 sadb_supported_reserved;\n};\n\nstruct sadb_x_filter {\n\t__u16 sadb_x_filter_len;\n\t__u16 sadb_x_filter_exttype;\n\t__u32 sadb_x_filter_saddr[4];\n\t__u32 sadb_x_filter_daddr[4];\n\t__u16 sadb_x_filter_family;\n\t__u8 sadb_x_filter_splen;\n\t__u8 sadb_x_filter_dplen;\n};\n\nstruct sadb_x_ipsecrequest {\n\t__u16 sadb_x_ipsecrequest_len;\n\t__u16 sadb_x_ipsecrequest_proto;\n\t__u8 sadb_x_ipsecrequest_mode;\n\t__u8 sadb_x_ipsecrequest_level;\n\t__u16 sadb_x_ipsecrequest_reserved1;\n\t__u32 sadb_x_ipsecrequest_reqid;\n\t__u32 sadb_x_ipsecrequest_reserved2;\n};\n\nstruct sadb_x_nat_t_port {\n\t__u16 sadb_x_nat_t_port_len;\n\t__u16 sadb_x_nat_t_port_exttype;\n\t__be16 sadb_x_nat_t_port_port;\n\t__u16 sadb_x_nat_t_port_reserved;\n};\n\nstruct sadb_x_nat_t_type {\n\t__u16 sadb_x_nat_t_type_len;\n\t__u16 sadb_x_nat_t_type_exttype;\n\t__u8 sadb_x_nat_t_type_type;\n\t__u8 sadb_x_nat_t_type_reserved[3];\n};\n\nstruct sadb_x_policy {\n\t__u16 sadb_x_policy_len;\n\t__u16 sadb_x_policy_exttype;\n\t__u16 sadb_x_policy_type;\n\t__u8 sadb_x_policy_dir;\n\t__u8 sadb_x_policy_reserved;\n\t__u32 sadb_x_policy_id;\n\t__u32 sadb_x_policy_priority;\n};\n\nstruct sadb_x_sa2 {\n\t__u16 sadb_x_sa2_len;\n\t__u16 sadb_x_sa2_exttype;\n\t__u8 sadb_x_sa2_mode;\n\t__u8 sadb_x_sa2_reserved1;\n\t__u16 sadb_x_sa2_reserved2;\n\t__u32 sadb_x_sa2_sequence;\n\t__u32 sadb_x_sa2_reqid;\n};\n\nstruct sadb_x_sec_ctx {\n\t__u16 sadb_x_sec_len;\n\t__u16 sadb_x_sec_exttype;\n\t__u8 sadb_x_ctx_alg;\n\t__u8 sadb_x_ctx_doi;\n\t__u16 sadb_x_ctx_len;\n};\n\nstruct sas_ata_task {\n\tstruct host_to_dev_fis fis;\n\tu8 atapi_packet[16];\n\tu8 dma_xfer: 1;\n\tu8 use_ncq: 1;\n\tu8 return_fis_on_success: 1;\n\tu8 device_control_reg_update: 1;\n\tbool force_phy;\n\tint force_phy_id;\n};\n\nstruct sas_domain_function_template {\n\tvoid (*lldd_port_formed)(struct asd_sas_phy *);\n\tvoid (*lldd_port_deformed)(struct asd_sas_phy *);\n\tint (*lldd_dev_found)(struct domain_device *);\n\tvoid (*lldd_dev_gone)(struct domain_device *);\n\tint (*lldd_execute_task)(struct sas_task *, gfp_t);\n\tint (*lldd_abort_task)(struct sas_task *);\n\tint (*lldd_abort_task_set)(struct domain_device *, u8 *);\n\tint (*lldd_clear_task_set)(struct domain_device *, u8 *);\n\tint (*lldd_I_T_nexus_reset)(struct domain_device *);\n\tint (*lldd_ata_check_ready)(struct domain_device *);\n\tvoid (*lldd_ata_set_dmamode)(struct domain_device *);\n\tint (*lldd_lu_reset)(struct domain_device *, u8 *);\n\tint (*lldd_query_task)(struct sas_task *);\n\tvoid (*lldd_tmf_exec_complete)(struct domain_device *);\n\tvoid (*lldd_tmf_aborted)(struct sas_task *);\n\tbool (*lldd_abort_timeout)(struct sas_task *, void *);\n\tint (*lldd_clear_nexus_port)(struct asd_sas_port *);\n\tint (*lldd_clear_nexus_ha)(struct sas_ha_struct *);\n\tint (*lldd_control_phy)(struct asd_sas_phy *, enum phy_func, void *);\n\tint (*lldd_write_gpio)(struct sas_ha_struct *, u8, u8, u8, u8 *);\n};\n\nstruct sas_rphy {\n\tstruct device dev;\n\tstruct sas_identify identify;\n\tstruct list_head list;\n\tstruct request_queue *q;\n\tu32 scsi_target_id;\n};\n\nstruct sas_end_device {\n\tstruct sas_rphy rphy;\n\tunsigned int ready_led_meaning: 1;\n\tunsigned int tlr_supported: 1;\n\tunsigned int tlr_enabled: 1;\n\tu16 I_T_nexus_loss_timeout;\n\tu16 initiator_response_timeout;\n};\n\nstruct sas_expander_device {\n\tint level;\n\tint next_port_id;\n\tchar vendor_id[9];\n\tchar product_id[17];\n\tchar product_rev[5];\n\tchar component_vendor_id[9];\n\tu16 component_id;\n\tu8 component_revision_id;\n\tstruct sas_rphy rphy;\n};\n\nstruct sas_function_template {\n\tint (*get_linkerrors)(struct sas_phy *);\n\tint (*get_enclosure_identifier)(struct sas_rphy *, u64 *);\n\tint (*get_bay_identifier)(struct sas_rphy *);\n\tint (*phy_reset)(struct sas_phy *, int);\n\tint (*phy_enable)(struct sas_phy *, int);\n\tint (*phy_setup)(struct sas_phy *);\n\tvoid (*phy_release)(struct sas_phy *);\n\tint (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *);\n\tvoid (*smp_handler)(struct bsg_job *, struct Scsi_Host *, struct sas_rphy *);\n};\n\nstruct sas_ha_struct {\n\tstruct list_head defer_q;\n\tstruct mutex drain_mutex;\n\tlong unsigned int state;\n\tspinlock_t lock;\n\tint eh_active;\n\twait_queue_head_t eh_wait_q;\n\tstruct list_head eh_dev_q;\n\tstruct mutex disco_mutex;\n\tstruct Scsi_Host *shost;\n\tchar *sas_ha_name;\n\tstruct device *dev;\n\tstruct workqueue_struct *event_q;\n\tstruct workqueue_struct *disco_q;\n\tu8 *sas_addr;\n\tu8 hashed_sas_addr[3];\n\tspinlock_t phy_port_lock;\n\tstruct asd_sas_phy **sas_phy;\n\tstruct asd_sas_port **sas_port;\n\tint num_phys;\n\tint strict_wide_ports;\n\tvoid *lldd_ha;\n\tstruct list_head eh_done_q;\n\tstruct list_head eh_ata_q;\n\tint event_thres;\n};\n\nstruct sas_host_attrs {\n\tstruct list_head rphy_list;\n\tstruct mutex lock;\n\tstruct request_queue *q;\n\tu32 next_target_id;\n\tu32 next_expander_id;\n\tint next_port_id;\n};\n\nstruct sas_identify_frame {\n\tu8 frame_type: 4;\n\tu8 dev_type: 3;\n\tu8 _un0: 1;\n\tu8 _un1;\n\tunion {\n\t\tstruct {\n\t\t\tu8 _un20: 1;\n\t\t\tu8 smp_iport: 1;\n\t\t\tu8 stp_iport: 1;\n\t\t\tu8 ssp_iport: 1;\n\t\t\tu8 _un247: 4;\n\t\t};\n\t\tu8 initiator_bits;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu8 _un30: 1;\n\t\t\tu8 smp_tport: 1;\n\t\t\tu8 stp_tport: 1;\n\t\t\tu8 ssp_tport: 1;\n\t\t\tu8 _un347: 4;\n\t\t};\n\t\tu8 target_bits;\n\t};\n\tu8 _un4_11[8];\n\tu8 sas_addr[8];\n\tu8 phy_id;\n\tu8 _un21_27[7];\n\t__be32 crc;\n};\n\nstruct sas_internal {\n\tstruct scsi_transport_template t;\n\tstruct sas_function_template *f;\n\tstruct sas_domain_function_template *dft;\n\tstruct device_attribute private_host_attrs[0];\n\tstruct device_attribute private_phy_attrs[17];\n\tstruct device_attribute private_port_attrs[1];\n\tstruct device_attribute private_rphy_attrs[8];\n\tstruct device_attribute private_end_dev_attrs[5];\n\tstruct device_attribute private_expander_attrs[7];\n\tstruct transport_container phy_attr_cont;\n\tstruct transport_container port_attr_cont;\n\tstruct transport_container rphy_attr_cont;\n\tstruct transport_container end_dev_attr_cont;\n\tstruct transport_container expander_attr_cont;\n\tstruct device_attribute *host_attrs[1];\n\tstruct device_attribute *phy_attrs[18];\n\tstruct device_attribute *port_attrs[2];\n\tstruct device_attribute *rphy_attrs[9];\n\tstruct device_attribute *end_dev_attrs[6];\n\tstruct device_attribute *expander_attrs[8];\n};\n\nstruct sas_internal_abort_task {\n\tenum sas_internal_abort type;\n\tunsigned int qid;\n\tu16 tag;\n};\n\nstruct sas_phy {\n\tstruct device dev;\n\tint number;\n\tint enabled;\n\tstruct sas_identify identify;\n\tenum sas_linkrate negotiated_linkrate;\n\tenum sas_linkrate minimum_linkrate_hw;\n\tenum sas_linkrate minimum_linkrate;\n\tenum sas_linkrate maximum_linkrate_hw;\n\tenum sas_linkrate maximum_linkrate;\n\tu32 invalid_dword_count;\n\tu32 running_disparity_error_count;\n\tu32 loss_of_dword_sync_count;\n\tu32 phy_reset_problem_count;\n\tstruct list_head port_siblings;\n\tvoid *hostdata;\n};\n\nstruct sas_phy_data {\n\tstruct sas_phy *phy;\n\tstruct mutex event_lock;\n\tint hard_reset;\n\tint reset_result;\n\tstruct sas_work reset_work;\n\tint enable;\n\tint enable_result;\n\tstruct sas_work enable_work;\n};\n\nstruct sas_phy_linkrates {\n\tenum sas_linkrate maximum_linkrate;\n\tenum sas_linkrate minimum_linkrate;\n};\n\nstruct sas_port {\n\tstruct device dev;\n\tint port_identifier;\n\tint num_phys;\n\tunsigned int is_backlink: 1;\n\tstruct sas_rphy *rphy;\n\tstruct mutex phy_list_mutex;\n\tstruct list_head phy_list;\n\tstruct list_head del_list;\n};\n\nstruct sas_smp_task {\n\tstruct scatterlist smp_req;\n\tstruct scatterlist smp_resp;\n};\n\nstruct sas_ssp_task {\n\tu8 LUN[8];\n\tenum task_attribute task_attr;\n\tstruct scsi_cmnd *cmd;\n};\n\nstruct task_status_struct {\n\tenum service_response resp;\n\tenum exec_status stat;\n\tint buf_valid_size;\n\tu8 buf[96];\n\tu32 residual;\n\tenum sas_open_rej_reason open_rej_reason;\n};\n\nstruct sas_task_slow;\n\nstruct sas_tmf_task;\n\nstruct sas_task {\n\tstruct domain_device *dev;\n\tspinlock_t task_state_lock;\n\tunsigned int task_state_flags;\n\tenum sas_protocol task_proto;\n\tunion {\n\t\tstruct sas_ata_task ata_task;\n\t\tstruct sas_smp_task smp_task;\n\t\tstruct sas_ssp_task ssp_task;\n\t\tstruct sas_internal_abort_task abort_task;\n\t};\n\tstruct scatterlist *scatter;\n\tint num_scatter;\n\tu32 total_xfer_len;\n\tu8 data_dir: 2;\n\tstruct task_status_struct task_status;\n\tvoid (*task_done)(struct sas_task *);\n\tvoid *lldd_task;\n\tvoid *uldd_task;\n\tstruct sas_task_slow *slow_task;\n\tstruct sas_tmf_task *tmf;\n};\n\nstruct sas_task_slow {\n\tstruct timer_list timer;\n\tstruct completion completion;\n\tstruct sas_task *task;\n};\n\nstruct sas_tmf_task {\n\tu8 tmf;\n\tu16 tag_of_task_to_be_managed;\n};\n\nstruct saved_alias {\n\tstruct kmem_cache *s;\n\tconst char *name;\n\tstruct saved_alias *next;\n};\n\nstruct saved_cmdlines_buffer {\n\tunsigned int map_pid_to_cmdline[32769];\n\tunsigned int *map_cmdline_to_pid;\n\tunsigned int cmdline_num;\n\tint cmdline_idx;\n\tchar saved_cmdlines[0];\n};\n\nstruct saved_registers {\n\tu32 ecfg;\n\tu32 euen;\n\tu64 pgd;\n\tu64 kpgd;\n\tu32 pwctl0;\n\tu32 pwctl1;\n\tu64 pcpu_base;\n};\n\nstruct saved_syn {\n\tu32 mac_hdrlen;\n\tu32 network_hdrlen;\n\tu32 tcp_hdrlen;\n\tu8 data[0];\n};\n\nstruct sb_reg {\n\tunsigned int reg;\n\tunsigned int size;\n};\n\nstruct sb_writers {\n\tshort unsigned int frozen;\n\tint freeze_kcount;\n\tint freeze_ucount;\n\tstruct percpu_rw_semaphore rw_sem[3];\n};\n\nstruct sbitmap_word {\n\tlong unsigned int word;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int cleared;\n\traw_spinlock_t swap_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbq_wait_state {\n\twait_queue_head_t wait;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct scan_control {\n\tlong unsigned int nr_to_reclaim;\n\tnodemask_t *nodemask;\n\tstruct mem_cgroup *target_mem_cgroup;\n\tlong unsigned int anon_cost;\n\tlong unsigned int file_cost;\n\tint *proactive_swappiness;\n\tunsigned int may_deactivate: 2;\n\tunsigned int force_deactivate: 1;\n\tunsigned int skipped_deactivate: 1;\n\tunsigned int may_writepage: 1;\n\tunsigned int may_unmap: 1;\n\tunsigned int may_swap: 1;\n\tunsigned int no_cache_trim_mode: 1;\n\tunsigned int cache_trim_mode_failed: 1;\n\tunsigned int proactive: 1;\n\tunsigned int memcg_low_reclaim: 1;\n\tunsigned int memcg_low_skipped: 1;\n\tunsigned int memcg_full_walk: 1;\n\tunsigned int hibernation_mode: 1;\n\tunsigned int compaction_ready: 1;\n\tunsigned int cache_trim_mode: 1;\n\tunsigned int file_is_tiny: 1;\n\tunsigned int no_demotion: 1;\n\ts8 order;\n\ts8 priority;\n\ts8 reclaim_idx;\n\tgfp_t gfp_mask;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tstruct {\n\t\tunsigned int dirty;\n\t\tunsigned int unqueued_dirty;\n\t\tunsigned int congested;\n\t\tunsigned int writeback;\n\t\tunsigned int immediate;\n\t\tunsigned int file_taken;\n\t\tunsigned int taken;\n\t} nr;\n\tstruct reclaim_state reclaim_state;\n};\n\nstruct scatter_walk {\n\tstruct scatterlist *sg;\n\tunsigned int offset;\n};\n\nstruct scfg_guts {\n\tu32 svr;\n\tu8 res0[4];\n\tu16 feature;\n\tu32 vendor;\n\tu8 res1[6];\n\tu32 id;\n\tu8 res2[16352];\n\tu32 chip;\n};\n\nstruct sch_frag_data {\n\tlong unsigned int dst;\n\tstruct qdisc_skb_cb cb;\n\t__be16 inner_protocol;\n\tu16 vlan_tci;\n\t__be16 vlan_proto;\n\tunsigned int l2_len;\n\tu8 l2_data[18];\n\tint (*xmit)(struct sk_buff *);\n};\n\nstruct sched_attr {\n\t__u32 size;\n\t__u32 sched_policy;\n\t__u64 sched_flags;\n\t__s32 sched_nice;\n\t__u32 sched_priority;\n\t__u64 sched_runtime;\n\t__u64 sched_deadline;\n\t__u64 sched_period;\n\t__u32 sched_util_min;\n\t__u32 sched_util_max;\n};\n\nstruct sched_class {\n\tvoid (*enqueue_task)(struct rq *, struct task_struct *, int);\n\tbool (*dequeue_task)(struct rq *, struct task_struct *, int);\n\tvoid (*yield_task)(struct rq *);\n\tbool (*yield_to_task)(struct rq *, struct task_struct *);\n\tvoid (*wakeup_preempt)(struct rq *, struct task_struct *, int);\n\tint (*balance)(struct rq *, struct task_struct *, struct rq_flags *);\n\tstruct task_struct * (*pick_task)(struct rq *);\n\tstruct task_struct * (*pick_next_task)(struct rq *, struct task_struct *);\n\tvoid (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *);\n\tvoid (*set_next_task)(struct rq *, struct task_struct *, bool);\n\tint (*select_task_rq)(struct task_struct *, int, int);\n\tvoid (*migrate_task_rq)(struct task_struct *, int);\n\tvoid (*task_woken)(struct rq *, struct task_struct *);\n\tvoid (*set_cpus_allowed)(struct task_struct *, struct affinity_context *);\n\tvoid (*rq_online)(struct rq *);\n\tvoid (*rq_offline)(struct rq *);\n\tstruct rq * (*find_lock_rq)(struct task_struct *, struct rq *);\n\tvoid (*task_tick)(struct rq *, struct task_struct *, int);\n\tvoid (*task_fork)(struct task_struct *);\n\tvoid (*task_dead)(struct task_struct *);\n\tvoid (*switching_to)(struct rq *, struct task_struct *);\n\tvoid (*switched_from)(struct rq *, struct task_struct *);\n\tvoid (*switched_to)(struct rq *, struct task_struct *);\n\tvoid (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *);\n\tvoid (*prio_changed)(struct rq *, struct task_struct *, int);\n\tunsigned int (*get_rr_interval)(struct rq *, struct task_struct *);\n\tvoid (*update_curr)(struct rq *);\n\tvoid (*task_change_group)(struct task_struct *);\n\tint (*task_is_throttled)(struct task_struct *, int);\n};\n\nstruct sched_core_cookie {\n\trefcount_t refcnt;\n};\n\nstruct sched_group;\n\nstruct sched_domain_shared;\n\nstruct sched_domain {\n\tstruct sched_domain *parent;\n\tstruct sched_domain *child;\n\tstruct sched_group *groups;\n\tlong unsigned int min_interval;\n\tlong unsigned int max_interval;\n\tunsigned int busy_factor;\n\tunsigned int imbalance_pct;\n\tunsigned int cache_nice_tries;\n\tunsigned int imb_numa_nr;\n\tint nohz_idle;\n\tint flags;\n\tint level;\n\tlong unsigned int last_balance;\n\tunsigned int balance_interval;\n\tunsigned int nr_balance_failed;\n\tu64 max_newidle_lb_cost;\n\tlong unsigned int last_decay_max_lb_cost;\n\tunsigned int lb_count[3];\n\tunsigned int lb_failed[3];\n\tunsigned int lb_balanced[3];\n\tunsigned int lb_imbalance_load[3];\n\tunsigned int lb_imbalance_util[3];\n\tunsigned int lb_imbalance_task[3];\n\tunsigned int lb_imbalance_misfit[3];\n\tunsigned int lb_gained[3];\n\tunsigned int lb_hot_gained[3];\n\tunsigned int lb_nobusyg[3];\n\tunsigned int lb_nobusyq[3];\n\tunsigned int alb_count;\n\tunsigned int alb_failed;\n\tunsigned int alb_pushed;\n\tunsigned int sbe_count;\n\tunsigned int sbe_balanced;\n\tunsigned int sbe_pushed;\n\tunsigned int sbf_count;\n\tunsigned int sbf_balanced;\n\tunsigned int sbf_pushed;\n\tunsigned int ttwu_wake_remote;\n\tunsigned int ttwu_move_affine;\n\tunsigned int ttwu_move_balance;\n\tchar *name;\n\tunion {\n\t\tvoid *private;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct sched_domain_shared *shared;\n\tunsigned int span_weight;\n\tlong unsigned int span[0];\n};\n\nstruct sched_domain_attr {\n\tint relax_domain_level;\n};\n\nstruct sched_domain_shared {\n\tatomic_t ref;\n\tatomic_t nr_busy_cpus;\n\tint has_idle_cores;\n\tint nr_idle_scan;\n};\n\ntypedef const struct cpumask * (*sched_domain_mask_f)(int);\n\ntypedef int (*sched_domain_flags_f)(void);\n\nstruct sched_group_capacity;\n\nstruct sd_data {\n\tstruct sched_domain **sd;\n\tstruct sched_domain_shared **sds;\n\tstruct sched_group **sg;\n\tstruct sched_group_capacity **sgc;\n};\n\nstruct sched_domain_topology_level {\n\tsched_domain_mask_f mask;\n\tsched_domain_flags_f sd_flags;\n\tint flags;\n\tint numa_level;\n\tstruct sd_data data;\n\tchar *name;\n};\n\nstruct sched_entity {\n\tstruct load_weight load;\n\tstruct rb_node run_node;\n\tu64 deadline;\n\tu64 min_vruntime;\n\tu64 min_slice;\n\tstruct list_head group_node;\n\tunsigned char on_rq;\n\tunsigned char sched_delayed;\n\tunsigned char rel_deadline;\n\tunsigned char custom_slice;\n\tu64 exec_start;\n\tu64 sum_exec_runtime;\n\tu64 prev_sum_exec_runtime;\n\tu64 vruntime;\n\ts64 vlag;\n\tu64 slice;\n\tu64 nr_migrations;\n\tint depth;\n\tstruct sched_entity *parent;\n\tstruct cfs_rq *cfs_rq;\n\tstruct cfs_rq *my_q;\n\tlong unsigned int runnable_weight;\n\tlong: 64;\n\tstruct sched_avg avg;\n};\n\nstruct sched_statistics {\n\tu64 wait_start;\n\tu64 wait_max;\n\tu64 wait_count;\n\tu64 wait_sum;\n\tu64 iowait_count;\n\tu64 iowait_sum;\n\tu64 sleep_start;\n\tu64 sleep_max;\n\ts64 sum_sleep_runtime;\n\tu64 block_start;\n\tu64 block_max;\n\ts64 sum_block_runtime;\n\ts64 exec_max;\n\tu64 slice_max;\n\tu64 nr_migrations_cold;\n\tu64 nr_failed_migrations_affine;\n\tu64 nr_failed_migrations_running;\n\tu64 nr_failed_migrations_hot;\n\tu64 nr_forced_migrations;\n\tu64 nr_wakeups;\n\tu64 nr_wakeups_sync;\n\tu64 nr_wakeups_migrate;\n\tu64 nr_wakeups_local;\n\tu64 nr_wakeups_remote;\n\tu64 nr_wakeups_affine;\n\tu64 nr_wakeups_affine_attempts;\n\tu64 nr_wakeups_passive;\n\tu64 nr_wakeups_idle;\n\tu64 core_forceidle_sum;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sched_entity_stats {\n\tstruct sched_entity se;\n\tstruct sched_statistics stats;\n};\n\nstruct sched_group {\n\tstruct sched_group *next;\n\tatomic_t ref;\n\tunsigned int group_weight;\n\tunsigned int cores;\n\tstruct sched_group_capacity *sgc;\n\tint asym_prefer_cpu;\n\tint flags;\n\tlong unsigned int cpumask[0];\n};\n\nstruct sched_group_capacity {\n\tatomic_t ref;\n\tlong unsigned int capacity;\n\tlong unsigned int min_capacity;\n\tlong unsigned int max_capacity;\n\tlong unsigned int next_update;\n\tint imbalance;\n\tlong unsigned int cpumask[0];\n};\n\nstruct sched_param {\n\tint sched_priority;\n};\n\nstruct sched_rt_entity {\n\tstruct list_head run_list;\n\tlong unsigned int timeout;\n\tlong unsigned int watchdog_stamp;\n\tunsigned int time_slice;\n\tshort unsigned int on_rq;\n\tshort unsigned int on_list;\n\tstruct sched_rt_entity *back;\n\tstruct sched_rt_entity *parent;\n\tstruct rt_rq *rt_rq;\n\tstruct rt_rq *my_q;\n};\n\nstruct scm_fp_list;\n\nstruct scm_cookie {\n\tstruct pid *pid;\n\tstruct scm_fp_list *fp;\n\tstruct scm_creds creds;\n\tu32 secid;\n};\n\nstruct unix_edge;\n\nstruct scm_fp_list {\n\tshort int count;\n\tshort int count_unix;\n\tshort int max;\n\tbool inflight;\n\tbool dead;\n\tstruct list_head vertices;\n\tstruct unix_edge *edges;\n\tstruct user_struct *user;\n\tstruct file *fp[253];\n};\n\nstruct scm_stat {\n\tatomic_t nr_fds;\n\tlong unsigned int nr_unix_fds;\n};\n\nstruct scm_timestamping {\n\tstruct __kernel_old_timespec ts[3];\n};\n\nstruct scm_timestamping64 {\n\tstruct __kernel_timespec ts[3];\n};\n\nstruct scm_timestamping_internal {\n\tstruct timespec64 ts[3];\n};\n\nstruct scm_ts_pktinfo {\n\t__u32 if_index;\n\t__u32 pkt_length;\n\t__u32 reserved[2];\n};\n\nstruct scomp_alg {\n\tvoid * (*alloc_ctx)(struct crypto_scomp *);\n\tvoid (*free_ctx)(struct crypto_scomp *, void *);\n\tint (*compress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *);\n\tint (*decompress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *);\n\tunion {\n\t\tstruct {\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct comp_alg_common calg;\n\t};\n};\n\nstruct scomp_scratch {\n\tspinlock_t lock;\n\tvoid *src;\n\tvoid *dst;\n};\n\nstruct screen_info {\n\t__u8 orig_x;\n\t__u8 orig_y;\n\t__u16 ext_mem_k;\n\t__u16 orig_video_page;\n\t__u8 orig_video_mode;\n\t__u8 orig_video_cols;\n\t__u8 flags;\n\t__u8 unused2;\n\t__u16 orig_video_ega_bx;\n\t__u16 unused3;\n\t__u8 orig_video_lines;\n\t__u8 orig_video_isVGA;\n\t__u16 orig_video_points;\n\t__u16 lfb_width;\n\t__u16 lfb_height;\n\t__u16 lfb_depth;\n\t__u32 lfb_base;\n\t__u32 lfb_size;\n\t__u16 cl_magic;\n\t__u16 cl_offset;\n\t__u16 lfb_linelength;\n\t__u8 red_size;\n\t__u8 red_pos;\n\t__u8 green_size;\n\t__u8 green_pos;\n\t__u8 blue_size;\n\t__u8 blue_pos;\n\t__u8 rsvd_size;\n\t__u8 rsvd_pos;\n\t__u16 vesapm_seg;\n\t__u16 vesapm_off;\n\t__u16 pages;\n\t__u16 vesa_attributes;\n\t__u32 capabilities;\n\t__u32 ext_lfb_base;\n\t__u8 _reserved[2];\n} __attribute__((packed));\n\nstruct scrub_sector_verification;\n\nstruct scrub_stripe {\n\tstruct scrub_ctx *sctx;\n\tstruct btrfs_block_group *bg;\n\tstruct page *pages[4];\n\tstruct scrub_sector_verification *sectors;\n\tstruct btrfs_device *dev;\n\tu64 logical;\n\tu64 physical;\n\tu16 mirror_num;\n\tu16 nr_sectors;\n\tu16 nr_data_extents;\n\tu16 nr_meta_extents;\n\tatomic_t pending_io;\n\twait_queue_head_t io_wait;\n\twait_queue_head_t repair_wait;\n\tlong unsigned int state;\n\tlong unsigned int extent_sector_bitmap;\n\tlong unsigned int init_error_bitmap;\n\tunsigned int init_nr_io_errors;\n\tunsigned int init_nr_csum_errors;\n\tunsigned int init_nr_meta_errors;\n\tlong unsigned int error_bitmap;\n\tlong unsigned int io_error_bitmap;\n\tlong unsigned int csum_error_bitmap;\n\tlong unsigned int meta_error_bitmap;\n\tlong unsigned int write_error_bitmap;\n\tspinlock_t write_error_lock;\n\tu8 *csums;\n\tstruct work_struct work;\n};\n\nstruct scrub_ctx {\n\tstruct scrub_stripe stripes[128];\n\tstruct scrub_stripe *raid56_data_stripes;\n\tstruct btrfs_fs_info *fs_info;\n\tstruct btrfs_path extent_path;\n\tstruct btrfs_path csum_path;\n\tint first_free;\n\tint cur_stripe;\n\tatomic_t cancel_req;\n\tint readonly;\n\tktime_t throttle_deadline;\n\tu64 throttle_sent;\n\tint is_dev_replace;\n\tu64 write_pointer;\n\tstruct mutex wr_lock;\n\tstruct btrfs_device *wr_tgtdev;\n\tstruct btrfs_scrub_progress stat;\n\tspinlock_t stat_lock;\n\trefcount_t refs;\n};\n\nstruct scrub_sector_verification {\n\tbool is_metadata;\n\tunion {\n\t\tu8 *csum;\n\t\tu64 generation;\n\t};\n};\n\nstruct scrub_warning {\n\tstruct btrfs_path *path;\n\tu64 extent_item_size;\n\tconst char *errstr;\n\tu64 physical;\n\tu64 logical;\n\tstruct btrfs_device *dev;\n};\n\nstruct scsi_cd {\n\tunsigned int capacity;\n\tstruct scsi_device *device;\n\tunsigned int vendor;\n\tlong unsigned int ms_offset;\n\tunsigned int writeable: 1;\n\tunsigned int use: 1;\n\tunsigned int xa_flag: 1;\n\tunsigned int readcd_known: 1;\n\tunsigned int readcd_cdda: 1;\n\tunsigned int media_present: 1;\n\tint tur_mismatch;\n\tbool tur_changed: 1;\n\tbool get_event_changed: 1;\n\tbool ignore_get_event: 1;\n\tstruct cdrom_device_info cdi;\n\tstruct mutex lock;\n\tstruct gendisk *disk;\n};\n\ntypedef struct scsi_cd Scsi_CD;\n\nstruct scsi_data_buffer {\n\tstruct sg_table table;\n\tunsigned int length;\n};\n\nstruct scsi_cmnd {\n\tstruct scsi_device *device;\n\tstruct list_head eh_entry;\n\tstruct delayed_work abort_work;\n\tstruct callback_head rcu;\n\tint eh_eflags;\n\tint budget_token;\n\tlong unsigned int jiffies_at_alloc;\n\tint retries;\n\tint allowed;\n\tunsigned char prot_op;\n\tunsigned char prot_type;\n\tunsigned char prot_flags;\n\tenum scsi_cmnd_submitter submitter;\n\tshort unsigned int cmd_len;\n\tenum dma_data_direction sc_data_direction;\n\tunsigned char cmnd[32];\n\tstruct scsi_data_buffer sdb;\n\tstruct scsi_data_buffer *prot_sdb;\n\tunsigned int underflow;\n\tunsigned int transfersize;\n\tunsigned int resid_len;\n\tunsigned int sense_len;\n\tunsigned char *sense_buffer;\n\tint flags;\n\tlong unsigned int state;\n\tunsigned int extra_len;\n\tunsigned char *host_scribble;\n\tint result;\n};\n\nstruct scsi_cmd_and_priv {\n\tstruct scsi_cmnd cmd;\n\tstruct megaraid_cmd_priv priv;\n};\n\nstruct scsi_dev_info_list {\n\tstruct list_head dev_info_list;\n\tchar vendor[8];\n\tchar model[16];\n\tblist_flags_t flags;\n\tunsigned int compatible;\n};\n\nstruct scsi_dev_info_list_table {\n\tstruct list_head node;\n\tstruct list_head scsi_dev_info_list;\n\tconst char *name;\n\tint key;\n};\n\nstruct scsi_vpd;\n\nstruct scsi_device_handler;\n\nstruct scsi_device {\n\tstruct Scsi_Host *host;\n\tstruct request_queue *request_queue;\n\tstruct list_head siblings;\n\tstruct list_head same_target_siblings;\n\tstruct sbitmap budget_map;\n\tatomic_t device_blocked;\n\tatomic_t restarts;\n\tspinlock_t list_lock;\n\tstruct list_head starved_entry;\n\tshort unsigned int queue_depth;\n\tshort unsigned int max_queue_depth;\n\tshort unsigned int last_queue_full_depth;\n\tshort unsigned int last_queue_full_count;\n\tlong unsigned int last_queue_full_time;\n\tlong unsigned int queue_ramp_up_period;\n\tlong unsigned int last_queue_ramp_up;\n\tunsigned int id;\n\tunsigned int channel;\n\tu64 lun;\n\tunsigned int manufacturer;\n\tunsigned int sector_size;\n\tvoid *hostdata;\n\tunsigned char type;\n\tchar scsi_level;\n\tchar inq_periph_qual;\n\tstruct mutex inquiry_mutex;\n\tunsigned char inquiry_len;\n\tunsigned char *inquiry;\n\tconst char *vendor;\n\tconst char *model;\n\tconst char *rev;\n\tstruct scsi_vpd *vpd_pg0;\n\tstruct scsi_vpd *vpd_pg83;\n\tstruct scsi_vpd *vpd_pg80;\n\tstruct scsi_vpd *vpd_pg89;\n\tstruct scsi_vpd *vpd_pgb0;\n\tstruct scsi_vpd *vpd_pgb1;\n\tstruct scsi_vpd *vpd_pgb2;\n\tstruct scsi_vpd *vpd_pgb7;\n\tstruct scsi_target *sdev_target;\n\tblist_flags_t sdev_bflags;\n\tunsigned int eh_timeout;\n\tunsigned int manage_system_start_stop: 1;\n\tunsigned int manage_runtime_start_stop: 1;\n\tunsigned int manage_shutdown: 1;\n\tunsigned int force_runtime_start_on_system_start: 1;\n\tunsigned int removable: 1;\n\tunsigned int changed: 1;\n\tunsigned int busy: 1;\n\tunsigned int lockable: 1;\n\tunsigned int locked: 1;\n\tunsigned int borken: 1;\n\tunsigned int disconnect: 1;\n\tunsigned int soft_reset: 1;\n\tunsigned int sdtr: 1;\n\tunsigned int wdtr: 1;\n\tunsigned int ppr: 1;\n\tunsigned int tagged_supported: 1;\n\tunsigned int simple_tags: 1;\n\tunsigned int was_reset: 1;\n\tunsigned int expecting_cc_ua: 1;\n\tunsigned int use_10_for_rw: 1;\n\tunsigned int use_10_for_ms: 1;\n\tunsigned int set_dbd_for_ms: 1;\n\tunsigned int read_before_ms: 1;\n\tunsigned int no_report_opcodes: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int use_16_for_rw: 1;\n\tunsigned int use_16_for_sync: 1;\n\tunsigned int skip_ms_page_8: 1;\n\tunsigned int skip_ms_page_3f: 1;\n\tunsigned int skip_vpd_pages: 1;\n\tunsigned int try_vpd_pages: 1;\n\tunsigned int use_192_bytes_for_3f: 1;\n\tunsigned int no_start_on_add: 1;\n\tunsigned int allow_restart: 1;\n\tunsigned int start_stop_pwr_cond: 1;\n\tunsigned int no_uld_attach: 1;\n\tunsigned int select_no_atn: 1;\n\tunsigned int fix_capacity: 1;\n\tunsigned int guess_capacity: 1;\n\tunsigned int retry_hwerror: 1;\n\tunsigned int last_sector_bug: 1;\n\tunsigned int no_read_disc_info: 1;\n\tunsigned int no_read_capacity_16: 1;\n\tunsigned int try_rc_10_first: 1;\n\tunsigned int security_supported: 1;\n\tunsigned int is_visible: 1;\n\tunsigned int wce_default_on: 1;\n\tunsigned int no_dif: 1;\n\tunsigned int broken_fua: 1;\n\tunsigned int lun_in_cdb: 1;\n\tunsigned int unmap_limit_for_ws: 1;\n\tunsigned int rpm_autosuspend: 1;\n\tunsigned int ignore_media_change: 1;\n\tunsigned int silence_suspend: 1;\n\tunsigned int no_vpd_size: 1;\n\tunsigned int cdl_supported: 1;\n\tunsigned int cdl_enable: 1;\n\tunsigned int queue_stopped;\n\tbool offline_already;\n\tatomic_t disk_events_disable_depth;\n\tlong unsigned int supported_events[1];\n\tlong unsigned int pending_events[1];\n\tstruct list_head event_list;\n\tstruct work_struct event_work;\n\tunsigned int max_device_blocked;\n\tatomic_t iorequest_cnt;\n\tatomic_t iodone_cnt;\n\tatomic_t ioerr_cnt;\n\tatomic_t iotmo_cnt;\n\tstruct device sdev_gendev;\n\tstruct device sdev_dev;\n\tstruct work_struct requeue_work;\n\tstruct scsi_device_handler *handler;\n\tvoid *handler_data;\n\tsize_t dma_drain_len;\n\tvoid *dma_drain_buf;\n\tunsigned int sg_timeout;\n\tunsigned int sg_reserved_size;\n\tstruct bsg_device *bsg_dev;\n\tunsigned char access_state;\n\tstruct mutex state_mutex;\n\tenum scsi_device_state sdev_state;\n\tstruct task_struct *quiesced_by;\n\tlong unsigned int sdev_data[0];\n};\n\ntypedef void (*activate_complete)(void *, int);\n\nstruct scsi_device_handler {\n\tstruct list_head list;\n\tstruct module *module;\n\tconst char *name;\n\tenum scsi_disposition (*check_sense)(struct scsi_device *, struct scsi_sense_hdr *);\n\tint (*attach)(struct scsi_device *);\n\tvoid (*detach)(struct scsi_device *);\n\tint (*activate)(struct scsi_device *, activate_complete, void *);\n\tblk_status_t (*prep_fn)(struct scsi_device *, struct request *);\n\tint (*set_params)(struct scsi_device *, const char *);\n\tvoid (*rescan)(struct scsi_device *);\n};\n\nstruct zoned_disk_info {\n\tu32 nr_zones;\n\tu32 zone_blocks;\n};\n\nstruct scsi_disk {\n\tstruct scsi_device *device;\n\tstruct device disk_dev;\n\tstruct gendisk *disk;\n\tstruct opal_dev *opal_dev;\n\tstruct zoned_disk_info early_zone_info;\n\tstruct zoned_disk_info zone_info;\n\tu32 zones_optimal_open;\n\tu32 zones_optimal_nonseq;\n\tu32 zones_max_open;\n\tu32 zone_starting_lba_gran;\n\tatomic_t openers;\n\tsector_t capacity;\n\tint max_retries;\n\tu32 min_xfer_blocks;\n\tu32 max_xfer_blocks;\n\tu32 opt_xfer_blocks;\n\tu32 max_ws_blocks;\n\tu32 max_unmap_blocks;\n\tu32 unmap_granularity;\n\tu32 unmap_alignment;\n\tu32 max_atomic;\n\tu32 atomic_alignment;\n\tu32 atomic_granularity;\n\tu32 max_atomic_with_boundary;\n\tu32 max_atomic_boundary;\n\tu32 index;\n\tunsigned int physical_block_size;\n\tunsigned int max_medium_access_timeouts;\n\tunsigned int medium_access_timed_out;\n\tu16 permanent_stream_count;\n\tu8 media_present;\n\tu8 write_prot;\n\tu8 protection_type;\n\tu8 provisioning_mode;\n\tu8 zeroing_mode;\n\tu8 nr_actuators;\n\tbool suspended;\n\tunsigned int ATO: 1;\n\tunsigned int cache_override: 1;\n\tunsigned int WCE: 1;\n\tunsigned int RCD: 1;\n\tunsigned int DPOFUA: 1;\n\tunsigned int first_scan: 1;\n\tunsigned int lbpme: 1;\n\tunsigned int lbprz: 1;\n\tunsigned int lbpu: 1;\n\tunsigned int lbpws: 1;\n\tunsigned int lbpws10: 1;\n\tunsigned int lbpvpd: 1;\n\tunsigned int ws10: 1;\n\tunsigned int ws16: 1;\n\tunsigned int rc_basis: 2;\n\tunsigned int zoned: 2;\n\tunsigned int urswrz: 1;\n\tunsigned int security: 1;\n\tunsigned int ignore_medium_access_errors: 1;\n\tunsigned int rscs: 1;\n\tunsigned int use_atomic_write_boundary: 1;\n};\n\nstruct scsi_driver {\n\tstruct device_driver gendrv;\n\tint (*resume)(struct device *);\n\tvoid (*rescan)(struct device *);\n\tblk_status_t (*init_command)(struct scsi_cmnd *);\n\tvoid (*uninit_command)(struct scsi_cmnd *);\n\tint (*done)(struct scsi_cmnd *);\n\tint (*eh_action)(struct scsi_cmnd *, int);\n\tvoid (*eh_reset)(struct scsi_cmnd *);\n};\n\nstruct scsi_eh_save {\n\tint result;\n\tunsigned int resid_len;\n\tint eh_eflags;\n\tenum dma_data_direction data_direction;\n\tunsigned int underflow;\n\tunsigned char cmd_len;\n\tunsigned char prot_op;\n\tunsigned char cmnd[32];\n\tstruct scsi_data_buffer sdb;\n\tstruct scatterlist sense_sgl;\n};\n\nstruct scsi_event {\n\tenum scsi_device_event evt_type;\n\tstruct list_head node;\n};\n\nstruct scsi_failures;\n\nstruct scsi_exec_args {\n\tunsigned char *sense;\n\tunsigned int sense_len;\n\tstruct scsi_sense_hdr *sshdr;\n\tblk_mq_req_flags_t req_flags;\n\tint scmd_flags;\n\tint *resid;\n\tstruct scsi_failures *failures;\n};\n\nstruct scsi_failure {\n\tint result;\n\tu8 sense;\n\tu8 asc;\n\tu8 ascq;\n\ts8 allowed;\n\ts8 retries;\n};\n\nstruct scsi_failures {\n\tint total_allowed;\n\tint total_retries;\n\tstruct scsi_failure *failure_definitions;\n};\n\nstruct scsi_host_busy_iter_data {\n\tbool (*fn)(struct scsi_cmnd *, void *);\n\tvoid *priv;\n};\n\nstruct scsi_host_template {\n\tunsigned int cmd_size;\n\tint (*queuecommand)(struct Scsi_Host *, struct scsi_cmnd *);\n\tvoid (*commit_rqs)(struct Scsi_Host *, u16);\n\tstruct module *module;\n\tconst char *name;\n\tconst char * (*info)(struct Scsi_Host *);\n\tint (*ioctl)(struct scsi_device *, unsigned int, void *);\n\tint (*init_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *);\n\tint (*exit_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *);\n\tint (*eh_abort_handler)(struct scsi_cmnd *);\n\tint (*eh_device_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_target_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_bus_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_host_reset_handler)(struct scsi_cmnd *);\n\tint (*sdev_init)(struct scsi_device *);\n\tint (*sdev_configure)(struct scsi_device *, struct queue_limits *);\n\tvoid (*sdev_destroy)(struct scsi_device *);\n\tint (*target_alloc)(struct scsi_target *);\n\tvoid (*target_destroy)(struct scsi_target *);\n\tint (*scan_finished)(struct Scsi_Host *, long unsigned int);\n\tvoid (*scan_start)(struct Scsi_Host *);\n\tint (*change_queue_depth)(struct scsi_device *, int);\n\tvoid (*map_queues)(struct Scsi_Host *);\n\tint (*mq_poll)(struct Scsi_Host *, unsigned int);\n\tbool (*dma_need_drain)(struct request *);\n\tint (*bios_param)(struct scsi_device *, struct block_device *, sector_t, int *);\n\tvoid (*unlock_native_capacity)(struct scsi_device *);\n\tint (*show_info)(struct seq_file *, struct Scsi_Host *);\n\tint (*write_info)(struct Scsi_Host *, char *, int);\n\tenum scsi_timeout_action (*eh_timed_out)(struct scsi_cmnd *);\n\tbool (*eh_should_retry_cmd)(struct scsi_cmnd *);\n\tint (*host_reset)(struct Scsi_Host *, int);\n\tconst char *proc_name;\n\tint can_queue;\n\tint this_id;\n\tshort unsigned int sg_tablesize;\n\tshort unsigned int sg_prot_tablesize;\n\tunsigned int max_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int dma_alignment;\n\tlong unsigned int dma_boundary;\n\tlong unsigned int virt_boundary_mask;\n\tshort int cmd_per_lun;\n\tbool tag_alloc_policy_rr: 1;\n\tunsigned int track_queue_depth: 1;\n\tunsigned int supported_mode: 2;\n\tunsigned int emulated: 1;\n\tunsigned int skip_settle_delay: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int host_tagset: 1;\n\tunsigned int queuecommand_may_block: 1;\n\tunsigned int max_host_blocked;\n\tconst struct attribute_group **shost_groups;\n\tconst struct attribute_group **sdev_groups;\n\tu64 vendor_id;\n};\n\nstruct scsi_idlun {\n\t__u32 dev_id;\n\t__u32 host_unique_id;\n};\n\nstruct scsi_io_group_descriptor {\n\tu8 ic_enable: 1;\n\tu8 cs_enble: 1;\n\tu8 st_enble: 1;\n\tu8 reserved1: 3;\n\tu8 io_advice_hints_mode: 2;\n\tu8 reserved2[3];\n\tu8 lbm_descriptor_type: 4;\n\tu8 rlbsr: 2;\n\tu8 reserved3: 1;\n\tu8 acdlu: 1;\n\tu8 params[2];\n\tu8 reserved4;\n\tu8 reserved5[8];\n};\n\nstruct scsi_ioctl_command {\n\tunsigned int inlen;\n\tunsigned int outlen;\n\tunsigned char data[0];\n};\n\nstruct scsi_mode_data {\n\t__u32 length;\n\t__u16 block_descriptor_length;\n\t__u8 medium_type;\n\t__u8 device_specific;\n\t__u8 header_length;\n\t__u8 longlba: 1;\n};\n\nstruct scsi_nl_hdr {\n\t__u8 version;\n\t__u8 transport;\n\t__u16 magic;\n\t__u16 msgtype;\n\t__u16 msglen;\n};\n\nstruct scsi_proc_entry {\n\tstruct list_head entry;\n\tconst struct scsi_host_template *sht;\n\tstruct proc_dir_entry *proc_dir;\n\tunsigned int present;\n};\n\nstruct scsi_sense_hdr {\n\tu8 response_code;\n\tu8 sense_key;\n\tu8 asc;\n\tu8 ascq;\n\tu8 byte4;\n\tu8 byte5;\n\tu8 byte6;\n\tu8 additional_length;\n};\n\nstruct scsi_stream_status {\n\tu8 reserved1: 7;\n\tu8 perm: 1;\n\tu8 reserved2;\n\t__be16 stream_identifier;\n\tu8 rel_lifetime: 6;\n\tu8 reserved3: 2;\n\tu8 reserved4[3];\n};\n\nstruct scsi_stream_status_header {\n\t__be32 len;\n\tu16 reserved;\n\t__be16 number_of_open_streams;\n\tstruct {\n\t\tstruct {} __empty_stream_status;\n\t\tstruct scsi_stream_status stream_status[0];\n\t};\n};\n\nstruct scsi_target {\n\tstruct scsi_device *starget_sdev_user;\n\tstruct list_head siblings;\n\tstruct list_head devices;\n\tstruct device dev;\n\tstruct kref reap_ref;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int create: 1;\n\tunsigned int single_lun: 1;\n\tunsigned int pdt_1f_for_no_lun: 1;\n\tunsigned int no_report_luns: 1;\n\tunsigned int expecting_lun_change: 1;\n\tatomic_t target_busy;\n\tatomic_t target_blocked;\n\tunsigned int can_queue;\n\tunsigned int max_target_blocked;\n\tchar scsi_level;\n\tenum scsi_target_state state;\n\tvoid *hostdata;\n\tlong unsigned int starget_data[0];\n};\n\nstruct scsi_varlen_cdb_hdr {\n\t__u8 opcode;\n\t__u8 control;\n\t__u8 misc[5];\n\t__u8 additional_cdb_length;\n\t__be16 service_action;\n};\n\nstruct scsi_vpd {\n\tstruct callback_head rcu;\n\tint len;\n\tunsigned char data[0];\n};\n\nstruct scsiio_tracker {\n\tu16 smid;\n\tstruct scsi_cmnd *scmd;\n\tu8 cb_idx;\n\tu8 direct_io;\n\tstruct pcie_sg_list pcie_sg_list;\n\tstruct list_head chain_list;\n\tu16 msix_io;\n};\n\nstruct sctp_paramhdr {\n\t__be16 type;\n\t__be16 length;\n};\n\nstruct sctp_adaptation_ind_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 adaptation_ind;\n};\n\nstruct sctp_addip_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 crr_id;\n};\n\nstruct sctp_addiphdr {\n\t__be32 serial;\n};\n\nunion sctp_addr {\n\tstruct sockaddr_in v4;\n\tstruct sockaddr_in6 v6;\n\tstruct sockaddr sa;\n};\n\nstruct sctp_ipv4addr_param {\n\tstruct sctp_paramhdr param_hdr;\n\tstruct in_addr addr;\n};\n\nstruct sctp_ipv6addr_param {\n\tstruct sctp_paramhdr param_hdr;\n\tstruct in6_addr addr;\n};\n\nunion sctp_addr_param {\n\tstruct sctp_paramhdr p;\n\tstruct sctp_ipv4addr_param v4;\n\tstruct sctp_ipv6addr_param v6;\n};\n\nstruct sctp_transport;\n\nstruct sctp_sock;\n\nstruct sctp_af {\n\tint (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);\n\tvoid (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);\n\tvoid (*copy_addrlist)(struct list_head *, struct net_device *);\n\tint (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);\n\tvoid (*addr_copy)(union sctp_addr *, union sctp_addr *);\n\tvoid (*from_skb)(union sctp_addr *, struct sk_buff *, int);\n\tvoid (*from_sk)(union sctp_addr *, struct sock *);\n\tbool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);\n\tint (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);\n\tint (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);\n\tenum sctp_scope (*scope)(union sctp_addr *);\n\tvoid (*inaddr_any)(union sctp_addr *, __be16);\n\tint (*is_any)(const union sctp_addr *);\n\tint (*available)(union sctp_addr *, struct sctp_sock *);\n\tint (*skb_iif)(const struct sk_buff *);\n\tint (*skb_sdif)(const struct sk_buff *);\n\tint (*is_ce)(const struct sk_buff *);\n\tvoid (*seq_dump_addr)(struct seq_file *, union sctp_addr *);\n\tvoid (*ecn_capable)(struct sock *);\n\t__u16 net_header_len;\n\tint sockaddr_len;\n\tint (*ip_options_len)(struct sock *);\n\tsa_family_t sa_family;\n\tstruct list_head list;\n};\n\nstruct sctp_chunk;\n\nstruct sctp_inq {\n\tstruct list_head in_chunk_list;\n\tstruct sctp_chunk *in_progress;\n\tstruct work_struct immediate;\n};\n\nstruct sctp_bind_addr {\n\t__u16 port;\n\tstruct list_head address_list;\n};\n\nstruct sctp_ep_common {\n\tenum sctp_endpoint_type type;\n\trefcount_t refcnt;\n\tbool dead;\n\tstruct sock *sk;\n\tstruct net *net;\n\tstruct sctp_inq inqueue;\n\tstruct sctp_bind_addr bind_addr;\n};\n\nstruct sctp_cookie {\n\t__u32 my_vtag;\n\t__u32 peer_vtag;\n\t__u32 my_ttag;\n\t__u32 peer_ttag;\n\tktime_t expiration;\n\t__u16 sinit_num_ostreams;\n\t__u16 sinit_max_instreams;\n\t__u32 initial_tsn;\n\tunion sctp_addr peer_addr;\n\t__u16 my_port;\n\t__u8 prsctp_capable;\n\t__u8 padding;\n\t__u32 adaptation_ind;\n\t__u8 auth_random[36];\n\t__u8 auth_hmacs[10];\n\t__u8 auth_chunks[20];\n\t__u32 raw_addr_list_len;\n};\n\nstruct sctp_tsnmap {\n\tlong unsigned int *tsn_map;\n\t__u32 base_tsn;\n\t__u32 cumulative_tsn_ack_point;\n\t__u32 max_tsn_seen;\n\t__u16 len;\n\t__u16 pending_data;\n\t__u16 num_dup_tsns;\n\t__be32 dup_tsns[16];\n};\n\nstruct sctp_inithdr_host {\n\t__u32 init_tag;\n\t__u32 a_rwnd;\n\t__u16 num_outbound_streams;\n\t__u16 num_inbound_streams;\n\t__u32 initial_tsn;\n};\n\nstruct sctp_stream_out_ext;\n\nstruct sctp_stream_out {\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\t__u32 mid_uo;\n\tstruct sctp_stream_out_ext *ext;\n\t__u8 state;\n};\n\nstruct sctp_stream_in {\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\t__u32 mid_uo;\n\t__u32 fsn;\n\t__u32 fsn_uo;\n\tchar pd_mode;\n\tchar pd_mode_uo;\n};\n\nstruct sctp_stream_interleave;\n\nstruct sctp_stream {\n\tstruct {\n\t\tstruct __genradix tree;\n\t\tstruct sctp_stream_out type[0];\n\t} out;\n\tstruct {\n\t\tstruct __genradix tree;\n\t\tstruct sctp_stream_in type[0];\n\t} in;\n\t__u16 outcnt;\n\t__u16 incnt;\n\tstruct sctp_stream_out *out_curr;\n\tunion {\n\t\tstruct {\n\t\t\tstruct list_head prio_list;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head rr_list;\n\t\t\tstruct sctp_stream_out_ext *rr_next;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head fc_list;\n\t\t};\n\t};\n\tstruct sctp_stream_interleave *si;\n};\n\nstruct sctp_sched_ops;\n\nstruct sctp_association;\n\nstruct sctp_outq {\n\tstruct sctp_association *asoc;\n\tstruct list_head out_chunk_list;\n\tstruct sctp_sched_ops *sched;\n\tunsigned int out_qlen;\n\tunsigned int error;\n\tstruct list_head control_chunk_list;\n\tstruct list_head sacked;\n\tstruct list_head retransmit;\n\tstruct list_head abandoned;\n\t__u32 outstanding_bytes;\n\tchar fast_rtx;\n\tchar cork;\n};\n\nstruct sctp_ulpq {\n\tchar pd_mode;\n\tstruct sctp_association *asoc;\n\tstruct sk_buff_head reasm;\n\tstruct sk_buff_head reasm_uo;\n\tstruct sk_buff_head lobby;\n};\n\nstruct sctp_priv_assoc_stats {\n\tstruct __kernel_sockaddr_storage obs_rto_ipaddr;\n\t__u64 max_obs_rto;\n\t__u64 isacks;\n\t__u64 osacks;\n\t__u64 opackets;\n\t__u64 ipackets;\n\t__u64 rtxchunks;\n\t__u64 outofseqtsns;\n\t__u64 idupchunks;\n\t__u64 gapcnt;\n\t__u64 ouodchunks;\n\t__u64 iuodchunks;\n\t__u64 oodchunks;\n\t__u64 iodchunks;\n\t__u64 octrlchunks;\n\t__u64 ictrlchunks;\n};\n\nstruct sctp_endpoint;\n\nstruct sctp_random_param;\n\nstruct sctp_chunks_param;\n\nstruct sctp_hmac_algo_param;\n\nstruct sctp_auth_bytes;\n\nstruct sctp_shared_key;\n\nstruct sctp_association {\n\tstruct sctp_ep_common base;\n\tstruct list_head asocs;\n\tsctp_assoc_t assoc_id;\n\tstruct sctp_endpoint *ep;\n\tstruct sctp_cookie c;\n\tstruct {\n\t\tstruct list_head transport_addr_list;\n\t\t__u32 rwnd;\n\t\t__u16 transport_count;\n\t\t__u16 port;\n\t\tstruct sctp_transport *primary_path;\n\t\tunion sctp_addr primary_addr;\n\t\tstruct sctp_transport *active_path;\n\t\tstruct sctp_transport *retran_path;\n\t\tstruct sctp_transport *last_sent_to;\n\t\tstruct sctp_transport *last_data_from;\n\t\tstruct sctp_tsnmap tsn_map;\n\t\t__be16 addip_disabled_mask;\n\t\t__u16 ecn_capable: 1;\n\t\t__u16 ipv4_address: 1;\n\t\t__u16 ipv6_address: 1;\n\t\t__u16 asconf_capable: 1;\n\t\t__u16 prsctp_capable: 1;\n\t\t__u16 reconf_capable: 1;\n\t\t__u16 intl_capable: 1;\n\t\t__u16 auth_capable: 1;\n\t\t__u16 sack_needed: 1;\n\t\t__u16 sack_generation: 1;\n\t\t__u16 zero_window_announced: 1;\n\t\t__u32 sack_cnt;\n\t\t__u32 adaptation_ind;\n\t\tstruct sctp_inithdr_host i;\n\t\tvoid *cookie;\n\t\tint cookie_len;\n\t\t__u32 addip_serial;\n\t\tstruct sctp_random_param *peer_random;\n\t\tstruct sctp_chunks_param *peer_chunks;\n\t\tstruct sctp_hmac_algo_param *peer_hmacs;\n\t} peer;\n\tenum sctp_state state;\n\tint overall_error_count;\n\tktime_t cookie_life;\n\tlong unsigned int rto_initial;\n\tlong unsigned int rto_max;\n\tlong unsigned int rto_min;\n\tint max_burst;\n\tint max_retrans;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u16 max_init_attempts;\n\t__u16 init_retries;\n\tlong unsigned int max_init_timeo;\n\tlong unsigned int hbinterval;\n\tlong unsigned int probe_interval;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u8 pmtu_pending;\n\t__u32 pathmtu;\n\t__u32 param_flags;\n\t__u32 sackfreq;\n\tlong unsigned int sackdelay;\n\tlong unsigned int timeouts[12];\n\tstruct timer_list timers[12];\n\tstruct sctp_transport *shutdown_last_sent_to;\n\tstruct sctp_transport *init_last_sent_to;\n\tint shutdown_retries;\n\t__u32 next_tsn;\n\t__u32 ctsn_ack_point;\n\t__u32 adv_peer_ack_point;\n\t__u32 highest_sacked;\n\t__u32 fast_recovery_exit;\n\t__u8 fast_recovery;\n\t__u16 unack_data;\n\t__u32 rtx_data_chunks;\n\t__u32 rwnd;\n\t__u32 a_rwnd;\n\t__u32 rwnd_over;\n\t__u32 rwnd_press;\n\tint sndbuf_used;\n\tatomic_t rmem_alloc;\n\twait_queue_head_t wait;\n\t__u32 frag_point;\n\t__u32 user_frag;\n\tint init_err_counter;\n\tint init_cycle;\n\t__u16 default_stream;\n\t__u16 default_flags;\n\t__u32 default_ppid;\n\t__u32 default_context;\n\t__u32 default_timetolive;\n\t__u32 default_rcv_context;\n\tstruct sctp_stream stream;\n\tstruct sctp_outq outqueue;\n\tstruct sctp_ulpq ulpq;\n\t__u32 last_ecne_tsn;\n\t__u32 last_cwr_tsn;\n\tint numduptsns;\n\tstruct sctp_chunk *addip_last_asconf;\n\tstruct list_head asconf_ack_list;\n\tstruct list_head addip_chunk_list;\n\t__u32 addip_serial;\n\tint src_out_of_asoc_ok;\n\tunion sctp_addr *asconf_addr_del_pending;\n\tstruct sctp_transport *new_transport;\n\tstruct list_head endpoint_shared_keys;\n\tstruct sctp_auth_bytes *asoc_shared_key;\n\tstruct sctp_shared_key *shkey;\n\t__u16 default_hmac_id;\n\t__u16 active_key_id;\n\t__u8 need_ecne: 1;\n\t__u8 temp: 1;\n\t__u8 pf_expose: 2;\n\t__u8 force_delay: 1;\n\t__u8 strreset_enable;\n\t__u8 strreset_outstanding;\n\t__u32 strreset_outseq;\n\t__u32 strreset_inseq;\n\t__u32 strreset_result[2];\n\tstruct sctp_chunk *strreset_chunk;\n\tstruct sctp_priv_assoc_stats stats;\n\tint sent_cnt_removable;\n\t__u16 subscribe;\n\t__u64 abandoned_unsent[3];\n\t__u64 abandoned_sent[3];\n\tu32 secid;\n\tu32 peer_secid;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_assocparams {\n\tsctp_assoc_t sasoc_assoc_id;\n\t__u16 sasoc_asocmaxrxt;\n\t__u16 sasoc_number_peer_destinations;\n\t__u32 sasoc_peer_rwnd;\n\t__u32 sasoc_local_rwnd;\n\t__u32 sasoc_cookie_life;\n};\n\nstruct sctp_auth_bytes {\n\trefcount_t refcnt;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct sctp_authhdr {\n\t__be16 shkey_id;\n\t__be16 hmac_id;\n};\n\nstruct sctp_bind_bucket {\n\tshort unsigned int port;\n\tsigned char fastreuse;\n\tsigned char fastreuseport;\n\tkuid_t fastuid;\n\tstruct hlist_node node;\n\tstruct hlist_head owner;\n\tstruct net *net;\n};\n\nstruct sctp_cookie_preserve_param;\n\nstruct sctp_hostname_param;\n\nstruct sctp_cookie_param;\n\nstruct sctp_supported_addrs_param;\n\nstruct sctp_supported_ext_param;\n\nunion sctp_params {\n\tvoid *v;\n\tstruct sctp_paramhdr *p;\n\tstruct sctp_cookie_preserve_param *life;\n\tstruct sctp_hostname_param *dns;\n\tstruct sctp_cookie_param *cookie;\n\tstruct sctp_supported_addrs_param *sat;\n\tstruct sctp_ipv4addr_param *v4;\n\tstruct sctp_ipv6addr_param *v6;\n\tunion sctp_addr_param *addr;\n\tstruct sctp_adaptation_ind_param *aind;\n\tstruct sctp_supported_ext_param *ext;\n\tstruct sctp_random_param *random;\n\tstruct sctp_chunks_param *chunks;\n\tstruct sctp_hmac_algo_param *hmac_algo;\n\tstruct sctp_addip_param *addip;\n};\n\nstruct sctp_sndrcvinfo {\n\t__u16 sinfo_stream;\n\t__u16 sinfo_ssn;\n\t__u16 sinfo_flags;\n\t__u32 sinfo_ppid;\n\t__u32 sinfo_context;\n\t__u32 sinfo_timetolive;\n\t__u32 sinfo_tsn;\n\t__u32 sinfo_cumtsn;\n\tsctp_assoc_t sinfo_assoc_id;\n};\n\nstruct sctp_datahdr;\n\nstruct sctp_inithdr;\n\nstruct sctp_sackhdr;\n\nstruct sctp_heartbeathdr;\n\nstruct sctp_sender_hb_info;\n\nstruct sctp_shutdownhdr;\n\nstruct sctp_signed_cookie;\n\nstruct sctp_ecnehdr;\n\nstruct sctp_cwrhdr;\n\nstruct sctp_errhdr;\n\nstruct sctp_fwdtsn_hdr;\n\nstruct sctp_idatahdr;\n\nstruct sctp_ifwdtsn_hdr;\n\nstruct sctp_chunkhdr;\n\nstruct sctphdr;\n\nstruct sctp_datamsg;\n\nstruct sctp_chunk {\n\tstruct list_head list;\n\trefcount_t refcnt;\n\tint sent_count;\n\tunion {\n\t\tstruct list_head transmitted_list;\n\t\tstruct list_head stream_list;\n\t};\n\tstruct list_head frag_list;\n\tstruct sk_buff *skb;\n\tunion {\n\t\tstruct sk_buff *head_skb;\n\t\tstruct sctp_shared_key *shkey;\n\t};\n\tunion sctp_params param_hdr;\n\tunion {\n\t\t__u8 *v;\n\t\tstruct sctp_datahdr *data_hdr;\n\t\tstruct sctp_inithdr *init_hdr;\n\t\tstruct sctp_sackhdr *sack_hdr;\n\t\tstruct sctp_heartbeathdr *hb_hdr;\n\t\tstruct sctp_sender_hb_info *hbs_hdr;\n\t\tstruct sctp_shutdownhdr *shutdown_hdr;\n\t\tstruct sctp_signed_cookie *cookie_hdr;\n\t\tstruct sctp_ecnehdr *ecne_hdr;\n\t\tstruct sctp_cwrhdr *ecn_cwr_hdr;\n\t\tstruct sctp_errhdr *err_hdr;\n\t\tstruct sctp_addiphdr *addip_hdr;\n\t\tstruct sctp_fwdtsn_hdr *fwdtsn_hdr;\n\t\tstruct sctp_authhdr *auth_hdr;\n\t\tstruct sctp_idatahdr *idata_hdr;\n\t\tstruct sctp_ifwdtsn_hdr *ifwdtsn_hdr;\n\t} subh;\n\t__u8 *chunk_end;\n\tstruct sctp_chunkhdr *chunk_hdr;\n\tstruct sctphdr *sctp_hdr;\n\tstruct sctp_sndrcvinfo sinfo;\n\tstruct sctp_association *asoc;\n\tstruct sctp_ep_common *rcvr;\n\tlong unsigned int sent_at;\n\tunion sctp_addr source;\n\tunion sctp_addr dest;\n\tstruct sctp_datamsg *msg;\n\tstruct sctp_transport *transport;\n\tstruct sk_buff *auth_chunk;\n\t__u16 rtt_in_progress: 1;\n\t__u16 has_tsn: 1;\n\t__u16 has_ssn: 1;\n\t__u16 singleton: 1;\n\t__u16 end_of_packet: 1;\n\t__u16 ecn_ce_done: 1;\n\t__u16 pdiscard: 1;\n\t__u16 tsn_gap_acked: 1;\n\t__u16 data_accepted: 1;\n\t__u16 auth: 1;\n\t__u16 has_asconf: 1;\n\t__u16 pmtu_probe: 1;\n\t__u16 tsn_missing_report: 2;\n\t__u16 fast_retransmit: 2;\n};\n\nstruct sctp_chunkhdr {\n\t__u8 type;\n\t__u8 flags;\n\t__be16 length;\n};\n\nstruct sctp_chunks_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 chunks[0];\n};\n\nstruct sctp_cookie_param {\n\tstruct sctp_paramhdr p;\n\t__u8 body[0];\n};\n\nstruct sctp_cookie_preserve_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 lifespan_increment;\n};\n\nstruct sctp_cwrhdr {\n\t__be32 lowest_tsn;\n};\n\nstruct sctp_datahdr {\n\t__be32 tsn;\n\t__be16 stream;\n\t__be16 ssn;\n\t__u32 ppid;\n};\n\nstruct sctp_datamsg {\n\tstruct list_head chunks;\n\trefcount_t refcnt;\n\tlong unsigned int expires_at;\n\tint send_error;\n\tu8 send_failed: 1;\n\tu8 can_delay: 1;\n\tu8 abandoned: 1;\n};\n\nstruct sctp_ecnehdr {\n\t__be32 lowest_tsn;\n};\n\nstruct sctp_endpoint {\n\tstruct sctp_ep_common base;\n\tstruct hlist_node node;\n\tint hashent;\n\tstruct list_head asocs;\n\t__u8 secret_key[32];\n\t__u8 *digest;\n\t__u32 sndbuf_policy;\n\t__u32 rcvbuf_policy;\n\tstruct crypto_shash **auth_hmacs;\n\tstruct sctp_hmac_algo_param *auth_hmacs_list;\n\tstruct sctp_chunks_param *auth_chunk_list;\n\tstruct list_head endpoint_shared_keys;\n\t__u16 active_key_id;\n\t__u8 ecn_enable: 1;\n\t__u8 auth_enable: 1;\n\t__u8 intl_enable: 1;\n\t__u8 prsctp_enable: 1;\n\t__u8 asconf_enable: 1;\n\t__u8 reconf_enable: 1;\n\t__u8 strreset_enable;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_errhdr {\n\t__be16 cause;\n\t__be16 length;\n};\n\nstruct sctp_fwdtsn_hdr {\n\t__be32 new_cum_tsn;\n};\n\nstruct sctp_heartbeathdr {\n\tstruct sctp_paramhdr info;\n};\n\nstruct sctp_hmac_algo_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be16 hmac_ids[0];\n};\n\nstruct sctp_hostname_param {\n\tstruct sctp_paramhdr param_hdr;\n\tuint8_t hostname[0];\n};\n\nstruct sctp_idatahdr {\n\t__be32 tsn;\n\t__be16 stream;\n\t__be16 reserved;\n\t__be32 mid;\n\tunion {\n\t\t__u32 ppid;\n\t\t__be32 fsn;\n\t};\n\t__u8 payload[0];\n};\n\nstruct sctp_ifwdtsn_hdr {\n\t__be32 new_cum_tsn;\n};\n\nstruct sctp_inithdr {\n\t__be32 init_tag;\n\t__be32 a_rwnd;\n\t__be16 num_outbound_streams;\n\t__be16 num_inbound_streams;\n\t__be32 initial_tsn;\n};\n\nstruct sctp_initmsg {\n\t__u16 sinit_num_ostreams;\n\t__u16 sinit_max_instreams;\n\t__u16 sinit_max_attempts;\n\t__u16 sinit_max_init_timeo;\n};\n\nstruct sctp_packet {\n\t__u16 source_port;\n\t__u16 destination_port;\n\t__u32 vtag;\n\tstruct list_head chunk_list;\n\tsize_t overhead;\n\tsize_t size;\n\tsize_t max_size;\n\tstruct sctp_transport *transport;\n\tstruct sctp_chunk *auth;\n\tu8 has_cookie_echo: 1;\n\tu8 has_sack: 1;\n\tu8 has_auth: 1;\n\tu8 has_data: 1;\n\tu8 ipfragok: 1;\n};\n\nstruct sctp_paddrparams {\n\tsctp_assoc_t spp_assoc_id;\n\tstruct __kernel_sockaddr_storage spp_address;\n\t__u32 spp_hbinterval;\n\t__u16 spp_pathmaxrxt;\n\t__u32 spp_pathmtu;\n\t__u32 spp_sackdelay;\n\t__u32 spp_flags;\n\t__u32 spp_ipv6_flowlabel;\n\t__u8 spp_dscp;\n\tint: 0;\n} __attribute__((packed));\n\nstruct sctp_ulpevent;\n\nstruct sctp_pf {\n\tvoid (*event_msgname)(struct sctp_ulpevent *, char *, int *);\n\tvoid (*skb_msgname)(struct sk_buff *, char *, int *);\n\tint (*af_supported)(sa_family_t, struct sctp_sock *);\n\tint (*cmp_addr)(const union sctp_addr *, const union sctp_addr *, struct sctp_sock *);\n\tint (*bind_verify)(struct sctp_sock *, union sctp_addr *);\n\tint (*send_verify)(struct sctp_sock *, union sctp_addr *);\n\tint (*supported_addrs)(const struct sctp_sock *, __be16 *);\n\tstruct sock * (*create_accept_sk)(struct sock *, struct sctp_association *, bool);\n\tint (*addr_to_user)(struct sctp_sock *, union sctp_addr *);\n\tvoid (*to_sk_saddr)(union sctp_addr *, struct sock *);\n\tvoid (*to_sk_daddr)(union sctp_addr *, struct sock *);\n\tvoid (*copy_ip_options)(struct sock *, struct sock *);\n\tstruct sctp_af *af;\n};\n\nstruct sctp_random_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 random_val[0];\n};\n\nstruct sctp_rtoinfo {\n\tsctp_assoc_t srto_assoc_id;\n\t__u32 srto_initial;\n\t__u32 srto_max;\n\t__u32 srto_min;\n};\n\nstruct sctp_sackhdr {\n\t__be32 cum_tsn_ack;\n\t__be32 a_rwnd;\n\t__be16 num_gap_ack_blocks;\n\t__be16 num_dup_tsns;\n};\n\nstruct sctp_sender_hb_info {\n\tstruct sctp_paramhdr param_hdr;\n\tunion sctp_addr daddr;\n\tlong unsigned int sent_at;\n\t__u64 hb_nonce;\n\t__u32 probe_size;\n};\n\nstruct sctp_shared_key {\n\tstruct list_head key_list;\n\tstruct sctp_auth_bytes *key;\n\trefcount_t refcnt;\n\t__u16 key_id;\n\t__u8 deactivated;\n};\n\nstruct sctp_shutdownhdr {\n\t__be32 cum_tsn_ack;\n};\n\nstruct sctp_signed_cookie {\n\t__u8 signature[32];\n\t__u32 __pad;\n\tstruct sctp_cookie c;\n} __attribute__((packed));\n\nstruct sctp_sock {\n\tstruct inet_sock inet;\n\tenum sctp_socket_type type;\n\tstruct sctp_pf *pf;\n\tstruct crypto_shash *hmac;\n\tchar *sctp_hmac_alg;\n\tstruct sctp_endpoint *ep;\n\tstruct sctp_bind_bucket *bind_hash;\n\t__u16 default_stream;\n\t__u32 default_ppid;\n\t__u16 default_flags;\n\t__u32 default_context;\n\t__u32 default_timetolive;\n\t__u32 default_rcv_context;\n\tint max_burst;\n\t__u32 hbinterval;\n\t__u32 probe_interval;\n\t__be16 udp_port;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u32 pathmtu;\n\t__u32 sackdelay;\n\t__u32 sackfreq;\n\t__u32 param_flags;\n\t__u32 default_ss;\n\tstruct sctp_rtoinfo rtoinfo;\n\tstruct sctp_paddrparams paddrparam;\n\tstruct sctp_assocparams assocparams;\n\t__u16 subscribe;\n\tstruct sctp_initmsg initmsg;\n\tint user_frag;\n\t__u32 autoclose;\n\t__u32 adaptation_ind;\n\t__u32 pd_point;\n\t__u16 nodelay: 1;\n\t__u16 pf_expose: 2;\n\t__u16 reuse: 1;\n\t__u16 disable_fragments: 1;\n\t__u16 v4mapped: 1;\n\t__u16 frag_interleave: 1;\n\t__u16 recvrcvinfo: 1;\n\t__u16 recvnxtinfo: 1;\n\t__u16 data_ready_signalled: 1;\n\tatomic_t pd_mode;\n\tstruct sk_buff_head pd_lobby;\n\tstruct list_head auto_asconf_list;\n\tint do_auto_asconf;\n};\n\nstruct sctp_stream_interleave {\n\t__u16 data_chunk_len;\n\t__u16 ftsn_chunk_len;\n\tstruct sctp_chunk * (*make_datafrag)(const struct sctp_association *, const struct sctp_sndrcvinfo *, int, __u8, gfp_t);\n\tvoid (*assign_number)(struct sctp_chunk *);\n\tbool (*validate_data)(struct sctp_chunk *);\n\tint (*ulpevent_data)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);\n\tint (*enqueue_event)(struct sctp_ulpq *, struct sctp_ulpevent *);\n\tvoid (*renege_events)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);\n\tvoid (*start_pd)(struct sctp_ulpq *, gfp_t);\n\tvoid (*abort_pd)(struct sctp_ulpq *, gfp_t);\n\tvoid (*generate_ftsn)(struct sctp_outq *, __u32);\n\tbool (*validate_ftsn)(struct sctp_chunk *);\n\tvoid (*report_ftsn)(struct sctp_ulpq *, __u32);\n\tvoid (*handle_ftsn)(struct sctp_ulpq *, struct sctp_chunk *);\n};\n\nstruct sctp_stream_priorities;\n\nstruct sctp_stream_out_ext {\n\t__u64 abandoned_unsent[3];\n\t__u64 abandoned_sent[3];\n\tstruct list_head outq;\n\tunion {\n\t\tstruct {\n\t\t\tstruct list_head prio_list;\n\t\t\tstruct sctp_stream_priorities *prio_head;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head rr_list;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head fc_list;\n\t\t\t__u32 fc_length;\n\t\t\t__u16 fc_weight;\n\t\t};\n\t};\n};\n\nstruct sctp_stream_priorities {\n\tstruct list_head prio_sched;\n\tstruct list_head active;\n\tstruct sctp_stream_out_ext *next;\n\t__u16 prio;\n\t__u16 users;\n};\n\nstruct sctp_supported_addrs_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be16 types[0];\n};\n\nstruct sctp_supported_ext_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 chunks[0];\n};\n\nstruct sctp_transport {\n\tstruct list_head transports;\n\tstruct rhlist_head node;\n\trefcount_t refcnt;\n\t__u32 rto_pending: 1;\n\t__u32 hb_sent: 1;\n\t__u32 pmtu_pending: 1;\n\t__u32 dst_pending_confirm: 1;\n\t__u32 sack_generation: 1;\n\tu32 dst_cookie;\n\tstruct flowi fl;\n\tunion sctp_addr ipaddr;\n\tstruct sctp_af *af_specific;\n\tstruct sctp_association *asoc;\n\tlong unsigned int rto;\n\t__u32 rtt;\n\t__u32 rttvar;\n\t__u32 srtt;\n\t__u32 cwnd;\n\t__u32 ssthresh;\n\t__u32 partial_bytes_acked;\n\t__u32 flight_size;\n\t__u32 burst_limited;\n\tstruct dst_entry *dst;\n\tunion sctp_addr saddr;\n\tlong unsigned int hbinterval;\n\tlong unsigned int probe_interval;\n\tlong unsigned int sackdelay;\n\t__u32 sackfreq;\n\tatomic_t mtu_info;\n\tktime_t last_time_heard;\n\tlong unsigned int last_time_sent;\n\tlong unsigned int last_time_ecne_reduced;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u32 pathmtu;\n\t__u32 param_flags;\n\tint init_sent_count;\n\tint state;\n\tshort unsigned int error_count;\n\tstruct timer_list T3_rtx_timer;\n\tstruct timer_list hb_timer;\n\tstruct timer_list proto_unreach_timer;\n\tstruct timer_list reconf_timer;\n\tstruct timer_list probe_timer;\n\tstruct list_head transmitted;\n\tstruct sctp_packet packet;\n\tstruct list_head send_ready;\n\tstruct {\n\t\t__u32 next_tsn_at_change;\n\t\tchar changeover_active;\n\t\tchar cycling_changeover;\n\t\tchar cacc_saw_newack;\n\t} cacc;\n\tstruct {\n\t\t__u16 pmtu;\n\t\t__u16 probe_size;\n\t\t__u16 probe_high;\n\t\t__u8 probe_count;\n\t\t__u8 state;\n\t} pl;\n\t__u64 hb_nonce;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_ulpevent {\n\tstruct sctp_association *asoc;\n\tstruct sctp_chunk *chunk;\n\tunsigned int rmem_len;\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\tunion {\n\t\t__u32 ppid;\n\t\t__u32 fsn;\n\t};\n\t__u32 tsn;\n\t__u32 cumtsn;\n\t__u16 stream;\n\t__u16 flags;\n\t__u16 msg_flags;\n} __attribute__((packed));\n\nstruct sctphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be32 vtag;\n\t__le32 checksum;\n};\n\nstruct sctx_info {\n\t__u32 magic;\n\t__u32 size;\n\t__u64 padding;\n};\n\nstruct sd_flow_limit {\n\tu64 count;\n\tunsigned int num_buckets;\n\tunsigned int history_head;\n\tu16 history[128];\n\tu8 buckets[0];\n};\n\nstruct sg_lb_stats {\n\tlong unsigned int avg_load;\n\tlong unsigned int group_load;\n\tlong unsigned int group_capacity;\n\tlong unsigned int group_util;\n\tlong unsigned int group_runnable;\n\tunsigned int sum_nr_running;\n\tunsigned int sum_h_nr_running;\n\tunsigned int idle_cpus;\n\tunsigned int group_weight;\n\tenum group_type group_type;\n\tunsigned int group_asym_packing;\n\tunsigned int group_smt_balance;\n\tlong unsigned int group_misfit_task_load;\n\tunsigned int nr_numa_running;\n\tunsigned int nr_preferred_running;\n};\n\nstruct sd_lb_stats {\n\tstruct sched_group *busiest;\n\tstruct sched_group *local;\n\tlong unsigned int total_load;\n\tlong unsigned int total_capacity;\n\tlong unsigned int avg_load;\n\tunsigned int prefer_sibling;\n\tstruct sg_lb_stats busiest_stat;\n\tstruct sg_lb_stats local_stat;\n};\n\nstruct sdw_intel_acpi_info {\n\tacpi_handle handle;\n\tint count;\n\tu32 link_mask;\n};\n\nstruct xfrm_offload {\n\tstruct {\n\t\t__u32 low;\n\t\t__u32 hi;\n\t} seq;\n\t__u32 flags;\n\t__u32 status;\n\t__u32 orig_mac_len;\n\t__u8 proto;\n\t__u8 inner_ipproto;\n};\n\nstruct sec_path {\n\tint len;\n\tint olen;\n\tint verified_cnt;\n\tstruct xfrm_state *xvec[6];\n\tstruct xfrm_offload ovec[1];\n};\n\nstruct seccomp_filter;\n\nstruct seccomp {\n\tint mode;\n\tatomic_t filter_count;\n\tstruct seccomp_filter *filter;\n};\n\nstruct seccomp_data {\n\tint nr;\n\t__u32 arch;\n\t__u64 instruction_pointer;\n\t__u64 args[6];\n};\n\nstruct seccomp_filter {\n\trefcount_t refs;\n\trefcount_t users;\n\tbool log;\n\tbool wait_killable_recv;\n\tstruct action_cache cache;\n\tstruct seccomp_filter *prev;\n\tstruct bpf_prog *prog;\n\tstruct notification *notif;\n\tstruct mutex notify_lock;\n\twait_queue_head_t wqh;\n};\n\nstruct seccomp_kaddfd {\n\tstruct file *file;\n\tint fd;\n\tunsigned int flags;\n\t__u32 ioctl_flags;\n\tunion {\n\t\tbool setfd;\n\t\tint ret;\n\t};\n\tstruct completion completion;\n\tstruct list_head list;\n};\n\nstruct seccomp_knotif {\n\tstruct task_struct *task;\n\tu64 id;\n\tconst struct seccomp_data *data;\n\tenum notify_state state;\n\tint error;\n\tlong int val;\n\tu32 flags;\n\tstruct completion ready;\n\tstruct list_head list;\n\tstruct list_head addfd;\n};\n\nstruct seccomp_log_name {\n\tu32 log;\n\tconst char *name;\n};\n\nstruct seccomp_metadata {\n\t__u64 filter_off;\n\t__u64 flags;\n};\n\nstruct seccomp_notif {\n\t__u64 id;\n\t__u32 pid;\n\t__u32 flags;\n\tstruct seccomp_data data;\n};\n\nstruct seccomp_notif_addfd {\n\t__u64 id;\n\t__u32 flags;\n\t__u32 srcfd;\n\t__u32 newfd;\n\t__u32 newfd_flags;\n};\n\nstruct seccomp_notif_resp {\n\t__u64 id;\n\t__s64 val;\n\t__s32 error;\n\t__u32 flags;\n};\n\nstruct seccomp_notif_sizes {\n\t__u16 seccomp_notif;\n\t__u16 seccomp_notif_resp;\n\t__u16 seccomp_data;\n};\n\nstruct secondary_data {\n\tlong unsigned int stack;\n\tlong unsigned int thread_info;\n};\n\nstruct sector_ptr {\n\tstruct page *page;\n\tunsigned int pgoff: 24;\n\tunsigned int uptodate: 8;\n};\n\nstruct security_class_mapping {\n\tconst char *name;\n\tconst char *perms[33];\n};\n\nstruct timezone;\n\nstruct xattr;\n\nstruct sembuf;\n\nunion security_list_options {\n\tint (*binder_set_context_mgr)(const struct cred *);\n\tint (*binder_transaction)(const struct cred *, const struct cred *);\n\tint (*binder_transfer_binder)(const struct cred *, const struct cred *);\n\tint (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *);\n\tint (*ptrace_access_check)(struct task_struct *, unsigned int);\n\tint (*ptrace_traceme)(struct task_struct *);\n\tint (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *);\n\tint (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *);\n\tint (*capable)(const struct cred *, struct user_namespace *, int, unsigned int);\n\tint (*quotactl)(int, int, int, const struct super_block *);\n\tint (*quota_on)(struct dentry *);\n\tint (*syslog)(int);\n\tint (*settime)(const struct timespec64 *, const struct timezone *);\n\tint (*vm_enough_memory)(struct mm_struct *, long int);\n\tint (*bprm_creds_for_exec)(struct linux_binprm *);\n\tint (*bprm_creds_from_file)(struct linux_binprm *, const struct file *);\n\tint (*bprm_check_security)(struct linux_binprm *);\n\tvoid (*bprm_committing_creds)(const struct linux_binprm *);\n\tvoid (*bprm_committed_creds)(const struct linux_binprm *);\n\tint (*fs_context_submount)(struct fs_context *, struct super_block *);\n\tint (*fs_context_dup)(struct fs_context *, struct fs_context *);\n\tint (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *);\n\tint (*sb_alloc_security)(struct super_block *);\n\tvoid (*sb_delete)(struct super_block *);\n\tvoid (*sb_free_security)(struct super_block *);\n\tvoid (*sb_free_mnt_opts)(void *);\n\tint (*sb_eat_lsm_opts)(char *, void **);\n\tint (*sb_mnt_opts_compat)(struct super_block *, void *);\n\tint (*sb_remount)(struct super_block *, void *);\n\tint (*sb_kern_mount)(const struct super_block *);\n\tint (*sb_show_options)(struct seq_file *, struct super_block *);\n\tint (*sb_statfs)(struct dentry *);\n\tint (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *);\n\tint (*sb_umount)(struct vfsmount *, int);\n\tint (*sb_pivotroot)(const struct path *, const struct path *);\n\tint (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *);\n\tint (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *);\n\tint (*move_mount)(const struct path *, const struct path *);\n\tint (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *);\n\tint (*dentry_create_files_as)(struct dentry *, int, struct qstr *, const struct cred *, struct cred *);\n\tint (*path_unlink)(const struct path *, struct dentry *);\n\tint (*path_mkdir)(const struct path *, struct dentry *, umode_t);\n\tint (*path_rmdir)(const struct path *, struct dentry *);\n\tint (*path_mknod)(const struct path *, struct dentry *, umode_t, unsigned int);\n\tvoid (*path_post_mknod)(struct mnt_idmap *, struct dentry *);\n\tint (*path_truncate)(const struct path *);\n\tint (*path_symlink)(const struct path *, struct dentry *, const char *);\n\tint (*path_link)(struct dentry *, const struct path *, struct dentry *);\n\tint (*path_rename)(const struct path *, struct dentry *, const struct path *, struct dentry *, unsigned int);\n\tint (*path_chmod)(const struct path *, umode_t);\n\tint (*path_chown)(const struct path *, kuid_t, kgid_t);\n\tint (*path_chroot)(const struct path *);\n\tint (*path_notify)(const struct path *, u64, unsigned int);\n\tint (*inode_alloc_security)(struct inode *);\n\tvoid (*inode_free_security)(struct inode *);\n\tvoid (*inode_free_security_rcu)(void *);\n\tint (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *);\n\tint (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *);\n\tint (*inode_create)(struct inode *, struct dentry *, umode_t);\n\tvoid (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *);\n\tint (*inode_link)(struct dentry *, struct inode *, struct dentry *);\n\tint (*inode_unlink)(struct inode *, struct dentry *);\n\tint (*inode_symlink)(struct inode *, struct dentry *, const char *);\n\tint (*inode_mkdir)(struct inode *, struct dentry *, umode_t);\n\tint (*inode_rmdir)(struct inode *, struct dentry *);\n\tint (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t);\n\tint (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *);\n\tint (*inode_readlink)(struct dentry *);\n\tint (*inode_follow_link)(struct dentry *, struct inode *, bool);\n\tint (*inode_permission)(struct inode *, int);\n\tint (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *);\n\tvoid (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int);\n\tint (*inode_getattr)(const struct path *);\n\tint (*inode_xattr_skipcap)(const char *);\n\tint (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int);\n\tvoid (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int);\n\tint (*inode_getxattr)(struct dentry *, const char *);\n\tint (*inode_listxattr)(struct dentry *);\n\tint (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *);\n\tvoid (*inode_post_removexattr)(struct dentry *, const char *);\n\tint (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *);\n\tvoid (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *);\n\tint (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tint (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tvoid (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tint (*inode_need_killpriv)(struct dentry *);\n\tint (*inode_killpriv)(struct mnt_idmap *, struct dentry *);\n\tint (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool);\n\tint (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int);\n\tint (*inode_listsecurity)(struct inode *, char *, size_t);\n\tvoid (*inode_getlsmprop)(struct inode *, struct lsm_prop *);\n\tint (*inode_copy_up)(struct dentry *, struct cred **);\n\tint (*inode_copy_up_xattr)(struct dentry *, const char *);\n\tint (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t);\n\tint (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *);\n\tint (*file_permission)(struct file *, int);\n\tint (*file_alloc_security)(struct file *);\n\tvoid (*file_release)(struct file *);\n\tvoid (*file_free_security)(struct file *);\n\tint (*file_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int);\n\tint (*mmap_addr)(long unsigned int);\n\tint (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int);\n\tint (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int);\n\tint (*file_lock)(struct file *, unsigned int);\n\tint (*file_fcntl)(struct file *, unsigned int, long unsigned int);\n\tvoid (*file_set_fowner)(struct file *);\n\tint (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int);\n\tint (*file_receive)(struct file *);\n\tint (*file_open)(struct file *);\n\tint (*file_post_open)(struct file *, int);\n\tint (*file_truncate)(struct file *);\n\tint (*task_alloc)(struct task_struct *, long unsigned int);\n\tvoid (*task_free)(struct task_struct *);\n\tint (*cred_alloc_blank)(struct cred *, gfp_t);\n\tvoid (*cred_free)(struct cred *);\n\tint (*cred_prepare)(struct cred *, const struct cred *, gfp_t);\n\tvoid (*cred_transfer)(struct cred *, const struct cred *);\n\tvoid (*cred_getsecid)(const struct cred *, u32 *);\n\tvoid (*cred_getlsmprop)(const struct cred *, struct lsm_prop *);\n\tint (*kernel_act_as)(struct cred *, u32);\n\tint (*kernel_create_files_as)(struct cred *, struct inode *);\n\tint (*kernel_module_request)(char *);\n\tint (*kernel_load_data)(enum kernel_load_data_id, bool);\n\tint (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *);\n\tint (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool);\n\tint (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id);\n\tint (*task_fix_setuid)(struct cred *, const struct cred *, int);\n\tint (*task_fix_setgid)(struct cred *, const struct cred *, int);\n\tint (*task_fix_setgroups)(struct cred *, const struct cred *);\n\tint (*task_setpgid)(struct task_struct *, pid_t);\n\tint (*task_getpgid)(struct task_struct *);\n\tint (*task_getsid)(struct task_struct *);\n\tvoid (*current_getlsmprop_subj)(struct lsm_prop *);\n\tvoid (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *);\n\tint (*task_setnice)(struct task_struct *, int);\n\tint (*task_setioprio)(struct task_struct *, int);\n\tint (*task_getioprio)(struct task_struct *);\n\tint (*task_prlimit)(const struct cred *, const struct cred *, unsigned int);\n\tint (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *);\n\tint (*task_setscheduler)(struct task_struct *);\n\tint (*task_getscheduler)(struct task_struct *);\n\tint (*task_movememory)(struct task_struct *);\n\tint (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *);\n\tint (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tvoid (*task_to_inode)(struct task_struct *, struct inode *);\n\tint (*userns_create)(const struct cred *);\n\tint (*ipc_permission)(struct kern_ipc_perm *, short int);\n\tvoid (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *);\n\tint (*msg_msg_alloc_security)(struct msg_msg *);\n\tvoid (*msg_msg_free_security)(struct msg_msg *);\n\tint (*msg_queue_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*msg_queue_free_security)(struct kern_ipc_perm *);\n\tint (*msg_queue_associate)(struct kern_ipc_perm *, int);\n\tint (*msg_queue_msgctl)(struct kern_ipc_perm *, int);\n\tint (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int);\n\tint (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int);\n\tint (*shm_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*shm_free_security)(struct kern_ipc_perm *);\n\tint (*shm_associate)(struct kern_ipc_perm *, int);\n\tint (*shm_shmctl)(struct kern_ipc_perm *, int);\n\tint (*shm_shmat)(struct kern_ipc_perm *, char *, int);\n\tint (*sem_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*sem_free_security)(struct kern_ipc_perm *);\n\tint (*sem_associate)(struct kern_ipc_perm *, int);\n\tint (*sem_semctl)(struct kern_ipc_perm *, int);\n\tint (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int);\n\tint (*netlink_send)(struct sock *, struct sk_buff *);\n\tvoid (*d_instantiate)(struct dentry *, struct inode *);\n\tint (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32);\n\tint (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32);\n\tint (*getprocattr)(struct task_struct *, const char *, char **);\n\tint (*setprocattr)(const char *, void *, size_t);\n\tint (*ismaclabel)(const char *);\n\tint (*secid_to_secctx)(u32, struct lsm_context *);\n\tint (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *);\n\tint (*secctx_to_secid)(const char *, u32, u32 *);\n\tvoid (*release_secctx)(struct lsm_context *);\n\tvoid (*inode_invalidate_secctx)(struct inode *);\n\tint (*inode_notifysecctx)(struct inode *, void *, u32);\n\tint (*inode_setsecctx)(struct dentry *, void *, u32);\n\tint (*inode_getsecctx)(struct inode *, struct lsm_context *);\n\tint (*unix_stream_connect)(struct sock *, struct sock *, struct sock *);\n\tint (*unix_may_send)(struct socket *, struct socket *);\n\tint (*socket_create)(int, int, int, int);\n\tint (*socket_post_create)(struct socket *, int, int, int, int);\n\tint (*socket_socketpair)(struct socket *, struct socket *);\n\tint (*socket_bind)(struct socket *, struct sockaddr *, int);\n\tint (*socket_connect)(struct socket *, struct sockaddr *, int);\n\tint (*socket_listen)(struct socket *, int);\n\tint (*socket_accept)(struct socket *, struct socket *);\n\tint (*socket_sendmsg)(struct socket *, struct msghdr *, int);\n\tint (*socket_recvmsg)(struct socket *, struct msghdr *, int, int);\n\tint (*socket_getsockname)(struct socket *);\n\tint (*socket_getpeername)(struct socket *);\n\tint (*socket_getsockopt)(struct socket *, int, int);\n\tint (*socket_setsockopt)(struct socket *, int, int);\n\tint (*socket_shutdown)(struct socket *, int);\n\tint (*socket_sock_rcv_skb)(struct sock *, struct sk_buff *);\n\tint (*socket_getpeersec_stream)(struct socket *, sockptr_t, sockptr_t, unsigned int);\n\tint (*socket_getpeersec_dgram)(struct socket *, struct sk_buff *, u32 *);\n\tint (*sk_alloc_security)(struct sock *, int, gfp_t);\n\tvoid (*sk_free_security)(struct sock *);\n\tvoid (*sk_clone_security)(const struct sock *, struct sock *);\n\tvoid (*sk_getsecid)(const struct sock *, u32 *);\n\tvoid (*sock_graft)(struct sock *, struct socket *);\n\tint (*inet_conn_request)(const struct sock *, struct sk_buff *, struct request_sock *);\n\tvoid (*inet_csk_clone)(struct sock *, const struct request_sock *);\n\tvoid (*inet_conn_established)(struct sock *, struct sk_buff *);\n\tint (*secmark_relabel_packet)(u32);\n\tvoid (*secmark_refcount_inc)(void);\n\tvoid (*secmark_refcount_dec)(void);\n\tvoid (*req_classify_flow)(const struct request_sock *, struct flowi_common *);\n\tint (*tun_dev_alloc_security)(void *);\n\tint (*tun_dev_create)(void);\n\tint (*tun_dev_attach_queue)(void *);\n\tint (*tun_dev_attach)(struct sock *, void *);\n\tint (*tun_dev_open)(void *);\n\tint (*sctp_assoc_request)(struct sctp_association *, struct sk_buff *);\n\tint (*sctp_bind_connect)(struct sock *, int, struct sockaddr *, int);\n\tvoid (*sctp_sk_clone)(struct sctp_association *, struct sock *, struct sock *);\n\tint (*sctp_assoc_established)(struct sctp_association *, struct sk_buff *);\n\tint (*mptcp_add_subflow)(struct sock *, struct sock *);\n\tint (*key_alloc)(struct key *, const struct cred *, long unsigned int);\n\tint (*key_permission)(key_ref_t, const struct cred *, enum key_need_perm);\n\tint (*key_getsecurity)(struct key *, char **);\n\tvoid (*key_post_create_or_update)(struct key *, struct key *, const void *, size_t, long unsigned int, bool);\n\tint (*audit_rule_init)(u32, u32, char *, void **, gfp_t);\n\tint (*audit_rule_known)(struct audit_krule *);\n\tint (*audit_rule_match)(struct lsm_prop *, u32, u32, void *);\n\tvoid (*audit_rule_free)(void *);\n\tint (*bpf)(int, union bpf_attr *, unsigned int);\n\tint (*bpf_map)(struct bpf_map *, fmode_t);\n\tint (*bpf_prog)(struct bpf_prog *);\n\tint (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *);\n\tvoid (*bpf_map_free)(struct bpf_map *);\n\tint (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *);\n\tvoid (*bpf_prog_free)(struct bpf_prog *);\n\tint (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *);\n\tvoid (*bpf_token_free)(struct bpf_token *);\n\tint (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd);\n\tint (*bpf_token_capable)(const struct bpf_token *, int);\n\tint (*locked_down)(enum lockdown_reason);\n\tint (*perf_event_open)(struct perf_event_attr *, int);\n\tint (*perf_event_alloc)(struct perf_event *);\n\tint (*perf_event_read)(struct perf_event *);\n\tint (*perf_event_write)(struct perf_event *);\n\tint (*uring_override_creds)(const struct cred *);\n\tint (*uring_sqpoll)(void);\n\tint (*uring_cmd)(struct io_uring_cmd *);\n\tvoid (*initramfs_populated)(void);\n\tint (*bdev_alloc_security)(struct block_device *);\n\tvoid (*bdev_free_security)(struct block_device *);\n\tint (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t);\n\tvoid *lsm_func_addr;\n};\n\nstruct security_hook_list {\n\tstruct lsm_static_call *scalls;\n\tunion security_list_options hook;\n\tconst struct lsm_id *lsmid;\n};\n\nstruct seg6_pernet_data {\n\tstruct mutex lock;\n\tstruct in6_addr *tun_src;\n};\n\nstruct sel_netif {\n\tstruct list_head list;\n\tstruct netif_security_struct nsec;\n\tstruct callback_head callback_head;\n};\n\nstruct sel_netnode {\n\tstruct netnode_security_struct nsec;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct sel_netnode_bkt {\n\tunsigned int size;\n\tstruct list_head list;\n};\n\nstruct sel_netport {\n\tstruct netport_security_struct psec;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct sel_netport_bkt {\n\tint size;\n\tstruct list_head list;\n};\n\nstruct select_data {\n\tstruct dentry *start;\n\tunion {\n\t\tlong int found;\n\t\tstruct dentry *victim;\n\t};\n\tstruct list_head dispose;\n};\n\nstruct selinux_audit_data {\n\tu32 ssid;\n\tu32 tsid;\n\tu16 tclass;\n\tu32 requested;\n\tu32 audited;\n\tu32 denied;\n\tint result;\n};\n\nstruct selinux_audit_rule {\n\tu32 au_seqno;\n\tstruct context au_ctxt;\n};\n\nstruct selinux_avc {\n\tunsigned int avc_cache_threshold;\n\tstruct avc_cache avc_cache;\n};\n\nstruct selinux_fs_info {\n\tstruct dentry *bool_dir;\n\tunsigned int bool_num;\n\tchar **bool_pending_names;\n\tint *bool_pending_values;\n\tstruct dentry *class_dir;\n\tlong unsigned int last_class_ino;\n\tbool policy_opened;\n\tstruct dentry *policycap_dir;\n\tlong unsigned int last_ino;\n\tstruct super_block *sb;\n};\n\nstruct selinux_kernel_status {\n\tu32 version;\n\tu32 sequence;\n\tu32 enforcing;\n\tu32 policyload;\n\tu32 deny_unknown;\n};\n\nstruct selinux_policy;\n\nstruct selinux_policy_convert_data;\n\nstruct selinux_load_state {\n\tstruct selinux_policy *policy;\n\tstruct selinux_policy_convert_data *convert_data;\n};\n\nstruct selinux_mapping;\n\nstruct selinux_map {\n\tstruct selinux_mapping *mapping;\n\tu16 size;\n};\n\nstruct selinux_mapping {\n\tu16 value;\n\tu16 num_perms;\n\tu32 perms[32];\n};\n\nstruct selinux_mnt_opts {\n\tu32 fscontext_sid;\n\tu32 context_sid;\n\tu32 rootcontext_sid;\n\tu32 defcontext_sid;\n};\n\nstruct sidtab;\n\nstruct selinux_policy {\n\tstruct sidtab *sidtab;\n\tstruct policydb policydb;\n\tstruct selinux_map map;\n\tu32 latest_granting;\n};\n\nstruct sidtab_convert_params {\n\tstruct convert_context_args *args;\n\tstruct sidtab *target;\n};\n\nstruct selinux_policy_convert_data {\n\tstruct convert_context_args args;\n\tstruct sidtab_convert_params sidtab_params;\n};\n\nstruct selinux_state {\n\tbool enforcing;\n\tbool initialized;\n\tbool policycap[10];\n\tstruct page *status_page;\n\tstruct mutex status_lock;\n\tstruct selinux_policy *policy;\n\tstruct mutex policy_mutex;\n};\n\nstruct selnl_msg_policyload {\n\t__u32 seqno;\n};\n\nstruct selnl_msg_setenforce {\n\t__s32 val;\n};\n\nstruct sem {\n\tint semval;\n\tstruct pid *sempid;\n\tspinlock_t lock;\n\tstruct list_head pending_alter;\n\tstruct list_head pending_const;\n\ttime64_t sem_otime;\n};\n\nstruct sem_array {\n\tstruct kern_ipc_perm sem_perm;\n\ttime64_t sem_ctime;\n\tstruct list_head pending_alter;\n\tstruct list_head pending_const;\n\tstruct list_head list_id;\n\tint sem_nsems;\n\tint complex_count;\n\tunsigned int use_global_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sem sems[0];\n};\n\nstruct sem_undo;\n\nstruct sem_queue {\n\tstruct list_head list;\n\tstruct task_struct *sleeper;\n\tstruct sem_undo *undo;\n\tstruct pid *pid;\n\tint status;\n\tstruct sembuf *sops;\n\tstruct sembuf *blocking;\n\tint nsops;\n\tbool alter;\n\tbool dupsop;\n};\n\nstruct sem_undo_list;\n\nstruct sem_undo {\n\tstruct list_head list_proc;\n\tstruct callback_head rcu;\n\tstruct sem_undo_list *ulp;\n\tstruct list_head list_id;\n\tint semid;\n\tshort int semadj[0];\n};\n\nstruct sem_undo_list {\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tstruct list_head list_proc;\n};\n\nstruct semaphore_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tbool up;\n};\n\nstruct sembuf {\n\tshort unsigned int sem_num;\n\tshort int sem_op;\n\tshort int sem_flg;\n};\n\nstruct semid64_ds {\n\tstruct ipc64_perm sem_perm;\n\tlong int sem_otime;\n\tlong int sem_ctime;\n\tlong unsigned int sem_nsems;\n\tlong unsigned int __unused3;\n\tlong unsigned int __unused4;\n};\n\nstruct semid_ds {\n\tstruct ipc_perm sem_perm;\n\t__kernel_old_time_t sem_otime;\n\t__kernel_old_time_t sem_ctime;\n\tstruct sem *sem_base;\n\tstruct sem_queue *sem_pending;\n\tstruct sem_queue **sem_pending_last;\n\tstruct sem_undo *undo;\n\tshort unsigned int sem_nsems;\n};\n\nstruct seminfo {\n\tint semmap;\n\tint semmni;\n\tint semmns;\n\tint semmnu;\n\tint semmsl;\n\tint semopm;\n\tint semume;\n\tint semusz;\n\tint semvmx;\n\tint semaem;\n};\n\nstruct send_ctx {\n\tstruct file *send_filp;\n\tloff_t send_off;\n\tchar *send_buf;\n\tu32 send_size;\n\tu32 send_max_size;\n\tbool put_data;\n\tstruct page **send_buf_pages;\n\tu64 flags;\n\tu32 proto;\n\tstruct btrfs_root *send_root;\n\tstruct btrfs_root *parent_root;\n\tstruct clone_root *clone_roots;\n\tint clone_roots_cnt;\n\tstruct btrfs_path *left_path;\n\tstruct btrfs_path *right_path;\n\tstruct btrfs_key *cmp_key;\n\tu64 last_reloc_trans;\n\tu64 cur_ino;\n\tu64 cur_inode_gen;\n\tu64 cur_inode_size;\n\tu64 cur_inode_mode;\n\tu64 cur_inode_rdev;\n\tu64 cur_inode_last_extent;\n\tu64 cur_inode_next_write_offset;\n\tbool cur_inode_new;\n\tbool cur_inode_new_gen;\n\tbool cur_inode_deleted;\n\tbool ignore_cur_inode;\n\tbool cur_inode_needs_verity;\n\tvoid *verity_descriptor;\n\tu64 send_progress;\n\tstruct list_head new_refs;\n\tstruct list_head deleted_refs;\n\tstruct btrfs_lru_cache name_cache;\n\tstruct inode *cur_inode;\n\tstruct file_ra_state ra;\n\tu64 page_cache_clear_start;\n\tbool clean_page_cache;\n\tstruct rb_root pending_dir_moves;\n\tstruct rb_root waiting_dir_moves;\n\tstruct rb_root orphan_dirs;\n\tstruct rb_root rbtree_new_refs;\n\tstruct rb_root rbtree_deleted_refs;\n\tstruct btrfs_lru_cache backref_cache;\n\tu64 backref_cache_last_reloc_trans;\n\tstruct btrfs_lru_cache dir_created_cache;\n\tstruct btrfs_lru_cache dir_utimes_cache;\n};\n\nstruct send_signal_irq_work {\n\tstruct irq_work irq_work;\n\tstruct task_struct *task;\n\tu32 sig;\n\tenum pid_type type;\n\tbool has_siginfo;\n\tstruct kernel_siginfo info;\n};\n\nstruct sense_info {\n\tu8 skey;\n\tu8 asc;\n\tu8 ascq;\n};\n\nstruct seqDef_s {\n\tU32 offBase;\n\tU16___2 litLength;\n\tU16___2 mlBase;\n};\n\nstruct seq_operations {\n\tvoid * (*start)(struct seq_file *, loff_t *);\n\tvoid (*stop)(struct seq_file *, void *);\n\tvoid * (*next)(struct seq_file *, void *, loff_t *);\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct seqcount_rwlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_rwlock seqcount_rwlock_t;\n\nstruct serial8250_config {\n\tconst char *name;\n\tshort unsigned int fifo_size;\n\tshort unsigned int tx_loadsz;\n\tunsigned char fcr;\n\tunsigned char rxtrig_bytes[4];\n\tunsigned int flags;\n};\n\nstruct serial_ctrl_device {\n\tstruct device dev;\n\tstruct ida port_ida;\n};\n\nstruct serial_icounter_struct {\n\tint cts;\n\tint dsr;\n\tint rng;\n\tint dcd;\n\tint rx;\n\tint tx;\n\tint frame;\n\tint overrun;\n\tint parity;\n\tint brk;\n\tint buf_overrun;\n\tint reserved[9];\n};\n\nstruct serial_port_device {\n\tstruct device dev;\n\tstruct uart_port *port;\n\tunsigned int tx_enabled: 1;\n};\n\nstruct serial_private {\n\tstruct pci_dev *dev;\n\tunsigned int nr;\n\tstruct pci_serial_quirk *quirk;\n\tconst struct pciserial_board *board;\n\tint line[0];\n};\n\nstruct serial_struct {\n\tint type;\n\tint line;\n\tunsigned int port;\n\tint irq;\n\tint flags;\n\tint xmit_fifo_size;\n\tint custom_divisor;\n\tint baud_base;\n\tshort unsigned int close_delay;\n\tchar io_type;\n\tchar reserved_char[1];\n\tint hub6;\n\tshort unsigned int closing_wait;\n\tshort unsigned int closing_wait2;\n\tunsigned char *iomem_base;\n\tshort unsigned int iomem_reg_shift;\n\tunsigned int port_high;\n\tlong unsigned int iomap_base;\n};\n\ntypedef struct serio *class_serio_pause_rx_t;\n\nstruct serio_device_id {\n\t__u8 type;\n\t__u8 extra;\n\t__u8 id;\n\t__u8 proto;\n};\n\nstruct serio_driver;\n\nstruct serio {\n\tvoid *port_data;\n\tchar name[32];\n\tchar phys[32];\n\tchar firmware_id[128];\n\tbool manual_bind;\n\tstruct serio_device_id id;\n\tspinlock_t lock;\n\tint (*write)(struct serio *, unsigned char);\n\tint (*open)(struct serio *);\n\tvoid (*close)(struct serio *);\n\tint (*start)(struct serio *);\n\tvoid (*stop)(struct serio *);\n\tstruct serio *parent;\n\tstruct list_head child_node;\n\tstruct list_head children;\n\tunsigned int depth;\n\tstruct serio_driver *drv;\n\tstruct mutex drv_mutex;\n\tstruct device dev;\n\tstruct list_head node;\n\tstruct mutex *ps2_cmd_mutex;\n};\n\nstruct serio_driver {\n\tconst char *description;\n\tconst struct serio_device_id *id_table;\n\tbool manual_bind;\n\tvoid (*write_wakeup)(struct serio *);\n\tirqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int);\n\tint (*connect)(struct serio *, struct serio_driver *);\n\tint (*reconnect)(struct serio *);\n\tint (*fast_reconnect)(struct serio *);\n\tvoid (*disconnect)(struct serio *);\n\tvoid (*cleanup)(struct serio *);\n\tstruct device_driver driver;\n};\n\nstruct serio_event {\n\tenum serio_event_type type;\n\tvoid *object;\n\tstruct module *owner;\n\tstruct list_head node;\n};\n\nstruct set_affinity_pending {\n\trefcount_t refs;\n\tunsigned int stop_pending;\n\tstruct completion done;\n\tstruct cpu_stop_work stop_work;\n\tstruct migration_arg arg;\n};\n\nstruct set_config_request {\n\tstruct usb_device *udev;\n\tint config;\n\tstruct work_struct work;\n\tstruct list_head node;\n};\n\nstruct set_event_iter {\n\tenum set_event_iter_type type;\n\tunion {\n\t\tstruct trace_event_file *file;\n\t\tstruct event_mod_load *event_mod;\n\t};\n};\n\nstruct sfp_eeprom_id;\n\nstruct sff_data {\n\tunsigned int gpios;\n\tbool (*module_supported)(const struct sfp_eeprom_id *);\n};\n\nstruct sfp_eeprom_base {\n\tu8 phys_id;\n\tu8 phys_ext_id;\n\tu8 connector;\n\tu8 if_1x_copper_passive: 1;\n\tu8 if_1x_copper_active: 1;\n\tu8 if_1x_lx: 1;\n\tu8 if_1x_sx: 1;\n\tu8 e10g_base_sr: 1;\n\tu8 e10g_base_lr: 1;\n\tu8 e10g_base_lrm: 1;\n\tu8 e10g_base_er: 1;\n\tu8 sonet_oc3_short_reach: 1;\n\tu8 sonet_oc3_smf_intermediate_reach: 1;\n\tu8 sonet_oc3_smf_long_reach: 1;\n\tu8 unallocated_5_3: 1;\n\tu8 sonet_oc12_short_reach: 1;\n\tu8 sonet_oc12_smf_intermediate_reach: 1;\n\tu8 sonet_oc12_smf_long_reach: 1;\n\tu8 unallocated_5_7: 1;\n\tu8 sonet_oc48_short_reach: 1;\n\tu8 sonet_oc48_intermediate_reach: 1;\n\tu8 sonet_oc48_long_reach: 1;\n\tu8 sonet_reach_bit2: 1;\n\tu8 sonet_reach_bit1: 1;\n\tu8 sonet_oc192_short_reach: 1;\n\tu8 escon_smf_1310_laser: 1;\n\tu8 escon_mmf_1310_led: 1;\n\tu8 e1000_base_sx: 1;\n\tu8 e1000_base_lx: 1;\n\tu8 e1000_base_cx: 1;\n\tu8 e1000_base_t: 1;\n\tu8 e100_base_lx: 1;\n\tu8 e100_base_fx: 1;\n\tu8 e_base_bx10: 1;\n\tu8 e_base_px: 1;\n\tu8 fc_tech_electrical_inter_enclosure: 1;\n\tu8 fc_tech_lc: 1;\n\tu8 fc_tech_sa: 1;\n\tu8 fc_ll_m: 1;\n\tu8 fc_ll_l: 1;\n\tu8 fc_ll_i: 1;\n\tu8 fc_ll_s: 1;\n\tu8 fc_ll_v: 1;\n\tu8 unallocated_8_0: 1;\n\tu8 unallocated_8_1: 1;\n\tu8 sfp_ct_passive: 1;\n\tu8 sfp_ct_active: 1;\n\tu8 fc_tech_ll: 1;\n\tu8 fc_tech_sl: 1;\n\tu8 fc_tech_sn: 1;\n\tu8 fc_tech_electrical_intra_enclosure: 1;\n\tu8 fc_media_sm: 1;\n\tu8 unallocated_9_1: 1;\n\tu8 fc_media_m5: 1;\n\tu8 fc_media_m6: 1;\n\tu8 fc_media_tv: 1;\n\tu8 fc_media_mi: 1;\n\tu8 fc_media_tp: 1;\n\tu8 fc_media_tw: 1;\n\tu8 fc_speed_100: 1;\n\tu8 unallocated_10_1: 1;\n\tu8 fc_speed_200: 1;\n\tu8 fc_speed_3200: 1;\n\tu8 fc_speed_400: 1;\n\tu8 fc_speed_1600: 1;\n\tu8 fc_speed_800: 1;\n\tu8 fc_speed_1200: 1;\n\tu8 encoding;\n\tu8 br_nominal;\n\tu8 rate_id;\n\tu8 link_len[6];\n\tchar vendor_name[16];\n\tu8 extended_cc;\n\tchar vendor_oui[3];\n\tchar vendor_pn[16];\n\tchar vendor_rev[4];\n\tunion {\n\t\t__be16 optical_wavelength;\n\t\t__be16 cable_compliance;\n\t\tstruct {\n\t\t\tu8 sff8431_app_e: 1;\n\t\t\tu8 fc_pi_4_app_h: 1;\n\t\t\tu8 reserved60_2: 6;\n\t\t\tu8 reserved61: 8;\n\t\t} passive;\n\t\tstruct {\n\t\t\tu8 sff8431_app_e: 1;\n\t\t\tu8 fc_pi_4_app_h: 1;\n\t\t\tu8 sff8431_lim: 1;\n\t\t\tu8 fc_pi_4_lim: 1;\n\t\t\tu8 reserved60_4: 4;\n\t\t\tu8 reserved61: 8;\n\t\t} active;\n\t};\n\tu8 reserved62;\n\tu8 cc_base;\n};\n\nstruct sfp_eeprom_ext {\n\t__be16 options;\n\tu8 br_max;\n\tu8 br_min;\n\tchar vendor_sn[16];\n\tchar datecode[8];\n\tu8 diagmon;\n\tu8 enhopts;\n\tu8 sff8472_compliance;\n\tu8 cc_ext;\n};\n\nstruct sfp_eeprom_id {\n\tstruct sfp_eeprom_base base;\n\tstruct sfp_eeprom_ext ext;\n};\n\nstruct sfp_diag {\n\t__be16 temp_high_alarm;\n\t__be16 temp_low_alarm;\n\t__be16 temp_high_warn;\n\t__be16 temp_low_warn;\n\t__be16 volt_high_alarm;\n\t__be16 volt_low_alarm;\n\t__be16 volt_high_warn;\n\t__be16 volt_low_warn;\n\t__be16 bias_high_alarm;\n\t__be16 bias_low_alarm;\n\t__be16 bias_high_warn;\n\t__be16 bias_low_warn;\n\t__be16 txpwr_high_alarm;\n\t__be16 txpwr_low_alarm;\n\t__be16 txpwr_high_warn;\n\t__be16 txpwr_low_warn;\n\t__be16 rxpwr_high_alarm;\n\t__be16 rxpwr_low_alarm;\n\t__be16 rxpwr_high_warn;\n\t__be16 rxpwr_low_warn;\n\t__be16 laser_temp_high_alarm;\n\t__be16 laser_temp_low_alarm;\n\t__be16 laser_temp_high_warn;\n\t__be16 laser_temp_low_warn;\n\t__be16 tec_cur_high_alarm;\n\t__be16 tec_cur_low_alarm;\n\t__be16 tec_cur_high_warn;\n\t__be16 tec_cur_low_warn;\n\t__be32 cal_rxpwr4;\n\t__be32 cal_rxpwr3;\n\t__be32 cal_rxpwr2;\n\t__be32 cal_rxpwr1;\n\t__be32 cal_rxpwr0;\n\t__be16 cal_txi_slope;\n\t__be16 cal_txi_offset;\n\t__be16 cal_txpwr_slope;\n\t__be16 cal_txpwr_offset;\n\t__be16 cal_t_slope;\n\t__be16 cal_t_offset;\n\t__be16 cal_v_slope;\n\t__be16 cal_v_offset;\n};\n\nstruct sfp_quirk;\n\nstruct sfp {\n\tstruct device *dev;\n\tstruct i2c_adapter *i2c;\n\tstruct mii_bus *i2c_mii;\n\tstruct sfp_bus *sfp_bus;\n\tenum mdio_i2c_proto mdio_protocol;\n\tstruct phy_device *mod_phy;\n\tconst struct sff_data *type;\n\tsize_t i2c_block_size;\n\tu32 max_power_mW;\n\tunsigned int (*get_state)(struct sfp *);\n\tvoid (*set_state)(struct sfp *, unsigned int);\n\tint (*read)(struct sfp *, bool, u8, void *, size_t);\n\tint (*write)(struct sfp *, bool, u8, void *, size_t);\n\tstruct gpio_desc *gpio[6];\n\tint gpio_irq[6];\n\tbool need_poll;\n\tstruct mutex st_mutex;\n\tunsigned int state_hw_drive;\n\tunsigned int state_hw_mask;\n\tunsigned int state_soft_mask;\n\tunsigned int state_ignore_mask;\n\tunsigned int state;\n\tstruct delayed_work poll;\n\tstruct delayed_work timeout;\n\tstruct mutex sm_mutex;\n\tunsigned char sm_mod_state;\n\tunsigned char sm_mod_tries_init;\n\tunsigned char sm_mod_tries;\n\tunsigned char sm_dev_state;\n\tshort unsigned int sm_state;\n\tunsigned char sm_fault_retries;\n\tunsigned char sm_phy_retries;\n\tstruct sfp_eeprom_id id;\n\tunsigned int module_power_mW;\n\tunsigned int module_t_start_up;\n\tunsigned int module_t_wait;\n\tunsigned int phy_t_retry;\n\tunsigned int rate_kbd;\n\tunsigned int rs_threshold_kbd;\n\tunsigned int rs_state_mask;\n\tbool have_a2;\n\tconst struct sfp_quirk *quirk;\n\tstruct sfp_diag diag;\n\tstruct delayed_work hwmon_probe;\n\tunsigned int hwmon_tries;\n\tstruct device *hwmon_dev;\n\tchar *hwmon_name;\n\tstruct dentry *debugfs_dir;\n};\n\nstruct sfp_socket_ops;\n\nstruct sfp_upstream_ops;\n\nstruct sfp_bus {\n\tstruct kref kref;\n\tstruct list_head node;\n\tconst struct fwnode_handle *fwnode;\n\tconst struct sfp_socket_ops *socket_ops;\n\tstruct device *sfp_dev;\n\tstruct sfp *sfp;\n\tconst struct sfp_quirk *sfp_quirk;\n\tconst struct sfp_upstream_ops *upstream_ops;\n\tvoid *upstream;\n\tstruct phy_device *phydev;\n\tbool registered;\n\tbool started;\n};\n\nstruct sfp_quirk {\n\tconst char *vendor;\n\tconst char *part;\n\tvoid (*modes)(const struct sfp_eeprom_id *, long unsigned int *, long unsigned int *);\n\tvoid (*fixup)(struct sfp *);\n};\n\nstruct sfp_socket_ops {\n\tvoid (*attach)(struct sfp *);\n\tvoid (*detach)(struct sfp *);\n\tvoid (*start)(struct sfp *);\n\tvoid (*stop)(struct sfp *);\n\tvoid (*set_signal_rate)(struct sfp *, unsigned int);\n\tint (*module_info)(struct sfp *, struct ethtool_modinfo *);\n\tint (*module_eeprom)(struct sfp *, struct ethtool_eeprom *, u8 *);\n\tint (*module_eeprom_by_page)(struct sfp *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n};\n\nstruct sfp_upstream_ops {\n\tvoid (*attach)(void *, struct sfp_bus *);\n\tvoid (*detach)(void *, struct sfp_bus *);\n\tint (*module_insert)(void *, const struct sfp_eeprom_id *);\n\tvoid (*module_remove)(void *);\n\tint (*module_start)(void *);\n\tvoid (*module_stop)(void *);\n\tvoid (*link_down)(void *);\n\tvoid (*link_up)(void *);\n\tint (*connect_phy)(void *, struct phy_device *);\n\tvoid (*disconnect_phy)(void *, struct phy_device *);\n};\n\nstruct sg {\n\tstruct ext4_group_info info;\n\text4_grpblk_t counters[18];\n};\n\nstruct sg_append_table {\n\tstruct sg_table sgt;\n\tstruct scatterlist *prv;\n\tunsigned int total_nents;\n};\n\nstruct sg_device {\n\tstruct scsi_device *device;\n\twait_queue_head_t open_wait;\n\tstruct mutex open_rel_lock;\n\tint sg_tablesize;\n\tu32 index;\n\tstruct list_head sfds;\n\trwlock_t sfd_lock;\n\tatomic_t detaching;\n\tbool exclude;\n\tint open_cnt;\n\tchar sgdebug;\n\tchar name[32];\n\tstruct cdev *cdev;\n\tstruct kref d_ref;\n};\n\ntypedef struct sg_device Sg_device;\n\nstruct sg_page_iter {\n\tstruct scatterlist *sg;\n\tunsigned int sg_pgoffset;\n\tunsigned int __nents;\n\tint __pg_advance;\n};\n\nstruct sg_dma_page_iter {\n\tstruct sg_page_iter base;\n};\n\nstruct sg_scatter_hold {\n\tshort unsigned int k_use_sg;\n\tunsigned int sglist_len;\n\tunsigned int bufflen;\n\tstruct page **pages;\n\tint page_order;\n\tchar dio_in_use;\n\tunsigned char cmd_opcode;\n};\n\ntypedef struct sg_scatter_hold Sg_scatter_hold;\n\nstruct sg_io_hdr {\n\tint interface_id;\n\tint dxfer_direction;\n\tunsigned char cmd_len;\n\tunsigned char mx_sb_len;\n\tshort unsigned int iovec_count;\n\tunsigned int dxfer_len;\n\tvoid *dxferp;\n\tunsigned char *cmdp;\n\tvoid *sbp;\n\tunsigned int timeout;\n\tunsigned int flags;\n\tint pack_id;\n\tvoid *usr_ptr;\n\tunsigned char status;\n\tunsigned char masked_status;\n\tunsigned char msg_status;\n\tunsigned char sb_len_wr;\n\tshort unsigned int host_status;\n\tshort unsigned int driver_status;\n\tint resid;\n\tunsigned int duration;\n\tunsigned int info;\n};\n\ntypedef struct sg_io_hdr sg_io_hdr_t;\n\nstruct sg_fd;\n\nstruct sg_request {\n\tstruct list_head entry;\n\tstruct sg_fd *parentfp;\n\tSg_scatter_hold data;\n\tsg_io_hdr_t header;\n\tunsigned char sense_b[96];\n\tchar res_used;\n\tchar orphan;\n\tchar sg_io_owned;\n\tchar done;\n\tstruct request *rq;\n\tstruct bio *bio;\n\tstruct execute_work ew;\n};\n\ntypedef struct sg_request Sg_request;\n\nstruct sg_fd {\n\tstruct list_head sfd_siblings;\n\tstruct sg_device *parentdp;\n\twait_queue_head_t read_wait;\n\trwlock_t rq_list_lock;\n\tstruct mutex f_mutex;\n\tint timeout;\n\tint timeout_user;\n\tSg_scatter_hold reserve;\n\tstruct list_head rq_list;\n\tstruct fasync_struct *async_qp;\n\tSg_request req_arr[16];\n\tchar force_packid;\n\tchar cmd_q;\n\tunsigned char next_cmd_len;\n\tchar keep_orphan;\n\tchar mmap_called;\n\tchar res_in_use;\n\tstruct kref f_ref;\n\tstruct execute_work ew;\n};\n\ntypedef struct sg_fd Sg_fd;\n\nstruct sg_header {\n\tint pack_len;\n\tint reply_len;\n\tint pack_id;\n\tint result;\n\tunsigned int twelve_byte: 1;\n\tunsigned int target_status: 5;\n\tunsigned int host_status: 8;\n\tunsigned int driver_status: 8;\n\tunsigned int other_flags: 10;\n\tunsigned char sense_buffer[16];\n};\n\nstruct sg_io_v4 {\n\t__s32 guard;\n\t__u32 protocol;\n\t__u32 subprotocol;\n\t__u32 request_len;\n\t__u64 request;\n\t__u64 request_tag;\n\t__u32 request_attr;\n\t__u32 request_priority;\n\t__u32 request_extra;\n\t__u32 max_response_len;\n\t__u64 response;\n\t__u32 dout_iovec_count;\n\t__u32 dout_xfer_len;\n\t__u32 din_iovec_count;\n\t__u32 din_xfer_len;\n\t__u64 dout_xferp;\n\t__u64 din_xferp;\n\t__u32 timeout;\n\t__u32 flags;\n\t__u64 usr_ptr;\n\t__u32 spare_in;\n\t__u32 driver_status;\n\t__u32 transport_status;\n\t__u32 device_status;\n\t__u32 retry_delay;\n\t__u32 info;\n\t__u32 duration;\n\t__u32 response_len;\n\t__s32 din_resid;\n\t__s32 dout_resid;\n\t__u64 generated_tag;\n\t__u32 spare_out;\n\t__u32 padding;\n};\n\nstruct sg_list {\n\tunsigned int n;\n\tunsigned int size;\n\tsize_t len;\n\tstruct scatterlist *sg;\n};\n\nstruct sg_mapping_iter {\n\tstruct page *page;\n\tvoid *addr;\n\tsize_t length;\n\tsize_t consumed;\n\tstruct sg_page_iter piter;\n\tunsigned int __offset;\n\tunsigned int __remaining;\n\tunsigned int __flags;\n};\n\nstruct sg_pool {\n\tsize_t size;\n\tchar *name;\n\tstruct kmem_cache *slab;\n\tmempool_t *pool;\n};\n\nstruct sg_proc_deviter {\n\tloff_t index;\n\tsize_t max;\n};\n\nstruct sg_req_info {\n\tchar req_state;\n\tchar orphan;\n\tchar sg_io_owned;\n\tchar problem;\n\tint pack_id;\n\tvoid *usr_ptr;\n\tunsigned int duration;\n\tint unused;\n};\n\ntypedef struct sg_req_info sg_req_info_t;\n\nstruct sg_scsi_id {\n\tint host_no;\n\tint channel;\n\tint scsi_id;\n\tint lun;\n\tint scsi_type;\n\tshort int h_cmd_per_lun;\n\tshort int d_queue_depth;\n\tint unused[2];\n};\n\ntypedef struct sg_scsi_id sg_scsi_id_t;\n\nstruct sha256_state {\n\tu32 state[8];\n\tu64 count;\n\tu8 buf[64];\n};\n\nstruct sha512_state {\n\tu64 state[8];\n\tu64 count[2];\n\tu8 buf[128];\n};\n\nstruct share_check {\n\tstruct btrfs_backref_share_check_ctx *ctx;\n\tstruct btrfs_root *root;\n\tu64 inum;\n\tu64 data_bytenr;\n\tu64 data_extent_gen;\n\tint share_count;\n\tint self_ref_count;\n\tbool have_delayed_delete_refs;\n};\n\nstruct shared_policy {\n\tstruct rb_root root;\n\trwlock_t lock;\n};\n\nstruct shash_desc;\n\nstruct shash_alg {\n\tint (*init)(struct shash_desc *);\n\tint (*update)(struct shash_desc *, const u8 *, unsigned int);\n\tint (*final)(struct shash_desc *, u8 *);\n\tint (*finup)(struct shash_desc *, const u8 *, unsigned int, u8 *);\n\tint (*digest)(struct shash_desc *, const u8 *, unsigned int, u8 *);\n\tint (*export)(struct shash_desc *, void *);\n\tint (*import)(struct shash_desc *, const void *);\n\tint (*setkey)(struct crypto_shash *, const u8 *, unsigned int);\n\tint (*init_tfm)(struct crypto_shash *);\n\tvoid (*exit_tfm)(struct crypto_shash *);\n\tint (*clone_tfm)(struct crypto_shash *, struct crypto_shash *);\n\tunsigned int descsize;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int digestsize;\n\t\t\tunsigned int statesize;\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct hash_alg_common halg;\n\t};\n};\n\nstruct shash_desc {\n\tstruct crypto_shash *tfm;\n\tvoid *__ctx[0];\n};\n\nstruct shash_instance {\n\tvoid (*free)(struct shash_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[104];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct shash_alg alg;\n\t};\n};\n\nstruct shm_file_data {\n\tint id;\n\tstruct ipc_namespace *ns;\n\tstruct file *file;\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct shm_info {\n\tint used_ids;\n\t__kernel_ulong_t shm_tot;\n\t__kernel_ulong_t shm_rss;\n\t__kernel_ulong_t shm_swp;\n\t__kernel_ulong_t swap_attempts;\n\t__kernel_ulong_t swap_successes;\n};\n\nstruct shmem_falloc {\n\twait_queue_head_t *waitq;\n\tlong unsigned int start;\n\tlong unsigned int next;\n\tlong unsigned int nr_falloced;\n\tlong unsigned int nr_unswapped;\n};\n\nstruct shmem_inode_info {\n\tspinlock_t lock;\n\tunsigned int seals;\n\tlong unsigned int flags;\n\tlong unsigned int alloced;\n\tlong unsigned int swapped;\n\tunion {\n\t\tstruct offset_ctx dir_offsets;\n\t\tstruct {\n\t\t\tstruct list_head shrinklist;\n\t\t\tstruct list_head swaplist;\n\t\t};\n\t};\n\tstruct timespec64 i_crtime;\n\tstruct shared_policy policy;\n\tstruct simple_xattrs xattrs;\n\tlong unsigned int fallocend;\n\tunsigned int fsflags;\n\tatomic_t stop_eviction;\n\tstruct inode vfs_inode;\n};\n\nstruct shmem_quota_limits {\n\tqsize_t usrquota_bhardlimit;\n\tqsize_t usrquota_ihardlimit;\n\tqsize_t grpquota_bhardlimit;\n\tqsize_t grpquota_ihardlimit;\n};\n\nstruct shmem_options {\n\tlong long unsigned int blocks;\n\tlong long unsigned int inodes;\n\tstruct mempolicy *mpol;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tbool full_inums;\n\tint huge;\n\tint seen;\n\tbool noswap;\n\tshort unsigned int quota_types;\n\tstruct shmem_quota_limits qlimits;\n};\n\nstruct shmem_sb_info {\n\tlong unsigned int max_blocks;\n\tstruct percpu_counter used_blocks;\n\tlong unsigned int max_inodes;\n\tlong unsigned int free_ispace;\n\traw_spinlock_t stat_lock;\n\tumode_t mode;\n\tunsigned char huge;\n\tkuid_t uid;\n\tkgid_t gid;\n\tbool full_inums;\n\tbool noswap;\n\tino_t next_ino;\n\tino_t *ino_batch;\n\tstruct mempolicy *mpol;\n\tspinlock_t shrinklist_lock;\n\tstruct list_head shrinklist;\n\tlong unsigned int shrinklist_len;\n\tstruct shmem_quota_limits qlimits;\n};\n\nstruct shmid64_ds {\n\tstruct ipc64_perm shm_perm;\n\t__kernel_size_t shm_segsz;\n\tlong int shm_atime;\n\tlong int shm_dtime;\n\tlong int shm_ctime;\n\t__kernel_pid_t shm_cpid;\n\t__kernel_pid_t shm_lpid;\n\tlong unsigned int shm_nattch;\n\tlong unsigned int __unused4;\n\tlong unsigned int __unused5;\n};\n\nstruct shmid_ds {\n\tstruct ipc_perm shm_perm;\n\tint shm_segsz;\n\t__kernel_old_time_t shm_atime;\n\t__kernel_old_time_t shm_dtime;\n\t__kernel_old_time_t shm_ctime;\n\t__kernel_ipc_pid_t shm_cpid;\n\t__kernel_ipc_pid_t shm_lpid;\n\tshort unsigned int shm_nattch;\n\tshort unsigned int shm_unused;\n\tvoid *shm_unused2;\n\tvoid *shm_unused3;\n};\n\nstruct shmid_kernel {\n\tstruct kern_ipc_perm shm_perm;\n\tstruct file *shm_file;\n\tlong unsigned int shm_nattch;\n\tlong unsigned int shm_segsz;\n\ttime64_t shm_atim;\n\ttime64_t shm_dtim;\n\ttime64_t shm_ctim;\n\tstruct pid *shm_cprid;\n\tstruct pid *shm_lprid;\n\tstruct ucounts *mlock_ucounts;\n\tstruct task_struct *shm_creator;\n\tstruct list_head shm_clist;\n\tstruct ipc_namespace *ns;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct shminfo {\n\tint shmmax;\n\tint shmmin;\n\tint shmmni;\n\tint shmseg;\n\tint shmall;\n};\n\nstruct shminfo64 {\n\tlong unsigned int shmmax;\n\tlong unsigned int shmmin;\n\tlong unsigned int shmmni;\n\tlong unsigned int shmseg;\n\tlong unsigned int shmall;\n\tlong unsigned int __unused1;\n\tlong unsigned int __unused2;\n\tlong unsigned int __unused3;\n\tlong unsigned int __unused4;\n};\n\nstruct show_busy_params {\n\tstruct seq_file *m;\n\tstruct blk_mq_hw_ctx *hctx;\n};\n\nstruct shrink_control {\n\tgfp_t gfp_mask;\n\tint nid;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int nr_scanned;\n\tstruct mem_cgroup *memcg;\n};\n\nstruct shrinker {\n\tlong unsigned int (*count_objects)(struct shrinker *, struct shrink_control *);\n\tlong unsigned int (*scan_objects)(struct shrinker *, struct shrink_control *);\n\tlong int batch;\n\tint seeks;\n\tunsigned int flags;\n\trefcount_t refcount;\n\tstruct completion done;\n\tstruct callback_head rcu;\n\tvoid *private_data;\n\tstruct list_head list;\n\tint id;\n\tatomic_long_t *nr_deferred;\n};\n\nstruct shrinker_info_unit;\n\nstruct shrinker_info {\n\tstruct callback_head rcu;\n\tint map_nr_max;\n\tstruct shrinker_info_unit *unit[0];\n};\n\nstruct shrinker_info_unit {\n\tatomic_long_t nr_deferred[64];\n\tlong unsigned int map[1];\n};\n\nstruct sidtab_node_inner;\n\nstruct sidtab_node_leaf;\n\nunion sidtab_entry_inner {\n\tstruct sidtab_node_inner *ptr_inner;\n\tstruct sidtab_node_leaf *ptr_leaf;\n};\n\nstruct sidtab_str_cache;\n\nstruct sidtab_entry {\n\tu32 sid;\n\tu32 hash;\n\tstruct context context;\n\tstruct sidtab_str_cache *cache;\n\tstruct hlist_node list;\n};\n\nstruct sidtab_isid_entry {\n\tint set;\n\tstruct sidtab_entry entry;\n};\n\nstruct sidtab {\n\tunion sidtab_entry_inner roots[4];\n\tu32 count;\n\tstruct sidtab_convert_params *convert;\n\tbool frozen;\n\tspinlock_t lock;\n\tu32 cache_free_slots;\n\tstruct list_head cache_lru_list;\n\tspinlock_t cache_lock;\n\tstruct sidtab_isid_entry isids[27];\n\tstruct hlist_head context_to_sid[512];\n};\n\nstruct sidtab_node_inner {\n\tunion sidtab_entry_inner entries[2048];\n};\n\nstruct sidtab_node_leaf {\n\tstruct sidtab_entry entries[157];\n};\n\nstruct sidtab_str_cache {\n\tstruct callback_head rcu_member;\n\tstruct list_head lru_member;\n\tstruct sidtab_entry *parent;\n\tu32 len;\n\tchar str[0];\n};\n\nstruct sig_alg {\n\tint (*sign)(struct crypto_sig *, const void *, unsigned int, void *, unsigned int);\n\tint (*verify)(struct crypto_sig *, const void *, unsigned int, const void *, unsigned int);\n\tint (*set_pub_key)(struct crypto_sig *, const void *, unsigned int);\n\tint (*set_priv_key)(struct crypto_sig *, const void *, unsigned int);\n\tunsigned int (*key_size)(struct crypto_sig *);\n\tunsigned int (*digest_size)(struct crypto_sig *);\n\tunsigned int (*max_size)(struct crypto_sig *);\n\tint (*init)(struct crypto_sig *);\n\tvoid (*exit)(struct crypto_sig *);\n\tstruct crypto_alg base;\n};\n\nstruct sig_instance {\n\tvoid (*free)(struct sig_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[72];\n\t\t\tstruct crypto_instance base;\n\t\t};\n\t\tstruct sig_alg alg;\n\t};\n};\n\nstruct sig_testvec {\n\tconst unsigned char *key;\n\tconst unsigned char *params;\n\tconst unsigned char *m;\n\tconst unsigned char *c;\n\tunsigned int key_len;\n\tunsigned int param_len;\n\tunsigned int m_size;\n\tunsigned int c_size;\n\tbool public_key_vec;\n\tenum OID algo;\n};\n\ntypedef struct sigevent sigevent_t;\n\nstruct sighand_struct {\n\tspinlock_t siglock;\n\trefcount_t count;\n\twait_queue_head_t signalfd_wqh;\n\tstruct k_sigaction action[64];\n};\n\nstruct snd_kcontrol_new;\n\nstruct sigmatel_spec {\n\tstruct hda_gen_spec gen;\n\tunsigned int eapd_switch: 1;\n\tunsigned int linear_tone_beep: 1;\n\tunsigned int headset_jack: 1;\n\tunsigned int volknob_init: 1;\n\tunsigned int powerdown_adcs: 1;\n\tunsigned int have_spdif_mux: 1;\n\tunsigned int eapd_mask;\n\tunsigned int gpio_mask;\n\tunsigned int gpio_dir;\n\tunsigned int gpio_data;\n\tunsigned int gpio_mute;\n\tunsigned int gpio_led;\n\tunsigned int gpio_led_polarity;\n\tunsigned int vref_mute_led_nid;\n\tunsigned int vref_led;\n\tint default_polarity;\n\tunsigned int mic_mute_led_gpio;\n\tunsigned int mic_enabled;\n\tunsigned int stream_delay;\n\tconst struct snd_kcontrol_new *aloopback_ctl;\n\tunsigned int aloopback;\n\tunsigned char aloopback_mask;\n\tunsigned char aloopback_shift;\n\tunsigned int power_map_bits;\n\tunsigned int num_pwrs;\n\tconst hda_nid_t *pwr_nids;\n\tunsigned int active_adcs;\n\thda_nid_t anabeep_nid;\n\tbool beep_power_on;\n\tconst char * const *spdif_labels;\n\tstruct hda_input_mux spdif_mux;\n\tunsigned int cur_smux[2];\n};\n\nstruct sigpending {\n\tstruct list_head list;\n\tsigset_t signal;\n};\n\nstruct task_cputime_atomic {\n\tatomic64_t utime;\n\tatomic64_t stime;\n\tatomic64_t sum_exec_runtime;\n};\n\nstruct thread_group_cputimer {\n\tstruct task_cputime_atomic cputime_atomic;\n};\n\nstruct task_io_accounting {\n\tu64 rchar;\n\tu64 wchar;\n\tu64 syscr;\n\tu64 syscw;\n\tu64 read_bytes;\n\tu64 write_bytes;\n\tu64 cancelled_write_bytes;\n};\n\nstruct taskstats;\n\nstruct tty_audit_buf;\n\nstruct signal_struct {\n\trefcount_t sigcnt;\n\tatomic_t live;\n\tint nr_threads;\n\tint quick_threads;\n\tstruct list_head thread_head;\n\twait_queue_head_t wait_chldexit;\n\tstruct task_struct *curr_target;\n\tstruct sigpending shared_pending;\n\tstruct hlist_head multiprocess;\n\tint group_exit_code;\n\tint notify_count;\n\tstruct task_struct *group_exec_task;\n\tint group_stop_count;\n\tunsigned int flags;\n\tstruct core_state *core_state;\n\tunsigned int is_child_subreaper: 1;\n\tunsigned int has_child_subreaper: 1;\n\tunsigned int next_posix_timer_id;\n\tstruct hlist_head posix_timers;\n\tstruct hlist_head ignored_posix_timers;\n\tstruct hrtimer real_timer;\n\tktime_t it_real_incr;\n\tstruct cpu_itimer it[2];\n\tstruct thread_group_cputimer cputimer;\n\tstruct posix_cputimers posix_cputimers;\n\tstruct pid *pids[4];\n\tstruct pid *tty_old_pgrp;\n\tint leader;\n\tstruct tty_struct *tty;\n\tstruct autogroup *autogroup;\n\tseqlock_t stats_lock;\n\tu64 utime;\n\tu64 stime;\n\tu64 cutime;\n\tu64 cstime;\n\tu64 gtime;\n\tu64 cgtime;\n\tstruct prev_cputime prev_cputime;\n\tlong unsigned int nvcsw;\n\tlong unsigned int nivcsw;\n\tlong unsigned int cnvcsw;\n\tlong unsigned int cnivcsw;\n\tlong unsigned int min_flt;\n\tlong unsigned int maj_flt;\n\tlong unsigned int cmin_flt;\n\tlong unsigned int cmaj_flt;\n\tlong unsigned int inblock;\n\tlong unsigned int oublock;\n\tlong unsigned int cinblock;\n\tlong unsigned int coublock;\n\tlong unsigned int maxrss;\n\tlong unsigned int cmaxrss;\n\tstruct task_io_accounting ioac;\n\tlong long unsigned int sum_sched_runtime;\n\tstruct rlimit rlim[16];\n\tstruct pacct_struct pacct;\n\tstruct taskstats *stats;\n\tunsigned int audit_tty;\n\tstruct tty_audit_buf *tty_audit_buf;\n\tbool oom_flag_origin;\n\tshort int oom_score_adj;\n\tshort int oom_score_adj_min;\n\tstruct mm_struct *oom_mm;\n\tstruct mutex cred_guard_mutex;\n\tstruct rw_semaphore exec_update_lock;\n};\n\nstruct signalfd_ctx {\n\tsigset_t sigmask;\n};\n\nstruct signalfd_siginfo {\n\t__u32 ssi_signo;\n\t__s32 ssi_errno;\n\t__s32 ssi_code;\n\t__u32 ssi_pid;\n\t__u32 ssi_uid;\n\t__s32 ssi_fd;\n\t__u32 ssi_tid;\n\t__u32 ssi_band;\n\t__u32 ssi_overrun;\n\t__u32 ssi_trapno;\n\t__s32 ssi_status;\n\t__s32 ssi_int;\n\t__u64 ssi_ptr;\n\t__u64 ssi_utime;\n\t__u64 ssi_stime;\n\t__u64 ssi_addr;\n\t__u16 ssi_addr_lsb;\n\t__u16 __pad2;\n\t__s32 ssi_syscall;\n\t__u64 ssi_call_addr;\n\t__u32 ssi_arch;\n\t__u8 __pad[28];\n};\n\nstruct sigset_argpack {\n\tsigset_t *p;\n\tsize_t size;\n};\n\nstruct simple_attr {\n\tint (*get)(void *, u64 *);\n\tint (*set)(void *, u64);\n\tchar get_buf[24];\n\tchar set_buf[24];\n\tvoid *data;\n\tconst char *fmt;\n\tstruct mutex mutex;\n};\n\nstruct simple_pm_bus {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct simple_transaction_argresp {\n\tssize_t size;\n\tchar data[0];\n};\n\nstruct simple_xattr {\n\tstruct rb_node rb_node;\n\tchar *name;\n\tsize_t size;\n\tchar value[0];\n};\n\nstruct simplefb_platform_data {\n\tu32 width;\n\tu32 height;\n\tu32 stride;\n\tconst char *format;\n};\n\nstruct sioc_mif_req6 {\n\tmifi_t mifi;\n\tlong unsigned int icount;\n\tlong unsigned int ocount;\n\tlong unsigned int ibytes;\n\tlong unsigned int obytes;\n};\n\nstruct sioc_sg_req {\n\tstruct in_addr src;\n\tstruct in_addr grp;\n\tlong unsigned int pktcnt;\n\tlong unsigned int bytecnt;\n\tlong unsigned int wrong_if;\n};\n\nstruct sioc_sg_req6 {\n\tstruct sockaddr_in6 src;\n\tstruct sockaddr_in6 grp;\n\tlong unsigned int pktcnt;\n\tlong unsigned int bytecnt;\n\tlong unsigned int wrong_if;\n};\n\nstruct sioc_vif_req {\n\tvifi_t vifi;\n\tlong unsigned int icount;\n\tlong unsigned int ocount;\n\tlong unsigned int ibytes;\n\tlong unsigned int obytes;\n};\n\nstruct sit_net {\n\tstruct ip_tunnel *tunnels_r_l[16];\n\tstruct ip_tunnel *tunnels_r[16];\n\tstruct ip_tunnel *tunnels_l[16];\n\tstruct ip_tunnel *tunnels_wc[1];\n\tstruct ip_tunnel **tunnels[4];\n\tstruct net_device *fb_tunnel_dev;\n};\n\nstruct zs_size_stat {\n\tlong unsigned int objs[14];\n};\n\nstruct size_class {\n\tspinlock_t lock;\n\tstruct list_head fullness_list[12];\n\tint size;\n\tint objs_per_zspage;\n\tint pages_per_zspage;\n\tunsigned int index;\n\tstruct zs_size_stat stats;\n};\n\nstruct sk_buff__safe_rcu_or_null {\n\tstruct sock *sk;\n};\n\nstruct sk_buff_fclones {\n\tstruct sk_buff skb1;\n\tstruct sk_buff skb2;\n\trefcount_t fclone_ref;\n};\n\nstruct sk_filter {\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tstruct bpf_prog *prog;\n};\n\nstruct sk_psock_work_state {\n\tu32 len;\n\tu32 off;\n};\n\nstruct sk_psock {\n\tstruct sock *sk;\n\tstruct sock *sk_redir;\n\tu32 apply_bytes;\n\tu32 cork_bytes;\n\tu32 eval;\n\tbool redir_ingress;\n\tstruct sk_msg *cork;\n\tstruct sk_psock_progs progs;\n\tstruct strparser strp;\n\tu32 copied_seq;\n\tu32 ingress_bytes;\n\tstruct sk_buff_head ingress_skb;\n\tstruct list_head ingress_msg;\n\tspinlock_t ingress_lock;\n\tlong unsigned int state;\n\tstruct list_head link;\n\tspinlock_t link_lock;\n\trefcount_t refcnt;\n\tvoid (*saved_unhash)(struct sock *);\n\tvoid (*saved_destroy)(struct sock *);\n\tvoid (*saved_close)(struct sock *, long int);\n\tvoid (*saved_write_space)(struct sock *);\n\tvoid (*saved_data_ready)(struct sock *);\n\tint (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);\n\tstruct proto *sk_proto;\n\tstruct mutex work_mutex;\n\tstruct sk_psock_work_state work_state;\n\tstruct delayed_work work;\n\tstruct sock *sk_pair;\n\tstruct rcu_work rwork;\n};\n\nstruct sk_psock_link {\n\tstruct list_head list;\n\tstruct bpf_map *map;\n\tvoid *link_raw;\n};\n\nstruct sk_security_struct {\n\tu32 sid;\n\tu32 peer_sid;\n\tu16 sclass;\n\tenum {\n\t\tSCTP_ASSOC_UNSET = 0,\n\t\tSCTP_ASSOC_SET = 1,\n\t} sctp_assoc_state;\n};\n\nstruct tls_msg {\n\tu8 control;\n};\n\nstruct sk_skb_cb {\n\tunsigned char data[20];\n\tunsigned char pad[4];\n\tstruct _strp_msg strp;\n\tstruct tls_msg tls;\n\tu64 temp_reg;\n};\n\nstruct skb_checksum_ops {\n\t__wsum (*update)(const void *, int, __wsum);\n\t__wsum (*combine)(__wsum, __wsum, int, int);\n};\n\nstruct skb_ext {\n\trefcount_t refcnt;\n\tu8 offset[3];\n\tu8 chunks;\n\tchar data[0];\n};\n\nstruct skb_frag {\n\tnetmem_ref netmem;\n\tunsigned int len;\n\tunsigned int offset;\n};\n\ntypedef struct skb_frag skb_frag_t;\n\nstruct skb_free_array {\n\tunsigned int skb_count;\n\tvoid *skb_array[16];\n};\n\nstruct skb_gso_cb {\n\tunion {\n\t\tint mac_offset;\n\t\tint data_offset;\n\t};\n\tint encap_level;\n\t__wsum csum;\n\t__u16 csum_start;\n};\n\nstruct skb_seq_state {\n\t__u32 lower_offset;\n\t__u32 upper_offset;\n\t__u32 frag_idx;\n\t__u32 stepped_offset;\n\tstruct sk_buff *root_skb;\n\tstruct sk_buff *cur_skb;\n\t__u8 *frag_data;\n\t__u32 frag_off;\n};\n\nstruct skb_shared_hwtstamps {\n\tunion {\n\t\tktime_t hwtstamp;\n\t\tvoid *netdev_data;\n\t};\n};\n\nstruct xsk_tx_metadata_compl {\n\t__u64 *tx_timestamp;\n};\n\nstruct skb_shared_info {\n\t__u8 flags;\n\t__u8 meta_len;\n\t__u8 nr_frags;\n\t__u8 tx_flags;\n\tshort unsigned int gso_size;\n\tshort unsigned int gso_segs;\n\tstruct sk_buff *frag_list;\n\tunion {\n\t\tstruct skb_shared_hwtstamps hwtstamps;\n\t\tstruct xsk_tx_metadata_compl xsk_meta;\n\t};\n\tunsigned int gso_type;\n\tu32 tskey;\n\tatomic_t dataref;\n\tunion {\n\t\tstruct {\n\t\t\tu32 xdp_frags_size;\n\t\t\tu32 xdp_frags_truesize;\n\t\t};\n\t\tvoid *destructor_arg;\n\t};\n\tskb_frag_t frags[17];\n};\n\nstruct skcipher_alg {\n\tint (*setkey)(struct crypto_skcipher *, const u8 *, unsigned int);\n\tint (*encrypt)(struct skcipher_request *);\n\tint (*decrypt)(struct skcipher_request *);\n\tint (*export)(struct skcipher_request *, void *);\n\tint (*import)(struct skcipher_request *, const void *);\n\tint (*init)(struct crypto_skcipher *);\n\tvoid (*exit)(struct crypto_skcipher *);\n\tunsigned int walksize;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int min_keysize;\n\t\t\tunsigned int max_keysize;\n\t\t\tunsigned int ivsize;\n\t\t\tunsigned int chunksize;\n\t\t\tunsigned int statesize;\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct skcipher_alg_common co;\n\t};\n};\n\nstruct skcipher_ctx_simple {\n\tstruct crypto_cipher *cipher;\n};\n\nstruct skcipher_instance {\n\tvoid (*free)(struct skcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[88];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct skcipher_alg alg;\n\t};\n};\n\nstruct skcipher_walk {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *addr;\n\t\t} virt;\n\t} src;\n\tunion {\n\t\tstruct {\n\t\t\tvoid *addr;\n\t\t} virt;\n\t} dst;\n\tstruct scatter_walk in;\n\tunsigned int nbytes;\n\tstruct scatter_walk out;\n\tunsigned int total;\n\tu8 *page;\n\tu8 *buffer;\n\tu8 *oiv;\n\tvoid *iv;\n\tunsigned int ivsize;\n\tint flags;\n\tunsigned int blocksize;\n\tunsigned int stride;\n\tunsigned int alignmask;\n};\n\nstruct slab {\n\tlong unsigned int __page_flags;\n\tstruct kmem_cache *slab_cache;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct list_head slab_list;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct slab *next;\n\t\t\t\t\tint slabs;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *freelist;\n\t\t\t\t\tunion {\n\t\t\t\t\t\tlong unsigned int counters;\n\t\t\t\t\t\tstruct {\n\t\t\t\t\t\t\tunsigned int inuse: 16;\n\t\t\t\t\t\t\tunsigned int objects: 15;\n\t\t\t\t\t\t\tunsigned int frozen: 1;\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\tstruct callback_head callback_head;\n\t};\n\tunsigned int __page_type;\n\tatomic_t __page_refcount;\n\tlong unsigned int obj_exts;\n};\n\nstruct slab_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kmem_cache *, char *);\n\tssize_t (*store)(struct kmem_cache *, const char *, size_t);\n};\n\nstruct slabinfo {\n\tlong unsigned int active_objs;\n\tlong unsigned int num_objs;\n\tlong unsigned int active_slabs;\n\tlong unsigned int num_slabs;\n\tlong unsigned int shared_avail;\n\tunsigned int limit;\n\tunsigned int batchcount;\n\tunsigned int shared;\n\tunsigned int objects_per_slab;\n\tunsigned int cache_order;\n};\n\nstruct slabobj_ext {\n\tstruct obj_cgroup *objcg;\n};\n\nstruct slot {\n\tu8 bus;\n\tu8 device;\n\tu16 status;\n\tu32 number;\n\tu8 is_a_board;\n\tu8 state;\n\tu8 attention_save;\n\tu8 presence_save;\n\tu8 latch_save;\n\tu8 pwr_save;\n\tstruct controller___2 *ctrl;\n\tstruct hotplug_slot hotplug_slot;\n\tstruct list_head slot_list;\n\tstruct delayed_work work;\n\tstruct mutex lock;\n\tstruct workqueue_struct *wq;\n\tu8 hp_slot;\n};\n\nstruct slub_flush_work {\n\tstruct work_struct work;\n\tstruct kmem_cache *s;\n\tbool skip;\n};\n\nstruct smp_call_on_cpu_struct {\n\tstruct work_struct work;\n\tstruct completion done;\n\tint (*func)(void *);\n\tvoid *data;\n\tint ret;\n\tint cpu;\n};\n\nstruct smp_disc_resp {\n\tu8 frame_type;\n\tu8 function;\n\tu8 result;\n\tu8 reserved;\n\tstruct discover_resp disc;\n};\n\nstruct smp_hotplug_thread {\n\tstruct task_struct **store;\n\tstruct list_head list;\n\tint (*thread_should_run)(unsigned int);\n\tvoid (*thread_fn)(unsigned int);\n\tvoid (*create)(unsigned int);\n\tvoid (*setup)(unsigned int);\n\tvoid (*cleanup)(unsigned int, bool);\n\tvoid (*park)(unsigned int);\n\tvoid (*unpark)(unsigned int);\n\tbool selfparking;\n\tconst char *thread_comm;\n};\n\nstruct smp_ops {\n\tvoid (*init_ipi)(void);\n\tvoid (*send_ipi_single)(int, unsigned int);\n\tvoid (*send_ipi_mask)(const struct cpumask *, unsigned int);\n};\n\nstruct smp_rg_resp {\n\tu8 frame_type;\n\tu8 function;\n\tu8 result;\n\tu8 reserved;\n\tstruct report_general_resp rg;\n};\n\nstruct smpboot_thread_data {\n\tunsigned int cpu;\n\tunsigned int status;\n\tstruct smp_hotplug_thread *ht;\n};\n\nstruct snap {\n\tint slen;\n\tchar str[80];\n};\n\nstruct snapshot_handle {\n\tunsigned int cur;\n\tvoid *buffer;\n\tint sync_read;\n};\n\nstruct snapshot_data {\n\tstruct snapshot_handle handle;\n\tint swap;\n\tint mode;\n\tbool frozen;\n\tbool ready;\n\tbool platform_support;\n\tbool free_bitmaps;\n\tdev_t dev;\n};\n\nstruct snd_aes_iec958 {\n\tunsigned char status[24];\n\tunsigned char subcode[147];\n\tunsigned char pad;\n\tunsigned char dig_subframe[4];\n};\n\nstruct snd_shutdown_f_ops;\n\nstruct snd_card {\n\tint number;\n\tchar id[16];\n\tchar driver[16];\n\tchar shortname[32];\n\tchar longname[80];\n\tchar irq_descr[32];\n\tchar mixername[80];\n\tchar components[128];\n\tstruct module *module;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_card *);\n\tstruct list_head devices;\n\tstruct device *ctl_dev;\n\tunsigned int last_numid;\n\tstruct rw_semaphore controls_rwsem;\n\trwlock_t controls_rwlock;\n\tint controls_count;\n\tsize_t user_ctl_alloc_size;\n\tstruct list_head controls;\n\tstruct list_head ctl_files;\n\tstruct xarray ctl_numids;\n\tstruct xarray ctl_hash;\n\tbool ctl_hash_collision;\n\tstruct snd_info_entry *proc_root;\n\tstruct proc_dir_entry *proc_root_link;\n\tstruct list_head files_list;\n\tstruct snd_shutdown_f_ops *s_f_ops;\n\tspinlock_t files_lock;\n\tint shutdown;\n\tstruct completion *release_completion;\n\tstruct device *dev;\n\tstruct device card_dev;\n\tconst struct attribute_group *dev_groups[4];\n\tbool registered;\n\tbool managed;\n\tbool releasing;\n\tint sync_irq;\n\twait_queue_head_t remove_sleep;\n\tsize_t total_pcm_alloc_bytes;\n\tstruct mutex memory_mutex;\n\tunsigned int power_state;\n\tatomic_t power_ref;\n\twait_queue_head_t power_sleep;\n\twait_queue_head_t power_ref_sleep;\n};\n\nstruct snd_enc_wma {\n\t__u32 super_block_align;\n};\n\nstruct snd_enc_vorbis {\n\t__s32 quality;\n\t__u32 managed;\n\t__u32 max_bit_rate;\n\t__u32 min_bit_rate;\n\t__u32 downmix;\n};\n\nstruct snd_enc_real {\n\t__u32 quant_bits;\n\t__u32 start_region;\n\t__u32 num_regions;\n};\n\nstruct snd_enc_flac {\n\t__u32 num;\n\t__u32 gain;\n};\n\nstruct snd_enc_generic {\n\t__u32 bw;\n\t__s32 reserved[15];\n};\n\nstruct snd_dec_flac {\n\t__u16 sample_size;\n\t__u16 min_blk_size;\n\t__u16 max_blk_size;\n\t__u16 min_frame_size;\n\t__u16 max_frame_size;\n\t__u16 reserved;\n};\n\nstruct snd_dec_wma {\n\t__u32 encoder_option;\n\t__u32 adv_encoder_option;\n\t__u32 adv_encoder_option2;\n\t__u32 reserved;\n};\n\nstruct snd_dec_alac {\n\t__u32 frame_length;\n\t__u8 compatible_version;\n\t__u8 pb;\n\t__u8 mb;\n\t__u8 kb;\n\t__u32 max_run;\n\t__u32 max_frame_bytes;\n};\n\nstruct snd_dec_ape {\n\t__u16 compatible_version;\n\t__u16 compression_level;\n\t__u32 format_flags;\n\t__u32 blocks_per_frame;\n\t__u32 final_frame_blocks;\n\t__u32 total_frames;\n\t__u32 seek_table_present;\n};\n\nunion snd_codec_options {\n\tstruct snd_enc_wma wma;\n\tstruct snd_enc_vorbis vorbis;\n\tstruct snd_enc_real real;\n\tstruct snd_enc_flac flac;\n\tstruct snd_enc_generic generic;\n\tstruct snd_dec_flac flac_d;\n\tstruct snd_dec_wma wma_d;\n\tstruct snd_dec_alac alac_d;\n\tstruct snd_dec_ape ape_d;\n\tstruct {\n\t\t__u32 out_sample_rate;\n\t} src_d;\n};\n\nstruct snd_codec {\n\t__u32 id;\n\t__u32 ch_in;\n\t__u32 ch_out;\n\t__u32 sample_rate;\n\t__u32 bit_rate;\n\t__u32 rate_control;\n\t__u32 profile;\n\t__u32 level;\n\t__u32 ch_mode;\n\t__u32 format;\n\t__u32 align;\n\tunion snd_codec_options options;\n\t__u32 pcm_format;\n\t__u32 reserved[2];\n};\n\nstruct snd_codec_desc_src {\n\t__u32 out_sample_rate_min;\n\t__u32 out_sample_rate_max;\n};\n\nstruct snd_codec_desc {\n\t__u32 max_ch;\n\t__u32 sample_rates[32];\n\t__u32 num_sample_rates;\n\t__u32 bit_rate[32];\n\t__u32 num_bitrates;\n\t__u32 rate_control;\n\t__u32 profiles;\n\t__u32 modes;\n\t__u32 formats;\n\t__u32 min_buffer;\n\t__u32 pcm_formats;\n\tunion {\n\t\t__u32 u_space[6];\n\t\tstruct snd_codec_desc_src src;\n\t};\n\t__u32 reserved[8];\n};\n\nstruct snd_compr_ops;\n\nstruct snd_compr {\n\tconst char *name;\n\tstruct device *dev;\n\tstruct snd_compr_ops *ops;\n\tvoid *private_data;\n\tstruct snd_card *card;\n\tunsigned int direction;\n\tstruct mutex lock;\n\tint device;\n\tbool use_pause_in_draining;\n\tchar id[64];\n\tstruct snd_info_entry *proc_root;\n\tstruct snd_info_entry *proc_info_entry;\n};\n\nstruct snd_compr_caps {\n\t__u32 num_codecs;\n\t__u32 direction;\n\t__u32 min_fragment_size;\n\t__u32 max_fragment_size;\n\t__u32 min_fragments;\n\t__u32 max_fragments;\n\t__u32 codecs[32];\n\t__u32 reserved[11];\n};\n\nstruct snd_compr_codec_caps {\n\t__u32 codec;\n\t__u32 num_descriptors;\n\tstruct snd_codec_desc descriptor[32];\n};\n\nstruct snd_compr_metadata {\n\t__u32 key;\n\t__u32 value[8];\n};\n\nstruct snd_compr_params;\n\nstruct snd_compr_tstamp;\n\nstruct snd_compr_ops {\n\tint (*open)(struct snd_compr_stream *);\n\tint (*free)(struct snd_compr_stream *);\n\tint (*set_params)(struct snd_compr_stream *, struct snd_compr_params *);\n\tint (*get_params)(struct snd_compr_stream *, struct snd_codec *);\n\tint (*set_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*get_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*trigger)(struct snd_compr_stream *, int);\n\tint (*pointer)(struct snd_compr_stream *, struct snd_compr_tstamp *);\n\tint (*copy)(struct snd_compr_stream *, char *, size_t);\n\tint (*mmap)(struct snd_compr_stream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_compr_stream *, size_t);\n\tint (*get_caps)(struct snd_compr_stream *, struct snd_compr_caps *);\n\tint (*get_codec_caps)(struct snd_compr_stream *, struct snd_compr_codec_caps *);\n};\n\nstruct snd_compressed_buffer {\n\t__u32 fragment_size;\n\t__u32 fragments;\n};\n\nstruct snd_compr_params {\n\tstruct snd_compressed_buffer buffer;\n\tstruct snd_codec codec;\n\t__u8 no_wake_mode;\n};\n\nstruct snd_compr_runtime {\n\tsnd_pcm_state_t state;\n\tstruct snd_compr_ops *ops;\n\tvoid *buffer;\n\tu64 buffer_size;\n\tu32 fragment_size;\n\tu32 fragments;\n\tu64 total_bytes_available;\n\tu64 total_bytes_transferred;\n\twait_queue_head_t sleep;\n\tvoid *private_data;\n\tunsigned char *dma_area;\n\tdma_addr_t dma_addr;\n\tsize_t dma_bytes;\n\tstruct snd_dma_buffer *dma_buffer_p;\n};\n\nstruct snd_compr_stream {\n\tconst char *name;\n\tstruct snd_compr_ops *ops;\n\tstruct snd_compr_runtime *runtime;\n\tstruct snd_compr *device;\n\tstruct delayed_work error_work;\n\tenum snd_compr_direction direction;\n\tbool metadata_set;\n\tbool next_track;\n\tbool partial_drain;\n\tbool pause_in_draining;\n\tvoid *private_data;\n\tstruct snd_dma_buffer dma_buffer;\n};\n\nstruct snd_compr_tstamp {\n\t__u32 byte_offset;\n\t__u32 copied_total;\n\t__u32 pcm_frames;\n\t__u32 pcm_io_frames;\n\t__u32 sampling_rate;\n};\n\nstruct snd_ctl_card_info {\n\tint card;\n\tint pad;\n\tunsigned char id[16];\n\tunsigned char driver[16];\n\tunsigned char name[32];\n\tunsigned char longname[80];\n\tunsigned char reserved_[16];\n\tunsigned char mixername[80];\n\tunsigned char components[128];\n};\n\nstruct snd_ctl_elem_info {\n\tstruct snd_ctl_elem_id id;\n\tsnd_ctl_elem_type_t type;\n\tunsigned int access;\n\tunsigned int count;\n\t__kernel_pid_t owner;\n\tunion {\n\t\tstruct {\n\t\t\tlong int min;\n\t\t\tlong int max;\n\t\t\tlong int step;\n\t\t} integer;\n\t\tstruct {\n\t\t\tlong long int min;\n\t\t\tlong long int max;\n\t\t\tlong long int step;\n\t\t} integer64;\n\t\tstruct {\n\t\t\tunsigned int items;\n\t\t\tunsigned int item;\n\t\t\tchar name[64];\n\t\t\t__u64 names_ptr;\n\t\t\tunsigned int names_length;\n\t\t} enumerated;\n\t\tunsigned char reserved[128];\n\t} value;\n\tunsigned char reserved[64];\n};\n\nstruct snd_ctl_elem_list {\n\tunsigned int offset;\n\tunsigned int space;\n\tunsigned int used;\n\tunsigned int count;\n\tstruct snd_ctl_elem_id *pids;\n\tunsigned char reserved[50];\n};\n\nstruct snd_ctl_elem_value {\n\tstruct snd_ctl_elem_id id;\n\tunsigned int indirect: 1;\n\tunion {\n\t\tunion {\n\t\t\tlong int value[128];\n\t\t\tlong int *value_ptr;\n\t\t} integer;\n\t\tunion {\n\t\t\tlong long int value[64];\n\t\t\tlong long int *value_ptr;\n\t\t} integer64;\n\t\tunion {\n\t\t\tunsigned int item[128];\n\t\t\tunsigned int *item_ptr;\n\t\t} enumerated;\n\t\tunion {\n\t\t\tunsigned char data[512];\n\t\t\tunsigned char *data_ptr;\n\t\t} bytes;\n\t\tstruct snd_aes_iec958 iec958;\n\t} value;\n\tunsigned char reserved[128];\n};\n\nstruct snd_ctl_event {\n\tint type;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int mask;\n\t\t\tstruct snd_ctl_elem_id id;\n\t\t} elem;\n\t\tunsigned char data8[60];\n\t} data;\n};\n\nstruct snd_fasync;\n\nstruct snd_ctl_file {\n\tstruct list_head list;\n\tstruct snd_card *card;\n\tstruct pid *pid;\n\tint preferred_subdevice[2];\n\twait_queue_head_t change_sleep;\n\tspinlock_t read_lock;\n\tstruct snd_fasync *fasync;\n\tint subscribed;\n\tstruct list_head events;\n};\n\nstruct snd_ctl_layer_ops {\n\tstruct snd_ctl_layer_ops *next;\n\tconst char *module_name;\n\tvoid (*lregister)(struct snd_card *);\n\tvoid (*ldisconnect)(struct snd_card *);\n\tvoid (*lnotify)(struct snd_card *, unsigned int, struct snd_kcontrol *, unsigned int);\n};\n\nstruct snd_ctl_led_card;\n\nstruct snd_ctl_led {\n\tstruct device dev;\n\tstruct list_head controls;\n\tconst char *name;\n\tunsigned int group;\n\tenum led_audio trigger_type;\n\tenum snd_ctl_led_mode mode;\n\tstruct snd_ctl_led_card *cards[32];\n};\n\nstruct snd_ctl_led_card {\n\tstruct device dev;\n\tint number;\n\tstruct snd_ctl_led *led;\n};\n\nstruct snd_ctl_led_ctl {\n\tstruct list_head list;\n\tstruct snd_card *card;\n\tunsigned int access;\n\tstruct snd_kcontrol *kctl;\n\tunsigned int index_offset;\n};\n\nstruct snd_ctl_tlv {\n\tunsigned int numid;\n\tunsigned int length;\n\tunsigned int tlv[0];\n};\n\nstruct snd_device_ops;\n\nstruct snd_device {\n\tstruct list_head list;\n\tstruct snd_card *card;\n\tenum snd_device_state state;\n\tenum snd_device_type type;\n\tvoid *device_data;\n\tconst struct snd_device_ops *ops;\n};\n\nstruct snd_device_ops {\n\tint (*dev_free)(struct snd_device *);\n\tint (*dev_register)(struct snd_device *);\n\tint (*dev_disconnect)(struct snd_device *);\n};\n\nstruct snd_fasync {\n\tstruct fasync_struct *fasync;\n\tint signal;\n\tint poll;\n\tint on;\n\tstruct list_head list;\n};\n\nstruct snd_hda_pin_quirk {\n\tunsigned int codec;\n\tshort unsigned int subvendor;\n\tconst struct hda_pintbl *pins;\n\tint value;\n};\n\nstruct snd_hwdep_dsp_status;\n\nstruct snd_hwdep_dsp_image;\n\nstruct snd_hwdep_ops {\n\tlong long int (*llseek)(struct snd_hwdep *, struct file *, long long int, int);\n\tlong int (*read)(struct snd_hwdep *, char *, long int, loff_t *);\n\tlong int (*write)(struct snd_hwdep *, const char *, long int, loff_t *);\n\tint (*open)(struct snd_hwdep *, struct file *);\n\tint (*release)(struct snd_hwdep *, struct file *);\n\t__poll_t (*poll)(struct snd_hwdep *, struct file *, poll_table *);\n\tint (*ioctl)(struct snd_hwdep *, struct file *, unsigned int, long unsigned int);\n\tint (*ioctl_compat)(struct snd_hwdep *, struct file *, unsigned int, long unsigned int);\n\tint (*mmap)(struct snd_hwdep *, struct file *, struct vm_area_struct *);\n\tint (*dsp_status)(struct snd_hwdep *, struct snd_hwdep_dsp_status *);\n\tint (*dsp_load)(struct snd_hwdep *, struct snd_hwdep_dsp_image *);\n};\n\nstruct snd_hwdep {\n\tstruct snd_card *card;\n\tstruct list_head list;\n\tint device;\n\tchar id[32];\n\tchar name[80];\n\tint iface;\n\tstruct snd_hwdep_ops ops;\n\twait_queue_head_t open_wait;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_hwdep *);\n\tstruct device *dev;\n\tstruct mutex open_mutex;\n\tint used;\n\tunsigned int dsp_loaded;\n\tunsigned int exclusive: 1;\n};\n\nstruct snd_hwdep_dsp_image {\n\tunsigned int index;\n\tunsigned char name[64];\n\tunsigned char *image;\n\tsize_t length;\n\tlong unsigned int driver_data;\n};\n\nstruct snd_hwdep_dsp_status {\n\tunsigned int version;\n\tunsigned char id[32];\n\tunsigned int num_dsps;\n\tunsigned int dsp_loaded;\n\tunsigned int chip_ready;\n\tunsigned char reserved[16];\n};\n\nstruct snd_hwdep_info {\n\tunsigned int device;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tint iface;\n\tunsigned char reserved[64];\n};\n\nstruct snd_info_buffer {\n\tchar *buffer;\n\tunsigned int curr;\n\tunsigned int size;\n\tunsigned int len;\n\tint stop;\n\tint error;\n};\n\nstruct snd_info_entry_text {\n\tvoid (*read)(struct snd_info_entry *, struct snd_info_buffer *);\n\tvoid (*write)(struct snd_info_entry *, struct snd_info_buffer *);\n};\n\nstruct snd_info_entry_ops;\n\nstruct snd_info_entry {\n\tconst char *name;\n\tumode_t mode;\n\tlong int size;\n\tshort unsigned int content;\n\tunion {\n\t\tstruct snd_info_entry_text text;\n\t\tconst struct snd_info_entry_ops *ops;\n\t} c;\n\tstruct snd_info_entry *parent;\n\tstruct module *module;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_info_entry *);\n\tstruct proc_dir_entry *p;\n\tstruct mutex access;\n\tstruct list_head children;\n\tstruct list_head list;\n};\n\nstruct snd_info_entry_ops {\n\tint (*open)(struct snd_info_entry *, short unsigned int, void **);\n\tint (*release)(struct snd_info_entry *, short unsigned int, void *);\n\tssize_t (*read)(struct snd_info_entry *, void *, struct file *, char *, size_t, loff_t);\n\tssize_t (*write)(struct snd_info_entry *, void *, struct file *, const char *, size_t, loff_t);\n\tloff_t (*llseek)(struct snd_info_entry *, void *, struct file *, loff_t, int);\n\t__poll_t (*poll)(struct snd_info_entry *, void *, struct file *, poll_table *);\n\tint (*ioctl)(struct snd_info_entry *, void *, struct file *, unsigned int, long unsigned int);\n\tint (*mmap)(struct snd_info_entry *, void *, struct inode *, struct file *, struct vm_area_struct *);\n};\n\nstruct snd_info_private_data {\n\tstruct snd_info_buffer *rbuffer;\n\tstruct snd_info_buffer *wbuffer;\n\tstruct snd_info_entry *entry;\n\tvoid *file_private_data;\n};\n\nstruct snd_interval {\n\tunsigned int min;\n\tunsigned int max;\n\tunsigned int openmin: 1;\n\tunsigned int openmax: 1;\n\tunsigned int integer: 1;\n\tunsigned int empty: 1;\n};\n\nstruct snd_jack {\n\tstruct list_head kctl_list;\n\tstruct snd_card *card;\n\tconst char *id;\n\tstruct input_dev *input_dev;\n\tstruct mutex input_dev_lock;\n\tint registered;\n\tint type;\n\tchar name[100];\n\tunsigned int key[6];\n\tint hw_status_cache;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_jack *);\n};\n\nstruct snd_jack_kctl {\n\tstruct snd_kcontrol *kctl;\n\tstruct list_head list;\n\tunsigned int mask_bits;\n\tstruct snd_jack *jack;\n\tbool sw_inject_enable;\n};\n\nstruct snd_kcontrol_new {\n\tsnd_ctl_elem_iface_t iface;\n\tunsigned int device;\n\tunsigned int subdevice;\n\tconst char *name;\n\tunsigned int index;\n\tunsigned int access;\n\tunsigned int count;\n\tsnd_kcontrol_info_t *info;\n\tsnd_kcontrol_get_t *get;\n\tsnd_kcontrol_put_t *put;\n\tunion {\n\t\tsnd_kcontrol_tlv_rw_t *c;\n\t\tconst unsigned int *p;\n\t} tlv;\n\tlong unsigned int private_value;\n};\n\nstruct snd_kctl_event {\n\tstruct list_head list;\n\tstruct snd_ctl_elem_id id;\n\tunsigned int mask;\n};\n\ntypedef int (*snd_kctl_ioctl_func_t)(struct snd_card *, struct snd_ctl_file *, unsigned int, long unsigned int);\n\nstruct snd_kctl_ioctl {\n\tstruct list_head list;\n\tsnd_kctl_ioctl_func_t fioctl;\n};\n\nstruct snd_malloc_ops {\n\tvoid * (*alloc)(struct snd_dma_buffer *, size_t);\n\tvoid (*free)(struct snd_dma_buffer *);\n\tdma_addr_t (*get_addr)(struct snd_dma_buffer *, size_t);\n\tstruct page * (*get_page)(struct snd_dma_buffer *, size_t);\n\tunsigned int (*get_chunk_size)(struct snd_dma_buffer *, unsigned int, unsigned int);\n\tint (*mmap)(struct snd_dma_buffer *, struct vm_area_struct *);\n\tvoid (*sync)(struct snd_dma_buffer *, enum snd_dma_sync_mode);\n};\n\nstruct snd_mask {\n\t__u32 bits[8];\n};\n\nstruct snd_minor {\n\tint type;\n\tint card;\n\tint device;\n\tconst struct file_operations *f_ops;\n\tvoid *private_data;\n\tstruct device *dev;\n\tstruct snd_card *card_ptr;\n};\n\nstruct snd_monitor_file {\n\tstruct file *file;\n\tconst struct file_operations *disconnected_f_op;\n\tstruct list_head shutdown_list;\n\tstruct list_head list;\n};\n\nstruct snd_pci_quirk {\n\tshort unsigned int subvendor;\n\tshort unsigned int subdevice;\n\tshort unsigned int subdevice_mask;\n\tint value;\n};\n\nstruct snd_pcm_str {\n\tint stream;\n\tstruct snd_pcm *pcm;\n\tunsigned int substream_count;\n\tunsigned int substream_opened;\n\tstruct snd_pcm_substream *substream;\n\tstruct snd_info_entry *proc_root;\n\tstruct snd_kcontrol *chmap_kctl;\n\tstruct device *dev;\n};\n\nstruct snd_pcm {\n\tstruct snd_card *card;\n\tstruct list_head list;\n\tint device;\n\tunsigned int info_flags;\n\tshort unsigned int dev_class;\n\tshort unsigned int dev_subclass;\n\tchar id[64];\n\tchar name[80];\n\tstruct snd_pcm_str streams[2];\n\tstruct mutex open_mutex;\n\twait_queue_head_t open_wait;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_pcm *);\n\tbool internal;\n\tbool nonatomic;\n\tbool no_device_suspend;\n};\n\nstruct snd_pcm_audio_tstamp_config {\n\tu32 type_requested: 4;\n\tu32 report_delay: 1;\n};\n\nstruct snd_pcm_audio_tstamp_report {\n\tu32 valid: 1;\n\tu32 actual_type: 4;\n\tu32 accuracy_report: 1;\n\tu32 accuracy;\n};\n\nstruct snd_pcm_channel_info {\n\tunsigned int channel;\n\t__kernel_off_t offset;\n\tunsigned int first;\n\tunsigned int step;\n};\n\nstruct snd_pcm_chmap {\n\tstruct snd_pcm *pcm;\n\tint stream;\n\tstruct snd_kcontrol *kctl;\n\tconst struct snd_pcm_chmap_elem *chmap;\n\tunsigned int max_channels;\n\tunsigned int channel_mask;\n\tvoid *private_data;\n};\n\nstruct snd_pcm_chmap_elem {\n\tunsigned char channels;\n\tunsigned char map[15];\n};\n\nstruct snd_pcm_file {\n\tstruct snd_pcm_substream *substream;\n\tint no_compat_mmap;\n\tunsigned int user_pversion;\n};\n\nstruct snd_pcm_group {\n\tspinlock_t lock;\n\tstruct mutex mutex;\n\tstruct list_head substreams;\n\trefcount_t refs;\n};\n\nstruct snd_pcm_hardware {\n\tunsigned int info;\n\tu64 formats;\n\tu32 subformats;\n\tunsigned int rates;\n\tunsigned int rate_min;\n\tunsigned int rate_max;\n\tunsigned int channels_min;\n\tunsigned int channels_max;\n\tsize_t buffer_bytes_max;\n\tsize_t period_bytes_min;\n\tsize_t period_bytes_max;\n\tunsigned int periods_min;\n\tunsigned int periods_max;\n\tsize_t fifo_size;\n};\n\nstruct snd_pcm_hw_constraint_list {\n\tconst unsigned int *list;\n\tunsigned int count;\n\tunsigned int mask;\n};\n\nstruct snd_pcm_hw_constraint_ranges {\n\tunsigned int count;\n\tconst struct snd_interval *ranges;\n\tunsigned int mask;\n};\n\nstruct snd_ratden;\n\nstruct snd_pcm_hw_constraint_ratdens {\n\tint nrats;\n\tconst struct snd_ratden *rats;\n};\n\nstruct snd_ratnum;\n\nstruct snd_pcm_hw_constraint_ratnums {\n\tint nrats;\n\tconst struct snd_ratnum *rats;\n};\n\nstruct snd_pcm_hw_rule;\n\nstruct snd_pcm_hw_constraints {\n\tstruct snd_mask masks[3];\n\tstruct snd_interval intervals[12];\n\tunsigned int rules_num;\n\tunsigned int rules_all;\n\tstruct snd_pcm_hw_rule *rules;\n};\n\nstruct snd_pcm_hw_params {\n\tunsigned int flags;\n\tstruct snd_mask masks[3];\n\tstruct snd_mask mres[5];\n\tstruct snd_interval intervals[12];\n\tstruct snd_interval ires[9];\n\tunsigned int rmask;\n\tunsigned int cmask;\n\tunsigned int info;\n\tunsigned int msbits;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tsnd_pcm_uframes_t fifo_size;\n\tunsigned char sync[16];\n\tunsigned char reserved[48];\n};\n\nstruct snd_pcm_hw_params_old {\n\tunsigned int flags;\n\tunsigned int masks[3];\n\tstruct snd_interval intervals[12];\n\tunsigned int rmask;\n\tunsigned int cmask;\n\tunsigned int info;\n\tunsigned int msbits;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tsnd_pcm_uframes_t fifo_size;\n\tunsigned char reserved[64];\n};\n\ntypedef int (*snd_pcm_hw_rule_func_t)(struct snd_pcm_hw_params *, struct snd_pcm_hw_rule *);\n\nstruct snd_pcm_hw_rule {\n\tunsigned int cond;\n\tint var;\n\tint deps[5];\n\tsnd_pcm_hw_rule_func_t func;\n\tvoid *private;\n};\n\nstruct snd_pcm_info {\n\tunsigned int device;\n\tunsigned int subdevice;\n\tint stream;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tunsigned char subname[32];\n\tint dev_class;\n\tint dev_subclass;\n\tunsigned int subdevices_count;\n\tunsigned int subdevices_avail;\n\tunsigned char pad1[16];\n\tunsigned char reserved[64];\n};\n\nstruct snd_pcm_mmap_control {\n\t__pad_before_uframe __pad1;\n\tsnd_pcm_uframes_t appl_ptr;\n\t__pad_before_uframe __pad2;\n\t__pad_before_uframe __pad3;\n\tsnd_pcm_uframes_t avail_min;\n\t__pad_after_uframe __pad4;\n};\n\nstruct snd_pcm_mmap_control32 {\n\tu32 appl_ptr;\n\tu32 avail_min;\n};\n\nstruct snd_pcm_mmap_status {\n\tsnd_pcm_state_t state;\n\t__u32 pad1;\n\t__pad_before_uframe __pad1;\n\tsnd_pcm_uframes_t hw_ptr;\n\t__pad_after_uframe __pad2;\n\tstruct __kernel_timespec tstamp;\n\tsnd_pcm_state_t suspended_state;\n\t__u32 pad3;\n\tstruct __kernel_timespec audio_tstamp;\n};\n\nstruct snd_pcm_mmap_status32 {\n\tsnd_pcm_state_t state;\n\ts32 pad1;\n\tu32 hw_ptr;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tsnd_pcm_state_t suspended_state;\n\ts32 audio_tstamp_sec;\n\ts32 audio_tstamp_nsec;\n};\n\nstruct snd_pcm_ops {\n\tint (*open)(struct snd_pcm_substream *);\n\tint (*close)(struct snd_pcm_substream *);\n\tint (*ioctl)(struct snd_pcm_substream *, unsigned int, void *);\n\tint (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *);\n\tint (*hw_free)(struct snd_pcm_substream *);\n\tint (*prepare)(struct snd_pcm_substream *);\n\tint (*trigger)(struct snd_pcm_substream *, int);\n\tint (*sync_stop)(struct snd_pcm_substream *);\n\tsnd_pcm_uframes_t (*pointer)(struct snd_pcm_substream *);\n\tint (*get_time_info)(struct snd_pcm_substream *, struct timespec64 *, struct timespec64 *, struct snd_pcm_audio_tstamp_config *, struct snd_pcm_audio_tstamp_report *);\n\tint (*fill_silence)(struct snd_pcm_substream *, int, long unsigned int, long unsigned int);\n\tint (*copy)(struct snd_pcm_substream *, int, long unsigned int, struct iov_iter *, long unsigned int);\n\tstruct page * (*page)(struct snd_pcm_substream *, long unsigned int);\n\tint (*mmap)(struct snd_pcm_substream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_pcm_substream *);\n};\n\nstruct snd_pcm_runtime {\n\tsnd_pcm_state_t state;\n\tsnd_pcm_state_t suspended_state;\n\tstruct snd_pcm_substream *trigger_master;\n\tstruct timespec64 trigger_tstamp;\n\tbool trigger_tstamp_latched;\n\tint overrange;\n\tsnd_pcm_uframes_t avail_max;\n\tsnd_pcm_uframes_t hw_ptr_base;\n\tsnd_pcm_uframes_t hw_ptr_interrupt;\n\tlong unsigned int hw_ptr_jiffies;\n\tlong unsigned int hw_ptr_buffer_jiffies;\n\tsnd_pcm_sframes_t delay;\n\tu64 hw_ptr_wrap;\n\tsnd_pcm_access_t access;\n\tsnd_pcm_format_t format;\n\tsnd_pcm_subformat_t subformat;\n\tunsigned int rate;\n\tunsigned int channels;\n\tsnd_pcm_uframes_t period_size;\n\tunsigned int periods;\n\tsnd_pcm_uframes_t buffer_size;\n\tsnd_pcm_uframes_t min_align;\n\tsize_t byte_align;\n\tunsigned int frame_bits;\n\tunsigned int sample_bits;\n\tunsigned int info;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tunsigned int no_period_wakeup: 1;\n\tint tstamp_mode;\n\tunsigned int period_step;\n\tsnd_pcm_uframes_t start_threshold;\n\tsnd_pcm_uframes_t stop_threshold;\n\tsnd_pcm_uframes_t silence_threshold;\n\tsnd_pcm_uframes_t silence_size;\n\tsnd_pcm_uframes_t boundary;\n\tsnd_pcm_uframes_t silence_start;\n\tsnd_pcm_uframes_t silence_filled;\n\tbool std_sync_id;\n\tstruct snd_pcm_mmap_status *status;\n\tstruct snd_pcm_mmap_control *control;\n\tsnd_pcm_uframes_t twake;\n\twait_queue_head_t sleep;\n\twait_queue_head_t tsleep;\n\tstruct snd_fasync *fasync;\n\tbool stop_operating;\n\tstruct mutex buffer_mutex;\n\tatomic_t buffer_accessing;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_pcm_runtime *);\n\tstruct snd_pcm_hardware hw;\n\tstruct snd_pcm_hw_constraints hw_constraints;\n\tunsigned int timer_resolution;\n\tint tstamp_type;\n\tunsigned char *dma_area;\n\tdma_addr_t dma_addr;\n\tsize_t dma_bytes;\n\tstruct snd_dma_buffer *dma_buffer_p;\n\tunsigned int buffer_changed: 1;\n\tstruct snd_pcm_audio_tstamp_config audio_tstamp_config;\n\tstruct snd_pcm_audio_tstamp_report audio_tstamp_report;\n\tstruct timespec64 driver_tstamp;\n};\n\nstruct snd_pcm_status32 {\n\tsnd_pcm_state_t state;\n\ts32 trigger_tstamp_sec;\n\ts32 trigger_tstamp_nsec;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tu32 appl_ptr;\n\tu32 hw_ptr;\n\ts32 delay;\n\tu32 avail;\n\tu32 avail_max;\n\tu32 overrange;\n\tsnd_pcm_state_t suspended_state;\n\tu32 audio_tstamp_data;\n\ts32 audio_tstamp_sec;\n\ts32 audio_tstamp_nsec;\n\ts32 driver_tstamp_sec;\n\ts32 driver_tstamp_nsec;\n\tu32 audio_tstamp_accuracy;\n\tunsigned char reserved[36];\n};\n\nstruct snd_pcm_status64 {\n\tsnd_pcm_state_t state;\n\tu8 rsvd[4];\n\ts64 trigger_tstamp_sec;\n\ts64 trigger_tstamp_nsec;\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tsnd_pcm_uframes_t appl_ptr;\n\tsnd_pcm_uframes_t hw_ptr;\n\tsnd_pcm_sframes_t delay;\n\tsnd_pcm_uframes_t avail;\n\tsnd_pcm_uframes_t avail_max;\n\tsnd_pcm_uframes_t overrange;\n\tsnd_pcm_state_t suspended_state;\n\t__u32 audio_tstamp_data;\n\ts64 audio_tstamp_sec;\n\ts64 audio_tstamp_nsec;\n\ts64 driver_tstamp_sec;\n\ts64 driver_tstamp_nsec;\n\t__u32 audio_tstamp_accuracy;\n\tunsigned char reserved[20];\n};\n\nstruct snd_timer;\n\nstruct snd_pcm_substream {\n\tstruct snd_pcm *pcm;\n\tstruct snd_pcm_str *pstr;\n\tvoid *private_data;\n\tint number;\n\tchar name[32];\n\tint stream;\n\tstruct pm_qos_request latency_pm_qos_req;\n\tsize_t buffer_bytes_max;\n\tstruct snd_dma_buffer dma_buffer;\n\tsize_t dma_max;\n\tconst struct snd_pcm_ops *ops;\n\tstruct snd_pcm_runtime *runtime;\n\tstruct snd_timer *timer;\n\tunsigned int timer_running: 1;\n\tlong int wait_time;\n\tstruct snd_pcm_substream *next;\n\tstruct list_head link_list;\n\tstruct snd_pcm_group self_group;\n\tstruct snd_pcm_group *group;\n\tint ref_count;\n\tatomic_t mmap_count;\n\tunsigned int f_flags;\n\tvoid (*pcm_release)(struct snd_pcm_substream *);\n\tstruct pid *pid;\n\tstruct snd_info_entry *proc_root;\n\tunsigned int hw_opened: 1;\n\tunsigned int managed_buffer_alloc: 1;\n};\n\nstruct snd_pcm_sw_params {\n\tint tstamp_mode;\n\tunsigned int period_step;\n\tunsigned int sleep_min;\n\tsnd_pcm_uframes_t avail_min;\n\tsnd_pcm_uframes_t xfer_align;\n\tsnd_pcm_uframes_t start_threshold;\n\tsnd_pcm_uframes_t stop_threshold;\n\tsnd_pcm_uframes_t silence_threshold;\n\tsnd_pcm_uframes_t silence_size;\n\tsnd_pcm_uframes_t boundary;\n\tunsigned int proto;\n\tunsigned int tstamp_type;\n\tunsigned char reserved[56];\n};\n\nstruct snd_pcm_sync_ptr {\n\t__u32 flags;\n\t__u32 pad1;\n\tunion {\n\t\tstruct snd_pcm_mmap_status status;\n\t\tunsigned char reserved[64];\n\t} s;\n\tunion {\n\t\tstruct snd_pcm_mmap_control control;\n\t\tunsigned char reserved[64];\n\t} c;\n};\n\nstruct snd_pcm_sync_ptr32 {\n\tu32 flags;\n\tunion {\n\t\tstruct snd_pcm_mmap_status32 status;\n\t\tunsigned char reserved[64];\n\t} s;\n\tunion {\n\t\tstruct snd_pcm_mmap_control32 control;\n\t\tunsigned char reserved[64];\n\t} c;\n};\n\nstruct snd_ratden {\n\tunsigned int num_min;\n\tunsigned int num_max;\n\tunsigned int num_step;\n\tunsigned int den;\n};\n\nstruct snd_ratnum {\n\tunsigned int num;\n\tunsigned int den_min;\n\tunsigned int den_max;\n\tunsigned int den_step;\n};\n\nstruct snd_soc_acpi_codecs {\n\tint num_codecs;\n\tu8 codecs[48];\n};\n\nstruct snd_timer_hardware {\n\tunsigned int flags;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_min;\n\tlong unsigned int resolution_max;\n\tlong unsigned int ticks;\n\tint (*open)(struct snd_timer *);\n\tint (*close)(struct snd_timer *);\n\tlong unsigned int (*c_resolution)(struct snd_timer *);\n\tint (*start)(struct snd_timer *);\n\tint (*stop)(struct snd_timer *);\n\tint (*set_period)(struct snd_timer *, long unsigned int, long unsigned int);\n\tint (*precise_resolution)(struct snd_timer *, long unsigned int *, long unsigned int *);\n};\n\nstruct snd_timer {\n\tint tmr_class;\n\tstruct snd_card *card;\n\tstruct module *module;\n\tint tmr_device;\n\tint tmr_subdevice;\n\tchar id[64];\n\tchar name[80];\n\tunsigned int flags;\n\tint running;\n\tlong unsigned int sticks;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_timer *);\n\tstruct snd_timer_hardware hw;\n\tspinlock_t lock;\n\tstruct list_head device_list;\n\tstruct list_head open_list_head;\n\tstruct list_head active_list_head;\n\tstruct list_head ack_list_head;\n\tstruct list_head sack_list_head;\n\tstruct work_struct task_work;\n\tint max_instances;\n\tint num_instances;\n};\n\nstruct snd_timer_id {\n\tint dev_class;\n\tint dev_sclass;\n\tint card;\n\tint device;\n\tint subdevice;\n};\n\nstruct snd_timer_ginfo {\n\tstruct snd_timer_id tid;\n\tunsigned int flags;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tlong unsigned int reserved0;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_min;\n\tlong unsigned int resolution_max;\n\tunsigned int clients;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_gparams {\n\tstruct snd_timer_id tid;\n\tlong unsigned int period_num;\n\tlong unsigned int period_den;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_gstatus {\n\tstruct snd_timer_id tid;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_num;\n\tlong unsigned int resolution_den;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_info {\n\tunsigned int flags;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tlong unsigned int reserved0;\n\tlong unsigned int resolution;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_instance {\n\tstruct snd_timer *timer;\n\tchar *owner;\n\tunsigned int flags;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_timer_instance *);\n\tvoid (*callback)(struct snd_timer_instance *, long unsigned int, long unsigned int);\n\tvoid (*ccallback)(struct snd_timer_instance *, int, struct timespec64 *, long unsigned int);\n\tvoid (*disconnect)(struct snd_timer_instance *);\n\tvoid *callback_data;\n\tlong unsigned int ticks;\n\tlong unsigned int cticks;\n\tlong unsigned int pticks;\n\tlong unsigned int resolution;\n\tlong unsigned int lost;\n\tint slave_class;\n\tunsigned int slave_id;\n\tstruct list_head open_list;\n\tstruct list_head active_list;\n\tstruct list_head ack_list;\n\tstruct list_head slave_list_head;\n\tstruct list_head slave_active_head;\n\tstruct snd_timer_instance *master;\n};\n\nstruct snd_timer_params {\n\tunsigned int flags;\n\tunsigned int ticks;\n\tunsigned int queue_size;\n\tunsigned int reserved0;\n\tunsigned int filter;\n\tunsigned char reserved[60];\n};\n\nstruct snd_timer_read {\n\tunsigned int resolution;\n\tunsigned int ticks;\n};\n\nstruct snd_timer_select {\n\tstruct snd_timer_id id;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_status32 {\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tunsigned int resolution;\n\tunsigned int lost;\n\tunsigned int overrun;\n\tunsigned int queue;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_status64 {\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tunsigned int resolution;\n\tunsigned int lost;\n\tunsigned int overrun;\n\tunsigned int queue;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_system_private {\n\tstruct timer_list tlist;\n\tstruct snd_timer *snd_timer;\n\tlong unsigned int last_expires;\n\tlong unsigned int last_jiffies;\n\tlong unsigned int correction;\n};\n\nstruct snd_timer_tread32 {\n\tint event;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tunsigned int val;\n};\n\nstruct snd_timer_tread64 {\n\tint event;\n\tu8 pad1[4];\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tunsigned int val;\n\tu8 pad2[4];\n};\n\nstruct snd_timer_uinfo {\n\t__u64 resolution;\n\tint fd;\n\tunsigned int id;\n\tunsigned char reserved[16];\n};\n\nstruct snd_timer_user {\n\tstruct snd_timer_instance *timeri;\n\tint tread;\n\tlong unsigned int ticks;\n\tlong unsigned int overrun;\n\tint qhead;\n\tint qtail;\n\tint qused;\n\tint queue_size;\n\tbool disconnected;\n\tstruct snd_timer_read *queue;\n\tstruct snd_timer_tread64 *tqueue;\n\tspinlock_t qlock;\n\tlong unsigned int last_resolution;\n\tunsigned int filter;\n\tstruct timespec64 tstamp;\n\twait_queue_head_t qchange_sleep;\n\tstruct snd_fasync *fasync;\n\tstruct mutex ioctl_lock;\n};\n\nstruct snd_xferi {\n\tsnd_pcm_sframes_t result;\n\tvoid *buf;\n\tsnd_pcm_uframes_t frames;\n};\n\nstruct snd_xfern {\n\tsnd_pcm_sframes_t result;\n\tvoid **bufs;\n\tsnd_pcm_uframes_t frames;\n};\n\nstruct snmp_mib {\n\tconst char *name;\n\tint entry;\n};\n\nstruct so_timestamping {\n\tint flags;\n\tint bind_phc;\n};\n\nstruct soc_device_attribute;\n\nstruct soc_device {\n\tstruct device dev;\n\tstruct soc_device_attribute *attr;\n\tint soc_dev_num;\n};\n\nstruct soc_device_attribute {\n\tconst char *machine;\n\tconst char *family;\n\tconst char *revision;\n\tconst char *serial_number;\n\tconst char *soc_id;\n\tconst void *data;\n\tconst struct attribute_group *custom_attr_group;\n};\n\nstruct sock_bh_locked {\n\tstruct sock *sock;\n\tlocal_lock_t bh_lock;\n};\n\nstruct sock_diag_handler {\n\tstruct module *owner;\n\t__u8 family;\n\tint (*dump)(struct sk_buff *, struct nlmsghdr *);\n\tint (*get_info)(struct sk_buff *, struct sock *);\n\tint (*destroy)(struct sk_buff *, struct nlmsghdr *);\n};\n\nstruct sock_diag_inet_compat {\n\tstruct module *owner;\n\tint (*fn)(struct sk_buff *, struct nlmsghdr *);\n};\n\nstruct sock_diag_req {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n};\n\nstruct sock_ee_data_rfc4884 {\n\t__u16 len;\n\t__u8 flags;\n\t__u8 reserved;\n};\n\nstruct sock_extended_err {\n\t__u32 ee_errno;\n\t__u8 ee_origin;\n\t__u8 ee_type;\n\t__u8 ee_code;\n\t__u8 ee_pad;\n\t__u32 ee_info;\n\tunion {\n\t\t__u32 ee_data;\n\t\tstruct sock_ee_data_rfc4884 ee_rfc4884;\n\t};\n};\n\nstruct sock_exterr_skb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tstruct sock_extended_err ee;\n\tu16 addr_offset;\n\t__be16 port;\n\tu8 opt_stats: 1;\n\tu8 unused: 7;\n};\n\nstruct sock_fprog {\n\tshort unsigned int len;\n\tstruct sock_filter *filter;\n};\n\nstruct sock_fprog_kern {\n\tu16 len;\n\tstruct sock_filter *filter;\n};\n\nstruct sock_hash_seq_info {\n\tstruct bpf_map *map;\n\tstruct bpf_shtab *htab;\n\tu32 bucket_id;\n};\n\nstruct sock_map_seq_info {\n\tstruct bpf_map *map;\n\tstruct sock *sk;\n\tu32 index;\n};\n\nstruct sock_reuseport {\n\tstruct callback_head rcu;\n\tu16 max_socks;\n\tu16 num_socks;\n\tu16 num_closed_socks;\n\tu16 incoming_cpu;\n\tunsigned int synq_overflow_ts;\n\tunsigned int reuseport_id;\n\tunsigned int bind_inany: 1;\n\tunsigned int has_conns: 1;\n\tstruct bpf_prog *prog;\n\tstruct sock *socks[0];\n};\n\nstruct sock_skb_cb {\n\tu32 dropcount;\n};\n\nstruct sock_txtime {\n\t__kernel_clockid_t clockid;\n\t__u32 flags;\n};\n\nstruct sock_xprt {\n\tstruct rpc_xprt xprt;\n\tstruct socket *sock;\n\tstruct sock *inet;\n\tstruct file *file;\n\tstruct {\n\t\tstruct {\n\t\t\t__be32 fraghdr;\n\t\t\t__be32 xid;\n\t\t\t__be32 calldir;\n\t\t};\n\t\tu32 offset;\n\t\tu32 len;\n\t\tlong unsigned int copied;\n\t} recv;\n\tstruct {\n\t\tu32 offset;\n\t} xmit;\n\tlong unsigned int sock_state;\n\tstruct delayed_work connect_worker;\n\tstruct work_struct error_worker;\n\tstruct work_struct recv_worker;\n\tstruct mutex recv_mutex;\n\tstruct completion handshake_done;\n\tstruct __kernel_sockaddr_storage srcaddr;\n\tshort unsigned int srcport;\n\tint xprt_err;\n\tstruct rpc_clnt *clnt;\n\tsize_t rcvsize;\n\tsize_t sndsize;\n\tstruct rpc_timeout tcp_timeout;\n\tvoid (*old_data_ready)(struct sock *);\n\tvoid (*old_state_change)(struct sock *);\n\tvoid (*old_write_space)(struct sock *);\n\tvoid (*old_error_report)(struct sock *);\n};\n\nstruct sockaddr_nl {\n\t__kernel_sa_family_t nl_family;\n\tshort unsigned int nl_pad;\n\t__u32 nl_pid;\n\t__u32 nl_groups;\n};\n\nstruct sockaddr_un {\n\t__kernel_sa_family_t sun_family;\n\tchar sun_path[108];\n};\n\nstruct sockaddr_xdp {\n\t__u16 sxdp_family;\n\t__u16 sxdp_flags;\n\t__u32 sxdp_ifindex;\n\t__u32 sxdp_queue_id;\n\t__u32 sxdp_shared_umem_fd;\n};\n\nstruct socket_wq {\n\twait_queue_head_t wait;\n\tstruct fasync_struct *fasync_list;\n\tlong unsigned int flags;\n\tstruct callback_head rcu;\n\tlong: 64;\n};\n\nstruct socket {\n\tsocket_state state;\n\tshort int type;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tstruct sock *sk;\n\tconst struct proto_ops *ops;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct socket_wq wq;\n};\n\nstruct socket__safe_trusted_or_null {\n\tstruct sock *sk;\n};\n\nstruct socket_alloc {\n\tstruct socket socket;\n\tstruct inode vfs_inode;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sockmap_link {\n\tstruct bpf_link link;\n\tstruct bpf_map *map;\n\tenum bpf_attach_type attach_type;\n};\n\nstruct softirq_action {\n\tvoid (*action)(void);\n};\n\nstruct softnet_data {\n\tstruct list_head poll_list;\n\tstruct sk_buff_head process_queue;\n\tlocal_lock_t process_queue_bh_lock;\n\tunsigned int processed;\n\tunsigned int time_squeeze;\n\tstruct softnet_data *rps_ipi_list;\n\tunsigned int received_rps;\n\tbool in_net_rx_action;\n\tbool in_napi_threaded_poll;\n\tstruct sd_flow_limit *flow_limit;\n\tstruct Qdisc *output_queue;\n\tstruct Qdisc **output_queue_tailp;\n\tstruct sk_buff *completion_queue;\n\tstruct sk_buff_head xfrm_backlog;\n\tstruct netdev_xmit xmit;\n\tlong: 0;\n\tunsigned int input_queue_head;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t csd;\n\tstruct softnet_data *rps_ipi_next;\n\tunsigned int cpu;\n\tunsigned int input_queue_tail;\n\tstruct sk_buff_head input_pkt_queue;\n\tstruct napi_struct backlog;\n\tlong: 64;\n\tatomic_t dropped;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t defer_lock;\n\tint defer_count;\n\tint defer_ipi_scheduled;\n\tstruct sk_buff *defer_list;\n\tlong: 64;\n\tcall_single_data_t defer_csd;\n};\n\nstruct software_node {\n\tconst char *name;\n\tconst struct software_node *parent;\n\tconst struct property_entry *properties;\n};\n\nstruct sp_node {\n\tstruct rb_node nd;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tstruct mempolicy *policy;\n};\n\nstruct spaceBitmapDesc {\n\tstruct tag descTag;\n\t__le32 numOfBits;\n\t__le32 numOfBytes;\n\tuint8_t bitmap[0];\n};\n\nstruct space_resv {\n\t__s16 l_type;\n\t__s16 l_whence;\n\t__s64 l_start;\n\t__s64 l_len;\n\t__s32 l_sysid;\n\t__u32 l_pid;\n\t__s32 l_pad[4];\n};\n\nstruct sparablePartitionMap {\n\tuint8_t partitionMapType;\n\tuint8_t partitionMapLength;\n\tuint8_t reserved1[2];\n\tstruct regid partIdent;\n\t__le16 volSeqNum;\n\t__le16 partitionNum;\n\t__le16 packetLength;\n\tuint8_t numSparingTables;\n\tuint8_t reserved2[1];\n\t__le32 sizeSparingTable;\n\t__le32 locSparingTable[4];\n};\n\nstruct sparingEntry {\n\t__le32 origLocation;\n\t__le32 mappedLocation;\n};\n\nstruct sparingTable {\n\tstruct tag descTag;\n\tstruct regid sparingIdent;\n\t__le16 reallocationTableLen;\n\t__le16 reserved;\n\t__le32 sequenceNum;\n\tstruct sparingEntry mapEntry[0];\n};\n\nstruct speed_down_verdict_arg {\n\tu64 since;\n\tint xfer_ok;\n\tint nr_errors[8];\n};\n\nstruct spi_device;\n\nstruct spi_message;\n\nstruct spi_transfer;\n\nstruct spi_controller_mem_ops;\n\nstruct spi_controller_mem_caps;\n\nstruct spi_statistics;\n\nstruct spi_controller {\n\tstruct device dev;\n\tstruct list_head list;\n\ts16 bus_num;\n\tu16 num_chipselect;\n\tu16 dma_alignment;\n\tu32 mode_bits;\n\tu32 buswidth_override_bits;\n\tu32 bits_per_word_mask;\n\tu32 min_speed_hz;\n\tu32 max_speed_hz;\n\tu16 flags;\n\tbool devm_allocated;\n\tunion {\n\t\tbool slave;\n\t\tbool target;\n\t};\n\tsize_t (*max_transfer_size)(struct spi_device *);\n\tsize_t (*max_message_size)(struct spi_device *);\n\tstruct mutex io_mutex;\n\tstruct mutex add_lock;\n\tspinlock_t bus_lock_spinlock;\n\tstruct mutex bus_lock_mutex;\n\tbool bus_lock_flag;\n\tint (*setup)(struct spi_device *);\n\tint (*set_cs_timing)(struct spi_device *);\n\tint (*transfer)(struct spi_device *, struct spi_message *);\n\tvoid (*cleanup)(struct spi_device *);\n\tbool (*can_dma)(struct spi_controller *, struct spi_device *, struct spi_transfer *);\n\tstruct device *dma_map_dev;\n\tstruct device *cur_rx_dma_dev;\n\tstruct device *cur_tx_dma_dev;\n\tbool queued;\n\tstruct kthread_worker *kworker;\n\tstruct kthread_work pump_messages;\n\tspinlock_t queue_lock;\n\tstruct list_head queue;\n\tstruct spi_message *cur_msg;\n\tstruct completion cur_msg_completion;\n\tbool cur_msg_incomplete;\n\tbool cur_msg_need_completion;\n\tbool busy;\n\tbool running;\n\tbool rt;\n\tbool auto_runtime_pm;\n\tbool fallback;\n\tbool last_cs_mode_high;\n\ts8 last_cs[16];\n\tu32 last_cs_index_mask: 16;\n\tstruct completion xfer_completion;\n\tsize_t max_dma_len;\n\tint (*optimize_message)(struct spi_message *);\n\tint (*unoptimize_message)(struct spi_message *);\n\tint (*prepare_transfer_hardware)(struct spi_controller *);\n\tint (*transfer_one_message)(struct spi_controller *, struct spi_message *);\n\tint (*unprepare_transfer_hardware)(struct spi_controller *);\n\tint (*prepare_message)(struct spi_controller *, struct spi_message *);\n\tint (*unprepare_message)(struct spi_controller *, struct spi_message *);\n\tint (*target_abort)(struct spi_controller *);\n\tvoid (*set_cs)(struct spi_device *, bool);\n\tint (*transfer_one)(struct spi_controller *, struct spi_device *, struct spi_transfer *);\n\tvoid (*handle_err)(struct spi_controller *, struct spi_message *);\n\tconst struct spi_controller_mem_ops *mem_ops;\n\tconst struct spi_controller_mem_caps *mem_caps;\n\tstruct gpio_desc **cs_gpiods;\n\tbool use_gpio_descriptors;\n\ts8 unused_native_cs;\n\ts8 max_native_cs;\n\tstruct spi_statistics *pcpu_statistics;\n\tstruct dma_chan *dma_tx;\n\tstruct dma_chan *dma_rx;\n\tvoid *dummy_rx;\n\tvoid *dummy_tx;\n\tint (*fw_translate_cs)(struct spi_controller *, unsigned int);\n\tbool ptp_sts_supported;\n\tlong unsigned int irq_flags;\n\tbool queue_empty;\n\tbool must_async;\n\tbool defer_optimize_message;\n};\n\nstruct spi_controller_mem_caps {\n\tbool dtr;\n\tbool ecc;\n\tbool swap16;\n\tbool per_op_freq;\n};\n\nstruct spi_mem;\n\nstruct spi_mem_op;\n\nstruct spi_mem_dirmap_desc;\n\nstruct spi_controller_mem_ops {\n\tint (*adjust_op_size)(struct spi_mem *, struct spi_mem_op *);\n\tbool (*supports_op)(struct spi_mem *, const struct spi_mem_op *);\n\tint (*exec_op)(struct spi_mem *, const struct spi_mem_op *);\n\tconst char * (*get_name)(struct spi_mem *);\n\tint (*dirmap_create)(struct spi_mem_dirmap_desc *);\n\tvoid (*dirmap_destroy)(struct spi_mem_dirmap_desc *);\n\tssize_t (*dirmap_read)(struct spi_mem_dirmap_desc *, u64, size_t, void *);\n\tssize_t (*dirmap_write)(struct spi_mem_dirmap_desc *, u64, size_t, const void *);\n\tint (*poll_status)(struct spi_mem *, const struct spi_mem_op *, u16, u16, long unsigned int, long unsigned int, long unsigned int);\n};\n\nstruct spi_delay {\n\tu16 value;\n\tu8 unit;\n};\n\nstruct spi_device {\n\tstruct device dev;\n\tstruct spi_controller *controller;\n\tu32 max_speed_hz;\n\tu8 chip_select[16];\n\tu8 bits_per_word;\n\tbool rt;\n\tu32 mode;\n\tint irq;\n\tvoid *controller_state;\n\tvoid *controller_data;\n\tchar modalias[32];\n\tconst char *driver_override;\n\tstruct gpio_desc *cs_gpiod[16];\n\tstruct spi_delay word_delay;\n\tstruct spi_delay cs_setup;\n\tstruct spi_delay cs_hold;\n\tstruct spi_delay cs_inactive;\n\tstruct spi_statistics *pcpu_statistics;\n\tu32 cs_index_mask: 16;\n};\n\nstruct spi_device_id {\n\tchar name[32];\n\tkernel_ulong_t driver_data;\n};\n\nstruct spi_driver {\n\tconst struct spi_device_id *id_table;\n\tint (*probe)(struct spi_device *);\n\tvoid (*remove)(struct spi_device *);\n\tvoid (*shutdown)(struct spi_device *);\n\tstruct device_driver driver;\n};\n\nstruct spi_mem {\n\tstruct spi_device *spi;\n\tvoid *drvpriv;\n\tconst char *name;\n};\n\nstruct spi_mem_op {\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t\tu16 opcode;\n\t} cmd;\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t\tu64 val;\n\t} addr;\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t} dummy;\n\tstruct {\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 ecc: 1;\n\t\tu8 swap16: 1;\n\t\tu8 __pad: 5;\n\t\tenum spi_mem_data_dir dir;\n\t\tunsigned int nbytes;\n\t\tunion {\n\t\t\tvoid *in;\n\t\t\tconst void *out;\n\t\t} buf;\n\t} data;\n\tunsigned int max_freq;\n};\n\nstruct spi_mem_dirmap_info {\n\tstruct spi_mem_op op_tmpl;\n\tu64 offset;\n\tu64 length;\n};\n\nstruct spi_mem_dirmap_desc {\n\tstruct spi_mem *mem;\n\tstruct spi_mem_dirmap_info info;\n\tunsigned int nodirmap;\n\tvoid *priv;\n};\n\nstruct spi_message {\n\tstruct list_head transfers;\n\tstruct spi_device *spi;\n\tbool pre_optimized;\n\tbool optimized;\n\tbool prepared;\n\tint status;\n\tvoid (*complete)(void *);\n\tvoid *context;\n\tunsigned int frame_length;\n\tunsigned int actual_length;\n\tstruct list_head queue;\n\tvoid *state;\n\tvoid *opt_state;\n\tstruct list_head resources;\n};\n\nstruct spi_replaced_transfers;\n\ntypedef void (*spi_replaced_release_t)(struct spi_controller *, struct spi_message *, struct spi_replaced_transfers *);\n\nstruct spi_transfer {\n\tconst void *tx_buf;\n\tvoid *rx_buf;\n\tunsigned int len;\n\tu16 error;\n\tbool tx_sg_mapped;\n\tbool rx_sg_mapped;\n\tstruct sg_table tx_sg;\n\tstruct sg_table rx_sg;\n\tdma_addr_t tx_dma;\n\tdma_addr_t rx_dma;\n\tunsigned int dummy_data: 1;\n\tunsigned int cs_off: 1;\n\tunsigned int cs_change: 1;\n\tunsigned int tx_nbits: 4;\n\tunsigned int rx_nbits: 4;\n\tunsigned int timestamped: 1;\n\tu8 bits_per_word;\n\tstruct spi_delay delay;\n\tstruct spi_delay cs_change_delay;\n\tstruct spi_delay word_delay;\n\tu32 speed_hz;\n\tu32 effective_speed_hz;\n\tunsigned int ptp_sts_word_pre;\n\tunsigned int ptp_sts_word_post;\n\tstruct ptp_system_timestamp *ptp_sts;\n\tstruct list_head transfer_list;\n};\n\nstruct spi_replaced_transfers {\n\tspi_replaced_release_t release;\n\tvoid *extradata;\n\tstruct list_head replaced_transfers;\n\tstruct list_head *replaced_after;\n\tsize_t inserted;\n\tstruct spi_transfer inserted_transfers[0];\n};\n\ntypedef void (*spi_res_release_t)(struct spi_controller *, struct spi_message *, void *);\n\nstruct spi_res {\n\tstruct list_head entry;\n\tspi_res_release_t release;\n\tlong long unsigned int data[0];\n};\n\nstruct spi_statistics {\n\tstruct u64_stats_sync syncp;\n\tu64_stats_t messages;\n\tu64_stats_t transfers;\n\tu64_stats_t errors;\n\tu64_stats_t timedout;\n\tu64_stats_t spi_sync;\n\tu64_stats_t spi_sync_immediate;\n\tu64_stats_t spi_async;\n\tu64_stats_t bytes;\n\tu64_stats_t bytes_rx;\n\tu64_stats_t bytes_tx;\n\tu64_stats_t transfer_bytes_histo[17];\n\tu64_stats_t transfers_split_maxsize;\n};\n\nstruct splice_desc {\n\tsize_t total_len;\n\tunsigned int len;\n\tunsigned int flags;\n\tunion {\n\t\tvoid *userptr;\n\t\tstruct file *file;\n\t\tvoid *data;\n\t} u;\n\tvoid (*splice_eof)(struct splice_desc *);\n\tloff_t pos;\n\tloff_t *opos;\n\tsize_t num_spliced;\n\tbool need_wakeup;\n};\n\nstruct splice_pipe_desc {\n\tstruct page **pages;\n\tstruct partial_page *partial;\n\tint nr_pages;\n\tunsigned int nr_pages_max;\n\tconst struct pipe_buf_operations *ops;\n\tvoid (*spd_release)(struct splice_pipe_desc *, unsigned int);\n};\n\nstruct squashfs_base_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n};\n\nstruct squashfs_cache_entry;\n\nstruct squashfs_cache {\n\tchar *name;\n\tint entries;\n\tint curr_blk;\n\tint next_blk;\n\tint num_waiters;\n\tint unused;\n\tint block_size;\n\tint pages;\n\tspinlock_t lock;\n\twait_queue_head_t wait_queue;\n\tstruct squashfs_cache_entry *entry;\n};\n\nstruct squashfs_page_actor;\n\nstruct squashfs_cache_entry {\n\tu64 block;\n\tint length;\n\tint refcount;\n\tu64 next_index;\n\tint pending;\n\tint error;\n\tint num_waiters;\n\twait_queue_head_t wait_queue;\n\tstruct squashfs_cache *cache;\n\tvoid **data;\n\tstruct squashfs_page_actor *actor;\n};\n\nstruct squashfs_sb_info;\n\nstruct squashfs_decompressor {\n\tvoid * (*init)(struct squashfs_sb_info *, void *);\n\tvoid * (*comp_opts)(struct squashfs_sb_info *, void *, int);\n\tvoid (*free)(void *);\n\tint (*decompress)(struct squashfs_sb_info *, void *, struct bio *, int, int, struct squashfs_page_actor *);\n\tint id;\n\tchar *name;\n\tint alloc_buffer;\n\tint supported;\n};\n\nstruct squashfs_decompressor_thread_ops {\n\tvoid * (*create)(struct squashfs_sb_info *, void *);\n\tvoid (*destroy)(struct squashfs_sb_info *);\n\tint (*decompress)(struct squashfs_sb_info *, struct bio *, int, int, struct squashfs_page_actor *);\n\tint (*max_decompressors)(void);\n};\n\nstruct squashfs_dev_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 rdev;\n};\n\nstruct squashfs_dir_entry {\n\t__le16 offset;\n\t__le16 inode_number;\n\t__le16 type;\n\t__le16 size;\n\tchar name[0];\n};\n\nstruct squashfs_dir_header {\n\t__le32 count;\n\t__le32 start_block;\n\t__le32 inode_number;\n};\n\nstruct squashfs_dir_index {\n\t__le32 index;\n\t__le32 start_block;\n\t__le32 size;\n\tunsigned char name[0];\n};\n\nstruct squashfs_dir_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 start_block;\n\t__le32 nlink;\n\t__le16 file_size;\n\t__le16 offset;\n\t__le32 parent_inode;\n};\n\nstruct squashfs_fragment_entry {\n\t__le64 start_block;\n\t__le32 size;\n\tunsigned int unused;\n};\n\nstruct squashfs_ldev_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 rdev;\n\t__le32 xattr;\n};\n\nstruct squashfs_symlink_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 symlink_size;\n\tchar symlink[0];\n};\n\nstruct squashfs_reg_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 start_block;\n\t__le32 fragment;\n\t__le32 offset;\n\t__le32 file_size;\n\t__le16 block_list[0];\n};\n\nstruct squashfs_lreg_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le64 start_block;\n\t__le64 file_size;\n\t__le64 sparse;\n\t__le32 nlink;\n\t__le32 fragment;\n\t__le32 offset;\n\t__le32 xattr;\n\t__le16 block_list[0];\n};\n\nstruct squashfs_ldir_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 file_size;\n\t__le32 start_block;\n\t__le32 parent_inode;\n\t__le16 i_count;\n\t__le16 offset;\n\t__le32 xattr;\n\tstruct squashfs_dir_index index[0];\n};\n\nstruct squashfs_ipc_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n};\n\nstruct squashfs_lipc_inode {\n\t__le16 inode_type;\n\t__le16 mode;\n\t__le16 uid;\n\t__le16 guid;\n\t__le32 mtime;\n\t__le32 inode_number;\n\t__le32 nlink;\n\t__le32 xattr;\n};\n\nunion squashfs_inode {\n\tstruct squashfs_base_inode base;\n\tstruct squashfs_dev_inode dev;\n\tstruct squashfs_ldev_inode ldev;\n\tstruct squashfs_symlink_inode symlink;\n\tstruct squashfs_reg_inode reg;\n\tstruct squashfs_lreg_inode lreg;\n\tstruct squashfs_dir_inode dir;\n\tstruct squashfs_ldir_inode ldir;\n\tstruct squashfs_ipc_inode ipc;\n\tstruct squashfs_lipc_inode lipc;\n};\n\nstruct squashfs_inode_info {\n\tu64 start;\n\tint offset;\n\tu64 xattr;\n\tunsigned int xattr_size;\n\tint xattr_count;\n\tunion {\n\t\tstruct {\n\t\t\tu64 fragment_block;\n\t\t\tint fragment_size;\n\t\t\tint fragment_offset;\n\t\t\tu64 block_list_start;\n\t\t};\n\t\tstruct {\n\t\t\tu64 dir_idx_start;\n\t\t\tint dir_idx_offset;\n\t\t\tint dir_idx_cnt;\n\t\t\tint parent;\n\t\t};\n\t};\n\tstruct inode vfs_inode;\n};\n\nstruct squashfs_lz4 {\n\tvoid *input;\n\tvoid *output;\n};\n\nstruct squashfs_lzo {\n\tvoid *input;\n\tvoid *output;\n};\n\nstruct squashfs_mount_opts {\n\tenum Opt_errors errors;\n\tconst struct squashfs_decompressor_thread_ops *thread_ops;\n\tint thread_num;\n};\n\nstruct squashfs_page_actor {\n\tunion {\n\t\tvoid **buffer;\n\t\tstruct page **page;\n\t};\n\tvoid *pageaddr;\n\tvoid *tmp_buffer;\n\tvoid * (*squashfs_first_page)(struct squashfs_page_actor *);\n\tvoid * (*squashfs_next_page)(struct squashfs_page_actor *);\n\tvoid (*squashfs_finish_page)(struct squashfs_page_actor *);\n\tstruct page *last_page;\n\tint pages;\n\tint length;\n\tint next_page;\n\tint alloc_buffer;\n\tint returned_pages;\n\tlong unsigned int next_index;\n};\n\nstruct squashfs_sb_info {\n\tconst struct squashfs_decompressor *decompressor;\n\tint devblksize;\n\tint devblksize_log2;\n\tstruct squashfs_cache *block_cache;\n\tstruct squashfs_cache *fragment_cache;\n\tstruct squashfs_cache *read_page;\n\tstruct address_space *cache_mapping;\n\tint next_meta_index;\n\t__le64 *id_table;\n\t__le64 *fragment_index;\n\t__le64 *xattr_id_table;\n\tstruct mutex meta_index_mutex;\n\tstruct meta_index *meta_index;\n\tvoid *stream;\n\t__le64 *inode_lookup_table;\n\tu64 inode_table;\n\tu64 directory_table;\n\tu64 xattr_table;\n\tunsigned int block_size;\n\tshort unsigned int block_log;\n\tlong long int bytes_used;\n\tunsigned int inodes;\n\tunsigned int fragments;\n\tunsigned int xattr_ids;\n\tunsigned int ids;\n\tbool panic_on_errors;\n\tconst struct squashfs_decompressor_thread_ops *thread_ops;\n\tint max_thread_num;\n};\n\nstruct squashfs_stream {\n\tvoid *comp_opts;\n\tstruct list_head strm_list;\n\tstruct mutex mutex;\n\tint avail_decomp;\n\twait_queue_head_t wait;\n};\n\nstruct squashfs_stream___2 {\n\tvoid *stream;\n\tlocal_lock_t lock;\n};\n\nstruct squashfs_stream___3 {\n\tvoid *stream;\n\tstruct mutex mutex;\n};\n\nstruct squashfs_super_block {\n\t__le32 s_magic;\n\t__le32 inodes;\n\t__le32 mkfs_time;\n\t__le32 block_size;\n\t__le32 fragments;\n\t__le16 compression;\n\t__le16 block_log;\n\t__le16 flags;\n\t__le16 no_ids;\n\t__le16 s_major;\n\t__le16 s_minor;\n\t__le64 root_inode;\n\t__le64 bytes_used;\n\t__le64 id_table_start;\n\t__le64 xattr_id_table_start;\n\t__le64 inode_table_start;\n\t__le64 directory_table_start;\n\t__le64 fragment_table_start;\n\t__le64 lookup_table_start;\n};\n\nstruct squashfs_xattr_entry {\n\t__le16 type;\n\t__le16 size;\n\tchar data[0];\n};\n\nstruct squashfs_xattr_id {\n\t__le64 xattr;\n\t__le32 count;\n\t__le32 size;\n};\n\nstruct squashfs_xattr_id_table {\n\t__le64 xattr_table_start;\n\t__le32 xattr_ids;\n\t__le32 unused;\n};\n\nstruct squashfs_xattr_val {\n\t__le32 vsize;\n\tchar value[0];\n};\n\nstruct xz_buf {\n\tconst uint8_t *in;\n\tsize_t in_pos;\n\tsize_t in_size;\n\tuint8_t *out;\n\tsize_t out_pos;\n\tsize_t out_size;\n};\n\nstruct xz_dec;\n\nstruct squashfs_xz {\n\tstruct xz_dec *state;\n\tstruct xz_buf buf;\n};\n\nstruct sr6_tlv {\n\t__u8 type;\n\t__u8 len;\n\t__u8 data[0];\n};\n\nstruct srcu_data {\n\tatomic_long_t srcu_lock_count[2];\n\tatomic_long_t srcu_unlock_count[2];\n\tint srcu_reader_flavor;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t lock;\n\tstruct rcu_segcblist srcu_cblist;\n\tlong unsigned int srcu_gp_seq_needed;\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tbool srcu_cblist_invoking;\n\tstruct timer_list delay_work;\n\tstruct work_struct work;\n\tstruct callback_head srcu_barrier_head;\n\tstruct srcu_node *mynode;\n\tlong unsigned int grpmask;\n\tint cpu;\n\tstruct srcu_struct *ssp;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct srcu_node {\n\tspinlock_t lock;\n\tlong unsigned int srcu_have_cbs[4];\n\tlong unsigned int srcu_data_have_cbs[4];\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tstruct srcu_node *srcu_parent;\n\tint grplo;\n\tint grphi;\n};\n\nstruct ssp_frame_hdr {\n\tu8 frame_type;\n\tu8 hashed_dest_addr[3];\n\tu8 _r_a;\n\tu8 hashed_src_addr[3];\n\t__be16 _r_b;\n\tu8 changing_data_ptr: 1;\n\tu8 retransmit: 1;\n\tu8 retry_data_frames: 1;\n\tu8 _r_c: 5;\n\tu8 num_fill_bytes: 2;\n\tu8 _r_d: 6;\n\tu32 _r_e;\n\t__be16 tag;\n\t__be16 tptt;\n\t__be32 data_offs;\n};\n\nstruct ssp_response_iu {\n\tu8 _r_a[10];\n\tu8 datapres: 2;\n\tu8 _r_b: 6;\n\tu8 status;\n\tu32 _r_c;\n\t__be32 sense_data_len;\n\t__be32 response_data_len;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_resp_data;\n\t\t\tu8 resp_data[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_sense_data;\n\t\t\tu8 sense_data[0];\n\t\t};\n\t};\n};\n\nstruct stack_entry {\n\tstruct trace_entry ent;\n\tint size;\n\tlong unsigned int caller[0];\n};\n\nstruct stack_frame {\n\tlong unsigned int fp;\n\tlong unsigned int ra;\n};\n\nstruct stack_info {\n\tenum stack_type type;\n\tlong unsigned int begin;\n\tlong unsigned int end;\n\tlong unsigned int next_sp;\n};\n\nstruct stack_map_bucket {\n\tstruct pcpu_freelist_node fnode;\n\tu32 hash;\n\tu32 nr;\n\tu64 data[0];\n};\n\nstruct stack_record {\n\tstruct list_head hash_list;\n\tu32 hash;\n\tu32 size;\n\tunion handle_parts handle;\n\trefcount_t count;\n\tunion {\n\t\tlong unsigned int entries[64];\n\t\tstruct {\n\t\t\tstruct list_head free_list;\n\t\t\tlong unsigned int rcu_state;\n\t\t};\n\t};\n};\n\nstruct stacktrace_cookie {\n\tlong unsigned int *store;\n\tunsigned int size;\n\tunsigned int skip;\n\tunsigned int len;\n};\n\nstruct stashed_operations {\n\tvoid (*put_data)(void *);\n\tint (*init_inode)(struct inode *, void *);\n};\n\nstruct stat {\n\tlong unsigned int st_dev;\n\tlong unsigned int st_ino;\n\tunsigned int st_mode;\n\tunsigned int st_nlink;\n\tunsigned int st_uid;\n\tunsigned int st_gid;\n\tlong unsigned int st_rdev;\n\tlong unsigned int __pad1;\n\tlong int st_size;\n\tint st_blksize;\n\tint __pad2;\n\tlong int st_blocks;\n\tlong int st_atime;\n\tlong unsigned int st_atime_nsec;\n\tlong int st_mtime;\n\tlong unsigned int st_mtime_nsec;\n\tlong int st_ctime;\n\tlong unsigned int st_ctime_nsec;\n\tunsigned int __unused4;\n\tunsigned int __unused5;\n};\n\nstruct stat_node {\n\tstruct rb_node node;\n\tvoid *stat;\n};\n\nstruct tracer_stat;\n\nstruct stat_session {\n\tstruct list_head session_list;\n\tstruct tracer_stat *ts;\n\tstruct rb_root stat_root;\n\tstruct mutex stat_mutex;\n\tstruct dentry *file;\n};\n\nstruct statfs {\n\t__kernel_long_t f_type;\n\t__kernel_long_t f_bsize;\n\t__kernel_long_t f_blocks;\n\t__kernel_long_t f_bfree;\n\t__kernel_long_t f_bavail;\n\t__kernel_long_t f_files;\n\t__kernel_long_t f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__kernel_long_t f_namelen;\n\t__kernel_long_t f_frsize;\n\t__kernel_long_t f_flags;\n\t__kernel_long_t f_spare[4];\n};\n\nstruct statfs64 {\n\t__kernel_long_t f_type;\n\t__kernel_long_t f_bsize;\n\t__u64 f_blocks;\n\t__u64 f_bfree;\n\t__u64 f_bavail;\n\t__u64 f_files;\n\t__u64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__kernel_long_t f_namelen;\n\t__kernel_long_t f_frsize;\n\t__kernel_long_t f_flags;\n\t__kernel_long_t f_spare[4];\n};\n\nstruct static_call_key {\n\tvoid *func;\n};\n\nstruct static_key_deferred {\n\tstruct static_key key;\n\tlong unsigned int timeout;\n\tstruct delayed_work work;\n};\n\nstruct static_key_false_deferred {\n\tstruct static_key_false key;\n\tlong unsigned int timeout;\n\tstruct delayed_work work;\n};\n\nstruct static_key_mod {\n\tstruct static_key_mod *next;\n\tstruct jump_entry *entries;\n\tstruct module *mod;\n};\n\nstruct static_tree_desc_s {\n\tconst ct_data *static_tree;\n\tconst int *extra_bits;\n\tint extra_base;\n\tint elems;\n\tint max_length;\n};\n\nstruct statistics_block {\n\tu32 stat_IfHCInOctets_hi;\n\tu32 stat_IfHCInOctets_lo;\n\tu32 stat_IfHCInBadOctets_hi;\n\tu32 stat_IfHCInBadOctets_lo;\n\tu32 stat_IfHCOutOctets_hi;\n\tu32 stat_IfHCOutOctets_lo;\n\tu32 stat_IfHCOutBadOctets_hi;\n\tu32 stat_IfHCOutBadOctets_lo;\n\tu32 stat_IfHCInUcastPkts_hi;\n\tu32 stat_IfHCInUcastPkts_lo;\n\tu32 stat_IfHCInMulticastPkts_hi;\n\tu32 stat_IfHCInMulticastPkts_lo;\n\tu32 stat_IfHCInBroadcastPkts_hi;\n\tu32 stat_IfHCInBroadcastPkts_lo;\n\tu32 stat_IfHCOutUcastPkts_hi;\n\tu32 stat_IfHCOutUcastPkts_lo;\n\tu32 stat_IfHCOutMulticastPkts_hi;\n\tu32 stat_IfHCOutMulticastPkts_lo;\n\tu32 stat_IfHCOutBroadcastPkts_hi;\n\tu32 stat_IfHCOutBroadcastPkts_lo;\n\tu32 stat_emac_tx_stat_dot3statsinternalmactransmiterrors;\n\tu32 stat_Dot3StatsCarrierSenseErrors;\n\tu32 stat_Dot3StatsFCSErrors;\n\tu32 stat_Dot3StatsAlignmentErrors;\n\tu32 stat_Dot3StatsSingleCollisionFrames;\n\tu32 stat_Dot3StatsMultipleCollisionFrames;\n\tu32 stat_Dot3StatsDeferredTransmissions;\n\tu32 stat_Dot3StatsExcessiveCollisions;\n\tu32 stat_Dot3StatsLateCollisions;\n\tu32 stat_EtherStatsCollisions;\n\tu32 stat_EtherStatsFragments;\n\tu32 stat_EtherStatsJabbers;\n\tu32 stat_EtherStatsUndersizePkts;\n\tu32 stat_EtherStatsOverrsizePkts;\n\tu32 stat_EtherStatsPktsRx64Octets;\n\tu32 stat_EtherStatsPktsRx65Octetsto127Octets;\n\tu32 stat_EtherStatsPktsRx128Octetsto255Octets;\n\tu32 stat_EtherStatsPktsRx256Octetsto511Octets;\n\tu32 stat_EtherStatsPktsRx512Octetsto1023Octets;\n\tu32 stat_EtherStatsPktsRx1024Octetsto1522Octets;\n\tu32 stat_EtherStatsPktsRx1523Octetsto9022Octets;\n\tu32 stat_EtherStatsPktsTx64Octets;\n\tu32 stat_EtherStatsPktsTx65Octetsto127Octets;\n\tu32 stat_EtherStatsPktsTx128Octetsto255Octets;\n\tu32 stat_EtherStatsPktsTx256Octetsto511Octets;\n\tu32 stat_EtherStatsPktsTx512Octetsto1023Octets;\n\tu32 stat_EtherStatsPktsTx1024Octetsto1522Octets;\n\tu32 stat_EtherStatsPktsTx1523Octetsto9022Octets;\n\tu32 stat_XonPauseFramesReceived;\n\tu32 stat_XoffPauseFramesReceived;\n\tu32 stat_OutXonSent;\n\tu32 stat_OutXoffSent;\n\tu32 stat_FlowControlDone;\n\tu32 stat_MacControlFramesReceived;\n\tu32 stat_XoffStateEntered;\n\tu32 stat_IfInFramesL2FilterDiscards;\n\tu32 stat_IfInRuleCheckerDiscards;\n\tu32 stat_IfInFTQDiscards;\n\tu32 stat_IfInMBUFDiscards;\n\tu32 stat_IfInRuleCheckerP4Hit;\n\tu32 stat_CatchupInRuleCheckerDiscards;\n\tu32 stat_CatchupInFTQDiscards;\n\tu32 stat_CatchupInMBUFDiscards;\n\tu32 stat_CatchupInRuleCheckerP4Hit;\n\tu32 stat_GenStat00;\n\tu32 stat_GenStat01;\n\tu32 stat_GenStat02;\n\tu32 stat_GenStat03;\n\tu32 stat_GenStat04;\n\tu32 stat_GenStat05;\n\tu32 stat_GenStat06;\n\tu32 stat_GenStat07;\n\tu32 stat_GenStat08;\n\tu32 stat_GenStat09;\n\tu32 stat_GenStat10;\n\tu32 stat_GenStat11;\n\tu32 stat_GenStat12;\n\tu32 stat_GenStat13;\n\tu32 stat_GenStat14;\n\tu32 stat_GenStat15;\n\tu32 stat_FwRxDrop;\n};\n\nstruct stats_reply_data {\n\tstruct ethnl_reply_data base;\n\tunion {\n\t\tstruct {\n\t\t\tstruct ethtool_eth_phy_stats phy_stats;\n\t\t\tstruct ethtool_eth_mac_stats mac_stats;\n\t\t\tstruct ethtool_eth_ctrl_stats ctrl_stats;\n\t\t\tstruct ethtool_rmon_stats rmon_stats;\n\t\t\tstruct ethtool_phy_stats phydev_stats;\n\t\t};\n\t\tstruct {\n\t\t\tstruct ethtool_eth_phy_stats phy_stats;\n\t\t\tstruct ethtool_eth_mac_stats mac_stats;\n\t\t\tstruct ethtool_eth_ctrl_stats ctrl_stats;\n\t\t\tstruct ethtool_rmon_stats rmon_stats;\n\t\t\tstruct ethtool_phy_stats phydev_stats;\n\t\t} stats;\n\t};\n\tconst struct ethtool_rmon_hist_range *rmon_ranges;\n};\n\nstruct stats_req_info {\n\tstruct ethnl_req_info base;\n\tlong unsigned int stat_mask[1];\n\tenum ethtool_mac_stats_src src;\n};\n\nstruct status_block {\n\tu32 status_attn_bits;\n\tu32 status_attn_bits_ack;\n\tu16 status_tx_quick_consumer_index1;\n\tu16 status_tx_quick_consumer_index0;\n\tu16 status_tx_quick_consumer_index3;\n\tu16 status_tx_quick_consumer_index2;\n\tu16 status_rx_quick_consumer_index1;\n\tu16 status_rx_quick_consumer_index0;\n\tu16 status_rx_quick_consumer_index3;\n\tu16 status_rx_quick_consumer_index2;\n\tu16 status_rx_quick_consumer_index5;\n\tu16 status_rx_quick_consumer_index4;\n\tu16 status_rx_quick_consumer_index7;\n\tu16 status_rx_quick_consumer_index6;\n\tu16 status_rx_quick_consumer_index9;\n\tu16 status_rx_quick_consumer_index8;\n\tu16 status_rx_quick_consumer_index11;\n\tu16 status_rx_quick_consumer_index10;\n\tu16 status_rx_quick_consumer_index13;\n\tu16 status_rx_quick_consumer_index12;\n\tu16 status_rx_quick_consumer_index15;\n\tu16 status_rx_quick_consumer_index14;\n\tu16 status_cmd_consumer_index;\n\tu16 status_completion_producer_index;\n\tu8 status_blk_num;\n\tu8 status_unused;\n\tu16 status_idx;\n};\n\nstruct status_block_msix {\n\tu16 status_rx_quick_consumer_index;\n\tu16 status_tx_quick_consumer_index;\n\tu16 status_cmd_consumer_index;\n\tu16 status_completion_producer_index;\n\tu32 status_unused;\n\tu8 status_blk_num;\n\tu8 status_unused2;\n\tu16 status_idx;\n};\n\nstruct statx_timestamp {\n\t__s64 tv_sec;\n\t__u32 tv_nsec;\n\t__s32 __reserved;\n};\n\nstruct statx {\n\t__u32 stx_mask;\n\t__u32 stx_blksize;\n\t__u64 stx_attributes;\n\t__u32 stx_nlink;\n\t__u32 stx_uid;\n\t__u32 stx_gid;\n\t__u16 stx_mode;\n\t__u16 __spare0[1];\n\t__u64 stx_ino;\n\t__u64 stx_size;\n\t__u64 stx_blocks;\n\t__u64 stx_attributes_mask;\n\tstruct statx_timestamp stx_atime;\n\tstruct statx_timestamp stx_btime;\n\tstruct statx_timestamp stx_ctime;\n\tstruct statx_timestamp stx_mtime;\n\t__u32 stx_rdev_major;\n\t__u32 stx_rdev_minor;\n\t__u32 stx_dev_major;\n\t__u32 stx_dev_minor;\n\t__u64 stx_mnt_id;\n\t__u32 stx_dio_mem_align;\n\t__u32 stx_dio_offset_align;\n\t__u64 stx_subvol;\n\t__u32 stx_atomic_write_unit_min;\n\t__u32 stx_atomic_write_unit_max;\n\t__u32 stx_atomic_write_segments_max;\n\t__u32 stx_dio_read_offset_align;\n\t__u64 __spare3[9];\n};\n\nstruct stereo_mandatory_mode {\n\tint width;\n\tint height;\n\tint vrefresh;\n\tunsigned int flags;\n};\n\nstruct stmmac_axi {\n\tbool axi_lpi_en;\n\tbool axi_xit_frm;\n\tu32 axi_wr_osr_lmt;\n\tu32 axi_rd_osr_lmt;\n\tbool axi_kbbe;\n\tu32 axi_blen[7];\n\tbool axi_fb;\n\tbool axi_mb;\n\tbool axi_rb;\n};\n\nstruct stmmac_channel {\n\tstruct napi_struct rx_napi;\n\tlong: 64;\n\tlong: 64;\n\tstruct napi_struct tx_napi;\n\tlong: 64;\n\tlong: 64;\n\tstruct napi_struct rxtx_napi;\n\tstruct stmmac_priv *priv_data;\n\tspinlock_t lock;\n\tu32 index;\n};\n\nstruct stmmac_counters {\n\tunsigned int mmc_tx_octetcount_gb;\n\tunsigned int mmc_tx_framecount_gb;\n\tunsigned int mmc_tx_broadcastframe_g;\n\tunsigned int mmc_tx_multicastframe_g;\n\tunsigned int mmc_tx_64_octets_gb;\n\tunsigned int mmc_tx_65_to_127_octets_gb;\n\tunsigned int mmc_tx_128_to_255_octets_gb;\n\tunsigned int mmc_tx_256_to_511_octets_gb;\n\tunsigned int mmc_tx_512_to_1023_octets_gb;\n\tunsigned int mmc_tx_1024_to_max_octets_gb;\n\tunsigned int mmc_tx_unicast_gb;\n\tunsigned int mmc_tx_multicast_gb;\n\tunsigned int mmc_tx_broadcast_gb;\n\tunsigned int mmc_tx_underflow_error;\n\tunsigned int mmc_tx_singlecol_g;\n\tunsigned int mmc_tx_multicol_g;\n\tunsigned int mmc_tx_deferred;\n\tunsigned int mmc_tx_latecol;\n\tunsigned int mmc_tx_exesscol;\n\tunsigned int mmc_tx_carrier_error;\n\tunsigned int mmc_tx_octetcount_g;\n\tunsigned int mmc_tx_framecount_g;\n\tunsigned int mmc_tx_excessdef;\n\tunsigned int mmc_tx_pause_frame;\n\tunsigned int mmc_tx_vlan_frame_g;\n\tunsigned int mmc_tx_oversize_g;\n\tunsigned int mmc_tx_lpi_usec;\n\tunsigned int mmc_tx_lpi_tran;\n\tunsigned int mmc_rx_framecount_gb;\n\tunsigned int mmc_rx_octetcount_gb;\n\tunsigned int mmc_rx_octetcount_g;\n\tunsigned int mmc_rx_broadcastframe_g;\n\tunsigned int mmc_rx_multicastframe_g;\n\tunsigned int mmc_rx_crc_error;\n\tunsigned int mmc_rx_align_error;\n\tunsigned int mmc_rx_run_error;\n\tunsigned int mmc_rx_jabber_error;\n\tunsigned int mmc_rx_undersize_g;\n\tunsigned int mmc_rx_oversize_g;\n\tunsigned int mmc_rx_64_octets_gb;\n\tunsigned int mmc_rx_65_to_127_octets_gb;\n\tunsigned int mmc_rx_128_to_255_octets_gb;\n\tunsigned int mmc_rx_256_to_511_octets_gb;\n\tunsigned int mmc_rx_512_to_1023_octets_gb;\n\tunsigned int mmc_rx_1024_to_max_octets_gb;\n\tunsigned int mmc_rx_unicast_g;\n\tunsigned int mmc_rx_length_error;\n\tunsigned int mmc_rx_autofrangetype;\n\tunsigned int mmc_rx_pause_frames;\n\tunsigned int mmc_rx_fifo_overflow;\n\tunsigned int mmc_rx_vlan_frames_gb;\n\tunsigned int mmc_rx_watchdog_error;\n\tunsigned int mmc_rx_error;\n\tunsigned int mmc_rx_lpi_usec;\n\tunsigned int mmc_rx_lpi_tran;\n\tunsigned int mmc_rx_discard_frames_gb;\n\tunsigned int mmc_rx_discard_octets_gb;\n\tunsigned int mmc_rx_align_err_frames;\n\tunsigned int mmc_rx_ipv4_gd;\n\tunsigned int mmc_rx_ipv4_hderr;\n\tunsigned int mmc_rx_ipv4_nopay;\n\tunsigned int mmc_rx_ipv4_frag;\n\tunsigned int mmc_rx_ipv4_udsbl;\n\tunsigned int mmc_rx_ipv4_gd_octets;\n\tunsigned int mmc_rx_ipv4_hderr_octets;\n\tunsigned int mmc_rx_ipv4_nopay_octets;\n\tunsigned int mmc_rx_ipv4_frag_octets;\n\tunsigned int mmc_rx_ipv4_udsbl_octets;\n\tunsigned int mmc_rx_ipv6_gd_octets;\n\tunsigned int mmc_rx_ipv6_hderr_octets;\n\tunsigned int mmc_rx_ipv6_nopay_octets;\n\tunsigned int mmc_rx_ipv6_gd;\n\tunsigned int mmc_rx_ipv6_hderr;\n\tunsigned int mmc_rx_ipv6_nopay;\n\tunsigned int mmc_rx_udp_gd;\n\tunsigned int mmc_rx_udp_err;\n\tunsigned int mmc_rx_tcp_gd;\n\tunsigned int mmc_rx_tcp_err;\n\tunsigned int mmc_rx_icmp_gd;\n\tunsigned int mmc_rx_icmp_err;\n\tunsigned int mmc_rx_udp_gd_octets;\n\tunsigned int mmc_rx_udp_err_octets;\n\tunsigned int mmc_rx_tcp_gd_octets;\n\tunsigned int mmc_rx_tcp_err_octets;\n\tunsigned int mmc_rx_icmp_gd_octets;\n\tunsigned int mmc_rx_icmp_err_octets;\n\tunsigned int mmc_sgf_pass_fragment_cntr;\n\tunsigned int mmc_sgf_fail_fragment_cntr;\n\tunsigned int mmc_tx_fpe_fragment_cntr;\n\tunsigned int mmc_tx_hold_req_cntr;\n\tunsigned int mmc_tx_gate_overrun_cntr;\n\tunsigned int mmc_rx_packet_assembly_err_cntr;\n\tunsigned int mmc_rx_packet_smd_err_cntr;\n\tunsigned int mmc_rx_packet_assembly_ok_cntr;\n\tunsigned int mmc_rx_fpe_fragment_cntr;\n};\n\nstruct stmmac_extra_stats;\n\nstruct stmmac_desc_ops {\n\tvoid (*init_rx_desc)(struct dma_desc *, int, int, int, int);\n\tvoid (*init_tx_desc)(struct dma_desc *, int, int);\n\tvoid (*prepare_tx_desc)(struct dma_desc *, int, int, bool, int, bool, bool, unsigned int);\n\tvoid (*prepare_tso_tx_desc)(struct dma_desc *, int, int, int, bool, bool, unsigned int, unsigned int);\n\tvoid (*set_tx_owner)(struct dma_desc *);\n\tint (*get_tx_owner)(struct dma_desc *);\n\tvoid (*release_tx_desc)(struct dma_desc *, int);\n\tvoid (*set_tx_ic)(struct dma_desc *);\n\tint (*get_tx_ls)(struct dma_desc *);\n\tu16 (*get_rx_vlan_tci)(struct dma_desc *);\n\tbool (*get_rx_vlan_valid)(struct dma_desc *);\n\tint (*tx_status)(struct stmmac_extra_stats *, struct dma_desc *, void *);\n\tint (*get_tx_len)(struct dma_desc *);\n\tvoid (*set_rx_owner)(struct dma_desc *, int);\n\tint (*get_rx_frame_len)(struct dma_desc *, int);\n\tint (*rx_status)(struct stmmac_extra_stats *, struct dma_desc *);\n\tvoid (*rx_extended_status)(struct stmmac_extra_stats *, struct dma_extended_desc *);\n\tvoid (*enable_tx_timestamp)(struct dma_desc *);\n\tint (*get_tx_timestamp_status)(struct dma_desc *);\n\tvoid (*get_timestamp)(void *, u32, u64 *);\n\tint (*get_rx_timestamp_status)(void *, void *, u32);\n\tvoid (*display_ring)(void *, unsigned int, bool, dma_addr_t, unsigned int);\n\tvoid (*set_mss)(struct dma_desc *, unsigned int);\n\tvoid (*set_addr)(struct dma_desc *, dma_addr_t);\n\tvoid (*clear)(struct dma_desc *);\n\tint (*get_rx_hash)(struct dma_desc *, u32 *, enum pkt_hash_types *);\n\tvoid (*get_rx_header_len)(struct dma_desc *, unsigned int *);\n\tvoid (*set_sec_addr)(struct dma_desc *, dma_addr_t, bool);\n\tvoid (*set_sarc)(struct dma_desc *, u32);\n\tvoid (*set_vlan_tag)(struct dma_desc *, u16, u16, u32);\n\tvoid (*set_vlan)(struct dma_desc *, u32);\n\tvoid (*set_tbs)(struct dma_edesc *, u32, u32);\n};\n\nstruct stmmac_dma_cfg {\n\tint pbl;\n\tint txpbl;\n\tint rxpbl;\n\tbool pblx8;\n\tint fixed_burst;\n\tint mixed_burst;\n\tbool aal;\n\tbool eame;\n\tbool multi_msi_en;\n\tbool dche;\n\tbool atds;\n};\n\nstruct stmmac_rx_buffer;\n\nstruct stmmac_rx_queue {\n\tu32 rx_count_frames;\n\tu32 queue_index;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct xsk_buff_pool *xsk_pool;\n\tstruct page_pool *page_pool;\n\tstruct stmmac_rx_buffer *buf_pool;\n\tstruct stmmac_priv *priv_data;\n\tstruct dma_extended_desc *dma_erx;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct dma_desc *dma_rx;\n\tunsigned int cur_rx;\n\tunsigned int dirty_rx;\n\tunsigned int buf_alloc_num;\n\tunsigned int napi_skb_frag_size;\n\tdma_addr_t dma_rx_phy;\n\tu32 rx_tail_addr;\n\tunsigned int state_saved;\n\tstruct {\n\t\tstruct sk_buff *skb;\n\t\tunsigned int len;\n\t\tunsigned int error;\n\t} state;\n\tlong: 64;\n};\n\nstruct stmmac_tx_info;\n\nstruct stmmac_tx_queue {\n\tu32 tx_count_frames;\n\tint tbs;\n\tstruct hrtimer txtimer;\n\tu32 queue_index;\n\tstruct stmmac_priv *priv_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct dma_extended_desc *dma_etx;\n\tstruct dma_edesc *dma_entx;\n\tstruct dma_desc *dma_tx;\n\tunion {\n\t\tstruct sk_buff **tx_skbuff;\n\t\tstruct xdp_frame **xdpf;\n\t};\n\tstruct stmmac_tx_info *tx_skbuff_dma;\n\tstruct xsk_buff_pool *xsk_pool;\n\tu32 xsk_frames_done;\n\tunsigned int cur_tx;\n\tunsigned int dirty_tx;\n\tdma_addr_t dma_tx_phy;\n\tdma_addr_t tx_tail_addr;\n\tu32 mss;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct stmmac_dma_conf {\n\tunsigned int dma_buf_sz;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct stmmac_rx_queue rx_queue[8];\n\tunsigned int dma_rx_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct stmmac_tx_queue tx_queue[8];\n\tunsigned int dma_tx_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct stmmac_dma_ops {\n\tint (*reset)(void *);\n\tvoid (*init)(void *, struct stmmac_dma_cfg *);\n\tvoid (*init_chan)(struct stmmac_priv *, void *, struct stmmac_dma_cfg *, u32);\n\tvoid (*init_rx_chan)(struct stmmac_priv *, void *, struct stmmac_dma_cfg *, dma_addr_t, u32);\n\tvoid (*init_tx_chan)(struct stmmac_priv *, void *, struct stmmac_dma_cfg *, dma_addr_t, u32);\n\tvoid (*axi)(void *, struct stmmac_axi *);\n\tvoid (*dump_regs)(struct stmmac_priv *, void *, u32 *);\n\tvoid (*dma_rx_mode)(struct stmmac_priv *, void *, int, u32, int, u8);\n\tvoid (*dma_tx_mode)(struct stmmac_priv *, void *, int, u32, int, u8);\n\tvoid (*dma_diagnostic_fr)(struct stmmac_extra_stats *, void *);\n\tvoid (*enable_dma_transmission)(void *, u32);\n\tvoid (*enable_dma_irq)(struct stmmac_priv *, void *, u32, bool, bool);\n\tvoid (*disable_dma_irq)(struct stmmac_priv *, void *, u32, bool, bool);\n\tvoid (*start_tx)(struct stmmac_priv *, void *, u32);\n\tvoid (*stop_tx)(struct stmmac_priv *, void *, u32);\n\tvoid (*start_rx)(struct stmmac_priv *, void *, u32);\n\tvoid (*stop_rx)(struct stmmac_priv *, void *, u32);\n\tint (*dma_interrupt)(struct stmmac_priv *, void *, struct stmmac_extra_stats *, u32, u32);\n\tint (*get_hw_feature)(void *, struct dma_features *);\n\tvoid (*rx_watchdog)(struct stmmac_priv *, void *, u32, u32);\n\tvoid (*set_tx_ring_len)(struct stmmac_priv *, void *, u32, u32);\n\tvoid (*set_rx_ring_len)(struct stmmac_priv *, void *, u32, u32);\n\tvoid (*set_rx_tail_ptr)(struct stmmac_priv *, void *, u32, u32);\n\tvoid (*set_tx_tail_ptr)(struct stmmac_priv *, void *, u32, u32);\n\tvoid (*enable_tso)(struct stmmac_priv *, void *, bool, u32);\n\tvoid (*qmode)(struct stmmac_priv *, void *, u32, u8);\n\tvoid (*set_bfsize)(struct stmmac_priv *, void *, int, u32);\n\tvoid (*enable_sph)(struct stmmac_priv *, void *, bool, u32);\n\tint (*enable_tbs)(struct stmmac_priv *, void *, bool, u32);\n};\n\nstruct stmmac_est {\n\tint enable;\n\tu32 btr_reserve[2];\n\tu32 btr_offset[2];\n\tu32 btr[2];\n\tu32 ctr[2];\n\tu32 ter;\n\tu32 gcl_unaligned[1024];\n\tu32 gcl[1024];\n\tu32 gcl_size;\n\tu32 max_sdu[8];\n};\n\nstruct stmmac_est_ops {\n\tint (*configure)(struct stmmac_priv *, struct stmmac_est *, unsigned int);\n\tvoid (*irq_status)(struct stmmac_priv *, struct net_device *, struct stmmac_extra_stats *, u32);\n};\n\nstruct stmmac_q_tx_stats {\n\tu64_stats_t tx_bytes;\n\tu64_stats_t tx_set_ic_bit;\n\tu64_stats_t tx_tso_frames;\n\tu64_stats_t tx_tso_nfrags;\n};\n\nstruct stmmac_napi_tx_stats {\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_pkt_n;\n\tu64_stats_t poll;\n\tu64_stats_t tx_clean;\n\tu64_stats_t tx_set_ic_bit;\n};\n\nstruct stmmac_txq_stats {\n\tstruct u64_stats_sync q_syncp;\n\tstruct stmmac_q_tx_stats q;\n\tstruct u64_stats_sync napi_syncp;\n\tstruct stmmac_napi_tx_stats napi;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct stmmac_napi_rx_stats {\n\tu64_stats_t rx_bytes;\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_pkt_n;\n\tu64_stats_t poll;\n};\n\nstruct stmmac_rxq_stats {\n\tstruct u64_stats_sync napi_syncp;\n\tstruct stmmac_napi_rx_stats napi;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct stmmac_pcpu_stats;\n\nstruct stmmac_extra_stats {\n\tlong unsigned int tx_underflow;\n\tlong unsigned int tx_carrier;\n\tlong unsigned int tx_losscarrier;\n\tlong unsigned int vlan_tag;\n\tlong unsigned int tx_deferred;\n\tlong unsigned int tx_vlan;\n\tlong unsigned int tx_jabber;\n\tlong unsigned int tx_frame_flushed;\n\tlong unsigned int tx_payload_error;\n\tlong unsigned int tx_ip_header_error;\n\tlong unsigned int tx_collision;\n\tlong unsigned int rx_desc;\n\tlong unsigned int sa_filter_fail;\n\tlong unsigned int overflow_error;\n\tlong unsigned int ipc_csum_error;\n\tlong unsigned int rx_collision;\n\tlong unsigned int rx_crc_errors;\n\tlong unsigned int dribbling_bit;\n\tlong unsigned int rx_length;\n\tlong unsigned int rx_mii;\n\tlong unsigned int rx_multicast;\n\tlong unsigned int rx_gmac_overflow;\n\tlong unsigned int rx_watchdog;\n\tlong unsigned int da_rx_filter_fail;\n\tlong unsigned int sa_rx_filter_fail;\n\tlong unsigned int rx_missed_cntr;\n\tlong unsigned int rx_overflow_cntr;\n\tlong unsigned int rx_vlan;\n\tlong unsigned int rx_split_hdr_pkt_n;\n\tlong unsigned int tx_undeflow_irq;\n\tlong unsigned int tx_process_stopped_irq;\n\tlong unsigned int tx_jabber_irq;\n\tlong unsigned int rx_overflow_irq;\n\tlong unsigned int rx_buf_unav_irq;\n\tlong unsigned int rx_process_stopped_irq;\n\tlong unsigned int rx_watchdog_irq;\n\tlong unsigned int tx_early_irq;\n\tlong unsigned int fatal_bus_error_irq;\n\tlong unsigned int rx_early_irq;\n\tlong unsigned int threshold;\n\tlong unsigned int irq_receive_pmt_irq_n;\n\tlong unsigned int mmc_tx_irq_n;\n\tlong unsigned int mmc_rx_irq_n;\n\tlong unsigned int mmc_rx_csum_offload_irq_n;\n\tlong unsigned int irq_tx_path_in_lpi_mode_n;\n\tlong unsigned int irq_tx_path_exit_lpi_mode_n;\n\tlong unsigned int irq_rx_path_in_lpi_mode_n;\n\tlong unsigned int irq_rx_path_exit_lpi_mode_n;\n\tlong unsigned int phy_eee_wakeup_error_n;\n\tlong unsigned int ip_hdr_err;\n\tlong unsigned int ip_payload_err;\n\tlong unsigned int ip_csum_bypassed;\n\tlong unsigned int ipv4_pkt_rcvd;\n\tlong unsigned int ipv6_pkt_rcvd;\n\tlong unsigned int no_ptp_rx_msg_type_ext;\n\tlong unsigned int ptp_rx_msg_type_sync;\n\tlong unsigned int ptp_rx_msg_type_follow_up;\n\tlong unsigned int ptp_rx_msg_type_delay_req;\n\tlong unsigned int ptp_rx_msg_type_delay_resp;\n\tlong unsigned int ptp_rx_msg_type_pdelay_req;\n\tlong unsigned int ptp_rx_msg_type_pdelay_resp;\n\tlong unsigned int ptp_rx_msg_type_pdelay_follow_up;\n\tlong unsigned int ptp_rx_msg_type_announce;\n\tlong unsigned int ptp_rx_msg_type_management;\n\tlong unsigned int ptp_rx_msg_pkt_reserved_type;\n\tlong unsigned int ptp_frame_type;\n\tlong unsigned int ptp_ver;\n\tlong unsigned int timestamp_dropped;\n\tlong unsigned int av_pkt_rcvd;\n\tlong unsigned int av_tagged_pkt_rcvd;\n\tlong unsigned int vlan_tag_priority_val;\n\tlong unsigned int l3_filter_match;\n\tlong unsigned int l4_filter_match;\n\tlong unsigned int l3_l4_filter_no_match;\n\tlong unsigned int irq_pcs_ane_n;\n\tlong unsigned int irq_pcs_link_n;\n\tlong unsigned int irq_rgmii_n;\n\tlong unsigned int pcs_link;\n\tlong unsigned int pcs_duplex;\n\tlong unsigned int pcs_speed;\n\tlong unsigned int mtl_tx_status_fifo_full;\n\tlong unsigned int mtl_tx_fifo_not_empty;\n\tlong unsigned int mmtl_fifo_ctrl;\n\tlong unsigned int mtl_tx_fifo_read_ctrl_write;\n\tlong unsigned int mtl_tx_fifo_read_ctrl_wait;\n\tlong unsigned int mtl_tx_fifo_read_ctrl_read;\n\tlong unsigned int mtl_tx_fifo_read_ctrl_idle;\n\tlong unsigned int mac_tx_in_pause;\n\tlong unsigned int mac_tx_frame_ctrl_xfer;\n\tlong unsigned int mac_tx_frame_ctrl_idle;\n\tlong unsigned int mac_tx_frame_ctrl_wait;\n\tlong unsigned int mac_tx_frame_ctrl_pause;\n\tlong unsigned int mac_gmii_tx_proto_engine;\n\tlong unsigned int mtl_rx_fifo_fill_level_full;\n\tlong unsigned int mtl_rx_fifo_fill_above_thresh;\n\tlong unsigned int mtl_rx_fifo_fill_below_thresh;\n\tlong unsigned int mtl_rx_fifo_fill_level_empty;\n\tlong unsigned int mtl_rx_fifo_read_ctrl_flush;\n\tlong unsigned int mtl_rx_fifo_read_ctrl_read_data;\n\tlong unsigned int mtl_rx_fifo_read_ctrl_status;\n\tlong unsigned int mtl_rx_fifo_read_ctrl_idle;\n\tlong unsigned int mtl_rx_fifo_ctrl_active;\n\tlong unsigned int mac_rx_frame_ctrl_fifo;\n\tlong unsigned int mac_gmii_rx_proto_engine;\n\tlong unsigned int mtl_est_cgce;\n\tlong unsigned int mtl_est_hlbs;\n\tlong unsigned int mtl_est_hlbf;\n\tlong unsigned int mtl_est_btre;\n\tlong unsigned int mtl_est_btrlm;\n\tlong unsigned int max_sdu_txq_drop[8];\n\tlong unsigned int mtl_est_txq_hlbf[8];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct stmmac_txq_stats txq_stats[8];\n\tstruct stmmac_rxq_stats rxq_stats[8];\n\tstruct stmmac_pcpu_stats *pcpu_stats;\n\tlong unsigned int rx_dropped;\n\tlong unsigned int rx_errors;\n\tlong unsigned int tx_dropped;\n\tlong unsigned int tx_errors;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct stmmac_flow_entry {\n\tlong unsigned int cookie;\n\tlong unsigned int action;\n\tu8 ip_proto;\n\tint in_use;\n\tint idx;\n\tint is_l4;\n};\n\nstruct stmmac_fpe_reg;\n\nstruct stmmac_fpe_cfg {\n\tspinlock_t lock;\n\tconst struct stmmac_fpe_reg *reg;\n\tu32 fpe_csr;\n\tenum ethtool_mm_verify_status status;\n\tstruct timer_list verify_timer;\n\tbool verify_enabled;\n\tint verify_retries;\n\tbool pmac_enabled;\n\tu32 verify_time;\n\tbool tx_enabled;\n};\n\nstruct stmmac_fpe_reg {\n\tconst u32 mac_fpe_reg;\n\tconst u32 mtl_fpe_reg;\n\tconst u32 rxq_ctrl1_reg;\n\tconst u32 fprq_mask;\n\tconst u32 int_en_reg;\n\tconst u32 int_en_bit;\n};\n\nstruct stmmac_regs_off {\n\tconst struct stmmac_fpe_reg *fpe_reg;\n\tu32 ptp_off;\n\tu32 mmc_off;\n\tu32 est_off;\n};\n\nstruct stmmac_hwif_entry {\n\tbool gmac;\n\tbool gmac4;\n\tbool xgmac;\n\tu32 min_id;\n\tu32 dev_id;\n\tconst struct stmmac_regs_off regs;\n\tconst void *desc;\n\tconst void *dma;\n\tconst void *mac;\n\tconst void *hwtimestamp;\n\tconst void *ptp;\n\tconst void *mode;\n\tconst void *tc;\n\tconst void *mmc;\n\tconst void *est;\n\tint (*setup)(struct stmmac_priv *);\n\tint (*quirks)(struct stmmac_priv *);\n};\n\nstruct stmmac_hwtimestamp {\n\tvoid (*config_hw_tstamping)(void *, u32);\n\tvoid (*config_sub_second_increment)(void *, u32, int, u32 *);\n\tint (*init_systime)(void *, u32, u32);\n\tint (*config_addend)(void *, u32);\n\tint (*adjust_systime)(void *, u32, u32, int, int);\n\tvoid (*get_systime)(void *, u64 *);\n\tvoid (*get_ptptime)(void *, u64 *);\n\tvoid (*timestamp_interrupt)(struct stmmac_priv *);\n\tvoid (*hwtstamp_correct_latency)(struct stmmac_priv *);\n};\n\nstruct stmmac_mdio_bus_data {\n\tunsigned int phy_mask;\n\tunsigned int pcs_mask;\n\tunsigned int default_an_inband;\n\tint *irqs;\n\tint probed_phy_irq;\n\tbool needs_reset;\n};\n\nstruct stmmac_metadata_request {\n\tstruct stmmac_priv *priv;\n\tstruct dma_desc *tx_desc;\n\tbool *set_ic;\n};\n\nstruct stmmac_mmc_ops {\n\tvoid (*ctrl)(void *, unsigned int);\n\tvoid (*intr_all_mask)(void *);\n\tvoid (*read)(void *, struct stmmac_counters *);\n};\n\nstruct stmmac_mode_ops {\n\tvoid (*init)(void *, dma_addr_t, unsigned int, unsigned int);\n\tunsigned int (*is_jumbo_frm)(int, int);\n\tint (*jumbo_frm)(struct stmmac_tx_queue *, struct sk_buff *, int);\n\tint (*set_16kib_bfsize)(int);\n\tvoid (*init_desc3)(struct dma_desc *);\n\tvoid (*refill_desc3)(struct stmmac_rx_queue *, struct dma_desc *);\n\tvoid (*clean_desc3)(struct stmmac_tx_queue *, struct dma_desc *);\n};\n\nstruct stmmac_safety_stats;\n\nstruct stmmac_tc_entry;\n\nstruct stmmac_pps_cfg;\n\nstruct stmmac_rss;\n\nstruct stmmac_ops {\n\tvoid (*core_init)(struct mac_device_info *, struct net_device *);\n\tvoid (*update_caps)(struct stmmac_priv *);\n\tvoid (*set_mac)(void *, bool);\n\tint (*rx_ipc)(struct mac_device_info *);\n\tvoid (*rx_queue_enable)(struct mac_device_info *, u8, u32);\n\tvoid (*rx_queue_prio)(struct mac_device_info *, u32, u32);\n\tvoid (*tx_queue_prio)(struct mac_device_info *, u32, u32);\n\tvoid (*rx_queue_routing)(struct mac_device_info *, u8, u32);\n\tvoid (*prog_mtl_rx_algorithms)(struct mac_device_info *, u32);\n\tvoid (*prog_mtl_tx_algorithms)(struct mac_device_info *, u32);\n\tvoid (*set_mtl_tx_queue_weight)(struct stmmac_priv *, struct mac_device_info *, u32, u32);\n\tvoid (*map_mtl_to_dma)(struct mac_device_info *, u32, u32);\n\tvoid (*config_cbs)(struct stmmac_priv *, struct mac_device_info *, u32, u32, u32, u32, u32);\n\tvoid (*dump_regs)(struct mac_device_info *, u32 *);\n\tint (*host_irq_status)(struct mac_device_info *, struct stmmac_extra_stats *);\n\tint (*host_mtl_irq_status)(struct stmmac_priv *, struct mac_device_info *, u32);\n\tvoid (*set_filter)(struct mac_device_info *, struct net_device *);\n\tvoid (*flow_ctrl)(struct mac_device_info *, unsigned int, unsigned int, unsigned int, u32);\n\tvoid (*pmt)(struct mac_device_info *, long unsigned int);\n\tvoid (*set_umac_addr)(struct mac_device_info *, const unsigned char *, unsigned int);\n\tvoid (*get_umac_addr)(struct mac_device_info *, unsigned char *, unsigned int);\n\tvoid (*set_eee_mode)(struct mac_device_info *, bool);\n\tvoid (*reset_eee_mode)(struct mac_device_info *);\n\tvoid (*set_eee_lpi_entry_timer)(struct mac_device_info *, u32);\n\tvoid (*set_eee_timer)(struct mac_device_info *, int, int);\n\tvoid (*set_eee_pls)(struct mac_device_info *, int);\n\tvoid (*debug)(struct stmmac_priv *, void *, struct stmmac_extra_stats *, u32, u32);\n\tvoid (*pcs_ctrl_ane)(void *, bool, bool, bool);\n\tvoid (*pcs_get_adv_lp)(void *, struct rgmii_adv *);\n\tint (*safety_feat_config)(void *, unsigned int, struct stmmac_safety_feature_cfg *);\n\tint (*safety_feat_irq_status)(struct net_device *, void *, unsigned int, struct stmmac_safety_stats *);\n\tint (*safety_feat_dump)(struct stmmac_safety_stats *, int, long unsigned int *, const char **);\n\tint (*rxp_config)(void *, struct stmmac_tc_entry *, unsigned int);\n\tint (*flex_pps_config)(void *, int, struct stmmac_pps_cfg *, bool, u32, u32);\n\tvoid (*set_mac_loopback)(void *, bool);\n\tint (*rss_configure)(struct mac_device_info *, struct stmmac_rss *, u32);\n\tvoid (*update_vlan_hash)(struct mac_device_info *, u32, u16, bool);\n\tvoid (*enable_vlan)(struct mac_device_info *, u32);\n\tvoid (*rx_hw_vlan)(struct mac_device_info *, struct dma_desc *, struct sk_buff *);\n\tvoid (*set_hw_vlan_mode)(struct mac_device_info *);\n\tint (*add_hw_vlan_rx_fltr)(struct net_device *, struct mac_device_info *, __be16, u16);\n\tint (*del_hw_vlan_rx_fltr)(struct net_device *, struct mac_device_info *, __be16, u16);\n\tvoid (*restore_hw_vlan_rx_fltr)(struct net_device *, struct mac_device_info *);\n\tint (*get_mac_tx_timestamp)(struct mac_device_info *, u64 *);\n\tvoid (*sarc_configure)(void *, int);\n\tint (*config_l3_filter)(struct mac_device_info *, u32, bool, bool, bool, bool, u32);\n\tint (*config_l4_filter)(struct mac_device_info *, u32, bool, bool, bool, bool, u32);\n\tvoid (*set_arp_offload)(struct mac_device_info *, bool, u32);\n\tint (*fpe_map_preemption_class)(struct net_device *, struct netlink_ext_ack *, u32);\n};\n\nstruct stmmac_pci_info {\n\tint (*setup)(struct pci_dev *, struct plat_stmmacenet_data *);\n};\n\nstruct stmmac_pcpu_stats {\n\tstruct u64_stats_sync syncp;\n\tu64_stats_t rx_normal_irq_n[8];\n\tu64_stats_t tx_normal_irq_n[8];\n};\n\nstruct stmmac_pps_cfg {\n\tbool available;\n\tstruct timespec64 start;\n\tstruct timespec64 period;\n};\n\nstruct stmmac_safety_stats {\n\tlong unsigned int mac_errors[32];\n\tlong unsigned int mtl_errors[32];\n\tlong unsigned int dma_errors[32];\n\tlong unsigned int dma_dpp_errors[32];\n};\n\nstruct stmmac_rss {\n\tint enable;\n\tu8 key[40];\n\tu32 table[256];\n};\n\nstruct stmmac_rfs_entry;\n\nstruct stmmac_priv {\n\tu32 tx_coal_frames[8];\n\tu32 tx_coal_timer[8];\n\tu32 rx_coal_frames[8];\n\tint hwts_tx_en;\n\tbool tx_path_in_lpi_mode;\n\tbool tso;\n\tint sph;\n\tint sph_cap;\n\tu32 sarc_type;\n\tu32 rx_riwt[8];\n\tint hwts_rx_en;\n\tvoid *ioaddr;\n\tstruct net_device *dev;\n\tstruct device *device;\n\tstruct mac_device_info *hw;\n\tint (*hwif_quirks)(struct stmmac_priv *);\n\tstruct mutex lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct stmmac_dma_conf dma_conf;\n\tstruct stmmac_channel channel[8];\n\tint speed;\n\tunsigned int flow_ctrl;\n\tunsigned int pause;\n\tstruct mii_bus *mii;\n\tstruct phylink_config phylink_config;\n\tstruct phylink *phylink;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct stmmac_extra_stats xstats;\n\tstruct stmmac_safety_stats sstats;\n\tstruct plat_stmmacenet_data *plat;\n\tstruct mutex est_lock;\n\tstruct stmmac_est *est;\n\tstruct dma_features dma_cap;\n\tstruct stmmac_counters mmc;\n\tint hw_cap_support;\n\tint synopsys_id;\n\tu32 msg_enable;\n\tint wolopts;\n\tint wol_irq;\n\tbool wol_irq_disabled;\n\tint clk_csr;\n\tstruct timer_list eee_ctrl_timer;\n\tint lpi_irq;\n\tu32 tx_lpi_timer;\n\tbool eee_enabled;\n\tbool eee_active;\n\tbool eee_sw_timer_en;\n\tunsigned int mode;\n\tunsigned int chain_mode;\n\tint extend_desc;\n\tstruct hwtstamp_config tstamp_config;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_ops;\n\tunsigned int default_addend;\n\tu32 sub_second_inc;\n\tu32 systime_flags;\n\tu32 adv_ts;\n\tint use_riwt;\n\tint irq_wake;\n\trwlock_t ptp_lock;\n\tstruct mutex aux_ts_lock;\n\twait_queue_head_t tstamp_busy_wait;\n\tvoid *mmcaddr;\n\tvoid *ptpaddr;\n\tvoid *estaddr;\n\tlong unsigned int active_vlans[64];\n\tint sfty_irq;\n\tint sfty_ce_irq;\n\tint sfty_ue_irq;\n\tint rx_irq[8];\n\tint tx_irq[8];\n\tchar int_name_mac[25];\n\tchar int_name_wol[25];\n\tchar int_name_lpi[25];\n\tchar int_name_sfty[26];\n\tchar int_name_sfty_ce[26];\n\tchar int_name_sfty_ue[26];\n\tchar int_name_rx_irq[240];\n\tchar int_name_tx_irq[272];\n\tstruct dentry *dbgfs_dir;\n\tlong unsigned int state;\n\tstruct workqueue_struct *wq;\n\tstruct work_struct service_task;\n\tstruct stmmac_fpe_cfg fpe_cfg;\n\tunsigned int tc_entries_max;\n\tunsigned int tc_off_max;\n\tstruct stmmac_tc_entry *tc_entries;\n\tunsigned int flow_entries_max;\n\tstruct stmmac_flow_entry *flow_entries;\n\tunsigned int rfs_entries_max[3];\n\tunsigned int rfs_entries_cnt[3];\n\tunsigned int rfs_entries_total;\n\tstruct stmmac_rfs_entry *rfs_entries;\n\tstruct stmmac_pps_cfg pps[4];\n\tstruct stmmac_rss rss;\n\tlong unsigned int *af_xdp_zc_qps;\n\tstruct bpf_prog *xdp_prog;\n\tlong: 64;\n};\n\nstruct stmmac_resources {\n\tvoid *addr;\n\tu8 mac[6];\n\tint wol_irq;\n\tint lpi_irq;\n\tint irq;\n\tint sfty_irq;\n\tint sfty_ce_irq;\n\tint sfty_ue_irq;\n\tint rx_irq[8];\n\tint tx_irq[8];\n};\n\nstruct stmmac_rfs_entry {\n\tlong unsigned int cookie;\n\tu16 etype;\n\tint in_use;\n\tint type;\n\tint tc;\n};\n\nstruct stmmac_rx_buffer {\n\tunion {\n\t\tstruct {\n\t\t\tstruct page *page;\n\t\t\tdma_addr_t addr;\n\t\t\t__u32 page_offset;\n\t\t};\n\t\tstruct xdp_buff *xdp;\n\t};\n\tstruct page *sec_page;\n\tdma_addr_t sec_addr;\n};\n\nstruct stmmac_rx_routing {\n\tu32 reg_mask;\n\tu32 reg_shift;\n};\n\nstruct stmmac_safety_feature_cfg {\n\tu32 tsoee;\n\tu32 mrxpee;\n\tu32 mestee;\n\tu32 mrxee;\n\tu32 mtxee;\n\tu32 epsi;\n\tu32 edpp;\n\tu32 prtyen;\n\tu32 tmouten;\n};\n\nstruct stmmac_stats {\n\tchar stat_string[32];\n\tint sizeof_stat;\n\tint stat_offset;\n};\n\nstruct stmmac_tc_entry {\n\tbool in_use;\n\tbool in_hw;\n\tbool is_last;\n\tbool is_frag;\n\tvoid *frag_ptr;\n\tunsigned int table_pos;\n\tu32 handle;\n\tu32 prio;\n\tstruct {\n\t\tu32 match_data;\n\t\tu32 match_en;\n\t\tu8 af: 1;\n\t\tu8 rf: 1;\n\t\tu8 im: 1;\n\t\tu8 nc: 1;\n\t\tu8 res1: 4;\n\t\tu8 frame_offset;\n\t\tu8 ok_index;\n\t\tu8 dma_ch_no;\n\t\tu32 res2;\n\t} val;\n};\n\nstruct tc_cls_u32_offload;\n\nstruct tc_cbs_qopt_offload;\n\nstruct tc_taprio_qopt_offload;\n\nstruct tc_etf_qopt_offload;\n\nstruct tc_query_caps_base;\n\nstruct tc_mqprio_qopt_offload;\n\nstruct stmmac_tc_ops {\n\tint (*init)(struct stmmac_priv *);\n\tint (*setup_cls_u32)(struct stmmac_priv *, struct tc_cls_u32_offload *);\n\tint (*setup_cbs)(struct stmmac_priv *, struct tc_cbs_qopt_offload *);\n\tint (*setup_cls)(struct stmmac_priv *, struct flow_cls_offload *);\n\tint (*setup_taprio)(struct stmmac_priv *, struct tc_taprio_qopt_offload *);\n\tint (*setup_etf)(struct stmmac_priv *, struct tc_etf_qopt_offload *);\n\tint (*query_caps)(struct stmmac_priv *, struct tc_query_caps_base *);\n\tint (*setup_mqprio)(struct stmmac_priv *, struct tc_mqprio_qopt_offload *);\n};\n\nstruct stmmac_tx_info {\n\tdma_addr_t buf;\n\tbool map_as_page;\n\tunsigned int len;\n\tbool last_segment;\n\tbool is_jumbo;\n\tenum stmmac_txbuf_type buf_type;\n\tstruct xsk_tx_metadata_compl xsk_meta;\n};\n\nstruct stmmac_xdp_buff {\n\tstruct xdp_buff xdp;\n\tstruct stmmac_priv *priv;\n\tstruct dma_desc *desc;\n\tstruct dma_desc *ndesc;\n};\n\nstruct stmmac_xsk_tx_complete {\n\tstruct stmmac_priv *priv;\n\tstruct dma_desc *desc;\n};\n\nstruct stop_event_data {\n\tstruct perf_event *event;\n\tunsigned int restart;\n};\n\nstruct strarray {\n\tchar **array;\n\tsize_t n;\n};\n\nstruct stripe {\n\tstruct dm_dev *dev;\n\tsector_t physical_start;\n\tatomic_t error_count;\n};\n\nstruct stripe_c {\n\tuint32_t stripes;\n\tint stripes_shift;\n\tsector_t stripe_width;\n\tuint32_t chunk_size;\n\tint chunk_size_shift;\n\tstruct dm_target *ti;\n\tstruct work_struct trigger_event;\n\tstruct stripe stripe[0];\n};\n\nstruct strset_info {\n\tbool per_dev;\n\tbool free_strings;\n\tunsigned int count;\n\tconst char (*strings)[32];\n};\n\nstruct strset_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct strset_info sets[23];\n};\n\nstruct strset_req_info {\n\tstruct ethnl_req_info base;\n\tu32 req_ids;\n\tbool counts_only;\n};\n\nstruct subflow_send_info {\n\tstruct sock *ssk;\n\tu64 linger_time;\n};\n\nstruct subprocess_info {\n\tstruct work_struct work;\n\tstruct completion *complete;\n\tconst char *path;\n\tchar **argv;\n\tchar **envp;\n\tint wait;\n\tint retval;\n\tint (*init)(struct subprocess_info *, struct cred *);\n\tvoid (*cleanup)(struct subprocess_info *);\n\tvoid *data;\n};\n\nstruct subsys_dev_iter {\n\tstruct klist_iter ki;\n\tconst struct device_type *type;\n};\n\nstruct subsys_interface {\n\tconst char *name;\n\tconst struct bus_type *subsys;\n\tstruct list_head node;\n\tint (*add_dev)(struct device *, struct subsys_interface *);\n\tvoid (*remove_dev)(struct device *, struct subsys_interface *);\n};\n\nstruct subsys_private {\n\tstruct kset subsys;\n\tstruct kset *devices_kset;\n\tstruct list_head interfaces;\n\tstruct mutex mutex;\n\tstruct kset *drivers_kset;\n\tstruct klist klist_devices;\n\tstruct klist klist_drivers;\n\tstruct blocking_notifier_head bus_notifier;\n\tunsigned int drivers_autoprobe: 1;\n\tconst struct bus_type *bus;\n\tstruct device *dev_root;\n\tstruct kset glue_dirs;\n\tconst struct class *class;\n\tstruct lock_class_key lock_key;\n};\n\nstruct sugov_policy;\n\nstruct sugov_cpu {\n\tstruct update_util_data update_util;\n\tstruct sugov_policy *sg_policy;\n\tunsigned int cpu;\n\tbool iowait_boost_pending;\n\tunsigned int iowait_boost;\n\tu64 last_update;\n\tlong unsigned int util;\n\tlong unsigned int bw_min;\n\tlong unsigned int saved_idle_calls;\n};\n\nstruct sugov_tunables;\n\nstruct sugov_policy {\n\tstruct cpufreq_policy *policy;\n\tstruct sugov_tunables *tunables;\n\tstruct list_head tunables_hook;\n\traw_spinlock_t update_lock;\n\tu64 last_freq_update_time;\n\ts64 freq_update_delay_ns;\n\tunsigned int next_freq;\n\tunsigned int cached_raw_freq;\n\tstruct irq_work irq_work;\n\tstruct kthread_work work;\n\tstruct mutex work_lock;\n\tstruct kthread_worker worker;\n\tstruct task_struct *thread;\n\tbool work_in_progress;\n\tbool limits_changed;\n\tbool need_freq_update;\n};\n\nstruct sugov_tunables {\n\tstruct gov_attr_set attr_set;\n\tunsigned int rate_limit_us;\n};\n\nstruct sunrpc_net {\n\tstruct proc_dir_entry *proc_net_rpc;\n\tstruct cache_detail *ip_map_cache;\n\tstruct cache_detail *unix_gid_cache;\n\tstruct cache_detail *rsc_cache;\n\tstruct cache_detail *rsi_cache;\n\tstruct super_block *pipefs_sb;\n\tstruct rpc_pipe *gssd_dummy;\n\tstruct mutex pipefs_sb_lock;\n\tstruct list_head all_clients;\n\tspinlock_t rpc_client_lock;\n\tstruct rpc_clnt *rpcb_local_clnt;\n\tstruct rpc_clnt *rpcb_local_clnt4;\n\tspinlock_t rpcb_clnt_lock;\n\tunsigned int rpcb_users;\n\tunsigned int rpcb_is_af_local: 1;\n\tstruct mutex gssp_lock;\n\tstruct rpc_clnt *gssp_clnt;\n\tint use_gss_proxy;\n\tint pipe_version;\n\tatomic_t pipe_users;\n\tstruct proc_dir_entry *use_gssp_proc;\n\tstruct proc_dir_entry *gss_krb5_enctypes;\n};\n\nstruct mtd_info;\n\nstruct super_block {\n\tstruct list_head s_list;\n\tdev_t s_dev;\n\tunsigned char s_blocksize_bits;\n\tlong unsigned int s_blocksize;\n\tloff_t s_maxbytes;\n\tstruct file_system_type *s_type;\n\tconst struct super_operations *s_op;\n\tconst struct dquot_operations *dq_op;\n\tconst struct quotactl_ops *s_qcop;\n\tconst struct export_operations *s_export_op;\n\tlong unsigned int s_flags;\n\tlong unsigned int s_iflags;\n\tlong unsigned int s_magic;\n\tstruct dentry *s_root;\n\tstruct rw_semaphore s_umount;\n\tint s_count;\n\tatomic_t s_active;\n\tvoid *s_security;\n\tconst struct xattr_handler * const *s_xattr;\n\tconst struct fscrypt_operations *s_cop;\n\tstruct fscrypt_keyring *s_master_keys;\n\tconst struct fsverity_operations *s_vop;\n\tstruct hlist_bl_head s_roots;\n\tstruct list_head s_mounts;\n\tstruct block_device *s_bdev;\n\tstruct file *s_bdev_file;\n\tstruct backing_dev_info *s_bdi;\n\tstruct mtd_info *s_mtd;\n\tstruct hlist_node s_instances;\n\tunsigned int s_quota_types;\n\tstruct quota_info s_dquot;\n\tstruct sb_writers s_writers;\n\tvoid *s_fs_info;\n\tu32 s_time_gran;\n\ttime64_t s_time_min;\n\ttime64_t s_time_max;\n\tu32 s_fsnotify_mask;\n\tstruct fsnotify_sb_info *s_fsnotify_info;\n\tchar s_id[32];\n\tuuid_t s_uuid;\n\tu8 s_uuid_len;\n\tchar s_sysfs_name[37];\n\tunsigned int s_max_links;\n\tstruct mutex s_vfs_rename_mutex;\n\tconst char *s_subtype;\n\tconst struct dentry_operations *s_d_op;\n\tstruct shrinker *s_shrink;\n\tatomic_long_t s_remove_count;\n\tint s_readonly_remount;\n\terrseq_t s_wb_err;\n\tstruct workqueue_struct *s_dio_done_wq;\n\tstruct hlist_head s_pins;\n\tstruct user_namespace *s_user_ns;\n\tstruct list_lru s_dentry_lru;\n\tstruct list_lru s_inode_lru;\n\tstruct callback_head rcu;\n\tstruct work_struct destroy_work;\n\tstruct mutex s_sync_lock;\n\tint s_stack_depth;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t s_inode_list_lock;\n\tstruct list_head s_inodes;\n\tspinlock_t s_inode_wblist_lock;\n\tstruct list_head s_inodes_wb;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct super_operations {\n\tstruct inode * (*alloc_inode)(struct super_block *);\n\tvoid (*destroy_inode)(struct inode *);\n\tvoid (*free_inode)(struct inode *);\n\tvoid (*dirty_inode)(struct inode *, int);\n\tint (*write_inode)(struct inode *, struct writeback_control *);\n\tint (*drop_inode)(struct inode *);\n\tvoid (*evict_inode)(struct inode *);\n\tvoid (*put_super)(struct super_block *);\n\tint (*sync_fs)(struct super_block *, int);\n\tint (*freeze_super)(struct super_block *, enum freeze_holder);\n\tint (*freeze_fs)(struct super_block *);\n\tint (*thaw_super)(struct super_block *, enum freeze_holder);\n\tint (*unfreeze_fs)(struct super_block *);\n\tint (*statfs)(struct dentry *, struct kstatfs *);\n\tint (*remount_fs)(struct super_block *, int *, char *);\n\tvoid (*umount_begin)(struct super_block *);\n\tint (*show_options)(struct seq_file *, struct dentry *);\n\tint (*show_devname)(struct seq_file *, struct dentry *);\n\tint (*show_path)(struct seq_file *, struct dentry *);\n\tint (*show_stats)(struct seq_file *, struct dentry *);\n\tssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);\n\tssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);\n\tstruct dquot ** (*get_dquots)(struct inode *);\n\tlong int (*nr_cached_objects)(struct super_block *, struct shrink_control *);\n\tlong int (*free_cached_objects)(struct super_block *, struct shrink_control *);\n\tvoid (*shutdown)(struct super_block *);\n};\n\nstruct superblock_security_struct {\n\tu32 sid;\n\tu32 def_sid;\n\tu32 mntpoint_sid;\n\tshort unsigned int behavior;\n\tshort unsigned int flags;\n\tstruct mutex lock;\n\tstruct list_head isec_head;\n\tspinlock_t isec_lock;\n};\n\nstruct superio_struct {\n\tint io;\n\tint irq;\n\tint dma;\n};\n\nstruct supplier_bindings {\n\tstruct device_node * (*parse_prop)(struct device_node *, const char *, int);\n\tstruct device_node * (*get_con_dev)(struct device_node *);\n\tbool optional;\n\tu8 fwlink_flags;\n};\n\nstruct suspend_stats {\n\tunsigned int step_failures[8];\n\tunsigned int success;\n\tunsigned int fail;\n\tint last_failed_dev;\n\tchar failed_devs[80];\n\tint last_failed_errno;\n\tint errno[2];\n\tint last_failed_step;\n\tu64 last_hw_sleep;\n\tu64 total_hw_sleep;\n\tu64 max_hw_sleep;\n\tenum suspend_stat_step failed_steps[2];\n};\n\nstruct svc_deferred_req {\n\tu32 prot;\n\tstruct svc_xprt *xprt;\n\tstruct __kernel_sockaddr_storage addr;\n\tsize_t addrlen;\n\tstruct __kernel_sockaddr_storage daddr;\n\tsize_t daddrlen;\n\tvoid *xprt_ctxt;\n\tstruct cache_deferred_req handle;\n\tint argslen;\n\t__be32 args[0];\n};\n\nstruct svc_expkey {\n\tstruct cache_head h;\n\tstruct auth_domain *ek_client;\n\tint ek_fsidtype;\n\tu32 ek_fsid[6];\n\tstruct path ek_path;\n\tstruct callback_head ek_rcu;\n};\n\nstruct svc_export {\n\tstruct cache_head h;\n\tstruct auth_domain *ex_client;\n\tint ex_flags;\n\tint ex_fsid;\n\tstruct path ex_path;\n\tkuid_t ex_anon_uid;\n\tkgid_t ex_anon_gid;\n\tunsigned char *ex_uuid;\n\tstruct nfsd4_fs_locations ex_fslocs;\n\tuint32_t ex_nflavors;\n\tstruct exp_flavor_info ex_flavors[8];\n\tu32 ex_layout_types;\n\tstruct nfsd4_deviceid_map *ex_devid_map;\n\tstruct cache_detail *cd;\n\tstruct callback_head ex_rcu;\n\tlong unsigned int ex_xprtsec_modes;\n\tstruct export_stats *ex_stats;\n};\n\nstruct svc_pool {\n\tunsigned int sp_id;\n\tstruct lwq sp_xprts;\n\tunsigned int sp_nrthreads;\n\tstruct list_head sp_all_threads;\n\tstruct llist_head sp_idle_threads;\n\tstruct percpu_counter sp_messages_arrived;\n\tstruct percpu_counter sp_sockets_queued;\n\tstruct percpu_counter sp_threads_woken;\n\tlong unsigned int sp_flags;\n};\n\nstruct svc_pool_map {\n\tint count;\n\tint mode;\n\tunsigned int npools;\n\tunsigned int *pool_to;\n\tunsigned int *to_pool;\n};\n\nstruct svc_procedure {\n\t__be32 (*pc_func)(struct svc_rqst *);\n\tbool (*pc_decode)(struct svc_rqst *, struct xdr_stream *);\n\tbool (*pc_encode)(struct svc_rqst *, struct xdr_stream *);\n\tvoid (*pc_release)(struct svc_rqst *);\n\tunsigned int pc_argsize;\n\tunsigned int pc_argzero;\n\tunsigned int pc_ressize;\n\tunsigned int pc_cachetype;\n\tunsigned int pc_xdrressize;\n\tconst char *pc_name;\n};\n\nstruct svc_process_info {\n\tunion {\n\t\tint (*dispatch)(struct svc_rqst *);\n\t\tstruct {\n\t\t\tunsigned int lovers;\n\t\t\tunsigned int hivers;\n\t\t} mismatch;\n\t};\n};\n\nstruct svc_version;\n\nstruct svc_program {\n\tu32 pg_prog;\n\tunsigned int pg_lovers;\n\tunsigned int pg_hivers;\n\tunsigned int pg_nvers;\n\tconst struct svc_version **pg_vers;\n\tchar *pg_name;\n\tchar *pg_class;\n\tenum svc_auth_status (*pg_authenticate)(struct svc_rqst *);\n\t__be32 (*pg_init_request)(struct svc_rqst *, const struct svc_program *, struct svc_process_info *);\n\tint (*pg_rpcbind_set)(struct net *, const struct svc_program *, u32, int, short unsigned int, short unsigned int);\n};\n\nstruct svc_rqst {\n\tstruct list_head rq_all;\n\tstruct llist_node rq_idle;\n\tstruct callback_head rq_rcu_head;\n\tstruct svc_xprt *rq_xprt;\n\tstruct __kernel_sockaddr_storage rq_addr;\n\tsize_t rq_addrlen;\n\tstruct __kernel_sockaddr_storage rq_daddr;\n\tsize_t rq_daddrlen;\n\tstruct svc_serv *rq_server;\n\tstruct svc_pool *rq_pool;\n\tconst struct svc_procedure *rq_procinfo;\n\tstruct auth_ops *rq_authop;\n\tstruct svc_cred rq_cred;\n\tvoid *rq_xprt_ctxt;\n\tstruct svc_deferred_req *rq_deferred;\n\tstruct xdr_buf rq_arg;\n\tstruct xdr_stream rq_arg_stream;\n\tstruct xdr_stream rq_res_stream;\n\tstruct page *rq_scratch_page;\n\tstruct xdr_buf rq_res;\n\tstruct page *rq_pages[68];\n\tstruct page **rq_respages;\n\tstruct page **rq_next_page;\n\tstruct page **rq_page_end;\n\tstruct folio_batch rq_fbatch;\n\tstruct kvec rq_vec[67];\n\tstruct bio_vec rq_bvec[67];\n\t__be32 rq_xid;\n\tu32 rq_prog;\n\tu32 rq_vers;\n\tu32 rq_proc;\n\tu32 rq_prot;\n\tint rq_cachetype;\n\tlong unsigned int rq_flags;\n\tktime_t rq_qtime;\n\tvoid *rq_argp;\n\tvoid *rq_resp;\n\t__be32 *rq_accept_statp;\n\tvoid *rq_auth_data;\n\t__be32 rq_auth_stat;\n\tint rq_auth_slack;\n\tint rq_reserved;\n\tktime_t rq_stime;\n\tstruct cache_req rq_chandle;\n\tstruct auth_domain *rq_client;\n\tstruct auth_domain *rq_gssclient;\n\tstruct task_struct *rq_task;\n\tstruct net *rq_bc_net;\n\tint rq_err;\n\tlong unsigned int bc_to_initval;\n\tunsigned int bc_to_retries;\n\tvoid **rq_lease_breaker;\n\tunsigned int rq_status_counter;\n};\n\nstruct svc_serv {\n\tstruct svc_program *sv_programs;\n\tstruct svc_stat *sv_stats;\n\tspinlock_t sv_lock;\n\tunsigned int sv_nprogs;\n\tunsigned int sv_nrthreads;\n\tunsigned int sv_max_payload;\n\tunsigned int sv_max_mesg;\n\tunsigned int sv_xdrsize;\n\tstruct list_head sv_permsocks;\n\tstruct list_head sv_tempsocks;\n\tint sv_tmpcnt;\n\tstruct timer_list sv_temptimer;\n\tchar *sv_name;\n\tunsigned int sv_nrpools;\n\tbool sv_is_pooled;\n\tstruct svc_pool *sv_pools;\n\tint (*sv_threadfn)(void *);\n\tstruct lwq sv_cb_list;\n\tbool sv_bc_enabled;\n};\n\nstruct svc_xprt_class;\n\nstruct svc_xprt_ops;\n\nstruct svc_xprt {\n\tstruct svc_xprt_class *xpt_class;\n\tconst struct svc_xprt_ops *xpt_ops;\n\tstruct kref xpt_ref;\n\tstruct list_head xpt_list;\n\tstruct lwq_node xpt_ready;\n\tlong unsigned int xpt_flags;\n\tstruct svc_serv *xpt_server;\n\tatomic_t xpt_reserved;\n\tatomic_t xpt_nr_rqsts;\n\tstruct mutex xpt_mutex;\n\tspinlock_t xpt_lock;\n\tvoid *xpt_auth_cache;\n\tstruct list_head xpt_deferred;\n\tstruct __kernel_sockaddr_storage xpt_local;\n\tsize_t xpt_locallen;\n\tstruct __kernel_sockaddr_storage xpt_remote;\n\tsize_t xpt_remotelen;\n\tchar xpt_remotebuf[58];\n\tstruct list_head xpt_users;\n\tstruct net *xpt_net;\n\tnetns_tracker ns_tracker;\n\tconst struct cred *xpt_cred;\n\tstruct rpc_xprt *xpt_bc_xprt;\n\tstruct rpc_xprt_switch *xpt_bc_xps;\n};\n\nstruct svc_sock {\n\tstruct svc_xprt sk_xprt;\n\tstruct socket *sk_sock;\n\tstruct sock *sk_sk;\n\tvoid (*sk_ostate)(struct sock *);\n\tvoid (*sk_odata)(struct sock *);\n\tvoid (*sk_owspace)(struct sock *);\n\t__be32 sk_marker;\n\tu32 sk_tcplen;\n\tu32 sk_datalen;\n\tstruct page_frag_cache sk_frag_cache;\n\tstruct completion sk_handshake_done;\n\tstruct page *sk_pages[67];\n};\n\nstruct svc_version {\n\tu32 vs_vers;\n\tu32 vs_nproc;\n\tconst struct svc_procedure *vs_proc;\n\tlong unsigned int *vs_count;\n\tu32 vs_xdrsize;\n\tbool vs_hidden;\n\tbool vs_rpcb_optnl;\n\tbool vs_need_cong_ctrl;\n\tint (*vs_dispatch)(struct svc_rqst *);\n};\n\nstruct svc_xprt_class {\n\tconst char *xcl_name;\n\tstruct module *xcl_owner;\n\tconst struct svc_xprt_ops *xcl_ops;\n\tstruct list_head xcl_list;\n\tu32 xcl_max_payload;\n\tint xcl_ident;\n};\n\nstruct svc_xprt_ops {\n\tstruct svc_xprt * (*xpo_create)(struct svc_serv *, struct net *, struct sockaddr *, int, int);\n\tstruct svc_xprt * (*xpo_accept)(struct svc_xprt *);\n\tint (*xpo_has_wspace)(struct svc_xprt *);\n\tint (*xpo_recvfrom)(struct svc_rqst *);\n\tint (*xpo_sendto)(struct svc_rqst *);\n\tint (*xpo_result_payload)(struct svc_rqst *, unsigned int, unsigned int);\n\tvoid (*xpo_release_ctxt)(struct svc_xprt *, void *);\n\tvoid (*xpo_detach)(struct svc_xprt *);\n\tvoid (*xpo_free)(struct svc_xprt *);\n\tvoid (*xpo_kill_temp_xprt)(struct svc_xprt *);\n\tvoid (*xpo_handshake)(struct svc_xprt *);\n};\n\nstruct svcxdr_tmpbuf {\n\tstruct svcxdr_tmpbuf *next;\n\tchar buf[0];\n};\n\nstruct swait_queue {\n\tstruct task_struct *task;\n\tstruct list_head task_list;\n};\n\nstruct swap_cgroup {\n\tatomic_t ids;\n};\n\nstruct swap_cgroup_ctrl {\n\tstruct swap_cgroup *map;\n};\n\nstruct swap_cluster_info {\n\tspinlock_t lock;\n\tu16 count;\n\tu8 flags;\n\tu8 order;\n\tstruct list_head list;\n};\n\nstruct swap_extent {\n\tstruct rb_node rb_node;\n\tlong unsigned int start_page;\n\tlong unsigned int nr_pages;\n\tsector_t start_block;\n};\n\nunion swap_header {\n\tstruct {\n\t\tchar reserved[16374];\n\t\tchar magic[10];\n\t} magic;\n\tstruct {\n\t\tchar bootbits[1024];\n\t\t__u32 version;\n\t\t__u32 last_page;\n\t\t__u32 nr_badpages;\n\t\tunsigned char sws_uuid[16];\n\t\tunsigned char sws_volume[16];\n\t\t__u32 padding[117];\n\t\t__u32 badpages[1];\n\t} info;\n};\n\nstruct swap_info_struct {\n\tstruct percpu_ref users;\n\tlong unsigned int flags;\n\tshort int prio;\n\tstruct plist_node list;\n\tsigned char type;\n\tunsigned int max;\n\tunsigned char *swap_map;\n\tlong unsigned int *zeromap;\n\tstruct swap_cluster_info *cluster_info;\n\tstruct list_head free_clusters;\n\tstruct list_head full_clusters;\n\tstruct list_head nonfull_clusters[12];\n\tstruct list_head frag_clusters[12];\n\tatomic_long_t frag_cluster_nr[12];\n\tunsigned int pages;\n\tatomic_long_t inuse_pages;\n\tstruct percpu_cluster *percpu_cluster;\n\tstruct percpu_cluster *global_cluster;\n\tspinlock_t global_cluster_lock;\n\tstruct rb_root swap_extent_root;\n\tstruct block_device *bdev;\n\tstruct file *swap_file;\n\tstruct completion comp;\n\tspinlock_t lock;\n\tspinlock_t cont_lock;\n\tstruct work_struct discard_work;\n\tstruct work_struct reclaim_work;\n\tstruct list_head discard_clusters;\n\tstruct plist_node avail_lists[0];\n};\n\nstruct swap_iocb {\n\tstruct kiocb iocb;\n\tstruct bio_vec bvec[32];\n\tint pages;\n\tint len;\n};\n\nstruct swap_map_page;\n\nstruct swap_map_page_list;\n\nstruct swap_map_handle {\n\tstruct swap_map_page *cur;\n\tstruct swap_map_page_list *maps;\n\tsector_t cur_swap;\n\tsector_t first_sector;\n\tunsigned int k;\n\tlong unsigned int reqd_free_pages;\n\tu32 crc32;\n};\n\nstruct swap_map_page {\n\tsector_t entries[2047];\n\tsector_t next_swap;\n};\n\nstruct swap_map_page_list {\n\tstruct swap_map_page *map;\n\tstruct swap_map_page_list *next;\n};\n\nstruct swap_slots_cache {\n\tbool lock_initialized;\n\tstruct mutex alloc_lock;\n\tswp_entry_t *slots;\n\tint nr;\n\tint cur;\n\tint n_ret;\n};\n\nstruct swevent_hlist {\n\tstruct hlist_head heads[256];\n\tstruct callback_head callback_head;\n};\n\nstruct swevent_htable {\n\tstruct swevent_hlist *swevent_hlist;\n\tstruct mutex hlist_mutex;\n\tint hlist_refcount;\n};\n\nstruct switchdev_notifier_info {\n\tstruct net_device *dev;\n\tstruct netlink_ext_ack *extack;\n\tconst void *ctx;\n};\n\nunion vxlan_addr {\n\tstruct sockaddr_in sin;\n\tstruct sockaddr_in6 sin6;\n\tstruct sockaddr sa;\n};\n\nstruct switchdev_notifier_vxlan_fdb_info {\n\tstruct switchdev_notifier_info info;\n\tunion vxlan_addr remote_ip;\n\t__be16 remote_port;\n\t__be32 remote_vni;\n\tu32 remote_ifindex;\n\tu8 eth_addr[6];\n\t__be32 vni;\n\tbool offloaded;\n\tbool added_by_user;\n};\n\nstruct swmii_regs {\n\tu16 bmsr;\n\tu16 lpa;\n\tu16 lpagb;\n\tu16 estat;\n};\n\nstruct swnode {\n\tstruct kobject kobj;\n\tstruct fwnode_handle fwnode;\n\tconst struct software_node *node;\n\tint id;\n\tstruct ida child_ids;\n\tstruct list_head entry;\n\tstruct list_head children;\n\tstruct swnode *parent;\n\tunsigned int allocated: 1;\n\tunsigned int managed: 1;\n};\n\nstruct swsusp_extent {\n\tstruct rb_node node;\n\tlong unsigned int start;\n\tlong unsigned int end;\n};\n\nstruct swsusp_header {\n\tchar reserved[16344];\n\tu32 hw_sig;\n\tu32 crc32;\n\tsector_t image;\n\tunsigned int flags;\n\tchar orig_sig[10];\n\tchar sig[10];\n};\n\nstruct swsusp_info {\n\tstruct new_utsname uts;\n\tu32 version_code;\n\tlong unsigned int num_physpages;\n\tint cpus;\n\tlong unsigned int image_pages;\n\tlong unsigned int pages;\n\tlong unsigned int size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct symsearch {\n\tconst struct kernel_symbol *start;\n\tconst struct kernel_symbol *stop;\n\tconst u32 *crcs;\n\tenum mod_license license;\n};\n\nstruct synaptics_device_info {\n\tu32 model_id;\n\tu32 firmware_id;\n\tu32 board_id;\n\tu32 capabilities;\n\tu32 ext_cap;\n\tu32 ext_cap_0c;\n\tu32 ext_cap_10;\n\tu32 identity;\n\tu32 x_res;\n\tu32 y_res;\n\tu32 x_max;\n\tu32 y_max;\n\tu32 x_min;\n\tu32 y_min;\n};\n\nstruct synaptics_hw_state {\n\tint x;\n\tint y;\n\tint z;\n\tint w;\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int up: 1;\n\tunsigned int down: 1;\n\tu8 ext_buttons;\n\ts8 scroll;\n};\n\nstruct synaptics_data {\n\tstruct synaptics_device_info info;\n\tenum synaptics_pkt_type pkt_type;\n\tu8 mode;\n\tint scroll;\n\tbool absolute_mode;\n\tbool disable_gesture;\n\tstruct serio *pt_port;\n\tbool pt_port_open;\n\tstruct synaptics_hw_state agm;\n\tunsigned int agm_count;\n\tlong unsigned int press_start;\n\tbool press;\n\tbool report_press;\n\tbool is_forcepad;\n};\n\nstruct sync_fence_info {\n\tchar obj_name[32];\n\tchar driver_name[32];\n\t__s32 status;\n\t__u32 flags;\n\t__u64 timestamp_ns;\n};\n\nstruct sync_file {\n\tstruct file *file;\n\tchar user_name[32];\n\tstruct list_head sync_file_list;\n\twait_queue_head_t wq;\n\tlong unsigned int flags;\n\tstruct dma_fence *fence;\n\tstruct dma_fence_cb cb;\n};\n\nstruct sync_file_info {\n\tchar name[32];\n\t__s32 status;\n\t__u32 flags;\n\t__u32 num_fences;\n\t__u32 pad;\n\t__u64 sync_fence_info;\n};\n\nstruct sync_io {\n\tlong unsigned int error_bits;\n\tstruct completion wait;\n};\n\nstruct sync_merge_data {\n\tchar name[32];\n\t__s32 fd2;\n\t__s32 fence;\n\t__u32 flags;\n\t__u32 pad;\n};\n\nstruct sync_set_deadline {\n\t__u64 deadline_ns;\n\t__u64 pad;\n};\n\nstruct syncobj_eventfd_entry {\n\tstruct list_head node;\n\tstruct dma_fence *fence;\n\tstruct dma_fence_cb fence_cb;\n\tstruct drm_syncobj *syncobj;\n\tstruct eventfd_ctx *ev_fd_ctx;\n\tu64 point;\n\tu32 flags;\n};\n\nstruct syncobj_wait_entry {\n\tstruct list_head node;\n\tstruct task_struct *task;\n\tstruct dma_fence *fence;\n\tstruct dma_fence_cb fence_cb;\n\tu64 point;\n};\n\nstruct sys_off_data {\n\tint mode;\n\tvoid *cb_data;\n\tconst char *cmd;\n\tstruct device *dev;\n};\n\nstruct sys_off_handler {\n\tstruct notifier_block nb;\n\tint (*sys_off_cb)(struct sys_off_data *);\n\tvoid *cb_data;\n\tenum sys_off_mode mode;\n\tbool blocking;\n\tvoid *list;\n\tstruct device *dev;\n};\n\nstruct syscall_info {\n\t__u64 sp;\n\tstruct seccomp_data data;\n};\n\nstruct syscall_metadata {\n\tconst char *name;\n\tint syscall_nr;\n\tint nb_args;\n\tconst char **types;\n\tconst char **args;\n\tstruct list_head enter_fields;\n\tstruct trace_event_call *enter_event;\n\tstruct trace_event_call *exit_event;\n};\n\nstruct syscall_tp_t {\n\tstruct trace_entry ent;\n\tint syscall_nr;\n\tlong unsigned int ret;\n};\n\nstruct syscall_tp_t___2 {\n\tstruct trace_entry ent;\n\tint syscall_nr;\n\tlong unsigned int args[6];\n};\n\nstruct syscall_trace_enter {\n\tstruct trace_entry ent;\n\tint nr;\n\tlong unsigned int args[0];\n};\n\nstruct syscall_trace_exit {\n\tstruct trace_entry ent;\n\tint nr;\n\tlong int ret;\n};\n\nstruct syscall_user_dispatch {\n\tchar *selector;\n\tlong unsigned int offset;\n\tlong unsigned int len;\n\tbool on_dispatch;\n};\n\nstruct syscon {\n\tstruct device_node *np;\n\tstruct regmap *regmap;\n\tstruct reset_control *reset;\n\tstruct list_head list;\n};\n\nstruct syscon_poweroff_data {\n\tstruct regmap *map;\n\tu32 offset;\n\tu32 value;\n\tu32 mask;\n};\n\nstruct syscon_reboot_context {\n\tstruct regmap *map;\n\tu32 offset;\n\tu32 value;\n\tu32 mask;\n\tstruct notifier_block restart_handler;\n};\n\nstruct syscon_reboot_mode {\n\tstruct regmap *map;\n\tstruct reboot_mode_driver reboot;\n\tu32 offset;\n\tu32 mask;\n};\n\nstruct syscore_ops {\n\tstruct list_head node;\n\tint (*suspend)(void);\n\tvoid (*resume)(void);\n\tvoid (*shutdown)(void);\n};\n\nstruct sysctl_alias {\n\tconst char *kernel_param;\n\tconst char *sysctl_param;\n};\n\nstruct sysfs_ops {\n\tssize_t (*show)(struct kobject *, struct attribute *, char *);\n\tssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t);\n};\n\nstruct sysinfo {\n\t__kernel_long_t uptime;\n\t__kernel_ulong_t loads[3];\n\t__kernel_ulong_t totalram;\n\t__kernel_ulong_t freeram;\n\t__kernel_ulong_t sharedram;\n\t__kernel_ulong_t bufferram;\n\t__kernel_ulong_t totalswap;\n\t__kernel_ulong_t freeswap;\n\t__u16 procs;\n\t__u16 pad;\n\t__kernel_ulong_t totalhigh;\n\t__kernel_ulong_t freehigh;\n\t__u32 mem_unit;\n\tchar _f[0];\n};\n\nstruct sysrq_key_op {\n\tvoid (* const handler)(u8);\n\tconst char * const help_msg;\n\tconst char * const action_msg;\n\tconst int enable_mask;\n};\n\nstruct sysrq_state {\n\tstruct input_handle handle;\n\tstruct work_struct reinject_work;\n\tlong unsigned int key_down[12];\n\tunsigned int alt;\n\tunsigned int alt_use;\n\tunsigned int shift;\n\tunsigned int shift_use;\n\tbool active;\n\tbool need_reinject;\n\tbool reinjecting;\n\tbool reset_canceled;\n\tbool reset_requested;\n\tlong unsigned int reset_keybit[12];\n\tint reset_seq_len;\n\tint reset_seq_cnt;\n\tint reset_seq_version;\n\tstruct timer_list keyreset_timer;\n};\n\nstruct system_counterval_t {\n\tu64 cycles;\n\tenum clocksource_ids cs_id;\n\tbool use_nsecs;\n};\n\nstruct system_device_crosststamp {\n\tktime_t device;\n\tktime_t sys_realtime;\n\tktime_t sys_monoraw;\n};\n\nstruct system_heap_buffer {\n\tstruct dma_heap *heap;\n\tstruct list_head attachments;\n\tstruct mutex lock;\n\tlong unsigned int len;\n\tstruct sg_table sg_table;\n\tint vmap_cnt;\n\tvoid *vaddr;\n};\n\nstruct system_time_snapshot {\n\tu64 cycles;\n\tktime_t real;\n\tktime_t boot;\n\tktime_t raw;\n\tenum clocksource_ids cs_id;\n\tunsigned int clock_was_set_seq;\n\tu8 cs_was_changed_seq;\n};\n\nstruct sysv_sem {\n\tstruct sem_undo_list *undo_list;\n};\n\nstruct sysv_shm {\n\tstruct list_head shm_clist;\n};\n\nstruct t10_pi_tuple {\n\t__be16 guard_tag;\n\t__be16 app_tag;\n\t__be32 ref_tag;\n};\n\nstruct table_device {\n\tstruct list_head list;\n\trefcount_t count;\n\tstruct dm_dev dm_dev;\n};\n\nstruct table_header {\n\tu16 td_id;\n\tu16 td_flags;\n\tu32 td_hilen;\n\tu32 td_lolen;\n\tchar td_data[0];\n};\n\nstruct taint_flag {\n\tchar c_true;\n\tchar c_false;\n\tbool module;\n\tconst char *desc;\n};\n\ntypedef int (*dm_ctr_fn)(struct dm_target *, unsigned int, char **);\n\ntypedef void (*dm_dtr_fn)(struct dm_target *);\n\ntypedef int (*dm_map_fn)(struct dm_target *, struct bio *);\n\ntypedef int (*dm_clone_and_map_request_fn)(struct dm_target *, struct request *, union map_info *, struct request **);\n\ntypedef void (*dm_release_clone_request_fn)(struct request *, union map_info *);\n\ntypedef int (*dm_endio_fn)(struct dm_target *, struct bio *, blk_status_t *);\n\ntypedef int (*dm_request_endio_fn)(struct dm_target *, struct request *, blk_status_t, union map_info *);\n\ntypedef void (*dm_presuspend_fn)(struct dm_target *);\n\ntypedef void (*dm_presuspend_undo_fn)(struct dm_target *);\n\ntypedef void (*dm_postsuspend_fn)(struct dm_target *);\n\ntypedef int (*dm_preresume_fn)(struct dm_target *);\n\ntypedef void (*dm_resume_fn)(struct dm_target *);\n\ntypedef void (*dm_status_fn)(struct dm_target *, status_type_t, unsigned int, char *, unsigned int);\n\ntypedef int (*dm_message_fn)(struct dm_target *, unsigned int, char **, char *, unsigned int);\n\ntypedef int (*dm_prepare_ioctl_fn)(struct dm_target *, struct block_device **);\n\ntypedef int (*dm_report_zones_fn)(struct dm_target *, struct dm_report_zones_args *, unsigned int);\n\ntypedef int (*dm_busy_fn)(struct dm_target *);\n\ntypedef int (*iterate_devices_callout_fn)(struct dm_target *, struct dm_dev *, sector_t, sector_t, void *);\n\ntypedef int (*dm_iterate_devices_fn)(struct dm_target *, iterate_devices_callout_fn, void *);\n\ntypedef void (*dm_io_hints_fn)(struct dm_target *, struct queue_limits *);\n\ntypedef long int (*dm_dax_direct_access_fn)(struct dm_target *, long unsigned int, long int, enum dax_access_mode, void **, pfn_t *);\n\ntypedef int (*dm_dax_zero_page_range_fn)(struct dm_target *, long unsigned int, size_t);\n\ntypedef size_t (*dm_dax_recovery_write_fn)(struct dm_target *, long unsigned int, void *, size_t, struct iov_iter *);\n\nstruct target_type {\n\tuint64_t features;\n\tconst char *name;\n\tstruct module *module;\n\tunsigned int version[3];\n\tdm_ctr_fn ctr;\n\tdm_dtr_fn dtr;\n\tdm_map_fn map;\n\tdm_clone_and_map_request_fn clone_and_map_rq;\n\tdm_release_clone_request_fn release_clone_rq;\n\tdm_endio_fn end_io;\n\tdm_request_endio_fn rq_end_io;\n\tdm_presuspend_fn presuspend;\n\tdm_presuspend_undo_fn presuspend_undo;\n\tdm_postsuspend_fn postsuspend;\n\tdm_preresume_fn preresume;\n\tdm_resume_fn resume;\n\tdm_status_fn status;\n\tdm_message_fn message;\n\tdm_prepare_ioctl_fn prepare_ioctl;\n\tdm_report_zones_fn report_zones;\n\tdm_busy_fn busy;\n\tdm_iterate_devices_fn iterate_devices;\n\tdm_io_hints_fn io_hints;\n\tdm_dax_direct_access_fn direct_access;\n\tdm_dax_zero_page_range_fn dax_zero_page_range;\n\tdm_dax_recovery_write_fn dax_recovery_write;\n\tstruct list_head list;\n};\n\nstruct task_delay_info {\n\traw_spinlock_t lock;\n\tu64 blkio_start;\n\tu64 blkio_delay_max;\n\tu64 blkio_delay_min;\n\tu64 blkio_delay;\n\tu64 swapin_start;\n\tu64 swapin_delay_max;\n\tu64 swapin_delay_min;\n\tu64 swapin_delay;\n\tu32 blkio_count;\n\tu32 swapin_count;\n\tu64 freepages_start;\n\tu64 freepages_delay_max;\n\tu64 freepages_delay_min;\n\tu64 freepages_delay;\n\tu64 thrashing_start;\n\tu64 thrashing_delay_max;\n\tu64 thrashing_delay_min;\n\tu64 thrashing_delay;\n\tu64 compact_start;\n\tu64 compact_delay_max;\n\tu64 compact_delay_min;\n\tu64 compact_delay;\n\tu64 wpcopy_start;\n\tu64 wpcopy_delay_max;\n\tu64 wpcopy_delay_min;\n\tu64 wpcopy_delay;\n\tu64 irq_delay_max;\n\tu64 irq_delay_min;\n\tu64 irq_delay;\n\tu32 freepages_count;\n\tu32 thrashing_count;\n\tu32 compact_count;\n\tu32 wpcopy_count;\n\tu32 irq_count;\n};\n\ntypedef struct task_group *rt_rq_iter_t;\n\nstruct task_group {\n\tstruct cgroup_subsys_state css;\n\tint idle;\n\tstruct sched_entity **se;\n\tstruct cfs_rq **cfs_rq;\n\tlong unsigned int shares;\n\tlong: 64;\n\tlong: 64;\n\tatomic_long_t load_avg;\n\tstruct sched_rt_entity **rt_se;\n\tstruct rt_rq **rt_rq;\n\tstruct rt_bandwidth rt_bandwidth;\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct task_group *parent;\n\tstruct list_head siblings;\n\tstruct list_head children;\n\tstruct autogroup *autogroup;\n\tstruct cfs_bandwidth cfs_bandwidth;\n\tlong: 64;\n};\n\nstruct task_numa_env {\n\tstruct task_struct *p;\n\tint src_cpu;\n\tint src_nid;\n\tint dst_cpu;\n\tint dst_nid;\n\tint imb_numa_nr;\n\tstruct numa_stats src_stats;\n\tstruct numa_stats dst_stats;\n\tint imbalance_pct;\n\tint dist;\n\tstruct task_struct *best_task;\n\tlong int best_imp;\n\tint best_cpu;\n};\n\nstruct task_security_struct {\n\tu32 osid;\n\tu32 sid;\n\tu32 exec_sid;\n\tu32 create_sid;\n\tu32 keycreate_sid;\n\tu32 sockcreate_sid;\n};\n\ntypedef struct task_struct *class_find_get_task_t;\n\ntypedef struct task_struct *class_task_lock_t;\n\nstruct wake_q_node {\n\tstruct wake_q_node *next;\n};\n\nstruct tlbflush_unmap_batch {};\n\nstruct thread_struct {\n\tlong unsigned int reg01;\n\tlong unsigned int reg03;\n\tlong unsigned int reg22;\n\tlong unsigned int reg23;\n\tlong unsigned int reg24;\n\tlong unsigned int reg25;\n\tlong unsigned int reg26;\n\tlong unsigned int reg27;\n\tlong unsigned int reg28;\n\tlong unsigned int reg29;\n\tlong unsigned int reg30;\n\tlong unsigned int reg31;\n\tlong unsigned int sched_ra;\n\tlong unsigned int sched_cfa;\n\tlong unsigned int csr_prmd;\n\tlong unsigned int csr_crmd;\n\tlong unsigned int csr_euen;\n\tlong unsigned int csr_ecfg;\n\tlong unsigned int csr_badvaddr;\n\tlong unsigned int trap_nr;\n\tlong unsigned int error_code;\n\tlong unsigned int single_step;\n\tstruct loongarch_vdso_info *vdso;\n\tlong: 64;\n\tstruct loongarch_fpu fpu;\n\tstruct loongarch_lbt lbt;\n\tstruct perf_event *hbp_break[14];\n\tstruct perf_event *hbp_watch[14];\n\tlong: 64;\n};\n\nstruct uprobe_task;\n\nstruct task_struct {\n\tunsigned int __state;\n\tunsigned int saved_state;\n\tvoid *stack;\n\trefcount_t usage;\n\tunsigned int flags;\n\tunsigned int ptrace;\n\tint on_cpu;\n\tstruct __call_single_node wake_entry;\n\tunsigned int wakee_flips;\n\tlong unsigned int wakee_flip_decay_ts;\n\tstruct task_struct *last_wakee;\n\tint recent_used_cpu;\n\tint wake_cpu;\n\tint on_rq;\n\tint prio;\n\tint static_prio;\n\tint normal_prio;\n\tunsigned int rt_priority;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_entity se;\n\tstruct sched_rt_entity rt;\n\tstruct sched_dl_entity dl;\n\tstruct sched_dl_entity *dl_server;\n\tconst struct sched_class *sched_class;\n\tstruct rb_node core_node;\n\tlong unsigned int core_cookie;\n\tunsigned int core_occupation;\n\tstruct task_group *sched_task_group;\n\tstruct sched_statistics stats;\n\tstruct hlist_head preempt_notifiers;\n\tunsigned int policy;\n\tlong unsigned int max_allowed_capacity;\n\tint nr_cpus_allowed;\n\tconst cpumask_t *cpus_ptr;\n\tcpumask_t *user_cpus_ptr;\n\tcpumask_t cpus_mask;\n\tvoid *migration_pending;\n\tshort unsigned int migration_disabled;\n\tshort unsigned int migration_flags;\n\tint rcu_read_lock_nesting;\n\tunion rcu_special rcu_read_unlock_special;\n\tstruct list_head rcu_node_entry;\n\tstruct rcu_node *rcu_blocked_node;\n\tlong unsigned int rcu_tasks_nvcsw;\n\tu8 rcu_tasks_holdout;\n\tu8 rcu_tasks_idx;\n\tint rcu_tasks_idle_cpu;\n\tstruct list_head rcu_tasks_holdout_list;\n\tint rcu_tasks_exit_cpu;\n\tstruct list_head rcu_tasks_exit_list;\n\tint trc_reader_nesting;\n\tint trc_ipi_to_cpu;\n\tunion rcu_special trc_reader_special;\n\tstruct list_head trc_holdout_list;\n\tstruct list_head trc_blkd_node;\n\tint trc_blkd_cpu;\n\tstruct sched_info sched_info;\n\tstruct list_head tasks;\n\tstruct plist_node pushable_tasks;\n\tstruct rb_node pushable_dl_tasks;\n\tstruct mm_struct *mm;\n\tstruct mm_struct *active_mm;\n\tstruct address_space *faults_disabled_mapping;\n\tint exit_state;\n\tint exit_code;\n\tint exit_signal;\n\tint pdeath_signal;\n\tlong unsigned int jobctl;\n\tunsigned int personality;\n\tunsigned int sched_reset_on_fork: 1;\n\tunsigned int sched_contributes_to_load: 1;\n\tunsigned int sched_migrated: 1;\n\tunsigned int sched_task_hot: 1;\n\tlong: 28;\n\tunsigned int sched_remote_wakeup: 1;\n\tunsigned int sched_rt_mutex: 1;\n\tunsigned int in_execve: 1;\n\tunsigned int in_iowait: 1;\n\tunsigned int no_cgroup_migration: 1;\n\tunsigned int frozen: 1;\n\tunsigned int use_memdelay: 1;\n\tunsigned int in_memstall: 1;\n\tunsigned int in_eventfd: 1;\n\tunsigned int in_thrashing: 1;\n\tlong unsigned int atomic_flags;\n\tstruct restart_block restart_block;\n\tpid_t pid;\n\tpid_t tgid;\n\tlong unsigned int stack_canary;\n\tstruct task_struct *real_parent;\n\tstruct task_struct *parent;\n\tstruct list_head children;\n\tstruct list_head sibling;\n\tstruct task_struct *group_leader;\n\tstruct list_head ptraced;\n\tstruct list_head ptrace_entry;\n\tstruct pid *thread_pid;\n\tstruct hlist_node pid_links[4];\n\tstruct list_head thread_node;\n\tstruct completion *vfork_done;\n\tint *set_child_tid;\n\tint *clear_child_tid;\n\tvoid *worker_private;\n\tu64 utime;\n\tu64 stime;\n\tu64 gtime;\n\tstruct prev_cputime prev_cputime;\n\tlong unsigned int nvcsw;\n\tlong unsigned int nivcsw;\n\tu64 start_time;\n\tu64 start_boottime;\n\tlong unsigned int min_flt;\n\tlong unsigned int maj_flt;\n\tstruct posix_cputimers posix_cputimers;\n\tstruct posix_cputimers_work posix_cputimers_work;\n\tconst struct cred *ptracer_cred;\n\tconst struct cred *real_cred;\n\tconst struct cred *cred;\n\tstruct key *cached_requested_key;\n\tchar comm[16];\n\tstruct nameidata *nameidata;\n\tstruct sysv_sem sysvsem;\n\tstruct sysv_shm sysvshm;\n\tstruct fs_struct *fs;\n\tstruct files_struct *files;\n\tstruct io_uring_task *io_uring;\n\tstruct nsproxy *nsproxy;\n\tstruct signal_struct *signal;\n\tstruct sighand_struct *sighand;\n\tsigset_t blocked;\n\tsigset_t real_blocked;\n\tsigset_t saved_sigmask;\n\tstruct sigpending pending;\n\tlong unsigned int sas_ss_sp;\n\tsize_t sas_ss_size;\n\tunsigned int sas_ss_flags;\n\tstruct callback_head *task_works;\n\tstruct audit_context *audit_context;\n\tkuid_t loginuid;\n\tunsigned int sessionid;\n\tstruct seccomp seccomp;\n\tstruct syscall_user_dispatch syscall_dispatch;\n\tu64 parent_exec_id;\n\tu64 self_exec_id;\n\tspinlock_t alloc_lock;\n\traw_spinlock_t pi_lock;\n\tstruct wake_q_node wake_q;\n\tstruct rb_root_cached pi_waiters;\n\tstruct task_struct *pi_top_task;\n\tstruct rt_mutex_waiter *pi_blocked_on;\n\tvoid *journal_info;\n\tstruct bio_list *bio_list;\n\tstruct blk_plug *plug;\n\tstruct reclaim_state *reclaim_state;\n\tstruct io_context *io_context;\n\tstruct capture_control *capture_control;\n\tlong unsigned int ptrace_message;\n\tkernel_siginfo_t *last_siginfo;\n\tstruct task_io_accounting ioac;\n\tunsigned int psi_flags;\n\tu64 acct_rss_mem1;\n\tu64 acct_vm_mem1;\n\tu64 acct_timexpd;\n\tnodemask_t mems_allowed;\n\tseqcount_spinlock_t mems_allowed_seq;\n\tint cpuset_mem_spread_rotor;\n\tstruct css_set *cgroups;\n\tstruct list_head cg_list;\n\tstruct robust_list_head *robust_list;\n\tstruct list_head pi_state_list;\n\tstruct futex_pi_state *pi_state_cache;\n\tstruct mutex futex_exit_mutex;\n\tunsigned int futex_state;\n\tu8 perf_recursion[4];\n\tstruct perf_event_context *perf_event_ctxp;\n\tstruct mutex perf_event_mutex;\n\tstruct list_head perf_event_list;\n\tstruct mempolicy *mempolicy;\n\tshort int il_prev;\n\tu8 il_weight;\n\tshort int pref_node_fork;\n\tint numa_scan_seq;\n\tunsigned int numa_scan_period;\n\tunsigned int numa_scan_period_max;\n\tint numa_preferred_nid;\n\tlong unsigned int numa_migrate_retry;\n\tu64 node_stamp;\n\tu64 last_task_numa_placement;\n\tu64 last_sum_exec_runtime;\n\tstruct callback_head numa_work;\n\tstruct numa_group *numa_group;\n\tlong unsigned int *numa_faults;\n\tlong unsigned int total_numa_faults;\n\tlong unsigned int numa_faults_locality[3];\n\tlong unsigned int numa_pages_migrated;\n\tstruct rseq *rseq;\n\tu32 rseq_len;\n\tu32 rseq_sig;\n\tlong unsigned int rseq_event_mask;\n\tint mm_cid;\n\tint last_mm_cid;\n\tint migrate_from_cpu;\n\tint mm_cid_active;\n\tstruct callback_head cid_work;\n\tstruct tlbflush_unmap_batch tlb_ubc;\n\tstruct pipe_inode_info *splice_pipe;\n\tstruct page_frag task_frag;\n\tstruct task_delay_info *delays;\n\tint nr_dirtied;\n\tint nr_dirtied_pause;\n\tlong unsigned int dirty_paused_when;\n\tu64 timer_slack_ns;\n\tu64 default_timer_slack_ns;\n\tlong unsigned int trace_recursion;\n\tunsigned int memcg_nr_pages_over_high;\n\tstruct mem_cgroup *active_memcg;\n\tstruct obj_cgroup *objcg;\n\tstruct gendisk *throttle_disk;\n\tstruct uprobe_task *utask;\n\tunsigned int sequential_io;\n\tunsigned int sequential_io_avg;\n\tstruct kmap_ctrl kmap_ctrl;\n\tstruct callback_head rcu;\n\trefcount_t rcu_users;\n\tint pagefault_disabled;\n\tstruct task_struct *oom_reaper_list;\n\tstruct timer_list oom_reaper_timer;\n\tvoid *security;\n\tstruct bpf_local_storage *bpf_storage;\n\tstruct bpf_run_ctx *bpf_ctx;\n\tstruct bpf_net_context *bpf_net_context;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct thread_struct thread;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct task_struct__safe_rcu {\n\tconst cpumask_t *cpus_ptr;\n\tstruct css_set *cgroups;\n\tstruct task_struct *real_parent;\n\tstruct task_struct *group_leader;\n};\n\nstruct tasklet_head {\n\tstruct tasklet_struct *head;\n\tstruct tasklet_struct **tail;\n};\n\nstruct taskstats {\n\t__u16 version;\n\t__u32 ac_exitcode;\n\t__u8 ac_flag;\n\t__u8 ac_nice;\n\t__u64 cpu_count;\n\t__u64 cpu_delay_total;\n\t__u64 cpu_delay_max;\n\t__u64 cpu_delay_min;\n\t__u64 blkio_count;\n\t__u64 blkio_delay_total;\n\t__u64 blkio_delay_max;\n\t__u64 blkio_delay_min;\n\t__u64 swapin_count;\n\t__u64 swapin_delay_total;\n\t__u64 swapin_delay_max;\n\t__u64 swapin_delay_min;\n\t__u64 cpu_run_real_total;\n\t__u64 cpu_run_virtual_total;\n\tchar ac_comm[32];\n\t__u8 ac_sched;\n\t__u8 ac_pad[3];\n\tlong: 0;\n\t__u32 ac_uid;\n\t__u32 ac_gid;\n\t__u32 ac_pid;\n\t__u32 ac_ppid;\n\t__u32 ac_btime;\n\t__u64 ac_etime;\n\t__u64 ac_utime;\n\t__u64 ac_stime;\n\t__u64 ac_minflt;\n\t__u64 ac_majflt;\n\t__u64 coremem;\n\t__u64 virtmem;\n\t__u64 hiwater_rss;\n\t__u64 hiwater_vm;\n\t__u64 read_char;\n\t__u64 write_char;\n\t__u64 read_syscalls;\n\t__u64 write_syscalls;\n\t__u64 read_bytes;\n\t__u64 write_bytes;\n\t__u64 cancelled_write_bytes;\n\t__u64 nvcsw;\n\t__u64 nivcsw;\n\t__u64 ac_utimescaled;\n\t__u64 ac_stimescaled;\n\t__u64 cpu_scaled_run_real_total;\n\t__u64 freepages_count;\n\t__u64 freepages_delay_total;\n\t__u64 freepages_delay_max;\n\t__u64 freepages_delay_min;\n\t__u64 thrashing_count;\n\t__u64 thrashing_delay_total;\n\t__u64 thrashing_delay_max;\n\t__u64 thrashing_delay_min;\n\t__u64 ac_btime64;\n\t__u64 compact_count;\n\t__u64 compact_delay_total;\n\t__u64 compact_delay_max;\n\t__u64 compact_delay_min;\n\t__u32 ac_tgid;\n\t__u64 ac_tgetime;\n\t__u64 ac_exe_dev;\n\t__u64 ac_exe_inode;\n\t__u64 wpcopy_count;\n\t__u64 wpcopy_delay_total;\n\t__u64 wpcopy_delay_max;\n\t__u64 wpcopy_delay_min;\n\t__u64 irq_count;\n\t__u64 irq_delay_total;\n\t__u64 irq_delay_max;\n\t__u64 irq_delay_min;\n};\n\nstruct tb_nhi;\n\nstruct tb_switch;\n\nstruct tb_cm_ops;\n\nstruct tb {\n\tstruct device dev;\n\tstruct mutex lock;\n\tstruct tb_nhi *nhi;\n\tstruct tb_ctl *ctl;\n\tstruct workqueue_struct *wq;\n\tstruct tb_switch *root_switch;\n\tconst struct tb_cm_ops *cm_ops;\n\tint index;\n\tenum tb_security_level security_level;\n\tsize_t nboot_acl;\n\tlong unsigned int privdata[0];\n};\n\nstruct tb_bandwidth_group {\n\tstruct tb *tb;\n\tint index;\n\tstruct list_head ports;\n\tint reserved;\n\tstruct delayed_work release_work;\n};\n\nstruct tb_cap_basic {\n\tu8 next;\n\tu8 cap;\n};\n\nstruct tb_cap_extended_short {\n\tu8 next;\n\tu8 cap;\n\tu8 vsec_id;\n\tu8 length;\n};\n\nstruct tb_cap_extended_long {\n\tu8 zero1;\n\tu8 cap;\n\tu8 vsec_id;\n\tu8 zero2;\n\tu16 next;\n\tu16 length;\n};\n\nstruct tb_cap_any {\n\tunion {\n\t\tstruct tb_cap_basic basic;\n\t\tstruct tb_cap_extended_short extended_short;\n\t\tstruct tb_cap_extended_long extended_long;\n\t};\n};\n\nstruct tb_cap_phy {\n\tstruct tb_cap_basic cap_header;\n\tu32 unknown1: 16;\n\tu32 unknown2: 14;\n\tbool disable: 1;\n\tu32 unknown3: 11;\n\tenum tb_port_state state: 4;\n\tu32 unknown4: 2;\n};\n\nstruct tb_eeprom_ctl {\n\tbool fl_sk: 1;\n\tbool fl_cs: 1;\n\tbool fl_di: 1;\n\tbool fl_do: 1;\n\tbool bit_banging_enable: 1;\n\tbool not_present: 1;\n\tbool unknown1: 1;\n\tbool present: 1;\n\tu32 unknown2: 24;\n};\n\nstruct tb_cap_plug_events {\n\tstruct tb_cap_extended_short cap_header;\n\tu32 __unknown1: 2;\n\tu32 plug_events: 5;\n\tu32 __unknown2: 25;\n\tu32 vsc_cs_2;\n\tu32 vsc_cs_3;\n\tstruct tb_eeprom_ctl eeprom_ctl;\n\tu32 __unknown5[7];\n\tu32 drom_offset;\n};\n\nstruct tb_cfg_result {\n\tu64 response_route;\n\tu32 response_port;\n\tint err;\n\tenum tb_cfg_error tb_error;\n};\n\nstruct tb_cfg_request {\n\tstruct kref kref;\n\tstruct tb_ctl *ctl;\n\tconst void *request;\n\tsize_t request_size;\n\tenum tb_cfg_pkg_type request_type;\n\tvoid *response;\n\tsize_t response_size;\n\tenum tb_cfg_pkg_type response_type;\n\tsize_t npackets;\n\tbool (*match)(const struct tb_cfg_request *, const struct ctl_pkg *);\n\tbool (*copy)(struct tb_cfg_request *, const struct ctl_pkg *);\n\tvoid (*callback)(void *);\n\tvoid *callback_data;\n\tlong unsigned int flags;\n\tstruct work_struct work;\n\tstruct tb_cfg_result result;\n\tstruct list_head list;\n};\n\nstruct tb_cm {\n\tstruct list_head tunnel_list;\n\tstruct list_head dp_resources;\n\tbool hotplug_active;\n\tstruct delayed_work remove_work;\n\tstruct tb_bandwidth_group groups[7];\n};\n\nstruct tb_xdomain;\n\nstruct tb_cm_ops {\n\tint (*driver_ready)(struct tb *);\n\tint (*start)(struct tb *, bool);\n\tvoid (*stop)(struct tb *);\n\tvoid (*deinit)(struct tb *);\n\tint (*suspend_noirq)(struct tb *);\n\tint (*resume_noirq)(struct tb *);\n\tint (*suspend)(struct tb *);\n\tint (*freeze_noirq)(struct tb *);\n\tint (*thaw_noirq)(struct tb *);\n\tvoid (*complete)(struct tb *);\n\tint (*runtime_suspend)(struct tb *);\n\tint (*runtime_resume)(struct tb *);\n\tint (*runtime_suspend_switch)(struct tb_switch *);\n\tint (*runtime_resume_switch)(struct tb_switch *);\n\tvoid (*handle_event)(struct tb *, enum tb_cfg_pkg_type, const void *, size_t);\n\tint (*get_boot_acl)(struct tb *, uuid_t *, size_t);\n\tint (*set_boot_acl)(struct tb *, const uuid_t *, size_t);\n\tint (*disapprove_switch)(struct tb *, struct tb_switch *);\n\tint (*approve_switch)(struct tb *, struct tb_switch *);\n\tint (*add_switch_key)(struct tb *, struct tb_switch *);\n\tint (*challenge_switch_key)(struct tb *, struct tb_switch *, const u8 *, u8 *);\n\tint (*disconnect_pcie_paths)(struct tb *);\n\tint (*approve_xdomain_paths)(struct tb *, struct tb_xdomain *, int, int, int, int);\n\tint (*disconnect_xdomain_paths)(struct tb *, struct tb_xdomain *, int, int, int, int);\n\tint (*usb4_switch_op)(struct tb_switch *, u16, u32 *, u8 *, const void *, size_t, void *, size_t);\n\tint (*usb4_switch_nvm_authenticate_status)(struct tb_switch *, u32 *);\n};\n\ntypedef bool (*event_cb)(void *, enum tb_cfg_pkg_type, const void *, size_t);\n\nstruct tb_ctl {\n\tstruct tb_nhi *nhi;\n\tstruct tb_ring *tx;\n\tstruct tb_ring *rx;\n\tstruct dma_pool *frame_pool;\n\tstruct ctl_pkg *rx_packets[10];\n\tstruct mutex request_queue_lock;\n\tstruct list_head request_queue;\n\tbool running;\n\tint timeout_msec;\n\tevent_cb callback;\n\tvoid *callback_data;\n\tint index;\n};\n\nstruct tb_dma_port {\n\tstruct tb_switch *sw;\n\tu8 port;\n\tu32 base;\n\tu8 *buf;\n};\n\nstruct tb_drom_entry_header {\n\tu8 len;\n\tu8 index: 6;\n\tbool port_disabled: 1;\n\tenum tb_drom_entry_type type: 1;\n} __attribute__((packed));\n\nstruct tb_drom_entry_desc {\n\tstruct tb_drom_entry_header header;\n\tu16 bcdUSBSpec;\n\tu16 idVendor;\n\tu16 idProduct;\n\tu16 bcdProductFWRevision;\n\tu32 TID;\n\tu8 productHWRevision;\n};\n\nstruct tb_drom_entry_generic {\n\tstruct tb_drom_entry_header header;\n\tu8 data[0];\n};\n\nstruct tb_drom_entry_port {\n\tstruct tb_drom_entry_header header;\n\tu8 dual_link_port_rid: 4;\n\tu8 link_nr: 1;\n\tu8 unknown1: 2;\n\tbool has_dual_link_port: 1;\n\tu8 dual_link_port_nr: 6;\n\tu8 unknown2: 2;\n\tu8 micro2: 4;\n\tu8 micro1: 4;\n\tu8 micro3;\n\tu8 peer_port_rid: 4;\n\tu8 unknown3: 3;\n\tbool has_peer_port: 1;\n\tu8 peer_port_nr: 6;\n\tu8 unknown4: 2;\n};\n\nstruct tb_drom_header {\n\tu8 uid_crc8;\n\tu64 uid;\n\tu32 data_crc32;\n\tu8 device_rom_revision;\n\tu16 data_len: 12;\n\tu8 reserved: 4;\n\tu16 vendor_id;\n\tu16 model_id;\n\tu8 model_rev;\n\tu8 eeprom_rev;\n} __attribute__((packed));\n\nstruct tb_hotplug_event {\n\tstruct delayed_work work;\n\tstruct tb *tb;\n\tu64 route;\n\tu8 port;\n\tbool unplug;\n\tint retry;\n};\n\nstruct tb_nhi_ops;\n\nstruct tb_nhi {\n\tspinlock_t lock;\n\tstruct pci_dev *pdev;\n\tconst struct tb_nhi_ops *ops;\n\tvoid *iobase;\n\tstruct tb_ring **tx_rings;\n\tstruct tb_ring **rx_rings;\n\tstruct ida msix_ida;\n\tbool going_away;\n\tbool iommu_dma_protection;\n\tstruct work_struct interrupt_work;\n\tu32 hop_count;\n\tlong unsigned int quirks;\n};\n\nstruct tb_nhi_ops {\n\tint (*init)(struct tb_nhi *);\n\tint (*suspend_noirq)(struct tb_nhi *, bool);\n\tint (*resume_noirq)(struct tb_nhi *);\n\tint (*runtime_suspend)(struct tb_nhi *);\n\tint (*runtime_resume)(struct tb_nhi *);\n\tvoid (*shutdown)(struct tb_nhi *);\n};\n\nstruct tb_nvm_vendor_ops;\n\nstruct tb_nvm {\n\tstruct device *dev;\n\tu32 major;\n\tu32 minor;\n\tint id;\n\tstruct nvmem_device *active;\n\tsize_t active_size;\n\tstruct nvmem_device *non_active;\n\tvoid *buf;\n\tvoid *buf_data_start;\n\tsize_t buf_data_size;\n\tbool authenticating;\n\tbool flushed;\n\tconst struct tb_nvm_vendor_ops *vops;\n};\n\nstruct tb_nvm_vendor {\n\tu16 vendor;\n\tconst struct tb_nvm_vendor_ops *vops;\n};\n\nstruct tb_nvm_vendor_ops {\n\tint (*read_version)(struct tb_nvm *);\n\tint (*validate)(struct tb_nvm *);\n\tint (*write_headers)(struct tb_nvm *);\n};\n\nstruct tb_path_hop;\n\nstruct tb_path {\n\tstruct tb *tb;\n\tconst char *name;\n\tenum tb_path_port ingress_shared_buffer;\n\tenum tb_path_port egress_shared_buffer;\n\tenum tb_path_port ingress_fc_enable;\n\tenum tb_path_port egress_fc_enable;\n\tunsigned int priority: 3;\n\tint weight: 4;\n\tbool drop_packages;\n\tbool activated;\n\tbool clear_fc;\n\tstruct tb_path_hop *hops;\n\tint path_length;\n\tbool alloc_hopid;\n};\n\nstruct tb_path_hop {\n\tstruct tb_port *in_port;\n\tstruct tb_port *out_port;\n\tint in_hop_index;\n\tint in_counter_index;\n\tint next_hop_index;\n\tunsigned int initial_credits;\n\tunsigned int nfc_credits;\n\tbool pm_support;\n};\n\nstruct tb_regs_port_header {\n\tu16 vendor_id;\n\tu16 device_id;\n\tu32 first_cap_offset: 8;\n\tu32 max_counters: 11;\n\tu32 counters_support: 1;\n\tu32 __unknown1: 4;\n\tu32 revision: 8;\n\tenum tb_port_type type: 24;\n\tu32 thunderbolt_version: 8;\n\tu32 __unknown2: 20;\n\tu32 port_number: 6;\n\tu32 __unknown3: 6;\n\tu32 nfc_credits;\n\tu32 max_in_hop_id: 11;\n\tu32 max_out_hop_id: 11;\n\tu32 __unknown4: 10;\n\tu32 __unknown5;\n\tu32 __unknown6;\n};\n\nstruct usb4_port;\n\nstruct tb_port {\n\tstruct tb_regs_port_header config;\n\tstruct tb_switch *sw;\n\tstruct tb_port *remote;\n\tstruct tb_xdomain *xdomain;\n\tint cap_phy;\n\tint cap_tmu;\n\tint cap_adap;\n\tint cap_usb4;\n\tstruct usb4_port *usb4;\n\tu8 port;\n\tbool disabled;\n\tbool bonded;\n\tstruct tb_port *dual_link_port;\n\tu8 link_nr: 1;\n\tstruct ida in_hopids;\n\tstruct ida out_hopids;\n\tstruct list_head list;\n\tunsigned int total_credits;\n\tunsigned int ctl_credits;\n\tunsigned int dma_credits;\n\tstruct tb_bandwidth_group *group;\n\tstruct list_head group_list;\n\tunsigned int max_bw;\n\tbool redrive;\n};\n\nstruct tb_property_dir;\n\nstruct tb_property {\n\tstruct list_head list;\n\tchar key[9];\n\tenum tb_property_type type;\n\tsize_t length;\n\tunion {\n\t\tstruct tb_property_dir *dir;\n\t\tu8 *data;\n\t\tchar *text;\n\t\tu32 immediate;\n\t} value;\n};\n\nstruct tb_property_dir {\n\tconst uuid_t *uuid;\n\tstruct list_head properties;\n};\n\nstruct tb_property_entry {\n\tu32 key_hi;\n\tu32 key_lo;\n\tu16 length;\n\tu8 reserved;\n\tu8 type;\n\tu32 value;\n};\n\nstruct tb_property_dir_entry {\n\tu32 uuid[4];\n\tstruct tb_property_entry entries[0];\n};\n\nstruct tb_property_rootdir_entry {\n\tu32 magic;\n\tu32 length;\n\tstruct tb_property_entry entries[0];\n};\n\nstruct tb_protocol_handler {\n\tconst uuid_t *uuid;\n\tint (*callback)(const void *, size_t, void *);\n\tvoid *data;\n\tstruct list_head list;\n};\n\nstruct tb_quirk {\n\tu16 hw_vendor_id;\n\tu16 hw_device_id;\n\tu16 vendor;\n\tu16 device;\n\tvoid (*hook)(struct tb_switch *);\n};\n\nstruct tb_regs_hop {\n\tu32 next_hop: 11;\n\tu32 out_port: 6;\n\tu32 initial_credits: 7;\n\tu32 pmps: 1;\n\tu32 unknown1: 6;\n\tbool enable: 1;\n\tu32 weight: 4;\n\tu32 unknown2: 4;\n\tu32 priority: 3;\n\tbool drop_packages: 1;\n\tu32 counter: 11;\n\tbool counter_enable: 1;\n\tbool ingress_fc: 1;\n\tbool egress_fc: 1;\n\tbool ingress_shared_buffer: 1;\n\tbool egress_shared_buffer: 1;\n\tbool pending: 1;\n\tu32 unknown3: 3;\n};\n\nstruct tb_regs_switch_header {\n\tu16 vendor_id;\n\tu16 device_id;\n\tu32 first_cap_offset: 8;\n\tu32 upstream_port_number: 6;\n\tu32 max_port_number: 6;\n\tu32 depth: 3;\n\tu32 __unknown1: 1;\n\tu32 revision: 8;\n\tu32 route_lo;\n\tu32 route_hi: 31;\n\tbool enabled: 1;\n\tu32 plug_events_delay: 8;\n\tu32 cmuv: 8;\n\tu32 __unknown4: 8;\n\tu32 thunderbolt_version: 8;\n};\n\nstruct tb_retimer {\n\tstruct device dev;\n\tstruct tb *tb;\n\tu8 index;\n\tu32 vendor;\n\tu32 device;\n\tstruct tb_port *port;\n\tstruct tb_nvm *nvm;\n\tbool no_nvm_upgrade;\n\tu32 auth_status;\n};\n\nstruct tb_retimer_lookup {\n\tconst struct tb_port *port;\n\tu8 index;\n};\n\nstruct tb_ring {\n\tspinlock_t lock;\n\tstruct tb_nhi *nhi;\n\tint size;\n\tint hop;\n\tint head;\n\tint tail;\n\tstruct ring_desc *descriptors;\n\tdma_addr_t descriptors_dma;\n\tstruct list_head queue;\n\tstruct list_head in_flight;\n\tstruct work_struct work;\n\tbool is_tx: 1;\n\tbool running: 1;\n\tint irq;\n\tu8 vector;\n\tunsigned int flags;\n\tint e2e_tx_hop;\n\tu16 sof_mask;\n\tu16 eof_mask;\n\tvoid (*start_poll)(void *);\n\tvoid *poll_data;\n};\n\nstruct tb_service {\n\tstruct device dev;\n\tint id;\n\tconst char *key;\n\tu32 prtcid;\n\tu32 prtcvers;\n\tu32 prtcrevs;\n\tu32 prtcstns;\n\tstruct dentry *debugfs_dir;\n};\n\nstruct tb_service_id;\n\nstruct tb_service_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct tb_service *, const struct tb_service_id *);\n\tvoid (*remove)(struct tb_service *);\n\tvoid (*shutdown)(struct tb_service *);\n\tconst struct tb_service_id *id_table;\n};\n\nstruct tb_service_id {\n\t__u32 match_flags;\n\tchar protocol_key[9];\n\t__u32 protocol_id;\n\t__u32 protocol_version;\n\t__u32 protocol_revision;\n\tkernel_ulong_t driver_data;\n};\n\nstruct tb_sw_lookup {\n\tstruct tb *tb;\n\tu8 link;\n\tu8 depth;\n\tconst uuid_t *uuid;\n\tu64 route;\n};\n\nstruct tb_switch_tmu {\n\tint cap;\n\tbool has_ucap;\n\tenum tb_switch_tmu_mode mode;\n\tenum tb_switch_tmu_mode mode_request;\n};\n\nstruct tb_switch {\n\tstruct device dev;\n\tstruct tb_regs_switch_header config;\n\tstruct tb_port *ports;\n\tstruct tb_dma_port *dma_port;\n\tstruct tb_switch_tmu tmu;\n\tstruct tb *tb;\n\tu64 uid;\n\tuuid_t *uuid;\n\tu16 vendor;\n\tu16 device;\n\tconst char *vendor_name;\n\tconst char *device_name;\n\tunsigned int link_speed;\n\tenum tb_link_width link_width;\n\tenum tb_link_width preferred_link_width;\n\tbool link_usb4;\n\tunsigned int generation;\n\tint cap_plug_events;\n\tint cap_vsec_tmu;\n\tint cap_lc;\n\tint cap_lp;\n\tbool is_unplugged;\n\tu8 *drom;\n\tstruct tb_nvm *nvm;\n\tbool no_nvm_upgrade;\n\tbool safe_mode;\n\tbool boot;\n\tbool rpm;\n\tunsigned int authorized;\n\tenum tb_security_level security_level;\n\tstruct dentry *debugfs_dir;\n\tu8 *key;\n\tu8 connection_id;\n\tu8 connection_key;\n\tu8 link;\n\tu8 depth;\n\tstruct completion rpm_complete;\n\tlong unsigned int quirks;\n\tbool credit_allocation;\n\tunsigned int max_usb3_credits;\n\tunsigned int min_dp_aux_credits;\n\tunsigned int min_dp_main_credits;\n\tunsigned int max_pcie_credits;\n\tunsigned int max_dma_credits;\n\tunsigned int clx;\n\tstruct debugfs_blob_wrapper drom_blob;\n};\n\nstruct tb_tunnel {\n\tstruct kref kref;\n\tstruct tb *tb;\n\tstruct tb_port *src_port;\n\tstruct tb_port *dst_port;\n\tstruct tb_path **paths;\n\tsize_t npaths;\n\tint (*pre_activate)(struct tb_tunnel *);\n\tint (*activate)(struct tb_tunnel *, bool);\n\tvoid (*post_deactivate)(struct tb_tunnel *);\n\tvoid (*destroy)(struct tb_tunnel *);\n\tint (*maximum_bandwidth)(struct tb_tunnel *, int *, int *);\n\tint (*allocated_bandwidth)(struct tb_tunnel *, int *, int *);\n\tint (*alloc_bandwidth)(struct tb_tunnel *, int *, int *);\n\tint (*consumed_bandwidth)(struct tb_tunnel *, int *, int *);\n\tint (*release_unused_bandwidth)(struct tb_tunnel *);\n\tvoid (*reclaim_available_bandwidth)(struct tb_tunnel *, int *, int *);\n\tstruct list_head list;\n\tenum tb_tunnel_type type;\n\tenum tb_tunnel_state state;\n\tint max_up;\n\tint max_down;\n\tint allocated_up;\n\tint allocated_down;\n\tbool bw_mode;\n\tbool dprx_started;\n\tbool dprx_canceled;\n\tktime_t dprx_timeout;\n\tstruct delayed_work dprx_work;\n\tvoid (*callback)(struct tb_tunnel *, void *);\n\tvoid *callback_data;\n};\n\nstruct tb_xdomain {\n\tstruct device dev;\n\tstruct tb *tb;\n\tuuid_t *remote_uuid;\n\tconst uuid_t *local_uuid;\n\tu64 route;\n\tu16 vendor;\n\tu16 device;\n\tunsigned int local_max_hopid;\n\tunsigned int remote_max_hopid;\n\tstruct mutex lock;\n\tconst char *vendor_name;\n\tconst char *device_name;\n\tunsigned int link_speed;\n\tenum tb_link_width link_width;\n\tbool link_usb4;\n\tbool is_unplugged;\n\tbool needs_uuid;\n\tstruct ida service_ids;\n\tstruct ida in_hopids;\n\tstruct ida out_hopids;\n\tu32 *local_property_block;\n\tu32 local_property_block_gen;\n\tu32 local_property_block_len;\n\tstruct tb_property_dir *remote_properties;\n\tu32 remote_property_block_gen;\n\tint state;\n\tstruct delayed_work state_work;\n\tint state_retries;\n\tstruct delayed_work properties_changed_work;\n\tint properties_changed_retries;\n\tbool bonding_possible;\n\tu8 target_link_width;\n\tu8 link;\n\tu8 depth;\n};\n\nstruct tb_xdomain_header {\n\tu32 route_hi;\n\tu32 route_lo;\n\tu32 length_sn;\n};\n\nstruct tb_xdomain_lookup {\n\tconst uuid_t *uuid;\n\tu8 link;\n\tu8 depth;\n\tu64 route;\n};\n\nstruct tb_xdp_header {\n\tstruct tb_xdomain_header xd_hdr;\n\tuuid_t uuid;\n\tu32 type;\n};\n\nstruct tb_xdp_error_response {\n\tstruct tb_xdp_header hdr;\n\tu32 error;\n};\n\nstruct tb_xdp_link_state_change {\n\tstruct tb_xdp_header hdr;\n\tu8 tlw;\n\tu8 tls;\n\tu16 reserved;\n};\n\nstruct tb_xdp_link_state_change_response {\n\tunion {\n\t\tstruct tb_xdp_error_response err;\n\t\tstruct {\n\t\t\tstruct tb_xdp_header hdr;\n\t\t\tu32 status;\n\t\t};\n\t};\n};\n\nstruct tb_xdp_link_state_status {\n\tstruct tb_xdp_header hdr;\n};\n\nstruct tb_xdp_link_state_status_response {\n\tunion {\n\t\tstruct tb_xdp_error_response err;\n\t\tstruct {\n\t\t\tstruct tb_xdp_header hdr;\n\t\t\tu32 status;\n\t\t\tu8 slw;\n\t\t\tu8 tlw;\n\t\t\tu8 sls;\n\t\t\tu8 tls;\n\t\t};\n\t};\n};\n\nstruct tb_xdp_properties {\n\tstruct tb_xdp_header hdr;\n\tuuid_t src_uuid;\n\tuuid_t dst_uuid;\n\tu16 offset;\n\tu16 reserved;\n};\n\nstruct tb_xdp_properties_changed {\n\tstruct tb_xdp_header hdr;\n\tuuid_t src_uuid;\n};\n\nstruct tb_xdp_properties_changed_response {\n\tunion {\n\t\tstruct tb_xdp_error_response err;\n\t\tstruct tb_xdp_header hdr;\n\t};\n};\n\nstruct tb_xdp_properties_response {\n\tunion {\n\t\tstruct tb_xdp_error_response err;\n\t\tstruct {\n\t\t\tstruct tb_xdp_header hdr;\n\t\t\tuuid_t src_uuid;\n\t\t\tuuid_t dst_uuid;\n\t\t\tu16 offset;\n\t\t\tu16 data_length;\n\t\t\tu32 generation;\n\t\t\tu32 data[0];\n\t\t};\n\t};\n};\n\nstruct tb_xdp_uuid {\n\tstruct tb_xdp_header hdr;\n};\n\nstruct tb_xdp_uuid_response {\n\tunion {\n\t\tstruct tb_xdp_error_response err;\n\t\tstruct {\n\t\t\tstruct tb_xdp_header hdr;\n\t\t\tuuid_t src_uuid;\n\t\t\tu32 src_route_hi;\n\t\t\tu32 src_route_lo;\n\t\t};\n\t};\n};\n\nstruct tc_act_pernet_id {\n\tstruct list_head list;\n\tunsigned int id;\n};\n\nstruct tcf_t {\n\t__u64 install;\n\t__u64 lastuse;\n\t__u64 expires;\n\t__u64 firstuse;\n};\n\nstruct tc_action_ops;\n\nstruct tcf_idrinfo;\n\nstruct tc_cookie;\n\nstruct tcf_chain;\n\nstruct tc_action {\n\tconst struct tc_action_ops *ops;\n\t__u32 type;\n\tstruct tcf_idrinfo *idrinfo;\n\tu32 tcfa_index;\n\trefcount_t tcfa_refcnt;\n\tatomic_t tcfa_bindcnt;\n\tint tcfa_action;\n\tstruct tcf_t tcfa_tm;\n\tlong: 64;\n\tstruct gnet_stats_basic_sync tcfa_bstats;\n\tstruct gnet_stats_basic_sync tcfa_bstats_hw;\n\tstruct gnet_stats_queue tcfa_qstats;\n\tstruct net_rate_estimator *tcfa_rate_est;\n\tspinlock_t tcfa_lock;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_basic_sync *cpu_bstats_hw;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tstruct tc_cookie *user_cookie;\n\tstruct tcf_chain *goto_chain;\n\tu32 tcfa_flags;\n\tu8 hw_stats;\n\tu8 used_hw_stats;\n\tbool used_hw_stats_valid;\n\tu32 in_hw_count;\n};\n\nstruct tc_action_net {\n\tstruct tcf_idrinfo *idrinfo;\n\tconst struct tc_action_ops *ops;\n};\n\ntypedef void (*tc_action_priv_destructor)(void *);\n\nstruct tcf_result;\n\nstruct tc_action_ops {\n\tstruct list_head head;\n\tchar kind[16];\n\tenum tca_id id;\n\tunsigned int net_id;\n\tsize_t size;\n\tstruct module *owner;\n\tint (*act)(struct sk_buff *, const struct tc_action *, struct tcf_result *);\n\tint (*dump)(struct sk_buff *, struct tc_action *, int, int);\n\tvoid (*cleanup)(struct tc_action *);\n\tint (*lookup)(struct net *, struct tc_action **, u32);\n\tint (*init)(struct net *, struct nlattr *, struct nlattr *, struct tc_action **, struct tcf_proto *, u32, struct netlink_ext_ack *);\n\tint (*walk)(struct net *, struct sk_buff *, struct netlink_callback *, int, const struct tc_action_ops *, struct netlink_ext_ack *);\n\tvoid (*stats_update)(struct tc_action *, u64, u64, u64, u64, bool);\n\tsize_t (*get_fill_size)(const struct tc_action *);\n\tstruct net_device * (*get_dev)(const struct tc_action *, tc_action_priv_destructor *);\n\tstruct psample_group * (*get_psample_group)(const struct tc_action *, tc_action_priv_destructor *);\n\tint (*offload_act_setup)(struct tc_action *, void *, u32 *, bool, struct netlink_ext_ack *);\n};\n\nstruct tc_bind_class_args {\n\tstruct qdisc_walker w;\n\tlong unsigned int new_cl;\n\tu32 portid;\n\tu32 clid;\n};\n\nstruct tc_cbs_qopt_offload {\n\tu8 enable;\n\ts32 queue;\n\ts32 hicredit;\n\ts32 locredit;\n\ts32 idleslope;\n\ts32 sendslope;\n};\n\nstruct tc_cls_u32_hnode {\n\tu32 handle;\n\tu32 prio;\n\tunsigned int divisor;\n};\n\nstruct tcf_exts;\n\nstruct tc_u32_sel;\n\nstruct tc_cls_u32_knode {\n\tstruct tcf_exts *exts;\n\tstruct tcf_result *res;\n\tstruct tc_u32_sel *sel;\n\tu32 handle;\n\tu32 val;\n\tu32 mask;\n\tu32 link_handle;\n\tu8 fshift;\n};\n\nstruct tc_cls_u32_offload {\n\tstruct flow_cls_common_offload common;\n\tenum tc_clsu32_command command;\n\tunion {\n\t\tstruct tc_cls_u32_knode knode;\n\t\tstruct tc_cls_u32_hnode hnode;\n\t};\n};\n\nstruct tc_cookie {\n\tu8 *data;\n\tu32 len;\n\tstruct callback_head rcu;\n};\n\nstruct tc_etf_qopt_offload {\n\tu8 enable;\n\ts32 queue;\n};\n\nstruct tc_fifo_qopt {\n\t__u32 limit;\n};\n\nstruct tc_qopt_offload_stats {\n\tstruct gnet_stats_basic_sync *bstats;\n\tstruct gnet_stats_queue *qstats;\n};\n\nstruct tc_fifo_qopt_offload {\n\tenum tc_fifo_command command;\n\tu32 handle;\n\tu32 parent;\n\tunion {\n\t\tstruct tc_qopt_offload_stats stats;\n\t};\n};\n\nstruct tc_mq_opt_offload_graft_params {\n\tlong unsigned int queue;\n\tu32 child_handle;\n};\n\nstruct tc_mq_qopt_offload {\n\tenum tc_mq_command command;\n\tu32 handle;\n\tunion {\n\t\tstruct tc_qopt_offload_stats stats;\n\t\tstruct tc_mq_opt_offload_graft_params graft_params;\n\t};\n};\n\nstruct tc_mqprio_caps {\n\tbool validate_queue_counts: 1;\n};\n\nstruct tc_mqprio_qopt {\n\t__u8 num_tc;\n\t__u8 prio_tc_map[16];\n\t__u8 hw;\n\t__u16 count[16];\n\t__u16 offset[16];\n};\n\nstruct tc_mqprio_qopt_offload {\n\tstruct tc_mqprio_qopt qopt;\n\tstruct netlink_ext_ack *extack;\n\tu16 mode;\n\tu16 shaper;\n\tu32 flags;\n\tu64 min_rate[16];\n\tu64 max_rate[16];\n\tlong unsigned int preemptible_tcs;\n};\n\nstruct tc_pedit_key {\n\t__u32 mask;\n\t__u32 val;\n\t__u32 off;\n\t__u32 at;\n\t__u32 offmask;\n\t__u32 shift;\n};\n\nstruct tc_prio_qopt {\n\tint bands;\n\t__u8 priomap[16];\n};\n\nstruct tc_query_caps_base {\n\tenum tc_setup_type type;\n\tvoid *caps;\n};\n\nstruct tc_root_qopt_offload {\n\tenum tc_root_command command;\n\tu32 handle;\n\tbool ingress;\n};\n\nstruct tc_skb_cb {\n\tstruct qdisc_skb_cb qdisc_cb;\n\tu32 drop_reason;\n\tu16 zone;\n\tu16 mru;\n\tu8 post_ct: 1;\n\tu8 post_ct_snat: 1;\n\tu8 post_ct_dnat: 1;\n};\n\nstruct tc_taprio_caps {\n\tbool supports_queue_max_sdu: 1;\n\tbool gate_mask_per_txq: 1;\n\tbool broken_mqprio: 1;\n};\n\nstruct tc_taprio_qopt_stats {\n\tu64 window_drops;\n\tu64 tx_overruns;\n};\n\nstruct tc_taprio_qopt_queue_stats {\n\tint queue;\n\tstruct tc_taprio_qopt_stats stats;\n};\n\nstruct tc_taprio_sched_entry {\n\tu8 command;\n\tu32 gate_mask;\n\tu32 interval;\n};\n\nstruct tc_taprio_qopt_offload {\n\tenum tc_taprio_qopt_cmd cmd;\n\tunion {\n\t\tstruct tc_taprio_qopt_stats stats;\n\t\tstruct tc_taprio_qopt_queue_stats queue_stats;\n\t\tstruct {\n\t\t\tstruct tc_mqprio_qopt_offload mqprio;\n\t\t\tstruct netlink_ext_ack *extack;\n\t\t\tktime_t base_time;\n\t\t\tu64 cycle_time;\n\t\t\tu64 cycle_time_extension;\n\t\t\tu32 max_sdu[16];\n\t\t\tsize_t num_entries;\n\t\t\tstruct tc_taprio_sched_entry entries[0];\n\t\t};\n\t};\n};\n\nstruct tc_u32_key {\n\t__be32 mask;\n\t__be32 val;\n\tint off;\n\tint offmask;\n};\n\nstruct tc_u32_sel_hdr {\n\tunsigned char flags;\n\tunsigned char offshift;\n\tunsigned char nkeys;\n\t__be16 offmask;\n\t__u16 off;\n\tshort int offoff;\n\tshort int hoff;\n\t__be32 hmask;\n};\n\nstruct tc_u32_sel {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned char flags;\n\t\t\tunsigned char offshift;\n\t\t\tunsigned char nkeys;\n\t\t\t__be16 offmask;\n\t\t\t__u16 off;\n\t\t\tshort int offoff;\n\t\t\tshort int hoff;\n\t\t\t__be32 hmask;\n\t\t};\n\t\tstruct tc_u32_sel_hdr hdr;\n\t};\n\tstruct tc_u32_key keys[0];\n};\n\nstruct tcamsg {\n\tunsigned char tca_family;\n\tunsigned char tca__pad1;\n\tshort unsigned int tca__pad2;\n};\n\nstruct tcf_walker {\n\tint stop;\n\tint skip;\n\tint count;\n\tbool nonempty;\n\tlong unsigned int cookie;\n\tint (*fn)(struct tcf_proto *, void *, struct tcf_walker *);\n};\n\nstruct tcf_bind_args {\n\tstruct tcf_walker w;\n\tlong unsigned int base;\n\tlong unsigned int cl;\n\tu32 classid;\n};\n\nstruct tcf_block {\n\tstruct xarray ports;\n\tstruct mutex lock;\n\tstruct list_head chain_list;\n\tu32 index;\n\tu32 classid;\n\trefcount_t refcnt;\n\tstruct net *net;\n\tstruct Qdisc *q;\n\tstruct rw_semaphore cb_lock;\n\tstruct flow_block flow_block;\n\tstruct list_head owner_list;\n\tbool keep_dst;\n\tatomic_t useswcnt;\n\tatomic_t offloadcnt;\n\tunsigned int nooffloaddevcnt;\n\tunsigned int lockeddevcnt;\n\tstruct {\n\t\tstruct tcf_chain *chain;\n\t\tstruct list_head filter_chain_list;\n\t} chain0;\n\tstruct callback_head rcu;\n\tstruct hlist_head proto_destroy_ht[128];\n\tstruct mutex proto_destroy_lock;\n};\n\ntypedef void tcf_chain_head_change_t(struct tcf_proto *, void *);\n\nstruct tcf_block_ext_info {\n\tenum flow_block_binder_type binder_type;\n\ttcf_chain_head_change_t *chain_head_change;\n\tvoid *chain_head_change_priv;\n\tu32 block_index;\n};\n\nstruct tcf_block_owner_item {\n\tstruct list_head list;\n\tstruct Qdisc *q;\n\tenum flow_block_binder_type binder_type;\n};\n\nstruct tcf_proto_ops;\n\nstruct tcf_chain {\n\tstruct mutex filter_chain_lock;\n\tstruct tcf_proto *filter_chain;\n\tstruct list_head list;\n\tstruct tcf_block *block;\n\tu32 index;\n\tunsigned int refcnt;\n\tunsigned int action_refcnt;\n\tbool explicitly_created;\n\tbool flushing;\n\tconst struct tcf_proto_ops *tmplt_ops;\n\tvoid *tmplt_priv;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_chain_info {\n\tstruct tcf_proto **pprev;\n\tstruct tcf_proto *next;\n};\n\nstruct tcf_dump_args {\n\tstruct tcf_walker w;\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n\tstruct tcf_block *block;\n\tstruct Qdisc *q;\n\tu32 parent;\n\tbool terse_dump;\n};\n\nstruct tcf_exts_miss_cookie_node;\n\nstruct tcf_exts {\n\t__u32 type;\n\tint nr_actions;\n\tstruct tc_action **actions;\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n\tstruct tcf_exts_miss_cookie_node *miss_cookie_node;\n\tint action;\n\tint police;\n};\n\nunion tcf_exts_miss_cookie {\n\tstruct {\n\t\tu32 miss_cookie_base;\n\t\tu32 act_index;\n\t};\n\tu64 miss_cookie;\n};\n\nstruct tcf_exts_miss_cookie_node {\n\tconst struct tcf_chain *chain;\n\tconst struct tcf_proto *tp;\n\tconst struct tcf_exts *exts;\n\tu32 chain_index;\n\tu32 tp_prio;\n\tu32 handle;\n\tu32 miss_cookie_base;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_filter_chain_list_item {\n\tstruct list_head list;\n\ttcf_chain_head_change_t *chain_head_change;\n\tvoid *chain_head_change_priv;\n};\n\nstruct tcf_gact {\n\tstruct tc_action common;\n};\n\nstruct tcf_idrinfo {\n\tstruct mutex lock;\n\tstruct idr action_idr;\n\tstruct net *net;\n};\n\nstruct tcf_mirred {\n\tstruct tc_action common;\n\tint tcfm_eaction;\n\tu32 tcfm_blockid;\n\tbool tcfm_mac_header_xmit;\n\tstruct net_device *tcfm_dev;\n\tnetdevice_tracker tcfm_dev_tracker;\n\tstruct list_head tcfm_list;\n\tlong: 64;\n};\n\nstruct tcf_net {\n\tspinlock_t idr_lock;\n\tstruct idr idr;\n};\n\nstruct tcf_pedit_parms;\n\nstruct tcf_pedit {\n\tstruct tc_action common;\n\tstruct tcf_pedit_parms *parms;\n\tlong: 64;\n};\n\nstruct tcf_pedit_key_ex {\n\tenum pedit_header_type htype;\n\tenum pedit_cmd cmd;\n};\n\nstruct tcf_pedit_parms {\n\tstruct tc_pedit_key *tcfp_keys;\n\tstruct tcf_pedit_key_ex *tcfp_keys_ex;\n\tu32 tcfp_off_max_hint;\n\tunsigned char tcfp_nkeys;\n\tunsigned char tcfp_flags;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_proto {\n\tstruct tcf_proto *next;\n\tvoid *root;\n\tint (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *);\n\t__be16 protocol;\n\tu32 prio;\n\tvoid *data;\n\tconst struct tcf_proto_ops *ops;\n\tstruct tcf_chain *chain;\n\tspinlock_t lock;\n\tbool deleting;\n\tbool counted;\n\tbool usesw;\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tstruct hlist_node destroy_ht_node;\n};\n\nstruct tcf_proto_ops {\n\tstruct list_head head;\n\tchar kind[16];\n\tint (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *);\n\tint (*init)(struct tcf_proto *);\n\tvoid (*destroy)(struct tcf_proto *, bool, struct netlink_ext_ack *);\n\tvoid * (*get)(struct tcf_proto *, u32);\n\tvoid (*put)(struct tcf_proto *, void *);\n\tint (*change)(struct net *, struct sk_buff *, struct tcf_proto *, long unsigned int, u32, struct nlattr **, void **, u32, struct netlink_ext_ack *);\n\tint (*delete)(struct tcf_proto *, void *, bool *, bool, struct netlink_ext_ack *);\n\tbool (*delete_empty)(struct tcf_proto *);\n\tvoid (*walk)(struct tcf_proto *, struct tcf_walker *, bool);\n\tint (*reoffload)(struct tcf_proto *, bool, flow_setup_cb_t *, void *, struct netlink_ext_ack *);\n\tvoid (*hw_add)(struct tcf_proto *, void *);\n\tvoid (*hw_del)(struct tcf_proto *, void *);\n\tvoid (*bind_class)(void *, u32, long unsigned int, void *, long unsigned int);\n\tvoid * (*tmplt_create)(struct net *, struct tcf_chain *, struct nlattr **, struct netlink_ext_ack *);\n\tvoid (*tmplt_destroy)(void *);\n\tvoid (*tmplt_reoffload)(struct tcf_chain *, bool, flow_setup_cb_t *, void *);\n\tstruct tcf_exts * (*get_exts)(const struct tcf_proto *, u32);\n\tint (*dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool);\n\tint (*terse_dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool);\n\tint (*tmplt_dump)(struct sk_buff *, struct net *, void *);\n\tstruct module *owner;\n\tint flags;\n};\n\nstruct tcf_qevent {\n\tstruct tcf_block *block;\n\tstruct tcf_block_ext_info info;\n\tstruct tcf_proto *filter_chain;\n};\n\nstruct tcf_result {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int class;\n\t\t\tu32 classid;\n\t\t};\n\t\tconst struct tcf_proto *goto_tp;\n\t};\n};\n\nstruct tcg_efi_specid_event_algs {\n\tu16 alg_id;\n\tu16 digest_size;\n};\n\nstruct tcg_efi_specid_event_head {\n\tu8 signature[16];\n\tu32 platform_class;\n\tu8 spec_version_minor;\n\tu8 spec_version_major;\n\tu8 spec_errata;\n\tu8 uintnsize;\n\tu32 num_algs;\n\tstruct tcg_efi_specid_event_algs digest_sizes[0];\n};\n\nstruct tcg_event_field {\n\tu32 event_size;\n\tu8 event[0];\n};\n\nstruct tcg_pcr_event {\n\tu32 pcr_idx;\n\tu32 event_type;\n\tu8 digest[20];\n\tu32 event_size;\n\tu8 event[0];\n};\n\nstruct tpm_digest {\n\tu16 alg_id;\n\tu8 digest[64];\n};\n\nstruct tcg_pcr_event2_head {\n\tu32 pcr_idx;\n\tu32 event_type;\n\tu32 count;\n\tstruct tpm_digest digests[0];\n};\n\nstruct tcmsg {\n\tunsigned char tcm_family;\n\tunsigned char tcm__pad1;\n\tshort unsigned int tcm__pad2;\n\tint tcm_ifindex;\n\t__u32 tcm_handle;\n\t__u32 tcm_parent;\n\t__u32 tcm_info;\n};\n\nstruct tcp_options_received {\n\tint ts_recent_stamp;\n\tu32 ts_recent;\n\tu32 rcv_tsval;\n\tu32 rcv_tsecr;\n\tu16 saw_tstamp: 1;\n\tu16 tstamp_ok: 1;\n\tu16 dsack: 1;\n\tu16 wscale_ok: 1;\n\tu16 sack_ok: 3;\n\tu16 smc_ok: 1;\n\tu16 snd_wscale: 4;\n\tu16 rcv_wscale: 4;\n\tu8 saw_unknown: 1;\n\tu8 unused: 7;\n\tu8 num_sacks;\n\tu16 user_mss;\n\tu16 mss_clamp;\n};\n\nstruct tcp_rack {\n\tu64 mstamp;\n\tu32 rtt_us;\n\tu32 end_seq;\n\tu32 last_delivered;\n\tu8 reo_wnd_steps;\n\tu8 reo_wnd_persist: 5;\n\tu8 dsack_seen: 1;\n\tu8 advanced: 1;\n};\n\nstruct tcp_sack_block {\n\tu32 start_seq;\n\tu32 end_seq;\n};\n\nstruct tcp_fastopen_request;\n\nstruct tcp_sock {\n\tstruct inet_connection_sock inet_conn;\n\t__u8 __cacheline_group_begin__tcp_sock_read_tx[0];\n\tu32 max_window;\n\tu32 rcv_ssthresh;\n\tu32 reordering;\n\tu32 notsent_lowat;\n\tu16 gso_segs;\n\tstruct sk_buff *lost_skb_hint;\n\tstruct sk_buff *retransmit_skb_hint;\n\t__u8 __cacheline_group_end__tcp_sock_read_tx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_read_txrx[0];\n\tu32 tsoffset;\n\tu32 snd_wnd;\n\tu32 mss_cache;\n\tu32 snd_cwnd;\n\tu32 prr_out;\n\tu32 lost_out;\n\tu32 sacked_out;\n\tu16 tcp_header_len;\n\tu8 scaling_ratio;\n\tu8 chrono_type: 2;\n\tu8 repair: 1;\n\tu8 tcp_usec_ts: 1;\n\tu8 is_sack_reneg: 1;\n\tu8 is_cwnd_limited: 1;\n\t__u8 __cacheline_group_end__tcp_sock_read_txrx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_read_rx[0];\n\tu32 copied_seq;\n\tu32 rcv_tstamp;\n\tu32 snd_wl1;\n\tu32 tlp_high_seq;\n\tu32 rttvar_us;\n\tu32 retrans_out;\n\tu16 advmss;\n\tu16 urg_data;\n\tu32 lost;\n\tstruct minmax rtt_min;\n\tstruct rb_root out_of_order_queue;\n\tu32 snd_ssthresh;\n\tu8 recvmsg_inq: 1;\n\t__u8 __cacheline_group_end__tcp_sock_read_rx[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\t__u8 __cacheline_group_begin__tcp_sock_write_tx[0];\n\tu32 segs_out;\n\tu32 data_segs_out;\n\tu64 bytes_sent;\n\tu32 snd_sml;\n\tu32 chrono_start;\n\tu32 chrono_stat[3];\n\tu32 write_seq;\n\tu32 pushed_seq;\n\tu32 lsndtime;\n\tu32 mdev_us;\n\tu32 rtt_seq;\n\tu64 tcp_wstamp_ns;\n\tstruct list_head tsorted_sent_queue;\n\tstruct sk_buff *highest_sack;\n\tu8 ecn_flags;\n\t__u8 __cacheline_group_end__tcp_sock_write_tx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_write_txrx[0];\n\t__be32 pred_flags;\n\tu64 tcp_clock_cache;\n\tu64 tcp_mstamp;\n\tu32 rcv_nxt;\n\tu32 snd_nxt;\n\tu32 snd_una;\n\tu32 window_clamp;\n\tu32 srtt_us;\n\tu32 packets_out;\n\tu32 snd_up;\n\tu32 delivered;\n\tu32 delivered_ce;\n\tu32 app_limited;\n\tu32 rcv_wnd;\n\tstruct tcp_options_received rx_opt;\n\tu8 nonagle: 4;\n\tu8 rate_app_limited: 1;\n\t__u8 __cacheline_group_end__tcp_sock_write_txrx[0];\n\tlong: 0;\n\t__u8 __cacheline_group_begin__tcp_sock_write_rx[0];\n\tu64 bytes_received;\n\tu32 segs_in;\n\tu32 data_segs_in;\n\tu32 rcv_wup;\n\tu32 max_packets_out;\n\tu32 cwnd_usage_seq;\n\tu32 rate_delivered;\n\tu32 rate_interval_us;\n\tu32 rcv_rtt_last_tsecr;\n\tu64 first_tx_mstamp;\n\tu64 delivered_mstamp;\n\tu64 bytes_acked;\n\tstruct {\n\t\tu32 rtt_us;\n\t\tu32 seq;\n\t\tu64 time;\n\t} rcv_rtt_est;\n\tstruct {\n\t\tu32 space;\n\t\tu32 seq;\n\t\tu64 time;\n\t} rcvq_space;\n\t__u8 __cacheline_group_end__tcp_sock_write_rx[0];\n\tu32 dsack_dups;\n\tu32 compressed_ack_rcv_nxt;\n\tstruct list_head tsq_node;\n\tstruct tcp_rack rack;\n\tu8 compressed_ack;\n\tu8 dup_ack_counter: 2;\n\tu8 tlp_retrans: 1;\n\tu8 unused: 5;\n\tu8 thin_lto: 1;\n\tu8 fastopen_connect: 1;\n\tu8 fastopen_no_cookie: 1;\n\tu8 fastopen_client_fail: 2;\n\tu8 frto: 1;\n\tu8 repair_queue;\n\tu8 save_syn: 2;\n\tu8 syn_data: 1;\n\tu8 syn_fastopen: 1;\n\tu8 syn_fastopen_exp: 1;\n\tu8 syn_fastopen_ch: 1;\n\tu8 syn_data_acked: 1;\n\tu8 keepalive_probes;\n\tu32 tcp_tx_delay;\n\tu32 mdev_max_us;\n\tu32 reord_seen;\n\tu32 snd_cwnd_cnt;\n\tu32 snd_cwnd_clamp;\n\tu32 snd_cwnd_used;\n\tu32 snd_cwnd_stamp;\n\tu32 prior_cwnd;\n\tu32 prr_delivered;\n\tu32 last_oow_ack_time;\n\tstruct hrtimer pacing_timer;\n\tstruct hrtimer compressed_ack_timer;\n\tstruct sk_buff *ooo_last_skb;\n\tstruct tcp_sack_block duplicate_sack[1];\n\tstruct tcp_sack_block selective_acks[4];\n\tstruct tcp_sack_block recv_sack_cache[4];\n\tint lost_cnt_hint;\n\tu32 prior_ssthresh;\n\tu32 high_seq;\n\tu32 retrans_stamp;\n\tu32 undo_marker;\n\tint undo_retrans;\n\tu64 bytes_retrans;\n\tu32 total_retrans;\n\tu32 rto_stamp;\n\tu16 total_rto;\n\tu16 total_rto_recoveries;\n\tu32 total_rto_time;\n\tu32 urg_seq;\n\tunsigned int keepalive_time;\n\tunsigned int keepalive_intvl;\n\tint linger2;\n\tu8 bpf_sock_ops_cb_flags;\n\tu8 bpf_chg_cc_inprogress: 1;\n\tu16 timeout_rehash;\n\tu32 rcv_ooopack;\n\tstruct {\n\t\tu32 probe_seq_start;\n\t\tu32 probe_seq_end;\n\t} mtu_probe;\n\tu32 plb_rehash;\n\tu32 mtu_info;\n\tbool is_mptcp;\n\tstruct tcp_fastopen_request *fastopen_req;\n\tstruct request_sock *fastopen_rsk;\n\tstruct saved_syn *saved_syn;\n};\n\nstruct tcp6_sock {\n\tstruct tcp_sock tcp;\n\tstruct ipv6_pinfo inet6;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion tcp_ao_addr {\n\tstruct in_addr a4;\n\tstruct in6_addr a6;\n};\n\nstruct tcp_ao_hdr {\n\tu8 kind;\n\tu8 length;\n\tu8 keyid;\n\tu8 rnext_keyid;\n};\n\nstruct tcp_ao_key {\n\tstruct hlist_node node;\n\tunion tcp_ao_addr addr;\n\tu8 key[80];\n\tunsigned int tcp_sigpool_id;\n\tunsigned int digest_size;\n\tint l3index;\n\tu8 prefixlen;\n\tu8 family;\n\tu8 keylen;\n\tu8 keyflags;\n\tu8 sndid;\n\tu8 rcvid;\n\tu8 maclen;\n\tstruct callback_head rcu;\n\tatomic64_t pkt_good;\n\tatomic64_t pkt_bad;\n\tu8 traffic_keys[0];\n};\n\nstruct tcp_bbr_info {\n\t__u32 bbr_bw_lo;\n\t__u32 bbr_bw_hi;\n\t__u32 bbr_min_rtt;\n\t__u32 bbr_pacing_gain;\n\t__u32 bbr_cwnd_gain;\n};\n\nstruct tcpvegas_info {\n\t__u32 tcpv_enabled;\n\t__u32 tcpv_rttcnt;\n\t__u32 tcpv_rtt;\n\t__u32 tcpv_minrtt;\n};\n\nstruct tcp_dctcp_info {\n\t__u16 dctcp_enabled;\n\t__u16 dctcp_ce_state;\n\t__u32 dctcp_alpha;\n\t__u32 dctcp_ab_ecn;\n\t__u32 dctcp_ab_tot;\n};\n\nunion tcp_cc_info {\n\tstruct tcpvegas_info vegas;\n\tstruct tcp_dctcp_info dctcp;\n\tstruct tcp_bbr_info bbr;\n};\n\nstruct tcp_fastopen_context {\n\tsiphash_key_t key[2];\n\tint num;\n\tstruct callback_head rcu;\n};\n\nstruct tcp_fastopen_cookie {\n\t__le64 val[2];\n\ts8 len;\n\tbool exp;\n};\n\nstruct tcp_fastopen_metrics {\n\tu16 mss;\n\tu16 syn_loss: 10;\n\tu16 try_exp: 2;\n\tlong unsigned int last_syn_loss;\n\tstruct tcp_fastopen_cookie cookie;\n};\n\nstruct tcp_fastopen_request {\n\tstruct tcp_fastopen_cookie cookie;\n\tstruct msghdr *data;\n\tsize_t size;\n\tint copied;\n\tstruct ubuf_info *uarg;\n};\n\nstruct tcp_info {\n\t__u8 tcpi_state;\n\t__u8 tcpi_ca_state;\n\t__u8 tcpi_retransmits;\n\t__u8 tcpi_probes;\n\t__u8 tcpi_backoff;\n\t__u8 tcpi_options;\n\t__u8 tcpi_snd_wscale: 4;\n\t__u8 tcpi_rcv_wscale: 4;\n\t__u8 tcpi_delivery_rate_app_limited: 1;\n\t__u8 tcpi_fastopen_client_fail: 2;\n\t__u32 tcpi_rto;\n\t__u32 tcpi_ato;\n\t__u32 tcpi_snd_mss;\n\t__u32 tcpi_rcv_mss;\n\t__u32 tcpi_unacked;\n\t__u32 tcpi_sacked;\n\t__u32 tcpi_lost;\n\t__u32 tcpi_retrans;\n\t__u32 tcpi_fackets;\n\t__u32 tcpi_last_data_sent;\n\t__u32 tcpi_last_ack_sent;\n\t__u32 tcpi_last_data_recv;\n\t__u32 tcpi_last_ack_recv;\n\t__u32 tcpi_pmtu;\n\t__u32 tcpi_rcv_ssthresh;\n\t__u32 tcpi_rtt;\n\t__u32 tcpi_rttvar;\n\t__u32 tcpi_snd_ssthresh;\n\t__u32 tcpi_snd_cwnd;\n\t__u32 tcpi_advmss;\n\t__u32 tcpi_reordering;\n\t__u32 tcpi_rcv_rtt;\n\t__u32 tcpi_rcv_space;\n\t__u32 tcpi_total_retrans;\n\t__u64 tcpi_pacing_rate;\n\t__u64 tcpi_max_pacing_rate;\n\t__u64 tcpi_bytes_acked;\n\t__u64 tcpi_bytes_received;\n\t__u32 tcpi_segs_out;\n\t__u32 tcpi_segs_in;\n\t__u32 tcpi_notsent_bytes;\n\t__u32 tcpi_min_rtt;\n\t__u32 tcpi_data_segs_in;\n\t__u32 tcpi_data_segs_out;\n\t__u64 tcpi_delivery_rate;\n\t__u64 tcpi_busy_time;\n\t__u64 tcpi_rwnd_limited;\n\t__u64 tcpi_sndbuf_limited;\n\t__u32 tcpi_delivered;\n\t__u32 tcpi_delivered_ce;\n\t__u64 tcpi_bytes_sent;\n\t__u64 tcpi_bytes_retrans;\n\t__u32 tcpi_dsack_dups;\n\t__u32 tcpi_reord_seen;\n\t__u32 tcpi_rcv_ooopack;\n\t__u32 tcpi_snd_wnd;\n\t__u32 tcpi_rcv_wnd;\n\t__u32 tcpi_rehash;\n\t__u16 tcpi_total_rto;\n\t__u16 tcpi_total_rto_recoveries;\n\t__u32 tcpi_total_rto_time;\n};\n\nstruct tcp_md5sig_key;\n\nstruct tcp_key {\n\tunion {\n\t\tstruct {\n\t\t\tstruct tcp_ao_key *ao_key;\n\t\t\tchar *traffic_key;\n\t\t\tu32 sne;\n\t\t\tu8 rcv_next;\n\t\t};\n\t\tstruct tcp_md5sig_key *md5_key;\n\t};\n\tenum {\n\t\tTCP_KEY_NONE = 0,\n\t\tTCP_KEY_MD5 = 1,\n\t\tTCP_KEY_AO = 2,\n\t} type;\n};\n\nstruct tcp_md5sig_key {\n\tstruct hlist_node node;\n\tu8 keylen;\n\tu8 family;\n\tu8 prefixlen;\n\tu8 flags;\n\tunion tcp_ao_addr addr;\n\tint l3index;\n\tu8 key[80];\n\tstruct callback_head rcu;\n};\n\nstruct tcp_metrics_block {\n\tstruct tcp_metrics_block *tcpm_next;\n\tstruct net *tcpm_net;\n\tstruct inetpeer_addr tcpm_saddr;\n\tstruct inetpeer_addr tcpm_daddr;\n\tlong unsigned int tcpm_stamp;\n\tu32 tcpm_lock;\n\tu32 tcpm_vals[5];\n\tstruct tcp_fastopen_metrics tcpm_fastopen;\n\tstruct callback_head callback_head;\n};\n\nstruct tcp_mib {\n\tlong unsigned int mibs[16];\n};\n\nstruct tcp_out_options {\n\tu16 options;\n\tu16 mss;\n\tu8 ws;\n\tu8 num_sack_blocks;\n\tu8 hash_size;\n\tu8 bpf_opt_len;\n\t__u8 *hash_location;\n\t__u32 tsval;\n\t__u32 tsecr;\n\tstruct tcp_fastopen_cookie *fastopen_cookie;\n\tstruct mptcp_out_options mptcp;\n};\n\nstruct tcp_plb_state {\n\tu8 consec_cong_rounds: 5;\n\tu8 unused: 3;\n\tu32 pause_until;\n};\n\nstruct tcp_repair_opt {\n\t__u32 opt_code;\n\t__u32 opt_val;\n};\n\nstruct tcp_repair_window {\n\t__u32 snd_wl1;\n\t__u32 snd_wnd;\n\t__u32 max_window;\n\t__u32 rcv_wnd;\n\t__u32 rcv_wup;\n};\n\nstruct tcp_request_sock_ops {\n\tu16 mss_clamp;\n\t__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);\n\tstruct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *, u32);\n\tu32 (*init_seq)(const struct sk_buff *);\n\tu32 (*init_ts_off)(const struct net *, const struct sk_buff *);\n\tint (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);\n};\n\nstruct tcp_sack_block_wire {\n\t__be32 start_seq;\n\t__be32 end_seq;\n};\n\nstruct tcp_sacktag_state {\n\tu64 first_sackt;\n\tu64 last_sackt;\n\tu32 reord;\n\tu32 sack_delivered;\n\tint flag;\n\tunsigned int mss_now;\n\tstruct rate_sample *rate;\n};\n\nstruct tcp_seq_afinfo {\n\tsa_family_t family;\n};\n\nstruct tcp_skb_cb {\n\t__u32 seq;\n\t__u32 end_seq;\n\tunion {\n\t\tstruct {\n\t\t\tu16 tcp_gso_segs;\n\t\t\tu16 tcp_gso_size;\n\t\t};\n\t};\n\t__u8 tcp_flags;\n\t__u8 sacked;\n\t__u8 ip_dsfield;\n\t__u8 txstamp_ack: 1;\n\t__u8 eor: 1;\n\t__u8 has_rxtstamp: 1;\n\t__u8 unused: 5;\n\t__u32 ack_seq;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 is_app_limited: 1;\n\t\t\t__u32 delivered_ce: 20;\n\t\t\t__u32 unused: 11;\n\t\t\t__u32 delivered;\n\t\t\tu64 first_tx_mstamp;\n\t\t\tu64 delivered_mstamp;\n\t\t} tx;\n\t\tunion {\n\t\t\tstruct inet_skb_parm h4;\n\t\t\tstruct inet6_skb_parm h6;\n\t\t} header;\n\t};\n};\n\nstruct tcp_splice_state {\n\tstruct pipe_inode_info *pipe;\n\tsize_t len;\n\tunsigned int flags;\n};\n\nstruct tcp_timewait_sock {\n\tstruct inet_timewait_sock tw_sk;\n\tu32 tw_rcv_wnd;\n\tu32 tw_ts_offset;\n\tu32 tw_ts_recent;\n\tu32 tw_last_oow_ack_time;\n\tint tw_ts_recent_stamp;\n\tu32 tw_tx_delay;\n};\n\nstruct tcp_ulp_ops {\n\tstruct list_head list;\n\tint (*init)(struct sock *);\n\tvoid (*update)(struct sock *, struct proto *, void (*)(struct sock *));\n\tvoid (*release)(struct sock *);\n\tint (*get_info)(struct sock *, struct sk_buff *);\n\tsize_t (*get_info_size)(const struct sock *);\n\tvoid (*clone)(const struct request_sock *, struct sock *, const gfp_t);\n\tchar name[16];\n\tstruct module *owner;\n};\n\nstruct tcphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be32 seq;\n\t__be32 ack_seq;\n\t__u16 res1: 4;\n\t__u16 doff: 4;\n\t__u16 fin: 1;\n\t__u16 syn: 1;\n\t__u16 rst: 1;\n\t__u16 psh: 1;\n\t__u16 ack: 1;\n\t__u16 urg: 1;\n\t__u16 ece: 1;\n\t__u16 cwr: 1;\n\t__be16 window;\n\t__sum16 check;\n\t__be16 urg_ptr;\n};\n\nunion tcp_word_hdr {\n\tstruct tcphdr hdr;\n\t__be32 words[5];\n};\n\nstruct tcp_xa_pool {\n\tu8 max;\n\tu8 idx;\n\t__u32 tokens[17];\n\tnetmem_ref netmems[17];\n};\n\nstruct tcp_zerocopy_receive {\n\t__u64 address;\n\t__u32 length;\n\t__u32 recv_skip_hint;\n\t__u32 inq;\n\t__s32 err;\n\t__u64 copybuf_address;\n\t__s32 copybuf_len;\n\t__u32 flags;\n\t__u64 msg_control;\n\t__u64 msg_controllen;\n\t__u32 msg_flags;\n\t__u32 reserved;\n};\n\nstruct tcpa_event {\n\tu32 pcr_index;\n\tu32 event_type;\n\tu8 pcr_value[20];\n\tu32 event_size;\n\tu8 event_data[0];\n};\n\nstruct tcpm_hash_bucket {\n\tstruct tcp_metrics_block *chain;\n};\n\nstruct tcx_entry {\n\tstruct mini_Qdisc *miniq;\n\tstruct bpf_mprog_bundle bundle;\n\tu32 miniq_active;\n\tstruct callback_head rcu;\n};\n\nstruct tcx_link {\n\tstruct bpf_link link;\n\tstruct net_device *dev;\n\tu32 location;\n};\n\nstruct td {\n\t__hc32 hwINFO;\n\t__hc32 hwCBP;\n\t__hc32 hwNextTD;\n\t__hc32 hwBE;\n\t__hc16 hwPSW[2];\n\t__u8 index;\n\tstruct ed *ed;\n\tstruct td *td_hash;\n\tstruct td *next_dl_td;\n\tstruct urb *urb;\n\tdma_addr_t td_dma;\n\tdma_addr_t data_dma;\n\tstruct list_head td_list;\n\tlong: 64;\n};\n\nstruct termio {\n\tshort unsigned int c_iflag;\n\tshort unsigned int c_oflag;\n\tshort unsigned int c_cflag;\n\tshort unsigned int c_lflag;\n\tunsigned char c_line;\n\tunsigned char c_cc[8];\n};\n\nstruct termios {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n};\n\nstruct termios2 {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n\tspeed_t c_ispeed;\n\tspeed_t c_ospeed;\n};\n\nstruct test_sg_division {\n\tunsigned int proportion_of_total;\n\tunsigned int offset;\n\tbool offset_relative_to_alignmask;\n\tenum flush_type flush_type;\n\tbool nosimd;\n};\n\nstruct testvec_config {\n\tconst char *name;\n\tenum inplace_mode inplace_mode;\n\tu32 req_flags;\n\tstruct test_sg_division src_divs[8];\n\tstruct test_sg_division dst_divs[8];\n\tunsigned int iv_offset;\n\tunsigned int key_offset;\n\tbool iv_offset_relative_to_alignmask;\n\tbool key_offset_relative_to_alignmask;\n\tenum finalization_type finalization_type;\n\tbool nosimd;\n\tbool nosimd_setkey;\n};\n\nstruct tgid_iter {\n\tunsigned int tgid;\n\tstruct task_struct *task;\n};\n\nstruct thermal_attr {\n\tstruct device_attribute attr;\n\tchar name[20];\n};\n\ntypedef struct thermal_cooling_device *class_cooling_dev_t;\n\nstruct thermal_cooling_device_ops;\n\nstruct thermal_cooling_device {\n\tint id;\n\tconst char *type;\n\tlong unsigned int max_state;\n\tstruct device device;\n\tstruct device_node *np;\n\tvoid *devdata;\n\tvoid *stats;\n\tconst struct thermal_cooling_device_ops *ops;\n\tbool updated;\n\tstruct mutex lock;\n\tstruct list_head thermal_instances;\n\tstruct list_head node;\n};\n\nstruct thermal_cooling_device_ops {\n\tint (*get_max_state)(struct thermal_cooling_device *, long unsigned int *);\n\tint (*get_cur_state)(struct thermal_cooling_device *, long unsigned int *);\n\tint (*set_cur_state)(struct thermal_cooling_device *, long unsigned int);\n\tint (*get_requested_power)(struct thermal_cooling_device *, u32 *);\n\tint (*state2power)(struct thermal_cooling_device *, long unsigned int, u32 *);\n\tint (*power2state)(struct thermal_cooling_device *, u32, long unsigned int *);\n};\n\nstruct thermal_trip;\n\nstruct thermal_governor {\n\tconst char *name;\n\tint (*bind_to_tz)(struct thermal_zone_device *);\n\tvoid (*unbind_from_tz)(struct thermal_zone_device *);\n\tvoid (*trip_crossed)(struct thermal_zone_device *, const struct thermal_trip *, bool);\n\tvoid (*manage)(struct thermal_zone_device *);\n\tvoid (*update_tz)(struct thermal_zone_device *, enum thermal_notify_event);\n\tstruct list_head governor_list;\n};\n\nstruct thermal_hwmon_attr {\n\tstruct device_attribute attr;\n\tchar name[16];\n};\n\nstruct thermal_hwmon_device {\n\tchar type[20];\n\tstruct device *device;\n\tint count;\n\tstruct list_head tz_list;\n\tstruct list_head node;\n};\n\nstruct thermal_hwmon_temp {\n\tstruct list_head hwmon_node;\n\tstruct thermal_zone_device *tz;\n\tstruct thermal_hwmon_attr temp_input;\n\tstruct thermal_hwmon_attr temp_crit;\n};\n\nstruct thermal_instance {\n\tint id;\n\tchar name[20];\n\tstruct thermal_cooling_device *cdev;\n\tconst struct thermal_trip *trip;\n\tbool initialized;\n\tlong unsigned int upper;\n\tlong unsigned int lower;\n\tlong unsigned int target;\n\tchar attr_name[20];\n\tstruct device_attribute attr;\n\tchar weight_attr_name[20];\n\tstruct device_attribute weight_attr;\n\tstruct list_head trip_node;\n\tstruct list_head cdev_node;\n\tunsigned int weight;\n\tbool upper_no_limit;\n};\n\nstruct thermal_trip {\n\tint temperature;\n\tint hysteresis;\n\tenum thermal_trip_type type;\n\tu8 flags;\n\tvoid *priv;\n};\n\nstruct thermal_trip_attrs {\n\tstruct thermal_attr type;\n\tstruct thermal_attr temp;\n\tstruct thermal_attr hyst;\n};\n\nstruct thermal_trip_desc {\n\tstruct thermal_trip trip;\n\tstruct thermal_trip_attrs trip_attrs;\n\tstruct list_head list_node;\n\tstruct list_head thermal_instances;\n\tint threshold;\n};\n\ntypedef struct thermal_zone_device *class_thermal_zone_reverse_t;\n\ntypedef struct thermal_zone_device *class_thermal_zone_t;\n\nstruct thermal_zone_device_ops {\n\tbool (*should_bind)(struct thermal_zone_device *, const struct thermal_trip *, struct thermal_cooling_device *, struct cooling_spec *);\n\tint (*get_temp)(struct thermal_zone_device *, int *);\n\tint (*set_trips)(struct thermal_zone_device *, int, int);\n\tint (*change_mode)(struct thermal_zone_device *, enum thermal_device_mode);\n\tint (*set_trip_temp)(struct thermal_zone_device *, const struct thermal_trip *, int);\n\tint (*get_crit_temp)(struct thermal_zone_device *, int *);\n\tint (*set_emul_temp)(struct thermal_zone_device *, int);\n\tint (*get_trend)(struct thermal_zone_device *, const struct thermal_trip *, enum thermal_trend *);\n\tvoid (*hot)(struct thermal_zone_device *);\n\tvoid (*critical)(struct thermal_zone_device *);\n};\n\nstruct thermal_zone_params;\n\nstruct thermal_zone_device {\n\tint id;\n\tchar type[20];\n\tstruct device device;\n\tstruct completion removal;\n\tstruct completion resume;\n\tstruct attribute_group trips_attribute_group;\n\tstruct list_head trips_high;\n\tstruct list_head trips_reached;\n\tstruct list_head trips_invalid;\n\tenum thermal_device_mode mode;\n\tvoid *devdata;\n\tint num_trips;\n\tlong unsigned int passive_delay_jiffies;\n\tlong unsigned int polling_delay_jiffies;\n\tlong unsigned int recheck_delay_jiffies;\n\tint temperature;\n\tint last_temperature;\n\tint emul_temperature;\n\tint passive;\n\tint prev_low_trip;\n\tint prev_high_trip;\n\tstruct thermal_zone_device_ops ops;\n\tstruct thermal_zone_params *tzp;\n\tstruct thermal_governor *governor;\n\tvoid *governor_data;\n\tstruct ida ida;\n\tstruct mutex lock;\n\tstruct list_head node;\n\tstruct delayed_work poll_queue;\n\tenum thermal_notify_event notify_event;\n\tu8 state;\n\tstruct list_head user_thresholds;\n\tstruct thermal_trip_desc trips[0];\n};\n\nstruct thermal_zone_params {\n\tconst char *governor_name;\n\tbool no_hwmon;\n\tu32 sustainable_power;\n\ts32 k_po;\n\ts32 k_pu;\n\ts32 k_i;\n\ts32 k_d;\n\ts32 integral_cutoff;\n\tint slope;\n\tint offset;\n};\n\nstruct thpsize {\n\tstruct kobject kobj;\n\tstruct list_head node;\n\tint order;\n};\n\nstruct thread_deferred_req {\n\tstruct cache_deferred_req handle;\n\tstruct completion completion;\n};\n\nstruct thread_info {\n\tstruct task_struct *task;\n\tlong unsigned int flags;\n\tlong unsigned int tp_value;\n\t__u32 cpu;\n\tint preempt_count;\n\tstruct pt_regs *regs;\n\tlong unsigned int syscall;\n\tlong unsigned int syscall_work;\n};\n\nstruct throtl_service_queue {\n\tstruct throtl_service_queue *parent_sq;\n\tstruct list_head queued[2];\n\tunsigned int nr_queued[2];\n\tstruct rb_root_cached pending_tree;\n\tunsigned int nr_pending;\n\tlong unsigned int first_pending_disptime;\n\tstruct timer_list pending_timer;\n};\n\nstruct throtl_data {\n\tstruct throtl_service_queue service_queue;\n\tstruct request_queue *queue;\n\tunsigned int nr_queued[2];\n\tunsigned int throtl_slice;\n\tstruct work_struct dispatch_work;\n\tbool track_bio_latency;\n};\n\nstruct throtl_grp;\n\nstruct throtl_qnode {\n\tstruct list_head node;\n\tstruct bio_list bios;\n\tstruct throtl_grp *tg;\n};\n\nstruct throtl_grp {\n\tstruct blkg_policy_data pd;\n\tstruct rb_node rb_node;\n\tstruct throtl_data *td;\n\tstruct throtl_service_queue service_queue;\n\tstruct throtl_qnode qnode_on_self[2];\n\tstruct throtl_qnode qnode_on_parent[2];\n\tlong unsigned int disptime;\n\tunsigned int flags;\n\tbool has_rules_bps[2];\n\tbool has_rules_iops[2];\n\tuint64_t bps[2];\n\tunsigned int iops[2];\n\tuint64_t bytes_disp[2];\n\tunsigned int io_disp[2];\n\tuint64_t last_bytes_disp[2];\n\tunsigned int last_io_disp[2];\n\tlong long int carryover_bytes[2];\n\tint carryover_ios[2];\n\tlong unsigned int last_check_time;\n\tlong unsigned int slice_start[2];\n\tlong unsigned int slice_end[2];\n\tstruct blkg_rwstat stat_bytes;\n\tstruct blkg_rwstat stat_ios;\n};\n\nstruct throttling_tstate {\n\tunsigned int cpu;\n\tint target_state;\n};\n\nstruct tick_device {\n\tstruct clock_event_device *evtdev;\n\tenum tick_device_mode mode;\n};\n\nstruct tick_sched {\n\tlong unsigned int flags;\n\tunsigned int stalled_jiffies;\n\tlong unsigned int last_tick_jiffies;\n\tstruct hrtimer sched_timer;\n\tktime_t last_tick;\n\tktime_t next_tick;\n\tlong unsigned int idle_jiffies;\n\tktime_t idle_waketime;\n\tunsigned int got_idle_tick;\n\tseqcount_t idle_sleeptime_seq;\n\tktime_t idle_entrytime;\n\tlong unsigned int last_jiffies;\n\tu64 timer_expires_base;\n\tu64 timer_expires;\n\tu64 next_timer;\n\tktime_t idle_expires;\n\tlong unsigned int idle_calls;\n\tlong unsigned int idle_sleeps;\n\tktime_t idle_exittime;\n\tktime_t idle_sleeptime;\n\tktime_t iowait_sleeptime;\n\tatomic_t tick_dep_mask;\n\tlong unsigned int check_clocks;\n};\n\nstruct timens_offsets {\n\tstruct timespec64 monotonic;\n\tstruct timespec64 boottime;\n};\n\nstruct time_namespace {\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct ns_common ns;\n\tstruct timens_offsets offsets;\n\tstruct page *vvar_page;\n\tbool frozen_offsets;\n};\n\nstruct timedia_struct {\n\tint num;\n\tconst short unsigned int *ids;\n};\n\nstruct tk_read_base {\n\tstruct clocksource *clock;\n\tu64 mask;\n\tu64 cycle_last;\n\tu32 mult;\n\tu32 shift;\n\tu64 xtime_nsec;\n\tktime_t base;\n\tu64 base_real;\n};\n\nstruct timekeeper {\n\tstruct tk_read_base tkr_mono;\n\tu64 xtime_sec;\n\tlong unsigned int ktime_sec;\n\tstruct timespec64 wall_to_monotonic;\n\tktime_t offs_real;\n\tktime_t offs_boot;\n\tktime_t offs_tai;\n\ts32 tai_offset;\n\tstruct tk_read_base tkr_raw;\n\tu64 raw_sec;\n\tunsigned int clock_was_set_seq;\n\tu8 cs_was_changed_seq;\n\tstruct timespec64 monotonic_to_boot;\n\tu64 cycle_interval;\n\tu64 xtime_interval;\n\ts64 xtime_remainder;\n\tu64 raw_interval;\n\tktime_t next_leap_ktime;\n\tu64 ntp_tick;\n\ts64 ntp_error;\n\tu32 ntp_error_shift;\n\tu32 ntp_err_mult;\n\tu32 skip_second_overflow;\n};\n\nstruct timens_offset {\n\ts64 sec;\n\tu64 nsec;\n};\n\nstruct timer_base {\n\traw_spinlock_t lock;\n\tstruct timer_list *running_timer;\n\tlong unsigned int clk;\n\tlong unsigned int next_expiry;\n\tunsigned int cpu;\n\tbool next_expiry_recalc;\n\tbool is_idle;\n\tbool timers_pending;\n\tlong unsigned int pending_map[9];\n\tstruct hlist_head vectors[576];\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct timer_events {\n\tu64 local;\n\tu64 global;\n};\n\nstruct timer_list_iter {\n\tint cpu;\n\tbool second_pass;\n\tu64 now;\n};\n\nstruct timer_rand_state {\n\tlong unsigned int last_time;\n\tlong int last_delta;\n\tlong int last_delta2;\n};\n\nstruct timerfd_ctx {\n\tunion {\n\t\tstruct hrtimer tmr;\n\t\tstruct alarm alarm;\n\t} t;\n\tktime_t tintv;\n\tktime_t moffs;\n\twait_queue_head_t wqh;\n\tu64 ticks;\n\tint clockid;\n\tshort unsigned int expired;\n\tshort unsigned int settime_flags;\n\tstruct callback_head rcu;\n\tstruct list_head clist;\n\tspinlock_t cancel_lock;\n\tbool might_cancel;\n};\n\nstruct timerlat_entry {\n\tstruct trace_entry ent;\n\tunsigned int seqnum;\n\tint context;\n\tu64 timer_latency;\n};\n\nstruct timers_private {\n\tstruct pid *pid;\n\tstruct task_struct *task;\n\tstruct sighand_struct *sighand;\n\tstruct pid_namespace *ns;\n\tlong unsigned int flags;\n};\n\nstruct timestamp_event_queue {\n\tstruct ptp_extts_event buf[128];\n\tint head;\n\tint tail;\n\tspinlock_t lock;\n\tstruct list_head qlist;\n\tlong unsigned int *mask;\n\tstruct dentry *debugfs_instance;\n\tstruct debugfs_u32_array dfs_bitmap;\n};\n\nstruct timewait_sock_ops {\n\tstruct kmem_cache *twsk_slab;\n\tchar *twsk_slab_name;\n\tunsigned int twsk_obj_size;\n\tvoid (*twsk_destructor)(struct sock *);\n};\n\nstruct timezone {\n\tint tz_minuteswest;\n\tint tz_dsttime;\n};\n\nstruct tiocl_selection {\n\tshort unsigned int xs;\n\tshort unsigned int ys;\n\tshort unsigned int xe;\n\tshort unsigned int ye;\n\tshort unsigned int sel_mode;\n};\n\nstruct tipc_basic_hdr {\n\t__be32 w[4];\n};\n\nstruct tk_data {\n\tseqcount_raw_spinlock_t seq;\n\tstruct timekeeper timekeeper;\n\tstruct timekeeper shadow_timekeeper;\n\traw_spinlock_t lock;\n};\n\nstruct tk_fast {\n\tseqcount_latch_t seq;\n\tstruct tk_read_base base[2];\n};\n\nstruct tls_crypto_info {\n\t__u16 version;\n\t__u16 cipher_type;\n};\n\nstruct tls12_crypto_info_aes_gcm_128 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_aes_gcm_256 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[32];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_chacha20_poly1305 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[12];\n\tunsigned char key[32];\n\tunsigned char salt[0];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_sm4_ccm {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_sm4_gcm {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls_prot_info {\n\tu16 version;\n\tu16 cipher_type;\n\tu16 prepend_size;\n\tu16 tag_size;\n\tu16 overhead_size;\n\tu16 iv_size;\n\tu16 salt_size;\n\tu16 rec_seq_size;\n\tu16 aad_size;\n\tu16 tail_size;\n};\n\nunion tls_crypto_context {\n\tstruct tls_crypto_info info;\n\tunion {\n\t\tstruct tls12_crypto_info_aes_gcm_128 aes_gcm_128;\n\t\tstruct tls12_crypto_info_aes_gcm_256 aes_gcm_256;\n\t\tstruct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305;\n\t\tstruct tls12_crypto_info_sm4_gcm sm4_gcm;\n\t\tstruct tls12_crypto_info_sm4_ccm sm4_ccm;\n\t};\n};\n\nstruct tls_context {\n\tstruct tls_prot_info prot_info;\n\tu8 tx_conf: 3;\n\tu8 rx_conf: 3;\n\tu8 zerocopy_sendfile: 1;\n\tu8 rx_no_pad: 1;\n\tint (*push_pending_record)(struct sock *, int);\n\tvoid (*sk_write_space)(struct sock *);\n\tvoid *priv_ctx_tx;\n\tvoid *priv_ctx_rx;\n\tstruct net_device *netdev;\n\tstruct cipher_context tx;\n\tstruct cipher_context rx;\n\tstruct scatterlist *partially_sent_record;\n\tu16 partially_sent_offset;\n\tbool splicing_pages;\n\tbool pending_open_record_frags;\n\tstruct mutex tx_lock;\n\tlong unsigned int flags;\n\tstruct proto *sk_proto;\n\tstruct sock *sk;\n\tvoid (*sk_destruct)(struct sock *);\n\tunion tls_crypto_context crypto_send;\n\tunion tls_crypto_context crypto_recv;\n\tstruct list_head list;\n\trefcount_t refcount;\n\tstruct callback_head rcu;\n};\n\ntypedef void (*tls_done_func_t)(void *, int, key_serial_t);\n\nstruct tls_handshake_args {\n\tstruct socket *ta_sock;\n\ttls_done_func_t ta_done;\n\tvoid *ta_data;\n\tconst char *ta_peername;\n\tunsigned int ta_timeout_ms;\n\tkey_serial_t ta_keyring;\n\tkey_serial_t ta_my_cert;\n\tkey_serial_t ta_my_privkey;\n\tunsigned int ta_num_peerids;\n\tkey_serial_t ta_my_peerids[5];\n};\n\nstruct tls_handshake_req {\n\tvoid (*th_consumer_done)(void *, int, key_serial_t);\n\tvoid *th_consumer_data;\n\tint th_type;\n\tunsigned int th_timeout_ms;\n\tint th_auth_mode;\n\tconst char *th_peername;\n\tkey_serial_t th_keyring;\n\tkey_serial_t th_certificate;\n\tkey_serial_t th_privkey;\n\tunsigned int th_num_peerids;\n\tkey_serial_t th_peerid[5];\n};\n\nstruct tls_strparser {\n\tstruct sock *sk;\n\tu32 mark: 8;\n\tu32 stopped: 1;\n\tu32 copy_mode: 1;\n\tu32 mixed_decrypted: 1;\n\tbool msg_ready;\n\tstruct strp_msg stm;\n\tstruct sk_buff *anchor;\n\tstruct work_struct work;\n};\n\nstruct tls_sw_context_rx {\n\tstruct crypto_aead *aead_recv;\n\tstruct crypto_wait async_wait;\n\tstruct sk_buff_head rx_list;\n\tvoid (*saved_data_ready)(struct sock *);\n\tu8 reader_present;\n\tu8 async_capable: 1;\n\tu8 zc_capable: 1;\n\tu8 reader_contended: 1;\n\tbool key_update_pending;\n\tstruct tls_strparser strp;\n\tatomic_t decrypt_pending;\n\tstruct sk_buff_head async_hold;\n\tstruct wait_queue_head wq;\n};\n\nstruct tx_work {\n\tstruct delayed_work work;\n\tstruct sock *sk;\n};\n\nstruct tls_rec;\n\nstruct tls_sw_context_tx {\n\tstruct crypto_aead *aead_send;\n\tstruct crypto_wait async_wait;\n\tstruct tx_work tx_work;\n\tstruct tls_rec *open_rec;\n\tstruct list_head tx_list;\n\tatomic_t encrypt_pending;\n\tu8 async_capable: 1;\n\tlong unsigned int tx_bitmask;\n};\n\nstruct tlsdev_ops {\n\tint (*tls_dev_add)(struct net_device *, struct sock *, enum tls_offload_ctx_dir, struct tls_crypto_info *, u32);\n\tvoid (*tls_dev_del)(struct net_device *, struct tls_context *, enum tls_offload_ctx_dir);\n\tint (*tls_dev_resync)(struct net_device *, struct sock *, u32, u8 *, enum tls_offload_ctx_dir);\n};\n\nstruct tm {\n\tint tm_sec;\n\tint tm_min;\n\tint tm_hour;\n\tint tm_mday;\n\tint tm_mon;\n\tlong int tm_year;\n\tint tm_wday;\n\tint tm_yday;\n};\n\nstruct tmigr_event {\n\tstruct timerqueue_node nextevt;\n\tunsigned int cpu;\n\tbool ignore;\n};\n\nstruct tmigr_group;\n\nstruct tmigr_cpu {\n\traw_spinlock_t lock;\n\tbool online;\n\tbool idle;\n\tbool remote;\n\tstruct tmigr_group *tmgroup;\n\tu8 groupmask;\n\tu64 wakeup;\n\tstruct tmigr_event cpuevt;\n};\n\nstruct tmigr_group {\n\traw_spinlock_t lock;\n\tstruct tmigr_group *parent;\n\tstruct tmigr_event groupevt;\n\tu64 next_expiry;\n\tstruct timerqueue_head events;\n\tatomic_t migr_state;\n\tunsigned int level;\n\tint numa_node;\n\tunsigned int num_children;\n\tu8 groupmask;\n\tstruct list_head list;\n};\n\nunion tmigr_state {\n\tu32 state;\n\tstruct {\n\t\tu8 active;\n\t\tu8 migrator;\n\t\tu16 seq;\n\t};\n};\n\nstruct tmigr_walk {\n\tu64 nextexp;\n\tu64 firstexp;\n\tstruct tmigr_event *evt;\n\tu8 childmask;\n\tbool remote;\n\tlong unsigned int basej;\n\tu64 now;\n\tbool check;\n\tbool tmc_active;\n};\n\nstruct tmpmasks {\n\tcpumask_var_t addmask;\n\tcpumask_var_t delmask;\n\tcpumask_var_t new_cpus;\n};\n\nstruct tms {\n\t__kernel_clock_t tms_utime;\n\t__kernel_clock_t tms_stime;\n\t__kernel_clock_t tms_cutime;\n\t__kernel_clock_t tms_cstime;\n};\n\nstruct tnl_ptk_info {\n\tlong unsigned int flags[1];\n\t__be16 proto;\n\t__be32 key;\n\t__be32 seq;\n\tint hdr_len;\n};\n\nstruct tnode {\n\tstruct callback_head rcu;\n\tt_key empty_children;\n\tt_key full_children;\n\tstruct key_vector *parent;\n\tstruct key_vector kv[1];\n};\n\nstruct token_bucket {\n\tspinlock_t lock;\n\tint chain_len;\n\tstruct hlist_nulls_head req_chain;\n\tstruct hlist_nulls_head msk_chain;\n};\n\nstruct touchscreen_properties {\n\tunsigned int max_x;\n\tunsigned int max_y;\n\tbool invert_x;\n\tbool invert_y;\n\tbool swap_x_y;\n};\n\nstruct tp_module {\n\tstruct list_head list;\n\tstruct module *mod;\n};\n\nstruct tracepoint_func {\n\tvoid *func;\n\tvoid *data;\n\tint prio;\n};\n\nstruct tp_probes {\n\tstruct callback_head rcu;\n\tstruct tracepoint_func probes[0];\n};\n\nstruct tp_transition_snapshot {\n\tlong unsigned int rcu;\n\tbool ongoing;\n};\n\nstruct tpacket2_hdr {\n\t__u32 tp_status;\n\t__u32 tp_len;\n\t__u32 tp_snaplen;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\t__u32 tp_sec;\n\t__u32 tp_nsec;\n\t__u16 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n\t__u8 tp_padding[4];\n};\n\nstruct tpacket_hdr_variant1 {\n\t__u32 tp_rxhash;\n\t__u32 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n\t__u16 tp_padding;\n};\n\nstruct tpacket3_hdr {\n\t__u32 tp_next_offset;\n\t__u32 tp_sec;\n\t__u32 tp_nsec;\n\t__u32 tp_snaplen;\n\t__u32 tp_len;\n\t__u32 tp_status;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\tunion {\n\t\tstruct tpacket_hdr_variant1 hv1;\n\t};\n\t__u8 tp_padding[8];\n};\n\nstruct tpacket_auxdata {\n\t__u32 tp_status;\n\t__u32 tp_len;\n\t__u32 tp_snaplen;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\t__u16 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n};\n\nstruct tpacket_bd_ts {\n\tunsigned int ts_sec;\n\tunion {\n\t\tunsigned int ts_usec;\n\t\tunsigned int ts_nsec;\n\t};\n};\n\nstruct tpacket_hdr_v1 {\n\t__u32 block_status;\n\t__u32 num_pkts;\n\t__u32 offset_to_first_pkt;\n\t__u32 blk_len;\n\t__u64 seq_num;\n\tstruct tpacket_bd_ts ts_first_pkt;\n\tstruct tpacket_bd_ts ts_last_pkt;\n};\n\nunion tpacket_bd_header_u {\n\tstruct tpacket_hdr_v1 bh1;\n};\n\nstruct tpacket_block_desc {\n\t__u32 version;\n\t__u32 offset_to_priv;\n\tunion tpacket_bd_header_u hdr;\n};\n\nstruct tpacket_hdr {\n\tlong unsigned int tp_status;\n\tunsigned int tp_len;\n\tunsigned int tp_snaplen;\n\tshort unsigned int tp_mac;\n\tshort unsigned int tp_net;\n\tunsigned int tp_sec;\n\tunsigned int tp_usec;\n};\n\nstruct tpacket_req {\n\tunsigned int tp_block_size;\n\tunsigned int tp_block_nr;\n\tunsigned int tp_frame_size;\n\tunsigned int tp_frame_nr;\n};\n\nstruct tpacket_req3 {\n\tunsigned int tp_block_size;\n\tunsigned int tp_block_nr;\n\tunsigned int tp_frame_size;\n\tunsigned int tp_frame_nr;\n\tunsigned int tp_retire_blk_tov;\n\tunsigned int tp_sizeof_priv;\n\tunsigned int tp_feature_req_word;\n};\n\nunion tpacket_req_u {\n\tstruct tpacket_req req;\n\tstruct tpacket_req3 req3;\n};\n\nstruct tpacket_rollover_stats {\n\t__u64 tp_all;\n\t__u64 tp_huge;\n\t__u64 tp_failed;\n};\n\nunion tpacket_uhdr {\n\tstruct tpacket_hdr *h1;\n\tstruct tpacket2_hdr *h2;\n\tstruct tpacket3_hdr *h3;\n\tvoid *raw;\n};\n\nstruct trace_pid_list;\n\nstruct trace_options;\n\nstruct trace_func_repeats;\n\nstruct trace_array {\n\tstruct list_head list;\n\tchar *name;\n\tstruct array_buffer array_buffer;\n\tunsigned int mapped;\n\tlong unsigned int range_addr_start;\n\tlong unsigned int range_addr_size;\n\tlong int text_delta;\n\tlong int data_delta;\n\tstruct trace_pid_list *filtered_pids;\n\tstruct trace_pid_list *filtered_no_pids;\n\tarch_spinlock_t max_lock;\n\tint buffer_disabled;\n\tint sys_refcount_enter;\n\tint sys_refcount_exit;\n\tstruct trace_event_file *enter_syscall_files[467];\n\tstruct trace_event_file *exit_syscall_files[467];\n\tint stop_count;\n\tint clock_id;\n\tint nr_topts;\n\tbool clear_trace;\n\tint buffer_percent;\n\tunsigned int n_err_log_entries;\n\tstruct tracer *current_trace;\n\tunsigned int trace_flags;\n\tunsigned char trace_flags_index[32];\n\tunsigned int flags;\n\traw_spinlock_t start_lock;\n\tconst char *system_names;\n\tstruct list_head err_log;\n\tstruct dentry *dir;\n\tstruct dentry *options;\n\tstruct dentry *percpu_dir;\n\tstruct eventfs_inode *event_dir;\n\tstruct trace_options *topts;\n\tstruct list_head systems;\n\tstruct list_head events;\n\tstruct trace_event_file *trace_marker_file;\n\tcpumask_var_t tracing_cpumask;\n\tcpumask_var_t pipe_cpumask;\n\tint ref;\n\tint trace_ref;\n\tstruct list_head mod_events;\n\tint no_filter_buffering_ref;\n\tstruct list_head hist_vars;\n\tstruct trace_func_repeats *last_func_repeats;\n\tbool ring_buffer_expanded;\n};\n\nstruct trace_array_cpu {\n\tatomic_t disabled;\n\tvoid *buffer_page;\n\tlong unsigned int entries;\n\tlong unsigned int saved_latency;\n\tlong unsigned int critical_start;\n\tlong unsigned int critical_end;\n\tlong unsigned int critical_sequence;\n\tlong unsigned int nice;\n\tlong unsigned int policy;\n\tlong unsigned int rt_priority;\n\tlong unsigned int skipped_entries;\n\tu64 preempt_timestamp;\n\tpid_t pid;\n\tkuid_t uid;\n\tchar comm[16];\n\tbool ignore_pid;\n};\n\nstruct trace_bprintk_fmt {\n\tstruct list_head list;\n\tconst char *fmt;\n};\n\nstruct trace_buffer {\n\tunsigned int flags;\n\tint cpus;\n\tatomic_t record_disabled;\n\tatomic_t resizing;\n\tcpumask_var_t cpumask;\n\tstruct lock_class_key *reader_lock_key;\n\tstruct mutex mutex;\n\tstruct ring_buffer_per_cpu **buffers;\n\tstruct hlist_node node;\n\tu64 (*clock)(void);\n\tstruct rb_irq_work irq_work;\n\tbool time_stamp_abs;\n\tlong unsigned int range_addr_start;\n\tlong unsigned int range_addr_end;\n\tlong int last_text_delta;\n\tlong int last_data_delta;\n\tunsigned int subbuf_size;\n\tunsigned int subbuf_order;\n\tunsigned int max_data_size;\n};\n\nstruct trace_buffer_meta {\n\t__u32 meta_page_size;\n\t__u32 meta_struct_len;\n\t__u32 subbuf_size;\n\t__u32 nr_subbufs;\n\tstruct {\n\t\t__u64 lost_events;\n\t\t__u32 id;\n\t\t__u32 read;\n\t} reader;\n\t__u64 flags;\n\t__u64 entries;\n\t__u64 overrun;\n\t__u64 read;\n\t__u64 Reserved1;\n\t__u64 Reserved2;\n};\n\nstruct trace_buffer_struct {\n\tint nesting;\n\tchar buffer[4096];\n};\n\nstruct trace_probe_event;\n\nstruct trace_probe {\n\tstruct list_head list;\n\tstruct trace_probe_event *event;\n\tssize_t size;\n\tunsigned int nr_args;\n\tstruct probe_entry_arg *entry_arg;\n\tstruct probe_arg args[0];\n};\n\nstruct trace_eprobe {\n\tconst char *event_system;\n\tconst char *event_name;\n\tchar *filter_str;\n\tstruct trace_event_call *event;\n\tstruct dyn_event devent;\n\tstruct trace_probe tp;\n};\n\nstruct trace_eval_map {\n\tconst char *system;\n\tconst char *eval_string;\n\tlong unsigned int eval_value;\n};\n\nstruct trace_event_functions;\n\nstruct trace_event {\n\tstruct hlist_node node;\n\tint type;\n\tstruct trace_event_functions *funcs;\n};\n\nstruct trace_event_buffer {\n\tstruct trace_buffer *buffer;\n\tstruct ring_buffer_event *event;\n\tstruct trace_event_file *trace_file;\n\tvoid *entry;\n\tunsigned int trace_ctx;\n\tstruct pt_regs *regs;\n};\n\nstruct trace_event_class;\n\nstruct trace_event_call {\n\tstruct list_head list;\n\tstruct trace_event_class *class;\n\tunion {\n\t\tconst char *name;\n\t\tstruct tracepoint *tp;\n\t};\n\tstruct trace_event event;\n\tchar *print_fmt;\n\tunion {\n\t\tvoid *module;\n\t\tatomic_t refcnt;\n\t};\n\tvoid *data;\n\tint flags;\n\tint perf_refcount;\n\tstruct hlist_head *perf_events;\n\tstruct bpf_prog_array *prog_array;\n\tint (*perf_perm)(struct trace_event_call *, struct perf_event *);\n};\n\nstruct trace_event_fields;\n\nstruct trace_event_class {\n\tconst char *system;\n\tvoid *probe;\n\tvoid *perf_probe;\n\tint (*reg)(struct trace_event_call *, enum trace_reg, void *);\n\tstruct trace_event_fields *fields_array;\n\tstruct list_head * (*get_fields)(struct trace_event_call *);\n\tstruct list_head fields;\n\tint (*raw_init)(struct trace_event_call *);\n};\n\nstruct trace_event_data_offsets_9p_client_req {};\n\nstruct trace_event_data_offsets_9p_client_res {};\n\nstruct trace_event_data_offsets_9p_fid_ref {};\n\nstruct trace_event_data_offsets_9p_protocol_dump {\n\tu32 line;\n\tconst void *line_ptr_;\n};\n\nstruct trace_event_data_offsets_ack_update_msk {};\n\nstruct trace_event_data_offsets_aer_event {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_alarm_class {};\n\nstruct trace_event_data_offsets_alarmtimer_suspend {};\n\nstruct trace_event_data_offsets_alloc_extent_state {};\n\nstruct trace_event_data_offsets_alloc_vmap_area {};\n\nstruct trace_event_data_offsets_arm_event {};\n\nstruct trace_event_data_offsets_ata_bmdma_status {};\n\nstruct trace_event_data_offsets_ata_eh_action_template {};\n\nstruct trace_event_data_offsets_ata_eh_link_autopsy {};\n\nstruct trace_event_data_offsets_ata_eh_link_autopsy_qc {};\n\nstruct trace_event_data_offsets_ata_exec_command_template {};\n\nstruct trace_event_data_offsets_ata_link_reset_begin_template {};\n\nstruct trace_event_data_offsets_ata_link_reset_end_template {};\n\nstruct trace_event_data_offsets_ata_port_eh_begin_template {};\n\nstruct trace_event_data_offsets_ata_qc_complete_template {};\n\nstruct trace_event_data_offsets_ata_qc_issue_template {};\n\nstruct trace_event_data_offsets_ata_sff_hsm_template {};\n\nstruct trace_event_data_offsets_ata_sff_template {};\n\nstruct trace_event_data_offsets_ata_tf_load {};\n\nstruct trace_event_data_offsets_ata_transfer_data_template {};\n\nstruct trace_event_data_offsets_azx_get_position {};\n\nstruct trace_event_data_offsets_azx_pcm {};\n\nstruct trace_event_data_offsets_azx_pcm_trigger {};\n\nstruct trace_event_data_offsets_balance_dirty_pages {};\n\nstruct trace_event_data_offsets_bdi_dirty_ratelimit {};\n\nstruct trace_event_data_offsets_block_bio {};\n\nstruct trace_event_data_offsets_block_bio_complete {};\n\nstruct trace_event_data_offsets_block_bio_remap {};\n\nstruct trace_event_data_offsets_block_buffer {};\n\nstruct trace_event_data_offsets_block_plug {};\n\nstruct trace_event_data_offsets_block_rq {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_rq_completion {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_rq_remap {};\n\nstruct trace_event_data_offsets_block_rq_requeue {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_split {};\n\nstruct trace_event_data_offsets_block_unplug {};\n\nstruct trace_event_data_offsets_bpf_test_finish {};\n\nstruct trace_event_data_offsets_bpf_trace_printk {\n\tu32 bpf_string;\n\tconst void *bpf_string_ptr_;\n};\n\nstruct trace_event_data_offsets_bpf_trigger_tp {};\n\nstruct trace_event_data_offsets_bpf_xdp_link_attach_failed {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_add {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_external_learn_add {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_update {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_mdb_full {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_btrfs__block_group {};\n\nstruct trace_event_data_offsets_btrfs__chunk {};\n\nstruct trace_event_data_offsets_btrfs__file_extent_item_inline {};\n\nstruct trace_event_data_offsets_btrfs__file_extent_item_regular {};\n\nstruct trace_event_data_offsets_btrfs__inode {};\n\nstruct trace_event_data_offsets_btrfs__ordered_extent {};\n\nstruct trace_event_data_offsets_btrfs__prelim_ref {};\n\nstruct trace_event_data_offsets_btrfs__qgroup_rsv_data {};\n\nstruct trace_event_data_offsets_btrfs__reserve_extent {};\n\nstruct trace_event_data_offsets_btrfs__reserved_extent {};\n\nstruct trace_event_data_offsets_btrfs__space_info_update {};\n\nstruct trace_event_data_offsets_btrfs__work {};\n\nstruct trace_event_data_offsets_btrfs__work__done {};\n\nstruct trace_event_data_offsets_btrfs__writepage {};\n\nstruct trace_event_data_offsets_btrfs_add_block_group {};\n\nstruct trace_event_data_offsets_btrfs_clear_extent_bit {};\n\nstruct trace_event_data_offsets_btrfs_convert_extent_bit {};\n\nstruct trace_event_data_offsets_btrfs_cow_block {};\n\nstruct trace_event_data_offsets_btrfs_delayed_data_ref {};\n\nstruct trace_event_data_offsets_btrfs_delayed_ref_head {};\n\nstruct trace_event_data_offsets_btrfs_delayed_tree_ref {};\n\nstruct trace_event_data_offsets_btrfs_dump_space_info {};\n\nstruct trace_event_data_offsets_btrfs_extent_map_shrinker_count {};\n\nstruct trace_event_data_offsets_btrfs_extent_map_shrinker_remove_em {};\n\nstruct trace_event_data_offsets_btrfs_extent_map_shrinker_scan_enter {};\n\nstruct trace_event_data_offsets_btrfs_extent_map_shrinker_scan_exit {};\n\nstruct trace_event_data_offsets_btrfs_failed_cluster_setup {};\n\nstruct trace_event_data_offsets_btrfs_find_cluster {};\n\nstruct trace_event_data_offsets_btrfs_finish_ordered_extent {};\n\nstruct trace_event_data_offsets_btrfs_flush_space {};\n\nstruct trace_event_data_offsets_btrfs_get_extent {};\n\nstruct trace_event_data_offsets_btrfs_get_raid_extent_offset {};\n\nstruct trace_event_data_offsets_btrfs_handle_em_exist {};\n\nstruct trace_event_data_offsets_btrfs_inode_mod_outstanding_extents {};\n\nstruct trace_event_data_offsets_btrfs_insert_one_raid_extent {};\n\nstruct trace_event_data_offsets_btrfs_locking_events {};\n\nstruct trace_event_data_offsets_btrfs_qgroup_account_extent {};\n\nstruct trace_event_data_offsets_btrfs_qgroup_extent {};\n\nstruct trace_event_data_offsets_btrfs_raid56_bio {};\n\nstruct trace_event_data_offsets_btrfs_raid_extent_delete {};\n\nstruct trace_event_data_offsets_btrfs_reserve_ticket {};\n\nstruct trace_event_data_offsets_btrfs_set_extent_bit {};\n\nstruct trace_event_data_offsets_btrfs_setup_cluster {};\n\nstruct trace_event_data_offsets_btrfs_sleep_tree_lock {};\n\nstruct trace_event_data_offsets_btrfs_space_reservation {\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_btrfs_sync_file {};\n\nstruct trace_event_data_offsets_btrfs_sync_fs {};\n\nstruct trace_event_data_offsets_btrfs_transaction_commit {};\n\nstruct trace_event_data_offsets_btrfs_trigger_flush {\n\tu32 reason;\n\tconst void *reason_ptr_;\n};\n\nstruct trace_event_data_offsets_btrfs_workqueue {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_btrfs_workqueue_done {};\n\nstruct trace_event_data_offsets_btrfs_writepage_end_io_hook {};\n\nstruct trace_event_data_offsets_cache_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cap_capable {};\n\nstruct trace_event_data_offsets_cdev_update {\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_event {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_migrate {\n\tu32 dst_path;\n\tconst void *dst_path_ptr_;\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_root {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_rstat {};\n\nstruct trace_event_data_offsets_clk {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_duty_cycle {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_parent {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 pname;\n\tconst void *pname_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_phase {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate_range {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate_request {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 pname;\n\tconst void *pname_ptr_;\n};\n\nstruct trace_event_data_offsets_clock {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_busy_retry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_finish {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_start {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_release {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_compact_retry {};\n\nstruct trace_event_data_offsets_console {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_consume_skb {};\n\nstruct trace_event_data_offsets_contention_begin {};\n\nstruct trace_event_data_offsets_contention_end {};\n\nstruct trace_event_data_offsets_cpu {};\n\nstruct trace_event_data_offsets_cpu_frequency_limits {};\n\nstruct trace_event_data_offsets_cpu_idle_miss {};\n\nstruct trace_event_data_offsets_cpu_latency_qos_request {};\n\nstruct trace_event_data_offsets_cpuhp_enter {};\n\nstruct trace_event_data_offsets_cpuhp_exit {};\n\nstruct trace_event_data_offsets_cpuhp_multi_enter {};\n\nstruct trace_event_data_offsets_csd_function {};\n\nstruct trace_event_data_offsets_csd_queue_cpu {};\n\nstruct trace_event_data_offsets_ctime {};\n\nstruct trace_event_data_offsets_ctime_ns_xchg {};\n\nstruct trace_event_data_offsets_dev_pm_qos_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_devfreq_frequency {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devfreq_monitor {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_device_pm_callback_end {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_device_pm_callback_start {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n\tu32 parent;\n\tconst void *parent_ptr_;\n\tu32 pm_ops;\n\tconst void *pm_ops_ptr_;\n};\n\nstruct trace_event_data_offsets_devres {\n\tu32 devname;\n\tconst void *devname_ptr_;\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_alloc_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_alloc_sgt {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_fence {\n\tu32 driver;\n\tconst void *driver_ptr_;\n\tu32 timeline;\n\tconst void *timeline_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_free_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_free_sgt {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n\tu32 dma_addrs;\n\tconst void *dma_addrs_ptr_;\n\tu32 lengths;\n\tconst void *lengths_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map_sg_err {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_sync_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 dma_addrs;\n\tconst void *dma_addrs_ptr_;\n\tu32 lengths;\n\tconst void *lengths_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_sync_single {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_unmap {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_unmap_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 addrs;\n\tconst void *addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dql_stall_detected {};\n\nstruct trace_event_data_offsets_drm_vblank_event {};\n\nstruct trace_event_data_offsets_drm_vblank_event_delivered {};\n\nstruct trace_event_data_offsets_drm_vblank_event_queued {};\n\nstruct trace_event_data_offsets_e1000e_trace_mac_register {};\n\nstruct trace_event_data_offsets_error_report_template {};\n\nstruct trace_event_data_offsets_exit_mmap {};\n\nstruct trace_event_data_offsets_ext2_dio_class {};\n\nstruct trace_event_data_offsets_ext2_dio_write_endio {};\n\nstruct trace_event_data_offsets_ext4__bitmap_load {};\n\nstruct trace_event_data_offsets_ext4__es_extent {};\n\nstruct trace_event_data_offsets_ext4__es_shrink_enter {};\n\nstruct trace_event_data_offsets_ext4__fallocate_mode {};\n\nstruct trace_event_data_offsets_ext4__folio_op {};\n\nstruct trace_event_data_offsets_ext4__map_blocks_enter {};\n\nstruct trace_event_data_offsets_ext4__map_blocks_exit {};\n\nstruct trace_event_data_offsets_ext4__mb_new_pa {};\n\nstruct trace_event_data_offsets_ext4__mballoc {};\n\nstruct trace_event_data_offsets_ext4__trim {};\n\nstruct trace_event_data_offsets_ext4__truncate {};\n\nstruct trace_event_data_offsets_ext4__write_begin {};\n\nstruct trace_event_data_offsets_ext4__write_end {};\n\nstruct trace_event_data_offsets_ext4_alloc_da_blocks {};\n\nstruct trace_event_data_offsets_ext4_allocate_blocks {};\n\nstruct trace_event_data_offsets_ext4_allocate_inode {};\n\nstruct trace_event_data_offsets_ext4_begin_ordered_truncate {};\n\nstruct trace_event_data_offsets_ext4_collapse_range {};\n\nstruct trace_event_data_offsets_ext4_da_release_space {};\n\nstruct trace_event_data_offsets_ext4_da_reserve_space {};\n\nstruct trace_event_data_offsets_ext4_da_update_reserve_space {};\n\nstruct trace_event_data_offsets_ext4_da_write_pages {};\n\nstruct trace_event_data_offsets_ext4_da_write_pages_extent {};\n\nstruct trace_event_data_offsets_ext4_discard_blocks {};\n\nstruct trace_event_data_offsets_ext4_discard_preallocations {};\n\nstruct trace_event_data_offsets_ext4_drop_inode {};\n\nstruct trace_event_data_offsets_ext4_error {};\n\nstruct trace_event_data_offsets_ext4_es_find_extent_range_enter {};\n\nstruct trace_event_data_offsets_ext4_es_find_extent_range_exit {};\n\nstruct trace_event_data_offsets_ext4_es_insert_delayed_extent {};\n\nstruct trace_event_data_offsets_ext4_es_lookup_extent_enter {};\n\nstruct trace_event_data_offsets_ext4_es_lookup_extent_exit {};\n\nstruct trace_event_data_offsets_ext4_es_remove_extent {};\n\nstruct trace_event_data_offsets_ext4_es_shrink {};\n\nstruct trace_event_data_offsets_ext4_es_shrink_scan_exit {};\n\nstruct trace_event_data_offsets_ext4_evict_inode {};\n\nstruct trace_event_data_offsets_ext4_ext_convert_to_initialized_enter {};\n\nstruct trace_event_data_offsets_ext4_ext_convert_to_initialized_fastpath {};\n\nstruct trace_event_data_offsets_ext4_ext_handle_unwritten_extents {};\n\nstruct trace_event_data_offsets_ext4_ext_load_extent {};\n\nstruct trace_event_data_offsets_ext4_ext_remove_space {};\n\nstruct trace_event_data_offsets_ext4_ext_remove_space_done {};\n\nstruct trace_event_data_offsets_ext4_ext_rm_idx {};\n\nstruct trace_event_data_offsets_ext4_ext_rm_leaf {};\n\nstruct trace_event_data_offsets_ext4_ext_show_extent {};\n\nstruct trace_event_data_offsets_ext4_fallocate_exit {};\n\nstruct trace_event_data_offsets_ext4_fc_cleanup {};\n\nstruct trace_event_data_offsets_ext4_fc_commit_start {};\n\nstruct trace_event_data_offsets_ext4_fc_commit_stop {};\n\nstruct trace_event_data_offsets_ext4_fc_replay {};\n\nstruct trace_event_data_offsets_ext4_fc_replay_scan {};\n\nstruct trace_event_data_offsets_ext4_fc_stats {};\n\nstruct trace_event_data_offsets_ext4_fc_track_dentry {};\n\nstruct trace_event_data_offsets_ext4_fc_track_inode {};\n\nstruct trace_event_data_offsets_ext4_fc_track_range {};\n\nstruct trace_event_data_offsets_ext4_forget {};\n\nstruct trace_event_data_offsets_ext4_free_blocks {};\n\nstruct trace_event_data_offsets_ext4_free_inode {};\n\nstruct trace_event_data_offsets_ext4_fsmap_class {};\n\nstruct trace_event_data_offsets_ext4_get_implied_cluster_alloc_exit {};\n\nstruct trace_event_data_offsets_ext4_getfsmap_class {};\n\nstruct trace_event_data_offsets_ext4_insert_range {};\n\nstruct trace_event_data_offsets_ext4_invalidate_folio_op {};\n\nstruct trace_event_data_offsets_ext4_journal_start_inode {};\n\nstruct trace_event_data_offsets_ext4_journal_start_reserved {};\n\nstruct trace_event_data_offsets_ext4_journal_start_sb {};\n\nstruct trace_event_data_offsets_ext4_lazy_itable_init {};\n\nstruct trace_event_data_offsets_ext4_load_inode {};\n\nstruct trace_event_data_offsets_ext4_mark_inode_dirty {};\n\nstruct trace_event_data_offsets_ext4_mb_discard_preallocations {};\n\nstruct trace_event_data_offsets_ext4_mb_release_group_pa {};\n\nstruct trace_event_data_offsets_ext4_mb_release_inode_pa {};\n\nstruct trace_event_data_offsets_ext4_mballoc_alloc {};\n\nstruct trace_event_data_offsets_ext4_mballoc_prealloc {};\n\nstruct trace_event_data_offsets_ext4_nfs_commit_metadata {};\n\nstruct trace_event_data_offsets_ext4_other_inode_update_time {};\n\nstruct trace_event_data_offsets_ext4_prefetch_bitmaps {};\n\nstruct trace_event_data_offsets_ext4_read_block_bitmap_load {};\n\nstruct trace_event_data_offsets_ext4_remove_blocks {};\n\nstruct trace_event_data_offsets_ext4_request_blocks {};\n\nstruct trace_event_data_offsets_ext4_request_inode {};\n\nstruct trace_event_data_offsets_ext4_shutdown {};\n\nstruct trace_event_data_offsets_ext4_sync_file_enter {};\n\nstruct trace_event_data_offsets_ext4_sync_file_exit {};\n\nstruct trace_event_data_offsets_ext4_sync_fs {};\n\nstruct trace_event_data_offsets_ext4_unlink_enter {};\n\nstruct trace_event_data_offsets_ext4_unlink_exit {};\n\nstruct trace_event_data_offsets_ext4_update_sb {};\n\nstruct trace_event_data_offsets_ext4_writepages {};\n\nstruct trace_event_data_offsets_ext4_writepages_result {};\n\nstruct trace_event_data_offsets_fdb_delete {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_ff_layout_commit_error {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_fib6_table_lookup {};\n\nstruct trace_event_data_offsets_fib_table_lookup {};\n\nstruct trace_event_data_offsets_file_check_and_advance_wb_err {};\n\nstruct trace_event_data_offsets_filelock_lease {};\n\nstruct trace_event_data_offsets_filelock_lock {};\n\nstruct trace_event_data_offsets_filemap_set_wb_err {};\n\nstruct trace_event_data_offsets_fill_mg_cmtime {};\n\nstruct trace_event_data_offsets_find_free_extent {};\n\nstruct trace_event_data_offsets_find_free_extent_have_block_group {};\n\nstruct trace_event_data_offsets_find_free_extent_search_loop {};\n\nstruct trace_event_data_offsets_finish_task_reaping {};\n\nstruct trace_event_data_offsets_fl_getdevinfo {\n\tu32 mds_addr;\n\tconst void *mds_addr_ptr_;\n\tu32 ds_ips;\n\tconst void *ds_ips_ptr_;\n};\n\nstruct trace_event_data_offsets_flush_foreign {};\n\nstruct trace_event_data_offsets_free_extent_state {};\n\nstruct trace_event_data_offsets_free_vmap_area_noflush {};\n\nstruct trace_event_data_offsets_fscache_access {};\n\nstruct trace_event_data_offsets_fscache_access_cache {};\n\nstruct trace_event_data_offsets_fscache_access_volume {};\n\nstruct trace_event_data_offsets_fscache_acquire {};\n\nstruct trace_event_data_offsets_fscache_active {};\n\nstruct trace_event_data_offsets_fscache_cache {};\n\nstruct trace_event_data_offsets_fscache_cookie {};\n\nstruct trace_event_data_offsets_fscache_invalidate {};\n\nstruct trace_event_data_offsets_fscache_relinquish {};\n\nstruct trace_event_data_offsets_fscache_resize {};\n\nstruct trace_event_data_offsets_fscache_volume {};\n\nstruct trace_event_data_offsets_generic_add_lease {};\n\nstruct trace_event_data_offsets_global_dirty_state {};\n\nstruct trace_event_data_offsets_gpio_direction {};\n\nstruct trace_event_data_offsets_gpio_value {};\n\nstruct trace_event_data_offsets_guest_halt_poll_ns {};\n\nstruct trace_event_data_offsets_handshake_alert_class {};\n\nstruct trace_event_data_offsets_handshake_complete {};\n\nstruct trace_event_data_offsets_handshake_error_class {};\n\nstruct trace_event_data_offsets_handshake_event_class {};\n\nstruct trace_event_data_offsets_handshake_fd_class {};\n\nstruct trace_event_data_offsets_hda_get_response {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_hda_pm {};\n\nstruct trace_event_data_offsets_hda_send_cmd {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_hda_unsol_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_hdac_stream {};\n\nstruct trace_event_data_offsets_hrtimer_class {};\n\nstruct trace_event_data_offsets_hrtimer_expire_entry {};\n\nstruct trace_event_data_offsets_hrtimer_init {};\n\nstruct trace_event_data_offsets_hrtimer_start {};\n\nstruct trace_event_data_offsets_hugepage_set {};\n\nstruct trace_event_data_offsets_hugepage_update {};\n\nstruct trace_event_data_offsets_hugetlbfs__inode {};\n\nstruct trace_event_data_offsets_hugetlbfs_alloc_inode {};\n\nstruct trace_event_data_offsets_hugetlbfs_fallocate {};\n\nstruct trace_event_data_offsets_hugetlbfs_setattr {\n\tu32 d_name;\n\tconst void *d_name_ptr_;\n};\n\nstruct trace_event_data_offsets_hwmon_attr_class {\n\tu32 attr_name;\n\tconst void *attr_name_ptr_;\n};\n\nstruct trace_event_data_offsets_hwmon_attr_show_string {\n\tu32 attr_name;\n\tconst void *attr_name_ptr_;\n\tu32 label;\n\tconst void *label_ptr_;\n};\n\nstruct trace_event_data_offsets_i2c_read {};\n\nstruct trace_event_data_offsets_i2c_reply {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_i2c_result {};\n\nstruct trace_event_data_offsets_i2c_slave {};\n\nstruct trace_event_data_offsets_i2c_write {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_icmp_send {};\n\nstruct trace_event_data_offsets_inet_sk_error_report {};\n\nstruct trace_event_data_offsets_inet_sock_set_state {};\n\nstruct trace_event_data_offsets_initcall_finish {};\n\nstruct trace_event_data_offsets_initcall_level {\n\tu32 level;\n\tconst void *level_ptr_;\n};\n\nstruct trace_event_data_offsets_initcall_start {};\n\nstruct trace_event_data_offsets_inode_foreign_history {};\n\nstruct trace_event_data_offsets_inode_switch_wbs {};\n\nstruct trace_event_data_offsets_io_uring_complete {};\n\nstruct trace_event_data_offsets_io_uring_cqe_overflow {};\n\nstruct trace_event_data_offsets_io_uring_cqring_wait {};\n\nstruct trace_event_data_offsets_io_uring_create {};\n\nstruct trace_event_data_offsets_io_uring_defer {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_fail_link {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_file_get {};\n\nstruct trace_event_data_offsets_io_uring_link {};\n\nstruct trace_event_data_offsets_io_uring_local_work_run {};\n\nstruct trace_event_data_offsets_io_uring_poll_arm {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_queue_async_work {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_register {};\n\nstruct trace_event_data_offsets_io_uring_req_failed {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_short_write {};\n\nstruct trace_event_data_offsets_io_uring_submit_req {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_task_add {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_task_work_run {};\n\nstruct trace_event_data_offsets_iocg_inuse_update {\n\tu32 devname;\n\tconst void *devname_ptr_;\n\tu32 cgroup;\n\tconst void *cgroup_ptr_;\n};\n\nstruct trace_event_data_offsets_iocost_ioc_vrate_adj {\n\tu32 devname;\n\tconst void *devname_ptr_;\n};\n\nstruct trace_event_data_offsets_iocost_iocg_forgive_debt {\n\tu32 devname;\n\tconst void *devname_ptr_;\n\tu32 cgroup;\n\tconst void *cgroup_ptr_;\n};\n\nstruct trace_event_data_offsets_iocost_iocg_state {\n\tu32 devname;\n\tconst void *devname_ptr_;\n\tu32 cgroup;\n\tconst void *cgroup_ptr_;\n};\n\nstruct trace_event_data_offsets_iomap_class {};\n\nstruct trace_event_data_offsets_iomap_dio_complete {};\n\nstruct trace_event_data_offsets_iomap_dio_rw_begin {};\n\nstruct trace_event_data_offsets_iomap_iter {};\n\nstruct trace_event_data_offsets_iomap_range_class {};\n\nstruct trace_event_data_offsets_iomap_readpage_class {};\n\nstruct trace_event_data_offsets_iomap_writepage_map {};\n\nstruct trace_event_data_offsets_iommu_device_event {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_iommu_error {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_iommu_group_event {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_ipi_handler {};\n\nstruct trace_event_data_offsets_ipi_raise {\n\tu32 target_cpus;\n\tconst void *target_cpus_ptr_;\n};\n\nstruct trace_event_data_offsets_ipi_send_cpu {};\n\nstruct trace_event_data_offsets_ipi_send_cpumask {\n\tu32 cpumask;\n\tconst void *cpumask_ptr_;\n};\n\nstruct trace_event_data_offsets_irq_handler_entry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_irq_handler_exit {};\n\nstruct trace_event_data_offsets_irq_matrix_cpu {};\n\nstruct trace_event_data_offsets_irq_matrix_global {};\n\nstruct trace_event_data_offsets_irq_matrix_global_update {};\n\nstruct trace_event_data_offsets_itimer_expire {};\n\nstruct trace_event_data_offsets_itimer_state {};\n\nstruct trace_event_data_offsets_jbd2_checkpoint {};\n\nstruct trace_event_data_offsets_jbd2_checkpoint_stats {};\n\nstruct trace_event_data_offsets_jbd2_commit {};\n\nstruct trace_event_data_offsets_jbd2_end_commit {};\n\nstruct trace_event_data_offsets_jbd2_handle_extend {};\n\nstruct trace_event_data_offsets_jbd2_handle_start_class {};\n\nstruct trace_event_data_offsets_jbd2_handle_stats {};\n\nstruct trace_event_data_offsets_jbd2_journal_shrink {};\n\nstruct trace_event_data_offsets_jbd2_lock_buffer_stall {};\n\nstruct trace_event_data_offsets_jbd2_run_stats {};\n\nstruct trace_event_data_offsets_jbd2_shrink_checkpoint_list {};\n\nstruct trace_event_data_offsets_jbd2_shrink_scan_exit {};\n\nstruct trace_event_data_offsets_jbd2_submit_inode_data {};\n\nstruct trace_event_data_offsets_jbd2_update_log_tail {};\n\nstruct trace_event_data_offsets_jbd2_write_superblock {};\n\nstruct trace_event_data_offsets_kcompactd_wake_template {};\n\nstruct trace_event_data_offsets_kfree {};\n\nstruct trace_event_data_offsets_kfree_skb {};\n\nstruct trace_event_data_offsets_kmalloc {};\n\nstruct trace_event_data_offsets_kmem_cache_alloc {};\n\nstruct trace_event_data_offsets_kmem_cache_free {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_ksm_advisor {};\n\nstruct trace_event_data_offsets_ksm_enter_exit_template {};\n\nstruct trace_event_data_offsets_ksm_merge_one_page {};\n\nstruct trace_event_data_offsets_ksm_merge_with_ksm_page {};\n\nstruct trace_event_data_offsets_ksm_remove_ksm_page {};\n\nstruct trace_event_data_offsets_ksm_remove_rmap_item {};\n\nstruct trace_event_data_offsets_ksm_scan_template {};\n\nstruct trace_event_data_offsets_kyber_adjust {};\n\nstruct trace_event_data_offsets_kyber_latency {};\n\nstruct trace_event_data_offsets_kyber_throttled {};\n\nstruct trace_event_data_offsets_leases_conflict {};\n\nstruct trace_event_data_offsets_locks_get_lock_context {};\n\nstruct trace_event_data_offsets_ma_op {};\n\nstruct trace_event_data_offsets_ma_read {};\n\nstruct trace_event_data_offsets_ma_write {};\n\nstruct trace_event_data_offsets_map {};\n\nstruct trace_event_data_offsets_mark_victim {\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_mc_event {\n\tu32 msg;\n\tconst void *msg_ptr_;\n\tu32 label;\n\tconst void *label_ptr_;\n\tu32 driver_detail;\n\tconst void *driver_detail_ptr_;\n};\n\nstruct trace_event_data_offsets_mdio_access {};\n\nstruct trace_event_data_offsets_mem_connect {};\n\nstruct trace_event_data_offsets_mem_disconnect {};\n\nstruct trace_event_data_offsets_mem_return_failed {};\n\nstruct trace_event_data_offsets_memcg_flush_stats {};\n\nstruct trace_event_data_offsets_memcg_rstat_events {};\n\nstruct trace_event_data_offsets_memcg_rstat_stats {};\n\nstruct trace_event_data_offsets_migration_pmd {};\n\nstruct trace_event_data_offsets_migration_pte {};\n\nstruct trace_event_data_offsets_mm_alloc_contig_migrate_range_info {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page_isolate {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page_swapin {};\n\nstruct trace_event_data_offsets_mm_compaction_begin {};\n\nstruct trace_event_data_offsets_mm_compaction_defer_template {};\n\nstruct trace_event_data_offsets_mm_compaction_end {};\n\nstruct trace_event_data_offsets_mm_compaction_isolate_template {};\n\nstruct trace_event_data_offsets_mm_compaction_kcompactd_sleep {};\n\nstruct trace_event_data_offsets_mm_compaction_migratepages {};\n\nstruct trace_event_data_offsets_mm_compaction_suitable_template {};\n\nstruct trace_event_data_offsets_mm_compaction_try_to_compact_pages {};\n\nstruct trace_event_data_offsets_mm_filemap_fault {};\n\nstruct trace_event_data_offsets_mm_filemap_op_page_cache {};\n\nstruct trace_event_data_offsets_mm_filemap_op_page_cache_range {};\n\nstruct trace_event_data_offsets_mm_khugepaged_collapse_file {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_mm_khugepaged_scan_file {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_mm_khugepaged_scan_pmd {};\n\nstruct trace_event_data_offsets_mm_lru_activate {};\n\nstruct trace_event_data_offsets_mm_lru_insertion {};\n\nstruct trace_event_data_offsets_mm_migrate_pages {};\n\nstruct trace_event_data_offsets_mm_migrate_pages_start {};\n\nstruct trace_event_data_offsets_mm_page {};\n\nstruct trace_event_data_offsets_mm_page_alloc {};\n\nstruct trace_event_data_offsets_mm_page_alloc_extfrag {};\n\nstruct trace_event_data_offsets_mm_page_free {};\n\nstruct trace_event_data_offsets_mm_page_free_batched {};\n\nstruct trace_event_data_offsets_mm_page_pcpu_drain {};\n\nstruct trace_event_data_offsets_mm_shrink_slab_end {};\n\nstruct trace_event_data_offsets_mm_shrink_slab_start {};\n\nstruct trace_event_data_offsets_mm_vmscan_direct_reclaim_begin_template {};\n\nstruct trace_event_data_offsets_mm_vmscan_direct_reclaim_end_template {};\n\nstruct trace_event_data_offsets_mm_vmscan_kswapd_sleep {};\n\nstruct trace_event_data_offsets_mm_vmscan_kswapd_wake {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_isolate {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_shrink_active {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_shrink_inactive {};\n\nstruct trace_event_data_offsets_mm_vmscan_node_reclaim_begin {};\n\nstruct trace_event_data_offsets_mm_vmscan_reclaim_pages {};\n\nstruct trace_event_data_offsets_mm_vmscan_throttled {};\n\nstruct trace_event_data_offsets_mm_vmscan_wakeup_kswapd {};\n\nstruct trace_event_data_offsets_mm_vmscan_write_folio {};\n\nstruct trace_event_data_offsets_mmap_lock {};\n\nstruct trace_event_data_offsets_mmap_lock_acquire_returned {};\n\nstruct trace_event_data_offsets_module_free {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_load {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_refcnt {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_mptcp_dump_mpext {};\n\nstruct trace_event_data_offsets_mptcp_subflow_get_send {};\n\nstruct trace_event_data_offsets_napi_poll {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh__update {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh_create {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh_update {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_rx_exit_template {};\n\nstruct trace_event_data_offsets_net_dev_rx_verbose_template {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_start_xmit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_template {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_xmit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_xmit_timeout {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_netfs_collect {};\n\nstruct trace_event_data_offsets_netfs_collect_folio {};\n\nstruct trace_event_data_offsets_netfs_collect_gap {};\n\nstruct trace_event_data_offsets_netfs_collect_sreq {};\n\nstruct trace_event_data_offsets_netfs_collect_state {};\n\nstruct trace_event_data_offsets_netfs_collect_stream {};\n\nstruct trace_event_data_offsets_netfs_failure {};\n\nstruct trace_event_data_offsets_netfs_folio {};\n\nstruct trace_event_data_offsets_netfs_folioq {};\n\nstruct trace_event_data_offsets_netfs_read {};\n\nstruct trace_event_data_offsets_netfs_rreq {};\n\nstruct trace_event_data_offsets_netfs_rreq_ref {};\n\nstruct trace_event_data_offsets_netfs_sreq {};\n\nstruct trace_event_data_offsets_netfs_sreq_ref {};\n\nstruct trace_event_data_offsets_netfs_write {};\n\nstruct trace_event_data_offsets_netfs_write_iter {};\n\nstruct trace_event_data_offsets_netlink_extack {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_cached_open {};\n\nstruct trace_event_data_offsets_nfs4_cb_error_class {};\n\nstruct trace_event_data_offsets_nfs4_cb_offload {};\n\nstruct trace_event_data_offsets_nfs4_cb_seqid_err {};\n\nstruct trace_event_data_offsets_nfs4_cb_sequence {};\n\nstruct trace_event_data_offsets_nfs4_clientid_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_clone {};\n\nstruct trace_event_data_offsets_nfs4_close {};\n\nstruct trace_event_data_offsets_nfs4_commit_event {};\n\nstruct trace_event_data_offsets_nfs4_copy {};\n\nstruct trace_event_data_offsets_nfs4_copy_notify {};\n\nstruct trace_event_data_offsets_nfs4_delegreturn_exit {};\n\nstruct trace_event_data_offsets_nfs4_deviceid_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_deviceid_status {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_flexfiles_io_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_getattr_event {};\n\nstruct trace_event_data_offsets_nfs4_idmap_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_callback_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_event {};\n\nstruct trace_event_data_offsets_nfs4_inode_stateid_callback_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_stateid_event {};\n\nstruct trace_event_data_offsets_nfs4_layoutget {};\n\nstruct trace_event_data_offsets_nfs4_llseek {};\n\nstruct trace_event_data_offsets_nfs4_lock_event {};\n\nstruct trace_event_data_offsets_nfs4_lookup_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_lookupp {};\n\nstruct trace_event_data_offsets_nfs4_offload_cancel {};\n\nstruct trace_event_data_offsets_nfs4_open_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_read_event {};\n\nstruct trace_event_data_offsets_nfs4_rename {\n\tu32 oldname;\n\tconst void *oldname_ptr_;\n\tu32 newname;\n\tconst void *newname_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_sequence_done {};\n\nstruct trace_event_data_offsets_nfs4_set_delegation_event {};\n\nstruct trace_event_data_offsets_nfs4_set_lock {};\n\nstruct trace_event_data_offsets_nfs4_setup_sequence {};\n\nstruct trace_event_data_offsets_nfs4_sparse_event {};\n\nstruct trace_event_data_offsets_nfs4_state_lock_reclaim {};\n\nstruct trace_event_data_offsets_nfs4_state_mgr {\n\tu32 hostname;\n\tconst void *hostname_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_state_mgr_failed {\n\tu32 hostname;\n\tconst void *hostname_ptr_;\n\tu32 section;\n\tconst void *section_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_test_stateid_event {};\n\nstruct trace_event_data_offsets_nfs4_trunked_exchange_id {\n\tu32 main_addr;\n\tconst void *main_addr_ptr_;\n\tu32 trunk_addr;\n\tconst void *trunk_addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_write_event {};\n\nstruct trace_event_data_offsets_nfs4_xattr_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_xdr_bad_operation {};\n\nstruct trace_event_data_offsets_nfs4_xdr_event {};\n\nstruct trace_event_data_offsets_nfs_access_exit {};\n\nstruct trace_event_data_offsets_nfs_aop_readahead {};\n\nstruct trace_event_data_offsets_nfs_aop_readahead_done {};\n\nstruct trace_event_data_offsets_nfs_atomic_open_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_atomic_open_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_commit_done {};\n\nstruct trace_event_data_offsets_nfs_create_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_create_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_direct_req_class {};\n\nstruct trace_event_data_offsets_nfs_directory_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_directory_event_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_fh_to_dentry {};\n\nstruct trace_event_data_offsets_nfs_folio_event {};\n\nstruct trace_event_data_offsets_nfs_folio_event_done {};\n\nstruct trace_event_data_offsets_nfs_initiate_commit {};\n\nstruct trace_event_data_offsets_nfs_initiate_read {};\n\nstruct trace_event_data_offsets_nfs_initiate_write {};\n\nstruct trace_event_data_offsets_nfs_inode_event {};\n\nstruct trace_event_data_offsets_nfs_inode_event_done {};\n\nstruct trace_event_data_offsets_nfs_inode_range_event {};\n\nstruct trace_event_data_offsets_nfs_link_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_link_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_local_open_fh {};\n\nstruct trace_event_data_offsets_nfs_lookup_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_lookup_event_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_assign {\n\tu32 option;\n\tconst void *option_ptr_;\n\tu32 value;\n\tconst void *value_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_option {\n\tu32 option;\n\tconst void *option_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_path {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_page_error_class {};\n\nstruct trace_event_data_offsets_nfs_pgio_error {};\n\nstruct trace_event_data_offsets_nfs_readdir_event {};\n\nstruct trace_event_data_offsets_nfs_readpage_done {};\n\nstruct trace_event_data_offsets_nfs_readpage_short {};\n\nstruct trace_event_data_offsets_nfs_rename_event {\n\tu32 old_name;\n\tconst void *old_name_ptr_;\n\tu32 new_name;\n\tconst void *new_name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_rename_event_done {\n\tu32 old_name;\n\tconst void *old_name_ptr_;\n\tu32 new_name;\n\tconst void *new_name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_sillyrename_unlink {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_update_size_class {};\n\nstruct trace_event_data_offsets_nfs_writeback_done {};\n\nstruct trace_event_data_offsets_nfs_xdr_event {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_args {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_done_class {};\n\nstruct trace_event_data_offsets_nfsd_cb_free_slot {};\n\nstruct trace_event_data_offsets_nfsd_cb_lifetime_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_nodelegs {};\n\nstruct trace_event_data_offsets_nfsd_cb_notify_lock {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_offload {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_recall {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_recall_any {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_recall_any_done {};\n\nstruct trace_event_data_offsets_nfsd_cb_seq_status {};\n\nstruct trace_event_data_offsets_nfsd_cb_setup {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_cb_setup_err {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_clid_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_clid_cred_mismatch {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_clid_verf_mismatch {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_clientid_class {};\n\nstruct trace_event_data_offsets_nfsd_compound {\n\tu32 tag;\n\tconst void *tag_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_compound_decode_err {};\n\nstruct trace_event_data_offsets_nfsd_compound_err_class {};\n\nstruct trace_event_data_offsets_nfsd_compound_status {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_copy_async_done_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_copy_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_copy_done {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_copy_err_class {};\n\nstruct trace_event_data_offsets_nfsd_cs_slot_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_ctl_filehandle {\n\tu32 domain;\n\tconst void *domain_ptr_;\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_ctl_maxblksize {};\n\nstruct trace_event_data_offsets_nfsd_ctl_maxconn {};\n\nstruct trace_event_data_offsets_nfsd_ctl_pool_threads {};\n\nstruct trace_event_data_offsets_nfsd_ctl_ports_addfd {};\n\nstruct trace_event_data_offsets_nfsd_ctl_ports_addxprt {\n\tu32 transport;\n\tconst void *transport_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_ctl_recoverydir {\n\tu32 recdir;\n\tconst void *recdir_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_ctl_threads {};\n\nstruct trace_event_data_offsets_nfsd_ctl_time {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_ctl_unlock_fs {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_ctl_unlock_ip {\n\tu32 address;\n\tconst void *address_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_ctl_version {\n\tu32 mesg;\n\tconst void *mesg_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_delegret_wakeup {};\n\nstruct trace_event_data_offsets_nfsd_dirent {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_drc_found {};\n\nstruct trace_event_data_offsets_nfsd_drc_mismatch {};\n\nstruct trace_event_data_offsets_nfsd_end_grace {};\n\nstruct trace_event_data_offsets_nfsd_err_class {};\n\nstruct trace_event_data_offsets_nfsd_exp_find_key {\n\tu32 auth_domain;\n\tconst void *auth_domain_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_exp_get_by_name {\n\tu32 path;\n\tconst void *path_ptr_;\n\tu32 auth_domain;\n\tconst void *auth_domain_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_expkey_update {\n\tu32 auth_domain;\n\tconst void *auth_domain_ptr_;\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_export_update {\n\tu32 path;\n\tconst void *path_ptr_;\n\tu32 auth_domain;\n\tconst void *auth_domain_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_fh_err_class {};\n\nstruct trace_event_data_offsets_nfsd_fh_verify {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_fh_verify_err {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_file_acquire {};\n\nstruct trace_event_data_offsets_nfsd_file_alloc {};\n\nstruct trace_event_data_offsets_nfsd_file_class {};\n\nstruct trace_event_data_offsets_nfsd_file_close {};\n\nstruct trace_event_data_offsets_nfsd_file_cons_err {};\n\nstruct trace_event_data_offsets_nfsd_file_fsnotify_handle_event {};\n\nstruct trace_event_data_offsets_nfsd_file_gc_class {};\n\nstruct trace_event_data_offsets_nfsd_file_insert_err {};\n\nstruct trace_event_data_offsets_nfsd_file_is_cached {};\n\nstruct trace_event_data_offsets_nfsd_file_lruwalk_class {};\n\nstruct trace_event_data_offsets_nfsd_file_open_class {};\n\nstruct trace_event_data_offsets_nfsd_io_class {};\n\nstruct trace_event_data_offsets_nfsd_mark_client_expired {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_net_class {};\n\nstruct trace_event_data_offsets_nfsd_seq4_status {};\n\nstruct trace_event_data_offsets_nfsd_slot_seqid_sequence {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfsd_stateid_class {};\n\nstruct trace_event_data_offsets_nfsd_stateowner_replay {};\n\nstruct trace_event_data_offsets_nfsd_stateseqid_class {};\n\nstruct trace_event_data_offsets_nfsd_stid_class {};\n\nstruct trace_event_data_offsets_nfsd_writeverf_reset {};\n\nstruct trace_event_data_offsets_nfsd_xdr_err_class {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_nlmclnt_lock_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_non_standard_event {\n\tu32 fru_text;\n\tconst void *fru_text_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_notifier_info {};\n\nstruct trace_event_data_offsets_nvme_async_event {};\n\nstruct trace_event_data_offsets_nvme_complete_rq {};\n\nstruct trace_event_data_offsets_nvme_setup_cmd {};\n\nstruct trace_event_data_offsets_nvme_sq {};\n\nstruct trace_event_data_offsets_oom_score_adj_update {};\n\nstruct trace_event_data_offsets_page_pool_release {};\n\nstruct trace_event_data_offsets_page_pool_state_hold {};\n\nstruct trace_event_data_offsets_page_pool_state_release {};\n\nstruct trace_event_data_offsets_page_pool_update_nid {};\n\nstruct trace_event_data_offsets_percpu_alloc_percpu {};\n\nstruct trace_event_data_offsets_percpu_alloc_percpu_fail {};\n\nstruct trace_event_data_offsets_percpu_create_chunk {};\n\nstruct trace_event_data_offsets_percpu_destroy_chunk {};\n\nstruct trace_event_data_offsets_percpu_free_percpu {};\n\nstruct trace_event_data_offsets_pm_qos_update {};\n\nstruct trace_event_data_offsets_pmap_register {};\n\nstruct trace_event_data_offsets_pnfs_bl_pr_key_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_pnfs_bl_pr_key_err_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_pnfs_layout_event {};\n\nstruct trace_event_data_offsets_pnfs_update_layout {};\n\nstruct trace_event_data_offsets_power_domain {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_powernv_throttle {\n\tu32 reason;\n\tconst void *reason_ptr_;\n};\n\nstruct trace_event_data_offsets_pstate_sample {};\n\nstruct trace_event_data_offsets_purge_vmap_area_lazy {};\n\nstruct trace_event_data_offsets_pwm {};\n\nstruct trace_event_data_offsets_pwm_read_waveform {};\n\nstruct trace_event_data_offsets_pwm_round_waveform_fromhw {};\n\nstruct trace_event_data_offsets_pwm_round_waveform_tohw {};\n\nstruct trace_event_data_offsets_pwm_write_waveform {};\n\nstruct trace_event_data_offsets_qdisc_create {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_dequeue {};\n\nstruct trace_event_data_offsets_qdisc_destroy {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_enqueue {};\n\nstruct trace_event_data_offsets_qdisc_reset {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qgroup_meta_convert {};\n\nstruct trace_event_data_offsets_qgroup_meta_free_all_pertrans {};\n\nstruct trace_event_data_offsets_qgroup_meta_reserve {};\n\nstruct trace_event_data_offsets_qgroup_num_dirty_extents {};\n\nstruct trace_event_data_offsets_qgroup_update_counters {};\n\nstruct trace_event_data_offsets_qgroup_update_reserve {};\n\nstruct trace_event_data_offsets_rcu_barrier {};\n\nstruct trace_event_data_offsets_rcu_batch_end {};\n\nstruct trace_event_data_offsets_rcu_batch_start {};\n\nstruct trace_event_data_offsets_rcu_callback {};\n\nstruct trace_event_data_offsets_rcu_exp_funnel_lock {};\n\nstruct trace_event_data_offsets_rcu_exp_grace_period {};\n\nstruct trace_event_data_offsets_rcu_fqs {};\n\nstruct trace_event_data_offsets_rcu_future_grace_period {};\n\nstruct trace_event_data_offsets_rcu_grace_period {};\n\nstruct trace_event_data_offsets_rcu_grace_period_init {};\n\nstruct trace_event_data_offsets_rcu_invoke_callback {};\n\nstruct trace_event_data_offsets_rcu_invoke_kfree_bulk_callback {};\n\nstruct trace_event_data_offsets_rcu_invoke_kvfree_callback {};\n\nstruct trace_event_data_offsets_rcu_kvfree_callback {};\n\nstruct trace_event_data_offsets_rcu_preempt_task {};\n\nstruct trace_event_data_offsets_rcu_quiescent_state_report {};\n\nstruct trace_event_data_offsets_rcu_segcb_stats {};\n\nstruct trace_event_data_offsets_rcu_sr_normal {};\n\nstruct trace_event_data_offsets_rcu_stall_warning {};\n\nstruct trace_event_data_offsets_rcu_torture_read {};\n\nstruct trace_event_data_offsets_rcu_unlock_preempted_task {};\n\nstruct trace_event_data_offsets_rcu_utilization {};\n\nstruct trace_event_data_offsets_rcu_watching {};\n\nstruct trace_event_data_offsets_reclaim_retry_zone {};\n\nstruct trace_event_data_offsets_regcache_drop_region {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regcache_sync {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 status;\n\tconst void *status_ptr_;\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_register_class {\n\tu32 program;\n\tconst void *program_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_async {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_bool {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_bulk {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_reg {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_buf_alloc {};\n\nstruct trace_event_data_offsets_rpc_call_rpcerror {};\n\nstruct trace_event_data_offsets_rpc_clnt_class {};\n\nstruct trace_event_data_offsets_rpc_clnt_clone_err {};\n\nstruct trace_event_data_offsets_rpc_clnt_new {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_clnt_new_err {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 server;\n\tconst void *server_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_failure {};\n\nstruct trace_event_data_offsets_rpc_reply_event {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n\tu32 servername;\n\tconst void *servername_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_request {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_socket_nospace {};\n\nstruct trace_event_data_offsets_rpc_stats_latency {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_task_queued {\n\tu32 q_name;\n\tconst void *q_name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_task_running {};\n\nstruct trace_event_data_offsets_rpc_task_status {};\n\nstruct trace_event_data_offsets_rpc_tls_class {\n\tu32 servername;\n\tconst void *servername_ptr_;\n\tu32 progname;\n\tconst void *progname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xdr_alignment {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xdr_buf_class {};\n\nstruct trace_event_data_offsets_rpc_xdr_overflow {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xprt_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xprt_lifetime_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_getport {\n\tu32 servername;\n\tconst void *servername_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_register {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_setport {};\n\nstruct trace_event_data_offsets_rpcb_unregister {\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_bad_seqno {};\n\nstruct trace_event_data_offsets_rpcgss_context {\n\tu32 acceptor;\n\tconst void *acceptor_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_createauth {};\n\nstruct trace_event_data_offsets_rpcgss_ctx_class {\n\tu32 principal;\n\tconst void *principal_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_gssapi_event {};\n\nstruct trace_event_data_offsets_rpcgss_import_ctx {};\n\nstruct trace_event_data_offsets_rpcgss_need_reencode {};\n\nstruct trace_event_data_offsets_rpcgss_oid_to_mech {\n\tu32 oid;\n\tconst void *oid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_seqno {};\n\nstruct trace_event_data_offsets_rpcgss_svc_accept_upcall {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_authenticate {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_gssapi_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_bad {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_class {};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_low {};\n\nstruct trace_event_data_offsets_rpcgss_svc_unwrap_failed {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_wrap_failed {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_unwrap_failed {};\n\nstruct trace_event_data_offsets_rpcgss_upcall_msg {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_upcall_result {};\n\nstruct trace_event_data_offsets_rpcgss_update_slack {};\n\nstruct trace_event_data_offsets_rpm_internal {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpm_return_int {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpm_status {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rseq_ip_fixup {};\n\nstruct trace_event_data_offsets_rseq_update {};\n\nstruct trace_event_data_offsets_rss_stat {};\n\nstruct trace_event_data_offsets_rtc_alarm_irq_enable {};\n\nstruct trace_event_data_offsets_rtc_irq_set_freq {};\n\nstruct trace_event_data_offsets_rtc_irq_set_state {};\n\nstruct trace_event_data_offsets_rtc_offset_class {};\n\nstruct trace_event_data_offsets_rtc_time_alarm_class {};\n\nstruct trace_event_data_offsets_rtc_timer_class {};\n\nstruct trace_event_data_offsets_sched_kthread_stop {};\n\nstruct trace_event_data_offsets_sched_kthread_stop_ret {};\n\nstruct trace_event_data_offsets_sched_kthread_work_execute_end {};\n\nstruct trace_event_data_offsets_sched_kthread_work_execute_start {};\n\nstruct trace_event_data_offsets_sched_kthread_work_queue_work {};\n\nstruct trace_event_data_offsets_sched_migrate_task {};\n\nstruct trace_event_data_offsets_sched_move_numa {};\n\nstruct trace_event_data_offsets_sched_numa_pair_template {};\n\nstruct trace_event_data_offsets_sched_pi_setprio {};\n\nstruct trace_event_data_offsets_sched_prepare_exec {\n\tu32 interp;\n\tconst void *interp_ptr_;\n\tu32 filename;\n\tconst void *filename_ptr_;\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_sched_process_exec {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_sched_process_fork {};\n\nstruct trace_event_data_offsets_sched_process_template {};\n\nstruct trace_event_data_offsets_sched_process_wait {};\n\nstruct trace_event_data_offsets_sched_skip_vma_numa {};\n\nstruct trace_event_data_offsets_sched_stat_runtime {};\n\nstruct trace_event_data_offsets_sched_stat_template {};\n\nstruct trace_event_data_offsets_sched_switch {};\n\nstruct trace_event_data_offsets_sched_wake_idle_without_ipi {};\n\nstruct trace_event_data_offsets_sched_wakeup_template {};\n\nstruct trace_event_data_offsets_scsi_cmd_done_timeout_template {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_dispatch_cmd_error {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_dispatch_cmd_start {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_eh_wakeup {};\n\nstruct trace_event_data_offsets_scsi_prepare_zone_append {};\n\nstruct trace_event_data_offsets_scsi_zone_wp_update {};\n\nstruct trace_event_data_offsets_selinux_audited {\n\tu32 scontext;\n\tconst void *scontext_ptr_;\n\tu32 tcontext;\n\tconst void *tcontext_ptr_;\n\tu32 tclass;\n\tconst void *tclass_ptr_;\n};\n\nstruct trace_event_data_offsets_signal_deliver {};\n\nstruct trace_event_data_offsets_signal_generate {};\n\nstruct trace_event_data_offsets_sk_data_ready {};\n\nstruct trace_event_data_offsets_skb_copy_datagram_iovec {};\n\nstruct trace_event_data_offsets_skip_task_reaping {};\n\nstruct trace_event_data_offsets_smbus_read {};\n\nstruct trace_event_data_offsets_smbus_reply {};\n\nstruct trace_event_data_offsets_smbus_result {};\n\nstruct trace_event_data_offsets_smbus_write {};\n\nstruct trace_event_data_offsets_sock_exceed_buf_limit {};\n\nstruct trace_event_data_offsets_sock_msg_length {};\n\nstruct trace_event_data_offsets_sock_rcvqueue_full {};\n\nstruct trace_event_data_offsets_softirq {};\n\nstruct trace_event_data_offsets_spi_controller {};\n\nstruct trace_event_data_offsets_spi_message {};\n\nstruct trace_event_data_offsets_spi_message_done {};\n\nstruct trace_event_data_offsets_spi_set_cs {};\n\nstruct trace_event_data_offsets_spi_setup {};\n\nstruct trace_event_data_offsets_spi_transfer {\n\tu32 rx_buf;\n\tconst void *rx_buf_ptr_;\n\tu32 tx_buf;\n\tconst void *tx_buf_ptr_;\n};\n\nstruct trace_event_data_offsets_start_task_reaping {};\n\nstruct trace_event_data_offsets_subflow_check_data_avail {};\n\nstruct trace_event_data_offsets_suspend_resume {};\n\nstruct trace_event_data_offsets_svc_alloc_arg_err {};\n\nstruct trace_event_data_offsets_svc_authenticate {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_deferred_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_process {\n\tu32 service;\n\tconst void *service_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_replace_page_err {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_rqst_event {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_rqst_status {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_stats_latency {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_unregister {\n\tu32 program;\n\tconst void *program_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_wake_up {};\n\nstruct trace_event_data_offsets_svc_xdr_buf_class {};\n\nstruct trace_event_data_offsets_svc_xdr_msg_class {};\n\nstruct trace_event_data_offsets_svc_xprt_accept {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n\tu32 protocol;\n\tconst void *protocol_ptr_;\n\tu32 service;\n\tconst void *service_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_create_err {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 protocol;\n\tconst void *protocol_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_dequeue {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_enqueue {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_event {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_accept_class {\n\tu32 service;\n\tconst void *service_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_lifetime_class {};\n\nstruct trace_event_data_offsets_svcsock_marker {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_tcp_recv_short {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_tcp_state {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_swiotlb_bounced {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_sys_enter {};\n\nstruct trace_event_data_offsets_sys_exit {};\n\nstruct trace_event_data_offsets_task_newtask {};\n\nstruct trace_event_data_offsets_task_prctl_unknown {};\n\nstruct trace_event_data_offsets_task_rename {};\n\nstruct trace_event_data_offsets_tasklet {};\n\nstruct trace_event_data_offsets_tb_raw {\n\tu32 data;\n\tconst void *data_ptr_;\n};\n\nstruct trace_event_data_offsets_tb_rx {\n\tu32 data;\n\tconst void *data_ptr_;\n};\n\nstruct trace_event_data_offsets_tcp_ao_event {};\n\nstruct trace_event_data_offsets_tcp_ao_event_sk {};\n\nstruct trace_event_data_offsets_tcp_ao_event_sne {};\n\nstruct trace_event_data_offsets_tcp_cong_state_set {};\n\nstruct trace_event_data_offsets_tcp_event_sk {};\n\nstruct trace_event_data_offsets_tcp_event_sk_skb {};\n\nstruct trace_event_data_offsets_tcp_event_skb {};\n\nstruct trace_event_data_offsets_tcp_hash_event {};\n\nstruct trace_event_data_offsets_tcp_probe {};\n\nstruct trace_event_data_offsets_tcp_retransmit_synack {};\n\nstruct trace_event_data_offsets_tcp_send_reset {};\n\nstruct trace_event_data_offsets_test_pages_isolated {};\n\nstruct trace_event_data_offsets_thermal_temperature {\n\tu32 thermal_zone;\n\tconst void *thermal_zone_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_zone_trip {\n\tu32 thermal_zone;\n\tconst void *thermal_zone_ptr_;\n};\n\nstruct trace_event_data_offsets_tick_stop {};\n\nstruct trace_event_data_offsets_timer_base_idle {};\n\nstruct trace_event_data_offsets_timer_class {};\n\nstruct trace_event_data_offsets_timer_expire_entry {};\n\nstruct trace_event_data_offsets_timer_start {};\n\nstruct trace_event_data_offsets_tlb_flush {};\n\nstruct trace_event_data_offsets_tls_contenttype {};\n\nstruct trace_event_data_offsets_tmigr_connect_child_parent {};\n\nstruct trace_event_data_offsets_tmigr_connect_cpu_parent {};\n\nstruct trace_event_data_offsets_tmigr_cpugroup {};\n\nstruct trace_event_data_offsets_tmigr_group_and_cpu {};\n\nstruct trace_event_data_offsets_tmigr_group_set {};\n\nstruct trace_event_data_offsets_tmigr_handle_remote {};\n\nstruct trace_event_data_offsets_tmigr_idle {};\n\nstruct trace_event_data_offsets_tmigr_update_events {};\n\nstruct trace_event_data_offsets_track_foreign_dirty {};\n\nstruct trace_event_data_offsets_udc_log_ep {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_udc_log_gadget {};\n\nstruct trace_event_data_offsets_udc_log_req {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_udp_fail_queue_rcv_skb {};\n\nstruct trace_event_data_offsets_unmap {};\n\nstruct trace_event_data_offsets_vm_unmapped_area {};\n\nstruct trace_event_data_offsets_vma_mas_szero {};\n\nstruct trace_event_data_offsets_vma_store {};\n\nstruct trace_event_data_offsets_wake_reaper {};\n\nstruct trace_event_data_offsets_wakeup_source {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_wbc_class {};\n\nstruct trace_event_data_offsets_wbt_lat {};\n\nstruct trace_event_data_offsets_wbt_stat {};\n\nstruct trace_event_data_offsets_wbt_step {};\n\nstruct trace_event_data_offsets_wbt_timer {};\n\nstruct trace_event_data_offsets_workqueue_activate_work {};\n\nstruct trace_event_data_offsets_workqueue_execute_end {};\n\nstruct trace_event_data_offsets_workqueue_execute_start {};\n\nstruct trace_event_data_offsets_workqueue_queue_work {\n\tu32 workqueue;\n\tconst void *workqueue_ptr_;\n};\n\nstruct trace_event_data_offsets_writeback_bdi_register {};\n\nstruct trace_event_data_offsets_writeback_class {};\n\nstruct trace_event_data_offsets_writeback_dirty_inode_template {};\n\nstruct trace_event_data_offsets_writeback_folio_template {};\n\nstruct trace_event_data_offsets_writeback_inode_template {};\n\nstruct trace_event_data_offsets_writeback_pages_written {};\n\nstruct trace_event_data_offsets_writeback_queue_io {};\n\nstruct trace_event_data_offsets_writeback_sb_inodes_requeue {};\n\nstruct trace_event_data_offsets_writeback_single_inode_template {};\n\nstruct trace_event_data_offsets_writeback_work_class {};\n\nstruct trace_event_data_offsets_writeback_write_inode_template {};\n\nstruct trace_event_data_offsets_xdp_bulk_tx {};\n\nstruct trace_event_data_offsets_xdp_cpumap_enqueue {};\n\nstruct trace_event_data_offsets_xdp_cpumap_kthread {};\n\nstruct trace_event_data_offsets_xdp_devmap_xmit {};\n\nstruct trace_event_data_offsets_xdp_exception {};\n\nstruct trace_event_data_offsets_xdp_redirect_template {};\n\nstruct trace_event_data_offsets_xfs_ag_class {};\n\nstruct trace_event_data_offsets_xfs_ag_inode_class {};\n\nstruct trace_event_data_offsets_xfs_ag_resv_class {};\n\nstruct trace_event_data_offsets_xfs_ag_resv_init_error {};\n\nstruct trace_event_data_offsets_xfs_agf_class {};\n\nstruct trace_event_data_offsets_xfs_ail_class {};\n\nstruct trace_event_data_offsets_xfs_alloc_class {};\n\nstruct trace_event_data_offsets_xfs_alloc_cur_check {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_attr_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_attr_list_class {};\n\nstruct trace_event_data_offsets_xfs_attr_list_node_descend {};\n\nstruct trace_event_data_offsets_xfs_bmap_class {};\n\nstruct trace_event_data_offsets_xfs_bmap_deferred_class {};\n\nstruct trace_event_data_offsets_xfs_btree_alloc_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_bload_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_bload_level_geometry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_commit_afakeroot {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_commit_ifakeroot {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_cur_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_error_class {};\n\nstruct trace_event_data_offsets_xfs_btree_free_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_buf_class {};\n\nstruct trace_event_data_offsets_xfs_buf_flags_class {};\n\nstruct trace_event_data_offsets_xfs_buf_ioerror {};\n\nstruct trace_event_data_offsets_xfs_buf_item_class {};\n\nstruct trace_event_data_offsets_xfs_bunmap {};\n\nstruct trace_event_data_offsets_xfs_check_new_dalign {};\n\nstruct trace_event_data_offsets_xfs_da_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_das_state_class {};\n\nstruct trace_event_data_offsets_xfs_defer_class {};\n\nstruct trace_event_data_offsets_xfs_defer_error_class {};\n\nstruct trace_event_data_offsets_xfs_defer_pending_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_defer_pending_item_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_dir2_leafn_moveents {};\n\nstruct trace_event_data_offsets_xfs_dir2_space_class {};\n\nstruct trace_event_data_offsets_xfs_discard_class {};\n\nstruct trace_event_data_offsets_xfs_double_io_class {};\n\nstruct trace_event_data_offsets_xfs_dqtrx_class {};\n\nstruct trace_event_data_offsets_xfs_dquot_class {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_delta_nextents {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_delta_nextents_step {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_estimate_class {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_intent_class {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_overhead {};\n\nstruct trace_event_data_offsets_xfs_exchrange_class {};\n\nstruct trace_event_data_offsets_xfs_exchrange_freshness {};\n\nstruct trace_event_data_offsets_xfs_exchrange_inode_class {};\n\nstruct trace_event_data_offsets_xfs_extent_busy_class {};\n\nstruct trace_event_data_offsets_xfs_extent_busy_trim {};\n\nstruct trace_event_data_offsets_xfs_fault_class {};\n\nstruct trace_event_data_offsets_xfs_file_class {};\n\nstruct trace_event_data_offsets_xfs_filestream_class {};\n\nstruct trace_event_data_offsets_xfs_filestream_pick {};\n\nstruct trace_event_data_offsets_xfs_force_shutdown {\n\tu32 fname;\n\tconst void *fname_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_free_extent {};\n\nstruct trace_event_data_offsets_xfs_free_extent_deferred_class {};\n\nstruct trace_event_data_offsets_xfs_fs_class {};\n\nstruct trace_event_data_offsets_xfs_fs_corrupt_class {};\n\nstruct trace_event_data_offsets_xfs_fsmap_group_key_class {};\n\nstruct trace_event_data_offsets_xfs_fsmap_linear_key_class {};\n\nstruct trace_event_data_offsets_xfs_fsmap_mapping {};\n\nstruct trace_event_data_offsets_xfs_getfsmap_class {};\n\nstruct trace_event_data_offsets_xfs_getparents_class {};\n\nstruct trace_event_data_offsets_xfs_getparents_rec_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_group_class {};\n\nstruct trace_event_data_offsets_xfs_group_corrupt_class {};\n\nstruct trace_event_data_offsets_xfs_icwalk_class {};\n\nstruct trace_event_data_offsets_xfs_imap_class {};\n\nstruct trace_event_data_offsets_xfs_inode_class {};\n\nstruct trace_event_data_offsets_xfs_inode_corrupt_class {};\n\nstruct trace_event_data_offsets_xfs_inode_error_class {};\n\nstruct trace_event_data_offsets_xfs_inode_irec_class {};\n\nstruct trace_event_data_offsets_xfs_inode_reload_unlinked_bucket {};\n\nstruct trace_event_data_offsets_xfs_inodegc_shrinker_scan {};\n\nstruct trace_event_data_offsets_xfs_inodegc_worker {};\n\nstruct trace_event_data_offsets_xfs_ioctl_clone {};\n\nstruct trace_event_data_offsets_xfs_iomap_invalid_class {};\n\nstruct trace_event_data_offsets_xfs_iomap_prealloc_size {};\n\nstruct trace_event_data_offsets_xfs_irec_merge_post {};\n\nstruct trace_event_data_offsets_xfs_irec_merge_pre {};\n\nstruct trace_event_data_offsets_xfs_iref_class {};\n\nstruct trace_event_data_offsets_xfs_itrunc_class {};\n\nstruct trace_event_data_offsets_xfs_iunlink_reload_next {};\n\nstruct trace_event_data_offsets_xfs_iunlink_update_bucket {};\n\nstruct trace_event_data_offsets_xfs_iunlink_update_dinode {};\n\nstruct trace_event_data_offsets_xfs_iwalk_ag_rec {};\n\nstruct trace_event_data_offsets_xfs_lock_class {};\n\nstruct trace_event_data_offsets_xfs_log_assign_tail_lsn {};\n\nstruct trace_event_data_offsets_xfs_log_force {};\n\nstruct trace_event_data_offsets_xfs_log_get_max_trans_res {};\n\nstruct trace_event_data_offsets_xfs_log_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover {};\n\nstruct trace_event_data_offsets_xfs_log_recover_buf_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover_icreate_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover_ino_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover_record {};\n\nstruct trace_event_data_offsets_xfs_loggrant_class {};\n\nstruct trace_event_data_offsets_xfs_metadir_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_metadir_update_class {\n\tu32 fname;\n\tconst void *fname_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_metadir_update_error_class {\n\tu32 fname;\n\tconst void *fname_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_metafile_resv_class {};\n\nstruct trace_event_data_offsets_xfs_namespace_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_pagecache_inval {};\n\nstruct trace_event_data_offsets_xfs_perag_class {};\n\nstruct trace_event_data_offsets_xfs_pwork_init {};\n\nstruct trace_event_data_offsets_xfs_refcount_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_deferred_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_double_extent_at_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_double_extent_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_extent_at_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_extent_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_lookup {};\n\nstruct trace_event_data_offsets_xfs_refcount_triple_extent_class {};\n\nstruct trace_event_data_offsets_xfs_reflink_remap_blocks {};\n\nstruct trace_event_data_offsets_xfs_rename {\n\tu32 src_name;\n\tconst void *src_name_ptr_;\n\tu32 target_name;\n\tconst void *target_name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_rmap_class {};\n\nstruct trace_event_data_offsets_xfs_rmap_convert_state {};\n\nstruct trace_event_data_offsets_xfs_rmap_deferred_class {};\n\nstruct trace_event_data_offsets_xfs_rmapbt_class {};\n\nstruct trace_event_data_offsets_xfs_rtdiscard_class {};\n\nstruct trace_event_data_offsets_xfs_simple_io_class {};\n\nstruct trace_event_data_offsets_xfs_swap_extent_class {};\n\nstruct trace_event_data_offsets_xfs_timestamp_range_class {};\n\nstruct trace_event_data_offsets_xfs_trans_class {};\n\nstruct trace_event_data_offsets_xfs_trans_mod_dquot {};\n\nstruct trace_event_data_offsets_xfs_trans_resv_class {};\n\nstruct trace_event_data_offsets_xfs_wb_invalid_class {};\n\nstruct trace_event_data_offsets_xhci_dbc_log_request {};\n\nstruct trace_event_data_offsets_xhci_log_ctrl_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_ctx {\n\tu32 ctx_data;\n\tconst void *ctx_data_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_doorbell {};\n\nstruct trace_event_data_offsets_xhci_log_ep_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_free_virt_dev {};\n\nstruct trace_event_data_offsets_xhci_log_msg {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_portsc {};\n\nstruct trace_event_data_offsets_xhci_log_ring {};\n\nstruct trace_event_data_offsets_xhci_log_slot_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_stream_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_trb {};\n\nstruct trace_event_data_offsets_xhci_log_urb {\n\tu32 devname;\n\tconst void *devname_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_virt_dev {};\n\nstruct trace_event_data_offsets_xlog_iclog_class {};\n\nstruct trace_event_data_offsets_xlog_intent_recovery_failed {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_cong_event {};\n\nstruct trace_event_data_offsets_xprt_ping {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_reserve {};\n\nstruct trace_event_data_offsets_xprt_retransmit {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_transmit {};\n\nstruct trace_event_data_offsets_xprt_writelock_event {};\n\nstruct trace_event_data_offsets_xs_data_ready {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xs_socket_event {};\n\nstruct trace_event_data_offsets_xs_socket_event_done {};\n\nstruct trace_event_data_offsets_xs_stream_read_data {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xs_stream_read_request {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_fields {\n\tconst char *type;\n\tunion {\n\t\tstruct {\n\t\t\tconst char *name;\n\t\t\tconst int size;\n\t\t\tconst int align;\n\t\t\tconst unsigned int is_signed: 1;\n\t\t\tunsigned int needs_test: 1;\n\t\t\tconst int filter_type;\n\t\t\tconst int len;\n\t\t};\n\t\tint (*define_fields)(struct trace_event_call *);\n\t};\n};\n\nstruct trace_subsystem_dir;\n\nstruct trace_event_file {\n\tstruct list_head list;\n\tstruct trace_event_call *event_call;\n\tstruct event_filter *filter;\n\tstruct eventfs_inode *ei;\n\tstruct trace_array *tr;\n\tstruct trace_subsystem_dir *system;\n\tstruct list_head triggers;\n\tlong unsigned int flags;\n\trefcount_t ref;\n\tatomic_t sm_ref;\n\tatomic_t tm_ref;\n};\n\ntypedef enum print_line_t (*trace_print_func)(struct trace_iterator *, int, struct trace_event *);\n\nstruct trace_event_functions {\n\ttrace_print_func trace;\n\ttrace_print_func raw;\n\ttrace_print_func hex;\n\ttrace_print_func binary;\n};\n\nstruct trace_event_raw_9p_client_req {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u32 tag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_client_res {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u32 tag;\n\t__u32 err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_fid_ref {\n\tstruct trace_entry ent;\n\tint fid;\n\tint refcount;\n\t__u8 type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_protocol_dump {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u16 tag;\n\tu32 __data_loc_line;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ack_update_msk {\n\tstruct trace_entry ent;\n\tu64 data_ack;\n\tu64 old_snd_una;\n\tu64 new_snd_una;\n\tu64 new_wnd_end;\n\tu64 msk_wnd_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_aer_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 status;\n\tu8 severity;\n\tu8 tlp_header_valid;\n\tu32 tlp_header[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alarm_class {\n\tstruct trace_entry ent;\n\tvoid *alarm;\n\tunsigned char alarm_type;\n\ts64 expires;\n\ts64 now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alarmtimer_suspend {\n\tstruct trace_entry ent;\n\ts64 expires;\n\tunsigned char alarm_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alloc_extent_state {\n\tstruct trace_entry ent;\n\tconst struct extent_state *state;\n\tlong unsigned int mask;\n\tconst void *ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alloc_vmap_area {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int size;\n\tlong unsigned int align;\n\tlong unsigned int vstart;\n\tlong unsigned int vend;\n\tint failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_arm_event {\n\tstruct trace_entry ent;\n\tu64 mpidr;\n\tu64 midr;\n\tu32 running_state;\n\tu32 psci_state;\n\tu8 affinity;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_bmdma_status {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int tag;\n\tunsigned char host_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_action_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int eh_action;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_link_autopsy {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int eh_action;\n\tunsigned int eh_err_mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_link_autopsy_qc {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int qc_flags;\n\tunsigned int eh_err_mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_exec_command_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int tag;\n\tunsigned char cmd;\n\tunsigned char feature;\n\tunsigned char hob_nsect;\n\tunsigned char proto;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_link_reset_begin_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int class[2];\n\tlong unsigned int deadline;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_link_reset_end_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int class[2];\n\tint rc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_port_eh_begin_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_qc_complete_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned char status;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char error;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char ctl;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_qc_issue_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned char cmd;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char feature;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char ctl;\n\tunsigned char proto;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_sff_hsm_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int qc_flags;\n\tunsigned int protocol;\n\tunsigned int hsm_state;\n\tunsigned char dev_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_sff_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned char hsm_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_tf_load {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned char cmd;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char feature;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char proto;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_transfer_data_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int flags;\n\tunsigned int offset;\n\tunsigned int bytes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_azx_get_position {\n\tstruct trace_entry ent;\n\tint card;\n\tint idx;\n\tunsigned int pos;\n\tunsigned int delay;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_azx_pcm {\n\tstruct trace_entry ent;\n\tunsigned char stream_tag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_azx_pcm_trigger {\n\tstruct trace_entry ent;\n\tint card;\n\tint idx;\n\tint cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_balance_dirty_pages {\n\tstruct trace_entry ent;\n\tchar bdi[32];\n\tlong unsigned int limit;\n\tlong unsigned int setpoint;\n\tlong unsigned int dirty;\n\tlong unsigned int bdi_setpoint;\n\tlong unsigned int bdi_dirty;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int task_ratelimit;\n\tunsigned int dirtied;\n\tunsigned int dirtied_pause;\n\tlong unsigned int paused;\n\tlong int pause;\n\tlong unsigned int period;\n\tlong int think;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bdi_dirty_ratelimit {\n\tstruct trace_entry ent;\n\tchar bdi[32];\n\tlong unsigned int write_bw;\n\tlong unsigned int avg_write_bw;\n\tlong unsigned int dirty_rate;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int task_ratelimit;\n\tlong unsigned int balanced_dirty_ratelimit;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tchar rwbs[8];\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio_complete {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tint error;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio_remap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tdev_t old_dev;\n\tsector_t old_sector;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_buffer {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_plug {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tunsigned int bytes;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tchar comm[16];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_completion {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tint error;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_remap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tdev_t old_dev;\n\tsector_t old_sector;\n\tunsigned int nr_bios;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_requeue {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_split {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tsector_t new_sector;\n\tchar rwbs[8];\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_unplug {\n\tstruct trace_entry ent;\n\tint nr_rq;\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_test_finish {\n\tstruct trace_entry ent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_trace_printk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bpf_string;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_trigger_tp {\n\tstruct trace_entry ent;\n\tint nonce;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_xdp_link_attach_failed {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_add {\n\tstruct trace_entry ent;\n\tu8 ndm_flags;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tu16 nlh_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_external_learn_add {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_mdb_full {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tint af;\n\tu16 vid;\n\t__u8 src[16];\n\t__u8 grp[16];\n\t__u8 grpmac[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__block_group {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bytenr;\n\tu64 len;\n\tu64 used;\n\tu64 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__chunk {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tint num_stripes;\n\tu64 type;\n\tint sub_stripes;\n\tu64 offset;\n\tu64 size;\n\tu64 root_objectid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__file_extent_item_inline {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_obj;\n\tu64 ino;\n\tloff_t isize;\n\tu64 disk_isize;\n\tu8 extent_type;\n\tu8 compression;\n\tu64 extent_start;\n\tu64 extent_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__file_extent_item_regular {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_obj;\n\tu64 ino;\n\tloff_t isize;\n\tu64 disk_isize;\n\tu64 num_bytes;\n\tu64 ram_bytes;\n\tu64 disk_bytenr;\n\tu64 disk_num_bytes;\n\tu64 extent_offset;\n\tu8 extent_type;\n\tu8 compression;\n\tu64 extent_start;\n\tu64 extent_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__inode {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 ino;\n\tu64 blocks;\n\tu64 disk_i_size;\n\tu64 generation;\n\tu64 last_trans;\n\tu64 logged_trans;\n\tu64 root_objectid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__ordered_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 ino;\n\tu64 file_offset;\n\tu64 start;\n\tu64 len;\n\tu64 disk_len;\n\tu64 bytes_left;\n\tlong unsigned int flags;\n\tint compress_type;\n\tint refs;\n\tu64 root_objectid;\n\tu64 truncated_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__prelim_ref {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_id;\n\tu64 objectid;\n\tu8 type;\n\tu64 offset;\n\tint level;\n\tint old_count;\n\tu64 parent;\n\tu64 bytenr;\n\tint mod_count;\n\tu64 tree_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__qgroup_rsv_data {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 rootid;\n\tu64 ino;\n\tu64 start;\n\tu64 len;\n\tu64 reserved;\n\tint op;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__reserve_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bg_objectid;\n\tu64 flags;\n\tint bg_size_class;\n\tu64 start;\n\tu64 len;\n\tu64 loop;\n\tbool hinted;\n\tint size_class;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__reserved_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 start;\n\tu64 len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__space_info_update {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 type;\n\tu64 old;\n\ts64 diff;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__work {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tconst void *work;\n\tconst void *wq;\n\tconst void *func;\n\tconst void *ordered_func;\n\tconst void *normal_work;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__work__done {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tconst void *wtag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs__writepage {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 ino;\n\tlong unsigned int index;\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tchar for_kupdate;\n\tchar for_reclaim;\n\tchar range_cyclic;\n\tlong unsigned int writeback_index;\n\tu64 root_objectid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_add_block_group {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 offset;\n\tu64 size;\n\tu64 flags;\n\tu64 bytes_used;\n\tu64 bytes_super;\n\tint create;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_clear_extent_bit {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tunsigned int owner;\n\tu64 ino;\n\tu64 rootid;\n\tu64 start;\n\tu64 len;\n\tunsigned int clear_bits;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_convert_extent_bit {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tunsigned int owner;\n\tu64 ino;\n\tu64 rootid;\n\tu64 start;\n\tu64 len;\n\tunsigned int set_bits;\n\tunsigned int clear_bits;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_cow_block {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_objectid;\n\tu64 buf_start;\n\tint refs;\n\tu64 cow_start;\n\tint buf_level;\n\tint cow_level;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_delayed_data_ref {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bytenr;\n\tu64 num_bytes;\n\tint action;\n\tu64 parent;\n\tu64 ref_root;\n\tu64 owner;\n\tu64 offset;\n\tint type;\n\tu64 seq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_delayed_ref_head {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bytenr;\n\tu64 num_bytes;\n\tint action;\n\tint is_data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_delayed_tree_ref {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bytenr;\n\tu64 num_bytes;\n\tint action;\n\tu64 parent;\n\tu64 ref_root;\n\tint level;\n\tint type;\n\tu64 seq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_dump_space_info {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 flags;\n\tu64 total_bytes;\n\tu64 bytes_used;\n\tu64 bytes_pinned;\n\tu64 bytes_reserved;\n\tu64 bytes_may_use;\n\tu64 bytes_readonly;\n\tu64 reclaim_size;\n\tint clamp;\n\tu64 global_reserved;\n\tu64 trans_reserved;\n\tu64 delayed_refs_reserved;\n\tu64 delayed_reserved;\n\tu64 free_chunk_space;\n\tu64 delalloc_bytes;\n\tu64 ordered_bytes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_extent_map_shrinker_count {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tlong int nr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_extent_map_shrinker_remove_em {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 ino;\n\tu64 root_id;\n\tu64 start;\n\tu64 len;\n\tu32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_extent_map_shrinker_scan_enter {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tlong int nr_to_scan;\n\tlong int nr;\n\tu64 last_root_id;\n\tu64 last_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_extent_map_shrinker_scan_exit {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tlong int nr_dropped;\n\tlong int nr;\n\tu64 last_root_id;\n\tu64 last_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_failed_cluster_setup {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bg_objectid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_find_cluster {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bg_objectid;\n\tu64 flags;\n\tu64 start;\n\tu64 bytes;\n\tu64 empty_size;\n\tu64 min_bytes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_finish_ordered_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 ino;\n\tu64 start;\n\tu64 len;\n\tbool uptodate;\n\tu64 root_objectid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_flush_space {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 flags;\n\tu64 num_bytes;\n\tint state;\n\tint ret;\n\tbool for_preempt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_get_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_objectid;\n\tu64 ino;\n\tu64 start;\n\tu64 len;\n\tu32 flags;\n\tint refs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_get_raid_extent_offset {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 logical;\n\tu64 length;\n\tu64 physical;\n\tu64 devid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_handle_em_exist {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 e_start;\n\tu64 e_len;\n\tu64 map_start;\n\tu64 map_len;\n\tu64 start;\n\tu64 len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_inode_mod_outstanding_extents {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_objectid;\n\tu64 ino;\n\tint mod;\n\tunsigned int outstanding;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_insert_one_raid_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 logical;\n\tu64 length;\n\tint num_stripes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_locking_events {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 block;\n\tu64 generation;\n\tu64 owner;\n\tint is_log_tree;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_qgroup_account_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 transid;\n\tu64 bytenr;\n\tu64 num_bytes;\n\tu64 nr_old_roots;\n\tu64 nr_new_roots;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_qgroup_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bytenr;\n\tu64 num_bytes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_raid56_bio {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 full_stripe;\n\tu64 physical;\n\tu64 devid;\n\tu32 offset;\n\tu32 len;\n\tu8 opf;\n\tu8 total_stripes;\n\tu8 real_stripes;\n\tu8 nr_data;\n\tu8 stripe_nr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_raid_extent_delete {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 start;\n\tu64 end;\n\tu64 found_start;\n\tu64 found_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_reserve_ticket {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 flags;\n\tu64 bytes;\n\tu64 start_ns;\n\tint flush;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_set_extent_bit {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tunsigned int owner;\n\tu64 ino;\n\tu64 rootid;\n\tu64 start;\n\tu64 len;\n\tunsigned int set_bits;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_setup_cluster {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 bg_objectid;\n\tu64 flags;\n\tu64 start;\n\tu64 max_size;\n\tu64 size;\n\tint bitmap;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_sleep_tree_lock {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 block;\n\tu64 generation;\n\tu64 start_ns;\n\tu64 end_ns;\n\tu64 diff_ns;\n\tu64 owner;\n\tint is_log_tree;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_space_reservation {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu32 __data_loc_type;\n\tu64 val;\n\tu64 bytes;\n\tint reserve;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_sync_file {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 ino;\n\tu64 parent;\n\tint datasync;\n\tu64 root_objectid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_sync_fs {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tint wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_transaction_commit {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 generation;\n\tu64 root_objectid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_trigger_flush {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 flags;\n\tu64 bytes;\n\tint flush;\n\tu32 __data_loc_reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_workqueue {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tconst void *wq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_workqueue_done {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tconst void *wq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_btrfs_writepage_end_io_hook {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 ino;\n\tu64 start;\n\tu64 end;\n\tint uptodate;\n\tu64 root_objectid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cache_event {\n\tstruct trace_entry ent;\n\tconst struct cache_head *h;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cap_capable {\n\tstruct trace_entry ent;\n\tconst struct cred *cred;\n\tstruct user_namespace *target_ns;\n\tconst struct user_namespace *capable_ns;\n\tint cap;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cdev_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_type;\n\tlong unsigned int target;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_event {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tu32 __data_loc_path;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_migrate {\n\tstruct trace_entry ent;\n\tint dst_root;\n\tint dst_level;\n\tu64 dst_id;\n\tint pid;\n\tu32 __data_loc_dst_path;\n\tu32 __data_loc_comm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_root {\n\tstruct trace_entry ent;\n\tint root;\n\tu16 ss_mask;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_rstat {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tint cpu;\n\tbool contended;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_duty_cycle {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int num;\n\tunsigned int den;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_parent {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_pname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_phase {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint phase;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int rate;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate_range {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_pname;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int prate;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clock {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tu64 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_busy_retry {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tunsigned int align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_finish {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tunsigned int align;\n\tint errorno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_start {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int count;\n\tunsigned int align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_release {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_compact_retry {\n\tstruct trace_entry ent;\n\tint order;\n\tint priority;\n\tint result;\n\tint retries;\n\tint max_retries;\n\tbool ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_console {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_consume_skb {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tvoid *location;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_contention_begin {\n\tstruct trace_entry ent;\n\tvoid *lock_addr;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_contention_end {\n\tstruct trace_entry ent;\n\tvoid *lock_addr;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu {\n\tstruct trace_entry ent;\n\tu32 state;\n\tu32 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_frequency_limits {\n\tstruct trace_entry ent;\n\tu32 min_freq;\n\tu32 max_freq;\n\tu32 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_idle_miss {\n\tstruct trace_entry ent;\n\tu32 cpu_id;\n\tu32 state;\n\tbool below;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_latency_qos_request {\n\tstruct trace_entry ent;\n\ts32 value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_enter {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint target;\n\tint idx;\n\tvoid *fun;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_exit {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint state;\n\tint idx;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_multi_enter {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint target;\n\tint idx;\n\tvoid *fun;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_csd_function {\n\tstruct trace_entry ent;\n\tvoid *func;\n\tvoid *csd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_csd_queue_cpu {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tvoid *callsite;\n\tvoid *func;\n\tvoid *csd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ctime {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\ttime64_t ctime_s;\n\tu32 ctime_ns;\n\tu32 gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ctime_ns_xchg {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tu32 gen;\n\tu32 old;\n\tu32 new;\n\tu32 cur;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dev_pm_qos_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tenum dev_pm_qos_req_type type;\n\ts32 new_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devfreq_frequency {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tlong unsigned int freq;\n\tlong unsigned int prev_freq;\n\tlong unsigned int busy_time;\n\tlong unsigned int total_time;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devfreq_monitor {\n\tstruct trace_entry ent;\n\tlong unsigned int freq;\n\tlong unsigned int busy_time;\n\tlong unsigned int total_time;\n\tunsigned int polling_ms;\n\tu32 __data_loc_dev_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_device_pm_callback_end {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_device_pm_callback_start {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tu32 __data_loc_parent;\n\tu32 __data_loc_pm_ops;\n\tint event;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devres {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tstruct device *dev;\n\tconst char *op;\n\tvoid *node;\n\tu32 __data_loc_name;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_alloc_class {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tvoid *virt_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tgfp_t flags;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_alloc_sgt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tgfp_t flags;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_fence {\n\tstruct trace_entry ent;\n\tu32 __data_loc_driver;\n\tu32 __data_loc_timeline;\n\tunsigned int context;\n\tunsigned int seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_free_class {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tvoid *virt_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_free_sgt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 phys_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu32 __data_loc_dma_addrs;\n\tu32 __data_loc_lengths;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map_sg_err {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tint err;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_sync_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_dma_addrs;\n\tu32 __data_loc_lengths;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_sync_single {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_unmap {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_unmap_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_addrs;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dql_stall_detected {\n\tstruct trace_entry ent;\n\tshort unsigned int thrs;\n\tunsigned int len;\n\tlong unsigned int last_reap;\n\tlong unsigned int hist_head;\n\tlong unsigned int now;\n\tlong unsigned int hist[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_drm_vblank_event {\n\tstruct trace_entry ent;\n\tint crtc;\n\tunsigned int seq;\n\tktime_t time;\n\tbool high_prec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_drm_vblank_event_delivered {\n\tstruct trace_entry ent;\n\tstruct drm_file *file;\n\tint crtc;\n\tunsigned int seq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_drm_vblank_event_queued {\n\tstruct trace_entry ent;\n\tstruct drm_file *file;\n\tint crtc;\n\tunsigned int seq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_e1000e_trace_mac_register {\n\tstruct trace_entry ent;\n\tuint32_t reg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_error_report_template {\n\tstruct trace_entry ent;\n\tenum error_detector error_detector;\n\tlong unsigned int id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_exit_mmap {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tstruct maple_tree *mt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext2_dio_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tsize_t count;\n\tint ki_flags;\n\tbool aio;\n\tssize_t ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext2_dio_write_endio {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tssize_t size;\n\tint ki_flags;\n\tbool aio;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__bitmap_load {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__es_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__es_shrink_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_to_scan;\n\tint cache_cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__fallocate_mode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tint mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__folio_op {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__map_blocks_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tunsigned int len;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__map_blocks_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int flags;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tunsigned int len;\n\tunsigned int mflags;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__mb_new_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 pa_pstart;\n\t__u64 pa_lstart;\n\t__u32 pa_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__mballoc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__trim {\n\tstruct trace_entry ent;\n\tint dev_major;\n\tint dev_minor;\n\t__u32 group;\n\tint start;\n\tint len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__truncate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__write_begin {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__write_end {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int len;\n\tunsigned int copied;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_alloc_da_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int data_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_allocate_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tunsigned int len;\n\t__u32 logical;\n\t__u32 lleft;\n\t__u32 lright;\n\t__u64 goal;\n\t__u64 pleft;\n\t__u64 pright;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_allocate_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_begin_ordered_truncate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_collapse_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_release_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint freed_blocks;\n\tint reserved_data_blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_reserve_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint reserve_blocks;\n\tint reserved_data_blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_update_reserve_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint used_blocks;\n\tint reserved_data_blocks;\n\tint quota_claim;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_write_pages {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int first_page;\n\tlong int nr_to_write;\n\tint sync_mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_write_pages_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 lblk;\n\t__u32 len;\n\t__u32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_discard_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u64 blk;\n\t__u64 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_discard_preallocations {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_drop_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint drop;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tconst char *function;\n\tunsigned int line;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_find_extent_range_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_find_extent_range_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_insert_delayed_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tbool lclu_allocated;\n\tbool end_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_lookup_extent_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_lookup_extent_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tint found;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_remove_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t lblk;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_shrink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_shrunk;\n\tlong long unsigned int scan_time;\n\tint nr_skipped;\n\tint retried;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_shrink_scan_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_shrunk;\n\tint cache_cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_evict_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint nlink;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_convert_to_initialized_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\text4_lblk_t u_lblk;\n\tunsigned int u_len;\n\text4_fsblk_t u_pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_convert_to_initialized_fastpath {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\text4_lblk_t u_lblk;\n\tunsigned int u_len;\n\text4_fsblk_t u_pblk;\n\text4_lblk_t i_lblk;\n\tunsigned int i_len;\n\text4_fsblk_t i_pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_handle_unwritten_extents {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint flags;\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tunsigned int len;\n\tunsigned int allocated;\n\text4_fsblk_t newblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_load_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_remove_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t end;\n\tint depth;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_remove_space_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t end;\n\tint depth;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tshort unsigned int eh_entries;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_rm_idx {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_rm_leaf {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t ee_lblk;\n\text4_fsblk_t ee_pblk;\n\tshort int ee_len;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_show_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tshort unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fallocate_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int blocks;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_cleanup {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint j_fc_off;\n\tint full;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_commit_start {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_commit_stop {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nblks;\n\tint reason;\n\tint num_fc;\n\tint num_fc_ineligible;\n\tint nblks_agg;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_replay {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint tag;\n\tint ino;\n\tint priv1;\n\tint priv2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_replay_scan {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint error;\n\tint off;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int fc_ineligible_rc[10];\n\tlong unsigned int fc_commits;\n\tlong unsigned int fc_ineligible_commits;\n\tlong unsigned int fc_numblks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_dentry {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tlong int start;\n\tlong int end;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_forget {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tint is_metadata;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_free_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tlong unsigned int count;\n\tint flags;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_free_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tuid_t uid;\n\tgid_t gid;\n\t__u64 blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\tu32 agno;\n\tu64 bno;\n\tu64 len;\n\tu64 owner;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_get_implied_cluster_alloc_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tunsigned int len;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_getfsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\tu64 block;\n\tu64 len;\n\tu64 owner;\n\tu64 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_insert_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_invalidate_folio_op {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int index;\n\tsize_t offset;\n\tsize_t length;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_inode {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tint rsv_blocks;\n\tint revoke_creds;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_reserved {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_sb {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tint rsv_blocks;\n\tint revoke_creds;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_lazy_itable_init {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_load_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mark_inode_dirty {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_discard_preallocations {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint needed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_release_group_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u64 pa_pstart;\n\t__u32 pa_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_release_inode_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\t__u32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mballoc_alloc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u32 orig_logical;\n\tint orig_start;\n\t__u32 orig_group;\n\tint orig_len;\n\t__u32 goal_logical;\n\tint goal_start;\n\t__u32 goal_group;\n\tint goal_len;\n\t__u32 result_logical;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\t__u16 found;\n\t__u16 groups;\n\t__u16 buddy;\n\t__u16 flags;\n\t__u16 tail;\n\t__u8 cr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mballoc_prealloc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u32 orig_logical;\n\tint orig_start;\n\t__u32 orig_group;\n\tint orig_len;\n\t__u32 result_logical;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_nfs_commit_metadata {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_other_inode_update_time {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t orig_ino;\n\tuid_t uid;\n\tgid_t gid;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_prefetch_bitmaps {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\t__u32 next;\n\t__u32 ios;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_read_block_bitmap_load {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tbool prefetch;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_remove_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t from;\n\text4_lblk_t to;\n\text4_fsblk_t ee_pblk;\n\text4_lblk_t ee_lblk;\n\tshort unsigned int ee_len;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_request_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int len;\n\t__u32 logical;\n\t__u32 lleft;\n\t__u32 lright;\n\t__u64 goal;\n\t__u64 pleft;\n\t__u64 pright;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_request_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_shutdown {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_file_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t parent;\n\tint datasync;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_file_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_fs {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_unlink_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t parent;\n\tloff_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_unlink_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_update_sb {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\text4_fsblk_t fsblk;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_writepages {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tlong unsigned int writeback_index;\n\tint sync_mode;\n\tchar for_kupdate;\n\tchar range_cyclic;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_writepages_result {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tint pages_written;\n\tlong int pages_skipped;\n\tlong unsigned int writeback_index;\n\tint sync_mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fdb_delete {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ff_layout_commit_error {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fib6_table_lookup {\n\tstruct trace_entry ent;\n\tu32 tb_id;\n\tint err;\n\tint oif;\n\tint iif;\n\tu32 flowlabel;\n\t__u8 tos;\n\t__u8 scope;\n\t__u8 flags;\n\t__u8 src[16];\n\t__u8 dst[16];\n\tu16 sport;\n\tu16 dport;\n\tu8 proto;\n\tu8 rt_type;\n\tchar name[16];\n\t__u8 gw[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fib_table_lookup {\n\tstruct trace_entry ent;\n\tu32 tb_id;\n\tint err;\n\tint oif;\n\tint iif;\n\tu8 proto;\n\t__u8 tos;\n\t__u8 scope;\n\t__u8 flags;\n\t__u8 src[4];\n\t__u8 dst[4];\n\t__u8 gw4[4];\n\t__u8 gw6[16];\n\tu16 sport;\n\tu16 dport;\n\tchar name[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_file_check_and_advance_wb_err {\n\tstruct trace_entry ent;\n\tstruct file *file;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\terrseq_t old;\n\terrseq_t new;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filelock_lease {\n\tstruct trace_entry ent;\n\tstruct file_lease *fl;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tstruct file_lock_core *blocker;\n\tfl_owner_t owner;\n\tunsigned int flags;\n\tunsigned char type;\n\tlong unsigned int break_time;\n\tlong unsigned int downgrade_time;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filelock_lock {\n\tstruct trace_entry ent;\n\tstruct file_lock *fl;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tstruct file_lock_core *blocker;\n\tfl_owner_t owner;\n\tunsigned int pid;\n\tunsigned int flags;\n\tunsigned char type;\n\tloff_t fl_start;\n\tloff_t fl_end;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filemap_set_wb_err {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\terrseq_t errseq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fill_mg_cmtime {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\ttime64_t ctime_s;\n\ttime64_t mtime_s;\n\tu32 ctime_ns;\n\tu32 mtime_ns;\n\tu32 gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_find_free_extent {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_objectid;\n\tu64 num_bytes;\n\tu64 empty_size;\n\tu64 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_find_free_extent_have_block_group {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_objectid;\n\tu64 num_bytes;\n\tu64 empty_size;\n\tu64 flags;\n\tu64 loop;\n\tbool hinted;\n\tu64 bg_start;\n\tu64 bg_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_find_free_extent_search_loop {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 root_objectid;\n\tu64 num_bytes;\n\tu64 empty_size;\n\tu64 flags;\n\tu64 loop;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_finish_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fl_getdevinfo {\n\tstruct trace_entry ent;\n\tu32 __data_loc_mds_addr;\n\tunsigned char deviceid[16];\n\tu32 __data_loc_ds_ips;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_flush_foreign {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t cgroup_ino;\n\tunsigned int frn_bdi_id;\n\tunsigned int frn_memcg_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_free_extent_state {\n\tstruct trace_entry ent;\n\tconst struct extent_state *state;\n\tconst void *ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_free_vmap_area_noflush {\n\tstruct trace_entry ent;\n\tlong unsigned int va_start;\n\tlong unsigned int nr_lazy;\n\tlong unsigned int nr_lazy_max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_access {\n\tstruct trace_entry ent;\n\tunsigned int cookie;\n\tint ref;\n\tint n_accesses;\n\tenum fscache_access_trace why;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_access_cache {\n\tstruct trace_entry ent;\n\tunsigned int cache;\n\tint ref;\n\tint n_accesses;\n\tenum fscache_access_trace why;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_access_volume {\n\tstruct trace_entry ent;\n\tunsigned int volume;\n\tunsigned int cookie;\n\tint ref;\n\tint n_accesses;\n\tenum fscache_access_trace why;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_acquire {\n\tstruct trace_entry ent;\n\tunsigned int cookie;\n\tunsigned int volume;\n\tint v_ref;\n\tint v_n_cookies;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_active {\n\tstruct trace_entry ent;\n\tunsigned int cookie;\n\tint ref;\n\tint n_active;\n\tint n_accesses;\n\tenum fscache_active_trace why;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_cache {\n\tstruct trace_entry ent;\n\tunsigned int cache;\n\tint usage;\n\tenum fscache_cache_trace where;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_cookie {\n\tstruct trace_entry ent;\n\tunsigned int cookie;\n\tint ref;\n\tenum fscache_cookie_trace where;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_invalidate {\n\tstruct trace_entry ent;\n\tunsigned int cookie;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_relinquish {\n\tstruct trace_entry ent;\n\tunsigned int cookie;\n\tunsigned int volume;\n\tint ref;\n\tint n_active;\n\tu8 flags;\n\tbool retire;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_resize {\n\tstruct trace_entry ent;\n\tunsigned int cookie;\n\tloff_t old_size;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fscache_volume {\n\tstruct trace_entry ent;\n\tunsigned int volume;\n\tint usage;\n\tenum fscache_volume_trace where;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_generic_add_lease {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tint wcount;\n\tint rcount;\n\tint icount;\n\tdev_t s_dev;\n\tfl_owner_t owner;\n\tunsigned int flags;\n\tunsigned char type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_global_dirty_state {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int background_thresh;\n\tlong unsigned int dirty_thresh;\n\tlong unsigned int dirty_limit;\n\tlong unsigned int nr_dirtied;\n\tlong unsigned int nr_written;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_gpio_direction {\n\tstruct trace_entry ent;\n\tunsigned int gpio;\n\tint in;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_gpio_value {\n\tstruct trace_entry ent;\n\tunsigned int gpio;\n\tint get;\n\tint value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_guest_halt_poll_ns {\n\tstruct trace_entry ent;\n\tbool grow;\n\tunsigned int new;\n\tunsigned int old;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_alert_class {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tunsigned int netns_ino;\n\tlong unsigned int level;\n\tlong unsigned int description;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_complete {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint status;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_error_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint err;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_event_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_fd_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint fd;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hda_get_response {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 addr;\n\tu32 res;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hda_pm {\n\tstruct trace_entry ent;\n\tint dev_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hda_send_cmd {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hda_unsol_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 res;\n\tu32 res_ex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hdac_stream {\n\tstruct trace_entry ent;\n\tunsigned char stream_tag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_class {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_expire_entry {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\ts64 now;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_init {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tclockid_t clockid;\n\tenum hrtimer_mode mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_start {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tvoid *function;\n\ts64 expires;\n\ts64 softexpires;\n\tenum hrtimer_mode mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugepage_set {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugepage_update {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tlong unsigned int clr;\n\tlong unsigned int set;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs__inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u16 mode;\n\tloff_t size;\n\tunsigned int nlink;\n\tunsigned int seals;\n\tblkcnt_t blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_alloc_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_fallocate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint mode;\n\tloff_t offset;\n\tloff_t len;\n\tloff_t size;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_setattr {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int d_len;\n\tu32 __data_loc_d_name;\n\tunsigned int ia_valid;\n\tunsigned int ia_mode;\n\tloff_t old_size;\n\tloff_t ia_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hwmon_attr_class {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 __data_loc_attr_name;\n\tlong int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hwmon_attr_show_string {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 __data_loc_attr_name;\n\tu32 __data_loc_label;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_read {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_reply {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_result {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 nr_msgs;\n\t__s16 ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_slave {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\tint ret;\n\t__u16 addr;\n\t__u16 len;\n\tenum i2c_slave_event event;\n\t__u8 buf[1];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_write {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_icmp_send {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tint type;\n\tint code;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u16 sport;\n\t__u16 dport;\n\tshort unsigned int ulen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inet_sk_error_report {\n\tstruct trace_entry ent;\n\tint error;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u16 protocol;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inet_sock_set_state {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\tint oldstate;\n\tint newstate;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u16 protocol;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\ntypedef int (*initcall_t)(void);\n\nstruct trace_event_raw_initcall_finish {\n\tstruct trace_entry ent;\n\tinitcall_t func;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_initcall_level {\n\tstruct trace_entry ent;\n\tu32 __data_loc_level;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_initcall_start {\n\tstruct trace_entry ent;\n\tinitcall_t func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inode_foreign_history {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tino_t cgroup_ino;\n\tunsigned int history;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inode_switch_wbs {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tino_t old_cgroup_ino;\n\tino_t new_cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_complete {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tint res;\n\tunsigned int cflags;\n\tu64 extra1;\n\tu64 extra2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_cqe_overflow {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tlong long unsigned int user_data;\n\ts32 res;\n\tu32 cflags;\n\tvoid *ocqe;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_cqring_wait {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tint min_events;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_create {\n\tstruct trace_entry ent;\n\tint fd;\n\tvoid *ctx;\n\tu32 sq_entries;\n\tu32 cq_entries;\n\tu32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_defer {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int data;\n\tu8 opcode;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_fail_link {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tvoid *link;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_file_get {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tint fd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_link {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tvoid *target_req;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_local_work_run {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tint count;\n\tunsigned int loops;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_poll_arm {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tint mask;\n\tint events;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_queue_async_work {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tu8 opcode;\n\tlong long unsigned int flags;\n\tstruct io_wq_work *work;\n\tint rw;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_register {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tunsigned int opcode;\n\tunsigned int nr_files;\n\tunsigned int nr_bufs;\n\tlong int ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_req_failed {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tu8 flags;\n\tu8 ioprio;\n\tu64 off;\n\tu64 addr;\n\tu32 len;\n\tu32 op_flags;\n\tu16 buf_index;\n\tu16 personality;\n\tu32 file_index;\n\tu64 pad1;\n\tu64 addr3;\n\tint error;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_short_write {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tu64 fpos;\n\tu64 wanted;\n\tu64 got;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_submit_req {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tlong long unsigned int flags;\n\tbool sq_thread;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_task_add {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tint mask;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_task_work_run {\n\tstruct trace_entry ent;\n\tvoid *tctx;\n\tunsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iocg_inuse_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tu32 __data_loc_cgroup;\n\tu64 now;\n\tu32 old_inuse;\n\tu32 new_inuse;\n\tu64 old_hweight_inuse;\n\tu64 new_hweight_inuse;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iocost_ioc_vrate_adj {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tu64 old_vrate;\n\tu64 new_vrate;\n\tint busy_level;\n\tu32 read_missed_ppm;\n\tu32 write_missed_ppm;\n\tu32 rq_wait_pct;\n\tint nr_lagging;\n\tint nr_shortages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iocost_iocg_forgive_debt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tu32 __data_loc_cgroup;\n\tu64 now;\n\tu64 vnow;\n\tu32 usage_pct;\n\tu64 old_debt;\n\tu64 new_debt;\n\tu64 old_delay;\n\tu64 new_delay;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iocost_iocg_state {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tu32 __data_loc_cgroup;\n\tu64 now;\n\tu64 vnow;\n\tu64 vrate;\n\tu64 last_period;\n\tu64 cur_period;\n\tu64 vtime;\n\tu32 weight;\n\tu32 inuse;\n\tu64 hweight_active;\n\tu64 hweight_inuse;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tdev_t bdev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_dio_complete {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tint ki_flags;\n\tbool aio;\n\tint error;\n\tssize_t ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_dio_rw_begin {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tsize_t count;\n\tsize_t done_before;\n\tint ki_flags;\n\tunsigned int dio_flags;\n\tbool aio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_iter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tloff_t pos;\n\tu64 length;\n\ts64 processed;\n\tunsigned int flags;\n\tconst void *ops;\n\tlong unsigned int caller;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_range_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tloff_t size;\n\tloff_t offset;\n\tu64 length;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_readpage_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tint nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_writepage_map {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tu64 pos;\n\tu64 dirty_len;\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tdev_t bdev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_device_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_error {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tu64 iova;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_group_event {\n\tstruct trace_entry ent;\n\tint gid;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_handler {\n\tstruct trace_entry ent;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_raise {\n\tstruct trace_entry ent;\n\tu32 __data_loc_target_cpus;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_send_cpu {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tvoid *callsite;\n\tvoid *callback;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_send_cpumask {\n\tstruct trace_entry ent;\n\tu32 __data_loc_cpumask;\n\tvoid *callsite;\n\tvoid *callback;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_handler_entry {\n\tstruct trace_entry ent;\n\tint irq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_handler_exit {\n\tstruct trace_entry ent;\n\tint irq;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_matrix_cpu {\n\tstruct trace_entry ent;\n\tint bit;\n\tunsigned int cpu;\n\tbool online;\n\tunsigned int available;\n\tunsigned int allocated;\n\tunsigned int managed;\n\tunsigned int online_maps;\n\tunsigned int global_available;\n\tunsigned int global_reserved;\n\tunsigned int total_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_matrix_global {\n\tstruct trace_entry ent;\n\tunsigned int online_maps;\n\tunsigned int global_available;\n\tunsigned int global_reserved;\n\tunsigned int total_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_matrix_global_update {\n\tstruct trace_entry ent;\n\tint bit;\n\tunsigned int online_maps;\n\tunsigned int global_available;\n\tunsigned int global_reserved;\n\tunsigned int total_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_itimer_expire {\n\tstruct trace_entry ent;\n\tint which;\n\tpid_t pid;\n\tlong long unsigned int now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_itimer_state {\n\tstruct trace_entry ent;\n\tint which;\n\tlong long unsigned int expires;\n\tlong int value_sec;\n\tlong int value_nsec;\n\tlong int interval_sec;\n\tlong int interval_nsec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_checkpoint {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_checkpoint_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tlong unsigned int chp_time;\n\t__u32 forced_to_close;\n\t__u32 written;\n\t__u32 dropped;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar sync_commit;\n\ttid_t transaction;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_end_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar sync_commit;\n\ttid_t transaction;\n\ttid_t head;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_extend {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint buffer_credits;\n\tint requested_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_start_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint requested_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint interval;\n\tint sync;\n\tint requested_blocks;\n\tint dirtied_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_journal_shrink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_lock_buffer_stall {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int stall_ms;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_run_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tlong unsigned int wait;\n\tlong unsigned int request_delay;\n\tlong unsigned int running;\n\tlong unsigned int locked;\n\tlong unsigned int flushing;\n\tlong unsigned int logging;\n\t__u32 handle_count;\n\t__u32 blocks;\n\t__u32 blocks_logged;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_shrink_checkpoint_list {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t first_tid;\n\ttid_t tid;\n\ttid_t last_tid;\n\tlong unsigned int nr_freed;\n\ttid_t next_tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_shrink_scan_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int nr_shrunk;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_submit_inode_data {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_update_log_tail {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tail_sequence;\n\ttid_t first_tid;\n\tlong unsigned int block_nr;\n\tlong unsigned int freed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_write_superblock {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tblk_opf_t write_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kcompactd_wake_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tint order;\n\tenum zone_type highest_zoneidx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kfree {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kfree_skb {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tvoid *location;\n\tvoid *rx_sk;\n\tshort unsigned int protocol;\n\tenum skb_drop_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmalloc {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tsize_t bytes_req;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tint node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmem_cache_alloc {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tsize_t bytes_req;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tint node;\n\tbool accounted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmem_cache_free {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_advisor {\n\tstruct trace_entry ent;\n\ts64 scan_time;\n\tlong unsigned int pages_to_scan;\n\tunsigned int cpu_percent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_enter_exit_template {\n\tstruct trace_entry ent;\n\tvoid *mm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_merge_one_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_merge_with_ksm_page {\n\tstruct trace_entry ent;\n\tvoid *ksm_page;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_remove_ksm_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_remove_rmap_item {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_scan_template {\n\tstruct trace_entry ent;\n\tint seq;\n\tu32 rmap_entries;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_adjust {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tunsigned int depth;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_latency {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tchar type[8];\n\tu8 percentile;\n\tu8 numerator;\n\tu8 denominator;\n\tunsigned int samples;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_throttled {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_leases_conflict {\n\tstruct trace_entry ent;\n\tvoid *lease;\n\tvoid *breaker;\n\tunsigned int l_fl_flags;\n\tunsigned int b_fl_flags;\n\tunsigned char l_fl_type;\n\tunsigned char b_fl_type;\n\tbool conflict;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_locks_get_lock_context {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tunsigned char type;\n\tstruct file_lock_context *ctx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_op {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_read {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_write {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tlong unsigned int piv;\n\tvoid *val;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_map {\n\tstruct trace_entry ent;\n\tu64 iova;\n\tu64 paddr;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mark_victim {\n\tstruct trace_entry ent;\n\tint pid;\n\tu32 __data_loc_comm;\n\tlong unsigned int total_vm;\n\tlong unsigned int anon_rss;\n\tlong unsigned int file_rss;\n\tlong unsigned int shmem_rss;\n\tuid_t uid;\n\tlong unsigned int pgtables;\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mc_event {\n\tstruct trace_entry ent;\n\tunsigned int error_type;\n\tu32 __data_loc_msg;\n\tu32 __data_loc_label;\n\tu16 error_count;\n\tu8 mc_index;\n\ts8 top_layer;\n\ts8 middle_layer;\n\ts8 lower_layer;\n\tlong int address;\n\tu8 grain_bits;\n\tlong int syndrome;\n\tu32 __data_loc_driver_detail;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mdio_access {\n\tstruct trace_entry ent;\n\tchar busid[61];\n\tchar read;\n\tu8 addr;\n\tu16 val;\n\tunsigned int regnum;\n\tchar __data[0];\n};\n\nstruct xdp_mem_allocator;\n\nstruct trace_event_raw_mem_connect {\n\tstruct trace_entry ent;\n\tconst struct xdp_mem_allocator *xa;\n\tu32 mem_id;\n\tu32 mem_type;\n\tconst void *allocator;\n\tconst struct xdp_rxq_info *rxq;\n\tint ifindex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mem_disconnect {\n\tstruct trace_entry ent;\n\tconst struct xdp_mem_allocator *xa;\n\tu32 mem_id;\n\tu32 mem_type;\n\tconst void *allocator;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mem_return_failed {\n\tstruct trace_entry ent;\n\tconst struct page *page;\n\tu32 mem_id;\n\tu32 mem_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_flush_stats {\n\tstruct trace_entry ent;\n\tu64 id;\n\ts64 stats_updates;\n\tbool force;\n\tbool needs_flush;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_rstat_events {\n\tstruct trace_entry ent;\n\tu64 id;\n\tint item;\n\tlong unsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_rstat_stats {\n\tstruct trace_entry ent;\n\tu64 id;\n\tint item;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_migration_pmd {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_migration_pte {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tint order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_alloc_contig_migrate_range_info {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int nr_migrated;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_mapped;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tint isolated;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page_isolate {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint none_or_zero;\n\tint referenced;\n\tbool writable;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page_swapin {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tint swapped_in;\n\tint referenced;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_begin {\n\tstruct trace_entry ent;\n\tlong unsigned int zone_start;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int free_pfn;\n\tlong unsigned int zone_end;\n\tbool sync;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_defer_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tenum zone_type idx;\n\tint order;\n\tunsigned int considered;\n\tunsigned int defer_shift;\n\tint order_failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_end {\n\tstruct trace_entry ent;\n\tlong unsigned int zone_start;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int free_pfn;\n\tlong unsigned int zone_end;\n\tbool sync;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_isolate_template {\n\tstruct trace_entry ent;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_taken;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_kcompactd_sleep {\n\tstruct trace_entry ent;\n\tint nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_migratepages {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_migrated;\n\tlong unsigned int nr_failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_suitable_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tenum zone_type idx;\n\tint order;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_try_to_compact_pages {\n\tstruct trace_entry ent;\n\tint order;\n\tlong unsigned int gfp_mask;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_fault {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_op_page_cache {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tlong unsigned int i_ino;\n\tlong unsigned int index;\n\tdev_t s_dev;\n\tunsigned char order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_op_page_cache_range {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tlong unsigned int index;\n\tlong unsigned int last_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_collapse_file {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int hpfn;\n\tlong unsigned int index;\n\tlong unsigned int addr;\n\tbool is_shmem;\n\tu32 __data_loc_filename;\n\tint nr;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_scan_file {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int pfn;\n\tu32 __data_loc_filename;\n\tint present;\n\tint swap;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_scan_pmd {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int pfn;\n\tbool writable;\n\tint referenced;\n\tint none_or_zero;\n\tint status;\n\tint unmapped;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_lru_activate {\n\tstruct trace_entry ent;\n\tstruct folio *folio;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_lru_insertion {\n\tstruct trace_entry ent;\n\tstruct folio *folio;\n\tlong unsigned int pfn;\n\tenum lru_list lru;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_migrate_pages {\n\tstruct trace_entry ent;\n\tlong unsigned int succeeded;\n\tlong unsigned int failed;\n\tlong unsigned int thp_succeeded;\n\tlong unsigned int thp_failed;\n\tlong unsigned int thp_split;\n\tlong unsigned int large_folio_split;\n\tenum migrate_mode mode;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_migrate_pages_start {\n\tstruct trace_entry ent;\n\tenum migrate_mode mode;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tint migratetype;\n\tint percpu_refill;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_alloc {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tlong unsigned int gfp_flags;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_alloc_extfrag {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint alloc_order;\n\tint fallback_order;\n\tint alloc_migratetype;\n\tint fallback_migratetype;\n\tint change_ownership;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_free {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_free_batched {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_pcpu_drain {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_shrink_slab_end {\n\tstruct trace_entry ent;\n\tstruct shrinker *shr;\n\tint nid;\n\tvoid *shrink;\n\tlong int unused_scan;\n\tlong int new_scan;\n\tint retval;\n\tlong int total_scan;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_shrink_slab_start {\n\tstruct trace_entry ent;\n\tstruct shrinker *shr;\n\tvoid *shrink;\n\tint nid;\n\tlong int nr_objects_to_shrink;\n\tlong unsigned int gfp_flags;\n\tlong unsigned int cache_items;\n\tlong long unsigned int delta;\n\tlong unsigned int total_scan;\n\tint priority;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_direct_reclaim_begin_template {\n\tstruct trace_entry ent;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_direct_reclaim_end_template {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_reclaimed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_kswapd_sleep {\n\tstruct trace_entry ent;\n\tint nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_kswapd_wake {\n\tstruct trace_entry ent;\n\tint nid;\n\tint zid;\n\tint order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_isolate {\n\tstruct trace_entry ent;\n\tint highest_zoneidx;\n\tint order;\n\tlong unsigned int nr_requested;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_skipped;\n\tlong unsigned int nr_taken;\n\tint lru;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_shrink_active {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_taken;\n\tlong unsigned int nr_active;\n\tlong unsigned int nr_deactivated;\n\tlong unsigned int nr_referenced;\n\tint priority;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_shrink_inactive {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_congested;\n\tlong unsigned int nr_immediate;\n\tunsigned int nr_activate0;\n\tunsigned int nr_activate1;\n\tlong unsigned int nr_ref_keep;\n\tlong unsigned int nr_unmap_fail;\n\tint priority;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_node_reclaim_begin {\n\tstruct trace_entry ent;\n\tint nid;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_reclaim_pages {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_congested;\n\tlong unsigned int nr_immediate;\n\tunsigned int nr_activate0;\n\tunsigned int nr_activate1;\n\tlong unsigned int nr_ref_keep;\n\tlong unsigned int nr_unmap_fail;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_throttled {\n\tstruct trace_entry ent;\n\tint nid;\n\tint usec_timeout;\n\tint usec_delayed;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_wakeup_kswapd {\n\tstruct trace_entry ent;\n\tint nid;\n\tint zid;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_write_folio {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmap_lock {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tu64 memcg_id;\n\tbool write;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmap_lock_acquire_returned {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tu64 memcg_id;\n\tbool write;\n\tbool success;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_free {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_load {\n\tstruct trace_entry ent;\n\tunsigned int taints;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_refcnt {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tint refcnt;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_request {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tbool wait;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mptcp_dump_mpext {\n\tstruct trace_entry ent;\n\tu64 data_ack;\n\tu64 data_seq;\n\tu32 subflow_seq;\n\tu16 data_len;\n\tu16 csum;\n\tu8 use_map;\n\tu8 dsn64;\n\tu8 data_fin;\n\tu8 use_ack;\n\tu8 ack64;\n\tu8 mpc_map;\n\tu8 frozen;\n\tu8 reset_transient;\n\tu8 reset_reason;\n\tu8 csum_reqd;\n\tu8 infinite_map;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mptcp_subflow_get_send {\n\tstruct trace_entry ent;\n\tbool active;\n\tbool free;\n\tu32 snd_wnd;\n\tu32 pace;\n\tu8 backup;\n\tu64 ratio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_napi_poll {\n\tstruct trace_entry ent;\n\tstruct napi_struct *napi;\n\tu32 __data_loc_dev_name;\n\tint work;\n\tint budget;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh__update {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tu8 lladdr[32];\n\tu8 lladdr_len;\n\tu8 flags;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tint refcnt;\n\t__u8 primary_key4[4];\n\t__u8 primary_key6[16];\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tu32 err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh_create {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tint entries;\n\tu8 created;\n\tu8 gc_exempt;\n\tu8 primary_key4[4];\n\tu8 primary_key6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh_update {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tu8 lladdr[32];\n\tu8 lladdr_len;\n\tu8 flags;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tint refcnt;\n\t__u8 primary_key4[4];\n\t__u8 primary_key6[16];\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tu8 new_lladdr[32];\n\tu8 new_state;\n\tu32 update_flags;\n\tu32 pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_rx_exit_template {\n\tstruct trace_entry ent;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_rx_verbose_template {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int napi_id;\n\tu16 queue_mapping;\n\tconst void *skbaddr;\n\tbool vlan_tagged;\n\tu16 vlan_proto;\n\tu16 vlan_tci;\n\tu16 protocol;\n\tu8 ip_summed;\n\tu32 hash;\n\tbool l4_hash;\n\tunsigned int len;\n\tunsigned int data_len;\n\tunsigned int truesize;\n\tbool mac_header_valid;\n\tint mac_header;\n\tunsigned char nr_frags;\n\tu16 gso_size;\n\tu16 gso_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_start_xmit {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu16 queue_mapping;\n\tconst void *skbaddr;\n\tbool vlan_tagged;\n\tu16 vlan_proto;\n\tu16 vlan_tci;\n\tu16 protocol;\n\tu8 ip_summed;\n\tunsigned int len;\n\tunsigned int data_len;\n\tint network_offset;\n\tbool transport_offset_valid;\n\tint transport_offset;\n\tu8 tx_flags;\n\tu16 gso_size;\n\tu16 gso_segs;\n\tu16 gso_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_template {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tunsigned int len;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_xmit {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tunsigned int len;\n\tint rc;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_xmit_timeout {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_driver;\n\tint queue_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int len;\n\tlong long unsigned int transferred;\n\tlong long unsigned int start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_folio {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tlong unsigned int index;\n\tlong long unsigned int fend;\n\tlong long unsigned int cleaned_to;\n\tlong long unsigned int collected_to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_gap {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned char stream;\n\tunsigned char type;\n\tlong long unsigned int from;\n\tlong long unsigned int to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_sreq {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int subreq;\n\tunsigned int stream;\n\tunsigned int len;\n\tunsigned int transferred;\n\tlong long unsigned int start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_state {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int notes;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int cleaned_to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_stream {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned char stream;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int front;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_failure {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tshort int index;\n\tshort int error;\n\tshort unsigned int flags;\n\tenum netfs_io_source source;\n\tenum netfs_failure what;\n\tsize_t len;\n\tsize_t transferred;\n\tloff_t start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_folio {\n\tstruct trace_entry ent;\n\tino_t ino;\n\tlong unsigned int index;\n\tunsigned int nr;\n\tenum netfs_folio_trace why;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_folioq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int id;\n\tenum netfs_folioq_trace trace;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_read {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int cookie;\n\tloff_t i_size;\n\tloff_t start;\n\tsize_t len;\n\tenum netfs_read_trace what;\n\tunsigned int netfs_inode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_rreq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int flags;\n\tenum netfs_io_origin origin;\n\tenum netfs_rreq_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_rreq_ref {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tint ref;\n\tenum netfs_rreq_ref_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_sreq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tshort unsigned int index;\n\tshort int error;\n\tshort unsigned int flags;\n\tenum netfs_io_source source;\n\tenum netfs_sreq_trace what;\n\tu8 slot;\n\tsize_t len;\n\tsize_t transferred;\n\tloff_t start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_sreq_ref {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int subreq;\n\tint ref;\n\tenum netfs_sreq_ref_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_write {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int cookie;\n\tunsigned int ino;\n\tenum netfs_write_trace what;\n\tlong long unsigned int start;\n\tlong long unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_write_iter {\n\tstruct trace_entry ent;\n\tlong long unsigned int start;\n\tsize_t len;\n\tunsigned int flags;\n\tunsigned int ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netlink_extack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cached_open {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_error_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 cbident;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_offload {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tloff_t cb_count;\n\tint cb_how;\n\tint cb_stateid_seq;\n\tu32 cb_stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_seqid_err {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int cachethis;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_sequence {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int cachethis;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_clientid_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dstaddr;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_clone {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 src_fhandle;\n\tu32 src_fileid;\n\tu32 dst_fhandle;\n\tu32 dst_fileid;\n\tdev_t src_dev;\n\tdev_t dst_dev;\n\tloff_t src_offset;\n\tloff_t dst_offset;\n\tint src_stateid_seq;\n\tu32 src_stateid_hash;\n\tint dst_stateid_seq;\n\tu32 dst_stateid_hash;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_close {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_commit_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tloff_t offset;\n\tu32 count;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_copy {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 src_fhandle;\n\tu32 src_fileid;\n\tu32 dst_fhandle;\n\tu32 dst_fileid;\n\tdev_t src_dev;\n\tdev_t dst_dev;\n\tint src_stateid_seq;\n\tu32 src_stateid_hash;\n\tint dst_stateid_seq;\n\tu32 dst_stateid_hash;\n\tloff_t src_offset;\n\tloff_t dst_offset;\n\tbool sync;\n\tloff_t len;\n\tint res_stateid_seq;\n\tu32 res_stateid_hash;\n\tloff_t res_count;\n\tbool res_sync;\n\tbool res_cons;\n\tbool intra;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_copy_notify {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tu32 fileid;\n\tdev_t dev;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint res_stateid_seq;\n\tu32 res_stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_delegreturn_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_deviceid_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dstaddr;\n\tunsigned char deviceid[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_deviceid_status {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint status;\n\tu32 __data_loc_dstaddr;\n\tunsigned char deviceid[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_flexfiles_io_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_getattr_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int valid;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_idmap_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 id;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_callback_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_stateid_callback_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_dstaddr;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_stateid_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_layoutget {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 iomode;\n\tu64 offset;\n\tu64 count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_llseek {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tu32 fileid;\n\tdev_t dev;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tloff_t offset_s;\n\tu32 what;\n\tloff_t offset_r;\n\tu32 eof;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lock_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int cmd;\n\tlong unsigned int type;\n\tloff_t start;\n\tloff_t end;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lookup_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lookupp {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_offload_cancel {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_open_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint openstateid_seq;\n\tu32 openstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_read_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_rename {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 olddir;\n\tu32 __data_loc_oldname;\n\tu64 newdir;\n\tu32 __data_loc_newname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_sequence_done {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int target_highest_slotid;\n\tlong unsigned int status_flags;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_set_delegation_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_set_lock {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int cmd;\n\tlong unsigned int type;\n\tloff_t start;\n\tloff_t end;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint lockstateid_seq;\n\tu32 lockstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_setup_sequence {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_used_slotid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_sparse_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tloff_t offset;\n\tloff_t len;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_lock_reclaim {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int state_flags;\n\tlong unsigned int lock_flags;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_mgr {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 __data_loc_hostname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_mgr_failed {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int state;\n\tu32 __data_loc_hostname;\n\tu32 __data_loc_section;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_test_stateid_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_trunked_exchange_id {\n\tstruct trace_entry ent;\n\tu32 __data_loc_main_addr;\n\tu32 __data_loc_trunk_addr;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_write_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xattr_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xdr_bad_operation {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 op;\n\tu32 expected;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xdr_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 op;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_access_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tunsigned char type;\n\tu64 fileid;\n\tu64 version;\n\tloff_t size;\n\tlong unsigned int nfsi_flags;\n\tlong unsigned int cache_validity;\n\tunsigned int mask;\n\tunsigned int permitted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_aop_readahead {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tunsigned int nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_aop_readahead_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tint ret;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tunsigned int nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_atomic_open_enter {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_atomic_open_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_commit_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tint error;\n\tlong unsigned int stable;\n\tchar verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_create_enter {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_create_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_direct_req_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t offset;\n\tssize_t count;\n\tssize_t error;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_directory_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_directory_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_fh_to_dentry {\n\tstruct trace_entry ent;\n\tint error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_folio_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_folio_event_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tint ret;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_read {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_write {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tlong unsigned int stable;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tunsigned char type;\n\tu64 fileid;\n\tu64 version;\n\tloff_t size;\n\tlong unsigned int nfsi_flags;\n\tlong unsigned int cache_validity;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_range_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t range_start;\n\tloff_t range_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_link_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_link_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_local_open_fh {\n\tstruct trace_entry ent;\n\tint error;\n\tu32 fhandle;\n\tunsigned int fmode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_lookup_event {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_lookup_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_assign {\n\tstruct trace_entry ent;\n\tu32 __data_loc_option;\n\tu32 __data_loc_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_option {\n\tstruct trace_entry ent;\n\tu32 __data_loc_option;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_path {\n\tstruct trace_entry ent;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_page_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tunsigned int count;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_pgio_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tloff_t pos;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readdir_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tchar verifier[8];\n\tu64 cookie;\n\tlong unsigned int index;\n\tunsigned int dtsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readpage_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tbool eof;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readpage_short {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tbool eof;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_rename_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 old_dir;\n\tu64 new_dir;\n\tu32 __data_loc_old_name;\n\tu32 __data_loc_new_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_rename_event_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 old_dir;\n\tu32 __data_loc_old_name;\n\tu64 new_dir;\n\tu32 __data_loc_new_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_sillyrename_unlink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_update_size_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t cur_size;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_writeback_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tint error;\n\tlong unsigned int stable;\n\tchar verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_xdr_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint version;\n\tlong unsigned int error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_args {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 prog;\n\tu32 ident;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_class {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_done_class {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 si_id;\n\tu32 si_generation;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_free_slot {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 seqno;\n\tu32 reserved;\n\tu32 slot_seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_lifetime_class {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tconst void *cb;\n\tlong unsigned int opcode;\n\tbool need_restart;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_nodelegs {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_notify_lock {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 fh_hash;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_offload {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 si_id;\n\tu32 si_generation;\n\tu32 fh_hash;\n\tint status;\n\tu64 count;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_recall {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 si_id;\n\tu32 si_generation;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_recall_any {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 keep;\n\tlong unsigned int bmval0;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_recall_any_done {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_seq_status {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 seqno;\n\tu32 reserved;\n\tint tk_status;\n\tint seq_status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_setup {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tlong unsigned int authflavor;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cb_setup_err {\n\tstruct trace_entry ent;\n\tlong int error;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_clid_class {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tunsigned char addr[28];\n\tlong unsigned int flavor;\n\tunsigned char verifier[8];\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_clid_cred_mismatch {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tlong unsigned int cl_flavor;\n\tlong unsigned int new_flavor;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_clid_verf_mismatch {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tunsigned char cl_verifier[8];\n\tunsigned char new_verifier[8];\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_clientid_class {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_compound {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 opcnt;\n\tu32 __data_loc_tag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_compound_decode_err {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int status;\n\tunsigned char server[28];\n\tunsigned char client[28];\n\tu32 args_opcnt;\n\tu32 resp_opcnt;\n\tu32 opnum;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_compound_err_class {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int status;\n\tunsigned char server[28];\n\tunsigned char client[28];\n\tu32 opnum;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_compound_status {\n\tstruct trace_entry ent;\n\tu32 args_opcnt;\n\tu32 resp_opcnt;\n\tint status;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_copy_async_done_class {\n\tstruct trace_entry ent;\n\tint status;\n\tbool intra;\n\tbool async;\n\tu32 src_cl_boot;\n\tu32 src_cl_id;\n\tu32 src_so_id;\n\tu32 src_si_generation;\n\tu32 dst_cl_boot;\n\tu32 dst_cl_id;\n\tu32 dst_so_id;\n\tu32 dst_si_generation;\n\tu32 cb_cl_boot;\n\tu32 cb_cl_id;\n\tu32 cb_so_id;\n\tu32 cb_si_generation;\n\tu64 src_cp_pos;\n\tu64 dst_cp_pos;\n\tu64 cp_count;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_copy_class {\n\tstruct trace_entry ent;\n\tbool intra;\n\tbool async;\n\tu32 src_cl_boot;\n\tu32 src_cl_id;\n\tu32 src_so_id;\n\tu32 src_si_generation;\n\tu32 dst_cl_boot;\n\tu32 dst_cl_id;\n\tu32 dst_so_id;\n\tu32 dst_si_generation;\n\tu32 cb_cl_boot;\n\tu32 cb_cl_id;\n\tu32 cb_so_id;\n\tu32 cb_si_generation;\n\tu64 src_cp_pos;\n\tu64 dst_cp_pos;\n\tu64 cp_count;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_copy_done {\n\tstruct trace_entry ent;\n\tint status;\n\tbool intra;\n\tbool async;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_copy_err_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 src_fh_hash;\n\tloff_t src_offset;\n\tu32 dst_fh_hash;\n\tloff_t dst_offset;\n\tu64 count;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_cs_slot_class {\n\tstruct trace_entry ent;\n\tu32 seqid;\n\tu32 slot_seqid;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_filehandle {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tint maxsize;\n\tu32 __data_loc_domain;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_maxblksize {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tint bsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_maxconn {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tint maxconn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_pool_threads {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tint pool;\n\tint nrthreads;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_ports_addfd {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tint fd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_ports_addxprt {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tint port;\n\tu32 __data_loc_transport;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_recoverydir {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 __data_loc_recdir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_threads {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tint newthreads;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_time {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tint time;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_unlock_fs {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_unlock_ip {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 __data_loc_address;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_ctl_version {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 __data_loc_mesg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_delegret_wakeup {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *inode;\n\tlong int timeo;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_dirent {\n\tstruct trace_entry ent;\n\tu32 fh_hash;\n\tu64 ino;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_drc_found {\n\tstruct trace_entry ent;\n\tlong long unsigned int boot_time;\n\tlong unsigned int result;\n\tu32 xid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_drc_mismatch {\n\tstruct trace_entry ent;\n\tlong long unsigned int boot_time;\n\tu32 xid;\n\tu32 cached;\n\tu32 ingress;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_end_grace {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_err_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 fh_hash;\n\tloff_t offset;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_exp_find_key {\n\tstruct trace_entry ent;\n\tint fsidtype;\n\tu32 fsid[6];\n\tu32 __data_loc_auth_domain;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_exp_get_by_name {\n\tstruct trace_entry ent;\n\tu32 __data_loc_path;\n\tu32 __data_loc_auth_domain;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_expkey_update {\n\tstruct trace_entry ent;\n\tint fsidtype;\n\tu32 fsid[6];\n\tu32 __data_loc_auth_domain;\n\tu32 __data_loc_path;\n\tbool cache;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_export_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_path;\n\tu32 __data_loc_auth_domain;\n\tbool cache;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_fh_err_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 fh_hash;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_fh_verify {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tu32 xid;\n\tu32 fh_hash;\n\tconst void *inode;\n\tlong unsigned int type;\n\tlong unsigned int access;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_fh_verify_err {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tu32 xid;\n\tu32 fh_hash;\n\tconst void *inode;\n\tlong unsigned int type;\n\tlong unsigned int access;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_acquire {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *inode;\n\tlong unsigned int may_flags;\n\tunsigned int nf_ref;\n\tlong unsigned int nf_flags;\n\tlong unsigned int nf_may;\n\tconst void *nf_file;\n\tu32 status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_alloc {\n\tstruct trace_entry ent;\n\tconst void *nf_inode;\n\tlong unsigned int nf_flags;\n\tlong unsigned int nf_may;\n\tunsigned int nf_ref;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_class {\n\tstruct trace_entry ent;\n\tvoid *nf_inode;\n\tint nf_ref;\n\tlong unsigned int nf_flags;\n\tunsigned char nf_may;\n\tstruct file *nf_file;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_close {\n\tstruct trace_entry ent;\n\tconst void *inode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_cons_err {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *inode;\n\tlong unsigned int may_flags;\n\tunsigned int nf_ref;\n\tlong unsigned int nf_flags;\n\tlong unsigned int nf_may;\n\tconst void *nf_file;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_fsnotify_handle_event {\n\tstruct trace_entry ent;\n\tstruct inode *inode;\n\tunsigned int nlink;\n\tumode_t mode;\n\tu32 mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_gc_class {\n\tstruct trace_entry ent;\n\tvoid *nf_inode;\n\tvoid *nf_file;\n\tint nf_ref;\n\tlong unsigned int nf_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_insert_err {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *inode;\n\tlong unsigned int may_flags;\n\tlong int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_is_cached {\n\tstruct trace_entry ent;\n\tconst struct inode *inode;\n\tint found;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_lruwalk_class {\n\tstruct trace_entry ent;\n\tlong unsigned int removed;\n\tlong unsigned int remaining;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_file_open_class {\n\tstruct trace_entry ent;\n\tvoid *nf_inode;\n\tint nf_ref;\n\tlong unsigned int nf_flags;\n\tlong unsigned int nf_may;\n\tvoid *nf_file;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_io_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 fh_hash;\n\tu64 offset;\n\tu32 len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_mark_client_expired {\n\tstruct trace_entry ent;\n\tint cl_rpc_users;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_net_class {\n\tstruct trace_entry ent;\n\tlong long unsigned int boot_time;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_seq4_status {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 seqno;\n\tu32 reserved;\n\tlong unsigned int status_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_slot_seqid_sequence {\n\tstruct trace_entry ent;\n\tu32 seqid;\n\tu32 slot_seqid;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 __data_loc_addr;\n\tbool in_use;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_stateid_class {\n\tstruct trace_entry ent;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 si_id;\n\tu32 si_generation;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_stateowner_replay {\n\tstruct trace_entry ent;\n\tlong unsigned int status;\n\tu32 opnum;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_stateseqid_class {\n\tstruct trace_entry ent;\n\tu32 seqid;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 si_id;\n\tu32 si_generation;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_stid_class {\n\tstruct trace_entry ent;\n\tlong unsigned int sc_type;\n\tlong unsigned int sc_status;\n\tint sc_count;\n\tu32 cl_boot;\n\tu32 cl_id;\n\tu32 si_id;\n\tu32 si_generation;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_writeverf_reset {\n\tstruct trace_entry ent;\n\tlong long unsigned int boot_time;\n\tu32 xid;\n\tint error;\n\tunsigned char verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfsd_xdr_err_class {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tu32 vers;\n\tu32 proc;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nlmclnt_lock_event {\n\tstruct trace_entry ent;\n\tu32 oh;\n\tu32 svid;\n\tu32 fh;\n\tlong unsigned int status;\n\tu64 start;\n\tu64 len;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_non_standard_event {\n\tstruct trace_entry ent;\n\tchar sec_type[16];\n\tchar fru_id[16];\n\tu32 __data_loc_fru_text;\n\tu8 sev;\n\tu32 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_notifier_info {\n\tstruct trace_entry ent;\n\tvoid *cb;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nvme_async_event {\n\tstruct trace_entry ent;\n\tint ctrl_id;\n\tu32 result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nvme_complete_rq {\n\tstruct trace_entry ent;\n\tchar disk[32];\n\tint ctrl_id;\n\tint qid;\n\tint cid;\n\tu64 result;\n\tu8 retries;\n\tu8 flags;\n\tu16 status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nvme_setup_cmd {\n\tstruct trace_entry ent;\n\tchar disk[32];\n\tint ctrl_id;\n\tint qid;\n\tu8 opcode;\n\tu8 flags;\n\tu8 fctype;\n\tu16 cid;\n\tu32 nsid;\n\tbool metadata;\n\tu8 cdw10[24];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nvme_sq {\n\tstruct trace_entry ent;\n\tint ctrl_id;\n\tchar disk[32];\n\tint qid;\n\tu16 sq_head;\n\tu16 sq_tail;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_oom_score_adj_update {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tchar comm[16];\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_release {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\ts32 inflight;\n\tu32 hold;\n\tu32 release;\n\tu64 cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_state_hold {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tlong unsigned int netmem;\n\tu32 hold;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_state_release {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tlong unsigned int netmem;\n\tu32 release;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_update_nid {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tint pool_nid;\n\tint new_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_alloc_percpu {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tbool reserved;\n\tbool is_atomic;\n\tsize_t size;\n\tsize_t align;\n\tvoid *base_addr;\n\tint off;\n\tvoid *ptr;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_alloc_percpu_fail {\n\tstruct trace_entry ent;\n\tbool reserved;\n\tbool is_atomic;\n\tsize_t size;\n\tsize_t align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_create_chunk {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_destroy_chunk {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_free_percpu {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tint off;\n\tvoid *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pm_qos_update {\n\tstruct trace_entry ent;\n\tenum pm_qos_req_action action;\n\tint prev_value;\n\tint curr_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pmap_register {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tint protocol;\n\tunsigned int port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_bl_pr_key_class {\n\tstruct trace_entry ent;\n\tu64 key;\n\tdev_t dev;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_bl_pr_key_err_class {\n\tstruct trace_entry ent;\n\tu64 key;\n\tdev_t dev;\n\tlong unsigned int status;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_layout_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t pos;\n\tu64 count;\n\tenum pnfs_iomode iomode;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tlong int lseg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_update_layout {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t pos;\n\tu64 count;\n\tenum pnfs_iomode iomode;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tlong int lseg;\n\tenum pnfs_update_layout_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_power_domain {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tu64 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_powernv_throttle {\n\tstruct trace_entry ent;\n\tint chip_id;\n\tu32 __data_loc_reason;\n\tint pmax;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pstate_sample {\n\tstruct trace_entry ent;\n\tu32 core_busy;\n\tu32 scaled_busy;\n\tu32 from;\n\tu32 to;\n\tu64 mperf;\n\tu64 aperf;\n\tu64 tsc;\n\tu32 freq;\n\tu32 io_boost;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_purge_vmap_area_lazy {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int npurged;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tu64 period;\n\tu64 duty_cycle;\n\tenum pwm_polarity polarity;\n\tbool enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm_read_waveform {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tvoid *wfhw;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm_round_waveform_fromhw {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tconst void *wfhw;\n\tu64 wf_period_length_ns;\n\tu64 wf_duty_length_ns;\n\tu64 wf_duty_offset_ns;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm_round_waveform_tohw {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tu64 wf_period_length_ns;\n\tu64 wf_duty_length_ns;\n\tu64 wf_duty_offset_ns;\n\tvoid *wfhw;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pwm_write_waveform {\n\tstruct trace_entry ent;\n\tunsigned int chipid;\n\tunsigned int hwpwm;\n\tconst void *wfhw;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_create {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_dequeue {\n\tstruct trace_entry ent;\n\tstruct Qdisc *qdisc;\n\tconst struct netdev_queue *txq;\n\tint packets;\n\tvoid *skbaddr;\n\tint ifindex;\n\tu32 handle;\n\tu32 parent;\n\tlong unsigned int txq_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_destroy {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tu32 handle;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_enqueue {\n\tstruct trace_entry ent;\n\tstruct Qdisc *qdisc;\n\tconst struct netdev_queue *txq;\n\tvoid *skbaddr;\n\tint ifindex;\n\tu32 handle;\n\tu32 parent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_reset {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tu32 handle;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qgroup_meta_convert {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 refroot;\n\ts64 diff;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qgroup_meta_free_all_pertrans {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 refroot;\n\ts64 diff;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qgroup_meta_reserve {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 refroot;\n\ts64 diff;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qgroup_num_dirty_extents {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 transid;\n\tu64 num_dirty_extents;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qgroup_update_counters {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 qgid;\n\tu64 old_rfer;\n\tu64 old_excl;\n\tu64 cur_old_count;\n\tu64 cur_new_count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qgroup_update_reserve {\n\tstruct trace_entry ent;\n\tu8 fsid[16];\n\tu64 qgid;\n\tu64 cur_reserved;\n\ts64 diff;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_barrier {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tconst char *s;\n\tint cpu;\n\tint cnt;\n\tlong unsigned int done;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_batch_end {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tint callbacks_invoked;\n\tchar cb;\n\tchar nr;\n\tchar iit;\n\tchar risk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_batch_start {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int qlen;\n\tlong int blimit;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tvoid *func;\n\tlong int qlen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_exp_funnel_lock {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_exp_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gpseq;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_fqs {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint cpu;\n\tconst char *qsevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_future_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tlong int gp_seq_req;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_grace_period_init {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tlong unsigned int qsmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tvoid *func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_kfree_bulk_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong unsigned int nr_records;\n\tvoid **p;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_kvfree_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tlong unsigned int offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_kvfree_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tlong unsigned int offset;\n\tlong int qlen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_preempt_task {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_quiescent_state_report {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tlong unsigned int mask;\n\tlong unsigned int qsmask;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tu8 gp_tasks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_segcb_stats {\n\tstruct trace_entry ent;\n\tconst char *ctx;\n\tlong unsigned int gp_seq[4];\n\tlong int seglen[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_sr_normal {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tconst char *srevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_stall_warning {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tconst char *msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_torture_read {\n\tstruct trace_entry ent;\n\tchar rcutorturename[8];\n\tstruct callback_head *rhp;\n\tlong unsigned int secs;\n\tlong unsigned int c_old;\n\tlong unsigned int c;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_unlock_preempted_task {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_utilization {\n\tstruct trace_entry ent;\n\tconst char *s;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_watching {\n\tstruct trace_entry ent;\n\tconst char *polarity;\n\tlong int oldnesting;\n\tlong int newnesting;\n\tint counter;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_reclaim_retry_zone {\n\tstruct trace_entry ent;\n\tint node;\n\tint zone_idx;\n\tint order;\n\tlong unsigned int reclaimable;\n\tlong unsigned int available;\n\tlong unsigned int min_wmark;\n\tint no_progress_loops;\n\tbool wmark_check;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regcache_drop_region {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int from;\n\tunsigned int to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regcache_sync {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_status;\n\tu32 __data_loc_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_register_class {\n\tstruct trace_entry ent;\n\tu32 version;\n\tlong unsigned int family;\n\tshort unsigned int protocol;\n\tshort unsigned int port;\n\tint error;\n\tu32 __data_loc_program;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_async {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_block {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tint count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_bool {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint flag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_bulk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tu32 __data_loc_buf;\n\tint val_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_reg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tunsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_buf_alloc {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tsize_t callsize;\n\tsize_t recvsize;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_call_rpcerror {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint tk_status;\n\tint rpc_status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_class {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_clone_err {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_new {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tlong unsigned int xprtsec;\n\tlong unsigned int flags;\n\tu32 __data_loc_program;\n\tu32 __data_loc_server;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_new_err {\n\tstruct trace_entry ent;\n\tint error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_server;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_failure {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_reply_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 __data_loc_progname;\n\tu32 version;\n\tu32 __data_loc_procname;\n\tu32 __data_loc_servername;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_request {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tbool async;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_socket_nospace {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int total;\n\tunsigned int remaining;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_stats_latency {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint version;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tlong unsigned int backlog;\n\tlong unsigned int rtt;\n\tlong unsigned int execute;\n\tu32 xprt_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_queued {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tlong unsigned int timeout;\n\tlong unsigned int runstate;\n\tint status;\n\tshort unsigned int flags;\n\tu32 __data_loc_q_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_running {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tconst void *action;\n\tlong unsigned int runstate;\n\tint status;\n\tshort unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_status {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_tls_class {\n\tstruct trace_entry ent;\n\tlong unsigned int requested_policy;\n\tu32 version;\n\tu32 __data_loc_servername;\n\tu32 __data_loc_progname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_alignment {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tsize_t offset;\n\tunsigned int copied;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int len;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_buf_class {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_overflow {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tsize_t requested;\n\tconst void *end;\n\tconst void *p;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int len;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xprt_event {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tint status;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xprt_lifetime_class {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_getport {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int program;\n\tunsigned int version;\n\tint protocol;\n\tunsigned int bind_version;\n\tu32 __data_loc_servername;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_register {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_setport {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint status;\n\tshort unsigned int port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_unregister {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_bad_seqno {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 expected;\n\tu32 received;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_context {\n\tstruct trace_entry ent;\n\tlong unsigned int expiry;\n\tlong unsigned int now;\n\tunsigned int timeout;\n\tu32 window_size;\n\tint len;\n\tu32 __data_loc_acceptor;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_createauth {\n\tstruct trace_entry ent;\n\tunsigned int flavor;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_ctx_class {\n\tstruct trace_entry ent;\n\tconst void *cred;\n\tlong unsigned int service;\n\tu32 __data_loc_principal;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_gssapi_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 maj_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_import_ctx {\n\tstruct trace_entry ent;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_need_reencode {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seq_xmit;\n\tu32 seqno;\n\tbool ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_oid_to_mech {\n\tstruct trace_entry ent;\n\tu32 __data_loc_oid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_seqno {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_accept_upcall {\n\tstruct trace_entry ent;\n\tu32 minor_status;\n\tlong unsigned int major_status;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_authenticate {\n\tstruct trace_entry ent;\n\tu32 seqno;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_gssapi_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 maj_stat;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_bad {\n\tstruct trace_entry ent;\n\tu32 expected;\n\tu32 received;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_low {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 seqno;\n\tu32 min;\n\tu32 max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_unwrap_failed {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_wrap_failed {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_unwrap_failed {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_upcall_msg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_upcall_result {\n\tstruct trace_entry ent;\n\tu32 uid;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_update_slack {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tconst void *auth;\n\tunsigned int rslack;\n\tunsigned int ralign;\n\tunsigned int verfsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_internal {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint flags;\n\tint usage_count;\n\tint disable_depth;\n\tint runtime_auto;\n\tint request_pending;\n\tint irq_safe;\n\tint child_count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_return_int {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int ip;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rseq_ip_fixup {\n\tstruct trace_entry ent;\n\tlong unsigned int regs_ip;\n\tlong unsigned int start_ip;\n\tlong unsigned int post_commit_offset;\n\tlong unsigned int abort_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rseq_update {\n\tstruct trace_entry ent;\n\ts32 cpu_id;\n\ts32 node_id;\n\ts32 mm_cid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rss_stat {\n\tstruct trace_entry ent;\n\tunsigned int mm_id;\n\tunsigned int curr;\n\tint member;\n\tlong int size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_alarm_irq_enable {\n\tstruct trace_entry ent;\n\tunsigned int enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_irq_set_freq {\n\tstruct trace_entry ent;\n\tint freq;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_irq_set_state {\n\tstruct trace_entry ent;\n\tint enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_offset_class {\n\tstruct trace_entry ent;\n\tlong int offset;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_time_alarm_class {\n\tstruct trace_entry ent;\n\ttime64_t secs;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_timer_class {\n\tstruct trace_entry ent;\n\tstruct rtc_timer *timer;\n\tktime_t expires;\n\tktime_t period;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_stop {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_stop_ret {\n\tstruct trace_entry ent;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_execute_end {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_execute_start {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_queue_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tvoid *worker;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_migrate_task {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tint orig_cpu;\n\tint dest_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_move_numa {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tpid_t tgid;\n\tpid_t ngid;\n\tint src_cpu;\n\tint src_nid;\n\tint dst_cpu;\n\tint dst_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_numa_pair_template {\n\tstruct trace_entry ent;\n\tpid_t src_pid;\n\tpid_t src_tgid;\n\tpid_t src_ngid;\n\tint src_cpu;\n\tint src_nid;\n\tpid_t dst_pid;\n\tpid_t dst_tgid;\n\tpid_t dst_ngid;\n\tint dst_cpu;\n\tint dst_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_pi_setprio {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint oldprio;\n\tint newprio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_prepare_exec {\n\tstruct trace_entry ent;\n\tu32 __data_loc_interp;\n\tu32 __data_loc_filename;\n\tpid_t pid;\n\tu32 __data_loc_comm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_exec {\n\tstruct trace_entry ent;\n\tu32 __data_loc_filename;\n\tpid_t pid;\n\tpid_t old_pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_fork {\n\tstruct trace_entry ent;\n\tchar parent_comm[16];\n\tpid_t parent_pid;\n\tchar child_comm[16];\n\tpid_t child_pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_wait {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_skip_vma_numa {\n\tstruct trace_entry ent;\n\tlong unsigned int numa_scan_offset;\n\tlong unsigned int vm_start;\n\tlong unsigned int vm_end;\n\tenum numa_vmaskip_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_stat_runtime {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tu64 runtime;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_stat_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tu64 delay;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_switch {\n\tstruct trace_entry ent;\n\tchar prev_comm[16];\n\tpid_t prev_pid;\n\tint prev_prio;\n\tlong int prev_state;\n\tchar next_comm[16];\n\tpid_t next_pid;\n\tint next_prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_wake_idle_without_ipi {\n\tstruct trace_entry ent;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_wakeup_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tint target_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_cmd_done_timeout_template {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tint result;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tu8 sense_key;\n\tu8 asc;\n\tu8 ascq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_dispatch_cmd_error {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tint rtn;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_dispatch_cmd_start {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_eh_wakeup {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_prepare_zone_append {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tsector_t lba;\n\tunsigned int wp_offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_zone_wp_update {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tsector_t rq_sector;\n\tunsigned int wp_offset;\n\tunsigned int good_bytes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_selinux_audited {\n\tstruct trace_entry ent;\n\tu32 requested;\n\tu32 denied;\n\tu32 audited;\n\tint result;\n\tu32 __data_loc_scontext;\n\tu32 __data_loc_tcontext;\n\tu32 __data_loc_tclass;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_signal_deliver {\n\tstruct trace_entry ent;\n\tint sig;\n\tint errno;\n\tint code;\n\tlong unsigned int sa_handler;\n\tlong unsigned int sa_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_signal_generate {\n\tstruct trace_entry ent;\n\tint sig;\n\tint errno;\n\tint code;\n\tchar comm[16];\n\tpid_t pid;\n\tint group;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sk_data_ready {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 family;\n\t__u16 protocol;\n\tlong unsigned int ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_skb_copy_datagram_iovec {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tint len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_skip_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_read {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 flags;\n\t__u16 addr;\n\t__u8 command;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_reply {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 command;\n\t__u8 len;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_result {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 read_write;\n\t__u8 command;\n\t__s16 res;\n\t__u32 protocol;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_write {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 command;\n\t__u8 len;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_exceed_buf_limit {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int sysctl_mem[3];\n\tlong int allocated;\n\tint sysctl_rmem;\n\tint rmem_alloc;\n\tint sysctl_wmem;\n\tint wmem_alloc;\n\tint wmem_queued;\n\tint kind;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_msg_length {\n\tstruct trace_entry ent;\n\tvoid *sk;\n\t__u16 family;\n\t__u16 protocol;\n\tint ret;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_rcvqueue_full {\n\tstruct trace_entry ent;\n\tint rmem_alloc;\n\tunsigned int truesize;\n\tint sk_rcvbuf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_softirq {\n\tstruct trace_entry ent;\n\tunsigned int vec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_controller {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_message {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_message *msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_message_done {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_message *msg;\n\tunsigned int frame;\n\tunsigned int actual;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_set_cs {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tlong unsigned int mode;\n\tbool enable;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_setup {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tlong unsigned int mode;\n\tunsigned int bits_per_word;\n\tunsigned int max_speed_hz;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_transfer {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_transfer *xfer;\n\tint len;\n\tu32 __data_loc_rx_buf;\n\tu32 __data_loc_tx_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_start_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_subflow_check_data_avail {\n\tstruct trace_entry ent;\n\tu8 status;\n\tconst void *skb;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_suspend_resume {\n\tstruct trace_entry ent;\n\tconst char *action;\n\tint val;\n\tbool start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_alloc_arg_err {\n\tstruct trace_entry ent;\n\tunsigned int requested;\n\tunsigned int allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_authenticate {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int svc_status;\n\tlong unsigned int auth_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_deferred_event {\n\tstruct trace_entry ent;\n\tconst void *dr;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_process {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 vers;\n\tu32 proc;\n\tu32 __data_loc_service;\n\tu32 __data_loc_procedure;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_replace_page_err {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tconst void *begin;\n\tconst void *respages;\n\tconst void *nextpage;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_rqst_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_rqst_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tint status;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_stats_latency {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int execute;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_unregister {\n\tstruct trace_entry ent;\n\tu32 version;\n\tint error;\n\tu32 __data_loc_program;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_wake_up {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xdr_buf_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xdr_msg_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_accept {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tu32 __data_loc_protocol;\n\tu32 __data_loc_service;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_create_err {\n\tstruct trace_entry ent;\n\tlong int error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_protocol;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_dequeue {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tlong unsigned int wakeup;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_enqueue {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_accept_class {\n\tstruct trace_entry ent;\n\tlong int status;\n\tu32 __data_loc_service;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_class {\n\tstruct trace_entry ent;\n\tssize_t result;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_lifetime_class {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tconst void *svsk;\n\tconst void *sk;\n\tlong unsigned int type;\n\tlong unsigned int family;\n\tlong unsigned int state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_marker {\n\tstruct trace_entry ent;\n\tunsigned int length;\n\tbool last;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_tcp_recv_short {\n\tstruct trace_entry ent;\n\tu32 expected;\n\tu32 received;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_tcp_state {\n\tstruct trace_entry ent;\n\tlong unsigned int socket_state;\n\tlong unsigned int sock_state;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_swiotlb_bounced {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu64 dma_mask;\n\tdma_addr_t dev_addr;\n\tsize_t size;\n\tbool force;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sys_enter {\n\tstruct trace_entry ent;\n\tlong int id;\n\tlong unsigned int args[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sys_exit {\n\tstruct trace_entry ent;\n\tlong int id;\n\tlong int ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_newtask {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tchar comm[16];\n\tlong unsigned int clone_flags;\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_prctl_unknown {\n\tstruct trace_entry ent;\n\tint option;\n\tlong unsigned int arg2;\n\tlong unsigned int arg3;\n\tlong unsigned int arg4;\n\tlong unsigned int arg5;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_rename {\n\tstruct trace_entry ent;\n\tchar oldcomm[16];\n\tchar newcomm[16];\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tasklet {\n\tstruct trace_entry ent;\n\tvoid *tasklet;\n\tvoid *func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tb_raw {\n\tstruct trace_entry ent;\n\tint index;\n\tu8 type;\n\tsize_t size;\n\tu32 __data_loc_data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tb_rx {\n\tstruct trace_entry ent;\n\tint index;\n\tu8 type;\n\tsize_t size;\n\tu32 __data_loc_data;\n\tbool dropped;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tint l3index;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\tbool fin;\n\tbool syn;\n\tbool rst;\n\tbool psh;\n\tbool ack;\n\t__u8 keyid;\n\t__u8 rnext;\n\t__u8 maclen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event_sk {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 keyid;\n\t__u8 rnext;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event_sne {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u32 new_sne;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_cong_state_set {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\t__u8 cong_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_sk {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\t__u64 sock_cookie;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_sk_skb {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_skb {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_hash_event {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tint l3index;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\tbool fin;\n\tbool syn;\n\tbool rst;\n\tbool psh;\n\tbool ack;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_probe {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u32 mark;\n\t__u16 data_len;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 snd_cwnd;\n\t__u32 ssthresh;\n\t__u32 snd_wnd;\n\t__u32 srtt;\n\t__u32 rcv_wnd;\n\t__u64 sock_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_retransmit_synack {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\tconst void *req;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_send_reset {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\tenum sk_rst_reason reason;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_test_pages_isolated {\n\tstruct trace_entry ent;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tlong unsigned int fin_pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_temperature {\n\tstruct trace_entry ent;\n\tu32 __data_loc_thermal_zone;\n\tint id;\n\tint temp_prev;\n\tint temp;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_zone_trip {\n\tstruct trace_entry ent;\n\tu32 __data_loc_thermal_zone;\n\tint id;\n\tint trip;\n\tenum thermal_trip_type trip_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tick_stop {\n\tstruct trace_entry ent;\n\tint success;\n\tint dependency;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_base_idle {\n\tstruct trace_entry ent;\n\tbool is_idle;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_class {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_expire_entry {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tlong unsigned int now;\n\tvoid *function;\n\tlong unsigned int baseclk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_start {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tvoid *function;\n\tlong unsigned int expires;\n\tlong unsigned int bucket_expiry;\n\tlong unsigned int now;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tlb_flush {\n\tstruct trace_entry ent;\n\tint reason;\n\tlong unsigned int pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tls_contenttype {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tunsigned int netns_ino;\n\tlong unsigned int type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_connect_child_parent {\n\tstruct trace_entry ent;\n\tvoid *child;\n\tvoid *parent;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tunsigned int num_children;\n\tu32 groupmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_connect_cpu_parent {\n\tstruct trace_entry ent;\n\tvoid *parent;\n\tunsigned int cpu;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tunsigned int num_children;\n\tu32 groupmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_cpugroup {\n\tstruct trace_entry ent;\n\tu64 wakeup;\n\tvoid *parent;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_group_and_cpu {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tvoid *parent;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tu32 childmask;\n\tu8 active;\n\tu8 migrator;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_group_set {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_handle_remote {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tunsigned int lvl;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_idle {\n\tstruct trace_entry ent;\n\tu64 nextevt;\n\tu64 wakeup;\n\tvoid *parent;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_update_events {\n\tstruct trace_entry ent;\n\tvoid *child;\n\tvoid *group;\n\tu64 nextevt;\n\tu64 group_next_expiry;\n\tu64 child_evt_expiry;\n\tunsigned int group_lvl;\n\tunsigned int child_evtcpu;\n\tu8 child_active;\n\tu8 group_active;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_track_foreign_dirty {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tu64 bdi_id;\n\tino_t ino;\n\tunsigned int memcg_id;\n\tino_t cgroup_ino;\n\tino_t page_cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udc_log_ep {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int maxpacket;\n\tunsigned int maxpacket_limit;\n\tunsigned int max_streams;\n\tunsigned int mult;\n\tunsigned int maxburst;\n\tu8 address;\n\tbool claimed;\n\tbool enabled;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udc_log_gadget {\n\tstruct trace_entry ent;\n\tenum usb_device_speed speed;\n\tenum usb_device_speed max_speed;\n\tenum usb_device_state state;\n\tunsigned int mA;\n\tunsigned int sg_supported;\n\tunsigned int is_otg;\n\tunsigned int is_a_peripheral;\n\tunsigned int b_hnp_enable;\n\tunsigned int a_hnp_support;\n\tunsigned int hnp_polling_support;\n\tunsigned int host_request_flag;\n\tunsigned int quirk_ep_out_aligned_size;\n\tunsigned int quirk_altset_not_supp;\n\tunsigned int quirk_stall_not_supp;\n\tunsigned int quirk_zlp_not_supp;\n\tunsigned int is_selfpowered;\n\tunsigned int deactivated;\n\tunsigned int connected;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct usb_request;\n\nstruct trace_event_raw_udc_log_req {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int length;\n\tunsigned int actual;\n\tunsigned int num_sgs;\n\tunsigned int num_mapped_sgs;\n\tunsigned int stream_id;\n\tunsigned int no_interrupt;\n\tunsigned int zero;\n\tunsigned int short_not_ok;\n\tint status;\n\tint ret;\n\tstruct usb_request *req;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udp_fail_queue_rcv_skb {\n\tstruct trace_entry ent;\n\tint rc;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_unmap {\n\tstruct trace_entry ent;\n\tu64 iova;\n\tsize_t size;\n\tsize_t unmapped_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vm_unmapped_area {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int total_vm;\n\tlong unsigned int flags;\n\tlong unsigned int length;\n\tlong unsigned int low_limit;\n\tlong unsigned int high_limit;\n\tlong unsigned int align_mask;\n\tlong unsigned int align_offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vma_mas_szero {\n\tstruct trace_entry ent;\n\tstruct maple_tree *mt;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vma_store {\n\tstruct trace_entry ent;\n\tstruct maple_tree *mt;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int vm_start;\n\tlong unsigned int vm_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wake_reaper {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wakeup_source {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wbc_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tint sync_mode;\n\tint for_kupdate;\n\tint for_background;\n\tint for_reclaim;\n\tint range_cyclic;\n\tlong int range_start;\n\tlong int range_end;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wbt_lat {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong unsigned int lat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wbt_stat {\n\tstruct trace_entry ent;\n\tchar name[32];\n\ts64 rmean;\n\tu64 rmin;\n\tu64 rmax;\n\ts64 rnr_samples;\n\ts64 rtime;\n\ts64 wmean;\n\tu64 wmin;\n\tu64 wmax;\n\ts64 wnr_samples;\n\ts64 wtime;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wbt_step {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tconst char *msg;\n\tint step;\n\tlong unsigned int window;\n\tunsigned int bg;\n\tunsigned int normal;\n\tunsigned int max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wbt_timer {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tunsigned int status;\n\tint step;\n\tunsigned int inflight;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_activate_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_execute_end {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_execute_start {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_queue_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tu32 __data_loc_workqueue;\n\tint req_cpu;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_bdi_register {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_dirty_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_folio_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_inode_template {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int state;\n\t__u16 mode;\n\tlong unsigned int dirtied_when;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_pages_written {\n\tstruct trace_entry ent;\n\tlong int pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_queue_io {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong unsigned int older;\n\tlong int age;\n\tint moved;\n\tint reason;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_sb_inodes_requeue {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int dirtied_when;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_single_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int dirtied_when;\n\tlong unsigned int writeback_index;\n\tlong int nr_to_write;\n\tlong unsigned int wrote;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_work_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int nr_pages;\n\tdev_t sb_dev;\n\tint sync_mode;\n\tint for_kupdate;\n\tint range_cyclic;\n\tint for_background;\n\tint reason;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_write_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tint sync_mode;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_bulk_tx {\n\tstruct trace_entry ent;\n\tint ifindex;\n\tu32 act;\n\tint drops;\n\tint sent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_cpumap_enqueue {\n\tstruct trace_entry ent;\n\tint map_id;\n\tu32 act;\n\tint cpu;\n\tunsigned int drops;\n\tunsigned int processed;\n\tint to_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_cpumap_kthread {\n\tstruct trace_entry ent;\n\tint map_id;\n\tu32 act;\n\tint cpu;\n\tunsigned int drops;\n\tunsigned int processed;\n\tint sched;\n\tunsigned int xdp_pass;\n\tunsigned int xdp_drop;\n\tunsigned int xdp_redirect;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_devmap_xmit {\n\tstruct trace_entry ent;\n\tint from_ifindex;\n\tu32 act;\n\tint to_ifindex;\n\tint drops;\n\tint sent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_exception {\n\tstruct trace_entry ent;\n\tint prog_id;\n\tu32 act;\n\tint ifindex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_redirect_template {\n\tstruct trace_entry ent;\n\tint prog_id;\n\tu32 act;\n\tint ifindex;\n\tint err;\n\tint to_ifindex;\n\tu32 map_id;\n\tint map_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ag_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ag_inode_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ag_resv_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tint resv;\n\txfs_extlen_t freeblks;\n\txfs_extlen_t flcount;\n\txfs_extlen_t reserved;\n\txfs_extlen_t asked;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ag_resv_init_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tint error;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_agf_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tint flags;\n\t__u32 length;\n\t__u32 bno_root;\n\t__u32 cnt_root;\n\t__u32 bno_level;\n\t__u32 cnt_level;\n\t__u32 flfirst;\n\t__u32 fllast;\n\t__u32 flcount;\n\t__u32 freeblks;\n\t__u32 longest;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ail_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tvoid *lip;\n\tuint type;\n\tlong unsigned int flags;\n\txfs_lsn_t old_lsn;\n\txfs_lsn_t new_lsn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_alloc_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t minlen;\n\txfs_extlen_t maxlen;\n\txfs_extlen_t mod;\n\txfs_extlen_t prod;\n\txfs_extlen_t minleft;\n\txfs_extlen_t total;\n\txfs_extlen_t alignment;\n\txfs_extlen_t minalignslop;\n\txfs_extlen_t len;\n\tchar wasdel;\n\tchar wasfromfl;\n\tint resv;\n\tint datatype;\n\txfs_agnumber_t highest_agno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_alloc_cur_check {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\txfs_agblock_t bno;\n\txfs_extlen_t len;\n\txfs_extlen_t diff;\n\tbool new;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_attr_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu32 __data_loc_name;\n\tint namelen;\n\tint valuelen;\n\txfs_dahash_t hashval;\n\tunsigned int attr_filter;\n\tuint32_t op_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_attr_list_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu32 hashval;\n\tu32 blkno;\n\tu32 offset;\n\tvoid *buffer;\n\tint bufsize;\n\tint count;\n\tint firstu;\n\tint dupcnt;\n\tunsigned int attr_filter;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_attr_list_node_descend {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu32 hashval;\n\tu32 blkno;\n\tu32 offset;\n\tvoid *buffer;\n\tint bufsize;\n\tint count;\n\tint firstu;\n\tint dupcnt;\n\tunsigned int attr_filter;\n\tu32 bt_hashval;\n\tu32 bt_before;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_bmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tvoid *leaf;\n\tint pos;\n\txfs_fileoff_t startoff;\n\txfs_fsblock_t startblock;\n\txfs_filblks_t blockcount;\n\txfs_exntst_t state;\n\tint bmap_state;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_bmap_deferred_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_ino_t ino;\n\tlong long unsigned int gbno;\n\tint whichfork;\n\txfs_fileoff_t l_loff;\n\txfs_filblks_t l_len;\n\txfs_exntst_t l_state;\n\tint op;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_alloc_block {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_ino_t ino;\n\tu32 __data_loc_name;\n\tint error;\n\txfs_agblock_t agbno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_bload_block {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tunsigned int level;\n\tlong long unsigned int block_idx;\n\tlong long unsigned int nr_blocks;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\tunsigned int nr_records;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_bload_level_geometry {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tunsigned int level;\n\tunsigned int nlevels;\n\tuint64_t nr_this_level;\n\tunsigned int nr_per_block;\n\tunsigned int desired_npb;\n\tlong long unsigned int blocks;\n\tlong long unsigned int blocks_with_extra;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_commit_afakeroot {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\tunsigned int levels;\n\tunsigned int blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_commit_ifakeroot {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tunsigned int levels;\n\tunsigned int blocks;\n\tint whichfork;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_cur_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tint level;\n\tint nlevels;\n\tint ptr;\n\txfs_daddr_t daddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_ino_t ino;\n\tint error;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_free_block {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_ino_t ino;\n\tu32 __data_loc_name;\n\txfs_agblock_t agbno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_buf_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t bno;\n\tint nblks;\n\tint hold;\n\tint pincount;\n\tunsigned int lockval;\n\tunsigned int flags;\n\tlong unsigned int caller_ip;\n\tconst void *buf_ops;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_buf_flags_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t bno;\n\tunsigned int length;\n\tint hold;\n\tint pincount;\n\tunsigned int lockval;\n\tunsigned int flags;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\ntypedef void *xfs_failaddr_t;\n\nstruct trace_event_raw_xfs_buf_ioerror {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t bno;\n\tunsigned int length;\n\tunsigned int flags;\n\tint hold;\n\tint pincount;\n\tunsigned int lockval;\n\tint error;\n\txfs_failaddr_t caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_buf_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t buf_bno;\n\tunsigned int buf_len;\n\tint buf_hold;\n\tint buf_pincount;\n\tint buf_lockval;\n\tunsigned int buf_flags;\n\tunsigned int bli_recur;\n\tint bli_refcount;\n\tunsigned int bli_flags;\n\tlong unsigned int li_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_bunmap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsize_t size;\n\txfs_fileoff_t fileoff;\n\txfs_filblks_t len;\n\tlong unsigned int caller_ip;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_check_new_dalign {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint new_dalign;\n\txfs_ino_t sb_rootino;\n\txfs_ino_t calc_rootino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_da_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu32 __data_loc_name;\n\tint namelen;\n\txfs_dahash_t hashval;\n\txfs_ino_t inumber;\n\tuint32_t op_flags;\n\txfs_ino_t owner;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_das_state_class {\n\tstruct trace_entry ent;\n\tint das;\n\txfs_ino_t ino;\n\tchar __data[0];\n};\n\nstruct xfs_trans;\n\nstruct trace_event_raw_xfs_defer_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tstruct xfs_trans *tp;\n\tchar committed;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_defer_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tstruct xfs_trans *tp;\n\tchar committed;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_defer_pending_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tvoid *intent;\n\tunsigned int flags;\n\tchar committed;\n\tint nr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_defer_pending_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tvoid *intent;\n\tvoid *item;\n\tchar committed;\n\tunsigned int flags;\n\tint nr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_dir2_leafn_moveents {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tuint32_t op_flags;\n\tint src_idx;\n\tint dst_idx;\n\tint count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_dir2_space_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tuint32_t op_flags;\n\tint idx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_discard_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_double_io_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t src_ino;\n\tloff_t src_isize;\n\tloff_t src_disize;\n\tloff_t src_offset;\n\tlong long int len;\n\txfs_ino_t dest_ino;\n\tloff_t dest_isize;\n\tloff_t dest_disize;\n\tloff_t dest_offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_dqtrx_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_dqtype_t type;\n\tunsigned int flags;\n\tu32 dqid;\n\tuint64_t blk_res;\n\tint64_t bcount_delta;\n\tint64_t delbcnt_delta;\n\tuint64_t rtblk_res;\n\tuint64_t rtblk_res_used;\n\tint64_t rtbcount_delta;\n\tint64_t delrtb_delta;\n\tuint64_t ino_res;\n\tuint64_t ino_res_used;\n\tint64_t icount_delta;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_dquot_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 id;\n\txfs_dqtype_t type;\n\tunsigned int flags;\n\tunsigned int nrefs;\n\tlong long unsigned int res_bcount;\n\tlong long unsigned int res_rtbcount;\n\tlong long unsigned int res_icount;\n\tlong long unsigned int bcount;\n\tlong long unsigned int rtbcount;\n\tlong long unsigned int icount;\n\tlong long unsigned int blk_hardlimit;\n\tlong long unsigned int blk_softlimit;\n\tlong long unsigned int rtb_hardlimit;\n\tlong long unsigned int rtb_softlimit;\n\tlong long unsigned int ino_hardlimit;\n\tlong long unsigned int ino_softlimit;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_delta_nextents {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino1;\n\txfs_ino_t ino2;\n\txfs_extnum_t nexts1;\n\txfs_extnum_t nexts2;\n\tint64_t d_nexts1;\n\tint64_t d_nexts2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_delta_nextents_step {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_fileoff_t loff;\n\txfs_fsblock_t lstart;\n\txfs_filblks_t lcount;\n\txfs_fileoff_t coff;\n\txfs_fsblock_t cstart;\n\txfs_filblks_t ccount;\n\txfs_fileoff_t noff;\n\txfs_fsblock_t nstart;\n\txfs_filblks_t ncount;\n\txfs_fileoff_t roff;\n\txfs_fsblock_t rstart;\n\txfs_filblks_t rcount;\n\tint delta;\n\tunsigned int state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_estimate_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino1;\n\txfs_ino_t ino2;\n\txfs_fileoff_t startoff1;\n\txfs_fileoff_t startoff2;\n\txfs_filblks_t blockcount;\n\tuint64_t flags;\n\txfs_filblks_t ip1_bcount;\n\txfs_filblks_t ip2_bcount;\n\txfs_filblks_t ip1_rtbcount;\n\txfs_filblks_t ip2_rtbcount;\n\tlong long unsigned int resblks;\n\tlong long unsigned int nr_exchanges;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_intent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino1;\n\txfs_ino_t ino2;\n\tuint64_t flags;\n\txfs_fileoff_t startoff1;\n\txfs_fileoff_t startoff2;\n\txfs_filblks_t blockcount;\n\txfs_fsize_t isize1;\n\txfs_fsize_t isize2;\n\txfs_fsize_t new_isize1;\n\txfs_fsize_t new_isize2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_overhead {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong long unsigned int bmbt_blocks;\n\tlong long unsigned int rmapbt_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchrange_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ip1_ino;\n\tloff_t ip1_isize;\n\tloff_t ip1_disize;\n\txfs_ino_t ip2_ino;\n\tloff_t ip2_isize;\n\tloff_t ip2_disize;\n\tloff_t file1_offset;\n\tloff_t file2_offset;\n\tlong long unsigned int length;\n\tlong long unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchrange_freshness {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ip2_ino;\n\tlong long int ip2_mtime;\n\tlong long int ip2_ctime;\n\tint ip2_mtime_nsec;\n\tint ip2_ctime_nsec;\n\txfs_ino_t file2_ino;\n\tlong long int file2_mtime;\n\tlong long int file2_ctime;\n\tint file2_mtime_nsec;\n\tint file2_ctime_nsec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchrange_inode_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint whichfile;\n\txfs_ino_t ino;\n\tint format;\n\txfs_extnum_t nex;\n\tint broot_size;\n\tint fork_off;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_extent_busy_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_extent_busy_trim {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\txfs_agblock_t tbno;\n\txfs_extlen_t tlen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fault_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tunsigned int order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_file_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsize_t size;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_filestream_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_agnumber_t agno;\n\tint streams;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_filestream_pick {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_agnumber_t agno;\n\tint streams;\n\txfs_extlen_t free;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_force_shutdown {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint ptag;\n\tint flags;\n\tu32 __data_loc_fname;\n\tint line_num;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_free_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\tint resv;\n\tint haveleft;\n\tint haveright;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_free_extent_deferred_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fs_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong long unsigned int mflags;\n\tlong unsigned int opstate;\n\tlong unsigned int sbflags;\n\tvoid *caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fs_corrupt_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fsmap_group_key_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\tuint64_t owner;\n\tuint64_t offset;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fsmap_linear_key_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\txfs_fsblock_t bno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fsmap_mapping {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_daddr_t start_daddr;\n\txfs_daddr_t len_daddr;\n\tuint64_t owner;\n\tuint64_t offset;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_getfsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\txfs_daddr_t block;\n\txfs_daddr_t len;\n\tuint64_t owner;\n\tuint64_t offset;\n\tuint64_t flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_getparents_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tshort unsigned int iflags;\n\tshort unsigned int oflags;\n\tunsigned int bufsize;\n\tunsigned int hashval;\n\tunsigned int blkno;\n\tunsigned int offset;\n\tint initted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_getparents_rec_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tunsigned int firstu;\n\tshort unsigned int reclen;\n\tunsigned int bufsize;\n\txfs_ino_t parent_ino;\n\tunsigned int parent_gen;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_group_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tint refcount;\n\tint active_refcount;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_group_corrupt_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\tuint32_t index;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_icwalk_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 flags;\n\tuint32_t uid;\n\tuint32_t gid;\n\tprid_t prid;\n\t__u64 min_file_size;\n\tlong int scan_limit;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_imap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tloff_t size;\n\tloff_t offset;\n\tsize_t count;\n\tint whichfork;\n\txfs_fileoff_t startoff;\n\txfs_fsblock_t startblock;\n\txfs_filblks_t blockcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tlong unsigned int iflags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_corrupt_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tint error;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_irec_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fileoff_t lblk;\n\txfs_extlen_t len;\n\txfs_fsblock_t pblk;\n\tint state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_reload_unlinked_bucket {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inodegc_shrinker_scan {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tvoid *caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inodegc_worker {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int shrinker_hits;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ioctl_clone {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int src_ino;\n\tloff_t src_isize;\n\tlong unsigned int dest_ino;\n\tloff_t dest_isize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iomap_invalid_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu64 addr;\n\tloff_t pos;\n\tu64 len;\n\tu64 validity_cookie;\n\tu64 inodeseq;\n\tu16 type;\n\tu16 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iomap_prealloc_size {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsblock_t blocks;\n\tint shift;\n\tunsigned int writeio_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_irec_merge_post {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tuint16_t holemask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_irec_merge_pre {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tuint16_t holemask;\n\txfs_agino_t nagino;\n\tuint16_t nholemask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iref_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tint count;\n\tint pincount;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_itrunc_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsize_t size;\n\txfs_fsize_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iunlink_reload_next {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\txfs_agino_t prev_agino;\n\txfs_agino_t next_agino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iunlink_update_bucket {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tunsigned int bucket;\n\txfs_agino_t old_ptr;\n\txfs_agino_t new_ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iunlink_update_dinode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\txfs_agino_t old_ptr;\n\txfs_agino_t new_ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iwalk_ag_rec {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t startino;\n\tuint64_t freemask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_lock_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tint lock_flags;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_assign_tail_lsn {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_lsn_t new_lsn;\n\txfs_lsn_t old_lsn;\n\txfs_lsn_t head_lsn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_force {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_lsn_t lsn;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_get_max_trans_res {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tuint logres;\n\tint logcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tvoid *lip;\n\tuint type;\n\tlong unsigned int flags;\n\txfs_lsn_t lsn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t headblk;\n\txfs_daddr_t tailblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_buf_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint64_t blkno;\n\tshort unsigned int len;\n\tshort unsigned int flags;\n\tshort unsigned int size;\n\tunsigned int map_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_icreate_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\tunsigned int count;\n\tunsigned int isize;\n\txfs_agblock_t length;\n\tunsigned int gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_ino_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tshort unsigned int size;\n\tint fields;\n\tshort unsigned int asize;\n\tshort unsigned int dsize;\n\tint64_t blkno;\n\tint len;\n\tint boffset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int item;\n\txlog_tid_t tid;\n\txfs_lsn_t lsn;\n\tint type;\n\tint pass;\n\tint count;\n\tint total;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_record {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_lsn_t lsn;\n\tint len;\n\tint num_logops;\n\tint pass;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_loggrant_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int tic;\n\tchar ocnt;\n\tchar cnt;\n\tint curr_res;\n\tint unit_res;\n\tunsigned int flags;\n\tint reserveq;\n\tint writeq;\n\tuint64_t grant_reserve_bytes;\n\tuint64_t grant_write_bytes;\n\tuint64_t tail_space;\n\tint curr_cycle;\n\tint curr_block;\n\txfs_lsn_t tail_lsn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_metadir_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t dp_ino;\n\txfs_ino_t ino;\n\tint ftype;\n\tint namelen;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_metadir_update_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t dp_ino;\n\txfs_ino_t ino;\n\tu32 __data_loc_fname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_metadir_update_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t dp_ino;\n\txfs_ino_t ino;\n\tint error;\n\tu32 __data_loc_fname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_metafile_resv_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tlong long unsigned int freeblks;\n\tlong long unsigned int reserved;\n\tlong long unsigned int asked;\n\tlong long unsigned int used;\n\tlong long unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_namespace_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t dp_ino;\n\tint namelen;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_pagecache_inval {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsize_t size;\n\txfs_off_t start;\n\txfs_off_t finish;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_perag_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tint refcount;\n\tint active_refcount;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_pwork_init {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int nr_threads;\n\tpid_t pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_deferred_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tint op;\n\txfs_agblock_t gbno;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_double_extent_at_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain i1_domain;\n\txfs_agblock_t i1_startblock;\n\txfs_extlen_t i1_blockcount;\n\txfs_nlink_t i1_refcount;\n\tenum xfs_refc_domain i2_domain;\n\txfs_agblock_t i2_startblock;\n\txfs_extlen_t i2_blockcount;\n\txfs_nlink_t i2_refcount;\n\txfs_agblock_t gbno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_double_extent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain i1_domain;\n\txfs_agblock_t i1_startblock;\n\txfs_extlen_t i1_blockcount;\n\txfs_nlink_t i1_refcount;\n\tenum xfs_refc_domain i2_domain;\n\txfs_agblock_t i2_startblock;\n\txfs_extlen_t i2_blockcount;\n\txfs_nlink_t i2_refcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_extent_at_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain domain;\n\txfs_agblock_t startblock;\n\txfs_extlen_t blockcount;\n\txfs_nlink_t refcount;\n\txfs_agblock_t gbno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_extent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain domain;\n\txfs_agblock_t startblock;\n\txfs_extlen_t blockcount;\n\txfs_nlink_t refcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_lookup {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\txfs_lookup_t dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_triple_extent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain i1_domain;\n\txfs_agblock_t i1_startblock;\n\txfs_extlen_t i1_blockcount;\n\txfs_nlink_t i1_refcount;\n\tenum xfs_refc_domain i2_domain;\n\txfs_agblock_t i2_startblock;\n\txfs_extlen_t i2_blockcount;\n\txfs_nlink_t i2_refcount;\n\tenum xfs_refc_domain i3_domain;\n\txfs_agblock_t i3_startblock;\n\txfs_extlen_t i3_blockcount;\n\txfs_nlink_t i3_refcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_reflink_remap_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t src_ino;\n\txfs_fileoff_t src_lblk;\n\txfs_filblks_t len;\n\txfs_ino_t dest_ino;\n\txfs_fileoff_t dest_lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rename {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t src_dp_ino;\n\txfs_ino_t target_dp_ino;\n\tint src_namelen;\n\tint target_namelen;\n\tu32 __data_loc_src_name;\n\tu32 __data_loc_target_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\txfs_extlen_t len;\n\tuint64_t owner;\n\tuint64_t offset;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rmap_convert_state {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tint state;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rmap_deferred_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong long unsigned int owner;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\tint whichfork;\n\txfs_fileoff_t l_loff;\n\txfs_filblks_t l_len;\n\txfs_exntst_t l_state;\n\tint op;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rmapbt_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\txfs_extlen_t len;\n\tuint64_t owner;\n\tuint64_t offset;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rtdiscard_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_rtblock_t rtbno;\n\txfs_rtblock_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_simple_io_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tloff_t isize;\n\tloff_t disize;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_swap_extent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint which;\n\txfs_ino_t ino;\n\tint format;\n\txfs_extnum_t nex;\n\tint broot_size;\n\tint fork_off;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_timestamp_range_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong long int min;\n\tlong long int max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_trans_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tuint32_t tid;\n\tuint32_t flags;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_trans_mod_dquot {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_dqtype_t type;\n\tunsigned int flags;\n\tunsigned int dqid;\n\tunsigned int field;\n\tint64_t delta;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_trans_resv_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint type;\n\tuint logres;\n\tint logcount;\n\tint logflags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_wb_invalid_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu64 addr;\n\tloff_t pos;\n\tu64 len;\n\tu16 type;\n\tu16 flags;\n\tu32 wpcseq;\n\tu32 forkseq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_dbc_log_request {\n\tstruct trace_entry ent;\n\tstruct dbc_request *req;\n\tbool dir;\n\tunsigned int actual;\n\tunsigned int length;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ctrl_ctx {\n\tstruct trace_entry ent;\n\tu32 drop;\n\tu32 add;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ctx {\n\tstruct trace_entry ent;\n\tint ctx_64;\n\tunsigned int ctx_type;\n\tdma_addr_t ctx_dma;\n\tu8 *ctx_va;\n\tunsigned int ctx_ep_num;\n\tu32 __data_loc_ctx_data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_doorbell {\n\tstruct trace_entry ent;\n\tu32 slot;\n\tu32 doorbell;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ep_ctx {\n\tstruct trace_entry ent;\n\tu32 info;\n\tu32 info2;\n\tu64 deq;\n\tu32 tx_info;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_free_virt_dev {\n\tstruct trace_entry ent;\n\tvoid *vdev;\n\tlong long unsigned int out_ctx;\n\tlong long unsigned int in_ctx;\n\tint slot_id;\n\tu16 current_mel;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_msg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_portsc {\n\tstruct trace_entry ent;\n\tu32 busnum;\n\tu32 portnum;\n\tu32 portsc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ring {\n\tstruct trace_entry ent;\n\tu32 type;\n\tvoid *ring;\n\tdma_addr_t enq;\n\tdma_addr_t deq;\n\tunsigned int num_segs;\n\tunsigned int stream_id;\n\tunsigned int cycle_state;\n\tunsigned int bounce_buf_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_slot_ctx {\n\tstruct trace_entry ent;\n\tu32 info;\n\tu32 info2;\n\tu32 tt_info;\n\tu32 state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_stream_ctx {\n\tstruct trace_entry ent;\n\tunsigned int stream_id;\n\tu64 stream_ring;\n\tdma_addr_t ctx_array_dma;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_trb {\n\tstruct trace_entry ent;\n\tdma_addr_t dma;\n\tu32 type;\n\tu32 field0;\n\tu32 field1;\n\tu32 field2;\n\tu32 field3;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_urb {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tvoid *urb;\n\tunsigned int pipe;\n\tunsigned int stream;\n\tint status;\n\tunsigned int flags;\n\tint num_mapped_sgs;\n\tint num_sgs;\n\tint length;\n\tint actual;\n\tint epnum;\n\tint dir_in;\n\tint type;\n\tint slot_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_virt_dev {\n\tstruct trace_entry ent;\n\tvoid *vdev;\n\tlong long unsigned int out_ctx;\n\tlong long unsigned int in_ctx;\n\tint devnum;\n\tint state;\n\tint speed;\n\tu8 portnum;\n\tu8 level;\n\tint slot_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xlog_iclog_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tuint32_t state;\n\tint32_t refcount;\n\tuint32_t offset;\n\tuint32_t flags;\n\tlong long unsigned int lsn;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xlog_intent_recovery_failed {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_cong_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int snd_task_id;\n\tlong unsigned int cong;\n\tlong unsigned int cwnd;\n\tbool wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_ping {\n\tstruct trace_entry ent;\n\tint status;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_reserve {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_retransmit {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint ntrans;\n\tint version;\n\tlong unsigned int timeout;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_transmit {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seqno;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_writelock_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int snd_task_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_data_ready {\n\tstruct trace_entry ent;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_socket_event {\n\tstruct trace_entry ent;\n\tunsigned int socket_state;\n\tunsigned int sock_state;\n\tlong long unsigned int ino;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_socket_event_done {\n\tstruct trace_entry ent;\n\tint error;\n\tunsigned int socket_state;\n\tunsigned int sock_state;\n\tlong long unsigned int ino;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_stream_read_data {\n\tstruct trace_entry ent;\n\tssize_t err;\n\tsize_t total;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_stream_read_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tu32 xid;\n\tlong unsigned int copied;\n\tunsigned int reclen;\n\tunsigned int offset;\n\tchar __data[0];\n};\n\nstruct trace_export {\n\tstruct trace_export *next;\n\tvoid (*write)(struct trace_export *, const void *, unsigned int);\n\tint flags;\n};\n\nstruct trace_func_repeats {\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tlong unsigned int count;\n\tu64 ts_last_call;\n};\n\nstruct trace_mark {\n\tlong long unsigned int val;\n\tchar sym;\n};\n\nstruct trace_min_max_param {\n\tstruct mutex *lock;\n\tu64 *val;\n\tu64 *min;\n\tu64 *max;\n};\n\nstruct tracer_opt;\n\nstruct tracer_flags;\n\nstruct trace_option_dentry {\n\tstruct tracer_opt *opt;\n\tstruct tracer_flags *flags;\n\tstruct trace_array *tr;\n\tstruct dentry *entry;\n};\n\nstruct trace_options {\n\tstruct tracer *tracer;\n\tstruct trace_option_dentry *topts;\n};\n\nstruct trace_parser {\n\tbool cont;\n\tchar *buffer;\n\tunsigned int idx;\n\tunsigned int size;\n};\n\nunion upper_chunk;\n\nstruct trace_pid_list {\n\traw_spinlock_t lock;\n\tstruct irq_work refill_irqwork;\n\tunion upper_chunk *upper[256];\n\tunion upper_chunk *upper_list;\n\tunion lower_chunk *lower_list;\n\tint free_upper_chunks;\n\tint free_lower_chunks;\n};\n\nstruct trace_print_flags {\n\tlong unsigned int mask;\n\tconst char *name;\n};\n\nstruct trace_uprobe_filter {\n\trwlock_t rwlock;\n\tint nr_systemwide;\n\tstruct list_head perf_events;\n};\n\nstruct trace_probe_event {\n\tunsigned int flags;\n\tstruct trace_event_class class;\n\tstruct trace_event_call call;\n\tstruct list_head files;\n\tstruct list_head probes;\n\tstruct trace_uprobe_filter filter[0];\n};\n\nstruct trace_probe_log {\n\tconst char *subsystem;\n\tconst char **argv;\n\tint argc;\n\tint index;\n};\n\nstruct trace_subsystem_dir {\n\tstruct list_head list;\n\tstruct event_subsystem *subsystem;\n\tstruct trace_array *tr;\n\tstruct eventfs_inode *ei;\n\tint ref_count;\n\tint nr_events;\n};\n\nstruct trace_uprobe {\n\tstruct dyn_event devent;\n\tstruct uprobe_consumer consumer;\n\tstruct path path;\n\tchar *filename;\n\tstruct uprobe *uprobe;\n\tlong unsigned int offset;\n\tlong unsigned int ref_ctr_offset;\n\tlong unsigned int *nhits;\n\tstruct trace_probe tp;\n};\n\nstruct tracefs_dir_ops {\n\tint (*mkdir)(const char *);\n\tint (*rmdir)(const char *);\n};\n\nstruct tracefs_fs_info {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tunsigned int opts;\n};\n\nstruct tracefs_inode {\n\tstruct inode vfs_inode;\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tvoid *private;\n};\n\nstruct tracepoint_ext;\n\nstruct tracepoint {\n\tconst char *name;\n\tstruct static_key_false key;\n\tstruct static_call_key *static_call_key;\n\tvoid *static_call_tramp;\n\tvoid *iterator;\n\tvoid *probestub;\n\tstruct tracepoint_func *funcs;\n\tstruct tracepoint_ext *ext;\n};\n\nstruct tracepoint_ext {\n\tint (*regfunc)(void);\n\tvoid (*unregfunc)(void);\n\tunsigned int faultable: 1;\n};\n\nstruct traceprobe_parse_context {\n\tstruct trace_event_call *event;\n\tconst char *funcname;\n\tconst struct btf_type *proto;\n\tconst struct btf_param *params;\n\ts32 nr_params;\n\tstruct btf *btf;\n\tconst struct btf_type *last_type;\n\tu32 last_bitoffs;\n\tu32 last_bitsize;\n\tstruct trace_probe *tp;\n\tunsigned int flags;\n\tint offset;\n};\n\nstruct tracer {\n\tconst char *name;\n\tint (*init)(struct trace_array *);\n\tvoid (*reset)(struct trace_array *);\n\tvoid (*start)(struct trace_array *);\n\tvoid (*stop)(struct trace_array *);\n\tint (*update_thresh)(struct trace_array *);\n\tvoid (*open)(struct trace_iterator *);\n\tvoid (*pipe_open)(struct trace_iterator *);\n\tvoid (*close)(struct trace_iterator *);\n\tvoid (*pipe_close)(struct trace_iterator *);\n\tssize_t (*read)(struct trace_iterator *, struct file *, char *, size_t, loff_t *);\n\tssize_t (*splice_read)(struct trace_iterator *, struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*print_header)(struct seq_file *);\n\tenum print_line_t (*print_line)(struct trace_iterator *);\n\tint (*set_flag)(struct trace_array *, u32, u32, int);\n\tint (*flag_changed)(struct trace_array *, u32, int);\n\tstruct tracer *next;\n\tstruct tracer_flags *flags;\n\tint enabled;\n\tbool print_max;\n\tbool allow_instances;\n\tbool noboot;\n};\n\nstruct tracer_flags {\n\tu32 val;\n\tstruct tracer_opt *opts;\n\tstruct tracer *trace;\n};\n\nstruct tracer_opt {\n\tconst char *name;\n\tu32 bit;\n};\n\ntypedef int (*cmp_func_t)(const void *, const void *);\n\nstruct tracer_stat {\n\tconst char *name;\n\tvoid * (*stat_start)(struct tracer_stat *);\n\tvoid * (*stat_next)(void *, int);\n\tcmp_func_t stat_cmp;\n\tint (*stat_show)(struct seq_file *, void *);\n\tvoid (*stat_release)(void *);\n\tint (*stat_headers)(struct seq_file *);\n};\n\nstruct tracing_log_err {\n\tstruct list_head list;\n\tstruct err_info info;\n\tchar loc[128];\n\tchar *cmd;\n};\n\nstruct track {\n\tlong unsigned int addr;\n\tdepot_stack_handle_t handle;\n\tint cpu;\n\tint pid;\n\tlong unsigned int when;\n};\n\nstruct trackpoint_attr_data {\n\tsize_t field_offset;\n\tu8 command;\n\tu8 mask;\n\tbool inverted;\n\tu8 power_on_default;\n};\n\nstruct trackpoint_data {\n\tu8 variant_id;\n\tu8 firmware_id;\n\tu8 sensitivity;\n\tu8 speed;\n\tu8 inertia;\n\tu8 reach;\n\tu8 draghys;\n\tu8 mindrag;\n\tu8 thresh;\n\tu8 upthresh;\n\tu8 ztime;\n\tu8 jenks;\n\tu8 drift_time;\n\tbool press_to_select;\n\tbool skipback;\n\tbool ext_dev;\n};\n\nstruct transaction_chp_stats_s {\n\tlong unsigned int cs_chp_time;\n\t__u32 cs_forced_to_close;\n\t__u32 cs_written;\n\t__u32 cs_dropped;\n};\n\nstruct transaction_s {\n\tjournal_t *t_journal;\n\ttid_t t_tid;\n\tenum {\n\t\tT_RUNNING = 0,\n\t\tT_LOCKED = 1,\n\t\tT_SWITCH = 2,\n\t\tT_FLUSH = 3,\n\t\tT_COMMIT = 4,\n\t\tT_COMMIT_DFLUSH = 5,\n\t\tT_COMMIT_JFLUSH = 6,\n\t\tT_COMMIT_CALLBACK = 7,\n\t\tT_FINISHED = 8,\n\t} t_state;\n\tlong unsigned int t_log_start;\n\tint t_nr_buffers;\n\tstruct journal_head *t_reserved_list;\n\tstruct journal_head *t_buffers;\n\tstruct journal_head *t_forget;\n\tstruct journal_head *t_checkpoint_list;\n\tstruct journal_head *t_shadow_list;\n\tstruct list_head t_inode_list;\n\tlong unsigned int t_max_wait;\n\tlong unsigned int t_start;\n\tlong unsigned int t_requested;\n\tstruct transaction_chp_stats_s t_chp_stats;\n\tatomic_t t_updates;\n\tatomic_t t_outstanding_credits;\n\tatomic_t t_outstanding_revokes;\n\tatomic_t t_handle_count;\n\ttransaction_t *t_cpnext;\n\ttransaction_t *t_cpprev;\n\tlong unsigned int t_expires;\n\tktime_t t_start_time;\n\tunsigned int t_synchronous_commit: 1;\n\tint t_need_data_flush;\n\tstruct list_head t_private_list;\n};\n\nstruct trc_stall_chk_rdr {\n\tint nesting;\n\tint ipi_to_cpu;\n\tu8 needqs;\n};\n\nstruct tree_block {\n\tstruct {\n\t\tstruct rb_node rb_node;\n\t\tu64 bytenr;\n\t};\n\tu64 owner;\n\tstruct btrfs_key key;\n\tu8 level;\n\tbool key_ready;\n};\n\ntypedef struct tree_desc_s tree_desc;\n\nstruct tree_descr {\n\tconst char *name;\n\tconst struct file_operations *ops;\n\tint mode;\n};\n\nstruct tree_mod_root {\n\tu64 logical;\n\tu8 level;\n};\n\nstruct tree_mod_elem {\n\tstruct rb_node node;\n\tu64 logical;\n\tu64 seq;\n\tenum btrfs_mod_log_op op;\n\tint slot;\n\tu64 generation;\n\tstruct btrfs_disk_key key;\n\tu64 blockptr;\n\tstruct {\n\t\tint dst_slot;\n\t\tint nr_items;\n\t} move;\n\tstruct tree_mod_root old_root;\n};\n\nstruct trie {\n\tstruct key_vector kv[1];\n};\n\nstruct trie_stat {\n\tunsigned int totdepth;\n\tunsigned int maxdepth;\n\tunsigned int tnodes;\n\tunsigned int leaves;\n\tunsigned int nullpointers;\n\tunsigned int prefixes;\n\tunsigned int nodesizes[32];\n};\n\nstruct ts_ops;\n\nstruct ts_state;\n\nstruct ts_config {\n\tstruct ts_ops *ops;\n\tint flags;\n\tunsigned int (*get_next_block)(unsigned int, const u8 **, struct ts_config *, struct ts_state *);\n\tvoid (*finish)(struct ts_config *, struct ts_state *);\n};\n\nstruct ts_linear_state {\n\tunsigned int len;\n\tconst void *data;\n};\n\nstruct ts_ops {\n\tconst char *name;\n\tstruct ts_config * (*init)(const void *, unsigned int, gfp_t, int);\n\tunsigned int (*find)(struct ts_config *, struct ts_state *);\n\tvoid (*destroy)(struct ts_config *);\n\tvoid * (*get_pattern)(struct ts_config *);\n\tunsigned int (*get_pattern_len)(struct ts_config *);\n\tstruct module *owner;\n\tstruct list_head list;\n};\n\nstruct ts_state {\n\tunsigned int offset;\n\tchar cb[48];\n};\n\nstruct tsconfig_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct hwtstamp_provider_desc hwprov_desc;\n\tstruct {\n\t\tu32 tx_type;\n\t\tu32 rx_filter;\n\t\tu32 flags;\n\t} hwtst_config;\n};\n\nstruct tsconfig_req_info {\n\tstruct ethnl_req_info base;\n};\n\nstruct tsi721_bdma_maint {\n\tint ch_id;\n\tint bd_num;\n\tvoid *bd_base;\n\tdma_addr_t bd_phys;\n\tvoid *sts_base;\n\tdma_addr_t sts_phys;\n\tint sts_size;\n};\n\nstruct tsi721_imsg_ring {\n\tu32 size;\n\tvoid *buf_base;\n\tdma_addr_t buf_phys;\n\tvoid *imfq_base;\n\tdma_addr_t imfq_phys;\n\tvoid *imd_base;\n\tdma_addr_t imd_phys;\n\tvoid *imq_base[512];\n\tu32 rx_slot;\n\tvoid *dev_id;\n\tu32 fq_wrptr;\n\tu32 desc_rdptr;\n\tspinlock_t lock;\n};\n\nstruct tsi721_omsg_ring {\n\tu32 size;\n\tvoid *omd_base;\n\tdma_addr_t omd_phys;\n\tvoid *omq_base[512];\n\tdma_addr_t omq_phys[512];\n\tvoid *sts_base;\n\tdma_addr_t sts_phys;\n\tu32 sts_size;\n\tu32 sts_rdptr;\n\tu32 tx_slot;\n\tvoid *dev_id;\n\tu32 wr_count;\n\tspinlock_t lock;\n};\n\nstruct tsi721_ib_win {\n\tu64 rstart;\n\tu32 size;\n\tdma_addr_t lstart;\n\tbool active;\n\tbool xlat;\n\tstruct list_head mappings;\n};\n\nstruct tsi721_obw_bar {\n\tu64 base;\n\tu64 size;\n\tu64 free;\n};\n\nstruct tsi721_ob_win {\n\tu64 base;\n\tu32 size;\n\tu16 destid;\n\tu64 rstart;\n\tbool active;\n\tstruct tsi721_obw_bar *pbar;\n};\n\nstruct tsi721_device {\n\tstruct pci_dev *pdev;\n\tstruct rio_mport mport;\n\tu32 flags;\n\tvoid *regs;\n\tstruct msix_irq msix[18];\n\tvoid *odb_base;\n\tvoid *idb_base;\n\tdma_addr_t idb_dma;\n\tstruct work_struct idb_work;\n\tu32 db_discard_count;\n\tstruct work_struct pw_work;\n\tstruct kfifo pw_fifo;\n\tspinlock_t pw_fifo_lock;\n\tu32 pw_discard_count;\n\tstruct tsi721_bdma_maint mdma;\n\tint imsg_init[8];\n\tstruct tsi721_imsg_ring imsg_ring[8];\n\tint omsg_init[4];\n\tstruct tsi721_omsg_ring omsg_ring[4];\n\tstruct tsi721_ib_win ib_win[8];\n\tint ibwin_cnt;\n\tstruct tsi721_obw_bar p2r_bar[2];\n\tstruct tsi721_ob_win ob_win[8];\n\tint obwin_cnt;\n};\n\nstruct tsi721_dma_desc {\n\t__le32 type_id;\n\t__le32 bcount;\n\tunion {\n\t\t__le32 raddr_lo;\n\t\t__le32 next_lo;\n\t};\n\tunion {\n\t\t__le32 raddr_hi;\n\t\t__le32 next_hi;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__le32 bufptr_lo;\n\t\t\t__le32 bufptr_hi;\n\t\t\t__le32 s_dist;\n\t\t\t__le32 s_size;\n\t\t} t1;\n\t\t__le32 data[4];\n\t\tu32 reserved[4];\n\t};\n};\n\nstruct tsi721_ib_win_mapping {\n\tstruct list_head node;\n\tdma_addr_t lstart;\n};\n\nstruct tsi721_imsg_desc {\n\t__le32 type_id;\n\t__le32 msg_info;\n\t__le32 bufptr_lo;\n\t__le32 bufptr_hi;\n\tu32 reserved[12];\n};\n\nstruct tsi721_omsg_desc {\n\t__le32 type_id;\n\t__le32 msg_info;\n\tunion {\n\t\t__le32 bufptr_lo;\n\t\t__le32 next_lo;\n\t};\n\tunion {\n\t\t__le32 bufptr_hi;\n\t\t__le32 next_hi;\n\t};\n};\n\nstruct tsinfo_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct kernel_ethtool_ts_info ts_info;\n\tstruct ethtool_ts_stats stats;\n};\n\nstruct tsinfo_req_info {\n\tstruct ethnl_req_info base;\n\tstruct hwtstamp_provider_desc hwprov_desc;\n};\n\nstruct tso_t {\n\tint next_frag_idx;\n\tint size;\n\tvoid *data;\n\tu16 ip_id;\n\tu8 tlen;\n\tbool ipv6;\n\tu32 tcp_seq;\n};\n\nstruct tsq_tasklet {\n\tstruct tasklet_struct tasklet;\n\tstruct list_head head;\n};\n\nstruct ttm_lru_walk_ops;\n\nstruct ttm_operation_ctx;\n\nstruct ttm_lru_walk {\n\tconst struct ttm_lru_walk_ops *ops;\n\tstruct ttm_operation_ctx *ctx;\n\tstruct ww_acquire_ctx *ticket;\n\tbool trylock_only;\n};\n\nstruct dmem_cgroup_pool_state;\n\nstruct ttm_bo_evict_walk {\n\tstruct ttm_lru_walk walk;\n\tconst struct ttm_place *place;\n\tstruct ttm_buffer_object *evictor;\n\tstruct ttm_resource **res;\n\tlong unsigned int evicted;\n\tstruct dmem_cgroup_pool_state *limit_pool;\n\tbool try_low;\n\tbool hit_low;\n};\n\nstruct ttm_bo_swapout_walk {\n\tstruct ttm_lru_walk walk;\n\tgfp_t gfp_flags;\n\tbool hit_low;\n\tbool evict_low;\n};\n\nstruct ttm_bus_placement {\n\tvoid *addr;\n\tphys_addr_t offset;\n\tbool is_iomem;\n\tenum ttm_caching caching;\n};\n\nstruct ttm_device_funcs {\n\tstruct ttm_tt * (*ttm_tt_create)(struct ttm_buffer_object *, uint32_t);\n\tint (*ttm_tt_populate)(struct ttm_device *, struct ttm_tt *, struct ttm_operation_ctx *);\n\tvoid (*ttm_tt_unpopulate)(struct ttm_device *, struct ttm_tt *);\n\tvoid (*ttm_tt_destroy)(struct ttm_device *, struct ttm_tt *);\n\tbool (*eviction_valuable)(struct ttm_buffer_object *, const struct ttm_place *);\n\tvoid (*evict_flags)(struct ttm_buffer_object *, struct ttm_placement *);\n\tint (*move)(struct ttm_buffer_object *, bool, struct ttm_operation_ctx *, struct ttm_resource *, struct ttm_place *);\n\tvoid (*delete_mem_notify)(struct ttm_buffer_object *);\n\tvoid (*swap_notify)(struct ttm_buffer_object *);\n\tint (*io_mem_reserve)(struct ttm_device *, struct ttm_resource *);\n\tvoid (*io_mem_free)(struct ttm_device *, struct ttm_resource *);\n\tlong unsigned int (*io_mem_pfn)(struct ttm_buffer_object *, long unsigned int);\n\tint (*access_memory)(struct ttm_buffer_object *, long unsigned int, void *, int, int);\n\tvoid (*release_notify)(struct ttm_buffer_object *);\n};\n\nstruct ttm_global {\n\tstruct page *dummy_read_page;\n\tstruct list_head device_list;\n\tatomic_t bo_count;\n};\n\nstruct ttm_kmap_iter_ops;\n\nstruct ttm_kmap_iter {\n\tconst struct ttm_kmap_iter_ops *ops;\n};\n\nstruct ttm_kmap_iter_iomap {\n\tstruct ttm_kmap_iter base;\n\tstruct io_mapping *iomap;\n\tstruct sg_table *st;\n\tresource_size_t start;\n\tstruct {\n\t\tstruct scatterlist *sg;\n\t\tlong unsigned int i;\n\t\tlong unsigned int end;\n\t\tlong unsigned int offs;\n\t} cache;\n};\n\nstruct ttm_kmap_iter_linear_io {\n\tstruct ttm_kmap_iter base;\n\tstruct iosys_map dmap;\n\tbool needs_unmap;\n};\n\nstruct ttm_kmap_iter_ops {\n\tvoid (*map_local)(struct ttm_kmap_iter *, struct iosys_map *, long unsigned int);\n\tvoid (*unmap_local)(struct ttm_kmap_iter *, struct iosys_map *);\n\tbool maps_tt;\n};\n\nstruct ttm_kmap_iter_tt {\n\tstruct ttm_kmap_iter base;\n\tstruct ttm_tt *tt;\n\tpgprot_t prot;\n};\n\nstruct ttm_lru_bulk_move_pos {\n\tstruct ttm_resource *first;\n\tstruct ttm_resource *last;\n};\n\nstruct ttm_lru_bulk_move {\n\tstruct ttm_lru_bulk_move_pos pos[32];\n\tstruct list_head cursor_list;\n};\n\nstruct ttm_lru_item {\n\tstruct list_head link;\n\tenum ttm_lru_item_type type;\n};\n\nstruct ttm_lru_walk_ops {\n\ts64 (*process_bo)(struct ttm_lru_walk *, struct ttm_buffer_object *);\n};\n\nstruct ttm_operation_ctx {\n\tbool interruptible;\n\tbool no_wait_gpu;\n\tbool gfp_retry_mayfail;\n\tbool allow_res_evict;\n\tbool force_alloc;\n\tstruct dma_resv *resv;\n\tuint64_t bytes_moved;\n};\n\nstruct ttm_pool_dma {\n\tdma_addr_t addr;\n\tlong unsigned int vaddr;\n};\n\nstruct ttm_range_manager {\n\tstruct ttm_resource_manager manager;\n\tstruct drm_mm mm;\n\tspinlock_t lock;\n};\n\nstruct ttm_resource {\n\tlong unsigned int start;\n\tsize_t size;\n\tuint32_t mem_type;\n\tuint32_t placement;\n\tstruct ttm_bus_placement bus;\n\tstruct ttm_buffer_object *bo;\n\tstruct dmem_cgroup_pool_state *css;\n\tstruct ttm_lru_item lru;\n};\n\nstruct ttm_range_mgr_node {\n\tstruct ttm_resource base;\n\tstruct drm_mm_node mm_nodes[0];\n};\n\nstruct ttm_resource_cursor {\n\tstruct ttm_resource_manager *man;\n\tstruct ttm_lru_item hitch;\n\tstruct list_head bulk_link;\n\tstruct ttm_lru_bulk_move *bulk;\n\tunsigned int mem_type;\n\tunsigned int priority;\n};\n\nstruct ttm_resource_manager_func {\n\tint (*alloc)(struct ttm_resource_manager *, struct ttm_buffer_object *, const struct ttm_place *, struct ttm_resource **);\n\tvoid (*free)(struct ttm_resource_manager *, struct ttm_resource *);\n\tbool (*intersects)(struct ttm_resource_manager *, struct ttm_resource *, const struct ttm_place *, size_t);\n\tbool (*compatible)(struct ttm_resource_manager *, struct ttm_resource *, const struct ttm_place *, size_t);\n\tvoid (*debug)(struct ttm_resource_manager *, struct drm_printer *);\n};\n\nstruct ttm_transfer_obj {\n\tstruct ttm_buffer_object base;\n\tstruct ttm_buffer_object *bo;\n};\n\nstruct ttm_tt {\n\tstruct page **pages;\n\tuint32_t page_flags;\n\tuint32_t num_pages;\n\tstruct sg_table *sg;\n\tdma_addr_t *dma_address;\n\tstruct file *swap_storage;\n\tenum ttm_caching caching;\n};\n\nstruct ttm_validate_buffer {\n\tstruct list_head head;\n\tstruct ttm_buffer_object *bo;\n\tunsigned int num_shared;\n};\n\nstruct tty_audit_buf {\n\tstruct mutex mutex;\n\tdev_t dev;\n\tbool icanon;\n\tsize_t valid;\n\tu8 *data;\n};\n\nstruct tty_operations;\n\nstruct tty_driver {\n\tstruct kref kref;\n\tstruct cdev **cdevs;\n\tstruct module *owner;\n\tconst char *driver_name;\n\tconst char *name;\n\tint name_base;\n\tint major;\n\tint minor_start;\n\tunsigned int num;\n\tshort int type;\n\tshort int subtype;\n\tstruct ktermios init_termios;\n\tlong unsigned int flags;\n\tstruct proc_dir_entry *proc_entry;\n\tstruct tty_driver *other;\n\tstruct tty_struct **ttys;\n\tstruct tty_port **ports;\n\tstruct ktermios **termios;\n\tvoid *driver_state;\n\tconst struct tty_operations *ops;\n\tstruct list_head tty_drivers;\n};\n\nstruct tty_file_private {\n\tstruct tty_struct *tty;\n\tstruct file *file;\n\tstruct list_head list;\n};\n\nstruct tty_ldisc_ops;\n\nstruct tty_ldisc {\n\tstruct tty_ldisc_ops *ops;\n\tstruct tty_struct *tty;\n};\n\nstruct tty_ldisc_ops {\n\tchar *name;\n\tint num;\n\tint (*open)(struct tty_struct *);\n\tvoid (*close)(struct tty_struct *);\n\tvoid (*flush_buffer)(struct tty_struct *);\n\tssize_t (*read)(struct tty_struct *, struct file *, u8 *, size_t, void **, long unsigned int);\n\tssize_t (*write)(struct tty_struct *, struct file *, const u8 *, size_t);\n\tint (*ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tvoid (*set_termios)(struct tty_struct *, const struct ktermios *);\n\t__poll_t (*poll)(struct tty_struct *, struct file *, struct poll_table_struct *);\n\tvoid (*hangup)(struct tty_struct *);\n\tvoid (*receive_buf)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct tty_struct *);\n\tvoid (*dcd_change)(struct tty_struct *, bool);\n\tsize_t (*receive_buf2)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tvoid (*lookahead_buf)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tstruct module *owner;\n};\n\nstruct tty_operations {\n\tstruct tty_struct * (*lookup)(struct tty_driver *, struct file *, int);\n\tint (*install)(struct tty_driver *, struct tty_struct *);\n\tvoid (*remove)(struct tty_driver *, struct tty_struct *);\n\tint (*open)(struct tty_struct *, struct file *);\n\tvoid (*close)(struct tty_struct *, struct file *);\n\tvoid (*shutdown)(struct tty_struct *);\n\tvoid (*cleanup)(struct tty_struct *);\n\tssize_t (*write)(struct tty_struct *, const u8 *, size_t);\n\tint (*put_char)(struct tty_struct *, u8);\n\tvoid (*flush_chars)(struct tty_struct *);\n\tunsigned int (*write_room)(struct tty_struct *);\n\tunsigned int (*chars_in_buffer)(struct tty_struct *);\n\tint (*ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tlong int (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tvoid (*set_termios)(struct tty_struct *, const struct ktermios *);\n\tvoid (*throttle)(struct tty_struct *);\n\tvoid (*unthrottle)(struct tty_struct *);\n\tvoid (*stop)(struct tty_struct *);\n\tvoid (*start)(struct tty_struct *);\n\tvoid (*hangup)(struct tty_struct *);\n\tint (*break_ctl)(struct tty_struct *, int);\n\tvoid (*flush_buffer)(struct tty_struct *);\n\tint (*ldisc_ok)(struct tty_struct *, int);\n\tvoid (*set_ldisc)(struct tty_struct *);\n\tvoid (*wait_until_sent)(struct tty_struct *, int);\n\tvoid (*send_xchar)(struct tty_struct *, u8);\n\tint (*tiocmget)(struct tty_struct *);\n\tint (*tiocmset)(struct tty_struct *, unsigned int, unsigned int);\n\tint (*resize)(struct tty_struct *, struct winsize *);\n\tint (*get_icount)(struct tty_struct *, struct serial_icounter_struct *);\n\tint (*get_serial)(struct tty_struct *, struct serial_struct *);\n\tint (*set_serial)(struct tty_struct *, struct serial_struct *);\n\tvoid (*show_fdinfo)(struct tty_struct *, struct seq_file *);\n\tint (*proc_show)(struct seq_file *, void *);\n};\n\nstruct tty_port_client_operations {\n\tsize_t (*receive_buf)(struct tty_port *, const u8 *, const u8 *, size_t);\n\tvoid (*lookahead_buf)(struct tty_port *, const u8 *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct tty_port *);\n};\n\nstruct tty_port_operations {\n\tbool (*carrier_raised)(struct tty_port *);\n\tvoid (*dtr_rts)(struct tty_port *, bool);\n\tvoid (*shutdown)(struct tty_port *);\n\tint (*activate)(struct tty_port *, struct tty_struct *);\n\tvoid (*destruct)(struct tty_port *);\n};\n\nstruct tty_struct {\n\tstruct kref kref;\n\tint index;\n\tstruct device *dev;\n\tstruct tty_driver *driver;\n\tstruct tty_port *port;\n\tconst struct tty_operations *ops;\n\tstruct tty_ldisc *ldisc;\n\tstruct ld_semaphore ldisc_sem;\n\tstruct mutex atomic_write_lock;\n\tstruct mutex legacy_mutex;\n\tstruct mutex throttle_mutex;\n\tstruct rw_semaphore termios_rwsem;\n\tstruct mutex winsize_mutex;\n\tstruct ktermios termios;\n\tstruct ktermios termios_locked;\n\tchar name[64];\n\tlong unsigned int flags;\n\tint count;\n\tunsigned int receive_room;\n\tstruct winsize winsize;\n\tstruct {\n\t\tspinlock_t lock;\n\t\tbool stopped;\n\t\tbool tco_stopped;\n\t} flow;\n\tstruct {\n\t\tstruct pid *pgrp;\n\t\tstruct pid *session;\n\t\tspinlock_t lock;\n\t\tunsigned char pktstatus;\n\t\tbool packet;\n\t} ctrl;\n\tbool hw_stopped;\n\tbool closing;\n\tint flow_change;\n\tstruct tty_struct *link;\n\tstruct fasync_struct *fasync;\n\twait_queue_head_t write_wait;\n\twait_queue_head_t read_wait;\n\tstruct work_struct hangup_work;\n\tvoid *disc_data;\n\tvoid *driver_data;\n\tspinlock_t files_lock;\n\tint write_cnt;\n\tu8 *write_buf;\n\tstruct list_head tty_files;\n\tstruct work_struct SAK_work;\n};\n\nstruct tun_security_struct {\n\tu32 sid;\n};\n\nstruct tunnel_msg {\n\t__u8 family;\n\t__u8 flags;\n\t__u16 reserved2;\n\t__u32 ifindex;\n};\n\nstruct tx_sa {\n\tstruct xfrm_state *xs;\n\tu32 key[4];\n\tu32 salt;\n\tu32 mode;\n\tbool encrypt;\n\tbool used;\n\tu32 vf;\n};\n\nstruct txgbe_nodes {\n\tchar gpio_name[32];\n\tchar i2c_name[32];\n\tchar sfp_name[32];\n\tchar phylink_name[32];\n\tstruct property_entry gpio_props[1];\n\tstruct property_entry i2c_props[3];\n\tstruct property_entry sfp_props[8];\n\tstruct property_entry phylink_props[2];\n\tstruct software_node_ref_args i2c_ref[1];\n\tstruct software_node_ref_args gpio0_ref[1];\n\tstruct software_node_ref_args gpio1_ref[1];\n\tstruct software_node_ref_args gpio2_ref[1];\n\tstruct software_node_ref_args gpio3_ref[1];\n\tstruct software_node_ref_args gpio4_ref[1];\n\tstruct software_node_ref_args gpio5_ref[1];\n\tstruct software_node_ref_args sfp_ref[1];\n\tstruct software_node swnodes[4];\n\tconst struct software_node *group[5];\n};\n\nstruct txgbe_irq {\n\tstruct irq_chip chip;\n\tstruct irq_domain *domain;\n\tint nirqs;\n\tint irq;\n};\n\nunion txgbe_atr_input {\n\tstruct {\n\t\tu8 vm_pool;\n\t\tu8 flow_type;\n\t\t__be16 vlan_id;\n\t\t__be32 dst_ip[4];\n\t\t__be32 src_ip[4];\n\t\t__be16 src_port;\n\t\t__be16 dst_port;\n\t\t__be16 flex_bytes;\n\t\t__be16 bkt_hash;\n\t} formatted;\n\t__be32 dword_stream[11];\n};\n\nstruct wx;\n\nstruct txgbe {\n\tstruct wx *wx;\n\tstruct txgbe_nodes nodes;\n\tstruct txgbe_irq misc;\n\tstruct phylink_pcs *pcs;\n\tstruct platform_device *sfp_dev;\n\tstruct platform_device *i2c_dev;\n\tstruct clk_lookup *clock;\n\tstruct clk *clk;\n\tstruct gpio_chip *gpio;\n\tunsigned int link_irq;\n\tstruct hlist_head fdir_filter_list;\n\tunion txgbe_atr_input fdir_mask;\n\tint fdir_filter_count;\n\tspinlock_t fdir_perfect_lock;\n};\n\nunion txgbe_atr_hash_dword {\n\tstruct {\n\t\tu8 vm_pool;\n\t\tu8 flow_type;\n\t\t__be16 vlan_id;\n\t} formatted;\n\t__be32 ip;\n\tstruct {\n\t\t__be16 src;\n\t\t__be16 dst;\n\t} port;\n\t__be16 flex_bytes;\n\t__be32 dword;\n};\n\nstruct txgbe_fdir_filter {\n\tstruct hlist_node fdir_node;\n\tunion txgbe_atr_input filter;\n\tu16 sw_idx;\n\tu16 action;\n};\n\nstruct type_datum {\n\tu32 value;\n\tu32 bounds;\n\tunsigned char primary;\n\tunsigned char attribute;\n};\n\nstruct type_set {\n\tstruct ebitmap types;\n\tstruct ebitmap negset;\n\tu32 flags;\n};\n\nstruct typec_connector {\n\tvoid (*attach)(struct typec_connector *, struct device *);\n\tvoid (*deattach)(struct typec_connector *, struct device *);\n};\n\nstruct u32_fract {\n\t__u32 numerator;\n\t__u32 denominator;\n};\n\nstruct uart_8250_dma {\n\tint (*tx_dma)(struct uart_8250_port *);\n\tint (*rx_dma)(struct uart_8250_port *);\n\tvoid (*prepare_tx_dma)(struct uart_8250_port *);\n\tvoid (*prepare_rx_dma)(struct uart_8250_port *);\n\tdma_filter_fn fn;\n\tvoid *rx_param;\n\tvoid *tx_param;\n\tstruct dma_slave_config rxconf;\n\tstruct dma_slave_config txconf;\n\tstruct dma_chan *rxchan;\n\tstruct dma_chan *txchan;\n\tphys_addr_t rx_dma_addr;\n\tphys_addr_t tx_dma_addr;\n\tdma_addr_t rx_addr;\n\tdma_addr_t tx_addr;\n\tdma_cookie_t rx_cookie;\n\tdma_cookie_t tx_cookie;\n\tvoid *rx_buf;\n\tsize_t rx_size;\n\tsize_t tx_size;\n\tunsigned char tx_running;\n\tunsigned char tx_err;\n\tunsigned char rx_running;\n};\n\nstruct uart_8250_em485 {\n\tstruct hrtimer start_tx_timer;\n\tstruct hrtimer stop_tx_timer;\n\tstruct hrtimer *active_timer;\n\tstruct uart_8250_port *port;\n\tunsigned int tx_stopped: 1;\n};\n\nstruct uart_8250_ops {\n\tint (*setup_irq)(struct uart_8250_port *);\n\tvoid (*release_irq)(struct uart_8250_port *);\n\tvoid (*setup_timer)(struct uart_8250_port *);\n};\n\nstruct uart_8250_port {\n\tstruct uart_port port;\n\tstruct timer_list timer;\n\tstruct list_head list;\n\tu32 capabilities;\n\tu16 bugs;\n\tunsigned int tx_loadsz;\n\tunsigned char acr;\n\tunsigned char fcr;\n\tunsigned char ier;\n\tunsigned char lcr;\n\tunsigned char mcr;\n\tunsigned char cur_iotype;\n\tunsigned int rpm_tx_active;\n\tunsigned char canary;\n\tunsigned char probe;\n\tstruct mctrl_gpios *gpios;\n\tu16 lsr_saved_flags;\n\tu16 lsr_save_mask;\n\tunsigned char msr_saved_flags;\n\tstruct uart_8250_dma *dma;\n\tconst struct uart_8250_ops *ops;\n\tu32 (*dl_read)(struct uart_8250_port *);\n\tvoid (*dl_write)(struct uart_8250_port *, u32);\n\tstruct uart_8250_em485 *em485;\n\tvoid (*rs485_start_tx)(struct uart_8250_port *, bool);\n\tvoid (*rs485_stop_tx)(struct uart_8250_port *, bool);\n\tstruct delayed_work overrun_backoff;\n\tu32 overrun_backoff_time_ms;\n};\n\nstruct uart_driver {\n\tstruct module *owner;\n\tconst char *driver_name;\n\tconst char *dev_name;\n\tint major;\n\tint minor;\n\tint nr;\n\tstruct console *cons;\n\tstruct uart_state *state;\n\tstruct tty_driver *tty_driver;\n};\n\nstruct uart_match {\n\tstruct uart_port *port;\n\tstruct uart_driver *driver;\n};\n\nstruct uart_ops {\n\tunsigned int (*tx_empty)(struct uart_port *);\n\tvoid (*set_mctrl)(struct uart_port *, unsigned int);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tvoid (*stop_tx)(struct uart_port *);\n\tvoid (*start_tx)(struct uart_port *);\n\tvoid (*throttle)(struct uart_port *);\n\tvoid (*unthrottle)(struct uart_port *);\n\tvoid (*send_xchar)(struct uart_port *, char);\n\tvoid (*stop_rx)(struct uart_port *);\n\tvoid (*start_rx)(struct uart_port *);\n\tvoid (*enable_ms)(struct uart_port *);\n\tvoid (*break_ctl)(struct uart_port *, int);\n\tint (*startup)(struct uart_port *);\n\tvoid (*shutdown)(struct uart_port *);\n\tvoid (*flush_buffer)(struct uart_port *);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tconst char * (*type)(struct uart_port *);\n\tvoid (*release_port)(struct uart_port *);\n\tint (*request_port)(struct uart_port *);\n\tvoid (*config_port)(struct uart_port *, int);\n\tint (*verify_port)(struct uart_port *, struct serial_struct *);\n\tint (*ioctl)(struct uart_port *, unsigned int, long unsigned int);\n};\n\nstruct uart_state {\n\tstruct tty_port port;\n\tenum uart_pm_state pm_state;\n\tatomic_t refcount;\n\twait_queue_head_t remove_wait;\n\tstruct uart_port *uart_port;\n};\n\nstruct ubuf_info_msgzc {\n\tstruct ubuf_info ubuf;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int desc;\n\t\t\tvoid *ctx;\n\t\t};\n\t\tstruct {\n\t\t\tu32 id;\n\t\t\tu16 len;\n\t\t\tu16 zerocopy: 1;\n\t\t\tu32 bytelen;\n\t\t};\n\t};\n\tstruct mmpin mmp;\n};\n\nstruct ubuf_info_ops {\n\tvoid (*complete)(struct sk_buff *, struct ubuf_info *, bool);\n\tint (*link_skb)(struct sk_buff *, struct ubuf_info *);\n};\n\nstruct ucounts {\n\tstruct hlist_node node;\n\tstruct user_namespace *ns;\n\tkuid_t uid;\n\tatomic_t count;\n\tatomic_long_t ucount[12];\n\tatomic_long_t rlimit[4];\n};\n\nstruct ucred {\n\t__u32 pid;\n\t__u32 uid;\n\t__u32 gid;\n};\n\nstruct udfPartitionMap2 {\n\tuint8_t partitionMapType;\n\tuint8_t partitionMapLength;\n\tuint8_t reserved1[2];\n\tstruct regid partIdent;\n\t__le16 volSeqNum;\n\t__le16 partitionNum;\n};\n\nstruct udf_bitmap {\n\t__u32 s_extPosition;\n\tint s_nr_groups;\n\tstruct buffer_head *s_block_bitmap[0];\n};\n\nstruct udf_ext_cache {\n\tstruct extent_position epos;\n\tloff_t lstart;\n};\n\nstruct udf_fileident_iter {\n\tstruct inode *dir;\n\tloff_t pos;\n\tstruct buffer_head *bh[2];\n\tstruct kernel_lb_addr eloc;\n\tuint32_t elen;\n\tsector_t loffset;\n\tstruct extent_position epos;\n\tstruct fileIdentDesc fi;\n\tuint8_t *name;\n\tuint8_t *namebuf;\n};\n\nstruct udf_inode_info {\n\tstruct timespec64 i_crtime;\n\tstruct kernel_lb_addr i_location;\n\t__u64 i_unique;\n\t__u32 i_lenEAttr;\n\t__u32 i_lenAlloc;\n\t__u64 i_lenExtents;\n\t__u32 i_next_alloc_block;\n\t__u32 i_next_alloc_goal;\n\t__u32 i_checkpoint;\n\t__u32 i_extraPerms;\n\tunsigned int i_alloc_type: 3;\n\tunsigned int i_efe: 1;\n\tunsigned int i_use: 1;\n\tunsigned int i_strat4096: 1;\n\tunsigned int i_streamdir: 1;\n\tunsigned int i_hidden: 1;\n\tunsigned int reserved: 24;\n\t__u8 *i_data;\n\tstruct kernel_lb_addr i_locStreamdir;\n\t__u64 i_lenStreams;\n\tstruct rw_semaphore i_data_sem;\n\tstruct udf_ext_cache cached_extent;\n\tspinlock_t i_extent_cache_lock;\n\tstruct inode vfs_inode;\n};\n\nstruct udf_map_rq {\n\tsector_t lblk;\n\tudf_pblk_t pblk;\n\tint iflags;\n\tint oflags;\n};\n\nstruct udf_meta_data {\n\t__u32 s_meta_file_loc;\n\t__u32 s_mirror_file_loc;\n\t__u32 s_bitmap_file_loc;\n\t__u32 s_alloc_unit_size;\n\t__u16 s_align_unit_size;\n\t__u16 s_phys_partition_ref;\n\tint s_flags;\n\tstruct inode *s_metadata_fe;\n\tstruct inode *s_mirror_fe;\n\tstruct inode *s_bitmap_fe;\n};\n\nstruct udf_options {\n\tunsigned int blocksize;\n\tunsigned int session;\n\tunsigned int lastblock;\n\tunsigned int anchor;\n\tunsigned int flags;\n\tumode_t umask;\n\tkgid_t gid;\n\tkuid_t uid;\n\tumode_t fmode;\n\tumode_t dmode;\n\tstruct nls_table *nls_map;\n};\n\nstruct udf_sparing_data {\n\t__u16 s_packet_len;\n\tstruct buffer_head *s_spar_map[4];\n};\n\nstruct udf_virtual_data {\n\t__u32 s_num_entries;\n\t__u16 s_start_offset;\n};\n\nstruct udf_part_map {\n\tunion {\n\t\tstruct udf_bitmap *s_bitmap;\n\t\tstruct inode *s_table;\n\t} s_uspace;\n\t__u32 s_partition_root;\n\t__u32 s_partition_len;\n\t__u16 s_partition_type;\n\t__u16 s_partition_num;\n\tunion {\n\t\tstruct udf_sparing_data s_sparing;\n\t\tstruct udf_virtual_data s_virtual;\n\t\tstruct udf_meta_data s_metadata;\n\t} s_type_specific;\n\t__u32 (*s_partition_func)(struct super_block *, __u32, __u16, __u32);\n\t__u16 s_volumeseqnum;\n\t__u16 s_partition_flags;\n};\n\nstruct udf_sb_info {\n\tstruct udf_part_map *s_partmaps;\n\t__u8 s_volume_ident[32];\n\t__u16 s_partitions;\n\t__u16 s_partition;\n\t__s32 s_session;\n\t__u32 s_anchor;\n\t__u32 s_last_block;\n\tstruct buffer_head *s_lvid_bh;\n\tumode_t s_umask;\n\tkgid_t s_gid;\n\tkuid_t s_uid;\n\tumode_t s_fmode;\n\tumode_t s_dmode;\n\trwlock_t s_cred_lock;\n\tstruct timespec64 s_record_time;\n\t__u16 s_serial_number;\n\t__u16 s_udfrev;\n\tlong unsigned int s_flags;\n\tstruct nls_table *s_nls_map;\n\tstruct inode *s_vat_inode;\n\tstruct mutex s_alloc_mutex;\n\tunsigned int s_lvid_dirty;\n};\n\nstruct udmabuf {\n\tlong unsigned int pagecount;\n\tstruct folio **folios;\n\tlong unsigned int nr_pinned;\n\tstruct folio **pinned_folios;\n\tstruct sg_table *sg;\n\tstruct miscdevice *device;\n\tlong unsigned int *offsets;\n};\n\nstruct udmabuf_create {\n\t__u32 memfd;\n\t__u32 flags;\n\t__u64 offset;\n\t__u64 size;\n};\n\nstruct udmabuf_create_item {\n\t__u32 memfd;\n\t__u32 __pad;\n\t__u64 offset;\n\t__u64 size;\n};\n\nstruct udmabuf_create_list {\n\t__u32 flags;\n\t__u32 count;\n\tstruct udmabuf_create_item list[0];\n};\n\nstruct udp_sock {\n\tstruct inet_sock inet;\n\tlong unsigned int udp_flags;\n\tint pending;\n\t__u8 encap_type;\n\t__u16 udp_lrpa_hash;\n\tstruct hlist_nulls_node udp_lrpa_node;\n\t__u16 len;\n\t__u16 gso_size;\n\t__u16 pcslen;\n\t__u16 pcrlen;\n\tint (*encap_rcv)(struct sock *, struct sk_buff *);\n\tvoid (*encap_err_rcv)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\tint (*encap_err_lookup)(struct sock *, struct sk_buff *);\n\tvoid (*encap_destroy)(struct sock *);\n\tstruct sk_buff * (*gro_receive)(struct sock *, struct list_head *, struct sk_buff *);\n\tint (*gro_complete)(struct sock *, struct sk_buff *, int);\n\tstruct sk_buff_head reader_queue;\n\tint forward_deficit;\n\tint forward_threshold;\n\tbool peeking_with_offset;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct udp6_sock {\n\tstruct udp_sock udp;\n\tstruct ipv6_pinfo inet6;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct udp_dev_scratch {\n\tu32 _tsize_state;\n\tu16 len;\n\tbool is_linear;\n\tbool csum_unnecessary;\n};\n\nstruct udp_hslot {\n\tunion {\n\t\tstruct hlist_head head;\n\t\tstruct hlist_nulls_head nulls_head;\n\t};\n\tint count;\n\tspinlock_t lock;\n};\n\nstruct udp_hslot_main {\n\tstruct udp_hslot hslot;\n\tu32 hash4_cnt;\n\tlong: 64;\n};\n\nstruct udp_mib {\n\tlong unsigned int mibs[10];\n};\n\nstruct udp_port_cfg {\n\tu8 family;\n\tunion {\n\t\tstruct in_addr local_ip;\n\t\tstruct in6_addr local_ip6;\n\t};\n\tunion {\n\t\tstruct in_addr peer_ip;\n\t\tstruct in6_addr peer_ip6;\n\t};\n\t__be16 local_udp_port;\n\t__be16 peer_udp_port;\n\tint bind_ifindex;\n\tunsigned int use_udp_checksums: 1;\n\tunsigned int use_udp6_tx_checksums: 1;\n\tunsigned int use_udp6_rx_checksums: 1;\n\tunsigned int ipv6_v6only: 1;\n};\n\nstruct udp_seq_afinfo {\n\tsa_family_t family;\n\tstruct udp_table *udp_table;\n};\n\nstruct udp_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\t__u16 cscov;\n\t__u8 partial_cov;\n};\n\nstruct udp_table {\n\tstruct udp_hslot *hash;\n\tstruct udp_hslot_main *hash2;\n\tstruct udp_hslot *hash4;\n\tunsigned int mask;\n\tunsigned int log;\n};\n\nstruct udp_tunnel_info {\n\tshort unsigned int type;\n\tsa_family_t sa_family;\n\t__be16 port;\n\tu8 hw_priv;\n};\n\nstruct udp_tunnel_nic_table_entry;\n\nstruct udp_tunnel_nic {\n\tstruct work_struct work;\n\tstruct net_device *dev;\n\tu8 need_sync: 1;\n\tu8 need_replay: 1;\n\tu8 work_pending: 1;\n\tunsigned int n_tables;\n\tlong unsigned int missed;\n\tstruct udp_tunnel_nic_table_entry *entries[0];\n};\n\nstruct udp_tunnel_nic_table_info {\n\tunsigned int n_entries;\n\tunsigned int tunnel_types;\n};\n\nstruct udp_tunnel_nic_shared;\n\nstruct udp_tunnel_nic_info {\n\tint (*set_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tint (*unset_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tint (*sync_table)(struct net_device *, unsigned int);\n\tstruct udp_tunnel_nic_shared *shared;\n\tunsigned int flags;\n\tstruct udp_tunnel_nic_table_info tables[4];\n};\n\nstruct udp_tunnel_nic_ops {\n\tvoid (*get_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tvoid (*set_port_priv)(struct net_device *, unsigned int, unsigned int, u8);\n\tvoid (*add_port)(struct net_device *, struct udp_tunnel_info *);\n\tvoid (*del_port)(struct net_device *, struct udp_tunnel_info *);\n\tvoid (*reset_ntf)(struct net_device *);\n\tsize_t (*dump_size)(struct net_device *, unsigned int);\n\tint (*dump_write)(struct net_device *, unsigned int, struct sk_buff *);\n};\n\nstruct udp_tunnel_nic_shared {\n\tstruct udp_tunnel_nic *udp_tunnel_nic_info;\n\tstruct list_head devices;\n};\n\nstruct udp_tunnel_nic_shared_node {\n\tstruct net_device *dev;\n\tstruct list_head list;\n};\n\nstruct udp_tunnel_nic_table_entry {\n\t__be16 port;\n\tu8 type;\n\tu8 flags;\n\tu16 use_cnt;\n\tu8 hw_priv;\n};\n\ntypedef int (*udp_tunnel_encap_rcv_t)(struct sock *, struct sk_buff *);\n\ntypedef int (*udp_tunnel_encap_err_lookup_t)(struct sock *, struct sk_buff *);\n\ntypedef void (*udp_tunnel_encap_err_rcv_t)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\ntypedef void (*udp_tunnel_encap_destroy_t)(struct sock *);\n\ntypedef struct sk_buff * (*udp_tunnel_gro_receive_t)(struct sock *, struct list_head *, struct sk_buff *);\n\ntypedef int (*udp_tunnel_gro_complete_t)(struct sock *, struct sk_buff *, int);\n\nstruct udp_tunnel_sock_cfg {\n\tvoid *sk_user_data;\n\t__u8 encap_type;\n\tudp_tunnel_encap_rcv_t encap_rcv;\n\tudp_tunnel_encap_err_lookup_t encap_err_lookup;\n\tudp_tunnel_encap_err_rcv_t encap_err_rcv;\n\tudp_tunnel_encap_destroy_t encap_destroy;\n\tudp_tunnel_gro_receive_t gro_receive;\n\tudp_tunnel_gro_complete_t gro_complete;\n};\n\nstruct uevent_sock {\n\tstruct list_head list;\n\tstruct sock *sk;\n};\n\nstruct uffd_msg {\n\t__u8 event;\n\t__u8 reserved1;\n\t__u16 reserved2;\n\t__u32 reserved3;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 flags;\n\t\t\t__u64 address;\n\t\t\tunion {\n\t\t\t\t__u32 ptid;\n\t\t\t} feat;\n\t\t} pagefault;\n\t\tstruct {\n\t\t\t__u32 ufd;\n\t\t} fork;\n\t\tstruct {\n\t\t\t__u64 from;\n\t\t\t__u64 to;\n\t\t\t__u64 len;\n\t\t} remap;\n\t\tstruct {\n\t\t\t__u64 start;\n\t\t\t__u64 end;\n\t\t} remove;\n\t\tstruct {\n\t\t\t__u64 reserved1;\n\t\t\t__u64 reserved2;\n\t\t\t__u64 reserved3;\n\t\t} reserved;\n\t} arg;\n};\n\nstruct uffdio_api {\n\t__u64 api;\n\t__u64 features;\n\t__u64 ioctls;\n};\n\nstruct uffdio_range {\n\t__u64 start;\n\t__u64 len;\n};\n\nstruct uffdio_continue {\n\tstruct uffdio_range range;\n\t__u64 mode;\n\t__s64 mapped;\n};\n\nstruct uffdio_copy {\n\t__u64 dst;\n\t__u64 src;\n\t__u64 len;\n\t__u64 mode;\n\t__s64 copy;\n};\n\nstruct uffdio_move {\n\t__u64 dst;\n\t__u64 src;\n\t__u64 len;\n\t__u64 mode;\n\t__s64 move;\n};\n\nstruct uffdio_poison {\n\tstruct uffdio_range range;\n\t__u64 mode;\n\t__s64 updated;\n};\n\nstruct uffdio_register {\n\tstruct uffdio_range range;\n\t__u64 mode;\n\t__u64 ioctls;\n};\n\nstruct uffdio_writeprotect {\n\tstruct uffdio_range range;\n\t__u64 mode;\n};\n\nstruct uffdio_zeropage {\n\tstruct uffdio_range range;\n\t__u64 mode;\n\t__s64 zeropage;\n};\n\nstruct uioc {\n\tuint8_t signature[16];\n\tuint16_t mb_type;\n\tuint16_t app_type;\n\tuint32_t opcode;\n\tuint32_t adapno;\n\tuint64_t cmdbuf;\n\tuint32_t xferlen;\n\tuint32_t data_dir;\n\tint32_t status;\n\tuint8_t reserved[128];\n\tvoid *user_data;\n\tuint32_t user_data_len;\n\tuint32_t pad_for_64bit_align;\n\tmraid_passthru_t *user_pthru;\n\tmraid_passthru_t *pthru32;\n\tdma_addr_t pthru32_h;\n\tstruct list_head list;\n\tvoid (*done)(struct uioc *);\n\tcaddr_t buf_vaddr;\n\tdma_addr_t buf_paddr;\n\tint8_t pool_index;\n\tuint8_t free_buf;\n\tuint8_t timedout;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n} __attribute__((packed));\n\nstruct uioc_timeout {\n\tstruct timer_list timer;\n\tuioc_t *uioc;\n};\n\nstruct uioctl_t {\n\tu32 inlen;\n\tu32 outlen;\n\tunion {\n\t\tu8 fca[16];\n\t\tstruct {\n\t\t\tu8 opcode;\n\t\t\tu8 subopcode;\n\t\t\tu16 adapno;\n\t\t\tu8 *buffer;\n\t\t\tu32 length;\n\t\t} __attribute__((packed)) fcs;\n\t} ui;\n\tu8 mbox[18];\n\tmega_passthru pthru;\n\tchar *data;\n} __attribute__((packed));\n\nstruct ulist_iterator {\n\tstruct list_head *cur_list;\n};\n\nstruct ulist_node {\n\tu64 val;\n\tu64 aux;\n\tstruct list_head list;\n\tstruct rb_node rb_node;\n};\n\nstruct unallocSpaceEntry {\n\tstruct tag descTag;\n\tstruct icbtag icbTag;\n\t__le32 lengthAllocDescs;\n\tuint8_t allocDescs[0];\n};\n\nstruct uncached_list {\n\tspinlock_t lock;\n\tstruct list_head head;\n};\n\nstruct uncharge_gather {\n\tstruct mem_cgroup *memcg;\n\tlong unsigned int nr_memory;\n\tlong unsigned int pgpgout;\n\tlong unsigned int nr_kmem;\n\tint nid;\n};\n\nstruct uni_pagedict {\n\tu16 **uni_pgdir[32];\n\tlong unsigned int refcount;\n\tlong unsigned int sum;\n\tunsigned char *inverse_translations[4];\n\tu16 *inverse_trans_unicode;\n};\n\nstruct unipair;\n\nstruct unimapdesc {\n\tshort unsigned int entry_ct;\n\tstruct unipair *entries;\n};\n\nstruct unipair {\n\tshort unsigned int unicode;\n\tshort unsigned int fontpos;\n};\n\nstruct unix_address {\n\trefcount_t refcnt;\n\tint len;\n\tstruct sockaddr_un name[0];\n};\n\nstruct unix_domain {\n\tstruct auth_domain h;\n};\n\nstruct unix_edge {\n\tstruct unix_sock *predecessor;\n\tstruct unix_sock *successor;\n\tstruct list_head vertex_entry;\n\tstruct list_head stack_entry;\n};\n\nstruct unix_gid {\n\tstruct cache_head h;\n\tkuid_t uid;\n\tstruct group_info *gi;\n\tstruct callback_head rcu;\n};\n\nstruct unix_skb_parms {\n\tstruct pid *pid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct scm_fp_list *fp;\n\tu32 secid;\n\tu32 consumed;\n};\n\nstruct unix_vertex;\n\nstruct unix_sock {\n\tstruct sock sk;\n\tstruct unix_address *addr;\n\tstruct path path;\n\tstruct mutex iolock;\n\tstruct mutex bindlock;\n\tstruct sock *peer;\n\tstruct sock *listener;\n\tstruct unix_vertex *vertex;\n\tspinlock_t lock;\n\tstruct socket_wq peer_wq;\n\twait_queue_entry_t peer_wake;\n\tstruct scm_stat scm_stat;\n\tstruct sk_buff *oob_skb;\n};\n\nstruct unix_stream_read_state {\n\tint (*recv_actor)(struct sk_buff *, int, int, struct unix_stream_read_state *);\n\tstruct socket *socket;\n\tstruct msghdr *msg;\n\tstruct pipe_inode_info *pipe;\n\tsize_t size;\n\tint flags;\n\tunsigned int splice_flags;\n};\n\nstruct unix_vertex {\n\tstruct list_head edges;\n\tstruct list_head entry;\n\tstruct list_head scc_entry;\n\tlong unsigned int out_degree;\n\tlong unsigned int index;\n\tlong unsigned int scc_index;\n};\n\nstruct unixware_slice {\n\t__le16 s_label;\n\t__le16 s_flags;\n\t__le32 start_sect;\n\t__le32 nr_sects;\n};\n\nstruct unixware_vtoc {\n\t__le32 v_magic;\n\t__le32 v_version;\n\tchar v_name[8];\n\t__le16 v_nslices;\n\t__le16 v_unknown1;\n\t__le32 v_reserved[10];\n\tstruct unixware_slice v_slice[16];\n};\n\nstruct unixware_disklabel {\n\t__le32 d_type;\n\t__le32 d_magic;\n\t__le32 d_version;\n\tchar d_serial[12];\n\t__le32 d_ncylinders;\n\t__le32 d_ntracks;\n\t__le32 d_nsectors;\n\t__le32 d_secsize;\n\t__le32 d_part_start;\n\t__le32 d_unknown1[12];\n\t__le32 d_alt_tbl;\n\t__le32 d_alt_len;\n\t__le32 d_phys_cyl;\n\t__le32 d_phys_trk;\n\t__le32 d_phys_sec;\n\t__le32 d_phys_bytes;\n\t__le32 d_unknown2;\n\t__le32 d_unknown3;\n\t__le32 d_pad[8];\n\tstruct unixware_vtoc vtoc;\n};\n\nstruct unlink_vma_file_batch {\n\tint count;\n\tstruct vm_area_struct *vmas[8];\n};\n\nstruct unwind_state {\n\tchar type;\n\tstruct stack_info stack_info;\n\tstruct task_struct *task;\n\tbool first;\n\tbool error;\n\tbool reset;\n\tint graph_idx;\n\tlong unsigned int sp;\n\tlong unsigned int fp;\n\tlong unsigned int pc;\n\tlong unsigned int ra;\n};\n\nstruct update_classid_context {\n\tu32 classid;\n\tunsigned int batch;\n};\n\nunion upper_chunk {\n\tunion upper_chunk *next;\n\tunion lower_chunk *data[256];\n};\n\nstruct upper_walk_data {\n\tstruct ixgbe_adapter *adapter;\n\tu64 action;\n\tint ifindex;\n\tu8 queue;\n};\n\nstruct uprobe {\n\tstruct rb_node rb_node;\n\trefcount_t ref;\n\tstruct rw_semaphore register_rwsem;\n\tstruct rw_semaphore consumer_rwsem;\n\tstruct list_head pending_list;\n\tstruct list_head consumers;\n\tstruct inode *inode;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n\tloff_t offset;\n\tloff_t ref_ctr_offset;\n\tlong unsigned int flags;\n\tstruct arch_uprobe arch;\n};\n\nstruct uprobe_cpu_buffer {\n\tstruct mutex mutex;\n\tvoid *buf;\n\tint dsize;\n};\n\nstruct uprobe_dispatch_data {\n\tstruct trace_uprobe *tu;\n\tlong unsigned int bp_addr;\n};\n\nstruct uprobe_task {\n\tenum uprobe_task_state state;\n\tunsigned int depth;\n\tstruct return_instance *return_instances;\n\tstruct return_instance *ri_pool;\n\tstruct timer_list ri_timer;\n\tseqcount_t ri_seqcount;\n\tunion {\n\t\tstruct {\n\t\t\tstruct arch_uprobe_task autask;\n\t\t\tlong unsigned int vaddr;\n\t\t};\n\t\tstruct {\n\t\t\tstruct callback_head dup_xol_work;\n\t\t\tlong unsigned int dup_xol_addr;\n\t\t};\n\t};\n\tstruct uprobe *active_uprobe;\n\tlong unsigned int xol_vaddr;\n\tstruct arch_uprobe *auprobe;\n};\n\nstruct uprobe_trace_entry_head {\n\tstruct trace_entry ent;\n\tlong unsigned int vaddr[0];\n};\n\ntypedef void (*usb_complete_t)(struct urb *);\n\nstruct usb_iso_packet_descriptor {\n\tunsigned int offset;\n\tunsigned int length;\n\tunsigned int actual_length;\n\tint status;\n};\n\nstruct usb_anchor;\n\nstruct urb {\n\tstruct kref kref;\n\tint unlinked;\n\tvoid *hcpriv;\n\tatomic_t use_count;\n\tatomic_t reject;\n\tstruct list_head urb_list;\n\tstruct list_head anchor_list;\n\tstruct usb_anchor *anchor;\n\tstruct usb_device *dev;\n\tstruct usb_host_endpoint *ep;\n\tunsigned int pipe;\n\tunsigned int stream_id;\n\tint status;\n\tunsigned int transfer_flags;\n\tvoid *transfer_buffer;\n\tdma_addr_t transfer_dma;\n\tstruct scatterlist *sg;\n\tint num_mapped_sgs;\n\tint num_sgs;\n\tu32 transfer_buffer_length;\n\tu32 actual_length;\n\tunsigned char *setup_packet;\n\tdma_addr_t setup_dma;\n\tint start_frame;\n\tint number_of_packets;\n\tint interval;\n\tint error_count;\n\tvoid *context;\n\tusb_complete_t complete;\n\tstruct usb_iso_packet_descriptor iso_frame_desc[0];\n};\n\nstruct urb_priv {\n\tstruct ed *ed;\n\tu16 length;\n\tu16 td_cnt;\n\tstruct list_head pending;\n\tstruct td *td[0];\n};\n\nstruct xhci_segment;\n\nstruct xhci_td {\n\tstruct list_head td_list;\n\tstruct list_head cancelled_td_list;\n\tint status;\n\tenum xhci_cancelled_td_status cancel_status;\n\tstruct urb *urb;\n\tstruct xhci_segment *start_seg;\n\tunion xhci_trb *start_trb;\n\tstruct xhci_segment *end_seg;\n\tunion xhci_trb *end_trb;\n\tstruct xhci_segment *bounce_seg;\n\tbool urb_length_set;\n\tbool error_mid_td;\n};\n\nstruct urb_priv___2 {\n\tint num_tds;\n\tint num_tds_done;\n\tstruct xhci_td td[0];\n};\n\ntypedef struct urb_priv urb_priv_t;\n\nstruct usage_priority {\n\t__u32 usage;\n\tbool global;\n\tunsigned int slot_overwrite;\n};\n\nstruct usb2_lpm_parameters {\n\tunsigned int besl;\n\tint timeout;\n};\n\nstruct usb3_lpm_parameters {\n\tunsigned int mel;\n\tunsigned int pel;\n\tunsigned int sel;\n\tint timeout;\n};\n\nstruct usb4_port {\n\tstruct device dev;\n\tstruct tb_port *port;\n\tbool can_offline;\n\tbool offline;\n};\n\nstruct usb4_port_margining_params {\n\tenum usb4_margin_sw_error_counter error_counter;\n\tu32 ber_level;\n\tenum usb4_margining_lane lanes;\n\tu32 voltage_time_offset;\n\tbool optional_voltage_offset_range;\n\tbool right_high;\n\tbool upper_eye;\n\tbool time;\n};\n\nstruct usb4_switch_nvm_auth {\n\tstruct icm_usb4_switch_op_response reply;\n\tstruct icm_usb4_switch_op request;\n\tstruct icm *icm;\n};\n\nstruct usb_anchor {\n\tstruct list_head urb_list;\n\twait_queue_head_t wait;\n\tspinlock_t lock;\n\tatomic_t suspend_wakeups;\n\tunsigned int poisoned: 1;\n};\n\nstruct usb_bos_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wTotalLength;\n\t__u8 bNumDeviceCaps;\n} __attribute__((packed));\n\nstruct usb_bus {\n\tstruct device *controller;\n\tstruct device *sysdev;\n\tint busnum;\n\tconst char *bus_name;\n\tu8 uses_pio_for_control;\n\tu8 otg_port;\n\tunsigned int is_b_host: 1;\n\tunsigned int b_hnp_enable: 1;\n\tunsigned int no_stop_on_short: 1;\n\tunsigned int no_sg_constraint: 1;\n\tunsigned int sg_tablesize;\n\tint devnum_next;\n\tstruct mutex devnum_next_mutex;\n\tlong unsigned int devmap[2];\n\tstruct usb_device *root_hub;\n\tstruct usb_bus *hs_companion;\n\tint bandwidth_allocated;\n\tint bandwidth_int_reqs;\n\tint bandwidth_isoc_reqs;\n\tunsigned int resuming_ports;\n\tstruct mon_bus *mon_bus;\n\tint monitored;\n};\n\nstruct usb_cdc_acm_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bmCapabilities;\n};\n\nstruct usb_cdc_call_mgmt_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bmCapabilities;\n\t__u8 bDataInterface;\n};\n\nstruct usb_cdc_country_functional_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 iCountryCodeRelDate;\n\t__le16 wCountyCode0;\n};\n\nstruct usb_cdc_dmm_desc {\n\t__u8 bFunctionLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubtype;\n\t__u16 bcdVersion;\n\t__le16 wMaxCommand;\n} __attribute__((packed));\n\nstruct usb_cdc_ether_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 iMACAddress;\n\t__le32 bmEthernetStatistics;\n\t__le16 wMaxSegmentSize;\n\t__le16 wNumberMCFilters;\n\t__u8 bNumberPowerFilters;\n} __attribute__((packed));\n\nstruct usb_cdc_header_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdCDC;\n} __attribute__((packed));\n\nstruct usb_cdc_mbim_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdMBIMVersion;\n\t__le16 wMaxControlMessage;\n\t__u8 bNumberFilters;\n\t__u8 bMaxFilterSize;\n\t__le16 wMaxSegmentSize;\n\t__u8 bmNetworkCapabilities;\n} __attribute__((packed));\n\nstruct usb_cdc_mbim_extended_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdMBIMExtendedVersion;\n\t__u8 bMaxOutstandingCommandMessages;\n\t__le16 wMTU;\n} __attribute__((packed));\n\nstruct usb_cdc_mdlm_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdVersion;\n\t__u8 bGUID[16];\n} __attribute__((packed));\n\nstruct usb_cdc_mdlm_detail_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bGuidDescriptorType;\n\t__u8 bDetailData[0];\n};\n\nstruct usb_cdc_ncm_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdNcmVersion;\n\t__u8 bmNetworkCapabilities;\n} __attribute__((packed));\n\nstruct usb_cdc_network_terminal_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bEntityId;\n\t__u8 iName;\n\t__u8 bChannelIndex;\n\t__u8 bPhysicalInterface;\n};\n\nstruct usb_cdc_obex_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdVersion;\n} __attribute__((packed));\n\nstruct usb_cdc_union_desc;\n\nstruct usb_cdc_parsed_header {\n\tstruct usb_cdc_union_desc *usb_cdc_union_desc;\n\tstruct usb_cdc_header_desc *usb_cdc_header_desc;\n\tstruct usb_cdc_call_mgmt_descriptor *usb_cdc_call_mgmt_descriptor;\n\tstruct usb_cdc_acm_descriptor *usb_cdc_acm_descriptor;\n\tstruct usb_cdc_country_functional_desc *usb_cdc_country_functional_desc;\n\tstruct usb_cdc_network_terminal_desc *usb_cdc_network_terminal_desc;\n\tstruct usb_cdc_ether_desc *usb_cdc_ether_desc;\n\tstruct usb_cdc_dmm_desc *usb_cdc_dmm_desc;\n\tstruct usb_cdc_mdlm_desc *usb_cdc_mdlm_desc;\n\tstruct usb_cdc_mdlm_detail_desc *usb_cdc_mdlm_detail_desc;\n\tstruct usb_cdc_obex_desc *usb_cdc_obex_desc;\n\tstruct usb_cdc_ncm_desc *usb_cdc_ncm_desc;\n\tstruct usb_cdc_mbim_desc *usb_cdc_mbim_desc;\n\tstruct usb_cdc_mbim_extended_desc *usb_cdc_mbim_extended_desc;\n\tbool phonet_magic_present;\n};\n\nstruct usb_cdc_union_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bMasterInterface0;\n\t__u8 bSlaveInterface0;\n};\n\nstruct usb_charger_current {\n\tunsigned int sdp_min;\n\tunsigned int sdp_max;\n\tunsigned int dcp_min;\n\tunsigned int dcp_max;\n\tunsigned int cdp_min;\n\tunsigned int cdp_max;\n\tunsigned int aca_min;\n\tunsigned int aca_max;\n};\n\nstruct usb_class_driver {\n\tchar *name;\n\tchar * (*devnode)(const struct device *, umode_t *);\n\tconst struct file_operations *fops;\n\tint minor_base;\n};\n\nstruct usb_config_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wTotalLength;\n\t__u8 bNumInterfaces;\n\t__u8 bConfigurationValue;\n\t__u8 iConfiguration;\n\t__u8 bmAttributes;\n\t__u8 bMaxPower;\n} __attribute__((packed));\n\nstruct usb_ctrlrequest {\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__le16 wValue;\n\t__le16 wIndex;\n\t__le16 wLength;\n};\n\nstruct usb_dcd_config_params {\n\t__u8 bU1devExitLat;\n\t__le16 bU2DevExitLat;\n\t__u8 besl_baseline;\n\t__u8 besl_deep;\n};\n\nstruct usb_descriptor_header {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n};\n\nstruct usb_dev_cap_header {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n};\n\nstruct usb_dev_state {\n\tstruct list_head list;\n\tstruct usb_device *dev;\n\tstruct file *file;\n\tspinlock_t lock;\n\tstruct list_head async_pending;\n\tstruct list_head async_completed;\n\tstruct list_head memory_list;\n\twait_queue_head_t wait;\n\twait_queue_head_t wait_for_resume;\n\tunsigned int discsignr;\n\tstruct pid *disc_pid;\n\tconst struct cred *cred;\n\tsigval_t disccontext;\n\tlong unsigned int ifclaimed;\n\tu32 disabled_bulk_eps;\n\tlong unsigned int interface_allowed_mask;\n\tint not_yet_resumed;\n\tbool suspend_allowed;\n\tbool privileges_dropped;\n};\n\nstruct usb_endpoint_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bEndpointAddress;\n\t__u8 bmAttributes;\n\t__le16 wMaxPacketSize;\n\t__u8 bInterval;\n\t__u8 bRefresh;\n\t__u8 bSynchAddress;\n} __attribute__((packed));\n\nstruct usb_ss_ep_comp_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bMaxBurst;\n\t__u8 bmAttributes;\n\t__le16 wBytesPerInterval;\n};\n\nstruct usb_ssp_isoc_ep_comp_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wReseved;\n\t__le32 dwBytesPerInterval;\n};\n\nstruct usb_host_endpoint {\n\tstruct usb_endpoint_descriptor desc;\n\tstruct usb_ss_ep_comp_descriptor ss_ep_comp;\n\tstruct usb_ssp_isoc_ep_comp_descriptor ssp_isoc_ep_comp;\n\tlong: 0;\n\tstruct list_head urb_list;\n\tvoid *hcpriv;\n\tstruct ep_device *ep_dev;\n\tunsigned char *extra;\n\tint extralen;\n\tint enabled;\n\tint streams;\n\tlong: 0;\n} __attribute__((packed));\n\nstruct usb_device_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdUSB;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bMaxPacketSize0;\n\t__le16 idVendor;\n\t__le16 idProduct;\n\t__le16 bcdDevice;\n\t__u8 iManufacturer;\n\t__u8 iProduct;\n\t__u8 iSerialNumber;\n\t__u8 bNumConfigurations;\n};\n\nstruct usb_host_bos;\n\nstruct usb_host_config;\n\nstruct usb_device {\n\tint devnum;\n\tchar devpath[16];\n\tu32 route;\n\tenum usb_device_state state;\n\tenum usb_device_speed speed;\n\tunsigned int rx_lanes;\n\tunsigned int tx_lanes;\n\tenum usb_ssp_rate ssp_rate;\n\tstruct usb_tt *tt;\n\tint ttport;\n\tunsigned int toggle[2];\n\tstruct usb_device *parent;\n\tstruct usb_bus *bus;\n\tstruct usb_host_endpoint ep0;\n\tstruct device dev;\n\tstruct usb_device_descriptor descriptor;\n\tstruct usb_host_bos *bos;\n\tstruct usb_host_config *config;\n\tstruct usb_host_config *actconfig;\n\tstruct usb_host_endpoint *ep_in[16];\n\tstruct usb_host_endpoint *ep_out[16];\n\tchar **rawdescriptors;\n\tshort unsigned int bus_mA;\n\tu8 portnum;\n\tu8 level;\n\tu8 devaddr;\n\tunsigned int can_submit: 1;\n\tunsigned int persist_enabled: 1;\n\tunsigned int reset_in_progress: 1;\n\tunsigned int have_langid: 1;\n\tunsigned int authorized: 1;\n\tunsigned int authenticated: 1;\n\tunsigned int lpm_capable: 1;\n\tunsigned int lpm_devinit_allow: 1;\n\tunsigned int usb2_hw_lpm_capable: 1;\n\tunsigned int usb2_hw_lpm_besl_capable: 1;\n\tunsigned int usb2_hw_lpm_enabled: 1;\n\tunsigned int usb2_hw_lpm_allowed: 1;\n\tunsigned int usb3_lpm_u1_enabled: 1;\n\tunsigned int usb3_lpm_u2_enabled: 1;\n\tint string_langid;\n\tchar *product;\n\tchar *manufacturer;\n\tchar *serial;\n\tstruct list_head filelist;\n\tint maxchild;\n\tu32 quirks;\n\tatomic_t urbnum;\n\tlong unsigned int active_duration;\n\tlong unsigned int connect_time;\n\tunsigned int do_remote_wakeup: 1;\n\tunsigned int reset_resume: 1;\n\tunsigned int port_is_suspended: 1;\n\tenum usb_link_tunnel_mode tunnel_mode;\n\tint slot_id;\n\tstruct usb2_lpm_parameters l1_params;\n\tstruct usb3_lpm_parameters u1_params;\n\tstruct usb3_lpm_parameters u2_params;\n\tunsigned int lpm_disable_count;\n\tu16 hub_delay;\n\tunsigned int use_generic_driver: 1;\n};\n\nstruct usb_device_id;\n\nstruct usb_device_driver {\n\tconst char *name;\n\tbool (*match)(struct usb_device *);\n\tint (*probe)(struct usb_device *);\n\tvoid (*disconnect)(struct usb_device *);\n\tint (*suspend)(struct usb_device *, pm_message_t);\n\tint (*resume)(struct usb_device *, pm_message_t);\n\tint (*choose_configuration)(struct usb_device *);\n\tconst struct attribute_group **dev_groups;\n\tstruct device_driver driver;\n\tconst struct usb_device_id *id_table;\n\tunsigned int supports_autosuspend: 1;\n\tunsigned int generic_subclass: 1;\n};\n\nstruct usb_device_id {\n\t__u16 match_flags;\n\t__u16 idVendor;\n\t__u16 idProduct;\n\t__u16 bcdDevice_lo;\n\t__u16 bcdDevice_hi;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bInterfaceClass;\n\t__u8 bInterfaceSubClass;\n\t__u8 bInterfaceProtocol;\n\t__u8 bInterfaceNumber;\n\tkernel_ulong_t driver_info;\n};\n\nstruct usb_dynids {\n\tstruct list_head list;\n};\n\nstruct usb_interface;\n\nstruct usb_driver {\n\tconst char *name;\n\tint (*probe)(struct usb_interface *, const struct usb_device_id *);\n\tvoid (*disconnect)(struct usb_interface *);\n\tint (*unlocked_ioctl)(struct usb_interface *, unsigned int, void *);\n\tint (*suspend)(struct usb_interface *, pm_message_t);\n\tint (*resume)(struct usb_interface *);\n\tint (*reset_resume)(struct usb_interface *);\n\tint (*pre_reset)(struct usb_interface *);\n\tint (*post_reset)(struct usb_interface *);\n\tvoid (*shutdown)(struct usb_interface *);\n\tconst struct usb_device_id *id_table;\n\tconst struct attribute_group **dev_groups;\n\tstruct usb_dynids dynids;\n\tstruct device_driver driver;\n\tunsigned int no_dynamic_id: 1;\n\tunsigned int supports_autosuspend: 1;\n\tunsigned int disable_hub_initiated_lpm: 1;\n\tunsigned int soft_unbind: 1;\n};\n\nstruct usb_dynid {\n\tstruct list_head node;\n\tstruct usb_device_id id;\n};\n\nstruct usb_ehci_pdata {\n\tint caps_offset;\n\tunsigned int has_tt: 1;\n\tunsigned int has_synopsys_hc_bug: 1;\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int no_io_watchdog: 1;\n\tunsigned int reset_on_resume: 1;\n\tunsigned int dma_mask_64: 1;\n\tunsigned int spurious_oc: 1;\n\tint (*power_on)(struct platform_device *);\n\tvoid (*power_off)(struct platform_device *);\n\tvoid (*power_suspend)(struct platform_device *);\n\tint (*pre_setup)(struct usb_hcd *);\n};\n\nstruct usb_ep_caps {\n\tunsigned int type_control: 1;\n\tunsigned int type_iso: 1;\n\tunsigned int type_bulk: 1;\n\tunsigned int type_int: 1;\n\tunsigned int dir_in: 1;\n\tunsigned int dir_out: 1;\n};\n\nstruct usb_ep_ops;\n\nstruct usb_ep {\n\tvoid *driver_data;\n\tconst char *name;\n\tconst struct usb_ep_ops *ops;\n\tconst struct usb_endpoint_descriptor *desc;\n\tconst struct usb_ss_ep_comp_descriptor *comp_desc;\n\tstruct list_head ep_list;\n\tstruct usb_ep_caps caps;\n\tbool claimed;\n\tbool enabled;\n\tunsigned int mult: 2;\n\tunsigned int maxburst: 5;\n\tu8 address;\n\tu16 maxpacket;\n\tu16 maxpacket_limit;\n\tu16 max_streams;\n};\n\nstruct usb_ep_ops {\n\tint (*enable)(struct usb_ep *, const struct usb_endpoint_descriptor *);\n\tint (*disable)(struct usb_ep *);\n\tvoid (*dispose)(struct usb_ep *);\n\tstruct usb_request * (*alloc_request)(struct usb_ep *, gfp_t);\n\tvoid (*free_request)(struct usb_ep *, struct usb_request *);\n\tint (*queue)(struct usb_ep *, struct usb_request *, gfp_t);\n\tint (*dequeue)(struct usb_ep *, struct usb_request *);\n\tint (*set_halt)(struct usb_ep *, int);\n\tint (*set_wedge)(struct usb_ep *);\n\tint (*fifo_status)(struct usb_ep *);\n\tvoid (*fifo_flush)(struct usb_ep *);\n};\n\nstruct usb_ext_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__le32 bmAttributes;\n} __attribute__((packed));\n\nstruct usb_udc;\n\nstruct usb_gadget_ops;\n\nstruct usb_gadget {\n\tstruct work_struct work;\n\tstruct usb_udc *udc;\n\tconst struct usb_gadget_ops *ops;\n\tstruct usb_ep *ep0;\n\tstruct list_head ep_list;\n\tenum usb_device_speed speed;\n\tenum usb_device_speed max_speed;\n\tenum usb_ssp_rate ssp_rate;\n\tenum usb_ssp_rate max_ssp_rate;\n\tenum usb_device_state state;\n\tconst char *name;\n\tstruct device dev;\n\tunsigned int isoch_delay;\n\tunsigned int out_epnum;\n\tunsigned int in_epnum;\n\tunsigned int mA;\n\tstruct usb_otg_caps *otg_caps;\n\tunsigned int sg_supported: 1;\n\tunsigned int is_otg: 1;\n\tunsigned int is_a_peripheral: 1;\n\tunsigned int b_hnp_enable: 1;\n\tunsigned int a_hnp_support: 1;\n\tunsigned int a_alt_hnp_support: 1;\n\tunsigned int hnp_polling_support: 1;\n\tunsigned int host_request_flag: 1;\n\tunsigned int quirk_ep_out_aligned_size: 1;\n\tunsigned int quirk_altset_not_supp: 1;\n\tunsigned int quirk_stall_not_supp: 1;\n\tunsigned int quirk_zlp_not_supp: 1;\n\tunsigned int quirk_avoids_skb_reserve: 1;\n\tunsigned int is_selfpowered: 1;\n\tunsigned int deactivated: 1;\n\tunsigned int connected: 1;\n\tunsigned int lpm_capable: 1;\n\tunsigned int wakeup_capable: 1;\n\tunsigned int wakeup_armed: 1;\n\tint irq;\n\tint id_number;\n};\n\nstruct usb_gadget_driver {\n\tchar *function;\n\tenum usb_device_speed max_speed;\n\tint (*bind)(struct usb_gadget *, struct usb_gadget_driver *);\n\tvoid (*unbind)(struct usb_gadget *);\n\tint (*setup)(struct usb_gadget *, const struct usb_ctrlrequest *);\n\tvoid (*disconnect)(struct usb_gadget *);\n\tvoid (*suspend)(struct usb_gadget *);\n\tvoid (*resume)(struct usb_gadget *);\n\tvoid (*reset)(struct usb_gadget *);\n\tstruct device_driver driver;\n\tchar *udc_name;\n\tunsigned int match_existing_only: 1;\n\tbool is_bound: 1;\n};\n\nstruct usb_gadget_ops {\n\tint (*get_frame)(struct usb_gadget *);\n\tint (*wakeup)(struct usb_gadget *);\n\tint (*func_wakeup)(struct usb_gadget *, int);\n\tint (*set_remote_wakeup)(struct usb_gadget *, int);\n\tint (*set_selfpowered)(struct usb_gadget *, int);\n\tint (*vbus_session)(struct usb_gadget *, int);\n\tint (*vbus_draw)(struct usb_gadget *, unsigned int);\n\tint (*pullup)(struct usb_gadget *, int);\n\tint (*ioctl)(struct usb_gadget *, unsigned int, long unsigned int);\n\tvoid (*get_config_params)(struct usb_gadget *, struct usb_dcd_config_params *);\n\tint (*udc_start)(struct usb_gadget *, struct usb_gadget_driver *);\n\tint (*udc_stop)(struct usb_gadget *);\n\tvoid (*udc_set_speed)(struct usb_gadget *, enum usb_device_speed);\n\tvoid (*udc_set_ssp_rate)(struct usb_gadget *, enum usb_ssp_rate);\n\tvoid (*udc_async_callbacks)(struct usb_gadget *, bool);\n\tstruct usb_ep * (*match_ep)(struct usb_gadget *, struct usb_endpoint_descriptor *, struct usb_ss_ep_comp_descriptor *);\n\tint (*check_config)(struct usb_gadget *);\n};\n\nstruct usb_phy_roothub;\n\nstruct usb_hcd {\n\tstruct usb_bus self;\n\tstruct kref kref;\n\tconst char *product_desc;\n\tint speed;\n\tchar irq_descr[24];\n\tstruct timer_list rh_timer;\n\tstruct urb *status_urb;\n\tstruct work_struct wakeup_work;\n\tstruct work_struct died_work;\n\tconst struct hc_driver *driver;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_phy_roothub *phy_roothub;\n\tlong unsigned int flags;\n\tenum usb_dev_authorize_policy dev_policy;\n\tunsigned int rh_registered: 1;\n\tunsigned int rh_pollable: 1;\n\tunsigned int msix_enabled: 1;\n\tunsigned int msi_enabled: 1;\n\tunsigned int skip_phy_initialization: 1;\n\tunsigned int uses_new_polling: 1;\n\tunsigned int has_tt: 1;\n\tunsigned int amd_resume_bug: 1;\n\tunsigned int can_do_streams: 1;\n\tunsigned int tpl_support: 1;\n\tunsigned int cant_recv_wakeups: 1;\n\tunsigned int irq;\n\tvoid *regs;\n\tresource_size_t rsrc_start;\n\tresource_size_t rsrc_len;\n\tunsigned int power_budget;\n\tstruct giveback_urb_bh high_prio_bh;\n\tstruct giveback_urb_bh low_prio_bh;\n\tstruct mutex *address0_mutex;\n\tstruct mutex *bandwidth_mutex;\n\tstruct usb_hcd *shared_hcd;\n\tstruct usb_hcd *primary_hcd;\n\tstruct dma_pool *pool[4];\n\tint state;\n\tstruct gen_pool *localmem_pool;\n\tlong unsigned int hcd_priv[0];\n};\n\nstruct usb_ss_cap_descriptor;\n\nstruct usb_ssp_cap_descriptor;\n\nstruct usb_ss_container_id_descriptor;\n\nstruct usb_ptm_cap_descriptor;\n\nstruct usb_host_bos {\n\tstruct usb_bos_descriptor *desc;\n\tstruct usb_ext_cap_descriptor *ext_cap;\n\tstruct usb_ss_cap_descriptor *ss_cap;\n\tstruct usb_ssp_cap_descriptor *ssp_cap;\n\tstruct usb_ss_container_id_descriptor *ss_id;\n\tstruct usb_ptm_cap_descriptor *ptm_cap;\n};\n\nstruct usb_interface_assoc_descriptor;\n\nstruct usb_interface_cache;\n\nstruct usb_host_config {\n\tstruct usb_config_descriptor desc;\n\tchar *string;\n\tstruct usb_interface_assoc_descriptor *intf_assoc[16];\n\tstruct usb_interface *interface[32];\n\tstruct usb_interface_cache *intf_cache[32];\n\tunsigned char *extra;\n\tint extralen;\n};\n\nstruct usb_interface_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bInterfaceNumber;\n\t__u8 bAlternateSetting;\n\t__u8 bNumEndpoints;\n\t__u8 bInterfaceClass;\n\t__u8 bInterfaceSubClass;\n\t__u8 bInterfaceProtocol;\n\t__u8 iInterface;\n};\n\nstruct usb_host_interface {\n\tstruct usb_interface_descriptor desc;\n\tint extralen;\n\tunsigned char *extra;\n\tstruct usb_host_endpoint *endpoint;\n\tchar *string;\n};\n\nstruct usb_hub_status {\n\t__le16 wHubStatus;\n\t__le16 wHubChange;\n};\n\nstruct usb_port_status {\n\t__le16 wPortStatus;\n\t__le16 wPortChange;\n\t__le32 dwExtPortStatus;\n};\n\nstruct usb_tt {\n\tstruct usb_device *hub;\n\tint multi;\n\tunsigned int think_time;\n\tvoid *hcpriv;\n\tspinlock_t lock;\n\tstruct list_head clear_list;\n\tstruct work_struct clear_work;\n};\n\nstruct usb_hub_descriptor;\n\nstruct usb_port;\n\nstruct usb_hub {\n\tstruct device *intfdev;\n\tstruct usb_device *hdev;\n\tstruct kref kref;\n\tstruct urb *urb;\n\tu8 (*buffer)[8];\n\tunion {\n\t\tstruct usb_hub_status hub;\n\t\tstruct usb_port_status port;\n\t} *status;\n\tstruct mutex status_mutex;\n\tint error;\n\tint nerrors;\n\tlong unsigned int event_bits[1];\n\tlong unsigned int change_bits[1];\n\tlong unsigned int removed_bits[1];\n\tlong unsigned int wakeup_bits[1];\n\tlong unsigned int power_bits[1];\n\tlong unsigned int child_usage_bits[1];\n\tlong unsigned int warm_reset_bits[1];\n\tstruct usb_hub_descriptor *descriptor;\n\tstruct usb_tt tt;\n\tunsigned int mA_per_port;\n\tunsigned int wakeup_enabled_descendants;\n\tunsigned int limited_power: 1;\n\tunsigned int quiescing: 1;\n\tunsigned int disconnected: 1;\n\tunsigned int in_reset: 1;\n\tunsigned int quirk_disable_autosuspend: 1;\n\tunsigned int quirk_check_port_auto_suspend: 1;\n\tunsigned int has_indicators: 1;\n\tu8 indicator[31];\n\tstruct delayed_work leds;\n\tstruct delayed_work init_work;\n\tstruct work_struct events;\n\tspinlock_t irq_urb_lock;\n\tstruct timer_list irq_urb_retry;\n\tstruct usb_port **ports;\n\tstruct list_head onboard_devs;\n};\n\nstruct usb_hub_descriptor {\n\t__u8 bDescLength;\n\t__u8 bDescriptorType;\n\t__u8 bNbrPorts;\n\t__le16 wHubCharacteristics;\n\t__u8 bPwrOn2PwrGood;\n\t__u8 bHubContrCurrent;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 DeviceRemovable[4];\n\t\t\t__u8 PortPwrCtrlMask[4];\n\t\t} hs;\n\t\tstruct {\n\t\t\t__u8 bHubHdrDecLat;\n\t\t\t__le16 wHubDelay;\n\t\t\t__le16 DeviceRemovable;\n\t\t} __attribute__((packed)) ss;\n\t} u;\n} __attribute__((packed));\n\nstruct usb_interface {\n\tstruct usb_host_interface *altsetting;\n\tstruct usb_host_interface *cur_altsetting;\n\tunsigned int num_altsetting;\n\tstruct usb_interface_assoc_descriptor *intf_assoc;\n\tint minor;\n\tenum usb_interface_condition condition;\n\tunsigned int sysfs_files_created: 1;\n\tunsigned int ep_devs_created: 1;\n\tunsigned int unregistering: 1;\n\tunsigned int needs_remote_wakeup: 1;\n\tunsigned int needs_altsetting0: 1;\n\tunsigned int needs_binding: 1;\n\tunsigned int resetting_device: 1;\n\tunsigned int authorized: 1;\n\tenum usb_wireless_status wireless_status;\n\tstruct work_struct wireless_status_work;\n\tstruct device dev;\n\tstruct device *usb_dev;\n\tstruct work_struct reset_ws;\n};\n\nstruct usb_interface_assoc_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bFirstInterface;\n\t__u8 bInterfaceCount;\n\t__u8 bFunctionClass;\n\t__u8 bFunctionSubClass;\n\t__u8 bFunctionProtocol;\n\t__u8 iFunction;\n};\n\nstruct usb_interface_cache {\n\tunsigned int num_altsetting;\n\tstruct kref ref;\n\tstruct usb_host_interface altsetting[0];\n};\n\nstruct usb_memory {\n\tstruct list_head memlist;\n\tint vma_use_count;\n\tint urb_use_count;\n\tu32 size;\n\tvoid *mem;\n\tdma_addr_t dma_handle;\n\tlong unsigned int vm_start;\n\tstruct usb_dev_state *ps;\n};\n\nstruct usb_mon_operations {\n\tvoid (*urb_submit)(struct usb_bus *, struct urb *);\n\tvoid (*urb_submit_error)(struct usb_bus *, struct urb *, int);\n\tvoid (*urb_complete)(struct usb_bus *, struct urb *, int);\n};\n\nstruct usb_ohci_pdata {\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int no_big_frame_no: 1;\n\tunsigned int num_ports;\n\tint (*power_on)(struct platform_device *);\n\tvoid (*power_off)(struct platform_device *);\n\tvoid (*power_suspend)(struct platform_device *);\n};\n\nstruct usb_otg {\n\tu8 default_a;\n\tstruct phy *phy;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_bus *host;\n\tstruct usb_gadget *gadget;\n\tenum usb_otg_state state;\n\tint (*set_host)(struct usb_otg *, struct usb_bus *);\n\tint (*set_peripheral)(struct usb_otg *, struct usb_gadget *);\n\tint (*set_vbus)(struct usb_otg *, bool);\n\tint (*start_srp)(struct usb_otg *);\n\tint (*start_hnp)(struct usb_otg *);\n};\n\nstruct usb_otg_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bmAttributes;\n};\n\nstruct extcon_dev;\n\nstruct usb_phy_io_ops;\n\nstruct usb_phy {\n\tstruct device *dev;\n\tconst char *label;\n\tunsigned int flags;\n\tenum usb_phy_type type;\n\tenum usb_phy_events last_event;\n\tstruct usb_otg *otg;\n\tstruct device *io_dev;\n\tstruct usb_phy_io_ops *io_ops;\n\tvoid *io_priv;\n\tstruct extcon_dev *edev;\n\tstruct extcon_dev *id_edev;\n\tstruct notifier_block vbus_nb;\n\tstruct notifier_block id_nb;\n\tstruct notifier_block type_nb;\n\tenum usb_charger_type chg_type;\n\tenum usb_charger_state chg_state;\n\tstruct usb_charger_current chg_cur;\n\tstruct work_struct chg_work;\n\tstruct atomic_notifier_head notifier;\n\tu16 port_status;\n\tu16 port_change;\n\tstruct list_head head;\n\tint (*init)(struct usb_phy *);\n\tvoid (*shutdown)(struct usb_phy *);\n\tint (*set_vbus)(struct usb_phy *, int);\n\tint (*set_power)(struct usb_phy *, unsigned int);\n\tint (*set_suspend)(struct usb_phy *, int);\n\tint (*set_wakeup)(struct usb_phy *, bool);\n\tint (*notify_connect)(struct usb_phy *, enum usb_device_speed);\n\tint (*notify_disconnect)(struct usb_phy *, enum usb_device_speed);\n\tenum usb_charger_type (*charger_detect)(struct usb_phy *);\n};\n\nstruct usb_phy_io_ops {\n\tint (*read)(struct usb_phy *, u32);\n\tint (*write)(struct usb_phy *, u32, u32);\n};\n\nstruct usb_phy_roothub {\n\tstruct phy *phy;\n\tstruct list_head list;\n};\n\nstruct usb_port {\n\tstruct usb_device *child;\n\tstruct device dev;\n\tstruct usb_dev_state *port_owner;\n\tstruct usb_port *peer;\n\tstruct typec_connector *connector;\n\tstruct dev_pm_qos_request *req;\n\tenum usb_port_connect_type connect_type;\n\tenum usb_device_state state;\n\tstruct kernfs_node *state_kn;\n\tusb_port_location_t location;\n\tstruct mutex status_lock;\n\tu32 over_current_count;\n\tu8 portnum;\n\tu32 quirks;\n\tunsigned int early_stop: 1;\n\tunsigned int ignore_event: 1;\n\tunsigned int is_superspeed: 1;\n\tunsigned int usb3_lpm_u1_permit: 1;\n\tunsigned int usb3_lpm_u2_permit: 1;\n};\n\nstruct usb_ptm_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n};\n\nstruct usb_qualifier_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdUSB;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bMaxPacketSize0;\n\t__u8 bNumConfigurations;\n\t__u8 bRESERVED;\n};\n\nstruct usb_request {\n\tvoid *buf;\n\tunsigned int length;\n\tdma_addr_t dma;\n\tstruct scatterlist *sg;\n\tunsigned int num_sgs;\n\tunsigned int num_mapped_sgs;\n\tunsigned int stream_id: 16;\n\tunsigned int is_last: 1;\n\tunsigned int no_interrupt: 1;\n\tunsigned int zero: 1;\n\tunsigned int short_not_ok: 1;\n\tunsigned int dma_mapped: 1;\n\tunsigned int sg_was_mapped: 1;\n\tvoid (*complete)(struct usb_ep *, struct usb_request *);\n\tvoid *context;\n\tstruct list_head list;\n\tunsigned int frame_number;\n\tint status;\n\tunsigned int actual;\n};\n\ntypedef int (*usb_role_switch_set_t)(struct usb_role_switch *, enum usb_role);\n\ntypedef enum usb_role (*usb_role_switch_get_t)(struct usb_role_switch *);\n\nstruct usb_role_switch {\n\tstruct device dev;\n\tstruct lock_class_key key;\n\tstruct mutex lock;\n\tstruct module *module;\n\tenum usb_role role;\n\tbool registered;\n\tstruct device *usb2_port;\n\tstruct device *usb3_port;\n\tstruct device *udc;\n\tusb_role_switch_set_t set;\n\tusb_role_switch_get_t get;\n\tbool allow_userspace_control;\n};\n\nstruct usb_role_switch_desc {\n\tstruct fwnode_handle *fwnode;\n\tstruct device *usb2_port;\n\tstruct device *usb3_port;\n\tstruct device *udc;\n\tusb_role_switch_set_t set;\n\tusb_role_switch_get_t get;\n\tbool allow_userspace_control;\n\tvoid *driver_data;\n\tconst char *name;\n};\n\nstruct usb_set_sel_req {\n\t__u8 u1_sel;\n\t__u8 u1_pel;\n\t__le16 u2_sel;\n\t__le16 u2_pel;\n};\n\nstruct usb_sg_request {\n\tint status;\n\tsize_t bytes;\n\tspinlock_t lock;\n\tstruct usb_device *dev;\n\tint pipe;\n\tint entries;\n\tstruct urb **urbs;\n\tint count;\n\tstruct completion complete;\n};\n\nstruct usb_ss_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bmAttributes;\n\t__le16 wSpeedSupported;\n\t__u8 bFunctionalitySupport;\n\t__u8 bU1devExitLat;\n\t__le16 bU2DevExitLat;\n};\n\nstruct usb_ss_container_id_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bReserved;\n\t__u8 ContainerID[16];\n};\n\nstruct usb_ssp_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bReserved;\n\t__le32 bmAttributes;\n\t__le16 wFunctionalitySupport;\n\t__le16 wReserved;\n\tunion {\n\t\t__le32 legacy_padding;\n\t\tstruct {\n\t\t\tstruct {} __empty_bmSublinkSpeedAttr;\n\t\t\t__le32 bmSublinkSpeedAttr[0];\n\t\t};\n\t};\n};\n\nstruct usb_tt_clear {\n\tstruct list_head clear_list;\n\tunsigned int tt;\n\tu16 devinfo;\n\tstruct usb_hcd *hcd;\n\tstruct usb_host_endpoint *ep;\n};\n\nstruct usb_udc {\n\tstruct usb_gadget_driver *driver;\n\tstruct usb_gadget *gadget;\n\tstruct device dev;\n\tstruct list_head list;\n\tbool vbus;\n\tbool started;\n\tbool allow_connect;\n\tstruct work_struct vbus_work;\n\tstruct mutex connect_lock;\n};\n\nstruct usbdevfs_bulktransfer {\n\tunsigned int ep;\n\tunsigned int len;\n\tunsigned int timeout;\n\tvoid *data;\n};\n\nstruct usbdevfs_connectinfo {\n\tunsigned int devnum;\n\tunsigned char slow;\n};\n\nstruct usbdevfs_conninfo_ex {\n\t__u32 size;\n\t__u32 busnum;\n\t__u32 devnum;\n\t__u32 speed;\n\t__u8 num_ports;\n\t__u8 ports[7];\n};\n\nstruct usbdevfs_ctrltransfer {\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__u16 wValue;\n\t__u16 wIndex;\n\t__u16 wLength;\n\t__u32 timeout;\n\tvoid *data;\n};\n\nstruct usbdevfs_disconnect_claim {\n\tunsigned int interface;\n\tunsigned int flags;\n\tchar driver[256];\n};\n\nstruct usbdevfs_disconnectsignal {\n\tunsigned int signr;\n\tvoid *context;\n};\n\nstruct usbdevfs_getdriver {\n\tunsigned int interface;\n\tchar driver[256];\n};\n\nstruct usbdevfs_hub_portinfo {\n\tchar nports;\n\tchar port[127];\n};\n\nstruct usbdevfs_ioctl {\n\tint ifno;\n\tint ioctl_code;\n\tvoid *data;\n};\n\nstruct usbdevfs_iso_packet_desc {\n\tunsigned int length;\n\tunsigned int actual_length;\n\tunsigned int status;\n};\n\nstruct usbdevfs_setinterface {\n\tunsigned int interface;\n\tunsigned int altsetting;\n};\n\nstruct usbdevfs_streams {\n\tunsigned int num_streams;\n\tunsigned int num_eps;\n\tunsigned char eps[0];\n};\n\nstruct usbdevfs_urb {\n\tunsigned char type;\n\tunsigned char endpoint;\n\tint status;\n\tunsigned int flags;\n\tvoid *buffer;\n\tint buffer_length;\n\tint actual_length;\n\tint start_frame;\n\tunion {\n\t\tint number_of_packets;\n\t\tunsigned int stream_id;\n\t};\n\tint error_count;\n\tunsigned int signr;\n\tvoid *usercontext;\n\tstruct usbdevfs_iso_packet_desc iso_frame_desc[0];\n};\n\nstruct usbhid_device {\n\tstruct hid_device *hid;\n\tstruct usb_interface *intf;\n\tint ifnum;\n\tunsigned int bufsize;\n\tstruct urb *urbin;\n\tchar *inbuf;\n\tdma_addr_t inbuf_dma;\n\tstruct urb *urbctrl;\n\tstruct usb_ctrlrequest *cr;\n\tstruct hid_control_fifo ctrl[256];\n\tunsigned char ctrlhead;\n\tunsigned char ctrltail;\n\tchar *ctrlbuf;\n\tdma_addr_t ctrlbuf_dma;\n\tlong unsigned int last_ctrl;\n\tstruct urb *urbout;\n\tstruct hid_output_fifo out[256];\n\tunsigned char outhead;\n\tunsigned char outtail;\n\tchar *outbuf;\n\tdma_addr_t outbuf_dma;\n\tlong unsigned int last_out;\n\tstruct mutex mutex;\n\tspinlock_t lock;\n\tlong unsigned int iofl;\n\tstruct timer_list io_retry;\n\tlong unsigned int stop_retry;\n\tunsigned int retry_delay;\n\tstruct work_struct reset_work;\n\twait_queue_head_t wait;\n};\n\nstruct used_address {\n\tstruct __kernel_sockaddr_storage name;\n\tunsigned int name_len;\n};\n\nstruct user_arg_ptr {\n\tunion {\n\t\tconst char * const *native;\n\t} ptr;\n};\n\nstruct user_datum {\n\tu32 value;\n\tu32 bounds;\n\tstruct ebitmap roles;\n\tstruct mls_range range;\n\tstruct mls_level dfltlevel;\n};\n\nstruct user_element {\n\tstruct snd_ctl_elem_info info;\n\tstruct snd_card *card;\n\tchar *elem_data;\n\tlong unsigned int elem_data_size;\n\tvoid *tlv_data;\n\tlong unsigned int tlv_data_size;\n\tvoid *priv_data;\n};\n\nstruct user_key_payload {\n\tstruct callback_head rcu;\n\tshort unsigned int datalen;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct user_namespace {\n\tstruct uid_gid_map uid_map;\n\tstruct uid_gid_map gid_map;\n\tstruct uid_gid_map projid_map;\n\tstruct user_namespace *parent;\n\tint level;\n\tkuid_t owner;\n\tkgid_t group;\n\tstruct ns_common ns;\n\tlong unsigned int flags;\n\tbool parent_could_setfcap;\n\tstruct list_head keyring_name_list;\n\tstruct key *user_keyring_register;\n\tstruct rw_semaphore keyring_sem;\n\tstruct work_struct work;\n\tstruct ctl_table_set set;\n\tstruct ctl_table_header *sysctls;\n\tstruct ucounts *ucounts;\n\tlong int ucount_max[12];\n\tlong int rlimit_max[4];\n\tstruct binfmt_misc *binfmt_misc;\n};\n\nstruct user_regset;\n\ntypedef int user_regset_get2_fn(struct task_struct *, const struct user_regset *, struct membuf);\n\ntypedef int user_regset_set_fn(struct task_struct *, const struct user_regset *, unsigned int, unsigned int, const void *, const void *);\n\ntypedef int user_regset_active_fn(struct task_struct *, const struct user_regset *);\n\ntypedef int user_regset_writeback_fn(struct task_struct *, const struct user_regset *, int);\n\nstruct user_regset {\n\tuser_regset_get2_fn *regset_get;\n\tuser_regset_set_fn *set;\n\tuser_regset_active_fn *active;\n\tuser_regset_writeback_fn *writeback;\n\tunsigned int n;\n\tunsigned int size;\n\tunsigned int align;\n\tunsigned int bias;\n\tunsigned int core_note_type;\n};\n\nstruct user_regset_view {\n\tconst char *name;\n\tconst struct user_regset *regsets;\n\tunsigned int n;\n\tu32 e_flags;\n\tu16 e_machine;\n\tu8 ei_osabi;\n};\n\nstruct user_struct {\n\trefcount_t __count;\n\tstruct percpu_counter epoll_watches;\n\tlong unsigned int unix_inflight;\n\tatomic_long_t pipe_bufs;\n\tstruct hlist_node uidhash_node;\n\tkuid_t uid;\n\tatomic_long_t locked_vm;\n\tstruct ratelimit_state ratelimit;\n};\n\nstruct user_threshold {\n\tstruct list_head list_node;\n\tint temperature;\n\tint direction;\n};\n\nstruct userfaultfd_ctx {\n\twait_queue_head_t fault_pending_wqh;\n\twait_queue_head_t fault_wqh;\n\twait_queue_head_t fd_wqh;\n\twait_queue_head_t event_wqh;\n\tseqcount_spinlock_t refile_seq;\n\trefcount_t refcount;\n\tunsigned int flags;\n\tunsigned int features;\n\tbool released;\n\tstruct rw_semaphore map_changing_lock;\n\tatomic_t mmap_changing;\n\tstruct mm_struct *mm;\n};\n\nstruct userfaultfd_fork_ctx {\n\tstruct userfaultfd_ctx *orig;\n\tstruct userfaultfd_ctx *new;\n\tstruct list_head list;\n};\n\nstruct userfaultfd_unmap_ctx {\n\tstruct userfaultfd_ctx *ctx;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tstruct list_head list;\n};\n\nstruct userfaultfd_wait_queue {\n\tstruct uffd_msg msg;\n\twait_queue_entry_t wq;\n\tstruct userfaultfd_ctx *ctx;\n\tbool waken;\n};\n\nstruct userfaultfd_wake_range {\n\tlong unsigned int start;\n\tlong unsigned int len;\n};\n\nstruct userspace_data {\n\tlong unsigned int user_frequency;\n\tbool valid;\n};\n\nstruct userspace_policy {\n\tunsigned int is_managed;\n\tunsigned int setspeed;\n\tstruct mutex mutex;\n};\n\nstruct userstack_entry {\n\tstruct trace_entry ent;\n\tunsigned int tgid;\n\tlong unsigned int caller[8];\n};\n\nstruct ustat {\n\t__kernel_daddr_t f_tfree;\n\tlong unsigned int f_tinode;\n\tchar f_fname[6];\n\tchar f_fpack[6];\n};\n\nstruct ustring_buffer {\n\tchar buffer[1024];\n};\n\nstruct utf8_table {\n\tint cmask;\n\tint cval;\n\tint shift;\n\tlong int lmask;\n\tlong int lval;\n};\n\nstruct uts_namespace {\n\tstruct new_utsname name;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct ns_common ns;\n};\n\nunion uu {\n\tshort unsigned int us;\n\tunsigned char b[2];\n};\n\nstruct uuidcmp {\n\tconst char *uuid;\n\tint len;\n};\n\nstruct v9fs_inode {\n\tstruct netfs_inode netfs;\n\tstruct p9_qid qid;\n\tunsigned int cache_validity;\n\tstruct mutex v_mutex;\n};\n\nstruct v9fs_session_info {\n\tunsigned int flags;\n\tunsigned char nodev;\n\tshort unsigned int debug;\n\tunsigned int afid;\n\tunsigned int cache;\n\tchar *uname;\n\tchar *aname;\n\tunsigned int maxdata;\n\tkuid_t dfltuid;\n\tkgid_t dfltgid;\n\tkuid_t uid;\n\tstruct p9_client *clnt;\n\tstruct list_head slist;\n\tstruct rw_semaphore rename_sem;\n\tlong int session_lock_timeout;\n};\n\nstruct va_format {\n\tconst char *fmt;\n\tva_list *va;\n};\n\nstruct value_name_pair {\n\tint value;\n\tconst char *name;\n};\n\nstruct vc {\n\tstruct vc_data *d;\n\tstruct work_struct SAK_work;\n};\n\nstruct vc_state {\n\tunsigned int x;\n\tunsigned int y;\n\tunsigned char color;\n\tunsigned char Gx_charset[2];\n\tunsigned int charset: 1;\n\tenum vc_intensity intensity;\n\tbool italic;\n\tbool underline;\n\tbool blink;\n\tbool reverse;\n};\n\nstruct vt_mode {\n\tchar mode;\n\tchar waitv;\n\tshort int relsig;\n\tshort int acqsig;\n\tshort int frsig;\n};\n\nstruct vc_data {\n\tstruct tty_port port;\n\tstruct vc_state state;\n\tstruct vc_state saved_state;\n\tshort unsigned int vc_num;\n\tunsigned int vc_cols;\n\tunsigned int vc_rows;\n\tunsigned int vc_size_row;\n\tunsigned int vc_scan_lines;\n\tunsigned int vc_cell_height;\n\tlong unsigned int vc_origin;\n\tlong unsigned int vc_scr_end;\n\tlong unsigned int vc_visible_origin;\n\tunsigned int vc_top;\n\tunsigned int vc_bottom;\n\tconst struct consw *vc_sw;\n\tshort unsigned int *vc_screenbuf;\n\tunsigned int vc_screenbuf_size;\n\tunsigned char vc_mode;\n\tunsigned char vc_attr;\n\tunsigned char vc_def_color;\n\tunsigned char vc_ulcolor;\n\tunsigned char vc_itcolor;\n\tunsigned char vc_halfcolor;\n\tunsigned int vc_cursor_type;\n\tshort unsigned int vc_complement_mask;\n\tshort unsigned int vc_s_complement_mask;\n\tlong unsigned int vc_pos;\n\tshort unsigned int vc_hi_font_mask;\n\tstruct console_font vc_font;\n\tshort unsigned int vc_video_erase_char;\n\tunsigned int vc_state;\n\tunsigned int vc_npar;\n\tunsigned int vc_par[16];\n\tstruct vt_mode vt_mode;\n\tstruct pid *vt_pid;\n\tint vt_newvt;\n\twait_queue_head_t paste_wait;\n\tunsigned int vc_disp_ctrl: 1;\n\tunsigned int vc_toggle_meta: 1;\n\tunsigned int vc_decscnm: 1;\n\tunsigned int vc_decom: 1;\n\tunsigned int vc_decawm: 1;\n\tunsigned int vc_deccm: 1;\n\tunsigned int vc_decim: 1;\n\tunsigned int vc_priv: 3;\n\tunsigned int vc_need_wrap: 1;\n\tunsigned int vc_can_do_color: 1;\n\tunsigned int vc_report_mouse: 2;\n\tunsigned char vc_utf: 1;\n\tunsigned char vc_utf_count;\n\tint vc_utf_char;\n\tlong unsigned int vc_tab_stop[4];\n\tunsigned char vc_palette[48];\n\tshort unsigned int *vc_translate;\n\tunsigned int vc_bell_pitch;\n\tunsigned int vc_bell_duration;\n\tshort unsigned int vc_cur_blink_ms;\n\tstruct vc_data **vc_display_fg;\n\tstruct uni_pagedict *uni_pagedict;\n\tstruct uni_pagedict **uni_pagedict_loc;\n\tu32 **vc_uni_lines;\n};\n\nstruct vc_draw_region {\n\tlong unsigned int from;\n\tlong unsigned int to;\n\tint x;\n};\n\nstruct vc_selection {\n\tstruct mutex lock;\n\tstruct vc_data *cons;\n\tchar *buffer;\n\tunsigned int buf_len;\n\tvolatile int start;\n\tint end;\n};\n\nstruct vcs_poll_data {\n\tstruct notifier_block notifier;\n\tunsigned int cons_num;\n\tint event;\n\twait_queue_head_t waitq;\n\tstruct fasync_struct *fasync;\n};\n\nstruct vdso_timestamp {\n\tu64 sec;\n\tu64 nsec;\n};\n\nstruct vdso_data {\n\tu32 seq;\n\ts32 clock_mode;\n\tu64 cycle_last;\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n\tunion {\n\t\tstruct vdso_timestamp basetime[12];\n\t\tstruct timens_offset offset[12];\n\t};\n\ts32 tz_minuteswest;\n\ts32 tz_dsttime;\n\tu32 hrtimer_res;\n\tu32 __unused;\n\tstruct arch_vdso_time_data arch_data;\n};\n\nunion vdso_data_store {\n\tstruct vdso_data data[2];\n\tu8 page[16384];\n};\n\nstruct vers_iter {\n\tsize_t param_size;\n\tstruct dm_target_versions *vers;\n\tstruct dm_target_versions *old_vers;\n\tchar *end;\n\tuint32_t flags;\n};\n\nstruct vf_stats {\n\tu64 gprc;\n\tu64 gorc;\n\tu64 gptc;\n\tu64 gotc;\n\tu64 mprc;\n};\n\nstruct vf_data_storage___2 {\n\tstruct pci_dev *vfdev;\n\tunsigned char vf_mac_addresses[6];\n\tu16 vf_mc_hashes[30];\n\tu16 num_vf_mc_hashes;\n\tbool clear_to_send;\n\tstruct vf_stats vfstats;\n\tstruct vf_stats last_vfstats;\n\tstruct vf_stats saved_rst_vfstats;\n\tbool pf_set_mac;\n\tu16 pf_vlan;\n\tu16 pf_qos;\n\tu16 tx_rate;\n\tint link_enable;\n\tint link_state;\n\tu8 spoofchk_enabled;\n\tbool rss_query_enabled;\n\tu8 trusted;\n\tint xcast_mode;\n\tunsigned int vf_api;\n\tu8 primary_abort_count;\n};\n\nstruct vf_data_storage {\n\tunsigned char vf_mac_addresses[6];\n\tu16 vf_mc_hashes[30];\n\tu16 num_vf_mc_hashes;\n\tu32 flags;\n\tlong unsigned int last_nack;\n\tu16 pf_vlan;\n\tu16 pf_qos;\n\tu16 tx_rate;\n\tbool spoofchk_enabled;\n\tbool trusted;\n};\n\nstruct vfree_deferred {\n\tstruct llist_head list;\n\tstruct work_struct wq;\n};\n\nstruct vfs_cap_data {\n\t__le32 magic_etc;\n\tstruct {\n\t\t__le32 permitted;\n\t\t__le32 inheritable;\n\t} data[2];\n};\n\nstruct vfs_ns_cap_data {\n\t__le32 magic_etc;\n\tstruct {\n\t\t__le32 permitted;\n\t\t__le32 inheritable;\n\t} data[2];\n\t__le32 rootid;\n};\n\nstruct vga_arb_user_card {\n\tstruct pci_dev *pdev;\n\tunsigned int mem_cnt;\n\tunsigned int io_cnt;\n};\n\nstruct vga_arb_private {\n\tstruct list_head list;\n\tstruct pci_dev *target;\n\tstruct vga_arb_user_card cards[16];\n\tspinlock_t lock;\n};\n\nstruct vga_device {\n\tstruct list_head list;\n\tstruct pci_dev *pdev;\n\tunsigned int decodes;\n\tunsigned int owns;\n\tunsigned int locks;\n\tunsigned int io_lock_cnt;\n\tunsigned int mem_lock_cnt;\n\tunsigned int io_norm_cnt;\n\tunsigned int mem_norm_cnt;\n\tbool bridge_has_one_vga;\n\tbool is_firmware_default;\n\tunsigned int (*set_decode)(struct pci_dev *, bool);\n};\n\nstruct vhost_task {\n\tbool (*fn)(void *);\n\tvoid (*handle_sigkill)(void *);\n\tvoid *data;\n\tstruct completion exited;\n\tlong unsigned int flags;\n\tstruct task_struct *task;\n\tstruct mutex exit_mutex;\n};\n\nstruct vif_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct net_device *dev;\n\tshort unsigned int vif_index;\n\tshort unsigned int vif_flags;\n\tu32 tb_id;\n};\n\nstruct vifctl {\n\tvifi_t vifc_vifi;\n\tunsigned char vifc_flags;\n\tunsigned char vifc_threshold;\n\tunsigned int vifc_rate_limit;\n\tunion {\n\t\tstruct in_addr vifc_lcl_addr;\n\t\tint vifc_lcl_ifindex;\n\t};\n\tstruct in_addr vifc_rmt_addr;\n};\n\nstruct virtio_blk_outhdr {\n\t__virtio32 type;\n\t__virtio32 ioprio;\n\t__virtio64 sector;\n};\n\nstruct virtblk_req {\n\tstruct virtio_blk_outhdr out_hdr;\n\tunion {\n\t\tu8 status;\n\t\tstruct {\n\t\t\t__virtio64 sector;\n\t\t\tu8 status;\n\t\t} zone_append;\n\t} in_hdr;\n\tsize_t in_hdr_len;\n\tstruct sg_table sg_table;\n\tstruct scatterlist sg[0];\n};\n\nstruct virtio_9p_config {\n\t__virtio16 tag_len;\n\t__u8 tag[0];\n};\n\nstruct virtio_admin_cmd {\n\t__le16 opcode;\n\t__le16 group_type;\n\t__le64 group_member_id;\n\tstruct scatterlist *data_sg;\n\tstruct scatterlist *result_sg;\n\tstruct completion completion;\n\tu32 result_sg_size;\n\tint ret;\n};\n\nstruct virtio_admin_cmd_cap_get_data {\n\t__le16 id;\n\t__u8 reserved[6];\n};\n\nstruct virtio_admin_cmd_cap_set_data {\n\t__le16 id;\n\t__u8 reserved[6];\n\t__u8 cap_specific_data[0];\n};\n\nstruct virtio_admin_cmd_dev_mode_set_data {\n\t__u8 flags;\n};\n\nstruct virtio_admin_cmd_resource_obj_cmd_hdr {\n\t__le16 type;\n\t__u8 reserved[2];\n\t__le32 id;\n};\n\nstruct virtio_dev_part_hdr {\n\t__le16 part_type;\n\t__u8 flags;\n\t__u8 reserved;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 offset;\n\t\t\t__le32 reserved;\n\t\t} pci_common_cfg;\n\t\tstruct {\n\t\t\t__le16 index;\n\t\t\t__u8 reserved[6];\n\t\t} vq_index;\n\t} selector;\n\t__le32 length;\n};\n\nstruct virtio_admin_cmd_dev_parts_get_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__u8 type;\n\t__u8 reserved[7];\n\tstruct virtio_dev_part_hdr hdr_list[0];\n};\n\nstruct virtio_admin_cmd_dev_parts_metadata_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__u8 type;\n\t__u8 reserved[7];\n};\n\nstruct virtio_admin_cmd_dev_parts_metadata_result {\n\tunion {\n\t\tstruct {\n\t\t\t__le32 size;\n\t\t\t__le32 reserved;\n\t\t} parts_size;\n\t\tstruct {\n\t\t\t__le32 count;\n\t\t\t__le32 reserved;\n\t\t} hdr_list_count;\n\t\tstruct {\n\t\t\t__le32 count;\n\t\t\t__le32 reserved;\n\t\t\tstruct virtio_dev_part_hdr hdrs[0];\n\t\t} hdr_list;\n\t};\n};\n\nstruct virtio_admin_cmd_hdr {\n\t__le16 opcode;\n\t__le16 group_type;\n\t__u8 reserved1[12];\n\t__le64 group_member_id;\n};\n\nstruct virtio_admin_cmd_query_cap_id_result {\n\t__le64 supported_caps[1];\n};\n\nstruct virtio_admin_cmd_resource_obj_create_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__le64 flags;\n\t__u8 resource_obj_specific_data[0];\n};\n\nstruct virtio_admin_cmd_status {\n\t__le16 status;\n\t__le16 status_qualifier;\n\t__u8 reserved2[4];\n};\n\nstruct virtio_blk_vq;\n\nstruct virtio_blk {\n\tstruct mutex vdev_mutex;\n\tstruct virtio_device *vdev;\n\tstruct gendisk *disk;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct work_struct config_work;\n\tint index;\n\tint num_vqs;\n\tint io_queues[3];\n\tstruct virtio_blk_vq *vqs;\n\tunsigned int zone_sectors;\n};\n\nstruct virtio_blk_geometry {\n\t__virtio16 cylinders;\n\t__u8 heads;\n\t__u8 sectors;\n};\n\nstruct virtio_blk_zoned_characteristics {\n\t__virtio32 zone_sectors;\n\t__virtio32 max_open_zones;\n\t__virtio32 max_active_zones;\n\t__virtio32 max_append_sectors;\n\t__virtio32 write_granularity;\n\t__u8 model;\n\t__u8 unused2[3];\n};\n\nstruct virtio_blk_config {\n\t__virtio64 capacity;\n\t__virtio32 size_max;\n\t__virtio32 seg_max;\n\tstruct virtio_blk_geometry geometry;\n\t__virtio32 blk_size;\n\t__u8 physical_block_exp;\n\t__u8 alignment_offset;\n\t__virtio16 min_io_size;\n\t__virtio32 opt_io_size;\n\t__u8 wce;\n\t__u8 unused;\n\t__virtio16 num_queues;\n\t__virtio32 max_discard_sectors;\n\t__virtio32 max_discard_seg;\n\t__virtio32 discard_sector_alignment;\n\t__virtio32 max_write_zeroes_sectors;\n\t__virtio32 max_write_zeroes_seg;\n\t__u8 write_zeroes_may_unmap;\n\t__u8 unused1[3];\n\t__virtio32 max_secure_erase_sectors;\n\t__virtio32 max_secure_erase_seg;\n\t__virtio32 secure_erase_sector_alignment;\n\tstruct virtio_blk_zoned_characteristics zoned;\n};\n\nstruct virtio_blk_discard_write_zeroes {\n\t__le64 sector;\n\t__le32 num_sectors;\n\t__le32 flags;\n};\n\nstruct virtio_blk_vq {\n\tstruct virtqueue *vq;\n\tspinlock_t lock;\n\tchar name[16];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct virtio_blk_zone_descriptor {\n\t__virtio64 z_cap;\n\t__virtio64 z_start;\n\t__virtio64 z_wp;\n\t__u8 z_type;\n\t__u8 z_state;\n\t__u8 reserved[38];\n};\n\nstruct virtio_blk_zone_report {\n\t__virtio64 nr_zones;\n\t__u8 reserved[56];\n\tstruct virtio_blk_zone_descriptor zones[0];\n};\n\nstruct virtio_chan {\n\tbool inuse;\n\tspinlock_t lock;\n\tstruct p9_client *client;\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *vq;\n\tint ring_bufs_avail;\n\twait_queue_head_t *vc_wq;\n\tlong unsigned int p9_max_pages;\n\tstruct scatterlist sg[128];\n\tchar *tag;\n\tstruct list_head chan_list;\n};\n\nstruct virtqueue_info;\n\nstruct virtio_shm_region;\n\nstruct virtio_config_ops {\n\tvoid (*get)(struct virtio_device *, unsigned int, void *, unsigned int);\n\tvoid (*set)(struct virtio_device *, unsigned int, const void *, unsigned int);\n\tu32 (*generation)(struct virtio_device *);\n\tu8 (*get_status)(struct virtio_device *);\n\tvoid (*set_status)(struct virtio_device *, u8);\n\tvoid (*reset)(struct virtio_device *);\n\tint (*find_vqs)(struct virtio_device *, unsigned int, struct virtqueue **, struct virtqueue_info *, struct irq_affinity *);\n\tvoid (*del_vqs)(struct virtio_device *);\n\tvoid (*synchronize_cbs)(struct virtio_device *);\n\tu64 (*get_features)(struct virtio_device *);\n\tint (*finalize_features)(struct virtio_device *);\n\tconst char * (*bus_name)(struct virtio_device *);\n\tint (*set_vq_affinity)(struct virtqueue *, const struct cpumask *);\n\tconst struct cpumask * (*get_vq_affinity)(struct virtio_device *, int);\n\tbool (*get_shm_region)(struct virtio_device *, struct virtio_shm_region *, u8);\n\tint (*disable_vq_and_reset)(struct virtqueue *);\n\tint (*enable_vq_after_reset)(struct virtqueue *);\n};\n\nstruct virtio_console_config {\n\t__virtio16 cols;\n\t__virtio16 rows;\n\t__virtio32 max_nr_ports;\n\t__virtio32 emerg_wr;\n};\n\nstruct virtio_dev_parts_cap {\n\t__u8 get_parts_resource_objects_limit;\n\t__u8 set_parts_resource_objects_limit;\n};\n\nstruct virtio_device_id {\n\t__u32 device;\n\t__u32 vendor;\n};\n\nstruct vringh_config_ops;\n\nstruct virtio_device {\n\tint index;\n\tbool failed;\n\tbool config_core_enabled;\n\tbool config_driver_disabled;\n\tbool config_change_pending;\n\tspinlock_t config_lock;\n\tspinlock_t vqs_list_lock;\n\tstruct device dev;\n\tstruct virtio_device_id id;\n\tconst struct virtio_config_ops *config;\n\tconst struct vringh_config_ops *vringh_config;\n\tstruct list_head vqs;\n\tu64 features;\n\tvoid *priv;\n};\n\nstruct virtio_driver {\n\tstruct device_driver driver;\n\tconst struct virtio_device_id *id_table;\n\tconst unsigned int *feature_table;\n\tunsigned int feature_table_size;\n\tconst unsigned int *feature_table_legacy;\n\tunsigned int feature_table_size_legacy;\n\tint (*validate)(struct virtio_device *);\n\tint (*probe)(struct virtio_device *);\n\tvoid (*scan)(struct virtio_device *);\n\tvoid (*remove)(struct virtio_device *);\n\tvoid (*config_changed)(struct virtio_device *);\n\tint (*freeze)(struct virtio_device *);\n\tint (*restore)(struct virtio_device *);\n\tint (*reset_prepare)(struct virtio_device *);\n\tint (*reset_done)(struct virtio_device *);\n};\n\nstruct virtio_net_hdr {\n\t__u8 flags;\n\t__u8 gso_type;\n\t__virtio16 hdr_len;\n\t__virtio16 gso_size;\n\t__virtio16 csum_start;\n\t__virtio16 csum_offset;\n};\n\nstruct virtio_net_hdr_mrg_rxbuf {\n\tstruct virtio_net_hdr hdr;\n\t__virtio16 num_buffers;\n};\n\nstruct virtio_pci_vq_info;\n\nstruct virtio_pci_admin_vq {\n\tstruct virtio_pci_vq_info *info;\n\tspinlock_t lock;\n\tu64 supported_cmds;\n\tu64 supported_caps;\n\tu8 max_dev_parts_objects;\n\tstruct ida dev_parts_ida;\n\tchar name[10];\n\tu16 vq_index;\n};\n\nstruct virtio_pci_common_cfg {\n\t__le32 device_feature_select;\n\t__le32 device_feature;\n\t__le32 guest_feature_select;\n\t__le32 guest_feature;\n\t__le16 msix_config;\n\t__le16 num_queues;\n\t__u8 device_status;\n\t__u8 config_generation;\n\t__le16 queue_select;\n\t__le16 queue_size;\n\t__le16 queue_msix_vector;\n\t__le16 queue_enable;\n\t__le16 queue_notify_off;\n\t__le32 queue_desc_lo;\n\t__le32 queue_desc_hi;\n\t__le32 queue_avail_lo;\n\t__le32 queue_avail_hi;\n\t__le32 queue_used_lo;\n\t__le32 queue_used_hi;\n};\n\nstruct virtio_pci_legacy_device {\n\tstruct pci_dev *pci_dev;\n\tu8 *isr;\n\tvoid *ioaddr;\n\tstruct virtio_device_id id;\n};\n\nstruct virtio_pci_modern_device {\n\tstruct pci_dev *pci_dev;\n\tstruct virtio_pci_common_cfg *common;\n\tvoid *device;\n\tvoid *notify_base;\n\tresource_size_t notify_pa;\n\tu8 *isr;\n\tsize_t notify_len;\n\tsize_t device_len;\n\tsize_t common_len;\n\tint notify_map_cap;\n\tu32 notify_offset_multiplier;\n\tint modern_bars;\n\tstruct virtio_device_id id;\n\tint (*device_id_check)(struct pci_dev *);\n\tu64 dma_mask;\n};\n\nstruct virtio_pci_device {\n\tstruct virtio_device vdev;\n\tstruct pci_dev *pci_dev;\n\tunion {\n\t\tstruct virtio_pci_legacy_device ldev;\n\t\tstruct virtio_pci_modern_device mdev;\n\t};\n\tbool is_legacy;\n\tu8 *isr;\n\tspinlock_t lock;\n\tstruct list_head virtqueues;\n\tstruct list_head slow_virtqueues;\n\tstruct virtio_pci_vq_info **vqs;\n\tstruct virtio_pci_admin_vq admin_vq;\n\tint msix_enabled;\n\tint intx_enabled;\n\tcpumask_var_t *msix_affinity_masks;\n\tchar (*msix_names)[256];\n\tunsigned int msix_vectors;\n\tunsigned int msix_used_vectors;\n\tbool per_vq_vectors;\n\tstruct virtqueue * (*setup_vq)(struct virtio_pci_device *, struct virtio_pci_vq_info *, unsigned int, void (*)(struct virtqueue *), const char *, bool, u16);\n\tvoid (*del_vq)(struct virtio_pci_vq_info *);\n\tu16 (*config_vector)(struct virtio_pci_device *, u16);\n\tint (*avq_index)(struct virtio_device *, u16 *, u16 *);\n};\n\nstruct virtio_pci_modern_common_cfg {\n\tstruct virtio_pci_common_cfg cfg;\n\t__le16 queue_notify_data;\n\t__le16 queue_reset;\n\t__le16 admin_queue_index;\n\t__le16 admin_queue_num;\n};\n\nstruct virtio_pci_vq_info {\n\tstruct virtqueue *vq;\n\tstruct list_head node;\n\tunsigned int msix_vector;\n};\n\nstruct virtio_resource_obj_dev_parts {\n\t__u8 type;\n\t__u8 reserved[7];\n};\n\nstruct virtio_shm_region {\n\tu64 addr;\n\tu64 len;\n};\n\nstruct virtqueue {\n\tstruct list_head list;\n\tvoid (*callback)(struct virtqueue *);\n\tconst char *name;\n\tstruct virtio_device *vdev;\n\tunsigned int index;\n\tunsigned int num_free;\n\tunsigned int num_max;\n\tbool reset;\n\tvoid *priv;\n};\n\ntypedef void vq_callback_t(struct virtqueue *);\n\nstruct virtqueue_info {\n\tconst char *name;\n\tvq_callback_t *callback;\n\tbool ctx;\n};\n\nstruct virtualAllocationTable20 {\n\t__le16 lengthHeader;\n\t__le16 lengthImpUse;\n\tdstring logicalVolIdent[128];\n\t__le32 previousVATICBLoc;\n\t__le32 numFiles;\n\t__le32 numDirs;\n\t__le16 minUDFReadRev;\n\t__le16 minUDFWriteRev;\n\t__le16 maxUDFWriteRev;\n\t__le16 reserved;\n\tuint8_t impUse[0];\n};\n\nstruct virtual_phy {\n\tstruct list_head list;\n\tu64 sas_address;\n\tu32 phy_mask;\n\tu8 flags;\n};\n\nstruct vlan_priority_tci_mapping;\n\nstruct vlan_dev_priv {\n\tunsigned int nr_ingress_mappings;\n\tu32 ingress_priority_map[8];\n\tunsigned int nr_egress_mappings;\n\tstruct vlan_priority_tci_mapping *egress_priority_map[16];\n\t__be16 vlan_proto;\n\tu16 vlan_id;\n\tu16 flags;\n\tstruct net_device *real_dev;\n\tnetdevice_tracker dev_tracker;\n\tunsigned char real_dev_addr[6];\n\tstruct proc_dir_entry *dent;\n\tstruct vlan_pcpu_stats *vlan_pcpu_stats;\n};\n\nstruct vlan_ethhdr {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned char h_dest[6];\n\t\t\tunsigned char h_source[6];\n\t\t};\n\t\tstruct {\n\t\t\tunsigned char h_dest[6];\n\t\t\tunsigned char h_source[6];\n\t\t} addrs;\n\t};\n\t__be16 h_vlan_proto;\n\t__be16 h_vlan_TCI;\n\t__be16 h_vlan_encapsulated_proto;\n};\n\nstruct vlan_group {\n\tunsigned int nr_vlan_devs;\n\tstruct hlist_node hlist;\n\tstruct net_device **vlan_devices_arrays[16];\n};\n\nstruct vlan_hdr {\n\t__be16 h_vlan_TCI;\n\t__be16 h_vlan_encapsulated_proto;\n};\n\nstruct vlan_info {\n\tstruct net_device *real_dev;\n\tstruct vlan_group grp;\n\tstruct list_head vid_list;\n\tunsigned int nr_vids;\n\tstruct callback_head rcu;\n};\n\nstruct vlan_pcpu_stats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t rx_multicast;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n\tu32 rx_errors;\n\tu32 tx_dropped;\n};\n\nstruct vlan_priority_tci_mapping {\n\tu32 priority;\n\tu16 vlan_qos;\n\tstruct vlan_priority_tci_mapping *next;\n};\n\nstruct vlan_vid_info {\n\tstruct list_head list;\n\t__be16 proto;\n\tu16 vid;\n\tint refcount;\n};\n\nstruct vm_userfaultfd_ctx {\n\tstruct userfaultfd_ctx *ctx;\n};\n\nstruct vma_numab_state;\n\nstruct vm_area_struct {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int vm_start;\n\t\t\tlong unsigned int vm_end;\n\t\t};\n\t};\n\tstruct mm_struct *vm_mm;\n\tpgprot_t vm_page_prot;\n\tunion {\n\t\tconst vm_flags_t vm_flags;\n\t\tvm_flags_t __vm_flags;\n\t};\n\tstruct {\n\t\tstruct rb_node rb;\n\t\tlong unsigned int rb_subtree_last;\n\t} shared;\n\tstruct list_head anon_vma_chain;\n\tstruct anon_vma *anon_vma;\n\tconst struct vm_operations_struct *vm_ops;\n\tlong unsigned int vm_pgoff;\n\tstruct file *vm_file;\n\tvoid *vm_private_data;\n\tatomic_long_t swap_readahead_info;\n\tstruct mempolicy *vm_policy;\n\tstruct vma_numab_state *numab_state;\n\tstruct vm_userfaultfd_ctx vm_userfaultfd_ctx;\n};\n\nstruct vm_event_state {\n\tlong unsigned int event[108];\n};\n\nstruct vm_fault {\n\tconst struct {\n\t\tstruct vm_area_struct *vma;\n\t\tgfp_t gfp_mask;\n\t\tlong unsigned int pgoff;\n\t\tlong unsigned int address;\n\t\tlong unsigned int real_address;\n\t};\n\tenum fault_flag flags;\n\tpmd_t *pmd;\n\tpud_t *pud;\n\tunion {\n\t\tpte_t orig_pte;\n\t\tpmd_t orig_pmd;\n\t};\n\tstruct page *cow_page;\n\tstruct page *page;\n\tpte_t *pte;\n\tspinlock_t *ptl;\n\tpgtable_t prealloc_pte;\n};\n\nstruct vm_operations_struct {\n\tvoid (*open)(struct vm_area_struct *);\n\tvoid (*close)(struct vm_area_struct *);\n\tint (*may_split)(struct vm_area_struct *, long unsigned int);\n\tint (*mremap)(struct vm_area_struct *);\n\tint (*mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int, long unsigned int);\n\tvm_fault_t (*fault)(struct vm_fault *);\n\tvm_fault_t (*huge_fault)(struct vm_fault *, unsigned int);\n\tvm_fault_t (*map_pages)(struct vm_fault *, long unsigned int, long unsigned int);\n\tlong unsigned int (*pagesize)(struct vm_area_struct *);\n\tvm_fault_t (*page_mkwrite)(struct vm_fault *);\n\tvm_fault_t (*pfn_mkwrite)(struct vm_fault *);\n\tint (*access)(struct vm_area_struct *, long unsigned int, void *, int, int);\n\tconst char * (*name)(struct vm_area_struct *);\n\tint (*set_policy)(struct vm_area_struct *, struct mempolicy *);\n\tstruct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int, long unsigned int *);\n\tstruct page * (*find_special_page)(struct vm_area_struct *, long unsigned int);\n};\n\nstruct vm_struct {\n\tstruct vm_struct *next;\n\tvoid *addr;\n\tlong unsigned int size;\n\tlong unsigned int flags;\n\tstruct page **pages;\n\tunsigned int nr_pages;\n\tphys_addr_t phys_addr;\n\tconst void *caller;\n};\n\nstruct vm_unmapped_area_info {\n\tlong unsigned int flags;\n\tlong unsigned int length;\n\tlong unsigned int low_limit;\n\tlong unsigned int high_limit;\n\tlong unsigned int align_mask;\n\tlong unsigned int align_offset;\n\tlong unsigned int start_gap;\n};\n\nstruct vma_list {\n\tstruct vm_area_struct *vma;\n\tstruct list_head head;\n\trefcount_t mmap_count;\n};\n\nstruct vma_merge_struct {\n\tstruct mm_struct *mm;\n\tstruct vma_iterator *vmi;\n\tlong unsigned int pgoff;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tstruct anon_vma *anon_vma;\n\tstruct mempolicy *policy;\n\tstruct vm_userfaultfd_ctx uffd_ctx;\n\tstruct anon_vma_name *anon_name;\n\tenum vma_merge_flags merge_flags;\n\tenum vma_merge_state state;\n};\n\nstruct vma_numab_state {\n\tlong unsigned int next_scan;\n\tlong unsigned int pids_active_reset;\n\tlong unsigned int pids_active[2];\n\tint start_scan_seq;\n\tint prev_scan_seq;\n};\n\nstruct vma_prepare {\n\tstruct vm_area_struct *vma;\n\tstruct vm_area_struct *adj_next;\n\tstruct file *file;\n\tstruct address_space *mapping;\n\tstruct anon_vma *anon_vma;\n\tstruct vm_area_struct *insert;\n\tstruct vm_area_struct *remove;\n\tstruct vm_area_struct *remove2;\n};\n\nstruct vmap_area {\n\tlong unsigned int va_start;\n\tlong unsigned int va_end;\n\tstruct rb_node rb_node;\n\tstruct list_head list;\n\tunion {\n\t\tlong unsigned int subtree_max_size;\n\t\tstruct vm_struct *vm;\n\t};\n\tlong unsigned int flags;\n};\n\nstruct vmap_block {\n\tspinlock_t lock;\n\tstruct vmap_area *va;\n\tlong unsigned int free;\n\tlong unsigned int dirty;\n\tlong unsigned int used_map[16];\n\tlong unsigned int dirty_min;\n\tlong unsigned int dirty_max;\n\tstruct list_head free_list;\n\tstruct callback_head callback_head;\n\tstruct list_head purge;\n\tunsigned int cpu;\n};\n\nstruct vmap_block_queue {\n\tspinlock_t lock;\n\tstruct list_head free;\n\tstruct xarray vmap_blocks;\n};\n\nstruct vmap_pool {\n\tstruct list_head head;\n\tlong unsigned int len;\n};\n\nstruct vmap_node {\n\tstruct vmap_pool pool[256];\n\tspinlock_t pool_lock;\n\tbool skip_populate;\n\tstruct rb_list busy;\n\tstruct rb_list lazy;\n\tstruct list_head purge_list;\n\tstruct work_struct purge_work;\n\tlong unsigned int nr_purged;\n};\n\nstruct vmap_pfn_data {\n\tlong unsigned int *pfns;\n\tpgprot_t prot;\n\tunsigned int idx;\n};\n\nstruct vmcore_cb {\n\tbool (*pfn_is_ram)(struct vmcore_cb *, long unsigned int);\n\tint (*get_device_ram)(struct vmcore_cb *, struct list_head *);\n\tstruct list_head next;\n};\n\nstruct vmcore_range {\n\tstruct list_head list;\n\tlong long unsigned int paddr;\n\tlong long unsigned int size;\n\tloff_t offset;\n};\n\nstruct vmemmap_remap_walk {\n\tvoid (*remap_pte)(pte_t *, long unsigned int, struct vmemmap_remap_walk *);\n\tlong unsigned int nr_walked;\n\tstruct page *reuse_page;\n\tlong unsigned int reuse_addr;\n\tstruct list_head *vmemmap_pages;\n\tlong unsigned int flags;\n};\n\nstruct vmpressure_event {\n\tstruct eventfd_ctx *efd;\n\tenum vmpressure_levels level;\n\tenum vmpressure_modes mode;\n\tstruct list_head node;\n};\n\nstruct volDescPtr {\n\tstruct tag descTag;\n\t__le32 volDescSeqNum;\n\tstruct extent_ad nextVolDescSeqExt;\n\tuint8_t reserved[484];\n};\n\nstruct volStructDesc {\n\tuint8_t structType;\n\tuint8_t stdIdent[5];\n\tuint8_t structVersion;\n\tuint8_t structData[2041];\n};\n\nstruct vring_desc;\n\ntypedef struct vring_desc vring_desc_t;\n\nstruct vring_avail;\n\ntypedef struct vring_avail vring_avail_t;\n\nstruct vring_used;\n\ntypedef struct vring_used vring_used_t;\n\nstruct vring {\n\tunsigned int num;\n\tvring_desc_t *desc;\n\tvring_avail_t *avail;\n\tvring_used_t *used;\n};\n\nstruct vring_avail {\n\t__virtio16 flags;\n\t__virtio16 idx;\n\t__virtio16 ring[0];\n};\n\nstruct vring_desc {\n\t__virtio64 addr;\n\t__virtio32 len;\n\t__virtio16 flags;\n\t__virtio16 next;\n};\n\nstruct vring_desc_extra {\n\tdma_addr_t addr;\n\tu32 len;\n\tu16 flags;\n\tu16 next;\n};\n\nstruct vring_packed_desc;\n\nstruct vring_desc_state_packed {\n\tvoid *data;\n\tstruct vring_packed_desc *indir_desc;\n\tu16 num;\n\tu16 last;\n};\n\nstruct vring_desc_state_split {\n\tvoid *data;\n\tstruct vring_desc *indir_desc;\n};\n\nstruct vring_packed_desc {\n\t__le64 addr;\n\t__le32 len;\n\t__le16 id;\n\t__le16 flags;\n};\n\nstruct vring_packed_desc_event {\n\t__le16 off_wrap;\n\t__le16 flags;\n};\n\nstruct vring_used_elem {\n\t__virtio32 id;\n\t__virtio32 len;\n};\n\ntypedef struct vring_used_elem vring_used_elem_t;\n\nstruct vring_used {\n\t__virtio16 flags;\n\t__virtio16 idx;\n\tvring_used_elem_t ring[0];\n};\n\nstruct vring_virtqueue_split {\n\tstruct vring vring;\n\tu16 avail_flags_shadow;\n\tu16 avail_idx_shadow;\n\tstruct vring_desc_state_split *desc_state;\n\tstruct vring_desc_extra *desc_extra;\n\tdma_addr_t queue_dma_addr;\n\tsize_t queue_size_in_bytes;\n\tu32 vring_align;\n\tbool may_reduce_num;\n};\n\nstruct vring_virtqueue_packed {\n\tstruct {\n\t\tunsigned int num;\n\t\tstruct vring_packed_desc *desc;\n\t\tstruct vring_packed_desc_event *driver;\n\t\tstruct vring_packed_desc_event *device;\n\t} vring;\n\tbool avail_wrap_counter;\n\tu16 avail_used_flags;\n\tu16 next_avail_idx;\n\tu16 event_flags_shadow;\n\tstruct vring_desc_state_packed *desc_state;\n\tstruct vring_desc_extra *desc_extra;\n\tdma_addr_t ring_dma_addr;\n\tdma_addr_t driver_event_dma_addr;\n\tdma_addr_t device_event_dma_addr;\n\tsize_t ring_size_in_bytes;\n\tsize_t event_size_in_bytes;\n};\n\nstruct vring_virtqueue {\n\tstruct virtqueue vq;\n\tbool packed_ring;\n\tbool use_dma_api;\n\tbool weak_barriers;\n\tbool broken;\n\tbool indirect;\n\tbool event;\n\tunsigned int free_head;\n\tunsigned int num_added;\n\tu16 last_used_idx;\n\tbool event_triggered;\n\tunion {\n\t\tstruct vring_virtqueue_split split;\n\t\tstruct vring_virtqueue_packed packed;\n\t};\n\tbool (*notify)(struct virtqueue *);\n\tbool we_own_ring;\n\tstruct device *dma_dev;\n};\n\nstruct vt_consize {\n\tshort unsigned int v_rows;\n\tshort unsigned int v_cols;\n\tshort unsigned int v_vlin;\n\tshort unsigned int v_clin;\n\tshort unsigned int v_vcol;\n\tshort unsigned int v_ccol;\n};\n\nstruct vt_event {\n\tunsigned int event;\n\tunsigned int oldev;\n\tunsigned int newev;\n\tunsigned int pad[4];\n};\n\nstruct vt_event_wait {\n\tstruct list_head list;\n\tstruct vt_event event;\n\tint done;\n};\n\nstruct vt_notifier_param {\n\tstruct vc_data *vc;\n\tunsigned int c;\n};\n\nstruct vt_setactivate {\n\tunsigned int console;\n\tstruct vt_mode mode;\n};\n\nstruct vt_sizes {\n\tshort unsigned int v_rows;\n\tshort unsigned int v_cols;\n\tshort unsigned int v_scrollsize;\n};\n\nstruct vt_spawn_console {\n\tspinlock_t lock;\n\tstruct pid *pid;\n\tint sig;\n};\n\nstruct vt_stat {\n\tshort unsigned int v_active;\n\tshort unsigned int v_signal;\n\tshort unsigned int v_state;\n};\n\nstruct vxlanhdr {\n\t__be32 vx_flags;\n\t__be32 vx_vni;\n};\n\nstruct vxlan_config {\n\tunion vxlan_addr remote_ip;\n\tunion vxlan_addr saddr;\n\t__be32 vni;\n\tint remote_ifindex;\n\tint mtu;\n\t__be16 dst_port;\n\tu16 port_min;\n\tu16 port_max;\n\tu8 tos;\n\tu8 ttl;\n\t__be32 label;\n\tenum ifla_vxlan_label_policy label_policy;\n\tu32 flags;\n\tlong unsigned int age_interval;\n\tunsigned int addrmax;\n\tbool no_share;\n\tenum ifla_vxlan_df df;\n\tstruct vxlanhdr reserved_bits;\n};\n\nstruct vxlan_dev;\n\nstruct vxlan_dev_node {\n\tstruct hlist_node hlist;\n\tstruct vxlan_dev *vxlan;\n};\n\nstruct vxlan_rdst {\n\tunion vxlan_addr remote_ip;\n\t__be16 remote_port;\n\tu8 offloaded: 1;\n\t__be32 remote_vni;\n\tu32 remote_ifindex;\n\tstruct net_device *remote_dev;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n\tstruct dst_cache dst_cache;\n};\n\nstruct vxlan_sock;\n\nstruct vxlan_vni_group;\n\nstruct vxlan_dev {\n\tstruct vxlan_dev_node hlist4;\n\tstruct vxlan_dev_node hlist6;\n\tstruct list_head next;\n\tstruct vxlan_sock *vn4_sock;\n\tstruct vxlan_sock *vn6_sock;\n\tstruct net_device *dev;\n\tstruct net *net;\n\tstruct vxlan_rdst default_dst;\n\tstruct timer_list age_timer;\n\tspinlock_t hash_lock[256];\n\tunsigned int addrcnt;\n\tstruct gro_cells gro_cells;\n\tstruct vxlan_config cfg;\n\tstruct vxlan_vni_group *vnigrp;\n\tstruct hlist_head fdb_head[256];\n\tstruct rhashtable mdb_tbl;\n\tstruct hlist_head mdb_list;\n\tunsigned int mdb_seq;\n};\n\nstruct vxlan_fdb {\n\tstruct hlist_node hlist;\n\tstruct callback_head rcu;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tstruct list_head remotes;\n\tu8 eth_addr[6];\n\tu16 state;\n\t__be32 vni;\n\tu16 flags;\n\tstruct list_head nh_list;\n\tstruct nexthop *nh;\n\tstruct vxlan_dev *vdev;\n};\n\nstruct vxlan_fdb_flush_desc {\n\tbool ignore_default_entry;\n\tlong unsigned int state;\n\tlong unsigned int state_mask;\n\tlong unsigned int flags;\n\tlong unsigned int flags_mask;\n\t__be32 src_vni;\n\tu32 nhid;\n\t__be32 vni;\n\t__be16 port;\n\tunion vxlan_addr dst_ip;\n};\n\nstruct vxlan_mdb_entry_key {\n\tunion vxlan_addr src;\n\tunion vxlan_addr dst;\n\t__be32 vni;\n};\n\nstruct vxlan_mdb_config {\n\tstruct vxlan_dev *vxlan;\n\tstruct vxlan_mdb_entry_key group;\n\tstruct list_head src_list;\n\tunion vxlan_addr remote_ip;\n\tu32 remote_ifindex;\n\t__be32 remote_vni;\n\t__be16 remote_port;\n\tu16 nlflags;\n\tu8 flags;\n\tu8 filter_mode;\n\tu8 rt_protocol;\n};\n\nstruct vxlan_mdb_config_src_entry {\n\tunion vxlan_addr addr;\n\tstruct list_head node;\n};\n\nstruct vxlan_mdb_dump_ctx {\n\tlong int reserved;\n\tlong int entry_idx;\n\tlong int remote_idx;\n};\n\nstruct vxlan_mdb_entry {\n\tstruct rhash_head rhnode;\n\tstruct list_head remotes;\n\tstruct vxlan_mdb_entry_key key;\n\tstruct hlist_node mdb_node;\n\tstruct callback_head rcu;\n};\n\nstruct vxlan_mdb_flush_desc {\n\tunion vxlan_addr remote_ip;\n\t__be32 src_vni;\n\t__be32 remote_vni;\n\t__be16 remote_port;\n\tu8 rt_protocol;\n};\n\nstruct vxlan_mdb_remote {\n\tstruct list_head list;\n\tstruct vxlan_rdst *rd;\n\tu8 flags;\n\tu8 filter_mode;\n\tu8 rt_protocol;\n\tstruct hlist_head src_list;\n\tstruct callback_head rcu;\n};\n\nstruct vxlan_mdb_src_entry {\n\tstruct hlist_node node;\n\tunion vxlan_addr addr;\n\tu8 flags;\n};\n\nstruct vxlan_metadata {\n\tu32 gbp;\n};\n\nstruct vxlan_net {\n\tstruct list_head vxlan_list;\n\tstruct hlist_head sock_list[256];\n\tspinlock_t sock_lock;\n\tstruct notifier_block nexthop_notifier_block;\n};\n\nstruct vxlan_sock {\n\tstruct hlist_node hlist;\n\tstruct socket *sock;\n\tstruct hlist_head vni_list[1024];\n\trefcount_t refcnt;\n\tu32 flags;\n};\n\nstruct vxlan_vni_group {\n\tstruct rhashtable vni_hash;\n\tstruct list_head vni_list;\n\tu32 num_vnis;\n};\n\nstruct vxlan_vni_stats_pcpu;\n\nstruct vxlan_vni_node {\n\tstruct rhash_head vnode;\n\tstruct vxlan_dev_node hlist4;\n\tstruct vxlan_dev_node hlist6;\n\tstruct list_head vlist;\n\t__be32 vni;\n\tunion vxlan_addr remote_ip;\n\tstruct vxlan_vni_stats_pcpu *stats;\n\tstruct callback_head rcu;\n};\n\nstruct vxlan_vni_stats {\n\tu64 rx_packets;\n\tu64 rx_bytes;\n\tu64 rx_drops;\n\tu64 rx_errors;\n\tu64 tx_packets;\n\tu64 tx_bytes;\n\tu64 tx_drops;\n\tu64 tx_errors;\n};\n\nstruct vxlan_vni_stats_pcpu {\n\tstruct vxlan_vni_stats stats;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct vxlanhdr_gbp {\n\tu8 vx_flags;\n\tu8 reserved_flags1: 3;\n\tu8 policy_applied: 1;\n\tu8 reserved_flags2: 2;\n\tu8 dont_learn: 1;\n\tu8 reserved_flags3: 1;\n\t__be16 policy_id;\n\t__be32 vx_vni;\n};\n\nstruct vxlanhdr_gpe {\n\tu8 oam_flag: 1;\n\tu8 reserved_flags1: 1;\n\tu8 np_applied: 1;\n\tu8 instance_applied: 1;\n\tu8 version: 2;\n\tu8 reserved_flags2: 2;\n\tu8 reserved_flags3;\n\tu8 reserved_flags4;\n\tu8 next_protocol;\n\t__be32 vx_vni;\n};\n\nstruct wait_bit_key {\n\tlong unsigned int *flags;\n\tint bit_nr;\n\tlong unsigned int timeout;\n};\n\nstruct wait_bit_queue_entry {\n\tstruct wait_bit_key key;\n\tstruct wait_queue_entry wq_entry;\n};\n\nstruct wait_page_key {\n\tstruct folio *folio;\n\tint bit_nr;\n\tint page_match;\n};\n\nstruct waiting_dir_move {\n\tstruct rb_node node;\n\tu64 ino;\n\tu64 rmdir_ino;\n\tu64 rmdir_gen;\n\tbool orphanized;\n};\n\nstruct wake_irq {\n\tstruct device *dev;\n\tunsigned int status;\n\tint irq;\n\tconst char *name;\n};\n\nstruct wakeup_source {\n\tconst char *name;\n\tint id;\n\tstruct list_head entry;\n\tspinlock_t lock;\n\tstruct wake_irq *wakeirq;\n\tstruct timer_list timer;\n\tlong unsigned int timer_expires;\n\tktime_t total_time;\n\tktime_t max_time;\n\tktime_t last_time;\n\tktime_t start_prevent_time;\n\tktime_t prevent_sleep_time;\n\tlong unsigned int event_count;\n\tlong unsigned int active_count;\n\tlong unsigned int relax_count;\n\tlong unsigned int expire_count;\n\tlong unsigned int wakeup_count;\n\tstruct device *dev;\n\tbool active: 1;\n\tbool autosleep_enabled: 1;\n};\n\nstruct walk_control {\n\tu64 refs[8];\n\tu64 flags[8];\n\tstruct btrfs_key update_progress;\n\tstruct btrfs_key drop_progress;\n\tint drop_level;\n\tint stage;\n\tint level;\n\tint shared_level;\n\tint update_ref;\n\tint keep_locks;\n\tint reada_slot;\n\tint reada_count;\n\tint restarted;\n\tint lookup_info;\n};\n\nstruct walk_control___2 {\n\tint free;\n\tint pin;\n\tint stage;\n\tbool ignore_cur_inode;\n\tstruct btrfs_root *replay_dest;\n\tstruct btrfs_trans_handle *trans;\n\tint (*process_func)(struct btrfs_root *, struct extent_buffer *, struct walk_control___2 *, u64, int);\n};\n\nstruct walk_rcec_data {\n\tstruct pci_dev *rcec;\n\tint (*user_callback)(struct pci_dev *, void *);\n\tvoid *user_data;\n};\n\nstruct warn_args {\n\tconst char *fmt;\n\tva_list args;\n};\n\nstruct wb_lock_cookie {\n\tbool locked;\n\tlong unsigned int flags;\n};\n\nstruct wb_stats {\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_io;\n\tlong unsigned int nr_more_io;\n\tlong unsigned int nr_dirty_time;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_reclaimable;\n\tlong unsigned int nr_dirtied;\n\tlong unsigned int nr_written;\n\tlong unsigned int dirty_thresh;\n\tlong unsigned int wb_thresh;\n};\n\nstruct wb_writeback_work {\n\tlong int nr_pages;\n\tstruct super_block *sb;\n\tenum writeback_sync_modes sync_mode;\n\tunsigned int tagged_writepages: 1;\n\tunsigned int for_kupdate: 1;\n\tunsigned int range_cyclic: 1;\n\tunsigned int for_background: 1;\n\tunsigned int for_sync: 1;\n\tunsigned int auto_free: 1;\n\tenum wb_reason reason;\n\tstruct list_head list;\n\tstruct wb_completion *done;\n};\n\nstruct wbt_wait_data {\n\tstruct rq_wb *rwb;\n\tenum wbt_flags wb_acct;\n\tblk_opf_t opf;\n};\n\nstruct widget_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct hdac_device *, hda_nid_t, struct widget_attribute *, char *);\n\tssize_t (*store)(struct hdac_device *, hda_nid_t, struct widget_attribute *, const char *, size_t);\n};\n\nstruct rfkill;\n\nstruct wiphy_iftype_akm_suites;\n\nstruct wiphy_wowlan_support;\n\nstruct wiphy_iftype_ext_capab;\n\nstruct wiphy_coalesce_support;\n\nstruct wiphy_vendor_command;\n\nstruct wiphy_radio;\n\nstruct wiphy {\n\tstruct mutex mtx;\n\tu8 perm_addr[6];\n\tu8 addr_mask[6];\n\tstruct mac_address *addresses;\n\tconst struct ieee80211_txrx_stypes *mgmt_stypes;\n\tconst struct ieee80211_iface_combination *iface_combinations;\n\tint n_iface_combinations;\n\tu16 software_iftypes;\n\tu16 n_addresses;\n\tu16 interface_modes;\n\tu16 max_acl_mac_addrs;\n\tu32 flags;\n\tu32 regulatory_flags;\n\tu32 features;\n\tu8 ext_features[9];\n\tu32 ap_sme_capa;\n\tenum cfg80211_signal_type signal_type;\n\tint bss_priv_size;\n\tu8 max_scan_ssids;\n\tu8 max_sched_scan_reqs;\n\tu8 max_sched_scan_ssids;\n\tu8 max_match_sets;\n\tu16 max_scan_ie_len;\n\tu16 max_sched_scan_ie_len;\n\tu32 max_sched_scan_plans;\n\tu32 max_sched_scan_plan_interval;\n\tu32 max_sched_scan_plan_iterations;\n\tint n_cipher_suites;\n\tconst u32 *cipher_suites;\n\tint n_akm_suites;\n\tconst u32 *akm_suites;\n\tconst struct wiphy_iftype_akm_suites *iftype_akm_suites;\n\tunsigned int num_iftype_akm_suites;\n\tu8 retry_short;\n\tu8 retry_long;\n\tu32 frag_threshold;\n\tu32 rts_threshold;\n\tu8 coverage_class;\n\tchar fw_version[32];\n\tu32 hw_version;\n\tconst struct wiphy_wowlan_support *wowlan;\n\tstruct cfg80211_wowlan *wowlan_config;\n\tu16 max_remain_on_channel_duration;\n\tu8 max_num_pmkids;\n\tu32 available_antennas_tx;\n\tu32 available_antennas_rx;\n\tu32 probe_resp_offload;\n\tconst u8 *extended_capabilities;\n\tconst u8 *extended_capabilities_mask;\n\tu8 extended_capabilities_len;\n\tconst struct wiphy_iftype_ext_capab *iftype_ext_capab;\n\tunsigned int num_iftype_ext_capab;\n\tconst void *privid;\n\tstruct ieee80211_supported_band *bands[6];\n\tvoid (*reg_notifier)(struct wiphy *, struct regulatory_request *);\n\tconst struct ieee80211_regdomain *regd;\n\tstruct device dev;\n\tbool registered;\n\tstruct dentry *debugfsdir;\n\tconst struct ieee80211_ht_cap *ht_capa_mod_mask;\n\tconst struct ieee80211_vht_cap *vht_capa_mod_mask;\n\tstruct list_head wdev_list;\n\tpossible_net_t _net;\n\tconst struct iw_handler_def *wext;\n\tconst struct wiphy_coalesce_support *coalesce;\n\tconst struct wiphy_vendor_command *vendor_commands;\n\tconst struct nl80211_vendor_cmd_info *vendor_events;\n\tint n_vendor_commands;\n\tint n_vendor_events;\n\tu16 max_ap_assoc_sta;\n\tu8 max_num_csa_counters;\n\tu32 bss_select_support;\n\tu8 nan_supported_bands;\n\tu32 txq_limit;\n\tu32 txq_memory_limit;\n\tu32 txq_quantum;\n\tlong unsigned int tx_queue_len;\n\tu8 support_mbssid: 1;\n\tu8 support_only_he_mbssid: 1;\n\tconst struct cfg80211_pmsr_capabilities *pmsr_capa;\n\tstruct {\n\t\tu64 peer;\n\t\tu64 vif;\n\t\tu8 max_retry;\n\t} tid_config_support;\n\tu8 max_data_retry_count;\n\tconst struct cfg80211_sar_capa *sar_capa;\n\tstruct rfkill *rfkill;\n\tu8 mbssid_max_interfaces;\n\tu8 ema_max_profile_periodicity;\n\tu16 max_num_akm_suites;\n\tu16 hw_timestamp_max_peers;\n\tint n_radio;\n\tconst struct wiphy_radio *radio;\n\tlong: 64;\n\tchar priv[0];\n};\n\nstruct wiphy_coalesce_support {\n\tint n_rules;\n\tint max_delay;\n\tint n_patterns;\n\tint pattern_max_len;\n\tint pattern_min_len;\n\tint max_pkt_offset;\n};\n\nstruct wiphy_iftype_akm_suites {\n\tu16 iftypes_mask;\n\tconst u32 *akm_suites;\n\tint n_akm_suites;\n};\n\nstruct wiphy_iftype_ext_capab {\n\tenum nl80211_iftype iftype;\n\tconst u8 *extended_capabilities;\n\tconst u8 *extended_capabilities_mask;\n\tu8 extended_capabilities_len;\n\tu16 eml_capabilities;\n\tu16 mld_capa_and_ops;\n};\n\nstruct wiphy_radio_freq_range;\n\nstruct wiphy_radio {\n\tconst struct wiphy_radio_freq_range *freq_range;\n\tint n_freq_range;\n\tconst struct ieee80211_iface_combination *iface_combinations;\n\tint n_iface_combinations;\n\tu32 antenna_mask;\n};\n\nstruct wiphy_radio_freq_range {\n\tu32 start_freq;\n\tu32 end_freq;\n};\n\nstruct wiphy_vendor_command {\n\tstruct nl80211_vendor_cmd_info info;\n\tu32 flags;\n\tint (*doit)(struct wiphy *, struct wireless_dev *, const void *, int);\n\tint (*dumpit)(struct wiphy *, struct wireless_dev *, struct sk_buff *, const void *, int, long unsigned int *);\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n};\n\nstruct wiphy_work;\n\ntypedef void (*wiphy_work_func_t)(struct wiphy *, struct wiphy_work *);\n\nstruct wiphy_work {\n\tstruct list_head entry;\n\twiphy_work_func_t func;\n};\n\nstruct wiphy_wowlan_tcp_support;\n\nstruct wiphy_wowlan_support {\n\tu32 flags;\n\tint n_patterns;\n\tint pattern_max_len;\n\tint pattern_min_len;\n\tint max_pkt_offset;\n\tint max_nd_match_sets;\n\tconst struct wiphy_wowlan_tcp_support *tcp;\n};\n\nstruct wiphy_wowlan_tcp_support {\n\tconst struct nl80211_wowlan_tcp_data_token_feature *tok;\n\tu32 data_payload_max;\n\tu32 data_interval_max;\n\tu32 wake_payload_max;\n\tbool seq;\n};\n\nstruct cfg80211_conn;\n\nstruct cfg80211_cached_keys;\n\nstruct cfg80211_cqm_config;\n\nstruct cfg80211_internal_bss;\n\nstruct wireless_dev {\n\tstruct wiphy *wiphy;\n\tenum nl80211_iftype iftype;\n\tstruct list_head list;\n\tstruct net_device *netdev;\n\tu32 identifier;\n\tstruct list_head mgmt_registrations;\n\tu8 mgmt_registrations_need_update: 1;\n\tbool use_4addr;\n\tbool is_running;\n\tbool registered;\n\tbool registering;\n\tshort: 0;\n\tu8 address[6];\n\tstruct cfg80211_conn *conn;\n\tstruct cfg80211_cached_keys *connect_keys;\n\tenum ieee80211_bss_type conn_bss_type;\n\tu32 conn_owner_nlportid;\n\tstruct work_struct disconnect_wk;\n\tu8 disconnect_bssid[6];\n\tstruct list_head event_list;\n\tspinlock_t event_lock;\n\tu8 connected: 1;\n\tbool ps;\n\tint ps_timeout;\n\tu32 ap_unexpected_nlportid;\n\tu32 owner_nlportid;\n\tbool nl_owner_dead;\n\tstruct {\n\t\tstruct cfg80211_ibss_params ibss;\n\t\tstruct cfg80211_connect_params connect;\n\t\tstruct cfg80211_cached_keys *keys;\n\t\tconst u8 *ie;\n\t\tsize_t ie_len;\n\t\tu8 bssid[6];\n\t\tu8 prev_bssid[6];\n\t\tu8 ssid[32];\n\t\ts8 default_key;\n\t\ts8 default_mgmt_key;\n\t\tbool prev_bssid_valid;\n\t} wext;\n\tstruct wiphy_work cqm_rssi_work;\n\tstruct cfg80211_cqm_config *cqm_config;\n\tstruct list_head pmsr_list;\n\tspinlock_t pmsr_lock;\n\tstruct work_struct pmsr_free_wk;\n\tlong unsigned int unprot_beacon_reported;\n\tunion {\n\t\tstruct {\n\t\t\tu8 connected_addr[6];\n\t\t\tu8 ssid[32];\n\t\t\tu8 ssid_len;\n\t\t\tlong: 0;\n\t\t} client;\n\t\tstruct {\n\t\t\tint beacon_interval;\n\t\t\tstruct cfg80211_chan_def preset_chandef;\n\t\t\tstruct cfg80211_chan_def chandef;\n\t\t\tu8 id[32];\n\t\t\tu8 id_len;\n\t\t\tu8 id_up_len;\n\t\t} mesh;\n\t\tstruct {\n\t\t\tstruct cfg80211_chan_def preset_chandef;\n\t\t\tu8 ssid[32];\n\t\t\tu8 ssid_len;\n\t\t} ap;\n\t\tstruct {\n\t\t\tstruct cfg80211_internal_bss *current_bss;\n\t\t\tstruct cfg80211_chan_def chandef;\n\t\t\tint beacon_interval;\n\t\t\tu8 ssid[32];\n\t\t\tu8 ssid_len;\n\t\t} ibss;\n\t\tstruct {\n\t\t\tstruct cfg80211_chan_def chandef;\n\t\t} ocb;\n\t} u;\n\tstruct {\n\t\tu8 addr[6];\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tunsigned int beacon_interval;\n\t\t\t\tstruct cfg80211_chan_def chandef;\n\t\t\t} ap;\n\t\t\tstruct {\n\t\t\t\tstruct cfg80211_internal_bss *current_bss;\n\t\t\t} client;\n\t\t};\n\t\tbool cac_started;\n\t\tlong unsigned int cac_start_time;\n\t\tunsigned int cac_time_ms;\n\t} links[15];\n\tu16 valid_links;\n\tu32 radio_mask;\n};\n\nstruct wol_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_wolinfo wol;\n\tbool show_sopass;\n};\n\nstruct word_at_a_time {\n\tconst long unsigned int one_bits;\n\tconst long unsigned int high_bits;\n};\n\nstruct work_for_cpu {\n\tstruct work_struct work;\n\tlong int (*fn)(void *);\n\tvoid *arg;\n\tlong int ret;\n};\n\nstruct work_offq_data {\n\tu32 pool_id;\n\tu32 disable;\n\tu32 flags;\n};\n\nstruct worker {\n\tunion {\n\t\tstruct list_head entry;\n\t\tstruct hlist_node hentry;\n\t};\n\tstruct work_struct *current_work;\n\twork_func_t current_func;\n\tstruct pool_workqueue *current_pwq;\n\tu64 current_at;\n\tunsigned int current_color;\n\tint sleeping;\n\twork_func_t last_func;\n\tstruct list_head scheduled;\n\tstruct task_struct *task;\n\tstruct worker_pool *pool;\n\tstruct list_head node;\n\tlong unsigned int last_active;\n\tunsigned int flags;\n\tint id;\n\tchar desc[32];\n\tstruct workqueue_struct *rescue_wq;\n};\n\nstruct worker_pool {\n\traw_spinlock_t lock;\n\tint cpu;\n\tint node;\n\tint id;\n\tunsigned int flags;\n\tlong unsigned int watchdog_ts;\n\tbool cpu_stall;\n\tint nr_running;\n\tstruct list_head worklist;\n\tint nr_workers;\n\tint nr_idle;\n\tstruct list_head idle_list;\n\tstruct timer_list idle_timer;\n\tstruct work_struct idle_cull_work;\n\tstruct timer_list mayday_timer;\n\tstruct hlist_head busy_hash[64];\n\tstruct worker *manager;\n\tstruct list_head workers;\n\tstruct ida worker_ida;\n\tstruct workqueue_attrs *attrs;\n\tstruct hlist_node hash_node;\n\tint refcnt;\n\tstruct callback_head rcu;\n};\n\nstruct workqueue_attrs {\n\tint nice;\n\tcpumask_var_t cpumask;\n\tcpumask_var_t __pod_cpumask;\n\tbool affn_strict;\n\tenum wq_affn_scope affn_scope;\n\tbool ordered;\n};\n\nstruct wq_flusher;\n\nstruct wq_device;\n\nstruct wq_node_nr_active;\n\nstruct workqueue_struct {\n\tstruct list_head pwqs;\n\tstruct list_head list;\n\tstruct mutex mutex;\n\tint work_color;\n\tint flush_color;\n\tatomic_t nr_pwqs_to_flush;\n\tstruct wq_flusher *first_flusher;\n\tstruct list_head flusher_queue;\n\tstruct list_head flusher_overflow;\n\tstruct list_head maydays;\n\tstruct worker *rescuer;\n\tint nr_drainers;\n\tint max_active;\n\tint min_active;\n\tint saved_max_active;\n\tint saved_min_active;\n\tstruct workqueue_attrs *unbound_attrs;\n\tstruct pool_workqueue *dfl_pwq;\n\tstruct wq_device *wq_dev;\n\tchar name[32];\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tunsigned int flags;\n\tstruct pool_workqueue **cpu_pwq;\n\tstruct wq_node_nr_active *node_nr_active[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct workspace {\n\tvoid *mem;\n\tvoid *buf;\n\tvoid *cbuf;\n\tstruct list_head list;\n};\n\nstruct workspace___2 {\n\tvoid *mem;\n\tsize_t mem_size;\n\tsize_t window_size;\n};\n\nstruct z_stream_s {\n\tconst Byte *next_in;\n\tuLong avail_in;\n\tuLong total_in;\n\tByte *next_out;\n\tuLong avail_out;\n\tuLong total_out;\n\tchar *msg;\n\tstruct internal_state *state;\n\tvoid *workspace;\n\tint data_type;\n\tuLong adler;\n\tuLong reserved;\n};\n\nstruct workspace___3 {\n\tz_stream strm;\n\tchar *buf;\n\tunsigned int buf_size;\n\tstruct list_head list;\n\tint level;\n};\n\nstruct workspace___4 {\n\tvoid *mem;\n\tsize_t size;\n\tchar *buf;\n\tunsigned int level;\n\tunsigned int req_level;\n\tlong unsigned int last_used;\n\tstruct list_head list;\n\tstruct list_head lru_list;\n\tzstd_in_buffer in_buf;\n\tzstd_out_buffer out_buf;\n};\n\nstruct workspace_manager {\n\tstruct list_head idle_ws;\n\tspinlock_t ws_lock;\n\tint free_ws;\n\tatomic_t total_ws;\n\twait_queue_head_t ws_wait;\n};\n\nstruct wq_barrier {\n\tstruct work_struct work;\n\tstruct completion done;\n\tstruct task_struct *task;\n};\n\nstruct wq_device {\n\tstruct workqueue_struct *wq;\n\tstruct device dev;\n};\n\nstruct wq_drain_dead_softirq_work {\n\tstruct work_struct work;\n\tstruct worker_pool *pool;\n\tstruct completion done;\n};\n\nstruct wq_flusher {\n\tstruct list_head list;\n\tint flush_color;\n\tstruct completion done;\n};\n\nstruct wq_node_nr_active {\n\tint max;\n\tatomic_t nr;\n\traw_spinlock_t lock;\n\tstruct list_head pending_pwqs;\n};\n\nstruct wq_pod_type {\n\tint nr_pods;\n\tcpumask_var_t *pod_cpus;\n\tint *pod_node;\n\tint *cpu_pod;\n};\n\ntypedef void (*swap_func_t)(void *, void *, int);\n\nstruct wrapper {\n\tcmp_func_t cmp;\n\tswap_func_t swap;\n};\n\nstruct wrapper_priv_data {\n\tstruct dwc2_hsotg *hsotg;\n};\n\nstruct writeback_control {\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tenum writeback_sync_modes sync_mode;\n\tunsigned int for_kupdate: 1;\n\tunsigned int for_background: 1;\n\tunsigned int tagged_writepages: 1;\n\tunsigned int for_reclaim: 1;\n\tunsigned int range_cyclic: 1;\n\tunsigned int for_sync: 1;\n\tunsigned int unpinned_netfs_wb: 1;\n\tunsigned int no_cgroup_owner: 1;\n\tstruct swap_iocb **swap_plug;\n\tstruct list_head *list;\n\tstruct folio_batch fbatch;\n\tlong unsigned int index;\n\tint saved_err;\n\tstruct bdi_writeback *wb;\n\tstruct inode *inode;\n\tint wb_id;\n\tint wb_lcand_id;\n\tint wb_tcand_id;\n\tsize_t wb_bytes;\n\tsize_t wb_lcand_bytes;\n\tsize_t wb_tcand_bytes;\n};\n\nstruct writer {\n\tuint8_t *buffer;\n\tuint8_t previous_byte;\n\tsize_t buffer_pos;\n\tint bufsize;\n\tsize_t global_pos;\n\tlong int (*flush)(void *, long unsigned int);\n\tstruct lzma_header *header;\n};\n\nstruct ww_class {\n\tatomic_long_t stamp;\n\tstruct lock_class_key acquire_key;\n\tstruct lock_class_key mutex_key;\n\tconst char *acquire_name;\n\tconst char *mutex_name;\n\tunsigned int is_wait_die;\n};\n\nstruct wx_bus_info {\n\tu8 func;\n\tu16 device;\n};\n\nstruct wx_thermal_sensor_data {\n\ts16 temp;\n\ts16 alarm_thresh;\n\ts16 dalarm_thresh;\n};\n\nstruct wx_mac_info {\n\tenum wx_mac_type type;\n\tbool set_lben;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tu32 mta_shadow[128];\n\ts32 mc_filter_type;\n\tu32 mcft_size;\n\tu32 vft_shadow[128];\n\tu32 vft_size;\n\tu32 num_rar_entries;\n\tu32 rx_pb_size;\n\tu32 tx_pb_size;\n\tu32 max_tx_queues;\n\tu32 max_rx_queues;\n\tu16 max_msix_vectors;\n\tstruct wx_thermal_sensor_data sensor;\n};\n\nstruct wx_eeprom_info {\n\tenum wx_eeprom_type type;\n\tu32 semaphore_delay;\n\tu16 word_size;\n\tu16 sw_region_offset;\n};\n\nstruct wx_addr_filter_info {\n\tu32 num_mc_addrs;\n\tu32 mta_in_use;\n\tbool user_set_promisc;\n};\n\nstruct wx_fc_info {\n\tu32 high_water;\n\tu32 low_water;\n};\n\nstruct wx_ring_feature {\n\tu16 limit;\n\tu16 indices;\n\tu16 mask;\n\tu16 offset;\n};\n\nstruct wx_hw_stats {\n\tu64 gprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 bprc;\n\tu64 bptc;\n\tu64 mprc;\n\tu64 mptc;\n\tu64 roc;\n\tu64 ruc;\n\tu64 lxonoffrxc;\n\tu64 lxontxc;\n\tu64 lxofftxc;\n\tu64 o2bgptc;\n\tu64 b2ospc;\n\tu64 o2bspc;\n\tu64 b2ogprc;\n\tu64 rdmdrop;\n\tu64 crcerrs;\n\tu64 rlec;\n\tu64 qmprc;\n\tu64 fdirmatch;\n\tu64 fdirmiss;\n};\n\nstruct wx_mac_addr;\n\nstruct wx_ring;\n\nstruct wx_q_vector;\n\nstruct wx_tx_buffer;\n\nstruct wx {\n\tlong unsigned int active_vlans[64];\n\tlong unsigned int state[1];\n\tlong unsigned int flags[1];\n\tvoid *priv;\n\tu8 *hw_addr;\n\tstruct pci_dev *pdev;\n\tstruct net_device *netdev;\n\tstruct wx_bus_info bus;\n\tstruct wx_mac_info mac;\n\tenum em_mac_type mac_type;\n\tenum sp_media_type media_type;\n\tstruct wx_eeprom_info eeprom;\n\tstruct wx_addr_filter_info addr_ctrl;\n\tstruct wx_fc_info fc;\n\tstruct wx_mac_addr *mac_table;\n\tu16 device_id;\n\tu16 vendor_id;\n\tu16 subsystem_device_id;\n\tu16 subsystem_vendor_id;\n\tu8 revision_id;\n\tu16 oem_ssid;\n\tu16 oem_svid;\n\tu16 msg_enable;\n\tbool adapter_stopped;\n\tu16 tpid[8];\n\tchar eeprom_id[32];\n\tchar *driver_name;\n\tenum wx_reset_type reset_type;\n\tunsigned int link;\n\tint speed;\n\tint duplex;\n\tstruct phy_device *phydev;\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n\tbool wol_hw_supported;\n\tbool ncsi_enabled;\n\tbool gpio_ctrl;\n\traw_spinlock_t gpio_lock;\n\tint num_tx_queues;\n\tu16 tx_itr_setting;\n\tu16 tx_work_limit;\n\tint num_rx_queues;\n\tu16 rx_itr_setting;\n\tu16 rx_work_limit;\n\tint num_q_vectors;\n\tint max_q_vectors;\n\tu32 tx_ring_count;\n\tu32 rx_ring_count;\n\tstruct wx_ring *tx_ring[64];\n\tstruct wx_ring *rx_ring[64];\n\tstruct wx_q_vector *q_vector[64];\n\tunsigned int queues_per_pool;\n\tstruct msix_entry *msix_q_entries;\n\tstruct msix_entry *msix_entry;\n\tstruct wx_ring_feature ring_feature[3];\n\tdma_addr_t isb_dma;\n\tu32 *isb_mem;\n\tu32 isb_tag[4];\n\tbool misc_irq_domain;\n\tu8 rss_indir_tbl[128];\n\tbool rss_enabled;\n\tu32 *rss_key;\n\tu32 wol;\n\tu16 bd_number;\n\tstruct wx_hw_stats stats;\n\tu64 tx_busy;\n\tu64 non_eop_descs;\n\tu64 restart_queue;\n\tu64 hw_csum_rx_good;\n\tu64 hw_csum_rx_error;\n\tu64 alloc_rx_buff_failed;\n\tu32 atr_sample_rate;\n\tvoid (*atr)(struct wx_ring *, struct wx_tx_buffer *, u8);\n\tvoid (*configure_fdir)(struct wx *);\n\tvoid (*do_reset)(struct net_device *);\n};\n\nstruct wx_cb {\n\tdma_addr_t dma;\n\tu16 append_cnt;\n\tbool page_released;\n\tbool dma_released;\n};\n\nstruct wx_dec_ptype {\n\tu32 known: 1;\n\tu32 mac: 2;\n\tu32 ip: 3;\n\tu32 etype: 3;\n\tu32 eip: 3;\n\tu32 prot: 4;\n\tu32 layer: 3;\n};\n\nstruct wx_hic_hdr {\n\tu8 cmd;\n\tu8 buf_len;\n\tunion {\n\t\tu8 cmd_resv;\n\t\tu8 ret_status;\n\t} cmd_or_resp;\n\tu8 checksum;\n};\n\nstruct wx_hic_hdr2_req {\n\tu8 cmd;\n\tu8 buf_lenh;\n\tu8 buf_lenl;\n\tu8 checksum;\n};\n\nstruct wx_hic_hdr2_rsp {\n\tu8 cmd;\n\tu8 buf_lenl;\n\tu8 buf_lenh_status;\n\tu8 checksum;\n};\n\nunion wx_hic_hdr2 {\n\tstruct wx_hic_hdr2_req req;\n\tstruct wx_hic_hdr2_rsp rsp;\n};\n\nstruct wx_hic_read_shadow_ram {\n\tunion wx_hic_hdr2 hdr;\n\tu32 address;\n\tu16 length;\n\tu16 pad2;\n\tu16 data;\n\tu16 pad3;\n};\n\nstruct wx_mac_addr {\n\tu8 addr[6];\n\tu16 state;\n\tu64 pools;\n};\n\nstruct wx_ring_container {\n\tstruct wx_ring *ring;\n\tunsigned int total_bytes;\n\tunsigned int total_packets;\n\tu8 count;\n\tu8 itr;\n};\n\nstruct wx_queue_stats {\n\tu64 packets;\n\tu64 bytes;\n};\n\nstruct wx_tx_queue_stats {\n\tu64 restart_queue;\n\tu64 tx_busy;\n};\n\nstruct wx_rx_queue_stats {\n\tu64 non_eop_descs;\n\tu64 csum_good_cnt;\n\tu64 csum_err;\n\tu64 alloc_rx_buff_failed;\n};\n\nstruct wx_rx_buffer;\n\nstruct wx_ring {\n\tstruct wx_ring *next;\n\tstruct wx_q_vector *q_vector;\n\tstruct net_device *netdev;\n\tstruct device *dev;\n\tstruct page_pool *page_pool;\n\tvoid *desc;\n\tunion {\n\t\tstruct wx_tx_buffer *tx_buffer_info;\n\t\tstruct wx_rx_buffer *rx_buffer_info;\n\t};\n\tu8 *tail;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tu16 count;\n\tu8 queue_index;\n\tu8 reg_idx;\n\tu16 next_to_use;\n\tu16 next_to_clean;\n\tunion {\n\t\tu16 next_to_alloc;\n\t\tstruct {\n\t\t\tu8 atr_sample_rate;\n\t\t\tu8 atr_count;\n\t\t};\n\t};\n\tstruct wx_queue_stats stats;\n\tstruct u64_stats_sync syncp;\n\tunion {\n\t\tstruct wx_tx_queue_stats tx_stats;\n\t\tstruct wx_rx_queue_stats rx_stats;\n\t};\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct wx_q_vector {\n\tstruct wx *wx;\n\tint cpu;\n\tint numa_node;\n\tu16 v_idx;\n\tu16 itr;\n\tstruct wx_ring_container rx;\n\tstruct wx_ring_container tx;\n\tstruct napi_struct napi;\n\tstruct callback_head rcu;\n\tchar name[33];\n\tlong: 64;\n\tlong: 64;\n\tstruct wx_ring ring[0];\n};\n\nstruct wx_rx_buffer {\n\tstruct sk_buff *skb;\n\tdma_addr_t dma;\n\tdma_addr_t page_dma;\n\tstruct page *page;\n\tunsigned int page_offset;\n};\n\nunion wx_rx_desc {\n\tstruct {\n\t\t__le64 pkt_addr;\n\t\t__le64 hdr_addr;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\t__le32 data;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 pkt_info;\n\t\t\t\t\t__le16 hdr_info;\n\t\t\t\t} hs_rss;\n\t\t\t} lo_dword;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nstruct wx_stats {\n\tchar stat_string[32];\n\tsize_t sizeof_stat;\n\toff_t stat_offset;\n};\n\nunion wx_tx_desc;\n\nstruct wx_tx_buffer {\n\tunion wx_tx_desc *next_to_watch;\n\tstruct sk_buff *skb;\n\tunsigned int bytecount;\n\tshort unsigned int gso_segs;\n\tdma_addr_t dma;\n\t__u32 len;\n\t__be16 protocol;\n\tu32 tx_flags;\n};\n\nstruct wx_tx_context_desc {\n\t__le32 vlan_macip_lens;\n\t__le32 seqnum_seed;\n\t__le32 type_tucmd_mlhl;\n\t__le32 mss_l4len_idx;\n};\n\nunion wx_tx_desc {\n\tstruct {\n\t\t__le64 buffer_addr;\n\t\t__le32 cmd_type_len;\n\t\t__le32 olinfo_status;\n\t} read;\n\tstruct {\n\t\t__le64 rsvd;\n\t\t__le32 nxtseq_seed;\n\t\t__le32 status;\n\t} wb;\n};\n\nstruct x509_certificate {\n\tstruct x509_certificate *next;\n\tstruct x509_certificate *signer;\n\tstruct public_key *pub;\n\tstruct public_key_signature *sig;\n\tchar *issuer;\n\tchar *subject;\n\tstruct asymmetric_key_id *id;\n\tstruct asymmetric_key_id *skid;\n\ttime64_t valid_from;\n\ttime64_t valid_to;\n\tconst void *tbs;\n\tunsigned int tbs_size;\n\tunsigned int raw_sig_size;\n\tconst void *raw_sig;\n\tconst void *raw_serial;\n\tunsigned int raw_serial_size;\n\tunsigned int raw_issuer_size;\n\tconst void *raw_issuer;\n\tconst void *raw_subject;\n\tunsigned int raw_subject_size;\n\tunsigned int raw_skid_size;\n\tconst void *raw_skid;\n\tunsigned int index;\n\tbool seen;\n\tbool verified;\n\tbool self_signed;\n\tbool unsupported_sig;\n\tbool blacklisted;\n};\n\nstruct x509_parse_context {\n\tstruct x509_certificate *cert;\n\tlong unsigned int data;\n\tconst void *key;\n\tsize_t key_size;\n\tconst void *params;\n\tsize_t params_size;\n\tenum OID key_algo;\n\tenum OID last_oid;\n\tenum OID sig_algo;\n\tu8 o_size;\n\tu8 cn_size;\n\tu8 email_size;\n\tu16 o_offset;\n\tu16 cn_offset;\n\tu16 email_offset;\n\tunsigned int raw_akid_size;\n\tconst void *raw_akid;\n\tconst void *akid_raw_issuer;\n\tunsigned int akid_raw_issuer_size;\n};\n\nstruct xa_limit {\n\tu32 max;\n\tu32 min;\n};\n\nstruct xa_node {\n\tunsigned char shift;\n\tunsigned char offset;\n\tunsigned char count;\n\tunsigned char nr_values;\n\tstruct xa_node *parent;\n\tstruct xarray *array;\n\tunion {\n\t\tstruct list_head private_list;\n\t\tstruct callback_head callback_head;\n\t};\n\tvoid *slots[64];\n\tunion {\n\t\tlong unsigned int tags[3];\n\t\tlong unsigned int marks[3];\n\t};\n};\n\ntypedef void (*xa_update_node_t)(struct xa_node *);\n\nstruct xa_state {\n\tstruct xarray *xa;\n\tlong unsigned int xa_index;\n\tunsigned char xa_shift;\n\tunsigned char xa_sibs;\n\tunsigned char xa_offset;\n\tunsigned char xa_pad;\n\tstruct xa_node *xa_node;\n\tstruct xa_node *xa_alloc;\n\txa_update_node_t xa_update;\n\tstruct list_lru *xa_lru;\n};\n\nstruct xattr {\n\tconst char *name;\n\tvoid *value;\n\tsize_t value_len;\n};\n\nstruct xattr_args {\n\t__u64 value;\n\t__u32 size;\n\t__u32 flags;\n};\n\nstruct xattr_handler {\n\tconst char *name;\n\tconst char *prefix;\n\tint flags;\n\tbool (*list)(struct dentry *);\n\tint (*get)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, void *, size_t);\n\tint (*set)(const struct xattr_handler *, struct mnt_idmap *, struct dentry *, struct inode *, const char *, const void *, size_t, int);\n};\n\nstruct xattr_name {\n\tchar name[256];\n};\n\nstruct xbtree_afakeroot {\n\txfs_agblock_t af_root;\n\tunsigned int af_levels;\n\tunsigned int af_blocks;\n};\n\nstruct xfs_ifork;\n\nstruct xbtree_ifakeroot {\n\tstruct xfs_ifork *if_fork;\n\tint64_t if_blocks;\n\tunsigned int if_levels;\n\tunsigned int if_fork_size;\n};\n\nstruct xdomain_request_work {\n\tstruct work_struct work;\n\tstruct tb_xdp_header *pkg;\n\tstruct tb *tb;\n};\n\nstruct xdp_attachment_info {\n\tstruct bpf_prog *prog;\n\tu32 flags;\n};\n\nstruct xdp_buff_xsk {\n\tstruct xdp_buff xdp;\n\tu8 cb[24];\n\tdma_addr_t dma;\n\tdma_addr_t frame_dma;\n\tstruct xsk_buff_pool *pool;\n\tstruct list_head list_node;\n\tlong: 64;\n};\n\nstruct xdp_bulk_queue {\n\tvoid *q[8];\n\tstruct list_head flush_node;\n\tstruct bpf_cpu_map_entry *obj;\n\tunsigned int count;\n};\n\nstruct xdp_cpumap_stats {\n\tunsigned int redirect;\n\tunsigned int pass;\n\tunsigned int drop;\n};\n\nstruct xdp_desc {\n\t__u64 addr;\n\t__u32 len;\n\t__u32 options;\n};\n\nstruct xdp_dev_bulk_queue {\n\tstruct xdp_frame *q[16];\n\tstruct list_head flush_node;\n\tstruct net_device *dev;\n\tstruct net_device *dev_rx;\n\tstruct bpf_prog *xdp_prog;\n\tunsigned int count;\n};\n\nstruct xdp_frame {\n\tvoid *data;\n\tu32 len;\n\tu32 headroom;\n\tu32 metasize;\n\tenum xdp_mem_type mem_type: 32;\n\tstruct net_device *dev_rx;\n\tu32 frame_sz;\n\tu32 flags;\n};\n\nstruct xdp_frame_bulk {\n\tint count;\n\tnetmem_ref q[16];\n};\n\nstruct xdp_mem_allocator {\n\tstruct xdp_mem_info mem;\n\tunion {\n\t\tvoid *allocator;\n\t\tstruct page_pool *page_pool;\n\t};\n\tstruct rhash_head node;\n\tstruct callback_head rcu;\n};\n\nstruct xdp_metadata_ops {\n\tint (*xmo_rx_timestamp)(const struct xdp_md *, u64 *);\n\tint (*xmo_rx_hash)(const struct xdp_md *, u32 *, enum xdp_rss_hash_type *);\n\tint (*xmo_rx_vlan_tag)(const struct xdp_md *, __be16 *, u16 *);\n};\n\nstruct xdp_ring_offset {\n\t__u64 producer;\n\t__u64 consumer;\n\t__u64 desc;\n\t__u64 flags;\n};\n\nstruct xdp_mmap_offsets {\n\tstruct xdp_ring_offset rx;\n\tstruct xdp_ring_offset tx;\n\tstruct xdp_ring_offset fr;\n\tstruct xdp_ring_offset cr;\n};\n\nstruct xdp_ring_offset_v1 {\n\t__u64 producer;\n\t__u64 consumer;\n\t__u64 desc;\n};\n\nstruct xdp_mmap_offsets_v1 {\n\tstruct xdp_ring_offset_v1 rx;\n\tstruct xdp_ring_offset_v1 tx;\n\tstruct xdp_ring_offset_v1 fr;\n\tstruct xdp_ring_offset_v1 cr;\n};\n\nstruct xdp_options {\n\t__u32 flags;\n};\n\nstruct xdp_page_head {\n\tstruct xdp_buff orig_ctx;\n\tstruct xdp_buff ctx;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_frame;\n\t\t\tstruct xdp_frame frame[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\tu8 data[0];\n\t\t};\n\t};\n};\n\nstruct xdp_ring {\n\tu32 producer;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 pad1;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 consumer;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 pad2;\n\tu32 flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 pad3;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xdp_rxtx_ring {\n\tstruct xdp_ring ptrs;\n\tstruct xdp_desc desc[0];\n};\n\nstruct xsk_queue;\n\nstruct xdp_umem;\n\nstruct xdp_sock {\n\tstruct sock sk;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xsk_queue *rx;\n\tstruct net_device *dev;\n\tstruct xdp_umem *umem;\n\tstruct list_head flush_node;\n\tstruct xsk_buff_pool *pool;\n\tu16 queue_id;\n\tbool zc;\n\tbool sg;\n\tenum {\n\t\tXSK_READY = 0,\n\t\tXSK_BOUND = 1,\n\t\tXSK_UNBOUND = 2,\n\t} state;\n\tlong: 64;\n\tstruct xsk_queue *tx;\n\tstruct list_head tx_list;\n\tu32 tx_budget_spent;\n\tspinlock_t rx_lock;\n\tu64 rx_dropped;\n\tu64 rx_queue_full;\n\tstruct sk_buff *skb;\n\tstruct list_head map_list;\n\tspinlock_t map_list_lock;\n\tstruct mutex mutex;\n\tstruct xsk_queue *fq_tmp;\n\tstruct xsk_queue *cq_tmp;\n};\n\nstruct xdp_statistics {\n\t__u64 rx_dropped;\n\t__u64 rx_invalid_descs;\n\t__u64 tx_invalid_descs;\n\t__u64 rx_ring_full;\n\t__u64 rx_fill_ring_empty_descs;\n\t__u64 tx_ring_empty_descs;\n};\n\nstruct xdp_test_data {\n\tstruct xdp_buff *orig_ctx;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info rxq;\n\tstruct net_device *dev;\n\tstruct page_pool *pp;\n\tstruct xdp_frame **frames;\n\tstruct sk_buff **skbs;\n\tstruct xdp_mem_info mem;\n\tu32 batch_size;\n\tu32 frame_cnt;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xdp_txq_info {\n\tstruct net_device *dev;\n};\n\nstruct xdp_umem {\n\tvoid *addrs;\n\tu64 size;\n\tu32 headroom;\n\tu32 chunk_size;\n\tu32 chunks;\n\tu32 npgs;\n\tstruct user_struct *user;\n\trefcount_t users;\n\tu8 flags;\n\tu8 tx_metadata_len;\n\tbool zc;\n\tstruct page **pgs;\n\tint id;\n\tstruct list_head xsk_dma_list;\n\tstruct work_struct work;\n};\n\nstruct xdp_umem_reg {\n\t__u64 addr;\n\t__u64 len;\n\t__u32 chunk_size;\n\t__u32 headroom;\n\t__u32 flags;\n\t__u32 tx_metadata_len;\n};\n\nstruct xdp_umem_ring {\n\tstruct xdp_ring ptrs;\n\tu64 desc[0];\n};\n\nstruct xdr_skb_reader {\n\tstruct sk_buff *skb;\n\tunsigned int offset;\n\tsize_t count;\n\t__wsum csum;\n};\n\nunion xfs_btree_ptr {\n\t__be32 s;\n\t__be64 l;\n};\n\nstruct xfs_buftarg;\n\nstruct xfbtree {\n\tstruct xfs_buftarg *target;\n\txfbno_t highest_bno;\n\tlong long unsigned int owner;\n\tunion xfs_btree_ptr root;\n\tunsigned int nlevels;\n\tunsigned int maxrecs[2];\n\tunsigned int minrecs[2];\n};\n\nstruct xfrm4_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*input_handler)(struct sk_buff *, int, __be32, int);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tstruct xfrm4_protocol *next;\n\tint priority;\n};\n\nstruct xfrm6_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*input_handler)(struct sk_buff *, int, __be32, int);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n\tstruct xfrm6_protocol *next;\n\tint priority;\n};\n\nstruct xfrm_address_filter {\n\txfrm_address_t saddr;\n\txfrm_address_t daddr;\n\t__u16 family;\n\t__u8 splen;\n\t__u8 dplen;\n};\n\nstruct xfrm_aead_name {\n\tconst char *name;\n\tint icvbits;\n};\n\nstruct xfrm_usersa_id {\n\txfrm_address_t daddr;\n\t__be32 spi;\n\t__u16 family;\n\t__u8 proto;\n};\n\nstruct xfrm_aevent_id {\n\tstruct xfrm_usersa_id sa_id;\n\txfrm_address_t saddr;\n\t__u32 flags;\n\t__u32 reqid;\n};\n\nstruct xfrm_algo {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_aead {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tunsigned int alg_icv_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_aead_info {\n\tchar *geniv;\n\tu16 icv_truncbits;\n};\n\nstruct xfrm_algo_auth {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tunsigned int alg_trunc_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_auth_info {\n\tu16 icv_truncbits;\n\tu16 icv_fullbits;\n};\n\nstruct xfrm_algo_comp_info {\n\tu16 threshold;\n};\n\nstruct xfrm_algo_encr_info {\n\tchar *geniv;\n\tu16 blockbits;\n\tu16 defkeybits;\n};\n\nstruct xfrm_algo_desc {\n\tchar *name;\n\tchar *compat;\n\tu8 available: 1;\n\tu8 pfkey_supported: 1;\n\tunion {\n\t\tstruct xfrm_algo_aead_info aead;\n\t\tstruct xfrm_algo_auth_info auth;\n\t\tstruct xfrm_algo_encr_info encr;\n\t\tstruct xfrm_algo_comp_info comp;\n\t} uinfo;\n\tstruct sadb_alg desc;\n};\n\nstruct xfrm_algo_list {\n\tint (*find)(const char *, u32, u32);\n\tstruct xfrm_algo_desc *algs;\n\tint entries;\n};\n\nstruct xfrm_dev_offload {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net_device *real_dev;\n\tlong unsigned int offload_handle;\n\tu8 dir: 2;\n\tu8 type: 2;\n\tu8 flags: 2;\n};\n\nstruct xfrm_dst {\n\tunion {\n\t\tstruct dst_entry dst;\n\t\tstruct rtable rt;\n\t\tstruct rt6_info rt6;\n\t} u;\n\tstruct dst_entry *route;\n\tstruct dst_entry *child;\n\tstruct dst_entry *path;\n\tstruct xfrm_policy *pols[2];\n\tint num_pols;\n\tint num_xfrms;\n\tu32 xfrm_genid;\n\tu32 policy_genid;\n\tu32 route_mtu_cached;\n\tu32 child_mtu_cached;\n\tu32 route_cookie;\n\tu32 path_cookie;\n};\n\nstruct xfrm_dst_lookup_params {\n\tstruct net *net;\n\tdscp_t dscp;\n\tint oif;\n\txfrm_address_t *saddr;\n\txfrm_address_t *daddr;\n\tu32 mark;\n\t__u8 ipproto;\n\tunion flowi_uli uli;\n};\n\nstruct xfrm_dump_info {\n\tstruct sk_buff *in_skb;\n\tstruct sk_buff *out_skb;\n\tu32 nlmsg_seq;\n\tu16 nlmsg_flags;\n};\n\nstruct xfrm_encap_tmpl {\n\t__u16 encap_type;\n\t__be16 encap_sport;\n\t__be16 encap_dport;\n\txfrm_address_t encap_oa;\n};\n\nstruct xfrm_flo {\n\tstruct dst_entry *dst_orig;\n\tu8 flags;\n};\n\nstruct xfrm_flow_keys {\n\tstruct flow_dissector_key_basic basic;\n\tstruct flow_dissector_key_control control;\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs ipv4;\n\t\tstruct flow_dissector_key_ipv6_addrs ipv6;\n\t} addrs;\n\tstruct flow_dissector_key_ip ip;\n\tstruct flow_dissector_key_icmp icmp;\n\tstruct flow_dissector_key_ports ports;\n\tstruct flow_dissector_key_keyid gre;\n};\n\nstruct xfrm_hash_state_ptrs {\n\tconst struct hlist_head *bydst;\n\tconst struct hlist_head *bysrc;\n\tconst struct hlist_head *byspi;\n\tunsigned int hmask;\n};\n\nstruct xfrm_id {\n\txfrm_address_t daddr;\n\t__be32 spi;\n\t__u8 proto;\n};\n\nstruct xfrm_if_decode_session_result;\n\nstruct xfrm_if_cb {\n\tbool (*decode_session)(struct sk_buff *, short unsigned int, struct xfrm_if_decode_session_result *);\n};\n\nstruct xfrm_if_decode_session_result {\n\tstruct net *net;\n\tu32 if_id;\n};\n\nstruct xfrm_input_afinfo {\n\tu8 family;\n\tbool is_ipip;\n\tint (*callback)(struct sk_buff *, u8, int);\n};\n\nstruct xfrm_kmaddress {\n\txfrm_address_t local;\n\txfrm_address_t remote;\n\tu32 reserved;\n\tu16 family;\n};\n\nstruct xfrm_lifetime_cfg {\n\t__u64 soft_byte_limit;\n\t__u64 hard_byte_limit;\n\t__u64 soft_packet_limit;\n\t__u64 hard_packet_limit;\n\t__u64 soft_add_expires_seconds;\n\t__u64 hard_add_expires_seconds;\n\t__u64 soft_use_expires_seconds;\n\t__u64 hard_use_expires_seconds;\n};\n\nstruct xfrm_lifetime_cur {\n\t__u64 bytes;\n\t__u64 packets;\n\t__u64 add_time;\n\t__u64 use_time;\n};\n\nstruct xfrm_link {\n\tint (*doit)(struct sk_buff *, struct nlmsghdr *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*start)(struct netlink_callback *);\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tconst struct nla_policy *nla_pol;\n\tint nla_max;\n};\n\nstruct xfrm_mark {\n\t__u32 v;\n\t__u32 m;\n};\n\nstruct xfrm_tmpl;\n\nstruct xfrm_selector;\n\nstruct xfrm_migrate;\n\nstruct xfrm_mgr {\n\tstruct list_head list;\n\tint (*notify)(struct xfrm_state *, const struct km_event *);\n\tint (*acquire)(struct xfrm_state *, struct xfrm_tmpl *, struct xfrm_policy *);\n\tstruct xfrm_policy * (*compile_policy)(struct sock *, int, u8 *, int, int *);\n\tint (*new_mapping)(struct xfrm_state *, xfrm_address_t *, __be16);\n\tint (*notify_policy)(struct xfrm_policy *, int, const struct km_event *);\n\tint (*report)(struct net *, u8, struct xfrm_selector *, xfrm_address_t *);\n\tint (*migrate)(const struct xfrm_selector *, u8, u8, const struct xfrm_migrate *, int, const struct xfrm_kmaddress *, const struct xfrm_encap_tmpl *);\n\tbool (*is_alive)(const struct km_event *);\n};\n\nstruct xfrm_migrate {\n\txfrm_address_t old_daddr;\n\txfrm_address_t old_saddr;\n\txfrm_address_t new_daddr;\n\txfrm_address_t new_saddr;\n\tu8 proto;\n\tu8 mode;\n\tu16 reserved;\n\tu32 reqid;\n\tu16 old_family;\n\tu16 new_family;\n};\n\nstruct xfrm_mode {\n\tu8 encap;\n\tu8 family;\n\tu8 flags;\n};\n\nstruct xfrm_mode_cbs {\n\tstruct module *owner;\n\tint (*init_state)(struct xfrm_state *);\n\tint (*clone_state)(struct xfrm_state *, struct xfrm_state *);\n\tvoid (*destroy_state)(struct xfrm_state *);\n\tint (*user_init)(struct net *, struct xfrm_state *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*copy_to_user)(struct xfrm_state *, struct sk_buff *);\n\tunsigned int (*sa_len)(const struct xfrm_state *);\n\tu32 (*get_inner_mtu)(struct xfrm_state *, int);\n\tint (*input)(struct xfrm_state *, struct sk_buff *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*prepare_output)(struct xfrm_state *, struct sk_buff *);\n};\n\nstruct xfrm_tunnel_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tunion {\n\t\tstruct ip_tunnel *ip4;\n\t\tstruct ip6_tnl *ip6;\n\t} tunnel;\n};\n\nstruct xfrm_mode_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\t__be16 id;\n\t__be16 frag_off;\n\tu8 ihl;\n\tu8 tos;\n\tu8 ttl;\n\tu8 protocol;\n\tu8 optlen;\n\tu8 flow_lbl[3];\n};\n\nstruct xfrm_pol_inexact_key {\n\tpossible_net_t net;\n\tu32 if_id;\n\tu16 family;\n\tu8 dir;\n\tu8 type;\n};\n\nstruct xfrm_pol_inexact_bin {\n\tstruct xfrm_pol_inexact_key k;\n\tstruct rhash_head head;\n\tstruct hlist_head hhead;\n\tseqcount_spinlock_t count;\n\tstruct rb_root root_d;\n\tstruct rb_root root_s;\n\tstruct list_head inexact_bins;\n\tstruct callback_head rcu;\n};\n\nstruct xfrm_pol_inexact_candidates {\n\tstruct hlist_head *res[4];\n};\n\nstruct xfrm_pol_inexact_node {\n\tstruct rb_node node;\n\tunion {\n\t\txfrm_address_t addr;\n\t\tstruct callback_head rcu;\n\t};\n\tu8 prefixlen;\n\tstruct rb_root root;\n\tstruct hlist_head hhead;\n};\n\nstruct xfrm_selector {\n\txfrm_address_t daddr;\n\txfrm_address_t saddr;\n\t__be16 dport;\n\t__be16 dport_mask;\n\t__be16 sport;\n\t__be16 sport_mask;\n\t__u16 family;\n\t__u8 prefixlen_d;\n\t__u8 prefixlen_s;\n\t__u8 proto;\n\tint ifindex;\n\t__kernel_uid32_t user;\n};\n\nstruct xfrm_policy_queue {\n\tstruct sk_buff_head hold_queue;\n\tstruct timer_list hold_timer;\n\tlong unsigned int timeout;\n};\n\nstruct xfrm_tmpl {\n\tstruct xfrm_id id;\n\txfrm_address_t saddr;\n\tshort unsigned int encap_family;\n\tu32 reqid;\n\tu8 mode;\n\tu8 share;\n\tu8 optional;\n\tu8 allalgs;\n\tu32 aalgos;\n\tu32 ealgos;\n\tu32 calgos;\n};\n\nstruct xfrm_sec_ctx;\n\nstruct xfrm_policy {\n\tpossible_net_t xp_net;\n\tstruct hlist_node bydst;\n\tstruct hlist_node byidx;\n\tstruct hlist_head state_cache_list;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\tu32 pos;\n\tstruct timer_list timer;\n\tatomic_t genid;\n\tu32 priority;\n\tu32 index;\n\tu32 if_id;\n\tstruct xfrm_mark mark;\n\tstruct xfrm_selector selector;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_lifetime_cur curlft;\n\tstruct xfrm_policy_walk_entry walk;\n\tstruct xfrm_policy_queue polq;\n\tbool bydst_reinsert;\n\tu8 type;\n\tu8 action;\n\tu8 flags;\n\tu8 xfrm_nr;\n\tu16 family;\n\tstruct xfrm_sec_ctx *security;\n\tstruct xfrm_tmpl xfrm_vec[6];\n\tstruct callback_head rcu;\n\tstruct xfrm_dev_offload xdo;\n};\n\nstruct xfrm_policy_afinfo {\n\tstruct dst_ops *dst_ops;\n\tstruct dst_entry * (*dst_lookup)(const struct xfrm_dst_lookup_params *);\n\tint (*get_saddr)(xfrm_address_t *, const struct xfrm_dst_lookup_params *);\n\tint (*fill_dst)(struct xfrm_dst *, struct net_device *, const struct flowi *);\n\tstruct dst_entry * (*blackhole_route)(struct net *, struct dst_entry *);\n};\n\nstruct xfrm_replay_state {\n\t__u32 oseq;\n\t__u32 seq;\n\t__u32 bitmap;\n};\n\nstruct xfrm_replay_state_esn {\n\tunsigned int bmp_len;\n\t__u32 oseq;\n\t__u32 seq;\n\t__u32 oseq_hi;\n\t__u32 seq_hi;\n\t__u32 replay_window;\n\t__u32 bmp[0];\n};\n\nstruct xfrm_sec_ctx {\n\t__u8 ctx_doi;\n\t__u8 ctx_alg;\n\t__u16 ctx_len;\n\t__u32 ctx_sid;\n\tchar ctx_str[0];\n};\n\nstruct xfrm_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 low;\n\t\t\t__u32 hi;\n\t\t} output;\n\t\tstruct {\n\t\t\t__be32 low;\n\t\t\t__be32 hi;\n\t\t} input;\n\t} seq;\n};\n\nstruct xfrm_spi_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\tunsigned int daddroff;\n\tunsigned int family;\n\t__be32 seq;\n};\n\nstruct xfrm_stats {\n\t__u32 replay_window;\n\t__u32 replay;\n\t__u32 integrity_failed;\n};\n\nstruct xfrm_type;\n\nstruct xfrm_type_offload;\n\nstruct xfrm_state {\n\tpossible_net_t xs_net;\n\tunion {\n\t\tstruct hlist_node gclist;\n\t\tstruct hlist_node bydst;\n\t};\n\tunion {\n\t\tstruct hlist_node dev_gclist;\n\t\tstruct hlist_node bysrc;\n\t};\n\tstruct hlist_node byspi;\n\tstruct hlist_node byseq;\n\tstruct hlist_node state_cache;\n\tstruct hlist_node state_cache_input;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tu32 pcpu_num;\n\tstruct xfrm_id id;\n\tstruct xfrm_selector sel;\n\tstruct xfrm_mark mark;\n\tu32 if_id;\n\tu32 tfcpad;\n\tu32 genid;\n\tstruct xfrm_state_walk km;\n\tstruct {\n\t\tu32 reqid;\n\t\tu8 mode;\n\t\tu8 replay_window;\n\t\tu8 aalgo;\n\t\tu8 ealgo;\n\t\tu8 calgo;\n\t\tu8 flags;\n\t\tu16 family;\n\t\txfrm_address_t saddr;\n\t\tint header_len;\n\t\tint enc_hdr_len;\n\t\tint trailer_len;\n\t\tu32 extra_flags;\n\t\tstruct xfrm_mark smark;\n\t} props;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_algo_auth *aalg;\n\tstruct xfrm_algo *ealg;\n\tstruct xfrm_algo *calg;\n\tstruct xfrm_algo_aead *aead;\n\tconst char *geniv;\n\t__be16 new_mapping_sport;\n\tu32 new_mapping;\n\tu32 mapping_maxage;\n\tstruct xfrm_encap_tmpl *encap;\n\tstruct sock *encap_sk;\n\tu32 nat_keepalive_interval;\n\ttime64_t nat_keepalive_expiration;\n\txfrm_address_t *coaddr;\n\tstruct xfrm_state *tunnel;\n\tatomic_t tunnel_users;\n\tstruct xfrm_replay_state replay;\n\tstruct xfrm_replay_state_esn *replay_esn;\n\tstruct xfrm_replay_state preplay;\n\tstruct xfrm_replay_state_esn *preplay_esn;\n\tenum xfrm_replay_mode repl_mode;\n\tu32 xflags;\n\tu32 replay_maxage;\n\tu32 replay_maxdiff;\n\tstruct timer_list rtimer;\n\tstruct xfrm_stats stats;\n\tstruct xfrm_lifetime_cur curlft;\n\tstruct hrtimer mtimer;\n\tstruct xfrm_dev_offload xso;\n\tlong int saved_tmo;\n\ttime64_t lastused;\n\tstruct page_frag xfrag;\n\tconst struct xfrm_type *type;\n\tstruct xfrm_mode inner_mode;\n\tstruct xfrm_mode inner_mode_iaf;\n\tstruct xfrm_mode outer_mode;\n\tconst struct xfrm_type_offload *type_offload;\n\tstruct xfrm_sec_ctx *security;\n\tvoid *data;\n\tu8 dir;\n\tconst struct xfrm_mode_cbs *mode_cbs;\n\tvoid *mode_data;\n};\n\nstruct xfrm_state_afinfo {\n\tu8 family;\n\tu8 proto;\n\tconst struct xfrm_type_offload *type_offload_esp;\n\tconst struct xfrm_type *type_esp;\n\tconst struct xfrm_type *type_ipip;\n\tconst struct xfrm_type *type_ipip6;\n\tconst struct xfrm_type *type_comp;\n\tconst struct xfrm_type *type_ah;\n\tconst struct xfrm_type *type_routing;\n\tconst struct xfrm_type *type_dstopts;\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*transport_finish)(struct sk_buff *, int);\n\tvoid (*local_error)(struct sk_buff *, u32);\n};\n\nstruct xfrm_trans_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tint (*finish)(struct net *, struct sock *, struct sk_buff *);\n\tstruct net *net;\n};\n\nstruct xfrm_trans_tasklet {\n\tstruct work_struct work;\n\tspinlock_t queue_lock;\n\tstruct sk_buff_head queue;\n};\n\nstruct xfrm_translator {\n\tint (*alloc_compat)(struct sk_buff *, const struct nlmsghdr *);\n\tstruct nlmsghdr * (*rcv_msg_compat)(const struct nlmsghdr *, int, const struct nla_policy *, struct netlink_ext_ack *);\n\tint (*xlate_user_policy_sockptr)(u8 **, int);\n\tstruct module *owner;\n};\n\nstruct xfrm_tunnel {\n\tint (*handler)(struct sk_buff *);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tstruct xfrm_tunnel *next;\n\tint priority;\n};\n\nstruct xfrm_type {\n\tstruct module *owner;\n\tu8 proto;\n\tu8 flags;\n\tint (*init_state)(struct xfrm_state *, struct netlink_ext_ack *);\n\tvoid (*destructor)(struct xfrm_state *);\n\tint (*input)(struct xfrm_state *, struct sk_buff *);\n\tint (*output)(struct xfrm_state *, struct sk_buff *);\n\tint (*reject)(struct xfrm_state *, struct sk_buff *, const struct flowi *);\n};\n\nstruct xfrm_type_offload {\n\tstruct module *owner;\n\tu8 proto;\n\tvoid (*encap)(struct xfrm_state *, struct sk_buff *);\n\tint (*input_tail)(struct xfrm_state *, struct sk_buff *);\n\tint (*xmit)(struct xfrm_state *, struct sk_buff *, netdev_features_t);\n};\n\nstruct xfrm_userpolicy_info {\n\tstruct xfrm_selector sel;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_lifetime_cur curlft;\n\t__u32 priority;\n\t__u32 index;\n\t__u8 dir;\n\t__u8 action;\n\t__u8 flags;\n\t__u8 share;\n};\n\nstruct xfrm_user_acquire {\n\tstruct xfrm_id id;\n\txfrm_address_t saddr;\n\tstruct xfrm_selector sel;\n\tstruct xfrm_userpolicy_info policy;\n\t__u32 aalgos;\n\t__u32 ealgos;\n\t__u32 calgos;\n\t__u32 seq;\n};\n\nstruct xfrm_usersa_info {\n\tstruct xfrm_selector sel;\n\tstruct xfrm_id id;\n\txfrm_address_t saddr;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_lifetime_cur curlft;\n\tstruct xfrm_stats stats;\n\t__u32 seq;\n\t__u32 reqid;\n\t__u16 family;\n\t__u8 mode;\n\t__u8 replay_window;\n\t__u8 flags;\n};\n\nstruct xfrm_user_expire {\n\tstruct xfrm_usersa_info state;\n\t__u8 hard;\n};\n\nstruct xfrm_user_mapping {\n\tstruct xfrm_usersa_id id;\n\t__u32 reqid;\n\txfrm_address_t old_saddr;\n\txfrm_address_t new_saddr;\n\t__be16 old_sport;\n\t__be16 new_sport;\n};\n\nstruct xfrm_user_offload {\n\tint ifindex;\n\t__u8 flags;\n};\n\nstruct xfrm_user_polexpire {\n\tstruct xfrm_userpolicy_info pol;\n\t__u8 hard;\n};\n\nstruct xfrm_user_report {\n\t__u8 proto;\n\tstruct xfrm_selector sel;\n};\n\nstruct xfrm_user_sec_ctx {\n\t__u16 len;\n\t__u16 exttype;\n\t__u8 ctx_alg;\n\t__u8 ctx_doi;\n\t__u16 ctx_len;\n};\n\nstruct xfrm_user_tmpl {\n\tstruct xfrm_id id;\n\t__u16 family;\n\txfrm_address_t saddr;\n\t__u32 reqid;\n\t__u8 mode;\n\t__u8 share;\n\t__u8 optional;\n\t__u32 aalgos;\n\t__u32 ealgos;\n\t__u32 calgos;\n};\n\nstruct xfrm_userpolicy_default {\n\t__u8 in;\n\t__u8 fwd;\n\t__u8 out;\n};\n\nstruct xfrm_userpolicy_id {\n\tstruct xfrm_selector sel;\n\t__u32 index;\n\t__u8 dir;\n};\n\nstruct xfrm_userpolicy_type {\n\t__u8 type;\n\t__u16 reserved1;\n\t__u8 reserved2;\n};\n\nstruct xfrm_usersa_flush {\n\t__u8 proto;\n};\n\nstruct xfrm_userspi_info {\n\tstruct xfrm_usersa_info info;\n\t__u32 min;\n\t__u32 max;\n};\n\nstruct xfrmdev_ops {\n\tint (*xdo_dev_state_add)(struct xfrm_state *, struct netlink_ext_ack *);\n\tvoid (*xdo_dev_state_delete)(struct xfrm_state *);\n\tvoid (*xdo_dev_state_free)(struct xfrm_state *);\n\tbool (*xdo_dev_offload_ok)(struct sk_buff *, struct xfrm_state *);\n\tvoid (*xdo_dev_state_advance_esn)(struct xfrm_state *);\n\tvoid (*xdo_dev_state_update_stats)(struct xfrm_state *);\n\tint (*xdo_dev_policy_add)(struct xfrm_policy *, struct netlink_ext_ack *);\n\tvoid (*xdo_dev_policy_delete)(struct xfrm_policy *);\n\tvoid (*xdo_dev_policy_free)(struct xfrm_policy *);\n};\n\nstruct xfrmk_sadinfo {\n\tu32 sadhcnt;\n\tu32 sadhmcnt;\n\tu32 sadcnt;\n};\n\nstruct xfrmk_spdinfo {\n\tu32 incnt;\n\tu32 outcnt;\n\tu32 fwdcnt;\n\tu32 inscnt;\n\tu32 outscnt;\n\tu32 fwdscnt;\n\tu32 spdhcnt;\n\tu32 spdhmcnt;\n};\n\nstruct xfrmu_sadhinfo {\n\t__u32 sadhcnt;\n\t__u32 sadhmcnt;\n};\n\nstruct xfrmu_spdhinfo {\n\t__u32 spdhcnt;\n\t__u32 spdhmcnt;\n};\n\nstruct xfrmu_spdhthresh {\n\t__u8 lbits;\n\t__u8 rbits;\n};\n\nstruct xfrmu_spdinfo {\n\t__u32 incnt;\n\t__u32 outcnt;\n\t__u32 fwdcnt;\n\t__u32 inscnt;\n\t__u32 outscnt;\n\t__u32 fwdscnt;\n};\n\nstruct xfs_acl_entry {\n\t__be32 ae_tag;\n\t__be32 ae_id;\n\t__be16 ae_perm;\n\t__be16 ae_pad;\n};\n\nstruct xfs_acl {\n\t__be32 acl_cnt;\n\tstruct xfs_acl_entry acl_entry[0];\n};\n\nstruct xfs_ag_geometry {\n\tuint32_t ag_number;\n\tuint32_t ag_length;\n\tuint32_t ag_freeblks;\n\tuint32_t ag_icount;\n\tuint32_t ag_ifree;\n\tuint32_t ag_sick;\n\tuint32_t ag_checked;\n\tuint32_t ag_flags;\n\tuint64_t ag_reserved[12];\n};\n\nstruct xfs_ag_resv {\n\txfs_extlen_t ar_orig_reserved;\n\txfs_extlen_t ar_reserved;\n\txfs_extlen_t ar_asked;\n};\n\nstruct xfs_agf {\n\t__be32 agf_magicnum;\n\t__be32 agf_versionnum;\n\t__be32 agf_seqno;\n\t__be32 agf_length;\n\t__be32 agf_bno_root;\n\t__be32 agf_cnt_root;\n\t__be32 agf_rmap_root;\n\t__be32 agf_bno_level;\n\t__be32 agf_cnt_level;\n\t__be32 agf_rmap_level;\n\t__be32 agf_flfirst;\n\t__be32 agf_fllast;\n\t__be32 agf_flcount;\n\t__be32 agf_freeblks;\n\t__be32 agf_longest;\n\t__be32 agf_btreeblks;\n\tuuid_t agf_uuid;\n\t__be32 agf_rmap_blocks;\n\t__be32 agf_refcount_blocks;\n\t__be32 agf_refcount_root;\n\t__be32 agf_refcount_level;\n\t__be64 agf_spare64[14];\n\t__be64 agf_lsn;\n\t__be32 agf_crc;\n\t__be32 agf_spare2;\n};\n\nstruct xfs_agfl {\n\t__be32 agfl_magicnum;\n\t__be32 agfl_seqno;\n\tuuid_t agfl_uuid;\n\t__be64 agfl_lsn;\n\t__be32 agfl_crc;\n} __attribute__((packed));\n\nstruct xfs_mount;\n\nstruct xfs_buf;\n\ntypedef void (*aghdr_init_work_f)(struct xfs_mount *, struct xfs_buf *, struct aghdr_init_data *);\n\nstruct xfs_buf_ops;\n\nstruct xfs_aghdr_grow_data {\n\txfs_daddr_t daddr;\n\tsize_t numblks;\n\tconst struct xfs_buf_ops *ops;\n\taghdr_init_work_f work;\n\tconst struct xfs_btree_ops *bc_ops;\n\tbool need_init;\n};\n\nstruct xfs_agi {\n\t__be32 agi_magicnum;\n\t__be32 agi_versionnum;\n\t__be32 agi_seqno;\n\t__be32 agi_length;\n\t__be32 agi_count;\n\t__be32 agi_root;\n\t__be32 agi_level;\n\t__be32 agi_freecount;\n\t__be32 agi_newino;\n\t__be32 agi_dirino;\n\t__be32 agi_unlinked[64];\n\tuuid_t agi_uuid;\n\t__be32 agi_crc;\n\t__be32 agi_pad32;\n\t__be64 agi_lsn;\n\t__be32 agi_free_root;\n\t__be32 agi_free_level;\n\t__be32 agi_iblocks;\n\t__be32 agi_fblocks;\n};\n\nstruct xlog;\n\nstruct xfs_ail {\n\tstruct xlog *ail_log;\n\tstruct task_struct *ail_task;\n\tstruct list_head ail_head;\n\tstruct list_head ail_cursors;\n\tspinlock_t ail_lock;\n\txfs_lsn_t ail_last_pushed_lsn;\n\txfs_lsn_t ail_head_lsn;\n\tint ail_log_flush;\n\tlong unsigned int ail_opstate;\n\tstruct list_head ail_buf_list;\n\twait_queue_head_t ail_empty;\n\txfs_lsn_t ail_target;\n};\n\nstruct xfs_log_item;\n\nstruct xfs_ail_cursor {\n\tstruct list_head list;\n\tstruct xfs_log_item *item;\n};\n\nstruct xfs_owner_info {\n\tuint64_t oi_owner;\n\txfs_fileoff_t oi_offset;\n\tunsigned int oi_flags;\n};\n\nstruct xfs_perag;\n\nstruct xfs_alloc_arg {\n\tstruct xfs_trans *tp;\n\tstruct xfs_mount *mp;\n\tstruct xfs_buf *agbp;\n\tstruct xfs_perag *pag;\n\txfs_fsblock_t fsbno;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t minlen;\n\txfs_extlen_t maxlen;\n\txfs_extlen_t mod;\n\txfs_extlen_t prod;\n\txfs_extlen_t minleft;\n\txfs_extlen_t total;\n\txfs_extlen_t alignment;\n\txfs_extlen_t minalignslop;\n\txfs_agblock_t min_agbno;\n\txfs_agblock_t max_agbno;\n\txfs_extlen_t len;\n\tint datatype;\n\tchar wasdel;\n\tchar wasfromfl;\n\tbool alloc_minlen_only;\n\tstruct xfs_owner_info oinfo;\n\tenum xfs_ag_resv_type resv;\n};\n\ntypedef struct xfs_alloc_arg xfs_alloc_arg_t;\n\nstruct xfs_defer_pending;\n\nstruct xfs_alloc_autoreap {\n\tstruct xfs_defer_pending *dfp;\n};\n\nstruct xfs_btree_cur;\n\nstruct xfs_alloc_cur {\n\tstruct xfs_btree_cur *cnt;\n\tstruct xfs_btree_cur *bnolt;\n\tstruct xfs_btree_cur *bnogt;\n\txfs_extlen_t cur_len;\n\txfs_agblock_t rec_bno;\n\txfs_extlen_t rec_len;\n\txfs_agblock_t bno;\n\txfs_extlen_t len;\n\txfs_extlen_t diff;\n\tunsigned int busy_gen;\n\tbool busy;\n};\n\nstruct xfs_alloc_rec_incore;\n\ntypedef int (*xfs_alloc_query_range_fn)(struct xfs_btree_cur *, const struct xfs_alloc_rec_incore *, void *);\n\nstruct xfs_alloc_query_range_info {\n\txfs_alloc_query_range_fn fn;\n\tvoid *priv;\n};\n\nstruct xfs_alloc_rec {\n\t__be32 ar_startblock;\n\t__be32 ar_blockcount;\n};\n\ntypedef struct xfs_alloc_rec xfs_alloc_key_t;\n\ntypedef struct xfs_alloc_rec xfs_alloc_rec_t;\n\nstruct xfs_alloc_rec_incore {\n\txfs_agblock_t ar_startblock;\n\txfs_extlen_t ar_blockcount;\n};\n\nstruct xfs_attr3_icleaf_hdr {\n\tuint32_t forw;\n\tuint32_t back;\n\tuint16_t magic;\n\tuint16_t count;\n\tuint16_t usedbytes;\n\tuint32_t firstused;\n\t__u8 holes;\n\tstruct {\n\t\tuint16_t base;\n\t\tuint16_t size;\n\t} freemap[3];\n};\n\nstruct xfs_da_blkinfo {\n\t__be32 forw;\n\t__be32 back;\n\t__be16 magic;\n\t__be16 pad;\n};\n\nstruct xfs_da3_blkinfo {\n\tstruct xfs_da_blkinfo hdr;\n\t__be32 crc;\n\t__be64 blkno;\n\t__be64 lsn;\n\tuuid_t uuid;\n\t__be64 owner;\n};\n\nstruct xfs_attr_leaf_map {\n\t__be16 base;\n\t__be16 size;\n};\n\nstruct xfs_attr3_leaf_hdr {\n\tstruct xfs_da3_blkinfo info;\n\t__be16 count;\n\t__be16 usedbytes;\n\t__be16 firstused;\n\t__u8 holes;\n\t__u8 pad1;\n\tstruct xfs_attr_leaf_map freemap[3];\n\t__be32 pad2;\n};\n\nstruct xfs_attr_leaf_entry {\n\t__be32 hashval;\n\t__be16 nameidx;\n\t__u8 flags;\n\t__u8 pad2;\n};\n\nstruct xfs_attr3_leafblock {\n\tstruct xfs_attr3_leaf_hdr hdr;\n\tstruct xfs_attr_leaf_entry entries[0];\n};\n\nstruct xfs_attr3_rmt_hdr {\n\t__be32 rm_magic;\n\t__be32 rm_offset;\n\t__be32 rm_bytes;\n\t__be32 rm_crc;\n\tuuid_t rm_uuid;\n\t__be64 rm_owner;\n\t__be64 rm_blkno;\n\t__be64 rm_lsn;\n};\n\nstruct xfs_bmbt_irec {\n\txfs_fileoff_t br_startoff;\n\txfs_fsblock_t br_startblock;\n\txfs_filblks_t br_blockcount;\n\txfs_exntst_t br_state;\n};\n\nstruct xfs_da_state;\n\nstruct xfs_da_args;\n\nstruct xfs_attri_log_nameval;\n\nstruct xfs_attr_intent {\n\tstruct list_head xattri_list;\n\tstruct xfs_da_state *xattri_da_state;\n\tstruct xfs_da_args *xattri_da_args;\n\tstruct xfs_attri_log_nameval *xattri_nameval;\n\tenum xfs_delattr_state xattri_dela_state;\n\tunsigned int xattri_op_flags;\n\txfs_dablk_t xattri_lblkno;\n\tint xattri_blkcnt;\n\tstruct xfs_bmbt_irec xattri_map;\n};\n\ntypedef struct xfs_attr_leaf_entry xfs_attr_leaf_entry_t;\n\ntypedef struct xfs_da_blkinfo xfs_da_blkinfo_t;\n\ntypedef struct xfs_attr_leaf_map xfs_attr_leaf_map_t;\n\nstruct xfs_attr_leaf_hdr {\n\txfs_da_blkinfo_t info;\n\t__be16 count;\n\t__be16 usedbytes;\n\t__be16 firstused;\n\t__u8 holes;\n\t__u8 pad1;\n\txfs_attr_leaf_map_t freemap[3];\n};\n\ntypedef struct xfs_attr_leaf_hdr xfs_attr_leaf_hdr_t;\n\nstruct xfs_attr_leaf_name_local {\n\t__be16 valuelen;\n\t__u8 namelen;\n\t__u8 nameval[0];\n};\n\ntypedef struct xfs_attr_leaf_name_local xfs_attr_leaf_name_local_t;\n\nstruct xfs_attr_leaf_name_remote {\n\t__be32 valueblk;\n\t__be32 valuelen;\n\t__u8 namelen;\n\t__u8 name[0];\n};\n\ntypedef struct xfs_attr_leaf_name_remote xfs_attr_leaf_name_remote_t;\n\nstruct xfs_attr_leafblock {\n\txfs_attr_leaf_hdr_t hdr;\n\txfs_attr_leaf_entry_t entries[0];\n};\n\ntypedef struct xfs_attr_leafblock xfs_attr_leafblock_t;\n\nstruct xfs_attrlist_cursor_kern {\n\t__u32 hashval;\n\t__u32 blkno;\n\t__u32 offset;\n\t__u16 pad1;\n\t__u8 pad2;\n\t__u8 initted;\n};\n\nstruct xfs_attr_list_context;\n\ntypedef void (*put_listent_func_t)(struct xfs_attr_list_context *, int, unsigned char *, int, void *, int);\n\nstruct xfs_inode;\n\nstruct xfs_attr_list_context {\n\tstruct xfs_trans *tp;\n\tstruct xfs_inode *dp;\n\tstruct xfs_attrlist_cursor_kern cursor;\n\tvoid *buffer;\n\tint seen_enough;\n\tbool allow_incomplete;\n\tssize_t count;\n\tint dupcnt;\n\tint bufsize;\n\tint firstu;\n\tunsigned int attr_filter;\n\tint resynch;\n\tput_listent_func_t put_listent;\n\tint index;\n};\n\nstruct xfs_attr_multiop {\n\t__u32 am_opcode;\n\t__s32 am_error;\n\tvoid *am_attrname;\n\tvoid *am_attrvalue;\n\t__u32 am_length;\n\t__u32 am_flags;\n};\n\ntypedef struct xfs_attr_multiop xfs_attr_multiop_t;\n\nstruct xfs_attr_sf_entry {\n\t__u8 namelen;\n\t__u8 valuelen;\n\t__u8 flags;\n\t__u8 nameval[0];\n};\n\nstruct xfs_attr_sf_hdr {\n\t__be16 totsize;\n\t__u8 count;\n\t__u8 padding;\n};\n\nstruct xfs_attr_sf_sort {\n\tuint8_t entno;\n\tuint8_t namelen;\n\tuint8_t valuelen;\n\tuint8_t flags;\n\txfs_dahash_t hash;\n\tunsigned char *name;\n\tvoid *value;\n};\n\ntypedef struct xfs_attr_sf_sort xfs_attr_sf_sort_t;\n\nstruct xfs_attrd_log_format {\n\tuint16_t alfd_type;\n\tuint16_t alfd_size;\n\tuint32_t __pad;\n\tuint64_t alfd_alf_id;\n};\n\nstruct xfs_item_ops;\n\nstruct xfs_log_vec;\n\nstruct xfs_log_item {\n\tstruct list_head li_ail;\n\tstruct list_head li_trans;\n\txfs_lsn_t li_lsn;\n\tstruct xlog *li_log;\n\tstruct xfs_ail *li_ailp;\n\tuint li_type;\n\tlong unsigned int li_flags;\n\tstruct xfs_buf *li_buf;\n\tstruct list_head li_bio_list;\n\tconst struct xfs_item_ops *li_ops;\n\tstruct list_head li_cil;\n\tstruct xfs_log_vec *li_lv;\n\tstruct xfs_log_vec *li_lv_shadow;\n\txfs_csn_t li_seq;\n\tuint32_t li_order_id;\n};\n\nstruct xfs_attri_log_item;\n\nstruct xfs_attrd_log_item {\n\tstruct xfs_log_item attrd_item;\n\tstruct xfs_attri_log_item *attrd_attrip;\n\tstruct xfs_attrd_log_format attrd_format;\n};\n\nstruct xfs_attri_log_format {\n\tuint16_t alfi_type;\n\tuint16_t alfi_size;\n\tuint32_t alfi_igen;\n\tuint64_t alfi_id;\n\tuint64_t alfi_ino;\n\tuint32_t alfi_op_flags;\n\tunion {\n\t\tuint32_t alfi_name_len;\n\t\tstruct {\n\t\t\tuint16_t alfi_old_name_len;\n\t\t\tuint16_t alfi_new_name_len;\n\t\t};\n\t};\n\tuint32_t alfi_value_len;\n\tuint32_t alfi_attr_filter;\n};\n\nstruct xfs_attri_log_item {\n\tstruct xfs_log_item attri_item;\n\tatomic_t attri_refcount;\n\tstruct xfs_attri_log_nameval *attri_nameval;\n\tstruct xfs_attri_log_format attri_format;\n};\n\nstruct xfs_log_iovec {\n\tvoid *i_addr;\n\tint i_len;\n\tuint i_type;\n};\n\nstruct xfs_attri_log_nameval {\n\tstruct xfs_log_iovec name;\n\tstruct xfs_log_iovec new_name;\n\tstruct xfs_log_iovec value;\n\tstruct xfs_log_iovec new_value;\n\trefcount_t refcount;\n};\n\nstruct xfs_attrlist {\n\t__s32 al_count;\n\t__s32 al_more;\n\t__s32 al_offset[0];\n};\n\nstruct xfs_attrlist_cursor {\n\t__u32 opaque[4];\n};\n\nstruct xfs_attrlist_ent {\n\t__u32 a_valuelen;\n\tchar a_name[0];\n};\n\nstruct xfs_iext_leaf;\n\nstruct xfs_iext_cursor {\n\tstruct xfs_iext_leaf *leaf;\n\tint pos;\n};\n\nstruct xfs_bmalloca {\n\tstruct xfs_trans *tp;\n\tstruct xfs_inode *ip;\n\tstruct xfs_bmbt_irec prev;\n\tstruct xfs_bmbt_irec got;\n\txfs_fileoff_t offset;\n\txfs_extlen_t length;\n\txfs_fsblock_t blkno;\n\tstruct xfs_btree_cur *cur;\n\tstruct xfs_iext_cursor icur;\n\tint nallocs;\n\tint logflags;\n\txfs_extlen_t total;\n\txfs_extlen_t minlen;\n\txfs_extlen_t minleft;\n\tbool eof;\n\tbool wasdel;\n\tbool aeof;\n\tbool conv;\n\tint datatype;\n\tuint32_t flags;\n};\n\nstruct xfs_group;\n\nstruct xfs_bmap_intent {\n\tstruct list_head bi_list;\n\tenum xfs_bmap_intent_type bi_type;\n\tint bi_whichfork;\n\tstruct xfs_inode *bi_owner;\n\tstruct xfs_group *bi_group;\n\tstruct xfs_bmbt_irec bi_bmap;\n};\n\ntypedef int (*xfs_bmap_query_range_fn)(struct xfs_btree_cur *, struct xfs_bmbt_irec *, void *);\n\nstruct xfs_bmap_query_range {\n\txfs_bmap_query_range_fn fn;\n\tvoid *priv;\n};\n\ntypedef struct xfs_bmbt_irec xfs_bmbt_irec_t;\n\nstruct xfs_bmbt_key {\n\t__be64 br_startoff;\n};\n\ntypedef struct xfs_bmbt_key xfs_bmbt_key_t;\n\ntypedef struct xfs_bmbt_key xfs_bmdr_key_t;\n\nstruct xfs_bmbt_rec {\n\t__be64 l0;\n\t__be64 l1;\n};\n\ntypedef struct xfs_bmbt_rec xfs_bmbt_rec_t;\n\ntypedef xfs_bmbt_rec_t xfs_bmdr_rec_t;\n\nstruct xfs_bmdr_block {\n\t__be16 bb_level;\n\t__be16 bb_numrecs;\n};\n\ntypedef struct xfs_bmdr_block xfs_bmdr_block_t;\n\nstruct xfs_bstime {\n\t__kernel_long_t tv_sec;\n\t__s32 tv_nsec;\n};\n\ntypedef struct xfs_bstime xfs_bstime_t;\n\nstruct xfs_bstat {\n\t__u64 bs_ino;\n\t__u16 bs_mode;\n\t__u16 bs_nlink;\n\t__u32 bs_uid;\n\t__u32 bs_gid;\n\t__u32 bs_rdev;\n\t__s32 bs_blksize;\n\t__s64 bs_size;\n\txfs_bstime_t bs_atime;\n\txfs_bstime_t bs_mtime;\n\txfs_bstime_t bs_ctime;\n\tint64_t bs_blocks;\n\t__u32 bs_xflags;\n\t__s32 bs_extsize;\n\t__s32 bs_extents;\n\t__u32 bs_gen;\n\t__u16 bs_projid_lo;\n\t__u16 bs_forkoff;\n\t__u16 bs_projid_hi;\n\tuint16_t bs_sick;\n\tuint16_t bs_checked;\n\tunsigned char bs_pad[2];\n\t__u32 bs_cowextsize;\n\t__u32 bs_dmevmask;\n\t__u16 bs_dmstate;\n\t__u16 bs_aextents;\n};\n\nstruct xfs_ibulk;\n\nstruct xfs_bulkstat;\n\ntypedef int (*bulkstat_one_fmt_pf)(struct xfs_ibulk *, const struct xfs_bulkstat *);\n\nstruct xfs_bstat_chunk {\n\tbulkstat_one_fmt_pf formatter;\n\tstruct xfs_ibulk *breq;\n\tstruct xfs_bulkstat *buf;\n};\n\nstruct xfs_btree_block;\n\ntypedef int (*xfs_btree_bload_get_records_fn)(struct xfs_btree_cur *, unsigned int, struct xfs_btree_block *, unsigned int, void *);\n\ntypedef int (*xfs_btree_bload_claim_block_fn)(struct xfs_btree_cur *, union xfs_btree_ptr *, void *);\n\ntypedef size_t (*xfs_btree_bload_iroot_size_fn)(struct xfs_btree_cur *, unsigned int, unsigned int, void *);\n\nstruct xfs_btree_bload {\n\txfs_btree_bload_get_records_fn get_records;\n\txfs_btree_bload_claim_block_fn claim_block;\n\txfs_btree_bload_iroot_size_fn iroot_size;\n\tuint64_t nr_records;\n\tint leaf_slack;\n\tint node_slack;\n\tuint64_t nr_blocks;\n\tunsigned int btree_height;\n\tuint16_t max_dirty;\n\tuint16_t nr_dirty;\n};\n\nstruct xfs_btree_block_shdr {\n\t__be32 bb_leftsib;\n\t__be32 bb_rightsib;\n\t__be64 bb_blkno;\n\t__be64 bb_lsn;\n\tuuid_t bb_uuid;\n\t__be32 bb_owner;\n\t__le32 bb_crc;\n};\n\nstruct xfs_btree_block_lhdr {\n\t__be64 bb_leftsib;\n\t__be64 bb_rightsib;\n\t__be64 bb_blkno;\n\t__be64 bb_lsn;\n\tuuid_t bb_uuid;\n\t__be64 bb_owner;\n\t__le32 bb_crc;\n\t__be32 bb_pad;\n};\n\nstruct xfs_btree_block {\n\t__be32 bb_magic;\n\t__be16 bb_level;\n\t__be16 bb_numrecs;\n\tunion {\n\t\tstruct xfs_btree_block_shdr s;\n\t\tstruct xfs_btree_block_lhdr l;\n\t} bb_u;\n};\n\nstruct xfs_btree_block_change_owner_info {\n\tuint64_t new_owner;\n\tstruct list_head *buffer_list;\n};\n\nstruct xfs_inobt_rec_incore {\n\txfs_agino_t ir_startino;\n\tuint16_t ir_holemask;\n\tuint8_t ir_count;\n\tuint8_t ir_freecount;\n\txfs_inofree_t ir_free;\n};\n\nstruct xfs_rmap_irec {\n\txfs_agblock_t rm_startblock;\n\txfs_extlen_t rm_blockcount;\n\tuint64_t rm_owner;\n\tuint64_t rm_offset;\n\tunsigned int rm_flags;\n};\n\nstruct xfs_refcount_irec {\n\txfs_agblock_t rc_startblock;\n\txfs_extlen_t rc_blockcount;\n\txfs_nlink_t rc_refcount;\n\tenum xfs_refc_domain rc_domain;\n};\n\nunion xfs_btree_irec {\n\tstruct xfs_alloc_rec_incore a;\n\tstruct xfs_bmbt_irec b;\n\tstruct xfs_inobt_rec_incore i;\n\tstruct xfs_rmap_irec r;\n\tstruct xfs_refcount_irec rc;\n};\n\nstruct xfs_btree_level {\n\tstruct xfs_buf *bp;\n\tuint16_t ptr;\n\tuint16_t ra;\n};\n\nstruct xfs_btree_cur {\n\tstruct xfs_trans *bc_tp;\n\tstruct xfs_mount *bc_mp;\n\tconst struct xfs_btree_ops *bc_ops;\n\tstruct kmem_cache *bc_cache;\n\tunsigned int bc_flags;\n\tunion xfs_btree_irec bc_rec;\n\tuint8_t bc_nlevels;\n\tuint8_t bc_maxlevels;\n\tstruct xfs_group *bc_group;\n\tunion {\n\t\tstruct {\n\t\t\tstruct xfs_inode *ip;\n\t\t\tshort int forksize;\n\t\t\tchar whichfork;\n\t\t\tstruct xbtree_ifakeroot *ifake;\n\t\t} bc_ino;\n\t\tstruct {\n\t\t\tstruct xfs_buf *agbp;\n\t\t\tstruct xbtree_afakeroot *afake;\n\t\t} bc_ag;\n\t\tstruct {\n\t\t\tstruct xfbtree *xfbtree;\n\t\t} bc_mem;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tint allocated;\n\t\t} bc_bmap;\n\t\tstruct {\n\t\t\tunsigned int nr_ops;\n\t\t\tunsigned int shape_changes;\n\t\t} bc_refc;\n\t};\n\tstruct xfs_btree_level bc_levels[0];\n};\n\nstruct xfs_inobt_key {\n\t__be32 ir_startino;\n};\n\nstruct xfs_rmap_key {\n\t__be32 rm_startblock;\n\t__be64 rm_owner;\n\t__be64 rm_offset;\n} __attribute__((packed));\n\nstruct xfs_refcount_key {\n\t__be32 rc_startblock;\n};\n\nunion xfs_btree_key {\n\tstruct xfs_bmbt_key bmbt;\n\txfs_bmdr_key_t bmbr;\n\txfs_alloc_key_t alloc;\n\tstruct xfs_inobt_key inobt;\n\tstruct xfs_rmap_key rmap;\n\tstruct xfs_rmap_key __rmap_bigkey[2];\n\tstruct xfs_refcount_key refc;\n};\n\nstruct xfs_btree_has_records {\n\tunion xfs_btree_key start_key;\n\tunion xfs_btree_key end_key;\n\tconst union xfs_btree_key *key_mask;\n\tunion xfs_btree_key high_key;\n\tenum xbtree_recpacking outcome;\n};\n\nunion xfs_btree_rec;\n\nstruct xfs_btree_ops {\n\tconst char *name;\n\tenum xfs_btree_type type;\n\tunsigned int geom_flags;\n\tsize_t key_len;\n\tsize_t ptr_len;\n\tsize_t rec_len;\n\tunsigned int lru_refs;\n\tunsigned int statoff;\n\tunsigned int sick_mask;\n\tstruct xfs_btree_cur * (*dup_cursor)(struct xfs_btree_cur *);\n\tvoid (*update_cursor)(struct xfs_btree_cur *, struct xfs_btree_cur *);\n\tvoid (*set_root)(struct xfs_btree_cur *, const union xfs_btree_ptr *, int);\n\tint (*alloc_block)(struct xfs_btree_cur *, const union xfs_btree_ptr *, union xfs_btree_ptr *, int *);\n\tint (*free_block)(struct xfs_btree_cur *, struct xfs_buf *);\n\tint (*get_minrecs)(struct xfs_btree_cur *, int);\n\tint (*get_maxrecs)(struct xfs_btree_cur *, int);\n\tint (*get_dmaxrecs)(struct xfs_btree_cur *, int);\n\tvoid (*init_key_from_rec)(union xfs_btree_key *, const union xfs_btree_rec *);\n\tvoid (*init_rec_from_cur)(struct xfs_btree_cur *, union xfs_btree_rec *);\n\tvoid (*init_ptr_from_cur)(struct xfs_btree_cur *, union xfs_btree_ptr *);\n\tvoid (*init_high_key_from_rec)(union xfs_btree_key *, const union xfs_btree_rec *);\n\tint64_t (*key_diff)(struct xfs_btree_cur *, const union xfs_btree_key *);\n\tint64_t (*diff_two_keys)(struct xfs_btree_cur *, const union xfs_btree_key *, const union xfs_btree_key *, const union xfs_btree_key *);\n\tconst struct xfs_buf_ops *buf_ops;\n\tint (*keys_inorder)(struct xfs_btree_cur *, const union xfs_btree_key *, const union xfs_btree_key *);\n\tint (*recs_inorder)(struct xfs_btree_cur *, const union xfs_btree_rec *, const union xfs_btree_rec *);\n\tenum xbtree_key_contig (*keys_contiguous)(struct xfs_btree_cur *, const union xfs_btree_key *, const union xfs_btree_key *, const union xfs_btree_key *);\n\tstruct xfs_btree_block * (*broot_realloc)(struct xfs_btree_cur *, unsigned int);\n};\n\nstruct xfs_inobt_rec {\n\t__be32 ir_startino;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 ir_freecount;\n\t\t} f;\n\t\tstruct {\n\t\t\t__be16 ir_holemask;\n\t\t\t__u8 ir_count;\n\t\t\t__u8 ir_freecount;\n\t\t} sp;\n\t} ir_u;\n\t__be64 ir_free;\n};\n\nstruct xfs_rmap_rec {\n\t__be32 rm_startblock;\n\t__be32 rm_blockcount;\n\t__be64 rm_owner;\n\t__be64 rm_offset;\n};\n\nstruct xfs_refcount_rec {\n\t__be32 rc_startblock;\n\t__be32 rc_blockcount;\n\t__be32 rc_refcount;\n};\n\nunion xfs_btree_rec {\n\tstruct xfs_bmbt_rec bmbt;\n\txfs_bmdr_rec_t bmbr;\n\tstruct xfs_alloc_rec alloc;\n\tstruct xfs_inobt_rec inobt;\n\tstruct xfs_rmap_rec rmap;\n\tstruct xfs_refcount_rec refc;\n};\n\nstruct xfs_btree_split_args {\n\tstruct xfs_btree_cur *cur;\n\tint level;\n\tunion xfs_btree_ptr *ptrp;\n\tunion xfs_btree_key *key;\n\tstruct xfs_btree_cur **curp;\n\tint *stat;\n\tint result;\n\tbool kswapd;\n\tstruct completion *done;\n\tstruct work_struct work;\n};\n\nstruct xfs_bud_log_format {\n\tuint16_t bud_type;\n\tuint16_t bud_size;\n\tuint32_t __pad;\n\tuint64_t bud_bui_id;\n};\n\nstruct xfs_bui_log_item;\n\nstruct xfs_bud_log_item {\n\tstruct xfs_log_item bud_item;\n\tstruct xfs_bui_log_item *bud_buip;\n\tstruct xfs_bud_log_format bud_format;\n};\n\nstruct xfs_buf_map {\n\txfs_daddr_t bm_bn;\n\tint bm_len;\n\tunsigned int bm_flags;\n};\n\nstruct xfs_buf_log_item;\n\nstruct xfs_buf {\n\tstruct rhash_head b_rhash_head;\n\txfs_daddr_t b_rhash_key;\n\tint b_length;\n\tunsigned int b_hold;\n\tatomic_t b_lru_ref;\n\txfs_buf_flags_t b_flags;\n\tstruct semaphore b_sema;\n\tstruct list_head b_lru;\n\tspinlock_t b_lock;\n\tunsigned int b_state;\n\twait_queue_head_t b_waiters;\n\tstruct list_head b_list;\n\tstruct xfs_perag *b_pag;\n\tstruct xfs_mount *b_mount;\n\tstruct xfs_buftarg *b_target;\n\tvoid *b_addr;\n\tstruct work_struct b_ioend_work;\n\tstruct completion b_iowait;\n\tstruct xfs_buf_log_item *b_log_item;\n\tstruct list_head b_li_list;\n\tstruct xfs_trans *b_transp;\n\tstruct page **b_pages;\n\tstruct page *b_page_array[2];\n\tstruct xfs_buf_map *b_maps;\n\tstruct xfs_buf_map __b_map;\n\tint b_map_count;\n\tatomic_t b_pin_count;\n\tunsigned int b_page_count;\n\tunsigned int b_offset;\n\tint b_error;\n\tvoid (*b_iodone)(struct xfs_buf *);\n\tint b_retries;\n\tlong unsigned int b_first_retry_time;\n\tint b_last_error;\n\tconst struct xfs_buf_ops *b_ops;\n\tstruct callback_head b_rcu;\n};\n\nstruct xfs_buf_cache {\n\tstruct rhashtable bc_hash;\n};\n\nstruct xfs_buf_cancel {\n\txfs_daddr_t bc_blkno;\n\tuint bc_len;\n\tint bc_refcount;\n\tstruct list_head bc_list;\n};\n\nstruct xfs_buf_log_format {\n\tshort unsigned int blf_type;\n\tshort unsigned int blf_size;\n\tshort unsigned int blf_flags;\n\tshort unsigned int blf_len;\n\tint64_t blf_blkno;\n\tunsigned int blf_map_size;\n\tunsigned int blf_data_map[17];\n};\n\nstruct xfs_buf_log_item {\n\tstruct xfs_log_item bli_item;\n\tstruct xfs_buf *bli_buf;\n\tunsigned int bli_flags;\n\tunsigned int bli_recur;\n\tatomic_t bli_refcount;\n\tint bli_format_count;\n\tstruct xfs_buf_log_format *bli_formats;\n\tstruct xfs_buf_log_format __bli_format;\n};\n\nstruct xfs_buf_ops {\n\tchar *name;\n\tunion {\n\t\t__be32 magic[2];\n\t\t__be16 magic16[2];\n\t};\n\tvoid (*verify_read)(struct xfs_buf *);\n\tvoid (*verify_write)(struct xfs_buf *);\n\txfs_failaddr_t (*verify_struct)(struct xfs_buf *);\n};\n\nstruct xfs_buftarg {\n\tdev_t bt_dev;\n\tstruct file *bt_bdev_file;\n\tstruct block_device *bt_bdev;\n\tstruct dax_device *bt_daxdev;\n\tstruct file *bt_file;\n\tu64 bt_dax_part_off;\n\tstruct xfs_mount *bt_mount;\n\tunsigned int bt_meta_sectorsize;\n\tsize_t bt_meta_sectormask;\n\tsize_t bt_logical_sectorsize;\n\tsize_t bt_logical_sectormask;\n\tstruct shrinker *bt_shrinker;\n\tstruct list_lru bt_lru;\n\tstruct percpu_counter bt_readahead_count;\n\tstruct ratelimit_state bt_ioerror_rl;\n\tunsigned int bt_bdev_awu_min;\n\tunsigned int bt_bdev_awu_max;\n\tstruct xfs_buf_cache bt_cache[0];\n};\n\nstruct xfs_map_extent {\n\tuint64_t me_owner;\n\tuint64_t me_startblock;\n\tuint64_t me_startoff;\n\tuint32_t me_len;\n\tuint32_t me_flags;\n};\n\nstruct xfs_bui_log_format {\n\tuint16_t bui_type;\n\tuint16_t bui_size;\n\tuint32_t bui_nextents;\n\tuint64_t bui_id;\n\tstruct xfs_map_extent bui_extents[0];\n};\n\nstruct xfs_bui_log_item {\n\tstruct xfs_log_item bui_item;\n\tatomic_t bui_refcount;\n\tatomic_t bui_next_extent;\n\tstruct xfs_bui_log_format bui_format;\n};\n\nstruct xfs_bulk_ireq {\n\tuint64_t ino;\n\tuint32_t flags;\n\tuint32_t icount;\n\tuint32_t ocount;\n\tuint32_t agno;\n\tuint64_t reserved[5];\n};\n\nstruct xfs_bulkstat {\n\tuint64_t bs_ino;\n\tuint64_t bs_size;\n\tuint64_t bs_blocks;\n\tuint64_t bs_xflags;\n\tint64_t bs_atime;\n\tint64_t bs_mtime;\n\tint64_t bs_ctime;\n\tint64_t bs_btime;\n\tuint32_t bs_gen;\n\tuint32_t bs_uid;\n\tuint32_t bs_gid;\n\tuint32_t bs_projectid;\n\tuint32_t bs_atime_nsec;\n\tuint32_t bs_mtime_nsec;\n\tuint32_t bs_ctime_nsec;\n\tuint32_t bs_btime_nsec;\n\tuint32_t bs_blksize;\n\tuint32_t bs_rdev;\n\tuint32_t bs_cowextsize_blks;\n\tuint32_t bs_extsize_blks;\n\tuint32_t bs_nlink;\n\tuint32_t bs_extents;\n\tuint32_t bs_aextents;\n\tuint16_t bs_version;\n\tuint16_t bs_forkoff;\n\tuint16_t bs_sick;\n\tuint16_t bs_checked;\n\tuint16_t bs_mode;\n\tuint16_t bs_pad2;\n\tuint64_t bs_extents64;\n\tuint64_t bs_pad[6];\n};\n\nstruct xfs_bulkstat_req {\n\tstruct xfs_bulk_ireq hdr;\n\tstruct xfs_bulkstat bulkstat[0];\n};\n\nstruct xfs_busy_extents {\n\tstruct list_head extent_list;\n\tstruct work_struct endio_work;\n\tvoid *owner;\n};\n\nstruct xfs_cil_ctx;\n\nstruct xfs_cil {\n\tstruct xlog *xc_log;\n\tlong unsigned int xc_flags;\n\tatomic_t xc_iclog_hdrs;\n\tstruct workqueue_struct *xc_push_wq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct rw_semaphore xc_ctx_lock;\n\tstruct xfs_cil_ctx *xc_ctx;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t xc_push_lock;\n\txfs_csn_t xc_push_seq;\n\tbool xc_push_commit_stable;\n\tstruct list_head xc_committing;\n\twait_queue_head_t xc_commit_wait;\n\twait_queue_head_t xc_start_wait;\n\txfs_csn_t xc_current_sequence;\n\twait_queue_head_t xc_push_wait;\n\tvoid *xc_pcp;\n};\n\nstruct xlog_in_core;\n\nstruct xlog_ticket;\n\nstruct xfs_cil_ctx {\n\tstruct xfs_cil *cil;\n\txfs_csn_t sequence;\n\txfs_lsn_t start_lsn;\n\txfs_lsn_t commit_lsn;\n\tstruct xlog_in_core *commit_iclog;\n\tstruct xlog_ticket *ticket;\n\tatomic_t space_used;\n\tstruct xfs_busy_extents busy_extents;\n\tstruct list_head log_items;\n\tstruct list_head lv_chain;\n\tstruct list_head iclog_entry;\n\tstruct list_head committing;\n\tstruct work_struct push_work;\n\tatomic_t order_id;\n\tstruct cpumask cil_pcpmask;\n};\n\nstruct xfs_commit_range {\n\t__s32 file1_fd;\n\t__u32 pad;\n\t__u64 file1_offset;\n\t__u64 file2_offset;\n\t__u64 length;\n\t__u64 flags;\n\t__u64 file2_freshness[6];\n};\n\nstruct xfs_fsid {\n\t__u32 val[2];\n};\n\ntypedef struct xfs_fsid xfs_fsid_t;\n\nstruct xfs_commit_range_fresh {\n\txfs_fsid_t fsid;\n\t__u64 file2_ino;\n\t__s64 file2_mtime;\n\t__s64 file2_ctime;\n\t__s32 file2_mtime_nsec;\n\t__s32 file2_ctime_nsec;\n\t__u32 file2_gen;\n\t__u32 magic;\n};\n\nstruct xfs_cud_log_format {\n\tuint16_t cud_type;\n\tuint16_t cud_size;\n\tuint32_t __pad;\n\tuint64_t cud_cui_id;\n};\n\nstruct xfs_cui_log_item;\n\nstruct xfs_cud_log_item {\n\tstruct xfs_log_item cud_item;\n\tstruct xfs_cui_log_item *cud_cuip;\n\tstruct xfs_cud_log_format cud_format;\n};\n\nstruct xfs_phys_extent {\n\tuint64_t pe_startblock;\n\tuint32_t pe_len;\n\tuint32_t pe_flags;\n};\n\nstruct xfs_cui_log_format {\n\tuint16_t cui_type;\n\tuint16_t cui_size;\n\tuint32_t cui_nextents;\n\tuint64_t cui_id;\n\tstruct xfs_phys_extent cui_extents[0];\n};\n\nstruct xfs_cui_log_item {\n\tstruct xfs_log_item cui_item;\n\tatomic_t cui_refcount;\n\tatomic_t cui_next_extent;\n\tstruct xfs_cui_log_format cui_format;\n};\n\nstruct xfs_da_node_entry;\n\nstruct xfs_da3_icnode_hdr {\n\tuint32_t forw;\n\tuint32_t back;\n\tuint16_t magic;\n\tuint16_t count;\n\tuint16_t level;\n\tstruct xfs_da_node_entry *btree;\n};\n\nstruct xfs_da3_node_hdr {\n\tstruct xfs_da3_blkinfo info;\n\t__be16 __count;\n\t__be16 __level;\n\t__be32 __pad32;\n};\n\nstruct xfs_da_node_entry {\n\t__be32 hashval;\n\t__be32 before;\n};\n\nstruct xfs_da3_intnode {\n\tstruct xfs_da3_node_hdr hdr;\n\tstruct xfs_da_node_entry __btree[0];\n};\n\nstruct xfs_da_geometry;\n\nstruct xfs_da_args {\n\tstruct xfs_da_geometry *geo;\n\tconst uint8_t *name;\n\tconst uint8_t *new_name;\n\tvoid *value;\n\tvoid *new_value;\n\tstruct xfs_inode *dp;\n\tstruct xfs_trans *trans;\n\txfs_ino_t inumber;\n\txfs_ino_t owner;\n\tint valuelen;\n\tint new_valuelen;\n\tuint8_t filetype;\n\tuint8_t op_flags;\n\tuint8_t attr_filter;\n\tshort int namelen;\n\tshort int new_namelen;\n\txfs_dahash_t hashval;\n\txfs_extlen_t total;\n\tint whichfork;\n\txfs_dablk_t blkno;\n\tint index;\n\txfs_dablk_t rmtblkno;\n\tint rmtblkcnt;\n\tint rmtvaluelen;\n\txfs_dablk_t blkno2;\n\tint index2;\n\txfs_dablk_t rmtblkno2;\n\tint rmtblkcnt2;\n\tint rmtvaluelen2;\n\tenum xfs_dacmp cmpresult;\n};\n\ntypedef struct xfs_da_args xfs_da_args_t;\n\nstruct xfs_da_geometry {\n\tunsigned int blksize;\n\tunsigned int fsbcount;\n\tuint8_t fsblog;\n\tuint8_t blklog;\n\tunsigned int node_hdr_size;\n\tunsigned int node_ents;\n\tunsigned int magicpct;\n\txfs_dablk_t datablk;\n\tunsigned int leaf_hdr_size;\n\tunsigned int leaf_max_ents;\n\txfs_dablk_t leafblk;\n\tunsigned int free_hdr_size;\n\tunsigned int free_max_bests;\n\txfs_dablk_t freeblk;\n\txfs_extnum_t max_extents;\n\txfs_dir2_data_aoff_t data_first_offset;\n\tsize_t data_entry_offset;\n};\n\nstruct xfs_da_node_hdr {\n\tstruct xfs_da_blkinfo info;\n\t__be16 __count;\n\t__be16 __level;\n};\n\nstruct xfs_da_intnode {\n\tstruct xfs_da_node_hdr hdr;\n\tstruct xfs_da_node_entry __btree[0];\n};\n\ntypedef struct xfs_da_intnode xfs_da_intnode_t;\n\nstruct xfs_da_state_blk {\n\tstruct xfs_buf *bp;\n\txfs_dablk_t blkno;\n\txfs_daddr_t disk_blkno;\n\tint index;\n\txfs_dahash_t hashval;\n\tint magic;\n};\n\ntypedef struct xfs_da_state_blk xfs_da_state_blk_t;\n\nstruct xfs_da_state_path {\n\tint active;\n\txfs_da_state_blk_t blk[5];\n};\n\ntypedef struct xfs_da_state_path xfs_da_state_path_t;\n\nstruct xfs_da_state {\n\txfs_da_args_t *args;\n\tstruct xfs_mount *mp;\n\txfs_da_state_path_t path;\n\txfs_da_state_path_t altpath;\n\tunsigned char inleaf;\n\tunsigned char extravalid;\n\tunsigned char extraafter;\n\txfs_da_state_blk_t extrablk;\n};\n\ntypedef struct xfs_da_state xfs_da_state_t;\n\nstruct xfs_quota_limits {\n\txfs_qcnt_t hard;\n\txfs_qcnt_t soft;\n\ttime64_t time;\n};\n\nstruct xfs_def_quota {\n\tstruct xfs_quota_limits blk;\n\tstruct xfs_quota_limits ino;\n\tstruct xfs_quota_limits rtb;\n};\n\nstruct xfs_defer_resources {\n\tstruct xfs_buf *dr_bp[2];\n\tstruct xfs_inode *dr_ip[5];\n\tshort unsigned int dr_bufs;\n\tshort unsigned int dr_ordered;\n\tshort unsigned int dr_inos;\n};\n\nstruct xfs_defer_capture {\n\tstruct list_head dfc_list;\n\tstruct list_head dfc_dfops;\n\tunsigned int dfc_tpflags;\n\tunsigned int dfc_blkres;\n\tunsigned int dfc_rtxres;\n\tunsigned int dfc_logres;\n\tstruct xfs_defer_resources dfc_held;\n};\n\nstruct xfs_defer_drain {};\n\nstruct xfs_defer_op_type {\n\tconst char *name;\n\tunsigned int max_items;\n\tstruct xfs_log_item * (*create_intent)(struct xfs_trans *, struct list_head *, unsigned int, bool);\n\tvoid (*abort_intent)(struct xfs_log_item *);\n\tstruct xfs_log_item * (*create_done)(struct xfs_trans *, struct xfs_log_item *, unsigned int);\n\tint (*finish_item)(struct xfs_trans *, struct xfs_log_item *, struct list_head *, struct xfs_btree_cur **);\n\tvoid (*finish_cleanup)(struct xfs_trans *, struct xfs_btree_cur *, int);\n\tvoid (*cancel_item)(struct list_head *);\n\tint (*recover_work)(struct xfs_defer_pending *, struct list_head *);\n\tstruct xfs_log_item * (*relog_intent)(struct xfs_trans *, struct xfs_log_item *, struct xfs_log_item *);\n};\n\nstruct xfs_defer_pending {\n\tstruct list_head dfp_list;\n\tstruct list_head dfp_work;\n\tstruct xfs_log_item *dfp_intent;\n\tstruct xfs_log_item *dfp_done;\n\tconst struct xfs_defer_op_type *dfp_ops;\n\tunsigned int dfp_count;\n\tunsigned int dfp_flags;\n};\n\nstruct xfs_dinode {\n\t__be16 di_magic;\n\t__be16 di_mode;\n\t__u8 di_version;\n\t__u8 di_format;\n\t__be16 di_metatype;\n\t__be32 di_uid;\n\t__be32 di_gid;\n\t__be32 di_nlink;\n\t__be16 di_projid_lo;\n\t__be16 di_projid_hi;\n\tunion {\n\t\t__be64 di_big_nextents;\n\t\t__be64 di_v3_pad;\n\t\tstruct {\n\t\t\t__u8 di_v2_pad[6];\n\t\t\t__be16 di_flushiter;\n\t\t};\n\t};\n\txfs_timestamp_t di_atime;\n\txfs_timestamp_t di_mtime;\n\txfs_timestamp_t di_ctime;\n\t__be64 di_size;\n\t__be64 di_nblocks;\n\t__be32 di_extsize;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 di_nextents;\n\t\t\t__be16 di_anextents;\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\t__be32 di_big_anextents;\n\t\t\t__be16 di_nrext64_pad;\n\t\t} __attribute__((packed));\n\t};\n\t__u8 di_forkoff;\n\t__s8 di_aformat;\n\t__be32 di_dmevmask;\n\t__be16 di_dmstate;\n\t__be16 di_flags;\n\t__be32 di_gen;\n\t__be32 di_next_unlinked;\n\t__le32 di_crc;\n\t__be64 di_changecount;\n\t__be64 di_lsn;\n\t__be64 di_flags2;\n\t__be32 di_cowextsize;\n\t__u8 di_pad2[12];\n\txfs_timestamp_t di_crtime;\n\t__be64 di_ino;\n\tuuid_t di_uuid;\n};\n\nstruct xfs_dir2_block_tail {\n\t__be32 count;\n\t__be32 stale;\n};\n\ntypedef struct xfs_dir2_block_tail xfs_dir2_block_tail_t;\n\nstruct xfs_dir2_data_entry {\n\t__be64 inumber;\n\t__u8 namelen;\n\t__u8 name[0];\n};\n\ntypedef struct xfs_dir2_data_entry xfs_dir2_data_entry_t;\n\nstruct xfs_dir2_data_free {\n\t__be16 offset;\n\t__be16 length;\n};\n\ntypedef struct xfs_dir2_data_free xfs_dir2_data_free_t;\n\nstruct xfs_dir2_data_hdr {\n\t__be32 magic;\n\txfs_dir2_data_free_t bestfree[3];\n};\n\ntypedef struct xfs_dir2_data_hdr xfs_dir2_data_hdr_t;\n\nstruct xfs_dir2_data_unused {\n\t__be16 freetag;\n\t__be16 length;\n\t__be16 tag;\n};\n\ntypedef struct xfs_dir2_data_unused xfs_dir2_data_unused_t;\n\nstruct xfs_dir2_free_hdr {\n\t__be32 magic;\n\t__be32 firstdb;\n\t__be32 nvalid;\n\t__be32 nused;\n};\n\ntypedef struct xfs_dir2_free_hdr xfs_dir2_free_hdr_t;\n\nstruct xfs_dir2_free {\n\txfs_dir2_free_hdr_t hdr;\n\t__be16 bests[0];\n};\n\ntypedef struct xfs_dir2_free xfs_dir2_free_t;\n\nstruct xfs_dir2_leaf_hdr {\n\txfs_da_blkinfo_t info;\n\t__be16 count;\n\t__be16 stale;\n};\n\ntypedef struct xfs_dir2_leaf_hdr xfs_dir2_leaf_hdr_t;\n\nstruct xfs_dir2_leaf_entry {\n\t__be32 hashval;\n\t__be32 address;\n};\n\ntypedef struct xfs_dir2_leaf_entry xfs_dir2_leaf_entry_t;\n\nstruct xfs_dir2_leaf {\n\txfs_dir2_leaf_hdr_t hdr;\n\txfs_dir2_leaf_entry_t __ents[0];\n};\n\ntypedef struct xfs_dir2_leaf xfs_dir2_leaf_t;\n\nstruct xfs_dir2_leaf_tail {\n\t__be32 bestcount;\n};\n\ntypedef struct xfs_dir2_leaf_tail xfs_dir2_leaf_tail_t;\n\nstruct xfs_dir2_sf_entry {\n\t__u8 namelen;\n\t__u8 offset[2];\n\t__u8 name[0];\n};\n\ntypedef struct xfs_dir2_sf_entry xfs_dir2_sf_entry_t;\n\nstruct xfs_dir2_sf_hdr {\n\tuint8_t count;\n\tuint8_t i8count;\n\tuint8_t parent[8];\n};\n\ntypedef struct xfs_dir2_sf_hdr xfs_dir2_sf_hdr_t;\n\nstruct xfs_dir3_blk_hdr {\n\t__be32 magic;\n\t__be32 crc;\n\t__be64 blkno;\n\t__be64 lsn;\n\tuuid_t uuid;\n\t__be64 owner;\n};\n\nstruct xfs_dir3_data_hdr {\n\tstruct xfs_dir3_blk_hdr hdr;\n\txfs_dir2_data_free_t best_free[3];\n\t__be32 pad;\n};\n\nstruct xfs_dir3_free_hdr {\n\tstruct xfs_dir3_blk_hdr hdr;\n\t__be32 firstdb;\n\t__be32 nvalid;\n\t__be32 nused;\n\t__be32 pad;\n};\n\nstruct xfs_dir3_free {\n\tstruct xfs_dir3_free_hdr hdr;\n\t__be16 bests[0];\n};\n\nstruct xfs_dir3_icfree_hdr {\n\tuint32_t magic;\n\tuint32_t firstdb;\n\tuint32_t nvalid;\n\tuint32_t nused;\n\t__be16 *bests;\n};\n\nstruct xfs_dir3_icleaf_hdr {\n\tuint32_t forw;\n\tuint32_t back;\n\tuint16_t magic;\n\tuint16_t count;\n\tuint16_t stale;\n\tstruct xfs_dir2_leaf_entry *ents;\n};\n\nstruct xfs_dir3_leaf_hdr {\n\tstruct xfs_da3_blkinfo info;\n\t__be16 count;\n\t__be16 stale;\n\t__be32 pad;\n};\n\nstruct xfs_dir3_leaf {\n\tstruct xfs_dir3_leaf_hdr hdr;\n\tstruct xfs_dir2_leaf_entry __ents[0];\n};\n\nstruct xfs_name;\n\nstruct xfs_parent_args;\n\nstruct xfs_dir_update {\n\tstruct xfs_inode *dp;\n\tconst struct xfs_name *name;\n\tstruct xfs_inode *ip;\n\tstruct xfs_parent_args *ppargs;\n};\n\nstruct xfs_disk_dquot {\n\t__be16 d_magic;\n\t__u8 d_version;\n\t__u8 d_type;\n\t__be32 d_id;\n\t__be64 d_blk_hardlimit;\n\t__be64 d_blk_softlimit;\n\t__be64 d_ino_hardlimit;\n\t__be64 d_ino_softlimit;\n\t__be64 d_bcount;\n\t__be64 d_icount;\n\t__be32 d_itimer;\n\t__be32 d_btimer;\n\t__be16 d_iwarns;\n\t__be16 d_bwarns;\n\t__be32 d_pad0;\n\t__be64 d_rtb_hardlimit;\n\t__be64 d_rtb_softlimit;\n\t__be64 d_rtbcount;\n\t__be32 d_rtbtimer;\n\t__be16 d_rtbwarns;\n\t__be16 d_pad;\n};\n\nstruct xfs_dq_logformat {\n\tuint16_t qlf_type;\n\tuint16_t qlf_size;\n\txfs_dqid_t qlf_id;\n\tint64_t qlf_blkno;\n\tint32_t qlf_len;\n\tuint32_t qlf_boffset;\n};\n\nstruct xfs_dquot;\n\nstruct xfs_dq_logitem {\n\tstruct xfs_log_item qli_item;\n\tstruct xfs_dquot *qli_dquot;\n\txfs_lsn_t qli_flush_lsn;\n\tspinlock_t qli_lock;\n\tbool qli_dirty;\n};\n\nstruct xfs_dqblk {\n\tstruct xfs_disk_dquot dd_diskdq;\n\tchar dd_fill[4];\n\t__be32 dd_crc;\n\t__be64 dd_lsn;\n\tuuid_t dd_uuid;\n};\n\nstruct xfs_dqtrx {\n\tstruct xfs_dquot *qt_dquot;\n\tuint64_t qt_blk_res;\n\tint64_t qt_bcount_delta;\n\tint64_t qt_delbcnt_delta;\n\tuint64_t qt_rtblk_res;\n\tuint64_t qt_rtblk_res_used;\n\tint64_t qt_rtbcount_delta;\n\tint64_t qt_delrtb_delta;\n\tuint64_t qt_ino_res;\n\tuint64_t qt_ino_res_used;\n\tint64_t qt_icount_delta;\n};\n\nstruct xfs_dquot_res {\n\txfs_qcnt_t reserved;\n\txfs_qcnt_t count;\n\txfs_qcnt_t hardlimit;\n\txfs_qcnt_t softlimit;\n\ttime64_t timer;\n};\n\nstruct xfs_dquot_pre {\n\txfs_qcnt_t q_prealloc_lo_wmark;\n\txfs_qcnt_t q_prealloc_hi_wmark;\n\tint64_t q_low_space[3];\n};\n\nstruct xfs_dquot {\n\tstruct list_head q_lru;\n\tstruct xfs_mount *q_mount;\n\txfs_dqtype_t q_type;\n\tuint16_t q_flags;\n\txfs_dqid_t q_id;\n\tuint q_nrefs;\n\tint q_bufoffset;\n\txfs_daddr_t q_blkno;\n\txfs_fileoff_t q_fileoffset;\n\tstruct xfs_dquot_res q_blk;\n\tstruct xfs_dquot_res q_ino;\n\tstruct xfs_dquot_res q_rtb;\n\tstruct xfs_dq_logitem q_logitem;\n\tstruct xfs_dquot_pre q_blk_prealloc;\n\tstruct xfs_dquot_pre q_rtb_prealloc;\n\tstruct mutex q_qlock;\n\tstruct completion q_flush;\n\tatomic_t q_pincount;\n\tstruct wait_queue_head q_pinwait;\n};\n\nstruct xfs_dquot_acct {\n\tstruct xfs_dqtrx dqs[15];\n};\n\nstruct xfs_dsb {\n\t__be32 sb_magicnum;\n\t__be32 sb_blocksize;\n\t__be64 sb_dblocks;\n\t__be64 sb_rblocks;\n\t__be64 sb_rextents;\n\tuuid_t sb_uuid;\n\t__be64 sb_logstart;\n\t__be64 sb_rootino;\n\t__be64 sb_rbmino;\n\t__be64 sb_rsumino;\n\t__be32 sb_rextsize;\n\t__be32 sb_agblocks;\n\t__be32 sb_agcount;\n\t__be32 sb_rbmblocks;\n\t__be32 sb_logblocks;\n\t__be16 sb_versionnum;\n\t__be16 sb_sectsize;\n\t__be16 sb_inodesize;\n\t__be16 sb_inopblock;\n\tchar sb_fname[12];\n\t__u8 sb_blocklog;\n\t__u8 sb_sectlog;\n\t__u8 sb_inodelog;\n\t__u8 sb_inopblog;\n\t__u8 sb_agblklog;\n\t__u8 sb_rextslog;\n\t__u8 sb_inprogress;\n\t__u8 sb_imax_pct;\n\t__be64 sb_icount;\n\t__be64 sb_ifree;\n\t__be64 sb_fdblocks;\n\t__be64 sb_frextents;\n\t__be64 sb_uquotino;\n\t__be64 sb_gquotino;\n\t__be16 sb_qflags;\n\t__u8 sb_flags;\n\t__u8 sb_shared_vn;\n\t__be32 sb_inoalignmt;\n\t__be32 sb_unit;\n\t__be32 sb_width;\n\t__u8 sb_dirblklog;\n\t__u8 sb_logsectlog;\n\t__be16 sb_logsectsize;\n\t__be32 sb_logsunit;\n\t__be32 sb_features2;\n\t__be32 sb_bad_features2;\n\t__be32 sb_features_compat;\n\t__be32 sb_features_ro_compat;\n\t__be32 sb_features_incompat;\n\t__be32 sb_features_log_incompat;\n\t__le32 sb_crc;\n\t__be32 sb_spino_align;\n\t__be64 sb_pquotino;\n\t__be64 sb_lsn;\n\tuuid_t sb_meta_uuid;\n\t__be64 sb_metadirino;\n\t__be32 sb_rgcount;\n\t__be32 sb_rgextents;\n\t__u8 sb_rgblklog;\n\t__u8 sb_pad[7];\n};\n\nstruct xfs_dsymlink_hdr {\n\t__be32 sl_magic;\n\t__be32 sl_offset;\n\t__be32 sl_bytes;\n\t__be32 sl_crc;\n\tuuid_t sl_uuid;\n\t__be64 sl_owner;\n\t__be64 sl_blkno;\n\t__be64 sl_lsn;\n};\n\nstruct xfs_extent {\n\txfs_fsblock_t ext_start;\n\txfs_extlen_t ext_len;\n};\n\ntypedef struct xfs_extent xfs_extent_t;\n\nstruct xfs_efd_log_format {\n\tuint16_t efd_type;\n\tuint16_t efd_size;\n\tuint32_t efd_nextents;\n\tuint64_t efd_efi_id;\n\txfs_extent_t efd_extents[0];\n};\n\ntypedef struct xfs_efd_log_format xfs_efd_log_format_t;\n\nstruct xfs_efi_log_item;\n\nstruct xfs_efd_log_item {\n\tstruct xfs_log_item efd_item;\n\tstruct xfs_efi_log_item *efd_efip;\n\tuint efd_next_extent;\n\txfs_efd_log_format_t efd_format;\n};\n\nstruct xfs_efi_log_format {\n\tuint16_t efi_type;\n\tuint16_t efi_size;\n\tuint32_t efi_nextents;\n\tuint64_t efi_id;\n\txfs_extent_t efi_extents[0];\n};\n\ntypedef struct xfs_efi_log_format xfs_efi_log_format_t;\n\nstruct xfs_extent_32 {\n\tuint64_t ext_start;\n\tuint32_t ext_len;\n} __attribute__((packed));\n\ntypedef struct xfs_extent_32 xfs_extent_32_t;\n\nstruct xfs_efi_log_format_32 {\n\tuint16_t efi_type;\n\tuint16_t efi_size;\n\tuint32_t efi_nextents;\n\tuint64_t efi_id;\n\txfs_extent_32_t efi_extents[0];\n};\n\ntypedef struct xfs_efi_log_format_32 xfs_efi_log_format_32_t;\n\nstruct xfs_extent_64 {\n\tuint64_t ext_start;\n\tuint32_t ext_len;\n\tuint32_t ext_pad;\n};\n\ntypedef struct xfs_extent_64 xfs_extent_64_t;\n\nstruct xfs_efi_log_format_64 {\n\tuint16_t efi_type;\n\tuint16_t efi_size;\n\tuint32_t efi_nextents;\n\tuint64_t efi_id;\n\txfs_extent_64_t efi_extents[0];\n};\n\ntypedef struct xfs_efi_log_format_64 xfs_efi_log_format_64_t;\n\nstruct xfs_efi_log_item {\n\tstruct xfs_log_item efi_item;\n\tatomic_t efi_refcount;\n\tatomic_t efi_next_extent;\n\txfs_efi_log_format_t efi_format;\n};\n\nstruct xfs_kobj {\n\tstruct kobject kobject;\n\tstruct completion complete;\n};\n\nstruct xfs_error_cfg {\n\tstruct xfs_kobj kobj;\n\tint max_retries;\n\tlong int retry_timeout;\n};\n\nstruct xfs_error_init {\n\tchar *name;\n\tint max_retries;\n\tint retry_timeout;\n};\n\nstruct xfs_error_injection {\n\t__s32 fd;\n\t__s32 errtag;\n};\n\ntypedef struct xfs_error_injection xfs_error_injection_t;\n\nstruct xfs_exchange_range {\n\t__s32 file1_fd;\n\t__u32 pad;\n\t__u64 file1_offset;\n\t__u64 file2_offset;\n\t__u64 length;\n\t__u64 flags;\n};\n\nstruct xfs_exchmaps_adjacent {\n\tstruct xfs_bmbt_irec left1;\n\tstruct xfs_bmbt_irec right1;\n\tstruct xfs_bmbt_irec left2;\n\tstruct xfs_bmbt_irec right2;\n};\n\nstruct xfs_exchmaps_intent {\n\tstruct list_head xmi_list;\n\tstruct xfs_inode *xmi_ip1;\n\tstruct xfs_inode *xmi_ip2;\n\txfs_fileoff_t xmi_startoff1;\n\txfs_fileoff_t xmi_startoff2;\n\txfs_filblks_t xmi_blockcount;\n\txfs_fsize_t xmi_isize1;\n\txfs_fsize_t xmi_isize2;\n\tuint64_t xmi_flags;\n};\n\nstruct xfs_exchmaps_req {\n\tstruct xfs_inode *ip1;\n\tstruct xfs_inode *ip2;\n\txfs_fileoff_t startoff1;\n\txfs_fileoff_t startoff2;\n\txfs_filblks_t blockcount;\n\tuint64_t flags;\n\txfs_filblks_t ip1_bcount;\n\txfs_filblks_t ip2_bcount;\n\txfs_filblks_t ip1_rtbcount;\n\txfs_filblks_t ip2_rtbcount;\n\tlong long unsigned int resblks;\n\tlong long unsigned int nr_exchanges;\n};\n\nstruct xfs_exchrange {\n\tstruct file *file1;\n\tstruct file *file2;\n\tloff_t file1_offset;\n\tloff_t file2_offset;\n\tu64 length;\n\tu64 flags;\n\tu64 file2_ino;\n\tstruct timespec64 file2_mtime;\n\tstruct timespec64 file2_ctime;\n\tu32 file2_gen;\n};\n\nstruct xfs_extent_busy {\n\tstruct rb_node rb_node;\n\tstruct list_head list;\n\tstruct xfs_group *group;\n\txfs_agblock_t bno;\n\txfs_extlen_t length;\n\tunsigned int flags;\n};\n\nstruct xfs_extent_busy_tree {\n\tspinlock_t eb_lock;\n\tstruct rb_root eb_tree;\n\tunsigned int eb_gen;\n\twait_queue_head_t eb_wait;\n};\n\nstruct xfs_extent_free_item {\n\tstruct list_head xefi_list;\n\tuint64_t xefi_owner;\n\txfs_fsblock_t xefi_startblock;\n\txfs_extlen_t xefi_blockcount;\n\tstruct xfs_group *xefi_group;\n\tunsigned int xefi_flags;\n\tenum xfs_ag_resv_type xefi_agresv;\n};\n\nstruct xfs_fid {\n\t__u16 fid_len;\n\t__u16 fid_pad;\n\t__u32 fid_gen;\n\t__u64 fid_ino;\n};\n\ntypedef struct xfs_fid xfs_fid_t;\n\nstruct xfs_fid64 {\n\tu64 ino;\n\tu32 gen;\n\tu64 parent_ino;\n\tu32 parent_gen;\n} __attribute__((packed));\n\nstruct xfs_find_left_neighbor_info {\n\tstruct xfs_rmap_irec high;\n\tstruct xfs_rmap_irec *irec;\n};\n\nstruct xfs_fs_eofblocks {\n\t__u32 eof_version;\n\t__u32 eof_flags;\n\tuid_t eof_uid;\n\tgid_t eof_gid;\n\tprid_t eof_prid;\n\t__u32 pad32;\n\t__u64 eof_min_file_size;\n\t__u64 pad64[12];\n};\n\nstruct xfs_fsmap {\n\tdev_t fmr_device;\n\tuint32_t fmr_flags;\n\tuint64_t fmr_physical;\n\tuint64_t fmr_owner;\n\txfs_fileoff_t fmr_offset;\n\txfs_filblks_t fmr_length;\n};\n\nstruct xfs_fsmap_head {\n\tuint32_t fmh_iflags;\n\tuint32_t fmh_oflags;\n\tunsigned int fmh_count;\n\tunsigned int fmh_entries;\n\tstruct xfs_fsmap fmh_keys[2];\n};\n\nstruct xfs_fsmap_irec {\n\txfs_daddr_t start_daddr;\n\txfs_daddr_t len_daddr;\n\tuint64_t owner;\n\tuint64_t offset;\n\tunsigned int rm_flags;\n\txfs_agblock_t rec_key;\n};\n\nstruct xfs_fsop_handlereq {\n\t__u32 fd;\n\tvoid *path;\n\t__u32 oflags;\n\tvoid *ihandle;\n\t__u32 ihandlen;\n\tvoid *ohandle;\n\t__u32 *ohandlen;\n};\n\nstruct xfs_fsop_attrlist_handlereq {\n\tstruct xfs_fsop_handlereq hreq;\n\tstruct xfs_attrlist_cursor pos;\n\t__u32 flags;\n\t__u32 buflen;\n\tvoid *buffer;\n};\n\nstruct xfs_fsop_attrmulti_handlereq {\n\tstruct xfs_fsop_handlereq hreq;\n\t__u32 opcount;\n\tstruct xfs_attr_multiop *ops;\n};\n\ntypedef struct xfs_fsop_attrmulti_handlereq xfs_fsop_attrmulti_handlereq_t;\n\nstruct xfs_fsop_bulkreq {\n\t__u64 *lastip;\n\t__s32 icount;\n\tvoid *ubuffer;\n\t__s32 *ocount;\n};\n\nstruct xfs_fsop_counts {\n\t__u64 freedata;\n\t__u64 freertx;\n\t__u64 freeino;\n\t__u64 allocino;\n};\n\nstruct xfs_fsop_geom {\n\t__u32 blocksize;\n\t__u32 rtextsize;\n\t__u32 agblocks;\n\t__u32 agcount;\n\t__u32 logblocks;\n\t__u32 sectsize;\n\t__u32 inodesize;\n\t__u32 imaxpct;\n\t__u64 datablocks;\n\t__u64 rtblocks;\n\t__u64 rtextents;\n\t__u64 logstart;\n\tunsigned char uuid[16];\n\t__u32 sunit;\n\t__u32 swidth;\n\t__s32 version;\n\t__u32 flags;\n\t__u32 logsectsize;\n\t__u32 rtsectsize;\n\t__u32 dirblocksize;\n\t__u32 logsunit;\n\tuint32_t sick;\n\tuint32_t checked;\n\t__u32 rgextents;\n\t__u32 rgcount;\n\t__u64 reserved[16];\n};\n\ntypedef struct xfs_fsop_handlereq xfs_fsop_handlereq_t;\n\nstruct xfs_fsop_resblks {\n\t__u64 resblks;\n\t__u64 resblks_avail;\n};\n\nstruct xfs_mru_cache_elem {\n\tstruct list_head list_node;\n\tlong unsigned int key;\n};\n\nstruct xfs_fstrm_item {\n\tstruct xfs_mru_cache_elem mru;\n\tstruct xfs_perag *pag;\n};\n\nstruct xfs_getfsmap_info;\n\nstruct xfs_getfsmap_dev {\n\tu32 dev;\n\tint (*fn)(struct xfs_trans *, const struct xfs_fsmap *, struct xfs_getfsmap_info *);\n\tsector_t nr_sectors;\n};\n\nstruct xfs_getfsmap_info {\n\tstruct xfs_fsmap_head *head;\n\tstruct fsmap *fsmap_recs;\n\tstruct xfs_buf *agf_bp;\n\tstruct xfs_group *group;\n\txfs_daddr_t next_daddr;\n\txfs_daddr_t low_daddr;\n\txfs_daddr_t end_daddr;\n\tu64 missing_owner;\n\tu32 dev;\n\tstruct xfs_rmap_irec low;\n\tstruct xfs_rmap_irec high;\n\tbool last;\n};\n\nstruct xfs_getparents {\n\tstruct xfs_attrlist_cursor gp_cursor;\n\t__u16 gp_iflags;\n\t__u16 gp_oflags;\n\t__u32 gp_bufsize;\n\t__u64 gp_reserved;\n\t__u64 gp_buffer;\n};\n\nstruct xfs_handle {\n\tunion {\n\t\t__s64 align;\n\t\txfs_fsid_t _ha_fsid;\n\t} ha_u;\n\txfs_fid_t ha_fid;\n};\n\nstruct xfs_getparents_by_handle {\n\tstruct xfs_handle gph_handle;\n\tstruct xfs_getparents gph_request;\n};\n\nstruct xfs_getparents_rec;\n\nstruct xfs_getparents_ctx {\n\tstruct xfs_attr_list_context context;\n\tstruct xfs_getparents_by_handle gph;\n\tstruct xfs_inode *ip;\n\tvoid *krecords;\n\tstruct xfs_getparents_rec *lastrec;\n\tunsigned int count;\n};\n\nstruct xfs_getparents_rec {\n\tstruct xfs_handle gpr_parent;\n\t__u32 gpr_reclen;\n\t__u32 gpr_reserved;\n\tchar gpr_name[0];\n};\n\nstruct xfs_globals {\n\tint bload_leaf_slack;\n\tint bload_node_slack;\n\tint log_recovery_delay;\n\tint mount_delay;\n\tbool bug_on_assert;\n\tbool always_cow;\n};\n\nstruct xfs_hooks {};\n\nstruct xfs_group {\n\tstruct xfs_mount *xg_mount;\n\tuint32_t xg_gno;\n\tenum xfs_group_type xg_type;\n\tatomic_t xg_ref;\n\tatomic_t xg_active_ref;\n\tuint32_t xg_block_count;\n\tuint32_t xg_min_gbno;\n\tstruct xfs_extent_busy_tree *xg_busy_extents;\n\tuint16_t xg_checked;\n\tuint16_t xg_sick;\n\tspinlock_t xg_state_lock;\n\tstruct xfs_defer_drain xg_intents_drain;\n\tstruct xfs_hooks xg_rmap_update_hooks;\n};\n\nstruct xfs_groups {\n\tstruct xarray xa;\n\tuint32_t blocks;\n\tuint8_t blklog;\n\tuint64_t blkmask;\n};\n\nstruct xfs_growfs_data {\n\t__u64 newblocks;\n\t__u32 imaxpct;\n};\n\nstruct xfs_growfs_log {\n\t__u32 newblocks;\n\t__u32 isint;\n};\n\nstruct xfs_growfs_rt {\n\t__u64 newblocks;\n\t__u32 extsize;\n};\n\ntypedef struct xfs_growfs_rt xfs_growfs_rt_t;\n\ntypedef struct xfs_handle xfs_handle_t;\n\nstruct xfs_ialloc_count_inodes {\n\txfs_agino_t count;\n\txfs_agino_t freecount;\n};\n\nstruct xfs_ibulk {\n\tstruct xfs_mount *mp;\n\tstruct mnt_idmap *idmap;\n\tvoid *ubuffer;\n\txfs_ino_t startino;\n\tunsigned int icount;\n\tunsigned int ocount;\n\tunsigned int flags;\n};\n\nstruct xfs_icluster {\n\tbool deleted;\n\txfs_ino_t first_ino;\n\tuint64_t alloc;\n};\n\nstruct xfs_icreate_args {\n\tstruct mnt_idmap *idmap;\n\tstruct xfs_inode *pip;\n\tdev_t rdev;\n\tumode_t mode;\n\tuint16_t flags;\n};\n\nstruct xfs_icreate_log {\n\tuint16_t icl_type;\n\tuint16_t icl_size;\n\t__be32 icl_ag;\n\t__be32 icl_agbno;\n\t__be32 icl_count;\n\t__be32 icl_isize;\n\t__be32 icl_length;\n\t__be32 icl_gen;\n};\n\nstruct xfs_icreate_item {\n\tstruct xfs_log_item ic_item;\n\tstruct xfs_icreate_log ic_format;\n};\n\nstruct xfs_icwalk {\n\t__u32 icw_flags;\n\tkuid_t icw_uid;\n\tkgid_t icw_gid;\n\tprid_t icw_prid;\n\t__u64 icw_min_file_size;\n\tlong int icw_scan_limit;\n};\n\nstruct xfs_iext_rec {\n\tuint64_t lo;\n\tuint64_t hi;\n};\n\nstruct xfs_iext_leaf {\n\tstruct xfs_iext_rec recs[15];\n\tstruct xfs_iext_leaf *prev;\n\tstruct xfs_iext_leaf *next;\n};\n\nstruct xfs_iext_node {\n\tuint64_t keys[16];\n\tvoid *ptrs[16];\n};\n\nstruct xfs_ifork {\n\tint64_t if_bytes;\n\tstruct xfs_btree_block *if_broot;\n\tunsigned int if_seq;\n\tint if_height;\n\tvoid *if_data;\n\txfs_extnum_t if_nextents;\n\tshort int if_broot_bytes;\n\tint8_t if_format;\n\tuint8_t if_needextents;\n};\n\nstruct xfs_imap {\n\txfs_daddr_t im_blkno;\n\tshort unsigned int im_len;\n\tshort unsigned int im_boffset;\n};\n\nstruct xfs_ino_geometry {\n\tuint64_t maxicount;\n\tunsigned int inode_cluster_size;\n\tunsigned int inode_cluster_size_raw;\n\tunsigned int inodes_per_cluster;\n\tunsigned int blocks_per_cluster;\n\tunsigned int cluster_align;\n\tunsigned int cluster_align_inodes;\n\tunsigned int inoalign_mask;\n\tunsigned int inobt_mxr[2];\n\tunsigned int inobt_mnr[2];\n\tunsigned int inobt_maxlevels;\n\tunsigned int ialloc_inos;\n\tunsigned int ialloc_blks;\n\tunsigned int ialloc_min_blks;\n\tunsigned int ialloc_align;\n\tunsigned int agino_log;\n\tunsigned int attr_fork_offset;\n\tuint64_t new_diflags2;\n\tunsigned int min_folio_order;\n};\n\ntypedef struct xfs_inobt_rec_incore xfs_inobt_rec_incore_t;\n\nstruct xfs_inode_log_item;\n\nstruct xfs_inode {\n\tstruct xfs_mount *i_mount;\n\tunion {\n\t\tstruct {\n\t\t\tstruct xfs_dquot *i_udquot;\n\t\t\tstruct xfs_dquot *i_gdquot;\n\t\t\tstruct xfs_dquot *i_pdquot;\n\t\t};\n\t\tuint64_t i_meta_resv_asked;\n\t};\n\txfs_ino_t i_ino;\n\tstruct xfs_imap i_imap;\n\tstruct xfs_ifork *i_cowfp;\n\tstruct xfs_ifork i_df;\n\tstruct xfs_ifork i_af;\n\tstruct xfs_inode_log_item *i_itemp;\n\tstruct rw_semaphore i_lock;\n\tatomic_t i_pincount;\n\tstruct llist_node i_gclist;\n\tuint16_t i_checked;\n\tuint16_t i_sick;\n\tspinlock_t i_flags_lock;\n\tlong unsigned int i_flags;\n\tuint64_t i_delayed_blks;\n\txfs_fsize_t i_disk_size;\n\txfs_rfsblock_t i_nblocks;\n\tprid_t i_projid;\n\txfs_extlen_t i_extsize;\n\tunion {\n\t\txfs_extlen_t i_cowextsize;\n\t\tuint16_t i_flushiter;\n\t};\n\tuint8_t i_forkoff;\n\tenum xfs_metafile_type i_metatype;\n\tuint16_t i_diflags;\n\tuint64_t i_diflags2;\n\tstruct timespec64 i_crtime;\n\txfs_agino_t i_next_unlinked;\n\txfs_agino_t i_prev_unlinked;\n\tstruct inode i_vnode;\n\tspinlock_t i_ioend_lock;\n\tstruct work_struct i_ioend_work;\n\tstruct list_head i_ioend_list;\n};\n\ntypedef struct xfs_inode xfs_inode_t;\n\nstruct xfs_inode_log_format {\n\tuint16_t ilf_type;\n\tuint16_t ilf_size;\n\tuint32_t ilf_fields;\n\tuint16_t ilf_asize;\n\tuint16_t ilf_dsize;\n\tuint32_t ilf_pad;\n\tuint64_t ilf_ino;\n\tunion {\n\t\tuint32_t ilfu_rdev;\n\t\tuint8_t __pad[16];\n\t} ilf_u;\n\tint64_t ilf_blkno;\n\tint32_t ilf_len;\n\tint32_t ilf_boffset;\n};\n\nstruct xfs_inode_log_format_32 {\n\tuint16_t ilf_type;\n\tuint16_t ilf_size;\n\tuint32_t ilf_fields;\n\tuint16_t ilf_asize;\n\tuint16_t ilf_dsize;\n\tuint64_t ilf_ino;\n\tunion {\n\t\tuint32_t ilfu_rdev;\n\t\tuint8_t __pad[16];\n\t} ilf_u;\n\tint64_t ilf_blkno;\n\tint32_t ilf_len;\n\tint32_t ilf_boffset;\n} __attribute__((packed));\n\nstruct xfs_inode_log_item {\n\tstruct xfs_log_item ili_item;\n\tstruct xfs_inode *ili_inode;\n\tshort unsigned int ili_lock_flags;\n\tunsigned int ili_dirty_flags;\n\tspinlock_t ili_lock;\n\tunsigned int ili_last_fields;\n\tunsigned int ili_fields;\n\tunsigned int ili_fsync_fields;\n\txfs_lsn_t ili_flush_lsn;\n\txfs_csn_t ili_commit_seq;\n};\n\nstruct xfs_inodegc {\n\tstruct xfs_mount *mp;\n\tstruct llist_head list;\n\tstruct delayed_work work;\n\tint error;\n\tunsigned int items;\n\tunsigned int shrinker_hits;\n\tunsigned int cpu;\n};\n\nstruct xfs_inogrp {\n\t__u64 xi_startino;\n\t__s32 xi_alloccount;\n\t__u64 xi_allocmask;\n};\n\nstruct xfs_inumbers {\n\tuint64_t xi_startino;\n\tuint64_t xi_allocmask;\n\tuint8_t xi_alloccount;\n\tuint8_t xi_version;\n\tuint8_t xi_padding[6];\n};\n\ntypedef int (*inumbers_fmt_pf)(struct xfs_ibulk *, const struct xfs_inumbers *);\n\nstruct xfs_inumbers_chunk {\n\tinumbers_fmt_pf formatter;\n\tstruct xfs_ibulk *breq;\n};\n\nstruct xfs_inumbers_req {\n\tstruct xfs_bulk_ireq hdr;\n\tstruct xfs_inumbers inumbers[0];\n};\n\nstruct xfs_iread_state {\n\tstruct xfs_iext_cursor icur;\n\txfs_extnum_t loaded;\n};\n\nstruct xfs_item_ops {\n\tunsigned int flags;\n\tvoid (*iop_size)(struct xfs_log_item *, int *, int *);\n\tvoid (*iop_format)(struct xfs_log_item *, struct xfs_log_vec *);\n\tvoid (*iop_pin)(struct xfs_log_item *);\n\tvoid (*iop_unpin)(struct xfs_log_item *, int);\n\tuint64_t (*iop_sort)(struct xfs_log_item *);\n\tint (*iop_precommit)(struct xfs_trans *, struct xfs_log_item *);\n\tvoid (*iop_committing)(struct xfs_log_item *, xfs_csn_t);\n\txfs_lsn_t (*iop_committed)(struct xfs_log_item *, xfs_lsn_t);\n\tuint (*iop_push)(struct xfs_log_item *, struct list_head *);\n\tvoid (*iop_release)(struct xfs_log_item *);\n\tbool (*iop_match)(struct xfs_log_item *, uint64_t);\n\tstruct xfs_log_item * (*iop_intent)(struct xfs_log_item *);\n};\n\nstruct xfs_iunlink_item {\n\tstruct xfs_log_item item;\n\tstruct xfs_inode *ip;\n\tstruct xfs_perag *pag;\n\txfs_agino_t next_agino;\n\txfs_agino_t old_agino;\n};\n\nstruct xfs_pwork_ctl;\n\nstruct xfs_pwork {\n\tstruct work_struct work;\n\tstruct xfs_pwork_ctl *pctl;\n};\n\ntypedef int (*xfs_iwalk_fn)(struct xfs_mount *, struct xfs_trans *, xfs_ino_t, void *);\n\ntypedef int (*xfs_inobt_walk_fn)(struct xfs_mount *, struct xfs_trans *, xfs_agnumber_t, const struct xfs_inobt_rec_incore *, void *);\n\nstruct xfs_iwalk_ag {\n\tstruct xfs_pwork pwork;\n\tstruct xfs_mount *mp;\n\tstruct xfs_trans *tp;\n\tstruct xfs_perag *pag;\n\txfs_ino_t startino;\n\txfs_ino_t lastino;\n\tstruct xfs_inobt_rec_incore *recs;\n\tunsigned int sz_recs;\n\tunsigned int nr_recs;\n\txfs_iwalk_fn iwalk_fn;\n\txfs_inobt_walk_fn inobt_walk_fn;\n\tvoid *data;\n\tunsigned int trim_start: 1;\n\tunsigned int skip_empty: 1;\n\tunsigned int drop_trans: 1;\n};\n\nstruct xfs_legacy_timestamp {\n\t__be32 t_sec;\n\t__be32 t_nsec;\n};\n\nstruct xfs_log_dinode {\n\tuint16_t di_magic;\n\tuint16_t di_mode;\n\tint8_t di_version;\n\tint8_t di_format;\n\tuint16_t di_metatype;\n\tuint32_t di_uid;\n\tuint32_t di_gid;\n\tuint32_t di_nlink;\n\tuint16_t di_projid_lo;\n\tuint16_t di_projid_hi;\n\tunion {\n\t\tuint64_t di_big_nextents;\n\t\tuint64_t di_v3_pad;\n\t\tstruct {\n\t\t\tuint8_t di_v2_pad[6];\n\t\t\tuint16_t di_flushiter;\n\t\t};\n\t};\n\txfs_log_timestamp_t di_atime;\n\txfs_log_timestamp_t di_mtime;\n\txfs_log_timestamp_t di_ctime;\n\txfs_fsize_t di_size;\n\txfs_rfsblock_t di_nblocks;\n\txfs_extlen_t di_extsize;\n\tunion {\n\t\tstruct {\n\t\t\tuint32_t di_nextents;\n\t\t\tuint16_t di_anextents;\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\tuint32_t di_big_anextents;\n\t\t\tuint16_t di_nrext64_pad;\n\t\t} __attribute__((packed));\n\t};\n\tuint8_t di_forkoff;\n\tint8_t di_aformat;\n\tuint32_t di_dmevmask;\n\tuint16_t di_dmstate;\n\tuint16_t di_flags;\n\tuint32_t di_gen;\n\txfs_agino_t di_next_unlinked;\n\tuint32_t di_crc;\n\tuint64_t di_changecount;\n\txfs_lsn_t di_lsn;\n\tuint64_t di_flags2;\n\tuint32_t di_cowextsize;\n\tuint8_t di_pad2[12];\n\txfs_log_timestamp_t di_crtime;\n\txfs_ino_t di_ino;\n\tuuid_t di_uuid;\n};\n\ntypedef struct xfs_log_iovec xfs_log_iovec_t;\n\nstruct xfs_log_legacy_timestamp {\n\tint32_t t_sec;\n\tint32_t t_nsec;\n};\n\nstruct xfs_log_vec {\n\tstruct list_head lv_list;\n\tuint32_t lv_order_id;\n\tint lv_niovecs;\n\tstruct xfs_log_iovec *lv_iovecp;\n\tstruct xfs_log_item *lv_item;\n\tchar *lv_buf;\n\tint lv_bytes;\n\tint lv_buf_len;\n\tint lv_size;\n};\n\nstruct xfs_metadir_update {\n\tstruct xfs_inode *dp;\n\tconst char *path;\n\tstruct xfs_parent_args *ppargs;\n\tstruct xfs_inode *ip;\n\tstruct xfs_trans *tp;\n\tenum xfs_metafile_type metafile_type;\n\tunsigned int dp_locked: 1;\n\tunsigned int ip_locked: 1;\n};\n\nstruct xfs_sb {\n\tuint32_t sb_magicnum;\n\tuint32_t sb_blocksize;\n\txfs_rfsblock_t sb_dblocks;\n\txfs_rfsblock_t sb_rblocks;\n\txfs_rtbxlen_t sb_rextents;\n\tuuid_t sb_uuid;\n\txfs_fsblock_t sb_logstart;\n\txfs_ino_t sb_rootino;\n\txfs_ino_t sb_rbmino;\n\txfs_ino_t sb_rsumino;\n\txfs_agblock_t sb_rextsize;\n\txfs_agblock_t sb_agblocks;\n\txfs_agnumber_t sb_agcount;\n\txfs_extlen_t sb_rbmblocks;\n\txfs_extlen_t sb_logblocks;\n\tuint16_t sb_versionnum;\n\tuint16_t sb_sectsize;\n\tuint16_t sb_inodesize;\n\tuint16_t sb_inopblock;\n\tchar sb_fname[12];\n\tuint8_t sb_blocklog;\n\tuint8_t sb_sectlog;\n\tuint8_t sb_inodelog;\n\tuint8_t sb_inopblog;\n\tuint8_t sb_agblklog;\n\tuint8_t sb_rextslog;\n\tuint8_t sb_inprogress;\n\tuint8_t sb_imax_pct;\n\tuint64_t sb_icount;\n\tuint64_t sb_ifree;\n\tuint64_t sb_fdblocks;\n\tuint64_t sb_frextents;\n\txfs_ino_t sb_uquotino;\n\txfs_ino_t sb_gquotino;\n\tuint16_t sb_qflags;\n\tuint8_t sb_flags;\n\tuint8_t sb_shared_vn;\n\txfs_extlen_t sb_inoalignmt;\n\tuint32_t sb_unit;\n\tuint32_t sb_width;\n\tuint8_t sb_dirblklog;\n\tuint8_t sb_logsectlog;\n\tuint16_t sb_logsectsize;\n\tuint32_t sb_logsunit;\n\tuint32_t sb_features2;\n\tuint32_t sb_bad_features2;\n\tuint32_t sb_features_compat;\n\tuint32_t sb_features_ro_compat;\n\tuint32_t sb_features_incompat;\n\tuint32_t sb_features_log_incompat;\n\tuint32_t sb_crc;\n\txfs_extlen_t sb_spino_align;\n\txfs_ino_t sb_pquotino;\n\txfs_lsn_t sb_lsn;\n\tuuid_t sb_meta_uuid;\n\txfs_ino_t sb_metadirino;\n\txfs_rgnumber_t sb_rgcount;\n\txfs_rtxlen_t sb_rgextents;\n\tuint8_t sb_rgblklog;\n\tuint8_t sb_pad[7];\n};\n\nstruct xfs_trans_res {\n\tuint tr_logres;\n\tint tr_logcount;\n\tint tr_logflags;\n};\n\nstruct xfs_trans_resv {\n\tstruct xfs_trans_res tr_write;\n\tstruct xfs_trans_res tr_itruncate;\n\tstruct xfs_trans_res tr_rename;\n\tstruct xfs_trans_res tr_link;\n\tstruct xfs_trans_res tr_remove;\n\tstruct xfs_trans_res tr_symlink;\n\tstruct xfs_trans_res tr_create;\n\tstruct xfs_trans_res tr_create_tmpfile;\n\tstruct xfs_trans_res tr_mkdir;\n\tstruct xfs_trans_res tr_ifree;\n\tstruct xfs_trans_res tr_ichange;\n\tstruct xfs_trans_res tr_growdata;\n\tstruct xfs_trans_res tr_addafork;\n\tstruct xfs_trans_res tr_writeid;\n\tstruct xfs_trans_res tr_attrinval;\n\tstruct xfs_trans_res tr_attrsetm;\n\tstruct xfs_trans_res tr_attrsetrt;\n\tstruct xfs_trans_res tr_attrrm;\n\tstruct xfs_trans_res tr_clearagi;\n\tstruct xfs_trans_res tr_growrtalloc;\n\tstruct xfs_trans_res tr_growrtzero;\n\tstruct xfs_trans_res tr_growrtfree;\n\tstruct xfs_trans_res tr_qm_setqlim;\n\tstruct xfs_trans_res tr_qm_dqalloc;\n\tstruct xfs_trans_res tr_sb;\n\tstruct xfs_trans_res tr_fsyncts;\n};\n\nstruct xfsstats;\n\nstruct xstats {\n\tstruct xfsstats *xs_stats;\n\tstruct xfs_kobj xs_kobj;\n};\n\nstruct xfs_quotainfo;\n\nstruct xfs_mru_cache;\n\nstruct xfs_mount {\n\tstruct xfs_sb m_sb;\n\tstruct super_block *m_super;\n\tstruct xfs_ail *m_ail;\n\tstruct xfs_buf *m_sb_bp;\n\tstruct xfs_buf *m_rtsb_bp;\n\tchar *m_rtname;\n\tchar *m_logname;\n\tstruct xfs_da_geometry *m_dir_geo;\n\tstruct xfs_da_geometry *m_attr_geo;\n\tstruct xlog *m_log;\n\tstruct xfs_inode *m_rootip;\n\tstruct xfs_inode *m_metadirip;\n\tstruct xfs_inode *m_rtdirip;\n\tstruct xfs_quotainfo *m_quotainfo;\n\tstruct xfs_buftarg *m_ddev_targp;\n\tstruct xfs_buftarg *m_logdev_targp;\n\tstruct xfs_buftarg *m_rtdev_targp;\n\tvoid *m_inodegc;\n\tstruct xfs_mru_cache *m_filestream;\n\tstruct workqueue_struct *m_buf_workqueue;\n\tstruct workqueue_struct *m_unwritten_workqueue;\n\tstruct workqueue_struct *m_reclaim_workqueue;\n\tstruct workqueue_struct *m_sync_workqueue;\n\tstruct workqueue_struct *m_blockgc_wq;\n\tstruct workqueue_struct *m_inodegc_wq;\n\tint m_bsize;\n\tuint8_t m_blkbit_log;\n\tuint8_t m_blkbb_log;\n\tuint8_t m_agno_log;\n\tuint8_t m_sectbb_log;\n\tint8_t m_rtxblklog;\n\tuint m_blockmask;\n\tuint m_blockwsize;\n\tunsigned int m_rtx_per_rbmblock;\n\tuint m_alloc_mxr[2];\n\tuint m_alloc_mnr[2];\n\tuint m_bmap_dmxr[2];\n\tuint m_bmap_dmnr[2];\n\tuint m_rmap_mxr[2];\n\tuint m_rmap_mnr[2];\n\tuint m_rtrmap_mxr[2];\n\tuint m_rtrmap_mnr[2];\n\tuint m_refc_mxr[2];\n\tuint m_refc_mnr[2];\n\tuint m_rtrefc_mxr[2];\n\tuint m_rtrefc_mnr[2];\n\tuint m_alloc_maxlevels;\n\tuint m_bm_maxlevels[2];\n\tuint m_rmap_maxlevels;\n\tuint m_rtrmap_maxlevels;\n\tuint m_refc_maxlevels;\n\tuint m_rtrefc_maxlevels;\n\tunsigned int m_agbtree_maxlevels;\n\tunsigned int m_rtbtree_maxlevels;\n\txfs_extlen_t m_ag_prealloc_blocks;\n\tuint m_alloc_set_aside;\n\tuint m_ag_max_usable;\n\tint m_dalign;\n\tint m_swidth;\n\txfs_agnumber_t m_maxagi;\n\tuint m_allocsize_log;\n\tuint m_allocsize_blocks;\n\tint m_logbufs;\n\tint m_logbsize;\n\tunsigned int m_rsumlevels;\n\txfs_filblks_t m_rsumblocks;\n\tint m_fixedfsid[2];\n\tuint m_qflags;\n\tuint64_t m_features;\n\tuint64_t m_low_space[5];\n\tuint64_t m_low_rtexts[5];\n\tuint64_t m_rtxblkmask;\n\tstruct xfs_ino_geometry m_ino_geo;\n\tstruct xfs_trans_resv m_resv;\n\tlong unsigned int m_opstate;\n\tbool m_always_cow;\n\tbool m_fail_unmount;\n\tbool m_finobt_nores;\n\tbool m_update_sb;\n\tuint8_t m_fs_checked;\n\tuint8_t m_fs_sick;\n\tuint8_t m_rt_checked;\n\tuint8_t m_rt_sick;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t m_sb_lock;\n\tstruct percpu_counter m_icount;\n\tstruct percpu_counter m_ifree;\n\tstruct percpu_counter m_fdblocks;\n\tstruct percpu_counter m_frextents;\n\tstruct percpu_counter m_delalloc_blks;\n\tstruct percpu_counter m_delalloc_rtextents;\n\tatomic64_t m_allocbt_blks;\n\tstruct xfs_groups m_groups[2];\n\tuint64_t m_resblks;\n\tuint64_t m_resblks_avail;\n\tuint64_t m_resblks_save;\n\tstruct delayed_work m_reclaim_work;\n\tstruct dentry *m_debugfs;\n\tstruct xfs_kobj m_kobj;\n\tstruct xfs_kobj m_error_kobj;\n\tstruct xfs_kobj m_error_meta_kobj;\n\tstruct xfs_error_cfg m_error_cfg[4];\n\tstruct xstats m_stats;\n\txfs_agnumber_t m_agfrotor;\n\tatomic_t m_agirotor;\n\tatomic_t m_rtgrotor;\n\tstruct shrinker *m_inodegc_shrinker;\n\tstruct work_struct m_flush_inodes_work;\n\tuint32_t m_generation;\n\tstruct mutex m_growlock;\n\tstruct cpumask m_inodegc_cpumask;\n\tstruct xfs_hooks m_dir_update_hooks;\n};\n\ntypedef struct xfs_mount xfs_mount_t;\n\ntypedef void (*xfs_mru_cache_free_func_t)(void *, struct xfs_mru_cache_elem *);\n\nstruct xfs_mru_cache {\n\tstruct xarray store;\n\tstruct list_head *lists;\n\tstruct list_head reap_list;\n\tspinlock_t lock;\n\tunsigned int grp_count;\n\tunsigned int grp_time;\n\tunsigned int lru_grp;\n\tlong unsigned int time_zero;\n\txfs_mru_cache_free_func_t free_func;\n\tstruct delayed_work work;\n\tunsigned int queued;\n\tvoid *data;\n};\n\nstruct xfs_name {\n\tconst unsigned char *name;\n\tint len;\n\tint type;\n};\n\nstruct xfs_sysctl_val {\n\tint min;\n\tint val;\n\tint max;\n};\n\ntypedef struct xfs_sysctl_val xfs_sysctl_val_t;\n\nstruct xfs_param {\n\txfs_sysctl_val_t sgid_inherit;\n\txfs_sysctl_val_t symlink_mode;\n\txfs_sysctl_val_t panic_mask;\n\txfs_sysctl_val_t error_level;\n\txfs_sysctl_val_t syncd_timer;\n\txfs_sysctl_val_t stats_clear;\n\txfs_sysctl_val_t inherit_sync;\n\txfs_sysctl_val_t inherit_nodump;\n\txfs_sysctl_val_t inherit_noatim;\n\txfs_sysctl_val_t xfs_buf_timer;\n\txfs_sysctl_val_t xfs_buf_age;\n\txfs_sysctl_val_t inherit_nosym;\n\txfs_sysctl_val_t rotorstep;\n\txfs_sysctl_val_t inherit_nodfrg;\n\txfs_sysctl_val_t fstrm_timer;\n\txfs_sysctl_val_t blockgc_timer;\n};\n\ntypedef struct xfs_param xfs_param_t;\n\nstruct xfs_parent_rec {\n\t__be64 p_ino;\n\t__be32 p_gen;\n} __attribute__((packed));\n\nstruct xfs_parent_args {\n\tstruct xfs_parent_rec rec;\n\tstruct xfs_parent_rec new_rec;\n\tstruct xfs_da_args args;\n};\n\nstruct xfs_perag {\n\tstruct xfs_group pag_group;\n\tlong unsigned int pag_opstate;\n\tuint8_t pagf_bno_level;\n\tuint8_t pagf_cnt_level;\n\tuint8_t pagf_rmap_level;\n\tuint32_t pagf_flcount;\n\txfs_extlen_t pagf_freeblks;\n\txfs_extlen_t pagf_longest;\n\tuint32_t pagf_btreeblks;\n\txfs_agino_t pagi_freecount;\n\txfs_agino_t pagi_count;\n\txfs_agino_t pagl_pagino;\n\txfs_agino_t pagl_leftrec;\n\txfs_agino_t pagl_rightrec;\n\tuint8_t pagf_refcount_level;\n\tstruct xfs_ag_resv pag_meta_resv;\n\tstruct xfs_ag_resv pag_rmapbt_resv;\n\txfs_agino_t agino_min;\n\txfs_agino_t agino_max;\n\tatomic_t pagf_fstrms;\n\tspinlock_t pag_ici_lock;\n\tstruct xarray pag_ici_root;\n\tint pag_ici_reclaimable;\n\tlong unsigned int pag_ici_reclaim_cursor;\n\tstruct xfs_buf_cache pag_bcache;\n\tstruct delayed_work pag_blockgc_work;\n};\n\ntypedef int (*xfs_pwork_work_fn)(struct xfs_mount *, struct xfs_pwork *);\n\nstruct xfs_pwork_ctl {\n\tstruct workqueue_struct *wq;\n\tstruct xfs_mount *mp;\n\txfs_pwork_work_fn work_fn;\n\tstruct wait_queue_head poll_wait;\n\tatomic_t nr_work;\n\tint error;\n};\n\nstruct xfs_qm_isolate {\n\tstruct list_head buffers;\n\tstruct list_head dispose;\n};\n\nstruct xfs_qoff_logformat {\n\tshort unsigned int qf_type;\n\tshort unsigned int qf_size;\n\tunsigned int qf_flags;\n\tchar qf_pad[12];\n};\n\nstruct xfs_quotainfo {\n\tstruct xarray qi_uquota_tree;\n\tstruct xarray qi_gquota_tree;\n\tstruct xarray qi_pquota_tree;\n\tstruct mutex qi_tree_lock;\n\tstruct xfs_inode *qi_uquotaip;\n\tstruct xfs_inode *qi_gquotaip;\n\tstruct xfs_inode *qi_pquotaip;\n\tstruct xfs_inode *qi_dirip;\n\tstruct list_lru qi_lru;\n\tint qi_dquots;\n\tstruct mutex qi_quotaofflock;\n\txfs_filblks_t qi_dqchunklen;\n\tuint qi_dqperchunk;\n\tstruct xfs_def_quota qi_usr_default;\n\tstruct xfs_def_quota qi_grp_default;\n\tstruct xfs_def_quota qi_prj_default;\n\tstruct shrinker *qi_shrinker;\n\ttime64_t qi_expiry_min;\n\ttime64_t qi_expiry_max;\n\tstruct xfs_hooks qi_mod_ino_dqtrx_hooks;\n\tstruct xfs_hooks qi_apply_dqtrx_hooks;\n};\n\nstruct xfs_refcount_intent {\n\tstruct list_head ri_list;\n\tstruct xfs_group *ri_group;\n\tenum xfs_refcount_intent_type ri_type;\n\txfs_extlen_t ri_blockcount;\n\txfs_fsblock_t ri_startblock;\n\tbool ri_realtime;\n};\n\ntypedef int (*xfs_refcount_query_range_fn)(struct xfs_btree_cur *, const struct xfs_refcount_irec *, void *);\n\nstruct xfs_refcount_query_range_info {\n\txfs_refcount_query_range_fn fn;\n\tvoid *priv;\n};\n\nstruct xfs_refcount_recovery {\n\tstruct list_head rr_list;\n\tstruct xfs_refcount_irec rr_rrec;\n};\n\nstruct xfs_rmap_intent {\n\tstruct list_head ri_list;\n\tenum xfs_rmap_intent_type ri_type;\n\tint ri_whichfork;\n\tuint64_t ri_owner;\n\tstruct xfs_bmbt_irec ri_bmap;\n\tstruct xfs_group *ri_group;\n\tbool ri_realtime;\n};\n\nstruct xfs_rmap_matches {\n\tlong long unsigned int matches;\n\tlong long unsigned int non_owner_matches;\n\tlong long unsigned int bad_non_owner_matches;\n};\n\nstruct xfs_rmap_ownercount {\n\tstruct xfs_rmap_irec good;\n\tstruct xfs_rmap_irec low;\n\tstruct xfs_rmap_irec high;\n\tstruct xfs_rmap_matches *results;\n\tbool stop_on_nonmatch;\n};\n\ntypedef int (*xfs_rmap_query_range_fn)(struct xfs_btree_cur *, const struct xfs_rmap_irec *, void *);\n\nstruct xfs_rmap_query_range_info {\n\txfs_rmap_query_range_fn fn;\n\tvoid *priv;\n};\n\nstruct xfs_rtbuf_blkinfo {\n\t__be32 rt_magic;\n\t__be32 rt_crc;\n\t__be64 rt_owner;\n\t__be64 rt_blkno;\n\t__be64 rt_lsn;\n\tuuid_t rt_uuid;\n};\n\nstruct xfs_rtgroup {\n\tstruct xfs_group rtg_group;\n\tstruct xfs_inode *rtg_inodes[4];\n\txfs_rtxnum_t rtg_extents;\n\tuint8_t *rtg_rsum_cache;\n};\n\nstruct xfs_rtgroup_geometry {\n\t__u32 rg_number;\n\t__u32 rg_length;\n\t__u32 rg_sick;\n\t__u32 rg_checked;\n\t__u32 rg_flags;\n\t__u32 rg_reserved[27];\n};\n\nstruct xfs_rtrefcount_root {\n\t__be16 bb_level;\n\t__be16 bb_numrecs;\n};\n\nstruct xfs_rtrmap_root {\n\t__be16 bb_level;\n\t__be16 bb_numrecs;\n};\n\nstruct xfs_rud_log_format {\n\tuint16_t rud_type;\n\tuint16_t rud_size;\n\tuint32_t __pad;\n\tuint64_t rud_rui_id;\n};\n\nstruct xfs_rui_log_item;\n\nstruct xfs_rud_log_item {\n\tstruct xfs_log_item rud_item;\n\tstruct xfs_rui_log_item *rud_ruip;\n\tstruct xfs_rud_log_format rud_format;\n};\n\nstruct xfs_rui_log_format {\n\tuint16_t rui_type;\n\tuint16_t rui_size;\n\tuint32_t rui_nextents;\n\tuint64_t rui_id;\n\tstruct xfs_map_extent rui_extents[0];\n};\n\nstruct xfs_rui_log_item {\n\tstruct xfs_log_item rui_item;\n\tatomic_t rui_refcount;\n\tatomic_t rui_next_extent;\n\tstruct xfs_rui_log_format rui_format;\n};\n\ntypedef struct xfs_sb xfs_sb_t;\n\nstruct xfs_swapext {\n\tint64_t sx_version;\n\tint64_t sx_fdtarget;\n\tint64_t sx_fdtmp;\n\txfs_off_t sx_offset;\n\txfs_off_t sx_length;\n\tchar sx_pad[16];\n\tstruct xfs_bstat sx_stat;\n};\n\ntypedef struct xfs_swapext xfs_swapext_t;\n\nstruct xfs_sysfs_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kobject *, char *);\n\tssize_t (*store)(struct kobject *, const char *, size_t);\n};\n\nstruct xfs_trans {\n\tunsigned int t_log_res;\n\tunsigned int t_log_count;\n\tunsigned int t_blk_res;\n\tunsigned int t_blk_res_used;\n\tunsigned int t_rtx_res;\n\tunsigned int t_rtx_res_used;\n\tunsigned int t_flags;\n\txfs_agnumber_t t_highest_agno;\n\tstruct xlog_ticket *t_ticket;\n\tstruct xfs_mount *t_mountp;\n\tstruct xfs_dquot_acct *t_dqinfo;\n\tint64_t t_icount_delta;\n\tint64_t t_ifree_delta;\n\tint64_t t_fdblocks_delta;\n\tint64_t t_res_fdblocks_delta;\n\tint64_t t_frextents_delta;\n\tint64_t t_res_frextents_delta;\n\tint64_t t_dblocks_delta;\n\tint64_t t_agcount_delta;\n\tint64_t t_imaxpct_delta;\n\tint64_t t_rextsize_delta;\n\tint64_t t_rbmblocks_delta;\n\tint64_t t_rblocks_delta;\n\tint64_t t_rextents_delta;\n\tint64_t t_rextslog_delta;\n\tint64_t t_rgcount_delta;\n\tstruct list_head t_items;\n\tstruct list_head t_busy;\n\tstruct list_head t_dfops;\n\tlong unsigned int t_pflags;\n};\n\ntypedef struct xfs_trans xfs_trans_t;\n\nstruct xfs_trans_header {\n\tuint th_magic;\n\tuint th_type;\n\tint32_t th_tid;\n\tuint th_num_items;\n};\n\ntypedef struct xfs_trans_header xfs_trans_header_t;\n\nstruct xfs_trim_cur {\n\txfs_agblock_t start;\n\txfs_extlen_t count;\n\txfs_agblock_t end;\n\txfs_extlen_t minlen;\n\tbool by_bno;\n};\n\nstruct xfs_unmount_log_format {\n\tuint16_t magic;\n\tuint16_t pad1;\n\tuint32_t pad2;\n};\n\nstruct xfs_writepage_ctx {\n\tstruct iomap_writepage_ctx ctx;\n\tunsigned int data_seq;\n\tunsigned int cow_seq;\n};\n\nstruct xfs_xmd_log_format {\n\tuint16_t xmd_type;\n\tuint16_t xmd_size;\n\tuint32_t __pad;\n\tuint64_t xmd_xmi_id;\n};\n\nstruct xfs_xmi_log_item;\n\nstruct xfs_xmd_log_item {\n\tstruct xfs_log_item xmd_item;\n\tstruct xfs_xmi_log_item *xmd_intent_log_item;\n\tstruct xfs_xmd_log_format xmd_format;\n};\n\nstruct xfs_xmi_log_format {\n\tuint16_t xmi_type;\n\tuint16_t xmi_size;\n\tuint32_t __pad;\n\tuint64_t xmi_id;\n\tuint64_t xmi_inode1;\n\tuint64_t xmi_inode2;\n\tuint32_t xmi_igen1;\n\tuint32_t xmi_igen2;\n\tuint64_t xmi_startoff1;\n\tuint64_t xmi_startoff2;\n\tuint64_t xmi_blockcount;\n\tuint64_t xmi_flags;\n\tuint64_t xmi_isize1;\n\tuint64_t xmi_isize2;\n};\n\nstruct xfs_xmi_log_item {\n\tstruct xfs_log_item xmi_item;\n\tatomic_t xmi_refcount;\n\tstruct xfs_xmi_log_format xmi_format;\n};\n\nstruct xfsstats {\n\tunion {\n\t\tstruct __xfsstats s;\n\t\tuint32_t a[262];\n\t};\n};\n\nstruct xhci_bus_state {\n\tlong unsigned int bus_suspended;\n\tlong unsigned int next_statechange;\n\tu32 port_c_suspend;\n\tu32 suspended_ports;\n\tu32 port_remote_wakeup;\n\tlong unsigned int resuming_ports;\n};\n\nstruct xhci_bw_info {\n\tunsigned int ep_interval;\n\tunsigned int mult;\n\tunsigned int num_packets;\n\tunsigned int max_packet_size;\n\tunsigned int max_esit_payload;\n\tunsigned int type;\n};\n\nstruct xhci_cap_regs {\n\t__le32 hc_capbase;\n\t__le32 hcs_params1;\n\t__le32 hcs_params2;\n\t__le32 hcs_params3;\n\t__le32 hcc_params;\n\t__le32 db_off;\n\t__le32 run_regs_off;\n\t__le32 hcc_params2;\n};\n\nstruct xhci_container_ctx;\n\nstruct xhci_command {\n\tstruct xhci_container_ctx *in_ctx;\n\tu32 status;\n\tu32 comp_param;\n\tint slot_id;\n\tstruct completion *completion;\n\tunion xhci_trb *command_trb;\n\tstruct list_head cmd_list;\n\tunsigned int timeout_ms;\n};\n\nstruct xhci_container_ctx {\n\tunsigned int type;\n\tint size;\n\tu8 *bytes;\n\tdma_addr_t dma;\n};\n\nstruct xhci_erst_entry;\n\nstruct xhci_erst {\n\tstruct xhci_erst_entry *entries;\n\tunsigned int num_entries;\n\tdma_addr_t erst_dma_addr;\n};\n\nstruct xhci_hcd;\n\nstruct xhci_dbc {\n\tspinlock_t lock;\n\tstruct device *dev;\n\tstruct xhci_hcd *xhci;\n\tstruct dbc_regs *regs;\n\tstruct xhci_ring *ring_evt;\n\tstruct xhci_ring *ring_in;\n\tstruct xhci_ring *ring_out;\n\tstruct xhci_erst erst;\n\tstruct xhci_container_ctx *ctx;\n\tstruct dbc_str_descs *string;\n\tdma_addr_t string_dma;\n\tsize_t string_size;\n\tu16 idVendor;\n\tu16 idProduct;\n\tu16 bcdDevice;\n\tu8 bInterfaceProtocol;\n\tenum dbc_state state;\n\tstruct delayed_work event_work;\n\tunsigned int poll_interval;\n\tunsigned int resume_required: 1;\n\tstruct dbc_ep eps[2];\n\tconst struct dbc_driver *driver;\n\tvoid *priv;\n};\n\nstruct xhci_device_context_array {\n\t__le64 dev_context_ptrs[256];\n\tdma_addr_t dma;\n};\n\nstruct xhci_doorbell_array {\n\t__le32 doorbell[256];\n};\n\nstruct xhci_driver_overrides {\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n\tint (*start)(struct usb_hcd *);\n\tint (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*check_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tvoid (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tint (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t);\n\tint (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16);\n};\n\nstruct xhci_ep_ctx {\n\t__le32 ep_info;\n\t__le32 ep_info2;\n\t__le64 deq;\n\t__le32 tx_info;\n\t__le32 reserved[3];\n};\n\nstruct xhci_stream_info;\n\nstruct xhci_ep_priv {\n\tchar name[32];\n\tstruct dentry *root;\n\tstruct xhci_stream_info *stream_info;\n\tstruct xhci_ring *show_ring;\n\tunsigned int stream_id;\n};\n\nstruct xhci_erst_entry {\n\t__le64 seg_addr;\n\t__le32 seg_size;\n\t__le32 rsvd;\n};\n\nstruct xhci_event_cmd {\n\t__le64 cmd_trb;\n\t__le32 status;\n\t__le32 flags;\n};\n\nstruct xhci_file_map {\n\tconst char *name;\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct xhci_generic_trb {\n\t__le32 field[4];\n};\n\nstruct xhci_port;\n\nstruct xhci_hub {\n\tstruct xhci_port **ports;\n\tunsigned int num_ports;\n\tstruct usb_hcd *hcd;\n\tstruct xhci_bus_state bus_state;\n\tu8 maj_rev;\n\tu8 min_rev;\n};\n\nstruct xhci_op_regs;\n\nstruct xhci_run_regs;\n\nstruct xhci_interrupter;\n\nstruct xhci_scratchpad;\n\nstruct xhci_virt_device;\n\nstruct xhci_root_port_bw_info;\n\nstruct xhci_port_cap;\n\nstruct xhci_hcd {\n\tstruct usb_hcd *main_hcd;\n\tstruct usb_hcd *shared_hcd;\n\tstruct xhci_cap_regs *cap_regs;\n\tstruct xhci_op_regs *op_regs;\n\tstruct xhci_run_regs *run_regs;\n\tstruct xhci_doorbell_array *dba;\n\t__u32 hcs_params1;\n\t__u32 hcs_params2;\n\t__u32 hcs_params3;\n\t__u32 hcc_params;\n\t__u32 hcc_params2;\n\tspinlock_t lock;\n\tu16 hci_version;\n\tu16 max_interrupters;\n\tu32 imod_interval;\n\tint page_size;\n\tint page_shift;\n\tint nvecs;\n\tstruct clk *clk;\n\tstruct clk *reg_clk;\n\tstruct reset_control *reset;\n\tstruct xhci_device_context_array *dcbaa;\n\tstruct xhci_interrupter **interrupters;\n\tstruct xhci_ring *cmd_ring;\n\tunsigned int cmd_ring_state;\n\tstruct list_head cmd_list;\n\tunsigned int cmd_ring_reserved_trbs;\n\tstruct delayed_work cmd_timer;\n\tstruct completion cmd_ring_stop_completion;\n\tstruct xhci_command *current_cmd;\n\tstruct xhci_scratchpad *scratchpad;\n\tstruct mutex mutex;\n\tstruct xhci_virt_device *devs[256];\n\tstruct xhci_root_port_bw_info *rh_bw;\n\tstruct dma_pool *device_pool;\n\tstruct dma_pool *segment_pool;\n\tstruct dma_pool *small_streams_pool;\n\tstruct dma_pool *medium_streams_pool;\n\tunsigned int xhc_state;\n\tlong unsigned int run_graceperiod;\n\tstruct s3_save s3;\n\tlong long unsigned int quirks;\n\tunsigned int num_active_eps;\n\tunsigned int limit_active_eps;\n\tstruct xhci_port *hw_ports;\n\tstruct xhci_hub usb2_rhub;\n\tstruct xhci_hub usb3_rhub;\n\tunsigned int hw_lpm_support: 1;\n\tunsigned int broken_suspend: 1;\n\tunsigned int allow_single_roothub: 1;\n\tstruct xhci_port_cap *port_caps;\n\tunsigned int num_port_caps;\n\tstruct timer_list comp_mode_recovery_timer;\n\tu32 port_status_u0;\n\tu16 test_mode;\n\tstruct dentry *debugfs_root;\n\tstruct dentry *debugfs_slots;\n\tstruct list_head regset_list;\n\tvoid *dbc;\n\tlong unsigned int priv[0];\n};\n\nstruct xhci_input_control_ctx {\n\t__le32 drop_flags;\n\t__le32 add_flags;\n\t__le32 rsvd2[6];\n};\n\nstruct xhci_intr_reg;\n\nstruct xhci_interrupter {\n\tstruct xhci_ring *event_ring;\n\tstruct xhci_erst erst;\n\tstruct xhci_intr_reg *ir_set;\n\tunsigned int intr_num;\n\tbool ip_autoclear;\n\tu32 isoc_bei_interval;\n\tu32 s3_irq_pending;\n\tu32 s3_irq_control;\n\tu32 s3_erst_size;\n\tu64 s3_erst_base;\n\tu64 s3_erst_dequeue;\n};\n\nstruct xhci_interval_bw {\n\tunsigned int num_packets;\n\tstruct list_head endpoints;\n\tunsigned int overhead[3];\n};\n\nstruct xhci_interval_bw_table {\n\tunsigned int interval0_esit_payload;\n\tstruct xhci_interval_bw interval_bw[16];\n\tunsigned int bw_used;\n\tunsigned int ss_bw_in;\n\tunsigned int ss_bw_out;\n};\n\nstruct xhci_intr_reg {\n\t__le32 irq_pending;\n\t__le32 irq_control;\n\t__le32 erst_size;\n\t__le32 rsvd;\n\t__le64 erst_base;\n\t__le64 erst_dequeue;\n};\n\nstruct xhci_link_trb {\n\t__le64 segment_ptr;\n\t__le32 intr_target;\n\t__le32 control;\n};\n\nstruct xhci_op_regs {\n\t__le32 command;\n\t__le32 status;\n\t__le32 page_size;\n\t__le32 reserved1;\n\t__le32 reserved2;\n\t__le32 dev_notification;\n\t__le64 cmd_ring;\n\t__le32 reserved3[4];\n\t__le64 dcbaa_ptr;\n\t__le32 config_reg;\n\t__le32 reserved4[241];\n\t__le32 port_status_base;\n\t__le32 port_power_base;\n\t__le32 port_link_base;\n\t__le32 reserved5;\n\t__le32 reserved6[1016];\n};\n\nstruct xhci_port {\n\t__le32 *addr;\n\tint hw_portnum;\n\tint hcd_portnum;\n\tstruct xhci_hub *rhub;\n\tstruct xhci_port_cap *port_cap;\n\tunsigned int lpm_incapable: 1;\n\tlong unsigned int resume_timestamp;\n\tbool rexit_active;\n\tint slot_id;\n\tstruct completion rexit_done;\n\tstruct completion u3exit_done;\n};\n\nstruct xhci_port_cap {\n\tu32 *psi;\n\tu8 psi_count;\n\tu8 psi_uid_count;\n\tu8 maj_rev;\n\tu8 min_rev;\n\tu32 protocol_caps;\n};\n\nstruct xhci_regset {\n\tchar name[32];\n\tstruct debugfs_regset32 regset;\n\tsize_t nregs;\n\tstruct list_head list;\n};\n\nstruct xhci_ring {\n\tstruct xhci_segment *first_seg;\n\tstruct xhci_segment *last_seg;\n\tunion xhci_trb *enqueue;\n\tstruct xhci_segment *enq_seg;\n\tunion xhci_trb *dequeue;\n\tstruct xhci_segment *deq_seg;\n\tstruct list_head td_list;\n\tu32 cycle_state;\n\tunsigned int stream_id;\n\tunsigned int num_segs;\n\tunsigned int num_trbs_free;\n\tunsigned int bounce_buf_len;\n\tenum xhci_ring_type type;\n\tbool last_td_was_short;\n\tstruct xarray *trb_address_map;\n};\n\nstruct xhci_root_port_bw_info {\n\tstruct list_head tts;\n\tunsigned int num_active_tts;\n\tstruct xhci_interval_bw_table bw_table;\n};\n\nstruct xhci_run_regs {\n\t__le32 microframe_index;\n\t__le32 rsvd[7];\n\tstruct xhci_intr_reg ir_set[128];\n};\n\nstruct xhci_scratchpad {\n\tu64 *sp_array;\n\tdma_addr_t sp_dma;\n\tvoid **sp_buffers;\n};\n\nstruct xhci_segment {\n\tunion xhci_trb *trbs;\n\tstruct xhci_segment *next;\n\tunsigned int num;\n\tdma_addr_t dma;\n\tdma_addr_t bounce_dma;\n\tvoid *bounce_buf;\n\tunsigned int bounce_offs;\n\tunsigned int bounce_len;\n};\n\nstruct xhci_slot_ctx {\n\t__le32 dev_info;\n\t__le32 dev_info2;\n\t__le32 tt_info;\n\t__le32 dev_state;\n\t__le32 reserved[4];\n};\n\nstruct xhci_slot_priv {\n\tchar name[32];\n\tstruct dentry *root;\n\tstruct xhci_ep_priv *eps[31];\n\tstruct xhci_virt_device *dev;\n};\n\nstruct xhci_stream_ctx {\n\t__le64 stream_ring;\n\t__le32 reserved[2];\n};\n\nstruct xhci_stream_info {\n\tstruct xhci_ring **stream_rings;\n\tunsigned int num_streams;\n\tstruct xhci_stream_ctx *stream_ctx_array;\n\tunsigned int num_stream_ctxs;\n\tdma_addr_t ctx_array_dma;\n\tstruct xarray trb_address_map;\n\tstruct xhci_command *free_streams_command;\n};\n\nstruct xhci_transfer_event {\n\t__le64 buffer;\n\t__le32 transfer_len;\n\t__le32 flags;\n};\n\nunion xhci_trb {\n\tstruct xhci_link_trb link;\n\tstruct xhci_transfer_event trans_event;\n\tstruct xhci_event_cmd event_cmd;\n\tstruct xhci_generic_trb generic;\n};\n\nstruct xhci_tt_bw_info {\n\tstruct list_head tt_list;\n\tint slot_id;\n\tint ttport;\n\tstruct xhci_interval_bw_table bw_table;\n\tint active_eps;\n};\n\nstruct xhci_virt_ep {\n\tstruct xhci_virt_device *vdev;\n\tunsigned int ep_index;\n\tstruct xhci_ring *ring;\n\tstruct xhci_stream_info *stream_info;\n\tstruct xhci_ring *new_ring;\n\tunsigned int err_count;\n\tunsigned int ep_state;\n\tstruct list_head cancelled_td_list;\n\tstruct xhci_hcd *xhci;\n\tstruct xhci_segment *queued_deq_seg;\n\tunion xhci_trb *queued_deq_ptr;\n\tbool skip;\n\tstruct xhci_bw_info bw_info;\n\tstruct list_head bw_endpoint_list;\n\tlong unsigned int stop_time;\n\tint next_frame_id;\n\tbool use_extended_tbc;\n};\n\nstruct xhci_virt_device {\n\tint slot_id;\n\tstruct usb_device *udev;\n\tstruct xhci_container_ctx *out_ctx;\n\tstruct xhci_container_ctx *in_ctx;\n\tstruct xhci_virt_ep eps[31];\n\tstruct xhci_port *rhub_port;\n\tstruct xhci_interval_bw_table *bw_table;\n\tstruct xhci_tt_bw_info *tt_info;\n\tlong unsigned int flags;\n\tu16 current_mel;\n\tvoid *debugfs_private;\n};\n\nstruct xlog_grant_head {\n\tspinlock_t lock;\n\tstruct list_head waiters;\n\tatomic64_t grant;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef struct xlog_in_core xlog_in_core_t;\n\nstruct xlog {\n\tstruct xfs_mount *l_mp;\n\tstruct xfs_ail *l_ailp;\n\tstruct xfs_cil *l_cilp;\n\tstruct xfs_buftarg *l_targ;\n\tstruct workqueue_struct *l_ioend_workqueue;\n\tstruct delayed_work l_work;\n\tlong int l_opstate;\n\tuint l_quotaoffs_flag;\n\tstruct list_head *l_buf_cancel_table;\n\tstruct list_head r_dfops;\n\tint l_iclog_hsize;\n\tint l_iclog_heads;\n\tuint l_sectBBsize;\n\tint l_iclog_size;\n\tint l_iclog_bufs;\n\txfs_daddr_t l_logBBstart;\n\tint l_logsize;\n\tint l_logBBsize;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\twait_queue_head_t l_flush_wait;\n\tint l_covered_state;\n\txlog_in_core_t *l_iclog;\n\tspinlock_t l_icloglock;\n\tint l_curr_cycle;\n\tint l_prev_cycle;\n\tint l_curr_block;\n\tint l_prev_block;\n\tatomic64_t l_tail_lsn;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xlog_grant_head l_reserve_head;\n\tstruct xlog_grant_head l_write_head;\n\tuint64_t l_tail_space;\n\tstruct xfs_kobj l_kobj;\n\txfs_lsn_t l_recovery_lsn;\n\tuint32_t l_iclog_roundoff;\n\tlong: 64;\n};\n\nstruct xlog_cil_pcp {\n\tint32_t space_used;\n\tuint32_t space_reserved;\n\tstruct list_head busy_extents;\n\tstruct list_head log_items;\n};\n\nstruct xlog_op_header {\n\t__be32 oh_tid;\n\t__be32 oh_len;\n\t__u8 oh_clientid;\n\t__u8 oh_flags;\n\t__u16 oh_res2;\n};\n\nstruct xlog_cil_trans_hdr {\n\tstruct xlog_op_header oph[2];\n\tstruct xfs_trans_header thdr;\n\tstruct xfs_log_iovec lhdr[2];\n};\n\nunion xlog_in_core2;\n\ntypedef union xlog_in_core2 xlog_in_core_2_t;\n\nstruct xlog_in_core {\n\twait_queue_head_t ic_force_wait;\n\twait_queue_head_t ic_write_wait;\n\tstruct xlog_in_core *ic_next;\n\tstruct xlog_in_core *ic_prev;\n\tstruct xlog *ic_log;\n\tu32 ic_size;\n\tu32 ic_offset;\n\tenum xlog_iclog_state ic_state;\n\tunsigned int ic_flags;\n\tvoid *ic_datap;\n\tstruct list_head ic_callbacks;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t ic_refcnt;\n\txlog_in_core_2_t *ic_data;\n\tstruct semaphore ic_sema;\n\tstruct work_struct ic_end_io_work;\n\tstruct bio ic_bio;\n\tstruct bio_vec ic_bvec[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xlog_rec_header {\n\t__be32 h_magicno;\n\t__be32 h_cycle;\n\t__be32 h_version;\n\t__be32 h_len;\n\t__be64 h_lsn;\n\t__be64 h_tail_lsn;\n\t__le32 h_crc;\n\t__be32 h_prev_block;\n\t__be32 h_num_logops;\n\t__be32 h_cycle_data[64];\n\t__be32 h_fmt;\n\tuuid_t h_fs_uuid;\n\t__be32 h_size;\n};\n\ntypedef struct xlog_rec_header xlog_rec_header_t;\n\nstruct xlog_rec_ext_header {\n\t__be32 xh_cycle;\n\t__be32 xh_cycle_data[64];\n};\n\ntypedef struct xlog_rec_ext_header xlog_rec_ext_header_t;\n\nunion xlog_in_core2 {\n\txlog_rec_header_t hic_header;\n\txlog_rec_ext_header_t hic_xheader;\n\tchar hic_sector[512];\n};\n\nstruct xlog_recover {\n\tstruct hlist_node r_list;\n\txlog_tid_t r_log_tid;\n\txfs_trans_header_t r_theader;\n\tint r_state;\n\txfs_lsn_t r_lsn;\n\tstruct list_head r_itemq;\n};\n\nstruct xlog_recover_item_ops;\n\nstruct xlog_recover_item {\n\tstruct list_head ri_list;\n\tint ri_cnt;\n\tint ri_total;\n\tstruct xfs_log_iovec *ri_buf;\n\tconst struct xlog_recover_item_ops *ri_ops;\n};\n\nstruct xlog_recover_item_ops {\n\tuint16_t item_type;\n\tenum xlog_recover_reorder (*reorder)(struct xlog_recover_item *);\n\tvoid (*ra_pass2)(struct xlog *, struct xlog_recover_item *);\n\tint (*commit_pass1)(struct xlog *, struct xlog_recover_item *);\n\tint (*commit_pass2)(struct xlog *, struct list_head *, struct xlog_recover_item *, xfs_lsn_t);\n};\n\nstruct xlog_ticket {\n\tstruct list_head t_queue;\n\tstruct task_struct *t_task;\n\txlog_tid_t t_tid;\n\tatomic_t t_ref;\n\tint t_curr_res;\n\tint t_unit_res;\n\tchar t_ocnt;\n\tchar t_cnt;\n\tuint8_t t_flags;\n\tint t_iclog_hdrs;\n};\n\ntypedef struct xlog_ticket xlog_ticket_t;\n\nstruct xol_area {\n\twait_queue_head_t wq;\n\tlong unsigned int *bitmap;\n\tstruct page *page;\n\tlong unsigned int vaddr;\n};\n\nstruct xor_block_template {\n\tstruct xor_block_template *next;\n\tconst char *name;\n\tint speed;\n\tvoid (*do_2)(long unsigned int, long unsigned int * restrict, const long unsigned int * restrict);\n\tvoid (*do_3)(long unsigned int, long unsigned int * restrict, const long unsigned int * restrict, const long unsigned int * restrict);\n\tvoid (*do_4)(long unsigned int, long unsigned int * restrict, const long unsigned int * restrict, const long unsigned int * restrict, const long unsigned int * restrict);\n\tvoid (*do_5)(long unsigned int, long unsigned int * restrict, const long unsigned int * restrict, const long unsigned int * restrict, const long unsigned int * restrict, const long unsigned int * restrict);\n};\n\nstruct xprt_addr {\n\tconst char *addr;\n\tstruct callback_head rcu;\n};\n\nstruct xprt_create;\n\nstruct xprt_class {\n\tstruct list_head list;\n\tint ident;\n\tstruct rpc_xprt * (*setup)(struct xprt_create *);\n\tstruct module *owner;\n\tchar name[32];\n\tconst char *netid[0];\n};\n\nstruct xprt_create {\n\tint ident;\n\tstruct net *net;\n\tstruct sockaddr *srcaddr;\n\tstruct sockaddr *dstaddr;\n\tsize_t addrlen;\n\tconst char *servername;\n\tstruct svc_xprt *bc_xprt;\n\tstruct rpc_xprt_switch *bc_xps;\n\tunsigned int flags;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct xps_map;\n\nstruct xps_dev_maps {\n\tstruct callback_head rcu;\n\tunsigned int nr_ids;\n\ts16 num_tc;\n\tstruct xps_map *attr_map[0];\n};\n\nstruct xps_map {\n\tunsigned int len;\n\tunsigned int alloc_len;\n\tstruct callback_head rcu;\n\tu16 queues[0];\n};\n\nstruct xsk_buff_pool {\n\tstruct device *dev;\n\tstruct net_device *netdev;\n\tstruct list_head xsk_tx_list;\n\tspinlock_t xsk_tx_list_lock;\n\trefcount_t users;\n\tstruct xdp_umem *umem;\n\tstruct work_struct work;\n\tstruct list_head free_list;\n\tstruct list_head xskb_list;\n\tu32 heads_cnt;\n\tu16 queue_id;\n\tlong: 64;\n\tstruct xsk_queue *fq;\n\tstruct xsk_queue *cq;\n\tdma_addr_t *dma_pages;\n\tstruct xdp_buff_xsk *heads;\n\tstruct xdp_desc *tx_descs;\n\tu64 chunk_mask;\n\tu64 addrs_cnt;\n\tu32 free_list_cnt;\n\tu32 dma_pages_cnt;\n\tu32 free_heads_cnt;\n\tu32 headroom;\n\tu32 chunk_size;\n\tu32 chunk_shift;\n\tu32 frame_len;\n\tu32 xdp_zc_max_segs;\n\tu8 tx_metadata_len;\n\tu8 cached_need_wakeup;\n\tbool uses_need_wakeup;\n\tbool unaligned;\n\tbool tx_sw_csum;\n\tvoid *addrs;\n\tspinlock_t cq_lock;\n\tstruct xdp_buff_xsk *free_heads[0];\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xsk_cb_desc {\n\tvoid *src;\n\tu8 off;\n\tu8 bytes;\n};\n\nstruct xsk_dma_map {\n\tdma_addr_t *dma_pages;\n\tstruct device *dev;\n\tstruct net_device *netdev;\n\trefcount_t users;\n\tstruct list_head list;\n\tu32 dma_pages_cnt;\n};\n\nstruct xsk_map {\n\tstruct bpf_map map;\n\tspinlock_t lock;\n\tatomic_t count;\n\tstruct xdp_sock *xsk_map[0];\n};\n\nstruct xsk_map_node {\n\tstruct list_head node;\n\tstruct xsk_map *map;\n\tstruct xdp_sock **map_entry;\n};\n\nstruct xsk_queue {\n\tu32 ring_mask;\n\tu32 nentries;\n\tu32 cached_prod;\n\tu32 cached_cons;\n\tstruct xdp_ring *ring;\n\tu64 invalid_descs;\n\tu64 queue_empty_descs;\n\tsize_t ring_vmalloc_size;\n};\n\nstruct xsk_tx_metadata {\n\t__u64 flags;\n\tunion {\n\t\tstruct {\n\t\t\t__u16 csum_start;\n\t\t\t__u16 csum_offset;\n\t\t} request;\n\t\tstruct {\n\t\t\t__u64 tx_timestamp;\n\t\t} completion;\n\t};\n};\n\nstruct xsk_tx_metadata_ops {\n\tvoid (*tmo_request_timestamp)(void *);\n\tu64 (*tmo_fill_timestamp)(void *);\n\tvoid (*tmo_request_checksum)(u16, u16, void *);\n};\n\nstruct xstats_entry {\n\tchar *desc;\n\tint endpoint;\n};\n\nstruct xt_match;\n\nstruct xt_action_param {\n\tunion {\n\t\tconst struct xt_match *match;\n\t\tconst struct xt_target *target;\n\t};\n\tunion {\n\t\tconst void *matchinfo;\n\t\tconst void *targinfo;\n\t};\n\tconst struct nf_hook_state *state;\n\tunsigned int thoff;\n\tu16 fragoff;\n\tbool hotdrop;\n};\n\nstruct xt_af {\n\tstruct mutex mutex;\n\tstruct list_head match;\n\tstruct list_head target;\n};\n\nstruct xt_counters_info {\n\tchar name[32];\n\tunsigned int num_counters;\n\tstruct xt_counters counters[0];\n};\n\nstruct xt_entry_match {\n\tunion {\n\t\tstruct {\n\t\t\t__u16 match_size;\n\t\t\tchar name[29];\n\t\t\t__u8 revision;\n\t\t} user;\n\t\tstruct {\n\t\t\t__u16 match_size;\n\t\t\tstruct xt_match *match;\n\t\t} kernel;\n\t\t__u16 match_size;\n\t} u;\n\tunsigned char data[0];\n};\n\nstruct xt_get_revision {\n\tchar name[29];\n\t__u8 revision;\n};\n\nstruct xt_mtchk_param;\n\nstruct xt_mtdtor_param;\n\nstruct xt_match {\n\tstruct list_head list;\n\tconst char name[29];\n\tu_int8_t revision;\n\tbool (*match)(const struct sk_buff *, struct xt_action_param *);\n\tint (*checkentry)(const struct xt_mtchk_param *);\n\tvoid (*destroy)(const struct xt_mtdtor_param *);\n\tstruct module *me;\n\tconst char *table;\n\tunsigned int matchsize;\n\tunsigned int usersize;\n\tunsigned int hooks;\n\tshort unsigned int proto;\n\tshort unsigned int family;\n};\n\nstruct xt_mtchk_param {\n\tstruct net *net;\n\tconst char *table;\n\tconst void *entryinfo;\n\tconst struct xt_match *match;\n\tvoid *matchinfo;\n\tunsigned int hook_mask;\n\tu_int8_t family;\n\tbool nft_compat;\n};\n\nstruct xt_mtdtor_param {\n\tstruct net *net;\n\tconst struct xt_match *match;\n\tvoid *matchinfo;\n\tu_int8_t family;\n};\n\nstruct xt_percpu_counter_alloc_state {\n\tunsigned int off;\n\tconst char *mem;\n};\n\nstruct xt_pernet {\n\tstruct list_head tables[11];\n};\n\nstruct xt_table_info;\n\nstruct xt_table {\n\tstruct list_head list;\n\tunsigned int valid_hooks;\n\tstruct xt_table_info *private;\n\tstruct nf_hook_ops *ops;\n\tstruct module *me;\n\tu_int8_t af;\n\tint priority;\n\tconst char name[32];\n};\n\nstruct xt_table_info {\n\tunsigned int size;\n\tunsigned int number;\n\tunsigned int initial_entries;\n\tunsigned int hook_entry[5];\n\tunsigned int underflow[5];\n\tunsigned int stacksize;\n\tvoid ***jumpstack;\n\tunsigned char entries[0];\n};\n\nstruct xt_tgchk_param;\n\nstruct xt_tgdtor_param;\n\nstruct xt_target {\n\tstruct list_head list;\n\tconst char name[29];\n\tu_int8_t revision;\n\tunsigned int (*target)(struct sk_buff *, const struct xt_action_param *);\n\tint (*checkentry)(const struct xt_tgchk_param *);\n\tvoid (*destroy)(const struct xt_tgdtor_param *);\n\tstruct module *me;\n\tconst char *table;\n\tunsigned int targetsize;\n\tunsigned int usersize;\n\tunsigned int hooks;\n\tshort unsigned int proto;\n\tshort unsigned int family;\n};\n\nstruct xt_tcp {\n\t__u16 spts[2];\n\t__u16 dpts[2];\n\t__u8 option;\n\t__u8 flg_mask;\n\t__u8 flg_cmp;\n\t__u8 invflags;\n};\n\nstruct xt_template {\n\tstruct list_head list;\n\tint (*table_init)(struct net *);\n\tstruct module *me;\n\tchar name[32];\n};\n\nstruct xt_tgchk_param {\n\tstruct net *net;\n\tconst char *table;\n\tconst void *entryinfo;\n\tconst struct xt_target *target;\n\tvoid *targinfo;\n\tunsigned int hook_mask;\n\tu_int8_t family;\n\tbool nft_compat;\n};\n\nstruct xt_tgdtor_param {\n\tstruct net *net;\n\tconst struct xt_target *target;\n\tvoid *targinfo;\n\tu_int8_t family;\n};\n\nstruct xt_udp {\n\t__u16 spts[2];\n\t__u16 dpts[2];\n\t__u8 invflags;\n};\n\nstruct xts_instance_ctx {\n\tstruct crypto_skcipher_spawn spawn;\n\tstruct crypto_cipher_spawn tweak_spawn;\n};\n\nstruct xts_request_ctx {\n\tle128 t;\n\tstruct scatterlist *tail;\n\tstruct scatterlist sg[2];\n\tstruct skcipher_request subreq;\n};\n\nstruct xts_tfm_ctx {\n\tstruct crypto_skcipher *child;\n\tstruct crypto_cipher *tweak;\n};\n\nstruct xxh32_state {\n\tuint32_t total_len_32;\n\tuint32_t large_len;\n\tuint32_t v1;\n\tuint32_t v2;\n\tuint32_t v3;\n\tuint32_t v4;\n\tuint32_t mem32[4];\n\tuint32_t memsize;\n};\n\nstruct xxhash64_desc_ctx {\n\tstruct xxh64_state xxhstate;\n};\n\nstruct xxhash64_tfm_ctx {\n\tu64 seed;\n};\n\nstruct xz_dec_hash {\n\tvli_type unpadded;\n\tvli_type uncompressed;\n\tuint32_t crc32;\n};\n\nstruct xz_dec_lzma2;\n\nstruct xz_dec_bcj;\n\nstruct xz_dec {\n\tenum {\n\t\tSEQ_STREAM_HEADER = 0,\n\t\tSEQ_BLOCK_START = 1,\n\t\tSEQ_BLOCK_HEADER = 2,\n\t\tSEQ_BLOCK_UNCOMPRESS = 3,\n\t\tSEQ_BLOCK_PADDING = 4,\n\t\tSEQ_BLOCK_CHECK = 5,\n\t\tSEQ_INDEX = 6,\n\t\tSEQ_INDEX_PADDING = 7,\n\t\tSEQ_INDEX_CRC32 = 8,\n\t\tSEQ_STREAM_FOOTER = 9,\n\t} sequence;\n\tuint32_t pos;\n\tvli_type vli;\n\tsize_t in_start;\n\tsize_t out_start;\n\tuint32_t crc32;\n\tenum xz_check check_type;\n\tenum xz_mode mode;\n\tbool allow_buf_error;\n\tstruct {\n\t\tvli_type compressed;\n\t\tvli_type uncompressed;\n\t\tuint32_t size;\n\t} block_header;\n\tstruct {\n\t\tvli_type compressed;\n\t\tvli_type uncompressed;\n\t\tvli_type count;\n\t\tstruct xz_dec_hash hash;\n\t} block;\n\tstruct {\n\t\tenum {\n\t\t\tSEQ_INDEX_COUNT = 0,\n\t\t\tSEQ_INDEX_UNPADDED = 1,\n\t\t\tSEQ_INDEX_UNCOMPRESSED = 2,\n\t\t} sequence;\n\t\tvli_type size;\n\t\tvli_type count;\n\t\tstruct xz_dec_hash hash;\n\t} index;\n\tstruct {\n\t\tsize_t pos;\n\t\tsize_t size;\n\t\tuint8_t buf[1024];\n\t} temp;\n\tstruct xz_dec_lzma2 *lzma2;\n\tstruct xz_dec_bcj *bcj;\n\tbool bcj_active;\n};\n\nstruct xz_dec_bcj {\n\tenum {\n\t\tBCJ_X86 = 4,\n\t\tBCJ_POWERPC = 5,\n\t\tBCJ_IA64 = 6,\n\t\tBCJ_ARM = 7,\n\t\tBCJ_ARMTHUMB = 8,\n\t\tBCJ_SPARC = 9,\n\t\tBCJ_ARM64 = 10,\n\t\tBCJ_RISCV = 11,\n\t} type;\n\tenum xz_ret ret;\n\tbool single_call;\n\tuint32_t pos;\n\tuint32_t x86_prev_mask;\n\tuint8_t *out;\n\tsize_t out_pos;\n\tsize_t out_size;\n\tstruct {\n\t\tsize_t filtered;\n\t\tsize_t size;\n\t\tuint8_t buf[16];\n\t} temp;\n};\n\nstruct xz_dec_lzma2 {\n\tstruct rc_dec rc;\n\tstruct dictionary dict;\n\tstruct lzma2_dec lzma2;\n\tstruct lzma_dec lzma;\n\tstruct {\n\t\tuint32_t size;\n\t\tuint8_t buf[63];\n\t} temp;\n};\n\nstruct xz_dec_microlzma {\n\tstruct xz_dec_lzma2 s;\n};\n\nstruct yt8521_priv {\n\tlong unsigned int combo_advertising[2];\n\tu8 polling_mode;\n\tu8 strap_mode;\n\tu8 reg_page;\n};\n\nstruct ytphy_cfg_reg_map {\n\tu32 cfg;\n\tu32 reg;\n};\n\nstruct ytphy_ldo_vol_map {\n\tu32 vol;\n\tu32 ds;\n\tu32 cur;\n};\n\nstruct zap_details {\n\tstruct folio *single_folio;\n\tbool even_cows;\n\tbool reclaim_pt;\n\tzap_flags_t zap_flags;\n};\n\nstruct zbud_header {\n\tstruct list_head buddy;\n\tunsigned int first_chunks;\n\tunsigned int last_chunks;\n};\n\nstruct zbud_pool {\n\tspinlock_t lock;\n\tunion {\n\t\tstruct list_head buddied;\n\t\tstruct list_head unbuddied[63];\n\t};\n\tu64 pages_nr;\n};\n\nstruct zone_info {\n\tu64 physical;\n\tu64 capacity;\n\tu64 alloc_offset;\n};\n\nstruct zone_report_args {\n\tstruct blk_zone *zones;\n};\n\nstruct zspage;\n\nstruct zpdesc {\n\tlong unsigned int flags;\n\tstruct list_head lru;\n\tlong unsigned int movable_ops;\n\tunion {\n\t\tstruct zpdesc *next;\n\t\tlong unsigned int handle;\n\t};\n\tstruct zspage *zspage;\n\tunsigned int first_obj_offset;\n\tatomic_t _refcount;\n};\n\nstruct zpool_driver;\n\nstruct zpool {\n\tstruct zpool_driver *driver;\n\tvoid *pool;\n};\n\nstruct zpool_driver {\n\tchar *type;\n\tstruct module *owner;\n\tatomic_t refcount;\n\tstruct list_head list;\n\tvoid * (*create)(const char *, gfp_t);\n\tvoid (*destroy)(void *);\n\tbool malloc_support_movable;\n\tint (*malloc)(void *, size_t, gfp_t, long unsigned int *);\n\tvoid (*free)(void *, long unsigned int);\n\tbool sleep_mapped;\n\tvoid * (*map)(void *, long unsigned int, enum zpool_mapmode);\n\tvoid (*unmap)(void *, long unsigned int);\n\tu64 (*total_pages)(void *);\n};\n\nstruct zs_pool_stats {\n\tatomic_long_t pages_compacted;\n};\n\nstruct zs_pool {\n\tconst char *name;\n\tstruct size_class *size_class[257];\n\tstruct kmem_cache *handle_cachep;\n\tstruct kmem_cache *zspage_cachep;\n\tatomic_long_t pages_allocated;\n\tstruct zs_pool_stats stats;\n\tstruct shrinker *shrinker;\n\tstruct work_struct free_work;\n\trwlock_t migrate_lock;\n\tatomic_t compaction_in_progress;\n};\n\nstruct zspage {\n\tstruct {\n\t\tunsigned int huge: 1;\n\t\tunsigned int fullness: 4;\n\t\tunsigned int class: 9;\n\t\tunsigned int magic: 8;\n\t};\n\tunsigned int inuse;\n\tunsigned int freeobj;\n\tstruct zpdesc *first_zpdesc;\n\tstruct list_head list;\n\tstruct zs_pool *pool;\n\trwlock_t lock;\n};\n\nstruct zstd_ctx {\n\tzstd_cctx *cctx;\n\tzstd_dctx *dctx;\n\tvoid *cwksp;\n\tvoid *dwksp;\n};\n\nstruct zstd_workspace_manager {\n\tconst struct btrfs_compress_op *ops;\n\tspinlock_t lock;\n\tstruct list_head lru_list;\n\tstruct list_head idle_ws[15];\n\tlong unsigned int active_map;\n\twait_queue_head_t wait;\n\tstruct timer_list timer;\n};\n\nstruct zswap_pool;\n\nstruct zswap_entry {\n\tswp_entry_t swpentry;\n\tunsigned int length;\n\tbool referenced;\n\tstruct zswap_pool *pool;\n\tlong unsigned int handle;\n\tstruct obj_cgroup *objcg;\n\tstruct list_head lru;\n};\n\nstruct zswap_pool {\n\tstruct zpool *zpool;\n\tstruct crypto_acomp_ctx *acomp_ctx;\n\tstruct percpu_ref ref;\n\tstruct list_head list;\n\tstruct work_struct release_work;\n\tstruct hlist_node node;\n\tchar tfm_name[128];\n};\n\ntypedef u8 (*MPT_CALLBACK)(struct MPT3SAS_ADAPTER *, u16, u8, u32);\n\ntypedef size_t (*ZSTD_blockCompressor)(ZSTD_matchState_t *, seqStore_t *, U32 *, const void *, size_t);\n\ntypedef U32 (*ZSTD_getAllMatchesFn)(ZSTD_match_t *, ZSTD_matchState_t *, U32 *, const BYTE *, const BYTE *, const U32 *, const U32, const U32);\n\ntypedef size_t (*ZSTD_sequenceCopier)(ZSTD_CCtx *, ZSTD_sequencePosition *, const ZSTD_Sequence * const, size_t, const void *, size_t);\n\ntypedef acpi_status (*acpi_exception_handler)(acpi_status, acpi_name, u16, u32, void *);\n\ntypedef acpi_status (*acpi_execute_op)(struct acpi_walk_state *);\n\ntypedef void (*acpi_gbl_event_handler)(u32, acpi_handle, u32, void *);\n\ntypedef acpi_status (*acpi_gpe_callback)(struct acpi_gpe_xrupt_info *, struct acpi_gpe_block_info *, void *);\n\ntypedef acpi_status (*acpi_init_handler)(acpi_handle, u32);\n\ntypedef u32 (*acpi_interface_handler)(acpi_string, u32);\n\ntypedef u32 (*acpi_osd_handler)(void *);\n\ntypedef acpi_status (*acpi_pkg_callback)(u8, union acpi_operand_object *, union acpi_generic_state *, void *);\n\ntypedef acpi_status (*acpi_table_handler)(u32, void *, void *);\n\ntypedef acpi_status (*acpi_walk_aml_callback)(u8 *, u32, u32, u8, void **);\n\ntypedef acpi_status (*acpi_walk_resource_callback)(struct acpi_resource *, void *);\n\ntypedef int (*arch_set_vga_state_t)(struct pci_dev *, bool, unsigned int, u32);\n\ntypedef unsigned int (*ata_xlat_func_t)(struct ata_queued_cmd *);\n\ntypedef void (*blake2b_compress_t)(struct blake2b_state *, const u8 *, size_t, u32);\n\ntypedef int (*bpf_aux_classic_check_t)(struct sock_filter *, unsigned int);\n\ntypedef u32 (*bpf_convert_ctx_access_t)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *);\n\ntypedef long unsigned int (*bpf_ctx_copy_t)(void *, const void *, long unsigned int, long unsigned int);\n\ntypedef unsigned int (*bpf_dispatcher_fn)(const void *, const struct bpf_insn *, unsigned int (*)(const void *, const struct bpf_insn *));\n\ntypedef unsigned int (*bpf_func_t)(const void *, const struct bpf_insn *);\n\ntypedef void (*bpf_jit_fill_hole_t)(void *, unsigned int);\n\ntypedef int (*bpf_op_t)(struct net_device *, struct netdev_bpf *);\n\ntypedef u32 (*bpf_prog_run_fn)(const struct bpf_prog *, const void *);\n\ntypedef u64 (*bpf_trampoline_enter_t)(struct bpf_prog *, struct bpf_tramp_run_ctx *);\n\ntypedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_run_ctx *);\n\ntypedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int);\n\ntypedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int);\n\ntypedef u64 (*btf_bpf_cgrp_storage_delete)(struct bpf_map *, struct cgroup *);\n\ntypedef u64 (*btf_bpf_cgrp_storage_get)(struct bpf_map *, struct cgroup *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_copy_from_user)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_copy_from_user_task)(void *, u32, const void *, struct task_struct *, u64);\n\ntypedef u64 (*btf_bpf_csum_diff)(__be32 *, u32, __be32 *, u32, __wsum);\n\ntypedef u64 (*btf_bpf_csum_level)(struct sk_buff *, u64);\n\ntypedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum);\n\ntypedef u64 (*btf_bpf_current_task_under_cgroup)(struct bpf_map *, u32);\n\ntypedef u64 (*btf_bpf_d_path)(struct path *, char *, u32);\n\ntypedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32);\n\ntypedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *);\n\ntypedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64);\n\ntypedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_find_vma)(struct task_struct *, u64, bpf_callback_t, void *, u64);\n\ntypedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_trace)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_tracing)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_uprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_branch_snapshot)(void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_cgroup_classid)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_cgroup_classid_curr)(void);\n\ntypedef u64 (*btf_bpf_get_current_ancestor_cgroup_id)(int);\n\ntypedef u64 (*btf_bpf_get_current_cgroup_id)(void);\n\ntypedef u64 (*btf_bpf_get_current_comm)(char *, u32);\n\ntypedef u64 (*btf_bpf_get_current_pid_tgid)(void);\n\ntypedef u64 (*btf_bpf_get_current_task)(void);\n\ntypedef u64 (*btf_bpf_get_current_task_btf)(void);\n\ntypedef u64 (*btf_bpf_get_current_uid_gid)(void);\n\ntypedef u64 (*btf_bpf_get_func_ip_kprobe)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_func_ip_kprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_func_ip_tracing)(void *);\n\ntypedef u64 (*btf_bpf_get_func_ip_uprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_hash_recalc)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_listener_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_local_storage)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_netns_cookie)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sk_msg)(struct sk_msg *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock_addr)(struct bpf_sock_addr_kern *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock_ops)(struct bpf_sock_ops_kern *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sockopt)(struct bpf_sockopt_kern *);\n\ntypedef u64 (*btf_bpf_get_ns_current_pid_tgid)(u64, u64, struct bpf_pidns_info *, u32);\n\ntypedef u64 (*btf_bpf_get_numa_node_id)(void);\n\ntypedef u64 (*btf_bpf_get_raw_cpu_id)(void);\n\ntypedef u64 (*btf_bpf_get_retval)(void);\n\ntypedef u64 (*btf_bpf_get_route_realm)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_smp_processor_id)(void);\n\ntypedef u64 (*btf_bpf_get_socket_cookie)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock_addr)(struct bpf_sock_addr_kern *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock_ops)(struct bpf_sock_ops_kern *);\n\ntypedef u64 (*btf_bpf_get_socket_ptr_cookie)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_socket_uid)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_stack)(struct pt_regs *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_pe)(struct bpf_perf_event_data_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_raw_tp)(struct bpf_raw_tracepoint_args *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_sleepable)(struct pt_regs *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_tp)(void *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stackid)(struct pt_regs *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_pe)(struct bpf_perf_event_data_kern *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_tp)(void *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_jiffies64)(void);\n\ntypedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *);\n\ntypedef u64 (*btf_bpf_kptr_xchg)(void *, void *);\n\ntypedef u64 (*btf_bpf_ktime_get_boot_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_coarse_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_tai_ns)(void);\n\ntypedef u64 (*btf_bpf_l3_csum_replace)(struct sk_buff *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_l4_csum_replace)(struct sk_buff *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_loop)(u32, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_lwt_in_push_encap)(struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_lwt_xmit_push_encap)(struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_map_delete_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_lookup_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_lookup_percpu_elem)(struct bpf_map *, void *, u32);\n\ntypedef u64 (*btf_bpf_map_peek_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_pop_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_push_elem)(struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_map_update_elem)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_msg_apply_bytes)(struct sk_msg *, u32);\n\ntypedef u64 (*btf_bpf_msg_cork_bytes)(struct sk_msg *, u32);\n\ntypedef u64 (*btf_bpf_msg_pop_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_pull_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_push_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_redirect_hash)(struct sk_msg *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_msg_redirect_map)(struct sk_msg *, struct bpf_map *, u32, u64);\n\ntypedef u64 (*btf_bpf_per_cpu_ptr)(const void *, u32);\n\ntypedef u64 (*btf_bpf_perf_event_output)(struct pt_regs *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_output_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_output_tp)(void *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_read)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_read_value)(struct bpf_map *, u64, struct bpf_perf_event_value *, u32);\n\ntypedef u64 (*btf_bpf_perf_prog_read_value)(struct bpf_perf_event_data_kern *, struct bpf_perf_event_value *, u32);\n\ntypedef u64 (*btf_bpf_probe_read_compat)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_compat_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_kernel)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_kernel_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_user)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_user_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_write_user)(void *, const void *, u32);\n\ntypedef u64 (*btf_bpf_read_branch_records)(struct bpf_perf_event_data_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_redirect)(u32, u64);\n\ntypedef u64 (*btf_bpf_redirect_neigh)(u32, struct bpf_redir_neigh *, int, u64);\n\ntypedef u64 (*btf_bpf_redirect_peer)(u32, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_discard)(void *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_discard_dynptr)(struct bpf_dynptr_kern *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_output)(struct bpf_map *, void *, u64, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_query)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_reserve)(struct bpf_map *, u64, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_reserve_dynptr)(struct bpf_map *, u32, u64, struct bpf_dynptr_kern *);\n\ntypedef u64 (*btf_bpf_ringbuf_submit)(void *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_submit_dynptr)(struct bpf_dynptr_kern *, u64);\n\ntypedef u64 (*btf_bpf_send_signal)(u32);\n\ntypedef u64 (*btf_bpf_send_signal_thread)(u32);\n\ntypedef u64 (*btf_bpf_seq_printf)(struct seq_file *, char *, u32, const void *, u32);\n\ntypedef u64 (*btf_bpf_seq_printf_btf)(struct seq_file *, struct btf_ptr *, u32, u64);\n\ntypedef u64 (*btf_bpf_seq_write)(struct seq_file *, const void *, u32);\n\ntypedef u64 (*btf_bpf_set_hash)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_set_hash_invalid)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_set_retval)(int);\n\ntypedef u64 (*btf_bpf_sk_ancestor_cgroup_id)(struct sock *, int);\n\ntypedef u64 (*btf_bpf_sk_assign)(struct sk_buff *, struct sock *, u64);\n\ntypedef u64 (*btf_bpf_sk_cgroup_id)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_fullsock)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_getsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sk_lookup_assign)(struct bpf_sk_lookup_kern *, struct sock *, u64);\n\ntypedef u64 (*btf_bpf_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sk_redirect_hash)(struct sk_buff *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sk_redirect_map)(struct sk_buff *, struct bpf_map *, u32, u64);\n\ntypedef u64 (*btf_bpf_sk_release)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_setsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sk_storage_delete)(struct bpf_map *, struct sock *);\n\ntypedef u64 (*btf_bpf_sk_storage_delete_tracing)(struct bpf_map *, struct sock *);\n\ntypedef u64 (*btf_bpf_sk_storage_get)(struct bpf_map *, struct sock *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_sk_storage_get_tracing)(struct bpf_map *, struct sock *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_skb_adjust_room)(struct sk_buff *, s32, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_ancestor_cgroup_id)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_cgroup_classid)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_cgroup_id)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_change_head)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_change_proto)(struct sk_buff *, __be16, u64);\n\ntypedef u64 (*btf_bpf_skb_change_tail)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_change_type)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_skb_check_mtu)(struct sk_buff *, u32, u32 *, s32, u64);\n\ntypedef u64 (*btf_bpf_skb_ecn_set_ce)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_event_output)(struct sk_buff *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_skb_fib_lookup)(struct sk_buff *, struct bpf_fib_lookup *, int, u32);\n\ntypedef u64 (*btf_bpf_skb_get_nlattr)(struct sk_buff *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_get_nlattr_nest)(struct sk_buff *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_get_pay_offset)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_get_tunnel_key)(struct sk_buff *, struct bpf_tunnel_key *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_get_tunnel_opt)(struct sk_buff *, u8 *, u32);\n\ntypedef u64 (*btf_bpf_skb_get_xfrm_state)(struct sk_buff *, u32, struct bpf_xfrm_state *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_load_bytes)(const struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_skb_load_bytes_relative)(const struct sk_buff *, u32, void *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_load_helper_16)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_16_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_32)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_32_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_8)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_8_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_pull_data)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_skb_set_tstamp)(struct sk_buff *, u64, u32);\n\ntypedef u64 (*btf_bpf_skb_set_tunnel_key)(struct sk_buff *, const struct bpf_tunnel_key *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_set_tunnel_opt)(struct sk_buff *, const u8 *, u32);\n\ntypedef u64 (*btf_bpf_skb_store_bytes)(struct sk_buff *, u32, const void *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_under_cgroup)(struct sk_buff *, struct bpf_map *, u32);\n\ntypedef u64 (*btf_bpf_skb_vlan_pop)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_vlan_push)(struct sk_buff *, __be16, u16);\n\ntypedef u64 (*btf_bpf_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_skc_to_mptcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp6_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_request_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_timewait_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_udp6_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_unix_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_snprintf)(char *, u32, char *, const void *, u32);\n\ntypedef u64 (*btf_bpf_snprintf_btf)(char *, u32, struct btf_ptr *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_getsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_addr_setsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_addr_sk_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_from_file)(struct file *);\n\ntypedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sock_map_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_cb_flags_set)(struct bpf_sock_ops_kern *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_getsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_load_hdr_opt)(struct bpf_sock_ops_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_reserve_hdr_opt)(struct bpf_sock_ops_kern *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_setsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_store_hdr_opt)(struct bpf_sock_ops_kern *, const void *, u32, u64);\n\ntypedef u64 (*btf_bpf_spin_lock)(struct bpf_spin_lock *);\n\ntypedef u64 (*btf_bpf_spin_unlock)(struct bpf_spin_lock *);\n\ntypedef u64 (*btf_bpf_strncmp)(const char *, u32, const char *);\n\ntypedef u64 (*btf_bpf_strtol)(const char *, size_t, u64, s64 *);\n\ntypedef u64 (*btf_bpf_strtoul)(const char *, size_t, u64, u64 *);\n\ntypedef u64 (*btf_bpf_sys_bpf)(int, union bpf_attr *, u32);\n\ntypedef u64 (*btf_bpf_sys_close)(u32);\n\ntypedef u64 (*btf_bpf_sysctl_get_current_value)(struct bpf_sysctl_kern *, char *, size_t);\n\ntypedef u64 (*btf_bpf_sysctl_get_name)(struct bpf_sysctl_kern *, char *, size_t, u64);\n\ntypedef u64 (*btf_bpf_sysctl_get_new_value)(struct bpf_sysctl_kern *, char *, size_t);\n\ntypedef u64 (*btf_bpf_sysctl_set_new_value)(struct bpf_sysctl_kern *, const char *, size_t);\n\ntypedef u64 (*btf_bpf_task_pt_regs)(struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_delete)(struct bpf_map *, struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_delete_recur)(struct bpf_map *, struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_get)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_task_storage_get_recur)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_tc_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tc_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tc_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tcp_check_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_gen_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_raw_check_syncookie_ipv4)(struct iphdr *, struct tcphdr *);\n\ntypedef u64 (*btf_bpf_tcp_raw_check_syncookie_ipv6)(struct ipv6hdr *, struct tcphdr *);\n\ntypedef u64 (*btf_bpf_tcp_raw_gen_syncookie_ipv4)(struct iphdr *, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_raw_gen_syncookie_ipv6)(struct ipv6hdr *, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_send_ack)(struct tcp_sock *, u32);\n\ntypedef u64 (*btf_bpf_tcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_this_cpu_ptr)(const void *);\n\ntypedef u64 (*btf_bpf_timer_cancel)(struct bpf_async_kern *);\n\ntypedef u64 (*btf_bpf_timer_init)(struct bpf_async_kern *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_timer_set_callback)(struct bpf_async_kern *, void *, struct bpf_prog_aux *);\n\ntypedef u64 (*btf_bpf_timer_start)(struct bpf_async_kern *, u64, u64);\n\ntypedef u64 (*btf_bpf_trace_printk)(char *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_trace_vprintk)(char *, u32, const void *, u32);\n\ntypedef u64 (*btf_bpf_unlocked_sk_getsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_unlocked_sk_setsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_user_ringbuf_drain)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_user_rnd_u32)(void);\n\ntypedef u64 (*btf_bpf_xdp_adjust_head)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_adjust_meta)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_adjust_tail)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_check_mtu)(struct xdp_buff *, u32, u32 *, s32, u64);\n\ntypedef u64 (*btf_bpf_xdp_event_output)(struct xdp_buff *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_xdp_fib_lookup)(struct xdp_buff *, struct bpf_fib_lookup *, int, u32);\n\ntypedef u64 (*btf_bpf_xdp_get_buff_len)(struct xdp_buff *);\n\ntypedef u64 (*btf_bpf_xdp_load_bytes)(struct xdp_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_xdp_redirect)(u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_redirect_map)(struct bpf_map *, u64, u64);\n\ntypedef u64 (*btf_bpf_xdp_sk_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_sk_lookup_udp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_skc_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_store_bytes)(struct xdp_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_get_func_arg)(void *, u32, u64 *);\n\ntypedef u64 (*btf_get_func_arg_cnt)(void *);\n\ntypedef u64 (*btf_get_func_ret)(void *, u64 *);\n\ntypedef u64 (*btf_sk_reuseport_load_bytes)(const struct sk_reuseport_kern *, u32, void *, u32);\n\ntypedef u64 (*btf_sk_reuseport_load_bytes_relative)(const struct sk_reuseport_kern *, u32, void *, u32, u32);\n\ntypedef u64 (*btf_sk_select_reuseport)(struct sk_reuseport_kern *, struct bpf_map *, void *, u32);\n\ntypedef u64 (*btf_sk_skb_adjust_room)(struct sk_buff *, s32, u32, u64);\n\ntypedef u64 (*btf_sk_skb_change_head)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_sk_skb_change_tail)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_sk_skb_pull_data)(struct sk_buff *, u32);\n\ntypedef void (*btf_trace_9p_client_req)(void *, struct p9_client *, int8_t, int);\n\ntypedef void (*btf_trace_9p_client_res)(void *, struct p9_client *, int8_t, int, int);\n\ntypedef void (*btf_trace_9p_fid_ref)(void *, struct p9_fid *, __u8);\n\ntypedef void (*btf_trace_9p_protocol_dump)(void *, struct p9_client *, struct p9_fcall *);\n\ntypedef void (*btf_trace_ack_update_msk)(void *, u64, u64, u64, u64, u64);\n\ntypedef void (*btf_trace_add_delayed_data_ref)(void *, const struct btrfs_fs_info *, const struct btrfs_delayed_ref_node *);\n\ntypedef void (*btf_trace_add_delayed_ref_head)(void *, const struct btrfs_fs_info *, const struct btrfs_delayed_ref_head *, int);\n\ntypedef void (*btf_trace_add_delayed_tree_ref)(void *, const struct btrfs_fs_info *, const struct btrfs_delayed_ref_node *);\n\ntypedef void (*btf_trace_add_device_to_group)(void *, int, struct device *);\n\ntypedef void (*btf_trace_aer_event)(void *, const char *, const u32, const u8, const u8, struct pcie_tlp_log *);\n\ntypedef void (*btf_trace_alarmtimer_cancel)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_fired)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_start)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_suspend)(void *, ktime_t, int);\n\ntypedef void (*btf_trace_alloc_extent_state)(void *, const struct extent_state *, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_alloc_vmap_area)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_arm_event)(void *, const struct cper_sec_proc_arm *);\n\ntypedef void (*btf_trace_ata_bmdma_setup)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_start)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_status)(void *, struct ata_port *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_stop)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_about_to_do)(void *, struct ata_link *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_done)(void *, struct ata_link *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_link_autopsy)(void *, struct ata_device *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_link_autopsy_qc)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_exec_command)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_link_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_link_hardreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_link_postreset)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_link_softreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_link_softreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_port_freeze)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_port_thaw)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_qc_complete_done)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_complete_failed)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_complete_internal)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_issue)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_prep)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_sff_flush_pio_task)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_sff_hsm_command_complete)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_sff_hsm_state)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_sff_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_sff_port_intr)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_slave_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_slave_hardreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_slave_postreset)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_std_sched_eh)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_tf_load)(void *, struct ata_port *, const struct ata_taskfile *);\n\ntypedef void (*btf_trace_atapi_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_atapi_send_cdb)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_attach_device_to_domain)(void *, struct device *);\n\ntypedef void (*btf_trace_azx_get_position)(void *, struct azx *, struct azx_dev *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_azx_pcm_close)(void *, struct azx *, struct azx_dev *);\n\ntypedef void (*btf_trace_azx_pcm_hw_params)(void *, struct azx *, struct azx_dev *);\n\ntypedef void (*btf_trace_azx_pcm_open)(void *, struct azx *, struct azx_dev *);\n\ntypedef void (*btf_trace_azx_pcm_prepare)(void *, struct azx *, struct azx_dev *);\n\ntypedef void (*btf_trace_azx_pcm_trigger)(void *, struct azx *, struct azx_dev *, int);\n\ntypedef void (*btf_trace_azx_resume)(void *, struct azx *);\n\ntypedef void (*btf_trace_azx_runtime_resume)(void *, struct azx *);\n\ntypedef void (*btf_trace_azx_runtime_suspend)(void *, struct azx *);\n\ntypedef void (*btf_trace_azx_suspend)(void *, struct azx *);\n\ntypedef void (*btf_trace_balance_dirty_pages)(void *, struct bdi_writeback *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long int, long unsigned int);\n\ntypedef void (*btf_trace_bdi_dirty_ratelimit)(void *, struct bdi_writeback *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_bl_pr_key_reg)(void *, const struct block_device *, u64);\n\ntypedef void (*btf_trace_bl_pr_key_reg_err)(void *, const struct block_device *, u64, int);\n\ntypedef void (*btf_trace_bl_pr_key_unreg)(void *, const struct block_device *, u64);\n\ntypedef void (*btf_trace_bl_pr_key_unreg_err)(void *, const struct block_device *, u64, int);\n\ntypedef void (*btf_trace_block_bio_backmerge)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_bounce)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_complete)(void *, struct request_queue *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_frontmerge)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_queue)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_remap)(void *, struct bio *, dev_t, sector_t);\n\ntypedef void (*btf_trace_block_dirty_buffer)(void *, struct buffer_head *);\n\ntypedef void (*btf_trace_block_getrq)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_io_done)(void *, struct request *);\n\ntypedef void (*btf_trace_block_io_start)(void *, struct request *);\n\ntypedef void (*btf_trace_block_plug)(void *, struct request_queue *);\n\ntypedef void (*btf_trace_block_rq_complete)(void *, struct request *, blk_status_t, unsigned int);\n\ntypedef void (*btf_trace_block_rq_error)(void *, struct request *, blk_status_t, unsigned int);\n\ntypedef void (*btf_trace_block_rq_insert)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_issue)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_merge)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_remap)(void *, struct request *, dev_t, sector_t);\n\ntypedef void (*btf_trace_block_rq_requeue)(void *, struct request *);\n\ntypedef void (*btf_trace_block_split)(void *, struct bio *, unsigned int);\n\ntypedef void (*btf_trace_block_touch_buffer)(void *, struct buffer_head *);\n\ntypedef void (*btf_trace_block_unplug)(void *, struct request_queue *, unsigned int, bool);\n\ntypedef void (*btf_trace_bpf_test_finish)(void *, int *);\n\ntypedef void (*btf_trace_bpf_trace_printk)(void *, const char *);\n\ntypedef void (*btf_trace_bpf_trigger_tp)(void *, int);\n\ntypedef void (*btf_trace_bpf_xdp_link_attach_failed)(void *, const char *);\n\ntypedef void (*btf_trace_br_fdb_add)(void *, struct ndmsg *, struct net_device *, const unsigned char *, u16, u16);\n\ntypedef void (*btf_trace_br_fdb_external_learn_add)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16);\n\ntypedef void (*btf_trace_br_fdb_update)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16, long unsigned int);\n\ntypedef void (*btf_trace_br_mdb_full)(void *, const struct net_device *, const struct br_ip *);\n\ntypedef void (*btf_trace_break_lease_block)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_break_lease_noblock)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_break_lease_unblock)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_btrfs_add_block_group)(void *, const struct btrfs_fs_info *, const struct btrfs_block_group *, int);\n\ntypedef void (*btf_trace_btrfs_add_reclaim_block_group)(void *, const struct btrfs_block_group *);\n\ntypedef void (*btf_trace_btrfs_add_unused_block_group)(void *, const struct btrfs_block_group *);\n\ntypedef void (*btf_trace_btrfs_all_work_done)(void *, const struct btrfs_fs_info *, const void *);\n\ntypedef void (*btf_trace_btrfs_chunk_alloc)(void *, const struct btrfs_fs_info *, const struct btrfs_chunk_map *, u64, u64);\n\ntypedef void (*btf_trace_btrfs_chunk_free)(void *, const struct btrfs_fs_info *, const struct btrfs_chunk_map *, u64, u64);\n\ntypedef void (*btf_trace_btrfs_clear_extent_bit)(void *, const struct extent_io_tree *, u64, u64, unsigned int);\n\ntypedef void (*btf_trace_btrfs_convert_extent_bit)(void *, const struct extent_io_tree *, u64, u64, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_btrfs_cow_block)(void *, const struct btrfs_root *, const struct extent_buffer *, const struct extent_buffer *);\n\ntypedef void (*btf_trace_btrfs_done_preemptive_reclaim)(void *, struct btrfs_fs_info *, const struct btrfs_space_info *);\n\ntypedef void (*btf_trace_btrfs_extent_map_shrinker_count)(void *, const struct btrfs_fs_info *, long int);\n\ntypedef void (*btf_trace_btrfs_extent_map_shrinker_remove_em)(void *, const struct btrfs_inode *, const struct extent_map *);\n\ntypedef void (*btf_trace_btrfs_extent_map_shrinker_scan_enter)(void *, const struct btrfs_fs_info *, long int);\n\ntypedef void (*btf_trace_btrfs_extent_map_shrinker_scan_exit)(void *, const struct btrfs_fs_info *, long int, long int);\n\ntypedef void (*btf_trace_btrfs_fail_all_tickets)(void *, struct btrfs_fs_info *, const struct btrfs_space_info *);\n\ntypedef void (*btf_trace_btrfs_failed_cluster_setup)(void *, const struct btrfs_block_group *);\n\ntypedef void (*btf_trace_btrfs_find_cluster)(void *, const struct btrfs_block_group *, u64, u64, u64, u64);\n\ntypedef void (*btf_trace_btrfs_finish_ordered_extent)(void *, const struct btrfs_inode *, u64, u64, bool);\n\ntypedef void (*btf_trace_btrfs_flush_space)(void *, const struct btrfs_fs_info *, u64, u64, int, int, bool);\n\ntypedef void (*btf_trace_btrfs_get_extent)(void *, const struct btrfs_root *, const struct btrfs_inode *, const struct extent_map *);\n\ntypedef void (*btf_trace_btrfs_get_extent_show_fi_inline)(void *, const struct btrfs_inode *, const struct extent_buffer *, const struct btrfs_file_extent_item *, int, u64);\n\ntypedef void (*btf_trace_btrfs_get_extent_show_fi_regular)(void *, const struct btrfs_inode *, const struct extent_buffer *, const struct btrfs_file_extent_item *, u64);\n\ntypedef void (*btf_trace_btrfs_get_raid_extent_offset)(void *, const struct btrfs_fs_info *, u64, u64, u64, u64);\n\ntypedef void (*btf_trace_btrfs_handle_em_exist)(void *, const struct btrfs_fs_info *, const struct extent_map *, const struct extent_map *, u64, u64);\n\ntypedef void (*btf_trace_btrfs_inode_evict)(void *, const struct inode *);\n\ntypedef void (*btf_trace_btrfs_inode_mod_outstanding_extents)(void *, const struct btrfs_root *, u64, int, unsigned int);\n\ntypedef void (*btf_trace_btrfs_inode_new)(void *, const struct inode *);\n\ntypedef void (*btf_trace_btrfs_inode_request)(void *, const struct inode *);\n\ntypedef void (*btf_trace_btrfs_insert_one_raid_extent)(void *, const struct btrfs_fs_info *, u64, u64, int);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_add)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_dec_test_pending)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_lookup)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_lookup_first)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_lookup_first_range)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_lookup_for_logging)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_lookup_range)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_mark_finished)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_put)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_remove)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_split)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_extent_start)(void *, const struct btrfs_inode *, const struct btrfs_ordered_extent *);\n\ntypedef void (*btf_trace_btrfs_ordered_sched)(void *, const struct btrfs_work *);\n\ntypedef void (*btf_trace_btrfs_prelim_ref_insert)(void *, const struct btrfs_fs_info *, const struct prelim_ref *, const struct prelim_ref *, u64);\n\ntypedef void (*btf_trace_btrfs_prelim_ref_merge)(void *, const struct btrfs_fs_info *, const struct prelim_ref *, const struct prelim_ref *, u64);\n\ntypedef void (*btf_trace_btrfs_qgroup_account_extent)(void *, const struct btrfs_fs_info *, u64, u64, u64, u64, u64);\n\ntypedef void (*btf_trace_btrfs_qgroup_account_extents)(void *, const struct btrfs_fs_info *, const struct btrfs_qgroup_extent_record *, u64);\n\ntypedef void (*btf_trace_btrfs_qgroup_release_data)(void *, const struct inode *, u64, u64, u64, int);\n\ntypedef void (*btf_trace_btrfs_qgroup_reserve_data)(void *, const struct inode *, u64, u64, u64, int);\n\ntypedef void (*btf_trace_btrfs_qgroup_trace_extent)(void *, const struct btrfs_fs_info *, const struct btrfs_qgroup_extent_record *, u64);\n\ntypedef void (*btf_trace_btrfs_raid_extent_delete)(void *, const struct btrfs_fs_info *, u64, u64, u64, u64);\n\ntypedef void (*btf_trace_btrfs_reclaim_block_group)(void *, const struct btrfs_block_group *);\n\ntypedef void (*btf_trace_btrfs_remove_block_group)(void *, const struct btrfs_block_group *);\n\ntypedef void (*btf_trace_btrfs_reserve_extent)(void *, const struct btrfs_block_group *, const struct find_free_extent_ctl *);\n\ntypedef void (*btf_trace_btrfs_reserve_extent_cluster)(void *, const struct btrfs_block_group *, const struct find_free_extent_ctl *);\n\ntypedef void (*btf_trace_btrfs_reserve_ticket)(void *, const struct btrfs_fs_info *, u64, u64, u64, int, int);\n\ntypedef void (*btf_trace_btrfs_reserved_extent_alloc)(void *, const struct btrfs_fs_info *, u64, u64);\n\ntypedef void (*btf_trace_btrfs_reserved_extent_free)(void *, const struct btrfs_fs_info *, u64, u64);\n\ntypedef void (*btf_trace_btrfs_set_extent_bit)(void *, const struct extent_io_tree *, u64, u64, unsigned int);\n\ntypedef void (*btf_trace_btrfs_set_lock_blocking_read)(void *, const struct extent_buffer *);\n\ntypedef void (*btf_trace_btrfs_set_lock_blocking_write)(void *, const struct extent_buffer *);\n\ntypedef void (*btf_trace_btrfs_setup_cluster)(void *, const struct btrfs_block_group *, const struct btrfs_free_cluster *, u64, int);\n\ntypedef void (*btf_trace_btrfs_skip_unused_block_group)(void *, const struct btrfs_block_group *);\n\ntypedef void (*btf_trace_btrfs_space_reservation)(void *, const struct btrfs_fs_info *, const char *, u64, u64, int);\n\ntypedef void (*btf_trace_btrfs_sync_file)(void *, const struct file *, int);\n\ntypedef void (*btf_trace_btrfs_sync_fs)(void *, const struct btrfs_fs_info *, int);\n\ntypedef void (*btf_trace_btrfs_transaction_commit)(void *, const struct btrfs_fs_info *);\n\ntypedef void (*btf_trace_btrfs_tree_lock)(void *, const struct extent_buffer *, u64);\n\ntypedef void (*btf_trace_btrfs_tree_read_lock)(void *, const struct extent_buffer *, u64);\n\ntypedef void (*btf_trace_btrfs_tree_read_lock_atomic)(void *, const struct extent_buffer *);\n\ntypedef void (*btf_trace_btrfs_tree_read_unlock)(void *, const struct extent_buffer *);\n\ntypedef void (*btf_trace_btrfs_tree_read_unlock_blocking)(void *, const struct extent_buffer *);\n\ntypedef void (*btf_trace_btrfs_tree_unlock)(void *, const struct extent_buffer *);\n\ntypedef void (*btf_trace_btrfs_trigger_flush)(void *, const struct btrfs_fs_info *, u64, u64, int, const char *);\n\ntypedef void (*btf_trace_btrfs_truncate_show_fi_inline)(void *, const struct btrfs_inode *, const struct extent_buffer *, const struct btrfs_file_extent_item *, int, u64);\n\ntypedef void (*btf_trace_btrfs_truncate_show_fi_regular)(void *, const struct btrfs_inode *, const struct extent_buffer *, const struct btrfs_file_extent_item *, u64);\n\ntypedef void (*btf_trace_btrfs_try_tree_read_lock)(void *, const struct extent_buffer *);\n\ntypedef void (*btf_trace_btrfs_work_queued)(void *, const struct btrfs_work *);\n\ntypedef void (*btf_trace_btrfs_work_sched)(void *, const struct btrfs_work *);\n\ntypedef void (*btf_trace_btrfs_workqueue_alloc)(void *, const struct btrfs_workqueue *, const char *);\n\ntypedef void (*btf_trace_btrfs_workqueue_destroy)(void *, const struct btrfs_workqueue *);\n\ntypedef void (*btf_trace_btrfs_writepage_end_io_hook)(void *, const struct btrfs_inode *, u64, u64, int);\n\ntypedef void (*btf_trace_cache_entry_expired)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_make_negative)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_no_listener)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_upcall)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_update)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cap_capable)(void *, const struct cred *, struct user_namespace *, const struct user_namespace *, int, int);\n\ntypedef void (*btf_trace_cdev_update)(void *, struct thermal_cooling_device *, long unsigned int);\n\ntypedef void (*btf_trace_cgroup_attach_task)(void *, struct cgroup *, const char *, struct task_struct *, bool);\n\ntypedef void (*btf_trace_cgroup_destroy_root)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_freeze)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_mkdir)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_notify_frozen)(void *, struct cgroup *, const char *, int);\n\ntypedef void (*btf_trace_cgroup_notify_populated)(void *, struct cgroup *, const char *, int);\n\ntypedef void (*btf_trace_cgroup_release)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_remount)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_rename)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_rmdir)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_lock_contended)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_lock_contended_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_locked)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_locked_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_unlock)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_unlock_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_lock_contended)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_locked)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_unlock)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_setup_root)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_transfer_tasks)(void *, struct cgroup *, const char *, struct task_struct *, bool);\n\ntypedef void (*btf_trace_cgroup_unfreeze)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_clk_disable)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_disable_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_enable)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_enable_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_prepare)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_prepare_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_rate_request_done)(void *, struct clk_rate_request *);\n\ntypedef void (*btf_trace_clk_rate_request_start)(void *, struct clk_rate_request *);\n\ntypedef void (*btf_trace_clk_set_duty_cycle)(void *, struct clk_core *, struct clk_duty *);\n\ntypedef void (*btf_trace_clk_set_duty_cycle_complete)(void *, struct clk_core *, struct clk_duty *);\n\ntypedef void (*btf_trace_clk_set_max_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_min_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_parent)(void *, struct clk_core *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_set_parent_complete)(void *, struct clk_core *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_set_phase)(void *, struct clk_core *, int);\n\ntypedef void (*btf_trace_clk_set_phase_complete)(void *, struct clk_core *, int);\n\ntypedef void (*btf_trace_clk_set_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_rate_complete)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_rate_range)(void *, struct clk_core *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_clk_unprepare)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_unprepare_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clock_disable)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_clock_enable)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_clock_set_rate)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_alloc_busy_retry)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_alloc_finish)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_cma_alloc_start)(void *, const char *, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_release)(void *, const char *, long unsigned int, const struct page *, long unsigned int);\n\ntypedef void (*btf_trace_compact_retry)(void *, int, enum compact_priority, enum compact_result, int, int, bool);\n\ntypedef void (*btf_trace_console)(void *, const char *, size_t);\n\ntypedef void (*btf_trace_consume_skb)(void *, struct sk_buff *, void *);\n\ntypedef void (*btf_trace_contention_begin)(void *, void *, unsigned int);\n\ntypedef void (*btf_trace_contention_end)(void *, void *, int);\n\ntypedef void (*btf_trace_count_memcg_events)(void *, struct mem_cgroup *, int, long unsigned int);\n\ntypedef void (*btf_trace_cpu_frequency)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cpu_frequency_limits)(void *, struct cpufreq_policy *);\n\ntypedef void (*btf_trace_cpu_idle)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cpu_idle_miss)(void *, unsigned int, unsigned int, bool);\n\ntypedef void (*btf_trace_cpuhp_enter)(void *, unsigned int, int, int, int (*)(unsigned int));\n\ntypedef void (*btf_trace_cpuhp_exit)(void *, unsigned int, int, int, int);\n\ntypedef void (*btf_trace_cpuhp_multi_enter)(void *, unsigned int, int, int, int (*)(unsigned int, struct hlist_node *), struct hlist_node *);\n\ntypedef void (*btf_trace_csd_function_entry)(void *, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_csd_function_exit)(void *, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_csd_queue_cpu)(void *, const unsigned int, long unsigned int, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_ctime_ns_xchg)(void *, struct inode *, u32, u32, u32);\n\ntypedef void (*btf_trace_ctime_xchg_skip)(void *, struct inode *, struct timespec64 *);\n\ntypedef void (*btf_trace_dev_pm_qos_add_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_dev_pm_qos_remove_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_dev_pm_qos_update_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_devfreq_frequency)(void *, struct devfreq *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_devfreq_monitor)(void *, struct devfreq *);\n\ntypedef void (*btf_trace_device_pm_callback_end)(void *, struct device *, int);\n\ntypedef void (*btf_trace_device_pm_callback_start)(void *, struct device *, const char *, int);\n\ntypedef void (*btf_trace_devres_log)(void *, struct device *, const char *, void *, const char *, size_t);\n\ntypedef void (*btf_trace_dma_alloc)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_sgt_err)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_fence_destroy)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_emit)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_enable_signal)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_init)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_signaled)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_wait_end)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_wait_start)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_free)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_free_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_free_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_map_page)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_resource)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_sg)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_sg_err)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_sync_sg_for_cpu)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_sg_for_device)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_single_for_cpu)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_single_for_device)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_unmap_page)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_unmap_resource)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_unmap_sg)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dql_stall_detected)(void *, short unsigned int, unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int *);\n\ntypedef void (*btf_trace_drm_vblank_event)(void *, int, unsigned int, ktime_t, bool);\n\ntypedef void (*btf_trace_drm_vblank_event_delivered)(void *, struct drm_file *, int, unsigned int);\n\ntypedef void (*btf_trace_drm_vblank_event_queued)(void *, struct drm_file *, int, unsigned int);\n\ntypedef void (*btf_trace_e1000e_trace_mac_register)(void *, uint32_t);\n\ntypedef void (*btf_trace_error_report_end)(void *, enum error_detector, long unsigned int);\n\ntypedef void (*btf_trace_exit_mmap)(void *, struct mm_struct *);\n\ntypedef void (*btf_trace_ext2_dio_read_begin)(void *, struct kiocb *, struct iov_iter *, ssize_t);\n\ntypedef void (*btf_trace_ext2_dio_read_end)(void *, struct kiocb *, struct iov_iter *, ssize_t);\n\ntypedef void (*btf_trace_ext2_dio_write_begin)(void *, struct kiocb *, struct iov_iter *, ssize_t);\n\ntypedef void (*btf_trace_ext2_dio_write_buff_end)(void *, struct kiocb *, struct iov_iter *, ssize_t);\n\ntypedef void (*btf_trace_ext2_dio_write_end)(void *, struct kiocb *, struct iov_iter *, ssize_t);\n\ntypedef void (*btf_trace_ext2_dio_write_endio)(void *, struct kiocb *, ssize_t, int);\n\ntypedef void (*btf_trace_ext4_alloc_da_blocks)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_allocate_blocks)(void *, struct ext4_allocation_request *, long long unsigned int);\n\ntypedef void (*btf_trace_ext4_allocate_inode)(void *, struct inode *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_begin_ordered_truncate)(void *, struct inode *, loff_t);\n\ntypedef void (*btf_trace_ext4_collapse_range)(void *, struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_ext4_da_release_space)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_da_reserve_space)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_da_update_reserve_space)(void *, struct inode *, int, int);\n\ntypedef void (*btf_trace_ext4_da_write_begin)(void *, struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_da_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_da_write_pages)(void *, struct inode *, long unsigned int, struct writeback_control *);\n\ntypedef void (*btf_trace_ext4_da_write_pages_extent)(void *, struct inode *, struct ext4_map_blocks *);\n\ntypedef void (*btf_trace_ext4_discard_blocks)(void *, struct super_block *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_ext4_discard_preallocations)(void *, struct inode *, unsigned int);\n\ntypedef void (*btf_trace_ext4_drop_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_error)(void *, struct super_block *, const char *, unsigned int);\n\ntypedef void (*btf_trace_ext4_es_cache_extent)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_find_extent_range_enter)(void *, struct inode *, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_find_extent_range_exit)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_insert_delayed_extent)(void *, struct inode *, struct extent_status *, bool, bool);\n\ntypedef void (*btf_trace_ext4_es_insert_extent)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_lookup_extent_enter)(void *, struct inode *, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_lookup_extent_exit)(void *, struct inode *, struct extent_status *, int);\n\ntypedef void (*btf_trace_ext4_es_remove_extent)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_shrink)(void *, struct super_block *, int, u64, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_count)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_scan_enter)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_scan_exit)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_evict_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_ext_convert_to_initialized_enter)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *);\n\ntypedef void (*btf_trace_ext4_ext_convert_to_initialized_fastpath)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *, struct ext4_extent *);\n\ntypedef void (*btf_trace_ext4_ext_handle_unwritten_extents)(void *, struct inode *, struct ext4_map_blocks *, int, unsigned int, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_load_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_ext_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_ext_remove_space)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int);\n\ntypedef void (*btf_trace_ext4_ext_remove_space_done)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int, struct partial_cluster *, __le16);\n\ntypedef void (*btf_trace_ext4_ext_rm_idx)(void *, struct inode *, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_rm_leaf)(void *, struct inode *, ext4_lblk_t, struct ext4_extent *, struct partial_cluster *);\n\ntypedef void (*btf_trace_ext4_ext_show_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t, short unsigned int);\n\ntypedef void (*btf_trace_ext4_fallocate_enter)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_ext4_fallocate_exit)(void *, struct inode *, loff_t, unsigned int, int);\n\ntypedef void (*btf_trace_ext4_fc_cleanup)(void *, journal_t *, int, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_commit_start)(void *, struct super_block *, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_commit_stop)(void *, struct super_block *, int, int, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_replay)(void *, struct super_block *, int, int, int, int);\n\ntypedef void (*btf_trace_ext4_fc_replay_scan)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_fc_stats)(void *, struct super_block *);\n\ntypedef void (*btf_trace_ext4_fc_track_create)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_inode)(void *, handle_t *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_link)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_range)(void *, handle_t *, struct inode *, long int, long int, int);\n\ntypedef void (*btf_trace_ext4_fc_track_unlink)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_forget)(void *, struct inode *, int, __u64);\n\ntypedef void (*btf_trace_ext4_free_blocks)(void *, struct inode *, __u64, long unsigned int, int);\n\ntypedef void (*btf_trace_ext4_free_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_fsmap_high_key)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_fsmap_low_key)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_fsmap_mapping)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_get_implied_cluster_alloc_exit)(void *, struct super_block *, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_getfsmap_high_key)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_getfsmap_low_key)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_getfsmap_mapping)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_ind_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_ind_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_insert_range)(void *, struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_ext4_invalidate_folio)(void *, struct folio *, size_t, size_t);\n\ntypedef void (*btf_trace_ext4_journal_start_inode)(void *, struct inode *, int, int, int, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journal_start_reserved)(void *, struct super_block *, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journal_start_sb)(void *, struct super_block *, int, int, int, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journalled_invalidate_folio)(void *, struct folio *, size_t, size_t);\n\ntypedef void (*btf_trace_ext4_journalled_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_lazy_itable_init)(void *, struct super_block *, ext4_group_t);\n\ntypedef void (*btf_trace_ext4_load_inode)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_load_inode_bitmap)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mark_inode_dirty)(void *, struct inode *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_bitmap_load)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_buddy_bitmap_load)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_discard_preallocations)(void *, struct super_block *, int);\n\ntypedef void (*btf_trace_ext4_mb_new_group_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_new_inode_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_release_group_pa)(void *, struct super_block *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_release_inode_pa)(void *, struct ext4_prealloc_space *, long long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_mballoc_alloc)(void *, struct ext4_allocation_context *);\n\ntypedef void (*btf_trace_ext4_mballoc_discard)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_mballoc_free)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_mballoc_prealloc)(void *, struct ext4_allocation_context *);\n\ntypedef void (*btf_trace_ext4_nfs_commit_metadata)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_other_inode_update_time)(void *, struct inode *, ino_t);\n\ntypedef void (*btf_trace_ext4_prefetch_bitmaps)(void *, struct super_block *, ext4_group_t, ext4_group_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_punch_hole)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_ext4_read_block_bitmap_load)(void *, struct super_block *, long unsigned int, bool);\n\ntypedef void (*btf_trace_ext4_read_folio)(void *, struct inode *, struct folio *);\n\ntypedef void (*btf_trace_ext4_release_folio)(void *, struct inode *, struct folio *);\n\ntypedef void (*btf_trace_ext4_remove_blocks)(void *, struct inode *, struct ext4_extent *, ext4_lblk_t, ext4_fsblk_t, struct partial_cluster *);\n\ntypedef void (*btf_trace_ext4_request_blocks)(void *, struct ext4_allocation_request *);\n\ntypedef void (*btf_trace_ext4_request_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_shutdown)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_sync_file_enter)(void *, struct file *, int);\n\ntypedef void (*btf_trace_ext4_sync_file_exit)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_sync_fs)(void *, struct super_block *, int);\n\ntypedef void (*btf_trace_ext4_trim_all_free)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_trim_extent)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_truncate_enter)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_truncate_exit)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_unlink_enter)(void *, struct inode *, struct dentry *);\n\ntypedef void (*btf_trace_ext4_unlink_exit)(void *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_update_sb)(void *, struct super_block *, ext4_fsblk_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_write_begin)(void *, struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_writepages)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_ext4_writepages_result)(void *, struct inode *, struct writeback_control *, int, int);\n\ntypedef void (*btf_trace_ext4_zero_range)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_extent_writepage)(void *, const struct folio *, const struct inode *, const struct writeback_control *);\n\ntypedef void (*btf_trace_fcntl_setlk)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_fdb_delete)(void *, struct net_bridge *, struct net_bridge_fdb_entry *);\n\ntypedef void (*btf_trace_ff_layout_commit_error)(void *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_ff_layout_read_error)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_ff_layout_write_error)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_fib6_table_lookup)(void *, const struct net *, const struct fib6_result *, struct fib6_table *, const struct flowi6 *);\n\ntypedef void (*btf_trace_fib_table_lookup)(void *, u32, const struct flowi4 *, const struct fib_nh_common *, int);\n\ntypedef void (*btf_trace_file_check_and_advance_wb_err)(void *, struct file *, errseq_t);\n\ntypedef void (*btf_trace_filemap_set_wb_err)(void *, struct address_space *, errseq_t);\n\ntypedef void (*btf_trace_fill_mg_cmtime)(void *, struct inode *, struct timespec64 *, struct timespec64 *);\n\ntypedef void (*btf_trace_find_free_extent)(void *, const struct btrfs_root *, const struct find_free_extent_ctl *);\n\ntypedef void (*btf_trace_find_free_extent_have_block_group)(void *, const struct btrfs_root *, const struct find_free_extent_ctl *, const struct btrfs_block_group *);\n\ntypedef void (*btf_trace_find_free_extent_search_loop)(void *, const struct btrfs_root *, const struct find_free_extent_ctl *);\n\ntypedef void (*btf_trace_finish_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_fl_getdevinfo)(void *, const struct nfs_server *, const struct nfs4_deviceid *, char *);\n\ntypedef void (*btf_trace_flock_lock_inode)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_flush_foreign)(void *, struct bdi_writeback *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_folio_wait_writeback)(void *, struct folio *, struct address_space *);\n\ntypedef void (*btf_trace_free_extent_state)(void *, const struct extent_state *, long unsigned int);\n\ntypedef void (*btf_trace_free_vmap_area_noflush)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_fscache_access)(void *, unsigned int, int, int, enum fscache_access_trace);\n\ntypedef void (*btf_trace_fscache_access_cache)(void *, unsigned int, int, int, enum fscache_access_trace);\n\ntypedef void (*btf_trace_fscache_access_volume)(void *, unsigned int, unsigned int, int, int, enum fscache_access_trace);\n\ntypedef void (*btf_trace_fscache_acquire)(void *, struct fscache_cookie *);\n\ntypedef void (*btf_trace_fscache_active)(void *, unsigned int, int, int, int, enum fscache_active_trace);\n\ntypedef void (*btf_trace_fscache_cache)(void *, unsigned int, int, enum fscache_cache_trace);\n\ntypedef void (*btf_trace_fscache_cookie)(void *, unsigned int, int, enum fscache_cookie_trace);\n\ntypedef void (*btf_trace_fscache_invalidate)(void *, struct fscache_cookie *, loff_t);\n\ntypedef void (*btf_trace_fscache_relinquish)(void *, struct fscache_cookie *, bool);\n\ntypedef void (*btf_trace_fscache_resize)(void *, struct fscache_cookie *, loff_t);\n\ntypedef void (*btf_trace_fscache_volume)(void *, unsigned int, int, enum fscache_volume_trace);\n\ntypedef void (*btf_trace_generic_add_lease)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_generic_delete_lease)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_get_mapping_status)(void *, struct mptcp_ext *);\n\ntypedef void (*btf_trace_global_dirty_state)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_gpio_direction)(void *, unsigned int, int, int);\n\ntypedef void (*btf_trace_gpio_value)(void *, unsigned int, int, int);\n\ntypedef void (*btf_trace_guest_halt_poll_ns)(void *, bool, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_handshake_cancel)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cancel_busy)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cancel_none)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cmd_accept)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_accept_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_done)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_done_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_complete)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_destruct)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_notify_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_submit)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_submit_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_hda_get_response)(void *, struct hdac_bus *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_hda_send_cmd)(void *, struct hdac_bus *, unsigned int);\n\ntypedef void (*btf_trace_hda_unsol_event)(void *, struct hdac_bus *, u32, u32);\n\ntypedef void (*btf_trace_hrtimer_cancel)(void *, struct hrtimer *);\n\ntypedef void (*btf_trace_hrtimer_expire_entry)(void *, struct hrtimer *, ktime_t *);\n\ntypedef void (*btf_trace_hrtimer_expire_exit)(void *, struct hrtimer *);\n\ntypedef void (*btf_trace_hrtimer_init)(void *, struct hrtimer *, clockid_t, enum hrtimer_mode);\n\ntypedef void (*btf_trace_hrtimer_start)(void *, struct hrtimer *, enum hrtimer_mode);\n\ntypedef void (*btf_trace_hugepage_set_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_set_pud)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_update_pmd)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_update_pud)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugetlbfs_alloc_inode)(void *, struct inode *, struct inode *, int);\n\ntypedef void (*btf_trace_hugetlbfs_evict_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_hugetlbfs_fallocate)(void *, struct inode *, int, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_hugetlbfs_free_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_hugetlbfs_setattr)(void *, struct inode *, struct dentry *, struct iattr *);\n\ntypedef void (*btf_trace_hwmon_attr_show)(void *, int, const char *, long int);\n\ntypedef void (*btf_trace_hwmon_attr_show_string)(void *, int, const char *, const char *);\n\ntypedef void (*btf_trace_hwmon_attr_store)(void *, int, const char *, long int);\n\ntypedef void (*btf_trace_i2c_read)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_i2c_reply)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_i2c_result)(void *, const struct i2c_adapter *, int, int);\n\ntypedef void (*btf_trace_i2c_slave)(void *, const struct i2c_client *, enum i2c_slave_event, __u8 *, int);\n\ntypedef void (*btf_trace_i2c_write)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_icmp_send)(void *, const struct sk_buff *, int, int);\n\ntypedef void (*btf_trace_inet_sk_error_report)(void *, const struct sock *);\n\ntypedef void (*btf_trace_inet_sock_set_state)(void *, const struct sock *, const int, const int);\n\ntypedef void (*btf_trace_initcall_finish)(void *, initcall_t, int);\n\ntypedef void (*btf_trace_initcall_level)(void *, const char *);\n\ntypedef void (*btf_trace_initcall_start)(void *, initcall_t);\n\ntypedef void (*btf_trace_inode_foreign_history)(void *, struct inode *, struct writeback_control *, unsigned int);\n\ntypedef void (*btf_trace_inode_set_ctime_to_ts)(void *, struct inode *, struct timespec64 *);\n\ntypedef void (*btf_trace_inode_switch_wbs)(void *, struct inode *, struct bdi_writeback *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_io_page_fault)(void *, struct device *, long unsigned int, int);\n\ntypedef void (*btf_trace_io_uring_complete)(void *, struct io_ring_ctx *, void *, struct io_uring_cqe *);\n\ntypedef void (*btf_trace_io_uring_cqe_overflow)(void *, void *, long long unsigned int, s32, u32, void *);\n\ntypedef void (*btf_trace_io_uring_cqring_wait)(void *, void *, int);\n\ntypedef void (*btf_trace_io_uring_create)(void *, int, void *, u32, u32, u32);\n\ntypedef void (*btf_trace_io_uring_defer)(void *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_fail_link)(void *, struct io_kiocb *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_file_get)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_link)(void *, struct io_kiocb *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_local_work_run)(void *, void *, int, unsigned int);\n\ntypedef void (*btf_trace_io_uring_poll_arm)(void *, struct io_kiocb *, int, int);\n\ntypedef void (*btf_trace_io_uring_queue_async_work)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_register)(void *, void *, unsigned int, unsigned int, unsigned int, long int);\n\ntypedef void (*btf_trace_io_uring_req_failed)(void *, const struct io_uring_sqe *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_short_write)(void *, void *, u64, u64, u64);\n\ntypedef void (*btf_trace_io_uring_submit_req)(void *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_task_add)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_task_work_run)(void *, void *, unsigned int);\n\ntypedef void (*btf_trace_iocost_inuse_adjust)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64);\n\ntypedef void (*btf_trace_iocost_inuse_shortage)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64);\n\ntypedef void (*btf_trace_iocost_inuse_transfer)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64);\n\ntypedef void (*btf_trace_iocost_ioc_vrate_adj)(void *, struct ioc *, u64, u32 *, u32, int, int);\n\ntypedef void (*btf_trace_iocost_iocg_activate)(void *, struct ioc_gq *, const char *, struct ioc_now *, u64, u64, u64);\n\ntypedef void (*btf_trace_iocost_iocg_forgive_debt)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u64, u64, u64, u64);\n\ntypedef void (*btf_trace_iocost_iocg_idle)(void *, struct ioc_gq *, const char *, struct ioc_now *, u64, u64, u64);\n\ntypedef void (*btf_trace_iomap_dio_complete)(void *, struct kiocb *, int, ssize_t);\n\ntypedef void (*btf_trace_iomap_dio_invalidate_fail)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_dio_rw_begin)(void *, struct kiocb *, struct iov_iter *, unsigned int, size_t);\n\ntypedef void (*btf_trace_iomap_dio_rw_queued)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_invalidate_folio)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_iter)(void *, struct iomap_iter *, const void *, long unsigned int);\n\ntypedef void (*btf_trace_iomap_iter_dstmap)(void *, struct inode *, struct iomap *);\n\ntypedef void (*btf_trace_iomap_iter_srcmap)(void *, struct inode *, struct iomap *);\n\ntypedef void (*btf_trace_iomap_readahead)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_iomap_readpage)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_iomap_release_folio)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_writepage)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_writepage_map)(void *, struct inode *, u64, unsigned int, struct iomap *);\n\ntypedef void (*btf_trace_ipi_entry)(void *, const char *);\n\ntypedef void (*btf_trace_ipi_exit)(void *, const char *);\n\ntypedef void (*btf_trace_ipi_raise)(void *, const struct cpumask *, const char *);\n\ntypedef void (*btf_trace_ipi_send_cpu)(void *, const unsigned int, long unsigned int, void *);\n\ntypedef void (*btf_trace_ipi_send_cpumask)(void *, const struct cpumask *, long unsigned int, void *);\n\ntypedef void (*btf_trace_irq_handler_entry)(void *, int, struct irqaction *);\n\ntypedef void (*btf_trace_irq_handler_exit)(void *, int, struct irqaction *, int);\n\ntypedef void (*btf_trace_irq_matrix_alloc)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_alloc_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_alloc_reserved)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_assign)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_assign_system)(void *, int, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_free)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_offline)(void *, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_online)(void *, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_remove_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_remove_reserved)(void *, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_reserve)(void *, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_reserve_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_itimer_expire)(void *, int, struct pid *, long long unsigned int);\n\ntypedef void (*btf_trace_itimer_state)(void *, int, const struct itimerspec64 * const, long long unsigned int);\n\ntypedef void (*btf_trace_jbd2_checkpoint)(void *, journal_t *, int);\n\ntypedef void (*btf_trace_jbd2_checkpoint_stats)(void *, dev_t, tid_t, struct transaction_chp_stats_s *);\n\ntypedef void (*btf_trace_jbd2_commit_flushing)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_commit_locking)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_commit_logging)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_drop_transaction)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_end_commit)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_handle_extend)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int);\n\ntypedef void (*btf_trace_jbd2_handle_restart)(void *, dev_t, tid_t, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_jbd2_handle_start)(void *, dev_t, tid_t, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_jbd2_handle_stats)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int, int, int);\n\ntypedef void (*btf_trace_jbd2_lock_buffer_stall)(void *, dev_t, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_run_stats)(void *, dev_t, tid_t, struct transaction_run_stats_s *);\n\ntypedef void (*btf_trace_jbd2_shrink_checkpoint_list)(void *, journal_t *, tid_t, tid_t, tid_t, long unsigned int, tid_t);\n\ntypedef void (*btf_trace_jbd2_shrink_count)(void *, journal_t *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_shrink_scan_enter)(void *, journal_t *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_shrink_scan_exit)(void *, journal_t *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_start_commit)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_submit_inode_data)(void *, struct inode *);\n\ntypedef void (*btf_trace_jbd2_update_log_tail)(void *, journal_t *, tid_t, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_write_superblock)(void *, journal_t *, blk_opf_t);\n\ntypedef void (*btf_trace_kfree)(void *, long unsigned int, const void *);\n\ntypedef void (*btf_trace_kfree_skb)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *);\n\ntypedef void (*btf_trace_kmalloc)(void *, long unsigned int, const void *, size_t, size_t, gfp_t, int);\n\ntypedef void (*btf_trace_kmem_cache_alloc)(void *, long unsigned int, const void *, struct kmem_cache *, gfp_t, int);\n\ntypedef void (*btf_trace_kmem_cache_free)(void *, long unsigned int, const void *, const struct kmem_cache *);\n\ntypedef void (*btf_trace_ksm_advisor)(void *, s64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ksm_enter)(void *, void *);\n\ntypedef void (*btf_trace_ksm_exit)(void *, void *);\n\ntypedef void (*btf_trace_ksm_merge_one_page)(void *, long unsigned int, void *, void *, int);\n\ntypedef void (*btf_trace_ksm_merge_with_ksm_page)(void *, void *, long unsigned int, void *, void *, int);\n\ntypedef void (*btf_trace_ksm_remove_ksm_page)(void *, long unsigned int);\n\ntypedef void (*btf_trace_ksm_remove_rmap_item)(void *, long unsigned int, void *, void *);\n\ntypedef void (*btf_trace_ksm_start_scan)(void *, int, u32);\n\ntypedef void (*btf_trace_ksm_stop_scan)(void *, int, u32);\n\ntypedef void (*btf_trace_kyber_adjust)(void *, dev_t, const char *, unsigned int);\n\ntypedef void (*btf_trace_kyber_latency)(void *, dev_t, const char *, const char *, unsigned int, unsigned int, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_kyber_throttled)(void *, dev_t, const char *);\n\ntypedef void (*btf_trace_leases_conflict)(void *, bool, struct file_lease *, struct file_lease *);\n\ntypedef void (*btf_trace_locks_get_lock_context)(void *, struct inode *, int, struct file_lock_context *);\n\ntypedef void (*btf_trace_locks_remove_posix)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_ma_op)(void *, const char *, struct ma_state *);\n\ntypedef void (*btf_trace_ma_read)(void *, const char *, struct ma_state *);\n\ntypedef void (*btf_trace_ma_write)(void *, const char *, struct ma_state *, long unsigned int, void *);\n\ntypedef void (*btf_trace_map)(void *, long unsigned int, phys_addr_t, size_t);\n\ntypedef void (*btf_trace_mark_victim)(void *, struct task_struct *, uid_t);\n\ntypedef void (*btf_trace_mc_event)(void *, const unsigned int, const char *, const char *, const int, const u8, const s8, const s8, const s8, long unsigned int, const u8, long unsigned int, const char *);\n\ntypedef void (*btf_trace_mdio_access)(void *, struct mii_bus *, char, u8, unsigned int, u16, int);\n\ntypedef void (*btf_trace_mem_connect)(void *, const struct xdp_mem_allocator *, const struct xdp_rxq_info *);\n\ntypedef void (*btf_trace_mem_disconnect)(void *, const struct xdp_mem_allocator *);\n\ntypedef void (*btf_trace_mem_return_failed)(void *, const struct xdp_mem_info *, const struct page *);\n\ntypedef void (*btf_trace_memcg_flush_stats)(void *, struct mem_cgroup *, s64, bool, bool);\n\ntypedef void (*btf_trace_mm_alloc_contig_migrate_range_info)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page)(void *, struct mm_struct *, int, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page_isolate)(void *, struct page *, int, int, bool, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page_swapin)(void *, struct mm_struct *, int, int, int);\n\ntypedef void (*btf_trace_mm_compaction_begin)(void *, struct compact_control *, long unsigned int, long unsigned int, bool);\n\ntypedef void (*btf_trace_mm_compaction_defer_compaction)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_defer_reset)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_deferred)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_end)(void *, struct compact_control *, long unsigned int, long unsigned int, bool, int);\n\ntypedef void (*btf_trace_mm_compaction_fast_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_finished)(void *, struct zone *, int, int);\n\ntypedef void (*btf_trace_mm_compaction_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_isolate_migratepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_kcompactd_sleep)(void *, int);\n\ntypedef void (*btf_trace_mm_compaction_kcompactd_wake)(void *, int, int, enum zone_type);\n\ntypedef void (*btf_trace_mm_compaction_migratepages)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_suitable)(void *, struct zone *, int, int);\n\ntypedef void (*btf_trace_mm_compaction_try_to_compact_pages)(void *, int, gfp_t, int);\n\ntypedef void (*btf_trace_mm_compaction_wakeup_kcompactd)(void *, int, int, enum zone_type);\n\ntypedef void (*btf_trace_mm_filemap_add_to_page_cache)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_filemap_delete_from_page_cache)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_filemap_fault)(void *, struct address_space *, long unsigned int);\n\ntypedef void (*btf_trace_mm_filemap_get_pages)(void *, struct address_space *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_filemap_map_pages)(void *, struct address_space *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_khugepaged_collapse_file)(void *, struct mm_struct *, struct folio *, long unsigned int, long unsigned int, bool, struct file *, int, int);\n\ntypedef void (*btf_trace_mm_khugepaged_scan_file)(void *, struct mm_struct *, struct folio *, struct file *, int, int, int);\n\ntypedef void (*btf_trace_mm_khugepaged_scan_pmd)(void *, struct mm_struct *, struct page *, bool, int, int, int, int);\n\ntypedef void (*btf_trace_mm_lru_activate)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_lru_insertion)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_migrate_pages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, enum migrate_mode, int);\n\ntypedef void (*btf_trace_mm_migrate_pages_start)(void *, enum migrate_mode, int);\n\ntypedef void (*btf_trace_mm_page_alloc)(void *, struct page *, unsigned int, gfp_t, int);\n\ntypedef void (*btf_trace_mm_page_alloc_extfrag)(void *, struct page *, int, int, int, int);\n\ntypedef void (*btf_trace_mm_page_alloc_zone_locked)(void *, struct page *, unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_page_free)(void *, struct page *, unsigned int);\n\ntypedef void (*btf_trace_mm_page_free_batched)(void *, struct page *);\n\ntypedef void (*btf_trace_mm_page_pcpu_drain)(void *, struct page *, unsigned int, int);\n\ntypedef void (*btf_trace_mm_shrink_slab_end)(void *, struct shrinker *, int, int, long int, long int, long int);\n\ntypedef void (*btf_trace_mm_shrink_slab_start)(void *, struct shrinker *, struct shrink_control *, long int, long unsigned int, long long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_vmscan_direct_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_direct_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_kswapd_sleep)(void *, int);\n\ntypedef void (*btf_trace_mm_vmscan_kswapd_wake)(void *, int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_isolate)(void *, int, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_shrink_active)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_shrink_inactive)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_node_reclaim_begin)(void *, int, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_node_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_reclaim_pages)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *);\n\ntypedef void (*btf_trace_mm_vmscan_throttled)(void *, int, int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_wakeup_kswapd)(void *, int, int, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_write_folio)(void *, struct folio *);\n\ntypedef void (*btf_trace_mmap_lock_acquire_returned)(void *, struct mm_struct *, bool, bool);\n\ntypedef void (*btf_trace_mmap_lock_released)(void *, struct mm_struct *, bool);\n\ntypedef void (*btf_trace_mmap_lock_start_locking)(void *, struct mm_struct *, bool);\n\ntypedef void (*btf_trace_mod_memcg_lruvec_state)(void *, struct mem_cgroup *, int, int);\n\ntypedef void (*btf_trace_mod_memcg_state)(void *, struct mem_cgroup *, int, int);\n\ntypedef void (*btf_trace_module_free)(void *, struct module *);\n\ntypedef void (*btf_trace_module_get)(void *, struct module *, long unsigned int);\n\ntypedef void (*btf_trace_module_load)(void *, struct module *);\n\ntypedef void (*btf_trace_module_put)(void *, struct module *, long unsigned int);\n\ntypedef void (*btf_trace_module_request)(void *, char *, bool, long unsigned int);\n\ntypedef void (*btf_trace_mptcp_sendmsg_frag)(void *, struct mptcp_ext *);\n\ntypedef void (*btf_trace_mptcp_subflow_get_send)(void *, struct mptcp_subflow_context *);\n\ntypedef void (*btf_trace_napi_gro_frags_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_napi_gro_frags_exit)(void *, int);\n\ntypedef void (*btf_trace_napi_gro_receive_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_napi_gro_receive_exit)(void *, int);\n\ntypedef void (*btf_trace_napi_poll)(void *, struct napi_struct *, int, int);\n\ntypedef void (*btf_trace_neigh_cleanup_and_release)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_create)(void *, struct neigh_table *, struct net_device *, const void *, const struct neighbour *, bool);\n\ntypedef void (*btf_trace_neigh_event_send_dead)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_event_send_done)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_timer_handler)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_update)(void *, struct neighbour *, const u8 *, u8, u32, u32);\n\ntypedef void (*btf_trace_neigh_update_done)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_net_dev_queue)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_net_dev_start_xmit)(void *, const struct sk_buff *, const struct net_device *);\n\ntypedef void (*btf_trace_net_dev_xmit)(void *, struct sk_buff *, int, struct net_device *, unsigned int);\n\ntypedef void (*btf_trace_net_dev_xmit_timeout)(void *, struct net_device *, int);\n\ntypedef void (*btf_trace_netfs_collect)(void *, const struct netfs_io_request *);\n\ntypedef void (*btf_trace_netfs_collect_folio)(void *, const struct netfs_io_request *, const struct folio *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_netfs_collect_gap)(void *, const struct netfs_io_request *, const struct netfs_io_stream *, long long unsigned int, char);\n\ntypedef void (*btf_trace_netfs_collect_sreq)(void *, const struct netfs_io_request *, const struct netfs_io_subrequest *);\n\ntypedef void (*btf_trace_netfs_collect_state)(void *, const struct netfs_io_request *, long long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_netfs_collect_stream)(void *, const struct netfs_io_request *, const struct netfs_io_stream *);\n\ntypedef void (*btf_trace_netfs_failure)(void *, struct netfs_io_request *, struct netfs_io_subrequest *, int, enum netfs_failure);\n\ntypedef void (*btf_trace_netfs_folio)(void *, struct folio *, enum netfs_folio_trace);\n\ntypedef void (*btf_trace_netfs_folioq)(void *, const struct folio_queue *, enum netfs_folioq_trace);\n\ntypedef void (*btf_trace_netfs_read)(void *, struct netfs_io_request *, loff_t, size_t, enum netfs_read_trace);\n\ntypedef void (*btf_trace_netfs_rreq)(void *, struct netfs_io_request *, enum netfs_rreq_trace);\n\ntypedef void (*btf_trace_netfs_rreq_ref)(void *, unsigned int, int, enum netfs_rreq_ref_trace);\n\ntypedef void (*btf_trace_netfs_sreq)(void *, struct netfs_io_subrequest *, enum netfs_sreq_trace);\n\ntypedef void (*btf_trace_netfs_sreq_ref)(void *, unsigned int, unsigned int, int, enum netfs_sreq_ref_trace);\n\ntypedef void (*btf_trace_netfs_write)(void *, const struct netfs_io_request *, enum netfs_write_trace);\n\ntypedef void (*btf_trace_netfs_write_iter)(void *, const struct kiocb *, const struct iov_iter *);\n\ntypedef void (*btf_trace_netif_receive_skb)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_exit)(void *, int);\n\ntypedef void (*btf_trace_netif_receive_skb_list_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_list_exit)(void *, int);\n\ntypedef void (*btf_trace_netif_rx)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_netif_rx_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_rx_exit)(void *, int);\n\ntypedef void (*btf_trace_netlink_extack)(void *, const char *);\n\ntypedef void (*btf_trace_nfs4_access)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_bind_conn_to_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_cached_open)(void *, const struct nfs4_state *);\n\ntypedef void (*btf_trace_nfs4_cb_getattr)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_cb_layoutrecall_file)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_cb_offload)(void *, const struct nfs_fh *, const nfs4_stateid *, uint64_t, int, int);\n\ntypedef void (*btf_trace_nfs4_cb_recall)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_cb_seqid_err)(void *, const struct cb_sequenceargs *, __be32);\n\ntypedef void (*btf_trace_nfs4_cb_sequence)(void *, const struct cb_sequenceargs *, const struct cb_sequenceres *, __be32);\n\ntypedef void (*btf_trace_nfs4_clone)(void *, const struct inode *, const struct inode *, const struct nfs42_clone_args *, int);\n\ntypedef void (*btf_trace_nfs4_close)(void *, const struct nfs4_state *, const struct nfs_closeargs *, const struct nfs_closeres *, int);\n\ntypedef void (*btf_trace_nfs4_close_stateid_update_wait)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_commit)(void *, const struct nfs_commit_data *, int);\n\ntypedef void (*btf_trace_nfs4_copy)(void *, const struct inode *, const struct inode *, const struct nfs42_copy_args *, const struct nfs42_copy_res *, const struct nl4_server *, int);\n\ntypedef void (*btf_trace_nfs4_copy_notify)(void *, const struct inode *, const struct nfs42_copy_notify_args *, const struct nfs42_copy_notify_res *, int);\n\ntypedef void (*btf_trace_nfs4_create_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_deallocate)(void *, const struct inode *, const struct nfs42_falloc_args *, int);\n\ntypedef void (*btf_trace_nfs4_delegreturn)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_delegreturn_exit)(void *, const struct nfs4_delegreturnargs *, const struct nfs4_delegreturnres *, int);\n\ntypedef void (*btf_trace_nfs4_destroy_clientid)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_destroy_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_deviceid_free)(void *, const struct nfs_client *, const struct nfs4_deviceid *);\n\ntypedef void (*btf_trace_nfs4_exchange_id)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_fallocate)(void *, const struct inode *, const struct nfs42_falloc_args *, int);\n\ntypedef void (*btf_trace_nfs4_find_deviceid)(void *, const struct nfs_server *, const struct nfs4_deviceid *, int);\n\ntypedef void (*btf_trace_nfs4_fsinfo)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_get_acl)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_get_fs_locations)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_get_lock)(void *, const struct file_lock *, const struct nfs4_state *, int, int);\n\ntypedef void (*btf_trace_nfs4_get_security_label)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_getattr)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_getdeviceinfo)(void *, const struct nfs_server *, const struct nfs4_deviceid *, int);\n\ntypedef void (*btf_trace_nfs4_getxattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_layoutcommit)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layouterror)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutget)(void *, const struct nfs_open_context *, const struct pnfs_layout_range *, const struct pnfs_layout_range *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutreturn)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutreturn_on_close)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutstats)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_listxattr)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_llseek)(void *, const struct inode *, const struct nfs42_seek_args *, const struct nfs42_seek_res *, int);\n\ntypedef void (*btf_trace_nfs4_lookup)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_lookup_root)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_lookupp)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_map_gid_to_group)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_group_to_gid)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_name_to_uid)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_uid_to_name)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_mkdir)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_mknod)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_offload_cancel)(void *, const struct nfs42_offload_status_args *, int);\n\ntypedef void (*btf_trace_nfs4_open_expired)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_file)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_reclaim)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_stateid_update)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_open_stateid_update_wait)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_commit_ds)(void *, const struct nfs_commit_data *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_read)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_write)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_read)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_readdir)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_readlink)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_reclaim_complete)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_reclaim_delegation)(void *, const struct inode *, fmode_t);\n\ntypedef void (*btf_trace_nfs4_remove)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_removexattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_rename)(void *, const struct inode *, const struct qstr *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_renew)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_renew_async)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_secinfo)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_sequence)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_sequence_done)(void *, const struct nfs4_session *, const struct nfs4_sequence_res *);\n\ntypedef void (*btf_trace_nfs4_set_acl)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_set_delegation)(void *, const struct inode *, fmode_t);\n\ntypedef void (*btf_trace_nfs4_set_lock)(void *, const struct file_lock *, const struct nfs4_state *, const nfs4_stateid *, int, int);\n\ntypedef void (*btf_trace_nfs4_set_security_label)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_setattr)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_setclientid)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_setclientid_confirm)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_setup_sequence)(void *, const struct nfs4_session *, const struct nfs4_sequence_args *);\n\ntypedef void (*btf_trace_nfs4_setxattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_state_lock_reclaim)(void *, const struct nfs4_state *, const struct nfs4_lock_state *);\n\ntypedef void (*btf_trace_nfs4_state_mgr)(void *, const struct nfs_client *);\n\ntypedef void (*btf_trace_nfs4_state_mgr_failed)(void *, const struct nfs_client *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_symlink)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_test_delegation_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_test_lock_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_test_open_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_trunked_exchange_id)(void *, const struct nfs_client *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_unlock)(void *, const struct file_lock *, const struct nfs4_state *, int, int);\n\ntypedef void (*btf_trace_nfs4_write)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_xdr_bad_filehandle)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs4_xdr_bad_operation)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs4_xdr_status)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs_access_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_access_exit)(void *, const struct inode *, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_aop_readahead)(void *, const struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_nfs_aop_readahead_done)(void *, const struct inode *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_aop_readpage)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_aop_readpage_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_async_rename_done)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_atomic_open_enter)(void *, const struct inode *, const struct nfs_open_context *, unsigned int);\n\ntypedef void (*btf_trace_nfs_atomic_open_exit)(void *, const struct inode *, const struct nfs_open_context *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_cb_badprinc)(void *, __be32, u32);\n\ntypedef void (*btf_trace_nfs_cb_no_clp)(void *, __be32, u32);\n\ntypedef void (*btf_trace_nfs_commit_done)(void *, const struct rpc_task *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_nfs_commit_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_comp_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_create_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_create_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_direct_commit_complete)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_resched_write)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_complete)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_completion)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_reschedule_io)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_schedule_iovec)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_fh_to_dentry)(void *, const struct super_block *, const struct nfs_fh *, u64, int);\n\ntypedef void (*btf_trace_nfs_fsync_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_fsync_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_getattr_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_getattr_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_initiate_commit)(void *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_nfs_initiate_read)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_initiate_write)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_invalidate_folio)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_invalidate_mapping_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_invalidate_mapping_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_launder_folio_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_link_enter)(void *, const struct inode *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_link_exit)(void *, const struct inode *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_local_open_fh)(void *, const struct nfs_fh *, fmode_t, int);\n\ntypedef void (*btf_trace_nfs_lookup_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_lookup_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_lookup_revalidate_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_lookup_revalidate_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_mkdir_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_mkdir_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_mknod_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_mknod_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_mount_assign)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_nfs_mount_option)(void *, const struct fs_parameter *);\n\ntypedef void (*btf_trace_nfs_mount_path)(void *, const char *);\n\ntypedef void (*btf_trace_nfs_pgio_error)(void *, const struct nfs_pgio_header *, int, loff_t);\n\ntypedef void (*btf_trace_nfs_readdir_cache_fill)(void *, const struct file *, const __be32 *, u64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_cache_fill_done)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_readdir_force_readdirplus)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_readdir_invalidate_cache_range)(void *, const struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_nfs_readdir_lookup)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_lookup_revalidate)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_readdir_lookup_revalidate_failed)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_uncached)(void *, const struct file *, const __be32 *, u64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_uncached_done)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_readpage_done)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_readpage_short)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_refresh_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_refresh_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_remove_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_remove_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_rename_enter)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_rename_exit)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_revalidate_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_revalidate_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_rmdir_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_rmdir_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_set_cache_invalid)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_set_inode_stale)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_setattr_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_setattr_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_sillyrename_unlink)(void *, const struct nfs_unlinkdata *, int);\n\ntypedef void (*btf_trace_nfs_size_grow)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_truncate)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_update)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_wcc)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_symlink_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_symlink_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_unlink_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_unlink_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_write_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_writeback_done)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_writeback_folio)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_writeback_folio_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_writeback_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_writeback_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_xdr_bad_filehandle)(void *, const struct xdr_stream *, int);\n\ntypedef void (*btf_trace_nfs_xdr_status)(void *, const struct xdr_stream *, int);\n\ntypedef void (*btf_trace_nfsd_cant_encode_err)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_nfsd_cb_args)(void *, const struct nfs4_client *, const struct nfs4_cb_conn *);\n\ntypedef void (*btf_trace_nfsd_cb_bc_shutdown)(void *, const struct nfs4_client *, const struct nfsd4_callback *);\n\ntypedef void (*btf_trace_nfsd_cb_bc_update)(void *, const struct nfs4_client *, const struct nfsd4_callback *);\n\ntypedef void (*btf_trace_nfsd_cb_destroy)(void *, const struct nfs4_client *, const struct nfsd4_callback *);\n\ntypedef void (*btf_trace_nfsd_cb_free_slot)(void *, const struct rpc_task *, const struct nfsd4_callback *);\n\ntypedef void (*btf_trace_nfsd_cb_getattr_done)(void *, const stateid_t *, const struct rpc_task *);\n\ntypedef void (*btf_trace_nfsd_cb_layout_done)(void *, const stateid_t *, const struct rpc_task *);\n\ntypedef void (*btf_trace_nfsd_cb_lost)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_cb_new_state)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_cb_nodelegs)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_cb_notify_lock)(void *, const struct nfs4_lockowner *, const struct nfsd4_blocked_lock *);\n\ntypedef void (*btf_trace_nfsd_cb_notify_lock_done)(void *, const stateid_t *, const struct rpc_task *);\n\ntypedef void (*btf_trace_nfsd_cb_offload)(void *, const struct nfs4_client *, const stateid_t *, const struct knfsd_fh *, u64, __be32);\n\ntypedef void (*btf_trace_nfsd_cb_offload_done)(void *, const stateid_t *, const struct rpc_task *);\n\ntypedef void (*btf_trace_nfsd_cb_probe)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_cb_queue)(void *, const struct nfs4_client *, const struct nfsd4_callback *);\n\ntypedef void (*btf_trace_nfsd_cb_recall)(void *, const struct nfs4_stid *);\n\ntypedef void (*btf_trace_nfsd_cb_recall_any)(void *, const struct nfsd4_cb_recall_any *);\n\ntypedef void (*btf_trace_nfsd_cb_recall_any_done)(void *, const struct nfsd4_callback *, const struct rpc_task *);\n\ntypedef void (*btf_trace_nfsd_cb_recall_done)(void *, const stateid_t *, const struct rpc_task *);\n\ntypedef void (*btf_trace_nfsd_cb_restart)(void *, const struct nfs4_client *, const struct nfsd4_callback *);\n\ntypedef void (*btf_trace_nfsd_cb_rpc_done)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_cb_rpc_prepare)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_cb_rpc_release)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_cb_seq_status)(void *, const struct rpc_task *, const struct nfsd4_callback *);\n\ntypedef void (*btf_trace_nfsd_cb_setup)(void *, const struct nfs4_client *, const char *, rpc_authflavor_t);\n\ntypedef void (*btf_trace_nfsd_cb_setup_err)(void *, const struct nfs4_client *, long int);\n\ntypedef void (*btf_trace_nfsd_cb_shutdown)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_cb_start)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_clid_admin_expired)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_confirmed)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_confirmed_r)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_clid_cred_mismatch)(void *, const struct nfs4_client *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_nfsd_clid_destroyed)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_expire_unconf)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_fresh)(void *, const struct nfs4_client *);\n\ntypedef void (*btf_trace_nfsd_clid_purged)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_reclaim_complete)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_renew)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_replaced)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_stale)(void *, const clientid_t *);\n\ntypedef void (*btf_trace_nfsd_clid_verf_mismatch)(void *, const struct nfs4_client *, const struct svc_rqst *, const nfs4_verifier *);\n\ntypedef void (*btf_trace_nfsd_clone_file_range_err)(void *, struct svc_rqst *, struct svc_fh *, loff_t, struct svc_fh *, loff_t, u64, int);\n\ntypedef void (*btf_trace_nfsd_compound)(void *, const struct svc_rqst *, const char *, u32, u32);\n\ntypedef void (*btf_trace_nfsd_compound_decode_err)(void *, const struct svc_rqst *, u32, u32, u32, __be32);\n\ntypedef void (*btf_trace_nfsd_compound_encode_err)(void *, const struct svc_rqst *, u32, __be32);\n\ntypedef void (*btf_trace_nfsd_compound_op_err)(void *, const struct svc_rqst *, u32, __be32);\n\ntypedef void (*btf_trace_nfsd_compound_status)(void *, u32, u32, __be32, const char *);\n\ntypedef void (*btf_trace_nfsd_copy_async)(void *, const struct nfsd4_copy *);\n\ntypedef void (*btf_trace_nfsd_copy_async_cancel)(void *, const struct nfsd4_copy *);\n\ntypedef void (*btf_trace_nfsd_copy_async_done)(void *, const struct nfsd4_copy *);\n\ntypedef void (*btf_trace_nfsd_copy_done)(void *, const struct nfsd4_copy *, __be32);\n\ntypedef void (*btf_trace_nfsd_copy_inter)(void *, const struct nfsd4_copy *);\n\ntypedef void (*btf_trace_nfsd_copy_intra)(void *, const struct nfsd4_copy *);\n\ntypedef void (*btf_trace_nfsd_ctl_filehandle)(void *, const struct net *, const char *, const char *, int);\n\ntypedef void (*btf_trace_nfsd_ctl_maxblksize)(void *, const struct net *, int);\n\ntypedef void (*btf_trace_nfsd_ctl_maxconn)(void *, const struct net *, int);\n\ntypedef void (*btf_trace_nfsd_ctl_pool_threads)(void *, const struct net *, int, int);\n\ntypedef void (*btf_trace_nfsd_ctl_ports_addfd)(void *, const struct net *, int);\n\ntypedef void (*btf_trace_nfsd_ctl_ports_addxprt)(void *, const struct net *, const char *, int);\n\ntypedef void (*btf_trace_nfsd_ctl_recoverydir)(void *, const struct net *, const char *);\n\ntypedef void (*btf_trace_nfsd_ctl_threads)(void *, const struct net *, int);\n\ntypedef void (*btf_trace_nfsd_ctl_time)(void *, const struct net *, const char *, size_t, int);\n\ntypedef void (*btf_trace_nfsd_ctl_unlock_fs)(void *, const struct net *, const char *);\n\ntypedef void (*btf_trace_nfsd_ctl_unlock_ip)(void *, const struct net *, const char *);\n\ntypedef void (*btf_trace_nfsd_ctl_version)(void *, const struct net *, const char *);\n\ntypedef void (*btf_trace_nfsd_deleg_read)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_deleg_return)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_deleg_write)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_delegret_wakeup)(void *, const struct svc_rqst *, const struct inode *, long int);\n\ntypedef void (*btf_trace_nfsd_dirent)(void *, struct svc_fh *, u64, const char *, int);\n\ntypedef void (*btf_trace_nfsd_drc_found)(void *, const struct nfsd_net *, const struct svc_rqst *, int);\n\ntypedef void (*btf_trace_nfsd_drc_mismatch)(void *, const struct nfsd_net *, const struct nfsd_cacherep *, const struct nfsd_cacherep *);\n\ntypedef void (*btf_trace_nfsd_end_grace)(void *, const struct net *);\n\ntypedef void (*btf_trace_nfsd_exp_find_key)(void *, const struct svc_expkey *, int);\n\ntypedef void (*btf_trace_nfsd_exp_get_by_name)(void *, const struct svc_export *, int);\n\ntypedef void (*btf_trace_nfsd_expkey_update)(void *, const struct svc_expkey *, const char *);\n\ntypedef void (*btf_trace_nfsd_export_update)(void *, const struct svc_export *);\n\ntypedef void (*btf_trace_nfsd_fh_verify)(void *, const struct svc_rqst *, const struct svc_fh *, umode_t, int);\n\ntypedef void (*btf_trace_nfsd_fh_verify_err)(void *, const struct svc_rqst *, const struct svc_fh *, umode_t, int, __be32);\n\ntypedef void (*btf_trace_nfsd_file_acquire)(void *, const struct svc_rqst *, const struct inode *, unsigned int, const struct nfsd_file *, __be32);\n\ntypedef void (*btf_trace_nfsd_file_alloc)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_close)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfsd_file_closing)(void *, struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_cons_err)(void *, const struct svc_rqst *, const struct inode *, unsigned int, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_free)(void *, struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_fsnotify_handle_event)(void *, struct inode *, u32);\n\ntypedef void (*btf_trace_nfsd_file_gc_disposed)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_gc_in_use)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_gc_referenced)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_gc_removed)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_nfsd_file_gc_writeback)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_insert_err)(void *, const struct svc_rqst *, const struct inode *, unsigned int, long int);\n\ntypedef void (*btf_trace_nfsd_file_is_cached)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfsd_file_lru_add)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_lru_add_disposed)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_lru_del)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_lru_del_disposed)(void *, const struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_open)(void *, const struct nfsd_file *, __be32);\n\ntypedef void (*btf_trace_nfsd_file_opened)(void *, const struct nfsd_file *, __be32);\n\ntypedef void (*btf_trace_nfsd_file_put)(void *, struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_shrinker_removed)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_nfsd_file_unhash)(void *, struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_file_unhash_and_queue)(void *, struct nfsd_file *);\n\ntypedef void (*btf_trace_nfsd_garbage_args_err)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_nfsd_grace_complete)(void *, const struct nfsd_net *);\n\ntypedef void (*btf_trace_nfsd_grace_start)(void *, const struct nfsd_net *);\n\ntypedef void (*btf_trace_nfsd_layout_commit_lookup_fail)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layout_get_lookup_fail)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layout_recall)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layout_recall_done)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layout_recall_fail)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layout_recall_release)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layout_return_lookup_fail)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layoutstate_alloc)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layoutstate_free)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_layoutstate_unhash)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_mark_client_expired)(void *, const struct nfs4_client *, int);\n\ntypedef void (*btf_trace_nfsd_open)(void *, stateid_t *);\n\ntypedef void (*btf_trace_nfsd_open_confirm)(void *, u32, const stateid_t *);\n\ntypedef void (*btf_trace_nfsd_preprocess)(void *, u32, const stateid_t *);\n\ntypedef void (*btf_trace_nfsd_read_done)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_read_err)(void *, struct svc_rqst *, struct svc_fh *, loff_t, int);\n\ntypedef void (*btf_trace_nfsd_read_io_done)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_read_splice)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_read_start)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_read_vector)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_seq4_status)(void *, const struct svc_rqst *, const struct nfsd4_sequence *);\n\ntypedef void (*btf_trace_nfsd_set_fh_dentry_badexport)(void *, struct svc_rqst *, struct svc_fh *, int);\n\ntypedef void (*btf_trace_nfsd_set_fh_dentry_badhandle)(void *, struct svc_rqst *, struct svc_fh *, int);\n\ntypedef void (*btf_trace_nfsd_slot_seqid_conf)(void *, const struct nfs4_client *, const struct nfsd4_create_session *);\n\ntypedef void (*btf_trace_nfsd_slot_seqid_sequence)(void *, const struct nfs4_client *, const struct nfsd4_sequence *, const struct nfsd4_slot *);\n\ntypedef void (*btf_trace_nfsd_slot_seqid_unconf)(void *, const struct nfs4_client *, const struct nfsd4_create_session *);\n\ntypedef void (*btf_trace_nfsd_stateowner_replay)(void *, u32, const struct nfs4_replay *);\n\ntypedef void (*btf_trace_nfsd_stid_revoke)(void *, const struct nfs4_stid *);\n\ntypedef void (*btf_trace_nfsd_write_done)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_write_err)(void *, struct svc_rqst *, struct svc_fh *, loff_t, int);\n\ntypedef void (*btf_trace_nfsd_write_io_done)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_write_opened)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_write_start)(void *, struct svc_rqst *, struct svc_fh *, u64, u32);\n\ntypedef void (*btf_trace_nfsd_writeverf_reset)(void *, const struct nfsd_net *, const struct svc_rqst *, int);\n\ntypedef void (*btf_trace_nlmclnt_grant)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_lock)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_test)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_unlock)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_non_standard_event)(void *, const guid_t *, const guid_t *, const char *, const u8, const u8 *, const u32);\n\ntypedef void (*btf_trace_notifier_register)(void *, void *);\n\ntypedef void (*btf_trace_notifier_run)(void *, void *);\n\ntypedef void (*btf_trace_notifier_unregister)(void *, void *);\n\ntypedef void (*btf_trace_nvme_async_event)(void *, struct nvme_ctrl *, u32);\n\ntypedef void (*btf_trace_nvme_complete_rq)(void *, struct request *);\n\ntypedef void (*btf_trace_nvme_setup_cmd)(void *, struct request *, struct nvme_command *);\n\ntypedef void (*btf_trace_nvme_sq)(void *, struct request *, __le16, int);\n\ntypedef void (*btf_trace_oom_score_adj_update)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_page_pool_release)(void *, const struct page_pool *, s32, u32, u32);\n\ntypedef void (*btf_trace_page_pool_state_hold)(void *, const struct page_pool *, netmem_ref, u32);\n\ntypedef void (*btf_trace_page_pool_state_release)(void *, const struct page_pool *, netmem_ref, u32);\n\ntypedef void (*btf_trace_page_pool_update_nid)(void *, const struct page_pool *, int);\n\ntypedef void (*btf_trace_pelt_cfs_tp)(void *, struct cfs_rq *);\n\ntypedef void (*btf_trace_pelt_dl_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_hw_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_irq_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_rt_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_se_tp)(void *, struct sched_entity *);\n\ntypedef void (*btf_trace_percpu_alloc_percpu)(void *, long unsigned int, bool, bool, size_t, size_t, void *, int, void *, size_t, gfp_t);\n\ntypedef void (*btf_trace_percpu_alloc_percpu_fail)(void *, bool, bool, size_t, size_t);\n\ntypedef void (*btf_trace_percpu_create_chunk)(void *, void *);\n\ntypedef void (*btf_trace_percpu_destroy_chunk)(void *, void *);\n\ntypedef void (*btf_trace_percpu_free_percpu)(void *, void *, int, void *);\n\ntypedef void (*btf_trace_pm_qos_add_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_remove_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_update_flags)(void *, enum pm_qos_req_action, int, int);\n\ntypedef void (*btf_trace_pm_qos_update_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_update_target)(void *, enum pm_qos_req_action, int, int);\n\ntypedef void (*btf_trace_pmap_register)(void *, u32, u32, int, short unsigned int);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_get_mirror_count)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_init_read)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_init_write)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_read_done)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_read_pagelist)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_write_done)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_write_pagelist)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_update_layout)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *, enum pnfs_update_layout_reason);\n\ntypedef void (*btf_trace_posix_lock_inode)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_power_domain_target)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_powernv_throttle)(void *, int, const char *, int);\n\ntypedef void (*btf_trace_pstate_sample)(void *, u32, u32, u32, u32, u64, u64, u64, u32, u32);\n\ntypedef void (*btf_trace_purge_vmap_area_lazy)(void *, long unsigned int, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_pwm_apply)(void *, struct pwm_device *, const struct pwm_state *, int);\n\ntypedef void (*btf_trace_pwm_get)(void *, struct pwm_device *, const struct pwm_state *, int);\n\ntypedef void (*btf_trace_pwm_read_waveform)(void *, struct pwm_device *, void *, int);\n\ntypedef void (*btf_trace_pwm_round_waveform_fromhw)(void *, struct pwm_device *, const void *, struct pwm_waveform *, int);\n\ntypedef void (*btf_trace_pwm_round_waveform_tohw)(void *, struct pwm_device *, const struct pwm_waveform *, void *, int);\n\ntypedef void (*btf_trace_pwm_write_waveform)(void *, struct pwm_device *, const void *, int);\n\ntypedef void (*btf_trace_qdisc_create)(void *, const struct Qdisc_ops *, struct net_device *, u32);\n\ntypedef void (*btf_trace_qdisc_dequeue)(void *, struct Qdisc *, const struct netdev_queue *, int, struct sk_buff *);\n\ntypedef void (*btf_trace_qdisc_destroy)(void *, struct Qdisc *);\n\ntypedef void (*btf_trace_qdisc_enqueue)(void *, struct Qdisc *, const struct netdev_queue *, struct sk_buff *);\n\ntypedef void (*btf_trace_qdisc_reset)(void *, struct Qdisc *);\n\ntypedef void (*btf_trace_qgroup_meta_convert)(void *, const struct btrfs_root *, s64);\n\ntypedef void (*btf_trace_qgroup_meta_free_all_pertrans)(void *, struct btrfs_root *);\n\ntypedef void (*btf_trace_qgroup_meta_reserve)(void *, const struct btrfs_root *, s64, int);\n\ntypedef void (*btf_trace_qgroup_num_dirty_extents)(void *, const struct btrfs_fs_info *, u64, u64);\n\ntypedef void (*btf_trace_qgroup_update_counters)(void *, const struct btrfs_fs_info *, const struct btrfs_qgroup *, u64, u64);\n\ntypedef void (*btf_trace_qgroup_update_reserve)(void *, const struct btrfs_fs_info *, const struct btrfs_qgroup *, s64, int);\n\ntypedef void (*btf_trace_raid56_read)(void *, const struct btrfs_raid_bio *, const struct bio *, const struct raid56_bio_trace_info *);\n\ntypedef void (*btf_trace_raid56_write)(void *, const struct btrfs_raid_bio *, const struct bio *, const struct raid56_bio_trace_info *);\n\ntypedef void (*btf_trace_rcu_barrier)(void *, const char *, const char *, int, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_batch_end)(void *, const char *, int, char, char, char, char);\n\ntypedef void (*btf_trace_rcu_batch_start)(void *, const char *, long int, long int);\n\ntypedef void (*btf_trace_rcu_callback)(void *, const char *, struct callback_head *, long int);\n\ntypedef void (*btf_trace_rcu_exp_funnel_lock)(void *, const char *, u8, int, int, const char *);\n\ntypedef void (*btf_trace_rcu_exp_grace_period)(void *, const char *, long unsigned int, const char *);\n\ntypedef void (*btf_trace_rcu_fqs)(void *, const char *, long unsigned int, int, const char *);\n\ntypedef void (*btf_trace_rcu_future_grace_period)(void *, const char *, long unsigned int, long unsigned int, u8, int, int, const char *);\n\ntypedef void (*btf_trace_rcu_grace_period)(void *, const char *, long unsigned int, const char *);\n\ntypedef void (*btf_trace_rcu_grace_period_init)(void *, const char *, long unsigned int, u8, int, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_invoke_callback)(void *, const char *, struct callback_head *);\n\ntypedef void (*btf_trace_rcu_invoke_kfree_bulk_callback)(void *, const char *, long unsigned int, void **);\n\ntypedef void (*btf_trace_rcu_invoke_kvfree_callback)(void *, const char *, struct callback_head *, long unsigned int);\n\ntypedef void (*btf_trace_rcu_kvfree_callback)(void *, const char *, struct callback_head *, long unsigned int, long int);\n\ntypedef void (*btf_trace_rcu_preempt_task)(void *, const char *, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_quiescent_state_report)(void *, const char *, long unsigned int, long unsigned int, long unsigned int, u8, int, int, int);\n\ntypedef void (*btf_trace_rcu_segcb_stats)(void *, struct rcu_segcblist *, const char *);\n\ntypedef void (*btf_trace_rcu_sr_normal)(void *, const char *, struct callback_head *, const char *);\n\ntypedef void (*btf_trace_rcu_stall_warning)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_rcu_torture_read)(void *, const char *, struct callback_head *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_unlock_preempted_task)(void *, const char *, long unsigned int, int);\n\ntypedef void (*btf_trace_rcu_utilization)(void *, const char *);\n\ntypedef void (*btf_trace_rcu_watching)(void *, const char *, long int, long int, int);\n\ntypedef void (*btf_trace_reclaim_retry_zone)(void *, struct zoneref *, int, long unsigned int, long unsigned int, long unsigned int, int, bool);\n\ntypedef void (*btf_trace_regcache_drop_region)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regcache_sync)(void *, struct regmap *, const char *, const char *);\n\ntypedef void (*btf_trace_regmap_async_complete_done)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_complete_start)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_io_complete)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_write_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_bulk_read)(void *, struct regmap *, unsigned int, const void *, int);\n\ntypedef void (*btf_trace_regmap_bulk_write)(void *, struct regmap *, unsigned int, const void *, int);\n\ntypedef void (*btf_trace_regmap_cache_bypass)(void *, struct regmap *, bool);\n\ntypedef void (*btf_trace_regmap_cache_only)(void *, struct regmap *, bool);\n\ntypedef void (*btf_trace_regmap_hw_read_done)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_read_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_write_done)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_write_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_reg_read)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regmap_reg_read_cache)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regmap_reg_write)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_remove_device_from_group)(void *, int, struct device *);\n\ntypedef void (*btf_trace_remove_migration_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_remove_migration_pte)(void *, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_rpc__auth_tooweak)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__bad_creds)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__garbage_args)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__mismatch)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__proc_unavail)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__prog_mismatch)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__prog_unavail)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__stale_creds)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__unparsable)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_bad_callhdr)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_bad_verifier)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_buf_alloc)(void *, const struct rpc_task *, int);\n\ntypedef void (*btf_trace_rpc_call_rpcerror)(void *, const struct rpc_task *, int, int);\n\ntypedef void (*btf_trace_rpc_call_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_clnt_clone_err)(void *, const struct rpc_clnt *, int);\n\ntypedef void (*btf_trace_rpc_clnt_free)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_killall)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_new)(void *, const struct rpc_clnt *, const struct rpc_xprt *, const struct rpc_create_args *);\n\ntypedef void (*btf_trace_rpc_clnt_new_err)(void *, const char *, const char *, int);\n\ntypedef void (*btf_trace_rpc_clnt_release)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_replace_xprt)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_replace_xprt_err)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_shutdown)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_connect_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_refresh_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_request)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_retry_refresh_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_socket_close)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_socket_connect)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_error)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_nospace)(void *, const struct rpc_rqst *, const struct sock_xprt *);\n\ntypedef void (*btf_trace_rpc_socket_reset_connection)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_shutdown)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_socket_state_change)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_stats_latency)(void *, const struct rpc_task *, ktime_t, ktime_t, ktime_t);\n\ntypedef void (*btf_trace_rpc_task_begin)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_call_done)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_complete)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_end)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_run_action)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_signalled)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_sleep)(void *, const struct rpc_task *, const struct rpc_wait_queue *);\n\ntypedef void (*btf_trace_rpc_task_sync_sleep)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_sync_wake)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_timeout)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_wakeup)(void *, const struct rpc_task *, const struct rpc_wait_queue *);\n\ntypedef void (*btf_trace_rpc_timeout_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_tls_not_started)(void *, const struct rpc_clnt *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_rpc_tls_unavailable)(void *, const struct rpc_clnt *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_rpc_xdr_alignment)(void *, const struct xdr_stream *, size_t, unsigned int);\n\ntypedef void (*btf_trace_rpc_xdr_overflow)(void *, const struct xdr_stream *, size_t);\n\ntypedef void (*btf_trace_rpc_xdr_recvfrom)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpc_xdr_reply_pages)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpc_xdr_sendto)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpcb_bind_version_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_getport)(void *, const struct rpc_clnt *, const struct rpc_task *, unsigned int);\n\ntypedef void (*btf_trace_rpcb_prog_unavail_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_register)(void *, u32, u32, const char *, const char *);\n\ntypedef void (*btf_trace_rpcb_setport)(void *, const struct rpc_task *, int, short unsigned int);\n\ntypedef void (*btf_trace_rpcb_timeout_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unreachable_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unrecognized_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unregister)(void *, u32, u32, const char *);\n\ntypedef void (*btf_trace_rpcgss_bad_seqno)(void *, const struct rpc_task *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_context)(void *, u32, long unsigned int, long unsigned int, unsigned int, unsigned int, const u8 *);\n\ntypedef void (*btf_trace_rpcgss_createauth)(void *, unsigned int, int);\n\ntypedef void (*btf_trace_rpcgss_ctx_destroy)(void *, const struct gss_cred *);\n\ntypedef void (*btf_trace_rpcgss_ctx_init)(void *, const struct gss_cred *);\n\ntypedef void (*btf_trace_rpcgss_get_mic)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_import_ctx)(void *, int);\n\ntypedef void (*btf_trace_rpcgss_need_reencode)(void *, const struct rpc_task *, u32, bool);\n\ntypedef void (*btf_trace_rpcgss_oid_to_mech)(void *, const char *);\n\ntypedef void (*btf_trace_rpcgss_seqno)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcgss_svc_accept_upcall)(void *, const struct svc_rqst *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_authenticate)(void *, const struct svc_rqst *, const struct rpc_gss_wire_cred *);\n\ntypedef void (*btf_trace_rpcgss_svc_get_mic)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_mic)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_bad)(void *, const struct svc_rqst *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_large)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_low)(void *, const struct svc_rqst *, u32, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_seen)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_unwrap)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_unwrap_failed)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_rpcgss_svc_wrap)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_wrap_failed)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_rpcgss_unwrap)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_unwrap_failed)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcgss_upcall_msg)(void *, const char *);\n\ntypedef void (*btf_trace_rpcgss_upcall_result)(void *, u32, int);\n\ntypedef void (*btf_trace_rpcgss_update_slack)(void *, const struct rpc_task *, const struct rpc_auth *);\n\ntypedef void (*btf_trace_rpcgss_verify_mic)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_wrap)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpm_idle)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_resume)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_return_int)(void *, struct device *, long unsigned int, int);\n\ntypedef void (*btf_trace_rpm_status)(void *, struct device *, enum rpm_status);\n\ntypedef void (*btf_trace_rpm_suspend)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_usage)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rseq_ip_fixup)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_rseq_update)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_rss_stat)(void *, struct mm_struct *, int);\n\ntypedef void (*btf_trace_rtc_alarm_irq_enable)(void *, unsigned int, int);\n\ntypedef void (*btf_trace_rtc_irq_set_freq)(void *, int, int);\n\ntypedef void (*btf_trace_rtc_irq_set_state)(void *, int, int);\n\ntypedef void (*btf_trace_rtc_read_alarm)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_read_offset)(void *, long int, int);\n\ntypedef void (*btf_trace_rtc_read_time)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_set_alarm)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_set_offset)(void *, long int, int);\n\ntypedef void (*btf_trace_rtc_set_time)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_timer_dequeue)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_rtc_timer_enqueue)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_rtc_timer_fired)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_run_delayed_data_ref)(void *, const struct btrfs_fs_info *, const struct btrfs_delayed_ref_node *);\n\ntypedef void (*btf_trace_run_delayed_ref_head)(void *, const struct btrfs_fs_info *, const struct btrfs_delayed_ref_head *, int);\n\ntypedef void (*btf_trace_run_delayed_tree_ref)(void *, const struct btrfs_fs_info *, const struct btrfs_delayed_ref_node *);\n\ntypedef void (*btf_trace_sb_clear_inode_writeback)(void *, struct inode *);\n\ntypedef void (*btf_trace_sb_mark_inode_writeback)(void *, struct inode *);\n\ntypedef void (*btf_trace_sched_compute_energy_tp)(void *, struct task_struct *, int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_sched_cpu_capacity_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_sched_kthread_stop)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_kthread_stop_ret)(void *, int);\n\ntypedef void (*btf_trace_sched_kthread_work_execute_end)(void *, struct kthread_work *, kthread_work_func_t);\n\ntypedef void (*btf_trace_sched_kthread_work_execute_start)(void *, struct kthread_work *);\n\ntypedef void (*btf_trace_sched_kthread_work_queue_work)(void *, struct kthread_worker *, struct kthread_work *);\n\ntypedef void (*btf_trace_sched_migrate_task)(void *, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_move_numa)(void *, struct task_struct *, int, int);\n\ntypedef void (*btf_trace_sched_overutilized_tp)(void *, struct root_domain *, bool);\n\ntypedef void (*btf_trace_sched_pi_setprio)(void *, struct task_struct *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_prepare_exec)(void *, struct task_struct *, struct linux_binprm *);\n\ntypedef void (*btf_trace_sched_process_exec)(void *, struct task_struct *, pid_t, struct linux_binprm *);\n\ntypedef void (*btf_trace_sched_process_exit)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_fork)(void *, struct task_struct *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_free)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_wait)(void *, struct pid *);\n\ntypedef void (*btf_trace_sched_skip_vma_numa)(void *, struct mm_struct *, struct vm_area_struct *, enum numa_vmaskip_reason);\n\ntypedef void (*btf_trace_sched_stat_blocked)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stat_iowait)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stat_runtime)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stat_sleep)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stat_wait)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stick_numa)(void *, struct task_struct *, int, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_swap_numa)(void *, struct task_struct *, int, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_switch)(void *, bool, struct task_struct *, struct task_struct *, unsigned int);\n\ntypedef void (*btf_trace_sched_update_nr_running_tp)(void *, struct rq *, int);\n\ntypedef void (*btf_trace_sched_util_est_cfs_tp)(void *, struct cfs_rq *);\n\ntypedef void (*btf_trace_sched_util_est_se_tp)(void *, struct sched_entity *);\n\ntypedef void (*btf_trace_sched_wait_task)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_wake_idle_without_ipi)(void *, int);\n\ntypedef void (*btf_trace_sched_wakeup)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_wakeup_new)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_waking)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_done)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_error)(void *, struct scsi_cmnd *, int);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_start)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_timeout)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_eh_wakeup)(void *, struct Scsi_Host *);\n\ntypedef void (*btf_trace_scsi_prepare_zone_append)(void *, struct scsi_cmnd *, sector_t, unsigned int);\n\ntypedef void (*btf_trace_scsi_zone_wp_update)(void *, struct scsi_cmnd *, sector_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_selinux_audited)(void *, struct selinux_audit_data *, char *, char *, const char *);\n\ntypedef void (*btf_trace_set_migration_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_set_migration_pte)(void *, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_signal_deliver)(void *, int, struct kernel_siginfo *, struct k_sigaction *);\n\ntypedef void (*btf_trace_signal_generate)(void *, int, struct kernel_siginfo *, struct task_struct *, int, int);\n\ntypedef void (*btf_trace_sk_data_ready)(void *, const struct sock *);\n\ntypedef void (*btf_trace_skb_copy_datagram_iovec)(void *, const struct sk_buff *, int);\n\ntypedef void (*btf_trace_skip_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_smbus_read)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int);\n\ntypedef void (*btf_trace_smbus_reply)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *, int);\n\ntypedef void (*btf_trace_smbus_result)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, int);\n\ntypedef void (*btf_trace_smbus_write)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *);\n\ntypedef void (*btf_trace_snd_hdac_stream_start)(void *, struct hdac_bus *, struct hdac_stream *);\n\ntypedef void (*btf_trace_snd_hdac_stream_stop)(void *, struct hdac_bus *, struct hdac_stream *);\n\ntypedef void (*btf_trace_sock_exceed_buf_limit)(void *, struct sock *, struct proto *, long int, int);\n\ntypedef void (*btf_trace_sock_rcvqueue_full)(void *, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_sock_recv_length)(void *, struct sock *, int, int);\n\ntypedef void (*btf_trace_sock_send_length)(void *, struct sock *, int, int);\n\ntypedef void (*btf_trace_softirq_entry)(void *, unsigned int);\n\ntypedef void (*btf_trace_softirq_exit)(void *, unsigned int);\n\ntypedef void (*btf_trace_softirq_raise)(void *, unsigned int);\n\ntypedef void (*btf_trace_spi_controller_busy)(void *, struct spi_controller *);\n\ntypedef void (*btf_trace_spi_controller_idle)(void *, struct spi_controller *);\n\ntypedef void (*btf_trace_spi_message_done)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_message_start)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_message_submit)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_set_cs)(void *, struct spi_device *, bool);\n\ntypedef void (*btf_trace_spi_setup)(void *, struct spi_device *, int);\n\ntypedef void (*btf_trace_spi_transfer_start)(void *, struct spi_message *, struct spi_transfer *);\n\ntypedef void (*btf_trace_spi_transfer_stop)(void *, struct spi_message *, struct spi_transfer *);\n\ntypedef void (*btf_trace_start_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_subflow_check_data_avail)(void *, __u8, struct sk_buff *);\n\ntypedef void (*btf_trace_suspend_resume)(void *, const char *, int, bool);\n\ntypedef void (*btf_trace_svc_alloc_arg_err)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_svc_authenticate)(void *, const struct svc_rqst *, enum svc_auth_status);\n\ntypedef void (*btf_trace_svc_defer)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_defer_drop)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_defer_queue)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_defer_recv)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_drop)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_noregister)(void *, const char *, const u32, const int, const short unsigned int, const short unsigned int, int);\n\ntypedef void (*btf_trace_svc_process)(void *, const struct svc_rqst *, const char *);\n\ntypedef void (*btf_trace_svc_register)(void *, const char *, const u32, const int, const short unsigned int, const short unsigned int, int);\n\ntypedef void (*btf_trace_svc_replace_page_err)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_send)(void *, const struct svc_rqst *, int);\n\ntypedef void (*btf_trace_svc_stats_latency)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_tls_not_started)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_start)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_timed_out)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_unavailable)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_upcall)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_unregister)(void *, const char *, const u32, int);\n\ntypedef void (*btf_trace_svc_wake_up)(void *, int);\n\ntypedef void (*btf_trace_svc_xdr_recvfrom)(void *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_svc_xdr_sendto)(void *, __be32, const struct xdr_buf *);\n\ntypedef void (*btf_trace_svc_xprt_accept)(void *, const struct svc_xprt *, const char *);\n\ntypedef void (*btf_trace_svc_xprt_close)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_create_err)(void *, const char *, const char *, struct sockaddr *, size_t, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_dequeue)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_xprt_detach)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_enqueue)(void *, const struct svc_xprt *, long unsigned int);\n\ntypedef void (*btf_trace_svc_xprt_free)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_no_write_space)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svcsock_accept_err)(void *, const struct svc_xprt *, const char *, long int);\n\ntypedef void (*btf_trace_svcsock_data_ready)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_free)(void *, const void *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_getpeername_err)(void *, const struct svc_xprt *, const char *, long int);\n\ntypedef void (*btf_trace_svcsock_marker)(void *, const struct svc_xprt *, __be32);\n\ntypedef void (*btf_trace_svcsock_new)(void *, const void *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_tcp_recv)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_eagain)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_err)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_short)(void *, const struct svc_xprt *, u32, u32);\n\ntypedef void (*btf_trace_svcsock_tcp_send)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_state)(void *, const struct svc_xprt *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_udp_recv)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_udp_recv_err)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_udp_send)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_write_space)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_swiotlb_bounced)(void *, struct device *, dma_addr_t, size_t);\n\ntypedef void (*btf_trace_sys_enter)(void *, struct pt_regs *, long int);\n\ntypedef void (*btf_trace_sys_exit)(void *, struct pt_regs *, long int);\n\ntypedef void (*btf_trace_task_newtask)(void *, struct task_struct *, long unsigned int);\n\ntypedef void (*btf_trace_task_prctl_unknown)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_task_rename)(void *, struct task_struct *, const char *);\n\ntypedef void (*btf_trace_tasklet_entry)(void *, struct tasklet_struct *, void *);\n\ntypedef void (*btf_trace_tasklet_exit)(void *, struct tasklet_struct *, void *);\n\ntypedef void (*btf_trace_tb_event)(void *, int, u8, const void *, size_t);\n\ntypedef void (*btf_trace_tb_rx)(void *, int, u8, const void *, size_t, bool);\n\ntypedef void (*btf_trace_tb_tx)(void *, int, u8, const void *, size_t);\n\ntypedef void (*btf_trace_tcp_ao_handshake_failure)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_key_not_found)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_mismatch)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_rcv_sne_update)(void *, const struct sock *, __u32);\n\ntypedef void (*btf_trace_tcp_ao_rnext_request)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_snd_sne_update)(void *, const struct sock *, __u32);\n\ntypedef void (*btf_trace_tcp_ao_synack_no_key)(void *, const struct sock *, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_wrong_maclen)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_bad_csum)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_cong_state_set)(void *, struct sock *, const u8);\n\ntypedef void (*btf_trace_tcp_destroy_sock)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_hash_ao_required)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_bad_header)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_mismatch)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_required)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_unexpected)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_probe)(void *, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_rcv_space_adjust)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_receive_reset)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_retransmit_skb)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_retransmit_synack)(void *, const struct sock *, const struct request_sock *);\n\ntypedef void (*btf_trace_tcp_send_reset)(void *, const struct sock *, const struct sk_buff *, const enum sk_rst_reason);\n\ntypedef void (*btf_trace_test_pages_isolated)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_thermal_temperature)(void *, struct thermal_zone_device *);\n\ntypedef void (*btf_trace_thermal_zone_trip)(void *, struct thermal_zone_device *, int, enum thermal_trip_type);\n\ntypedef void (*btf_trace_tick_stop)(void *, int, int);\n\ntypedef void (*btf_trace_time_out_leases)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_timer_base_idle)(void *, bool, unsigned int);\n\ntypedef void (*btf_trace_timer_cancel)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_expire_entry)(void *, struct timer_list *, long unsigned int);\n\ntypedef void (*btf_trace_timer_expire_exit)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_init)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_start)(void *, struct timer_list *, long unsigned int);\n\ntypedef void (*btf_trace_tlb_flush)(void *, int, long unsigned int);\n\ntypedef void (*btf_trace_tls_alert_recv)(void *, const struct sock *, unsigned char, unsigned char);\n\ntypedef void (*btf_trace_tls_alert_send)(void *, const struct sock *, unsigned char, unsigned char);\n\ntypedef void (*btf_trace_tls_contenttype)(void *, const struct sock *, unsigned char);\n\ntypedef void (*btf_trace_tmigr_connect_child_parent)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_connect_cpu_parent)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_active)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_idle)(void *, struct tmigr_cpu *, u64);\n\ntypedef void (*btf_trace_tmigr_cpu_new_timer)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_new_timer_idle)(void *, struct tmigr_cpu *, u64);\n\ntypedef void (*btf_trace_tmigr_cpu_offline)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_online)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_group_set)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_group_set_cpu_active)(void *, struct tmigr_group *, union tmigr_state, u32);\n\ntypedef void (*btf_trace_tmigr_group_set_cpu_inactive)(void *, struct tmigr_group *, union tmigr_state, u32);\n\ntypedef void (*btf_trace_tmigr_handle_remote)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_handle_remote_cpu)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_update_events)(void *, struct tmigr_group *, struct tmigr_group *, union tmigr_state, union tmigr_state, u64);\n\ntypedef void (*btf_trace_track_foreign_dirty)(void *, struct folio *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_udp_fail_queue_rcv_skb)(void *, int, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_unmap)(void *, long unsigned int, size_t, size_t);\n\ntypedef void (*btf_trace_update_bytes_may_use)(void *, const struct btrfs_fs_info *, const struct btrfs_space_info *, u64, s64);\n\ntypedef void (*btf_trace_update_bytes_pinned)(void *, const struct btrfs_fs_info *, const struct btrfs_space_info *, u64, s64);\n\ntypedef void (*btf_trace_update_bytes_zone_unusable)(void *, const struct btrfs_fs_info *, const struct btrfs_space_info *, u64, s64);\n\ntypedef void (*btf_trace_usb_ep_alloc_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_clear_halt)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_dequeue)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_disable)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_enable)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_fifo_flush)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_fifo_status)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_free_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_queue)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_set_halt)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_set_maxpacket_limit)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_set_wedge)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_gadget_activate)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_clear_selfpowered)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_connect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_deactivate)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_disconnect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_frame_number)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_giveback_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_gadget_set_remote_wakeup)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_set_selfpowered)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_connect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_disconnect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_draw)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_wakeup)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_vm_unmapped_area)(void *, long unsigned int, struct vm_unmapped_area_info *);\n\ntypedef void (*btf_trace_vma_mas_szero)(void *, struct maple_tree *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_vma_store)(void *, struct maple_tree *, struct vm_area_struct *);\n\ntypedef void (*btf_trace_wake_reaper)(void *, int);\n\ntypedef void (*btf_trace_wakeup_source_activate)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_wakeup_source_deactivate)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_wbc_writepage)(void *, struct writeback_control *, struct backing_dev_info *);\n\ntypedef void (*btf_trace_wbt_lat)(void *, struct backing_dev_info *, long unsigned int);\n\ntypedef void (*btf_trace_wbt_stat)(void *, struct backing_dev_info *, struct blk_rq_stat *);\n\ntypedef void (*btf_trace_wbt_step)(void *, struct backing_dev_info *, const char *, int, long unsigned int, unsigned int, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_wbt_timer)(void *, struct backing_dev_info *, unsigned int, int, unsigned int);\n\ntypedef void (*btf_trace_workqueue_activate_work)(void *, struct work_struct *);\n\ntypedef void (*btf_trace_workqueue_execute_end)(void *, struct work_struct *, work_func_t);\n\ntypedef void (*btf_trace_workqueue_execute_start)(void *, struct work_struct *);\n\ntypedef void (*btf_trace_workqueue_queue_work)(void *, int, struct pool_workqueue *, struct work_struct *);\n\ntypedef void (*btf_trace_writeback_bdi_register)(void *, struct backing_dev_info *);\n\ntypedef void (*btf_trace_writeback_dirty_folio)(void *, struct folio *, struct address_space *);\n\ntypedef void (*btf_trace_writeback_dirty_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_dirty_inode_enqueue)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_dirty_inode_start)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_exec)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_lazytime)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_lazytime_iput)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_mark_inode_dirty)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_pages_written)(void *, long int);\n\ntypedef void (*btf_trace_writeback_queue)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_queue_io)(void *, struct bdi_writeback *, struct wb_writeback_work *, long unsigned int, int);\n\ntypedef void (*btf_trace_writeback_sb_inodes_requeue)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_single_inode)(void *, struct inode *, struct writeback_control *, long unsigned int);\n\ntypedef void (*btf_trace_writeback_single_inode_start)(void *, struct inode *, struct writeback_control *, long unsigned int);\n\ntypedef void (*btf_trace_writeback_start)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_wait)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_wake_background)(void *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_writeback_write_inode)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_writeback_write_inode_start)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_writeback_written)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_xdp_bulk_tx)(void *, const struct net_device *, int, int, int);\n\ntypedef void (*btf_trace_xdp_cpumap_enqueue)(void *, int, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_xdp_cpumap_kthread)(void *, int, unsigned int, unsigned int, int, struct xdp_cpumap_stats *);\n\ntypedef void (*btf_trace_xdp_devmap_xmit)(void *, const struct net_device *, const struct net_device *, int, int, int);\n\ntypedef void (*btf_trace_xdp_exception)(void *, const struct net_device *, const struct bpf_prog *, u32);\n\ntypedef void (*btf_trace_xdp_redirect)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_map)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_map_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xfs_ag_resv_alloc_extent)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_critical)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_free)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_free_extent)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_init)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_init_error)(void *, const struct xfs_perag *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ag_resv_needed)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_agf)(void *, struct xfs_mount *, struct xfs_agf *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_agfl_free_deferred)(void *, struct xfs_mount *, struct xfs_extent_free_item *);\n\ntypedef void (*btf_trace_xfs_agfl_reset)(void *, struct xfs_mount *, struct xfs_agf *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ail_delete)(void *, struct xfs_log_item *, xfs_lsn_t, xfs_lsn_t);\n\ntypedef void (*btf_trace_xfs_ail_flushing)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_ail_insert)(void *, struct xfs_log_item *, xfs_lsn_t, xfs_lsn_t);\n\ntypedef void (*btf_trace_xfs_ail_locked)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_ail_move)(void *, struct xfs_log_item *, xfs_lsn_t, xfs_lsn_t);\n\ntypedef void (*btf_trace_xfs_ail_pinned)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_ail_push)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_alloc_cur)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_cur_check)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, xfs_extlen_t, bool);\n\ntypedef void (*btf_trace_xfs_alloc_cur_left)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_cur_lookup)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_cur_lookup_done)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_cur_right)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_exact_done)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_exact_error)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_exact_notfound)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_alloc_near_busy)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_near_error)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_near_first)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_near_noentry)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_near_nominleft)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_read_agf)(void *, const struct xfs_perag *);\n\ntypedef void (*btf_trace_xfs_alloc_size_busy)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_done)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_error)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_neither)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_noentry)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_nominleft)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_small_done)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_small_error)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_small_freelist)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_small_notenough)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_allfailed)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_badargs)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_exact_bno)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_finish)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_first_ag)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_loopfailed)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_near_bno)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_noagbp)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_nofix)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_skip_deadlock)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_start_ag)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_this_ag)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_attr_defer_add)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_fillstate)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_add)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_add_new)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_add_old)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_add_work)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_addname_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_clearflag)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_compact)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_create)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_flipflags)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_get)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_list)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_rebalance)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_remove)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_setflag)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_split)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_split_after)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_split_before)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_to_node)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_to_sf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_toosmall)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_unbalance)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_list_add)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_full)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_leaf)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_leaf_end)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_node_descend)(void *, struct xfs_attr_list_context *, struct xfs_da_node_entry *);\n\ntypedef void (*btf_trace_xfs_attr_list_notfound)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_sf)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_sf_all)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_wrong_blk)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_node_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_node_addname_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_node_get)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_node_list)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_node_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_node_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_refillstate)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_remove_iter_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_rmtval_alloc)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_rmtval_get)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_rmtval_remove_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_rmtval_set)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_set_iter_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_sf_add)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_addname_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_sf_create)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_remove)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_to_leaf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_blockgc_flush_all)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_blockgc_free_space)(void *, struct xfs_mount *, struct xfs_icwalk *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_blockgc_start)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_blockgc_stop)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_blockgc_worker)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_bmap_defer)(void *, struct xfs_bmap_intent *);\n\ntypedef void (*btf_trace_xfs_bmap_deferred)(void *, struct xfs_bmap_intent *);\n\ntypedef void (*btf_trace_xfs_bmap_post_update)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_bmap_pre_update)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_btree_alloc_block)(void *, struct xfs_btree_cur *, union xfs_btree_ptr *, int, int);\n\ntypedef void (*btf_trace_xfs_btree_bload_block)(void *, struct xfs_btree_cur *, unsigned int, uint64_t, uint64_t, union xfs_btree_ptr *, unsigned int);\n\ntypedef void (*btf_trace_xfs_btree_bload_level_geometry)(void *, struct xfs_btree_cur *, unsigned int, uint64_t, unsigned int, unsigned int, uint64_t, uint64_t);\n\ntypedef void (*btf_trace_xfs_btree_commit_afakeroot)(void *, struct xfs_btree_cur *);\n\ntypedef void (*btf_trace_xfs_btree_commit_ifakeroot)(void *, struct xfs_btree_cur *);\n\ntypedef void (*btf_trace_xfs_btree_corrupt)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_btree_free_block)(void *, struct xfs_btree_cur *, struct xfs_buf *);\n\ntypedef void (*btf_trace_xfs_btree_overlapped_query_range)(void *, struct xfs_btree_cur *, int, struct xfs_buf *);\n\ntypedef void (*btf_trace_xfs_btree_updkeys)(void *, struct xfs_btree_cur *, int, struct xfs_buf *);\n\ntypedef void (*btf_trace_xfs_buf_delwri_pushbuf)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_delwri_queue)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_delwri_queued)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_delwri_split)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_drain_buftarg)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_error_relse)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_find)(void *, struct xfs_buf *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_free)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_get)(void *, struct xfs_buf *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_get_uncached)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_hold)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_init)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_iodone)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_iodone_async)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_ioerror)(void *, struct xfs_buf *, int, xfs_failaddr_t);\n\ntypedef void (*btf_trace_xfs_buf_iowait)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_iowait_done)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_item_committed)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_format)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_format_stale)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_ordered)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_pin)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_push)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_release)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_relse)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_item_size)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_size_ordered)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_size_stale)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_unpin)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_unpin_stale)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_lock)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_lock_done)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_read)(void *, struct xfs_buf *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_readahead)(void *, struct xfs_buf *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_rele)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_submit)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_trylock)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_trylock_fail)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_unlock)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_bunmap)(void *, struct xfs_inode *, xfs_fileoff_t, xfs_filblks_t, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_check_new_dalign)(void *, struct xfs_mount *, int, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_cil_whiteout_mark)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_cil_whiteout_skip)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_cil_whiteout_unpin)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_collapse_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_create)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_da_fixhashpath)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_grow_inode)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_join)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_link_after)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_link_before)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_add)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_create)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_rebalance)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_remove)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_split)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_toosmall)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_unbalance)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_path_shift)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_root_join)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_root_split)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_shrink_inode)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_split)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_swap_lastblock)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_unlink_back)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_unlink_forward)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_defer_add_item)(void *, struct xfs_mount *, struct xfs_defer_pending *, void *);\n\ntypedef void (*btf_trace_xfs_defer_cancel)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_cancel_item)(void *, struct xfs_mount *, struct xfs_defer_pending *, void *);\n\ntypedef void (*btf_trace_xfs_defer_cancel_list)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_create_intent)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_finish)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_finish_done)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_finish_error)(void *, struct xfs_trans *, int);\n\ntypedef void (*btf_trace_xfs_defer_finish_item)(void *, struct xfs_mount *, struct xfs_defer_pending *, void *);\n\ntypedef void (*btf_trace_xfs_defer_isolate_paused)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_item_pause)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_item_unpause)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_pending_abort)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_pending_finish)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_relog_intent)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_trans_abort)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_trans_roll)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_trans_roll_error)(void *, struct xfs_trans *, int);\n\ntypedef void (*btf_trace_xfs_delalloc_enospc)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_destroy_inode)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_dir2_block_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_to_leaf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_to_sf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_grow_inode)(void *, struct xfs_da_args *, int);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_to_block)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_to_node)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leafn_add)(void *, struct xfs_da_args *, int);\n\ntypedef void (*btf_trace_xfs_dir2_leafn_moveents)(void *, struct xfs_da_args *, int, int, int);\n\ntypedef void (*btf_trace_xfs_dir2_leafn_remove)(void *, struct xfs_da_args *, int);\n\ntypedef void (*btf_trace_xfs_dir2_node_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_node_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_node_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_node_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_node_to_leaf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_create)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_to_block)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_toino4)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_toino8)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_shrink_inode)(void *, struct xfs_da_args *, int);\n\ntypedef void (*btf_trace_xfs_dir_fsync)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_discard_busy)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_discard_exclude)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_discard_extent)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_discard_rtextent)(void *, struct xfs_mount *, xfs_rtblock_t, xfs_rtblock_t);\n\ntypedef void (*btf_trace_xfs_discard_rtrelax)(void *, struct xfs_mount *, xfs_rtblock_t, xfs_rtblock_t);\n\ntypedef void (*btf_trace_xfs_discard_rttoosmall)(void *, struct xfs_mount *, xfs_rtblock_t, xfs_rtblock_t);\n\ntypedef void (*btf_trace_xfs_discard_toosmall)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_dqadjust)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqalloc)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqattach_found)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqattach_get)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqflush)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqflush_done)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqflush_force)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqget_dup)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqget_freeing)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqget_hit)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqget_miss)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqput)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqput_free)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqread)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqread_fail)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqreclaim_busy)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqreclaim_dirty)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqreclaim_done)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqreclaim_want)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqrele)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqtobp_read)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dquot_dqalloc)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_dquot_dqdetach)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_end_io_direct_write)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_end_io_direct_write_append)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_end_io_direct_write_unwritten)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_exchmaps_defer)(void *, struct xfs_mount *, const struct xfs_exchmaps_intent *);\n\ntypedef void (*btf_trace_xfs_exchmaps_delta_nextents)(void *, const struct xfs_exchmaps_req *, int64_t, int64_t);\n\ntypedef void (*btf_trace_xfs_exchmaps_delta_nextents_step)(void *, struct xfs_mount *, const struct xfs_bmbt_irec *, const struct xfs_bmbt_irec *, const struct xfs_bmbt_irec *, const struct xfs_bmbt_irec *, int, unsigned int);\n\ntypedef void (*btf_trace_xfs_exchmaps_final_estimate)(void *, const struct xfs_exchmaps_req *);\n\ntypedef void (*btf_trace_xfs_exchmaps_initial_estimate)(void *, const struct xfs_exchmaps_req *);\n\ntypedef void (*btf_trace_xfs_exchmaps_mapping1)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_exchmaps_mapping1_skip)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_exchmaps_mapping2)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_exchmaps_overhead)(void *, struct xfs_mount *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_xfs_exchmaps_recover)(void *, struct xfs_mount *, const struct xfs_exchmaps_intent *);\n\ntypedef void (*btf_trace_xfs_exchmaps_update_inode_size)(void *, struct xfs_inode *, xfs_fsize_t);\n\ntypedef void (*btf_trace_xfs_exchrange_after)(void *, struct xfs_inode *, int);\n\ntypedef void (*btf_trace_xfs_exchrange_before)(void *, struct xfs_inode *, int);\n\ntypedef void (*btf_trace_xfs_exchrange_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_exchrange_flush)(void *, const struct xfs_exchrange *, struct xfs_inode *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_exchrange_freshness)(void *, const struct xfs_exchrange *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_exchrange_mappings)(void *, const struct xfs_exchrange *, struct xfs_inode *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_exchrange_prep)(void *, const struct xfs_exchrange *, struct xfs_inode *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_extent_busy)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_busy_clear)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_busy_force)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_busy_reuse)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_busy_trim)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_free_defer)(void *, struct xfs_mount *, struct xfs_extent_free_item *);\n\ntypedef void (*btf_trace_xfs_extent_free_deferred)(void *, struct xfs_mount *, struct xfs_extent_free_item *);\n\ntypedef void (*btf_trace_xfs_file_buffered_read)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_buffered_write)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_compat_ioctl)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_file_dax_read)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_dax_write)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_direct_read)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_direct_write)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_fsync)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_file_ioctl)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_file_splice_read)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_filestream_free)(void *, const struct xfs_perag *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_filestream_lookup)(void *, const struct xfs_perag *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_filestream_pick)(void *, const struct xfs_perag *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_filestream_scan)(void *, const struct xfs_perag *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_force_shutdown)(void *, struct xfs_mount *, int, int, const char *, int);\n\ntypedef void (*btf_trace_xfs_free_extent)(void *, const struct xfs_perag *, xfs_agblock_t, xfs_extlen_t, enum xfs_ag_resv_type, int, int);\n\ntypedef void (*btf_trace_xfs_free_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_fs_mark_corrupt)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_fs_mark_healthy)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_fs_mark_sick)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_fs_sync_fs)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_fs_unfixed_corruption)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_fsmap_high_group_key)(void *, struct xfs_mount *, u32, xfs_agnumber_t, const struct xfs_rmap_irec *);\n\ntypedef void (*btf_trace_xfs_fsmap_high_linear_key)(void *, struct xfs_mount *, u32, uint64_t);\n\ntypedef void (*btf_trace_xfs_fsmap_low_group_key)(void *, struct xfs_mount *, u32, xfs_agnumber_t, const struct xfs_rmap_irec *);\n\ntypedef void (*btf_trace_xfs_fsmap_low_linear_key)(void *, struct xfs_mount *, u32, uint64_t);\n\ntypedef void (*btf_trace_xfs_fsmap_mapping)(void *, struct xfs_mount *, u32, xfs_agnumber_t, const struct xfs_fsmap_irec *);\n\ntypedef void (*btf_trace_xfs_get_acl)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_getattr)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_getfsmap_high_key)(void *, struct xfs_mount *, struct xfs_fsmap *);\n\ntypedef void (*btf_trace_xfs_getfsmap_low_key)(void *, struct xfs_mount *, struct xfs_fsmap *);\n\ntypedef void (*btf_trace_xfs_getfsmap_mapping)(void *, struct xfs_mount *, struct xfs_fsmap *);\n\ntypedef void (*btf_trace_xfs_getparents_begin)(void *, struct xfs_inode *, const struct xfs_getparents *, const struct xfs_attrlist_cursor_kern *);\n\ntypedef void (*btf_trace_xfs_getparents_end)(void *, struct xfs_inode *, const struct xfs_getparents *, const struct xfs_attrlist_cursor_kern *);\n\ntypedef void (*btf_trace_xfs_getparents_expand_lastrec)(void *, struct xfs_inode *, const struct xfs_getparents *, const struct xfs_attr_list_context *, const struct xfs_getparents_rec *);\n\ntypedef void (*btf_trace_xfs_getparents_put_listent)(void *, struct xfs_inode *, const struct xfs_getparents *, const struct xfs_attr_list_context *, const struct xfs_getparents_rec *);\n\ntypedef void (*btf_trace_xfs_group_get)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_grab)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_grab_next_tag)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_hold)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_mark_corrupt)(void *, const struct xfs_group *, unsigned int);\n\ntypedef void (*btf_trace_xfs_group_mark_healthy)(void *, const struct xfs_group *, unsigned int);\n\ntypedef void (*btf_trace_xfs_group_mark_sick)(void *, const struct xfs_group *, unsigned int);\n\ntypedef void (*btf_trace_xfs_group_put)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_rele)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_unfixed_corruption)(void *, const struct xfs_group *, unsigned int);\n\ntypedef void (*btf_trace_xfs_ialloc_read_agi)(void *, const struct xfs_perag *);\n\ntypedef void (*btf_trace_xfs_iext_insert)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_iext_remove)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_iget_hit)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iget_miss)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iget_recycle)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iget_recycle_fail)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iget_skip)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_ilock)(void *, struct xfs_inode *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ilock_demote)(void *, struct xfs_inode *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ilock_nowait)(void *, struct xfs_inode *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_inactive_symlink)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_clear_cowblocks_tag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_clear_eofblocks_tag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_free_cowblocks_invalid)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_free_eofblocks_invalid)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_inactivating)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_mark_corrupt)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_mark_healthy)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_mark_sick)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_pin)(void *, struct xfs_inode *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_reclaiming)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_reload_unlinked_bucket)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_set_cowblocks_tag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_set_eofblocks_tag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_set_need_inactive)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_set_reclaimable)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_timestamp_range)(void *, struct xfs_mount *, long long int, long long int);\n\ntypedef void (*btf_trace_xfs_inode_unfixed_corruption)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_unpin)(void *, struct xfs_inode *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_unpin_nowait)(void *, struct xfs_inode *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_inodegc_flush)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_push)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_queue)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_shrinker_scan)(void *, struct xfs_mount *, struct shrink_control *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_start)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_stop)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_throttle)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_worker)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_insert_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_ioc_free_eofblocks)(void *, struct xfs_mount *, struct xfs_icwalk *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ioctl_clone)(void *, struct inode *, struct inode *);\n\ntypedef void (*btf_trace_xfs_ioctl_setattr)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iomap_alloc)(void *, struct xfs_inode *, xfs_off_t, ssize_t, int, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_iomap_found)(void *, struct xfs_inode *, xfs_off_t, ssize_t, int, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_iomap_invalid)(void *, struct xfs_inode *, const struct iomap *);\n\ntypedef void (*btf_trace_xfs_iomap_prealloc_size)(void *, struct xfs_inode *, xfs_fsblock_t, int, unsigned int);\n\ntypedef void (*btf_trace_xfs_irec_merge_post)(void *, const struct xfs_perag *, const struct xfs_inobt_rec_incore *);\n\ntypedef void (*btf_trace_xfs_irec_merge_pre)(void *, const struct xfs_perag *, const struct xfs_inobt_rec_incore *, const struct xfs_inobt_rec_incore *);\n\ntypedef void (*btf_trace_xfs_irele)(void *, struct xfs_inode *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_itruncate_extents_end)(void *, struct xfs_inode *, xfs_fsize_t);\n\ntypedef void (*btf_trace_xfs_itruncate_extents_start)(void *, struct xfs_inode *, xfs_fsize_t);\n\ntypedef void (*btf_trace_xfs_iunlink)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iunlink_reload_next)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iunlink_remove)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iunlink_update_bucket)(void *, const struct xfs_perag *, unsigned int, xfs_agino_t, xfs_agino_t);\n\ntypedef void (*btf_trace_xfs_iunlink_update_dinode)(void *, const struct xfs_iunlink_item *, xfs_agino_t);\n\ntypedef void (*btf_trace_xfs_iunlock)(void *, struct xfs_inode *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_iwalk_ag_rec)(void *, const struct xfs_perag *, struct xfs_inobt_rec_incore *);\n\ntypedef void (*btf_trace_xfs_link)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_log_assign_tail_lsn)(void *, struct xlog *, xfs_lsn_t);\n\ntypedef void (*btf_trace_xfs_log_cil_return)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_cil_wait)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_force)(void *, struct xfs_mount *, xfs_lsn_t, long unsigned int);\n\ntypedef void (*btf_trace_xfs_log_get_max_trans_res)(void *, struct xfs_mount *, const struct xfs_trans_res *);\n\ntypedef void (*btf_trace_xfs_log_grant_sleep)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_grant_wake)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_grant_wake_up)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_recover)(void *, struct xlog *, xfs_daddr_t, xfs_daddr_t);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_cancel)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_cancel_add)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_cancel_ref_inc)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_dquot_buf)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_inode_buf)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_not_cancel)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_recover)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_reg_buf)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_skip)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_icreate_cancel)(void *, struct xlog *, struct xfs_icreate_log *);\n\ntypedef void (*btf_trace_xfs_log_recover_icreate_recover)(void *, struct xlog *, struct xfs_icreate_log *);\n\ntypedef void (*btf_trace_xfs_log_recover_inode_cancel)(void *, struct xlog *, struct xfs_inode_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_inode_recover)(void *, struct xlog *, struct xfs_inode_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_inode_skip)(void *, struct xlog *, struct xfs_inode_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_item_add)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_item_add_cont)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_item_recover)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_item_reorder_head)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_item_reorder_tail)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_record)(void *, struct xlog *, struct xlog_rec_header *, int);\n\ntypedef void (*btf_trace_xfs_log_regrant)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_regrant_exit)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_reserve)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_reserve_exit)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_regrant)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_regrant_exit)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_regrant_sub)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_ungrant)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_ungrant_exit)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_ungrant_sub)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_umount_write)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_lookup)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_map_blocks_alloc)(void *, struct xfs_inode *, xfs_off_t, ssize_t, int, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_map_blocks_found)(void *, struct xfs_inode *, xfs_off_t, ssize_t, int, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_metadir_cancel)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_commit)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_create)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_link)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_lookup)(void *, struct xfs_inode *, struct xfs_name *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_metadir_start_create)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_start_link)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_teardown)(void *, const struct xfs_metadir_update *, int);\n\ntypedef void (*btf_trace_xfs_metadir_try_create)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metafile_resv_alloc_space)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_critical)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_free)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_free_space)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_init)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_init_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_pagecache_inval)(void *, struct xfs_inode *, xfs_off_t, xfs_off_t);\n\ntypedef void (*btf_trace_xfs_perag_clear_inode_tag)(void *, const struct xfs_perag *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_perag_set_inode_tag)(void *, const struct xfs_perag *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_pwork_init)(void *, struct xfs_mount *, unsigned int, pid_t);\n\ntypedef void (*btf_trace_xfs_quota_expiry_range)(void *, struct xfs_mount *, long long int, long long int);\n\ntypedef void (*btf_trace_xfs_read_agf)(void *, const struct xfs_perag *);\n\ntypedef void (*btf_trace_xfs_read_agi)(void *, const struct xfs_perag *);\n\ntypedef void (*btf_trace_xfs_read_extent)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_read_fault)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_readdir)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_readlink)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_reclaim_inodes_count)(void *, const struct xfs_perag *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_adjust_cow_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_adjust_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_cow_decrease)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_cow_increase)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_decrease)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_defer)(void *, struct xfs_mount *, struct xfs_refcount_intent *);\n\ntypedef void (*btf_trace_xfs_refcount_deferred)(void *, struct xfs_mount *, struct xfs_refcount_intent *);\n\ntypedef void (*btf_trace_xfs_refcount_delete)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_delete_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_find_left_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *, xfs_agblock_t);\n\ntypedef void (*btf_trace_xfs_refcount_find_left_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_find_right_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *, xfs_agblock_t);\n\ntypedef void (*btf_trace_xfs_refcount_find_right_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_find_shared)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_find_shared_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_find_shared_result)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_finish_one_leftover)(void *, struct xfs_mount *, struct xfs_refcount_intent *);\n\ntypedef void (*btf_trace_xfs_refcount_get)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_increase)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_insert)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_insert_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_lookup)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_lookup_t);\n\ntypedef void (*btf_trace_xfs_refcount_merge_center_extents)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_merge_center_extents_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_merge_left_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_merge_left_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_merge_right_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_merge_right_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_modify_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_modify_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_split_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, xfs_agblock_t);\n\ntypedef void (*btf_trace_xfs_refcount_split_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_update)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_update_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_bounce_dio_write)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_reflink_cancel_cow)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cancel_cow_range)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_reflink_cancel_cow_range_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_compare_extents)(void *, struct xfs_inode *, xfs_off_t, xfs_off_t, struct xfs_inode *, xfs_off_t);\n\ntypedef void (*btf_trace_xfs_reflink_compare_extents_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_convert_cow)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cow_enospc)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cow_found)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cow_remap_from)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cow_remap_to)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_end_cow)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_reflink_end_cow_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_remap_blocks)(void *, struct xfs_inode *, xfs_fileoff_t, xfs_filblks_t, struct xfs_inode *, xfs_fileoff_t);\n\ntypedef void (*btf_trace_xfs_reflink_remap_blocks_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_remap_extent_dest)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_remap_extent_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_remap_extent_src)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_remap_range)(void *, struct xfs_inode *, xfs_off_t, xfs_off_t, struct xfs_inode *, xfs_off_t);\n\ntypedef void (*btf_trace_xfs_reflink_remap_range_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_set_inode_flag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_reflink_set_inode_flag_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_trim_around_shared)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_unset_inode_flag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_reflink_unshare)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_reflink_unshare_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_update_inode_size)(void *, struct xfs_inode *, xfs_fsize_t);\n\ntypedef void (*btf_trace_xfs_reflink_update_inode_size_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_remove)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_rename)(void *, struct xfs_inode *, struct xfs_inode *, struct xfs_name *, struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_reset_dqcounts)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_convert)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_convert_done)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_convert_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_convert_state)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_defer)(void *, struct xfs_mount *, struct xfs_rmap_intent *);\n\ntypedef void (*btf_trace_xfs_rmap_deferred)(void *, struct xfs_mount *, struct xfs_rmap_intent *);\n\ntypedef void (*btf_trace_xfs_rmap_delete)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_delete_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_find_left_neighbor_candidate)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_find_left_neighbor_query)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_find_left_neighbor_result)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_find_right_neighbor_result)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_insert)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_insert_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_lookup_le_range)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_lookup_le_range_candidate)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_lookup_le_range_result)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_map)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_map_done)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_map_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_unmap)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_unmap_done)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_unmap_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_update)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_update_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_setattr)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_setfilesize)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_swap_extent_after)(void *, struct xfs_inode *, int);\n\ntypedef void (*btf_trace_xfs_swap_extent_before)(void *, struct xfs_inode *, int);\n\ntypedef void (*btf_trace_xfs_swap_extent_rmap_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_swap_extent_rmap_remap)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_swap_extent_rmap_remap_piece)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_symlink)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_trans_add_item)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_alloc)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_apply_dquot_deltas)(void *, struct xfs_dqtrx *);\n\ntypedef void (*btf_trace_xfs_trans_apply_dquot_deltas_after)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_trans_apply_dquot_deltas_before)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_trans_bdetach)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_bhold)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_bhold_release)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_binval)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_bjoin)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_brelse)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_cancel)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_commit)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_commit_items)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_dup)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_free)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_free_items)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_get_buf)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_get_buf_recur)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_getsb)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_getsb_recur)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_log_buf)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_mod_dquot)(void *, struct xfs_trans *, struct xfs_dquot *, unsigned int, int64_t);\n\ntypedef void (*btf_trace_xfs_trans_mod_dquot_after)(void *, struct xfs_dqtrx *);\n\ntypedef void (*btf_trace_xfs_trans_mod_dquot_before)(void *, struct xfs_dqtrx *);\n\ntypedef void (*btf_trace_xfs_trans_read_buf)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_read_buf_recur)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_read_buf_shut)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_resv_calc)(void *, struct xfs_mount *, unsigned int, struct xfs_trans_res *);\n\ntypedef void (*btf_trace_xfs_trans_resv_calc_minlogsize)(void *, struct xfs_mount *, unsigned int, struct xfs_trans_res *);\n\ntypedef void (*btf_trace_xfs_trans_roll)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_unwritten_convert)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_update_time)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_vm_bmap)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_wb_cow_iomap_invalid)(void *, struct xfs_inode *, const struct iomap *, unsigned int, int);\n\ntypedef void (*btf_trace_xfs_wb_data_iomap_invalid)(void *, struct xfs_inode *, const struct iomap *, unsigned int, int);\n\ntypedef void (*btf_trace_xfs_write_extent)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_write_fault)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_zero_eof)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_zero_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xhci_add_endpoint)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_address_ctrl_ctx)(void *, struct xhci_input_control_ctx *);\n\ntypedef void (*btf_trace_xhci_address_ctx)(void *, struct xhci_hcd *, struct xhci_container_ctx *, unsigned int);\n\ntypedef void (*btf_trace_xhci_alloc_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_alloc_stream_info_ctx)(void *, struct xhci_stream_info *, unsigned int);\n\ntypedef void (*btf_trace_xhci_alloc_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_configure_endpoint)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_configure_endpoint_ctrl_ctx)(void *, struct xhci_input_control_ctx *);\n\ntypedef void (*btf_trace_xhci_dbc_alloc_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_free_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_gadget_ep_queue)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_giveback_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_queue_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbg_address)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_cancel_urb)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_context_change)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_init)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_quirks)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_reset_ep)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_ring_expansion)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_discover_or_reset_device)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_free_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_free_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_get_port_status)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_handle_cmd_addr_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_config_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_disable_slot)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_reset_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_reset_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq_stream)(void *, struct xhci_stream_info *, unsigned int);\n\ntypedef void (*btf_trace_xhci_handle_cmd_stop_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_command)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_handle_port_status)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_hub_status_data)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_inc_deq)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_inc_enq)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_queue_trb)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_ring_alloc)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_ep_doorbell)(void *, u32, u32);\n\ntypedef void (*btf_trace_xhci_ring_expansion)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_free)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_host_doorbell)(void *, u32, u32);\n\ntypedef void (*btf_trace_xhci_setup_addressable_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_setup_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_setup_device_slot)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_stop_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_urb_dequeue)(void *, struct urb *);\n\ntypedef void (*btf_trace_xhci_urb_enqueue)(void *, struct urb *);\n\ntypedef void (*btf_trace_xhci_urb_giveback)(void *, struct urb *);\n\ntypedef void (*btf_trace_xlog_iclog_activate)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_callback)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_callbacks_done)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_callbacks_start)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_clean)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_force)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_force_lsn)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_get_space)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_release)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_switch)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_sync)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_sync_done)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_syncing)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_wait_on)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_want_sync)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_write)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_intent_recovery_failed)(void *, struct xfs_mount *, const struct xfs_defer_op_type *, int);\n\ntypedef void (*btf_trace_xprt_connect)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_create)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_destroy)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_auto)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_done)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_force)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_get_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_lookup_rqst)(void *, const struct rpc_xprt *, __be32, int);\n\ntypedef void (*btf_trace_xprt_ping)(void *, const struct rpc_xprt *, int);\n\ntypedef void (*btf_trace_xprt_put_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_release_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_release_xprt)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_reserve)(void *, const struct rpc_rqst *);\n\ntypedef void (*btf_trace_xprt_reserve_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_reserve_xprt)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_retransmit)(void *, const struct rpc_rqst *);\n\ntypedef void (*btf_trace_xprt_timer)(void *, const struct rpc_xprt *, __be32, int);\n\ntypedef void (*btf_trace_xprt_transmit)(void *, const struct rpc_rqst *, int);\n\ntypedef void (*btf_trace_xs_data_ready)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xs_stream_read_data)(void *, struct rpc_xprt *, ssize_t, size_t);\n\ntypedef void (*btf_trace_xs_stream_read_request)(void *, struct sock_xprt *);\n\ntypedef void cleanup_cb_t(struct rq_wait *, void *);\n\ntypedef int (*cmp_r_func_t)(const void *, const void *, const void *);\n\ntypedef void (*companion_fn)(struct pci_dev *, struct usb_hcd *, struct pci_dev *, struct usb_hcd *);\n\ntypedef bool (*cond_update_fn_t)(struct trace_array *, void *);\n\ntypedef long unsigned int (*count_objects_cb)(struct shrinker *, struct shrink_control *);\n\ntypedef void detailed_cb(const struct detailed_timing *, void *);\n\ntypedef void * (*devcon_match_fn_t)(const struct fwnode_handle *, const char *, void *);\n\ntypedef int (*device_iter_t)(struct device *, void *);\n\ntypedef int (*device_match_t)(struct device *, const void *);\n\ntypedef void (*do_kexec_t)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef int (*dr_match_t)(struct device *, void *, void *);\n\ntypedef bool (*drm_vblank_get_scanout_position_func)(struct drm_crtc *, bool, int *, int *, ktime_t *, ktime_t *, const struct drm_display_mode *);\n\ntypedef int (*dummy_ops_test_ret_fn)(struct bpf_dummy_ops_state *, ...);\n\ntypedef int (*dynevent_check_arg_fn_t)(void *);\n\ntypedef efi_status_t (*efi_exit_boot_map_processing)(struct efi_boot_memmap *, void *);\n\ntypedef int (*efi_memattr_perm_setter)(struct mm_struct *, efi_memory_desc_t *, bool);\n\ntypedef void (*ethnl_notify_handler_t)(struct net_device *, unsigned int, const void *);\n\ntypedef void (*exitcall_t)(void);\n\ntypedef int (*ext4_mballoc_query_range_fn)(struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t, void *);\n\ntypedef void ext4_update_sb_callback(struct ext4_super_block *, const void *);\n\ntypedef int filler_t(struct file *, struct folio *);\n\ntypedef bool (*filter_func_t)(struct uprobe_consumer *, struct mm_struct *);\n\ntypedef void fn_handler_fn(struct vc_data *);\n\ntypedef void free_folio_t(struct folio *, long unsigned int);\n\ntypedef struct sk_buff * (*gro_receive_sk_t)(struct sock *, struct list_head *, struct sk_buff *);\n\ntypedef struct sk_buff * (*gro_receive_t)(struct list_head *, struct sk_buff *);\n\ntypedef int (*hda_codec_patch_t)(struct hda_codec *);\n\ntypedef bool (*hid_usage_cmp_t)(struct hid_usage *, unsigned int, unsigned int);\n\ntypedef bool (*i8042_filter_t)(unsigned char, unsigned char, struct serio *, void *);\n\ntypedef u32 inet6_ehashfn_t(const struct net *, const struct in6_addr *, const u16, const struct in6_addr *, const __be16);\n\ntypedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const __be32, const __be16);\n\ntypedef initcall_t initcall_entry_t;\n\ntypedef int (*initxattrs)(struct inode *, const struct xattr *, void *);\n\ntypedef struct dentry *instantiate_t(struct dentry *, struct task_struct *, const void *);\n\ntypedef int (*ioctl_fn)(struct file *, struct autofs_sb_info *, struct autofs_dev_ioctl *);\n\ntypedef int (*ioctl_fn___2)(struct file *, struct dm_ioctl *, size_t);\n\ntypedef void (*iomap_punch_t)(struct inode *, loff_t, loff_t, struct iomap *);\n\ntypedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *);\n\ntypedef size_t (*iov_ustep_f)(void *, size_t, size_t, void *, void *);\n\ntypedef void ip6_icmp_send_t(struct sk_buff *, u8, u8, __u32, const struct in6_addr *, const struct inet6_skb_parm *);\n\ntypedef void (*irq_write_msi_msg_t)(struct msi_desc *, struct msi_msg *);\n\ntypedef int (*is_acked_func)(struct rds_message *, uint64_t);\n\ntypedef int (*iterate_dir_item_t)(int, struct btrfs_key *, const char *, int, const char *, int, void *);\n\ntypedef int (*iterate_inode_ref_t)(u64, struct fs_path *, void *);\n\ntypedef void k_handler_fn(struct vc_data *, unsigned char, char);\n\ntypedef void (*kernel_entry_t)(bool, long unsigned int, long unsigned int);\n\ntypedef int (*list_cmp_func_t)(void *, const struct list_head *, const struct list_head *);\n\ntypedef enum lru_status (*list_lru_walk_cb)(struct list_head *, struct list_lru_one *, void *);\n\ntypedef void (*lsdc_copy_proc_t)(struct lsdc_bo *, struct lsdc_bo *, unsigned int, int);\n\ntypedef int (*map_follower_func_t)(struct hda_codec *, void *, struct snd_kcontrol *);\n\ntypedef void (*move_fn_t)(struct lruvec *, struct folio *);\n\ntypedef int (*netlink_filter_fn)(struct sock *, struct sk_buff *, void *);\n\ntypedef struct folio *new_folio_t(struct folio *, long unsigned int);\n\ntypedef __be32 (*nfsd4_dec)(struct nfsd4_compoundargs *, union nfsd4_op_u *);\n\ntypedef __be32 (*nfsd4_enc)(struct nfsd4_compoundres *, __be32, union nfsd4_op_u *);\n\ntypedef __be32 (*nfsd4_enc_attr)(struct xdr_stream *, const struct nfsd4_fattr_args *);\n\ntypedef int (*nfsd_filldir_t)(void *, const char *, int, loff_t, u64, unsigned int);\n\ntypedef int (*nlm_host_match_fn_t)(void *, struct nlm_host *);\n\ntypedef struct ns_common *ns_get_path_helper_t(void *);\n\ntypedef int (*objpool_init_obj_cb)(void *, void *);\n\ntypedef struct gpio_desc * (*of_find_gpio_quirk)(struct device_node *, const char *, unsigned int, enum of_gpio_flags *);\n\ntypedef void (*of_init_fn_1)(struct device_node *);\n\ntypedef int (*of_init_fn_2)(struct device_node *, struct device_node *);\n\ntypedef void (*online_page_callback_t)(struct page *, unsigned int);\n\ntypedef int (*parse_pred_fn)(const char *, void *, int, struct filter_parse_error *, struct filter_pred **);\n\ntypedef int (*parse_unknown_fn)(char *, char *, const char *, void *);\n\ntypedef int (*pcie_callback_t)(struct pcie_device *);\n\ntypedef int (*pcm_transfer_f)(struct snd_pcm_substream *, int, long unsigned int, struct iov_iter *, long unsigned int);\n\ntypedef int (*pcm_copy_f)(struct snd_pcm_substream *, snd_pcm_uframes_t, void *, snd_pcm_uframes_t, snd_pcm_uframes_t, pcm_transfer_f, bool);\n\ntypedef int pcpu_fc_cpu_distance_fn_t(unsigned int, unsigned int);\n\ntypedef int pcpu_fc_cpu_to_node_fn_t(int);\n\ntypedef void perf_iterate_f(struct perf_event *, void *);\n\ntypedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int);\n\ntypedef int (*pfkey_handler)(struct sock *, struct sk_buff *, const struct sadb_msg *, void * const *);\n\ntypedef int (*pm_callback_t)(struct device *);\n\ntypedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int);\n\ntypedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *);\n\ntypedef int (*proc_visitor)(struct task_struct *, void *);\n\ntypedef int (*pte_fn_t)(pte_t *, long unsigned int, void *);\n\ntypedef int (*put_call_t)(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\ntypedef void (*rds_info_func)(struct socket *, unsigned int, struct rds_info_iterator *, struct rds_info_lengths *);\n\ntypedef int read_block_fn(void *, u8 *, unsigned int, size_t);\n\ntypedef int (*read_block_fn___2)(void *, unsigned int, void *, size_t);\n\ntypedef int recdir_func(struct dentry *, struct dentry *, struct nfsd_net *);\n\ntypedef int (*reloc_rela_handler)(struct module *, u32 *, Elf64_Addr, s64 *, size_t *, unsigned int);\n\ntypedef int (*reservedmem_of_init_fn)(struct reserved_mem *);\n\ntypedef bool (*ring_buffer_cond_fn)(void *);\n\ntypedef void (*rpc_action)(struct rpc_task *);\n\ntypedef void (*rtl_generic_fct)(struct rtl8169_private *);\n\ntypedef void (*rtl_phy_cfg_fct)(struct rtl8169_private *, struct phy_device *);\n\ntypedef bool (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *);\n\ntypedef long unsigned int (*scan_objects_cb)(struct shrinker *, struct shrink_control *);\n\ntypedef int (*sendmsg_func)(struct sock *, struct msghdr *);\n\ntypedef void (*serial8250_isa_config_fn)(int, struct uart_port *, u32 *);\n\ntypedef int (*set_callee_state_fn)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *, int);\n\ntypedef void (*set_params_cb)(struct dwc2_hsotg *);\n\ntypedef struct scatterlist *sg_alloc_fn(unsigned int, gfp_t);\n\ntypedef void sg_free_fn(struct scatterlist *, unsigned int);\n\ntypedef void sha256_block_fn(struct sha256_state *, const u8 *, int);\n\ntypedef void sha512_block_fn(struct sha512_state *, const u8 *, int);\n\ntypedef bool (*smp_cond_func_t)(int, void *);\n\ntypedef int splice_actor(struct pipe_inode_info *, struct pipe_buffer *, struct splice_desc *);\n\ntypedef int splice_direct_actor(struct pipe_inode_info *, struct splice_desc *);\n\ntypedef bool (*stack_trace_consume_fn)(void *, long unsigned int);\n\ntypedef void (*swap_r_func_t)(void *, void *, int, const void *);\n\ntypedef long int (*sys_call_fn)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef int (*task_call_f)(struct task_struct *, void *);\n\ntypedef void (*task_work_func_t)(struct callback_head *);\n\ntypedef int (*tg_visitor)(struct task_group *, void *);\n\ntypedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16);\n\ntypedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, struct tmigr_walk *);\n\ntypedef void (*visitor128_t)(void *, long unsigned int, u64, u64, size_t);\n\ntypedef void (*visitor32_t)(void *, long unsigned int, u32, size_t);\n\ntypedef void (*visitor64_t)(void *, long unsigned int, u64, size_t);\n\ntypedef void (*visitorl_t)(void *, long unsigned int, long unsigned int, size_t);\n\ntypedef int wait_bit_action_f(struct wait_bit_key *, int);\n\ntypedef int (*walk_memory_groups_func_t)(struct memory_group *, void *);\n\ntypedef int (*wext_ioctl_func)(struct net_device *, struct iwreq *, unsigned int, struct iw_request_info *, iw_handler);\n\ntypedef int (*write_block_fn)(void *, unsigned int, const void *, size_t);\n\ntypedef int (*writepage_t)(struct folio *, struct writeback_control *, void *);\n\ntypedef size_t (*xdr_skb_read_actor)(struct xdr_skb_reader *, void *, size_t);\n\ntypedef int (*xfs_agfl_walk_fn)(struct xfs_mount *, xfs_agblock_t, void *);\n\ntypedef int (*xfs_btree_query_range_fn)(struct xfs_btree_cur *, const union xfs_btree_rec *, void *);\n\ntypedef int (*xfs_btree_visit_blocks_fn)(struct xfs_btree_cur *, int, void *);\n\ntypedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *);\n\ntypedef struct rpc_xprt * (*xprt_switch_find_xprt_t)(struct rpc_xprt_switch *, const struct rpc_xprt *);\n\nstruct nf_bridge_frag_data;\n\nstruct bpf_iter;\n\nstruct creds;\n\nstruct landlock_ruleset_attr;\n\nstruct megasas_debug_buffer;\n\nstruct pctldev;\n\n\n/* BPF kfuncs */\n#ifndef BPF_NO_KFUNC_PROTOTYPES\nextern void *bpf_arena_alloc_pages(void *p__map, void *addr__ign, u32 page_cnt, int node_id, u64 flags) __weak __ksym;\nextern void bpf_arena_free_pages(void *p__map, void *ptr__ign, u32 page_cnt) __weak __ksym;\nextern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym;\nextern struct cgroup *bpf_cgroup_acquire(struct cgroup *cgrp) __weak __ksym;\nextern struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __weak __ksym;\nextern struct cgroup *bpf_cgroup_from_id(u64 cgid) __weak __ksym;\nextern void bpf_cgroup_release(struct cgroup *cgrp) __weak __ksym;\nextern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym;\nextern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_any_distribute(const struct cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_clear(struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_copy(struct bpf_cpumask *dst, const struct cpumask *src) __weak __ksym;\nextern struct bpf_cpumask *bpf_cpumask_create(void) __weak __ksym;\nextern bool bpf_cpumask_empty(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_equal(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_first(const struct cpumask *cpumask) __weak __ksym;\nextern u32 bpf_cpumask_first_and(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_full(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_intersects(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern void bpf_cpumask_or(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern void bpf_cpumask_release(struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_setall(struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_subset(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern bool bpf_cpumask_test_and_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym;\nextern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern struct bpf_crypto_ctx *bpf_crypto_ctx_acquire(struct bpf_crypto_ctx *ctx) __weak __ksym;\nextern struct bpf_crypto_ctx *bpf_crypto_ctx_create(const struct bpf_crypto_params *params, u32 params__sz, int *err) __weak __ksym;\nextern void bpf_crypto_ctx_release(struct bpf_crypto_ctx *ctx) __weak __ksym;\nextern int bpf_crypto_decrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym;\nextern int bpf_crypto_encrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym;\nextern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym;\nextern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym;\nextern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym;\nextern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym;\nextern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym;\nextern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym;\nextern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym;\nextern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym;\nextern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym;\nextern int bpf_fentry_test1(int a) __weak __ksym;\nextern int bpf_get_fsverity_digest(struct file *file, struct bpf_dynptr *digest_p) __weak __ksym;\nextern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym;\nextern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym;\nextern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym;\nextern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym;\nextern void bpf_iter_css_destroy(struct bpf_iter_css *it) __weak __ksym;\nextern int bpf_iter_css_new(struct bpf_iter_css *it, struct cgroup_subsys_state *start, unsigned int flags) __weak __ksym;\nextern struct cgroup_subsys_state *bpf_iter_css_next(struct bpf_iter_css *it) __weak __ksym;\nextern void bpf_iter_css_task_destroy(struct bpf_iter_css_task *it) __weak __ksym;\nextern int bpf_iter_css_task_new(struct bpf_iter_css_task *it, struct cgroup_subsys_state *css, unsigned int flags) __weak __ksym;\nextern struct task_struct *bpf_iter_css_task_next(struct bpf_iter_css_task *it) __weak __ksym;\nextern void bpf_iter_kmem_cache_destroy(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern int bpf_iter_kmem_cache_new(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern struct kmem_cache *bpf_iter_kmem_cache_next(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern void bpf_iter_num_destroy(struct bpf_iter_num *it) __weak __ksym;\nextern int bpf_iter_num_new(struct bpf_iter_num *it, int start, int end) __weak __ksym;\nextern int *bpf_iter_num_next(struct bpf_iter_num *it) __weak __ksym;\nextern void bpf_iter_task_destroy(struct bpf_iter_task *it) __weak __ksym;\nextern int bpf_iter_task_new(struct bpf_iter_task *it, struct task_struct *task__nullable, unsigned int flags) __weak __ksym;\nextern struct task_struct *bpf_iter_task_next(struct bpf_iter_task *it) __weak __ksym;\nextern void bpf_iter_task_vma_destroy(struct bpf_iter_task_vma *it) __weak __ksym;\nextern int bpf_iter_task_vma_new(struct bpf_iter_task_vma *it, struct task_struct *task, u64 addr) __weak __ksym;\nextern struct vm_area_struct *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) __weak __ksym;\nextern void bpf_key_put(struct bpf_key *bkey) __weak __ksym;\nextern void bpf_kfunc_call_memb_release(struct prog_test_member *p) __weak __ksym;\nextern void bpf_kfunc_call_test_release(struct prog_test_ref_kfunc *p) __weak __ksym;\nextern struct bpf_list_node *bpf_list_pop_back(struct bpf_list_head *head) __weak __ksym;\nextern struct bpf_list_node *bpf_list_pop_front(struct bpf_list_head *head) __weak __ksym;\nextern int bpf_list_push_back_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym;\nextern int bpf_list_push_front_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym;\nextern void bpf_local_irq_restore(long unsigned int *flags__irq_flag) __weak __ksym;\nextern void bpf_local_irq_save(long unsigned int *flags__irq_flag) __weak __ksym;\nextern struct bpf_key *bpf_lookup_system_key(u64 id) __weak __ksym;\nextern struct bpf_key *bpf_lookup_user_key(u32 serial, u64 flags) __weak __ksym;\nextern s64 bpf_map_sum_elem_count(const struct bpf_map *map) __weak __ksym;\nextern int bpf_modify_return_test(int a, int *b) __weak __ksym;\nextern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, char f, int g) __weak __ksym;\nextern int bpf_modify_return_test_tp(int nonce) __weak __ksym;\nextern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym;\nextern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym;\nextern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym;\nextern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym;\nextern void bpf_preempt_disable(void) __weak __ksym;\nextern void bpf_preempt_enable(void) __weak __ksym;\nextern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym;\nextern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym;\nextern struct bpf_rb_node *bpf_rbtree_remove(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym;\nextern void bpf_rcu_read_lock(void) __weak __ksym;\nextern void bpf_rcu_read_unlock(void) __weak __ksym;\nextern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym;\nextern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym;\nextern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym;\nextern __u64 *bpf_session_cookie(void) __weak __ksym;\nextern bool bpf_session_is_return(void) __weak __ksym;\nextern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym;\nextern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym;\nextern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym;\nextern struct task_struct *bpf_task_acquire(struct task_struct *p) __weak __ksym;\nextern struct task_struct *bpf_task_from_pid(s32 pid) __weak __ksym;\nextern struct task_struct *bpf_task_from_vpid(s32 vpid) __weak __ksym;\nextern struct cgroup *bpf_task_get_cgroup1(struct task_struct *task, int hierarchy_id) __weak __ksym;\nextern void bpf_task_release(struct task_struct *p) __weak __ksym;\nextern long int bpf_task_under_cgroup(struct task_struct *task, struct cgroup *ancestor) __weak __ksym;\nextern void bpf_throw(u64 cookie) __weak __ksym;\nextern int bpf_verify_pkcs7_signature(struct bpf_dynptr *data_p, struct bpf_dynptr *sig_p, struct bpf_key *trusted_keyring) __weak __ksym;\nextern int bpf_wq_init(struct bpf_wq *wq, void *p__map, unsigned int flags) __weak __ksym;\nextern int bpf_wq_set_callback_impl(struct bpf_wq *wq, int (*callback_fn)(void *, int *, void *), unsigned int flags, void *aux__ign) __weak __ksym;\nextern int bpf_wq_start(struct bpf_wq *wq, unsigned int flags) __weak __ksym;\nextern struct xfrm_state *bpf_xdp_get_xfrm_state(struct xdp_md *ctx, struct bpf_xfrm_state_opts *opts, u32 opts__sz) __weak __ksym;\nextern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, u32 *hash, enum xdp_rss_hash_type *rss_type) __weak __ksym;\nextern int bpf_xdp_metadata_rx_timestamp(const struct xdp_md *ctx, u64 *timestamp) __weak __ksym;\nextern int bpf_xdp_metadata_rx_vlan_tag(const struct xdp_md *ctx, __be16 *vlan_proto, u16 *vlan_tci) __weak __ksym;\nextern void bpf_xdp_xfrm_state_release(struct xfrm_state *x) __weak __ksym;\nextern void cgroup_rstat_flush(struct cgroup *cgrp) __weak __ksym;\nextern void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) __weak __ksym;\nextern void crash_kexec(struct pt_regs *regs) __weak __ksym;\nextern void cubictcp_acked(struct sock *sk, const struct ack_sample *sample) __weak __ksym;\nextern void cubictcp_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym;\nextern void cubictcp_cwnd_event(struct sock *sk, enum tcp_ca_event event) __weak __ksym;\nextern void cubictcp_init(struct sock *sk) __weak __ksym;\nextern u32 cubictcp_recalc_ssthresh(struct sock *sk) __weak __ksym;\nextern void cubictcp_state(struct sock *sk, u8 new_state) __weak __ksym;\nextern void tcp_cong_avoid_ai(struct tcp_sock *tp, u32 w, u32 acked) __weak __ksym;\nextern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym;\nextern u32 tcp_reno_ssthresh(struct sock *sk) __weak __ksym;\nextern u32 tcp_reno_undo_cwnd(struct sock *sk) __weak __ksym;\nextern u32 tcp_slow_start(struct tcp_sock *tp, u32 acked) __weak __ksym;\n#endif\n\n#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n#pragma clang attribute pop\n#endif\n\n#endif /* __VMLINUX_H__ */\n"
  },
  {
    "path": "libbpf-tools/map_helpers.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Anton Protopopov\n#include <stdlib.h>\n#include <stdio.h>\n#include <errno.h>\n\n#include \"map_helpers.h\"\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\n/* Whether batch operations (lookup and lookup_and_delete) are supported */\nstatic bool batch_map_ops = true;\n\nstatic int\ndump_hash_iter(int map_fd, void *keys, __u32 key_size,\n\t       void *values, __u32 value_size, __u32 *count,\n\t       void *invalid_key, bool lookup_and_delete)\n{\n\t__u8 key[key_size], next_key[key_size];\n\t__u32 n = 0;\n\tint i, err;\n\n\t/* First get keys */\n\t__builtin_memcpy(key, invalid_key, key_size);\n\twhile (n < *count) {\n\t\terr = bpf_map_get_next_key(map_fd, key, next_key);\n\t\tif (err && errno != ENOENT) {\n\t\t\treturn -1;\n\t\t} else if (err) {\n\t\t\tbreak;\n\t\t}\n\t\t__builtin_memcpy(key, next_key, key_size);\n\t\t__builtin_memcpy(keys + key_size * n, next_key, key_size);\n\t\tn++;\n\t}\n\n\t/* Now read values (and optionally delete) */\n\tfor (i = 0; i < n; i++) {\n\t\terr = bpf_map_lookup_elem(map_fd, keys + key_size * i,\n\t\t\t\t\t  values + value_size * i);\n\t\tif (err)\n\t\t\treturn -1;\n\t\tif (lookup_and_delete) {\n\t\t\terr = bpf_map_delete_elem(map_fd, keys + key_size * i);\n\t\t\tif (err)\n\t\t\t\treturn -1;\n\t\t}\n\t}\n\n\t*count = n;\n\treturn 0;\n}\n\nstatic int\ndump_hash_batch(int map_fd, void *keys, __u32 key_size,\n\t\tvoid *values, __u32 value_size, __u32 *count,\n\t\tbool lookup_and_delete)\n{\n\tvoid *in = NULL, *out;\n\t__u32 n, n_read = 0;\n\tint err = 0;\n\n\twhile (n_read < *count && !err) {\n\t\tn = *count - n_read;\n\t\tif (lookup_and_delete) {\n\t\t\terr = bpf_map_lookup_and_delete_batch(map_fd, &in, &out,\n\t\t\t\t\t\t\t      keys + n_read * key_size,\n\t\t\t\t\t\t\t      values + n_read * value_size,\n\t\t\t\t\t\t\t      &n, NULL);\n\t\t} else {\n\t\t\terr = bpf_map_lookup_batch(map_fd, &in, &out,\n\t\t\t\t\t\t   keys + n_read * key_size,\n\t\t\t\t\t\t   values + n_read * value_size,\n\t\t\t\t\t\t   &n, NULL);\n\t\t}\n\t\tif (err && errno != ENOENT) {\n\t\t\treturn -1;\n\t\t}\n\t\tn_read += n;\n\t\tin = out;\n\t}\n\n\t*count = n_read;\n\treturn 0;\n}\n\nint dump_hash(int map_fd,\n\t      void *keys, __u32 key_size,\n\t      void *values, __u32 value_size,\n\t      __u32 *count, void *invalid_key,\n\t      bool lookup_and_delete)\n{\n\tint err;\n\n\tif (!keys || !values || !count || !key_size || !value_size) {\n\t\terrno = EINVAL;\n\t\treturn -1;\n\t}\n\n\tif (batch_map_ops) {\n\t\terr = dump_hash_batch(map_fd, keys, key_size,\n\t\t\t\t      values, value_size, count, lookup_and_delete);\n\t\tif (err && errno == EINVAL) {\n\t\t\t/* assume that batch operations are not\n\t\t\t * supported and try non-batch mode */\n\t\t\tbatch_map_ops = false;\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\n\tif (!invalid_key) {\n\t\terrno = EINVAL;\n\t\treturn -1;\n\t}\n\n\treturn dump_hash_iter(map_fd, keys, key_size,\n\t\t\t      values, value_size, count, invalid_key,\n\t\t\t      lookup_and_delete);\n}\n"
  },
  {
    "path": "libbpf-tools/map_helpers.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2020 Anton Protopopov */\n#ifndef __MAP_HELPERS_H\n#define __MAP_HELPERS_H\n\n#include <bpf/bpf.h>\n\nint dump_hash(int map_fd, void *keys, __u32 key_size,\n\t      void *values, __u32 value_size, __u32 *count, void *invalid_key,\n\t      bool lookup_and_delete);\n\n#endif /* __MAP_HELPERS_H */\n"
  },
  {
    "path": "libbpf-tools/maps.bpf.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Anton Protopopov\n#ifndef __MAPS_BPF_H\n#define __MAPS_BPF_H\n\n#include <bpf/bpf_helpers.h>\n#include <asm-generic/errno.h>\n\nstatic __always_inline void *\nbpf_map_lookup_or_try_init(void *map, const void *key, const void *init)\n{\n\tvoid *val;\n\t/* bpf helper functions like bpf_map_update_elem() below normally return\n\t * long, but using int instead of long to store the result is a workaround\n\t * to avoid incorrectly evaluating err in cases where the following criteria\n\t * is met:\n\t *     the architecture is 64-bit\n\t *     the helper function return type is long\n\t *     the helper function returns the value of a call to a bpf_map_ops func\n\t *     the bpf_map_ops function return type is int\n\t *     the compiler inlines the helper function\n\t *     the compiler does not sign extend the result of the bpf_map_ops func\n\t *\n\t * if this criteria is met, at best an error can only be checked as zero or\n\t * non-zero. it will not be possible to check for a negative value or a\n\t * specific error value. this is because the sign bit would have been stuck\n\t * at the 32nd bit of a 64-bit long int.\n\t */\n\tint err;\n\n\tval = bpf_map_lookup_elem(map, key);\n\tif (val)\n\t\treturn val;\n\n\terr = bpf_map_update_elem(map, key, init, BPF_NOEXIST);\n\tif (err && err != -EEXIST)\n\t\treturn 0;\n\n\treturn bpf_map_lookup_elem(map, key);\n}\n\n#endif /* __MAPS_BPF_H */\n"
  },
  {
    "path": "libbpf-tools/mdflush.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021~2022 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_tracing.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include \"core_fixes.bpf.h\"\n#include \"mdflush.h\"\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__type(key, __u32);\n\t__type(value, __u32);\n} events SEC(\".maps\");\n\nSEC(\"fentry/md_flush_request\")\nint BPF_PROG(md_flush_request, void *mddev, void *bio)\n{\n\t__u64 pid = bpf_get_current_pid_tgid() >> 32;\n\tstruct event event = {};\n\tstruct gendisk *gendisk;\n\n\tevent.pid = pid;\n\tgendisk = get_gendisk(bio);\n\tBPF_CORE_READ_STR_INTO(event.disk, gendisk, disk_name);\n\tbpf_get_current_comm(event.comm, sizeof(event.comm));\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));\n\treturn 0;\n}\n\nSEC(\"kprobe/md_flush_request\")\nint BPF_KPROBE(kprobe_md_flush_request, void *mddev, void *bio)\n{\n\t__u64 pid = bpf_get_current_pid_tgid() >> 32;\n\tstruct event event = {};\n\tstruct gendisk *gendisk;\n\n\tevent.pid = pid;\n\tgendisk = get_gendisk(bio);\n\tBPF_CORE_READ_STR_INTO(event.disk, gendisk, disk_name);\n\tbpf_get_current_comm(event.comm, sizeof(event.comm));\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/mdflush.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n/*\n * mdflush\tTrace md flush events.\n *\n * Copyright (c) 2021~2022 Hengqi Chen\n *\n * Based on mdflush(8) from BCC by Brendan Gregg.\n * 08-Nov-2021   Hengqi Chen   Created this.\n */\n#include <argp.h>\n#include <errno.h>\n#include <signal.h>\n#include <string.h>\n#include <time.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"mdflush.h\"\n#include \"mdflush.skel.h\"\n#include \"trace_helpers.h\"\n\n#define PERF_BUFFER_PAGES\t16\n#define PERF_POLL_TIMEOUT_MS\t100\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n\nstatic volatile sig_atomic_t exiting = 0;\nstatic bool verbose = false;\n\nconst char *argp_program_version = \"mdflush 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace md flush events.\\n\"\n\"\\n\"\n\"USAGE: mdflush\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tstruct event *e = data;\n\tchar ts[32];\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\tprintf(\"%-8s %-7d %-16s %-s\\n\",\n\t       ts, e->pid, e->comm, e->disk);\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\twarn(\"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct mdflush_bpf *obj;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = mdflush_bpf__open();\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tif (fentry_can_attach(\"md_flush_request\", NULL))\n\t\tbpf_program__set_autoload(obj->progs.kprobe_md_flush_request, false);\n\telse\n\t\tbpf_program__set_autoload(obj->progs.md_flush_request, false);\n\n\terr = mdflush_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = mdflush_bpf__attach(obj);\n\tif (err) {\n\t\twarn(\"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\twarn(\"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"Tracing md flush requests... Hit Ctrl-C to end.\\n\");\n\tprintf(\"%-8s %-7s %-16s %-s\\n\",\n\t       \"TIME\", \"PID\", \"COMM\", \"DEVICE\");\n\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\twarn(\"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\tmdflush_bpf__destroy(obj);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/mdflush.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021~2022 Hengqi Chen */\n#ifndef __MDFLUSH_H\n#define __MDFLUSH_H\n\n#define TASK_COMM_LEN\t16\n#define DISK_NAME_LEN\t32\n\nstruct event {\n\t__u32 pid;\n\tchar comm[TASK_COMM_LEN];\n\tchar disk[DISK_NAME_LEN];\n};\n\n#endif /* __MDFLUSH_H */\n"
  },
  {
    "path": "libbpf-tools/memleak.bpf.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2023 Meta Platforms, Inc. and affiliates.\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n\n#include \"maps.bpf.h\"\n#include \"memleak.h\"\n#include \"core_fixes.bpf.h\"\n\nconst volatile size_t min_size = 0;\nconst volatile size_t max_size = -1;\nconst volatile size_t page_size = 4096;\nconst volatile __u64 sample_rate = 1;\nconst volatile bool trace_all = false;\nconst volatile __u64 stack_flags = 0;\nconst volatile bool wa_missing_free = false;\nconst volatile bool combined_only = false;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, u64);\n\t__uint(max_entries, 10240);\n} sizes SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u64); /* address */\n\t__type(value, struct alloc_info);\n\t__uint(max_entries, ALLOCS_MAX_ENTRIES);\n} allocs SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u64); /* stack id */\n\t__type(value, union combined_alloc_info);\n\t__uint(max_entries, 1);\n} combined_allocs SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, u64);\n\t__uint(max_entries, 10240);\n} memptrs SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_STACK_TRACE);\n\t__type(key, u32);\n} stack_traces SEC(\".maps\");\n\nstatic union combined_alloc_info initial_cinfo;\n\nstatic void update_statistics_add(u64 stack_id, u64 sz)\n{\n\tunion combined_alloc_info *existing_cinfo;\n\n\texisting_cinfo = bpf_map_lookup_or_try_init(&combined_allocs, &stack_id, &initial_cinfo);\n\tif (!existing_cinfo)\n\t\treturn;\n\n\tconst union combined_alloc_info incremental_cinfo = {\n\t\t.total_size = sz,\n\t\t.number_of_allocs = 1\n\t};\n\n\t__sync_fetch_and_add(&existing_cinfo->bits, incremental_cinfo.bits);\n}\n\nstatic void update_statistics_del(u64 stack_id, u64 sz)\n{\n\tunion combined_alloc_info *existing_cinfo;\n\n\texisting_cinfo = bpf_map_lookup_elem(&combined_allocs, &stack_id);\n\tif (!existing_cinfo) {\n\t\tbpf_printk(\"failed to lookup combined allocs\\n\");\n\n\t\treturn;\n\t}\n\n\tconst union combined_alloc_info decremental_cinfo = {\n\t\t.total_size = sz,\n\t\t.number_of_allocs = 1\n\t};\n\n\t__sync_fetch_and_sub(&existing_cinfo->bits, decremental_cinfo.bits);\n}\n\nstatic int gen_alloc_enter(size_t size)\n{\n\tif (size < min_size || size > max_size)\n\t\treturn 0;\n\n\tif (sample_rate > 1) {\n\t\tif (bpf_ktime_get_ns() % sample_rate != 0)\n\t\t\treturn 0;\n\t}\n\n\tconst u32 tid = bpf_get_current_pid_tgid();\n\tbpf_map_update_elem(&sizes, &tid, &size, BPF_ANY);\n\n\tif (trace_all)\n\t\tbpf_printk(\"alloc entered, size = %lu\\n\", size);\n\n\treturn 0;\n}\n\nstatic int gen_alloc_exit2(void *ctx, u64 address)\n{\n\tconst u32 tid = bpf_get_current_pid_tgid();\n\tstruct alloc_info info;\n\n\tconst u64* size = bpf_map_lookup_elem(&sizes, &tid);\n\tif (!size)\n\t\treturn 0; // missed alloc entry\n\n\t__builtin_memset(&info, 0, sizeof(info));\n\n\tinfo.size = *size;\n\tbpf_map_delete_elem(&sizes, &tid);\n\n\tif (address != 0 && address != MAP_FAILED) {\n\t\tinfo.timestamp_ns = bpf_ktime_get_ns();\n\n\t\tinfo.stack_id = bpf_get_stackid(ctx, &stack_traces, stack_flags);\n\n\t\tbpf_map_update_elem(&allocs, &address, &info, BPF_ANY);\n\n\t\tif (combined_only)\n\t\t\tupdate_statistics_add(info.stack_id, info.size);\n\t}\n\n\tif (trace_all) {\n\t\tbpf_printk(\"alloc exited, size = %lu, result = %lx\\n\",\n\t\t\t\tinfo.size, address);\n\t}\n\n\treturn 0;\n}\n\nstatic int gen_alloc_exit(struct pt_regs *ctx)\n{\n\treturn gen_alloc_exit2(ctx, PT_REGS_RC(ctx));\n}\n\nstatic int gen_free_enter(const void *address)\n{\n\tconst u64 addr = (u64)address;\n\n\tconst struct alloc_info *info = bpf_map_lookup_elem(&allocs, &addr);\n\tif (!info)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&allocs, &addr);\n\n\tif (combined_only)\n\t\tupdate_statistics_del(info->stack_id, info->size);\n\n\tif (trace_all) {\n\t\tbpf_printk(\"free entered, address = %lx, size = %lu\\n\",\n\t\t\t\taddress, info->size);\n\t}\n\n\treturn 0;\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(malloc_enter, size_t size)\n{\n\treturn gen_alloc_enter(size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(malloc_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(free_enter, void *address)\n{\n\treturn gen_free_enter(address);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(calloc_enter, size_t nmemb, size_t size)\n{\n\treturn gen_alloc_enter(nmemb * size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(calloc_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(realloc_enter, void *ptr, size_t size)\n{\n\tgen_free_enter(ptr);\n\n\treturn gen_alloc_enter(size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(realloc_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(mmap_enter, void *address, size_t size)\n{\n\treturn gen_alloc_enter(size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(mmap_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(munmap_enter, void *address)\n{\n\treturn gen_free_enter(address);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(mremap_enter, void *old_address, size_t old_size, size_t new_size, int flags)\n{\n\tgen_free_enter(old_address);\n\n\treturn gen_alloc_enter(new_size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(mremap_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(posix_memalign_enter, void **memptr, size_t alignment, size_t size)\n{\n\tconst u64 memptr64 = (u64)(size_t)memptr;\n\tconst u32 tid = bpf_get_current_pid_tgid();\n\tbpf_map_update_elem(&memptrs, &tid, &memptr64, BPF_ANY);\n\n\treturn gen_alloc_enter(size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(posix_memalign_exit)\n{\n\tu64 *memptr64;\n\tvoid *addr;\n\tconst u32 tid = bpf_get_current_pid_tgid();\n\n\tmemptr64 = bpf_map_lookup_elem(&memptrs, &tid);\n\tif (!memptr64)\n\t\treturn 0;\n\n\tbpf_map_delete_elem(&memptrs, &tid);\n\n\tif (bpf_probe_read_user(&addr, sizeof(void*), (void*)(size_t)*memptr64))\n\t\treturn 0;\n\n\tconst u64 addr64 = (u64)(size_t)addr;\n\n\treturn gen_alloc_exit2(ctx, addr64);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(aligned_alloc_enter, size_t alignment, size_t size)\n{\n\treturn gen_alloc_enter(size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(aligned_alloc_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(valloc_enter, size_t size)\n{\n\treturn gen_alloc_enter(size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(valloc_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(memalign_enter, size_t alignment, size_t size)\n{\n\treturn gen_alloc_enter(size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(memalign_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"uprobe\")\nint BPF_UPROBE(pvalloc_enter, size_t size)\n{\n\treturn gen_alloc_enter(size);\n}\n\nSEC(\"uretprobe\")\nint BPF_URETPROBE(pvalloc_exit)\n{\n\treturn gen_alloc_exit(ctx);\n}\n\nSEC(\"tracepoint/kmem/kmalloc\")\nint memleak__kmalloc(void *ctx)\n{\n\tconst void *ptr;\n\tsize_t bytes_alloc;\n\n\tif (has_kmem_alloc()) {\n\t\tstruct trace_event_raw_kmem_alloc___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t\tbytes_alloc = BPF_CORE_READ(args, bytes_alloc);\n\t} else {\n\t\tstruct trace_event_raw_kmalloc___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t\tbytes_alloc = BPF_CORE_READ(args, bytes_alloc);\n\t}\n\n\tif (wa_missing_free)\n\t\tgen_free_enter(ptr);\n\n\tgen_alloc_enter(bytes_alloc);\n\n\treturn gen_alloc_exit2(ctx, (u64)ptr);\n}\n\nSEC(\"tracepoint/kmem/kmalloc_node\")\nint memleak__kmalloc_node(void *ctx)\n{\n\tconst void *ptr;\n\tsize_t bytes_alloc;\n\n\tif (has_kmem_alloc_node()) {\n\t\tstruct trace_event_raw_kmem_alloc_node___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t\tbytes_alloc = BPF_CORE_READ(args, bytes_alloc);\n\n\t\tif (wa_missing_free)\n\t\t\tgen_free_enter(ptr);\n\n\t\tgen_alloc_enter( bytes_alloc);\n\n\t\treturn gen_alloc_exit2(ctx, (u64)ptr);\n\t} else {\n\t\t/* tracepoint is disabled if not exist, avoid compile warning */\n\t\treturn 0;\n\t}\n}\n\nSEC(\"tracepoint/kmem/kfree\")\nint memleak__kfree(void *ctx)\n{\n\tconst void *ptr;\n\n\tif (has_kfree()) {\n\t\tstruct trace_event_raw_kfree___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t} else {\n\t\tstruct trace_event_raw_kmem_free___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t}\n\n\treturn gen_free_enter(ptr);\n}\n\nSEC(\"tracepoint/kmem/kmem_cache_alloc\")\nint memleak__kmem_cache_alloc(void *ctx)\n{\n\tconst void *ptr;\n\tsize_t bytes_alloc;\n\n\tif (has_kmem_alloc()) {\n\t\tstruct trace_event_raw_kmem_alloc___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t\tbytes_alloc = BPF_CORE_READ(args, bytes_alloc);\n\t} else {\n\t\tstruct trace_event_raw_kmem_cache_alloc___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t\tbytes_alloc = BPF_CORE_READ(args, bytes_alloc);\n\t}\n\n\tif (wa_missing_free)\n\t\tgen_free_enter(ptr);\n\n\tgen_alloc_enter(bytes_alloc);\n\n\treturn gen_alloc_exit2(ctx, (u64)ptr);\n}\n\nSEC(\"tracepoint/kmem/kmem_cache_alloc_node\")\nint memleak__kmem_cache_alloc_node(void *ctx)\n{\n\tconst void *ptr;\n\tsize_t bytes_alloc;\n\n\tif (has_kmem_alloc_node()) {\n\t\tstruct trace_event_raw_kmem_alloc_node___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t\tbytes_alloc = BPF_CORE_READ(args, bytes_alloc);\n\n\t\tif (wa_missing_free)\n\t\t\tgen_free_enter(ptr);\n\n\t\tgen_alloc_enter(bytes_alloc);\n\n\t\treturn gen_alloc_exit2(ctx, (u64)ptr);\n\t} else {\n\t\t/* tracepoint is disabled if not exist, avoid compile warning */\n\t\treturn 0;\n\t}\n}\n\nSEC(\"tracepoint/kmem/kmem_cache_free\")\nint memleak__kmem_cache_free(void *ctx)\n{\n\tconst void *ptr;\n\n\tif (has_kmem_cache_free()) {\n\t\tstruct trace_event_raw_kmem_cache_free___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t} else {\n\t\tstruct trace_event_raw_kmem_free___x *args = ctx;\n\t\tptr = BPF_CORE_READ(args, ptr);\n\t}\n\n\treturn gen_free_enter(ptr);\n}\n\nSEC(\"tracepoint/kmem/mm_page_alloc\")\nint memleak__mm_page_alloc(struct trace_event_raw_mm_page_alloc *ctx)\n{\n\tgen_alloc_enter(page_size << ctx->order);\n\n\treturn gen_alloc_exit2(ctx, ctx->pfn);\n}\n\nSEC(\"tracepoint/kmem/mm_page_free\")\nint memleak__mm_page_free(struct trace_event_raw_mm_page_free *ctx)\n{\n\treturn gen_free_enter((void *)ctx->pfn);\n}\n\nSEC(\"tracepoint/percpu/percpu_alloc_percpu\")\nint memleak__percpu_alloc_percpu(struct trace_event_raw_percpu_alloc_percpu *ctx)\n{\n\tgen_alloc_enter(ctx->bytes_alloc);\n\n\treturn gen_alloc_exit2(ctx, (u64)(ctx->ptr));\n}\n\nSEC(\"tracepoint/percpu/percpu_free_percpu\")\nint memleak__percpu_free_percpu(struct trace_event_raw_percpu_free_percpu *ctx)\n{\n\treturn gen_free_enter(ctx->ptr);\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/memleak.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2023 Meta Platforms, Inc. and affiliates.\n//\n// Based on memleak(8) from BCC by Sasha Goldshtein and others.\n// 1-Mar-2023   JP Kobryn   Created this.\n#include <argp.h>\n#include <errno.h>\n#include <signal.h>\n#include <stdbool.h>\n#include <stdio.h>\n#include <stdint.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/eventfd.h>\n#include <sys/types.h>\n#include <sys/wait.h>\n#include <time.h>\n#include <unistd.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n\n#include \"memleak.h\"\n#include \"memleak.skel.h\"\n#include \"trace_helpers.h\"\n\n#ifdef USE_BLAZESYM\n#include <blazesym.h>\n#endif\n\nstatic struct env {\n\tint interval;\n\tint nr_intervals;\n\tpid_t pid;\n\tbool trace_all;\n\tbool show_allocs;\n\tbool combined_only;\n\tlong min_age_ns;\n\tuint64_t sample_rate;\n\tint top_stacks;\n\tsize_t min_size;\n\tsize_t max_size;\n\tchar object[32];\n\n\tbool wa_missing_free;\n\tbool percpu;\n\tint perf_max_stack_depth;\n\tint stack_map_max_entries;\n\tlong page_size;\n\tbool kernel_trace;\n\tbool verbose;\n\tchar command[32];\n\tchar symbols_prefix[16];\n} env = {\n\t.interval = 5, // posarg 1\n\t.nr_intervals = -1, // posarg 2\n\t.pid = -1, // -p --pid\n\t.trace_all = false, // -t --trace\n\t.show_allocs = false, // -a --show-allocs\n\t.combined_only = false, // --combined-only\n\t.min_age_ns = 500, // -o --older (arg * 1e6)\n\t.wa_missing_free = false, // --wa-missing-free\n\t.sample_rate = 1, // -s --sample-rate\n\t.top_stacks = 10, // -T --top\n\t.min_size = 0, // -z --min-size\n\t.max_size = -1, // -Z --max-size\n\t.object = {0}, // -O --obj\n\t.percpu = false, // --percpu\n\t.perf_max_stack_depth = 127,\n\t.stack_map_max_entries = 10240,\n\t.page_size = 1,\n\t.kernel_trace = true,\n\t.verbose = false,\n\t.command = {0}, // -c --command\n\t.symbols_prefix = {0},\n};\n\nstruct allocation_node {\n\tuint64_t address;\n\tsize_t size;\n\tstruct allocation_node* next;\n};\n\nstruct allocation {\n\tint64_t stack_id;\n\tsize_t size;\n\tsize_t count;\n\tstruct allocation_node* allocations;\n};\n\n#define OPT_PERF_MAX_STACK_DEPTH\t1 /* --perf-max-stack-depth */\n#define OPT_STACK_STORAGE_SIZE\t\t2 /* --stack-storage-size */\n\n#define __ATTACH_UPROBE(skel, sym_name, prog_name, is_retprobe) \\\n\tdo { \\\n\t\tchar sym[32]; \\\n\t\tsprintf(sym, \"%s%s\", env.symbols_prefix, #sym_name); \\\n\t\tLIBBPF_OPTS(bpf_uprobe_opts, uprobe_opts, \\\n\t\t\t\t.func_name = sym, \\\n\t\t\t\t.retprobe = is_retprobe); \\\n\t\tskel->links.prog_name = bpf_program__attach_uprobe_opts( \\\n\t\t\t\tskel->progs.prog_name, \\\n\t\t\t\tenv.pid, \\\n\t\t\t\tenv.object, \\\n\t\t\t\t0, \\\n\t\t\t\t&uprobe_opts); \\\n\t} while (false)\n\n#define __CHECK_PROGRAM(skel, prog_name) \\\n\tdo { \\\n\t\tif (!skel->links.prog_name) { \\\n\t\t\tperror(\"no program attached for \" #prog_name); \\\n\t\t\treturn -errno; \\\n\t\t} \\\n\t} while (false)\n\n#define __ATTACH_UPROBE_CHECKED(skel, sym_name, prog_name, is_retprobe) \\\n\tdo { \\\n\t\t__ATTACH_UPROBE(skel, sym_name, prog_name, is_retprobe); \\\n\t\t__CHECK_PROGRAM(skel, prog_name); \\\n\t} while (false)\n\n#define ATTACH_UPROBE(skel, sym_name, prog_name) __ATTACH_UPROBE(skel, sym_name, prog_name, false)\n#define ATTACH_URETPROBE(skel, sym_name, prog_name) __ATTACH_UPROBE(skel, sym_name, prog_name, true)\n\n#define ATTACH_UPROBE_CHECKED(skel, sym_name, prog_name) __ATTACH_UPROBE_CHECKED(skel, sym_name, prog_name, false)\n#define ATTACH_URETPROBE_CHECKED(skel, sym_name, prog_name) __ATTACH_UPROBE_CHECKED(skel, sym_name, prog_name, true)\n\n/*\n * -EFAULT in get_stackid normally means the stack-trace is not available,\n * such as getting kernel stack trace in user mode\n */\n#define STACK_ID_EFAULT(stack_id)\t(stack_id == -EFAULT)\n\n#define STACK_ID_ERR(stack_id)\t\t((stack_id < 0) && !STACK_ID_EFAULT(stack_id))\n\n/* hash collision (-EEXIST) suggests that stack map size may be too small */\n#define STACK_ID_COLLISION(stack_id)\t\t(stack_id == -EEXIST)\n\nstatic void sig_handler(int signo);\n\nstatic long argp_parse_long(int key, const char *arg, struct argp_state *state);\nstatic error_t argp_parse_arg(int key, char *arg, struct argp_state *state);\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args);\n\nstatic int event_init(int *fd);\nstatic int event_wait(int fd, uint64_t expected_event);\nstatic int event_notify(int fd, uint64_t event);\n\nstatic pid_t fork_sync_exec(const char *command, int fd);\n\n#ifdef USE_BLAZESYM\nstatic void print_stack_frame_by_blazesym(size_t frame, uint64_t addr, const struct blaze_sym *sym);\nstatic void print_stack_frames_by_blazesym();\n#else\nstatic void print_stack_frames_by_ksyms();\nstatic void print_stack_frames_by_syms_cache();\n#endif\nstatic int print_stack_frames(struct allocation *allocs, size_t nr_allocs, int stack_traces_fd);\n\nstatic int alloc_size_compare(const void *a, const void *b);\n\nstatic int print_outstanding_allocs(int allocs_fd, int stack_traces_fd);\nstatic int print_outstanding_combined_allocs(int combined_allocs_fd, int stack_traces_fd);\n\nstatic bool has_kernel_node_tracepoints();\nstatic void disable_kernel_node_tracepoints(struct memleak_bpf *skel);\nstatic void disable_kernel_percpu_tracepoints(struct memleak_bpf *skel);\nstatic void disable_kernel_tracepoints(struct memleak_bpf *skel);\n\nstatic int attach_uprobes(struct memleak_bpf *skel);\n\nconst char *argp_program_version = \"memleak 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\n\nconst char argp_args_doc[] =\n\"Trace outstanding memory allocations\\n\"\n\"\\n\"\n\"USAGE: memleak [-h] [-c COMMAND] [-p PID] [-t] [-n] [-a] [-o AGE_MS] [-C] [-F] [-s SAMPLE_RATE] [-T TOP_STACKS] [-z MIN_SIZE] [-Z MAX_SIZE] [-O OBJECT] [-P] [INTERVAL] [INTERVALS]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"./memleak -p $(pidof allocs)\\n\"\n\"        Trace allocations and display a summary of 'leaked' (outstanding)\\n\"\n\"        allocations every 5 seconds\\n\"\n\"./memleak -p $(pidof allocs) -t\\n\"\n\"        Trace allocations and display each individual allocator function call\\n\"\n\"./memleak -ap $(pidof allocs) 10\\n\"\n\"        Trace allocations and display allocated addresses, sizes, and stacks\\n\"\n\"        every 10 seconds for outstanding allocations\\n\"\n\"./memleak -c './allocs'\\n\"\n\"        Run the specified command and trace its allocations\\n\"\n\"./memleak\\n\"\n\"        Trace allocations in kernel mode and display a summary of outstanding\\n\"\n\"        allocations every 5 seconds\\n\"\n\"./memleak -o 60000\\n\"\n\"        Trace allocations in kernel mode and display a summary of outstanding\\n\"\n\"        allocations that are at least one minute (60 seconds) old\\n\"\n\"./memleak -s 5\\n\"\n\"        Trace roughly every 5th allocation, to reduce overhead\\n\"\n\"./memleak -p $(pidof allocs) -S je_\\n\"\n\"        Trace task who use jemalloc\\n\"\n\"\";\n\nstatic const struct argp_option argp_options[] = {\n\t// name/longopt:str, key/shortopt:int, arg:str, flags:int, doc:str\n\t{\"pid\", 'p', \"PID\", 0, \"process ID to trace. if not specified, trace kernel allocs\", 0 },\n\t{\"trace\", 't', 0, 0, \"print trace messages for each alloc/free call\", 0 },\n\t{\"show-allocs\", 'a', 0, 0, \"show allocation addresses and sizes as well as call stacks\", 0 },\n\t{\"older\", 'o', \"AGE_MS\", 0, \"prune allocations younger than this age in milliseconds\", 0 },\n\t{\"command\", 'c', \"COMMAND\", 0, \"execute and trace the specified command\", 0 },\n\t{\"combined-only\", 'C', 0, 0, \"show combined allocation statistics only\", 0 },\n\t{\"wa-missing-free\", 'F', 0, 0, \"workaround to alleviate misjudgments when free is missing\", 0 },\n\t{\"sample-rate\", 's', \"SAMPLE_RATE\", 0, \"sample every N-th allocation to decrease the overhead\", 0 },\n\t{\"top\", 'T', \"TOP_STACKS\", 0, \"display only this many top allocating stacks (by size)\", 0 },\n\t{\"min-size\", 'z', \"MIN_SIZE\", 0, \"capture only allocations larger than or equal to this size\", 0 },\n\t{\"max-size\", 'Z', \"MAX_SIZE\", 0, \"capture only allocations smaller than or equal to this size\", 0 },\n\t{\"obj\", 'O', \"OBJECT\", 0, \"attach to allocator functions in the specified object\", 0 },\n\t{\"percpu\", 'P', NULL, 0, \"trace percpu allocations\", 0 },\n\t{\"symbols-prefix\", 'S', \"SYMBOLS_PREFIX\", 0, \"memory allocator symbols prefix\", 0 },\n\t{\"stack-storage-size\", OPT_STACK_STORAGE_SIZE, \"STACK-STORAGE-SIZE\", 0,\n\t \"the number of unique stack traces that can be stored and displayed (default 10240)\", 0 },\n\t{\"perf-max-stack-depth\", OPT_PERF_MAX_STACK_DEPTH,\n\t \"PERF-MAX-STACK-DEPTH\", 0, \"the limit for both kernel and user stack traces (default 127)\", 0 },\n\t{\"verbose\", 'v', NULL, 0, \"verbose debug output\", 0 },\n\t{},\n};\n\nstatic volatile sig_atomic_t exiting;\nstatic volatile sig_atomic_t child_exited;\n\nstatic struct sigaction sig_action = {\n\t.sa_handler = sig_handler\n};\n\nstatic int child_exec_event_fd = -1;\n\n#ifdef USE_BLAZESYM\nstatic struct blaze_symbolizer *symbolizer;\nstatic struct blaze_symbolize_src_kernel src_kernel;\nstatic struct blaze_symbolize_src_process src_process;\nstatic bool is_kernel;\n#else\nstruct syms_cache *syms_cache;\nstruct ksyms *ksyms;\n#endif\nstatic void (*print_stack_frames_func)();\n\nstatic uint64_t *stack;\n\nstatic struct allocation *allocs;\n\nstatic const char default_object[] = \"libc.so.6\";\n\nstatic void print_headers()\n{\n\tif (env.kernel_trace)\n\t\tprintf(\"Attaching to kernel allocators\");\n\telse\n\t\tprintf(\"Attaching to pid %d\", env.pid);\n\n\tprintf(\", Ctrl+C to quit.\\n\");\n}\n\nint main(int argc, char *argv[])\n{\n\tint ret = 0;\n\tstruct memleak_bpf *skel = NULL;\n\n\tstatic const struct argp argp = {\n\t\t.options = argp_options,\n\t\t.parser = argp_parse_arg,\n\t\t.doc = argp_args_doc,\n\t};\n\n\t// parse command line args to env settings\n\tif (argp_parse(&argp, argc, argv, 0, NULL, NULL)) {\n\t\tfprintf(stderr, \"failed to parse args\\n\");\n\n\t\tgoto cleanup;\n\t}\n\n\t// install signal handler\n\tif (sigaction(SIGINT, &sig_action, NULL) || sigaction(SIGCHLD, &sig_action, NULL)) {\n\t\tperror(\"failed to set up signal handling\");\n\t\tret = -errno;\n\n\t\tgoto cleanup;\n\t}\n\n\t// post-processing and validation of env settings\n\tif (env.min_size > env.max_size) {\n\t\tfprintf(stderr, \"min size (-z) can't be greater than max_size (-Z)\\n\");\n\t\treturn 1;\n\t}\n\n\tif (!strlen(env.object))\n\t\tstrncpy(env.object, default_object, sizeof(env.object) - 1);\n\n\tenv.page_size = sysconf(_SC_PAGE_SIZE);\n\tenv.kernel_trace = env.pid < 0 && !strlen(env.command);\n\n\t// if specific userspace program was specified,\n\t// create the child process and use an eventfd to synchronize the call to exec()\n\tif (strlen(env.command)) {\n\t\tif (env.pid >= 0) {\n\t\t\tfprintf(stderr, \"cannot specify both command and pid\\n\");\n\t\t\tret = 1;\n\n\t\t\tgoto cleanup;\n\t\t}\n\n\t\tif (event_init(&child_exec_event_fd)) {\n\t\t\tfprintf(stderr, \"failed to init child event\\n\");\n\n\t\t\tgoto cleanup;\n\t\t}\n\n\t\tconst pid_t child_pid = fork_sync_exec(env.command, child_exec_event_fd);\n\t\tif (child_pid < 0) {\n\t\t\tperror(\"failed to spawn child process\");\n\t\t\tret = -errno;\n\n\t\t\tgoto cleanup;\n\t\t}\n\n\t\tenv.pid = child_pid;\n\t}\n\n\t// allocate space for storing a stack trace\n\tstack = calloc(env.perf_max_stack_depth, sizeof(*stack));\n\tif (!stack) {\n\t\tfprintf(stderr, \"failed to allocate stack array\\n\");\n\t\tret = -ENOMEM;\n\n\t\tgoto cleanup;\n\t}\n\n#ifdef USE_BLAZESYM\n\tif (env.pid < 0) {\n\t\tsrc_kernel = (struct blaze_symbolize_src_kernel){\n\t\t\t.type_size = sizeof(src_kernel),\n\t\t\t.kallsyms = NULL,\n\t\t\t.vmlinux = NULL,\n\t\t\t.debug_syms = true,\n\t\t};\n\t\tis_kernel = true;\n\t} else {\n\t\tsrc_process = (struct blaze_symbolize_src_process){\n\t\t\t.type_size = sizeof(src_process),\n\t\t\t.pid = env.pid,\n\t\t\t.debug_syms = true,\n\t\t\t.perf_map = false,\n\t\t\t.no_map_files = false,\n\t\t};\n\t\tis_kernel = false;\n\t}\n#endif\n\n\t// allocate space for storing \"allocation\" structs\n\tif (env.combined_only)\n\t\tallocs = calloc(COMBINED_ALLOCS_MAX_ENTRIES, sizeof(*allocs));\n\telse\n\t\tallocs = calloc(ALLOCS_MAX_ENTRIES, sizeof(*allocs));\n\n\tif (!allocs) {\n\t\tfprintf(stderr, \"failed to allocate array\\n\");\n\t\tret = -ENOMEM;\n\n\t\tgoto cleanup;\n\t}\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tskel = memleak_bpf__open();\n\tif (!skel) {\n\t\tfprintf(stderr, \"failed to open bpf object\\n\");\n\t\tret = 1;\n\n\t\tgoto cleanup;\n\t}\n\n\tskel->rodata->min_size = env.min_size;\n\tskel->rodata->max_size = env.max_size;\n\tskel->rodata->page_size = env.page_size;\n\tskel->rodata->sample_rate = env.sample_rate;\n\tskel->rodata->trace_all = env.trace_all;\n\tskel->rodata->stack_flags = env.kernel_trace ? 0 : BPF_F_USER_STACK;\n\tskel->rodata->wa_missing_free = env.wa_missing_free;\n\n\tbpf_map__set_value_size(skel->maps.stack_traces,\n\t\t\t\tenv.perf_max_stack_depth * sizeof(unsigned long));\n\tbpf_map__set_max_entries(skel->maps.stack_traces, env.stack_map_max_entries);\n\n\tif (env.combined_only) {\n\t\tbpf_map__set_max_entries(skel->maps.combined_allocs, COMBINED_ALLOCS_MAX_ENTRIES);\n\t\tskel->rodata->combined_only = true;\n\t}\n\n\t// disable kernel tracepoints based on settings or availability\n\tif (env.kernel_trace) {\n\t\tif (!has_kernel_node_tracepoints())\n\t\t\tdisable_kernel_node_tracepoints(skel);\n\n\t\tif (!env.percpu)\n\t\t\tdisable_kernel_percpu_tracepoints(skel);\n\t} else {\n\t\tdisable_kernel_tracepoints(skel);\n\t}\n\n\tret = memleak_bpf__load(skel);\n\tif (ret) {\n\t\tfprintf(stderr, \"failed to load bpf object\\n\");\n\n\t\tgoto cleanup;\n\t}\n\n\tconst int allocs_fd = bpf_map__fd(skel->maps.allocs);\n\tconst int combined_allocs_fd = bpf_map__fd(skel->maps.combined_allocs);\n\tconst int stack_traces_fd = bpf_map__fd(skel->maps.stack_traces);\n\n\t// if userspace oriented, attach uprobes\n\tif (!env.kernel_trace) {\n\t\tret = attach_uprobes(skel);\n\t\tif (ret) {\n\t\t\tfprintf(stderr, \"failed to attach uprobes\\n\");\n\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\tret = memleak_bpf__attach(skel);\n\tif (ret) {\n\t\tfprintf(stderr, \"failed to attach bpf program(s)\\n\");\n\n\t\tgoto cleanup;\n\t}\n\n\t// if running a specific userspace program,\n\t// notify the child process that it can exec its program\n\tif (strlen(env.command)) {\n\t\tret = event_notify(child_exec_event_fd, 1);\n\t\tif (ret) {\n\t\t\tfprintf(stderr, \"failed to notify child to perform exec\\n\");\n\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n#ifdef USE_BLAZESYM\n\tsymbolizer = blaze_symbolizer_new();\n\tif (!symbolizer) {\n\t\tfprintf(stderr, \"Failed to create blaze symbolizer\\n\");\n\t\tret = -ENOMEM;\n\n\t\tgoto cleanup;\n\t}\n\tprint_stack_frames_func = print_stack_frames_by_blazesym;\n#else\n\tif (env.kernel_trace) {\n\t\tksyms = ksyms__load();\n\t\tif (!ksyms) {\n\t\t\tfprintf(stderr, \"Failed to load ksyms\\n\");\n\t\t\tret = -ENOMEM;\n\n\t\t\tgoto cleanup;\n\t\t}\n\t\tprint_stack_frames_func = print_stack_frames_by_ksyms;\n\t} else {\n\t\tsyms_cache = syms_cache__new(0);\n\t\tif (!syms_cache) {\n\t\t\tfprintf(stderr, \"Failed to create syms_cache\\n\");\n\t\t\tret = -ENOMEM;\n\n\t\t\tgoto cleanup;\n\t\t}\n\t\tprint_stack_frames_func = print_stack_frames_by_syms_cache;\n\t}\n#endif\n\n\tprint_headers();\n\n\t// main loop\n\twhile (!exiting && env.nr_intervals) {\n\t\tenv.nr_intervals--;\n\n\t\tsleep(env.interval);\n\n\t\tif (env.combined_only)\n\t\t\tprint_outstanding_combined_allocs(combined_allocs_fd, stack_traces_fd);\n\t\telse\n\t\t\tprint_outstanding_allocs(allocs_fd, stack_traces_fd);\n\t}\n\n\t// after loop ends, check for child process and cleanup accordingly\n\tif (env.pid > 0 && strlen(env.command)) {\n\t\tif (!child_exited) {\n\t\t\tif (kill(env.pid, SIGTERM)) {\n\t\t\t\tperror(\"failed to signal child process\");\n\t\t\t\tret = -errno;\n\n\t\t\t\tgoto cleanup;\n\t\t\t}\n\t\t\tprintf(\"signaled child process\\n\");\n\t\t}\n\n\t\tif (waitpid(env.pid, NULL, 0) < 0) {\n\t\t\tperror(\"failed to reap child process\");\n\t\t\tret = -errno;\n\n\t\t\tgoto cleanup;\n\t\t}\n\t\tprintf(\"reaped child process\\n\");\n\t}\n\ncleanup:\n#ifdef USE_BLAZESYM\n\tblaze_symbolizer_free(symbolizer);\n#else\n\tif (syms_cache)\n\t\tsyms_cache__free(syms_cache);\n\tif (ksyms)\n\t\tksyms__free(ksyms);\n#endif\n\tmemleak_bpf__destroy(skel);\n\n\tfree(allocs);\n\tfree(stack);\n\n\treturn ret;\n}\n\nlong argp_parse_long(int key, const char *arg, struct argp_state *state)\n{\n\terrno = 0;\n\tconst long temp = strtol(arg, NULL, 10);\n\tif (errno || temp <= 0) {\n\t\tfprintf(stderr, \"error arg:%c %s\\n\", (char)key, arg);\n\t\targp_usage(state);\n\t}\n\n\treturn temp;\n}\n\nerror_t argp_parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args = 0;\n\tlong age_ms;\n\n\tswitch (key) {\n\tcase 'p':\n\t\tenv.pid = argp_parse_long(key, arg, state);\n\t\tbreak;\n\tcase 't':\n\t\tenv.trace_all = true;\n\t\tbreak;\n\tcase 'a':\n\t\tenv.show_allocs = true;\n\t\tbreak;\n\tcase 'o':\n\t\tage_ms = argp_parse_long(key, arg, state);\n\t\tif (age_ms > (LONG_MAX / 1e6) || age_ms < (LONG_MIN / 1e6)) {\n\t\t\tfprintf(stderr, \"invalid AGE_MS: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.min_age_ns = age_ms * 1e6;\n\t\tbreak;\n\tcase 'c':\n\t\tstrncpy(env.command, arg, sizeof(env.command) - 1);\n\t\tbreak;\n\tcase 'C':\n\t\tenv.combined_only = true;\n\t\tbreak;\n\tcase 'F':\n\t\tenv.wa_missing_free = true;\n\t\tbreak;\n\tcase 's':\n\t\tenv.sample_rate = argp_parse_long(key, arg, state);\n\t\tbreak;\n\tcase 'S':\n\t\tstrncpy(env.symbols_prefix, arg, sizeof(env.symbols_prefix) - 1);\n\t\tbreak;\n\tcase 'T':\n\t\tenv.top_stacks = argp_parse_long(key, arg, state);\n\t\tbreak;\n\tcase 'z':\n\t\tenv.min_size = argp_parse_long(key, arg, state);\n\t\tbreak;\n\tcase 'Z':\n\t\tenv.max_size = argp_parse_long(key, arg, state);\n\t\tbreak;\n\tcase 'O':\n\t\tstrncpy(env.object, arg, sizeof(env.object) - 1);\n\t\tbreak;\n\tcase 'P':\n\t\tenv.percpu = true;\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase OPT_PERF_MAX_STACK_DEPTH:\n\t\terrno = 0;\n\t\tenv.perf_max_stack_depth = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid perf max stack depth: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase OPT_STACK_STORAGE_SIZE:\n\t\terrno = 0;\n\t\tenv.stack_map_max_entries = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid stack storage size: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tpos_args++;\n\n\t\tif (pos_args == 1) {\n\t\t\tenv.interval = argp_parse_long(key, arg, state);\n\t\t}\n\t\telse if (pos_args == 2) {\n\t\t\tenv.nr_intervals = argp_parse_long(key, arg, state);\n\t\t} else {\n\t\t\tfprintf(stderr, \"Unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\n\treturn 0;\n}\n\nint libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\n\treturn vfprintf(stderr, format, args);\n}\n\nvoid sig_handler(int signo)\n{\n\tif (signo == SIGCHLD)\n\t\tchild_exited = 1;\n\n\texiting = 1;\n}\n\nint event_init(int *fd)\n{\n\tif (!fd) {\n\t\tfprintf(stderr, \"pointer to fd is null\\n\");\n\n\t\treturn 1;\n\t}\n\n\tconst int tmp_fd = eventfd(0, EFD_CLOEXEC);\n\tif (tmp_fd < 0) {\n\t\tperror(\"failed to create event fd\");\n\n\t\treturn -errno;\n\t}\n\n\t*fd = tmp_fd;\n\n\treturn 0;\n}\n\nint event_wait(int fd, uint64_t expected_event)\n{\n\tuint64_t event = 0;\n\tconst ssize_t bytes = read(fd, &event, sizeof(event));\n\tif (bytes < 0) {\n\t\tperror(\"failed to read from fd\");\n\n\t\treturn -errno;\n\t} else if (bytes != sizeof(event)) {\n\t\tfprintf(stderr, \"read unexpected size\\n\");\n\n\t\treturn 1;\n\t}\n\n\tif (event != expected_event) {\n\t\tfprintf(stderr, \"read event %lu, expected %lu\\n\", event, expected_event);\n\n\t\treturn 1;\n\t}\n\n\treturn 0;\n}\n\nint event_notify(int fd, uint64_t event)\n{\n\tconst ssize_t bytes = write(fd, &event, sizeof(event));\n\tif (bytes < 0) {\n\t\tperror(\"failed to write to fd\");\n\n\t\treturn -errno;\n\t} else if (bytes != sizeof(event)) {\n\t\tfprintf(stderr, \"attempted to write %zu bytes, wrote %zd bytes\\n\", sizeof(event), bytes);\n\n\t\treturn 1;\n\t}\n\n\treturn 0;\n}\n\npid_t fork_sync_exec(const char *command, int fd)\n{\n\tconst pid_t pid = fork();\n\n\tswitch (pid) {\n\tcase -1:\n\t\tperror(\"failed to create child process\");\n\t\tbreak;\n\tcase 0: {\n\t\tconst uint64_t event = 1;\n\t\tif (event_wait(fd, event)) {\n\t\t\tfprintf(stderr, \"failed to wait on event\");\n\t\t\texit(EXIT_FAILURE);\n\t\t}\n\n\t\tprintf(\"received go event. executing child command\\n\");\n\n\t\tconst int err = execl(command, command, NULL);\n\t\tif (err) {\n\t\t\tperror(\"failed to execute child command\");\n\t\t\treturn -1;\n\t\t}\n\n\t\tbreak;\n\t}\n\tdefault:\n\t\tprintf(\"child created with pid: %d\\n\", pid);\n\n\t\tbreak;\n\t}\n\n\treturn pid;\n}\n\n#ifdef USE_BLAZESYM\nvoid print_stack_frame_by_blazesym(size_t frame, uint64_t addr, const struct blaze_sym *sym)\n{\n\tif (!sym || !sym->name) {\n\t\tprintf(\"\\t%zu [<%016lx>] <%s>\\n\", frame, addr, \"null sym\");\n\t\treturn;\n\t}\n\n\tconst char *loc = NULL;\n\tif (sym->code_info.file && strlen(sym->code_info.file))\n\t\tloc = sym->code_info.file;\n\telse if (sym->module && strlen(sym->module))\n\t\tloc = sym->module;\n\n\tif (loc)\n\t\tprintf(\"\\t%zu [<%016lx>] %s+0x%zx %s:%u\\n\", frame, addr, sym->name, sym->offset, loc, sym->code_info.line);\n\telse\n\t\tprintf(\"\\t%zu [<%016lx>] %s+0x%zx\\n\", frame, addr, sym->name, sym->offset);\n}\n\nvoid print_stack_frames_by_blazesym()\n{\n\tconst struct blaze_syms *syms;\n\n\tif (is_kernel) {\n\t\tsyms = blaze_symbolize_kernel_abs_addrs(symbolizer, &src_kernel, stack, env.perf_max_stack_depth);\n\t} else {\n\t\tsyms = blaze_symbolize_process_abs_addrs(symbolizer, &src_process, stack, env.perf_max_stack_depth);\n\t}\n\n\tif (!syms)\n\t\treturn;\n\n\tfor (size_t j = 0; j < syms->cnt && j < env.perf_max_stack_depth; ++j) {\n\t\tconst uint64_t addr = stack[j];\n\n\t\tif (addr == 0)\n\t\t\tbreak;\n\n\t\tconst struct blaze_sym *sym = &syms->syms[j];\n\n\t\t// no symbol found\n\t\tif (!sym->name) {\n\t\t\tprint_stack_frame_by_blazesym(j, addr, NULL);\n\t\t\tcontinue;\n\t\t}\n\n\t\tprint_stack_frame_by_blazesym(j, addr, sym);\n\t}\n\n\tblaze_syms_free(syms);\n}\n#else\nvoid print_stack_frames_by_ksyms()\n{\n\tfor (size_t i = 0; i < env.perf_max_stack_depth; ++i) {\n\t\tconst uint64_t addr = stack[i];\n\n\t\tif (addr == 0)\n\t\t\tbreak;\n\n\t\tconst struct ksym *ksym = ksyms__map_addr(ksyms, addr);\n\t\tif (ksym)\n\t\t\tprintf(\"\\t%zu [<%016lx>] %s+0x%lx\\n\", i, addr, ksym->name, addr - ksym->addr);\n\t\telse\n\t\t\tprintf(\"\\t%zu [<%016lx>] <%s>\\n\", i, addr, \"null sym\");\n\t}\n}\n\nvoid print_stack_frames_by_syms_cache()\n{\n\tconst struct syms *syms = syms_cache__get_syms(syms_cache, env.pid);\n\tif (!syms) {\n\t\tfprintf(stderr, \"Failed to get syms\\n\");\n\t\treturn;\n\t}\n\n\tfor (size_t i = 0; i < env.perf_max_stack_depth; ++i) {\n\t\tconst uint64_t addr = stack[i];\n\n\t\tif (addr == 0)\n\t\t\tbreak;\n\n\t\tstruct sym_info sinfo;\n\t\tint ret = syms__map_addr_dso(syms, addr, &sinfo);\n\t\tif (ret == 0) {\n\t\t\tprintf(\"\\t%zu [<%016lx>]\", i, addr);\n\t\t\tif (sinfo.sym_name)\n\t\t\t\tprintf(\" %s+0x%lx\", sinfo.sym_name, sinfo.sym_offset);\n\t\t\tprintf(\" [%s]\\n\", sinfo.dso_name);\n\t\t} else {\n\t\t\tprintf(\"\\t%zu [<%016lx>] <%s>\\n\", i, addr, \"null sym\");\n\t\t}\n\t}\n}\n#endif\n\nint print_stack_frames(struct allocation *allocs, size_t nr_allocs, int stack_traces_fd)\n{\n\tfor (size_t i = 0; i < nr_allocs; ++i) {\n\t\tconst struct allocation *alloc = &allocs[i];\n\n\t\tprintf(\"%zu bytes in %zu allocations from stack\\n\", alloc->size, alloc->count);\n\n\t\tif (env.show_allocs) {\n\t\t\tstruct allocation_node* it = alloc->allocations;\n\t\t\twhile (it != NULL) {\n\t\t\t\tprintf(\"\\taddr = %#lx size = %zu\\n\", it->address, it->size);\n\t\t\t\tit = it->next;\n\t\t\t}\n\t\t}\n\n\t\tif (bpf_map_lookup_elem(stack_traces_fd, &alloc->stack_id, stack)) {\n\t\t\tif (errno == ENOENT)\n\t\t\t\tcontinue;\n\n\t\t\tperror(\"failed to lookup stack trace\");\n\n\t\t\treturn -errno;\n\t\t}\n\n\t\t(*print_stack_frames_func)();\n\t}\n\n\treturn 0;\n}\n\nint alloc_size_compare(const void *a, const void *b)\n{\n\tconst struct allocation *x = (struct allocation *)a;\n\tconst struct allocation *y = (struct allocation *)b;\n\n\t// descending order\n\n\tif (x->size > y->size)\n\t\treturn -1;\n\n\tif (x->size < y->size)\n\t\treturn 1;\n\n\treturn 0;\n}\n\nint print_outstanding_allocs(int allocs_fd, int stack_traces_fd)\n{\n\ttime_t t = time(NULL);\n\tstruct tm *tm = localtime(&t);\n\n\tsize_t nr_allocs = 0;\n\tsize_t nr_missing_stacks = 0;\n\tsize_t nr_collision_stacks = 0;\n\n\t// for each struct alloc_info \"alloc_info\" in the bpf map \"allocs\"\n\tfor (uint64_t prev_key = 0, curr_key = 0;; prev_key = curr_key) {\n\t\tstruct alloc_info alloc_info = {};\n\t\tmemset(&alloc_info, 0, sizeof(alloc_info));\n\n\t\tif (bpf_map_get_next_key(allocs_fd, &prev_key, &curr_key)) {\n\t\t\tif (errno == ENOENT) {\n\t\t\t\tbreak; // no more keys, done\n\t\t\t}\n\n\t\t\tperror(\"map get next key error\");\n\n\t\t\treturn -errno;\n\t\t}\n\n\t\tif (bpf_map_lookup_elem(allocs_fd, &curr_key, &alloc_info)) {\n\t\t\tif (errno == ENOENT)\n\t\t\t\tcontinue;\n\n\t\t\tperror(\"map lookup error\");\n\n\t\t\treturn -errno;\n\t\t}\n\n\t\t// filter by age\n\t\tif (get_ktime_ns() - env.min_age_ns < alloc_info.timestamp_ns) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// filter invalid stacks\n\t\tif (alloc_info.stack_id < 0) {\n\t\t\t/* handle stack id errors */\n\t\t\tnr_missing_stacks += STACK_ID_ERR(alloc_info.stack_id);\n\t\t\tnr_collision_stacks += STACK_ID_COLLISION(alloc_info.stack_id);\n\n\t\t\tcontinue;\n\t\t}\n\n\t\t// when the stack_id exists in the allocs array,\n\t\t//   increment size with alloc_info.size\n\t\tbool stack_exists = false;\n\n\t\tfor (size_t i = 0; !stack_exists && i < nr_allocs; ++i) {\n\t\t\tstruct allocation *alloc = &allocs[i];\n\n\t\t\tif (alloc->stack_id == alloc_info.stack_id) {\n\t\t\t\talloc->size += alloc_info.size;\n\t\t\t\talloc->count++;\n\n\t\t\t\tif (env.show_allocs) {\n\t\t\t\t\tstruct allocation_node* node = malloc(sizeof(struct allocation_node));\n\t\t\t\t\tif (!node) {\n\t\t\t\t\t\tperror(\"malloc failed\");\n\t\t\t\t\t\treturn -errno;\n\t\t\t\t\t}\n\t\t\t\t\tnode->address = curr_key;\n\t\t\t\t\tnode->size = alloc_info.size;\n\t\t\t\t\tnode->next = alloc->allocations;\n\t\t\t\t\talloc->allocations = node;\n\t\t\t\t}\n\n\t\t\t\tstack_exists = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (stack_exists)\n\t\t\tcontinue;\n\n\t\t// when the stack_id does not exist in the allocs array,\n\t\t//   create a new entry in the array\n\t\tstruct allocation alloc = {\n\t\t\t.stack_id = alloc_info.stack_id,\n\t\t\t.size = alloc_info.size,\n\t\t\t.count = 1,\n\t\t\t.allocations = NULL\n\t\t};\n\n\t\tif (env.show_allocs) {\n\t\t\tstruct allocation_node* node = malloc(sizeof(struct allocation_node));\n\t\t\tif (!node) {\n\t\t\t\tperror(\"malloc failed\");\n\t\t\t\treturn -errno;\n\t\t\t}\n\t\t\tnode->address = curr_key;\n\t\t\tnode->size = alloc_info.size;\n\t\t\tnode->next = NULL;\n\t\t\talloc.allocations = node;\n\t\t}\n\n\t\tmemcpy(&allocs[nr_allocs], &alloc, sizeof(alloc));\n\t\tnr_allocs++;\n\t}\n\n\t// sort the allocs array in descending order\n\tqsort(allocs, nr_allocs, sizeof(allocs[0]), alloc_size_compare);\n\n\t// get min of allocs we stored vs the top N requested stacks\n\tsize_t nr_allocs_to_show = nr_allocs < env.top_stacks ? nr_allocs : env.top_stacks;\n\n\tprintf(\"[%d:%d:%d] Top %zu stacks with outstanding allocations:\\n\",\n\t\t\ttm->tm_hour, tm->tm_min, tm->tm_sec, nr_allocs_to_show);\n\n\tprint_stack_frames(allocs, nr_allocs_to_show, stack_traces_fd);\n\n\t// Reset allocs list so that we dont accidentaly reuse data the next time we call this function\n\tfor (size_t i = 0; i < nr_allocs; i++) {\n\t\tallocs[i].stack_id = 0;\n\t\tif (env.show_allocs) {\n\t\t\tstruct allocation_node *it = allocs[i].allocations;\n\t\t\twhile (it != NULL) {\n\t\t\t\tstruct allocation_node *this = it;\n\t\t\t\tit = it->next;\n\t\t\t\tfree(this);\n\t\t\t}\n\t\t\tallocs[i].allocations = NULL;\n\t\t}\n\t}\n\n\tif (nr_missing_stacks > 0) {\n\t\tfprintf(stderr, \"WARNING: %zu stack traces could not be displayed\"\n\t\t\t\" due to memory shortage, including %zu caused by hash collisions.\"\n\t\t\t\" Consider increasing --stack-storage-size.\\n\",\n\t\t\tnr_missing_stacks, nr_collision_stacks);\n\t}\n\n\treturn 0;\n}\n\nint print_outstanding_combined_allocs(int combined_allocs_fd, int stack_traces_fd)\n{\n\ttime_t t = time(NULL);\n\tstruct tm *tm = localtime(&t);\n\n\tsize_t nr_allocs = 0;\n\tsize_t nr_missing_stacks = 0;\n\tsize_t nr_collision_stacks = 0;\n\n\t// for each stack_id \"curr_key\" and union combined_alloc_info \"alloc\"\n\t// in bpf_map \"combined_allocs\"\n\tfor (uint64_t prev_key = 0, curr_key = 0;; prev_key = curr_key) {\n\t\tunion combined_alloc_info combined_alloc_info;\n\t\tmemset(&combined_alloc_info, 0, sizeof(combined_alloc_info));\n\n\t\tif (bpf_map_get_next_key(combined_allocs_fd, &prev_key, &curr_key)) {\n\t\t\tif (errno == ENOENT) {\n\t\t\t\tbreak; // no more keys, done\n\t\t\t}\n\n\t\t\tperror(\"map get next key error\");\n\n\t\t\treturn -errno;\n\t\t}\n\n\t\tif (bpf_map_lookup_elem(combined_allocs_fd, &curr_key, &combined_alloc_info)) {\n\t\t\tif (errno == ENOENT)\n\t\t\t\tcontinue;\n\n\t\t\tperror(\"map lookup error\");\n\n\t\t\treturn -errno;\n\t\t}\n\n\t\tconst struct allocation alloc = {\n\t\t\t.stack_id = curr_key,\n\t\t\t.size = combined_alloc_info.total_size,\n\t\t\t.count = combined_alloc_info.number_of_allocs,\n\t\t\t.allocations = NULL\n\t\t};\n\n\t\t// filter invalid stacks\n\t\tif (alloc.stack_id < 0) {\n\t\t\t/* handle stack id errors */\n\t\t\tif (STACK_ID_ERR(alloc.stack_id))\n\t\t\t\tnr_missing_stacks += alloc.count;\n\t\t\tif (STACK_ID_COLLISION(alloc.stack_id))\n\t\t\t\tnr_collision_stacks += alloc.count;\n\t\t\tcontinue;\n\t\t}\n\n\t\tmemcpy(&allocs[nr_allocs], &alloc, sizeof(alloc));\n\t\tnr_allocs++;\n\t}\n\n\tqsort(allocs, nr_allocs, sizeof(allocs[0]), alloc_size_compare);\n\n\t// get min of allocs we stored vs the top N requested stacks\n\tnr_allocs = nr_allocs < env.top_stacks ? nr_allocs : env.top_stacks;\n\n\tprintf(\"[%d:%d:%d] Top %zu stacks with outstanding allocations:\\n\",\n\t\t\ttm->tm_hour, tm->tm_min, tm->tm_sec, nr_allocs);\n\n\tprint_stack_frames(allocs, nr_allocs, stack_traces_fd);\n\n\tif (nr_missing_stacks > 0) {\n\t\tfprintf(stderr, \"WARNING: %zu stack traces could not be displayed\"\n\t\t\t\" due to memory shortage, including %zu caused by hash collisions.\"\n\t\t\t\" Consider increasing --stack-storage-size.\\n\",\n\t\t\tnr_missing_stacks, nr_collision_stacks);\n\t}\n\n\treturn 0;\n}\n\nbool has_kernel_node_tracepoints()\n{\n\treturn tracepoint_exists(\"kmem\", \"kmalloc_node\") &&\n\t\ttracepoint_exists(\"kmem\", \"kmem_cache_alloc_node\");\n}\n\nvoid disable_kernel_node_tracepoints(struct memleak_bpf *skel)\n{\n\tbpf_program__set_autoload(skel->progs.memleak__kmalloc_node, false);\n\tbpf_program__set_autoload(skel->progs.memleak__kmem_cache_alloc_node, false);\n}\n\nvoid disable_kernel_percpu_tracepoints(struct memleak_bpf *skel)\n{\n\tbpf_program__set_autoload(skel->progs.memleak__percpu_alloc_percpu, false);\n\tbpf_program__set_autoload(skel->progs.memleak__percpu_free_percpu, false);\n}\n\nvoid disable_kernel_tracepoints(struct memleak_bpf *skel)\n{\n\tbpf_program__set_autoload(skel->progs.memleak__kmalloc, false);\n\tbpf_program__set_autoload(skel->progs.memleak__kmalloc_node, false);\n\tbpf_program__set_autoload(skel->progs.memleak__kfree, false);\n\tbpf_program__set_autoload(skel->progs.memleak__kmem_cache_alloc, false);\n\tbpf_program__set_autoload(skel->progs.memleak__kmem_cache_alloc_node, false);\n\tbpf_program__set_autoload(skel->progs.memleak__kmem_cache_free, false);\n\tbpf_program__set_autoload(skel->progs.memleak__mm_page_alloc, false);\n\tbpf_program__set_autoload(skel->progs.memleak__mm_page_free, false);\n\tbpf_program__set_autoload(skel->progs.memleak__percpu_alloc_percpu, false);\n\tbpf_program__set_autoload(skel->progs.memleak__percpu_free_percpu, false);\n}\n\nint attach_uprobes(struct memleak_bpf *skel)\n{\n\tATTACH_UPROBE_CHECKED(skel, malloc, malloc_enter);\n\tATTACH_URETPROBE_CHECKED(skel, malloc, malloc_exit);\n\n\tATTACH_UPROBE_CHECKED(skel, calloc, calloc_enter);\n\tATTACH_URETPROBE_CHECKED(skel, calloc, calloc_exit);\n\n\tATTACH_UPROBE_CHECKED(skel, realloc, realloc_enter);\n\tATTACH_URETPROBE_CHECKED(skel, realloc, realloc_exit);\n\n\t/* third party allocator like jemallloc not support mmap, so remove the check. */\n\tif (strlen(env.symbols_prefix)) {\n\t\tATTACH_UPROBE(skel, mmap, mmap_enter);\n\t\tATTACH_URETPROBE(skel, mmap, mmap_exit);\n\n\t\tATTACH_UPROBE(skel, mremap, mmap_enter);\n\t\tATTACH_URETPROBE(skel, mremap, mmap_exit);\n\t} else {\n\t\tATTACH_UPROBE_CHECKED(skel, mmap, mmap_enter);\n\t\tATTACH_URETPROBE_CHECKED(skel, mmap, mmap_exit);\n\n\t\tATTACH_UPROBE_CHECKED(skel, mremap, mremap_enter);\n\t\tATTACH_URETPROBE_CHECKED(skel, mremap, mremap_exit);\n\t}\n\n\tATTACH_UPROBE_CHECKED(skel, posix_memalign, posix_memalign_enter);\n\tATTACH_URETPROBE_CHECKED(skel, posix_memalign, posix_memalign_exit);\n\n\tATTACH_UPROBE_CHECKED(skel, memalign, memalign_enter);\n\tATTACH_URETPROBE_CHECKED(skel, memalign, memalign_exit);\n\n\tATTACH_UPROBE_CHECKED(skel, free, free_enter);\n\tif (strlen(env.symbols_prefix))\n\t\tATTACH_UPROBE(skel, munmap, munmap_enter);\n\telse\n\t\tATTACH_UPROBE_CHECKED(skel, munmap, munmap_enter);\n\n\t// the following probes are intentinally allowed to fail attachment\n\n\t// deprecated in libc.so bionic\n\tATTACH_UPROBE(skel, valloc, valloc_enter);\n\tATTACH_URETPROBE(skel, valloc, valloc_exit);\n\n\t// deprecated in libc.so bionic\n\tATTACH_UPROBE(skel, pvalloc, pvalloc_enter);\n\tATTACH_URETPROBE(skel, pvalloc, pvalloc_exit);\n\n\t// added in C11\n\tATTACH_UPROBE(skel, aligned_alloc, aligned_alloc_enter);\n\tATTACH_URETPROBE(skel, aligned_alloc, aligned_alloc_exit);\n\n\n\treturn 0;\n}\n"
  },
  {
    "path": "libbpf-tools/memleak.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n#ifndef __MEMLEAK_H\n#define __MEMLEAK_H\n\n#define ALLOCS_MAX_ENTRIES 1000000\n#define COMBINED_ALLOCS_MAX_ENTRIES 10240\n#define MAP_FAILED -1\n\nstruct alloc_info {\n\t__u64 size;\n\t__u64 timestamp_ns;\n\tint stack_id;\n};\n\nunion combined_alloc_info {\n\tstruct {\n\t\t__u64 total_size : 40;\n\t\t__u64 number_of_allocs : 24;\n\t};\n\t__u64 bits;\n};\n\n#endif /* __MEMLEAK_H */\n"
  },
  {
    "path": "libbpf-tools/mountsnoop.bpf.c",
    "content": "/* SPDX-License-Identifier: GPL-2.0 */\n/* Copyright (c) 2021 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n\n#include \"compat.bpf.h\"\n#include \"mountsnoop.h\"\n\n#define MAX_ENTRIES 10240\n\nconst volatile pid_t target_pid = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, __u32);\n\t__type(value, struct arg);\n} args SEC(\".maps\");\n\nstatic int probe_entry(union sys_arg *sys_arg, enum op op)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\tstruct arg arg = {};\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\targ.ts = bpf_ktime_get_ns();\n\targ.op = op;\n\n\tswitch (op) {\n\tcase MOUNT:\n\tcase UMOUNT:\n\tcase FSOPEN:\n\tcase FSCONFIG:\n\tcase FSMOUNT:\n\tcase MOVE_MOUNT:\n\t\t__builtin_memcpy(&arg.sys, sys_arg, sizeof(*sys_arg));\n\t\tbreak;\n\tdefault:\n\t\tgoto skip;\n\t}\n\n\tbpf_map_update_elem(&args, &tid, &arg, BPF_ANY);\nskip:\n\treturn 0;\n};\n\nstatic int probe_exit(void *ctx, int ret)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\tstruct task_struct *task;\n\tstruct event *eventp;\n\tstruct arg *argp;\n\n\targp = bpf_map_lookup_elem(&args, &tid);\n\tif (!argp)\n\t\treturn 0;\n\n\teventp = reserve_buf(sizeof(*eventp));\n\tif (!eventp)\n\t\tgoto cleanup;\n\n\ttask = (struct task_struct *)bpf_get_current_task();\n\teventp->delta = bpf_ktime_get_ns() - argp->ts;\n\teventp->op = argp->op;\n\teventp->pid = pid;\n\teventp->tid = tid;\n\teventp->mnt_ns = BPF_CORE_READ(task, nsproxy, mnt_ns, ns.inum);\n\teventp->ret = ret;\n\tbpf_get_current_comm(&eventp->comm, sizeof(eventp->comm));\n\n\tswitch (argp->op) {\n\tcase MOUNT:\n\t\teventp->mount.flags = argp->sys.mount.flags;\n\t\tbpf_probe_read_user_str(eventp->mount.src,\n\t\t\t\t\tsizeof(eventp->mount.src),\n\t\t\t\t\targp->sys.mount.src);\n\t\tbpf_probe_read_user_str(eventp->mount.dest,\n\t\t\t\t\tsizeof(eventp->mount.dest),\n\t\t\t\t\targp->sys.mount.dest);\n\t\tbpf_probe_read_user_str(eventp->mount.fs,\n\t\t\t\t\tsizeof(eventp->mount.fs),\n\t\t\t\t\targp->sys.mount.fs);\n\t\tbpf_probe_read_user_str(eventp->mount.data,\n\t\t\t\t\tsizeof(eventp->mount.data),\n\t\t\t\t\targp->sys.mount.data);\n\t\tbreak;\n\tcase UMOUNT:\n\t\teventp->umount.flags = argp->sys.umount.flags;\n\t\tbpf_probe_read_user_str(eventp->umount.dest,\n\t\t\t\t\tsizeof(eventp->umount.dest),\n\t\t\t\t\targp->sys.umount.dest);\n\t\tbreak;\n\tcase FSOPEN:\n\t\teventp->fsopen.flags = argp->sys.fsopen.flags;\n\t\tbpf_probe_read_user_str(eventp->fsopen.fs,\n\t\t\t\t\tsizeof(eventp->fsopen.fs),\n\t\t\t\t\targp->sys.fsopen.fs);\n\t\tbreak;\n\tcase FSCONFIG:\n\t\teventp->fsconfig.fd = argp->sys.fsconfig.fd;\n\t\teventp->fsconfig.cmd = argp->sys.fsconfig.cmd;\n\t\tbpf_probe_read_user_str(eventp->fsconfig.key,\n\t\t\t\t\tsizeof(eventp->fsconfig.key),\n\t\t\t\t\targp->sys.fsconfig.key);\n\t\tbpf_probe_read_user_str(eventp->fsconfig.value,\n\t\t\t\t\tsizeof(eventp->fsconfig.value),\n\t\t\t\t\targp->sys.fsconfig.value);\n\t\teventp->fsconfig.aux = argp->sys.fsconfig.aux;\n\t\tbreak;\n\tcase FSMOUNT:\n\t\teventp->fsmount.fs_fd = argp->sys.fsmount.fs_fd;\n\t\teventp->fsmount.flags = argp->sys.fsmount.flags;\n\t\teventp->fsmount.attr_flags = argp->sys.fsmount.attr_flags;\n\t\tbreak;\n\tcase MOVE_MOUNT:\n\t\teventp->move_mount.from_dfd = argp->sys.move_mount.from_dfd;\n\t\tbpf_probe_read_user_str(eventp->move_mount.from_pathname,\n\t\t\t\t\tsizeof(eventp->move_mount.from_pathname),\n\t\t\t\t\targp->sys.move_mount.from_pathname);\n\t\teventp->move_mount.to_dfd = argp->sys.move_mount.to_dfd;\n\t\tbpf_probe_read_user_str(eventp->move_mount.to_pathname,\n\t\t\t\t\tsizeof(eventp->move_mount.to_pathname),\n\t\t\t\t\targp->sys.move_mount.to_pathname);\n\t\tbreak;\n\t}\n\n\tsubmit_buf(ctx, eventp, sizeof(*eventp));\n\ncleanup:\n\tbpf_map_delete_elem(&args, &tid);\n\treturn 0;\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_mount\")\nint mount_entry(struct syscall_trace_enter *ctx)\n{\n\tunion sys_arg arg = {};\n\n\targ.mount.src = (const char *)ctx->args[0];\n\targ.mount.dest = (const char *)ctx->args[1];\n\targ.mount.fs = (const char *)ctx->args[2];\n\targ.mount.flags = (__u64)ctx->args[3];\n\targ.mount.data = (const char *)ctx->args[4];\n\n\treturn probe_entry(&arg, MOUNT);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_mount\")\nint mount_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, (int)ctx->ret);\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_umount\")\nint umount_entry(struct syscall_trace_enter *ctx)\n{\n\tunion sys_arg arg = {};\n\n\targ.umount.dest = (const char *)ctx->args[0];\n\targ.umount.flags = (__u64)ctx->args[1];\n\n\treturn probe_entry(&arg, UMOUNT);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_umount\")\nint umount_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, (int)ctx->ret);\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_fsopen\")\nint fsopen_entry(struct syscall_trace_enter *ctx)\n{\n\tunion sys_arg arg = {};\n\n\targ.fsopen.fs = (const char *)ctx->args[0];\n\targ.fsopen.flags = (__u32)ctx->args[1];\n\n\treturn probe_entry(&arg, FSOPEN);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_fsopen\")\nint fsopen_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, (int)ctx->ret);\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_fsconfig\")\nint fsconfig_entry(struct syscall_trace_enter *ctx)\n{\n\tunion sys_arg arg = {};\n\n\targ.fsconfig.fd = (int)ctx->args[0];\n\targ.fsconfig.cmd = (int)ctx->args[1];\n\targ.fsconfig.key = (const char *)ctx->args[2];\n\targ.fsconfig.value = (const char *)ctx->args[3];\n\targ.fsconfig.aux = (int)ctx->args[4];\n\n\treturn probe_entry(&arg, FSCONFIG);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_fsconfig\")\nint fsconfig_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, (int)ctx->ret);\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_fsmount\")\nint fsmount_entry(struct syscall_trace_enter *ctx)\n{\n\tunion sys_arg arg = {};\n\n\targ.fsmount.fs_fd = (__u32)ctx->args[0];\n\targ.fsmount.flags = (__u32)ctx->args[1];\n\targ.fsmount.attr_flags = (__u32)ctx->args[2];\n\n\treturn probe_entry(&arg, FSMOUNT);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_fsmount\")\nint fsmount_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, (int)ctx->ret);\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_move_mount\")\nint move_mount_entry(struct syscall_trace_enter *ctx)\n{\n\tunion sys_arg arg = {};\n\n\targ.move_mount.from_dfd = (int)ctx->args[0];\n\targ.move_mount.from_pathname = (const char *)ctx->args[1];\n\targ.move_mount.to_dfd = (int)ctx->args[2];\n\targ.move_mount.to_pathname = (const char *)ctx->args[3];\n\n\treturn probe_entry(&arg, MOVE_MOUNT);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_move_mount\")\nint move_mount_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, (int)ctx->ret);\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/mountsnoop.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n\n/*\n * mountsnoop  Trace mount(2), umount(2), fsopen(2), fsconfig(2), fsmount(2)\n *             move_mount(2) syscalls\n *\n * Copyright (c) 2021 Hengqi Chen\n * 30-May-2021   Hengqi Chen   Created this.\n * 20-Dec-2024   Rong Tao      Support fsopen(2), fsconfig(2), fsmount(2),\n *                             move_mount(2) syscalls.\n */\n#ifndef _GNU_SOURCE\n#define _GNU_SOURCE\n#endif\n#include <argp.h>\n#include <errno.h>\n#include <fcntl.h>\n#include <signal.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"mountsnoop.h\"\n#include \"mountsnoop.skel.h\"\n#include \"compat.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n\n#define warn(...) fprintf(stderr, __VA_ARGS__)\n#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))\n\n/* https://www.gnu.org/software/gnulib/manual/html_node/strerrorname_005fnp.html */\n#if !defined(__GLIBC__) || __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 32)\n\tconst char *strerrorname_np(int errnum)\n\t{\n\t\treturn NULL;\n\t}\n#endif\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstatic pid_t target_pid = 0;\nstatic bool emit_timestamp = false;\nstatic bool output_vertically = false;\nstatic bool verbose = false;\n\nstatic const char *mnt_flags_names[] = {\n\t[0] = \"MS_RDONLY\",\n\t[1] = \"MS_NOSUID\",\n\t[2] = \"MS_NODEV\",\n\t[3] = \"MS_NOEXEC\",\n\t[4] = \"MS_SYNCHRONOUS\",\n\t[5] = \"MS_REMOUNT\",\n\t[6] = \"MS_MANDLOCK\",\n\t[7] = \"MS_DIRSYNC\",\n\t[8] = \"MS_NOSYMFOLLOW\",\n\t[9] = \"MS_NOATIME\",\n\t[10] = \"MS_NODIRATIME\",\n\t[11] = \"MS_BIND\",\n\t[12] = \"MS_MOVE\",\n\t[13] = \"MS_REC\",\n\t[14] = \"MS_VERBOSE\",\n\t[15] = \"MS_SILENT\",\n\t[16] = \"MS_POSIXACL\",\n\t[17] = \"MS_UNBINDABLE\",\n\t[18] = \"MS_PRIVATE\",\n\t[19] = \"MS_SLAVE\",\n\t[20] = \"MS_SHARED\",\n\t[21] = \"MS_RELATIME\",\n\t[22] = \"MS_KERNMOUNT\",\n\t[23] = \"MS_I_VERSION\",\n\t[24] = \"MS_STRICTATIME\",\n\t[25] = \"MS_LAZYTIME\",\n\t[26] = \"MS_SUBMOUNT\",\n\t[27] = \"MS_NOREMOTELOCK\",\n\t[28] = \"MS_NOSEC\",\n\t[29] = \"MS_BORN\",\n\t[30] = \"MS_ACTIVE\",\n\t[31] = \"MS_NOUSER\",\n};\n\nstatic const struct fsmount_flags_names {\n\tunsigned long value;\n\tconst char *name;\n} fsmount_flags_names[] = {\n\t{ 0x00000001, \"FSMOUNT_CLOEXEC\" },\n};\n\n/**\n * See /usr/include/sys/mount.h fsmount(2)\n */\nstatic const struct fsmount_attr_flags_names {\n\tunsigned long value;\n\tconst char *name;\n} fsmount_attr_flags_names[] = {\n\t{ 0x00000001, \"MOUNT_ATTR_RDONLY\" },\n\t{ 0x00000002, \"MOUNT_ATTR_NOSUID\" },\n\t{ 0x00000004, \"MOUNT_ATTR_NODEV\" },\n\t{ 0x00000008, \"MOUNT_ATTR_NOEXEC\" },\n\t{ 0x00000070, \"MOUNT_ATTR__ATIME\" },\n\t{ 0x00000000, \"MOUNT_ATTR_RELATIME\" },\n\t{ 0x00000010, \"MOUNT_ATTR_NOATIME\" },\n\t{ 0x00000020, \"MOUNT_ATTR_STRICTATIME\" },\n\t{ 0x00000080, \"MOUNT_ATTR_NODIRATIME\" },\n\t{ 0x00100000, \"MOUNT_ATTR_IDMAP\" },\n\t{ 0x00200000, \"MOUNT_ATTR_NOSYMFOLLOW\" },\n};\n\nstatic const char *fsconfig_cmd_names[] = {\n\t[0] = \"FSCONFIG_SET_FLAG\",\n\t[1] = \"FSCONFIG_SET_STRING\",\n\t[2] = \"FSCONFIG_SET_BINARY\",\n\t[3] = \"FSCONFIG_SET_PATH\",\n\t[4] = \"FSCONFIG_SET_PATH_EMPTY\",\n\t[5] = \"FSCONFIG_SET_FD\",\n\t[6] = \"FSCONFIG_CMD_CREATE\",\n\t[7] = \"FSCONFIG_CMD_RECONFIGURE\",\n\t[8] = \"FSCONFIG_CMD_CREATE_EXCL\",\n};\n\n/**\n * See /usr/include/sys/mount.h move_mount(2)\n */\nstatic const struct move_mount_flags_names {\n\tunsigned long value;\n\tconst char *name;\n} move_mount_flags_names[] = {\n\t{ 0x00000001, \"MOVE_MOUNT_F_SYMLINKS\" },\n\t{ 0x00000002, \"MOVE_MOUNT_F_AUTOMOUNTS\" },\n\t{ 0x00000004, \"MOVE_MOUNT_F_EMPTY_PATH\" },\n\t{ 0x00000010, \"MOVE_MOUNT_T_SYMLINKS\" },\n\t{ 0x00000020, \"MOVE_MOUNT_T_AUTOMOUNTS\" },\n\t{ 0x00000040, \"MOVE_MOUNT_T_EMPTY_PATH\" },\n\t{ 0x00000100, \"MOVE_MOUNT_SET_GROUP\" },\n\t{ 0x00000200, \"MOVE_MOUNT_BENEATH\" },\n};\n\nconst char *argp_program_version = \"mountsnoop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace mount, umount, fsopen, fsconfig, fsmount, move_mount syscalls.\\n\"\n\"\\n\"\n\"USAGE: mountsnoop [-h] [-t] [-p PID] [-v]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    mountsnoop         # trace mount relative syscalls\\n\"\n\"    mountsnoop -d      # detailed output (one line per column value)\\n\"\n\"    mountsnoop -p 1216 # only trace PID 1216\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"timestamp\", 't', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"detailed\", 'd', NULL, 0, \"Output result in detail mode\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tlong pid;\n\n\tswitch (key) {\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\twarn(\"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\ttarget_pid = pid;\n\t\tbreak;\n\tcase 't':\n\t\temit_timestamp = true;\n\t\tbreak;\n\tcase 'd':\n\t\toutput_vertically = true;\n\t\tbreak;\n\tcase 'v':\n\t\tverbose = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\n/**\n * Used to print special fd, such as AT_FDCWD.\n */\nconst char *strfd(int fd)\n{\n\tstatic char buf[8];\n\tif (fd == AT_FDCWD)\n\t\treturn \"AT_FDCWD\";\n\tsnprintf(buf, 8, \"%d\", fd);\n\treturn buf;\n}\n\nstatic const char *strmountflags(__u64 flags)\n{\n\tstatic char str[512];\n\tint i;\n\n\tif (!flags)\n\t\treturn \"0x0\";\n\n\tstr[0] = '\\0';\n\tfor (i = 0; i < ARRAY_SIZE(mnt_flags_names); i++) {\n\t\tif (!((1 << i) & flags))\n\t\t\tcontinue;\n\t\tif (str[0])\n\t\t\tstrcat(str, \" | \");\n\t\tstrcat(str, mnt_flags_names[i]);\n\t}\n\treturn str;\n}\n\n/**\n * Print fsmount(2) flags\n */\nstatic const char *strfsmntflags(__u32 flags)\n{\n\tstatic char str[512];\n\tint i;\n\n\tif (!flags)\n\t\treturn \"0x0\";\n\n\tstr[0] = '\\0';\n\tfor (i = 0; i < ARRAY_SIZE(fsmount_flags_names); i++) {\n\t\tif (!(fsmount_flags_names[i].value & flags))\n\t\t\tcontinue;\n\t\tif (str[0])\n\t\t\tstrcat(str, \" | \");\n\t\tstrcat(str, fsmount_flags_names[i].name);\n\t}\n\treturn str;\n}\n\n/**\n * Print fsmount(2) attr_flags\n */\nstatic const char *strfsmntattrflags(__u32 attr_flags)\n{\n\tstatic char str[512];\n\tint i;\n\n\tstr[0] = '\\0';\n\tfor (i = 0; i < ARRAY_SIZE(fsmount_attr_flags_names); i++) {\n\t\tif (!(fsmount_attr_flags_names[i].value & attr_flags))\n\t\t\tcontinue;\n\t\tif (str[0])\n\t\t\tstrcat(str, \" | \");\n\t\tstrcat(str, fsmount_attr_flags_names[i].name);\n\t}\n\treturn str;\n}\n\n/**\n * Print move_mount(2) flags\n */\nstatic const char *strmovemntflags(__u32 flags)\n{\n\tstatic char str[512];\n\tint i;\n\n\tstr[0] = '\\0';\n\tfor (i = 0; i < ARRAY_SIZE(move_mount_flags_names); i++) {\n\t\tif (!(move_mount_flags_names[i].value & flags))\n\t\t\tcontinue;\n\t\tif (str[0])\n\t\t\tstrcat(str, \" | \");\n\t\tstrcat(str, move_mount_flags_names[i].name);\n\t}\n\treturn str;\n}\n\nstatic const char *strcmd(int cmd)\n{\n\t/**\n\t * 0: FSCONFIG_SET_FLAG\n\t * 8: FSCONFIG_CMD_CREATE_EXCL\n\t */\n\tif (cmd >= 0 && cmd <= 8)\n\t\treturn fsconfig_cmd_names[cmd];\n\treturn \"UNKNOWN\";\n}\n\nstatic const char *strerrno(int errnum)\n{\n\tconst char *errstr;\n\tstatic char ret[32] = {};\n\n\tif (!errnum)\n\t\treturn \"0\";\n\n\tret[0] = '\\0';\n\terrstr = strerrorname_np(-errnum);\n\tif (!errstr) {\n\t\tsnprintf(ret, sizeof(ret), \"%d\", errnum);\n\t\treturn ret;\n\t}\n\n\tsnprintf(ret, sizeof(ret), \"-%s\", errstr);\n\treturn ret;\n}\n\nstatic const char *gen_call(const struct event *e)\n{\n\tstatic char call[10240];\n\n\tmemset(call, 0, sizeof(call));\n\tswitch (e->op) {\n\tcase UMOUNT:\n\t\tsnprintf(call, sizeof(call), \"umount(\\\"%s\\\", %s) = %s\",\n\t\t\t e->umount.dest, strmountflags(e->umount.flags),\n\t\t\t strerrno(e->ret));\n\t\tbreak;\n\tcase MOUNT:\n\t\tsnprintf(call, sizeof(call), \"mount(\\\"%s\\\", \\\"%s\\\", \\\"%s\\\", %s, \\\"%s\\\") = %s\",\n\t\t\t e->mount.src, e->mount.dest, e->mount.fs,\n\t\t\t strmountflags(e->mount.flags), e->mount.data,\n\t\t\t strerrno(e->ret));\n\t\tbreak;\n\tcase FSOPEN:\n\t\tsnprintf(call, sizeof(call), \"fsopen(\\\"%s\\\", %s) = %s\",\n\t\t\t e->fsopen.fs, strmountflags(e->fsopen.flags),\n\t\t\t strerrno(e->ret));\n\t\tbreak;\n\tcase FSCONFIG:\n\t\tsnprintf(call, sizeof(call), \"fsconfig(%d, \\\"%s\\\", \\\"%s\\\", \\\"%s\\\", %d) = %s\",\n\t\t\t e->fsconfig.fd, strcmd(e->fsconfig.cmd),\n\t\t\t e->fsconfig.key, e->fsconfig.value, e->fsconfig.aux,\n\t\t\t strerrno(e->ret));\n\t\tbreak;\n\tcase FSMOUNT:\n\t\tsnprintf(call, sizeof(call), \"fsmount(%d, \\\"%s\\\", \\\"%s\\\") = %s\",\n\t\t\t e->fsmount.fs_fd, strfsmntflags(e->fsmount.flags),\n\t\t\t strfsmntattrflags(e->fsmount.attr_flags),\n\t\t\t strerrno(e->ret));\n\t\tbreak;\n\tcase MOVE_MOUNT:\n\t\tsnprintf(call, sizeof(call), \"move_mount(%d, \\\"%s\\\", %s, \\\"%s\\\", \\\"%s\\\") = %s\",\n\t\t\t e->move_mount.from_dfd, e->move_mount.from_pathname,\n\t\t\t strfd(e->move_mount.to_dfd), e->move_mount.to_pathname,\n\t\t\t strmovemntflags(e->move_mount.flags),\n\t\t\t strerrno(e->ret));\n\t\tbreak;\n\tdefault:\n\t\tbreak;\n\t}\n\treturn call;\n}\n\nstatic int handle_event(void *ctx, void *data, size_t len)\n{\n\tconst struct event *e = data;\n\tchar ts[32];\n\tconst char *indent;\n\tstatic const char *op_name[] = {\n\t\t[MOUNT] = \"MOUNT\",\n\t\t[UMOUNT] = \"UMOUNT\",\n\t\t[FSOPEN] = \"FSOPEN\",\n\t\t[FSCONFIG] = \"FSCONFIG\",\n\t\t[FSMOUNT] = \"FSMOUNT\",\n\t\t[MOVE_MOUNT] = \"MOVE_MOUNT\",\n\t};\n\n\tif (emit_timestamp) {\n\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\tprintf(\"%s\", ts);\n\t\tindent = \"    \";\n\t} else {\n\t\tindent = \"\";\n\t}\n\tif (!output_vertically) {\n\t\tprintf(\"%-16s %-7d %-7d %-11u %s\\n\",\n\t\t       e->comm, e->pid, e->tid, e->mnt_ns, gen_call(e));\n\t\treturn 0;\n\t}\n\tif (emit_timestamp)\n\t\tprintf(\"\\n\");\n\tprintf(\"%sPID:    %d\\n\", indent, e->pid);\n\tprintf(\"%sTID:    %d\\n\", indent, e->tid);\n\tprintf(\"%sCOMM:   %s\\n\", indent, e->comm);\n\tprintf(\"%sOP:     %s\\n\", indent, op_name[e->op]);\n\tprintf(\"%sRET:    %s\\n\", indent, strerrno(e->ret));\n\tprintf(\"%sLAT:    %lldus\\n\", indent, e->delta / 1000);\n\tprintf(\"%sMNT_NS: %u\\n\", indent, e->mnt_ns);\n\tswitch (e->op) {\n\tcase MOUNT:\n\t\tprintf(\"%sFS:     %s\\n\", indent, e->mount.fs);\n\t\tprintf(\"%sSOURCE: %s\\n\", indent, e->mount.src);\n\t\tprintf(\"%sTARGET: %s\\n\", indent, e->mount.dest);\n\t\tprintf(\"%sDATA:   %s\\n\", indent, e->mount.data);\n\t\tprintf(\"%sFLAGS:  %s\\n\", indent, strmountflags(e->mount.flags));\n\t\tbreak;\n\tcase UMOUNT:\n\t\tprintf(\"%sTARGET: %s\\n\", indent, e->umount.dest);\n\t\tprintf(\"%sFLAGS:  %s\\n\", indent, strmountflags(e->umount.flags));\n\t\tbreak;\n\tcase FSOPEN:\n\t\tprintf(\"%sFS:     %s\\n\", indent, e->fsopen.fs);\n\t\tprintf(\"%sFLAGS:  %s\\n\", indent, strmountflags(e->fsopen.flags));\n\t\tbreak;\n\tcase FSCONFIG:\n\t\tprintf(\"%sFD:     %d\\n\", indent, e->fsconfig.fd);\n\t\tprintf(\"%sCMD:    %s\\n\", indent, strcmd(e->fsconfig.cmd));\n\t\tprintf(\"%sKEY:    %s\\n\", indent, e->fsconfig.key);\n\t\tprintf(\"%sVALUE:  %s\\n\", indent, e->fsconfig.value);\n\t\tbreak;\n\tcase FSMOUNT:\n\t\tprintf(\"%sFS_FD:       %d\\n\", indent, e->fsmount.fs_fd);\n\t\tprintf(\"%sFLAGS:       %s\\n\", indent, strfsmntflags(e->fsmount.flags));\n\t\tprintf(\"%sATTR_FLAGS:  %s\\n\", indent, strfsmntattrflags(e->fsmount.attr_flags));\n\t\tbreak;\n\tcase MOVE_MOUNT:\n\t\tprintf(\"%sFROM_DFD:       %d\\n\", indent, e->move_mount.from_dfd);\n\t\tprintf(\"%sFROM_PATHNAME:  %s\\n\", indent, e->move_mount.from_pathname);\n\t\tprintf(\"%sTO_DFD:         %d\\n\", indent, e->move_mount.to_dfd);\n\t\tprintf(\"%sTO_PATHNAME:    %s\\n\", indent, e->move_mount.to_pathname);\n\t\tprintf(\"%sFLAGS:          %s\\n\", indent, strmovemntflags(e->move_mount.flags));\n\t\tbreak;\n\tdefault:\n\t\tbreak;\n\t}\n\tprintf(\"\\n\");\n\n\treturn 0;\n}\n\nstatic void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\twarn(\"lost %llu events on CPU #%d\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct bpf_buffer *buf = NULL;\n\tstruct mountsnoop_bpf *obj;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = mountsnoop_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\twarn(\"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tobj->rodata->target_pid = target_pid;\n\n\tbuf = bpf_buffer__new(obj->maps.events, obj->maps.heap);\n\tif (!buf) {\n\t\terr = -errno;\n\t\twarn(\"failed to create ring/perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/**\n\t * kernel commit 24dcb3d90a1f (\"vfs: syscall: Add fsopen() to prepare\n\t * for superblock creation\") v5.1-rc1-5-g24dcb3d90a1f\n\t */\n\tif (!tracepoint_exists(\"syscalls\", \"sys_enter_fsopen\")) {\n\t\tbpf_program__set_autoload(obj->progs.fsopen_entry, false);\n\t\tbpf_program__set_autoload(obj->progs.fsopen_exit, false);\n\t}\n\n\t/**\n\t * kernel commit ecdab150fddb (\"vfs: syscall: Add fsconfig() for\n\t * configuring and managing a context\") v5.1-rc1-7-gecdab150fddb\n\t */\n\tif (!tracepoint_exists(\"syscalls\", \"sys_enter_fsconfig\")) {\n\t\tbpf_program__set_autoload(obj->progs.fsconfig_entry, false);\n\t\tbpf_program__set_autoload(obj->progs.fsconfig_exit, false);\n\t}\n\n\t/**\n\t * kernel commit 93766fbd2696 (\"vfs: syscall: Add fsmount() to create\n\t * a mount for a superblock\") v5.1-rc1-8-g93766fbd2696\n\t */\n\tif (!tracepoint_exists(\"syscalls\", \"sys_enter_fsmount\")) {\n\t\tbpf_program__set_autoload(obj->progs.fsmount_entry, false);\n\t\tbpf_program__set_autoload(obj->progs.fsmount_exit, false);\n\t}\n\n\t/**\n\t * kernel commit 2db154b3ea8e (\"vfs: syscall: Add move_mount(2) to\n\t * move mounts around\") v5.1-rc1-2-g2db154b3ea8e\n\t */\n\tif (!tracepoint_exists(\"syscalls\", \"sys_enter_move_mount\")) {\n\t\tbpf_program__set_autoload(obj->progs.move_mount_entry, false);\n\t\tbpf_program__set_autoload(obj->progs.move_mount_exit, false);\n\t}\n\n\terr = mountsnoop_bpf__load(obj);\n\tif (err) {\n\t\twarn(\"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = mountsnoop_bpf__attach(obj);\n\tif (err) {\n\t\twarn(\"failed to attach BPF programs: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = bpf_buffer__open(buf, handle_event, handle_lost_events, NULL);\n\tif (err) {\n\t\twarn(\"failed to open ring/perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\twarn(\"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\tif (!output_vertically) {\n\t\tif (emit_timestamp)\n\t\t\tprintf(\"%-8s \", \"TIME\");\n\t\tprintf(\"%-16s %-7s %-7s %-11s %s\\n\", \"COMM\", \"PID\", \"TID\", \"MNT_NS\", \"CALL\");\n\t}\n\n\twhile (!exiting) {\n\t\terr = bpf_buffer__poll(buf, POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling ring/perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tbpf_buffer__free(buf);\n\tmountsnoop_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/mountsnoop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __MOUNTSNOOP_H\n#define __MOUNTSNOOP_H\n\n#define TASK_COMM_LEN\t16\n#define FS_NAME_LEN\t8\n#define DATA_LEN\t512\n#define PATH_MAX\t4096\n\nenum op {\n\tOP_MIN, /* skip 0 */\n\tMOUNT,\n\tUMOUNT,\n\tFSOPEN,\n\tFSCONFIG,\n\tFSMOUNT,\n\tMOVE_MOUNT,\n};\n\nunion sys_arg {\n\t/* op=MOUNT */\n\tstruct {\n\t\t__u64 flags;\n\t\tconst char *src;\n\t\tconst char *dest;\n\t\tconst char *fs;\n\t\tconst char *data;\n\t} mount;\n\t/* op=UMOUNT */\n\tstruct {\n\t\t__u64 flags;\n\t\tconst char *dest;\n\t} umount;\n\t/* op=FSOPEN */\n\tstruct {\n\t\tconst char *fs;\n\t\t__u32 flags;\n\t} fsopen;\n\t/* op=FSCONFIG */\n\tstruct {\n\t\tint fd;\n\t\tunsigned int cmd;\n\t\tconst char *key;\n\t\tconst char *value;\n\t\tint aux;\n\t} fsconfig;\n\t/* op=FSMOUNT */\n\tstruct {\n\t\tint fs_fd;\n\t\t__u32 flags;\n\t\t__u32 attr_flags;\n\t} fsmount;\n\t/* op=MOVE_MOUNT */\n\tstruct {\n\t\tint from_dfd;\n\t\tconst char *from_pathname;\n\t\tint to_dfd;\n\t\tconst char *to_pathname;\n\t\t__u32 flags;\n\t} move_mount;\n};\n\nstruct arg {\n\t__u64 ts;\n\tenum op op;\n\tunion sys_arg sys;\n};\n\nstruct event {\n\t__u64 delta;\n\t__u32 pid;\n\t__u32 tid;\n\tunsigned int mnt_ns;\n\tint ret;\n\tenum op op;\n\tchar comm[TASK_COMM_LEN];\n\tunion {\n\t\t/* op=MOUNT */\n\t\tstruct {\n\t\t\t__u64 flags;\n\t\t\tchar fs[FS_NAME_LEN];\n\t\t\tchar src[PATH_MAX];\n\t\t\tchar dest[PATH_MAX];\n\t\t\tchar data[DATA_LEN];\n\t\t} mount;\n\t\t/* op=UMOUNT */\n\t\tstruct {\n\t\t\t__u64 flags;\n\t\t\tchar dest[PATH_MAX];\n\t\t} umount;\n\t\t/* op=FSOPEN */\n\t\tstruct {\n\t\t\tchar fs[FS_NAME_LEN];\n\t\t\t__u32 flags;\n\t\t} fsopen;\n\t\t/* op=FSCONFIG */\n\t\tstruct {\n\t\t\tint fd;\n\t\t\tunsigned int cmd;\n\t\t\tchar key[DATA_LEN];\n\t\t\tchar value[DATA_LEN];\n\t\t\tint aux;\n\t\t} fsconfig;\n\t\t/* op=FSMOUNT */\n\t\tstruct {\n\t\t\tint fs_fd;\n\t\t\t__u32 flags;\n\t\t\t__u32 attr_flags;\n\t\t} fsmount;\n\t\t/* op=MOVE_MOUNT */\n\t\tstruct {\n\t\t\tint from_dfd;\n\t\t\tchar from_pathname[PATH_MAX];\n\t\t\tint to_dfd;\n\t\t\tchar to_pathname[PATH_MAX];\n\t\t\t__u32 flags;\n\t\t} move_mount;\n\t};\n};\n\n#endif /* __MOUNTSNOOP_H */\n"
  },
  {
    "path": "libbpf-tools/numamove.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, u32);\n\t__type(value, u64);\n} start SEC(\".maps\");\n\n__u64 latency = 0;\n__u64 num = 0;\n\nstatic int __migrate_misplaced(void)\n{\n\tu32 pid = bpf_get_current_pid_tgid();\n\tu64 ts = bpf_ktime_get_ns();\n\n\tbpf_map_update_elem(&start, &pid, &ts, 0);\n\treturn 0;\n}\n\nSEC(\"fentry/migrate_misplaced_page\")\nint BPF_PROG(fentry_migrate_misplaced_page)\n{\n\treturn __migrate_misplaced();\n}\n\nSEC(\"fentry/migrate_misplaced_folio\")\nint BPF_PROG(fentry_migrate_misplaced_folio)\n{\n\treturn __migrate_misplaced();\n}\n\nSEC(\"kprobe/migrate_misplaced_page\")\nint BPF_PROG(kprobe_migrate_misplaced_page)\n{\n\treturn __migrate_misplaced();\n}\n\nSEC(\"kprobe/migrate_misplaced_folio\")\nint BPF_PROG(kprobe_migrate_misplaced_folio)\n{\n\treturn __migrate_misplaced();\n}\n\nstatic int __migrate_misplaced_exit(void)\n{\n\tu32 pid = bpf_get_current_pid_tgid();\n\tu64 *tsp, ts = bpf_ktime_get_ns();\n\ts64 delta;\n\n\ttsp = bpf_map_lookup_elem(&start, &pid);\n\tif (!tsp)\n\t\treturn 0;\n\tdelta = (s64)(ts - *tsp);\n\tif (delta < 0)\n\t\tgoto cleanup;\n\t__sync_fetch_and_add(&latency, delta / 1000000U);\n\t__sync_fetch_and_add(&num, 1);\n\ncleanup:\n\tbpf_map_delete_elem(&start, &pid);\n\treturn 0;\n}\n\nSEC(\"fexit/migrate_misplaced_page\")\nint BPF_PROG(fexit_migrate_misplaced_page_exit)\n{\n\treturn __migrate_misplaced_exit();\n}\n\nSEC(\"fexit/migrate_misplaced_folio\")\nint BPF_PROG(fexit_migrate_misplaced_folio_exit)\n{\n\treturn __migrate_misplaced_exit();\n}\n\nSEC(\"kretprobe/migrate_misplaced_page\")\nint BPF_PROG(kretprobe_migrate_misplaced_page_exit)\n{\n\treturn __migrate_misplaced_exit();\n}\n\nSEC(\"kretprobe/migrate_misplaced_folio\")\nint BPF_PROG(kretprobe_migrate_misplaced_folio_exit)\n{\n\treturn __migrate_misplaced_exit();\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/numamove.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on numamove(8) from BPF-Perf-Tools-Book by Brendan Gregg.\n//  8-Jun-2020   Wenbo Zhang   Created this.\n// 30-Jan-2023   Rong Tao      Use fentry_can_attach() to decide use fentry/kprobe.\n// 06-Apr-2024   Rong Tao      Support migrate_misplaced_folio()\n#include <argp.h>\n#include <signal.h>\n#include <stdbool.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"numamove.skel.h\"\n#include \"trace_helpers.h\"\n\nstatic struct env {\n\tbool verbose;\n} env;\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"numamove 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Show page migrations of type NUMA misplaced per second.\\n\"\n\"\\n\"\n\"USAGE: numamove [--help]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    numamove              # Show page migrations' count and latency\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct numamove_bpf *obj;\n\tchar ts[32];\n\tint err;\n\tbool use_folio, use_fentry;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = numamove_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open and/or load BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tif (!obj->bss) {\n\t\tfprintf(stderr, \"Memory-mapping BPF maps is supported starting from Linux 5.7, please upgrade.\\n\");\n\t\tgoto cleanup;\n\t}\n\n\t/* It fallbacks to kprobes when kernel does not support fentry. */\n\tif (fentry_can_attach(\"migrate_misplaced_folio\", NULL)) {\n\t\tuse_fentry = true;\n\t\tuse_folio = true;\n\t} else if (kprobe_exists(\"migrate_misplaced_folio\")) {\n\t\tuse_fentry = false;\n\t\tuse_folio = true;\n\t} else if (fentry_can_attach(\"migrate_misplaced_page\", NULL)) {\n\t\tuse_fentry = true;\n\t\tuse_folio = false;\n\t} else if (kprobe_exists(\"migrate_misplaced_page\")) {\n\t\tuse_fentry = false;\n\t\tuse_folio = false;\n\t} else {\n\t\tfprintf(stderr, \"can't found any fentry/kprobe of migrate misplaced folio/page\\n\");\n\t\treturn 1;\n\t}\n\n\tbpf_program__set_autoload(obj->progs.fentry_migrate_misplaced_folio, (use_fentry && use_folio));\n\tbpf_program__set_autoload(obj->progs.fexit_migrate_misplaced_folio_exit, (use_fentry && use_folio));\n\tbpf_program__set_autoload(obj->progs.kprobe_migrate_misplaced_folio, (!use_fentry && use_folio));\n\tbpf_program__set_autoload(obj->progs.kretprobe_migrate_misplaced_folio_exit, (!use_fentry && use_folio));\n\n\tbpf_program__set_autoload(obj->progs.fentry_migrate_misplaced_page, (use_fentry && !use_folio));\n\tbpf_program__set_autoload(obj->progs.fexit_migrate_misplaced_page_exit, (use_fentry && !use_folio));\n\tbpf_program__set_autoload(obj->progs.kprobe_migrate_misplaced_page, (!use_fentry && !use_folio));\n\tbpf_program__set_autoload(obj->progs.kretprobe_migrate_misplaced_page_exit, (!use_fentry && !use_folio));\n\n\terr = numamove_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF skelect: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = numamove_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\n\tprintf(\"%-10s %18s %18s\\n\", \"TIME\", \"NUMA_migrations\", \"NUMA_migrations_ms\");\n\twhile (!exiting) {\n\t\tsleep(1);\n\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\tprintf(\"%-10s %18lld %18lld\\n\", ts,\n\t\t\t__atomic_exchange_n(&obj->bss->num, 0, __ATOMIC_RELAXED),\n\t\t\t__atomic_exchange_n(&obj->bss->latency, 0, __ATOMIC_RELAXED));\n\t}\n\ncleanup:\n\tnumamove_bpf__destroy(obj);\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/offcputime.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2021 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"offcputime.h\"\n#include \"core_fixes.bpf.h\"\n\n#define PF_KTHREAD\t\t0x00200000\t/* I am a kernel thread */\n#define MAX_ENTRIES\t\t10240\n\nconst volatile bool kernel_threads_only = false;\nconst volatile bool user_threads_only = false;\nconst volatile __u64 max_block_us = -1;\nconst volatile __u64 min_block_us = 1;\nconst volatile bool filter_by_tgid = false;\nconst volatile bool filter_by_pid = false;\nconst volatile long state = -1;\n\nstruct internal_key {\n\tu64 start_ts;\n\tstruct key_t key;\n};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, struct internal_key);\n\t__uint(max_entries, MAX_ENTRIES);\n} start SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_STACK_TRACE);\n\t__uint(key_size, sizeof(u32));\n} stackmap SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, struct key_t);\n\t__type(value, struct val_t);\n\t__uint(max_entries, MAX_ENTRIES);\n} info SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, u8);\n\t__uint(max_entries, MAX_PID_NR);\n} tgids SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, u8);\n\t__uint(max_entries, MAX_TID_NR);\n} pids SEC(\".maps\");\n\nstatic bool allow_record(struct task_struct *t)\n{\n\tu32 tgid = BPF_CORE_READ(t, tgid);\n\tu32 pid = BPF_CORE_READ(t, pid);\n\n\tif (filter_by_tgid && !bpf_map_lookup_elem(&tgids, &tgid))\n\t\treturn false;\n\tif (filter_by_pid && !bpf_map_lookup_elem(&pids, &pid))\n\t\treturn false;\n\tif (user_threads_only && (BPF_CORE_READ(t, flags) & PF_KTHREAD))\n\t\treturn false;\n\telse if (kernel_threads_only && !(BPF_CORE_READ(t, flags) & PF_KTHREAD))\n\t\treturn false;\n\tif (state != -1 && get_task_state(t) != state)\n\t\treturn false;\n\treturn true;\n}\n\nstatic int handle_sched_switch(void *ctx, bool preempt, struct task_struct *prev, struct task_struct *next)\n{\n\tstruct internal_key *i_keyp, i_key;\n\tstruct val_t *valp, val;\n\ts64 delta;\n\tu32 pid;\n\n\tif (allow_record(prev)) {\n\t\tpid = BPF_CORE_READ(prev, pid);\n\t\t/* To distinguish idle threads of different cores */\n\t\tif (!pid)\n\t\t\tpid = bpf_get_smp_processor_id();\n\t\ti_key.key.pid = pid;\n\t\ti_key.key.tgid = BPF_CORE_READ(prev, tgid);\n\t\ti_key.start_ts = bpf_ktime_get_ns();\n\n\t\tif (BPF_CORE_READ(prev, flags) & PF_KTHREAD)\n\t\t\ti_key.key.user_stack_id = -1;\n\t\telse\n\t\t\ti_key.key.user_stack_id = bpf_get_stackid(ctx, &stackmap, BPF_F_USER_STACK);\n\t\ti_key.key.kern_stack_id = bpf_get_stackid(ctx, &stackmap, 0);\n\t\tbpf_map_update_elem(&start, &pid, &i_key, 0);\n\t\tbpf_probe_read_kernel_str(&val.comm, sizeof(prev->comm), BPF_CORE_READ(prev, comm));\n\t\tval.delta = 0;\n\t\tbpf_map_update_elem(&info, &i_key.key, &val, BPF_NOEXIST);\n\t}\n\n\tpid = BPF_CORE_READ(next, pid);\n\ti_keyp = bpf_map_lookup_elem(&start, &pid);\n\tif (!i_keyp)\n\t\treturn 0;\n\tdelta = (s64)(bpf_ktime_get_ns() - i_keyp->start_ts);\n\tif (delta < 0)\n\t\tgoto cleanup;\n\tdelta /= 1000U;\n\tif (delta < min_block_us || delta > max_block_us)\n\t\tgoto cleanup;\n\tvalp = bpf_map_lookup_elem(&info, &i_keyp->key);\n\tif (!valp)\n\t\tgoto cleanup;\n\t__sync_fetch_and_add(&valp->delta, delta);\n\ncleanup:\n\tbpf_map_delete_elem(&start, &pid);\n\treturn 0;\n}\n\nSEC(\"tp_btf/sched_switch\")\nint BPF_PROG(sched_switch, bool preempt, struct task_struct *prev, struct task_struct *next)\n{\n\treturn handle_sched_switch(ctx, preempt, prev, next);\n}\n\nSEC(\"raw_tp/sched_switch\")\nint BPF_PROG(sched_switch_raw, bool preempt, struct task_struct *prev, struct task_struct *next)\n{\n\treturn handle_sched_switch(ctx, preempt, prev, next);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/offcputime.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2021 Wenbo Zhang\n//\n// Based on offcputime(8) from BCC by Brendan Gregg.\n// 19-Mar-2021   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <unistd.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"offcputime.h\"\n#include \"offcputime.skel.h\"\n#include \"trace_helpers.h\"\n\nstatic struct env {\n\tpid_t pids[MAX_PID_NR];\n\tpid_t tids[MAX_TID_NR];\n\tbool user_threads_only;\n\tbool kernel_threads_only;\n\tint stack_storage_size;\n\tint perf_max_stack_depth;\n\t__u64 min_block_time;\n\t__u64 max_block_time;\n\tlong state;\n\tint duration;\n\tbool verbose;\n} env = {\n\t.stack_storage_size = 1024,\n\t.perf_max_stack_depth = 127,\n\t.min_block_time = 1,\n\t.max_block_time = -1,\n\t.state = -1,\n\t.duration = 99999999,\n};\n\nconst char *argp_program_version = \"offcputime 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize off-CPU time by stack trace.\\n\"\n\"\\n\"\n\"USAGE: offcputime [--help] [-p PID | -u | -k] [-m MIN-BLOCK-TIME] \"\n\"[-M MAX-BLOCK-TIME] [--state] [--perf-max-stack-depth] [--stack-storage-size] \"\n\"[duration]\\n\"\n\"EXAMPLES:\\n\"\n\"    offcputime             # trace off-CPU stack time until Ctrl-C\\n\"\n\"    offcputime 5           # trace for 5 seconds only\\n\"\n\"    offcputime -m 1000     # trace only events that last more than 1000 usec\\n\"\n\"    offcputime -M 10000    # trace only events that last less than 10000 usec\\n\"\n\"    offcputime -p 185,175,165 # only trace threads for PID 185,175,165\\n\"\n\"    offcputime -t 188,120,134 # only trace threads 188,120,134\\n\"\n\"    offcputime -u          # only trace user threads (no kernel)\\n\"\n\"    offcputime -k          # only trace kernel threads (no user)\\n\";\n\n#define OPT_PERF_MAX_STACK_DEPTH\t1 /* --pef-max-stack-depth */\n#define OPT_STACK_STORAGE_SIZE\t\t2 /* --stack-storage-size */\n#define OPT_STATE\t\t\t3 /* --state */\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Trace these PIDs only, comma-separated list\", 0 },\n\t{ \"tid\", 't', \"TID\", 0, \"Trace these TIDs only, comma-separated list\", 0 },\n\t{ \"user-threads-only\", 'u', NULL, 0,\n\t  \"User threads only (no kernel threads)\", 0 },\n\t{ \"kernel-threads-only\", 'k', NULL, 0,\n\t  \"Kernel threads only (no user threads)\", 0 },\n\t{ \"perf-max-stack-depth\", OPT_PERF_MAX_STACK_DEPTH,\n\t  \"PERF-MAX-STACK-DEPTH\", 0, \"the limit for both kernel and user stack traces (default 127)\", 0 },\n\t{ \"stack-storage-size\", OPT_STACK_STORAGE_SIZE, \"STACK-STORAGE-SIZE\", 0,\n\t  \"the number of unique stack traces that can be stored and displayed (default 1024)\", 0 },\n\t{ \"min-block-time\", 'm', \"MIN-BLOCK-TIME\", 0,\n\t  \"the amount of time in microseconds over which we store traces (default 1)\", 0 },\n\t{ \"max-block-time\", 'M', \"MAX-BLOCK-TIME\", 0,\n\t  \"the amount of time in microseconds under which we store traces (default U64_MAX)\", 0 },\n\t{ \"state\", OPT_STATE, \"STATE\", 0, \"filter on this thread state bitmask (eg, 2 == TASK_UNINTERRUPTIBLE) see include/linux/sched.h\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\tint ret;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'p':\n\t\tret = split_convert(strdup(arg), \",\", env.pids, sizeof(env.pids),\n\t\t\t\t    sizeof(pid_t), str_to_int);\n\t\tif (ret) {\n\t\t\tif (ret == -ENOBUFS)\n\t\t\t\tfprintf(stderr, \"the number of pid is too big, please \"\n\t\t\t\t\t\"increase MAX_PID_NR's value and recompile\\n\");\n\t\t\telse\n\t\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 't':\n\t\tret = split_convert(strdup(arg), \",\", env.tids, sizeof(env.tids),\n\t\t\t\t    sizeof(pid_t), str_to_int);\n\t\tif (ret) {\n\t\t\tif (ret == -ENOBUFS)\n\t\t\t\tfprintf(stderr, \"the number of tid is too big, please \"\n\t\t\t\t\t\"increase MAX_TID_NR's value and recompile\\n\");\n\t\t\telse\n\t\t\t\tfprintf(stderr, \"invalid TID: %s\\n\", arg);\n\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'u':\n\t\tenv.user_threads_only = true;\n\t\tbreak;\n\tcase 'k':\n\t\tenv.kernel_threads_only = true;\n\t\tbreak;\n\tcase OPT_PERF_MAX_STACK_DEPTH:\n\t\terrno = 0;\n\t\tenv.perf_max_stack_depth = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid perf max stack depth: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase OPT_STACK_STORAGE_SIZE:\n\t\terrno = 0;\n\t\tenv.stack_storage_size = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid stack storage size: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'm':\n\t\terrno = 0;\n\t\tenv.min_block_time = strtoll(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"Invalid min block time (in us): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'M':\n\t\terrno = 0;\n\t\tenv.max_block_time = strtoll(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"Invalid min block time (in us): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase OPT_STATE:\n\t\terrno = 0;\n\t\tenv.state = strtol(arg, NULL, 10);\n\t\tif (errno || env.state < 0 || env.state > 2) {\n\t\t\tfprintf(stderr, \"Invalid task state: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tif (pos_args++) {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"Unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\terrno = 0;\n\t\tenv.duration = strtol(arg, NULL, 10);\n\t\tif (errno || env.duration <= 0) {\n\t\t\tfprintf(stderr, \"Invalid duration (in s): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n}\n\nstatic void print_map(struct ksyms *ksyms, struct syms_cache *syms_cache,\n\t\t      struct offcputime_bpf *obj)\n{\n\tstruct key_t lookup_key = {}, next_key;\n\tconst struct ksym *ksym;\n\tconst struct syms *syms;\n\tconst struct sym *sym;\n\tint err, i, ifd, sfd;\n\tunsigned long *ip;\n\tstruct val_t val;\n\tstruct sym_info sinfo;\n\tint idx;\n\n\tip = calloc(env.perf_max_stack_depth, sizeof(*ip));\n\tif (!ip) {\n\t\tfprintf(stderr, \"failed to alloc ip\\n\");\n\t\treturn;\n\t}\n\n\tifd = bpf_map__fd(obj->maps.info);\n\tsfd = bpf_map__fd(obj->maps.stackmap);\n\twhile (!bpf_map_get_next_key(ifd, &lookup_key, &next_key)) {\n\t\tidx = 0;\n\n\t\terr = bpf_map_lookup_elem(ifd, &next_key, &val);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup info: %d\\n\", err);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tlookup_key = next_key;\n\t\tif (val.delta == 0)\n\t\t\tcontinue;\n\t\tif (bpf_map_lookup_elem(sfd, &next_key.kern_stack_id, ip) != 0) {\n\t\t\tfprintf(stderr, \"    [Missed Kernel Stack]\\n\");\n\t\t\tgoto print_ustack;\n\t\t}\n\n\t\tfor (i = 0; i < env.perf_max_stack_depth && ip[i]; i++) {\n\t\t\tksym = ksyms__map_addr(ksyms, ip[i]);\n\t\t\tif (!env.verbose) {\n\t\t\t\tprintf(\"    %s\\n\", ksym ? ksym->name : \"unknown\");\n\t\t\t} else {\n\t\t\t\tif (ksym)\n\t\t\t\t\tprintf(\"    #%-2d 0x%lx %s+0x%lx\\n\", idx++, ip[i], ksym->name, ip[i] - ksym->addr);\n\t\t\t\telse\n\t\t\t\t\tprintf(\"    #%-2d 0x%lx [unknown]\\n\", idx++, ip[i]);\n\t\t\t}\n\t\t}\n\nprint_ustack:\n\t\tif (next_key.user_stack_id == -1)\n\t\t\tgoto skip_ustack;\n\n\t\tif (bpf_map_lookup_elem(sfd, &next_key.user_stack_id, ip) != 0) {\n\t\t\tfprintf(stderr, \"    [Missed User Stack]\\n\");\n\t\t\tgoto skip_ustack;\n\t\t}\n\n\t\tsyms = syms_cache__get_syms(syms_cache, next_key.tgid);\n\t\tif (!syms) {\n\t\t\tif (!env.verbose) {\n\t\t\t\tfprintf(stderr, \"failed to get syms\\n\");\n\t\t\t} else {\n\t\t\t\tfor (i = 0; i < env.perf_max_stack_depth && ip[i]; i++)\n\t\t\t\t\tprintf(\"    #%-2d 0x%016lx [unknown]\\n\", idx++, ip[i]);\n\t\t\t}\n\t\t\tgoto skip_ustack;\n\t\t}\n\t\tfor (i = 0; i < env.perf_max_stack_depth && ip[i]; i++) {\n\t\t\tif (!env.verbose) {\n\t\t\t\tsym = syms__map_addr(syms, ip[i]);\n\t\t\t\tif (sym)\n\t\t\t\t\tprintf(\"    %s\\n\", sym->name);\n\t\t\t\telse\n\t\t\t\t\tprintf(\"    [unknown]\\n\");\n\t\t\t} else {\n\t\t\t\tprintf(\"    #%-2d 0x%016lx\", idx++, ip[i]);\n\t\t\t\terr = syms__map_addr_dso(syms, ip[i], &sinfo);\n\t\t\t\tif (err == 0) {\n\t\t\t\t\tif (sinfo.sym_name)\n\t\t\t\t\t\tprintf(\" %s+0x%lx\", sinfo.sym_name, sinfo.sym_offset);\n\t\t\t\t\tprintf(\" (%s+0x%lx)\", sinfo.dso_name, sinfo.dso_offset);\n\t\t\t\t}\n\t\t\t\tprintf(\"\\n\");\n\t\t\t}\n\t\t}\n\nskip_ustack:\n\t\tprintf(\"    %-16s %s (%d)\\n\", \"-\", val.comm, next_key.pid);\n\t\tprintf(\"        %lld\\n\\n\", val.delta);\n\t}\n\ncleanup:\n\tfree(ip);\n}\n\nstatic bool print_header_threads()\n{\n\tint i;\n\tbool printed = false;\n\n\tif (env.pids[0]) {\n\t\tprintf(\" PID [\");\n\t\tfor (i = 0; i < MAX_PID_NR && env.pids[i]; i++)\n\t\t\tprintf(\"%d%s\", env.pids[i], (i < MAX_PID_NR - 1 && env.pids[i + 1]) ? \", \" : \"]\");\n\t\tprinted = true;\n\t}\n\n\tif (env.tids[0]) {\n\t\tprintf(\" TID [\");\n\t\tfor (i = 0; i < MAX_TID_NR && env.tids[i]; i++)\n\t\t\tprintf(\"%d%s\", env.tids[i], (i < MAX_TID_NR - 1 && env.tids[i + 1]) ? \", \" : \"]\");\n\t\tprinted = true;\n\t}\n\n\treturn printed;\n}\n\nstatic void print_headers()\n{\n\tprintf(\"Tracing off-CPU time (us) of\");\n\n\tif (!print_header_threads())\n\t\tprintf(\" all threads\");\n\n\tif (env.duration < 99999999)\n\t\tprintf(\" for %d secs.\\n\", env.duration);\n\telse\n\t\tprintf(\"... Hit Ctrl-C to end.\\n\");\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct syms_cache *syms_cache = NULL;\n\tstruct ksyms *ksyms = NULL;\n\tstruct offcputime_bpf *obj;\n\tint pids_fd, tids_fd;\n\tint err, i;\n\t__u8 val = 0;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\tif (env.user_threads_only && env.kernel_threads_only) {\n\t\tfprintf(stderr, \"user_threads_only and kernel_threads_only cannot be used together.\\n\");\n\t\treturn 1;\n\t}\n\tif (env.min_block_time >= env.max_block_time) {\n\t\tfprintf(stderr, \"min_block_time should be smaller than max_block_time\\n\");\n\t\treturn 1;\n\t}\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = offcputime_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->user_threads_only = env.user_threads_only;\n\tobj->rodata->kernel_threads_only = env.kernel_threads_only;\n\tobj->rodata->state = env.state;\n\tobj->rodata->min_block_us = env.min_block_time;\n\tobj->rodata->max_block_us = env.max_block_time;\n\n\t/* User space PID and TID correspond to TGID and PID in the kernel, respectively */\n\tif (env.pids[0])\n\t\tobj->rodata->filter_by_tgid = true;\n\tif (env.tids[0])\n\t\tobj->rodata->filter_by_pid = true;\n\n\tbpf_map__set_value_size(obj->maps.stackmap,\n\t\t\t\tenv.perf_max_stack_depth * sizeof(unsigned long));\n\tbpf_map__set_max_entries(obj->maps.stackmap, env.stack_storage_size);\n\n\tif (!probe_tp_btf(\"sched_switch\"))\n\t\tbpf_program__set_autoload(obj->progs.sched_switch, false);\n\telse\n\t\tbpf_program__set_autoload(obj->progs.sched_switch_raw, false);\n\n\terr = offcputime_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tif (env.pids[0]) {\n\t\t/* User pids_fd points to the tgids map in the BPF program */\n\t\tpids_fd = bpf_map__fd(obj->maps.tgids);\n\t\tfor (i = 0; i < MAX_PID_NR && env.pids[i]; i++) {\n\t\t\tif (bpf_map_update_elem(pids_fd, &(env.pids[i]), &val, BPF_ANY) != 0) {\n\t\t\t\tfprintf(stderr, \"failed to init pids map: %s\\n\", strerror(errno));\n\t\t\t\tgoto cleanup;\n\t\t\t}\n\t\t}\n\t}\n\tif (env.tids[0]) {\n\t\t/* User tids_fd points to the pids map in the BPF program */\n\t\ttids_fd = bpf_map__fd(obj->maps.pids);\n\t\tfor (i = 0; i < MAX_TID_NR && env.tids[i]; i++) {\n\t\t\tif (bpf_map_update_elem(tids_fd, &(env.tids[i]), &val, BPF_ANY) != 0) {\n\t\t\t\tfprintf(stderr, \"failed to init tids map: %s\\n\", strerror(errno));\n\t\t\t\tgoto cleanup;\n\t\t\t}\n\t\t}\n\t}\n\n\tksyms = ksyms__load();\n\tif (!ksyms) {\n\t\tfprintf(stderr, \"failed to load kallsyms\\n\");\n\t\tgoto cleanup;\n\t}\n\tsyms_cache = syms_cache__new(0);\n\tif (!syms_cache) {\n\t\tfprintf(stderr, \"failed to create syms_cache\\n\");\n\t\tgoto cleanup;\n\t}\n\terr = offcputime_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tsignal(SIGINT, sig_handler);\n\n\tprint_headers();\n\n\t/*\n\t * We'll get sleep interrupted when someone presses Ctrl-C (which will\n\t * be \"handled\" with noop by sig_handler).\n\t */\n\tsleep(env.duration);\n\n\tprint_map(ksyms, syms_cache, obj);\n\ncleanup:\n\toffcputime_bpf__destroy(obj);\n\tsyms_cache__free(syms_cache);\n\tksyms__free(ksyms);\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/offcputime.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __OFFCPUTIME_H\n#define __OFFCPUTIME_H\n\n#define TASK_COMM_LEN\t\t16\n#define MAX_PID_NR\t\t30\n#define MAX_TID_NR\t\t30\n\nstruct key_t {\n\t__u32 pid;\n\t__u32 tgid;\n\tint user_stack_id;\n\tint kern_stack_id;\n};\n\nstruct val_t {\n\t__u64 delta;\n\tchar comm[TASK_COMM_LEN];\n};\n\n#endif /* __OFFCPUTIME_H */\n"
  },
  {
    "path": "libbpf-tools/oomkill.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2022 Jingxiang Zeng\n// Copyright (c) 2022 Krisztian Fekete\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"compat.bpf.h\"\n#include \"oomkill.h\"\n\nSEC(\"kprobe/oom_kill_process\")\nint BPF_KPROBE(oom_kill_process, struct oom_control *oc, const char *message)\n{\n\tstruct data_t *data;\n\n\tdata = reserve_buf(sizeof(*data));\n\tif (!data)\n\t\treturn 0;\n\n\tdata->fpid = bpf_get_current_pid_tgid() >> 32;\n\tdata->tpid = BPF_CORE_READ(oc, chosen, tgid);\n\tdata->pages = BPF_CORE_READ(oc, totalpages);\n\tbpf_get_current_comm(&data->fcomm, sizeof(data->fcomm));\n\tbpf_probe_read_kernel(&data->tcomm, sizeof(data->tcomm), BPF_CORE_READ(oc, chosen, comm));\n\tsubmit_buf(ctx, data, sizeof(*data));\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/oomkill.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __OOMKILL_H\n#define __OOMKILL_H\n\n#define TASK_COMM_LEN 16\n\nstruct data_t {\n\t__u32 fpid;\n\t__u32 tpid;\n\t__u64 pages;\n\tchar fcomm[TASK_COMM_LEN];\n\tchar tcomm[TASK_COMM_LEN];\n};\n\n#endif /* __OOMKILL_H */\n"
  },
  {
    "path": "libbpf-tools/opensnoop.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2019 Facebook\n// Copyright (c) 2020 Netflix\n#include <vmlinux.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_helpers.h>\n#include \"compat.bpf.h\"\n#include \"opensnoop.h\"\n#include \"path_helpers.bpf.h\"\n\n#ifndef O_CREAT\n#define O_CREAT\t\t00000100\n#endif\n#ifndef O_TMPFILE\n#define O_TMPFILE\t020200000\n#endif\n\nconst volatile pid_t targ_pid = 0;\nconst volatile pid_t targ_tgid = 0;\nconst volatile uid_t targ_uid = 0;\nconst volatile bool targ_failed = false;\nconst volatile bool full_path = false;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, u32);\n\t__type(value, struct args_t);\n} start SEC(\".maps\");\n\nstatic __always_inline bool valid_uid(uid_t uid) {\n\treturn uid != INVALID_UID;\n}\n\nstatic __always_inline\nbool trace_allowed(u32 tgid, u32 pid)\n{\n\tu32 uid;\n\n\t/* filters */\n\tif (targ_tgid && targ_tgid != tgid)\n\t\treturn false;\n\tif (targ_pid && targ_pid != pid)\n\t\treturn false;\n\tif (valid_uid(targ_uid)) {\n\t\tuid = (u32)bpf_get_current_uid_gid();\n\t\tif (targ_uid != uid) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_open\")\nint tracepoint__syscalls__sys_enter_open(struct syscall_trace_enter* ctx)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\t/* use kernel terminology here for tgid/pid: */\n\tu32 tgid = id >> 32;\n\tu32 pid = id;\n\n\t/* store arg info for later lookup */\n\tif (trace_allowed(tgid, pid)) {\n\t\tstruct args_t args = {};\n\t\targs.fname = (const char *)ctx->args[0];\n\t\targs.flags = (int)ctx->args[1];\n\t\targs.mode = (__u32)ctx->args[2];\n\t\tbpf_map_update_elem(&start, &pid, &args, 0);\n\t}\n\treturn 0;\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_openat\")\nint tracepoint__syscalls__sys_enter_openat(struct syscall_trace_enter* ctx)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\t/* use kernel terminology here for tgid/pid: */\n\tu32 tgid = id >> 32;\n\tu32 pid = id;\n\n\t/* store arg info for later lookup */\n\tif (trace_allowed(tgid, pid)) {\n\t\tstruct args_t args = {};\n\t\targs.fname = (const char *)ctx->args[1];\n\t\targs.flags = (int)ctx->args[2];\n\t\targs.mode = (__u32)ctx->args[3];\n\t\tbpf_map_update_elem(&start, &pid, &args, 0);\n\t}\n\treturn 0;\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_openat2\")\nint tracepoint__syscalls__sys_enter_openat2(struct syscall_trace_enter* ctx)\n{\n\tu64 id = bpf_get_current_pid_tgid();\n\t/* use kernel terminology here for tgid/pid: */\n\tu32 tgid = id >> 32;\n\tu32 pid = id;\n\n\t/* store arg info for later lookup */\n\tif (trace_allowed(tgid, pid)) {\n\t\tstruct args_t args = {};\n\t\tstruct open_how how = {};\n\t\targs.fname = (const char *)ctx->args[1];\n\t\tbpf_probe_read_user(&how, sizeof(how), (void *)ctx->args[2]);\n\t\targs.flags = (int)how.flags;\n\t\targs.mode = (__u32)how.mode;\n\t\tbpf_map_update_elem(&start, &pid, &args, 0);\n\t}\n\treturn 0;\n}\n\n\nstatic __always_inline\nint trace_exit(struct syscall_trace_exit* ctx)\n{\n\tstruct event *eventp;\n\tstruct args_t *ap;\n\tuintptr_t stack[3];\n\tint ret;\n\tu32 pid = bpf_get_current_pid_tgid();\n\n\tap = bpf_map_lookup_elem(&start, &pid);\n\tif (!ap)\n\t\treturn 0;\t/* missed entry */\n\tret = ctx->ret;\n\tif (targ_failed && ret >= 0)\n\t\tgoto cleanup;\t/* want failed only */\n\n\teventp = reserve_buf(sizeof(*eventp));\n\tif (!eventp)\n\t\tgoto cleanup;\n\n\t/* event data */\n\teventp->pid = bpf_get_current_pid_tgid() >> 32;\n\teventp->uid = bpf_get_current_uid_gid();\n\tbpf_get_current_comm(&eventp->comm, sizeof(eventp->comm));\n\tbpf_probe_read_user_str(&eventp->fname.pathes, sizeof(eventp->fname.pathes),\n\t\t\t  ap->fname);\n\teventp->fname.depth = 0;\n\teventp->flags = ap->flags;\n\n\tif (ap->flags & O_CREAT || (ap->flags & O_TMPFILE) == O_TMPFILE)\n\t\teventp->mode = ap->mode;\n\telse\n\t\teventp->mode = 0;\n\n\teventp->ret = ret;\n\n\tbpf_get_stack(ctx, &stack, sizeof(stack),\n\t\t      BPF_F_USER_STACK);\n\t/* Skip the first address that is usually the syscall it-self */\n\teventp->callers[0] = stack[1];\n\teventp->callers[1] = stack[2];\n\n\tif (full_path && eventp->fname.pathes[0] != '/')\n\t\tbpf_getcwd(eventp->fname.pathes + NAME_MAX, NAME_MAX,\n\t\t\t   MAX_PATH_DEPTH - 1,\n\t\t\t   &eventp->fname.failed, &eventp->fname.depth);\n\n\t/* emit event */\n\tsubmit_buf(ctx, eventp, sizeof(*eventp));\n\ncleanup:\n\tbpf_map_delete_elem(&start, &pid);\n\treturn 0;\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_open\")\nint tracepoint__syscalls__sys_exit_open(struct syscall_trace_exit* ctx)\n{\n\treturn trace_exit(ctx);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_openat\")\nint tracepoint__syscalls__sys_exit_openat(struct syscall_trace_exit* ctx)\n{\n\treturn trace_exit(ctx);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_openat2\")\nint tracepoint__syscalls__sys_exit_openat2(struct syscall_trace_exit* ctx)\n{\n\treturn trace_exit(ctx);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/opensnoop.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2019 Facebook\n// Copyright (c) 2020 Netflix\n//\n// Based on opensnoop(8) from BCC by Brendan Gregg and others.\n// 14-Feb-2020   Brendan Gregg   Created this.\n#ifndef _GNU_SOURCE\n#define _GNU_SOURCE\n#endif\n#include <argp.h>\n#include <fcntl.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/time.h>\n#include <time.h>\n#include <unistd.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"compat.h\"\n#include \"opensnoop.h\"\n#include \"opensnoop.skel.h\"\n#include \"btf_helpers.h\"\n#include \"trace_helpers.h\"\n#ifdef USE_BLAZESYM\n#include \"blazesym.h\"\n#endif\n#include \"path_helpers.h\"\n\n#define NSEC_PER_SEC\t\t1000000000ULL\n\nstatic volatile sig_atomic_t exiting = 0;\n\n#ifdef USE_BLAZESYM\nstatic struct blaze_symbolizer *symbolizer;\n#endif\n\nstatic struct env {\n\tpid_t pid;\n\tpid_t tid;\n\tuid_t uid;\n\tint duration;\n\tbool verbose;\n\tbool timestamp;\n\tbool print_uid;\n\tbool extended;\n\tbool failed;\n\tchar *name;\n#ifdef USE_BLAZESYM\n\tbool callers;\n#endif\n\tbool full_path;\n} env = {\n\t.uid = INVALID_UID\n};\n\nconst char *argp_program_version = \"opensnoop 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace open family syscalls\\n\"\n\"\\n\"\n\"USAGE: opensnoop [-h] [-T] [-U] [-x] [-p PID] [-t TID] [-u UID] [-d DURATION]\\n\"\n#ifdef USE_BLAZESYM\n\"                 [-n NAME] [-e] [-c]\\n\"\n#else\n\"                 [-n NAME] [-e]\\n\"\n#endif\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    ./opensnoop           # trace all open() syscalls\\n\"\n\"    ./opensnoop -T        # include timestamps\\n\"\n\"    ./opensnoop -U        # include UID\\n\"\n\"    ./opensnoop -x        # only show failed opens\\n\"\n\"    ./opensnoop -p 181    # only trace PID 181\\n\"\n\"    ./opensnoop -t 123    # only trace TID 123\\n\"\n\"    ./opensnoop -u 1000   # only trace UID 1000\\n\"\n\"    ./opensnoop -d 10     # trace for 10 seconds only\\n\"\n\"    ./opensnoop -n main   # only print process names containing \\\"main\\\"\\n\"\n\"    ./opensnoop -e        # show extended fields\\n\"\n#ifdef USE_BLAZESYM\n\"    ./opensnoop -c        # show calling functions\\n\"\n#endif\n\"    ./opensnoop -F        # show full path for an open file\\n\"\n\"\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"duration\", 'd', \"DURATION\", 0, \"Duration to trace\", 0 },\n\t{ \"extended-fields\", 'e', NULL, 0, \"Print extended fields\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{ \"name\", 'n', \"NAME\", 0, \"Trace process names containing this\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Process ID to trace\", 0 },\n\t{ \"tid\", 't', \"TID\", 0, \"Thread ID to trace\", 0 },\n\t{ \"timestamp\", 'T', NULL, 0, \"Print timestamp\", 0 },\n\t{ \"uid\", 'u', \"UID\", 0, \"User ID to trace\", 0 },\n\t{ \"print-uid\", 'U', NULL, 0, \"Print UID\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"failed\", 'x', NULL, 0, \"Failed opens only\", 0 },\n#ifdef USE_BLAZESYM\n\t{ \"callers\", 'c', NULL, 0, \"Show calling functions\", 0 },\n#endif\n\t{ \"full-path\", 'F', NULL, 0, \"Show full path\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\tlong int pid, uid, duration;\n\n\tswitch (key) {\n\tcase 'e':\n\t\tenv.extended = true;\n\t\tbreak;\n\tcase 'h':\n\t\targp_usage(state);\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase 'U':\n\t\tenv.print_uid = true;\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'x':\n\t\tenv.failed = true;\n\t\tbreak;\n\tcase 'd':\n\t\terrno = 0;\n\t\tduration = strtol(arg, NULL, 10);\n\t\tif (errno || duration <= 0) {\n\t\t\tfprintf(stderr, \"Invalid duration: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.duration = duration;\n\t\tbreak;\n\tcase 'n':\n\t\terrno = 0;\n\t\tenv.name = arg;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\tfprintf(stderr, \"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.pid = pid;\n\t\tbreak;\n\tcase 't':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\tfprintf(stderr, \"Invalid TID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.tid = pid;\n\t\tbreak;\n\tcase 'u':\n\t\terrno = 0;\n\t\tuid = strtol(arg, NULL, 10);\n\t\tif (errno || uid < 0 || uid >= INVALID_UID) {\n\t\t\tfprintf(stderr, \"Invalid UID %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.uid = uid;\n\t\tbreak;\n#ifdef USE_BLAZESYM\n\tcase 'c':\n\t\tenv.callers = true;\n\t\tbreak;\n#endif\n\tcase 'F':\n\t\tenv.full_path = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tif (pos_args++) {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"Unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\terrno = 0;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nint handle_event(void *ctx, void *data, size_t data_sz)\n{\n\tstruct event e;\n#ifdef USE_BLAZESYM\n\tconst struct blaze_syms *syms = NULL;\n\tconst struct blaze_sym *sym;\n\tint i, j;\n#endif\n\tint sps_cnt;\n\tchar ts[32];\n\tint fd, err;\n\n\tif (data_sz < sizeof(struct event)) {\n\t\tprintf(\"Error: packet too small\\n\");\n\t\treturn -1;\n\t}\n\n\t/* Copy data as alignment in the perf buffer isn't guaranteed. */\n\tmemcpy(&e, data, sizeof(e));\n\n\t/* name filtering is currently done in user space */\n\tif (env.name && strstr(e.comm, env.name) == NULL)\n\t\treturn -1;\n\n\t/* prepare fields */\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\n\tif (e.ret >= 0) {\n\t\tfd = e.ret;\n\t\terr = 0;\n\t} else {\n\t\tfd = -1;\n\t\terr = - e.ret;\n\t}\n\n#ifdef USE_BLAZESYM\n\tstruct blaze_symbolize_src_process src = {\n\t\t.type_size = sizeof(src),\n\t\t.pid = e.pid,\n\t\t.debug_syms = true,\n\t};\n\tif (env.callers)\n\t\tsyms = blaze_symbolize_process_abs_addrs(symbolizer, &src, (const uint64_t *)&e.callers, 2);\n#endif\n\n\t/* print output */\n\tsps_cnt = 0;\n\tif (env.timestamp) {\n\t\tprintf(\"%-8s \", ts);\n\t\tsps_cnt += 9;\n\t}\n\tif (env.print_uid) {\n\t\tprintf(\"%-7d \", e.uid);\n\t\tsps_cnt += 8;\n\t}\n\tprintf(\"%-6d %-16s %3d %3d \", e.pid, e.comm, fd, err);\n\tsps_cnt += 7 + 17 + 4 + 4;\n\tif (env.extended) {\n\t\tif (e.mode == 0 && (e.flags & O_CREAT) == 0 &&\n\t\t    (e.flags & O_TMPFILE) != O_TMPFILE)\n\t\t\tprintf(\"%08o n/a  \", e.flags);\n\t\telse\n\t\t\tprintf(\"%08o %04o \", e.flags, e.mode);\n\t\tsps_cnt += 9;\n\t}\n\tif (env.full_path) {\n\t\tprint_full_path(&e.fname);\n\t\tprintf(\"\\n\");\n\t} else\n\t\tprintf(\"%s\\n\", e.fname.pathes);\n\n#ifdef USE_BLAZESYM\n\tfor (i = 0; syms && i < syms->cnt; i++) {\n\t\tsym = &syms->syms[i];\n\t\tif (!sym->name)\n\t\t\tcontinue;\n\n\t\tfor (j = 0; j < sps_cnt; j++)\n\t\t\tprintf(\" \");\n\t\tif (sym->code_info.line)\n\t\t\tprintf(\"%s:%u\\n\", sym->name, sym->code_info.line);\n\t\telse\n\t\t\tprintf(\"%s\\n\", sym->name);\n\t}\n\n\tblaze_syms_free(syms);\n#endif\n\treturn 0;\n}\n\nvoid handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\tfprintf(stderr, \"Lost %llu events on CPU #%d!\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tLIBBPF_OPTS(bpf_object_open_opts, open_opts);\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct bpf_buffer *buf = NULL;\n\tstruct opensnoop_bpf *obj;\n\t__u64 time_end = 0;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\terr = ensure_core_btf(&open_opts);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to fetch necessary BTF for CO-RE: %s\\n\", strerror(-err));\n\t\treturn 1;\n\t}\n\n\tobj = opensnoop_bpf__open_opts(&open_opts);\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\tbuf = bpf_buffer__new(obj->maps.events, obj->maps.heap);\n\tif (!buf) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to create ring/perf buffer: %d\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->targ_tgid = env.pid;\n\tobj->rodata->targ_pid = env.tid;\n\tobj->rodata->targ_uid = env.uid;\n\tobj->rodata->targ_failed = env.failed;\n\tobj->rodata->full_path = env.full_path;\n\n\t/* aarch64 and riscv64 don't have open syscall */\n\tif (!tracepoint_exists(\"syscalls\", \"sys_enter_open\")) {\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__syscalls__sys_enter_open, false);\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__syscalls__sys_exit_open, false);\n\t}\n\n\t/**\n\t * linux since v5.5 support openat2(2), commit fddb5d430ad9 (\"open:\n\t * introduce openat2(2) syscall\").\n\t */\n\tif (!tracepoint_exists(\"syscalls\", \"sys_enter_openat2\")) {\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__syscalls__sys_enter_openat2, false);\n\t\tbpf_program__set_autoload(obj->progs.tracepoint__syscalls__sys_exit_openat2, false);\n\t}\n\n\terr = opensnoop_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = opensnoop_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n#ifdef USE_BLAZESYM\n\tif (env.callers) {\n\t\tstruct blaze_symbolizer_opts opts = {\n\t\t\t.type_size = sizeof(opts),\n\t\t\t.demangle = true,\n\t\t\t.code_info = true,\n\t\t};\n\t\tsymbolizer = blaze_symbolizer_new_opts(&opts);\n\t\tif (!symbolizer) {\n\t\t\tfprintf(stderr, \"failed to create symbolizer\\n\");\n\t\t\terr = -1;\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n#endif\n\n\t/* print headers */\n\tif (env.timestamp)\n\t\tprintf(\"%-8s \", \"TIME\");\n\tif (env.print_uid)\n\t\tprintf(\"%-7s \", \"UID\");\n\tprintf(\"%-6s %-16s %3s %3s \", \"PID\", \"COMM\", \"FD\", \"ERR\");\n\tif (env.extended)\n\t\tprintf(\"%-8s %-5s \", \"FLAGS\", \"MODE\");\n\tprintf(\"%s\", \"PATH\");\n#ifdef USE_BLAZESYM\n\tif (env.callers)\n\t\tprintf(\"/CALLER\");\n#endif\n\tprintf(\"\\n\");\n\n\t/* setup event callbacks */\n\terr = bpf_buffer__open(buf, handle_event, handle_lost_events, NULL);\n\tif (err) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to open ring/perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* setup duration */\n\tif (env.duration)\n\t\ttime_end = get_ktime_ns() + env.duration * NSEC_PER_SEC;\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\tfprintf(stderr, \"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\t/* main: poll */\n\twhile (!exiting) {\n\t\terr = bpf_buffer__poll(buf, POLL_TIMEOUT_MS);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling ring/perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (env.duration && get_ktime_ns() > time_end)\n\t\t\tgoto cleanup;\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tbpf_buffer__free(buf);\n\topensnoop_bpf__destroy(obj);\n\tcleanup_core_btf(&open_opts);\n#ifdef USE_BLAZESYM\n\tblaze_symbolizer_free(symbolizer);\n#endif\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/opensnoop.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __OPENSNOOP_H\n#define __OPENSNOOP_H\n\n#include \"path_helpers.h\"\n\n#define TASK_COMM_LEN 16\n#define INVALID_UID ((uid_t)-1)\n\nstruct args_t {\n\tconst char *fname;\n\tint flags;\n\t__u32 mode;\n};\n\nstruct event {\n\t/* user terminology for pid: */\n\t__u64 ts;\n\tpid_t pid;\n\tuid_t uid;\n\tint ret;\n\tint flags;\n\t__u32 mode;\n\t__u64 callers[2];\n\tchar comm[TASK_COMM_LEN];\n\tstruct full_path fname;\n};\n\n#endif /* __OPENSNOOP_H */\n"
  },
  {
    "path": "libbpf-tools/path_helpers.bpf.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2025 Rong Tao */\n#ifndef __PATH_HELPERS_BPF_H\n#define __PATH_HELPERS_BPF_H 1\n\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include \"path_helpers.h\"\n\n\nstatic __always_inline\nint bpf_dentry_full_path(char *pathes, int name_len, int max_depth,\n\t\t\t struct dentry *dentry, struct vfsmount *vfsmnt,\n\t\t\t int *failed, __u32 *path_depth)\n{\n\tint depth;\n\tstruct dentry *parent_dentry, *mnt_root;\n\tstruct mount *mnt;\n\tsize_t filepart_length;\n\tchar *payload = pathes;\n\n\tmnt = container_of(vfsmnt, struct mount, mnt);\n\tmnt_root = BPF_CORE_READ(vfsmnt, mnt_root);\n\n\tfor (depth = 0; depth < max_depth; depth++) {\n\t\tfilepart_length =\n\t\t\tbpf_probe_read_kernel_str(payload, name_len,\n\t\t\t\t\tBPF_CORE_READ(dentry, d_name.name));\n\n\t\tif (filepart_length < 0) {\n\t\t\t*failed = 1;\n\t\t\tbreak;\n\t\t}\n\n\t\tif (filepart_length > name_len)\n\t\t\tbreak;\n\n\t\tparent_dentry = BPF_CORE_READ(dentry, d_parent);\n\n\t\tif (dentry == parent_dentry || dentry == mnt_root) {\n\t\t\tstruct mount *mnt_parent;\n\t\t\tmnt_parent = BPF_CORE_READ(mnt, mnt_parent);\n\n\t\t\tif (mnt != mnt_parent) {\n\t\t\t\tdentry = BPF_CORE_READ(mnt, mnt_mountpoint);\n\n\t\t\t\tmnt = mnt_parent;\n\t\t\t\tvfsmnt = &mnt->mnt;\n\n\t\t\t\tmnt_root = BPF_CORE_READ(vfsmnt, mnt_root);\n\n\t\t\t\t(*path_depth)++;\n\t\t\t\tpayload += name_len;\n\t\t\t\tcontinue;\n\t\t\t} else {\n\t\t\t\t/* Real root directory */\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tpayload += name_len;\n\n\t\tdentry = parent_dentry;\n\t\t(*path_depth)++;\n\t}\n\n\treturn 0;\n}\n\nstatic __always_inline\nint bpf_getcwd(char *pathes, int name_len, int max_depth, int *failed,\n\t       __u32 *path_depth)\n{\n\tstruct task_struct *task;\n\tstruct dentry *dentry;\n\tstruct vfsmount *vfsmnt;\n\n\ttask = (struct task_struct *)bpf_get_current_task_btf();\n\tdentry = BPF_CORE_READ(task, fs, pwd.dentry);\n\tvfsmnt = BPF_CORE_READ(task, fs, pwd.mnt);\n\n\treturn bpf_dentry_full_path(pathes, name_len, max_depth, dentry, vfsmnt,\n\t\t\t     failed, path_depth);\n}\n#endif\n"
  },
  {
    "path": "libbpf-tools/path_helpers.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2025 Rong Tao */\n#include <stdio.h>\n#include \"path_helpers.h\"\n\n\nint print_full_path(struct full_path *path)\n{\n\tint n = 0, depth;\n\n\tfor (depth = path->depth; depth >= 0; depth--) {\n\t\tchar *fname = (char *)&path->pathes[NAME_MAX * depth];\n\n\t\t/**\n\t\t * If it is a mount point, there will be a '/', because\n\t\t * the '/' will be added below, so just skip this '/'.\n\t\t */\n\t\tif (fname[0] == '/' && fname[1] == '\\0')\n\t\t\tcontinue;\n\n\t\t/**\n\t\t * 1. If the file/path name starts with '/', do not\n\t\t *    print the '/' prefix.\n\t\t * 2. If bpf_probe_read_kernel_str() fails, or the\n\t\t *    directory depth reaches the upper limit\n\t\t *    MAX_PATH_DEPTH, the top-level directory\n\t\t *    is printed without the prefix '/'.\n\t\t */\n\t\tn = printf(\"%s%s\",\n\t\t\t(fname[0] == '/' ||\n\t\t\t ((path->failed || path->depth == MAX_PATH_DEPTH - 1) &&\n\t\t\t  depth == path->depth)) ? \"\" : \"/\",\n\t\t\tfname);\n\t}\n\treturn n;\n}\n"
  },
  {
    "path": "libbpf-tools/path_helpers.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2025 Rong Tao */\n#ifndef __PATH_HELPERS_H\n#define __PATH_HELPERS_H 1\n\n#define NAME_MAX\t255\n#define MAX_PATH_DEPTH\t32\n\nstruct full_path {\n\t/**\n\t * Example: \"/a/b/c/d\"\n\t * pathes[]: \"|d\\0     |c\\0     |b\\0     |a\\0     |       |...\"\n\t *            |NAME_MAX|\n\t */\n\tchar pathes[NAME_MAX * MAX_PATH_DEPTH];\n\tunsigned int depth;\n\tint failed;\n};\n\nint print_full_path(struct full_path *path);\n#endif\n"
  },
  {
    "path": "libbpf-tools/powerpc/vmlinux_614.h",
    "content": "#ifndef __VMLINUX_H__\n#define __VMLINUX_H__\n\n#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record)\n#endif\n\n#ifndef __ksym\n#define __ksym __attribute__((section(\".ksyms\")))\n#endif\n\n#ifndef __weak\n#define __weak __attribute__((weak))\n#endif\n\n#ifndef __bpf_fastcall\n#if __has_attribute(bpf_fastcall)\n#define __bpf_fastcall __attribute__((bpf_fastcall))\n#else\n#define __bpf_fastcall\n#endif\n#endif\n\nenum {\n\tAFFINITY = 0,\n\tAFFINITY_LIST = 1,\n\tEFFECTIVE = 2,\n\tEFFECTIVE_LIST = 3,\n};\n\nenum {\n\tAHCI_MAX_PORTS = 32,\n\tAHCI_MAX_SG = 168,\n\tAHCI_DMA_BOUNDARY = 4294967295,\n\tAHCI_MAX_CMDS = 32,\n\tAHCI_CMD_SZ = 32,\n\tAHCI_CMD_SLOT_SZ = 1024,\n\tAHCI_RX_FIS_SZ = 256,\n\tAHCI_CMD_TBL_CDB = 64,\n\tAHCI_CMD_TBL_HDR_SZ = 128,\n\tAHCI_CMD_TBL_SZ = 2816,\n\tAHCI_CMD_TBL_AR_SZ = 90112,\n\tAHCI_PORT_PRIV_DMA_SZ = 91392,\n\tAHCI_PORT_PRIV_FBS_DMA_SZ = 95232,\n\tAHCI_IRQ_ON_SG = 2147483648,\n\tAHCI_CMD_ATAPI = 32,\n\tAHCI_CMD_WRITE = 64,\n\tAHCI_CMD_PREFETCH = 128,\n\tAHCI_CMD_RESET = 256,\n\tAHCI_CMD_CLR_BUSY = 1024,\n\tRX_FIS_PIO_SETUP = 32,\n\tRX_FIS_D2H_REG = 64,\n\tRX_FIS_SDB = 88,\n\tRX_FIS_UNK = 96,\n\tHOST_CAP = 0,\n\tHOST_CTL = 4,\n\tHOST_IRQ_STAT = 8,\n\tHOST_PORTS_IMPL = 12,\n\tHOST_VERSION = 16,\n\tHOST_EM_LOC = 28,\n\tHOST_EM_CTL = 32,\n\tHOST_CAP2 = 36,\n\tHOST_RESET = 1,\n\tHOST_IRQ_EN = 2,\n\tHOST_MRSM = 4,\n\tHOST_AHCI_EN = 2147483648,\n\tHOST_CAP_SXS = 32,\n\tHOST_CAP_EMS = 64,\n\tHOST_CAP_CCC = 128,\n\tHOST_CAP_PART = 8192,\n\tHOST_CAP_SSC = 16384,\n\tHOST_CAP_PIO_MULTI = 32768,\n\tHOST_CAP_FBS = 65536,\n\tHOST_CAP_PMP = 131072,\n\tHOST_CAP_ONLY = 262144,\n\tHOST_CAP_CLO = 16777216,\n\tHOST_CAP_LED = 33554432,\n\tHOST_CAP_ALPM = 67108864,\n\tHOST_CAP_SSS = 134217728,\n\tHOST_CAP_MPS = 268435456,\n\tHOST_CAP_SNTF = 536870912,\n\tHOST_CAP_NCQ = 1073741824,\n\tHOST_CAP_64 = 2147483648,\n\tHOST_CAP2_BOH = 1,\n\tHOST_CAP2_NVMHCI = 2,\n\tHOST_CAP2_APST = 4,\n\tHOST_CAP2_SDS = 8,\n\tHOST_CAP2_SADM = 16,\n\tHOST_CAP2_DESO = 32,\n\tPORT_LST_ADDR = 0,\n\tPORT_LST_ADDR_HI = 4,\n\tPORT_FIS_ADDR = 8,\n\tPORT_FIS_ADDR_HI = 12,\n\tPORT_IRQ_STAT = 16,\n\tPORT_IRQ_MASK = 20,\n\tPORT_CMD = 24,\n\tPORT_TFDATA = 32,\n\tPORT_SIG = 36,\n\tPORT_CMD_ISSUE = 56,\n\tPORT_SCR_STAT = 40,\n\tPORT_SCR_CTL = 44,\n\tPORT_SCR_ERR = 48,\n\tPORT_SCR_ACT = 52,\n\tPORT_SCR_NTF = 60,\n\tPORT_FBS = 64,\n\tPORT_DEVSLP = 68,\n\tPORT_IRQ_COLD_PRES = 2147483648,\n\tPORT_IRQ_TF_ERR = 1073741824,\n\tPORT_IRQ_HBUS_ERR = 536870912,\n\tPORT_IRQ_HBUS_DATA_ERR = 268435456,\n\tPORT_IRQ_IF_ERR = 134217728,\n\tPORT_IRQ_IF_NONFATAL = 67108864,\n\tPORT_IRQ_OVERFLOW = 16777216,\n\tPORT_IRQ_BAD_PMP = 8388608,\n\tPORT_IRQ_PHYRDY = 4194304,\n\tPORT_IRQ_DMPS = 128,\n\tPORT_IRQ_CONNECT = 64,\n\tPORT_IRQ_SG_DONE = 32,\n\tPORT_IRQ_UNK_FIS = 16,\n\tPORT_IRQ_SDB_FIS = 8,\n\tPORT_IRQ_DMAS_FIS = 4,\n\tPORT_IRQ_PIOS_FIS = 2,\n\tPORT_IRQ_D2H_REG_FIS = 1,\n\tPORT_IRQ_FREEZE = 683671632,\n\tPORT_IRQ_ERROR = 2025848912,\n\tDEF_PORT_IRQ = 2025848959,\n\tPORT_CMD_ASP = 134217728,\n\tPORT_CMD_ALPE = 67108864,\n\tPORT_CMD_ATAPI = 16777216,\n\tPORT_CMD_FBSCP = 4194304,\n\tPORT_CMD_ESP = 2097152,\n\tPORT_CMD_CPD = 1048576,\n\tPORT_CMD_MPSP = 524288,\n\tPORT_CMD_HPCP = 262144,\n\tPORT_CMD_PMP = 131072,\n\tPORT_CMD_LIST_ON = 32768,\n\tPORT_CMD_FIS_ON = 16384,\n\tPORT_CMD_FIS_RX = 16,\n\tPORT_CMD_CLO = 8,\n\tPORT_CMD_POWER_ON = 4,\n\tPORT_CMD_SPIN_UP = 2,\n\tPORT_CMD_START = 1,\n\tPORT_CMD_ICC_MASK = 4026531840,\n\tPORT_CMD_ICC_ACTIVE = 268435456,\n\tPORT_CMD_ICC_PARTIAL = 536870912,\n\tPORT_CMD_ICC_SLUMBER = 1610612736,\n\tPORT_CMD_CAP = 8126464,\n\tPORT_FBS_DWE_OFFSET = 16,\n\tPORT_FBS_ADO_OFFSET = 12,\n\tPORT_FBS_DEV_OFFSET = 8,\n\tPORT_FBS_DEV_MASK = 3840,\n\tPORT_FBS_SDE = 4,\n\tPORT_FBS_DEC = 2,\n\tPORT_FBS_EN = 1,\n\tPORT_DEVSLP_DM_OFFSET = 25,\n\tPORT_DEVSLP_DM_MASK = 503316480,\n\tPORT_DEVSLP_DITO_OFFSET = 15,\n\tPORT_DEVSLP_MDAT_OFFSET = 10,\n\tPORT_DEVSLP_DETO_OFFSET = 2,\n\tPORT_DEVSLP_DSP = 2,\n\tPORT_DEVSLP_ADSE = 1,\n\tAHCI_HFLAG_NO_NCQ = 1,\n\tAHCI_HFLAG_IGN_IRQ_IF_ERR = 2,\n\tAHCI_HFLAG_IGN_SERR_INTERNAL = 4,\n\tAHCI_HFLAG_32BIT_ONLY = 8,\n\tAHCI_HFLAG_MV_PATA = 16,\n\tAHCI_HFLAG_NO_MSI = 32,\n\tAHCI_HFLAG_NO_PMP = 64,\n\tAHCI_HFLAG_SECT255 = 256,\n\tAHCI_HFLAG_YES_NCQ = 512,\n\tAHCI_HFLAG_NO_SUSPEND = 1024,\n\tAHCI_HFLAG_SRST_TOUT_IS_OFFLINE = 2048,\n\tAHCI_HFLAG_NO_SNTF = 4096,\n\tAHCI_HFLAG_NO_FPDMA_AA = 8192,\n\tAHCI_HFLAG_YES_FBS = 16384,\n\tAHCI_HFLAG_DELAY_ENGINE = 32768,\n\tAHCI_HFLAG_NO_DEVSLP = 131072,\n\tAHCI_HFLAG_NO_FBS = 262144,\n\tAHCI_HFLAG_MULTI_MSI = 1048576,\n\tAHCI_HFLAG_WAKE_BEFORE_STOP = 4194304,\n\tAHCI_HFLAG_YES_ALPM = 8388608,\n\tAHCI_HFLAG_NO_WRITE_TO_RO = 16777216,\n\tAHCI_HFLAG_SUSPEND_PHYS = 33554432,\n\tAHCI_HFLAG_NO_SXS = 67108864,\n\tAHCI_HFLAG_43BIT_ONLY = 134217728,\n\tAHCI_HFLAG_INTEL_PCS_QUIRK = 268435456,\n\tAHCI_FLAG_COMMON = 393346,\n\tICH_MAP = 144,\n\tPCS_6 = 146,\n\tPCS_7 = 148,\n\tEM_MAX_SLOTS = 15,\n\tEM_MAX_RETRY = 5,\n\tEM_CTL_RST = 512,\n\tEM_CTL_TM = 256,\n\tEM_CTL_MR = 1,\n\tEM_CTL_ALHD = 67108864,\n\tEM_CTL_XMT = 33554432,\n\tEM_CTL_SMB = 16777216,\n\tEM_CTL_SGPIO = 524288,\n\tEM_CTL_SES = 262144,\n\tEM_CTL_SAFTE = 131072,\n\tEM_CTL_LED = 65536,\n\tEM_MSG_TYPE_LED = 1,\n\tEM_MSG_TYPE_SAFTE = 2,\n\tEM_MSG_TYPE_SES2 = 4,\n\tEM_MSG_TYPE_SGPIO = 8,\n};\n\nenum {\n\tAHCI_PCI_BAR_STA2X11 = 0,\n\tAHCI_PCI_BAR_CAVIUM = 0,\n\tAHCI_PCI_BAR_LOONGSON = 0,\n\tAHCI_PCI_BAR_ENMOTUS = 2,\n\tAHCI_PCI_BAR_CAVIUM_GEN5 = 4,\n\tAHCI_PCI_BAR_STANDARD = 5,\n};\n\nenum {\n\tASCII_NULL = 0,\n\tASCII_BELL = 7,\n\tASCII_BACKSPACE = 8,\n\tASCII_IGNORE_FIRST = 8,\n\tASCII_HTAB = 9,\n\tASCII_LINEFEED = 10,\n\tASCII_VTAB = 11,\n\tASCII_FORMFEED = 12,\n\tASCII_CAR_RET = 13,\n\tASCII_IGNORE_LAST = 13,\n\tASCII_SHIFTOUT = 14,\n\tASCII_SHIFTIN = 15,\n\tASCII_CANCEL = 24,\n\tASCII_SUBSTITUTE = 26,\n\tASCII_ESCAPE = 27,\n\tASCII_CSI_IGNORE_FIRST = 32,\n\tASCII_CSI_IGNORE_LAST = 63,\n\tASCII_DEL = 127,\n\tASCII_EXT_CSI = 155,\n};\n\nenum {\n\tASSUME_PERFECT = 255,\n\tASSUME_VALID_DTB = 1,\n\tASSUME_VALID_INPUT = 2,\n\tASSUME_LATEST = 4,\n\tASSUME_NO_ROLLBACK = 8,\n\tASSUME_LIBFDT_ORDER = 16,\n\tASSUME_LIBFDT_FLAWLESS = 32,\n};\n\nenum {\n\tATA_EH_SPDN_NCQ_OFF = 1,\n\tATA_EH_SPDN_SPEED_DOWN = 2,\n\tATA_EH_SPDN_FALLBACK_TO_PIO = 4,\n\tATA_EH_SPDN_KEEP_ERRORS = 8,\n\tATA_EFLAG_IS_IO = 1,\n\tATA_EFLAG_DUBIOUS_XFER = 2,\n\tATA_EFLAG_OLD_ER = -2147483648,\n\tATA_ECAT_NONE = 0,\n\tATA_ECAT_ATA_BUS = 1,\n\tATA_ECAT_TOUT_HSM = 2,\n\tATA_ECAT_UNK_DEV = 3,\n\tATA_ECAT_DUBIOUS_NONE = 4,\n\tATA_ECAT_DUBIOUS_ATA_BUS = 5,\n\tATA_ECAT_DUBIOUS_TOUT_HSM = 6,\n\tATA_ECAT_DUBIOUS_UNK_DEV = 7,\n\tATA_ECAT_NR = 8,\n\tATA_EH_CMD_DFL_TIMEOUT = 5000,\n\tATA_EH_RESET_COOL_DOWN = 5000,\n\tATA_EH_PRERESET_TIMEOUT = 10000,\n\tATA_EH_FASTDRAIN_INTERVAL = 3000,\n\tATA_EH_UA_TRIES = 5,\n\tATA_EH_PROBE_TRIAL_INTERVAL = 60000,\n\tATA_EH_PROBE_TRIALS = 2,\n};\n\nenum {\n\tATA_GEN_CLASS_MATCH = 1,\n\tATA_GEN_FORCE_DMA = 2,\n\tATA_GEN_INTEL_IDER = 4,\n};\n\nenum {\n\tATA_MAX_DEVICES = 2,\n\tATA_MAX_PRD = 256,\n\tATA_SECT_SIZE = 512,\n\tATA_MAX_SECTORS_128 = 128,\n\tATA_MAX_SECTORS = 256,\n\tATA_MAX_SECTORS_1024 = 1024,\n\tATA_MAX_SECTORS_LBA48 = 65535,\n\tATA_MAX_SECTORS_TAPE = 65535,\n\tATA_MAX_TRIM_RNUM = 64,\n\tATA_ID_WORDS = 256,\n\tATA_ID_CONFIG = 0,\n\tATA_ID_CYLS = 1,\n\tATA_ID_HEADS = 3,\n\tATA_ID_SECTORS = 6,\n\tATA_ID_SERNO = 10,\n\tATA_ID_BUF_SIZE = 21,\n\tATA_ID_FW_REV = 23,\n\tATA_ID_PROD = 27,\n\tATA_ID_MAX_MULTSECT = 47,\n\tATA_ID_DWORD_IO = 48,\n\tATA_ID_TRUSTED = 48,\n\tATA_ID_CAPABILITY = 49,\n\tATA_ID_OLD_PIO_MODES = 51,\n\tATA_ID_OLD_DMA_MODES = 52,\n\tATA_ID_FIELD_VALID = 53,\n\tATA_ID_CUR_CYLS = 54,\n\tATA_ID_CUR_HEADS = 55,\n\tATA_ID_CUR_SECTORS = 56,\n\tATA_ID_MULTSECT = 59,\n\tATA_ID_LBA_CAPACITY = 60,\n\tATA_ID_SWDMA_MODES = 62,\n\tATA_ID_MWDMA_MODES = 63,\n\tATA_ID_PIO_MODES = 64,\n\tATA_ID_EIDE_DMA_MIN = 65,\n\tATA_ID_EIDE_DMA_TIME = 66,\n\tATA_ID_EIDE_PIO = 67,\n\tATA_ID_EIDE_PIO_IORDY = 68,\n\tATA_ID_ADDITIONAL_SUPP = 69,\n\tATA_ID_QUEUE_DEPTH = 75,\n\tATA_ID_SATA_CAPABILITY = 76,\n\tATA_ID_SATA_CAPABILITY_2 = 77,\n\tATA_ID_FEATURE_SUPP = 78,\n\tATA_ID_MAJOR_VER = 80,\n\tATA_ID_COMMAND_SET_1 = 82,\n\tATA_ID_COMMAND_SET_2 = 83,\n\tATA_ID_CFSSE = 84,\n\tATA_ID_CFS_ENABLE_1 = 85,\n\tATA_ID_CFS_ENABLE_2 = 86,\n\tATA_ID_CSF_DEFAULT = 87,\n\tATA_ID_UDMA_MODES = 88,\n\tATA_ID_HW_CONFIG = 93,\n\tATA_ID_SPG = 98,\n\tATA_ID_LBA_CAPACITY_2 = 100,\n\tATA_ID_SECTOR_SIZE = 106,\n\tATA_ID_WWN = 108,\n\tATA_ID_LOGICAL_SECTOR_SIZE = 117,\n\tATA_ID_COMMAND_SET_3 = 119,\n\tATA_ID_COMMAND_SET_4 = 120,\n\tATA_ID_LAST_LUN = 126,\n\tATA_ID_DLF = 128,\n\tATA_ID_CSFO = 129,\n\tATA_ID_CFA_POWER = 160,\n\tATA_ID_CFA_KEY_MGMT = 162,\n\tATA_ID_CFA_MODES = 163,\n\tATA_ID_DATA_SET_MGMT = 169,\n\tATA_ID_SCT_CMD_XPORT = 206,\n\tATA_ID_ROT_SPEED = 217,\n\tATA_ID_PIO4 = 2,\n\tATA_ID_SERNO_LEN = 20,\n\tATA_ID_FW_REV_LEN = 8,\n\tATA_ID_PROD_LEN = 40,\n\tATA_ID_WWN_LEN = 8,\n\tATA_PCI_CTL_OFS = 2,\n\tATA_PIO0 = 1,\n\tATA_PIO1 = 3,\n\tATA_PIO2 = 7,\n\tATA_PIO3 = 15,\n\tATA_PIO4 = 31,\n\tATA_PIO5 = 63,\n\tATA_PIO6 = 127,\n\tATA_PIO4_ONLY = 16,\n\tATA_SWDMA0 = 1,\n\tATA_SWDMA1 = 3,\n\tATA_SWDMA2 = 7,\n\tATA_SWDMA2_ONLY = 4,\n\tATA_MWDMA0 = 1,\n\tATA_MWDMA1 = 3,\n\tATA_MWDMA2 = 7,\n\tATA_MWDMA3 = 15,\n\tATA_MWDMA4 = 31,\n\tATA_MWDMA12_ONLY = 6,\n\tATA_MWDMA2_ONLY = 4,\n\tATA_UDMA0 = 1,\n\tATA_UDMA1 = 3,\n\tATA_UDMA2 = 7,\n\tATA_UDMA3 = 15,\n\tATA_UDMA4 = 31,\n\tATA_UDMA5 = 63,\n\tATA_UDMA6 = 127,\n\tATA_UDMA7 = 255,\n\tATA_UDMA24_ONLY = 20,\n\tATA_UDMA_MASK_40C = 7,\n\tATA_PRD_SZ = 8,\n\tATA_PRD_TBL_SZ = 2048,\n\tATA_PRD_EOT = -2147483648,\n\tATA_DMA_TABLE_OFS = 4,\n\tATA_DMA_STATUS = 2,\n\tATA_DMA_CMD = 0,\n\tATA_DMA_WR = 8,\n\tATA_DMA_START = 1,\n\tATA_DMA_INTR = 4,\n\tATA_DMA_ERR = 2,\n\tATA_DMA_ACTIVE = 1,\n\tATA_HOB = 128,\n\tATA_NIEN = 2,\n\tATA_LBA = 64,\n\tATA_DEV1 = 16,\n\tATA_DEVICE_OBS = 160,\n\tATA_DEVCTL_OBS = 8,\n\tATA_BUSY = 128,\n\tATA_DRDY = 64,\n\tATA_DF = 32,\n\tATA_DSC = 16,\n\tATA_DRQ = 8,\n\tATA_CORR = 4,\n\tATA_SENSE = 2,\n\tATA_ERR = 1,\n\tATA_SRST = 4,\n\tATA_ICRC = 128,\n\tATA_BBK = 128,\n\tATA_UNC = 64,\n\tATA_MC = 32,\n\tATA_IDNF = 16,\n\tATA_MCR = 8,\n\tATA_ABORTED = 4,\n\tATA_TRK0NF = 2,\n\tATA_AMNF = 1,\n\tATAPI_LFS = 240,\n\tATAPI_EOM = 2,\n\tATAPI_ILI = 1,\n\tATAPI_IO = 2,\n\tATAPI_COD = 1,\n\tATA_REG_DATA = 0,\n\tATA_REG_ERR = 1,\n\tATA_REG_NSECT = 2,\n\tATA_REG_LBAL = 3,\n\tATA_REG_LBAM = 4,\n\tATA_REG_LBAH = 5,\n\tATA_REG_DEVICE = 6,\n\tATA_REG_STATUS = 7,\n\tATA_REG_FEATURE = 1,\n\tATA_REG_CMD = 7,\n\tATA_REG_BYTEL = 4,\n\tATA_REG_BYTEH = 5,\n\tATA_REG_DEVSEL = 6,\n\tATA_REG_IRQ = 2,\n\tATA_CMD_DEV_RESET = 8,\n\tATA_CMD_CHK_POWER = 229,\n\tATA_CMD_STANDBY = 226,\n\tATA_CMD_IDLE = 227,\n\tATA_CMD_EDD = 144,\n\tATA_CMD_DOWNLOAD_MICRO = 146,\n\tATA_CMD_DOWNLOAD_MICRO_DMA = 147,\n\tATA_CMD_NOP = 0,\n\tATA_CMD_FLUSH = 231,\n\tATA_CMD_FLUSH_EXT = 234,\n\tATA_CMD_ID_ATA = 236,\n\tATA_CMD_ID_ATAPI = 161,\n\tATA_CMD_SERVICE = 162,\n\tATA_CMD_READ = 200,\n\tATA_CMD_READ_EXT = 37,\n\tATA_CMD_READ_QUEUED = 38,\n\tATA_CMD_READ_STREAM_EXT = 43,\n\tATA_CMD_READ_STREAM_DMA_EXT = 42,\n\tATA_CMD_WRITE = 202,\n\tATA_CMD_WRITE_EXT = 53,\n\tATA_CMD_WRITE_QUEUED = 54,\n\tATA_CMD_WRITE_STREAM_EXT = 59,\n\tATA_CMD_WRITE_STREAM_DMA_EXT = 58,\n\tATA_CMD_WRITE_FUA_EXT = 61,\n\tATA_CMD_WRITE_QUEUED_FUA_EXT = 62,\n\tATA_CMD_FPDMA_READ = 96,\n\tATA_CMD_FPDMA_WRITE = 97,\n\tATA_CMD_NCQ_NON_DATA = 99,\n\tATA_CMD_FPDMA_SEND = 100,\n\tATA_CMD_FPDMA_RECV = 101,\n\tATA_CMD_PIO_READ = 32,\n\tATA_CMD_PIO_READ_EXT = 36,\n\tATA_CMD_PIO_WRITE = 48,\n\tATA_CMD_PIO_WRITE_EXT = 52,\n\tATA_CMD_READ_MULTI = 196,\n\tATA_CMD_READ_MULTI_EXT = 41,\n\tATA_CMD_WRITE_MULTI = 197,\n\tATA_CMD_WRITE_MULTI_EXT = 57,\n\tATA_CMD_WRITE_MULTI_FUA_EXT = 206,\n\tATA_CMD_SET_FEATURES = 239,\n\tATA_CMD_SET_MULTI = 198,\n\tATA_CMD_PACKET = 160,\n\tATA_CMD_VERIFY = 64,\n\tATA_CMD_VERIFY_EXT = 66,\n\tATA_CMD_WRITE_UNCORR_EXT = 69,\n\tATA_CMD_STANDBYNOW1 = 224,\n\tATA_CMD_IDLEIMMEDIATE = 225,\n\tATA_CMD_SLEEP = 230,\n\tATA_CMD_INIT_DEV_PARAMS = 145,\n\tATA_CMD_READ_NATIVE_MAX = 248,\n\tATA_CMD_READ_NATIVE_MAX_EXT = 39,\n\tATA_CMD_SET_MAX = 249,\n\tATA_CMD_SET_MAX_EXT = 55,\n\tATA_CMD_READ_LOG_EXT = 47,\n\tATA_CMD_WRITE_LOG_EXT = 63,\n\tATA_CMD_READ_LOG_DMA_EXT = 71,\n\tATA_CMD_WRITE_LOG_DMA_EXT = 87,\n\tATA_CMD_TRUSTED_NONDATA = 91,\n\tATA_CMD_TRUSTED_RCV = 92,\n\tATA_CMD_TRUSTED_RCV_DMA = 93,\n\tATA_CMD_TRUSTED_SND = 94,\n\tATA_CMD_TRUSTED_SND_DMA = 95,\n\tATA_CMD_PMP_READ = 228,\n\tATA_CMD_PMP_READ_DMA = 233,\n\tATA_CMD_PMP_WRITE = 232,\n\tATA_CMD_PMP_WRITE_DMA = 235,\n\tATA_CMD_CONF_OVERLAY = 177,\n\tATA_CMD_SEC_SET_PASS = 241,\n\tATA_CMD_SEC_UNLOCK = 242,\n\tATA_CMD_SEC_ERASE_PREP = 243,\n\tATA_CMD_SEC_ERASE_UNIT = 244,\n\tATA_CMD_SEC_FREEZE_LOCK = 245,\n\tATA_CMD_SEC_DISABLE_PASS = 246,\n\tATA_CMD_CONFIG_STREAM = 81,\n\tATA_CMD_SMART = 176,\n\tATA_CMD_MEDIA_LOCK = 222,\n\tATA_CMD_MEDIA_UNLOCK = 223,\n\tATA_CMD_DSM = 6,\n\tATA_CMD_CHK_MED_CRD_TYP = 209,\n\tATA_CMD_CFA_REQ_EXT_ERR = 3,\n\tATA_CMD_CFA_WRITE_NE = 56,\n\tATA_CMD_CFA_TRANS_SECT = 135,\n\tATA_CMD_CFA_ERASE = 192,\n\tATA_CMD_CFA_WRITE_MULT_NE = 205,\n\tATA_CMD_REQ_SENSE_DATA = 11,\n\tATA_CMD_SANITIZE_DEVICE = 180,\n\tATA_CMD_ZAC_MGMT_IN = 74,\n\tATA_CMD_ZAC_MGMT_OUT = 159,\n\tATA_CMD_RESTORE = 16,\n\tATA_SUBCMD_FPDMA_RECV_RD_LOG_DMA_EXT = 1,\n\tATA_SUBCMD_FPDMA_RECV_ZAC_MGMT_IN = 2,\n\tATA_SUBCMD_FPDMA_SEND_DSM = 0,\n\tATA_SUBCMD_FPDMA_SEND_WR_LOG_DMA_EXT = 2,\n\tATA_SUBCMD_NCQ_NON_DATA_ABORT_QUEUE = 0,\n\tATA_SUBCMD_NCQ_NON_DATA_SET_FEATURES = 5,\n\tATA_SUBCMD_NCQ_NON_DATA_ZERO_EXT = 6,\n\tATA_SUBCMD_NCQ_NON_DATA_ZAC_MGMT_OUT = 7,\n\tATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES = 0,\n\tATA_SUBCMD_ZAC_MGMT_OUT_CLOSE_ZONE = 1,\n\tATA_SUBCMD_ZAC_MGMT_OUT_FINISH_ZONE = 2,\n\tATA_SUBCMD_ZAC_MGMT_OUT_OPEN_ZONE = 3,\n\tATA_SUBCMD_ZAC_MGMT_OUT_RESET_WRITE_POINTER = 4,\n\tATA_LOG_DIRECTORY = 0,\n\tATA_LOG_SATA_NCQ = 16,\n\tATA_LOG_NCQ_NON_DATA = 18,\n\tATA_LOG_NCQ_SEND_RECV = 19,\n\tATA_LOG_CDL = 24,\n\tATA_LOG_CDL_SIZE = 512,\n\tATA_LOG_IDENTIFY_DEVICE = 48,\n\tATA_LOG_SENSE_NCQ = 15,\n\tATA_LOG_SENSE_NCQ_SIZE = 1024,\n\tATA_LOG_CONCURRENT_POSITIONING_RANGES = 71,\n\tATA_LOG_SUPPORTED_CAPABILITIES = 3,\n\tATA_LOG_CURRENT_SETTINGS = 4,\n\tATA_LOG_SECURITY = 6,\n\tATA_LOG_SATA_SETTINGS = 8,\n\tATA_LOG_ZONED_INFORMATION = 9,\n\tATA_LOG_DEVSLP_OFFSET = 48,\n\tATA_LOG_DEVSLP_SIZE = 8,\n\tATA_LOG_DEVSLP_MDAT = 0,\n\tATA_LOG_DEVSLP_MDAT_MASK = 31,\n\tATA_LOG_DEVSLP_DETO = 1,\n\tATA_LOG_DEVSLP_VALID = 7,\n\tATA_LOG_DEVSLP_VALID_MASK = 128,\n\tATA_LOG_NCQ_PRIO_OFFSET = 9,\n\tATA_LOG_NCQ_SEND_RECV_SUBCMDS_OFFSET = 0,\n\tATA_LOG_NCQ_SEND_RECV_SUBCMDS_DSM = 1,\n\tATA_LOG_NCQ_SEND_RECV_DSM_OFFSET = 4,\n\tATA_LOG_NCQ_SEND_RECV_DSM_TRIM = 1,\n\tATA_LOG_NCQ_SEND_RECV_RD_LOG_OFFSET = 8,\n\tATA_LOG_NCQ_SEND_RECV_RD_LOG_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_WR_LOG_OFFSET = 12,\n\tATA_LOG_NCQ_SEND_RECV_WR_LOG_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OFFSET = 16,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OUT_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_IN_SUPPORTED = 2,\n\tATA_LOG_NCQ_SEND_RECV_SIZE = 20,\n\tATA_LOG_NCQ_NON_DATA_SUBCMDS_OFFSET = 0,\n\tATA_LOG_NCQ_NON_DATA_ABORT_OFFSET = 0,\n\tATA_LOG_NCQ_NON_DATA_ABORT_NCQ = 1,\n\tATA_LOG_NCQ_NON_DATA_ABORT_ALL = 2,\n\tATA_LOG_NCQ_NON_DATA_ABORT_STREAMING = 4,\n\tATA_LOG_NCQ_NON_DATA_ABORT_NON_STREAMING = 8,\n\tATA_LOG_NCQ_NON_DATA_ABORT_SELECTED = 16,\n\tATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OFFSET = 28,\n\tATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OUT = 1,\n\tATA_LOG_NCQ_NON_DATA_SIZE = 64,\n\tATA_CMD_READ_LONG = 34,\n\tATA_CMD_READ_LONG_ONCE = 35,\n\tATA_CMD_WRITE_LONG = 50,\n\tATA_CMD_WRITE_LONG_ONCE = 51,\n\tSETFEATURES_XFER = 3,\n\tXFER_UDMA_7 = 71,\n\tXFER_UDMA_6 = 70,\n\tXFER_UDMA_5 = 69,\n\tXFER_UDMA_4 = 68,\n\tXFER_UDMA_3 = 67,\n\tXFER_UDMA_2 = 66,\n\tXFER_UDMA_1 = 65,\n\tXFER_UDMA_0 = 64,\n\tXFER_MW_DMA_4 = 36,\n\tXFER_MW_DMA_3 = 35,\n\tXFER_MW_DMA_2 = 34,\n\tXFER_MW_DMA_1 = 33,\n\tXFER_MW_DMA_0 = 32,\n\tXFER_SW_DMA_2 = 18,\n\tXFER_SW_DMA_1 = 17,\n\tXFER_SW_DMA_0 = 16,\n\tXFER_PIO_6 = 14,\n\tXFER_PIO_5 = 13,\n\tXFER_PIO_4 = 12,\n\tXFER_PIO_3 = 11,\n\tXFER_PIO_2 = 10,\n\tXFER_PIO_1 = 9,\n\tXFER_PIO_0 = 8,\n\tXFER_PIO_SLOW = 0,\n\tSETFEATURES_WC_ON = 2,\n\tSETFEATURES_WC_OFF = 130,\n\tSETFEATURES_RA_ON = 170,\n\tSETFEATURES_RA_OFF = 85,\n\tSETFEATURES_AAM_ON = 66,\n\tSETFEATURES_AAM_OFF = 194,\n\tSETFEATURES_SPINUP = 7,\n\tSETFEATURES_SPINUP_TIMEOUT = 30000,\n\tSETFEATURES_SATA_ENABLE = 16,\n\tSETFEATURES_SATA_DISABLE = 144,\n\tSETFEATURES_CDL = 13,\n\tSATA_FPDMA_OFFSET = 1,\n\tSATA_FPDMA_AA = 2,\n\tSATA_DIPM = 3,\n\tSATA_FPDMA_IN_ORDER = 4,\n\tSATA_AN = 5,\n\tSATA_SSP = 6,\n\tSATA_DEVSLP = 9,\n\tSETFEATURE_SENSE_DATA = 195,\n\tSETFEATURE_SENSE_DATA_SUCC_NCQ = 196,\n\tATA_SET_MAX_ADDR = 0,\n\tATA_SET_MAX_PASSWD = 1,\n\tATA_SET_MAX_LOCK = 2,\n\tATA_SET_MAX_UNLOCK = 3,\n\tATA_SET_MAX_FREEZE_LOCK = 4,\n\tATA_SET_MAX_PASSWD_DMA = 5,\n\tATA_SET_MAX_UNLOCK_DMA = 6,\n\tATA_DCO_RESTORE = 192,\n\tATA_DCO_FREEZE_LOCK = 193,\n\tATA_DCO_IDENTIFY = 194,\n\tATA_DCO_SET = 195,\n\tATA_SMART_ENABLE = 216,\n\tATA_SMART_READ_VALUES = 208,\n\tATA_SMART_READ_THRESHOLDS = 209,\n\tATA_DSM_TRIM = 1,\n\tATA_SMART_LBAM_PASS = 79,\n\tATA_SMART_LBAH_PASS = 194,\n\tATAPI_PKT_DMA = 1,\n\tATAPI_DMADIR = 4,\n\tATAPI_CDB_LEN = 16,\n\tSATA_PMP_MAX_PORTS = 15,\n\tSATA_PMP_CTRL_PORT = 15,\n\tSATA_PMP_GSCR_DWORDS = 128,\n\tSATA_PMP_GSCR_PROD_ID = 0,\n\tSATA_PMP_GSCR_REV = 1,\n\tSATA_PMP_GSCR_PORT_INFO = 2,\n\tSATA_PMP_GSCR_ERROR = 32,\n\tSATA_PMP_GSCR_ERROR_EN = 33,\n\tSATA_PMP_GSCR_FEAT = 64,\n\tSATA_PMP_GSCR_FEAT_EN = 96,\n\tSATA_PMP_PSCR_STATUS = 0,\n\tSATA_PMP_PSCR_ERROR = 1,\n\tSATA_PMP_PSCR_CONTROL = 2,\n\tSATA_PMP_FEAT_BIST = 1,\n\tSATA_PMP_FEAT_PMREQ = 2,\n\tSATA_PMP_FEAT_DYNSSC = 4,\n\tSATA_PMP_FEAT_NOTIFY = 8,\n\tATA_CBL_NONE = 0,\n\tATA_CBL_PATA40 = 1,\n\tATA_CBL_PATA80 = 2,\n\tATA_CBL_PATA40_SHORT = 3,\n\tATA_CBL_PATA_UNK = 4,\n\tATA_CBL_PATA_IGN = 5,\n\tATA_CBL_SATA = 6,\n\tSCR_STATUS = 0,\n\tSCR_ERROR = 1,\n\tSCR_CONTROL = 2,\n\tSCR_ACTIVE = 3,\n\tSCR_NOTIFICATION = 4,\n\tSERR_DATA_RECOVERED = 1,\n\tSERR_COMM_RECOVERED = 2,\n\tSERR_DATA = 256,\n\tSERR_PERSISTENT = 512,\n\tSERR_PROTOCOL = 1024,\n\tSERR_INTERNAL = 2048,\n\tSERR_PHYRDY_CHG = 65536,\n\tSERR_PHY_INT_ERR = 131072,\n\tSERR_COMM_WAKE = 262144,\n\tSERR_10B_8B_ERR = 524288,\n\tSERR_DISPARITY = 1048576,\n\tSERR_CRC = 2097152,\n\tSERR_HANDSHAKE = 4194304,\n\tSERR_LINK_SEQ_ERR = 8388608,\n\tSERR_TRANS_ST_ERROR = 16777216,\n\tSERR_UNRECOG_FIS = 33554432,\n\tSERR_DEV_XCHG = 67108864,\n};\n\nenum {\n\tATA_READID_POSTRESET = 1,\n\tATA_DNXFER_PIO = 0,\n\tATA_DNXFER_DMA = 1,\n\tATA_DNXFER_40C = 2,\n\tATA_DNXFER_FORCE_PIO = 3,\n\tATA_DNXFER_FORCE_PIO0 = 4,\n\tATA_DNXFER_QUIET = -2147483648,\n};\n\nenum {\n\tAT_PKT_END = -1,\n\tBEYOND_PKT_END = -2,\n};\n\nenum {\n\tAX25_VALUES_IPDEFMODE = 0,\n\tAX25_VALUES_AXDEFMODE = 1,\n\tAX25_VALUES_BACKOFF = 2,\n\tAX25_VALUES_CONMODE = 3,\n\tAX25_VALUES_WINDOW = 4,\n\tAX25_VALUES_EWINDOW = 5,\n\tAX25_VALUES_T1 = 6,\n\tAX25_VALUES_T2 = 7,\n\tAX25_VALUES_T3 = 8,\n\tAX25_VALUES_IDLE = 9,\n\tAX25_VALUES_N2 = 10,\n\tAX25_VALUES_PACLEN = 11,\n\tAX25_VALUES_PROTOCOL = 12,\n\tAX25_MAX_VALUES = 13,\n};\n\nenum {\n\tAudit_equal = 0,\n\tAudit_not_equal = 1,\n\tAudit_bitmask = 2,\n\tAudit_bittest = 3,\n\tAudit_lt = 4,\n\tAudit_gt = 5,\n\tAudit_le = 6,\n\tAudit_ge = 7,\n\tAudit_bad = 8,\n};\n\nenum {\n\tBCM54XX_COPPER = 0,\n\tBCM54XX_FIBER = 1,\n\tBCM54XX_GBIC = 2,\n\tBCM54XX_SGMII = 3,\n\tBCM54XX_UNKNOWN = 4,\n};\n\nenum {\n\tBIAS = 2147483648,\n};\n\nenum {\n\tBIOSET_NEED_BVECS = 1,\n\tBIOSET_NEED_RESCUER = 2,\n\tBIOSET_PERCPU_CACHE = 4,\n};\n\nenum {\n\tBIO_PAGE_PINNED = 0,\n\tBIO_CLONED = 1,\n\tBIO_BOUNCED = 2,\n\tBIO_QUIET = 3,\n\tBIO_CHAIN = 4,\n\tBIO_REFFED = 5,\n\tBIO_BPS_THROTTLED = 6,\n\tBIO_TRACE_COMPLETION = 7,\n\tBIO_CGROUP_ACCT = 8,\n\tBIO_QOS_THROTTLED = 9,\n\tBIO_QOS_MERGED = 10,\n\tBIO_REMAPPED = 11,\n\tBIO_ZONE_WRITE_PLUGGING = 12,\n\tBIO_EMULATES_ZONE_APPEND = 13,\n\tBIO_FLAG_LAST = 14,\n};\n\nenum {\n\tBLK_MQ_F_TAG_QUEUE_SHARED = 2,\n\tBLK_MQ_F_STACKING = 4,\n\tBLK_MQ_F_TAG_HCTX_SHARED = 8,\n\tBLK_MQ_F_BLOCKING = 16,\n\tBLK_MQ_F_TAG_RR = 32,\n\tBLK_MQ_F_NO_SCHED_BY_DEFAULT = 64,\n\tBLK_MQ_F_MAX = 128,\n};\n\nenum {\n\tBLK_MQ_NO_TAG = 4294967295,\n\tBLK_MQ_TAG_MIN = 1,\n\tBLK_MQ_TAG_MAX = 4294967294,\n};\n\nenum {\n\tBLK_MQ_REQ_NOWAIT = 1,\n\tBLK_MQ_REQ_RESERVED = 2,\n\tBLK_MQ_REQ_PM = 4,\n};\n\nenum {\n\tBLK_MQ_S_STOPPED = 0,\n\tBLK_MQ_S_TAG_ACTIVE = 1,\n\tBLK_MQ_S_SCHED_RESTART = 2,\n\tBLK_MQ_S_INACTIVE = 3,\n\tBLK_MQ_S_MAX = 4,\n};\n\nenum {\n\tBLK_MQ_UNIQUE_TAG_BITS = 16,\n\tBLK_MQ_UNIQUE_TAG_MASK = 65535,\n};\n\nenum {\n\tBLOCK_BITMAP = 0,\n\tINODE_BITMAP = 1,\n\tINODE_TABLE = 2,\n\tGROUP_TABLE_COUNT = 3,\n};\n\nenum {\n\tBPF_ADJ_ROOM_ENCAP_L2_MASK = 255,\n\tBPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56,\n};\n\nenum {\n\tBPF_ANY = 0,\n\tBPF_NOEXIST = 1,\n\tBPF_EXIST = 2,\n\tBPF_F_LOCK = 4,\n};\n\nenum {\n\tBPF_CSUM_LEVEL_QUERY = 0,\n\tBPF_CSUM_LEVEL_INC = 1,\n\tBPF_CSUM_LEVEL_DEC = 2,\n\tBPF_CSUM_LEVEL_RESET = 3,\n};\n\nenum {\n\tBPF_FIB_LKUP_RET_SUCCESS = 0,\n\tBPF_FIB_LKUP_RET_BLACKHOLE = 1,\n\tBPF_FIB_LKUP_RET_UNREACHABLE = 2,\n\tBPF_FIB_LKUP_RET_PROHIBIT = 3,\n\tBPF_FIB_LKUP_RET_NOT_FWDED = 4,\n\tBPF_FIB_LKUP_RET_FWD_DISABLED = 5,\n\tBPF_FIB_LKUP_RET_UNSUPP_LWT = 6,\n\tBPF_FIB_LKUP_RET_NO_NEIGH = 7,\n\tBPF_FIB_LKUP_RET_FRAG_NEEDED = 8,\n\tBPF_FIB_LKUP_RET_NO_SRC_ADDR = 9,\n};\n\nenum {\n\tBPF_FIB_LOOKUP_DIRECT = 1,\n\tBPF_FIB_LOOKUP_OUTPUT = 2,\n\tBPF_FIB_LOOKUP_SKIP_NEIGH = 4,\n\tBPF_FIB_LOOKUP_TBID = 8,\n\tBPF_FIB_LOOKUP_SRC = 16,\n\tBPF_FIB_LOOKUP_MARK = 32,\n};\n\nenum {\n\tBPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 1,\n\tBPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 2,\n\tBPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 4,\n};\n\nenum {\n\tBPF_F_ADJ_ROOM_FIXED_GSO = 1,\n\tBPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 2,\n\tBPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 4,\n\tBPF_F_ADJ_ROOM_ENCAP_L4_GRE = 8,\n\tBPF_F_ADJ_ROOM_ENCAP_L4_UDP = 16,\n\tBPF_F_ADJ_ROOM_NO_CSUM_RESET = 32,\n\tBPF_F_ADJ_ROOM_ENCAP_L2_ETH = 64,\n\tBPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 128,\n\tBPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256,\n};\n\nenum {\n\tBPF_F_BPRM_SECUREEXEC = 1,\n};\n\nenum {\n\tBPF_F_CURRENT_NETNS = -1,\n};\n\nenum {\n\tBPF_F_GET_BRANCH_RECORDS_SIZE = 1,\n};\n\nenum {\n\tBPF_F_HDR_FIELD_MASK = 15,\n};\n\nenum {\n\tBPF_F_INDEX_MASK = 4294967295ULL,\n\tBPF_F_CURRENT_CPU = 4294967295ULL,\n\tBPF_F_CTXLEN_MASK = 4503595332403200ULL,\n};\n\nenum {\n\tBPF_F_INGRESS = 1,\n\tBPF_F_BROADCAST = 8,\n\tBPF_F_EXCLUDE_INGRESS = 16,\n};\n\nenum {\n\tBPF_F_NEIGH = 65536,\n\tBPF_F_PEER = 131072,\n\tBPF_F_NEXTHOP = 262144,\n};\n\nenum {\n\tBPF_F_NO_PREALLOC = 1,\n\tBPF_F_NO_COMMON_LRU = 2,\n\tBPF_F_NUMA_NODE = 4,\n\tBPF_F_RDONLY = 8,\n\tBPF_F_WRONLY = 16,\n\tBPF_F_STACK_BUILD_ID = 32,\n\tBPF_F_ZERO_SEED = 64,\n\tBPF_F_RDONLY_PROG = 128,\n\tBPF_F_WRONLY_PROG = 256,\n\tBPF_F_CLONE = 512,\n\tBPF_F_MMAPABLE = 1024,\n\tBPF_F_PRESERVE_ELEMS = 2048,\n\tBPF_F_INNER_MAP = 4096,\n\tBPF_F_LINK = 8192,\n\tBPF_F_PATH_FD = 16384,\n\tBPF_F_VTYPE_BTF_OBJ_FD = 32768,\n\tBPF_F_TOKEN_FD = 65536,\n\tBPF_F_SEGV_ON_FAULT = 131072,\n\tBPF_F_NO_USER_CONV = 262144,\n};\n\nenum {\n\tBPF_F_PSEUDO_HDR = 16,\n\tBPF_F_MARK_MANGLED_0 = 32,\n\tBPF_F_MARK_ENFORCE = 64,\n};\n\nenum {\n\tBPF_F_RECOMPUTE_CSUM = 1,\n\tBPF_F_INVALIDATE_HASH = 2,\n};\n\nenum {\n\tBPF_F_SKIP_FIELD_MASK = 255,\n\tBPF_F_USER_STACK = 256,\n\tBPF_F_FAST_STACK_CMP = 512,\n\tBPF_F_REUSE_STACKID = 1024,\n\tBPF_F_USER_BUILD_ID = 2048,\n};\n\nenum {\n\tBPF_F_SYSCTL_BASE_NAME = 1,\n};\n\nenum {\n\tBPF_F_TIMER_ABS = 1,\n\tBPF_F_TIMER_CPU_PIN = 2,\n};\n\nenum {\n\tBPF_F_TUNINFO_FLAGS = 16,\n};\n\nenum {\n\tBPF_F_TUNINFO_IPV6 = 1,\n};\n\nenum {\n\tBPF_F_UPROBE_MULTI_RETURN = 1,\n};\n\nenum {\n\tBPF_F_ZERO_CSUM_TX = 2,\n\tBPF_F_DONT_FRAGMENT = 4,\n\tBPF_F_SEQ_NUMBER = 8,\n\tBPF_F_NO_TUNNEL_KEY = 16,\n};\n\nenum {\n\tBPF_LOAD_HDR_OPT_TCP_SYN = 1,\n};\n\nenum {\n\tBPF_LOCAL_STORAGE_GET_F_CREATE = 1,\n\tBPF_SK_STORAGE_GET_F_CREATE = 1,\n};\n\nenum {\n\tBPF_MAX_LOOPS = 8388608,\n};\n\nenum {\n\tBPF_MAX_TRAMP_LINKS = 38,\n};\n\nenum {\n\tBPF_RB_AVAIL_DATA = 0,\n\tBPF_RB_RING_SIZE = 1,\n\tBPF_RB_CONS_POS = 2,\n\tBPF_RB_PROD_POS = 3,\n};\n\nenum {\n\tBPF_RB_NO_WAKEUP = 1,\n\tBPF_RB_FORCE_WAKEUP = 2,\n};\n\nenum {\n\tBPF_REG_0 = 0,\n\tBPF_REG_1 = 1,\n\tBPF_REG_2 = 2,\n\tBPF_REG_3 = 3,\n\tBPF_REG_4 = 4,\n\tBPF_REG_5 = 5,\n\tBPF_REG_6 = 6,\n\tBPF_REG_7 = 7,\n\tBPF_REG_8 = 8,\n\tBPF_REG_9 = 9,\n\tBPF_REG_10 = 10,\n\t__MAX_BPF_REG = 11,\n};\n\nenum {\n\tBPF_RINGBUF_BUSY_BIT = 2147483648,\n\tBPF_RINGBUF_DISCARD_BIT = 1073741824,\n\tBPF_RINGBUF_HDR_SZ = 8,\n};\n\nenum {\n\tBPF_SKB_TSTAMP_UNSPEC = 0,\n\tBPF_SKB_TSTAMP_DELIVERY_MONO = 1,\n\tBPF_SKB_CLOCK_REALTIME = 0,\n\tBPF_SKB_CLOCK_MONOTONIC = 1,\n\tBPF_SKB_CLOCK_TAI = 2,\n};\n\nenum {\n\tBPF_SK_LOOKUP_F_REPLACE = 1,\n\tBPF_SK_LOOKUP_F_NO_REUSEPORT = 2,\n};\n\nenum {\n\tBPF_SOCK_OPS_RTO_CB_FLAG = 1,\n\tBPF_SOCK_OPS_RETRANS_CB_FLAG = 2,\n\tBPF_SOCK_OPS_STATE_CB_FLAG = 4,\n\tBPF_SOCK_OPS_RTT_CB_FLAG = 8,\n\tBPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 16,\n\tBPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 32,\n\tBPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 64,\n\tBPF_SOCK_OPS_ALL_CB_FLAGS = 127,\n};\n\nenum {\n\tBPF_SOCK_OPS_VOID = 0,\n\tBPF_SOCK_OPS_TIMEOUT_INIT = 1,\n\tBPF_SOCK_OPS_RWND_INIT = 2,\n\tBPF_SOCK_OPS_TCP_CONNECT_CB = 3,\n\tBPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 4,\n\tBPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 5,\n\tBPF_SOCK_OPS_NEEDS_ECN = 6,\n\tBPF_SOCK_OPS_BASE_RTT = 7,\n\tBPF_SOCK_OPS_RTO_CB = 8,\n\tBPF_SOCK_OPS_RETRANS_CB = 9,\n\tBPF_SOCK_OPS_STATE_CB = 10,\n\tBPF_SOCK_OPS_TCP_LISTEN_CB = 11,\n\tBPF_SOCK_OPS_RTT_CB = 12,\n\tBPF_SOCK_OPS_PARSE_HDR_OPT_CB = 13,\n\tBPF_SOCK_OPS_HDR_OPT_LEN_CB = 14,\n\tBPF_SOCK_OPS_WRITE_HDR_OPT_CB = 15,\n};\n\nenum {\n\tBPF_TASK_ITER_ALL_PROCS = 0,\n\tBPF_TASK_ITER_ALL_THREADS = 1,\n\tBPF_TASK_ITER_PROC_THREADS = 2,\n};\n\nenum {\n\tBPF_TCP_ESTABLISHED = 1,\n\tBPF_TCP_SYN_SENT = 2,\n\tBPF_TCP_SYN_RECV = 3,\n\tBPF_TCP_FIN_WAIT1 = 4,\n\tBPF_TCP_FIN_WAIT2 = 5,\n\tBPF_TCP_TIME_WAIT = 6,\n\tBPF_TCP_CLOSE = 7,\n\tBPF_TCP_CLOSE_WAIT = 8,\n\tBPF_TCP_LAST_ACK = 9,\n\tBPF_TCP_LISTEN = 10,\n\tBPF_TCP_CLOSING = 11,\n\tBPF_TCP_NEW_SYN_RECV = 12,\n\tBPF_TCP_BOUND_INACTIVE = 13,\n\tBPF_TCP_MAX_STATES = 14,\n};\n\nenum {\n\tBPF_WRITE_HDR_TCP_CURRENT_MSS = 1,\n\tBPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2,\n};\n\nenum {\n\tBPF_XFRM_STATE_OPTS_SZ = 36,\n};\n\nenum {\n\tBR_MCAST_DIR_RX = 0,\n\tBR_MCAST_DIR_TX = 1,\n\tBR_MCAST_DIR_SIZE = 2,\n};\n\nenum {\n\tBTF_FIELDS_MAX = 11,\n};\n\nenum {\n\tBTF_FIELD_IGNORE = 0,\n\tBTF_FIELD_FOUND = 1,\n};\n\nenum {\n\tBTF_F_COMPACT = 1,\n\tBTF_F_NONAME = 2,\n\tBTF_F_PTR_RAW = 4,\n\tBTF_F_ZERO = 8,\n};\n\nenum {\n\tBTF_KFUNC_SET_MAX_CNT = 256,\n\tBTF_DTOR_KFUNC_MAX_CNT = 256,\n\tBTF_KFUNC_FILTER_MAX_CNT = 16,\n};\n\nenum {\n\tBTF_KIND_UNKN = 0,\n\tBTF_KIND_INT = 1,\n\tBTF_KIND_PTR = 2,\n\tBTF_KIND_ARRAY = 3,\n\tBTF_KIND_STRUCT = 4,\n\tBTF_KIND_UNION = 5,\n\tBTF_KIND_ENUM = 6,\n\tBTF_KIND_FWD = 7,\n\tBTF_KIND_TYPEDEF = 8,\n\tBTF_KIND_VOLATILE = 9,\n\tBTF_KIND_CONST = 10,\n\tBTF_KIND_RESTRICT = 11,\n\tBTF_KIND_FUNC = 12,\n\tBTF_KIND_FUNC_PROTO = 13,\n\tBTF_KIND_VAR = 14,\n\tBTF_KIND_DATASEC = 15,\n\tBTF_KIND_FLOAT = 16,\n\tBTF_KIND_DECL_TAG = 17,\n\tBTF_KIND_TYPE_TAG = 18,\n\tBTF_KIND_ENUM64 = 19,\n\tNR_BTF_KINDS = 20,\n\tBTF_KIND_MAX = 19,\n};\n\nenum {\n\tBTF_MODULE_F_LIVE = 1,\n};\n\nenum {\n\tBTF_SOCK_TYPE_INET = 0,\n\tBTF_SOCK_TYPE_INET_CONN = 1,\n\tBTF_SOCK_TYPE_INET_REQ = 2,\n\tBTF_SOCK_TYPE_INET_TW = 3,\n\tBTF_SOCK_TYPE_REQ = 4,\n\tBTF_SOCK_TYPE_SOCK = 5,\n\tBTF_SOCK_TYPE_SOCK_COMMON = 6,\n\tBTF_SOCK_TYPE_TCP = 7,\n\tBTF_SOCK_TYPE_TCP_REQ = 8,\n\tBTF_SOCK_TYPE_TCP_TW = 9,\n\tBTF_SOCK_TYPE_TCP6 = 10,\n\tBTF_SOCK_TYPE_UDP = 11,\n\tBTF_SOCK_TYPE_UDP6 = 12,\n\tBTF_SOCK_TYPE_UNIX = 13,\n\tBTF_SOCK_TYPE_MPTCP = 14,\n\tBTF_SOCK_TYPE_SOCKET = 15,\n\tMAX_BTF_SOCK_TYPE = 16,\n};\n\nenum {\n\tBTF_TRACING_TYPE_TASK = 0,\n\tBTF_TRACING_TYPE_FILE = 1,\n\tBTF_TRACING_TYPE_VMA = 2,\n\tMAX_BTF_TRACING_TYPE = 3,\n};\n\nenum {\n\tBTF_VAR_STATIC = 0,\n\tBTF_VAR_GLOBAL_ALLOCATED = 1,\n\tBTF_VAR_GLOBAL_EXTERN = 2,\n};\n\nenum {\n\tBlktrace_setup = 1,\n\tBlktrace_running = 2,\n\tBlktrace_stopped = 3,\n};\n\nenum {\n\tCACHE_RH_CNT = 14,\n};\n\nenum {\n\tCACHE_VALID = 0,\n\tCACHE_NEGATIVE = 1,\n\tCACHE_PENDING = 2,\n\tCACHE_CLEANED = 3,\n};\n\nenum {\n\tCACHE_WH_CNT = 15,\n};\n\nenum {\n\tCFTYPE_ONLY_ON_ROOT = 1,\n\tCFTYPE_NOT_ON_ROOT = 2,\n\tCFTYPE_NS_DELEGATABLE = 4,\n\tCFTYPE_NO_PREFIX = 8,\n\tCFTYPE_WORLD_WRITABLE = 16,\n\tCFTYPE_DEBUG = 32,\n\t__CFTYPE_ONLY_ON_DFL = 65536,\n\t__CFTYPE_NOT_ON_DFL = 131072,\n\t__CFTYPE_ADDED = 262144,\n};\n\nenum {\n\tCGROUPSTATS_CMD_ATTR_UNSPEC = 0,\n\tCGROUPSTATS_CMD_ATTR_FD = 1,\n\t__CGROUPSTATS_CMD_ATTR_MAX = 2,\n};\n\nenum {\n\tCGROUPSTATS_CMD_UNSPEC = 3,\n\tCGROUPSTATS_CMD_GET = 4,\n\tCGROUPSTATS_CMD_NEW = 5,\n\t__CGROUPSTATS_CMD_MAX = 6,\n};\n\nenum {\n\tCGROUPSTATS_TYPE_UNSPEC = 0,\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 1,\n\t__CGROUPSTATS_TYPE_MAX = 2,\n};\n\nenum {\n\tCGRP_NOTIFY_ON_RELEASE = 0,\n\tCGRP_CPUSET_CLONE_CHILDREN = 1,\n\tCGRP_FREEZE = 2,\n\tCGRP_FROZEN = 3,\n};\n\nenum {\n\tCGRP_ROOT_NOPREFIX = 2,\n\tCGRP_ROOT_XATTR = 4,\n\tCGRP_ROOT_NS_DELEGATE = 8,\n\tCGRP_ROOT_FAVOR_DYNMODS = 16,\n\tCGRP_ROOT_CPUSET_V2_MODE = 65536,\n\tCGRP_ROOT_MEMORY_LOCAL_EVENTS = 131072,\n\tCGRP_ROOT_MEMORY_RECURSIVE_PROT = 262144,\n\tCGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING = 524288,\n\tCGRP_ROOT_PIDS_LOCAL_EVENTS = 1048576,\n};\n\nenum {\n\tCMIS_MODULE_LOW_PWR = 1,\n\tCMIS_MODULE_READY = 3,\n};\n\nenum {\n\tCRI_RES_UTIL = 5,\n};\n\nenum {\n\tCRNG_EMPTY = 0,\n\tCRNG_EARLY = 1,\n\tCRNG_READY = 2,\n};\n\nenum {\n\tCRNG_RESEED_START_INTERVAL = 100,\n\tCRNG_RESEED_INTERVAL = 6000,\n};\n\nenum {\n\tCRYPTOA_UNSPEC = 0,\n\tCRYPTOA_ALG = 1,\n\tCRYPTOA_TYPE = 2,\n\t__CRYPTOA_MAX = 3,\n};\n\nenum {\n\tCRYPTO_MSG_ALG_REQUEST = 0,\n\tCRYPTO_MSG_ALG_REGISTER = 1,\n\tCRYPTO_MSG_ALG_LOADED = 2,\n};\n\nenum {\n\tCSD_FLAG_LOCK = 1,\n\tIRQ_WORK_PENDING = 1,\n\tIRQ_WORK_BUSY = 2,\n\tIRQ_WORK_LAZY = 4,\n\tIRQ_WORK_HARD_IRQ = 8,\n\tIRQ_WORK_CLAIMED = 3,\n\tCSD_TYPE_ASYNC = 0,\n\tCSD_TYPE_SYNC = 16,\n\tCSD_TYPE_IRQ_WORK = 32,\n\tCSD_TYPE_TTWU = 48,\n\tCSD_FLAG_TYPE_MASK = 240,\n};\n\nenum {\n\tCSI_DEC_hl_CURSOR_KEYS = 1,\n\tCSI_DEC_hl_132_COLUMNS = 3,\n\tCSI_DEC_hl_REVERSE_VIDEO = 5,\n\tCSI_DEC_hl_ORIGIN_MODE = 6,\n\tCSI_DEC_hl_AUTOWRAP = 7,\n\tCSI_DEC_hl_AUTOREPEAT = 8,\n\tCSI_DEC_hl_MOUSE_X10 = 9,\n\tCSI_DEC_hl_SHOW_CURSOR = 25,\n\tCSI_DEC_hl_MOUSE_VT200 = 1000,\n};\n\nenum {\n\tCSI_K_CURSOR_TO_LINEEND = 0,\n\tCSI_K_LINESTART_TO_CURSOR = 1,\n\tCSI_K_LINE = 2,\n};\n\nenum {\n\tCSI_hl_DISPLAY_CTRL = 3,\n\tCSI_hl_INSERT = 4,\n\tCSI_hl_AUTO_NL = 20,\n};\n\nenum {\n\tCSI_m_DEFAULT = 0,\n\tCSI_m_BOLD = 1,\n\tCSI_m_HALF_BRIGHT = 2,\n\tCSI_m_ITALIC = 3,\n\tCSI_m_UNDERLINE = 4,\n\tCSI_m_BLINK = 5,\n\tCSI_m_REVERSE = 7,\n\tCSI_m_PRI_FONT = 10,\n\tCSI_m_ALT_FONT1 = 11,\n\tCSI_m_ALT_FONT2 = 12,\n\tCSI_m_DOUBLE_UNDERLINE = 21,\n\tCSI_m_NORMAL_INTENSITY = 22,\n\tCSI_m_NO_ITALIC = 23,\n\tCSI_m_NO_UNDERLINE = 24,\n\tCSI_m_NO_BLINK = 25,\n\tCSI_m_NO_REVERSE = 27,\n\tCSI_m_FG_COLOR_BEG = 30,\n\tCSI_m_FG_COLOR_END = 37,\n\tCSI_m_FG_COLOR = 38,\n\tCSI_m_DEFAULT_FG_COLOR = 39,\n\tCSI_m_BG_COLOR_BEG = 40,\n\tCSI_m_BG_COLOR_END = 47,\n\tCSI_m_BG_COLOR = 48,\n\tCSI_m_DEFAULT_BG_COLOR = 49,\n\tCSI_m_BRIGHT_FG_COLOR_BEG = 90,\n\tCSI_m_BRIGHT_FG_COLOR_END = 97,\n\tCSI_m_BRIGHT_FG_COLOR_OFF = 60,\n\tCSI_m_BRIGHT_BG_COLOR_BEG = 100,\n\tCSI_m_BRIGHT_BG_COLOR_END = 107,\n\tCSI_m_BRIGHT_BG_COLOR_OFF = 60,\n};\n\nenum {\n\tCSS_NO_REF = 1,\n\tCSS_ONLINE = 2,\n\tCSS_RELEASED = 4,\n\tCSS_VISIBLE = 8,\n\tCSS_DYING = 16,\n};\n\nenum {\n\tCSS_TASK_ITER_PROCS = 1,\n\tCSS_TASK_ITER_THREADED = 2,\n\tCSS_TASK_ITER_SKIPPED = 65536,\n};\n\nenum {\n\tCTL_RES_CNT = 1,\n};\n\nenum {\n\tCTL_RES_TM = 2,\n};\n\nenum {\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0,\n\tCTRL_ATTR_MCAST_GRP_NAME = 1,\n\tCTRL_ATTR_MCAST_GRP_ID = 2,\n\t__CTRL_ATTR_MCAST_GRP_MAX = 3,\n};\n\nenum {\n\tCTRL_ATTR_OP_UNSPEC = 0,\n\tCTRL_ATTR_OP_ID = 1,\n\tCTRL_ATTR_OP_FLAGS = 2,\n\t__CTRL_ATTR_OP_MAX = 3,\n};\n\nenum {\n\tCTRL_ATTR_POLICY_UNSPEC = 0,\n\tCTRL_ATTR_POLICY_DO = 1,\n\tCTRL_ATTR_POLICY_DUMP = 2,\n\t__CTRL_ATTR_POLICY_DUMP_MAX = 3,\n\tCTRL_ATTR_POLICY_DUMP_MAX = 2,\n};\n\nenum {\n\tCTRL_ATTR_UNSPEC = 0,\n\tCTRL_ATTR_FAMILY_ID = 1,\n\tCTRL_ATTR_FAMILY_NAME = 2,\n\tCTRL_ATTR_VERSION = 3,\n\tCTRL_ATTR_HDRSIZE = 4,\n\tCTRL_ATTR_MAXATTR = 5,\n\tCTRL_ATTR_OPS = 6,\n\tCTRL_ATTR_MCAST_GROUPS = 7,\n\tCTRL_ATTR_POLICY = 8,\n\tCTRL_ATTR_OP_POLICY = 9,\n\tCTRL_ATTR_OP = 10,\n\t__CTRL_ATTR_MAX = 11,\n};\n\nenum {\n\tCTRL_CMD_UNSPEC = 0,\n\tCTRL_CMD_NEWFAMILY = 1,\n\tCTRL_CMD_DELFAMILY = 2,\n\tCTRL_CMD_GETFAMILY = 3,\n\tCTRL_CMD_NEWOPS = 4,\n\tCTRL_CMD_DELOPS = 5,\n\tCTRL_CMD_GETOPS = 6,\n\tCTRL_CMD_NEWMCAST_GRP = 7,\n\tCTRL_CMD_DELMCAST_GRP = 8,\n\tCTRL_CMD_GETMCAST_GRP = 9,\n\tCTRL_CMD_GETPOLICY = 10,\n\t__CTRL_CMD_MAX = 11,\n};\n\nenum {\n\tDAD_PROCESS = 0,\n\tDAD_BEGIN = 1,\n\tDAD_ABORT = 2,\n};\n\nenum {\n\tDDW_EXT_SIZE = 0,\n\tDDW_EXT_RESET_DMA_WIN = 1,\n\tDDW_EXT_QUERY_OUT_SIZE = 2,\n};\n\nenum {\n\tDDW_QUERY_PE_DMA_WIN = 0,\n\tDDW_CREATE_PE_DMA_WIN = 1,\n\tDDW_REMOVE_PE_DMA_WIN = 2,\n\tDDW_APPLICABLE_SIZE = 3,\n};\n\nenum {\n\tDD_DIR_COUNT = 2,\n};\n\nenum {\n\tDD_PRIO_COUNT = 3,\n};\n\nenum {\n\tDEVCONF_FORWARDING = 0,\n\tDEVCONF_HOPLIMIT = 1,\n\tDEVCONF_MTU6 = 2,\n\tDEVCONF_ACCEPT_RA = 3,\n\tDEVCONF_ACCEPT_REDIRECTS = 4,\n\tDEVCONF_AUTOCONF = 5,\n\tDEVCONF_DAD_TRANSMITS = 6,\n\tDEVCONF_RTR_SOLICITS = 7,\n\tDEVCONF_RTR_SOLICIT_INTERVAL = 8,\n\tDEVCONF_RTR_SOLICIT_DELAY = 9,\n\tDEVCONF_USE_TEMPADDR = 10,\n\tDEVCONF_TEMP_VALID_LFT = 11,\n\tDEVCONF_TEMP_PREFERED_LFT = 12,\n\tDEVCONF_REGEN_MAX_RETRY = 13,\n\tDEVCONF_MAX_DESYNC_FACTOR = 14,\n\tDEVCONF_MAX_ADDRESSES = 15,\n\tDEVCONF_FORCE_MLD_VERSION = 16,\n\tDEVCONF_ACCEPT_RA_DEFRTR = 17,\n\tDEVCONF_ACCEPT_RA_PINFO = 18,\n\tDEVCONF_ACCEPT_RA_RTR_PREF = 19,\n\tDEVCONF_RTR_PROBE_INTERVAL = 20,\n\tDEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN = 21,\n\tDEVCONF_PROXY_NDP = 22,\n\tDEVCONF_OPTIMISTIC_DAD = 23,\n\tDEVCONF_ACCEPT_SOURCE_ROUTE = 24,\n\tDEVCONF_MC_FORWARDING = 25,\n\tDEVCONF_DISABLE_IPV6 = 26,\n\tDEVCONF_ACCEPT_DAD = 27,\n\tDEVCONF_FORCE_TLLAO = 28,\n\tDEVCONF_NDISC_NOTIFY = 29,\n\tDEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL = 30,\n\tDEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL = 31,\n\tDEVCONF_SUPPRESS_FRAG_NDISC = 32,\n\tDEVCONF_ACCEPT_RA_FROM_LOCAL = 33,\n\tDEVCONF_USE_OPTIMISTIC = 34,\n\tDEVCONF_ACCEPT_RA_MTU = 35,\n\tDEVCONF_STABLE_SECRET = 36,\n\tDEVCONF_USE_OIF_ADDRS_ONLY = 37,\n\tDEVCONF_ACCEPT_RA_MIN_HOP_LIMIT = 38,\n\tDEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 39,\n\tDEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 40,\n\tDEVCONF_DROP_UNSOLICITED_NA = 41,\n\tDEVCONF_KEEP_ADDR_ON_DOWN = 42,\n\tDEVCONF_RTR_SOLICIT_MAX_INTERVAL = 43,\n\tDEVCONF_SEG6_ENABLED = 44,\n\tDEVCONF_SEG6_REQUIRE_HMAC = 45,\n\tDEVCONF_ENHANCED_DAD = 46,\n\tDEVCONF_ADDR_GEN_MODE = 47,\n\tDEVCONF_DISABLE_POLICY = 48,\n\tDEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN = 49,\n\tDEVCONF_NDISC_TCLASS = 50,\n\tDEVCONF_RPL_SEG_ENABLED = 51,\n\tDEVCONF_RA_DEFRTR_METRIC = 52,\n\tDEVCONF_IOAM6_ENABLED = 53,\n\tDEVCONF_IOAM6_ID = 54,\n\tDEVCONF_IOAM6_ID_WIDE = 55,\n\tDEVCONF_NDISC_EVICT_NOCARRIER = 56,\n\tDEVCONF_ACCEPT_UNTRACKED_NA = 57,\n\tDEVCONF_ACCEPT_RA_MIN_LFT = 58,\n\tDEVCONF_MAX = 59,\n};\n\nenum {\n\tDEVLINK_ATTR_STATS_RX_PACKETS = 0,\n\tDEVLINK_ATTR_STATS_RX_BYTES = 1,\n\tDEVLINK_ATTR_STATS_RX_DROPPED = 2,\n\t__DEVLINK_ATTR_STATS_MAX = 3,\n\tDEVLINK_ATTR_STATS_MAX = 2,\n};\n\nenum {\n\tDEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT = 0,\n\tDEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE = 1,\n};\n\nenum {\n\tDIO_LOCKING = 1,\n\tDIO_SKIP_HOLES = 2,\n};\n\nenum {\n\tDIO_SHOULD_DIRTY = 1,\n\tDIO_IS_SYNC = 2,\n};\n\nenum {\n\tDIR_OFFSET_FIRST = 2,\n\tDIR_OFFSET_EOD = 2147483647,\n};\n\nenum {\n\tDIR_OFFSET_MIN = 3,\n\tDIR_OFFSET_MAX = 2147483646,\n};\n\nenum {\n\tDISCOVERED = 16,\n\tEXPLORED = 32,\n\tFALLTHROUGH = 1,\n\tBRANCH = 2,\n};\n\nenum {\n\tDISK_EVENT_FLAG_POLL = 1,\n\tDISK_EVENT_FLAG_UEVENT = 2,\n\tDISK_EVENT_FLAG_BLOCK_ON_EXCL_WRITE = 4,\n};\n\nenum {\n\tDISK_EVENT_MEDIA_CHANGE = 1,\n\tDISK_EVENT_EJECT_REQUEST = 2,\n};\n\nenum {\n\tDM_IO_ACCOUNTED = 0,\n\tDM_IO_WAS_SPLIT = 1,\n\tDM_IO_BLK_STAT = 2,\n};\n\nenum {\n\tDM_TIO_INSIDE_DM_IO = 0,\n\tDM_TIO_IS_DUPLICATE_BIO = 1,\n};\n\nenum {\n\tDM_VERSION_CMD = 0,\n\tDM_REMOVE_ALL_CMD = 1,\n\tDM_LIST_DEVICES_CMD = 2,\n\tDM_DEV_CREATE_CMD = 3,\n\tDM_DEV_REMOVE_CMD = 4,\n\tDM_DEV_RENAME_CMD = 5,\n\tDM_DEV_SUSPEND_CMD = 6,\n\tDM_DEV_STATUS_CMD = 7,\n\tDM_DEV_WAIT_CMD = 8,\n\tDM_TABLE_LOAD_CMD = 9,\n\tDM_TABLE_CLEAR_CMD = 10,\n\tDM_TABLE_DEPS_CMD = 11,\n\tDM_TABLE_STATUS_CMD = 12,\n\tDM_LIST_VERSIONS_CMD = 13,\n\tDM_TARGET_MSG_CMD = 14,\n\tDM_DEV_SET_GEOMETRY_CMD = 15,\n\tDM_DEV_ARM_POLL_CMD = 16,\n\tDM_GET_TARGET_VERSION_CMD = 17,\n};\n\nenum {\n\tDONE_EXPLORING = 0,\n\tKEEP_EXPLORING = 1,\n};\n\nenum {\n\tDQF_ROOT_SQUASH_B = 0,\n\tDQF_SYS_FILE_B = 16,\n\tDQF_PRIVATE = 17,\n};\n\nenum {\n\tDQST_LOOKUPS = 0,\n\tDQST_DROPS = 1,\n\tDQST_READS = 2,\n\tDQST_WRITES = 3,\n\tDQST_CACHE_HITS = 4,\n\tDQST_ALLOC_DQUOTS = 5,\n\tDQST_FREE_DQUOTS = 6,\n\tDQST_SYNCS = 7,\n\t_DQST_DQSTAT_LAST = 8,\n};\n\nenum {\n\tDTRIG_UNKNOWN = 0,\n\tDTRIG_VECTOR_CI = 1,\n\tDTRIG_SUSPEND_ESCAPE = 2,\n};\n\nenum {\n\tDUMP_PREFIX_NONE = 0,\n\tDUMP_PREFIX_ADDRESS = 1,\n\tDUMP_PREFIX_OFFSET = 2,\n};\n\nenum {\n\tEEH_NEXT_ERR_NONE = 0,\n\tEEH_NEXT_ERR_INF = 1,\n\tEEH_NEXT_ERR_FROZEN_PE = 2,\n\tEEH_NEXT_ERR_FENCED_PHB = 3,\n\tEEH_NEXT_ERR_DEAD_PHB = 4,\n\tEEH_NEXT_ERR_DEAD_IOC = 5,\n};\n\nenum {\n\tEPecma = 0,\n\tEPdec = 1,\n\tEPeq = 2,\n\tEPgt = 3,\n\tEPlt = 4,\n};\n\nenum {\n\tERASE = 0,\n\tWERASE = 1,\n\tKILL = 2,\n};\n\nenum {\n\tES_WRITTEN_B = 0,\n\tES_UNWRITTEN_B = 1,\n\tES_DELAYED_B = 2,\n\tES_HOLE_B = 3,\n\tES_REFERENCED_B = 4,\n\tES_FLAGS = 5,\n};\n\nenum {\n\tETHTOOL_A_BITSET_BITS_UNSPEC = 0,\n\tETHTOOL_A_BITSET_BITS_BIT = 1,\n\t__ETHTOOL_A_BITSET_BITS_CNT = 2,\n\tETHTOOL_A_BITSET_BITS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_BITSET_BIT_UNSPEC = 0,\n\tETHTOOL_A_BITSET_BIT_INDEX = 1,\n\tETHTOOL_A_BITSET_BIT_NAME = 2,\n\tETHTOOL_A_BITSET_BIT_VALUE = 3,\n\t__ETHTOOL_A_BITSET_BIT_CNT = 4,\n\tETHTOOL_A_BITSET_BIT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_BITSET_UNSPEC = 0,\n\tETHTOOL_A_BITSET_NOMASK = 1,\n\tETHTOOL_A_BITSET_SIZE = 2,\n\tETHTOOL_A_BITSET_BITS = 3,\n\tETHTOOL_A_BITSET_VALUE = 4,\n\tETHTOOL_A_BITSET_MASK = 5,\n\t__ETHTOOL_A_BITSET_CNT = 6,\n\tETHTOOL_A_BITSET_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC = 0,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_MIN = 1,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2,\n\t__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT = 3,\n\t__ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_AMPLITUDE_PAIR = 1,\n\tETHTOOL_A_CABLE_AMPLITUDE_mV = 2,\n\t__ETHTOOL_A_CABLE_AMPLITUDE_CNT = 3,\n\tETHTOOL_A_CABLE_AMPLITUDE_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 1,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_CM = 2,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_SRC = 3,\n\t__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT = 4,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_INF_SRC_UNSPEC = 0,\n\tETHTOOL_A_CABLE_INF_SRC_TDR = 1,\n\tETHTOOL_A_CABLE_INF_SRC_ALCD = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_NEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_NEST_RESULT = 1,\n\tETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 2,\n\t__ETHTOOL_A_CABLE_NEST_CNT = 3,\n\tETHTOOL_A_CABLE_NEST_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_PAIR_A = 0,\n\tETHTOOL_A_CABLE_PAIR_B = 1,\n\tETHTOOL_A_CABLE_PAIR_C = 2,\n\tETHTOOL_A_CABLE_PAIR_D = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_PULSE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_PULSE_mV = 1,\n\t__ETHTOOL_A_CABLE_PULSE_CNT = 2,\n\tETHTOOL_A_CABLE_PULSE_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_RESULT_CODE_OK = 1,\n\tETHTOOL_A_CABLE_RESULT_CODE_OPEN = 2,\n\tETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = 3,\n\tETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = 4,\n\tETHTOOL_A_CABLE_RESULT_CODE_IMPEDANCE_MISMATCH = 5,\n\tETHTOOL_A_CABLE_RESULT_CODE_NOISE = 6,\n\tETHTOOL_A_CABLE_RESULT_CODE_RESOLUTION_NOT_POSSIBLE = 7,\n};\n\nenum {\n\tETHTOOL_A_CABLE_RESULT_UNSPEC = 0,\n\tETHTOOL_A_CABLE_RESULT_PAIR = 1,\n\tETHTOOL_A_CABLE_RESULT_CODE = 2,\n\tETHTOOL_A_CABLE_RESULT_SRC = 3,\n\t__ETHTOOL_A_CABLE_RESULT_CNT = 4,\n\tETHTOOL_A_CABLE_RESULT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_STEP_UNSPEC = 0,\n\tETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 1,\n\tETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 2,\n\tETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 3,\n\t__ETHTOOL_A_CABLE_STEP_CNT = 4,\n\tETHTOOL_A_CABLE_STEP_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TDR_NEST_STEP = 1,\n\tETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 2,\n\tETHTOOL_A_CABLE_TDR_NEST_PULSE = 3,\n\t__ETHTOOL_A_CABLE_TDR_NEST_CNT = 4,\n\tETHTOOL_A_CABLE_TDR_NEST_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 1,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_NTF_HEADER = 1,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS = 2,\n\tETHTOOL_A_CABLE_TEST_NTF_NEST = 3,\n\t__ETHTOOL_A_CABLE_TEST_NTF_CNT = 4,\n\tETHTOOL_A_CABLE_TEST_NTF_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 1,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 2,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 3,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 4,\n\t__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT = 5,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_TDR_HEADER = 1,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG = 2,\n\t__ETHTOOL_A_CABLE_TEST_TDR_CNT = 3,\n\tETHTOOL_A_CABLE_TEST_TDR_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_HEADER = 1,\n\t__ETHTOOL_A_CABLE_TEST_CNT = 2,\n\tETHTOOL_A_CABLE_TEST_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_CHANNELS_UNSPEC = 0,\n\tETHTOOL_A_CHANNELS_HEADER = 1,\n\tETHTOOL_A_CHANNELS_RX_MAX = 2,\n\tETHTOOL_A_CHANNELS_TX_MAX = 3,\n\tETHTOOL_A_CHANNELS_OTHER_MAX = 4,\n\tETHTOOL_A_CHANNELS_COMBINED_MAX = 5,\n\tETHTOOL_A_CHANNELS_RX_COUNT = 6,\n\tETHTOOL_A_CHANNELS_TX_COUNT = 7,\n\tETHTOOL_A_CHANNELS_OTHER_COUNT = 8,\n\tETHTOOL_A_CHANNELS_COMBINED_COUNT = 9,\n\t__ETHTOOL_A_CHANNELS_CNT = 10,\n\tETHTOOL_A_CHANNELS_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_COALESCE_UNSPEC = 0,\n\tETHTOOL_A_COALESCE_HEADER = 1,\n\tETHTOOL_A_COALESCE_RX_USECS = 2,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES = 3,\n\tETHTOOL_A_COALESCE_RX_USECS_IRQ = 4,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 5,\n\tETHTOOL_A_COALESCE_TX_USECS = 6,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES = 7,\n\tETHTOOL_A_COALESCE_TX_USECS_IRQ = 8,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 9,\n\tETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 10,\n\tETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 11,\n\tETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 12,\n\tETHTOOL_A_COALESCE_PKT_RATE_LOW = 13,\n\tETHTOOL_A_COALESCE_RX_USECS_LOW = 14,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 15,\n\tETHTOOL_A_COALESCE_TX_USECS_LOW = 16,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 17,\n\tETHTOOL_A_COALESCE_PKT_RATE_HIGH = 18,\n\tETHTOOL_A_COALESCE_RX_USECS_HIGH = 19,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 20,\n\tETHTOOL_A_COALESCE_TX_USECS_HIGH = 21,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 22,\n\tETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 23,\n\tETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 24,\n\tETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 25,\n\tETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES = 26,\n\tETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES = 27,\n\tETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS = 28,\n\tETHTOOL_A_COALESCE_RX_PROFILE = 29,\n\tETHTOOL_A_COALESCE_TX_PROFILE = 30,\n\t__ETHTOOL_A_COALESCE_CNT = 31,\n\tETHTOOL_A_COALESCE_MAX = 30,\n};\n\nenum {\n\tETHTOOL_A_DEBUG_UNSPEC = 0,\n\tETHTOOL_A_DEBUG_HEADER = 1,\n\tETHTOOL_A_DEBUG_MSGMASK = 2,\n\t__ETHTOOL_A_DEBUG_CNT = 3,\n\tETHTOOL_A_DEBUG_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_EEE_UNSPEC = 0,\n\tETHTOOL_A_EEE_HEADER = 1,\n\tETHTOOL_A_EEE_MODES_OURS = 2,\n\tETHTOOL_A_EEE_MODES_PEER = 3,\n\tETHTOOL_A_EEE_ACTIVE = 4,\n\tETHTOOL_A_EEE_ENABLED = 5,\n\tETHTOOL_A_EEE_TX_LPI_ENABLED = 6,\n\tETHTOOL_A_EEE_TX_LPI_TIMER = 7,\n\t__ETHTOOL_A_EEE_CNT = 8,\n\tETHTOOL_A_EEE_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_FEATURES_UNSPEC = 0,\n\tETHTOOL_A_FEATURES_HEADER = 1,\n\tETHTOOL_A_FEATURES_HW = 2,\n\tETHTOOL_A_FEATURES_WANTED = 3,\n\tETHTOOL_A_FEATURES_ACTIVE = 4,\n\tETHTOOL_A_FEATURES_NOCHANGE = 5,\n\t__ETHTOOL_A_FEATURES_CNT = 6,\n\tETHTOOL_A_FEATURES_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_FEC_STAT_UNSPEC = 0,\n\tETHTOOL_A_FEC_STAT_PAD = 1,\n\tETHTOOL_A_FEC_STAT_CORRECTED = 2,\n\tETHTOOL_A_FEC_STAT_UNCORR = 3,\n\tETHTOOL_A_FEC_STAT_CORR_BITS = 4,\n\t__ETHTOOL_A_FEC_STAT_CNT = 5,\n\tETHTOOL_A_FEC_STAT_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_FEC_UNSPEC = 0,\n\tETHTOOL_A_FEC_HEADER = 1,\n\tETHTOOL_A_FEC_MODES = 2,\n\tETHTOOL_A_FEC_AUTO = 3,\n\tETHTOOL_A_FEC_ACTIVE = 4,\n\tETHTOOL_A_FEC_STATS = 5,\n\t__ETHTOOL_A_FEC_CNT = 6,\n\tETHTOOL_A_FEC_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_HEADER_UNSPEC = 0,\n\tETHTOOL_A_HEADER_DEV_INDEX = 1,\n\tETHTOOL_A_HEADER_DEV_NAME = 2,\n\tETHTOOL_A_HEADER_FLAGS = 3,\n\tETHTOOL_A_HEADER_PHY_INDEX = 4,\n\t__ETHTOOL_A_HEADER_CNT = 5,\n\tETHTOOL_A_HEADER_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_IRQ_MODERATION_UNSPEC = 0,\n\tETHTOOL_A_IRQ_MODERATION_USEC = 1,\n\tETHTOOL_A_IRQ_MODERATION_PKTS = 2,\n\tETHTOOL_A_IRQ_MODERATION_COMPS = 3,\n\t__ETHTOOL_A_IRQ_MODERATION_CNT = 4,\n\tETHTOOL_A_IRQ_MODERATION_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_LINKINFO_UNSPEC = 0,\n\tETHTOOL_A_LINKINFO_HEADER = 1,\n\tETHTOOL_A_LINKINFO_PORT = 2,\n\tETHTOOL_A_LINKINFO_PHYADDR = 3,\n\tETHTOOL_A_LINKINFO_TP_MDIX = 4,\n\tETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 5,\n\tETHTOOL_A_LINKINFO_TRANSCEIVER = 6,\n\t__ETHTOOL_A_LINKINFO_CNT = 7,\n\tETHTOOL_A_LINKINFO_MAX = 6,\n};\n\nenum {\n\tETHTOOL_A_LINKMODES_UNSPEC = 0,\n\tETHTOOL_A_LINKMODES_HEADER = 1,\n\tETHTOOL_A_LINKMODES_AUTONEG = 2,\n\tETHTOOL_A_LINKMODES_OURS = 3,\n\tETHTOOL_A_LINKMODES_PEER = 4,\n\tETHTOOL_A_LINKMODES_SPEED = 5,\n\tETHTOOL_A_LINKMODES_DUPLEX = 6,\n\tETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 7,\n\tETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 8,\n\tETHTOOL_A_LINKMODES_LANES = 9,\n\tETHTOOL_A_LINKMODES_RATE_MATCHING = 10,\n\t__ETHTOOL_A_LINKMODES_CNT = 11,\n\tETHTOOL_A_LINKMODES_MAX = 10,\n};\n\nenum {\n\tETHTOOL_A_LINKSTATE_UNSPEC = 0,\n\tETHTOOL_A_LINKSTATE_HEADER = 1,\n\tETHTOOL_A_LINKSTATE_LINK = 2,\n\tETHTOOL_A_LINKSTATE_SQI = 3,\n\tETHTOOL_A_LINKSTATE_SQI_MAX = 4,\n\tETHTOOL_A_LINKSTATE_EXT_STATE = 5,\n\tETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 6,\n\tETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = 7,\n\t__ETHTOOL_A_LINKSTATE_CNT = 8,\n\tETHTOOL_A_LINKSTATE_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MM_STAT_UNSPEC = 0,\n\tETHTOOL_A_MM_STAT_PAD = 1,\n\tETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS = 2,\n\tETHTOOL_A_MM_STAT_SMD_ERRORS = 3,\n\tETHTOOL_A_MM_STAT_REASSEMBLY_OK = 4,\n\tETHTOOL_A_MM_STAT_RX_FRAG_COUNT = 5,\n\tETHTOOL_A_MM_STAT_TX_FRAG_COUNT = 6,\n\tETHTOOL_A_MM_STAT_HOLD_COUNT = 7,\n\t__ETHTOOL_A_MM_STAT_CNT = 8,\n\tETHTOOL_A_MM_STAT_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MM_UNSPEC = 0,\n\tETHTOOL_A_MM_HEADER = 1,\n\tETHTOOL_A_MM_PMAC_ENABLED = 2,\n\tETHTOOL_A_MM_TX_ENABLED = 3,\n\tETHTOOL_A_MM_TX_ACTIVE = 4,\n\tETHTOOL_A_MM_TX_MIN_FRAG_SIZE = 5,\n\tETHTOOL_A_MM_RX_MIN_FRAG_SIZE = 6,\n\tETHTOOL_A_MM_VERIFY_ENABLED = 7,\n\tETHTOOL_A_MM_VERIFY_STATUS = 8,\n\tETHTOOL_A_MM_VERIFY_TIME = 9,\n\tETHTOOL_A_MM_MAX_VERIFY_TIME = 10,\n\tETHTOOL_A_MM_STATS = 11,\n\t__ETHTOOL_A_MM_CNT = 12,\n\tETHTOOL_A_MM_MAX = 11,\n};\n\nenum {\n\tETHTOOL_A_MODULE_EEPROM_UNSPEC = 0,\n\tETHTOOL_A_MODULE_EEPROM_HEADER = 1,\n\tETHTOOL_A_MODULE_EEPROM_OFFSET = 2,\n\tETHTOOL_A_MODULE_EEPROM_LENGTH = 3,\n\tETHTOOL_A_MODULE_EEPROM_PAGE = 4,\n\tETHTOOL_A_MODULE_EEPROM_BANK = 5,\n\tETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS = 6,\n\tETHTOOL_A_MODULE_EEPROM_DATA = 7,\n\t__ETHTOOL_A_MODULE_EEPROM_CNT = 8,\n\tETHTOOL_A_MODULE_EEPROM_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MODULE_FW_FLASH_UNSPEC = 0,\n\tETHTOOL_A_MODULE_FW_FLASH_HEADER = 1,\n\tETHTOOL_A_MODULE_FW_FLASH_FILE_NAME = 2,\n\tETHTOOL_A_MODULE_FW_FLASH_PASSWORD = 3,\n\tETHTOOL_A_MODULE_FW_FLASH_STATUS = 4,\n\tETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG = 5,\n\tETHTOOL_A_MODULE_FW_FLASH_DONE = 6,\n\tETHTOOL_A_MODULE_FW_FLASH_TOTAL = 7,\n\t__ETHTOOL_A_MODULE_FW_FLASH_CNT = 8,\n\tETHTOOL_A_MODULE_FW_FLASH_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MODULE_UNSPEC = 0,\n\tETHTOOL_A_MODULE_HEADER = 1,\n\tETHTOOL_A_MODULE_POWER_MODE_POLICY = 2,\n\tETHTOOL_A_MODULE_POWER_MODE = 3,\n\t__ETHTOOL_A_MODULE_CNT = 4,\n\tETHTOOL_A_MODULE_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PAUSE_STAT_UNSPEC = 0,\n\tETHTOOL_A_PAUSE_STAT_PAD = 1,\n\tETHTOOL_A_PAUSE_STAT_TX_FRAMES = 2,\n\tETHTOOL_A_PAUSE_STAT_RX_FRAMES = 3,\n\t__ETHTOOL_A_PAUSE_STAT_CNT = 4,\n\tETHTOOL_A_PAUSE_STAT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PAUSE_UNSPEC = 0,\n\tETHTOOL_A_PAUSE_HEADER = 1,\n\tETHTOOL_A_PAUSE_AUTONEG = 2,\n\tETHTOOL_A_PAUSE_RX = 3,\n\tETHTOOL_A_PAUSE_TX = 4,\n\tETHTOOL_A_PAUSE_STATS = 5,\n\tETHTOOL_A_PAUSE_STATS_SRC = 6,\n\t__ETHTOOL_A_PAUSE_CNT = 7,\n\tETHTOOL_A_PAUSE_MAX = 6,\n};\n\nenum {\n\tETHTOOL_A_PHC_VCLOCKS_UNSPEC = 0,\n\tETHTOOL_A_PHC_VCLOCKS_HEADER = 1,\n\tETHTOOL_A_PHC_VCLOCKS_NUM = 2,\n\tETHTOOL_A_PHC_VCLOCKS_INDEX = 3,\n\t__ETHTOOL_A_PHC_VCLOCKS_CNT = 4,\n\tETHTOOL_A_PHC_VCLOCKS_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PHY_UNSPEC = 0,\n\tETHTOOL_A_PHY_HEADER = 1,\n\tETHTOOL_A_PHY_INDEX = 2,\n\tETHTOOL_A_PHY_DRVNAME = 3,\n\tETHTOOL_A_PHY_NAME = 4,\n\tETHTOOL_A_PHY_UPSTREAM_TYPE = 5,\n\tETHTOOL_A_PHY_UPSTREAM_INDEX = 6,\n\tETHTOOL_A_PHY_UPSTREAM_SFP_NAME = 7,\n\tETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME = 8,\n\t__ETHTOOL_A_PHY_CNT = 9,\n\tETHTOOL_A_PHY_MAX = 8,\n};\n\nenum {\n\tETHTOOL_A_PLCA_UNSPEC = 0,\n\tETHTOOL_A_PLCA_HEADER = 1,\n\tETHTOOL_A_PLCA_VERSION = 2,\n\tETHTOOL_A_PLCA_ENABLED = 3,\n\tETHTOOL_A_PLCA_STATUS = 4,\n\tETHTOOL_A_PLCA_NODE_CNT = 5,\n\tETHTOOL_A_PLCA_NODE_ID = 6,\n\tETHTOOL_A_PLCA_TO_TMR = 7,\n\tETHTOOL_A_PLCA_BURST_CNT = 8,\n\tETHTOOL_A_PLCA_BURST_TMR = 9,\n\t__ETHTOOL_A_PLCA_CNT = 10,\n\tETHTOOL_A_PLCA_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_PRIVFLAGS_UNSPEC = 0,\n\tETHTOOL_A_PRIVFLAGS_HEADER = 1,\n\tETHTOOL_A_PRIVFLAGS_FLAGS = 2,\n\t__ETHTOOL_A_PRIVFLAGS_CNT = 3,\n\tETHTOOL_A_PRIVFLAGS_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_PROFILE_UNSPEC = 0,\n\tETHTOOL_A_PROFILE_IRQ_MODERATION = 1,\n\t__ETHTOOL_A_PROFILE_CNT = 2,\n\tETHTOOL_A_PROFILE_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_PSE_UNSPEC = 0,\n\tETHTOOL_A_PSE_HEADER = 1,\n\tETHTOOL_A_PODL_PSE_ADMIN_STATE = 2,\n\tETHTOOL_A_PODL_PSE_ADMIN_CONTROL = 3,\n\tETHTOOL_A_PODL_PSE_PW_D_STATUS = 4,\n\tETHTOOL_A_C33_PSE_ADMIN_STATE = 5,\n\tETHTOOL_A_C33_PSE_ADMIN_CONTROL = 6,\n\tETHTOOL_A_C33_PSE_PW_D_STATUS = 7,\n\tETHTOOL_A_C33_PSE_PW_CLASS = 8,\n\tETHTOOL_A_C33_PSE_ACTUAL_PW = 9,\n\tETHTOOL_A_C33_PSE_EXT_STATE = 10,\n\tETHTOOL_A_C33_PSE_EXT_SUBSTATE = 11,\n\tETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT = 12,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_RANGES = 13,\n\t__ETHTOOL_A_PSE_CNT = 14,\n\tETHTOOL_A_PSE_MAX = 13,\n};\n\nenum {\n\tETHTOOL_A_RINGS_UNSPEC = 0,\n\tETHTOOL_A_RINGS_HEADER = 1,\n\tETHTOOL_A_RINGS_RX_MAX = 2,\n\tETHTOOL_A_RINGS_RX_MINI_MAX = 3,\n\tETHTOOL_A_RINGS_RX_JUMBO_MAX = 4,\n\tETHTOOL_A_RINGS_TX_MAX = 5,\n\tETHTOOL_A_RINGS_RX = 6,\n\tETHTOOL_A_RINGS_RX_MINI = 7,\n\tETHTOOL_A_RINGS_RX_JUMBO = 8,\n\tETHTOOL_A_RINGS_TX = 9,\n\tETHTOOL_A_RINGS_RX_BUF_LEN = 10,\n\tETHTOOL_A_RINGS_TCP_DATA_SPLIT = 11,\n\tETHTOOL_A_RINGS_CQE_SIZE = 12,\n\tETHTOOL_A_RINGS_TX_PUSH = 13,\n\tETHTOOL_A_RINGS_RX_PUSH = 14,\n\tETHTOOL_A_RINGS_TX_PUSH_BUF_LEN = 15,\n\tETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX = 16,\n\tETHTOOL_A_RINGS_HDS_THRESH = 17,\n\tETHTOOL_A_RINGS_HDS_THRESH_MAX = 18,\n\t__ETHTOOL_A_RINGS_CNT = 19,\n\tETHTOOL_A_RINGS_MAX = 18,\n};\n\nenum {\n\tETHTOOL_A_RSS_UNSPEC = 0,\n\tETHTOOL_A_RSS_HEADER = 1,\n\tETHTOOL_A_RSS_CONTEXT = 2,\n\tETHTOOL_A_RSS_HFUNC = 3,\n\tETHTOOL_A_RSS_INDIR = 4,\n\tETHTOOL_A_RSS_HKEY = 5,\n\tETHTOOL_A_RSS_INPUT_XFRM = 6,\n\tETHTOOL_A_RSS_START_CONTEXT = 7,\n\t__ETHTOOL_A_RSS_CNT = 8,\n\tETHTOOL_A_RSS_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_CTRL_3_TX = 0,\n\tETHTOOL_A_STATS_ETH_CTRL_4_RX = 1,\n\tETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP = 2,\n\t__ETHTOOL_A_STATS_ETH_CTRL_CNT = 3,\n\tETHTOOL_A_STATS_ETH_CTRL_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_MAC_2_TX_PKT = 0,\n\tETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL = 1,\n\tETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL = 2,\n\tETHTOOL_A_STATS_ETH_MAC_5_RX_PKT = 3,\n\tETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR = 4,\n\tETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR = 5,\n\tETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES = 6,\n\tETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER = 7,\n\tETHTOOL_A_STATS_ETH_MAC_10_LATE_COL = 8,\n\tETHTOOL_A_STATS_ETH_MAC_11_XS_COL = 9,\n\tETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR = 10,\n\tETHTOOL_A_STATS_ETH_MAC_13_CS_ERR = 11,\n\tETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES = 12,\n\tETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR = 13,\n\tETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST = 14,\n\tETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST = 15,\n\tETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER = 16,\n\tETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST = 17,\n\tETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST = 18,\n\tETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR = 19,\n\tETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN = 20,\n\tETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR = 21,\n\t__ETHTOOL_A_STATS_ETH_MAC_CNT = 22,\n\tETHTOOL_A_STATS_ETH_MAC_MAX = 21,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR = 0,\n\t__ETHTOOL_A_STATS_ETH_PHY_CNT = 1,\n\tETHTOOL_A_STATS_ETH_PHY_MAX = 0,\n};\n\nenum {\n\tETHTOOL_A_STATS_GRP_UNSPEC = 0,\n\tETHTOOL_A_STATS_GRP_PAD = 1,\n\tETHTOOL_A_STATS_GRP_ID = 2,\n\tETHTOOL_A_STATS_GRP_SS_ID = 3,\n\tETHTOOL_A_STATS_GRP_STAT = 4,\n\tETHTOOL_A_STATS_GRP_HIST_RX = 5,\n\tETHTOOL_A_STATS_GRP_HIST_TX = 6,\n\tETHTOOL_A_STATS_GRP_HIST_BKT_LOW = 7,\n\tETHTOOL_A_STATS_GRP_HIST_BKT_HI = 8,\n\tETHTOOL_A_STATS_GRP_HIST_VAL = 9,\n\t__ETHTOOL_A_STATS_GRP_CNT = 10,\n\tETHTOOL_A_STATS_GRP_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_STATS_PHY_RX_PKTS = 0,\n\tETHTOOL_A_STATS_PHY_RX_BYTES = 1,\n\tETHTOOL_A_STATS_PHY_RX_ERRORS = 2,\n\tETHTOOL_A_STATS_PHY_TX_PKTS = 3,\n\tETHTOOL_A_STATS_PHY_TX_BYTES = 4,\n\tETHTOOL_A_STATS_PHY_TX_ERRORS = 5,\n\t__ETHTOOL_A_STATS_PHY_CNT = 6,\n\tETHTOOL_A_STATS_PHY_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_STATS_RMON_UNDERSIZE = 0,\n\tETHTOOL_A_STATS_RMON_OVERSIZE = 1,\n\tETHTOOL_A_STATS_RMON_FRAG = 2,\n\tETHTOOL_A_STATS_RMON_JABBER = 3,\n\t__ETHTOOL_A_STATS_RMON_CNT = 4,\n\tETHTOOL_A_STATS_RMON_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_STATS_UNSPEC = 0,\n\tETHTOOL_A_STATS_PAD = 1,\n\tETHTOOL_A_STATS_HEADER = 2,\n\tETHTOOL_A_STATS_GROUPS = 3,\n\tETHTOOL_A_STATS_GRP = 4,\n\tETHTOOL_A_STATS_SRC = 5,\n\t__ETHTOOL_A_STATS_CNT = 6,\n\tETHTOOL_A_STATS_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_STRINGSETS_UNSPEC = 0,\n\tETHTOOL_A_STRINGSETS_STRINGSET = 1,\n\t__ETHTOOL_A_STRINGSETS_CNT = 2,\n\tETHTOOL_A_STRINGSETS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_STRINGSET_UNSPEC = 0,\n\tETHTOOL_A_STRINGSET_ID = 1,\n\tETHTOOL_A_STRINGSET_COUNT = 2,\n\tETHTOOL_A_STRINGSET_STRINGS = 3,\n\t__ETHTOOL_A_STRINGSET_CNT = 4,\n\tETHTOOL_A_STRINGSET_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_STRINGS_UNSPEC = 0,\n\tETHTOOL_A_STRINGS_STRING = 1,\n\t__ETHTOOL_A_STRINGS_CNT = 2,\n\tETHTOOL_A_STRINGS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_STRING_UNSPEC = 0,\n\tETHTOOL_A_STRING_INDEX = 1,\n\tETHTOOL_A_STRING_VALUE = 2,\n\t__ETHTOOL_A_STRING_CNT = 3,\n\tETHTOOL_A_STRING_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_STRSET_UNSPEC = 0,\n\tETHTOOL_A_STRSET_HEADER = 1,\n\tETHTOOL_A_STRSET_STRINGSETS = 2,\n\tETHTOOL_A_STRSET_COUNTS_ONLY = 3,\n\t__ETHTOOL_A_STRSET_CNT = 4,\n\tETHTOOL_A_STRSET_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_TSCONFIG_UNSPEC = 0,\n\tETHTOOL_A_TSCONFIG_HEADER = 1,\n\tETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER = 2,\n\tETHTOOL_A_TSCONFIG_TX_TYPES = 3,\n\tETHTOOL_A_TSCONFIG_RX_FILTERS = 4,\n\tETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS = 5,\n\t__ETHTOOL_A_TSCONFIG_CNT = 6,\n\tETHTOOL_A_TSCONFIG_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_TSINFO_UNSPEC = 0,\n\tETHTOOL_A_TSINFO_HEADER = 1,\n\tETHTOOL_A_TSINFO_TIMESTAMPING = 2,\n\tETHTOOL_A_TSINFO_TX_TYPES = 3,\n\tETHTOOL_A_TSINFO_RX_FILTERS = 4,\n\tETHTOOL_A_TSINFO_PHC_INDEX = 5,\n\tETHTOOL_A_TSINFO_STATS = 6,\n\tETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 7,\n\t__ETHTOOL_A_TSINFO_CNT = 8,\n\tETHTOOL_A_TSINFO_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC = 0,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX = 1,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER = 2,\n\t__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT = 3,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TS_STAT_UNSPEC = 0,\n\tETHTOOL_A_TS_STAT_TX_PKTS = 1,\n\tETHTOOL_A_TS_STAT_TX_LOST = 2,\n\tETHTOOL_A_TS_STAT_TX_ERR = 3,\n\tETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED = 4,\n\t__ETHTOOL_A_TS_STAT_CNT = 5,\n\tETHTOOL_A_TS_STAT_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_INFO_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_INFO_HEADER = 1,\n\tETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 2,\n\t__ETHTOOL_A_TUNNEL_INFO_CNT = 3,\n\tETHTOOL_A_TUNNEL_INFO_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 1,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 2,\n\t__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT = 3,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 1,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 2,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 3,\n\t__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT = 4,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_TABLE = 1,\n\t__ETHTOOL_A_TUNNEL_UDP_CNT = 2,\n\tETHTOOL_A_TUNNEL_UDP_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_WOL_UNSPEC = 0,\n\tETHTOOL_A_WOL_HEADER = 1,\n\tETHTOOL_A_WOL_MODES = 2,\n\tETHTOOL_A_WOL_SOPASS = 3,\n\t__ETHTOOL_A_WOL_CNT = 4,\n\tETHTOOL_A_WOL_MAX = 3,\n};\n\nenum {\n\tETHTOOL_MSG_KERNEL_NONE = 0,\n\tETHTOOL_MSG_STRSET_GET_REPLY = 1,\n\tETHTOOL_MSG_LINKINFO_GET_REPLY = 2,\n\tETHTOOL_MSG_LINKINFO_NTF = 3,\n\tETHTOOL_MSG_LINKMODES_GET_REPLY = 4,\n\tETHTOOL_MSG_LINKMODES_NTF = 5,\n\tETHTOOL_MSG_LINKSTATE_GET_REPLY = 6,\n\tETHTOOL_MSG_DEBUG_GET_REPLY = 7,\n\tETHTOOL_MSG_DEBUG_NTF = 8,\n\tETHTOOL_MSG_WOL_GET_REPLY = 9,\n\tETHTOOL_MSG_WOL_NTF = 10,\n\tETHTOOL_MSG_FEATURES_GET_REPLY = 11,\n\tETHTOOL_MSG_FEATURES_SET_REPLY = 12,\n\tETHTOOL_MSG_FEATURES_NTF = 13,\n\tETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 14,\n\tETHTOOL_MSG_PRIVFLAGS_NTF = 15,\n\tETHTOOL_MSG_RINGS_GET_REPLY = 16,\n\tETHTOOL_MSG_RINGS_NTF = 17,\n\tETHTOOL_MSG_CHANNELS_GET_REPLY = 18,\n\tETHTOOL_MSG_CHANNELS_NTF = 19,\n\tETHTOOL_MSG_COALESCE_GET_REPLY = 20,\n\tETHTOOL_MSG_COALESCE_NTF = 21,\n\tETHTOOL_MSG_PAUSE_GET_REPLY = 22,\n\tETHTOOL_MSG_PAUSE_NTF = 23,\n\tETHTOOL_MSG_EEE_GET_REPLY = 24,\n\tETHTOOL_MSG_EEE_NTF = 25,\n\tETHTOOL_MSG_TSINFO_GET_REPLY = 26,\n\tETHTOOL_MSG_CABLE_TEST_NTF = 27,\n\tETHTOOL_MSG_CABLE_TEST_TDR_NTF = 28,\n\tETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 29,\n\tETHTOOL_MSG_FEC_GET_REPLY = 30,\n\tETHTOOL_MSG_FEC_NTF = 31,\n\tETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 32,\n\tETHTOOL_MSG_STATS_GET_REPLY = 33,\n\tETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 34,\n\tETHTOOL_MSG_MODULE_GET_REPLY = 35,\n\tETHTOOL_MSG_MODULE_NTF = 36,\n\tETHTOOL_MSG_PSE_GET_REPLY = 37,\n\tETHTOOL_MSG_RSS_GET_REPLY = 38,\n\tETHTOOL_MSG_PLCA_GET_CFG_REPLY = 39,\n\tETHTOOL_MSG_PLCA_GET_STATUS_REPLY = 40,\n\tETHTOOL_MSG_PLCA_NTF = 41,\n\tETHTOOL_MSG_MM_GET_REPLY = 42,\n\tETHTOOL_MSG_MM_NTF = 43,\n\tETHTOOL_MSG_MODULE_FW_FLASH_NTF = 44,\n\tETHTOOL_MSG_PHY_GET_REPLY = 45,\n\tETHTOOL_MSG_PHY_NTF = 46,\n\tETHTOOL_MSG_TSCONFIG_GET_REPLY = 47,\n\tETHTOOL_MSG_TSCONFIG_SET_REPLY = 48,\n\t__ETHTOOL_MSG_KERNEL_CNT = 49,\n\tETHTOOL_MSG_KERNEL_MAX = 48,\n};\n\nenum {\n\tETHTOOL_MSG_USER_NONE = 0,\n\tETHTOOL_MSG_STRSET_GET = 1,\n\tETHTOOL_MSG_LINKINFO_GET = 2,\n\tETHTOOL_MSG_LINKINFO_SET = 3,\n\tETHTOOL_MSG_LINKMODES_GET = 4,\n\tETHTOOL_MSG_LINKMODES_SET = 5,\n\tETHTOOL_MSG_LINKSTATE_GET = 6,\n\tETHTOOL_MSG_DEBUG_GET = 7,\n\tETHTOOL_MSG_DEBUG_SET = 8,\n\tETHTOOL_MSG_WOL_GET = 9,\n\tETHTOOL_MSG_WOL_SET = 10,\n\tETHTOOL_MSG_FEATURES_GET = 11,\n\tETHTOOL_MSG_FEATURES_SET = 12,\n\tETHTOOL_MSG_PRIVFLAGS_GET = 13,\n\tETHTOOL_MSG_PRIVFLAGS_SET = 14,\n\tETHTOOL_MSG_RINGS_GET = 15,\n\tETHTOOL_MSG_RINGS_SET = 16,\n\tETHTOOL_MSG_CHANNELS_GET = 17,\n\tETHTOOL_MSG_CHANNELS_SET = 18,\n\tETHTOOL_MSG_COALESCE_GET = 19,\n\tETHTOOL_MSG_COALESCE_SET = 20,\n\tETHTOOL_MSG_PAUSE_GET = 21,\n\tETHTOOL_MSG_PAUSE_SET = 22,\n\tETHTOOL_MSG_EEE_GET = 23,\n\tETHTOOL_MSG_EEE_SET = 24,\n\tETHTOOL_MSG_TSINFO_GET = 25,\n\tETHTOOL_MSG_CABLE_TEST_ACT = 26,\n\tETHTOOL_MSG_CABLE_TEST_TDR_ACT = 27,\n\tETHTOOL_MSG_TUNNEL_INFO_GET = 28,\n\tETHTOOL_MSG_FEC_GET = 29,\n\tETHTOOL_MSG_FEC_SET = 30,\n\tETHTOOL_MSG_MODULE_EEPROM_GET = 31,\n\tETHTOOL_MSG_STATS_GET = 32,\n\tETHTOOL_MSG_PHC_VCLOCKS_GET = 33,\n\tETHTOOL_MSG_MODULE_GET = 34,\n\tETHTOOL_MSG_MODULE_SET = 35,\n\tETHTOOL_MSG_PSE_GET = 36,\n\tETHTOOL_MSG_PSE_SET = 37,\n\tETHTOOL_MSG_RSS_GET = 38,\n\tETHTOOL_MSG_PLCA_GET_CFG = 39,\n\tETHTOOL_MSG_PLCA_SET_CFG = 40,\n\tETHTOOL_MSG_PLCA_GET_STATUS = 41,\n\tETHTOOL_MSG_MM_GET = 42,\n\tETHTOOL_MSG_MM_SET = 43,\n\tETHTOOL_MSG_MODULE_FW_FLASH_ACT = 44,\n\tETHTOOL_MSG_PHY_GET = 45,\n\tETHTOOL_MSG_TSCONFIG_GET = 46,\n\tETHTOOL_MSG_TSCONFIG_SET = 47,\n\t__ETHTOOL_MSG_USER_CNT = 48,\n\tETHTOOL_MSG_USER_MAX = 47,\n};\n\nenum {\n\tETHTOOL_STATS_ETH_PHY = 0,\n\tETHTOOL_STATS_ETH_MAC = 1,\n\tETHTOOL_STATS_ETH_CTRL = 2,\n\tETHTOOL_STATS_RMON = 3,\n\tETHTOOL_STATS_PHY = 4,\n\t__ETHTOOL_STATS_CNT = 5,\n};\n\nenum {\n\tETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0,\n\tETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 1,\n\tETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 2,\n\t__ETHTOOL_UDP_TUNNEL_TYPE_CNT = 3,\n\tETHTOOL_UDP_TUNNEL_TYPE_MAX = 2,\n};\n\nenum {\n\tETH_RSS_HASH_TOP_BIT = 0,\n\tETH_RSS_HASH_XOR_BIT = 1,\n\tETH_RSS_HASH_CRC32_BIT = 2,\n\tETH_RSS_HASH_FUNCS_COUNT = 3,\n};\n\nenum {\n\tEVENTFS_SAVE_MODE = 65536,\n\tEVENTFS_SAVE_UID = 131072,\n\tEVENTFS_SAVE_GID = 262144,\n};\n\nenum {\n\tEVENT_FILE_FL_ENABLED = 1,\n\tEVENT_FILE_FL_RECORDED_CMD = 2,\n\tEVENT_FILE_FL_RECORDED_TGID = 4,\n\tEVENT_FILE_FL_FILTERED = 8,\n\tEVENT_FILE_FL_NO_SET_FILTER = 16,\n\tEVENT_FILE_FL_SOFT_MODE = 32,\n\tEVENT_FILE_FL_SOFT_DISABLED = 64,\n\tEVENT_FILE_FL_TRIGGER_MODE = 128,\n\tEVENT_FILE_FL_TRIGGER_COND = 256,\n\tEVENT_FILE_FL_PID_FILTER = 512,\n\tEVENT_FILE_FL_WAS_ENABLED = 1024,\n\tEVENT_FILE_FL_FREED = 2048,\n};\n\nenum {\n\tEVENT_FILE_FL_ENABLED_BIT = 0,\n\tEVENT_FILE_FL_RECORDED_CMD_BIT = 1,\n\tEVENT_FILE_FL_RECORDED_TGID_BIT = 2,\n\tEVENT_FILE_FL_FILTERED_BIT = 3,\n\tEVENT_FILE_FL_NO_SET_FILTER_BIT = 4,\n\tEVENT_FILE_FL_SOFT_MODE_BIT = 5,\n\tEVENT_FILE_FL_SOFT_DISABLED_BIT = 6,\n\tEVENT_FILE_FL_TRIGGER_MODE_BIT = 7,\n\tEVENT_FILE_FL_TRIGGER_COND_BIT = 8,\n\tEVENT_FILE_FL_PID_FILTER_BIT = 9,\n\tEVENT_FILE_FL_WAS_ENABLED_BIT = 10,\n\tEVENT_FILE_FL_FREED_BIT = 11,\n};\n\nenum {\n\tEVENT_TRIGGER_FL_PROBE = 1,\n};\n\nenum {\n\tEXT4_FC_REASON_XATTR = 0,\n\tEXT4_FC_REASON_CROSS_RENAME = 1,\n\tEXT4_FC_REASON_JOURNAL_FLAG_CHANGE = 2,\n\tEXT4_FC_REASON_NOMEM = 3,\n\tEXT4_FC_REASON_SWAP_BOOT = 4,\n\tEXT4_FC_REASON_RESIZE = 5,\n\tEXT4_FC_REASON_RENAME_DIR = 6,\n\tEXT4_FC_REASON_FALLOC_RANGE = 7,\n\tEXT4_FC_REASON_INODE_JOURNAL_DATA = 8,\n\tEXT4_FC_REASON_ENCRYPTED_FILENAME = 9,\n\tEXT4_FC_REASON_MAX = 10,\n};\n\nenum {\n\tEXT4_FC_STATUS_OK = 0,\n\tEXT4_FC_STATUS_INELIGIBLE = 1,\n\tEXT4_FC_STATUS_SKIPPED = 2,\n\tEXT4_FC_STATUS_FAILED = 3,\n};\n\nenum {\n\tEXT4_INODE_SECRM = 0,\n\tEXT4_INODE_UNRM = 1,\n\tEXT4_INODE_COMPR = 2,\n\tEXT4_INODE_SYNC = 3,\n\tEXT4_INODE_IMMUTABLE = 4,\n\tEXT4_INODE_APPEND = 5,\n\tEXT4_INODE_NODUMP = 6,\n\tEXT4_INODE_NOATIME = 7,\n\tEXT4_INODE_DIRTY = 8,\n\tEXT4_INODE_COMPRBLK = 9,\n\tEXT4_INODE_NOCOMPR = 10,\n\tEXT4_INODE_ENCRYPT = 11,\n\tEXT4_INODE_INDEX = 12,\n\tEXT4_INODE_IMAGIC = 13,\n\tEXT4_INODE_JOURNAL_DATA = 14,\n\tEXT4_INODE_NOTAIL = 15,\n\tEXT4_INODE_DIRSYNC = 16,\n\tEXT4_INODE_TOPDIR = 17,\n\tEXT4_INODE_HUGE_FILE = 18,\n\tEXT4_INODE_EXTENTS = 19,\n\tEXT4_INODE_VERITY = 20,\n\tEXT4_INODE_EA_INODE = 21,\n\tEXT4_INODE_DAX = 25,\n\tEXT4_INODE_INLINE_DATA = 28,\n\tEXT4_INODE_PROJINHERIT = 29,\n\tEXT4_INODE_CASEFOLD = 30,\n\tEXT4_INODE_RESERVED = 31,\n};\n\nenum {\n\tEXT4_MF_MNTDIR_SAMPLED = 0,\n\tEXT4_MF_FC_INELIGIBLE = 1,\n};\n\nenum {\n\tEXT4_STATE_NEW = 0,\n\tEXT4_STATE_XATTR = 1,\n\tEXT4_STATE_NO_EXPAND = 2,\n\tEXT4_STATE_DA_ALLOC_CLOSE = 3,\n\tEXT4_STATE_EXT_MIGRATE = 4,\n\tEXT4_STATE_NEWENTRY = 5,\n\tEXT4_STATE_MAY_INLINE_DATA = 6,\n\tEXT4_STATE_EXT_PRECACHED = 7,\n\tEXT4_STATE_LUSTRE_EA_INODE = 8,\n\tEXT4_STATE_VERITY_IN_PROGRESS = 9,\n\tEXT4_STATE_FC_COMMITTING = 10,\n\tEXT4_STATE_ORPHAN_FILE = 11,\n};\n\nenum {\n\tFAST_W_CNT = 16,\n};\n\nenum {\n\tFATTR4_CLONE_BLKSIZE = 77,\n\tFATTR4_SPACE_FREED = 78,\n\tFATTR4_CHANGE_ATTR_TYPE = 79,\n\tFATTR4_SEC_LABEL = 80,\n};\n\nenum {\n\tFATTR4_DIR_NOTIF_DELAY = 56,\n\tFATTR4_DIRENT_NOTIF_DELAY = 57,\n\tFATTR4_DACL = 58,\n\tFATTR4_SACL = 59,\n\tFATTR4_CHANGE_POLICY = 60,\n\tFATTR4_FS_STATUS = 61,\n\tFATTR4_FS_LAYOUT_TYPES = 62,\n\tFATTR4_LAYOUT_HINT = 63,\n\tFATTR4_LAYOUT_TYPES = 64,\n\tFATTR4_LAYOUT_BLKSIZE = 65,\n\tFATTR4_LAYOUT_ALIGNMENT = 66,\n\tFATTR4_FS_LOCATIONS_INFO = 67,\n\tFATTR4_MDSTHRESHOLD = 68,\n\tFATTR4_RETENTION_GET = 69,\n\tFATTR4_RETENTION_SET = 70,\n\tFATTR4_RETENTEVT_GET = 71,\n\tFATTR4_RETENTEVT_SET = 72,\n\tFATTR4_RETENTION_HOLD = 73,\n\tFATTR4_MODE_SET_MASKED = 74,\n\tFATTR4_SUPPATTR_EXCLCREAT = 75,\n\tFATTR4_FS_CHARSET_CAP = 76,\n};\n\nenum {\n\tFATTR4_MODE_UMASK = 81,\n};\n\nenum {\n\tFATTR4_OPEN_ARGUMENTS = 86,\n};\n\nenum {\n\tFATTR4_SUPPORTED_ATTRS = 0,\n\tFATTR4_TYPE = 1,\n\tFATTR4_FH_EXPIRE_TYPE = 2,\n\tFATTR4_CHANGE = 3,\n\tFATTR4_SIZE = 4,\n\tFATTR4_LINK_SUPPORT = 5,\n\tFATTR4_SYMLINK_SUPPORT = 6,\n\tFATTR4_NAMED_ATTR = 7,\n\tFATTR4_FSID = 8,\n\tFATTR4_UNIQUE_HANDLES = 9,\n\tFATTR4_LEASE_TIME = 10,\n\tFATTR4_RDATTR_ERROR = 11,\n\tFATTR4_ACL = 12,\n\tFATTR4_ACLSUPPORT = 13,\n\tFATTR4_ARCHIVE = 14,\n\tFATTR4_CANSETTIME = 15,\n\tFATTR4_CASE_INSENSITIVE = 16,\n\tFATTR4_CASE_PRESERVING = 17,\n\tFATTR4_CHOWN_RESTRICTED = 18,\n\tFATTR4_FILEHANDLE = 19,\n\tFATTR4_FILEID = 20,\n\tFATTR4_FILES_AVAIL = 21,\n\tFATTR4_FILES_FREE = 22,\n\tFATTR4_FILES_TOTAL = 23,\n\tFATTR4_FS_LOCATIONS = 24,\n\tFATTR4_HIDDEN = 25,\n\tFATTR4_HOMOGENEOUS = 26,\n\tFATTR4_MAXFILESIZE = 27,\n\tFATTR4_MAXLINK = 28,\n\tFATTR4_MAXNAME = 29,\n\tFATTR4_MAXREAD = 30,\n\tFATTR4_MAXWRITE = 31,\n\tFATTR4_MIMETYPE = 32,\n\tFATTR4_MODE = 33,\n\tFATTR4_NO_TRUNC = 34,\n\tFATTR4_NUMLINKS = 35,\n\tFATTR4_OWNER = 36,\n\tFATTR4_OWNER_GROUP = 37,\n\tFATTR4_QUOTA_AVAIL_HARD = 38,\n\tFATTR4_QUOTA_AVAIL_SOFT = 39,\n\tFATTR4_QUOTA_USED = 40,\n\tFATTR4_RAWDEV = 41,\n\tFATTR4_SPACE_AVAIL = 42,\n\tFATTR4_SPACE_FREE = 43,\n\tFATTR4_SPACE_TOTAL = 44,\n\tFATTR4_SPACE_USED = 45,\n\tFATTR4_SYSTEM = 46,\n\tFATTR4_TIME_ACCESS = 47,\n\tFATTR4_TIME_ACCESS_SET = 48,\n\tFATTR4_TIME_BACKUP = 49,\n\tFATTR4_TIME_CREATE = 50,\n\tFATTR4_TIME_DELTA = 51,\n\tFATTR4_TIME_METADATA = 52,\n\tFATTR4_TIME_MODIFY = 53,\n\tFATTR4_TIME_MODIFY_SET = 54,\n\tFATTR4_MOUNTED_ON_FILEID = 55,\n};\n\nenum {\n\tFATTR4_TIME_DELEG_ACCESS = 84,\n};\n\nenum {\n\tFATTR4_TIME_DELEG_MODIFY = 85,\n};\n\nenum {\n\tFATTR4_XATTR_SUPPORT = 82,\n};\n\nenum {\n\tFBCON_LOGO_CANSHOW = -1,\n\tFBCON_LOGO_DRAW = -2,\n\tFBCON_LOGO_DONTSHOW = -3,\n};\n\nenum {\n\tFB_BLANK_UNBLANK = 0,\n\tFB_BLANK_NORMAL = 1,\n\tFB_BLANK_VSYNC_SUSPEND = 2,\n\tFB_BLANK_HSYNC_SUSPEND = 3,\n\tFB_BLANK_POWERDOWN = 4,\n};\n\nenum {\n\tFD_NEED_TWADDLE_BIT = 0,\n\tFD_VERIFY_BIT = 1,\n\tFD_DISK_NEWCHANGE_BIT = 2,\n\tFD_UNUSED_BIT = 3,\n\tFD_DISK_CHANGED_BIT = 4,\n\tFD_DISK_WRITABLE_BIT = 5,\n\tFD_OPEN_SHOULD_FAIL_BIT = 6,\n};\n\nenum {\n\tFGRAPH_TYPE_RESERVED = 0,\n\tFGRAPH_TYPE_BITMAP = 1,\n\tFGRAPH_TYPE_DATA = 2,\n};\n\nenum {\n\tFIB6_NO_SERNUM_CHANGE = 0,\n};\n\nenum {\n\tFILEID_HIGH_OFF = 0,\n\tFILEID_LOW_OFF = 1,\n\tFILE_I_TYPE_OFF = 2,\n\tEMBED_FH_OFF = 3,\n};\n\nenum {\n\tFILTER_OTHER = 0,\n\tFILTER_STATIC_STRING = 1,\n\tFILTER_DYN_STRING = 2,\n\tFILTER_RDYN_STRING = 3,\n\tFILTER_PTR_STRING = 4,\n\tFILTER_TRACE_FN = 5,\n\tFILTER_CPUMASK = 6,\n\tFILTER_COMM = 7,\n\tFILTER_CPU = 8,\n\tFILTER_STACKTRACE = 9,\n};\n\nenum {\n\tFILT_ERR_NONE = 0,\n\tFILT_ERR_INVALID_OP = 1,\n\tFILT_ERR_TOO_MANY_OPEN = 2,\n\tFILT_ERR_TOO_MANY_CLOSE = 3,\n\tFILT_ERR_MISSING_QUOTE = 4,\n\tFILT_ERR_MISSING_BRACE_OPEN = 5,\n\tFILT_ERR_MISSING_BRACE_CLOSE = 6,\n\tFILT_ERR_OPERAND_TOO_LONG = 7,\n\tFILT_ERR_EXPECT_STRING = 8,\n\tFILT_ERR_EXPECT_DIGIT = 9,\n\tFILT_ERR_ILLEGAL_FIELD_OP = 10,\n\tFILT_ERR_FIELD_NOT_FOUND = 11,\n\tFILT_ERR_ILLEGAL_INTVAL = 12,\n\tFILT_ERR_BAD_SUBSYS_FILTER = 13,\n\tFILT_ERR_TOO_MANY_PREDS = 14,\n\tFILT_ERR_INVALID_FILTER = 15,\n\tFILT_ERR_INVALID_CPULIST = 16,\n\tFILT_ERR_IP_FIELD_ONLY = 17,\n\tFILT_ERR_INVALID_VALUE = 18,\n\tFILT_ERR_NO_FUNCTION = 19,\n\tFILT_ERR_ERRNO = 20,\n\tFILT_ERR_NO_FILTER = 21,\n};\n\nenum {\n\tFLAGS_FILL_FULL = 268435456,\n\tFLAGS_FILL_START = 536870912,\n\tFLAGS_FILL_END = 805306368,\n};\n\nenum {\n\tFOLL_TOUCH = 65536,\n\tFOLL_TRIED = 131072,\n\tFOLL_REMOTE = 262144,\n\tFOLL_PIN = 524288,\n\tFOLL_FAST_ONLY = 1048576,\n\tFOLL_UNLOCKABLE = 2097152,\n\tFOLL_MADV_POPULATE = 4194304,\n};\n\nenum {\n\tFOLL_WRITE = 1,\n\tFOLL_GET = 2,\n\tFOLL_DUMP = 4,\n\tFOLL_FORCE = 8,\n\tFOLL_NOWAIT = 16,\n\tFOLL_NOFAULT = 32,\n\tFOLL_HWPOISON = 64,\n\tFOLL_ANON = 128,\n\tFOLL_LONGTERM = 256,\n\tFOLL_SPLIT_PMD = 512,\n\tFOLL_PCI_P2PDMA = 1024,\n\tFOLL_INTERRUPTIBLE = 2048,\n\tFOLL_HONOR_NUMA_FAULT = 4096,\n};\n\nenum {\n\tFORMAT_HEADER = 1,\n\tFORMAT_FIELD_SEPERATOR = 2,\n\tFORMAT_PRINTFMT = 3,\n};\n\nenum {\n\tFTRACE_FL_ENABLED = 2147483648,\n\tFTRACE_FL_REGS = 1073741824,\n\tFTRACE_FL_REGS_EN = 536870912,\n\tFTRACE_FL_TRAMP = 268435456,\n\tFTRACE_FL_TRAMP_EN = 134217728,\n\tFTRACE_FL_IPMODIFY = 67108864,\n\tFTRACE_FL_DISABLED = 33554432,\n\tFTRACE_FL_DIRECT = 16777216,\n\tFTRACE_FL_DIRECT_EN = 8388608,\n\tFTRACE_FL_CALL_OPS = 4194304,\n\tFTRACE_FL_CALL_OPS_EN = 2097152,\n\tFTRACE_FL_TOUCHED = 1048576,\n\tFTRACE_FL_MODIFIED = 524288,\n};\n\nenum {\n\tFTRACE_HASH_FL_MOD = 1,\n};\n\nenum {\n\tFTRACE_ITER_FILTER = 1,\n\tFTRACE_ITER_NOTRACE = 2,\n\tFTRACE_ITER_PRINTALL = 4,\n\tFTRACE_ITER_DO_PROBES = 8,\n\tFTRACE_ITER_PROBE = 16,\n\tFTRACE_ITER_MOD = 32,\n\tFTRACE_ITER_ENABLED = 64,\n\tFTRACE_ITER_TOUCHED = 128,\n\tFTRACE_ITER_ADDRS = 256,\n};\n\nenum {\n\tFTRACE_MODIFY_ENABLE_FL = 1,\n\tFTRACE_MODIFY_MAY_SLEEP_FL = 2,\n};\n\nenum {\n\tFTRACE_OPS_FL_ENABLED = 1,\n\tFTRACE_OPS_FL_DYNAMIC = 2,\n\tFTRACE_OPS_FL_SAVE_REGS = 4,\n\tFTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED = 8,\n\tFTRACE_OPS_FL_RECURSION = 16,\n\tFTRACE_OPS_FL_STUB = 32,\n\tFTRACE_OPS_FL_INITIALIZED = 64,\n\tFTRACE_OPS_FL_DELETED = 128,\n\tFTRACE_OPS_FL_ADDING = 256,\n\tFTRACE_OPS_FL_REMOVING = 512,\n\tFTRACE_OPS_FL_MODIFYING = 1024,\n\tFTRACE_OPS_FL_ALLOC_TRAMP = 2048,\n\tFTRACE_OPS_FL_IPMODIFY = 4096,\n\tFTRACE_OPS_FL_PID = 8192,\n\tFTRACE_OPS_FL_RCU = 16384,\n\tFTRACE_OPS_FL_TRACE_ARRAY = 32768,\n\tFTRACE_OPS_FL_PERMANENT = 65536,\n\tFTRACE_OPS_FL_DIRECT = 131072,\n\tFTRACE_OPS_FL_SUBOP = 262144,\n};\n\nenum {\n\tFTRACE_UPDATE_CALLS = 1,\n\tFTRACE_DISABLE_CALLS = 2,\n\tFTRACE_UPDATE_TRACE_FUNC = 4,\n\tFTRACE_START_FUNC_RET = 8,\n\tFTRACE_STOP_FUNC_RET = 16,\n\tFTRACE_MAY_SLEEP = 32,\n};\n\nenum {\n\tFTRACE_UPDATE_IGNORE = 0,\n\tFTRACE_UPDATE_MAKE_CALL = 1,\n\tFTRACE_UPDATE_MODIFY_CALL = 2,\n\tFTRACE_UPDATE_MAKE_NOP = 3,\n};\n\nenum {\n\tFUTEX_STATE_OK = 0,\n\tFUTEX_STATE_EXITING = 1,\n\tFUTEX_STATE_DEAD = 2,\n};\n\nenum {\n\tFW_FEATURE_PSERIES_POSSIBLE = 35183556296703ULL,\n\tFW_FEATURE_PSERIES_ALWAYS = 0ULL,\n\tFW_FEATURE_POWERNV_POSSIBLE = 275146342400ULL,\n\tFW_FEATURE_POWERNV_ALWAYS = 0ULL,\n\tFW_FEATURE_PS3_POSSIBLE = 12582912ULL,\n\tFW_FEATURE_PS3_ALWAYS = 12582912ULL,\n\tFW_FEATURE_NATIVE_POSSIBLE = 0ULL,\n\tFW_FEATURE_NATIVE_ALWAYS = 0ULL,\n\tFW_FEATURE_POSSIBLE = 35183824732159ULL,\n\tFW_FEATURE_ALWAYS = 0ULL,\n};\n\nenum {\n\tGENHD_FL_REMOVABLE = 1,\n\tGENHD_FL_HIDDEN = 2,\n\tGENHD_FL_NO_PART = 4,\n};\n\nenum {\n\tGP_IDLE = 0,\n\tGP_ENTER = 1,\n\tGP_PASSED = 2,\n\tGP_EXIT = 3,\n\tGP_REPLAY = 4,\n};\n\nenum {\n\tGSSX_NULL = 0,\n\tGSSX_INDICATE_MECHS = 1,\n\tGSSX_GET_CALL_CONTEXT = 2,\n\tGSSX_IMPORT_AND_CANON_NAME = 3,\n\tGSSX_EXPORT_CRED = 4,\n\tGSSX_IMPORT_CRED = 5,\n\tGSSX_ACQUIRE_CRED = 6,\n\tGSSX_STORE_CRED = 7,\n\tGSSX_INIT_SEC_CONTEXT = 8,\n\tGSSX_ACCEPT_SEC_CONTEXT = 9,\n\tGSSX_RELEASE_HANDLE = 10,\n\tGSSX_GET_MIC = 11,\n\tGSSX_VERIFY = 12,\n\tGSSX_WRAP = 13,\n\tGSSX_UNWRAP = 14,\n\tGSSX_WRAP_SIZE_LIMIT = 15,\n};\n\nenum {\n\tHANDSHAKE_A_ACCEPT_SOCKFD = 1,\n\tHANDSHAKE_A_ACCEPT_HANDLER_CLASS = 2,\n\tHANDSHAKE_A_ACCEPT_MESSAGE_TYPE = 3,\n\tHANDSHAKE_A_ACCEPT_TIMEOUT = 4,\n\tHANDSHAKE_A_ACCEPT_AUTH_MODE = 5,\n\tHANDSHAKE_A_ACCEPT_PEER_IDENTITY = 6,\n\tHANDSHAKE_A_ACCEPT_CERTIFICATE = 7,\n\tHANDSHAKE_A_ACCEPT_PEERNAME = 8,\n\t__HANDSHAKE_A_ACCEPT_MAX = 9,\n\tHANDSHAKE_A_ACCEPT_MAX = 8,\n};\n\nenum {\n\tHANDSHAKE_A_DONE_STATUS = 1,\n\tHANDSHAKE_A_DONE_SOCKFD = 2,\n\tHANDSHAKE_A_DONE_REMOTE_AUTH = 3,\n\t__HANDSHAKE_A_DONE_MAX = 4,\n\tHANDSHAKE_A_DONE_MAX = 3,\n};\n\nenum {\n\tHANDSHAKE_A_X509_CERT = 1,\n\tHANDSHAKE_A_X509_PRIVKEY = 2,\n\t__HANDSHAKE_A_X509_MAX = 3,\n\tHANDSHAKE_A_X509_MAX = 2,\n};\n\nenum {\n\tHANDSHAKE_CMD_READY = 1,\n\tHANDSHAKE_CMD_ACCEPT = 2,\n\tHANDSHAKE_CMD_DONE = 3,\n\t__HANDSHAKE_CMD_MAX = 4,\n\tHANDSHAKE_CMD_MAX = 3,\n};\n\nenum {\n\tHANDSHAKE_NLGRP_NONE = 0,\n\tHANDSHAKE_NLGRP_TLSHD = 1,\n};\n\nenum {\n\tHASH_SIZE = 128,\n};\n\nenum {\n\tHAS_READ = 1,\n\tHAS_WRITE = 2,\n\tHAS_LSEEK = 4,\n\tHAS_POLL = 8,\n\tHAS_IOCTL = 16,\n};\n\nenum {\n\tHI_SOFTIRQ = 0,\n\tTIMER_SOFTIRQ = 1,\n\tNET_TX_SOFTIRQ = 2,\n\tNET_RX_SOFTIRQ = 3,\n\tBLOCK_SOFTIRQ = 4,\n\tIRQ_POLL_SOFTIRQ = 5,\n\tTASKLET_SOFTIRQ = 6,\n\tSCHED_SOFTIRQ = 7,\n\tHRTIMER_SOFTIRQ = 8,\n\tRCU_SOFTIRQ = 9,\n\tNR_SOFTIRQS = 10,\n};\n\nenum {\n\tHMM_NEED_FAULT = 1,\n\tHMM_NEED_WRITE_FAULT = 2,\n\tHMM_NEED_ALL_BITS = 3,\n};\n\nenum {\n\tHOST_L_CNT = 6,\n};\n\nenum {\n\tHOST_L_DUR = 9,\n};\n\nenum {\n\tHOST_S_CNT = 7,\n};\n\nenum {\n\tHOST_S_DUR = 8,\n};\n\nenum {\n\tHP_THREAD_NONE = 0,\n\tHP_THREAD_ACTIVE = 1,\n\tHP_THREAD_PARKED = 2,\n};\n\nenum {\n\tHUGETLB_SHMFS_INODE = 1,\n\tHUGETLB_ANONHUGE_INODE = 2,\n};\n\nenum {\n\tHV_GPCI_CM_GA = 128,\n\tHV_GPCI_CM_EXPANDED = 64,\n\tHV_GPCI_CM_LAB = 32,\n};\n\nenum {\n\tHW_BREAKPOINT_EMPTY = 0,\n\tHW_BREAKPOINT_R = 1,\n\tHW_BREAKPOINT_W = 2,\n\tHW_BREAKPOINT_RW = 3,\n\tHW_BREAKPOINT_X = 4,\n\tHW_BREAKPOINT_INVALID = 7,\n};\n\nenum {\n\tICMP6_MIB_NUM = 0,\n\tICMP6_MIB_INMSGS = 1,\n\tICMP6_MIB_INERRORS = 2,\n\tICMP6_MIB_OUTMSGS = 3,\n\tICMP6_MIB_OUTERRORS = 4,\n\tICMP6_MIB_CSUMERRORS = 5,\n\tICMP6_MIB_RATELIMITHOST = 6,\n\t__ICMP6_MIB_MAX = 7,\n};\n\nenum {\n\tICMP_MIB_NUM = 0,\n\tICMP_MIB_INMSGS = 1,\n\tICMP_MIB_INERRORS = 2,\n\tICMP_MIB_INDESTUNREACHS = 3,\n\tICMP_MIB_INTIMEEXCDS = 4,\n\tICMP_MIB_INPARMPROBS = 5,\n\tICMP_MIB_INSRCQUENCHS = 6,\n\tICMP_MIB_INREDIRECTS = 7,\n\tICMP_MIB_INECHOS = 8,\n\tICMP_MIB_INECHOREPS = 9,\n\tICMP_MIB_INTIMESTAMPS = 10,\n\tICMP_MIB_INTIMESTAMPREPS = 11,\n\tICMP_MIB_INADDRMASKS = 12,\n\tICMP_MIB_INADDRMASKREPS = 13,\n\tICMP_MIB_OUTMSGS = 14,\n\tICMP_MIB_OUTERRORS = 15,\n\tICMP_MIB_OUTDESTUNREACHS = 16,\n\tICMP_MIB_OUTTIMEEXCDS = 17,\n\tICMP_MIB_OUTPARMPROBS = 18,\n\tICMP_MIB_OUTSRCQUENCHS = 19,\n\tICMP_MIB_OUTREDIRECTS = 20,\n\tICMP_MIB_OUTECHOS = 21,\n\tICMP_MIB_OUTECHOREPS = 22,\n\tICMP_MIB_OUTTIMESTAMPS = 23,\n\tICMP_MIB_OUTTIMESTAMPREPS = 24,\n\tICMP_MIB_OUTADDRMASKS = 25,\n\tICMP_MIB_OUTADDRMASKREPS = 26,\n\tICMP_MIB_CSUMERRORS = 27,\n\tICMP_MIB_RATELIMITGLOBAL = 28,\n\tICMP_MIB_RATELIMITHOST = 29,\n\t__ICMP_MIB_MAX = 30,\n};\n\nenum {\n\tIDX_MODULE_ID = 0,\n\tIDX_ST_OPS_COMMON_VALUE_ID = 1,\n};\n\nenum {\n\tIFAL_ADDRESS = 1,\n\tIFAL_LABEL = 2,\n\t__IFAL_MAX = 3,\n};\n\nenum {\n\tIFA_UNSPEC = 0,\n\tIFA_ADDRESS = 1,\n\tIFA_LOCAL = 2,\n\tIFA_LABEL = 3,\n\tIFA_BROADCAST = 4,\n\tIFA_ANYCAST = 5,\n\tIFA_CACHEINFO = 6,\n\tIFA_MULTICAST = 7,\n\tIFA_FLAGS = 8,\n\tIFA_RT_PRIORITY = 9,\n\tIFA_TARGET_NETNSID = 10,\n\tIFA_PROTO = 11,\n\t__IFA_MAX = 12,\n};\n\nenum {\n\tIFLA_BRIDGE_FLAGS = 0,\n\tIFLA_BRIDGE_MODE = 1,\n\tIFLA_BRIDGE_VLAN_INFO = 2,\n\tIFLA_BRIDGE_VLAN_TUNNEL_INFO = 3,\n\tIFLA_BRIDGE_MRP = 4,\n\tIFLA_BRIDGE_CFM = 5,\n\tIFLA_BRIDGE_MST = 6,\n\t__IFLA_BRIDGE_MAX = 7,\n};\n\nenum {\n\tIFLA_BRPORT_UNSPEC = 0,\n\tIFLA_BRPORT_STATE = 1,\n\tIFLA_BRPORT_PRIORITY = 2,\n\tIFLA_BRPORT_COST = 3,\n\tIFLA_BRPORT_MODE = 4,\n\tIFLA_BRPORT_GUARD = 5,\n\tIFLA_BRPORT_PROTECT = 6,\n\tIFLA_BRPORT_FAST_LEAVE = 7,\n\tIFLA_BRPORT_LEARNING = 8,\n\tIFLA_BRPORT_UNICAST_FLOOD = 9,\n\tIFLA_BRPORT_PROXYARP = 10,\n\tIFLA_BRPORT_LEARNING_SYNC = 11,\n\tIFLA_BRPORT_PROXYARP_WIFI = 12,\n\tIFLA_BRPORT_ROOT_ID = 13,\n\tIFLA_BRPORT_BRIDGE_ID = 14,\n\tIFLA_BRPORT_DESIGNATED_PORT = 15,\n\tIFLA_BRPORT_DESIGNATED_COST = 16,\n\tIFLA_BRPORT_ID = 17,\n\tIFLA_BRPORT_NO = 18,\n\tIFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 19,\n\tIFLA_BRPORT_CONFIG_PENDING = 20,\n\tIFLA_BRPORT_MESSAGE_AGE_TIMER = 21,\n\tIFLA_BRPORT_FORWARD_DELAY_TIMER = 22,\n\tIFLA_BRPORT_HOLD_TIMER = 23,\n\tIFLA_BRPORT_FLUSH = 24,\n\tIFLA_BRPORT_MULTICAST_ROUTER = 25,\n\tIFLA_BRPORT_PAD = 26,\n\tIFLA_BRPORT_MCAST_FLOOD = 27,\n\tIFLA_BRPORT_MCAST_TO_UCAST = 28,\n\tIFLA_BRPORT_VLAN_TUNNEL = 29,\n\tIFLA_BRPORT_BCAST_FLOOD = 30,\n\tIFLA_BRPORT_GROUP_FWD_MASK = 31,\n\tIFLA_BRPORT_NEIGH_SUPPRESS = 32,\n\tIFLA_BRPORT_ISOLATED = 33,\n\tIFLA_BRPORT_BACKUP_PORT = 34,\n\tIFLA_BRPORT_MRP_RING_OPEN = 35,\n\tIFLA_BRPORT_MRP_IN_OPEN = 36,\n\tIFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 37,\n\tIFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 38,\n\tIFLA_BRPORT_LOCKED = 39,\n\tIFLA_BRPORT_MAB = 40,\n\tIFLA_BRPORT_MCAST_N_GROUPS = 41,\n\tIFLA_BRPORT_MCAST_MAX_GROUPS = 42,\n\tIFLA_BRPORT_NEIGH_VLAN_SUPPRESS = 43,\n\tIFLA_BRPORT_BACKUP_NHID = 44,\n\t__IFLA_BRPORT_MAX = 45,\n};\n\nenum {\n\tIFLA_EVENT_NONE = 0,\n\tIFLA_EVENT_REBOOT = 1,\n\tIFLA_EVENT_FEATURES = 2,\n\tIFLA_EVENT_BONDING_FAILOVER = 3,\n\tIFLA_EVENT_NOTIFY_PEERS = 4,\n\tIFLA_EVENT_IGMP_RESEND = 5,\n\tIFLA_EVENT_BONDING_OPTIONS = 6,\n};\n\nenum {\n\tIFLA_INET6_UNSPEC = 0,\n\tIFLA_INET6_FLAGS = 1,\n\tIFLA_INET6_CONF = 2,\n\tIFLA_INET6_STATS = 3,\n\tIFLA_INET6_MCAST = 4,\n\tIFLA_INET6_CACHEINFO = 5,\n\tIFLA_INET6_ICMP6STATS = 6,\n\tIFLA_INET6_TOKEN = 7,\n\tIFLA_INET6_ADDR_GEN_MODE = 8,\n\tIFLA_INET6_RA_MTU = 9,\n\t__IFLA_INET6_MAX = 10,\n};\n\nenum {\n\tIFLA_INET_UNSPEC = 0,\n\tIFLA_INET_CONF = 1,\n\t__IFLA_INET_MAX = 2,\n};\n\nenum {\n\tIFLA_INFO_UNSPEC = 0,\n\tIFLA_INFO_KIND = 1,\n\tIFLA_INFO_DATA = 2,\n\tIFLA_INFO_XSTATS = 3,\n\tIFLA_INFO_SLAVE_KIND = 4,\n\tIFLA_INFO_SLAVE_DATA = 5,\n\t__IFLA_INFO_MAX = 6,\n};\n\nenum {\n\tIFLA_IPTUN_UNSPEC = 0,\n\tIFLA_IPTUN_LINK = 1,\n\tIFLA_IPTUN_LOCAL = 2,\n\tIFLA_IPTUN_REMOTE = 3,\n\tIFLA_IPTUN_TTL = 4,\n\tIFLA_IPTUN_TOS = 5,\n\tIFLA_IPTUN_ENCAP_LIMIT = 6,\n\tIFLA_IPTUN_FLOWINFO = 7,\n\tIFLA_IPTUN_FLAGS = 8,\n\tIFLA_IPTUN_PROTO = 9,\n\tIFLA_IPTUN_PMTUDISC = 10,\n\tIFLA_IPTUN_6RD_PREFIX = 11,\n\tIFLA_IPTUN_6RD_RELAY_PREFIX = 12,\n\tIFLA_IPTUN_6RD_PREFIXLEN = 13,\n\tIFLA_IPTUN_6RD_RELAY_PREFIXLEN = 14,\n\tIFLA_IPTUN_ENCAP_TYPE = 15,\n\tIFLA_IPTUN_ENCAP_FLAGS = 16,\n\tIFLA_IPTUN_ENCAP_SPORT = 17,\n\tIFLA_IPTUN_ENCAP_DPORT = 18,\n\tIFLA_IPTUN_COLLECT_METADATA = 19,\n\tIFLA_IPTUN_FWMARK = 20,\n\t__IFLA_IPTUN_MAX = 21,\n};\n\nenum {\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 1,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 2,\n\t__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX = 3,\n};\n\nenum {\n\tIFLA_OFFLOAD_XSTATS_UNSPEC = 0,\n\tIFLA_OFFLOAD_XSTATS_CPU_HIT = 1,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO = 2,\n\tIFLA_OFFLOAD_XSTATS_L3_STATS = 3,\n\t__IFLA_OFFLOAD_XSTATS_MAX = 4,\n};\n\nenum {\n\tIFLA_PORT_UNSPEC = 0,\n\tIFLA_PORT_VF = 1,\n\tIFLA_PORT_PROFILE = 2,\n\tIFLA_PORT_VSI_TYPE = 3,\n\tIFLA_PORT_INSTANCE_UUID = 4,\n\tIFLA_PORT_HOST_UUID = 5,\n\tIFLA_PORT_REQUEST = 6,\n\tIFLA_PORT_RESPONSE = 7,\n\t__IFLA_PORT_MAX = 8,\n};\n\nenum {\n\tIFLA_PROTO_DOWN_REASON_UNSPEC = 0,\n\tIFLA_PROTO_DOWN_REASON_MASK = 1,\n\tIFLA_PROTO_DOWN_REASON_VALUE = 2,\n\t__IFLA_PROTO_DOWN_REASON_CNT = 3,\n\tIFLA_PROTO_DOWN_REASON_MAX = 2,\n};\n\nenum {\n\tIFLA_STATS_GETSET_UNSPEC = 0,\n\tIFLA_STATS_GET_FILTERS = 1,\n\tIFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 2,\n\t__IFLA_STATS_GETSET_MAX = 3,\n};\n\nenum {\n\tIFLA_STATS_UNSPEC = 0,\n\tIFLA_STATS_LINK_64 = 1,\n\tIFLA_STATS_LINK_XSTATS = 2,\n\tIFLA_STATS_LINK_XSTATS_SLAVE = 3,\n\tIFLA_STATS_LINK_OFFLOAD_XSTATS = 4,\n\tIFLA_STATS_AF_SPEC = 5,\n\t__IFLA_STATS_MAX = 6,\n};\n\nenum {\n\tIFLA_UNSPEC = 0,\n\tIFLA_ADDRESS = 1,\n\tIFLA_BROADCAST = 2,\n\tIFLA_IFNAME = 3,\n\tIFLA_MTU = 4,\n\tIFLA_LINK = 5,\n\tIFLA_QDISC = 6,\n\tIFLA_STATS = 7,\n\tIFLA_COST = 8,\n\tIFLA_PRIORITY = 9,\n\tIFLA_MASTER = 10,\n\tIFLA_WIRELESS = 11,\n\tIFLA_PROTINFO = 12,\n\tIFLA_TXQLEN = 13,\n\tIFLA_MAP = 14,\n\tIFLA_WEIGHT = 15,\n\tIFLA_OPERSTATE = 16,\n\tIFLA_LINKMODE = 17,\n\tIFLA_LINKINFO = 18,\n\tIFLA_NET_NS_PID = 19,\n\tIFLA_IFALIAS = 20,\n\tIFLA_NUM_VF = 21,\n\tIFLA_VFINFO_LIST = 22,\n\tIFLA_STATS64 = 23,\n\tIFLA_VF_PORTS = 24,\n\tIFLA_PORT_SELF = 25,\n\tIFLA_AF_SPEC = 26,\n\tIFLA_GROUP = 27,\n\tIFLA_NET_NS_FD = 28,\n\tIFLA_EXT_MASK = 29,\n\tIFLA_PROMISCUITY = 30,\n\tIFLA_NUM_TX_QUEUES = 31,\n\tIFLA_NUM_RX_QUEUES = 32,\n\tIFLA_CARRIER = 33,\n\tIFLA_PHYS_PORT_ID = 34,\n\tIFLA_CARRIER_CHANGES = 35,\n\tIFLA_PHYS_SWITCH_ID = 36,\n\tIFLA_LINK_NETNSID = 37,\n\tIFLA_PHYS_PORT_NAME = 38,\n\tIFLA_PROTO_DOWN = 39,\n\tIFLA_GSO_MAX_SEGS = 40,\n\tIFLA_GSO_MAX_SIZE = 41,\n\tIFLA_PAD = 42,\n\tIFLA_XDP = 43,\n\tIFLA_EVENT = 44,\n\tIFLA_NEW_NETNSID = 45,\n\tIFLA_IF_NETNSID = 46,\n\tIFLA_TARGET_NETNSID = 46,\n\tIFLA_CARRIER_UP_COUNT = 47,\n\tIFLA_CARRIER_DOWN_COUNT = 48,\n\tIFLA_NEW_IFINDEX = 49,\n\tIFLA_MIN_MTU = 50,\n\tIFLA_MAX_MTU = 51,\n\tIFLA_PROP_LIST = 52,\n\tIFLA_ALT_IFNAME = 53,\n\tIFLA_PERM_ADDRESS = 54,\n\tIFLA_PROTO_DOWN_REASON = 55,\n\tIFLA_PARENT_DEV_NAME = 56,\n\tIFLA_PARENT_DEV_BUS_NAME = 57,\n\tIFLA_GRO_MAX_SIZE = 58,\n\tIFLA_TSO_MAX_SIZE = 59,\n\tIFLA_TSO_MAX_SEGS = 60,\n\tIFLA_ALLMULTI = 61,\n\tIFLA_DEVLINK_PORT = 62,\n\tIFLA_GSO_IPV4_MAX_SIZE = 63,\n\tIFLA_GRO_IPV4_MAX_SIZE = 64,\n\tIFLA_DPLL_PIN = 65,\n\tIFLA_MAX_PACING_OFFLOAD_HORIZON = 66,\n\t__IFLA_MAX = 67,\n};\n\nenum {\n\tIFLA_VF_INFO_UNSPEC = 0,\n\tIFLA_VF_INFO = 1,\n\t__IFLA_VF_INFO_MAX = 2,\n};\n\nenum {\n\tIFLA_VF_PORT_UNSPEC = 0,\n\tIFLA_VF_PORT = 1,\n\t__IFLA_VF_PORT_MAX = 2,\n};\n\nenum {\n\tIFLA_VF_STATS_RX_PACKETS = 0,\n\tIFLA_VF_STATS_TX_PACKETS = 1,\n\tIFLA_VF_STATS_RX_BYTES = 2,\n\tIFLA_VF_STATS_TX_BYTES = 3,\n\tIFLA_VF_STATS_BROADCAST = 4,\n\tIFLA_VF_STATS_MULTICAST = 5,\n\tIFLA_VF_STATS_PAD = 6,\n\tIFLA_VF_STATS_RX_DROPPED = 7,\n\tIFLA_VF_STATS_TX_DROPPED = 8,\n\t__IFLA_VF_STATS_MAX = 9,\n};\n\nenum {\n\tIFLA_VF_UNSPEC = 0,\n\tIFLA_VF_MAC = 1,\n\tIFLA_VF_VLAN = 2,\n\tIFLA_VF_TX_RATE = 3,\n\tIFLA_VF_SPOOFCHK = 4,\n\tIFLA_VF_LINK_STATE = 5,\n\tIFLA_VF_RATE = 6,\n\tIFLA_VF_RSS_QUERY_EN = 7,\n\tIFLA_VF_STATS = 8,\n\tIFLA_VF_TRUST = 9,\n\tIFLA_VF_IB_NODE_GUID = 10,\n\tIFLA_VF_IB_PORT_GUID = 11,\n\tIFLA_VF_VLAN_LIST = 12,\n\tIFLA_VF_BROADCAST = 13,\n\t__IFLA_VF_MAX = 14,\n};\n\nenum {\n\tIFLA_VF_VLAN_INFO_UNSPEC = 0,\n\tIFLA_VF_VLAN_INFO = 1,\n\t__IFLA_VF_VLAN_INFO_MAX = 2,\n};\n\nenum {\n\tIFLA_XDP_UNSPEC = 0,\n\tIFLA_XDP_FD = 1,\n\tIFLA_XDP_ATTACHED = 2,\n\tIFLA_XDP_FLAGS = 3,\n\tIFLA_XDP_PROG_ID = 4,\n\tIFLA_XDP_DRV_PROG_ID = 5,\n\tIFLA_XDP_SKB_PROG_ID = 6,\n\tIFLA_XDP_HW_PROG_ID = 7,\n\tIFLA_XDP_EXPECTED_FD = 8,\n\t__IFLA_XDP_MAX = 9,\n};\n\nenum {\n\tIF_ACT_NONE = -1,\n\tIF_ACT_FILTER = 0,\n\tIF_ACT_START = 1,\n\tIF_ACT_STOP = 2,\n\tIF_SRC_FILE = 3,\n\tIF_SRC_KERNEL = 4,\n\tIF_SRC_FILEADDR = 5,\n\tIF_SRC_KERNELADDR = 6,\n};\n\nenum {\n\tIF_LINK_MODE_DEFAULT = 0,\n\tIF_LINK_MODE_DORMANT = 1,\n\tIF_LINK_MODE_TESTING = 2,\n};\n\nenum {\n\tIF_OPER_UNKNOWN = 0,\n\tIF_OPER_NOTPRESENT = 1,\n\tIF_OPER_DOWN = 2,\n\tIF_OPER_LOWERLAYERDOWN = 3,\n\tIF_OPER_TESTING = 4,\n\tIF_OPER_DORMANT = 5,\n\tIF_OPER_UP = 6,\n};\n\nenum {\n\tIF_STATE_ACTION = 0,\n\tIF_STATE_SOURCE = 1,\n\tIF_STATE_END = 2,\n};\n\nenum {\n\tIMAGE_INVALID = 0,\n\tIMAGE_LOADING = 1,\n\tIMAGE_READY = 2,\n};\n\nenum {\n\tIMC_TYPE_THREAD = 1,\n\tIMC_TYPE_TRACE = 2,\n\tIMC_TYPE_CORE = 4,\n\tIMC_TYPE_CHIP = 16,\n};\n\nenum {\n\tINET6_IFADDR_STATE_PREDAD = 0,\n\tINET6_IFADDR_STATE_DAD = 1,\n\tINET6_IFADDR_STATE_POSTDAD = 2,\n\tINET6_IFADDR_STATE_ERRDAD = 3,\n\tINET6_IFADDR_STATE_DEAD = 4,\n};\n\nenum {\n\tINET_DIAG_BC_NOP = 0,\n\tINET_DIAG_BC_JMP = 1,\n\tINET_DIAG_BC_S_GE = 2,\n\tINET_DIAG_BC_S_LE = 3,\n\tINET_DIAG_BC_D_GE = 4,\n\tINET_DIAG_BC_D_LE = 5,\n\tINET_DIAG_BC_AUTO = 6,\n\tINET_DIAG_BC_S_COND = 7,\n\tINET_DIAG_BC_D_COND = 8,\n\tINET_DIAG_BC_DEV_COND = 9,\n\tINET_DIAG_BC_MARK_COND = 10,\n\tINET_DIAG_BC_S_EQ = 11,\n\tINET_DIAG_BC_D_EQ = 12,\n\tINET_DIAG_BC_CGROUP_COND = 13,\n};\n\nenum {\n\tINET_DIAG_NONE = 0,\n\tINET_DIAG_MEMINFO = 1,\n\tINET_DIAG_INFO = 2,\n\tINET_DIAG_VEGASINFO = 3,\n\tINET_DIAG_CONG = 4,\n\tINET_DIAG_TOS = 5,\n\tINET_DIAG_TCLASS = 6,\n\tINET_DIAG_SKMEMINFO = 7,\n\tINET_DIAG_SHUTDOWN = 8,\n\tINET_DIAG_DCTCPINFO = 9,\n\tINET_DIAG_PROTOCOL = 10,\n\tINET_DIAG_SKV6ONLY = 11,\n\tINET_DIAG_LOCALS = 12,\n\tINET_DIAG_PEERS = 13,\n\tINET_DIAG_PAD = 14,\n\tINET_DIAG_MARK = 15,\n\tINET_DIAG_BBRINFO = 16,\n\tINET_DIAG_CLASS_ID = 17,\n\tINET_DIAG_MD5SIG = 18,\n\tINET_DIAG_ULP_INFO = 19,\n\tINET_DIAG_SK_BPF_STORAGES = 20,\n\tINET_DIAG_CGROUP_ID = 21,\n\tINET_DIAG_SOCKOPT = 22,\n\t__INET_DIAG_MAX = 23,\n};\n\nenum {\n\tINET_DIAG_REQ_NONE = 0,\n\tINET_DIAG_REQ_BYTECODE = 1,\n\tINET_DIAG_REQ_SK_BPF_STORAGES = 2,\n\tINET_DIAG_REQ_PROTOCOL = 3,\n\t__INET_DIAG_REQ_MAX = 4,\n};\n\nenum {\n\tINET_ECN_NOT_ECT = 0,\n\tINET_ECN_ECT_1 = 1,\n\tINET_ECN_ECT_0 = 2,\n\tINET_ECN_CE = 3,\n\tINET_ECN_MASK = 3,\n};\n\nenum {\n\tINET_FLAGS_PKTINFO = 0,\n\tINET_FLAGS_TTL = 1,\n\tINET_FLAGS_TOS = 2,\n\tINET_FLAGS_RECVOPTS = 3,\n\tINET_FLAGS_RETOPTS = 4,\n\tINET_FLAGS_PASSSEC = 5,\n\tINET_FLAGS_ORIGDSTADDR = 6,\n\tINET_FLAGS_CHECKSUM = 7,\n\tINET_FLAGS_RECVFRAGSIZE = 8,\n\tINET_FLAGS_RECVERR = 9,\n\tINET_FLAGS_RECVERR_RFC4884 = 10,\n\tINET_FLAGS_FREEBIND = 11,\n\tINET_FLAGS_HDRINCL = 12,\n\tINET_FLAGS_MC_LOOP = 13,\n\tINET_FLAGS_MC_ALL = 14,\n\tINET_FLAGS_TRANSPARENT = 15,\n\tINET_FLAGS_IS_ICSK = 16,\n\tINET_FLAGS_NODEFRAG = 17,\n\tINET_FLAGS_BIND_ADDRESS_NO_PORT = 18,\n\tINET_FLAGS_DEFER_CONNECT = 19,\n\tINET_FLAGS_MC6_LOOP = 20,\n\tINET_FLAGS_RECVERR6_RFC4884 = 21,\n\tINET_FLAGS_MC6_ALL = 22,\n\tINET_FLAGS_AUTOFLOWLABEL_SET = 23,\n\tINET_FLAGS_AUTOFLOWLABEL = 24,\n\tINET_FLAGS_DONTFRAG = 25,\n\tINET_FLAGS_RECVERR6 = 26,\n\tINET_FLAGS_REPFLOW = 27,\n\tINET_FLAGS_RTALERT_ISOLATE = 28,\n\tINET_FLAGS_SNDFLOW = 29,\n\tINET_FLAGS_RTALERT = 30,\n};\n\nenum {\n\tINET_FRAG_FIRST_IN = 1,\n\tINET_FRAG_LAST_IN = 2,\n\tINET_FRAG_COMPLETE = 4,\n\tINET_FRAG_HASH_DEAD = 8,\n\tINET_FRAG_DROP = 16,\n};\n\nenum {\n\tINET_ULP_INFO_UNSPEC = 0,\n\tINET_ULP_INFO_NAME = 1,\n\tINET_ULP_INFO_TLS = 2,\n\tINET_ULP_INFO_MPTCP = 3,\n\t__INET_ULP_INFO_MAX = 4,\n};\n\nenum {\n\tINSN_F_FRAMENO_MASK = 7,\n\tINSN_F_SPI_MASK = 63,\n\tINSN_F_SPI_SHIFT = 3,\n\tINSN_F_STACK_ACCESS = 512,\n};\n\nenum {\n\tINVERT = 1,\n\tPROCESS_AND = 2,\n\tPROCESS_OR = 4,\n};\n\nenum {\n\tIOAM6_ATTR_UNSPEC = 0,\n\tIOAM6_ATTR_NS_ID = 1,\n\tIOAM6_ATTR_NS_DATA = 2,\n\tIOAM6_ATTR_NS_DATA_WIDE = 3,\n\tIOAM6_ATTR_SC_ID = 4,\n\tIOAM6_ATTR_SC_DATA = 5,\n\tIOAM6_ATTR_SC_NONE = 6,\n\tIOAM6_ATTR_PAD = 7,\n\t__IOAM6_ATTR_MAX = 8,\n};\n\nenum {\n\tIOAM6_CMD_UNSPEC = 0,\n\tIOAM6_CMD_ADD_NAMESPACE = 1,\n\tIOAM6_CMD_DEL_NAMESPACE = 2,\n\tIOAM6_CMD_DUMP_NAMESPACES = 3,\n\tIOAM6_CMD_ADD_SCHEMA = 4,\n\tIOAM6_CMD_DEL_SCHEMA = 5,\n\tIOAM6_CMD_DUMP_SCHEMAS = 6,\n\tIOAM6_CMD_NS_SET_SCHEMA = 7,\n\t__IOAM6_CMD_MAX = 8,\n};\n\nenum {\n\tIOBL_BUF_RING = 1,\n\tIOBL_INC = 2,\n};\n\nenum {\n\tIOCB_CMD_PREAD = 0,\n\tIOCB_CMD_PWRITE = 1,\n\tIOCB_CMD_FSYNC = 2,\n\tIOCB_CMD_FDSYNC = 3,\n\tIOCB_CMD_POLL = 5,\n\tIOCB_CMD_NOOP = 6,\n\tIOCB_CMD_PREADV = 7,\n\tIOCB_CMD_PWRITEV = 8,\n};\n\nenum {\n\tIOMMU_SET_DOMAIN_MUST_SUCCEED = 1,\n};\n\nenum {\n\tIOPRIO_CLASS_NONE = 0,\n\tIOPRIO_CLASS_RT = 1,\n\tIOPRIO_CLASS_BE = 2,\n\tIOPRIO_CLASS_IDLE = 3,\n\tIOPRIO_CLASS_INVALID = 7,\n};\n\nenum {\n\tIOPRIO_HINT_NONE = 0,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_1 = 1,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_2 = 2,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_3 = 3,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_4 = 4,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_5 = 5,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_6 = 6,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_7 = 7,\n};\n\nenum {\n\tIOPRIO_WHO_PROCESS = 1,\n\tIOPRIO_WHO_PGRP = 2,\n\tIOPRIO_WHO_USER = 3,\n};\n\nenum {\n\tIORES_DESC_NONE = 0,\n\tIORES_DESC_CRASH_KERNEL = 1,\n\tIORES_DESC_ACPI_TABLES = 2,\n\tIORES_DESC_ACPI_NV_STORAGE = 3,\n\tIORES_DESC_PERSISTENT_MEMORY = 4,\n\tIORES_DESC_PERSISTENT_MEMORY_LEGACY = 5,\n\tIORES_DESC_DEVICE_PRIVATE_MEMORY = 6,\n\tIORES_DESC_RESERVED = 7,\n\tIORES_DESC_SOFT_RESERVED = 8,\n\tIORES_DESC_CXL = 9,\n};\n\nenum {\n\tIORING_MEM_REGION_REG_WAIT_ARG = 1,\n};\n\nenum {\n\tIORING_MEM_REGION_TYPE_USER = 1,\n};\n\nenum {\n\tIORING_REGISTER_SRC_REGISTERED = 1,\n\tIORING_REGISTER_DST_REPLACE = 2,\n};\n\nenum {\n\tIORING_REG_WAIT_TS = 1,\n};\n\nenum {\n\tIORING_RSRC_FILE = 0,\n\tIORING_RSRC_BUFFER = 1,\n};\n\nenum {\n\tIOU_F_TWQ_LAZY_WAKE = 1,\n};\n\nenum {\n\tIOU_OK = 0,\n\tIOU_ISSUE_SKIP_COMPLETE = -529,\n\tIOU_REQUEUE = -3072,\n\tIOU_STOP_MULTISHOT = -125,\n};\n\nenum {\n\tIOU_POLL_DONE = 0,\n\tIOU_POLL_NO_ACTION = 1,\n\tIOU_POLL_REMOVE_POLL_USE_RES = 2,\n\tIOU_POLL_REISSUE = 3,\n\tIOU_POLL_REQUEUE = 4,\n};\n\nenum {\n\tIO_ACCT_STALLED_BIT = 0,\n};\n\nenum {\n\tIO_APOLL_OK = 0,\n\tIO_APOLL_ABORTED = 1,\n\tIO_APOLL_READY = 2,\n};\n\nenum {\n\tIO_CHECK_CQ_OVERFLOW_BIT = 0,\n\tIO_CHECK_CQ_DROPPED_BIT = 1,\n};\n\nenum {\n\tIO_EVENTFD_OP_SIGNAL_BIT = 0,\n};\n\nenum {\n\tIO_REGION_F_VMAP = 1,\n\tIO_REGION_F_USER_PROVIDED = 2,\n\tIO_REGION_F_SINGLE_REF = 4,\n};\n\nenum {\n\tIO_SQ_THREAD_SHOULD_STOP = 0,\n\tIO_SQ_THREAD_SHOULD_PARK = 1,\n};\n\nenum {\n\tIO_WORKER_F_UP = 0,\n\tIO_WORKER_F_RUNNING = 1,\n\tIO_WORKER_F_FREE = 2,\n\tIO_WORKER_F_BOUND = 3,\n};\n\nenum {\n\tIO_WQ_ACCT_BOUND = 0,\n\tIO_WQ_ACCT_UNBOUND = 1,\n\tIO_WQ_ACCT_NR = 2,\n};\n\nenum {\n\tIO_WQ_BIT_EXIT = 0,\n};\n\nenum {\n\tIO_WQ_WORK_CANCEL = 1,\n\tIO_WQ_WORK_HASHED = 2,\n\tIO_WQ_WORK_UNBOUND = 4,\n\tIO_WQ_WORK_CONCURRENT = 16,\n\tIO_WQ_HASH_SHIFT = 24,\n};\n\nenum {\n\tIP6_FH_F_FRAG = 1,\n\tIP6_FH_F_AUTH = 2,\n\tIP6_FH_F_SKIP_RH = 4,\n};\n\nenum {\n\tIPPROTO_IP = 0,\n\tIPPROTO_ICMP = 1,\n\tIPPROTO_IGMP = 2,\n\tIPPROTO_IPIP = 4,\n\tIPPROTO_TCP = 6,\n\tIPPROTO_EGP = 8,\n\tIPPROTO_PUP = 12,\n\tIPPROTO_UDP = 17,\n\tIPPROTO_IDP = 22,\n\tIPPROTO_TP = 29,\n\tIPPROTO_DCCP = 33,\n\tIPPROTO_IPV6 = 41,\n\tIPPROTO_RSVP = 46,\n\tIPPROTO_GRE = 47,\n\tIPPROTO_ESP = 50,\n\tIPPROTO_AH = 51,\n\tIPPROTO_MTP = 92,\n\tIPPROTO_BEETPH = 94,\n\tIPPROTO_ENCAP = 98,\n\tIPPROTO_PIM = 103,\n\tIPPROTO_COMP = 108,\n\tIPPROTO_L2TP = 115,\n\tIPPROTO_SCTP = 132,\n\tIPPROTO_UDPLITE = 136,\n\tIPPROTO_MPLS = 137,\n\tIPPROTO_ETHERNET = 143,\n\tIPPROTO_AGGFRAG = 144,\n\tIPPROTO_RAW = 255,\n\tIPPROTO_SMC = 256,\n\tIPPROTO_MPTCP = 262,\n\tIPPROTO_MAX = 263,\n};\n\nenum {\n\tIPSTATS_MIB_NUM = 0,\n\tIPSTATS_MIB_INPKTS = 1,\n\tIPSTATS_MIB_INOCTETS = 2,\n\tIPSTATS_MIB_INDELIVERS = 3,\n\tIPSTATS_MIB_OUTFORWDATAGRAMS = 4,\n\tIPSTATS_MIB_OUTREQUESTS = 5,\n\tIPSTATS_MIB_OUTOCTETS = 6,\n\tIPSTATS_MIB_INHDRERRORS = 7,\n\tIPSTATS_MIB_INTOOBIGERRORS = 8,\n\tIPSTATS_MIB_INNOROUTES = 9,\n\tIPSTATS_MIB_INADDRERRORS = 10,\n\tIPSTATS_MIB_INUNKNOWNPROTOS = 11,\n\tIPSTATS_MIB_INTRUNCATEDPKTS = 12,\n\tIPSTATS_MIB_INDISCARDS = 13,\n\tIPSTATS_MIB_OUTDISCARDS = 14,\n\tIPSTATS_MIB_OUTNOROUTES = 15,\n\tIPSTATS_MIB_REASMTIMEOUT = 16,\n\tIPSTATS_MIB_REASMREQDS = 17,\n\tIPSTATS_MIB_REASMOKS = 18,\n\tIPSTATS_MIB_REASMFAILS = 19,\n\tIPSTATS_MIB_FRAGOKS = 20,\n\tIPSTATS_MIB_FRAGFAILS = 21,\n\tIPSTATS_MIB_FRAGCREATES = 22,\n\tIPSTATS_MIB_INMCASTPKTS = 23,\n\tIPSTATS_MIB_OUTMCASTPKTS = 24,\n\tIPSTATS_MIB_INBCASTPKTS = 25,\n\tIPSTATS_MIB_OUTBCASTPKTS = 26,\n\tIPSTATS_MIB_INMCASTOCTETS = 27,\n\tIPSTATS_MIB_OUTMCASTOCTETS = 28,\n\tIPSTATS_MIB_INBCASTOCTETS = 29,\n\tIPSTATS_MIB_OUTBCASTOCTETS = 30,\n\tIPSTATS_MIB_CSUMERRORS = 31,\n\tIPSTATS_MIB_NOECTPKTS = 32,\n\tIPSTATS_MIB_ECT1PKTS = 33,\n\tIPSTATS_MIB_ECT0PKTS = 34,\n\tIPSTATS_MIB_CEPKTS = 35,\n\tIPSTATS_MIB_REASM_OVERLAPS = 36,\n\tIPSTATS_MIB_OUTPKTS = 37,\n\t__IPSTATS_MIB_MAX = 38,\n};\n\nenum {\n\tIPV4_DEVCONF_FORWARDING = 1,\n\tIPV4_DEVCONF_MC_FORWARDING = 2,\n\tIPV4_DEVCONF_PROXY_ARP = 3,\n\tIPV4_DEVCONF_ACCEPT_REDIRECTS = 4,\n\tIPV4_DEVCONF_SECURE_REDIRECTS = 5,\n\tIPV4_DEVCONF_SEND_REDIRECTS = 6,\n\tIPV4_DEVCONF_SHARED_MEDIA = 7,\n\tIPV4_DEVCONF_RP_FILTER = 8,\n\tIPV4_DEVCONF_ACCEPT_SOURCE_ROUTE = 9,\n\tIPV4_DEVCONF_BOOTP_RELAY = 10,\n\tIPV4_DEVCONF_LOG_MARTIANS = 11,\n\tIPV4_DEVCONF_TAG = 12,\n\tIPV4_DEVCONF_ARPFILTER = 13,\n\tIPV4_DEVCONF_MEDIUM_ID = 14,\n\tIPV4_DEVCONF_NOXFRM = 15,\n\tIPV4_DEVCONF_NOPOLICY = 16,\n\tIPV4_DEVCONF_FORCE_IGMP_VERSION = 17,\n\tIPV4_DEVCONF_ARP_ANNOUNCE = 18,\n\tIPV4_DEVCONF_ARP_IGNORE = 19,\n\tIPV4_DEVCONF_PROMOTE_SECONDARIES = 20,\n\tIPV4_DEVCONF_ARP_ACCEPT = 21,\n\tIPV4_DEVCONF_ARP_NOTIFY = 22,\n\tIPV4_DEVCONF_ACCEPT_LOCAL = 23,\n\tIPV4_DEVCONF_SRC_VMARK = 24,\n\tIPV4_DEVCONF_PROXY_ARP_PVLAN = 25,\n\tIPV4_DEVCONF_ROUTE_LOCALNET = 26,\n\tIPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL = 27,\n\tIPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL = 28,\n\tIPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 29,\n\tIPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 30,\n\tIPV4_DEVCONF_DROP_GRATUITOUS_ARP = 31,\n\tIPV4_DEVCONF_BC_FORWARDING = 32,\n\tIPV4_DEVCONF_ARP_EVICT_NOCARRIER = 33,\n\t__IPV4_DEVCONF_MAX = 34,\n};\n\nenum {\n\tIPV6_SADDR_RULE_INIT = 0,\n\tIPV6_SADDR_RULE_LOCAL = 1,\n\tIPV6_SADDR_RULE_SCOPE = 2,\n\tIPV6_SADDR_RULE_PREFERRED = 3,\n\tIPV6_SADDR_RULE_OIF = 4,\n\tIPV6_SADDR_RULE_LABEL = 5,\n\tIPV6_SADDR_RULE_PRIVACY = 6,\n\tIPV6_SADDR_RULE_ORCHID = 7,\n\tIPV6_SADDR_RULE_PREFIX = 8,\n\tIPV6_SADDR_RULE_MAX = 9,\n};\n\nenum {\n\tIP_TUNNEL_CSUM_BIT = 0,\n\tIP_TUNNEL_ROUTING_BIT = 1,\n\tIP_TUNNEL_KEY_BIT = 2,\n\tIP_TUNNEL_SEQ_BIT = 3,\n\tIP_TUNNEL_STRICT_BIT = 4,\n\tIP_TUNNEL_REC_BIT = 5,\n\tIP_TUNNEL_VERSION_BIT = 6,\n\tIP_TUNNEL_NO_KEY_BIT = 7,\n\tIP_TUNNEL_DONT_FRAGMENT_BIT = 8,\n\tIP_TUNNEL_OAM_BIT = 9,\n\tIP_TUNNEL_CRIT_OPT_BIT = 10,\n\tIP_TUNNEL_GENEVE_OPT_BIT = 11,\n\tIP_TUNNEL_VXLAN_OPT_BIT = 12,\n\tIP_TUNNEL_NOCACHE_BIT = 13,\n\tIP_TUNNEL_ERSPAN_OPT_BIT = 14,\n\tIP_TUNNEL_GTP_OPT_BIT = 15,\n\tIP_TUNNEL_VTI_BIT = 16,\n\tIP_TUNNEL_SIT_ISATAP_BIT = 16,\n\tIP_TUNNEL_PFCP_OPT_BIT = 17,\n\t__IP_TUNNEL_FLAG_NUM = 18,\n};\n\nenum {\n\tIRQCHIP_FWNODE_REAL = 0,\n\tIRQCHIP_FWNODE_NAMED = 1,\n\tIRQCHIP_FWNODE_NAMED_ID = 2,\n};\n\nenum {\n\tIRQCHIP_SET_TYPE_MASKED = 1,\n\tIRQCHIP_EOI_IF_HANDLED = 2,\n\tIRQCHIP_MASK_ON_SUSPEND = 4,\n\tIRQCHIP_ONOFFLINE_ENABLED = 8,\n\tIRQCHIP_SKIP_SET_WAKE = 16,\n\tIRQCHIP_ONESHOT_SAFE = 32,\n\tIRQCHIP_EOI_THREADED = 64,\n\tIRQCHIP_SUPPORTS_LEVEL_MSI = 128,\n\tIRQCHIP_SUPPORTS_NMI = 256,\n\tIRQCHIP_ENABLE_WAKEUP_ON_SUSPEND = 512,\n\tIRQCHIP_AFFINITY_PRE_STARTUP = 1024,\n\tIRQCHIP_IMMUTABLE = 2048,\n\tIRQCHIP_MOVE_DEFERRED = 4096,\n};\n\nenum {\n\tIRQC_IS_HARDIRQ = 0,\n\tIRQC_IS_NESTED = 1,\n};\n\nenum {\n\tIRQD_TRIGGER_MASK = 15,\n\tIRQD_SETAFFINITY_PENDING = 256,\n\tIRQD_ACTIVATED = 512,\n\tIRQD_NO_BALANCING = 1024,\n\tIRQD_PER_CPU = 2048,\n\tIRQD_AFFINITY_SET = 4096,\n\tIRQD_LEVEL = 8192,\n\tIRQD_WAKEUP_STATE = 16384,\n\tIRQD_IRQ_DISABLED = 65536,\n\tIRQD_IRQ_MASKED = 131072,\n\tIRQD_IRQ_INPROGRESS = 262144,\n\tIRQD_WAKEUP_ARMED = 524288,\n\tIRQD_FORWARDED_TO_VCPU = 1048576,\n\tIRQD_AFFINITY_MANAGED = 2097152,\n\tIRQD_IRQ_STARTED = 4194304,\n\tIRQD_MANAGED_SHUTDOWN = 8388608,\n\tIRQD_SINGLE_TARGET = 16777216,\n\tIRQD_DEFAULT_TRIGGER_SET = 33554432,\n\tIRQD_CAN_RESERVE = 67108864,\n\tIRQD_HANDLE_ENFORCE_IRQCTX = 134217728,\n\tIRQD_AFFINITY_ON_ACTIVATE = 268435456,\n\tIRQD_IRQ_ENABLED_ON_SUSPEND = 536870912,\n\tIRQD_RESEND_WHEN_IN_PROGRESS = 1073741824,\n};\n\nenum {\n\tIRQS_AUTODETECT = 1,\n\tIRQS_SPURIOUS_DISABLED = 2,\n\tIRQS_POLL_INPROGRESS = 8,\n\tIRQS_ONESHOT = 32,\n\tIRQS_REPLAY = 64,\n\tIRQS_WAITING = 128,\n\tIRQS_PENDING = 512,\n\tIRQS_SUSPENDED = 2048,\n\tIRQS_TIMINGS = 4096,\n\tIRQS_NMI = 8192,\n\tIRQS_SYSFS = 16384,\n};\n\nenum {\n\tIRQTF_RUNTHREAD = 0,\n\tIRQTF_WARNED = 1,\n\tIRQTF_AFFINITY = 2,\n\tIRQTF_FORCED_THREAD = 3,\n\tIRQTF_READY = 4,\n};\n\nenum {\n\tIRQ_DOMAIN_FLAG_HIERARCHY = 1,\n\tIRQ_DOMAIN_NAME_ALLOCATED = 2,\n\tIRQ_DOMAIN_FLAG_IPI_PER_CPU = 4,\n\tIRQ_DOMAIN_FLAG_IPI_SINGLE = 8,\n\tIRQ_DOMAIN_FLAG_MSI = 16,\n\tIRQ_DOMAIN_FLAG_ISOLATED_MSI = 32,\n\tIRQ_DOMAIN_FLAG_NO_MAP = 64,\n\tIRQ_DOMAIN_FLAG_MSI_PARENT = 256,\n\tIRQ_DOMAIN_FLAG_MSI_DEVICE = 512,\n\tIRQ_DOMAIN_FLAG_DESTROY_GC = 1024,\n\tIRQ_DOMAIN_FLAG_NONCORE = 65536,\n};\n\nenum {\n\tIRQ_POLL_F_SCHED = 0,\n\tIRQ_POLL_F_DISABLE = 1,\n};\n\nenum {\n\tIRQ_SET_MASK_OK = 0,\n\tIRQ_SET_MASK_OK_NOCOPY = 1,\n\tIRQ_SET_MASK_OK_DONE = 2,\n};\n\nenum {\n\tIRQ_STARTUP_NORMAL = 0,\n\tIRQ_STARTUP_MANAGED = 1,\n\tIRQ_STARTUP_ABORT = 2,\n};\n\nenum {\n\tIRQ_TYPE_NONE = 0,\n\tIRQ_TYPE_EDGE_RISING = 1,\n\tIRQ_TYPE_EDGE_FALLING = 2,\n\tIRQ_TYPE_EDGE_BOTH = 3,\n\tIRQ_TYPE_LEVEL_HIGH = 4,\n\tIRQ_TYPE_LEVEL_LOW = 8,\n\tIRQ_TYPE_LEVEL_MASK = 12,\n\tIRQ_TYPE_SENSE_MASK = 15,\n\tIRQ_TYPE_DEFAULT = 15,\n\tIRQ_TYPE_PROBE = 16,\n\tIRQ_LEVEL = 256,\n\tIRQ_PER_CPU = 512,\n\tIRQ_NOPROBE = 1024,\n\tIRQ_NOREQUEST = 2048,\n\tIRQ_NOAUTOEN = 4096,\n\tIRQ_NO_BALANCING = 8192,\n\tIRQ_NESTED_THREAD = 32768,\n\tIRQ_NOTHREAD = 65536,\n\tIRQ_PER_CPU_DEVID = 131072,\n\tIRQ_IS_POLLED = 262144,\n\tIRQ_DISABLE_UNLAZY = 524288,\n\tIRQ_HIDDEN = 1048576,\n\tIRQ_NO_DEBUG = 2097152,\n};\n\nenum {\n\tK2_FLAG_SATA_8_PORTS = 16777216,\n\tK2_FLAG_NO_ATAPI_DMA = 33554432,\n\tK2_FLAG_BAR_POS_3 = 67108864,\n\tK2_SATA_TF_CMD_OFFSET = 0,\n\tK2_SATA_TF_DATA_OFFSET = 0,\n\tK2_SATA_TF_ERROR_OFFSET = 4,\n\tK2_SATA_TF_NSECT_OFFSET = 8,\n\tK2_SATA_TF_LBAL_OFFSET = 12,\n\tK2_SATA_TF_LBAM_OFFSET = 16,\n\tK2_SATA_TF_LBAH_OFFSET = 20,\n\tK2_SATA_TF_DEVICE_OFFSET = 24,\n\tK2_SATA_TF_CMDSTAT_OFFSET = 28,\n\tK2_SATA_TF_CTL_OFFSET = 32,\n\tK2_SATA_DMA_CMD_OFFSET = 48,\n\tK2_SATA_SCR_STATUS_OFFSET = 64,\n\tK2_SATA_SCR_ERROR_OFFSET = 68,\n\tK2_SATA_SCR_CONTROL_OFFSET = 72,\n\tK2_SATA_SICR1_OFFSET = 128,\n\tK2_SATA_SICR2_OFFSET = 132,\n\tK2_SATA_SIM_OFFSET = 136,\n\tK2_SATA_PORT_OFFSET = 256,\n\tchip_svw4 = 0,\n\tchip_svw8 = 1,\n\tchip_svw42 = 2,\n\tchip_svw43 = 3,\n};\n\nenum {\n\tKBUF_MODE_EXPAND = 1,\n\tKBUF_MODE_FREE = 2,\n};\n\nenum {\n\tKERNEL_PARAM_FL_UNSAFE = 1,\n\tKERNEL_PARAM_FL_HWPARAM = 2,\n};\n\nenum {\n\tKERNEL_PARAM_OPS_FL_NOARG = 1,\n};\n\nenum {\n\tKF_ARG_DYNPTR_ID = 0,\n\tKF_ARG_LIST_HEAD_ID = 1,\n\tKF_ARG_LIST_NODE_ID = 2,\n\tKF_ARG_RB_ROOT_ID = 3,\n\tKF_ARG_RB_NODE_ID = 4,\n\tKF_ARG_WORKQUEUE_ID = 5,\n};\n\nenum {\n\tKTW_FREEZABLE = 1,\n};\n\nenum {\n\tKVMPPC_GSE_BE32 = 0,\n\tKVMPPC_GSE_BE64 = 1,\n\tKVMPPC_GSE_VEC128 = 2,\n\tKVMPPC_GSE_PARTITION_TABLE = 3,\n\tKVMPPC_GSE_PROCESS_TABLE = 4,\n\tKVMPPC_GSE_BUFFER = 5,\n\t__KVMPPC_GSE_TYPE_MAX = 6,\n};\n\nenum {\n\tKVMPPC_GS_CLASS_GUESTWIDE = 1,\n\tKVMPPC_GS_CLASS_META = 2,\n\tKVMPPC_GS_CLASS_DWORD_REG = 4,\n\tKVMPPC_GS_CLASS_WORD_REG = 8,\n\tKVMPPC_GS_CLASS_VECTOR = 16,\n\tKVMPPC_GS_CLASS_INTR = 32,\n};\n\nenum {\n\tKVMPPC_GS_FLAGS_WIDE = 1,\n};\n\nenum {\n\tKYBER_ASYNC_PERCENT = 75,\n};\n\nenum {\n\tKYBER_LATENCY_SHIFT = 2,\n\tKYBER_GOOD_BUCKETS = 4,\n\tKYBER_LATENCY_BUCKETS = 8,\n};\n\nenum {\n\tKYBER_READ = 0,\n\tKYBER_WRITE = 1,\n\tKYBER_DISCARD = 2,\n\tKYBER_OTHER = 3,\n\tKYBER_NUM_DOMAINS = 4,\n};\n\nenum {\n\tKYBER_TOTAL_LATENCY = 0,\n\tKYBER_IO_LATENCY = 1,\n};\n\nenum {\n\tLAST_NORM = 0,\n\tLAST_ROOT = 1,\n\tLAST_DOT = 2,\n\tLAST_DOTDOT = 3,\n};\n\nenum {\n\tLIBATA_MAX_PRD = 128,\n\tLIBATA_DUMB_MAX_PRD = 64,\n\tATA_DEF_QUEUE = 1,\n\tATA_MAX_QUEUE = 32,\n\tATA_TAG_INTERNAL = 32,\n\tATA_SHORT_PAUSE = 16,\n\tATAPI_MAX_DRAIN = 16384,\n\tATA_ALL_DEVICES = 3,\n\tATA_SHT_EMULATED = 1,\n\tATA_SHT_THIS_ID = -1,\n\tATA_TFLAG_LBA48 = 1,\n\tATA_TFLAG_ISADDR = 2,\n\tATA_TFLAG_DEVICE = 4,\n\tATA_TFLAG_WRITE = 8,\n\tATA_TFLAG_LBA = 16,\n\tATA_TFLAG_FUA = 32,\n\tATA_TFLAG_POLLING = 64,\n\tATA_DFLAG_LBA = 1,\n\tATA_DFLAG_LBA48 = 2,\n\tATA_DFLAG_CDB_INTR = 4,\n\tATA_DFLAG_NCQ = 8,\n\tATA_DFLAG_FLUSH_EXT = 16,\n\tATA_DFLAG_ACPI_PENDING = 32,\n\tATA_DFLAG_ACPI_FAILED = 64,\n\tATA_DFLAG_AN = 128,\n\tATA_DFLAG_TRUSTED = 256,\n\tATA_DFLAG_FUA = 512,\n\tATA_DFLAG_DMADIR = 1024,\n\tATA_DFLAG_NCQ_SEND_RECV = 2048,\n\tATA_DFLAG_NCQ_PRIO = 4096,\n\tATA_DFLAG_CDL = 8192,\n\tATA_DFLAG_CFG_MASK = 16383,\n\tATA_DFLAG_PIO = 16384,\n\tATA_DFLAG_NCQ_OFF = 32768,\n\tATA_DFLAG_SLEEPING = 65536,\n\tATA_DFLAG_DUBIOUS_XFER = 131072,\n\tATA_DFLAG_NO_UNLOAD = 262144,\n\tATA_DFLAG_UNLOCK_HPA = 524288,\n\tATA_DFLAG_INIT_MASK = 1048575,\n\tATA_DFLAG_NCQ_PRIO_ENABLED = 1048576,\n\tATA_DFLAG_CDL_ENABLED = 2097152,\n\tATA_DFLAG_RESUMING = 4194304,\n\tATA_DFLAG_DETACH = 16777216,\n\tATA_DFLAG_DETACHED = 33554432,\n\tATA_DFLAG_DA = 67108864,\n\tATA_DFLAG_DEVSLP = 134217728,\n\tATA_DFLAG_ACPI_DISABLED = 268435456,\n\tATA_DFLAG_D_SENSE = 536870912,\n\tATA_DFLAG_ZAC = 1073741824,\n\tATA_DFLAG_FEATURES_MASK = 201341696,\n\tATA_DEV_UNKNOWN = 0,\n\tATA_DEV_ATA = 1,\n\tATA_DEV_ATA_UNSUP = 2,\n\tATA_DEV_ATAPI = 3,\n\tATA_DEV_ATAPI_UNSUP = 4,\n\tATA_DEV_PMP = 5,\n\tATA_DEV_PMP_UNSUP = 6,\n\tATA_DEV_SEMB = 7,\n\tATA_DEV_SEMB_UNSUP = 8,\n\tATA_DEV_ZAC = 9,\n\tATA_DEV_ZAC_UNSUP = 10,\n\tATA_DEV_NONE = 11,\n\tATA_LFLAG_NO_HRST = 2,\n\tATA_LFLAG_NO_SRST = 4,\n\tATA_LFLAG_ASSUME_ATA = 8,\n\tATA_LFLAG_ASSUME_SEMB = 16,\n\tATA_LFLAG_ASSUME_CLASS = 24,\n\tATA_LFLAG_NO_RETRY = 32,\n\tATA_LFLAG_DISABLED = 64,\n\tATA_LFLAG_SW_ACTIVITY = 128,\n\tATA_LFLAG_NO_LPM = 256,\n\tATA_LFLAG_RST_ONCE = 512,\n\tATA_LFLAG_CHANGED = 1024,\n\tATA_LFLAG_NO_DEBOUNCE_DELAY = 2048,\n\tATA_FLAG_SLAVE_POSS = 1,\n\tATA_FLAG_SATA = 2,\n\tATA_FLAG_NO_LPM = 4,\n\tATA_FLAG_NO_LOG_PAGE = 32,\n\tATA_FLAG_NO_ATAPI = 64,\n\tATA_FLAG_PIO_DMA = 128,\n\tATA_FLAG_PIO_LBA48 = 256,\n\tATA_FLAG_PIO_POLLING = 512,\n\tATA_FLAG_NCQ = 1024,\n\tATA_FLAG_NO_POWEROFF_SPINDOWN = 2048,\n\tATA_FLAG_NO_HIBERNATE_SPINDOWN = 4096,\n\tATA_FLAG_DEBUGMSG = 8192,\n\tATA_FLAG_FPDMA_AA = 16384,\n\tATA_FLAG_IGN_SIMPLEX = 32768,\n\tATA_FLAG_NO_IORDY = 65536,\n\tATA_FLAG_ACPI_SATA = 131072,\n\tATA_FLAG_AN = 262144,\n\tATA_FLAG_PMP = 524288,\n\tATA_FLAG_FPDMA_AUX = 1048576,\n\tATA_FLAG_EM = 2097152,\n\tATA_FLAG_SW_ACTIVITY = 4194304,\n\tATA_FLAG_NO_DIPM = 8388608,\n\tATA_FLAG_SAS_HOST = 16777216,\n\tATA_PFLAG_EH_PENDING = 1,\n\tATA_PFLAG_EH_IN_PROGRESS = 2,\n\tATA_PFLAG_FROZEN = 4,\n\tATA_PFLAG_RECOVERED = 8,\n\tATA_PFLAG_LOADING = 16,\n\tATA_PFLAG_SCSI_HOTPLUG = 64,\n\tATA_PFLAG_INITIALIZING = 128,\n\tATA_PFLAG_RESETTING = 256,\n\tATA_PFLAG_UNLOADING = 512,\n\tATA_PFLAG_UNLOADED = 1024,\n\tATA_PFLAG_RESUMING = 65536,\n\tATA_PFLAG_SUSPENDED = 131072,\n\tATA_PFLAG_PM_PENDING = 262144,\n\tATA_PFLAG_INIT_GTM_VALID = 524288,\n\tATA_PFLAG_PIO32 = 1048576,\n\tATA_PFLAG_PIO32CHANGE = 2097152,\n\tATA_PFLAG_EXTERNAL = 4194304,\n\tATA_QCFLAG_ACTIVE = 1,\n\tATA_QCFLAG_DMAMAP = 2,\n\tATA_QCFLAG_RTF_FILLED = 4,\n\tATA_QCFLAG_IO = 8,\n\tATA_QCFLAG_RESULT_TF = 16,\n\tATA_QCFLAG_CLEAR_EXCL = 32,\n\tATA_QCFLAG_QUIET = 64,\n\tATA_QCFLAG_RETRY = 128,\n\tATA_QCFLAG_HAS_CDL = 256,\n\tATA_QCFLAG_EH = 65536,\n\tATA_QCFLAG_SENSE_VALID = 131072,\n\tATA_QCFLAG_EH_SCHEDULED = 262144,\n\tATA_QCFLAG_EH_SUCCESS_CMD = 524288,\n\tATA_HOST_SIMPLEX = 1,\n\tATA_HOST_STARTED = 2,\n\tATA_HOST_PARALLEL_SCAN = 4,\n\tATA_HOST_IGNORE_ATA = 8,\n\tATA_HOST_NO_PART = 16,\n\tATA_HOST_NO_SSC = 32,\n\tATA_HOST_NO_DEVSLP = 64,\n\tATA_TMOUT_INTERNAL_QUICK = 5000,\n\tATA_TMOUT_MAX_PARK = 30000,\n\tATA_TMOUT_FF_WAIT_LONG = 2000,\n\tATA_TMOUT_FF_WAIT = 800,\n\tATA_WAIT_AFTER_RESET = 150,\n\tATA_TMOUT_PMP_SRST_WAIT = 10000,\n\tATA_TMOUT_SPURIOUS_PHY = 10000,\n\tBUS_UNKNOWN = 0,\n\tBUS_DMA = 1,\n\tBUS_IDLE = 2,\n\tBUS_NOINTR = 3,\n\tBUS_NODATA = 4,\n\tBUS_TIMER = 5,\n\tBUS_PIO = 6,\n\tBUS_EDD = 7,\n\tBUS_IDENTIFY = 8,\n\tBUS_PACKET = 9,\n\tPORT_UNKNOWN = 0,\n\tPORT_ENABLED = 1,\n\tPORT_DISABLED = 2,\n\tATA_NR_PIO_MODES = 7,\n\tATA_NR_MWDMA_MODES = 5,\n\tATA_NR_UDMA_MODES = 8,\n\tATA_SHIFT_PIO = 0,\n\tATA_SHIFT_MWDMA = 7,\n\tATA_SHIFT_UDMA = 12,\n\tATA_SHIFT_PRIO = 6,\n\tATA_PRIO_HIGH = 2,\n\tATA_DMA_PAD_SZ = 4,\n\tATA_ERING_SIZE = 32,\n\tATA_DEFER_LINK = 1,\n\tATA_DEFER_PORT = 2,\n\tATA_EH_DESC_LEN = 80,\n\tATA_EH_REVALIDATE = 1,\n\tATA_EH_SOFTRESET = 2,\n\tATA_EH_HARDRESET = 4,\n\tATA_EH_RESET = 6,\n\tATA_EH_ENABLE_LINK = 8,\n\tATA_EH_PARK = 32,\n\tATA_EH_GET_SUCCESS_SENSE = 64,\n\tATA_EH_SET_ACTIVE = 128,\n\tATA_EH_PERDEV_MASK = 225,\n\tATA_EH_ALL_ACTIONS = 15,\n\tATA_EHI_HOTPLUGGED = 1,\n\tATA_EHI_NO_AUTOPSY = 4,\n\tATA_EHI_QUIET = 8,\n\tATA_EHI_NO_RECOVERY = 16,\n\tATA_EHI_DID_SOFTRESET = 65536,\n\tATA_EHI_DID_HARDRESET = 131072,\n\tATA_EHI_PRINTINFO = 262144,\n\tATA_EHI_SETMODE = 524288,\n\tATA_EHI_POST_SETMODE = 1048576,\n\tATA_EHI_DID_PRINT_QUIRKS = 2097152,\n\tATA_EHI_DID_RESET = 196608,\n\tATA_EHI_TO_SLAVE_MASK = 12,\n\tATA_EH_MAX_TRIES = 5,\n\tATA_LINK_RESUME_TRIES = 5,\n\tATA_EH_DEV_TRIES = 3,\n\tATA_EH_PMP_TRIES = 5,\n\tATA_EH_PMP_LINK_TRIES = 3,\n\tSATA_PMP_RW_TIMEOUT = 3000,\n\tATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8,\n\tATA_QUIRK_DIAGNOSTIC = 1,\n\tATA_QUIRK_NODMA = 2,\n\tATA_QUIRK_NONCQ = 4,\n\tATA_QUIRK_MAX_SEC_128 = 8,\n\tATA_QUIRK_BROKEN_HPA = 16,\n\tATA_QUIRK_DISABLE = 32,\n\tATA_QUIRK_HPA_SIZE = 64,\n\tATA_QUIRK_IVB = 128,\n\tATA_QUIRK_STUCK_ERR = 256,\n\tATA_QUIRK_BRIDGE_OK = 512,\n\tATA_QUIRK_ATAPI_MOD16_DMA = 1024,\n\tATA_QUIRK_FIRMWARE_WARN = 2048,\n\tATA_QUIRK_1_5_GBPS = 4096,\n\tATA_QUIRK_NOSETXFER = 8192,\n\tATA_QUIRK_BROKEN_FPDMA_AA = 16384,\n\tATA_QUIRK_DUMP_ID = 32768,\n\tATA_QUIRK_MAX_SEC_LBA48 = 65536,\n\tATA_QUIRK_ATAPI_DMADIR = 131072,\n\tATA_QUIRK_NO_NCQ_TRIM = 262144,\n\tATA_QUIRK_NOLPM = 524288,\n\tATA_QUIRK_WD_BROKEN_LPM = 1048576,\n\tATA_QUIRK_ZERO_AFTER_TRIM = 2097152,\n\tATA_QUIRK_NO_DMA_LOG = 4194304,\n\tATA_QUIRK_NOTRIM = 8388608,\n\tATA_QUIRK_MAX_SEC_1024 = 16777216,\n\tATA_QUIRK_MAX_TRIM_128M = 33554432,\n\tATA_QUIRK_NO_NCQ_ON_ATI = 67108864,\n\tATA_QUIRK_NO_LPM_ON_ATI = 134217728,\n\tATA_QUIRK_NO_ID_DEV_LOG = 268435456,\n\tATA_QUIRK_NO_LOG_DIR = 536870912,\n\tATA_QUIRK_NO_FUA = 1073741824,\n\tATA_DMA_MASK_ATA = 1,\n\tATA_DMA_MASK_ATAPI = 2,\n\tATA_DMA_MASK_CFA = 4,\n\tATAPI_READ = 0,\n\tATAPI_WRITE = 1,\n\tATAPI_READ_CD = 2,\n\tATAPI_PASS_THRU = 3,\n\tATAPI_MISC = 4,\n\tATA_TIMING_SETUP = 1,\n\tATA_TIMING_ACT8B = 2,\n\tATA_TIMING_REC8B = 4,\n\tATA_TIMING_CYC8B = 8,\n\tATA_TIMING_8BIT = 14,\n\tATA_TIMING_ACTIVE = 16,\n\tATA_TIMING_RECOVER = 32,\n\tATA_TIMING_DMACK_HOLD = 64,\n\tATA_TIMING_CYCLE = 128,\n\tATA_TIMING_UDMA = 256,\n\tATA_TIMING_ALL = 511,\n\tATA_ACPI_FILTER_SETXFER = 1,\n\tATA_ACPI_FILTER_LOCK = 2,\n\tATA_ACPI_FILTER_DIPM = 4,\n\tATA_ACPI_FILTER_FPDMA_OFFSET = 8,\n\tATA_ACPI_FILTER_FPDMA_AA = 16,\n\tATA_ACPI_FILTER_DEFAULT = 7,\n};\n\nenum {\n\tLINUX_MIB_NUM = 0,\n\tLINUX_MIB_SYNCOOKIESSENT = 1,\n\tLINUX_MIB_SYNCOOKIESRECV = 2,\n\tLINUX_MIB_SYNCOOKIESFAILED = 3,\n\tLINUX_MIB_EMBRYONICRSTS = 4,\n\tLINUX_MIB_PRUNECALLED = 5,\n\tLINUX_MIB_RCVPRUNED = 6,\n\tLINUX_MIB_OFOPRUNED = 7,\n\tLINUX_MIB_OUTOFWINDOWICMPS = 8,\n\tLINUX_MIB_LOCKDROPPEDICMPS = 9,\n\tLINUX_MIB_ARPFILTER = 10,\n\tLINUX_MIB_TIMEWAITED = 11,\n\tLINUX_MIB_TIMEWAITRECYCLED = 12,\n\tLINUX_MIB_TIMEWAITKILLED = 13,\n\tLINUX_MIB_PAWSACTIVEREJECTED = 14,\n\tLINUX_MIB_PAWSESTABREJECTED = 15,\n\tLINUX_MIB_PAWS_OLD_ACK = 16,\n\tLINUX_MIB_DELAYEDACKS = 17,\n\tLINUX_MIB_DELAYEDACKLOCKED = 18,\n\tLINUX_MIB_DELAYEDACKLOST = 19,\n\tLINUX_MIB_LISTENOVERFLOWS = 20,\n\tLINUX_MIB_LISTENDROPS = 21,\n\tLINUX_MIB_TCPHPHITS = 22,\n\tLINUX_MIB_TCPPUREACKS = 23,\n\tLINUX_MIB_TCPHPACKS = 24,\n\tLINUX_MIB_TCPRENORECOVERY = 25,\n\tLINUX_MIB_TCPSACKRECOVERY = 26,\n\tLINUX_MIB_TCPSACKRENEGING = 27,\n\tLINUX_MIB_TCPSACKREORDER = 28,\n\tLINUX_MIB_TCPRENOREORDER = 29,\n\tLINUX_MIB_TCPTSREORDER = 30,\n\tLINUX_MIB_TCPFULLUNDO = 31,\n\tLINUX_MIB_TCPPARTIALUNDO = 32,\n\tLINUX_MIB_TCPDSACKUNDO = 33,\n\tLINUX_MIB_TCPLOSSUNDO = 34,\n\tLINUX_MIB_TCPLOSTRETRANSMIT = 35,\n\tLINUX_MIB_TCPRENOFAILURES = 36,\n\tLINUX_MIB_TCPSACKFAILURES = 37,\n\tLINUX_MIB_TCPLOSSFAILURES = 38,\n\tLINUX_MIB_TCPFASTRETRANS = 39,\n\tLINUX_MIB_TCPSLOWSTARTRETRANS = 40,\n\tLINUX_MIB_TCPTIMEOUTS = 41,\n\tLINUX_MIB_TCPLOSSPROBES = 42,\n\tLINUX_MIB_TCPLOSSPROBERECOVERY = 43,\n\tLINUX_MIB_TCPRENORECOVERYFAIL = 44,\n\tLINUX_MIB_TCPSACKRECOVERYFAIL = 45,\n\tLINUX_MIB_TCPRCVCOLLAPSED = 46,\n\tLINUX_MIB_TCPDSACKOLDSENT = 47,\n\tLINUX_MIB_TCPDSACKOFOSENT = 48,\n\tLINUX_MIB_TCPDSACKRECV = 49,\n\tLINUX_MIB_TCPDSACKOFORECV = 50,\n\tLINUX_MIB_TCPABORTONDATA = 51,\n\tLINUX_MIB_TCPABORTONCLOSE = 52,\n\tLINUX_MIB_TCPABORTONMEMORY = 53,\n\tLINUX_MIB_TCPABORTONTIMEOUT = 54,\n\tLINUX_MIB_TCPABORTONLINGER = 55,\n\tLINUX_MIB_TCPABORTFAILED = 56,\n\tLINUX_MIB_TCPMEMORYPRESSURES = 57,\n\tLINUX_MIB_TCPMEMORYPRESSURESCHRONO = 58,\n\tLINUX_MIB_TCPSACKDISCARD = 59,\n\tLINUX_MIB_TCPDSACKIGNOREDOLD = 60,\n\tLINUX_MIB_TCPDSACKIGNOREDNOUNDO = 61,\n\tLINUX_MIB_TCPSPURIOUSRTOS = 62,\n\tLINUX_MIB_TCPMD5NOTFOUND = 63,\n\tLINUX_MIB_TCPMD5UNEXPECTED = 64,\n\tLINUX_MIB_TCPMD5FAILURE = 65,\n\tLINUX_MIB_SACKSHIFTED = 66,\n\tLINUX_MIB_SACKMERGED = 67,\n\tLINUX_MIB_SACKSHIFTFALLBACK = 68,\n\tLINUX_MIB_TCPBACKLOGDROP = 69,\n\tLINUX_MIB_PFMEMALLOCDROP = 70,\n\tLINUX_MIB_TCPMINTTLDROP = 71,\n\tLINUX_MIB_TCPDEFERACCEPTDROP = 72,\n\tLINUX_MIB_IPRPFILTER = 73,\n\tLINUX_MIB_TCPTIMEWAITOVERFLOW = 74,\n\tLINUX_MIB_TCPREQQFULLDOCOOKIES = 75,\n\tLINUX_MIB_TCPREQQFULLDROP = 76,\n\tLINUX_MIB_TCPRETRANSFAIL = 77,\n\tLINUX_MIB_TCPRCVCOALESCE = 78,\n\tLINUX_MIB_TCPBACKLOGCOALESCE = 79,\n\tLINUX_MIB_TCPOFOQUEUE = 80,\n\tLINUX_MIB_TCPOFODROP = 81,\n\tLINUX_MIB_TCPOFOMERGE = 82,\n\tLINUX_MIB_TCPCHALLENGEACK = 83,\n\tLINUX_MIB_TCPSYNCHALLENGE = 84,\n\tLINUX_MIB_TCPFASTOPENACTIVE = 85,\n\tLINUX_MIB_TCPFASTOPENACTIVEFAIL = 86,\n\tLINUX_MIB_TCPFASTOPENPASSIVE = 87,\n\tLINUX_MIB_TCPFASTOPENPASSIVEFAIL = 88,\n\tLINUX_MIB_TCPFASTOPENLISTENOVERFLOW = 89,\n\tLINUX_MIB_TCPFASTOPENCOOKIEREQD = 90,\n\tLINUX_MIB_TCPFASTOPENBLACKHOLE = 91,\n\tLINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES = 92,\n\tLINUX_MIB_BUSYPOLLRXPACKETS = 93,\n\tLINUX_MIB_TCPAUTOCORKING = 94,\n\tLINUX_MIB_TCPFROMZEROWINDOWADV = 95,\n\tLINUX_MIB_TCPTOZEROWINDOWADV = 96,\n\tLINUX_MIB_TCPWANTZEROWINDOWADV = 97,\n\tLINUX_MIB_TCPSYNRETRANS = 98,\n\tLINUX_MIB_TCPORIGDATASENT = 99,\n\tLINUX_MIB_TCPHYSTARTTRAINDETECT = 100,\n\tLINUX_MIB_TCPHYSTARTTRAINCWND = 101,\n\tLINUX_MIB_TCPHYSTARTDELAYDETECT = 102,\n\tLINUX_MIB_TCPHYSTARTDELAYCWND = 103,\n\tLINUX_MIB_TCPACKSKIPPEDSYNRECV = 104,\n\tLINUX_MIB_TCPACKSKIPPEDPAWS = 105,\n\tLINUX_MIB_TCPACKSKIPPEDSEQ = 106,\n\tLINUX_MIB_TCPACKSKIPPEDFINWAIT2 = 107,\n\tLINUX_MIB_TCPACKSKIPPEDTIMEWAIT = 108,\n\tLINUX_MIB_TCPACKSKIPPEDCHALLENGE = 109,\n\tLINUX_MIB_TCPWINPROBE = 110,\n\tLINUX_MIB_TCPKEEPALIVE = 111,\n\tLINUX_MIB_TCPMTUPFAIL = 112,\n\tLINUX_MIB_TCPMTUPSUCCESS = 113,\n\tLINUX_MIB_TCPDELIVERED = 114,\n\tLINUX_MIB_TCPDELIVEREDCE = 115,\n\tLINUX_MIB_TCPACKCOMPRESSED = 116,\n\tLINUX_MIB_TCPZEROWINDOWDROP = 117,\n\tLINUX_MIB_TCPRCVQDROP = 118,\n\tLINUX_MIB_TCPWQUEUETOOBIG = 119,\n\tLINUX_MIB_TCPFASTOPENPASSIVEALTKEY = 120,\n\tLINUX_MIB_TCPTIMEOUTREHASH = 121,\n\tLINUX_MIB_TCPDUPLICATEDATAREHASH = 122,\n\tLINUX_MIB_TCPDSACKRECVSEGS = 123,\n\tLINUX_MIB_TCPDSACKIGNOREDDUBIOUS = 124,\n\tLINUX_MIB_TCPMIGRATEREQSUCCESS = 125,\n\tLINUX_MIB_TCPMIGRATEREQFAILURE = 126,\n\tLINUX_MIB_TCPPLBREHASH = 127,\n\tLINUX_MIB_TCPAOREQUIRED = 128,\n\tLINUX_MIB_TCPAOBAD = 129,\n\tLINUX_MIB_TCPAOKEYNOTFOUND = 130,\n\tLINUX_MIB_TCPAOGOOD = 131,\n\tLINUX_MIB_TCPAODROPPEDICMPS = 132,\n\t__LINUX_MIB_MAX = 133,\n};\n\nenum {\n\tLINUX_MIB_TLSNUM = 0,\n\tLINUX_MIB_TLSCURRTXSW = 1,\n\tLINUX_MIB_TLSCURRRXSW = 2,\n\tLINUX_MIB_TLSCURRTXDEVICE = 3,\n\tLINUX_MIB_TLSCURRRXDEVICE = 4,\n\tLINUX_MIB_TLSTXSW = 5,\n\tLINUX_MIB_TLSRXSW = 6,\n\tLINUX_MIB_TLSTXDEVICE = 7,\n\tLINUX_MIB_TLSRXDEVICE = 8,\n\tLINUX_MIB_TLSDECRYPTERROR = 9,\n\tLINUX_MIB_TLSRXDEVICERESYNC = 10,\n\tLINUX_MIB_TLSDECRYPTRETRY = 11,\n\tLINUX_MIB_TLSRXNOPADVIOL = 12,\n\tLINUX_MIB_TLSRXREKEYOK = 13,\n\tLINUX_MIB_TLSRXREKEYERROR = 14,\n\tLINUX_MIB_TLSTXREKEYOK = 15,\n\tLINUX_MIB_TLSTXREKEYERROR = 16,\n\tLINUX_MIB_TLSRXREKEYRECEIVED = 17,\n\t__LINUX_MIB_TLSMAX = 18,\n};\n\nenum {\n\tLINUX_MIB_XFRMNUM = 0,\n\tLINUX_MIB_XFRMINERROR = 1,\n\tLINUX_MIB_XFRMINBUFFERERROR = 2,\n\tLINUX_MIB_XFRMINHDRERROR = 3,\n\tLINUX_MIB_XFRMINNOSTATES = 4,\n\tLINUX_MIB_XFRMINSTATEPROTOERROR = 5,\n\tLINUX_MIB_XFRMINSTATEMODEERROR = 6,\n\tLINUX_MIB_XFRMINSTATESEQERROR = 7,\n\tLINUX_MIB_XFRMINSTATEEXPIRED = 8,\n\tLINUX_MIB_XFRMINSTATEMISMATCH = 9,\n\tLINUX_MIB_XFRMINSTATEINVALID = 10,\n\tLINUX_MIB_XFRMINTMPLMISMATCH = 11,\n\tLINUX_MIB_XFRMINNOPOLS = 12,\n\tLINUX_MIB_XFRMINPOLBLOCK = 13,\n\tLINUX_MIB_XFRMINPOLERROR = 14,\n\tLINUX_MIB_XFRMOUTERROR = 15,\n\tLINUX_MIB_XFRMOUTBUNDLEGENERROR = 16,\n\tLINUX_MIB_XFRMOUTBUNDLECHECKERROR = 17,\n\tLINUX_MIB_XFRMOUTNOSTATES = 18,\n\tLINUX_MIB_XFRMOUTSTATEPROTOERROR = 19,\n\tLINUX_MIB_XFRMOUTSTATEMODEERROR = 20,\n\tLINUX_MIB_XFRMOUTSTATESEQERROR = 21,\n\tLINUX_MIB_XFRMOUTSTATEEXPIRED = 22,\n\tLINUX_MIB_XFRMOUTPOLBLOCK = 23,\n\tLINUX_MIB_XFRMOUTPOLDEAD = 24,\n\tLINUX_MIB_XFRMOUTPOLERROR = 25,\n\tLINUX_MIB_XFRMFWDHDRERROR = 26,\n\tLINUX_MIB_XFRMOUTSTATEINVALID = 27,\n\tLINUX_MIB_XFRMACQUIREERROR = 28,\n\tLINUX_MIB_XFRMOUTSTATEDIRERROR = 29,\n\tLINUX_MIB_XFRMINSTATEDIRERROR = 30,\n\tLINUX_MIB_XFRMINIPTFSERROR = 31,\n\tLINUX_MIB_XFRMOUTNOQSPACE = 32,\n\t__LINUX_MIB_XFRMMAX = 33,\n};\n\nenum {\n\tLK_STATE_IN_USE = 0,\n\tNFS_DELEGATED_STATE = 1,\n\tNFS_OPEN_STATE = 2,\n\tNFS_O_RDONLY_STATE = 3,\n\tNFS_O_WRONLY_STATE = 4,\n\tNFS_O_RDWR_STATE = 5,\n\tNFS_STATE_RECLAIM_REBOOT = 6,\n\tNFS_STATE_RECLAIM_NOGRACE = 7,\n\tNFS_STATE_POSIX_LOCKS = 8,\n\tNFS_STATE_RECOVERY_FAILED = 9,\n\tNFS_STATE_MAY_NOTIFY_LOCK = 10,\n\tNFS_STATE_CHANGE_WAIT = 11,\n\tNFS_CLNT_DST_SSC_COPY_STATE = 12,\n\tNFS_CLNT_SRC_SSC_COPY_STATE = 13,\n\tNFS_SRV_SSC_COPY_STATE = 14,\n};\n\nenum {\n\tLOGIC_PIO_INDIRECT = 0,\n\tLOGIC_PIO_CPU_MMIO = 1,\n};\n\nenum {\n\tLO_FLAGS_READ_ONLY = 1,\n\tLO_FLAGS_AUTOCLEAR = 4,\n\tLO_FLAGS_PARTSCAN = 8,\n\tLO_FLAGS_DIRECT_IO = 16,\n};\n\nenum {\n\tLWTUNNEL_IP_OPTS_UNSPEC = 0,\n\tLWTUNNEL_IP_OPTS_GENEVE = 1,\n\tLWTUNNEL_IP_OPTS_VXLAN = 2,\n\tLWTUNNEL_IP_OPTS_ERSPAN = 3,\n\t__LWTUNNEL_IP_OPTS_MAX = 4,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_ERSPAN_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_ERSPAN_VER = 1,\n\tLWTUNNEL_IP_OPT_ERSPAN_INDEX = 2,\n\tLWTUNNEL_IP_OPT_ERSPAN_DIR = 3,\n\tLWTUNNEL_IP_OPT_ERSPAN_HWID = 4,\n\t__LWTUNNEL_IP_OPT_ERSPAN_MAX = 5,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_GENEVE_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_GENEVE_CLASS = 1,\n\tLWTUNNEL_IP_OPT_GENEVE_TYPE = 2,\n\tLWTUNNEL_IP_OPT_GENEVE_DATA = 3,\n\t__LWTUNNEL_IP_OPT_GENEVE_MAX = 4,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_VXLAN_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_VXLAN_GBP = 1,\n\t__LWTUNNEL_IP_OPT_VXLAN_MAX = 2,\n};\n\nenum {\n\tLWTUNNEL_XMIT_DONE = 0,\n\tLWTUNNEL_XMIT_CONTINUE = 256,\n};\n\nenum {\n\tLo_unbound = 0,\n\tLo_bound = 1,\n\tLo_rundown = 2,\n\tLo_deleting = 3,\n};\n\nenum {\n\tM88E3082_VCT_OFF = 0,\n\tM88E3082_VCT_PHASE1 = 1,\n\tM88E3082_VCT_PHASE2 = 2,\n};\n\nenum {\n\tMAGNITUDE_STRONG = 2,\n\tMAGNITUDE_WEAK = 3,\n\tMAGNITUDE_NUM = 4,\n};\n\nenum {\n\tMAX_IORES_LEVEL = 5,\n};\n\nenum {\n\tMAX_OPT_ARGS = 3,\n};\n\nenum {\n\tMBE_REFERENCED_B = 0,\n\tMBE_REUSABLE_B = 1,\n};\n\nenum {\n\tMB_INODE_PA = 0,\n\tMB_GROUP_PA = 1,\n};\n\nenum {\n\tMDBA_GET_ENTRY_UNSPEC = 0,\n\tMDBA_GET_ENTRY = 1,\n\tMDBA_GET_ENTRY_ATTRS = 2,\n\t__MDBA_GET_ENTRY_MAX = 3,\n};\n\nenum {\n\tMDBA_SET_ENTRY_UNSPEC = 0,\n\tMDBA_SET_ENTRY = 1,\n\tMDBA_SET_ENTRY_ATTRS = 2,\n\t__MDBA_SET_ENTRY_MAX = 3,\n};\n\nenum {\n\tMD_RESYNC_NONE = 0,\n\tMD_RESYNC_YIELDED = 1,\n\tMD_RESYNC_DELAYED = 2,\n\tMD_RESYNC_ACTIVE = 3,\n};\n\nenum {\n\tMED_R_CNT = 10,\n};\n\nenum {\n\tMED_R_DUR = 12,\n};\n\nenum {\n\tMED_W_CNT = 11,\n};\n\nenum {\n\tMED_W_DUR = 13,\n};\n\nenum {\n\tMEMBARRIER_FLAG_SYNC_CORE = 1,\n\tMEMBARRIER_FLAG_RSEQ = 2,\n};\n\nenum {\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_READY = 1,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED = 2,\n\tMEMBARRIER_STATE_GLOBAL_EXPEDITED_READY = 4,\n\tMEMBARRIER_STATE_GLOBAL_EXPEDITED = 8,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE_READY = 16,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE = 32,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ_READY = 64,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ = 128,\n};\n\nenum {\n\tMEMMAP_ON_MEMORY_DISABLE = 0,\n\tMEMMAP_ON_MEMORY_ENABLE = 1,\n\tMEMMAP_ON_MEMORY_FORCE = 2,\n};\n\nenum {\n\tMEMORY_RECLAIM_SWAPPINESS = 0,\n\tMEMORY_RECLAIM_NULL = 1,\n};\n\nenum {\n\tMEMREMAP_WB = 1,\n\tMEMREMAP_WT = 2,\n\tMEMREMAP_WC = 4,\n\tMEMREMAP_ENC = 8,\n\tMEMREMAP_DEC = 16,\n};\n\nenum {\n\tMEM_LIFE = 4,\n};\n\nenum {\n\tMEM_LOADS = 228505944544ULL,\n};\n\nenum {\n\tMEM_STORES = 228640162272ULL,\n};\n\nenum {\n\tMIX_INFLIGHT = 2147483648,\n};\n\nenum {\n\tMMOP_OFFLINE = 0,\n\tMMOP_ONLINE = 1,\n\tMMOP_ONLINE_KERNEL = 2,\n\tMMOP_ONLINE_MOVABLE = 3,\n};\n\nenum {\n\tMMU_FTRS_POSSIBLE = 4261477953,\n};\n\nenum {\n\tMM_FILEPAGES = 0,\n\tMM_ANONPAGES = 1,\n\tMM_SWAPENTS = 2,\n\tMM_SHMEMPAGES = 3,\n\tNR_MM_COUNTERS = 4,\n};\n\nenum {\n\tMOUNTPROC3_NULL = 0,\n\tMOUNTPROC3_MNT = 1,\n\tMOUNTPROC3_DUMP = 2,\n\tMOUNTPROC3_UMNT = 3,\n\tMOUNTPROC3_UMNTALL = 4,\n\tMOUNTPROC3_EXPORT = 5,\n};\n\nenum {\n\tMOUNTPROC_NULL = 0,\n\tMOUNTPROC_MNT = 1,\n\tMOUNTPROC_DUMP = 2,\n\tMOUNTPROC_UMNT = 3,\n\tMOUNTPROC_UMNTALL = 4,\n\tMOUNTPROC_EXPORT = 5,\n};\n\nenum {\n\tMOXA_SUPP_RS232 = 1,\n\tMOXA_SUPP_RS422 = 2,\n\tMOXA_SUPP_RS485 = 4,\n};\n\nenum {\n\tMPOL_DEFAULT = 0,\n\tMPOL_PREFERRED = 1,\n\tMPOL_BIND = 2,\n\tMPOL_INTERLEAVE = 3,\n\tMPOL_LOCAL = 4,\n\tMPOL_PREFERRED_MANY = 5,\n\tMPOL_WEIGHTED_INTERLEAVE = 6,\n\tMPOL_MAX = 7,\n};\n\nenum {\n\tMSI_FLAG_USE_DEF_DOM_OPS = 1,\n\tMSI_FLAG_USE_DEF_CHIP_OPS = 2,\n\tMSI_FLAG_ACTIVATE_EARLY = 4,\n\tMSI_FLAG_MUST_REACTIVATE = 8,\n\tMSI_FLAG_DEV_SYSFS = 16,\n\tMSI_FLAG_ALLOC_SIMPLE_MSI_DESCS = 32,\n\tMSI_FLAG_FREE_MSI_DESCS = 64,\n\tMSI_FLAG_USE_DEV_FWNODE = 128,\n\tMSI_FLAG_PARENT_PM_DEV = 256,\n\tMSI_FLAG_PCI_MSI_MASK_PARENT = 512,\n\tMSI_GENERIC_FLAGS_MASK = 65535,\n\tMSI_DOMAIN_FLAGS_MASK = 4294901760,\n\tMSI_FLAG_MULTI_PCI_MSI = 65536,\n\tMSI_FLAG_PCI_MSIX = 131072,\n\tMSI_FLAG_LEVEL_CAPABLE = 262144,\n\tMSI_FLAG_MSIX_CONTIGUOUS = 524288,\n\tMSI_FLAG_PCI_MSIX_ALLOC_DYN = 1048576,\n\tMSI_FLAG_NO_AFFINITY = 2097152,\n};\n\nenum {\n\tMV_DMA_BOUNDARY = 65535,\n\tEDMA_REQ_Q_BASE_LO_MASK = 4294966272,\n\tEDMA_RSP_Q_BASE_LO_MASK = 4294967040,\n};\n\nenum {\n\tMV_PRIMARY_BAR = 0,\n\tMV_IO_BAR = 2,\n\tMV_MISC_BAR = 3,\n\tMV_MAJOR_REG_AREA_SZ = 65536,\n\tMV_MINOR_REG_AREA_SZ = 8192,\n\tCOAL_CLOCKS_PER_USEC = 150,\n\tMAX_COAL_TIME_THRESHOLD = 16777215,\n\tMAX_COAL_IO_COUNT = 255,\n\tMV_PCI_REG_BASE = 0,\n\tCOAL_REG_BASE = 98304,\n\tIRQ_COAL_CAUSE = 98312,\n\tALL_PORTS_COAL_IRQ = 16,\n\tIRQ_COAL_IO_THRESHOLD = 98508,\n\tIRQ_COAL_TIME_THRESHOLD = 98512,\n\tTRAN_COAL_CAUSE_LO = 98440,\n\tTRAN_COAL_CAUSE_HI = 98444,\n\tSATAHC0_REG_BASE = 131072,\n\tFLASH_CTL = 66668,\n\tGPIO_PORT_CTL = 66800,\n\tRESET_CFG = 98520,\n\tMV_PCI_REG_SZ = 65536,\n\tMV_SATAHC_REG_SZ = 65536,\n\tMV_SATAHC_ARBTR_REG_SZ = 8192,\n\tMV_PORT_REG_SZ = 8192,\n\tMV_MAX_Q_DEPTH = 32,\n\tMV_MAX_Q_DEPTH_MASK = 31,\n\tMV_CRQB_Q_SZ = 1024,\n\tMV_CRPB_Q_SZ = 256,\n\tMV_MAX_SG_CT = 256,\n\tMV_SG_TBL_SZ = 4096,\n\tMV_PORT_HC_SHIFT = 2,\n\tMV_PORTS_PER_HC = 4,\n\tMV_PORT_MASK = 3,\n\tMV_FLAG_DUAL_HC = 1073741824,\n\tMV_COMMON_FLAGS = 514,\n\tMV_GEN_I_FLAGS = 578,\n\tMV_GEN_II_FLAGS = 656898,\n\tMV_GEN_IIE_FLAGS = 919042,\n\tCRQB_FLAG_READ = 1,\n\tCRQB_TAG_SHIFT = 1,\n\tCRQB_IOID_SHIFT = 6,\n\tCRQB_PMP_SHIFT = 12,\n\tCRQB_HOSTQ_SHIFT = 17,\n\tCRQB_CMD_ADDR_SHIFT = 8,\n\tCRQB_CMD_CS = 4096,\n\tCRQB_CMD_LAST = 32768,\n\tCRPB_FLAG_STATUS_SHIFT = 8,\n\tCRPB_IOID_SHIFT_6 = 5,\n\tCRPB_IOID_SHIFT_7 = 7,\n\tEPRD_FLAG_END_OF_TBL = -2147483648,\n\tMV_PCI_COMMAND = 3072,\n\tMV_PCI_COMMAND_MWRCOM = 16,\n\tMV_PCI_COMMAND_MRDTRIG = 128,\n\tPCI_MAIN_CMD_STS = 3376,\n\tSTOP_PCI_MASTER = 4,\n\tPCI_MASTER_EMPTY = 8,\n\tGLOB_SFT_RST = 16,\n\tMV_PCI_MODE = 3328,\n\tMV_PCI_MODE_MASK = 48,\n\tMV_PCI_EXP_ROM_BAR_CTL = 3372,\n\tMV_PCI_DISC_TIMER = 3332,\n\tMV_PCI_MSI_TRIGGER = 3128,\n\tMV_PCI_SERR_MASK = 3112,\n\tMV_PCI_XBAR_TMOUT = 7428,\n\tMV_PCI_ERR_LOW_ADDRESS = 7488,\n\tMV_PCI_ERR_HIGH_ADDRESS = 7492,\n\tMV_PCI_ERR_ATTRIBUTE = 7496,\n\tMV_PCI_ERR_COMMAND = 7504,\n\tPCI_IRQ_CAUSE = 7512,\n\tPCI_IRQ_MASK = 7516,\n\tPCI_UNMASK_ALL_IRQS = 8388607,\n\tPCIE_IRQ_CAUSE = 6400,\n\tPCIE_IRQ_MASK = 6416,\n\tPCIE_UNMASK_ALL_IRQS = 1034,\n\tPCI_HC_MAIN_IRQ_CAUSE = 7520,\n\tPCI_HC_MAIN_IRQ_MASK = 7524,\n\tSOC_HC_MAIN_IRQ_CAUSE = 131104,\n\tSOC_HC_MAIN_IRQ_MASK = 131108,\n\tERR_IRQ = 1,\n\tDONE_IRQ = 2,\n\tHC0_IRQ_PEND = 511,\n\tHC_SHIFT = 9,\n\tDONE_IRQ_0_3 = 170,\n\tDONE_IRQ_4_7 = 87040,\n\tPCI_ERR = 262144,\n\tTRAN_COAL_LO_DONE = 524288,\n\tTRAN_COAL_HI_DONE = 1048576,\n\tPORTS_0_3_COAL_DONE = 256,\n\tPORTS_4_7_COAL_DONE = 131072,\n\tALL_PORTS_COAL_DONE = 2097152,\n\tGPIO_INT = 4194304,\n\tSELF_INT = 8388608,\n\tTWSI_INT = 16777216,\n\tHC_MAIN_RSVD = -33554432,\n\tHC_MAIN_RSVD_5 = -524288,\n\tHC_MAIN_RSVD_SOC = -320,\n\tHC_CFG = 0,\n\tHC_IRQ_CAUSE = 20,\n\tDMA_IRQ = 1,\n\tHC_COAL_IRQ = 16,\n\tDEV_IRQ = 256,\n\tHC_IRQ_COAL_IO_THRESHOLD = 12,\n\tHC_IRQ_COAL_TIME_THRESHOLD = 16,\n\tSOC_LED_CTRL = 44,\n\tSOC_LED_CTRL_BLINK = 1,\n\tSOC_LED_CTRL_ACT_PRESENCE = 4,\n\tSHD_BLK = 256,\n\tSHD_CTL_AST = 32,\n\tSATA_STATUS = 768,\n\tSATA_ACTIVE = 848,\n\tFIS_IRQ_CAUSE = 868,\n\tFIS_IRQ_CAUSE_AN = 512,\n\tLTMODE = 780,\n\tLTMODE_BIT8 = 256,\n\tPHY_MODE2 = 816,\n\tPHY_MODE3 = 784,\n\tPHY_MODE4 = 788,\n\tPHY_MODE4_CFG_MASK = 3,\n\tPHY_MODE4_CFG_VALUE = 1,\n\tPHY_MODE4_RSVD_ZEROS = 1575223290,\n\tPHY_MODE4_RSVD_ONES = 5,\n\tSATA_IFCTL = 836,\n\tSATA_TESTCTL = 840,\n\tSATA_IFSTAT = 844,\n\tVENDOR_UNIQUE_FIS = 860,\n\tFISCFG = 864,\n\tFISCFG_WAIT_DEV_ERR = 256,\n\tFISCFG_SINGLE_SYNC = 65536,\n\tPHY_MODE9_GEN2 = 920,\n\tPHY_MODE9_GEN1 = 924,\n\tPHYCFG_OFS = 928,\n\tMV5_PHY_MODE = 116,\n\tMV5_LTMODE = 48,\n\tMV5_PHY_CTL = 12,\n\tSATA_IFCFG = 80,\n\tLP_PHY_CTL = 88,\n\tLP_PHY_CTL_PIN_PU_PLL = 1,\n\tLP_PHY_CTL_PIN_PU_RX = 2,\n\tLP_PHY_CTL_PIN_PU_TX = 4,\n\tLP_PHY_CTL_GEN_TX_3G = 32,\n\tLP_PHY_CTL_GEN_RX_3G = 512,\n\tMV_M2_PREAMP_MASK = 2016,\n\tEDMA_CFG = 0,\n\tEDMA_CFG_Q_DEPTH = 31,\n\tEDMA_CFG_NCQ = 32,\n\tEDMA_CFG_NCQ_GO_ON_ERR = 16384,\n\tEDMA_CFG_RD_BRST_EXT = 2048,\n\tEDMA_CFG_WR_BUFF_LEN = 8192,\n\tEDMA_CFG_EDMA_FBS = 65536,\n\tEDMA_CFG_FBS = 67108864,\n\tEDMA_ERR_IRQ_CAUSE = 8,\n\tEDMA_ERR_IRQ_MASK = 12,\n\tEDMA_ERR_D_PAR = 1,\n\tEDMA_ERR_PRD_PAR = 2,\n\tEDMA_ERR_DEV = 4,\n\tEDMA_ERR_DEV_DCON = 8,\n\tEDMA_ERR_DEV_CON = 16,\n\tEDMA_ERR_SERR = 32,\n\tEDMA_ERR_SELF_DIS = 128,\n\tEDMA_ERR_SELF_DIS_5 = 256,\n\tEDMA_ERR_BIST_ASYNC = 256,\n\tEDMA_ERR_TRANS_IRQ_7 = 256,\n\tEDMA_ERR_CRQB_PAR = 512,\n\tEDMA_ERR_CRPB_PAR = 1024,\n\tEDMA_ERR_INTRL_PAR = 2048,\n\tEDMA_ERR_IORDY = 4096,\n\tEDMA_ERR_LNK_CTRL_RX = 122880,\n\tEDMA_ERR_LNK_CTRL_RX_0 = 8192,\n\tEDMA_ERR_LNK_CTRL_RX_1 = 16384,\n\tEDMA_ERR_LNK_CTRL_RX_2 = 32768,\n\tEDMA_ERR_LNK_CTRL_RX_3 = 65536,\n\tEDMA_ERR_LNK_DATA_RX = 1966080,\n\tEDMA_ERR_LNK_CTRL_TX = 65011712,\n\tEDMA_ERR_LNK_CTRL_TX_0 = 2097152,\n\tEDMA_ERR_LNK_CTRL_TX_1 = 4194304,\n\tEDMA_ERR_LNK_CTRL_TX_2 = 8388608,\n\tEDMA_ERR_LNK_CTRL_TX_3 = 16777216,\n\tEDMA_ERR_LNK_CTRL_TX_4 = 33554432,\n\tEDMA_ERR_LNK_DATA_TX = 2080374784,\n\tEDMA_ERR_TRANS_PROTO = -2147483648,\n\tEDMA_ERR_OVERRUN_5 = 32,\n\tEDMA_ERR_UNDERRUN_5 = 64,\n\tEDMA_ERR_IRQ_TRANSIENT = 65101824,\n\tEDMA_EH_FREEZE = -65102149,\n\tEDMA_EH_FREEZE_5 = 8059,\n\tEDMA_REQ_Q_BASE_HI = 16,\n\tEDMA_REQ_Q_IN_PTR = 20,\n\tEDMA_REQ_Q_OUT_PTR = 24,\n\tEDMA_REQ_Q_PTR_SHIFT = 5,\n\tEDMA_RSP_Q_BASE_HI = 28,\n\tEDMA_RSP_Q_IN_PTR = 32,\n\tEDMA_RSP_Q_OUT_PTR = 36,\n\tEDMA_RSP_Q_PTR_SHIFT = 3,\n\tEDMA_CMD = 40,\n\tEDMA_EN = 1,\n\tEDMA_DS = 2,\n\tEDMA_RESET = 4,\n\tEDMA_STATUS = 48,\n\tEDMA_STATUS_CACHE_EMPTY = 64,\n\tEDMA_STATUS_IDLE = 128,\n\tEDMA_IORDY_TMOUT = 52,\n\tEDMA_ARB_CFG = 56,\n\tEDMA_HALTCOND = 96,\n\tEDMA_UNKNOWN_RSVD = 108,\n\tBMDMA_CMD = 548,\n\tBMDMA_STATUS = 552,\n\tBMDMA_PRD_LOW = 556,\n\tBMDMA_PRD_HIGH = 560,\n\tMV_HP_FLAG_MSI = 1,\n\tMV_HP_ERRATA_50XXB0 = 2,\n\tMV_HP_ERRATA_50XXB2 = 4,\n\tMV_HP_ERRATA_60X1B2 = 8,\n\tMV_HP_ERRATA_60X1C0 = 16,\n\tMV_HP_GEN_I = 64,\n\tMV_HP_GEN_II = 128,\n\tMV_HP_GEN_IIE = 256,\n\tMV_HP_PCIE = 512,\n\tMV_HP_CUT_THROUGH = 1024,\n\tMV_HP_FLAG_SOC = 2048,\n\tMV_HP_QUIRK_LED_BLINK_EN = 4096,\n\tMV_HP_FIX_LP_PHY_CTL = 8192,\n\tMV_PP_FLAG_EDMA_EN = 1,\n\tMV_PP_FLAG_NCQ_EN = 2,\n\tMV_PP_FLAG_FBS_EN = 4,\n\tMV_PP_FLAG_DELAYED_EH = 8,\n\tMV_PP_FLAG_FAKE_ATA_BUSY = 16,\n};\n\nenum {\n\tM_SYSTEM_PLL = 0,\n\tM_PIXEL_PLL_A = 1,\n\tM_PIXEL_PLL_B = 2,\n\tM_PIXEL_PLL_C = 3,\n\tM_VIDEO_PLL = 4,\n};\n\nenum {\n\tNAPIF_STATE_SCHED = 1,\n\tNAPIF_STATE_MISSED = 2,\n\tNAPIF_STATE_DISABLE = 4,\n\tNAPIF_STATE_NPSVC = 8,\n\tNAPIF_STATE_LISTED = 16,\n\tNAPIF_STATE_NO_BUSY_POLL = 32,\n\tNAPIF_STATE_IN_BUSY_POLL = 64,\n\tNAPIF_STATE_PREFER_BUSY_POLL = 128,\n\tNAPIF_STATE_THREADED = 256,\n\tNAPIF_STATE_SCHED_THREADED = 512,\n};\n\nenum {\n\tNAPI_F_PREFER_BUSY_POLL = 1,\n\tNAPI_F_END_ON_RESCHED = 2,\n};\n\nenum {\n\tNAPI_STATE_SCHED = 0,\n\tNAPI_STATE_MISSED = 1,\n\tNAPI_STATE_DISABLE = 2,\n\tNAPI_STATE_NPSVC = 3,\n\tNAPI_STATE_LISTED = 4,\n\tNAPI_STATE_NO_BUSY_POLL = 5,\n\tNAPI_STATE_IN_BUSY_POLL = 6,\n\tNAPI_STATE_PREFER_BUSY_POLL = 7,\n\tNAPI_STATE_THREADED = 8,\n\tNAPI_STATE_SCHED_THREADED = 9,\n};\n\nenum {\n\tNDA_UNSPEC = 0,\n\tNDA_DST = 1,\n\tNDA_LLADDR = 2,\n\tNDA_CACHEINFO = 3,\n\tNDA_PROBES = 4,\n\tNDA_VLAN = 5,\n\tNDA_PORT = 6,\n\tNDA_VNI = 7,\n\tNDA_IFINDEX = 8,\n\tNDA_MASTER = 9,\n\tNDA_LINK_NETNSID = 10,\n\tNDA_SRC_VNI = 11,\n\tNDA_PROTOCOL = 12,\n\tNDA_NH_ID = 13,\n\tNDA_FDB_EXT_ATTRS = 14,\n\tNDA_FLAGS_EXT = 15,\n\tNDA_NDM_STATE_MASK = 16,\n\tNDA_NDM_FLAGS_MASK = 17,\n\t__NDA_MAX = 18,\n};\n\nenum {\n\tNDD_UNARMED = 1,\n\tNDD_LOCKED = 2,\n\tNDD_SECURITY_OVERWRITE = 3,\n\tNDD_WORK_PENDING = 4,\n\tNDD_LABELING = 6,\n\tNDD_INCOHERENT = 7,\n\tNDD_REGISTER_SYNC = 8,\n\tND_IOCTL_MAX_BUFLEN = 4194304,\n\tND_CMD_MAX_ELEM = 5,\n\tND_CMD_MAX_ENVELOPE = 256,\n\tND_MAX_MAPPINGS = 32,\n\tND_REGION_PAGEMAP = 0,\n\tND_REGION_PERSIST_CACHE = 1,\n\tND_REGION_PERSIST_MEMCTRL = 2,\n\tND_REGION_ASYNC = 3,\n\tND_REGION_CXL = 4,\n\tDPA_RESOURCE_ADJUSTED = 1,\n};\n\nenum {\n\tNDTA_UNSPEC = 0,\n\tNDTA_NAME = 1,\n\tNDTA_THRESH1 = 2,\n\tNDTA_THRESH2 = 3,\n\tNDTA_THRESH3 = 4,\n\tNDTA_CONFIG = 5,\n\tNDTA_PARMS = 6,\n\tNDTA_STATS = 7,\n\tNDTA_GC_INTERVAL = 8,\n\tNDTA_PAD = 9,\n\t__NDTA_MAX = 10,\n};\n\nenum {\n\tNDTPA_UNSPEC = 0,\n\tNDTPA_IFINDEX = 1,\n\tNDTPA_REFCNT = 2,\n\tNDTPA_REACHABLE_TIME = 3,\n\tNDTPA_BASE_REACHABLE_TIME = 4,\n\tNDTPA_RETRANS_TIME = 5,\n\tNDTPA_GC_STALETIME = 6,\n\tNDTPA_DELAY_PROBE_TIME = 7,\n\tNDTPA_QUEUE_LEN = 8,\n\tNDTPA_APP_PROBES = 9,\n\tNDTPA_UCAST_PROBES = 10,\n\tNDTPA_MCAST_PROBES = 11,\n\tNDTPA_ANYCAST_DELAY = 12,\n\tNDTPA_PROXY_DELAY = 13,\n\tNDTPA_PROXY_QLEN = 14,\n\tNDTPA_LOCKTIME = 15,\n\tNDTPA_QUEUE_LENBYTES = 16,\n\tNDTPA_MCAST_REPROBES = 17,\n\tNDTPA_PAD = 18,\n\tNDTPA_INTERVAL_PROBE_TIME_MS = 19,\n\t__NDTPA_MAX = 20,\n};\n\nenum {\n\tNDUSEROPT_UNSPEC = 0,\n\tNDUSEROPT_SRCADDR = 1,\n\t__NDUSEROPT_MAX = 2,\n};\n\nenum {\n\tND_CMD_IMPLEMENTED = 0,\n\tND_CMD_ARS_CAP = 1,\n\tND_CMD_ARS_START = 2,\n\tND_CMD_ARS_STATUS = 3,\n\tND_CMD_CLEAR_ERROR = 4,\n\tND_CMD_SMART = 1,\n\tND_CMD_SMART_THRESHOLD = 2,\n\tND_CMD_DIMM_FLAGS = 3,\n\tND_CMD_GET_CONFIG_SIZE = 4,\n\tND_CMD_GET_CONFIG_DATA = 5,\n\tND_CMD_SET_CONFIG_DATA = 6,\n\tND_CMD_VENDOR_EFFECT_LOG_SIZE = 7,\n\tND_CMD_VENDOR_EFFECT_LOG = 8,\n\tND_CMD_VENDOR = 9,\n\tND_CMD_CALL = 10,\n};\n\nenum {\n\tND_MAX_LANES = 256,\n\tINT_LBASIZE_ALIGNMENT = 64,\n\tNVDIMM_IO_ATOMIC = 1,\n};\n\nenum {\n\tND_MIN_NAMESPACE_SIZE = 65536,\n};\n\nenum {\n\tNEIGH_ARP_TABLE = 0,\n\tNEIGH_ND_TABLE = 1,\n\tNEIGH_NR_TABLES = 2,\n\tNEIGH_LINK_TABLE = 2,\n};\n\nenum {\n\tNEIGH_VAR_MCAST_PROBES = 0,\n\tNEIGH_VAR_UCAST_PROBES = 1,\n\tNEIGH_VAR_APP_PROBES = 2,\n\tNEIGH_VAR_MCAST_REPROBES = 3,\n\tNEIGH_VAR_RETRANS_TIME = 4,\n\tNEIGH_VAR_BASE_REACHABLE_TIME = 5,\n\tNEIGH_VAR_DELAY_PROBE_TIME = 6,\n\tNEIGH_VAR_INTERVAL_PROBE_TIME_MS = 7,\n\tNEIGH_VAR_GC_STALETIME = 8,\n\tNEIGH_VAR_QUEUE_LEN_BYTES = 9,\n\tNEIGH_VAR_PROXY_QLEN = 10,\n\tNEIGH_VAR_ANYCAST_DELAY = 11,\n\tNEIGH_VAR_PROXY_DELAY = 12,\n\tNEIGH_VAR_LOCKTIME = 13,\n\tNEIGH_VAR_QUEUE_LEN = 14,\n\tNEIGH_VAR_RETRANS_TIME_MS = 15,\n\tNEIGH_VAR_BASE_REACHABLE_TIME_MS = 16,\n\tNEIGH_VAR_GC_INTERVAL = 17,\n\tNEIGH_VAR_GC_THRESH1 = 18,\n\tNEIGH_VAR_GC_THRESH2 = 19,\n\tNEIGH_VAR_GC_THRESH3 = 20,\n\tNEIGH_VAR_MAX = 21,\n};\n\nenum {\n\tNESTED_SYNC_IMM_BIT = 0,\n\tNESTED_SYNC_TODO_BIT = 1,\n};\n\nenum {\n\tNETCONFA_UNSPEC = 0,\n\tNETCONFA_IFINDEX = 1,\n\tNETCONFA_FORWARDING = 2,\n\tNETCONFA_RP_FILTER = 3,\n\tNETCONFA_MC_FORWARDING = 4,\n\tNETCONFA_PROXY_NEIGH = 5,\n\tNETCONFA_IGNORE_ROUTES_WITH_LINKDOWN = 6,\n\tNETCONFA_INPUT = 7,\n\tNETCONFA_BC_FORWARDING = 8,\n\t__NETCONFA_MAX = 9,\n};\n\nenum {\n\tNETDEV_A_DEV_IFINDEX = 1,\n\tNETDEV_A_DEV_PAD = 2,\n\tNETDEV_A_DEV_XDP_FEATURES = 3,\n\tNETDEV_A_DEV_XDP_ZC_MAX_SEGS = 4,\n\tNETDEV_A_DEV_XDP_RX_METADATA_FEATURES = 5,\n\tNETDEV_A_DEV_XSK_FEATURES = 6,\n\t__NETDEV_A_DEV_MAX = 7,\n\tNETDEV_A_DEV_MAX = 6,\n};\n\nenum {\n\tNETDEV_A_DMABUF_IFINDEX = 1,\n\tNETDEV_A_DMABUF_QUEUES = 2,\n\tNETDEV_A_DMABUF_FD = 3,\n\tNETDEV_A_DMABUF_ID = 4,\n\t__NETDEV_A_DMABUF_MAX = 5,\n\tNETDEV_A_DMABUF_MAX = 4,\n};\n\nenum {\n\tNETDEV_A_NAPI_IFINDEX = 1,\n\tNETDEV_A_NAPI_ID = 2,\n\tNETDEV_A_NAPI_IRQ = 3,\n\tNETDEV_A_NAPI_PID = 4,\n\tNETDEV_A_NAPI_DEFER_HARD_IRQS = 5,\n\tNETDEV_A_NAPI_GRO_FLUSH_TIMEOUT = 6,\n\tNETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT = 7,\n\t__NETDEV_A_NAPI_MAX = 8,\n\tNETDEV_A_NAPI_MAX = 7,\n};\n\nenum {\n\tNETDEV_A_PAGE_POOL_ID = 1,\n\tNETDEV_A_PAGE_POOL_IFINDEX = 2,\n\tNETDEV_A_PAGE_POOL_NAPI_ID = 3,\n\tNETDEV_A_PAGE_POOL_INFLIGHT = 4,\n\tNETDEV_A_PAGE_POOL_INFLIGHT_MEM = 5,\n\tNETDEV_A_PAGE_POOL_DETACH_TIME = 6,\n\tNETDEV_A_PAGE_POOL_DMABUF = 7,\n\t__NETDEV_A_PAGE_POOL_MAX = 8,\n\tNETDEV_A_PAGE_POOL_MAX = 7,\n};\n\nenum {\n\tNETDEV_A_PAGE_POOL_STATS_INFO = 1,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW = 9,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER = 10,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY = 11,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL = 12,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE = 13,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED = 14,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL = 15,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RING = 16,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL = 17,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT = 18,\n\t__NETDEV_A_PAGE_POOL_STATS_MAX = 19,\n\tNETDEV_A_PAGE_POOL_STATS_MAX = 18,\n};\n\nenum {\n\tNETDEV_A_QSTATS_IFINDEX = 1,\n\tNETDEV_A_QSTATS_QUEUE_TYPE = 2,\n\tNETDEV_A_QSTATS_QUEUE_ID = 3,\n\tNETDEV_A_QSTATS_SCOPE = 4,\n\tNETDEV_A_QSTATS_RX_PACKETS = 8,\n\tNETDEV_A_QSTATS_RX_BYTES = 9,\n\tNETDEV_A_QSTATS_TX_PACKETS = 10,\n\tNETDEV_A_QSTATS_TX_BYTES = 11,\n\tNETDEV_A_QSTATS_RX_ALLOC_FAIL = 12,\n\tNETDEV_A_QSTATS_RX_HW_DROPS = 13,\n\tNETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS = 14,\n\tNETDEV_A_QSTATS_RX_CSUM_COMPLETE = 15,\n\tNETDEV_A_QSTATS_RX_CSUM_UNNECESSARY = 16,\n\tNETDEV_A_QSTATS_RX_CSUM_NONE = 17,\n\tNETDEV_A_QSTATS_RX_CSUM_BAD = 18,\n\tNETDEV_A_QSTATS_RX_HW_GRO_PACKETS = 19,\n\tNETDEV_A_QSTATS_RX_HW_GRO_BYTES = 20,\n\tNETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS = 21,\n\tNETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES = 22,\n\tNETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS = 23,\n\tNETDEV_A_QSTATS_TX_HW_DROPS = 24,\n\tNETDEV_A_QSTATS_TX_HW_DROP_ERRORS = 25,\n\tNETDEV_A_QSTATS_TX_CSUM_NONE = 26,\n\tNETDEV_A_QSTATS_TX_NEEDS_CSUM = 27,\n\tNETDEV_A_QSTATS_TX_HW_GSO_PACKETS = 28,\n\tNETDEV_A_QSTATS_TX_HW_GSO_BYTES = 29,\n\tNETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS = 30,\n\tNETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES = 31,\n\tNETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS = 32,\n\tNETDEV_A_QSTATS_TX_STOP = 33,\n\tNETDEV_A_QSTATS_TX_WAKE = 34,\n\t__NETDEV_A_QSTATS_MAX = 35,\n\tNETDEV_A_QSTATS_MAX = 34,\n};\n\nenum {\n\tNETDEV_A_QUEUE_ID = 1,\n\tNETDEV_A_QUEUE_IFINDEX = 2,\n\tNETDEV_A_QUEUE_TYPE = 3,\n\tNETDEV_A_QUEUE_NAPI_ID = 4,\n\tNETDEV_A_QUEUE_DMABUF = 5,\n\t__NETDEV_A_QUEUE_MAX = 6,\n\tNETDEV_A_QUEUE_MAX = 5,\n};\n\nenum {\n\tNETDEV_CMD_DEV_GET = 1,\n\tNETDEV_CMD_DEV_ADD_NTF = 2,\n\tNETDEV_CMD_DEV_DEL_NTF = 3,\n\tNETDEV_CMD_DEV_CHANGE_NTF = 4,\n\tNETDEV_CMD_PAGE_POOL_GET = 5,\n\tNETDEV_CMD_PAGE_POOL_ADD_NTF = 6,\n\tNETDEV_CMD_PAGE_POOL_DEL_NTF = 7,\n\tNETDEV_CMD_PAGE_POOL_CHANGE_NTF = 8,\n\tNETDEV_CMD_PAGE_POOL_STATS_GET = 9,\n\tNETDEV_CMD_QUEUE_GET = 10,\n\tNETDEV_CMD_NAPI_GET = 11,\n\tNETDEV_CMD_QSTATS_GET = 12,\n\tNETDEV_CMD_BIND_RX = 13,\n\tNETDEV_CMD_NAPI_SET = 14,\n\t__NETDEV_CMD_MAX = 15,\n\tNETDEV_CMD_MAX = 14,\n};\n\nenum {\n\tNETDEV_NLGRP_MGMT = 0,\n\tNETDEV_NLGRP_PAGE_POOL = 1,\n};\n\nenum {\n\tNETDEV_STATS = 0,\n\tE1000_STATS = 1,\n};\n\nenum {\n\tNETIF_F_SG_BIT = 0,\n\tNETIF_F_IP_CSUM_BIT = 1,\n\t__UNUSED_NETIF_F_1 = 2,\n\tNETIF_F_HW_CSUM_BIT = 3,\n\tNETIF_F_IPV6_CSUM_BIT = 4,\n\tNETIF_F_HIGHDMA_BIT = 5,\n\tNETIF_F_FRAGLIST_BIT = 6,\n\tNETIF_F_HW_VLAN_CTAG_TX_BIT = 7,\n\tNETIF_F_HW_VLAN_CTAG_RX_BIT = 8,\n\tNETIF_F_HW_VLAN_CTAG_FILTER_BIT = 9,\n\tNETIF_F_VLAN_CHALLENGED_BIT = 10,\n\tNETIF_F_GSO_BIT = 11,\n\t__UNUSED_NETIF_F_12 = 12,\n\t__UNUSED_NETIF_F_13 = 13,\n\tNETIF_F_GRO_BIT = 14,\n\tNETIF_F_LRO_BIT = 15,\n\tNETIF_F_GSO_SHIFT = 16,\n\tNETIF_F_TSO_BIT = 16,\n\tNETIF_F_GSO_ROBUST_BIT = 17,\n\tNETIF_F_TSO_ECN_BIT = 18,\n\tNETIF_F_TSO_MANGLEID_BIT = 19,\n\tNETIF_F_TSO6_BIT = 20,\n\tNETIF_F_FSO_BIT = 21,\n\tNETIF_F_GSO_GRE_BIT = 22,\n\tNETIF_F_GSO_GRE_CSUM_BIT = 23,\n\tNETIF_F_GSO_IPXIP4_BIT = 24,\n\tNETIF_F_GSO_IPXIP6_BIT = 25,\n\tNETIF_F_GSO_UDP_TUNNEL_BIT = 26,\n\tNETIF_F_GSO_UDP_TUNNEL_CSUM_BIT = 27,\n\tNETIF_F_GSO_PARTIAL_BIT = 28,\n\tNETIF_F_GSO_TUNNEL_REMCSUM_BIT = 29,\n\tNETIF_F_GSO_SCTP_BIT = 30,\n\tNETIF_F_GSO_ESP_BIT = 31,\n\tNETIF_F_GSO_UDP_BIT = 32,\n\tNETIF_F_GSO_UDP_L4_BIT = 33,\n\tNETIF_F_GSO_FRAGLIST_BIT = 34,\n\tNETIF_F_GSO_LAST = 34,\n\tNETIF_F_FCOE_CRC_BIT = 35,\n\tNETIF_F_SCTP_CRC_BIT = 36,\n\t__UNUSED_NETIF_F_37 = 37,\n\tNETIF_F_NTUPLE_BIT = 38,\n\tNETIF_F_RXHASH_BIT = 39,\n\tNETIF_F_RXCSUM_BIT = 40,\n\tNETIF_F_NOCACHE_COPY_BIT = 41,\n\tNETIF_F_LOOPBACK_BIT = 42,\n\tNETIF_F_RXFCS_BIT = 43,\n\tNETIF_F_RXALL_BIT = 44,\n\tNETIF_F_HW_VLAN_STAG_TX_BIT = 45,\n\tNETIF_F_HW_VLAN_STAG_RX_BIT = 46,\n\tNETIF_F_HW_VLAN_STAG_FILTER_BIT = 47,\n\tNETIF_F_HW_L2FW_DOFFLOAD_BIT = 48,\n\tNETIF_F_HW_TC_BIT = 49,\n\tNETIF_F_HW_ESP_BIT = 50,\n\tNETIF_F_HW_ESP_TX_CSUM_BIT = 51,\n\tNETIF_F_RX_UDP_TUNNEL_PORT_BIT = 52,\n\tNETIF_F_HW_TLS_TX_BIT = 53,\n\tNETIF_F_HW_TLS_RX_BIT = 54,\n\tNETIF_F_GRO_HW_BIT = 55,\n\tNETIF_F_HW_TLS_RECORD_BIT = 56,\n\tNETIF_F_GRO_FRAGLIST_BIT = 57,\n\tNETIF_F_HW_MACSEC_BIT = 58,\n\tNETIF_F_GRO_UDP_FWD_BIT = 59,\n\tNETIF_F_HW_HSR_TAG_INS_BIT = 60,\n\tNETIF_F_HW_HSR_TAG_RM_BIT = 61,\n\tNETIF_F_HW_HSR_FWD_BIT = 62,\n\tNETIF_F_HW_HSR_DUP_BIT = 63,\n\tNETDEV_FEATURE_COUNT = 64,\n};\n\nenum {\n\tNETIF_MSG_DRV_BIT = 0,\n\tNETIF_MSG_PROBE_BIT = 1,\n\tNETIF_MSG_LINK_BIT = 2,\n\tNETIF_MSG_TIMER_BIT = 3,\n\tNETIF_MSG_IFDOWN_BIT = 4,\n\tNETIF_MSG_IFUP_BIT = 5,\n\tNETIF_MSG_RX_ERR_BIT = 6,\n\tNETIF_MSG_TX_ERR_BIT = 7,\n\tNETIF_MSG_TX_QUEUED_BIT = 8,\n\tNETIF_MSG_INTR_BIT = 9,\n\tNETIF_MSG_TX_DONE_BIT = 10,\n\tNETIF_MSG_RX_STATUS_BIT = 11,\n\tNETIF_MSG_PKTDATA_BIT = 12,\n\tNETIF_MSG_HW_BIT = 13,\n\tNETIF_MSG_WOL_BIT = 14,\n\tNETIF_MSG_CLASS_COUNT = 15,\n};\n\nenum {\n\tNETLINK_F_KERNEL_SOCKET = 0,\n\tNETLINK_F_RECV_PKTINFO = 1,\n\tNETLINK_F_BROADCAST_SEND_ERROR = 2,\n\tNETLINK_F_RECV_NO_ENOBUFS = 3,\n\tNETLINK_F_LISTEN_ALL_NSID = 4,\n\tNETLINK_F_CAP_ACK = 5,\n\tNETLINK_F_EXT_ACK = 6,\n\tNETLINK_F_STRICT_CHK = 7,\n};\n\nenum {\n\tNETLINK_UNCONNECTED = 0,\n\tNETLINK_CONNECTED = 1,\n};\n\nenum {\n\tNETNSA_NONE = 0,\n\tNETNSA_NSID = 1,\n\tNETNSA_PID = 2,\n\tNETNSA_FD = 3,\n\tNETNSA_TARGET_NSID = 4,\n\tNETNSA_CURRENT_NSID = 5,\n\t__NETNSA_MAX = 6,\n};\n\nenum {\n\tNET_NS_INDEX = 0,\n\tUTS_NS_INDEX = 1,\n\tIPC_NS_INDEX = 2,\n\tPID_NS_INDEX = 3,\n\tUSER_NS_INDEX = 4,\n\tMNT_NS_INDEX = 5,\n\tCGROUP_NS_INDEX = 6,\n\tNR_NAMESPACES = 7,\n};\n\nenum {\n\tNEXTHOP_GRP_TYPE_MPATH = 0,\n\tNEXTHOP_GRP_TYPE_RES = 1,\n\t__NEXTHOP_GRP_TYPE_MAX = 2,\n};\n\nenum {\n\tNFPROTO_UNSPEC = 0,\n\tNFPROTO_INET = 1,\n\tNFPROTO_IPV4 = 2,\n\tNFPROTO_ARP = 3,\n\tNFPROTO_NETDEV = 5,\n\tNFPROTO_BRIDGE = 7,\n\tNFPROTO_IPV6 = 10,\n\tNFPROTO_NUMPROTO = 11,\n};\n\nenum {\n\tNFSPROC4_CLNT_NULL = 0,\n\tNFSPROC4_CLNT_READ = 1,\n\tNFSPROC4_CLNT_WRITE = 2,\n\tNFSPROC4_CLNT_COMMIT = 3,\n\tNFSPROC4_CLNT_OPEN = 4,\n\tNFSPROC4_CLNT_OPEN_CONFIRM = 5,\n\tNFSPROC4_CLNT_OPEN_NOATTR = 6,\n\tNFSPROC4_CLNT_OPEN_DOWNGRADE = 7,\n\tNFSPROC4_CLNT_CLOSE = 8,\n\tNFSPROC4_CLNT_SETATTR = 9,\n\tNFSPROC4_CLNT_FSINFO = 10,\n\tNFSPROC4_CLNT_RENEW = 11,\n\tNFSPROC4_CLNT_SETCLIENTID = 12,\n\tNFSPROC4_CLNT_SETCLIENTID_CONFIRM = 13,\n\tNFSPROC4_CLNT_LOCK = 14,\n\tNFSPROC4_CLNT_LOCKT = 15,\n\tNFSPROC4_CLNT_LOCKU = 16,\n\tNFSPROC4_CLNT_ACCESS = 17,\n\tNFSPROC4_CLNT_GETATTR = 18,\n\tNFSPROC4_CLNT_LOOKUP = 19,\n\tNFSPROC4_CLNT_LOOKUP_ROOT = 20,\n\tNFSPROC4_CLNT_REMOVE = 21,\n\tNFSPROC4_CLNT_RENAME = 22,\n\tNFSPROC4_CLNT_LINK = 23,\n\tNFSPROC4_CLNT_SYMLINK = 24,\n\tNFSPROC4_CLNT_CREATE = 25,\n\tNFSPROC4_CLNT_PATHCONF = 26,\n\tNFSPROC4_CLNT_STATFS = 27,\n\tNFSPROC4_CLNT_READLINK = 28,\n\tNFSPROC4_CLNT_READDIR = 29,\n\tNFSPROC4_CLNT_SERVER_CAPS = 30,\n\tNFSPROC4_CLNT_DELEGRETURN = 31,\n\tNFSPROC4_CLNT_GETACL = 32,\n\tNFSPROC4_CLNT_SETACL = 33,\n\tNFSPROC4_CLNT_FS_LOCATIONS = 34,\n\tNFSPROC4_CLNT_RELEASE_LOCKOWNER = 35,\n\tNFSPROC4_CLNT_SECINFO = 36,\n\tNFSPROC4_CLNT_FSID_PRESENT = 37,\n\tNFSPROC4_CLNT_EXCHANGE_ID = 38,\n\tNFSPROC4_CLNT_CREATE_SESSION = 39,\n\tNFSPROC4_CLNT_DESTROY_SESSION = 40,\n\tNFSPROC4_CLNT_SEQUENCE = 41,\n\tNFSPROC4_CLNT_GET_LEASE_TIME = 42,\n\tNFSPROC4_CLNT_RECLAIM_COMPLETE = 43,\n\tNFSPROC4_CLNT_LAYOUTGET = 44,\n\tNFSPROC4_CLNT_GETDEVICEINFO = 45,\n\tNFSPROC4_CLNT_LAYOUTCOMMIT = 46,\n\tNFSPROC4_CLNT_LAYOUTRETURN = 47,\n\tNFSPROC4_CLNT_SECINFO_NO_NAME = 48,\n\tNFSPROC4_CLNT_TEST_STATEID = 49,\n\tNFSPROC4_CLNT_FREE_STATEID = 50,\n\tNFSPROC4_CLNT_GETDEVICELIST = 51,\n\tNFSPROC4_CLNT_BIND_CONN_TO_SESSION = 52,\n\tNFSPROC4_CLNT_DESTROY_CLIENTID = 53,\n\tNFSPROC4_CLNT_SEEK = 54,\n\tNFSPROC4_CLNT_ALLOCATE = 55,\n\tNFSPROC4_CLNT_DEALLOCATE = 56,\n\tNFSPROC4_CLNT_LAYOUTSTATS = 57,\n\tNFSPROC4_CLNT_CLONE = 58,\n\tNFSPROC4_CLNT_COPY = 59,\n\tNFSPROC4_CLNT_OFFLOAD_CANCEL = 60,\n\tNFSPROC4_CLNT_LOOKUPP = 61,\n\tNFSPROC4_CLNT_LAYOUTERROR = 62,\n\tNFSPROC4_CLNT_COPY_NOTIFY = 63,\n\tNFSPROC4_CLNT_GETXATTR = 64,\n\tNFSPROC4_CLNT_SETXATTR = 65,\n\tNFSPROC4_CLNT_LISTXATTRS = 66,\n\tNFSPROC4_CLNT_REMOVEXATTR = 67,\n\tNFSPROC4_CLNT_READ_PLUS = 68,\n};\n\nenum {\n\tNFS_DELEGATION_NEED_RECLAIM = 0,\n\tNFS_DELEGATION_RETURN = 1,\n\tNFS_DELEGATION_RETURN_IF_CLOSED = 2,\n\tNFS_DELEGATION_REFERENCED = 3,\n\tNFS_DELEGATION_RETURNING = 4,\n\tNFS_DELEGATION_REVOKED = 5,\n\tNFS_DELEGATION_TEST_EXPIRED = 6,\n\tNFS_DELEGATION_INODE_FREEING = 7,\n\tNFS_DELEGATION_RETURN_DELAYED = 8,\n\tNFS_DELEGATION_DELEGTIME = 9,\n};\n\nenum {\n\tNFS_IOHDR_ERROR = 0,\n\tNFS_IOHDR_EOF = 1,\n\tNFS_IOHDR_REDO = 2,\n\tNFS_IOHDR_STAT = 3,\n\tNFS_IOHDR_RESEND_PNFS = 4,\n\tNFS_IOHDR_RESEND_MDS = 5,\n\tNFS_IOHDR_UNSTABLE_WRITES = 6,\n\tNFS_IOHDR_ODIRECT = 7,\n};\n\nenum {\n\tNFS_OWNER_RECLAIM_REBOOT = 0,\n\tNFS_OWNER_RECLAIM_NOGRACE = 1,\n};\n\nenum {\n\tNHA_GROUP_STATS_ENTRY_UNSPEC = 0,\n\tNHA_GROUP_STATS_ENTRY_ID = 1,\n\tNHA_GROUP_STATS_ENTRY_PACKETS = 2,\n\tNHA_GROUP_STATS_ENTRY_PACKETS_HW = 3,\n\t__NHA_GROUP_STATS_ENTRY_MAX = 4,\n};\n\nenum {\n\tNHA_GROUP_STATS_UNSPEC = 0,\n\tNHA_GROUP_STATS_ENTRY = 1,\n\t__NHA_GROUP_STATS_MAX = 2,\n};\n\nenum {\n\tNHA_RES_BUCKET_UNSPEC = 0,\n\tNHA_RES_BUCKET_PAD = 0,\n\tNHA_RES_BUCKET_INDEX = 1,\n\tNHA_RES_BUCKET_IDLE_TIME = 2,\n\tNHA_RES_BUCKET_NH_ID = 3,\n\t__NHA_RES_BUCKET_MAX = 4,\n};\n\nenum {\n\tNHA_RES_GROUP_UNSPEC = 0,\n\tNHA_RES_GROUP_PAD = 0,\n\tNHA_RES_GROUP_BUCKETS = 1,\n\tNHA_RES_GROUP_IDLE_TIMER = 2,\n\tNHA_RES_GROUP_UNBALANCED_TIMER = 3,\n\tNHA_RES_GROUP_UNBALANCED_TIME = 4,\n\t__NHA_RES_GROUP_MAX = 5,\n};\n\nenum {\n\tNHA_UNSPEC = 0,\n\tNHA_ID = 1,\n\tNHA_GROUP = 2,\n\tNHA_GROUP_TYPE = 3,\n\tNHA_BLACKHOLE = 4,\n\tNHA_OIF = 5,\n\tNHA_GATEWAY = 6,\n\tNHA_ENCAP_TYPE = 7,\n\tNHA_ENCAP = 8,\n\tNHA_GROUPS = 9,\n\tNHA_MASTER = 10,\n\tNHA_FDB = 11,\n\tNHA_RES_GROUP = 12,\n\tNHA_RES_BUCKET = 13,\n\tNHA_OP_FLAGS = 14,\n\tNHA_GROUP_STATS = 15,\n\tNHA_HW_STATS_ENABLE = 16,\n\tNHA_HW_STATS_USED = 17,\n\t__NHA_MAX = 18,\n};\n\nenum {\n\tNLA_UNSPEC = 0,\n\tNLA_U8 = 1,\n\tNLA_U16 = 2,\n\tNLA_U32 = 3,\n\tNLA_U64 = 4,\n\tNLA_STRING = 5,\n\tNLA_FLAG = 6,\n\tNLA_MSECS = 7,\n\tNLA_NESTED = 8,\n\tNLA_NESTED_ARRAY = 9,\n\tNLA_NUL_STRING = 10,\n\tNLA_BINARY = 11,\n\tNLA_S8 = 12,\n\tNLA_S16 = 13,\n\tNLA_S32 = 14,\n\tNLA_S64 = 15,\n\tNLA_BITFIELD32 = 16,\n\tNLA_REJECT = 17,\n\tNLA_BE16 = 18,\n\tNLA_BE32 = 19,\n\tNLA_SINT = 20,\n\tNLA_UINT = 21,\n\t__NLA_TYPE_MAX = 22,\n};\n\nenum {\n\tNLM_LCK_GRANTED = 0,\n\tNLM_LCK_DENIED = 1,\n\tNLM_LCK_DENIED_NOLOCKS = 2,\n\tNLM_LCK_BLOCKED = 3,\n\tNLM_LCK_DENIED_GRACE_PERIOD = 4,\n\tNLM_DEADLCK = 5,\n\tNLM_ROFS = 6,\n\tNLM_STALE_FH = 7,\n\tNLM_FBIG = 8,\n\tNLM_FAILED = 9,\n};\n\nenum {\n\tNODE_SIZE = 256,\n\tKEYS_PER_NODE = 16,\n\tRECS_PER_LEAF = 15,\n};\n\nenum {\n\tNSINDEX_SIG_LEN = 16,\n\tNSINDEX_ALIGN = 256,\n\tNSINDEX_SEQ_MASK = 3,\n\tNSLABEL_UUID_LEN = 16,\n\tNSLABEL_NAME_LEN = 64,\n\tNSLABEL_FLAG_ROLABEL = 1,\n\tNSLABEL_FLAG_LOCAL = 2,\n\tNSLABEL_FLAG_BTT = 4,\n\tNSLABEL_FLAG_UPDATING = 8,\n\tBTT_ALIGN = 4096,\n\tBTTINFO_SIG_LEN = 16,\n\tBTTINFO_UUID_LEN = 16,\n\tBTTINFO_FLAG_ERROR = 1,\n\tBTTINFO_MAJOR_VERSION = 1,\n\tND_LABEL_MIN_SIZE = 1024,\n\tND_LABEL_ID_SIZE = 50,\n\tND_NSINDEX_INIT = 1,\n};\n\nenum {\n\tNSMPROC_NULL = 0,\n\tNSMPROC_STAT = 1,\n\tNSMPROC_MON = 2,\n\tNSMPROC_UNMON = 3,\n\tNSMPROC_UNMON_ALL = 4,\n\tNSMPROC_SIMU_CRASH = 5,\n\tNSMPROC_NOTIFY = 6,\n};\n\nenum {\n\tNUM_TRIAL_SAMPLES = 8192,\n\tMAX_SAMPLES_PER_BIT = 6,\n};\n\nenum {\n\tNVMEM_ADD = 1,\n\tNVMEM_REMOVE = 2,\n\tNVMEM_CELL_ADD = 3,\n\tNVMEM_CELL_REMOVE = 4,\n\tNVMEM_LAYOUT_ADD = 5,\n\tNVMEM_LAYOUT_REMOVE = 6,\n};\n\nenum {\n\tNVME_AEN_BIT_NS_ATTR = 8,\n\tNVME_AEN_BIT_FW_ACT = 9,\n\tNVME_AEN_BIT_ANA_CHANGE = 11,\n\tNVME_AEN_BIT_DISC_CHANGE = 31,\n};\n\nenum {\n\tNVME_CC_ENABLE = 1,\n\tNVME_CC_EN_SHIFT = 0,\n\tNVME_CC_CSS_SHIFT = 4,\n\tNVME_CC_CSS_MASK = 112,\n\tNVME_CC_CSS_NVM = 0,\n\tNVME_CC_CSS_CSI = 96,\n\tNVME_CC_MPS_SHIFT = 7,\n\tNVME_CC_MPS_MASK = 1920,\n\tNVME_CC_AMS_SHIFT = 11,\n\tNVME_CC_AMS_MASK = 14336,\n\tNVME_CC_AMS_RR = 0,\n\tNVME_CC_AMS_WRRU = 2048,\n\tNVME_CC_AMS_VS = 14336,\n\tNVME_CC_SHN_SHIFT = 14,\n\tNVME_CC_SHN_MASK = 49152,\n\tNVME_CC_SHN_NONE = 0,\n\tNVME_CC_SHN_NORMAL = 16384,\n\tNVME_CC_SHN_ABRUPT = 32768,\n\tNVME_CC_IOSQES_SHIFT = 16,\n\tNVME_CC_IOSQES_MASK = 983040,\n\tNVME_CC_IOSQES = 393216,\n\tNVME_CC_IOCQES_SHIFT = 20,\n\tNVME_CC_IOCQES_MASK = 15728640,\n\tNVME_CC_IOCQES = 4194304,\n\tNVME_CC_CRIME = 16777216,\n};\n\nenum {\n\tNVME_CSTS_RDY = 1,\n\tNVME_CSTS_CFS = 2,\n\tNVME_CSTS_NSSRO = 16,\n\tNVME_CSTS_PP = 32,\n\tNVME_CSTS_SHST_NORMAL = 0,\n\tNVME_CSTS_SHST_OCCUR = 4,\n\tNVME_CSTS_SHST_CMPLT = 8,\n\tNVME_CSTS_SHST_MASK = 12,\n};\n\nenum {\n\tNVME_REG_CAP = 0,\n\tNVME_REG_VS = 8,\n\tNVME_REG_INTMS = 12,\n\tNVME_REG_INTMC = 16,\n\tNVME_REG_CC = 20,\n\tNVME_REG_CSTS = 28,\n\tNVME_REG_NSSR = 32,\n\tNVME_REG_AQA = 36,\n\tNVME_REG_ASQ = 40,\n\tNVME_REG_ACQ = 48,\n\tNVME_REG_CMBLOC = 56,\n\tNVME_REG_CMBSZ = 60,\n\tNVME_REG_BPINFO = 64,\n\tNVME_REG_BPRSEL = 68,\n\tNVME_REG_BPMBL = 72,\n\tNVME_REG_CMBMSC = 80,\n\tNVME_REG_CRTO = 104,\n\tNVME_REG_PMRCAP = 3584,\n\tNVME_REG_PMRCTL = 3588,\n\tNVME_REG_PMRSTS = 3592,\n\tNVME_REG_PMREBS = 3596,\n\tNVME_REG_PMRSWTP = 3600,\n\tNVME_REG_DBS = 4096,\n};\n\nenum {\n\tOD_NORMAL_SAMPLE = 0,\n\tOD_SUB_SAMPLE = 1,\n};\n\nenum {\n\tONLINE_POLICY_CONTIG_ZONES = 0,\n\tONLINE_POLICY_AUTO_MOVABLE = 1,\n};\n\nenum {\n\tOPAL_HMI_FLAGS_TB_RESYNC = 1ULL,\n\tOPAL_HMI_FLAGS_DEC_LOST = 2ULL,\n\tOPAL_HMI_FLAGS_HDEC_LOST = 4ULL,\n\tOPAL_HMI_FLAGS_TOD_TB_FAIL = 8ULL,\n\tOPAL_HMI_FLAGS_NEW_EVENT = 9223372036854775808ULL,\n};\n\nenum {\n\tOPAL_IMC_COUNTERS_NEST = 1,\n\tOPAL_IMC_COUNTERS_CORE = 2,\n\tOPAL_IMC_COUNTERS_TRACE = 3,\n};\n\nenum {\n\tOPAL_P7IOC_DIAG_TYPE_NONE = 0,\n\tOPAL_P7IOC_DIAG_TYPE_RGC = 1,\n\tOPAL_P7IOC_DIAG_TYPE_BI = 2,\n\tOPAL_P7IOC_DIAG_TYPE_CI = 3,\n\tOPAL_P7IOC_DIAG_TYPE_MISC = 4,\n\tOPAL_P7IOC_DIAG_TYPE_I2C = 5,\n\tOPAL_P7IOC_DIAG_TYPE_LAST = 6,\n};\n\nenum {\n\tOPAL_P7IOC_NUM_PEST_REGS = 128,\n\tOPAL_PHB3_NUM_PEST_REGS = 256,\n\tOPAL_PHB4_NUM_PEST_REGS = 512,\n};\n\nenum {\n\tOPAL_PCI_TCE_KILL_PAGES = 0,\n\tOPAL_PCI_TCE_KILL_PE = 1,\n\tOPAL_PCI_TCE_KILL_ALL = 2,\n};\n\nenum {\n\tOPAL_PHB_ERROR_DATA_TYPE_P7IOC = 1,\n\tOPAL_PHB_ERROR_DATA_TYPE_PHB3 = 2,\n\tOPAL_PHB_ERROR_DATA_TYPE_PHB4 = 3,\n};\n\nenum {\n\tOPAL_REBOOT_NORMAL = 0,\n\tOPAL_REBOOT_PLATFORM_ERROR = 1,\n\tOPAL_REBOOT_FULL_IPL = 2,\n\tOPAL_REBOOT_MPIPL = 3,\n\tOPAL_REBOOT_FAST = 4,\n};\n\nenum {\n\tOPAL_REINIT_CPUS_HILE_BE = 1,\n\tOPAL_REINIT_CPUS_HILE_LE = 2,\n\tOPAL_REINIT_CPUS_MMU_HASH = 4,\n\tOPAL_REINIT_CPUS_MMU_RADIX = 8,\n\tOPAL_REINIT_CPUS_TM_SUSPEND_DISABLED = 16,\n};\n\nenum {\n\tOPAL_XIVE_EQ_ENABLED = 1,\n\tOPAL_XIVE_EQ_ALWAYS_NOTIFY = 2,\n\tOPAL_XIVE_EQ_ESCALATE = 4,\n};\n\nenum {\n\tOPAL_XIVE_IRQ_TRIGGER_PAGE = 1,\n\tOPAL_XIVE_IRQ_STORE_EOI = 2,\n\tOPAL_XIVE_IRQ_LSI = 4,\n\tOPAL_XIVE_IRQ_SHIFT_BUG = 8,\n\tOPAL_XIVE_IRQ_MASK_VIA_FW = 16,\n\tOPAL_XIVE_IRQ_EOI_VIA_FW = 32,\n\tOPAL_XIVE_IRQ_STORE_EOI2 = 64,\n};\n\nenum {\n\tOPAL_XIVE_MODE_EMU = 0,\n\tOPAL_XIVE_MODE_EXPL = 1,\n};\n\nenum {\n\tOPAL_XIVE_VP_ENABLED = 1,\n\tOPAL_XIVE_VP_SINGLE_ESCALATION = 2,\n};\n\nenum {\n\tOPT_UID = 0,\n\tOPT_GID = 1,\n\tOPT_MODE = 2,\n\tOPT_DELEGATE_CMDS = 3,\n\tOPT_DELEGATE_MAPS = 4,\n\tOPT_DELEGATE_PROGS = 5,\n\tOPT_DELEGATE_ATTACHS = 6,\n};\n\nenum {\n\tOpt_block = 0,\n\tOpt_check = 1,\n\tOpt_cruft = 2,\n\tOpt_gid = 3,\n\tOpt_ignore = 4,\n\tOpt_iocharset = 5,\n\tOpt_map = 6,\n\tOpt_mode = 7,\n\tOpt_nojoliet = 8,\n\tOpt_norock = 9,\n\tOpt_sb = 10,\n\tOpt_session = 11,\n\tOpt_uid = 12,\n\tOpt_unhide = 13,\n\tOpt_utf8 = 14,\n\tOpt_err = 15,\n\tOpt_nocompress = 16,\n\tOpt_hide = 17,\n\tOpt_showassoc = 18,\n\tOpt_dmode = 19,\n\tOpt_overriderockperm = 20,\n};\n\nenum {\n\tOpt_bsd_df = 0,\n\tOpt_minix_df = 1,\n\tOpt_grpid = 2,\n\tOpt_nogrpid = 3,\n\tOpt_resgid = 4,\n\tOpt_resuid = 5,\n\tOpt_sb___2 = 6,\n\tOpt_nouid32 = 7,\n\tOpt_debug = 8,\n\tOpt_removed = 9,\n\tOpt_user_xattr = 10,\n\tOpt_acl = 11,\n\tOpt_auto_da_alloc = 12,\n\tOpt_noauto_da_alloc = 13,\n\tOpt_noload = 14,\n\tOpt_commit = 15,\n\tOpt_min_batch_time = 16,\n\tOpt_max_batch_time = 17,\n\tOpt_journal_dev = 18,\n\tOpt_journal_path = 19,\n\tOpt_journal_checksum = 20,\n\tOpt_journal_async_commit = 21,\n\tOpt_abort = 22,\n\tOpt_data_journal = 23,\n\tOpt_data_ordered = 24,\n\tOpt_data_writeback = 25,\n\tOpt_data_err_abort = 26,\n\tOpt_data_err_ignore = 27,\n\tOpt_test_dummy_encryption = 28,\n\tOpt_inlinecrypt = 29,\n\tOpt_usrjquota = 30,\n\tOpt_grpjquota = 31,\n\tOpt_quota = 32,\n\tOpt_noquota = 33,\n\tOpt_barrier = 34,\n\tOpt_nobarrier = 35,\n\tOpt_err___2 = 36,\n\tOpt_usrquota = 37,\n\tOpt_grpquota = 38,\n\tOpt_prjquota = 39,\n\tOpt_dax = 40,\n\tOpt_dax_always = 41,\n\tOpt_dax_inode = 42,\n\tOpt_dax_never = 43,\n\tOpt_stripe = 44,\n\tOpt_delalloc = 45,\n\tOpt_nodelalloc = 46,\n\tOpt_warn_on_error = 47,\n\tOpt_nowarn_on_error = 48,\n\tOpt_mblk_io_submit = 49,\n\tOpt_debug_want_extra_isize = 50,\n\tOpt_nomblk_io_submit = 51,\n\tOpt_block_validity = 52,\n\tOpt_noblock_validity = 53,\n\tOpt_inode_readahead_blks = 54,\n\tOpt_journal_ioprio = 55,\n\tOpt_dioread_nolock = 56,\n\tOpt_dioread_lock = 57,\n\tOpt_discard = 58,\n\tOpt_nodiscard = 59,\n\tOpt_init_itable = 60,\n\tOpt_noinit_itable = 61,\n\tOpt_max_dir_size_kb = 62,\n\tOpt_nojournal_checksum = 63,\n\tOpt_nombcache = 64,\n\tOpt_no_prefetch_block_bitmaps = 65,\n\tOpt_mb_optimize_scan = 66,\n\tOpt_errors = 67,\n\tOpt_data = 68,\n\tOpt_data_err = 69,\n\tOpt_jqfmt = 70,\n\tOpt_dax_type = 71,\n};\n\nenum {\n\tOpt_check___2 = 0,\n\tOpt_uid___2 = 1,\n\tOpt_gid___2 = 2,\n\tOpt_umask = 3,\n\tOpt_dmask = 4,\n\tOpt_fmask = 5,\n\tOpt_allow_utime = 6,\n\tOpt_codepage = 7,\n\tOpt_usefree = 8,\n\tOpt_nocase = 9,\n\tOpt_quiet = 10,\n\tOpt_showexec = 11,\n\tOpt_debug___2 = 12,\n\tOpt_immutable = 13,\n\tOpt_dots = 14,\n\tOpt_dotsOK = 15,\n\tOpt_charset = 16,\n\tOpt_shortname = 17,\n\tOpt_utf8___2 = 18,\n\tOpt_utf8_bool = 19,\n\tOpt_uni_xl = 20,\n\tOpt_uni_xl_bool = 21,\n\tOpt_nonumtail = 22,\n\tOpt_nonumtail_bool = 23,\n\tOpt_obsolete = 24,\n\tOpt_flush = 25,\n\tOpt_tz = 26,\n\tOpt_rodir = 27,\n\tOpt_errors___2 = 28,\n\tOpt_discard___2 = 29,\n\tOpt_nfs = 30,\n\tOpt_nfs_enum = 31,\n\tOpt_time_offset = 32,\n\tOpt_dos1xfloppy = 33,\n};\n\nenum {\n\tOpt_err___3 = 0,\n\tOpt_enc = 1,\n\tOpt_hash = 2,\n};\n\nenum {\n\tOpt_error = -1,\n\tOpt_context = 0,\n\tOpt_defcontext = 1,\n\tOpt_fscontext = 2,\n\tOpt_rootcontext = 3,\n\tOpt_seclabel = 4,\n};\n\nenum {\n\tOpt_find_uid = 0,\n\tOpt_find_gid = 1,\n\tOpt_find_user = 2,\n\tOpt_find_group = 3,\n\tOpt_find_err = 4,\n};\n\nenum {\n\tOpt_kmsg_bytes = 0,\n\tOpt_err___4 = 1,\n};\n\nenum {\n\tOpt_local_lock_all = 0,\n\tOpt_local_lock_flock = 1,\n\tOpt_local_lock_none = 2,\n\tOpt_local_lock_posix = 3,\n};\n\nenum {\n\tOpt_logbufs = 0,\n\tOpt_logbsize = 1,\n\tOpt_logdev = 2,\n\tOpt_rtdev = 3,\n\tOpt_wsync = 4,\n\tOpt_noalign = 5,\n\tOpt_swalloc = 6,\n\tOpt_sunit = 7,\n\tOpt_swidth = 8,\n\tOpt_nouuid = 9,\n\tOpt_grpid___2 = 10,\n\tOpt_nogrpid___2 = 11,\n\tOpt_bsdgroups = 12,\n\tOpt_sysvgroups = 13,\n\tOpt_allocsize = 14,\n\tOpt_norecovery = 15,\n\tOpt_inode64 = 16,\n\tOpt_inode32 = 17,\n\tOpt_ikeep = 18,\n\tOpt_noikeep = 19,\n\tOpt_largeio = 20,\n\tOpt_nolargeio = 21,\n\tOpt_attr2 = 22,\n\tOpt_noattr2 = 23,\n\tOpt_filestreams = 24,\n\tOpt_quota___2 = 25,\n\tOpt_noquota___2 = 26,\n\tOpt_usrquota___2 = 27,\n\tOpt_grpquota___2 = 28,\n\tOpt_prjquota___2 = 29,\n\tOpt_uquota = 30,\n\tOpt_gquota = 31,\n\tOpt_pquota = 32,\n\tOpt_uqnoenforce = 33,\n\tOpt_gqnoenforce = 34,\n\tOpt_pqnoenforce = 35,\n\tOpt_qnoenforce = 36,\n\tOpt_discard___3 = 37,\n\tOpt_nodiscard___2 = 38,\n\tOpt_dax___2 = 39,\n\tOpt_dax_enum = 40,\n};\n\nenum {\n\tOpt_lookupcache_all = 0,\n\tOpt_lookupcache_none = 1,\n\tOpt_lookupcache_positive = 2,\n};\n\nenum {\n\tOpt_sec_krb5 = 0,\n\tOpt_sec_krb5i = 1,\n\tOpt_sec_krb5p = 2,\n\tOpt_sec_lkey = 3,\n\tOpt_sec_lkeyi = 4,\n\tOpt_sec_lkeyp = 5,\n\tOpt_sec_none = 6,\n\tOpt_sec_spkm = 7,\n\tOpt_sec_spkmi = 8,\n\tOpt_sec_spkmp = 9,\n\tOpt_sec_sys = 10,\n\tnr__Opt_sec = 11,\n};\n\nenum {\n\tOpt_uid___3 = 0,\n\tOpt_gid___3 = 1,\n\tOpt_mode___2 = 2,\n};\n\nenum {\n\tOpt_uid___4 = 0,\n\tOpt_gid___4 = 1,\n\tOpt_mode___3 = 2,\n\tOpt_source = 3,\n};\n\nenum {\n\tOpt_uid___5 = 0,\n\tOpt_gid___5 = 1,\n\tOpt_mode___4 = 2,\n\tOpt_ptmxmode = 3,\n\tOpt_newinstance = 4,\n\tOpt_max = 5,\n\tOpt_err___5 = 6,\n};\n\nenum {\n\tOpt_vers_2 = 0,\n\tOpt_vers_3 = 1,\n\tOpt_vers_4 = 2,\n\tOpt_vers_4_0 = 3,\n\tOpt_vers_4_1 = 4,\n\tOpt_vers_4_2 = 5,\n};\n\nenum {\n\tOpt_write_lazy = 0,\n\tOpt_write_eager = 1,\n\tOpt_write_wait = 2,\n};\n\nenum {\n\tOpt_xprt_rdma = 0,\n\tOpt_xprt_rdma6 = 1,\n\tOpt_xprt_tcp = 2,\n\tOpt_xprt_tcp6 = 3,\n\tOpt_xprt_udp = 4,\n\tOpt_xprt_udp6 = 5,\n\tnr__Opt_xprt = 6,\n};\n\nenum {\n\tOpt_xprtsec_none = 0,\n\tOpt_xprtsec_tls = 1,\n\tOpt_xprtsec_mtls = 2,\n\tnr__Opt_xprtsec = 3,\n};\n\nenum {\n\tPAGE_REPORTING_IDLE = 0,\n\tPAGE_REPORTING_REQUESTED = 1,\n\tPAGE_REPORTING_ACTIVE = 2,\n};\n\nenum {\n\tPAGE_WAS_MAPPED = 1,\n\tPAGE_WAS_MLOCKED = 2,\n\tPAGE_OLD_STATES = 3,\n};\n\nenum {\n\tPAPR_MISCDEV_IOC_ID = 178,\n};\n\nenum {\n\tPAPR_SYSPARM_MAX_INPUT = 1024,\n\tPAPR_SYSPARM_MAX_OUTPUT = 4000,\n};\n\nenum {\n\tPARSE_INVALID = 1,\n\tPARSE_NOT_LONGNAME = 2,\n\tPARSE_EOF = 3,\n};\n\nenum {\n\tPCI_REASSIGN_ALL_RSRC = 1,\n\tPCI_REASSIGN_ALL_BUS = 2,\n\tPCI_PROBE_ONLY = 4,\n\tPCI_CAN_SKIP_ISA_ALIGN = 8,\n\tPCI_ENABLE_PROC_DOMAINS = 16,\n\tPCI_COMPAT_DOMAIN_0 = 32,\n\tPCI_SCAN_ALL_PCIE_DEVS = 64,\n};\n\nenum {\n\tPCI_STD_RESOURCES = 0,\n\tPCI_STD_RESOURCE_END = 5,\n\tPCI_ROM_RESOURCE = 6,\n\tPCI_BRIDGE_RESOURCES = 7,\n\tPCI_BRIDGE_RESOURCE_END = 10,\n\tPCI_NUM_RESOURCES = 11,\n\tDEVICE_COUNT_RESOURCE = 11,\n};\n\nenum {\n\tPCMCIA_IOPORT_0 = 0,\n\tPCMCIA_IOPORT_1 = 1,\n\tPCMCIA_IOMEM_0 = 2,\n\tPCMCIA_IOMEM_1 = 3,\n\tPCMCIA_IOMEM_2 = 4,\n\tPCMCIA_IOMEM_3 = 5,\n\tPCMCIA_NUM_RESOURCES = 6,\n};\n\nenum {\n\tPERCPU_REF_INIT_ATOMIC = 1,\n\tPERCPU_REF_INIT_DEAD = 2,\n\tPERCPU_REF_ALLOW_REINIT = 4,\n};\n\nenum {\n\tPER_LINUX = 0,\n\tPER_LINUX_32BIT = 8388608,\n\tPER_LINUX_FDPIC = 524288,\n\tPER_SVR4 = 68157441,\n\tPER_SVR3 = 83886082,\n\tPER_SCOSVR3 = 117440515,\n\tPER_OSR5 = 100663299,\n\tPER_WYSEV386 = 83886084,\n\tPER_ISCR4 = 67108869,\n\tPER_BSD = 6,\n\tPER_SUNOS = 67108870,\n\tPER_XENIX = 83886087,\n\tPER_LINUX32 = 8,\n\tPER_LINUX32_3GB = 134217736,\n\tPER_IRIX32 = 67108873,\n\tPER_IRIXN32 = 67108874,\n\tPER_IRIX64 = 67108875,\n\tPER_RISCOS = 12,\n\tPER_SOLARIS = 67108877,\n\tPER_UW7 = 68157454,\n\tPER_OSF4 = 15,\n\tPER_HPUX = 16,\n\tPER_MASK = 255,\n};\n\nenum {\n\tPG_BUSY = 0,\n\tPG_MAPPED = 1,\n\tPG_FOLIO = 2,\n\tPG_CLEAN = 3,\n\tPG_COMMIT_TO_DS = 4,\n\tPG_INODE_REF = 5,\n\tPG_HEADLOCK = 6,\n\tPG_TEARDOWN = 7,\n\tPG_UNLOCKPAGE = 8,\n\tPG_UPTODATE = 9,\n\tPG_WB_END = 10,\n\tPG_REMOVE = 11,\n\tPG_CONTENDED1 = 12,\n\tPG_CONTENDED2 = 13,\n};\n\nenum {\n\tPLAT8250_DEV_LEGACY = -1,\n\tPLAT8250_DEV_PLATFORM = 0,\n\tPLAT8250_DEV_PLATFORM1 = 1,\n\tPLAT8250_DEV_PLATFORM2 = 2,\n\tPLAT8250_DEV_FOURPORT = 3,\n\tPLAT8250_DEV_ACCENT = 4,\n\tPLAT8250_DEV_BOCA = 5,\n\tPLAT8250_DEV_EXAR_ST16C554 = 6,\n\tPLAT8250_DEV_HUB6 = 7,\n\tPLAT8250_DEV_AU1X00 = 8,\n\tPLAT8250_DEV_SM501 = 9,\n};\n\nenum {\n\tPM_BR_CMPL = 315486,\n};\n\nenum {\n\tPM_BR_FIN = 192586,\n};\n\nenum {\n\tPM_BR_MPRED_CMPL = 262390,\n};\n\nenum {\n\tPM_CYC = 393460,\n};\n\nenum {\n\tPM_CYC___2 = 30,\n\tPM_GCT_NOSLOT_CYC = 65784,\n\tPM_CMPLU_STALL = 262154,\n\tPM_INST_CMPL = 2,\n\tPM_BRU_FIN = 65640,\n\tPM_BR_MPRED_CMPL___2 = 262390,\n\tPM_LD_REF_L1 = 65774,\n\tPM_LD_MISS_L1 = 254036,\n\tPM_ST_MISS_L1 = 196848,\n\tPM_L1_PREF = 55480,\n\tPM_INST_FROM_L1 = 16512,\n\tPM_L1_ICACHE_MISS = 131325,\n\tPM_L1_DEMAND_WRITE = 16524,\n\tPM_IC_PREF_WRITE = 16526,\n\tPM_DATA_FROM_L3 = 311362,\n\tPM_DATA_FROM_L3MISS = 196862,\n\tPM_L2_ST = 94336,\n\tPM_L2_ST_MISS = 94338,\n\tPM_L3_PREF_ALL = 319570,\n\tPM_DTLB_MISS = 196860,\n\tPM_ITLB_MISS = 262396,\n\tPM_RUN_INST_CMPL = 327930,\n\tPM_RUN_INST_CMPL_ALT = 262394,\n\tPM_RUN_CYC = 393460,\n\tPM_RUN_CYC_ALT = 131316,\n\tPM_MRK_ST_CMPL = 65844,\n\tPM_MRK_ST_CMPL_ALT = 197090,\n\tPM_BR_MRK_2PATH = 65848,\n\tPM_BR_MRK_2PATH_ALT = 262456,\n\tPM_L3_CO_MEPF = 98434,\n\tPM_L3_CO_MEPF_ALT = 254046,\n\tPM_MRK_DATA_FROM_L2MISS = 119118,\n\tPM_MRK_DATA_FROM_L2MISS_ALT = 262632,\n\tPM_CMPLU_STALL_ALT = 122964,\n\tPM_BR_2PATH = 131126,\n\tPM_BR_2PATH_ALT = 262198,\n\tPM_INST_DISP = 131314,\n\tPM_INST_DISP_ALT = 196850,\n\tPM_MRK_FILT_MATCH = 131388,\n\tPM_MRK_FILT_MATCH_ALT = 196910,\n\tPM_LD_MISS_L1_ALT = 262384,\n\tMEM_ACCESS = 17039840,\n};\n\nenum {\n\tPM_CYC___3 = 30ULL,\n\tPM_ICT_NOSLOT_CYC = 65784ULL,\n\tPM_CMPLU_STALL___2 = 122964ULL,\n\tPM_INST_CMPL___2 = 2ULL,\n\tPM_BR_CMPL___2 = 315486ULL,\n\tPM_BR_MPRED_CMPL___3 = 262390ULL,\n\tPM_LD_REF_L1___2 = 65788ULL,\n\tPM_LD_MISS_L1_FIN = 180302ULL,\n\tPM_LD_MISS_L1___2 = 254036ULL,\n\tPM_LD_MISS_L1_ALT___2 = 262384ULL,\n\tPM_ST_MISS_L1___2 = 196848ULL,\n\tPM_L1_PREF___2 = 131156ULL,\n\tPM_INST_FROM_L1___2 = 16512ULL,\n\tPM_L1_ICACHE_MISS___2 = 131325ULL,\n\tPM_L1_DEMAND_WRITE___2 = 16524ULL,\n\tPM_IC_PREF_WRITE___2 = 18572ULL,\n\tPM_DATA_FROM_L3___2 = 311362ULL,\n\tPM_DATA_FROM_L3MISS___2 = 196862ULL,\n\tPM_L2_ST___2 = 92288ULL,\n\tPM_L2_ST_MISS___2 = 157824ULL,\n\tPM_L3_PREF_ALL___2 = 319570ULL,\n\tPM_DTLB_MISS___2 = 196860ULL,\n\tPM_ITLB_MISS___2 = 262396ULL,\n\tPM_RUN_INST_CMPL___2 = 327930ULL,\n\tPM_RUN_INST_CMPL_ALT___2 = 262394ULL,\n\tPM_RUN_CYC___2 = 393460ULL,\n\tPM_RUN_CYC_ALT___2 = 131316ULL,\n\tPM_INST_DISP___2 = 131314ULL,\n\tPM_INST_DISP_ALT___2 = 196850ULL,\n\tPM_BR_2PATH___2 = 131126ULL,\n\tPM_BR_2PATH_ALT___2 = 262198ULL,\n\tPM_MRK_ST_DONE_L2 = 65844ULL,\n\tPM_RADIX_PWC_L1_HIT = 127062ULL,\n\tPM_FLOP_CMPL = 65780ULL,\n\tPM_MRK_NTF_FIN = 131346ULL,\n\tPM_RADIX_PWC_L2_HIT = 184356ULL,\n\tPM_IFETCH_THROTTLE = 213086ULL,\n\tPM_MRK_L2_TM_ST_ABORT_SISTER = 254300ULL,\n\tPM_RADIX_PWC_L3_HIT = 258134ULL,\n\tPM_RUN_CYC_SMT2_MODE = 196716ULL,\n\tPM_TM_TX_PASS_RUN_INST = 319508ULL,\n\tPM_DISP_HELD_SYNC_HOLD = 262204ULL,\n\tPM_DTLB_MISS_16G = 114776ULL,\n\tPM_DERAT_MISS_2M = 114778ULL,\n\tPM_DTLB_MISS_2M = 114780ULL,\n\tPM_MRK_DTLB_MISS_1G = 119132ULL,\n\tPM_DTLB_MISS_4K = 180310ULL,\n\tPM_DERAT_MISS_1G = 180314ULL,\n\tPM_MRK_DERAT_MISS_2M = 184658ULL,\n\tPM_MRK_DTLB_MISS_4K = 184662ULL,\n\tPM_MRK_DTLB_MISS_16G = 184670ULL,\n\tPM_DTLB_MISS_64K = 245846ULL,\n\tPM_MRK_DERAT_MISS_1G = 250194ULL,\n\tPM_MRK_DTLB_MISS_64K = 250198ULL,\n\tPM_DTLB_MISS_16M = 311382ULL,\n\tPM_DTLB_MISS_1G = 311386ULL,\n\tPM_MRK_DTLB_MISS_16M = 311646ULL,\n\tMEM_LOADS___2 = 224210977248ULL,\n\tMEM_STORES___2 = 224345194976ULL,\n};\n\nenum {\n\tPM_CYC_ALT = 30,\n};\n\nenum {\n\tPM_CYC_ALT___2 = 65776,\n\tPM_CYC_INST_CMPL = 65778,\n\tPM_FLOP_CMPL___2 = 65780,\n\tPM_L1_ITLB_MISS = 65782,\n\tPM_NO_INST_AVAIL = 65784,\n\tPM_LD_CMPL = 65788,\n\tPM_INST_CMPL_ALT = 65790,\n\tPM_ST_CMPL = 131312,\n\tPM_INST_DISP___3 = 131314,\n\tPM_RUN_CYC___3 = 131316,\n\tPM_L1_DTLB_RELOAD = 131318,\n\tPM_BR_TAKEN_CMPL = 131322,\n\tPM_L1_ICACHE_MISS___3 = 131324,\n\tPM_L1_RELOAD_FROM_MEM = 131326,\n\tPM_ST_MISS_L1___3 = 196848,\n\tPM_INST_DISP_ALT___3 = 196850,\n\tPM_BR_MISPREDICT = 196854,\n\tPM_DTLB_MISS___3 = 196860,\n\tPM_DATA_FROM_L3MISS___3 = 196862,\n\tPM_LD_MISS_L1___3 = 262384,\n\tPM_CYC_INST_DISP = 262386,\n\tPM_BR_MPRED_CMPL___4 = 262390,\n\tPM_RUN_INST_CMPL___3 = 262394,\n\tPM_ITLB_MISS___3 = 262396,\n\tPM_LD_NOT_CACHED = 262398,\n\tPM_INST_CMPL___3 = 327930,\n\tPM_CYC___4 = 393460,\n};\n\nenum {\n\tPM_DATA_FROM_L3___3 = 5418393301794880ULL,\n};\n\nenum {\n\tPM_DATA_FROM_L3MISS___4 = 196862,\n};\n\nenum {\n\tPM_DTLB_MISS___4 = 196860,\n};\n\nenum {\n\tPM_IC_DEMAND_L2_BR_ALL = 18584,\n\tPM_GCT_UTIL_7_TO_10_SLOTS = 8352,\n\tPM_PMC2_SAVED = 65570,\n\tPM_CMPLU_STALL_DFU = 131132,\n\tPM_VSU0_16FLOP = 41124,\n\tPM_MRK_LSU_DERAT_MISS = 249946,\n\tPM_MRK_ST_CMPL___2 = 65588,\n\tPM_NEST_PAIR3_ADD = 264321,\n\tPM_L2_ST_DISP = 287104,\n\tPM_L2_CASTOUT_MOD = 90496,\n\tPM_ISEG = 8356,\n\tPM_MRK_INST_TIMEO = 262196,\n\tPM_L2_RCST_DISP_FAIL_ADDR = 221826,\n\tPM_LSU1_DC_PREF_STREAM_CONFIRM = 53430,\n\tPM_IERAT_WR_64K = 16574,\n\tPM_MRK_DTLB_MISS_16M___2 = 315486,\n\tPM_IERAT_MISS = 65782,\n\tPM_MRK_PTEG_FROM_LMEM = 315474,\n\tPM_FLOP = 65780,\n\tPM_THRD_PRIO_4_5_CYC = 16564,\n\tPM_BR_PRED_TA = 16554,\n\tPM_CMPLU_STALL_FXU = 131092,\n\tPM_EXT_INT = 131320,\n\tPM_VSU_FSQRT_FDIV = 43144,\n\tPM_MRK_LD_MISS_EXPOSED_CYC = 65598,\n\tPM_LSU1_LDF = 49286,\n\tPM_IC_WRITE_ALL = 18572,\n\tPM_LSU0_SRQ_STFWD = 49312,\n\tPM_PTEG_FROM_RL2L3_MOD = 114770,\n\tPM_MRK_DATA_FROM_L31_SHR = 118862,\n\tPM_DATA_FROM_L21_MOD = 245830,\n\tPM_VSU1_SCAL_DOUBLE_ISSUED = 45194,\n\tPM_VSU0_8FLOP = 41120,\n\tPM_POWER_EVENT1 = 65646,\n\tPM_DISP_CLB_HELD_BAL = 8338,\n\tPM_VSU1_2FLOP = 41114,\n\tPM_LWSYNC_HELD = 8346,\n\tPM_PTEG_FROM_DL2L3_SHR = 245844,\n\tPM_INST_FROM_L21_MOD = 213062,\n\tPM_IERAT_XLATE_WR_16MPLUS = 16572,\n\tPM_IC_REQ_ALL = 18568,\n\tPM_DSLB_MISS = 53392,\n\tPM_L3_MISS = 127106,\n\tPM_LSU0_L1_PREF = 53432,\n\tPM_VSU_SCALAR_SINGLE_ISSUED = 47236,\n\tPM_LSU1_DC_PREF_STREAM_CONFIRM_STRIDE = 53438,\n\tPM_L2_INST = 221312,\n\tPM_VSU0_FRSP = 41140,\n\tPM_FLUSH_DISP = 8322,\n\tPM_PTEG_FROM_L2MISS = 311384,\n\tPM_VSU1_DQ_ISSUED = 45210,\n\tPM_CMPLU_STALL_LSU = 131090,\n\tPM_MRK_DATA_FROM_DMEM = 118858,\n\tPM_LSU_FLUSH_ULD = 51376,\n\tPM_PTEG_FROM_LMEM = 311378,\n\tPM_MRK_DERAT_MISS_16M = 249948,\n\tPM_THRD_ALL_RUN_CYC = 131084,\n\tPM_MEM0_PREFETCH_DISP = 131203,\n\tPM_MRK_STALL_CMPLU_CYC_COUNT = 196671,\n\tPM_DATA_FROM_DL2L3_MOD = 245836,\n\tPM_VSU_FRSP = 43188,\n\tPM_MRK_DATA_FROM_L21_MOD = 249926,\n\tPM_PMC1_OVERFLOW = 131088,\n\tPM_VSU0_SINGLE = 41128,\n\tPM_MRK_PTEG_FROM_L3MISS = 184408,\n\tPM_MRK_PTEG_FROM_L31_SHR = 184406,\n\tPM_VSU0_VECTOR_SP_ISSUED = 45200,\n\tPM_VSU1_FEST = 41146,\n\tPM_MRK_INST_DISP = 131120,\n\tPM_VSU0_COMPLEX_ISSUED = 45206,\n\tPM_LSU1_FLUSH_UST = 49334,\n\tPM_INST_CMPL___4 = 2,\n\tPM_FXU_IDLE = 65550,\n\tPM_LSU0_FLUSH_ULD = 49328,\n\tPM_MRK_DATA_FROM_DL2L3_MOD = 249932,\n\tPM_LSU_LMQ_SRQ_EMPTY_ALL_CYC = 196636,\n\tPM_LSU1_REJECT_LMQ_FULL = 49318,\n\tPM_INST_PTEG_FROM_L21_MOD = 254038,\n\tPM_INST_FROM_RL2L3_MOD = 81986,\n\tPM_SHL_CREATED = 20610,\n\tPM_L2_ST_HIT = 287106,\n\tPM_DATA_FROM_DMEM = 114762,\n\tPM_L3_LD_MISS = 192642,\n\tPM_FXU1_BUSY_FXU0_IDLE = 262158,\n\tPM_DISP_CLB_HELD_RES = 8340,\n\tPM_L2_SN_SX_I_DONE = 222082,\n\tPM_GRP_CMPL = 196612,\n\tPM_STCX_CMPL = 49304,\n\tPM_VSU0_2FLOP = 41112,\n\tPM_L3_PREF_MISS = 258178,\n\tPM_LSU_SRQ_SYNC_CYC = 53398,\n\tPM_LSU_REJECT_ERAT_MISS = 131172,\n\tPM_L1_ICACHE_MISS___4 = 131324,\n\tPM_LSU1_FLUSH_SRQ = 49342,\n\tPM_LD_REF_L1_LSU0 = 49280,\n\tPM_VSU0_FEST = 41144,\n\tPM_VSU_VECTOR_SINGLE_ISSUED = 47248,\n\tPM_FREQ_UP = 262156,\n\tPM_DATA_FROM_LMEM = 245834,\n\tPM_LSU1_LDX = 49290,\n\tPM_PMC3_OVERFLOW = 262160,\n\tPM_MRK_BR_MPRED = 196662,\n\tPM_SHL_MATCH = 20614,\n\tPM_MRK_BR_TAKEN = 65590,\n\tPM_CMPLU_STALL_BRU = 262222,\n\tPM_ISLB_MISS = 53394,\n\tPM_CYC___5 = 30,\n\tPM_DISP_HELD_THERMAL = 196614,\n\tPM_INST_PTEG_FROM_RL2L3_SHR = 188500,\n\tPM_LSU1_SRQ_STFWD = 49314,\n\tPM_GCT_NOSLOT_BR_MPRED = 262170,\n\tPM_1PLUS_PPC_CMPL = 65778,\n\tPM_PTEG_FROM_DMEM = 180306,\n\tPM_VSU_2FLOP = 43160,\n\tPM_GCT_FULL_CYC = 16518,\n\tPM_MRK_DATA_FROM_L3_CYC = 262176,\n\tPM_LSU_SRQ_S0_ALLOC = 53405,\n\tPM_MRK_DERAT_MISS_4K = 118876,\n\tPM_BR_MPRED_TA = 16558,\n\tPM_INST_PTEG_FROM_L2MISS = 319576,\n\tPM_DPU_HELD_POWER = 131078,\n\tPM_RUN_INST_CMPL___4 = 262394,\n\tPM_MRK_VSU_FIN = 196658,\n\tPM_LSU_SRQ_S0_VALID = 53404,\n\tPM_GCT_EMPTY_CYC = 131080,\n\tPM_IOPS_DISP = 196628,\n\tPM_RUN_SPURR = 65544,\n\tPM_PTEG_FROM_L21_MOD = 245846,\n\tPM_VSU0_1FLOP = 41088,\n\tPM_SNOOP_TLBIE = 53426,\n\tPM_DATA_FROM_L3MISS___5 = 180296,\n\tPM_VSU_SINGLE = 43176,\n\tPM_DTLB_MISS_16G___2 = 114782,\n\tPM_CMPLU_STALL_VECTOR = 131100,\n\tPM_FLUSH = 262392,\n\tPM_L2_LD_HIT = 221570,\n\tPM_NEST_PAIR2_AND = 198787,\n\tPM_VSU1_1FLOP = 41090,\n\tPM_IC_PREF_REQ = 16522,\n\tPM_L3_LD_HIT = 192640,\n\tPM_GCT_NOSLOT_IC_MISS = 131098,\n\tPM_DISP_HELD = 65542,\n\tPM_L2_LD = 90240,\n\tPM_LSU_FLUSH_SRQ = 51388,\n\tPM_BC_PLUS_8_CONV = 16568,\n\tPM_MRK_DATA_FROM_L31_MOD_CYC = 262182,\n\tPM_CMPLU_STALL_VECTOR_LONG = 262218,\n\tPM_L2_RCST_BUSY_RC_FULL = 156290,\n\tPM_TB_BIT_TRANS = 196856,\n\tPM_THERMAL_MAX = 262150,\n\tPM_LSU1_FLUSH_ULD = 49330,\n\tPM_LSU1_REJECT_LHS = 49326,\n\tPM_LSU_LRQ_S0_ALLOC = 53407,\n\tPM_L3_CO_L31 = 323712,\n\tPM_POWER_EVENT4 = 262254,\n\tPM_DATA_FROM_L31_SHR = 114766,\n\tPM_BR_UNCOND = 16542,\n\tPM_LSU1_DC_PREF_STREAM_ALLOC = 53418,\n\tPM_PMC4_REWIND = 65568,\n\tPM_L2_RCLD_DISP = 90752,\n\tPM_THRD_PRIO_2_3_CYC = 16562,\n\tPM_MRK_PTEG_FROM_L2MISS = 315480,\n\tPM_IC_DEMAND_L2_BHT_REDIRECT = 16536,\n\tPM_LSU_DERAT_MISS = 131318,\n\tPM_IC_PREF_CANCEL_L2 = 16532,\n\tPM_MRK_FIN_STALL_CYC_COUNT = 65597,\n\tPM_BR_PRED_CCACHE = 16544,\n\tPM_GCT_UTIL_1_TO_2_SLOTS = 8348,\n\tPM_MRK_ST_CMPL_INT = 196660,\n\tPM_LSU_TWO_TABLEWALK_CYC = 53414,\n\tPM_MRK_DATA_FROM_L3MISS = 184392,\n\tPM_GCT_NOSLOT_CYC___2 = 65784,\n\tPM_LSU_SET_MPRED = 49320,\n\tPM_FLUSH_DISP_TLBIE = 8330,\n\tPM_VSU1_FCONV = 41138,\n\tPM_DERAT_MISS_16G = 311388,\n\tPM_INST_FROM_LMEM = 213066,\n\tPM_IC_DEMAND_L2_BR_REDIRECT = 16538,\n\tPM_CMPLU_STALL_SCALAR_LONG = 131096,\n\tPM_INST_PTEG_FROM_L2 = 122960,\n\tPM_PTEG_FROM_L2 = 114768,\n\tPM_MRK_DATA_FROM_L21_SHR_CYC = 131108,\n\tPM_MRK_DTLB_MISS_4K___2 = 184410,\n\tPM_VSU0_FPSCR = 45212,\n\tPM_VSU1_VECT_DOUBLE_ISSUED = 45186,\n\tPM_MRK_PTEG_FROM_RL2L3_MOD = 118866,\n\tPM_MEM0_RQ_DISP = 65667,\n\tPM_L2_LD_MISS = 155776,\n\tPM_VMX_RESULT_SAT_1 = 45216,\n\tPM_L1_PREF___3 = 55480,\n\tPM_MRK_DATA_FROM_LMEM_CYC = 131116,\n\tPM_GRP_IC_MISS_NONSPEC = 65548,\n\tPM_PB_NODE_PUMP = 65665,\n\tPM_SHL_MERGED = 20612,\n\tPM_NEST_PAIR1_ADD = 133249,\n\tPM_DATA_FROM_L3___4 = 114760,\n\tPM_LSU_FLUSH = 8334,\n\tPM_LSU_SRQ_SYNC_COUNT = 53399,\n\tPM_PMC2_OVERFLOW = 196624,\n\tPM_LSU_LDF = 51332,\n\tPM_POWER_EVENT3 = 196718,\n\tPM_DISP_WT = 196616,\n\tPM_CMPLU_STALL_REJECT = 262166,\n\tPM_IC_BANK_CONFLICT = 16514,\n\tPM_BR_MPRED_CR_TA = 18606,\n\tPM_L2_INST_MISS = 221314,\n\tPM_CMPLU_STALL_ERAT_MISS = 262168,\n\tPM_NEST_PAIR2_ADD = 198785,\n\tPM_MRK_LSU_FLUSH = 53388,\n\tPM_L2_LDST = 92288,\n\tPM_INST_FROM_L31_SHR = 81998,\n\tPM_VSU0_FIN = 41148,\n\tPM_LARX_LSU = 51348,\n\tPM_INST_FROM_RMEM = 213058,\n\tPM_DISP_CLB_HELD_TLBIE = 8342,\n\tPM_MRK_DATA_FROM_DMEM_CYC = 131118,\n\tPM_BR_PRED_CR = 16552,\n\tPM_LSU_REJECT = 65636,\n\tPM_GCT_UTIL_3_TO_6_SLOTS = 8350,\n\tPM_CMPLU_STALL_END_GCT_NOSLOT = 65576,\n\tPM_LSU0_REJECT_LMQ_FULL = 49316,\n\tPM_VSU_FEST = 43192,\n\tPM_NEST_PAIR0_AND = 67715,\n\tPM_PTEG_FROM_L3 = 180304,\n\tPM_POWER_EVENT2 = 131182,\n\tPM_IC_PREF_CANCEL_PAGE = 16528,\n\tPM_VSU0_FSQRT_FDIV = 41096,\n\tPM_MRK_GRP_CMPL = 262192,\n\tPM_VSU0_SCAL_DOUBLE_ISSUED = 45192,\n\tPM_GRP_DISP = 196618,\n\tPM_LSU0_LDX = 49288,\n\tPM_DATA_FROM_L2 = 114752,\n\tPM_MRK_DATA_FROM_RL2L3_MOD = 118850,\n\tPM_LD_REF_L1___3 = 51328,\n\tPM_VSU0_VECT_DOUBLE_ISSUED = 45184,\n\tPM_VSU1_2FLOP_DOUBLE = 41102,\n\tPM_THRD_PRIO_6_7_CYC = 16566,\n\tPM_BC_PLUS_8_RSLV_TAKEN = 16570,\n\tPM_BR_MPRED_CR = 16556,\n\tPM_L3_CO_MEM = 323714,\n\tPM_LD_MISS_L1___4 = 262384,\n\tPM_DATA_FROM_RL2L3_MOD = 114754,\n\tPM_LSU_SRQ_FULL_CYC = 65562,\n\tPM_TABLEWALK_CYC = 65574,\n\tPM_MRK_PTEG_FROM_RMEM = 249938,\n\tPM_LSU_SRQ_STFWD = 51360,\n\tPM_INST_PTEG_FROM_RMEM = 254034,\n\tPM_FXU0_FIN = 65540,\n\tPM_LSU1_L1_SW_PREF = 49310,\n\tPM_PTEG_FROM_L31_MOD = 114772,\n\tPM_PMC5_OVERFLOW = 65572,\n\tPM_LD_REF_L1_LSU1 = 49282,\n\tPM_INST_PTEG_FROM_L21_SHR = 319574,\n\tPM_CMPLU_STALL_THRD = 65564,\n\tPM_DATA_FROM_RMEM = 245826,\n\tPM_VSU0_SCAL_SINGLE_ISSUED = 45188,\n\tPM_BR_MPRED_LSTACK = 16550,\n\tPM_MRK_DATA_FROM_RL2L3_MOD_CYC = 262184,\n\tPM_LSU0_FLUSH_UST = 49332,\n\tPM_LSU_NCST = 49296,\n\tPM_BR_TAKEN = 131076,\n\tPM_INST_PTEG_FROM_LMEM = 319570,\n\tPM_GCT_NOSLOT_BR_MPRED_IC_MISS = 262172,\n\tPM_DTLB_MISS_4K___2 = 180314,\n\tPM_PMC4_SAVED = 196642,\n\tPM_VSU1_PERMUTE_ISSUED = 45202,\n\tPM_SLB_MISS = 55440,\n\tPM_LSU1_FLUSH_LRQ = 49338,\n\tPM_DTLB_MISS___5 = 196860,\n\tPM_VSU1_FRSP = 41142,\n\tPM_VSU_VECTOR_DOUBLE_ISSUED = 47232,\n\tPM_L2_CASTOUT_SHR = 90498,\n\tPM_DATA_FROM_DL2L3_SHR = 245828,\n\tPM_VSU1_STF = 45198,\n\tPM_ST_FIN = 131312,\n\tPM_PTEG_FROM_L21_SHR = 311382,\n\tPM_L2_LOC_GUESS_WRONG = 156800,\n\tPM_MRK_STCX_FAIL = 53390,\n\tPM_LSU0_REJECT_LHS = 49324,\n\tPM_IC_PREF_CANCEL_HIT = 16530,\n\tPM_L3_PREF_BUSY = 323712,\n\tPM_MRK_BRU_FIN = 131130,\n\tPM_LSU1_NCLD = 49294,\n\tPM_INST_PTEG_FROM_L31_MOD = 122964,\n\tPM_LSU_NCLD = 51340,\n\tPM_LSU_LDX = 51336,\n\tPM_L2_LOC_GUESS_CORRECT = 91264,\n\tPM_THRESH_TIMEO = 65592,\n\tPM_L3_PREF_ST = 53422,\n\tPM_DISP_CLB_HELD_SYNC = 8344,\n\tPM_VSU_SIMPLE_ISSUED = 47252,\n\tPM_VSU1_SINGLE = 41130,\n\tPM_DATA_TABLEWALK_CYC = 196634,\n\tPM_L2_RC_ST_DONE = 222080,\n\tPM_MRK_PTEG_FROM_L21_MOD = 249942,\n\tPM_LARX_LSU1 = 49302,\n\tPM_MRK_DATA_FROM_RMEM = 249922,\n\tPM_DISP_CLB_HELD = 8336,\n\tPM_DERAT_MISS_4K = 114780,\n\tPM_L2_RCLD_DISP_FAIL_ADDR = 90754,\n\tPM_SEG_EXCEPTION = 10404,\n\tPM_FLUSH_DISP_SB = 8332,\n\tPM_L2_DC_INV = 156034,\n\tPM_PTEG_FROM_DL2L3_MOD = 311380,\n\tPM_DSEG = 8358,\n\tPM_BR_PRED_LSTACK = 16546,\n\tPM_VSU0_STF = 45196,\n\tPM_LSU_FX_FIN = 65638,\n\tPM_DERAT_MISS_16M = 245852,\n\tPM_MRK_PTEG_FROM_DL2L3_MOD = 315476,\n\tPM_GCT_UTIL_11_PLUS_SLOTS = 8354,\n\tPM_INST_FROM_L3 = 81992,\n\tPM_MRK_IFU_FIN = 196666,\n\tPM_ITLB_MISS___4 = 262396,\n\tPM_VSU_STF = 47244,\n\tPM_LSU_FLUSH_UST = 51380,\n\tPM_L2_LDST_MISS = 157824,\n\tPM_FXU1_FIN = 262148,\n\tPM_SHL_DEALLOCATED = 20608,\n\tPM_L2_SN_M_WR_DONE = 287618,\n\tPM_LSU_REJECT_SET_MPRED = 51368,\n\tPM_L3_PREF_LD = 53420,\n\tPM_L2_SN_M_RD_DONE = 287616,\n\tPM_MRK_DERAT_MISS_16G = 315484,\n\tPM_VSU_FCONV = 43184,\n\tPM_ANY_THRD_RUN_CYC = 65786,\n\tPM_LSU_LMQ_FULL_CYC = 53412,\n\tPM_MRK_LSU_REJECT_LHS = 53378,\n\tPM_MRK_LD_MISS_L1_CYC = 262206,\n\tPM_MRK_DATA_FROM_L2_CYC = 131104,\n\tPM_INST_IMC_MATCH_DISP = 196630,\n\tPM_MRK_DATA_FROM_RMEM_CYC = 262188,\n\tPM_VSU0_SIMPLE_ISSUED = 45204,\n\tPM_CMPLU_STALL_DIV = 262164,\n\tPM_MRK_PTEG_FROM_RL2L3_SHR = 184404,\n\tPM_VSU_FMA_DOUBLE = 43152,\n\tPM_VSU_4FLOP = 43164,\n\tPM_VSU1_FIN = 41150,\n\tPM_NEST_PAIR1_AND = 133251,\n\tPM_INST_PTEG_FROM_RL2L3_MOD = 122962,\n\tPM_RUN_CYC___4 = 131316,\n\tPM_PTEG_FROM_RMEM = 245842,\n\tPM_LSU_LRQ_S0_VALID = 53406,\n\tPM_LSU0_LDF = 49284,\n\tPM_FLUSH_COMPLETION = 196626,\n\tPM_ST_MISS_L1___4 = 196848,\n\tPM_L2_NODE_PUMP = 222336,\n\tPM_INST_FROM_DL2L3_SHR = 213060,\n\tPM_MRK_STALL_CMPLU_CYC = 196670,\n\tPM_VSU1_DENORM = 41134,\n\tPM_MRK_DATA_FROM_L31_SHR_CYC = 131110,\n\tPM_NEST_PAIR0_ADD = 67713,\n\tPM_INST_FROM_L3MISS = 147528,\n\tPM_EE_OFF_EXT_INT = 8320,\n\tPM_INST_PTEG_FROM_DMEM = 188498,\n\tPM_INST_FROM_DL2L3_MOD = 213068,\n\tPM_PMC6_OVERFLOW = 196644,\n\tPM_VSU_2FLOP_DOUBLE = 43148,\n\tPM_TLB_MISS = 131174,\n\tPM_FXU_BUSY = 131086,\n\tPM_L2_RCLD_DISP_FAIL_OTHER = 156288,\n\tPM_LSU_REJECT_LMQ_FULL = 51364,\n\tPM_IC_RELOAD_SHR = 16534,\n\tPM_GRP_MRK = 65585,\n\tPM_MRK_ST_NEST = 131124,\n\tPM_VSU1_FSQRT_FDIV = 41098,\n\tPM_LSU0_FLUSH_LRQ = 49336,\n\tPM_LARX_LSU0 = 49300,\n\tPM_IBUF_FULL_CYC = 16516,\n\tPM_MRK_DATA_FROM_DL2L3_SHR_CYC = 131114,\n\tPM_LSU_DC_PREF_STREAM_ALLOC = 55464,\n\tPM_GRP_MRK_CYC = 65584,\n\tPM_MRK_DATA_FROM_RL2L3_SHR_CYC = 131112,\n\tPM_L2_GLOB_GUESS_CORRECT = 91266,\n\tPM_LSU_REJECT_LHS = 51372,\n\tPM_MRK_DATA_FROM_LMEM = 249930,\n\tPM_INST_PTEG_FROM_L3 = 188496,\n\tPM_FREQ_DOWN = 196620,\n\tPM_PB_RETRY_NODE_PUMP = 196737,\n\tPM_INST_FROM_RL2L3_SHR = 81996,\n\tPM_MRK_INST_ISSUED = 65586,\n\tPM_PTEG_FROM_L3MISS = 180312,\n\tPM_RUN_PURR = 262388,\n\tPM_MRK_GRP_IC_MISS = 262200,\n\tPM_MRK_DATA_FROM_L3 = 118856,\n\tPM_CMPLU_STALL_DCACHE_MISS = 131094,\n\tPM_PTEG_FROM_RL2L3_SHR = 180308,\n\tPM_LSU_FLUSH_LRQ = 51384,\n\tPM_MRK_DERAT_MISS_64K = 184412,\n\tPM_INST_PTEG_FROM_DL2L3_MOD = 319572,\n\tPM_L2_ST_MISS___3 = 155778,\n\tPM_MRK_PTEG_FROM_L21_SHR = 315478,\n\tPM_LWSYNC = 53396,\n\tPM_LSU0_DC_PREF_STREAM_CONFIRM_STRIDE = 53436,\n\tPM_MRK_LSU_FLUSH_LRQ = 53384,\n\tPM_INST_IMC_MATCH_CMPL = 65776,\n\tPM_NEST_PAIR3_AND = 264323,\n\tPM_PB_RETRY_SYS_PUMP = 262273,\n\tPM_MRK_INST_FIN = 196656,\n\tPM_MRK_PTEG_FROM_DL2L3_SHR = 249940,\n\tPM_INST_FROM_L31_MOD = 81988,\n\tPM_MRK_DTLB_MISS_64K___2 = 249950,\n\tPM_LSU_FIN = 196710,\n\tPM_MRK_LSU_REJECT = 262244,\n\tPM_L2_CO_FAIL_BUSY = 91010,\n\tPM_MEM0_WQ_DISP = 262275,\n\tPM_DATA_FROM_L31_MOD = 114756,\n\tPM_THERMAL_WARN = 65558,\n\tPM_VSU0_4FLOP = 41116,\n\tPM_BR_MPRED_CCACHE = 16548,\n\tPM_CMPLU_STALL_IFU = 262220,\n\tPM_L1_DEMAND_WRITE___3 = 16524,\n\tPM_FLUSH_BR_MPRED = 8324,\n\tPM_MRK_DTLB_MISS_16G___2 = 118878,\n\tPM_MRK_PTEG_FROM_DMEM = 184402,\n\tPM_L2_RCST_DISP = 221824,\n\tPM_CMPLU_STALL___3 = 262154,\n\tPM_LSU_PARTIAL_CDF = 49322,\n\tPM_DISP_CLB_HELD_SB = 8360,\n\tPM_VSU0_FMA_DOUBLE = 41104,\n\tPM_FXU0_BUSY_FXU1_IDLE = 196622,\n\tPM_IC_DEMAND_CYC = 65560,\n\tPM_MRK_DATA_FROM_L21_SHR = 249934,\n\tPM_MRK_LSU_FLUSH_UST = 53382,\n\tPM_INST_PTEG_FROM_L3MISS = 188504,\n\tPM_VSU_DENORM = 43180,\n\tPM_MRK_LSU_PARTIAL_CDF = 53376,\n\tPM_INST_FROM_L21_SHR = 213070,\n\tPM_IC_PREF_WRITE___3 = 16526,\n\tPM_BR_PRED = 16540,\n\tPM_INST_FROM_DMEM = 81994,\n\tPM_IC_PREF_CANCEL_ALL = 18576,\n\tPM_LSU_DC_PREF_STREAM_CONFIRM = 55476,\n\tPM_MRK_LSU_FLUSH_SRQ = 53386,\n\tPM_MRK_FIN_STALL_CYC = 65596,\n\tPM_L2_RCST_DISP_FAIL_OTHER = 287360,\n\tPM_VSU1_DD_ISSUED = 45208,\n\tPM_PTEG_FROM_L31_SHR = 180310,\n\tPM_DATA_FROM_L21_SHR = 245838,\n\tPM_LSU0_NCLD = 49292,\n\tPM_VSU1_4FLOP = 41118,\n\tPM_VSU1_8FLOP = 41122,\n\tPM_VSU_8FLOP = 43168,\n\tPM_LSU_LMQ_SRQ_EMPTY_CYC = 131134,\n\tPM_DTLB_MISS_64K___2 = 245854,\n\tPM_THRD_CONC_RUN_INST = 196852,\n\tPM_MRK_PTEG_FROM_L2 = 118864,\n\tPM_PB_SYS_PUMP = 131201,\n\tPM_VSU_FIN = 43196,\n\tPM_MRK_DATA_FROM_L31_MOD = 118852,\n\tPM_THRD_PRIO_0_1_CYC = 16560,\n\tPM_DERAT_MISS_64K = 180316,\n\tPM_PMC2_REWIND = 196640,\n\tPM_INST_FROM_L2 = 81984,\n\tPM_GRP_BR_MPRED_NONSPEC = 65546,\n\tPM_INST_DISP___4 = 131314,\n\tPM_MEM0_RD_CANCEL_TOTAL = 196739,\n\tPM_LSU0_DC_PREF_STREAM_CONFIRM = 53428,\n\tPM_L1_DCACHE_RELOAD_VALID = 196854,\n\tPM_VSU_SCALAR_DOUBLE_ISSUED = 47240,\n\tPM_L3_PREF_HIT = 258176,\n\tPM_MRK_PTEG_FROM_L31_MOD = 118868,\n\tPM_CMPLU_STALL_STORE = 131146,\n\tPM_MRK_FXU_FIN = 131128,\n\tPM_PMC4_OVERFLOW = 65552,\n\tPM_MRK_PTEG_FROM_L3 = 184400,\n\tPM_LSU0_LMQ_LHR_MERGE = 53400,\n\tPM_BTAC_HIT = 20618,\n\tPM_L3_RD_BUSY = 323714,\n\tPM_LSU0_L1_SW_PREF = 49308,\n\tPM_INST_FROM_L2MISS = 278600,\n\tPM_LSU0_DC_PREF_STREAM_ALLOC = 53416,\n\tPM_L2_ST___3 = 90242,\n\tPM_VSU0_DENORM = 41132,\n\tPM_MRK_DATA_FROM_DL2L3_SHR = 249924,\n\tPM_BR_PRED_CR_TA = 18602,\n\tPM_VSU0_FCONV = 41136,\n\tPM_MRK_LSU_FLUSH_ULD = 53380,\n\tPM_BTAC_MISS = 20616,\n\tPM_MRK_LD_MISS_EXPOSED_CYC_COUNT = 65599,\n\tPM_MRK_DATA_FROM_L2 = 118848,\n\tPM_LSU_DCACHE_RELOAD_VALID = 53410,\n\tPM_VSU_FMA = 43140,\n\tPM_LSU0_FLUSH_SRQ = 49340,\n\tPM_LSU1_L1_PREF = 53434,\n\tPM_IOPS_CMPL = 65556,\n\tPM_L2_SYS_PUMP = 222338,\n\tPM_L2_RCLD_BUSY_RC_FULL = 287362,\n\tPM_LSU_LMQ_S0_ALLOC = 53409,\n\tPM_FLUSH_DISP_SYNC = 8328,\n\tPM_MRK_DATA_FROM_DL2L3_MOD_CYC = 262186,\n\tPM_L2_IC_INV = 156032,\n\tPM_MRK_DATA_FROM_L21_MOD_CYC = 262180,\n\tPM_L3_PREF_LDST = 55468,\n\tPM_LSU_SRQ_EMPTY_CYC = 262152,\n\tPM_LSU_LMQ_S0_VALID = 53408,\n\tPM_FLUSH_PARTIAL = 8326,\n\tPM_VSU1_FMA_DOUBLE = 41106,\n\tPM_1PLUS_PPC_DISP = 262386,\n\tPM_DATA_FROM_L2MISS = 131326,\n\tPM_SUSPENDED = 0,\n\tPM_VSU0_FMA = 41092,\n\tPM_CMPLU_STALL_SCALAR = 262162,\n\tPM_STCX_FAIL = 49306,\n\tPM_VSU0_FSQRT_FDIV_DOUBLE = 41108,\n\tPM_DC_PREF_DST = 53424,\n\tPM_VSU1_SCAL_SINGLE_ISSUED = 45190,\n\tPM_L3_HIT = 127104,\n\tPM_L2_GLOB_GUESS_WRONG = 156802,\n\tPM_MRK_DFU_FIN = 131122,\n\tPM_INST_FROM_L1___3 = 16512,\n\tPM_BRU_FIN___2 = 65640,\n\tPM_IC_DEMAND_REQ = 16520,\n\tPM_VSU1_FSQRT_FDIV_DOUBLE = 41110,\n\tPM_VSU1_FMA = 41094,\n\tPM_MRK_LD_MISS_L1 = 131126,\n\tPM_VSU0_2FLOP_DOUBLE = 41100,\n\tPM_LSU_DC_PREF_STRIDED_STREAM_CONFIRM = 55484,\n\tPM_INST_PTEG_FROM_L31_SHR = 188502,\n\tPM_MRK_LSU_REJECT_ERAT_MISS = 196708,\n\tPM_MRK_DATA_FROM_L2MISS___2 = 315464,\n\tPM_DATA_FROM_RL2L3_SHR = 114764,\n\tPM_INST_FROM_PREF = 81990,\n\tPM_VSU1_SQ = 45214,\n\tPM_L2_LD_DISP = 221568,\n\tPM_L2_DISP_ALL = 286848,\n\tPM_THRD_GRP_CMPL_BOTH_CYC = 65554,\n\tPM_VSU_FSQRT_FDIV_DOUBLE = 43156,\n\tPM_BR_MPRED = 262390,\n\tPM_INST_PTEG_FROM_DL2L3_SHR = 254036,\n\tPM_VSU_1FLOP = 43136,\n\tPM_HV_CYC = 131082,\n\tPM_MRK_LSU_FIN = 262194,\n\tPM_MRK_DATA_FROM_RL2L3_SHR = 118860,\n\tPM_DTLB_MISS_16M___2 = 311390,\n\tPM_LSU1_LMQ_LHR_MERGE = 53402,\n\tPM_IFU_FIN = 262246,\n\tPM_1THRD_CON_RUN_INSTR = 196706,\n\tPM_CMPLU_STALL_COUNT = 262155,\n\tPM_MEM0_PB_RD_CL = 196739,\n\tPM_THRD_1_RUN_CYC = 65632,\n\tPM_THRD_2_CONC_RUN_INSTR = 262242,\n\tPM_THRD_2_RUN_CYC = 131168,\n\tPM_THRD_3_CONC_RUN_INST = 65634,\n\tPM_THRD_3_RUN_CYC = 196704,\n\tPM_THRD_4_CONC_RUN_INST = 131170,\n\tPM_THRD_4_RUN_CYC = 262240,\n};\n\nenum {\n\tPM_IC_PREF_REQ___2 = 16544,\n};\n\nenum {\n\tPM_INST_CMPL___5 = 327930,\n};\n\nenum {\n\tPM_INST_CMPL_ALT___2 = 2,\n};\n\nenum {\n\tPM_INST_FROM_L1___4 = 16512,\n};\n\nenum {\n\tPM_INST_FROM_L1MISS = 17732923532886080ULL,\n};\n\nenum {\n\tPM_ITLB_MISS___5 = 262396,\n};\n\nenum {\n\tPM_L1_ICACHE_MISS___5 = 131324,\n};\n\nenum {\n\tPM_L2_ST___4 = 1099511914624ULL,\n};\n\nenum {\n\tPM_L2_ST_MISS___4 = 157824,\n};\n\nenum {\n\tPM_L3_PF_MISS_L3 = 17592186134656ULL,\n};\n\nenum {\n\tPM_LD_DEMAND_MISS_L1_FIN = 262384,\n};\n\nenum {\n\tPM_LD_MISS_L1___5 = 254036,\n};\n\nenum {\n\tPM_LD_PREFETCH_CACHE_LINE_MISS = 65580,\n};\n\nenum {\n\tPM_LD_REF_L1___4 = 65788,\n};\n\nenum {\n\tPM_MPRED_BR_FIN = 254104,\n};\n\nenum {\n\tPM_ST_MISS_L1___5 = 196848,\n};\n\nenum {\n\tPOLICYDB_CAP_NETPEER = 0,\n\tPOLICYDB_CAP_OPENPERM = 1,\n\tPOLICYDB_CAP_EXTSOCKCLASS = 2,\n\tPOLICYDB_CAP_ALWAYSNETWORK = 3,\n\tPOLICYDB_CAP_CGROUPSECLABEL = 4,\n\tPOLICYDB_CAP_NNP_NOSUID_TRANSITION = 5,\n\tPOLICYDB_CAP_GENFS_SECLABEL_SYMLINKS = 6,\n\tPOLICYDB_CAP_IOCTL_SKIP_CLOEXEC = 7,\n\tPOLICYDB_CAP_USERSPACE_INITIAL_CONTEXT = 8,\n\tPOLICYDB_CAP_NETLINK_XPERM = 9,\n\t__POLICYDB_CAP_MAX = 10,\n};\n\nenum {\n\tPOOL_BITS = 256,\n\tPOOL_READY_BITS = 256,\n\tPOOL_EARLY_BITS = 128,\n};\n\nenum {\n\tPOWERON_SECS = 3,\n};\n\nenum {\n\tPREFIX_UNSPEC = 0,\n\tPREFIX_ADDRESS = 1,\n\tPREFIX_CACHEINFO = 2,\n\t__PREFIX_MAX = 3,\n};\n\nenum {\n\tPROCESSOR_BUS_TOPOLOGY = 0,\n\tPROCESSOR_CONFIG = 1,\n\tAFFINITY_DOMAIN_VIA_VP = 2,\n\tAFFINITY_DOMAIN_VIA_DOM = 3,\n\tAFFINITY_DOMAIN_VIA_PAR = 4,\n};\n\nenum {\n\tPROC_ENTRY_PERMANENT = 1,\n\tPROC_ENTRY_proc_read_iter = 2,\n\tPROC_ENTRY_proc_compat_ioctl = 4,\n};\n\nenum {\n\tPROC_ROOT_INO = 1,\n\tPROC_IPC_INIT_INO = 4026531839,\n\tPROC_UTS_INIT_INO = 4026531838,\n\tPROC_USER_INIT_INO = 4026531837,\n\tPROC_PID_INIT_INO = 4026531836,\n\tPROC_CGROUP_INIT_INO = 4026531835,\n\tPROC_TIME_INIT_INO = 4026531834,\n};\n\nenum {\n\tQUEUE_FLAG_DYING = 0,\n\tQUEUE_FLAG_NOMERGES = 1,\n\tQUEUE_FLAG_SAME_COMP = 2,\n\tQUEUE_FLAG_FAIL_IO = 3,\n\tQUEUE_FLAG_NOXMERGES = 4,\n\tQUEUE_FLAG_SAME_FORCE = 5,\n\tQUEUE_FLAG_INIT_DONE = 6,\n\tQUEUE_FLAG_STATS = 7,\n\tQUEUE_FLAG_REGISTERED = 8,\n\tQUEUE_FLAG_QUIESCED = 9,\n\tQUEUE_FLAG_RQ_ALLOC_TIME = 10,\n\tQUEUE_FLAG_HCTX_ACTIVE = 11,\n\tQUEUE_FLAG_SQ_SCHED = 12,\n\tQUEUE_FLAG_MAX = 13,\n};\n\nenum {\n\tQ_REQUEUE_PI_NONE = 0,\n\tQ_REQUEUE_PI_IGNORE = 1,\n\tQ_REQUEUE_PI_IN_PROGRESS = 2,\n\tQ_REQUEUE_PI_WAIT = 3,\n\tQ_REQUEUE_PI_DONE = 4,\n\tQ_REQUEUE_PI_LOCKED = 5,\n};\n\nenum {\n\tRADIX_TREE_ITER_TAG_MASK = 15,\n\tRADIX_TREE_ITER_TAGGED = 16,\n\tRADIX_TREE_ITER_CONTIG = 32,\n};\n\nenum {\n\tRB_ADD_STAMP_NONE = 0,\n\tRB_ADD_STAMP_EXTEND = 2,\n\tRB_ADD_STAMP_ABSOLUTE = 4,\n\tRB_ADD_STAMP_FORCE = 8,\n};\n\nenum {\n\tRB_CTX_TRANSITION = 0,\n\tRB_CTX_NMI = 1,\n\tRB_CTX_IRQ = 2,\n\tRB_CTX_SOFTIRQ = 3,\n\tRB_CTX_NORMAL = 4,\n\tRB_CTX_MAX = 5,\n};\n\nenum {\n\tRB_LEN_TIME_EXTEND = 8,\n\tRB_LEN_TIME_STAMP = 8,\n};\n\nenum {\n\tREASON_BOUNDS = -1,\n\tREASON_TYPE = -2,\n\tREASON_PATHS = -3,\n\tREASON_LIMIT = -4,\n\tREASON_STACK = -5,\n};\n\nenum {\n\tREGION_INTERSECTS = 0,\n\tREGION_DISJOINT = 1,\n\tREGION_MIXED = 2,\n};\n\nenum {\n\tREQ_FSEQ_PREFLUSH = 1,\n\tREQ_FSEQ_DATA = 2,\n\tREQ_FSEQ_POSTFLUSH = 4,\n\tREQ_FSEQ_DONE = 8,\n\tREQ_FSEQ_ACTIONS = 7,\n\tFLUSH_PENDING_TIMEOUT = 500,\n};\n\nenum {\n\tREQ_F_FIXED_FILE = 1ULL,\n\tREQ_F_IO_DRAIN = 2ULL,\n\tREQ_F_LINK = 4ULL,\n\tREQ_F_HARDLINK = 8ULL,\n\tREQ_F_FORCE_ASYNC = 16ULL,\n\tREQ_F_BUFFER_SELECT = 32ULL,\n\tREQ_F_CQE_SKIP = 64ULL,\n\tREQ_F_FAIL = 256ULL,\n\tREQ_F_INFLIGHT = 512ULL,\n\tREQ_F_CUR_POS = 1024ULL,\n\tREQ_F_NOWAIT = 2048ULL,\n\tREQ_F_LINK_TIMEOUT = 4096ULL,\n\tREQ_F_NEED_CLEANUP = 8192ULL,\n\tREQ_F_POLLED = 16384ULL,\n\tREQ_F_IOPOLL_STATE = 32768ULL,\n\tREQ_F_BUFFER_SELECTED = 65536ULL,\n\tREQ_F_BUFFER_RING = 131072ULL,\n\tREQ_F_REISSUE = 262144ULL,\n\tREQ_F_SUPPORT_NOWAIT = 268435456ULL,\n\tREQ_F_ISREG = 536870912ULL,\n\tREQ_F_CREDS = 524288ULL,\n\tREQ_F_REFCOUNT = 1048576ULL,\n\tREQ_F_ARM_LTIMEOUT = 2097152ULL,\n\tREQ_F_ASYNC_DATA = 4194304ULL,\n\tREQ_F_SKIP_LINK_CQES = 8388608ULL,\n\tREQ_F_SINGLE_POLL = 16777216ULL,\n\tREQ_F_DOUBLE_POLL = 33554432ULL,\n\tREQ_F_APOLL_MULTISHOT = 67108864ULL,\n\tREQ_F_CLEAR_POLLIN = 134217728ULL,\n\tREQ_F_POLL_NO_LAZY = 1073741824ULL,\n\tREQ_F_CAN_POLL = 2147483648ULL,\n\tREQ_F_BL_EMPTY = 4294967296ULL,\n\tREQ_F_BL_NO_RECYCLE = 8589934592ULL,\n\tREQ_F_BUFFERS_COMMIT = 17179869184ULL,\n\tREQ_F_BUF_NODE = 34359738368ULL,\n\tREQ_F_HAS_METADATA = 68719476736ULL,\n};\n\nenum {\n\tREQ_F_FIXED_FILE_BIT = 0,\n\tREQ_F_IO_DRAIN_BIT = 1,\n\tREQ_F_LINK_BIT = 2,\n\tREQ_F_HARDLINK_BIT = 3,\n\tREQ_F_FORCE_ASYNC_BIT = 4,\n\tREQ_F_BUFFER_SELECT_BIT = 5,\n\tREQ_F_CQE_SKIP_BIT = 6,\n\tREQ_F_FAIL_BIT = 8,\n\tREQ_F_INFLIGHT_BIT = 9,\n\tREQ_F_CUR_POS_BIT = 10,\n\tREQ_F_NOWAIT_BIT = 11,\n\tREQ_F_LINK_TIMEOUT_BIT = 12,\n\tREQ_F_NEED_CLEANUP_BIT = 13,\n\tREQ_F_POLLED_BIT = 14,\n\tREQ_F_HYBRID_IOPOLL_STATE_BIT = 15,\n\tREQ_F_BUFFER_SELECTED_BIT = 16,\n\tREQ_F_BUFFER_RING_BIT = 17,\n\tREQ_F_REISSUE_BIT = 18,\n\tREQ_F_CREDS_BIT = 19,\n\tREQ_F_REFCOUNT_BIT = 20,\n\tREQ_F_ARM_LTIMEOUT_BIT = 21,\n\tREQ_F_ASYNC_DATA_BIT = 22,\n\tREQ_F_SKIP_LINK_CQES_BIT = 23,\n\tREQ_F_SINGLE_POLL_BIT = 24,\n\tREQ_F_DOUBLE_POLL_BIT = 25,\n\tREQ_F_APOLL_MULTISHOT_BIT = 26,\n\tREQ_F_CLEAR_POLLIN_BIT = 27,\n\tREQ_F_SUPPORT_NOWAIT_BIT = 28,\n\tREQ_F_ISREG_BIT = 29,\n\tREQ_F_POLL_NO_LAZY_BIT = 30,\n\tREQ_F_CAN_POLL_BIT = 31,\n\tREQ_F_BL_EMPTY_BIT = 32,\n\tREQ_F_BL_NO_RECYCLE_BIT = 33,\n\tREQ_F_BUFFERS_COMMIT_BIT = 34,\n\tREQ_F_BUF_NODE_BIT = 35,\n\tREQ_F_HAS_METADATA_BIT = 36,\n\t__REQ_F_LAST_BIT = 37,\n};\n\nenum {\n\tRES_USAGE = 0,\n\tRES_RSVD_USAGE = 1,\n\tRES_LIMIT = 2,\n\tRES_RSVD_LIMIT = 3,\n\tRES_MAX_USAGE = 4,\n\tRES_RSVD_MAX_USAGE = 5,\n\tRES_FAILCNT = 6,\n\tRES_RSVD_FAILCNT = 7,\n};\n\nenum {\n\tRPCAUTH_info = 0,\n\tRPCAUTH_EOF = 1,\n};\n\nenum {\n\tRPCAUTH_lockd = 0,\n\tRPCAUTH_mount = 1,\n\tRPCAUTH_nfs = 2,\n\tRPCAUTH_portmap = 3,\n\tRPCAUTH_statd = 4,\n\tRPCAUTH_nfsd4_cb = 5,\n\tRPCAUTH_cache = 6,\n\tRPCAUTH_nfsd = 7,\n\tRPCAUTH_gssd = 8,\n\tRPCAUTH_RootEOF = 9,\n};\n\nenum {\n\tRPCBPROC_NULL = 0,\n\tRPCBPROC_SET = 1,\n\tRPCBPROC_UNSET = 2,\n\tRPCBPROC_GETPORT = 3,\n\tRPCBPROC_GETADDR = 3,\n\tRPCBPROC_DUMP = 4,\n\tRPCBPROC_CALLIT = 5,\n\tRPCBPROC_BCAST = 5,\n\tRPCBPROC_GETTIME = 6,\n\tRPCBPROC_UADDR2TADDR = 7,\n\tRPCBPROC_TADDR2UADDR = 8,\n\tRPCBPROC_GETVERSADDR = 9,\n\tRPCBPROC_INDIRECT = 10,\n\tRPCBPROC_GETADDRLIST = 11,\n\tRPCBPROC_GETSTAT = 12,\n};\n\nenum {\n\tRPC_PIPEFS_MOUNT = 0,\n\tRPC_PIPEFS_UMOUNT = 1,\n};\n\nenum {\n\tRPC_TASK_RUNNING = 0,\n\tRPC_TASK_QUEUED = 1,\n\tRPC_TASK_ACTIVE = 2,\n\tRPC_TASK_NEED_XMIT = 3,\n\tRPC_TASK_NEED_RECV = 4,\n\tRPC_TASK_MSG_PIN_WAIT = 5,\n};\n\nenum {\n\tRQ_SECURE = 0,\n\tRQ_LOCAL = 1,\n\tRQ_USEDEFERRAL = 2,\n\tRQ_DROPME = 3,\n\tRQ_VICTIM = 4,\n\tRQ_DATA = 5,\n};\n\nenum {\n\tRTAS_WORK_AREA_ARENA_ALIGN = 65536,\n\tRTAS_WORK_AREA_ARENA_SZ = 262144,\n\tRTAS_WORK_AREA_MIN_ALLOC_SZ = 128,\n};\n\nenum {\n\tRTAS_WORK_AREA_MAX_ALLOC_SZ = 131072,\n};\n\nenum {\n\tRTAX_UNSPEC = 0,\n\tRTAX_LOCK = 1,\n\tRTAX_MTU = 2,\n\tRTAX_WINDOW = 3,\n\tRTAX_RTT = 4,\n\tRTAX_RTTVAR = 5,\n\tRTAX_SSTHRESH = 6,\n\tRTAX_CWND = 7,\n\tRTAX_ADVMSS = 8,\n\tRTAX_REORDERING = 9,\n\tRTAX_HOPLIMIT = 10,\n\tRTAX_INITCWND = 11,\n\tRTAX_FEATURES = 12,\n\tRTAX_RTO_MIN = 13,\n\tRTAX_INITRWND = 14,\n\tRTAX_QUICKACK = 15,\n\tRTAX_CC_ALGO = 16,\n\tRTAX_FASTOPEN_NO_COOKIE = 17,\n\t__RTAX_MAX = 18,\n};\n\nenum {\n\tRTM_BASE = 16,\n\tRTM_NEWLINK = 16,\n\tRTM_DELLINK = 17,\n\tRTM_GETLINK = 18,\n\tRTM_SETLINK = 19,\n\tRTM_NEWADDR = 20,\n\tRTM_DELADDR = 21,\n\tRTM_GETADDR = 22,\n\tRTM_NEWROUTE = 24,\n\tRTM_DELROUTE = 25,\n\tRTM_GETROUTE = 26,\n\tRTM_NEWNEIGH = 28,\n\tRTM_DELNEIGH = 29,\n\tRTM_GETNEIGH = 30,\n\tRTM_NEWRULE = 32,\n\tRTM_DELRULE = 33,\n\tRTM_GETRULE = 34,\n\tRTM_NEWQDISC = 36,\n\tRTM_DELQDISC = 37,\n\tRTM_GETQDISC = 38,\n\tRTM_NEWTCLASS = 40,\n\tRTM_DELTCLASS = 41,\n\tRTM_GETTCLASS = 42,\n\tRTM_NEWTFILTER = 44,\n\tRTM_DELTFILTER = 45,\n\tRTM_GETTFILTER = 46,\n\tRTM_NEWACTION = 48,\n\tRTM_DELACTION = 49,\n\tRTM_GETACTION = 50,\n\tRTM_NEWPREFIX = 52,\n\tRTM_NEWMULTICAST = 56,\n\tRTM_DELMULTICAST = 57,\n\tRTM_GETMULTICAST = 58,\n\tRTM_NEWANYCAST = 60,\n\tRTM_DELANYCAST = 61,\n\tRTM_GETANYCAST = 62,\n\tRTM_NEWNEIGHTBL = 64,\n\tRTM_GETNEIGHTBL = 66,\n\tRTM_SETNEIGHTBL = 67,\n\tRTM_NEWNDUSEROPT = 68,\n\tRTM_NEWADDRLABEL = 72,\n\tRTM_DELADDRLABEL = 73,\n\tRTM_GETADDRLABEL = 74,\n\tRTM_GETDCB = 78,\n\tRTM_SETDCB = 79,\n\tRTM_NEWNETCONF = 80,\n\tRTM_DELNETCONF = 81,\n\tRTM_GETNETCONF = 82,\n\tRTM_NEWMDB = 84,\n\tRTM_DELMDB = 85,\n\tRTM_GETMDB = 86,\n\tRTM_NEWNSID = 88,\n\tRTM_DELNSID = 89,\n\tRTM_GETNSID = 90,\n\tRTM_NEWSTATS = 92,\n\tRTM_GETSTATS = 94,\n\tRTM_SETSTATS = 95,\n\tRTM_NEWCACHEREPORT = 96,\n\tRTM_NEWCHAIN = 100,\n\tRTM_DELCHAIN = 101,\n\tRTM_GETCHAIN = 102,\n\tRTM_NEWNEXTHOP = 104,\n\tRTM_DELNEXTHOP = 105,\n\tRTM_GETNEXTHOP = 106,\n\tRTM_NEWLINKPROP = 108,\n\tRTM_DELLINKPROP = 109,\n\tRTM_GETLINKPROP = 110,\n\tRTM_NEWVLAN = 112,\n\tRTM_DELVLAN = 113,\n\tRTM_GETVLAN = 114,\n\tRTM_NEWNEXTHOPBUCKET = 116,\n\tRTM_DELNEXTHOPBUCKET = 117,\n\tRTM_GETNEXTHOPBUCKET = 118,\n\tRTM_NEWTUNNEL = 120,\n\tRTM_DELTUNNEL = 121,\n\tRTM_GETTUNNEL = 122,\n\t__RTM_MAX = 123,\n};\n\nenum {\n\tRTN_UNSPEC = 0,\n\tRTN_UNICAST = 1,\n\tRTN_LOCAL = 2,\n\tRTN_BROADCAST = 3,\n\tRTN_ANYCAST = 4,\n\tRTN_MULTICAST = 5,\n\tRTN_BLACKHOLE = 6,\n\tRTN_UNREACHABLE = 7,\n\tRTN_PROHIBIT = 8,\n\tRTN_THROW = 9,\n\tRTN_NAT = 10,\n\tRTN_XRESOLVE = 11,\n\t__RTN_MAX = 12,\n};\n\nenum {\n\tRoot_NFS = 255,\n\tRoot_CIFS = 254,\n\tRoot_Generic = 253,\n\tRoot_RAM0 = 1048576,\n};\n\nenum {\n\tSB_UNFROZEN = 0,\n\tSB_FREEZE_WRITE = 1,\n\tSB_FREEZE_PAGEFAULT = 2,\n\tSB_FREEZE_FS = 3,\n\tSB_FREEZE_COMPLETE = 4,\n};\n\nenum {\n\tSCM_TSTAMP_SND = 0,\n\tSCM_TSTAMP_SCHED = 1,\n\tSCM_TSTAMP_ACK = 2,\n};\n\nenum {\n\tSCSI_DH_OK = 0,\n\tSCSI_DH_DEV_FAILED = 1,\n\tSCSI_DH_DEV_TEMP_BUSY = 2,\n\tSCSI_DH_DEV_UNSUPP = 3,\n\tSCSI_DH_DEVICE_MAX = 4,\n\tSCSI_DH_NOTCONN = 5,\n\tSCSI_DH_CONN_FAILURE = 6,\n\tSCSI_DH_TRANSPORT_MAX = 7,\n\tSCSI_DH_IO = 8,\n\tSCSI_DH_INVALID_IO = 9,\n\tSCSI_DH_RETRY = 10,\n\tSCSI_DH_IMM_RETRY = 11,\n\tSCSI_DH_TIMED_OUT = 12,\n\tSCSI_DH_RES_TEMP_UNAVAIL = 13,\n\tSCSI_DH_DEV_OFFLINED = 14,\n\tSCSI_DH_NOMEM = 15,\n\tSCSI_DH_NOSYS = 16,\n\tSCSI_DH_DRIVER_MAX = 17,\n};\n\nenum {\n\tSCTP_AUTH_HMAC_ID_RESERVED_0 = 0,\n\tSCTP_AUTH_HMAC_ID_SHA1 = 1,\n\tSCTP_AUTH_HMAC_ID_RESERVED_2 = 2,\n\tSCTP_AUTH_HMAC_ID_SHA256 = 3,\n\t__SCTP_AUTH_HMAC_MAX = 4,\n};\n\nenum {\n\tSCTP_MAX_DUP_TSNS = 16,\n};\n\nenum {\n\tSCTP_MAX_STREAM = 65535,\n};\n\nenum {\n\tSD_BALANCE_NEWIDLE = 1,\n\tSD_BALANCE_EXEC = 2,\n\tSD_BALANCE_FORK = 4,\n\tSD_BALANCE_WAKE = 8,\n\tSD_WAKE_AFFINE = 16,\n\tSD_ASYM_CPUCAPACITY = 32,\n\tSD_ASYM_CPUCAPACITY_FULL = 64,\n\tSD_SHARE_CPUCAPACITY = 128,\n\tSD_CLUSTER = 256,\n\tSD_SHARE_LLC = 512,\n\tSD_SERIALIZE = 1024,\n\tSD_ASYM_PACKING = 2048,\n\tSD_PREFER_SIBLING = 4096,\n\tSD_OVERLAP = 8192,\n\tSD_NUMA = 16384,\n};\n\nenum {\n\tSD_DEF_XFER_BLOCKS = 65535,\n\tSD_MAX_XFER_BLOCKS = 4294967295,\n\tSD_MAX_WS10_BLOCKS = 65535,\n\tSD_MAX_WS16_BLOCKS = 8388607,\n};\n\nenum {\n\tSD_EXT_CDB_SIZE = 32,\n\tSD_MEMPOOL_SIZE = 2,\n};\n\nenum {\n\tSD_LBP_FULL = 0,\n\tSD_LBP_UNMAP = 1,\n\tSD_LBP_WS16 = 2,\n\tSD_LBP_WS10 = 3,\n\tSD_LBP_ZERO = 4,\n\tSD_LBP_DISABLE = 5,\n};\n\nenum {\n\tSD_ZERO_WRITE = 0,\n\tSD_ZERO_WS = 1,\n\tSD_ZERO_WS16_UNMAP = 2,\n\tSD_ZERO_WS10_UNMAP = 3,\n};\n\nenum {\n\tSECTION_MARKED_PRESENT_BIT = 0,\n\tSECTION_HAS_MEM_MAP_BIT = 1,\n\tSECTION_IS_ONLINE_BIT = 2,\n\tSECTION_IS_EARLY_BIT = 3,\n\tSECTION_TAINT_ZONE_DEVICE_BIT = 4,\n\tSECTION_MAP_LAST_BIT = 5,\n};\n\nenum {\n\tSEG6_ATTR_UNSPEC = 0,\n\tSEG6_ATTR_DST = 1,\n\tSEG6_ATTR_DSTLEN = 2,\n\tSEG6_ATTR_HMACKEYID = 3,\n\tSEG6_ATTR_SECRET = 4,\n\tSEG6_ATTR_SECRETLEN = 5,\n\tSEG6_ATTR_ALGID = 6,\n\tSEG6_ATTR_HMACINFO = 7,\n\t__SEG6_ATTR_MAX = 8,\n};\n\nenum {\n\tSEG6_CMD_UNSPEC = 0,\n\tSEG6_CMD_SETHMAC = 1,\n\tSEG6_CMD_DUMPHMAC = 2,\n\tSEG6_CMD_SET_TUNSRC = 3,\n\tSEG6_CMD_GET_TUNSRC = 4,\n\t__SEG6_CMD_MAX = 5,\n};\n\nenum {\n\tSELNL_MSG_SETENFORCE = 16,\n\tSELNL_MSG_POLICYLOAD = 17,\n\tSELNL_MSG_MAX = 18,\n};\n\nenum {\n\tSFF8024_ID_UNK = 0,\n\tSFF8024_ID_SFF_8472 = 2,\n\tSFF8024_ID_SFP = 3,\n\tSFF8024_ID_DWDM_SFP = 11,\n\tSFF8024_ID_QSFP_8438 = 12,\n\tSFF8024_ID_QSFP_8436_8636 = 13,\n\tSFF8024_ID_QSFP28_8636 = 17,\n\tSFF8024_ID_QSFP_DD = 24,\n\tSFF8024_ID_OSFP = 25,\n\tSFF8024_ID_DSFP = 27,\n\tSFF8024_ID_QSFP_PLUS_CMIS = 30,\n\tSFF8024_ID_SFP_DD_CMIS = 31,\n\tSFF8024_ID_SFP_PLUS_CMIS = 32,\n\tSFF8024_ENCODING_UNSPEC = 0,\n\tSFF8024_ENCODING_8B10B = 1,\n\tSFF8024_ENCODING_4B5B = 2,\n\tSFF8024_ENCODING_NRZ = 3,\n\tSFF8024_ENCODING_8472_MANCHESTER = 4,\n\tSFF8024_ENCODING_8472_SONET = 5,\n\tSFF8024_ENCODING_8472_64B66B = 6,\n\tSFF8024_ENCODING_8436_MANCHESTER = 6,\n\tSFF8024_ENCODING_8436_SONET = 4,\n\tSFF8024_ENCODING_8436_64B66B = 5,\n\tSFF8024_ENCODING_256B257B = 7,\n\tSFF8024_ENCODING_PAM4 = 8,\n\tSFF8024_CONNECTOR_UNSPEC = 0,\n\tSFF8024_CONNECTOR_SC = 1,\n\tSFF8024_CONNECTOR_FIBERJACK = 6,\n\tSFF8024_CONNECTOR_LC = 7,\n\tSFF8024_CONNECTOR_MT_RJ = 8,\n\tSFF8024_CONNECTOR_MU = 9,\n\tSFF8024_CONNECTOR_SG = 10,\n\tSFF8024_CONNECTOR_OPTICAL_PIGTAIL = 11,\n\tSFF8024_CONNECTOR_MPO_1X12 = 12,\n\tSFF8024_CONNECTOR_MPO_2X16 = 13,\n\tSFF8024_CONNECTOR_HSSDC_II = 32,\n\tSFF8024_CONNECTOR_COPPER_PIGTAIL = 33,\n\tSFF8024_CONNECTOR_RJ45 = 34,\n\tSFF8024_CONNECTOR_NOSEPARATE = 35,\n\tSFF8024_CONNECTOR_MXC_2X16 = 36,\n\tSFF8024_ECC_UNSPEC = 0,\n\tSFF8024_ECC_100G_25GAUI_C2M_AOC = 1,\n\tSFF8024_ECC_100GBASE_SR4_25GBASE_SR = 2,\n\tSFF8024_ECC_100GBASE_LR4_25GBASE_LR = 3,\n\tSFF8024_ECC_100GBASE_ER4_25GBASE_ER = 4,\n\tSFF8024_ECC_100GBASE_SR10 = 5,\n\tSFF8024_ECC_100GBASE_CR4 = 11,\n\tSFF8024_ECC_25GBASE_CR_S = 12,\n\tSFF8024_ECC_25GBASE_CR_N = 13,\n\tSFF8024_ECC_10GBASE_T_SFI = 22,\n\tSFF8024_ECC_10GBASE_T_SR = 28,\n\tSFF8024_ECC_5GBASE_T = 29,\n\tSFF8024_ECC_2_5GBASE_T = 30,\n};\n\nenum {\n\tSFP_PHYS_ID = 0,\n\tSFP_PHYS_EXT_ID = 1,\n\tSFP_PHYS_EXT_ID_SFP = 4,\n\tSFP_CONNECTOR = 2,\n\tSFP_COMPLIANCE = 3,\n\tSFP_ENCODING = 11,\n\tSFP_BR_NOMINAL = 12,\n\tSFP_RATE_ID = 13,\n\tSFF_RID_8079 = 1,\n\tSFF_RID_8431_RX_ONLY = 2,\n\tSFF_RID_8431_TX_ONLY = 4,\n\tSFF_RID_8431 = 6,\n\tSFF_RID_10G8G = 14,\n\tSFP_LINK_LEN_SM_KM = 14,\n\tSFP_LINK_LEN_SM_100M = 15,\n\tSFP_LINK_LEN_50UM_OM2_10M = 16,\n\tSFP_LINK_LEN_62_5UM_OM1_10M = 17,\n\tSFP_LINK_LEN_COPPER_1M = 18,\n\tSFP_LINK_LEN_50UM_OM4_10M = 18,\n\tSFP_LINK_LEN_50UM_OM3_10M = 19,\n\tSFP_VENDOR_NAME = 20,\n\tSFP_VENDOR_OUI = 37,\n\tSFP_VENDOR_PN = 40,\n\tSFP_VENDOR_REV = 56,\n\tSFP_OPTICAL_WAVELENGTH_MSB = 60,\n\tSFP_OPTICAL_WAVELENGTH_LSB = 61,\n\tSFP_CABLE_SPEC = 60,\n\tSFP_CC_BASE = 63,\n\tSFP_OPTIONS = 64,\n\tSFP_OPTIONS_HIGH_POWER_LEVEL = 8192,\n\tSFP_OPTIONS_PAGING_A2 = 4096,\n\tSFP_OPTIONS_RETIMER = 2048,\n\tSFP_OPTIONS_COOLED_XCVR = 1024,\n\tSFP_OPTIONS_POWER_DECL = 512,\n\tSFP_OPTIONS_RX_LINEAR_OUT = 256,\n\tSFP_OPTIONS_RX_DECISION_THRESH = 128,\n\tSFP_OPTIONS_TUNABLE_TX = 64,\n\tSFP_OPTIONS_RATE_SELECT = 32,\n\tSFP_OPTIONS_TX_DISABLE = 16,\n\tSFP_OPTIONS_TX_FAULT = 8,\n\tSFP_OPTIONS_LOS_INVERTED = 4,\n\tSFP_OPTIONS_LOS_NORMAL = 2,\n\tSFP_BR_MAX = 66,\n\tSFP_BR_MIN = 67,\n\tSFP_VENDOR_SN = 68,\n\tSFP_DATECODE = 84,\n\tSFP_DIAGMON = 92,\n\tSFP_DIAGMON_DDM = 64,\n\tSFP_DIAGMON_INT_CAL = 32,\n\tSFP_DIAGMON_EXT_CAL = 16,\n\tSFP_DIAGMON_RXPWR_AVG = 8,\n\tSFP_DIAGMON_ADDRMODE = 4,\n\tSFP_ENHOPTS = 93,\n\tSFP_ENHOPTS_ALARMWARN = 128,\n\tSFP_ENHOPTS_SOFT_TX_DISABLE = 64,\n\tSFP_ENHOPTS_SOFT_TX_FAULT = 32,\n\tSFP_ENHOPTS_SOFT_RX_LOS = 16,\n\tSFP_ENHOPTS_SOFT_RATE_SELECT = 8,\n\tSFP_ENHOPTS_APP_SELECT_SFF8079 = 4,\n\tSFP_ENHOPTS_SOFT_RATE_SFF8431 = 2,\n\tSFP_SFF8472_COMPLIANCE = 94,\n\tSFP_SFF8472_COMPLIANCE_NONE = 0,\n\tSFP_SFF8472_COMPLIANCE_REV9_3 = 1,\n\tSFP_SFF8472_COMPLIANCE_REV9_5 = 2,\n\tSFP_SFF8472_COMPLIANCE_REV10_2 = 3,\n\tSFP_SFF8472_COMPLIANCE_REV10_4 = 4,\n\tSFP_SFF8472_COMPLIANCE_REV11_0 = 5,\n\tSFP_SFF8472_COMPLIANCE_REV11_3 = 6,\n\tSFP_SFF8472_COMPLIANCE_REV11_4 = 7,\n\tSFP_SFF8472_COMPLIANCE_REV12_0 = 8,\n\tSFP_CC_EXT = 95,\n};\n\nenum {\n\tSIL24_HOST_BAR = 0,\n\tSIL24_PORT_BAR = 2,\n\tSIL24_PRB_SZ = 64,\n\tSIL24_MAX_SGT = 1023,\n\tSIL24_MAX_SGE = 4093,\n\tHOST_SLOT_STAT = 0,\n\tHOST_CTRL = 64,\n\tHOST_IRQ_STAT___2 = 68,\n\tHOST_PHY_CFG = 72,\n\tHOST_BIST_CTRL = 80,\n\tHOST_BIST_PTRN = 84,\n\tHOST_BIST_STAT = 88,\n\tHOST_MEM_BIST_STAT = 92,\n\tHOST_FLASH_CMD = 112,\n\tHOST_FLASH_DATA = 116,\n\tHOST_TRANSITION_DETECT = 117,\n\tHOST_GPIO_CTRL = 118,\n\tHOST_I2C_ADDR = 120,\n\tHOST_I2C_DATA = 124,\n\tHOST_I2C_XFER_CNT = 126,\n\tHOST_I2C_CTRL = 127,\n\tHOST_SSTAT_ATTN = -2147483648,\n\tHOST_CTRL_M66EN = 65536,\n\tHOST_CTRL_TRDY = 131072,\n\tHOST_CTRL_STOP = 262144,\n\tHOST_CTRL_DEVSEL = 524288,\n\tHOST_CTRL_REQ64 = 1048576,\n\tHOST_CTRL_GLOBAL_RST = -2147483648,\n\tPORT_REGS_SIZE = 8192,\n\tPORT_LRAM = 0,\n\tPORT_LRAM_SLOT_SZ = 128,\n\tPORT_PMP = 3968,\n\tPORT_PMP_STATUS = 0,\n\tPORT_PMP_QACTIVE = 4,\n\tPORT_PMP_SIZE = 8,\n\tPORT_CTRL_STAT = 4096,\n\tPORT_CTRL_CLR = 4100,\n\tPORT_IRQ_STAT___2 = 4104,\n\tPORT_IRQ_ENABLE_SET = 4112,\n\tPORT_IRQ_ENABLE_CLR = 4116,\n\tPORT_ACTIVATE_UPPER_ADDR = 4124,\n\tPORT_EXEC_FIFO = 4128,\n\tPORT_CMD_ERR = 4132,\n\tPORT_FIS_CFG = 4136,\n\tPORT_FIFO_THRES = 4140,\n\tPORT_DECODE_ERR_CNT = 4160,\n\tPORT_DECODE_ERR_THRESH = 4162,\n\tPORT_CRC_ERR_CNT = 4164,\n\tPORT_CRC_ERR_THRESH = 4166,\n\tPORT_HSHK_ERR_CNT = 4168,\n\tPORT_HSHK_ERR_THRESH = 4170,\n\tPORT_PHY_CFG = 4176,\n\tPORT_SLOT_STAT = 6144,\n\tPORT_CMD_ACTIVATE = 7168,\n\tPORT_CONTEXT = 7684,\n\tPORT_EXEC_DIAG = 7680,\n\tPORT_PSD_DIAG = 7744,\n\tPORT_SCONTROL = 7936,\n\tPORT_SSTATUS = 7940,\n\tPORT_SERROR = 7944,\n\tPORT_SACTIVE = 7948,\n\tPORT_CS_PORT_RST = 1,\n\tPORT_CS_DEV_RST = 2,\n\tPORT_CS_INIT = 4,\n\tPORT_CS_IRQ_WOC = 8,\n\tPORT_CS_CDB16 = 32,\n\tPORT_CS_PMP_RESUME = 64,\n\tPORT_CS_32BIT_ACTV = 1024,\n\tPORT_CS_PMP_EN = 8192,\n\tPORT_CS_RDY = -2147483648,\n\tPORT_IRQ_COMPLETE = 1,\n\tPORT_IRQ_ERROR___2 = 2,\n\tPORT_IRQ_PORTRDY_CHG = 4,\n\tPORT_IRQ_PWR_CHG = 8,\n\tPORT_IRQ_PHYRDY_CHG = 16,\n\tPORT_IRQ_COMWAKE = 32,\n\tPORT_IRQ_UNK_FIS___2 = 64,\n\tPORT_IRQ_DEV_XCHG = 128,\n\tPORT_IRQ_8B10B = 256,\n\tPORT_IRQ_CRC = 512,\n\tPORT_IRQ_HANDSHAKE = 1024,\n\tPORT_IRQ_SDB_NOTIFY = 2048,\n\tDEF_PORT_IRQ___2 = 2259,\n\tPORT_IRQ_RAW_SHIFT = 16,\n\tPORT_IRQ_MASKED_MASK = 2047,\n\tPORT_IRQ_RAW_MASK = 134152192,\n\tPORT_IRQ_STEER_SHIFT = 30,\n\tPORT_IRQ_STEER_MASK = -1073741824,\n\tPORT_CERR_DEV = 1,\n\tPORT_CERR_SDB = 2,\n\tPORT_CERR_DATA = 3,\n\tPORT_CERR_SEND = 4,\n\tPORT_CERR_INCONSISTENT = 5,\n\tPORT_CERR_DIRECTION = 6,\n\tPORT_CERR_UNDERRUN = 7,\n\tPORT_CERR_OVERRUN = 8,\n\tPORT_CERR_PKT_PROT = 11,\n\tPORT_CERR_SGT_BOUNDARY = 16,\n\tPORT_CERR_SGT_TGTABRT = 17,\n\tPORT_CERR_SGT_MSTABRT = 18,\n\tPORT_CERR_SGT_PCIPERR = 19,\n\tPORT_CERR_CMD_BOUNDARY = 24,\n\tPORT_CERR_CMD_TGTABRT = 25,\n\tPORT_CERR_CMD_MSTABRT = 26,\n\tPORT_CERR_CMD_PCIPERR = 27,\n\tPORT_CERR_XFR_UNDEF = 32,\n\tPORT_CERR_XFR_TGTABRT = 33,\n\tPORT_CERR_XFR_MSTABRT = 34,\n\tPORT_CERR_XFR_PCIPERR = 35,\n\tPORT_CERR_SENDSERVICE = 36,\n\tPRB_CTRL_PROTOCOL = 1,\n\tPRB_CTRL_PACKET_READ = 16,\n\tPRB_CTRL_PACKET_WRITE = 32,\n\tPRB_CTRL_NIEN = 64,\n\tPRB_CTRL_SRST = 128,\n\tPRB_PROT_PACKET = 1,\n\tPRB_PROT_TCQ = 2,\n\tPRB_PROT_NCQ = 4,\n\tPRB_PROT_READ = 8,\n\tPRB_PROT_WRITE = 16,\n\tPRB_PROT_TRANSPARENT = 32,\n\tSGE_TRM = -2147483648,\n\tSGE_LNK = 1073741824,\n\tSGE_DRD = 536870912,\n\tSIL24_MAX_CMDS = 31,\n\tBID_SIL3124 = 0,\n\tBID_SIL3132 = 1,\n\tBID_SIL3131 = 2,\n\tSIL24_COMMON_FLAGS = 918658,\n\tSIL24_FLAG_PCIX_IRQ_WOC = 16777216,\n\tIRQ_STAT_4PORTS = 15,\n};\n\nenum {\n\tSKBFL_ZEROCOPY_ENABLE = 1,\n\tSKBFL_SHARED_FRAG = 2,\n\tSKBFL_PURE_ZEROCOPY = 4,\n\tSKBFL_DONT_ORPHAN = 8,\n\tSKBFL_MANAGED_FRAG_REFS = 16,\n};\n\nenum {\n\tSKBTX_HW_TSTAMP = 1,\n\tSKBTX_SW_TSTAMP = 2,\n\tSKBTX_IN_PROGRESS = 4,\n\tSKBTX_HW_TSTAMP_USE_CYCLES = 8,\n\tSKBTX_WIFI_STATUS = 16,\n\tSKBTX_HW_TSTAMP_NETDEV = 32,\n\tSKBTX_SCHED_TSTAMP = 64,\n};\n\nenum {\n\tSKB_FCLONE_UNAVAILABLE = 0,\n\tSKB_FCLONE_ORIG = 1,\n\tSKB_FCLONE_CLONE = 2,\n};\n\nenum {\n\tSKB_GSO_TCPV4 = 1,\n\tSKB_GSO_DODGY = 2,\n\tSKB_GSO_TCP_ECN = 4,\n\tSKB_GSO_TCP_FIXEDID = 8,\n\tSKB_GSO_TCPV6 = 16,\n\tSKB_GSO_FCOE = 32,\n\tSKB_GSO_GRE = 64,\n\tSKB_GSO_GRE_CSUM = 128,\n\tSKB_GSO_IPXIP4 = 256,\n\tSKB_GSO_IPXIP6 = 512,\n\tSKB_GSO_UDP_TUNNEL = 1024,\n\tSKB_GSO_UDP_TUNNEL_CSUM = 2048,\n\tSKB_GSO_PARTIAL = 4096,\n\tSKB_GSO_TUNNEL_REMCSUM = 8192,\n\tSKB_GSO_SCTP = 16384,\n\tSKB_GSO_ESP = 32768,\n\tSKB_GSO_UDP = 65536,\n\tSKB_GSO_UDP_L4 = 131072,\n\tSKB_GSO_FRAGLIST = 262144,\n};\n\nenum {\n\tSKCIPHER_WALK_SLOW = 1,\n\tSKCIPHER_WALK_COPY = 2,\n\tSKCIPHER_WALK_DIFF = 4,\n\tSKCIPHER_WALK_SLEEP = 8,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_NONE = 0,\n\tSK_DIAG_BPF_STORAGE_PAD = 1,\n\tSK_DIAG_BPF_STORAGE_MAP_ID = 2,\n\tSK_DIAG_BPF_STORAGE_MAP_VALUE = 3,\n\t__SK_DIAG_BPF_STORAGE_MAX = 4,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_REP_NONE = 0,\n\tSK_DIAG_BPF_STORAGE = 1,\n\t__SK_DIAG_BPF_STORAGE_REP_MAX = 2,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_REQ_NONE = 0,\n\tSK_DIAG_BPF_STORAGE_REQ_MAP_FD = 1,\n\t__SK_DIAG_BPF_STORAGE_REQ_MAX = 2,\n};\n\nenum {\n\tSK_MEMINFO_RMEM_ALLOC = 0,\n\tSK_MEMINFO_RCVBUF = 1,\n\tSK_MEMINFO_WMEM_ALLOC = 2,\n\tSK_MEMINFO_SNDBUF = 3,\n\tSK_MEMINFO_FWD_ALLOC = 4,\n\tSK_MEMINFO_WMEM_QUEUED = 5,\n\tSK_MEMINFO_OPTMEM = 6,\n\tSK_MEMINFO_BACKLOG = 7,\n\tSK_MEMINFO_DROPS = 8,\n\tSK_MEMINFO_VARS = 9,\n};\n\nenum {\n\tSOCK_WAKE_IO = 0,\n\tSOCK_WAKE_WAITD = 1,\n\tSOCK_WAKE_SPACE = 2,\n\tSOCK_WAKE_URG = 3,\n};\n\nenum {\n\tSOF_TIMESTAMPING_TX_HARDWARE = 1,\n\tSOF_TIMESTAMPING_TX_SOFTWARE = 2,\n\tSOF_TIMESTAMPING_RX_HARDWARE = 4,\n\tSOF_TIMESTAMPING_RX_SOFTWARE = 8,\n\tSOF_TIMESTAMPING_SOFTWARE = 16,\n\tSOF_TIMESTAMPING_SYS_HARDWARE = 32,\n\tSOF_TIMESTAMPING_RAW_HARDWARE = 64,\n\tSOF_TIMESTAMPING_OPT_ID = 128,\n\tSOF_TIMESTAMPING_TX_SCHED = 256,\n\tSOF_TIMESTAMPING_TX_ACK = 512,\n\tSOF_TIMESTAMPING_OPT_CMSG = 1024,\n\tSOF_TIMESTAMPING_OPT_TSONLY = 2048,\n\tSOF_TIMESTAMPING_OPT_STATS = 4096,\n\tSOF_TIMESTAMPING_OPT_PKTINFO = 8192,\n\tSOF_TIMESTAMPING_OPT_TX_SWHW = 16384,\n\tSOF_TIMESTAMPING_BIND_PHC = 32768,\n\tSOF_TIMESTAMPING_OPT_ID_TCP = 65536,\n\tSOF_TIMESTAMPING_OPT_RX_FILTER = 131072,\n\tSOF_TIMESTAMPING_LAST = 131072,\n\tSOF_TIMESTAMPING_MASK = 262143,\n};\n\nenum {\n\tSP_TASK_PENDING = 0,\n\tSP_NEED_VICTIM = 1,\n\tSP_VICTIM_REMAINS = 2,\n};\n\nenum {\n\tSRP_BUF_FORMAT_DIRECT = 2,\n\tSRP_BUF_FORMAT_INDIRECT = 4,\n};\n\nenum {\n\tSRP_LOGIN_REQ = 0,\n\tSRP_TSK_MGMT = 1,\n\tSRP_CMD = 2,\n\tSRP_I_LOGOUT = 3,\n\tSRP_LOGIN_RSP = 192,\n\tSRP_RSP = 193,\n\tSRP_LOGIN_REJ = 194,\n\tSRP_T_LOGOUT = 128,\n\tSRP_CRED_REQ = 129,\n\tSRP_AER_REQ = 130,\n\tSRP_CRED_RSP = 65,\n\tSRP_AER_RSP = 66,\n};\n\nenum {\n\tSRP_NO_DATA_DESC = 0,\n\tSRP_DATA_DESC_DIRECT = 1,\n\tSRP_DATA_DESC_INDIRECT = 2,\n\tSRP_DATA_DESC_IMM = 3,\n};\n\nenum {\n\tSRP_RSP_FLAG_RSPVALID = 1,\n\tSRP_RSP_FLAG_SNSVALID = 2,\n\tSRP_RSP_FLAG_DOOVER = 4,\n\tSRP_RSP_FLAG_DOUNDER = 8,\n\tSRP_RSP_FLAG_DIOVER = 16,\n\tSRP_RSP_FLAG_DIUNDER = 32,\n};\n\nenum {\n\tSRP_TSK_ABORT_TASK = 1,\n\tSRP_TSK_ABORT_TASK_SET = 2,\n\tSRP_TSK_CLEAR_TASK_SET = 4,\n\tSRP_TSK_LUN_RESET = 8,\n\tSRP_TSK_CLEAR_ACA = 64,\n};\n\nenum {\n\tSUNRPC_PIPEFS_NFS_PRIO = 0,\n\tSUNRPC_PIPEFS_RPC_PRIO = 1,\n};\n\nenum {\n\tSVC_HANDSHAKE_TO = 500,\n};\n\nenum {\n\tSVC_POOL_AUTO = -1,\n\tSVC_POOL_GLOBAL = 0,\n\tSVC_POOL_PERCPU = 1,\n\tSVC_POOL_PERNODE = 2,\n};\n\nenum {\n\tSWITCHTEC_GAS_MRPC_OFFSET = 0,\n\tSWITCHTEC_GAS_TOP_CFG_OFFSET = 4096,\n\tSWITCHTEC_GAS_SW_EVENT_OFFSET = 6144,\n\tSWITCHTEC_GAS_SYS_INFO_OFFSET = 8192,\n\tSWITCHTEC_GAS_FLASH_INFO_OFFSET = 8704,\n\tSWITCHTEC_GAS_PART_CFG_OFFSET = 16384,\n\tSWITCHTEC_GAS_NTB_OFFSET = 65536,\n\tSWITCHTEC_GAS_PFF_CSR_OFFSET = 1261568,\n};\n\nenum {\n\tSWITCHTEC_NTB_REG_INFO_OFFSET = 0,\n\tSWITCHTEC_NTB_REG_CTRL_OFFSET = 16384,\n\tSWITCHTEC_NTB_REG_DBMSG_OFFSET = 409600,\n};\n\nenum {\n\tSWMII_SPEED_10 = 0,\n\tSWMII_SPEED_100 = 1,\n\tSWMII_SPEED_1000 = 2,\n\tSWMII_DUPLEX_HALF = 0,\n\tSWMII_DUPLEX_FULL = 1,\n};\n\nenum {\n\tSWP_USED = 1,\n\tSWP_WRITEOK = 2,\n\tSWP_DISCARDABLE = 4,\n\tSWP_DISCARDING = 8,\n\tSWP_SOLIDSTATE = 16,\n\tSWP_CONTINUED = 32,\n\tSWP_BLKDEV = 64,\n\tSWP_ACTIVATED = 128,\n\tSWP_FS_OPS = 256,\n\tSWP_AREA_DISCARD = 512,\n\tSWP_PAGE_DISCARD = 1024,\n\tSWP_STABLE_WRITES = 2048,\n\tSWP_SYNCHRONOUS_IO = 4096,\n};\n\nenum {\n\tSYNAPTICS_INTERTOUCH_NOT_SET = -1,\n\tSYNAPTICS_INTERTOUCH_OFF = 0,\n\tSYNAPTICS_INTERTOUCH_ON = 1,\n};\n\nenum {\n\tTASKLET_STATE_SCHED = 0,\n\tTASKLET_STATE_RUN = 1,\n};\n\nenum {\n\tTASKSTATS_CMD_ATTR_UNSPEC = 0,\n\tTASKSTATS_CMD_ATTR_PID = 1,\n\tTASKSTATS_CMD_ATTR_TGID = 2,\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 3,\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 4,\n\t__TASKSTATS_CMD_ATTR_MAX = 5,\n};\n\nenum {\n\tTASKSTATS_CMD_UNSPEC = 0,\n\tTASKSTATS_CMD_GET = 1,\n\tTASKSTATS_CMD_NEW = 2,\n\t__TASKSTATS_CMD_MAX = 3,\n};\n\nenum {\n\tTASKSTATS_TYPE_UNSPEC = 0,\n\tTASKSTATS_TYPE_PID = 1,\n\tTASKSTATS_TYPE_TGID = 2,\n\tTASKSTATS_TYPE_STATS = 3,\n\tTASKSTATS_TYPE_AGGR_PID = 4,\n\tTASKSTATS_TYPE_AGGR_TGID = 5,\n\tTASKSTATS_TYPE_NULL = 6,\n\t__TASKSTATS_TYPE_MAX = 7,\n};\n\nenum {\n\tTASK_COMM_LEN = 16,\n};\n\nenum {\n\tTCA_ACT_UNSPEC = 0,\n\tTCA_ACT_KIND = 1,\n\tTCA_ACT_OPTIONS = 2,\n\tTCA_ACT_INDEX = 3,\n\tTCA_ACT_STATS = 4,\n\tTCA_ACT_PAD = 5,\n\tTCA_ACT_COOKIE = 6,\n\tTCA_ACT_FLAGS = 7,\n\tTCA_ACT_HW_STATS = 8,\n\tTCA_ACT_USED_HW_STATS = 9,\n\tTCA_ACT_IN_HW_COUNT = 10,\n\t__TCA_ACT_MAX = 11,\n};\n\nenum {\n\tTCA_FLOWER_KEY_CT_FLAGS_NEW = 1,\n\tTCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 2,\n\tTCA_FLOWER_KEY_CT_FLAGS_RELATED = 4,\n\tTCA_FLOWER_KEY_CT_FLAGS_TRACKED = 8,\n\tTCA_FLOWER_KEY_CT_FLAGS_INVALID = 16,\n\tTCA_FLOWER_KEY_CT_FLAGS_REPLY = 32,\n\t__TCA_FLOWER_KEY_CT_FLAGS_MAX = 33,\n};\n\nenum {\n\tTCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = 1,\n\tTCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = 2,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = 4,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = 8,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = 16,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = 32,\n\t__TCA_FLOWER_KEY_FLAGS_MAX = 33,\n};\n\nenum {\n\tTCA_ROOT_UNSPEC = 0,\n\tTCA_ROOT_TAB = 1,\n\tTCA_ROOT_FLAGS = 2,\n\tTCA_ROOT_COUNT = 3,\n\tTCA_ROOT_TIME_DELTA = 4,\n\tTCA_ROOT_EXT_WARN_MSG = 5,\n\t__TCA_ROOT_MAX = 6,\n};\n\nenum {\n\tTCA_STAB_UNSPEC = 0,\n\tTCA_STAB_BASE = 1,\n\tTCA_STAB_DATA = 2,\n\t__TCA_STAB_MAX = 3,\n};\n\nenum {\n\tTCA_STATS_UNSPEC = 0,\n\tTCA_STATS_BASIC = 1,\n\tTCA_STATS_RATE_EST = 2,\n\tTCA_STATS_QUEUE = 3,\n\tTCA_STATS_APP = 4,\n\tTCA_STATS_RATE_EST64 = 5,\n\tTCA_STATS_PAD = 6,\n\tTCA_STATS_BASIC_HW = 7,\n\tTCA_STATS_PKT64 = 8,\n\t__TCA_STATS_MAX = 9,\n};\n\nenum {\n\tTCA_UNSPEC = 0,\n\tTCA_KIND = 1,\n\tTCA_OPTIONS = 2,\n\tTCA_STATS = 3,\n\tTCA_XSTATS = 4,\n\tTCA_RATE = 5,\n\tTCA_FCNT = 6,\n\tTCA_STATS2 = 7,\n\tTCA_STAB = 8,\n\tTCA_PAD = 9,\n\tTCA_DUMP_INVISIBLE = 10,\n\tTCA_CHAIN = 11,\n\tTCA_HW_OFFLOAD = 12,\n\tTCA_INGRESS_BLOCK = 13,\n\tTCA_EGRESS_BLOCK = 14,\n\tTCA_DUMP_FLAGS = 15,\n\tTCA_EXT_WARN_MSG = 16,\n\t__TCA_MAX = 17,\n};\n\nenum {\n\tTCPF_ESTABLISHED = 2,\n\tTCPF_SYN_SENT = 4,\n\tTCPF_SYN_RECV = 8,\n\tTCPF_FIN_WAIT1 = 16,\n\tTCPF_FIN_WAIT2 = 32,\n\tTCPF_TIME_WAIT = 64,\n\tTCPF_CLOSE = 128,\n\tTCPF_CLOSE_WAIT = 256,\n\tTCPF_LAST_ACK = 512,\n\tTCPF_LISTEN = 1024,\n\tTCPF_CLOSING = 2048,\n\tTCPF_NEW_SYN_RECV = 4096,\n\tTCPF_BOUND_INACTIVE = 8192,\n};\n\nenum {\n\tTCP_BPF_BASE = 0,\n\tTCP_BPF_TX = 1,\n\tTCP_BPF_RX = 2,\n\tTCP_BPF_TXRX = 3,\n\tTCP_BPF_NUM_CFGS = 4,\n};\n\nenum {\n\tTCP_BPF_IPV4 = 0,\n\tTCP_BPF_IPV6 = 1,\n\tTCP_BPF_NUM_PROTS = 2,\n};\n\nenum {\n\tTCP_BPF_IW = 1001,\n\tTCP_BPF_SNDCWND_CLAMP = 1002,\n\tTCP_BPF_DELACK_MAX = 1003,\n\tTCP_BPF_RTO_MIN = 1004,\n\tTCP_BPF_SYN = 1005,\n\tTCP_BPF_SYN_IP = 1006,\n\tTCP_BPF_SYN_MAC = 1007,\n\tTCP_BPF_SOCK_OPS_CB_FLAGS = 1008,\n};\n\nenum {\n\tTCP_CMSG_INQ = 1,\n\tTCP_CMSG_TS = 2,\n};\n\nenum {\n\tTCP_ESTABLISHED = 1,\n\tTCP_SYN_SENT = 2,\n\tTCP_SYN_RECV = 3,\n\tTCP_FIN_WAIT1 = 4,\n\tTCP_FIN_WAIT2 = 5,\n\tTCP_TIME_WAIT = 6,\n\tTCP_CLOSE = 7,\n\tTCP_CLOSE_WAIT = 8,\n\tTCP_LAST_ACK = 9,\n\tTCP_LISTEN = 10,\n\tTCP_CLOSING = 11,\n\tTCP_NEW_SYN_RECV = 12,\n\tTCP_BOUND_INACTIVE = 13,\n\tTCP_MAX_STATES = 14,\n};\n\nenum {\n\tTCP_FLAG_CWR = 32768,\n\tTCP_FLAG_ECE = 16384,\n\tTCP_FLAG_URG = 8192,\n\tTCP_FLAG_ACK = 4096,\n\tTCP_FLAG_PSH = 2048,\n\tTCP_FLAG_RST = 1024,\n\tTCP_FLAG_SYN = 512,\n\tTCP_FLAG_FIN = 256,\n\tTCP_RESERVED_BITS = 15,\n\tTCP_DATA_OFFSET = 240,\n};\n\nenum {\n\tTCP_METRICS_ATTR_UNSPEC = 0,\n\tTCP_METRICS_ATTR_ADDR_IPV4 = 1,\n\tTCP_METRICS_ATTR_ADDR_IPV6 = 2,\n\tTCP_METRICS_ATTR_AGE = 3,\n\tTCP_METRICS_ATTR_TW_TSVAL = 4,\n\tTCP_METRICS_ATTR_TW_TS_STAMP = 5,\n\tTCP_METRICS_ATTR_VALS = 6,\n\tTCP_METRICS_ATTR_FOPEN_MSS = 7,\n\tTCP_METRICS_ATTR_FOPEN_SYN_DROPS = 8,\n\tTCP_METRICS_ATTR_FOPEN_SYN_DROP_TS = 9,\n\tTCP_METRICS_ATTR_FOPEN_COOKIE = 10,\n\tTCP_METRICS_ATTR_SADDR_IPV4 = 11,\n\tTCP_METRICS_ATTR_SADDR_IPV6 = 12,\n\tTCP_METRICS_ATTR_PAD = 13,\n\t__TCP_METRICS_ATTR_MAX = 14,\n};\n\nenum {\n\tTCP_METRICS_CMD_UNSPEC = 0,\n\tTCP_METRICS_CMD_GET = 1,\n\tTCP_METRICS_CMD_DEL = 2,\n\t__TCP_METRICS_CMD_MAX = 3,\n};\n\nenum {\n\tTCP_MIB_NUM = 0,\n\tTCP_MIB_RTOALGORITHM = 1,\n\tTCP_MIB_RTOMIN = 2,\n\tTCP_MIB_RTOMAX = 3,\n\tTCP_MIB_MAXCONN = 4,\n\tTCP_MIB_ACTIVEOPENS = 5,\n\tTCP_MIB_PASSIVEOPENS = 6,\n\tTCP_MIB_ATTEMPTFAILS = 7,\n\tTCP_MIB_ESTABRESETS = 8,\n\tTCP_MIB_CURRESTAB = 9,\n\tTCP_MIB_INSEGS = 10,\n\tTCP_MIB_OUTSEGS = 11,\n\tTCP_MIB_RETRANSSEGS = 12,\n\tTCP_MIB_INERRS = 13,\n\tTCP_MIB_OUTRSTS = 14,\n\tTCP_MIB_CSUMERRORS = 15,\n\t__TCP_MIB_MAX = 16,\n};\n\nenum {\n\tTCP_NLA_PAD = 0,\n\tTCP_NLA_BUSY = 1,\n\tTCP_NLA_RWND_LIMITED = 2,\n\tTCP_NLA_SNDBUF_LIMITED = 3,\n\tTCP_NLA_DATA_SEGS_OUT = 4,\n\tTCP_NLA_TOTAL_RETRANS = 5,\n\tTCP_NLA_PACING_RATE = 6,\n\tTCP_NLA_DELIVERY_RATE = 7,\n\tTCP_NLA_SND_CWND = 8,\n\tTCP_NLA_REORDERING = 9,\n\tTCP_NLA_MIN_RTT = 10,\n\tTCP_NLA_RECUR_RETRANS = 11,\n\tTCP_NLA_DELIVERY_RATE_APP_LMT = 12,\n\tTCP_NLA_SNDQ_SIZE = 13,\n\tTCP_NLA_CA_STATE = 14,\n\tTCP_NLA_SND_SSTHRESH = 15,\n\tTCP_NLA_DELIVERED = 16,\n\tTCP_NLA_DELIVERED_CE = 17,\n\tTCP_NLA_BYTES_SENT = 18,\n\tTCP_NLA_BYTES_RETRANS = 19,\n\tTCP_NLA_DSACK_DUPS = 20,\n\tTCP_NLA_REORD_SEEN = 21,\n\tTCP_NLA_SRTT = 22,\n\tTCP_NLA_TIMEOUT_REHASH = 23,\n\tTCP_NLA_BYTES_NOTSENT = 24,\n\tTCP_NLA_EDT = 25,\n\tTCP_NLA_TTL = 26,\n\tTCP_NLA_REHASH = 27,\n};\n\nenum {\n\tTCP_NO_QUEUE = 0,\n\tTCP_RECV_QUEUE = 1,\n\tTCP_SEND_QUEUE = 2,\n\tTCP_QUEUES_NR = 3,\n};\n\nenum {\n\tTEST_NONE = 0,\n\tTEST_CORE = 1,\n\tTEST_CPUS = 2,\n\tTEST_PLATFORM = 3,\n\tTEST_DEVICES = 4,\n\tTEST_FREEZER = 5,\n\t__TEST_AFTER_LAST = 6,\n};\n\nenum {\n\tTLB_INVAL_SCOPE_GLOBAL = 0,\n\tTLB_INVAL_SCOPE_LPID = 1,\n};\n\nenum {\n\tTLS_ALERT_DESC_CLOSE_NOTIFY = 0,\n\tTLS_ALERT_DESC_UNEXPECTED_MESSAGE = 10,\n\tTLS_ALERT_DESC_BAD_RECORD_MAC = 20,\n\tTLS_ALERT_DESC_RECORD_OVERFLOW = 22,\n\tTLS_ALERT_DESC_HANDSHAKE_FAILURE = 40,\n\tTLS_ALERT_DESC_BAD_CERTIFICATE = 42,\n\tTLS_ALERT_DESC_UNSUPPORTED_CERTIFICATE = 43,\n\tTLS_ALERT_DESC_CERTIFICATE_REVOKED = 44,\n\tTLS_ALERT_DESC_CERTIFICATE_EXPIRED = 45,\n\tTLS_ALERT_DESC_CERTIFICATE_UNKNOWN = 46,\n\tTLS_ALERT_DESC_ILLEGAL_PARAMETER = 47,\n\tTLS_ALERT_DESC_UNKNOWN_CA = 48,\n\tTLS_ALERT_DESC_ACCESS_DENIED = 49,\n\tTLS_ALERT_DESC_DECODE_ERROR = 50,\n\tTLS_ALERT_DESC_DECRYPT_ERROR = 51,\n\tTLS_ALERT_DESC_TOO_MANY_CIDS_REQUESTED = 52,\n\tTLS_ALERT_DESC_PROTOCOL_VERSION = 70,\n\tTLS_ALERT_DESC_INSUFFICIENT_SECURITY = 71,\n\tTLS_ALERT_DESC_INTERNAL_ERROR = 80,\n\tTLS_ALERT_DESC_INAPPROPRIATE_FALLBACK = 86,\n\tTLS_ALERT_DESC_USER_CANCELED = 90,\n\tTLS_ALERT_DESC_MISSING_EXTENSION = 109,\n\tTLS_ALERT_DESC_UNSUPPORTED_EXTENSION = 110,\n\tTLS_ALERT_DESC_UNRECOGNIZED_NAME = 112,\n\tTLS_ALERT_DESC_BAD_CERTIFICATE_STATUS_RESPONSE = 113,\n\tTLS_ALERT_DESC_UNKNOWN_PSK_IDENTITY = 115,\n\tTLS_ALERT_DESC_CERTIFICATE_REQUIRED = 116,\n\tTLS_ALERT_DESC_NO_APPLICATION_PROTOCOL = 120,\n};\n\nenum {\n\tTLS_ALERT_LEVEL_WARNING = 1,\n\tTLS_ALERT_LEVEL_FATAL = 2,\n};\n\nenum {\n\tTLS_NO_KEYRING = 0,\n\tTLS_NO_PEERID = 0,\n\tTLS_NO_CERT = 0,\n\tTLS_NO_PRIVKEY = 0,\n};\n\nenum {\n\tTLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20,\n\tTLS_RECORD_TYPE_ALERT = 21,\n\tTLS_RECORD_TYPE_HANDSHAKE = 22,\n\tTLS_RECORD_TYPE_DATA = 23,\n\tTLS_RECORD_TYPE_HEARTBEAT = 24,\n\tTLS_RECORD_TYPE_TLS12_CID = 25,\n\tTLS_RECORD_TYPE_ACK = 26,\n};\n\nenum {\n\tTOO_MANY_CLOSE = -1,\n\tTOO_MANY_OPEN = -2,\n\tMISSING_QUOTE = -3,\n};\n\nenum {\n\tTP_ERR_FILE_NOT_FOUND = 0,\n\tTP_ERR_NO_REGULAR_FILE = 1,\n\tTP_ERR_BAD_REFCNT = 2,\n\tTP_ERR_REFCNT_OPEN_BRACE = 3,\n\tTP_ERR_BAD_REFCNT_SUFFIX = 4,\n\tTP_ERR_BAD_UPROBE_OFFS = 5,\n\tTP_ERR_BAD_MAXACT_TYPE = 6,\n\tTP_ERR_BAD_MAXACT = 7,\n\tTP_ERR_MAXACT_TOO_BIG = 8,\n\tTP_ERR_BAD_PROBE_ADDR = 9,\n\tTP_ERR_NON_UNIQ_SYMBOL = 10,\n\tTP_ERR_BAD_RETPROBE = 11,\n\tTP_ERR_NO_TRACEPOINT = 12,\n\tTP_ERR_BAD_TP_NAME = 13,\n\tTP_ERR_BAD_ADDR_SUFFIX = 14,\n\tTP_ERR_NO_GROUP_NAME = 15,\n\tTP_ERR_GROUP_TOO_LONG = 16,\n\tTP_ERR_BAD_GROUP_NAME = 17,\n\tTP_ERR_NO_EVENT_NAME = 18,\n\tTP_ERR_EVENT_TOO_LONG = 19,\n\tTP_ERR_BAD_EVENT_NAME = 20,\n\tTP_ERR_EVENT_EXIST = 21,\n\tTP_ERR_RETVAL_ON_PROBE = 22,\n\tTP_ERR_NO_RETVAL = 23,\n\tTP_ERR_BAD_STACK_NUM = 24,\n\tTP_ERR_BAD_ARG_NUM = 25,\n\tTP_ERR_BAD_VAR = 26,\n\tTP_ERR_BAD_REG_NAME = 27,\n\tTP_ERR_BAD_MEM_ADDR = 28,\n\tTP_ERR_BAD_IMM = 29,\n\tTP_ERR_IMMSTR_NO_CLOSE = 30,\n\tTP_ERR_FILE_ON_KPROBE = 31,\n\tTP_ERR_BAD_FILE_OFFS = 32,\n\tTP_ERR_SYM_ON_UPROBE = 33,\n\tTP_ERR_TOO_MANY_OPS = 34,\n\tTP_ERR_DEREF_NEED_BRACE = 35,\n\tTP_ERR_BAD_DEREF_OFFS = 36,\n\tTP_ERR_DEREF_OPEN_BRACE = 37,\n\tTP_ERR_COMM_CANT_DEREF = 38,\n\tTP_ERR_BAD_FETCH_ARG = 39,\n\tTP_ERR_ARRAY_NO_CLOSE = 40,\n\tTP_ERR_BAD_ARRAY_SUFFIX = 41,\n\tTP_ERR_BAD_ARRAY_NUM = 42,\n\tTP_ERR_ARRAY_TOO_BIG = 43,\n\tTP_ERR_BAD_TYPE = 44,\n\tTP_ERR_BAD_STRING = 45,\n\tTP_ERR_BAD_SYMSTRING = 46,\n\tTP_ERR_BAD_BITFIELD = 47,\n\tTP_ERR_ARG_NAME_TOO_LONG = 48,\n\tTP_ERR_NO_ARG_NAME = 49,\n\tTP_ERR_BAD_ARG_NAME = 50,\n\tTP_ERR_USED_ARG_NAME = 51,\n\tTP_ERR_ARG_TOO_LONG = 52,\n\tTP_ERR_NO_ARG_BODY = 53,\n\tTP_ERR_BAD_INSN_BNDRY = 54,\n\tTP_ERR_FAIL_REG_PROBE = 55,\n\tTP_ERR_DIFF_PROBE_TYPE = 56,\n\tTP_ERR_DIFF_ARG_TYPE = 57,\n\tTP_ERR_SAME_PROBE = 58,\n\tTP_ERR_NO_EVENT_INFO = 59,\n\tTP_ERR_BAD_ATTACH_EVENT = 60,\n\tTP_ERR_BAD_ATTACH_ARG = 61,\n\tTP_ERR_NO_EP_FILTER = 62,\n\tTP_ERR_NOSUP_BTFARG = 63,\n\tTP_ERR_NO_BTFARG = 64,\n\tTP_ERR_NO_BTF_ENTRY = 65,\n\tTP_ERR_BAD_VAR_ARGS = 66,\n\tTP_ERR_NOFENTRY_ARGS = 67,\n\tTP_ERR_DOUBLE_ARGS = 68,\n\tTP_ERR_ARGS_2LONG = 69,\n\tTP_ERR_ARGIDX_2BIG = 70,\n\tTP_ERR_NO_PTR_STRCT = 71,\n\tTP_ERR_NOSUP_DAT_ARG = 72,\n\tTP_ERR_BAD_HYPHEN = 73,\n\tTP_ERR_NO_BTF_FIELD = 74,\n\tTP_ERR_BAD_BTF_TID = 75,\n\tTP_ERR_BAD_TYPE4STR = 76,\n\tTP_ERR_NEED_STRING_TYPE = 77,\n\tTP_ERR_TOO_MANY_EARGS = 78,\n};\n\nenum {\n\tTRACEFS_EVENT_INODE = 2,\n\tTRACEFS_GID_PERM_SET = 4,\n\tTRACEFS_UID_PERM_SET = 8,\n\tTRACEFS_INSTANCE_INODE = 16,\n};\n\nenum {\n\tTRACE_ARRAY_FL_GLOBAL = 1,\n\tTRACE_ARRAY_FL_BOOT = 2,\n\tTRACE_ARRAY_FL_MOD_INIT = 4,\n};\n\nenum {\n\tTRACE_CTX_NMI = 0,\n\tTRACE_CTX_IRQ = 1,\n\tTRACE_CTX_SOFTIRQ = 2,\n\tTRACE_CTX_NORMAL = 3,\n\tTRACE_CTX_TRANSITION = 4,\n};\n\nenum {\n\tTRACE_EVENT_FL_CAP_ANY = 1,\n\tTRACE_EVENT_FL_NO_SET_FILTER = 2,\n\tTRACE_EVENT_FL_IGNORE_ENABLE = 4,\n\tTRACE_EVENT_FL_TRACEPOINT = 8,\n\tTRACE_EVENT_FL_DYNAMIC = 16,\n\tTRACE_EVENT_FL_KPROBE = 32,\n\tTRACE_EVENT_FL_UPROBE = 64,\n\tTRACE_EVENT_FL_EPROBE = 128,\n\tTRACE_EVENT_FL_FPROBE = 256,\n\tTRACE_EVENT_FL_CUSTOM = 512,\n\tTRACE_EVENT_FL_TEST_STR = 1024,\n};\n\nenum {\n\tTRACE_EVENT_FL_CAP_ANY_BIT = 0,\n\tTRACE_EVENT_FL_NO_SET_FILTER_BIT = 1,\n\tTRACE_EVENT_FL_IGNORE_ENABLE_BIT = 2,\n\tTRACE_EVENT_FL_TRACEPOINT_BIT = 3,\n\tTRACE_EVENT_FL_DYNAMIC_BIT = 4,\n\tTRACE_EVENT_FL_KPROBE_BIT = 5,\n\tTRACE_EVENT_FL_UPROBE_BIT = 6,\n\tTRACE_EVENT_FL_EPROBE_BIT = 7,\n\tTRACE_EVENT_FL_FPROBE_BIT = 8,\n\tTRACE_EVENT_FL_CUSTOM_BIT = 9,\n\tTRACE_EVENT_FL_TEST_STR_BIT = 10,\n};\n\nenum {\n\tTRACE_FTRACE_BIT = 0,\n\tTRACE_FTRACE_NMI_BIT = 1,\n\tTRACE_FTRACE_IRQ_BIT = 2,\n\tTRACE_FTRACE_SIRQ_BIT = 3,\n\tTRACE_FTRACE_TRANSITION_BIT = 4,\n\tTRACE_INTERNAL_BIT = 5,\n\tTRACE_INTERNAL_NMI_BIT = 6,\n\tTRACE_INTERNAL_IRQ_BIT = 7,\n\tTRACE_INTERNAL_SIRQ_BIT = 8,\n\tTRACE_INTERNAL_TRANSITION_BIT = 9,\n\tTRACE_BRANCH_BIT = 10,\n\tTRACE_IRQ_BIT = 11,\n\tTRACE_RECORD_RECURSION_BIT = 12,\n};\n\nenum {\n\tTRACE_FUNC_NO_OPTS = 0,\n\tTRACE_FUNC_OPT_STACK = 1,\n\tTRACE_FUNC_OPT_NO_REPEATS = 2,\n\tTRACE_FUNC_OPT_HIGHEST_BIT = 4,\n};\n\nenum {\n\tTRACE_GRAPH_FL = 1,\n\tTRACE_GRAPH_DEPTH_START_BIT = 2,\n\tTRACE_GRAPH_DEPTH_END_BIT = 3,\n\tTRACE_GRAPH_NOTRACE_BIT = 4,\n};\n\nenum {\n\tTRACE_NOP_OPT_ACCEPT = 1,\n\tTRACE_NOP_OPT_REFUSE = 2,\n};\n\nenum {\n\tTRACE_PIDS = 1,\n\tTRACE_NO_PIDS = 2,\n};\n\nenum {\n\tTRACE_SIGNAL_DELIVERED = 0,\n\tTRACE_SIGNAL_IGNORED = 1,\n\tTRACE_SIGNAL_ALREADY_PENDING = 2,\n\tTRACE_SIGNAL_OVERFLOW_FAIL = 3,\n\tTRACE_SIGNAL_LOSE_INFO = 4,\n};\n\nenum {\n\tUDP_BPF_IPV4 = 0,\n\tUDP_BPF_IPV6 = 1,\n\tUDP_BPF_NUM_PROTS = 2,\n};\n\nenum {\n\tUDP_FLAGS_CORK = 0,\n\tUDP_FLAGS_NO_CHECK6_TX = 1,\n\tUDP_FLAGS_NO_CHECK6_RX = 2,\n\tUDP_FLAGS_GRO_ENABLED = 3,\n\tUDP_FLAGS_ACCEPT_FRAGLIST = 4,\n\tUDP_FLAGS_ACCEPT_L4 = 5,\n\tUDP_FLAGS_ENCAP_ENABLED = 6,\n\tUDP_FLAGS_UDPLITE_SEND_CC = 7,\n\tUDP_FLAGS_UDPLITE_RECV_CC = 8,\n};\n\nenum {\n\tUDP_MIB_NUM = 0,\n\tUDP_MIB_INDATAGRAMS = 1,\n\tUDP_MIB_NOPORTS = 2,\n\tUDP_MIB_INERRORS = 3,\n\tUDP_MIB_OUTDATAGRAMS = 4,\n\tUDP_MIB_RCVBUFERRORS = 5,\n\tUDP_MIB_SNDBUFERRORS = 6,\n\tUDP_MIB_CSUMERRORS = 7,\n\tUDP_MIB_IGNOREDMULTI = 8,\n\tUDP_MIB_MEMERRORS = 9,\n\t__UDP_MIB_MAX = 10,\n};\n\nenum {\n\tUNAME26 = 131072,\n\tADDR_NO_RANDOMIZE = 262144,\n\tFDPIC_FUNCPTRS = 524288,\n\tMMAP_PAGE_ZERO = 1048576,\n\tADDR_COMPAT_LAYOUT = 2097152,\n\tREAD_IMPLIES_EXEC = 4194304,\n\tADDR_LIMIT_32BIT = 8388608,\n\tSHORT_INODE = 16777216,\n\tWHOLE_SECONDS = 33554432,\n\tSTICKY_TIMEOUTS = 67108864,\n\tADDR_LIMIT_3GB = 134217728,\n};\n\nenum {\n\tWALK_TRAILING = 1,\n\tWALK_MORE = 2,\n\tWALK_NOFOLLOW = 4,\n};\n\nenum {\n\tXA_CHECK_SCHED = 4096,\n};\n\nenum {\n\tXDP_ATTACHED_NONE = 0,\n\tXDP_ATTACHED_DRV = 1,\n\tXDP_ATTACHED_SKB = 2,\n\tXDP_ATTACHED_HW = 3,\n\tXDP_ATTACHED_MULTI = 4,\n};\n\nenum {\n\tXFRM_DEV_OFFLOAD_UNSPECIFIED = 0,\n\tXFRM_DEV_OFFLOAD_CRYPTO = 1,\n\tXFRM_DEV_OFFLOAD_PACKET = 2,\n};\n\nenum {\n\tXFRM_LOOKUP_ICMP = 1,\n\tXFRM_LOOKUP_QUEUE = 2,\n\tXFRM_LOOKUP_KEEP_DST_REF = 4,\n};\n\nenum {\n\tXFRM_MODE_FLAG_TUNNEL = 1,\n};\n\nenum {\n\tXFRM_MSG_BASE = 16,\n\tXFRM_MSG_NEWSA = 16,\n\tXFRM_MSG_DELSA = 17,\n\tXFRM_MSG_GETSA = 18,\n\tXFRM_MSG_NEWPOLICY = 19,\n\tXFRM_MSG_DELPOLICY = 20,\n\tXFRM_MSG_GETPOLICY = 21,\n\tXFRM_MSG_ALLOCSPI = 22,\n\tXFRM_MSG_ACQUIRE = 23,\n\tXFRM_MSG_EXPIRE = 24,\n\tXFRM_MSG_UPDPOLICY = 25,\n\tXFRM_MSG_UPDSA = 26,\n\tXFRM_MSG_POLEXPIRE = 27,\n\tXFRM_MSG_FLUSHSA = 28,\n\tXFRM_MSG_FLUSHPOLICY = 29,\n\tXFRM_MSG_NEWAE = 30,\n\tXFRM_MSG_GETAE = 31,\n\tXFRM_MSG_REPORT = 32,\n\tXFRM_MSG_MIGRATE = 33,\n\tXFRM_MSG_NEWSADINFO = 34,\n\tXFRM_MSG_GETSADINFO = 35,\n\tXFRM_MSG_NEWSPDINFO = 36,\n\tXFRM_MSG_GETSPDINFO = 37,\n\tXFRM_MSG_MAPPING = 38,\n\tXFRM_MSG_SETDEFAULT = 39,\n\tXFRM_MSG_GETDEFAULT = 40,\n\t__XFRM_MSG_MAX = 41,\n};\n\nenum {\n\tXFRM_POLICY_IN = 0,\n\tXFRM_POLICY_OUT = 1,\n\tXFRM_POLICY_FWD = 2,\n\tXFRM_POLICY_MASK = 3,\n\tXFRM_POLICY_MAX = 3,\n};\n\nenum {\n\tXFRM_POLICY_TYPE_MAIN = 0,\n\tXFRM_POLICY_TYPE_SUB = 1,\n\tXFRM_POLICY_TYPE_MAX = 2,\n\tXFRM_POLICY_TYPE_ANY = 255,\n};\n\nenum {\n\tXFRM_STATE_VOID = 0,\n\tXFRM_STATE_ACQ = 1,\n\tXFRM_STATE_VALID = 2,\n\tXFRM_STATE_ERROR = 3,\n\tXFRM_STATE_EXPIRED = 4,\n\tXFRM_STATE_DEAD = 5,\n};\n\nenum {\n\tXFS_ERR_DEFAULT = 0,\n\tXFS_ERR_EIO = 1,\n\tXFS_ERR_ENOSPC = 2,\n\tXFS_ERR_ENODEV = 3,\n\tXFS_ERR_ERRNO_MAX = 4,\n};\n\nenum {\n\tXFS_ERR_METADATA = 0,\n\tXFS_ERR_CLASS_MAX = 1,\n};\n\nenum {\n\tXFS_LOWSP_1_PCNT = 0,\n\tXFS_LOWSP_2_PCNT = 1,\n\tXFS_LOWSP_3_PCNT = 2,\n\tXFS_LOWSP_4_PCNT = 3,\n\tXFS_LOWSP_5_PCNT = 4,\n\tXFS_LOWSP_MAX = 5,\n};\n\nenum {\n\tXFS_QLOWSP_1_PCNT = 0,\n\tXFS_QLOWSP_3_PCNT = 1,\n\tXFS_QLOWSP_5_PCNT = 2,\n\tXFS_QLOWSP_MAX = 3,\n};\n\nenum {\n\tXFS_QM_TRANS_USR = 0,\n\tXFS_QM_TRANS_GRP = 1,\n\tXFS_QM_TRANS_PRJ = 2,\n\tXFS_QM_TRANS_DQTYPES = 3,\n};\n\nenum {\n\tXIVE_DUMP_TM_HYP = 0,\n\tXIVE_DUMP_TM_POOL = 1,\n\tXIVE_DUMP_TM_OS = 2,\n\tXIVE_DUMP_TM_USER = 3,\n\tXIVE_DUMP_VP = 4,\n\tXIVE_DUMP_EMU_STATE = 5,\n};\n\nenum {\n\tXIVE_SYNC_EAS = 1,\n\tXIVE_SYNC_QUEUE = 2,\n};\n\nenum {\n\tXPT_BUSY = 0,\n\tXPT_CONN = 1,\n\tXPT_CLOSE = 2,\n\tXPT_DATA = 3,\n\tXPT_TEMP = 4,\n\tXPT_DEAD = 5,\n\tXPT_CHNGBUF = 6,\n\tXPT_DEFERRED = 7,\n\tXPT_OLD = 8,\n\tXPT_LISTENER = 9,\n\tXPT_CACHE_AUTH = 10,\n\tXPT_LOCAL = 11,\n\tXPT_KILL_TEMP = 12,\n\tXPT_CONG_CTRL = 13,\n\tXPT_HANDSHAKE = 14,\n\tXPT_TLS_SESSION = 15,\n\tXPT_PEER_AUTH = 16,\n\tXPT_PEER_VALID = 17,\n};\n\nenum {\n\tZONELIST_FALLBACK = 0,\n\tZONELIST_NOFALLBACK = 1,\n\tMAX_ZONELISTS = 2,\n};\n\nenum {\n\t_IRQ_DEFAULT_INIT_FLAGS = 2048,\n\t_IRQ_PER_CPU = 512,\n\t_IRQ_LEVEL = 256,\n\t_IRQ_NOPROBE = 1024,\n\t_IRQ_NOREQUEST = 2048,\n\t_IRQ_NOTHREAD = 65536,\n\t_IRQ_NOAUTOEN = 4096,\n\t_IRQ_NO_BALANCING = 8192,\n\t_IRQ_NESTED_THREAD = 32768,\n\t_IRQ_PER_CPU_DEVID = 131072,\n\t_IRQ_IS_POLLED = 262144,\n\t_IRQ_DISABLE_UNLAZY = 524288,\n\t_IRQ_HIDDEN = 1048576,\n\t_IRQ_NO_DEBUG = 2097152,\n\t_IRQF_MODIFY_MASK = 2080527,\n};\n\nenum {\n\t__ND_OPT_PREFIX_INFO_END = 0,\n\tND_OPT_SOURCE_LL_ADDR = 1,\n\tND_OPT_TARGET_LL_ADDR = 2,\n\tND_OPT_PREFIX_INFO = 3,\n\tND_OPT_REDIRECT_HDR = 4,\n\tND_OPT_MTU = 5,\n\tND_OPT_NONCE = 14,\n\t__ND_OPT_ARRAY_MAX = 15,\n\tND_OPT_ROUTE_INFO = 24,\n\tND_OPT_RDNSS = 25,\n\tND_OPT_DNSSL = 31,\n\tND_OPT_6CO = 34,\n\tND_OPT_CAPTIVE_PORTAL = 37,\n\tND_OPT_PREF64 = 38,\n\t__ND_OPT_MAX = 39,\n};\n\nenum {\n\t__PERCPU_REF_ATOMIC = 1,\n\t__PERCPU_REF_DEAD = 2,\n\t__PERCPU_REF_ATOMIC_DEAD = 3,\n\t__PERCPU_REF_FLAG_BITS = 2,\n};\n\nenum {\n\t__SCHED_FEAT_PLACE_LAG = 0,\n\t__SCHED_FEAT_PLACE_DEADLINE_INITIAL = 1,\n\t__SCHED_FEAT_PLACE_REL_DEADLINE = 2,\n\t__SCHED_FEAT_RUN_TO_PARITY = 3,\n\t__SCHED_FEAT_PREEMPT_SHORT = 4,\n\t__SCHED_FEAT_NEXT_BUDDY = 5,\n\t__SCHED_FEAT_PICK_BUDDY = 6,\n\t__SCHED_FEAT_CACHE_HOT_BUDDY = 7,\n\t__SCHED_FEAT_DELAY_DEQUEUE = 8,\n\t__SCHED_FEAT_DELAY_ZERO = 9,\n\t__SCHED_FEAT_WAKEUP_PREEMPTION = 10,\n\t__SCHED_FEAT_HRTICK = 11,\n\t__SCHED_FEAT_HRTICK_DL = 12,\n\t__SCHED_FEAT_NONTASK_CAPACITY = 13,\n\t__SCHED_FEAT_TTWU_QUEUE = 14,\n\t__SCHED_FEAT_SIS_UTIL = 15,\n\t__SCHED_FEAT_WARN_DOUBLE_CLOCK = 16,\n\t__SCHED_FEAT_RT_PUSH_IPI = 17,\n\t__SCHED_FEAT_RT_RUNTIME_SHARE = 18,\n\t__SCHED_FEAT_LB_MIN = 19,\n\t__SCHED_FEAT_ATTACH_AGE_LOAD = 20,\n\t__SCHED_FEAT_WA_IDLE = 21,\n\t__SCHED_FEAT_WA_WEIGHT = 22,\n\t__SCHED_FEAT_WA_BIAS = 23,\n\t__SCHED_FEAT_UTIL_EST = 24,\n\t__SCHED_FEAT_LATENCY_WARN = 25,\n\t__SCHED_FEAT_NR = 26,\n};\n\nenum {\n\t__SD_BALANCE_NEWIDLE = 0,\n\t__SD_BALANCE_EXEC = 1,\n\t__SD_BALANCE_FORK = 2,\n\t__SD_BALANCE_WAKE = 3,\n\t__SD_WAKE_AFFINE = 4,\n\t__SD_ASYM_CPUCAPACITY = 5,\n\t__SD_ASYM_CPUCAPACITY_FULL = 6,\n\t__SD_SHARE_CPUCAPACITY = 7,\n\t__SD_CLUSTER = 8,\n\t__SD_SHARE_LLC = 9,\n\t__SD_SERIALIZE = 10,\n\t__SD_ASYM_PACKING = 11,\n\t__SD_PREFER_SIBLING = 12,\n\t__SD_OVERLAP = 13,\n\t__SD_NUMA = 14,\n\t__SD_FLAG_CNT = 15,\n};\n\nenum {\n\t__XBTS_lookup = 0,\n\t__XBTS_compare = 1,\n\t__XBTS_insrec = 2,\n\t__XBTS_delrec = 3,\n\t__XBTS_newroot = 4,\n\t__XBTS_killroot = 5,\n\t__XBTS_increment = 6,\n\t__XBTS_decrement = 7,\n\t__XBTS_lshift = 8,\n\t__XBTS_rshift = 9,\n\t__XBTS_split = 10,\n\t__XBTS_join = 11,\n\t__XBTS_alloc = 12,\n\t__XBTS_free = 13,\n\t__XBTS_moves = 14,\n\t__XBTS_MAX = 15,\n};\n\nenum {\n\t___GFP_DMA_BIT = 0,\n\t___GFP_HIGHMEM_BIT = 1,\n\t___GFP_DMA32_BIT = 2,\n\t___GFP_MOVABLE_BIT = 3,\n\t___GFP_RECLAIMABLE_BIT = 4,\n\t___GFP_HIGH_BIT = 5,\n\t___GFP_IO_BIT = 6,\n\t___GFP_FS_BIT = 7,\n\t___GFP_ZERO_BIT = 8,\n\t___GFP_UNUSED_BIT = 9,\n\t___GFP_DIRECT_RECLAIM_BIT = 10,\n\t___GFP_KSWAPD_RECLAIM_BIT = 11,\n\t___GFP_WRITE_BIT = 12,\n\t___GFP_NOWARN_BIT = 13,\n\t___GFP_RETRY_MAYFAIL_BIT = 14,\n\t___GFP_NOFAIL_BIT = 15,\n\t___GFP_NORETRY_BIT = 16,\n\t___GFP_MEMALLOC_BIT = 17,\n\t___GFP_COMP_BIT = 18,\n\t___GFP_NOMEMALLOC_BIT = 19,\n\t___GFP_HARDWALL_BIT = 20,\n\t___GFP_THISNODE_BIT = 21,\n\t___GFP_ACCOUNT_BIT = 22,\n\t___GFP_ZEROTAGS_BIT = 23,\n\t___GFP_NO_OBJ_EXT_BIT = 24,\n\t___GFP_LAST_BIT = 25,\n};\n\nenum {\n\t__ctx_convertBPF_PROG_TYPE_SOCKET_FILTER = 0,\n\t__ctx_convertBPF_PROG_TYPE_SCHED_CLS = 1,\n\t__ctx_convertBPF_PROG_TYPE_SCHED_ACT = 2,\n\t__ctx_convertBPF_PROG_TYPE_XDP = 3,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SKB = 4,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCK = 5,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 6,\n\t__ctx_convertBPF_PROG_TYPE_LWT_IN = 7,\n\t__ctx_convertBPF_PROG_TYPE_LWT_OUT = 8,\n\t__ctx_convertBPF_PROG_TYPE_LWT_XMIT = 9,\n\t__ctx_convertBPF_PROG_TYPE_LWT_SEG6LOCAL = 10,\n\t__ctx_convertBPF_PROG_TYPE_SOCK_OPS = 11,\n\t__ctx_convertBPF_PROG_TYPE_SK_SKB = 12,\n\t__ctx_convertBPF_PROG_TYPE_SK_MSG = 13,\n\t__ctx_convertBPF_PROG_TYPE_FLOW_DISSECTOR = 14,\n\t__ctx_convertBPF_PROG_TYPE_KPROBE = 15,\n\t__ctx_convertBPF_PROG_TYPE_TRACEPOINT = 16,\n\t__ctx_convertBPF_PROG_TYPE_PERF_EVENT = 17,\n\t__ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT = 18,\n\t__ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 19,\n\t__ctx_convertBPF_PROG_TYPE_TRACING = 20,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_DEVICE = 21,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SYSCTL = 22,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCKOPT = 23,\n\t__ctx_convertBPF_PROG_TYPE_SK_REUSEPORT = 24,\n\t__ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 25,\n\t__ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 26,\n\t__ctx_convertBPF_PROG_TYPE_EXT = 27,\n\t__ctx_convertBPF_PROG_TYPE_LSM = 28,\n\t__ctx_convertBPF_PROG_TYPE_SYSCALL = 29,\n\t__ctx_convertBPF_PROG_TYPE_NETFILTER = 30,\n\t__ctx_convert_unused = 31,\n};\n\nenum {\n\tattr_noop = 0,\n\tattr_delayed_allocation_blocks = 1,\n\tattr_session_write_kbytes = 2,\n\tattr_lifetime_write_kbytes = 3,\n\tattr_reserved_clusters = 4,\n\tattr_sra_exceeded_retry_limit = 5,\n\tattr_inode_readahead = 6,\n\tattr_trigger_test_error = 7,\n\tattr_first_error_time = 8,\n\tattr_last_error_time = 9,\n\tattr_clusters_in_group = 10,\n\tattr_mb_order = 11,\n\tattr_feature = 12,\n\tattr_pointer_pi = 13,\n\tattr_pointer_ui = 14,\n\tattr_pointer_ul = 15,\n\tattr_pointer_u64 = 16,\n\tattr_pointer_u8 = 17,\n\tattr_pointer_string = 18,\n\tattr_pointer_atomic = 19,\n\tattr_journal_task = 20,\n};\n\nenum {\n\tblank_off = 0,\n\tblank_normal_wait = 1,\n\tblank_vesa_wait = 2,\n};\n\nenum {\n\tcmap_unknown = 0,\n\tcmap_simple = 1,\n\tcmap_r128 = 2,\n\tcmap_M3A = 3,\n\tcmap_M3B = 4,\n\tcmap_radeon = 5,\n\tcmap_gxt2000 = 6,\n\tcmap_avivo = 7,\n\tcmap_qemu = 8,\n};\n\nenum {\n\tcpuset = 0,\n\tpossible = 1,\n\tfail = 2,\n};\n\nenum {\n\tdns_key_data = 0,\n\tdns_key_error = 1,\n};\n\nenum {\n\te1000_10_half = 0,\n\te1000_10_full = 1,\n\te1000_100_half = 2,\n\te1000_100_full = 3,\n};\n\nenum {\n\te1000_igp_cable_length_10 = 10,\n\te1000_igp_cable_length_20 = 20,\n\te1000_igp_cable_length_30 = 30,\n\te1000_igp_cable_length_40 = 40,\n\te1000_igp_cable_length_50 = 50,\n\te1000_igp_cable_length_60 = 60,\n\te1000_igp_cable_length_70 = 70,\n\te1000_igp_cable_length_80 = 80,\n\te1000_igp_cable_length_90 = 90,\n\te1000_igp_cable_length_100 = 100,\n\te1000_igp_cable_length_110 = 110,\n\te1000_igp_cable_length_115 = 115,\n\te1000_igp_cable_length_120 = 120,\n\te1000_igp_cable_length_130 = 130,\n\te1000_igp_cable_length_140 = 140,\n\te1000_igp_cable_length_150 = 150,\n\te1000_igp_cable_length_160 = 160,\n\te1000_igp_cable_length_170 = 170,\n\te1000_igp_cable_length_180 = 180,\n};\n\nenum {\n\tfalse = 0,\n\ttrue = 1,\n};\n\nenum {\n\tmask_exec = 0,\n\tmask_write = 1,\n\tmask_read = 2,\n\tmask_append = 3,\n};\n\nenum {\n\tmechtype_caddy = 0,\n\tmechtype_tray = 1,\n\tmechtype_popup = 2,\n\tmechtype_individual_changer = 4,\n\tmechtype_cartridge_changer = 5,\n};\n\nenum {\n\tnone = 0,\n\tday = 1,\n\tmonth = 2,\n\tyear = 3,\n};\n\nenum {\n\tpci_channel_io_normal = 1,\n\tpci_channel_io_frozen = 2,\n\tpci_channel_io_perm_failure = 3,\n};\n\nenum {\n\tptr_explicit = 0,\n\tptr_ext4_sb_info_offset = 1,\n\tptr_ext4_super_block_offset = 2,\n};\n\ntypedef enum {\n\tBIT_DStream_unfinished = 0,\n\tBIT_DStream_endOfBuffer = 1,\n\tBIT_DStream_completed = 2,\n\tBIT_DStream_overflow = 3,\n} BIT_DStream_status;\n\ntypedef enum {\n\tZSTD_error_no_error = 0,\n\tZSTD_error_GENERIC = 1,\n\tZSTD_error_prefix_unknown = 10,\n\tZSTD_error_version_unsupported = 12,\n\tZSTD_error_frameParameter_unsupported = 14,\n\tZSTD_error_frameParameter_windowTooLarge = 16,\n\tZSTD_error_corruption_detected = 20,\n\tZSTD_error_checksum_wrong = 22,\n\tZSTD_error_dictionary_corrupted = 30,\n\tZSTD_error_dictionary_wrong = 32,\n\tZSTD_error_dictionaryCreation_failed = 34,\n\tZSTD_error_parameter_unsupported = 40,\n\tZSTD_error_parameter_outOfBound = 42,\n\tZSTD_error_tableLog_tooLarge = 44,\n\tZSTD_error_maxSymbolValue_tooLarge = 46,\n\tZSTD_error_maxSymbolValue_tooSmall = 48,\n\tZSTD_error_stage_wrong = 60,\n\tZSTD_error_init_missing = 62,\n\tZSTD_error_memory_allocation = 64,\n\tZSTD_error_workSpace_tooSmall = 66,\n\tZSTD_error_dstSize_tooSmall = 70,\n\tZSTD_error_srcSize_wrong = 72,\n\tZSTD_error_dstBuffer_null = 74,\n\tZSTD_error_frameIndex_tooLarge = 100,\n\tZSTD_error_seekableIO = 102,\n\tZSTD_error_dstBuffer_wrong = 104,\n\tZSTD_error_srcBuffer_wrong = 105,\n\tZSTD_error_maxCode = 120,\n} ZSTD_ErrorCode;\n\ntypedef ZSTD_ErrorCode ERR_enum;\n\ntypedef enum {\n\tZSTD_reset_session_only = 1,\n\tZSTD_reset_parameters = 2,\n\tZSTD_reset_session_and_parameters = 3,\n} ZSTD_ResetDirective;\n\ntypedef enum {\n\tZSTD_bm_buffered = 0,\n\tZSTD_bm_stable = 1,\n} ZSTD_bufferMode_e;\n\ntypedef enum {\n\tZSTD_d_windowLogMax = 100,\n\tZSTD_d_experimentalParam1 = 1000,\n\tZSTD_d_experimentalParam2 = 1001,\n\tZSTD_d_experimentalParam3 = 1002,\n\tZSTD_d_experimentalParam4 = 1003,\n} ZSTD_dParameter;\n\ntypedef enum {\n\tZSTDds_getFrameHeaderSize = 0,\n\tZSTDds_decodeFrameHeader = 1,\n\tZSTDds_decodeBlockHeader = 2,\n\tZSTDds_decompressBlock = 3,\n\tZSTDds_decompressLastBlock = 4,\n\tZSTDds_checkChecksum = 5,\n\tZSTDds_decodeSkippableHeader = 6,\n\tZSTDds_skipFrame = 7,\n} ZSTD_dStage;\n\ntypedef enum {\n\tzdss_init = 0,\n\tzdss_loadHeader = 1,\n\tzdss_read = 2,\n\tzdss_load = 3,\n\tzdss_flush = 4,\n} ZSTD_dStreamStage;\n\ntypedef enum {\n\tZSTD_dct_auto = 0,\n\tZSTD_dct_rawContent = 1,\n\tZSTD_dct_fullDict = 2,\n} ZSTD_dictContentType_e;\n\ntypedef enum {\n\tZSTD_dlm_byCopy = 0,\n\tZSTD_dlm_byRef = 1,\n} ZSTD_dictLoadMethod_e;\n\ntypedef enum {\n\tZSTD_use_indefinitely = -1,\n\tZSTD_dont_use = 0,\n\tZSTD_use_once = 1,\n} ZSTD_dictUses_e;\n\ntypedef enum {\n\tZSTD_d_validateChecksum = 0,\n\tZSTD_d_ignoreChecksum = 1,\n} ZSTD_forceIgnoreChecksum_e;\n\ntypedef enum {\n\tZSTD_f_zstd1 = 0,\n\tZSTD_f_zstd1_magicless = 1,\n} ZSTD_format_e;\n\ntypedef enum {\n\tZSTD_frame = 0,\n\tZSTD_skippableFrame = 1,\n} ZSTD_frameType_e;\n\ntypedef enum {\n\tZSTD_not_in_dst = 0,\n\tZSTD_in_dst = 1,\n\tZSTD_split = 2,\n} ZSTD_litLocation_e;\n\ntypedef enum {\n\tZSTD_lo_isRegularOffset = 0,\n\tZSTD_lo_isLongOffset = 1,\n} ZSTD_longOffset_e;\n\ntypedef enum {\n\tZSTDnit_frameHeader = 0,\n\tZSTDnit_blockHeader = 1,\n\tZSTDnit_block = 2,\n\tZSTDnit_lastBlock = 3,\n\tZSTDnit_checksum = 4,\n\tZSTDnit_skippableFrame = 5,\n} ZSTD_nextInputType_e;\n\ntypedef enum {\n\tZSTD_no_overlap = 0,\n\tZSTD_overlap_src_before_dst = 1,\n} ZSTD_overlap_e;\n\ntypedef enum {\n\tZSTD_rmd_refSingleDDict = 0,\n\tZSTD_rmd_refMultipleDDicts = 1,\n} ZSTD_refMultipleDDicts_e;\n\ntypedef enum {\n\tbt_raw = 0,\n\tbt_rle = 1,\n\tbt_compressed = 2,\n\tbt_reserved = 3,\n} blockType_e;\n\ntypedef enum {\n\tneed_more = 0,\n\tblock_done = 1,\n\tfinish_started = 2,\n\tfinish_done = 3,\n} block_state;\n\ntypedef enum {\n\tCODES = 0,\n\tLENS = 1,\n\tDISTS = 2,\n} codetype;\n\ntypedef enum {\n\tFILE_MEMORY_MIGRATE = 0,\n\tFILE_CPULIST = 1,\n\tFILE_MEMLIST = 2,\n\tFILE_EFFECTIVE_CPULIST = 3,\n\tFILE_EFFECTIVE_MEMLIST = 4,\n\tFILE_SUBPARTS_CPULIST = 5,\n\tFILE_EXCLUSIVE_CPULIST = 6,\n\tFILE_EFFECTIVE_XCPULIST = 7,\n\tFILE_ISOLATED_CPULIST = 8,\n\tFILE_CPU_EXCLUSIVE = 9,\n\tFILE_MEM_EXCLUSIVE = 10,\n\tFILE_MEM_HARDWALL = 11,\n\tFILE_SCHED_LOAD_BALANCE = 12,\n\tFILE_PARTITION_ROOT = 13,\n\tFILE_SCHED_RELAX_DOMAIN_LEVEL = 14,\n\tFILE_MEMORY_PRESSURE_ENABLED = 15,\n\tFILE_MEMORY_PRESSURE = 16,\n\tFILE_SPREAD_PAGE = 17,\n\tFILE_SPREAD_SLAB = 18,\n} cpuset_filetype_t;\n\ntypedef enum {\n\tCS_ONLINE = 0,\n\tCS_CPU_EXCLUSIVE = 1,\n\tCS_MEM_EXCLUSIVE = 2,\n\tCS_MEM_HARDWALL = 3,\n\tCS_MEMORY_MIGRATE = 4,\n\tCS_SCHED_LOAD_BALANCE = 5,\n\tCS_SPREAD_PAGE = 6,\n\tCS_SPREAD_SLAB = 7,\n} cpuset_flagbits_t;\n\ntypedef enum {\n\tnoDict = 0,\n\twithPrefix64k = 1,\n\tusingExtDict = 2,\n} dict_directive;\n\ntypedef enum {\n\tEITHER = 0,\n\tINDEX = 1,\n\tDIRENT = 2,\n\tDIRENT_HTREE = 3,\n} dirblock_type_t;\n\ntypedef enum {\n\te1000_1000t_rx_status_not_ok = 0,\n\te1000_1000t_rx_status_ok = 1,\n\te1000_1000t_rx_status_undefined = 255,\n} e1000_1000t_rx_status;\n\ntypedef enum {\n\te1000_10bt_ext_dist_enable_normal = 0,\n\te1000_10bt_ext_dist_enable_lower = 1,\n\te1000_10bt_ext_dist_enable_undefined = 255,\n} e1000_10bt_ext_dist_enable;\n\ntypedef enum {\n\te1000_auto_x_mode_manual_mdi = 0,\n\te1000_auto_x_mode_manual_mdix = 1,\n\te1000_auto_x_mode_auto1 = 2,\n\te1000_auto_x_mode_auto2 = 3,\n\te1000_auto_x_mode_undefined = 255,\n} e1000_auto_x_mode;\n\ntypedef enum {\n\te1000_bus_speed_unknown = 0,\n\te1000_bus_speed_33 = 1,\n\te1000_bus_speed_66 = 2,\n\te1000_bus_speed_100 = 3,\n\te1000_bus_speed_120 = 4,\n\te1000_bus_speed_133 = 5,\n\te1000_bus_speed_reserved = 6,\n} e1000_bus_speed;\n\ntypedef enum {\n\te1000_bus_type_unknown = 0,\n\te1000_bus_type_pci = 1,\n\te1000_bus_type_pcix = 2,\n\te1000_bus_type_reserved = 3,\n} e1000_bus_type;\n\ntypedef enum {\n\te1000_bus_width_unknown = 0,\n\te1000_bus_width_32 = 1,\n\te1000_bus_width_64 = 2,\n\te1000_bus_width_reserved = 3,\n} e1000_bus_width;\n\ntypedef enum {\n\te1000_cable_length_50 = 0,\n\te1000_cable_length_50_80 = 1,\n\te1000_cable_length_80_110 = 2,\n\te1000_cable_length_110_140 = 3,\n\te1000_cable_length_140 = 4,\n\te1000_cable_length_undefined = 255,\n} e1000_cable_length;\n\ntypedef enum {\n\te1000_downshift_normal = 0,\n\te1000_downshift_activated = 1,\n\te1000_downshift_undefined = 255,\n} e1000_downshift;\n\ntypedef enum {\n\te1000_dsp_config_disabled = 0,\n\te1000_dsp_config_enabled = 1,\n\te1000_dsp_config_activated = 2,\n\te1000_dsp_config_undefined = 255,\n} e1000_dsp_config;\n\ntypedef enum {\n\te1000_eeprom_uninitialized = 0,\n\te1000_eeprom_spi = 1,\n\te1000_eeprom_microwire = 2,\n\te1000_eeprom_flash = 3,\n\te1000_eeprom_none = 4,\n\te1000_num_eeprom_types = 5,\n} e1000_eeprom_type;\n\ntypedef enum {\n\tE1000_FC_NONE = 0,\n\tE1000_FC_RX_PAUSE = 1,\n\tE1000_FC_TX_PAUSE = 2,\n\tE1000_FC_FULL = 3,\n\tE1000_FC_DEFAULT = 255,\n} e1000_fc_type;\n\ntypedef enum {\n\te1000_ffe_config_enabled = 0,\n\te1000_ffe_config_active = 1,\n\te1000_ffe_config_blocked = 2,\n} e1000_ffe_config;\n\ntypedef enum {\n\te1000_undefined = 0,\n\te1000_82542_rev2_0 = 1,\n\te1000_82542_rev2_1 = 2,\n\te1000_82543 = 3,\n\te1000_82544 = 4,\n\te1000_82540 = 5,\n\te1000_82545 = 6,\n\te1000_82545_rev_3 = 7,\n\te1000_82546 = 8,\n\te1000_ce4100 = 9,\n\te1000_82546_rev_3 = 10,\n\te1000_82541 = 11,\n\te1000_82541_rev_2 = 12,\n\te1000_82547 = 13,\n\te1000_82547_rev_2 = 14,\n\te1000_num_macs = 15,\n} e1000_mac_type;\n\ntypedef enum {\n\te1000_media_type_copper = 0,\n\te1000_media_type_fiber = 1,\n\te1000_media_type_internal_serdes = 2,\n\te1000_num_media_types = 3,\n} e1000_media_type;\n\ntypedef enum {\n\te1000_ms_hw_default = 0,\n\te1000_ms_force_master = 1,\n\te1000_ms_force_slave = 2,\n\te1000_ms_auto = 3,\n} e1000_ms_type;\n\ntypedef enum {\n\te1000_phy_m88 = 0,\n\te1000_phy_igp = 1,\n\te1000_phy_8211 = 2,\n\te1000_phy_8201 = 3,\n\te1000_phy_undefined = 255,\n} e1000_phy_type;\n\ntypedef enum {\n\te1000_polarity_reversal_enabled = 0,\n\te1000_polarity_reversal_disabled = 1,\n\te1000_polarity_reversal_undefined = 255,\n} e1000_polarity_reversal;\n\ntypedef enum {\n\te1000_rev_polarity_normal = 0,\n\te1000_rev_polarity_reversed = 1,\n\te1000_rev_polarity_undefined = 255,\n} e1000_rev_polarity;\n\ntypedef enum {\n\te1000_smart_speed_default = 0,\n\te1000_smart_speed_on = 1,\n\te1000_smart_speed_off = 2,\n} e1000_smart_speed;\n\ntypedef enum {\n\tdecode_full_block = 0,\n\tpartial_decode = 1,\n} earlyEnd_directive;\n\ntypedef enum {\n\tendOnOutputSize = 0,\n\tendOnInputSize = 1,\n} endCondition_directive;\n\ntypedef enum {\n\tEXT4_IGET_NORMAL = 0,\n\tEXT4_IGET_SPECIAL = 1,\n\tEXT4_IGET_HANDLE = 2,\n\tEXT4_IGET_BAD = 4,\n\tEXT4_IGET_EA_INODE = 8,\n} ext4_iget_flags;\n\ntypedef enum {\n\tHEAD = 0,\n\tFLAGS = 1,\n\tTIME = 2,\n\tOS = 3,\n\tEXLEN = 4,\n\tEXTRA = 5,\n\tNAME = 6,\n\tCOMMENT = 7,\n\tHCRC = 8,\n\tDICTID = 9,\n\tDICT = 10,\n\tTYPE = 11,\n\tTYPEDO = 12,\n\tSTORED = 13,\n\tCOPY = 14,\n\tTABLE = 15,\n\tLENLENS = 16,\n\tCODELENS = 17,\n\tLEN = 18,\n\tLENEXT = 19,\n\tDIST = 20,\n\tDISTEXT = 21,\n\tMATCH = 22,\n\tLIT = 23,\n\tCHECK = 24,\n\tLENGTH = 25,\n\tDONE = 26,\n\tBAD = 27,\n\tMEM = 28,\n\tSYNC = 29,\n} inflate_mode;\n\ntypedef enum {\n\tISOLATE_ABORT = 0,\n\tISOLATE_NONE = 1,\n\tISOLATE_SUCCESS = 2,\n} isolate_migrate_t;\n\ntypedef enum {\n\tMAP_CHG_REUSE = 0,\n\tMAP_CHG_NEEDED = 1,\n\tMAP_CHG_ENFORCED = 2,\n} map_chg_state;\n\ntypedef enum {\n\tPAGE_KEEP = 0,\n\tPAGE_ACTIVATE = 1,\n\tPAGE_SUCCESS = 2,\n\tPAGE_CLEAN = 3,\n} pageout_t;\n\ntypedef enum {\n\tPHY_INTERFACE_MODE_NA = 0,\n\tPHY_INTERFACE_MODE_INTERNAL = 1,\n\tPHY_INTERFACE_MODE_MII = 2,\n\tPHY_INTERFACE_MODE_GMII = 3,\n\tPHY_INTERFACE_MODE_SGMII = 4,\n\tPHY_INTERFACE_MODE_TBI = 5,\n\tPHY_INTERFACE_MODE_REVMII = 6,\n\tPHY_INTERFACE_MODE_RMII = 7,\n\tPHY_INTERFACE_MODE_REVRMII = 8,\n\tPHY_INTERFACE_MODE_RGMII = 9,\n\tPHY_INTERFACE_MODE_RGMII_ID = 10,\n\tPHY_INTERFACE_MODE_RGMII_RXID = 11,\n\tPHY_INTERFACE_MODE_RGMII_TXID = 12,\n\tPHY_INTERFACE_MODE_RTBI = 13,\n\tPHY_INTERFACE_MODE_SMII = 14,\n\tPHY_INTERFACE_MODE_XGMII = 15,\n\tPHY_INTERFACE_MODE_XLGMII = 16,\n\tPHY_INTERFACE_MODE_MOCA = 17,\n\tPHY_INTERFACE_MODE_PSGMII = 18,\n\tPHY_INTERFACE_MODE_QSGMII = 19,\n\tPHY_INTERFACE_MODE_TRGMII = 20,\n\tPHY_INTERFACE_MODE_100BASEX = 21,\n\tPHY_INTERFACE_MODE_1000BASEX = 22,\n\tPHY_INTERFACE_MODE_2500BASEX = 23,\n\tPHY_INTERFACE_MODE_5GBASER = 24,\n\tPHY_INTERFACE_MODE_RXAUI = 25,\n\tPHY_INTERFACE_MODE_XAUI = 26,\n\tPHY_INTERFACE_MODE_10GBASER = 27,\n\tPHY_INTERFACE_MODE_25GBASER = 28,\n\tPHY_INTERFACE_MODE_USXGMII = 29,\n\tPHY_INTERFACE_MODE_10GKR = 30,\n\tPHY_INTERFACE_MODE_QUSGMII = 31,\n\tPHY_INTERFACE_MODE_1000BASEKX = 32,\n\tPHY_INTERFACE_MODE_10G_QXGMII = 33,\n\tPHY_INTERFACE_MODE_MAX = 34,\n} phy_interface_t;\n\ntypedef enum {\n\tPSMOUSE_BAD_DATA = 0,\n\tPSMOUSE_GOOD_DATA = 1,\n\tPSMOUSE_FULL_PACKET = 2,\n} psmouse_ret_t;\n\ntypedef enum {\n\tSS_FREE = 0,\n\tSS_UNCONNECTED = 1,\n\tSS_CONNECTING = 2,\n\tSS_CONNECTED = 3,\n\tSS_DISCONNECTING = 4,\n} socket_state;\n\ntypedef enum {\n\tSTATUSTYPE_INFO = 0,\n\tSTATUSTYPE_TABLE = 1,\n\tSTATUSTYPE_IMA = 2,\n} status_type_t;\n\ntypedef enum {\n\tnot_streaming = 0,\n\tis_streaming = 1,\n} streaming_operation;\n\ntypedef enum {\n\tset_basic = 0,\n\tset_rle = 1,\n\tset_compressed = 2,\n\tset_repeat = 3,\n} symbolEncodingType_e;\n\ntypedef enum {\n\tXFS_EXT_NORM = 0,\n\tXFS_EXT_UNWRITTEN = 1,\n} xfs_exntst_t;\n\ntypedef enum {\n\tXFS_LOOKUP_EQi = 0,\n\tXFS_LOOKUP_LEi = 1,\n\tXFS_LOOKUP_GEi = 2,\n} xfs_lookup_t;\n\ntypedef ZSTD_ErrorCode zstd_error_code;\n\nenum CSI_J {\n\tCSI_J_CURSOR_TO_END = 0,\n\tCSI_J_START_TO_CURSOR = 1,\n\tCSI_J_VISIBLE = 2,\n\tCSI_J_FULL = 3,\n};\n\nenum CSI_right_square_bracket {\n\tCSI_RSB_COLOR_FOR_UNDERLINE = 1,\n\tCSI_RSB_COLOR_FOR_HALF_BRIGHT = 2,\n\tCSI_RSB_MAKE_CUR_COLOR_DEFAULT = 8,\n\tCSI_RSB_BLANKING_INTERVAL = 9,\n\tCSI_RSB_BELL_FREQUENCY = 10,\n\tCSI_RSB_BELL_DURATION = 11,\n\tCSI_RSB_BRING_CONSOLE_TO_FRONT = 12,\n\tCSI_RSB_UNBLANK = 13,\n\tCSI_RSB_VESA_OFF_INTERVAL = 14,\n\tCSI_RSB_BRING_PREV_CONSOLE_TO_FRONT = 15,\n\tCSI_RSB_CURSOR_BLINK_INTERVAL = 16,\n};\n\nenum KTHREAD_BITS {\n\tKTHREAD_IS_PER_CPU = 0,\n\tKTHREAD_SHOULD_STOP = 1,\n\tKTHREAD_SHOULD_PARK = 2,\n};\n\nenum MCE_Disposition {\n\tMCE_DISPOSITION_RECOVERED = 0,\n\tMCE_DISPOSITION_NOT_RECOVERED = 1,\n};\n\nenum MCE_EratErrorType {\n\tMCE_ERAT_ERROR_INDETERMINATE = 0,\n\tMCE_ERAT_ERROR_PARITY = 1,\n\tMCE_ERAT_ERROR_MULTIHIT = 2,\n};\n\nenum MCE_ErrorClass {\n\tMCE_ECLASS_UNKNOWN = 0,\n\tMCE_ECLASS_HARDWARE = 1,\n\tMCE_ECLASS_HARD_INDETERMINATE = 2,\n\tMCE_ECLASS_SOFTWARE = 3,\n\tMCE_ECLASS_SOFT_INDETERMINATE = 4,\n};\n\nenum MCE_ErrorType {\n\tMCE_ERROR_TYPE_UNKNOWN = 0,\n\tMCE_ERROR_TYPE_UE = 1,\n\tMCE_ERROR_TYPE_SLB = 2,\n\tMCE_ERROR_TYPE_ERAT = 3,\n\tMCE_ERROR_TYPE_TLB = 4,\n\tMCE_ERROR_TYPE_USER = 5,\n\tMCE_ERROR_TYPE_RA = 6,\n\tMCE_ERROR_TYPE_LINK = 7,\n\tMCE_ERROR_TYPE_DCACHE = 8,\n\tMCE_ERROR_TYPE_ICACHE = 9,\n};\n\nenum MCE_Initiator {\n\tMCE_INITIATOR_UNKNOWN = 0,\n\tMCE_INITIATOR_CPU = 1,\n\tMCE_INITIATOR_PCI = 2,\n\tMCE_INITIATOR_ISA = 3,\n\tMCE_INITIATOR_MEMORY = 4,\n\tMCE_INITIATOR_POWERMGM = 5,\n};\n\nenum MCE_LinkErrorType {\n\tMCE_LINK_ERROR_INDETERMINATE = 0,\n\tMCE_LINK_ERROR_IFETCH_TIMEOUT = 1,\n\tMCE_LINK_ERROR_PAGE_TABLE_WALK_IFETCH_TIMEOUT = 2,\n\tMCE_LINK_ERROR_LOAD_TIMEOUT = 3,\n\tMCE_LINK_ERROR_STORE_TIMEOUT = 4,\n\tMCE_LINK_ERROR_PAGE_TABLE_WALK_LOAD_STORE_TIMEOUT = 5,\n};\n\nenum MCE_RaErrorType {\n\tMCE_RA_ERROR_INDETERMINATE = 0,\n\tMCE_RA_ERROR_IFETCH = 1,\n\tMCE_RA_ERROR_IFETCH_FOREIGN = 2,\n\tMCE_RA_ERROR_PAGE_TABLE_WALK_IFETCH = 3,\n\tMCE_RA_ERROR_PAGE_TABLE_WALK_IFETCH_FOREIGN = 4,\n\tMCE_RA_ERROR_LOAD = 5,\n\tMCE_RA_ERROR_STORE = 6,\n\tMCE_RA_ERROR_PAGE_TABLE_WALK_LOAD_STORE = 7,\n\tMCE_RA_ERROR_PAGE_TABLE_WALK_LOAD_STORE_FOREIGN = 8,\n\tMCE_RA_ERROR_LOAD_STORE_FOREIGN = 9,\n};\n\nenum MCE_Severity {\n\tMCE_SEV_NO_ERROR = 0,\n\tMCE_SEV_WARNING = 1,\n\tMCE_SEV_SEVERE = 2,\n\tMCE_SEV_FATAL = 3,\n};\n\nenum MCE_SlbErrorType {\n\tMCE_SLB_ERROR_INDETERMINATE = 0,\n\tMCE_SLB_ERROR_PARITY = 1,\n\tMCE_SLB_ERROR_MULTIHIT = 2,\n};\n\nenum MCE_TlbErrorType {\n\tMCE_TLB_ERROR_INDETERMINATE = 0,\n\tMCE_TLB_ERROR_PARITY = 1,\n\tMCE_TLB_ERROR_MULTIHIT = 2,\n};\n\nenum MCE_UeErrorType {\n\tMCE_UE_ERROR_INDETERMINATE = 0,\n\tMCE_UE_ERROR_IFETCH = 1,\n\tMCE_UE_ERROR_PAGE_TABLE_WALK_IFETCH = 2,\n\tMCE_UE_ERROR_LOAD_STORE = 3,\n\tMCE_UE_ERROR_PAGE_TABLE_WALK_LOAD_STORE = 4,\n};\n\nenum MCE_UserErrorType {\n\tMCE_USER_ERROR_INDETERMINATE = 0,\n\tMCE_USER_ERROR_TLBIE = 1,\n\tMCE_USER_ERROR_SCV = 2,\n};\n\nenum MCE_Version {\n\tMCE_V1 = 1,\n};\n\nenum OID {\n\tOID_id_dsa_with_sha1 = 0,\n\tOID_id_dsa = 1,\n\tOID_id_ecPublicKey = 2,\n\tOID_id_prime192v1 = 3,\n\tOID_id_prime256v1 = 4,\n\tOID_id_ecdsa_with_sha1 = 5,\n\tOID_id_ecdsa_with_sha224 = 6,\n\tOID_id_ecdsa_with_sha256 = 7,\n\tOID_id_ecdsa_with_sha384 = 8,\n\tOID_id_ecdsa_with_sha512 = 9,\n\tOID_rsaEncryption = 10,\n\tOID_sha1WithRSAEncryption = 11,\n\tOID_sha256WithRSAEncryption = 12,\n\tOID_sha384WithRSAEncryption = 13,\n\tOID_sha512WithRSAEncryption = 14,\n\tOID_sha224WithRSAEncryption = 15,\n\tOID_data = 16,\n\tOID_signed_data = 17,\n\tOID_email_address = 18,\n\tOID_contentType = 19,\n\tOID_messageDigest = 20,\n\tOID_signingTime = 21,\n\tOID_smimeCapabilites = 22,\n\tOID_smimeAuthenticatedAttrs = 23,\n\tOID_mskrb5 = 24,\n\tOID_krb5 = 25,\n\tOID_krb5u2u = 26,\n\tOID_msIndirectData = 27,\n\tOID_msStatementType = 28,\n\tOID_msSpOpusInfo = 29,\n\tOID_msPeImageDataObjId = 30,\n\tOID_msIndividualSPKeyPurpose = 31,\n\tOID_msOutlookExpress = 32,\n\tOID_ntlmssp = 33,\n\tOID_negoex = 34,\n\tOID_spnego = 35,\n\tOID_IAKerb = 36,\n\tOID_PKU2U = 37,\n\tOID_Scram = 38,\n\tOID_certAuthInfoAccess = 39,\n\tOID_sha1 = 40,\n\tOID_id_ansip384r1 = 41,\n\tOID_id_ansip521r1 = 42,\n\tOID_sha256 = 43,\n\tOID_sha384 = 44,\n\tOID_sha512 = 45,\n\tOID_sha224 = 46,\n\tOID_commonName = 47,\n\tOID_surname = 48,\n\tOID_countryName = 49,\n\tOID_locality = 50,\n\tOID_stateOrProvinceName = 51,\n\tOID_organizationName = 52,\n\tOID_organizationUnitName = 53,\n\tOID_title = 54,\n\tOID_description = 55,\n\tOID_name = 56,\n\tOID_givenName = 57,\n\tOID_initials = 58,\n\tOID_generationalQualifier = 59,\n\tOID_subjectKeyIdentifier = 60,\n\tOID_keyUsage = 61,\n\tOID_subjectAltName = 62,\n\tOID_issuerAltName = 63,\n\tOID_basicConstraints = 64,\n\tOID_crlDistributionPoints = 65,\n\tOID_certPolicies = 66,\n\tOID_authorityKeyIdentifier = 67,\n\tOID_extKeyUsage = 68,\n\tOID_NetlogonMechanism = 69,\n\tOID_appleLocalKdcSupported = 70,\n\tOID_gostCPSignA = 71,\n\tOID_gostCPSignB = 72,\n\tOID_gostCPSignC = 73,\n\tOID_gost2012PKey256 = 74,\n\tOID_gost2012PKey512 = 75,\n\tOID_gost2012Digest256 = 76,\n\tOID_gost2012Digest512 = 77,\n\tOID_gost2012Signature256 = 78,\n\tOID_gost2012Signature512 = 79,\n\tOID_gostTC26Sign256A = 80,\n\tOID_gostTC26Sign256B = 81,\n\tOID_gostTC26Sign256C = 82,\n\tOID_gostTC26Sign256D = 83,\n\tOID_gostTC26Sign512A = 84,\n\tOID_gostTC26Sign512B = 85,\n\tOID_gostTC26Sign512C = 86,\n\tOID_sm2 = 87,\n\tOID_sm3 = 88,\n\tOID_SM2_with_SM3 = 89,\n\tOID_sm3WithRSAEncryption = 90,\n\tOID_TPMLoadableKey = 91,\n\tOID_TPMImportableKey = 92,\n\tOID_TPMSealedData = 93,\n\tOID_sha3_256 = 94,\n\tOID_sha3_384 = 95,\n\tOID_sha3_512 = 96,\n\tOID_id_ecdsa_with_sha3_256 = 97,\n\tOID_id_ecdsa_with_sha3_384 = 98,\n\tOID_id_ecdsa_with_sha3_512 = 99,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_256 = 100,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_384 = 101,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_512 = 102,\n\tOID__NR = 103,\n};\n\nenum OpalDeviceCompare {\n\tOPAL_IGNORE_RID_DEVICE_NUMBER = 0,\n\tOPAL_COMPARE_RID_DEVICE_NUMBER = 1,\n};\n\nenum OpalEehFreezeActionToken {\n\tOPAL_EEH_ACTION_CLEAR_FREEZE_MMIO = 1,\n\tOPAL_EEH_ACTION_CLEAR_FREEZE_DMA = 2,\n\tOPAL_EEH_ACTION_CLEAR_FREEZE_ALL = 3,\n\tOPAL_EEH_ACTION_SET_FREEZE_MMIO = 1,\n\tOPAL_EEH_ACTION_SET_FREEZE_DMA = 2,\n\tOPAL_EEH_ACTION_SET_FREEZE_ALL = 3,\n};\n\nenum OpalErrinjectFunc {\n\tOPAL_ERR_INJECT_FUNC_IOA_LD_MEM_ADDR = 0,\n\tOPAL_ERR_INJECT_FUNC_IOA_LD_MEM_DATA = 1,\n\tOPAL_ERR_INJECT_FUNC_IOA_LD_IO_ADDR = 2,\n\tOPAL_ERR_INJECT_FUNC_IOA_LD_IO_DATA = 3,\n\tOPAL_ERR_INJECT_FUNC_IOA_LD_CFG_ADDR = 4,\n\tOPAL_ERR_INJECT_FUNC_IOA_LD_CFG_DATA = 5,\n\tOPAL_ERR_INJECT_FUNC_IOA_ST_MEM_ADDR = 6,\n\tOPAL_ERR_INJECT_FUNC_IOA_ST_MEM_DATA = 7,\n\tOPAL_ERR_INJECT_FUNC_IOA_ST_IO_ADDR = 8,\n\tOPAL_ERR_INJECT_FUNC_IOA_ST_IO_DATA = 9,\n\tOPAL_ERR_INJECT_FUNC_IOA_ST_CFG_ADDR = 10,\n\tOPAL_ERR_INJECT_FUNC_IOA_ST_CFG_DATA = 11,\n\tOPAL_ERR_INJECT_FUNC_IOA_DMA_RD_ADDR = 12,\n\tOPAL_ERR_INJECT_FUNC_IOA_DMA_RD_DATA = 13,\n\tOPAL_ERR_INJECT_FUNC_IOA_DMA_RD_MASTER = 14,\n\tOPAL_ERR_INJECT_FUNC_IOA_DMA_RD_TARGET = 15,\n\tOPAL_ERR_INJECT_FUNC_IOA_DMA_WR_ADDR = 16,\n\tOPAL_ERR_INJECT_FUNC_IOA_DMA_WR_DATA = 17,\n\tOPAL_ERR_INJECT_FUNC_IOA_DMA_WR_MASTER = 18,\n\tOPAL_ERR_INJECT_FUNC_IOA_DMA_WR_TARGET = 19,\n};\n\nenum OpalErrinjectType {\n\tOPAL_ERR_INJECT_TYPE_IOA_BUS_ERR = 0,\n\tOPAL_ERR_INJECT_TYPE_IOA_BUS_ERR64 = 1,\n};\n\nenum OpalFreezeState {\n\tOPAL_EEH_STOPPED_NOT_FROZEN = 0,\n\tOPAL_EEH_STOPPED_MMIO_FREEZE = 1,\n\tOPAL_EEH_STOPPED_DMA_FREEZE = 2,\n\tOPAL_EEH_STOPPED_MMIO_DMA_FREEZE = 3,\n\tOPAL_EEH_STOPPED_RESET = 4,\n\tOPAL_EEH_STOPPED_TEMP_UNAVAIL = 5,\n\tOPAL_EEH_STOPPED_PERM_UNAVAIL = 6,\n};\n\nenum OpalFuncCompare {\n\tOPAL_IGNORE_RID_FUNCTION_NUMBER = 0,\n\tOPAL_COMPARE_RID_FUNCTION_NUMBER = 1,\n};\n\nenum OpalHMI_CoreXstopReason {\n\tCORE_CHECKSTOP_IFU_REGFILE = 1,\n\tCORE_CHECKSTOP_IFU_LOGIC = 2,\n\tCORE_CHECKSTOP_PC_DURING_RECOV = 4,\n\tCORE_CHECKSTOP_ISU_REGFILE = 8,\n\tCORE_CHECKSTOP_ISU_LOGIC = 16,\n\tCORE_CHECKSTOP_FXU_LOGIC = 32,\n\tCORE_CHECKSTOP_VSU_LOGIC = 64,\n\tCORE_CHECKSTOP_PC_RECOV_IN_MAINT_MODE = 128,\n\tCORE_CHECKSTOP_LSU_REGFILE = 256,\n\tCORE_CHECKSTOP_PC_FWD_PROGRESS = 512,\n\tCORE_CHECKSTOP_LSU_LOGIC = 1024,\n\tCORE_CHECKSTOP_PC_LOGIC = 2048,\n\tCORE_CHECKSTOP_PC_HYP_RESOURCE = 4096,\n\tCORE_CHECKSTOP_PC_HANG_RECOV_FAILED = 8192,\n\tCORE_CHECKSTOP_PC_AMBI_HANG_DETECTED = 16384,\n\tCORE_CHECKSTOP_PC_DEBUG_TRIG_ERR_INJ = 32768,\n\tCORE_CHECKSTOP_PC_SPRD_HYP_ERR_INJ = 65536,\n};\n\nenum OpalHMI_Disposition {\n\tOpalHMI_DISPOSITION_RECOVERED = 0,\n\tOpalHMI_DISPOSITION_NOT_RECOVERED = 1,\n};\n\nenum OpalHMI_ErrType {\n\tOpalHMI_ERROR_MALFUNC_ALERT = 0,\n\tOpalHMI_ERROR_PROC_RECOV_DONE = 1,\n\tOpalHMI_ERROR_PROC_RECOV_DONE_AGAIN = 2,\n\tOpalHMI_ERROR_PROC_RECOV_MASKED = 3,\n\tOpalHMI_ERROR_TFAC = 4,\n\tOpalHMI_ERROR_TFMR_PARITY = 5,\n\tOpalHMI_ERROR_HA_OVERFLOW_WARN = 6,\n\tOpalHMI_ERROR_XSCOM_FAIL = 7,\n\tOpalHMI_ERROR_XSCOM_DONE = 8,\n\tOpalHMI_ERROR_SCOM_FIR = 9,\n\tOpalHMI_ERROR_DEBUG_TRIG_FIR = 10,\n\tOpalHMI_ERROR_HYP_RESOURCE = 11,\n\tOpalHMI_ERROR_CAPP_RECOVERY = 12,\n};\n\nenum OpalHMI_NestAccelXstopReason {\n\tNX_CHECKSTOP_SHM_INVAL_STATE_ERR = 1,\n\tNX_CHECKSTOP_DMA_INVAL_STATE_ERR_1 = 2,\n\tNX_CHECKSTOP_DMA_INVAL_STATE_ERR_2 = 4,\n\tNX_CHECKSTOP_DMA_CH0_INVAL_STATE_ERR = 8,\n\tNX_CHECKSTOP_DMA_CH1_INVAL_STATE_ERR = 16,\n\tNX_CHECKSTOP_DMA_CH2_INVAL_STATE_ERR = 32,\n\tNX_CHECKSTOP_DMA_CH3_INVAL_STATE_ERR = 64,\n\tNX_CHECKSTOP_DMA_CH4_INVAL_STATE_ERR = 128,\n\tNX_CHECKSTOP_DMA_CH5_INVAL_STATE_ERR = 256,\n\tNX_CHECKSTOP_DMA_CH6_INVAL_STATE_ERR = 512,\n\tNX_CHECKSTOP_DMA_CH7_INVAL_STATE_ERR = 1024,\n\tNX_CHECKSTOP_DMA_CRB_UE = 2048,\n\tNX_CHECKSTOP_DMA_CRB_SUE = 4096,\n\tNX_CHECKSTOP_PBI_ISN_UE = 8192,\n};\n\nenum OpalHMI_Severity {\n\tOpalHMI_SEV_NO_ERROR = 0,\n\tOpalHMI_SEV_WARNING = 1,\n\tOpalHMI_SEV_ERROR_SYNC = 2,\n\tOpalHMI_SEV_FATAL = 3,\n};\n\nenum OpalHMI_Version {\n\tOpalHMIEvt_V1 = 1,\n\tOpalHMIEvt_V2 = 2,\n};\n\nenum OpalHMI_XstopType {\n\tCHECKSTOP_TYPE_UNKNOWN = 0,\n\tCHECKSTOP_TYPE_CORE = 1,\n\tCHECKSTOP_TYPE_NX = 2,\n\tCHECKSTOP_TYPE_NPU = 3,\n};\n\nenum OpalLPCAddressType {\n\tOPAL_LPC_MEM = 0,\n\tOPAL_LPC_IO = 1,\n\tOPAL_LPC_FW = 2,\n};\n\nenum OpalM64Action {\n\tOPAL_DISABLE_M64 = 0,\n\tOPAL_ENABLE_M64_SPLIT = 1,\n\tOPAL_ENABLE_M64_NON_SPLIT = 2,\n};\n\nenum OpalMmioWindowType {\n\tOPAL_M32_WINDOW_TYPE = 1,\n\tOPAL_M64_WINDOW_TYPE = 2,\n\tOPAL_IO_WINDOW_TYPE = 3,\n};\n\nenum OpalPciBusCompare {\n\tOpalPciBusAny = 0,\n\tOpalPciBus3Bits = 2,\n\tOpalPciBus4Bits = 3,\n\tOpalPciBus5Bits = 4,\n\tOpalPciBus6Bits = 5,\n\tOpalPciBus7Bits = 6,\n\tOpalPciBusAll = 7,\n};\n\nenum OpalPciErrorSeverity {\n\tOPAL_EEH_SEV_NO_ERROR = 0,\n\tOPAL_EEH_SEV_IOC_DEAD = 1,\n\tOPAL_EEH_SEV_PHB_DEAD = 2,\n\tOPAL_EEH_SEV_PHB_FENCED = 3,\n\tOPAL_EEH_SEV_PE_ER = 4,\n\tOPAL_EEH_SEV_INF = 5,\n};\n\nenum OpalPciReinitScope {\n\tOPAL_REINIT_PCI_DEV = 1000,\n};\n\nenum OpalPciResetScope {\n\tOPAL_RESET_PHB_COMPLETE = 1,\n\tOPAL_RESET_PCI_LINK = 2,\n\tOPAL_RESET_PHB_ERROR = 3,\n\tOPAL_RESET_PCI_HOT = 4,\n\tOPAL_RESET_PCI_FUNDAMENTAL = 5,\n\tOPAL_RESET_PCI_IODA_TABLE = 6,\n};\n\nenum OpalPciResetState {\n\tOPAL_DEASSERT_RESET = 0,\n\tOPAL_ASSERT_RESET = 1,\n};\n\nenum OpalPciStatusToken {\n\tOPAL_EEH_NO_ERROR = 0,\n\tOPAL_EEH_IOC_ERROR = 1,\n\tOPAL_EEH_PHB_ERROR = 2,\n\tOPAL_EEH_PE_ERROR = 3,\n\tOPAL_EEH_PE_MMIO_ERROR = 4,\n\tOPAL_EEH_PE_DMA_ERROR = 5,\n};\n\nenum OpalPeAction {\n\tOPAL_UNMAP_PE = 0,\n\tOPAL_MAP_PE = 1,\n};\n\nenum OpalPeltvAction {\n\tOPAL_REMOVE_PE_FROM_DOMAIN = 0,\n\tOPAL_ADD_PE_TO_DOMAIN = 1,\n};\n\nenum OpalPendingState {\n\tOPAL_EVENT_OPAL_INTERNAL = 1,\n\tOPAL_EVENT_NVRAM = 2,\n\tOPAL_EVENT_RTC = 4,\n\tOPAL_EVENT_CONSOLE_OUTPUT = 8,\n\tOPAL_EVENT_CONSOLE_INPUT = 16,\n\tOPAL_EVENT_ERROR_LOG_AVAIL = 32,\n\tOPAL_EVENT_ERROR_LOG = 64,\n\tOPAL_EVENT_EPOW = 128,\n\tOPAL_EVENT_LED_STATUS = 256,\n\tOPAL_EVENT_PCI_ERROR = 512,\n\tOPAL_EVENT_DUMP_AVAIL = 1024,\n\tOPAL_EVENT_MSG_PENDING = 2048,\n};\n\nenum OpalSysEpow {\n\tOPAL_SYSEPOW_POWER = 0,\n\tOPAL_SYSEPOW_TEMP = 1,\n\tOPAL_SYSEPOW_COOLING = 2,\n\tOPAL_SYSEPOW_MAX = 3,\n};\n\nenum OpalSysPower {\n\tOPAL_SYSPOWER_UPS = 1,\n\tOPAL_SYSPOWER_CHNG = 2,\n\tOPAL_SYSPOWER_FAIL = 4,\n\tOPAL_SYSPOWER_INCL = 8,\n};\n\nenum OpalSysparamPerm {\n\tOPAL_SYSPARAM_READ = 1,\n\tOPAL_SYSPARAM_WRITE = 2,\n\tOPAL_SYSPARAM_RW = 3,\n};\n\nenum OpalThreadStatus {\n\tOPAL_THREAD_INACTIVE = 0,\n\tOPAL_THREAD_STARTED = 1,\n\tOPAL_THREAD_UNAVAILABLE = 2,\n};\n\nenum POS1064 {\n\tPOS1064_XCURADDL = 0,\n\tPOS1064_XCURADDH = 1,\n\tPOS1064_XCURCTRL = 2,\n\tPOS1064_XCURCOL0RED = 3,\n\tPOS1064_XCURCOL0GREEN = 4,\n\tPOS1064_XCURCOL0BLUE = 5,\n\tPOS1064_XCURCOL1RED = 6,\n\tPOS1064_XCURCOL1GREEN = 7,\n\tPOS1064_XCURCOL1BLUE = 8,\n\tPOS1064_XCURCOL2RED = 9,\n\tPOS1064_XCURCOL2GREEN = 10,\n\tPOS1064_XCURCOL2BLUE = 11,\n\tPOS1064_XVREFCTRL = 12,\n\tPOS1064_XMULCTRL = 13,\n\tPOS1064_XPIXCLKCTRL = 14,\n\tPOS1064_XGENCTRL = 15,\n\tPOS1064_XMISCCTRL = 16,\n\tPOS1064_XGENIOCTRL = 17,\n\tPOS1064_XGENIODATA = 18,\n\tPOS1064_XZOOMCTRL = 19,\n\tPOS1064_XSENSETEST = 20,\n\tPOS1064_XCRCBITSEL = 21,\n\tPOS1064_XCOLKEYMASKL = 22,\n\tPOS1064_XCOLKEYMASKH = 23,\n\tPOS1064_XCOLKEYL = 24,\n\tPOS1064_XCOLKEYH = 25,\n\tPOS1064_XOUTPUTCONN = 26,\n\tPOS1064_XPANMODE = 27,\n\tPOS1064_XPWRCTRL = 28,\n};\n\nenum SHIFT_DIRECTION {\n\tSHIFT_LEFT = 0,\n\tSHIFT_RIGHT = 1,\n};\n\nenum SS4_PACKET_ID {\n\tSS4_PACKET_ID_IDLE = 0,\n\tSS4_PACKET_ID_ONE = 1,\n\tSS4_PACKET_ID_TWO = 2,\n\tSS4_PACKET_ID_MULTI = 3,\n\tSS4_PACKET_ID_STICK = 4,\n};\n\nenum TG3_FLAGS {\n\tTG3_FLAG_TAGGED_STATUS = 0,\n\tTG3_FLAG_TXD_MBOX_HWBUG = 1,\n\tTG3_FLAG_USE_LINKCHG_REG = 2,\n\tTG3_FLAG_ERROR_PROCESSED = 3,\n\tTG3_FLAG_ENABLE_ASF = 4,\n\tTG3_FLAG_ASPM_WORKAROUND = 5,\n\tTG3_FLAG_POLL_SERDES = 6,\n\tTG3_FLAG_POLL_CPMU_LINK = 7,\n\tTG3_FLAG_MBOX_WRITE_REORDER = 8,\n\tTG3_FLAG_PCIX_TARGET_HWBUG = 9,\n\tTG3_FLAG_WOL_SPEED_100MB = 10,\n\tTG3_FLAG_WOL_ENABLE = 11,\n\tTG3_FLAG_EEPROM_WRITE_PROT = 12,\n\tTG3_FLAG_NVRAM = 13,\n\tTG3_FLAG_NVRAM_BUFFERED = 14,\n\tTG3_FLAG_SUPPORT_MSI = 15,\n\tTG3_FLAG_SUPPORT_MSIX = 16,\n\tTG3_FLAG_USING_MSI = 17,\n\tTG3_FLAG_USING_MSIX = 18,\n\tTG3_FLAG_PCIX_MODE = 19,\n\tTG3_FLAG_PCI_HIGH_SPEED = 20,\n\tTG3_FLAG_PCI_32BIT = 21,\n\tTG3_FLAG_SRAM_USE_CONFIG = 22,\n\tTG3_FLAG_TX_RECOVERY_PENDING = 23,\n\tTG3_FLAG_WOL_CAP = 24,\n\tTG3_FLAG_JUMBO_RING_ENABLE = 25,\n\tTG3_FLAG_PAUSE_AUTONEG = 26,\n\tTG3_FLAG_CPMU_PRESENT = 27,\n\tTG3_FLAG_40BIT_DMA_BUG = 28,\n\tTG3_FLAG_BROKEN_CHECKSUMS = 29,\n\tTG3_FLAG_JUMBO_CAPABLE = 30,\n\tTG3_FLAG_CHIP_RESETTING = 31,\n\tTG3_FLAG_INIT_COMPLETE = 32,\n\tTG3_FLAG_MAX_RXPEND_64 = 33,\n\tTG3_FLAG_PCI_EXPRESS = 34,\n\tTG3_FLAG_ASF_NEW_HANDSHAKE = 35,\n\tTG3_FLAG_HW_AUTONEG = 36,\n\tTG3_FLAG_IS_NIC = 37,\n\tTG3_FLAG_FLASH = 38,\n\tTG3_FLAG_FW_TSO = 39,\n\tTG3_FLAG_HW_TSO_1 = 40,\n\tTG3_FLAG_HW_TSO_2 = 41,\n\tTG3_FLAG_HW_TSO_3 = 42,\n\tTG3_FLAG_TSO_CAPABLE = 43,\n\tTG3_FLAG_TSO_BUG = 44,\n\tTG3_FLAG_ICH_WORKAROUND = 45,\n\tTG3_FLAG_1SHOT_MSI = 46,\n\tTG3_FLAG_NO_FWARE_REPORTED = 47,\n\tTG3_FLAG_NO_NVRAM_ADDR_TRANS = 48,\n\tTG3_FLAG_ENABLE_APE = 49,\n\tTG3_FLAG_PROTECTED_NVRAM = 50,\n\tTG3_FLAG_5701_DMA_BUG = 51,\n\tTG3_FLAG_USE_PHYLIB = 52,\n\tTG3_FLAG_MDIOBUS_INITED = 53,\n\tTG3_FLAG_LRG_PROD_RING_CAP = 54,\n\tTG3_FLAG_RGMII_INBAND_DISABLE = 55,\n\tTG3_FLAG_RGMII_EXT_IBND_RX_EN = 56,\n\tTG3_FLAG_RGMII_EXT_IBND_TX_EN = 57,\n\tTG3_FLAG_CLKREQ_BUG = 58,\n\tTG3_FLAG_NO_NVRAM = 59,\n\tTG3_FLAG_ENABLE_RSS = 60,\n\tTG3_FLAG_ENABLE_TSS = 61,\n\tTG3_FLAG_SHORT_DMA_BUG = 62,\n\tTG3_FLAG_USE_JUMBO_BDFLAG = 63,\n\tTG3_FLAG_L1PLLPD_EN = 64,\n\tTG3_FLAG_APE_HAS_NCSI = 65,\n\tTG3_FLAG_TX_TSTAMP_EN = 66,\n\tTG3_FLAG_4K_FIFO_LIMIT = 67,\n\tTG3_FLAG_5719_5720_RDMA_BUG = 68,\n\tTG3_FLAG_RESET_TASK_PENDING = 69,\n\tTG3_FLAG_PTP_CAPABLE = 70,\n\tTG3_FLAG_5705_PLUS = 71,\n\tTG3_FLAG_IS_5788 = 72,\n\tTG3_FLAG_5750_PLUS = 73,\n\tTG3_FLAG_5780_CLASS = 74,\n\tTG3_FLAG_5755_PLUS = 75,\n\tTG3_FLAG_57765_PLUS = 76,\n\tTG3_FLAG_57765_CLASS = 77,\n\tTG3_FLAG_5717_PLUS = 78,\n\tTG3_FLAG_IS_SSB_CORE = 79,\n\tTG3_FLAG_FLUSH_POSTED_WRITES = 80,\n\tTG3_FLAG_ROBOSWITCH = 81,\n\tTG3_FLAG_ONE_DMA_AT_ONCE = 82,\n\tTG3_FLAG_RGMII_MODE = 83,\n\tTG3_FLAG_NUMBER_OF_FLAGS = 84,\n};\n\nenum TPM_OPS_FLAGS {\n\tTPM_OPS_AUTO_STARTUP = 1,\n};\n\nenum V7_PACKET_ID {\n\tV7_PACKET_ID_IDLE = 0,\n\tV7_PACKET_ID_TWO = 1,\n\tV7_PACKET_ID_MULTI = 2,\n\tV7_PACKET_ID_NEW = 3,\n\tV7_PACKET_ID_UNKNOWN = 4,\n};\n\nenum __sk_action {\n\t__SK_DROP = 0,\n\t__SK_PASS = 1,\n\t__SK_REDIRECT = 2,\n\t__SK_NONE = 3,\n};\n\nenum _record_type {\n\t_START_RECORD = 0,\n\t_COMMIT_RECORD = 1,\n};\n\nenum _slab_flag_bits {\n\t_SLAB_CONSISTENCY_CHECKS = 0,\n\t_SLAB_RED_ZONE = 1,\n\t_SLAB_POISON = 2,\n\t_SLAB_KMALLOC = 3,\n\t_SLAB_HWCACHE_ALIGN = 4,\n\t_SLAB_CACHE_DMA = 5,\n\t_SLAB_CACHE_DMA32 = 6,\n\t_SLAB_STORE_USER = 7,\n\t_SLAB_PANIC = 8,\n\t_SLAB_TYPESAFE_BY_RCU = 9,\n\t_SLAB_TRACE = 10,\n\t_SLAB_NOLEAKTRACE = 11,\n\t_SLAB_NO_MERGE = 12,\n\t_SLAB_ACCOUNT = 13,\n\t_SLAB_NO_USER_FLAGS = 14,\n\t_SLAB_RECLAIM_ACCOUNT = 15,\n\t_SLAB_OBJECT_POISON = 16,\n\t_SLAB_CMPXCHG_DOUBLE = 17,\n\t_SLAB_NO_OBJ_EXT = 18,\n\t_SLAB_FLAGS_LAST_BIT = 19,\n};\n\nenum access_coordinate_class {\n\tACCESS_COORDINATE_LOCAL = 0,\n\tACCESS_COORDINATE_CPU = 1,\n\tACCESS_COORDINATE_MAX = 2,\n};\n\nenum actions {\n\tREGISTER = 0,\n\tDEREGISTER = 1,\n\tCPU_DONT_CARE = 2,\n};\n\nenum addr_type_t {\n\tUNICAST_ADDR = 0,\n\tMULTICAST_ADDR = 1,\n\tANYCAST_ADDR = 2,\n};\n\nenum alarmtimer_type {\n\tALARM_REALTIME = 0,\n\tALARM_BOOTTIME = 1,\n\tALARM_NUMTYPE = 2,\n\tALARM_REALTIME_FREEZER = 3,\n\tALARM_BOOTTIME_FREEZER = 4,\n};\n\nenum alloc_loc {\n\tALLOC_ERR = 0,\n\tALLOC_BEFORE = 1,\n\tALLOC_MID = 2,\n\tALLOC_AFTER = 3,\n};\n\nenum array_state {\n\tclear = 0,\n\tinactive = 1,\n\tsuspended = 2,\n\treadonly = 3,\n\tread_auto = 4,\n\tclean = 5,\n\tactive = 6,\n\twrite_pending = 7,\n\tactive_idle = 8,\n\tbroken = 9,\n\tbad_word = 10,\n};\n\nenum asn1_class {\n\tASN1_UNIV = 0,\n\tASN1_APPL = 1,\n\tASN1_CONT = 2,\n\tASN1_PRIV = 3,\n};\n\nenum asn1_method {\n\tASN1_PRIM = 0,\n\tASN1_CONS = 1,\n};\n\nenum asn1_opcode {\n\tASN1_OP_MATCH = 0,\n\tASN1_OP_MATCH_OR_SKIP = 1,\n\tASN1_OP_MATCH_ACT = 2,\n\tASN1_OP_MATCH_ACT_OR_SKIP = 3,\n\tASN1_OP_MATCH_JUMP = 4,\n\tASN1_OP_MATCH_JUMP_OR_SKIP = 5,\n\tASN1_OP_MATCH_ANY = 8,\n\tASN1_OP_MATCH_ANY_OR_SKIP = 9,\n\tASN1_OP_MATCH_ANY_ACT = 10,\n\tASN1_OP_MATCH_ANY_ACT_OR_SKIP = 11,\n\tASN1_OP_COND_MATCH_OR_SKIP = 17,\n\tASN1_OP_COND_MATCH_ACT_OR_SKIP = 19,\n\tASN1_OP_COND_MATCH_JUMP_OR_SKIP = 21,\n\tASN1_OP_COND_MATCH_ANY = 24,\n\tASN1_OP_COND_MATCH_ANY_OR_SKIP = 25,\n\tASN1_OP_COND_MATCH_ANY_ACT = 26,\n\tASN1_OP_COND_MATCH_ANY_ACT_OR_SKIP = 27,\n\tASN1_OP_COND_FAIL = 28,\n\tASN1_OP_COMPLETE = 29,\n\tASN1_OP_ACT = 30,\n\tASN1_OP_MAYBE_ACT = 31,\n\tASN1_OP_END_SEQ = 32,\n\tASN1_OP_END_SET = 33,\n\tASN1_OP_END_SEQ_OF = 34,\n\tASN1_OP_END_SET_OF = 35,\n\tASN1_OP_END_SEQ_ACT = 36,\n\tASN1_OP_END_SET_ACT = 37,\n\tASN1_OP_END_SEQ_OF_ACT = 38,\n\tASN1_OP_END_SET_OF_ACT = 39,\n\tASN1_OP_RETURN = 40,\n\tASN1_OP__NR = 41,\n};\n\nenum asn1_tag {\n\tASN1_EOC = 0,\n\tASN1_BOOL = 1,\n\tASN1_INT = 2,\n\tASN1_BTS = 3,\n\tASN1_OTS = 4,\n\tASN1_NULL = 5,\n\tASN1_OID = 6,\n\tASN1_ODE = 7,\n\tASN1_EXT = 8,\n\tASN1_REAL = 9,\n\tASN1_ENUM = 10,\n\tASN1_EPDV = 11,\n\tASN1_UTF8STR = 12,\n\tASN1_RELOID = 13,\n\tASN1_SEQ = 16,\n\tASN1_SET = 17,\n\tASN1_NUMSTR = 18,\n\tASN1_PRNSTR = 19,\n\tASN1_TEXSTR = 20,\n\tASN1_VIDSTR = 21,\n\tASN1_IA5STR = 22,\n\tASN1_UNITIM = 23,\n\tASN1_GENTIM = 24,\n\tASN1_GRASTR = 25,\n\tASN1_VISSTR = 26,\n\tASN1_GENSTR = 27,\n\tASN1_UNISTR = 28,\n\tASN1_CHRSTR = 29,\n\tASN1_BMPSTR = 30,\n\tASN1_LONG_TAG = 31,\n};\n\nenum assoc_array_walk_status {\n\tassoc_array_walk_tree_empty = 0,\n\tassoc_array_walk_found_terminal_node = 1,\n\tassoc_array_walk_found_wrong_shortcut = 2,\n};\n\nenum asymmetric_payload_bits {\n\tasym_crypto = 0,\n\tasym_subtype = 1,\n\tasym_key_ids = 2,\n\tasym_auth = 3,\n};\n\nenum ata_completion_errors {\n\tAC_ERR_OK = 0,\n\tAC_ERR_DEV = 1,\n\tAC_ERR_HSM = 2,\n\tAC_ERR_TIMEOUT = 4,\n\tAC_ERR_MEDIA = 8,\n\tAC_ERR_ATA_BUS = 16,\n\tAC_ERR_HOST_BUS = 32,\n\tAC_ERR_SYSTEM = 64,\n\tAC_ERR_INVALID = 128,\n\tAC_ERR_OTHER = 256,\n\tAC_ERR_NODEV_HINT = 512,\n\tAC_ERR_NCQ = 1024,\n};\n\nenum ata_dev_iter_mode {\n\tATA_DITER_ENABLED = 0,\n\tATA_DITER_ENABLED_REVERSE = 1,\n\tATA_DITER_ALL = 2,\n\tATA_DITER_ALL_REVERSE = 3,\n};\n\nenum ata_link_iter_mode {\n\tATA_LITER_EDGE = 0,\n\tATA_LITER_HOST_FIRST = 1,\n\tATA_LITER_PMP_FIRST = 2,\n};\n\nenum ata_lpm_hints {\n\tATA_LPM_EMPTY = 1,\n\tATA_LPM_HIPM = 2,\n\tATA_LPM_WAKE_ONLY = 4,\n};\n\nenum ata_lpm_policy {\n\tATA_LPM_UNKNOWN = 0,\n\tATA_LPM_MAX_POWER = 1,\n\tATA_LPM_MED_POWER = 2,\n\tATA_LPM_MED_POWER_WITH_DIPM = 3,\n\tATA_LPM_MIN_POWER_WITH_PARTIAL = 4,\n\tATA_LPM_MIN_POWER = 5,\n};\n\nenum ata_prot_flags {\n\tATA_PROT_FLAG_PIO = 1,\n\tATA_PROT_FLAG_DMA = 2,\n\tATA_PROT_FLAG_NCQ = 4,\n\tATA_PROT_FLAG_ATAPI = 8,\n\tATA_PROT_UNKNOWN = 255,\n\tATA_PROT_NODATA = 0,\n\tATA_PROT_PIO = 1,\n\tATA_PROT_DMA = 2,\n\tATA_PROT_NCQ_NODATA = 4,\n\tATA_PROT_NCQ = 6,\n\tATAPI_PROT_NODATA = 8,\n\tATAPI_PROT_PIO = 9,\n\tATAPI_PROT_DMA = 10,\n};\n\nenum ata_quirks {\n\t__ATA_QUIRK_DIAGNOSTIC = 0,\n\t__ATA_QUIRK_NODMA = 1,\n\t__ATA_QUIRK_NONCQ = 2,\n\t__ATA_QUIRK_MAX_SEC_128 = 3,\n\t__ATA_QUIRK_BROKEN_HPA = 4,\n\t__ATA_QUIRK_DISABLE = 5,\n\t__ATA_QUIRK_HPA_SIZE = 6,\n\t__ATA_QUIRK_IVB = 7,\n\t__ATA_QUIRK_STUCK_ERR = 8,\n\t__ATA_QUIRK_BRIDGE_OK = 9,\n\t__ATA_QUIRK_ATAPI_MOD16_DMA = 10,\n\t__ATA_QUIRK_FIRMWARE_WARN = 11,\n\t__ATA_QUIRK_1_5_GBPS = 12,\n\t__ATA_QUIRK_NOSETXFER = 13,\n\t__ATA_QUIRK_BROKEN_FPDMA_AA = 14,\n\t__ATA_QUIRK_DUMP_ID = 15,\n\t__ATA_QUIRK_MAX_SEC_LBA48 = 16,\n\t__ATA_QUIRK_ATAPI_DMADIR = 17,\n\t__ATA_QUIRK_NO_NCQ_TRIM = 18,\n\t__ATA_QUIRK_NOLPM = 19,\n\t__ATA_QUIRK_WD_BROKEN_LPM = 20,\n\t__ATA_QUIRK_ZERO_AFTER_TRIM = 21,\n\t__ATA_QUIRK_NO_DMA_LOG = 22,\n\t__ATA_QUIRK_NOTRIM = 23,\n\t__ATA_QUIRK_MAX_SEC_1024 = 24,\n\t__ATA_QUIRK_MAX_TRIM_128M = 25,\n\t__ATA_QUIRK_NO_NCQ_ON_ATI = 26,\n\t__ATA_QUIRK_NO_LPM_ON_ATI = 27,\n\t__ATA_QUIRK_NO_ID_DEV_LOG = 28,\n\t__ATA_QUIRK_NO_LOG_DIR = 29,\n\t__ATA_QUIRK_NO_FUA = 30,\n\t__ATA_QUIRK_MAX = 31,\n};\n\nenum ata_xfer_mask {\n\tATA_MASK_PIO = 127,\n\tATA_MASK_MWDMA = 3968,\n\tATA_MASK_UDMA = 1044480,\n};\n\nenum audit_nfcfgop {\n\tAUDIT_XT_OP_REGISTER = 0,\n\tAUDIT_XT_OP_REPLACE = 1,\n\tAUDIT_XT_OP_UNREGISTER = 2,\n\tAUDIT_NFT_OP_TABLE_REGISTER = 3,\n\tAUDIT_NFT_OP_TABLE_UNREGISTER = 4,\n\tAUDIT_NFT_OP_CHAIN_REGISTER = 5,\n\tAUDIT_NFT_OP_CHAIN_UNREGISTER = 6,\n\tAUDIT_NFT_OP_RULE_REGISTER = 7,\n\tAUDIT_NFT_OP_RULE_UNREGISTER = 8,\n\tAUDIT_NFT_OP_SET_REGISTER = 9,\n\tAUDIT_NFT_OP_SET_UNREGISTER = 10,\n\tAUDIT_NFT_OP_SETELEM_REGISTER = 11,\n\tAUDIT_NFT_OP_SETELEM_UNREGISTER = 12,\n\tAUDIT_NFT_OP_GEN_REGISTER = 13,\n\tAUDIT_NFT_OP_OBJ_REGISTER = 14,\n\tAUDIT_NFT_OP_OBJ_UNREGISTER = 15,\n\tAUDIT_NFT_OP_OBJ_RESET = 16,\n\tAUDIT_NFT_OP_FLOWTABLE_REGISTER = 17,\n\tAUDIT_NFT_OP_FLOWTABLE_UNREGISTER = 18,\n\tAUDIT_NFT_OP_SETELEM_RESET = 19,\n\tAUDIT_NFT_OP_RULE_RESET = 20,\n\tAUDIT_NFT_OP_INVALID = 21,\n};\n\nenum audit_nlgrps {\n\tAUDIT_NLGRP_NONE = 0,\n\tAUDIT_NLGRP_READLOG = 1,\n\t__AUDIT_NLGRP_MAX = 2,\n};\n\nenum audit_ntp_type {\n\tAUDIT_NTP_OFFSET = 0,\n\tAUDIT_NTP_FREQ = 1,\n\tAUDIT_NTP_STATUS = 2,\n\tAUDIT_NTP_TAI = 3,\n\tAUDIT_NTP_TICK = 4,\n\tAUDIT_NTP_ADJUST = 5,\n\tAUDIT_NTP_NVALS = 6,\n};\n\nenum audit_state {\n\tAUDIT_STATE_DISABLED = 0,\n\tAUDIT_STATE_BUILD = 1,\n\tAUDIT_STATE_RECORD = 2,\n};\n\nenum auditsc_class_t {\n\tAUDITSC_NATIVE = 0,\n\tAUDITSC_COMPAT = 1,\n\tAUDITSC_OPEN = 2,\n\tAUDITSC_OPENAT = 3,\n\tAUDITSC_SOCKETCALL = 4,\n\tAUDITSC_EXECVE = 5,\n\tAUDITSC_OPENAT2 = 6,\n\tAUDITSC_NVALS = 7,\n};\n\nenum batadv_packettype {\n\tBATADV_IV_OGM = 0,\n\tBATADV_BCAST = 1,\n\tBATADV_CODED = 2,\n\tBATADV_ELP = 3,\n\tBATADV_OGM2 = 4,\n\tBATADV_MCAST = 5,\n\tBATADV_UNICAST = 64,\n\tBATADV_UNICAST_FRAG = 65,\n\tBATADV_UNICAST_4ADDR = 66,\n\tBATADV_ICMP = 67,\n\tBATADV_UNICAST_TVLV = 68,\n};\n\nenum behavior {\n\tEXCLUSIVE = 0,\n\tSHARED = 1,\n\tDROP = 2,\n};\n\nenum bh_state_bits {\n\tBH_Uptodate = 0,\n\tBH_Dirty = 1,\n\tBH_Lock = 2,\n\tBH_Req = 3,\n\tBH_Mapped = 4,\n\tBH_New = 5,\n\tBH_Async_Read = 6,\n\tBH_Async_Write = 7,\n\tBH_Delay = 8,\n\tBH_Boundary = 9,\n\tBH_Write_EIO = 10,\n\tBH_Unwritten = 11,\n\tBH_Quiet = 12,\n\tBH_Meta = 13,\n\tBH_Prio = 14,\n\tBH_Defer_Completion = 15,\n\tBH_PrivateStart = 16,\n};\n\nenum bio_merge_status {\n\tBIO_MERGE_OK = 0,\n\tBIO_MERGE_NONE = 1,\n\tBIO_MERGE_FAILED = 2,\n};\n\nenum bio_post_read_step {\n\tSTEP_INITIAL = 0,\n\tSTEP_DECRYPT = 1,\n\tSTEP_VERITY = 2,\n\tSTEP_MAX = 3,\n};\n\nenum bip_flags {\n\tBIP_BLOCK_INTEGRITY = 1,\n\tBIP_MAPPED_INTEGRITY = 2,\n\tBIP_DISK_NOCHECK = 4,\n\tBIP_IP_CHECKSUM = 8,\n\tBIP_COPY_USER = 16,\n\tBIP_CHECK_GUARD = 32,\n\tBIP_CHECK_REFTAG = 64,\n\tBIP_CHECK_APPTAG = 128,\n};\n\nenum bitmap_page_attr {\n\tBITMAP_PAGE_DIRTY = 0,\n\tBITMAP_PAGE_PENDING = 1,\n\tBITMAP_PAGE_NEEDWRITE = 2,\n};\n\nenum bitmap_state {\n\tBITMAP_STALE = 1,\n\tBITMAP_WRITE_ERROR = 2,\n\tBITMAP_HOSTENDIAN = 15,\n};\n\nenum blacklist_hash_type {\n\tBLACKLIST_HASH_X509_TBS = 1,\n\tBLACKLIST_HASH_BINARY = 2,\n};\n\nenum blake2s_iv {\n\tBLAKE2S_IV0 = 1779033703,\n\tBLAKE2S_IV1 = 3144134277,\n\tBLAKE2S_IV2 = 1013904242,\n\tBLAKE2S_IV3 = 2773480762,\n\tBLAKE2S_IV4 = 1359893119,\n\tBLAKE2S_IV5 = 2600822924,\n\tBLAKE2S_IV6 = 528734635,\n\tBLAKE2S_IV7 = 1541459225,\n};\n\nenum blake2s_lengths {\n\tBLAKE2S_BLOCK_SIZE = 64,\n\tBLAKE2S_HASH_SIZE = 32,\n\tBLAKE2S_KEY_SIZE = 32,\n\tBLAKE2S_128_HASH_SIZE = 16,\n\tBLAKE2S_160_HASH_SIZE = 20,\n\tBLAKE2S_224_HASH_SIZE = 28,\n\tBLAKE2S_256_HASH_SIZE = 32,\n};\n\nenum blk_crypto_mode_num {\n\tBLK_ENCRYPTION_MODE_INVALID = 0,\n\tBLK_ENCRYPTION_MODE_AES_256_XTS = 1,\n\tBLK_ENCRYPTION_MODE_AES_128_CBC_ESSIV = 2,\n\tBLK_ENCRYPTION_MODE_ADIANTUM = 3,\n\tBLK_ENCRYPTION_MODE_SM4_XTS = 4,\n\tBLK_ENCRYPTION_MODE_MAX = 5,\n};\n\nenum blk_default_limits {\n\tBLK_MAX_SEGMENTS = 128,\n\tBLK_SAFE_MAX_SECTORS = 255,\n\tBLK_MAX_SEGMENT_SIZE = 65536,\n\tBLK_SEG_BOUNDARY_MASK = 4294967295,\n};\n\nenum blk_eh_timer_return {\n\tBLK_EH_DONE = 0,\n\tBLK_EH_RESET_TIMER = 1,\n};\n\nenum blk_integrity_checksum {\n\tBLK_INTEGRITY_CSUM_NONE = 0,\n\tBLK_INTEGRITY_CSUM_IP = 1,\n\tBLK_INTEGRITY_CSUM_CRC = 2,\n\tBLK_INTEGRITY_CSUM_CRC64 = 3,\n} __attribute__((mode(byte)));\n\nenum blk_integrity_flags {\n\tBLK_INTEGRITY_NOVERIFY = 1,\n\tBLK_INTEGRITY_NOGENERATE = 2,\n\tBLK_INTEGRITY_DEVICE_CAPABLE = 4,\n\tBLK_INTEGRITY_REF_TAG = 8,\n\tBLK_INTEGRITY_STACKED = 16,\n};\n\nenum blk_unique_id {\n\tBLK_UID_T10 = 1,\n\tBLK_UID_EUI64 = 2,\n\tBLK_UID_NAA = 3,\n};\n\nenum blkg_iostat_type {\n\tBLKG_IOSTAT_READ = 0,\n\tBLKG_IOSTAT_WRITE = 1,\n\tBLKG_IOSTAT_DISCARD = 2,\n\tBLKG_IOSTAT_NR = 3,\n};\n\nenum blkg_rwstat_type {\n\tBLKG_RWSTAT_READ = 0,\n\tBLKG_RWSTAT_WRITE = 1,\n\tBLKG_RWSTAT_SYNC = 2,\n\tBLKG_RWSTAT_ASYNC = 3,\n\tBLKG_RWSTAT_DISCARD = 4,\n\tBLKG_RWSTAT_NR = 5,\n\tBLKG_RWSTAT_TOTAL = 5,\n};\n\nenum blktrace_act {\n\t__BLK_TA_QUEUE = 1,\n\t__BLK_TA_BACKMERGE = 2,\n\t__BLK_TA_FRONTMERGE = 3,\n\t__BLK_TA_GETRQ = 4,\n\t__BLK_TA_SLEEPRQ = 5,\n\t__BLK_TA_REQUEUE = 6,\n\t__BLK_TA_ISSUE = 7,\n\t__BLK_TA_COMPLETE = 8,\n\t__BLK_TA_PLUG = 9,\n\t__BLK_TA_UNPLUG_IO = 10,\n\t__BLK_TA_UNPLUG_TIMER = 11,\n\t__BLK_TA_INSERT = 12,\n\t__BLK_TA_SPLIT = 13,\n\t__BLK_TA_BOUNCE = 14,\n\t__BLK_TA_REMAP = 15,\n\t__BLK_TA_ABORT = 16,\n\t__BLK_TA_DRV_DATA = 17,\n\t__BLK_TA_CGROUP = 256,\n};\n\nenum blktrace_cat {\n\tBLK_TC_READ = 1,\n\tBLK_TC_WRITE = 2,\n\tBLK_TC_FLUSH = 4,\n\tBLK_TC_SYNC = 8,\n\tBLK_TC_SYNCIO = 8,\n\tBLK_TC_QUEUE = 16,\n\tBLK_TC_REQUEUE = 32,\n\tBLK_TC_ISSUE = 64,\n\tBLK_TC_COMPLETE = 128,\n\tBLK_TC_FS = 256,\n\tBLK_TC_PC = 512,\n\tBLK_TC_NOTIFY = 1024,\n\tBLK_TC_AHEAD = 2048,\n\tBLK_TC_META = 4096,\n\tBLK_TC_DISCARD = 8192,\n\tBLK_TC_DRV_DATA = 16384,\n\tBLK_TC_FUA = 32768,\n\tBLK_TC_END = 32768,\n};\n\nenum blktrace_notify {\n\t__BLK_TN_PROCESS = 0,\n\t__BLK_TN_TIMESTAMP = 1,\n\t__BLK_TN_MESSAGE = 2,\n\t__BLK_TN_CGROUP = 256,\n};\n\nenum board_ids {\n\tboard_ahci = 0,\n\tboard_ahci_43bit_dma = 1,\n\tboard_ahci_ign_iferr = 2,\n\tboard_ahci_no_debounce_delay = 3,\n\tboard_ahci_no_msi = 4,\n\tboard_ahci_pcs_quirk = 5,\n\tboard_ahci_pcs_quirk_no_devslp = 6,\n\tboard_ahci_pcs_quirk_no_sntf = 7,\n\tboard_ahci_yes_fbs = 8,\n\tboard_ahci_al = 9,\n\tboard_ahci_avn = 10,\n\tboard_ahci_mcp65 = 11,\n\tboard_ahci_mcp77 = 12,\n\tboard_ahci_mcp89 = 13,\n\tboard_ahci_mv = 14,\n\tboard_ahci_sb600 = 15,\n\tboard_ahci_sb700 = 16,\n\tboard_ahci_vt8251 = 17,\n\tboard_ahci_mcp_linux = 11,\n\tboard_ahci_mcp67 = 11,\n\tboard_ahci_mcp73 = 11,\n\tboard_ahci_mcp79 = 12,\n};\n\nenum bootmem_type {\n\tMEMORY_HOTPLUG_MIN_BOOTMEM_TYPE = 1,\n\tSECTION_INFO = 1,\n\tMIX_SECTION_INFO = 2,\n\tNODE_INFO = 3,\n\tMEMORY_HOTPLUG_MAX_BOOTMEM_TYPE = 3,\n};\n\nenum bp_type_idx {\n\tTYPE_INST = 0,\n\tTYPE_DATA = 1,\n\tTYPE_MAX = 2,\n};\n\nenum bpf_access_src {\n\tACCESS_DIRECT = 1,\n\tACCESS_HELPER = 2,\n};\n\nenum bpf_access_type {\n\tBPF_READ = 1,\n\tBPF_WRITE = 2,\n};\n\nenum bpf_addr_space_cast {\n\tBPF_ADDR_SPACE_CAST = 1,\n};\n\nenum bpf_adj_room_mode {\n\tBPF_ADJ_ROOM_NET = 0,\n\tBPF_ADJ_ROOM_MAC = 1,\n};\n\nenum bpf_arg_type {\n\tARG_DONTCARE = 0,\n\tARG_CONST_MAP_PTR = 1,\n\tARG_PTR_TO_MAP_KEY = 2,\n\tARG_PTR_TO_MAP_VALUE = 3,\n\tARG_PTR_TO_MEM = 4,\n\tARG_PTR_TO_ARENA = 5,\n\tARG_CONST_SIZE = 6,\n\tARG_CONST_SIZE_OR_ZERO = 7,\n\tARG_PTR_TO_CTX = 8,\n\tARG_ANYTHING = 9,\n\tARG_PTR_TO_SPIN_LOCK = 10,\n\tARG_PTR_TO_SOCK_COMMON = 11,\n\tARG_PTR_TO_SOCKET = 12,\n\tARG_PTR_TO_BTF_ID = 13,\n\tARG_PTR_TO_RINGBUF_MEM = 14,\n\tARG_CONST_ALLOC_SIZE_OR_ZERO = 15,\n\tARG_PTR_TO_BTF_ID_SOCK_COMMON = 16,\n\tARG_PTR_TO_PERCPU_BTF_ID = 17,\n\tARG_PTR_TO_FUNC = 18,\n\tARG_PTR_TO_STACK = 19,\n\tARG_PTR_TO_CONST_STR = 20,\n\tARG_PTR_TO_TIMER = 21,\n\tARG_KPTR_XCHG_DEST = 22,\n\tARG_PTR_TO_DYNPTR = 23,\n\t__BPF_ARG_TYPE_MAX = 24,\n\tARG_PTR_TO_MAP_VALUE_OR_NULL = 259,\n\tARG_PTR_TO_MEM_OR_NULL = 260,\n\tARG_PTR_TO_CTX_OR_NULL = 264,\n\tARG_PTR_TO_SOCKET_OR_NULL = 268,\n\tARG_PTR_TO_STACK_OR_NULL = 275,\n\tARG_PTR_TO_BTF_ID_OR_NULL = 269,\n\tARG_PTR_TO_UNINIT_MEM = 67141636,\n\tARG_PTR_TO_FIXED_SIZE_MEM = 262148,\n\t__BPF_ARG_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_async_type {\n\tBPF_ASYNC_TYPE_TIMER = 0,\n\tBPF_ASYNC_TYPE_WQ = 1,\n};\n\nenum bpf_attach_type {\n\tBPF_CGROUP_INET_INGRESS = 0,\n\tBPF_CGROUP_INET_EGRESS = 1,\n\tBPF_CGROUP_INET_SOCK_CREATE = 2,\n\tBPF_CGROUP_SOCK_OPS = 3,\n\tBPF_SK_SKB_STREAM_PARSER = 4,\n\tBPF_SK_SKB_STREAM_VERDICT = 5,\n\tBPF_CGROUP_DEVICE = 6,\n\tBPF_SK_MSG_VERDICT = 7,\n\tBPF_CGROUP_INET4_BIND = 8,\n\tBPF_CGROUP_INET6_BIND = 9,\n\tBPF_CGROUP_INET4_CONNECT = 10,\n\tBPF_CGROUP_INET6_CONNECT = 11,\n\tBPF_CGROUP_INET4_POST_BIND = 12,\n\tBPF_CGROUP_INET6_POST_BIND = 13,\n\tBPF_CGROUP_UDP4_SENDMSG = 14,\n\tBPF_CGROUP_UDP6_SENDMSG = 15,\n\tBPF_LIRC_MODE2 = 16,\n\tBPF_FLOW_DISSECTOR = 17,\n\tBPF_CGROUP_SYSCTL = 18,\n\tBPF_CGROUP_UDP4_RECVMSG = 19,\n\tBPF_CGROUP_UDP6_RECVMSG = 20,\n\tBPF_CGROUP_GETSOCKOPT = 21,\n\tBPF_CGROUP_SETSOCKOPT = 22,\n\tBPF_TRACE_RAW_TP = 23,\n\tBPF_TRACE_FENTRY = 24,\n\tBPF_TRACE_FEXIT = 25,\n\tBPF_MODIFY_RETURN = 26,\n\tBPF_LSM_MAC = 27,\n\tBPF_TRACE_ITER = 28,\n\tBPF_CGROUP_INET4_GETPEERNAME = 29,\n\tBPF_CGROUP_INET6_GETPEERNAME = 30,\n\tBPF_CGROUP_INET4_GETSOCKNAME = 31,\n\tBPF_CGROUP_INET6_GETSOCKNAME = 32,\n\tBPF_XDP_DEVMAP = 33,\n\tBPF_CGROUP_INET_SOCK_RELEASE = 34,\n\tBPF_XDP_CPUMAP = 35,\n\tBPF_SK_LOOKUP = 36,\n\tBPF_XDP = 37,\n\tBPF_SK_SKB_VERDICT = 38,\n\tBPF_SK_REUSEPORT_SELECT = 39,\n\tBPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40,\n\tBPF_PERF_EVENT = 41,\n\tBPF_TRACE_KPROBE_MULTI = 42,\n\tBPF_LSM_CGROUP = 43,\n\tBPF_STRUCT_OPS = 44,\n\tBPF_NETFILTER = 45,\n\tBPF_TCX_INGRESS = 46,\n\tBPF_TCX_EGRESS = 47,\n\tBPF_TRACE_UPROBE_MULTI = 48,\n\tBPF_CGROUP_UNIX_CONNECT = 49,\n\tBPF_CGROUP_UNIX_SENDMSG = 50,\n\tBPF_CGROUP_UNIX_RECVMSG = 51,\n\tBPF_CGROUP_UNIX_GETPEERNAME = 52,\n\tBPF_CGROUP_UNIX_GETSOCKNAME = 53,\n\tBPF_NETKIT_PRIMARY = 54,\n\tBPF_NETKIT_PEER = 55,\n\tBPF_TRACE_KPROBE_SESSION = 56,\n\tBPF_TRACE_UPROBE_SESSION = 57,\n\t__MAX_BPF_ATTACH_TYPE = 58,\n};\n\nenum bpf_audit {\n\tBPF_AUDIT_LOAD = 0,\n\tBPF_AUDIT_UNLOAD = 1,\n\tBPF_AUDIT_MAX = 2,\n};\n\nenum bpf_cgroup_iter_order {\n\tBPF_CGROUP_ITER_ORDER_UNSPEC = 0,\n\tBPF_CGROUP_ITER_SELF_ONLY = 1,\n\tBPF_CGROUP_ITER_DESCENDANTS_PRE = 2,\n\tBPF_CGROUP_ITER_DESCENDANTS_POST = 3,\n\tBPF_CGROUP_ITER_ANCESTORS_UP = 4,\n};\n\nenum bpf_cgroup_storage_type {\n\tBPF_CGROUP_STORAGE_SHARED = 0,\n\tBPF_CGROUP_STORAGE_PERCPU = 1,\n\t__BPF_CGROUP_STORAGE_MAX = 2,\n};\n\nenum bpf_check_mtu_flags {\n\tBPF_MTU_CHK_SEGS = 1,\n};\n\nenum bpf_check_mtu_ret {\n\tBPF_MTU_CHK_RET_SUCCESS = 0,\n\tBPF_MTU_CHK_RET_FRAG_NEEDED = 1,\n\tBPF_MTU_CHK_RET_SEGS_TOOBIG = 2,\n};\n\nenum bpf_cmd {\n\tBPF_MAP_CREATE = 0,\n\tBPF_MAP_LOOKUP_ELEM = 1,\n\tBPF_MAP_UPDATE_ELEM = 2,\n\tBPF_MAP_DELETE_ELEM = 3,\n\tBPF_MAP_GET_NEXT_KEY = 4,\n\tBPF_PROG_LOAD = 5,\n\tBPF_OBJ_PIN = 6,\n\tBPF_OBJ_GET = 7,\n\tBPF_PROG_ATTACH = 8,\n\tBPF_PROG_DETACH = 9,\n\tBPF_PROG_TEST_RUN = 10,\n\tBPF_PROG_RUN = 10,\n\tBPF_PROG_GET_NEXT_ID = 11,\n\tBPF_MAP_GET_NEXT_ID = 12,\n\tBPF_PROG_GET_FD_BY_ID = 13,\n\tBPF_MAP_GET_FD_BY_ID = 14,\n\tBPF_OBJ_GET_INFO_BY_FD = 15,\n\tBPF_PROG_QUERY = 16,\n\tBPF_RAW_TRACEPOINT_OPEN = 17,\n\tBPF_BTF_LOAD = 18,\n\tBPF_BTF_GET_FD_BY_ID = 19,\n\tBPF_TASK_FD_QUERY = 20,\n\tBPF_MAP_LOOKUP_AND_DELETE_ELEM = 21,\n\tBPF_MAP_FREEZE = 22,\n\tBPF_BTF_GET_NEXT_ID = 23,\n\tBPF_MAP_LOOKUP_BATCH = 24,\n\tBPF_MAP_LOOKUP_AND_DELETE_BATCH = 25,\n\tBPF_MAP_UPDATE_BATCH = 26,\n\tBPF_MAP_DELETE_BATCH = 27,\n\tBPF_LINK_CREATE = 28,\n\tBPF_LINK_UPDATE = 29,\n\tBPF_LINK_GET_FD_BY_ID = 30,\n\tBPF_LINK_GET_NEXT_ID = 31,\n\tBPF_ENABLE_STATS = 32,\n\tBPF_ITER_CREATE = 33,\n\tBPF_LINK_DETACH = 34,\n\tBPF_PROG_BIND_MAP = 35,\n\tBPF_TOKEN_CREATE = 36,\n\t__MAX_BPF_CMD = 37,\n};\n\nenum bpf_cond_pseudo_jmp {\n\tBPF_MAY_GOTO = 0,\n};\n\nenum bpf_core_relo_kind {\n\tBPF_CORE_FIELD_BYTE_OFFSET = 0,\n\tBPF_CORE_FIELD_BYTE_SIZE = 1,\n\tBPF_CORE_FIELD_EXISTS = 2,\n\tBPF_CORE_FIELD_SIGNED = 3,\n\tBPF_CORE_FIELD_LSHIFT_U64 = 4,\n\tBPF_CORE_FIELD_RSHIFT_U64 = 5,\n\tBPF_CORE_TYPE_ID_LOCAL = 6,\n\tBPF_CORE_TYPE_ID_TARGET = 7,\n\tBPF_CORE_TYPE_EXISTS = 8,\n\tBPF_CORE_TYPE_SIZE = 9,\n\tBPF_CORE_ENUMVAL_EXISTS = 10,\n\tBPF_CORE_ENUMVAL_VALUE = 11,\n\tBPF_CORE_TYPE_MATCHES = 12,\n};\n\nenum bpf_dynptr_type {\n\tBPF_DYNPTR_TYPE_INVALID = 0,\n\tBPF_DYNPTR_TYPE_LOCAL = 1,\n\tBPF_DYNPTR_TYPE_RINGBUF = 2,\n\tBPF_DYNPTR_TYPE_SKB = 3,\n\tBPF_DYNPTR_TYPE_XDP = 4,\n};\n\nenum bpf_func_id {\n\tBPF_FUNC_unspec = 0,\n\tBPF_FUNC_map_lookup_elem = 1,\n\tBPF_FUNC_map_update_elem = 2,\n\tBPF_FUNC_map_delete_elem = 3,\n\tBPF_FUNC_probe_read = 4,\n\tBPF_FUNC_ktime_get_ns = 5,\n\tBPF_FUNC_trace_printk = 6,\n\tBPF_FUNC_get_prandom_u32 = 7,\n\tBPF_FUNC_get_smp_processor_id = 8,\n\tBPF_FUNC_skb_store_bytes = 9,\n\tBPF_FUNC_l3_csum_replace = 10,\n\tBPF_FUNC_l4_csum_replace = 11,\n\tBPF_FUNC_tail_call = 12,\n\tBPF_FUNC_clone_redirect = 13,\n\tBPF_FUNC_get_current_pid_tgid = 14,\n\tBPF_FUNC_get_current_uid_gid = 15,\n\tBPF_FUNC_get_current_comm = 16,\n\tBPF_FUNC_get_cgroup_classid = 17,\n\tBPF_FUNC_skb_vlan_push = 18,\n\tBPF_FUNC_skb_vlan_pop = 19,\n\tBPF_FUNC_skb_get_tunnel_key = 20,\n\tBPF_FUNC_skb_set_tunnel_key = 21,\n\tBPF_FUNC_perf_event_read = 22,\n\tBPF_FUNC_redirect = 23,\n\tBPF_FUNC_get_route_realm = 24,\n\tBPF_FUNC_perf_event_output = 25,\n\tBPF_FUNC_skb_load_bytes = 26,\n\tBPF_FUNC_get_stackid = 27,\n\tBPF_FUNC_csum_diff = 28,\n\tBPF_FUNC_skb_get_tunnel_opt = 29,\n\tBPF_FUNC_skb_set_tunnel_opt = 30,\n\tBPF_FUNC_skb_change_proto = 31,\n\tBPF_FUNC_skb_change_type = 32,\n\tBPF_FUNC_skb_under_cgroup = 33,\n\tBPF_FUNC_get_hash_recalc = 34,\n\tBPF_FUNC_get_current_task = 35,\n\tBPF_FUNC_probe_write_user = 36,\n\tBPF_FUNC_current_task_under_cgroup = 37,\n\tBPF_FUNC_skb_change_tail = 38,\n\tBPF_FUNC_skb_pull_data = 39,\n\tBPF_FUNC_csum_update = 40,\n\tBPF_FUNC_set_hash_invalid = 41,\n\tBPF_FUNC_get_numa_node_id = 42,\n\tBPF_FUNC_skb_change_head = 43,\n\tBPF_FUNC_xdp_adjust_head = 44,\n\tBPF_FUNC_probe_read_str = 45,\n\tBPF_FUNC_get_socket_cookie = 46,\n\tBPF_FUNC_get_socket_uid = 47,\n\tBPF_FUNC_set_hash = 48,\n\tBPF_FUNC_setsockopt = 49,\n\tBPF_FUNC_skb_adjust_room = 50,\n\tBPF_FUNC_redirect_map = 51,\n\tBPF_FUNC_sk_redirect_map = 52,\n\tBPF_FUNC_sock_map_update = 53,\n\tBPF_FUNC_xdp_adjust_meta = 54,\n\tBPF_FUNC_perf_event_read_value = 55,\n\tBPF_FUNC_perf_prog_read_value = 56,\n\tBPF_FUNC_getsockopt = 57,\n\tBPF_FUNC_override_return = 58,\n\tBPF_FUNC_sock_ops_cb_flags_set = 59,\n\tBPF_FUNC_msg_redirect_map = 60,\n\tBPF_FUNC_msg_apply_bytes = 61,\n\tBPF_FUNC_msg_cork_bytes = 62,\n\tBPF_FUNC_msg_pull_data = 63,\n\tBPF_FUNC_bind = 64,\n\tBPF_FUNC_xdp_adjust_tail = 65,\n\tBPF_FUNC_skb_get_xfrm_state = 66,\n\tBPF_FUNC_get_stack = 67,\n\tBPF_FUNC_skb_load_bytes_relative = 68,\n\tBPF_FUNC_fib_lookup = 69,\n\tBPF_FUNC_sock_hash_update = 70,\n\tBPF_FUNC_msg_redirect_hash = 71,\n\tBPF_FUNC_sk_redirect_hash = 72,\n\tBPF_FUNC_lwt_push_encap = 73,\n\tBPF_FUNC_lwt_seg6_store_bytes = 74,\n\tBPF_FUNC_lwt_seg6_adjust_srh = 75,\n\tBPF_FUNC_lwt_seg6_action = 76,\n\tBPF_FUNC_rc_repeat = 77,\n\tBPF_FUNC_rc_keydown = 78,\n\tBPF_FUNC_skb_cgroup_id = 79,\n\tBPF_FUNC_get_current_cgroup_id = 80,\n\tBPF_FUNC_get_local_storage = 81,\n\tBPF_FUNC_sk_select_reuseport = 82,\n\tBPF_FUNC_skb_ancestor_cgroup_id = 83,\n\tBPF_FUNC_sk_lookup_tcp = 84,\n\tBPF_FUNC_sk_lookup_udp = 85,\n\tBPF_FUNC_sk_release = 86,\n\tBPF_FUNC_map_push_elem = 87,\n\tBPF_FUNC_map_pop_elem = 88,\n\tBPF_FUNC_map_peek_elem = 89,\n\tBPF_FUNC_msg_push_data = 90,\n\tBPF_FUNC_msg_pop_data = 91,\n\tBPF_FUNC_rc_pointer_rel = 92,\n\tBPF_FUNC_spin_lock = 93,\n\tBPF_FUNC_spin_unlock = 94,\n\tBPF_FUNC_sk_fullsock = 95,\n\tBPF_FUNC_tcp_sock = 96,\n\tBPF_FUNC_skb_ecn_set_ce = 97,\n\tBPF_FUNC_get_listener_sock = 98,\n\tBPF_FUNC_skc_lookup_tcp = 99,\n\tBPF_FUNC_tcp_check_syncookie = 100,\n\tBPF_FUNC_sysctl_get_name = 101,\n\tBPF_FUNC_sysctl_get_current_value = 102,\n\tBPF_FUNC_sysctl_get_new_value = 103,\n\tBPF_FUNC_sysctl_set_new_value = 104,\n\tBPF_FUNC_strtol = 105,\n\tBPF_FUNC_strtoul = 106,\n\tBPF_FUNC_sk_storage_get = 107,\n\tBPF_FUNC_sk_storage_delete = 108,\n\tBPF_FUNC_send_signal = 109,\n\tBPF_FUNC_tcp_gen_syncookie = 110,\n\tBPF_FUNC_skb_output = 111,\n\tBPF_FUNC_probe_read_user = 112,\n\tBPF_FUNC_probe_read_kernel = 113,\n\tBPF_FUNC_probe_read_user_str = 114,\n\tBPF_FUNC_probe_read_kernel_str = 115,\n\tBPF_FUNC_tcp_send_ack = 116,\n\tBPF_FUNC_send_signal_thread = 117,\n\tBPF_FUNC_jiffies64 = 118,\n\tBPF_FUNC_read_branch_records = 119,\n\tBPF_FUNC_get_ns_current_pid_tgid = 120,\n\tBPF_FUNC_xdp_output = 121,\n\tBPF_FUNC_get_netns_cookie = 122,\n\tBPF_FUNC_get_current_ancestor_cgroup_id = 123,\n\tBPF_FUNC_sk_assign = 124,\n\tBPF_FUNC_ktime_get_boot_ns = 125,\n\tBPF_FUNC_seq_printf = 126,\n\tBPF_FUNC_seq_write = 127,\n\tBPF_FUNC_sk_cgroup_id = 128,\n\tBPF_FUNC_sk_ancestor_cgroup_id = 129,\n\tBPF_FUNC_ringbuf_output = 130,\n\tBPF_FUNC_ringbuf_reserve = 131,\n\tBPF_FUNC_ringbuf_submit = 132,\n\tBPF_FUNC_ringbuf_discard = 133,\n\tBPF_FUNC_ringbuf_query = 134,\n\tBPF_FUNC_csum_level = 135,\n\tBPF_FUNC_skc_to_tcp6_sock = 136,\n\tBPF_FUNC_skc_to_tcp_sock = 137,\n\tBPF_FUNC_skc_to_tcp_timewait_sock = 138,\n\tBPF_FUNC_skc_to_tcp_request_sock = 139,\n\tBPF_FUNC_skc_to_udp6_sock = 140,\n\tBPF_FUNC_get_task_stack = 141,\n\tBPF_FUNC_load_hdr_opt = 142,\n\tBPF_FUNC_store_hdr_opt = 143,\n\tBPF_FUNC_reserve_hdr_opt = 144,\n\tBPF_FUNC_inode_storage_get = 145,\n\tBPF_FUNC_inode_storage_delete = 146,\n\tBPF_FUNC_d_path = 147,\n\tBPF_FUNC_copy_from_user = 148,\n\tBPF_FUNC_snprintf_btf = 149,\n\tBPF_FUNC_seq_printf_btf = 150,\n\tBPF_FUNC_skb_cgroup_classid = 151,\n\tBPF_FUNC_redirect_neigh = 152,\n\tBPF_FUNC_per_cpu_ptr = 153,\n\tBPF_FUNC_this_cpu_ptr = 154,\n\tBPF_FUNC_redirect_peer = 155,\n\tBPF_FUNC_task_storage_get = 156,\n\tBPF_FUNC_task_storage_delete = 157,\n\tBPF_FUNC_get_current_task_btf = 158,\n\tBPF_FUNC_bprm_opts_set = 159,\n\tBPF_FUNC_ktime_get_coarse_ns = 160,\n\tBPF_FUNC_ima_inode_hash = 161,\n\tBPF_FUNC_sock_from_file = 162,\n\tBPF_FUNC_check_mtu = 163,\n\tBPF_FUNC_for_each_map_elem = 164,\n\tBPF_FUNC_snprintf = 165,\n\tBPF_FUNC_sys_bpf = 166,\n\tBPF_FUNC_btf_find_by_name_kind = 167,\n\tBPF_FUNC_sys_close = 168,\n\tBPF_FUNC_timer_init = 169,\n\tBPF_FUNC_timer_set_callback = 170,\n\tBPF_FUNC_timer_start = 171,\n\tBPF_FUNC_timer_cancel = 172,\n\tBPF_FUNC_get_func_ip = 173,\n\tBPF_FUNC_get_attach_cookie = 174,\n\tBPF_FUNC_task_pt_regs = 175,\n\tBPF_FUNC_get_branch_snapshot = 176,\n\tBPF_FUNC_trace_vprintk = 177,\n\tBPF_FUNC_skc_to_unix_sock = 178,\n\tBPF_FUNC_kallsyms_lookup_name = 179,\n\tBPF_FUNC_find_vma = 180,\n\tBPF_FUNC_loop = 181,\n\tBPF_FUNC_strncmp = 182,\n\tBPF_FUNC_get_func_arg = 183,\n\tBPF_FUNC_get_func_ret = 184,\n\tBPF_FUNC_get_func_arg_cnt = 185,\n\tBPF_FUNC_get_retval = 186,\n\tBPF_FUNC_set_retval = 187,\n\tBPF_FUNC_xdp_get_buff_len = 188,\n\tBPF_FUNC_xdp_load_bytes = 189,\n\tBPF_FUNC_xdp_store_bytes = 190,\n\tBPF_FUNC_copy_from_user_task = 191,\n\tBPF_FUNC_skb_set_tstamp = 192,\n\tBPF_FUNC_ima_file_hash = 193,\n\tBPF_FUNC_kptr_xchg = 194,\n\tBPF_FUNC_map_lookup_percpu_elem = 195,\n\tBPF_FUNC_skc_to_mptcp_sock = 196,\n\tBPF_FUNC_dynptr_from_mem = 197,\n\tBPF_FUNC_ringbuf_reserve_dynptr = 198,\n\tBPF_FUNC_ringbuf_submit_dynptr = 199,\n\tBPF_FUNC_ringbuf_discard_dynptr = 200,\n\tBPF_FUNC_dynptr_read = 201,\n\tBPF_FUNC_dynptr_write = 202,\n\tBPF_FUNC_dynptr_data = 203,\n\tBPF_FUNC_tcp_raw_gen_syncookie_ipv4 = 204,\n\tBPF_FUNC_tcp_raw_gen_syncookie_ipv6 = 205,\n\tBPF_FUNC_tcp_raw_check_syncookie_ipv4 = 206,\n\tBPF_FUNC_tcp_raw_check_syncookie_ipv6 = 207,\n\tBPF_FUNC_ktime_get_tai_ns = 208,\n\tBPF_FUNC_user_ringbuf_drain = 209,\n\tBPF_FUNC_cgrp_storage_get = 210,\n\tBPF_FUNC_cgrp_storage_delete = 211,\n\t__BPF_FUNC_MAX_ID = 212,\n};\n\nenum bpf_hdr_start_off {\n\tBPF_HDR_START_MAC = 0,\n\tBPF_HDR_START_NET = 1,\n};\n\nenum bpf_iter_feature {\n\tBPF_ITER_RESCHED = 1,\n};\n\nenum bpf_iter_state {\n\tBPF_ITER_STATE_INVALID = 0,\n\tBPF_ITER_STATE_ACTIVE = 1,\n\tBPF_ITER_STATE_DRAINED = 2,\n};\n\nenum bpf_iter_task_type {\n\tBPF_TASK_ITER_ALL = 0,\n\tBPF_TASK_ITER_TID = 1,\n\tBPF_TASK_ITER_TGID = 2,\n};\n\nenum bpf_jit_poke_reason {\n\tBPF_POKE_REASON_TAIL_CALL = 0,\n};\n\nenum bpf_kfunc_flags {\n\tBPF_F_PAD_ZEROS = 1,\n};\n\nenum bpf_link_type {\n\tBPF_LINK_TYPE_UNSPEC = 0,\n\tBPF_LINK_TYPE_RAW_TRACEPOINT = 1,\n\tBPF_LINK_TYPE_TRACING = 2,\n\tBPF_LINK_TYPE_CGROUP = 3,\n\tBPF_LINK_TYPE_ITER = 4,\n\tBPF_LINK_TYPE_NETNS = 5,\n\tBPF_LINK_TYPE_XDP = 6,\n\tBPF_LINK_TYPE_PERF_EVENT = 7,\n\tBPF_LINK_TYPE_KPROBE_MULTI = 8,\n\tBPF_LINK_TYPE_STRUCT_OPS = 9,\n\tBPF_LINK_TYPE_NETFILTER = 10,\n\tBPF_LINK_TYPE_TCX = 11,\n\tBPF_LINK_TYPE_UPROBE_MULTI = 12,\n\tBPF_LINK_TYPE_NETKIT = 13,\n\tBPF_LINK_TYPE_SOCKMAP = 14,\n\t__MAX_BPF_LINK_TYPE = 15,\n};\n\nenum bpf_lru_list_type {\n\tBPF_LRU_LIST_T_ACTIVE = 0,\n\tBPF_LRU_LIST_T_INACTIVE = 1,\n\tBPF_LRU_LIST_T_FREE = 2,\n\tBPF_LRU_LOCAL_LIST_T_FREE = 3,\n\tBPF_LRU_LOCAL_LIST_T_PENDING = 4,\n};\n\nenum bpf_map_type {\n\tBPF_MAP_TYPE_UNSPEC = 0,\n\tBPF_MAP_TYPE_HASH = 1,\n\tBPF_MAP_TYPE_ARRAY = 2,\n\tBPF_MAP_TYPE_PROG_ARRAY = 3,\n\tBPF_MAP_TYPE_PERF_EVENT_ARRAY = 4,\n\tBPF_MAP_TYPE_PERCPU_HASH = 5,\n\tBPF_MAP_TYPE_PERCPU_ARRAY = 6,\n\tBPF_MAP_TYPE_STACK_TRACE = 7,\n\tBPF_MAP_TYPE_CGROUP_ARRAY = 8,\n\tBPF_MAP_TYPE_LRU_HASH = 9,\n\tBPF_MAP_TYPE_LRU_PERCPU_HASH = 10,\n\tBPF_MAP_TYPE_LPM_TRIE = 11,\n\tBPF_MAP_TYPE_ARRAY_OF_MAPS = 12,\n\tBPF_MAP_TYPE_HASH_OF_MAPS = 13,\n\tBPF_MAP_TYPE_DEVMAP = 14,\n\tBPF_MAP_TYPE_SOCKMAP = 15,\n\tBPF_MAP_TYPE_CPUMAP = 16,\n\tBPF_MAP_TYPE_XSKMAP = 17,\n\tBPF_MAP_TYPE_SOCKHASH = 18,\n\tBPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,\n\tBPF_MAP_TYPE_CGROUP_STORAGE = 19,\n\tBPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,\n\tBPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED = 21,\n\tBPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,\n\tBPF_MAP_TYPE_QUEUE = 22,\n\tBPF_MAP_TYPE_STACK = 23,\n\tBPF_MAP_TYPE_SK_STORAGE = 24,\n\tBPF_MAP_TYPE_DEVMAP_HASH = 25,\n\tBPF_MAP_TYPE_STRUCT_OPS = 26,\n\tBPF_MAP_TYPE_RINGBUF = 27,\n\tBPF_MAP_TYPE_INODE_STORAGE = 28,\n\tBPF_MAP_TYPE_TASK_STORAGE = 29,\n\tBPF_MAP_TYPE_BLOOM_FILTER = 30,\n\tBPF_MAP_TYPE_USER_RINGBUF = 31,\n\tBPF_MAP_TYPE_CGRP_STORAGE = 32,\n\tBPF_MAP_TYPE_ARENA = 33,\n\t__MAX_BPF_MAP_TYPE = 34,\n};\n\nenum bpf_netdev_command {\n\tXDP_SETUP_PROG = 0,\n\tXDP_SETUP_PROG_HW = 1,\n\tBPF_OFFLOAD_MAP_ALLOC = 2,\n\tBPF_OFFLOAD_MAP_FREE = 3,\n\tXDP_SETUP_XSK_POOL = 4,\n};\n\nenum bpf_perf_event_type {\n\tBPF_PERF_EVENT_UNSPEC = 0,\n\tBPF_PERF_EVENT_UPROBE = 1,\n\tBPF_PERF_EVENT_URETPROBE = 2,\n\tBPF_PERF_EVENT_KPROBE = 3,\n\tBPF_PERF_EVENT_KRETPROBE = 4,\n\tBPF_PERF_EVENT_TRACEPOINT = 5,\n\tBPF_PERF_EVENT_EVENT = 6,\n};\n\nenum bpf_prog_type {\n\tBPF_PROG_TYPE_UNSPEC = 0,\n\tBPF_PROG_TYPE_SOCKET_FILTER = 1,\n\tBPF_PROG_TYPE_KPROBE = 2,\n\tBPF_PROG_TYPE_SCHED_CLS = 3,\n\tBPF_PROG_TYPE_SCHED_ACT = 4,\n\tBPF_PROG_TYPE_TRACEPOINT = 5,\n\tBPF_PROG_TYPE_XDP = 6,\n\tBPF_PROG_TYPE_PERF_EVENT = 7,\n\tBPF_PROG_TYPE_CGROUP_SKB = 8,\n\tBPF_PROG_TYPE_CGROUP_SOCK = 9,\n\tBPF_PROG_TYPE_LWT_IN = 10,\n\tBPF_PROG_TYPE_LWT_OUT = 11,\n\tBPF_PROG_TYPE_LWT_XMIT = 12,\n\tBPF_PROG_TYPE_SOCK_OPS = 13,\n\tBPF_PROG_TYPE_SK_SKB = 14,\n\tBPF_PROG_TYPE_CGROUP_DEVICE = 15,\n\tBPF_PROG_TYPE_SK_MSG = 16,\n\tBPF_PROG_TYPE_RAW_TRACEPOINT = 17,\n\tBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18,\n\tBPF_PROG_TYPE_LWT_SEG6LOCAL = 19,\n\tBPF_PROG_TYPE_LIRC_MODE2 = 20,\n\tBPF_PROG_TYPE_SK_REUSEPORT = 21,\n\tBPF_PROG_TYPE_FLOW_DISSECTOR = 22,\n\tBPF_PROG_TYPE_CGROUP_SYSCTL = 23,\n\tBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24,\n\tBPF_PROG_TYPE_CGROUP_SOCKOPT = 25,\n\tBPF_PROG_TYPE_TRACING = 26,\n\tBPF_PROG_TYPE_STRUCT_OPS = 27,\n\tBPF_PROG_TYPE_EXT = 28,\n\tBPF_PROG_TYPE_LSM = 29,\n\tBPF_PROG_TYPE_SK_LOOKUP = 30,\n\tBPF_PROG_TYPE_SYSCALL = 31,\n\tBPF_PROG_TYPE_NETFILTER = 32,\n\t__MAX_BPF_PROG_TYPE = 33,\n};\n\nenum bpf_reg_liveness {\n\tREG_LIVE_NONE = 0,\n\tREG_LIVE_READ32 = 1,\n\tREG_LIVE_READ64 = 2,\n\tREG_LIVE_READ = 3,\n\tREG_LIVE_WRITTEN = 4,\n\tREG_LIVE_DONE = 8,\n};\n\nenum bpf_reg_type {\n\tNOT_INIT = 0,\n\tSCALAR_VALUE = 1,\n\tPTR_TO_CTX = 2,\n\tCONST_PTR_TO_MAP = 3,\n\tPTR_TO_MAP_VALUE = 4,\n\tPTR_TO_MAP_KEY = 5,\n\tPTR_TO_STACK = 6,\n\tPTR_TO_PACKET_META = 7,\n\tPTR_TO_PACKET = 8,\n\tPTR_TO_PACKET_END = 9,\n\tPTR_TO_FLOW_KEYS = 10,\n\tPTR_TO_SOCKET = 11,\n\tPTR_TO_SOCK_COMMON = 12,\n\tPTR_TO_TCP_SOCK = 13,\n\tPTR_TO_TP_BUFFER = 14,\n\tPTR_TO_XDP_SOCK = 15,\n\tPTR_TO_BTF_ID = 16,\n\tPTR_TO_MEM = 17,\n\tPTR_TO_ARENA = 18,\n\tPTR_TO_BUF = 19,\n\tPTR_TO_FUNC = 20,\n\tCONST_PTR_TO_DYNPTR = 21,\n\t__BPF_REG_TYPE_MAX = 22,\n\tPTR_TO_MAP_VALUE_OR_NULL = 260,\n\tPTR_TO_SOCKET_OR_NULL = 267,\n\tPTR_TO_SOCK_COMMON_OR_NULL = 268,\n\tPTR_TO_TCP_SOCK_OR_NULL = 269,\n\tPTR_TO_BTF_ID_OR_NULL = 272,\n\t__BPF_REG_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_ret_code {\n\tBPF_OK = 0,\n\tBPF_DROP = 2,\n\tBPF_REDIRECT = 7,\n\tBPF_LWT_REROUTE = 128,\n\tBPF_FLOW_DISSECTOR_CONTINUE = 129,\n};\n\nenum bpf_return_type {\n\tRET_INTEGER = 0,\n\tRET_VOID = 1,\n\tRET_PTR_TO_MAP_VALUE = 2,\n\tRET_PTR_TO_SOCKET = 3,\n\tRET_PTR_TO_TCP_SOCK = 4,\n\tRET_PTR_TO_SOCK_COMMON = 5,\n\tRET_PTR_TO_MEM = 6,\n\tRET_PTR_TO_MEM_OR_BTF_ID = 7,\n\tRET_PTR_TO_BTF_ID = 8,\n\t__BPF_RET_TYPE_MAX = 9,\n\tRET_PTR_TO_MAP_VALUE_OR_NULL = 258,\n\tRET_PTR_TO_SOCKET_OR_NULL = 259,\n\tRET_PTR_TO_TCP_SOCK_OR_NULL = 260,\n\tRET_PTR_TO_SOCK_COMMON_OR_NULL = 261,\n\tRET_PTR_TO_RINGBUF_MEM_OR_NULL = 1286,\n\tRET_PTR_TO_DYNPTR_MEM_OR_NULL = 262,\n\tRET_PTR_TO_BTF_ID_OR_NULL = 264,\n\tRET_PTR_TO_BTF_ID_TRUSTED = 1048584,\n\t__BPF_RET_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_stack_build_id_status {\n\tBPF_STACK_BUILD_ID_EMPTY = 0,\n\tBPF_STACK_BUILD_ID_VALID = 1,\n\tBPF_STACK_BUILD_ID_IP = 2,\n};\n\nenum bpf_stack_slot_type {\n\tSTACK_INVALID = 0,\n\tSTACK_SPILL = 1,\n\tSTACK_MISC = 2,\n\tSTACK_ZERO = 3,\n\tSTACK_DYNPTR = 4,\n\tSTACK_ITER = 5,\n\tSTACK_IRQ_FLAG = 6,\n};\n\nenum bpf_stats_type {\n\tBPF_STATS_RUN_TIME = 0,\n};\n\nenum bpf_struct_ops_state {\n\tBPF_STRUCT_OPS_STATE_INIT = 0,\n\tBPF_STRUCT_OPS_STATE_INUSE = 1,\n\tBPF_STRUCT_OPS_STATE_TOBEFREE = 2,\n\tBPF_STRUCT_OPS_STATE_READY = 3,\n};\n\nenum bpf_struct_walk_result {\n\tWALK_SCALAR = 0,\n\tWALK_PTR = 1,\n\tWALK_STRUCT = 2,\n};\n\nenum bpf_task_fd_type {\n\tBPF_FD_TYPE_RAW_TRACEPOINT = 0,\n\tBPF_FD_TYPE_TRACEPOINT = 1,\n\tBPF_FD_TYPE_KPROBE = 2,\n\tBPF_FD_TYPE_KRETPROBE = 3,\n\tBPF_FD_TYPE_UPROBE = 4,\n\tBPF_FD_TYPE_URETPROBE = 5,\n};\n\nenum bpf_task_vma_iter_find_op {\n\ttask_vma_iter_first_vma = 0,\n\ttask_vma_iter_next_vma = 1,\n\ttask_vma_iter_find_vma = 2,\n};\n\nenum bpf_text_poke_type {\n\tBPF_MOD_CALL = 0,\n\tBPF_MOD_JUMP = 1,\n};\n\nenum bpf_tramp_prog_type {\n\tBPF_TRAMP_FENTRY = 0,\n\tBPF_TRAMP_FEXIT = 1,\n\tBPF_TRAMP_MODIFY_RETURN = 2,\n\tBPF_TRAMP_MAX = 3,\n\tBPF_TRAMP_REPLACE = 4,\n};\n\nenum bpf_type {\n\tBPF_TYPE_UNSPEC = 0,\n\tBPF_TYPE_PROG = 1,\n\tBPF_TYPE_MAP = 2,\n\tBPF_TYPE_LINK = 3,\n};\n\nenum bpf_type_flag {\n\tPTR_MAYBE_NULL = 256,\n\tMEM_RDONLY = 512,\n\tMEM_RINGBUF = 1024,\n\tMEM_USER = 2048,\n\tMEM_PERCPU = 4096,\n\tOBJ_RELEASE = 8192,\n\tPTR_UNTRUSTED = 16384,\n\tMEM_UNINIT = 32768,\n\tDYNPTR_TYPE_LOCAL = 65536,\n\tDYNPTR_TYPE_RINGBUF = 131072,\n\tMEM_FIXED_SIZE = 262144,\n\tMEM_ALLOC = 524288,\n\tPTR_TRUSTED = 1048576,\n\tMEM_RCU = 2097152,\n\tNON_OWN_REF = 4194304,\n\tDYNPTR_TYPE_SKB = 8388608,\n\tDYNPTR_TYPE_XDP = 16777216,\n\tMEM_ALIGNED = 33554432,\n\tMEM_WRITE = 67108864,\n\t__BPF_TYPE_FLAG_MAX = 67108865,\n\t__BPF_TYPE_LAST_FLAG = 67108864,\n};\n\nenum bpf_xdp_mode {\n\tXDP_MODE_SKB = 0,\n\tXDP_MODE_DRV = 1,\n\tXDP_MODE_HW = 2,\n\t__MAX_XDP_MODE = 3,\n};\n\nenum branch_cache_flush_type {\n\tBRANCH_CACHE_FLUSH_NONE = 1,\n\tBRANCH_CACHE_FLUSH_SW = 2,\n\tBRANCH_CACHE_FLUSH_HW = 4,\n};\n\nenum btf_arg_tag {\n\tARG_TAG_CTX = 1,\n\tARG_TAG_NONNULL = 2,\n\tARG_TAG_TRUSTED = 4,\n\tARG_TAG_NULLABLE = 8,\n\tARG_TAG_ARENA = 16,\n};\n\nenum btf_field_iter_kind {\n\tBTF_FIELD_ITER_IDS = 0,\n\tBTF_FIELD_ITER_STRS = 1,\n};\n\nenum btf_field_type {\n\tBPF_SPIN_LOCK = 1,\n\tBPF_TIMER = 2,\n\tBPF_KPTR_UNREF = 4,\n\tBPF_KPTR_REF = 8,\n\tBPF_KPTR_PERCPU = 16,\n\tBPF_KPTR = 28,\n\tBPF_LIST_HEAD = 32,\n\tBPF_LIST_NODE = 64,\n\tBPF_RB_ROOT = 128,\n\tBPF_RB_NODE = 256,\n\tBPF_GRAPH_NODE = 320,\n\tBPF_GRAPH_ROOT = 160,\n\tBPF_REFCOUNT = 512,\n\tBPF_WORKQUEUE = 1024,\n\tBPF_UPTR = 2048,\n};\n\nenum btf_func_linkage {\n\tBTF_FUNC_STATIC = 0,\n\tBTF_FUNC_GLOBAL = 1,\n\tBTF_FUNC_EXTERN = 2,\n};\n\nenum btf_kfunc_hook {\n\tBTF_KFUNC_HOOK_COMMON = 0,\n\tBTF_KFUNC_HOOK_XDP = 1,\n\tBTF_KFUNC_HOOK_TC = 2,\n\tBTF_KFUNC_HOOK_STRUCT_OPS = 3,\n\tBTF_KFUNC_HOOK_TRACING = 4,\n\tBTF_KFUNC_HOOK_SYSCALL = 5,\n\tBTF_KFUNC_HOOK_FMODRET = 6,\n\tBTF_KFUNC_HOOK_CGROUP = 7,\n\tBTF_KFUNC_HOOK_SCHED_ACT = 8,\n\tBTF_KFUNC_HOOK_SK_SKB = 9,\n\tBTF_KFUNC_HOOK_SOCKET_FILTER = 10,\n\tBTF_KFUNC_HOOK_LWT = 11,\n\tBTF_KFUNC_HOOK_NETFILTER = 12,\n\tBTF_KFUNC_HOOK_KPROBE = 13,\n\tBTF_KFUNC_HOOK_MAX = 14,\n};\n\nenum btt_init_state {\n\tINIT_UNCHECKED = 0,\n\tINIT_NOTFOUND = 1,\n\tINIT_READY = 2,\n};\n\nenum bug_trap_type {\n\tBUG_TRAP_TYPE_NONE = 0,\n\tBUG_TRAP_TYPE_WARN = 1,\n\tBUG_TRAP_TYPE_BUG = 2,\n};\n\nenum bus_notifier_event {\n\tBUS_NOTIFY_ADD_DEVICE = 0,\n\tBUS_NOTIFY_DEL_DEVICE = 1,\n\tBUS_NOTIFY_REMOVED_DEVICE = 2,\n\tBUS_NOTIFY_BIND_DRIVER = 3,\n\tBUS_NOTIFY_BOUND_DRIVER = 4,\n\tBUS_NOTIFY_UNBIND_DRIVER = 5,\n\tBUS_NOTIFY_UNBOUND_DRIVER = 6,\n\tBUS_NOTIFY_DRIVER_NOT_BOUND = 7,\n};\n\nenum cache_type {\n\tCACHE_TYPE_NOCACHE = 0,\n\tCACHE_TYPE_INST = 1,\n\tCACHE_TYPE_DATA = 2,\n\tCACHE_TYPE_SEPARATE = 3,\n\tCACHE_TYPE_UNIFIED = 4,\n};\n\nenum cb_command {\n\tcb_nop = 0,\n\tcb_iaaddr = 1,\n\tcb_config = 2,\n\tcb_multi = 3,\n\tcb_tx = 4,\n\tcb_ucode = 5,\n\tcb_dump = 6,\n\tcb_tx_sf = 8,\n\tcb_tx_nc = 16,\n\tcb_cid = 7936,\n\tcb_i = 8192,\n\tcb_s = 16384,\n\tcb_el = 32768,\n};\n\nenum cb_status {\n\tcb_complete = 32768,\n\tcb_ok = 8192,\n};\n\nenum cc_attr {\n\tCC_ATTR_MEM_ENCRYPT = 0,\n\tCC_ATTR_HOST_MEM_ENCRYPT = 1,\n\tCC_ATTR_GUEST_MEM_ENCRYPT = 2,\n\tCC_ATTR_GUEST_STATE_ENCRYPT = 3,\n\tCC_ATTR_GUEST_UNROLL_STRING_IO = 4,\n\tCC_ATTR_GUEST_SEV_SNP = 5,\n\tCC_ATTR_GUEST_SNP_SECURE_TSC = 6,\n\tCC_ATTR_HOST_SEV_SNP = 7,\n};\n\nenum cdrom_print_option {\n\tCTL_NAME = 0,\n\tCTL_SPEED = 1,\n\tCTL_SLOTS = 2,\n\tCTL_CAPABILITY = 3,\n};\n\nenum cgroup1_param {\n\tOpt_all = 0,\n\tOpt_clone_children = 1,\n\tOpt_cpuset_v2_mode = 2,\n\tOpt_name = 3,\n\tOpt_none = 4,\n\tOpt_noprefix = 5,\n\tOpt_release_agent = 6,\n\tOpt_xattr = 7,\n\tOpt_favordynmods = 8,\n\tOpt_nofavordynmods = 9,\n};\n\nenum cgroup2_param {\n\tOpt_nsdelegate = 0,\n\tOpt_favordynmods___2 = 1,\n\tOpt_memory_localevents = 2,\n\tOpt_memory_recursiveprot = 3,\n\tOpt_memory_hugetlb_accounting = 4,\n\tOpt_pids_localevents = 5,\n\tnr__cgroup2_params = 6,\n};\n\nenum cgroup_bpf_attach_type {\n\tCGROUP_BPF_ATTACH_TYPE_INVALID = -1,\n\tCGROUP_INET_INGRESS = 0,\n\tCGROUP_INET_EGRESS = 1,\n\tCGROUP_INET_SOCK_CREATE = 2,\n\tCGROUP_SOCK_OPS = 3,\n\tCGROUP_DEVICE = 4,\n\tCGROUP_INET4_BIND = 5,\n\tCGROUP_INET6_BIND = 6,\n\tCGROUP_INET4_CONNECT = 7,\n\tCGROUP_INET6_CONNECT = 8,\n\tCGROUP_UNIX_CONNECT = 9,\n\tCGROUP_INET4_POST_BIND = 10,\n\tCGROUP_INET6_POST_BIND = 11,\n\tCGROUP_UDP4_SENDMSG = 12,\n\tCGROUP_UDP6_SENDMSG = 13,\n\tCGROUP_UNIX_SENDMSG = 14,\n\tCGROUP_SYSCTL = 15,\n\tCGROUP_UDP4_RECVMSG = 16,\n\tCGROUP_UDP6_RECVMSG = 17,\n\tCGROUP_UNIX_RECVMSG = 18,\n\tCGROUP_GETSOCKOPT = 19,\n\tCGROUP_SETSOCKOPT = 20,\n\tCGROUP_INET4_GETPEERNAME = 21,\n\tCGROUP_INET6_GETPEERNAME = 22,\n\tCGROUP_UNIX_GETPEERNAME = 23,\n\tCGROUP_INET4_GETSOCKNAME = 24,\n\tCGROUP_INET6_GETSOCKNAME = 25,\n\tCGROUP_UNIX_GETSOCKNAME = 26,\n\tCGROUP_INET_SOCK_RELEASE = 27,\n\tCGROUP_LSM_START = 28,\n\tCGROUP_LSM_END = 37,\n\tMAX_CGROUP_BPF_ATTACH_TYPE = 38,\n};\n\nenum cgroup_filetype {\n\tCGROUP_FILE_PROCS = 0,\n\tCGROUP_FILE_TASKS = 1,\n};\n\nenum cgroup_opt_features {\n\tOPT_FEATURE_PRESSURE = 0,\n\tOPT_FEATURE_COUNT = 1,\n};\n\nenum cgroup_subsys_id {\n\tcpuset_cgrp_id = 0,\n\tcpu_cgrp_id = 1,\n\tcpuacct_cgrp_id = 2,\n\tio_cgrp_id = 3,\n\tmemory_cgrp_id = 4,\n\tdevices_cgrp_id = 5,\n\tfreezer_cgrp_id = 6,\n\tperf_event_cgrp_id = 7,\n\thugetlb_cgrp_id = 8,\n\tpids_cgrp_id = 9,\n\tmisc_cgrp_id = 10,\n\tCGROUP_SUBSYS_COUNT = 11,\n};\n\nenum chacha_constants {\n\tCHACHA_CONSTANT_EXPA = 1634760805,\n\tCHACHA_CONSTANT_ND_3 = 857760878,\n\tCHACHA_CONSTANT_2_BY = 2036477234,\n\tCHACHA_CONSTANT_TE_K = 1797285236,\n};\n\nenum chip_type {\n\tchip_504x = 0,\n\tchip_508x = 1,\n\tchip_5080 = 2,\n\tchip_604x = 3,\n\tchip_608x = 4,\n\tchip_6042 = 5,\n\tchip_7042 = 6,\n\tchip_soc = 7,\n};\n\nenum class_stat_type {\n\tZS_OBJS_ALLOCATED = 12,\n\tZS_OBJS_INUSE = 13,\n\tNR_CLASS_STAT_TYPES = 14,\n};\n\nenum cleanup_prefix_rt_t {\n\tCLEANUP_PREFIX_RT_NOP = 0,\n\tCLEANUP_PREFIX_RT_DEL = 1,\n\tCLEANUP_PREFIX_RT_EXPIRE = 2,\n};\n\nenum clear_refs_types {\n\tCLEAR_REFS_ALL = 1,\n\tCLEAR_REFS_ANON = 2,\n\tCLEAR_REFS_MAPPED = 3,\n\tCLEAR_REFS_SOFT_DIRTY = 4,\n\tCLEAR_REFS_MM_HIWATER_RSS = 5,\n\tCLEAR_REFS_LAST = 6,\n};\n\nenum clock_event_state {\n\tCLOCK_EVT_STATE_DETACHED = 0,\n\tCLOCK_EVT_STATE_SHUTDOWN = 1,\n\tCLOCK_EVT_STATE_PERIODIC = 2,\n\tCLOCK_EVT_STATE_ONESHOT = 3,\n\tCLOCK_EVT_STATE_ONESHOT_STOPPED = 4,\n};\n\nenum clocksource_ids {\n\tCSID_GENERIC = 0,\n\tCSID_ARM_ARCH_COUNTER = 1,\n\tCSID_S390_TOD = 2,\n\tCSID_X86_TSC_EARLY = 3,\n\tCSID_X86_TSC = 4,\n\tCSID_X86_KVM_CLK = 5,\n\tCSID_X86_ART = 6,\n\tCSID_MAX = 7,\n};\n\nenum cmis_cdb_fw_write_mechanism {\n\tCMIS_CDB_FW_WRITE_MECHANISM_NONE = 0,\n\tCMIS_CDB_FW_WRITE_MECHANISM_LPL = 1,\n\tCMIS_CDB_FW_WRITE_MECHANISM_EPL = 16,\n\tCMIS_CDB_FW_WRITE_MECHANISM_BOTH = 17,\n};\n\nenum compact_priority {\n\tCOMPACT_PRIO_SYNC_FULL = 0,\n\tMIN_COMPACT_PRIORITY = 0,\n\tCOMPACT_PRIO_SYNC_LIGHT = 1,\n\tMIN_COMPACT_COSTLY_PRIORITY = 1,\n\tDEF_COMPACT_PRIORITY = 1,\n\tCOMPACT_PRIO_ASYNC = 2,\n\tINIT_COMPACT_PRIORITY = 2,\n};\n\nenum compact_result {\n\tCOMPACT_NOT_SUITABLE_ZONE = 0,\n\tCOMPACT_SKIPPED = 1,\n\tCOMPACT_DEFERRED = 2,\n\tCOMPACT_NO_SUITABLE_PAGE = 3,\n\tCOMPACT_CONTINUE = 4,\n\tCOMPACT_COMPLETE = 5,\n\tCOMPACT_PARTIAL_SKIPPED = 6,\n\tCOMPACT_CONTENDED = 7,\n\tCOMPACT_SUCCESS = 8,\n};\n\nenum con_flush_mode {\n\tCONSOLE_FLUSH_PENDING = 0,\n\tCONSOLE_REPLAY_ALL = 1,\n};\n\nenum con_msg_format_flags {\n\tMSG_FORMAT_DEFAULT = 0,\n\tMSG_FORMAT_SYSLOG = 1,\n};\n\nenum con_scroll {\n\tSM_UP = 0,\n\tSM_DOWN = 1,\n};\n\nenum cons_flags {\n\tCON_PRINTBUFFER = 1,\n\tCON_CONSDEV = 2,\n\tCON_ENABLED = 4,\n\tCON_BOOT = 8,\n\tCON_ANYTIME = 16,\n\tCON_BRL = 32,\n\tCON_EXTENDED = 64,\n\tCON_SUSPENDED = 128,\n\tCON_NBCON = 256,\n};\n\nenum cpio_fields {\n\tC_MAGIC = 0,\n\tC_INO = 1,\n\tC_MODE = 2,\n\tC_UID = 3,\n\tC_GID = 4,\n\tC_NLINK = 5,\n\tC_MTIME = 6,\n\tC_FILESIZE = 7,\n\tC_MAJ = 8,\n\tC_MIN = 9,\n\tC_RMAJ = 10,\n\tC_RMIN = 11,\n\tC_NAMESIZE = 12,\n\tC_CHKSUM = 13,\n\tC_NFIELDS = 14,\n};\n\nenum cpu_idle_type {\n\t__CPU_NOT_IDLE = 0,\n\tCPU_IDLE = 1,\n\tCPU_NEWLY_IDLE = 2,\n\tCPU_MAX_IDLE_TYPES = 3,\n};\n\nenum cpu_mitigations {\n\tCPU_MITIGATIONS_OFF = 0,\n\tCPU_MITIGATIONS_AUTO = 1,\n\tCPU_MITIGATIONS_AUTO_NOSMT = 2,\n};\n\nenum cpu_usage_stat {\n\tCPUTIME_USER = 0,\n\tCPUTIME_NICE = 1,\n\tCPUTIME_SYSTEM = 2,\n\tCPUTIME_SOFTIRQ = 3,\n\tCPUTIME_IRQ = 4,\n\tCPUTIME_IDLE = 5,\n\tCPUTIME_IOWAIT = 6,\n\tCPUTIME_STEAL = 7,\n\tCPUTIME_GUEST = 8,\n\tCPUTIME_GUEST_NICE = 9,\n\tNR_STATS = 10,\n};\n\nenum cpuacct_stat_index {\n\tCPUACCT_STAT_USER = 0,\n\tCPUACCT_STAT_SYSTEM = 1,\n\tCPUACCT_STAT_NSTATS = 2,\n};\n\nenum cpufreq_table_sorting {\n\tCPUFREQ_TABLE_UNSORTED = 0,\n\tCPUFREQ_TABLE_SORTED_ASCENDING = 1,\n\tCPUFREQ_TABLE_SORTED_DESCENDING = 2,\n};\n\nenum cpuhp_smt_control {\n\tCPU_SMT_ENABLED = 0,\n\tCPU_SMT_DISABLED = 1,\n\tCPU_SMT_FORCE_DISABLED = 2,\n\tCPU_SMT_NOT_SUPPORTED = 3,\n\tCPU_SMT_NOT_IMPLEMENTED = 4,\n};\n\nenum cpuhp_state {\n\tCPUHP_INVALID = -1,\n\tCPUHP_OFFLINE = 0,\n\tCPUHP_CREATE_THREADS = 1,\n\tCPUHP_PERF_PREPARE = 2,\n\tCPUHP_PERF_X86_PREPARE = 3,\n\tCPUHP_PERF_X86_AMD_UNCORE_PREP = 4,\n\tCPUHP_PERF_POWER = 5,\n\tCPUHP_PERF_SUPERH = 6,\n\tCPUHP_X86_HPET_DEAD = 7,\n\tCPUHP_X86_MCE_DEAD = 8,\n\tCPUHP_VIRT_NET_DEAD = 9,\n\tCPUHP_IBMVNIC_DEAD = 10,\n\tCPUHP_SLUB_DEAD = 11,\n\tCPUHP_DEBUG_OBJ_DEAD = 12,\n\tCPUHP_MM_WRITEBACK_DEAD = 13,\n\tCPUHP_MM_VMSTAT_DEAD = 14,\n\tCPUHP_SOFTIRQ_DEAD = 15,\n\tCPUHP_NET_MVNETA_DEAD = 16,\n\tCPUHP_CPUIDLE_DEAD = 17,\n\tCPUHP_ARM64_FPSIMD_DEAD = 18,\n\tCPUHP_ARM_OMAP_WAKE_DEAD = 19,\n\tCPUHP_IRQ_POLL_DEAD = 20,\n\tCPUHP_BLOCK_SOFTIRQ_DEAD = 21,\n\tCPUHP_BIO_DEAD = 22,\n\tCPUHP_ACPI_CPUDRV_DEAD = 23,\n\tCPUHP_S390_PFAULT_DEAD = 24,\n\tCPUHP_BLK_MQ_DEAD = 25,\n\tCPUHP_FS_BUFF_DEAD = 26,\n\tCPUHP_PRINTK_DEAD = 27,\n\tCPUHP_MM_MEMCQ_DEAD = 28,\n\tCPUHP_PERCPU_CNT_DEAD = 29,\n\tCPUHP_RADIX_DEAD = 30,\n\tCPUHP_PAGE_ALLOC = 31,\n\tCPUHP_NET_DEV_DEAD = 32,\n\tCPUHP_PCI_XGENE_DEAD = 33,\n\tCPUHP_IOMMU_IOVA_DEAD = 34,\n\tCPUHP_AP_ARM_CACHE_B15_RAC_DEAD = 35,\n\tCPUHP_PADATA_DEAD = 36,\n\tCPUHP_AP_DTPM_CPU_DEAD = 37,\n\tCPUHP_RANDOM_PREPARE = 38,\n\tCPUHP_WORKQUEUE_PREP = 39,\n\tCPUHP_POWER_NUMA_PREPARE = 40,\n\tCPUHP_HRTIMERS_PREPARE = 41,\n\tCPUHP_X2APIC_PREPARE = 42,\n\tCPUHP_SMPCFD_PREPARE = 43,\n\tCPUHP_RELAY_PREPARE = 44,\n\tCPUHP_MD_RAID5_PREPARE = 45,\n\tCPUHP_RCUTREE_PREP = 46,\n\tCPUHP_CPUIDLE_COUPLED_PREPARE = 47,\n\tCPUHP_POWERPC_PMAC_PREPARE = 48,\n\tCPUHP_POWERPC_MMU_CTX_PREPARE = 49,\n\tCPUHP_XEN_PREPARE = 50,\n\tCPUHP_XEN_EVTCHN_PREPARE = 51,\n\tCPUHP_ARM_SHMOBILE_SCU_PREPARE = 52,\n\tCPUHP_SH_SH3X_PREPARE = 53,\n\tCPUHP_TOPOLOGY_PREPARE = 54,\n\tCPUHP_NET_IUCV_PREPARE = 55,\n\tCPUHP_ARM_BL_PREPARE = 56,\n\tCPUHP_TRACE_RB_PREPARE = 57,\n\tCPUHP_MM_ZS_PREPARE = 58,\n\tCPUHP_MM_ZSWP_POOL_PREPARE = 59,\n\tCPUHP_KVM_PPC_BOOK3S_PREPARE = 60,\n\tCPUHP_ZCOMP_PREPARE = 61,\n\tCPUHP_TIMERS_PREPARE = 62,\n\tCPUHP_TMIGR_PREPARE = 63,\n\tCPUHP_MIPS_SOC_PREPARE = 64,\n\tCPUHP_BP_PREPARE_DYN = 65,\n\tCPUHP_BP_PREPARE_DYN_END = 85,\n\tCPUHP_BP_KICK_AP = 86,\n\tCPUHP_BRINGUP_CPU = 87,\n\tCPUHP_AP_IDLE_DEAD = 88,\n\tCPUHP_AP_OFFLINE = 89,\n\tCPUHP_AP_CACHECTRL_STARTING = 90,\n\tCPUHP_AP_SCHED_STARTING = 91,\n\tCPUHP_AP_RCUTREE_DYING = 92,\n\tCPUHP_AP_CPU_PM_STARTING = 93,\n\tCPUHP_AP_IRQ_GIC_STARTING = 94,\n\tCPUHP_AP_IRQ_HIP04_STARTING = 95,\n\tCPUHP_AP_IRQ_APPLE_AIC_STARTING = 96,\n\tCPUHP_AP_IRQ_ARMADA_XP_STARTING = 97,\n\tCPUHP_AP_IRQ_BCM2836_STARTING = 98,\n\tCPUHP_AP_IRQ_MIPS_GIC_STARTING = 99,\n\tCPUHP_AP_IRQ_EIOINTC_STARTING = 100,\n\tCPUHP_AP_IRQ_AVECINTC_STARTING = 101,\n\tCPUHP_AP_IRQ_SIFIVE_PLIC_STARTING = 102,\n\tCPUHP_AP_IRQ_THEAD_ACLINT_SSWI_STARTING = 103,\n\tCPUHP_AP_IRQ_RISCV_IMSIC_STARTING = 104,\n\tCPUHP_AP_IRQ_RISCV_SBI_IPI_STARTING = 105,\n\tCPUHP_AP_ARM_MVEBU_COHERENCY = 106,\n\tCPUHP_AP_PERF_X86_AMD_UNCORE_STARTING = 107,\n\tCPUHP_AP_PERF_X86_STARTING = 108,\n\tCPUHP_AP_PERF_X86_AMD_IBS_STARTING = 109,\n\tCPUHP_AP_PERF_XTENSA_STARTING = 110,\n\tCPUHP_AP_ARM_VFP_STARTING = 111,\n\tCPUHP_AP_ARM64_DEBUG_MONITORS_STARTING = 112,\n\tCPUHP_AP_PERF_ARM_HW_BREAKPOINT_STARTING = 113,\n\tCPUHP_AP_PERF_ARM_ACPI_STARTING = 114,\n\tCPUHP_AP_PERF_ARM_STARTING = 115,\n\tCPUHP_AP_PERF_RISCV_STARTING = 116,\n\tCPUHP_AP_ARM_L2X0_STARTING = 117,\n\tCPUHP_AP_EXYNOS4_MCT_TIMER_STARTING = 118,\n\tCPUHP_AP_ARM_ARCH_TIMER_STARTING = 119,\n\tCPUHP_AP_ARM_ARCH_TIMER_EVTSTRM_STARTING = 120,\n\tCPUHP_AP_ARM_GLOBAL_TIMER_STARTING = 121,\n\tCPUHP_AP_JCORE_TIMER_STARTING = 122,\n\tCPUHP_AP_ARM_TWD_STARTING = 123,\n\tCPUHP_AP_QCOM_TIMER_STARTING = 124,\n\tCPUHP_AP_TEGRA_TIMER_STARTING = 125,\n\tCPUHP_AP_ARMADA_TIMER_STARTING = 126,\n\tCPUHP_AP_MIPS_GIC_TIMER_STARTING = 127,\n\tCPUHP_AP_ARC_TIMER_STARTING = 128,\n\tCPUHP_AP_REALTEK_TIMER_STARTING = 129,\n\tCPUHP_AP_RISCV_TIMER_STARTING = 130,\n\tCPUHP_AP_CLINT_TIMER_STARTING = 131,\n\tCPUHP_AP_CSKY_TIMER_STARTING = 132,\n\tCPUHP_AP_TI_GP_TIMER_STARTING = 133,\n\tCPUHP_AP_HYPERV_TIMER_STARTING = 134,\n\tCPUHP_AP_DUMMY_TIMER_STARTING = 135,\n\tCPUHP_AP_ARM_XEN_STARTING = 136,\n\tCPUHP_AP_ARM_XEN_RUNSTATE_STARTING = 137,\n\tCPUHP_AP_ARM_CORESIGHT_STARTING = 138,\n\tCPUHP_AP_ARM_CORESIGHT_CTI_STARTING = 139,\n\tCPUHP_AP_ARM64_ISNDEP_STARTING = 140,\n\tCPUHP_AP_SMPCFD_DYING = 141,\n\tCPUHP_AP_HRTIMERS_DYING = 142,\n\tCPUHP_AP_TICK_DYING = 143,\n\tCPUHP_AP_X86_TBOOT_DYING = 144,\n\tCPUHP_AP_ARM_CACHE_B15_RAC_DYING = 145,\n\tCPUHP_AP_ONLINE = 146,\n\tCPUHP_TEARDOWN_CPU = 147,\n\tCPUHP_AP_ONLINE_IDLE = 148,\n\tCPUHP_AP_HYPERV_ONLINE = 149,\n\tCPUHP_AP_KVM_ONLINE = 150,\n\tCPUHP_AP_SCHED_WAIT_EMPTY = 151,\n\tCPUHP_AP_SMPBOOT_THREADS = 152,\n\tCPUHP_AP_IRQ_AFFINITY_ONLINE = 153,\n\tCPUHP_AP_BLK_MQ_ONLINE = 154,\n\tCPUHP_AP_ARM_MVEBU_SYNC_CLOCKS = 155,\n\tCPUHP_AP_X86_INTEL_EPB_ONLINE = 156,\n\tCPUHP_AP_PERF_ONLINE = 157,\n\tCPUHP_AP_PERF_X86_ONLINE = 158,\n\tCPUHP_AP_PERF_X86_UNCORE_ONLINE = 159,\n\tCPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE = 160,\n\tCPUHP_AP_PERF_X86_AMD_POWER_ONLINE = 161,\n\tCPUHP_AP_PERF_S390_CF_ONLINE = 162,\n\tCPUHP_AP_PERF_S390_SF_ONLINE = 163,\n\tCPUHP_AP_PERF_ARM_CCI_ONLINE = 164,\n\tCPUHP_AP_PERF_ARM_CCN_ONLINE = 165,\n\tCPUHP_AP_PERF_ARM_HISI_CPA_ONLINE = 166,\n\tCPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE = 167,\n\tCPUHP_AP_PERF_ARM_HISI_HHA_ONLINE = 168,\n\tCPUHP_AP_PERF_ARM_HISI_L3_ONLINE = 169,\n\tCPUHP_AP_PERF_ARM_HISI_PA_ONLINE = 170,\n\tCPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE = 171,\n\tCPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE = 172,\n\tCPUHP_AP_PERF_ARM_HNS3_PMU_ONLINE = 173,\n\tCPUHP_AP_PERF_ARM_L2X0_ONLINE = 174,\n\tCPUHP_AP_PERF_ARM_QCOM_L2_ONLINE = 175,\n\tCPUHP_AP_PERF_ARM_QCOM_L3_ONLINE = 176,\n\tCPUHP_AP_PERF_ARM_APM_XGENE_ONLINE = 177,\n\tCPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE = 178,\n\tCPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE = 179,\n\tCPUHP_AP_PERF_ARM_MRVL_PEM_ONLINE = 180,\n\tCPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE = 181,\n\tCPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE = 182,\n\tCPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE = 183,\n\tCPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE = 184,\n\tCPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE = 185,\n\tCPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE = 186,\n\tCPUHP_AP_PERF_CSKY_ONLINE = 187,\n\tCPUHP_AP_TMIGR_ONLINE = 188,\n\tCPUHP_AP_WATCHDOG_ONLINE = 189,\n\tCPUHP_AP_WORKQUEUE_ONLINE = 190,\n\tCPUHP_AP_RANDOM_ONLINE = 191,\n\tCPUHP_AP_RCUTREE_ONLINE = 192,\n\tCPUHP_AP_KTHREADS_ONLINE = 193,\n\tCPUHP_AP_BASE_CACHEINFO_ONLINE = 194,\n\tCPUHP_AP_ONLINE_DYN = 195,\n\tCPUHP_AP_ONLINE_DYN_END = 235,\n\tCPUHP_AP_X86_HPET_ONLINE = 236,\n\tCPUHP_AP_X86_KVM_CLK_ONLINE = 237,\n\tCPUHP_AP_ACTIVE = 238,\n\tCPUHP_ONLINE = 239,\n};\n\nenum cpuhp_sync_state {\n\tSYNC_STATE_DEAD = 0,\n\tSYNC_STATE_KICKED = 1,\n\tSYNC_STATE_SHOULD_DIE = 2,\n\tSYNC_STATE_ALIVE = 3,\n\tSYNC_STATE_SHOULD_ONLINE = 4,\n\tSYNC_STATE_ONLINE = 5,\n};\n\nenum createmode4 {\n\tNFS4_CREATE_UNCHECKED = 0,\n\tNFS4_CREATE_GUARDED = 1,\n\tNFS4_CREATE_EXCLUSIVE = 2,\n\tNFS4_CREATE_EXCLUSIVE4_1 = 3,\n};\n\nenum criteria {\n\tCR_POWER2_ALIGNED = 0,\n\tCR_GOAL_LEN_FAST = 1,\n\tCR_BEST_AVAIL_LEN = 2,\n\tCR_GOAL_LEN_SLOW = 3,\n\tCR_ANY_FREE = 4,\n\tEXT4_MB_NUM_CRS = 5,\n};\n\nenum cti_port_type {\n\tCTI_PORT_TYPE_NONE = 0,\n\tCTI_PORT_TYPE_RS232 = 1,\n\tCTI_PORT_TYPE_RS422_485 = 2,\n\tCTI_PORT_TYPE_RS232_422_485_HW = 3,\n\tCTI_PORT_TYPE_RS232_422_485_SW = 4,\n\tCTI_PORT_TYPE_RS232_422_485_4B = 5,\n\tCTI_PORT_TYPE_RS232_422_485_2B = 6,\n\tCTI_PORT_TYPE_MAX = 7,\n};\n\nenum ctx_state {\n\tCT_STATE_DISABLED = -1,\n\tCT_STATE_KERNEL = 0,\n\tCT_STATE_IDLE = 1,\n\tCT_STATE_USER = 2,\n\tCT_STATE_GUEST = 3,\n\tCT_STATE_MAX = 4,\n};\n\nenum cuc_dump {\n\tcuc_dump_complete = 40965,\n\tcuc_dump_reset_complete = 40967,\n};\n\nenum d_real_type {\n\tD_REAL_DATA = 0,\n\tD_REAL_METADATA = 1,\n};\n\nenum d_walk_ret {\n\tD_WALK_CONTINUE = 0,\n\tD_WALK_QUIT = 1,\n\tD_WALK_NORETRY = 2,\n\tD_WALK_SKIP = 3,\n};\n\nenum data_formats {\n\tDATA_FMT_DIGEST = 0,\n\tDATA_FMT_DIGEST_WITH_ALGO = 1,\n\tDATA_FMT_DIGEST_WITH_TYPE_AND_ALGO = 2,\n\tDATA_FMT_STRING = 3,\n\tDATA_FMT_HEX = 4,\n\tDATA_FMT_UINT = 5,\n};\n\nenum dax_access_mode {\n\tDAX_ACCESS = 0,\n\tDAX_RECOVERY_WRITE = 1,\n};\n\nenum dax_device_flags {\n\tDAXDEV_ALIVE = 0,\n\tDAXDEV_WRITE_CACHE = 1,\n\tDAXDEV_SYNC = 2,\n\tDAXDEV_NOCACHE = 3,\n\tDAXDEV_NOMC = 4,\n};\n\nenum dax_driver_type {\n\tDAXDRV_KMEM_TYPE = 0,\n\tDAXDRV_DEVICE_TYPE = 1,\n};\n\nenum dax_wake_mode {\n\tWAKE_ALL = 0,\n\tWAKE_NEXT = 1,\n};\n\nenum dbgfs_get_mode {\n\tDBGFS_GET_ALREADY = 0,\n\tDBGFS_GET_REGULAR = 1,\n\tDBGFS_GET_SHORT = 2,\n};\n\nenum dccp_state {\n\tDCCP_OPEN = 1,\n\tDCCP_REQUESTING = 2,\n\tDCCP_LISTEN = 10,\n\tDCCP_RESPOND = 3,\n\tDCCP_ACTIVE_CLOSEREQ = 4,\n\tDCCP_PASSIVE_CLOSE = 8,\n\tDCCP_CLOSING = 11,\n\tDCCP_TIME_WAIT = 6,\n\tDCCP_CLOSED = 7,\n\tDCCP_NEW_SYN_RECV = 12,\n\tDCCP_PARTOPEN = 14,\n\tDCCP_PASSIVE_CLOSEREQ = 15,\n\tDCCP_MAX_STATES = 16,\n};\n\nenum dd_data_dir {\n\tDD_READ = 0,\n\tDD_WRITE = 1,\n};\n\nenum dd_prio {\n\tDD_RT_PRIO = 0,\n\tDD_BE_PRIO = 1,\n\tDD_IDLE_PRIO = 2,\n\tDD_PRIO_MAX = 2,\n};\n\nenum ddc_type {\n\tddc_none = 0,\n\tddc_monid = 1,\n\tddc_dvi = 2,\n\tddc_vga = 3,\n\tddc_crt2 = 4,\n};\n\nenum dentry_d_lock_class {\n\tDENTRY_D_LOCK_NORMAL = 0,\n\tDENTRY_D_LOCK_NESTED = 1,\n};\n\nenum depot_counter_id {\n\tDEPOT_COUNTER_REFD_ALLOCS = 0,\n\tDEPOT_COUNTER_REFD_FREES = 1,\n\tDEPOT_COUNTER_REFD_INUSE = 2,\n\tDEPOT_COUNTER_FREELIST_SIZE = 3,\n\tDEPOT_COUNTER_PERSIST_COUNT = 4,\n\tDEPOT_COUNTER_PERSIST_BYTES = 5,\n\tDEPOT_COUNTER_COUNT = 6,\n};\n\nenum desc_state {\n\tdesc_miss = -1,\n\tdesc_reserved = 0,\n\tdesc_committed = 1,\n\tdesc_finalized = 2,\n\tdesc_reusable = 3,\n};\n\nenum dev_dma_attr {\n\tDEV_DMA_NOT_SUPPORTED = 0,\n\tDEV_DMA_NON_COHERENT = 1,\n\tDEV_DMA_COHERENT = 2,\n};\n\nenum dev_pm_qos_req_type {\n\tDEV_PM_QOS_RESUME_LATENCY = 1,\n\tDEV_PM_QOS_LATENCY_TOLERANCE = 2,\n\tDEV_PM_QOS_MIN_FREQUENCY = 3,\n\tDEV_PM_QOS_MAX_FREQUENCY = 4,\n\tDEV_PM_QOS_FLAGS = 5,\n};\n\nenum dev_prop_type {\n\tDEV_PROP_U8 = 0,\n\tDEV_PROP_U16 = 1,\n\tDEV_PROP_U32 = 2,\n\tDEV_PROP_U64 = 3,\n\tDEV_PROP_STRING = 4,\n\tDEV_PROP_REF = 5,\n};\n\nenum dev_type {\n\tDEV_UNKNOWN = 0,\n\tDEV_X1 = 1,\n\tDEV_X2 = 2,\n\tDEV_X4 = 3,\n\tDEV_X8 = 4,\n\tDEV_X16 = 5,\n\tDEV_X32 = 6,\n\tDEV_X64 = 7,\n};\n\nenum devcg_behavior {\n\tDEVCG_DEFAULT_NONE = 0,\n\tDEVCG_DEFAULT_ALLOW = 1,\n\tDEVCG_DEFAULT_DENY = 2,\n};\n\nenum device_link_state {\n\tDL_STATE_NONE = -1,\n\tDL_STATE_DORMANT = 0,\n\tDL_STATE_AVAILABLE = 1,\n\tDL_STATE_CONSUMER_PROBE = 2,\n\tDL_STATE_ACTIVE = 3,\n\tDL_STATE_SUPPLIER_UNBIND = 4,\n};\n\nenum device_physical_location_horizontal_position {\n\tDEVICE_HORI_POS_LEFT = 0,\n\tDEVICE_HORI_POS_CENTER = 1,\n\tDEVICE_HORI_POS_RIGHT = 2,\n};\n\nenum device_physical_location_panel {\n\tDEVICE_PANEL_TOP = 0,\n\tDEVICE_PANEL_BOTTOM = 1,\n\tDEVICE_PANEL_LEFT = 2,\n\tDEVICE_PANEL_RIGHT = 3,\n\tDEVICE_PANEL_FRONT = 4,\n\tDEVICE_PANEL_BACK = 5,\n\tDEVICE_PANEL_UNKNOWN = 6,\n};\n\nenum device_physical_location_vertical_position {\n\tDEVICE_VERT_POS_UPPER = 0,\n\tDEVICE_VERT_POS_CENTER = 1,\n\tDEVICE_VERT_POS_LOWER = 2,\n};\n\nenum device_removable {\n\tDEVICE_REMOVABLE_NOT_SUPPORTED = 0,\n\tDEVICE_REMOVABLE_UNKNOWN = 1,\n\tDEVICE_FIXED = 2,\n\tDEVICE_REMOVABLE = 3,\n};\n\nenum devkmsg_log_bits {\n\t__DEVKMSG_LOG_BIT_ON = 0,\n\t__DEVKMSG_LOG_BIT_OFF = 1,\n\t__DEVKMSG_LOG_BIT_LOCK = 2,\n};\n\nenum devkmsg_log_masks {\n\tDEVKMSG_LOG_MASK_ON = 1,\n\tDEVKMSG_LOG_MASK_OFF = 2,\n\tDEVKMSG_LOG_MASK_LOCK = 4,\n};\n\nenum devlink_attr {\n\tDEVLINK_ATTR_UNSPEC = 0,\n\tDEVLINK_ATTR_BUS_NAME = 1,\n\tDEVLINK_ATTR_DEV_NAME = 2,\n\tDEVLINK_ATTR_PORT_INDEX = 3,\n\tDEVLINK_ATTR_PORT_TYPE = 4,\n\tDEVLINK_ATTR_PORT_DESIRED_TYPE = 5,\n\tDEVLINK_ATTR_PORT_NETDEV_IFINDEX = 6,\n\tDEVLINK_ATTR_PORT_NETDEV_NAME = 7,\n\tDEVLINK_ATTR_PORT_IBDEV_NAME = 8,\n\tDEVLINK_ATTR_PORT_SPLIT_COUNT = 9,\n\tDEVLINK_ATTR_PORT_SPLIT_GROUP = 10,\n\tDEVLINK_ATTR_SB_INDEX = 11,\n\tDEVLINK_ATTR_SB_SIZE = 12,\n\tDEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 13,\n\tDEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 14,\n\tDEVLINK_ATTR_SB_INGRESS_TC_COUNT = 15,\n\tDEVLINK_ATTR_SB_EGRESS_TC_COUNT = 16,\n\tDEVLINK_ATTR_SB_POOL_INDEX = 17,\n\tDEVLINK_ATTR_SB_POOL_TYPE = 18,\n\tDEVLINK_ATTR_SB_POOL_SIZE = 19,\n\tDEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 20,\n\tDEVLINK_ATTR_SB_THRESHOLD = 21,\n\tDEVLINK_ATTR_SB_TC_INDEX = 22,\n\tDEVLINK_ATTR_SB_OCC_CUR = 23,\n\tDEVLINK_ATTR_SB_OCC_MAX = 24,\n\tDEVLINK_ATTR_ESWITCH_MODE = 25,\n\tDEVLINK_ATTR_ESWITCH_INLINE_MODE = 26,\n\tDEVLINK_ATTR_DPIPE_TABLES = 27,\n\tDEVLINK_ATTR_DPIPE_TABLE = 28,\n\tDEVLINK_ATTR_DPIPE_TABLE_NAME = 29,\n\tDEVLINK_ATTR_DPIPE_TABLE_SIZE = 30,\n\tDEVLINK_ATTR_DPIPE_TABLE_MATCHES = 31,\n\tDEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 32,\n\tDEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 33,\n\tDEVLINK_ATTR_DPIPE_ENTRIES = 34,\n\tDEVLINK_ATTR_DPIPE_ENTRY = 35,\n\tDEVLINK_ATTR_DPIPE_ENTRY_INDEX = 36,\n\tDEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 37,\n\tDEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 38,\n\tDEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 39,\n\tDEVLINK_ATTR_DPIPE_MATCH = 40,\n\tDEVLINK_ATTR_DPIPE_MATCH_VALUE = 41,\n\tDEVLINK_ATTR_DPIPE_MATCH_TYPE = 42,\n\tDEVLINK_ATTR_DPIPE_ACTION = 43,\n\tDEVLINK_ATTR_DPIPE_ACTION_VALUE = 44,\n\tDEVLINK_ATTR_DPIPE_ACTION_TYPE = 45,\n\tDEVLINK_ATTR_DPIPE_VALUE = 46,\n\tDEVLINK_ATTR_DPIPE_VALUE_MASK = 47,\n\tDEVLINK_ATTR_DPIPE_VALUE_MAPPING = 48,\n\tDEVLINK_ATTR_DPIPE_HEADERS = 49,\n\tDEVLINK_ATTR_DPIPE_HEADER = 50,\n\tDEVLINK_ATTR_DPIPE_HEADER_NAME = 51,\n\tDEVLINK_ATTR_DPIPE_HEADER_ID = 52,\n\tDEVLINK_ATTR_DPIPE_HEADER_FIELDS = 53,\n\tDEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 54,\n\tDEVLINK_ATTR_DPIPE_HEADER_INDEX = 55,\n\tDEVLINK_ATTR_DPIPE_FIELD = 56,\n\tDEVLINK_ATTR_DPIPE_FIELD_NAME = 57,\n\tDEVLINK_ATTR_DPIPE_FIELD_ID = 58,\n\tDEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 59,\n\tDEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 60,\n\tDEVLINK_ATTR_PAD = 61,\n\tDEVLINK_ATTR_ESWITCH_ENCAP_MODE = 62,\n\tDEVLINK_ATTR_RESOURCE_LIST = 63,\n\tDEVLINK_ATTR_RESOURCE = 64,\n\tDEVLINK_ATTR_RESOURCE_NAME = 65,\n\tDEVLINK_ATTR_RESOURCE_ID = 66,\n\tDEVLINK_ATTR_RESOURCE_SIZE = 67,\n\tDEVLINK_ATTR_RESOURCE_SIZE_NEW = 68,\n\tDEVLINK_ATTR_RESOURCE_SIZE_VALID = 69,\n\tDEVLINK_ATTR_RESOURCE_SIZE_MIN = 70,\n\tDEVLINK_ATTR_RESOURCE_SIZE_MAX = 71,\n\tDEVLINK_ATTR_RESOURCE_SIZE_GRAN = 72,\n\tDEVLINK_ATTR_RESOURCE_UNIT = 73,\n\tDEVLINK_ATTR_RESOURCE_OCC = 74,\n\tDEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID = 75,\n\tDEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS = 76,\n\tDEVLINK_ATTR_PORT_FLAVOUR = 77,\n\tDEVLINK_ATTR_PORT_NUMBER = 78,\n\tDEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER = 79,\n\tDEVLINK_ATTR_PARAM = 80,\n\tDEVLINK_ATTR_PARAM_NAME = 81,\n\tDEVLINK_ATTR_PARAM_GENERIC = 82,\n\tDEVLINK_ATTR_PARAM_TYPE = 83,\n\tDEVLINK_ATTR_PARAM_VALUES_LIST = 84,\n\tDEVLINK_ATTR_PARAM_VALUE = 85,\n\tDEVLINK_ATTR_PARAM_VALUE_DATA = 86,\n\tDEVLINK_ATTR_PARAM_VALUE_CMODE = 87,\n\tDEVLINK_ATTR_REGION_NAME = 88,\n\tDEVLINK_ATTR_REGION_SIZE = 89,\n\tDEVLINK_ATTR_REGION_SNAPSHOTS = 90,\n\tDEVLINK_ATTR_REGION_SNAPSHOT = 91,\n\tDEVLINK_ATTR_REGION_SNAPSHOT_ID = 92,\n\tDEVLINK_ATTR_REGION_CHUNKS = 93,\n\tDEVLINK_ATTR_REGION_CHUNK = 94,\n\tDEVLINK_ATTR_REGION_CHUNK_DATA = 95,\n\tDEVLINK_ATTR_REGION_CHUNK_ADDR = 96,\n\tDEVLINK_ATTR_REGION_CHUNK_LEN = 97,\n\tDEVLINK_ATTR_INFO_DRIVER_NAME = 98,\n\tDEVLINK_ATTR_INFO_SERIAL_NUMBER = 99,\n\tDEVLINK_ATTR_INFO_VERSION_FIXED = 100,\n\tDEVLINK_ATTR_INFO_VERSION_RUNNING = 101,\n\tDEVLINK_ATTR_INFO_VERSION_STORED = 102,\n\tDEVLINK_ATTR_INFO_VERSION_NAME = 103,\n\tDEVLINK_ATTR_INFO_VERSION_VALUE = 104,\n\tDEVLINK_ATTR_SB_POOL_CELL_SIZE = 105,\n\tDEVLINK_ATTR_FMSG = 106,\n\tDEVLINK_ATTR_FMSG_OBJ_NEST_START = 107,\n\tDEVLINK_ATTR_FMSG_PAIR_NEST_START = 108,\n\tDEVLINK_ATTR_FMSG_ARR_NEST_START = 109,\n\tDEVLINK_ATTR_FMSG_NEST_END = 110,\n\tDEVLINK_ATTR_FMSG_OBJ_NAME = 111,\n\tDEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE = 112,\n\tDEVLINK_ATTR_FMSG_OBJ_VALUE_DATA = 113,\n\tDEVLINK_ATTR_HEALTH_REPORTER = 114,\n\tDEVLINK_ATTR_HEALTH_REPORTER_NAME = 115,\n\tDEVLINK_ATTR_HEALTH_REPORTER_STATE = 116,\n\tDEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT = 117,\n\tDEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT = 118,\n\tDEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS = 119,\n\tDEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD = 120,\n\tDEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER = 121,\n\tDEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = 122,\n\tDEVLINK_ATTR_FLASH_UPDATE_COMPONENT = 123,\n\tDEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG = 124,\n\tDEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE = 125,\n\tDEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL = 126,\n\tDEVLINK_ATTR_PORT_PCI_PF_NUMBER = 127,\n\tDEVLINK_ATTR_PORT_PCI_VF_NUMBER = 128,\n\tDEVLINK_ATTR_STATS = 129,\n\tDEVLINK_ATTR_TRAP_NAME = 130,\n\tDEVLINK_ATTR_TRAP_ACTION = 131,\n\tDEVLINK_ATTR_TRAP_TYPE = 132,\n\tDEVLINK_ATTR_TRAP_GENERIC = 133,\n\tDEVLINK_ATTR_TRAP_METADATA = 134,\n\tDEVLINK_ATTR_TRAP_GROUP_NAME = 135,\n\tDEVLINK_ATTR_RELOAD_FAILED = 136,\n\tDEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS = 137,\n\tDEVLINK_ATTR_NETNS_FD = 138,\n\tDEVLINK_ATTR_NETNS_PID = 139,\n\tDEVLINK_ATTR_NETNS_ID = 140,\n\tDEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP = 141,\n\tDEVLINK_ATTR_TRAP_POLICER_ID = 142,\n\tDEVLINK_ATTR_TRAP_POLICER_RATE = 143,\n\tDEVLINK_ATTR_TRAP_POLICER_BURST = 144,\n\tDEVLINK_ATTR_PORT_FUNCTION = 145,\n\tDEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER = 146,\n\tDEVLINK_ATTR_PORT_LANES = 147,\n\tDEVLINK_ATTR_PORT_SPLITTABLE = 148,\n\tDEVLINK_ATTR_PORT_EXTERNAL = 149,\n\tDEVLINK_ATTR_PORT_CONTROLLER_NUMBER = 150,\n\tDEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT = 151,\n\tDEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = 152,\n\tDEVLINK_ATTR_RELOAD_ACTION = 153,\n\tDEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED = 154,\n\tDEVLINK_ATTR_RELOAD_LIMITS = 155,\n\tDEVLINK_ATTR_DEV_STATS = 156,\n\tDEVLINK_ATTR_RELOAD_STATS = 157,\n\tDEVLINK_ATTR_RELOAD_STATS_ENTRY = 158,\n\tDEVLINK_ATTR_RELOAD_STATS_LIMIT = 159,\n\tDEVLINK_ATTR_RELOAD_STATS_VALUE = 160,\n\tDEVLINK_ATTR_REMOTE_RELOAD_STATS = 161,\n\tDEVLINK_ATTR_RELOAD_ACTION_INFO = 162,\n\tDEVLINK_ATTR_RELOAD_ACTION_STATS = 163,\n\tDEVLINK_ATTR_PORT_PCI_SF_NUMBER = 164,\n\tDEVLINK_ATTR_RATE_TYPE = 165,\n\tDEVLINK_ATTR_RATE_TX_SHARE = 166,\n\tDEVLINK_ATTR_RATE_TX_MAX = 167,\n\tDEVLINK_ATTR_RATE_NODE_NAME = 168,\n\tDEVLINK_ATTR_RATE_PARENT_NODE_NAME = 169,\n\tDEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 170,\n\tDEVLINK_ATTR_LINECARD_INDEX = 171,\n\tDEVLINK_ATTR_LINECARD_STATE = 172,\n\tDEVLINK_ATTR_LINECARD_TYPE = 173,\n\tDEVLINK_ATTR_LINECARD_SUPPORTED_TYPES = 174,\n\tDEVLINK_ATTR_NESTED_DEVLINK = 175,\n\tDEVLINK_ATTR_SELFTESTS = 176,\n\tDEVLINK_ATTR_RATE_TX_PRIORITY = 177,\n\tDEVLINK_ATTR_RATE_TX_WEIGHT = 178,\n\tDEVLINK_ATTR_REGION_DIRECT = 179,\n\t__DEVLINK_ATTR_MAX = 180,\n\tDEVLINK_ATTR_MAX = 179,\n};\n\nenum devlink_attr_selftest_id {\n\tDEVLINK_ATTR_SELFTEST_ID_UNSPEC = 0,\n\tDEVLINK_ATTR_SELFTEST_ID_FLASH = 1,\n\t__DEVLINK_ATTR_SELFTEST_ID_MAX = 2,\n\tDEVLINK_ATTR_SELFTEST_ID_MAX = 1,\n};\n\nenum devlink_attr_selftest_result {\n\tDEVLINK_ATTR_SELFTEST_RESULT_UNSPEC = 0,\n\tDEVLINK_ATTR_SELFTEST_RESULT = 1,\n\tDEVLINK_ATTR_SELFTEST_RESULT_ID = 2,\n\tDEVLINK_ATTR_SELFTEST_RESULT_STATUS = 3,\n\t__DEVLINK_ATTR_SELFTEST_RESULT_MAX = 4,\n\tDEVLINK_ATTR_SELFTEST_RESULT_MAX = 3,\n};\n\nenum devlink_command {\n\tDEVLINK_CMD_UNSPEC = 0,\n\tDEVLINK_CMD_GET = 1,\n\tDEVLINK_CMD_SET = 2,\n\tDEVLINK_CMD_NEW = 3,\n\tDEVLINK_CMD_DEL = 4,\n\tDEVLINK_CMD_PORT_GET = 5,\n\tDEVLINK_CMD_PORT_SET = 6,\n\tDEVLINK_CMD_PORT_NEW = 7,\n\tDEVLINK_CMD_PORT_DEL = 8,\n\tDEVLINK_CMD_PORT_SPLIT = 9,\n\tDEVLINK_CMD_PORT_UNSPLIT = 10,\n\tDEVLINK_CMD_SB_GET = 11,\n\tDEVLINK_CMD_SB_SET = 12,\n\tDEVLINK_CMD_SB_NEW = 13,\n\tDEVLINK_CMD_SB_DEL = 14,\n\tDEVLINK_CMD_SB_POOL_GET = 15,\n\tDEVLINK_CMD_SB_POOL_SET = 16,\n\tDEVLINK_CMD_SB_POOL_NEW = 17,\n\tDEVLINK_CMD_SB_POOL_DEL = 18,\n\tDEVLINK_CMD_SB_PORT_POOL_GET = 19,\n\tDEVLINK_CMD_SB_PORT_POOL_SET = 20,\n\tDEVLINK_CMD_SB_PORT_POOL_NEW = 21,\n\tDEVLINK_CMD_SB_PORT_POOL_DEL = 22,\n\tDEVLINK_CMD_SB_TC_POOL_BIND_GET = 23,\n\tDEVLINK_CMD_SB_TC_POOL_BIND_SET = 24,\n\tDEVLINK_CMD_SB_TC_POOL_BIND_NEW = 25,\n\tDEVLINK_CMD_SB_TC_POOL_BIND_DEL = 26,\n\tDEVLINK_CMD_SB_OCC_SNAPSHOT = 27,\n\tDEVLINK_CMD_SB_OCC_MAX_CLEAR = 28,\n\tDEVLINK_CMD_ESWITCH_GET = 29,\n\tDEVLINK_CMD_ESWITCH_SET = 30,\n\tDEVLINK_CMD_DPIPE_TABLE_GET = 31,\n\tDEVLINK_CMD_DPIPE_ENTRIES_GET = 32,\n\tDEVLINK_CMD_DPIPE_HEADERS_GET = 33,\n\tDEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 34,\n\tDEVLINK_CMD_RESOURCE_SET = 35,\n\tDEVLINK_CMD_RESOURCE_DUMP = 36,\n\tDEVLINK_CMD_RELOAD = 37,\n\tDEVLINK_CMD_PARAM_GET = 38,\n\tDEVLINK_CMD_PARAM_SET = 39,\n\tDEVLINK_CMD_PARAM_NEW = 40,\n\tDEVLINK_CMD_PARAM_DEL = 41,\n\tDEVLINK_CMD_REGION_GET = 42,\n\tDEVLINK_CMD_REGION_SET = 43,\n\tDEVLINK_CMD_REGION_NEW = 44,\n\tDEVLINK_CMD_REGION_DEL = 45,\n\tDEVLINK_CMD_REGION_READ = 46,\n\tDEVLINK_CMD_PORT_PARAM_GET = 47,\n\tDEVLINK_CMD_PORT_PARAM_SET = 48,\n\tDEVLINK_CMD_PORT_PARAM_NEW = 49,\n\tDEVLINK_CMD_PORT_PARAM_DEL = 50,\n\tDEVLINK_CMD_INFO_GET = 51,\n\tDEVLINK_CMD_HEALTH_REPORTER_GET = 52,\n\tDEVLINK_CMD_HEALTH_REPORTER_SET = 53,\n\tDEVLINK_CMD_HEALTH_REPORTER_RECOVER = 54,\n\tDEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE = 55,\n\tDEVLINK_CMD_HEALTH_REPORTER_DUMP_GET = 56,\n\tDEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR = 57,\n\tDEVLINK_CMD_FLASH_UPDATE = 58,\n\tDEVLINK_CMD_FLASH_UPDATE_END = 59,\n\tDEVLINK_CMD_FLASH_UPDATE_STATUS = 60,\n\tDEVLINK_CMD_TRAP_GET = 61,\n\tDEVLINK_CMD_TRAP_SET = 62,\n\tDEVLINK_CMD_TRAP_NEW = 63,\n\tDEVLINK_CMD_TRAP_DEL = 64,\n\tDEVLINK_CMD_TRAP_GROUP_GET = 65,\n\tDEVLINK_CMD_TRAP_GROUP_SET = 66,\n\tDEVLINK_CMD_TRAP_GROUP_NEW = 67,\n\tDEVLINK_CMD_TRAP_GROUP_DEL = 68,\n\tDEVLINK_CMD_TRAP_POLICER_GET = 69,\n\tDEVLINK_CMD_TRAP_POLICER_SET = 70,\n\tDEVLINK_CMD_TRAP_POLICER_NEW = 71,\n\tDEVLINK_CMD_TRAP_POLICER_DEL = 72,\n\tDEVLINK_CMD_HEALTH_REPORTER_TEST = 73,\n\tDEVLINK_CMD_RATE_GET = 74,\n\tDEVLINK_CMD_RATE_SET = 75,\n\tDEVLINK_CMD_RATE_NEW = 76,\n\tDEVLINK_CMD_RATE_DEL = 77,\n\tDEVLINK_CMD_LINECARD_GET = 78,\n\tDEVLINK_CMD_LINECARD_SET = 79,\n\tDEVLINK_CMD_LINECARD_NEW = 80,\n\tDEVLINK_CMD_LINECARD_DEL = 81,\n\tDEVLINK_CMD_SELFTESTS_GET = 82,\n\tDEVLINK_CMD_SELFTESTS_RUN = 83,\n\tDEVLINK_CMD_NOTIFY_FILTER_SET = 84,\n\t__DEVLINK_CMD_MAX = 85,\n\tDEVLINK_CMD_MAX = 84,\n};\n\nenum devlink_dpipe_action_type {\n\tDEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0,\n};\n\nenum devlink_dpipe_field_ethernet_id {\n\tDEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0,\n};\n\nenum devlink_dpipe_field_ipv4_id {\n\tDEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0,\n};\n\nenum devlink_dpipe_field_ipv6_id {\n\tDEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0,\n};\n\nenum devlink_dpipe_field_mapping_type {\n\tDEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0,\n\tDEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 1,\n};\n\nenum devlink_dpipe_header_id {\n\tDEVLINK_DPIPE_HEADER_ETHERNET = 0,\n\tDEVLINK_DPIPE_HEADER_IPV4 = 1,\n\tDEVLINK_DPIPE_HEADER_IPV6 = 2,\n};\n\nenum devlink_dpipe_match_type {\n\tDEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0,\n};\n\nenum devlink_eswitch_encap_mode {\n\tDEVLINK_ESWITCH_ENCAP_MODE_NONE = 0,\n\tDEVLINK_ESWITCH_ENCAP_MODE_BASIC = 1,\n};\n\nenum devlink_health_reporter_state {\n\tDEVLINK_HEALTH_REPORTER_STATE_HEALTHY = 0,\n\tDEVLINK_HEALTH_REPORTER_STATE_ERROR = 1,\n};\n\nenum devlink_info_version_type {\n\tDEVLINK_INFO_VERSION_TYPE_NONE = 0,\n\tDEVLINK_INFO_VERSION_TYPE_COMPONENT = 1,\n};\n\nenum devlink_linecard_state {\n\tDEVLINK_LINECARD_STATE_UNSPEC = 0,\n\tDEVLINK_LINECARD_STATE_UNPROVISIONED = 1,\n\tDEVLINK_LINECARD_STATE_UNPROVISIONING = 2,\n\tDEVLINK_LINECARD_STATE_PROVISIONING = 3,\n\tDEVLINK_LINECARD_STATE_PROVISIONING_FAILED = 4,\n\tDEVLINK_LINECARD_STATE_PROVISIONED = 5,\n\tDEVLINK_LINECARD_STATE_ACTIVE = 6,\n\t__DEVLINK_LINECARD_STATE_MAX = 7,\n\tDEVLINK_LINECARD_STATE_MAX = 6,\n};\n\nenum devlink_multicast_groups {\n\tDEVLINK_MCGRP_CONFIG = 0,\n};\n\nenum devlink_param_cmode {\n\tDEVLINK_PARAM_CMODE_RUNTIME = 0,\n\tDEVLINK_PARAM_CMODE_DRIVERINIT = 1,\n\tDEVLINK_PARAM_CMODE_PERMANENT = 2,\n\t__DEVLINK_PARAM_CMODE_MAX = 3,\n\tDEVLINK_PARAM_CMODE_MAX = 2,\n};\n\nenum devlink_param_generic_id {\n\tDEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET = 0,\n\tDEVLINK_PARAM_GENERIC_ID_MAX_MACS = 1,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_SRIOV = 2,\n\tDEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT = 3,\n\tDEVLINK_PARAM_GENERIC_ID_IGNORE_ARI = 4,\n\tDEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MAX = 5,\n\tDEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MIN = 6,\n\tDEVLINK_PARAM_GENERIC_ID_FW_LOAD_POLICY = 7,\n\tDEVLINK_PARAM_GENERIC_ID_RESET_DEV_ON_DRV_PROBE = 8,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE = 9,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_REMOTE_DEV_RESET = 10,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_ETH = 11,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_RDMA = 12,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_VNET = 13,\n\tDEVLINK_PARAM_GENERIC_ID_ENABLE_IWARP = 14,\n\tDEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE = 15,\n\tDEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE = 16,\n\t__DEVLINK_PARAM_GENERIC_ID_MAX = 17,\n\tDEVLINK_PARAM_GENERIC_ID_MAX = 16,\n};\n\nenum devlink_param_type {\n\tDEVLINK_PARAM_TYPE_U8 = 0,\n\tDEVLINK_PARAM_TYPE_U16 = 1,\n\tDEVLINK_PARAM_TYPE_U32 = 2,\n\tDEVLINK_PARAM_TYPE_STRING = 3,\n\tDEVLINK_PARAM_TYPE_BOOL = 4,\n};\n\nenum devlink_port_flavour {\n\tDEVLINK_PORT_FLAVOUR_PHYSICAL = 0,\n\tDEVLINK_PORT_FLAVOUR_CPU = 1,\n\tDEVLINK_PORT_FLAVOUR_DSA = 2,\n\tDEVLINK_PORT_FLAVOUR_PCI_PF = 3,\n\tDEVLINK_PORT_FLAVOUR_PCI_VF = 4,\n\tDEVLINK_PORT_FLAVOUR_VIRTUAL = 5,\n\tDEVLINK_PORT_FLAVOUR_UNUSED = 6,\n\tDEVLINK_PORT_FLAVOUR_PCI_SF = 7,\n};\n\nenum devlink_port_fn_attr_cap {\n\tDEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT = 0,\n\tDEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT = 1,\n\tDEVLINK_PORT_FN_ATTR_CAP_IPSEC_CRYPTO_BIT = 2,\n\tDEVLINK_PORT_FN_ATTR_CAP_IPSEC_PACKET_BIT = 3,\n\t__DEVLINK_PORT_FN_ATTR_CAPS_MAX = 4,\n};\n\nenum devlink_port_fn_opstate {\n\tDEVLINK_PORT_FN_OPSTATE_DETACHED = 0,\n\tDEVLINK_PORT_FN_OPSTATE_ATTACHED = 1,\n};\n\nenum devlink_port_fn_state {\n\tDEVLINK_PORT_FN_STATE_INACTIVE = 0,\n\tDEVLINK_PORT_FN_STATE_ACTIVE = 1,\n};\n\nenum devlink_port_function_attr {\n\tDEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0,\n\tDEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 1,\n\tDEVLINK_PORT_FN_ATTR_STATE = 2,\n\tDEVLINK_PORT_FN_ATTR_OPSTATE = 3,\n\tDEVLINK_PORT_FN_ATTR_CAPS = 4,\n\tDEVLINK_PORT_FN_ATTR_DEVLINK = 5,\n\tDEVLINK_PORT_FN_ATTR_MAX_IO_EQS = 6,\n\t__DEVLINK_PORT_FUNCTION_ATTR_MAX = 7,\n\tDEVLINK_PORT_FUNCTION_ATTR_MAX = 6,\n};\n\nenum devlink_port_type {\n\tDEVLINK_PORT_TYPE_NOTSET = 0,\n\tDEVLINK_PORT_TYPE_AUTO = 1,\n\tDEVLINK_PORT_TYPE_ETH = 2,\n\tDEVLINK_PORT_TYPE_IB = 3,\n};\n\nenum devlink_rate_type {\n\tDEVLINK_RATE_TYPE_LEAF = 0,\n\tDEVLINK_RATE_TYPE_NODE = 1,\n};\n\nenum devlink_reload_action {\n\tDEVLINK_RELOAD_ACTION_UNSPEC = 0,\n\tDEVLINK_RELOAD_ACTION_DRIVER_REINIT = 1,\n\tDEVLINK_RELOAD_ACTION_FW_ACTIVATE = 2,\n\t__DEVLINK_RELOAD_ACTION_MAX = 3,\n\tDEVLINK_RELOAD_ACTION_MAX = 2,\n};\n\nenum devlink_reload_limit {\n\tDEVLINK_RELOAD_LIMIT_UNSPEC = 0,\n\tDEVLINK_RELOAD_LIMIT_NO_RESET = 1,\n\t__DEVLINK_RELOAD_LIMIT_MAX = 2,\n\tDEVLINK_RELOAD_LIMIT_MAX = 1,\n};\n\nenum devlink_resource_unit {\n\tDEVLINK_RESOURCE_UNIT_ENTRY = 0,\n};\n\nenum devlink_sb_pool_type {\n\tDEVLINK_SB_POOL_TYPE_INGRESS = 0,\n\tDEVLINK_SB_POOL_TYPE_EGRESS = 1,\n};\n\nenum devlink_sb_threshold_type {\n\tDEVLINK_SB_THRESHOLD_TYPE_STATIC = 0,\n\tDEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 1,\n};\n\nenum devlink_selftest_status {\n\tDEVLINK_SELFTEST_STATUS_SKIP = 0,\n\tDEVLINK_SELFTEST_STATUS_PASS = 1,\n\tDEVLINK_SELFTEST_STATUS_FAIL = 2,\n};\n\nenum devlink_trap_action {\n\tDEVLINK_TRAP_ACTION_DROP = 0,\n\tDEVLINK_TRAP_ACTION_TRAP = 1,\n\tDEVLINK_TRAP_ACTION_MIRROR = 2,\n};\n\nenum devlink_trap_generic_id {\n\tDEVLINK_TRAP_GENERIC_ID_SMAC_MC = 0,\n\tDEVLINK_TRAP_GENERIC_ID_VLAN_TAG_MISMATCH = 1,\n\tDEVLINK_TRAP_GENERIC_ID_INGRESS_VLAN_FILTER = 2,\n\tDEVLINK_TRAP_GENERIC_ID_INGRESS_STP_FILTER = 3,\n\tDEVLINK_TRAP_GENERIC_ID_EMPTY_TX_LIST = 4,\n\tDEVLINK_TRAP_GENERIC_ID_PORT_LOOPBACK_FILTER = 5,\n\tDEVLINK_TRAP_GENERIC_ID_BLACKHOLE_ROUTE = 6,\n\tDEVLINK_TRAP_GENERIC_ID_TTL_ERROR = 7,\n\tDEVLINK_TRAP_GENERIC_ID_TAIL_DROP = 8,\n\tDEVLINK_TRAP_GENERIC_ID_NON_IP_PACKET = 9,\n\tDEVLINK_TRAP_GENERIC_ID_UC_DIP_MC_DMAC = 10,\n\tDEVLINK_TRAP_GENERIC_ID_DIP_LB = 11,\n\tDEVLINK_TRAP_GENERIC_ID_SIP_MC = 12,\n\tDEVLINK_TRAP_GENERIC_ID_SIP_LB = 13,\n\tDEVLINK_TRAP_GENERIC_ID_CORRUPTED_IP_HDR = 14,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_SIP_BC = 15,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_MC_DIP_RESERVED_SCOPE = 16,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_MC_DIP_INTERFACE_LOCAL_SCOPE = 17,\n\tDEVLINK_TRAP_GENERIC_ID_MTU_ERROR = 18,\n\tDEVLINK_TRAP_GENERIC_ID_UNRESOLVED_NEIGH = 19,\n\tDEVLINK_TRAP_GENERIC_ID_RPF = 20,\n\tDEVLINK_TRAP_GENERIC_ID_REJECT_ROUTE = 21,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_LPM_UNICAST_MISS = 22,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_LPM_UNICAST_MISS = 23,\n\tDEVLINK_TRAP_GENERIC_ID_NON_ROUTABLE = 24,\n\tDEVLINK_TRAP_GENERIC_ID_DECAP_ERROR = 25,\n\tDEVLINK_TRAP_GENERIC_ID_OVERLAY_SMAC_MC = 26,\n\tDEVLINK_TRAP_GENERIC_ID_INGRESS_FLOW_ACTION_DROP = 27,\n\tDEVLINK_TRAP_GENERIC_ID_EGRESS_FLOW_ACTION_DROP = 28,\n\tDEVLINK_TRAP_GENERIC_ID_STP = 29,\n\tDEVLINK_TRAP_GENERIC_ID_LACP = 30,\n\tDEVLINK_TRAP_GENERIC_ID_LLDP = 31,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_QUERY = 32,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_V1_REPORT = 33,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_V2_REPORT = 34,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_V3_REPORT = 35,\n\tDEVLINK_TRAP_GENERIC_ID_IGMP_V2_LEAVE = 36,\n\tDEVLINK_TRAP_GENERIC_ID_MLD_QUERY = 37,\n\tDEVLINK_TRAP_GENERIC_ID_MLD_V1_REPORT = 38,\n\tDEVLINK_TRAP_GENERIC_ID_MLD_V2_REPORT = 39,\n\tDEVLINK_TRAP_GENERIC_ID_MLD_V1_DONE = 40,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_DHCP = 41,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_DHCP = 42,\n\tDEVLINK_TRAP_GENERIC_ID_ARP_REQUEST = 43,\n\tDEVLINK_TRAP_GENERIC_ID_ARP_RESPONSE = 44,\n\tDEVLINK_TRAP_GENERIC_ID_ARP_OVERLAY = 45,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_NEIGH_SOLICIT = 46,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_NEIGH_ADVERT = 47,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_BFD = 48,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_BFD = 49,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_OSPF = 50,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_OSPF = 51,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_BGP = 52,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_BGP = 53,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_VRRP = 54,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_VRRP = 55,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_PIM = 56,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_PIM = 57,\n\tDEVLINK_TRAP_GENERIC_ID_UC_LB = 58,\n\tDEVLINK_TRAP_GENERIC_ID_LOCAL_ROUTE = 59,\n\tDEVLINK_TRAP_GENERIC_ID_EXTERNAL_ROUTE = 60,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_UC_DIP_LINK_LOCAL_SCOPE = 61,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_DIP_ALL_NODES = 62,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_DIP_ALL_ROUTERS = 63,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_SOLICIT = 64,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_ADVERT = 65,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_REDIRECT = 66,\n\tDEVLINK_TRAP_GENERIC_ID_IPV4_ROUTER_ALERT = 67,\n\tDEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_ALERT = 68,\n\tDEVLINK_TRAP_GENERIC_ID_PTP_EVENT = 69,\n\tDEVLINK_TRAP_GENERIC_ID_PTP_GENERAL = 70,\n\tDEVLINK_TRAP_GENERIC_ID_FLOW_ACTION_SAMPLE = 71,\n\tDEVLINK_TRAP_GENERIC_ID_FLOW_ACTION_TRAP = 72,\n\tDEVLINK_TRAP_GENERIC_ID_EARLY_DROP = 73,\n\tDEVLINK_TRAP_GENERIC_ID_VXLAN_PARSING = 74,\n\tDEVLINK_TRAP_GENERIC_ID_LLC_SNAP_PARSING = 75,\n\tDEVLINK_TRAP_GENERIC_ID_VLAN_PARSING = 76,\n\tDEVLINK_TRAP_GENERIC_ID_PPPOE_PPP_PARSING = 77,\n\tDEVLINK_TRAP_GENERIC_ID_MPLS_PARSING = 78,\n\tDEVLINK_TRAP_GENERIC_ID_ARP_PARSING = 79,\n\tDEVLINK_TRAP_GENERIC_ID_IP_1_PARSING = 80,\n\tDEVLINK_TRAP_GENERIC_ID_IP_N_PARSING = 81,\n\tDEVLINK_TRAP_GENERIC_ID_GRE_PARSING = 82,\n\tDEVLINK_TRAP_GENERIC_ID_UDP_PARSING = 83,\n\tDEVLINK_TRAP_GENERIC_ID_TCP_PARSING = 84,\n\tDEVLINK_TRAP_GENERIC_ID_IPSEC_PARSING = 85,\n\tDEVLINK_TRAP_GENERIC_ID_SCTP_PARSING = 86,\n\tDEVLINK_TRAP_GENERIC_ID_DCCP_PARSING = 87,\n\tDEVLINK_TRAP_GENERIC_ID_GTP_PARSING = 88,\n\tDEVLINK_TRAP_GENERIC_ID_ESP_PARSING = 89,\n\tDEVLINK_TRAP_GENERIC_ID_BLACKHOLE_NEXTHOP = 90,\n\tDEVLINK_TRAP_GENERIC_ID_DMAC_FILTER = 91,\n\tDEVLINK_TRAP_GENERIC_ID_EAPOL = 92,\n\tDEVLINK_TRAP_GENERIC_ID_LOCKED_PORT = 93,\n\t__DEVLINK_TRAP_GENERIC_ID_MAX = 94,\n\tDEVLINK_TRAP_GENERIC_ID_MAX = 93,\n};\n\nenum devlink_trap_group_generic_id {\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_L2_DROPS = 0,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_L3_DROPS = 1,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_L3_EXCEPTIONS = 2,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_BUFFER_DROPS = 3,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_TUNNEL_DROPS = 4,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_ACL_DROPS = 5,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_STP = 6,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_LACP = 7,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_LLDP = 8,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_MC_SNOOPING = 9,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_DHCP = 10,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_NEIGH_DISCOVERY = 11,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_BFD = 12,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_OSPF = 13,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_BGP = 14,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_VRRP = 15,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_PIM = 16,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_UC_LB = 17,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_LOCAL_DELIVERY = 18,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_EXTERNAL_DELIVERY = 19,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_IPV6 = 20,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_PTP_EVENT = 21,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_PTP_GENERAL = 22,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_ACL_SAMPLE = 23,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_ACL_TRAP = 24,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_PARSER_ERROR_DROPS = 25,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_EAPOL = 26,\n\t__DEVLINK_TRAP_GROUP_GENERIC_ID_MAX = 27,\n\tDEVLINK_TRAP_GROUP_GENERIC_ID_MAX = 26,\n};\n\nenum devlink_trap_type {\n\tDEVLINK_TRAP_TYPE_DROP = 0,\n\tDEVLINK_TRAP_TYPE_EXCEPTION = 1,\n\tDEVLINK_TRAP_TYPE_CONTROL = 2,\n};\n\nenum devm_ioremap_type {\n\tDEVM_IOREMAP = 0,\n\tDEVM_IOREMAP_UC = 1,\n\tDEVM_IOREMAP_WC = 2,\n\tDEVM_IOREMAP_NP = 3,\n};\n\nenum die_val {\n\tDIE_OOPS = 1,\n\tDIE_IABR_MATCH = 2,\n\tDIE_DABR_MATCH = 3,\n\tDIE_BPT = 4,\n\tDIE_SSTEP = 5,\n};\n\nenum digest_type {\n\tDIGEST_TYPE_IMA = 0,\n\tDIGEST_TYPE_VERITY = 1,\n\tDIGEST_TYPE__LAST = 2,\n};\n\nenum dim_cq_period_mode {\n\tDIM_CQ_PERIOD_MODE_START_FROM_EQE = 0,\n\tDIM_CQ_PERIOD_MODE_START_FROM_CQE = 1,\n\tDIM_CQ_PERIOD_NUM_MODES = 2,\n};\n\nenum dim_state {\n\tDIM_START_MEASURE = 0,\n\tDIM_MEASURE_IN_PROGRESS = 1,\n\tDIM_APPLY_NEW_PROFILE = 2,\n};\n\nenum dim_stats_state {\n\tDIM_STATS_WORSE = 0,\n\tDIM_STATS_SAME = 1,\n\tDIM_STATS_BETTER = 2,\n};\n\nenum dim_step_result {\n\tDIM_STEPPED = 0,\n\tDIM_TOO_TIRED = 1,\n\tDIM_ON_EDGE = 2,\n};\n\nenum dim_tune_state {\n\tDIM_PARKING_ON_TOP = 0,\n\tDIM_PARKING_TIRED = 1,\n\tDIM_GOING_RIGHT = 2,\n\tDIM_GOING_LEFT = 3,\n};\n\nenum dl_bw_request {\n\tdl_bw_req_deactivate = 0,\n\tdl_bw_req_alloc = 1,\n\tdl_bw_req_free = 2,\n};\n\nenum dl_dev_state {\n\tDL_DEV_NO_DRIVER = 0,\n\tDL_DEV_PROBING = 1,\n\tDL_DEV_DRIVER_BOUND = 2,\n\tDL_DEV_UNBINDING = 3,\n};\n\nenum dl_param {\n\tDL_RUNTIME = 0,\n\tDL_PERIOD = 1,\n};\n\nenum dm_io_mem_type {\n\tDM_IO_PAGE_LIST = 0,\n\tDM_IO_BIO = 1,\n\tDM_IO_VMA = 2,\n\tDM_IO_KMEM = 3,\n};\n\nenum dm_queue_mode {\n\tDM_TYPE_NONE = 0,\n\tDM_TYPE_BIO_BASED = 1,\n\tDM_TYPE_REQUEST_BASED = 2,\n\tDM_TYPE_DAX_BIO_BASED = 3,\n};\n\nenum dm_uevent_type {\n\tDM_UEVENT_PATH_FAILED = 0,\n\tDM_UEVENT_PATH_REINSTATED = 1,\n};\n\nenum dma_ctrl_flags {\n\tDMA_PREP_INTERRUPT = 1,\n\tDMA_CTRL_ACK = 2,\n\tDMA_PREP_PQ_DISABLE_P = 4,\n\tDMA_PREP_PQ_DISABLE_Q = 8,\n\tDMA_PREP_CONTINUE = 16,\n\tDMA_PREP_FENCE = 32,\n\tDMA_CTRL_REUSE = 64,\n\tDMA_PREP_CMD = 128,\n\tDMA_PREP_REPEAT = 256,\n\tDMA_PREP_LOAD_EOT = 512,\n};\n\nenum dma_data_direction {\n\tDMA_BIDIRECTIONAL = 0,\n\tDMA_TO_DEVICE = 1,\n\tDMA_FROM_DEVICE = 2,\n\tDMA_NONE = 3,\n};\n\nenum dma_desc_metadata_mode {\n\tDESC_METADATA_NONE = 0,\n\tDESC_METADATA_CLIENT = 1,\n\tDESC_METADATA_ENGINE = 2,\n};\n\nenum dma_fence_flag_bits {\n\tDMA_FENCE_FLAG_SIGNALED_BIT = 0,\n\tDMA_FENCE_FLAG_TIMESTAMP_BIT = 1,\n\tDMA_FENCE_FLAG_ENABLE_SIGNAL_BIT = 2,\n\tDMA_FENCE_FLAG_USER_BITS = 3,\n};\n\nenum dma_residue_granularity {\n\tDMA_RESIDUE_GRANULARITY_DESCRIPTOR = 0,\n\tDMA_RESIDUE_GRANULARITY_SEGMENT = 1,\n\tDMA_RESIDUE_GRANULARITY_BURST = 2,\n};\n\nenum dma_resv_usage {\n\tDMA_RESV_USAGE_KERNEL = 0,\n\tDMA_RESV_USAGE_WRITE = 1,\n\tDMA_RESV_USAGE_READ = 2,\n\tDMA_RESV_USAGE_BOOKKEEP = 3,\n};\n\nenum dma_slave_buswidth {\n\tDMA_SLAVE_BUSWIDTH_UNDEFINED = 0,\n\tDMA_SLAVE_BUSWIDTH_1_BYTE = 1,\n\tDMA_SLAVE_BUSWIDTH_2_BYTES = 2,\n\tDMA_SLAVE_BUSWIDTH_3_BYTES = 3,\n\tDMA_SLAVE_BUSWIDTH_4_BYTES = 4,\n\tDMA_SLAVE_BUSWIDTH_8_BYTES = 8,\n\tDMA_SLAVE_BUSWIDTH_16_BYTES = 16,\n\tDMA_SLAVE_BUSWIDTH_32_BYTES = 32,\n\tDMA_SLAVE_BUSWIDTH_64_BYTES = 64,\n\tDMA_SLAVE_BUSWIDTH_128_BYTES = 128,\n};\n\nenum dma_status {\n\tDMA_COMPLETE = 0,\n\tDMA_IN_PROGRESS = 1,\n\tDMA_PAUSED = 2,\n\tDMA_ERROR = 3,\n\tDMA_OUT_OF_ORDER = 4,\n};\n\nenum dma_transaction_type {\n\tDMA_MEMCPY = 0,\n\tDMA_XOR = 1,\n\tDMA_PQ = 2,\n\tDMA_XOR_VAL = 3,\n\tDMA_PQ_VAL = 4,\n\tDMA_MEMSET = 5,\n\tDMA_MEMSET_SG = 6,\n\tDMA_INTERRUPT = 7,\n\tDMA_PRIVATE = 8,\n\tDMA_ASYNC_TX = 9,\n\tDMA_SLAVE = 10,\n\tDMA_CYCLIC = 11,\n\tDMA_INTERLEAVE = 12,\n\tDMA_COMPLETION_NO_ORDER = 13,\n\tDMA_REPEAT = 14,\n\tDMA_LOAD_EOT = 15,\n\tDMA_TX_TYPE_END = 16,\n};\n\nenum dma_transfer_direction {\n\tDMA_MEM_TO_MEM = 0,\n\tDMA_MEM_TO_DEV = 1,\n\tDMA_DEV_TO_MEM = 2,\n\tDMA_DEV_TO_DEV = 3,\n\tDMA_TRANS_NONE = 4,\n};\n\nenum dmaengine_alignment {\n\tDMAENGINE_ALIGN_1_BYTE = 0,\n\tDMAENGINE_ALIGN_2_BYTES = 1,\n\tDMAENGINE_ALIGN_4_BYTES = 2,\n\tDMAENGINE_ALIGN_8_BYTES = 3,\n\tDMAENGINE_ALIGN_16_BYTES = 4,\n\tDMAENGINE_ALIGN_32_BYTES = 5,\n\tDMAENGINE_ALIGN_64_BYTES = 6,\n\tDMAENGINE_ALIGN_128_BYTES = 7,\n\tDMAENGINE_ALIGN_256_BYTES = 8,\n};\n\nenum dmaengine_tx_result {\n\tDMA_TRANS_NOERROR = 0,\n\tDMA_TRANS_READ_FAILED = 1,\n\tDMA_TRANS_WRITE_FAILED = 2,\n\tDMA_TRANS_ABORTED = 3,\n};\n\nenum dmi_field {\n\tDMI_NONE = 0,\n\tDMI_BIOS_VENDOR = 1,\n\tDMI_BIOS_VERSION = 2,\n\tDMI_BIOS_DATE = 3,\n\tDMI_BIOS_RELEASE = 4,\n\tDMI_EC_FIRMWARE_RELEASE = 5,\n\tDMI_SYS_VENDOR = 6,\n\tDMI_PRODUCT_NAME = 7,\n\tDMI_PRODUCT_VERSION = 8,\n\tDMI_PRODUCT_SERIAL = 9,\n\tDMI_PRODUCT_UUID = 10,\n\tDMI_PRODUCT_SKU = 11,\n\tDMI_PRODUCT_FAMILY = 12,\n\tDMI_BOARD_VENDOR = 13,\n\tDMI_BOARD_NAME = 14,\n\tDMI_BOARD_VERSION = 15,\n\tDMI_BOARD_SERIAL = 16,\n\tDMI_BOARD_ASSET_TAG = 17,\n\tDMI_CHASSIS_VENDOR = 18,\n\tDMI_CHASSIS_TYPE = 19,\n\tDMI_CHASSIS_VERSION = 20,\n\tDMI_CHASSIS_SERIAL = 21,\n\tDMI_CHASSIS_ASSET_TAG = 22,\n\tDMI_STRING_MAX = 23,\n\tDMI_OEM_STRING = 24,\n};\n\nenum dns_lookup_status {\n\tDNS_LOOKUP_NOT_DONE = 0,\n\tDNS_LOOKUP_GOOD = 1,\n\tDNS_LOOKUP_GOOD_WITH_BAD = 2,\n\tDNS_LOOKUP_BAD = 3,\n\tDNS_LOOKUP_GOT_NOT_FOUND = 4,\n\tDNS_LOOKUP_GOT_LOCAL_FAILURE = 5,\n\tDNS_LOOKUP_GOT_TEMP_FAILURE = 6,\n\tDNS_LOOKUP_GOT_NS_FAILURE = 7,\n\tNR__dns_lookup_status = 8,\n};\n\nenum dns_payload_content_type {\n\tDNS_PAYLOAD_IS_SERVER_LIST = 0,\n};\n\nenum dpm_order {\n\tDPM_ORDER_NONE = 0,\n\tDPM_ORDER_DEV_AFTER_PARENT = 1,\n\tDPM_ORDER_PARENT_BEFORE_DEV = 2,\n\tDPM_ORDER_DEV_LAST = 3,\n};\n\nenum ds_type {\n\tunknown_ds_type = 0,\n\tds_1307 = 1,\n\tds_1308 = 2,\n\tds_1337 = 3,\n\tds_1338 = 4,\n\tds_1339 = 5,\n\tds_1340 = 6,\n\tds_1341 = 7,\n\tds_1388 = 8,\n\tds_3231 = 9,\n\tm41t0 = 10,\n\tm41t00 = 11,\n\tm41t11 = 12,\n\tmcp794xx = 13,\n\trx_8025 = 14,\n\trx_8130 = 15,\n\tlast_ds_type = 16,\n};\n\nenum dynevent_type {\n\tDYNEVENT_TYPE_SYNTH = 1,\n\tDYNEVENT_TYPE_KPROBE = 2,\n\tDYNEVENT_TYPE_NONE = 3,\n};\n\nenum e1000_1000t_rx_status {\n\te1000_1000t_rx_status_not_ok___2 = 0,\n\te1000_1000t_rx_status_ok___2 = 1,\n\te1000_1000t_rx_status_undefined___2 = 255,\n};\n\nenum e1000_boards {\n\tboard_82571 = 0,\n\tboard_82572 = 1,\n\tboard_82573 = 2,\n\tboard_82574 = 3,\n\tboard_82583 = 4,\n\tboard_80003es2lan = 5,\n\tboard_ich8lan = 6,\n\tboard_ich9lan = 7,\n\tboard_ich10lan = 8,\n\tboard_pchlan = 9,\n\tboard_pch2lan = 10,\n\tboard_pch_lpt = 11,\n\tboard_pch_spt = 12,\n\tboard_pch_cnp = 13,\n\tboard_pch_tgp = 14,\n\tboard_pch_adp = 15,\n\tboard_pch_mtp = 16,\n};\n\nenum e1000_bus_width {\n\te1000_bus_width_unknown___2 = 0,\n\te1000_bus_width_pcie_x1 = 1,\n\te1000_bus_width_pcie_x2 = 2,\n\te1000_bus_width_pcie_x4 = 4,\n\te1000_bus_width_pcie_x8 = 8,\n\te1000_bus_width_32___2 = 9,\n\te1000_bus_width_64___2 = 10,\n\te1000_bus_width_reserved___2 = 11,\n};\n\nenum e1000_fc_mode {\n\te1000_fc_none = 0,\n\te1000_fc_rx_pause = 1,\n\te1000_fc_tx_pause = 2,\n\te1000_fc_full = 3,\n\te1000_fc_default = 255,\n};\n\nenum e1000_mac_type {\n\te1000_82571 = 0,\n\te1000_82572 = 1,\n\te1000_82573 = 2,\n\te1000_82574 = 3,\n\te1000_82583 = 4,\n\te1000_80003es2lan = 5,\n\te1000_ich8lan = 6,\n\te1000_ich9lan = 7,\n\te1000_ich10lan = 8,\n\te1000_pchlan = 9,\n\te1000_pch2lan = 10,\n\te1000_pch_lpt = 11,\n\te1000_pch_spt = 12,\n\te1000_pch_cnp = 13,\n\te1000_pch_tgp = 14,\n\te1000_pch_adp = 15,\n\te1000_pch_mtp = 16,\n\te1000_pch_lnp = 17,\n\te1000_pch_ptp = 18,\n\te1000_pch_nvp = 19,\n};\n\nenum e1000_media_type {\n\te1000_media_type_unknown = 0,\n\te1000_media_type_copper___2 = 1,\n\te1000_media_type_fiber___2 = 2,\n\te1000_media_type_internal_serdes___2 = 3,\n\te1000_num_media_types___2 = 4,\n};\n\nenum e1000_mng_mode {\n\te1000_mng_mode_none = 0,\n\te1000_mng_mode_asf = 1,\n\te1000_mng_mode_pt = 2,\n\te1000_mng_mode_ipmi = 3,\n\te1000_mng_mode_host_if_only = 4,\n};\n\nenum e1000_ms_type {\n\te1000_ms_hw_default___2 = 0,\n\te1000_ms_force_master___2 = 1,\n\te1000_ms_force_slave___2 = 2,\n\te1000_ms_auto___2 = 3,\n};\n\nenum e1000_nvm_override {\n\te1000_nvm_override_none = 0,\n\te1000_nvm_override_spi_small = 1,\n\te1000_nvm_override_spi_large = 2,\n};\n\nenum e1000_nvm_type {\n\te1000_nvm_unknown = 0,\n\te1000_nvm_none = 1,\n\te1000_nvm_eeprom_spi = 2,\n\te1000_nvm_flash_hw = 3,\n\te1000_nvm_flash_sw = 4,\n};\n\nenum e1000_phy_type {\n\te1000_phy_unknown = 0,\n\te1000_phy_none = 1,\n\te1000_phy_m88___2 = 2,\n\te1000_phy_igp___2 = 3,\n\te1000_phy_igp_2 = 4,\n\te1000_phy_gg82563 = 5,\n\te1000_phy_igp_3 = 6,\n\te1000_phy_ife = 7,\n\te1000_phy_bm = 8,\n\te1000_phy_82578 = 9,\n\te1000_phy_82577 = 10,\n\te1000_phy_82579 = 11,\n\te1000_phy_i217 = 12,\n};\n\nenum e1000_rev_polarity {\n\te1000_rev_polarity_normal___2 = 0,\n\te1000_rev_polarity_reversed___2 = 1,\n\te1000_rev_polarity_undefined___2 = 255,\n};\n\nenum e1000_serdes_link_state {\n\te1000_serdes_link_down = 0,\n\te1000_serdes_link_autoneg_progress = 1,\n\te1000_serdes_link_autoneg_complete = 2,\n\te1000_serdes_link_forced_up = 3,\n};\n\nenum e1000_smart_speed {\n\te1000_smart_speed_default___2 = 0,\n\te1000_smart_speed_on___2 = 1,\n\te1000_smart_speed_off___2 = 2,\n};\n\nenum e1000_state_t {\n\t__E1000_TESTING = 0,\n\t__E1000_RESETTING = 1,\n\t__E1000_ACCESS_SHARED_RESOURCE = 2,\n\t__E1000_DOWN = 3,\n};\n\nenum e1000_state_t___2 {\n\t__E1000_TESTING___2 = 0,\n\t__E1000_RESETTING___2 = 1,\n\t__E1000_DOWN___2 = 2,\n\t__E1000_DISABLED = 3,\n};\n\nenum e1000_ulp_state {\n\te1000_ulp_state_unknown = 0,\n\te1000_ulp_state_off = 1,\n\te1000_ulp_state_on = 2,\n};\n\nenum edac_mc_layer_type {\n\tEDAC_MC_LAYER_BRANCH = 0,\n\tEDAC_MC_LAYER_CHANNEL = 1,\n\tEDAC_MC_LAYER_SLOT = 2,\n\tEDAC_MC_LAYER_CHIP_SELECT = 3,\n\tEDAC_MC_LAYER_ALL_MEM = 4,\n};\n\nenum edac_type {\n\tEDAC_UNKNOWN = 0,\n\tEDAC_NONE = 1,\n\tEDAC_RESERVED = 2,\n\tEDAC_PARITY = 3,\n\tEDAC_EC = 4,\n\tEDAC_SECDED = 5,\n\tEDAC_S2ECD2ED = 6,\n\tEDAC_S4ECD4ED = 7,\n\tEDAC_S8ECD8ED = 8,\n\tEDAC_S16ECD16ED = 9,\n};\n\nenum eeprom_cnfg_mdix {\n\teeprom_mdix_enabled = 128,\n};\n\nenum eeprom_config_asf {\n\teeprom_asf = 32768,\n\teeprom_gcl = 16384,\n};\n\nenum eeprom_ctrl_lo {\n\teesk = 1,\n\teecs = 2,\n\teedi = 4,\n\teedo = 8,\n};\n\nenum eeprom_id {\n\teeprom_id_wol = 32,\n};\n\nenum eeprom_offsets {\n\teeprom_cnfg_mdix = 3,\n\teeprom_phy_iface = 6,\n\teeprom_id = 10,\n\teeprom_config_asf = 13,\n\teeprom_smbus_addr = 144,\n};\n\nenum eeprom_op {\n\top_write = 5,\n\top_read = 6,\n\top_ewds = 16,\n\top_ewen = 19,\n};\n\nenum eeprom_phy_iface {\n\tNoSuchPhy = 0,\n\tI82553AB = 1,\n\tI82553C = 2,\n\tI82503 = 3,\n\tDP83840 = 4,\n\tS80C240 = 5,\n\tS80C24 = 6,\n\tI82555 = 7,\n\tDP83840A = 10,\n};\n\nenum ehci_hrtimer_event {\n\tEHCI_HRTIMER_POLL_ASS = 0,\n\tEHCI_HRTIMER_POLL_PSS = 1,\n\tEHCI_HRTIMER_POLL_DEAD = 2,\n\tEHCI_HRTIMER_UNLINK_INTR = 3,\n\tEHCI_HRTIMER_FREE_ITDS = 4,\n\tEHCI_HRTIMER_ACTIVE_UNLINK = 5,\n\tEHCI_HRTIMER_START_UNLINK_INTR = 6,\n\tEHCI_HRTIMER_ASYNC_UNLINKS = 7,\n\tEHCI_HRTIMER_IAA_WATCHDOG = 8,\n\tEHCI_HRTIMER_DISABLE_PERIODIC = 9,\n\tEHCI_HRTIMER_DISABLE_ASYNC = 10,\n\tEHCI_HRTIMER_IO_WATCHDOG = 11,\n\tEHCI_HRTIMER_NUM_EVENTS = 12,\n};\n\nenum ehci_rh_state {\n\tEHCI_RH_HALTED = 0,\n\tEHCI_RH_SUSPENDED = 1,\n\tEHCI_RH_RUNNING = 2,\n\tEHCI_RH_STOPPING = 3,\n};\n\nenum elv_merge {\n\tELEVATOR_NO_MERGE = 0,\n\tELEVATOR_FRONT_MERGE = 1,\n\tELEVATOR_BACK_MERGE = 2,\n\tELEVATOR_DISCARD_MERGE = 3,\n};\n\nenum enable_type {\n\tundefined = -1,\n\tuser_disabled = 0,\n\tauto_disabled = 1,\n\tuser_enabled = 2,\n\tauto_enabled = 3,\n};\n\nenum error_detector {\n\tERROR_DETECTOR_KFENCE = 0,\n\tERROR_DETECTOR_KASAN = 1,\n\tERROR_DETECTOR_WARN = 2,\n};\n\nenum ethnl_sock_type {\n\tETHTOOL_SOCK_TYPE_MODULE_FW_FLASH = 0,\n};\n\nenum ethtool_c33_pse_admin_state {\n\tETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN = 1,\n\tETHTOOL_C33_PSE_ADMIN_STATE_DISABLED = 2,\n\tETHTOOL_C33_PSE_ADMIN_STATE_ENABLED = 3,\n};\n\nenum ethtool_c33_pse_ext_state {\n\tETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1,\n\tETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID = 2,\n\tETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE = 3,\n\tETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED = 4,\n\tETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM = 5,\n\tETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED = 6,\n\tETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE = 7,\n\tETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE = 8,\n\tETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED = 9,\n};\n\nenum ethtool_c33_pse_ext_substate_error_condition {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT = 3,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON = 4,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS = 5,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF = 6,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN = 7,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE = 8,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP = 9,\n};\n\nenum ethtool_c33_pse_ext_substate_mr_pse_enable {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1,\n};\n\nenum ethtool_c33_pse_ext_substate_option_detect_ted {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR = 2,\n};\n\nenum ethtool_c33_pse_ext_substate_option_vport_lim {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION = 3,\n};\n\nenum ethtool_c33_pse_ext_substate_ovld_detected {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1,\n};\n\nenum ethtool_c33_pse_ext_substate_power_not_available {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT = 3,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT = 4,\n};\n\nenum ethtool_c33_pse_ext_substate_short_detected {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1,\n};\n\nenum ethtool_c33_pse_pw_d_status {\n\tETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN = 1,\n\tETHTOOL_C33_PSE_PW_D_STATUS_DISABLED = 2,\n\tETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING = 3,\n\tETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING = 4,\n\tETHTOOL_C33_PSE_PW_D_STATUS_TEST = 5,\n\tETHTOOL_C33_PSE_PW_D_STATUS_FAULT = 6,\n\tETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT = 7,\n};\n\nenum ethtool_cmis_cdb_cmd_id {\n\tETHTOOL_CMIS_CDB_CMD_QUERY_STATUS = 0,\n\tETHTOOL_CMIS_CDB_CMD_MODULE_FEATURES = 64,\n\tETHTOOL_CMIS_CDB_CMD_FW_MANAGMENT_FEATURES = 65,\n\tETHTOOL_CMIS_CDB_CMD_START_FW_DOWNLOAD = 257,\n\tETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_LPL = 259,\n\tETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_EPL = 260,\n\tETHTOOL_CMIS_CDB_CMD_COMPLETE_FW_DOWNLOAD = 263,\n\tETHTOOL_CMIS_CDB_CMD_RUN_FW_IMAGE = 265,\n\tETHTOOL_CMIS_CDB_CMD_COMMIT_FW_IMAGE = 266,\n};\n\nenum ethtool_fec_config_bits {\n\tETHTOOL_FEC_NONE_BIT = 0,\n\tETHTOOL_FEC_AUTO_BIT = 1,\n\tETHTOOL_FEC_OFF_BIT = 2,\n\tETHTOOL_FEC_RS_BIT = 3,\n\tETHTOOL_FEC_BASER_BIT = 4,\n\tETHTOOL_FEC_LLRS_BIT = 5,\n};\n\nenum ethtool_flags {\n\tETH_FLAG_TXVLAN = 128,\n\tETH_FLAG_RXVLAN = 256,\n\tETH_FLAG_LRO = 32768,\n\tETH_FLAG_NTUPLE = 134217728,\n\tETH_FLAG_RXHASH = 268435456,\n};\n\nenum ethtool_header_flags {\n\tETHTOOL_FLAG_COMPACT_BITSETS = 1,\n\tETHTOOL_FLAG_OMIT_REPLY = 2,\n\tETHTOOL_FLAG_STATS = 4,\n};\n\nenum ethtool_link_ext_state {\n\tETHTOOL_LINK_EXT_STATE_AUTONEG = 0,\n\tETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 1,\n\tETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 2,\n\tETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 3,\n\tETHTOOL_LINK_EXT_STATE_NO_CABLE = 4,\n\tETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 5,\n\tETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 6,\n\tETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 7,\n\tETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 8,\n\tETHTOOL_LINK_EXT_STATE_OVERHEAT = 9,\n\tETHTOOL_LINK_EXT_STATE_MODULE = 10,\n};\n\nenum ethtool_link_ext_substate_autoneg {\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 4,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 5,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 6,\n};\n\nenum ethtool_link_ext_substate_bad_signal_integrity {\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS = 4,\n};\n\nenum ethtool_link_ext_substate_cable_issue {\n\tETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 2,\n};\n\nenum ethtool_link_ext_substate_link_logical_mismatch {\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 4,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 5,\n};\n\nenum ethtool_link_ext_substate_link_training {\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 4,\n};\n\nenum ethtool_link_ext_substate_module {\n\tETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY = 1,\n};\n\nenum ethtool_link_mode_bit_indices {\n\tETHTOOL_LINK_MODE_10baseT_Half_BIT = 0,\n\tETHTOOL_LINK_MODE_10baseT_Full_BIT = 1,\n\tETHTOOL_LINK_MODE_100baseT_Half_BIT = 2,\n\tETHTOOL_LINK_MODE_100baseT_Full_BIT = 3,\n\tETHTOOL_LINK_MODE_1000baseT_Half_BIT = 4,\n\tETHTOOL_LINK_MODE_1000baseT_Full_BIT = 5,\n\tETHTOOL_LINK_MODE_Autoneg_BIT = 6,\n\tETHTOOL_LINK_MODE_TP_BIT = 7,\n\tETHTOOL_LINK_MODE_AUI_BIT = 8,\n\tETHTOOL_LINK_MODE_MII_BIT = 9,\n\tETHTOOL_LINK_MODE_FIBRE_BIT = 10,\n\tETHTOOL_LINK_MODE_BNC_BIT = 11,\n\tETHTOOL_LINK_MODE_10000baseT_Full_BIT = 12,\n\tETHTOOL_LINK_MODE_Pause_BIT = 13,\n\tETHTOOL_LINK_MODE_Asym_Pause_BIT = 14,\n\tETHTOOL_LINK_MODE_2500baseX_Full_BIT = 15,\n\tETHTOOL_LINK_MODE_Backplane_BIT = 16,\n\tETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 17,\n\tETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 18,\n\tETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 19,\n\tETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 20,\n\tETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 21,\n\tETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 22,\n\tETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 23,\n\tETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 24,\n\tETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 25,\n\tETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 26,\n\tETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 27,\n\tETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 28,\n\tETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29,\n\tETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30,\n\tETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31,\n\tETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32,\n\tETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33,\n\tETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34,\n\tETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 35,\n\tETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 36,\n\tETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37,\n\tETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38,\n\tETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39,\n\tETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40,\n\tETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41,\n\tETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 42,\n\tETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 43,\n\tETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44,\n\tETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45,\n\tETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46,\n\tETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47,\n\tETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48,\n\tETHTOOL_LINK_MODE_FEC_NONE_BIT = 49,\n\tETHTOOL_LINK_MODE_FEC_RS_BIT = 50,\n\tETHTOOL_LINK_MODE_FEC_BASER_BIT = 51,\n\tETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52,\n\tETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53,\n\tETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54,\n\tETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55,\n\tETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56,\n\tETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57,\n\tETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58,\n\tETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59,\n\tETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,\n\tETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61,\n\tETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62,\n\tETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63,\n\tETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,\n\tETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65,\n\tETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66,\n\tETHTOOL_LINK_MODE_100baseT1_Full_BIT = 67,\n\tETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 68,\n\tETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 69,\n\tETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 70,\n\tETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 71,\n\tETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72,\n\tETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73,\n\tETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74,\n\tETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 75,\n\tETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 76,\n\tETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 77,\n\tETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 78,\n\tETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 79,\n\tETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 80,\n\tETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 81,\n\tETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 82,\n\tETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 83,\n\tETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 84,\n\tETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 85,\n\tETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 86,\n\tETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87,\n\tETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88,\n\tETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89,\n\tETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,\n\tETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,\n\tETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92,\n\tETHTOOL_LINK_MODE_800000baseCR8_Full_BIT = 93,\n\tETHTOOL_LINK_MODE_800000baseKR8_Full_BIT = 94,\n\tETHTOOL_LINK_MODE_800000baseDR8_Full_BIT = 95,\n\tETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT = 96,\n\tETHTOOL_LINK_MODE_800000baseSR8_Full_BIT = 97,\n\tETHTOOL_LINK_MODE_800000baseVR8_Full_BIT = 98,\n\tETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99,\n\tETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100,\n\tETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101,\n\tETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102,\n\t__ETHTOOL_LINK_MODE_MASK_NBITS = 103,\n};\n\nenum ethtool_mac_stats_src {\n\tETHTOOL_MAC_STATS_SRC_AGGREGATE = 0,\n\tETHTOOL_MAC_STATS_SRC_EMAC = 1,\n\tETHTOOL_MAC_STATS_SRC_PMAC = 2,\n};\n\nenum ethtool_mm_verify_status {\n\tETHTOOL_MM_VERIFY_STATUS_UNKNOWN = 0,\n\tETHTOOL_MM_VERIFY_STATUS_INITIAL = 1,\n\tETHTOOL_MM_VERIFY_STATUS_VERIFYING = 2,\n\tETHTOOL_MM_VERIFY_STATUS_SUCCEEDED = 3,\n\tETHTOOL_MM_VERIFY_STATUS_FAILED = 4,\n\tETHTOOL_MM_VERIFY_STATUS_DISABLED = 5,\n};\n\nenum ethtool_module_fw_flash_status {\n\tETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS = 2,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED = 3,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_ERROR = 4,\n};\n\nenum ethtool_module_power_mode {\n\tETHTOOL_MODULE_POWER_MODE_LOW = 1,\n\tETHTOOL_MODULE_POWER_MODE_HIGH = 2,\n};\n\nenum ethtool_module_power_mode_policy {\n\tETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1,\n\tETHTOOL_MODULE_POWER_MODE_POLICY_AUTO = 2,\n};\n\nenum ethtool_multicast_groups {\n\tETHNL_MCGRP_MONITOR = 0,\n};\n\nenum ethtool_phys_id_state {\n\tETHTOOL_ID_INACTIVE = 0,\n\tETHTOOL_ID_ACTIVE = 1,\n\tETHTOOL_ID_ON = 2,\n\tETHTOOL_ID_OFF = 3,\n};\n\nenum ethtool_podl_pse_admin_state {\n\tETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1,\n\tETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED = 2,\n\tETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED = 3,\n};\n\nenum ethtool_podl_pse_pw_d_status {\n\tETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED = 2,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING = 3,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING = 4,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP = 5,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_IDLE = 6,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_ERROR = 7,\n};\n\nenum ethtool_reset_flags {\n\tETH_RESET_MGMT = 1,\n\tETH_RESET_IRQ = 2,\n\tETH_RESET_DMA = 4,\n\tETH_RESET_FILTER = 8,\n\tETH_RESET_OFFLOAD = 16,\n\tETH_RESET_MAC = 32,\n\tETH_RESET_PHY = 64,\n\tETH_RESET_RAM = 128,\n\tETH_RESET_AP = 256,\n\tETH_RESET_DEDICATED = 65535,\n\tETH_RESET_ALL = 4294967295,\n};\n\nenum ethtool_sfeatures_retval_bits {\n\tETHTOOL_F_UNSUPPORTED__BIT = 0,\n\tETHTOOL_F_WISH__BIT = 1,\n\tETHTOOL_F_COMPAT__BIT = 2,\n};\n\nenum ethtool_stringset {\n\tETH_SS_TEST = 0,\n\tETH_SS_STATS = 1,\n\tETH_SS_PRIV_FLAGS = 2,\n\tETH_SS_NTUPLE_FILTERS = 3,\n\tETH_SS_FEATURES = 4,\n\tETH_SS_RSS_HASH_FUNCS = 5,\n\tETH_SS_TUNABLES = 6,\n\tETH_SS_PHY_STATS = 7,\n\tETH_SS_PHY_TUNABLES = 8,\n\tETH_SS_LINK_MODES = 9,\n\tETH_SS_MSG_CLASSES = 10,\n\tETH_SS_WOL_MODES = 11,\n\tETH_SS_SOF_TIMESTAMPING = 12,\n\tETH_SS_TS_TX_TYPES = 13,\n\tETH_SS_TS_RX_FILTERS = 14,\n\tETH_SS_UDP_TUNNEL_TYPES = 15,\n\tETH_SS_STATS_STD = 16,\n\tETH_SS_STATS_ETH_PHY = 17,\n\tETH_SS_STATS_ETH_MAC = 18,\n\tETH_SS_STATS_ETH_CTRL = 19,\n\tETH_SS_STATS_RMON = 20,\n\tETH_SS_STATS_PHY = 21,\n\tETH_SS_TS_FLAGS = 22,\n\tETH_SS_COUNT = 23,\n};\n\nenum ethtool_supported_ring_param {\n\tETHTOOL_RING_USE_RX_BUF_LEN = 1,\n\tETHTOOL_RING_USE_CQE_SIZE = 2,\n\tETHTOOL_RING_USE_TX_PUSH = 4,\n\tETHTOOL_RING_USE_RX_PUSH = 8,\n\tETHTOOL_RING_USE_TX_PUSH_BUF_LEN = 16,\n\tETHTOOL_RING_USE_TCP_DATA_SPLIT = 32,\n\tETHTOOL_RING_USE_HDS_THRS = 64,\n};\n\nenum ethtool_tcp_data_split {\n\tETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,\n\tETHTOOL_TCP_DATA_SPLIT_DISABLED = 1,\n\tETHTOOL_TCP_DATA_SPLIT_ENABLED = 2,\n};\n\nenum ethtool_test_flags {\n\tETH_TEST_FL_OFFLINE = 1,\n\tETH_TEST_FL_FAILED = 2,\n\tETH_TEST_FL_EXTERNAL_LB = 4,\n\tETH_TEST_FL_EXTERNAL_LB_DONE = 8,\n};\n\nenum event_command_flags {\n\tEVENT_CMD_FL_POST_TRIGGER = 1,\n\tEVENT_CMD_FL_NEEDS_REC = 2,\n};\n\nenum event_trigger_type {\n\tETT_NONE = 0,\n\tETT_TRACE_ONOFF = 1,\n\tETT_SNAPSHOT = 2,\n\tETT_STACKTRACE = 4,\n\tETT_EVENT_ENABLE = 8,\n\tETT_EVENT_HIST = 16,\n\tETT_HIST_ENABLE = 32,\n\tETT_EVENT_EPROBE = 64,\n};\n\nenum event_type_t {\n\tEVENT_FLEXIBLE = 1,\n\tEVENT_PINNED = 2,\n\tEVENT_TIME = 4,\n\tEVENT_FROZEN = 8,\n\tEVENT_CPU = 16,\n\tEVENT_CGROUP = 32,\n\tEVENT_ALL = 3,\n\tEVENT_TIME_FROZEN = 12,\n};\n\nenum evm_ima_xattr_type {\n\tIMA_XATTR_DIGEST = 1,\n\tEVM_XATTR_HMAC = 2,\n\tEVM_IMA_XATTR_DIGSIG = 3,\n\tIMA_XATTR_DIGEST_NG = 4,\n\tEVM_XATTR_PORTABLE_DIGSIG = 5,\n\tIMA_VERITY_DIGSIG = 6,\n\tIMA_XATTR_LAST = 7,\n};\n\nenum exact_level {\n\tNOT_EXACT = 0,\n\tEXACT = 1,\n\tRANGE_WITHIN = 2,\n};\n\nenum execmem_range_flags {\n\tEXECMEM_KASAN_SHADOW = 1,\n\tEXECMEM_ROX_CACHE = 2,\n};\n\nenum execmem_type {\n\tEXECMEM_DEFAULT = 0,\n\tEXECMEM_MODULE_TEXT = 0,\n\tEXECMEM_KPROBES = 1,\n\tEXECMEM_FTRACE = 2,\n\tEXECMEM_BPF = 3,\n\tEXECMEM_MODULE_DATA = 4,\n\tEXECMEM_TYPE_MAX = 5,\n};\n\nenum ext4_journal_trigger_type {\n\tEXT4_JTR_ORPHAN_FILE = 0,\n\tEXT4_JTR_NONE = 1,\n};\n\nenum ext4_li_mode {\n\tEXT4_LI_MODE_PREFETCH_BBITMAP = 0,\n\tEXT4_LI_MODE_ITABLE = 1,\n};\n\nenum fail_dup_mod_reason {\n\tFAIL_DUP_MOD_BECOMING = 0,\n\tFAIL_DUP_MOD_LOAD = 1,\n};\n\nenum fault_flag {\n\tFAULT_FLAG_WRITE = 1,\n\tFAULT_FLAG_MKWRITE = 2,\n\tFAULT_FLAG_ALLOW_RETRY = 4,\n\tFAULT_FLAG_RETRY_NOWAIT = 8,\n\tFAULT_FLAG_KILLABLE = 16,\n\tFAULT_FLAG_TRIED = 32,\n\tFAULT_FLAG_USER = 64,\n\tFAULT_FLAG_REMOTE = 128,\n\tFAULT_FLAG_INSTRUCTION = 256,\n\tFAULT_FLAG_INTERRUPTIBLE = 512,\n\tFAULT_FLAG_UNSHARE = 1024,\n\tFAULT_FLAG_ORIG_PTE_VALID = 2048,\n\tFAULT_FLAG_VMA_LOCK = 4096,\n};\n\nenum fbq_type {\n\tregular = 0,\n\tremote = 1,\n\tall = 2,\n};\n\nenum fc_fpin_congn_event_types {\n\tFPIN_CONGN_CLEAR = 0,\n\tFPIN_CONGN_LOST_CREDIT = 1,\n\tFPIN_CONGN_CREDIT_STALL = 2,\n\tFPIN_CONGN_OVERSUBSCRIPTION = 3,\n\tFPIN_CONGN_DEVICE_SPEC = 15,\n};\n\nenum fc_fpin_deli_event_types {\n\tFPIN_DELI_UNKNOWN = 0,\n\tFPIN_DELI_TIMEOUT = 1,\n\tFPIN_DELI_UNABLE_TO_ROUTE = 2,\n\tFPIN_DELI_DEVICE_SPEC = 15,\n};\n\nenum fc_fpin_li_event_types {\n\tFPIN_LI_UNKNOWN = 0,\n\tFPIN_LI_LINK_FAILURE = 1,\n\tFPIN_LI_LOSS_OF_SYNC = 2,\n\tFPIN_LI_LOSS_OF_SIG = 3,\n\tFPIN_LI_PRIM_SEQ_ERR = 4,\n\tFPIN_LI_INVALID_TX_WD = 5,\n\tFPIN_LI_INVALID_CRC = 6,\n\tFPIN_LI_DEVICE_SPEC = 15,\n};\n\nenum fc_host_event_code {\n\tFCH_EVT_LIP = 1,\n\tFCH_EVT_LINKUP = 2,\n\tFCH_EVT_LINKDOWN = 3,\n\tFCH_EVT_LIPRESET = 4,\n\tFCH_EVT_RSCN = 5,\n\tFCH_EVT_ADAPTER_CHANGE = 259,\n\tFCH_EVT_PORT_UNKNOWN = 512,\n\tFCH_EVT_PORT_OFFLINE = 513,\n\tFCH_EVT_PORT_ONLINE = 514,\n\tFCH_EVT_PORT_FABRIC = 516,\n\tFCH_EVT_LINK_UNKNOWN = 1280,\n\tFCH_EVT_LINK_FPIN = 1281,\n\tFCH_EVT_LINK_FPIN_ACK = 1282,\n\tFCH_EVT_VENDOR_UNIQUE = 65535,\n};\n\nenum fc_ls_tlv_dtag {\n\tELS_DTAG_LS_REQ_INFO = 1,\n\tELS_DTAG_LNK_FAULT_CAP = 65549,\n\tELS_DTAG_CG_SIGNAL_CAP = 65551,\n\tELS_DTAG_LNK_INTEGRITY = 131073,\n\tELS_DTAG_DELIVERY = 131074,\n\tELS_DTAG_PEER_CONGEST = 131075,\n\tELS_DTAG_CONGESTION = 131076,\n\tELS_DTAG_FPIN_REGISTER = 196609,\n};\n\nenum fc_port_state {\n\tFC_PORTSTATE_UNKNOWN = 0,\n\tFC_PORTSTATE_NOTPRESENT = 1,\n\tFC_PORTSTATE_ONLINE = 2,\n\tFC_PORTSTATE_OFFLINE = 3,\n\tFC_PORTSTATE_BLOCKED = 4,\n\tFC_PORTSTATE_BYPASSED = 5,\n\tFC_PORTSTATE_DIAGNOSTICS = 6,\n\tFC_PORTSTATE_LINKDOWN = 7,\n\tFC_PORTSTATE_ERROR = 8,\n\tFC_PORTSTATE_LOOPBACK = 9,\n\tFC_PORTSTATE_DELETED = 10,\n\tFC_PORTSTATE_MARGINAL = 11,\n};\n\nenum fc_port_type {\n\tFC_PORTTYPE_UNKNOWN = 0,\n\tFC_PORTTYPE_OTHER = 1,\n\tFC_PORTTYPE_NOTPRESENT = 2,\n\tFC_PORTTYPE_NPORT = 3,\n\tFC_PORTTYPE_NLPORT = 4,\n\tFC_PORTTYPE_LPORT = 5,\n\tFC_PORTTYPE_PTP = 6,\n\tFC_PORTTYPE_NPIV = 7,\n};\n\nenum fc_tgtid_binding_type {\n\tFC_TGTID_BIND_NONE = 0,\n\tFC_TGTID_BIND_BY_WWPN = 1,\n\tFC_TGTID_BIND_BY_WWNN = 2,\n\tFC_TGTID_BIND_BY_ID = 3,\n};\n\nenum fc_vport_state {\n\tFC_VPORT_UNKNOWN = 0,\n\tFC_VPORT_ACTIVE = 1,\n\tFC_VPORT_DISABLED = 2,\n\tFC_VPORT_LINKDOWN = 3,\n\tFC_VPORT_INITIALIZING = 4,\n\tFC_VPORT_NO_FABRIC_SUPP = 5,\n\tFC_VPORT_NO_FABRIC_RSCS = 6,\n\tFC_VPORT_FABRIC_LOGOUT = 7,\n\tFC_VPORT_FABRIC_REJ_WWN = 8,\n\tFC_VPORT_FAILED = 9,\n};\n\nenum fetch_op {\n\tFETCH_OP_NOP = 0,\n\tFETCH_OP_REG = 1,\n\tFETCH_OP_STACK = 2,\n\tFETCH_OP_STACKP = 3,\n\tFETCH_OP_RETVAL = 4,\n\tFETCH_OP_IMM = 5,\n\tFETCH_OP_COMM = 6,\n\tFETCH_OP_ARG = 7,\n\tFETCH_OP_FOFFS = 8,\n\tFETCH_OP_DATA = 9,\n\tFETCH_OP_EDATA = 10,\n\tFETCH_OP_DEREF = 11,\n\tFETCH_OP_UDEREF = 12,\n\tFETCH_OP_ST_RAW = 13,\n\tFETCH_OP_ST_MEM = 14,\n\tFETCH_OP_ST_UMEM = 15,\n\tFETCH_OP_ST_STRING = 16,\n\tFETCH_OP_ST_USTRING = 17,\n\tFETCH_OP_ST_SYMSTR = 18,\n\tFETCH_OP_ST_EDATA = 19,\n\tFETCH_OP_MOD_BF = 20,\n\tFETCH_OP_LP_ARRAY = 21,\n\tFETCH_OP_TP_ARG = 22,\n\tFETCH_OP_END = 23,\n\tFETCH_NOP_SYMBOL = 24,\n};\n\nenum fib6_walk_state {\n\tFWS_L = 0,\n\tFWS_R = 1,\n\tFWS_C = 2,\n\tFWS_U = 3,\n};\n\nenum fib_event_type {\n\tFIB_EVENT_ENTRY_REPLACE = 0,\n\tFIB_EVENT_ENTRY_APPEND = 1,\n\tFIB_EVENT_ENTRY_ADD = 2,\n\tFIB_EVENT_ENTRY_DEL = 3,\n\tFIB_EVENT_RULE_ADD = 4,\n\tFIB_EVENT_RULE_DEL = 5,\n\tFIB_EVENT_NH_ADD = 6,\n\tFIB_EVENT_NH_DEL = 7,\n\tFIB_EVENT_VIF_ADD = 8,\n\tFIB_EVENT_VIF_DEL = 9,\n};\n\nenum fid_type {\n\tFILEID_ROOT = 0,\n\tFILEID_INO32_GEN = 1,\n\tFILEID_INO32_GEN_PARENT = 2,\n\tFILEID_BTRFS_WITHOUT_PARENT = 77,\n\tFILEID_BTRFS_WITH_PARENT = 78,\n\tFILEID_BTRFS_WITH_PARENT_ROOT = 79,\n\tFILEID_UDF_WITHOUT_PARENT = 81,\n\tFILEID_UDF_WITH_PARENT = 82,\n\tFILEID_NILFS_WITHOUT_PARENT = 97,\n\tFILEID_NILFS_WITH_PARENT = 98,\n\tFILEID_FAT_WITHOUT_PARENT = 113,\n\tFILEID_FAT_WITH_PARENT = 114,\n\tFILEID_INO64_GEN = 129,\n\tFILEID_INO64_GEN_PARENT = 130,\n\tFILEID_LUSTRE = 151,\n\tFILEID_BCACHEFS_WITHOUT_PARENT = 177,\n\tFILEID_BCACHEFS_WITH_PARENT = 178,\n\tFILEID_KERNFS = 254,\n\tFILEID_INVALID = 255,\n};\n\nenum file_time_flags {\n\tS_ATIME = 1,\n\tS_MTIME = 2,\n\tS_CTIME = 4,\n\tS_VERSION = 8,\n};\n\nenum filter_op_ids {\n\tOP_GLOB = 0,\n\tOP_NE = 1,\n\tOP_EQ = 2,\n\tOP_LE = 3,\n\tOP_LT = 4,\n\tOP_GE = 5,\n\tOP_GT = 6,\n\tOP_BAND = 7,\n\tOP_MAX = 8,\n};\n\nenum filter_pred_fn {\n\tFILTER_PRED_FN_NOP = 0,\n\tFILTER_PRED_FN_64 = 1,\n\tFILTER_PRED_FN_64_CPUMASK = 2,\n\tFILTER_PRED_FN_S64 = 3,\n\tFILTER_PRED_FN_U64 = 4,\n\tFILTER_PRED_FN_32 = 5,\n\tFILTER_PRED_FN_32_CPUMASK = 6,\n\tFILTER_PRED_FN_S32 = 7,\n\tFILTER_PRED_FN_U32 = 8,\n\tFILTER_PRED_FN_16 = 9,\n\tFILTER_PRED_FN_16_CPUMASK = 10,\n\tFILTER_PRED_FN_S16 = 11,\n\tFILTER_PRED_FN_U16 = 12,\n\tFILTER_PRED_FN_8 = 13,\n\tFILTER_PRED_FN_8_CPUMASK = 14,\n\tFILTER_PRED_FN_S8 = 15,\n\tFILTER_PRED_FN_U8 = 16,\n\tFILTER_PRED_FN_COMM = 17,\n\tFILTER_PRED_FN_STRING = 18,\n\tFILTER_PRED_FN_STRLOC = 19,\n\tFILTER_PRED_FN_STRRELLOC = 20,\n\tFILTER_PRED_FN_PCHAR_USER = 21,\n\tFILTER_PRED_FN_PCHAR = 22,\n\tFILTER_PRED_FN_CPU = 23,\n\tFILTER_PRED_FN_CPU_CPUMASK = 24,\n\tFILTER_PRED_FN_CPUMASK = 25,\n\tFILTER_PRED_FN_CPUMASK_CPU = 26,\n\tFILTER_PRED_FN_FUNCTION = 27,\n\tFILTER_PRED_FN_ = 28,\n\tFILTER_PRED_TEST_VISITED = 29,\n};\n\nenum fit_type {\n\tNOTHING_FIT = 0,\n\tFL_FIT_TYPE = 1,\n\tLE_FIT_TYPE = 2,\n\tRE_FIT_TYPE = 3,\n\tNE_FIT_TYPE = 4,\n};\n\nenum fixed_addresses {\n\tFIX_HOLE = 0,\n\t__end_of_permanent_fixed_addresses = 1,\n\tFIX_BTMAP_END = 1,\n\tFIX_BTMAP_BEGIN = 64,\n\t__end_of_fixed_addresses = 65,\n};\n\nenum flag_bits {\n\tFaulty = 0,\n\tIn_sync = 1,\n\tBitmap_sync = 2,\n\tWriteMostly = 3,\n\tAutoDetected = 4,\n\tBlocked = 5,\n\tWriteErrorSeen = 6,\n\tFaultRecorded = 7,\n\tBlockedBadBlocks = 8,\n\tWantReplacement = 9,\n\tReplacement = 10,\n\tCandidate = 11,\n\tJournal = 12,\n\tClusterRemove = 13,\n\tExternalBbl = 14,\n\tFailFast = 15,\n\tLastDev = 16,\n\tCollisionCheck = 17,\n\tNonrot = 18,\n};\n\nenum flow_action_hw_stats {\n\tFLOW_ACTION_HW_STATS_IMMEDIATE = 1,\n\tFLOW_ACTION_HW_STATS_DELAYED = 2,\n\tFLOW_ACTION_HW_STATS_ANY = 3,\n\tFLOW_ACTION_HW_STATS_DISABLED = 4,\n\tFLOW_ACTION_HW_STATS_DONT_CARE = 7,\n};\n\nenum flow_action_hw_stats_bit {\n\tFLOW_ACTION_HW_STATS_IMMEDIATE_BIT = 0,\n\tFLOW_ACTION_HW_STATS_DELAYED_BIT = 1,\n\tFLOW_ACTION_HW_STATS_DISABLED_BIT = 2,\n\tFLOW_ACTION_HW_STATS_NUM_BITS = 3,\n};\n\nenum flow_action_id {\n\tFLOW_ACTION_ACCEPT = 0,\n\tFLOW_ACTION_DROP = 1,\n\tFLOW_ACTION_TRAP = 2,\n\tFLOW_ACTION_GOTO = 3,\n\tFLOW_ACTION_REDIRECT = 4,\n\tFLOW_ACTION_MIRRED = 5,\n\tFLOW_ACTION_REDIRECT_INGRESS = 6,\n\tFLOW_ACTION_MIRRED_INGRESS = 7,\n\tFLOW_ACTION_VLAN_PUSH = 8,\n\tFLOW_ACTION_VLAN_POP = 9,\n\tFLOW_ACTION_VLAN_MANGLE = 10,\n\tFLOW_ACTION_TUNNEL_ENCAP = 11,\n\tFLOW_ACTION_TUNNEL_DECAP = 12,\n\tFLOW_ACTION_MANGLE = 13,\n\tFLOW_ACTION_ADD = 14,\n\tFLOW_ACTION_CSUM = 15,\n\tFLOW_ACTION_MARK = 16,\n\tFLOW_ACTION_PTYPE = 17,\n\tFLOW_ACTION_PRIORITY = 18,\n\tFLOW_ACTION_RX_QUEUE_MAPPING = 19,\n\tFLOW_ACTION_WAKE = 20,\n\tFLOW_ACTION_QUEUE = 21,\n\tFLOW_ACTION_SAMPLE = 22,\n\tFLOW_ACTION_POLICE = 23,\n\tFLOW_ACTION_CT = 24,\n\tFLOW_ACTION_CT_METADATA = 25,\n\tFLOW_ACTION_MPLS_PUSH = 26,\n\tFLOW_ACTION_MPLS_POP = 27,\n\tFLOW_ACTION_MPLS_MANGLE = 28,\n\tFLOW_ACTION_GATE = 29,\n\tFLOW_ACTION_PPPOE_PUSH = 30,\n\tFLOW_ACTION_JUMP = 31,\n\tFLOW_ACTION_PIPE = 32,\n\tFLOW_ACTION_VLAN_PUSH_ETH = 33,\n\tFLOW_ACTION_VLAN_POP_ETH = 34,\n\tFLOW_ACTION_CONTINUE = 35,\n\tNUM_FLOW_ACTIONS = 36,\n};\n\nenum flow_action_mangle_base {\n\tFLOW_ACT_MANGLE_UNSPEC = 0,\n\tFLOW_ACT_MANGLE_HDR_TYPE_ETH = 1,\n\tFLOW_ACT_MANGLE_HDR_TYPE_IP4 = 2,\n\tFLOW_ACT_MANGLE_HDR_TYPE_IP6 = 3,\n\tFLOW_ACT_MANGLE_HDR_TYPE_TCP = 4,\n\tFLOW_ACT_MANGLE_HDR_TYPE_UDP = 5,\n};\n\nenum flow_block_binder_type {\n\tFLOW_BLOCK_BINDER_TYPE_UNSPEC = 0,\n\tFLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS = 1,\n\tFLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS = 2,\n\tFLOW_BLOCK_BINDER_TYPE_RED_EARLY_DROP = 3,\n\tFLOW_BLOCK_BINDER_TYPE_RED_MARK = 4,\n};\n\nenum flow_block_command {\n\tFLOW_BLOCK_BIND = 0,\n\tFLOW_BLOCK_UNBIND = 1,\n};\n\nenum flow_dissect_ret {\n\tFLOW_DISSECT_RET_OUT_GOOD = 0,\n\tFLOW_DISSECT_RET_OUT_BAD = 1,\n\tFLOW_DISSECT_RET_PROTO_AGAIN = 2,\n\tFLOW_DISSECT_RET_IPPROTO_AGAIN = 3,\n\tFLOW_DISSECT_RET_CONTINUE = 4,\n};\n\nenum flow_dissector_ctrl_flags {\n\tFLOW_DIS_IS_FRAGMENT = 1,\n\tFLOW_DIS_FIRST_FRAG = 2,\n\tFLOW_DIS_F_TUNNEL_CSUM = 4,\n\tFLOW_DIS_F_TUNNEL_DONT_FRAGMENT = 8,\n\tFLOW_DIS_F_TUNNEL_OAM = 16,\n\tFLOW_DIS_F_TUNNEL_CRIT_OPT = 32,\n\tFLOW_DIS_ENCAPSULATION = 64,\n};\n\nenum flow_dissector_key_id {\n\tFLOW_DISSECTOR_KEY_CONTROL = 0,\n\tFLOW_DISSECTOR_KEY_BASIC = 1,\n\tFLOW_DISSECTOR_KEY_IPV4_ADDRS = 2,\n\tFLOW_DISSECTOR_KEY_IPV6_ADDRS = 3,\n\tFLOW_DISSECTOR_KEY_PORTS = 4,\n\tFLOW_DISSECTOR_KEY_PORTS_RANGE = 5,\n\tFLOW_DISSECTOR_KEY_ICMP = 6,\n\tFLOW_DISSECTOR_KEY_ETH_ADDRS = 7,\n\tFLOW_DISSECTOR_KEY_TIPC = 8,\n\tFLOW_DISSECTOR_KEY_ARP = 9,\n\tFLOW_DISSECTOR_KEY_VLAN = 10,\n\tFLOW_DISSECTOR_KEY_FLOW_LABEL = 11,\n\tFLOW_DISSECTOR_KEY_GRE_KEYID = 12,\n\tFLOW_DISSECTOR_KEY_MPLS_ENTROPY = 13,\n\tFLOW_DISSECTOR_KEY_ENC_KEYID = 14,\n\tFLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS = 15,\n\tFLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS = 16,\n\tFLOW_DISSECTOR_KEY_ENC_CONTROL = 17,\n\tFLOW_DISSECTOR_KEY_ENC_PORTS = 18,\n\tFLOW_DISSECTOR_KEY_MPLS = 19,\n\tFLOW_DISSECTOR_KEY_TCP = 20,\n\tFLOW_DISSECTOR_KEY_IP = 21,\n\tFLOW_DISSECTOR_KEY_CVLAN = 22,\n\tFLOW_DISSECTOR_KEY_ENC_IP = 23,\n\tFLOW_DISSECTOR_KEY_ENC_OPTS = 24,\n\tFLOW_DISSECTOR_KEY_META = 25,\n\tFLOW_DISSECTOR_KEY_CT = 26,\n\tFLOW_DISSECTOR_KEY_HASH = 27,\n\tFLOW_DISSECTOR_KEY_NUM_OF_VLANS = 28,\n\tFLOW_DISSECTOR_KEY_PPPOE = 29,\n\tFLOW_DISSECTOR_KEY_L2TPV3 = 30,\n\tFLOW_DISSECTOR_KEY_CFM = 31,\n\tFLOW_DISSECTOR_KEY_IPSEC = 32,\n\tFLOW_DISSECTOR_KEY_MAX = 33,\n};\n\nenum flowlabel_reflect {\n\tFLOWLABEL_REFLECT_ESTABLISHED = 1,\n\tFLOWLABEL_REFLECT_TCP_RESET = 2,\n\tFLOWLABEL_REFLECT_ICMPV6_ECHO_REPLIES = 4,\n};\n\nenum folio_references {\n\tFOLIOREF_RECLAIM = 0,\n\tFOLIOREF_RECLAIM_CLEAN = 1,\n\tFOLIOREF_KEEP = 2,\n\tFOLIOREF_ACTIVATE = 3,\n};\n\nenum folio_walk_level {\n\tFW_LEVEL_PTE = 0,\n\tFW_LEVEL_PMD = 1,\n\tFW_LEVEL_PUD = 2,\n};\n\nenum format_state {\n\tFORMAT_STATE_NONE = 0,\n\tFORMAT_STATE_NUM = 1,\n\tFORMAT_STATE_WIDTH = 2,\n\tFORMAT_STATE_PRECISION = 3,\n\tFORMAT_STATE_CHAR = 4,\n\tFORMAT_STATE_STR = 5,\n\tFORMAT_STATE_PTR = 6,\n\tFORMAT_STATE_PERCENT_CHAR = 7,\n\tFORMAT_STATE_INVALID = 8,\n};\n\nenum freeze_holder {\n\tFREEZE_HOLDER_KERNEL = 1,\n\tFREEZE_HOLDER_USERSPACE = 2,\n\tFREEZE_MAY_NEST = 4,\n};\n\nenum freezer_state_flags {\n\tCGROUP_FREEZER_ONLINE = 1,\n\tCGROUP_FREEZING_SELF = 2,\n\tCGROUP_FREEZING_PARENT = 4,\n\tCGROUP_FROZEN = 8,\n\tCGROUP_FREEZING = 6,\n};\n\nenum freq_qos_req_type {\n\tFREQ_QOS_MIN = 1,\n\tFREQ_QOS_MAX = 2,\n};\n\nenum fs_context_phase {\n\tFS_CONTEXT_CREATE_PARAMS = 0,\n\tFS_CONTEXT_CREATING = 1,\n\tFS_CONTEXT_AWAITING_MOUNT = 2,\n\tFS_CONTEXT_AWAITING_RECONF = 3,\n\tFS_CONTEXT_RECONF_PARAMS = 4,\n\tFS_CONTEXT_RECONFIGURING = 5,\n\tFS_CONTEXT_FAILED = 6,\n};\n\nenum fs_context_purpose {\n\tFS_CONTEXT_FOR_MOUNT = 0,\n\tFS_CONTEXT_FOR_SUBMOUNT = 1,\n\tFS_CONTEXT_FOR_RECONFIGURE = 2,\n};\n\nenum fs_value_type {\n\tfs_value_is_undefined = 0,\n\tfs_value_is_flag = 1,\n\tfs_value_is_string = 2,\n\tfs_value_is_blob = 3,\n\tfs_value_is_filename = 4,\n\tfs_value_is_file = 5,\n};\n\nenum fsconfig_command {\n\tFSCONFIG_SET_FLAG = 0,\n\tFSCONFIG_SET_STRING = 1,\n\tFSCONFIG_SET_BINARY = 2,\n\tFSCONFIG_SET_PATH = 3,\n\tFSCONFIG_SET_PATH_EMPTY = 4,\n\tFSCONFIG_SET_FD = 5,\n\tFSCONFIG_CMD_CREATE = 6,\n\tFSCONFIG_CMD_RECONFIGURE = 7,\n\tFSCONFIG_CMD_CREATE_EXCL = 8,\n};\n\nenum fsl_mc_pool_type {\n\tFSL_MC_POOL_DPMCP = 0,\n\tFSL_MC_POOL_DPBP = 1,\n\tFSL_MC_POOL_DPCON = 2,\n\tFSL_MC_POOL_IRQ = 3,\n\tFSL_MC_NUM_POOL_TYPES = 4,\n};\n\nenum fsnotify_data_type {\n\tFSNOTIFY_EVENT_NONE = 0,\n\tFSNOTIFY_EVENT_FILE_RANGE = 1,\n\tFSNOTIFY_EVENT_PATH = 2,\n\tFSNOTIFY_EVENT_INODE = 3,\n\tFSNOTIFY_EVENT_DENTRY = 4,\n\tFSNOTIFY_EVENT_ERROR = 5,\n};\n\nenum fsnotify_group_prio {\n\tFSNOTIFY_PRIO_NORMAL = 0,\n\tFSNOTIFY_PRIO_CONTENT = 1,\n\tFSNOTIFY_PRIO_PRE_CONTENT = 2,\n\t__FSNOTIFY_PRIO_NUM = 3,\n};\n\nenum fsnotify_iter_type {\n\tFSNOTIFY_ITER_TYPE_INODE = 0,\n\tFSNOTIFY_ITER_TYPE_VFSMOUNT = 1,\n\tFSNOTIFY_ITER_TYPE_SB = 2,\n\tFSNOTIFY_ITER_TYPE_PARENT = 3,\n\tFSNOTIFY_ITER_TYPE_INODE2 = 4,\n\tFSNOTIFY_ITER_TYPE_COUNT = 5,\n};\n\nenum fsnotify_obj_type {\n\tFSNOTIFY_OBJ_TYPE_ANY = -1,\n\tFSNOTIFY_OBJ_TYPE_INODE = 0,\n\tFSNOTIFY_OBJ_TYPE_VFSMOUNT = 1,\n\tFSNOTIFY_OBJ_TYPE_SB = 2,\n\tFSNOTIFY_OBJ_TYPE_COUNT = 3,\n\tFSNOTIFY_OBJ_TYPE_DETACHED = 3,\n};\n\nenum ftrace_bug_type {\n\tFTRACE_BUG_UNKNOWN = 0,\n\tFTRACE_BUG_INIT = 1,\n\tFTRACE_BUG_NOP = 2,\n\tFTRACE_BUG_CALL = 3,\n\tFTRACE_BUG_UPDATE = 4,\n};\n\nenum ftrace_dump_mode {\n\tDUMP_NONE = 0,\n\tDUMP_ALL = 1,\n\tDUMP_ORIG = 2,\n\tDUMP_PARAM = 3,\n};\n\nenum ftrace_ops_cmd {\n\tFTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_SELF = 0,\n\tFTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_PEER = 1,\n\tFTRACE_OPS_CMD_DISABLE_SHARE_IPMODIFY_PEER = 2,\n};\n\nenum fullness_group {\n\tZS_INUSE_RATIO_0 = 0,\n\tZS_INUSE_RATIO_10 = 1,\n\tZS_INUSE_RATIO_99 = 10,\n\tZS_INUSE_RATIO_100 = 11,\n\tNR_FULLNESS_GROUPS = 12,\n};\n\nenum futex_access {\n\tFUTEX_READ = 0,\n\tFUTEX_WRITE = 1,\n};\n\nenum fw_opt {\n\tFW_OPT_UEVENT = 1,\n\tFW_OPT_NOWAIT = 2,\n\tFW_OPT_USERHELPER = 4,\n\tFW_OPT_NO_WARN = 8,\n\tFW_OPT_NOCACHE = 16,\n\tFW_OPT_NOFALLBACK_SYSFS = 32,\n\tFW_OPT_FALLBACK_PLATFORM = 64,\n\tFW_OPT_PARTIAL = 128,\n};\n\nenum fw_status {\n\tFW_STATUS_UNKNOWN = 0,\n\tFW_STATUS_LOADING = 1,\n\tFW_STATUS_DONE = 2,\n\tFW_STATUS_ABORTED = 3,\n};\n\nenum gem_phy_type {\n\tphy_mii_mdio0 = 0,\n\tphy_mii_mdio1 = 1,\n\tphy_serialink = 2,\n\tphy_serdes = 3,\n};\n\nenum genl_validate_flags {\n\tGENL_DONT_VALIDATE_STRICT = 1,\n\tGENL_DONT_VALIDATE_DUMP = 2,\n\tGENL_DONT_VALIDATE_DUMP_STRICT = 4,\n};\n\nenum gpiod_flags {\n\tGPIOD_ASIS = 0,\n\tGPIOD_IN = 1,\n\tGPIOD_OUT_LOW = 3,\n\tGPIOD_OUT_HIGH = 7,\n\tGPIOD_OUT_LOW_OPEN_DRAIN = 11,\n\tGPIOD_OUT_HIGH_OPEN_DRAIN = 15,\n};\n\nenum graph_filter_type {\n\tGRAPH_FILTER_NOTRACE = 0,\n\tGRAPH_FILTER_FUNCTION = 1,\n};\n\nenum gro_result {\n\tGRO_MERGED = 0,\n\tGRO_MERGED_FREE = 1,\n\tGRO_HELD = 2,\n\tGRO_NORMAL = 3,\n\tGRO_CONSUMED = 4,\n};\n\ntypedef enum gro_result gro_result_t;\n\nenum group_type {\n\tgroup_has_spare = 0,\n\tgroup_fully_busy = 1,\n\tgroup_misfit_task = 2,\n\tgroup_smt_balance = 3,\n\tgroup_asym_packing = 4,\n\tgroup_imbalanced = 5,\n\tgroup_overloaded = 6,\n};\n\nenum gxt_cards {\n\tGXT4500P = 0,\n\tGXT6500P = 1,\n\tGXT4000P = 2,\n\tGXT6000P = 3,\n};\n\nenum handle_to_path_flags {\n\tHANDLE_CHECK_PERMS = 1,\n\tHANDLE_CHECK_SUBTREE = 2,\n};\n\nenum handshake_auth {\n\tHANDSHAKE_AUTH_UNSPEC = 0,\n\tHANDSHAKE_AUTH_UNAUTH = 1,\n\tHANDSHAKE_AUTH_PSK = 2,\n\tHANDSHAKE_AUTH_X509 = 3,\n};\n\nenum handshake_handler_class {\n\tHANDSHAKE_HANDLER_CLASS_NONE = 0,\n\tHANDSHAKE_HANDLER_CLASS_TLSHD = 1,\n\tHANDSHAKE_HANDLER_CLASS_MAX = 2,\n};\n\nenum handshake_msg_type {\n\tHANDSHAKE_MSG_TYPE_UNSPEC = 0,\n\tHANDSHAKE_MSG_TYPE_CLIENTHELLO = 1,\n\tHANDSHAKE_MSG_TYPE_SERVERHELLO = 2,\n};\n\nenum hash_algo {\n\tHASH_ALGO_MD4 = 0,\n\tHASH_ALGO_MD5 = 1,\n\tHASH_ALGO_SHA1 = 2,\n\tHASH_ALGO_RIPE_MD_160 = 3,\n\tHASH_ALGO_SHA256 = 4,\n\tHASH_ALGO_SHA384 = 5,\n\tHASH_ALGO_SHA512 = 6,\n\tHASH_ALGO_SHA224 = 7,\n\tHASH_ALGO_RIPE_MD_128 = 8,\n\tHASH_ALGO_RIPE_MD_256 = 9,\n\tHASH_ALGO_RIPE_MD_320 = 10,\n\tHASH_ALGO_WP_256 = 11,\n\tHASH_ALGO_WP_384 = 12,\n\tHASH_ALGO_WP_512 = 13,\n\tHASH_ALGO_TGR_128 = 14,\n\tHASH_ALGO_TGR_160 = 15,\n\tHASH_ALGO_TGR_192 = 16,\n\tHASH_ALGO_SM3_256 = 17,\n\tHASH_ALGO_STREEBOG_256 = 18,\n\tHASH_ALGO_STREEBOG_512 = 19,\n\tHASH_ALGO_SHA3_256 = 20,\n\tHASH_ALGO_SHA3_384 = 21,\n\tHASH_ALGO_SHA3_512 = 22,\n\tHASH_ALGO__LAST = 23,\n};\n\nenum hctx_type {\n\tHCTX_TYPE_DEFAULT = 0,\n\tHCTX_TYPE_READ = 1,\n\tHCTX_TYPE_POLL = 2,\n\tHCTX_MAX_TYPES = 3,\n};\n\nenum header_fields {\n\tHDR_PCR = 0,\n\tHDR_DIGEST = 1,\n\tHDR_TEMPLATE_NAME = 2,\n\tHDR_TEMPLATE_DATA = 3,\n\tHDR__LAST = 4,\n};\n\nenum hid_class_request {\n\tHID_REQ_GET_REPORT = 1,\n\tHID_REQ_GET_IDLE = 2,\n\tHID_REQ_GET_PROTOCOL = 3,\n\tHID_REQ_SET_REPORT = 9,\n\tHID_REQ_SET_IDLE = 10,\n\tHID_REQ_SET_PROTOCOL = 11,\n};\n\nenum hid_report_type {\n\tHID_INPUT_REPORT = 0,\n\tHID_OUTPUT_REPORT = 1,\n\tHID_FEATURE_REPORT = 2,\n\tHID_REPORT_TYPES = 3,\n};\n\nenum hid_type {\n\tHID_TYPE_OTHER = 0,\n\tHID_TYPE_USBMOUSE = 1,\n\tHID_TYPE_USBNONE = 2,\n};\n\nenum hk_flags {\n\tHK_FLAG_DOMAIN = 1,\n\tHK_FLAG_MANAGED_IRQ = 2,\n\tHK_FLAG_KERNEL_NOISE = 4,\n};\n\nenum hk_type {\n\tHK_TYPE_DOMAIN = 0,\n\tHK_TYPE_MANAGED_IRQ = 1,\n\tHK_TYPE_KERNEL_NOISE = 2,\n\tHK_TYPE_MAX = 3,\n\tHK_TYPE_TICK = 2,\n\tHK_TYPE_TIMER = 2,\n\tHK_TYPE_RCU = 2,\n\tHK_TYPE_MISC = 2,\n\tHK_TYPE_WQ = 2,\n\tHK_TYPE_KTHREAD = 2,\n};\n\nenum hmm_pfn_flags {\n\tHMM_PFN_VALID = 9223372036854775808ULL,\n\tHMM_PFN_WRITE = 4611686018427387904ULL,\n\tHMM_PFN_ERROR = 2305843009213693952ULL,\n\tHMM_PFN_ORDER_SHIFT = 56ULL,\n\tHMM_PFN_REQ_FAULT = 9223372036854775808ULL,\n\tHMM_PFN_REQ_WRITE = 4611686018427387904ULL,\n\tHMM_PFN_FLAGS = 18374686479671623680ULL,\n};\n\nenum hn_flags_bits {\n\tHANDSHAKE_F_NET_DRAINING = 0,\n};\n\nenum hp_flags_bits {\n\tHANDSHAKE_F_PROTO_NOTIFY = 0,\n};\n\nenum hprobe_state {\n\tHPROBE_LEASED = 0,\n\tHPROBE_STABLE = 1,\n\tHPROBE_GONE = 2,\n\tHPROBE_CONSUMED = 3,\n};\n\nenum hr_flags_bits {\n\tHANDSHAKE_F_REQ_COMPLETED = 0,\n\tHANDSHAKE_F_REQ_SESSION = 1,\n};\n\nenum hrtimer_base_type {\n\tHRTIMER_BASE_MONOTONIC = 0,\n\tHRTIMER_BASE_REALTIME = 1,\n\tHRTIMER_BASE_BOOTTIME = 2,\n\tHRTIMER_BASE_TAI = 3,\n\tHRTIMER_BASE_MONOTONIC_SOFT = 4,\n\tHRTIMER_BASE_REALTIME_SOFT = 5,\n\tHRTIMER_BASE_BOOTTIME_SOFT = 6,\n\tHRTIMER_BASE_TAI_SOFT = 7,\n\tHRTIMER_MAX_CLOCK_BASES = 8,\n};\n\nenum hrtimer_mode {\n\tHRTIMER_MODE_ABS = 0,\n\tHRTIMER_MODE_REL = 1,\n\tHRTIMER_MODE_PINNED = 2,\n\tHRTIMER_MODE_SOFT = 4,\n\tHRTIMER_MODE_HARD = 8,\n\tHRTIMER_MODE_ABS_PINNED = 2,\n\tHRTIMER_MODE_REL_PINNED = 3,\n\tHRTIMER_MODE_ABS_SOFT = 4,\n\tHRTIMER_MODE_REL_SOFT = 5,\n\tHRTIMER_MODE_ABS_PINNED_SOFT = 6,\n\tHRTIMER_MODE_REL_PINNED_SOFT = 7,\n\tHRTIMER_MODE_ABS_HARD = 8,\n\tHRTIMER_MODE_REL_HARD = 9,\n\tHRTIMER_MODE_ABS_PINNED_HARD = 10,\n\tHRTIMER_MODE_REL_PINNED_HARD = 11,\n};\n\nenum hrtimer_restart {\n\tHRTIMER_NORESTART = 0,\n\tHRTIMER_RESTART = 1,\n};\n\nenum hsm_task_states {\n\tHSM_ST_IDLE = 0,\n\tHSM_ST_FIRST = 1,\n\tHSM_ST = 2,\n\tHSM_ST_LAST = 3,\n\tHSM_ST_ERR = 4,\n};\n\nenum hub_activation_type {\n\tHUB_INIT = 0,\n\tHUB_INIT2 = 1,\n\tHUB_INIT3 = 2,\n\tHUB_POST_RESET = 3,\n\tHUB_RESUME = 4,\n\tHUB_RESET_RESUME = 5,\n};\n\nenum hub_led_mode {\n\tINDICATOR_AUTO = 0,\n\tINDICATOR_CYCLE = 1,\n\tINDICATOR_GREEN_BLINK = 2,\n\tINDICATOR_GREEN_BLINK_OFF = 3,\n\tINDICATOR_AMBER_BLINK = 4,\n\tINDICATOR_AMBER_BLINK_OFF = 5,\n\tINDICATOR_ALT_BLINK = 6,\n\tINDICATOR_ALT_BLINK_OFF = 7,\n} __attribute__((mode(byte)));\n\nenum hub_quiescing_type {\n\tHUB_DISCONNECT = 0,\n\tHUB_PRE_RESET = 1,\n\tHUB_SUSPEND = 2,\n};\n\nenum hugetlb_memory_event {\n\tHUGETLB_MAX = 0,\n\tHUGETLB_NR_MEMORY_EVENTS = 1,\n};\n\nenum hugetlb_page_flags {\n\tHPG_restore_reserve = 0,\n\tHPG_migratable = 1,\n\tHPG_temporary = 2,\n\tHPG_freed = 3,\n\tHPG_vmemmap_optimized = 4,\n\tHPG_raw_hwp_unreliable = 5,\n\t__NR_HPAGEFLAGS = 6,\n};\n\nenum hugetlb_param {\n\tOpt_gid___6 = 0,\n\tOpt_min_size = 1,\n\tOpt_mode___5 = 2,\n\tOpt_nr_inodes = 3,\n\tOpt_pagesize = 4,\n\tOpt_size = 5,\n\tOpt_uid___6 = 6,\n};\n\nenum hugetlbfs_size_type {\n\tNO_SIZE = 0,\n\tSIZE_STD = 1,\n\tSIZE_PERCENT = 2,\n};\n\nenum hv_gpci_requests {\n\tHV_GPCI_dispatch_timebase_by_processor = 16,\n\tHV_GPCI_entitled_capped_uncapped_donated_idle_timebase_by_partition = 32,\n\tHV_GPCI_run_instructions_run_cycles_by_partition = 48,\n\tHV_GPCI_system_performance_capabilities = 64,\n\tHV_GPCI_processor_bus_utilization_abc_links = 80,\n\tHV_GPCI_processor_bus_utilization_wxyz_links = 96,\n\tHV_GPCI_processor_bus_utilization_gx_links = 112,\n\tHV_GPCI_processor_bus_utilization_mc_links = 128,\n\tHV_GPCI_processor_core_utilization = 148,\n\tHV_GPCI_partition_hypervisor_queuing_times = 224,\n\tHV_GPCI_system_hypervisor_times = 240,\n\tHV_GPCI_system_tlbie_count_and_time = 244,\n\tHV_GPCI_partition_instruction_count_and_time = 256,\n};\n\nenum hv_perf_domains {\n\tHV_PERF_DOMAIN_PHYS_CHIP = 1,\n\tHV_PERF_DOMAIN_PHYS_CORE = 2,\n\tHV_PERF_DOMAIN_VCPU_HOME_CORE = 3,\n\tHV_PERF_DOMAIN_VCPU_HOME_CHIP = 4,\n\tHV_PERF_DOMAIN_VCPU_HOME_NODE = 5,\n\tHV_PERF_DOMAIN_VCPU_REMOTE_NODE = 6,\n\tHV_PERF_DOMAIN_MAX = 7,\n};\n\nenum hv_protocol {\n\tHV_PROTOCOL_RAW = 0,\n\tHV_PROTOCOL_HVSI = 1,\n};\n\ntypedef enum hv_protocol hv_protocol_t;\n\nenum hw_event_mc_err_type {\n\tHW_EVENT_ERR_CORRECTED = 0,\n\tHW_EVENT_ERR_UNCORRECTED = 1,\n\tHW_EVENT_ERR_DEFERRED = 2,\n\tHW_EVENT_ERR_FATAL = 3,\n\tHW_EVENT_ERR_INFO = 4,\n};\n\nenum hwmon_chip_attributes {\n\thwmon_chip_temp_reset_history = 0,\n\thwmon_chip_in_reset_history = 1,\n\thwmon_chip_curr_reset_history = 2,\n\thwmon_chip_power_reset_history = 3,\n\thwmon_chip_register_tz = 4,\n\thwmon_chip_update_interval = 5,\n\thwmon_chip_alarms = 6,\n\thwmon_chip_samples = 7,\n\thwmon_chip_curr_samples = 8,\n\thwmon_chip_in_samples = 9,\n\thwmon_chip_power_samples = 10,\n\thwmon_chip_temp_samples = 11,\n\thwmon_chip_beep_enable = 12,\n\thwmon_chip_pec = 13,\n};\n\nenum hwmon_curr_attributes {\n\thwmon_curr_enable = 0,\n\thwmon_curr_input = 1,\n\thwmon_curr_min = 2,\n\thwmon_curr_max = 3,\n\thwmon_curr_lcrit = 4,\n\thwmon_curr_crit = 5,\n\thwmon_curr_average = 6,\n\thwmon_curr_lowest = 7,\n\thwmon_curr_highest = 8,\n\thwmon_curr_reset_history = 9,\n\thwmon_curr_label = 10,\n\thwmon_curr_alarm = 11,\n\thwmon_curr_min_alarm = 12,\n\thwmon_curr_max_alarm = 13,\n\thwmon_curr_lcrit_alarm = 14,\n\thwmon_curr_crit_alarm = 15,\n\thwmon_curr_rated_min = 16,\n\thwmon_curr_rated_max = 17,\n\thwmon_curr_beep = 18,\n};\n\nenum hwmon_energy_attributes {\n\thwmon_energy_enable = 0,\n\thwmon_energy_input = 1,\n\thwmon_energy_label = 2,\n};\n\nenum hwmon_fan_attributes {\n\thwmon_fan_enable = 0,\n\thwmon_fan_input = 1,\n\thwmon_fan_label = 2,\n\thwmon_fan_min = 3,\n\thwmon_fan_max = 4,\n\thwmon_fan_div = 5,\n\thwmon_fan_pulses = 6,\n\thwmon_fan_target = 7,\n\thwmon_fan_alarm = 8,\n\thwmon_fan_min_alarm = 9,\n\thwmon_fan_max_alarm = 10,\n\thwmon_fan_fault = 11,\n\thwmon_fan_beep = 12,\n};\n\nenum hwmon_humidity_attributes {\n\thwmon_humidity_enable = 0,\n\thwmon_humidity_input = 1,\n\thwmon_humidity_label = 2,\n\thwmon_humidity_min = 3,\n\thwmon_humidity_min_hyst = 4,\n\thwmon_humidity_max = 5,\n\thwmon_humidity_max_hyst = 6,\n\thwmon_humidity_alarm = 7,\n\thwmon_humidity_fault = 8,\n\thwmon_humidity_rated_min = 9,\n\thwmon_humidity_rated_max = 10,\n\thwmon_humidity_min_alarm = 11,\n\thwmon_humidity_max_alarm = 12,\n};\n\nenum hwmon_in_attributes {\n\thwmon_in_enable = 0,\n\thwmon_in_input = 1,\n\thwmon_in_min = 2,\n\thwmon_in_max = 3,\n\thwmon_in_lcrit = 4,\n\thwmon_in_crit = 5,\n\thwmon_in_average = 6,\n\thwmon_in_lowest = 7,\n\thwmon_in_highest = 8,\n\thwmon_in_reset_history = 9,\n\thwmon_in_label = 10,\n\thwmon_in_alarm = 11,\n\thwmon_in_min_alarm = 12,\n\thwmon_in_max_alarm = 13,\n\thwmon_in_lcrit_alarm = 14,\n\thwmon_in_crit_alarm = 15,\n\thwmon_in_rated_min = 16,\n\thwmon_in_rated_max = 17,\n\thwmon_in_beep = 18,\n\thwmon_in_fault = 19,\n};\n\nenum hwmon_intrusion_attributes {\n\thwmon_intrusion_alarm = 0,\n\thwmon_intrusion_beep = 1,\n};\n\nenum hwmon_power_attributes {\n\thwmon_power_enable = 0,\n\thwmon_power_average = 1,\n\thwmon_power_average_interval = 2,\n\thwmon_power_average_interval_max = 3,\n\thwmon_power_average_interval_min = 4,\n\thwmon_power_average_highest = 5,\n\thwmon_power_average_lowest = 6,\n\thwmon_power_average_max = 7,\n\thwmon_power_average_min = 8,\n\thwmon_power_input = 9,\n\thwmon_power_input_highest = 10,\n\thwmon_power_input_lowest = 11,\n\thwmon_power_reset_history = 12,\n\thwmon_power_accuracy = 13,\n\thwmon_power_cap = 14,\n\thwmon_power_cap_hyst = 15,\n\thwmon_power_cap_max = 16,\n\thwmon_power_cap_min = 17,\n\thwmon_power_min = 18,\n\thwmon_power_max = 19,\n\thwmon_power_crit = 20,\n\thwmon_power_lcrit = 21,\n\thwmon_power_label = 22,\n\thwmon_power_alarm = 23,\n\thwmon_power_cap_alarm = 24,\n\thwmon_power_min_alarm = 25,\n\thwmon_power_max_alarm = 26,\n\thwmon_power_lcrit_alarm = 27,\n\thwmon_power_crit_alarm = 28,\n\thwmon_power_rated_min = 29,\n\thwmon_power_rated_max = 30,\n};\n\nenum hwmon_pwm_attributes {\n\thwmon_pwm_input = 0,\n\thwmon_pwm_enable = 1,\n\thwmon_pwm_mode = 2,\n\thwmon_pwm_freq = 3,\n\thwmon_pwm_auto_channels_temp = 4,\n};\n\nenum hwmon_sensor_types {\n\thwmon_chip = 0,\n\thwmon_temp = 1,\n\thwmon_in = 2,\n\thwmon_curr = 3,\n\thwmon_power = 4,\n\thwmon_energy = 5,\n\thwmon_humidity = 6,\n\thwmon_fan = 7,\n\thwmon_pwm = 8,\n\thwmon_intrusion = 9,\n\thwmon_max = 10,\n};\n\nenum hwmon_temp_attributes {\n\thwmon_temp_enable = 0,\n\thwmon_temp_input = 1,\n\thwmon_temp_type = 2,\n\thwmon_temp_lcrit = 3,\n\thwmon_temp_lcrit_hyst = 4,\n\thwmon_temp_min = 5,\n\thwmon_temp_min_hyst = 6,\n\thwmon_temp_max = 7,\n\thwmon_temp_max_hyst = 8,\n\thwmon_temp_crit = 9,\n\thwmon_temp_crit_hyst = 10,\n\thwmon_temp_emergency = 11,\n\thwmon_temp_emergency_hyst = 12,\n\thwmon_temp_alarm = 13,\n\thwmon_temp_lcrit_alarm = 14,\n\thwmon_temp_min_alarm = 15,\n\thwmon_temp_max_alarm = 16,\n\thwmon_temp_crit_alarm = 17,\n\thwmon_temp_emergency_alarm = 18,\n\thwmon_temp_fault = 19,\n\thwmon_temp_offset = 20,\n\thwmon_temp_label = 21,\n\thwmon_temp_lowest = 22,\n\thwmon_temp_highest = 23,\n\thwmon_temp_reset_history = 24,\n\thwmon_temp_rated_min = 25,\n\thwmon_temp_rated_max = 26,\n\thwmon_temp_beep = 27,\n};\n\nenum hwparam_type {\n\thwparam_ioport = 0,\n\thwparam_iomem = 1,\n\thwparam_ioport_or_iomem = 2,\n\thwparam_irq = 3,\n\thwparam_dma = 4,\n\thwparam_dma_addr = 5,\n\thwparam_other = 6,\n};\n\nenum hwtstamp_flags {\n\tHWTSTAMP_FLAG_BONDED_PHC_INDEX = 1,\n\tHWTSTAMP_FLAG_LAST = 1,\n\tHWTSTAMP_FLAG_MASK = 1,\n};\n\nenum hwtstamp_provider_qualifier {\n\tHWTSTAMP_PROVIDER_QUALIFIER_PRECISE = 0,\n\tHWTSTAMP_PROVIDER_QUALIFIER_APPROX = 1,\n\tHWTSTAMP_PROVIDER_QUALIFIER_CNT = 2,\n};\n\nenum hwtstamp_rx_filters {\n\tHWTSTAMP_FILTER_NONE = 0,\n\tHWTSTAMP_FILTER_ALL = 1,\n\tHWTSTAMP_FILTER_SOME = 2,\n\tHWTSTAMP_FILTER_PTP_V1_L4_EVENT = 3,\n\tHWTSTAMP_FILTER_PTP_V1_L4_SYNC = 4,\n\tHWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ = 5,\n\tHWTSTAMP_FILTER_PTP_V2_L4_EVENT = 6,\n\tHWTSTAMP_FILTER_PTP_V2_L4_SYNC = 7,\n\tHWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ = 8,\n\tHWTSTAMP_FILTER_PTP_V2_L2_EVENT = 9,\n\tHWTSTAMP_FILTER_PTP_V2_L2_SYNC = 10,\n\tHWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ = 11,\n\tHWTSTAMP_FILTER_PTP_V2_EVENT = 12,\n\tHWTSTAMP_FILTER_PTP_V2_SYNC = 13,\n\tHWTSTAMP_FILTER_PTP_V2_DELAY_REQ = 14,\n\tHWTSTAMP_FILTER_NTP_ALL = 15,\n\t__HWTSTAMP_FILTER_CNT = 16,\n};\n\nenum hwtstamp_source {\n\tHWTSTAMP_SOURCE_UNSPEC = 0,\n\tHWTSTAMP_SOURCE_NETDEV = 1,\n\tHWTSTAMP_SOURCE_PHYLIB = 2,\n};\n\nenum hwtstamp_tx_types {\n\tHWTSTAMP_TX_OFF = 0,\n\tHWTSTAMP_TX_ON = 1,\n\tHWTSTAMP_TX_ONESTEP_SYNC = 2,\n\tHWTSTAMP_TX_ONESTEP_P2P = 3,\n\t__HWTSTAMP_TX_CNT = 4,\n};\n\nenum i2c_alert_protocol {\n\tI2C_PROTOCOL_SMBUS_ALERT = 0,\n\tI2C_PROTOCOL_SMBUS_HOST_NOTIFY = 1,\n};\n\nenum i8042_controller_reset_mode {\n\tI8042_RESET_NEVER = 0,\n\tI8042_RESET_ALWAYS = 1,\n\tI8042_RESET_ON_S2RAM = 2,\n};\n\nenum ib_atomic_cap {\n\tIB_ATOMIC_NONE = 0,\n\tIB_ATOMIC_HCA = 1,\n\tIB_ATOMIC_GLOB = 2,\n};\n\nenum ib_cq_notify_flags {\n\tIB_CQ_SOLICITED = 1,\n\tIB_CQ_NEXT_COMP = 2,\n\tIB_CQ_SOLICITED_MASK = 3,\n\tIB_CQ_REPORT_MISSED_EVENTS = 4,\n};\n\nenum ib_event_type {\n\tIB_EVENT_CQ_ERR = 0,\n\tIB_EVENT_QP_FATAL = 1,\n\tIB_EVENT_QP_REQ_ERR = 2,\n\tIB_EVENT_QP_ACCESS_ERR = 3,\n\tIB_EVENT_COMM_EST = 4,\n\tIB_EVENT_SQ_DRAINED = 5,\n\tIB_EVENT_PATH_MIG = 6,\n\tIB_EVENT_PATH_MIG_ERR = 7,\n\tIB_EVENT_DEVICE_FATAL = 8,\n\tIB_EVENT_PORT_ACTIVE = 9,\n\tIB_EVENT_PORT_ERR = 10,\n\tIB_EVENT_LID_CHANGE = 11,\n\tIB_EVENT_PKEY_CHANGE = 12,\n\tIB_EVENT_SM_CHANGE = 13,\n\tIB_EVENT_SRQ_ERR = 14,\n\tIB_EVENT_SRQ_LIMIT_REACHED = 15,\n\tIB_EVENT_QP_LAST_WQE_REACHED = 16,\n\tIB_EVENT_CLIENT_REREGISTER = 17,\n\tIB_EVENT_GID_CHANGE = 18,\n\tIB_EVENT_WQ_FATAL = 19,\n};\n\nenum ib_flow_action_type {\n\tIB_FLOW_ACTION_UNSPECIFIED = 0,\n\tIB_FLOW_ACTION_ESP = 1,\n};\n\nenum ib_flow_attr_type {\n\tIB_FLOW_ATTR_NORMAL = 0,\n\tIB_FLOW_ATTR_ALL_DEFAULT = 1,\n\tIB_FLOW_ATTR_MC_DEFAULT = 2,\n\tIB_FLOW_ATTR_SNIFFER = 3,\n};\n\nenum ib_flow_spec_type {\n\tIB_FLOW_SPEC_ETH = 32,\n\tIB_FLOW_SPEC_IB = 34,\n\tIB_FLOW_SPEC_IPV4 = 48,\n\tIB_FLOW_SPEC_IPV6 = 49,\n\tIB_FLOW_SPEC_ESP = 52,\n\tIB_FLOW_SPEC_TCP = 64,\n\tIB_FLOW_SPEC_UDP = 65,\n\tIB_FLOW_SPEC_VXLAN_TUNNEL = 80,\n\tIB_FLOW_SPEC_GRE = 81,\n\tIB_FLOW_SPEC_MPLS = 96,\n\tIB_FLOW_SPEC_INNER = 256,\n\tIB_FLOW_SPEC_ACTION_TAG = 4096,\n\tIB_FLOW_SPEC_ACTION_DROP = 4097,\n\tIB_FLOW_SPEC_ACTION_HANDLE = 4098,\n\tIB_FLOW_SPEC_ACTION_COUNT = 4099,\n};\n\nenum ib_gid_type {\n\tIB_GID_TYPE_IB = 0,\n\tIB_GID_TYPE_ROCE = 1,\n\tIB_GID_TYPE_ROCE_UDP_ENCAP = 2,\n\tIB_GID_TYPE_SIZE = 3,\n};\n\nenum ib_mig_state {\n\tIB_MIG_MIGRATED = 0,\n\tIB_MIG_REARM = 1,\n\tIB_MIG_ARMED = 2,\n};\n\nenum ib_mr_type {\n\tIB_MR_TYPE_MEM_REG = 0,\n\tIB_MR_TYPE_SG_GAPS = 1,\n\tIB_MR_TYPE_DM = 2,\n\tIB_MR_TYPE_USER = 3,\n\tIB_MR_TYPE_DMA = 4,\n\tIB_MR_TYPE_INTEGRITY = 5,\n};\n\nenum ib_mtu {\n\tIB_MTU_256 = 1,\n\tIB_MTU_512 = 2,\n\tIB_MTU_1024 = 3,\n\tIB_MTU_2048 = 4,\n\tIB_MTU_4096 = 5,\n};\n\nenum ib_mw_type {\n\tIB_MW_TYPE_1 = 1,\n\tIB_MW_TYPE_2 = 2,\n};\n\nenum ib_poll_context {\n\tIB_POLL_SOFTIRQ = 0,\n\tIB_POLL_WORKQUEUE = 1,\n\tIB_POLL_UNBOUND_WORKQUEUE = 2,\n\tIB_POLL_LAST_POOL_TYPE = 2,\n\tIB_POLL_DIRECT = 3,\n};\n\nenum ib_port_state {\n\tIB_PORT_NOP = 0,\n\tIB_PORT_DOWN = 1,\n\tIB_PORT_INIT = 2,\n\tIB_PORT_ARMED = 3,\n\tIB_PORT_ACTIVE = 4,\n\tIB_PORT_ACTIVE_DEFER = 5,\n};\n\nenum ib_qp_state {\n\tIB_QPS_RESET = 0,\n\tIB_QPS_INIT = 1,\n\tIB_QPS_RTR = 2,\n\tIB_QPS_RTS = 3,\n\tIB_QPS_SQD = 4,\n\tIB_QPS_SQE = 5,\n\tIB_QPS_ERR = 6,\n};\n\nenum ib_qp_type {\n\tIB_QPT_SMI = 0,\n\tIB_QPT_GSI = 1,\n\tIB_QPT_RC = 2,\n\tIB_QPT_UC = 3,\n\tIB_QPT_UD = 4,\n\tIB_QPT_RAW_IPV6 = 5,\n\tIB_QPT_RAW_ETHERTYPE = 6,\n\tIB_QPT_RAW_PACKET = 8,\n\tIB_QPT_XRC_INI = 9,\n\tIB_QPT_XRC_TGT = 10,\n\tIB_QPT_MAX = 11,\n\tIB_QPT_DRIVER = 255,\n\tIB_QPT_RESERVED1 = 4096,\n\tIB_QPT_RESERVED2 = 4097,\n\tIB_QPT_RESERVED3 = 4098,\n\tIB_QPT_RESERVED4 = 4099,\n\tIB_QPT_RESERVED5 = 4100,\n\tIB_QPT_RESERVED6 = 4101,\n\tIB_QPT_RESERVED7 = 4102,\n\tIB_QPT_RESERVED8 = 4103,\n\tIB_QPT_RESERVED9 = 4104,\n\tIB_QPT_RESERVED10 = 4105,\n};\n\nenum ib_sig_err_type {\n\tIB_SIG_BAD_GUARD = 0,\n\tIB_SIG_BAD_REFTAG = 1,\n\tIB_SIG_BAD_APPTAG = 2,\n};\n\nenum ib_sig_type {\n\tIB_SIGNAL_ALL_WR = 0,\n\tIB_SIGNAL_REQ_WR = 1,\n};\n\nenum ib_signature_type {\n\tIB_SIG_TYPE_NONE = 0,\n\tIB_SIG_TYPE_T10_DIF = 1,\n};\n\nenum ib_srq_attr_mask {\n\tIB_SRQ_MAX_WR = 1,\n\tIB_SRQ_LIMIT = 2,\n};\n\nenum ib_srq_type {\n\tIB_SRQT_BASIC = 0,\n\tIB_SRQT_XRC = 1,\n\tIB_SRQT_TM = 2,\n};\n\nenum ib_t10_dif_bg_type {\n\tIB_T10DIF_CRC = 0,\n\tIB_T10DIF_CSUM = 1,\n};\n\nenum ib_uverbs_access_flags {\n\tIB_UVERBS_ACCESS_LOCAL_WRITE = 1,\n\tIB_UVERBS_ACCESS_REMOTE_WRITE = 2,\n\tIB_UVERBS_ACCESS_REMOTE_READ = 4,\n\tIB_UVERBS_ACCESS_REMOTE_ATOMIC = 8,\n\tIB_UVERBS_ACCESS_MW_BIND = 16,\n\tIB_UVERBS_ACCESS_ZERO_BASED = 32,\n\tIB_UVERBS_ACCESS_ON_DEMAND = 64,\n\tIB_UVERBS_ACCESS_HUGETLB = 128,\n\tIB_UVERBS_ACCESS_FLUSH_GLOBAL = 256,\n\tIB_UVERBS_ACCESS_FLUSH_PERSISTENT = 512,\n\tIB_UVERBS_ACCESS_RELAXED_ORDERING = 1048576,\n\tIB_UVERBS_ACCESS_OPTIONAL_RANGE = 1072693248,\n};\n\nenum ib_uverbs_advise_mr_advice {\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH = 0,\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE = 1,\n\tIB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = 2,\n};\n\nenum ib_uverbs_create_qp_mask {\n\tIB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1,\n};\n\nenum ib_uverbs_device_cap_flags {\n\tIB_UVERBS_DEVICE_RESIZE_MAX_WR = 1ULL,\n\tIB_UVERBS_DEVICE_BAD_PKEY_CNTR = 2ULL,\n\tIB_UVERBS_DEVICE_BAD_QKEY_CNTR = 4ULL,\n\tIB_UVERBS_DEVICE_RAW_MULTI = 8ULL,\n\tIB_UVERBS_DEVICE_AUTO_PATH_MIG = 16ULL,\n\tIB_UVERBS_DEVICE_CHANGE_PHY_PORT = 32ULL,\n\tIB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE = 64ULL,\n\tIB_UVERBS_DEVICE_CURR_QP_STATE_MOD = 128ULL,\n\tIB_UVERBS_DEVICE_SHUTDOWN_PORT = 256ULL,\n\tIB_UVERBS_DEVICE_PORT_ACTIVE_EVENT = 1024ULL,\n\tIB_UVERBS_DEVICE_SYS_IMAGE_GUID = 2048ULL,\n\tIB_UVERBS_DEVICE_RC_RNR_NAK_GEN = 4096ULL,\n\tIB_UVERBS_DEVICE_SRQ_RESIZE = 8192ULL,\n\tIB_UVERBS_DEVICE_N_NOTIFY_CQ = 16384ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW = 131072ULL,\n\tIB_UVERBS_DEVICE_UD_IP_CSUM = 262144ULL,\n\tIB_UVERBS_DEVICE_XRC = 1048576ULL,\n\tIB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS = 2097152ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A = 8388608ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B = 16777216ULL,\n\tIB_UVERBS_DEVICE_RC_IP_CSUM = 33554432ULL,\n\tIB_UVERBS_DEVICE_RAW_IP_CSUM = 67108864ULL,\n\tIB_UVERBS_DEVICE_MANAGED_FLOW_STEERING = 536870912ULL,\n\tIB_UVERBS_DEVICE_RAW_SCATTER_FCS = 17179869184ULL,\n\tIB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = 68719476736ULL,\n\tIB_UVERBS_DEVICE_FLUSH_GLOBAL = 274877906944ULL,\n\tIB_UVERBS_DEVICE_FLUSH_PERSISTENT = 549755813888ULL,\n\tIB_UVERBS_DEVICE_ATOMIC_WRITE = 1099511627776ULL,\n};\n\nenum ib_uverbs_gid_type {\n\tIB_UVERBS_GID_TYPE_IB = 0,\n\tIB_UVERBS_GID_TYPE_ROCE_V1 = 1,\n\tIB_UVERBS_GID_TYPE_ROCE_V2 = 2,\n};\n\nenum ib_uverbs_qp_create_flags {\n\tIB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 2,\n\tIB_UVERBS_QP_CREATE_SCATTER_FCS = 256,\n\tIB_UVERBS_QP_CREATE_CVLAN_STRIPPING = 512,\n\tIB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = 2048,\n\tIB_UVERBS_QP_CREATE_SQ_SIG_ALL = 4096,\n};\n\nenum ib_uverbs_qp_type {\n\tIB_UVERBS_QPT_RC = 2,\n\tIB_UVERBS_QPT_UC = 3,\n\tIB_UVERBS_QPT_UD = 4,\n\tIB_UVERBS_QPT_RAW_PACKET = 8,\n\tIB_UVERBS_QPT_XRC_INI = 9,\n\tIB_UVERBS_QPT_XRC_TGT = 10,\n\tIB_UVERBS_QPT_DRIVER = 255,\n};\n\nenum ib_uverbs_raw_packet_caps {\n\tIB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING = 1,\n\tIB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS = 2,\n\tIB_UVERBS_RAW_PACKET_CAP_IP_CSUM = 4,\n\tIB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = 8,\n};\n\nenum ib_uverbs_srq_type {\n\tIB_UVERBS_SRQT_BASIC = 0,\n\tIB_UVERBS_SRQT_XRC = 1,\n\tIB_UVERBS_SRQT_TM = 2,\n};\n\nenum ib_uverbs_wc_opcode {\n\tIB_UVERBS_WC_SEND = 0,\n\tIB_UVERBS_WC_RDMA_WRITE = 1,\n\tIB_UVERBS_WC_RDMA_READ = 2,\n\tIB_UVERBS_WC_COMP_SWAP = 3,\n\tIB_UVERBS_WC_FETCH_ADD = 4,\n\tIB_UVERBS_WC_BIND_MW = 5,\n\tIB_UVERBS_WC_LOCAL_INV = 6,\n\tIB_UVERBS_WC_TSO = 7,\n\tIB_UVERBS_WC_FLUSH = 8,\n\tIB_UVERBS_WC_ATOMIC_WRITE = 9,\n};\n\nenum ib_uverbs_wq_flags {\n\tIB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = 1,\n\tIB_UVERBS_WQ_FLAGS_SCATTER_FCS = 2,\n\tIB_UVERBS_WQ_FLAGS_DELAY_DROP = 4,\n\tIB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = 8,\n};\n\nenum ib_uverbs_wq_type {\n\tIB_UVERBS_WQT_RQ = 0,\n};\n\nenum ib_uverbs_wr_opcode {\n\tIB_UVERBS_WR_RDMA_WRITE = 0,\n\tIB_UVERBS_WR_RDMA_WRITE_WITH_IMM = 1,\n\tIB_UVERBS_WR_SEND = 2,\n\tIB_UVERBS_WR_SEND_WITH_IMM = 3,\n\tIB_UVERBS_WR_RDMA_READ = 4,\n\tIB_UVERBS_WR_ATOMIC_CMP_AND_SWP = 5,\n\tIB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = 6,\n\tIB_UVERBS_WR_LOCAL_INV = 7,\n\tIB_UVERBS_WR_BIND_MW = 8,\n\tIB_UVERBS_WR_SEND_WITH_INV = 9,\n\tIB_UVERBS_WR_TSO = 10,\n\tIB_UVERBS_WR_RDMA_READ_WITH_INV = 11,\n\tIB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12,\n\tIB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13,\n\tIB_UVERBS_WR_FLUSH = 14,\n\tIB_UVERBS_WR_ATOMIC_WRITE = 15,\n};\n\nenum ib_uverbs_write_cmds {\n\tIB_USER_VERBS_CMD_GET_CONTEXT = 0,\n\tIB_USER_VERBS_CMD_QUERY_DEVICE = 1,\n\tIB_USER_VERBS_CMD_QUERY_PORT = 2,\n\tIB_USER_VERBS_CMD_ALLOC_PD = 3,\n\tIB_USER_VERBS_CMD_DEALLOC_PD = 4,\n\tIB_USER_VERBS_CMD_CREATE_AH = 5,\n\tIB_USER_VERBS_CMD_MODIFY_AH = 6,\n\tIB_USER_VERBS_CMD_QUERY_AH = 7,\n\tIB_USER_VERBS_CMD_DESTROY_AH = 8,\n\tIB_USER_VERBS_CMD_REG_MR = 9,\n\tIB_USER_VERBS_CMD_REG_SMR = 10,\n\tIB_USER_VERBS_CMD_REREG_MR = 11,\n\tIB_USER_VERBS_CMD_QUERY_MR = 12,\n\tIB_USER_VERBS_CMD_DEREG_MR = 13,\n\tIB_USER_VERBS_CMD_ALLOC_MW = 14,\n\tIB_USER_VERBS_CMD_BIND_MW = 15,\n\tIB_USER_VERBS_CMD_DEALLOC_MW = 16,\n\tIB_USER_VERBS_CMD_CREATE_COMP_CHANNEL = 17,\n\tIB_USER_VERBS_CMD_CREATE_CQ = 18,\n\tIB_USER_VERBS_CMD_RESIZE_CQ = 19,\n\tIB_USER_VERBS_CMD_DESTROY_CQ = 20,\n\tIB_USER_VERBS_CMD_POLL_CQ = 21,\n\tIB_USER_VERBS_CMD_PEEK_CQ = 22,\n\tIB_USER_VERBS_CMD_REQ_NOTIFY_CQ = 23,\n\tIB_USER_VERBS_CMD_CREATE_QP = 24,\n\tIB_USER_VERBS_CMD_QUERY_QP = 25,\n\tIB_USER_VERBS_CMD_MODIFY_QP = 26,\n\tIB_USER_VERBS_CMD_DESTROY_QP = 27,\n\tIB_USER_VERBS_CMD_POST_SEND = 28,\n\tIB_USER_VERBS_CMD_POST_RECV = 29,\n\tIB_USER_VERBS_CMD_ATTACH_MCAST = 30,\n\tIB_USER_VERBS_CMD_DETACH_MCAST = 31,\n\tIB_USER_VERBS_CMD_CREATE_SRQ = 32,\n\tIB_USER_VERBS_CMD_MODIFY_SRQ = 33,\n\tIB_USER_VERBS_CMD_QUERY_SRQ = 34,\n\tIB_USER_VERBS_CMD_DESTROY_SRQ = 35,\n\tIB_USER_VERBS_CMD_POST_SRQ_RECV = 36,\n\tIB_USER_VERBS_CMD_OPEN_XRCD = 37,\n\tIB_USER_VERBS_CMD_CLOSE_XRCD = 38,\n\tIB_USER_VERBS_CMD_CREATE_XSRQ = 39,\n\tIB_USER_VERBS_CMD_OPEN_QP = 40,\n};\n\nenum ib_wc_opcode {\n\tIB_WC_SEND = 0,\n\tIB_WC_RDMA_WRITE = 1,\n\tIB_WC_RDMA_READ = 2,\n\tIB_WC_COMP_SWAP = 3,\n\tIB_WC_FETCH_ADD = 4,\n\tIB_WC_BIND_MW = 5,\n\tIB_WC_LOCAL_INV = 6,\n\tIB_WC_LSO = 7,\n\tIB_WC_ATOMIC_WRITE = 9,\n\tIB_WC_REG_MR = 10,\n\tIB_WC_MASKED_COMP_SWAP = 11,\n\tIB_WC_MASKED_FETCH_ADD = 12,\n\tIB_WC_FLUSH = 8,\n\tIB_WC_RECV = 128,\n\tIB_WC_RECV_RDMA_WITH_IMM = 129,\n};\n\nenum ib_wc_status {\n\tIB_WC_SUCCESS = 0,\n\tIB_WC_LOC_LEN_ERR = 1,\n\tIB_WC_LOC_QP_OP_ERR = 2,\n\tIB_WC_LOC_EEC_OP_ERR = 3,\n\tIB_WC_LOC_PROT_ERR = 4,\n\tIB_WC_WR_FLUSH_ERR = 5,\n\tIB_WC_MW_BIND_ERR = 6,\n\tIB_WC_BAD_RESP_ERR = 7,\n\tIB_WC_LOC_ACCESS_ERR = 8,\n\tIB_WC_REM_INV_REQ_ERR = 9,\n\tIB_WC_REM_ACCESS_ERR = 10,\n\tIB_WC_REM_OP_ERR = 11,\n\tIB_WC_RETRY_EXC_ERR = 12,\n\tIB_WC_RNR_RETRY_EXC_ERR = 13,\n\tIB_WC_LOC_RDD_VIOL_ERR = 14,\n\tIB_WC_REM_INV_RD_REQ_ERR = 15,\n\tIB_WC_REM_ABORT_ERR = 16,\n\tIB_WC_INV_EECN_ERR = 17,\n\tIB_WC_INV_EEC_STATE_ERR = 18,\n\tIB_WC_FATAL_ERR = 19,\n\tIB_WC_RESP_TIMEOUT_ERR = 20,\n\tIB_WC_GENERAL_ERR = 21,\n};\n\nenum ib_wq_state {\n\tIB_WQS_RESET = 0,\n\tIB_WQS_RDY = 1,\n\tIB_WQS_ERR = 2,\n};\n\nenum ib_wq_type {\n\tIB_WQT_RQ = 0,\n};\n\nenum ib_wr_opcode {\n\tIB_WR_RDMA_WRITE = 0,\n\tIB_WR_RDMA_WRITE_WITH_IMM = 1,\n\tIB_WR_SEND = 2,\n\tIB_WR_SEND_WITH_IMM = 3,\n\tIB_WR_RDMA_READ = 4,\n\tIB_WR_ATOMIC_CMP_AND_SWP = 5,\n\tIB_WR_ATOMIC_FETCH_AND_ADD = 6,\n\tIB_WR_BIND_MW = 8,\n\tIB_WR_LSO = 10,\n\tIB_WR_SEND_WITH_INV = 9,\n\tIB_WR_RDMA_READ_WITH_INV = 11,\n\tIB_WR_LOCAL_INV = 7,\n\tIB_WR_MASKED_ATOMIC_CMP_AND_SWP = 12,\n\tIB_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13,\n\tIB_WR_FLUSH = 14,\n\tIB_WR_ATOMIC_WRITE = 15,\n\tIB_WR_REG_MR = 32,\n\tIB_WR_REG_MR_INTEGRITY = 33,\n\tIB_WR_RESERVED1 = 240,\n\tIB_WR_RESERVED2 = 241,\n\tIB_WR_RESERVED3 = 242,\n\tIB_WR_RESERVED4 = 243,\n\tIB_WR_RESERVED5 = 244,\n\tIB_WR_RESERVED6 = 245,\n\tIB_WR_RESERVED7 = 246,\n\tIB_WR_RESERVED8 = 247,\n\tIB_WR_RESERVED9 = 248,\n\tIB_WR_RESERVED10 = 249,\n};\n\nenum ibmvscsi_host_action {\n\tIBMVSCSI_HOST_ACTION_NONE = 0,\n\tIBMVSCSI_HOST_ACTION_RESET = 1,\n\tIBMVSCSI_HOST_ACTION_REENABLE = 2,\n\tIBMVSCSI_HOST_ACTION_UNBLOCK = 3,\n};\n\nenum id_action {\n\tID_REMOVE = 0,\n\tID_ADD = 1,\n};\n\nenum idle_boot_override {\n\tIDLE_NO_OVERRIDE = 0,\n\tIDLE_POWERSAVE_OFF = 1,\n};\n\nenum ima_fs_flags {\n\tIMA_FS_BUSY = 0,\n};\n\nenum ima_hooks {\n\tNONE = 0,\n\tFILE_CHECK = 1,\n\tMMAP_CHECK = 2,\n\tMMAP_CHECK_REQPROT = 3,\n\tBPRM_CHECK = 4,\n\tCREDS_CHECK = 5,\n\tPOST_SETATTR = 6,\n\tMODULE_CHECK = 7,\n\tFIRMWARE_CHECK = 8,\n\tKEXEC_KERNEL_CHECK = 9,\n\tKEXEC_INITRAMFS_CHECK = 10,\n\tPOLICY_CHECK = 11,\n\tKEXEC_CMDLINE = 12,\n\tKEY_CHECK = 13,\n\tCRITICAL_DATA = 14,\n\tSETXATTR_CHECK = 15,\n\tMAX_CHECK = 16,\n};\n\nenum ima_show_type {\n\tIMA_SHOW_BINARY = 0,\n\tIMA_SHOW_BINARY_NO_FIELD_LEN = 1,\n\tIMA_SHOW_BINARY_OLD_STRING_FMT = 2,\n\tIMA_SHOW_ASCII = 3,\n};\n\nenum in6_addr_gen_mode {\n\tIN6_ADDR_GEN_MODE_EUI64 = 0,\n\tIN6_ADDR_GEN_MODE_NONE = 1,\n\tIN6_ADDR_GEN_MODE_STABLE_PRIVACY = 2,\n\tIN6_ADDR_GEN_MODE_RANDOM = 3,\n};\n\nenum inet_csk_ack_state_t {\n\tICSK_ACK_SCHED = 1,\n\tICSK_ACK_TIMER = 2,\n\tICSK_ACK_PUSHED = 4,\n\tICSK_ACK_PUSHED2 = 8,\n\tICSK_ACK_NOW = 16,\n\tICSK_ACK_NOMEM = 32,\n};\n\nenum inode_i_mutex_lock_class {\n\tI_MUTEX_NORMAL = 0,\n\tI_MUTEX_PARENT = 1,\n\tI_MUTEX_CHILD = 2,\n\tI_MUTEX_XATTR = 3,\n\tI_MUTEX_NONDIR2 = 4,\n\tI_MUTEX_PARENT2 = 5,\n};\n\nenum input_clock_type {\n\tINPUT_CLK_REAL = 0,\n\tINPUT_CLK_MONO = 1,\n\tINPUT_CLK_BOOT = 2,\n\tINPUT_CLK_MAX = 3,\n};\n\nenum instruction_type {\n\tCOMPUTE = 0,\n\tLOAD = 1,\n\tLOAD_MULTI = 2,\n\tLOAD_FP = 3,\n\tLOAD_VMX = 4,\n\tLOAD_VSX = 5,\n\tSTORE = 6,\n\tSTORE_MULTI = 7,\n\tSTORE_FP = 8,\n\tSTORE_VMX = 9,\n\tSTORE_VSX = 10,\n\tLARX = 11,\n\tSTCX = 12,\n\tBRANCH___2 = 13,\n\tMFSPR = 14,\n\tMTSPR = 15,\n\tCACHEOP = 16,\n\tBARRIER = 17,\n\tSYSCALL = 18,\n\tSYSCALL_VECTORED_0 = 19,\n\tMFMSR = 20,\n\tMTMSR = 21,\n\tRFI = 22,\n\tINTERRUPT = 23,\n\tUNKNOWN = 24,\n};\n\nenum integrity_status {\n\tINTEGRITY_PASS = 0,\n\tINTEGRITY_PASS_IMMUTABLE = 1,\n\tINTEGRITY_FAIL = 2,\n\tINTEGRITY_FAIL_IMMUTABLE = 3,\n\tINTEGRITY_NOLABEL = 4,\n\tINTEGRITY_NOXATTRS = 5,\n\tINTEGRITY_UNKNOWN = 6,\n};\n\nenum io_uring_cmd_flags {\n\tIO_URING_F_COMPLETE_DEFER = 1,\n\tIO_URING_F_UNLOCKED = 2,\n\tIO_URING_F_MULTISHOT = 4,\n\tIO_URING_F_IOWQ = 8,\n\tIO_URING_F_NONBLOCK = -2147483648,\n\tIO_URING_F_SQE128 = 256,\n\tIO_URING_F_CQE32 = 512,\n\tIO_URING_F_IOPOLL = 1024,\n\tIO_URING_F_CANCEL = 2048,\n\tIO_URING_F_COMPAT = 4096,\n\tIO_URING_F_TASK_DEAD = 8192,\n};\n\nenum io_uring_msg_ring_flags {\n\tIORING_MSG_DATA = 0,\n\tIORING_MSG_SEND_FD = 1,\n};\n\nenum io_uring_napi_op {\n\tIO_URING_NAPI_REGISTER_OP = 0,\n\tIO_URING_NAPI_STATIC_ADD_ID = 1,\n\tIO_URING_NAPI_STATIC_DEL_ID = 2,\n};\n\nenum io_uring_napi_tracking_strategy {\n\tIO_URING_NAPI_TRACKING_DYNAMIC = 0,\n\tIO_URING_NAPI_TRACKING_STATIC = 1,\n\tIO_URING_NAPI_TRACKING_INACTIVE = 255,\n};\n\nenum io_uring_op {\n\tIORING_OP_NOP = 0,\n\tIORING_OP_READV = 1,\n\tIORING_OP_WRITEV = 2,\n\tIORING_OP_FSYNC = 3,\n\tIORING_OP_READ_FIXED = 4,\n\tIORING_OP_WRITE_FIXED = 5,\n\tIORING_OP_POLL_ADD = 6,\n\tIORING_OP_POLL_REMOVE = 7,\n\tIORING_OP_SYNC_FILE_RANGE = 8,\n\tIORING_OP_SENDMSG = 9,\n\tIORING_OP_RECVMSG = 10,\n\tIORING_OP_TIMEOUT = 11,\n\tIORING_OP_TIMEOUT_REMOVE = 12,\n\tIORING_OP_ACCEPT = 13,\n\tIORING_OP_ASYNC_CANCEL = 14,\n\tIORING_OP_LINK_TIMEOUT = 15,\n\tIORING_OP_CONNECT = 16,\n\tIORING_OP_FALLOCATE = 17,\n\tIORING_OP_OPENAT = 18,\n\tIORING_OP_CLOSE = 19,\n\tIORING_OP_FILES_UPDATE = 20,\n\tIORING_OP_STATX = 21,\n\tIORING_OP_READ = 22,\n\tIORING_OP_WRITE = 23,\n\tIORING_OP_FADVISE = 24,\n\tIORING_OP_MADVISE = 25,\n\tIORING_OP_SEND = 26,\n\tIORING_OP_RECV = 27,\n\tIORING_OP_OPENAT2 = 28,\n\tIORING_OP_EPOLL_CTL = 29,\n\tIORING_OP_SPLICE = 30,\n\tIORING_OP_PROVIDE_BUFFERS = 31,\n\tIORING_OP_REMOVE_BUFFERS = 32,\n\tIORING_OP_TEE = 33,\n\tIORING_OP_SHUTDOWN = 34,\n\tIORING_OP_RENAMEAT = 35,\n\tIORING_OP_UNLINKAT = 36,\n\tIORING_OP_MKDIRAT = 37,\n\tIORING_OP_SYMLINKAT = 38,\n\tIORING_OP_LINKAT = 39,\n\tIORING_OP_MSG_RING = 40,\n\tIORING_OP_FSETXATTR = 41,\n\tIORING_OP_SETXATTR = 42,\n\tIORING_OP_FGETXATTR = 43,\n\tIORING_OP_GETXATTR = 44,\n\tIORING_OP_SOCKET = 45,\n\tIORING_OP_URING_CMD = 46,\n\tIORING_OP_SEND_ZC = 47,\n\tIORING_OP_SENDMSG_ZC = 48,\n\tIORING_OP_READ_MULTISHOT = 49,\n\tIORING_OP_WAITID = 50,\n\tIORING_OP_FUTEX_WAIT = 51,\n\tIORING_OP_FUTEX_WAKE = 52,\n\tIORING_OP_FUTEX_WAITV = 53,\n\tIORING_OP_FIXED_FD_INSTALL = 54,\n\tIORING_OP_FTRUNCATE = 55,\n\tIORING_OP_BIND = 56,\n\tIORING_OP_LISTEN = 57,\n\tIORING_OP_LAST = 58,\n};\n\nenum io_uring_register_op {\n\tIORING_REGISTER_BUFFERS = 0,\n\tIORING_UNREGISTER_BUFFERS = 1,\n\tIORING_REGISTER_FILES = 2,\n\tIORING_UNREGISTER_FILES = 3,\n\tIORING_REGISTER_EVENTFD = 4,\n\tIORING_UNREGISTER_EVENTFD = 5,\n\tIORING_REGISTER_FILES_UPDATE = 6,\n\tIORING_REGISTER_EVENTFD_ASYNC = 7,\n\tIORING_REGISTER_PROBE = 8,\n\tIORING_REGISTER_PERSONALITY = 9,\n\tIORING_UNREGISTER_PERSONALITY = 10,\n\tIORING_REGISTER_RESTRICTIONS = 11,\n\tIORING_REGISTER_ENABLE_RINGS = 12,\n\tIORING_REGISTER_FILES2 = 13,\n\tIORING_REGISTER_FILES_UPDATE2 = 14,\n\tIORING_REGISTER_BUFFERS2 = 15,\n\tIORING_REGISTER_BUFFERS_UPDATE = 16,\n\tIORING_REGISTER_IOWQ_AFF = 17,\n\tIORING_UNREGISTER_IOWQ_AFF = 18,\n\tIORING_REGISTER_IOWQ_MAX_WORKERS = 19,\n\tIORING_REGISTER_RING_FDS = 20,\n\tIORING_UNREGISTER_RING_FDS = 21,\n\tIORING_REGISTER_PBUF_RING = 22,\n\tIORING_UNREGISTER_PBUF_RING = 23,\n\tIORING_REGISTER_SYNC_CANCEL = 24,\n\tIORING_REGISTER_FILE_ALLOC_RANGE = 25,\n\tIORING_REGISTER_PBUF_STATUS = 26,\n\tIORING_REGISTER_NAPI = 27,\n\tIORING_UNREGISTER_NAPI = 28,\n\tIORING_REGISTER_CLOCK = 29,\n\tIORING_REGISTER_CLONE_BUFFERS = 30,\n\tIORING_REGISTER_SEND_MSG_RING = 31,\n\tIORING_REGISTER_RESIZE_RINGS = 33,\n\tIORING_REGISTER_MEM_REGION = 34,\n\tIORING_REGISTER_LAST = 35,\n\tIORING_REGISTER_USE_REGISTERED_RING = 2147483648,\n};\n\nenum io_uring_register_pbuf_ring_flags {\n\tIOU_PBUF_RING_MMAP = 1,\n\tIOU_PBUF_RING_INC = 2,\n};\n\nenum io_uring_register_restriction_op {\n\tIORING_RESTRICTION_REGISTER_OP = 0,\n\tIORING_RESTRICTION_SQE_OP = 1,\n\tIORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2,\n\tIORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3,\n\tIORING_RESTRICTION_LAST = 4,\n};\n\nenum io_uring_socket_op {\n\tSOCKET_URING_OP_SIOCINQ = 0,\n\tSOCKET_URING_OP_SIOCOUTQ = 1,\n\tSOCKET_URING_OP_GETSOCKOPT = 2,\n\tSOCKET_URING_OP_SETSOCKOPT = 3,\n};\n\nenum io_uring_sqe_flags_bit {\n\tIOSQE_FIXED_FILE_BIT = 0,\n\tIOSQE_IO_DRAIN_BIT = 1,\n\tIOSQE_IO_LINK_BIT = 2,\n\tIOSQE_IO_HARDLINK_BIT = 3,\n\tIOSQE_ASYNC_BIT = 4,\n\tIOSQE_BUFFER_SELECT_BIT = 5,\n\tIOSQE_CQE_SKIP_SUCCESS_BIT = 6,\n};\n\nenum io_wq_cancel {\n\tIO_WQ_CANCEL_OK = 0,\n\tIO_WQ_CANCEL_RUNNING = 1,\n\tIO_WQ_CANCEL_NOTFOUND = 2,\n};\n\nenum io_wq_type {\n\tIO_WQ_BOUND = 0,\n\tIO_WQ_UNBOUND = 1,\n};\n\nenum ioam6_event_attr {\n\tIOAM6_EVENT_ATTR_UNSPEC = 0,\n\tIOAM6_EVENT_ATTR_TRACE_NAMESPACE = 1,\n\tIOAM6_EVENT_ATTR_TRACE_NODELEN = 2,\n\tIOAM6_EVENT_ATTR_TRACE_TYPE = 3,\n\tIOAM6_EVENT_ATTR_TRACE_DATA = 4,\n\t__IOAM6_EVENT_ATTR_MAX = 5,\n};\n\nenum ioam6_event_type {\n\tIOAM6_EVENT_UNSPEC = 0,\n\tIOAM6_EVENT_TRACE = 1,\n};\n\nenum iommu_cap {\n\tIOMMU_CAP_CACHE_COHERENCY = 0,\n\tIOMMU_CAP_NOEXEC = 1,\n\tIOMMU_CAP_PRE_BOOT_PROTECTION = 2,\n\tIOMMU_CAP_ENFORCE_CACHE_COHERENCY = 3,\n\tIOMMU_CAP_DEFERRED_FLUSH = 4,\n\tIOMMU_CAP_DIRTY_TRACKING = 5,\n};\n\nenum iommu_dev_features {\n\tIOMMU_DEV_FEAT_SVA = 0,\n\tIOMMU_DEV_FEAT_IOPF = 1,\n};\n\nenum iommu_resv_type {\n\tIOMMU_RESV_DIRECT = 0,\n\tIOMMU_RESV_DIRECT_RELAXABLE = 1,\n\tIOMMU_RESV_RESERVED = 2,\n\tIOMMU_RESV_MSI = 3,\n\tIOMMU_RESV_SW_MSI = 4,\n};\n\nenum iommufd_hwpt_alloc_flags {\n\tIOMMU_HWPT_ALLOC_NEST_PARENT = 1,\n\tIOMMU_HWPT_ALLOC_DIRTY_TRACKING = 2,\n\tIOMMU_HWPT_FAULT_ID_VALID = 4,\n\tIOMMU_HWPT_ALLOC_PASID = 8,\n};\n\nenum ip6_defrag_users {\n\tIP6_DEFRAG_LOCAL_DELIVER = 0,\n\tIP6_DEFRAG_CONNTRACK_IN = 1,\n\t__IP6_DEFRAG_CONNTRACK_IN = 65536,\n\tIP6_DEFRAG_CONNTRACK_OUT = 65537,\n\t__IP6_DEFRAG_CONNTRACK_OUT = 131072,\n\tIP6_DEFRAG_CONNTRACK_BRIDGE_IN = 131073,\n\t__IP6_DEFRAG_CONNTRACK_BRIDGE_IN = 196608,\n};\n\nenum ip_conntrack_dir {\n\tIP_CT_DIR_ORIGINAL = 0,\n\tIP_CT_DIR_REPLY = 1,\n\tIP_CT_DIR_MAX = 2,\n};\n\nenum ip_conntrack_info {\n\tIP_CT_ESTABLISHED = 0,\n\tIP_CT_RELATED = 1,\n\tIP_CT_NEW = 2,\n\tIP_CT_IS_REPLY = 3,\n\tIP_CT_ESTABLISHED_REPLY = 3,\n\tIP_CT_RELATED_REPLY = 4,\n\tIP_CT_NUMBER = 5,\n\tIP_CT_UNTRACKED = 7,\n};\n\nenum ip_conntrack_status {\n\tIPS_EXPECTED_BIT = 0,\n\tIPS_EXPECTED = 1,\n\tIPS_SEEN_REPLY_BIT = 1,\n\tIPS_SEEN_REPLY = 2,\n\tIPS_ASSURED_BIT = 2,\n\tIPS_ASSURED = 4,\n\tIPS_CONFIRMED_BIT = 3,\n\tIPS_CONFIRMED = 8,\n\tIPS_SRC_NAT_BIT = 4,\n\tIPS_SRC_NAT = 16,\n\tIPS_DST_NAT_BIT = 5,\n\tIPS_DST_NAT = 32,\n\tIPS_NAT_MASK = 48,\n\tIPS_SEQ_ADJUST_BIT = 6,\n\tIPS_SEQ_ADJUST = 64,\n\tIPS_SRC_NAT_DONE_BIT = 7,\n\tIPS_SRC_NAT_DONE = 128,\n\tIPS_DST_NAT_DONE_BIT = 8,\n\tIPS_DST_NAT_DONE = 256,\n\tIPS_NAT_DONE_MASK = 384,\n\tIPS_DYING_BIT = 9,\n\tIPS_DYING = 512,\n\tIPS_FIXED_TIMEOUT_BIT = 10,\n\tIPS_FIXED_TIMEOUT = 1024,\n\tIPS_TEMPLATE_BIT = 11,\n\tIPS_TEMPLATE = 2048,\n\tIPS_UNTRACKED_BIT = 12,\n\tIPS_UNTRACKED = 4096,\n\tIPS_NAT_CLASH_BIT = 12,\n\tIPS_NAT_CLASH = 4096,\n\tIPS_HELPER_BIT = 13,\n\tIPS_HELPER = 8192,\n\tIPS_OFFLOAD_BIT = 14,\n\tIPS_OFFLOAD = 16384,\n\tIPS_HW_OFFLOAD_BIT = 15,\n\tIPS_HW_OFFLOAD = 32768,\n\tIPS_UNCHANGEABLE_MASK = 56313,\n\t__IPS_MAX_BIT = 16,\n};\n\nenum ip_defrag_users {\n\tIP_DEFRAG_LOCAL_DELIVER = 0,\n\tIP_DEFRAG_CALL_RA_CHAIN = 1,\n\tIP_DEFRAG_CONNTRACK_IN = 2,\n\t__IP_DEFRAG_CONNTRACK_IN_END = 65537,\n\tIP_DEFRAG_CONNTRACK_OUT = 65538,\n\t__IP_DEFRAG_CONNTRACK_OUT_END = 131073,\n\tIP_DEFRAG_CONNTRACK_BRIDGE_IN = 131074,\n\t__IP_DEFRAG_CONNTRACK_BRIDGE_IN = 196609,\n\tIP_DEFRAG_VS_IN = 196610,\n\tIP_DEFRAG_VS_OUT = 196611,\n\tIP_DEFRAG_VS_FWD = 196612,\n\tIP_DEFRAG_AF_PACKET = 196613,\n\tIP_DEFRAG_MACVLAN = 196614,\n};\n\nenum ipr_sdt_state {\n\tINACTIVE = 0,\n\tWAIT_FOR_DUMP = 1,\n\tGET_DUMP = 2,\n\tREAD_DUMP = 3,\n\tABORT_DUMP = 4,\n\tDUMP_OBTAINED = 5,\n};\n\nenum ipr_shutdown_type {\n\tIPR_SHUTDOWN_NORMAL = 0,\n\tIPR_SHUTDOWN_PREPARE_FOR_NORMAL = 64,\n\tIPR_SHUTDOWN_ABBREV = 128,\n\tIPR_SHUTDOWN_NONE = 256,\n\tIPR_SHUTDOWN_QUIESCE = 257,\n};\n\nenum irq_domain_bus_token {\n\tDOMAIN_BUS_ANY = 0,\n\tDOMAIN_BUS_WIRED = 1,\n\tDOMAIN_BUS_GENERIC_MSI = 2,\n\tDOMAIN_BUS_PCI_MSI = 3,\n\tDOMAIN_BUS_PLATFORM_MSI = 4,\n\tDOMAIN_BUS_NEXUS = 5,\n\tDOMAIN_BUS_IPI = 6,\n\tDOMAIN_BUS_FSL_MC_MSI = 7,\n\tDOMAIN_BUS_TI_SCI_INTA_MSI = 8,\n\tDOMAIN_BUS_WAKEUP = 9,\n\tDOMAIN_BUS_VMD_MSI = 10,\n\tDOMAIN_BUS_PCI_DEVICE_MSI = 11,\n\tDOMAIN_BUS_PCI_DEVICE_MSIX = 12,\n\tDOMAIN_BUS_DMAR = 13,\n\tDOMAIN_BUS_AMDVI = 14,\n\tDOMAIN_BUS_DEVICE_MSI = 15,\n\tDOMAIN_BUS_WIRED_TO_MSI = 16,\n};\n\nenum irq_gc_flags {\n\tIRQ_GC_INIT_MASK_CACHE = 1,\n\tIRQ_GC_INIT_NESTED_LOCK = 2,\n\tIRQ_GC_MASK_CACHE_PER_TYPE = 4,\n\tIRQ_GC_NO_MASK = 8,\n\tIRQ_GC_BE_IO = 16,\n};\n\nenum irqchip_irq_state {\n\tIRQCHIP_STATE_PENDING = 0,\n\tIRQCHIP_STATE_ACTIVE = 1,\n\tIRQCHIP_STATE_MASKED = 2,\n\tIRQCHIP_STATE_LINE_LEVEL = 3,\n};\n\nenum irqreturn {\n\tIRQ_NONE = 0,\n\tIRQ_HANDLED = 1,\n\tIRQ_WAKE_THREAD = 2,\n};\n\ntypedef enum irqreturn irqreturn_t;\n\nenum isofs_file_format {\n\tisofs_file_normal = 0,\n\tisofs_file_sparse = 1,\n\tisofs_file_compressed = 2,\n};\n\nenum iter_type {\n\tITER_UBUF = 0,\n\tITER_IOVEC = 1,\n\tITER_BVEC = 2,\n\tITER_KVEC = 3,\n\tITER_FOLIOQ = 4,\n\tITER_XARRAY = 5,\n\tITER_DISCARD = 6,\n};\n\nenum jbd2_shrink_type {\n\tJBD2_SHRINK_DESTROY = 0,\n\tJBD2_SHRINK_BUSY_STOP = 1,\n\tJBD2_SHRINK_BUSY_SKIP = 2,\n};\n\nenum jbd_state_bits {\n\tBH_JBD = 16,\n\tBH_JWrite = 17,\n\tBH_Freed = 18,\n\tBH_Revoked = 19,\n\tBH_RevokeValid = 20,\n\tBH_JBDDirty = 21,\n\tBH_JournalHead = 22,\n\tBH_Shadow = 23,\n\tBH_Verified = 24,\n\tBH_JBDPrivateStart = 25,\n};\n\nenum jump_label_type {\n\tJUMP_LABEL_NOP = 0,\n\tJUMP_LABEL_JMP = 1,\n};\n\nenum kcmp_type {\n\tKCMP_FILE = 0,\n\tKCMP_VM = 1,\n\tKCMP_FILES = 2,\n\tKCMP_FS = 3,\n\tKCMP_SIGHAND = 4,\n\tKCMP_IO = 5,\n\tKCMP_SYSVSEM = 6,\n\tKCMP_EPOLL_TFD = 7,\n\tKCMP_TYPES = 8,\n};\n\nenum kcore_type {\n\tKCORE_TEXT = 0,\n\tKCORE_VMALLOC = 1,\n\tKCORE_RAM = 2,\n\tKCORE_VMEMMAP = 3,\n\tKCORE_USER = 4,\n};\n\nenum kernel_load_data_id {\n\tLOADING_UNKNOWN = 0,\n\tLOADING_FIRMWARE = 1,\n\tLOADING_MODULE = 2,\n\tLOADING_KEXEC_IMAGE = 3,\n\tLOADING_KEXEC_INITRAMFS = 4,\n\tLOADING_POLICY = 5,\n\tLOADING_X509_CERTIFICATE = 6,\n\tLOADING_MAX_ID = 7,\n};\n\nenum kernel_pkey_operation {\n\tkernel_pkey_encrypt = 0,\n\tkernel_pkey_decrypt = 1,\n\tkernel_pkey_sign = 2,\n\tkernel_pkey_verify = 3,\n};\n\nenum kernel_read_file_id {\n\tREADING_UNKNOWN = 0,\n\tREADING_FIRMWARE = 1,\n\tREADING_MODULE = 2,\n\tREADING_KEXEC_IMAGE = 3,\n\tREADING_KEXEC_INITRAMFS = 4,\n\tREADING_POLICY = 5,\n\tREADING_X509_CERTIFICATE = 6,\n\tREADING_MAX_ID = 7,\n};\n\nenum kernfs_node_flag {\n\tKERNFS_ACTIVATED = 16,\n\tKERNFS_NS = 32,\n\tKERNFS_HAS_SEQ_SHOW = 64,\n\tKERNFS_HAS_MMAP = 128,\n\tKERNFS_LOCKDEP = 256,\n\tKERNFS_HIDDEN = 512,\n\tKERNFS_SUICIDAL = 1024,\n\tKERNFS_SUICIDED = 2048,\n\tKERNFS_EMPTY_DIR = 4096,\n\tKERNFS_HAS_RELEASE = 8192,\n\tKERNFS_REMOVING = 16384,\n};\n\nenum kernfs_node_type {\n\tKERNFS_DIR = 1,\n\tKERNFS_FILE = 2,\n\tKERNFS_LINK = 4,\n};\n\nenum kernfs_root_flag {\n\tKERNFS_ROOT_CREATE_DEACTIVATED = 1,\n\tKERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2,\n\tKERNFS_ROOT_SUPPORT_EXPORTOP = 4,\n\tKERNFS_ROOT_SUPPORT_USER_XATTR = 8,\n};\n\nenum key_being_used_for {\n\tVERIFYING_MODULE_SIGNATURE = 0,\n\tVERIFYING_FIRMWARE_SIGNATURE = 1,\n\tVERIFYING_KEXEC_PE_SIGNATURE = 2,\n\tVERIFYING_KEY_SIGNATURE = 3,\n\tVERIFYING_KEY_SELF_SIGNATURE = 4,\n\tVERIFYING_UNSPECIFIED_SIGNATURE = 5,\n\tNR__KEY_BEING_USED_FOR = 6,\n};\n\nenum key_lookup_flag {\n\tKEY_LOOKUP_CREATE = 1,\n\tKEY_LOOKUP_PARTIAL = 2,\n\tKEY_LOOKUP_ALL = 3,\n};\n\nenum key_need_perm {\n\tKEY_NEED_UNSPECIFIED = 0,\n\tKEY_NEED_VIEW = 1,\n\tKEY_NEED_READ = 2,\n\tKEY_NEED_WRITE = 3,\n\tKEY_NEED_SEARCH = 4,\n\tKEY_NEED_LINK = 5,\n\tKEY_NEED_SETATTR = 6,\n\tKEY_NEED_UNLINK = 7,\n\tKEY_SYSADMIN_OVERRIDE = 8,\n\tKEY_AUTHTOKEN_OVERRIDE = 9,\n\tKEY_DEFER_PERM_CHECK = 10,\n};\n\nenum key_notification_subtype {\n\tNOTIFY_KEY_INSTANTIATED = 0,\n\tNOTIFY_KEY_UPDATED = 1,\n\tNOTIFY_KEY_LINKED = 2,\n\tNOTIFY_KEY_UNLINKED = 3,\n\tNOTIFY_KEY_CLEARED = 4,\n\tNOTIFY_KEY_REVOKED = 5,\n\tNOTIFY_KEY_INVALIDATED = 6,\n\tNOTIFY_KEY_SETATTR = 7,\n};\n\nenum key_state {\n\tKEY_IS_UNINSTANTIATED = 0,\n\tKEY_IS_POSITIVE = 1,\n};\n\nenum kfunc_ptr_arg_type {\n\tKF_ARG_PTR_TO_CTX = 0,\n\tKF_ARG_PTR_TO_ALLOC_BTF_ID = 1,\n\tKF_ARG_PTR_TO_REFCOUNTED_KPTR = 2,\n\tKF_ARG_PTR_TO_DYNPTR = 3,\n\tKF_ARG_PTR_TO_ITER = 4,\n\tKF_ARG_PTR_TO_LIST_HEAD = 5,\n\tKF_ARG_PTR_TO_LIST_NODE = 6,\n\tKF_ARG_PTR_TO_BTF_ID = 7,\n\tKF_ARG_PTR_TO_MEM = 8,\n\tKF_ARG_PTR_TO_MEM_SIZE = 9,\n\tKF_ARG_PTR_TO_CALLBACK = 10,\n\tKF_ARG_PTR_TO_RB_ROOT = 11,\n\tKF_ARG_PTR_TO_RB_NODE = 12,\n\tKF_ARG_PTR_TO_NULL = 13,\n\tKF_ARG_PTR_TO_CONST_STR = 14,\n\tKF_ARG_PTR_TO_MAP = 15,\n\tKF_ARG_PTR_TO_WORKQUEUE = 16,\n\tKF_ARG_PTR_TO_IRQ_FLAG = 17,\n};\n\nenum kmalloc_cache_type {\n\tKMALLOC_NORMAL = 0,\n\tKMALLOC_DMA = 0,\n\tKMALLOC_RANDOM_START = 0,\n\tKMALLOC_RANDOM_END = 0,\n\tKMALLOC_RECLAIM = 1,\n\tKMALLOC_CGROUP = 2,\n\tNR_KMALLOC_TYPES = 3,\n};\n\nenum kmsg_dump_reason {\n\tKMSG_DUMP_UNDEF = 0,\n\tKMSG_DUMP_PANIC = 1,\n\tKMSG_DUMP_OOPS = 2,\n\tKMSG_DUMP_EMERG = 3,\n\tKMSG_DUMP_SHUTDOWN = 4,\n\tKMSG_DUMP_MAX = 5,\n};\n\nenum kobj_ns_type {\n\tKOBJ_NS_TYPE_NONE = 0,\n\tKOBJ_NS_TYPE_NET = 1,\n\tKOBJ_NS_TYPES = 2,\n};\n\nenum kobject_action {\n\tKOBJ_ADD = 0,\n\tKOBJ_REMOVE = 1,\n\tKOBJ_CHANGE = 2,\n\tKOBJ_MOVE = 3,\n\tKOBJ_ONLINE = 4,\n\tKOBJ_OFFLINE = 5,\n\tKOBJ_BIND = 6,\n\tKOBJ_UNBIND = 7,\n};\n\nenum kprobe_slot_state {\n\tSLOT_CLEAN = 0,\n\tSLOT_DIRTY = 1,\n\tSLOT_USED = 2,\n};\n\nenum ksm_advisor_type {\n\tKSM_ADVISOR_NONE = 0,\n\tKSM_ADVISOR_SCAN_TIME = 1,\n};\n\nenum ksm_get_folio_flags {\n\tKSM_GET_FOLIO_NOLOCK = 0,\n\tKSM_GET_FOLIO_LOCK = 1,\n\tKSM_GET_FOLIO_TRYLOCK = 2,\n};\n\nenum kunit_speed {\n\tKUNIT_SPEED_UNSET = 0,\n\tKUNIT_SPEED_VERY_SLOW = 1,\n\tKUNIT_SPEED_SLOW = 2,\n\tKUNIT_SPEED_NORMAL = 3,\n\tKUNIT_SPEED_MAX = 3,\n};\n\nenum kunit_status {\n\tKUNIT_SUCCESS = 0,\n\tKUNIT_FAILURE = 1,\n\tKUNIT_SKIPPED = 2,\n};\n\nenum kvm_bus {\n\tKVM_MMIO_BUS = 0,\n\tKVM_PIO_BUS = 1,\n\tKVM_VIRTIO_CCW_NOTIFY_BUS = 2,\n\tKVM_FAST_MMIO_BUS = 3,\n\tKVM_IOCSR_BUS = 4,\n\tKVM_NR_BUSES = 5,\n};\n\nenum kvm_gfn_range_filter {\n\tKVM_FILTER_SHARED = 1,\n\tKVM_FILTER_PRIVATE = 2,\n};\n\nenum kvm_mr_change {\n\tKVM_MR_CREATE = 0,\n\tKVM_MR_DELETE = 1,\n\tKVM_MR_MOVE = 2,\n\tKVM_MR_FLAGS_ONLY = 3,\n};\n\nenum kvm_stat_kind {\n\tKVM_STAT_VM = 0,\n\tKVM_STAT_VCPU = 1,\n};\n\nenum l1d_flush_type {\n\tL1D_FLUSH_NONE = 1,\n\tL1D_FLUSH_FALLBACK = 2,\n\tL1D_FLUSH_ORI = 4,\n\tL1D_FLUSH_MTTRIG = 8,\n};\n\nenum l2tp_debug_flags {\n\tL2TP_MSG_DEBUG = 1,\n\tL2TP_MSG_CONTROL = 2,\n\tL2TP_MSG_SEQ = 4,\n\tL2TP_MSG_DATA = 8,\n};\n\nenum label_initialized {\n\tLABEL_INVALID = 0,\n\tLABEL_INITIALIZED = 1,\n\tLABEL_PENDING = 2,\n};\n\nenum landlock_key_type {\n\tLANDLOCK_KEY_INODE = 1,\n\tLANDLOCK_KEY_NET_PORT = 2,\n};\n\nenum landlock_rule_type {\n\tLANDLOCK_RULE_PATH_BENEATH = 1,\n\tLANDLOCK_RULE_NET_PORT = 2,\n};\n\nenum latency_range {\n\tlowest_latency = 0,\n\tlow_latency = 1,\n\tbulk_latency = 2,\n\tlatency_invalid = 255,\n};\n\nenum layout_break_reason {\n\tBREAK_WRITE = 0,\n\tBREAK_UNMAP = 1,\n};\n\nenum led_brightness {\n\tLED_OFF = 0,\n\tLED_ON = 1,\n\tLED_HALF = 127,\n\tLED_FULL = 255,\n};\n\nenum led_default_state {\n\tLEDS_DEFSTATE_OFF = 0,\n\tLEDS_DEFSTATE_ON = 1,\n\tLEDS_DEFSTATE_KEEP = 2,\n};\n\nenum led_state {\n\tled_on = 1,\n\tled_off = 4,\n\tled_on_559 = 5,\n\tled_on_557 = 7,\n};\n\nenum led_trigger_netdev_modes {\n\tTRIGGER_NETDEV_LINK = 0,\n\tTRIGGER_NETDEV_LINK_10 = 1,\n\tTRIGGER_NETDEV_LINK_100 = 2,\n\tTRIGGER_NETDEV_LINK_1000 = 3,\n\tTRIGGER_NETDEV_LINK_2500 = 4,\n\tTRIGGER_NETDEV_LINK_5000 = 5,\n\tTRIGGER_NETDEV_LINK_10000 = 6,\n\tTRIGGER_NETDEV_HALF_DUPLEX = 7,\n\tTRIGGER_NETDEV_FULL_DUPLEX = 8,\n\tTRIGGER_NETDEV_TX = 9,\n\tTRIGGER_NETDEV_RX = 10,\n\tTRIGGER_NETDEV_TX_ERR = 11,\n\tTRIGGER_NETDEV_RX_ERR = 12,\n\t__TRIGGER_NETDEV_MAX = 13,\n};\n\nenum legacy_fs_param {\n\tLEGACY_FS_UNSET_PARAMS = 0,\n\tLEGACY_FS_MONOLITHIC_PARAMS = 1,\n\tLEGACY_FS_INDIVIDUAL_PARAMS = 2,\n};\n\nenum limit_by4 {\n\tNFS4_LIMIT_SIZE = 1,\n\tNFS4_LIMIT_BLOCKS = 2,\n};\n\nenum link_inband_signalling {\n\tLINK_INBAND_DISABLE = 1,\n\tLINK_INBAND_ENABLE = 2,\n\tLINK_INBAND_BYPASS = 4,\n};\n\nenum link_state {\n\tlink_down = 0,\n\tlink_aneg = 1,\n\tlink_force_try = 2,\n\tlink_force_ret = 3,\n\tlink_force_ok = 4,\n\tlink_up = 5,\n};\n\nenum lock_type4 {\n\tNFS4_UNLOCK_LT = 0,\n\tNFS4_READ_LT = 1,\n\tNFS4_WRITE_LT = 2,\n\tNFS4_READW_LT = 3,\n\tNFS4_WRITEW_LT = 4,\n};\n\nenum lockdep_ok {\n\tLOCKDEP_STILL_OK = 0,\n\tLOCKDEP_NOW_UNRELIABLE = 1,\n};\n\nenum lockdown_reason {\n\tLOCKDOWN_NONE = 0,\n\tLOCKDOWN_MODULE_SIGNATURE = 1,\n\tLOCKDOWN_DEV_MEM = 2,\n\tLOCKDOWN_EFI_TEST = 3,\n\tLOCKDOWN_KEXEC = 4,\n\tLOCKDOWN_HIBERNATION = 5,\n\tLOCKDOWN_PCI_ACCESS = 6,\n\tLOCKDOWN_IOPORT = 7,\n\tLOCKDOWN_MSR = 8,\n\tLOCKDOWN_ACPI_TABLES = 9,\n\tLOCKDOWN_DEVICE_TREE = 10,\n\tLOCKDOWN_PCMCIA_CIS = 11,\n\tLOCKDOWN_TIOCSSERIAL = 12,\n\tLOCKDOWN_MODULE_PARAMETERS = 13,\n\tLOCKDOWN_MMIOTRACE = 14,\n\tLOCKDOWN_DEBUGFS = 15,\n\tLOCKDOWN_XMON_WR = 16,\n\tLOCKDOWN_BPF_WRITE_USER = 17,\n\tLOCKDOWN_DBG_WRITE_KERNEL = 18,\n\tLOCKDOWN_RTAS_ERROR_INJECTION = 19,\n\tLOCKDOWN_INTEGRITY_MAX = 20,\n\tLOCKDOWN_KCORE = 21,\n\tLOCKDOWN_KPROBES = 22,\n\tLOCKDOWN_BPF_READ_KERNEL = 23,\n\tLOCKDOWN_DBG_READ_KERNEL = 24,\n\tLOCKDOWN_PERF = 25,\n\tLOCKDOWN_TRACEFS = 26,\n\tLOCKDOWN_XMON_RW = 27,\n\tLOCKDOWN_XFRM_SECRET = 28,\n\tLOCKDOWN_CONFIDENTIALITY_MAX = 29,\n};\n\nenum log_ent_request {\n\tLOG_NEW_ENT = 0,\n\tLOG_OLD_ENT = 1,\n};\n\nenum loopback {\n\tlb_none = 0,\n\tlb_mac = 1,\n\tlb_phy = 3,\n};\n\nenum lru_list {\n\tLRU_INACTIVE_ANON = 0,\n\tLRU_ACTIVE_ANON = 1,\n\tLRU_INACTIVE_FILE = 2,\n\tLRU_ACTIVE_FILE = 3,\n\tLRU_UNEVICTABLE = 4,\n\tNR_LRU_LISTS = 5,\n};\n\nenum lru_status {\n\tLRU_REMOVED = 0,\n\tLRU_REMOVED_RETRY = 1,\n\tLRU_ROTATE = 2,\n\tLRU_SKIP = 3,\n\tLRU_RETRY = 4,\n\tLRU_STOP = 5,\n};\n\nenum lruvec_flags {\n\tLRUVEC_CGROUP_CONGESTED = 0,\n\tLRUVEC_NODE_CONGESTED = 1,\n};\n\nenum lsm_event {\n\tLSM_POLICY_CHANGE = 0,\n};\n\nenum lsm_integrity_type {\n\tLSM_INT_DMVERITY_SIG_VALID = 0,\n\tLSM_INT_DMVERITY_ROOTHASH = 1,\n\tLSM_INT_FSVERITY_BUILTINSIG_VALID = 2,\n};\n\nenum lsm_order {\n\tLSM_ORDER_FIRST = -1,\n\tLSM_ORDER_MUTABLE = 0,\n\tLSM_ORDER_LAST = 1,\n};\n\nenum lsm_rule_types {\n\tLSM_OBJ_USER = 0,\n\tLSM_OBJ_ROLE = 1,\n\tLSM_OBJ_TYPE = 2,\n\tLSM_SUBJ_USER = 3,\n\tLSM_SUBJ_ROLE = 4,\n\tLSM_SUBJ_TYPE = 5,\n};\n\nenum lw_bits {\n\tLW_URGENT = 0,\n};\n\nenum lwtunnel_encap_types {\n\tLWTUNNEL_ENCAP_NONE = 0,\n\tLWTUNNEL_ENCAP_MPLS = 1,\n\tLWTUNNEL_ENCAP_IP = 2,\n\tLWTUNNEL_ENCAP_ILA = 3,\n\tLWTUNNEL_ENCAP_IP6 = 4,\n\tLWTUNNEL_ENCAP_SEG6 = 5,\n\tLWTUNNEL_ENCAP_BPF = 6,\n\tLWTUNNEL_ENCAP_SEG6_LOCAL = 7,\n\tLWTUNNEL_ENCAP_RPL = 8,\n\tLWTUNNEL_ENCAP_IOAM6 = 9,\n\tLWTUNNEL_ENCAP_XFRM = 10,\n\t__LWTUNNEL_ENCAP_MAX = 11,\n};\n\nenum lwtunnel_ip6_t {\n\tLWTUNNEL_IP6_UNSPEC = 0,\n\tLWTUNNEL_IP6_ID = 1,\n\tLWTUNNEL_IP6_DST = 2,\n\tLWTUNNEL_IP6_SRC = 3,\n\tLWTUNNEL_IP6_HOPLIMIT = 4,\n\tLWTUNNEL_IP6_TC = 5,\n\tLWTUNNEL_IP6_FLAGS = 6,\n\tLWTUNNEL_IP6_PAD = 7,\n\tLWTUNNEL_IP6_OPTS = 8,\n\t__LWTUNNEL_IP6_MAX = 9,\n};\n\nenum lwtunnel_ip_t {\n\tLWTUNNEL_IP_UNSPEC = 0,\n\tLWTUNNEL_IP_ID = 1,\n\tLWTUNNEL_IP_DST = 2,\n\tLWTUNNEL_IP_SRC = 3,\n\tLWTUNNEL_IP_TTL = 4,\n\tLWTUNNEL_IP_TOS = 5,\n\tLWTUNNEL_IP_FLAGS = 6,\n\tLWTUNNEL_IP_PAD = 7,\n\tLWTUNNEL_IP_OPTS = 8,\n\t__LWTUNNEL_IP_MAX = 9,\n};\n\nenum lzma2_seq {\n\tSEQ_CONTROL = 0,\n\tSEQ_UNCOMPRESSED_1 = 1,\n\tSEQ_UNCOMPRESSED_2 = 2,\n\tSEQ_COMPRESSED_0 = 3,\n\tSEQ_COMPRESSED_1 = 4,\n\tSEQ_PROPERTIES = 5,\n\tSEQ_LZMA_PREPARE = 6,\n\tSEQ_LZMA_RUN = 7,\n\tSEQ_COPY = 8,\n};\n\nenum lzma_state {\n\tSTATE_LIT_LIT = 0,\n\tSTATE_MATCH_LIT_LIT = 1,\n\tSTATE_REP_LIT_LIT = 2,\n\tSTATE_SHORTREP_LIT_LIT = 3,\n\tSTATE_MATCH_LIT = 4,\n\tSTATE_REP_LIT = 5,\n\tSTATE_SHORTREP_LIT = 6,\n\tSTATE_LIT_MATCH = 7,\n\tSTATE_LIT_LONGREP = 8,\n\tSTATE_LIT_SHORTREP = 9,\n\tSTATE_NONLIT_MATCH = 10,\n\tSTATE_NONLIT_REP = 11,\n};\n\nenum mac {\n\tmac_82557_D100_A = 0,\n\tmac_82557_D100_B = 1,\n\tmac_82557_D100_C = 2,\n\tmac_82558_D101_A4 = 4,\n\tmac_82558_D101_B0 = 5,\n\tmac_82559_D101M = 8,\n\tmac_82559_D101S = 9,\n\tmac_82550_D102 = 12,\n\tmac_82550_D102_C = 13,\n\tmac_82551_E = 14,\n\tmac_82551_F = 15,\n\tmac_82551_10 = 16,\n\tmac_unknown = 255,\n};\n\nenum maple_status {\n\tma_active = 0,\n\tma_start = 1,\n\tma_root = 2,\n\tma_none = 3,\n\tma_pause = 4,\n\tma_overflow = 5,\n\tma_underflow = 6,\n\tma_error = 7,\n};\n\nenum maple_type {\n\tmaple_dense = 0,\n\tmaple_leaf_64 = 1,\n\tmaple_range_64 = 2,\n\tmaple_arange_64 = 3,\n};\n\nenum mapping_flags {\n\tAS_EIO = 0,\n\tAS_ENOSPC = 1,\n\tAS_MM_ALL_LOCKS = 2,\n\tAS_UNEVICTABLE = 3,\n\tAS_EXITING = 4,\n\tAS_NO_WRITEBACK_TAGS = 5,\n\tAS_RELEASE_ALWAYS = 6,\n\tAS_STABLE_WRITES = 7,\n\tAS_INACCESSIBLE = 8,\n\tAS_FOLIO_ORDER_BITS = 5,\n\tAS_FOLIO_ORDER_MIN = 16,\n\tAS_FOLIO_ORDER_MAX = 21,\n};\n\nenum matroxfb_ctrl_id {\n\tMATROXFB_CID_TESTOUT = 134217728,\n\tMATROXFB_CID_DEFLICKER = 134217729,\n\tMATROXFB_CID_LAST = 134217730,\n};\n\nenum md_ro_state {\n\tMD_RDWR = 0,\n\tMD_RDONLY = 1,\n\tMD_AUTO_READ = 2,\n\tMD_MAX_STATE = 3,\n};\n\nenum mddev_flags {\n\tMD_ARRAY_FIRST_USE = 0,\n\tMD_CLOSING = 1,\n\tMD_JOURNAL_CLEAN = 2,\n\tMD_HAS_JOURNAL = 3,\n\tMD_CLUSTER_RESYNC_LOCKED = 4,\n\tMD_FAILFAST_SUPPORTED = 5,\n\tMD_HAS_PPL = 6,\n\tMD_HAS_MULTIPLE_PPLS = 7,\n\tMD_NOT_READY = 8,\n\tMD_BROKEN = 9,\n\tMD_DELETED = 10,\n};\n\nenum mddev_sb_flags {\n\tMD_SB_CHANGE_DEVS = 0,\n\tMD_SB_CHANGE_CLEAN = 1,\n\tMD_SB_CHANGE_PENDING = 2,\n\tMD_SB_NEED_REWRITE = 3,\n};\n\nenum mdi_ctrl {\n\tmdi_write = 67108864,\n\tmdi_read = 134217728,\n\tmdi_ready = 268435456,\n};\n\nenum mem_type {\n\tMEM_EMPTY = 0,\n\tMEM_RESERVED = 1,\n\tMEM_UNKNOWN = 2,\n\tMEM_FPM = 3,\n\tMEM_EDO = 4,\n\tMEM_BEDO = 5,\n\tMEM_SDR = 6,\n\tMEM_RDR = 7,\n\tMEM_DDR = 8,\n\tMEM_RDDR = 9,\n\tMEM_RMBS = 10,\n\tMEM_DDR2 = 11,\n\tMEM_FB_DDR2 = 12,\n\tMEM_RDDR2 = 13,\n\tMEM_XDR = 14,\n\tMEM_DDR3 = 15,\n\tMEM_RDDR3 = 16,\n\tMEM_LRDDR3 = 17,\n\tMEM_LPDDR3 = 18,\n\tMEM_DDR4 = 19,\n\tMEM_RDDR4 = 20,\n\tMEM_LRDDR4 = 21,\n\tMEM_LPDDR4 = 22,\n\tMEM_DDR5 = 23,\n\tMEM_RDDR5 = 24,\n\tMEM_LRDDR5 = 25,\n\tMEM_NVDIMM = 26,\n\tMEM_WIO2 = 27,\n\tMEM_HBM2 = 28,\n\tMEM_HBM3 = 29,\n};\n\nenum membarrier_cmd {\n\tMEMBARRIER_CMD_QUERY = 0,\n\tMEMBARRIER_CMD_GLOBAL = 1,\n\tMEMBARRIER_CMD_GLOBAL_EXPEDITED = 2,\n\tMEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 4,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED = 8,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 16,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 32,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 64,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 128,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 256,\n\tMEMBARRIER_CMD_GET_REGISTRATIONS = 512,\n\tMEMBARRIER_CMD_SHARED = 1,\n};\n\nenum membarrier_cmd_flag {\n\tMEMBARRIER_CMD_FLAG_CPU = 1,\n};\n\nenum memblock_flags {\n\tMEMBLOCK_NONE = 0,\n\tMEMBLOCK_HOTPLUG = 1,\n\tMEMBLOCK_MIRROR = 2,\n\tMEMBLOCK_NOMAP = 4,\n\tMEMBLOCK_DRIVER_MANAGED = 8,\n\tMEMBLOCK_RSRV_NOINIT = 16,\n};\n\nenum memcg_memory_event {\n\tMEMCG_LOW = 0,\n\tMEMCG_HIGH = 1,\n\tMEMCG_MAX = 2,\n\tMEMCG_OOM = 3,\n\tMEMCG_OOM_KILL = 4,\n\tMEMCG_OOM_GROUP_KILL = 5,\n\tMEMCG_SWAP_HIGH = 6,\n\tMEMCG_SWAP_MAX = 7,\n\tMEMCG_SWAP_FAIL = 8,\n\tMEMCG_NR_MEMORY_EVENTS = 9,\n};\n\nenum memcg_stat_item {\n\tMEMCG_SWAP = 48,\n\tMEMCG_SOCK = 49,\n\tMEMCG_PERCPU_B = 50,\n\tMEMCG_VMALLOC = 51,\n\tMEMCG_KMEM = 52,\n\tMEMCG_ZSWAP_B = 53,\n\tMEMCG_ZSWAPPED = 54,\n\tMEMCG_NR_STAT = 55,\n};\n\nenum meminit_context {\n\tMEMINIT_EARLY = 0,\n\tMEMINIT_HOTPLUG = 1,\n};\n\nenum memory_type {\n\tMEMORY_DEVICE_PRIVATE = 1,\n\tMEMORY_DEVICE_COHERENT = 2,\n\tMEMORY_DEVICE_FS_DAX = 3,\n\tMEMORY_DEVICE_GENERIC = 4,\n\tMEMORY_DEVICE_PCI_P2PDMA = 5,\n};\n\nenum metadata_type {\n\tMETADATA_IP_TUNNEL = 0,\n\tMETADATA_HW_PORT_MUX = 1,\n\tMETADATA_MACSEC = 2,\n\tMETADATA_XFRM = 3,\n};\n\nenum mf_flags {\n\tMF_COUNT_INCREASED = 1,\n\tMF_ACTION_REQUIRED = 2,\n\tMF_MUST_KILL = 4,\n\tMF_SOFT_OFFLINE = 8,\n\tMF_UNPOISON = 16,\n\tMF_SW_SIMULATED = 32,\n\tMF_NO_RETRY = 64,\n\tMF_MEM_PRE_REMOVE = 128,\n};\n\nenum mga_chip {\n\tMGA_2064 = 0,\n\tMGA_2164 = 1,\n\tMGA_1064 = 2,\n\tMGA_1164 = 3,\n\tMGA_G100 = 4,\n\tMGA_G200 = 5,\n\tMGA_G400 = 6,\n\tMGA_G450 = 7,\n\tMGA_G550 = 8,\n};\n\nenum migrate_mode {\n\tMIGRATE_ASYNC = 0,\n\tMIGRATE_SYNC_LIGHT = 1,\n\tMIGRATE_SYNC = 2,\n};\n\nenum migrate_reason {\n\tMR_COMPACTION = 0,\n\tMR_MEMORY_FAILURE = 1,\n\tMR_MEMORY_HOTPLUG = 2,\n\tMR_SYSCALL = 3,\n\tMR_MEMPOLICY_MBIND = 4,\n\tMR_NUMA_MISPLACED = 5,\n\tMR_CONTIG_RANGE = 6,\n\tMR_LONGTERM_PIN = 7,\n\tMR_DEMOTION = 8,\n\tMR_DAMON = 9,\n\tMR_TYPES = 10,\n};\n\nenum migrate_vma_direction {\n\tMIGRATE_VMA_SELECT_SYSTEM = 1,\n\tMIGRATE_VMA_SELECT_DEVICE_PRIVATE = 2,\n\tMIGRATE_VMA_SELECT_DEVICE_COHERENT = 4,\n};\n\nenum migratetype {\n\tMIGRATE_UNMOVABLE = 0,\n\tMIGRATE_MOVABLE = 1,\n\tMIGRATE_RECLAIMABLE = 2,\n\tMIGRATE_PCPTYPES = 3,\n\tMIGRATE_HIGHATOMIC = 3,\n\tMIGRATE_CMA = 4,\n\tMIGRATE_ISOLATE = 5,\n\tMIGRATE_TYPES = 6,\n};\n\nenum migration_type {\n\tmigrate_load = 0,\n\tmigrate_util = 1,\n\tmigrate_task = 2,\n\tmigrate_misfit = 3,\n};\n\nenum misc_res_type {\n\tMISC_CG_RES_TYPES = 0,\n};\n\nenum mm_cid_state {\n\tMM_CID_UNSET = 4294967295,\n\tMM_CID_LAZY_PUT = 2147483648,\n};\n\nenum mminit_level {\n\tMMINIT_WARNING = 0,\n\tMMINIT_VERIFY = 1,\n\tMMINIT_TRACE = 2,\n};\n\nenum mmu_notifier_event {\n\tMMU_NOTIFY_UNMAP = 0,\n\tMMU_NOTIFY_CLEAR = 1,\n\tMMU_NOTIFY_PROTECTION_VMA = 2,\n\tMMU_NOTIFY_PROTECTION_PAGE = 3,\n\tMMU_NOTIFY_SOFT_DIRTY = 4,\n\tMMU_NOTIFY_RELEASE = 5,\n\tMMU_NOTIFY_MIGRATE = 6,\n\tMMU_NOTIFY_EXCLUSIVE = 7,\n};\n\nenum mnt_tree_flags_t {\n\tMNT_TREE_MOVE = 1,\n\tMNT_TREE_BENEATH = 2,\n};\n\nenum mod_license {\n\tNOT_GPL_ONLY = 0,\n\tGPL_ONLY = 1,\n};\n\nenum mod_mem_type {\n\tMOD_TEXT = 0,\n\tMOD_DATA = 1,\n\tMOD_RODATA = 2,\n\tMOD_RO_AFTER_INIT = 3,\n\tMOD_INIT_TEXT = 4,\n\tMOD_INIT_DATA = 5,\n\tMOD_INIT_RODATA = 6,\n\tMOD_MEM_NUM_TYPES = 7,\n\tMOD_INVALID = -1,\n};\n\nenum module_state {\n\tMODULE_STATE_LIVE = 0,\n\tMODULE_STATE_COMING = 1,\n\tMODULE_STATE_GOING = 2,\n\tMODULE_STATE_UNFORMED = 3,\n};\n\nenum mountstat {\n\tMNT_OK = 0,\n\tMNT_EPERM = 1,\n\tMNT_ENOENT = 2,\n\tMNT_EACCES = 13,\n\tMNT_EINVAL = 22,\n};\n\nenum mountstat3 {\n\tMNT3_OK = 0,\n\tMNT3ERR_PERM = 1,\n\tMNT3ERR_NOENT = 2,\n\tMNT3ERR_IO = 5,\n\tMNT3ERR_ACCES = 13,\n\tMNT3ERR_NOTDIR = 20,\n\tMNT3ERR_INVAL = 22,\n\tMNT3ERR_NAMETOOLONG = 63,\n\tMNT3ERR_NOTSUPP = 10004,\n\tMNT3ERR_SERVERFAULT = 10006,\n};\n\nenum mpic_reg_type {\n\tmpic_access_mmio_le = 0,\n\tmpic_access_mmio_be = 1,\n};\n\nenum mq_rq_state {\n\tMQ_RQ_IDLE = 0,\n\tMQ_RQ_IN_FLIGHT = 1,\n\tMQ_RQ_COMPLETE = 2,\n};\n\nenum msdos_sys_ind {\n\tDOS_EXTENDED_PARTITION = 5,\n\tLINUX_EXTENDED_PARTITION = 133,\n\tWIN98_EXTENDED_PARTITION = 15,\n\tLINUX_DATA_PARTITION = 131,\n\tLINUX_LVM_PARTITION = 142,\n\tLINUX_RAID_PARTITION = 253,\n\tSOLARIS_X86_PARTITION = 130,\n\tNEW_SOLARIS_X86_PARTITION = 191,\n\tDM6_AUX1PARTITION = 81,\n\tDM6_AUX3PARTITION = 83,\n\tDM6_PARTITION = 84,\n\tEZD_PARTITION = 85,\n\tFREEBSD_PARTITION = 165,\n\tOPENBSD_PARTITION = 166,\n\tNETBSD_PARTITION = 169,\n\tBSDI_PARTITION = 183,\n\tMINIX_PARTITION = 129,\n\tUNIXWARE_PARTITION = 99,\n};\n\nenum msi_desc_filter {\n\tMSI_DESC_ALL = 0,\n\tMSI_DESC_NOTASSOCIATED = 1,\n\tMSI_DESC_ASSOCIATED = 2,\n};\n\nenum msi_domain_ids {\n\tMSI_DEFAULT_DOMAIN = 0,\n\tMSI_MAX_DEVICE_IRQDOMAINS = 1,\n};\n\nenum mthp_stat_item {\n\tMTHP_STAT_ANON_FAULT_ALLOC = 0,\n\tMTHP_STAT_ANON_FAULT_FALLBACK = 1,\n\tMTHP_STAT_ANON_FAULT_FALLBACK_CHARGE = 2,\n\tMTHP_STAT_ZSWPOUT = 3,\n\tMTHP_STAT_SWPIN = 4,\n\tMTHP_STAT_SWPIN_FALLBACK = 5,\n\tMTHP_STAT_SWPIN_FALLBACK_CHARGE = 6,\n\tMTHP_STAT_SWPOUT = 7,\n\tMTHP_STAT_SWPOUT_FALLBACK = 8,\n\tMTHP_STAT_SHMEM_ALLOC = 9,\n\tMTHP_STAT_SHMEM_FALLBACK = 10,\n\tMTHP_STAT_SHMEM_FALLBACK_CHARGE = 11,\n\tMTHP_STAT_SPLIT = 12,\n\tMTHP_STAT_SPLIT_FAILED = 13,\n\tMTHP_STAT_SPLIT_DEFERRED = 14,\n\tMTHP_STAT_NR_ANON = 15,\n\tMTHP_STAT_NR_ANON_PARTIALLY_MAPPED = 16,\n\t__MTHP_STAT_COUNT = 17,\n};\n\nenum multi_stop_state {\n\tMULTI_STOP_NONE = 0,\n\tMULTI_STOP_PREPARE = 1,\n\tMULTI_STOP_DISABLE_IRQ = 2,\n\tMULTI_STOP_RUN = 3,\n\tMULTI_STOP_EXIT = 4,\n};\n\nenum nbcon_prio {\n\tNBCON_PRIO_NONE = 0,\n\tNBCON_PRIO_NORMAL = 1,\n\tNBCON_PRIO_EMERGENCY = 2,\n\tNBCON_PRIO_PANIC = 3,\n\tNBCON_PRIO_MAX = 4,\n};\n\nenum nd_async_mode {\n\tND_SYNC = 0,\n\tND_ASYNC = 1,\n};\n\nenum nd_driver_flags {\n\tND_DRIVER_DIMM = 2,\n\tND_DRIVER_REGION_PMEM = 4,\n\tND_DRIVER_REGION_BLK = 8,\n\tND_DRIVER_NAMESPACE_IO = 16,\n\tND_DRIVER_NAMESPACE_PMEM = 32,\n\tND_DRIVER_DAX_PMEM = 128,\n};\n\nenum nd_ioctl_mode {\n\tBUS_IOCTL = 0,\n\tDIMM_IOCTL = 1,\n};\n\nenum nd_label_flags {\n\tND_LABEL_REAP = 0,\n};\n\nenum nd_pfn_mode {\n\tPFN_MODE_NONE = 0,\n\tPFN_MODE_RAM = 1,\n\tPFN_MODE_PMEM = 2,\n};\n\nenum net_device_flags {\n\tIFF_UP = 1,\n\tIFF_BROADCAST = 2,\n\tIFF_DEBUG = 4,\n\tIFF_LOOPBACK = 8,\n\tIFF_POINTOPOINT = 16,\n\tIFF_NOTRAILERS = 32,\n\tIFF_RUNNING = 64,\n\tIFF_NOARP = 128,\n\tIFF_PROMISC = 256,\n\tIFF_ALLMULTI = 512,\n\tIFF_MASTER = 1024,\n\tIFF_SLAVE = 2048,\n\tIFF_MULTICAST = 4096,\n\tIFF_PORTSEL = 8192,\n\tIFF_AUTOMEDIA = 16384,\n\tIFF_DYNAMIC = 32768,\n\tIFF_LOWER_UP = 65536,\n\tIFF_DORMANT = 131072,\n\tIFF_ECHO = 262144,\n};\n\nenum net_device_path_type {\n\tDEV_PATH_ETHERNET = 0,\n\tDEV_PATH_VLAN = 1,\n\tDEV_PATH_BRIDGE = 2,\n\tDEV_PATH_PPPOE = 3,\n\tDEV_PATH_DSA = 4,\n\tDEV_PATH_MTK_WDMA = 5,\n};\n\nenum net_xmit_qdisc_t {\n\t__NET_XMIT_STOLEN = 65536,\n\t__NET_XMIT_BYPASS = 131072,\n};\n\nenum netdev_cmd {\n\tNETDEV_UP = 1,\n\tNETDEV_DOWN = 2,\n\tNETDEV_REBOOT = 3,\n\tNETDEV_CHANGE = 4,\n\tNETDEV_REGISTER = 5,\n\tNETDEV_UNREGISTER = 6,\n\tNETDEV_CHANGEMTU = 7,\n\tNETDEV_CHANGEADDR = 8,\n\tNETDEV_PRE_CHANGEADDR = 9,\n\tNETDEV_GOING_DOWN = 10,\n\tNETDEV_CHANGENAME = 11,\n\tNETDEV_FEAT_CHANGE = 12,\n\tNETDEV_BONDING_FAILOVER = 13,\n\tNETDEV_PRE_UP = 14,\n\tNETDEV_PRE_TYPE_CHANGE = 15,\n\tNETDEV_POST_TYPE_CHANGE = 16,\n\tNETDEV_POST_INIT = 17,\n\tNETDEV_PRE_UNINIT = 18,\n\tNETDEV_RELEASE = 19,\n\tNETDEV_NOTIFY_PEERS = 20,\n\tNETDEV_JOIN = 21,\n\tNETDEV_CHANGEUPPER = 22,\n\tNETDEV_RESEND_IGMP = 23,\n\tNETDEV_PRECHANGEMTU = 24,\n\tNETDEV_CHANGEINFODATA = 25,\n\tNETDEV_BONDING_INFO = 26,\n\tNETDEV_PRECHANGEUPPER = 27,\n\tNETDEV_CHANGELOWERSTATE = 28,\n\tNETDEV_UDP_TUNNEL_PUSH_INFO = 29,\n\tNETDEV_UDP_TUNNEL_DROP_INFO = 30,\n\tNETDEV_CHANGE_TX_QUEUE_LEN = 31,\n\tNETDEV_CVLAN_FILTER_PUSH_INFO = 32,\n\tNETDEV_CVLAN_FILTER_DROP_INFO = 33,\n\tNETDEV_SVLAN_FILTER_PUSH_INFO = 34,\n\tNETDEV_SVLAN_FILTER_DROP_INFO = 35,\n\tNETDEV_OFFLOAD_XSTATS_ENABLE = 36,\n\tNETDEV_OFFLOAD_XSTATS_DISABLE = 37,\n\tNETDEV_OFFLOAD_XSTATS_REPORT_USED = 38,\n\tNETDEV_OFFLOAD_XSTATS_REPORT_DELTA = 39,\n\tNETDEV_XDP_FEAT_CHANGE = 40,\n};\n\nenum netdev_ml_priv_type {\n\tML_PRIV_NONE = 0,\n\tML_PRIV_CAN = 1,\n};\n\nenum netdev_offload_xstats_type {\n\tNETDEV_OFFLOAD_XSTATS_TYPE_L3 = 1,\n};\n\nenum netdev_priv_flags {\n\tIFF_802_1Q_VLAN = 1,\n\tIFF_EBRIDGE = 2,\n\tIFF_BONDING = 4,\n\tIFF_ISATAP = 8,\n\tIFF_WAN_HDLC = 16,\n\tIFF_XMIT_DST_RELEASE = 32,\n\tIFF_DONT_BRIDGE = 64,\n\tIFF_DISABLE_NETPOLL = 128,\n\tIFF_MACVLAN_PORT = 256,\n\tIFF_BRIDGE_PORT = 512,\n\tIFF_OVS_DATAPATH = 1024,\n\tIFF_TX_SKB_SHARING = 2048,\n\tIFF_UNICAST_FLT = 4096,\n\tIFF_TEAM_PORT = 8192,\n\tIFF_SUPP_NOFCS = 16384,\n\tIFF_LIVE_ADDR_CHANGE = 32768,\n\tIFF_MACVLAN = 65536,\n\tIFF_XMIT_DST_RELEASE_PERM = 131072,\n\tIFF_L3MDEV_MASTER = 262144,\n\tIFF_NO_QUEUE = 524288,\n\tIFF_OPENVSWITCH = 1048576,\n\tIFF_L3MDEV_SLAVE = 2097152,\n\tIFF_TEAM = 4194304,\n\tIFF_RXFH_CONFIGURED = 8388608,\n\tIFF_PHONY_HEADROOM = 16777216,\n\tIFF_MACSEC = 33554432,\n\tIFF_NO_RX_HANDLER = 67108864,\n\tIFF_FAILOVER = 134217728,\n\tIFF_FAILOVER_SLAVE = 268435456,\n\tIFF_L3MDEV_RX_HANDLER = 536870912,\n\tIFF_NO_ADDRCONF = 1073741824,\n\tIFF_TX_SKB_NO_LINEAR = 2147483648,\n};\n\nenum netdev_qstats_scope {\n\tNETDEV_QSTATS_SCOPE_QUEUE = 1,\n};\n\nenum netdev_queue_state_t {\n\t__QUEUE_STATE_DRV_XOFF = 0,\n\t__QUEUE_STATE_STACK_XOFF = 1,\n\t__QUEUE_STATE_FROZEN = 2,\n};\n\nenum netdev_queue_type {\n\tNETDEV_QUEUE_TYPE_RX = 0,\n\tNETDEV_QUEUE_TYPE_TX = 1,\n};\n\nenum netdev_reg_state {\n\tNETREG_UNINITIALIZED = 0,\n\tNETREG_REGISTERED = 1,\n\tNETREG_UNREGISTERING = 2,\n\tNETREG_UNREGISTERED = 3,\n\tNETREG_RELEASED = 4,\n\tNETREG_DUMMY = 5,\n};\n\nenum netdev_stat_type {\n\tNETDEV_PCPU_STAT_NONE = 0,\n\tNETDEV_PCPU_STAT_LSTATS = 1,\n\tNETDEV_PCPU_STAT_TSTATS = 2,\n\tNETDEV_PCPU_STAT_DSTATS = 3,\n};\n\nenum netdev_state_t {\n\t__LINK_STATE_START = 0,\n\t__LINK_STATE_PRESENT = 1,\n\t__LINK_STATE_NOCARRIER = 2,\n\t__LINK_STATE_LINKWATCH_PENDING = 3,\n\t__LINK_STATE_DORMANT = 4,\n\t__LINK_STATE_TESTING = 5,\n};\n\nenum netdev_tx {\n\t__NETDEV_TX_MIN = -2147483648,\n\tNETDEV_TX_OK = 0,\n\tNETDEV_TX_BUSY = 16,\n};\n\ntypedef enum netdev_tx netdev_tx_t;\n\nenum netdev_xdp_act {\n\tNETDEV_XDP_ACT_BASIC = 1,\n\tNETDEV_XDP_ACT_REDIRECT = 2,\n\tNETDEV_XDP_ACT_NDO_XMIT = 4,\n\tNETDEV_XDP_ACT_XSK_ZEROCOPY = 8,\n\tNETDEV_XDP_ACT_HW_OFFLOAD = 16,\n\tNETDEV_XDP_ACT_RX_SG = 32,\n\tNETDEV_XDP_ACT_NDO_XMIT_SG = 64,\n\tNETDEV_XDP_ACT_MASK = 127,\n};\n\nenum netdev_xdp_rx_metadata {\n\tNETDEV_XDP_RX_METADATA_TIMESTAMP = 1,\n\tNETDEV_XDP_RX_METADATA_HASH = 2,\n\tNETDEV_XDP_RX_METADATA_VLAN_TAG = 4,\n};\n\nenum netdev_xsk_flags {\n\tNETDEV_XSK_FLAGS_TX_TIMESTAMP = 1,\n\tNETDEV_XSK_FLAGS_TX_CHECKSUM = 2,\n};\n\nenum netevent_notif_type {\n\tNETEVENT_NEIGH_UPDATE = 1,\n\tNETEVENT_REDIRECT = 2,\n\tNETEVENT_DELAY_PROBE_TIME_UPDATE = 3,\n\tNETEVENT_IPV4_MPATH_HASH_UPDATE = 4,\n\tNETEVENT_IPV6_MPATH_HASH_UPDATE = 5,\n\tNETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE = 6,\n};\n\nenum netlink_attribute_type {\n\tNL_ATTR_TYPE_INVALID = 0,\n\tNL_ATTR_TYPE_FLAG = 1,\n\tNL_ATTR_TYPE_U8 = 2,\n\tNL_ATTR_TYPE_U16 = 3,\n\tNL_ATTR_TYPE_U32 = 4,\n\tNL_ATTR_TYPE_U64 = 5,\n\tNL_ATTR_TYPE_S8 = 6,\n\tNL_ATTR_TYPE_S16 = 7,\n\tNL_ATTR_TYPE_S32 = 8,\n\tNL_ATTR_TYPE_S64 = 9,\n\tNL_ATTR_TYPE_BINARY = 10,\n\tNL_ATTR_TYPE_STRING = 11,\n\tNL_ATTR_TYPE_NUL_STRING = 12,\n\tNL_ATTR_TYPE_NESTED = 13,\n\tNL_ATTR_TYPE_NESTED_ARRAY = 14,\n\tNL_ATTR_TYPE_BITFIELD32 = 15,\n\tNL_ATTR_TYPE_SINT = 16,\n\tNL_ATTR_TYPE_UINT = 17,\n};\n\nenum netlink_policy_type_attr {\n\tNL_POLICY_TYPE_ATTR_UNSPEC = 0,\n\tNL_POLICY_TYPE_ATTR_TYPE = 1,\n\tNL_POLICY_TYPE_ATTR_MIN_VALUE_S = 2,\n\tNL_POLICY_TYPE_ATTR_MAX_VALUE_S = 3,\n\tNL_POLICY_TYPE_ATTR_MIN_VALUE_U = 4,\n\tNL_POLICY_TYPE_ATTR_MAX_VALUE_U = 5,\n\tNL_POLICY_TYPE_ATTR_MIN_LENGTH = 6,\n\tNL_POLICY_TYPE_ATTR_MAX_LENGTH = 7,\n\tNL_POLICY_TYPE_ATTR_POLICY_IDX = 8,\n\tNL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 9,\n\tNL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 10,\n\tNL_POLICY_TYPE_ATTR_PAD = 11,\n\tNL_POLICY_TYPE_ATTR_MASK = 12,\n\t__NL_POLICY_TYPE_ATTR_MAX = 13,\n\tNL_POLICY_TYPE_ATTR_MAX = 12,\n};\n\nenum netlink_skb_flags {\n\tNETLINK_SKB_DST = 8,\n};\n\nenum netlink_validation {\n\tNL_VALIDATE_LIBERAL = 0,\n\tNL_VALIDATE_TRAILING = 1,\n\tNL_VALIDATE_MAXTYPE = 2,\n\tNL_VALIDATE_UNSPEC = 4,\n\tNL_VALIDATE_STRICT_ATTRS = 8,\n\tNL_VALIDATE_NESTED = 16,\n};\n\nenum netns_bpf_attach_type {\n\tNETNS_BPF_INVALID = -1,\n\tNETNS_BPF_FLOW_DISSECTOR = 0,\n\tNETNS_BPF_SK_LOOKUP = 1,\n\tMAX_NETNS_BPF_ATTACH_TYPE = 2,\n};\n\nenum nexthop_event_type {\n\tNEXTHOP_EVENT_DEL = 0,\n\tNEXTHOP_EVENT_REPLACE = 1,\n\tNEXTHOP_EVENT_RES_TABLE_PRE_REPLACE = 2,\n\tNEXTHOP_EVENT_BUCKET_REPLACE = 3,\n\tNEXTHOP_EVENT_HW_STATS_REPORT_DELTA = 4,\n};\n\nenum nf_ct_ext_id {\n\tNF_CT_EXT_HELPER = 0,\n\tNF_CT_EXT_NAT = 1,\n\tNF_CT_EXT_SEQADJ = 2,\n\tNF_CT_EXT_ACCT = 3,\n\tNF_CT_EXT_NUM = 4,\n};\n\nenum nf_dev_hooks {\n\tNF_NETDEV_INGRESS = 0,\n\tNF_NETDEV_EGRESS = 1,\n\tNF_NETDEV_NUMHOOKS = 2,\n};\n\nenum nf_hook_ops_type {\n\tNF_HOOK_OP_UNDEFINED = 0,\n\tNF_HOOK_OP_NF_TABLES = 1,\n\tNF_HOOK_OP_BPF = 2,\n};\n\nenum nf_inet_hooks {\n\tNF_INET_PRE_ROUTING = 0,\n\tNF_INET_LOCAL_IN = 1,\n\tNF_INET_FORWARD = 2,\n\tNF_INET_LOCAL_OUT = 3,\n\tNF_INET_POST_ROUTING = 4,\n\tNF_INET_NUMHOOKS = 5,\n\tNF_INET_INGRESS = 5,\n};\n\nenum nf_ip6_hook_priorities {\n\tNF_IP6_PRI_FIRST = -2147483648,\n\tNF_IP6_PRI_RAW_BEFORE_DEFRAG = -450,\n\tNF_IP6_PRI_CONNTRACK_DEFRAG = -400,\n\tNF_IP6_PRI_RAW = -300,\n\tNF_IP6_PRI_SELINUX_FIRST = -225,\n\tNF_IP6_PRI_CONNTRACK = -200,\n\tNF_IP6_PRI_MANGLE = -150,\n\tNF_IP6_PRI_NAT_DST = -100,\n\tNF_IP6_PRI_FILTER = 0,\n\tNF_IP6_PRI_SECURITY = 50,\n\tNF_IP6_PRI_NAT_SRC = 100,\n\tNF_IP6_PRI_SELINUX_LAST = 225,\n\tNF_IP6_PRI_CONNTRACK_HELPER = 300,\n\tNF_IP6_PRI_LAST = 2147483647,\n};\n\nenum nf_ip_hook_priorities {\n\tNF_IP_PRI_FIRST = -2147483648,\n\tNF_IP_PRI_RAW_BEFORE_DEFRAG = -450,\n\tNF_IP_PRI_CONNTRACK_DEFRAG = -400,\n\tNF_IP_PRI_RAW = -300,\n\tNF_IP_PRI_SELINUX_FIRST = -225,\n\tNF_IP_PRI_CONNTRACK = -200,\n\tNF_IP_PRI_MANGLE = -150,\n\tNF_IP_PRI_NAT_DST = -100,\n\tNF_IP_PRI_FILTER = 0,\n\tNF_IP_PRI_SECURITY = 50,\n\tNF_IP_PRI_NAT_SRC = 100,\n\tNF_IP_PRI_SELINUX_LAST = 225,\n\tNF_IP_PRI_CONNTRACK_HELPER = 300,\n\tNF_IP_PRI_CONNTRACK_CONFIRM = 2147483647,\n\tNF_IP_PRI_LAST = 2147483647,\n};\n\nenum nf_log_type {\n\tNF_LOG_TYPE_LOG = 0,\n\tNF_LOG_TYPE_ULOG = 1,\n\tNF_LOG_TYPE_MAX = 2,\n};\n\nenum nf_nat_manip_type;\n\nenum nfs3_createmode {\n\tNFS3_CREATE_UNCHECKED = 0,\n\tNFS3_CREATE_GUARDED = 1,\n\tNFS3_CREATE_EXCLUSIVE = 2,\n};\n\nenum nfs3_ftype {\n\tNF3NON = 0,\n\tNF3REG = 1,\n\tNF3DIR = 2,\n\tNF3BLK = 3,\n\tNF3CHR = 4,\n\tNF3LNK = 5,\n\tNF3SOCK = 6,\n\tNF3FIFO = 7,\n\tNF3BAD = 8,\n};\n\nenum nfs3_stable_how {\n\tNFS_UNSTABLE = 0,\n\tNFS_DATA_SYNC = 1,\n\tNFS_FILE_SYNC = 2,\n\tNFS_INVALID_STABLE_HOW = -1,\n};\n\nenum nfs4_acl_type {\n\tNFS4ACL_NONE = 0,\n\tNFS4ACL_ACL = 1,\n\tNFS4ACL_DACL = 2,\n\tNFS4ACL_SACL = 3,\n};\n\nenum nfs4_callback_procnum {\n\tCB_NULL = 0,\n\tCB_COMPOUND = 1,\n};\n\nenum nfs4_change_attr_type {\n\tNFS4_CHANGE_TYPE_IS_MONOTONIC_INCR = 0,\n\tNFS4_CHANGE_TYPE_IS_VERSION_COUNTER = 1,\n\tNFS4_CHANGE_TYPE_IS_VERSION_COUNTER_NOPNFS = 2,\n\tNFS4_CHANGE_TYPE_IS_TIME_METADATA = 3,\n\tNFS4_CHANGE_TYPE_IS_UNDEFINED = 4,\n};\n\nenum nfs4_client_state {\n\tNFS4CLNT_MANAGER_RUNNING = 0,\n\tNFS4CLNT_CHECK_LEASE = 1,\n\tNFS4CLNT_LEASE_EXPIRED = 2,\n\tNFS4CLNT_RECLAIM_REBOOT = 3,\n\tNFS4CLNT_RECLAIM_NOGRACE = 4,\n\tNFS4CLNT_DELEGRETURN = 5,\n\tNFS4CLNT_SESSION_RESET = 6,\n\tNFS4CLNT_LEASE_CONFIRM = 7,\n\tNFS4CLNT_SERVER_SCOPE_MISMATCH = 8,\n\tNFS4CLNT_PURGE_STATE = 9,\n\tNFS4CLNT_BIND_CONN_TO_SESSION = 10,\n\tNFS4CLNT_MOVED = 11,\n\tNFS4CLNT_LEASE_MOVED = 12,\n\tNFS4CLNT_DELEGATION_EXPIRED = 13,\n\tNFS4CLNT_RUN_MANAGER = 14,\n\tNFS4CLNT_MANAGER_AVAILABLE = 15,\n\tNFS4CLNT_RECALL_RUNNING = 16,\n\tNFS4CLNT_RECALL_ANY_LAYOUT_READ = 17,\n\tNFS4CLNT_RECALL_ANY_LAYOUT_RW = 18,\n\tNFS4CLNT_DELEGRETURN_DELAYED = 19,\n};\n\nenum nfs4_open_delegation_type4 {\n\tNFS4_OPEN_DELEGATE_NONE = 0,\n\tNFS4_OPEN_DELEGATE_READ = 1,\n\tNFS4_OPEN_DELEGATE_WRITE = 2,\n\tNFS4_OPEN_DELEGATE_NONE_EXT = 3,\n\tNFS4_OPEN_DELEGATE_READ_ATTRS_DELEG = 4,\n\tNFS4_OPEN_DELEGATE_WRITE_ATTRS_DELEG = 5,\n};\n\nenum nfs4_slot_tbl_state {\n\tNFS4_SLOT_TBL_DRAINING = 0,\n};\n\nenum nfs_cb_opnum4 {\n\tOP_CB_GETATTR = 3,\n\tOP_CB_RECALL = 4,\n\tOP_CB_LAYOUTRECALL = 5,\n\tOP_CB_NOTIFY = 6,\n\tOP_CB_PUSH_DELEG = 7,\n\tOP_CB_RECALL_ANY = 8,\n\tOP_CB_RECALLABLE_OBJ_AVAIL = 9,\n\tOP_CB_RECALL_SLOT = 10,\n\tOP_CB_SEQUENCE = 11,\n\tOP_CB_WANTS_CANCELLED = 12,\n\tOP_CB_NOTIFY_LOCK = 13,\n\tOP_CB_NOTIFY_DEVICEID = 14,\n\tOP_CB_OFFLOAD = 15,\n\tOP_CB_ILLEGAL = 10044,\n};\n\nenum nfs_ftype4 {\n\tNF4BAD = 0,\n\tNF4REG = 1,\n\tNF4DIR = 2,\n\tNF4BLK = 3,\n\tNF4CHR = 4,\n\tNF4LNK = 5,\n\tNF4SOCK = 6,\n\tNF4FIFO = 7,\n\tNF4ATTRDIR = 8,\n\tNF4NAMEDATTR = 9,\n};\n\nenum nfs_lock_status {\n\tNFS_LOCK_NOT_SET = 0,\n\tNFS_LOCK_LOCK = 1,\n\tNFS_LOCK_NOLOCK = 2,\n};\n\nenum nfs_opnum4 {\n\tOP_ACCESS = 3,\n\tOP_CLOSE = 4,\n\tOP_COMMIT = 5,\n\tOP_CREATE = 6,\n\tOP_DELEGPURGE = 7,\n\tOP_DELEGRETURN = 8,\n\tOP_GETATTR = 9,\n\tOP_GETFH = 10,\n\tOP_LINK = 11,\n\tOP_LOCK = 12,\n\tOP_LOCKT = 13,\n\tOP_LOCKU = 14,\n\tOP_LOOKUP = 15,\n\tOP_LOOKUPP = 16,\n\tOP_NVERIFY = 17,\n\tOP_OPEN = 18,\n\tOP_OPENATTR = 19,\n\tOP_OPEN_CONFIRM = 20,\n\tOP_OPEN_DOWNGRADE = 21,\n\tOP_PUTFH = 22,\n\tOP_PUTPUBFH = 23,\n\tOP_PUTROOTFH = 24,\n\tOP_READ = 25,\n\tOP_READDIR = 26,\n\tOP_READLINK = 27,\n\tOP_REMOVE = 28,\n\tOP_RENAME = 29,\n\tOP_RENEW = 30,\n\tOP_RESTOREFH = 31,\n\tOP_SAVEFH = 32,\n\tOP_SECINFO = 33,\n\tOP_SETATTR = 34,\n\tOP_SETCLIENTID = 35,\n\tOP_SETCLIENTID_CONFIRM = 36,\n\tOP_VERIFY = 37,\n\tOP_WRITE = 38,\n\tOP_RELEASE_LOCKOWNER = 39,\n\tOP_BACKCHANNEL_CTL = 40,\n\tOP_BIND_CONN_TO_SESSION = 41,\n\tOP_EXCHANGE_ID = 42,\n\tOP_CREATE_SESSION = 43,\n\tOP_DESTROY_SESSION = 44,\n\tOP_FREE_STATEID = 45,\n\tOP_GET_DIR_DELEGATION = 46,\n\tOP_GETDEVICEINFO = 47,\n\tOP_GETDEVICELIST = 48,\n\tOP_LAYOUTCOMMIT = 49,\n\tOP_LAYOUTGET = 50,\n\tOP_LAYOUTRETURN = 51,\n\tOP_SECINFO_NO_NAME = 52,\n\tOP_SEQUENCE = 53,\n\tOP_SET_SSV = 54,\n\tOP_TEST_STATEID = 55,\n\tOP_WANT_DELEGATION = 56,\n\tOP_DESTROY_CLIENTID = 57,\n\tOP_RECLAIM_COMPLETE = 58,\n\tOP_ALLOCATE = 59,\n\tOP_COPY = 60,\n\tOP_COPY_NOTIFY = 61,\n\tOP_DEALLOCATE = 62,\n\tOP_IO_ADVISE = 63,\n\tOP_LAYOUTERROR = 64,\n\tOP_LAYOUTSTATS = 65,\n\tOP_OFFLOAD_CANCEL = 66,\n\tOP_OFFLOAD_STATUS = 67,\n\tOP_READ_PLUS = 68,\n\tOP_SEEK = 69,\n\tOP_WRITE_SAME = 70,\n\tOP_CLONE = 71,\n\tOP_GETXATTR = 72,\n\tOP_SETXATTR = 73,\n\tOP_LISTXATTRS = 74,\n\tOP_REMOVEXATTR = 75,\n\tOP_ILLEGAL = 10044,\n};\n\nenum nfs_param {\n\tOpt_ac = 0,\n\tOpt_acdirmax = 1,\n\tOpt_acdirmin = 2,\n\tOpt_acl___2 = 3,\n\tOpt_acregmax = 4,\n\tOpt_acregmin = 5,\n\tOpt_actimeo = 6,\n\tOpt_addr = 7,\n\tOpt_bg = 8,\n\tOpt_bsize = 9,\n\tOpt_clientaddr = 10,\n\tOpt_cto = 11,\n\tOpt_alignwrite = 12,\n\tOpt_fg = 13,\n\tOpt_fscache = 14,\n\tOpt_fscache_flag = 15,\n\tOpt_hard = 16,\n\tOpt_intr = 17,\n\tOpt_local_lock = 18,\n\tOpt_lock = 19,\n\tOpt_lookupcache = 20,\n\tOpt_migration = 21,\n\tOpt_minorversion = 22,\n\tOpt_mountaddr = 23,\n\tOpt_mounthost = 24,\n\tOpt_mountport = 25,\n\tOpt_mountproto = 26,\n\tOpt_mountvers = 27,\n\tOpt_namelen = 28,\n\tOpt_nconnect = 29,\n\tOpt_max_connect = 30,\n\tOpt_port = 31,\n\tOpt_posix = 32,\n\tOpt_proto = 33,\n\tOpt_rdirplus = 34,\n\tOpt_rdma = 35,\n\tOpt_resvport = 36,\n\tOpt_retrans = 37,\n\tOpt_retry = 38,\n\tOpt_rsize = 39,\n\tOpt_sec = 40,\n\tOpt_sharecache = 41,\n\tOpt_sloppy = 42,\n\tOpt_soft = 43,\n\tOpt_softerr = 44,\n\tOpt_softreval = 45,\n\tOpt_source___2 = 46,\n\tOpt_tcp = 47,\n\tOpt_timeo = 48,\n\tOpt_trunkdiscovery = 49,\n\tOpt_udp = 50,\n\tOpt_v = 51,\n\tOpt_vers = 52,\n\tOpt_wsize = 53,\n\tOpt_write = 54,\n\tOpt_xprtsec = 55,\n};\n\nenum nfs_stat {\n\tNFS_OK = 0,\n\tNFSERR_PERM = 1,\n\tNFSERR_NOENT = 2,\n\tNFSERR_IO = 5,\n\tNFSERR_NXIO = 6,\n\tNFSERR_EAGAIN = 11,\n\tNFSERR_ACCES = 13,\n\tNFSERR_EXIST = 17,\n\tNFSERR_XDEV = 18,\n\tNFSERR_NODEV = 19,\n\tNFSERR_NOTDIR = 20,\n\tNFSERR_ISDIR = 21,\n\tNFSERR_INVAL = 22,\n\tNFSERR_FBIG = 27,\n\tNFSERR_NOSPC = 28,\n\tNFSERR_ROFS = 30,\n\tNFSERR_MLINK = 31,\n\tNFSERR_NAMETOOLONG = 63,\n\tNFSERR_NOTEMPTY = 66,\n\tNFSERR_DQUOT = 69,\n\tNFSERR_STALE = 70,\n\tNFSERR_REMOTE = 71,\n\tNFSERR_WFLUSH = 99,\n\tNFSERR_BADHANDLE = 10001,\n\tNFSERR_NOT_SYNC = 10002,\n\tNFSERR_BAD_COOKIE = 10003,\n\tNFSERR_NOTSUPP = 10004,\n\tNFSERR_TOOSMALL = 10005,\n\tNFSERR_SERVERFAULT = 10006,\n\tNFSERR_BADTYPE = 10007,\n\tNFSERR_JUKEBOX = 10008,\n\tNFSERR_SAME = 10009,\n\tNFSERR_DENIED = 10010,\n\tNFSERR_EXPIRED = 10011,\n\tNFSERR_LOCKED = 10012,\n\tNFSERR_GRACE = 10013,\n\tNFSERR_FHEXPIRED = 10014,\n\tNFSERR_SHARE_DENIED = 10015,\n\tNFSERR_WRONGSEC = 10016,\n\tNFSERR_CLID_INUSE = 10017,\n\tNFSERR_RESOURCE = 10018,\n\tNFSERR_MOVED = 10019,\n\tNFSERR_NOFILEHANDLE = 10020,\n\tNFSERR_MINOR_VERS_MISMATCH = 10021,\n\tNFSERR_STALE_CLIENTID = 10022,\n\tNFSERR_STALE_STATEID = 10023,\n\tNFSERR_OLD_STATEID = 10024,\n\tNFSERR_BAD_STATEID = 10025,\n\tNFSERR_BAD_SEQID = 10026,\n\tNFSERR_NOT_SAME = 10027,\n\tNFSERR_LOCK_RANGE = 10028,\n\tNFSERR_SYMLINK = 10029,\n\tNFSERR_RESTOREFH = 10030,\n\tNFSERR_LEASE_MOVED = 10031,\n\tNFSERR_ATTRNOTSUPP = 10032,\n\tNFSERR_NO_GRACE = 10033,\n\tNFSERR_RECLAIM_BAD = 10034,\n\tNFSERR_RECLAIM_CONFLICT = 10035,\n\tNFSERR_BAD_XDR = 10036,\n\tNFSERR_LOCKS_HELD = 10037,\n\tNFSERR_OPENMODE = 10038,\n\tNFSERR_BADOWNER = 10039,\n\tNFSERR_BADCHAR = 10040,\n\tNFSERR_BADNAME = 10041,\n\tNFSERR_BAD_RANGE = 10042,\n\tNFSERR_LOCK_NOTSUPP = 10043,\n\tNFSERR_OP_ILLEGAL = 10044,\n\tNFSERR_DEADLOCK = 10045,\n\tNFSERR_FILE_OPEN = 10046,\n\tNFSERR_ADMIN_REVOKED = 10047,\n\tNFSERR_CB_PATH_DOWN = 10048,\n};\n\nenum nfs_stat_bytecounters {\n\tNFSIOS_NORMALREADBYTES = 0,\n\tNFSIOS_NORMALWRITTENBYTES = 1,\n\tNFSIOS_DIRECTREADBYTES = 2,\n\tNFSIOS_DIRECTWRITTENBYTES = 3,\n\tNFSIOS_SERVERREADBYTES = 4,\n\tNFSIOS_SERVERWRITTENBYTES = 5,\n\tNFSIOS_READPAGES = 6,\n\tNFSIOS_WRITEPAGES = 7,\n\t__NFSIOS_BYTESMAX = 8,\n};\n\nenum nfs_stat_eventcounters {\n\tNFSIOS_INODEREVALIDATE = 0,\n\tNFSIOS_DENTRYREVALIDATE = 1,\n\tNFSIOS_DATAINVALIDATE = 2,\n\tNFSIOS_ATTRINVALIDATE = 3,\n\tNFSIOS_VFSOPEN = 4,\n\tNFSIOS_VFSLOOKUP = 5,\n\tNFSIOS_VFSACCESS = 6,\n\tNFSIOS_VFSUPDATEPAGE = 7,\n\tNFSIOS_VFSREADPAGE = 8,\n\tNFSIOS_VFSREADPAGES = 9,\n\tNFSIOS_VFSWRITEPAGE = 10,\n\tNFSIOS_VFSWRITEPAGES = 11,\n\tNFSIOS_VFSGETDENTS = 12,\n\tNFSIOS_VFSSETATTR = 13,\n\tNFSIOS_VFSFLUSH = 14,\n\tNFSIOS_VFSFSYNC = 15,\n\tNFSIOS_VFSLOCK = 16,\n\tNFSIOS_VFSRELEASE = 17,\n\tNFSIOS_CONGESTIONWAIT = 18,\n\tNFSIOS_SETATTRTRUNC = 19,\n\tNFSIOS_EXTENDWRITE = 20,\n\tNFSIOS_SILLYRENAME = 21,\n\tNFSIOS_SHORTREAD = 22,\n\tNFSIOS_SHORTWRITE = 23,\n\tNFSIOS_DELAY = 24,\n\tNFSIOS_PNFS_READ = 25,\n\tNFSIOS_PNFS_WRITE = 26,\n\t__NFSIOS_COUNTSMAX = 27,\n};\n\nenum nfsstat4 {\n\tNFS4_OK = 0,\n\tNFS4ERR_PERM = 1,\n\tNFS4ERR_NOENT = 2,\n\tNFS4ERR_IO = 5,\n\tNFS4ERR_NXIO = 6,\n\tNFS4ERR_ACCESS = 13,\n\tNFS4ERR_EXIST = 17,\n\tNFS4ERR_XDEV = 18,\n\tNFS4ERR_NOTDIR = 20,\n\tNFS4ERR_ISDIR = 21,\n\tNFS4ERR_INVAL = 22,\n\tNFS4ERR_FBIG = 27,\n\tNFS4ERR_NOSPC = 28,\n\tNFS4ERR_ROFS = 30,\n\tNFS4ERR_MLINK = 31,\n\tNFS4ERR_NAMETOOLONG = 63,\n\tNFS4ERR_NOTEMPTY = 66,\n\tNFS4ERR_DQUOT = 69,\n\tNFS4ERR_STALE = 70,\n\tNFS4ERR_BADHANDLE = 10001,\n\tNFS4ERR_BAD_COOKIE = 10003,\n\tNFS4ERR_NOTSUPP = 10004,\n\tNFS4ERR_TOOSMALL = 10005,\n\tNFS4ERR_SERVERFAULT = 10006,\n\tNFS4ERR_BADTYPE = 10007,\n\tNFS4ERR_DELAY = 10008,\n\tNFS4ERR_SAME = 10009,\n\tNFS4ERR_DENIED = 10010,\n\tNFS4ERR_EXPIRED = 10011,\n\tNFS4ERR_LOCKED = 10012,\n\tNFS4ERR_GRACE = 10013,\n\tNFS4ERR_FHEXPIRED = 10014,\n\tNFS4ERR_SHARE_DENIED = 10015,\n\tNFS4ERR_WRONGSEC = 10016,\n\tNFS4ERR_CLID_INUSE = 10017,\n\tNFS4ERR_RESOURCE = 10018,\n\tNFS4ERR_MOVED = 10019,\n\tNFS4ERR_NOFILEHANDLE = 10020,\n\tNFS4ERR_MINOR_VERS_MISMATCH = 10021,\n\tNFS4ERR_STALE_CLIENTID = 10022,\n\tNFS4ERR_STALE_STATEID = 10023,\n\tNFS4ERR_OLD_STATEID = 10024,\n\tNFS4ERR_BAD_STATEID = 10025,\n\tNFS4ERR_BAD_SEQID = 10026,\n\tNFS4ERR_NOT_SAME = 10027,\n\tNFS4ERR_LOCK_RANGE = 10028,\n\tNFS4ERR_SYMLINK = 10029,\n\tNFS4ERR_RESTOREFH = 10030,\n\tNFS4ERR_LEASE_MOVED = 10031,\n\tNFS4ERR_ATTRNOTSUPP = 10032,\n\tNFS4ERR_NO_GRACE = 10033,\n\tNFS4ERR_RECLAIM_BAD = 10034,\n\tNFS4ERR_RECLAIM_CONFLICT = 10035,\n\tNFS4ERR_BADXDR = 10036,\n\tNFS4ERR_LOCKS_HELD = 10037,\n\tNFS4ERR_OPENMODE = 10038,\n\tNFS4ERR_BADOWNER = 10039,\n\tNFS4ERR_BADCHAR = 10040,\n\tNFS4ERR_BADNAME = 10041,\n\tNFS4ERR_BAD_RANGE = 10042,\n\tNFS4ERR_LOCK_NOTSUPP = 10043,\n\tNFS4ERR_OP_ILLEGAL = 10044,\n\tNFS4ERR_DEADLOCK = 10045,\n\tNFS4ERR_FILE_OPEN = 10046,\n\tNFS4ERR_ADMIN_REVOKED = 10047,\n\tNFS4ERR_CB_PATH_DOWN = 10048,\n\tNFS4ERR_BADIOMODE = 10049,\n\tNFS4ERR_BADLAYOUT = 10050,\n\tNFS4ERR_BAD_SESSION_DIGEST = 10051,\n\tNFS4ERR_BADSESSION = 10052,\n\tNFS4ERR_BADSLOT = 10053,\n\tNFS4ERR_COMPLETE_ALREADY = 10054,\n\tNFS4ERR_CONN_NOT_BOUND_TO_SESSION = 10055,\n\tNFS4ERR_DELEG_ALREADY_WANTED = 10056,\n\tNFS4ERR_BACK_CHAN_BUSY = 10057,\n\tNFS4ERR_LAYOUTTRYLATER = 10058,\n\tNFS4ERR_LAYOUTUNAVAILABLE = 10059,\n\tNFS4ERR_NOMATCHING_LAYOUT = 10060,\n\tNFS4ERR_RECALLCONFLICT = 10061,\n\tNFS4ERR_UNKNOWN_LAYOUTTYPE = 10062,\n\tNFS4ERR_SEQ_MISORDERED = 10063,\n\tNFS4ERR_SEQUENCE_POS = 10064,\n\tNFS4ERR_REQ_TOO_BIG = 10065,\n\tNFS4ERR_REP_TOO_BIG = 10066,\n\tNFS4ERR_REP_TOO_BIG_TO_CACHE = 10067,\n\tNFS4ERR_RETRY_UNCACHED_REP = 10068,\n\tNFS4ERR_UNSAFE_COMPOUND = 10069,\n\tNFS4ERR_TOO_MANY_OPS = 10070,\n\tNFS4ERR_OP_NOT_IN_SESSION = 10071,\n\tNFS4ERR_HASH_ALG_UNSUPP = 10072,\n\tNFS4ERR_CLIENTID_BUSY = 10074,\n\tNFS4ERR_PNFS_IO_HOLE = 10075,\n\tNFS4ERR_SEQ_FALSE_RETRY = 10076,\n\tNFS4ERR_BAD_HIGH_SLOT = 10077,\n\tNFS4ERR_DEADSESSION = 10078,\n\tNFS4ERR_ENCR_ALG_UNSUPP = 10079,\n\tNFS4ERR_PNFS_NO_LAYOUT = 10080,\n\tNFS4ERR_NOT_ONLY_OP = 10081,\n\tNFS4ERR_WRONG_CRED = 10082,\n\tNFS4ERR_WRONG_TYPE = 10083,\n\tNFS4ERR_DIRDELEG_UNAVAIL = 10084,\n\tNFS4ERR_REJECT_DELEG = 10085,\n\tNFS4ERR_RETURNCONFLICT = 10086,\n\tNFS4ERR_DELEG_REVOKED = 10087,\n\tNFS4ERR_PARTNER_NOTSUPP = 10088,\n\tNFS4ERR_PARTNER_NO_AUTH = 10089,\n\tNFS4ERR_UNION_NOTSUPP = 10090,\n\tNFS4ERR_OFFLOAD_DENIED = 10091,\n\tNFS4ERR_WRONG_LFS = 10092,\n\tNFS4ERR_BADLABEL = 10093,\n\tNFS4ERR_OFFLOAD_NO_REQS = 10094,\n\tNFS4ERR_NOXATTR = 10095,\n\tNFS4ERR_XATTR2BIG = 10096,\n\tNFS4ERR_FIRST_FREE = 10097,\n};\n\nenum nh_notifier_info_type {\n\tNH_NOTIFIER_INFO_TYPE_SINGLE = 0,\n\tNH_NOTIFIER_INFO_TYPE_GRP = 1,\n\tNH_NOTIFIER_INFO_TYPE_RES_TABLE = 2,\n\tNH_NOTIFIER_INFO_TYPE_RES_BUCKET = 3,\n\tNH_NOTIFIER_INFO_TYPE_GRP_HW_STATS = 4,\n};\n\nenum nla_policy_validation {\n\tNLA_VALIDATE_NONE = 0,\n\tNLA_VALIDATE_RANGE = 1,\n\tNLA_VALIDATE_RANGE_WARN_TOO_LONG = 2,\n\tNLA_VALIDATE_MIN = 3,\n\tNLA_VALIDATE_MAX = 4,\n\tNLA_VALIDATE_MASK = 5,\n\tNLA_VALIDATE_RANGE_PTR = 6,\n\tNLA_VALIDATE_FUNCTION = 7,\n};\n\nenum nlmsgerr_attrs {\n\tNLMSGERR_ATTR_UNUSED = 0,\n\tNLMSGERR_ATTR_MSG = 1,\n\tNLMSGERR_ATTR_OFFS = 2,\n\tNLMSGERR_ATTR_COOKIE = 3,\n\tNLMSGERR_ATTR_POLICY = 4,\n\tNLMSGERR_ATTR_MISS_TYPE = 5,\n\tNLMSGERR_ATTR_MISS_NEST = 6,\n\t__NLMSGERR_ATTR_MAX = 7,\n\tNLMSGERR_ATTR_MAX = 6,\n};\n\nenum node_stat_item {\n\tNR_LRU_BASE = 0,\n\tNR_INACTIVE_ANON = 0,\n\tNR_ACTIVE_ANON = 1,\n\tNR_INACTIVE_FILE = 2,\n\tNR_ACTIVE_FILE = 3,\n\tNR_UNEVICTABLE = 4,\n\tNR_SLAB_RECLAIMABLE_B = 5,\n\tNR_SLAB_UNRECLAIMABLE_B = 6,\n\tNR_ISOLATED_ANON = 7,\n\tNR_ISOLATED_FILE = 8,\n\tWORKINGSET_NODES = 9,\n\tWORKINGSET_REFAULT_BASE = 10,\n\tWORKINGSET_REFAULT_ANON = 10,\n\tWORKINGSET_REFAULT_FILE = 11,\n\tWORKINGSET_ACTIVATE_BASE = 12,\n\tWORKINGSET_ACTIVATE_ANON = 12,\n\tWORKINGSET_ACTIVATE_FILE = 13,\n\tWORKINGSET_RESTORE_BASE = 14,\n\tWORKINGSET_RESTORE_ANON = 14,\n\tWORKINGSET_RESTORE_FILE = 15,\n\tWORKINGSET_NODERECLAIM = 16,\n\tNR_ANON_MAPPED = 17,\n\tNR_FILE_MAPPED = 18,\n\tNR_FILE_PAGES = 19,\n\tNR_FILE_DIRTY = 20,\n\tNR_WRITEBACK = 21,\n\tNR_WRITEBACK_TEMP = 22,\n\tNR_SHMEM = 23,\n\tNR_SHMEM_THPS = 24,\n\tNR_SHMEM_PMDMAPPED = 25,\n\tNR_FILE_THPS = 26,\n\tNR_FILE_PMDMAPPED = 27,\n\tNR_ANON_THPS = 28,\n\tNR_VMSCAN_WRITE = 29,\n\tNR_VMSCAN_IMMEDIATE = 30,\n\tNR_DIRTIED = 31,\n\tNR_WRITTEN = 32,\n\tNR_THROTTLED_WRITTEN = 33,\n\tNR_KERNEL_MISC_RECLAIMABLE = 34,\n\tNR_FOLL_PIN_ACQUIRED = 35,\n\tNR_FOLL_PIN_RELEASED = 36,\n\tNR_KERNEL_STACK_KB = 37,\n\tNR_PAGETABLE = 38,\n\tNR_SECONDARY_PAGETABLE = 39,\n\tNR_IOMMU_PAGES = 40,\n\tNR_SWAPCACHE = 41,\n\tPGPROMOTE_SUCCESS = 42,\n\tPGPROMOTE_CANDIDATE = 43,\n\tPGDEMOTE_KSWAPD = 44,\n\tPGDEMOTE_DIRECT = 45,\n\tPGDEMOTE_KHUGEPAGED = 46,\n\tNR_HUGETLB = 47,\n\tNR_VM_NODE_STAT_ITEMS = 48,\n};\n\nenum node_states {\n\tN_POSSIBLE = 0,\n\tN_ONLINE = 1,\n\tN_NORMAL_MEMORY = 2,\n\tN_HIGH_MEMORY = 2,\n\tN_MEMORY = 3,\n\tN_CPU = 4,\n\tN_GENERIC_INITIATOR = 5,\n\tNR_NODE_STATES = 6,\n};\n\nenum notify_state {\n\tSECCOMP_NOTIFY_INIT = 0,\n\tSECCOMP_NOTIFY_SENT = 1,\n\tSECCOMP_NOTIFY_REPLIED = 2,\n};\n\nenum numa_faults_stats {\n\tNUMA_MEM = 0,\n\tNUMA_CPU = 1,\n\tNUMA_MEMBUF = 2,\n\tNUMA_CPUBUF = 3,\n};\n\nenum numa_stat_item {\n\tNUMA_HIT = 0,\n\tNUMA_MISS = 1,\n\tNUMA_FOREIGN = 2,\n\tNUMA_INTERLEAVE_HIT = 3,\n\tNUMA_LOCAL = 4,\n\tNUMA_OTHER = 5,\n\tNR_VM_NUMA_EVENT_ITEMS = 6,\n};\n\nenum numa_topology_type {\n\tNUMA_DIRECT = 0,\n\tNUMA_GLUELESS_MESH = 1,\n\tNUMA_BACKPLANE = 2,\n};\n\nenum numa_type {\n\tnode_has_spare = 0,\n\tnode_fully_busy = 1,\n\tnode_overloaded = 2,\n};\n\nenum numa_vmaskip_reason {\n\tNUMAB_SKIP_UNSUITABLE = 0,\n\tNUMAB_SKIP_SHARED_RO = 1,\n\tNUMAB_SKIP_INACCESSIBLE = 2,\n\tNUMAB_SKIP_SCAN_DELAY = 3,\n\tNUMAB_SKIP_PID_INACTIVE = 4,\n\tNUMAB_SKIP_IGNORE_PID = 5,\n\tNUMAB_SKIP_SEQ_COMPLETED = 6,\n};\n\nenum nvdimm_claim_class {\n\tNVDIMM_CCLASS_NONE = 0,\n\tNVDIMM_CCLASS_BTT = 1,\n\tNVDIMM_CCLASS_BTT2 = 2,\n\tNVDIMM_CCLASS_PFN = 3,\n\tNVDIMM_CCLASS_DAX = 4,\n\tNVDIMM_CCLASS_UNKNOWN = 5,\n};\n\nenum nvdimm_event {\n\tNVDIMM_REVALIDATE_POISON = 0,\n\tNVDIMM_REVALIDATE_REGION = 1,\n};\n\nenum nvdimm_fwa_capability {\n\tNVDIMM_FWA_CAP_INVALID = 0,\n\tNVDIMM_FWA_CAP_NONE = 1,\n\tNVDIMM_FWA_CAP_QUIESCE = 2,\n\tNVDIMM_FWA_CAP_LIVE = 3,\n};\n\nenum nvdimm_fwa_result {\n\tNVDIMM_FWA_RESULT_INVALID = 0,\n\tNVDIMM_FWA_RESULT_NONE = 1,\n\tNVDIMM_FWA_RESULT_SUCCESS = 2,\n\tNVDIMM_FWA_RESULT_NOTSTAGED = 3,\n\tNVDIMM_FWA_RESULT_NEEDRESET = 4,\n\tNVDIMM_FWA_RESULT_FAIL = 5,\n};\n\nenum nvdimm_fwa_state {\n\tNVDIMM_FWA_INVALID = 0,\n\tNVDIMM_FWA_IDLE = 1,\n\tNVDIMM_FWA_ARMED = 2,\n\tNVDIMM_FWA_BUSY = 3,\n\tNVDIMM_FWA_ARM_OVERFLOW = 4,\n};\n\nenum nvdimm_fwa_trigger {\n\tNVDIMM_FWA_ARM = 0,\n\tNVDIMM_FWA_DISARM = 1,\n};\n\nenum nvdimm_passphrase_type {\n\tNVDIMM_USER = 0,\n\tNVDIMM_MASTER = 1,\n};\n\nenum nvdimm_security_bits {\n\tNVDIMM_SECURITY_DISABLED = 0,\n\tNVDIMM_SECURITY_UNLOCKED = 1,\n\tNVDIMM_SECURITY_LOCKED = 2,\n\tNVDIMM_SECURITY_FROZEN = 3,\n\tNVDIMM_SECURITY_OVERWRITE = 4,\n};\n\nenum nvmem_type {\n\tNVMEM_TYPE_UNKNOWN = 0,\n\tNVMEM_TYPE_EEPROM = 1,\n\tNVMEM_TYPE_OTP = 2,\n\tNVMEM_TYPE_BATTERY_BACKED = 3,\n\tNVMEM_TYPE_FRAM = 4,\n};\n\nenum objext_flags {\n\tOBJEXTS_ALLOC_FAIL = 4,\n\t__NR_OBJEXTS_FLAGS = 8,\n};\n\nenum of_reconfig_change {\n\tOF_RECONFIG_NO_CHANGE = 0,\n\tOF_RECONFIG_CHANGE_ADD = 1,\n\tOF_RECONFIG_CHANGE_REMOVE = 2,\n};\n\nenum offload_act_command {\n\tFLOW_ACT_REPLACE = 0,\n\tFLOW_ACT_DESTROY = 1,\n\tFLOW_ACT_STATS = 2,\n};\n\nenum ohci_rh_state {\n\tOHCI_RH_HALTED = 0,\n\tOHCI_RH_SUSPENDED = 1,\n\tOHCI_RH_RUNNING = 2,\n};\n\nenum oom_constraint {\n\tCONSTRAINT_NONE = 0,\n\tCONSTRAINT_CPUSET = 1,\n\tCONSTRAINT_MEMORY_POLICY = 2,\n\tCONSTRAINT_MEMCG = 3,\n};\n\nenum opal_async_token_state {\n\tASYNC_TOKEN_UNALLOCATED = 0,\n\tASYNC_TOKEN_ALLOCATED = 1,\n\tASYNC_TOKEN_DISPATCHED = 2,\n\tASYNC_TOKEN_ABANDONED = 3,\n\tASYNC_TOKEN_COMPLETED = 4,\n};\n\nenum opal_mpipl_ops {\n\tOPAL_MPIPL_ADD_RANGE = 0,\n\tOPAL_MPIPL_REMOVE_RANGE = 1,\n\tOPAL_MPIPL_REMOVE_ALL = 2,\n\tOPAL_MPIPL_FREE_PRESERVED_MEMORY = 3,\n};\n\nenum opal_mpipl_tags {\n\tOPAL_MPIPL_TAG_CPU = 0,\n\tOPAL_MPIPL_TAG_OPAL = 1,\n\tOPAL_MPIPL_TAG_KERNEL = 2,\n\tOPAL_MPIPL_TAG_BOOT_MEM = 3,\n};\n\nenum opal_msg_type {\n\tOPAL_MSG_ASYNC_COMP = 0,\n\tOPAL_MSG_MEM_ERR = 1,\n\tOPAL_MSG_EPOW = 2,\n\tOPAL_MSG_SHUTDOWN = 3,\n\tOPAL_MSG_HMI_EVT = 4,\n\tOPAL_MSG_DPO = 5,\n\tOPAL_MSG_PRD = 6,\n\tOPAL_MSG_OCC = 7,\n\tOPAL_MSG_PRD2 = 8,\n\tOPAL_MSG_TYPE_MAX = 9,\n};\n\nenum open_claim_type4 {\n\tNFS4_OPEN_CLAIM_NULL = 0,\n\tNFS4_OPEN_CLAIM_PREVIOUS = 1,\n\tNFS4_OPEN_CLAIM_DELEGATE_CUR = 2,\n\tNFS4_OPEN_CLAIM_DELEGATE_PREV = 3,\n\tNFS4_OPEN_CLAIM_FH = 4,\n\tNFS4_OPEN_CLAIM_DELEG_CUR_FH = 5,\n\tNFS4_OPEN_CLAIM_DELEG_PREV_FH = 6,\n};\n\nenum opentype4 {\n\tNFS4_OPEN_NOCREATE = 0,\n\tNFS4_OPEN_CREATE = 1,\n};\n\nenum owner_state {\n\tOWNER_NULL = 1,\n\tOWNER_WRITER = 2,\n\tOWNER_READER = 4,\n\tOWNER_NONSPINNABLE = 8,\n};\n\nenum packet_sock_flags {\n\tPACKET_SOCK_ORIGDEV = 0,\n\tPACKET_SOCK_AUXDATA = 1,\n\tPACKET_SOCK_TX_HAS_OFF = 2,\n\tPACKET_SOCK_TP_LOSS = 3,\n\tPACKET_SOCK_RUNNING = 4,\n\tPACKET_SOCK_PRESSURE = 5,\n\tPACKET_SOCK_QDISC_BYPASS = 6,\n};\n\nenum page_ext_flags {\n\tPAGE_EXT_OWNER = 0,\n\tPAGE_EXT_OWNER_ALLOCATED = 1,\n};\n\nenum page_memcg_data_flags {\n\tMEMCG_DATA_OBJEXTS = 1,\n\tMEMCG_DATA_KMEM = 2,\n\t__NR_MEMCG_DATA_FLAGS = 4,\n};\n\nenum page_size_enum {\n\t__PAGE_SIZE = 65536,\n};\n\nenum page_walk_action {\n\tACTION_SUBTREE = 0,\n\tACTION_CONTINUE = 1,\n\tACTION_AGAIN = 2,\n};\n\nenum page_walk_lock {\n\tPGWALK_RDLOCK = 0,\n\tPGWALK_WRLOCK = 1,\n\tPGWALK_WRLOCK_VERIFY = 2,\n};\n\nenum pageblock_bits {\n\tPB_migrate = 0,\n\tPB_migrate_end = 2,\n\tPB_migrate_skip = 3,\n\tNR_PAGEBLOCK_BITS = 4,\n};\n\nenum pageflags {\n\tPG_locked = 0,\n\tPG_writeback = 1,\n\tPG_referenced = 2,\n\tPG_uptodate = 3,\n\tPG_dirty = 4,\n\tPG_lru = 5,\n\tPG_head = 6,\n\tPG_waiters = 7,\n\tPG_active = 8,\n\tPG_workingset = 9,\n\tPG_owner_priv_1 = 10,\n\tPG_owner_2 = 11,\n\tPG_arch_1 = 12,\n\tPG_reserved = 13,\n\tPG_private = 14,\n\tPG_private_2 = 15,\n\tPG_reclaim = 16,\n\tPG_swapbacked = 17,\n\tPG_unevictable = 18,\n\tPG_dropbehind = 19,\n\tPG_mlocked = 20,\n\t__NR_PAGEFLAGS = 21,\n\tPG_readahead = 16,\n\tPG_swapcache = 10,\n\tPG_checked = 10,\n\tPG_anon_exclusive = 11,\n\tPG_mappedtodisk = 11,\n\tPG_fscache = 15,\n\tPG_pinned = 10,\n\tPG_savepinned = 4,\n\tPG_foreign = 10,\n\tPG_xen_remapped = 10,\n\tPG_isolated = 16,\n\tPG_reported = 3,\n\tPG_vmemmap_self_hosted = 10,\n\tPG_has_hwpoisoned = 8,\n\tPG_large_rmappable = 9,\n\tPG_partially_mapped = 16,\n};\n\nenum pagetype {\n\tPGTY_buddy = 240,\n\tPGTY_offline = 241,\n\tPGTY_table = 242,\n\tPGTY_guard = 243,\n\tPGTY_hugetlb = 244,\n\tPGTY_slab = 245,\n\tPGTY_zsmalloc = 246,\n\tPGTY_unaccepted = 247,\n\tPGTY_mapcount_underflow = 255,\n};\n\nenum partition_cmd {\n\tpartcmd_enable = 0,\n\tpartcmd_enablei = 1,\n\tpartcmd_disable = 2,\n\tpartcmd_update = 3,\n\tpartcmd_invalidate = 4,\n};\n\nenum passtype {\n\tPASS_SCAN = 0,\n\tPASS_REVOKE = 1,\n\tPASS_REPLAY = 2,\n};\n\nenum pci_bar_type {\n\tpci_bar_unknown = 0,\n\tpci_bar_io = 1,\n\tpci_bar_mem32 = 2,\n\tpci_bar_mem64 = 3,\n};\n\nenum pci_board_num_t {\n\tpbn_default = 0,\n\tpbn_b0_1_115200 = 1,\n\tpbn_b0_2_115200 = 2,\n\tpbn_b0_4_115200 = 3,\n\tpbn_b0_5_115200 = 4,\n\tpbn_b0_8_115200 = 5,\n\tpbn_b0_1_921600 = 6,\n\tpbn_b0_2_921600 = 7,\n\tpbn_b0_4_921600 = 8,\n\tpbn_b0_2_1130000 = 9,\n\tpbn_b0_4_1152000 = 10,\n\tpbn_b0_4_1250000 = 11,\n\tpbn_b0_2_1843200 = 12,\n\tpbn_b0_4_1843200 = 13,\n\tpbn_b0_1_15625000 = 14,\n\tpbn_b0_bt_1_115200 = 15,\n\tpbn_b0_bt_2_115200 = 16,\n\tpbn_b0_bt_4_115200 = 17,\n\tpbn_b0_bt_8_115200 = 18,\n\tpbn_b0_bt_1_460800 = 19,\n\tpbn_b0_bt_2_460800 = 20,\n\tpbn_b0_bt_4_460800 = 21,\n\tpbn_b0_bt_1_921600 = 22,\n\tpbn_b0_bt_2_921600 = 23,\n\tpbn_b0_bt_4_921600 = 24,\n\tpbn_b0_bt_8_921600 = 25,\n\tpbn_b1_1_115200 = 26,\n\tpbn_b1_2_115200 = 27,\n\tpbn_b1_4_115200 = 28,\n\tpbn_b1_8_115200 = 29,\n\tpbn_b1_16_115200 = 30,\n\tpbn_b1_1_921600 = 31,\n\tpbn_b1_2_921600 = 32,\n\tpbn_b1_4_921600 = 33,\n\tpbn_b1_8_921600 = 34,\n\tpbn_b1_2_1250000 = 35,\n\tpbn_b1_bt_1_115200 = 36,\n\tpbn_b1_bt_2_115200 = 37,\n\tpbn_b1_bt_4_115200 = 38,\n\tpbn_b1_bt_2_921600 = 39,\n\tpbn_b1_1_1382400 = 40,\n\tpbn_b1_2_1382400 = 41,\n\tpbn_b1_4_1382400 = 42,\n\tpbn_b1_8_1382400 = 43,\n\tpbn_b2_1_115200 = 44,\n\tpbn_b2_2_115200 = 45,\n\tpbn_b2_4_115200 = 46,\n\tpbn_b2_8_115200 = 47,\n\tpbn_b2_1_460800 = 48,\n\tpbn_b2_4_460800 = 49,\n\tpbn_b2_8_460800 = 50,\n\tpbn_b2_16_460800 = 51,\n\tpbn_b2_1_921600 = 52,\n\tpbn_b2_4_921600 = 53,\n\tpbn_b2_8_921600 = 54,\n\tpbn_b2_8_1152000 = 55,\n\tpbn_b2_bt_1_115200 = 56,\n\tpbn_b2_bt_2_115200 = 57,\n\tpbn_b2_bt_4_115200 = 58,\n\tpbn_b2_bt_2_921600 = 59,\n\tpbn_b2_bt_4_921600 = 60,\n\tpbn_b3_2_115200 = 61,\n\tpbn_b3_4_115200 = 62,\n\tpbn_b3_8_115200 = 63,\n\tpbn_b4_bt_2_921600 = 64,\n\tpbn_b4_bt_4_921600 = 65,\n\tpbn_b4_bt_8_921600 = 66,\n\tpbn_panacom = 67,\n\tpbn_panacom2 = 68,\n\tpbn_panacom4 = 69,\n\tpbn_plx_romulus = 70,\n\tpbn_oxsemi = 71,\n\tpbn_oxsemi_1_15625000 = 72,\n\tpbn_oxsemi_2_15625000 = 73,\n\tpbn_oxsemi_4_15625000 = 74,\n\tpbn_oxsemi_8_15625000 = 75,\n\tpbn_intel_i960 = 76,\n\tpbn_sgi_ioc3 = 77,\n\tpbn_computone_4 = 78,\n\tpbn_computone_6 = 79,\n\tpbn_computone_8 = 80,\n\tpbn_sbsxrsio = 81,\n\tpbn_pasemi_1682M = 82,\n\tpbn_ni8430_2 = 83,\n\tpbn_ni8430_4 = 84,\n\tpbn_ni8430_8 = 85,\n\tpbn_ni8430_16 = 86,\n\tpbn_ADDIDATA_PCIe_1_3906250 = 87,\n\tpbn_ADDIDATA_PCIe_2_3906250 = 88,\n\tpbn_ADDIDATA_PCIe_4_3906250 = 89,\n\tpbn_ADDIDATA_PCIe_8_3906250 = 90,\n\tpbn_ce4100_1_115200 = 91,\n\tpbn_omegapci = 92,\n\tpbn_NETMOS9900_2s_115200 = 93,\n\tpbn_brcm_trumanage = 94,\n\tpbn_fintek_4 = 95,\n\tpbn_fintek_8 = 96,\n\tpbn_fintek_12 = 97,\n\tpbn_fintek_F81504A = 98,\n\tpbn_fintek_F81508A = 99,\n\tpbn_fintek_F81512A = 100,\n\tpbn_wch382_2 = 101,\n\tpbn_wch384_4 = 102,\n\tpbn_wch384_8 = 103,\n\tpbn_sunix_pci_1s = 104,\n\tpbn_sunix_pci_2s = 105,\n\tpbn_sunix_pci_4s = 106,\n\tpbn_sunix_pci_8s = 107,\n\tpbn_sunix_pci_16s = 108,\n\tpbn_titan_1_4000000 = 109,\n\tpbn_titan_2_4000000 = 110,\n\tpbn_titan_4_4000000 = 111,\n\tpbn_titan_8_4000000 = 112,\n\tpbn_moxa_2 = 113,\n\tpbn_moxa_4 = 114,\n\tpbn_moxa_8 = 115,\n};\n\nenum pci_bus_flags {\n\tPCI_BUS_FLAGS_NO_MSI = 1,\n\tPCI_BUS_FLAGS_NO_MMRBC = 2,\n\tPCI_BUS_FLAGS_NO_AERSID = 4,\n\tPCI_BUS_FLAGS_NO_EXTCFG = 8,\n};\n\nenum pci_bus_speed {\n\tPCI_SPEED_33MHz = 0,\n\tPCI_SPEED_66MHz = 1,\n\tPCI_SPEED_66MHz_PCIX = 2,\n\tPCI_SPEED_100MHz_PCIX = 3,\n\tPCI_SPEED_133MHz_PCIX = 4,\n\tPCI_SPEED_66MHz_PCIX_ECC = 5,\n\tPCI_SPEED_100MHz_PCIX_ECC = 6,\n\tPCI_SPEED_133MHz_PCIX_ECC = 7,\n\tPCI_SPEED_66MHz_PCIX_266 = 9,\n\tPCI_SPEED_100MHz_PCIX_266 = 10,\n\tPCI_SPEED_133MHz_PCIX_266 = 11,\n\tAGP_UNKNOWN = 12,\n\tAGP_1X = 13,\n\tAGP_2X = 14,\n\tAGP_4X = 15,\n\tAGP_8X = 16,\n\tPCI_SPEED_66MHz_PCIX_533 = 17,\n\tPCI_SPEED_100MHz_PCIX_533 = 18,\n\tPCI_SPEED_133MHz_PCIX_533 = 19,\n\tPCIE_SPEED_2_5GT = 20,\n\tPCIE_SPEED_5_0GT = 21,\n\tPCIE_SPEED_8_0GT = 22,\n\tPCIE_SPEED_16_0GT = 23,\n\tPCIE_SPEED_32_0GT = 24,\n\tPCIE_SPEED_64_0GT = 25,\n\tPCI_SPEED_UNKNOWN = 255,\n};\n\nenum pci_dev_flags {\n\tPCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = 1,\n\tPCI_DEV_FLAGS_NO_D3 = 2,\n\tPCI_DEV_FLAGS_ASSIGNED = 4,\n\tPCI_DEV_FLAGS_ACS_ENABLED_QUIRK = 8,\n\tPCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = 32,\n\tPCI_DEV_FLAGS_NO_BUS_RESET = 64,\n\tPCI_DEV_FLAGS_NO_PM_RESET = 128,\n\tPCI_DEV_FLAGS_VPD_REF_F0 = 256,\n\tPCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = 512,\n\tPCI_DEV_FLAGS_NO_FLR_RESET = 1024,\n\tPCI_DEV_FLAGS_NO_RELAXED_ORDERING = 2048,\n\tPCI_DEV_FLAGS_HAS_MSI_MASKING = 4096,\n};\n\nenum pci_ers_result {\n\tPCI_ERS_RESULT_NONE = 1,\n\tPCI_ERS_RESULT_CAN_RECOVER = 2,\n\tPCI_ERS_RESULT_NEED_RESET = 3,\n\tPCI_ERS_RESULT_DISCONNECT = 4,\n\tPCI_ERS_RESULT_RECOVERED = 5,\n\tPCI_ERS_RESULT_NO_AER_DRIVER = 6,\n};\n\nenum pci_fixup_pass {\n\tpci_fixup_early = 0,\n\tpci_fixup_header = 1,\n\tpci_fixup_final = 2,\n\tpci_fixup_enable = 3,\n\tpci_fixup_resume = 4,\n\tpci_fixup_suspend = 5,\n\tpci_fixup_resume_early = 6,\n\tpci_fixup_suspend_late = 7,\n};\n\nenum pci_mmap_api {\n\tPCI_MMAP_SYSFS = 0,\n\tPCI_MMAP_PROCFS = 1,\n};\n\nenum pci_mmap_state {\n\tpci_mmap_io = 0,\n\tpci_mmap_mem = 1,\n};\n\nenum pci_p2pdma_map_type {\n\tPCI_P2PDMA_MAP_UNKNOWN = 0,\n\tPCI_P2PDMA_MAP_NOT_SUPPORTED = 1,\n\tPCI_P2PDMA_MAP_BUS_ADDR = 2,\n\tPCI_P2PDMA_MAP_THRU_HOST_BRIDGE = 3,\n};\n\nenum pcie_bus_config_types {\n\tPCIE_BUS_TUNE_OFF = 0,\n\tPCIE_BUS_DEFAULT = 1,\n\tPCIE_BUS_SAFE = 2,\n\tPCIE_BUS_PERFORMANCE = 3,\n\tPCIE_BUS_PEER2PEER = 4,\n};\n\nenum pcie_link_width {\n\tPCIE_LNK_WIDTH_RESRV = 0,\n\tPCIE_LNK_X1 = 1,\n\tPCIE_LNK_X2 = 2,\n\tPCIE_LNK_X4 = 4,\n\tPCIE_LNK_X8 = 8,\n\tPCIE_LNK_X12 = 12,\n\tPCIE_LNK_X16 = 16,\n\tPCIE_LNK_X32 = 32,\n\tPCIE_LNK_WIDTH_UNKNOWN = 255,\n};\n\nenum pcie_reset_state {\n\tpcie_deassert_reset = 1,\n\tpcie_warm_reset = 2,\n\tpcie_hot_reset = 3,\n};\n\nenum pcim_addr_devres_type {\n\tPCIM_ADDR_DEVRES_TYPE_INVALID = 0,\n\tPCIM_ADDR_DEVRES_TYPE_REGION = 1,\n\tPCIM_ADDR_DEVRES_TYPE_REGION_MAPPING = 2,\n\tPCIM_ADDR_DEVRES_TYPE_MAPPING = 3,\n};\n\nenum pcpu_fc {\n\tPCPU_FC_AUTO = 0,\n\tPCPU_FC_EMBED = 1,\n\tPCPU_FC_PAGE = 2,\n\tPCPU_FC_NR = 3,\n};\n\nenum pedit_cmd {\n\tTCA_PEDIT_KEY_EX_CMD_SET = 0,\n\tTCA_PEDIT_KEY_EX_CMD_ADD = 1,\n\t__PEDIT_CMD_MAX = 2,\n};\n\nenum pedit_header_type {\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK = 0,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_ETH = 1,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_IP4 = 2,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_IP6 = 3,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_TCP = 4,\n\tTCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5,\n\t__PEDIT_HDR_TYPE_MAX = 6,\n};\n\nenum perf_addr_filter_action_t {\n\tPERF_ADDR_FILTER_ACTION_STOP = 0,\n\tPERF_ADDR_FILTER_ACTION_START = 1,\n\tPERF_ADDR_FILTER_ACTION_FILTER = 2,\n};\n\nenum perf_bpf_event_type {\n\tPERF_BPF_EVENT_UNKNOWN = 0,\n\tPERF_BPF_EVENT_PROG_LOAD = 1,\n\tPERF_BPF_EVENT_PROG_UNLOAD = 2,\n\tPERF_BPF_EVENT_MAX = 3,\n};\n\nenum perf_branch_sample_type {\n\tPERF_SAMPLE_BRANCH_USER = 1,\n\tPERF_SAMPLE_BRANCH_KERNEL = 2,\n\tPERF_SAMPLE_BRANCH_HV = 4,\n\tPERF_SAMPLE_BRANCH_ANY = 8,\n\tPERF_SAMPLE_BRANCH_ANY_CALL = 16,\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 32,\n\tPERF_SAMPLE_BRANCH_IND_CALL = 64,\n\tPERF_SAMPLE_BRANCH_ABORT_TX = 128,\n\tPERF_SAMPLE_BRANCH_IN_TX = 256,\n\tPERF_SAMPLE_BRANCH_NO_TX = 512,\n\tPERF_SAMPLE_BRANCH_COND = 1024,\n\tPERF_SAMPLE_BRANCH_CALL_STACK = 2048,\n\tPERF_SAMPLE_BRANCH_IND_JUMP = 4096,\n\tPERF_SAMPLE_BRANCH_CALL = 8192,\n\tPERF_SAMPLE_BRANCH_NO_FLAGS = 16384,\n\tPERF_SAMPLE_BRANCH_NO_CYCLES = 32768,\n\tPERF_SAMPLE_BRANCH_TYPE_SAVE = 65536,\n\tPERF_SAMPLE_BRANCH_HW_INDEX = 131072,\n\tPERF_SAMPLE_BRANCH_PRIV_SAVE = 262144,\n\tPERF_SAMPLE_BRANCH_COUNTERS = 524288,\n\tPERF_SAMPLE_BRANCH_MAX = 1048576,\n};\n\nenum perf_branch_sample_type_shift {\n\tPERF_SAMPLE_BRANCH_USER_SHIFT = 0,\n\tPERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1,\n\tPERF_SAMPLE_BRANCH_HV_SHIFT = 2,\n\tPERF_SAMPLE_BRANCH_ANY_SHIFT = 3,\n\tPERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4,\n\tPERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5,\n\tPERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6,\n\tPERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7,\n\tPERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8,\n\tPERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9,\n\tPERF_SAMPLE_BRANCH_COND_SHIFT = 10,\n\tPERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11,\n\tPERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12,\n\tPERF_SAMPLE_BRANCH_CALL_SHIFT = 13,\n\tPERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14,\n\tPERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15,\n\tPERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16,\n\tPERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17,\n\tPERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18,\n\tPERF_SAMPLE_BRANCH_COUNTERS_SHIFT = 19,\n\tPERF_SAMPLE_BRANCH_MAX_SHIFT = 20,\n};\n\nenum perf_callchain_context {\n\tPERF_CONTEXT_HV = 18446744073709551584ULL,\n\tPERF_CONTEXT_KERNEL = 18446744073709551488ULL,\n\tPERF_CONTEXT_USER = 18446744073709551104ULL,\n\tPERF_CONTEXT_GUEST = 18446744073709549568ULL,\n\tPERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL,\n\tPERF_CONTEXT_GUEST_USER = 18446744073709549056ULL,\n\tPERF_CONTEXT_MAX = 18446744073709547521ULL,\n};\n\nenum perf_event_ioc_flags {\n\tPERF_IOC_FLAG_GROUP = 1,\n};\n\nenum perf_event_powerpc_regs {\n\tPERF_REG_POWERPC_R0 = 0,\n\tPERF_REG_POWERPC_R1 = 1,\n\tPERF_REG_POWERPC_R2 = 2,\n\tPERF_REG_POWERPC_R3 = 3,\n\tPERF_REG_POWERPC_R4 = 4,\n\tPERF_REG_POWERPC_R5 = 5,\n\tPERF_REG_POWERPC_R6 = 6,\n\tPERF_REG_POWERPC_R7 = 7,\n\tPERF_REG_POWERPC_R8 = 8,\n\tPERF_REG_POWERPC_R9 = 9,\n\tPERF_REG_POWERPC_R10 = 10,\n\tPERF_REG_POWERPC_R11 = 11,\n\tPERF_REG_POWERPC_R12 = 12,\n\tPERF_REG_POWERPC_R13 = 13,\n\tPERF_REG_POWERPC_R14 = 14,\n\tPERF_REG_POWERPC_R15 = 15,\n\tPERF_REG_POWERPC_R16 = 16,\n\tPERF_REG_POWERPC_R17 = 17,\n\tPERF_REG_POWERPC_R18 = 18,\n\tPERF_REG_POWERPC_R19 = 19,\n\tPERF_REG_POWERPC_R20 = 20,\n\tPERF_REG_POWERPC_R21 = 21,\n\tPERF_REG_POWERPC_R22 = 22,\n\tPERF_REG_POWERPC_R23 = 23,\n\tPERF_REG_POWERPC_R24 = 24,\n\tPERF_REG_POWERPC_R25 = 25,\n\tPERF_REG_POWERPC_R26 = 26,\n\tPERF_REG_POWERPC_R27 = 27,\n\tPERF_REG_POWERPC_R28 = 28,\n\tPERF_REG_POWERPC_R29 = 29,\n\tPERF_REG_POWERPC_R30 = 30,\n\tPERF_REG_POWERPC_R31 = 31,\n\tPERF_REG_POWERPC_NIP = 32,\n\tPERF_REG_POWERPC_MSR = 33,\n\tPERF_REG_POWERPC_ORIG_R3 = 34,\n\tPERF_REG_POWERPC_CTR = 35,\n\tPERF_REG_POWERPC_LINK = 36,\n\tPERF_REG_POWERPC_XER = 37,\n\tPERF_REG_POWERPC_CCR = 38,\n\tPERF_REG_POWERPC_SOFTE = 39,\n\tPERF_REG_POWERPC_TRAP = 40,\n\tPERF_REG_POWERPC_DAR = 41,\n\tPERF_REG_POWERPC_DSISR = 42,\n\tPERF_REG_POWERPC_SIER = 43,\n\tPERF_REG_POWERPC_MMCRA = 44,\n\tPERF_REG_POWERPC_MMCR0 = 45,\n\tPERF_REG_POWERPC_MMCR1 = 46,\n\tPERF_REG_POWERPC_MMCR2 = 47,\n\tPERF_REG_POWERPC_MMCR3 = 48,\n\tPERF_REG_POWERPC_SIER2 = 49,\n\tPERF_REG_POWERPC_SIER3 = 50,\n\tPERF_REG_POWERPC_PMC1 = 51,\n\tPERF_REG_POWERPC_PMC2 = 52,\n\tPERF_REG_POWERPC_PMC3 = 53,\n\tPERF_REG_POWERPC_PMC4 = 54,\n\tPERF_REG_POWERPC_PMC5 = 55,\n\tPERF_REG_POWERPC_PMC6 = 56,\n\tPERF_REG_POWERPC_SDAR = 57,\n\tPERF_REG_POWERPC_SIAR = 58,\n\tPERF_REG_POWERPC_MAX = 45,\n\tPERF_REG_EXTENDED_MAX = 59,\n};\n\nenum perf_event_read_format {\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 1,\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 2,\n\tPERF_FORMAT_ID = 4,\n\tPERF_FORMAT_GROUP = 8,\n\tPERF_FORMAT_LOST = 16,\n\tPERF_FORMAT_MAX = 32,\n};\n\nenum perf_event_sample_format {\n\tPERF_SAMPLE_IP = 1,\n\tPERF_SAMPLE_TID = 2,\n\tPERF_SAMPLE_TIME = 4,\n\tPERF_SAMPLE_ADDR = 8,\n\tPERF_SAMPLE_READ = 16,\n\tPERF_SAMPLE_CALLCHAIN = 32,\n\tPERF_SAMPLE_ID = 64,\n\tPERF_SAMPLE_CPU = 128,\n\tPERF_SAMPLE_PERIOD = 256,\n\tPERF_SAMPLE_STREAM_ID = 512,\n\tPERF_SAMPLE_RAW = 1024,\n\tPERF_SAMPLE_BRANCH_STACK = 2048,\n\tPERF_SAMPLE_REGS_USER = 4096,\n\tPERF_SAMPLE_STACK_USER = 8192,\n\tPERF_SAMPLE_WEIGHT = 16384,\n\tPERF_SAMPLE_DATA_SRC = 32768,\n\tPERF_SAMPLE_IDENTIFIER = 65536,\n\tPERF_SAMPLE_TRANSACTION = 131072,\n\tPERF_SAMPLE_REGS_INTR = 262144,\n\tPERF_SAMPLE_PHYS_ADDR = 524288,\n\tPERF_SAMPLE_AUX = 1048576,\n\tPERF_SAMPLE_CGROUP = 2097152,\n\tPERF_SAMPLE_DATA_PAGE_SIZE = 4194304,\n\tPERF_SAMPLE_CODE_PAGE_SIZE = 8388608,\n\tPERF_SAMPLE_WEIGHT_STRUCT = 16777216,\n\tPERF_SAMPLE_MAX = 33554432,\n};\n\nenum perf_event_state {\n\tPERF_EVENT_STATE_DEAD = -4,\n\tPERF_EVENT_STATE_EXIT = -3,\n\tPERF_EVENT_STATE_ERROR = -2,\n\tPERF_EVENT_STATE_OFF = -1,\n\tPERF_EVENT_STATE_INACTIVE = 0,\n\tPERF_EVENT_STATE_ACTIVE = 1,\n};\n\nenum perf_event_task_context {\n\tperf_invalid_context = -1,\n\tperf_hw_context = 0,\n\tperf_sw_context = 1,\n\tperf_nr_task_contexts = 2,\n};\n\nenum perf_event_type {\n\tPERF_RECORD_MMAP = 1,\n\tPERF_RECORD_LOST = 2,\n\tPERF_RECORD_COMM = 3,\n\tPERF_RECORD_EXIT = 4,\n\tPERF_RECORD_THROTTLE = 5,\n\tPERF_RECORD_UNTHROTTLE = 6,\n\tPERF_RECORD_FORK = 7,\n\tPERF_RECORD_READ = 8,\n\tPERF_RECORD_SAMPLE = 9,\n\tPERF_RECORD_MMAP2 = 10,\n\tPERF_RECORD_AUX = 11,\n\tPERF_RECORD_ITRACE_START = 12,\n\tPERF_RECORD_LOST_SAMPLES = 13,\n\tPERF_RECORD_SWITCH = 14,\n\tPERF_RECORD_SWITCH_CPU_WIDE = 15,\n\tPERF_RECORD_NAMESPACES = 16,\n\tPERF_RECORD_KSYMBOL = 17,\n\tPERF_RECORD_BPF_EVENT = 18,\n\tPERF_RECORD_CGROUP = 19,\n\tPERF_RECORD_TEXT_POKE = 20,\n\tPERF_RECORD_AUX_OUTPUT_HW_ID = 21,\n\tPERF_RECORD_MAX = 22,\n};\n\nenum perf_hw_cache_id {\n\tPERF_COUNT_HW_CACHE_L1D = 0,\n\tPERF_COUNT_HW_CACHE_L1I = 1,\n\tPERF_COUNT_HW_CACHE_LL = 2,\n\tPERF_COUNT_HW_CACHE_DTLB = 3,\n\tPERF_COUNT_HW_CACHE_ITLB = 4,\n\tPERF_COUNT_HW_CACHE_BPU = 5,\n\tPERF_COUNT_HW_CACHE_NODE = 6,\n\tPERF_COUNT_HW_CACHE_MAX = 7,\n};\n\nenum perf_hw_cache_op_id {\n\tPERF_COUNT_HW_CACHE_OP_READ = 0,\n\tPERF_COUNT_HW_CACHE_OP_WRITE = 1,\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 2,\n\tPERF_COUNT_HW_CACHE_OP_MAX = 3,\n};\n\nenum perf_hw_cache_op_result_id {\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0,\n\tPERF_COUNT_HW_CACHE_RESULT_MISS = 1,\n\tPERF_COUNT_HW_CACHE_RESULT_MAX = 2,\n};\n\nenum perf_hw_id {\n\tPERF_COUNT_HW_CPU_CYCLES = 0,\n\tPERF_COUNT_HW_INSTRUCTIONS = 1,\n\tPERF_COUNT_HW_CACHE_REFERENCES = 2,\n\tPERF_COUNT_HW_CACHE_MISSES = 3,\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4,\n\tPERF_COUNT_HW_BRANCH_MISSES = 5,\n\tPERF_COUNT_HW_BUS_CYCLES = 6,\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7,\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8,\n\tPERF_COUNT_HW_REF_CPU_CYCLES = 9,\n\tPERF_COUNT_HW_MAX = 10,\n};\n\nenum perf_pmu_scope {\n\tPERF_PMU_SCOPE_NONE = 0,\n\tPERF_PMU_SCOPE_CORE = 1,\n\tPERF_PMU_SCOPE_DIE = 2,\n\tPERF_PMU_SCOPE_CLUSTER = 3,\n\tPERF_PMU_SCOPE_PKG = 4,\n\tPERF_PMU_SCOPE_SYS_WIDE = 5,\n\tPERF_PMU_MAX_SCOPE = 6,\n};\n\nenum perf_probe_config {\n\tPERF_PROBE_CONFIG_IS_RETPROBE = 1,\n\tPERF_UPROBE_REF_CTR_OFFSET_BITS = 32,\n\tPERF_UPROBE_REF_CTR_OFFSET_SHIFT = 32,\n};\n\nenum perf_record_ksymbol_type {\n\tPERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0,\n\tPERF_RECORD_KSYMBOL_TYPE_BPF = 1,\n\tPERF_RECORD_KSYMBOL_TYPE_OOL = 2,\n\tPERF_RECORD_KSYMBOL_TYPE_MAX = 3,\n};\n\nenum perf_sample_regs_abi {\n\tPERF_SAMPLE_REGS_ABI_NONE = 0,\n\tPERF_SAMPLE_REGS_ABI_32 = 1,\n\tPERF_SAMPLE_REGS_ABI_64 = 2,\n};\n\nenum perf_sw_ids {\n\tPERF_COUNT_SW_CPU_CLOCK = 0,\n\tPERF_COUNT_SW_TASK_CLOCK = 1,\n\tPERF_COUNT_SW_PAGE_FAULTS = 2,\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 3,\n\tPERF_COUNT_SW_CPU_MIGRATIONS = 4,\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN = 5,\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 7,\n\tPERF_COUNT_SW_EMULATION_FAULTS = 8,\n\tPERF_COUNT_SW_DUMMY = 9,\n\tPERF_COUNT_SW_BPF_OUTPUT = 10,\n\tPERF_COUNT_SW_CGROUP_SWITCHES = 11,\n\tPERF_COUNT_SW_MAX = 12,\n};\n\nenum perf_type_id {\n\tPERF_TYPE_HARDWARE = 0,\n\tPERF_TYPE_SOFTWARE = 1,\n\tPERF_TYPE_TRACEPOINT = 2,\n\tPERF_TYPE_HW_CACHE = 3,\n\tPERF_TYPE_RAW = 4,\n\tPERF_TYPE_BREAKPOINT = 5,\n\tPERF_TYPE_MAX = 6,\n};\n\nenum pgdat_flags {\n\tPGDAT_DIRTY = 0,\n\tPGDAT_WRITEBACK = 1,\n\tPGDAT_RECLAIM_LOCKED = 2,\n};\n\nenum pgt_entry {\n\tNORMAL_PMD = 0,\n\tHPAGE_PMD = 1,\n\tNORMAL_PUD = 2,\n\tHPAGE_PUD = 3,\n};\n\nenum pgtable_index {\n\tPTE_INDEX = 0,\n\tPMD_INDEX = 1,\n\tPUD_INDEX = 2,\n\tPGD_INDEX = 3,\n\tHTLB_16M_INDEX = 4,\n\tHTLB_16G_INDEX = 5,\n};\n\nenum phy {\n\tphy_100a = 992,\n\tphy_100c = 55575208,\n\tphy_82555_tx = 22020776,\n\tphy_nsc_tx = 1543512064,\n\tphy_82562_et = 53478056,\n\tphy_82562_em = 52429480,\n\tphy_82562_ek = 51380904,\n\tphy_82562_eh = 24117928,\n\tphy_82552_v = 3496017997,\n\tphy_unknown = 4294967295,\n};\n\nenum phy_media {\n\tPHY_MEDIA_DEFAULT = 0,\n\tPHY_MEDIA_SR = 1,\n\tPHY_MEDIA_DAC = 2,\n};\n\nenum phy_mode {\n\tPHY_MODE_INVALID = 0,\n\tPHY_MODE_USB_HOST = 1,\n\tPHY_MODE_USB_HOST_LS = 2,\n\tPHY_MODE_USB_HOST_FS = 3,\n\tPHY_MODE_USB_HOST_HS = 4,\n\tPHY_MODE_USB_HOST_SS = 5,\n\tPHY_MODE_USB_DEVICE = 6,\n\tPHY_MODE_USB_DEVICE_LS = 7,\n\tPHY_MODE_USB_DEVICE_FS = 8,\n\tPHY_MODE_USB_DEVICE_HS = 9,\n\tPHY_MODE_USB_DEVICE_SS = 10,\n\tPHY_MODE_USB_OTG = 11,\n\tPHY_MODE_UFS_HS_A = 12,\n\tPHY_MODE_UFS_HS_B = 13,\n\tPHY_MODE_PCIE = 14,\n\tPHY_MODE_ETHERNET = 15,\n\tPHY_MODE_MIPI_DPHY = 16,\n\tPHY_MODE_SATA = 17,\n\tPHY_MODE_LVDS = 18,\n\tPHY_MODE_DP = 19,\n};\n\nenum phy_state {\n\tPHY_DOWN = 0,\n\tPHY_READY = 1,\n\tPHY_HALTED = 2,\n\tPHY_ERROR = 3,\n\tPHY_UP = 4,\n\tPHY_RUNNING = 5,\n\tPHY_NOLINK = 6,\n\tPHY_CABLETEST = 7,\n};\n\nenum phy_state_work {\n\tPHY_STATE_WORK_NONE = 0,\n\tPHY_STATE_WORK_ANEG = 1,\n\tPHY_STATE_WORK_SUSPEND = 2,\n};\n\nenum phy_tunable_id {\n\tETHTOOL_PHY_ID_UNSPEC = 0,\n\tETHTOOL_PHY_DOWNSHIFT = 1,\n\tETHTOOL_PHY_FAST_LINK_DOWN = 2,\n\tETHTOOL_PHY_EDPD = 3,\n\t__ETHTOOL_PHY_TUNABLE_COUNT = 4,\n};\n\nenum phy_upstream {\n\tPHY_UPSTREAM_MAC = 0,\n\tPHY_UPSTREAM_PHY = 1,\n};\n\nenum pid_type {\n\tPIDTYPE_PID = 0,\n\tPIDTYPE_TGID = 1,\n\tPIDTYPE_PGID = 2,\n\tPIDTYPE_SID = 3,\n\tPIDTYPE_MAX = 4,\n};\n\nenum pidcg_event {\n\tPIDCG_MAX = 0,\n\tPIDCG_FORKFAIL = 1,\n\tNR_PIDCG_EVENTS = 2,\n};\n\nenum pkcs7_actions {\n\tACT_pkcs7_check_content_type = 0,\n\tACT_pkcs7_extract_cert = 1,\n\tACT_pkcs7_note_OID = 2,\n\tACT_pkcs7_note_certificate_list = 3,\n\tACT_pkcs7_note_content = 4,\n\tACT_pkcs7_note_data = 5,\n\tACT_pkcs7_note_signed_info = 6,\n\tACT_pkcs7_note_signeddata_version = 7,\n\tACT_pkcs7_note_signerinfo_version = 8,\n\tACT_pkcs7_sig_note_authenticated_attr = 9,\n\tACT_pkcs7_sig_note_digest_algo = 10,\n\tACT_pkcs7_sig_note_issuer = 11,\n\tACT_pkcs7_sig_note_pkey_algo = 12,\n\tACT_pkcs7_sig_note_serial = 13,\n\tACT_pkcs7_sig_note_set_of_authattrs = 14,\n\tACT_pkcs7_sig_note_signature = 15,\n\tACT_pkcs7_sig_note_skid = 16,\n\tNR__pkcs7_actions = 17,\n};\n\nenum pkey_id_type {\n\tPKEY_ID_PGP = 0,\n\tPKEY_ID_X509 = 1,\n\tPKEY_ID_PKCS7 = 2,\n};\n\nenum pkt_hash_types {\n\tPKT_HASH_TYPE_NONE = 0,\n\tPKT_HASH_TYPE_L2 = 1,\n\tPKT_HASH_TYPE_L3 = 2,\n\tPKT_HASH_TYPE_L4 = 3,\n};\n\nenum pm_qos_flags_status {\n\tPM_QOS_FLAGS_UNDEFINED = -1,\n\tPM_QOS_FLAGS_NONE = 0,\n\tPM_QOS_FLAGS_SOME = 1,\n\tPM_QOS_FLAGS_ALL = 2,\n};\n\nenum pm_qos_req_action {\n\tPM_QOS_ADD_REQ = 0,\n\tPM_QOS_UPDATE_REQ = 1,\n\tPM_QOS_REMOVE_REQ = 2,\n};\n\nenum pm_qos_type {\n\tPM_QOS_UNITIALIZED = 0,\n\tPM_QOS_MAX = 1,\n\tPM_QOS_MIN = 2,\n};\n\nenum pnfs_iomode {\n\tIOMODE_READ = 1,\n\tIOMODE_RW = 2,\n\tIOMODE_ANY = 3,\n};\n\nenum pnfs_try_status {\n\tPNFS_ATTEMPTED = 0,\n\tPNFS_NOT_ATTEMPTED = 1,\n\tPNFS_TRY_AGAIN = 2,\n};\n\nenum pnv_phb_model {\n\tPNV_PHB_MODEL_UNKNOWN = 0,\n\tPNV_PHB_MODEL_P7IOC = 1,\n\tPNV_PHB_MODEL_PHB3 = 2,\n};\n\nenum pnv_phb_type {\n\tPNV_PHB_IODA2 = 0,\n\tPNV_PHB_NPU_OCAPI = 1,\n};\n\nenum policy_opt {\n\tOpt_measure = 0,\n\tOpt_dont_measure = 1,\n\tOpt_appraise = 2,\n\tOpt_dont_appraise = 3,\n\tOpt_audit = 4,\n\tOpt_hash___2 = 5,\n\tOpt_dont_hash = 6,\n\tOpt_obj_user = 7,\n\tOpt_obj_role = 8,\n\tOpt_obj_type = 9,\n\tOpt_subj_user = 10,\n\tOpt_subj_role = 11,\n\tOpt_subj_type = 12,\n\tOpt_func = 13,\n\tOpt_mask = 14,\n\tOpt_fsmagic = 15,\n\tOpt_fsname = 16,\n\tOpt_fsuuid = 17,\n\tOpt_uid_eq = 18,\n\tOpt_euid_eq = 19,\n\tOpt_gid_eq = 20,\n\tOpt_egid_eq = 21,\n\tOpt_fowner_eq = 22,\n\tOpt_fgroup_eq = 23,\n\tOpt_uid_gt = 24,\n\tOpt_euid_gt = 25,\n\tOpt_gid_gt = 26,\n\tOpt_egid_gt = 27,\n\tOpt_fowner_gt = 28,\n\tOpt_fgroup_gt = 29,\n\tOpt_uid_lt = 30,\n\tOpt_euid_lt = 31,\n\tOpt_gid_lt = 32,\n\tOpt_egid_lt = 33,\n\tOpt_fowner_lt = 34,\n\tOpt_fgroup_lt = 35,\n\tOpt_digest_type = 36,\n\tOpt_appraise_type = 37,\n\tOpt_appraise_flag = 38,\n\tOpt_appraise_algos = 39,\n\tOpt_permit_directio = 40,\n\tOpt_pcr = 41,\n\tOpt_template = 42,\n\tOpt_keyrings = 43,\n\tOpt_label = 44,\n\tOpt_err___6 = 45,\n};\n\nenum policy_rule_list {\n\tIMA_DEFAULT_POLICY = 1,\n\tIMA_CUSTOM_POLICY = 2,\n};\n\nenum policy_types {\n\tORIGINAL_TCB = 1,\n\tDEFAULT_TCB = 2,\n};\n\nenum poll_time_type {\n\tPT_TIMEVAL = 0,\n\tPT_OLD_TIMEVAL = 1,\n\tPT_TIMESPEC = 2,\n\tPT_OLD_TIMESPEC = 3,\n};\n\nenum pool_workqueue_stats {\n\tPWQ_STAT_STARTED = 0,\n\tPWQ_STAT_COMPLETED = 1,\n\tPWQ_STAT_CPU_TIME = 2,\n\tPWQ_STAT_CPU_INTENSIVE = 3,\n\tPWQ_STAT_CM_WAKEUP = 4,\n\tPWQ_STAT_REPATRIATED = 5,\n\tPWQ_STAT_MAYDAY = 6,\n\tPWQ_STAT_RESCUED = 7,\n\tPWQ_NR_STATS = 8,\n};\n\nenum port {\n\tsoftware_reset = 0,\n\tselftest = 1,\n\tselective_reset = 2,\n};\n\nenum port_pkey_state {\n\tIB_PORT_PKEY_NOT_VALID = 0,\n\tIB_PORT_PKEY_VALID = 1,\n\tIB_PORT_PKEY_LISTED = 2,\n};\n\nenum positive_aop_returns {\n\tAOP_WRITEPAGE_ACTIVATE = 524288,\n\tAOP_TRUNCATED_PAGE = 524289,\n};\n\nenum posix_timer_state {\n\tPOSIX_TIMER_DISARMED = 0,\n\tPOSIX_TIMER_ARMED = 1,\n\tPOSIX_TIMER_REQUEUE_PENDING = 2,\n};\n\nenum powerpc_pmc_type {\n\tPPC_PMC_DEFAULT = 0,\n\tPPC_PMC_IBM = 1,\n\tPPC_PMC_PA6T = 2,\n\tPPC_PMC_G4 = 3,\n};\n\nenum powerpc_regset {\n\tREGSET_GPR = 0,\n\tREGSET_FPR = 1,\n\tREGSET_VMX = 2,\n\tREGSET_VSX = 3,\n\tREGSET_TM_CGPR = 4,\n\tREGSET_TM_CFPR = 5,\n\tREGSET_TM_CVMX = 6,\n\tREGSET_TM_CVSX = 7,\n\tREGSET_TM_SPR = 8,\n\tREGSET_TM_CTAR = 9,\n\tREGSET_TM_CPPR = 10,\n\tREGSET_TM_CDSCR = 11,\n\tREGSET_PPR = 12,\n\tREGSET_DSCR = 13,\n\tREGSET_TAR = 14,\n\tREGSET_EBB = 15,\n\tREGSET_PMR = 16,\n\tREGSET_DEXCR = 17,\n\tREGSET_HASHKEYR = 18,\n\tREGSET_PKEY = 19,\n};\n\nenum ppc_dbell {\n\tPPC_DBELL = 0,\n\tPPC_DBELL_CRIT = 1,\n\tPPC_G_DBELL = 2,\n\tPPC_G_DBELL_CRIT = 3,\n\tPPC_G_DBELL_MC = 4,\n\tPPC_DBELL_SERVER = 5,\n};\n\nenum pr_status {\n\tPR_STS_SUCCESS = 0,\n\tPR_STS_IOERR = 2,\n\tPR_STS_RESERVATION_CONFLICT = 24,\n\tPR_STS_RETRY_PATH_FAILURE = 917504,\n\tPR_STS_PATH_FAST_FAILED = 983040,\n\tPR_STS_PATH_FAILED = 65536,\n};\n\nenum pr_type {\n\tPR_WRITE_EXCLUSIVE = 1,\n\tPR_EXCLUSIVE_ACCESS = 2,\n\tPR_WRITE_EXCLUSIVE_REG_ONLY = 3,\n\tPR_EXCLUSIVE_ACCESS_REG_ONLY = 4,\n\tPR_WRITE_EXCLUSIVE_ALL_REGS = 5,\n\tPR_EXCLUSIVE_ACCESS_ALL_REGS = 6,\n};\n\nenum prep_dispatch {\n\tPREP_DISPATCH_OK = 0,\n\tPREP_DISPATCH_NO_TAG = 1,\n\tPREP_DISPATCH_NO_BUDGET = 2,\n};\n\nenum print_line_t {\n\tTRACE_TYPE_PARTIAL_LINE = 0,\n\tTRACE_TYPE_HANDLED = 1,\n\tTRACE_TYPE_UNHANDLED = 2,\n\tTRACE_TYPE_NO_CONSUME = 3,\n};\n\nenum printk_info_flags {\n\tLOG_FORCE_CON = 1,\n\tLOG_NEWLINE = 2,\n\tLOG_CONT = 8,\n};\n\nenum priv_stack_mode {\n\tPRIV_STACK_UNKNOWN = 0,\n\tNO_PRIV_STACK = 1,\n\tPRIV_STACK_ADAPTIVE = 2,\n};\n\nenum probe_print_type {\n\tPROBE_PRINT_NORMAL = 0,\n\tPROBE_PRINT_RETURN = 1,\n\tPROBE_PRINT_EVENT = 2,\n};\n\nenum probe_type {\n\tPROBE_DEFAULT_STRATEGY = 0,\n\tPROBE_PREFER_ASYNCHRONOUS = 1,\n\tPROBE_FORCE_SYNCHRONOUS = 2,\n};\n\nenum proc_cn_event {\n\tPROC_EVENT_NONE = 0,\n\tPROC_EVENT_FORK = 1,\n\tPROC_EVENT_EXEC = 2,\n\tPROC_EVENT_UID = 4,\n\tPROC_EVENT_GID = 64,\n\tPROC_EVENT_SID = 128,\n\tPROC_EVENT_PTRACE = 256,\n\tPROC_EVENT_COMM = 512,\n\tPROC_EVENT_NONZERO_EXIT = 536870912,\n\tPROC_EVENT_COREDUMP = 1073741824,\n\tPROC_EVENT_EXIT = 2147483648,\n};\n\nenum proc_hidepid {\n\tHIDEPID_OFF = 0,\n\tHIDEPID_NO_ACCESS = 1,\n\tHIDEPID_INVISIBLE = 2,\n\tHIDEPID_NOT_PTRACEABLE = 4,\n};\n\nenum proc_mem_force {\n\tPROC_MEM_FORCE_ALWAYS = 0,\n\tPROC_MEM_FORCE_PTRACE = 1,\n\tPROC_MEM_FORCE_NEVER = 2,\n};\n\nenum proc_param {\n\tOpt_gid___7 = 0,\n\tOpt_hidepid = 1,\n\tOpt_subset = 2,\n};\n\nenum proc_pidonly {\n\tPROC_PIDONLY_OFF = 0,\n\tPROC_PIDONLY_ON = 1,\n};\n\nenum procmap_query_flags {\n\tPROCMAP_QUERY_VMA_READABLE = 1,\n\tPROCMAP_QUERY_VMA_WRITABLE = 2,\n\tPROCMAP_QUERY_VMA_EXECUTABLE = 4,\n\tPROCMAP_QUERY_VMA_SHARED = 8,\n\tPROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16,\n\tPROCMAP_QUERY_FILE_BACKED_VMA = 32,\n};\n\nenum prs_errcode {\n\tPERR_NONE = 0,\n\tPERR_INVCPUS = 1,\n\tPERR_INVPARENT = 2,\n\tPERR_NOTPART = 3,\n\tPERR_NOTEXCL = 4,\n\tPERR_NOCPUS = 5,\n\tPERR_HOTPLUG = 6,\n\tPERR_CPUSEMPTY = 7,\n\tPERR_HKEEPING = 8,\n\tPERR_ACCESS = 9,\n};\n\nenum ps2_disposition {\n\tPS2_PROCESS = 0,\n\tPS2_IGNORE = 1,\n\tPS2_ERROR = 2,\n};\n\nenum psi_aggregators {\n\tPSI_AVGS = 0,\n\tPSI_POLL = 1,\n\tNR_PSI_AGGREGATORS = 2,\n};\n\nenum psi_res {\n\tPSI_IO = 0,\n\tPSI_MEM = 1,\n\tPSI_CPU = 2,\n\tNR_PSI_RESOURCES = 3,\n};\n\nenum psi_states {\n\tPSI_IO_SOME = 0,\n\tPSI_IO_FULL = 1,\n\tPSI_MEM_SOME = 2,\n\tPSI_MEM_FULL = 3,\n\tPSI_CPU_SOME = 4,\n\tPSI_CPU_FULL = 5,\n\tPSI_NONIDLE = 6,\n\tNR_PSI_STATES = 7,\n};\n\nenum psi_task_count {\n\tNR_IOWAIT = 0,\n\tNR_MEMSTALL = 1,\n\tNR_RUNNING = 2,\n\tNR_MEMSTALL_RUNNING = 3,\n\tNR_PSI_TASK_COUNTS = 4,\n};\n\nenum psmouse_scale {\n\tPSMOUSE_SCALE11 = 0,\n\tPSMOUSE_SCALE21 = 1,\n};\n\nenum psmouse_state {\n\tPSMOUSE_IGNORE = 0,\n\tPSMOUSE_INITIALIZING = 1,\n\tPSMOUSE_RESYNCING = 2,\n\tPSMOUSE_CMD_MODE = 3,\n\tPSMOUSE_ACTIVATED = 4,\n};\n\nenum psmouse_type {\n\tPSMOUSE_NONE = 0,\n\tPSMOUSE_PS2 = 1,\n\tPSMOUSE_PS2PP = 2,\n\tPSMOUSE_THINKPS = 3,\n\tPSMOUSE_GENPS = 4,\n\tPSMOUSE_IMPS = 5,\n\tPSMOUSE_IMEX = 6,\n\tPSMOUSE_SYNAPTICS = 7,\n\tPSMOUSE_ALPS = 8,\n\tPSMOUSE_LIFEBOOK = 9,\n\tPSMOUSE_TRACKPOINT = 10,\n\tPSMOUSE_TOUCHKIT_PS2 = 11,\n\tPSMOUSE_CORTRON = 12,\n\tPSMOUSE_HGPK = 13,\n\tPSMOUSE_ELANTECH = 14,\n\tPSMOUSE_FSP = 15,\n\tPSMOUSE_SYNAPTICS_RELATIVE = 16,\n\tPSMOUSE_CYPRESS = 17,\n\tPSMOUSE_FOCALTECH = 18,\n\tPSMOUSE_VMMOUSE = 19,\n\tPSMOUSE_BYD = 20,\n\tPSMOUSE_SYNAPTICS_SMBUS = 21,\n\tPSMOUSE_ELANTECH_SMBUS = 22,\n\tPSMOUSE_AUTO = 23,\n};\n\nenum pstore_type_id {\n\tPSTORE_TYPE_DMESG = 0,\n\tPSTORE_TYPE_MCE = 1,\n\tPSTORE_TYPE_CONSOLE = 2,\n\tPSTORE_TYPE_FTRACE = 3,\n\tPSTORE_TYPE_PPC_RTAS = 4,\n\tPSTORE_TYPE_PPC_OF = 5,\n\tPSTORE_TYPE_PPC_COMMON = 6,\n\tPSTORE_TYPE_PMSG = 7,\n\tPSTORE_TYPE_PPC_OPAL = 8,\n\tPSTORE_TYPE_MAX = 9,\n};\n\nenum ptp_clock_events {\n\tPTP_CLOCK_ALARM = 0,\n\tPTP_CLOCK_EXTTS = 1,\n\tPTP_CLOCK_EXTOFF = 2,\n\tPTP_CLOCK_PPS = 3,\n\tPTP_CLOCK_PPSUSR = 4,\n};\n\nenum ptp_pin_function {\n\tPTP_PF_NONE = 0,\n\tPTP_PF_EXTTS = 1,\n\tPTP_PF_PEROUT = 2,\n\tPTP_PF_PHYSYNC = 3,\n};\n\nenum pubkey_algo {\n\tPUBKEY_ALGO_RSA = 0,\n\tPUBKEY_ALGO_MAX = 1,\n};\n\nenum qdisc_class_ops_flags {\n\tQDISC_CLASS_OPS_DOIT_UNLOCKED = 1,\n};\n\nenum qdisc_state2_t {\n\t__QDISC_STATE2_RUNNING = 0,\n};\n\nenum qdisc_state_t {\n\t__QDISC_STATE_SCHED = 0,\n\t__QDISC_STATE_DEACTIVATED = 1,\n\t__QDISC_STATE_MISSED = 2,\n\t__QDISC_STATE_DRAINING = 3,\n};\n\nenum quota_type {\n\tUSRQUOTA = 0,\n\tGRPQUOTA = 1,\n\tPRJQUOTA = 2,\n};\n\nenum r0layout {\n\tRAID0_ORIG_LAYOUT = 1,\n\tRAID0_ALT_MULTIZONE_LAYOUT = 2,\n};\n\nenum r1bio_state {\n\tR1BIO_Uptodate = 0,\n\tR1BIO_IsSync = 1,\n\tR1BIO_BehindIO = 2,\n\tR1BIO_ReadError = 3,\n\tR1BIO_Returned = 4,\n\tR1BIO_MadeGood = 5,\n\tR1BIO_WriteError = 6,\n\tR1BIO_FailFast = 7,\n};\n\nenum radeon_chip_flags {\n\tCHIP_FAMILY_MASK = 65535,\n\tCHIP_FLAGS_MASK = 4294901760,\n\tCHIP_IS_MOBILITY = 65536,\n\tCHIP_IS_IGP = 131072,\n\tCHIP_HAS_CRTC2 = 262144,\n};\n\nenum radeon_errata {\n\tCHIP_ERRATA_R300_CG = 1,\n\tCHIP_ERRATA_PLL_DUMMYREADS = 2,\n\tCHIP_ERRATA_PLL_DELAY = 4,\n};\n\nenum radeon_family {\n\tCHIP_FAMILY_UNKNOW = 0,\n\tCHIP_FAMILY_LEGACY = 1,\n\tCHIP_FAMILY_RADEON = 2,\n\tCHIP_FAMILY_RV100 = 3,\n\tCHIP_FAMILY_RS100 = 4,\n\tCHIP_FAMILY_RV200 = 5,\n\tCHIP_FAMILY_RS200 = 6,\n\tCHIP_FAMILY_R200 = 7,\n\tCHIP_FAMILY_RV250 = 8,\n\tCHIP_FAMILY_RS300 = 9,\n\tCHIP_FAMILY_RV280 = 10,\n\tCHIP_FAMILY_R300 = 11,\n\tCHIP_FAMILY_R350 = 12,\n\tCHIP_FAMILY_RV350 = 13,\n\tCHIP_FAMILY_RV380 = 14,\n\tCHIP_FAMILY_R420 = 15,\n\tCHIP_FAMILY_RC410 = 16,\n\tCHIP_FAMILY_RS400 = 17,\n\tCHIP_FAMILY_RS480 = 18,\n\tCHIP_FAMILY_LAST = 19,\n};\n\nenum radeon_montype {\n\tMT_NONE = 0,\n\tMT_CRT = 1,\n\tMT_LCD = 2,\n\tMT_DFP = 3,\n\tMT_CTV = 4,\n\tMT_STV = 5,\n};\n\nenum radeon_pm_mode {\n\tradeon_pm_none = 0,\n\tradeon_pm_d2 = 1,\n\tradeon_pm_off = 2,\n};\n\nenum ramfs_param {\n\tOpt_mode___6 = 0,\n};\n\nenum rdma_ah_attr_type {\n\tRDMA_AH_ATTR_TYPE_UNDEFINED = 0,\n\tRDMA_AH_ATTR_TYPE_IB = 1,\n\tRDMA_AH_ATTR_TYPE_ROCE = 2,\n\tRDMA_AH_ATTR_TYPE_OPA = 3,\n};\n\nenum rdma_driver_id {\n\tRDMA_DRIVER_UNKNOWN = 0,\n\tRDMA_DRIVER_MLX5 = 1,\n\tRDMA_DRIVER_MLX4 = 2,\n\tRDMA_DRIVER_CXGB3 = 3,\n\tRDMA_DRIVER_CXGB4 = 4,\n\tRDMA_DRIVER_MTHCA = 5,\n\tRDMA_DRIVER_BNXT_RE = 6,\n\tRDMA_DRIVER_OCRDMA = 7,\n\tRDMA_DRIVER_NES = 8,\n\tRDMA_DRIVER_I40IW = 9,\n\tRDMA_DRIVER_IRDMA = 9,\n\tRDMA_DRIVER_VMW_PVRDMA = 10,\n\tRDMA_DRIVER_QEDR = 11,\n\tRDMA_DRIVER_HNS = 12,\n\tRDMA_DRIVER_USNIC = 13,\n\tRDMA_DRIVER_RXE = 14,\n\tRDMA_DRIVER_HFI1 = 15,\n\tRDMA_DRIVER_QIB = 16,\n\tRDMA_DRIVER_EFA = 17,\n\tRDMA_DRIVER_SIW = 18,\n\tRDMA_DRIVER_ERDMA = 19,\n\tRDMA_DRIVER_MANA = 20,\n};\n\nenum rdma_link_layer {\n\tIB_LINK_LAYER_UNSPECIFIED = 0,\n\tIB_LINK_LAYER_INFINIBAND = 1,\n\tIB_LINK_LAYER_ETHERNET = 2,\n};\n\nenum rdma_netdev_t {\n\tRDMA_NETDEV_OPA_VNIC = 0,\n\tRDMA_NETDEV_IPOIB = 1,\n};\n\nenum rdma_nl_counter_mask {\n\tRDMA_COUNTER_MASK_QP_TYPE = 1,\n\tRDMA_COUNTER_MASK_PID = 2,\n};\n\nenum rdma_nl_counter_mode {\n\tRDMA_COUNTER_MODE_NONE = 0,\n\tRDMA_COUNTER_MODE_AUTO = 1,\n\tRDMA_COUNTER_MODE_MANUAL = 2,\n\tRDMA_COUNTER_MODE_MAX = 3,\n};\n\nenum rdma_nl_dev_type {\n\tRDMA_DEVICE_TYPE_SMI = 1,\n};\n\nenum rdma_nl_name_assign_type {\n\tRDMA_NAME_ASSIGN_TYPE_UNKNOWN = 0,\n\tRDMA_NAME_ASSIGN_TYPE_USER = 1,\n};\n\nenum rdma_restrack_type {\n\tRDMA_RESTRACK_PD = 0,\n\tRDMA_RESTRACK_CQ = 1,\n\tRDMA_RESTRACK_QP = 2,\n\tRDMA_RESTRACK_CM_ID = 3,\n\tRDMA_RESTRACK_MR = 4,\n\tRDMA_RESTRACK_CTX = 5,\n\tRDMA_RESTRACK_COUNTER = 6,\n\tRDMA_RESTRACK_SRQ = 7,\n\tRDMA_RESTRACK_MAX = 8,\n};\n\nenum reboot_mode {\n\tREBOOT_UNDEFINED = -1,\n\tREBOOT_COLD = 0,\n\tREBOOT_WARM = 1,\n\tREBOOT_HARD = 2,\n\tREBOOT_SOFT = 3,\n\tREBOOT_GPIO = 4,\n};\n\nenum reboot_type {\n\tBOOT_TRIPLE = 116,\n\tBOOT_KBD = 107,\n\tBOOT_BIOS = 98,\n\tBOOT_ACPI = 97,\n\tBOOT_EFI = 101,\n\tBOOT_CF9_FORCE = 112,\n\tBOOT_CF9_SAFE = 113,\n};\n\nenum recovery_flags {\n\tMD_RECOVERY_NEEDED = 0,\n\tMD_RECOVERY_RUNNING = 1,\n\tMD_RECOVERY_INTR = 2,\n\tMD_RECOVERY_DONE = 3,\n\tMD_RECOVERY_FROZEN = 4,\n\tMD_RECOVERY_WAIT = 5,\n\tMD_RECOVERY_ERROR = 6,\n\tMD_RECOVERY_SYNC = 7,\n\tMD_RECOVERY_REQUESTED = 8,\n\tMD_RECOVERY_CHECK = 9,\n\tMD_RECOVERY_RECOVER = 10,\n\tMD_RECOVERY_RESHAPE = 11,\n\tMD_RESYNCING_REMOTE = 12,\n};\n\nenum ref_state_type {\n\tREF_TYPE_PTR = 1,\n\tREF_TYPE_IRQ = 2,\n\tREF_TYPE_LOCK = 3,\n};\n\nenum refcount_saturation_type {\n\tREFCOUNT_ADD_NOT_ZERO_OVF = 0,\n\tREFCOUNT_ADD_OVF = 1,\n\tREFCOUNT_ADD_UAF = 2,\n\tREFCOUNT_SUB_UAF = 3,\n\tREFCOUNT_DEC_LEAK = 4,\n};\n\nenum reg_arg_type {\n\tSRC_OP = 0,\n\tDST_OP = 1,\n\tDST_OP_NO_MARK = 2,\n};\n\nenum regcache_type {\n\tREGCACHE_NONE = 0,\n\tREGCACHE_RBTREE = 1,\n\tREGCACHE_FLAT = 2,\n\tREGCACHE_MAPLE = 3,\n};\n\nenum regex_type {\n\tMATCH_FULL = 0,\n\tMATCH_FRONT_ONLY = 1,\n\tMATCH_MIDDLE_ONLY = 2,\n\tMATCH_END_ONLY = 3,\n\tMATCH_GLOB = 4,\n\tMATCH_INDEX = 5,\n};\n\nenum regmap_endian {\n\tREGMAP_ENDIAN_DEFAULT = 0,\n\tREGMAP_ENDIAN_BIG = 1,\n\tREGMAP_ENDIAN_LITTLE = 2,\n\tREGMAP_ENDIAN_NATIVE = 3,\n};\n\nenum release_type {\n\tleaf_only = 0,\n\twhole_subtree = 1,\n};\n\nenum req_flag_bits {\n\t__REQ_FAILFAST_DEV = 8,\n\t__REQ_FAILFAST_TRANSPORT = 9,\n\t__REQ_FAILFAST_DRIVER = 10,\n\t__REQ_SYNC = 11,\n\t__REQ_META = 12,\n\t__REQ_PRIO = 13,\n\t__REQ_NOMERGE = 14,\n\t__REQ_IDLE = 15,\n\t__REQ_INTEGRITY = 16,\n\t__REQ_FUA = 17,\n\t__REQ_PREFLUSH = 18,\n\t__REQ_RAHEAD = 19,\n\t__REQ_BACKGROUND = 20,\n\t__REQ_NOWAIT = 21,\n\t__REQ_POLLED = 22,\n\t__REQ_ALLOC_CACHE = 23,\n\t__REQ_SWAP = 24,\n\t__REQ_DRV = 25,\n\t__REQ_FS_PRIVATE = 26,\n\t__REQ_ATOMIC = 27,\n\t__REQ_NOUNMAP = 28,\n\t__REQ_NR_BITS = 29,\n};\n\nenum req_op {\n\tREQ_OP_READ = 0,\n\tREQ_OP_WRITE = 1,\n\tREQ_OP_FLUSH = 2,\n\tREQ_OP_DISCARD = 3,\n\tREQ_OP_SECURE_ERASE = 5,\n\tREQ_OP_ZONE_APPEND = 7,\n\tREQ_OP_WRITE_ZEROES = 9,\n\tREQ_OP_ZONE_OPEN = 10,\n\tREQ_OP_ZONE_CLOSE = 11,\n\tREQ_OP_ZONE_FINISH = 12,\n\tREQ_OP_ZONE_RESET = 13,\n\tREQ_OP_ZONE_RESET_ALL = 15,\n\tREQ_OP_DRV_IN = 34,\n\tREQ_OP_DRV_OUT = 35,\n\tREQ_OP_LAST = 36,\n};\n\nenum resctrl_conf_type {\n\tCDP_NONE = 0,\n\tCDP_CODE = 1,\n\tCDP_DATA = 2,\n};\n\nenum reset_control_flags {\n\tRESET_CONTROL_EXCLUSIVE = 4,\n\tRESET_CONTROL_EXCLUSIVE_DEASSERTED = 12,\n\tRESET_CONTROL_EXCLUSIVE_RELEASED = 0,\n\tRESET_CONTROL_SHARED = 1,\n\tRESET_CONTROL_SHARED_DEASSERTED = 9,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE = 6,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE_DEASSERTED = 14,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED = 2,\n\tRESET_CONTROL_OPTIONAL_SHARED = 3,\n\tRESET_CONTROL_OPTIONAL_SHARED_DEASSERTED = 11,\n};\n\nenum reset_mode {\n\tFD_RESET_IF_NEEDED = 0,\n\tFD_RESET_IF_RAWCMD = 1,\n\tFD_RESET_ALWAYS = 2,\n};\n\nenum resolve_mode {\n\tRESOLVE_TBD = 0,\n\tRESOLVE_PTR = 1,\n\tRESOLVE_STRUCT_OR_ARRAY = 2,\n};\n\nenum ring_buffer_flags {\n\tRB_FL_OVERWRITE = 1,\n};\n\nenum ring_buffer_type {\n\tRINGBUF_TYPE_DATA_TYPE_LEN_MAX = 28,\n\tRINGBUF_TYPE_PADDING = 29,\n\tRINGBUF_TYPE_TIME_EXTEND = 30,\n\tRINGBUF_TYPE_TIME_STAMP = 31,\n};\n\nenum rlimit_type {\n\tUCOUNT_RLIMIT_NPROC = 0,\n\tUCOUNT_RLIMIT_MSGQUEUE = 1,\n\tUCOUNT_RLIMIT_SIGPENDING = 2,\n\tUCOUNT_RLIMIT_MEMLOCK = 3,\n\tUCOUNT_RLIMIT_COUNTS = 4,\n};\n\nenum rmap_level {\n\tRMAP_LEVEL_PTE = 0,\n\tRMAP_LEVEL_PMD = 1,\n};\n\nenum rmi_reg_state {\n\tRMI_REG_STATE_DEFAULT = 0,\n\tRMI_REG_STATE_OFF = 1,\n\tRMI_REG_STATE_ON = 2,\n};\n\nenum rmi_sensor_type {\n\trmi_sensor_default = 0,\n\trmi_sensor_touchscreen = 1,\n\trmi_sensor_touchpad = 2,\n};\n\nenum rmp_flags {\n\tRMP_LOCKED = 1,\n\tRMP_USE_SHARED_ZEROPAGE = 2,\n};\n\nenum rp_check {\n\tRP_CHECK_CALL = 0,\n\tRP_CHECK_CHAIN_CALL = 1,\n\tRP_CHECK_RET = 2,\n};\n\nenum rpc_accept_stat {\n\tRPC_SUCCESS = 0,\n\tRPC_PROG_UNAVAIL = 1,\n\tRPC_PROG_MISMATCH = 2,\n\tRPC_PROC_UNAVAIL = 3,\n\tRPC_GARBAGE_ARGS = 4,\n\tRPC_SYSTEM_ERR = 5,\n\tRPC_DROP_REPLY = 60000,\n};\n\nenum rpc_auth_flavors {\n\tRPC_AUTH_NULL = 0,\n\tRPC_AUTH_UNIX = 1,\n\tRPC_AUTH_SHORT = 2,\n\tRPC_AUTH_DES = 3,\n\tRPC_AUTH_KRB = 4,\n\tRPC_AUTH_GSS = 6,\n\tRPC_AUTH_TLS = 7,\n\tRPC_AUTH_MAXFLAVOR = 8,\n\tRPC_AUTH_GSS_KRB5 = 390003,\n\tRPC_AUTH_GSS_KRB5I = 390004,\n\tRPC_AUTH_GSS_KRB5P = 390005,\n\tRPC_AUTH_GSS_LKEY = 390006,\n\tRPC_AUTH_GSS_LKEYI = 390007,\n\tRPC_AUTH_GSS_LKEYP = 390008,\n\tRPC_AUTH_GSS_SPKM = 390009,\n\tRPC_AUTH_GSS_SPKMI = 390010,\n\tRPC_AUTH_GSS_SPKMP = 390011,\n};\n\nenum rpc_auth_stat {\n\tRPC_AUTH_OK = 0,\n\tRPC_AUTH_BADCRED = 1,\n\tRPC_AUTH_REJECTEDCRED = 2,\n\tRPC_AUTH_BADVERF = 3,\n\tRPC_AUTH_REJECTEDVERF = 4,\n\tRPC_AUTH_TOOWEAK = 5,\n\tRPCSEC_GSS_CREDPROBLEM = 13,\n\tRPCSEC_GSS_CTXPROBLEM = 14,\n};\n\nenum rpc_display_format_t {\n\tRPC_DISPLAY_ADDR = 0,\n\tRPC_DISPLAY_PORT = 1,\n\tRPC_DISPLAY_PROTO = 2,\n\tRPC_DISPLAY_HEX_ADDR = 3,\n\tRPC_DISPLAY_HEX_PORT = 4,\n\tRPC_DISPLAY_NETID = 5,\n\tRPC_DISPLAY_MAX = 6,\n};\n\nenum rpc_gss_proc {\n\tRPC_GSS_PROC_DATA = 0,\n\tRPC_GSS_PROC_INIT = 1,\n\tRPC_GSS_PROC_CONTINUE_INIT = 2,\n\tRPC_GSS_PROC_DESTROY = 3,\n};\n\nenum rpc_gss_svc {\n\tRPC_GSS_SVC_NONE = 1,\n\tRPC_GSS_SVC_INTEGRITY = 2,\n\tRPC_GSS_SVC_PRIVACY = 3,\n};\n\nenum rpc_msg_type {\n\tRPC_CALL = 0,\n\tRPC_REPLY = 1,\n};\n\nenum rpc_reject_stat {\n\tRPC_MISMATCH = 0,\n\tRPC_AUTH_ERROR = 1,\n};\n\nenum rpc_reply_stat {\n\tRPC_MSG_ACCEPTED = 0,\n\tRPC_MSG_DENIED = 1,\n};\n\nenum rpm_request {\n\tRPM_REQ_NONE = 0,\n\tRPM_REQ_IDLE = 1,\n\tRPM_REQ_SUSPEND = 2,\n\tRPM_REQ_AUTOSUSPEND = 3,\n\tRPM_REQ_RESUME = 4,\n};\n\nenum rpm_status {\n\tRPM_INVALID = -1,\n\tRPM_ACTIVE = 0,\n\tRPM_RESUMING = 1,\n\tRPM_SUSPENDED = 2,\n\tRPM_SUSPENDING = 3,\n};\n\nenum rq_end_io_ret {\n\tRQ_END_IO_NONE = 0,\n\tRQ_END_IO_FREE = 1,\n};\n\nenum rq_qos_id {\n\tRQ_QOS_WBT = 0,\n\tRQ_QOS_LATENCY = 1,\n\tRQ_QOS_COST = 2,\n};\n\nenum rqf_flags {\n\t__RQF_STARTED = 0,\n\t__RQF_FLUSH_SEQ = 1,\n\t__RQF_MIXED_MERGE = 2,\n\t__RQF_DONTPREP = 3,\n\t__RQF_SCHED_TAGS = 4,\n\t__RQF_USE_SCHED = 5,\n\t__RQF_FAILED = 6,\n\t__RQF_QUIET = 7,\n\t__RQF_IO_STAT = 8,\n\t__RQF_PM = 9,\n\t__RQF_HASHED = 10,\n\t__RQF_STATS = 11,\n\t__RQF_SPECIAL_PAYLOAD = 12,\n\t__RQF_ZONE_WRITE_PLUGGING = 13,\n\t__RQF_TIMED_OUT = 14,\n\t__RQF_RESV = 15,\n\t__RQF_BITS = 16,\n};\n\nenum rsaprivkey_actions {\n\tACT_rsa_get_d = 0,\n\tACT_rsa_get_dp = 1,\n\tACT_rsa_get_dq = 2,\n\tACT_rsa_get_e = 3,\n\tACT_rsa_get_n = 4,\n\tACT_rsa_get_p = 5,\n\tACT_rsa_get_q = 6,\n\tACT_rsa_get_qinv = 7,\n\tNR__rsaprivkey_actions = 8,\n};\n\nenum rsapubkey_actions {\n\tACT_rsa_get_e___2 = 0,\n\tACT_rsa_get_n___2 = 1,\n\tNR__rsapubkey_actions = 2,\n};\n\nenum rseq_cpu_id_state {\n\tRSEQ_CPU_ID_UNINITIALIZED = -1,\n\tRSEQ_CPU_ID_REGISTRATION_FAILED = -2,\n};\n\nenum rseq_cs_flags {\n\tRSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = 1,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = 2,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = 4,\n};\n\nenum rseq_cs_flags_bit {\n\tRSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2,\n};\n\nenum rseq_event_mask_bits {\n\tRSEQ_EVENT_PREEMPT_BIT = 0,\n\tRSEQ_EVENT_SIGNAL_BIT = 1,\n\tRSEQ_EVENT_MIGRATE_BIT = 2,\n};\n\nenum rseq_flags {\n\tRSEQ_FLAG_UNREGISTER = 1,\n};\n\nenum rt6_nud_state {\n\tRT6_NUD_FAIL_HARD = -3,\n\tRT6_NUD_FAIL_PROBE = -2,\n\tRT6_NUD_FAIL_DO_RR = -1,\n\tRT6_NUD_SUCCEED = 1,\n};\n\nenum rt_class_t {\n\tRT_TABLE_UNSPEC = 0,\n\tRT_TABLE_COMPAT = 252,\n\tRT_TABLE_DEFAULT = 253,\n\tRT_TABLE_MAIN = 254,\n\tRT_TABLE_LOCAL = 255,\n\tRT_TABLE_MAX = 4294967295,\n};\n\nenum rt_scope_t {\n\tRT_SCOPE_UNIVERSE = 0,\n\tRT_SCOPE_SITE = 200,\n\tRT_SCOPE_LINK = 253,\n\tRT_SCOPE_HOST = 254,\n\tRT_SCOPE_NOWHERE = 255,\n};\n\nenum rtas_function_index {\n\tRTAS_FNIDX__CHECK_EXCEPTION = 0,\n\tRTAS_FNIDX__DISPLAY_CHARACTER = 1,\n\tRTAS_FNIDX__EVENT_SCAN = 2,\n\tRTAS_FNIDX__FREEZE_TIME_BASE = 3,\n\tRTAS_FNIDX__GET_POWER_LEVEL = 4,\n\tRTAS_FNIDX__GET_SENSOR_STATE = 5,\n\tRTAS_FNIDX__GET_TERM_CHAR = 6,\n\tRTAS_FNIDX__GET_TIME_OF_DAY = 7,\n\tRTAS_FNIDX__IBM_ACTIVATE_FIRMWARE = 8,\n\tRTAS_FNIDX__IBM_CBE_START_PTCAL = 9,\n\tRTAS_FNIDX__IBM_CBE_STOP_PTCAL = 10,\n\tRTAS_FNIDX__IBM_CHANGE_MSI = 11,\n\tRTAS_FNIDX__IBM_CLOSE_ERRINJCT = 12,\n\tRTAS_FNIDX__IBM_CONFIGURE_BRIDGE = 13,\n\tRTAS_FNIDX__IBM_CONFIGURE_CONNECTOR = 14,\n\tRTAS_FNIDX__IBM_CONFIGURE_KERNEL_DUMP = 15,\n\tRTAS_FNIDX__IBM_CONFIGURE_PE = 16,\n\tRTAS_FNIDX__IBM_CREATE_PE_DMA_WINDOW = 17,\n\tRTAS_FNIDX__IBM_DISPLAY_MESSAGE = 18,\n\tRTAS_FNIDX__IBM_ERRINJCT = 19,\n\tRTAS_FNIDX__IBM_EXTI2C = 20,\n\tRTAS_FNIDX__IBM_GET_CONFIG_ADDR_INFO = 21,\n\tRTAS_FNIDX__IBM_GET_CONFIG_ADDR_INFO2 = 22,\n\tRTAS_FNIDX__IBM_GET_DYNAMIC_SENSOR_STATE = 23,\n\tRTAS_FNIDX__IBM_GET_INDICES = 24,\n\tRTAS_FNIDX__IBM_GET_RIO_TOPOLOGY = 25,\n\tRTAS_FNIDX__IBM_GET_SYSTEM_PARAMETER = 26,\n\tRTAS_FNIDX__IBM_GET_VPD = 27,\n\tRTAS_FNIDX__IBM_GET_XIVE = 28,\n\tRTAS_FNIDX__IBM_INT_OFF = 29,\n\tRTAS_FNIDX__IBM_INT_ON = 30,\n\tRTAS_FNIDX__IBM_IO_QUIESCE_ACK = 31,\n\tRTAS_FNIDX__IBM_LPAR_PERFTOOLS = 32,\n\tRTAS_FNIDX__IBM_MANAGE_FLASH_IMAGE = 33,\n\tRTAS_FNIDX__IBM_MANAGE_STORAGE_PRESERVATION = 34,\n\tRTAS_FNIDX__IBM_NMI_INTERLOCK = 35,\n\tRTAS_FNIDX__IBM_NMI_REGISTER = 36,\n\tRTAS_FNIDX__IBM_OPEN_ERRINJCT = 37,\n\tRTAS_FNIDX__IBM_OPEN_SRIOV_ALLOW_UNFREEZE = 38,\n\tRTAS_FNIDX__IBM_OPEN_SRIOV_MAP_PE_NUMBER = 39,\n\tRTAS_FNIDX__IBM_OS_TERM = 40,\n\tRTAS_FNIDX__IBM_PARTNER_CONTROL = 41,\n\tRTAS_FNIDX__IBM_PHYSICAL_ATTESTATION = 42,\n\tRTAS_FNIDX__IBM_PLATFORM_DUMP = 43,\n\tRTAS_FNIDX__IBM_POWER_OFF_UPS = 44,\n\tRTAS_FNIDX__IBM_QUERY_INTERRUPT_SOURCE_NUMBER = 45,\n\tRTAS_FNIDX__IBM_QUERY_PE_DMA_WINDOW = 46,\n\tRTAS_FNIDX__IBM_READ_PCI_CONFIG = 47,\n\tRTAS_FNIDX__IBM_READ_SLOT_RESET_STATE = 48,\n\tRTAS_FNIDX__IBM_READ_SLOT_RESET_STATE2 = 49,\n\tRTAS_FNIDX__IBM_REMOVE_PE_DMA_WINDOW = 50,\n\tRTAS_FNIDX__IBM_RESET_PE_DMA_WINDOW = 51,\n\tRTAS_FNIDX__IBM_SCAN_LOG_DUMP = 52,\n\tRTAS_FNIDX__IBM_SET_DYNAMIC_INDICATOR = 53,\n\tRTAS_FNIDX__IBM_SET_EEH_OPTION = 54,\n\tRTAS_FNIDX__IBM_SET_SLOT_RESET = 55,\n\tRTAS_FNIDX__IBM_SET_SYSTEM_PARAMETER = 56,\n\tRTAS_FNIDX__IBM_SET_XIVE = 57,\n\tRTAS_FNIDX__IBM_SLOT_ERROR_DETAIL = 58,\n\tRTAS_FNIDX__IBM_SUSPEND_ME = 59,\n\tRTAS_FNIDX__IBM_TUNE_DMA_PARMS = 60,\n\tRTAS_FNIDX__IBM_UPDATE_FLASH_64_AND_REBOOT = 61,\n\tRTAS_FNIDX__IBM_UPDATE_NODES = 62,\n\tRTAS_FNIDX__IBM_UPDATE_PROPERTIES = 63,\n\tRTAS_FNIDX__IBM_VALIDATE_FLASH_IMAGE = 64,\n\tRTAS_FNIDX__IBM_WRITE_PCI_CONFIG = 65,\n\tRTAS_FNIDX__NVRAM_FETCH = 66,\n\tRTAS_FNIDX__NVRAM_STORE = 67,\n\tRTAS_FNIDX__POWER_OFF = 68,\n\tRTAS_FNIDX__PUT_TERM_CHAR = 69,\n\tRTAS_FNIDX__QUERY_CPU_STOPPED_STATE = 70,\n\tRTAS_FNIDX__READ_PCI_CONFIG = 71,\n\tRTAS_FNIDX__RTAS_LAST_ERROR = 72,\n\tRTAS_FNIDX__SET_INDICATOR = 73,\n\tRTAS_FNIDX__SET_POWER_LEVEL = 74,\n\tRTAS_FNIDX__SET_TIME_FOR_POWER_ON = 75,\n\tRTAS_FNIDX__SET_TIME_OF_DAY = 76,\n\tRTAS_FNIDX__START_CPU = 77,\n\tRTAS_FNIDX__STOP_SELF = 78,\n\tRTAS_FNIDX__SYSTEM_REBOOT = 79,\n\tRTAS_FNIDX__THAW_TIME_BASE = 80,\n\tRTAS_FNIDX__WRITE_PCI_CONFIG = 81,\n};\n\nenum rtattr_type_t {\n\tRTA_UNSPEC = 0,\n\tRTA_DST = 1,\n\tRTA_SRC = 2,\n\tRTA_IIF = 3,\n\tRTA_OIF = 4,\n\tRTA_GATEWAY = 5,\n\tRTA_PRIORITY = 6,\n\tRTA_PREFSRC = 7,\n\tRTA_METRICS = 8,\n\tRTA_MULTIPATH = 9,\n\tRTA_PROTOINFO = 10,\n\tRTA_FLOW = 11,\n\tRTA_CACHEINFO = 12,\n\tRTA_SESSION = 13,\n\tRTA_MP_ALGO = 14,\n\tRTA_TABLE = 15,\n\tRTA_MARK = 16,\n\tRTA_MFC_STATS = 17,\n\tRTA_VIA = 18,\n\tRTA_NEWDST = 19,\n\tRTA_PREF = 20,\n\tRTA_ENCAP_TYPE = 21,\n\tRTA_ENCAP = 22,\n\tRTA_EXPIRES = 23,\n\tRTA_PAD = 24,\n\tRTA_UID = 25,\n\tRTA_TTL_PROPAGATE = 26,\n\tRTA_IP_PROTO = 27,\n\tRTA_SPORT = 28,\n\tRTA_DPORT = 29,\n\tRTA_NH_ID = 30,\n\tRTA_FLOWLABEL = 31,\n\t__RTA_MAX = 32,\n};\n\nenum rtmutex_chainwalk {\n\tRT_MUTEX_MIN_CHAINWALK = 0,\n\tRT_MUTEX_FULL_CHAINWALK = 1,\n};\n\nenum rtnetlink_groups {\n\tRTNLGRP_NONE = 0,\n\tRTNLGRP_LINK = 1,\n\tRTNLGRP_NOTIFY = 2,\n\tRTNLGRP_NEIGH = 3,\n\tRTNLGRP_TC = 4,\n\tRTNLGRP_IPV4_IFADDR = 5,\n\tRTNLGRP_IPV4_MROUTE = 6,\n\tRTNLGRP_IPV4_ROUTE = 7,\n\tRTNLGRP_IPV4_RULE = 8,\n\tRTNLGRP_IPV6_IFADDR = 9,\n\tRTNLGRP_IPV6_MROUTE = 10,\n\tRTNLGRP_IPV6_ROUTE = 11,\n\tRTNLGRP_IPV6_IFINFO = 12,\n\tRTNLGRP_DECnet_IFADDR = 13,\n\tRTNLGRP_NOP2 = 14,\n\tRTNLGRP_DECnet_ROUTE = 15,\n\tRTNLGRP_DECnet_RULE = 16,\n\tRTNLGRP_NOP4 = 17,\n\tRTNLGRP_IPV6_PREFIX = 18,\n\tRTNLGRP_IPV6_RULE = 19,\n\tRTNLGRP_ND_USEROPT = 20,\n\tRTNLGRP_PHONET_IFADDR = 21,\n\tRTNLGRP_PHONET_ROUTE = 22,\n\tRTNLGRP_DCB = 23,\n\tRTNLGRP_IPV4_NETCONF = 24,\n\tRTNLGRP_IPV6_NETCONF = 25,\n\tRTNLGRP_MDB = 26,\n\tRTNLGRP_MPLS_ROUTE = 27,\n\tRTNLGRP_NSID = 28,\n\tRTNLGRP_MPLS_NETCONF = 29,\n\tRTNLGRP_IPV4_MROUTE_R = 30,\n\tRTNLGRP_IPV6_MROUTE_R = 31,\n\tRTNLGRP_NEXTHOP = 32,\n\tRTNLGRP_BRVLAN = 33,\n\tRTNLGRP_MCTP_IFADDR = 34,\n\tRTNLGRP_TUNNEL = 35,\n\tRTNLGRP_STATS = 36,\n\tRTNLGRP_IPV4_MCADDR = 37,\n\tRTNLGRP_IPV6_MCADDR = 38,\n\tRTNLGRP_IPV6_ACADDR = 39,\n\t__RTNLGRP_MAX = 40,\n};\n\nenum rtnl_kinds {\n\tRTNL_KIND_NEW = 0,\n\tRTNL_KIND_DEL = 1,\n\tRTNL_KIND_GET = 2,\n\tRTNL_KIND_SET = 3,\n};\n\nenum rtnl_link_flags {\n\tRTNL_FLAG_DOIT_UNLOCKED = 1,\n\tRTNL_FLAG_BULK_DEL_SUPPORTED = 2,\n\tRTNL_FLAG_DUMP_UNLOCKED = 4,\n\tRTNL_FLAG_DUMP_SPLIT_NLM_DONE = 8,\n};\n\nenum ru_state {\n\tRU_SUSPENDED = 0,\n\tRU_RUNNING = 1,\n\tRU_UNINITIALIZED = -1,\n};\n\nenum rw_hint {\n\tWRITE_LIFE_NOT_SET = 0,\n\tWRITE_LIFE_NONE = 1,\n\tWRITE_LIFE_SHORT = 2,\n\tWRITE_LIFE_MEDIUM = 3,\n\tWRITE_LIFE_LONG = 4,\n\tWRITE_LIFE_EXTREME = 5,\n} __attribute__((mode(byte)));\n\nenum rwsem_waiter_type {\n\tRWSEM_WAITING_FOR_WRITE = 0,\n\tRWSEM_WAITING_FOR_READ = 1,\n};\n\nenum rwsem_wake_type {\n\tRWSEM_WAKE_ANY = 0,\n\tRWSEM_WAKE_READERS = 1,\n\tRWSEM_WAKE_READ_OWNED = 2,\n};\n\nenum rx_handler_result {\n\tRX_HANDLER_CONSUMED = 0,\n\tRX_HANDLER_ANOTHER = 1,\n\tRX_HANDLER_EXACT = 2,\n\tRX_HANDLER_PASS = 3,\n};\n\ntypedef enum rx_handler_result rx_handler_result_t;\n\nenum s2idle_states {\n\tS2IDLE_STATE_NONE = 0,\n\tS2IDLE_STATE_ENTER = 1,\n\tS2IDLE_STATE_WAKE = 2,\n};\n\nenum s_alloc {\n\tsa_rootdomain = 0,\n\tsa_sd = 1,\n\tsa_sd_storage = 2,\n\tsa_none = 3,\n};\n\nenum sam_status {\n\tSAM_STAT_GOOD = 0,\n\tSAM_STAT_CHECK_CONDITION = 2,\n\tSAM_STAT_CONDITION_MET = 4,\n\tSAM_STAT_BUSY = 8,\n\tSAM_STAT_INTERMEDIATE = 16,\n\tSAM_STAT_INTERMEDIATE_CONDITION_MET = 20,\n\tSAM_STAT_RESERVATION_CONFLICT = 24,\n\tSAM_STAT_COMMAND_TERMINATED = 34,\n\tSAM_STAT_TASK_SET_FULL = 40,\n\tSAM_STAT_ACA_ACTIVE = 48,\n\tSAM_STAT_TASK_ABORTED = 64,\n};\n\nenum scan_balance {\n\tSCAN_EQUAL = 0,\n\tSCAN_FRACT = 1,\n\tSCAN_ANON = 2,\n\tSCAN_FILE = 3,\n};\n\nenum scan_result {\n\tSCAN_FAIL = 0,\n\tSCAN_SUCCEED = 1,\n\tSCAN_PMD_NULL = 2,\n\tSCAN_PMD_NONE = 3,\n\tSCAN_PMD_MAPPED = 4,\n\tSCAN_EXCEED_NONE_PTE = 5,\n\tSCAN_EXCEED_SWAP_PTE = 6,\n\tSCAN_EXCEED_SHARED_PTE = 7,\n\tSCAN_PTE_NON_PRESENT = 8,\n\tSCAN_PTE_UFFD_WP = 9,\n\tSCAN_PTE_MAPPED_HUGEPAGE = 10,\n\tSCAN_PAGE_RO = 11,\n\tSCAN_LACK_REFERENCED_PAGE = 12,\n\tSCAN_PAGE_NULL = 13,\n\tSCAN_SCAN_ABORT = 14,\n\tSCAN_PAGE_COUNT = 15,\n\tSCAN_PAGE_LRU = 16,\n\tSCAN_PAGE_LOCK = 17,\n\tSCAN_PAGE_ANON = 18,\n\tSCAN_PAGE_COMPOUND = 19,\n\tSCAN_ANY_PROCESS = 20,\n\tSCAN_VMA_NULL = 21,\n\tSCAN_VMA_CHECK = 22,\n\tSCAN_ADDRESS_RANGE = 23,\n\tSCAN_DEL_PAGE_LRU = 24,\n\tSCAN_ALLOC_HUGE_PAGE_FAIL = 25,\n\tSCAN_CGROUP_CHARGE_FAIL = 26,\n\tSCAN_TRUNCATED = 27,\n\tSCAN_PAGE_HAS_PRIVATE = 28,\n\tSCAN_STORE_FAILED = 29,\n\tSCAN_COPY_MC = 30,\n\tSCAN_PAGE_FILLED = 31,\n};\n\nenum scb_cmd_hi {\n\tirq_mask_none = 0,\n\tirq_mask_all = 1,\n\tirq_sw_gen = 2,\n};\n\nenum scb_cmd_lo {\n\tcuc_nop = 0,\n\truc_start = 1,\n\truc_load_base = 6,\n\tcuc_start = 16,\n\tcuc_resume = 32,\n\tcuc_dump_addr = 64,\n\tcuc_dump_stats = 80,\n\tcuc_load_base = 96,\n\tcuc_dump_reset = 112,\n};\n\nenum scb_stat_ack {\n\tstat_ack_not_ours = 0,\n\tstat_ack_sw_gen = 4,\n\tstat_ack_rnr = 16,\n\tstat_ack_cu_idle = 32,\n\tstat_ack_frame_rx = 64,\n\tstat_ack_cu_cmd_done = 128,\n\tstat_ack_not_present = 255,\n\tstat_ack_rx = 84,\n\tstat_ack_tx = 160,\n};\n\nenum scb_status {\n\trus_no_res = 8,\n\trus_ready = 16,\n\trus_mask = 60,\n};\n\nenum sched_tunable_scaling {\n\tSCHED_TUNABLESCALING_NONE = 0,\n\tSCHED_TUNABLESCALING_LOG = 1,\n\tSCHED_TUNABLESCALING_LINEAR = 2,\n\tSCHED_TUNABLESCALING_END = 3,\n};\n\nenum scrub_type {\n\tSCRUB_UNKNOWN = 0,\n\tSCRUB_NONE = 1,\n\tSCRUB_SW_PROG = 2,\n\tSCRUB_SW_SRC = 3,\n\tSCRUB_SW_PROG_SRC = 4,\n\tSCRUB_SW_TUNABLE = 5,\n\tSCRUB_HW_PROG = 6,\n\tSCRUB_HW_SRC = 7,\n\tSCRUB_HW_PROG_SRC = 8,\n\tSCRUB_HW_TUNABLE = 9,\n};\n\nenum scsi_cmnd_submitter {\n\tSUBMITTED_BY_BLOCK_LAYER = 0,\n\tSUBMITTED_BY_SCSI_ERROR_HANDLER = 1,\n\tSUBMITTED_BY_SCSI_RESET_IOCTL = 2,\n} __attribute__((mode(byte)));\n\nenum scsi_device_event {\n\tSDEV_EVT_MEDIA_CHANGE = 1,\n\tSDEV_EVT_INQUIRY_CHANGE_REPORTED = 2,\n\tSDEV_EVT_CAPACITY_CHANGE_REPORTED = 3,\n\tSDEV_EVT_SOFT_THRESHOLD_REACHED_REPORTED = 4,\n\tSDEV_EVT_MODE_PARAMETER_CHANGE_REPORTED = 5,\n\tSDEV_EVT_LUN_CHANGE_REPORTED = 6,\n\tSDEV_EVT_ALUA_STATE_CHANGE_REPORTED = 7,\n\tSDEV_EVT_POWER_ON_RESET_OCCURRED = 8,\n\tSDEV_EVT_FIRST = 1,\n\tSDEV_EVT_LAST = 8,\n\tSDEV_EVT_MAXBITS = 9,\n};\n\nenum scsi_device_state {\n\tSDEV_CREATED = 1,\n\tSDEV_RUNNING = 2,\n\tSDEV_CANCEL = 3,\n\tSDEV_DEL = 4,\n\tSDEV_QUIESCE = 5,\n\tSDEV_OFFLINE = 6,\n\tSDEV_TRANSPORT_OFFLINE = 7,\n\tSDEV_BLOCK = 8,\n\tSDEV_CREATED_BLOCK = 9,\n};\n\nenum scsi_devinfo_key {\n\tSCSI_DEVINFO_GLOBAL = 0,\n\tSCSI_DEVINFO_SPI = 1,\n};\n\nenum scsi_disposition {\n\tNEEDS_RETRY = 8193,\n\tSUCCESS = 8194,\n\tFAILED = 8195,\n\tQUEUED = 8196,\n\tSOFT_ERROR = 8197,\n\tADD_TO_MLQUEUE = 8198,\n\tTIMEOUT_ERROR = 8199,\n\tSCSI_RETURN_NOT_HANDLED = 8200,\n\tFAST_IO_FAIL = 8201,\n};\n\nenum scsi_host_prot_capabilities {\n\tSHOST_DIF_TYPE1_PROTECTION = 1,\n\tSHOST_DIF_TYPE2_PROTECTION = 2,\n\tSHOST_DIF_TYPE3_PROTECTION = 4,\n\tSHOST_DIX_TYPE0_PROTECTION = 8,\n\tSHOST_DIX_TYPE1_PROTECTION = 16,\n\tSHOST_DIX_TYPE2_PROTECTION = 32,\n\tSHOST_DIX_TYPE3_PROTECTION = 64,\n};\n\nenum scsi_host_state {\n\tSHOST_CREATED = 1,\n\tSHOST_RUNNING = 2,\n\tSHOST_CANCEL = 3,\n\tSHOST_DEL = 4,\n\tSHOST_RECOVERY = 5,\n\tSHOST_CANCEL_RECOVERY = 6,\n\tSHOST_DEL_RECOVERY = 7,\n};\n\nenum scsi_host_status {\n\tDID_OK = 0,\n\tDID_NO_CONNECT = 1,\n\tDID_BUS_BUSY = 2,\n\tDID_TIME_OUT = 3,\n\tDID_BAD_TARGET = 4,\n\tDID_ABORT = 5,\n\tDID_PARITY = 6,\n\tDID_ERROR = 7,\n\tDID_RESET = 8,\n\tDID_BAD_INTR = 9,\n\tDID_PASSTHROUGH = 10,\n\tDID_SOFT_ERROR = 11,\n\tDID_IMM_RETRY = 12,\n\tDID_REQUEUE = 13,\n\tDID_TRANSPORT_DISRUPTED = 14,\n\tDID_TRANSPORT_FAILFAST = 15,\n\tDID_TRANSPORT_MARGINAL = 20,\n};\n\nenum scsi_ml_status {\n\tSCSIML_STAT_OK = 0,\n\tSCSIML_STAT_RESV_CONFLICT = 1,\n\tSCSIML_STAT_NOSPC = 2,\n\tSCSIML_STAT_MED_ERROR = 3,\n\tSCSIML_STAT_TGT_FAILURE = 4,\n\tSCSIML_STAT_DL_TIMEOUT = 5,\n};\n\nenum scsi_msg_byte {\n\tCOMMAND_COMPLETE = 0,\n\tEXTENDED_MESSAGE = 1,\n\tSAVE_POINTERS = 2,\n\tRESTORE_POINTERS = 3,\n\tDISCONNECT = 4,\n\tINITIATOR_ERROR = 5,\n\tABORT_TASK_SET = 6,\n\tMESSAGE_REJECT = 7,\n\tNOP = 8,\n\tMSG_PARITY_ERROR = 9,\n\tLINKED_CMD_COMPLETE = 10,\n\tLINKED_FLG_CMD_COMPLETE = 11,\n\tTARGET_RESET = 12,\n\tABORT_TASK = 13,\n\tCLEAR_TASK_SET = 14,\n\tINITIATE_RECOVERY = 15,\n\tRELEASE_RECOVERY = 16,\n\tTERMINATE_IO_PROC = 17,\n\tCLEAR_ACA = 22,\n\tLOGICAL_UNIT_RESET = 23,\n\tSIMPLE_QUEUE_TAG = 32,\n\tHEAD_OF_QUEUE_TAG = 33,\n\tORDERED_QUEUE_TAG = 34,\n\tIGNORE_WIDE_RESIDUE = 35,\n\tACA = 36,\n\tQAS_REQUEST = 85,\n\tBUS_DEVICE_RESET = 12,\n\tABORT = 6,\n};\n\nenum scsi_pr_type {\n\tSCSI_PR_WRITE_EXCLUSIVE = 1,\n\tSCSI_PR_EXCLUSIVE_ACCESS = 3,\n\tSCSI_PR_WRITE_EXCLUSIVE_REG_ONLY = 5,\n\tSCSI_PR_EXCLUSIVE_ACCESS_REG_ONLY = 6,\n\tSCSI_PR_WRITE_EXCLUSIVE_ALL_REGS = 7,\n\tSCSI_PR_EXCLUSIVE_ACCESS_ALL_REGS = 8,\n};\n\nenum scsi_prot_flags {\n\tSCSI_PROT_TRANSFER_PI = 1,\n\tSCSI_PROT_GUARD_CHECK = 2,\n\tSCSI_PROT_REF_CHECK = 4,\n\tSCSI_PROT_REF_INCREMENT = 8,\n\tSCSI_PROT_IP_CHECKSUM = 16,\n};\n\nenum scsi_prot_operations {\n\tSCSI_PROT_NORMAL = 0,\n\tSCSI_PROT_READ_INSERT = 1,\n\tSCSI_PROT_WRITE_STRIP = 2,\n\tSCSI_PROT_READ_STRIP = 3,\n\tSCSI_PROT_WRITE_INSERT = 4,\n\tSCSI_PROT_READ_PASS = 5,\n\tSCSI_PROT_WRITE_PASS = 6,\n};\n\nenum scsi_scan_mode {\n\tSCSI_SCAN_INITIAL = 0,\n\tSCSI_SCAN_RESCAN = 1,\n\tSCSI_SCAN_MANUAL = 2,\n};\n\nenum scsi_target_state {\n\tSTARGET_CREATED = 1,\n\tSTARGET_RUNNING = 2,\n\tSTARGET_REMOVE = 3,\n\tSTARGET_CREATED_REMOVE = 4,\n\tSTARGET_DEL = 5,\n};\n\nenum scsi_timeout_action {\n\tSCSI_EH_DONE = 0,\n\tSCSI_EH_RESET_TIMER = 1,\n\tSCSI_EH_NOT_HANDLED = 2,\n};\n\nenum scsi_timeouts {\n\tSCSI_DEFAULT_EH_TIMEOUT = 1000,\n};\n\nenum scsi_vpd_parameters {\n\tSCSI_VPD_HEADER_SIZE = 4,\n\tSCSI_VPD_LIST_SIZE = 36,\n};\n\nenum sctp_cid {\n\tSCTP_CID_DATA = 0,\n\tSCTP_CID_INIT = 1,\n\tSCTP_CID_INIT_ACK = 2,\n\tSCTP_CID_SACK = 3,\n\tSCTP_CID_HEARTBEAT = 4,\n\tSCTP_CID_HEARTBEAT_ACK = 5,\n\tSCTP_CID_ABORT = 6,\n\tSCTP_CID_SHUTDOWN = 7,\n\tSCTP_CID_SHUTDOWN_ACK = 8,\n\tSCTP_CID_ERROR = 9,\n\tSCTP_CID_COOKIE_ECHO = 10,\n\tSCTP_CID_COOKIE_ACK = 11,\n\tSCTP_CID_ECN_ECNE = 12,\n\tSCTP_CID_ECN_CWR = 13,\n\tSCTP_CID_SHUTDOWN_COMPLETE = 14,\n\tSCTP_CID_AUTH = 15,\n\tSCTP_CID_I_DATA = 64,\n\tSCTP_CID_FWD_TSN = 192,\n\tSCTP_CID_ASCONF = 193,\n\tSCTP_CID_I_FWD_TSN = 194,\n\tSCTP_CID_ASCONF_ACK = 128,\n\tSCTP_CID_RECONF = 130,\n\tSCTP_CID_PAD = 132,\n};\n\nenum sctp_conntrack {\n\tSCTP_CONNTRACK_NONE = 0,\n\tSCTP_CONNTRACK_CLOSED = 1,\n\tSCTP_CONNTRACK_COOKIE_WAIT = 2,\n\tSCTP_CONNTRACK_COOKIE_ECHOED = 3,\n\tSCTP_CONNTRACK_ESTABLISHED = 4,\n\tSCTP_CONNTRACK_SHUTDOWN_SENT = 5,\n\tSCTP_CONNTRACK_SHUTDOWN_RECD = 6,\n\tSCTP_CONNTRACK_SHUTDOWN_ACK_SENT = 7,\n\tSCTP_CONNTRACK_HEARTBEAT_SENT = 8,\n\tSCTP_CONNTRACK_HEARTBEAT_ACKED = 9,\n\tSCTP_CONNTRACK_MAX = 10,\n};\n\nenum sctp_endpoint_type {\n\tSCTP_EP_TYPE_SOCKET = 0,\n\tSCTP_EP_TYPE_ASSOCIATION = 1,\n};\n\nenum sctp_event_timeout {\n\tSCTP_EVENT_TIMEOUT_NONE = 0,\n\tSCTP_EVENT_TIMEOUT_T1_COOKIE = 1,\n\tSCTP_EVENT_TIMEOUT_T1_INIT = 2,\n\tSCTP_EVENT_TIMEOUT_T2_SHUTDOWN = 3,\n\tSCTP_EVENT_TIMEOUT_T3_RTX = 4,\n\tSCTP_EVENT_TIMEOUT_T4_RTO = 5,\n\tSCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD = 6,\n\tSCTP_EVENT_TIMEOUT_HEARTBEAT = 7,\n\tSCTP_EVENT_TIMEOUT_RECONF = 8,\n\tSCTP_EVENT_TIMEOUT_PROBE = 9,\n\tSCTP_EVENT_TIMEOUT_SACK = 10,\n\tSCTP_EVENT_TIMEOUT_AUTOCLOSE = 11,\n};\n\nenum sctp_msg_flags {\n\tMSG_NOTIFICATION = 32768,\n};\n\nenum sctp_param {\n\tSCTP_PARAM_HEARTBEAT_INFO = 256,\n\tSCTP_PARAM_IPV4_ADDRESS = 1280,\n\tSCTP_PARAM_IPV6_ADDRESS = 1536,\n\tSCTP_PARAM_STATE_COOKIE = 1792,\n\tSCTP_PARAM_UNRECOGNIZED_PARAMETERS = 2048,\n\tSCTP_PARAM_COOKIE_PRESERVATIVE = 2304,\n\tSCTP_PARAM_HOST_NAME_ADDRESS = 2816,\n\tSCTP_PARAM_SUPPORTED_ADDRESS_TYPES = 3072,\n\tSCTP_PARAM_ECN_CAPABLE = 128,\n\tSCTP_PARAM_RANDOM = 640,\n\tSCTP_PARAM_CHUNKS = 896,\n\tSCTP_PARAM_HMAC_ALGO = 1152,\n\tSCTP_PARAM_SUPPORTED_EXT = 2176,\n\tSCTP_PARAM_FWD_TSN_SUPPORT = 192,\n\tSCTP_PARAM_ADD_IP = 448,\n\tSCTP_PARAM_DEL_IP = 704,\n\tSCTP_PARAM_ERR_CAUSE = 960,\n\tSCTP_PARAM_SET_PRIMARY = 1216,\n\tSCTP_PARAM_SUCCESS_REPORT = 1472,\n\tSCTP_PARAM_ADAPTATION_LAYER_IND = 1728,\n\tSCTP_PARAM_RESET_OUT_REQUEST = 3328,\n\tSCTP_PARAM_RESET_IN_REQUEST = 3584,\n\tSCTP_PARAM_RESET_TSN_REQUEST = 3840,\n\tSCTP_PARAM_RESET_RESPONSE = 4096,\n\tSCTP_PARAM_RESET_ADD_OUT_STREAMS = 4352,\n\tSCTP_PARAM_RESET_ADD_IN_STREAMS = 4608,\n};\n\nenum sctp_scope {\n\tSCTP_SCOPE_GLOBAL = 0,\n\tSCTP_SCOPE_PRIVATE = 1,\n\tSCTP_SCOPE_LINK = 2,\n\tSCTP_SCOPE_LOOPBACK = 3,\n\tSCTP_SCOPE_UNUSABLE = 4,\n};\n\nenum sctp_socket_type {\n\tSCTP_SOCKET_UDP = 0,\n\tSCTP_SOCKET_UDP_HIGH_BANDWIDTH = 1,\n\tSCTP_SOCKET_TCP = 2,\n};\n\nenum sctp_state {\n\tSCTP_STATE_CLOSED = 0,\n\tSCTP_STATE_COOKIE_WAIT = 1,\n\tSCTP_STATE_COOKIE_ECHOED = 2,\n\tSCTP_STATE_ESTABLISHED = 3,\n\tSCTP_STATE_SHUTDOWN_PENDING = 4,\n\tSCTP_STATE_SHUTDOWN_SENT = 5,\n\tSCTP_STATE_SHUTDOWN_RECEIVED = 6,\n\tSCTP_STATE_SHUTDOWN_ACK_SENT = 7,\n};\n\nenum sel_inos {\n\tSEL_ROOT_INO = 2,\n\tSEL_LOAD = 3,\n\tSEL_ENFORCE = 4,\n\tSEL_CONTEXT = 5,\n\tSEL_ACCESS = 6,\n\tSEL_CREATE = 7,\n\tSEL_RELABEL = 8,\n\tSEL_USER = 9,\n\tSEL_POLICYVERS = 10,\n\tSEL_COMMIT_BOOLS = 11,\n\tSEL_MLS = 12,\n\tSEL_DISABLE = 13,\n\tSEL_MEMBER = 14,\n\tSEL_CHECKREQPROT = 15,\n\tSEL_COMPAT_NET = 16,\n\tSEL_REJECT_UNKNOWN = 17,\n\tSEL_DENY_UNKNOWN = 18,\n\tSEL_STATUS = 19,\n\tSEL_POLICY = 20,\n\tSEL_VALIDATE_TRANS = 21,\n\tSEL_INO_NEXT = 22,\n};\n\nenum selinux_nlgroups {\n\tSELNLGRP_NONE = 0,\n\tSELNLGRP_AVC = 1,\n\t__SELNLGRP_MAX = 2,\n};\n\nenum sensors {\n\tFAN = 0,\n\tTEMP = 1,\n\tPOWER_SUPPLY = 2,\n\tPOWER_INPUT = 3,\n\tCURRENT = 4,\n\tENERGY = 5,\n\tMAX_SENSOR_TYPE = 6,\n};\n\nenum serio_event_type {\n\tSERIO_RESCAN_PORT = 0,\n\tSERIO_RECONNECT_PORT = 1,\n\tSERIO_RECONNECT_SUBTREE = 2,\n\tSERIO_REGISTER_PORT = 3,\n\tSERIO_ATTACH_DRIVER = 4,\n};\n\nenum set_event_iter_type {\n\tSET_EVENT_FILE = 0,\n\tSET_EVENT_MOD = 1,\n};\n\nenum sgp_type {\n\tSGP_READ = 0,\n\tSGP_NOALLOC = 1,\n\tSGP_CACHE = 2,\n\tSGP_WRITE = 3,\n\tSGP_FALLOC = 4,\n};\n\nenum shmem_param {\n\tOpt_gid___8 = 0,\n\tOpt_huge = 1,\n\tOpt_mode___7 = 2,\n\tOpt_mpol = 3,\n\tOpt_nr_blocks = 4,\n\tOpt_nr_inodes___2 = 5,\n\tOpt_size___2 = 6,\n\tOpt_uid___7 = 7,\n\tOpt_inode32___2 = 8,\n\tOpt_inode64___2 = 9,\n\tOpt_noswap = 10,\n\tOpt_quota___3 = 11,\n\tOpt_usrquota___3 = 12,\n\tOpt_grpquota___3 = 13,\n\tOpt_usrquota_block_hardlimit = 14,\n\tOpt_usrquota_inode_hardlimit = 15,\n\tOpt_grpquota_block_hardlimit = 16,\n\tOpt_grpquota_inode_hardlimit = 17,\n\tOpt_casefold_version = 18,\n\tOpt_casefold = 19,\n\tOpt_strict_encoding = 20,\n};\n\nenum sig_handler {\n\tHANDLER_CURRENT = 0,\n\tHANDLER_SIG_DFL = 1,\n\tHANDLER_EXIT = 2,\n};\n\nenum siginfo_layout {\n\tSIL_KILL = 0,\n\tSIL_TIMER = 1,\n\tSIL_POLL = 2,\n\tSIL_FAULT = 3,\n\tSIL_FAULT_TRAPNO = 4,\n\tSIL_FAULT_MCEERR = 5,\n\tSIL_FAULT_BNDERR = 6,\n\tSIL_FAULT_PKUERR = 7,\n\tSIL_FAULT_PERF_EVENT = 8,\n\tSIL_CHLD = 9,\n\tSIL_RT = 10,\n\tSIL_SYS = 11,\n};\n\nenum sk_action {\n\tSK_DROP = 0,\n\tSK_PASS = 1,\n};\n\nenum sk_pacing {\n\tSK_PACING_NONE = 0,\n\tSK_PACING_NEEDED = 1,\n\tSK_PACING_FQ = 2,\n};\n\nenum sk_psock_state_bits {\n\tSK_PSOCK_TX_ENABLED = 0,\n\tSK_PSOCK_RX_STRP_ENABLED = 1,\n};\n\nenum sk_rst_reason {\n\tSK_RST_REASON_NOT_SPECIFIED = 0,\n\tSK_RST_REASON_NO_SOCKET = 1,\n\tSK_RST_REASON_TCP_INVALID_ACK_SEQUENCE = 2,\n\tSK_RST_REASON_TCP_RFC7323_PAWS = 3,\n\tSK_RST_REASON_TCP_TOO_OLD_ACK = 4,\n\tSK_RST_REASON_TCP_ACK_UNSENT_DATA = 5,\n\tSK_RST_REASON_TCP_FLAGS = 6,\n\tSK_RST_REASON_TCP_OLD_ACK = 7,\n\tSK_RST_REASON_TCP_ABORT_ON_DATA = 8,\n\tSK_RST_REASON_TCP_TIMEWAIT_SOCKET = 9,\n\tSK_RST_REASON_INVALID_SYN = 10,\n\tSK_RST_REASON_TCP_ABORT_ON_CLOSE = 11,\n\tSK_RST_REASON_TCP_ABORT_ON_LINGER = 12,\n\tSK_RST_REASON_TCP_ABORT_ON_MEMORY = 13,\n\tSK_RST_REASON_TCP_STATE = 14,\n\tSK_RST_REASON_TCP_KEEPALIVE_TIMEOUT = 15,\n\tSK_RST_REASON_TCP_DISCONNECT_WITH_DATA = 16,\n\tSK_RST_REASON_MPTCP_RST_EUNSPEC = 17,\n\tSK_RST_REASON_MPTCP_RST_EMPTCP = 18,\n\tSK_RST_REASON_MPTCP_RST_ERESOURCE = 19,\n\tSK_RST_REASON_MPTCP_RST_EPROHIBIT = 20,\n\tSK_RST_REASON_MPTCP_RST_EWQ2BIG = 21,\n\tSK_RST_REASON_MPTCP_RST_EBADPERF = 22,\n\tSK_RST_REASON_MPTCP_RST_EMIDDLEBOX = 23,\n\tSK_RST_REASON_ERROR = 24,\n\tSK_RST_REASON_MAX = 25,\n};\n\nenum skb_drop_reason {\n\tSKB_NOT_DROPPED_YET = 0,\n\tSKB_CONSUMED = 1,\n\tSKB_DROP_REASON_NOT_SPECIFIED = 2,\n\tSKB_DROP_REASON_NO_SOCKET = 3,\n\tSKB_DROP_REASON_SOCKET_CLOSE = 4,\n\tSKB_DROP_REASON_SOCKET_FILTER = 5,\n\tSKB_DROP_REASON_SOCKET_RCVBUFF = 6,\n\tSKB_DROP_REASON_UNIX_DISCONNECT = 7,\n\tSKB_DROP_REASON_UNIX_SKIP_OOB = 8,\n\tSKB_DROP_REASON_PKT_TOO_SMALL = 9,\n\tSKB_DROP_REASON_TCP_CSUM = 10,\n\tSKB_DROP_REASON_UDP_CSUM = 11,\n\tSKB_DROP_REASON_NETFILTER_DROP = 12,\n\tSKB_DROP_REASON_OTHERHOST = 13,\n\tSKB_DROP_REASON_IP_CSUM = 14,\n\tSKB_DROP_REASON_IP_INHDR = 15,\n\tSKB_DROP_REASON_IP_RPFILTER = 16,\n\tSKB_DROP_REASON_UNICAST_IN_L2_MULTICAST = 17,\n\tSKB_DROP_REASON_XFRM_POLICY = 18,\n\tSKB_DROP_REASON_IP_NOPROTO = 19,\n\tSKB_DROP_REASON_PROTO_MEM = 20,\n\tSKB_DROP_REASON_TCP_AUTH_HDR = 21,\n\tSKB_DROP_REASON_TCP_MD5NOTFOUND = 22,\n\tSKB_DROP_REASON_TCP_MD5UNEXPECTED = 23,\n\tSKB_DROP_REASON_TCP_MD5FAILURE = 24,\n\tSKB_DROP_REASON_TCP_AONOTFOUND = 25,\n\tSKB_DROP_REASON_TCP_AOUNEXPECTED = 26,\n\tSKB_DROP_REASON_TCP_AOKEYNOTFOUND = 27,\n\tSKB_DROP_REASON_TCP_AOFAILURE = 28,\n\tSKB_DROP_REASON_SOCKET_BACKLOG = 29,\n\tSKB_DROP_REASON_TCP_FLAGS = 30,\n\tSKB_DROP_REASON_TCP_ABORT_ON_DATA = 31,\n\tSKB_DROP_REASON_TCP_ZEROWINDOW = 32,\n\tSKB_DROP_REASON_TCP_OLD_DATA = 33,\n\tSKB_DROP_REASON_TCP_OVERWINDOW = 34,\n\tSKB_DROP_REASON_TCP_OFOMERGE = 35,\n\tSKB_DROP_REASON_TCP_RFC7323_PAWS = 36,\n\tSKB_DROP_REASON_TCP_RFC7323_PAWS_ACK = 37,\n\tSKB_DROP_REASON_TCP_OLD_SEQUENCE = 38,\n\tSKB_DROP_REASON_TCP_INVALID_SEQUENCE = 39,\n\tSKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE = 40,\n\tSKB_DROP_REASON_TCP_RESET = 41,\n\tSKB_DROP_REASON_TCP_INVALID_SYN = 42,\n\tSKB_DROP_REASON_TCP_CLOSE = 43,\n\tSKB_DROP_REASON_TCP_FASTOPEN = 44,\n\tSKB_DROP_REASON_TCP_OLD_ACK = 45,\n\tSKB_DROP_REASON_TCP_TOO_OLD_ACK = 46,\n\tSKB_DROP_REASON_TCP_ACK_UNSENT_DATA = 47,\n\tSKB_DROP_REASON_TCP_OFO_QUEUE_PRUNE = 48,\n\tSKB_DROP_REASON_TCP_OFO_DROP = 49,\n\tSKB_DROP_REASON_IP_OUTNOROUTES = 50,\n\tSKB_DROP_REASON_BPF_CGROUP_EGRESS = 51,\n\tSKB_DROP_REASON_IPV6DISABLED = 52,\n\tSKB_DROP_REASON_NEIGH_CREATEFAIL = 53,\n\tSKB_DROP_REASON_NEIGH_FAILED = 54,\n\tSKB_DROP_REASON_NEIGH_QUEUEFULL = 55,\n\tSKB_DROP_REASON_NEIGH_DEAD = 56,\n\tSKB_DROP_REASON_TC_EGRESS = 57,\n\tSKB_DROP_REASON_SECURITY_HOOK = 58,\n\tSKB_DROP_REASON_QDISC_DROP = 59,\n\tSKB_DROP_REASON_QDISC_OVERLIMIT = 60,\n\tSKB_DROP_REASON_QDISC_CONGESTED = 61,\n\tSKB_DROP_REASON_CAKE_FLOOD = 62,\n\tSKB_DROP_REASON_FQ_BAND_LIMIT = 63,\n\tSKB_DROP_REASON_FQ_HORIZON_LIMIT = 64,\n\tSKB_DROP_REASON_FQ_FLOW_LIMIT = 65,\n\tSKB_DROP_REASON_CPU_BACKLOG = 66,\n\tSKB_DROP_REASON_XDP = 67,\n\tSKB_DROP_REASON_TC_INGRESS = 68,\n\tSKB_DROP_REASON_UNHANDLED_PROTO = 69,\n\tSKB_DROP_REASON_SKB_CSUM = 70,\n\tSKB_DROP_REASON_SKB_GSO_SEG = 71,\n\tSKB_DROP_REASON_SKB_UCOPY_FAULT = 72,\n\tSKB_DROP_REASON_DEV_HDR = 73,\n\tSKB_DROP_REASON_DEV_READY = 74,\n\tSKB_DROP_REASON_FULL_RING = 75,\n\tSKB_DROP_REASON_NOMEM = 76,\n\tSKB_DROP_REASON_HDR_TRUNC = 77,\n\tSKB_DROP_REASON_TAP_FILTER = 78,\n\tSKB_DROP_REASON_TAP_TXFILTER = 79,\n\tSKB_DROP_REASON_ICMP_CSUM = 80,\n\tSKB_DROP_REASON_INVALID_PROTO = 81,\n\tSKB_DROP_REASON_IP_INADDRERRORS = 82,\n\tSKB_DROP_REASON_IP_INNOROUTES = 83,\n\tSKB_DROP_REASON_IP_LOCAL_SOURCE = 84,\n\tSKB_DROP_REASON_IP_INVALID_SOURCE = 85,\n\tSKB_DROP_REASON_IP_LOCALNET = 86,\n\tSKB_DROP_REASON_IP_INVALID_DEST = 87,\n\tSKB_DROP_REASON_PKT_TOO_BIG = 88,\n\tSKB_DROP_REASON_DUP_FRAG = 89,\n\tSKB_DROP_REASON_FRAG_REASM_TIMEOUT = 90,\n\tSKB_DROP_REASON_FRAG_TOO_FAR = 91,\n\tSKB_DROP_REASON_TCP_MINTTL = 92,\n\tSKB_DROP_REASON_IPV6_BAD_EXTHDR = 93,\n\tSKB_DROP_REASON_IPV6_NDISC_FRAG = 94,\n\tSKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 95,\n\tSKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 96,\n\tSKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 97,\n\tSKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 98,\n\tSKB_DROP_REASON_QUEUE_PURGE = 99,\n\tSKB_DROP_REASON_TC_COOKIE_ERROR = 100,\n\tSKB_DROP_REASON_PACKET_SOCK_ERROR = 101,\n\tSKB_DROP_REASON_TC_CHAIN_NOTFOUND = 102,\n\tSKB_DROP_REASON_TC_RECLASSIFY_LOOP = 103,\n\tSKB_DROP_REASON_VXLAN_INVALID_HDR = 104,\n\tSKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 105,\n\tSKB_DROP_REASON_MAC_INVALID_SOURCE = 106,\n\tSKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 107,\n\tSKB_DROP_REASON_NO_TX_TARGET = 108,\n\tSKB_DROP_REASON_IP_TUNNEL_ECN = 109,\n\tSKB_DROP_REASON_TUNNEL_TXINFO = 110,\n\tSKB_DROP_REASON_LOCAL_MAC = 111,\n\tSKB_DROP_REASON_ARP_PVLAN_DISABLE = 112,\n\tSKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 113,\n\tSKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 114,\n\tSKB_DROP_REASON_MAX = 115,\n\tSKB_DROP_REASON_SUBSYS_MASK = 4294901760,\n};\n\nenum skb_drop_reason_subsys {\n\tSKB_DROP_REASON_SUBSYS_CORE = 0,\n\tSKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE = 1,\n\tSKB_DROP_REASON_SUBSYS_MAC80211_MONITOR = 2,\n\tSKB_DROP_REASON_SUBSYS_OPENVSWITCH = 3,\n\tSKB_DROP_REASON_SUBSYS_NUM = 4,\n};\n\nenum skb_ext_id {\n\tSKB_EXT_SEC_PATH = 0,\n\tSKB_EXT_NUM = 1,\n};\n\nenum skb_tstamp_type {\n\tSKB_CLOCK_REALTIME = 0,\n\tSKB_CLOCK_MONOTONIC = 1,\n\tSKB_CLOCK_TAI = 2,\n\t__SKB_CLOCK_MAX = 2,\n};\n\nenum sknetlink_groups {\n\tSKNLGRP_NONE = 0,\n\tSKNLGRP_INET_TCP_DESTROY = 1,\n\tSKNLGRP_INET_UDP_DESTROY = 2,\n\tSKNLGRP_INET6_TCP_DESTROY = 3,\n\tSKNLGRP_INET6_UDP_DESTROY = 4,\n\t__SKNLGRP_MAX = 5,\n};\n\nenum slab_stat_type {\n\tSL_ALL = 0,\n\tSL_PARTIAL = 1,\n\tSL_CPU = 2,\n\tSL_OBJECTS = 3,\n\tSL_TOTAL = 4,\n};\n\nenum slab_state {\n\tDOWN = 0,\n\tPARTIAL = 1,\n\tUP = 2,\n\tFULL = 3,\n};\n\nenum slb_index {\n\tLINEAR_INDEX = 0,\n\tKSTACK_INDEX = 1,\n};\n\nenum snoop_when {\n\tSUBMIT = 0,\n\tCOMPLETE = 1,\n};\n\nenum sock_flags {\n\tSOCK_DEAD = 0,\n\tSOCK_DONE = 1,\n\tSOCK_URGINLINE = 2,\n\tSOCK_KEEPOPEN = 3,\n\tSOCK_LINGER = 4,\n\tSOCK_DESTROY = 5,\n\tSOCK_BROADCAST = 6,\n\tSOCK_TIMESTAMP = 7,\n\tSOCK_ZAPPED = 8,\n\tSOCK_USE_WRITE_QUEUE = 9,\n\tSOCK_DBG = 10,\n\tSOCK_RCVTSTAMP = 11,\n\tSOCK_RCVTSTAMPNS = 12,\n\tSOCK_LOCALROUTE = 13,\n\tSOCK_MEMALLOC = 14,\n\tSOCK_TIMESTAMPING_RX_SOFTWARE = 15,\n\tSOCK_FASYNC = 16,\n\tSOCK_RXQ_OVFL = 17,\n\tSOCK_ZEROCOPY = 18,\n\tSOCK_WIFI_STATUS = 19,\n\tSOCK_NOFCS = 20,\n\tSOCK_FILTER_LOCKED = 21,\n\tSOCK_SELECT_ERR_QUEUE = 22,\n\tSOCK_RCU_FREE = 23,\n\tSOCK_TXTIME = 24,\n\tSOCK_XDP = 25,\n\tSOCK_TSTAMP_NEW = 26,\n\tSOCK_RCVMARK = 27,\n\tSOCK_RCVPRIORITY = 28,\n};\n\nenum sock_shutdown_cmd {\n\tSHUT_RD = 0,\n\tSHUT_WR = 1,\n\tSHUT_RDWR = 2,\n};\n\nenum sock_type {\n\tSOCK_STREAM = 1,\n\tSOCK_DGRAM = 2,\n\tSOCK_RAW = 3,\n\tSOCK_RDM = 4,\n\tSOCK_SEQPACKET = 5,\n\tSOCK_DCCP = 6,\n\tSOCK_PACKET = 10,\n};\n\nenum special_kfunc_type {\n\tKF_bpf_obj_new_impl = 0,\n\tKF_bpf_obj_drop_impl = 1,\n\tKF_bpf_refcount_acquire_impl = 2,\n\tKF_bpf_list_push_front_impl = 3,\n\tKF_bpf_list_push_back_impl = 4,\n\tKF_bpf_list_pop_front = 5,\n\tKF_bpf_list_pop_back = 6,\n\tKF_bpf_cast_to_kern_ctx = 7,\n\tKF_bpf_rdonly_cast = 8,\n\tKF_bpf_rcu_read_lock = 9,\n\tKF_bpf_rcu_read_unlock = 10,\n\tKF_bpf_rbtree_remove = 11,\n\tKF_bpf_rbtree_add_impl = 12,\n\tKF_bpf_rbtree_first = 13,\n\tKF_bpf_dynptr_from_skb = 14,\n\tKF_bpf_dynptr_from_xdp = 15,\n\tKF_bpf_dynptr_slice = 16,\n\tKF_bpf_dynptr_slice_rdwr = 17,\n\tKF_bpf_dynptr_clone = 18,\n\tKF_bpf_percpu_obj_new_impl = 19,\n\tKF_bpf_percpu_obj_drop_impl = 20,\n\tKF_bpf_throw = 21,\n\tKF_bpf_wq_set_callback_impl = 22,\n\tKF_bpf_preempt_disable = 23,\n\tKF_bpf_preempt_enable = 24,\n\tKF_bpf_iter_css_task_new = 25,\n\tKF_bpf_session_cookie = 26,\n\tKF_bpf_get_kmem_cache = 27,\n\tKF_bpf_local_irq_save = 28,\n\tKF_bpf_local_irq_restore = 29,\n\tKF_bpf_iter_num_new = 30,\n\tKF_bpf_iter_num_next = 31,\n\tKF_bpf_iter_num_destroy = 32,\n};\n\nenum spu_utilization_state {\n\tSPU_UTIL_USER = 0,\n\tSPU_UTIL_SYSTEM = 1,\n\tSPU_UTIL_IOWAIT = 2,\n\tSPU_UTIL_IDLE_LOADED = 3,\n\tSPU_UTIL_MAX = 4,\n};\n\nenum srp_rport_state {\n\tSRP_RPORT_RUNNING = 0,\n\tSRP_RPORT_BLOCKED = 1,\n\tSRP_RPORT_FAIL_FAST = 2,\n\tSRP_RPORT_LOST = 3,\n};\n\nenum stat_group {\n\tSTAT_READ = 0,\n\tSTAT_WRITE = 1,\n\tSTAT_DISCARD = 2,\n\tSTAT_FLUSH = 3,\n\tNR_STAT_GROUPS = 4,\n};\n\nenum stat_item {\n\tALLOC_FASTPATH = 0,\n\tALLOC_SLOWPATH = 1,\n\tFREE_FASTPATH = 2,\n\tFREE_SLOWPATH = 3,\n\tFREE_FROZEN = 4,\n\tFREE_ADD_PARTIAL = 5,\n\tFREE_REMOVE_PARTIAL = 6,\n\tALLOC_FROM_PARTIAL = 7,\n\tALLOC_SLAB = 8,\n\tALLOC_REFILL = 9,\n\tALLOC_NODE_MISMATCH = 10,\n\tFREE_SLAB = 11,\n\tCPUSLAB_FLUSH = 12,\n\tDEACTIVATE_FULL = 13,\n\tDEACTIVATE_EMPTY = 14,\n\tDEACTIVATE_TO_HEAD = 15,\n\tDEACTIVATE_TO_TAIL = 16,\n\tDEACTIVATE_REMOTE_FREES = 17,\n\tDEACTIVATE_BYPASS = 18,\n\tORDER_FALLBACK = 19,\n\tCMPXCHG_DOUBLE_CPU_FAIL = 20,\n\tCMPXCHG_DOUBLE_FAIL = 21,\n\tCPU_PARTIAL_ALLOC = 22,\n\tCPU_PARTIAL_FREE = 23,\n\tCPU_PARTIAL_NODE = 24,\n\tCPU_PARTIAL_DRAIN = 25,\n\tNR_SLUB_STAT_ITEMS = 26,\n};\n\nenum state {\n\tStart = 0,\n\tCollect = 1,\n\tGotHeader = 2,\n\tSkipIt = 3,\n\tGotName = 4,\n\tCopyFile = 5,\n\tGotSymlink = 6,\n\tReset = 7,\n};\n\nenum stf_barrier_type {\n\tSTF_BARRIER_NONE = 1,\n\tSTF_BARRIER_FALLBACK = 2,\n\tSTF_BARRIER_EIEIO = 4,\n\tSTF_BARRIER_SYNC_ORI = 8,\n};\n\nenum store_type {\n\twr_invalid = 0,\n\twr_new_root = 1,\n\twr_store_root = 2,\n\twr_exact_fit = 3,\n\twr_spanning_store = 4,\n\twr_split_store = 5,\n\twr_rebalance = 6,\n\twr_append = 7,\n\twr_node_store = 8,\n\twr_slot_store = 9,\n};\n\nenum string_size_units {\n\tSTRING_UNITS_10 = 0,\n\tSTRING_UNITS_2 = 1,\n\tSTRING_UNITS_MASK = 1,\n\tSTRING_UNITS_NO_SPACE = 1073741824,\n\tSTRING_UNITS_NO_BYTES = 2147483648,\n};\n\nenum sum_check_bits {\n\tSUM_CHECK_P = 0,\n\tSUM_CHECK_Q = 1,\n};\n\nenum sum_check_flags {\n\tSUM_CHECK_P_RESULT = 1,\n\tSUM_CHECK_Q_RESULT = 2,\n};\n\nenum support_mode {\n\tALLOW_LEGACY = 0,\n\tDENY_LEGACY = 1,\n};\n\nenum suspend_mode {\n\tPRESUSPEND = 0,\n\tPRESUSPEND_UNDO = 1,\n\tPOSTSUSPEND = 2,\n};\n\nenum suspend_stat_step {\n\tSUSPEND_WORKING = 0,\n\tSUSPEND_FREEZE = 1,\n\tSUSPEND_PREPARE = 2,\n\tSUSPEND_SUSPEND = 3,\n\tSUSPEND_SUSPEND_LATE = 4,\n\tSUSPEND_SUSPEND_NOIRQ = 5,\n\tSUSPEND_RESUME_NOIRQ = 6,\n\tSUSPEND_RESUME_EARLY = 7,\n\tSUSPEND_RESUME = 8,\n};\n\nenum svc_auth_status {\n\tSVC_GARBAGE = 1,\n\tSVC_SYSERR = 2,\n\tSVC_VALID = 3,\n\tSVC_NEGATIVE = 4,\n\tSVC_OK = 5,\n\tSVC_DROP = 6,\n\tSVC_CLOSE = 7,\n\tSVC_DENIED = 8,\n\tSVC_PENDING = 9,\n\tSVC_COMPLETE = 10,\n};\n\nenum sw_activity {\n\tOFF = 0,\n\tBLINK_ON = 1,\n\tBLINK_OFF = 2,\n};\n\nenum swap_cluster_flags {\n\tCLUSTER_FLAG_NONE = 0,\n\tCLUSTER_FLAG_FREE = 1,\n\tCLUSTER_FLAG_NONFULL = 2,\n\tCLUSTER_FLAG_FRAG = 3,\n\tCLUSTER_FLAG_USABLE = 3,\n\tCLUSTER_FLAG_FULL = 4,\n\tCLUSTER_FLAG_DISCARD = 5,\n\tCLUSTER_FLAG_MAX = 6,\n};\n\nenum synaptics_pkt_type {\n\tSYN_NEWABS = 0,\n\tSYN_NEWABS_STRICT = 1,\n\tSYN_NEWABS_RELAXED = 2,\n\tSYN_OLDABS = 3,\n};\n\nenum sync_action {\n\tACTION_RESYNC = 0,\n\tACTION_RECOVER = 1,\n\tACTION_CHECK = 2,\n\tACTION_REPAIR = 3,\n\tACTION_RESHAPE = 4,\n\tACTION_FROZEN = 5,\n\tACTION_IDLE = 6,\n\tNR_SYNC_ACTIONS = 7,\n};\n\nenum sys_off_mode {\n\tSYS_OFF_MODE_POWER_OFF_PREPARE = 0,\n\tSYS_OFF_MODE_POWER_OFF = 1,\n\tSYS_OFF_MODE_RESTART_PREPARE = 2,\n\tSYS_OFF_MODE_RESTART = 3,\n};\n\nenum sysctl_writes_mode {\n\tSYSCTL_WRITES_LEGACY = -1,\n\tSYSCTL_WRITES_WARN = 0,\n\tSYSCTL_WRITES_STRICT = 1,\n};\n\nenum system_states {\n\tSYSTEM_BOOTING = 0,\n\tSYSTEM_SCHEDULING = 1,\n\tSYSTEM_FREEING_INITMEM = 2,\n\tSYSTEM_RUNNING = 3,\n\tSYSTEM_HALT = 4,\n\tSYSTEM_POWER_OFF = 5,\n\tSYSTEM_RESTART = 6,\n\tSYSTEM_SUSPEND = 7,\n};\n\nenum t10_dif_type {\n\tT10_PI_TYPE0_PROTECTION = 0,\n\tT10_PI_TYPE1_PROTECTION = 1,\n\tT10_PI_TYPE2_PROTECTION = 2,\n\tT10_PI_TYPE3_PROTECTION = 3,\n};\n\nenum task_work_notify_mode {\n\tTWA_NONE = 0,\n\tTWA_RESUME = 1,\n\tTWA_SIGNAL = 2,\n\tTWA_SIGNAL_NO_IPI = 3,\n\tTWA_NMI_CURRENT = 4,\n};\n\nenum tc_fifo_command {\n\tTC_FIFO_REPLACE = 0,\n\tTC_FIFO_DESTROY = 1,\n\tTC_FIFO_STATS = 2,\n};\n\nenum tc_link_layer {\n\tTC_LINKLAYER_UNAWARE = 0,\n\tTC_LINKLAYER_ETHERNET = 1,\n\tTC_LINKLAYER_ATM = 2,\n};\n\nenum tc_mq_command {\n\tTC_MQ_CREATE = 0,\n\tTC_MQ_DESTROY = 1,\n\tTC_MQ_STATS = 2,\n\tTC_MQ_GRAFT = 3,\n};\n\nenum tc_root_command {\n\tTC_ROOT_GRAFT = 0,\n};\n\nenum tc_setup_type {\n\tTC_QUERY_CAPS = 0,\n\tTC_SETUP_QDISC_MQPRIO = 1,\n\tTC_SETUP_CLSU32 = 2,\n\tTC_SETUP_CLSFLOWER = 3,\n\tTC_SETUP_CLSMATCHALL = 4,\n\tTC_SETUP_CLSBPF = 5,\n\tTC_SETUP_BLOCK = 6,\n\tTC_SETUP_QDISC_CBS = 7,\n\tTC_SETUP_QDISC_RED = 8,\n\tTC_SETUP_QDISC_PRIO = 9,\n\tTC_SETUP_QDISC_MQ = 10,\n\tTC_SETUP_QDISC_ETF = 11,\n\tTC_SETUP_ROOT_QDISC = 12,\n\tTC_SETUP_QDISC_GRED = 13,\n\tTC_SETUP_QDISC_TAPRIO = 14,\n\tTC_SETUP_FT = 15,\n\tTC_SETUP_QDISC_ETS = 16,\n\tTC_SETUP_QDISC_TBF = 17,\n\tTC_SETUP_QDISC_FIFO = 18,\n\tTC_SETUP_QDISC_HTB = 19,\n\tTC_SETUP_ACT = 20,\n};\n\nenum tca_id {\n\tTCA_ID_UNSPEC = 0,\n\tTCA_ID_POLICE = 1,\n\tTCA_ID_GACT = 5,\n\tTCA_ID_IPT = 6,\n\tTCA_ID_PEDIT = 7,\n\tTCA_ID_MIRRED = 8,\n\tTCA_ID_NAT = 9,\n\tTCA_ID_XT = 10,\n\tTCA_ID_SKBEDIT = 11,\n\tTCA_ID_VLAN = 12,\n\tTCA_ID_BPF = 13,\n\tTCA_ID_CONNMARK = 14,\n\tTCA_ID_SKBMOD = 15,\n\tTCA_ID_CSUM = 16,\n\tTCA_ID_TUNNEL_KEY = 17,\n\tTCA_ID_SIMP = 22,\n\tTCA_ID_IFE = 25,\n\tTCA_ID_SAMPLE = 26,\n\tTCA_ID_CTINFO = 27,\n\tTCA_ID_MPLS = 28,\n\tTCA_ID_CT = 29,\n\tTCA_ID_GATE = 30,\n\t__TCA_ID_MAX = 255,\n};\n\nenum tcf_proto_ops_flags {\n\tTCF_PROTO_OPS_DOIT_UNLOCKED = 1,\n};\n\nenum tcp_ca_ack_event_flags {\n\tCA_ACK_SLOWPATH = 1,\n\tCA_ACK_WIN_UPDATE = 2,\n\tCA_ACK_ECE = 4,\n};\n\nenum tcp_ca_event {\n\tCA_EVENT_TX_START = 0,\n\tCA_EVENT_CWND_RESTART = 1,\n\tCA_EVENT_COMPLETE_CWR = 2,\n\tCA_EVENT_LOSS = 3,\n\tCA_EVENT_ECN_NO_CE = 4,\n\tCA_EVENT_ECN_IS_CE = 5,\n};\n\nenum tcp_ca_state {\n\tTCP_CA_Open = 0,\n\tTCP_CA_Disorder = 1,\n\tTCP_CA_CWR = 2,\n\tTCP_CA_Recovery = 3,\n\tTCP_CA_Loss = 4,\n};\n\nenum tcp_chrono {\n\tTCP_CHRONO_UNSPEC = 0,\n\tTCP_CHRONO_BUSY = 1,\n\tTCP_CHRONO_RWND_LIMITED = 2,\n\tTCP_CHRONO_SNDBUF_LIMITED = 3,\n\t__TCP_CHRONO_MAX = 4,\n};\n\nenum tcp_conntrack {\n\tTCP_CONNTRACK_NONE = 0,\n\tTCP_CONNTRACK_SYN_SENT = 1,\n\tTCP_CONNTRACK_SYN_RECV = 2,\n\tTCP_CONNTRACK_ESTABLISHED = 3,\n\tTCP_CONNTRACK_FIN_WAIT = 4,\n\tTCP_CONNTRACK_CLOSE_WAIT = 5,\n\tTCP_CONNTRACK_LAST_ACK = 6,\n\tTCP_CONNTRACK_TIME_WAIT = 7,\n\tTCP_CONNTRACK_CLOSE = 8,\n\tTCP_CONNTRACK_LISTEN = 9,\n\tTCP_CONNTRACK_MAX = 10,\n\tTCP_CONNTRACK_IGNORE = 11,\n\tTCP_CONNTRACK_RETRANS = 12,\n\tTCP_CONNTRACK_UNACK = 13,\n\tTCP_CONNTRACK_TIMEOUT_MAX = 14,\n};\n\nenum tcp_fastopen_client_fail {\n\tTFO_STATUS_UNSPEC = 0,\n\tTFO_COOKIE_UNAVAILABLE = 1,\n\tTFO_DATA_NOT_ACKED = 2,\n\tTFO_SYN_RETRANSMITTED = 3,\n};\n\nenum tcp_metric_index {\n\tTCP_METRIC_RTT = 0,\n\tTCP_METRIC_RTTVAR = 1,\n\tTCP_METRIC_SSTHRESH = 2,\n\tTCP_METRIC_CWND = 3,\n\tTCP_METRIC_REORDERING = 4,\n\tTCP_METRIC_RTT_US = 5,\n\tTCP_METRIC_RTTVAR_US = 6,\n\t__TCP_METRIC_MAX = 7,\n};\n\nenum tcp_queue {\n\tTCP_FRAG_IN_WRITE_QUEUE = 0,\n\tTCP_FRAG_IN_RTX_QUEUE = 1,\n};\n\nenum tcp_seq_states {\n\tTCP_SEQ_STATE_LISTENING = 0,\n\tTCP_SEQ_STATE_ESTABLISHED = 1,\n};\n\nenum tcp_skb_cb_sacked_flags {\n\tTCPCB_SACKED_ACKED = 1,\n\tTCPCB_SACKED_RETRANS = 2,\n\tTCPCB_LOST = 4,\n\tTCPCB_TAGBITS = 7,\n\tTCPCB_REPAIRED = 16,\n\tTCPCB_EVER_RETRANS = 128,\n\tTCPCB_RETRANS = 146,\n};\n\nenum tcp_synack_type {\n\tTCP_SYNACK_NORMAL = 0,\n\tTCP_SYNACK_FASTOPEN = 1,\n\tTCP_SYNACK_COOKIE = 2,\n};\n\nenum tcp_tw_status {\n\tTCP_TW_SUCCESS = 0,\n\tTCP_TW_RST = 1,\n\tTCP_TW_ACK = 2,\n\tTCP_TW_SYN = 3,\n};\n\nenum tcpa_event_types {\n\tPREBOOT = 0,\n\tPOST_CODE = 1,\n\tUNUSED = 2,\n\tNO_ACTION = 3,\n\tSEPARATOR = 4,\n\tACTION = 5,\n\tEVENT_TAG = 6,\n\tSCRTM_CONTENTS = 7,\n\tSCRTM_VERSION = 8,\n\tCPU_MICROCODE = 9,\n\tPLATFORM_CONFIG_FLAGS = 10,\n\tTABLE_OF_DEVICES = 11,\n\tCOMPACT_HASH = 12,\n\tIPL = 13,\n\tIPL_PARTITION_DATA = 14,\n\tNONHOST_CODE = 15,\n\tNONHOST_CONFIG = 16,\n\tNONHOST_INFO = 17,\n};\n\nenum tcpa_pc_event_ids {\n\tSMBIOS = 1,\n\tBIS_CERT = 2,\n\tPOST_BIOS_ROM = 3,\n\tESCD = 4,\n\tCMOS = 5,\n\tNVRAM = 6,\n\tOPTION_ROM_EXEC = 7,\n\tOPTION_ROM_CONFIG = 8,\n\tOPTION_ROM_MICROCODE = 10,\n\tS_CRTM_VERSION = 11,\n\tS_CRTM_CONTENTS = 12,\n\tPOST_CONTENTS = 13,\n\tHOST_TABLE_OF_DEVICES = 14,\n};\n\nenum tcx_action_base {\n\tTCX_NEXT = -1,\n\tTCX_PASS = 0,\n\tTCX_DROP = 2,\n\tTCX_REDIRECT = 7,\n};\n\nenum thermal_device_mode {\n\tTHERMAL_DEVICE_DISABLED = 0,\n\tTHERMAL_DEVICE_ENABLED = 1,\n};\n\nenum thermal_notify_event {\n\tTHERMAL_EVENT_UNSPECIFIED = 0,\n\tTHERMAL_EVENT_TEMP_SAMPLE = 1,\n\tTHERMAL_TRIP_VIOLATED = 2,\n\tTHERMAL_TRIP_CHANGED = 3,\n\tTHERMAL_DEVICE_DOWN = 4,\n\tTHERMAL_DEVICE_UP = 5,\n\tTHERMAL_DEVICE_POWER_CAPABILITY_CHANGED = 6,\n\tTHERMAL_TABLE_CHANGED = 7,\n\tTHERMAL_EVENT_KEEP_ALIVE = 8,\n\tTHERMAL_TZ_BIND_CDEV = 9,\n\tTHERMAL_TZ_UNBIND_CDEV = 10,\n\tTHERMAL_INSTANCE_WEIGHT_CHANGED = 11,\n\tTHERMAL_TZ_RESUME = 12,\n\tTHERMAL_TZ_ADD_THRESHOLD = 13,\n\tTHERMAL_TZ_DEL_THRESHOLD = 14,\n\tTHERMAL_TZ_FLUSH_THRESHOLDS = 15,\n};\n\nenum thermal_trend {\n\tTHERMAL_TREND_STABLE = 0,\n\tTHERMAL_TREND_RAISING = 1,\n\tTHERMAL_TREND_DROPPING = 2,\n};\n\nenum thermal_trip_type {\n\tTHERMAL_TRIP_ACTIVE = 0,\n\tTHERMAL_TRIP_PASSIVE = 1,\n\tTHERMAL_TRIP_HOT = 2,\n\tTHERMAL_TRIP_CRITICAL = 3,\n};\n\nenum throttle_reason_type {\n\tNO_THROTTLE = 0,\n\tPOWERCAP = 1,\n\tCPU_OVERTEMP = 2,\n\tPOWER_SUPPLY_FAILURE = 3,\n\tOVERCURRENT = 4,\n\tOCC_RESET_THROTTLE = 5,\n\tOCC_MAX_REASON = 6,\n};\n\nenum tick_broadcast_mode {\n\tTICK_BROADCAST_OFF = 0,\n\tTICK_BROADCAST_ON = 1,\n\tTICK_BROADCAST_FORCE = 2,\n};\n\nenum tick_broadcast_state {\n\tTICK_BROADCAST_EXIT = 0,\n\tTICK_BROADCAST_ENTER = 1,\n};\n\nenum tick_dep_bits {\n\tTICK_DEP_BIT_POSIX_TIMER = 0,\n\tTICK_DEP_BIT_PERF_EVENTS = 1,\n\tTICK_DEP_BIT_SCHED = 2,\n\tTICK_DEP_BIT_CLOCK_UNSTABLE = 3,\n\tTICK_DEP_BIT_RCU = 4,\n\tTICK_DEP_BIT_RCU_EXP = 5,\n};\n\nenum tick_device_mode {\n\tTICKDEV_MODE_PERIODIC = 0,\n\tTICKDEV_MODE_ONESHOT = 1,\n};\n\nenum timekeeping_adv_mode {\n\tTK_ADV_TICK = 0,\n\tTK_ADV_FREQ = 1,\n};\n\nenum timespec_type {\n\tTT_NONE = 0,\n\tTT_NATIVE = 1,\n\tTT_COMPAT = 2,\n};\n\nenum tk_offsets {\n\tTK_OFFS_REAL = 0,\n\tTK_OFFS_BOOT = 1,\n\tTK_OFFS_TAI = 2,\n\tTK_OFFS_MAX = 3,\n};\n\nenum tlb_flush_reason {\n\tTLB_FLUSH_ON_TASK_SWITCH = 0,\n\tTLB_REMOTE_SHOOTDOWN = 1,\n\tTLB_LOCAL_SHOOTDOWN = 2,\n\tTLB_LOCAL_MM_SHOOTDOWN = 3,\n\tTLB_REMOTE_SEND_IPI = 4,\n\tTLB_REMOTE_WRONG_CPU = 5,\n\tNR_TLB_FLUSH_REASONS = 6,\n};\n\nenum tlb_flush_type {\n\tFLUSH_TYPE_NONE = 0,\n\tFLUSH_TYPE_LOCAL = 1,\n\tFLUSH_TYPE_GLOBAL = 2,\n};\n\nenum tp_func_state {\n\tTP_FUNC_0 = 0,\n\tTP_FUNC_1 = 1,\n\tTP_FUNC_2 = 2,\n\tTP_FUNC_N = 3,\n};\n\nenum tp_transition_sync {\n\tTP_TRANSITION_SYNC_1_0_1 = 0,\n\tTP_TRANSITION_SYNC_N_2_1 = 1,\n\t_NR_TP_TRANSITION_SYNC = 2,\n};\n\nenum tpacket_versions {\n\tTPACKET_V1 = 0,\n\tTPACKET_V2 = 1,\n\tTPACKET_V3 = 2,\n};\n\nenum tpm2_capabilities {\n\tTPM2_CAP_HANDLES = 1,\n\tTPM2_CAP_COMMANDS = 2,\n\tTPM2_CAP_PCRS = 5,\n\tTPM2_CAP_TPM_PROPERTIES = 6,\n};\n\nenum tpm2_cc_attrs {\n\tTPM2_CC_ATTR_CHANDLES = 25,\n\tTPM2_CC_ATTR_RHANDLE = 28,\n\tTPM2_CC_ATTR_VENDOR = 29,\n};\n\nenum tpm2_command_codes {\n\tTPM2_CC_FIRST = 287,\n\tTPM2_CC_HIERARCHY_CONTROL = 289,\n\tTPM2_CC_HIERARCHY_CHANGE_AUTH = 297,\n\tTPM2_CC_CREATE_PRIMARY = 305,\n\tTPM2_CC_SEQUENCE_COMPLETE = 318,\n\tTPM2_CC_SELF_TEST = 323,\n\tTPM2_CC_STARTUP = 324,\n\tTPM2_CC_SHUTDOWN = 325,\n\tTPM2_CC_NV_READ = 334,\n\tTPM2_CC_CREATE = 339,\n\tTPM2_CC_LOAD = 343,\n\tTPM2_CC_SEQUENCE_UPDATE = 348,\n\tTPM2_CC_UNSEAL = 350,\n\tTPM2_CC_CONTEXT_LOAD = 353,\n\tTPM2_CC_CONTEXT_SAVE = 354,\n\tTPM2_CC_FLUSH_CONTEXT = 357,\n\tTPM2_CC_READ_PUBLIC = 371,\n\tTPM2_CC_START_AUTH_SESS = 374,\n\tTPM2_CC_VERIFY_SIGNATURE = 375,\n\tTPM2_CC_GET_CAPABILITY = 378,\n\tTPM2_CC_GET_RANDOM = 379,\n\tTPM2_CC_PCR_READ = 382,\n\tTPM2_CC_PCR_EXTEND = 386,\n\tTPM2_CC_EVENT_SEQUENCE_COMPLETE = 389,\n\tTPM2_CC_HASH_SEQUENCE_START = 390,\n\tTPM2_CC_CREATE_LOADED = 401,\n\tTPM2_CC_LAST = 403,\n};\n\nenum tpm2_const {\n\tTPM2_PLATFORM_PCR = 24,\n\tTPM2_PCR_SELECT_MIN = 3,\n};\n\nenum tpm2_handle_types {\n\tTPM2_HT_HMAC_SESSION = 33554432,\n\tTPM2_HT_POLICY_SESSION = 50331648,\n\tTPM2_HT_TRANSIENT = 2147483648,\n};\n\nenum tpm2_permanent_handles {\n\tTPM2_RH_NULL = 1073741831,\n\tTPM2_RS_PW = 1073741833,\n};\n\nenum tpm2_properties {\n\tTPM_PT_TOTAL_COMMANDS = 297,\n};\n\nenum tpm2_return_codes {\n\tTPM2_RC_SUCCESS = 0,\n\tTPM2_RC_HASH = 131,\n\tTPM2_RC_HANDLE = 139,\n\tTPM2_RC_INTEGRITY = 159,\n\tTPM2_RC_INITIALIZE = 256,\n\tTPM2_RC_FAILURE = 257,\n\tTPM2_RC_DISABLED = 288,\n\tTPM2_RC_UPGRADE = 301,\n\tTPM2_RC_COMMAND_CODE = 323,\n\tTPM2_RC_TESTING = 2314,\n\tTPM2_RC_REFERENCE_H0 = 2320,\n\tTPM2_RC_RETRY = 2338,\n};\n\nenum tpm2_session_attributes {\n\tTPM2_SA_CONTINUE_SESSION = 1,\n\tTPM2_SA_AUDIT_EXCLUSIVE = 2,\n\tTPM2_SA_AUDIT_RESET = 8,\n\tTPM2_SA_DECRYPT = 32,\n\tTPM2_SA_ENCRYPT = 64,\n\tTPM2_SA_AUDIT = 128,\n};\n\nenum tpm2_startup_types {\n\tTPM2_SU_CLEAR = 0,\n\tTPM2_SU_STATE = 1,\n};\n\nenum tpm2_structures {\n\tTPM2_ST_NO_SESSIONS = 32769,\n\tTPM2_ST_SESSIONS = 32770,\n\tTPM2_ST_CREATION = 32801,\n};\n\nenum tpm2_timeouts {\n\tTPM2_TIMEOUT_A = 750,\n\tTPM2_TIMEOUT_B = 2000,\n\tTPM2_TIMEOUT_C = 200,\n\tTPM2_TIMEOUT_D = 30,\n\tTPM2_DURATION_SHORT = 20,\n\tTPM2_DURATION_MEDIUM = 750,\n\tTPM2_DURATION_LONG = 2000,\n\tTPM2_DURATION_LONG_LONG = 300000,\n\tTPM2_DURATION_DEFAULT = 120000,\n};\n\nenum tpm_algorithms {\n\tTPM_ALG_ERROR = 0,\n\tTPM_ALG_SHA1 = 4,\n\tTPM_ALG_AES = 6,\n\tTPM_ALG_KEYEDHASH = 8,\n\tTPM_ALG_SHA256 = 11,\n\tTPM_ALG_SHA384 = 12,\n\tTPM_ALG_SHA512 = 13,\n\tTPM_ALG_NULL = 16,\n\tTPM_ALG_SM3_256 = 18,\n\tTPM_ALG_ECC = 35,\n\tTPM_ALG_CFB = 67,\n};\n\nenum tpm_buf_flags {\n\tTPM_BUF_OVERFLOW = 1,\n\tTPM_BUF_TPM2B = 2,\n\tTPM_BUF_BOUNDARY_ERROR = 4,\n};\n\nenum tpm_capabilities {\n\tTPM_CAP_FLAG = 4,\n\tTPM_CAP_PROP = 5,\n\tTPM_CAP_VERSION_1_1 = 6,\n\tTPM_CAP_VERSION_1_2 = 26,\n};\n\nenum tpm_chip_flags {\n\tTPM_CHIP_FLAG_BOOTSTRAPPED = 1,\n\tTPM_CHIP_FLAG_TPM2 = 2,\n\tTPM_CHIP_FLAG_IRQ = 4,\n\tTPM_CHIP_FLAG_VIRTUAL = 8,\n\tTPM_CHIP_FLAG_HAVE_TIMEOUTS = 16,\n\tTPM_CHIP_FLAG_ALWAYS_POWERED = 32,\n\tTPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED = 64,\n\tTPM_CHIP_FLAG_FIRMWARE_UPGRADE = 128,\n\tTPM_CHIP_FLAG_SUSPENDED = 256,\n\tTPM_CHIP_FLAG_HWRNG_DISABLED = 512,\n\tTPM_CHIP_FLAG_DISABLE = 1024,\n};\n\nenum tpm_duration {\n\tTPM_SHORT = 0,\n\tTPM_MEDIUM = 1,\n\tTPM_LONG = 2,\n\tTPM_LONG_LONG = 3,\n\tTPM_UNDEFINED = 4,\n\tTPM_NUM_DURATIONS = 4,\n};\n\nenum tpm_pcrs {\n\tTPM_PCR0 = 0,\n\tTPM_PCR8 = 8,\n\tTPM_PCR10 = 10,\n};\n\nenum tpm_sub_capabilities {\n\tTPM_CAP_PROP_PCR = 257,\n\tTPM_CAP_PROP_MANUFACTURER = 259,\n\tTPM_CAP_FLAG_PERM = 264,\n\tTPM_CAP_FLAG_VOL = 265,\n\tTPM_CAP_PROP_OWNER = 273,\n\tTPM_CAP_PROP_TIS_TIMEOUT = 277,\n\tTPM_CAP_PROP_TIS_DURATION = 288,\n};\n\nenum tpm_timeout {\n\tTPM_TIMEOUT = 5,\n\tTPM_TIMEOUT_RETRY = 100,\n\tTPM_TIMEOUT_RANGE_US = 300,\n\tTPM_TIMEOUT_POLL = 1,\n\tTPM_TIMEOUT_USECS_MIN = 100,\n\tTPM_TIMEOUT_USECS_MAX = 500,\n};\n\nenum trace_flag_type {\n\tTRACE_FLAG_IRQS_OFF = 1,\n\tTRACE_FLAG_NEED_RESCHED_LAZY = 2,\n\tTRACE_FLAG_NEED_RESCHED = 4,\n\tTRACE_FLAG_HARDIRQ = 8,\n\tTRACE_FLAG_SOFTIRQ = 16,\n\tTRACE_FLAG_PREEMPT_RESCHED = 32,\n\tTRACE_FLAG_NMI = 64,\n\tTRACE_FLAG_BH_OFF = 128,\n};\n\nenum trace_iter_flags {\n\tTRACE_FILE_LAT_FMT = 1,\n\tTRACE_FILE_ANNOTATE = 2,\n\tTRACE_FILE_TIME_IN_NS = 4,\n};\n\nenum trace_iterator_bits {\n\tTRACE_ITER_PRINT_PARENT_BIT = 0,\n\tTRACE_ITER_SYM_OFFSET_BIT = 1,\n\tTRACE_ITER_SYM_ADDR_BIT = 2,\n\tTRACE_ITER_VERBOSE_BIT = 3,\n\tTRACE_ITER_RAW_BIT = 4,\n\tTRACE_ITER_HEX_BIT = 5,\n\tTRACE_ITER_BIN_BIT = 6,\n\tTRACE_ITER_BLOCK_BIT = 7,\n\tTRACE_ITER_FIELDS_BIT = 8,\n\tTRACE_ITER_PRINTK_BIT = 9,\n\tTRACE_ITER_ANNOTATE_BIT = 10,\n\tTRACE_ITER_USERSTACKTRACE_BIT = 11,\n\tTRACE_ITER_SYM_USEROBJ_BIT = 12,\n\tTRACE_ITER_PRINTK_MSGONLY_BIT = 13,\n\tTRACE_ITER_CONTEXT_INFO_BIT = 14,\n\tTRACE_ITER_LATENCY_FMT_BIT = 15,\n\tTRACE_ITER_RECORD_CMD_BIT = 16,\n\tTRACE_ITER_RECORD_TGID_BIT = 17,\n\tTRACE_ITER_OVERWRITE_BIT = 18,\n\tTRACE_ITER_STOP_ON_FREE_BIT = 19,\n\tTRACE_ITER_IRQ_INFO_BIT = 20,\n\tTRACE_ITER_MARKERS_BIT = 21,\n\tTRACE_ITER_EVENT_FORK_BIT = 22,\n\tTRACE_ITER_TRACE_PRINTK_BIT = 23,\n\tTRACE_ITER_PAUSE_ON_TRACE_BIT = 24,\n\tTRACE_ITER_HASH_PTR_BIT = 25,\n\tTRACE_ITER_FUNCTION_BIT = 26,\n\tTRACE_ITER_FUNC_FORK_BIT = 27,\n\tTRACE_ITER_DISPLAY_GRAPH_BIT = 28,\n\tTRACE_ITER_STACKTRACE_BIT = 29,\n\tTRACE_ITER_LAST_BIT = 30,\n};\n\nenum trace_iterator_flags {\n\tTRACE_ITER_PRINT_PARENT = 1,\n\tTRACE_ITER_SYM_OFFSET = 2,\n\tTRACE_ITER_SYM_ADDR = 4,\n\tTRACE_ITER_VERBOSE = 8,\n\tTRACE_ITER_RAW = 16,\n\tTRACE_ITER_HEX = 32,\n\tTRACE_ITER_BIN = 64,\n\tTRACE_ITER_BLOCK = 128,\n\tTRACE_ITER_FIELDS = 256,\n\tTRACE_ITER_PRINTK = 512,\n\tTRACE_ITER_ANNOTATE = 1024,\n\tTRACE_ITER_USERSTACKTRACE = 2048,\n\tTRACE_ITER_SYM_USEROBJ = 4096,\n\tTRACE_ITER_PRINTK_MSGONLY = 8192,\n\tTRACE_ITER_CONTEXT_INFO = 16384,\n\tTRACE_ITER_LATENCY_FMT = 32768,\n\tTRACE_ITER_RECORD_CMD = 65536,\n\tTRACE_ITER_RECORD_TGID = 131072,\n\tTRACE_ITER_OVERWRITE = 262144,\n\tTRACE_ITER_STOP_ON_FREE = 524288,\n\tTRACE_ITER_IRQ_INFO = 1048576,\n\tTRACE_ITER_MARKERS = 2097152,\n\tTRACE_ITER_EVENT_FORK = 4194304,\n\tTRACE_ITER_TRACE_PRINTK = 8388608,\n\tTRACE_ITER_PAUSE_ON_TRACE = 16777216,\n\tTRACE_ITER_HASH_PTR = 33554432,\n\tTRACE_ITER_FUNCTION = 67108864,\n\tTRACE_ITER_FUNC_FORK = 134217728,\n\tTRACE_ITER_DISPLAY_GRAPH = 268435456,\n\tTRACE_ITER_STACKTRACE = 536870912,\n};\n\nenum trace_reg {\n\tTRACE_REG_REGISTER = 0,\n\tTRACE_REG_UNREGISTER = 1,\n\tTRACE_REG_PERF_REGISTER = 2,\n\tTRACE_REG_PERF_UNREGISTER = 3,\n\tTRACE_REG_PERF_OPEN = 4,\n\tTRACE_REG_PERF_CLOSE = 5,\n\tTRACE_REG_PERF_ADD = 6,\n\tTRACE_REG_PERF_DEL = 7,\n};\n\nenum trace_type {\n\t__TRACE_FIRST_TYPE = 0,\n\tTRACE_FN = 1,\n\tTRACE_CTX = 2,\n\tTRACE_WAKE = 3,\n\tTRACE_STACK = 4,\n\tTRACE_PRINT = 5,\n\tTRACE_BPRINT = 6,\n\tTRACE_MMIO_RW = 7,\n\tTRACE_MMIO_MAP = 8,\n\tTRACE_BRANCH = 9,\n\tTRACE_GRAPH_RET = 10,\n\tTRACE_GRAPH_ENT = 11,\n\tTRACE_GRAPH_RETADDR_ENT = 12,\n\tTRACE_USER_STACK = 13,\n\tTRACE_BLK = 14,\n\tTRACE_BPUTS = 15,\n\tTRACE_HWLAT = 16,\n\tTRACE_OSNOISE = 17,\n\tTRACE_TIMERLAT = 18,\n\tTRACE_RAW_DATA = 19,\n\tTRACE_FUNC_REPEATS = 20,\n\t__TRACE_LAST_TYPE = 21,\n};\n\nenum track_item {\n\tTRACK_ALLOC = 0,\n\tTRACK_FREE = 1,\n};\n\nenum translation_map {\n\tLAT1_MAP = 0,\n\tGRAF_MAP = 1,\n\tIBMPC_MAP = 2,\n\tUSER_MAP = 3,\n\tFIRST_MAP = 0,\n\tLAST_MAP = 3,\n};\n\nenum transparent_hugepage_flag {\n\tTRANSPARENT_HUGEPAGE_UNSUPPORTED = 0,\n\tTRANSPARENT_HUGEPAGE_FLAG = 1,\n\tTRANSPARENT_HUGEPAGE_REQ_MADV_FLAG = 2,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG = 3,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG = 4,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG = 5,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG = 6,\n\tTRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG = 7,\n\tTRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG = 8,\n};\n\nenum tsq_enum {\n\tTSQ_THROTTLED = 0,\n\tTSQ_QUEUED = 1,\n\tTCP_TSQ_DEFERRED = 2,\n\tTCP_WRITE_TIMER_DEFERRED = 3,\n\tTCP_DELACK_TIMER_DEFERRED = 4,\n\tTCP_MTU_REDUCED_DEFERRED = 5,\n\tTCP_ACK_DEFERRED = 6,\n};\n\nenum tsq_flags {\n\tTSQF_THROTTLED = 1,\n\tTSQF_QUEUED = 2,\n\tTCPF_TSQ_DEFERRED = 4,\n\tTCPF_WRITE_TIMER_DEFERRED = 8,\n\tTCPF_DELACK_TIMER_DEFERRED = 16,\n\tTCPF_MTU_REDUCED_DEFERRED = 32,\n\tTCPF_ACK_DEFERRED = 64,\n};\n\nenum ttu_flags {\n\tTTU_SPLIT_HUGE_PMD = 4,\n\tTTU_IGNORE_MLOCK = 8,\n\tTTU_SYNC = 16,\n\tTTU_HWPOISON = 32,\n\tTTU_BATCH_FLUSH = 64,\n\tTTU_RMAP_LOCKED = 128,\n};\n\nenum tty_flow_change {\n\tTTY_FLOW_NO_CHANGE = 0,\n\tTTY_THROTTLE_SAFE = 1,\n\tTTY_UNTHROTTLE_SAFE = 2,\n};\n\nenum tunable_id {\n\tETHTOOL_ID_UNSPEC = 0,\n\tETHTOOL_RX_COPYBREAK = 1,\n\tETHTOOL_TX_COPYBREAK = 2,\n\tETHTOOL_PFC_PREVENTION_TOUT = 3,\n\tETHTOOL_TX_COPYBREAK_BUF_SIZE = 4,\n\t__ETHTOOL_TUNABLE_COUNT = 5,\n};\n\nenum tunable_type_id {\n\tETHTOOL_TUNABLE_UNSPEC = 0,\n\tETHTOOL_TUNABLE_U8 = 1,\n\tETHTOOL_TUNABLE_U16 = 2,\n\tETHTOOL_TUNABLE_U32 = 3,\n\tETHTOOL_TUNABLE_U64 = 4,\n\tETHTOOL_TUNABLE_STRING = 5,\n\tETHTOOL_TUNABLE_S8 = 6,\n\tETHTOOL_TUNABLE_S16 = 7,\n\tETHTOOL_TUNABLE_S32 = 8,\n\tETHTOOL_TUNABLE_S64 = 9,\n};\n\nenum tunnel_encap_types {\n\tTUNNEL_ENCAP_NONE = 0,\n\tTUNNEL_ENCAP_FOU = 1,\n\tTUNNEL_ENCAP_GUE = 2,\n\tTUNNEL_ENCAP_MPLS = 3,\n};\n\nenum txtime_flags {\n\tSOF_TXTIME_DEADLINE_MODE = 1,\n\tSOF_TXTIME_REPORT_ERRORS = 2,\n\tSOF_TXTIME_FLAGS_LAST = 2,\n\tSOF_TXTIME_FLAGS_MASK = 3,\n};\n\nenum uart_pm_state {\n\tUART_PM_STATE_ON = 0,\n\tUART_PM_STATE_OFF = 3,\n\tUART_PM_STATE_UNDEFINED = 4,\n};\n\nenum uclamp_id {\n\tUCLAMP_MIN = 0,\n\tUCLAMP_MAX = 1,\n\tUCLAMP_CNT = 2,\n};\n\nenum ucount_type {\n\tUCOUNT_USER_NAMESPACES = 0,\n\tUCOUNT_PID_NAMESPACES = 1,\n\tUCOUNT_UTS_NAMESPACES = 2,\n\tUCOUNT_IPC_NAMESPACES = 3,\n\tUCOUNT_NET_NAMESPACES = 4,\n\tUCOUNT_MNT_NAMESPACES = 5,\n\tUCOUNT_CGROUP_NAMESPACES = 6,\n\tUCOUNT_TIME_NAMESPACES = 7,\n\tUCOUNT_INOTIFY_INSTANCES = 8,\n\tUCOUNT_INOTIFY_WATCHES = 9,\n\tUCOUNT_COUNTS = 10,\n};\n\nenum udp_conntrack {\n\tUDP_CT_UNREPLIED = 0,\n\tUDP_CT_REPLIED = 1,\n\tUDP_CT_MAX = 2,\n};\n\nenum udp_parsable_tunnel_type {\n\tUDP_TUNNEL_TYPE_VXLAN = 1,\n\tUDP_TUNNEL_TYPE_GENEVE = 2,\n\tUDP_TUNNEL_TYPE_VXLAN_GPE = 4,\n};\n\nenum udp_tunnel_nic_info_flags {\n\tUDP_TUNNEL_NIC_INFO_MAY_SLEEP = 1,\n\tUDP_TUNNEL_NIC_INFO_OPEN_ONLY = 2,\n\tUDP_TUNNEL_NIC_INFO_IPV4_ONLY = 4,\n\tUDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN = 8,\n};\n\nenum umh_disable_depth {\n\tUMH_ENABLED = 0,\n\tUMH_FREEZING = 1,\n\tUMH_DISABLED = 2,\n};\n\nenum umount_tree_flags {\n\tUMOUNT_SYNC = 1,\n\tUMOUNT_PROPAGATE = 2,\n\tUMOUNT_CONNECTED = 4,\n};\n\nenum unix_vertex_index {\n\tUNIX_VERTEX_INDEX_MARK1 = 0,\n\tUNIX_VERTEX_INDEX_MARK2 = 1,\n\tUNIX_VERTEX_INDEX_START = 2,\n};\n\nenum uprobe_task_state {\n\tUTASK_RUNNING = 0,\n\tUTASK_SSTEP = 1,\n\tUTASK_SSTEP_ACK = 2,\n\tUTASK_SSTEP_TRAPPED = 3,\n};\n\nenum usb3_link_state {\n\tUSB3_LPM_U0 = 0,\n\tUSB3_LPM_U1 = 1,\n\tUSB3_LPM_U2 = 2,\n\tUSB3_LPM_U3 = 3,\n};\n\nenum usb_charger_state {\n\tUSB_CHARGER_DEFAULT = 0,\n\tUSB_CHARGER_PRESENT = 1,\n\tUSB_CHARGER_ABSENT = 2,\n};\n\nenum usb_charger_type {\n\tUNKNOWN_TYPE = 0,\n\tSDP_TYPE = 1,\n\tDCP_TYPE = 2,\n\tCDP_TYPE = 3,\n\tACA_TYPE = 4,\n};\n\nenum usb_dev_authorize_policy {\n\tUSB_DEVICE_AUTHORIZE_NONE = 0,\n\tUSB_DEVICE_AUTHORIZE_ALL = 1,\n\tUSB_DEVICE_AUTHORIZE_INTERNAL = 2,\n};\n\nenum usb_device_speed {\n\tUSB_SPEED_UNKNOWN = 0,\n\tUSB_SPEED_LOW = 1,\n\tUSB_SPEED_FULL = 2,\n\tUSB_SPEED_HIGH = 3,\n\tUSB_SPEED_WIRELESS = 4,\n\tUSB_SPEED_SUPER = 5,\n\tUSB_SPEED_SUPER_PLUS = 6,\n};\n\nenum usb_device_state {\n\tUSB_STATE_NOTATTACHED = 0,\n\tUSB_STATE_ATTACHED = 1,\n\tUSB_STATE_POWERED = 2,\n\tUSB_STATE_RECONNECTING = 3,\n\tUSB_STATE_UNAUTHENTICATED = 4,\n\tUSB_STATE_DEFAULT = 5,\n\tUSB_STATE_ADDRESS = 6,\n\tUSB_STATE_CONFIGURED = 7,\n\tUSB_STATE_SUSPENDED = 8,\n};\n\nenum usb_dr_mode {\n\tUSB_DR_MODE_UNKNOWN = 0,\n\tUSB_DR_MODE_HOST = 1,\n\tUSB_DR_MODE_PERIPHERAL = 2,\n\tUSB_DR_MODE_OTG = 3,\n};\n\nenum usb_interface_condition {\n\tUSB_INTERFACE_UNBOUND = 0,\n\tUSB_INTERFACE_BINDING = 1,\n\tUSB_INTERFACE_BOUND = 2,\n\tUSB_INTERFACE_UNBINDING = 3,\n};\n\nenum usb_led_event {\n\tUSB_LED_EVENT_HOST = 0,\n\tUSB_LED_EVENT_GADGET = 1,\n};\n\nenum usb_link_tunnel_mode {\n\tUSB_LINK_UNKNOWN = 0,\n\tUSB_LINK_NATIVE = 1,\n\tUSB_LINK_TUNNELED = 2,\n};\n\nenum usb_otg_state {\n\tOTG_STATE_UNDEFINED = 0,\n\tOTG_STATE_B_IDLE = 1,\n\tOTG_STATE_B_SRP_INIT = 2,\n\tOTG_STATE_B_PERIPHERAL = 3,\n\tOTG_STATE_B_WAIT_ACON = 4,\n\tOTG_STATE_B_HOST = 5,\n\tOTG_STATE_A_IDLE = 6,\n\tOTG_STATE_A_WAIT_VRISE = 7,\n\tOTG_STATE_A_WAIT_BCON = 8,\n\tOTG_STATE_A_HOST = 9,\n\tOTG_STATE_A_SUSPEND = 10,\n\tOTG_STATE_A_PERIPHERAL = 11,\n\tOTG_STATE_A_WAIT_VFALL = 12,\n\tOTG_STATE_A_VBUS_ERR = 13,\n};\n\nenum usb_phy_events {\n\tUSB_EVENT_NONE = 0,\n\tUSB_EVENT_VBUS = 1,\n\tUSB_EVENT_ID = 2,\n\tUSB_EVENT_CHARGER = 3,\n\tUSB_EVENT_ENUMERATED = 4,\n};\n\nenum usb_phy_interface {\n\tUSBPHY_INTERFACE_MODE_UNKNOWN = 0,\n\tUSBPHY_INTERFACE_MODE_UTMI = 1,\n\tUSBPHY_INTERFACE_MODE_UTMIW = 2,\n\tUSBPHY_INTERFACE_MODE_ULPI = 3,\n\tUSBPHY_INTERFACE_MODE_SERIAL = 4,\n\tUSBPHY_INTERFACE_MODE_HSIC = 5,\n};\n\nenum usb_phy_type {\n\tUSB_PHY_TYPE_UNDEFINED = 0,\n\tUSB_PHY_TYPE_USB2 = 1,\n\tUSB_PHY_TYPE_USB3 = 2,\n};\n\nenum usb_port_connect_type {\n\tUSB_PORT_CONNECT_TYPE_UNKNOWN = 0,\n\tUSB_PORT_CONNECT_TYPE_HOT_PLUG = 1,\n\tUSB_PORT_CONNECT_TYPE_HARD_WIRED = 2,\n\tUSB_PORT_NOT_USED = 3,\n};\n\nenum usb_ssp_rate {\n\tUSB_SSP_GEN_UNKNOWN = 0,\n\tUSB_SSP_GEN_2x1 = 1,\n\tUSB_SSP_GEN_1x2 = 2,\n\tUSB_SSP_GEN_2x2 = 3,\n};\n\nenum usb_wireless_status {\n\tUSB_WIRELESS_STATUS_NA = 0,\n\tUSB_WIRELESS_STATUS_DISCONNECTED = 1,\n\tUSB_WIRELESS_STATUS_CONNECTED = 2,\n};\n\nenum utf16_endian {\n\tUTF16_HOST_ENDIAN = 0,\n\tUTF16_LITTLE_ENDIAN = 1,\n\tUTF16_BIG_ENDIAN = 2,\n};\n\nenum utf8_normalization {\n\tUTF8_NFDI = 0,\n\tUTF8_NFDICF = 1,\n\tUTF8_NMAX = 2,\n};\n\nenum uts_proc {\n\tUTS_PROC_ARCH = 0,\n\tUTS_PROC_OSTYPE = 1,\n\tUTS_PROC_OSRELEASE = 2,\n\tUTS_PROC_VERSION = 3,\n\tUTS_PROC_HOSTNAME = 4,\n\tUTS_PROC_DOMAINNAME = 5,\n};\n\nenum v4l2_av1_segment_feature {\n\tV4L2_AV1_SEG_LVL_ALT_Q = 0,\n\tV4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,\n\tV4L2_AV1_SEG_LVL_REF_FRAME = 5,\n\tV4L2_AV1_SEG_LVL_REF_SKIP = 6,\n\tV4L2_AV1_SEG_LVL_REF_GLOBALMV = 7,\n\tV4L2_AV1_SEG_LVL_MAX = 8,\n};\n\nenum v4l2_ctrl_type {\n\tV4L2_CTRL_TYPE_INTEGER = 1,\n\tV4L2_CTRL_TYPE_BOOLEAN = 2,\n\tV4L2_CTRL_TYPE_MENU = 3,\n\tV4L2_CTRL_TYPE_BUTTON = 4,\n\tV4L2_CTRL_TYPE_INTEGER64 = 5,\n\tV4L2_CTRL_TYPE_CTRL_CLASS = 6,\n\tV4L2_CTRL_TYPE_STRING = 7,\n\tV4L2_CTRL_TYPE_BITMASK = 8,\n\tV4L2_CTRL_TYPE_INTEGER_MENU = 9,\n\tV4L2_CTRL_COMPOUND_TYPES = 256,\n\tV4L2_CTRL_TYPE_U8 = 256,\n\tV4L2_CTRL_TYPE_U16 = 257,\n\tV4L2_CTRL_TYPE_U32 = 258,\n\tV4L2_CTRL_TYPE_AREA = 262,\n\tV4L2_CTRL_TYPE_HDR10_CLL_INFO = 272,\n\tV4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY = 273,\n\tV4L2_CTRL_TYPE_H264_SPS = 512,\n\tV4L2_CTRL_TYPE_H264_PPS = 513,\n\tV4L2_CTRL_TYPE_H264_SCALING_MATRIX = 514,\n\tV4L2_CTRL_TYPE_H264_SLICE_PARAMS = 515,\n\tV4L2_CTRL_TYPE_H264_DECODE_PARAMS = 516,\n\tV4L2_CTRL_TYPE_H264_PRED_WEIGHTS = 517,\n\tV4L2_CTRL_TYPE_FWHT_PARAMS = 544,\n\tV4L2_CTRL_TYPE_VP8_FRAME = 576,\n\tV4L2_CTRL_TYPE_MPEG2_QUANTISATION = 592,\n\tV4L2_CTRL_TYPE_MPEG2_SEQUENCE = 593,\n\tV4L2_CTRL_TYPE_MPEG2_PICTURE = 594,\n\tV4L2_CTRL_TYPE_VP9_COMPRESSED_HDR = 608,\n\tV4L2_CTRL_TYPE_VP9_FRAME = 609,\n\tV4L2_CTRL_TYPE_HEVC_SPS = 624,\n\tV4L2_CTRL_TYPE_HEVC_PPS = 625,\n\tV4L2_CTRL_TYPE_HEVC_SLICE_PARAMS = 626,\n\tV4L2_CTRL_TYPE_HEVC_SCALING_MATRIX = 627,\n\tV4L2_CTRL_TYPE_HEVC_DECODE_PARAMS = 628,\n\tV4L2_CTRL_TYPE_AV1_SEQUENCE = 640,\n\tV4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY = 641,\n\tV4L2_CTRL_TYPE_AV1_FRAME = 642,\n\tV4L2_CTRL_TYPE_AV1_FILM_GRAIN = 643,\n};\n\nenum v4l2_preemphasis {\n\tV4L2_PREEMPHASIS_DISABLED = 0,\n\tV4L2_PREEMPHASIS_50_uS = 1,\n\tV4L2_PREEMPHASIS_75_uS = 2,\n};\n\nenum vas_cop_feat_type {\n\tVAS_GZIP_QOS_FEAT_TYPE = 0,\n\tVAS_GZIP_DEF_FEAT_TYPE = 1,\n\tVAS_MAX_FEAT_TYPE = 2,\n};\n\nenum vas_cop_type {\n\tVAS_COP_TYPE_FAULT = 0,\n\tVAS_COP_TYPE_842 = 1,\n\tVAS_COP_TYPE_842_HIPRI = 2,\n\tVAS_COP_TYPE_GZIP = 3,\n\tVAS_COP_TYPE_GZIP_HIPRI = 4,\n\tVAS_COP_TYPE_FTW = 5,\n\tVAS_COP_TYPE_MAX = 6,\n};\n\nenum vas_dma_type {\n\tVAS_DMA_TYPE_INJECT = 0,\n\tVAS_DMA_TYPE_WRITE = 1,\n};\n\nenum vas_migrate_action {\n\tVAS_SUSPEND = 0,\n\tVAS_RESUME = 1,\n};\n\nenum vas_notify_after_count {\n\tVAS_NOTIFY_AFTER_256 = 0,\n\tVAS_NOTIFY_NONE = 1,\n\tVAS_NOTIFY_AFTER_2 = 2,\n};\n\nenum vas_notify_scope {\n\tVAS_SCOPE_LOCAL = 0,\n\tVAS_SCOPE_GROUP = 1,\n\tVAS_SCOPE_VECTORED_GROUP = 2,\n\tVAS_SCOPE_UNUSED = 3,\n};\n\nenum vasi_aborting_entity {\n\tORCHESTRATOR = 1,\n\tVSP_SOURCE = 2,\n\tPARTITION_FIRMWARE = 3,\n\tPLATFORM_FIRMWARE = 4,\n\tVSP_TARGET = 5,\n\tMIGRATING_PARTITION = 6,\n};\n\nenum vc_ctl_state {\n\tESnormal = 0,\n\tESesc = 1,\n\tESsquare = 2,\n\tESgetpars = 3,\n\tESfunckey = 4,\n\tEShash = 5,\n\tESsetG0 = 6,\n\tESsetG1 = 7,\n\tESpercent = 8,\n\tEScsiignore = 9,\n\tESnonstd = 10,\n\tESpalette = 11,\n\tESosc = 12,\n\tESANSI_first = 12,\n\tESapc = 13,\n\tESpm = 14,\n\tESdcs = 15,\n\tESANSI_last = 15,\n};\n\nenum vc_intensity {\n\tVCI_HALF_BRIGHT = 0,\n\tVCI_NORMAL = 1,\n\tVCI_BOLD = 2,\n\tVCI_MASK = 3,\n};\n\nenum vdso_clock_mode {\n\tVDSO_CLOCKMODE_NONE = 0,\n\tVDSO_CLOCKMODE_ARCHTIMER = 1,\n\tVDSO_CLOCKMODE_MAX = 2,\n\tVDSO_CLOCKMODE_TIMENS = 2147483647,\n};\n\nenum verifier_phase {\n\tCHECK_META = 0,\n\tCHECK_TYPE = 1,\n};\n\nenum vesa_blank_mode {\n\tVESA_NO_BLANKING = 0,\n\tVESA_VSYNC_SUSPEND = 1,\n\tVESA_HSYNC_SUSPEND = 2,\n\tVESA_POWERDOWN = 3,\n\tVESA_BLANK_MAX = 3,\n};\n\nenum vhost_task_flags {\n\tVHOST_TASK_FLAGS_STOP = 0,\n\tVHOST_TASK_FLAGS_KILLED = 1,\n};\n\nenum vio_dev_family {\n\tVDEVICE = 0,\n\tPFO = 1,\n};\n\nenum viosrp_capability_flag {\n\tCLIENT_MIGRATED = 1,\n\tCLIENT_RECONNECT = 2,\n\tCAP_LIST_SUPPORTED = 4,\n\tCAP_LIST_DATA = 8,\n};\n\nenum viosrp_capability_support {\n\tSERVER_DOES_NOT_SUPPORTS_CAP = 0,\n\tSERVER_SUPPORTS_CAP = 1,\n\tSERVER_CAP_DATA = 2,\n};\n\nenum viosrp_capability_type {\n\tMIGRATION_CAPABILITIES = 1,\n\tRESERVATION_CAPABILITIES = 2,\n};\n\nenum viosrp_crq_formats {\n\tVIOSRP_SRP_FORMAT = 1,\n\tVIOSRP_MAD_FORMAT = 2,\n\tVIOSRP_OS400_FORMAT = 3,\n\tVIOSRP_AIX_FORMAT = 4,\n\tVIOSRP_LINUX_FORMAT = 5,\n\tVIOSRP_INLINE_FORMAT = 6,\n};\n\nenum viosrp_crq_headers {\n\tVIOSRP_CRQ_FREE = 0,\n\tVIOSRP_CRQ_CMD_RSP = 128,\n\tVIOSRP_CRQ_INIT_RSP = 192,\n\tVIOSRP_CRQ_XPORT_EVENT = 255,\n};\n\nenum viosrp_crq_init_formats {\n\tVIOSRP_CRQ_INIT = 1,\n\tVIOSRP_CRQ_INIT_COMPLETE = 2,\n};\n\nenum viosrp_crq_status {\n\tVIOSRP_OK = 0,\n\tVIOSRP_NONRECOVERABLE_ERR = 1,\n\tVIOSRP_VIOLATES_MAX_XFER = 2,\n\tVIOSRP_PARTNER_PANIC = 3,\n\tVIOSRP_DEVICE_BUSY = 8,\n\tVIOSRP_ADAPTER_FAIL = 16,\n\tVIOSRP_OK2 = 153,\n};\n\nenum viosrp_mad_status {\n\tVIOSRP_MAD_SUCCESS = 0,\n\tVIOSRP_MAD_NOT_SUPPORTED = 241,\n\tVIOSRP_MAD_FAILED = 247,\n};\n\nenum viosrp_mad_types {\n\tVIOSRP_EMPTY_IU_TYPE = 1,\n\tVIOSRP_ERROR_LOG_TYPE = 2,\n\tVIOSRP_ADAPTER_INFO_TYPE = 3,\n\tVIOSRP_CAPABILITIES_TYPE = 5,\n\tVIOSRP_ENABLE_FAST_FAIL = 8,\n};\n\nenum viosrp_reserve_type {\n\tCLIENT_RESERVE_SCSI_2 = 1,\n};\n\nenum visit_state {\n\tNOT_VISITED = 0,\n\tVISITED = 1,\n\tRESOLVED = 2,\n};\n\nenum vlan_flags {\n\tVLAN_FLAG_REORDER_HDR = 1,\n\tVLAN_FLAG_GVRP = 2,\n\tVLAN_FLAG_LOOSE_BINDING = 4,\n\tVLAN_FLAG_MVRP = 8,\n\tVLAN_FLAG_BRIDGE_BINDING = 16,\n};\n\nenum vlan_protos {\n\tVLAN_PROTO_8021Q = 0,\n\tVLAN_PROTO_8021AD = 1,\n\tVLAN_PROTO_NUM = 2,\n};\n\nenum vm_event_item {\n\tPGPGIN = 0,\n\tPGPGOUT = 1,\n\tPSWPIN = 2,\n\tPSWPOUT = 3,\n\tPGALLOC_NORMAL = 4,\n\tPGALLOC_MOVABLE = 5,\n\tPGALLOC_DEVICE = 6,\n\tALLOCSTALL_NORMAL = 7,\n\tALLOCSTALL_MOVABLE = 8,\n\tALLOCSTALL_DEVICE = 9,\n\tPGSCAN_SKIP_NORMAL = 10,\n\tPGSCAN_SKIP_MOVABLE = 11,\n\tPGSCAN_SKIP_DEVICE = 12,\n\tPGFREE = 13,\n\tPGACTIVATE = 14,\n\tPGDEACTIVATE = 15,\n\tPGLAZYFREE = 16,\n\tPGFAULT = 17,\n\tPGMAJFAULT = 18,\n\tPGLAZYFREED = 19,\n\tPGREFILL = 20,\n\tPGREUSE = 21,\n\tPGSTEAL_KSWAPD = 22,\n\tPGSTEAL_DIRECT = 23,\n\tPGSTEAL_KHUGEPAGED = 24,\n\tPGSCAN_KSWAPD = 25,\n\tPGSCAN_DIRECT = 26,\n\tPGSCAN_KHUGEPAGED = 27,\n\tPGSCAN_DIRECT_THROTTLE = 28,\n\tPGSCAN_ANON = 29,\n\tPGSCAN_FILE = 30,\n\tPGSTEAL_ANON = 31,\n\tPGSTEAL_FILE = 32,\n\tPGSCAN_ZONE_RECLAIM_SUCCESS = 33,\n\tPGSCAN_ZONE_RECLAIM_FAILED = 34,\n\tPGINODESTEAL = 35,\n\tSLABS_SCANNED = 36,\n\tKSWAPD_INODESTEAL = 37,\n\tKSWAPD_LOW_WMARK_HIT_QUICKLY = 38,\n\tKSWAPD_HIGH_WMARK_HIT_QUICKLY = 39,\n\tPAGEOUTRUN = 40,\n\tPGROTATED = 41,\n\tDROP_PAGECACHE = 42,\n\tDROP_SLAB = 43,\n\tOOM_KILL = 44,\n\tNUMA_PTE_UPDATES = 45,\n\tNUMA_HUGE_PTE_UPDATES = 46,\n\tNUMA_HINT_FAULTS = 47,\n\tNUMA_HINT_FAULTS_LOCAL = 48,\n\tNUMA_PAGE_MIGRATE = 49,\n\tPGMIGRATE_SUCCESS = 50,\n\tPGMIGRATE_FAIL = 51,\n\tTHP_MIGRATION_SUCCESS = 52,\n\tTHP_MIGRATION_FAIL = 53,\n\tTHP_MIGRATION_SPLIT = 54,\n\tCOMPACTMIGRATE_SCANNED = 55,\n\tCOMPACTFREE_SCANNED = 56,\n\tCOMPACTISOLATED = 57,\n\tCOMPACTSTALL = 58,\n\tCOMPACTFAIL = 59,\n\tCOMPACTSUCCESS = 60,\n\tKCOMPACTD_WAKE = 61,\n\tKCOMPACTD_MIGRATE_SCANNED = 62,\n\tKCOMPACTD_FREE_SCANNED = 63,\n\tHTLB_BUDDY_PGALLOC = 64,\n\tHTLB_BUDDY_PGALLOC_FAIL = 65,\n\tCMA_ALLOC_SUCCESS = 66,\n\tCMA_ALLOC_FAIL = 67,\n\tUNEVICTABLE_PGCULLED = 68,\n\tUNEVICTABLE_PGSCANNED = 69,\n\tUNEVICTABLE_PGRESCUED = 70,\n\tUNEVICTABLE_PGMLOCKED = 71,\n\tUNEVICTABLE_PGMUNLOCKED = 72,\n\tUNEVICTABLE_PGCLEARED = 73,\n\tUNEVICTABLE_PGSTRANDED = 74,\n\tTHP_FAULT_ALLOC = 75,\n\tTHP_FAULT_FALLBACK = 76,\n\tTHP_FAULT_FALLBACK_CHARGE = 77,\n\tTHP_COLLAPSE_ALLOC = 78,\n\tTHP_COLLAPSE_ALLOC_FAILED = 79,\n\tTHP_FILE_ALLOC = 80,\n\tTHP_FILE_FALLBACK = 81,\n\tTHP_FILE_FALLBACK_CHARGE = 82,\n\tTHP_FILE_MAPPED = 83,\n\tTHP_SPLIT_PAGE = 84,\n\tTHP_SPLIT_PAGE_FAILED = 85,\n\tTHP_DEFERRED_SPLIT_PAGE = 86,\n\tTHP_UNDERUSED_SPLIT_PAGE = 87,\n\tTHP_SPLIT_PMD = 88,\n\tTHP_SCAN_EXCEED_NONE_PTE = 89,\n\tTHP_SCAN_EXCEED_SWAP_PTE = 90,\n\tTHP_SCAN_EXCEED_SHARED_PTE = 91,\n\tTHP_SPLIT_PUD = 92,\n\tTHP_ZERO_PAGE_ALLOC = 93,\n\tTHP_ZERO_PAGE_ALLOC_FAILED = 94,\n\tTHP_SWPOUT = 95,\n\tTHP_SWPOUT_FALLBACK = 96,\n\tBALLOON_INFLATE = 97,\n\tBALLOON_DEFLATE = 98,\n\tBALLOON_MIGRATE = 99,\n\tSWAP_RA = 100,\n\tSWAP_RA_HIT = 101,\n\tSWPIN_ZERO = 102,\n\tSWPOUT_ZERO = 103,\n\tKSM_SWPIN_COPY = 104,\n\tCOW_KSM = 105,\n\tZSWPIN = 106,\n\tZSWPOUT = 107,\n\tZSWPWB = 108,\n\tKSTACK_1K = 109,\n\tKSTACK_2K = 110,\n\tKSTACK_4K = 111,\n\tKSTACK_8K = 112,\n\tKSTACK_16K = 113,\n\tKSTACK_32K = 114,\n\tNR_VM_EVENT_ITEMS = 115,\n};\n\nenum vm_fault_reason {\n\tVM_FAULT_OOM = 1,\n\tVM_FAULT_SIGBUS = 2,\n\tVM_FAULT_MAJOR = 4,\n\tVM_FAULT_HWPOISON = 16,\n\tVM_FAULT_HWPOISON_LARGE = 32,\n\tVM_FAULT_SIGSEGV = 64,\n\tVM_FAULT_NOPAGE = 256,\n\tVM_FAULT_LOCKED = 512,\n\tVM_FAULT_RETRY = 1024,\n\tVM_FAULT_FALLBACK = 2048,\n\tVM_FAULT_DONE_COW = 4096,\n\tVM_FAULT_NEEDDSYNC = 8192,\n\tVM_FAULT_COMPLETED = 16384,\n\tVM_FAULT_HINDEX_MASK = 983040,\n};\n\nenum vm_stat_item {\n\tNR_DIRTY_THRESHOLD = 0,\n\tNR_DIRTY_BG_THRESHOLD = 1,\n\tNR_MEMMAP_PAGES = 2,\n\tNR_MEMMAP_BOOT_PAGES = 3,\n\tNR_VM_STAT_ITEMS = 4,\n};\n\nenum vma_merge_flags {\n\tVMG_FLAG_DEFAULT = 0,\n\tVMG_FLAG_JUST_EXPAND = 1,\n};\n\nenum vma_merge_state {\n\tVMA_MERGE_START = 0,\n\tVMA_MERGE_ERROR_NOMEM = 1,\n\tVMA_MERGE_NOMERGE = 2,\n\tVMA_MERGE_SUCCESS = 3,\n};\n\nenum vma_resv_mode {\n\tVMA_NEEDS_RESV = 0,\n\tVMA_COMMIT_RESV = 1,\n\tVMA_END_RESV = 2,\n\tVMA_ADD_RESV = 3,\n\tVMA_DEL_RESV = 4,\n};\n\nenum vmpressure_levels {\n\tVMPRESSURE_LOW = 0,\n\tVMPRESSURE_MEDIUM = 1,\n\tVMPRESSURE_CRITICAL = 2,\n\tVMPRESSURE_NUM_LEVELS = 3,\n};\n\nenum vmpressure_modes {\n\tVMPRESSURE_NO_PASSTHROUGH = 0,\n\tVMPRESSURE_HIERARCHY = 1,\n\tVMPRESSURE_LOCAL = 2,\n\tVMPRESSURE_NUM_MODES = 3,\n};\n\nenum vmscan_throttle_state {\n\tVMSCAN_THROTTLE_WRITEBACK = 0,\n\tVMSCAN_THROTTLE_ISOLATED = 1,\n\tVMSCAN_THROTTLE_NOPROGRESS = 2,\n\tVMSCAN_THROTTLE_CONGESTED = 3,\n\tNR_VMSCAN_THROTTLE = 4,\n};\n\nenum vtime_state {\n\tVTIME_INACTIVE = 0,\n\tVTIME_IDLE = 1,\n\tVTIME_SYS = 2,\n\tVTIME_USER = 3,\n\tVTIME_GUEST = 4,\n};\n\nenum vvar_pages {\n\tVVAR_BASE_PAGE_OFFSET = 0,\n\tVVAR_TIME_PAGE_OFFSET = 1,\n\tVVAR_TIMENS_PAGE_OFFSET = 2,\n\tVVAR_NR_PAGES = 3,\n};\n\nenum wb_reason {\n\tWB_REASON_BACKGROUND = 0,\n\tWB_REASON_VMSCAN = 1,\n\tWB_REASON_SYNC = 2,\n\tWB_REASON_PERIODIC = 3,\n\tWB_REASON_LAPTOP_TIMER = 4,\n\tWB_REASON_FS_FREE_SPACE = 5,\n\tWB_REASON_FORKER_THREAD = 6,\n\tWB_REASON_FOREIGN_FLUSH = 7,\n\tWB_REASON_MAX = 8,\n};\n\nenum wb_stat_item {\n\tWB_RECLAIMABLE = 0,\n\tWB_WRITEBACK = 1,\n\tWB_DIRTIED = 2,\n\tWB_WRITTEN = 3,\n\tNR_WB_STAT_ITEMS = 4,\n};\n\nenum wb_state {\n\tWB_registered = 0,\n\tWB_writeback_running = 1,\n\tWB_has_dirty_io = 2,\n\tWB_start_all = 3,\n};\n\nenum why_no_delegation4 {\n\tWND4_NOT_WANTED = 0,\n\tWND4_CONTENTION = 1,\n\tWND4_RESOURCE = 2,\n\tWND4_NOT_SUPP_FTYPE = 3,\n\tWND4_WRITE_DELEG_NOT_SUPP_FTYPE = 4,\n\tWND4_NOT_SUPP_UPGRADE = 5,\n\tWND4_NOT_SUPP_DOWNGRADE = 6,\n\tWND4_CANCELLED = 7,\n\tWND4_IS_DIR = 8,\n};\n\nenum work_bits {\n\tWORK_STRUCT_PENDING_BIT = 0,\n\tWORK_STRUCT_INACTIVE_BIT = 1,\n\tWORK_STRUCT_PWQ_BIT = 2,\n\tWORK_STRUCT_LINKED_BIT = 3,\n\tWORK_STRUCT_FLAG_BITS = 4,\n\tWORK_STRUCT_COLOR_SHIFT = 4,\n\tWORK_STRUCT_COLOR_BITS = 4,\n\tWORK_STRUCT_PWQ_SHIFT = 8,\n\tWORK_OFFQ_FLAG_SHIFT = 4,\n\tWORK_OFFQ_BH_BIT = 4,\n\tWORK_OFFQ_FLAG_END = 5,\n\tWORK_OFFQ_FLAG_BITS = 1,\n\tWORK_OFFQ_DISABLE_SHIFT = 5,\n\tWORK_OFFQ_DISABLE_BITS = 16,\n\tWORK_OFFQ_POOL_SHIFT = 21,\n\tWORK_OFFQ_LEFT = 43,\n\tWORK_OFFQ_POOL_BITS = 31,\n};\n\nenum work_cancel_flags {\n\tWORK_CANCEL_DELAYED = 1,\n\tWORK_CANCEL_DISABLE = 2,\n};\n\nenum work_flags {\n\tWORK_STRUCT_PENDING = 1,\n\tWORK_STRUCT_INACTIVE = 2,\n\tWORK_STRUCT_PWQ = 4,\n\tWORK_STRUCT_LINKED = 8,\n\tWORK_STRUCT_STATIC = 0,\n};\n\nenum worker_flags {\n\tWORKER_DIE = 2,\n\tWORKER_IDLE = 4,\n\tWORKER_PREP = 8,\n\tWORKER_CPU_INTENSIVE = 64,\n\tWORKER_UNBOUND = 128,\n\tWORKER_REBOUND = 256,\n\tWORKER_NOT_RUNNING = 456,\n};\n\nenum worker_pool_flags {\n\tPOOL_BH = 1,\n\tPOOL_MANAGER_ACTIVE = 2,\n\tPOOL_DISASSOCIATED = 4,\n\tPOOL_BH_DRAINING = 8,\n};\n\nenum wq_affn_scope {\n\tWQ_AFFN_DFL = 0,\n\tWQ_AFFN_CPU = 1,\n\tWQ_AFFN_SMT = 2,\n\tWQ_AFFN_CACHE = 3,\n\tWQ_AFFN_NUMA = 4,\n\tWQ_AFFN_SYSTEM = 5,\n\tWQ_AFFN_NR_TYPES = 6,\n};\n\nenum wq_consts {\n\tWQ_MAX_ACTIVE = 2048,\n\tWQ_UNBOUND_MAX_ACTIVE = 2048,\n\tWQ_DFL_ACTIVE = 1024,\n\tWQ_DFL_MIN_ACTIVE = 8,\n};\n\nenum wq_flags {\n\tWQ_BH = 1,\n\tWQ_UNBOUND = 2,\n\tWQ_FREEZABLE = 4,\n\tWQ_MEM_RECLAIM = 8,\n\tWQ_HIGHPRI = 16,\n\tWQ_CPU_INTENSIVE = 32,\n\tWQ_SYSFS = 64,\n\tWQ_POWER_EFFICIENT = 128,\n\t__WQ_DESTROYING = 32768,\n\t__WQ_DRAINING = 65536,\n\t__WQ_ORDERED = 131072,\n\t__WQ_LEGACY = 262144,\n\t__WQ_BH_ALLOWS = 17,\n};\n\nenum wq_internal_consts {\n\tNR_STD_WORKER_POOLS = 2,\n\tUNBOUND_POOL_HASH_ORDER = 6,\n\tBUSY_WORKER_HASH_ORDER = 6,\n\tMAX_IDLE_WORKERS_RATIO = 4,\n\tIDLE_WORKER_TIMEOUT = 30000,\n\tMAYDAY_INITIAL_TIMEOUT = 2,\n\tMAYDAY_INTERVAL = 10,\n\tCREATE_COOLDOWN = 100,\n\tRESCUER_NICE_LEVEL = -20,\n\tHIGHPRI_NICE_LEVEL = -20,\n\tWQ_NAME_LEN = 32,\n\tWORKER_ID_LEN = 42,\n};\n\nenum wq_misc_consts {\n\tWORK_NR_COLORS = 16,\n\tWORK_CPU_UNBOUND = 2048,\n\tWORK_BUSY_PENDING = 1,\n\tWORK_BUSY_RUNNING = 2,\n\tWORKER_DESC_LEN = 32,\n};\n\nenum writeback_sync_modes {\n\tWB_SYNC_NONE = 0,\n\tWB_SYNC_ALL = 1,\n};\n\nenum x509_actions {\n\tACT_x509_extract_key_data = 0,\n\tACT_x509_extract_name_segment = 1,\n\tACT_x509_note_OID = 2,\n\tACT_x509_note_issuer = 3,\n\tACT_x509_note_not_after = 4,\n\tACT_x509_note_not_before = 5,\n\tACT_x509_note_params = 6,\n\tACT_x509_note_serial = 7,\n\tACT_x509_note_sig_algo = 8,\n\tACT_x509_note_signature = 9,\n\tACT_x509_note_subject = 10,\n\tACT_x509_note_tbs_certificate = 11,\n\tACT_x509_process_extension = 12,\n\tNR__x509_actions = 13,\n};\n\nenum x509_akid_actions {\n\tACT_x509_akid_note_kid = 0,\n\tACT_x509_akid_note_name = 1,\n\tACT_x509_akid_note_serial = 2,\n\tACT_x509_extract_name_segment___2 = 3,\n\tACT_x509_note_OID___2 = 4,\n\tNR__x509_akid_actions = 5,\n};\n\nenum xa_lock_type {\n\tXA_LOCK_IRQ = 1,\n\tXA_LOCK_BH = 2,\n};\n\nenum xbtree_key_contig {\n\tXBTREE_KEY_GAP = 0,\n\tXBTREE_KEY_CONTIGUOUS = 1,\n\tXBTREE_KEY_OVERLAP = 2,\n};\n\nenum xbtree_recpacking {\n\tXBTREE_RECPACKING_EMPTY = 0,\n\tXBTREE_RECPACKING_SPARSE = 1,\n\tXBTREE_RECPACKING_FULL = 2,\n};\n\nenum xdp_action {\n\tXDP_ABORTED = 0,\n\tXDP_DROP = 1,\n\tXDP_PASS = 2,\n\tXDP_TX = 3,\n\tXDP_REDIRECT = 4,\n};\n\nenum xdp_buff_flags {\n\tXDP_FLAGS_HAS_FRAGS = 1,\n\tXDP_FLAGS_FRAGS_PF_MEMALLOC = 2,\n};\n\nenum xdp_mem_type {\n\tMEM_TYPE_PAGE_SHARED = 0,\n\tMEM_TYPE_PAGE_ORDER0 = 1,\n\tMEM_TYPE_PAGE_POOL = 2,\n\tMEM_TYPE_XSK_BUFF_POOL = 3,\n\tMEM_TYPE_MAX = 4,\n};\n\nenum xdp_rss_hash_type {\n\tXDP_RSS_L3_IPV4 = 1,\n\tXDP_RSS_L3_IPV6 = 2,\n\tXDP_RSS_L3_DYNHDR = 4,\n\tXDP_RSS_L4 = 8,\n\tXDP_RSS_L4_TCP = 16,\n\tXDP_RSS_L4_UDP = 32,\n\tXDP_RSS_L4_SCTP = 64,\n\tXDP_RSS_L4_IPSEC = 128,\n\tXDP_RSS_L4_ICMP = 256,\n\tXDP_RSS_TYPE_NONE = 0,\n\tXDP_RSS_TYPE_L2 = 0,\n\tXDP_RSS_TYPE_L3_IPV4 = 1,\n\tXDP_RSS_TYPE_L3_IPV6 = 2,\n\tXDP_RSS_TYPE_L3_IPV4_OPT = 5,\n\tXDP_RSS_TYPE_L3_IPV6_EX = 6,\n\tXDP_RSS_TYPE_L4_ANY = 8,\n\tXDP_RSS_TYPE_L4_IPV4_TCP = 25,\n\tXDP_RSS_TYPE_L4_IPV4_UDP = 41,\n\tXDP_RSS_TYPE_L4_IPV4_SCTP = 73,\n\tXDP_RSS_TYPE_L4_IPV4_IPSEC = 137,\n\tXDP_RSS_TYPE_L4_IPV4_ICMP = 265,\n\tXDP_RSS_TYPE_L4_IPV6_TCP = 26,\n\tXDP_RSS_TYPE_L4_IPV6_UDP = 42,\n\tXDP_RSS_TYPE_L4_IPV6_SCTP = 74,\n\tXDP_RSS_TYPE_L4_IPV6_IPSEC = 138,\n\tXDP_RSS_TYPE_L4_IPV6_ICMP = 266,\n\tXDP_RSS_TYPE_L4_IPV6_TCP_EX = 30,\n\tXDP_RSS_TYPE_L4_IPV6_UDP_EX = 46,\n\tXDP_RSS_TYPE_L4_IPV6_SCTP_EX = 78,\n};\n\nenum xdp_rx_metadata {\n\tXDP_METADATA_KFUNC_RX_TIMESTAMP = 0,\n\tXDP_METADATA_KFUNC_RX_HASH = 1,\n\tXDP_METADATA_KFUNC_RX_VLAN_TAG = 2,\n\tMAX_XDP_METADATA_KFUNC = 3,\n};\n\nenum xen_domain_type {\n\tXEN_NATIVE = 0,\n\tXEN_PV_DOMAIN = 1,\n\tXEN_HVM_DOMAIN = 2,\n};\n\nenum xfrm_ae_ftype_t {\n\tXFRM_AE_UNSPEC = 0,\n\tXFRM_AE_RTHR = 1,\n\tXFRM_AE_RVAL = 2,\n\tXFRM_AE_LVAL = 4,\n\tXFRM_AE_ETHR = 8,\n\tXFRM_AE_CR = 16,\n\tXFRM_AE_CE = 32,\n\tXFRM_AE_CU = 64,\n\t__XFRM_AE_MAX = 65,\n};\n\nenum xfrm_attr_type_t {\n\tXFRMA_UNSPEC = 0,\n\tXFRMA_ALG_AUTH = 1,\n\tXFRMA_ALG_CRYPT = 2,\n\tXFRMA_ALG_COMP = 3,\n\tXFRMA_ENCAP = 4,\n\tXFRMA_TMPL = 5,\n\tXFRMA_SA = 6,\n\tXFRMA_POLICY = 7,\n\tXFRMA_SEC_CTX = 8,\n\tXFRMA_LTIME_VAL = 9,\n\tXFRMA_REPLAY_VAL = 10,\n\tXFRMA_REPLAY_THRESH = 11,\n\tXFRMA_ETIMER_THRESH = 12,\n\tXFRMA_SRCADDR = 13,\n\tXFRMA_COADDR = 14,\n\tXFRMA_LASTUSED = 15,\n\tXFRMA_POLICY_TYPE = 16,\n\tXFRMA_MIGRATE = 17,\n\tXFRMA_ALG_AEAD = 18,\n\tXFRMA_KMADDRESS = 19,\n\tXFRMA_ALG_AUTH_TRUNC = 20,\n\tXFRMA_MARK = 21,\n\tXFRMA_TFCPAD = 22,\n\tXFRMA_REPLAY_ESN_VAL = 23,\n\tXFRMA_SA_EXTRA_FLAGS = 24,\n\tXFRMA_PROTO = 25,\n\tXFRMA_ADDRESS_FILTER = 26,\n\tXFRMA_PAD = 27,\n\tXFRMA_OFFLOAD_DEV = 28,\n\tXFRMA_SET_MARK = 29,\n\tXFRMA_SET_MARK_MASK = 30,\n\tXFRMA_IF_ID = 31,\n\tXFRMA_MTIMER_THRESH = 32,\n\tXFRMA_SA_DIR = 33,\n\tXFRMA_NAT_KEEPALIVE_INTERVAL = 34,\n\tXFRMA_SA_PCPU = 35,\n\tXFRMA_IPTFS_DROP_TIME = 36,\n\tXFRMA_IPTFS_REORDER_WINDOW = 37,\n\tXFRMA_IPTFS_DONT_FRAG = 38,\n\tXFRMA_IPTFS_INIT_DELAY = 39,\n\tXFRMA_IPTFS_MAX_QSIZE = 40,\n\tXFRMA_IPTFS_PKT_SIZE = 41,\n\t__XFRMA_MAX = 42,\n};\n\nenum xfrm_nlgroups {\n\tXFRMNLGRP_NONE = 0,\n\tXFRMNLGRP_ACQUIRE = 1,\n\tXFRMNLGRP_EXPIRE = 2,\n\tXFRMNLGRP_SA = 3,\n\tXFRMNLGRP_POLICY = 4,\n\tXFRMNLGRP_AEVENTS = 5,\n\tXFRMNLGRP_REPORT = 6,\n\tXFRMNLGRP_MIGRATE = 7,\n\tXFRMNLGRP_MAPPING = 8,\n\t__XFRMNLGRP_MAX = 9,\n};\n\nenum xfrm_pol_inexact_candidate_type {\n\tXFRM_POL_CAND_BOTH = 0,\n\tXFRM_POL_CAND_SADDR = 1,\n\tXFRM_POL_CAND_DADDR = 2,\n\tXFRM_POL_CAND_ANY = 3,\n\tXFRM_POL_CAND_MAX = 4,\n};\n\nenum xfrm_replay_mode {\n\tXFRM_REPLAY_MODE_LEGACY = 0,\n\tXFRM_REPLAY_MODE_BMP = 1,\n\tXFRM_REPLAY_MODE_ESN = 2,\n};\n\nenum xfrm_sa_dir {\n\tXFRM_SA_DIR_IN = 1,\n\tXFRM_SA_DIR_OUT = 2,\n};\n\nenum xfs_ag_resv_type {\n\tXFS_AG_RESV_NONE = 0,\n\tXFS_AG_RESV_AGFL = 1,\n\tXFS_AG_RESV_METADATA = 2,\n\tXFS_AG_RESV_RMAPBT = 3,\n\tXFS_AG_RESV_IGNORE = 4,\n\tXFS_AG_RESV_METAFILE = 5,\n};\n\nenum xfs_attr_defer_op {\n\tXFS_ATTR_DEFER_SET = 0,\n\tXFS_ATTR_DEFER_REMOVE = 1,\n\tXFS_ATTR_DEFER_REPLACE = 2,\n};\n\nenum xfs_attr_update {\n\tXFS_ATTRUPDATE_REMOVE = 0,\n\tXFS_ATTRUPDATE_UPSERT = 1,\n\tXFS_ATTRUPDATE_CREATE = 2,\n\tXFS_ATTRUPDATE_REPLACE = 3,\n};\n\nenum xfs_blft {\n\tXFS_BLFT_UNKNOWN_BUF = 0,\n\tXFS_BLFT_UDQUOT_BUF = 1,\n\tXFS_BLFT_PDQUOT_BUF = 2,\n\tXFS_BLFT_GDQUOT_BUF = 3,\n\tXFS_BLFT_BTREE_BUF = 4,\n\tXFS_BLFT_AGF_BUF = 5,\n\tXFS_BLFT_AGFL_BUF = 6,\n\tXFS_BLFT_AGI_BUF = 7,\n\tXFS_BLFT_DINO_BUF = 8,\n\tXFS_BLFT_SYMLINK_BUF = 9,\n\tXFS_BLFT_DIR_BLOCK_BUF = 10,\n\tXFS_BLFT_DIR_DATA_BUF = 11,\n\tXFS_BLFT_DIR_FREE_BUF = 12,\n\tXFS_BLFT_DIR_LEAF1_BUF = 13,\n\tXFS_BLFT_DIR_LEAFN_BUF = 14,\n\tXFS_BLFT_DA_NODE_BUF = 15,\n\tXFS_BLFT_ATTR_LEAF_BUF = 16,\n\tXFS_BLFT_ATTR_RMT_BUF = 17,\n\tXFS_BLFT_SB_BUF = 18,\n\tXFS_BLFT_RTBITMAP_BUF = 19,\n\tXFS_BLFT_RTSUMMARY_BUF = 20,\n\tXFS_BLFT_MAX_BUF = 32,\n};\n\nenum xfs_bmap_intent_type {\n\tXFS_BMAP_MAP = 1,\n\tXFS_BMAP_UNMAP = 2,\n};\n\nenum xfs_btree_type {\n\tXFS_BTREE_TYPE_AG = 0,\n\tXFS_BTREE_TYPE_INODE = 1,\n\tXFS_BTREE_TYPE_MEM = 2,\n};\n\nenum xfs_dacmp {\n\tXFS_CMP_DIFFERENT = 0,\n\tXFS_CMP_EXACT = 1,\n\tXFS_CMP_CASE = 2,\n};\n\nenum xfs_dax_mode {\n\tXFS_DAX_INODE = 0,\n\tXFS_DAX_ALWAYS = 1,\n\tXFS_DAX_NEVER = 2,\n};\n\nenum xfs_delattr_state {\n\tXFS_DAS_UNINIT = 0,\n\tXFS_DAS_SF_ADD = 1,\n\tXFS_DAS_SF_REMOVE = 2,\n\tXFS_DAS_LEAF_ADD = 3,\n\tXFS_DAS_LEAF_REMOVE = 4,\n\tXFS_DAS_NODE_ADD = 5,\n\tXFS_DAS_NODE_REMOVE = 6,\n\tXFS_DAS_LEAF_SET_RMT = 7,\n\tXFS_DAS_LEAF_ALLOC_RMT = 8,\n\tXFS_DAS_LEAF_REPLACE = 9,\n\tXFS_DAS_LEAF_REMOVE_OLD = 10,\n\tXFS_DAS_LEAF_REMOVE_RMT = 11,\n\tXFS_DAS_LEAF_REMOVE_ATTR = 12,\n\tXFS_DAS_NODE_SET_RMT = 13,\n\tXFS_DAS_NODE_ALLOC_RMT = 14,\n\tXFS_DAS_NODE_REPLACE = 15,\n\tXFS_DAS_NODE_REMOVE_OLD = 16,\n\tXFS_DAS_NODE_REMOVE_RMT = 17,\n\tXFS_DAS_NODE_REMOVE_ATTR = 18,\n\tXFS_DAS_DONE = 19,\n};\n\nenum xfs_dinode_fmt {\n\tXFS_DINODE_FMT_DEV = 0,\n\tXFS_DINODE_FMT_LOCAL = 1,\n\tXFS_DINODE_FMT_EXTENTS = 2,\n\tXFS_DINODE_FMT_BTREE = 3,\n\tXFS_DINODE_FMT_UUID = 4,\n\tXFS_DINODE_FMT_META_BTREE = 5,\n};\n\nenum xfs_dir2_fmt {\n\tXFS_DIR2_FMT_SF = 0,\n\tXFS_DIR2_FMT_BLOCK = 1,\n\tXFS_DIR2_FMT_LEAF = 2,\n\tXFS_DIR2_FMT_NODE = 3,\n\tXFS_DIR2_FMT_ERROR = 4,\n};\n\nenum xfs_experimental_feat {\n\tXFS_EXPERIMENTAL_PNFS = 0,\n\tXFS_EXPERIMENTAL_SCRUB = 1,\n\tXFS_EXPERIMENTAL_SHRINK = 2,\n\tXFS_EXPERIMENTAL_LARP = 3,\n\tXFS_EXPERIMENTAL_LBS = 4,\n\tXFS_EXPERIMENTAL_EXCHRANGE = 5,\n\tXFS_EXPERIMENTAL_PPTR = 6,\n\tXFS_EXPERIMENTAL_METADIR = 7,\n\tXFS_EXPERIMENTAL_MAX = 8,\n};\n\nenum xfs_fstrm_alloc {\n\tXFS_PICK_USERDATA = 1,\n\tXFS_PICK_LOWSPACE = 2,\n};\n\nenum xfs_group_type {\n\tXG_TYPE_AG = 0,\n\tXG_TYPE_RTG = 1,\n\tXG_TYPE_MAX = 2,\n} __attribute__((mode(byte)));\n\nenum xfs_icwalk_goal {\n\tXFS_ICWALK_BLOCKGC = 1,\n\tXFS_ICWALK_RECLAIM = 0,\n};\n\nenum xfs_metafile_type {\n\tXFS_METAFILE_UNKNOWN = 0,\n\tXFS_METAFILE_DIR = 1,\n\tXFS_METAFILE_USRQUOTA = 2,\n\tXFS_METAFILE_GRPQUOTA = 3,\n\tXFS_METAFILE_PRJQUOTA = 4,\n\tXFS_METAFILE_RTBITMAP = 5,\n\tXFS_METAFILE_RTSUMMARY = 6,\n\tXFS_METAFILE_RTRMAP = 7,\n\tXFS_METAFILE_RTREFCOUNT = 8,\n\tXFS_METAFILE_MAX = 9,\n} __attribute__((mode(byte)));\n\nenum xfs_refc_adjust_op {\n\tXFS_REFCOUNT_ADJUST_INCREASE = 1,\n\tXFS_REFCOUNT_ADJUST_DECREASE = -1,\n\tXFS_REFCOUNT_ADJUST_COW_ALLOC = 0,\n\tXFS_REFCOUNT_ADJUST_COW_FREE = -1,\n};\n\nenum xfs_refc_domain {\n\tXFS_REFC_DOMAIN_SHARED = 0,\n\tXFS_REFC_DOMAIN_COW = 1,\n};\n\nenum xfs_refcount_intent_type {\n\tXFS_REFCOUNT_INCREASE = 1,\n\tXFS_REFCOUNT_DECREASE = 2,\n\tXFS_REFCOUNT_ALLOC_COW = 3,\n\tXFS_REFCOUNT_FREE_COW = 4,\n};\n\nenum xfs_rmap_intent_type {\n\tXFS_RMAP_MAP = 0,\n\tXFS_RMAP_MAP_SHARED = 1,\n\tXFS_RMAP_UNMAP = 2,\n\tXFS_RMAP_UNMAP_SHARED = 3,\n\tXFS_RMAP_CONVERT = 4,\n\tXFS_RMAP_CONVERT_SHARED = 5,\n\tXFS_RMAP_ALLOC = 6,\n\tXFS_RMAP_FREE = 7,\n};\n\nenum xfs_rtg_inodes {\n\tXFS_RTGI_BITMAP = 0,\n\tXFS_RTGI_SUMMARY = 1,\n\tXFS_RTGI_RMAP = 2,\n\tXFS_RTGI_REFCOUNT = 3,\n\tXFS_RTGI_MAX = 4,\n};\n\nenum xlog_iclog_state {\n\tXLOG_STATE_ACTIVE = 0,\n\tXLOG_STATE_WANT_SYNC = 1,\n\tXLOG_STATE_SYNCING = 2,\n\tXLOG_STATE_DONE_SYNC = 3,\n\tXLOG_STATE_CALLBACK = 4,\n\tXLOG_STATE_DIRTY = 5,\n};\n\nenum xlog_recover_reorder {\n\tXLOG_REORDER_BUFFER_LIST = 0,\n\tXLOG_REORDER_ITEM_LIST = 1,\n\tXLOG_REORDER_INODE_BUFFER_LIST = 2,\n\tXLOG_REORDER_CANCEL_LIST = 3,\n};\n\nenum xprt_transports {\n\tXPRT_TRANSPORT_UDP = 17,\n\tXPRT_TRANSPORT_TCP = 6,\n\tXPRT_TRANSPORT_BC_TCP = -2147483642,\n\tXPRT_TRANSPORT_RDMA = 256,\n\tXPRT_TRANSPORT_BC_RDMA = -2147483392,\n\tXPRT_TRANSPORT_LOCAL = 257,\n\tXPRT_TRANSPORT_TCP_TLS = 258,\n};\n\nenum xprt_xid_rb_cmp {\n\tXID_RB_EQUAL = 0,\n\tXID_RB_LEFT = 1,\n\tXID_RB_RIGHT = 2,\n};\n\nenum xprtsec_policies {\n\tRPC_XPRTSEC_NONE = 0,\n\tRPC_XPRTSEC_TLS_ANON = 1,\n\tRPC_XPRTSEC_TLS_X509 = 2,\n};\n\nenum xps_map_type {\n\tXPS_CPUS = 0,\n\tXPS_RXQS = 1,\n\tXPS_MAPS_MAX = 2,\n};\n\nenum xz_check {\n\tXZ_CHECK_NONE = 0,\n\tXZ_CHECK_CRC32 = 1,\n\tXZ_CHECK_CRC64 = 4,\n\tXZ_CHECK_SHA256 = 10,\n};\n\nenum xz_mode {\n\tXZ_SINGLE = 0,\n\tXZ_PREALLOC = 1,\n\tXZ_DYNALLOC = 2,\n};\n\nenum xz_ret {\n\tXZ_OK = 0,\n\tXZ_STREAM_END = 1,\n\tXZ_UNSUPPORTED_CHECK = 2,\n\tXZ_MEM_ERROR = 3,\n\tXZ_MEMLIMIT_ERROR = 4,\n\tXZ_FORMAT_ERROR = 5,\n\tXZ_OPTIONS_ERROR = 6,\n\tXZ_DATA_ERROR = 7,\n\tXZ_BUF_ERROR = 8,\n};\n\nenum zone_flags {\n\tZONE_BOOSTED_WATERMARK = 0,\n\tZONE_RECLAIM_ACTIVE = 1,\n\tZONE_BELOW_HIGH = 2,\n};\n\nenum zone_stat_item {\n\tNR_FREE_PAGES = 0,\n\tNR_ZONE_LRU_BASE = 1,\n\tNR_ZONE_INACTIVE_ANON = 1,\n\tNR_ZONE_ACTIVE_ANON = 2,\n\tNR_ZONE_INACTIVE_FILE = 3,\n\tNR_ZONE_ACTIVE_FILE = 4,\n\tNR_ZONE_UNEVICTABLE = 5,\n\tNR_ZONE_WRITE_PENDING = 6,\n\tNR_MLOCK = 7,\n\tNR_BOUNCE = 8,\n\tNR_ZSPAGES = 9,\n\tNR_FREE_CMA_PAGES = 10,\n\tNR_VM_ZONE_STAT_ITEMS = 11,\n};\n\nenum zone_type {\n\tZONE_NORMAL = 0,\n\tZONE_MOVABLE = 1,\n\tZONE_DEVICE = 2,\n\t__MAX_NR_ZONES = 3,\n};\n\nenum zone_watermarks {\n\tWMARK_MIN = 0,\n\tWMARK_LOW = 1,\n\tWMARK_HIGH = 2,\n\tWMARK_PROMO = 3,\n\tNR_WMARK = 4,\n};\n\nenum zpool_mapmode {\n\tZPOOL_MM_RW = 0,\n\tZPOOL_MM_RO = 1,\n\tZPOOL_MM_WO = 2,\n\tZPOOL_MM_DEFAULT = 0,\n};\n\nenum zs_mapmode {\n\tZS_MM_RW = 0,\n\tZS_MM_RO = 1,\n\tZS_MM_WO = 2,\n};\n\nenum zswap_init_type {\n\tZSWAP_UNINIT = 0,\n\tZSWAP_INIT_SUCCEED = 1,\n\tZSWAP_INIT_FAILED = 2,\n};\n\ntypedef _Bool bool;\n\ntypedef __int128 unsigned __u128;\n\ntypedef __u128 u128;\n\ntypedef u128 freelist_full_t;\n\ntypedef const char (* const ethnl_string_array_t)[32];\n\ntypedef char *va_list;\n\ntypedef double elf_fpreg_t;\n\ntypedef elf_fpreg_t elf_fpregset_t[33];\n\ntypedef int __kernel_clockid_t;\n\ntypedef int __kernel_daddr_t;\n\ntypedef int __kernel_ipc_pid_t;\n\ntypedef int __kernel_key_t;\n\ntypedef int __kernel_mqd_t;\n\ntypedef int __kernel_pid_t;\n\ntypedef int __kernel_rwf_t;\n\ntypedef int __kernel_timer_t;\n\ntypedef int __s32;\n\ntypedef int class_get_unused_fd_t;\n\ntypedef __kernel_clockid_t clockid_t;\n\ntypedef __s32 s32;\n\ntypedef s32 compat_int_t;\n\ntypedef s32 compat_ssize_t;\n\ntypedef int cydp_t;\n\ntypedef s32 dma_cookie_t;\n\ntypedef int ext4_grpblk_t;\n\ntypedef int folio_walk_flags_t;\n\ntypedef int fpb_t;\n\ntypedef int fpi_t;\n\ntypedef s32 int32_t;\n\ntypedef int32_t key_serial_t;\n\ntypedef __kernel_key_t key_t;\n\ntypedef int mhp_t;\n\ntypedef int mpi_size_t;\n\ntypedef __kernel_mqd_t mqd_t;\n\ntypedef s32 old_time32_t;\n\ntypedef int pci_power_t;\n\ntypedef __kernel_pid_t pid_t;\n\ntypedef int rmap_t;\n\ntypedef __kernel_rwf_t rwf_t;\n\ntypedef __s32 sctp_assoc_t;\n\ntypedef int suspend_state_t;\n\ntypedef __kernel_timer_t timer_t;\n\ntypedef long int __kernel_long_t;\n\ntypedef __kernel_long_t __kernel_clock_t;\n\ntypedef __kernel_long_t __kernel_off_t;\n\ntypedef __kernel_long_t __kernel_old_time_t;\n\ntypedef __kernel_long_t __kernel_ptrdiff_t;\n\ntypedef __kernel_long_t __kernel_ssize_t;\n\ntypedef __kernel_long_t __kernel_suseconds_t;\n\ntypedef __kernel_clock_t clock_t;\n\ntypedef long int intptr_t;\n\ntypedef long int mpi_limb_signed_t;\n\ntypedef __kernel_off_t off_t;\n\ntypedef __kernel_ptrdiff_t ptrdiff_t;\n\ntypedef __kernel_ssize_t ssize_t;\n\ntypedef __kernel_suseconds_t suseconds_t;\n\ntypedef long long int __s64;\n\ntypedef __s64 Elf64_Sxword;\n\ntypedef long long int __kernel_loff_t;\n\ntypedef long long int __kernel_time64_t;\n\ntypedef __s64 s64;\n\ntypedef s64 int64_t;\n\ntypedef s64 ktime_t;\n\ntypedef __kernel_loff_t loff_t;\n\ntypedef long long int qsize_t;\n\ntypedef __s64 time64_t;\n\ntypedef int64_t xfs_csn_t;\n\ntypedef __s64 xfs_daddr_t;\n\ntypedef __s64 xfs_off_t;\n\ntypedef xfs_off_t xfs_dir2_off_t;\n\ntypedef int64_t xfs_fsize_t;\n\ntypedef int64_t xfs_lsn_t;\n\ntypedef long long unsigned int __u64;\n\ntypedef __u64 Elf64_Addr;\n\ntypedef __u64 Elf64_Off;\n\ntypedef __u64 Elf64_Xword;\n\ntypedef __u64 u64;\n\ntypedef u64 uint64_t;\n\ntypedef uint64_t U64;\n\ntypedef __u64 __addrpair;\n\ntypedef __u64 __be64;\n\ntypedef __u64 __le64;\n\ntypedef u64 async_cookie_t;\n\ntypedef __u64 blist_flags_t;\n\ntypedef u64 blkcnt_t;\n\ntypedef u64 clientid4;\n\ntypedef u64 dma_addr_t;\n\ntypedef long long unsigned int ext4_fsblk_t;\n\ntypedef __be64 fdt64_t;\n\ntypedef u64 gfn_t;\n\ntypedef u64 gpa_t;\n\ntypedef u64 io_req_flags_t;\n\ntypedef long long unsigned int llu;\n\ntypedef u64 netdev_features_t;\n\ntypedef u64 pci_bus_addr_t;\n\ntypedef u64 phys_addr_t;\n\ntypedef uint64_t ppc_cpu_t;\n\ntypedef phys_addr_t resource_size_t;\n\ntypedef u64 sci_t;\n\ntypedef u64 sector_t;\n\ntypedef __u64 timeu64_t;\n\ntypedef u64 u_int64_t;\n\ntypedef u64 upf_t;\n\ntypedef uint64_t vli_type;\n\ntypedef uint64_t xfbno_t;\n\ntypedef __be64 xfs_bmbt_ptr_t;\n\ntypedef uint64_t xfs_bmbt_rec_base_t;\n\ntypedef uint64_t xfs_extnum_t;\n\ntypedef uint64_t xfs_filblks_t;\n\ntypedef uint64_t xfs_fileoff_t;\n\ntypedef uint64_t xfs_fsblock_t;\n\ntypedef long long unsigned int xfs_ino_t;\n\ntypedef uint64_t xfs_inofree_t;\n\ntypedef uint64_t xfs_log_timestamp_t;\n\ntypedef uint64_t xfs_qcnt_t;\n\ntypedef uint64_t xfs_rfsblock_t;\n\ntypedef uint64_t xfs_rtblock_t;\n\ntypedef uint64_t xfs_rtbxlen_t;\n\ntypedef __be64 xfs_rtrefcount_ptr_t;\n\ntypedef __be64 xfs_rtrmap_ptr_t;\n\ntypedef uint64_t xfs_rtxnum_t;\n\ntypedef __be64 xfs_timestamp_t;\n\ntypedef uint64_t xfs_ufsize_t;\n\ntypedef long unsigned int mpi_limb_t;\n\ntypedef mpi_limb_t UWtype;\n\ntypedef long unsigned int __kernel_ulong_t;\n\ntypedef __kernel_ulong_t __kernel_ino_t;\n\ntypedef long unsigned int __kernel_old_dev_t;\n\ntypedef __kernel_ulong_t __kernel_size_t;\n\ntypedef __kernel_ulong_t aio_context_t;\n\ntypedef long unsigned int cycles_t;\n\ntypedef long unsigned int dax_entry_t;\n\ntypedef long unsigned int elf_greg_t64;\n\ntypedef elf_greg_t64 elf_gregset_t64[48];\n\ntypedef elf_gregset_t64 elf_gregset_t;\n\ntypedef long unsigned int gva_t;\n\ntypedef __kernel_ulong_t ino_t;\n\ntypedef long unsigned int irq_hw_number_t;\n\ntypedef long unsigned int kernel_ulong_t;\n\ntypedef long unsigned int kimage_entry_t;\n\ntypedef long unsigned int mm_context_id_t;\n\ntypedef mpi_limb_t *mpi_ptr_t;\n\ntypedef long unsigned int netmem_ref;\n\ntypedef long unsigned int old_sigset_t;\n\ntypedef long unsigned int perf_trace_t[1024];\n\ntypedef long unsigned int pte_basic_t;\n\ntypedef long unsigned int pte_marker;\n\ntypedef __kernel_size_t size_t;\n\ntypedef long unsigned int uLong;\n\ntypedef long unsigned int u_long;\n\ntypedef long unsigned int uintptr_t;\n\ntypedef long unsigned int ulg;\n\ntypedef long unsigned int ulong;\n\ntypedef uintptr_t uptrval;\n\ntypedef long unsigned int vm_flags_t;\n\ntypedef short int __s16;\n\ntypedef __s16 s16;\n\ntypedef s16 int16_t;\n\ntypedef int16_t S16;\n\ntypedef short unsigned int __u16;\n\ntypedef __u16 Elf32_Half;\n\ntypedef __u16 Elf64_Half;\n\ntypedef short unsigned int ush;\n\ntypedef ush Pos;\n\ntypedef __u16 u16;\n\ntypedef u16 uint16_t;\n\ntypedef uint16_t U16;\n\ntypedef __u16 __be16;\n\ntypedef __u16 __hc16;\n\ntypedef short unsigned int __kernel_gid16_t;\n\ntypedef short unsigned int __kernel_sa_family_t;\n\ntypedef short unsigned int __kernel_uid16_t;\n\ntypedef __u16 __le16;\n\ntypedef __u16 __sum16;\n\ntypedef __u16 __virtio16;\n\ntypedef u16 access_mask_t;\n\ntypedef __u16 bitmap_counter_t;\n\ntypedef u16 blk_short_t;\n\ntypedef __u16 comp_t;\n\ntypedef __kernel_gid16_t gid16_t;\n\ntypedef u16 layer_mask_t;\n\ntypedef short unsigned int pci_bus_flags_t;\n\ntypedef short unsigned int pci_dev_flags_t;\n\ntypedef __u16 port_id;\n\ntypedef __kernel_sa_family_t sa_family_t;\n\ntypedef u16 u_int16_t;\n\ntypedef short unsigned int u_short;\n\ntypedef __kernel_uid16_t uid16_t;\n\ntypedef __u16 uio_meta_flags_t;\n\ntypedef short unsigned int umode_t;\n\ntypedef short unsigned int ushort;\n\ntypedef u16 wchar_t;\n\ntypedef uint16_t xfs_dir2_data_off_t;\n\ntypedef signed char __s8;\n\ntypedef __s8 s8;\n\ntypedef s8 int8_t;\n\ntypedef signed char unative_t[16];\n\ntypedef unsigned char __u8;\n\ntypedef __u8 u8;\n\ntypedef u8 uint8_t;\n\ntypedef uint8_t BYTE;\n\ntypedef unsigned char Byte;\n\ntypedef uint8_t U8;\n\ntypedef u8 blk_status_t;\n\ntypedef unsigned char cc_t;\n\ntypedef unsigned char cisdata_t;\n\ntypedef u8 dscp_t;\n\ntypedef __u8 dvd_challenge[10];\n\ntypedef __u8 dvd_key[5];\n\ntypedef u8 rmap_age_t;\n\ntypedef unsigned char u_char;\n\ntypedef u8 u_int8_t;\n\ntypedef unsigned char uch;\n\ntypedef uint8_t xfs_dqtype_t;\n\ntypedef unsigned int __u32;\n\ntypedef __u32 Elf32_Addr;\n\ntypedef __u32 Elf32_Off;\n\ntypedef __u32 Elf32_Word;\n\ntypedef __u32 Elf64_Word;\n\ntypedef unsigned int FSE_DTable;\n\ntypedef __u32 u32;\n\ntypedef u32 uint32_t;\n\ntypedef uint32_t U32;\n\ntypedef U32 HUF_DTable;\n\ntypedef unsigned int IPos;\n\ntypedef unsigned int OM_uint32;\n\ntypedef unsigned int UHWtype;\n\ntypedef __u32 __be32;\n\ntypedef __u32 __hc32;\n\ntypedef u32 __kernel_dev_t;\n\ntypedef unsigned int __kernel_gid32_t;\n\ntypedef unsigned int __kernel_gid_t;\n\ntypedef unsigned int __kernel_mode_t;\n\ntypedef unsigned int __kernel_uid32_t;\n\ntypedef unsigned int __kernel_uid_t;\n\ntypedef __u32 __le32;\n\ntypedef unsigned int __poll_t;\n\ntypedef __u32 __portpair;\n\ntypedef __u32 __wsum;\n\ntypedef unsigned int blk_features_t;\n\ntypedef unsigned int blk_flags_t;\n\ntypedef unsigned int blk_insert_t;\n\ntypedef unsigned int blk_mode_t;\n\ntypedef __u32 blk_mq_req_flags_t;\n\ntypedef __u32 blk_opf_t;\n\ntypedef unsigned int blk_qc_t;\n\ntypedef __be32 cell_t;\n\ntypedef u32 compat_caddr_t;\n\ntypedef u32 compat_size_t;\n\ntypedef u32 compat_uint_t;\n\ntypedef u32 compat_ulong_t;\n\ntypedef u32 compat_uptr_t;\n\ntypedef u32 depot_flags_t;\n\ntypedef u32 depot_stack_handle_t;\n\ntypedef __kernel_dev_t dev_t;\n\ntypedef u32 errseq_t;\n\ntypedef unsigned int ext4_group_t;\n\ntypedef __u32 ext4_lblk_t;\n\ntypedef __be32 fdt32_t;\n\ntypedef unsigned int fgf_t;\n\ntypedef unsigned int fmode_t;\n\ntypedef unsigned int fop_flags_t;\n\ntypedef unsigned int gfp_t;\n\ntypedef __kernel_gid32_t gid_t;\n\ntypedef u32 ihandle;\n\ntypedef unsigned int ioasid_t;\n\ntypedef unsigned int iov_iter_extraction_t;\n\ntypedef unsigned int isolate_mode_t;\n\ntypedef unsigned int kasan_vmalloc_flags_t;\n\ntypedef uint32_t key_perm_t;\n\ntypedef u32 kprobe_opcode_t;\n\ntypedef __kernel_mode_t mode_t;\n\ntypedef u32 nlink_t;\n\ntypedef u32 note_buf_t[134];\n\ntypedef unsigned int pci_channel_state_t;\n\ntypedef unsigned int pci_ers_result_t;\n\ntypedef unsigned int pgtbl_mod_mask;\n\ntypedef u32 phandle;\n\ntypedef unsigned int pipe_index_t;\n\ntypedef uint32_t prid_t;\n\ntypedef __kernel_uid32_t projid_t;\n\ntypedef u32 prom_arg_t;\n\ntypedef U32 rankValCol_t[13];\n\ntypedef __u32 req_flags_t;\n\ntypedef u32 rpc_authflavor_t;\n\ntypedef __be32 rpc_fraghdr;\n\ntypedef __be32 rtas_arg_t;\n\ntypedef unsigned int sk_buff_data_t;\n\ntypedef unsigned int slab_flags_t;\n\ntypedef unsigned int speed_t;\n\ntypedef unsigned int t_key;\n\ntypedef unsigned int tcflag_t;\n\ntypedef unsigned int tid_t;\n\ntypedef unsigned int uInt;\n\ntypedef unsigned int u_int;\n\ntypedef u32 u_int32_t;\n\ntypedef __kernel_uid32_t uid_t;\n\ntypedef unsigned int uint;\n\ntypedef u32 unicode_t;\n\ntypedef u32 uprobe_opcode_t;\n\ntypedef unsigned int upstat_t;\n\ntypedef u32 usb_port_location_t;\n\ntypedef unsigned int vm_fault_t;\n\ntypedef unsigned int xa_mark_t;\n\ntypedef u32 xdp_features_t;\n\ntypedef uint32_t xfs_aextnum_t;\n\ntypedef uint32_t xfs_agblock_t;\n\ntypedef uint32_t xfs_agino_t;\n\ntypedef uint32_t xfs_agnumber_t;\n\ntypedef unsigned int xfs_buf_flags_t;\n\ntypedef uint32_t xfs_dablk_t;\n\ntypedef uint32_t xfs_dahash_t;\n\ntypedef __u32 xfs_dev_t;\n\ntypedef uint xfs_dir2_data_aoff_t;\n\ntypedef uint32_t xfs_dir2_dataptr_t;\n\ntypedef uint32_t xfs_dir2_db_t;\n\ntypedef uint32_t xfs_dqid_t;\n\ntypedef uint32_t xfs_extlen_t;\n\ntypedef __u32 xfs_nlink_t;\n\ntypedef uint32_t xfs_rgblock_t;\n\ntypedef uint32_t xfs_rgnumber_t;\n\ntypedef uint32_t xfs_rtxlen_t;\n\ntypedef uint32_t xlog_tid_t;\n\ntypedef unsigned int zap_flags_t;\n\ntypedef struct {\n\tsize_t bitContainer;\n\tunsigned int bitsConsumed;\n\tconst char *ptr;\n\tconst char *start;\n\tconst char *limitPtr;\n} BIT_DStream_t;\n\ntypedef struct {\n\tBYTE maxTableLog;\n\tBYTE tableType;\n\tBYTE tableLog;\n\tBYTE reserved;\n} DTableDesc;\n\ntypedef struct {\n\tsize_t state;\n\tconst void *table;\n} FSE_DState_t;\n\ntypedef struct {\n\tU16 tableLog;\n\tU16 fastMode;\n} FSE_DTableHeader;\n\ntypedef struct {\n\tshort int ncount[256];\n\tFSE_DTable dtable[0];\n} FSE_DecompressWksp;\n\ntypedef struct {\n\tshort unsigned int newState;\n\tunsigned char symbol;\n\tunsigned char nbBits;\n} FSE_decode_t;\n\ntypedef struct {\n\tBYTE nbBits;\n\tBYTE byte;\n} HUF_DEltX1;\n\ntypedef struct {\n\tU16 sequence;\n\tBYTE nbBits;\n\tBYTE length;\n} HUF_DEltX2;\n\ntypedef struct {\n\tU32 rankVal[13];\n\tU32 rankStart[13];\n\tU32 statsWksp[218];\n\tBYTE symbols[256];\n\tBYTE huffWeight[256];\n} HUF_ReadDTableX1_Workspace;\n\ntypedef struct {\n\tBYTE symbol;\n} sortedSymbol_t;\n\ntypedef struct {\n\tU32 rankVal[156];\n\tU32 rankStats[13];\n\tU32 rankStart0[15];\n\tsortedSymbol_t sortedSymbol[256];\n\tBYTE weightList[256];\n\tU32 calleeWksp[218];\n} HUF_ReadDTableX2_Workspace;\n\nstruct buffer_head;\n\ntypedef struct {\n\t__le32 *p;\n\t__le32 key;\n\tstruct buffer_head *bh;\n} Indirect;\n\ntypedef struct {\n\tconst uint8_t *externalDict;\n\tsize_t extDictSize;\n\tconst uint8_t *prefixEnd;\n\tsize_t prefixSize;\n} LZ4_streamDecode_t_internal;\n\ntypedef union {\n\tlong long unsigned int table[4];\n\tLZ4_streamDecode_t_internal internal_donotuse;\n} LZ4_streamDecode_t;\n\nstruct folio;\n\ntypedef struct {\n\tstruct folio *v;\n} Sector;\n\nstruct ZSTD_DDict_s;\n\ntypedef struct ZSTD_DDict_s ZSTD_DDict;\n\ntypedef struct {\n\tconst ZSTD_DDict **ddictPtrTable;\n\tsize_t ddictPtrTableSize;\n\tsize_t ddictPtrCount;\n} ZSTD_DDictHashSet;\n\ntypedef struct {\n\tsize_t error;\n\tint lowerBound;\n\tint upperBound;\n} ZSTD_bounds;\n\ntypedef void * (*ZSTD_allocFunction)(void *, size_t);\n\ntypedef void (*ZSTD_freeFunction)(void *, void *);\n\ntypedef struct {\n\tZSTD_allocFunction customAlloc;\n\tZSTD_freeFunction customFree;\n\tvoid *opaque;\n} ZSTD_customMem;\n\ntypedef struct {\n\tU16 nextState;\n\tBYTE nbAdditionalBits;\n\tBYTE nbBits;\n\tU32 baseValue;\n} ZSTD_seqSymbol;\n\ntypedef struct {\n\tZSTD_seqSymbol LLTable[513];\n\tZSTD_seqSymbol OFTable[257];\n\tZSTD_seqSymbol MLTable[513];\n\tHUF_DTable hufTable[4097];\n\tU32 rep[3];\n\tU32 workspace[157];\n} ZSTD_entropyDTables_t;\n\ntypedef struct {\n\tlong long unsigned int frameContentSize;\n\tlong long unsigned int windowSize;\n\tunsigned int blockSizeMax;\n\tZSTD_frameType_e frameType;\n\tunsigned int headerSize;\n\tunsigned int dictID;\n\tunsigned int checksumFlag;\n} ZSTD_frameHeader;\n\ntypedef struct {\n\tsize_t compressedSize;\n\tlong long unsigned int decompressedBound;\n} ZSTD_frameSizeInfo;\n\ntypedef struct {\n\tsize_t state;\n\tconst ZSTD_seqSymbol *table;\n} ZSTD_fseState;\n\ntypedef struct {\n\tU32 fastMode;\n\tU32 tableLog;\n} ZSTD_seqSymbol_header;\n\ntypedef struct {\n\tlong unsigned int fds_bits[16];\n} __kernel_fd_set;\n\ntypedef struct {\n\tint val[2];\n} __kernel_fsid_t;\n\ntypedef struct {\n\t__u32 u[4];\n} __vector128;\n\ntypedef struct {\n\tU32 tableTime;\n\tU32 decode256Time;\n} algo_time_t;\n\ntypedef struct {\n\ts64 counter;\n} atomic64_t;\n\ntypedef atomic64_t atomic_long_t;\n\ntypedef struct {\n\tint counter;\n} atomic_t;\n\ntypedef struct {\n\tblockType_e blockType;\n\tU32 lastBlock;\n\tU32 origSize;\n} blockProperties_t;\n\ntypedef struct {\n\tunion {\n\t\tvoid *kernel;\n\t\tvoid *user;\n\t};\n\tbool is_kernel: 1;\n} sockptr_t;\n\ntypedef sockptr_t bpfptr_t;\n\nstruct permanent_flags_t {\n\t__be16 tag;\n\tu8 disable;\n\tu8 ownership;\n\tu8 deactivated;\n\tu8 readPubek;\n\tu8 disableOwnerClear;\n\tu8 allowMaintenance;\n\tu8 physicalPresenceLifetimeLock;\n\tu8 physicalPresenceHWEnable;\n\tu8 physicalPresenceCMDEnable;\n\tu8 CEKPUsed;\n\tu8 TPMpost;\n\tu8 TPMpostLock;\n\tu8 FIPS;\n\tu8 operator;\n\tu8 enableRevokeEK;\n\tu8 nvLocked;\n\tu8 readSRKPub;\n\tu8 tpmEstablished;\n\tu8 maintenanceDone;\n\tu8 disableFullDALogicInfo;\n};\n\nstruct stclear_flags_t {\n\t__be16 tag;\n\tu8 deactivated;\n\tu8 disableForceClear;\n\tu8 physicalPresence;\n\tu8 physicalPresenceLock;\n\tu8 bGlobalLock;\n} __attribute__((packed));\n\nstruct tpm1_version {\n\tu8 major;\n\tu8 minor;\n\tu8 rev_major;\n\tu8 rev_minor;\n};\n\nstruct tpm1_version2 {\n\t__be16 tag;\n\tstruct tpm1_version version;\n};\n\nstruct timeout_t {\n\t__be32 a;\n\t__be32 b;\n\t__be32 c;\n\t__be32 d;\n};\n\nstruct duration_t {\n\t__be32 tpm_short;\n\t__be32 tpm_medium;\n\t__be32 tpm_long;\n};\n\ntypedef union {\n\tstruct permanent_flags_t perm_flags;\n\tstruct stclear_flags_t stclear_flags;\n\t__u8 owned;\n\t__be32 num_pcrs;\n\tstruct tpm1_version version1;\n\tstruct tpm1_version2 version2;\n\t__be32 manufacturer_id;\n\tstruct timeout_t timeout;\n\tstruct duration_t duration;\n} cap_t;\n\ntypedef struct {\n\tunsigned int interval;\n\tunsigned int timeout;\n} cisco_proto;\n\ntypedef struct {\n\tvoid *lock;\n} class_cpus_read_lock_t;\n\nstruct raw_spinlock;\n\ntypedef struct raw_spinlock raw_spinlock_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n\traw_spinlock_t *lock2;\n} class_double_raw_spinlock_t;\n\nstruct rq;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq *lock2;\n} class_double_rq_lock_t;\n\ntypedef struct {\n\tvoid *lock;\n\tlong unsigned int flags;\n} class_irqsave_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_jump_label_lock_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_preempt_notrace_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_preempt_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n} class_raw_spinlock_irq_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n\tlong unsigned int flags;\n} class_raw_spinlock_irqsave_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n} class_raw_spinlock_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_rcu_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_rcu_tasks_trace_t;\n\nstruct pin_cookie {};\n\nstruct rq_flags {\n\tlong unsigned int flags;\n\tstruct pin_cookie cookie;\n\tunsigned int clock_update_flags;\n};\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_irq_t;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_irqsave_t;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_t;\n\nstruct spinlock;\n\ntypedef struct spinlock spinlock_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n} class_spinlock_irq_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n} class_spinlock_irqsave_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n} class_spinlock_t;\n\nstruct srcu_struct;\n\ntypedef struct {\n\tstruct srcu_struct *lock;\n\tint idx;\n} class_srcu_t;\n\nstruct task_struct;\n\ntypedef struct {\n\tstruct task_struct *lock;\n\tstruct rq *rq;\n\tstruct rq_flags rf;\n} class_task_rq_lock_t;\n\nstruct qspinlock {\n\tunion {\n\t\tu32 val;\n\t\tstruct {\n\t\t\tu16 locked;\n\t\t\tu8 reserved[2];\n\t\t};\n\t};\n};\n\ntypedef struct qspinlock arch_spinlock_t;\n\nstruct qrwlock {\n\tunion {\n\t\tatomic_t cnts;\n\t\tstruct {\n\t\t\tu8 wlocked;\n\t\t\tu8 __lstate[3];\n\t\t};\n\t};\n\tarch_spinlock_t wait_lock;\n};\n\ntypedef struct qrwlock arch_rwlock_t;\n\ntypedef struct {\n\tarch_rwlock_t raw_lock;\n} rwlock_t;\n\ntypedef struct {\n\trwlock_t *lock;\n} class_write_lock_irq_t;\n\ntypedef struct {\n\tunsigned char op;\n\tunsigned char bits;\n\tshort unsigned int val;\n} code;\n\ntypedef struct {\n\t__be16 disc_information_length;\n\t__u8 disc_status: 2;\n\t__u8 border_status: 2;\n\t__u8 erasable: 1;\n\t__u8 reserved1: 3;\n\t__u8 n_first_track;\n\t__u8 n_sessions_lsb;\n\t__u8 first_track_lsb;\n\t__u8 last_track_lsb;\n\t__u8 mrw_status: 2;\n\t__u8 dbit: 1;\n\t__u8 reserved2: 2;\n\t__u8 uru: 1;\n\t__u8 dbc_v: 1;\n\t__u8 did_v: 1;\n\t__u8 disc_type;\n\t__u8 n_sessions_msb;\n\t__u8 first_track_msb;\n\t__u8 last_track_msb;\n\t__u32 disc_id;\n\t__u32 lead_in;\n\t__u32 lead_out;\n\t__u8 disc_bar_code[8];\n\t__u8 reserved3;\n\t__u8 n_opc;\n} disc_information;\n\ntypedef struct {\n\tlong unsigned int bits[1];\n} dma_cap_mask_t;\n\nstruct dvd_lu_send_agid {\n\t__u8 type;\n\tunsigned int agid: 2;\n};\n\nstruct dvd_host_send_challenge {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_challenge chal;\n};\n\nstruct dvd_send_key {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_key key;\n};\n\nstruct dvd_lu_send_challenge {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_challenge chal;\n};\n\nstruct dvd_lu_send_title_key {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_key title_key;\n\tint lba;\n\tunsigned int cpm: 1;\n\tunsigned int cp_sec: 1;\n\tunsigned int cgms: 2;\n};\n\nstruct dvd_lu_send_asf {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tunsigned int asf: 1;\n};\n\nstruct dvd_host_send_rpcstate {\n\t__u8 type;\n\t__u8 pdrc;\n};\n\nstruct dvd_lu_send_rpcstate {\n\t__u8 type: 2;\n\t__u8 vra: 3;\n\t__u8 ucca: 3;\n\t__u8 region_mask;\n\t__u8 rpc_scheme;\n};\n\ntypedef union {\n\t__u8 type;\n\tstruct dvd_lu_send_agid lsa;\n\tstruct dvd_host_send_challenge hsc;\n\tstruct dvd_send_key lsk;\n\tstruct dvd_lu_send_challenge lsc;\n\tstruct dvd_send_key hsk;\n\tstruct dvd_lu_send_title_key lstk;\n\tstruct dvd_lu_send_asf lsasf;\n\tstruct dvd_host_send_rpcstate hrpcs;\n\tstruct dvd_lu_send_rpcstate lrpcs;\n} dvd_authinfo;\n\nstruct dvd_layer {\n\t__u8 book_version: 4;\n\t__u8 book_type: 4;\n\t__u8 min_rate: 4;\n\t__u8 disc_size: 4;\n\t__u8 layer_type: 4;\n\t__u8 track_path: 1;\n\t__u8 nlayers: 2;\n\tchar: 1;\n\t__u8 track_density: 4;\n\t__u8 linear_density: 4;\n\t__u8 bca: 1;\n\t__u32 start_sector;\n\t__u32 end_sector;\n\t__u32 end_sector_l0;\n};\n\nstruct dvd_physical {\n\t__u8 type;\n\t__u8 layer_num;\n\tstruct dvd_layer layer[4];\n};\n\nstruct dvd_copyright {\n\t__u8 type;\n\t__u8 layer_num;\n\t__u8 cpst;\n\t__u8 rmi;\n};\n\nstruct dvd_disckey {\n\t__u8 type;\n\tunsigned int agid: 2;\n\t__u8 value[2048];\n};\n\nstruct dvd_bca {\n\t__u8 type;\n\tint len;\n\t__u8 value[188];\n};\n\nstruct dvd_manufact {\n\t__u8 type;\n\t__u8 layer_num;\n\tint len;\n\t__u8 value[2048];\n};\n\ntypedef union {\n\t__u8 type;\n\tstruct dvd_physical physical;\n\tstruct dvd_copyright copyright;\n\tstruct dvd_disckey disckey;\n\tstruct dvd_bca bca;\n\tstruct dvd_manufact manufact;\n} dvd_struct;\n\ntypedef struct {\n\t__u8 b[16];\n} guid_t;\n\ntypedef guid_t efi_guid_t;\n\ntypedef struct {\n\tefi_guid_t signature_owner;\n\tu8 signature_data[0];\n} efi_signature_data_t;\n\ntypedef struct {\n\tefi_guid_t signature_type;\n\tu32 signature_list_size;\n\tu32 signature_header_size;\n\tu32 signature_size;\n\tu8 signature_header[0];\n} efi_signature_list_t;\n\ntypedef __vector128 elf_vrreg_t;\n\ntypedef struct {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n} ext4_acl_entry;\n\ntypedef struct {\n\t__le32 a_version;\n} ext4_acl_header;\n\ntypedef __kernel_fd_set fd_set;\n\ntypedef struct {\n\tlong unsigned int *in;\n\tlong unsigned int *out;\n\tlong unsigned int *ex;\n\tlong unsigned int *res_in;\n\tlong unsigned int *res_out;\n\tlong unsigned int *res_ex;\n} fd_set_bits;\n\ntypedef struct {\n\tatomic64_t refcnt;\n} file_ref_t;\n\ntypedef struct {\n\tunsigned int t391;\n\tunsigned int t392;\n\tunsigned int n391;\n\tunsigned int n392;\n\tunsigned int n393;\n\tshort unsigned int lmi;\n\tshort unsigned int dce;\n} fr_proto;\n\ntypedef struct {\n\tunsigned int dlci;\n} fr_proto_pvc;\n\ntypedef struct {\n\tunsigned int dlci;\n\tchar master[16];\n} fr_proto_pvc_info;\n\ntypedef union {\n\tstruct {\n\t\tvoid *freelist;\n\t\tlong unsigned int counter;\n\t};\n\tfreelist_full_t full;\n} freelist_aba_t;\n\ntypedef struct {\n\tlong unsigned int v;\n} freeptr_t;\n\ntypedef struct {\n\tlong unsigned int addr;\n} func_desc_t;\n\ntypedef struct {\n\tlong unsigned int key[2];\n} hsiphash_key_t;\n\ntypedef struct {\n\tunsigned int __softirq_pending;\n\tunsigned int timer_irqs_event;\n\tunsigned int broadcast_irqs_event;\n\tunsigned int timer_irqs_others;\n\tunsigned int pmu_irqs;\n\tunsigned int mce_exceptions;\n\tunsigned int spurious_irqs;\n\tunsigned int sreset_irqs;\n\tunsigned int soft_nmi_irqs;\n\tunsigned int doorbell_irqs;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n} irq_cpustat_t;\n\ntypedef struct {\n\tu64 val;\n} kernel_cap_t;\n\ntypedef struct {\n\tgid_t val;\n} kgid_t;\n\ntypedef struct {\n\tprojid_t val;\n} kprojid_t;\n\ntypedef struct {\n\tuid_t val;\n} kuid_t;\n\ntypedef struct {\n\tlong int v;\n} local_t;\n\ntypedef struct {\n\tlocal_t a;\n} local64_t;\n\ntypedef struct {} local_lock_t;\n\ntypedef struct {} lockdep_map_p;\n\nstruct list_head {\n\tstruct list_head *next;\n\tstruct list_head *prev;\n};\n\nstruct hash_mm_context;\n\ntypedef struct {\n\tunion {\n\t\tmm_context_id_t id;\n\t\tmm_context_id_t extended_id[8];\n\t};\n\tatomic_t active_cpus;\n\tatomic_t copros;\n\tatomic_t vas_windows;\n\tstruct hash_mm_context *hash_context;\n\tvoid *vdso;\n\tvoid *pte_frag;\n\tvoid *pmd_frag;\n\tstruct list_head iommu_group_mem_list;\n\tu32 pkey_allocation_map;\n\ts16 execute_only_pkey;\n} mm_context_t;\n\ntypedef struct {} netdevice_tracker;\n\ntypedef struct {} netns_tracker;\n\ntypedef struct {\n\tchar data[8];\n} nfs4_verifier;\n\ntypedef struct {\n\tlong unsigned int bits[4];\n} nodemask_t;\n\ntypedef struct {\n\t__be64 pgd;\n} pgd_t;\n\ntypedef struct {\n\tpgd_t pgd;\n} p4d_t;\n\ntypedef struct {\n\tu64 pme;\n} pagemap_entry_t;\n\ntypedef struct {\n\tu32 token;\n} papr_sysparm_t;\n\ntypedef struct {\n\tu64 val;\n} pfn_t;\n\ntypedef struct {\n\tlong unsigned int pgprot;\n} pgprot_t;\n\ntypedef struct {\n\t__be64 pte;\n} pte_t;\n\ntypedef pte_t *pgtable_t;\n\ntypedef struct {\n\t__be64 pmd;\n} pmd_t;\n\nstruct net;\n\ntypedef struct {\n\tstruct net *net;\n} possible_net_t;\n\ntypedef struct {\n\tu32 val;\n\tu32 suffix;\n} ppc_inst_t;\n\ntypedef struct {\n\t__be64 pud;\n} pud_t;\n\ntypedef struct {\n\tshort unsigned int encoding;\n\tshort unsigned int parity;\n} raw_hdlc_proto;\n\ntypedef struct {\n\tatomic_t refcnt;\n} rcuref_t;\n\ntypedef struct {\n\tsize_t written;\n\tsize_t count;\n\tunion {\n\t\tchar *buf;\n\t\tvoid *data;\n\t} arg;\n\tint error;\n} read_descriptor_t;\n\ntypedef struct {\n\tpte_t pte;\n\tlong unsigned int hidx;\n} real_pte_t;\n\ntypedef struct {\n\tu16 reg;\n\tu32 val;\n} reg_val;\n\ntypedef union {\n} release_pages_arg;\n\ntypedef struct {\n\t__u16 report_key_length;\n\t__u8 reserved1;\n\t__u8 reserved2;\n\t__u8 ucca: 3;\n\t__u8 vra: 3;\n\t__u8 type_code: 2;\n\t__u8 region_mask;\n\t__u8 rpc_scheme;\n\t__u8 reserved3;\n} rpc_state_t;\n\ntypedef struct {\n\tconst enum rtas_function_index index;\n} rtas_fn_handle_t;\n\ntypedef struct {\n\tBIT_DStream_t DStream;\n\tZSTD_fseState stateLL;\n\tZSTD_fseState stateOffb;\n\tZSTD_fseState stateML;\n\tsize_t prevOffset[3];\n} seqState_t;\n\ntypedef struct {\n\tsize_t litLength;\n\tsize_t matchLength;\n\tsize_t offset;\n} seq_t;\n\nstruct seqcount {\n\tunsigned int sequence;\n};\n\ntypedef struct seqcount seqcount_t;\n\ntypedef struct {\n\tseqcount_t seqcount;\n} seqcount_latch_t;\n\nstruct seqcount_spinlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_spinlock seqcount_spinlock_t;\n\nstruct raw_spinlock {\n\tarch_spinlock_t raw_lock;\n};\n\nstruct spinlock {\n\tunion {\n\t\tstruct raw_spinlock rlock;\n\t};\n};\n\ntypedef struct {\n\tseqcount_spinlock_t seqcount;\n\tspinlock_t lock;\n} seqlock_t;\n\ntypedef struct {\n\tlong unsigned int sig[1];\n} sigset_t;\n\ntypedef struct {\n\tu64 key[2];\n} siphash_key_t;\n\nstruct wait_queue_head {\n\tspinlock_t lock;\n\tstruct list_head head;\n};\n\ntypedef struct wait_queue_head wait_queue_head_t;\n\ntypedef struct {\n\tspinlock_t slock;\n\tint owned;\n\twait_queue_head_t wq;\n} socket_lock_t;\n\ntypedef struct {\n\tchar *from;\n\tchar *to;\n} substring_t;\n\ntypedef struct {\n\tlong unsigned int val;\n} swp_entry_t;\n\ntypedef struct {\n\tunsigned int clock_rate;\n\tunsigned int clock_type;\n\tshort unsigned int loopback;\n} sync_serial_settings;\n\ntypedef struct {\n\tunsigned int clock_rate;\n\tunsigned int clock_type;\n\tshort unsigned int loopback;\n\tunsigned int slot_map;\n} te1_settings;\n\ntypedef struct {\n\tu32 high;\n\tu32 low;\n} tg3_stat64_t;\n\ntypedef struct {\n\t__be16 track_information_length;\n\t__u8 track_lsb;\n\t__u8 session_lsb;\n\t__u8 reserved1;\n\t__u8 track_mode: 4;\n\t__u8 copy: 1;\n\t__u8 damage: 1;\n\t__u8 reserved2: 2;\n\t__u8 data_mode: 4;\n\t__u8 fp: 1;\n\t__u8 packet: 1;\n\t__u8 blank: 1;\n\t__u8 rt: 1;\n\t__u8 nwa_v: 1;\n\t__u8 lra_v: 1;\n\t__u8 reserved3: 6;\n\t__be32 track_start;\n\t__be32 next_writable;\n\t__be32 free_blocks;\n\t__be32 fixed_packet_size;\n\t__be32 track_size;\n\t__be32 last_rec_address;\n} track_information;\n\ntypedef struct {\n\tint data;\n\tint audio;\n\tint cdi;\n\tint xa;\n\tlong int error;\n} tracktype;\n\ntypedef struct {\n\tlocal64_t v;\n} u64_stats_t;\n\ntypedef struct {\n\t__u8 b[16];\n} uuid_t;\n\ntypedef struct {\n\tvoid *vaddr;\n} vaddr_t;\n\ntypedef __vector128 vector128;\n\ntypedef struct {\n\tgid_t val;\n} vfsgid_t;\n\ntypedef struct {\n\tuid_t val;\n} vfsuid_t;\n\ntypedef struct {\n\tshort unsigned int dce;\n\tunsigned int modulo;\n\tunsigned int window;\n\tunsigned int t1;\n\tunsigned int t2;\n\tunsigned int n2;\n} x25_hdlc_proto;\n\nstruct in6_addr {\n\tunion {\n\t\t__u8 u6_addr8[16];\n\t\t__be16 u6_addr16[8];\n\t\t__be32 u6_addr32[4];\n\t} in6_u;\n};\n\ntypedef union {\n\t__be32 a4;\n\t__be32 a6[4];\n\tstruct in6_addr in6;\n} xfrm_address_t;\n\ntypedef ZSTD_customMem zstd_custom_mem;\n\ntypedef ZSTD_frameHeader zstd_frame_header;\n\nstruct OpalHMIEvent {\n\tuint8_t version;\n\tuint8_t severity;\n\tuint8_t type;\n\tuint8_t disposition;\n\tuint8_t reserved_1[4];\n\t__be64 hmer;\n\t__be64 tfmr;\n\tunion {\n\t\tstruct {\n\t\t\tuint8_t xstop_type;\n\t\t\tuint8_t reserved_1[3];\n\t\t\t__be32 xstop_reason;\n\t\t\tunion {\n\t\t\t\t__be32 pir;\n\t\t\t\t__be32 chip_id;\n\t\t\t} u;\n\t\t} xstop_error;\n\t} u;\n};\n\nstruct OpalHmiEvtNode {\n\tstruct list_head list;\n\tstruct OpalHMIEvent hmi_evt;\n};\n\nstruct OpalIoP7IOCBiErrorData {\n\t__be64 biLdcp0;\n\t__be64 biLdcp1;\n\t__be64 biLdcp2;\n\t__be64 biFenceStatus;\n\tuint8_t biDownbound;\n};\n\nstruct OpalIoP7IOCCiErrorData {\n\t__be64 ciPortStatus;\n\t__be64 ciPortLdcp;\n\tuint8_t ciPort;\n};\n\nstruct OpalIoP7IOCRgcErrorData {\n\t__be64 rgcStatus;\n\t__be64 rgcLdcp;\n};\n\nstruct OpalIoP7IOCErrorData {\n\t__be16 type;\n\t__be64 gemXfir;\n\t__be64 gemRfir;\n\t__be64 gemRirqfir;\n\t__be64 gemMask;\n\t__be64 gemRwof;\n\t__be64 lemFir;\n\t__be64 lemErrMask;\n\t__be64 lemAction0;\n\t__be64 lemAction1;\n\t__be64 lemWof;\n\tunion {\n\t\tstruct OpalIoP7IOCRgcErrorData rgc;\n\t\tstruct OpalIoP7IOCBiErrorData bi;\n\t\tstruct OpalIoP7IOCCiErrorData ci;\n\t};\n};\n\nstruct OpalIoPhbErrorCommon {\n\t__be32 version;\n\t__be32 ioType;\n\t__be32 len;\n};\n\nstruct OpalIoP7IOCPhbErrorData {\n\tstruct OpalIoPhbErrorCommon common;\n\t__be32 brdgCtl;\n\t__be32 portStatusReg;\n\t__be32 rootCmplxStatus;\n\t__be32 busAgentStatus;\n\t__be32 deviceStatus;\n\t__be32 slotStatus;\n\t__be32 linkStatus;\n\t__be32 devCmdStatus;\n\t__be32 devSecStatus;\n\t__be32 rootErrorStatus;\n\t__be32 uncorrErrorStatus;\n\t__be32 corrErrorStatus;\n\t__be32 tlpHdr1;\n\t__be32 tlpHdr2;\n\t__be32 tlpHdr3;\n\t__be32 tlpHdr4;\n\t__be32 sourceId;\n\t__be32 rsv3;\n\t__be64 errorClass;\n\t__be64 correlator;\n\t__be64 p7iocPlssr;\n\t__be64 p7iocCsr;\n\t__be64 lemFir;\n\t__be64 lemErrorMask;\n\t__be64 lemWOF;\n\t__be64 phbErrorStatus;\n\t__be64 phbFirstErrorStatus;\n\t__be64 phbErrorLog0;\n\t__be64 phbErrorLog1;\n\t__be64 mmioErrorStatus;\n\t__be64 mmioFirstErrorStatus;\n\t__be64 mmioErrorLog0;\n\t__be64 mmioErrorLog1;\n\t__be64 dma0ErrorStatus;\n\t__be64 dma0FirstErrorStatus;\n\t__be64 dma0ErrorLog0;\n\t__be64 dma0ErrorLog1;\n\t__be64 dma1ErrorStatus;\n\t__be64 dma1FirstErrorStatus;\n\t__be64 dma1ErrorLog0;\n\t__be64 dma1ErrorLog1;\n\t__be64 pestA[128];\n\t__be64 pestB[128];\n};\n\nstruct OpalIoPhb3ErrorData {\n\tstruct OpalIoPhbErrorCommon common;\n\t__be32 brdgCtl;\n\t__be32 portStatusReg;\n\t__be32 rootCmplxStatus;\n\t__be32 busAgentStatus;\n\t__be32 deviceStatus;\n\t__be32 slotStatus;\n\t__be32 linkStatus;\n\t__be32 devCmdStatus;\n\t__be32 devSecStatus;\n\t__be32 rootErrorStatus;\n\t__be32 uncorrErrorStatus;\n\t__be32 corrErrorStatus;\n\t__be32 tlpHdr1;\n\t__be32 tlpHdr2;\n\t__be32 tlpHdr3;\n\t__be32 tlpHdr4;\n\t__be32 sourceId;\n\t__be32 rsv3;\n\t__be64 errorClass;\n\t__be64 correlator;\n\t__be64 nFir;\n\t__be64 nFirMask;\n\t__be64 nFirWOF;\n\t__be64 phbPlssr;\n\t__be64 phbCsr;\n\t__be64 lemFir;\n\t__be64 lemErrorMask;\n\t__be64 lemWOF;\n\t__be64 phbErrorStatus;\n\t__be64 phbFirstErrorStatus;\n\t__be64 phbErrorLog0;\n\t__be64 phbErrorLog1;\n\t__be64 mmioErrorStatus;\n\t__be64 mmioFirstErrorStatus;\n\t__be64 mmioErrorLog0;\n\t__be64 mmioErrorLog1;\n\t__be64 dma0ErrorStatus;\n\t__be64 dma0FirstErrorStatus;\n\t__be64 dma0ErrorLog0;\n\t__be64 dma0ErrorLog1;\n\t__be64 dma1ErrorStatus;\n\t__be64 dma1FirstErrorStatus;\n\t__be64 dma1ErrorLog0;\n\t__be64 dma1ErrorLog1;\n\t__be64 pestA[256];\n\t__be64 pestB[256];\n};\n\nstruct OpalIoPhb4ErrorData {\n\tstruct OpalIoPhbErrorCommon common;\n\t__be32 brdgCtl;\n\t__be32 deviceStatus;\n\t__be32 slotStatus;\n\t__be32 linkStatus;\n\t__be32 devCmdStatus;\n\t__be32 devSecStatus;\n\t__be32 rootErrorStatus;\n\t__be32 uncorrErrorStatus;\n\t__be32 corrErrorStatus;\n\t__be32 tlpHdr1;\n\t__be32 tlpHdr2;\n\t__be32 tlpHdr3;\n\t__be32 tlpHdr4;\n\t__be32 sourceId;\n\t__be64 nFir;\n\t__be64 nFirMask;\n\t__be64 nFirWOF;\n\t__be64 phbPlssr;\n\t__be64 phbCsr;\n\t__be64 lemFir;\n\t__be64 lemErrorMask;\n\t__be64 lemWOF;\n\t__be64 phbErrorStatus;\n\t__be64 phbFirstErrorStatus;\n\t__be64 phbErrorLog0;\n\t__be64 phbErrorLog1;\n\t__be64 phbTxeErrorStatus;\n\t__be64 phbTxeFirstErrorStatus;\n\t__be64 phbTxeErrorLog0;\n\t__be64 phbTxeErrorLog1;\n\t__be64 phbRxeArbErrorStatus;\n\t__be64 phbRxeArbFirstErrorStatus;\n\t__be64 phbRxeArbErrorLog0;\n\t__be64 phbRxeArbErrorLog1;\n\t__be64 phbRxeMrgErrorStatus;\n\t__be64 phbRxeMrgFirstErrorStatus;\n\t__be64 phbRxeMrgErrorLog0;\n\t__be64 phbRxeMrgErrorLog1;\n\t__be64 phbRxeTceErrorStatus;\n\t__be64 phbRxeTceFirstErrorStatus;\n\t__be64 phbRxeTceErrorLog0;\n\t__be64 phbRxeTceErrorLog1;\n\t__be64 phbPblErrorStatus;\n\t__be64 phbPblFirstErrorStatus;\n\t__be64 phbPblErrorLog0;\n\t__be64 phbPblErrorLog1;\n\t__be64 phbPcieDlpErrorLog1;\n\t__be64 phbPcieDlpErrorLog2;\n\t__be64 phbPcieDlpErrorStatus;\n\t__be64 phbRegbErrorStatus;\n\t__be64 phbRegbFirstErrorStatus;\n\t__be64 phbRegbErrorLog0;\n\t__be64 phbRegbErrorLog1;\n\t__be64 pestA[512];\n\t__be64 pestB[512];\n};\n\nstruct hlist_node {\n\tstruct hlist_node *next;\n\tstruct hlist_node **pprev;\n};\n\nstruct refcount_struct {\n\tatomic_t refs;\n};\n\ntypedef struct refcount_struct refcount_t;\n\nstruct sk_buff;\n\nstruct sk_buff_list {\n\tstruct sk_buff *next;\n\tstruct sk_buff *prev;\n};\n\nstruct sk_buff_head {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *next;\n\t\t\tstruct sk_buff *prev;\n\t\t};\n\t\tstruct sk_buff_list list;\n\t};\n\t__u32 qlen;\n\tspinlock_t lock;\n};\n\nstruct qdisc_skb_head {\n\tstruct sk_buff *head;\n\tstruct sk_buff *tail;\n\t__u32 qlen;\n\tspinlock_t lock;\n};\n\nstruct u64_stats_sync {};\n\nstruct gnet_stats_basic_sync {\n\tu64_stats_t bytes;\n\tu64_stats_t packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct gnet_stats_queue {\n\t__u32 qlen;\n\t__u32 backlog;\n\t__u32 drops;\n\t__u32 requeues;\n\t__u32 overlimits;\n};\n\nstruct callback_head {\n\tstruct callback_head *next;\n\tvoid (*func)(struct callback_head *);\n};\n\nstruct lock_class_key {};\n\nstruct Qdisc_ops;\n\nstruct qdisc_size_table;\n\nstruct netdev_queue;\n\nstruct net_rate_estimator;\n\nstruct Qdisc {\n\tint (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **);\n\tstruct sk_buff * (*dequeue)(struct Qdisc *);\n\tunsigned int flags;\n\tu32 limit;\n\tconst struct Qdisc_ops *ops;\n\tstruct qdisc_size_table *stab;\n\tstruct hlist_node hash;\n\tu32 handle;\n\tu32 parent;\n\tstruct netdev_queue *dev_queue;\n\tstruct net_rate_estimator *rate_est;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tint pad;\n\trefcount_t refcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sk_buff_head gso_skb;\n\tstruct qdisc_skb_head q;\n\tstruct gnet_stats_basic_sync bstats;\n\tstruct gnet_stats_queue qstats;\n\tint owner;\n\tlong unsigned int state;\n\tlong unsigned int state2;\n\tstruct Qdisc *next_sched;\n\tstruct sk_buff_head skb_bad_txq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t busylock;\n\tspinlock_t seqlock;\n\tstruct callback_head rcu;\n\tnetdevice_tracker dev_tracker;\n\tstruct lock_class_key root_lock_key;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong int privdata[0];\n};\n\nstruct Qdisc_class_common {\n\tu32 classid;\n\tunsigned int filter_cnt;\n\tstruct hlist_node hnode;\n};\n\nstruct hlist_head;\n\nstruct Qdisc_class_hash {\n\tstruct hlist_head *hash;\n\tunsigned int hashsize;\n\tunsigned int hashmask;\n\tunsigned int hashelems;\n};\n\nstruct tcmsg;\n\nstruct netlink_ext_ack;\n\nstruct nlattr;\n\nstruct qdisc_walker;\n\nstruct tcf_block;\n\nstruct gnet_dump;\n\nstruct Qdisc_class_ops {\n\tunsigned int flags;\n\tstruct netdev_queue * (*select_queue)(struct Qdisc *, struct tcmsg *);\n\tint (*graft)(struct Qdisc *, long unsigned int, struct Qdisc *, struct Qdisc **, struct netlink_ext_ack *);\n\tstruct Qdisc * (*leaf)(struct Qdisc *, long unsigned int);\n\tvoid (*qlen_notify)(struct Qdisc *, long unsigned int);\n\tlong unsigned int (*find)(struct Qdisc *, u32);\n\tint (*change)(struct Qdisc *, u32, u32, struct nlattr **, long unsigned int *, struct netlink_ext_ack *);\n\tint (*delete)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *);\n\tvoid (*walk)(struct Qdisc *, struct qdisc_walker *);\n\tstruct tcf_block * (*tcf_block)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *);\n\tlong unsigned int (*bind_tcf)(struct Qdisc *, long unsigned int, u32);\n\tvoid (*unbind_tcf)(struct Qdisc *, long unsigned int);\n\tint (*dump)(struct Qdisc *, long unsigned int, struct sk_buff *, struct tcmsg *);\n\tint (*dump_stats)(struct Qdisc *, long unsigned int, struct gnet_dump *);\n};\n\nstruct module;\n\nstruct Qdisc_ops {\n\tstruct Qdisc_ops *next;\n\tconst struct Qdisc_class_ops *cl_ops;\n\tchar id[16];\n\tint priv_size;\n\tunsigned int static_flags;\n\tint (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **);\n\tstruct sk_buff * (*dequeue)(struct Qdisc *);\n\tstruct sk_buff * (*peek)(struct Qdisc *);\n\tint (*init)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *);\n\tvoid (*reset)(struct Qdisc *);\n\tvoid (*destroy)(struct Qdisc *);\n\tint (*change)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *);\n\tvoid (*attach)(struct Qdisc *);\n\tint (*change_tx_queue_len)(struct Qdisc *, unsigned int);\n\tvoid (*change_real_num_tx)(struct Qdisc *, unsigned int);\n\tint (*dump)(struct Qdisc *, struct sk_buff *);\n\tint (*dump_stats)(struct Qdisc *, struct gnet_dump *);\n\tvoid (*ingress_block_set)(struct Qdisc *, u32);\n\tvoid (*egress_block_set)(struct Qdisc *, u32);\n\tu32 (*ingress_block_get)(struct Qdisc *);\n\tu32 (*egress_block_get)(struct Qdisc *);\n\tstruct module *owner;\n};\n\nstruct RGBT {\n\tunsigned char bpp;\n\tstruct {\n\t\tunsigned char offset;\n\t\tunsigned char length;\n\t} red;\n\tstruct {\n\t\tunsigned char offset;\n\t\tunsigned char length;\n\t} green;\n\tstruct {\n\t\tunsigned char offset;\n\t\tunsigned char length;\n\t} blue;\n\tstruct {\n\t\tunsigned char offset;\n\t\tunsigned char length;\n\t} transp;\n\tsigned char visual;\n};\n\nstruct RR_CL_s {\n\t__u8 location[8];\n};\n\nstruct RR_NM_s {\n\t__u8 flags;\n\tchar name[0];\n};\n\nstruct RR_PL_s {\n\t__u8 location[8];\n};\n\nstruct RR_PN_s {\n\t__u8 dev_high[8];\n\t__u8 dev_low[8];\n};\n\nstruct RR_PX_s {\n\t__u8 mode[8];\n\t__u8 n_links[8];\n\t__u8 uid[8];\n\t__u8 gid[8];\n};\n\nstruct RR_RR_s {\n\t__u8 flags[1];\n};\n\nstruct SL_component {\n\t__u8 flags;\n\t__u8 len;\n\t__u8 text[0];\n};\n\nstruct RR_SL_s {\n\t__u8 flags;\n\tstruct SL_component link;\n};\n\nstruct stamp {\n\t__u8 time[7];\n};\n\nstruct RR_TF_s {\n\t__u8 flags;\n\tstruct stamp times[0];\n};\n\nstruct RR_ZF_s {\n\t__u8 algorithm[2];\n\t__u8 parms[2];\n\t__u8 real_size[8];\n};\n\nstruct SU_CE_s {\n\t__u8 extent[8];\n\t__u8 offset[8];\n\t__u8 size[8];\n};\n\nstruct SU_ER_s {\n\t__u8 len_id;\n\t__u8 len_des;\n\t__u8 len_src;\n\t__u8 ext_ver;\n\t__u8 data[0];\n};\n\nstruct SU_SP_s {\n\t__u8 magic[2];\n\t__u8 skip;\n};\n\nstruct optimistic_spin_queue {\n\tatomic_t tail;\n};\n\nstruct mutex {\n\tatomic_long_t owner;\n\traw_spinlock_t wait_lock;\n\tstruct optimistic_spin_queue osq;\n\tstruct list_head wait_list;\n\tvoid *magic;\n};\n\nstruct kref {\n\trefcount_t refcount;\n};\n\nstruct swait_queue_head {\n\traw_spinlock_t lock;\n\tstruct list_head task_list;\n};\n\nstruct completion {\n\tunsigned int done;\n\tstruct swait_queue_head wait;\n};\n\nstruct blk_mq_queue_map {\n\tunsigned int *mq_map;\n\tunsigned int nr_queues;\n\tunsigned int queue_offset;\n};\n\nstruct blk_mq_ops;\n\nstruct blk_mq_tags;\n\nstruct blk_mq_tag_set {\n\tconst struct blk_mq_ops *ops;\n\tstruct blk_mq_queue_map map[3];\n\tunsigned int nr_maps;\n\tunsigned int nr_hw_queues;\n\tunsigned int queue_depth;\n\tunsigned int reserved_tags;\n\tunsigned int cmd_size;\n\tint numa_node;\n\tunsigned int timeout;\n\tunsigned int flags;\n\tvoid *driver_data;\n\tstruct blk_mq_tags **tags;\n\tstruct blk_mq_tags *shared_tags;\n\tstruct mutex tag_list_lock;\n\tstruct list_head tag_list;\n\tstruct srcu_struct *srcu;\n};\n\nstruct kset;\n\nstruct kobj_type;\n\nstruct kernfs_node;\n\nstruct kobject {\n\tconst char *name;\n\tstruct list_head entry;\n\tstruct kobject *parent;\n\tstruct kset *kset;\n\tconst struct kobj_type *ktype;\n\tstruct kernfs_node *sd;\n\tstruct kref kref;\n\tunsigned int state_initialized: 1;\n\tunsigned int state_in_sysfs: 1;\n\tunsigned int state_add_uevent_sent: 1;\n\tunsigned int state_remove_uevent_sent: 1;\n\tunsigned int uevent_suppress: 1;\n};\n\nstruct dev_links_info {\n\tstruct list_head suppliers;\n\tstruct list_head consumers;\n\tstruct list_head defer_sync;\n\tenum dl_dev_state status;\n};\n\nstruct pm_message {\n\tint event;\n};\n\ntypedef struct pm_message pm_message_t;\n\nstruct rb_node {\n\tlong unsigned int __rb_parent_color;\n\tstruct rb_node *rb_right;\n\tstruct rb_node *rb_left;\n};\n\nstruct timerqueue_node {\n\tstruct rb_node node;\n\tktime_t expires;\n};\n\nstruct hrtimer_clock_base;\n\nstruct hrtimer {\n\tstruct timerqueue_node node;\n\tktime_t _softexpires;\n\tenum hrtimer_restart (*function)(struct hrtimer *);\n\tstruct hrtimer_clock_base *base;\n\tu8 state;\n\tu8 is_rel;\n\tu8 is_soft;\n\tu8 is_hard;\n};\n\nstruct work_struct;\n\ntypedef void (*work_func_t)(struct work_struct *);\n\nstruct work_struct {\n\tatomic_long_t data;\n\tstruct list_head entry;\n\twork_func_t func;\n};\n\nstruct wakeup_source;\n\nstruct wake_irq;\n\nstruct pm_subsys_data;\n\nstruct device;\n\nstruct dev_pm_qos;\n\nstruct dev_pm_info {\n\tpm_message_t power_state;\n\tbool can_wakeup: 1;\n\tbool async_suspend: 1;\n\tbool in_dpm_list: 1;\n\tbool is_prepared: 1;\n\tbool is_suspended: 1;\n\tbool is_noirq_suspended: 1;\n\tbool is_late_suspended: 1;\n\tbool no_pm: 1;\n\tbool early_init: 1;\n\tbool direct_complete: 1;\n\tu32 driver_flags;\n\tspinlock_t lock;\n\tstruct list_head entry;\n\tstruct completion completion;\n\tstruct wakeup_source *wakeup;\n\tbool wakeup_path: 1;\n\tbool syscore: 1;\n\tbool no_pm_callbacks: 1;\n\tbool async_in_progress: 1;\n\tbool must_resume: 1;\n\tbool set_active: 1;\n\tbool may_skip_resume: 1;\n\tstruct hrtimer suspend_timer;\n\tu64 timer_expires;\n\tstruct work_struct work;\n\twait_queue_head_t wait_queue;\n\tstruct wake_irq *wakeirq;\n\tatomic_t usage_count;\n\tatomic_t child_count;\n\tunsigned int disable_depth: 3;\n\tbool idle_notification: 1;\n\tbool request_pending: 1;\n\tbool deferred_resume: 1;\n\tbool needs_force_resume: 1;\n\tbool runtime_auto: 1;\n\tbool ignore_children: 1;\n\tbool no_callbacks: 1;\n\tbool irq_safe: 1;\n\tbool use_autosuspend: 1;\n\tbool timer_autosuspends: 1;\n\tbool memalloc_noio: 1;\n\tunsigned int links_count;\n\tenum rpm_request request;\n\tenum rpm_status runtime_status;\n\tenum rpm_status last_status;\n\tint runtime_error;\n\tint autosuspend_delay;\n\tu64 last_busy;\n\tu64 active_time;\n\tu64 suspended_time;\n\tu64 accounting_timestamp;\n\tstruct pm_subsys_data *subsys_data;\n\tvoid (*set_latency_tolerance)(struct device *, s32);\n\tstruct dev_pm_qos *qos;\n};\n\nstruct irq_domain;\n\nstruct msi_device_data;\n\nstruct dev_msi_info {\n\tstruct irq_domain *domain;\n\tstruct msi_device_data *data;\n};\n\nstruct iommu_table;\n\nstruct pci_dn;\n\nstruct eeh_dev;\n\nstruct dev_archdata {\n\tdma_addr_t dma_offset;\n\tstruct iommu_table *iommu_table_base;\n\tstruct pci_dn *pci_data;\n\tstruct eeh_dev *edev;\n};\n\nstruct device_private;\n\nstruct device_type;\n\nstruct bus_type;\n\nstruct device_driver;\n\nstruct dev_pm_domain;\n\nstruct dma_map_ops;\n\nstruct bus_dma_region;\n\nstruct device_dma_parameters;\n\nstruct dma_coherent_mem;\n\nstruct io_tlb_mem;\n\nstruct device_node;\n\nstruct fwnode_handle;\n\nstruct class;\n\nstruct attribute_group;\n\nstruct iommu_group;\n\nstruct dev_iommu;\n\nstruct device_physical_location;\n\nstruct device {\n\tstruct kobject kobj;\n\tstruct device *parent;\n\tstruct device_private *p;\n\tconst char *init_name;\n\tconst struct device_type *type;\n\tconst struct bus_type *bus;\n\tstruct device_driver *driver;\n\tvoid *platform_data;\n\tvoid *driver_data;\n\tstruct mutex mutex;\n\tstruct dev_links_info links;\n\tstruct dev_pm_info power;\n\tstruct dev_pm_domain *pm_domain;\n\tstruct dev_msi_info msi;\n\tconst struct dma_map_ops *dma_ops;\n\tu64 *dma_mask;\n\tu64 coherent_dma_mask;\n\tu64 bus_dma_limit;\n\tconst struct bus_dma_region *dma_range_map;\n\tstruct device_dma_parameters *dma_parms;\n\tstruct list_head dma_pools;\n\tstruct dma_coherent_mem *dma_mem;\n\tstruct io_tlb_mem *dma_io_tlb_mem;\n\tstruct dev_archdata archdata;\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tint numa_node;\n\tdev_t devt;\n\tu32 id;\n\tspinlock_t devres_lock;\n\tstruct list_head devres_head;\n\tconst struct class *class;\n\tconst struct attribute_group **groups;\n\tvoid (*release)(struct device *);\n\tstruct iommu_group *iommu_group;\n\tstruct dev_iommu *iommu;\n\tstruct device_physical_location *physical_location;\n\tenum device_removable removable;\n\tbool offline_disabled: 1;\n\tbool offline: 1;\n\tbool of_node_reused: 1;\n\tbool state_synced: 1;\n\tbool can_match: 1;\n\tbool dma_ops_bypass: 1;\n\tbool dma_skip_sync: 1;\n};\n\nstruct scsi_host_template;\n\nstruct scsi_transport_template;\n\nstruct workqueue_struct;\n\nstruct Scsi_Host {\n\tstruct list_head __devices;\n\tstruct list_head __targets;\n\tstruct list_head starved_list;\n\tspinlock_t default_lock;\n\tspinlock_t *host_lock;\n\tstruct mutex scan_mutex;\n\tstruct list_head eh_abort_list;\n\tstruct list_head eh_cmd_q;\n\tstruct task_struct *ehandler;\n\tstruct completion *eh_action;\n\twait_queue_head_t host_wait;\n\tconst struct scsi_host_template *hostt;\n\tstruct scsi_transport_template *transportt;\n\tstruct kref tagset_refcnt;\n\tstruct completion tagset_freed;\n\tstruct blk_mq_tag_set tag_set;\n\tatomic_t host_blocked;\n\tunsigned int host_failed;\n\tunsigned int host_eh_scheduled;\n\tunsigned int host_no;\n\tint eh_deadline;\n\tlong unsigned int last_reset;\n\tunsigned int max_channel;\n\tunsigned int max_id;\n\tu64 max_lun;\n\tunsigned int unique_id;\n\tshort unsigned int max_cmd_len;\n\tint this_id;\n\tint can_queue;\n\tshort int cmd_per_lun;\n\tshort unsigned int sg_tablesize;\n\tshort unsigned int sg_prot_tablesize;\n\tunsigned int max_sectors;\n\tunsigned int opt_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int dma_alignment;\n\tlong unsigned int dma_boundary;\n\tlong unsigned int virt_boundary_mask;\n\tunsigned int nr_hw_queues;\n\tunsigned int nr_maps;\n\tunsigned int active_mode: 2;\n\tunsigned int host_self_blocked: 1;\n\tunsigned int reverse_ordering: 1;\n\tunsigned int tmf_in_progress: 1;\n\tunsigned int async_scan: 1;\n\tunsigned int eh_noresume: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int host_tagset: 1;\n\tunsigned int queuecommand_may_block: 1;\n\tunsigned int short_inquiry: 1;\n\tunsigned int no_scsi2_lun_in_cdb: 1;\n\tunsigned int no_highmem: 1;\n\tstruct workqueue_struct *work_q;\n\tstruct workqueue_struct *tmf_work_q;\n\tunsigned int max_host_blocked;\n\tunsigned int prot_capabilities;\n\tunsigned char prot_guard_type;\n\tlong unsigned int base;\n\tlong unsigned int io_port;\n\tunsigned char n_io_port;\n\tunsigned char dma_channel;\n\tunsigned int irq;\n\tenum scsi_host_state shost_state;\n\tstruct device shost_gendev;\n\tstruct device shost_dev;\n\tvoid *shost_data;\n\tstruct device *dma_dev;\n\tint rpm_autosuspend_delay;\n\tlong unsigned int hostdata[0];\n};\n\nstruct xxh64_state {\n\tuint64_t total_len;\n\tuint64_t v1;\n\tuint64_t v2;\n\tuint64_t v3;\n\tuint64_t v4;\n\tuint64_t mem64[4];\n\tuint32_t memsize;\n};\n\nstruct ZSTD_outBuffer_s {\n\tvoid *dst;\n\tsize_t size;\n\tsize_t pos;\n};\n\ntypedef struct ZSTD_outBuffer_s ZSTD_outBuffer;\n\nstruct ZSTD_DCtx_s {\n\tconst ZSTD_seqSymbol *LLTptr;\n\tconst ZSTD_seqSymbol *MLTptr;\n\tconst ZSTD_seqSymbol *OFTptr;\n\tconst HUF_DTable *HUFptr;\n\tZSTD_entropyDTables_t entropy;\n\tU32 workspace[640];\n\tconst void *previousDstEnd;\n\tconst void *prefixStart;\n\tconst void *virtualStart;\n\tconst void *dictEnd;\n\tsize_t expected;\n\tZSTD_frameHeader fParams;\n\tU64 processedCSize;\n\tU64 decodedSize;\n\tblockType_e bType;\n\tZSTD_dStage stage;\n\tU32 litEntropy;\n\tU32 fseEntropy;\n\tstruct xxh64_state xxhState;\n\tsize_t headerSize;\n\tZSTD_format_e format;\n\tZSTD_forceIgnoreChecksum_e forceIgnoreChecksum;\n\tU32 validateChecksum;\n\tconst BYTE *litPtr;\n\tZSTD_customMem customMem;\n\tsize_t litSize;\n\tsize_t rleSize;\n\tsize_t staticSize;\n\tZSTD_DDict *ddictLocal;\n\tconst ZSTD_DDict *ddict;\n\tU32 dictID;\n\tint ddictIsCold;\n\tZSTD_dictUses_e dictUses;\n\tZSTD_DDictHashSet *ddictSet;\n\tZSTD_refMultipleDDicts_e refMultipleDDicts;\n\tZSTD_dStreamStage streamStage;\n\tchar *inBuff;\n\tsize_t inBuffSize;\n\tsize_t inPos;\n\tsize_t maxWindowSize;\n\tchar *outBuff;\n\tsize_t outBuffSize;\n\tsize_t outStart;\n\tsize_t outEnd;\n\tsize_t lhSize;\n\tU32 hostageByte;\n\tint noForwardProgress;\n\tZSTD_bufferMode_e outBufferMode;\n\tZSTD_outBuffer expectedOutBuffer;\n\tBYTE *litBuffer;\n\tconst BYTE *litBufferEnd;\n\tZSTD_litLocation_e litBufferLocation;\n\tBYTE litExtraBuffer[65568];\n\tBYTE headerBuffer[18];\n\tsize_t oversizedDuration;\n};\n\ntypedef struct ZSTD_DCtx_s ZSTD_DCtx;\n\ntypedef ZSTD_DCtx ZSTD_DStream;\n\ntypedef ZSTD_DCtx zstd_dctx;\n\ntypedef ZSTD_DStream zstd_dstream;\n\nstruct ZSTD_DDict_s {\n\tvoid *dictBuffer;\n\tconst void *dictContent;\n\tsize_t dictSize;\n\tZSTD_entropyDTables_t entropy;\n\tU32 dictID;\n\tU32 entropyPresent;\n\tZSTD_customMem cMem;\n};\n\ntypedef ZSTD_DDict zstd_ddict;\n\nstruct ZSTD_inBuffer_s {\n\tconst void *src;\n\tsize_t size;\n\tsize_t pos;\n};\n\ntypedef struct ZSTD_inBuffer_s ZSTD_inBuffer;\n\ntypedef ZSTD_inBuffer zstd_in_buffer;\n\ntypedef ZSTD_outBuffer zstd_out_buffer;\n\nstruct __aio_sigset {\n\tconst sigset_t *sigmask;\n\tsize_t sigsetsize;\n};\n\nstruct user_pt_regs {\n\tlong unsigned int gpr[32];\n\tlong unsigned int nip;\n\tlong unsigned int msr;\n\tlong unsigned int orig_gpr3;\n\tlong unsigned int ctr;\n\tlong unsigned int link;\n\tlong unsigned int xer;\n\tlong unsigned int ccr;\n\tlong unsigned int softe;\n\tlong unsigned int trap;\n\tlong unsigned int dar;\n\tlong unsigned int dsisr;\n\tlong unsigned int result;\n};\n\nstruct pt_regs {\n\tunion {\n\t\tstruct user_pt_regs user_regs;\n\t\tstruct {\n\t\t\tlong unsigned int gpr[32];\n\t\t\tlong unsigned int nip;\n\t\t\tlong unsigned int msr;\n\t\t\tlong unsigned int orig_gpr3;\n\t\t\tlong unsigned int ctr;\n\t\t\tlong unsigned int link;\n\t\t\tlong unsigned int xer;\n\t\t\tlong unsigned int ccr;\n\t\t\tlong unsigned int softe;\n\t\t\tlong unsigned int trap;\n\t\t\tunion {\n\t\t\t\tlong unsigned int dar;\n\t\t\t\tlong unsigned int dear;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tlong unsigned int dsisr;\n\t\t\t\tlong unsigned int esr;\n\t\t\t};\n\t\t\tlong unsigned int result;\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int ppr;\n\t\t\tlong unsigned int exit_result;\n\t\t\tunion {\n\t\t\t\tlong unsigned int kuap;\n\t\t\t\tlong unsigned int amr;\n\t\t\t};\n\t\t\tlong unsigned int iamr;\n\t\t};\n\t\tlong unsigned int __pad[4];\n\t};\n};\n\nstruct __arch_ftrace_regs {\n\tstruct pt_regs regs;\n};\n\nstruct llist_node {\n\tstruct llist_node *next;\n};\n\nstruct __call_single_node {\n\tstruct llist_node llist;\n\tunion {\n\t\tunsigned int u_flags;\n\t\tatomic_t a_flags;\n\t};\n\tu16 src;\n\tu16 dst;\n};\n\ntypedef void (*smp_call_func_t)(void *);\n\nstruct __call_single_data {\n\tstruct __call_single_node node;\n\tsmp_call_func_t func;\n\tvoid *info;\n};\n\ntypedef struct __call_single_data call_single_data_t;\n\nstruct cpumask;\n\nstruct __cmp_key {\n\tconst struct cpumask *cpus;\n\tstruct cpumask ***masks;\n\tint node;\n\tint cpu;\n\tint w;\n};\n\nstruct __fat_dirent {\n\tlong int d_ino;\n\t__kernel_off_t d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[256];\n};\n\nstruct __fb_timings {\n\tu32 dclk;\n\tu32 hfreq;\n\tu32 vfreq;\n\tu32 hactive;\n\tu32 vactive;\n\tu32 hblank;\n\tu32 vblank;\n\tu32 htotal;\n\tu32 vtotal;\n};\n\nstruct genradix_root;\n\nstruct __genradix {\n\tstruct genradix_root *root;\n};\n\nstruct pmu;\n\nstruct cgroup;\n\nstruct __group_key {\n\tint cpu;\n\tstruct pmu *pmu;\n\tstruct cgroup *cgroup;\n};\n\nstruct __ip6_tnl_parm {\n\tchar name[16];\n\tint link;\n\t__u8 proto;\n\t__u8 encap_limit;\n\t__u8 hop_limit;\n\tbool collect_md;\n\t__be32 flowinfo;\n\t__u32 flags;\n\tstruct in6_addr laddr;\n\tstruct in6_addr raddr;\n\tlong unsigned int i_flags[1];\n\tlong unsigned int o_flags[1];\n\t__be32 i_key;\n\t__be32 o_key;\n\t__u32 fwmark;\n\t__u32 index;\n\t__u8 erspan_ver;\n\t__u8 dir;\n\t__u16 hwid;\n};\n\nstruct __kernel_timespec {\n\t__kernel_time64_t tv_sec;\n\tlong long int tv_nsec;\n};\n\nstruct __kernel_itimerspec {\n\tstruct __kernel_timespec it_interval;\n\tstruct __kernel_timespec it_value;\n};\n\nstruct __kernel_old_timeval {\n\t__kernel_long_t tv_sec;\n\t__kernel_long_t tv_usec;\n};\n\nstruct __kernel_old_itimerval {\n\tstruct __kernel_old_timeval it_interval;\n\tstruct __kernel_old_timeval it_value;\n};\n\nstruct __kernel_old_timespec {\n\t__kernel_old_time_t tv_sec;\n\tlong int tv_nsec;\n};\n\nstruct __kernel_sock_timeval {\n\t__s64 tv_sec;\n\t__s64 tv_usec;\n};\n\nstruct __kernel_sockaddr_storage {\n\tunion {\n\t\tstruct {\n\t\t\t__kernel_sa_family_t ss_family;\n\t\t\tchar __data[126];\n\t\t};\n\t\tvoid *__align;\n\t};\n};\n\nstruct __kernel_timex_timeval {\n\t__kernel_time64_t tv_sec;\n\tlong long int tv_usec;\n};\n\nstruct __kernel_timex {\n\tunsigned int modes;\n\tlong long int offset;\n\tlong long int freq;\n\tlong long int maxerror;\n\tlong long int esterror;\n\tint status;\n\tlong long int constant;\n\tlong long int precision;\n\tlong long int tolerance;\n\tstruct __kernel_timex_timeval time;\n\tlong long int tick;\n\tlong long int ppsfreq;\n\tlong long int jitter;\n\tint shift;\n\tlong long int stabil;\n\tlong long int jitcnt;\n\tlong long int calcnt;\n\tlong long int errcnt;\n\tlong long int stbcnt;\n\tint tai;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct __kfifo {\n\tunsigned int in;\n\tunsigned int out;\n\tunsigned int mask;\n\tunsigned int esize;\n\tvoid *data;\n};\n\nunion sigval {\n\tint sival_int;\n\tvoid *sival_ptr;\n};\n\ntypedef union sigval sigval_t;\n\nunion __sifields {\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t} _kill;\n\tstruct {\n\t\t__kernel_timer_t _tid;\n\t\tint _overrun;\n\t\tsigval_t _sigval;\n\t\tint _sys_private;\n\t} _timer;\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t\tsigval_t _sigval;\n\t} _rt;\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t\tint _status;\n\t\t__kernel_clock_t _utime;\n\t\t__kernel_clock_t _stime;\n\t} _sigchld;\n\tstruct {\n\t\tvoid *_addr;\n\t\tunion {\n\t\t\tint _trapno;\n\t\t\tshort int _addr_lsb;\n\t\t\tstruct {\n\t\t\t\tchar _dummy_bnd[8];\n\t\t\t\tvoid *_lower;\n\t\t\t\tvoid *_upper;\n\t\t\t} _addr_bnd;\n\t\t\tstruct {\n\t\t\t\tchar _dummy_pkey[8];\n\t\t\t\t__u32 _pkey;\n\t\t\t} _addr_pkey;\n\t\t\tstruct {\n\t\t\t\tlong unsigned int _data;\n\t\t\t\t__u32 _type;\n\t\t\t\t__u32 _flags;\n\t\t\t} _perf;\n\t\t};\n\t} _sigfault;\n\tstruct {\n\t\tlong int _band;\n\t\tint _fd;\n\t} _sigpoll;\n\tstruct {\n\t\tvoid *_call_addr;\n\t\tint _syscall;\n\t\tunsigned int _arch;\n\t} _sigsys;\n};\n\nstruct bpf_flow_keys;\n\nstruct bpf_sock;\n\nstruct __sk_buff {\n\t__u32 len;\n\t__u32 pkt_type;\n\t__u32 mark;\n\t__u32 queue_mapping;\n\t__u32 protocol;\n\t__u32 vlan_present;\n\t__u32 vlan_tci;\n\t__u32 vlan_proto;\n\t__u32 priority;\n\t__u32 ingress_ifindex;\n\t__u32 ifindex;\n\t__u32 tc_index;\n\t__u32 cb[5];\n\t__u32 hash;\n\t__u32 tc_classid;\n\t__u32 data;\n\t__u32 data_end;\n\t__u32 napi_id;\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 data_meta;\n\tunion {\n\t\tstruct bpf_flow_keys *flow_keys;\n\t};\n\t__u64 tstamp;\n\t__u32 wire_len;\n\t__u32 gso_segs;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\t__u32 gso_size;\n\t__u8 tstamp_type;\n\t__u64 hwtstamp;\n};\n\nstruct dentry;\n\nstruct __track_dentry_update_args {\n\tstruct dentry *dentry;\n\tint op;\n};\n\nstruct __track_range_args {\n\text4_lblk_t start;\n\text4_lblk_t end;\n};\n\nstruct __una_u32 {\n\tu32 x;\n};\n\nstruct inode;\n\nstruct __uprobe_key {\n\tstruct inode *inode;\n\tloff_t offset;\n};\n\nstruct __user_cap_data_struct {\n\t__u32 effective;\n\t__u32 permitted;\n\t__u32 inheritable;\n};\n\ntypedef struct __user_cap_data_struct *cap_user_data_t;\n\nstruct __user_cap_header_struct {\n\t__u32 version;\n\tint pid;\n};\n\ntypedef struct __user_cap_header_struct *cap_user_header_t;\n\nstruct __xfsstats {\n\tuint32_t xs_allocx;\n\tuint32_t xs_allocb;\n\tuint32_t xs_freex;\n\tuint32_t xs_freeb;\n\tuint32_t xs_abt_lookup;\n\tuint32_t xs_abt_compare;\n\tuint32_t xs_abt_insrec;\n\tuint32_t xs_abt_delrec;\n\tuint32_t xs_blk_mapr;\n\tuint32_t xs_blk_mapw;\n\tuint32_t xs_blk_unmap;\n\tuint32_t xs_add_exlist;\n\tuint32_t xs_del_exlist;\n\tuint32_t xs_look_exlist;\n\tuint32_t xs_cmp_exlist;\n\tuint32_t xs_bmbt_lookup;\n\tuint32_t xs_bmbt_compare;\n\tuint32_t xs_bmbt_insrec;\n\tuint32_t xs_bmbt_delrec;\n\tuint32_t xs_dir_lookup;\n\tuint32_t xs_dir_create;\n\tuint32_t xs_dir_remove;\n\tuint32_t xs_dir_getdents;\n\tuint32_t xs_trans_sync;\n\tuint32_t xs_trans_async;\n\tuint32_t xs_trans_empty;\n\tuint32_t xs_ig_attempts;\n\tuint32_t xs_ig_found;\n\tuint32_t xs_ig_frecycle;\n\tuint32_t xs_ig_missed;\n\tuint32_t xs_ig_dup;\n\tuint32_t xs_ig_reclaims;\n\tuint32_t xs_ig_attrchg;\n\tuint32_t xs_log_writes;\n\tuint32_t xs_log_blocks;\n\tuint32_t xs_log_noiclogs;\n\tuint32_t xs_log_force;\n\tuint32_t xs_log_force_sleep;\n\tuint32_t xs_try_logspace;\n\tuint32_t xs_sleep_logspace;\n\tuint32_t xs_push_ail;\n\tuint32_t xs_push_ail_success;\n\tuint32_t xs_push_ail_pushbuf;\n\tuint32_t xs_push_ail_pinned;\n\tuint32_t xs_push_ail_locked;\n\tuint32_t xs_push_ail_flushing;\n\tuint32_t xs_push_ail_restarts;\n\tuint32_t xs_push_ail_flush;\n\tuint32_t xs_xstrat_quick;\n\tuint32_t xs_xstrat_split;\n\tuint32_t xs_write_calls;\n\tuint32_t xs_read_calls;\n\tuint32_t xs_attr_get;\n\tuint32_t xs_attr_set;\n\tuint32_t xs_attr_remove;\n\tuint32_t xs_attr_list;\n\tuint32_t xs_iflush_count;\n\tuint32_t xs_icluster_flushcnt;\n\tuint32_t xs_icluster_flushinode;\n\tuint32_t vn_active;\n\tuint32_t vn_alloc;\n\tuint32_t vn_get;\n\tuint32_t vn_hold;\n\tuint32_t vn_rele;\n\tuint32_t vn_reclaim;\n\tuint32_t vn_remove;\n\tuint32_t vn_free;\n\tuint32_t xb_get;\n\tuint32_t xb_create;\n\tuint32_t xb_get_locked;\n\tuint32_t xb_get_locked_waited;\n\tuint32_t xb_busy_locked;\n\tuint32_t xb_miss_locked;\n\tuint32_t xb_page_retries;\n\tuint32_t xb_page_found;\n\tuint32_t xb_get_read;\n\tuint32_t xs_abtb_2[15];\n\tuint32_t xs_abtc_2[15];\n\tuint32_t xs_bmbt_2[15];\n\tuint32_t xs_ibt_2[15];\n\tuint32_t xs_fibt_2[15];\n\tuint32_t xs_rmap_2[15];\n\tuint32_t xs_refcbt_2[15];\n\tuint32_t xs_rmap_mem_2[15];\n\tuint32_t xs_rcbag_2[15];\n\tuint32_t xs_rtrmap_2[15];\n\tuint32_t xs_rtrmap_mem_2[15];\n\tuint32_t xs_rtrefcbt_2[15];\n\tuint32_t xs_qm_dqreclaims;\n\tuint32_t xs_qm_dqreclaim_misses;\n\tuint32_t xs_qm_dquot_dups;\n\tuint32_t xs_qm_dqcachemisses;\n\tuint32_t xs_qm_dqcachehits;\n\tuint32_t xs_qm_dqwants;\n\tuint32_t xs_qm_dquot;\n\tuint32_t xs_qm_dquot_unused;\n\tuint64_t xs_xstrat_bytes;\n\tuint64_t xs_write_bytes;\n\tuint64_t xs_read_bytes;\n\tuint64_t defer_relog;\n};\n\nstruct net_device;\n\nstruct _bpf_dtab_netdev {\n\tstruct net_device *dev;\n};\n\nstruct _flow_keys_digest_data {\n\t__be16 n_proto;\n\tu8 ip_proto;\n\tu8 padding;\n\t__be32 ports;\n\t__be32 src;\n\t__be32 dst;\n};\n\nstruct _gpt_entry_attributes {\n\tu64 required_to_function: 1;\n\tu64 reserved: 47;\n\tu64 type_guid_specific: 16;\n};\n\ntypedef struct _gpt_entry_attributes gpt_entry_attributes;\n\nstruct _gpt_entry {\n\tefi_guid_t partition_type_guid;\n\tefi_guid_t unique_partition_guid;\n\t__le64 starting_lba;\n\t__le64 ending_lba;\n\tgpt_entry_attributes attributes;\n\t__le16 partition_name[36];\n};\n\ntypedef struct _gpt_entry gpt_entry;\n\nstruct _gpt_header {\n\t__le64 signature;\n\t__le32 revision;\n\t__le32 header_size;\n\t__le32 header_crc32;\n\t__le32 reserved1;\n\t__le64 my_lba;\n\t__le64 alternate_lba;\n\t__le64 first_usable_lba;\n\t__le64 last_usable_lba;\n\tefi_guid_t disk_guid;\n\t__le64 partition_entry_lba;\n\t__le32 num_partition_entries;\n\t__le32 sizeof_partition_entry;\n\t__le32 partition_entry_array_crc32;\n} __attribute__((packed));\n\ntypedef struct _gpt_header gpt_header;\n\nstruct _gpt_mbr_record {\n\tu8 boot_indicator;\n\tu8 start_head;\n\tu8 start_sector;\n\tu8 start_track;\n\tu8 os_type;\n\tu8 end_head;\n\tu8 end_sector;\n\tu8 end_track;\n\t__le32 starting_lba;\n\t__le32 size_in_lba;\n};\n\ntypedef struct _gpt_mbr_record gpt_mbr_record;\n\nstruct kvm_stats_desc {\n\t__u32 flags;\n\t__s16 exponent;\n\t__u16 size;\n\t__u32 offset;\n\t__u32 bucket_size;\n\tchar name[0];\n};\n\nstruct _kvm_stats_desc {\n\tstruct kvm_stats_desc desc;\n\tchar name[48];\n};\n\nstruct _legacy_mbr {\n\tu8 boot_code[440];\n\t__le32 unique_mbr_signature;\n\t__le16 unknown;\n\tgpt_mbr_record partition_record[4];\n\t__le16 signature;\n} __attribute__((packed));\n\ntypedef struct _legacy_mbr legacy_mbr;\n\nstruct strp_msg {\n\tint full_len;\n\tint offset;\n};\n\nstruct _strp_msg {\n\tstruct strp_msg strp;\n\tint accum_len;\n};\n\nstruct a4tech_sc {\n\tlong unsigned int quirks;\n\tunsigned int hw_wheel;\n\t__s32 delayed_value;\n};\n\nstruct seq_net_private {\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n};\n\nstruct ac6_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n};\n\nstruct access_coordinate {\n\tunsigned int read_bandwidth;\n\tunsigned int write_bandwidth;\n\tunsigned int read_latency;\n\tunsigned int write_latency;\n};\n\nstruct access_masks {\n\taccess_mask_t fs: 16;\n\taccess_mask_t net: 2;\n\taccess_mask_t scope: 2;\n};\n\nunion access_masks_all {\n\tstruct access_masks masks;\n\tu32 all;\n};\n\nstruct access_report_info {\n\tstruct callback_head work;\n\tconst char *access;\n\tstruct task_struct *target;\n\tstruct task_struct *agent;\n};\n\nstruct acct_v3 {\n\tchar ac_flag;\n\tchar ac_version;\n\t__u16 ac_tty;\n\t__u32 ac_exitcode;\n\t__u32 ac_uid;\n\t__u32 ac_gid;\n\t__u32 ac_pid;\n\t__u32 ac_ppid;\n\t__u32 ac_btime;\n\t__u32 ac_etime;\n\tcomp_t ac_utime;\n\tcomp_t ac_stime;\n\tcomp_t ac_mem;\n\tcomp_t ac_io;\n\tcomp_t ac_rw;\n\tcomp_t ac_minflt;\n\tcomp_t ac_majflt;\n\tcomp_t ac_swaps;\n\tchar ac_comm[16];\n};\n\ntypedef struct acct_v3 acct_t;\n\nstruct ack_sample {\n\tu32 pkts_acked;\n\ts32 rtt_us;\n\tu32 in_flight;\n};\n\nstruct crypto_tfm;\n\nstruct cipher_alg {\n\tunsigned int cia_min_keysize;\n\tunsigned int cia_max_keysize;\n\tint (*cia_setkey)(struct crypto_tfm *, const u8 *, unsigned int);\n\tvoid (*cia_encrypt)(struct crypto_tfm *, u8 *, const u8 *);\n\tvoid (*cia_decrypt)(struct crypto_tfm *, u8 *, const u8 *);\n};\n\nstruct compress_alg {\n\tint (*coa_compress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *);\n\tint (*coa_decompress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *);\n};\n\nstruct crypto_type;\n\nstruct crypto_alg {\n\tstruct list_head cra_list;\n\tstruct list_head cra_users;\n\tu32 cra_flags;\n\tunsigned int cra_blocksize;\n\tunsigned int cra_ctxsize;\n\tunsigned int cra_alignmask;\n\tint cra_priority;\n\trefcount_t cra_refcnt;\n\tchar cra_name[128];\n\tchar cra_driver_name[128];\n\tconst struct crypto_type *cra_type;\n\tunion {\n\t\tstruct cipher_alg cipher;\n\t\tstruct compress_alg compress;\n\t} cra_u;\n\tint (*cra_init)(struct crypto_tfm *);\n\tvoid (*cra_exit)(struct crypto_tfm *);\n\tvoid (*cra_destroy)(struct crypto_alg *);\n\tstruct module *cra_module;\n};\n\nstruct comp_alg_common {\n\tstruct crypto_alg base;\n};\n\nstruct acomp_req;\n\nstruct scatterlist;\n\nstruct crypto_acomp;\n\nstruct acomp_alg {\n\tint (*compress)(struct acomp_req *);\n\tint (*decompress)(struct acomp_req *);\n\tvoid (*dst_free)(struct scatterlist *);\n\tint (*init)(struct crypto_acomp *);\n\tvoid (*exit)(struct crypto_acomp *);\n\tunsigned int reqsize;\n\tunion {\n\t\tstruct {\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct comp_alg_common calg;\n\t};\n};\n\ntypedef void (*crypto_completion_t)(void *, int);\n\nstruct crypto_async_request {\n\tstruct list_head list;\n\tcrypto_completion_t complete;\n\tvoid *data;\n\tstruct crypto_tfm *tfm;\n\tu32 flags;\n};\n\nstruct acomp_req {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int slen;\n\tunsigned int dlen;\n\tu32 flags;\n\tvoid *__ctx[0];\n};\n\nstruct acpi_device_id {\n\t__u8 id[16];\n\tkernel_ulong_t driver_data;\n\t__u32 cls;\n\t__u32 cls_msk;\n};\n\nstruct action_cache {\n\tlong unsigned int allow_native[8];\n};\n\nstruct action_devres {\n\tvoid *data;\n\tvoid (*action)(void *);\n};\n\nstruct action_gate_entry {\n\tu8 gate_state;\n\tu32 interval;\n\ts32 ipv;\n\ts32 maxoctets;\n};\n\nstruct addr_marker {\n\tlong unsigned int start_address;\n\tconst char *name;\n};\n\nstruct xarray {\n\tspinlock_t xa_lock;\n\tgfp_t xa_flags;\n\tvoid *xa_head;\n};\n\nstruct rw_semaphore {\n\tatomic_long_t count;\n\tatomic_long_t owner;\n\tstruct optimistic_spin_queue osq;\n\traw_spinlock_t wait_lock;\n\tstruct list_head wait_list;\n};\n\nstruct rb_root {\n\tstruct rb_node *rb_node;\n};\n\nstruct rb_root_cached {\n\tstruct rb_root rb_root;\n\tstruct rb_node *rb_leftmost;\n};\n\nstruct address_space_operations;\n\nstruct address_space {\n\tstruct inode *host;\n\tstruct xarray i_pages;\n\tstruct rw_semaphore invalidate_lock;\n\tgfp_t gfp_mask;\n\tatomic_t i_mmap_writable;\n\tstruct rb_root_cached i_mmap;\n\tlong unsigned int nrpages;\n\tlong unsigned int writeback_index;\n\tconst struct address_space_operations *a_ops;\n\tlong unsigned int flags;\n\terrseq_t wb_err;\n\tspinlock_t i_private_lock;\n\tstruct list_head i_private_list;\n\tstruct rw_semaphore i_mmap_rwsem;\n\tvoid *i_private_data;\n};\n\nstruct page;\n\nstruct writeback_control;\n\nstruct file;\n\nstruct readahead_control;\n\nstruct kiocb;\n\nstruct iov_iter;\n\nstruct swap_info_struct;\n\nstruct address_space_operations {\n\tint (*writepage)(struct page *, struct writeback_control *);\n\tint (*read_folio)(struct file *, struct folio *);\n\tint (*writepages)(struct address_space *, struct writeback_control *);\n\tbool (*dirty_folio)(struct address_space *, struct folio *);\n\tvoid (*readahead)(struct readahead_control *);\n\tint (*write_begin)(struct file *, struct address_space *, loff_t, unsigned int, struct folio **, void **);\n\tint (*write_end)(struct file *, struct address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *);\n\tsector_t (*bmap)(struct address_space *, sector_t);\n\tvoid (*invalidate_folio)(struct folio *, size_t, size_t);\n\tbool (*release_folio)(struct folio *, gfp_t);\n\tvoid (*free_folio)(struct folio *);\n\tssize_t (*direct_IO)(struct kiocb *, struct iov_iter *);\n\tint (*migrate_folio)(struct address_space *, struct folio *, struct folio *, enum migrate_mode);\n\tint (*launder_folio)(struct folio *);\n\tbool (*is_partially_uptodate)(struct folio *, size_t, size_t);\n\tvoid (*is_dirty_writeback)(struct folio *, bool *, bool *);\n\tint (*error_remove_folio)(struct address_space *, struct folio *);\n\tint (*swap_activate)(struct swap_info_struct *, struct file *, sector_t *);\n\tvoid (*swap_deactivate)(struct file *);\n\tint (*swap_rw)(struct kiocb *, struct iov_iter *);\n};\n\nstruct advisor_ctx {\n\tktime_t start_scan;\n\tlong unsigned int scan_time;\n\tlong unsigned int change;\n\tlong long unsigned int cpu_time;\n};\n\nstruct crypto_aead;\n\nstruct aead_request;\n\nstruct aead_alg {\n\tint (*setkey)(struct crypto_aead *, const u8 *, unsigned int);\n\tint (*setauthsize)(struct crypto_aead *, unsigned int);\n\tint (*encrypt)(struct aead_request *);\n\tint (*decrypt)(struct aead_request *);\n\tint (*init)(struct crypto_aead *);\n\tvoid (*exit)(struct crypto_aead *);\n\tunsigned int ivsize;\n\tunsigned int maxauthsize;\n\tunsigned int chunksize;\n\tstruct crypto_alg base;\n};\n\nstruct crypto_template;\n\nstruct crypto_spawn;\n\nstruct crypto_instance {\n\tstruct crypto_alg alg;\n\tstruct crypto_template *tmpl;\n\tunion {\n\t\tstruct hlist_node list;\n\t\tstruct crypto_spawn *spawns;\n\t};\n\tstruct work_struct free_work;\n\tvoid *__ctx[0];\n};\n\nstruct aead_instance {\n\tvoid (*free)(struct aead_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[64];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct aead_alg alg;\n\t};\n};\n\nstruct aead_request {\n\tstruct crypto_async_request base;\n\tunsigned int assoclen;\n\tunsigned int cryptlen;\n\tu8 *iv;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tvoid *__ctx[0];\n};\n\nstruct affinity_context {\n\tconst struct cpumask *new_mask;\n\tstruct cpumask *user_mask;\n\tunsigned int flags;\n};\n\nstruct aggregate_control {\n\tlong int *aggregate;\n\tlong int *local;\n\tlong int *pending;\n\tlong int *ppending;\n\tlong int *cstat;\n\tlong int *cstat_prev;\n\tint size;\n};\n\nstruct component_master_ops;\n\nstruct component_match;\n\nstruct aggregate_device {\n\tstruct list_head node;\n\tbool bound;\n\tconst struct component_master_ops *ops;\n\tstruct device *parent;\n\tstruct component_match *match;\n};\n\nstruct xfs_btree_ops;\n\nstruct aghdr_init_data {\n\txfs_agblock_t agno;\n\txfs_extlen_t agsize;\n\tstruct list_head buffer_list;\n\txfs_rfsblock_t nfree;\n\txfs_daddr_t daddr;\n\tsize_t numblks;\n\tconst struct xfs_btree_ops *bc_ops;\n};\n\nstruct hash_alg_common {\n\tunsigned int digestsize;\n\tunsigned int statesize;\n\tstruct crypto_alg base;\n};\n\nstruct ahash_request;\n\nstruct crypto_ahash;\n\nstruct ahash_alg {\n\tint (*init)(struct ahash_request *);\n\tint (*update)(struct ahash_request *);\n\tint (*final)(struct ahash_request *);\n\tint (*finup)(struct ahash_request *);\n\tint (*digest)(struct ahash_request *);\n\tint (*export)(struct ahash_request *, void *);\n\tint (*import)(struct ahash_request *, const void *);\n\tint (*setkey)(struct crypto_ahash *, const u8 *, unsigned int);\n\tint (*init_tfm)(struct crypto_ahash *);\n\tvoid (*exit_tfm)(struct crypto_ahash *);\n\tint (*clone_tfm)(struct crypto_ahash *, struct crypto_ahash *);\n\tstruct hash_alg_common halg;\n};\n\nstruct ahash_instance {\n\tvoid (*free)(struct ahash_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[96];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct ahash_alg alg;\n\t};\n};\n\nstruct ahash_request {\n\tstruct crypto_async_request base;\n\tunsigned int nbytes;\n\tstruct scatterlist *src;\n\tu8 *result;\n\tvoid *priv;\n\tvoid *__ctx[0];\n};\n\nstruct ahci_cmd_hdr {\n\t__le32 opts;\n\t__le32 status;\n\t__le32 tbl_addr;\n\t__le32 tbl_addr_hi;\n\t__le32 reserved[4];\n};\n\nstruct timer_list {\n\tstruct hlist_node entry;\n\tlong unsigned int expires;\n\tvoid (*function)(struct timer_list *);\n\tu32 flags;\n};\n\nstruct ata_link;\n\nstruct ahci_em_priv {\n\tenum sw_activity blink_policy;\n\tstruct timer_list timer;\n\tlong unsigned int saved_activity;\n\tlong unsigned int activity;\n\tlong unsigned int led_state;\n\tstruct ata_link *link;\n};\n\nstruct reset_control;\n\nstruct regulator;\n\nstruct clk_bulk_data;\n\nstruct phy___2;\n\nstruct ata_port;\n\nstruct ata_host;\n\nstruct ahci_host_priv {\n\tunsigned int flags;\n\tu32 mask_port_map;\n\tvoid *mmio;\n\tu32 cap;\n\tu32 cap2;\n\tu32 version;\n\tu32 port_map;\n\tu32 saved_cap;\n\tu32 saved_cap2;\n\tu32 saved_port_map;\n\tu32 saved_port_cap[32];\n\tu32 em_loc;\n\tu32 em_buf_sz;\n\tu32 em_msg_type;\n\tu32 remapped_nvme;\n\tbool got_runtime_pm;\n\tunsigned int n_clks;\n\tstruct clk_bulk_data *clks;\n\tunsigned int f_rsts;\n\tstruct reset_control *rsts;\n\tstruct regulator **target_pwrs;\n\tstruct regulator *ahci_regulator;\n\tstruct regulator *phy_regulator;\n\tstruct phy___2 **phys;\n\tunsigned int nports;\n\tvoid *plat_data;\n\tunsigned int irq;\n\tvoid (*start_engine)(struct ata_port *);\n\tint (*stop_engine)(struct ata_port *);\n\tirqreturn_t (*irq_handler)(int, void *);\n\tint (*get_irq_vector)(struct ata_host *, int);\n};\n\nstruct ahci_port_priv {\n\tstruct ata_link *active_link;\n\tstruct ahci_cmd_hdr *cmd_slot;\n\tdma_addr_t cmd_slot_dma;\n\tvoid *cmd_tbl;\n\tdma_addr_t cmd_tbl_dma;\n\tvoid *rx_fis;\n\tdma_addr_t rx_fis_dma;\n\tunsigned int ncq_saw_d2h: 1;\n\tunsigned int ncq_saw_dmas: 1;\n\tunsigned int ncq_saw_sdb: 1;\n\tspinlock_t lock;\n\tu32 intr_mask;\n\tbool fbs_supported;\n\tbool fbs_enabled;\n\tint fbs_last_dev;\n\tstruct ahci_em_priv em_priv[15];\n\tchar *irq_desc;\n};\n\nstruct ahci_sg {\n\t__le32 addr;\n\t__le32 addr_hi;\n\t__le32 reserved;\n\t__le32 flags_size;\n};\n\nstruct wait_page_queue;\n\nstruct kiocb {\n\tstruct file *ki_filp;\n\tloff_t ki_pos;\n\tvoid (*ki_complete)(struct kiocb *, long int);\n\tvoid *private;\n\tint ki_flags;\n\tu16 ki_ioprio;\n\tunion {\n\t\tstruct wait_page_queue *ki_waitq;\n\t\tssize_t (*dio_complete)(void *);\n\t};\n};\n\nstruct cred;\n\nstruct fsync_iocb {\n\tstruct file *file;\n\tstruct work_struct work;\n\tbool datasync;\n\tstruct cred *creds;\n};\n\nstruct wait_queue_entry;\n\ntypedef int (*wait_queue_func_t)(struct wait_queue_entry *, unsigned int, int, void *);\n\nstruct wait_queue_entry {\n\tunsigned int flags;\n\tvoid *private;\n\twait_queue_func_t func;\n\tstruct list_head entry;\n};\n\nstruct poll_iocb {\n\tstruct file *file;\n\tstruct wait_queue_head *head;\n\t__poll_t events;\n\tbool cancelled;\n\tbool work_scheduled;\n\tbool work_need_resched;\n\tstruct wait_queue_entry wait;\n\tstruct work_struct work;\n};\n\ntypedef int kiocb_cancel_fn(struct kiocb *);\n\nstruct io_event {\n\t__u64 data;\n\t__u64 obj;\n\t__s64 res;\n\t__s64 res2;\n};\n\nstruct kioctx;\n\nstruct eventfd_ctx;\n\nstruct aio_kiocb {\n\tunion {\n\t\tstruct file *ki_filp;\n\t\tstruct kiocb rw;\n\t\tstruct fsync_iocb fsync;\n\t\tstruct poll_iocb poll;\n\t};\n\tstruct kioctx *ki_ctx;\n\tkiocb_cancel_fn *ki_cancel;\n\tstruct io_event ki_res;\n\tstruct list_head ki_list;\n\trefcount_t ki_refcnt;\n\tstruct eventfd_ctx *ki_eventfd;\n};\n\nstruct poll_table_struct;\n\ntypedef void (*poll_queue_proc)(struct file *, wait_queue_head_t *, struct poll_table_struct *);\n\nstruct poll_table_struct {\n\tpoll_queue_proc _qproc;\n\t__poll_t _key;\n};\n\nstruct aio_poll_table {\n\tstruct poll_table_struct pt;\n\tstruct aio_kiocb *iocb;\n\tbool queued;\n\tint error;\n};\n\nstruct aio_ring {\n\tunsigned int id;\n\tunsigned int nr;\n\tunsigned int head;\n\tunsigned int tail;\n\tunsigned int magic;\n\tunsigned int compat_features;\n\tunsigned int incompat_features;\n\tunsigned int header_length;\n\tstruct io_event io_events[0];\n};\n\nstruct aio_waiter {\n\tstruct wait_queue_entry w;\n\tsize_t min_nr;\n};\n\nstruct akcipher_request;\n\nstruct crypto_akcipher;\n\nstruct akcipher_alg {\n\tint (*encrypt)(struct akcipher_request *);\n\tint (*decrypt)(struct akcipher_request *);\n\tint (*set_pub_key)(struct crypto_akcipher *, const void *, unsigned int);\n\tint (*set_priv_key)(struct crypto_akcipher *, const void *, unsigned int);\n\tunsigned int (*max_size)(struct crypto_akcipher *);\n\tint (*init)(struct crypto_akcipher *);\n\tvoid (*exit)(struct crypto_akcipher *);\n\tstruct crypto_alg base;\n};\n\nstruct akcipher_instance {\n\tvoid (*free)(struct akcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[56];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct akcipher_alg alg;\n\t};\n};\n\nstruct akcipher_request {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int src_len;\n\tunsigned int dst_len;\n\tvoid *__ctx[0];\n};\n\nstruct alarm {\n\tstruct timerqueue_node node;\n\tstruct hrtimer timer;\n\tvoid (*function)(struct alarm *, ktime_t);\n\tenum alarmtimer_type type;\n\tint state;\n\tvoid *data;\n};\n\nstruct timerqueue_head {\n\tstruct rb_root_cached rb_root;\n};\n\nstruct timespec64;\n\nstruct alarm_base {\n\tspinlock_t lock;\n\tstruct timerqueue_head timerqueue;\n\tktime_t (*get_ktime)(void);\n\tvoid (*get_timespec)(struct timespec64 *);\n\tclockid_t base_clockid;\n};\n\nstruct alias_prop {\n\tstruct list_head link;\n\tconst char *alias;\n\tstruct device_node *np;\n\tint id;\n\tchar stem[0];\n};\n\nstruct aligned_lock {\n\tunion {\n\t\tspinlock_t lock;\n\t\tu8 cacheline_padding[128];\n\t};\n};\n\nstruct zonelist;\n\nstruct zoneref;\n\nstruct alloc_context {\n\tstruct zonelist *zonelist;\n\tnodemask_t *nodemask;\n\tstruct zoneref *preferred_zoneref;\n\tint migratetype;\n\tenum zone_type highest_zoneidx;\n\tbool spread_dirty_pages;\n};\n\nstruct codetag {\n\tunsigned int flags;\n\tunsigned int lineno;\n\tconst char *modname;\n\tconst char *function;\n\tconst char *filename;\n};\n\nstruct alloc_tag_counters;\n\nstruct alloc_tag {\n\tstruct codetag ct;\n\tstruct alloc_tag_counters *counters;\n};\n\nstruct alloc_tag_counters {\n\tu64 bytes;\n\tu64 calls;\n};\n\nstruct alps_bitmap_point {\n\tint start_bit;\n\tint num_bits;\n};\n\nstruct delayed_work {\n\tstruct work_struct work;\n\tstruct timer_list timer;\n\tstruct workqueue_struct *wq;\n\tint cpu;\n};\n\nstruct input_mt_pos {\n\ts16 x;\n\ts16 y;\n};\n\nstruct alps_fields {\n\tunsigned int x_map;\n\tunsigned int y_map;\n\tunsigned int fingers;\n\tint pressure;\n\tstruct input_mt_pos st;\n\tstruct input_mt_pos mt[4];\n\tunsigned int first_mp: 1;\n\tunsigned int is_mp: 1;\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int ts_left: 1;\n\tunsigned int ts_right: 1;\n\tunsigned int ts_middle: 1;\n};\n\nstruct psmouse;\n\nstruct input_dev;\n\nstruct alps_nibble_commands;\n\nstruct alps_data {\n\tstruct psmouse *psmouse;\n\tstruct input_dev *dev2;\n\tstruct input_dev *dev3;\n\tchar phys2[32];\n\tchar phys3[32];\n\tstruct delayed_work dev3_register_work;\n\tconst struct alps_nibble_commands *nibble_commands;\n\tint addr_command;\n\tu16 proto_version;\n\tu8 byte0;\n\tu8 mask0;\n\tu8 dev_id[3];\n\tu8 fw_ver[3];\n\tint flags;\n\tint x_max;\n\tint y_max;\n\tint x_bits;\n\tint y_bits;\n\tunsigned int x_res;\n\tunsigned int y_res;\n\tint (*hw_init)(struct psmouse *);\n\tvoid (*process_packet)(struct psmouse *);\n\tint (*decode_fields)(struct alps_fields *, unsigned char *, struct psmouse *);\n\tvoid (*set_abs_params)(struct alps_data *, struct input_dev *);\n\tint prev_fin;\n\tint multi_packet;\n\tint second_touch;\n\tunsigned char multi_data[6];\n\tstruct alps_fields f;\n\tu8 quirks;\n\tstruct timer_list timer;\n};\n\nstruct alps_protocol_info {\n\tu16 version;\n\tu8 byte0;\n\tu8 mask0;\n\tunsigned int flags;\n};\n\nstruct alps_model_info {\n\tu8 signature[3];\n\tstruct alps_protocol_info protocol_info;\n};\n\nstruct alps_nibble_commands {\n\tint command;\n\tunsigned char data;\n};\n\nstruct amba_cs_uci_id {\n\tunsigned int devarch;\n\tunsigned int devarch_mask;\n\tunsigned int devtype;\n\tvoid *data;\n};\n\nstruct resource {\n\tresource_size_t start;\n\tresource_size_t end;\n\tconst char *name;\n\tlong unsigned int flags;\n\tlong unsigned int desc;\n\tstruct resource *parent;\n\tstruct resource *sibling;\n\tstruct resource *child;\n};\n\nstruct clk;\n\nstruct device_dma_parameters {\n\tunsigned int max_segment_size;\n\tunsigned int min_align_mask;\n\tlong unsigned int segment_boundary_mask;\n};\n\nstruct amba_device {\n\tstruct device dev;\n\tstruct resource res;\n\tstruct clk *pclk;\n\tstruct device_dma_parameters dma_parms;\n\tunsigned int periphid;\n\tstruct mutex periphid_lock;\n\tunsigned int cid;\n\tstruct amba_cs_uci_id uci;\n\tunsigned int irq[9];\n\tconst char *driver_override;\n};\n\nstruct rt_mutex_base {\n\traw_spinlock_t wait_lock;\n\tstruct rb_root_cached waiters;\n\tstruct task_struct *owner;\n};\n\nstruct rt_mutex {\n\tstruct rt_mutex_base rtmutex;\n};\n\nstruct i2c_algorithm;\n\nstruct i2c_lock_operations;\n\nstruct i2c_bus_recovery_info;\n\nstruct i2c_adapter_quirks;\n\nstruct i2c_adapter {\n\tstruct module *owner;\n\tunsigned int class;\n\tconst struct i2c_algorithm *algo;\n\tvoid *algo_data;\n\tconst struct i2c_lock_operations *lock_ops;\n\tstruct rt_mutex bus_lock;\n\tstruct rt_mutex mux_lock;\n\tint timeout;\n\tint retries;\n\tstruct device dev;\n\tlong unsigned int locked_flags;\n\tint nr;\n\tchar name[48];\n\tstruct completion dev_released;\n\tstruct mutex userspace_clients_lock;\n\tstruct list_head userspace_clients;\n\tstruct i2c_bus_recovery_info *bus_recovery_info;\n\tconst struct i2c_adapter_quirks *quirks;\n\tstruct irq_domain *host_notify_domain;\n\tstruct regulator *bus_regulator;\n\tstruct dentry *debugfs;\n\tlong unsigned int addrs_in_instantiation[2];\n};\n\nstruct pci_dev;\n\nstruct amd_smbus {\n\tstruct pci_dev *dev;\n\tstruct i2c_adapter adapter;\n\tint base;\n\tint size;\n};\n\nstruct kobj_uevent_env;\n\nstruct kobj_ns_type_operations;\n\nstruct dev_pm_ops;\n\nstruct class {\n\tconst char *name;\n\tconst struct attribute_group **class_groups;\n\tconst struct attribute_group **dev_groups;\n\tint (*dev_uevent)(const struct device *, struct kobj_uevent_env *);\n\tchar * (*devnode)(const struct device *, umode_t *);\n\tvoid (*class_release)(const struct class *);\n\tvoid (*dev_release)(struct device *);\n\tint (*shutdown_pre)(struct device *);\n\tconst struct kobj_ns_type_operations *ns_type;\n\tconst void * (*namespace)(const struct device *);\n\tvoid (*get_ownership)(const struct device *, kuid_t *, kgid_t *);\n\tconst struct dev_pm_ops *pm;\n};\n\nstruct transport_container;\n\nstruct transport_class {\n\tstruct class class;\n\tint (*setup)(struct transport_container *, struct device *, struct device *);\n\tint (*configure)(struct transport_container *, struct device *, struct device *);\n\tint (*remove)(struct transport_container *, struct device *, struct device *);\n};\n\nstruct klist_node;\n\nstruct klist {\n\tspinlock_t k_lock;\n\tstruct list_head k_list;\n\tvoid (*get)(struct klist_node *);\n\tvoid (*put)(struct klist_node *);\n};\n\nstruct device_attribute;\n\nstruct attribute_container {\n\tstruct list_head node;\n\tstruct klist containers;\n\tstruct class *class;\n\tconst struct attribute_group *grp;\n\tstruct device_attribute **attrs;\n\tint (*match)(struct attribute_container *, struct device *);\n\tlong unsigned int flags;\n};\n\nstruct anon_transport_class {\n\tstruct transport_class tclass;\n\tstruct attribute_container container;\n};\n\nstruct anon_vma {\n\tstruct anon_vma *root;\n\tstruct rw_semaphore rwsem;\n\tatomic_t refcount;\n\tlong unsigned int num_children;\n\tlong unsigned int num_active_vmas;\n\tstruct anon_vma *parent;\n\tstruct rb_root_cached rb_root;\n};\n\nstruct vm_area_struct;\n\nstruct anon_vma_chain {\n\tstruct vm_area_struct *vma;\n\tstruct anon_vma *anon_vma;\n\tstruct list_head same_vma;\n\tstruct rb_node rb;\n\tlong unsigned int rb_subtree_last;\n};\n\nstruct anon_vma_name {\n\tstruct kref kref;\n\tchar name[0];\n};\n\nstruct aperture_range {\n\tstruct device *dev;\n\tresource_size_t base;\n\tresource_size_t size;\n\tstruct list_head lh;\n\tvoid (*detach)(struct device *);\n};\n\nstruct api_context {\n\tstruct completion done;\n\tint status;\n};\n\nstruct workqueue_attrs;\n\nstruct pool_workqueue;\n\nstruct apply_wqattrs_ctx {\n\tstruct workqueue_struct *wq;\n\tstruct workqueue_attrs *attrs;\n\tstruct list_head list;\n\tstruct pool_workqueue *dfl_pwq;\n\tstruct pool_workqueue *pwq_tbl[0];\n};\n\nstruct arch_elf_state {};\n\nstruct arch_hw_breakpoint {\n\tlong unsigned int address;\n\tu16 type;\n\tu16 len;\n\tu16 hw_len;\n\tu8 flags;\n\tbool perf_single_step;\n};\n\nstruct arch_io_reserve_memtype_wc_devres {\n\tresource_size_t start;\n\tresource_size_t size;\n};\n\nstruct arch_msi_msg_addr_hi {\n\tu32 address_hi;\n};\n\ntypedef struct arch_msi_msg_addr_hi arch_msi_msg_addr_hi_t;\n\nstruct arch_msi_msg_addr_lo {\n\tu32 address_lo;\n};\n\ntypedef struct arch_msi_msg_addr_lo arch_msi_msg_addr_lo_t;\n\nstruct arch_msi_msg_data {\n\tu32 data;\n};\n\ntypedef struct arch_msi_msg_data arch_msi_msg_data_t;\n\nstruct arch_optimized_insn {\n\tkprobe_opcode_t copied_insn[1];\n\tkprobe_opcode_t *insn;\n};\n\nstruct arch_specific_insn {\n\tkprobe_opcode_t *insn;\n\tint boostable;\n};\n\nstruct arch_uprobe {\n\tunion {\n\t\tu32 insn[2];\n\t\tu32 ixol[2];\n\t};\n};\n\nstruct arch_uprobe_task {\n\tlong unsigned int saved_trap_nr;\n};\n\nstruct arch_vdso_time_data {};\n\nstruct free_entry;\n\nstruct nd_btt;\n\nstruct arena_info {\n\tu64 size;\n\tu64 external_lba_start;\n\tu32 internal_nlba;\n\tu32 internal_lbasize;\n\tu32 external_nlba;\n\tu32 external_lbasize;\n\tu32 nfree;\n\tu16 version_major;\n\tu16 version_minor;\n\tu32 sector_size;\n\tu64 nextoff;\n\tu64 infooff;\n\tu64 dataoff;\n\tu64 mapoff;\n\tu64 logoff;\n\tu64 info2off;\n\tstruct free_entry *freelist;\n\tu32 *rtt;\n\tstruct aligned_lock *map_locks;\n\tstruct nd_btt *nd_btt;\n\tstruct list_head list;\n\tstruct dentry *debugfs_dir;\n\tu32 flags;\n\tstruct mutex err_lock;\n\tint log_index[2];\n};\n\nstruct arg_dev_net_ip {\n\tstruct net *net;\n\tstruct in6_addr *addr;\n};\n\nstruct arg_netdev_event {\n\tconst struct net_device *dev;\n\tunion {\n\t\tunsigned char nh_flags;\n\t\tlong unsigned int event;\n\t};\n};\n\nstruct arphdr {\n\t__be16 ar_hrd;\n\t__be16 ar_pro;\n\tunsigned char ar_hln;\n\tunsigned char ar_pln;\n\t__be16 ar_op;\n};\n\nstruct sockaddr {\n\tsa_family_t sa_family;\n\tunion {\n\t\tchar sa_data_min[14];\n\t\tstruct {\n\t\t\tstruct {} __empty_sa_data;\n\t\t\tchar sa_data[0];\n\t\t};\n\t};\n};\n\nstruct arpreq {\n\tstruct sockaddr arp_pa;\n\tstruct sockaddr arp_ha;\n\tint arp_flags;\n\tstruct sockaddr arp_netmask;\n\tchar arp_dev[16];\n};\n\nstruct trace_array;\n\nstruct trace_buffer;\n\nstruct trace_array_cpu;\n\nstruct array_buffer {\n\tstruct trace_array *tr;\n\tstruct trace_buffer *buffer;\n\tstruct trace_array_cpu *data;\n\tu64 time_start;\n\tint cpu;\n};\n\ntypedef int (*asn1_action_t)(void *, size_t, unsigned char, const void *, size_t);\n\nstruct asn1_decoder {\n\tconst unsigned char *machine;\n\tsize_t machlen;\n\tconst asn1_action_t *actions;\n};\n\nstruct assoc_array_ptr;\n\nstruct assoc_array {\n\tstruct assoc_array_ptr *root;\n\tlong unsigned int nr_leaves_on_tree;\n};\n\nstruct assoc_array_node;\n\nstruct assoc_array_delete_collapse_context {\n\tstruct assoc_array_node *node;\n\tconst void *skip_leaf;\n\tint slot;\n};\n\nstruct assoc_array_ops;\n\nstruct assoc_array_edit {\n\tstruct callback_head rcu;\n\tstruct assoc_array *array;\n\tconst struct assoc_array_ops *ops;\n\tconst struct assoc_array_ops *ops_for_excised_subtree;\n\tstruct assoc_array_ptr *leaf;\n\tstruct assoc_array_ptr **leaf_p;\n\tstruct assoc_array_ptr *dead_leaf;\n\tstruct assoc_array_ptr *new_meta[3];\n\tstruct assoc_array_ptr *excised_meta[1];\n\tstruct assoc_array_ptr *excised_subtree;\n\tstruct assoc_array_ptr **set_backpointers[16];\n\tstruct assoc_array_ptr *set_backpointers_to;\n\tstruct assoc_array_node *adjust_count_on;\n\tlong int adjust_count_by;\n\tstruct {\n\t\tstruct assoc_array_ptr **ptr;\n\t\tstruct assoc_array_ptr *to;\n\t} set[2];\n\tstruct {\n\t\tu8 *p;\n\t\tu8 to;\n\t} set_parent_slot[1];\n\tu8 segment_cache[17];\n};\n\nstruct assoc_array_node {\n\tstruct assoc_array_ptr *back_pointer;\n\tu8 parent_slot;\n\tstruct assoc_array_ptr *slots[16];\n\tlong unsigned int nr_leaves_on_branch;\n};\n\nstruct assoc_array_ops {\n\tlong unsigned int (*get_key_chunk)(const void *, int);\n\tlong unsigned int (*get_object_key_chunk)(const void *, int);\n\tbool (*compare_object)(const void *, const void *);\n\tint (*diff_objects)(const void *, const void *);\n\tvoid (*free_object)(void *);\n};\n\nstruct assoc_array_shortcut {\n\tstruct assoc_array_ptr *back_pointer;\n\tint parent_slot;\n\tint skip_to_level;\n\tstruct assoc_array_ptr *next_node;\n\tlong unsigned int index_key[0];\n};\n\nstruct assoc_array_walk_result {\n\tstruct {\n\t\tstruct assoc_array_node *node;\n\t\tint level;\n\t\tint slot;\n\t} terminal_node;\n\tstruct {\n\t\tstruct assoc_array_shortcut *shortcut;\n\t\tint level;\n\t\tint sc_level;\n\t\tlong unsigned int sc_segments;\n\t\tlong unsigned int dissimilarity;\n\t} wrong_shortcut;\n};\n\nstruct assoc_arrays {\n\tu32 n_arrays;\n\tu32 array_sz;\n\tconst __be32 *arrays;\n};\n\nstruct asym_cap_data {\n\tstruct list_head link;\n\tstruct callback_head rcu;\n\tlong unsigned int capacity;\n\tlong unsigned int cpus[0];\n};\n\nstruct asymmetric_key_id {\n\tshort unsigned int len;\n\tunsigned char data[0];\n};\n\nstruct asymmetric_key_ids {\n\tvoid *id[3];\n};\n\nstruct key_preparsed_payload;\n\nstruct asymmetric_key_parser {\n\tstruct list_head link;\n\tstruct module *owner;\n\tconst char *name;\n\tint (*parse)(struct key_preparsed_payload *);\n};\n\nstruct key;\n\nstruct seq_file;\n\nstruct kernel_pkey_params;\n\nstruct kernel_pkey_query;\n\nstruct public_key_signature;\n\nstruct asymmetric_key_subtype {\n\tstruct module *owner;\n\tconst char *name;\n\tshort unsigned int name_len;\n\tvoid (*describe)(const struct key *, struct seq_file *);\n\tvoid (*destroy)(void *, void *);\n\tint (*query)(const struct kernel_pkey_params *, struct kernel_pkey_query *);\n\tint (*eds_op)(struct kernel_pkey_params *, const void *, void *);\n\tint (*verify_signature)(const struct key *, const struct public_key_signature *);\n};\n\nstruct usb_dev_state;\n\nstruct pid;\n\nstruct urb;\n\nstruct usb_memory;\n\nstruct async {\n\tstruct list_head asynclist;\n\tstruct usb_dev_state *ps;\n\tstruct pid *pid;\n\tconst struct cred *cred;\n\tunsigned int signr;\n\tunsigned int ifnum;\n\tvoid *userbuffer;\n\tvoid *userurb;\n\tsigval_t userurb_sigval;\n\tstruct urb *urb;\n\tstruct usb_memory *usbm;\n\tunsigned int mem_usage;\n\tint status;\n\tu8 bulk_addr;\n\tu8 bulk_status;\n};\n\nstruct async_domain {\n\tstruct list_head pending;\n\tunsigned int registered: 1;\n};\n\ntypedef void (*async_func_t)(void *, async_cookie_t);\n\nstruct async_entry {\n\tstruct list_head domain_list;\n\tstruct list_head global_list;\n\tstruct work_struct work;\n\tasync_cookie_t cookie;\n\tasync_func_t func;\n\tvoid *data;\n\tstruct async_domain *domain;\n};\n\nstruct io_poll {\n\tstruct file *file;\n\tstruct wait_queue_head *head;\n\t__poll_t events;\n\tint retries;\n\tstruct wait_queue_entry wait;\n};\n\nstruct async_poll {\n\tstruct io_poll poll;\n\tstruct io_poll *double_poll;\n};\n\nstruct async_scan_data {\n\tstruct list_head list;\n\tstruct Scsi_Host *shost;\n\tstruct completion prev_finished;\n};\n\nstruct ata_acpi_drive {\n\tu32 pio;\n\tu32 dma;\n};\n\nstruct ata_acpi_gtm {\n\tstruct ata_acpi_drive drive[2];\n\tu32 flags;\n};\n\nstruct ata_bmdma_prd {\n\t__le32 addr;\n\t__le32 flags_len;\n};\n\nstruct ata_cdl {\n\tu8 desc_log_buf[512];\n\tu8 ncq_sense_log_buf[1024];\n};\n\nstruct ata_cpr {\n\tu8 num;\n\tu8 num_storage_elements;\n\tu64 start_lba;\n\tu64 num_lbas;\n};\n\nstruct ata_cpr_log {\n\tu8 nr_cpr;\n\tstruct ata_cpr cpr[0];\n};\n\nstruct ata_dev_quirks_entry {\n\tconst char *model_num;\n\tconst char *model_rev;\n\tunsigned int quirks;\n};\n\nstruct ata_ering_entry {\n\tunsigned int eflags;\n\tunsigned int err_mask;\n\tu64 timestamp;\n};\n\nstruct ata_ering {\n\tint cursor;\n\tstruct ata_ering_entry ring[32];\n};\n\nstruct scsi_device;\n\nstruct ata_device {\n\tstruct ata_link *link;\n\tunsigned int devno;\n\tunsigned int quirks;\n\tlong unsigned int flags;\n\tstruct scsi_device *sdev;\n\tvoid *private_data;\n\tstruct device tdev;\n\tu64 n_sectors;\n\tu64 n_native_sectors;\n\tunsigned int class;\n\tlong unsigned int unpark_deadline;\n\tu8 pio_mode;\n\tu8 dma_mode;\n\tu8 xfer_mode;\n\tunsigned int xfer_shift;\n\tunsigned int multi_count;\n\tunsigned int max_sectors;\n\tunsigned int cdb_len;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tu16 cylinders;\n\tu16 heads;\n\tu16 sectors;\n\tlong: 64;\n\tunion {\n\t\tu16 id[256];\n\t\tu32 gscr[128];\n\t};\n\tu8 devslp_timing[8];\n\tu8 ncq_send_recv_cmds[20];\n\tu8 ncq_non_data_cmds[64];\n\tu32 zac_zoned_cap;\n\tu32 zac_zones_optimal_open;\n\tu32 zac_zones_optimal_nonseq;\n\tu32 zac_zones_max_open;\n\tstruct ata_cpr_log *cpr_log;\n\tstruct ata_cdl *cdl;\n\tint spdn_cnt;\n\tstruct ata_ering ering;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 sector_buf[512];\n};\n\nstruct ata_eh_cmd_timeout_ent {\n\tconst u8 *commands;\n\tconst unsigned int *timeouts;\n};\n\nstruct ata_eh_info {\n\tstruct ata_device *dev;\n\tu32 serror;\n\tunsigned int err_mask;\n\tunsigned int action;\n\tunsigned int dev_action[2];\n\tunsigned int flags;\n\tunsigned int probe_mask;\n\tchar desc[80];\n\tint desc_len;\n};\n\nstruct ata_eh_context {\n\tstruct ata_eh_info i;\n\tint tries[2];\n\tint cmd_timeout_idx[16];\n\tunsigned int classes[2];\n\tunsigned int did_probe_mask;\n\tunsigned int unloaded_mask;\n\tunsigned int saved_ncq_enabled;\n\tu8 saved_xfer_mode[2];\n\tlong unsigned int last_reset;\n};\n\nstruct ata_force_param {\n\tconst char *name;\n\tu8 cbl;\n\tu8 spd_limit;\n\tunsigned int xfer_mask;\n\tunsigned int quirk_on;\n\tunsigned int quirk_off;\n\tu16 lflags_on;\n\tu16 lflags_off;\n};\n\nstruct ata_force_ent {\n\tint port;\n\tint device;\n\tstruct ata_force_param param;\n};\n\nstruct ata_port_operations;\n\nstruct ata_host {\n\tspinlock_t lock;\n\tstruct device *dev;\n\tvoid * const *iomap;\n\tunsigned int n_ports;\n\tunsigned int n_tags;\n\tvoid *private_data;\n\tstruct ata_port_operations *ops;\n\tlong unsigned int flags;\n\tstruct kref kref;\n\tstruct mutex eh_mutex;\n\tstruct task_struct *eh_owner;\n\tstruct ata_port *simplex_claimed;\n\tstruct ata_port *ports[0];\n};\n\nstruct transport_container {\n\tstruct attribute_container ac;\n\tconst struct attribute_group *statistics;\n};\n\nstruct scsi_transport_template {\n\tstruct transport_container host_attrs;\n\tstruct transport_container target_attrs;\n\tstruct transport_container device_attrs;\n\tint (*user_scan)(struct Scsi_Host *, uint, uint, u64);\n\tint device_size;\n\tint device_private_offset;\n\tint target_size;\n\tint target_private_offset;\n\tint host_size;\n\tunsigned int create_work_queue: 1;\n\tvoid (*eh_strategy_handler)(struct Scsi_Host *);\n};\n\nstruct attribute {\n\tconst char *name;\n\tumode_t mode;\n};\n\nstruct device_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct device *, struct device_attribute *, char *);\n\tssize_t (*store)(struct device *, struct device_attribute *, const char *, size_t);\n};\n\nstruct ata_internal {\n\tstruct scsi_transport_template t;\n\tstruct device_attribute private_port_attrs[3];\n\tstruct device_attribute private_link_attrs[3];\n\tstruct device_attribute private_dev_attrs[9];\n\tstruct transport_container link_attr_cont;\n\tstruct transport_container dev_attr_cont;\n\tstruct device_attribute *link_attrs[4];\n\tstruct device_attribute *port_attrs[4];\n\tstruct device_attribute *dev_attrs[10];\n};\n\nstruct ata_ioports {\n\tvoid *cmd_addr;\n\tvoid *data_addr;\n\tvoid *error_addr;\n\tvoid *feature_addr;\n\tvoid *nsect_addr;\n\tvoid *lbal_addr;\n\tvoid *lbam_addr;\n\tvoid *lbah_addr;\n\tvoid *device_addr;\n\tvoid *status_addr;\n\tvoid *command_addr;\n\tvoid *altstatus_addr;\n\tvoid *ctl_addr;\n\tvoid *bmdma_addr;\n\tvoid *scr_addr;\n};\n\nstruct ata_link {\n\tstruct ata_port *ap;\n\tint pmp;\n\tstruct device tdev;\n\tunsigned int active_tag;\n\tu32 sactive;\n\tunsigned int flags;\n\tu32 saved_scontrol;\n\tunsigned int hw_sata_spd_limit;\n\tunsigned int sata_spd_limit;\n\tunsigned int sata_spd;\n\tenum ata_lpm_policy lpm_policy;\n\tstruct ata_eh_info eh_info;\n\tstruct ata_eh_context eh_context;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ata_device device[2];\n\tlong unsigned int last_lpm_change;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ata_taskfile {\n\tlong unsigned int flags;\n\tu8 protocol;\n\tu8 ctl;\n\tu8 hob_feature;\n\tu8 hob_nsect;\n\tu8 hob_lbal;\n\tu8 hob_lbam;\n\tu8 hob_lbah;\n\tunion {\n\t\tu8 error;\n\t\tu8 feature;\n\t};\n\tu8 nsect;\n\tu8 lbal;\n\tu8 lbam;\n\tu8 lbah;\n\tu8 device;\n\tunion {\n\t\tu8 status;\n\t\tu8 command;\n\t};\n\tu32 auxiliary;\n};\n\nstruct scatterlist {\n\tlong unsigned int page_link;\n\tunsigned int offset;\n\tunsigned int length;\n\tdma_addr_t dma_address;\n\tunsigned int dma_length;\n};\n\nstruct ata_queued_cmd;\n\ntypedef void (*ata_qc_cb_t)(struct ata_queued_cmd *);\n\nstruct scsi_cmnd;\n\nstruct ata_queued_cmd {\n\tstruct ata_port *ap;\n\tstruct ata_device *dev;\n\tstruct scsi_cmnd *scsicmd;\n\tvoid (*scsidone)(struct scsi_cmnd *);\n\tstruct ata_taskfile tf;\n\tu8 cdb[16];\n\tlong unsigned int flags;\n\tunsigned int tag;\n\tunsigned int hw_tag;\n\tunsigned int n_elem;\n\tunsigned int orig_n_elem;\n\tint dma_dir;\n\tunsigned int sect_size;\n\tunsigned int nbytes;\n\tunsigned int extrabytes;\n\tunsigned int curbytes;\n\tstruct scatterlist sgent;\n\tstruct scatterlist *sg;\n\tstruct scatterlist *cursg;\n\tunsigned int cursg_ofs;\n\tunsigned int err_mask;\n\tstruct ata_taskfile result_tf;\n\tata_qc_cb_t complete_fn;\n\tvoid *private_data;\n\tvoid *lldd_task;\n};\n\nstruct ata_port_stats {\n\tlong unsigned int unhandled_irq;\n\tlong unsigned int idle_irq;\n\tlong unsigned int rw_reqbuf;\n};\n\nstruct ata_port {\n\tstruct Scsi_Host *scsi_host;\n\tstruct ata_port_operations *ops;\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n\tunsigned int pflags;\n\tunsigned int print_id;\n\tunsigned int port_no;\n\tstruct ata_ioports ioaddr;\n\tu8 ctl;\n\tu8 last_ctl;\n\tstruct ata_link *sff_pio_task_link;\n\tstruct delayed_work sff_pio_task;\n\tstruct ata_bmdma_prd *bmdma_prd;\n\tdma_addr_t bmdma_prd_dma;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tunsigned int cbl;\n\tstruct ata_queued_cmd qcmd[33];\n\tu64 qc_active;\n\tint nr_active_links;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ata_link link;\n\tstruct ata_link *slave_link;\n\tint nr_pmp_links;\n\tstruct ata_link *pmp_link;\n\tstruct ata_link *excl_link;\n\tstruct ata_port_stats stats;\n\tstruct ata_host *host;\n\tstruct device *dev;\n\tstruct device tdev;\n\tstruct mutex scsi_scan_mutex;\n\tstruct delayed_work hotplug_task;\n\tstruct delayed_work scsi_rescan_task;\n\tunsigned int hsm_task_state;\n\tstruct list_head eh_done_q;\n\twait_queue_head_t eh_wait_q;\n\tint eh_tries;\n\tstruct completion park_req_pending;\n\tpm_message_t pm_mesg;\n\tenum ata_lpm_policy target_lpm_policy;\n\tstruct timer_list fastdrain_timer;\n\tunsigned int fastdrain_cnt;\n\tasync_cookie_t cookie;\n\tint em_message_type;\n\tvoid *private_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ata_port_info {\n\tlong unsigned int flags;\n\tlong unsigned int link_flags;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tstruct ata_port_operations *port_ops;\n\tvoid *private_data;\n};\n\ntypedef int (*ata_prereset_fn_t)(struct ata_link *, long unsigned int);\n\ntypedef int (*ata_reset_fn_t)(struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*ata_postreset_fn_t)(struct ata_link *, unsigned int *);\n\nstruct ata_port_operations {\n\tint (*qc_defer)(struct ata_queued_cmd *);\n\tint (*check_atapi_dma)(struct ata_queued_cmd *);\n\tenum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *);\n\tunsigned int (*qc_issue)(struct ata_queued_cmd *);\n\tvoid (*qc_fill_rtf)(struct ata_queued_cmd *);\n\tvoid (*qc_ncq_fill_rtf)(struct ata_port *, u64);\n\tint (*cable_detect)(struct ata_port *);\n\tunsigned int (*mode_filter)(struct ata_device *, unsigned int);\n\tvoid (*set_piomode)(struct ata_port *, struct ata_device *);\n\tvoid (*set_dmamode)(struct ata_port *, struct ata_device *);\n\tint (*set_mode)(struct ata_link *, struct ata_device **);\n\tunsigned int (*read_id)(struct ata_device *, struct ata_taskfile *, __le16 *);\n\tvoid (*dev_config)(struct ata_device *);\n\tvoid (*freeze)(struct ata_port *);\n\tvoid (*thaw)(struct ata_port *);\n\tata_prereset_fn_t prereset;\n\tata_reset_fn_t softreset;\n\tata_reset_fn_t hardreset;\n\tata_postreset_fn_t postreset;\n\tata_prereset_fn_t pmp_prereset;\n\tata_reset_fn_t pmp_softreset;\n\tata_reset_fn_t pmp_hardreset;\n\tata_postreset_fn_t pmp_postreset;\n\tvoid (*error_handler)(struct ata_port *);\n\tvoid (*lost_interrupt)(struct ata_port *);\n\tvoid (*post_internal_cmd)(struct ata_queued_cmd *);\n\tvoid (*sched_eh)(struct ata_port *);\n\tvoid (*end_eh)(struct ata_port *);\n\tint (*scr_read)(struct ata_link *, unsigned int, u32 *);\n\tint (*scr_write)(struct ata_link *, unsigned int, u32);\n\tvoid (*pmp_attach)(struct ata_port *);\n\tvoid (*pmp_detach)(struct ata_port *);\n\tint (*set_lpm)(struct ata_link *, enum ata_lpm_policy, unsigned int);\n\tint (*port_suspend)(struct ata_port *, pm_message_t);\n\tint (*port_resume)(struct ata_port *);\n\tint (*port_start)(struct ata_port *);\n\tvoid (*port_stop)(struct ata_port *);\n\tvoid (*host_stop)(struct ata_host *);\n\tvoid (*sff_dev_select)(struct ata_port *, unsigned int);\n\tvoid (*sff_set_devctl)(struct ata_port *, u8);\n\tu8 (*sff_check_status)(struct ata_port *);\n\tu8 (*sff_check_altstatus)(struct ata_port *);\n\tvoid (*sff_tf_load)(struct ata_port *, const struct ata_taskfile *);\n\tvoid (*sff_tf_read)(struct ata_port *, struct ata_taskfile *);\n\tvoid (*sff_exec_command)(struct ata_port *, const struct ata_taskfile *);\n\tunsigned int (*sff_data_xfer)(struct ata_queued_cmd *, unsigned char *, unsigned int, int);\n\tvoid (*sff_irq_on)(struct ata_port *);\n\tbool (*sff_irq_check)(struct ata_port *);\n\tvoid (*sff_irq_clear)(struct ata_port *);\n\tvoid (*sff_drain_fifo)(struct ata_queued_cmd *);\n\tvoid (*bmdma_setup)(struct ata_queued_cmd *);\n\tvoid (*bmdma_start)(struct ata_queued_cmd *);\n\tvoid (*bmdma_stop)(struct ata_queued_cmd *);\n\tu8 (*bmdma_status)(struct ata_port *);\n\tssize_t (*em_show)(struct ata_port *, char *);\n\tssize_t (*em_store)(struct ata_port *, const char *, size_t);\n\tssize_t (*sw_activity_show)(struct ata_device *, char *);\n\tssize_t (*sw_activity_store)(struct ata_device *, enum sw_activity);\n\tssize_t (*transmit_led_message)(struct ata_port *, u32, ssize_t);\n\tconst struct ata_port_operations *inherits;\n};\n\nstruct ata_show_ering_arg {\n\tchar *buf;\n\tint written;\n};\n\nstruct ata_timing {\n\tshort unsigned int mode;\n\tshort unsigned int setup;\n\tshort unsigned int act8b;\n\tshort unsigned int rec8b;\n\tshort unsigned int cyc8b;\n\tshort unsigned int active;\n\tshort unsigned int recover;\n\tshort unsigned int dmack_hold;\n\tshort unsigned int cycle;\n\tshort unsigned int udma;\n};\n\nstruct ata_xfer_ent {\n\tint shift;\n\tint bits;\n\tu8 base;\n};\n\nstruct ps2dev;\n\ntypedef enum ps2_disposition (*ps2_pre_receive_handler_t)(struct ps2dev *, u8, unsigned int);\n\ntypedef void (*ps2_receive_handler_t)(struct ps2dev *, u8);\n\nstruct serio;\n\nstruct ps2dev {\n\tstruct serio *serio;\n\tstruct mutex cmd_mutex;\n\twait_queue_head_t wait;\n\tlong unsigned int flags;\n\tu8 cmdbuf[8];\n\tu8 cmdcnt;\n\tu8 nak;\n\tps2_pre_receive_handler_t pre_receive_handler;\n\tps2_receive_handler_t receive_handler;\n};\n\nstruct vivaldi_data {\n\tu32 function_row_physmap[24];\n\tunsigned int num_function_row_keys;\n};\n\nstruct atkbd {\n\tstruct ps2dev ps2dev;\n\tstruct input_dev *dev;\n\tchar name[64];\n\tchar phys[32];\n\tshort unsigned int id;\n\tshort unsigned int keycode[512];\n\tlong unsigned int force_release_mask[8];\n\tunsigned char set;\n\tbool translated;\n\tbool extra;\n\tbool write;\n\tbool softrepeat;\n\tbool softraw;\n\tbool scroll;\n\tbool enabled;\n\tunsigned char emul;\n\tbool resend;\n\tbool release;\n\tlong unsigned int xl_bit;\n\tunsigned int last;\n\tlong unsigned int time;\n\tlong unsigned int err_count;\n\tstruct delayed_work event_work;\n\tlong unsigned int event_jiffies;\n\tlong unsigned int event_mask;\n\tstruct mutex mutex;\n\tstruct vivaldi_data vdata;\n};\n\nstruct notifier_block;\n\nstruct atomic_notifier_head {\n\tspinlock_t lock;\n\tstruct notifier_block *head;\n};\n\nstruct bin_attribute;\n\nstruct attribute_group {\n\tconst char *name;\n\tumode_t (*is_visible)(struct kobject *, struct attribute *, int);\n\tumode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int);\n\tsize_t (*bin_size)(struct kobject *, const struct bin_attribute *, int);\n\tstruct attribute **attrs;\n\tunion {\n\t\tstruct bin_attribute **bin_attrs;\n\t\tconst struct bin_attribute * const *bin_attrs_new;\n\t};\n};\n\nstruct audit_aux_data {\n\tstruct audit_aux_data *next;\n\tint type;\n};\n\nstruct audit_cap_data {\n\tkernel_cap_t permitted;\n\tkernel_cap_t inheritable;\n\tunion {\n\t\tunsigned int fE;\n\t\tkernel_cap_t effective;\n\t};\n\tkernel_cap_t ambient;\n\tkuid_t rootid;\n};\n\nstruct audit_aux_data_bprm_fcaps {\n\tstruct audit_aux_data d;\n\tstruct audit_cap_data fcap;\n\tunsigned int fcap_ver;\n\tstruct audit_cap_data old_pcap;\n\tstruct audit_cap_data new_pcap;\n};\n\nstruct lsm_prop_selinux {\n\tu32 secid;\n};\n\nstruct lsm_prop_smack {};\n\nstruct lsm_prop_apparmor {};\n\nstruct lsm_prop_bpf {\n\tu32 secid;\n};\n\nstruct lsm_prop {\n\tstruct lsm_prop_selinux selinux;\n\tstruct lsm_prop_smack smack;\n\tstruct lsm_prop_apparmor apparmor;\n\tstruct lsm_prop_bpf bpf;\n};\n\nstruct audit_aux_data_pids {\n\tstruct audit_aux_data d;\n\tpid_t target_pid[16];\n\tkuid_t target_auid[16];\n\tkuid_t target_uid[16];\n\tunsigned int target_sessionid[16];\n\tstruct lsm_prop target_ref[16];\n\tchar target_comm[256];\n\tint pid_count;\n};\n\nstruct audit_context;\n\nstruct audit_buffer {\n\tstruct sk_buff *skb;\n\tstruct audit_context *ctx;\n\tgfp_t gfp_mask;\n};\n\nstruct audit_tree;\n\nstruct audit_node {\n\tstruct list_head list;\n\tstruct audit_tree *owner;\n\tunsigned int index;\n};\n\nstruct fsnotify_mark;\n\nstruct audit_chunk {\n\tstruct list_head hash;\n\tlong unsigned int key;\n\tstruct fsnotify_mark *mark;\n\tstruct list_head trees;\n\tint count;\n\tatomic_long_t refs;\n\tstruct callback_head head;\n\tstruct audit_node owners[0];\n};\n\nstruct timespec64 {\n\ttime64_t tv_sec;\n\tlong int tv_nsec;\n};\n\nstruct filename;\n\nstruct audit_names {\n\tstruct list_head list;\n\tstruct filename *name;\n\tint name_len;\n\tbool hidden;\n\tlong unsigned int ino;\n\tdev_t dev;\n\tumode_t mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tdev_t rdev;\n\tstruct lsm_prop oprop;\n\tstruct audit_cap_data fcap;\n\tunsigned int fcap_ver;\n\tunsigned char type;\n\tbool should_free;\n};\n\nstruct vfsmount;\n\nstruct path {\n\tstruct vfsmount *mnt;\n\tstruct dentry *dentry;\n};\n\nstruct mq_attr {\n\t__kernel_long_t mq_flags;\n\t__kernel_long_t mq_maxmsg;\n\t__kernel_long_t mq_msgsize;\n\t__kernel_long_t mq_curmsgs;\n\t__kernel_long_t __reserved[4];\n};\n\nstruct open_how {\n\t__u64 flags;\n\t__u64 mode;\n\t__u64 resolve;\n};\n\nstruct audit_ntp_val {\n\tlong long int oldval;\n\tlong long int newval;\n};\n\nstruct audit_ntp_data {\n\tstruct audit_ntp_val vals[6];\n};\n\nstruct audit_proctitle {\n\tint len;\n\tchar *value;\n};\n\nstruct audit_tree_refs;\n\nstruct audit_context {\n\tint dummy;\n\tenum {\n\t\tAUDIT_CTX_UNUSED = 0,\n\t\tAUDIT_CTX_SYSCALL = 1,\n\t\tAUDIT_CTX_URING = 2,\n\t} context;\n\tenum audit_state state;\n\tenum audit_state current_state;\n\tunsigned int serial;\n\tint major;\n\tint uring_op;\n\tstruct timespec64 ctime;\n\tlong unsigned int argv[4];\n\tlong int return_code;\n\tu64 prio;\n\tint return_valid;\n\tstruct audit_names preallocated_names[5];\n\tint name_count;\n\tstruct list_head names_list;\n\tchar *filterkey;\n\tstruct path pwd;\n\tstruct audit_aux_data *aux;\n\tstruct audit_aux_data *aux_pids;\n\tstruct __kernel_sockaddr_storage *sockaddr;\n\tsize_t sockaddr_len;\n\tpid_t ppid;\n\tkuid_t uid;\n\tkuid_t euid;\n\tkuid_t suid;\n\tkuid_t fsuid;\n\tkgid_t gid;\n\tkgid_t egid;\n\tkgid_t sgid;\n\tkgid_t fsgid;\n\tlong unsigned int personality;\n\tint arch;\n\tpid_t target_pid;\n\tkuid_t target_auid;\n\tkuid_t target_uid;\n\tunsigned int target_sessionid;\n\tstruct lsm_prop target_ref;\n\tchar target_comm[16];\n\tstruct audit_tree_refs *trees;\n\tstruct audit_tree_refs *first_trees;\n\tstruct list_head killed_trees;\n\tint tree_count;\n\tint type;\n\tunion {\n\t\tstruct {\n\t\t\tint nargs;\n\t\t\tlong int args[6];\n\t\t} socketcall;\n\t\tstruct {\n\t\t\tkuid_t uid;\n\t\t\tkgid_t gid;\n\t\t\tumode_t mode;\n\t\t\tstruct lsm_prop oprop;\n\t\t\tint has_perm;\n\t\t\tuid_t perm_uid;\n\t\t\tgid_t perm_gid;\n\t\t\tumode_t perm_mode;\n\t\t\tlong unsigned int qbytes;\n\t\t} ipc;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tstruct mq_attr mqstat;\n\t\t} mq_getsetattr;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tint sigev_signo;\n\t\t} mq_notify;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tsize_t msg_len;\n\t\t\tunsigned int msg_prio;\n\t\t\tstruct timespec64 abs_timeout;\n\t\t} mq_sendrecv;\n\t\tstruct {\n\t\t\tint oflag;\n\t\t\tumode_t mode;\n\t\t\tstruct mq_attr attr;\n\t\t} mq_open;\n\t\tstruct {\n\t\t\tpid_t pid;\n\t\t\tstruct audit_cap_data cap;\n\t\t} capset;\n\t\tstruct {\n\t\t\tint fd;\n\t\t\tint flags;\n\t\t} mmap;\n\t\tstruct open_how openat2;\n\t\tstruct {\n\t\t\tint argc;\n\t\t} execve;\n\t\tstruct {\n\t\t\tchar *name;\n\t\t} module;\n\t\tstruct {\n\t\t\tstruct audit_ntp_data ntp_data;\n\t\t\tstruct timespec64 tk_injoffset;\n\t\t} time;\n\t};\n\tint fds[2];\n\tstruct audit_proctitle proctitle;\n};\n\nstruct audit_ctl_mutex {\n\tstruct mutex lock;\n\tvoid *owner;\n};\n\nstruct audit_field;\n\nstruct audit_watch;\n\nstruct audit_fsnotify_mark;\n\nstruct audit_krule {\n\tu32 pflags;\n\tu32 flags;\n\tu32 listnr;\n\tu32 action;\n\tu32 mask[64];\n\tu32 buflen;\n\tu32 field_count;\n\tchar *filterkey;\n\tstruct audit_field *fields;\n\tstruct audit_field *arch_f;\n\tstruct audit_field *inode_f;\n\tstruct audit_watch *watch;\n\tstruct audit_tree *tree;\n\tstruct audit_fsnotify_mark *exe;\n\tstruct list_head rlist;\n\tstruct list_head list;\n\tu64 prio;\n};\n\nstruct audit_entry {\n\tstruct list_head list;\n\tstruct callback_head rcu;\n\tstruct audit_krule rule;\n};\n\nstruct audit_features {\n\t__u32 vers;\n\t__u32 mask;\n\t__u32 features;\n\t__u32 lock;\n};\n\nstruct audit_field {\n\tu32 type;\n\tunion {\n\t\tu32 val;\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t\tstruct {\n\t\t\tchar *lsm_str;\n\t\t\tvoid *lsm_rule;\n\t\t};\n\t};\n\tu32 op;\n};\n\nstruct fsnotify_group;\n\nstruct fsnotify_mark_connector;\n\nstruct fsnotify_mark {\n\t__u32 mask;\n\trefcount_t refcnt;\n\tstruct fsnotify_group *group;\n\tstruct list_head g_list;\n\tspinlock_t lock;\n\tstruct hlist_node obj_list;\n\tstruct fsnotify_mark_connector *connector;\n\t__u32 ignore_mask;\n\tunsigned int flags;\n};\n\nstruct audit_fsnotify_mark {\n\tdev_t dev;\n\tlong unsigned int ino;\n\tchar *path;\n\tstruct fsnotify_mark mark;\n\tstruct audit_krule *rule;\n};\n\nstruct sock;\n\nstruct audit_net {\n\tstruct sock *sk;\n};\n\nstruct audit_netlink_list {\n\t__u32 portid;\n\tstruct net *net;\n\tstruct sk_buff_head q;\n};\n\nstruct audit_nfcfgop_tab {\n\tenum audit_nfcfgop op;\n\tconst char *s;\n};\n\nstruct audit_parent {\n\tstruct list_head watches;\n\tstruct fsnotify_mark mark;\n};\n\nstruct audit_reply {\n\t__u32 portid;\n\tstruct net *net;\n\tstruct sk_buff *skb;\n};\n\nstruct audit_rule_data {\n\t__u32 flags;\n\t__u32 action;\n\t__u32 field_count;\n\t__u32 mask[64];\n\t__u32 fields[64];\n\t__u32 values[64];\n\t__u32 fieldflags[64];\n\t__u32 buflen;\n\tchar buf[0];\n};\n\nstruct audit_sig_info {\n\tuid_t uid;\n\tpid_t pid;\n\tchar ctx[0];\n};\n\nstruct audit_status {\n\t__u32 mask;\n\t__u32 enabled;\n\t__u32 failure;\n\t__u32 pid;\n\t__u32 rate_limit;\n\t__u32 backlog_limit;\n\t__u32 lost;\n\t__u32 backlog;\n\tunion {\n\t\t__u32 version;\n\t\t__u32 feature_bitmap;\n\t};\n\t__u32 backlog_wait_time;\n\t__u32 backlog_wait_time_actual;\n};\n\nstruct audit_tree {\n\trefcount_t count;\n\tint goner;\n\tstruct audit_chunk *root;\n\tstruct list_head chunks;\n\tstruct list_head rules;\n\tstruct list_head list;\n\tstruct list_head same_root;\n\tstruct callback_head head;\n\tchar pathname[0];\n};\n\nstruct audit_tree_mark {\n\tstruct fsnotify_mark mark;\n\tstruct audit_chunk *chunk;\n};\n\nstruct audit_tree_refs {\n\tstruct audit_tree_refs *next;\n\tstruct audit_chunk *c[31];\n};\n\nstruct audit_tty_status {\n\t__u32 enabled;\n\t__u32 log_passwd;\n};\n\nstruct audit_watch {\n\trefcount_t count;\n\tdev_t dev;\n\tchar *path;\n\tlong unsigned int ino;\n\tstruct audit_parent *parent;\n\tstruct list_head wlist;\n\tstruct list_head rules;\n};\n\nstruct auditd_connection {\n\tstruct pid *pid;\n\tu32 portid;\n\tstruct net *net;\n\tstruct callback_head rcu;\n};\n\nstruct auth_cred {\n\tconst struct cred *cred;\n\tconst char *principal;\n};\n\nstruct auth_ops;\n\nstruct auth_domain {\n\tstruct kref ref;\n\tstruct hlist_node hash;\n\tchar *name;\n\tstruct auth_ops *flavour;\n\tstruct callback_head callback_head;\n};\n\nstruct svc_rqst;\n\nstruct auth_ops {\n\tchar *name;\n\tstruct module *owner;\n\tint flavour;\n\tenum svc_auth_status (*accept)(struct svc_rqst *);\n\tint (*release)(struct svc_rqst *);\n\tvoid (*domain_release)(struct auth_domain *);\n\tenum svc_auth_status (*set_client)(struct svc_rqst *);\n\trpc_authflavor_t (*pseudoflavor)(struct svc_rqst *);\n};\n\nstruct auto_mode_param {\n\tint qp_type;\n};\n\nstruct auto_movable_group_stats {\n\tlong unsigned int movable_pages;\n\tlong unsigned int req_kernel_early_pages;\n};\n\nstruct auto_movable_stats {\n\tlong unsigned int kernel_early_pages;\n\tlong unsigned int movable_pages;\n};\n\nstruct task_group;\n\nstruct autogroup {\n\tstruct kref kref;\n\tstruct task_group *tg;\n\tstruct rw_semaphore lock;\n\tlong unsigned int id;\n\tint nice;\n};\n\nstruct auxiliary_device {\n\tstruct device dev;\n\tconst char *name;\n\tu32 id;\n\tstruct {\n\t\tstruct xarray irqs;\n\t\tstruct mutex lock;\n\t\tbool irq_dir_exists;\n\t} sysfs;\n};\n\nstruct auxiliary_device_id {\n\tchar name[32];\n\tkernel_ulong_t driver_data;\n};\n\nstruct of_device_id;\n\nstruct driver_private;\n\nstruct device_driver {\n\tconst char *name;\n\tconst struct bus_type *bus;\n\tstruct module *owner;\n\tconst char *mod_name;\n\tbool suppress_bind_attrs;\n\tenum probe_type probe_type;\n\tconst struct of_device_id *of_match_table;\n\tconst struct acpi_device_id *acpi_match_table;\n\tint (*probe)(struct device *);\n\tvoid (*sync_state)(struct device *);\n\tint (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tint (*suspend)(struct device *, pm_message_t);\n\tint (*resume)(struct device *);\n\tconst struct attribute_group **groups;\n\tconst struct attribute_group **dev_groups;\n\tconst struct dev_pm_ops *pm;\n\tvoid (*coredump)(struct device *);\n\tstruct driver_private *p;\n};\n\nstruct auxiliary_driver {\n\tint (*probe)(struct auxiliary_device *, const struct auxiliary_device_id *);\n\tvoid (*remove)(struct auxiliary_device *);\n\tvoid (*shutdown)(struct auxiliary_device *);\n\tint (*suspend)(struct auxiliary_device *, pm_message_t);\n\tint (*resume)(struct auxiliary_device *);\n\tconst char *name;\n\tstruct device_driver driver;\n\tconst struct auxiliary_device_id *id_table;\n};\n\nstruct auxiliary_irq_info {\n\tstruct device_attribute sysfs_attr;\n\tchar name[11];\n};\n\nstruct av_decision {\n\tu32 allowed;\n\tu32 auditallow;\n\tu32 auditdeny;\n\tu32 seqno;\n\tu32 flags;\n};\n\nstruct hlist_head {\n\tstruct hlist_node *first;\n};\n\nstruct avc_cache {\n\tstruct hlist_head slots[512];\n\tspinlock_t slots_lock[512];\n\tatomic_t lru_hint;\n\tatomic_t active_nodes;\n\tu32 latest_notif;\n};\n\nstruct avc_cache_stats {\n\tunsigned int lookups;\n\tunsigned int misses;\n\tunsigned int allocations;\n\tunsigned int reclaims;\n\tunsigned int frees;\n};\n\nstruct avc_callback_node {\n\tint (*callback)(u32);\n\tu32 events;\n\tstruct avc_callback_node *next;\n};\n\nstruct avc_xperms_node;\n\nstruct avc_entry {\n\tu32 ssid;\n\tu32 tsid;\n\tu16 tclass;\n\tstruct av_decision avd;\n\tstruct avc_xperms_node *xp_node;\n};\n\nstruct avc_node {\n\tstruct avc_entry ae;\n\tstruct hlist_node list;\n\tstruct callback_head rhead;\n};\n\nstruct extended_perms_data;\n\nstruct extended_perms_decision {\n\tu8 used;\n\tu8 driver;\n\tu8 base_perm;\n\tstruct extended_perms_data *allowed;\n\tstruct extended_perms_data *auditallow;\n\tstruct extended_perms_data *dontaudit;\n};\n\nstruct avc_xperms_decision_node {\n\tstruct extended_perms_decision xpd;\n\tstruct list_head xpd_list;\n};\n\nstruct extended_perms_data {\n\tu32 p[8];\n};\n\nstruct extended_perms {\n\tu16 len;\n\tu8 base_perms;\n\tstruct extended_perms_data drivers;\n};\n\nstruct avc_xperms_node {\n\tstruct extended_perms xp;\n\tstruct list_head xpd_head;\n};\n\nstruct avtab_node;\n\nstruct avtab {\n\tstruct avtab_node **htable;\n\tu32 nel;\n\tu32 nslot;\n\tu32 mask;\n};\n\nstruct avtab_extended_perms;\n\nstruct avtab_datum {\n\tunion {\n\t\tu32 data;\n\t\tstruct avtab_extended_perms *xperms;\n\t} u;\n};\n\nstruct avtab_extended_perms {\n\tu8 specified;\n\tu8 driver;\n\tstruct extended_perms_data perms;\n};\n\nstruct avtab_key {\n\tu16 source_type;\n\tu16 target_type;\n\tu16 target_class;\n\tu16 specified;\n};\n\nstruct avtab_node {\n\tstruct avtab_key key;\n\tstruct avtab_datum datum;\n\tstruct avtab_node *next;\n};\n\nstruct backing_aio {\n\tstruct kiocb iocb;\n\trefcount_t ref;\n\tstruct kiocb *orig_iocb;\n\tvoid (*end_write)(struct kiocb *, ssize_t);\n\tstruct work_struct work;\n\tlong int res;\n};\n\nstruct percpu_counter {\n\traw_spinlock_t lock;\n\ts64 count;\n\tstruct list_head list;\n\ts32 *counters;\n};\n\nstruct fprop_local_percpu {\n\tstruct percpu_counter events;\n\tunsigned int period;\n\traw_spinlock_t lock;\n};\n\nstruct percpu_ref_data;\n\nstruct percpu_ref {\n\tlong unsigned int percpu_count_ptr;\n\tstruct percpu_ref_data *data;\n};\n\nstruct backing_dev_info;\n\nstruct cgroup_subsys_state;\n\nstruct bdi_writeback {\n\tstruct backing_dev_info *bdi;\n\tlong unsigned int state;\n\tlong unsigned int last_old_flush;\n\tstruct list_head b_dirty;\n\tstruct list_head b_io;\n\tstruct list_head b_more_io;\n\tstruct list_head b_dirty_time;\n\tspinlock_t list_lock;\n\tatomic_t writeback_inodes;\n\tstruct percpu_counter stat[4];\n\tlong unsigned int bw_time_stamp;\n\tlong unsigned int dirtied_stamp;\n\tlong unsigned int written_stamp;\n\tlong unsigned int write_bandwidth;\n\tlong unsigned int avg_write_bandwidth;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int balanced_dirty_ratelimit;\n\tstruct fprop_local_percpu completions;\n\tint dirty_exceeded;\n\tenum wb_reason start_all_reason;\n\tspinlock_t work_lock;\n\tstruct list_head work_list;\n\tstruct delayed_work dwork;\n\tstruct delayed_work bw_dwork;\n\tstruct list_head bdi_node;\n\tstruct percpu_ref refcnt;\n\tstruct fprop_local_percpu memcg_completions;\n\tstruct cgroup_subsys_state *memcg_css;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct list_head memcg_node;\n\tstruct list_head blkcg_node;\n\tstruct list_head b_attached;\n\tstruct list_head offline_node;\n\tunion {\n\t\tstruct work_struct release_work;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct backing_dev_info {\n\tu64 id;\n\tstruct rb_node rb_node;\n\tstruct list_head bdi_list;\n\tlong unsigned int ra_pages;\n\tlong unsigned int io_pages;\n\tstruct kref refcnt;\n\tunsigned int capabilities;\n\tunsigned int min_ratio;\n\tunsigned int max_ratio;\n\tunsigned int max_prop_frac;\n\tatomic_long_t tot_write_bandwidth;\n\tlong unsigned int last_bdp_sleep;\n\tstruct bdi_writeback wb;\n\tstruct list_head wb_list;\n\tstruct xarray cgwb_tree;\n\tstruct mutex cgwb_release_mutex;\n\tstruct rw_semaphore wb_switch_rwsem;\n\twait_queue_head_t wb_waitq;\n\tstruct device *dev;\n\tchar dev_name[64];\n\tstruct device *owner;\n\tstruct timer_list laptop_mode_wb_timer;\n\tstruct dentry *debug_dir;\n};\n\nstruct file_ra_state {\n\tlong unsigned int start;\n\tunsigned int size;\n\tunsigned int async_size;\n\tunsigned int ra_pages;\n\tunsigned int mmap_miss;\n\tloff_t prev_pos;\n};\n\nstruct file_operations;\n\nstruct fown_struct;\n\nstruct file {\n\tfile_ref_t f_ref;\n\tspinlock_t f_lock;\n\tfmode_t f_mode;\n\tconst struct file_operations *f_op;\n\tstruct address_space *f_mapping;\n\tvoid *private_data;\n\tstruct inode *f_inode;\n\tunsigned int f_flags;\n\tunsigned int f_iocb_flags;\n\tconst struct cred *f_cred;\n\tstruct path f_path;\n\tunion {\n\t\tstruct mutex f_pos_lock;\n\t\tu64 f_pipe;\n\t};\n\tloff_t f_pos;\n\tvoid *f_security;\n\tstruct fown_struct *f_owner;\n\terrseq_t f_wb_err;\n\terrseq_t f_sb_err;\n\tstruct hlist_head *f_ep;\n\tunion {\n\t\tstruct callback_head f_task_work;\n\t\tstruct llist_node f_llist;\n\t\tstruct file_ra_state f_ra;\n\t\tfreeptr_t f_freeptr;\n\t};\n};\n\nstruct backing_file {\n\tstruct file file;\n\tunion {\n\t\tstruct path user_path;\n\t\tfreeptr_t bf_freeptr;\n\t};\n};\n\nstruct backing_file_ctx {\n\tconst struct cred *cred;\n\tvoid (*accessed)(struct file *);\n\tvoid (*end_write)(struct kiocb *, ssize_t);\n};\n\nstruct bpf_verifier_env;\n\nstruct backtrack_state {\n\tstruct bpf_verifier_env *env;\n\tu32 frame;\n\tu32 reg_masks[8];\n\tu64 stack_masks[8];\n};\n\nstruct badblocks {\n\tstruct device *dev;\n\tint count;\n\tint unacked_exist;\n\tint shift;\n\tu64 *page;\n\tint changed;\n\tseqlock_t lock;\n\tsector_t sector;\n\tsector_t size;\n};\n\nstruct badblocks_context {\n\tsector_t start;\n\tsector_t len;\n\tint ack;\n};\n\nstruct badrange {\n\tstruct list_head list;\n\tspinlock_t lock;\n};\n\nstruct badrange_entry {\n\tu64 start;\n\tu64 length;\n\tstruct list_head list;\n};\n\nstruct balance_callback {\n\tstruct balance_callback *next;\n\tvoid (*func)(struct rq *);\n};\n\nstruct balloon_dev_info {\n\tlong unsigned int isolated_pages;\n\tspinlock_t pages_lock;\n\tstruct list_head pages;\n\tint (*migratepage)(struct balloon_dev_info *, struct page *, struct page *, enum migrate_mode);\n};\n\nstruct batadv_unicast_packet {\n\t__u8 packet_type;\n\t__u8 version;\n\t__u8 ttl;\n\t__u8 ttvn;\n\t__u8 dest[6];\n};\n\nstruct batch_u16 {\n\tu16 entropy[48];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u32 {\n\tu32 entropy[24];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u64 {\n\tu64 entropy[12];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u8 {\n\tu8 entropy[96];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct bd_holder_disk {\n\tstruct list_head list;\n\tstruct kobject *holder_dir;\n\tint refcnt;\n};\n\nstruct gendisk;\n\nstruct request_queue;\n\nstruct disk_stats;\n\nstruct blk_holder_ops;\n\nstruct partition_meta_info;\n\nstruct block_device {\n\tsector_t bd_start_sect;\n\tsector_t bd_nr_sectors;\n\tstruct gendisk *bd_disk;\n\tstruct request_queue *bd_queue;\n\tstruct disk_stats *bd_stats;\n\tlong unsigned int bd_stamp;\n\tatomic_t __bd_flags;\n\tdev_t bd_dev;\n\tstruct address_space *bd_mapping;\n\tatomic_t bd_openers;\n\tspinlock_t bd_size_lock;\n\tvoid *bd_claiming;\n\tvoid *bd_holder;\n\tconst struct blk_holder_ops *bd_holder_ops;\n\tstruct mutex bd_holder_lock;\n\tint bd_holders;\n\tstruct kobject *bd_holder_dir;\n\tatomic_t bd_fsfreeze_count;\n\tstruct mutex bd_fsfreeze_mutex;\n\tstruct partition_meta_info *bd_meta_info;\n\tint bd_writers;\n\tvoid *bd_security;\n\tstruct device bd_device;\n};\n\nstruct posix_acl;\n\nstruct inode_operations;\n\nstruct super_block;\n\nstruct file_lock_context;\n\nstruct pipe_inode_info;\n\nstruct cdev;\n\nstruct inode {\n\tumode_t i_mode;\n\tshort unsigned int i_opflags;\n\tkuid_t i_uid;\n\tkgid_t i_gid;\n\tunsigned int i_flags;\n\tstruct posix_acl *i_acl;\n\tstruct posix_acl *i_default_acl;\n\tconst struct inode_operations *i_op;\n\tstruct super_block *i_sb;\n\tstruct address_space *i_mapping;\n\tvoid *i_security;\n\tlong unsigned int i_ino;\n\tunion {\n\t\tconst unsigned int i_nlink;\n\t\tunsigned int __i_nlink;\n\t};\n\tdev_t i_rdev;\n\tloff_t i_size;\n\ttime64_t i_atime_sec;\n\ttime64_t i_mtime_sec;\n\ttime64_t i_ctime_sec;\n\tu32 i_atime_nsec;\n\tu32 i_mtime_nsec;\n\tu32 i_ctime_nsec;\n\tu32 i_generation;\n\tspinlock_t i_lock;\n\tshort unsigned int i_bytes;\n\tu8 i_blkbits;\n\tenum rw_hint i_write_hint;\n\tblkcnt_t i_blocks;\n\tu32 i_state;\n\tstruct rw_semaphore i_rwsem;\n\tlong unsigned int dirtied_when;\n\tlong unsigned int dirtied_time_when;\n\tstruct hlist_node i_hash;\n\tstruct list_head i_io_list;\n\tstruct bdi_writeback *i_wb;\n\tint i_wb_frn_winner;\n\tu16 i_wb_frn_avg_time;\n\tu16 i_wb_frn_history;\n\tstruct list_head i_lru;\n\tstruct list_head i_sb_list;\n\tstruct list_head i_wb_list;\n\tunion {\n\t\tstruct hlist_head i_dentry;\n\t\tstruct callback_head i_rcu;\n\t};\n\tatomic64_t i_version;\n\tatomic64_t i_sequence;\n\tatomic_t i_count;\n\tatomic_t i_dio_count;\n\tatomic_t i_writecount;\n\tatomic_t i_readcount;\n\tunion {\n\t\tconst struct file_operations *i_fop;\n\t\tvoid (*free_inode)(struct inode *);\n\t};\n\tstruct file_lock_context *i_flctx;\n\tstruct address_space i_data;\n\tunion {\n\t\tstruct list_head i_devices;\n\t\tint i_linklen;\n\t};\n\tunion {\n\t\tstruct pipe_inode_info *i_pipe;\n\t\tstruct cdev *i_cdev;\n\t\tchar *i_link;\n\t\tunsigned int i_dir_seq;\n\t};\n\t__u32 i_fsnotify_mask;\n\tstruct fsnotify_mark_connector *i_fsnotify_marks;\n\tvoid *i_private;\n};\n\nstruct bdev_inode {\n\tstruct block_device bdev;\n\tstruct inode vfs_inode;\n};\n\nstruct bgl_lock {\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bh_accounting {\n\tint nr;\n\tint ratelimit;\n};\n\nstruct bh_lru {\n\tstruct buffer_head *bhs[16];\n};\n\nstruct bictcp {\n\tu32 cnt;\n\tu32 last_max_cwnd;\n\tu32 last_cwnd;\n\tu32 last_time;\n\tu32 bic_origin_point;\n\tu32 bic_K;\n\tu32 delay_min;\n\tu32 epoch_start;\n\tu32 ack_cnt;\n\tu32 tcp_cwnd;\n\tu16 unused;\n\tu8 sample_cnt;\n\tu8 found;\n\tu32 round_start;\n\tu32 end_seq;\n\tu32 last_ack;\n\tu32 curr_rtt;\n};\n\nstruct bin_attribute {\n\tstruct attribute attr;\n\tsize_t size;\n\tvoid *private;\n\tstruct address_space * (*f_mapping)(void);\n\tssize_t (*read)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*read_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*write)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*write_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t);\n\tloff_t (*llseek)(struct file *, struct kobject *, const struct bin_attribute *, loff_t, int);\n\tint (*mmap)(struct file *, struct kobject *, const struct bin_attribute *, struct vm_area_struct *);\n};\n\nstruct binfmt_misc {\n\tstruct list_head entries;\n\trwlock_t entries_lock;\n\tbool enabled;\n};\n\nstruct bvec_iter {\n\tsector_t bi_sector;\n\tunsigned int bi_size;\n\tunsigned int bi_idx;\n\tunsigned int bi_bvec_done;\n} __attribute__((packed));\n\nstruct bio;\n\ntypedef void bio_end_io_t(struct bio *);\n\nstruct bio_issue {\n\tu64 value;\n};\n\nstruct bio_vec {\n\tstruct page *bv_page;\n\tunsigned int bv_len;\n\tunsigned int bv_offset;\n};\n\nstruct blkcg_gq;\n\nstruct bio_set;\n\nstruct bio {\n\tstruct bio *bi_next;\n\tstruct block_device *bi_bdev;\n\tblk_opf_t bi_opf;\n\tshort unsigned int bi_flags;\n\tshort unsigned int bi_ioprio;\n\tenum rw_hint bi_write_hint;\n\tblk_status_t bi_status;\n\tatomic_t __bi_remaining;\n\tstruct bvec_iter bi_iter;\n\tunion {\n\t\tblk_qc_t bi_cookie;\n\t\tunsigned int __bi_nr_segments;\n\t};\n\tbio_end_io_t *bi_end_io;\n\tvoid *bi_private;\n\tstruct blkcg_gq *bi_blkg;\n\tstruct bio_issue bi_issue;\n\tshort unsigned int bi_vcnt;\n\tshort unsigned int bi_max_vecs;\n\tatomic_t __bi_cnt;\n\tstruct bio_vec *bi_io_vec;\n\tstruct bio_set *bi_pool;\n\tstruct bio_vec bi_inline_vecs[0];\n};\n\nstruct bio_alloc_cache {\n\tstruct bio *free_list;\n\tstruct bio *free_list_irq;\n\tunsigned int nr;\n\tunsigned int nr_irq;\n};\n\nstruct bio_integrity_payload {\n\tstruct bio *bip_bio;\n\tstruct bvec_iter bip_iter;\n\tshort unsigned int bip_vcnt;\n\tshort unsigned int bip_max_vcnt;\n\tshort unsigned int bip_flags;\n\tu16 app_tag;\n\tstruct bvec_iter bio_iter;\n\tstruct work_struct bip_work;\n\tstruct bio_vec *bip_vec;\n\tstruct bio_vec bip_inline_vecs[0];\n};\n\nstruct bio_list {\n\tstruct bio *head;\n\tstruct bio *tail;\n};\n\nstruct iovec {\n\tvoid *iov_base;\n\t__kernel_size_t iov_len;\n};\n\nstruct kvec;\n\nstruct folio_queue;\n\nstruct iov_iter {\n\tu8 iter_type;\n\tbool nofault;\n\tbool data_source;\n\tsize_t iov_offset;\n\tunion {\n\t\tstruct iovec __ubuf_iovec;\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tconst struct iovec *__iov;\n\t\t\t\tconst struct kvec *kvec;\n\t\t\t\tconst struct bio_vec *bvec;\n\t\t\t\tconst struct folio_queue *folioq;\n\t\t\t\tstruct xarray *xarray;\n\t\t\t\tvoid *ubuf;\n\t\t\t};\n\t\t\tsize_t count;\n\t\t};\n\t};\n\tunion {\n\t\tlong unsigned int nr_segs;\n\t\tu8 folioq_slot;\n\t\tloff_t xarray_start;\n\t};\n};\n\nstruct bio_map_data {\n\tbool is_our_pages: 1;\n\tbool is_null_mapped: 1;\n\tstruct iov_iter iter;\n\tstruct iovec iov[0];\n};\n\nstruct bio_post_read_ctx {\n\tstruct bio *bio;\n\tstruct work_struct work;\n\tunsigned int cur_step;\n\tunsigned int enabled_steps;\n};\n\ntypedef void *mempool_alloc_t(gfp_t, void *);\n\ntypedef void mempool_free_t(void *, void *);\n\nstruct mempool_s {\n\tspinlock_t lock;\n\tint min_nr;\n\tint curr_nr;\n\tvoid **elements;\n\tvoid *pool_data;\n\tmempool_alloc_t *alloc;\n\tmempool_free_t *free;\n\twait_queue_head_t wait;\n};\n\ntypedef struct mempool_s mempool_t;\n\nstruct kmem_cache;\n\nstruct bio_set {\n\tstruct kmem_cache *bio_slab;\n\tunsigned int front_pad;\n\tstruct bio_alloc_cache *cache;\n\tmempool_t bio_pool;\n\tmempool_t bvec_pool;\n\tunsigned int back_pad;\n\tspinlock_t rescue_lock;\n\tstruct bio_list rescue_list;\n\tstruct work_struct rescue_work;\n\tstruct workqueue_struct *rescue_workqueue;\n\tstruct hlist_node cpuhp_dead;\n};\n\nstruct bio_slab {\n\tstruct kmem_cache *slab;\n\tunsigned int slab_ref;\n\tunsigned int slab_size;\n\tchar name[12];\n};\n\nstruct biovec_slab {\n\tint nr_vecs;\n\tchar *name;\n\tstruct kmem_cache *slab;\n};\n\nstruct bitmap_page;\n\nstruct bitmap_counts {\n\tspinlock_t lock;\n\tstruct bitmap_page *bp;\n\tlong unsigned int pages;\n\tlong unsigned int missing_pages;\n\tlong unsigned int chunkshift;\n\tlong unsigned int chunks;\n};\n\nstruct bitmap_storage {\n\tstruct file *file;\n\tstruct page *sb_page;\n\tlong unsigned int sb_index;\n\tstruct page **filemap;\n\tlong unsigned int *filemap_attr;\n\tlong unsigned int file_pages;\n\tlong unsigned int bytes;\n};\n\nstruct mddev;\n\nstruct bitmap {\n\tstruct bitmap_counts counts;\n\tstruct mddev *mddev;\n\t__u64 events_cleared;\n\tint need_sync;\n\tstruct bitmap_storage storage;\n\tlong unsigned int flags;\n\tint allclean;\n\tatomic_t behind_writes;\n\tlong unsigned int behind_writes_used;\n\tlong unsigned int daemon_lastrun;\n\tlong unsigned int last_end_sync;\n\tatomic_t pending_writes;\n\twait_queue_head_t write_wait;\n\twait_queue_head_t overflow_wait;\n\twait_queue_head_t behind_wait;\n\tstruct kernfs_node *sysfs_can_clear;\n\tint cluster_slot;\n};\n\nstruct md_bitmap_stats;\n\nstruct bitmap_operations {\n\tbool (*enabled)(struct mddev *);\n\tint (*create)(struct mddev *, int);\n\tint (*resize)(struct mddev *, sector_t, int, bool);\n\tint (*load)(struct mddev *);\n\tvoid (*destroy)(struct mddev *);\n\tvoid (*flush)(struct mddev *);\n\tvoid (*write_all)(struct mddev *);\n\tvoid (*dirty_bits)(struct mddev *, long unsigned int, long unsigned int);\n\tvoid (*unplug)(struct mddev *, bool);\n\tvoid (*daemon_work)(struct mddev *);\n\tvoid (*start_behind_write)(struct mddev *);\n\tvoid (*end_behind_write)(struct mddev *);\n\tvoid (*wait_behind_writes)(struct mddev *);\n\tint (*startwrite)(struct mddev *, sector_t, long unsigned int);\n\tvoid (*endwrite)(struct mddev *, sector_t, long unsigned int);\n\tbool (*start_sync)(struct mddev *, sector_t, sector_t *, bool);\n\tvoid (*end_sync)(struct mddev *, sector_t, sector_t *);\n\tvoid (*cond_end_sync)(struct mddev *, sector_t, bool);\n\tvoid (*close_sync)(struct mddev *);\n\tvoid (*update_sb)(void *);\n\tint (*get_stats)(void *, struct md_bitmap_stats *);\n\tvoid (*sync_with_cluster)(struct mddev *, sector_t, sector_t, sector_t, sector_t);\n\tvoid * (*get_from_slot)(struct mddev *, int);\n\tint (*copy_from_slot)(struct mddev *, int, sector_t *, sector_t *, bool);\n\tvoid (*set_pages)(void *, long unsigned int);\n\tvoid (*free)(void *);\n};\n\nstruct bitmap_page {\n\tchar *map;\n\tunsigned int hijacked: 1;\n\tunsigned int pending: 1;\n\tunsigned int count: 30;\n};\n\nstruct bitmap_super_s {\n\t__le32 magic;\n\t__le32 version;\n\t__u8 uuid[16];\n\t__le64 events;\n\t__le64 events_cleared;\n\t__le64 sync_size;\n\t__le32 state;\n\t__le32 chunksize;\n\t__le32 daemon_sleep;\n\t__le32 write_behind;\n\t__le32 sectors_reserved;\n\t__le32 nodes;\n\t__u8 cluster_name[64];\n\t__u8 pad[120];\n};\n\ntypedef struct bitmap_super_s bitmap_super_t;\n\nstruct bitmap_unplug_work {\n\tstruct work_struct work;\n\tstruct bitmap *bitmap;\n\tstruct completion *done;\n};\n\nstruct bl_dev_msg {\n\tint32_t status;\n\tuint32_t major;\n\tuint32_t minor;\n};\n\nstruct blacklist_entry {\n\tstruct list_head next;\n\tchar *buf;\n};\n\nstruct blake2s_state {\n\tu32 h[8];\n\tu32 t[2];\n\tu32 f[2];\n\tu8 buf[64];\n\tunsigned int buflen;\n\tunsigned int outlen;\n};\n\nstruct blk_crypto_config {\n\tenum blk_crypto_mode_num crypto_mode;\n\tunsigned int data_unit_size;\n\tunsigned int dun_bytes;\n};\n\nstruct blk_crypto_key {\n\tstruct blk_crypto_config crypto_cfg;\n\tunsigned int data_unit_size_bits;\n\tunsigned int size;\n\tu8 raw[64];\n};\n\nstruct blk_crypto_profile;\n\nstruct blk_crypto_ll_ops {\n\tint (*keyslot_program)(struct blk_crypto_profile *, const struct blk_crypto_key *, unsigned int);\n\tint (*keyslot_evict)(struct blk_crypto_profile *, const struct blk_crypto_key *, unsigned int);\n};\n\nstruct blk_crypto_keyslot;\n\nstruct blk_crypto_profile {\n\tstruct blk_crypto_ll_ops ll_ops;\n\tunsigned int max_dun_bytes_supported;\n\tunsigned int modes_supported[5];\n\tstruct device *dev;\n\tunsigned int num_slots;\n\tstruct rw_semaphore lock;\n\tstruct lock_class_key lockdep_key;\n\twait_queue_head_t idle_slots_wait_queue;\n\tstruct list_head idle_slots;\n\tspinlock_t idle_slots_lock;\n\tstruct hlist_head *slot_hashtable;\n\tunsigned int log_slot_ht_size;\n\tstruct blk_crypto_keyslot *slots;\n};\n\nstruct blk_expired_data {\n\tbool has_timedout_rq;\n\tlong unsigned int next;\n\tlong unsigned int timeout_start;\n};\n\nstruct request;\n\nstruct blk_flush_queue {\n\tspinlock_t mq_flush_lock;\n\tunsigned int flush_pending_idx: 1;\n\tunsigned int flush_running_idx: 1;\n\tblk_status_t rq_status;\n\tlong unsigned int flush_pending_since;\n\tstruct list_head flush_queue[2];\n\tlong unsigned int flush_data_in_flight;\n\tstruct request *flush_rq;\n};\n\nstruct blk_holder_ops {\n\tvoid (*mark_dead)(struct block_device *, bool);\n\tvoid (*sync)(struct block_device *);\n\tint (*freeze)(struct block_device *);\n\tint (*thaw)(struct block_device *);\n};\n\nstruct blk_independent_access_range;\n\nstruct blk_ia_range_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_independent_access_range *, char *);\n};\n\nstruct blk_independent_access_range {\n\tstruct kobject kobj;\n\tsector_t sector;\n\tsector_t nr_sectors;\n};\n\nstruct blk_independent_access_ranges {\n\tstruct kobject kobj;\n\tbool sysfs_registered;\n\tunsigned int nr_ia_ranges;\n\tstruct blk_independent_access_range ia_range[0];\n};\n\nstruct blk_integrity {\n\tunsigned char flags;\n\tenum blk_integrity_checksum csum_type;\n\tunsigned char tuple_size;\n\tunsigned char pi_offset;\n\tunsigned char interval_exp;\n\tunsigned char tag_size;\n};\n\nstruct blk_io_trace {\n\t__u32 magic;\n\t__u32 sequence;\n\t__u64 time;\n\t__u64 sector;\n\t__u32 bytes;\n\t__u32 action;\n\t__u32 pid;\n\t__u32 device;\n\t__u32 cpu;\n\t__u16 error;\n\t__u16 pdu_len;\n};\n\nstruct blk_io_trace_remap {\n\t__be32 device_from;\n\t__be32 device_to;\n\t__be64 sector_from;\n};\n\nstruct blk_iou_cmd {\n\tint res;\n\tbool nowait;\n};\n\nstruct blk_major_name {\n\tstruct blk_major_name *next;\n\tint major;\n\tchar name[16];\n\tvoid (*probe)(dev_t);\n};\n\nstruct rq_list;\n\nstruct blk_mq_ctx;\n\nstruct blk_mq_hw_ctx;\n\nstruct blk_mq_alloc_data {\n\tstruct request_queue *q;\n\tblk_mq_req_flags_t flags;\n\tunsigned int shallow_depth;\n\tblk_opf_t cmd_flags;\n\treq_flags_t rq_flags;\n\tunsigned int nr_tags;\n\tstruct rq_list *cached_rqs;\n\tstruct blk_mq_ctx *ctx;\n\tstruct blk_mq_hw_ctx *hctx;\n};\n\nstruct blk_mq_ctxs;\n\nstruct blk_mq_ctx {\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head rq_lists[3];\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tunsigned int cpu;\n\tshort unsigned int index_hw[3];\n\tstruct blk_mq_hw_ctx *hctxs[3];\n\tstruct request_queue *queue;\n\tstruct blk_mq_ctxs *ctxs;\n\tstruct kobject kobj;\n\tlong: 64;\n};\n\nstruct blk_mq_ctxs {\n\tstruct kobject kobj;\n\tstruct blk_mq_ctx *queue_ctx;\n};\n\nstruct seq_operations;\n\nstruct blk_mq_debugfs_attr {\n\tconst char *name;\n\tumode_t mode;\n\tint (*show)(void *, struct seq_file *);\n\tssize_t (*write)(void *, const char *, size_t, loff_t *);\n\tconst struct seq_operations *seq_ops;\n};\n\nstruct cpumask {\n\tlong unsigned int bits[32];\n};\n\ntypedef struct cpumask cpumask_var_t[1];\n\nstruct sbitmap_word;\n\nstruct sbitmap {\n\tunsigned int depth;\n\tunsigned int shift;\n\tunsigned int map_nr;\n\tbool round_robin;\n\tstruct sbitmap_word *map;\n\tunsigned int *alloc_hint;\n};\n\ntypedef struct wait_queue_entry wait_queue_entry_t;\n\nstruct blk_mq_hw_ctx {\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head dispatch;\n\t\tlong unsigned int state;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct delayed_work run_work;\n\tcpumask_var_t cpumask;\n\tint next_cpu;\n\tint next_cpu_batch;\n\tlong unsigned int flags;\n\tvoid *sched_data;\n\tstruct request_queue *queue;\n\tstruct blk_flush_queue *fq;\n\tvoid *driver_data;\n\tstruct sbitmap ctx_map;\n\tstruct blk_mq_ctx *dispatch_from;\n\tunsigned int dispatch_busy;\n\tshort unsigned int type;\n\tshort unsigned int nr_ctx;\n\tstruct blk_mq_ctx **ctxs;\n\tspinlock_t dispatch_wait_lock;\n\twait_queue_entry_t dispatch_wait;\n\tatomic_t wait_index;\n\tstruct blk_mq_tags *tags;\n\tstruct blk_mq_tags *sched_tags;\n\tunsigned int numa_node;\n\tunsigned int queue_num;\n\tatomic_t nr_active;\n\tstruct hlist_node cpuhp_online;\n\tstruct hlist_node cpuhp_dead;\n\tstruct kobject kobj;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *sched_debugfs_dir;\n\tstruct list_head hctx_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct blk_mq_hw_ctx_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_mq_hw_ctx *, char *);\n};\n\nstruct blk_mq_queue_data;\n\nstruct io_comp_batch;\n\nstruct blk_mq_ops {\n\tblk_status_t (*queue_rq)(struct blk_mq_hw_ctx *, const struct blk_mq_queue_data *);\n\tvoid (*commit_rqs)(struct blk_mq_hw_ctx *);\n\tvoid (*queue_rqs)(struct rq_list *);\n\tint (*get_budget)(struct request_queue *);\n\tvoid (*put_budget)(struct request_queue *, int);\n\tvoid (*set_rq_budget_token)(struct request *, int);\n\tint (*get_rq_budget_token)(struct request *);\n\tenum blk_eh_timer_return (*timeout)(struct request *);\n\tint (*poll)(struct blk_mq_hw_ctx *, struct io_comp_batch *);\n\tvoid (*complete)(struct request *);\n\tint (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int);\n\tvoid (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tint (*init_request)(struct blk_mq_tag_set *, struct request *, unsigned int, unsigned int);\n\tvoid (*exit_request)(struct blk_mq_tag_set *, struct request *, unsigned int);\n\tvoid (*cleanup_rq)(struct request *);\n\tbool (*busy)(struct request_queue *);\n\tvoid (*map_queues)(struct blk_mq_tag_set *);\n\tvoid (*show_rq)(struct seq_file *, struct request *);\n};\n\nstruct elevator_type;\n\nstruct blk_mq_qe_pair {\n\tstruct list_head node;\n\tstruct request_queue *q;\n\tstruct elevator_type *type;\n};\n\nstruct blk_mq_queue_data {\n\tstruct request *rq;\n\tbool last;\n};\n\nstruct sbq_wait_state;\n\nstruct sbitmap_queue {\n\tstruct sbitmap sb;\n\tunsigned int wake_batch;\n\tatomic_t wake_index;\n\tstruct sbq_wait_state *ws;\n\tatomic_t ws_active;\n\tunsigned int min_shallow_depth;\n\tatomic_t completion_cnt;\n\tatomic_t wakeup_cnt;\n};\n\nstruct blk_mq_tags {\n\tunsigned int nr_tags;\n\tunsigned int nr_reserved_tags;\n\tunsigned int active_queues;\n\tstruct sbitmap_queue bitmap_tags;\n\tstruct sbitmap_queue breserved_tags;\n\tstruct request **rqs;\n\tstruct request **static_rqs;\n\tstruct list_head page_list;\n\tspinlock_t lock;\n};\n\nstruct rq_list {\n\tstruct request *head;\n\tstruct request *tail;\n};\n\nstruct blk_plug {\n\tstruct rq_list mq_list;\n\tstruct rq_list cached_rqs;\n\tu64 cur_ktime;\n\tshort unsigned int nr_ios;\n\tshort unsigned int rq_count;\n\tbool multiple_queues;\n\tbool has_elevator;\n\tstruct list_head cb_list;\n};\n\nstruct blk_plug_cb;\n\ntypedef void (*blk_plug_cb_fn)(struct blk_plug_cb *, bool);\n\nstruct blk_plug_cb {\n\tstruct list_head list;\n\tblk_plug_cb_fn callback;\n\tvoid *data;\n};\n\nstruct blk_queue_stats {\n\tstruct list_head callbacks;\n\tspinlock_t lock;\n\tint accounting;\n};\n\nstruct blk_rq_stat {\n\tu64 mean;\n\tu64 min;\n\tu64 max;\n\tu32 nr_samples;\n\tu64 batch;\n};\n\nstruct blk_rq_wait {\n\tstruct completion done;\n\tblk_status_t ret;\n};\n\nstruct blk_stat_callback {\n\tstruct list_head list;\n\tstruct timer_list timer;\n\tstruct blk_rq_stat *cpu_stat;\n\tint (*bucket_fn)(const struct request *);\n\tunsigned int buckets;\n\tstruct blk_rq_stat *stat;\n\tvoid (*timer_fn)(struct blk_stat_callback *);\n\tvoid *data;\n\tstruct callback_head rcu;\n};\n\nstruct rchan;\n\nstruct blk_trace {\n\tint trace_state;\n\tstruct rchan *rchan;\n\tlong unsigned int *sequence;\n\tunsigned char *msg_data;\n\tu16 act_mask;\n\tu64 start_lba;\n\tu64 end_lba;\n\tu32 pid;\n\tu32 dev;\n\tstruct dentry *dir;\n\tstruct list_head running_list;\n\tatomic_t dropped;\n};\n\nstruct blk_user_trace_setup {\n\tchar name[32];\n\t__u16 act_mask;\n\t__u32 buf_size;\n\t__u32 buf_nr;\n\t__u64 start_lba;\n\t__u64 end_lba;\n\t__u32 pid;\n};\n\nstruct blk_zone {\n\t__u64 start;\n\t__u64 len;\n\t__u64 wp;\n\t__u8 type;\n\t__u8 cond;\n\t__u8 non_seq;\n\t__u8 reset;\n\t__u8 resv[4];\n\t__u64 capacity;\n\t__u8 reserved[24];\n};\n\nstruct rcu_work {\n\tstruct work_struct work;\n\tstruct callback_head rcu;\n\tstruct workqueue_struct *wq;\n};\n\nstruct cgroup_subsys;\n\nstruct cgroup_subsys_state {\n\tstruct cgroup *cgroup;\n\tstruct cgroup_subsys *ss;\n\tstruct percpu_ref refcnt;\n\tstruct list_head sibling;\n\tstruct list_head children;\n\tstruct list_head rstat_css_node;\n\tint id;\n\tunsigned int flags;\n\tu64 serial_nr;\n\tatomic_t online_cnt;\n\tstruct work_struct destroy_work;\n\tstruct rcu_work destroy_rwork;\n\tstruct cgroup_subsys_state *parent;\n\tint nr_descendants;\n};\n\nstruct blkcg_policy_data;\n\nstruct llist_head;\n\nstruct blkcg {\n\tstruct cgroup_subsys_state css;\n\tspinlock_t lock;\n\trefcount_t online_pin;\n\tatomic_t congestion_count;\n\tstruct xarray blkg_tree;\n\tstruct blkcg_gq *blkg_hint;\n\tstruct hlist_head blkg_list;\n\tstruct blkcg_policy_data *cpd[6];\n\tstruct list_head all_blkcgs_node;\n\tstruct llist_head *lhead;\n\tstruct list_head cgwb_list;\n};\n\nstruct blkg_iostat {\n\tu64 bytes[3];\n\tu64 ios[3];\n};\n\nstruct blkg_iostat_set {\n\tstruct u64_stats_sync sync;\n\tstruct blkcg_gq *blkg;\n\tstruct llist_node lnode;\n\tint lqueued;\n\tstruct blkg_iostat cur;\n\tstruct blkg_iostat last;\n};\n\nstruct blkg_policy_data;\n\nstruct blkcg_gq {\n\tstruct request_queue *q;\n\tstruct list_head q_node;\n\tstruct hlist_node blkcg_node;\n\tstruct blkcg *blkcg;\n\tstruct blkcg_gq *parent;\n\tstruct percpu_ref refcnt;\n\tbool online;\n\tstruct blkg_iostat_set *iostat_cpu;\n\tstruct blkg_iostat_set iostat;\n\tstruct blkg_policy_data *pd[6];\n\tspinlock_t async_bio_lock;\n\tstruct bio_list async_bios;\n\tunion {\n\t\tstruct work_struct async_bio_work;\n\t\tstruct work_struct free_work;\n\t};\n\tatomic_t use_delay;\n\tatomic64_t delay_nsec;\n\tatomic64_t delay_start;\n\tu64 last_delay;\n\tint last_use;\n\tstruct callback_head callback_head;\n};\n\ntypedef struct blkcg_policy_data *blkcg_pol_alloc_cpd_fn(gfp_t);\n\ntypedef void blkcg_pol_free_cpd_fn(struct blkcg_policy_data *);\n\ntypedef struct blkg_policy_data *blkcg_pol_alloc_pd_fn(struct gendisk *, struct blkcg *, gfp_t);\n\ntypedef void blkcg_pol_init_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_online_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_offline_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_free_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_reset_pd_stats_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_stat_pd_fn(struct blkg_policy_data *, struct seq_file *);\n\nstruct cftype;\n\nstruct blkcg_policy {\n\tint plid;\n\tstruct cftype *dfl_cftypes;\n\tstruct cftype *legacy_cftypes;\n\tblkcg_pol_alloc_cpd_fn *cpd_alloc_fn;\n\tblkcg_pol_free_cpd_fn *cpd_free_fn;\n\tblkcg_pol_alloc_pd_fn *pd_alloc_fn;\n\tblkcg_pol_init_pd_fn *pd_init_fn;\n\tblkcg_pol_online_pd_fn *pd_online_fn;\n\tblkcg_pol_offline_pd_fn *pd_offline_fn;\n\tblkcg_pol_free_pd_fn *pd_free_fn;\n\tblkcg_pol_reset_pd_stats_fn *pd_reset_stats_fn;\n\tblkcg_pol_stat_pd_fn *pd_stat_fn;\n};\n\nstruct blkcg_policy_data {\n\tstruct blkcg *blkcg;\n\tint plid;\n};\n\nstruct blkdev_dio {\n\tunion {\n\t\tstruct kiocb *iocb;\n\t\tstruct task_struct *waiter;\n\t};\n\tsize_t size;\n\tatomic_t ref;\n\tunsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bio bio;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct blkg_conf_ctx {\n\tchar *input;\n\tchar *body;\n\tstruct block_device *bdev;\n\tstruct blkcg_gq *blkg;\n};\n\nstruct blkg_policy_data {\n\tstruct blkcg_gq *blkg;\n\tint plid;\n\tbool online;\n};\n\nstruct blkpg_ioctl_arg {\n\tint op;\n\tint flags;\n\tint datalen;\n\tvoid *data;\n};\n\nstruct blkpg_partition {\n\tlong long int start;\n\tlong long int length;\n\tint pno;\n\tchar devname[64];\n\tchar volname[64];\n};\n\ntypedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *);\n\nstruct hd_geometry;\n\nstruct pr_ops;\n\nstruct block_device_operations {\n\tvoid (*submit_bio)(struct bio *);\n\tint (*poll_bio)(struct bio *, struct io_comp_batch *, unsigned int);\n\tint (*open)(struct gendisk *, blk_mode_t);\n\tvoid (*release)(struct gendisk *);\n\tint (*ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int);\n\tunsigned int (*check_events)(struct gendisk *, unsigned int);\n\tvoid (*unlock_native_capacity)(struct gendisk *);\n\tint (*getgeo)(struct block_device *, struct hd_geometry *);\n\tint (*set_read_only)(struct block_device *, bool);\n\tvoid (*free_disk)(struct gendisk *);\n\tvoid (*swap_slot_free_notify)(struct block_device *, long unsigned int);\n\tint (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *);\n\tchar * (*devnode)(struct gendisk *, umode_t *);\n\tint (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id);\n\tstruct module *owner;\n\tconst struct pr_ops *pr_ops;\n\tint (*alternative_gpt_sector)(struct gendisk *, sector_t *);\n};\n\nstruct blockgroup_lock {\n\tstruct bgl_lock locks[128];\n};\n\nstruct blocking_notifier_head {\n\tstruct rw_semaphore rwsem;\n\tstruct notifier_block *head;\n};\n\nstruct video_board;\n\nstruct board {\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tshort unsigned int rev;\n\tshort unsigned int svid;\n\tshort unsigned int sid;\n\tunsigned int flags;\n\tunsigned int maxclk;\n\tenum mga_chip chip;\n\tstruct video_board *base;\n\tconst char *name;\n};\n\nstruct boot_param_header {\n\t__be32 magic;\n\t__be32 totalsize;\n\t__be32 off_dt_struct;\n\t__be32 off_dt_strings;\n\t__be32 off_mem_rsvmap;\n\t__be32 version;\n\t__be32 last_comp_version;\n\t__be32 boot_cpuid_phys;\n\t__be32 dt_strings_size;\n\t__be32 dt_struct_size;\n};\n\nstruct boot_triggers {\n\tconst char *event;\n\tchar *trigger;\n};\n\nstruct iphdr {\n\t__u8 ihl: 4;\n\t__u8 version: 4;\n\t__u8 tos;\n\t__be16 tot_len;\n\t__be16 id;\n\t__be16 frag_off;\n\t__u8 ttl;\n\t__u8 protocol;\n\t__sum16 check;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t};\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t} addrs;\n\t};\n};\n\nstruct udphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be16 len;\n\t__sum16 check;\n};\n\nstruct bootp_pkt {\n\tstruct iphdr iph;\n\tstruct udphdr udph;\n\tu8 op;\n\tu8 htype;\n\tu8 hlen;\n\tu8 hops;\n\t__be32 xid;\n\t__be16 secs;\n\t__be16 flags;\n\t__be32 client_ip;\n\t__be32 your_ip;\n\t__be32 server_ip;\n\t__be32 relay_ip;\n\tu8 hw_addr[16];\n\tu8 serv_name[64];\n\tu8 boot_file[128];\n\tu8 exten[312];\n};\n\nstruct bp_slots_histogram {\n\tatomic_t *count;\n};\n\nstruct bp_cpuinfo {\n\tunsigned int cpu_pinned;\n\tstruct bp_slots_histogram tsk_pinned;\n};\n\nstruct bpf_map_ops;\n\nstruct btf_record;\n\nstruct btf;\n\nstruct obj_cgroup;\n\nstruct btf_type;\n\nstruct bpf_map {\n\tconst struct bpf_map_ops *ops;\n\tstruct bpf_map *inner_map_meta;\n\tvoid *security;\n\tenum bpf_map_type map_type;\n\tu32 key_size;\n\tu32 value_size;\n\tu32 max_entries;\n\tu64 map_extra;\n\tu32 map_flags;\n\tu32 id;\n\tstruct btf_record *record;\n\tint numa_node;\n\tu32 btf_key_type_id;\n\tu32 btf_value_type_id;\n\tu32 btf_vmlinux_value_type_id;\n\tstruct btf *btf;\n\tstruct obj_cgroup *objcg;\n\tchar name[16];\n\tstruct mutex freeze_mutex;\n\tatomic64_t refcnt;\n\tatomic64_t usercnt;\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n\tatomic64_t writecnt;\n\tstruct {\n\t\tconst struct btf_type *attach_func_proto;\n\t\tspinlock_t lock;\n\t\tenum bpf_prog_type type;\n\t\tbool jited;\n\t\tbool xdp_has_frags;\n\t} owner;\n\tbool bypass_spec_v1;\n\tbool frozen;\n\tbool free_after_mult_rcu_gp;\n\tbool free_after_rcu_gp;\n\tatomic64_t sleepable_refcnt;\n\ts64 *elem_count;\n};\n\nstruct range_tree {\n\tstruct rb_root_cached it_root;\n\tstruct rb_root_cached range_size_root;\n};\n\nstruct vm_struct;\n\nstruct bpf_arena {\n\tstruct bpf_map map;\n\tu64 user_vm_start;\n\tu64 user_vm_end;\n\tstruct vm_struct *kern_vm;\n\tstruct range_tree rt;\n\tstruct list_head vma_list;\n\tstruct mutex lock;\n};\n\nstruct bpf_array_aux;\n\nstruct bpf_array {\n\tstruct bpf_map map;\n\tu32 elem_size;\n\tu32 index_mask;\n\tstruct bpf_array_aux *aux;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_value;\n\t\t\tchar value[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_ptrs;\n\t\t\tvoid *ptrs[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_pptrs;\n\t\t\tvoid *pptrs[0];\n\t\t};\n\t};\n};\n\nstruct bpf_array_aux {\n\tstruct list_head poke_progs;\n\tstruct bpf_map *map;\n\tstruct mutex poke_mutex;\n\tstruct work_struct work;\n};\n\nstruct bpf_prog;\n\nstruct bpf_async_cb {\n\tstruct bpf_map *map;\n\tstruct bpf_prog *prog;\n\tvoid *callback_fn;\n\tvoid *value;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct delete_work;\n\t};\n\tu64 flags;\n};\n\nstruct bpf_spin_lock {\n\t__u32 val;\n};\n\nstruct bpf_hrtimer;\n\nstruct bpf_work;\n\nstruct bpf_async_kern {\n\tunion {\n\t\tstruct bpf_async_cb *cb;\n\t\tstruct bpf_hrtimer *timer;\n\t\tstruct bpf_work *work;\n\t};\n\tstruct bpf_spin_lock lock;\n};\n\nstruct btf_func_model {\n\tu8 ret_size;\n\tu8 ret_flags;\n\tu8 nr_args;\n\tu8 arg_size[12];\n\tu8 arg_flags[12];\n};\n\nstruct bpf_attach_target_info {\n\tstruct btf_func_model fmodel;\n\tlong int tgt_addr;\n\tstruct module *tgt_mod;\n\tconst char *tgt_name;\n\tconst struct btf_type *tgt_type;\n};\n\nunion bpf_attr {\n\tstruct {\n\t\t__u32 map_type;\n\t\t__u32 key_size;\n\t\t__u32 value_size;\n\t\t__u32 max_entries;\n\t\t__u32 map_flags;\n\t\t__u32 inner_map_fd;\n\t\t__u32 numa_node;\n\t\tchar map_name[16];\n\t\t__u32 map_ifindex;\n\t\t__u32 btf_fd;\n\t\t__u32 btf_key_type_id;\n\t\t__u32 btf_value_type_id;\n\t\t__u32 btf_vmlinux_value_type_id;\n\t\t__u64 map_extra;\n\t\t__s32 value_type_btf_obj_fd;\n\t\t__s32 map_token_fd;\n\t};\n\tstruct {\n\t\t__u32 map_fd;\n\t\t__u64 key;\n\t\tunion {\n\t\t\t__u64 value;\n\t\t\t__u64 next_key;\n\t\t};\n\t\t__u64 flags;\n\t};\n\tstruct {\n\t\t__u64 in_batch;\n\t\t__u64 out_batch;\n\t\t__u64 keys;\n\t\t__u64 values;\n\t\t__u32 count;\n\t\t__u32 map_fd;\n\t\t__u64 elem_flags;\n\t\t__u64 flags;\n\t} batch;\n\tstruct {\n\t\t__u32 prog_type;\n\t\t__u32 insn_cnt;\n\t\t__u64 insns;\n\t\t__u64 license;\n\t\t__u32 log_level;\n\t\t__u32 log_size;\n\t\t__u64 log_buf;\n\t\t__u32 kern_version;\n\t\t__u32 prog_flags;\n\t\tchar prog_name[16];\n\t\t__u32 prog_ifindex;\n\t\t__u32 expected_attach_type;\n\t\t__u32 prog_btf_fd;\n\t\t__u32 func_info_rec_size;\n\t\t__u64 func_info;\n\t\t__u32 func_info_cnt;\n\t\t__u32 line_info_rec_size;\n\t\t__u64 line_info;\n\t\t__u32 line_info_cnt;\n\t\t__u32 attach_btf_id;\n\t\tunion {\n\t\t\t__u32 attach_prog_fd;\n\t\t\t__u32 attach_btf_obj_fd;\n\t\t};\n\t\t__u32 core_relo_cnt;\n\t\t__u64 fd_array;\n\t\t__u64 core_relos;\n\t\t__u32 core_relo_rec_size;\n\t\t__u32 log_true_size;\n\t\t__s32 prog_token_fd;\n\t\t__u32 fd_array_cnt;\n\t};\n\tstruct {\n\t\t__u64 pathname;\n\t\t__u32 bpf_fd;\n\t\t__u32 file_flags;\n\t\t__s32 path_fd;\n\t};\n\tstruct {\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_bpf_fd;\n\t\t__u32 attach_type;\n\t\t__u32 attach_flags;\n\t\t__u32 replace_bpf_fd;\n\t\tunion {\n\t\t\t__u32 relative_fd;\n\t\t\t__u32 relative_id;\n\t\t};\n\t\t__u64 expected_revision;\n\t};\n\tstruct {\n\t\t__u32 prog_fd;\n\t\t__u32 retval;\n\t\t__u32 data_size_in;\n\t\t__u32 data_size_out;\n\t\t__u64 data_in;\n\t\t__u64 data_out;\n\t\t__u32 repeat;\n\t\t__u32 duration;\n\t\t__u32 ctx_size_in;\n\t\t__u32 ctx_size_out;\n\t\t__u64 ctx_in;\n\t\t__u64 ctx_out;\n\t\t__u32 flags;\n\t\t__u32 cpu;\n\t\t__u32 batch_size;\n\t} test;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 start_id;\n\t\t\t__u32 prog_id;\n\t\t\t__u32 map_id;\n\t\t\t__u32 btf_id;\n\t\t\t__u32 link_id;\n\t\t};\n\t\t__u32 next_id;\n\t\t__u32 open_flags;\n\t};\n\tstruct {\n\t\t__u32 bpf_fd;\n\t\t__u32 info_len;\n\t\t__u64 info;\n\t} info;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_type;\n\t\t__u32 query_flags;\n\t\t__u32 attach_flags;\n\t\t__u64 prog_ids;\n\t\tunion {\n\t\t\t__u32 prog_cnt;\n\t\t\t__u32 count;\n\t\t};\n\t\t__u64 prog_attach_flags;\n\t\t__u64 link_ids;\n\t\t__u64 link_attach_flags;\n\t\t__u64 revision;\n\t} query;\n\tstruct {\n\t\t__u64 name;\n\t\t__u32 prog_fd;\n\t\t__u64 cookie;\n\t} raw_tracepoint;\n\tstruct {\n\t\t__u64 btf;\n\t\t__u64 btf_log_buf;\n\t\t__u32 btf_size;\n\t\t__u32 btf_log_size;\n\t\t__u32 btf_log_level;\n\t\t__u32 btf_log_true_size;\n\t\t__u32 btf_flags;\n\t\t__s32 btf_token_fd;\n\t};\n\tstruct {\n\t\t__u32 pid;\n\t\t__u32 fd;\n\t\t__u32 flags;\n\t\t__u32 buf_len;\n\t\t__u64 buf;\n\t\t__u32 prog_id;\n\t\t__u32 fd_type;\n\t\t__u64 probe_offset;\n\t\t__u64 probe_addr;\n\t} task_fd_query;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 prog_fd;\n\t\t\t__u32 map_fd;\n\t\t};\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_type;\n\t\t__u32 flags;\n\t\tunion {\n\t\t\t__u32 target_btf_id;\n\t\t\tstruct {\n\t\t\t\t__u64 iter_info;\n\t\t\t\t__u32 iter_info_len;\n\t\t\t};\n\t\t\tstruct {\n\t\t\t\t__u64 bpf_cookie;\n\t\t\t} perf_event;\n\t\t\tstruct {\n\t\t\t\t__u32 flags;\n\t\t\t\t__u32 cnt;\n\t\t\t\t__u64 syms;\n\t\t\t\t__u64 addrs;\n\t\t\t\t__u64 cookies;\n\t\t\t} kprobe_multi;\n\t\t\tstruct {\n\t\t\t\t__u32 target_btf_id;\n\t\t\t\t__u64 cookie;\n\t\t\t} tracing;\n\t\t\tstruct {\n\t\t\t\t__u32 pf;\n\t\t\t\t__u32 hooknum;\n\t\t\t\t__s32 priority;\n\t\t\t\t__u32 flags;\n\t\t\t} netfilter;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32 relative_fd;\n\t\t\t\t\t__u32 relative_id;\n\t\t\t\t};\n\t\t\t\t__u64 expected_revision;\n\t\t\t} tcx;\n\t\t\tstruct {\n\t\t\t\t__u64 path;\n\t\t\t\t__u64 offsets;\n\t\t\t\t__u64 ref_ctr_offsets;\n\t\t\t\t__u64 cookies;\n\t\t\t\t__u32 cnt;\n\t\t\t\t__u32 flags;\n\t\t\t\t__u32 pid;\n\t\t\t} uprobe_multi;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32 relative_fd;\n\t\t\t\t\t__u32 relative_id;\n\t\t\t\t};\n\t\t\t\t__u64 expected_revision;\n\t\t\t} netkit;\n\t\t};\n\t} link_create;\n\tstruct {\n\t\t__u32 link_fd;\n\t\tunion {\n\t\t\t__u32 new_prog_fd;\n\t\t\t__u32 new_map_fd;\n\t\t};\n\t\t__u32 flags;\n\t\tunion {\n\t\t\t__u32 old_prog_fd;\n\t\t\t__u32 old_map_fd;\n\t\t};\n\t} link_update;\n\tstruct {\n\t\t__u32 link_fd;\n\t} link_detach;\n\tstruct {\n\t\t__u32 type;\n\t} enable_stats;\n\tstruct {\n\t\t__u32 link_fd;\n\t\t__u32 flags;\n\t} iter_create;\n\tstruct {\n\t\t__u32 prog_fd;\n\t\t__u32 map_fd;\n\t\t__u32 flags;\n\t} prog_bind_map;\n\tstruct {\n\t\t__u32 flags;\n\t\t__u32 bpffs_fd;\n\t} token_create;\n};\n\nstruct bpf_binary_header {\n\tu32 size;\n\tlong: 0;\n\tu8 image[0];\n};\n\nstruct bpf_bloom_filter {\n\tstruct bpf_map map;\n\tu32 bitset_mask;\n\tu32 hash_seed;\n\tu32 nr_hash_funcs;\n\tlong unsigned int bitset[0];\n};\n\nstruct bpf_bprintf_buffers {\n\tchar bin_args[512];\n\tchar buf[1024];\n};\n\nstruct bpf_bprintf_data {\n\tu32 *bin_args;\n\tchar *buf;\n\tbool get_bin_args;\n\tbool get_buf;\n};\n\nstruct bpf_btf_info {\n\t__u64 btf;\n\t__u32 btf_size;\n\t__u32 id;\n\t__u64 name;\n\t__u32 name_len;\n\t__u32 kernel_btf;\n};\n\nstruct btf_field;\n\nstruct bpf_call_arg_meta {\n\tstruct bpf_map *map_ptr;\n\tbool raw_mode;\n\tbool pkt_access;\n\tu8 release_regno;\n\tint regno;\n\tint access_size;\n\tint mem_size;\n\tu64 msize_max_value;\n\tint ref_obj_id;\n\tint dynptr_id;\n\tint map_uid;\n\tint func_id;\n\tstruct btf *btf;\n\tu32 btf_id;\n\tstruct btf *ret_btf;\n\tu32 ret_btf_id;\n\tu32 subprogno;\n\tstruct btf_field *kptr_field;\n\ts64 const_map_key;\n};\n\nstruct bpf_cand_cache {\n\tconst char *name;\n\tu32 name_len;\n\tu16 kind;\n\tu16 cnt;\n\tstruct {\n\t\tconst struct btf *btf;\n\t\tu32 id;\n\t} cands[0];\n};\n\nstruct bpf_run_ctx {};\n\nstruct bpf_prog_array_item;\n\nstruct bpf_cg_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tconst struct bpf_prog_array_item *prog_item;\n\tint retval;\n};\n\nstruct bpf_cgroup_dev_ctx {\n\t__u32 access_type;\n\t__u32 major;\n\t__u32 minor;\n};\n\nstruct bpf_link_ops;\n\nstruct bpf_link {\n\tatomic64_t refcnt;\n\tu32 id;\n\tenum bpf_link_type type;\n\tconst struct bpf_link_ops *ops;\n\tstruct bpf_prog *prog;\n\tbool sleepable;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n};\n\nstruct bpf_cgroup_link {\n\tstruct bpf_link link;\n\tstruct cgroup *cgroup;\n\tenum bpf_attach_type type;\n};\n\nstruct bpf_cgroup_storage_key {\n\t__u64 cgroup_inode_id;\n\t__u32 attach_type;\n};\n\nstruct bpf_storage_buffer;\n\nstruct bpf_cgroup_storage_map;\n\nstruct bpf_cgroup_storage {\n\tunion {\n\t\tstruct bpf_storage_buffer *buf;\n\t\tvoid *percpu_buf;\n\t};\n\tstruct bpf_cgroup_storage_map *map;\n\tstruct bpf_cgroup_storage_key key;\n\tstruct list_head list_map;\n\tstruct list_head list_cg;\n\tstruct rb_node node;\n\tstruct callback_head rcu;\n};\n\nstruct bpf_cgroup_storage_map {\n\tstruct bpf_map map;\n\tspinlock_t lock;\n\tstruct rb_root root;\n\tstruct list_head list;\n};\n\nstruct bpf_lru_list {\n\tstruct list_head lists[3];\n\tunsigned int counts[2];\n\tstruct list_head *next_inactive_rotation;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_lru_locallist;\n\nstruct bpf_common_lru {\n\tstruct bpf_lru_list lru_list;\n\tstruct bpf_lru_locallist *local_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_core_accessor {\n\t__u32 type_id;\n\t__u32 idx;\n\tconst char *name;\n};\n\nstruct bpf_core_cand {\n\tconst struct btf *btf;\n\t__u32 id;\n};\n\nstruct bpf_core_cand_list {\n\tstruct bpf_core_cand *cands;\n\tint len;\n};\n\nstruct bpf_verifier_log;\n\nstruct bpf_core_ctx {\n\tstruct bpf_verifier_log *log;\n\tconst struct btf *btf;\n};\n\nstruct bpf_core_relo {\n\t__u32 insn_off;\n\t__u32 type_id;\n\t__u32 access_str_off;\n\tenum bpf_core_relo_kind kind;\n};\n\nstruct bpf_core_relo_res {\n\t__u64 orig_val;\n\t__u64 new_val;\n\tbool poison;\n\tbool validate;\n\tbool fail_memsz_adjust;\n\t__u32 orig_sz;\n\t__u32 orig_type_id;\n\t__u32 new_sz;\n\t__u32 new_type_id;\n};\n\nstruct bpf_core_spec {\n\tconst struct btf *btf;\n\tstruct bpf_core_accessor spec[64];\n\t__u32 root_type_id;\n\tenum bpf_core_relo_kind relo_kind;\n\tint len;\n\tint raw_spec[64];\n\tint raw_len;\n\t__u32 bit_offset;\n};\n\nstruct bpf_cpu_map_entry;\n\nstruct bpf_cpu_map {\n\tstruct bpf_map map;\n\tstruct bpf_cpu_map_entry **cpu_map;\n};\n\nstruct bpf_cpumap_val {\n\t__u32 qsize;\n\tunion {\n\t\tint fd;\n\t\t__u32 id;\n\t} bpf_prog;\n};\n\nstruct xdp_bulk_queue;\n\nstruct ptr_ring;\n\nstruct bpf_cpu_map_entry {\n\tu32 cpu;\n\tint map_id;\n\tstruct xdp_bulk_queue *bulkq;\n\tstruct ptr_ring *queue;\n\tstruct task_struct *kthread;\n\tstruct bpf_cpumap_val value;\n\tstruct bpf_prog *prog;\n\tstruct completion kthread_running;\n\tstruct rcu_work free_work;\n};\n\ntypedef struct cpumask cpumask_t;\n\nstruct bpf_cpumask {\n\tcpumask_t cpumask;\n\trefcount_t usage;\n};\n\nstruct bpf_crypto_type;\n\nstruct bpf_crypto_ctx {\n\tconst struct bpf_crypto_type *type;\n\tvoid *tfm;\n\tu32 siv_len;\n\tstruct callback_head rcu;\n\trefcount_t usage;\n};\n\nstruct bpf_crypto_params {\n\tchar type[14];\n\tu8 reserved[2];\n\tchar algo[128];\n\tu8 key[256];\n\tu32 key_len;\n\tu32 authsize;\n};\n\nstruct bpf_crypto_type {\n\tvoid * (*alloc_tfm)(const char *);\n\tvoid (*free_tfm)(void *);\n\tint (*has_algo)(const char *);\n\tint (*setkey)(void *, const u8 *, unsigned int);\n\tint (*setauthsize)(void *, unsigned int);\n\tint (*encrypt)(void *, const u8 *, u8 *, unsigned int, u8 *);\n\tint (*decrypt)(void *, const u8 *, u8 *, unsigned int, u8 *);\n\tunsigned int (*ivsize)(void *);\n\tunsigned int (*statesize)(void *);\n\tu32 (*get_flags)(void *);\n\tstruct module *owner;\n\tchar name[14];\n};\n\nstruct bpf_crypto_type_list {\n\tconst struct bpf_crypto_type *type;\n\tstruct list_head list;\n};\n\nstruct bpf_ctx_arg_aux {\n\tu32 offset;\n\tenum bpf_reg_type reg_type;\n\tstruct btf *btf;\n\tu32 btf_id;\n};\n\nstruct skb_ext;\n\nstruct sk_buff {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *next;\n\t\t\tstruct sk_buff *prev;\n\t\t\tunion {\n\t\t\t\tstruct net_device *dev;\n\t\t\t\tlong unsigned int dev_scratch;\n\t\t\t};\n\t\t};\n\t\tstruct rb_node rbnode;\n\t\tstruct list_head list;\n\t\tstruct llist_node ll_node;\n\t};\n\tstruct sock *sk;\n\tunion {\n\t\tktime_t tstamp;\n\t\tu64 skb_mstamp_ns;\n\t};\n\tchar cb[48];\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _skb_refdst;\n\t\t\tvoid (*destructor)(struct sk_buff *);\n\t\t};\n\t\tstruct list_head tcp_tsorted_anchor;\n\t\tlong unsigned int _sk_redir;\n\t};\n\tlong unsigned int _nfct;\n\tunsigned int len;\n\tunsigned int data_len;\n\t__u16 mac_len;\n\t__u16 hdr_len;\n\t__u16 queue_mapping;\n\t__u8 __cloned_offset[0];\n\t__u8 cloned: 1;\n\t__u8 nohdr: 1;\n\t__u8 fclone: 2;\n\t__u8 peeked: 1;\n\t__u8 head_frag: 1;\n\t__u8 pfmemalloc: 1;\n\t__u8 pp_recycle: 1;\n\t__u8 active_extensions;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 __pkt_type_offset[0];\n\t\t\t__u8 pkt_type: 3;\n\t\t\t__u8 ignore_df: 1;\n\t\t\t__u8 dst_pending_confirm: 1;\n\t\t\t__u8 ip_summed: 2;\n\t\t\t__u8 ooo_okay: 1;\n\t\t\t__u8 __mono_tc_offset[0];\n\t\t\t__u8 tstamp_type: 2;\n\t\t\t__u8 tc_at_ingress: 1;\n\t\t\t__u8 tc_skip_classify: 1;\n\t\t\t__u8 remcsum_offload: 1;\n\t\t\t__u8 csum_complete_sw: 1;\n\t\t\t__u8 csum_level: 2;\n\t\t\t__u8 inner_protocol_type: 1;\n\t\t\t__u8 l4_hash: 1;\n\t\t\t__u8 sw_hash: 1;\n\t\t\t__u8 wifi_acked_valid: 1;\n\t\t\t__u8 wifi_acked: 1;\n\t\t\t__u8 no_fcs: 1;\n\t\t\t__u8 encapsulation: 1;\n\t\t\t__u8 encap_hdr_csum: 1;\n\t\t\t__u8 csum_valid: 1;\n\t\t\t__u8 ndisc_nodetype: 2;\n\t\t\t__u8 redirected: 1;\n\t\t\t__u8 nf_skip_egress: 1;\n\t\t\t__u8 slow_gro: 1;\n\t\t\t__u8 unreadable: 1;\n\t\t\t__u16 tc_index;\n\t\t\tu16 alloc_cpu;\n\t\t\tunion {\n\t\t\t\t__wsum csum;\n\t\t\t\tstruct {\n\t\t\t\t\t__u16 csum_start;\n\t\t\t\t\t__u16 csum_offset;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__u32 priority;\n\t\t\tint skb_iif;\n\t\t\t__u32 hash;\n\t\t\tunion {\n\t\t\t\tu32 vlan_all;\n\t\t\t\tstruct {\n\t\t\t\t\t__be16 vlan_proto;\n\t\t\t\t\t__u16 vlan_tci;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tunsigned int napi_id;\n\t\t\t\tunsigned int sender_cpu;\n\t\t\t};\n\t\t\t__u32 secmark;\n\t\t\tunion {\n\t\t\t\t__u32 mark;\n\t\t\t\t__u32 reserved_tailroom;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__be16 inner_protocol;\n\t\t\t\t__u8 inner_ipproto;\n\t\t\t};\n\t\t\t__u16 inner_transport_header;\n\t\t\t__u16 inner_network_header;\n\t\t\t__u16 inner_mac_header;\n\t\t\t__be16 protocol;\n\t\t\t__u16 transport_header;\n\t\t\t__u16 network_header;\n\t\t\t__u16 mac_header;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 __pkt_type_offset[0];\n\t\t\t__u8 pkt_type: 3;\n\t\t\t__u8 ignore_df: 1;\n\t\t\t__u8 dst_pending_confirm: 1;\n\t\t\t__u8 ip_summed: 2;\n\t\t\t__u8 ooo_okay: 1;\n\t\t\t__u8 __mono_tc_offset[0];\n\t\t\t__u8 tstamp_type: 2;\n\t\t\t__u8 tc_at_ingress: 1;\n\t\t\t__u8 tc_skip_classify: 1;\n\t\t\t__u8 remcsum_offload: 1;\n\t\t\t__u8 csum_complete_sw: 1;\n\t\t\t__u8 csum_level: 2;\n\t\t\t__u8 inner_protocol_type: 1;\n\t\t\t__u8 l4_hash: 1;\n\t\t\t__u8 sw_hash: 1;\n\t\t\t__u8 wifi_acked_valid: 1;\n\t\t\t__u8 wifi_acked: 1;\n\t\t\t__u8 no_fcs: 1;\n\t\t\t__u8 encapsulation: 1;\n\t\t\t__u8 encap_hdr_csum: 1;\n\t\t\t__u8 csum_valid: 1;\n\t\t\t__u8 ndisc_nodetype: 2;\n\t\t\t__u8 redirected: 1;\n\t\t\t__u8 nf_skip_egress: 1;\n\t\t\t__u8 slow_gro: 1;\n\t\t\t__u8 unreadable: 1;\n\t\t\t__u16 tc_index;\n\t\t\tu16 alloc_cpu;\n\t\t\tunion {\n\t\t\t\t__wsum csum;\n\t\t\t\tstruct {\n\t\t\t\t\t__u16 csum_start;\n\t\t\t\t\t__u16 csum_offset;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__u32 priority;\n\t\t\tint skb_iif;\n\t\t\t__u32 hash;\n\t\t\tunion {\n\t\t\t\tu32 vlan_all;\n\t\t\t\tstruct {\n\t\t\t\t\t__be16 vlan_proto;\n\t\t\t\t\t__u16 vlan_tci;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tunsigned int napi_id;\n\t\t\t\tunsigned int sender_cpu;\n\t\t\t};\n\t\t\t__u32 secmark;\n\t\t\tunion {\n\t\t\t\t__u32 mark;\n\t\t\t\t__u32 reserved_tailroom;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__be16 inner_protocol;\n\t\t\t\t__u8 inner_ipproto;\n\t\t\t};\n\t\t\t__u16 inner_transport_header;\n\t\t\t__u16 inner_network_header;\n\t\t\t__u16 inner_mac_header;\n\t\t\t__be16 protocol;\n\t\t\t__u16 transport_header;\n\t\t\t__u16 network_header;\n\t\t\t__u16 mac_header;\n\t\t} headers;\n\t};\n\tsk_buff_data_t tail;\n\tsk_buff_data_t end;\n\tunsigned char *head;\n\tunsigned char *data;\n\tunsigned int truesize;\n\trefcount_t users;\n\tstruct skb_ext *extensions;\n};\n\nstruct xdp_md {\n\t__u32 data;\n\t__u32 data_end;\n\t__u32 data_meta;\n\t__u32 ingress_ifindex;\n\t__u32 rx_queue_index;\n\t__u32 egress_ifindex;\n};\n\nstruct xdp_rxq_info;\n\nstruct xdp_txq_info;\n\nstruct xdp_buff {\n\tvoid *data;\n\tvoid *data_end;\n\tvoid *data_meta;\n\tvoid *data_hard_start;\n\tstruct xdp_rxq_info *rxq;\n\tstruct xdp_txq_info *txq;\n\tu32 frame_sz;\n\tu32 flags;\n};\n\nstruct bpf_sock {\n\t__u32 bound_dev_if;\n\t__u32 family;\n\t__u32 type;\n\t__u32 protocol;\n\t__u32 mark;\n\t__u32 priority;\n\t__u32 src_ip4;\n\t__u32 src_ip6[4];\n\t__u32 src_port;\n\t__be16 dst_port;\n\t__u32 dst_ip4;\n\t__u32 dst_ip6[4];\n\t__u32 state;\n\t__s32 rx_queue_mapping;\n};\n\nstruct hlist_nulls_node {\n\tstruct hlist_nulls_node *next;\n\tstruct hlist_nulls_node **pprev;\n};\n\nstruct proto;\n\nstruct inet_timewait_death_row;\n\nstruct sock_common {\n\tunion {\n\t\t__addrpair skc_addrpair;\n\t\tstruct {\n\t\t\t__be32 skc_daddr;\n\t\t\t__be32 skc_rcv_saddr;\n\t\t};\n\t};\n\tunion {\n\t\tunsigned int skc_hash;\n\t\t__u16 skc_u16hashes[2];\n\t};\n\tunion {\n\t\t__portpair skc_portpair;\n\t\tstruct {\n\t\t\t__be16 skc_dport;\n\t\t\t__u16 skc_num;\n\t\t};\n\t};\n\tshort unsigned int skc_family;\n\tvolatile unsigned char skc_state;\n\tunsigned char skc_reuse: 4;\n\tunsigned char skc_reuseport: 1;\n\tunsigned char skc_ipv6only: 1;\n\tunsigned char skc_net_refcnt: 1;\n\tint skc_bound_dev_if;\n\tunion {\n\t\tstruct hlist_node skc_bind_node;\n\t\tstruct hlist_node skc_portaddr_node;\n\t};\n\tstruct proto *skc_prot;\n\tpossible_net_t skc_net;\n\tstruct in6_addr skc_v6_daddr;\n\tstruct in6_addr skc_v6_rcv_saddr;\n\tatomic64_t skc_cookie;\n\tunion {\n\t\tlong unsigned int skc_flags;\n\t\tstruct sock *skc_listener;\n\t\tstruct inet_timewait_death_row *skc_tw_dr;\n\t};\n\tint skc_dontcopy_begin[0];\n\tunion {\n\t\tstruct hlist_node skc_node;\n\t\tstruct hlist_nulls_node skc_nulls_node;\n\t};\n\tshort unsigned int skc_tx_queue_mapping;\n\tshort unsigned int skc_rx_queue_mapping;\n\tunion {\n\t\tint skc_incoming_cpu;\n\t\tu32 skc_rcv_wnd;\n\t\tu32 skc_tw_rcv_nxt;\n\t};\n\trefcount_t skc_refcnt;\n\tint skc_dontcopy_end[0];\n\tunion {\n\t\tu32 skc_rxhash;\n\t\tu32 skc_window_clamp;\n\t\tu32 skc_tw_snd_nxt;\n\t};\n};\n\nstruct page_frag {\n\tstruct page *page;\n\t__u32 offset;\n\t__u32 size;\n};\n\nstruct sock_cgroup_data {\n\tstruct cgroup *cgroup;\n};\n\nstruct dst_entry;\n\nstruct sk_filter;\n\nstruct socket_wq;\n\nstruct socket;\n\nstruct mem_cgroup;\n\nstruct xfrm_policy;\n\nstruct sock_reuseport;\n\nstruct bpf_local_storage;\n\nstruct sock {\n\tstruct sock_common __sk_common;\n\t__u8 __cacheline_group_begin__sock_write_rx[0];\n\tatomic_t sk_drops;\n\t__s32 sk_peek_off;\n\tstruct sk_buff_head sk_error_queue;\n\tstruct sk_buff_head sk_receive_queue;\n\tstruct {\n\t\tatomic_t rmem_alloc;\n\t\tint len;\n\t\tstruct sk_buff *head;\n\t\tstruct sk_buff *tail;\n\t} sk_backlog;\n\t__u8 __cacheline_group_end__sock_write_rx[0];\n\t__u8 __cacheline_group_begin__sock_read_rx[0];\n\tstruct dst_entry *sk_rx_dst;\n\tint sk_rx_dst_ifindex;\n\tu32 sk_rx_dst_cookie;\n\tunsigned int sk_ll_usec;\n\tunsigned int sk_napi_id;\n\tu16 sk_busy_poll_budget;\n\tu8 sk_prefer_busy_poll;\n\tu8 sk_userlocks;\n\tint sk_rcvbuf;\n\tstruct sk_filter *sk_filter;\n\tunion {\n\t\tstruct socket_wq *sk_wq;\n\t\tstruct socket_wq *sk_wq_raw;\n\t};\n\tvoid (*sk_data_ready)(struct sock *);\n\tlong int sk_rcvtimeo;\n\tint sk_rcvlowat;\n\t__u8 __cacheline_group_end__sock_read_rx[0];\n\t__u8 __cacheline_group_begin__sock_read_rxtx[0];\n\tint sk_err;\n\tstruct socket *sk_socket;\n\tstruct mem_cgroup *sk_memcg;\n\tstruct xfrm_policy *sk_policy[2];\n\t__u8 __cacheline_group_end__sock_read_rxtx[0];\n\t__u8 __cacheline_group_begin__sock_write_rxtx[0];\n\tsocket_lock_t sk_lock;\n\tu32 sk_reserved_mem;\n\tint sk_forward_alloc;\n\tu32 sk_tsflags;\n\t__u8 __cacheline_group_end__sock_write_rxtx[0];\n\t__u8 __cacheline_group_begin__sock_write_tx[0];\n\tint sk_write_pending;\n\tatomic_t sk_omem_alloc;\n\tint sk_sndbuf;\n\tint sk_wmem_queued;\n\trefcount_t sk_wmem_alloc;\n\tlong unsigned int sk_tsq_flags;\n\tunion {\n\t\tstruct sk_buff *sk_send_head;\n\t\tstruct rb_root tcp_rtx_queue;\n\t};\n\tstruct sk_buff_head sk_write_queue;\n\tu32 sk_dst_pending_confirm;\n\tu32 sk_pacing_status;\n\tstruct page_frag sk_frag;\n\tstruct timer_list sk_timer;\n\tlong unsigned int sk_pacing_rate;\n\tatomic_t sk_zckey;\n\tatomic_t sk_tskey;\n\t__u8 __cacheline_group_end__sock_write_tx[0];\n\t__u8 __cacheline_group_begin__sock_read_tx[0];\n\tlong unsigned int sk_max_pacing_rate;\n\tlong int sk_sndtimeo;\n\tu32 sk_priority;\n\tu32 sk_mark;\n\tstruct dst_entry *sk_dst_cache;\n\tnetdev_features_t sk_route_caps;\n\tu16 sk_gso_type;\n\tu16 sk_gso_max_segs;\n\tunsigned int sk_gso_max_size;\n\tgfp_t sk_allocation;\n\tu32 sk_txhash;\n\tu8 sk_pacing_shift;\n\tbool sk_use_task_frag;\n\t__u8 __cacheline_group_end__sock_read_tx[0];\n\tu8 sk_gso_disabled: 1;\n\tu8 sk_kern_sock: 1;\n\tu8 sk_no_check_tx: 1;\n\tu8 sk_no_check_rx: 1;\n\tu8 sk_shutdown;\n\tu16 sk_type;\n\tu16 sk_protocol;\n\tlong unsigned int sk_lingertime;\n\tstruct proto *sk_prot_creator;\n\trwlock_t sk_callback_lock;\n\tint sk_err_soft;\n\tu32 sk_ack_backlog;\n\tu32 sk_max_ack_backlog;\n\tkuid_t sk_uid;\n\tspinlock_t sk_peer_lock;\n\tint sk_bind_phc;\n\tstruct pid *sk_peer_pid;\n\tconst struct cred *sk_peer_cred;\n\tktime_t sk_stamp;\n\tint sk_disconnects;\n\tu8 sk_txrehash;\n\tu8 sk_clockid;\n\tu8 sk_txtime_deadline_mode: 1;\n\tu8 sk_txtime_report_errors: 1;\n\tu8 sk_txtime_unused: 6;\n\tvoid *sk_user_data;\n\tvoid *sk_security;\n\tstruct sock_cgroup_data sk_cgrp_data;\n\tvoid (*sk_state_change)(struct sock *);\n\tvoid (*sk_write_space)(struct sock *);\n\tvoid (*sk_error_report)(struct sock *);\n\tint (*sk_backlog_rcv)(struct sock *, struct sk_buff *);\n\tvoid (*sk_destruct)(struct sock *);\n\tstruct sock_reuseport *sk_reuseport_cb;\n\tstruct bpf_local_storage *sk_bpf_storage;\n\tstruct callback_head sk_rcu;\n\tnetns_tracker ns_tracker;\n\tstruct xarray sk_user_frags;\n};\n\nstruct bpf_sock_addr {\n\t__u32 user_family;\n\t__u32 user_ip4;\n\t__u32 user_ip6[4];\n\t__u32 user_port;\n\t__u32 family;\n\t__u32 type;\n\t__u32 protocol;\n\t__u32 msg_src_ip4;\n\t__u32 msg_src_ip6[4];\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n};\n\nstruct bpf_sock_addr_kern {\n\tstruct sock *sk;\n\tstruct sockaddr *uaddr;\n\tu64 tmp_reg;\n\tvoid *t_ctx;\n\tu32 uaddrlen;\n};\n\nstruct bpf_sock_ops {\n\t__u32 op;\n\tunion {\n\t\t__u32 args[4];\n\t\t__u32 reply;\n\t\t__u32 replylong[4];\n\t};\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 is_fullsock;\n\t__u32 snd_cwnd;\n\t__u32 srtt_us;\n\t__u32 bpf_sock_ops_cb_flags;\n\t__u32 state;\n\t__u32 rtt_min;\n\t__u32 snd_ssthresh;\n\t__u32 rcv_nxt;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 mss_cache;\n\t__u32 ecn_flags;\n\t__u32 rate_delivered;\n\t__u32 rate_interval_us;\n\t__u32 packets_out;\n\t__u32 retrans_out;\n\t__u32 total_retrans;\n\t__u32 segs_in;\n\t__u32 data_segs_in;\n\t__u32 segs_out;\n\t__u32 data_segs_out;\n\t__u32 lost_out;\n\t__u32 sacked_out;\n\t__u32 sk_txhash;\n\t__u64 bytes_received;\n\t__u64 bytes_acked;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tvoid *skb_data;\n\t};\n\tunion {\n\t\tvoid *skb_data_end;\n\t};\n\t__u32 skb_len;\n\t__u32 skb_tcp_flags;\n\t__u64 skb_hwtstamp;\n};\n\nstruct bpf_sock_ops_kern {\n\tstruct sock *sk;\n\tunion {\n\t\tu32 args[4];\n\t\tu32 reply;\n\t\tu32 replylong[4];\n\t};\n\tstruct sk_buff *syn_skb;\n\tstruct sk_buff *skb;\n\tvoid *skb_data_end;\n\tu8 op;\n\tu8 is_fullsock;\n\tu8 remaining_opt_len;\n\tu64 temp;\n};\n\nstruct sk_msg_md {\n\tunion {\n\t\tvoid *data;\n\t};\n\tunion {\n\t\tvoid *data_end;\n\t};\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 size;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n};\n\nstruct sk_msg_sg {\n\tu32 start;\n\tu32 curr;\n\tu32 end;\n\tu32 size;\n\tu32 copybreak;\n\tlong unsigned int copy[1];\n\tstruct scatterlist data[19];\n};\n\nstruct sk_msg {\n\tstruct sk_msg_sg sg;\n\tvoid *data;\n\tvoid *data_end;\n\tu32 apply_bytes;\n\tu32 cork_bytes;\n\tu32 flags;\n\tstruct sk_buff *skb;\n\tstruct sock *sk_redir;\n\tstruct sock *sk;\n\tstruct list_head list;\n};\n\nstruct bpf_flow_dissector {\n\tstruct bpf_flow_keys *flow_keys;\n\tconst struct sk_buff *skb;\n\tconst void *data;\n\tconst void *data_end;\n};\n\ntypedef struct user_pt_regs bpf_user_pt_regs_t;\n\nstruct bpf_perf_event_data {\n\tbpf_user_pt_regs_t regs;\n\t__u64 sample_period;\n\t__u64 addr;\n};\n\nstruct perf_sample_data;\n\nstruct perf_event;\n\nstruct bpf_perf_event_data_kern {\n\tbpf_user_pt_regs_t *regs;\n\tstruct perf_sample_data *data;\n\tstruct perf_event *event;\n};\n\nstruct bpf_raw_tracepoint_args {\n\t__u64 args[0];\n};\n\nstruct bpf_sysctl {\n\t__u32 write;\n\t__u32 file_pos;\n};\n\nstruct ctl_table_header;\n\nstruct ctl_table;\n\nstruct bpf_sysctl_kern {\n\tstruct ctl_table_header *head;\n\tconst struct ctl_table *table;\n\tvoid *cur_val;\n\tsize_t cur_len;\n\tvoid *new_val;\n\tsize_t new_len;\n\tint new_updated;\n\tint write;\n\tloff_t *ppos;\n\tu64 tmp_reg;\n};\n\nstruct bpf_sockopt {\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tvoid *optval;\n\t};\n\tunion {\n\t\tvoid *optval_end;\n\t};\n\t__s32 level;\n\t__s32 optname;\n\t__s32 optlen;\n\t__s32 retval;\n};\n\nstruct bpf_sockopt_kern {\n\tstruct sock *sk;\n\tu8 *optval;\n\tu8 *optval_end;\n\ts32 level;\n\ts32 optname;\n\ts32 optlen;\n\tstruct task_struct *current_task;\n\tu64 tmp_reg;\n};\n\nstruct sk_reuseport_md {\n\tunion {\n\t\tvoid *data;\n\t};\n\tunion {\n\t\tvoid *data_end;\n\t};\n\t__u32 len;\n\t__u32 eth_protocol;\n\t__u32 ip_protocol;\n\t__u32 bind_inany;\n\t__u32 hash;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tstruct bpf_sock *migrating_sk;\n\t};\n};\n\nstruct sk_reuseport_kern {\n\tstruct sk_buff *skb;\n\tstruct sock *sk;\n\tstruct sock *selected_sk;\n\tstruct sock *migrating_sk;\n\tvoid *data_end;\n\tu32 hash;\n\tu32 reuseport_id;\n\tbool bind_inany;\n};\n\nstruct bpf_sk_lookup {\n\tunion {\n\t\tunion {\n\t\t\tstruct bpf_sock *sk;\n\t\t};\n\t\t__u64 cookie;\n\t};\n\t__u32 family;\n\t__u32 protocol;\n\t__u32 remote_ip4;\n\t__u32 remote_ip6[4];\n\t__be16 remote_port;\n\t__u32 local_ip4;\n\t__u32 local_ip6[4];\n\t__u32 local_port;\n\t__u32 ingress_ifindex;\n};\n\nstruct bpf_sk_lookup_kern {\n\tu16 family;\n\tu16 protocol;\n\t__be16 sport;\n\tu16 dport;\n\tstruct {\n\t\t__be32 saddr;\n\t\t__be32 daddr;\n\t} v4;\n\tstruct {\n\t\tconst struct in6_addr *saddr;\n\t\tconst struct in6_addr *daddr;\n\t} v6;\n\tstruct sock *selected_sk;\n\tu32 ingress_ifindex;\n\tbool no_reuseport;\n};\n\nstruct nf_hook_state;\n\nstruct bpf_nf_ctx {\n\tconst struct nf_hook_state *state;\n\tstruct sk_buff *skb;\n};\n\nstruct bpf_ctx_convert {\n\tstruct __sk_buff BPF_PROG_TYPE_SOCKET_FILTER_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SOCKET_FILTER_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SCHED_CLS_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SCHED_CLS_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SCHED_ACT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SCHED_ACT_kern;\n\tstruct xdp_md BPF_PROG_TYPE_XDP_prog;\n\tstruct xdp_buff BPF_PROG_TYPE_XDP_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_CGROUP_SKB_prog;\n\tstruct sk_buff BPF_PROG_TYPE_CGROUP_SKB_kern;\n\tstruct bpf_sock BPF_PROG_TYPE_CGROUP_SOCK_prog;\n\tstruct sock BPF_PROG_TYPE_CGROUP_SOCK_kern;\n\tstruct bpf_sock_addr BPF_PROG_TYPE_CGROUP_SOCK_ADDR_prog;\n\tstruct bpf_sock_addr_kern BPF_PROG_TYPE_CGROUP_SOCK_ADDR_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_IN_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_IN_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_OUT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_OUT_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_XMIT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_XMIT_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_kern;\n\tstruct bpf_sock_ops BPF_PROG_TYPE_SOCK_OPS_prog;\n\tstruct bpf_sock_ops_kern BPF_PROG_TYPE_SOCK_OPS_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SK_SKB_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SK_SKB_kern;\n\tstruct sk_msg_md BPF_PROG_TYPE_SK_MSG_prog;\n\tstruct sk_msg BPF_PROG_TYPE_SK_MSG_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_FLOW_DISSECTOR_prog;\n\tstruct bpf_flow_dissector BPF_PROG_TYPE_FLOW_DISSECTOR_kern;\n\tbpf_user_pt_regs_t BPF_PROG_TYPE_KPROBE_prog;\n\tstruct pt_regs BPF_PROG_TYPE_KPROBE_kern;\n\t__u64 BPF_PROG_TYPE_TRACEPOINT_prog;\n\tu64 BPF_PROG_TYPE_TRACEPOINT_kern;\n\tstruct bpf_perf_event_data BPF_PROG_TYPE_PERF_EVENT_prog;\n\tstruct bpf_perf_event_data_kern BPF_PROG_TYPE_PERF_EVENT_kern;\n\tstruct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_prog;\n\tu64 BPF_PROG_TYPE_RAW_TRACEPOINT_kern;\n\tstruct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_prog;\n\tu64 BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_kern;\n\tvoid *BPF_PROG_TYPE_TRACING_prog;\n\tvoid *BPF_PROG_TYPE_TRACING_kern;\n\tstruct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_prog;\n\tstruct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_kern;\n\tstruct bpf_sysctl BPF_PROG_TYPE_CGROUP_SYSCTL_prog;\n\tstruct bpf_sysctl_kern BPF_PROG_TYPE_CGROUP_SYSCTL_kern;\n\tstruct bpf_sockopt BPF_PROG_TYPE_CGROUP_SOCKOPT_prog;\n\tstruct bpf_sockopt_kern BPF_PROG_TYPE_CGROUP_SOCKOPT_kern;\n\tstruct sk_reuseport_md BPF_PROG_TYPE_SK_REUSEPORT_prog;\n\tstruct sk_reuseport_kern BPF_PROG_TYPE_SK_REUSEPORT_kern;\n\tstruct bpf_sk_lookup BPF_PROG_TYPE_SK_LOOKUP_prog;\n\tstruct bpf_sk_lookup_kern BPF_PROG_TYPE_SK_LOOKUP_kern;\n\tvoid *BPF_PROG_TYPE_STRUCT_OPS_prog;\n\tvoid *BPF_PROG_TYPE_STRUCT_OPS_kern;\n\tvoid *BPF_PROG_TYPE_EXT_prog;\n\tvoid *BPF_PROG_TYPE_EXT_kern;\n\tvoid *BPF_PROG_TYPE_LSM_prog;\n\tvoid *BPF_PROG_TYPE_LSM_kern;\n\tvoid *BPF_PROG_TYPE_SYSCALL_prog;\n\tvoid *BPF_PROG_TYPE_SYSCALL_kern;\n\tstruct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_prog;\n\tstruct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_kern;\n};\n\nstruct bpf_devmap_val {\n\t__u32 ifindex;\n\tunion {\n\t\tint fd;\n\t\t__u32 id;\n\t} bpf_prog;\n};\n\nstruct bpf_dispatcher_prog {\n\tstruct bpf_prog *prog;\n\trefcount_t users;\n};\n\nstruct latch_tree_node {\n\tstruct rb_node node[2];\n};\n\nstruct bpf_ksym {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar name[512];\n\tstruct list_head lnode;\n\tstruct latch_tree_node tnode;\n\tbool prog;\n};\n\nstruct bpf_dispatcher {\n\tstruct mutex mutex;\n\tvoid *func;\n\tstruct bpf_dispatcher_prog progs[48];\n\tint num_progs;\n\tvoid *image;\n\tvoid *rw_image;\n\tu32 image_off;\n\tstruct bpf_ksym ksym;\n};\n\nstruct bpf_dtab_netdev;\n\nstruct bpf_dtab {\n\tstruct bpf_map map;\n\tstruct bpf_dtab_netdev **netdev_map;\n\tstruct list_head list;\n\tstruct hlist_head *dev_index_head;\n\tspinlock_t index_lock;\n\tunsigned int items;\n\tu32 n_buckets;\n};\n\nstruct bpf_dtab_netdev {\n\tstruct net_device *dev;\n\tstruct hlist_node index_hlist;\n\tstruct bpf_prog *xdp_prog;\n\tstruct callback_head rcu;\n\tunsigned int idx;\n\tstruct bpf_devmap_val val;\n};\n\nstruct bpf_dummy_ops_state;\n\nstruct bpf_dummy_ops {\n\tint (*test_1)(struct bpf_dummy_ops_state *);\n\tint (*test_2)(struct bpf_dummy_ops_state *, int, short unsigned int, char, long unsigned int);\n\tint (*test_sleepable)(struct bpf_dummy_ops_state *);\n};\n\nstruct bpf_dummy_ops_state {\n\tint val;\n};\n\nstruct bpf_dummy_ops_test_args {\n\tu64 args[12];\n\tstruct bpf_dummy_ops_state state;\n};\n\nstruct bpf_dynptr {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_dynptr_kern {\n\tvoid *data;\n\tu32 size;\n\tu32 offset;\n};\n\nstruct bpf_prog_array_item {\n\tstruct bpf_prog *prog;\n\tunion {\n\t\tstruct bpf_cgroup_storage *cgroup_storage[2];\n\t\tu64 bpf_cookie;\n\t};\n};\n\nstruct bpf_prog_array {\n\tstruct callback_head rcu;\n\tstruct bpf_prog_array_item items[0];\n};\n\nstruct bpf_empty_prog_array {\n\tstruct bpf_prog_array hdr;\n\tstruct bpf_prog *null_prog;\n};\n\nstruct bpf_event_entry {\n\tstruct perf_event *event;\n\tstruct file *perf_file;\n\tstruct file *map_file;\n\tstruct callback_head rcu;\n};\n\nstruct bpf_fentry_test_t {\n\tstruct bpf_fentry_test_t *a;\n};\n\nstruct bpf_fib_lookup {\n\t__u8 family;\n\t__u8 l4_protocol;\n\t__be16 sport;\n\t__be16 dport;\n\tunion {\n\t\t__u16 tot_len;\n\t\t__u16 mtu_result;\n\t};\n\t__u32 ifindex;\n\tunion {\n\t\t__u8 tos;\n\t\t__be32 flowinfo;\n\t\t__u32 rt_metric;\n\t};\n\tunion {\n\t\t__be32 ipv4_src;\n\t\t__u32 ipv6_src[4];\n\t};\n\tunion {\n\t\t__be32 ipv4_dst;\n\t\t__u32 ipv6_dst[4];\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__be16 h_vlan_proto;\n\t\t\t__be16 h_vlan_TCI;\n\t\t};\n\t\t__u32 tbid;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__u32 mark;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 smac[6];\n\t\t\t__u8 dmac[6];\n\t\t};\n\t};\n};\n\nstruct bpf_flow_keys {\n\t__u16 nhoff;\n\t__u16 thoff;\n\t__u16 addr_proto;\n\t__u8 is_frag;\n\t__u8 is_first_frag;\n\t__u8 is_encap;\n\t__u8 ip_proto;\n\t__be16 n_proto;\n\t__be16 sport;\n\t__be16 dport;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 ipv4_src;\n\t\t\t__be32 ipv4_dst;\n\t\t};\n\t\tstruct {\n\t\t\t__u32 ipv6_src[4];\n\t\t\t__u32 ipv6_dst[4];\n\t\t};\n\t};\n\t__u32 flags;\n\t__be32 flow_label;\n};\n\nstruct bpf_func_info {\n\t__u32 insn_off;\n\t__u32 type_id;\n};\n\nstruct bpf_func_info_aux {\n\tu16 linkage;\n\tbool unreliable;\n\tbool called: 1;\n\tbool verified: 1;\n};\n\nstruct bpf_func_proto {\n\tu64 (*func)(u64, u64, u64, u64, u64);\n\tbool gpl_only;\n\tbool pkt_access;\n\tbool might_sleep;\n\tbool allow_fastcall;\n\tenum bpf_return_type ret_type;\n\tunion {\n\t\tstruct {\n\t\t\tenum bpf_arg_type arg1_type;\n\t\t\tenum bpf_arg_type arg2_type;\n\t\t\tenum bpf_arg_type arg3_type;\n\t\t\tenum bpf_arg_type arg4_type;\n\t\t\tenum bpf_arg_type arg5_type;\n\t\t};\n\t\tenum bpf_arg_type arg_type[5];\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu32 *arg1_btf_id;\n\t\t\tu32 *arg2_btf_id;\n\t\t\tu32 *arg3_btf_id;\n\t\t\tu32 *arg4_btf_id;\n\t\t\tu32 *arg5_btf_id;\n\t\t};\n\t\tu32 *arg_btf_id[5];\n\t\tstruct {\n\t\t\tsize_t arg1_size;\n\t\t\tsize_t arg2_size;\n\t\t\tsize_t arg3_size;\n\t\t\tsize_t arg4_size;\n\t\t\tsize_t arg5_size;\n\t\t};\n\t\tsize_t arg_size[5];\n\t};\n\tint *ret_btf_id;\n\tbool (*allowed)(const struct bpf_prog *);\n};\n\nstruct tnum {\n\tu64 value;\n\tu64 mask;\n};\n\nstruct bpf_reg_state {\n\tenum bpf_reg_type type;\n\ts32 off;\n\tunion {\n\t\tint range;\n\t\tstruct {\n\t\t\tstruct bpf_map *map_ptr;\n\t\t\tu32 map_uid;\n\t\t};\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t};\n\t\tstruct {\n\t\t\tu32 mem_size;\n\t\t\tu32 dynptr_id;\n\t\t};\n\t\tstruct {\n\t\t\tenum bpf_dynptr_type type;\n\t\t\tbool first_slot;\n\t\t} dynptr;\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t\tenum bpf_iter_state state: 2;\n\t\t\tint depth: 30;\n\t\t} iter;\n\t\tstruct {\n\t\t\tlong unsigned int raw1;\n\t\t\tlong unsigned int raw2;\n\t\t} raw;\n\t\tu32 subprogno;\n\t};\n\tstruct tnum var_off;\n\ts64 smin_value;\n\ts64 smax_value;\n\tu64 umin_value;\n\tu64 umax_value;\n\ts32 s32_min_value;\n\ts32 s32_max_value;\n\tu32 u32_min_value;\n\tu32 u32_max_value;\n\tu32 id;\n\tu32 ref_obj_id;\n\tstruct bpf_reg_state *parent;\n\tu32 frameno;\n\ts32 subreg_def;\n\tenum bpf_reg_liveness live;\n\tbool precise;\n};\n\nstruct bpf_retval_range {\n\ts32 minval;\n\ts32 maxval;\n};\n\nstruct bpf_stack_state;\n\nstruct bpf_func_state {\n\tstruct bpf_reg_state regs[11];\n\tint callsite;\n\tu32 frameno;\n\tu32 subprogno;\n\tu32 async_entry_cnt;\n\tstruct bpf_retval_range callback_ret_range;\n\tbool in_callback_fn;\n\tbool in_async_callback_fn;\n\tbool in_exception_callback_fn;\n\tu32 callback_depth;\n\tstruct bpf_stack_state *stack;\n\tint allocated_stack;\n};\n\nstruct bpf_hrtimer {\n\tstruct bpf_async_cb cb;\n\tstruct hrtimer timer;\n\tatomic_t cancelling;\n};\n\nstruct bpf_mem_caches;\n\nstruct bpf_mem_cache;\n\nstruct bpf_mem_alloc {\n\tstruct bpf_mem_caches *caches;\n\tstruct bpf_mem_cache *cache;\n\tstruct obj_cgroup *objcg;\n\tbool percpu;\n\tstruct work_struct work;\n};\n\nstruct pcpu_freelist_node;\n\nstruct pcpu_freelist_head {\n\tstruct pcpu_freelist_node *first;\n\traw_spinlock_t lock;\n};\n\nstruct pcpu_freelist {\n\tstruct pcpu_freelist_head *freelist;\n\tstruct pcpu_freelist_head extralist;\n};\n\nstruct bpf_lru_node;\n\ntypedef bool (*del_from_htab_func)(void *, struct bpf_lru_node *);\n\nstruct bpf_lru {\n\tunion {\n\t\tstruct bpf_common_lru common_lru;\n\t\tstruct bpf_lru_list *percpu_lru;\n\t};\n\tdel_from_htab_func del_from_htab;\n\tvoid *del_arg;\n\tunsigned int hash_offset;\n\tunsigned int nr_scans;\n\tbool percpu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bucket;\n\nstruct htab_elem;\n\nstruct bpf_htab {\n\tstruct bpf_map map;\n\tstruct bpf_mem_alloc ma;\n\tstruct bpf_mem_alloc pcpu_ma;\n\tstruct bucket *buckets;\n\tvoid *elems;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunion {\n\t\tstruct pcpu_freelist freelist;\n\t\tstruct bpf_lru lru;\n\t};\n\tstruct htab_elem **extra_elems;\n\tstruct percpu_counter pcount;\n\tatomic_t count;\n\tbool use_percpu_counter;\n\tu32 n_buckets;\n\tu32 elem_size;\n\tu32 hashrnd;\n\tstruct lock_class_key lockdep_key;\n\tint *map_locked[8];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_id_pair {\n\tu32 old;\n\tu32 cur;\n};\n\nstruct bpf_idmap {\n\tu32 tmp_id_gen;\n\tstruct bpf_id_pair map[600];\n};\n\nstruct bpf_idset {\n\tu32 count;\n\tu32 ids[600];\n};\n\nstruct bpf_insn {\n\t__u8 code;\n\t__u8 dst_reg: 4;\n\t__u8 src_reg: 4;\n\t__s16 off;\n\t__s32 imm;\n};\n\nstruct bpf_insn_access_aux {\n\tenum bpf_reg_type reg_type;\n\tbool is_ldsx;\n\tunion {\n\t\tint ctx_field_size;\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t};\n\t};\n\tstruct bpf_verifier_log *log;\n\tbool is_retval;\n};\n\nstruct bpf_map_ptr_state {\n\tstruct bpf_map *map_ptr;\n\tbool poison;\n\tbool unpriv;\n};\n\nstruct bpf_loop_inline_state {\n\tunsigned int initialized: 1;\n\tunsigned int fit_for_inline: 1;\n\tu32 callback_subprogno;\n};\n\nstruct btf_struct_meta;\n\nstruct bpf_insn_aux_data {\n\tunion {\n\t\tenum bpf_reg_type ptr_type;\n\t\tstruct bpf_map_ptr_state map_ptr_state;\n\t\ts32 call_imm;\n\t\tu32 alu_limit;\n\t\tstruct {\n\t\t\tu32 map_index;\n\t\t\tu32 map_off;\n\t\t};\n\t\tstruct {\n\t\t\tenum bpf_reg_type reg_type;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tstruct btf *btf;\n\t\t\t\t\tu32 btf_id;\n\t\t\t\t};\n\t\t\t\tu32 mem_size;\n\t\t\t};\n\t\t} btf_var;\n\t\tstruct bpf_loop_inline_state loop_inline_state;\n\t};\n\tunion {\n\t\tu64 obj_new_size;\n\t\tu64 insert_off;\n\t};\n\tstruct btf_struct_meta *kptr_struct_meta;\n\tu64 map_key_state;\n\tint ctx_field_size;\n\tu32 seen;\n\tbool sanitize_stack_spill;\n\tbool zext_dst;\n\tbool needs_zext;\n\tbool storage_get_func_atomic;\n\tbool is_iter_next;\n\tbool call_with_percpu_alloc_ptr;\n\tu8 alu_state;\n\tu8 fastcall_pattern: 1;\n\tu8 fastcall_spills_num: 3;\n\tunsigned int orig_idx;\n\tbool jmp_point;\n\tbool prune_point;\n\tbool force_checkpoint;\n\tbool calls_callback;\n};\n\ntypedef void (*bpf_insn_print_t)(void *, const char *, ...);\n\ntypedef const char * (*bpf_insn_revmap_call_t)(void *, const struct bpf_insn *);\n\ntypedef const char * (*bpf_insn_print_imm_t)(void *, const struct bpf_insn *, __u64);\n\nstruct bpf_insn_cbs {\n\tbpf_insn_print_t cb_print;\n\tbpf_insn_revmap_call_t cb_call;\n\tbpf_insn_print_imm_t cb_imm;\n\tvoid *private_data;\n};\n\nstruct bpf_insn_hist_entry {\n\tu32 idx;\n\tu32 prev_idx: 22;\n\tu32 flags: 10;\n\tu64 linked_regs;\n};\n\nstruct bpf_iter_meta;\n\nstruct bpf_iter__bpf_link {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_link *link;\n\t};\n};\n\nstruct bpf_iter__bpf_map {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n};\n\nstruct bpf_iter__bpf_map_elem {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tvoid *key;\n\t};\n\tunion {\n\t\tvoid *value;\n\t};\n};\n\nstruct bpf_iter__bpf_prog {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_prog *prog;\n\t};\n};\n\nstruct bpf_iter__bpf_sk_storage_map {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tstruct sock *sk;\n\t};\n\tunion {\n\t\tvoid *value;\n\t};\n};\n\nstruct bpf_iter__cgroup {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct cgroup *cgroup;\n\t};\n};\n\nstruct fib6_info;\n\nstruct bpf_iter__ipv6_route {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct fib6_info *rt;\n\t};\n};\n\nstruct bpf_iter__kmem_cache {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct kmem_cache *s;\n\t};\n};\n\nstruct kallsym_iter;\n\nstruct bpf_iter__ksym {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct kallsym_iter *ksym;\n\t};\n};\n\nstruct netlink_sock;\n\nstruct bpf_iter__netlink {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct netlink_sock *sk;\n\t};\n};\n\nstruct bpf_iter__sockmap {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tvoid *key;\n\t};\n\tunion {\n\t\tstruct sock *sk;\n\t};\n};\n\nstruct bpf_iter__task {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n};\n\nstruct bpf_iter__task__safe_trusted {\n\tstruct bpf_iter_meta *meta;\n\tstruct task_struct *task;\n};\n\nstruct bpf_iter__task_file {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n\tu32 fd;\n\tunion {\n\t\tstruct file *file;\n\t};\n};\n\nstruct bpf_iter__task_vma {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n\tunion {\n\t\tstruct vm_area_struct *vma;\n\t};\n};\n\nstruct bpf_iter__tcp {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct sock_common *sk_common;\n\t};\n\tuid_t uid;\n};\n\nstruct udp_sock;\n\nstruct bpf_iter__udp {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct udp_sock *udp_sk;\n\t};\n\tuid_t uid;\n\tlong: 0;\n\tint bucket;\n};\n\nstruct unix_sock;\n\nstruct bpf_iter__unix {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct unix_sock *unix_sk;\n\t};\n\tuid_t uid;\n};\n\nstruct bpf_iter_aux_info {\n\tstruct bpf_map *map;\n\tstruct {\n\t\tstruct cgroup *start;\n\t\tenum bpf_cgroup_iter_order order;\n\t} cgroup;\n\tstruct {\n\t\tenum bpf_iter_task_type type;\n\t\tu32 pid;\n\t} task;\n};\n\nstruct bpf_iter_bits {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_iter_bits_kern {\n\tunion {\n\t\t__u64 *bits;\n\t\t__u64 bits_copy;\n\t};\n\tint nr_bits;\n\tint bit;\n};\n\nstruct bpf_iter_css {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_iter_css_kern {\n\tstruct cgroup_subsys_state *start;\n\tstruct cgroup_subsys_state *pos;\n\tunsigned int flags;\n};\n\nstruct bpf_iter_css_task {\n\t__u64 __opaque[1];\n};\n\nstruct css_task_iter;\n\nstruct bpf_iter_css_task_kern {\n\tstruct css_task_iter *css_it;\n};\n\nstruct bpf_iter_kmem_cache {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_kmem_cache_kern {\n\tstruct kmem_cache *pos;\n};\n\nstruct bpf_iter_target_info;\n\nstruct bpf_iter_link {\n\tstruct bpf_link link;\n\tstruct bpf_iter_aux_info aux;\n\tstruct bpf_iter_target_info *tinfo;\n};\n\nunion bpf_iter_link_info {\n\tstruct {\n\t\t__u32 map_fd;\n\t} map;\n\tstruct {\n\t\tenum bpf_cgroup_iter_order order;\n\t\t__u32 cgroup_fd;\n\t\t__u64 cgroup_id;\n\t} cgroup;\n\tstruct {\n\t\t__u32 tid;\n\t\t__u32 pid;\n\t\t__u32 pid_fd;\n\t} task;\n};\n\nstruct bpf_iter_meta {\n\tunion {\n\t\tstruct seq_file *seq;\n\t};\n\tu64 session_id;\n\tu64 seq_num;\n};\n\nstruct bpf_iter_meta__safe_trusted {\n\tstruct seq_file *seq;\n};\n\nstruct bpf_iter_num {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_num_kern {\n\tint cur;\n\tint end;\n};\n\nstruct bpf_iter_seq_info;\n\nstruct bpf_iter_priv_data {\n\tstruct bpf_iter_target_info *tinfo;\n\tconst struct bpf_iter_seq_info *seq_info;\n\tstruct bpf_prog *prog;\n\tu64 session_id;\n\tu64 seq_num;\n\tbool done_stop;\n\tlong: 0;\n\tu8 target_private[0];\n};\n\ntypedef int (*bpf_iter_attach_target_t)(struct bpf_prog *, union bpf_iter_link_info *, struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_detach_target_t)(struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_show_fdinfo_t)(const struct bpf_iter_aux_info *, struct seq_file *);\n\nstruct bpf_link_info;\n\ntypedef int (*bpf_iter_fill_link_info_t)(const struct bpf_iter_aux_info *, struct bpf_link_info *);\n\ntypedef const struct bpf_func_proto * (*bpf_iter_get_func_proto_t)(enum bpf_func_id, const struct bpf_prog *);\n\nstruct bpf_iter_reg {\n\tconst char *target;\n\tbpf_iter_attach_target_t attach_target;\n\tbpf_iter_detach_target_t detach_target;\n\tbpf_iter_show_fdinfo_t show_fdinfo;\n\tbpf_iter_fill_link_info_t fill_link_info;\n\tbpf_iter_get_func_proto_t get_func_proto;\n\tu32 ctx_arg_info_size;\n\tu32 feature;\n\tstruct bpf_ctx_arg_aux ctx_arg_info[2];\n\tconst struct bpf_iter_seq_info *seq_info;\n};\n\nstruct bpf_iter_seq_array_map_info {\n\tstruct bpf_map *map;\n\tvoid *percpu_value_buf;\n\tu32 index;\n};\n\nstruct bpf_iter_seq_hash_map_info {\n\tstruct bpf_map *map;\n\tstruct bpf_htab *htab;\n\tvoid *percpu_value_buf;\n\tu32 bucket_id;\n\tu32 skip_elems;\n};\n\ntypedef int (*bpf_iter_init_seq_priv_t)(void *, struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_fini_seq_priv_t)(void *);\n\nstruct bpf_iter_seq_info {\n\tconst struct seq_operations *seq_ops;\n\tbpf_iter_init_seq_priv_t init_seq_private;\n\tbpf_iter_fini_seq_priv_t fini_seq_private;\n\tu32 seq_priv_size;\n};\n\nstruct bpf_iter_seq_link_info {\n\tu32 link_id;\n};\n\nstruct bpf_iter_seq_map_info {\n\tu32 map_id;\n};\n\nstruct bpf_iter_seq_prog_info {\n\tu32 prog_id;\n};\n\nstruct bpf_iter_seq_sk_storage_map_info {\n\tstruct bpf_map *map;\n\tunsigned int bucket_id;\n\tunsigned int skip_elems;\n};\n\nstruct pid_namespace;\n\nstruct bpf_iter_seq_task_common {\n\tstruct pid_namespace *ns;\n\tenum bpf_iter_task_type type;\n\tu32 pid;\n\tu32 pid_visiting;\n};\n\nstruct bpf_iter_seq_task_file_info {\n\tstruct bpf_iter_seq_task_common common;\n\tstruct task_struct *task;\n\tu32 tid;\n\tu32 fd;\n};\n\nstruct bpf_iter_seq_task_info {\n\tstruct bpf_iter_seq_task_common common;\n\tu32 tid;\n};\n\nstruct mm_struct;\n\nstruct bpf_iter_seq_task_vma_info {\n\tstruct bpf_iter_seq_task_common common;\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct vm_area_struct *vma;\n\tu32 tid;\n\tlong unsigned int prev_vm_start;\n\tlong unsigned int prev_vm_end;\n};\n\nstruct bpf_iter_target_info {\n\tstruct list_head list;\n\tconst struct bpf_iter_reg *reg_info;\n\tu32 btf_id;\n};\n\nstruct bpf_iter_task {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_iter_task_kern {\n\tstruct task_struct *task;\n\tstruct task_struct *pos;\n\tunsigned int flags;\n};\n\nstruct bpf_iter_task_vma {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_task_vma_kern_data;\n\nstruct bpf_iter_task_vma_kern {\n\tstruct bpf_iter_task_vma_kern_data *data;\n};\n\nstruct maple_enode;\n\nstruct maple_tree;\n\nstruct maple_alloc;\n\nstruct ma_state {\n\tstruct maple_tree *tree;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tstruct maple_enode *node;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tstruct maple_alloc *alloc;\n\tenum maple_status status;\n\tunsigned char depth;\n\tunsigned char offset;\n\tunsigned char mas_flags;\n\tunsigned char end;\n\tenum store_type store_type;\n};\n\nstruct vma_iterator {\n\tstruct ma_state mas;\n};\n\nstruct mmap_unlock_irq_work;\n\nstruct bpf_iter_task_vma_kern_data {\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct mmap_unlock_irq_work *work;\n\tstruct vma_iterator vmi;\n};\n\nstruct bpf_jit_poke_descriptor {\n\tvoid *tailcall_target;\n\tvoid *tailcall_bypass;\n\tvoid *bypass_addr;\n\tvoid *aux;\n\tunion {\n\t\tstruct {\n\t\t\tstruct bpf_map *map;\n\t\t\tu32 key;\n\t\t} tail_call;\n\t};\n\tbool tailcall_target_stable;\n\tu8 adj_off;\n\tu16 reason;\n\tu32 insn_idx;\n};\n\nstruct bpf_key {\n\tstruct key *key;\n\tbool has_ref;\n};\n\nstruct bpf_kfunc_btf {\n\tstruct btf *btf;\n\tstruct module *module;\n\tu16 offset;\n};\n\nstruct bpf_kfunc_btf_tab {\n\tstruct bpf_kfunc_btf descs[256];\n\tu32 nr_descs;\n};\n\nstruct bpf_kfunc_call_arg_meta {\n\tstruct btf *btf;\n\tu32 func_id;\n\tu32 kfunc_flags;\n\tconst struct btf_type *func_proto;\n\tconst char *func_name;\n\tu32 ref_obj_id;\n\tu8 release_regno;\n\tbool r0_rdonly;\n\tu32 ret_btf_id;\n\tu64 r0_size;\n\tu32 subprogno;\n\tstruct {\n\t\tu64 value;\n\t\tbool found;\n\t} arg_constant;\n\tstruct btf *arg_btf;\n\tu32 arg_btf_id;\n\tbool arg_owning_ref;\n\tstruct {\n\t\tstruct btf_field *field;\n\t} arg_list_head;\n\tstruct {\n\t\tstruct btf_field *field;\n\t} arg_rbtree_root;\n\tstruct {\n\t\tenum bpf_dynptr_type type;\n\t\tu32 id;\n\t\tu32 ref_obj_id;\n\t} initialized_dynptr;\n\tstruct {\n\t\tu8 spi;\n\t\tu8 frameno;\n\t} iter;\n\tstruct {\n\t\tstruct bpf_map *ptr;\n\t\tint uid;\n\t} map;\n\tu64 mem_size;\n};\n\nstruct bpf_kfunc_desc {\n\tstruct btf_func_model func_model;\n\tu32 func_id;\n\ts32 imm;\n\tu16 offset;\n\tlong unsigned int addr;\n};\n\nstruct bpf_kfunc_desc_tab {\n\tstruct bpf_kfunc_desc descs[256];\n\tu32 nr_descs;\n};\n\nstruct bpf_line_info {\n\t__u32 insn_off;\n\t__u32 file_name_off;\n\t__u32 line_off;\n\t__u32 line_col;\n};\n\nstruct bpf_link_info {\n\t__u32 type;\n\t__u32 id;\n\t__u32 prog_id;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 tp_name;\n\t\t\t__u32 tp_name_len;\n\t\t} raw_tracepoint;\n\t\tstruct {\n\t\t\t__u32 attach_type;\n\t\t\t__u32 target_obj_id;\n\t\t\t__u32 target_btf_id;\n\t\t} tracing;\n\t\tstruct {\n\t\t\t__u64 cgroup_id;\n\t\t\t__u32 attach_type;\n\t\t} cgroup;\n\t\tstruct {\n\t\t\t__u64 target_name;\n\t\t\t__u32 target_name_len;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 map_id;\n\t\t\t\t} map;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 cgroup_id;\n\t\t\t\t\t__u32 order;\n\t\t\t\t} cgroup;\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 tid;\n\t\t\t\t\t__u32 pid;\n\t\t\t\t} task;\n\t\t\t};\n\t\t} iter;\n\t\tstruct {\n\t\t\t__u32 netns_ino;\n\t\t\t__u32 attach_type;\n\t\t} netns;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t} xdp;\n\t\tstruct {\n\t\t\t__u32 map_id;\n\t\t} struct_ops;\n\t\tstruct {\n\t\t\t__u32 pf;\n\t\t\t__u32 hooknum;\n\t\t\t__s32 priority;\n\t\t\t__u32 flags;\n\t\t} netfilter;\n\t\tstruct {\n\t\t\t__u64 addrs;\n\t\t\t__u32 count;\n\t\t\t__u32 flags;\n\t\t\t__u64 missed;\n\t\t\t__u64 cookies;\n\t\t} kprobe_multi;\n\t\tstruct {\n\t\t\t__u64 path;\n\t\t\t__u64 offsets;\n\t\t\t__u64 ref_ctr_offsets;\n\t\t\t__u64 cookies;\n\t\t\t__u32 path_size;\n\t\t\t__u32 count;\n\t\t\t__u32 flags;\n\t\t\t__u32 pid;\n\t\t} uprobe_multi;\n\t\tstruct {\n\t\t\t__u32 type;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 file_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u32 offset;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} uprobe;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 func_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u32 offset;\n\t\t\t\t\t__u64 addr;\n\t\t\t\t\t__u64 missed;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} kprobe;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 tp_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} tracepoint;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 config;\n\t\t\t\t\t__u32 type;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} event;\n\t\t\t};\n\t\t} perf_event;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t\t__u32 attach_type;\n\t\t} tcx;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t\t__u32 attach_type;\n\t\t} netkit;\n\t\tstruct {\n\t\t\t__u32 map_id;\n\t\t\t__u32 attach_type;\n\t\t} sockmap;\n\t};\n};\n\nstruct bpf_link_ops {\n\tvoid (*release)(struct bpf_link *);\n\tvoid (*dealloc)(struct bpf_link *);\n\tvoid (*dealloc_deferred)(struct bpf_link *);\n\tint (*detach)(struct bpf_link *);\n\tint (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);\n\tvoid (*show_fdinfo)(const struct bpf_link *, struct seq_file *);\n\tint (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);\n\tint (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *);\n\t__poll_t (*poll)(struct file *, struct poll_table_struct *);\n};\n\nstruct bpf_link_primer {\n\tstruct bpf_link *link;\n\tstruct file *file;\n\tint fd;\n\tu32 id;\n};\n\nstruct bpf_list_head {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_list_node {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_list_node_kern {\n\tstruct list_head list_head;\n\tvoid *owner;\n};\n\nstruct bpf_local_storage_data;\n\nstruct bpf_local_storage_map;\n\nstruct bpf_local_storage {\n\tstruct bpf_local_storage_data *cache[16];\n\tstruct bpf_local_storage_map *smap;\n\tstruct hlist_head list;\n\tvoid *owner;\n\tstruct callback_head rcu;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_local_storage_cache {\n\tspinlock_t idx_lock;\n\tu64 idx_usage_counts[16];\n};\n\nstruct bpf_local_storage_data {\n\tstruct bpf_local_storage_map *smap;\n\tu8 data[0];\n};\n\nstruct bpf_local_storage_elem {\n\tstruct hlist_node map_node;\n\tstruct hlist_node snode;\n\tstruct bpf_local_storage *local_storage;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct hlist_node free_node;\n\t};\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bpf_local_storage_data sdata;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_local_storage_map_bucket;\n\nstruct bpf_local_storage_map {\n\tstruct bpf_map map;\n\tstruct bpf_local_storage_map_bucket *buckets;\n\tu32 bucket_log;\n\tu16 elem_size;\n\tu16 cache_idx;\n\tstruct bpf_mem_alloc selem_ma;\n\tstruct bpf_mem_alloc storage_ma;\n\tbool bpf_ma;\n};\n\nstruct bpf_local_storage_map_bucket {\n\tstruct hlist_head list;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_lpm_trie_key_hdr {\n\t__u32 prefixlen;\n};\n\nstruct bpf_lpm_trie_key_u8 {\n\tunion {\n\t\tstruct bpf_lpm_trie_key_hdr hdr;\n\t\t__u32 prefixlen;\n\t};\n\t__u8 data[0];\n};\n\nstruct bpf_lru_locallist {\n\tstruct list_head lists[2];\n\tu16 next_steal;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_lru_node {\n\tstruct list_head list;\n\tu16 cpu;\n\tu8 type;\n\tu8 ref;\n};\n\nstruct bpf_offloaded_map;\n\nstruct bpf_map_dev_ops {\n\tint (*map_get_next_key)(struct bpf_offloaded_map *, void *, void *);\n\tint (*map_lookup_elem)(struct bpf_offloaded_map *, void *, void *);\n\tint (*map_update_elem)(struct bpf_offloaded_map *, void *, void *, u64);\n\tint (*map_delete_elem)(struct bpf_offloaded_map *, void *);\n};\n\nstruct bpf_map_info {\n\t__u32 type;\n\t__u32 id;\n\t__u32 key_size;\n\t__u32 value_size;\n\t__u32 max_entries;\n\t__u32 map_flags;\n\tchar name[16];\n\t__u32 ifindex;\n\t__u32 btf_vmlinux_value_type_id;\n\t__u64 netns_dev;\n\t__u64 netns_ino;\n\t__u32 btf_id;\n\t__u32 btf_key_type_id;\n\t__u32 btf_value_type_id;\n\t__u32 btf_vmlinux_id;\n\t__u64 map_extra;\n};\n\ntypedef u64 (*bpf_callback_t)(u64, u64, u64, u64, u64);\n\nstruct bpf_prog_aux;\n\nstruct bpf_map_ops {\n\tint (*map_alloc_check)(union bpf_attr *);\n\tstruct bpf_map * (*map_alloc)(union bpf_attr *);\n\tvoid (*map_release)(struct bpf_map *, struct file *);\n\tvoid (*map_free)(struct bpf_map *);\n\tint (*map_get_next_key)(struct bpf_map *, void *, void *);\n\tvoid (*map_release_uref)(struct bpf_map *);\n\tvoid * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);\n\tint (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);\n\tint (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tvoid * (*map_lookup_elem)(struct bpf_map *, void *);\n\tlong int (*map_update_elem)(struct bpf_map *, void *, void *, u64);\n\tlong int (*map_delete_elem)(struct bpf_map *, void *);\n\tlong int (*map_push_elem)(struct bpf_map *, void *, u64);\n\tlong int (*map_pop_elem)(struct bpf_map *, void *);\n\tlong int (*map_peek_elem)(struct bpf_map *, void *);\n\tvoid * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32);\n\tvoid * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);\n\tvoid (*map_fd_put_ptr)(struct bpf_map *, void *, bool);\n\tint (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);\n\tu32 (*map_fd_sys_lookup_elem)(void *);\n\tvoid (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);\n\tint (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);\n\tint (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);\n\tvoid (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);\n\tvoid (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);\n\tint (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);\n\tint (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);\n\tint (*map_mmap)(struct bpf_map *, struct vm_area_struct *);\n\t__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);\n\tlong unsigned int (*map_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tint (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);\n\tvoid (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);\n\tstruct bpf_local_storage ** (*map_owner_storage_ptr)(void *);\n\tlong int (*map_redirect)(struct bpf_map *, u64, u64);\n\tbool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);\n\tint (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);\n\tlong int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64);\n\tu64 (*map_mem_usage)(const struct bpf_map *);\n\tint *map_btf_id;\n\tconst struct bpf_iter_seq_info *iter_seq_info;\n};\n\nstruct llist_head {\n\tstruct llist_node *first;\n};\n\nstruct rcuwait {\n\tstruct task_struct *task;\n};\n\nstruct irq_work {\n\tstruct __call_single_node node;\n\tvoid (*func)(struct irq_work *);\n\tstruct rcuwait irqwait;\n};\n\nstruct bpf_mem_cache {\n\tstruct llist_head free_llist;\n\tlocal_t active;\n\tstruct llist_head free_llist_extra;\n\tstruct irq_work refill_work;\n\tstruct obj_cgroup *objcg;\n\tint unit_size;\n\tint free_cnt;\n\tint low_watermark;\n\tint high_watermark;\n\tint batch;\n\tint percpu_size;\n\tbool draining;\n\tstruct bpf_mem_cache *tgt;\n\tstruct llist_head free_by_rcu;\n\tstruct llist_node *free_by_rcu_tail;\n\tstruct llist_head waiting_for_gp;\n\tstruct llist_node *waiting_for_gp_tail;\n\tstruct callback_head rcu;\n\tatomic_t call_rcu_in_progress;\n\tstruct llist_head free_llist_extra_rcu;\n\tstruct llist_head free_by_rcu_ttrace;\n\tstruct llist_head waiting_for_gp_ttrace;\n\tstruct callback_head rcu_ttrace;\n\tatomic_t call_rcu_ttrace_in_progress;\n};\n\nstruct bpf_mem_caches {\n\tstruct bpf_mem_cache cache[11];\n};\n\nstruct bpf_mount_opts {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tu64 delegate_cmds;\n\tu64 delegate_maps;\n\tu64 delegate_progs;\n\tu64 delegate_attachs;\n};\n\nstruct bpf_mprog_fp {\n\tstruct bpf_prog *prog;\n};\n\nstruct bpf_mprog_bundle;\n\nstruct bpf_mprog_entry {\n\tstruct bpf_mprog_fp fp_items[64];\n\tstruct bpf_mprog_bundle *parent;\n};\n\nstruct bpf_mprog_cp {\n\tstruct bpf_link *link;\n};\n\nstruct bpf_mprog_bundle {\n\tstruct bpf_mprog_entry a;\n\tstruct bpf_mprog_entry b;\n\tstruct bpf_mprog_cp cp_items[64];\n\tstruct bpf_prog *ref;\n\tatomic64_t revision;\n\tu32 count;\n};\n\nstruct bpf_nested_pt_regs {\n\tstruct pt_regs regs[3];\n};\n\nstruct bpf_nh_params {\n\tu32 nh_family;\n\tunion {\n\t\tu32 ipv4_nh;\n\t\tstruct in6_addr ipv6_nh;\n\t};\n};\n\nstruct bpf_redirect_info {\n\tu64 tgt_index;\n\tvoid *tgt_value;\n\tstruct bpf_map *map;\n\tu32 flags;\n\tu32 map_id;\n\tenum bpf_map_type map_type;\n\tstruct bpf_nh_params nh;\n\tu32 kern_flags;\n};\n\nstruct bpf_net_context {\n\tstruct bpf_redirect_info ri;\n\tstruct list_head cpu_map_flush_list;\n\tstruct list_head dev_map_flush_list;\n\tstruct list_head xskmap_map_flush_list;\n};\n\nstruct bpf_netns_link {\n\tstruct bpf_link link;\n\tenum bpf_attach_type type;\n\tenum netns_bpf_attach_type netns_type;\n\tstruct net *net;\n\tstruct list_head node;\n};\n\ntypedef unsigned int nf_hookfn(void *, struct sk_buff *, const struct nf_hook_state *);\n\nstruct nf_hook_ops {\n\tnf_hookfn *hook;\n\tstruct net_device *dev;\n\tvoid *priv;\n\tu8 pf;\n\tenum nf_hook_ops_type hook_ops_type: 8;\n\tunsigned int hooknum;\n\tint priority;\n};\n\nstruct nf_defrag_hook;\n\nstruct bpf_nf_link {\n\tstruct bpf_link link;\n\tstruct nf_hook_ops hook_ops;\n\tnetns_tracker ns_tracker;\n\tstruct net *net;\n\tu32 dead;\n\tconst struct nf_defrag_hook *defrag_hook;\n};\n\nstruct bpf_prog_offload_ops;\n\nstruct bpf_offload_dev {\n\tconst struct bpf_prog_offload_ops *ops;\n\tstruct list_head netdevs;\n\tvoid *priv;\n};\n\nstruct rhash_head {\n\tstruct rhash_head *next;\n};\n\nstruct bpf_offload_netdev {\n\tstruct rhash_head l;\n\tstruct net_device *netdev;\n\tstruct bpf_offload_dev *offdev;\n\tstruct list_head progs;\n\tstruct list_head maps;\n\tstruct list_head offdev_netdevs;\n};\n\nstruct bpf_offloaded_map {\n\tstruct bpf_map map;\n\tstruct net_device *netdev;\n\tconst struct bpf_map_dev_ops *dev_ops;\n\tvoid *dev_priv;\n\tstruct list_head offloads;\n};\n\nstruct bpf_perf_event_value {\n\t__u64 counter;\n\t__u64 enabled;\n\t__u64 running;\n};\n\nstruct bpf_perf_link {\n\tstruct bpf_link link;\n\tstruct file *perf_file;\n};\n\nstruct bpf_pidns_info {\n\t__u32 pid;\n\t__u32 tgid;\n};\n\nstruct bpf_preload_info {\n\tchar link_name[16];\n\tstruct bpf_link *link;\n};\n\nstruct bpf_preload_ops {\n\tint (*preload)(struct bpf_preload_info *);\n\tstruct module *owner;\n};\n\nstruct sock_filter {\n\t__u16 code;\n\t__u8 jt;\n\t__u8 jf;\n\t__u32 k;\n};\n\nstruct bpf_prog_stats;\n\nstruct sock_fprog_kern;\n\nstruct bpf_prog {\n\tu16 pages;\n\tu16 jited: 1;\n\tu16 jit_requested: 1;\n\tu16 gpl_compatible: 1;\n\tu16 cb_access: 1;\n\tu16 dst_needed: 1;\n\tu16 blinding_requested: 1;\n\tu16 blinded: 1;\n\tu16 is_func: 1;\n\tu16 kprobe_override: 1;\n\tu16 has_callchain_buf: 1;\n\tu16 enforce_expected_attach_type: 1;\n\tu16 call_get_stack: 1;\n\tu16 call_get_func_ip: 1;\n\tu16 tstamp_type_access: 1;\n\tu16 sleepable: 1;\n\tenum bpf_prog_type type;\n\tenum bpf_attach_type expected_attach_type;\n\tu32 len;\n\tu32 jited_len;\n\tu8 tag[8];\n\tstruct bpf_prog_stats *stats;\n\tint *active;\n\tunsigned int (*bpf_func)(const void *, const struct bpf_insn *);\n\tstruct bpf_prog_aux *aux;\n\tstruct sock_fprog_kern *orig_prog;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_insns;\n\t\t\tstruct sock_filter insns[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_insnsi;\n\t\t\tstruct bpf_insn insnsi[0];\n\t\t};\n\t};\n};\n\nstruct bpf_trampoline;\n\nstruct bpf_prog_ops;\n\nstruct btf_mod_pair;\n\nstruct user_struct;\n\nstruct bpf_token;\n\nstruct bpf_prog_offload;\n\nstruct exception_table_entry;\n\nstruct bpf_prog_aux {\n\tatomic64_t refcnt;\n\tu32 used_map_cnt;\n\tu32 used_btf_cnt;\n\tu32 max_ctx_offset;\n\tu32 max_pkt_offset;\n\tu32 max_tp_access;\n\tu32 stack_depth;\n\tu32 id;\n\tu32 func_cnt;\n\tu32 real_func_cnt;\n\tu32 func_idx;\n\tu32 attach_btf_id;\n\tu32 ctx_arg_info_size;\n\tu32 max_rdonly_access;\n\tu32 max_rdwr_access;\n\tstruct btf *attach_btf;\n\tconst struct bpf_ctx_arg_aux *ctx_arg_info;\n\tvoid *priv_stack_ptr;\n\tstruct mutex dst_mutex;\n\tstruct bpf_prog *dst_prog;\n\tstruct bpf_trampoline *dst_trampoline;\n\tenum bpf_prog_type saved_dst_prog_type;\n\tenum bpf_attach_type saved_dst_attach_type;\n\tbool verifier_zext;\n\tbool dev_bound;\n\tbool offload_requested;\n\tbool attach_btf_trace;\n\tbool attach_tracing_prog;\n\tbool func_proto_unreliable;\n\tbool tail_call_reachable;\n\tbool xdp_has_frags;\n\tbool exception_cb;\n\tbool exception_boundary;\n\tbool is_extended;\n\tbool jits_use_priv_stack;\n\tbool priv_stack_requested;\n\tbool changes_pkt_data;\n\tu64 prog_array_member_cnt;\n\tstruct mutex ext_mutex;\n\tstruct bpf_arena *arena;\n\tvoid (*recursion_detected)(struct bpf_prog *);\n\tconst struct btf_type *attach_func_proto;\n\tconst char *attach_func_name;\n\tstruct bpf_prog **func;\n\tvoid *jit_data;\n\tstruct bpf_jit_poke_descriptor *poke_tab;\n\tstruct bpf_kfunc_desc_tab *kfunc_tab;\n\tstruct bpf_kfunc_btf_tab *kfunc_btf_tab;\n\tu32 size_poke_tab;\n\tstruct bpf_ksym ksym;\n\tconst struct bpf_prog_ops *ops;\n\tstruct bpf_map **used_maps;\n\tstruct mutex used_maps_mutex;\n\tstruct btf_mod_pair *used_btfs;\n\tstruct bpf_prog *prog;\n\tstruct user_struct *user;\n\tu64 load_time;\n\tu32 verified_insns;\n\tint cgroup_atype;\n\tstruct bpf_map *cgroup_storage[2];\n\tchar name[16];\n\tu64 (*bpf_exception_cb)(u64, u64, u64, u64, u64);\n\tvoid *security;\n\tstruct bpf_token *token;\n\tstruct bpf_prog_offload *offload;\n\tstruct btf *btf;\n\tstruct bpf_func_info *func_info;\n\tstruct bpf_func_info_aux *func_info_aux;\n\tstruct bpf_line_info *linfo;\n\tvoid **jited_linfo;\n\tu32 func_info_cnt;\n\tu32 nr_linfo;\n\tu32 linfo_idx;\n\tstruct module *mod;\n\tu32 num_exentries;\n\tstruct exception_table_entry *extable;\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct bpf_prog_dummy {\n\tstruct bpf_prog prog;\n};\n\nstruct bpf_prog_info {\n\t__u32 type;\n\t__u32 id;\n\t__u8 tag[8];\n\t__u32 jited_prog_len;\n\t__u32 xlated_prog_len;\n\t__u64 jited_prog_insns;\n\t__u64 xlated_prog_insns;\n\t__u64 load_time;\n\t__u32 created_by_uid;\n\t__u32 nr_map_ids;\n\t__u64 map_ids;\n\tchar name[16];\n\t__u32 ifindex;\n\t__u32 gpl_compatible: 1;\n\t__u64 netns_dev;\n\t__u64 netns_ino;\n\t__u32 nr_jited_ksyms;\n\t__u32 nr_jited_func_lens;\n\t__u64 jited_ksyms;\n\t__u64 jited_func_lens;\n\t__u32 btf_id;\n\t__u32 func_info_rec_size;\n\t__u64 func_info;\n\t__u32 nr_func_info;\n\t__u32 nr_line_info;\n\t__u64 line_info;\n\t__u64 jited_line_info;\n\t__u32 nr_jited_line_info;\n\t__u32 line_info_rec_size;\n\t__u32 jited_line_info_rec_size;\n\t__u32 nr_prog_tags;\n\t__u64 prog_tags;\n\t__u64 run_time_ns;\n\t__u64 run_cnt;\n\t__u64 recursion_misses;\n\t__u32 verified_insns;\n\t__u32 attach_btf_obj_id;\n\t__u32 attach_btf_id;\n};\n\nstruct bpf_prog_kstats {\n\tu64 nsecs;\n\tu64 cnt;\n\tu64 misses;\n};\n\nstruct bpf_prog_list {\n\tstruct hlist_node node;\n\tstruct bpf_prog *prog;\n\tstruct bpf_cgroup_link *link;\n\tstruct bpf_cgroup_storage *storage[2];\n};\n\nstruct bpf_prog_offload {\n\tstruct bpf_prog *prog;\n\tstruct net_device *netdev;\n\tstruct bpf_offload_dev *offdev;\n\tvoid *dev_priv;\n\tstruct list_head offloads;\n\tbool dev_state;\n\tbool opt_failed;\n\tvoid *jited_image;\n\tu32 jited_len;\n};\n\nstruct bpf_prog_offload_ops {\n\tint (*insn_hook)(struct bpf_verifier_env *, int, int);\n\tint (*finalize)(struct bpf_verifier_env *);\n\tint (*replace_insn)(struct bpf_verifier_env *, u32, struct bpf_insn *);\n\tint (*remove_insns)(struct bpf_verifier_env *, u32, u32);\n\tint (*prepare)(struct bpf_prog *);\n\tint (*translate)(struct bpf_prog *);\n\tvoid (*destroy)(struct bpf_prog *);\n};\n\nstruct bpf_prog_ops {\n\tint (*test_run)(struct bpf_prog *, const union bpf_attr *, union bpf_attr *);\n};\n\nstruct bpf_prog_pack {\n\tstruct list_head list;\n\tvoid *ptr;\n\tlong unsigned int bitmap[0];\n};\n\nstruct bpf_prog_stats {\n\tu64_stats_t cnt;\n\tu64_stats_t nsecs;\n\tu64_stats_t misses;\n\tstruct u64_stats_sync syncp;\n\tlong: 64;\n};\n\nstruct bpf_queue_stack {\n\tstruct bpf_map map;\n\traw_spinlock_t lock;\n\tu32 head;\n\tu32 tail;\n\tu32 size;\n\tchar elements[0];\n};\n\nstruct tracepoint;\n\nstruct bpf_raw_event_map {\n\tstruct tracepoint *tp;\n\tvoid *bpf_func;\n\tu32 num_args;\n\tu32 writable_size;\n\tlong: 64;\n};\n\nstruct bpf_raw_tp_link {\n\tstruct bpf_link link;\n\tstruct bpf_raw_event_map *btp;\n\tu64 cookie;\n};\n\nstruct bpf_raw_tp_null_args {\n\tconst char *func;\n\tu64 mask;\n};\n\nstruct bpf_raw_tp_regs {\n\tstruct pt_regs regs[3];\n};\n\nstruct bpf_raw_tp_test_run_info {\n\tstruct bpf_prog *prog;\n\tvoid *ctx;\n\tu32 retval;\n};\n\nstruct bpf_rb_node {\n\t__u64 __opaque[4];\n};\n\nstruct bpf_rb_node_kern {\n\tstruct rb_node rb_node;\n\tvoid *owner;\n};\n\nstruct bpf_rb_root {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_redir_neigh {\n\t__u32 nh_family;\n\tunion {\n\t\t__be32 ipv4_nh;\n\t\t__u32 ipv6_nh[4];\n\t};\n};\n\nstruct bpf_refcount {\n\t__u32 __opaque[1];\n};\n\nstruct bpf_reference_state {\n\tenum ref_state_type type;\n\tint id;\n\tint insn_idx;\n\tvoid *ptr;\n};\n\nstruct bpf_reg_types {\n\tconst enum bpf_reg_type types[10];\n\tu32 *btf_id;\n};\n\nstruct bpf_ringbuf {\n\twait_queue_head_t waitq;\n\tstruct irq_work work;\n\tu64 mask;\n\tstruct page **pages;\n\tint nr_pages;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t spinlock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t busy;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int consumer_pos;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int producer_pos;\n\tlong unsigned int pending_pos;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tchar data[0];\n};\n\nstruct bpf_ringbuf_hdr {\n\tu32 len;\n\tu32 pg_off;\n};\n\nstruct bpf_ringbuf_map {\n\tstruct bpf_map map;\n\tstruct bpf_ringbuf *rb;\n};\n\nstruct bpf_sanitize_info {\n\tstruct bpf_insn_aux_data aux;\n\tbool mask_to_left;\n};\n\nstruct bpf_security_struct {\n\tu32 sid;\n};\n\nstruct bpf_session_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tbool is_return;\n\tvoid *data;\n};\n\nstruct bpf_tramp_link {\n\tstruct bpf_link link;\n\tstruct hlist_node tramp_hlist;\n\tu64 cookie;\n};\n\nstruct bpf_shim_tramp_link {\n\tstruct bpf_tramp_link link;\n\tstruct bpf_trampoline *trampoline;\n};\n\nstruct sk_psock_progs {\n\tstruct bpf_prog *msg_parser;\n\tstruct bpf_prog *stream_parser;\n\tstruct bpf_prog *stream_verdict;\n\tstruct bpf_prog *skb_verdict;\n\tstruct bpf_link *msg_parser_link;\n\tstruct bpf_link *stream_parser_link;\n\tstruct bpf_link *stream_verdict_link;\n\tstruct bpf_link *skb_verdict_link;\n};\n\nstruct bpf_shtab_bucket;\n\nstruct bpf_shtab {\n\tstruct bpf_map map;\n\tstruct bpf_shtab_bucket *buckets;\n\tu32 buckets_num;\n\tu32 elem_size;\n\tstruct sk_psock_progs progs;\n\tatomic_t count;\n};\n\nstruct bpf_shtab_bucket {\n\tstruct hlist_head head;\n\tspinlock_t lock;\n};\n\nstruct bpf_shtab_elem {\n\tstruct callback_head rcu;\n\tu32 hash;\n\tstruct sock *sk;\n\tstruct hlist_node node;\n\tu8 key[0];\n};\n\nstruct bpf_sk_storage_diag {\n\tu32 nr_maps;\n\tstruct bpf_map *maps[0];\n};\n\nstruct qdisc_skb_cb {\n\tstruct {\n\t\tunsigned int pkt_len;\n\t\tu16 slave_dev_queue_mapping;\n\t\tu16 tc_classid;\n\t};\n\tunsigned char data[20];\n};\n\nstruct bpf_skb_data_end {\n\tstruct qdisc_skb_cb qdisc_cb;\n\tvoid *data_meta;\n\tvoid *data_end;\n};\n\nstruct bpf_sock_tuple {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t\t__be16 sport;\n\t\t\t__be16 dport;\n\t\t} ipv4;\n\t\tstruct {\n\t\t\t__be32 saddr[4];\n\t\t\t__be32 daddr[4];\n\t\t\t__be16 sport;\n\t\t\t__be16 dport;\n\t\t} ipv6;\n\t};\n};\n\nstruct bpf_sockopt_buf {\n\tu8 data[32];\n};\n\nstruct bpf_stab {\n\tstruct bpf_map map;\n\tstruct sock **sks;\n\tstruct sk_psock_progs progs;\n\tspinlock_t lock;\n};\n\nstruct bpf_stack_build_id {\n\t__s32 status;\n\tunsigned char build_id[20];\n\tunion {\n\t\t__u64 offset;\n\t\t__u64 ip;\n\t};\n};\n\nstruct stack_map_bucket;\n\nstruct bpf_stack_map {\n\tstruct bpf_map map;\n\tvoid *elems;\n\tstruct pcpu_freelist freelist;\n\tu32 n_buckets;\n\tstruct stack_map_bucket *buckets[0];\n};\n\nstruct bpf_stack_state {\n\tstruct bpf_reg_state spilled_ptr;\n\tu8 slot_type[8];\n};\n\nstruct bpf_storage_blob {\n\tstruct bpf_local_storage *storage;\n};\n\nstruct bpf_storage_buffer {\n\tstruct callback_head rcu;\n\tchar data[0];\n};\n\nstruct bpf_verifier_ops;\n\nstruct btf_member;\n\nstruct bpf_struct_ops {\n\tconst struct bpf_verifier_ops *verifier_ops;\n\tint (*init)(struct btf *);\n\tint (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *);\n\tint (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);\n\tint (*reg)(void *, struct bpf_link *);\n\tvoid (*unreg)(void *, struct bpf_link *);\n\tint (*update)(void *, void *, struct bpf_link *);\n\tint (*validate)(void *);\n\tvoid *cfi_stubs;\n\tstruct module *owner;\n\tconst char *name;\n\tstruct btf_func_model func_models[64];\n};\n\nstruct bpf_struct_ops_arg_info {\n\tstruct bpf_ctx_arg_aux *info;\n\tu32 cnt;\n};\n\nstruct bpf_struct_ops_common_value {\n\trefcount_t refcnt;\n\tenum bpf_struct_ops_state state;\n};\n\nstruct bpf_struct_ops_bpf_dummy_ops {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bpf_dummy_ops data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_struct_ops_desc {\n\tstruct bpf_struct_ops *st_ops;\n\tconst struct btf_type *type;\n\tconst struct btf_type *value_type;\n\tu32 type_id;\n\tu32 value_id;\n\tstruct bpf_struct_ops_arg_info *arg_info;\n};\n\nstruct bpf_struct_ops_link {\n\tstruct bpf_link link;\n\tstruct bpf_map *map;\n\twait_queue_head_t wait_hup;\n};\n\nstruct bpf_struct_ops_value {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tchar data[0];\n};\n\nstruct bpf_struct_ops_map {\n\tstruct bpf_map map;\n\tconst struct bpf_struct_ops_desc *st_ops_desc;\n\tstruct mutex lock;\n\tstruct bpf_link **links;\n\tstruct bpf_ksym **ksyms;\n\tu32 funcs_cnt;\n\tu32 image_pages_cnt;\n\tvoid *image_pages[8];\n\tstruct btf *btf;\n\tstruct bpf_struct_ops_value *uvalue;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bpf_struct_ops_value kvalue;\n};\n\nstruct rate_sample;\n\nunion tcp_cc_info;\n\nstruct tcp_congestion_ops {\n\tu32 (*ssthresh)(struct sock *);\n\tvoid (*cong_avoid)(struct sock *, u32, u32);\n\tvoid (*set_state)(struct sock *, u8);\n\tvoid (*cwnd_event)(struct sock *, enum tcp_ca_event);\n\tvoid (*in_ack_event)(struct sock *, u32);\n\tvoid (*pkts_acked)(struct sock *, const struct ack_sample *);\n\tu32 (*min_tso_segs)(struct sock *);\n\tvoid (*cong_control)(struct sock *, u32, int, const struct rate_sample *);\n\tu32 (*undo_cwnd)(struct sock *);\n\tu32 (*sndbuf_expand)(struct sock *);\n\tsize_t (*get_info)(struct sock *, u32, int *, union tcp_cc_info *);\n\tchar name[16];\n\tstruct module *owner;\n\tstruct list_head list;\n\tu32 key;\n\tu32 flags;\n\tvoid (*init)(struct sock *);\n\tvoid (*release)(struct sock *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_struct_ops_tcp_congestion_ops {\n\tstruct bpf_struct_ops_common_value common;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct tcp_congestion_ops data;\n};\n\nstruct bpf_subprog_arg_info {\n\tenum bpf_arg_type arg_type;\n\tunion {\n\t\tu32 mem_size;\n\t\tu32 btf_id;\n\t};\n};\n\nstruct bpf_subprog_info {\n\tu32 start;\n\tu32 linfo_idx;\n\tu16 stack_depth;\n\tu16 stack_extra;\n\ts16 fastcall_stack_off;\n\tbool has_tail_call: 1;\n\tbool tail_call_reachable: 1;\n\tbool has_ld_abs: 1;\n\tbool is_cb: 1;\n\tbool is_async_cb: 1;\n\tbool is_exception_cb: 1;\n\tbool args_cached: 1;\n\tbool keep_fastcall_stack: 1;\n\tbool changes_pkt_data: 1;\n\tenum priv_stack_mode priv_stack_mode;\n\tu8 arg_cnt;\n\tstruct bpf_subprog_arg_info args[5];\n};\n\nstruct tcp_iter_state {\n\tstruct seq_net_private p;\n\tenum tcp_seq_states state;\n\tstruct sock *syn_wait_sk;\n\tint bucket;\n\tint offset;\n\tint sbucket;\n\tint num;\n\tloff_t last_pos;\n};\n\nstruct bpf_tcp_iter_state {\n\tstruct tcp_iter_state state;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_tcp_req_attrs {\n\tu32 rcv_tsval;\n\tu32 rcv_tsecr;\n\tu16 mss;\n\tu8 rcv_wscale;\n\tu8 snd_wscale;\n\tu8 ecn_ok;\n\tu8 wscale_ok;\n\tu8 sack_ok;\n\tu8 tstamp_ok;\n\tu8 usec_ts_ok;\n\tu8 reserved[3];\n};\n\nstruct bpf_tcp_sock {\n\t__u32 snd_cwnd;\n\t__u32 srtt_us;\n\t__u32 rtt_min;\n\t__u32 snd_ssthresh;\n\t__u32 rcv_nxt;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 mss_cache;\n\t__u32 ecn_flags;\n\t__u32 rate_delivered;\n\t__u32 rate_interval_us;\n\t__u32 packets_out;\n\t__u32 retrans_out;\n\t__u32 total_retrans;\n\t__u32 segs_in;\n\t__u32 data_segs_in;\n\t__u32 segs_out;\n\t__u32 data_segs_out;\n\t__u32 lost_out;\n\t__u32 sacked_out;\n\t__u64 bytes_received;\n\t__u64 bytes_acked;\n\t__u32 dsack_dups;\n\t__u32 delivered;\n\t__u32 delivered_ce;\n\t__u32 icsk_retransmits;\n};\n\nstruct bpf_test_timer {\n\tenum {\n\t\tNO_PREEMPT = 0,\n\t\tNO_MIGRATE = 1,\n\t} mode;\n\tu32 i;\n\tu64 time_start;\n\tu64 time_spent;\n};\n\nstruct bpf_throw_ctx {\n\tstruct bpf_prog_aux *aux;\n\tu64 sp;\n\tu64 bp;\n\tint cnt;\n};\n\nstruct bpf_timer {\n\t__u64 __opaque[2];\n};\n\nstruct user_namespace;\n\nstruct bpf_token {\n\tstruct work_struct work;\n\tatomic64_t refcnt;\n\tstruct user_namespace *userns;\n\tu64 allowed_cmds;\n\tu64 allowed_maps;\n\tu64 allowed_progs;\n\tu64 allowed_attachs;\n\tvoid *security;\n};\n\nstruct bpf_trace_module {\n\tstruct module *module;\n\tstruct list_head list;\n};\n\nstruct bpf_trace_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tu64 bpf_cookie;\n\tbool is_uprobe;\n};\n\nunion perf_sample_weight {\n\t__u64 full;\n\tstruct {\n\t\t__u32 var1_dw;\n\t\t__u16 var2_w;\n\t\t__u16 var3_w;\n\t};\n};\n\nunion perf_mem_data_src {\n\t__u64 val;\n\tstruct {\n\t\t__u64 mem_op: 5;\n\t\t__u64 mem_lvl: 14;\n\t\t__u64 mem_snoop: 5;\n\t\t__u64 mem_lock: 2;\n\t\t__u64 mem_dtlb: 7;\n\t\t__u64 mem_lvl_num: 4;\n\t\t__u64 mem_remote: 1;\n\t\t__u64 mem_snoopx: 2;\n\t\t__u64 mem_blk: 3;\n\t\t__u64 mem_hops: 3;\n\t\t__u64 mem_rsvd: 18;\n\t};\n};\n\nstruct perf_regs {\n\t__u64 abi;\n\tstruct pt_regs *regs;\n};\n\nstruct perf_callchain_entry;\n\nstruct perf_raw_record;\n\nstruct perf_branch_stack;\n\nstruct perf_sample_data {\n\tu64 sample_flags;\n\tu64 period;\n\tu64 dyn_size;\n\tu64 type;\n\tstruct {\n\t\tu32 pid;\n\t\tu32 tid;\n\t} tid_entry;\n\tu64 time;\n\tu64 id;\n\tstruct {\n\t\tu32 cpu;\n\t\tu32 reserved;\n\t} cpu_entry;\n\tu64 ip;\n\tstruct perf_callchain_entry *callchain;\n\tstruct perf_raw_record *raw;\n\tstruct perf_branch_stack *br_stack;\n\tu64 *br_stack_cntr;\n\tunion perf_sample_weight weight;\n\tunion perf_mem_data_src data_src;\n\tu64 txn;\n\tstruct perf_regs regs_user;\n\tstruct perf_regs regs_intr;\n\tu64 stack_user_size;\n\tu64 stream_id;\n\tu64 cgroup;\n\tu64 addr;\n\tu64 phys_addr;\n\tu64 data_page_size;\n\tu64 code_page_size;\n\tu64 aux_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_trace_sample_data {\n\tstruct perf_sample_data sds[3];\n};\n\nstruct bpf_tracing_link {\n\tstruct bpf_tramp_link link;\n\tenum bpf_attach_type attach_type;\n\tstruct bpf_trampoline *trampoline;\n\tstruct bpf_prog *tgt_prog;\n};\n\nstruct bpf_tramp_image {\n\tvoid *image;\n\tint size;\n\tstruct bpf_ksym ksym;\n\tstruct percpu_ref pcref;\n\tvoid *ip_after_call;\n\tvoid *ip_epilogue;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n};\n\nstruct bpf_tramp_links {\n\tstruct bpf_tramp_link *links[38];\n\tint nr_links;\n};\n\nstruct bpf_tramp_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tu64 bpf_cookie;\n\tstruct bpf_run_ctx *saved_run_ctx;\n};\n\nstruct ftrace_ops;\n\nstruct bpf_trampoline {\n\tstruct hlist_node hlist;\n\tstruct ftrace_ops *fops;\n\tstruct mutex mutex;\n\trefcount_t refcnt;\n\tu32 flags;\n\tu64 key;\n\tstruct {\n\t\tstruct btf_func_model model;\n\t\tvoid *addr;\n\t\tbool ftrace_managed;\n\t} func;\n\tstruct bpf_prog *extension_prog;\n\tstruct hlist_head progs_hlist[3];\n\tint progs_cnt[3];\n\tstruct bpf_tramp_image *cur_image;\n};\n\nstruct bpf_tunnel_key {\n\t__u32 tunnel_id;\n\tunion {\n\t\t__u32 remote_ipv4;\n\t\t__u32 remote_ipv6[4];\n\t};\n\t__u8 tunnel_tos;\n\t__u8 tunnel_ttl;\n\tunion {\n\t\t__u16 tunnel_ext;\n\t\t__be16 tunnel_flags;\n\t};\n\t__u32 tunnel_label;\n\tunion {\n\t\t__u32 local_ipv4;\n\t\t__u32 local_ipv6[4];\n\t};\n};\n\nstruct bpf_tuple {\n\tstruct bpf_prog *prog;\n\tstruct bpf_link *link;\n};\n\nstruct udp_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n};\n\nstruct bpf_udp_iter_state {\n\tstruct udp_iter_state state;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tint offset;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_unix_iter_state {\n\tstruct seq_net_private p;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct uprobe_consumer {\n\tint (*handler)(struct uprobe_consumer *, struct pt_regs *, __u64 *);\n\tint (*ret_handler)(struct uprobe_consumer *, long unsigned int, struct pt_regs *, __u64 *);\n\tbool (*filter)(struct uprobe_consumer *, struct mm_struct *);\n\tstruct list_head cons_node;\n\t__u64 id;\n};\n\nstruct bpf_uprobe_multi_link;\n\nstruct uprobe;\n\nstruct bpf_uprobe {\n\tstruct bpf_uprobe_multi_link *link;\n\tloff_t offset;\n\tlong unsigned int ref_ctr_offset;\n\tu64 cookie;\n\tstruct uprobe *uprobe;\n\tstruct uprobe_consumer consumer;\n\tbool session;\n};\n\nstruct bpf_uprobe_multi_link {\n\tstruct path path;\n\tstruct bpf_link link;\n\tu32 cnt;\n\tu32 flags;\n\tstruct bpf_uprobe *uprobes;\n\tstruct task_struct *task;\n};\n\nstruct bpf_uprobe_multi_run_ctx {\n\tstruct bpf_session_run_ctx session_ctx;\n\tlong unsigned int entry_ip;\n\tstruct bpf_uprobe *uprobe;\n};\n\nstruct btf_mod_pair {\n\tstruct btf *btf;\n\tstruct module *module;\n};\n\nstruct bpf_verifier_log {\n\tu64 start_pos;\n\tu64 end_pos;\n\tchar *ubuf;\n\tu32 level;\n\tu32 len_total;\n\tu32 len_max;\n\tchar kbuf[1024];\n};\n\nstruct bpf_verifier_stack_elem;\n\nstruct bpf_verifier_state;\n\nstruct bpf_verifier_state_list;\n\nstruct bpf_verifier_env {\n\tu32 insn_idx;\n\tu32 prev_insn_idx;\n\tstruct bpf_prog *prog;\n\tconst struct bpf_verifier_ops *ops;\n\tstruct module *attach_btf_mod;\n\tstruct bpf_verifier_stack_elem *head;\n\tint stack_size;\n\tbool strict_alignment;\n\tbool test_state_freq;\n\tbool test_reg_invariants;\n\tstruct bpf_verifier_state *cur_state;\n\tstruct bpf_verifier_state_list **explored_states;\n\tstruct bpf_verifier_state_list *free_list;\n\tstruct bpf_map *used_maps[64];\n\tstruct btf_mod_pair used_btfs[64];\n\tu32 used_map_cnt;\n\tu32 used_btf_cnt;\n\tu32 id_gen;\n\tu32 hidden_subprog_cnt;\n\tint exception_callback_subprog;\n\tbool explore_alu_limits;\n\tbool allow_ptr_leaks;\n\tbool allow_uninit_stack;\n\tbool bpf_capable;\n\tbool bypass_spec_v1;\n\tbool bypass_spec_v4;\n\tbool seen_direct_write;\n\tbool seen_exception;\n\tstruct bpf_insn_aux_data *insn_aux_data;\n\tconst struct bpf_line_info *prev_linfo;\n\tstruct bpf_verifier_log log;\n\tstruct bpf_subprog_info subprog_info[258];\n\tunion {\n\t\tstruct bpf_idmap idmap_scratch;\n\t\tstruct bpf_idset idset_scratch;\n\t};\n\tstruct {\n\t\tint *insn_state;\n\t\tint *insn_stack;\n\t\tint cur_stack;\n\t} cfg;\n\tstruct backtrack_state bt;\n\tstruct bpf_insn_hist_entry *insn_hist;\n\tstruct bpf_insn_hist_entry *cur_hist_ent;\n\tu32 insn_hist_cap;\n\tu32 pass_cnt;\n\tu32 subprog_cnt;\n\tu32 prev_insn_processed;\n\tu32 insn_processed;\n\tu32 prev_jmps_processed;\n\tu32 jmps_processed;\n\tu64 verification_time;\n\tu32 max_states_per_insn;\n\tu32 total_states;\n\tu32 peak_states;\n\tu32 longest_mark_read_walk;\n\tbpfptr_t fd_array;\n\tu32 scratched_regs;\n\tu64 scratched_stack_slots;\n\tu64 prev_log_pos;\n\tu64 prev_insn_print_pos;\n\tstruct bpf_reg_state fake_reg[2];\n\tchar tmp_str_buf[320];\n\tstruct bpf_insn insn_buf[32];\n\tstruct bpf_insn epilogue_buf[32];\n};\n\nstruct bpf_verifier_ops {\n\tconst struct bpf_func_proto * (*get_func_proto)(enum bpf_func_id, const struct bpf_prog *);\n\tbool (*is_valid_access)(int, int, enum bpf_access_type, const struct bpf_prog *, struct bpf_insn_access_aux *);\n\tint (*gen_prologue)(struct bpf_insn *, bool, const struct bpf_prog *);\n\tint (*gen_epilogue)(struct bpf_insn *, const struct bpf_prog *, s16);\n\tint (*gen_ld_abs)(const struct bpf_insn *, struct bpf_insn *);\n\tu32 (*convert_ctx_access)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *);\n\tint (*btf_struct_access)(struct bpf_verifier_log *, const struct bpf_reg_state *, int, int);\n};\n\nstruct bpf_verifier_state {\n\tstruct bpf_func_state *frame[8];\n\tstruct bpf_verifier_state *parent;\n\tstruct bpf_reference_state *refs;\n\tu32 branches;\n\tu32 insn_idx;\n\tu32 curframe;\n\tu32 acquired_refs;\n\tu32 active_locks;\n\tu32 active_preempt_locks;\n\tu32 active_irq_id;\n\tbool active_rcu_lock;\n\tbool speculative;\n\tbool used_as_loop_entry;\n\tbool in_sleepable;\n\tu32 first_insn_idx;\n\tu32 last_insn_idx;\n\tstruct bpf_verifier_state *loop_entry;\n\tu32 insn_hist_start;\n\tu32 insn_hist_end;\n\tu32 dfs_depth;\n\tu32 callback_unroll_depth;\n\tu32 may_goto_depth;\n};\n\nstruct bpf_verifier_stack_elem {\n\tstruct bpf_verifier_state st;\n\tint insn_idx;\n\tint prev_insn_idx;\n\tstruct bpf_verifier_stack_elem *next;\n\tu32 log_pos;\n};\n\nstruct bpf_verifier_state_list {\n\tstruct bpf_verifier_state state;\n\tstruct bpf_verifier_state_list *next;\n\tint miss_cnt;\n\tint hit_cnt;\n};\n\nstruct bpf_work {\n\tstruct bpf_async_cb cb;\n\tstruct work_struct work;\n\tstruct work_struct delete_work;\n};\n\nstruct bpf_wq {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_xdp_link;\n\nstruct bpf_xdp_entity {\n\tstruct bpf_prog *prog;\n\tstruct bpf_xdp_link *link;\n};\n\nstruct bpf_xdp_link {\n\tstruct bpf_link link;\n\tstruct net_device *dev;\n\tint flags;\n};\n\nstruct bpf_xdp_sock {\n\t__u32 queue_id;\n};\n\nstruct bpf_xfrm_state {\n\t__u32 reqid;\n\t__u32 spi;\n\t__u16 family;\n\t__u16 ext;\n\tunion {\n\t\t__u32 remote_ipv4;\n\t\t__u32 remote_ipv6[4];\n\t};\n};\n\nstruct bpf_xfrm_state_opts {\n\ts32 error;\n\ts32 netns_id;\n\tu32 mark;\n\txfrm_address_t daddr;\n\t__be32 spi;\n\tu8 proto;\n\tu16 family;\n};\n\nstruct bpffs_btf_enums {\n\tconst struct btf *btf;\n\tconst struct btf_type *cmd_t;\n\tconst struct btf_type *map_t;\n\tconst struct btf_type *prog_t;\n\tconst struct btf_type *attach_t;\n};\n\nstruct trace_entry {\n\tshort unsigned int type;\n\tunsigned char flags;\n\tunsigned char preempt_count;\n\tint pid;\n};\n\nstruct bprint_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tconst char *fmt;\n\tu32 buf[0];\n};\n\nstruct bpt {\n\tlong unsigned int address;\n\tu32 *instr;\n\tatomic_t ref_count;\n\tint enabled;\n\tlong unsigned int pad;\n};\n\nstruct bputs_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tconst char *str;\n};\n\nstruct br_input_skb_cb {\n\tstruct net_device *brdev;\n\tu16 frag_max_size;\n\tu8 igmp;\n\tu8 mrouters_only: 1;\n\tu8 proxyarp_replied: 1;\n\tu8 src_port_isolated: 1;\n\tu8 promisc: 1;\n\tu32 backup_nhid;\n};\n\nstruct br_ip {\n\tunion {\n\t\t__be32 ip4;\n\t\tstruct in6_addr ip6;\n\t} src;\n\tunion {\n\t\t__be32 ip4;\n\t\tstruct in6_addr ip6;\n\t\tunsigned char mac_addr[6];\n\t} dst;\n\t__be16 proto;\n\t__u16 vid;\n};\n\nstruct br_mcast_stats {\n\t__u64 igmp_v1queries[2];\n\t__u64 igmp_v2queries[2];\n\t__u64 igmp_v3queries[2];\n\t__u64 igmp_leaves[2];\n\t__u64 igmp_v1reports[2];\n\t__u64 igmp_v2reports[2];\n\t__u64 igmp_v3reports[2];\n\t__u64 igmp_parse_errors;\n\t__u64 mld_v1queries[2];\n\t__u64 mld_v2queries[2];\n\t__u64 mld_leaves[2];\n\t__u64 mld_v1reports[2];\n\t__u64 mld_v2reports[2];\n\t__u64 mld_parse_errors;\n\t__u64 mcast_bytes[2];\n\t__u64 mcast_packets[2];\n};\n\nstruct br_mdb_entry {\n\t__u32 ifindex;\n\t__u8 state;\n\t__u8 flags;\n\t__u16 vid;\n\tstruct {\n\t\tunion {\n\t\t\t__be32 ip4;\n\t\t\tstruct in6_addr ip6;\n\t\t\tunsigned char mac_addr[6];\n\t\t} u;\n\t\t__be16 proto;\n\t} addr;\n};\n\nstruct br_port_msg {\n\t__u8 family;\n\t__u32 ifindex;\n};\n\nstruct metadata_dst;\n\nstruct br_tunnel_info {\n\t__be64 tunnel_id;\n\tstruct metadata_dst *tunnel_dst;\n};\n\nstruct brd_device {\n\tint brd_number;\n\tstruct gendisk *brd_disk;\n\tstruct list_head brd_list;\n\tstruct xarray brd_pages;\n\tu64 brd_nr_pages;\n};\n\nstruct bridge_id {\n\tunsigned char prio[2];\n\tunsigned char addr[6];\n};\n\ntypedef struct bridge_id bridge_id;\n\nstruct bridge_mcast_other_query {\n\tstruct timer_list timer;\n\tstruct timer_list delay_timer;\n};\n\nstruct bridge_mcast_own_query {\n\tstruct timer_list timer;\n\tu32 startup_sent;\n};\n\nstruct bridge_mcast_querier {\n\tstruct br_ip addr;\n\tint port_ifidx;\n\tseqcount_spinlock_t seq;\n};\n\nstruct bridge_mcast_stats {\n\tstruct br_mcast_stats mstats;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct bridge_stp_xstats {\n\t__u64 transition_blk;\n\t__u64 transition_fwd;\n\t__u64 rx_bpdu;\n\t__u64 tx_bpdu;\n\t__u64 rx_tcn;\n\t__u64 tx_tcn;\n};\n\nstruct broadcast_sk {\n\tstruct sock *sk;\n\tstruct work_struct work;\n};\n\nstruct broken_edid {\n\tu8 manufacturer[4];\n\tu32 model;\n\tu32 fix;\n};\n\nstruct fs_pin {\n\twait_queue_head_t wait;\n\tint done;\n\tstruct hlist_node s_list;\n\tstruct hlist_node m_list;\n\tvoid (*kill)(struct fs_pin *);\n};\n\nstruct bsd_acct_struct {\n\tstruct fs_pin pin;\n\tatomic_long_t count;\n\tstruct callback_head rcu;\n\tstruct mutex lock;\n\tbool active;\n\tbool check_space;\n\tlong unsigned int needcheck;\n\tstruct file *file;\n\tstruct pid_namespace *ns;\n\tstruct work_struct work;\n\tstruct completion done;\n\tacct_t ac;\n};\n\nstruct bsg_buffer {\n\tunsigned int payload_len;\n\tint sg_cnt;\n\tstruct scatterlist *sg_list;\n};\n\nstruct cdev {\n\tstruct kobject kobj;\n\tstruct module *owner;\n\tconst struct file_operations *ops;\n\tstruct list_head list;\n\tdev_t dev;\n\tunsigned int count;\n};\n\nstruct sg_io_v4;\n\ntypedef int bsg_sg_io_fn(struct request_queue *, struct sg_io_v4 *, bool, unsigned int);\n\nstruct bsg_device {\n\tstruct request_queue *queue;\n\tstruct device device;\n\tstruct cdev cdev;\n\tint max_queue;\n\tunsigned int timeout;\n\tunsigned int reserved_size;\n\tbsg_sg_io_fn *sg_io_fn;\n};\n\nstruct bsg_job {\n\tstruct device *dev;\n\tstruct kref kref;\n\tunsigned int timeout;\n\tvoid *request;\n\tvoid *reply;\n\tunsigned int request_len;\n\tunsigned int reply_len;\n\tstruct bsg_buffer request_payload;\n\tstruct bsg_buffer reply_payload;\n\tint result;\n\tunsigned int reply_payload_rcv_len;\n\tstruct request *bidi_rq;\n\tstruct bio *bidi_bio;\n\tvoid *dd_data;\n};\n\ntypedef int bsg_job_fn(struct bsg_job *);\n\ntypedef enum blk_eh_timer_return bsg_timeout_fn(struct request *);\n\nstruct bsg_set {\n\tstruct blk_mq_tag_set tag_set;\n\tstruct bsg_device *bd;\n\tbsg_job_fn *job_fn;\n\tbsg_timeout_fn *timeout_fn;\n};\n\ntypedef bool busy_tag_iter_fn(struct request *, void *);\n\nstruct bt_iter_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct request_queue *q;\n\tbusy_tag_iter_fn *fn;\n\tvoid *data;\n\tbool reserved;\n};\n\nstruct bt_tags_iter_data {\n\tstruct blk_mq_tags *tags;\n\tbusy_tag_iter_fn *fn;\n\tvoid *data;\n\tunsigned int flags;\n};\n\nstruct btf_header {\n\t__u16 magic;\n\t__u8 version;\n\t__u8 flags;\n\t__u32 hdr_len;\n\t__u32 type_off;\n\t__u32 type_len;\n\t__u32 str_off;\n\t__u32 str_len;\n};\n\nstruct btf_kfunc_set_tab;\n\nstruct btf_id_dtor_kfunc_tab;\n\nstruct btf_struct_metas;\n\nstruct btf_struct_ops_tab;\n\nstruct btf {\n\tvoid *data;\n\tstruct btf_type **types;\n\tu32 *resolved_ids;\n\tu32 *resolved_sizes;\n\tconst char *strings;\n\tvoid *nohdr_data;\n\tstruct btf_header hdr;\n\tu32 nr_types;\n\tu32 types_size;\n\tu32 data_size;\n\trefcount_t refcnt;\n\tu32 id;\n\tstruct callback_head rcu;\n\tstruct btf_kfunc_set_tab *kfunc_set_tab;\n\tstruct btf_id_dtor_kfunc_tab *dtor_kfunc_tab;\n\tstruct btf_struct_metas *struct_meta_tab;\n\tstruct btf_struct_ops_tab *struct_ops_tab;\n\tstruct btf *base_btf;\n\tu32 start_id;\n\tu32 start_str_off;\n\tchar name[56];\n\tbool kernel_btf;\n\t__u32 *base_id_map;\n};\n\nstruct btf_anon_stack {\n\tu32 tid;\n\tu32 offset;\n};\n\nstruct btf_array {\n\t__u32 type;\n\t__u32 index_type;\n\t__u32 nelems;\n};\n\nstruct btf_decl_tag {\n\t__s32 component_idx;\n};\n\nstruct btf_enum {\n\t__u32 name_off;\n\t__s32 val;\n};\n\nstruct btf_enum64 {\n\t__u32 name_off;\n\t__u32 val_lo32;\n\t__u32 val_hi32;\n};\n\ntypedef void (*btf_dtor_kfunc_t)(void *);\n\nstruct btf_field_kptr {\n\tstruct btf *btf;\n\tstruct module *module;\n\tbtf_dtor_kfunc_t dtor;\n\tu32 btf_id;\n};\n\nstruct btf_field_graph_root {\n\tstruct btf *btf;\n\tu32 value_btf_id;\n\tu32 node_offset;\n\tstruct btf_record *value_rec;\n};\n\nstruct btf_field {\n\tu32 offset;\n\tu32 size;\n\tenum btf_field_type type;\n\tunion {\n\t\tstruct btf_field_kptr kptr;\n\t\tstruct btf_field_graph_root graph_root;\n\t};\n};\n\nstruct btf_field_desc {\n\tint t_off_cnt;\n\tint t_offs[2];\n\tint m_sz;\n\tint m_off_cnt;\n\tint m_offs[1];\n};\n\nstruct btf_field_info {\n\tenum btf_field_type type;\n\tu32 off;\n\tunion {\n\t\tstruct {\n\t\t\tu32 type_id;\n\t\t} kptr;\n\t\tstruct {\n\t\t\tconst char *node_name;\n\t\t\tu32 value_btf_id;\n\t\t} graph_root;\n\t};\n};\n\nstruct btf_field_iter {\n\tstruct btf_field_desc desc;\n\tvoid *p;\n\tint m_idx;\n\tint off_idx;\n\tint vlen;\n};\n\nstruct btf_id_dtor_kfunc {\n\tu32 btf_id;\n\tu32 kfunc_btf_id;\n};\n\nstruct btf_id_dtor_kfunc_tab {\n\tu32 cnt;\n\tstruct btf_id_dtor_kfunc dtors[0];\n};\n\nstruct btf_id_set {\n\tu32 cnt;\n\tu32 ids[0];\n};\n\nstruct btf_id_set8 {\n\tu32 cnt;\n\tu32 flags;\n\tstruct {\n\t\tu32 id;\n\t\tu32 flags;\n\t} pairs[0];\n};\n\ntypedef int (*btf_kfunc_filter_t)(const struct bpf_prog *, u32);\n\nstruct btf_kfunc_hook_filter {\n\tbtf_kfunc_filter_t filters[16];\n\tu32 nr_filters;\n};\n\nstruct btf_kfunc_id_set {\n\tstruct module *owner;\n\tstruct btf_id_set8 *set;\n\tbtf_kfunc_filter_t filter;\n};\n\nstruct btf_kfunc_set_tab {\n\tstruct btf_id_set8 *sets[14];\n\tstruct btf_kfunc_hook_filter hook_filters[14];\n};\n\nstruct btf_verifier_env;\n\nstruct resolve_vertex;\n\nstruct btf_show;\n\nstruct btf_kind_operations {\n\ts32 (*check_meta)(struct btf_verifier_env *, const struct btf_type *, u32);\n\tint (*resolve)(struct btf_verifier_env *, const struct resolve_vertex *);\n\tint (*check_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *);\n\tint (*check_kflag_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *);\n\tvoid (*log_details)(struct btf_verifier_env *, const struct btf_type *);\n\tvoid (*show)(const struct btf *, const struct btf_type *, u32, void *, u8, struct btf_show *);\n};\n\nstruct btf_member {\n\t__u32 name_off;\n\t__u32 type;\n\t__u32 offset;\n};\n\nstruct btf_module {\n\tstruct list_head list;\n\tstruct module *module;\n\tstruct btf *btf;\n\tstruct bin_attribute *sysfs_attr;\n\tint flags;\n};\n\nstruct btf_name_info {\n\tconst char *name;\n\tbool needs_size: 1;\n\tunsigned int size: 31;\n\t__u32 id;\n};\n\nstruct btf_param {\n\t__u32 name_off;\n\t__u32 type;\n};\n\nstruct btf_ptr {\n\tvoid *ptr;\n\t__u32 type_id;\n\t__u32 flags;\n};\n\nstruct btf_record {\n\tu32 cnt;\n\tu32 field_mask;\n\tint spin_lock_off;\n\tint timer_off;\n\tint wq_off;\n\tint refcount_off;\n\tstruct btf_field fields[0];\n};\n\nstruct btf_relocate {\n\tstruct btf *btf;\n\tconst struct btf *base_btf;\n\tconst struct btf *dist_base_btf;\n\tunsigned int nr_base_types;\n\tunsigned int nr_split_types;\n\tunsigned int nr_dist_base_types;\n\tint dist_str_len;\n\tint base_str_len;\n\t__u32 *id_map;\n\t__u32 *str_map;\n};\n\nstruct btf_sec_info {\n\tu32 off;\n\tu32 len;\n};\n\nstruct btf_show {\n\tu64 flags;\n\tvoid *target;\n\tvoid (*showfn)(struct btf_show *, const char *, va_list);\n\tconst struct btf *btf;\n\tstruct {\n\t\tu8 depth;\n\t\tu8 depth_to_show;\n\t\tu8 depth_check;\n\t\tu8 array_member: 1;\n\t\tu8 array_terminated: 1;\n\t\tu16 array_encoding;\n\t\tu32 type_id;\n\t\tint status;\n\t\tconst struct btf_type *type;\n\t\tconst struct btf_member *member;\n\t\tchar name[80];\n\t} state;\n\tstruct {\n\t\tu32 size;\n\t\tvoid *head;\n\t\tvoid *data;\n\t\tu8 safe[32];\n\t} obj;\n};\n\nstruct btf_show_snprintf {\n\tstruct btf_show show;\n\tint len_left;\n\tint len;\n};\n\nstruct btf_struct_meta {\n\tu32 btf_id;\n\tstruct btf_record *record;\n};\n\nstruct btf_struct_metas {\n\tu32 cnt;\n\tstruct btf_struct_meta types[0];\n};\n\nstruct btf_struct_ops_tab {\n\tu32 cnt;\n\tu32 capacity;\n\tstruct bpf_struct_ops_desc ops[0];\n};\n\nstruct btf_type {\n\t__u32 name_off;\n\t__u32 info;\n\tunion {\n\t\t__u32 size;\n\t\t__u32 type;\n\t};\n};\n\nstruct btf_var {\n\t__u32 linkage;\n};\n\nstruct btf_var_secinfo {\n\t__u32 type;\n\t__u32 offset;\n\t__u32 size;\n};\n\nstruct resolve_vertex {\n\tconst struct btf_type *t;\n\tu32 type_id;\n\tu16 next_member;\n};\n\nstruct btf_verifier_env {\n\tstruct btf *btf;\n\tu8 *visit_states;\n\tstruct resolve_vertex stack[32];\n\tstruct bpf_verifier_log log;\n\tu32 log_type_id;\n\tu32 top_stack;\n\tenum verifier_phase phase;\n\tenum resolve_mode resolve_mode;\n};\n\nstruct btree_geo {\n\tint keylen;\n\tint no_pairs;\n\tint no_longs;\n};\n\nstruct btree_head {\n\tlong unsigned int *node;\n\tmempool_t *mempool;\n\tint height;\n};\n\nstruct nd_region;\n\nstruct btt {\n\tstruct gendisk *btt_disk;\n\tstruct list_head arena_list;\n\tstruct dentry *debugfs_dir;\n\tstruct nd_btt *nd_btt;\n\tu64 nlba;\n\tlong long unsigned int rawsize;\n\tu32 lbasize;\n\tu32 sector_size;\n\tstruct nd_region *nd_region;\n\tstruct mutex init_lock;\n\tint init_state;\n\tint num_arenas;\n\tstruct badblocks *phys_bb;\n};\n\nstruct btt_sb {\n\tu8 signature[16];\n\tu8 uuid[16];\n\tu8 parent_uuid[16];\n\t__le32 flags;\n\t__le16 version_major;\n\t__le16 version_minor;\n\t__le32 external_lbasize;\n\t__le32 external_nlba;\n\t__le32 internal_lbasize;\n\t__le32 internal_nlba;\n\t__le32 nfree;\n\t__le32 infosize;\n\t__le64 nextoff;\n\t__le64 dataoff;\n\t__le64 mapoff;\n\t__le64 logoff;\n\t__le64 info2off;\n\tu8 padding[3968];\n\t__le64 checksum;\n};\n\nstruct hlist_nulls_head {\n\tstruct hlist_nulls_node *first;\n};\n\nstruct bucket {\n\tstruct hlist_nulls_head head;\n\traw_spinlock_t raw_lock;\n};\n\nstruct lockdep_map {};\n\nstruct rhash_lock_head;\n\nstruct bucket_table {\n\tunsigned int size;\n\tunsigned int nest;\n\tu32 hash_rnd;\n\tstruct list_head walkers;\n\tstruct callback_head rcu;\n\tstruct bucket_table *future_tbl;\n\tstruct lockdep_map dep_map;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct rhash_lock_head *buckets[0];\n};\n\nstruct buf_sel_arg {\n\tstruct iovec *iovs;\n\tsize_t out_len;\n\tsize_t max_len;\n\tshort unsigned int nr_iovs;\n\tshort unsigned int mode;\n};\n\nstruct buffer_data_page {\n\tu64 time_stamp;\n\tlocal_t commit;\n\tunsigned char data[0];\n};\n\nstruct buffer_data_read_page {\n\tunsigned int order;\n\tstruct buffer_data_page *data;\n};\n\ntypedef void bh_end_io_t(struct buffer_head *, int);\n\nstruct buffer_head {\n\tlong unsigned int b_state;\n\tstruct buffer_head *b_this_page;\n\tunion {\n\t\tstruct page *b_page;\n\t\tstruct folio *b_folio;\n\t};\n\tsector_t b_blocknr;\n\tsize_t b_size;\n\tchar *b_data;\n\tstruct block_device *b_bdev;\n\tbh_end_io_t *b_end_io;\n\tvoid *b_private;\n\tstruct list_head b_assoc_buffers;\n\tstruct address_space *b_assoc_map;\n\tatomic_t b_count;\n\tspinlock_t b_uptodate_lock;\n};\n\nstruct buffer_page {\n\tstruct list_head list;\n\tlocal_t write;\n\tunsigned int read;\n\tlocal_t entries;\n\tlong unsigned int real_end;\n\tunsigned int order;\n\tu32 id: 30;\n\tu32 range: 1;\n\tstruct buffer_data_page *page;\n};\n\nstruct buffer_ref {\n\tstruct trace_buffer *buffer;\n\tvoid *page;\n\tint cpu;\n\trefcount_t refcount;\n};\n\nstruct bug_entry {\n\tint bug_addr_disp;\n\tint file_disp;\n\tshort unsigned int line;\n\tshort unsigned int flags;\n};\n\nstruct builtin_fw {\n\tchar *name;\n\tvoid *data;\n\tlong unsigned int size;\n};\n\nstruct group_data {\n\tint limit[21];\n\tint base[20];\n\tint permute[258];\n\tint minLen;\n\tint maxLen;\n};\n\nstruct bunzip_data {\n\tint writeCopies;\n\tint writePos;\n\tint writeRunCountdown;\n\tint writeCount;\n\tint writeCurrent;\n\tlong int (*fill)(void *, long unsigned int);\n\tlong int inbufCount;\n\tlong int inbufPos;\n\tunsigned char *inbuf;\n\tunsigned int inbufBitCount;\n\tunsigned int inbufBits;\n\tunsigned int crc32Table[256];\n\tunsigned int headerCRC;\n\tunsigned int totalCRC;\n\tunsigned int writeCRC;\n\tunsigned int *dbuf;\n\tunsigned int dbufSize;\n\tunsigned char selectors[32768];\n\tstruct group_data groups[6];\n\tint io_error;\n\tint byteCount[256];\n\tunsigned char symToByte[256];\n\tunsigned char mtfSymbol[256];\n};\n\nstruct bus_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct bus_type *, char *);\n\tssize_t (*store)(const struct bus_type *, const char *, size_t);\n};\n\nstruct bus_dma_region {\n\tphys_addr_t cpu_start;\n\tdma_addr_t dma_start;\n\tu64 size;\n};\n\nstruct bus_type {\n\tconst char *name;\n\tconst char *dev_name;\n\tconst struct attribute_group **bus_groups;\n\tconst struct attribute_group **dev_groups;\n\tconst struct attribute_group **drv_groups;\n\tint (*match)(struct device *, const struct device_driver *);\n\tint (*uevent)(const struct device *, struct kobj_uevent_env *);\n\tint (*probe)(struct device *);\n\tvoid (*sync_state)(struct device *);\n\tvoid (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tconst struct cpumask * (*irq_get_affinity)(struct device *, unsigned int);\n\tint (*online)(struct device *);\n\tint (*offline)(struct device *);\n\tint (*suspend)(struct device *, pm_message_t);\n\tint (*resume)(struct device *);\n\tint (*num_vf)(struct device *);\n\tint (*dma_configure)(struct device *);\n\tvoid (*dma_cleanup)(struct device *);\n\tconst struct dev_pm_ops *pm;\n\tbool need_parent_lock;\n};\n\nstruct bvec_iter_all {\n\tstruct bio_vec bv;\n\tint idx;\n\tunsigned int done;\n};\n\nstruct byd_data {\n\tstruct timer_list timer;\n\tstruct psmouse *psmouse;\n\ts32 abs_x;\n\ts32 abs_y;\n\tvolatile long unsigned int last_touch_time;\n\tbool btn_left;\n\tbool btn_right;\n\tbool touch;\n};\n\nstruct cache {\n\tstruct device_node *ofnode;\n\tstruct cpumask shared_cpu_map;\n\tint type;\n\tint level;\n\tint group_id;\n\tstruct list_head list;\n\tstruct cache *next_local;\n};\n\nstruct cache_head;\n\nstruct cache_deferred_req {\n\tstruct hlist_node hash;\n\tstruct list_head recent;\n\tstruct cache_head *item;\n\tvoid *owner;\n\tvoid (*revisit)(struct cache_deferred_req *, int);\n};\n\nstruct proc_dir_entry;\n\nstruct cache_detail {\n\tstruct module *owner;\n\tint hash_size;\n\tstruct hlist_head *hash_table;\n\tspinlock_t hash_lock;\n\tchar *name;\n\tvoid (*cache_put)(struct kref *);\n\tint (*cache_upcall)(struct cache_detail *, struct cache_head *);\n\tvoid (*cache_request)(struct cache_detail *, struct cache_head *, char **, int *);\n\tint (*cache_parse)(struct cache_detail *, char *, int);\n\tint (*cache_show)(struct seq_file *, struct cache_detail *, struct cache_head *);\n\tvoid (*warn_no_listener)(struct cache_detail *, int);\n\tstruct cache_head * (*alloc)(void);\n\tvoid (*flush)(void);\n\tint (*match)(struct cache_head *, struct cache_head *);\n\tvoid (*init)(struct cache_head *, struct cache_head *);\n\tvoid (*update)(struct cache_head *, struct cache_head *);\n\ttime64_t flush_time;\n\tstruct list_head others;\n\ttime64_t nextcheck;\n\tint entries;\n\tstruct list_head queue;\n\tatomic_t writers;\n\ttime64_t last_close;\n\ttime64_t last_warn;\n\tunion {\n\t\tstruct proc_dir_entry *procfs;\n\t\tstruct dentry *pipefs;\n\t};\n\tstruct net *net;\n};\n\nstruct cache_index_dir;\n\nstruct cache_dir {\n\tstruct kobject *kobj;\n\tstruct cache_index_dir *index;\n};\n\nstruct cache_head {\n\tstruct hlist_node cache_list;\n\ttime64_t expiry_time;\n\ttime64_t last_refresh;\n\tstruct kref ref;\n\tlong unsigned int flags;\n};\n\nstruct cache_index_dir {\n\tstruct kobject kobj;\n\tstruct cache_index_dir *next;\n\tstruct cache *cache;\n};\n\nstruct cache_queue {\n\tstruct list_head list;\n\tint reader;\n};\n\nstruct cache_reader {\n\tstruct cache_queue q;\n\tint offset;\n};\n\nstruct cache_req {\n\tstruct cache_deferred_req * (*defer)(struct cache_req *);\n\tlong unsigned int thread_wait;\n};\n\nstruct cache_request {\n\tstruct cache_queue q;\n\tstruct cache_head *item;\n\tchar *buf;\n\tint len;\n\tint readers;\n};\n\nstruct cache_type_info {\n\tconst char *name;\n\tconst char *size_prop;\n\tconst char *line_size_props[2];\n\tconst char *nr_sets_prop;\n};\n\nstruct cache_type_info___2 {\n\tconst char *size_prop;\n\tconst char *line_size_props[2];\n\tconst char *nr_sets_prop;\n};\n\nstruct cacheinfo {\n\tunsigned int id;\n\tenum cache_type type;\n\tunsigned int level;\n\tunsigned int coherency_line_size;\n\tunsigned int number_of_sets;\n\tunsigned int ways_of_associativity;\n\tunsigned int physical_line_partition;\n\tunsigned int size;\n\tcpumask_t shared_cpu_map;\n\tunsigned int attributes;\n\tvoid *fw_token;\n\tbool disable_sysfs;\n\tvoid *priv;\n};\n\nstruct cacheline_padding {\n\tchar x[0];\n};\n\nstruct cachestat {\n\t__u64 nr_cache;\n\t__u64 nr_dirty;\n\t__u64 nr_writeback;\n\t__u64 nr_evicted;\n\t__u64 nr_recently_evicted;\n};\n\nstruct cachestat_range {\n\t__u64 off;\n\t__u64 len;\n};\n\nstruct call_function_data {\n\tcall_single_data_t *csd;\n\tcpumask_var_t cpumask;\n\tcpumask_var_t cpumask_ipi;\n};\n\nstruct cb_process_state;\n\nstruct xdr_stream;\n\nstruct callback_op {\n\t__be32 (*process_op)(void *, void *, struct cb_process_state *);\n\t__be32 (*decode_args)(struct svc_rqst *, struct xdr_stream *, void *);\n\t__be32 (*encode_res)(struct svc_rqst *, struct xdr_stream *, const void *);\n\tlong int res_maxsize;\n};\n\nstruct callchain_cpus_entries {\n\tstruct callback_head callback_head;\n\tstruct perf_callchain_entry *cpu_entries[0];\n};\n\nstruct mad_capability_common {\n\t__be32 cap_type;\n\t__be16 length;\n\t__be16 server_support;\n};\n\nstruct mad_migration_cap {\n\tstruct mad_capability_common common;\n\t__be32 ecl;\n};\n\nstruct mad_reserve_cap {\n\tstruct mad_capability_common common;\n\t__be32 type;\n};\n\nstruct capabilities {\n\t__be32 flags;\n\tchar name[32];\n\tchar loc[32];\n\tstruct mad_migration_cap migration;\n\tstruct mad_reserve_cap reserve;\n};\n\nstruct compact_control;\n\nstruct capture_control {\n\tstruct compact_control *cc;\n\tstruct page *page;\n};\n\nstruct cardinfo {\n\tint refclk_ps;\n\tconst char *cardname;\n};\n\nstruct cat_datum {\n\tu32 value;\n\tunsigned char isalias;\n};\n\nstruct config {\n\tu8 byte_count: 6;\n\tu8 pad0: 2;\n\tu8 rx_fifo_limit: 4;\n\tu8 tx_fifo_limit: 3;\n\tu8 pad1: 1;\n\tu8 adaptive_ifs;\n\tu8 mwi_enable: 1;\n\tu8 type_enable: 1;\n\tu8 read_align_enable: 1;\n\tu8 term_write_cache_line: 1;\n\tu8 pad3: 4;\n\tu8 rx_dma_max_count: 7;\n\tu8 pad4: 1;\n\tu8 tx_dma_max_count: 7;\n\tu8 dma_max_count_enable: 1;\n\tu8 late_scb_update: 1;\n\tu8 direct_rx_dma: 1;\n\tu8 tno_intr: 1;\n\tu8 cna_intr: 1;\n\tu8 standard_tcb: 1;\n\tu8 standard_stat_counter: 1;\n\tu8 rx_save_overruns: 1;\n\tu8 rx_save_bad_frames: 1;\n\tu8 rx_discard_short_frames: 1;\n\tu8 tx_underrun_retry: 2;\n\tu8 pad7: 2;\n\tu8 rx_extended_rfd: 1;\n\tu8 tx_two_frames_in_fifo: 1;\n\tu8 tx_dynamic_tbd: 1;\n\tu8 mii_mode: 1;\n\tu8 pad8: 6;\n\tu8 csma_disabled: 1;\n\tu8 rx_tcpudp_checksum: 1;\n\tu8 pad9: 3;\n\tu8 vlan_arp_tco: 1;\n\tu8 link_status_wake: 1;\n\tu8 arp_wake: 1;\n\tu8 mcmatch_wake: 1;\n\tu8 pad10: 3;\n\tu8 no_source_addr_insertion: 1;\n\tu8 preamble_length: 2;\n\tu8 loopback: 2;\n\tu8 linear_priority: 3;\n\tu8 pad11: 5;\n\tu8 linear_priority_mode: 1;\n\tu8 pad12: 3;\n\tu8 ifs: 4;\n\tu8 ip_addr_lo;\n\tu8 ip_addr_hi;\n\tu8 promiscuous_mode: 1;\n\tu8 broadcast_disabled: 1;\n\tu8 wait_after_win: 1;\n\tu8 pad15_1: 1;\n\tu8 ignore_ul_bit: 1;\n\tu8 crc_16_bit: 1;\n\tu8 pad15_2: 1;\n\tu8 crs_or_cdt: 1;\n\tu8 fc_delay_lo;\n\tu8 fc_delay_hi;\n\tu8 rx_stripping: 1;\n\tu8 tx_padding: 1;\n\tu8 rx_crc_transfer: 1;\n\tu8 rx_long_ok: 1;\n\tu8 fc_priority_threshold: 3;\n\tu8 pad18: 1;\n\tu8 addr_wake: 1;\n\tu8 magic_packet_disable: 1;\n\tu8 fc_disable: 1;\n\tu8 fc_restop: 1;\n\tu8 fc_restart: 1;\n\tu8 fc_reject: 1;\n\tu8 full_duplex_force: 1;\n\tu8 full_duplex_pin: 1;\n\tu8 pad20_1: 5;\n\tu8 fc_priority_location: 1;\n\tu8 multi_ia: 1;\n\tu8 pad20_2: 1;\n\tu8 pad21_1: 3;\n\tu8 multicast_all: 1;\n\tu8 pad21_2: 4;\n\tu8 rx_d102_mode: 1;\n\tu8 rx_vlan_drop: 1;\n\tu8 pad22: 6;\n\tu8 pad_d102[9];\n};\n\nstruct multi {\n\t__le16 count;\n\tu8 addr[386];\n};\n\nstruct cb {\n\t__le16 status;\n\t__le16 command;\n\t__le32 link;\n\tunion {\n\t\tu8 iaaddr[6];\n\t\t__le32 ucode[134];\n\t\tstruct config config;\n\t\tstruct multi multi;\n\t\tstruct {\n\t\t\tu32 tbd_array;\n\t\t\tu16 tcb_byte_count;\n\t\t\tu8 threshold;\n\t\t\tu8 tbd_count;\n\t\t\tstruct {\n\t\t\t\t__le32 buf_addr;\n\t\t\t\t__le16 size;\n\t\t\t\tu16 eol;\n\t\t\t} tbd;\n\t\t} tcb;\n\t\t__le32 dump_buffer_addr;\n\t} u;\n\tstruct cb *next;\n\tstruct cb *prev;\n\tdma_addr_t dma_addr;\n\tstruct sk_buff *skb;\n};\n\nstruct cb_compound_hdr_arg {\n\tunsigned int taglen;\n\tconst char *tag;\n\tunsigned int minorversion;\n\tunsigned int cb_ident;\n\tunsigned int nops;\n};\n\nstruct cb_compound_hdr_res {\n\t__be32 *status;\n\tunsigned int taglen;\n\tconst char *tag;\n\t__be32 *nops;\n};\n\nstruct nfs_fh {\n\tshort unsigned int size;\n\tunsigned char data[128];\n};\n\nstruct cb_getattrargs {\n\tstruct nfs_fh fh;\n\tuint32_t bitmap[3];\n};\n\nstruct cb_getattrres {\n\t__be32 status;\n\tuint32_t bitmap[3];\n\tuint64_t size;\n\tuint64_t change_attr;\n\tstruct timespec64 atime;\n\tstruct timespec64 ctime;\n\tstruct timespec64 mtime;\n};\n\nstruct nfs_client;\n\nstruct nfs4_slot;\n\nstruct cb_process_state {\n\tstruct nfs_client *clp;\n\tstruct nfs4_slot *slot;\n\tstruct net *net;\n\tu32 minorversion;\n\t__be32 drc_status;\n\tunsigned int referring_calls;\n};\n\nstruct nfs4_stateid_struct {\n\tunion {\n\t\tchar data[16];\n\t\tstruct {\n\t\t\t__be32 seqid;\n\t\t\tchar other[12];\n\t\t};\n\t};\n\tenum {\n\t\tNFS4_INVALID_STATEID_TYPE = 0,\n\t\tNFS4_SPECIAL_STATEID_TYPE = 1,\n\t\tNFS4_OPEN_STATEID_TYPE = 2,\n\t\tNFS4_LOCK_STATEID_TYPE = 3,\n\t\tNFS4_DELEGATION_STATEID_TYPE = 4,\n\t\tNFS4_LAYOUT_STATEID_TYPE = 5,\n\t\tNFS4_PNFS_DS_STATEID_TYPE = 6,\n\t\tNFS4_REVOKED_STATEID_TYPE = 7,\n\t} type;\n};\n\ntypedef struct nfs4_stateid_struct nfs4_stateid;\n\nstruct cb_recallargs {\n\tstruct nfs_fh fh;\n\tnfs4_stateid stateid;\n\tuint32_t truncate;\n};\n\nstruct cc_workarea {\n\t__be32 drc_index;\n\t__be32 zero;\n\t__be32 name_offset;\n\t__be32 prop_length;\n\t__be32 prop_offset;\n};\n\nstruct ccs_modesel_head {\n\t__u8 _r1;\n\t__u8 medium;\n\t__u8 _r2;\n\t__u8 block_desc_length;\n\t__u8 density;\n\t__u8 number_blocks_hi;\n\t__u8 number_blocks_med;\n\t__u8 number_blocks_lo;\n\t__u8 _r3;\n\t__u8 block_length_hi;\n\t__u8 block_length_med;\n\t__u8 block_length_lo;\n};\n\nstruct cdrom_msf0 {\n\t__u8 minute;\n\t__u8 second;\n\t__u8 frame;\n};\n\nunion cdrom_addr {\n\tstruct cdrom_msf0 msf;\n\tint lba;\n};\n\nstruct cdrom_blk {\n\tunsigned int from;\n\tshort unsigned int len;\n};\n\nstruct cdrom_mechstat_header {\n\t__u8 curslot: 5;\n\t__u8 changer_state: 2;\n\t__u8 fault: 1;\n\t__u8 reserved1: 4;\n\t__u8 door_open: 1;\n\t__u8 mech_state: 3;\n\t__u8 curlba[3];\n\t__u8 nslots;\n\t__u16 slot_tablelen;\n};\n\nstruct cdrom_slot {\n\t__u8 change: 1;\n\t__u8 reserved1: 6;\n\t__u8 disc_present: 1;\n\t__u8 reserved2[3];\n};\n\nstruct cdrom_changer_info {\n\tstruct cdrom_mechstat_header hdr;\n\tstruct cdrom_slot slots[256];\n};\n\nstruct cdrom_device_ops;\n\nstruct cdrom_device_info {\n\tconst struct cdrom_device_ops *ops;\n\tstruct list_head list;\n\tstruct gendisk *disk;\n\tvoid *handle;\n\tint mask;\n\tint speed;\n\tint capacity;\n\tunsigned int options: 30;\n\tunsigned int mc_flags: 2;\n\tunsigned int vfs_events;\n\tunsigned int ioctl_events;\n\tint use_count;\n\tchar name[20];\n\t__u8 sanyo_slot: 2;\n\t__u8 keeplocked: 1;\n\t__u8 reserved: 5;\n\tint cdda_method;\n\t__u8 last_sense;\n\t__u8 media_written;\n\tshort unsigned int mmc3_profile;\n\tint (*exit)(struct cdrom_device_info *);\n\tint mrw_mode_page;\n\tbool opened_for_data;\n\t__s64 last_media_change_ms;\n};\n\nstruct cdrom_multisession;\n\nstruct cdrom_mcn;\n\nstruct packet_command;\n\nstruct cdrom_device_ops {\n\tint (*open)(struct cdrom_device_info *, int);\n\tvoid (*release)(struct cdrom_device_info *);\n\tint (*drive_status)(struct cdrom_device_info *, int);\n\tunsigned int (*check_events)(struct cdrom_device_info *, unsigned int, int);\n\tint (*tray_move)(struct cdrom_device_info *, int);\n\tint (*lock_door)(struct cdrom_device_info *, int);\n\tint (*select_speed)(struct cdrom_device_info *, long unsigned int);\n\tint (*get_last_session)(struct cdrom_device_info *, struct cdrom_multisession *);\n\tint (*get_mcn)(struct cdrom_device_info *, struct cdrom_mcn *);\n\tint (*reset)(struct cdrom_device_info *);\n\tint (*audio_ioctl)(struct cdrom_device_info *, unsigned int, void *);\n\tint (*generic_packet)(struct cdrom_device_info *, struct packet_command *);\n\tint (*read_cdda_bpc)(struct cdrom_device_info *, void *, u32, u32, u8 *);\n\tconst int capability;\n};\n\nstruct request_sense;\n\nstruct cdrom_generic_command {\n\tunsigned char cmd[12];\n\tunsigned char *buffer;\n\tunsigned int buflen;\n\tint stat;\n\tstruct request_sense *sense;\n\tunsigned char data_direction;\n\tint quiet;\n\tint timeout;\n\tunion {\n\t\tvoid *reserved[1];\n\t\tvoid *unused;\n\t};\n};\n\nstruct cdrom_mcn {\n\t__u8 medium_catalog_number[14];\n};\n\nstruct cdrom_msf {\n\t__u8 cdmsf_min0;\n\t__u8 cdmsf_sec0;\n\t__u8 cdmsf_frame0;\n\t__u8 cdmsf_min1;\n\t__u8 cdmsf_sec1;\n\t__u8 cdmsf_frame1;\n};\n\nstruct cdrom_multisession {\n\tunion cdrom_addr addr;\n\t__u8 xa_flag;\n\t__u8 addr_format;\n};\n\nstruct cdrom_read_audio {\n\tunion cdrom_addr addr;\n\t__u8 addr_format;\n\tint nframes;\n\t__u8 *buf;\n};\n\nstruct cdrom_subchnl {\n\t__u8 cdsc_format;\n\t__u8 cdsc_audiostatus;\n\t__u8 cdsc_adr: 4;\n\t__u8 cdsc_ctrl: 4;\n\t__u8 cdsc_trk;\n\t__u8 cdsc_ind;\n\tunion cdrom_addr cdsc_absaddr;\n\tunion cdrom_addr cdsc_reladdr;\n};\n\nstruct cdrom_sysctl_settings {\n\tchar info[1000];\n\tint autoclose;\n\tint autoeject;\n\tint debug;\n\tint lock;\n\tint check;\n};\n\nstruct cdrom_ti {\n\t__u8 cdti_trk0;\n\t__u8 cdti_ind0;\n\t__u8 cdti_trk1;\n\t__u8 cdti_ind1;\n};\n\nstruct cdrom_timed_media_change_info {\n\t__s64 last_media_change;\n\t__u64 media_flags;\n};\n\nstruct cdrom_tocentry {\n\t__u8 cdte_track;\n\t__u8 cdte_adr: 4;\n\t__u8 cdte_ctrl: 4;\n\t__u8 cdte_format;\n\tunion cdrom_addr cdte_addr;\n\t__u8 cdte_datamode;\n};\n\nstruct cdrom_tochdr {\n\t__u8 cdth_trk0;\n\t__u8 cdth_trk1;\n};\n\nstruct cdrom_volctrl {\n\t__u8 channel0;\n\t__u8 channel1;\n\t__u8 channel2;\n\t__u8 channel3;\n};\n\nstruct clock_event_device;\n\nstruct ce_unbind {\n\tstruct clock_event_device *ce;\n\tint res;\n};\n\nstruct cfs_bandwidth {\n\traw_spinlock_t lock;\n\tktime_t period;\n\tu64 quota;\n\tu64 runtime;\n\tu64 burst;\n\tu64 runtime_snap;\n\ts64 hierarchical_quota;\n\tu8 idle;\n\tu8 period_active;\n\tu8 slack_started;\n\tstruct hrtimer period_timer;\n\tstruct hrtimer slack_timer;\n\tstruct list_head throttled_cfs_rq;\n\tint nr_periods;\n\tint nr_throttled;\n\tint nr_burst;\n\tu64 throttled_time;\n\tu64 burst_time;\n};\n\nstruct load_weight {\n\tlong unsigned int weight;\n\tu32 inv_weight;\n};\n\nstruct sched_avg {\n\tu64 last_update_time;\n\tu64 load_sum;\n\tu64 runnable_sum;\n\tu32 util_sum;\n\tu32 period_contrib;\n\tlong unsigned int load_avg;\n\tlong unsigned int runnable_avg;\n\tlong unsigned int util_avg;\n\tunsigned int util_est;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sched_entity;\n\nstruct cfs_rq {\n\tstruct load_weight load;\n\tunsigned int nr_queued;\n\tunsigned int h_nr_queued;\n\tunsigned int h_nr_runnable;\n\tunsigned int h_nr_idle;\n\ts64 avg_vruntime;\n\tu64 avg_load;\n\tu64 min_vruntime;\n\tstruct rb_root_cached tasks_timeline;\n\tstruct sched_entity *curr;\n\tstruct sched_entity *next;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_avg avg;\n\tstruct {\n\t\traw_spinlock_t lock;\n\t\tint nr;\n\t\tlong unsigned int load_avg;\n\t\tlong unsigned int util_avg;\n\t\tlong unsigned int runnable_avg;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t} removed;\n\tu64 last_update_tg_load_avg;\n\tlong unsigned int tg_load_avg_contrib;\n\tlong int propagate;\n\tlong int prop_runnable_sum;\n\tlong unsigned int h_load;\n\tu64 last_h_load_update;\n\tstruct sched_entity *h_load_next;\n\tstruct rq *rq;\n\tint on_list;\n\tstruct list_head leaf_cfs_rq_list;\n\tstruct task_group *tg;\n\tint idle;\n\tint runtime_enabled;\n\ts64 runtime_remaining;\n\tu64 throttled_pelt_idle;\n\tu64 throttled_clock;\n\tu64 throttled_clock_pelt;\n\tu64 throttled_clock_pelt_time;\n\tu64 throttled_clock_self;\n\tu64 throttled_clock_self_time;\n\tint throttled;\n\tint throttle_count;\n\tstruct list_head throttled_list;\n\tstruct list_head throttled_csd_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cfs_schedulable_data {\n\tstruct task_group *tg;\n\tu64 period;\n\tu64 quota;\n};\n\nstruct kernfs_ops;\n\nstruct kernfs_open_file;\n\nstruct cftype {\n\tchar name[64];\n\tlong unsigned int private;\n\tsize_t max_write_len;\n\tunsigned int flags;\n\tunsigned int file_offset;\n\tstruct cgroup_subsys *ss;\n\tstruct list_head node;\n\tstruct kernfs_ops *kf_ops;\n\tint (*open)(struct kernfs_open_file *);\n\tvoid (*release)(struct kernfs_open_file *);\n\tu64 (*read_u64)(struct cgroup_subsys_state *, struct cftype *);\n\ts64 (*read_s64)(struct cgroup_subsys_state *, struct cftype *);\n\tint (*seq_show)(struct seq_file *, void *);\n\tvoid * (*seq_start)(struct seq_file *, loff_t *);\n\tvoid * (*seq_next)(struct seq_file *, void *, loff_t *);\n\tvoid (*seq_stop)(struct seq_file *, void *);\n\tint (*write_u64)(struct cgroup_subsys_state *, struct cftype *, u64);\n\tint (*write_s64)(struct cgroup_subsys_state *, struct cftype *, s64);\n\tssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t);\n\t__poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *);\n\tstruct lock_class_key lockdep_key;\n};\n\nstruct cgroup_file {\n\tstruct kernfs_node *kn;\n\tlong unsigned int notified_at;\n\tstruct timer_list notify_timer;\n};\n\nstruct task_cputime {\n\tu64 stime;\n\tu64 utime;\n\tlong long unsigned int sum_exec_runtime;\n};\n\nstruct cgroup_base_stat {\n\tstruct task_cputime cputime;\n\tu64 ntime;\n};\n\nstruct prev_cputime {\n\tu64 utime;\n\tu64 stime;\n\traw_spinlock_t lock;\n};\n\nstruct cgroup_bpf {\n\tstruct bpf_prog_array *effective[38];\n\tstruct hlist_head progs[38];\n\tu8 flags[38];\n\tstruct list_head storages;\n\tstruct bpf_prog_array *inactive;\n\tstruct percpu_ref refcnt;\n\tstruct work_struct release_work;\n};\n\nstruct cgroup_freezer_state {\n\tbool freeze;\n\tbool e_freeze;\n\tint nr_frozen_descendants;\n\tint nr_frozen_tasks;\n};\n\nstruct cgroup_root;\n\nstruct cgroup_rstat_cpu;\n\nstruct psi_group;\n\nstruct cgroup {\n\tstruct cgroup_subsys_state self;\n\tlong unsigned int flags;\n\tint level;\n\tint max_depth;\n\tint nr_descendants;\n\tint nr_dying_descendants;\n\tint max_descendants;\n\tint nr_populated_csets;\n\tint nr_populated_domain_children;\n\tint nr_populated_threaded_children;\n\tint nr_threaded_children;\n\tunsigned int kill_seq;\n\tstruct kernfs_node *kn;\n\tstruct cgroup_file procs_file;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file psi_files[3];\n\tu16 subtree_control;\n\tu16 subtree_ss_mask;\n\tu16 old_subtree_control;\n\tu16 old_subtree_ss_mask;\n\tstruct cgroup_subsys_state *subsys[11];\n\tint nr_dying_subsys[11];\n\tstruct cgroup_root *root;\n\tstruct list_head cset_links;\n\tstruct list_head e_csets[11];\n\tstruct cgroup *dom_cgrp;\n\tstruct cgroup *old_dom_cgrp;\n\tstruct cgroup_rstat_cpu *rstat_cpu;\n\tstruct list_head rstat_css_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad_;\n\tstruct cgroup *rstat_flush_next;\n\tstruct cgroup_base_stat last_bstat;\n\tstruct cgroup_base_stat bstat;\n\tstruct prev_cputime prev_cputime;\n\tstruct list_head pidlists;\n\tstruct mutex pidlist_mutex;\n\twait_queue_head_t offline_waitq;\n\tstruct work_struct release_agent_work;\n\tstruct psi_group *psi;\n\tstruct cgroup_bpf bpf;\n\tstruct cgroup_freezer_state freezer;\n\tstruct bpf_local_storage *bpf_cgrp_storage;\n\tstruct cgroup *ancestors[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cgroup__safe_rcu {\n\tstruct kernfs_node *kn;\n};\n\nstruct css_set;\n\nstruct css_task_iter {\n\tstruct cgroup_subsys *ss;\n\tunsigned int flags;\n\tstruct list_head *cset_pos;\n\tstruct list_head *cset_head;\n\tstruct list_head *tcset_pos;\n\tstruct list_head *tcset_head;\n\tstruct list_head *task_pos;\n\tstruct list_head *cur_tasks_head;\n\tstruct css_set *cur_cset;\n\tstruct css_set *cur_dcset;\n\tstruct task_struct *cur_task;\n\tstruct list_head iters_node;\n};\n\nstruct cgroup_of_peak {\n\tlong unsigned int value;\n\tstruct list_head list;\n};\n\nstruct cgroup_namespace;\n\nstruct cgroup_pidlist;\n\nstruct cgroup_file_ctx {\n\tstruct cgroup_namespace *ns;\n\tstruct {\n\t\tvoid *trigger;\n\t} psi;\n\tstruct {\n\t\tbool started;\n\t\tstruct css_task_iter iter;\n\t} procs;\n\tstruct {\n\t\tstruct cgroup_pidlist *pidlist;\n\t} procs1;\n\tstruct cgroup_of_peak peak;\n};\n\nstruct kernfs_root;\n\nstruct kernfs_fs_context {\n\tstruct kernfs_root *root;\n\tvoid *ns_tag;\n\tlong unsigned int magic;\n\tbool new_sb_created;\n};\n\nstruct cgroup_fs_context {\n\tstruct kernfs_fs_context kfc;\n\tstruct cgroup_root *root;\n\tstruct cgroup_namespace *ns;\n\tunsigned int flags;\n\tbool cpuset_clone_children;\n\tbool none;\n\tbool all_ss;\n\tu16 subsys_mask;\n\tchar *name;\n\tchar *release_agent;\n};\n\nstruct cgroup_iter_priv {\n\tstruct cgroup_subsys_state *start_css;\n\tbool visited_all;\n\tbool terminate;\n\tint order;\n};\n\nstruct cgroup_lsm_atype {\n\tu32 attach_btf_id;\n\tint refcnt;\n};\n\nstruct cgroup_taskset {\n\tstruct list_head src_csets;\n\tstruct list_head dst_csets;\n\tint nr_tasks;\n\tint ssid;\n\tstruct list_head *csets;\n\tstruct css_set *cur_cset;\n\tstruct task_struct *cur_task;\n};\n\nstruct cgroup_mgctx {\n\tstruct list_head preloaded_src_csets;\n\tstruct list_head preloaded_dst_csets;\n\tstruct cgroup_taskset tset;\n\tu16 ss_mask;\n};\n\nstruct proc_ns_operations;\n\nstruct ns_common {\n\tstruct dentry *stashed;\n\tconst struct proc_ns_operations *ops;\n\tunsigned int inum;\n\trefcount_t count;\n};\n\nstruct ucounts;\n\nstruct cgroup_namespace {\n\tstruct ns_common ns;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct css_set *root_cset;\n};\n\nstruct cgroup_pidlist {\n\tstruct {\n\t\tenum cgroup_filetype type;\n\t\tstruct pid_namespace *ns;\n\t} key;\n\tpid_t *list;\n\tint length;\n\tstruct list_head links;\n\tstruct cgroup *owner;\n\tstruct delayed_work destroy_dwork;\n};\n\nstruct cgroup_root {\n\tstruct kernfs_root *kf_root;\n\tunsigned int subsys_mask;\n\tint hierarchy_id;\n\tstruct list_head root_list;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cgroup cgrp;\n\tstruct cgroup *cgrp_ancestor_storage;\n\tatomic_t nr_cgrps;\n\tunsigned int flags;\n\tchar release_agent_path[4096];\n\tchar name[64];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cgroup_rstat_cpu {\n\tstruct u64_stats_sync bsync;\n\tstruct cgroup_base_stat bstat;\n\tstruct cgroup_base_stat last_bstat;\n\tstruct cgroup_base_stat subtree_bstat;\n\tstruct cgroup_base_stat last_subtree_bstat;\n\tstruct cgroup *updated_children;\n\tstruct cgroup *updated_next;\n};\n\nstruct idr {\n\tstruct xarray idr_rt;\n\tunsigned int idr_base;\n\tunsigned int idr_next;\n};\n\nstruct cgroup_subsys {\n\tstruct cgroup_subsys_state * (*css_alloc)(struct cgroup_subsys_state *);\n\tint (*css_online)(struct cgroup_subsys_state *);\n\tvoid (*css_offline)(struct cgroup_subsys_state *);\n\tvoid (*css_released)(struct cgroup_subsys_state *);\n\tvoid (*css_free)(struct cgroup_subsys_state *);\n\tvoid (*css_reset)(struct cgroup_subsys_state *);\n\tvoid (*css_rstat_flush)(struct cgroup_subsys_state *, int);\n\tint (*css_extra_stat_show)(struct seq_file *, struct cgroup_subsys_state *);\n\tint (*css_local_stat_show)(struct seq_file *, struct cgroup_subsys_state *);\n\tint (*can_attach)(struct cgroup_taskset *);\n\tvoid (*cancel_attach)(struct cgroup_taskset *);\n\tvoid (*attach)(struct cgroup_taskset *);\n\tvoid (*post_attach)(void);\n\tint (*can_fork)(struct task_struct *, struct css_set *);\n\tvoid (*cancel_fork)(struct task_struct *, struct css_set *);\n\tvoid (*fork)(struct task_struct *);\n\tvoid (*exit)(struct task_struct *);\n\tvoid (*release)(struct task_struct *);\n\tvoid (*bind)(struct cgroup_subsys_state *);\n\tbool early_init: 1;\n\tbool implicit_on_dfl: 1;\n\tbool threaded: 1;\n\tint id;\n\tconst char *name;\n\tconst char *legacy_name;\n\tstruct cgroup_root *root;\n\tstruct idr css_idr;\n\tstruct list_head cfts;\n\tstruct cftype *dfl_cftypes;\n\tstruct cftype *legacy_cftypes;\n\tunsigned int depends_on;\n};\n\nstruct cgroupstats {\n\t__u64 nr_sleeping;\n\t__u64 nr_running;\n\t__u64 nr_stopped;\n\t__u64 nr_uninterruptible;\n\t__u64 nr_io_wait;\n};\n\nstruct cgrp_cset_link {\n\tstruct cgroup *cgrp;\n\tstruct css_set *cset;\n\tstruct list_head cset_link;\n\tstruct list_head cgrp_link;\n};\n\nstruct change_memory_parms {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int newpp;\n\tunsigned int step;\n\tunsigned int nr_cpus;\n\tatomic_t master_cpu;\n\tatomic_t cpu_counter;\n};\n\nstruct ethnl_reply_data {\n\tstruct net_device *dev;\n};\n\nstruct ethtool_channels {\n\t__u32 cmd;\n\t__u32 max_rx;\n\t__u32 max_tx;\n\t__u32 max_other;\n\t__u32 max_combined;\n\t__u32 rx_count;\n\t__u32 tx_count;\n\t__u32 other_count;\n\t__u32 combined_count;\n};\n\nstruct channels_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_channels channels;\n};\n\nstruct char_device_struct {\n\tstruct char_device_struct *next;\n\tunsigned int major;\n\tunsigned int baseminor;\n\tint minorct;\n\tchar name[64];\n\tstruct cdev *cdev;\n};\n\nstruct qdisc_walker {\n\tint stop;\n\tint skip;\n\tint count;\n\tint (*fn)(struct Qdisc *, long unsigned int, struct qdisc_walker *);\n};\n\nstruct check_loop_arg {\n\tstruct qdisc_walker w;\n\tstruct Qdisc *p;\n\tint depth;\n};\n\nstruct check_mount {\n\tstruct vfsmount *mnt;\n\tunsigned int mounted;\n};\n\nstruct chip {\n\tunsigned int id;\n\tbool throttled;\n\tbool restore;\n\tu8 throttle_reason;\n\tcpumask_t mask;\n\tstruct work_struct throttle;\n\tint throttle_turbo;\n\tint throttle_sub_turbo;\n\tint reason[6];\n};\n\ntypedef irqreturn_t (*irq_handler_t)(int, void *);\n\nstruct rtc_class_ops;\n\nstruct ds1307;\n\nstruct chip_desc {\n\tunsigned int alarm: 1;\n\tu16 nvram_offset;\n\tu16 nvram_size;\n\tu8 offset;\n\tu8 century_reg;\n\tu8 century_enable_bit;\n\tu8 century_bit;\n\tu8 bbsqi_bit;\n\tirq_handler_t irq_handler;\n\tconst struct rtc_class_ops *rtc_ops;\n\tu16 trickle_charger_reg;\n\tu8 (*do_trickle_setup)(struct ds1307 *, u32, bool);\n\tbool requires_trickle_resistor;\n\tbool charge_default;\n};\n\nstruct cipher_context {\n\tchar iv[20];\n\tchar rec_seq[8];\n};\n\nstruct cis_cache_entry {\n\tstruct list_head node;\n\tunsigned int addr;\n\tunsigned int len;\n\tunsigned int attr;\n\tunsigned char cache[0];\n};\n\nstruct cistpl_device_t {\n\tu_char ndev;\n\tstruct {\n\t\tu_char type;\n\t\tu_char wp;\n\t\tu_int speed;\n\t\tu_int size;\n\t} dev[4];\n};\n\ntypedef struct cistpl_device_t cistpl_device_t;\n\nstruct cistpl_checksum_t {\n\tu_short addr;\n\tu_short len;\n\tu_char sum;\n};\n\ntypedef struct cistpl_checksum_t cistpl_checksum_t;\n\nstruct cistpl_longlink_t {\n\tu_int addr;\n};\n\ntypedef struct cistpl_longlink_t cistpl_longlink_t;\n\nstruct cistpl_longlink_mfc_t {\n\tu_char nfn;\n\tstruct {\n\t\tu_char space;\n\t\tu_int addr;\n\t} fn[8];\n};\n\ntypedef struct cistpl_longlink_mfc_t cistpl_longlink_mfc_t;\n\nstruct cistpl_vers_1_t {\n\tu_char major;\n\tu_char minor;\n\tu_char ns;\n\tu_char ofs[4];\n\tchar str[254];\n};\n\ntypedef struct cistpl_vers_1_t cistpl_vers_1_t;\n\nstruct cistpl_altstr_t {\n\tu_char ns;\n\tu_char ofs[4];\n\tchar str[254];\n};\n\ntypedef struct cistpl_altstr_t cistpl_altstr_t;\n\nstruct cistpl_jedec_t {\n\tu_char nid;\n\tstruct {\n\t\tu_char mfr;\n\t\tu_char info;\n\t} id[4];\n};\n\ntypedef struct cistpl_jedec_t cistpl_jedec_t;\n\nstruct cistpl_manfid_t {\n\tu_short manf;\n\tu_short card;\n};\n\ntypedef struct cistpl_manfid_t cistpl_manfid_t;\n\nstruct cistpl_funcid_t {\n\tu_char func;\n\tu_char sysinit;\n};\n\ntypedef struct cistpl_funcid_t cistpl_funcid_t;\n\nstruct cistpl_funce_t {\n\tu_char type;\n\tu_char data[0];\n};\n\ntypedef struct cistpl_funce_t cistpl_funce_t;\n\nstruct cistpl_bar_t {\n\tu_char attr;\n\tu_int size;\n};\n\ntypedef struct cistpl_bar_t cistpl_bar_t;\n\nstruct cistpl_config_t {\n\tu_char last_idx;\n\tu_int base;\n\tu_int rmask[4];\n\tu_char subtuples;\n};\n\ntypedef struct cistpl_config_t cistpl_config_t;\n\nstruct cistpl_power_t {\n\tu_char present;\n\tu_char flags;\n\tu_int param[7];\n};\n\ntypedef struct cistpl_power_t cistpl_power_t;\n\nstruct cistpl_timing_t {\n\tu_int wait;\n\tu_int waitscale;\n\tu_int ready;\n\tu_int rdyscale;\n\tu_int reserved;\n\tu_int rsvscale;\n};\n\ntypedef struct cistpl_timing_t cistpl_timing_t;\n\nstruct cistpl_io_t {\n\tu_char flags;\n\tu_char nwin;\n\tstruct {\n\t\tu_int base;\n\t\tu_int len;\n\t} win[16];\n};\n\ntypedef struct cistpl_io_t cistpl_io_t;\n\nstruct cistpl_irq_t {\n\tu_int IRQInfo1;\n\tu_int IRQInfo2;\n};\n\ntypedef struct cistpl_irq_t cistpl_irq_t;\n\nstruct cistpl_mem_t {\n\tu_char flags;\n\tu_char nwin;\n\tstruct {\n\t\tu_int len;\n\t\tu_int card_addr;\n\t\tu_int host_addr;\n\t} win[8];\n};\n\ntypedef struct cistpl_mem_t cistpl_mem_t;\n\nstruct cistpl_cftable_entry_t {\n\tu_char index;\n\tu_short flags;\n\tu_char interface;\n\tcistpl_power_t vcc;\n\tcistpl_power_t vpp1;\n\tcistpl_power_t vpp2;\n\tcistpl_timing_t timing;\n\tcistpl_io_t io;\n\tcistpl_irq_t irq;\n\tcistpl_mem_t mem;\n\tu_char subtuples;\n};\n\ntypedef struct cistpl_cftable_entry_t cistpl_cftable_entry_t;\n\nstruct cistpl_cftable_entry_cb_t {\n\tu_char index;\n\tu_int flags;\n\tcistpl_power_t vcc;\n\tcistpl_power_t vpp1;\n\tcistpl_power_t vpp2;\n\tu_char io;\n\tcistpl_irq_t irq;\n\tu_char mem;\n\tu_char subtuples;\n};\n\ntypedef struct cistpl_cftable_entry_cb_t cistpl_cftable_entry_cb_t;\n\nstruct cistpl_device_geo_t {\n\tu_char ngeo;\n\tstruct {\n\t\tu_char buswidth;\n\t\tu_int erase_block;\n\t\tu_int read_block;\n\t\tu_int write_block;\n\t\tu_int partition;\n\t\tu_int interleave;\n\t} geo[4];\n};\n\ntypedef struct cistpl_device_geo_t cistpl_device_geo_t;\n\nstruct cistpl_vers_2_t {\n\tu_char vers;\n\tu_char comply;\n\tu_short dindex;\n\tu_char vspec8;\n\tu_char vspec9;\n\tu_char nhdr;\n\tu_char vendor;\n\tu_char info;\n\tchar str[244];\n};\n\ntypedef struct cistpl_vers_2_t cistpl_vers_2_t;\n\nstruct cistpl_org_t {\n\tu_char data_org;\n\tchar desc[30];\n};\n\ntypedef struct cistpl_org_t cistpl_org_t;\n\nstruct cistpl_format_t {\n\tu_char type;\n\tu_char edc;\n\tu_int offset;\n\tu_int length;\n};\n\ntypedef struct cistpl_format_t cistpl_format_t;\n\nunion cisparse_t {\n\tcistpl_device_t device;\n\tcistpl_checksum_t checksum;\n\tcistpl_longlink_t longlink;\n\tcistpl_longlink_mfc_t longlink_mfc;\n\tcistpl_vers_1_t version_1;\n\tcistpl_altstr_t altstr;\n\tcistpl_jedec_t jedec;\n\tcistpl_manfid_t manfid;\n\tcistpl_funcid_t funcid;\n\tcistpl_funce_t funce;\n\tcistpl_bar_t bar;\n\tcistpl_config_t config;\n\tcistpl_cftable_entry_t cftable_entry;\n\tcistpl_cftable_entry_cb_t cftable_entry_cb;\n\tcistpl_device_geo_t device_geo;\n\tcistpl_vers_2_t vers_2;\n\tcistpl_org_t org;\n\tcistpl_format_t format;\n};\n\ntypedef union cisparse_t cisparse_t;\n\nstruct class_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct class *, const struct class_attribute *, char *);\n\tssize_t (*store)(const struct class *, const struct class_attribute *, const char *, size_t);\n};\n\nstruct class_attribute_string {\n\tstruct class_attribute attr;\n\tchar *str;\n};\n\nstruct class_compat {\n\tstruct kobject *kobj;\n};\n\nstruct hashtab_node;\n\nstruct hashtab {\n\tstruct hashtab_node **htable;\n\tu32 size;\n\tu32 nel;\n};\n\nstruct symtab {\n\tstruct hashtab table;\n\tu32 nprim;\n};\n\nstruct common_datum;\n\nstruct constraint_node;\n\nstruct class_datum {\n\tu32 value;\n\tchar *comkey;\n\tstruct common_datum *comdatum;\n\tstruct symtab permissions;\n\tstruct constraint_node *constraints;\n\tstruct constraint_node *validatetrans;\n\tchar default_user;\n\tchar default_role;\n\tchar default_type;\n\tchar default_range;\n};\n\nstruct klist_iter {\n\tstruct klist *i_klist;\n\tstruct klist_node *i_cur;\n};\n\nstruct subsys_private;\n\nstruct class_dev_iter {\n\tstruct klist_iter ki;\n\tconst struct device_type *type;\n\tstruct subsys_private *sp;\n};\n\nstruct class_dir {\n\tstruct kobject kobj;\n\tconst struct class *class;\n};\n\nstruct class_info {\n\tint class;\n\tchar *class_name;\n};\n\nstruct class_interface {\n\tstruct list_head node;\n\tconst struct class *class;\n\tint (*add_dev)(struct device *);\n\tvoid (*remove_dev)(struct device *);\n};\n\nstruct clear_badblocks_context {\n\tresource_size_t phys;\n\tresource_size_t cleared;\n};\n\nstruct clear_refs_private {\n\tenum clear_refs_types type;\n};\n\nstruct clk_bulk_data {\n\tconst char *id;\n\tstruct clk *clk;\n};\n\nstruct clock_event_device {\n\tvoid (*event_handler)(struct clock_event_device *);\n\tint (*set_next_event)(long unsigned int, struct clock_event_device *);\n\tint (*set_next_ktime)(ktime_t, struct clock_event_device *);\n\tktime_t next_event;\n\tu64 max_delta_ns;\n\tu64 min_delta_ns;\n\tu32 mult;\n\tu32 shift;\n\tenum clock_event_state state_use_accessors;\n\tunsigned int features;\n\tlong unsigned int retries;\n\tint (*set_state_periodic)(struct clock_event_device *);\n\tint (*set_state_oneshot)(struct clock_event_device *);\n\tint (*set_state_oneshot_stopped)(struct clock_event_device *);\n\tint (*set_state_shutdown)(struct clock_event_device *);\n\tint (*tick_resume)(struct clock_event_device *);\n\tvoid (*broadcast)(const struct cpumask *);\n\tvoid (*suspend)(struct clock_event_device *);\n\tvoid (*resume)(struct clock_event_device *);\n\tlong unsigned int min_delta_ticks;\n\tlong unsigned int max_delta_ticks;\n\tconst char *name;\n\tint rating;\n\tint irq;\n\tint bound_on;\n\tconst struct cpumask *cpumask;\n\tstruct list_head list;\n\tstruct module *owner;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct clock_identity {\n\tu8 id[8];\n};\n\nstruct clocksource_base;\n\nstruct clocksource {\n\tu64 (*read)(struct clocksource *);\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n\tu64 max_idle_ns;\n\tu32 maxadj;\n\tu32 uncertainty_margin;\n\tu64 max_cycles;\n\tu64 max_raw_delta;\n\tconst char *name;\n\tstruct list_head list;\n\tu32 freq_khz;\n\tint rating;\n\tenum clocksource_ids id;\n\tenum vdso_clock_mode vdso_clock_mode;\n\tlong unsigned int flags;\n\tstruct clocksource_base *base;\n\tint (*enable)(struct clocksource *);\n\tvoid (*disable)(struct clocksource *);\n\tvoid (*suspend)(struct clocksource *);\n\tvoid (*resume)(struct clocksource *);\n\tvoid (*mark_unstable)(struct clocksource *);\n\tvoid (*tick_stable)(struct clocksource *);\n\tstruct module *owner;\n};\n\nstruct clocksource_base {\n\tenum clocksource_ids id;\n\tu32 freq_khz;\n\tu64 offset;\n\tu32 numerator;\n\tu32 denominator;\n};\n\nstruct clone_args {\n\t__u64 flags;\n\t__u64 pidfd;\n\t__u64 child_tid;\n\t__u64 parent_tid;\n\t__u64 exit_signal;\n\t__u64 stack;\n\t__u64 stack_size;\n\t__u64 tls;\n\t__u64 set_tid;\n\t__u64 set_tid_size;\n\t__u64 cgroup;\n};\n\nstruct dm_table;\n\nstruct dm_io;\n\nstruct clone_info {\n\tstruct dm_table *map;\n\tstruct bio *bio;\n\tstruct dm_io *io;\n\tsector_t sector;\n\tunsigned int sector_count;\n\tbool is_abnormal_io: 1;\n\tbool submit_as_polled: 1;\n};\n\nstruct cma {\n\tlong unsigned int base_pfn;\n\tlong unsigned int count;\n\tlong unsigned int *bitmap;\n\tunsigned int order_per_bit;\n\tspinlock_t lock;\n\tchar name[64];\n\tbool reserve_pages_on_error;\n};\n\nstruct cmis_cdb_advert_rpl {\n\tu8 inst_supported;\n\tu8 read_write_len_ext;\n\tu8 resv1;\n\tu8 resv2;\n};\n\nstruct cmis_cdb_fw_mng_features_rpl {\n\tu8 resv1;\n\tu8 resv2;\n\tu8 start_cmd_payload_size;\n\tu8 resv3;\n\tu8 read_write_len_ext;\n\tu8 write_mechanism;\n\tu8 resv4;\n\tu8 resv5;\n\t__be16 max_duration_start;\n\t__be16 resv6;\n\t__be16 max_duration_write;\n\t__be16 max_duration_complete;\n\t__be16 resv7;\n};\n\nstruct cmis_cdb_module_features_rpl {\n\tu8 resv1[34];\n\t__be16 max_completion_time;\n};\n\nstruct cmis_cdb_query_status_pl {\n\tu16 response_delay;\n};\n\nstruct cmis_cdb_query_status_rpl {\n\tu8 length;\n\tu8 status;\n};\n\nstruct cmis_cdb_run_fw_image_pl {\n\tu8 resv1;\n\tu8 image_to_run;\n\tu16 delay_to_reset;\n};\n\nstruct cmis_cdb_start_fw_download_pl_h {\n\t__be32 image_size;\n\t__be32 resv1;\n};\n\nstruct cmis_cdb_start_fw_download_pl {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 image_size;\n\t\t\t__be32 resv1;\n\t\t};\n\t\tstruct cmis_cdb_start_fw_download_pl_h head;\n\t};\n\tu8 vendor_data[112];\n};\n\nstruct cmis_cdb_write_fw_block_epl_pl {\n\tu8 fw_block[2048];\n};\n\nstruct cmis_cdb_write_fw_block_lpl_pl {\n\t__be32 block_address;\n\tu8 fw_block[116];\n};\n\nstruct cmis_fw_update_fw_mng_features {\n\tu8 start_cmd_payload_size;\n\tu8 write_mechanism;\n\tu16 max_duration_start;\n\tu16 max_duration_write;\n\tu16 max_duration_complete;\n};\n\nstruct cmis_password_entry_pl {\n\t__be32 password;\n};\n\nstruct cmis_rev_rpl {\n\tu8 rev;\n};\n\nstruct cmis_wait_for_cond_rpl {\n\tu8 state;\n};\n\nstruct cmsghdr {\n\t__kernel_size_t cmsg_len;\n\tint cmsg_level;\n\tint cmsg_type;\n};\n\nstruct ethtool_coalesce {\n\t__u32 cmd;\n\t__u32 rx_coalesce_usecs;\n\t__u32 rx_max_coalesced_frames;\n\t__u32 rx_coalesce_usecs_irq;\n\t__u32 rx_max_coalesced_frames_irq;\n\t__u32 tx_coalesce_usecs;\n\t__u32 tx_max_coalesced_frames;\n\t__u32 tx_coalesce_usecs_irq;\n\t__u32 tx_max_coalesced_frames_irq;\n\t__u32 stats_block_coalesce_usecs;\n\t__u32 use_adaptive_rx_coalesce;\n\t__u32 use_adaptive_tx_coalesce;\n\t__u32 pkt_rate_low;\n\t__u32 rx_coalesce_usecs_low;\n\t__u32 rx_max_coalesced_frames_low;\n\t__u32 tx_coalesce_usecs_low;\n\t__u32 tx_max_coalesced_frames_low;\n\t__u32 pkt_rate_high;\n\t__u32 rx_coalesce_usecs_high;\n\t__u32 rx_max_coalesced_frames_high;\n\t__u32 tx_coalesce_usecs_high;\n\t__u32 tx_max_coalesced_frames_high;\n\t__u32 rate_sample_interval;\n};\n\nstruct kernel_ethtool_coalesce {\n\tu8 use_cqe_mode_tx;\n\tu8 use_cqe_mode_rx;\n\tu32 tx_aggr_max_bytes;\n\tu32 tx_aggr_max_frames;\n\tu32 tx_aggr_time_usecs;\n};\n\nstruct coalesce_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_coalesce coalesce;\n\tstruct kernel_ethtool_coalesce kernel_coalesce;\n\tu32 supported_params;\n};\n\nstruct codegen_context {\n\tunsigned int seen;\n\tunsigned int idx;\n\tunsigned int stack_size;\n\tint b2p[14];\n\tunsigned int exentry_idx;\n\tunsigned int alt_exit_addr;\n};\n\nstruct collapse_control {\n\tbool is_khugepaged;\n\tu32 node_load[256];\n\tnodemask_t alloc_nmask;\n};\n\nstruct commit_header {\n\t__be32 h_magic;\n\t__be32 h_blocktype;\n\t__be32 h_sequence;\n\tunsigned char h_chksum_type;\n\tunsigned char h_chksum_size;\n\tunsigned char h_padding[2];\n\t__be32 h_chksum[8];\n\t__be64 h_commit_sec;\n\t__be32 h_commit_nsec;\n};\n\nstruct lsm_network_audit;\n\nstruct lsm_ioctlop_audit;\n\nstruct lsm_ibpkey_audit;\n\nstruct lsm_ibendport_audit;\n\nstruct selinux_audit_data;\n\nstruct common_audit_data {\n\tchar type;\n\tunion {\n\t\tstruct path path;\n\t\tstruct dentry *dentry;\n\t\tstruct inode *inode;\n\t\tstruct lsm_network_audit *net;\n\t\tint cap;\n\t\tint ipc_id;\n\t\tstruct task_struct *tsk;\n\t\tstruct {\n\t\t\tkey_serial_t key;\n\t\t\tchar *key_desc;\n\t\t} key_struct;\n\t\tchar *kmod_name;\n\t\tstruct lsm_ioctlop_audit *op;\n\t\tstruct file *file;\n\t\tstruct lsm_ibpkey_audit *ibpkey;\n\t\tstruct lsm_ibendport_audit *ibendport;\n\t\tint reason;\n\t\tconst char *anonclass;\n\t\tu16 nlmsg_type;\n\t} u;\n\tunion {\n\t\tstruct selinux_audit_data *selinux_audit_data;\n\t};\n};\n\nstruct common_datum {\n\tu32 value;\n\tstruct symtab permissions;\n};\n\nstruct zone;\n\nstruct compact_control {\n\tstruct list_head freepages[9];\n\tstruct list_head migratepages;\n\tunsigned int nr_freepages;\n\tunsigned int nr_migratepages;\n\tlong unsigned int free_pfn;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int fast_start_pfn;\n\tstruct zone *zone;\n\tlong unsigned int total_migrate_scanned;\n\tlong unsigned int total_free_scanned;\n\tshort unsigned int fast_search_fail;\n\tshort int search_order;\n\tconst gfp_t gfp_mask;\n\tint order;\n\tint migratetype;\n\tconst unsigned int alloc_flags;\n\tconst int highest_zoneidx;\n\tenum migrate_mode mode;\n\tbool ignore_skip_hint;\n\tbool no_set_skip_hint;\n\tbool ignore_block_suitable;\n\tbool direct_compaction;\n\tbool proactive_compaction;\n\tbool whole_zone;\n\tbool contended;\n\tbool finish_pageblock;\n\tbool alloc_contig;\n};\n\nstruct compat_group_filter {\n\tunion {\n\t\tstruct {\n\t\t\t__u32 gf_interface_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_group_aux;\n\t\t\t__u32 gf_fmode_aux;\n\t\t\t__u32 gf_numsrc_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist[1];\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\t__u32 gf_interface;\n\t\t\tstruct __kernel_sockaddr_storage gf_group;\n\t\t\t__u32 gf_fmode;\n\t\t\t__u32 gf_numsrc;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist_flex[0];\n\t\t} __attribute__((packed));\n\t};\n};\n\nstruct compat_group_req {\n\t__u32 gr_interface;\n\tstruct __kernel_sockaddr_storage gr_group;\n} __attribute__((packed));\n\nstruct compat_group_source_req {\n\t__u32 gsr_interface;\n\tstruct __kernel_sockaddr_storage gsr_group;\n\tstruct __kernel_sockaddr_storage gsr_source;\n} __attribute__((packed));\n\nstruct compat_if_settings {\n\tunsigned int type;\n\tunsigned int size;\n\tcompat_uptr_t ifs_ifsu;\n};\n\nstruct compat_ifconf {\n\tcompat_int_t ifc_len;\n\tcompat_caddr_t ifcbuf;\n};\n\nstruct compat_ifmap {\n\tcompat_ulong_t mem_start;\n\tcompat_ulong_t mem_end;\n\tshort unsigned int base_addr;\n\tunsigned char irq;\n\tunsigned char dma;\n\tunsigned char port;\n};\n\nstruct compat_ifreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion {\n\t\tstruct sockaddr ifru_addr;\n\t\tstruct sockaddr ifru_dstaddr;\n\t\tstruct sockaddr ifru_broadaddr;\n\t\tstruct sockaddr ifru_netmask;\n\t\tstruct sockaddr ifru_hwaddr;\n\t\tshort int ifru_flags;\n\t\tcompat_int_t ifru_ivalue;\n\t\tcompat_int_t ifru_mtu;\n\t\tstruct compat_ifmap ifru_map;\n\t\tchar ifru_slave[16];\n\t\tchar ifru_newname[16];\n\t\tcompat_caddr_t ifru_data;\n\t\tstruct compat_if_settings ifru_settings;\n\t} ifr_ifru;\n};\n\nstruct compat_iovec {\n\tcompat_uptr_t iov_base;\n\tcompat_size_t iov_len;\n};\n\nstruct compat_msghdr {\n\tcompat_uptr_t msg_name;\n\tcompat_int_t msg_namelen;\n\tcompat_uptr_t msg_iov;\n\tcompat_size_t msg_iovlen;\n\tcompat_uptr_t msg_control;\n\tcompat_size_t msg_controllen;\n\tcompat_uint_t msg_flags;\n};\n\nstruct compat_mmsghdr {\n\tstruct compat_msghdr msg_hdr;\n\tcompat_uint_t msg_len;\n};\n\nstruct compat_nfs_string {\n\tcompat_uint_t len;\n\tcompat_uptr_t data;\n};\n\nstruct compat_nfs4_mount_data_v1 {\n\tcompat_int_t version;\n\tcompat_int_t flags;\n\tcompat_int_t rsize;\n\tcompat_int_t wsize;\n\tcompat_int_t timeo;\n\tcompat_int_t retrans;\n\tcompat_int_t acregmin;\n\tcompat_int_t acregmax;\n\tcompat_int_t acdirmin;\n\tcompat_int_t acdirmax;\n\tstruct compat_nfs_string client_addr;\n\tstruct compat_nfs_string mnt_path;\n\tstruct compat_nfs_string hostname;\n\tcompat_uint_t host_addrlen;\n\tcompat_uptr_t host_addr;\n\tcompat_int_t proto;\n\tcompat_int_t auth_flavourlen;\n\tcompat_uptr_t auth_flavours;\n};\n\nstruct compat_sg_io_hdr {\n\tcompat_int_t interface_id;\n\tcompat_int_t dxfer_direction;\n\tunsigned char cmd_len;\n\tunsigned char mx_sb_len;\n\tshort unsigned int iovec_count;\n\tcompat_uint_t dxfer_len;\n\tcompat_uint_t dxferp;\n\tcompat_uptr_t cmdp;\n\tcompat_uptr_t sbp;\n\tcompat_uint_t timeout;\n\tcompat_uint_t flags;\n\tcompat_int_t pack_id;\n\tcompat_uptr_t usr_ptr;\n\tunsigned char status;\n\tunsigned char masked_status;\n\tunsigned char msg_status;\n\tunsigned char sb_len_wr;\n\tshort unsigned int host_status;\n\tshort unsigned int driver_status;\n\tcompat_int_t resid;\n\tcompat_uint_t duration;\n\tcompat_uint_t info;\n};\n\nstruct compat_sock_fprog {\n\tu16 len;\n\tcompat_uptr_t filter;\n};\n\nstruct component_ops;\n\nstruct component {\n\tstruct list_head node;\n\tstruct aggregate_device *adev;\n\tbool bound;\n\tconst struct component_ops *ops;\n\tint subcomponent;\n\tstruct device *dev;\n};\n\nstruct component_master_ops {\n\tint (*bind)(struct device *);\n\tvoid (*unbind)(struct device *);\n};\n\nstruct component_match_array;\n\nstruct component_match {\n\tsize_t alloc;\n\tsize_t num;\n\tstruct component_match_array *compare;\n};\n\nstruct component_match_array {\n\tvoid *data;\n\tint (*compare)(struct device *, void *);\n\tint (*compare_typed)(struct device *, int, void *);\n\tvoid (*release)(struct device *, void *);\n\tstruct component *component;\n\tbool duplicate;\n};\n\nstruct component_ops {\n\tint (*bind)(struct device *, struct device *, void *);\n\tvoid (*unbind)(struct device *, struct device *, void *);\n};\n\nstruct compound_hdr {\n\tint32_t status;\n\tuint32_t nops;\n\t__be32 *nops_p;\n\tuint32_t taglen;\n\tchar *tag;\n\tuint32_t replen;\n\tu32 minorversion;\n};\n\ntypedef int (*decompress_fn)(unsigned char *, long int, long int (*)(void *, long unsigned int), long int (*)(void *, long unsigned int), unsigned char *, long int *, void (*)(char *));\n\nstruct compress_format {\n\tunsigned char magic[2];\n\tconst char *name;\n\tdecompress_fn decompressor;\n};\n\nstruct consw;\n\nstruct con_driver {\n\tconst struct consw *con;\n\tconst char *desc;\n\tstruct device *dev;\n\tint node;\n\tint first;\n\tint last;\n\tint flag;\n};\n\nstruct cond_av_list {\n\tstruct avtab_node **nodes;\n\tu32 len;\n};\n\nstruct cond_bool_datum {\n\tu32 value;\n\tint state;\n};\n\nstruct cond_expr_node;\n\nstruct cond_expr {\n\tstruct cond_expr_node *nodes;\n\tu32 len;\n};\n\nstruct cond_expr_node {\n\tu32 expr_type;\n\tu32 boolean;\n};\n\nstruct policydb;\n\nstruct cond_insertf_data {\n\tstruct policydb *p;\n\tstruct avtab_node **dst;\n\tstruct cond_av_list *other;\n};\n\nstruct cond_node {\n\tint cur_state;\n\tstruct cond_expr expr;\n\tstruct cond_av_list true_list;\n\tstruct cond_av_list false_list;\n};\n\ntypedef bool (*cond_update_fn_t)(struct trace_array *, void *);\n\nstruct cond_snapshot {\n\tvoid *cond_data;\n\tcond_update_fn_t update;\n};\n\nstruct config___2 {\n\tu8 version;\n\tu8 flags;\n\t__be16 rsvd0;\n\t__be16 objoverhead;\n\t__be16 maxpwsize;\n\t__be16 maxobjlabelsize;\n\t__be16 maxobjsize;\n\t__be32 totalsize;\n\t__be32 usedspace;\n\t__be32 supportedpolicies;\n\t__be32 maxlargeobjectsize;\n\t__be64 signedupdatealgorithms;\n\tu8 rsvd1[476];\n} __attribute__((packed));\n\nstruct deflate_state;\n\ntypedef struct deflate_state deflate_state;\n\ntypedef block_state (*compress_func)(deflate_state *, int);\n\nstruct config_s {\n\tush good_length;\n\tush max_lazy;\n\tush nice_length;\n\tush max_chain;\n\tcompress_func func;\n};\n\ntypedef struct config_s config;\n\nstruct config_t {\n\tstruct kref ref;\n\tunsigned int state;\n\tstruct resource io[2];\n\tstruct resource mem[4];\n};\n\ntypedef struct config_t config_t;\n\nstruct conflict_context {\n\tstruct nd_region *nd_region;\n\tresource_size_t start;\n\tresource_size_t size;\n};\n\nstruct connect_timeout_data {\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct console;\n\nstruct printk_buffers;\n\nstruct nbcon_context {\n\tstruct console *console;\n\tunsigned int spinwait_max_us;\n\tenum nbcon_prio prio;\n\tunsigned int allow_unsafe_takeover: 1;\n\tunsigned int backlog: 1;\n\tstruct printk_buffers *pbufs;\n\tu64 seq;\n};\n\nstruct tty_driver;\n\nstruct nbcon_write_context;\n\nstruct console {\n\tchar name[16];\n\tvoid (*write)(struct console *, const char *, unsigned int);\n\tint (*read)(struct console *, char *, unsigned int);\n\tstruct tty_driver * (*device)(struct console *, int *);\n\tvoid (*unblank)(void);\n\tint (*setup)(struct console *, char *);\n\tint (*exit)(struct console *);\n\tint (*match)(struct console *, char *, int, char *);\n\tshort int flags;\n\tshort int index;\n\tint cflag;\n\tuint ispeed;\n\tuint ospeed;\n\tu64 seq;\n\tlong unsigned int dropped;\n\tvoid *data;\n\tstruct hlist_node node;\n\tvoid (*write_atomic)(struct console *, struct nbcon_write_context *);\n\tvoid (*write_thread)(struct console *, struct nbcon_write_context *);\n\tvoid (*device_lock)(struct console *, long unsigned int *);\n\tvoid (*device_unlock)(struct console *, long unsigned int);\n\tatomic_t nbcon_state;\n\tatomic_long_t nbcon_seq;\n\tstruct nbcon_context nbcon_device_ctxt;\n\tatomic_long_t nbcon_prev_seq;\n\tstruct printk_buffers *pbufs;\n\tstruct task_struct *kthread;\n\tstruct rcuwait rcuwait;\n\tstruct irq_work irq_work;\n};\n\nstruct console_cmdline {\n\tchar name[16];\n\tint index;\n\tchar devname[32];\n\tbool user_specified;\n\tchar *options;\n};\n\nstruct console_flush_type {\n\tbool nbcon_atomic;\n\tbool nbcon_offload;\n\tbool legacy_direct;\n\tbool legacy_offload;\n};\n\nstruct console_font {\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tunsigned char *data;\n};\n\nstruct console_font_op {\n\tunsigned int op;\n\tunsigned int flags;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tunsigned char *data;\n};\n\nstruct constant_table {\n\tconst char *name;\n\tint value;\n};\n\nstruct ebitmap_node;\n\nstruct ebitmap {\n\tstruct ebitmap_node *node;\n\tu32 highbit;\n};\n\nstruct type_set;\n\nstruct constraint_expr {\n\tu32 expr_type;\n\tu32 attr;\n\tu32 op;\n\tstruct ebitmap names;\n\tstruct type_set *type_names;\n\tstruct constraint_expr *next;\n};\n\nstruct constraint_node {\n\tu32 permissions;\n\tstruct constraint_expr *expr;\n\tstruct constraint_node *next;\n};\n\nstruct vc_data;\n\nstruct consw {\n\tstruct module *owner;\n\tconst char * (*con_startup)(void);\n\tvoid (*con_init)(struct vc_data *, bool);\n\tvoid (*con_deinit)(struct vc_data *);\n\tvoid (*con_clear)(struct vc_data *, unsigned int, unsigned int, unsigned int);\n\tvoid (*con_putc)(struct vc_data *, u16, unsigned int, unsigned int);\n\tvoid (*con_putcs)(struct vc_data *, const u16 *, unsigned int, unsigned int, unsigned int);\n\tvoid (*con_cursor)(struct vc_data *, bool);\n\tbool (*con_scroll)(struct vc_data *, unsigned int, unsigned int, enum con_scroll, unsigned int);\n\tbool (*con_switch)(struct vc_data *);\n\tbool (*con_blank)(struct vc_data *, enum vesa_blank_mode, bool);\n\tint (*con_font_set)(struct vc_data *, const struct console_font *, unsigned int, unsigned int);\n\tint (*con_font_get)(struct vc_data *, struct console_font *, unsigned int);\n\tint (*con_font_default)(struct vc_data *, struct console_font *, const char *);\n\tint (*con_resize)(struct vc_data *, unsigned int, unsigned int, bool);\n\tvoid (*con_set_palette)(struct vc_data *, const unsigned char *);\n\tvoid (*con_scrolldelta)(struct vc_data *, int);\n\tbool (*con_set_origin)(struct vc_data *);\n\tvoid (*con_save_screen)(struct vc_data *);\n\tu8 (*con_build_attr)(struct vc_data *, u8, enum vc_intensity, bool, bool, bool, bool);\n\tvoid (*con_invert_region)(struct vc_data *, u16 *, int);\n\tvoid (*con_debug_enter)(struct vc_data *);\n\tvoid (*con_debug_leave)(struct vc_data *);\n};\n\nstruct cont_t {\n\tvoid (*interrupt)(void);\n\tvoid (*redo)(void);\n\tvoid (*error)(void);\n\tvoid (*done)(int);\n};\n\nstruct container_dev {\n\tstruct device dev;\n\tint (*offline)(struct container_dev *);\n};\n\nstruct mls_level {\n\tu32 sens;\n\tstruct ebitmap cat;\n};\n\nstruct mls_range {\n\tstruct mls_level level[2];\n};\n\nstruct context {\n\tu32 user;\n\tu32 role;\n\tu32 type;\n\tu32 len;\n\tstruct mls_range range;\n\tchar *str;\n};\n\nstruct context_tracking {\n\tbool active;\n\tint recursion;\n\tatomic_t state;\n\tlong int nesting;\n\tlong int nmi_nesting;\n};\n\nstruct contig_page_info {\n\tlong unsigned int free_pages;\n\tlong unsigned int free_blocks_total;\n\tlong unsigned int free_blocks_suitable;\n};\n\nstruct convert_context_args {\n\tstruct policydb *oldp;\n\tstruct policydb *newp;\n};\n\nstruct cooling_spec {\n\tlong unsigned int upper;\n\tlong unsigned int lower;\n\tunsigned int weight;\n};\n\nstruct cop_symcpb_header {\n\tu8 mode;\n\tu8 fdm;\n\tu8 ks_ds;\n\tu8 pad_byte;\n\tu8 __rsvd[12];\n};\n\nstruct cop_symcpb_aes_ecb {\n\tu8 key[32];\n\tu8 __rsvd[80];\n};\n\nstruct cop_symcpb_aes_cbc {\n\tu8 iv[16];\n\tu8 key[32];\n\tu8 cv[16];\n\tu32 spbc;\n\tu8 __rsvd[44];\n};\n\nstruct cop_symcpb_aes_gca {\n\tu8 in_pat[16];\n\tu8 key[32];\n\tu8 out_pat[16];\n\tu32 spbc;\n\tu8 __rsvd[44];\n};\n\nstruct cop_symcpb_aes_gcm {\n\tu8 in_pat_or_aad[16];\n\tu8 iv_or_cnt[16];\n\tu64 bit_length_aad;\n\tu64 bit_length_data;\n\tu8 in_s0[16];\n\tu8 key[32];\n\tu8 __rsvd1[16];\n\tu8 out_pat_or_mac[16];\n\tu8 out_s0[16];\n\tu8 out_cnt[16];\n\tu32 spbc;\n\tu8 __rsvd2[12];\n};\n\nstruct cop_symcpb_aes_cca {\n\tu8 b0[16];\n\tu8 b1[16];\n\tu8 key[16];\n\tu8 out_pat_or_b0[16];\n\tu32 spbc;\n\tu8 __rsvd[44];\n};\n\nstruct cop_symcpb_aes_ccm {\n\tu8 in_pat_or_b0[16];\n\tu8 iv_or_ctr[16];\n\tu8 in_s0[16];\n\tu8 key[16];\n\tu8 __rsvd1[48];\n\tu8 out_pat_or_mac[16];\n\tu8 out_s0[16];\n\tu8 out_ctr[16];\n\tu32 spbc;\n\tu8 __rsvd2[12];\n};\n\nstruct cop_symcpb_aes_ctr {\n\tu8 iv[16];\n\tu8 key[32];\n\tu8 cv[16];\n\tu32 spbc;\n\tu8 __rsvd2[44];\n};\n\nstruct cop_symcpb_aes_xcbc {\n\tu8 cv[16];\n\tu8 key[16];\n\tu8 __rsvd1[16];\n\tu8 out_cv_mac[16];\n\tu32 spbc;\n\tu8 __rsvd2[44];\n};\n\nstruct cop_symcpb_sha256 {\n\tu64 message_bit_length;\n\tu64 __rsvd1;\n\tu8 input_partial_digest[32];\n\tu8 message_digest[32];\n\tu32 spbc;\n\tu8 __rsvd2[44];\n};\n\nstruct cop_symcpb_sha512 {\n\tu64 message_bit_length_hi;\n\tu64 message_bit_length_lo;\n\tu8 input_partial_digest[64];\n\tu8 __rsvd1[32];\n\tu8 message_digest[64];\n\tu32 spbc;\n\tu8 __rsvd2[76];\n};\n\nstruct cop_parameter_block {\n\tstruct cop_symcpb_header hdr;\n\tunion {\n\t\tstruct cop_symcpb_aes_ecb aes_ecb;\n\t\tstruct cop_symcpb_aes_cbc aes_cbc;\n\t\tstruct cop_symcpb_aes_gca aes_gca;\n\t\tstruct cop_symcpb_aes_gcm aes_gcm;\n\t\tstruct cop_symcpb_aes_cca aes_cca;\n\t\tstruct cop_symcpb_aes_ccm aes_ccm;\n\t\tstruct cop_symcpb_aes_ctr aes_ctr;\n\t\tstruct cop_symcpb_aes_xcbc aes_xcbc;\n\t\tstruct cop_symcpb_sha256 sha256;\n\t\tstruct cop_symcpb_sha512 sha512;\n\t};\n};\n\nstruct cop_status_block {\n\tu8 valid;\n\tu8 crb_seq_number;\n\tu8 completion_code;\n\tu8 completion_extension;\n\t__be32 processed_byte_count;\n\t__be64 address;\n};\n\nstruct vas_user_win_ops;\n\nstruct coproc_dev {\n\tstruct cdev cdev;\n\tstruct device *device;\n\tchar *name;\n\tdev_t devt;\n\tstruct class *class;\n\tenum vas_cop_type cop_type;\n\tconst struct vas_user_win_ops *vops;\n};\n\nstruct vas_window;\n\nstruct coproc_instance {\n\tstruct coproc_dev *coproc;\n\tstruct vas_window *txwin;\n};\n\nstruct coprocessor_completion_block {\n\t__be64 value;\n\t__be64 address;\n};\n\nstruct data_descriptor_entry {\n\t__be16 flags;\n\tu8 count;\n\tu8 index;\n\t__be32 length;\n\t__be64 address;\n};\n\nstruct nx_fault_stamp {\n\t__be64 fault_storage_addr;\n\t__be16 reserved;\n\t__u8 flags;\n\t__u8 fault_status;\n\t__be32 pswid;\n};\n\nstruct coprocessor_status_block {\n\tu8 flags;\n\tu8 cs;\n\tu8 cc;\n\tu8 ce;\n\t__be32 count;\n\t__be64 address;\n};\n\nstruct coprocessor_request_block {\n\t__be32 ccw;\n\t__be32 flags;\n\t__be64 csb_addr;\n\tstruct data_descriptor_entry source;\n\tstruct data_descriptor_entry target;\n\tstruct coprocessor_completion_block ccb;\n\tunion {\n\t\tstruct nx_fault_stamp nx;\n\t\tu8 reserved[16];\n\t} stamp;\n\tu8 reserved[32];\n\tstruct coprocessor_status_block csb;\n};\n\nstruct copy_subpage_arg {\n\tstruct folio *dst;\n\tstruct folio *src;\n\tstruct vm_area_struct *vma;\n};\n\nstruct core_name {\n\tchar *corename;\n\tint used;\n\tint size;\n};\n\nstruct core_thread {\n\tstruct task_struct *task;\n\tstruct core_thread *next;\n};\n\nstruct core_state {\n\tatomic_t nr_threads;\n\tstruct core_thread dumper;\n\tstruct completion startup;\n};\n\nstruct core_vma_metadata {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int flags;\n\tlong unsigned int dump_size;\n\tlong unsigned int pgoff;\n\tstruct file *file;\n};\n\nstruct kernel_siginfo;\n\ntypedef struct kernel_siginfo kernel_siginfo_t;\n\nstruct coredump_params {\n\tconst kernel_siginfo_t *siginfo;\n\tstruct file *file;\n\tlong unsigned int limit;\n\tlong unsigned int mm_flags;\n\tint cpu;\n\tloff_t written;\n\tloff_t pos;\n\tloff_t to_skip;\n\tint vma_count;\n\tsize_t vma_data_size;\n\tstruct core_vma_metadata *vma_meta;\n};\n\nstruct cper_sec_proc_arm {\n\tu32 validation_bits;\n\tu16 err_info_num;\n\tu16 context_info_num;\n\tu32 section_length;\n\tu8 affinity_level;\n\tu8 reserved[3];\n\tu64 mpidr;\n\tu64 midr;\n\tu32 running_state;\n\tu32 psci_state;\n};\n\nstruct cpio_data {\n\tvoid *data;\n\tsize_t size;\n\tchar name[18];\n};\n\nstruct cpu {\n\tint node_id;\n\tint hotpluggable;\n\tstruct device dev;\n};\n\nstruct cpu_accounting_data {\n\tlong unsigned int utime;\n\tlong unsigned int stime;\n\tlong unsigned int gtime;\n\tlong unsigned int hardirq_time;\n\tlong unsigned int softirq_time;\n\tlong unsigned int steal_time;\n\tlong unsigned int idle_time;\n\tlong unsigned int starttime;\n\tlong unsigned int starttime_user;\n};\n\nstruct cpu_attr {\n\tstruct device_attribute attr;\n\tconst struct cpumask * const map;\n};\n\nstruct cpu_cacheinfo {\n\tstruct cacheinfo *info_list;\n\tunsigned int per_cpu_data_slice_size;\n\tunsigned int num_levels;\n\tunsigned int num_leaves;\n\tbool cpu_map_populated;\n\tbool early_ci_levels;\n};\n\nstruct update_util_data {\n\tvoid (*func)(struct update_util_data *, u64, unsigned int);\n};\n\nstruct policy_dbs_info;\n\nstruct cpu_dbs_info {\n\tu64 prev_cpu_idle;\n\tu64 prev_update_time;\n\tu64 prev_cpu_nice;\n\tunsigned int prev_load;\n\tstruct update_util_data update_util;\n\tstruct policy_dbs_info *policy_dbs;\n};\n\nstruct cpu_down_work {\n\tunsigned int cpu;\n\tenum cpuhp_state target;\n};\n\nstruct folio_batch {\n\tunsigned char nr;\n\tunsigned char i;\n\tbool percpu_pvec_drained;\n\tstruct folio *folios[31];\n};\n\nstruct cpu_fbatches {\n\tlocal_lock_t lock;\n\tstruct folio_batch lru_add;\n\tstruct folio_batch lru_deactivate_file;\n\tstruct folio_batch lru_deactivate;\n\tstruct folio_batch lru_lazyfree;\n\tstruct folio_batch lru_activate;\n\tlocal_lock_t lock_irq;\n\tstruct folio_batch lru_move_tail;\n};\n\nstruct mmcr_regs {\n\tlong unsigned int mmcr0;\n\tlong unsigned int mmcr1;\n\tlong unsigned int mmcr2;\n\tlong unsigned int mmcra;\n\tlong unsigned int mmcr3;\n};\n\nstruct perf_branch_entry {\n\t__u64 from;\n\t__u64 to;\n\t__u64 mispred: 1;\n\t__u64 predicted: 1;\n\t__u64 in_tx: 1;\n\t__u64 abort: 1;\n\t__u64 cycles: 16;\n\t__u64 type: 4;\n\t__u64 spec: 2;\n\t__u64 new_type: 4;\n\t__u64 priv: 3;\n\t__u64 reserved: 31;\n};\n\nstruct perf_branch_stack {\n\t__u64 nr;\n\t__u64 hw_idx;\n\tstruct perf_branch_entry entries[0];\n};\n\nstruct cpu_hw_events {\n\tint n_events;\n\tint n_percpu;\n\tint disabled;\n\tint n_added;\n\tint n_limited;\n\tu8 pmcs_enabled;\n\tstruct perf_event *event[8];\n\tu64 events[8];\n\tunsigned int flags[8];\n\tstruct mmcr_regs mmcr;\n\tstruct perf_event *limited_counter[2];\n\tu8 limited_hwidx[2];\n\tu64 alternatives[64];\n\tlong unsigned int amasks[64];\n\tlong unsigned int avalues[64];\n\tunsigned int txn_flags;\n\tint n_txn_start;\n\tu64 bhrb_filter;\n\tunsigned int bhrb_users;\n\tvoid *bhrb_context;\n\tstruct perf_branch_stack bhrb_stack;\n\tstruct perf_branch_entry bhrb_entries[32];\n\tu64 ic_init;\n\tlong unsigned int pmcs[8];\n};\n\nstruct cpu_itimer {\n\tu64 expires;\n\tu64 incr;\n};\n\nstruct cpu_messages {\n\tlong int messages;\n};\n\nstruct cpu_rmap {\n\tstruct kref refcount;\n\tu16 size;\n\tvoid **obj;\n\tstruct {\n\t\tu16 index;\n\t\tu16 dist;\n\t} near[0];\n};\n\nstruct cpu_spec;\n\ntypedef void (*cpu_setup_t)(long unsigned int, struct cpu_spec *);\n\ntypedef void (*cpu_restore_t)(void);\n\nstruct cpu_spec {\n\tunsigned int pvr_mask;\n\tunsigned int pvr_value;\n\tchar *cpu_name;\n\tlong unsigned int cpu_features;\n\tunsigned int cpu_user_features;\n\tunsigned int cpu_user_features2;\n\tunsigned int mmu_features;\n\tunsigned int icache_bsize;\n\tunsigned int dcache_bsize;\n\tvoid (*cpu_down_flush)(void);\n\tunsigned int num_pmcs;\n\tenum powerpc_pmc_type pmc_type;\n\tcpu_setup_t cpu_setup;\n\tcpu_restore_t cpu_restore;\n\tchar *platform;\n\tint (*machine_check)(struct pt_regs *);\n\tlong int (*machine_check_early)(struct pt_regs *);\n};\n\nstruct cpu_stop_done {\n\tatomic_t nr_todo;\n\tint ret;\n\tstruct completion completion;\n};\n\ntypedef int (*cpu_stop_fn_t)(void *);\n\nstruct cpu_stop_work {\n\tstruct list_head list;\n\tcpu_stop_fn_t fn;\n\tlong unsigned int caller;\n\tvoid *arg;\n\tstruct cpu_stop_done *done;\n};\n\nstruct cpu_stopper {\n\tstruct task_struct *thread;\n\traw_spinlock_t lock;\n\tbool enabled;\n\tstruct list_head works;\n\tstruct cpu_stop_work stop_work;\n\tlong unsigned int caller;\n\tcpu_stop_fn_t fn;\n};\n\nstruct cpu_timer {\n\tstruct timerqueue_node node;\n\tstruct timerqueue_head *head;\n\tstruct pid *pid;\n\tstruct list_head elist;\n\tbool firing;\n\tbool nanosleep;\n\tstruct task_struct *handling;\n};\n\nstruct cpu_vfs_cap_data {\n\t__u32 magic_etc;\n\tkuid_t rootid;\n\tkernel_cap_t permitted;\n\tkernel_cap_t inheritable;\n};\n\nstruct kernel_cpustat;\n\nstruct cpuacct {\n\tstruct cgroup_subsys_state css;\n\tu64 *cpuusage;\n\tstruct kernel_cpustat *cpustat;\n};\n\nstruct cpudl_item;\n\nstruct cpudl {\n\traw_spinlock_t lock;\n\tint size;\n\tcpumask_var_t free_cpus;\n\tstruct cpudl_item *elements;\n};\n\nstruct cpudl_item {\n\tu64 dl;\n\tint cpu;\n\tint idx;\n};\n\nstruct cpufreq_cpuinfo {\n\tunsigned int max_freq;\n\tunsigned int min_freq;\n\tunsigned int transition_latency;\n};\n\nstruct cpufreq_policy;\n\nstruct cpufreq_policy_data;\n\nstruct freq_attr;\n\nstruct cpufreq_driver {\n\tchar name[16];\n\tu16 flags;\n\tvoid *driver_data;\n\tint (*init)(struct cpufreq_policy *);\n\tint (*verify)(struct cpufreq_policy_data *);\n\tint (*setpolicy)(struct cpufreq_policy *);\n\tint (*target)(struct cpufreq_policy *, unsigned int, unsigned int);\n\tint (*target_index)(struct cpufreq_policy *, unsigned int);\n\tunsigned int (*fast_switch)(struct cpufreq_policy *, unsigned int);\n\tvoid (*adjust_perf)(unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tunsigned int (*get_intermediate)(struct cpufreq_policy *, unsigned int);\n\tint (*target_intermediate)(struct cpufreq_policy *, unsigned int);\n\tunsigned int (*get)(unsigned int);\n\tvoid (*update_limits)(unsigned int);\n\tint (*bios_limit)(int, unsigned int *);\n\tint (*online)(struct cpufreq_policy *);\n\tint (*offline)(struct cpufreq_policy *);\n\tvoid (*exit)(struct cpufreq_policy *);\n\tint (*suspend)(struct cpufreq_policy *);\n\tint (*resume)(struct cpufreq_policy *);\n\tvoid (*ready)(struct cpufreq_policy *);\n\tstruct freq_attr **attr;\n\tbool boost_enabled;\n\tint (*set_boost)(struct cpufreq_policy *, int);\n\tvoid (*register_em)(struct cpufreq_policy *);\n};\n\nstruct cpufreq_freqs {\n\tstruct cpufreq_policy *policy;\n\tunsigned int old;\n\tunsigned int new;\n\tu8 flags;\n};\n\nstruct cpufreq_frequency_table {\n\tunsigned int flags;\n\tunsigned int driver_data;\n\tunsigned int frequency;\n};\n\nstruct cpufreq_governor {\n\tchar name[16];\n\tint (*init)(struct cpufreq_policy *);\n\tvoid (*exit)(struct cpufreq_policy *);\n\tint (*start)(struct cpufreq_policy *);\n\tvoid (*stop)(struct cpufreq_policy *);\n\tvoid (*limits)(struct cpufreq_policy *);\n\tssize_t (*show_setspeed)(struct cpufreq_policy *, char *);\n\tint (*store_setspeed)(struct cpufreq_policy *, unsigned int);\n\tstruct list_head governor_list;\n\tstruct module *owner;\n\tu8 flags;\n};\n\nstruct plist_head {\n\tstruct list_head node_list;\n};\n\nstruct pm_qos_constraints {\n\tstruct plist_head list;\n\ts32 target_value;\n\ts32 default_value;\n\ts32 no_constraint_value;\n\tenum pm_qos_type type;\n\tstruct blocking_notifier_head *notifiers;\n};\n\nstruct freq_constraints {\n\tstruct pm_qos_constraints min_freq;\n\tstruct blocking_notifier_head min_freq_notifiers;\n\tstruct pm_qos_constraints max_freq;\n\tstruct blocking_notifier_head max_freq_notifiers;\n};\n\nstruct cpufreq_stats;\n\ntypedef int (*notifier_fn_t)(struct notifier_block *, long unsigned int, void *);\n\nstruct notifier_block {\n\tnotifier_fn_t notifier_call;\n\tstruct notifier_block *next;\n\tint priority;\n};\n\nstruct freq_qos_request;\n\nstruct thermal_cooling_device;\n\nstruct cpufreq_policy {\n\tcpumask_var_t cpus;\n\tcpumask_var_t related_cpus;\n\tcpumask_var_t real_cpus;\n\tunsigned int shared_type;\n\tunsigned int cpu;\n\tstruct clk *clk;\n\tstruct cpufreq_cpuinfo cpuinfo;\n\tunsigned int min;\n\tunsigned int max;\n\tunsigned int cur;\n\tunsigned int suspend_freq;\n\tunsigned int policy;\n\tunsigned int last_policy;\n\tstruct cpufreq_governor *governor;\n\tvoid *governor_data;\n\tchar last_governor[16];\n\tstruct work_struct update;\n\tstruct freq_constraints constraints;\n\tstruct freq_qos_request *min_freq_req;\n\tstruct freq_qos_request *max_freq_req;\n\tstruct cpufreq_frequency_table *freq_table;\n\tenum cpufreq_table_sorting freq_table_sorted;\n\tstruct list_head policy_list;\n\tstruct kobject kobj;\n\tstruct completion kobj_unregister;\n\tstruct rw_semaphore rwsem;\n\tbool fast_switch_possible;\n\tbool fast_switch_enabled;\n\tbool strict_target;\n\tbool efficiencies_available;\n\tunsigned int transition_delay_us;\n\tbool dvfs_possible_from_any_cpu;\n\tbool boost_enabled;\n\tunsigned int cached_target_freq;\n\tunsigned int cached_resolved_idx;\n\tbool transition_ongoing;\n\tspinlock_t transition_lock;\n\twait_queue_head_t transition_wait;\n\tstruct task_struct *transition_task;\n\tstruct cpufreq_stats *stats;\n\tvoid *driver_data;\n\tstruct thermal_cooling_device *cdev;\n\tstruct notifier_block nb_min;\n\tstruct notifier_block nb_max;\n};\n\nstruct cpufreq_policy_data {\n\tstruct cpufreq_cpuinfo cpuinfo;\n\tstruct cpufreq_frequency_table *freq_table;\n\tunsigned int cpu;\n\tunsigned int min;\n\tunsigned int max;\n};\n\nstruct cpuhp_cpu_state {\n\tenum cpuhp_state state;\n\tenum cpuhp_state target;\n\tenum cpuhp_state fail;\n\tstruct task_struct *thread;\n\tbool should_run;\n\tbool rollback;\n\tbool single;\n\tbool bringup;\n\tstruct hlist_node *node;\n\tstruct hlist_node *last;\n\tenum cpuhp_state cb_state;\n\tint result;\n\tatomic_t ap_sync_state;\n\tstruct completion done_up;\n\tstruct completion done_down;\n};\n\nstruct cpuhp_step {\n\tconst char *name;\n\tunion {\n\t\tint (*single)(unsigned int);\n\t\tint (*multi)(unsigned int, struct hlist_node *);\n\t} startup;\n\tunion {\n\t\tint (*single)(unsigned int);\n\t\tint (*multi)(unsigned int, struct hlist_node *);\n\t} teardown;\n\tstruct hlist_head list;\n\tbool cant_stop;\n\tbool multi_instance;\n};\n\nstruct cpuidle_device;\n\nstruct cpuidle_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpuidle_device *, char *);\n\tssize_t (*store)(struct cpuidle_device *, const char *, size_t);\n};\n\nstruct cpuidle_state_usage {\n\tlong long unsigned int disable;\n\tlong long unsigned int usage;\n\tu64 time_ns;\n\tlong long unsigned int above;\n\tlong long unsigned int below;\n\tlong long unsigned int rejected;\n\tlong long unsigned int s2idle_usage;\n\tlong long unsigned int s2idle_time;\n};\n\nstruct cpuidle_driver_kobj;\n\nstruct cpuidle_state_kobj;\n\nstruct cpuidle_device_kobj;\n\nstruct cpuidle_device {\n\tunsigned int registered: 1;\n\tunsigned int enabled: 1;\n\tunsigned int poll_time_limit: 1;\n\tunsigned int cpu;\n\tktime_t next_hrtimer;\n\tint last_state_idx;\n\tu64 last_residency_ns;\n\tu64 poll_limit_ns;\n\tu64 forced_idle_latency_limit_ns;\n\tstruct cpuidle_state_usage states_usage[10];\n\tstruct cpuidle_state_kobj *kobjs[10];\n\tstruct cpuidle_driver_kobj *kobj_driver;\n\tstruct cpuidle_device_kobj *kobj_dev;\n\tstruct list_head device_list;\n};\n\nstruct cpuidle_device_kobj {\n\tstruct cpuidle_device *dev;\n\tstruct completion kobj_unregister;\n\tstruct kobject kobj;\n};\n\nstruct cpuidle_driver;\n\nstruct cpuidle_state {\n\tchar name[16];\n\tchar desc[32];\n\ts64 exit_latency_ns;\n\ts64 target_residency_ns;\n\tunsigned int flags;\n\tunsigned int exit_latency;\n\tint power_usage;\n\tunsigned int target_residency;\n\tint (*enter)(struct cpuidle_device *, struct cpuidle_driver *, int);\n\tvoid (*enter_dead)(struct cpuidle_device *, int);\n\tint (*enter_s2idle)(struct cpuidle_device *, struct cpuidle_driver *, int);\n};\n\nstruct cpuidle_driver {\n\tconst char *name;\n\tstruct module *owner;\n\tunsigned int bctimer: 1;\n\tstruct cpuidle_state states[10];\n\tint state_count;\n\tint safe_state_index;\n\tstruct cpumask *cpumask;\n\tconst char *governor;\n};\n\nstruct cpuidle_governor {\n\tchar name[16];\n\tstruct list_head governor_list;\n\tunsigned int rating;\n\tint (*enable)(struct cpuidle_driver *, struct cpuidle_device *);\n\tvoid (*disable)(struct cpuidle_driver *, struct cpuidle_device *);\n\tint (*select)(struct cpuidle_driver *, struct cpuidle_device *, bool *);\n\tvoid (*reflect)(struct cpuidle_device *, int);\n};\n\nstruct cpuidle_state_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpuidle_state *, struct cpuidle_state_usage *, char *);\n\tssize_t (*store)(struct cpuidle_state *, struct cpuidle_state_usage *, const char *, size_t);\n};\n\nstruct cpuidle_state_kobj {\n\tstruct cpuidle_state *state;\n\tstruct cpuidle_state_usage *state_usage;\n\tstruct completion kobj_unregister;\n\tstruct kobject kobj;\n\tstruct cpuidle_device *device;\n};\n\nunion cpumask_rcuhead {\n\tcpumask_t cpumask;\n\tstruct callback_head rcu;\n};\n\nstruct cpupri_vec {\n\tatomic_t count;\n\tcpumask_var_t mask;\n};\n\nstruct cpupri {\n\tstruct cpupri_vec pri_to_cpu[101];\n\tint *cpu_to_pri;\n};\n\nstruct fmeter {\n\tint cnt;\n\tint val;\n\ttime64_t time;\n\tspinlock_t lock;\n};\n\nstruct uf_node {\n\tstruct uf_node *parent;\n\tunsigned int rank;\n};\n\nstruct cpuset {\n\tstruct cgroup_subsys_state css;\n\tlong unsigned int flags;\n\tcpumask_var_t cpus_allowed;\n\tnodemask_t mems_allowed;\n\tcpumask_var_t effective_cpus;\n\tnodemask_t effective_mems;\n\tcpumask_var_t effective_xcpus;\n\tcpumask_var_t exclusive_cpus;\n\tnodemask_t old_mems_allowed;\n\tstruct fmeter fmeter;\n\tint attach_in_progress;\n\tint relax_domain_level;\n\tint nr_subparts;\n\tint partition_root_state;\n\tint nr_deadline_tasks;\n\tint nr_migrate_dl_tasks;\n\tu64 sum_migrate_dl_bw;\n\tenum prs_errcode prs_err;\n\tstruct cgroup_file partition_file;\n\tstruct list_head remote_sibling;\n\tstruct uf_node node;\n};\n\nstruct cpuset_migrate_mm_work {\n\tstruct work_struct work;\n\tstruct mm_struct *mm;\n\tnodemask_t from;\n\tnodemask_t to;\n};\n\nstruct cramfs_info {\n\t__u32 crc;\n\t__u32 edition;\n\t__u32 blocks;\n\t__u32 files;\n};\n\nstruct cramfs_inode {\n\t__u32 mode: 16;\n\t__u32 uid: 16;\n\t__u32 size: 24;\n\t__u32 gid: 8;\n\t__u32 namelen: 6;\n\t__u32 offset: 26;\n};\n\nstruct cramfs_super {\n\t__u32 magic;\n\t__u32 size;\n\t__u32 flags;\n\t__u32 future;\n\t__u8 signature[16];\n\tstruct cramfs_info fsid;\n\t__u8 name[16];\n\tstruct cramfs_inode root;\n};\n\nstruct range {\n\tu64 start;\n\tu64 end;\n};\n\nstruct crash_mem {\n\tunsigned int max_nr_ranges;\n\tunsigned int nr_ranges;\n\tstruct range ranges[0];\n};\n\nstruct group_info;\n\nstruct cred {\n\tatomic_long_t usage;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t suid;\n\tkgid_t sgid;\n\tkuid_t euid;\n\tkgid_t egid;\n\tkuid_t fsuid;\n\tkgid_t fsgid;\n\tunsigned int securebits;\n\tkernel_cap_t cap_inheritable;\n\tkernel_cap_t cap_permitted;\n\tkernel_cap_t cap_effective;\n\tkernel_cap_t cap_bset;\n\tkernel_cap_t cap_ambient;\n\tunsigned char jit_keyring;\n\tstruct key *session_keyring;\n\tstruct key *process_keyring;\n\tstruct key *thread_keyring;\n\tstruct key *request_key_auth;\n\tvoid *security;\n\tstruct user_struct *user;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct group_info *group_info;\n\tunion {\n\t\tint non_rcu;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct crng {\n\tu8 key[32];\n\tlong unsigned int generation;\n\tlocal_lock_t lock;\n};\n\nstruct viosrp_crq;\n\nstruct crq_queue {\n\tstruct viosrp_crq *msgs;\n\tint size;\n\tint cur;\n\tdma_addr_t msg_token;\n\tspinlock_t lock;\n};\n\nstruct crypto_tfm {\n\trefcount_t refcnt;\n\tu32 crt_flags;\n\tint node;\n\tvoid (*exit)(struct crypto_tfm *);\n\tstruct crypto_alg *__crt_alg;\n\tvoid *__crt_ctx[0];\n};\n\nstruct crypto_acomp {\n\tint (*compress)(struct acomp_req *);\n\tint (*decompress)(struct acomp_req *);\n\tvoid (*dst_free)(struct scatterlist *);\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_wait {\n\tstruct completion completion;\n\tint err;\n};\n\nstruct crypto_acomp_ctx {\n\tstruct crypto_acomp *acomp;\n\tstruct acomp_req *req;\n\tstruct crypto_wait wait;\n\tu8 *buffer;\n\tstruct mutex mutex;\n\tbool is_sleepable;\n};\n\nstruct crypto_aead {\n\tunsigned int authsize;\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_spawn {\n\tstruct list_head list;\n\tstruct crypto_alg *alg;\n\tunion {\n\t\tstruct crypto_instance *inst;\n\t\tstruct crypto_spawn *next;\n\t};\n\tconst struct crypto_type *frontend;\n\tu32 mask;\n\tbool dead;\n\tbool registered;\n};\n\nstruct crypto_aead_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_aes_ctx {\n\tu32 key_enc[60];\n\tu32 key_dec[60];\n\tu32 key_length;\n};\n\nstruct crypto_ahash {\n\tbool using_shash;\n\tunsigned int statesize;\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_ahash_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_akcipher {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_akcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_akcipher_sync_data {\n\tstruct crypto_akcipher *tfm;\n\tconst void *src;\n\tvoid *dst;\n\tunsigned int slen;\n\tunsigned int dlen;\n\tstruct akcipher_request *req;\n\tstruct crypto_wait cwait;\n\tstruct scatterlist sg;\n\tu8 *buf;\n};\n\nstruct crypto_attr_alg {\n\tchar name[128];\n};\n\nstruct crypto_attr_type {\n\tu32 type;\n\tu32 mask;\n};\n\nstruct crypto_cipher {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_cipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_comp {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_hash_walk {\n\tchar *data;\n\tunsigned int offset;\n\tunsigned int flags;\n\tstruct page *pg;\n\tunsigned int entrylen;\n\tunsigned int total;\n\tstruct scatterlist *sg;\n};\n\nstruct crypto_kpp {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_kpp_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_larval {\n\tstruct crypto_alg alg;\n\tstruct crypto_alg *adult;\n\tstruct completion completion;\n\tu32 mask;\n\tbool test_started;\n};\n\nstruct crypto_lskcipher {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_lskcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_queue {\n\tstruct list_head list;\n\tstruct list_head *backlog;\n\tunsigned int qlen;\n\tunsigned int max_qlen;\n};\n\nstruct crypto_rng {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_scomp {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_shash {\n\tunsigned int descsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_shash_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_sig {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_sig_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_skcipher {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_skcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_sync_skcipher {\n\tstruct crypto_skcipher base;\n};\n\nstruct rtattr;\n\nstruct crypto_template {\n\tstruct list_head list;\n\tstruct hlist_head instances;\n\tstruct module *module;\n\tint (*create)(struct crypto_template *, struct rtattr **);\n\tchar name[128];\n};\n\nstruct crypto_test_param {\n\tchar driver[128];\n\tchar alg[128];\n\tu32 type;\n};\n\nstruct crypto_type {\n\tunsigned int (*ctxsize)(struct crypto_alg *, u32, u32);\n\tunsigned int (*extsize)(struct crypto_alg *);\n\tint (*init_tfm)(struct crypto_tfm *);\n\tvoid (*show)(struct seq_file *, struct crypto_alg *);\n\tint (*report)(struct sk_buff *, struct crypto_alg *);\n\tvoid (*free)(struct crypto_instance *);\n\tunsigned int type;\n\tunsigned int maskclear;\n\tunsigned int maskset;\n\tunsigned int tfmsize;\n};\n\nstruct rtattr {\n\tshort unsigned int rta_len;\n\tshort unsigned int rta_type;\n};\n\nstruct cryptomgr_param {\n\tstruct rtattr *tb[34];\n\tstruct {\n\t\tstruct rtattr attr;\n\t\tstruct crypto_attr_type data;\n\t} type;\n\tstruct {\n\t\tstruct rtattr attr;\n\t\tstruct crypto_attr_alg data;\n\t} attrs[32];\n\tchar template[128];\n\tstruct crypto_larval *larval;\n\tu32 otype;\n\tu32 omask;\n};\n\nstruct cs_dbs_tuners {\n\tunsigned int down_threshold;\n\tunsigned int freq_step;\n};\n\nstruct dbs_data;\n\nstruct policy_dbs_info {\n\tstruct cpufreq_policy *policy;\n\tstruct mutex update_mutex;\n\tu64 last_sample_time;\n\ts64 sample_delay_ns;\n\tatomic_t work_count;\n\tstruct irq_work irq_work;\n\tstruct work_struct work;\n\tstruct dbs_data *dbs_data;\n\tstruct list_head list;\n\tunsigned int rate_mult;\n\tunsigned int idle_periods;\n\tbool is_shared;\n\tbool work_in_progress;\n};\n\nstruct cs_policy_dbs_info {\n\tstruct policy_dbs_info policy_dbs;\n\tunsigned int down_skip;\n\tunsigned int requested_freq;\n};\n\nstruct csr {\n\tstruct {\n\t\tu8 status;\n\t\tu8 stat_ack;\n\t\tu8 cmd_lo;\n\t\tu8 cmd_hi;\n\t\tu32 gen_ptr;\n\t} scb;\n\tu32 port;\n\tu16 flash_ctrl;\n\tu8 eeprom_ctrl_lo;\n\tu8 eeprom_ctrl_hi;\n\tu32 mdi_ctrl;\n\tu32 rx_dma_count;\n};\n\nstruct mem_ctl_info;\n\nstruct rank_info;\n\nstruct csrow_info {\n\tstruct device dev;\n\tlong unsigned int first_page;\n\tlong unsigned int last_page;\n\tlong unsigned int page_mask;\n\tint csrow_idx;\n\tu32 ue_count;\n\tu32 ce_count;\n\tstruct mem_ctl_info *mci;\n\tu32 nr_channels;\n\tstruct rank_info **channels;\n};\n\nstruct css_set {\n\tstruct cgroup_subsys_state *subsys[11];\n\trefcount_t refcount;\n\tstruct css_set *dom_cset;\n\tstruct cgroup *dfl_cgrp;\n\tint nr_tasks;\n\tstruct list_head tasks;\n\tstruct list_head mg_tasks;\n\tstruct list_head dying_tasks;\n\tstruct list_head task_iters;\n\tstruct list_head e_cset_node[11];\n\tstruct list_head threaded_csets;\n\tstruct list_head threaded_csets_node;\n\tstruct hlist_node hlist;\n\tstruct list_head cgrp_links;\n\tstruct list_head mg_src_preload_node;\n\tstruct list_head mg_dst_preload_node;\n\tstruct list_head mg_node;\n\tstruct cgroup *mg_src_cgrp;\n\tstruct cgroup *mg_dst_cgrp;\n\tstruct css_set *mg_dst_cset;\n\tbool dead;\n\tstruct callback_head callback_head;\n};\n\nstruct css_set__safe_rcu {\n\tstruct cgroup *dfl_cgrp;\n};\n\nstruct cstate {\n\tint state;\n\tuint32_t rep0;\n\tuint32_t rep1;\n\tuint32_t rep2;\n\tuint32_t rep3;\n};\n\nstruct csum_state {\n\t__wsum csum;\n\tsize_t off;\n};\n\nstruct ct_data_s {\n\tunion {\n\t\tush freq;\n\t\tush code;\n\t} fc;\n\tunion {\n\t\tush dad;\n\t\tush len;\n\t} dl;\n};\n\ntypedef struct ct_data_s ct_data;\n\nstruct ctl_table_root;\n\nstruct ctl_table_set;\n\nstruct ctl_dir;\n\nstruct ctl_node;\n\nstruct ctl_table_header {\n\tunion {\n\t\tstruct {\n\t\t\tconst struct ctl_table *ctl_table;\n\t\t\tint ctl_table_size;\n\t\t\tint used;\n\t\t\tint count;\n\t\t\tint nreg;\n\t\t};\n\t\tstruct callback_head rcu;\n\t};\n\tstruct completion *unregistering;\n\tconst struct ctl_table *ctl_table_arg;\n\tstruct ctl_table_root *root;\n\tstruct ctl_table_set *set;\n\tstruct ctl_dir *parent;\n\tstruct ctl_node *node;\n\tstruct hlist_head inodes;\n\tenum {\n\t\tSYSCTL_TABLE_TYPE_DEFAULT = 0,\n\t\tSYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY = 1,\n\t} type;\n};\n\nstruct ctl_dir {\n\tstruct ctl_table_header header;\n\tstruct rb_root root;\n};\n\nstruct edac_device_ctl_info;\n\nstruct ctl_info_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct edac_device_ctl_info *, char *);\n\tssize_t (*store)(struct edac_device_ctl_info *, const char *, size_t);\n};\n\nstruct ctl_node {\n\tstruct rb_node node;\n\tstruct ctl_table_header *header;\n};\n\ntypedef int proc_handler(const struct ctl_table *, int, void *, size_t *, loff_t *);\n\nstruct ctl_table_poll;\n\nstruct ctl_table {\n\tconst char *procname;\n\tvoid *data;\n\tint maxlen;\n\tumode_t mode;\n\tproc_handler *proc_handler;\n\tstruct ctl_table_poll *poll;\n\tvoid *extra1;\n\tvoid *extra2;\n};\n\nstruct ctl_table_poll {\n\tatomic_t event;\n\twait_queue_head_t wait;\n};\n\nstruct ctl_table_set {\n\tint (*is_seen)(struct ctl_table_set *);\n\tstruct ctl_dir dir;\n};\n\nstruct ctl_table_root {\n\tstruct ctl_table_set default_set;\n\tstruct ctl_table_set * (*lookup)(struct ctl_table_root *);\n\tvoid (*set_ownership)(struct ctl_table_header *, kuid_t *, kgid_t *);\n\tint (*permissions)(struct ctl_table_header *, const struct ctl_table *);\n};\n\nstruct netlink_policy_dump_state;\n\nstruct genl_family;\n\nstruct genl_op_iter;\n\nstruct ctrl_dump_policy_ctx {\n\tstruct netlink_policy_dump_state *state;\n\tconst struct genl_family *rt;\n\tstruct genl_op_iter *op_iter;\n\tu32 op;\n\tu16 fam_id;\n\tu8 dump_map: 1;\n\tu8 single_op: 1;\n};\n\nstruct ctx_rq_wait {\n\tstruct completion comp;\n\tatomic_t count;\n};\n\nstruct ctx_switch_entry {\n\tstruct trace_entry ent;\n\tunsigned int prev_pid;\n\tunsigned int next_pid;\n\tunsigned int next_cpu;\n\tunsigned char prev_prio;\n\tunsigned char prev_state;\n\tunsigned char next_prio;\n\tunsigned char next_state;\n};\n\nstruct cyclecounter {\n\tu64 (*read)(const struct cyclecounter *);\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n};\n\nstruct cytp_contact {\n\tint x;\n\tint y;\n\tint z;\n};\n\nstruct cytp_data {\n\tint fw_version;\n\tint pkt_size;\n\tint mode;\n\tint tp_min_pressure;\n\tint tp_max_pressure;\n\tint tp_width;\n\tint tp_high;\n\tint tp_max_abs_x;\n\tint tp_max_abs_y;\n\tint tp_res_x;\n\tint tp_res_y;\n\tint tp_metrics_supported;\n};\n\nstruct cytp_report_data {\n\tint contact_cnt;\n\tstruct cytp_contact contacts[2];\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int tap: 1;\n};\n\nstruct dahash_test {\n\tuint16_t start;\n\tuint16_t length;\n\txfs_dahash_t dahash;\n\txfs_dahash_t ascii_ci_dahash;\n};\n\nstruct data_chunk {\n\tsize_t size;\n\tsize_t icg;\n\tsize_t dst_icg;\n\tsize_t src_icg;\n};\n\nstruct dax_operations;\n\nstruct dax_holder_operations;\n\nstruct dax_device {\n\tstruct inode inode;\n\tstruct cdev cdev;\n\tvoid *private;\n\tlong unsigned int flags;\n\tconst struct dax_operations *ops;\n\tvoid *holder_data;\n\tconst struct dax_holder_operations *holder_ops;\n};\n\nstruct dev_dax;\n\nstruct dax_device_driver {\n\tstruct device_driver drv;\n\tstruct list_head ids;\n\tenum dax_driver_type type;\n\tint (*probe)(struct dev_dax *);\n\tvoid (*remove)(struct dev_dax *);\n};\n\nstruct dax_holder_operations {\n\tint (*notify_failure)(struct dax_device *, u64, u64, int);\n};\n\nstruct dax_id {\n\tstruct list_head list;\n\tchar dev_name[30];\n};\n\nstruct dax_mapping {\n\tstruct device dev;\n\tint range_id;\n\tint id;\n};\n\nstruct dax_operations {\n\tlong int (*direct_access)(struct dax_device *, long unsigned int, long int, enum dax_access_mode, void **, pfn_t *);\n\tint (*zero_page_range)(struct dax_device *, long unsigned int, size_t);\n\tsize_t (*recovery_write)(struct dax_device *, long unsigned int, void *, size_t, struct iov_iter *);\n};\n\nstruct ida {\n\tstruct xarray xa;\n};\n\nstruct dax_region {\n\tint id;\n\tint target_node;\n\tstruct kref kref;\n\tstruct device *dev;\n\tunsigned int align;\n\tstruct ida ida;\n\tstruct resource res;\n\tstruct device *seed;\n\tstruct device *youngest;\n};\n\nstruct gov_attr_set {\n\tstruct kobject kobj;\n\tstruct list_head policy_list;\n\tstruct mutex update_lock;\n\tint usage_count;\n};\n\nstruct dbs_governor;\n\nstruct dbs_data {\n\tstruct gov_attr_set attr_set;\n\tstruct dbs_governor *gov;\n\tvoid *tuners;\n\tunsigned int ignore_nice_load;\n\tunsigned int sampling_rate;\n\tunsigned int sampling_down_factor;\n\tunsigned int up_threshold;\n\tunsigned int io_is_busy;\n};\n\nstruct sysfs_ops;\n\nstruct kobj_type {\n\tvoid (*release)(struct kobject *);\n\tconst struct sysfs_ops *sysfs_ops;\n\tconst struct attribute_group **default_groups;\n\tconst struct kobj_ns_type_operations * (*child_ns_type)(const struct kobject *);\n\tconst void * (*namespace)(const struct kobject *);\n\tvoid (*get_ownership)(const struct kobject *, kuid_t *, kgid_t *);\n};\n\nstruct dbs_governor {\n\tstruct cpufreq_governor gov;\n\tstruct kobj_type kobj_type;\n\tstruct dbs_data *gdbs_data;\n\tunsigned int (*gov_dbs_update)(struct cpufreq_policy *);\n\tstruct policy_dbs_info * (*alloc)(void);\n\tvoid (*free)(struct policy_dbs_info *);\n\tint (*init)(struct dbs_data *);\n\tvoid (*exit)(struct dbs_data *);\n\tvoid (*start)(struct cpufreq_policy *);\n};\n\nstruct dccp_hdr {\n\t__be16 dccph_sport;\n\t__be16 dccph_dport;\n\t__u8 dccph_doff;\n\t__u8 dccph_cscov: 4;\n\t__u8 dccph_ccval: 4;\n\t__sum16 dccph_checksum;\n\t__u8 dccph_x: 1;\n\t__u8 dccph_type: 4;\n\t__u8 dccph_reserved: 3;\n\t__u8 dccph_seq2;\n\t__be16 dccph_seq;\n};\n\nstruct io_stats_per_prio {\n\tuint32_t inserted;\n\tuint32_t merged;\n\tuint32_t dispatched;\n\tatomic_t completed;\n};\n\nstruct dd_per_prio {\n\tstruct list_head dispatch;\n\tstruct rb_root sort_list[2];\n\tstruct list_head fifo_list[2];\n\tsector_t latest_pos[2];\n\tstruct io_stats_per_prio stats;\n};\n\nstruct ddw_create_response {\n\tu32 liobn;\n\tu32 addr_hi;\n\tu32 addr_lo;\n};\n\nstruct ddw_query_response {\n\tu32 windows_available;\n\tu64 largest_available_block;\n\tu32 page_size;\n\tu32 migration_capable;\n};\n\nstruct deadline_data {\n\tstruct dd_per_prio per_prio[3];\n\tenum dd_data_dir last_dir;\n\tunsigned int batching;\n\tunsigned int starved;\n\tint fifo_expire[2];\n\tint fifo_batch;\n\tint writes_starved;\n\tint front_merges;\n\tu32 async_depth;\n\tint prio_aging_expire;\n\tspinlock_t lock;\n};\n\nstruct ohci_hcd;\n\nstruct debug_buffer {\n\tssize_t (*fill_func)(struct debug_buffer *);\n\tstruct ohci_hcd *ohci;\n\tstruct mutex mutex;\n\tsize_t count;\n\tchar *page;\n};\n\nstruct debug_reg {};\n\nstruct debug_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 msg_mask;\n};\n\nstruct debugfs_blob_wrapper {\n\tvoid *data;\n\tlong unsigned int size;\n};\n\nstruct debugfs_cancellation {\n\tstruct list_head list;\n\tvoid (*cancel)(struct dentry *, void *);\n\tvoid *cancel_data;\n};\n\nstruct debugfs_devm_entry {\n\tint (*read)(struct seq_file *, void *);\n\tstruct device *dev;\n};\n\nstruct debugfs_fs_info {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tunsigned int opts;\n};\n\nstruct debugfs_short_fops;\n\nstruct debugfs_fsdata {\n\tconst struct file_operations *real_fops;\n\tconst struct debugfs_short_fops *short_fops;\n\tstruct {\n\t\trefcount_t active_users;\n\t\tstruct completion active_users_drained;\n\t\tstruct mutex cancellations_mtx;\n\t\tstruct list_head cancellations;\n\t\tunsigned int methods;\n\t};\n};\n\ntypedef struct vfsmount * (*debugfs_automount_t)(struct dentry *, void *);\n\nstruct debugfs_inode_info {\n\tstruct inode vfs_inode;\n\tunion {\n\t\tconst void *raw;\n\t\tconst struct file_operations *real_fops;\n\t\tconst struct debugfs_short_fops *short_fops;\n\t\tdebugfs_automount_t automount;\n\t};\n\tconst void *aux;\n};\n\nstruct debugfs_reg32 {\n\tchar *name;\n\tlong unsigned int offset;\n};\n\nstruct debugfs_regset32 {\n\tconst struct debugfs_reg32 *regs;\n\tint nregs;\n\tvoid *base;\n\tstruct device *dev;\n};\n\nstruct debugfs_short_fops {\n\tssize_t (*read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct file *, const char *, size_t, loff_t *);\n\tloff_t (*llseek)(struct file *, loff_t, int);\n};\n\nstruct debugfs_u32_array {\n\tu32 *array;\n\tu32 n_elements;\n};\n\nstruct skcipher_request;\n\nstruct decryptor_desc {\n\tu8 iv[16];\n\tstruct skcipher_request *req;\n\tstruct scatterlist frags[4];\n\tint fragno;\n\tint fraglen;\n};\n\nstruct dma_fence;\n\nstruct dma_fence_cb;\n\ntypedef void (*dma_fence_func_t)(struct dma_fence *, struct dma_fence_cb *);\n\nstruct dma_fence_cb {\n\tstruct list_head node;\n\tdma_fence_func_t func;\n};\n\nstruct default_wait_cb {\n\tstruct dma_fence_cb base;\n\tstruct task_struct *task;\n};\n\nstruct deferred_split {\n\tspinlock_t split_queue_lock;\n\tstruct list_head split_queue;\n\tlong unsigned int split_queue_len;\n};\n\nstruct z_stream_s;\n\ntypedef struct z_stream_s z_stream;\n\ntypedef z_stream *z_streamp;\n\nstruct static_tree_desc_s;\n\ntypedef struct static_tree_desc_s static_tree_desc;\n\nstruct tree_desc_s {\n\tct_data *dyn_tree;\n\tint max_code;\n\tstatic_tree_desc *stat_desc;\n};\n\nstruct deflate_state {\n\tz_streamp strm;\n\tint status;\n\tByte *pending_buf;\n\tulg pending_buf_size;\n\tByte *pending_out;\n\tint pending;\n\tint noheader;\n\tByte data_type;\n\tByte method;\n\tint last_flush;\n\tuInt w_size;\n\tuInt w_bits;\n\tuInt w_mask;\n\tByte *window;\n\tulg window_size;\n\tPos *prev;\n\tPos *head;\n\tuInt ins_h;\n\tuInt hash_size;\n\tuInt hash_bits;\n\tuInt hash_mask;\n\tuInt hash_shift;\n\tlong int block_start;\n\tuInt match_length;\n\tIPos prev_match;\n\tint match_available;\n\tuInt strstart;\n\tuInt match_start;\n\tuInt lookahead;\n\tuInt prev_length;\n\tuInt max_chain_length;\n\tuInt max_lazy_match;\n\tint level;\n\tint strategy;\n\tuInt good_match;\n\tint nice_match;\n\tstruct ct_data_s dyn_ltree[573];\n\tstruct ct_data_s dyn_dtree[61];\n\tstruct ct_data_s bl_tree[39];\n\tstruct tree_desc_s l_desc;\n\tstruct tree_desc_s d_desc;\n\tstruct tree_desc_s bl_desc;\n\tush bl_count[16];\n\tint heap[573];\n\tint heap_len;\n\tint heap_max;\n\tuch depth[573];\n\tuch *l_buf;\n\tuInt lit_bufsize;\n\tuInt last_lit;\n\tush *d_buf;\n\tulg opt_len;\n\tulg static_len;\n\tulg compressed_len;\n\tuInt matches;\n\tint last_eob_len;\n\tush bi_buf;\n\tint bi_valid;\n};\n\nstruct deflate_workspace {\n\tdeflate_state deflate_memory;\n\tByte *window_memory;\n\tPos *prev_memory;\n\tPos *head_memory;\n\tchar *overlay_memory;\n};\n\ntypedef struct deflate_workspace deflate_workspace;\n\nstruct delayed_call {\n\tvoid (*fn)(void *);\n\tvoid *arg;\n};\n\nstruct delayed_uprobe {\n\tstruct list_head list;\n\tstruct uprobe *uprobe;\n\tstruct mm_struct *mm;\n};\n\nstruct demotion_nodes {\n\tnodemask_t preferred;\n};\n\nstruct hlist_bl_node {\n\tstruct hlist_bl_node *next;\n\tstruct hlist_bl_node **pprev;\n};\n\nstruct qstr {\n\tunion {\n\t\tstruct {\n\t\t\tu32 hash;\n\t\t\tu32 len;\n\t\t};\n\t\tu64 hash_len;\n\t};\n\tconst unsigned char *name;\n};\n\nunion shortname_store {\n\tunsigned char string[40];\n\tlong unsigned int words[5];\n};\n\nstruct lockref {\n\tunion {\n\t\t__u64 lock_count;\n\t\tstruct {\n\t\t\tspinlock_t lock;\n\t\t\tint count;\n\t\t};\n\t};\n};\n\nstruct dentry_operations;\n\nstruct dentry {\n\tunsigned int d_flags;\n\tseqcount_spinlock_t d_seq;\n\tstruct hlist_bl_node d_hash;\n\tstruct dentry *d_parent;\n\tstruct qstr d_name;\n\tstruct inode *d_inode;\n\tunion shortname_store d_shortname;\n\tconst struct dentry_operations *d_op;\n\tstruct super_block *d_sb;\n\tlong unsigned int d_time;\n\tvoid *d_fsdata;\n\tstruct lockref d_lockref;\n\tunion {\n\t\tstruct list_head d_lru;\n\t\twait_queue_head_t *d_wait;\n\t};\n\tstruct hlist_node d_sib;\n\tstruct hlist_head d_children;\n\tunion {\n\t\tstruct hlist_node d_alias;\n\t\tstruct hlist_bl_node d_in_lookup_hash;\n\t\tstruct callback_head d_rcu;\n\t} d_u;\n};\n\nstruct dentry__safe_trusted {\n\tstruct inode *d_inode;\n};\n\nstruct dentry_info_args {\n\tint parent_ino;\n\tint dname_len;\n\tint ino;\n\tint inode_len;\n\tchar *dname;\n};\n\nstruct dentry_operations {\n\tint (*d_revalidate)(struct inode *, const struct qstr *, struct dentry *, unsigned int);\n\tint (*d_weak_revalidate)(struct dentry *, unsigned int);\n\tint (*d_hash)(const struct dentry *, struct qstr *);\n\tint (*d_compare)(const struct dentry *, unsigned int, const char *, const struct qstr *);\n\tint (*d_delete)(const struct dentry *);\n\tint (*d_init)(struct dentry *);\n\tvoid (*d_release)(struct dentry *);\n\tvoid (*d_prune)(struct dentry *);\n\tvoid (*d_iput)(struct dentry *, struct inode *);\n\tchar * (*d_dname)(struct dentry *, char *, int);\n\tstruct vfsmount * (*d_automount)(struct path *);\n\tint (*d_manage)(const struct path *, bool);\n\tstruct dentry * (*d_real)(struct dentry *, enum d_real_type);\n\tbool (*d_unalias_trylock)(const struct dentry *);\n\tvoid (*d_unalias_unlock)(const struct dentry *);\n\tlong: 64;\n};\n\nstruct dentry_stat_t {\n\tlong int nr_dentry;\n\tlong int nr_unused;\n\tlong int age_limit;\n\tlong int want_pages;\n\tlong int nr_negative;\n\tlong int dummy;\n};\n\nstruct slab;\n\nstruct detached_freelist {\n\tstruct slab *slab;\n\tvoid *tail;\n\tvoid *freelist;\n\tint cnt;\n\tstruct kmem_cache *s;\n};\n\nstruct detected_devices_node {\n\tstruct list_head list;\n\tdev_t dev;\n};\n\nstruct dev_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct list_head exceptions;\n\tenum devcg_behavior behavior;\n};\n\nstruct dev_ch_attribute {\n\tstruct device_attribute attr;\n\tunsigned int channel;\n};\n\nstruct dev_pagemap;\n\nstruct dev_dax_range;\n\nstruct dev_dax {\n\tstruct dax_region *region;\n\tstruct dax_device *dax_dev;\n\tunsigned int align;\n\tint target_node;\n\tbool dyn_id;\n\tint id;\n\tstruct ida ida;\n\tstruct device dev;\n\tstruct dev_pagemap *pgmap;\n\tbool memmap_on_memory;\n\tint nr_range;\n\tstruct dev_dax_range *ranges;\n};\n\nstruct dev_dax_data {\n\tstruct dax_region *dax_region;\n\tstruct dev_pagemap *pgmap;\n\tresource_size_t size;\n\tint id;\n\tbool memmap_on_memory;\n};\n\nstruct dev_dax_range {\n\tlong unsigned int pgoff;\n\tstruct range range;\n\tstruct dax_mapping *mapping;\n};\n\nstruct dev_exception_item {\n\tu32 major;\n\tu32 minor;\n\tshort int type;\n\tshort int access;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct dev_ext_attribute {\n\tstruct device_attribute attr;\n\tvoid *var;\n};\n\nstruct dev_ifalias {\n\tstruct callback_head rcuhead;\n\tchar ifalias[0];\n};\n\nstruct md_rdev;\n\nstruct dev_info {\n\tstruct md_rdev *rdev;\n\tsector_t end_sector;\n};\n\nstruct iommu_fault_param;\n\nstruct iommu_fwspec;\n\nstruct iommu_device;\n\nstruct dev_iommu {\n\tstruct mutex lock;\n\tstruct iommu_fault_param *fault_param;\n\tstruct iommu_fwspec *fwspec;\n\tstruct iommu_device *iommu_dev;\n\tvoid *priv;\n\tu32 max_pasids;\n\tu32 attach_deferred: 1;\n\tu32 pci_32bit_workaround: 1;\n\tu32 require_direct: 1;\n\tu32 shadow_on_flush: 1;\n};\n\nstruct dev_kfree_skb_cb {\n\tenum skb_drop_reason reason;\n};\n\nstruct vmem_altmap {\n\tlong unsigned int base_pfn;\n\tconst long unsigned int end_pfn;\n\tconst long unsigned int reserve;\n\tlong unsigned int free;\n\tlong unsigned int align;\n\tlong unsigned int alloc;\n\tbool inaccessible;\n};\n\nstruct dev_pagemap_ops;\n\nstruct dev_pagemap {\n\tstruct vmem_altmap altmap;\n\tstruct percpu_ref ref;\n\tstruct completion done;\n\tenum memory_type type;\n\tunsigned int flags;\n\tlong unsigned int vmemmap_shift;\n\tconst struct dev_pagemap_ops *ops;\n\tvoid *owner;\n\tint nr_range;\n\tunion {\n\t\tstruct range range;\n\t\tstruct {\n\t\t\tstruct {} __empty_ranges;\n\t\t\tstruct range ranges[0];\n\t\t};\n\t};\n};\n\nstruct vm_fault;\n\nstruct dev_pagemap_ops {\n\tvoid (*page_free)(struct page *);\n\tvm_fault_t (*migrate_to_ram)(struct vm_fault *);\n\tint (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int);\n};\n\nstruct dev_pm_ops {\n\tint (*prepare)(struct device *);\n\tvoid (*complete)(struct device *);\n\tint (*suspend)(struct device *);\n\tint (*resume)(struct device *);\n\tint (*freeze)(struct device *);\n\tint (*thaw)(struct device *);\n\tint (*poweroff)(struct device *);\n\tint (*restore)(struct device *);\n\tint (*suspend_late)(struct device *);\n\tint (*resume_early)(struct device *);\n\tint (*freeze_late)(struct device *);\n\tint (*thaw_early)(struct device *);\n\tint (*poweroff_late)(struct device *);\n\tint (*restore_early)(struct device *);\n\tint (*suspend_noirq)(struct device *);\n\tint (*resume_noirq)(struct device *);\n\tint (*freeze_noirq)(struct device *);\n\tint (*thaw_noirq)(struct device *);\n\tint (*poweroff_noirq)(struct device *);\n\tint (*restore_noirq)(struct device *);\n\tint (*runtime_suspend)(struct device *);\n\tint (*runtime_resume)(struct device *);\n\tint (*runtime_idle)(struct device *);\n};\n\nstruct dev_pm_domain {\n\tstruct dev_pm_ops ops;\n\tint (*start)(struct device *);\n\tvoid (*detach)(struct device *, bool);\n\tint (*activate)(struct device *);\n\tvoid (*sync)(struct device *);\n\tvoid (*dismiss)(struct device *);\n\tint (*set_performance_state)(struct device *, unsigned int);\n};\n\nstruct dev_pm_domain_attach_data {\n\tconst char * const *pd_names;\n\tconst u32 num_pd_names;\n\tconst u32 pd_flags;\n};\n\nstruct device_link;\n\nstruct dev_pm_domain_list {\n\tstruct device **pd_devs;\n\tstruct device_link **pd_links;\n\tu32 *opp_tokens;\n\tu32 num_pds;\n};\n\nstruct opp_table;\n\nstruct dev_pm_opp;\n\ntypedef int (*config_clks_t)(struct device *, struct opp_table *, struct dev_pm_opp *, void *, bool);\n\ntypedef int (*config_regulators_t)(struct device *, struct dev_pm_opp *, struct dev_pm_opp *, struct regulator **, unsigned int);\n\nstruct dev_pm_opp_config {\n\tconst char * const *clk_names;\n\tconfig_clks_t config_clks;\n\tconst char *prop_name;\n\tconfig_regulators_t config_regulators;\n\tconst unsigned int *supported_hw;\n\tunsigned int supported_hw_count;\n\tconst char * const *regulator_names;\n\tstruct device *required_dev;\n\tunsigned int required_dev_index;\n};\n\nstruct pm_qos_flags {\n\tstruct list_head list;\n\ts32 effective_flags;\n};\n\nstruct dev_pm_qos_request;\n\nstruct dev_pm_qos {\n\tstruct pm_qos_constraints resume_latency;\n\tstruct pm_qos_constraints latency_tolerance;\n\tstruct freq_constraints freq;\n\tstruct pm_qos_flags flags;\n\tstruct dev_pm_qos_request *resume_latency_req;\n\tstruct dev_pm_qos_request *latency_tolerance_req;\n\tstruct dev_pm_qos_request *flags_req;\n};\n\nstruct plist_node {\n\tint prio;\n\tstruct list_head prio_list;\n\tstruct list_head node_list;\n};\n\nstruct pm_qos_flags_request {\n\tstruct list_head node;\n\ts32 flags;\n};\n\nstruct freq_qos_request {\n\tenum freq_qos_req_type type;\n\tstruct plist_node pnode;\n\tstruct freq_constraints *qos;\n};\n\nstruct dev_pm_qos_request {\n\tenum dev_pm_qos_req_type type;\n\tunion {\n\t\tstruct plist_node pnode;\n\t\tstruct pm_qos_flags_request flr;\n\t\tstruct freq_qos_request freq;\n\t} data;\n\tstruct device *dev;\n};\n\nstruct dev_printk_info {\n\tchar subsystem[16];\n\tchar device[48];\n};\n\nstruct device_attach_data {\n\tstruct device *dev;\n\tbool check_async;\n\tbool want_async;\n\tbool have_async;\n};\n\nunion device_attr_group_devres {\n\tconst struct attribute_group *group;\n\tconst struct attribute_group **groups;\n};\n\nstruct device_link {\n\tstruct device *supplier;\n\tstruct list_head s_node;\n\tstruct device *consumer;\n\tstruct list_head c_node;\n\tstruct device link_dev;\n\tenum device_link_state status;\n\tu32 flags;\n\trefcount_t rpm_active;\n\tstruct kref kref;\n\tstruct work_struct rm_work;\n\tbool supplier_preactivated;\n};\n\nstruct fwnode_operations;\n\nstruct fwnode_handle {\n\tstruct fwnode_handle *secondary;\n\tconst struct fwnode_operations *ops;\n\tstruct device *dev;\n\tstruct list_head suppliers;\n\tstruct list_head consumers;\n\tu8 flags;\n};\n\nstruct property;\n\nstruct device_node {\n\tconst char *name;\n\tphandle phandle;\n\tconst char *full_name;\n\tstruct fwnode_handle fwnode;\n\tstruct property *properties;\n\tstruct property *deadprops;\n\tstruct device_node *parent;\n\tstruct device_node *child;\n\tstruct device_node *sibling;\n\tstruct kobject kobj;\n\tlong unsigned int _flags;\n\tvoid *data;\n};\n\nstruct device_physical_location {\n\tenum device_physical_location_panel panel;\n\tenum device_physical_location_vertical_position vertical_position;\n\tenum device_physical_location_horizontal_position horizontal_position;\n\tbool dock;\n\tbool lid;\n};\n\nstruct klist_node {\n\tvoid *n_klist;\n\tstruct list_head n_node;\n\tstruct kref n_ref;\n};\n\nstruct device_private {\n\tstruct klist klist_children;\n\tstruct klist_node knode_parent;\n\tstruct klist_node knode_driver;\n\tstruct klist_node knode_bus;\n\tstruct klist_node knode_class;\n\tstruct list_head deferred_probe;\n\tconst struct device_driver *async_driver;\n\tchar *deferred_probe_reason;\n\tstruct device *device;\n\tu8 dead: 1;\n};\n\nstruct device_type {\n\tconst char *name;\n\tconst struct attribute_group **groups;\n\tint (*uevent)(const struct device *, struct kobj_uevent_env *);\n\tchar * (*devnode)(const struct device *, umode_t *, kuid_t *, kgid_t *);\n\tvoid (*release)(struct device *);\n\tconst struct dev_pm_ops *pm;\n};\n\nstruct devinet_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table devinet_vars[33];\n};\n\nstruct ratelimit_state {\n\traw_spinlock_t lock;\n\tint interval;\n\tint burst;\n\tint printed;\n\tint missed;\n\tunsigned int flags;\n\tlong unsigned int begin;\n};\n\nstruct printk_buffers {\n\tchar outbuf[2048];\n\tchar scratchbuf[1024];\n};\n\nstruct devkmsg_user {\n\tatomic64_t seq;\n\tstruct ratelimit_state rs;\n\tstruct mutex lock;\n\tstruct printk_buffers pbufs;\n};\n\nstruct devlink_dev_stats {\n\tu32 reload_stats[6];\n\tu32 remote_reload_stats[6];\n};\n\nstruct devlink_dpipe_headers;\n\nstruct devlink_ops;\n\nstruct devlink_rel;\n\nstruct devlink {\n\tu32 index;\n\tstruct xarray ports;\n\tstruct list_head rate_list;\n\tstruct list_head sb_list;\n\tstruct list_head dpipe_table_list;\n\tstruct list_head resource_list;\n\tstruct xarray params;\n\tstruct list_head region_list;\n\tstruct list_head reporter_list;\n\tstruct devlink_dpipe_headers *dpipe_headers;\n\tstruct list_head trap_list;\n\tstruct list_head trap_group_list;\n\tstruct list_head trap_policer_list;\n\tstruct list_head linecard_list;\n\tconst struct devlink_ops *ops;\n\tstruct xarray snapshot_ids;\n\tstruct devlink_dev_stats stats;\n\tstruct device *dev;\n\tpossible_net_t _net;\n\tstruct mutex lock;\n\tstruct lock_class_key lock_key;\n\tu8 reload_failed: 1;\n\trefcount_t refcount;\n\tstruct rcu_work rwork;\n\tstruct devlink_rel *rel;\n\tstruct xarray nested_rels;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tchar priv[0];\n};\n\nstruct devlink_dpipe_header;\n\nstruct devlink_dpipe_action {\n\tenum devlink_dpipe_action_type type;\n\tunsigned int header_index;\n\tstruct devlink_dpipe_header *header;\n\tunsigned int field_id;\n};\n\nstruct genl_info;\n\nstruct devlink_dpipe_dump_ctx {\n\tstruct genl_info *info;\n\tenum devlink_command cmd;\n\tstruct sk_buff *skb;\n\tstruct nlattr *nest;\n\tvoid *hdr;\n};\n\nstruct devlink_dpipe_value;\n\nstruct devlink_dpipe_entry {\n\tu64 index;\n\tstruct devlink_dpipe_value *match_values;\n\tunsigned int match_values_count;\n\tstruct devlink_dpipe_value *action_values;\n\tunsigned int action_values_count;\n\tu64 counter;\n\tbool counter_valid;\n};\n\nstruct devlink_dpipe_field {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int bitwidth;\n\tenum devlink_dpipe_field_mapping_type mapping_type;\n};\n\nstruct devlink_dpipe_header {\n\tconst char *name;\n\tunsigned int id;\n\tstruct devlink_dpipe_field *fields;\n\tunsigned int fields_count;\n\tbool global;\n};\n\nstruct devlink_dpipe_headers {\n\tstruct devlink_dpipe_header **headers;\n\tunsigned int headers_count;\n};\n\nstruct devlink_dpipe_match {\n\tenum devlink_dpipe_match_type type;\n\tunsigned int header_index;\n\tstruct devlink_dpipe_header *header;\n\tunsigned int field_id;\n};\n\nstruct devlink_dpipe_table_ops;\n\nstruct devlink_dpipe_table {\n\tvoid *priv;\n\tstruct list_head list;\n\tconst char *name;\n\tbool counters_enabled;\n\tbool counter_control_extern;\n\tbool resource_valid;\n\tu64 resource_id;\n\tu64 resource_units;\n\tconst struct devlink_dpipe_table_ops *table_ops;\n\tstruct callback_head rcu;\n};\n\nstruct devlink_dpipe_table_ops {\n\tint (*actions_dump)(void *, struct sk_buff *);\n\tint (*matches_dump)(void *, struct sk_buff *);\n\tint (*entries_dump)(void *, bool, struct devlink_dpipe_dump_ctx *);\n\tint (*counters_set_update)(void *, bool);\n\tu64 (*size_get)(void *);\n};\n\nstruct devlink_dpipe_value {\n\tunion {\n\t\tstruct devlink_dpipe_action *action;\n\t\tstruct devlink_dpipe_match *match;\n\t};\n\tunsigned int mapping_value;\n\tbool mapping_valid;\n\tunsigned int value_size;\n\tvoid *value;\n\tvoid *mask;\n};\n\nstruct devlink_flash_component_lookup_ctx {\n\tconst char *lookup_name;\n\tbool lookup_name_found;\n};\n\nstruct devlink_flash_notify {\n\tconst char *status_msg;\n\tconst char *component;\n\tlong unsigned int done;\n\tlong unsigned int total;\n\tlong unsigned int timeout;\n};\n\nstruct firmware;\n\nstruct devlink_flash_update_params {\n\tconst struct firmware *fw;\n\tconst char *component;\n\tu32 overwrite_mask;\n};\n\nstruct devlink_fmsg {\n\tstruct list_head item_list;\n\tint err;\n\tbool putting_binary;\n};\n\nstruct devlink_fmsg_item {\n\tstruct list_head list;\n\tint attrtype;\n\tu8 nla_type;\n\tu16 len;\n\tint value[0];\n};\n\nstruct devlink_health_reporter_ops;\n\nstruct devlink_port;\n\nstruct devlink_health_reporter {\n\tstruct list_head list;\n\tvoid *priv;\n\tconst struct devlink_health_reporter_ops *ops;\n\tstruct devlink *devlink;\n\tstruct devlink_port *devlink_port;\n\tstruct devlink_fmsg *dump_fmsg;\n\tu64 graceful_period;\n\tbool auto_recover;\n\tbool auto_dump;\n\tu8 health_state;\n\tu64 dump_ts;\n\tu64 dump_real_ts;\n\tu64 error_count;\n\tu64 recovery_count;\n\tu64 last_recovery_ts;\n};\n\nstruct devlink_health_reporter_ops {\n\tchar *name;\n\tint (*recover)(struct devlink_health_reporter *, void *, struct netlink_ext_ack *);\n\tint (*dump)(struct devlink_health_reporter *, struct devlink_fmsg *, void *, struct netlink_ext_ack *);\n\tint (*diagnose)(struct devlink_health_reporter *, struct devlink_fmsg *, struct netlink_ext_ack *);\n\tint (*test)(struct devlink_health_reporter *, struct netlink_ext_ack *);\n};\n\nstruct devlink_info_req {\n\tstruct sk_buff *msg;\n\tvoid (*version_cb)(const char *, enum devlink_info_version_type, void *);\n\tvoid *version_cb_priv;\n};\n\nstruct devlink_linecard_ops;\n\nstruct devlink_linecard_type;\n\nstruct devlink_linecard {\n\tstruct list_head list;\n\tstruct devlink *devlink;\n\tunsigned int index;\n\tconst struct devlink_linecard_ops *ops;\n\tvoid *priv;\n\tenum devlink_linecard_state state;\n\tstruct mutex state_lock;\n\tconst char *type;\n\tstruct devlink_linecard_type *types;\n\tunsigned int types_count;\n\tu32 rel_index;\n};\n\nstruct devlink_linecard_ops {\n\tint (*provision)(struct devlink_linecard *, void *, const char *, const void *, struct netlink_ext_ack *);\n\tint (*unprovision)(struct devlink_linecard *, void *, struct netlink_ext_ack *);\n\tbool (*same_provision)(struct devlink_linecard *, void *, const char *, const void *);\n\tunsigned int (*types_count)(struct devlink_linecard *, void *);\n\tvoid (*types_get)(struct devlink_linecard *, void *, unsigned int, const char **, const void **);\n};\n\nstruct devlink_linecard_type {\n\tconst char *type;\n\tconst void *priv;\n};\n\nstruct devlink_nl_dump_state {\n\tlong unsigned int instance;\n\tint idx;\n\tunion {\n\t\tstruct {\n\t\t\tu64 start_offset;\n\t\t};\n\t\tstruct {\n\t\t\tu64 dump_ts;\n\t\t};\n\t};\n};\n\nstruct devlink_obj_desc;\n\nstruct devlink_nl_sock_priv {\n\tstruct devlink_obj_desc *flt;\n\tspinlock_t flt_lock;\n};\n\nstruct devlink_obj_desc {\n\tstruct callback_head rcu;\n\tconst char *bus_name;\n\tconst char *dev_name;\n\tunsigned int port_index;\n\tbool port_index_valid;\n\tlong int data[0];\n};\n\nstruct devlink_sb_pool_info;\n\nstruct devlink_trap;\n\nstruct devlink_trap_group;\n\nstruct devlink_trap_policer;\n\nstruct devlink_port_new_attrs;\n\nstruct devlink_rate;\n\nstruct devlink_ops {\n\tu32 supported_flash_update_params;\n\tlong unsigned int reload_actions;\n\tlong unsigned int reload_limits;\n\tint (*reload_down)(struct devlink *, bool, enum devlink_reload_action, enum devlink_reload_limit, struct netlink_ext_ack *);\n\tint (*reload_up)(struct devlink *, enum devlink_reload_action, enum devlink_reload_limit, u32 *, struct netlink_ext_ack *);\n\tint (*sb_pool_get)(struct devlink *, unsigned int, u16, struct devlink_sb_pool_info *);\n\tint (*sb_pool_set)(struct devlink *, unsigned int, u16, u32, enum devlink_sb_threshold_type, struct netlink_ext_ack *);\n\tint (*sb_port_pool_get)(struct devlink_port *, unsigned int, u16, u32 *);\n\tint (*sb_port_pool_set)(struct devlink_port *, unsigned int, u16, u32, struct netlink_ext_ack *);\n\tint (*sb_tc_pool_bind_get)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u16 *, u32 *);\n\tint (*sb_tc_pool_bind_set)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u16, u32, struct netlink_ext_ack *);\n\tint (*sb_occ_snapshot)(struct devlink *, unsigned int);\n\tint (*sb_occ_max_clear)(struct devlink *, unsigned int);\n\tint (*sb_occ_port_pool_get)(struct devlink_port *, unsigned int, u16, u32 *, u32 *);\n\tint (*sb_occ_tc_port_bind_get)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u32 *, u32 *);\n\tint (*eswitch_mode_get)(struct devlink *, u16 *);\n\tint (*eswitch_mode_set)(struct devlink *, u16, struct netlink_ext_ack *);\n\tint (*eswitch_inline_mode_get)(struct devlink *, u8 *);\n\tint (*eswitch_inline_mode_set)(struct devlink *, u8, struct netlink_ext_ack *);\n\tint (*eswitch_encap_mode_get)(struct devlink *, enum devlink_eswitch_encap_mode *);\n\tint (*eswitch_encap_mode_set)(struct devlink *, enum devlink_eswitch_encap_mode, struct netlink_ext_ack *);\n\tint (*info_get)(struct devlink *, struct devlink_info_req *, struct netlink_ext_ack *);\n\tint (*flash_update)(struct devlink *, struct devlink_flash_update_params *, struct netlink_ext_ack *);\n\tint (*trap_init)(struct devlink *, const struct devlink_trap *, void *);\n\tvoid (*trap_fini)(struct devlink *, const struct devlink_trap *, void *);\n\tint (*trap_action_set)(struct devlink *, const struct devlink_trap *, enum devlink_trap_action, struct netlink_ext_ack *);\n\tint (*trap_group_init)(struct devlink *, const struct devlink_trap_group *);\n\tint (*trap_group_set)(struct devlink *, const struct devlink_trap_group *, const struct devlink_trap_policer *, struct netlink_ext_ack *);\n\tint (*trap_group_action_set)(struct devlink *, const struct devlink_trap_group *, enum devlink_trap_action, struct netlink_ext_ack *);\n\tint (*trap_drop_counter_get)(struct devlink *, const struct devlink_trap *, u64 *);\n\tint (*trap_policer_init)(struct devlink *, const struct devlink_trap_policer *);\n\tvoid (*trap_policer_fini)(struct devlink *, const struct devlink_trap_policer *);\n\tint (*trap_policer_set)(struct devlink *, const struct devlink_trap_policer *, u64, u64, struct netlink_ext_ack *);\n\tint (*trap_policer_counter_get)(struct devlink *, const struct devlink_trap_policer *, u64 *);\n\tint (*port_new)(struct devlink *, const struct devlink_port_new_attrs *, struct netlink_ext_ack *, struct devlink_port **);\n\tint (*rate_leaf_tx_share_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *);\n\tint (*rate_leaf_tx_max_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *);\n\tint (*rate_leaf_tx_priority_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *);\n\tint (*rate_leaf_tx_weight_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *);\n\tint (*rate_node_tx_share_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *);\n\tint (*rate_node_tx_max_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *);\n\tint (*rate_node_tx_priority_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *);\n\tint (*rate_node_tx_weight_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *);\n\tint (*rate_node_new)(struct devlink_rate *, void **, struct netlink_ext_ack *);\n\tint (*rate_node_del)(struct devlink_rate *, void *, struct netlink_ext_ack *);\n\tint (*rate_leaf_parent_set)(struct devlink_rate *, struct devlink_rate *, void *, void *, struct netlink_ext_ack *);\n\tint (*rate_node_parent_set)(struct devlink_rate *, struct devlink_rate *, void *, void *, struct netlink_ext_ack *);\n\tbool (*selftest_check)(struct devlink *, unsigned int, struct netlink_ext_ack *);\n\tenum devlink_selftest_status (*selftest_run)(struct devlink *, unsigned int, struct netlink_ext_ack *);\n};\n\nstruct devlink_param_gset_ctx;\n\nunion devlink_param_value;\n\nstruct devlink_param {\n\tu32 id;\n\tconst char *name;\n\tbool generic;\n\tenum devlink_param_type type;\n\tlong unsigned int supported_cmodes;\n\tint (*get)(struct devlink *, u32, struct devlink_param_gset_ctx *);\n\tint (*set)(struct devlink *, u32, struct devlink_param_gset_ctx *, struct netlink_ext_ack *);\n\tint (*validate)(struct devlink *, u32, union devlink_param_value, struct netlink_ext_ack *);\n};\n\nunion devlink_param_value {\n\tu8 vu8;\n\tu16 vu16;\n\tu32 vu32;\n\tchar vstr[32];\n\tbool vbool;\n};\n\nstruct devlink_param_gset_ctx {\n\tunion devlink_param_value val;\n\tenum devlink_param_cmode cmode;\n};\n\nstruct devlink_param_item {\n\tstruct list_head list;\n\tconst struct devlink_param *param;\n\tunion devlink_param_value driverinit_value;\n\tbool driverinit_value_valid;\n\tunion devlink_param_value driverinit_value_new;\n\tbool driverinit_value_new_valid;\n};\n\nstruct netdev_phys_item_id {\n\tunsigned char id[32];\n\tunsigned char id_len;\n};\n\nstruct devlink_port_phys_attrs {\n\tu32 port_number;\n\tu32 split_subport_number;\n};\n\nstruct devlink_port_pci_pf_attrs {\n\tu32 controller;\n\tu16 pf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_pci_vf_attrs {\n\tu32 controller;\n\tu16 pf;\n\tu16 vf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_pci_sf_attrs {\n\tu32 controller;\n\tu32 sf;\n\tu16 pf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_attrs {\n\tu8 split: 1;\n\tu8 splittable: 1;\n\tu32 lanes;\n\tenum devlink_port_flavour flavour;\n\tstruct netdev_phys_item_id switch_id;\n\tunion {\n\t\tstruct devlink_port_phys_attrs phys;\n\t\tstruct devlink_port_pci_pf_attrs pci_pf;\n\t\tstruct devlink_port_pci_vf_attrs pci_vf;\n\t\tstruct devlink_port_pci_sf_attrs pci_sf;\n\t};\n};\n\nstruct devlink_port_ops;\n\nstruct ib_device;\n\nstruct devlink_port {\n\tstruct list_head list;\n\tstruct list_head region_list;\n\tstruct devlink *devlink;\n\tconst struct devlink_port_ops *ops;\n\tunsigned int index;\n\tspinlock_t type_lock;\n\tenum devlink_port_type type;\n\tenum devlink_port_type desired_type;\n\tunion {\n\t\tstruct {\n\t\t\tstruct net_device *netdev;\n\t\t\tint ifindex;\n\t\t\tchar ifname[16];\n\t\t} type_eth;\n\t\tstruct {\n\t\t\tstruct ib_device *ibdev;\n\t\t} type_ib;\n\t};\n\tstruct devlink_port_attrs attrs;\n\tu8 attrs_set: 1;\n\tu8 switch_port: 1;\n\tu8 registered: 1;\n\tu8 initialized: 1;\n\tstruct delayed_work type_warn_dw;\n\tstruct list_head reporter_list;\n\tstruct devlink_rate *devlink_rate;\n\tstruct devlink_linecard *linecard;\n\tu32 rel_index;\n};\n\nstruct devlink_port_new_attrs {\n\tenum devlink_port_flavour flavour;\n\tunsigned int port_index;\n\tu32 controller;\n\tu32 sfnum;\n\tu16 pfnum;\n\tu8 port_index_valid: 1;\n\tu8 controller_valid: 1;\n\tu8 sfnum_valid: 1;\n};\n\nstruct devlink_port_ops {\n\tint (*port_split)(struct devlink *, struct devlink_port *, unsigned int, struct netlink_ext_ack *);\n\tint (*port_unsplit)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);\n\tint (*port_type_set)(struct devlink_port *, enum devlink_port_type);\n\tint (*port_del)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);\n\tint (*port_fn_hw_addr_get)(struct devlink_port *, u8 *, int *, struct netlink_ext_ack *);\n\tint (*port_fn_hw_addr_set)(struct devlink_port *, const u8 *, int, struct netlink_ext_ack *);\n\tint (*port_fn_roce_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_roce_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_migratable_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_migratable_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_state_get)(struct devlink_port *, enum devlink_port_fn_state *, enum devlink_port_fn_opstate *, struct netlink_ext_ack *);\n\tint (*port_fn_state_set)(struct devlink_port *, enum devlink_port_fn_state, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_crypto_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_crypto_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_packet_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_packet_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_max_io_eqs_get)(struct devlink_port *, u32 *, struct netlink_ext_ack *);\n\tint (*port_fn_max_io_eqs_set)(struct devlink_port *, u32, struct netlink_ext_ack *);\n};\n\nstruct devlink_port_region_ops {\n\tconst char *name;\n\tvoid (*destructor)(const void *);\n\tint (*snapshot)(struct devlink_port *, const struct devlink_port_region_ops *, struct netlink_ext_ack *, u8 **);\n\tint (*read)(struct devlink_port *, const struct devlink_port_region_ops *, struct netlink_ext_ack *, u64, u32, u8 *);\n\tvoid *priv;\n};\n\nstruct devlink_rate {\n\tstruct list_head list;\n\tenum devlink_rate_type type;\n\tstruct devlink *devlink;\n\tvoid *priv;\n\tu64 tx_share;\n\tu64 tx_max;\n\tstruct devlink_rate *parent;\n\tunion {\n\t\tstruct devlink_port *devlink_port;\n\t\tstruct {\n\t\t\tchar *name;\n\t\t\trefcount_t refcnt;\n\t\t};\n\t};\n\tu32 tx_priority;\n\tu32 tx_weight;\n};\n\nstruct devlink_region_ops;\n\nstruct devlink_region {\n\tstruct devlink *devlink;\n\tstruct devlink_port *port;\n\tstruct list_head list;\n\tunion {\n\t\tconst struct devlink_region_ops *ops;\n\t\tconst struct devlink_port_region_ops *port_ops;\n\t};\n\tstruct mutex snapshot_lock;\n\tstruct list_head snapshot_list;\n\tu32 max_snapshots;\n\tu32 cur_snapshots;\n\tu64 size;\n};\n\nstruct devlink_region_ops {\n\tconst char *name;\n\tvoid (*destructor)(const void *);\n\tint (*snapshot)(struct devlink *, const struct devlink_region_ops *, struct netlink_ext_ack *, u8 **);\n\tint (*read)(struct devlink *, const struct devlink_region_ops *, struct netlink_ext_ack *, u64, u32, u8 *);\n\tvoid *priv;\n};\n\ntypedef void devlink_rel_notify_cb_t(struct devlink *, u32);\n\ntypedef void devlink_rel_cleanup_cb_t(struct devlink *, u32, u32);\n\nstruct devlink_rel {\n\tu32 index;\n\trefcount_t refcount;\n\tu32 devlink_index;\n\tstruct {\n\t\tu32 devlink_index;\n\t\tu32 obj_index;\n\t\tdevlink_rel_notify_cb_t *notify_cb;\n\t\tdevlink_rel_cleanup_cb_t *cleanup_cb;\n\t\tstruct delayed_work notify_work;\n\t} nested_in;\n};\n\nstruct devlink_reload_combination {\n\tenum devlink_reload_action action;\n\tenum devlink_reload_limit limit;\n};\n\nstruct devlink_resource_size_params {\n\tu64 size_min;\n\tu64 size_max;\n\tu64 size_granularity;\n\tenum devlink_resource_unit unit;\n};\n\ntypedef u64 devlink_resource_occ_get_t(void *);\n\nstruct devlink_resource {\n\tconst char *name;\n\tu64 id;\n\tu64 size;\n\tu64 size_new;\n\tbool size_valid;\n\tstruct devlink_resource *parent;\n\tstruct devlink_resource_size_params size_params;\n\tstruct list_head list;\n\tstruct list_head resource_list;\n\tdevlink_resource_occ_get_t *occ_get;\n\tvoid *occ_get_priv;\n};\n\nstruct devlink_sb {\n\tstruct list_head list;\n\tunsigned int index;\n\tu32 size;\n\tu16 ingress_pools_count;\n\tu16 egress_pools_count;\n\tu16 ingress_tc_count;\n\tu16 egress_tc_count;\n};\n\nstruct devlink_sb_pool_info {\n\tenum devlink_sb_pool_type pool_type;\n\tu32 size;\n\tenum devlink_sb_threshold_type threshold_type;\n\tu32 cell_size;\n};\n\nstruct devlink_snapshot {\n\tstruct list_head list;\n\tstruct devlink_region *region;\n\tu8 *data;\n\tu32 id;\n};\n\nstruct devlink_stats {\n\tu64_stats_t rx_bytes;\n\tu64_stats_t rx_packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct devlink_trap {\n\tenum devlink_trap_type type;\n\tenum devlink_trap_action init_action;\n\tbool generic;\n\tu16 id;\n\tconst char *name;\n\tu16 init_group_id;\n\tu32 metadata_cap;\n};\n\nstruct devlink_trap_group {\n\tconst char *name;\n\tu16 id;\n\tbool generic;\n\tu32 init_policer_id;\n};\n\nstruct devlink_trap_policer_item;\n\nstruct devlink_trap_group_item {\n\tconst struct devlink_trap_group *group;\n\tstruct devlink_trap_policer_item *policer_item;\n\tstruct list_head list;\n\tstruct devlink_stats *stats;\n};\n\nstruct devlink_trap_item {\n\tconst struct devlink_trap *trap;\n\tstruct devlink_trap_group_item *group_item;\n\tstruct list_head list;\n\tenum devlink_trap_action action;\n\tstruct devlink_stats *stats;\n\tvoid *priv;\n};\n\nstruct flow_action_cookie;\n\nstruct devlink_trap_metadata {\n\tconst char *trap_name;\n\tconst char *trap_group_name;\n\tstruct net_device *input_dev;\n\tnetdevice_tracker dev_tracker;\n\tconst struct flow_action_cookie *fa_cookie;\n\tenum devlink_trap_type trap_type;\n};\n\nstruct devlink_trap_policer {\n\tu32 id;\n\tu64 init_rate;\n\tu64 init_burst;\n\tu64 max_rate;\n\tu64 min_rate;\n\tu64 max_burst;\n\tu64 min_burst;\n};\n\nstruct devlink_trap_policer_item {\n\tconst struct devlink_trap_policer *policer;\n\tu64 rate;\n\tu64 burst;\n\tstruct list_head list;\n};\n\ntypedef void (*dr_release_t)(struct device *, void *);\n\nstruct devres_node {\n\tstruct list_head entry;\n\tdr_release_t release;\n\tconst char *name;\n\tsize_t size;\n};\n\nstruct devres {\n\tstruct devres_node node;\n\tu8 data[0];\n};\n\nstruct devres_group {\n\tstruct devres_node node[2];\n\tvoid *id;\n\tint color;\n};\n\nstruct dictionary {\n\tuint8_t *buf;\n\tsize_t start;\n\tsize_t pos;\n\tsize_t full;\n\tsize_t limit;\n\tsize_t end;\n\tuint32_t size;\n\tuint32_t size_max;\n\tuint32_t allocated;\n\tenum xz_mode mode;\n};\n\nstruct die_args {\n\tstruct pt_regs *regs;\n\tconst char *str;\n\tlong int err;\n\tint trapnr;\n\tint signr;\n};\n\nstruct dim_stats {\n\tint ppms;\n\tint bpms;\n\tint epms;\n\tint cpms;\n\tint cpe_ratio;\n};\n\nstruct dim_sample {\n\tktime_t time;\n\tu32 pkt_ctr;\n\tu32 byte_ctr;\n\tu16 event_ctr;\n\tu32 comp_ctr;\n};\n\nstruct dim {\n\tu8 state;\n\tstruct dim_stats prev_stats;\n\tstruct dim_sample start_sample;\n\tstruct dim_sample measuring_sample;\n\tstruct work_struct work;\n\tvoid *priv;\n\tu8 profile_ix;\n\tu8 mode;\n\tu8 tune_state;\n\tu8 steps_right;\n\tu8 steps_left;\n\tu8 tired;\n};\n\nstruct dim_cq_moder {\n\tu16 usec;\n\tu16 pkts;\n\tu16 comps;\n\tu8 cq_period_mode;\n\tstruct callback_head rcu;\n};\n\nstruct dim_irq_moder {\n\tu8 profile_flags;\n\tu8 coal_flags;\n\tu8 dim_rx_mode;\n\tu8 dim_tx_mode;\n\tstruct dim_cq_moder *rx_profile;\n\tstruct dim_cq_moder *tx_profile;\n\tvoid (*rx_dim_work)(struct work_struct *);\n\tvoid (*tx_dim_work)(struct work_struct *);\n};\n\nstruct dimm_info {\n\tstruct device dev;\n\tchar label[32];\n\tunsigned int location[3];\n\tstruct mem_ctl_info *mci;\n\tunsigned int idx;\n\tu32 grain;\n\tenum dev_type dtype;\n\tenum mem_type mtype;\n\tenum edac_type edac_mode;\n\tu32 nr_pages;\n\tunsigned int csrow;\n\tunsigned int cschannel;\n\tu16 smbios_handle;\n\tu32 ce_count;\n\tu32 ue_count;\n};\n\ntypedef int dio_iodone_t(struct kiocb *, loff_t, ssize_t, void *);\n\nstruct dio {\n\tint flags;\n\tblk_opf_t opf;\n\tstruct gendisk *bio_disk;\n\tstruct inode *inode;\n\tloff_t i_size;\n\tdio_iodone_t *end_io;\n\tbool is_pinned;\n\tvoid *private;\n\tspinlock_t bio_lock;\n\tint page_errors;\n\tint is_async;\n\tbool defer_completion;\n\tbool should_dirty;\n\tint io_error;\n\tlong unsigned int refcount;\n\tstruct bio *bio_list;\n\tstruct task_struct *waiter;\n\tstruct kiocb *iocb;\n\tssize_t result;\n\tunion {\n\t\tstruct page *pages[64];\n\t\tstruct work_struct complete_work;\n\t};\n\tlong: 64;\n};\n\ntypedef int get_block_t(struct inode *, sector_t, struct buffer_head *, int);\n\nstruct dio_submit {\n\tstruct bio *bio;\n\tunsigned int blkbits;\n\tunsigned int blkfactor;\n\tunsigned int start_zero_done;\n\tint pages_in_io;\n\tsector_t block_in_file;\n\tunsigned int blocks_available;\n\tint reap_counter;\n\tsector_t final_block_in_request;\n\tint boundary;\n\tget_block_t *get_block;\n\tloff_t logical_offset_in_bio;\n\tsector_t final_block_in_bio;\n\tsector_t next_block_for_io;\n\tstruct page *cur_page;\n\tunsigned int cur_page_offset;\n\tunsigned int cur_page_len;\n\tsector_t cur_page_block;\n\tloff_t cur_page_fs_offset;\n\tstruct iov_iter *iter;\n\tunsigned int head;\n\tunsigned int tail;\n\tsize_t from;\n\tsize_t to;\n};\n\nstruct dioattr {\n\t__u32 d_mem;\n\t__u32 d_miniosz;\n\t__u32 d_maxiosz;\n};\n\nstruct dir_context;\n\ntypedef bool (*filldir_t)(struct dir_context *, const char *, int, loff_t, u64, unsigned int);\n\nstruct dir_context {\n\tfilldir_t actor;\n\tloff_t pos;\n};\n\nstruct dir_entry {\n\tstruct list_head list;\n\ttime64_t mtime;\n\tchar name[0];\n};\n\nstruct fname;\n\nstruct dir_private_info {\n\tstruct rb_root root;\n\tstruct rb_node *curr_node;\n\tstruct fname *extra_fname;\n\tloff_t last_pos;\n\t__u32 curr_hash;\n\t__u32 curr_minor_hash;\n\t__u32 next_hash;\n\tu64 cookie;\n\tbool initialized;\n};\n\nstruct wb_domain;\n\nstruct dirty_throttle_control {\n\tstruct wb_domain *dom;\n\tstruct dirty_throttle_control *gdtc;\n\tstruct bdi_writeback *wb;\n\tstruct fprop_local_percpu *wb_completions;\n\tlong unsigned int avail;\n\tlong unsigned int dirty;\n\tlong unsigned int thresh;\n\tlong unsigned int bg_thresh;\n\tlong unsigned int wb_dirty;\n\tlong unsigned int wb_thresh;\n\tlong unsigned int wb_bg_thresh;\n\tlong unsigned int pos_ratio;\n\tbool freerun;\n\tbool dirty_exceeded;\n};\n\nstruct disk_events {\n\tstruct list_head node;\n\tstruct gendisk *disk;\n\tspinlock_t lock;\n\tstruct mutex block_mutex;\n\tint block;\n\tunsigned int pending;\n\tunsigned int clearing;\n\tlong int poll_msecs;\n\tstruct delayed_work dwork;\n};\n\nstruct disk_stats {\n\tu64 nsecs[4];\n\tlong unsigned int sectors[4];\n\tlong unsigned int ios[4];\n\tlong unsigned int merges[4];\n\tlong unsigned int io_ticks;\n\tlocal_t in_flight[2];\n};\n\nstruct dispatch_rq_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct request *rq;\n};\n\nstruct div_result {\n\tu64 result_high;\n\tu64 result_low;\n};\n\nstruct dl_bw {\n\traw_spinlock_t lock;\n\tu64 bw;\n\tu64 total_bw;\n};\n\nstruct dl_rq {\n\tstruct rb_root_cached root;\n\tunsigned int dl_nr_running;\n\tstruct {\n\t\tu64 curr;\n\t\tu64 next;\n\t} earliest_dl;\n\tbool overloaded;\n\tstruct rb_root_cached pushable_dl_tasks_root;\n\tu64 running_bw;\n\tu64 this_bw;\n\tu64 extra_bw;\n\tu64 max_bw;\n\tu64 bw_ratio;\n};\n\nstruct dm_arg {\n\tunsigned int min;\n\tunsigned int max;\n\tchar *error;\n};\n\nstruct dm_arg_set {\n\tunsigned int argc;\n\tchar **argv;\n};\n\nstruct dm_blkdev_id {\n\tu8 *id;\n\tenum blk_unique_id type;\n};\n\nstruct dm_dev {\n\tstruct block_device *bdev;\n\tstruct file *bdev_file;\n\tstruct dax_device *dax_dev;\n\tblk_mode_t mode;\n\tchar name[16];\n};\n\nstruct dm_dev_internal {\n\tstruct list_head list;\n\trefcount_t count;\n\tstruct dm_dev *dm_dev;\n};\n\nstruct dm_ioctl {\n\t__u32 version[3];\n\t__u32 data_size;\n\t__u32 data_start;\n\t__u32 target_count;\n\t__s32 open_count;\n\t__u32 flags;\n\t__u32 event_nr;\n\t__u32 padding;\n\t__u64 dev;\n\tchar name[128];\n\tchar uuid[129];\n\tchar data[7];\n};\n\nstruct dm_target_spec;\n\nstruct dm_device {\n\tstruct dm_ioctl dmi;\n\tstruct dm_target_spec *table[256];\n\tchar *target_args_array[256];\n\tstruct list_head list;\n};\n\nstruct dm_file {\n\tvolatile unsigned int global_event_nr;\n};\n\nstruct dm_ima_device_table_metadata {\n\tchar *device_metadata;\n\tunsigned int device_metadata_len;\n\tunsigned int num_targets;\n\tchar *hash;\n\tunsigned int hash_len;\n};\n\nstruct dm_ima_measurements {\n\tstruct dm_ima_device_table_metadata active_table;\n\tstruct dm_ima_device_table_metadata inactive_table;\n\tunsigned int dm_version_str_len;\n};\n\nstruct dm_stats_aux {\n\tbool merged;\n\tlong long unsigned int duration_ns;\n};\n\nstruct dm_target;\n\nstruct dm_target_io {\n\tshort unsigned int magic;\n\tblk_short_t flags;\n\tunsigned int target_bio_nr;\n\tstruct dm_io *io;\n\tstruct dm_target *ti;\n\tunsigned int *len_ptr;\n\tsector_t old_sector;\n\tstruct bio clone;\n};\n\nstruct mapped_device;\n\nstruct dm_io {\n\tshort unsigned int magic;\n\tblk_short_t flags;\n\tspinlock_t lock;\n\tlong unsigned int start_time;\n\tvoid *data;\n\tstruct dm_io *next;\n\tstruct dm_stats_aux stats_aux;\n\tblk_status_t status;\n\tatomic_t io_count;\n\tstruct mapped_device *md;\n\tstruct bio *orig_bio;\n\tunsigned int sector_offset;\n\tunsigned int sectors;\n\tstruct dm_target_io tio;\n};\n\nstruct dm_io_client {\n\tmempool_t pool;\n\tstruct bio_set bios;\n};\n\nstruct page_list;\n\nstruct dm_io_memory {\n\tenum dm_io_mem_type type;\n\tunsigned int offset;\n\tunion {\n\t\tstruct page_list *pl;\n\t\tstruct bio *bio;\n\t\tvoid *vma;\n\t\tvoid *addr;\n\t} ptr;\n};\n\ntypedef void (*io_notify_fn)(long unsigned int, void *);\n\nstruct dm_io_notify {\n\tio_notify_fn fn;\n\tvoid *context;\n};\n\nstruct dm_io_region {\n\tstruct block_device *bdev;\n\tsector_t sector;\n\tsector_t count;\n};\n\nstruct dm_io_request {\n\tblk_opf_t bi_opf;\n\tstruct dm_io_memory mem;\n\tstruct dm_io_notify notify;\n\tstruct dm_io_client *client;\n};\n\nstruct dm_kcopyd_throttle;\n\nstruct dm_kcopyd_client {\n\tstruct page_list *pages;\n\tunsigned int nr_reserved_pages;\n\tunsigned int nr_free_pages;\n\tunsigned int sub_job_size;\n\tstruct dm_io_client *io_client;\n\twait_queue_head_t destroyq;\n\tmempool_t job_pool;\n\tstruct workqueue_struct *kcopyd_wq;\n\tstruct work_struct kcopyd_work;\n\tstruct dm_kcopyd_throttle *throttle;\n\tatomic_t nr_jobs;\n\tspinlock_t job_lock;\n\tstruct list_head callback_jobs;\n\tstruct list_head complete_jobs;\n\tstruct list_head io_jobs;\n\tstruct list_head pages_jobs;\n};\n\nstruct dm_kcopyd_throttle {\n\tunsigned int throttle;\n\tunsigned int num_io_jobs;\n\tunsigned int io_period;\n\tunsigned int total_period;\n\tunsigned int last_jiffies;\n};\n\nstruct dm_kobject_holder {\n\tstruct kobject kobj;\n\tstruct completion completion;\n};\n\nstruct dm_md_mempools {\n\tstruct bio_set bs;\n\tstruct bio_set io_bs;\n};\n\nstruct dm_name_list {\n\t__u64 dev;\n\t__u32 next;\n\tchar name[0];\n};\n\nstruct pr_keys;\n\nstruct pr_held_reservation;\n\nstruct dm_pr {\n\tu64 old_key;\n\tu64 new_key;\n\tu32 flags;\n\tbool abort;\n\tbool fail_early;\n\tint ret;\n\tenum pr_type type;\n\tstruct pr_keys *read_keys;\n\tstruct pr_held_reservation *rsv;\n};\n\nstruct dm_rq_target_io;\n\nstruct dm_rq_clone_bio_info {\n\tstruct bio *orig;\n\tstruct dm_rq_target_io *tio;\n\tstruct bio clone;\n};\n\nstruct kthread_work;\n\ntypedef void (*kthread_work_func_t)(struct kthread_work *);\n\nstruct kthread_worker;\n\nstruct kthread_work {\n\tstruct list_head node;\n\tkthread_work_func_t func;\n\tstruct kthread_worker *worker;\n\tint canceling;\n};\n\nunion map_info {\n\tvoid *ptr;\n};\n\nstruct dm_rq_target_io {\n\tstruct mapped_device *md;\n\tstruct dm_target *ti;\n\tstruct request *orig;\n\tstruct request *clone;\n\tstruct kthread_work work;\n\tblk_status_t error;\n\tunion map_info info;\n\tstruct dm_stats_aux stats_aux;\n\tlong unsigned int duration_jiffies;\n\tunsigned int n_sectors;\n\tunsigned int completed;\n};\n\nstruct dm_stat_percpu {\n\tlong long unsigned int sectors[2];\n\tlong long unsigned int ios[2];\n\tlong long unsigned int merges[2];\n\tlong long unsigned int ticks[2];\n\tlong long unsigned int io_ticks[2];\n\tlong long unsigned int io_ticks_total;\n\tlong long unsigned int time_in_queue;\n\tlong long unsigned int *histogram;\n};\n\nstruct dm_stat_shared {\n\tatomic_t in_flight[2];\n\tlong long unsigned int stamp;\n\tstruct dm_stat_percpu tmp;\n};\n\nstruct dm_stat {\n\tstruct list_head list_entry;\n\tint id;\n\tunsigned int stat_flags;\n\tsize_t n_entries;\n\tsector_t start;\n\tsector_t end;\n\tsector_t step;\n\tunsigned int n_histogram_entries;\n\tlong long unsigned int *histogram_boundaries;\n\tconst char *program_id;\n\tconst char *aux_data;\n\tstruct callback_head callback_head;\n\tsize_t shared_alloc_size;\n\tsize_t percpu_alloc_size;\n\tsize_t histogram_alloc_size;\n\tstruct dm_stat_percpu *stat_percpu[2048];\n\tstruct dm_stat_shared stat_shared[0];\n};\n\nstruct dm_stats_last_position;\n\nstruct dm_stats {\n\tstruct mutex mutex;\n\tstruct list_head list;\n\tstruct dm_stats_last_position *last;\n\tbool precise_timestamps;\n};\n\nstruct dm_stats_last_position {\n\tsector_t last_sector;\n\tunsigned int last_rw;\n};\n\nstruct dm_sysfs_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct mapped_device *, char *);\n\tssize_t (*store)(struct mapped_device *, const char *, size_t);\n};\n\nstruct target_type;\n\nstruct dm_table {\n\tstruct mapped_device *md;\n\tenum dm_queue_mode type;\n\tunsigned int depth;\n\tunsigned int counts[16];\n\tsector_t *index[16];\n\tunsigned int num_targets;\n\tunsigned int num_allocated;\n\tsector_t *highs;\n\tstruct dm_target *targets;\n\tstruct target_type *immutable_target_type;\n\tbool integrity_supported: 1;\n\tbool singleton: 1;\n\tbool flush_bypasses_map: 1;\n\tblk_mode_t mode;\n\tstruct list_head devices;\n\tstruct rw_semaphore devices_lock;\n\tvoid (*event_fn)(void *);\n\tvoid *event_context;\n\tstruct dm_md_mempools *mempools;\n};\n\nstruct dm_target {\n\tstruct dm_table *table;\n\tstruct target_type *type;\n\tsector_t begin;\n\tsector_t len;\n\tuint32_t max_io_len;\n\tunsigned int num_flush_bios;\n\tunsigned int num_discard_bios;\n\tunsigned int num_secure_erase_bios;\n\tunsigned int num_write_zeroes_bios;\n\tunsigned int per_io_data_size;\n\tvoid *private;\n\tchar *error;\n\tbool flush_supported: 1;\n\tbool discards_supported: 1;\n\tbool zone_reset_all_supported: 1;\n\tbool max_discard_granularity: 1;\n\tbool limit_swap_bios: 1;\n\tbool emulate_zone_append: 1;\n\tbool accounts_remapped_io: 1;\n\tbool needs_bio_set_dev: 1;\n\tbool flush_bypasses_map: 1;\n\tbool mempool_needs_integrity: 1;\n};\n\nstruct dm_target_deps {\n\t__u32 count;\n\t__u32 padding;\n\t__u64 dev[0];\n};\n\nstruct dm_target_msg {\n\t__u64 sector;\n\tchar message[0];\n};\n\nstruct dm_target_spec {\n\t__u64 sector_start;\n\t__u64 length;\n\t__s32 status;\n\t__u32 next;\n\tchar target_type[16];\n};\n\nstruct dm_target_versions {\n\t__u32 next;\n\t__u32 version[3];\n\tchar name[0];\n};\n\nstruct kobj_uevent_env {\n\tchar *argv[3];\n\tchar *envp[64];\n\tint envp_idx;\n\tchar buf[2048];\n\tint buflen;\n};\n\nstruct dm_uevent {\n\tstruct mapped_device *md;\n\tenum kobject_action action;\n\tstruct kobj_uevent_env ku_env;\n\tstruct list_head elist;\n\tchar name[128];\n\tchar uuid[129];\n};\n\ntypedef void (*dma_async_tx_callback)(void *);\n\nstruct dmaengine_result;\n\ntypedef void (*dma_async_tx_callback_result)(void *, const struct dmaengine_result *);\n\nstruct dma_chan;\n\nstruct dmaengine_unmap_data;\n\nstruct dma_descriptor_metadata_ops;\n\nstruct dma_async_tx_descriptor {\n\tdma_cookie_t cookie;\n\tenum dma_ctrl_flags flags;\n\tdma_addr_t phys;\n\tstruct dma_chan *chan;\n\tdma_cookie_t (*tx_submit)(struct dma_async_tx_descriptor *);\n\tint (*desc_free)(struct dma_async_tx_descriptor *);\n\tdma_async_tx_callback callback;\n\tdma_async_tx_callback_result callback_result;\n\tvoid *callback_param;\n\tstruct dmaengine_unmap_data *unmap;\n\tenum dma_desc_metadata_mode desc_metadata_mode;\n\tstruct dma_descriptor_metadata_ops *metadata_ops;\n};\n\nstruct dma_block {\n\tstruct dma_block *next_block;\n\tdma_addr_t dma;\n};\n\nstruct iosys_map {\n\tunion {\n\t\tvoid *vaddr_iomem;\n\t\tvoid *vaddr;\n\t};\n\tbool is_iomem;\n};\n\nstruct dma_buf_poll_cb_t {\n\tstruct dma_fence_cb cb;\n\twait_queue_head_t *poll;\n\t__poll_t active;\n};\n\nstruct dma_buf_ops;\n\nstruct dma_resv;\n\nstruct dma_buf {\n\tsize_t size;\n\tstruct file *file;\n\tstruct list_head attachments;\n\tconst struct dma_buf_ops *ops;\n\tunsigned int vmapping_counter;\n\tstruct iosys_map vmap_ptr;\n\tconst char *exp_name;\n\tconst char *name;\n\tspinlock_t name_lock;\n\tstruct module *owner;\n\tstruct list_head list_node;\n\tvoid *priv;\n\tstruct dma_resv *resv;\n\twait_queue_head_t poll;\n\tstruct dma_buf_poll_cb_t cb_in;\n\tstruct dma_buf_poll_cb_t cb_out;\n};\n\nstruct dma_buf_attachment;\n\nstruct dma_buf_attach_ops {\n\tbool allow_peer2peer;\n\tvoid (*move_notify)(struct dma_buf_attachment *);\n};\n\nstruct sg_table;\n\nstruct dma_buf_attachment {\n\tstruct dma_buf *dmabuf;\n\tstruct device *dev;\n\tstruct list_head node;\n\tstruct sg_table *sgt;\n\tenum dma_data_direction dir;\n\tbool peer2peer;\n\tconst struct dma_buf_attach_ops *importer_ops;\n\tvoid *importer_priv;\n\tvoid *priv;\n};\n\nstruct dma_buf_export_info {\n\tconst char *exp_name;\n\tstruct module *owner;\n\tconst struct dma_buf_ops *ops;\n\tsize_t size;\n\tint flags;\n\tstruct dma_resv *resv;\n\tvoid *priv;\n};\n\nstruct dma_buf_ops {\n\tbool cache_sgt_mapping;\n\tint (*attach)(struct dma_buf *, struct dma_buf_attachment *);\n\tvoid (*detach)(struct dma_buf *, struct dma_buf_attachment *);\n\tint (*pin)(struct dma_buf_attachment *);\n\tvoid (*unpin)(struct dma_buf_attachment *);\n\tstruct sg_table * (*map_dma_buf)(struct dma_buf_attachment *, enum dma_data_direction);\n\tvoid (*unmap_dma_buf)(struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction);\n\tvoid (*release)(struct dma_buf *);\n\tint (*begin_cpu_access)(struct dma_buf *, enum dma_data_direction);\n\tint (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);\n\tint (*mmap)(struct dma_buf *, struct vm_area_struct *);\n\tint (*vmap)(struct dma_buf *, struct iosys_map *);\n\tvoid (*vunmap)(struct dma_buf *, struct iosys_map *);\n};\n\nstruct dma_buf_sync {\n\t__u64 flags;\n};\n\nstruct dma_chan___2 {\n\tint lock;\n\tconst char *device_id;\n};\n\nstruct dma_device;\n\nstruct dma_chan_dev;\n\nstruct dma_chan_percpu;\n\nstruct dma_router;\n\nstruct dma_chan {\n\tstruct dma_device *device;\n\tstruct device *slave;\n\tdma_cookie_t cookie;\n\tdma_cookie_t completed_cookie;\n\tint chan_id;\n\tstruct dma_chan_dev *dev;\n\tconst char *name;\n\tchar *dbg_client_name;\n\tstruct list_head device_node;\n\tstruct dma_chan_percpu *local;\n\tint client_count;\n\tint table_count;\n\tstruct dma_router *router;\n\tvoid *route_data;\n\tvoid *private;\n};\n\nstruct dma_chan_dev {\n\tstruct dma_chan *chan;\n\tstruct device device;\n\tint dev_id;\n\tbool chan_dma_dev;\n};\n\nstruct dma_chan_percpu {\n\tlong unsigned int memcpy_count;\n\tlong unsigned int bytes_transferred;\n};\n\nstruct dma_coherent_mem {\n\tvoid *virt_base;\n\tdma_addr_t device_base;\n\tlong unsigned int pfn_base;\n\tint size;\n\tlong unsigned int *bitmap;\n\tspinlock_t spinlock;\n\tbool use_dev_dma_pfn_offset;\n};\n\nstruct dma_descriptor_metadata_ops {\n\tint (*attach)(struct dma_async_tx_descriptor *, void *, size_t);\n\tvoid * (*get_ptr)(struct dma_async_tx_descriptor *, size_t *, size_t *);\n\tint (*set_len)(struct dma_async_tx_descriptor *, size_t);\n};\n\ntypedef bool (*dma_filter_fn)(struct dma_chan *, void *);\n\nstruct dma_slave_map;\n\nstruct dma_filter {\n\tdma_filter_fn fn;\n\tint mapcnt;\n\tconst struct dma_slave_map *map;\n};\n\nstruct dma_vec;\n\nstruct dma_interleaved_template;\n\nstruct dma_slave_caps;\n\nstruct dma_slave_config;\n\nstruct dma_tx_state;\n\nstruct dma_device {\n\tstruct kref ref;\n\tunsigned int chancnt;\n\tunsigned int privatecnt;\n\tstruct list_head channels;\n\tstruct list_head global_node;\n\tstruct dma_filter filter;\n\tdma_cap_mask_t cap_mask;\n\tenum dma_desc_metadata_mode desc_metadata_modes;\n\tshort unsigned int max_xor;\n\tshort unsigned int max_pq;\n\tenum dmaengine_alignment copy_align;\n\tenum dmaengine_alignment xor_align;\n\tenum dmaengine_alignment pq_align;\n\tenum dmaengine_alignment fill_align;\n\tint dev_id;\n\tstruct device *dev;\n\tstruct module *owner;\n\tstruct ida chan_ida;\n\tu32 src_addr_widths;\n\tu32 dst_addr_widths;\n\tu32 directions;\n\tu32 min_burst;\n\tu32 max_burst;\n\tu32 max_sg_burst;\n\tbool descriptor_reuse;\n\tenum dma_residue_granularity residue_granularity;\n\tint (*device_alloc_chan_resources)(struct dma_chan *);\n\tint (*device_router_config)(struct dma_chan *);\n\tvoid (*device_free_chan_resources)(struct dma_chan *);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memcpy)(struct dma_chan *, dma_addr_t, dma_addr_t, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_xor)(struct dma_chan *, dma_addr_t, dma_addr_t *, unsigned int, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_xor_val)(struct dma_chan *, dma_addr_t *, unsigned int, size_t, enum sum_check_flags *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_pq)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_pq_val)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, enum sum_check_flags *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memset)(struct dma_chan *, dma_addr_t, int, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memset_sg)(struct dma_chan *, struct scatterlist *, unsigned int, int, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_interrupt)(struct dma_chan *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_peripheral_dma_vec)(struct dma_chan *, const struct dma_vec *, size_t, enum dma_transfer_direction, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_slave_sg)(struct dma_chan *, struct scatterlist *, unsigned int, enum dma_transfer_direction, long unsigned int, void *);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_cyclic)(struct dma_chan *, dma_addr_t, size_t, size_t, enum dma_transfer_direction, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_interleaved_dma)(struct dma_chan *, struct dma_interleaved_template *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_imm_data)(struct dma_chan *, dma_addr_t, u64, long unsigned int);\n\tvoid (*device_caps)(struct dma_chan *, struct dma_slave_caps *);\n\tint (*device_config)(struct dma_chan *, struct dma_slave_config *);\n\tint (*device_pause)(struct dma_chan *);\n\tint (*device_resume)(struct dma_chan *);\n\tint (*device_terminate_all)(struct dma_chan *);\n\tvoid (*device_synchronize)(struct dma_chan *);\n\tenum dma_status (*device_tx_status)(struct dma_chan *, dma_cookie_t, struct dma_tx_state *);\n\tvoid (*device_issue_pending)(struct dma_chan *);\n\tvoid (*device_release)(struct dma_device *);\n\tvoid (*dbg_summary_show)(struct seq_file *, struct dma_device *);\n\tstruct dentry *dbg_dev_root;\n};\n\nstruct dma_devres {\n\tsize_t size;\n\tvoid *vaddr;\n\tdma_addr_t dma_handle;\n\tlong unsigned int attrs;\n};\n\nstruct dma_fence_ops;\n\nstruct dma_fence {\n\tspinlock_t *lock;\n\tconst struct dma_fence_ops *ops;\n\tunion {\n\t\tstruct list_head cb_list;\n\t\tktime_t timestamp;\n\t\tstruct callback_head rcu;\n\t};\n\tu64 context;\n\tu64 seqno;\n\tlong unsigned int flags;\n\tstruct kref refcount;\n\tint error;\n};\n\nstruct dma_fence_array;\n\nstruct dma_fence_array_cb {\n\tstruct dma_fence_cb cb;\n\tstruct dma_fence_array *array;\n};\n\nstruct dma_fence_array {\n\tstruct dma_fence base;\n\tspinlock_t lock;\n\tunsigned int num_fences;\n\tatomic_t num_pending;\n\tstruct dma_fence **fences;\n\tstruct irq_work work;\n\tstruct dma_fence_array_cb callbacks[0];\n};\n\nstruct dma_fence_chain {\n\tstruct dma_fence base;\n\tstruct dma_fence *prev;\n\tu64 prev_seqno;\n\tstruct dma_fence *fence;\n\tunion {\n\t\tstruct dma_fence_cb cb;\n\t\tstruct irq_work work;\n\t};\n\tspinlock_t lock;\n};\n\nstruct dma_fence_ops {\n\tbool use_64bit_seqno;\n\tconst char * (*get_driver_name)(struct dma_fence *);\n\tconst char * (*get_timeline_name)(struct dma_fence *);\n\tbool (*enable_signaling)(struct dma_fence *);\n\tbool (*signaled)(struct dma_fence *);\n\tlong int (*wait)(struct dma_fence *, bool, long int);\n\tvoid (*release)(struct dma_fence *);\n\tvoid (*fence_value_str)(struct dma_fence *, char *, int);\n\tvoid (*timeline_value_str)(struct dma_fence *, char *, int);\n\tvoid (*set_deadline)(struct dma_fence *, ktime_t);\n};\n\nstruct dma_fence_unwrap {\n\tstruct dma_fence *chain;\n\tstruct dma_fence *array;\n\tunsigned int index;\n};\n\nstruct dma_interleaved_template {\n\tdma_addr_t src_start;\n\tdma_addr_t dst_start;\n\tenum dma_transfer_direction dir;\n\tbool src_inc;\n\tbool dst_inc;\n\tbool src_sgl;\n\tbool dst_sgl;\n\tsize_t numf;\n\tsize_t frame_size;\n\tstruct data_chunk sgl[0];\n};\n\nstruct dma_map_ops {\n\tvoid * (*alloc)(struct device *, size_t, dma_addr_t *, gfp_t, long unsigned int);\n\tvoid (*free)(struct device *, size_t, void *, dma_addr_t, long unsigned int);\n\tstruct page * (*alloc_pages_op)(struct device *, size_t, dma_addr_t *, enum dma_data_direction, gfp_t);\n\tvoid (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction);\n\tint (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int);\n\tint (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int);\n\tdma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tint (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\tdma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\tvoid (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\tvoid (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction);\n\tvoid (*sync_sg_for_device)(struct device *, struct scatterlist *, int, enum dma_data_direction);\n\tvoid (*cache_sync)(struct device *, void *, size_t, enum dma_data_direction);\n\tint (*dma_supported)(struct device *, u64);\n\tu64 (*get_required_mask)(struct device *);\n\tsize_t (*max_mapping_size)(struct device *);\n\tsize_t (*opt_mapping_size)(void);\n\tlong unsigned int (*get_merge_boundary)(struct device *);\n};\n\nstruct dma_page {\n\tstruct list_head page_list;\n\tvoid *vaddr;\n\tdma_addr_t dma;\n};\n\nstruct dma_pool {\n\tstruct list_head page_list;\n\tspinlock_t lock;\n\tstruct dma_block *next_block;\n\tsize_t nr_blocks;\n\tsize_t nr_active;\n\tsize_t nr_pages;\n\tstruct device *dev;\n\tunsigned int size;\n\tunsigned int allocation;\n\tunsigned int boundary;\n\tchar name[32];\n\tstruct list_head pools;\n};\n\nstruct ww_acquire_ctx;\n\nstruct ww_class;\n\nstruct ww_mutex {\n\tstruct mutex base;\n\tstruct ww_acquire_ctx *ctx;\n\tstruct ww_class *ww_class;\n};\n\nstruct dma_resv_list;\n\nstruct dma_resv {\n\tstruct ww_mutex lock;\n\tstruct dma_resv_list *fences;\n};\n\nstruct dma_resv_iter {\n\tstruct dma_resv *obj;\n\tenum dma_resv_usage usage;\n\tstruct dma_fence *fence;\n\tenum dma_resv_usage fence_usage;\n\tunsigned int index;\n\tstruct dma_resv_list *fences;\n\tunsigned int num_fences;\n\tbool is_restarted;\n};\n\nstruct dma_resv_list {\n\tstruct callback_head rcu;\n\tu32 num_fences;\n\tu32 max_fences;\n\tstruct dma_fence *table[0];\n};\n\nstruct dma_router {\n\tstruct device *dev;\n\tvoid (*route_free)(struct device *, void *);\n};\n\nstruct dma_slave_caps {\n\tu32 src_addr_widths;\n\tu32 dst_addr_widths;\n\tu32 directions;\n\tu32 min_burst;\n\tu32 max_burst;\n\tu32 max_sg_burst;\n\tbool cmd_pause;\n\tbool cmd_resume;\n\tbool cmd_terminate;\n\tenum dma_residue_granularity residue_granularity;\n\tbool descriptor_reuse;\n};\n\nstruct dma_slave_config {\n\tenum dma_transfer_direction direction;\n\tphys_addr_t src_addr;\n\tphys_addr_t dst_addr;\n\tenum dma_slave_buswidth src_addr_width;\n\tenum dma_slave_buswidth dst_addr_width;\n\tu32 src_maxburst;\n\tu32 dst_maxburst;\n\tu32 src_port_window_size;\n\tu32 dst_port_window_size;\n\tbool device_fc;\n\tvoid *peripheral_config;\n\tsize_t peripheral_size;\n};\n\nstruct dma_slave_map {\n\tconst char *devname;\n\tconst char *slave;\n\tvoid *param;\n};\n\nstruct dma_tx_state {\n\tdma_cookie_t last;\n\tdma_cookie_t used;\n\tu32 residue;\n\tu32 in_flight_bytes;\n};\n\nstruct dma_vec {\n\tdma_addr_t addr;\n\tsize_t len;\n};\n\nstruct dynamic_dma_window_prop;\n\nstruct dma_win {\n\tstruct device_node *device;\n\tconst struct dynamic_dma_window_prop *prop;\n\tbool direct;\n\tstruct list_head list;\n};\n\nstruct dmabuf_cmsg {\n\t__u64 frag_offset;\n\t__u32 frag_size;\n\t__u32 frag_token;\n\t__u32 dmabuf_id;\n\t__u32 flags;\n};\n\nstruct net_iov;\n\nstruct net_devmem_dmabuf_binding;\n\nstruct dmabuf_genpool_chunk_owner {\n\tlong unsigned int base_virtual;\n\tdma_addr_t base_dma_addr;\n\tstruct net_iov *niovs;\n\tsize_t num_niovs;\n\tstruct net_devmem_dmabuf_binding *binding;\n};\n\nstruct dmabuf_token {\n\t__u32 token_start;\n\t__u32 token_count;\n};\n\nstruct dmaengine_result {\n\tenum dmaengine_tx_result result;\n\tu32 residue;\n};\n\nstruct dmaengine_unmap_data {\n\tu8 map_cnt;\n\tu8 to_cnt;\n\tu8 from_cnt;\n\tu8 bidi_cnt;\n\tstruct device *dev;\n\tstruct kref kref;\n\tsize_t len;\n\tdma_addr_t addr[0];\n};\n\nstruct dmi_strmatch {\n\tunsigned char slot: 7;\n\tunsigned char exact_match: 1;\n\tchar substr[79];\n};\n\nstruct dmi_system_id {\n\tint (*callback)(const struct dmi_system_id *);\n\tconst char *ident;\n\tstruct dmi_strmatch matches[4];\n\tvoid *driver_data;\n};\n\nstruct fb_videomode;\n\nstruct dmt_videomode {\n\tu32 dmt_id;\n\tu32 std_2byte_code;\n\tu32 cvt_3byte_code;\n\tconst struct fb_videomode *mode;\n};\n\nstruct dnotify_struct;\n\nstruct dnotify_mark {\n\tstruct fsnotify_mark fsn_mark;\n\tstruct dnotify_struct *dn;\n};\n\ntypedef void *fl_owner_t;\n\nstruct dnotify_struct {\n\tstruct dnotify_struct *dn_next;\n\t__u32 dn_mask;\n\tint dn_fd;\n\tstruct file *dn_filp;\n\tfl_owner_t dn_owner;\n};\n\nstruct dns_payload_header {\n\t__u8 zero;\n\t__u8 content;\n\t__u8 version;\n};\n\nstruct dns_server_list_v1_header {\n\tstruct dns_payload_header hdr;\n\t__u8 source;\n\t__u8 status;\n\t__u8 nr_servers;\n};\n\nstruct do_proc_dointvec_minmax_conv_param {\n\tint *min;\n\tint *max;\n};\n\nstruct do_proc_douintvec_minmax_conv_param {\n\tunsigned int *min;\n\tunsigned int *max;\n};\n\nstruct double_list {\n\tstruct list_head *top;\n\tstruct list_head *bottom;\n};\n\nstruct dpages {\n\tvoid (*get_page)(struct dpages *, struct page **, long unsigned int *, unsigned int *);\n\tvoid (*next_page)(struct dpages *);\n\tunion {\n\t\tunsigned int context_u;\n\t\tstruct bvec_iter context_bi;\n\t};\n\tvoid *context_ptr;\n\tvoid *vma_invalidate_address;\n\tlong unsigned int vma_invalidate_size;\n};\n\nstruct dql {\n\tunsigned int num_queued;\n\tunsigned int adj_limit;\n\tunsigned int last_obj_cnt;\n\tshort unsigned int stall_thrs;\n\tlong unsigned int history_head;\n\tlong unsigned int history[4];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunsigned int limit;\n\tunsigned int num_completed;\n\tunsigned int prev_ovlimit;\n\tunsigned int prev_num_queued;\n\tunsigned int prev_last_obj_cnt;\n\tunsigned int lowest_slack;\n\tlong unsigned int slack_start_time;\n\tunsigned int max_limit;\n\tunsigned int min_limit;\n\tunsigned int slack_hold_time;\n\tshort unsigned int stall_max;\n\tlong unsigned int last_reap;\n\tlong unsigned int stall_cnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kqid {\n\tunion {\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t\tkprojid_t projid;\n\t};\n\tenum quota_type type;\n};\n\nstruct mem_dqblk {\n\tqsize_t dqb_bhardlimit;\n\tqsize_t dqb_bsoftlimit;\n\tqsize_t dqb_curspace;\n\tqsize_t dqb_rsvspace;\n\tqsize_t dqb_ihardlimit;\n\tqsize_t dqb_isoftlimit;\n\tqsize_t dqb_curinodes;\n\ttime64_t dqb_btime;\n\ttime64_t dqb_itime;\n};\n\nstruct dquot {\n\tstruct hlist_node dq_hash;\n\tstruct list_head dq_inuse;\n\tstruct list_head dq_free;\n\tstruct list_head dq_dirty;\n\tstruct mutex dq_lock;\n\tspinlock_t dq_dqb_lock;\n\tatomic_t dq_count;\n\tstruct super_block *dq_sb;\n\tstruct kqid dq_id;\n\tloff_t dq_off;\n\tlong unsigned int dq_flags;\n\tstruct mem_dqblk dq_dqb;\n};\n\nstruct dquot_operations {\n\tint (*write_dquot)(struct dquot *);\n\tstruct dquot * (*alloc_dquot)(struct super_block *, int);\n\tvoid (*destroy_dquot)(struct dquot *);\n\tint (*acquire_dquot)(struct dquot *);\n\tint (*release_dquot)(struct dquot *);\n\tint (*mark_dirty)(struct dquot *);\n\tint (*write_info)(struct super_block *, int);\n\tqsize_t * (*get_reserved_space)(struct inode *);\n\tint (*get_projid)(struct inode *, kprojid_t *);\n\tint (*get_inode_usage)(struct inode *, qsize_t *);\n\tint (*get_next_id)(struct super_block *, struct kqid *);\n};\n\nstruct driver_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct device_driver *, char *);\n\tssize_t (*store)(struct device_driver *, const char *, size_t);\n};\n\nstruct module_kobject;\n\nstruct driver_private {\n\tstruct kobject kobj;\n\tstruct klist klist_devices;\n\tstruct klist_node knode_bus;\n\tstruct module_kobject *mkobj;\n\tstruct device_driver *driver;\n};\n\nstruct drmem_lmb {\n\tu64 base_addr;\n\tu32 drc_index;\n\tu32 aa_index;\n\tu32 flags;\n};\n\nstruct drmem_lmb_info {\n\tstruct drmem_lmb *lmbs;\n\tint n_lmbs;\n\tu64 lmb_size;\n};\n\nstruct drop_reason_list {\n\tconst char * const *reasons;\n\tsize_t n_reasons;\n};\n\nstruct pci_driver;\n\nstruct pci_device_id;\n\nstruct drv_dev_and_id {\n\tstruct pci_driver *drv;\n\tstruct pci_dev *dev;\n\tconst struct pci_device_id *id;\n};\n\nstruct regmap;\n\nstruct rtc_device;\n\nstruct ds1307 {\n\tenum ds_type type;\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tconst char *name;\n\tstruct rtc_device *rtc;\n};\n\nstruct ds1307_platform_data {\n\tu8 trickle_charger_setup;\n};\n\nstruct dst_cache_pcpu;\n\nstruct dst_cache {\n\tstruct dst_cache_pcpu *cache;\n\tlong unsigned int reset_ts;\n};\n\nstruct in_addr {\n\t__be32 s_addr;\n};\n\nstruct dst_cache_pcpu {\n\tlong unsigned int refresh_ts;\n\tstruct dst_entry *dst;\n\tu32 cookie;\n\tunion {\n\t\tstruct in_addr in_saddr;\n\t\tstruct in6_addr in6_saddr;\n\t};\n};\n\nstruct dst_ops;\n\nstruct xfrm_state;\n\nstruct uncached_list;\n\nstruct lwtunnel_state;\n\nstruct dst_entry {\n\tstruct net_device *dev;\n\tstruct dst_ops *ops;\n\tlong unsigned int _metrics;\n\tlong unsigned int expires;\n\tstruct xfrm_state *xfrm;\n\tint (*input)(struct sk_buff *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tshort unsigned int flags;\n\tshort int obsolete;\n\tshort unsigned int header_len;\n\tshort unsigned int trailer_len;\n\trcuref_t __rcuref;\n\tint __use;\n\tlong unsigned int lastuse;\n\tstruct callback_head callback_head;\n\tshort int error;\n\tshort int __pad;\n\t__u32 tclassid;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head rt_uncached;\n\tstruct uncached_list *rt_uncached_list;\n\tstruct lwtunnel_state *lwtstate;\n};\n\nstruct dst_metrics {\n\tu32 metrics[17];\n\trefcount_t refcnt;\n};\n\nstruct neighbour;\n\nstruct dst_ops {\n\tshort unsigned int family;\n\tunsigned int gc_thresh;\n\tvoid (*gc)(struct dst_ops *);\n\tstruct dst_entry * (*check)(struct dst_entry *, __u32);\n\tunsigned int (*default_advmss)(const struct dst_entry *);\n\tunsigned int (*mtu)(const struct dst_entry *);\n\tu32 * (*cow_metrics)(struct dst_entry *, long unsigned int);\n\tvoid (*destroy)(struct dst_entry *);\n\tvoid (*ifdown)(struct dst_entry *, struct net_device *);\n\tvoid (*negative_advice)(struct sock *, struct dst_entry *);\n\tvoid (*link_failure)(struct sk_buff *);\n\tvoid (*update_pmtu)(struct dst_entry *, struct sock *, struct sk_buff *, u32, bool);\n\tvoid (*redirect)(struct dst_entry *, struct sock *, struct sk_buff *);\n\tint (*local_out)(struct net *, struct sock *, struct sk_buff *);\n\tstruct neighbour * (*neigh_lookup)(const struct dst_entry *, struct sk_buff *, const void *);\n\tvoid (*confirm_neigh)(const struct dst_entry *, const void *);\n\tstruct kmem_cache *kmem_cachep;\n\tstruct percpu_counter pcpuc_entries;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct dt_cpu_feature {\n\tconst char *name;\n\tuint32_t isa;\n\tuint32_t usable_privilege;\n\tuint32_t hv_support;\n\tuint32_t os_support;\n\tuint32_t hfscr_bit_nr;\n\tuint32_t fscr_bit_nr;\n\tuint32_t hwcap_bit_nr;\n\tlong unsigned int node;\n\tint enabled;\n\tint disabled;\n};\n\nstruct dt_cpu_feature_match {\n\tconst char *name;\n\tint (*enable)(struct dt_cpu_feature *);\n\tu64 cpu_ftr_bit_mask;\n};\n\nstruct dtl_entry;\n\nstruct dtl {\n\tstruct dtl_entry *buf;\n\tint cpu;\n\tint buf_entries;\n\tu64 last_idx;\n\tspinlock_t lock;\n};\n\nstruct dtl_entry {\n\tu8 dispatch_reason;\n\tu8 preempt_reason;\n\t__be16 processor_id;\n\t__be32 enqueue_to_dispatch_time;\n\t__be32 ready_to_enqueue_time;\n\t__be32 waiting_to_ready_time;\n\t__be64 timebase;\n\t__be64 fault_addr;\n\t__be64 srr0;\n\t__be64 srr1;\n};\n\nstruct dtl_worker {\n\tstruct delayed_work work;\n\tint cpu;\n};\n\nstruct dump_obj;\n\nstruct dump_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct dump_obj *, struct dump_attribute *, char *);\n\tssize_t (*store)(struct dump_obj *, struct dump_attribute *, const char *, size_t);\n};\n\nstruct dump_obj {\n\tstruct kobject kobj;\n\tstruct bin_attribute dump_attr;\n\tuint32_t id;\n\tuint32_t type;\n\tuint32_t size;\n\tchar *buffer;\n};\n\nstruct dx_countlimit {\n\t__le16 limit;\n\t__le16 count;\n};\n\nstruct dx_entry {\n\t__le32 hash;\n\t__le32 block;\n};\n\nstruct dx_frame {\n\tstruct buffer_head *bh;\n\tstruct dx_entry *entries;\n\tstruct dx_entry *at;\n};\n\nstruct dx_hash_info {\n\tu32 hash;\n\tu32 minor_hash;\n\tint hash_version;\n\tu32 *seed;\n};\n\nstruct dx_map_entry {\n\tu32 hash;\n\tu16 offs;\n\tu16 size;\n};\n\nstruct fake_dirent {\n\t__le32 inode;\n\t__le16 rec_len;\n\tu8 name_len;\n\tu8 file_type;\n};\n\nstruct dx_node {\n\tstruct fake_dirent fake;\n\tstruct dx_entry entries[0];\n};\n\nstruct dx_root_info {\n\t__le32 reserved_zero;\n\tu8 hash_version;\n\tu8 info_length;\n\tu8 indirect_levels;\n\tu8 unused_flags;\n};\n\nstruct dx_root {\n\tstruct fake_dirent dot;\n\tchar dot_name[4];\n\tstruct fake_dirent dotdot;\n\tchar dotdot_name[4];\n\tstruct dx_root_info info;\n\tstruct dx_entry entries[0];\n};\n\nstruct dx_tail {\n\tu32 dt_reserved;\n\t__le32 dt_checksum;\n};\n\nstruct dyn_arch_ftrace {\n\tlong unsigned int ool_stub;\n};\n\nstruct dyn_event_operations;\n\nstruct dyn_event {\n\tstruct list_head list;\n\tstruct dyn_event_operations *ops;\n};\n\nstruct dyn_event_operations {\n\tstruct list_head list;\n\tint (*create)(const char *);\n\tint (*show)(struct seq_file *, struct dyn_event *);\n\tbool (*is_busy)(struct dyn_event *);\n\tint (*free)(struct dyn_event *);\n\tbool (*match)(const char *, const char *, int, const char **, struct dyn_event *);\n};\n\nstruct dyn_ftrace {\n\tlong unsigned int ip;\n\tlong unsigned int flags;\n\tstruct dyn_arch_ftrace arch;\n};\n\nstruct dynamic_dma_window_prop {\n\t__be32 liobn;\n\t__be64 dma_base;\n\t__be32 tce_shift;\n\t__be32 window_shift;\n};\n\nstruct dynevent_arg {\n\tconst char *str;\n\tchar separator;\n};\n\nstruct dynevent_arg_pair {\n\tconst char *lhs;\n\tconst char *rhs;\n\tchar operator;\n\tchar separator;\n};\n\nstruct seq_buf {\n\tchar *buffer;\n\tsize_t size;\n\tsize_t len;\n};\n\nstruct dynevent_cmd;\n\ntypedef int (*dynevent_create_fn_t)(struct dynevent_cmd *);\n\nstruct dynevent_cmd {\n\tstruct seq_buf seq;\n\tconst char *event_name;\n\tunsigned int n_fields;\n\tenum dynevent_type type;\n\tdynevent_create_fn_t run_command;\n\tvoid *private_data;\n};\n\nstruct gro_list {\n\tstruct list_head list;\n\tint count;\n};\n\nstruct napi_config;\n\nstruct napi_struct {\n\tstruct list_head poll_list;\n\tlong unsigned int state;\n\tint weight;\n\tu32 defer_hard_irqs_count;\n\tlong unsigned int gro_bitmask;\n\tint (*poll)(struct napi_struct *, int);\n\tint poll_owner;\n\tint list_owner;\n\tstruct net_device *dev;\n\tstruct gro_list gro_hash[8];\n\tstruct sk_buff *skb;\n\tstruct list_head rx_list;\n\tint rx_count;\n\tunsigned int napi_id;\n\tstruct hrtimer timer;\n\tstruct task_struct *thread;\n\tlong unsigned int gro_flush_timeout;\n\tlong unsigned int irq_suspend_timeout;\n\tu32 defer_hard_irqs;\n\tstruct list_head dev_list;\n\tstruct hlist_node napi_hash_node;\n\tint irq;\n\tint index;\n\tstruct napi_config *config;\n};\n\nstruct e1000_eeprom_info {\n\te1000_eeprom_type type;\n\tu16 word_size;\n\tu16 opcode_bits;\n\tu16 address_bits;\n\tu16 delay_usec;\n\tu16 page_size;\n};\n\nstruct e1000_host_mng_dhcp_cookie {\n\tu32 signature;\n\tu8 status;\n\tu8 reserved0;\n\tu16 vlan_id;\n\tu32 reserved1;\n\tu16 reserved2;\n\tu8 reserved3;\n\tu8 checksum;\n};\n\nstruct e1000_shadow_ram;\n\nstruct e1000_hw {\n\tu8 *hw_addr;\n\tu8 *flash_address;\n\tvoid *ce4100_gbe_mdio_base_virt;\n\te1000_mac_type mac_type;\n\te1000_phy_type phy_type;\n\tu32 phy_init_script;\n\te1000_media_type media_type;\n\tvoid *back;\n\tstruct e1000_shadow_ram *eeprom_shadow_ram;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\te1000_fc_type fc;\n\te1000_bus_speed bus_speed;\n\te1000_bus_width bus_width;\n\te1000_bus_type bus_type;\n\tstruct e1000_eeprom_info eeprom;\n\te1000_ms_type master_slave;\n\te1000_ms_type original_master_slave;\n\te1000_ffe_config ffe_config_state;\n\tu32 asf_firmware_present;\n\tu32 eeprom_semaphore_present;\n\tlong unsigned int io_base;\n\tu32 phy_id;\n\tu32 phy_revision;\n\tu32 phy_addr;\n\tu32 original_fc;\n\tu32 txcw;\n\tu32 autoneg_failed;\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tu32 mc_filter_type;\n\tu32 num_mc_addrs;\n\tu32 collision_delta;\n\tu32 tx_packet_delta;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tbool tx_pkt_filtering;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tu16 phy_spd_default;\n\tu16 autoneg_advertised;\n\tu16 pci_cmd_word;\n\tu16 fc_high_water;\n\tu16 fc_low_water;\n\tu16 fc_pause_time;\n\tu16 current_ifs_val;\n\tu16 ifs_min_val;\n\tu16 ifs_max_val;\n\tu16 ifs_step_size;\n\tu16 ifs_ratio;\n\tu16 device_id;\n\tu16 vendor_id;\n\tu16 subsystem_id;\n\tu16 subsystem_vendor_id;\n\tu8 revision_id;\n\tu8 autoneg;\n\tu8 mdix;\n\tu8 forced_speed_duplex;\n\tu8 wait_autoneg_complete;\n\tu8 dma_fairness;\n\tu8 mac_addr[6];\n\tu8 perm_mac_addr[6];\n\tbool disable_polarity_correction;\n\tbool speed_downgraded;\n\te1000_smart_speed smart_speed;\n\te1000_dsp_config dsp_config_state;\n\tbool get_link_status;\n\tbool serdes_has_link;\n\tbool tbi_compatibility_en;\n\tbool tbi_compatibility_on;\n\tbool laa_is_present;\n\tbool phy_reset_disable;\n\tbool initialize_hw_bits_disable;\n\tbool fc_send_xon;\n\tbool fc_strict_ieee;\n\tbool report_tx_early;\n\tbool adaptive_ifs;\n\tbool ifs_params_forced;\n\tbool in_ifs_mode;\n\tbool mng_reg_access_disabled;\n\tbool leave_av_bit_off;\n\tbool bad_tx_carr_stats_fd;\n\tbool has_smbus;\n};\n\nstruct e1000_hw_stats {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 txerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorcl;\n\tu64 gorch;\n\tu64 gotcl;\n\tu64 gotch;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rlerrc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 torl;\n\tu64 torh;\n\tu64 totl;\n\tu64 toth;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n};\n\nstruct e1000_phy_info {\n\te1000_cable_length cable_length;\n\te1000_10bt_ext_dist_enable extended_10bt_distance;\n\te1000_rev_polarity cable_polarity;\n\te1000_downshift downshift;\n\te1000_polarity_reversal polarity_correction;\n\te1000_auto_x_mode mdix_mode;\n\te1000_1000t_rx_status local_rx;\n\te1000_1000t_rx_status remote_rx;\n};\n\nstruct e1000_phy_stats {\n\tu32 idle_errors;\n\tu32 receive_errors;\n};\n\nstruct e1000_tx_buffer;\n\nstruct e1000_tx_ring {\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tunsigned int next_to_use;\n\tunsigned int next_to_clean;\n\tstruct e1000_tx_buffer *buffer_info;\n\tu16 tdh;\n\tu16 tdt;\n\tbool last_tx_tso;\n};\n\nstruct e1000_rx_buffer;\n\nstruct e1000_rx_ring {\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tunsigned int next_to_use;\n\tunsigned int next_to_clean;\n\tstruct e1000_rx_buffer *buffer_info;\n\tstruct sk_buff *rx_skb_top;\n\tint cpu;\n\tu16 rdh;\n\tu16 rdt;\n};\n\nstruct e1000_adapter {\n\tlong unsigned int active_vlans[64];\n\tu16 mng_vlan_id;\n\tu32 bd_number;\n\tu32 rx_buffer_len;\n\tu32 wol;\n\tu32 smartspeed;\n\tu32 en_mng_pt;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tspinlock_t stats_lock;\n\tunsigned int total_tx_bytes;\n\tunsigned int total_tx_packets;\n\tunsigned int total_rx_bytes;\n\tunsigned int total_rx_packets;\n\tu32 itr;\n\tu32 itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tu8 fc_autoneg;\n\tstruct e1000_tx_ring *tx_ring;\n\tunsigned int restart_queue;\n\tu32 txd_cmd;\n\tu32 tx_int_delay;\n\tu32 tx_abs_int_delay;\n\tu32 gotcl;\n\tu64 gotcl_old;\n\tu64 tpt_old;\n\tu64 colc_old;\n\tu32 tx_timeout_count;\n\tu32 tx_fifo_head;\n\tu32 tx_head_addr;\n\tu32 tx_fifo_size;\n\tu8 tx_timeout_factor;\n\tatomic_t tx_fifo_stall;\n\tbool pcix_82544;\n\tbool detect_tx_hung;\n\tbool dump_buffers;\n\tbool (*clean_rx)(struct e1000_adapter *, struct e1000_rx_ring *, int *, int);\n\tvoid (*alloc_rx_buf)(struct e1000_adapter *, struct e1000_rx_ring *, int);\n\tstruct e1000_rx_ring *rx_ring;\n\tstruct napi_struct napi;\n\tint num_tx_queues;\n\tint num_rx_queues;\n\tu64 hw_csum_err;\n\tu64 hw_csum_good;\n\tu32 alloc_rx_buff_failed;\n\tu32 rx_int_delay;\n\tu32 rx_abs_int_delay;\n\tbool rx_csum;\n\tu32 gorcl;\n\tu64 gorcl_old;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tstruct e1000_hw hw;\n\tstruct e1000_hw_stats stats;\n\tstruct e1000_phy_info phy_info;\n\tstruct e1000_phy_stats phy_stats;\n\tu32 test_icr;\n\tstruct e1000_tx_ring test_tx_ring;\n\tstruct e1000_rx_ring test_rx_ring;\n\tint msg_enable;\n\tbool tso_force;\n\tbool smart_power_down;\n\tbool quad_port_a;\n\tlong unsigned int flags;\n\tu32 eeprom_wol;\n\tint bars;\n\tint need_ioport;\n\tbool discarding;\n\tstruct work_struct reset_task;\n\tstruct delayed_work watchdog_task;\n\tstruct delayed_work fifo_stall_task;\n\tstruct delayed_work phy_info_task;\n};\n\nstruct e1000_hw___2;\n\nstruct e1000_mac_operations {\n\ts32 (*id_led_init)(struct e1000_hw___2 *);\n\ts32 (*blink_led)(struct e1000_hw___2 *);\n\tbool (*check_mng_mode)(struct e1000_hw___2 *);\n\ts32 (*check_for_link)(struct e1000_hw___2 *);\n\ts32 (*cleanup_led)(struct e1000_hw___2 *);\n\tvoid (*clear_hw_cntrs)(struct e1000_hw___2 *);\n\tvoid (*clear_vfta)(struct e1000_hw___2 *);\n\ts32 (*get_bus_info)(struct e1000_hw___2 *);\n\tvoid (*set_lan_id)(struct e1000_hw___2 *);\n\ts32 (*get_link_up_info)(struct e1000_hw___2 *, u16 *, u16 *);\n\ts32 (*led_on)(struct e1000_hw___2 *);\n\ts32 (*led_off)(struct e1000_hw___2 *);\n\tvoid (*update_mc_addr_list)(struct e1000_hw___2 *, u8 *, u32);\n\ts32 (*reset_hw)(struct e1000_hw___2 *);\n\ts32 (*init_hw)(struct e1000_hw___2 *);\n\ts32 (*setup_link)(struct e1000_hw___2 *);\n\ts32 (*setup_physical_interface)(struct e1000_hw___2 *);\n\ts32 (*setup_led)(struct e1000_hw___2 *);\n\tvoid (*write_vfta)(struct e1000_hw___2 *, u32, u32);\n\tvoid (*config_collision_dist)(struct e1000_hw___2 *);\n\tint (*rar_set)(struct e1000_hw___2 *, u8 *, u32);\n\ts32 (*read_mac_addr)(struct e1000_hw___2 *);\n\tu32 (*rar_get_count)(struct e1000_hw___2 *);\n};\n\nstruct e1000_mac_info {\n\tstruct e1000_mac_operations ops;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tenum e1000_mac_type type;\n\tu32 collision_delta;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tu32 mc_filter_type;\n\tu32 tx_packet_delta;\n\tu32 txcw;\n\tu16 current_ifs_val;\n\tu16 ifs_max_val;\n\tu16 ifs_min_val;\n\tu16 ifs_ratio;\n\tu16 ifs_step_size;\n\tu16 mta_reg_count;\n\tu32 mta_shadow[128];\n\tu16 rar_entry_count;\n\tu8 forced_speed_duplex;\n\tbool adaptive_ifs;\n\tbool has_fwsm;\n\tbool arc_subsystem_valid;\n\tbool autoneg;\n\tbool autoneg_failed;\n\tbool get_link_status;\n\tbool in_ifs_mode;\n\tbool serdes_has_link;\n\tbool tx_pkt_filtering;\n\tenum e1000_serdes_link_state serdes_link_state;\n};\n\nstruct e1000_fc_info {\n\tu32 high_water;\n\tu32 low_water;\n\tu16 pause_time;\n\tu16 refresh_time;\n\tbool send_xon;\n\tbool strict_ieee;\n\tenum e1000_fc_mode current_mode;\n\tenum e1000_fc_mode requested_mode;\n};\n\nstruct e1000_phy_operations {\n\ts32 (*acquire)(struct e1000_hw___2 *);\n\ts32 (*cfg_on_link_up)(struct e1000_hw___2 *);\n\ts32 (*check_polarity)(struct e1000_hw___2 *);\n\ts32 (*check_reset_block)(struct e1000_hw___2 *);\n\ts32 (*commit)(struct e1000_hw___2 *);\n\ts32 (*force_speed_duplex)(struct e1000_hw___2 *);\n\ts32 (*get_cfg_done)(struct e1000_hw___2 *);\n\ts32 (*get_cable_length)(struct e1000_hw___2 *);\n\ts32 (*get_info)(struct e1000_hw___2 *);\n\ts32 (*set_page)(struct e1000_hw___2 *, u16);\n\ts32 (*read_reg)(struct e1000_hw___2 *, u32, u16 *);\n\ts32 (*read_reg_locked)(struct e1000_hw___2 *, u32, u16 *);\n\ts32 (*read_reg_page)(struct e1000_hw___2 *, u32, u16 *);\n\tvoid (*release)(struct e1000_hw___2 *);\n\ts32 (*reset)(struct e1000_hw___2 *);\n\ts32 (*set_d0_lplu_state)(struct e1000_hw___2 *, bool);\n\ts32 (*set_d3_lplu_state)(struct e1000_hw___2 *, bool);\n\ts32 (*write_reg)(struct e1000_hw___2 *, u32, u16);\n\ts32 (*write_reg_locked)(struct e1000_hw___2 *, u32, u16);\n\ts32 (*write_reg_page)(struct e1000_hw___2 *, u32, u16);\n\tvoid (*power_up)(struct e1000_hw___2 *);\n\tvoid (*power_down)(struct e1000_hw___2 *);\n};\n\nstruct e1000_phy_info___2 {\n\tstruct e1000_phy_operations ops;\n\tenum e1000_phy_type type;\n\tenum e1000_1000t_rx_status local_rx;\n\tenum e1000_1000t_rx_status remote_rx;\n\tenum e1000_ms_type ms_type;\n\tenum e1000_ms_type original_ms_type;\n\tenum e1000_rev_polarity cable_polarity;\n\tenum e1000_smart_speed smart_speed;\n\tu32 addr;\n\tu32 id;\n\tu32 reset_delay_us;\n\tu32 revision;\n\tu32 retry_count;\n\tenum e1000_media_type media_type;\n\tu16 autoneg_advertised;\n\tu16 autoneg_mask;\n\tu16 cable_length;\n\tu16 max_cable_length;\n\tu16 min_cable_length;\n\tu8 mdix;\n\tbool disable_polarity_correction;\n\tbool is_mdix;\n\tbool polarity_correction;\n\tbool speed_downgraded;\n\tbool autoneg_wait_to_complete;\n\tbool retry_enabled;\n};\n\nstruct e1000_nvm_operations {\n\ts32 (*acquire)(struct e1000_hw___2 *);\n\ts32 (*read)(struct e1000_hw___2 *, u16, u16, u16 *);\n\tvoid (*release)(struct e1000_hw___2 *);\n\tvoid (*reload)(struct e1000_hw___2 *);\n\ts32 (*update)(struct e1000_hw___2 *);\n\ts32 (*valid_led_default)(struct e1000_hw___2 *, u16 *);\n\ts32 (*validate)(struct e1000_hw___2 *);\n\ts32 (*write)(struct e1000_hw___2 *, u16, u16, u16 *);\n};\n\nstruct e1000_nvm_info {\n\tstruct e1000_nvm_operations ops;\n\tenum e1000_nvm_type type;\n\tenum e1000_nvm_override override;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\tu16 word_size;\n\tu16 delay_usec;\n\tu16 address_bits;\n\tu16 opcode_bits;\n\tu16 page_size;\n};\n\nstruct e1000_bus_info {\n\tenum e1000_bus_width width;\n\tu16 func;\n};\n\nstruct e1000_dev_spec_82571 {\n\tbool laa_is_present;\n\tu32 smb_counter;\n};\n\nstruct e1000_dev_spec_80003es2lan {\n\tbool mdic_wa_enable;\n};\n\nstruct e1000_shadow_ram___2 {\n\tu16 value;\n\tbool modified;\n};\n\nstruct e1000_dev_spec_ich8lan {\n\tbool kmrn_lock_loss_workaround_enabled;\n\tstruct e1000_shadow_ram___2 shadow_ram[2048];\n\tbool nvm_k1_enabled;\n\tbool eee_disable;\n\tu16 eee_lp_ability;\n\tenum e1000_ulp_state ulp_state;\n};\n\nstruct e1000_adapter___2;\n\nstruct e1000_hw___2 {\n\tstruct e1000_adapter___2 *adapter;\n\tvoid *hw_addr;\n\tvoid *flash_address;\n\tstruct e1000_mac_info mac;\n\tstruct e1000_fc_info fc;\n\tstruct e1000_phy_info___2 phy;\n\tstruct e1000_nvm_info nvm;\n\tstruct e1000_bus_info bus;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tunion {\n\t\tstruct e1000_dev_spec_82571 e82571;\n\t\tstruct e1000_dev_spec_80003es2lan e80003es2lan;\n\t\tstruct e1000_dev_spec_ich8lan ich8lan;\n\t} dev_spec;\n};\n\nstruct e1000_hw_stats___2 {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 tor;\n\tu64 tot;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n};\n\nstruct e1000_phy_regs {\n\tu16 bmcr;\n\tu16 bmsr;\n\tu16 advertise;\n\tu16 lpa;\n\tu16 expansion;\n\tu16 ctrl1000;\n\tu16 stat1000;\n\tu16 estatus;\n};\n\nstruct e1000_buffer;\n\nstruct e1000_ring {\n\tstruct e1000_adapter___2 *adapter;\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tu16 next_to_use;\n\tu16 next_to_clean;\n\tvoid *head;\n\tvoid *tail;\n\tstruct e1000_buffer *buffer_info;\n\tchar name[21];\n\tu32 ims_val;\n\tu32 itr_val;\n\tvoid *itr_register;\n\tint set_itr;\n\tstruct sk_buff *rx_skb_top;\n};\n\nstruct hwtstamp_config {\n\tint flags;\n\tint tx_type;\n\tint rx_filter;\n};\n\nstruct timecounter {\n\tconst struct cyclecounter *cc;\n\tu64 cycle_last;\n\tu64 nsec;\n\tu64 mask;\n\tu64 frac;\n};\n\nstruct ptp_pin_desc;\n\nstruct ptp_system_timestamp;\n\nstruct system_device_crosststamp;\n\nstruct ptp_clock_request;\n\nstruct ptp_clock_info {\n\tstruct module *owner;\n\tchar name[32];\n\ts32 max_adj;\n\tint n_alarm;\n\tint n_ext_ts;\n\tint n_per_out;\n\tint n_pins;\n\tint pps;\n\tstruct ptp_pin_desc *pin_config;\n\tint (*adjfine)(struct ptp_clock_info *, long int);\n\tint (*adjphase)(struct ptp_clock_info *, s32);\n\ts32 (*getmaxphase)(struct ptp_clock_info *);\n\tint (*adjtime)(struct ptp_clock_info *, s64);\n\tint (*gettime64)(struct ptp_clock_info *, struct timespec64 *);\n\tint (*gettimex64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *);\n\tint (*getcrosststamp)(struct ptp_clock_info *, struct system_device_crosststamp *);\n\tint (*settime64)(struct ptp_clock_info *, const struct timespec64 *);\n\tint (*getcycles64)(struct ptp_clock_info *, struct timespec64 *);\n\tint (*getcyclesx64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *);\n\tint (*getcrosscycles)(struct ptp_clock_info *, struct system_device_crosststamp *);\n\tint (*enable)(struct ptp_clock_info *, struct ptp_clock_request *, int);\n\tint (*verify)(struct ptp_clock_info *, unsigned int, enum ptp_pin_function, unsigned int);\n\tlong int (*do_aux_work)(struct ptp_clock_info *);\n};\n\nstruct pm_qos_request {\n\tstruct plist_node node;\n\tstruct pm_qos_constraints *qos;\n};\n\nstruct e1000_info;\n\nstruct msix_entry;\n\nstruct ptp_clock;\n\nstruct e1000_adapter___2 {\n\tstruct timer_list watchdog_timer;\n\tstruct timer_list phy_info_timer;\n\tstruct timer_list blink_timer;\n\tstruct work_struct reset_task;\n\tstruct work_struct watchdog_task;\n\tconst struct e1000_info *ei;\n\tlong unsigned int active_vlans[64];\n\tu32 bd_number;\n\tu32 rx_buffer_len;\n\tu16 mng_vlan_id;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tu16 eeprom_vers;\n\tlong unsigned int state;\n\tu32 itr;\n\tu32 itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct e1000_ring *tx_ring;\n\tu32 tx_fifo_limit;\n\tstruct napi_struct napi;\n\tunsigned int uncorr_errors;\n\tunsigned int corr_errors;\n\tunsigned int restart_queue;\n\tu32 txd_cmd;\n\tbool detect_tx_hung;\n\tbool tx_hang_recheck;\n\tu8 tx_timeout_factor;\n\tu32 tx_int_delay;\n\tu32 tx_abs_int_delay;\n\tunsigned int total_tx_bytes;\n\tunsigned int total_tx_packets;\n\tunsigned int total_rx_bytes;\n\tunsigned int total_rx_packets;\n\tu64 tpt_old;\n\tu64 colc_old;\n\tu32 gotc;\n\tu64 gotc_old;\n\tu32 tx_timeout_count;\n\tu32 tx_fifo_head;\n\tu32 tx_head_addr;\n\tu32 tx_fifo_size;\n\tu32 tx_dma_failed;\n\tu32 tx_hwtstamp_timeouts;\n\tu32 tx_hwtstamp_skipped;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tbool (*clean_rx)(struct e1000_ring *, int *, int);\n\tvoid (*alloc_rx_buf)(struct e1000_ring *, int, gfp_t);\n\tstruct e1000_ring *rx_ring;\n\tu32 rx_int_delay;\n\tu32 rx_abs_int_delay;\n\tu64 hw_csum_err;\n\tu64 hw_csum_good;\n\tu64 rx_hdr_split;\n\tu32 gorc;\n\tu64 gorc_old;\n\tu32 alloc_rx_buff_failed;\n\tu32 rx_dma_failed;\n\tu32 rx_hwtstamp_cleared;\n\tunsigned int rx_ps_pages;\n\tu16 rx_ps_bsize0;\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tstruct e1000_hw___2 hw;\n\tspinlock_t stats64_lock;\n\tstruct e1000_hw_stats___2 stats;\n\tstruct e1000_phy_info___2 phy_info;\n\tstruct e1000_phy_stats phy_stats;\n\tstruct e1000_phy_regs phy_regs;\n\tstruct e1000_ring test_tx_ring;\n\tstruct e1000_ring test_rx_ring;\n\tu32 test_icr;\n\tu32 msg_enable;\n\tunsigned int num_vectors;\n\tstruct msix_entry *msix_entries;\n\tint int_mode;\n\tu32 eiac_mask;\n\tu32 eeprom_wol;\n\tu32 wol;\n\tu32 pba;\n\tu32 max_hw_frame_size;\n\tbool fc_autoneg;\n\tunsigned int flags;\n\tunsigned int flags2;\n\tstruct work_struct downshift_task;\n\tstruct work_struct update_phy_task;\n\tstruct work_struct print_hang_task;\n\tint phy_hang_count;\n\tu16 tx_ring_count;\n\tu16 rx_ring_count;\n\tstruct hwtstamp_config hwtstamp_config;\n\tstruct delayed_work systim_overflow_work;\n\tstruct sk_buff *tx_hwtstamp_skb;\n\tlong unsigned int tx_hwtstamp_start;\n\tstruct work_struct tx_hwtstamp_work;\n\tspinlock_t systim_lock;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct pm_qos_request pm_qos_req;\n\tlong int ptp_delta;\n\tu16 eee_advert;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct e1000_ps_page;\n\nstruct e1000_buffer {\n\tdma_addr_t dma;\n\tstruct sk_buff *skb;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int time_stamp;\n\t\t\tu16 length;\n\t\t\tu16 next_to_watch;\n\t\t\tunsigned int segs;\n\t\t\tunsigned int bytecount;\n\t\t\tu16 mapped_as_page;\n\t\t};\n\t\tstruct {\n\t\t\tstruct e1000_ps_page *ps_pages;\n\t\t\tstruct page *page;\n\t\t};\n\t};\n};\n\nstruct e1000_context_desc {\n\tunion {\n\t\t__le32 ip_config;\n\t\tstruct {\n\t\t\tu8 ipcss;\n\t\t\tu8 ipcso;\n\t\t\t__le16 ipcse;\n\t\t} ip_fields;\n\t} lower_setup;\n\tunion {\n\t\t__le32 tcp_config;\n\t\tstruct {\n\t\t\tu8 tucss;\n\t\t\tu8 tucso;\n\t\t\t__le16 tucse;\n\t\t} tcp_fields;\n\t} upper_setup;\n\t__le32 cmd_and_length;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\tu8 status;\n\t\t\tu8 hdr_len;\n\t\t\t__le16 mss;\n\t\t} fields;\n\t} tcp_seg_setup;\n};\n\nstruct e1000_host_mng_command_header {\n\tu8 command_id;\n\tu8 checksum;\n\tu16 reserved1;\n\tu16 reserved2;\n\tu16 command_length;\n};\n\nstruct e1000_info {\n\tenum e1000_mac_type mac;\n\tunsigned int flags;\n\tunsigned int flags2;\n\tu32 pba;\n\tu32 max_hw_frame_size;\n\ts32 (*get_variants)(struct e1000_adapter___2 *);\n\tconst struct e1000_mac_operations *mac_ops;\n\tconst struct e1000_phy_operations *phy_ops;\n\tconst struct e1000_nvm_operations *nvm_ops;\n};\n\nstruct e1000_opt_list {\n\tint i;\n\tchar *str;\n};\n\nstruct e1000_option {\n\tenum {\n\t\tenable_option = 0,\n\t\trange_option = 1,\n\t\tlist_option = 2,\n\t} type;\n\tconst char *name;\n\tconst char *err;\n\tint def;\n\tunion {\n\t\tstruct {\n\t\t\tint min;\n\t\t\tint max;\n\t\t} r;\n\t\tstruct {\n\t\t\tint nr;\n\t\t\tconst struct e1000_opt_list *p;\n\t\t} l;\n\t} arg;\n};\n\nstruct e1000_option___2 {\n\tenum {\n\t\tenable_option___2 = 0,\n\t\trange_option___2 = 1,\n\t\tlist_option___2 = 2,\n\t} type;\n\tconst char *name;\n\tconst char *err;\n\tint def;\n\tunion {\n\t\tstruct {\n\t\t\tint min;\n\t\t\tint max;\n\t\t} r;\n\t\tstruct {\n\t\t\tint nr;\n\t\t\tstruct e1000_opt_list *p;\n\t\t} l;\n\t} arg;\n};\n\nstruct e1000_ps_page {\n\tstruct page *page;\n\tu64 dma;\n};\n\nstruct e1000_reg_info {\n\tu32 ofs;\n\tchar *name;\n};\n\nstruct e1000_rx_buffer {\n\tunion {\n\t\tstruct page *page;\n\t\tu8 *data;\n\t} rxbuf;\n\tdma_addr_t dma;\n};\n\nstruct e1000_rx_desc {\n\t__le64 buffer_addr;\n\t__le16 length;\n\t__le16 csum;\n\tu8 status;\n\tu8 errors;\n\t__le16 special;\n};\n\nunion e1000_rx_desc_extended {\n\tstruct {\n\t\t__le64 buffer_addr;\n\t\t__le64 reserved;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\t__le32 mrq;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nunion e1000_rx_desc_packet_split {\n\tstruct {\n\t\t__le64 buffer_addr[4];\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\t__le32 mrq;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length0;\n\t\t\t__le16 vlan;\n\t\t} middle;\n\t\tstruct {\n\t\t\t__le16 header_status;\n\t\t\t__le16 length[3];\n\t\t} upper;\n\t\t__le64 reserved;\n\t} wb;\n};\n\nstruct e1000_shadow_ram {\n\tu16 eeprom_word;\n\tbool modified;\n};\n\nstruct e1000_stats {\n\tchar stat_string[32];\n\tint type;\n\tint sizeof_stat;\n\tint stat_offset;\n};\n\nstruct e1000_tx_buffer {\n\tstruct sk_buff *skb;\n\tdma_addr_t dma;\n\tlong unsigned int time_stamp;\n\tu16 length;\n\tu16 next_to_watch;\n\tbool mapped_as_page;\n\tshort unsigned int segs;\n\tunsigned int bytecount;\n};\n\nstruct e1000_tx_desc {\n\t__le64 buffer_addr;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\t__le16 length;\n\t\t\tu8 cso;\n\t\t\tu8 cmd;\n\t\t} flags;\n\t} lower;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\tu8 status;\n\t\t\tu8 css;\n\t\t\t__le16 special;\n\t\t} fields;\n\t} upper;\n};\n\nstruct usb_device;\n\nstruct each_dev_arg {\n\tvoid *data;\n\tint (*fn)(struct usb_device *, void *);\n};\n\nstruct uart_icount {\n\t__u32 cts;\n\t__u32 dsr;\n\t__u32 rng;\n\t__u32 dcd;\n\t__u32 rx;\n\t__u32 tx;\n\t__u32 frame;\n\t__u32 overrun;\n\t__u32 parity;\n\t__u32 brk;\n\t__u32 buf_overrun;\n};\n\nstruct serial_rs485 {\n\t__u32 flags;\n\t__u32 delay_rts_before_send;\n\t__u32 delay_rts_after_send;\n\tunion {\n\t\t__u32 padding[5];\n\t\tstruct {\n\t\t\t__u8 addr_recv;\n\t\t\t__u8 addr_dest;\n\t\t\t__u8 padding0[2];\n\t\t\t__u32 padding1[4];\n\t\t};\n\t};\n};\n\nstruct gpio_desc;\n\nstruct serial_iso7816 {\n\t__u32 flags;\n\t__u32 tg;\n\t__u32 sc_fi;\n\t__u32 sc_di;\n\t__u32 clk;\n\t__u32 reserved[5];\n};\n\nstruct ktermios;\n\nstruct uart_state;\n\nstruct uart_ops;\n\nstruct serial_port_device;\n\nstruct uart_port {\n\tspinlock_t lock;\n\tlong unsigned int iobase;\n\tunsigned char *membase;\n\tunsigned int (*serial_in)(struct uart_port *, int);\n\tvoid (*serial_out)(struct uart_port *, int, int);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tvoid (*set_mctrl)(struct uart_port *, unsigned int);\n\tunsigned int (*get_divisor)(struct uart_port *, unsigned int, unsigned int *);\n\tvoid (*set_divisor)(struct uart_port *, unsigned int, unsigned int, unsigned int);\n\tint (*startup)(struct uart_port *);\n\tvoid (*shutdown)(struct uart_port *);\n\tvoid (*throttle)(struct uart_port *);\n\tvoid (*unthrottle)(struct uart_port *);\n\tint (*handle_irq)(struct uart_port *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tvoid (*handle_break)(struct uart_port *);\n\tint (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *);\n\tint (*iso7816_config)(struct uart_port *, struct serial_iso7816 *);\n\tunsigned int ctrl_id;\n\tunsigned int port_id;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tunsigned int uartclk;\n\tunsigned int fifosize;\n\tunsigned char x_char;\n\tunsigned char regshift;\n\tunsigned char iotype;\n\tunsigned char quirks;\n\tunsigned int read_status_mask;\n\tunsigned int ignore_status_mask;\n\tstruct uart_state *state;\n\tstruct uart_icount icount;\n\tstruct console *cons;\n\tupf_t flags;\n\tupstat_t status;\n\tbool hw_stopped;\n\tunsigned int mctrl;\n\tunsigned int frame_time;\n\tunsigned int type;\n\tconst struct uart_ops *ops;\n\tunsigned int custom_divisor;\n\tunsigned int line;\n\tunsigned int minor;\n\tresource_size_t mapbase;\n\tresource_size_t mapsize;\n\tstruct device *dev;\n\tstruct serial_port_device *port_dev;\n\tlong unsigned int sysrq;\n\tu8 sysrq_ch;\n\tunsigned char has_sysrq;\n\tunsigned char sysrq_seq;\n\tunsigned char hub6;\n\tunsigned char suspended;\n\tunsigned char console_reinit;\n\tconst char *name;\n\tstruct attribute_group *attr_group;\n\tconst struct attribute_group **tty_groups;\n\tstruct serial_rs485 rs485;\n\tstruct serial_rs485 rs485_supported;\n\tstruct gpio_desc *rs485_term_gpio;\n\tstruct gpio_desc *rs485_rx_during_tx_gpio;\n\tstruct serial_iso7816 iso7816;\n\tvoid *private_data;\n};\n\nstruct earlycon_device {\n\tstruct console *con;\n\tstruct uart_port port;\n\tchar options[32];\n\tunsigned int baud;\n};\n\nstruct earlycon_id {\n\tchar name[15];\n\tchar name_term;\n\tchar compatible[128];\n\tint (*setup)(struct earlycon_device *, const char *);\n};\n\nstruct ebitmap_node {\n\tstruct ebitmap_node *next;\n\tlong unsigned int maps[6];\n\tu32 startbit;\n};\n\nstruct td;\n\nstruct ed {\n\t__hc32 hwINFO;\n\t__hc32 hwTailP;\n\t__hc32 hwHeadP;\n\t__hc32 hwNextED;\n\tdma_addr_t dma;\n\tstruct td *dummy;\n\tstruct ed *ed_next;\n\tstruct ed *ed_prev;\n\tstruct list_head td_list;\n\tstruct list_head in_use_list;\n\tu8 state;\n\tu8 type;\n\tu8 branch;\n\tu16 interval;\n\tu16 load;\n\tu16 last_iso;\n\tu16 tick;\n\tunsigned int takeback_wdh_cnt;\n\tstruct td *pending_td;\n\tlong: 64;\n};\n\nstruct edac_dev_sysfs_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct edac_device_ctl_info *, char *);\n\tssize_t (*store)(struct edac_device_ctl_info *, const char *, size_t);\n};\n\nstruct edac_dev_sysfs_block_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kobject *, struct attribute *, char *);\n};\n\nstruct edac_device_counter {\n\tu32 ue_count;\n\tu32 ce_count;\n};\n\nstruct edac_device_instance;\n\nstruct edac_device_block {\n\tstruct edac_device_instance *instance;\n\tchar name[32];\n\tstruct edac_device_counter counters;\n\tint nr_attribs;\n\tstruct edac_dev_sysfs_block_attribute *block_attributes;\n\tstruct kobject kobj;\n};\n\nstruct edac_device_ctl_info {\n\tstruct list_head link;\n\tstruct module *owner;\n\tint dev_idx;\n\tint log_ue;\n\tint log_ce;\n\tint panic_on_ue;\n\tunsigned int poll_msec;\n\tlong unsigned int delay;\n\tstruct edac_dev_sysfs_attribute *sysfs_attributes;\n\tconst struct bus_type *edac_subsys;\n\tint op_state;\n\tstruct delayed_work work;\n\tvoid (*edac_check)(struct edac_device_ctl_info *);\n\tstruct device *dev;\n\tconst char *mod_name;\n\tconst char *ctl_name;\n\tconst char *dev_name;\n\tvoid *pvt_info;\n\tlong unsigned int start_time;\n\tchar name[32];\n\tu32 nr_instances;\n\tstruct edac_device_instance *instances;\n\tstruct edac_device_block *blocks;\n\tstruct edac_device_counter counters;\n\tstruct kobject kobj;\n};\n\nstruct edac_device_instance {\n\tstruct edac_device_ctl_info *ctl;\n\tchar name[35];\n\tstruct edac_device_counter counters;\n\tu32 nr_blocks;\n\tstruct edac_device_block *blocks;\n\tstruct kobject kobj;\n};\n\nstruct edac_mc_layer {\n\tenum edac_mc_layer_type type;\n\tunsigned int size;\n\tbool is_virt_csrow;\n};\n\nstruct edac_pci_counter {\n\tatomic_t pe_count;\n\tatomic_t npe_count;\n};\n\nstruct edac_pci_ctl_info {\n\tstruct list_head link;\n\tint pci_idx;\n\tint op_state;\n\tstruct delayed_work work;\n\tvoid (*edac_check)(struct edac_pci_ctl_info *);\n\tstruct device *dev;\n\tconst char *mod_name;\n\tconst char *ctl_name;\n\tconst char *dev_name;\n\tvoid *pvt_info;\n\tlong unsigned int start_time;\n\tchar name[32];\n\tstruct edac_pci_counter counters;\n\tstruct kobject kobj;\n};\n\nstruct edac_pci_dev_attribute {\n\tstruct attribute attr;\n\tvoid *value;\n\tssize_t (*show)(void *, char *);\n\tssize_t (*store)(void *, const char *, size_t);\n};\n\nstruct edac_pci_gen_data {\n\tint edac_idx;\n};\n\nstruct edac_raw_error_desc {\n\tchar location[256];\n\tchar label[296];\n\tlong int grain;\n\tu16 error_count;\n\tenum hw_event_mc_err_type type;\n\tint top_layer;\n\tint mid_layer;\n\tint low_layer;\n\tlong unsigned int page_frame_number;\n\tlong unsigned int offset_in_page;\n\tlong unsigned int syndrome;\n\tconst char *msg;\n\tconst char *other_detail;\n};\n\nstruct eee_config {\n\tu32 tx_lpi_timer;\n\tbool tx_lpi_enabled;\n\tbool eee_enabled;\n};\n\nstruct ethtool_keee {\n\tlong unsigned int supported[2];\n\tlong unsigned int advertised[2];\n\tlong unsigned int lp_advertised[2];\n\tu32 tx_lpi_timer;\n\tbool tx_lpi_enabled;\n\tbool eee_active;\n\tbool eee_enabled;\n};\n\nstruct eee_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_keee eee;\n};\n\nstruct pci_controller;\n\nstruct eeh_pe;\n\nstruct eeh_dev {\n\tint mode;\n\tint bdfn;\n\tstruct pci_controller *controller;\n\tint pe_config_addr;\n\tu32 config_space[16];\n\tint pcix_cap;\n\tint pcie_cap;\n\tint aer_cap;\n\tint af_cap;\n\tstruct eeh_pe *pe;\n\tstruct list_head entry;\n\tstruct list_head rmv_entry;\n\tstruct pci_dn *pdn;\n\tstruct pci_dev *pdev;\n\tbool in_error;\n\tstruct pci_dev *physfn;\n\tint vf_index;\n};\n\nstruct eeh_event {\n\tstruct list_head list;\n\tstruct eeh_pe *pe;\n};\n\nstruct eeh_ops {\n\tchar *name;\n\tstruct eeh_dev * (*probe)(struct pci_dev *);\n\tint (*set_option)(struct eeh_pe *, int);\n\tint (*get_state)(struct eeh_pe *, int *);\n\tint (*reset)(struct eeh_pe *, int);\n\tint (*get_log)(struct eeh_pe *, int, char *, long unsigned int);\n\tint (*configure_bridge)(struct eeh_pe *);\n\tint (*err_inject)(struct eeh_pe *, int, int, long unsigned int, long unsigned int);\n\tint (*read_config)(struct eeh_dev *, int, int, u32 *);\n\tint (*write_config)(struct eeh_dev *, int, int, u32);\n\tint (*next_error)(struct eeh_pe **);\n\tint (*restore_config)(struct eeh_dev *);\n\tint (*notify_resume)(struct eeh_dev *);\n};\n\nstruct pci_bus;\n\nstruct eeh_pe {\n\tint type;\n\tint state;\n\tint addr;\n\tstruct pci_controller *phb;\n\tstruct pci_bus *bus;\n\tint check_count;\n\tint freeze_count;\n\ttime64_t tstamp;\n\tint false_positives;\n\tatomic_t pass_dev_cnt;\n\tstruct eeh_pe *parent;\n\tvoid *data;\n\tstruct list_head child_list;\n\tstruct list_head child;\n\tstruct list_head edevs;\n\tlong unsigned int stack_trace[64];\n\tint trace_entries;\n};\n\nstruct eeh_rmv_data {\n\tstruct list_head removed_vf_list;\n\tint removed_dev_count;\n};\n\nstruct eeh_stats {\n\tu64 no_device;\n\tu64 no_dn;\n\tu64 no_cfg_addr;\n\tu64 ignored_check;\n\tu64 total_mmio_ffs;\n\tu64 false_positives;\n\tu64 slot_resets;\n};\n\nstruct eeprom_93cx6 {\n\tvoid *data;\n\tvoid (*register_read)(struct eeprom_93cx6 *);\n\tvoid (*register_write)(struct eeprom_93cx6 *);\n\tint width;\n\tunsigned int quirks;\n\tchar drive_data;\n\tchar reg_data_in;\n\tchar reg_data_out;\n\tchar reg_data_clock;\n\tchar reg_chip_select;\n};\n\nstruct eeprom_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 length;\n\tu8 *data;\n};\n\nstruct ethnl_req_info {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu32 flags;\n\tu32 phy_index;\n};\n\nstruct eeprom_req_info {\n\tstruct ethnl_req_info base;\n\tu32 offset;\n\tu32 length;\n\tu8 page;\n\tu8 bank;\n\tu8 i2c_address;\n};\n\nstruct ehci_caps {\n\tu32 hc_capbase;\n\tu32 hcs_params;\n\tu32 hcc_params;\n\tu8 portroute[8];\n};\n\nstruct ehci_dbg_port {\n\tu32 control;\n\tu32 pids;\n\tu32 data03;\n\tu32 data47;\n\tu32 address;\n};\n\nstruct usb_hcd;\n\nstruct ehci_driver_overrides {\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n\tint (*port_power)(struct usb_hcd *, int, bool);\n};\n\nstruct ehci_qh;\n\nstruct ehci_itd;\n\nstruct ehci_sitd;\n\nstruct ehci_fstn;\n\nunion ehci_shadow {\n\tstruct ehci_qh *qh;\n\tstruct ehci_itd *itd;\n\tstruct ehci_sitd *sitd;\n\tstruct ehci_fstn *fstn;\n\t__le32 *hw_next;\n\tvoid *ptr;\n};\n\nstruct ehci_fstn {\n\t__le32 hw_next;\n\t__le32 hw_prev;\n\tdma_addr_t fstn_dma;\n\tunion ehci_shadow fstn_next;\n\tlong: 64;\n};\n\nstruct ehci_regs;\n\nstruct ehci_hcd {\n\tenum ehci_hrtimer_event next_hrtimer_event;\n\tunsigned int enabled_hrtimer_events;\n\tktime_t hr_timeouts[12];\n\tstruct hrtimer hrtimer;\n\tint PSS_poll_count;\n\tint ASS_poll_count;\n\tint died_poll_count;\n\tstruct ehci_caps *caps;\n\tstruct ehci_regs *regs;\n\tstruct ehci_dbg_port *debug;\n\t__u32 hcs_params;\n\tspinlock_t lock;\n\tenum ehci_rh_state rh_state;\n\tbool scanning: 1;\n\tbool need_rescan: 1;\n\tbool intr_unlinking: 1;\n\tbool iaa_in_progress: 1;\n\tbool async_unlinking: 1;\n\tbool shutdown: 1;\n\tstruct ehci_qh *qh_scan_next;\n\tstruct ehci_qh *async;\n\tstruct ehci_qh *dummy;\n\tstruct list_head async_unlink;\n\tstruct list_head async_idle;\n\tunsigned int async_unlink_cycle;\n\tunsigned int async_count;\n\t__le32 old_current;\n\t__le32 old_token;\n\tunsigned int periodic_size;\n\t__le32 *periodic;\n\tdma_addr_t periodic_dma;\n\tstruct list_head intr_qh_list;\n\tunsigned int i_thresh;\n\tunion ehci_shadow *pshadow;\n\tstruct list_head intr_unlink_wait;\n\tstruct list_head intr_unlink;\n\tunsigned int intr_unlink_wait_cycle;\n\tunsigned int intr_unlink_cycle;\n\tunsigned int now_frame;\n\tunsigned int last_iso_frame;\n\tunsigned int intr_count;\n\tunsigned int isoc_count;\n\tunsigned int periodic_count;\n\tunsigned int uframe_periodic_max;\n\tstruct list_head cached_itd_list;\n\tstruct ehci_itd *last_itd_to_free;\n\tstruct list_head cached_sitd_list;\n\tstruct ehci_sitd *last_sitd_to_free;\n\tlong unsigned int reset_done[15];\n\tlong unsigned int bus_suspended;\n\tlong unsigned int companion_ports;\n\tlong unsigned int owned_ports;\n\tlong unsigned int port_c_suspend;\n\tlong unsigned int suspended_ports;\n\tlong unsigned int resuming_ports;\n\tstruct dma_pool *qh_pool;\n\tstruct dma_pool *qtd_pool;\n\tstruct dma_pool *itd_pool;\n\tstruct dma_pool *sitd_pool;\n\tunsigned int random_frame;\n\tlong unsigned int next_statechange;\n\tktime_t last_periodic_enable;\n\tu32 command;\n\tunsigned int no_selective_suspend: 1;\n\tunsigned int has_fsl_port_bug: 1;\n\tunsigned int has_fsl_hs_errata: 1;\n\tunsigned int has_fsl_susp_errata: 1;\n\tunsigned int has_ci_pec_bug: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_capbase: 1;\n\tunsigned int has_amcc_usb23: 1;\n\tunsigned int need_io_watchdog: 1;\n\tunsigned int amd_pll_fix: 1;\n\tunsigned int use_dummy_qh: 1;\n\tunsigned int has_synopsys_hc_bug: 1;\n\tunsigned int frame_index_bug: 1;\n\tunsigned int need_oc_pp_cycle: 1;\n\tunsigned int imx28_write_fix: 1;\n\tunsigned int spurious_oc: 1;\n\tunsigned int is_aspeed: 1;\n\tunsigned int zx_wakeup_clear_needed: 1;\n\t__le32 *ohci_hcctrl_reg;\n\tunsigned int has_hostpc: 1;\n\tunsigned int has_tdi_phy_lpm: 1;\n\tunsigned int has_ppcd: 1;\n\tu8 sbrn;\n\tu8 bandwidth[64];\n\tu8 tt_budget[64];\n\tstruct list_head tt_list;\n\tlong unsigned int priv[0];\n};\n\nstruct ehci_iso_packet {\n\tu64 bufp;\n\t__le32 transaction;\n\tu8 cross;\n\tu32 buf1;\n};\n\nstruct ehci_iso_sched {\n\tstruct list_head td_list;\n\tunsigned int span;\n\tunsigned int first_packet;\n\tstruct ehci_iso_packet packet[0];\n};\n\nstruct usb_host_endpoint;\n\nstruct ehci_per_sched {\n\tstruct usb_device *udev;\n\tstruct usb_host_endpoint *ep;\n\tstruct list_head ps_list;\n\tu16 tt_usecs;\n\tu16 cs_mask;\n\tu16 period;\n\tu16 phase;\n\tu8 bw_phase;\n\tu8 phase_uf;\n\tu8 usecs;\n\tu8 c_usecs;\n\tu8 bw_uperiod;\n\tu8 bw_period;\n};\n\nstruct ehci_qh_hw;\n\nstruct ehci_iso_stream {\n\tstruct ehci_qh_hw *hw;\n\tu8 bEndpointAddress;\n\tu8 highspeed;\n\tstruct list_head td_list;\n\tstruct list_head free_list;\n\tstruct ehci_per_sched ps;\n\tunsigned int next_uframe;\n\t__le32 splits;\n\tu16 uperiod;\n\tu16 maxp;\n\tunsigned int bandwidth;\n\t__le32 buf0;\n\t__le32 buf1;\n\t__le32 buf2;\n\t__le32 address;\n};\n\nstruct ehci_itd {\n\t__le32 hw_next;\n\t__le32 hw_transaction[8];\n\t__le32 hw_bufp[7];\n\t__le32 hw_bufp_hi[7];\n\tdma_addr_t itd_dma;\n\tunion ehci_shadow itd_next;\n\tstruct urb *urb;\n\tstruct ehci_iso_stream *stream;\n\tstruct list_head itd_list;\n\tunsigned int frame;\n\tunsigned int pg;\n\tunsigned int index[8];\n\tlong: 64;\n};\n\nstruct ehci_qtd;\n\nstruct ehci_qh {\n\tstruct ehci_qh_hw *hw;\n\tdma_addr_t qh_dma;\n\tunion ehci_shadow qh_next;\n\tstruct list_head qtd_list;\n\tstruct list_head intr_node;\n\tstruct ehci_qtd *dummy;\n\tstruct list_head unlink_node;\n\tstruct ehci_per_sched ps;\n\tunsigned int unlink_cycle;\n\tu8 qh_state;\n\tu8 xacterrs;\n\tu8 unlink_reason;\n\tu8 gap_uf;\n\tunsigned int is_out: 1;\n\tunsigned int clearing_tt: 1;\n\tunsigned int dequeue_during_giveback: 1;\n\tunsigned int should_be_inactive: 1;\n};\n\nstruct ehci_qh_hw {\n\t__le32 hw_next;\n\t__le32 hw_info1;\n\t__le32 hw_info2;\n\t__le32 hw_current;\n\t__le32 hw_qtd_next;\n\t__le32 hw_alt_next;\n\t__le32 hw_token;\n\t__le32 hw_buf[5];\n\t__le32 hw_buf_hi[5];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ehci_qtd {\n\t__le32 hw_next;\n\t__le32 hw_alt_next;\n\t__le32 hw_token;\n\t__le32 hw_buf[5];\n\t__le32 hw_buf_hi[5];\n\tdma_addr_t qtd_dma;\n\tstruct list_head qtd_list;\n\tstruct urb *urb;\n\tsize_t length;\n};\n\nstruct ehci_regs {\n\tu32 command;\n\tu32 status;\n\tu32 intr_enable;\n\tu32 frame_index;\n\tu32 segment;\n\tu32 frame_list;\n\tu32 async_next;\n\tu32 reserved1[2];\n\tu32 txfill_tuning;\n\tu32 reserved2[6];\n\tu32 configured_flag;\n\tunion {\n\t\tu32 port_status[15];\n\t\tstruct {\n\t\t\tu32 reserved3[9];\n\t\t\tu32 usbmode;\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu32 reserved4;\n\t\t\tu32 hostpc[15];\n\t\t};\n\t\tu32 brcm_insnreg[4];\n\t};\n\tu32 reserved5[2];\n\tu32 usbmode_ex;\n};\n\nstruct ehci_sitd {\n\t__le32 hw_next;\n\t__le32 hw_fullspeed_ep;\n\t__le32 hw_uframe;\n\t__le32 hw_results;\n\t__le32 hw_buf[2];\n\t__le32 hw_backpointer;\n\t__le32 hw_buf_hi[2];\n\tdma_addr_t sitd_dma;\n\tunion ehci_shadow sitd_next;\n\tstruct urb *urb;\n\tstruct ehci_iso_stream *stream;\n\tstruct list_head sitd_list;\n\tunsigned int frame;\n\tunsigned int index;\n};\n\nstruct usb_tt;\n\nstruct ehci_tt {\n\tu16 bandwidth[8];\n\tstruct list_head tt_list;\n\tstruct list_head ps_list;\n\tstruct usb_tt *usb_tt;\n\tint tt_port;\n};\n\nstruct elevator_queue;\n\nstruct io_cq;\n\nstruct elevator_mq_ops {\n\tint (*init_sched)(struct request_queue *, struct elevator_type *);\n\tvoid (*exit_sched)(struct elevator_queue *);\n\tint (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tvoid (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tvoid (*depth_updated)(struct blk_mq_hw_ctx *);\n\tbool (*allow_merge)(struct request_queue *, struct request *, struct bio *);\n\tbool (*bio_merge)(struct request_queue *, struct bio *, unsigned int);\n\tint (*request_merge)(struct request_queue *, struct request **, struct bio *);\n\tvoid (*request_merged)(struct request_queue *, struct request *, enum elv_merge);\n\tvoid (*requests_merged)(struct request_queue *, struct request *, struct request *);\n\tvoid (*limit_depth)(blk_opf_t, struct blk_mq_alloc_data *);\n\tvoid (*prepare_request)(struct request *);\n\tvoid (*finish_request)(struct request *);\n\tvoid (*insert_requests)(struct blk_mq_hw_ctx *, struct list_head *, blk_insert_t);\n\tstruct request * (*dispatch_request)(struct blk_mq_hw_ctx *);\n\tbool (*has_work)(struct blk_mq_hw_ctx *);\n\tvoid (*completed_request)(struct request *, u64);\n\tvoid (*requeue_request)(struct request *);\n\tstruct request * (*former_request)(struct request_queue *, struct request *);\n\tstruct request * (*next_request)(struct request_queue *, struct request *);\n\tvoid (*init_icq)(struct io_cq *);\n\tvoid (*exit_icq)(struct io_cq *);\n};\n\nstruct elevator_queue {\n\tstruct elevator_type *type;\n\tvoid *elevator_data;\n\tstruct kobject kobj;\n\tstruct mutex sysfs_lock;\n\tlong unsigned int flags;\n\tstruct hlist_head hash[64];\n};\n\nstruct elv_fs_entry;\n\nstruct elevator_type {\n\tstruct kmem_cache *icq_cache;\n\tstruct elevator_mq_ops ops;\n\tsize_t icq_size;\n\tsize_t icq_align;\n\tconst struct elv_fs_entry *elevator_attrs;\n\tconst char *elevator_name;\n\tconst char *elevator_alias;\n\tstruct module *elevator_owner;\n\tconst struct blk_mq_debugfs_attr *queue_debugfs_attrs;\n\tconst struct blk_mq_debugfs_attr *hctx_debugfs_attrs;\n\tchar icq_cache_name[22];\n\tstruct list_head list;\n};\n\nstruct elf32_hdr {\n\tunsigned char e_ident[16];\n\tElf32_Half e_type;\n\tElf32_Half e_machine;\n\tElf32_Word e_version;\n\tElf32_Addr e_entry;\n\tElf32_Off e_phoff;\n\tElf32_Off e_shoff;\n\tElf32_Word e_flags;\n\tElf32_Half e_ehsize;\n\tElf32_Half e_phentsize;\n\tElf32_Half e_phnum;\n\tElf32_Half e_shentsize;\n\tElf32_Half e_shnum;\n\tElf32_Half e_shstrndx;\n};\n\ntypedef struct elf32_hdr Elf32_Ehdr;\n\nstruct elf32_note {\n\tElf32_Word n_namesz;\n\tElf32_Word n_descsz;\n\tElf32_Word n_type;\n};\n\ntypedef struct elf32_note Elf32_Nhdr;\n\nstruct elf32_phdr {\n\tElf32_Word p_type;\n\tElf32_Off p_offset;\n\tElf32_Addr p_vaddr;\n\tElf32_Addr p_paddr;\n\tElf32_Word p_filesz;\n\tElf32_Word p_memsz;\n\tElf32_Word p_flags;\n\tElf32_Word p_align;\n};\n\ntypedef struct elf32_phdr Elf32_Phdr;\n\nstruct elf64_hdr {\n\tunsigned char e_ident[16];\n\tElf64_Half e_type;\n\tElf64_Half e_machine;\n\tElf64_Word e_version;\n\tElf64_Addr e_entry;\n\tElf64_Off e_phoff;\n\tElf64_Off e_shoff;\n\tElf64_Word e_flags;\n\tElf64_Half e_ehsize;\n\tElf64_Half e_phentsize;\n\tElf64_Half e_phnum;\n\tElf64_Half e_shentsize;\n\tElf64_Half e_shnum;\n\tElf64_Half e_shstrndx;\n};\n\ntypedef struct elf64_hdr Elf64_Ehdr;\n\nstruct elf64_note {\n\tElf64_Word n_namesz;\n\tElf64_Word n_descsz;\n\tElf64_Word n_type;\n};\n\ntypedef struct elf64_note Elf64_Nhdr;\n\nstruct elf64_phdr {\n\tElf64_Word p_type;\n\tElf64_Word p_flags;\n\tElf64_Off p_offset;\n\tElf64_Addr p_vaddr;\n\tElf64_Addr p_paddr;\n\tElf64_Xword p_filesz;\n\tElf64_Xword p_memsz;\n\tElf64_Xword p_align;\n};\n\ntypedef struct elf64_phdr Elf64_Phdr;\n\nstruct elf64_rela {\n\tElf64_Addr r_offset;\n\tElf64_Xword r_info;\n\tElf64_Sxword r_addend;\n};\n\ntypedef struct elf64_rela Elf64_Rela;\n\nstruct elf64_shdr {\n\tElf64_Word sh_name;\n\tElf64_Word sh_type;\n\tElf64_Xword sh_flags;\n\tElf64_Addr sh_addr;\n\tElf64_Off sh_offset;\n\tElf64_Xword sh_size;\n\tElf64_Word sh_link;\n\tElf64_Word sh_info;\n\tElf64_Xword sh_addralign;\n\tElf64_Xword sh_entsize;\n};\n\ntypedef struct elf64_shdr Elf64_Shdr;\n\nstruct elf64_sym {\n\tElf64_Word st_name;\n\tunsigned char st_info;\n\tunsigned char st_other;\n\tElf64_Half st_shndx;\n\tElf64_Addr st_value;\n\tElf64_Xword st_size;\n};\n\ntypedef struct elf64_sym Elf64_Sym;\n\nstruct memelfnote {\n\tconst char *name;\n\tint type;\n\tunsigned int datasz;\n\tvoid *data;\n};\n\nstruct siginfo {\n\tunion {\n\t\tstruct {\n\t\t\tint si_signo;\n\t\t\tint si_errno;\n\t\t\tint si_code;\n\t\t\tunion __sifields _sifields;\n\t\t};\n\t\tint _si_pad[32];\n\t};\n};\n\ntypedef struct siginfo siginfo_t;\n\nstruct elf_thread_core_info;\n\nstruct elf_note_info {\n\tstruct elf_thread_core_info *thread;\n\tstruct memelfnote psinfo;\n\tstruct memelfnote signote;\n\tstruct memelfnote auxv;\n\tstruct memelfnote files;\n\tsiginfo_t csigdata;\n\tsize_t size;\n\tint thread_notes;\n};\n\nstruct elf_prpsinfo {\n\tchar pr_state;\n\tchar pr_sname;\n\tchar pr_zomb;\n\tchar pr_nice;\n\tlong unsigned int pr_flag;\n\t__kernel_uid_t pr_uid;\n\t__kernel_gid_t pr_gid;\n\tpid_t pr_pid;\n\tpid_t pr_ppid;\n\tpid_t pr_pgrp;\n\tpid_t pr_sid;\n\tchar pr_fname[16];\n\tchar pr_psargs[80];\n};\n\nstruct elf_siginfo {\n\tint si_signo;\n\tint si_code;\n\tint si_errno;\n};\n\nstruct elf_prstatus_common {\n\tstruct elf_siginfo pr_info;\n\tshort int pr_cursig;\n\tlong unsigned int pr_sigpend;\n\tlong unsigned int pr_sighold;\n\tpid_t pr_pid;\n\tpid_t pr_ppid;\n\tpid_t pr_pgrp;\n\tpid_t pr_sid;\n\tstruct __kernel_old_timeval pr_utime;\n\tstruct __kernel_old_timeval pr_stime;\n\tstruct __kernel_old_timeval pr_cutime;\n\tstruct __kernel_old_timeval pr_cstime;\n};\n\nstruct elf_prstatus {\n\tstruct elf_prstatus_common common;\n\telf_gregset_t pr_reg;\n\tint pr_fpvalid;\n};\n\nstruct elf_thread_core_info {\n\tstruct elf_thread_core_info *next;\n\tstruct task_struct *task;\n\tstruct elf_prstatus prstatus;\n\tstruct memelfnote notes[0];\n};\n\nstruct elog_obj;\n\nstruct elog_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct elog_obj *, struct elog_attribute *, char *);\n\tssize_t (*store)(struct elog_obj *, struct elog_attribute *, const char *, size_t);\n};\n\nstruct elog_obj {\n\tstruct kobject kobj;\n\tstruct bin_attribute raw_attr;\n\tuint64_t id;\n\tuint64_t type;\n\tsize_t size;\n\tchar *buffer;\n};\n\nstruct elv_fs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct elevator_queue *, char *);\n\tssize_t (*store)(struct elevator_queue *, const char *, size_t);\n};\n\nstruct em_perf_table;\n\nstruct em_perf_domain {\n\tstruct em_perf_table *em_table;\n\tint nr_perf_states;\n\tint min_perf_state;\n\tint max_perf_state;\n\tlong unsigned int flags;\n\tlong unsigned int cpus[0];\n};\n\nstruct em_perf_state {\n\tlong unsigned int performance;\n\tlong unsigned int frequency;\n\tlong unsigned int power;\n\tlong unsigned int cost;\n\tlong unsigned int flags;\n};\n\nstruct em_perf_table {\n\tstruct callback_head rcu;\n\tstruct kref kref;\n\tstruct em_perf_state state[0];\n};\n\nstruct trace_event_file;\n\nstruct enable_trigger_data {\n\tstruct trace_event_file *file;\n\tbool enable;\n\tbool hist;\n};\n\nstruct xdr_buf;\n\nstruct encryptor_desc {\n\tu8 iv[16];\n\tstruct skcipher_request *req;\n\tint pos;\n\tstruct xdr_buf *outbuf;\n\tstruct page **pages;\n\tstruct scatterlist infrags[4];\n\tstruct scatterlist outfrags[4];\n\tint fragno;\n\tint fraglen;\n};\n\nstruct energy_env {\n\tlong unsigned int task_busy_time;\n\tlong unsigned int pd_busy_time;\n\tlong unsigned int cpu_cap;\n\tlong unsigned int pd_cap;\n};\n\nstruct energy_scale_attribute {\n\t__be64 id;\n\t__be64 val;\n\tu8 desc[64];\n\tu8 value_desc[64];\n};\n\nstruct entropy_timer_state {\n\tlong unsigned int entropy;\n\tstruct timer_list timer;\n\tatomic_t samples;\n\tunsigned int samples_per_bit;\n};\n\nstruct usb_endpoint_descriptor;\n\nstruct ep_device {\n\tstruct usb_endpoint_descriptor *desc;\n\tstruct usb_device *udev;\n\tstruct device dev;\n};\n\ntypedef struct poll_table_struct poll_table;\n\nstruct epitem;\n\nstruct ep_pqueue {\n\tpoll_table pt;\n\tstruct epitem *epi;\n};\n\nstruct epoll_filefd {\n\tstruct file *file;\n\tint fd;\n} __attribute__((packed));\n\nstruct epoll_event {\n\t__poll_t events;\n\t__u64 data;\n};\n\nstruct eppoll_entry;\n\nstruct eventpoll;\n\nstruct epitem {\n\tunion {\n\t\tstruct rb_node rbn;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct list_head rdllink;\n\tstruct epitem *next;\n\tstruct epoll_filefd ffd;\n\tbool dying;\n\tstruct eppoll_entry *pwqlist;\n\tstruct eventpoll *ep;\n\tstruct hlist_node fllink;\n\tstruct wakeup_source *ws;\n\tstruct epoll_event event;\n};\n\nstruct epitems_head {\n\tstruct hlist_head epitems;\n\tstruct epitems_head *next;\n};\n\nstruct epoll_params {\n\t__u32 busy_poll_usecs;\n\t__u16 busy_poll_budget;\n\t__u8 prefer_busy_poll;\n\t__u8 __pad;\n};\n\nstruct epow_errorlog {\n\tunsigned char sensor_value;\n\tunsigned char event_modifier;\n\tunsigned char extended_modifier;\n\tunsigned char reserved;\n\tunsigned char platform_reason;\n};\n\nstruct eppoll_entry {\n\tstruct eppoll_entry *next;\n\tstruct epitem *base;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *whead;\n};\n\nstruct trace_eprobe;\n\nstruct eprobe_data {\n\tstruct trace_event_file *file;\n\tstruct trace_eprobe *ep;\n};\n\nstruct eprobe_trace_entry_head {\n\tstruct trace_entry ent;\n};\n\nstruct err_info {\n\tconst char **errs;\n\tu8 type;\n\tu16 pos;\n\tu64 ts;\n};\n\nstruct err_log_info {\n\t__be32 error_type;\n\t__be32 seq_num;\n};\n\nstruct error_info {\n\tshort unsigned int code12;\n\tshort unsigned int size;\n};\n\nstruct error_info2 {\n\tunsigned char code1;\n\tunsigned char code2_min;\n\tunsigned char code2_max;\n\tconst char *str;\n\tconst char *fmt;\n};\n\nstruct erspan_md2 {\n\t__be32 timestamp;\n\t__be16 sgt;\n\t__u8 hwid_upper: 2;\n\t__u8 ft: 5;\n\t__u8 p: 1;\n\t__u8 o: 1;\n\t__u8 gra: 2;\n\t__u8 dir: 1;\n\t__u8 hwid: 4;\n};\n\nstruct erspan_metadata {\n\tint version;\n\tunion {\n\t\t__be32 index;\n\t\tstruct erspan_md2 md2;\n\t} u;\n};\n\nstruct ethhdr {\n\tunsigned char h_dest[6];\n\tunsigned char h_source[6];\n\t__be16 h_proto;\n};\n\nstruct ethnl_request_ops;\n\nstruct ethnl_dump_ctx {\n\tconst struct ethnl_request_ops *ops;\n\tstruct ethnl_req_info *req_info;\n\tstruct ethnl_reply_data *reply_data;\n\tlong unsigned int pos_ifindex;\n};\n\nstruct ethnl_module_fw_flash_ntf_params {\n\tu32 portid;\n\tu32 seq;\n\tbool closed_sock;\n};\n\nstruct phy_req_info;\n\nstruct ethnl_phy_dump_ctx {\n\tstruct phy_req_info *phy_req_info;\n\tlong unsigned int ifindex;\n\tlong unsigned int phy_index;\n};\n\nstruct ethnl_request_ops {\n\tu8 request_cmd;\n\tu8 reply_cmd;\n\tu16 hdr_attr;\n\tunsigned int req_info_size;\n\tunsigned int reply_data_size;\n\tbool allow_nodev_do;\n\tu8 set_ntf_cmd;\n\tint (*parse_request)(struct ethnl_req_info *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*prepare_data)(const struct ethnl_req_info *, struct ethnl_reply_data *, const struct genl_info *);\n\tint (*reply_size)(const struct ethnl_req_info *, const struct ethnl_reply_data *);\n\tint (*fill_reply)(struct sk_buff *, const struct ethnl_req_info *, const struct ethnl_reply_data *);\n\tvoid (*cleanup_data)(struct ethnl_reply_data *);\n\tint (*set_validate)(struct ethnl_req_info *, struct genl_info *);\n\tint (*set)(struct ethnl_req_info *, struct genl_info *);\n};\n\nstruct ethnl_sock_priv {\n\tstruct net_device *dev;\n\tu32 portid;\n\tenum ethnl_sock_type type;\n};\n\nstruct tsinfo_req_info;\n\nstruct tsinfo_reply_data;\n\nstruct ethnl_tsinfo_dump_ctx {\n\tstruct tsinfo_req_info *req_info;\n\tstruct tsinfo_reply_data *reply_data;\n\tlong unsigned int pos_ifindex;\n\tbool netdev_dump_done;\n\tlong unsigned int pos_phyindex;\n\tenum hwtstamp_provider_qualifier pos_phcqualifier;\n};\n\nstruct ethnl_tunnel_info_dump_ctx {\n\tstruct ethnl_req_info req_info;\n\tlong unsigned int ifindex;\n};\n\nstruct ethtool_ah_espip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be32 spi;\n\t__u8 tos;\n};\n\nstruct ethtool_ah_espip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be32 spi;\n\t__u8 tclass;\n};\n\nstruct ethtool_c33_pse_ext_state_info {\n\tenum ethtool_c33_pse_ext_state c33_pse_ext_state;\n\tunion {\n\t\tenum ethtool_c33_pse_ext_substate_error_condition error_condition;\n\t\tenum ethtool_c33_pse_ext_substate_mr_pse_enable mr_pse_enable;\n\t\tenum ethtool_c33_pse_ext_substate_option_detect_ted option_detect_ted;\n\t\tenum ethtool_c33_pse_ext_substate_option_vport_lim option_vport_lim;\n\t\tenum ethtool_c33_pse_ext_substate_ovld_detected ovld_detected;\n\t\tenum ethtool_c33_pse_ext_substate_power_not_available power_not_available;\n\t\tenum ethtool_c33_pse_ext_substate_short_detected short_detected;\n\t\tu32 __c33_pse_ext_substate;\n\t};\n};\n\nstruct ethtool_c33_pse_pw_limit_range {\n\tu32 min;\n\tu32 max;\n};\n\nstruct ethtool_cmd {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 advertising;\n\t__u16 speed;\n\t__u8 duplex;\n\t__u8 port;\n\t__u8 phy_address;\n\t__u8 transceiver;\n\t__u8 autoneg;\n\t__u8 mdio_support;\n\t__u32 maxtxpkt;\n\t__u32 maxrxpkt;\n\t__u16 speed_hi;\n\t__u8 eth_tp_mdix;\n\t__u8 eth_tp_mdix_ctrl;\n\t__u32 lp_advertising;\n\t__u32 reserved[2];\n};\n\nstruct ethtool_cmis_cdb {\n\tu8 cmis_rev;\n\tu8 read_write_len_ext;\n\tu16 max_completion_time;\n};\n\nstruct ethtool_cmis_cdb_request {\n\t__be16 id;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 epl_len;\n\t\t\tu8 lpl_len;\n\t\t\tu8 chk_code;\n\t\t\tu8 resv1;\n\t\t\tu8 resv2;\n\t\t\tu8 payload[120];\n\t\t};\n\t\tstruct {\n\t\t\t__be16 epl_len;\n\t\t\tu8 lpl_len;\n\t\t\tu8 chk_code;\n\t\t\tu8 resv1;\n\t\t\tu8 resv2;\n\t\t\tu8 payload[120];\n\t\t} body;\n\t};\n\tu8 *epl;\n};\n\nstruct ethtool_cmis_cdb_cmd_args {\n\tstruct ethtool_cmis_cdb_request req;\n\tu16 max_duration;\n\tu8 read_write_len_ext;\n\tu8 msleep_pre_rpl;\n\tu8 rpl_exp_len;\n\tu8 flags;\n\tchar *err_msg;\n};\n\nstruct ethtool_cmis_cdb_rpl_hdr {\n\tu8 rpl_len;\n\tu8 rpl_chk_code;\n};\n\nstruct ethtool_cmis_cdb_rpl {\n\tstruct ethtool_cmis_cdb_rpl_hdr hdr;\n\tu8 payload[120];\n};\n\nstruct ethtool_module_fw_flash_params {\n\t__be32 password;\n\tu8 password_valid: 1;\n};\n\nstruct ethtool_cmis_fw_update_params {\n\tstruct net_device *dev;\n\tstruct ethtool_module_fw_flash_params params;\n\tstruct ethnl_module_fw_flash_ntf_params ntf_params;\n\tconst struct firmware *fw;\n};\n\nstruct ethtool_flash {\n\t__u32 cmd;\n\t__u32 region;\n\tchar data[128];\n};\n\nstruct ethtool_drvinfo {\n\t__u32 cmd;\n\tchar driver[32];\n\tchar version[32];\n\tchar fw_version[32];\n\tchar bus_info[32];\n\tchar erom_version[32];\n\tchar reserved2[12];\n\t__u32 n_priv_flags;\n\t__u32 n_stats;\n\t__u32 testinfo_len;\n\t__u32 eedump_len;\n\t__u32 regdump_len;\n};\n\nstruct ethtool_devlink_compat {\n\tstruct devlink *devlink;\n\tunion {\n\t\tstruct ethtool_flash efl;\n\t\tstruct ethtool_drvinfo info;\n\t};\n};\n\nstruct ethtool_dump {\n\t__u32 cmd;\n\t__u32 version;\n\t__u32 flag;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_eee {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 advertised;\n\t__u32 lp_advertised;\n\t__u32 eee_active;\n\t__u32 eee_enabled;\n\t__u32 tx_lpi_enabled;\n\t__u32 tx_lpi_timer;\n\t__u32 reserved[2];\n};\n\nstruct ethtool_eeprom {\n\t__u32 cmd;\n\t__u32 magic;\n\t__u32 offset;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_eth_ctrl_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 MACControlFramesTransmitted;\n\t\t\tu64 MACControlFramesReceived;\n\t\t\tu64 UnsupportedOpcodesReceived;\n\t\t};\n\t\tstruct {\n\t\t\tu64 MACControlFramesTransmitted;\n\t\t\tu64 MACControlFramesReceived;\n\t\t\tu64 UnsupportedOpcodesReceived;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_eth_mac_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 FramesTransmittedOK;\n\t\t\tu64 SingleCollisionFrames;\n\t\t\tu64 MultipleCollisionFrames;\n\t\t\tu64 FramesReceivedOK;\n\t\t\tu64 FrameCheckSequenceErrors;\n\t\t\tu64 AlignmentErrors;\n\t\t\tu64 OctetsTransmittedOK;\n\t\t\tu64 FramesWithDeferredXmissions;\n\t\t\tu64 LateCollisions;\n\t\t\tu64 FramesAbortedDueToXSColls;\n\t\t\tu64 FramesLostDueToIntMACXmitError;\n\t\t\tu64 CarrierSenseErrors;\n\t\t\tu64 OctetsReceivedOK;\n\t\t\tu64 FramesLostDueToIntMACRcvError;\n\t\t\tu64 MulticastFramesXmittedOK;\n\t\t\tu64 BroadcastFramesXmittedOK;\n\t\t\tu64 FramesWithExcessiveDeferral;\n\t\t\tu64 MulticastFramesReceivedOK;\n\t\t\tu64 BroadcastFramesReceivedOK;\n\t\t\tu64 InRangeLengthErrors;\n\t\t\tu64 OutOfRangeLengthField;\n\t\t\tu64 FrameTooLongErrors;\n\t\t};\n\t\tstruct {\n\t\t\tu64 FramesTransmittedOK;\n\t\t\tu64 SingleCollisionFrames;\n\t\t\tu64 MultipleCollisionFrames;\n\t\t\tu64 FramesReceivedOK;\n\t\t\tu64 FrameCheckSequenceErrors;\n\t\t\tu64 AlignmentErrors;\n\t\t\tu64 OctetsTransmittedOK;\n\t\t\tu64 FramesWithDeferredXmissions;\n\t\t\tu64 LateCollisions;\n\t\t\tu64 FramesAbortedDueToXSColls;\n\t\t\tu64 FramesLostDueToIntMACXmitError;\n\t\t\tu64 CarrierSenseErrors;\n\t\t\tu64 OctetsReceivedOK;\n\t\t\tu64 FramesLostDueToIntMACRcvError;\n\t\t\tu64 MulticastFramesXmittedOK;\n\t\t\tu64 BroadcastFramesXmittedOK;\n\t\t\tu64 FramesWithExcessiveDeferral;\n\t\t\tu64 MulticastFramesReceivedOK;\n\t\t\tu64 BroadcastFramesReceivedOK;\n\t\t\tu64 InRangeLengthErrors;\n\t\t\tu64 OutOfRangeLengthField;\n\t\t\tu64 FrameTooLongErrors;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_eth_phy_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 SymbolErrorDuringCarrier;\n\t\t};\n\t\tstruct {\n\t\t\tu64 SymbolErrorDuringCarrier;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_fec_stat {\n\tu64 total;\n\tu64 lanes[8];\n};\n\nstruct ethtool_fec_stats {\n\tstruct ethtool_fec_stat corrected_blocks;\n\tstruct ethtool_fec_stat uncorrectable_blocks;\n\tstruct ethtool_fec_stat corrected_bits;\n};\n\nstruct ethtool_fecparam {\n\t__u32 cmd;\n\t__u32 active_fec;\n\t__u32 fec;\n\t__u32 reserved;\n};\n\nstruct ethtool_flow_ext {\n\t__u8 padding[2];\n\tunsigned char h_dest[6];\n\t__be16 vlan_etype;\n\t__be16 vlan_tci;\n\t__be32 data[2];\n};\n\nstruct ethtool_tcpip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be16 psrc;\n\t__be16 pdst;\n\t__u8 tos;\n};\n\nstruct ethtool_usrip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be32 l4_4_bytes;\n\t__u8 tos;\n\t__u8 ip_ver;\n\t__u8 proto;\n};\n\nstruct ethtool_tcpip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be16 psrc;\n\t__be16 pdst;\n\t__u8 tclass;\n};\n\nstruct ethtool_usrip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be32 l4_4_bytes;\n\t__u8 tclass;\n\t__u8 l4_proto;\n};\n\nunion ethtool_flow_union {\n\tstruct ethtool_tcpip4_spec tcp_ip4_spec;\n\tstruct ethtool_tcpip4_spec udp_ip4_spec;\n\tstruct ethtool_tcpip4_spec sctp_ip4_spec;\n\tstruct ethtool_ah_espip4_spec ah_ip4_spec;\n\tstruct ethtool_ah_espip4_spec esp_ip4_spec;\n\tstruct ethtool_usrip4_spec usr_ip4_spec;\n\tstruct ethtool_tcpip6_spec tcp_ip6_spec;\n\tstruct ethtool_tcpip6_spec udp_ip6_spec;\n\tstruct ethtool_tcpip6_spec sctp_ip6_spec;\n\tstruct ethtool_ah_espip6_spec ah_ip6_spec;\n\tstruct ethtool_ah_espip6_spec esp_ip6_spec;\n\tstruct ethtool_usrip6_spec usr_ip6_spec;\n\tstruct ethhdr ether_spec;\n\t__u8 hdata[52];\n};\n\nstruct ethtool_forced_speed_map {\n\tu32 speed;\n\tlong unsigned int caps[2];\n\tconst u32 *cap_arr;\n\tu32 arr_size;\n};\n\nstruct ethtool_get_features_block {\n\t__u32 available;\n\t__u32 requested;\n\t__u32 active;\n\t__u32 never_changed;\n};\n\nstruct ethtool_gfeatures {\n\t__u32 cmd;\n\t__u32 size;\n\tstruct ethtool_get_features_block features[0];\n};\n\nstruct ethtool_gstrings {\n\t__u32 cmd;\n\t__u32 string_set;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_link_ext_state_info {\n\tenum ethtool_link_ext_state link_ext_state;\n\tunion {\n\t\tenum ethtool_link_ext_substate_autoneg autoneg;\n\t\tenum ethtool_link_ext_substate_link_training link_training;\n\t\tenum ethtool_link_ext_substate_link_logical_mismatch link_logical_mismatch;\n\t\tenum ethtool_link_ext_substate_bad_signal_integrity bad_signal_integrity;\n\t\tenum ethtool_link_ext_substate_cable_issue cable_issue;\n\t\tenum ethtool_link_ext_substate_module module;\n\t\tu32 __link_ext_substate;\n\t};\n};\n\nstruct ethtool_link_ext_stats {\n\tu64 link_down_events;\n};\n\nstruct ethtool_link_settings {\n\t__u32 cmd;\n\t__u32 speed;\n\t__u8 duplex;\n\t__u8 port;\n\t__u8 phy_address;\n\t__u8 autoneg;\n\t__u8 mdio_support;\n\t__u8 eth_tp_mdix;\n\t__u8 eth_tp_mdix_ctrl;\n\t__s8 link_mode_masks_nwords;\n\t__u8 transceiver;\n\t__u8 master_slave_cfg;\n\t__u8 master_slave_state;\n\t__u8 rate_matching;\n\t__u32 reserved[7];\n};\n\nstruct ethtool_link_ksettings {\n\tstruct ethtool_link_settings base;\n\tstruct {\n\t\tlong unsigned int supported[2];\n\t\tlong unsigned int advertising[2];\n\t\tlong unsigned int lp_advertising[2];\n\t} link_modes;\n\tu32 lanes;\n};\n\nstruct ethtool_link_usettings {\n\tstruct ethtool_link_settings base;\n\tstruct {\n\t\t__u32 supported[4];\n\t\t__u32 advertising[4];\n\t\t__u32 lp_advertising[4];\n\t} link_modes;\n};\n\nstruct ethtool_mm_cfg {\n\tu32 verify_time;\n\tbool verify_enabled;\n\tbool tx_enabled;\n\tbool pmac_enabled;\n\tu32 tx_min_frag_size;\n};\n\nstruct ethtool_mm_state {\n\tu32 verify_time;\n\tu32 max_verify_time;\n\tenum ethtool_mm_verify_status verify_status;\n\tbool tx_enabled;\n\tbool tx_active;\n\tbool pmac_enabled;\n\tbool verify_enabled;\n\tu32 tx_min_frag_size;\n\tu32 rx_min_frag_size;\n};\n\nstruct ethtool_mm_stats {\n\tu64 MACMergeFrameAssErrorCount;\n\tu64 MACMergeFrameSmdErrorCount;\n\tu64 MACMergeFrameAssOkCount;\n\tu64 MACMergeFragCountRx;\n\tu64 MACMergeFragCountTx;\n\tu64 MACMergeHoldCount;\n};\n\nstruct ethtool_modinfo {\n\t__u32 cmd;\n\t__u32 type;\n\t__u32 eeprom_len;\n\t__u32 reserved[8];\n};\n\nstruct ethtool_module_eeprom {\n\tu32 offset;\n\tu32 length;\n\tu8 page;\n\tu8 bank;\n\tu8 i2c_address;\n\tu8 *data;\n};\n\nstruct ethtool_module_fw_flash {\n\tstruct list_head list;\n\tnetdevice_tracker dev_tracker;\n\tstruct work_struct work;\n\tstruct ethtool_cmis_fw_update_params fw_update;\n};\n\nstruct ethtool_module_power_mode_params {\n\tenum ethtool_module_power_mode_policy policy;\n\tenum ethtool_module_power_mode mode;\n};\n\nstruct ethtool_netdev_state {\n\tstruct xarray rss_ctx;\n\tstruct mutex rss_lock;\n\tunsigned int wol_enabled: 1;\n\tunsigned int module_fw_flash_in_progress: 1;\n};\n\nstruct ethtool_regs;\n\nstruct ethtool_wolinfo;\n\nstruct ethtool_ringparam;\n\nstruct kernel_ethtool_ringparam;\n\nstruct ethtool_pause_stats;\n\nstruct ethtool_pauseparam;\n\nstruct ethtool_test;\n\nstruct ethtool_stats;\n\nstruct ethtool_rxnfc;\n\nstruct ethtool_rxfh_param;\n\nstruct ethtool_rxfh_context;\n\nstruct kernel_ethtool_ts_info;\n\nstruct ethtool_ts_stats;\n\nstruct ethtool_tunable;\n\nstruct ethtool_rmon_stats;\n\nstruct ethtool_rmon_hist_range;\n\nstruct ethtool_ops {\n\tu32 cap_link_lanes_supported: 1;\n\tu32 cap_rss_ctx_supported: 1;\n\tu32 cap_rss_sym_xor_supported: 1;\n\tu32 rxfh_per_ctx_key: 1;\n\tu32 cap_rss_rxnfc_adds: 1;\n\tu32 rxfh_indir_space;\n\tu16 rxfh_key_space;\n\tu16 rxfh_priv_size;\n\tu32 rxfh_max_num_contexts;\n\tu32 supported_coalesce_params;\n\tu32 supported_ring_params;\n\tu32 supported_hwtstamp_qualifiers;\n\tvoid (*get_drvinfo)(struct net_device *, struct ethtool_drvinfo *);\n\tint (*get_regs_len)(struct net_device *);\n\tvoid (*get_regs)(struct net_device *, struct ethtool_regs *, void *);\n\tvoid (*get_wol)(struct net_device *, struct ethtool_wolinfo *);\n\tint (*set_wol)(struct net_device *, struct ethtool_wolinfo *);\n\tu32 (*get_msglevel)(struct net_device *);\n\tvoid (*set_msglevel)(struct net_device *, u32);\n\tint (*nway_reset)(struct net_device *);\n\tu32 (*get_link)(struct net_device *);\n\tint (*get_link_ext_state)(struct net_device *, struct ethtool_link_ext_state_info *);\n\tvoid (*get_link_ext_stats)(struct net_device *, struct ethtool_link_ext_stats *);\n\tint (*get_eeprom_len)(struct net_device *);\n\tint (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*get_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *);\n\tint (*set_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *);\n\tvoid (*get_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *);\n\tint (*set_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *);\n\tvoid (*get_pause_stats)(struct net_device *, struct ethtool_pause_stats *);\n\tvoid (*get_pauseparam)(struct net_device *, struct ethtool_pauseparam *);\n\tint (*set_pauseparam)(struct net_device *, struct ethtool_pauseparam *);\n\tvoid (*self_test)(struct net_device *, struct ethtool_test *, u64 *);\n\tvoid (*get_strings)(struct net_device *, u32, u8 *);\n\tint (*set_phys_id)(struct net_device *, enum ethtool_phys_id_state);\n\tvoid (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *);\n\tint (*begin)(struct net_device *);\n\tvoid (*complete)(struct net_device *);\n\tu32 (*get_priv_flags)(struct net_device *);\n\tint (*set_priv_flags)(struct net_device *, u32);\n\tint (*get_sset_count)(struct net_device *, int);\n\tint (*get_rxnfc)(struct net_device *, struct ethtool_rxnfc *, u32 *);\n\tint (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *);\n\tint (*flash_device)(struct net_device *, struct ethtool_flash *);\n\tint (*reset)(struct net_device *, u32 *);\n\tu32 (*get_rxfh_key_size)(struct net_device *);\n\tu32 (*get_rxfh_indir_size)(struct net_device *);\n\tint (*get_rxfh)(struct net_device *, struct ethtool_rxfh_param *);\n\tint (*set_rxfh)(struct net_device *, struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*create_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*modify_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*remove_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, u32, struct netlink_ext_ack *);\n\tvoid (*get_channels)(struct net_device *, struct ethtool_channels *);\n\tint (*set_channels)(struct net_device *, struct ethtool_channels *);\n\tint (*get_dump_flag)(struct net_device *, struct ethtool_dump *);\n\tint (*get_dump_data)(struct net_device *, struct ethtool_dump *, void *);\n\tint (*set_dump)(struct net_device *, struct ethtool_dump *);\n\tint (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *);\n\tvoid (*get_ts_stats)(struct net_device *, struct ethtool_ts_stats *);\n\tint (*get_module_info)(struct net_device *, struct ethtool_modinfo *);\n\tint (*get_module_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*get_eee)(struct net_device *, struct ethtool_keee *);\n\tint (*set_eee)(struct net_device *, struct ethtool_keee *);\n\tint (*get_tunable)(struct net_device *, const struct ethtool_tunable *, void *);\n\tint (*set_tunable)(struct net_device *, const struct ethtool_tunable *, const void *);\n\tint (*get_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *);\n\tint (*set_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *);\n\tint (*get_link_ksettings)(struct net_device *, struct ethtool_link_ksettings *);\n\tint (*set_link_ksettings)(struct net_device *, const struct ethtool_link_ksettings *);\n\tvoid (*get_fec_stats)(struct net_device *, struct ethtool_fec_stats *);\n\tint (*get_fecparam)(struct net_device *, struct ethtool_fecparam *);\n\tint (*set_fecparam)(struct net_device *, struct ethtool_fecparam *);\n\tvoid (*get_ethtool_phy_stats)(struct net_device *, struct ethtool_stats *, u64 *);\n\tint (*get_phy_tunable)(struct net_device *, const struct ethtool_tunable *, void *);\n\tint (*set_phy_tunable)(struct net_device *, const struct ethtool_tunable *, const void *);\n\tint (*get_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n\tint (*set_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n\tvoid (*get_eth_phy_stats)(struct net_device *, struct ethtool_eth_phy_stats *);\n\tvoid (*get_eth_mac_stats)(struct net_device *, struct ethtool_eth_mac_stats *);\n\tvoid (*get_eth_ctrl_stats)(struct net_device *, struct ethtool_eth_ctrl_stats *);\n\tvoid (*get_rmon_stats)(struct net_device *, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **);\n\tint (*get_module_power_mode)(struct net_device *, struct ethtool_module_power_mode_params *, struct netlink_ext_ack *);\n\tint (*set_module_power_mode)(struct net_device *, const struct ethtool_module_power_mode_params *, struct netlink_ext_ack *);\n\tint (*get_mm)(struct net_device *, struct ethtool_mm_state *);\n\tint (*set_mm)(struct net_device *, struct ethtool_mm_cfg *, struct netlink_ext_ack *);\n\tvoid (*get_mm_stats)(struct net_device *, struct ethtool_mm_stats *);\n};\n\nstruct ethtool_pause_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 tx_pause_frames;\n\t\t\tu64 rx_pause_frames;\n\t\t};\n\t\tstruct {\n\t\t\tu64 tx_pause_frames;\n\t\t\tu64 rx_pause_frames;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_pauseparam {\n\t__u32 cmd;\n\t__u32 autoneg;\n\t__u32 rx_pause;\n\t__u32 tx_pause;\n};\n\nstruct ethtool_per_queue_op {\n\t__u32 cmd;\n\t__u32 sub_command;\n\t__u32 queue_mask[128];\n\tchar data[0];\n};\n\nstruct ethtool_perm_addr {\n\t__u32 cmd;\n\t__u32 size;\n\t__u8 data[0];\n};\n\nstruct phy_device;\n\nstruct phy_plca_cfg;\n\nstruct phy_plca_status;\n\nstruct phy_tdr_config;\n\nstruct ethtool_phy_ops {\n\tint (*get_sset_count)(struct phy_device *);\n\tint (*get_strings)(struct phy_device *, u8 *);\n\tint (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *);\n\tint (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *);\n\tint (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *, struct netlink_ext_ack *);\n\tint (*get_plca_status)(struct phy_device *, struct phy_plca_status *);\n\tint (*start_cable_test)(struct phy_device *, struct netlink_ext_ack *);\n\tint (*start_cable_test_tdr)(struct phy_device *, struct netlink_ext_ack *, const struct phy_tdr_config *);\n};\n\nstruct ethtool_phy_stats {\n\tu64 rx_packets;\n\tu64 rx_bytes;\n\tu64 rx_errors;\n\tu64 tx_packets;\n\tu64 tx_bytes;\n\tu64 tx_errors;\n};\n\nstruct ethtool_pse_control_status {\n\tenum ethtool_podl_pse_admin_state podl_admin_state;\n\tenum ethtool_podl_pse_pw_d_status podl_pw_status;\n\tenum ethtool_c33_pse_admin_state c33_admin_state;\n\tenum ethtool_c33_pse_pw_d_status c33_pw_status;\n\tu32 c33_pw_class;\n\tu32 c33_actual_pw;\n\tstruct ethtool_c33_pse_ext_state_info c33_ext_state_info;\n\tu32 c33_avail_pw_limit;\n\tstruct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges;\n\tu32 c33_pw_limit_nb_ranges;\n};\n\nstruct ethtool_regs {\n\t__u32 cmd;\n\t__u32 version;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_ringparam {\n\t__u32 cmd;\n\t__u32 rx_max_pending;\n\t__u32 rx_mini_max_pending;\n\t__u32 rx_jumbo_max_pending;\n\t__u32 tx_max_pending;\n\t__u32 rx_pending;\n\t__u32 rx_mini_pending;\n\t__u32 rx_jumbo_pending;\n\t__u32 tx_pending;\n};\n\nstruct ethtool_rmon_hist_range {\n\tu16 low;\n\tu16 high;\n};\n\nstruct ethtool_rmon_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 undersize_pkts;\n\t\t\tu64 oversize_pkts;\n\t\t\tu64 fragments;\n\t\t\tu64 jabbers;\n\t\t\tu64 hist[10];\n\t\t\tu64 hist_tx[10];\n\t\t};\n\t\tstruct {\n\t\t\tu64 undersize_pkts;\n\t\t\tu64 oversize_pkts;\n\t\t\tu64 fragments;\n\t\t\tu64 jabbers;\n\t\t\tu64 hist[10];\n\t\t\tu64 hist_tx[10];\n\t\t} stats;\n\t};\n};\n\nstruct flow_dissector_key_basic {\n\t__be16 n_proto;\n\tu8 ip_proto;\n\tu8 padding;\n};\n\nstruct flow_dissector_key_ipv4_addrs {\n\t__be32 src;\n\t__be32 dst;\n};\n\nstruct flow_dissector_key_ipv6_addrs {\n\tstruct in6_addr src;\n\tstruct in6_addr dst;\n};\n\nstruct flow_dissector_key_ports {\n\tunion {\n\t\t__be32 ports;\n\t\tstruct {\n\t\t\t__be16 src;\n\t\t\t__be16 dst;\n\t\t};\n\t};\n};\n\nstruct flow_dissector_key_ip {\n\t__u8 tos;\n\t__u8 ttl;\n};\n\nstruct flow_dissector_key_vlan {\n\tunion {\n\t\tstruct {\n\t\t\tu16 vlan_id: 12;\n\t\t\tu16 vlan_dei: 1;\n\t\t\tu16 vlan_priority: 3;\n\t\t};\n\t\t__be16 vlan_tci;\n\t};\n\t__be16 vlan_tpid;\n\t__be16 vlan_eth_type;\n\tu16 padding;\n};\n\nstruct flow_dissector_key_eth_addrs {\n\tunsigned char dst[6];\n\tunsigned char src[6];\n};\n\nstruct ethtool_rx_flow_key {\n\tstruct flow_dissector_key_basic basic;\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs ipv4;\n\t\tstruct flow_dissector_key_ipv6_addrs ipv6;\n\t};\n\tstruct flow_dissector_key_ports tp;\n\tstruct flow_dissector_key_ip ip;\n\tstruct flow_dissector_key_vlan vlan;\n\tstruct flow_dissector_key_eth_addrs eth_addrs;\n};\n\nstruct flow_dissector {\n\tlong long unsigned int used_keys;\n\tshort unsigned int offset[33];\n};\n\nstruct ethtool_rx_flow_match {\n\tstruct flow_dissector dissector;\n\tstruct ethtool_rx_flow_key key;\n\tstruct ethtool_rx_flow_key mask;\n};\n\nstruct flow_rule;\n\nstruct ethtool_rx_flow_rule {\n\tstruct flow_rule *rule;\n\tlong unsigned int priv[0];\n};\n\nstruct ethtool_rx_flow_spec {\n\t__u32 flow_type;\n\tunion ethtool_flow_union h_u;\n\tstruct ethtool_flow_ext h_ext;\n\tunion ethtool_flow_union m_u;\n\tstruct ethtool_flow_ext m_ext;\n\t__u64 ring_cookie;\n\t__u32 location;\n};\n\nstruct ethtool_rx_flow_spec_input {\n\tconst struct ethtool_rx_flow_spec *fs;\n\tu32 rss_ctx;\n};\n\nstruct ethtool_rxfh {\n\t__u32 cmd;\n\t__u32 rss_context;\n\t__u32 indir_size;\n\t__u32 key_size;\n\t__u8 hfunc;\n\t__u8 input_xfrm;\n\t__u8 rsvd8[2];\n\t__u32 rsvd32;\n\t__u32 rss_config[0];\n};\n\nstruct ethtool_rxfh_context {\n\tu32 indir_size;\n\tu32 key_size;\n\tu16 priv_size;\n\tu8 hfunc;\n\tu8 input_xfrm;\n\tu8 indir_configured: 1;\n\tu8 key_configured: 1;\n\tu32 key_off;\n\tlong: 0;\n\tu8 data[0];\n};\n\nstruct ethtool_rxfh_param {\n\tu8 hfunc;\n\tu32 indir_size;\n\tu32 *indir;\n\tu32 key_size;\n\tu8 *key;\n\tu32 rss_context;\n\tu8 rss_delete;\n\tu8 input_xfrm;\n};\n\nstruct ethtool_rxnfc {\n\t__u32 cmd;\n\t__u32 flow_type;\n\t__u64 data;\n\tstruct ethtool_rx_flow_spec fs;\n\tunion {\n\t\t__u32 rule_cnt;\n\t\t__u32 rss_context;\n\t};\n\t__u32 rule_locs[0];\n};\n\nstruct ethtool_set_features_block {\n\t__u32 valid;\n\t__u32 requested;\n};\n\nstruct ethtool_sfeatures {\n\t__u32 cmd;\n\t__u32 size;\n\tstruct ethtool_set_features_block features[0];\n};\n\nstruct ethtool_sset_info {\n\t__u32 cmd;\n\t__u32 reserved;\n\t__u64 sset_mask;\n\t__u32 data[0];\n};\n\nstruct ethtool_stats {\n\t__u32 cmd;\n\t__u32 n_stats;\n\t__u64 data[0];\n};\n\nstruct ethtool_test {\n\t__u32 cmd;\n\t__u32 flags;\n\t__u32 reserved;\n\t__u32 len;\n\t__u64 data[0];\n};\n\nstruct ethtool_ts_info {\n\t__u32 cmd;\n\t__u32 so_timestamping;\n\t__s32 phc_index;\n\t__u32 tx_types;\n\t__u32 tx_reserved[3];\n\t__u32 rx_filters;\n\t__u32 rx_reserved[3];\n};\n\nstruct ethtool_ts_stats {\n\tunion {\n\t\tstruct {\n\t\t\tu64 pkts;\n\t\t\tu64 onestep_pkts_unconfirmed;\n\t\t\tu64 lost;\n\t\t\tu64 err;\n\t\t};\n\t\tstruct {\n\t\t\tu64 pkts;\n\t\t\tu64 onestep_pkts_unconfirmed;\n\t\t\tu64 lost;\n\t\t\tu64 err;\n\t\t} tx_stats;\n\t};\n};\n\nstruct ethtool_tunable {\n\t__u32 cmd;\n\t__u32 id;\n\t__u32 type_id;\n\t__u32 len;\n\tvoid *data[0];\n};\n\nstruct ethtool_value {\n\t__u32 cmd;\n\t__u32 data;\n};\n\nstruct ethtool_wolinfo {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 wolopts;\n\t__u8 sopass[6];\n};\n\nstruct event_trigger_data;\n\nstruct event_trigger_ops;\n\nstruct event_command {\n\tstruct list_head list;\n\tchar *name;\n\tenum event_trigger_type trigger_type;\n\tint flags;\n\tint (*parse)(struct event_command *, struct trace_event_file *, char *, char *, char *);\n\tint (*reg)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tvoid (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tvoid (*unreg_all)(struct trace_event_file *);\n\tint (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tstruct event_trigger_ops * (*get_trigger_ops)(char *, char *);\n};\n\nstruct event_file_link {\n\tstruct trace_event_file *file;\n\tstruct list_head list;\n};\n\nstruct prog_entry;\n\nstruct event_filter {\n\tstruct prog_entry *prog;\n\tchar *filter_string;\n};\n\nstruct perf_cpu_context;\n\nstruct perf_event_context;\n\ntypedef void (*event_f)(struct perf_event *, struct perf_cpu_context *, struct perf_event_context *, void *);\n\nstruct event_function_struct {\n\tstruct perf_event *event;\n\tevent_f func;\n\tvoid *data;\n};\n\nstruct event_header {\n\t__be16 data_len;\n\t__u8 notification_class: 3;\n\t__u8 reserved1: 4;\n\t__u8 nea: 1;\n\t__u8 supp_event_class;\n};\n\nstruct event_mod_load {\n\tstruct list_head list;\n\tchar *module;\n\tchar *match;\n\tchar *system;\n\tchar *event;\n};\n\nstruct srp_event_struct;\n\nunion viosrp_iu;\n\nstruct event_pool {\n\tstruct srp_event_struct *events;\n\tu32 size;\n\tint next;\n\tunion viosrp_iu *iu_storage;\n\tdma_addr_t iu_token;\n};\n\nstruct event_probe_data {\n\tstruct trace_event_file *file;\n\tlong unsigned int count;\n\tint ref;\n\tbool enable;\n};\n\nstruct event_subsystem {\n\tstruct list_head list;\n\tconst char *name;\n\tstruct event_filter *filter;\n\tint ref_count;\n};\n\nstruct event_trigger_data {\n\tlong unsigned int count;\n\tint ref;\n\tint flags;\n\tstruct event_trigger_ops *ops;\n\tstruct event_command *cmd_ops;\n\tstruct event_filter *filter;\n\tchar *filter_str;\n\tvoid *private_data;\n\tbool paused;\n\tbool paused_tmp;\n\tstruct list_head list;\n\tchar *name;\n\tstruct list_head named_list;\n\tstruct event_trigger_data *named_data;\n};\n\nstruct ring_buffer_event;\n\nstruct event_trigger_ops {\n\tvoid (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *);\n\tint (*init)(struct event_trigger_data *);\n\tvoid (*free)(struct event_trigger_data *);\n\tint (*print)(struct seq_file *, struct event_trigger_data *);\n};\n\nstruct event_uniq {\n\tstruct rb_node node;\n\tconst char *name;\n\tint nl;\n\tunsigned int ct;\n\tunsigned int domain;\n};\n\nstruct eventfd_ctx {\n\tstruct kref kref;\n\twait_queue_head_t wqh;\n\t__u64 count;\n\tunsigned int flags;\n\tint id;\n};\n\nstruct eventfs_attr {\n\tint mode;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\ntypedef int (*eventfs_callback)(const char *, umode_t *, void **, const struct file_operations **);\n\ntypedef void (*eventfs_release)(const char *, void *);\n\nstruct eventfs_entry {\n\tconst char *name;\n\teventfs_callback callback;\n\teventfs_release release;\n};\n\nstruct eventfs_inode {\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct list_head children;\n\tconst struct eventfs_entry *entries;\n\tconst char *name;\n\tstruct eventfs_attr *entry_attrs;\n\tvoid *data;\n\tstruct eventfs_attr attr;\n\tstruct kref kref;\n\tunsigned int is_freed: 1;\n\tunsigned int is_events: 1;\n\tunsigned int nr_entries: 30;\n\tunsigned int ino;\n};\n\nstruct eventfs_root_inode {\n\tstruct eventfs_inode ei;\n\tstruct dentry *events_dir;\n};\n\nstruct eventpoll {\n\tstruct mutex mtx;\n\twait_queue_head_t wq;\n\twait_queue_head_t poll_wait;\n\tstruct list_head rdllist;\n\trwlock_t lock;\n\tstruct rb_root_cached rbr;\n\tstruct epitem *ovflist;\n\tstruct wakeup_source *ws;\n\tstruct user_struct *user;\n\tstruct file *file;\n\tu64 gen;\n\tstruct hlist_head refs;\n\trefcount_t refcount;\n\tunsigned int napi_id;\n\tu32 busy_poll_usecs;\n\tu16 busy_poll_budget;\n\tbool prefer_busy_poll;\n};\n\nstruct evm_ima_xattr_data_hdr {\n\tu8 type;\n};\n\nstruct evm_ima_xattr_data {\n\tunion {\n\t\tstruct {\n\t\t\tu8 type;\n\t\t};\n\t\tstruct evm_ima_xattr_data_hdr hdr;\n\t};\n\tu8 data[0];\n};\n\nstruct exar8250_board;\n\nstruct exar8250 {\n\tunsigned int nr;\n\tunsigned int osc_freq;\n\tstruct exar8250_board *board;\n\tstruct eeprom_93cx6 eeprom;\n\tvoid *virt;\n\tint line[0];\n};\n\nstruct uart_8250_port;\n\nstruct exar8250_board {\n\tunsigned int num_ports;\n\tunsigned int reg_shift;\n\tint (*setup)(struct exar8250 *, struct pci_dev *, struct uart_8250_port *, int);\n\tvoid (*exit)(struct pci_dev *);\n};\n\nstruct exar8250_platform {\n\tint (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *);\n\tconst struct serial_rs485 *rs485_supported;\n\tint (*register_gpio)(struct pci_dev *, struct uart_8250_port *);\n\tvoid (*unregister_gpio)(struct uart_8250_port *);\n};\n\nstruct exception_table_entry {\n\tint insn;\n\tint fixup;\n};\n\nstruct exceptional_entry_key {\n\tstruct xarray *xa;\n\tlong unsigned int entry_start;\n};\n\nstruct execmem_range {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int fallback_start;\n\tlong unsigned int fallback_end;\n\tpgprot_t pgprot;\n\tunsigned int alignment;\n\tenum execmem_range_flags flags;\n};\n\nstruct execmem_info {\n\tstruct execmem_range ranges[5];\n};\n\nstruct execute_work {\n\tstruct work_struct work;\n};\n\nstruct fid;\n\nstruct iomap;\n\nstruct iattr;\n\nstruct handle_to_path_ctx;\n\nstruct export_operations {\n\tint (*encode_fh)(struct inode *, __u32 *, int *, struct inode *);\n\tstruct dentry * (*fh_to_dentry)(struct super_block *, struct fid *, int, int);\n\tstruct dentry * (*fh_to_parent)(struct super_block *, struct fid *, int, int);\n\tint (*get_name)(struct dentry *, char *, struct dentry *);\n\tstruct dentry * (*get_parent)(struct dentry *);\n\tint (*commit_metadata)(struct inode *);\n\tint (*get_uuid)(struct super_block *, u8 *, u32 *, u64 *);\n\tint (*map_blocks)(struct inode *, loff_t, u64, struct iomap *, bool, u32 *);\n\tint (*commit_blocks)(struct inode *, struct iomap *, int, struct iattr *);\n\tint (*permission)(struct handle_to_path_ctx *, unsigned int);\n\tstruct file * (*open)(struct path *, unsigned int);\n\tlong unsigned int flags;\n};\n\nstruct ext4_free_extent {\n\text4_lblk_t fe_logical;\n\text4_grpblk_t fe_start;\n\text4_group_t fe_group;\n\text4_grpblk_t fe_len;\n};\n\nstruct ext4_prealloc_space;\n\nstruct ext4_locality_group;\n\nstruct ext4_allocation_context {\n\tstruct inode *ac_inode;\n\tstruct super_block *ac_sb;\n\tstruct ext4_free_extent ac_o_ex;\n\tstruct ext4_free_extent ac_g_ex;\n\tstruct ext4_free_extent ac_b_ex;\n\tstruct ext4_free_extent ac_f_ex;\n\text4_grpblk_t ac_orig_goal_len;\n\t__u32 ac_flags;\n\t__u32 ac_groups_linear_remaining;\n\t__u16 ac_groups_scanned;\n\t__u16 ac_found;\n\t__u16 ac_cX_found[5];\n\t__u16 ac_tail;\n\t__u16 ac_buddy;\n\t__u8 ac_status;\n\t__u8 ac_criteria;\n\t__u8 ac_2order;\n\t__u8 ac_op;\n\tstruct folio *ac_bitmap_folio;\n\tstruct folio *ac_buddy_folio;\n\tstruct ext4_prealloc_space *ac_pa;\n\tstruct ext4_locality_group *ac_lg;\n};\n\nstruct ext4_allocation_request {\n\tstruct inode *inode;\n\tunsigned int len;\n\text4_lblk_t logical;\n\text4_lblk_t lleft;\n\text4_lblk_t lright;\n\text4_fsblk_t goal;\n\text4_fsblk_t pleft;\n\text4_fsblk_t pright;\n\tunsigned int flags;\n};\n\nstruct ext4_attr {\n\tstruct attribute attr;\n\tshort int attr_id;\n\tshort int attr_ptr;\n\tshort unsigned int attr_size;\n\tunion {\n\t\tint offset;\n\t\tvoid *explicit_ptr;\n\t} u;\n};\n\nstruct ext4_group_info;\n\nstruct ext4_buddy {\n\tstruct folio *bd_buddy_folio;\n\tvoid *bd_buddy;\n\tstruct folio *bd_bitmap_folio;\n\tvoid *bd_bitmap;\n\tstruct ext4_group_info *bd_info;\n\tstruct super_block *bd_sb;\n\t__u16 bd_blkbits;\n\text4_group_t bd_group;\n};\n\nstruct ext4_dir_entry {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__le16 name_len;\n\tchar name[255];\n};\n\nstruct ext4_dir_entry_2 {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[255];\n};\n\nstruct ext4_dir_entry_hash {\n\t__le32 hash;\n\t__le32 minor_hash;\n};\n\nstruct ext4_dir_entry_tail {\n\t__le32 det_reserved_zero1;\n\t__le16 det_rec_len;\n\t__u8 det_reserved_zero2;\n\t__u8 det_reserved_ft;\n\t__le32 det_checksum;\n};\n\nstruct ext4_err_translation {\n\tint code;\n\tint errno;\n};\n\nstruct ext4_es_stats {\n\tlong unsigned int es_stats_shrunk;\n\tstruct percpu_counter es_stats_cache_hits;\n\tstruct percpu_counter es_stats_cache_misses;\n\tu64 es_stats_scan_time;\n\tu64 es_stats_max_scan_time;\n\tstruct percpu_counter es_stats_all_cnt;\n\tstruct percpu_counter es_stats_shk_cnt;\n};\n\nstruct extent_status;\n\nstruct ext4_es_tree {\n\tstruct rb_root root;\n\tstruct extent_status *cache_es;\n};\n\nstruct ext4_extent;\n\nstruct ext4_extent_idx;\n\nstruct ext4_extent_header;\n\nstruct ext4_ext_path {\n\text4_fsblk_t p_block;\n\t__u16 p_depth;\n\t__u16 p_maxdepth;\n\tstruct ext4_extent *p_ext;\n\tstruct ext4_extent_idx *p_idx;\n\tstruct ext4_extent_header *p_hdr;\n\tstruct buffer_head *p_bh;\n};\n\nstruct ext4_extent {\n\t__le32 ee_block;\n\t__le16 ee_len;\n\t__le16 ee_start_hi;\n\t__le32 ee_start_lo;\n};\n\nstruct ext4_extent_header {\n\t__le16 eh_magic;\n\t__le16 eh_entries;\n\t__le16 eh_max;\n\t__le16 eh_depth;\n\t__le32 eh_generation;\n};\n\nstruct ext4_extent_idx {\n\t__le32 ei_block;\n\t__le32 ei_leaf_lo;\n\t__le16 ei_leaf_hi;\n\t__u16 ei_unused;\n};\n\nstruct ext4_extent_tail {\n\t__le32 et_checksum;\n};\n\nstruct ext4_fc_add_range {\n\t__le32 fc_ino;\n\t__u8 fc_ex[12];\n};\n\nstruct ext4_fc_alloc_region {\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tint ino;\n\tint len;\n};\n\nstruct ext4_fc_del_range {\n\t__le32 fc_ino;\n\t__le32 fc_lblk;\n\t__le32 fc_len;\n};\n\nstruct ext4_fc_dentry_info {\n\t__le32 fc_parent_ino;\n\t__le32 fc_ino;\n\t__u8 fc_dname[0];\n};\n\nstruct name_snapshot {\n\tstruct qstr name;\n\tunion shortname_store inline_name;\n};\n\nstruct ext4_fc_dentry_update {\n\tint fcd_op;\n\tint fcd_parent;\n\tint fcd_ino;\n\tstruct name_snapshot fcd_name;\n\tstruct list_head fcd_list;\n\tstruct list_head fcd_dilist;\n};\n\nstruct ext4_fc_head {\n\t__le32 fc_features;\n\t__le32 fc_tid;\n};\n\nstruct ext4_fc_inode {\n\t__le32 fc_ino;\n\t__u8 fc_raw_inode[0];\n};\n\nstruct ext4_fc_replay_state {\n\tint fc_replay_num_tags;\n\tint fc_replay_expected_off;\n\tint fc_current_pass;\n\tint fc_cur_tag;\n\tint fc_crc;\n\tstruct ext4_fc_alloc_region *fc_regions;\n\tint fc_regions_size;\n\tint fc_regions_used;\n\tint fc_regions_valid;\n\tint *fc_modified_inodes;\n\tint fc_modified_inodes_used;\n\tint fc_modified_inodes_size;\n};\n\nstruct ext4_fc_stats {\n\tunsigned int fc_ineligible_reason_count[10];\n\tlong unsigned int fc_num_commits;\n\tlong unsigned int fc_ineligible_commits;\n\tlong unsigned int fc_failed_commits;\n\tlong unsigned int fc_skipped_commits;\n\tlong unsigned int fc_numblks;\n\tu64 s_fc_avg_commit_time;\n};\n\nstruct ext4_fc_tail {\n\t__le32 fc_tid;\n\t__le32 fc_crc;\n};\n\nstruct ext4_fc_tl {\n\t__le16 fc_tag;\n\t__le16 fc_len;\n};\n\nstruct ext4_fc_tl_mem {\n\tu16 fc_tag;\n\tu16 fc_len;\n};\n\nstruct fscrypt_str {\n\tunsigned char *name;\n\tu32 len;\n};\n\nstruct ext4_filename {\n\tconst struct qstr *usr_fname;\n\tstruct fscrypt_str disk_name;\n\tstruct dx_hash_info hinfo;\n};\n\nstruct ext4_free_data {\n\tstruct list_head efd_list;\n\tstruct rb_node efd_node;\n\text4_group_t efd_group;\n\text4_grpblk_t efd_start_cluster;\n\text4_grpblk_t efd_count;\n\ttid_t efd_tid;\n};\n\nstruct fscrypt_dummy_policy {};\n\nstruct ext4_fs_context {\n\tchar *s_qf_names[3];\n\tstruct fscrypt_dummy_policy dummy_enc_policy;\n\tint s_jquota_fmt;\n\tshort unsigned int qname_spec;\n\tlong unsigned int vals_s_flags;\n\tlong unsigned int mask_s_flags;\n\tlong unsigned int journal_devnum;\n\tlong unsigned int s_commit_interval;\n\tlong unsigned int s_stripe;\n\tunsigned int s_inode_readahead_blks;\n\tunsigned int s_want_extra_isize;\n\tunsigned int s_li_wait_mult;\n\tunsigned int s_max_dir_size_kb;\n\tunsigned int journal_ioprio;\n\tunsigned int vals_s_mount_opt;\n\tunsigned int mask_s_mount_opt;\n\tunsigned int vals_s_mount_opt2;\n\tunsigned int mask_s_mount_opt2;\n\tunsigned int opt_flags;\n\tunsigned int spec;\n\tu32 s_max_batch_time;\n\tu32 s_min_batch_time;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\text4_fsblk_t s_sb_block;\n};\n\nstruct ext4_fsmap {\n\tstruct list_head fmr_list;\n\tdev_t fmr_device;\n\tuint32_t fmr_flags;\n\tuint64_t fmr_physical;\n\tuint64_t fmr_owner;\n\tuint64_t fmr_length;\n};\n\nstruct ext4_fsmap_head {\n\tuint32_t fmh_iflags;\n\tuint32_t fmh_oflags;\n\tunsigned int fmh_count;\n\tunsigned int fmh_entries;\n\tstruct ext4_fsmap fmh_keys[2];\n};\n\nstruct ext4_getfsmap_info;\n\nstruct ext4_getfsmap_dev {\n\tint (*gfd_fn)(struct super_block *, struct ext4_fsmap *, struct ext4_getfsmap_info *);\n\tu32 gfd_dev;\n};\n\ntypedef int (*ext4_fsmap_format_t)(struct ext4_fsmap *, void *);\n\nstruct ext4_getfsmap_info {\n\tstruct ext4_fsmap_head *gfi_head;\n\text4_fsmap_format_t gfi_formatter;\n\tvoid *gfi_format_arg;\n\text4_fsblk_t gfi_next_fsblk;\n\tu32 gfi_dev;\n\text4_group_t gfi_agno;\n\tstruct ext4_fsmap gfi_low;\n\tstruct ext4_fsmap gfi_high;\n\tstruct ext4_fsmap gfi_lastfree;\n\tstruct list_head gfi_meta_list;\n\tbool gfi_last;\n};\n\nstruct ext4_group_desc {\n\t__le32 bg_block_bitmap_lo;\n\t__le32 bg_inode_bitmap_lo;\n\t__le32 bg_inode_table_lo;\n\t__le16 bg_free_blocks_count_lo;\n\t__le16 bg_free_inodes_count_lo;\n\t__le16 bg_used_dirs_count_lo;\n\t__le16 bg_flags;\n\t__le32 bg_exclude_bitmap_lo;\n\t__le16 bg_block_bitmap_csum_lo;\n\t__le16 bg_inode_bitmap_csum_lo;\n\t__le16 bg_itable_unused_lo;\n\t__le16 bg_checksum;\n\t__le32 bg_block_bitmap_hi;\n\t__le32 bg_inode_bitmap_hi;\n\t__le32 bg_inode_table_hi;\n\t__le16 bg_free_blocks_count_hi;\n\t__le16 bg_free_inodes_count_hi;\n\t__le16 bg_used_dirs_count_hi;\n\t__le16 bg_itable_unused_hi;\n\t__le32 bg_exclude_bitmap_hi;\n\t__le16 bg_block_bitmap_csum_hi;\n\t__le16 bg_inode_bitmap_csum_hi;\n\t__u32 bg_reserved;\n};\n\nstruct ext4_group_info {\n\tlong unsigned int bb_state;\n\tstruct rb_root bb_free_root;\n\text4_grpblk_t bb_first_free;\n\text4_grpblk_t bb_free;\n\text4_grpblk_t bb_fragments;\n\tint bb_avg_fragment_size_order;\n\text4_grpblk_t bb_largest_free_order;\n\text4_group_t bb_group;\n\tstruct list_head bb_prealloc_list;\n\tstruct rw_semaphore alloc_sem;\n\tstruct list_head bb_avg_fragment_size_node;\n\tstruct list_head bb_largest_free_order_node;\n\text4_grpblk_t bb_counters[0];\n};\n\nstruct ext4_iloc {\n\tstruct buffer_head *bh;\n\tlong unsigned int offset;\n\text4_group_t block_group;\n};\n\nstruct ext4_inode {\n\t__le16 i_mode;\n\t__le16 i_uid;\n\t__le32 i_size_lo;\n\t__le32 i_atime;\n\t__le32 i_ctime;\n\t__le32 i_mtime;\n\t__le32 i_dtime;\n\t__le16 i_gid;\n\t__le16 i_links_count;\n\t__le32 i_blocks_lo;\n\t__le32 i_flags;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 l_i_version;\n\t\t} linux1;\n\t\tstruct {\n\t\t\t__u32 h_i_translator;\n\t\t} hurd1;\n\t\tstruct {\n\t\t\t__u32 m_i_reserved1;\n\t\t} masix1;\n\t} osd1;\n\t__le32 i_block[15];\n\t__le32 i_generation;\n\t__le32 i_file_acl_lo;\n\t__le32 i_size_high;\n\t__le32 i_obso_faddr;\n\tunion {\n\t\tstruct {\n\t\t\t__le16 l_i_blocks_high;\n\t\t\t__le16 l_i_file_acl_high;\n\t\t\t__le16 l_i_uid_high;\n\t\t\t__le16 l_i_gid_high;\n\t\t\t__le16 l_i_checksum_lo;\n\t\t\t__le16 l_i_reserved;\n\t\t} linux2;\n\t\tstruct {\n\t\t\t__le16 h_i_reserved1;\n\t\t\t__u16 h_i_mode_high;\n\t\t\t__u16 h_i_uid_high;\n\t\t\t__u16 h_i_gid_high;\n\t\t\t__u32 h_i_author;\n\t\t} hurd2;\n\t\tstruct {\n\t\t\t__le16 h_i_reserved1;\n\t\t\t__le16 m_i_file_acl_high;\n\t\t\t__u32 m_i_reserved2[2];\n\t\t} masix2;\n\t} osd2;\n\t__le16 i_extra_isize;\n\t__le16 i_checksum_hi;\n\t__le32 i_ctime_extra;\n\t__le32 i_mtime_extra;\n\t__le32 i_atime_extra;\n\t__le32 i_crtime;\n\t__le32 i_crtime_extra;\n\t__le32 i_version_hi;\n\t__le32 i_projid;\n};\n\nstruct ext4_pending_tree {\n\tstruct rb_root root;\n};\n\nstruct jbd2_inode;\n\nstruct ext4_inode_info {\n\t__le32 i_data[15];\n\t__u32 i_dtime;\n\text4_fsblk_t i_file_acl;\n\text4_group_t i_block_group;\n\text4_lblk_t i_dir_start_lookup;\n\tlong unsigned int i_flags;\n\tstruct rw_semaphore xattr_sem;\n\tunion {\n\t\tstruct list_head i_orphan;\n\t\tunsigned int i_orphan_idx;\n\t};\n\tstruct list_head i_fc_dilist;\n\tstruct list_head i_fc_list;\n\text4_lblk_t i_fc_lblk_start;\n\text4_lblk_t i_fc_lblk_len;\n\tatomic_t i_fc_updates;\n\tatomic_t i_unwritten;\n\twait_queue_head_t i_fc_wait;\n\tstruct mutex i_fc_lock;\n\tloff_t i_disksize;\n\tstruct rw_semaphore i_data_sem;\n\tstruct inode vfs_inode;\n\tstruct jbd2_inode *jinode;\n\tspinlock_t i_raw_lock;\n\tstruct timespec64 i_crtime;\n\tatomic_t i_prealloc_active;\n\tunsigned int i_reserved_data_blocks;\n\tstruct rb_root i_prealloc_node;\n\trwlock_t i_prealloc_lock;\n\tstruct ext4_es_tree i_es_tree;\n\trwlock_t i_es_lock;\n\tstruct list_head i_es_list;\n\tunsigned int i_es_all_nr;\n\tunsigned int i_es_shk_nr;\n\text4_lblk_t i_es_shrink_lblk;\n\text4_group_t i_last_alloc_group;\n\tstruct ext4_pending_tree i_pending_tree;\n\t__u16 i_extra_isize;\n\tu16 i_inline_off;\n\tu16 i_inline_size;\n\tspinlock_t i_completed_io_lock;\n\tstruct list_head i_rsv_conversion_list;\n\tstruct work_struct i_rsv_conversion_work;\n\tspinlock_t i_block_reservation_lock;\n\ttid_t i_sync_tid;\n\ttid_t i_datasync_tid;\n\t__u32 i_csum_seed;\n\tkprojid_t i_projid;\n};\n\nstruct jbd2_journal_handle;\n\ntypedef struct jbd2_journal_handle handle_t;\n\nstruct ext4_io_end {\n\tstruct list_head list;\n\thandle_t *handle;\n\tstruct inode *inode;\n\tstruct bio *bio;\n\tunsigned int flag;\n\trefcount_t count;\n\tstruct list_head list_vec;\n};\n\ntypedef struct ext4_io_end ext4_io_end_t;\n\nstruct ext4_io_end_vec {\n\tstruct list_head list;\n\tloff_t offset;\n\tssize_t size;\n};\n\nstruct ext4_io_submit {\n\tstruct writeback_control *io_wbc;\n\tstruct bio *io_bio;\n\text4_io_end_t *io_end;\n\tsector_t io_next_block;\n};\n\nstruct ext4_journal_cb_entry {\n\tstruct list_head jce_list;\n\tvoid (*jce_func)(struct super_block *, struct ext4_journal_cb_entry *, int);\n};\n\nstruct jbd2_buffer_trigger_type {\n\tvoid (*t_frozen)(struct jbd2_buffer_trigger_type *, struct buffer_head *, void *, size_t);\n\tvoid (*t_abort)(struct jbd2_buffer_trigger_type *, struct buffer_head *);\n};\n\nstruct ext4_journal_trigger {\n\tstruct jbd2_buffer_trigger_type tr_triggers;\n\tstruct super_block *sb;\n};\n\nstruct ext4_lazy_init {\n\tlong unsigned int li_state;\n\tstruct list_head li_request_list;\n\tstruct mutex li_list_mtx;\n};\n\nstruct ext4_li_request {\n\tstruct super_block *lr_super;\n\tenum ext4_li_mode lr_mode;\n\text4_group_t lr_first_not_zeroed;\n\text4_group_t lr_next_group;\n\tstruct list_head lr_request;\n\tlong unsigned int lr_next_sched;\n\tlong unsigned int lr_timeout;\n};\n\nstruct ext4_locality_group {\n\tstruct mutex lg_mutex;\n\tstruct list_head lg_prealloc_list[10];\n\tspinlock_t lg_prealloc_lock;\n};\n\nstruct ext4_map_blocks {\n\text4_fsblk_t m_pblk;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\tunsigned int m_flags;\n};\n\nstruct ext4_mount_options {\n\tlong unsigned int s_mount_opt;\n\tlong unsigned int s_mount_opt2;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tlong unsigned int s_commit_interval;\n\tu32 s_min_batch_time;\n\tu32 s_max_batch_time;\n};\n\nstruct ext4_new_group_data;\n\nstruct ext4_new_flex_group_data {\n\tstruct ext4_new_group_data *groups;\n\t__u16 *bg_flags;\n\text4_group_t resize_bg;\n\text4_group_t count;\n};\n\nstruct ext4_new_group_data {\n\t__u32 group;\n\t__u64 block_bitmap;\n\t__u64 inode_bitmap;\n\t__u64 inode_table;\n\t__u32 blocks_count;\n\t__u16 reserved_blocks;\n\t__u16 mdata_blocks;\n\t__u32 free_clusters_count;\n};\n\nstruct ext4_new_group_input {\n\t__u32 group;\n\t__u64 block_bitmap;\n\t__u64 inode_bitmap;\n\t__u64 inode_table;\n\t__u32 blocks_count;\n\t__u16 reserved_blocks;\n\t__u16 unused;\n};\n\nstruct ext4_orphan_block {\n\tatomic_t ob_free_entries;\n\tstruct buffer_head *ob_bh;\n};\n\nstruct ext4_orphan_block_tail {\n\t__le32 ob_magic;\n\t__le32 ob_checksum;\n};\n\nstruct ext4_orphan_info {\n\tint of_blocks;\n\t__u32 of_csum_seed;\n\tstruct ext4_orphan_block *of_binfo;\n};\n\nstruct ext4_prealloc_space {\n\tunion {\n\t\tstruct rb_node inode_node;\n\t\tstruct list_head lg_list;\n\t} pa_node;\n\tstruct list_head pa_group_list;\n\tunion {\n\t\tstruct list_head pa_tmp_list;\n\t\tstruct callback_head pa_rcu;\n\t} u;\n\tspinlock_t pa_lock;\n\tatomic_t pa_count;\n\tunsigned int pa_deleted;\n\text4_fsblk_t pa_pstart;\n\text4_lblk_t pa_lstart;\n\text4_grpblk_t pa_len;\n\text4_grpblk_t pa_free;\n\tshort unsigned int pa_type;\n\tunion {\n\t\trwlock_t *inode_lock;\n\t\tspinlock_t *lg_lock;\n\t} pa_node_lock;\n\tstruct inode *pa_inode;\n};\n\nstruct ext4_rcu_ptr {\n\tstruct callback_head rcu;\n\tvoid *ptr;\n};\n\nstruct ext4_renament {\n\tstruct inode *dir;\n\tstruct dentry *dentry;\n\tstruct inode *inode;\n\tbool is_dir;\n\tint dir_nlink_delta;\n\tstruct buffer_head *bh;\n\tstruct ext4_dir_entry_2 *de;\n\tint inlined;\n\tstruct buffer_head *dir_bh;\n\tstruct ext4_dir_entry_2 *parent_de;\n\tint dir_inlined;\n};\n\nstruct rcu_sync {\n\tint gp_state;\n\tint gp_count;\n\twait_queue_head_t gp_wait;\n\tstruct callback_head cb_head;\n};\n\nstruct percpu_rw_semaphore {\n\tstruct rcu_sync rss;\n\tunsigned int *read_count;\n\tstruct rcuwait writer;\n\twait_queue_head_t waiters;\n\tatomic_t block;\n};\n\nstruct ext4_super_block;\n\nstruct journal_s;\n\nstruct ext4_system_blocks;\n\nstruct flex_groups;\n\nstruct shrinker;\n\nstruct mb_cache;\n\nstruct ext4_sb_info {\n\tlong unsigned int s_desc_size;\n\tlong unsigned int s_inodes_per_block;\n\tlong unsigned int s_blocks_per_group;\n\tlong unsigned int s_clusters_per_group;\n\tlong unsigned int s_inodes_per_group;\n\tlong unsigned int s_itb_per_group;\n\tlong unsigned int s_gdb_count;\n\tlong unsigned int s_desc_per_block;\n\text4_group_t s_groups_count;\n\text4_group_t s_blockfile_groups;\n\tlong unsigned int s_overhead;\n\tunsigned int s_cluster_ratio;\n\tunsigned int s_cluster_bits;\n\tloff_t s_bitmap_maxbytes;\n\tstruct buffer_head *s_sbh;\n\tstruct ext4_super_block *s_es;\n\tstruct buffer_head **s_group_desc;\n\tunsigned int s_mount_opt;\n\tunsigned int s_mount_opt2;\n\tlong unsigned int s_mount_flags;\n\tunsigned int s_def_mount_opt;\n\tunsigned int s_def_mount_opt2;\n\text4_fsblk_t s_sb_block;\n\tatomic64_t s_resv_clusters;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tshort unsigned int s_mount_state;\n\tshort unsigned int s_pad;\n\tint s_addr_per_block_bits;\n\tint s_desc_per_block_bits;\n\tint s_inode_size;\n\tint s_first_ino;\n\tunsigned int s_inode_readahead_blks;\n\tunsigned int s_inode_goal;\n\tu32 s_hash_seed[4];\n\tint s_def_hash_version;\n\tint s_hash_unsigned;\n\tstruct percpu_counter s_freeclusters_counter;\n\tstruct percpu_counter s_freeinodes_counter;\n\tstruct percpu_counter s_dirs_counter;\n\tstruct percpu_counter s_dirtyclusters_counter;\n\tstruct percpu_counter s_sra_exceeded_retry_limit;\n\tstruct blockgroup_lock *s_blockgroup_lock;\n\tstruct proc_dir_entry *s_proc;\n\tstruct kobject s_kobj;\n\tstruct completion s_kobj_unregister;\n\tstruct super_block *s_sb;\n\tstruct buffer_head *s_mmp_bh;\n\tstruct journal_s *s_journal;\n\tlong unsigned int s_ext4_flags;\n\tstruct mutex s_orphan_lock;\n\tstruct list_head s_orphan;\n\tstruct ext4_orphan_info s_orphan_info;\n\tlong unsigned int s_commit_interval;\n\tu32 s_max_batch_time;\n\tu32 s_min_batch_time;\n\tstruct file *s_journal_bdev_file;\n\tunsigned int s_want_extra_isize;\n\tstruct ext4_system_blocks *s_system_blks;\n\tstruct ext4_group_info ***s_group_info;\n\tstruct inode *s_buddy_cache;\n\tspinlock_t s_md_lock;\n\tshort unsigned int *s_mb_offsets;\n\tunsigned int *s_mb_maxs;\n\tunsigned int s_group_info_size;\n\tunsigned int s_mb_free_pending;\n\tstruct list_head s_freed_data_list[2];\n\tstruct list_head s_discard_list;\n\tstruct work_struct s_discard_work;\n\tatomic_t s_retry_alloc_pending;\n\tstruct list_head *s_mb_avg_fragment_size;\n\trwlock_t *s_mb_avg_fragment_size_locks;\n\tstruct list_head *s_mb_largest_free_orders;\n\trwlock_t *s_mb_largest_free_orders_locks;\n\tlong unsigned int s_stripe;\n\tunsigned int s_mb_max_linear_groups;\n\tunsigned int s_mb_stream_request;\n\tunsigned int s_mb_max_to_scan;\n\tunsigned int s_mb_min_to_scan;\n\tunsigned int s_mb_stats;\n\tunsigned int s_mb_order2_reqs;\n\tunsigned int s_mb_group_prealloc;\n\tunsigned int s_max_dir_size_kb;\n\tlong unsigned int s_mb_last_group;\n\tlong unsigned int s_mb_last_start;\n\tunsigned int s_mb_prefetch;\n\tunsigned int s_mb_prefetch_limit;\n\tunsigned int s_mb_best_avail_max_trim_order;\n\tatomic_t s_bal_reqs;\n\tatomic_t s_bal_success;\n\tatomic_t s_bal_allocated;\n\tatomic_t s_bal_ex_scanned;\n\tatomic_t s_bal_cX_ex_scanned[5];\n\tatomic_t s_bal_groups_scanned;\n\tatomic_t s_bal_goals;\n\tatomic_t s_bal_len_goals;\n\tatomic_t s_bal_breaks;\n\tatomic_t s_bal_2orders;\n\tatomic_t s_bal_p2_aligned_bad_suggestions;\n\tatomic_t s_bal_goal_fast_bad_suggestions;\n\tatomic_t s_bal_best_avail_bad_suggestions;\n\tatomic64_t s_bal_cX_groups_considered[5];\n\tatomic64_t s_bal_cX_hits[5];\n\tatomic64_t s_bal_cX_failed[5];\n\tatomic_t s_mb_buddies_generated;\n\tatomic64_t s_mb_generation_time;\n\tatomic_t s_mb_lost_chunks;\n\tatomic_t s_mb_preallocated;\n\tatomic_t s_mb_discarded;\n\tatomic_t s_lock_busy;\n\tstruct ext4_locality_group *s_locality_groups;\n\tlong unsigned int s_sectors_written_start;\n\tu64 s_kbytes_written;\n\tunsigned int s_extent_max_zeroout_kb;\n\tunsigned int s_log_groups_per_flex;\n\tstruct flex_groups **s_flex_groups;\n\text4_group_t s_flex_groups_allocated;\n\tstruct workqueue_struct *rsv_conversion_wq;\n\tstruct timer_list s_err_report;\n\tstruct ext4_li_request *s_li_request;\n\tunsigned int s_li_wait_mult;\n\tstruct task_struct *s_mmp_tsk;\n\tlong unsigned int s_last_trim_minblks;\n\t__u32 s_csum_seed;\n\tstruct shrinker *s_es_shrinker;\n\tstruct list_head s_es_list;\n\tlong int s_es_nr_inode;\n\tstruct ext4_es_stats s_es_stats;\n\tstruct mb_cache *s_ea_block_cache;\n\tstruct mb_cache *s_ea_inode_cache;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t s_es_lock;\n\tstruct ext4_journal_trigger s_journal_triggers[1];\n\tstruct ratelimit_state s_err_ratelimit_state;\n\tstruct ratelimit_state s_warning_ratelimit_state;\n\tstruct ratelimit_state s_msg_ratelimit_state;\n\tatomic_t s_warning_count;\n\tatomic_t s_msg_count;\n\tstruct fscrypt_dummy_policy s_dummy_enc_policy;\n\tstruct percpu_rw_semaphore s_writepages_rwsem;\n\tstruct dax_device *s_daxdev;\n\tu64 s_dax_part_off;\n\terrseq_t s_bdev_wb_err;\n\tspinlock_t s_bdev_wb_lock;\n\tspinlock_t s_error_lock;\n\tint s_add_error_count;\n\tint s_first_error_code;\n\t__u32 s_first_error_line;\n\t__u32 s_first_error_ino;\n\t__u64 s_first_error_block;\n\tconst char *s_first_error_func;\n\ttime64_t s_first_error_time;\n\tint s_last_error_code;\n\t__u32 s_last_error_line;\n\t__u32 s_last_error_ino;\n\t__u64 s_last_error_block;\n\tconst char *s_last_error_func;\n\ttime64_t s_last_error_time;\n\tstruct work_struct s_sb_upd_work;\n\tunsigned int s_awu_min;\n\tunsigned int s_awu_max;\n\tatomic_t s_fc_subtid;\n\tstruct list_head s_fc_q[2];\n\tstruct list_head s_fc_dentry_q[2];\n\tunsigned int s_fc_bytes;\n\tspinlock_t s_fc_lock;\n\tstruct buffer_head *s_fc_bh;\n\tstruct ext4_fc_stats s_fc_stats;\n\ttid_t s_fc_ineligible_tid;\n\tstruct ext4_fc_replay_state s_fc_replay_state;\n\tlong: 64;\n};\n\nstruct ext4_super_block {\n\t__le32 s_inodes_count;\n\t__le32 s_blocks_count_lo;\n\t__le32 s_r_blocks_count_lo;\n\t__le32 s_free_blocks_count_lo;\n\t__le32 s_free_inodes_count;\n\t__le32 s_first_data_block;\n\t__le32 s_log_block_size;\n\t__le32 s_log_cluster_size;\n\t__le32 s_blocks_per_group;\n\t__le32 s_clusters_per_group;\n\t__le32 s_inodes_per_group;\n\t__le32 s_mtime;\n\t__le32 s_wtime;\n\t__le16 s_mnt_count;\n\t__le16 s_max_mnt_count;\n\t__le16 s_magic;\n\t__le16 s_state;\n\t__le16 s_errors;\n\t__le16 s_minor_rev_level;\n\t__le32 s_lastcheck;\n\t__le32 s_checkinterval;\n\t__le32 s_creator_os;\n\t__le32 s_rev_level;\n\t__le16 s_def_resuid;\n\t__le16 s_def_resgid;\n\t__le32 s_first_ino;\n\t__le16 s_inode_size;\n\t__le16 s_block_group_nr;\n\t__le32 s_feature_compat;\n\t__le32 s_feature_incompat;\n\t__le32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\tchar s_volume_name[16];\n\tchar s_last_mounted[64];\n\t__le32 s_algorithm_usage_bitmap;\n\t__u8 s_prealloc_blocks;\n\t__u8 s_prealloc_dir_blocks;\n\t__le16 s_reserved_gdt_blocks;\n\t__u8 s_journal_uuid[16];\n\t__le32 s_journal_inum;\n\t__le32 s_journal_dev;\n\t__le32 s_last_orphan;\n\t__le32 s_hash_seed[4];\n\t__u8 s_def_hash_version;\n\t__u8 s_jnl_backup_type;\n\t__le16 s_desc_size;\n\t__le32 s_default_mount_opts;\n\t__le32 s_first_meta_bg;\n\t__le32 s_mkfs_time;\n\t__le32 s_jnl_blocks[17];\n\t__le32 s_blocks_count_hi;\n\t__le32 s_r_blocks_count_hi;\n\t__le32 s_free_blocks_count_hi;\n\t__le16 s_min_extra_isize;\n\t__le16 s_want_extra_isize;\n\t__le32 s_flags;\n\t__le16 s_raid_stride;\n\t__le16 s_mmp_update_interval;\n\t__le64 s_mmp_block;\n\t__le32 s_raid_stripe_width;\n\t__u8 s_log_groups_per_flex;\n\t__u8 s_checksum_type;\n\t__u8 s_encryption_level;\n\t__u8 s_reserved_pad;\n\t__le64 s_kbytes_written;\n\t__le32 s_snapshot_inum;\n\t__le32 s_snapshot_id;\n\t__le64 s_snapshot_r_blocks_count;\n\t__le32 s_snapshot_list;\n\t__le32 s_error_count;\n\t__le32 s_first_error_time;\n\t__le32 s_first_error_ino;\n\t__le64 s_first_error_block;\n\t__u8 s_first_error_func[32];\n\t__le32 s_first_error_line;\n\t__le32 s_last_error_time;\n\t__le32 s_last_error_ino;\n\t__le32 s_last_error_line;\n\t__le64 s_last_error_block;\n\t__u8 s_last_error_func[32];\n\t__u8 s_mount_opts[64];\n\t__le32 s_usr_quota_inum;\n\t__le32 s_grp_quota_inum;\n\t__le32 s_overhead_clusters;\n\t__le32 s_backup_bgs[2];\n\t__u8 s_encrypt_algos[4];\n\t__u8 s_encrypt_pw_salt[16];\n\t__le32 s_lpf_ino;\n\t__le32 s_prj_quota_inum;\n\t__le32 s_checksum_seed;\n\t__u8 s_wtime_hi;\n\t__u8 s_mtime_hi;\n\t__u8 s_mkfs_time_hi;\n\t__u8 s_lastcheck_hi;\n\t__u8 s_first_error_time_hi;\n\t__u8 s_last_error_time_hi;\n\t__u8 s_first_error_errcode;\n\t__u8 s_last_error_errcode;\n\t__le16 s_encoding;\n\t__le16 s_encoding_flags;\n\t__le32 s_orphan_file_inum;\n\t__le32 s_reserved[94];\n\t__le32 s_checksum;\n};\n\nstruct ext4_system_blocks {\n\tstruct rb_root root;\n\tstruct callback_head rcu;\n};\n\nstruct ext4_system_zone {\n\tstruct rb_node node;\n\text4_fsblk_t start_blk;\n\tunsigned int count;\n\tu32 ino;\n};\n\nstruct ext4_xattr_entry;\n\nstruct ext4_xattr_search {\n\tstruct ext4_xattr_entry *first;\n\tvoid *base;\n\tvoid *end;\n\tstruct ext4_xattr_entry *here;\n\tint not_found;\n};\n\nstruct ext4_xattr_block_find {\n\tstruct ext4_xattr_search s;\n\tstruct buffer_head *bh;\n};\n\nstruct ext4_xattr_entry {\n\t__u8 e_name_len;\n\t__u8 e_name_index;\n\t__le16 e_value_offs;\n\t__le32 e_value_inum;\n\t__le32 e_value_size;\n\t__le32 e_hash;\n\tchar e_name[0];\n};\n\nstruct ext4_xattr_header {\n\t__le32 h_magic;\n\t__le32 h_refcount;\n\t__le32 h_blocks;\n\t__le32 h_hash;\n\t__le32 h_checksum;\n\t__u32 h_reserved[3];\n};\n\nstruct ext4_xattr_ibody_find {\n\tstruct ext4_xattr_search s;\n\tstruct ext4_iloc iloc;\n};\n\nstruct ext4_xattr_ibody_header {\n\t__le32 h_magic;\n};\n\nstruct ext4_xattr_info {\n\tconst char *name;\n\tconst void *value;\n\tsize_t value_len;\n\tint name_index;\n\tint in_inode;\n};\n\nstruct ext4_xattr_inode_array {\n\tunsigned int count;\n\tstruct inode *inodes[0];\n};\n\nstruct ext_arg {\n\tsize_t argsz;\n\tstruct timespec64 ts;\n\tconst sigset_t *sig;\n\tktime_t min_time;\n\tbool ts_set;\n};\n\nstruct msg_msg;\n\nstruct ext_wait_queue {\n\tstruct task_struct *task;\n\tstruct list_head list;\n\tstruct msg_msg *msg;\n\tint state;\n};\n\nstruct extent_status {\n\tstruct rb_node rb_node;\n\text4_lblk_t es_lblk;\n\text4_lblk_t es_len;\n\text4_fsblk_t es_pblk;\n};\n\nstruct external_name {\n\tatomic_t count;\n\tstruct callback_head head;\n\tunsigned char name[0];\n};\n\nstruct f815xxa_data {\n\tspinlock_t lock;\n\tint idx;\n};\n\nstruct f_owner_ex {\n\tint type;\n\t__kernel_pid_t pid;\n};\n\nstruct fadump_crash_info_header {\n\tu64 magic_number;\n\tu32 version;\n\tu32 crashing_cpu;\n\tu64 vmcoreinfo_raddr;\n\tu64 vmcoreinfo_size;\n\tu32 pt_regs_sz;\n\tu32 cpu_mask_sz;\n\tstruct pt_regs regs;\n\tstruct cpumask cpu_mask;\n};\n\nstruct fadump_memory_range {\n\tu64 base;\n\tu64 size;\n};\n\nstruct fadump_mrange_info {\n\tchar name[16];\n\tstruct fadump_memory_range *mem_ranges;\n\tu32 mem_ranges_sz;\n\tu32 mem_range_cnt;\n\tu32 max_mem_ranges;\n\tbool is_static;\n};\n\nstruct fw_dump;\n\nstruct fadump_ops {\n\tu64 (*fadump_init_mem_struct)(struct fw_dump *);\n\tu64 (*fadump_get_metadata_size)(void);\n\tint (*fadump_setup_metadata)(struct fw_dump *);\n\tu64 (*fadump_get_bootmem_min)(void);\n\tint (*fadump_register)(struct fw_dump *);\n\tint (*fadump_unregister)(struct fw_dump *);\n\tint (*fadump_invalidate)(struct fw_dump *);\n\tvoid (*fadump_cleanup)(struct fw_dump *);\n\tint (*fadump_process)(struct fw_dump *);\n\tvoid (*fadump_region_show)(struct fw_dump *, struct seq_file *);\n\tvoid (*fadump_trigger)(struct fadump_crash_info_header *, const char *);\n\tint (*fadump_max_boot_mem_rgns)(void);\n};\n\nstruct failed_ddw_pdn {\n\tstruct device_node *pdn;\n\tstruct list_head list;\n};\n\nstruct fanotify_response_info_header {\n\t__u8 type;\n\t__u8 pad;\n\t__u16 len;\n};\n\nstruct fanotify_response_info_audit_rule {\n\tstruct fanotify_response_info_header hdr;\n\t__u32 rule_number;\n\t__u32 subj_trust;\n\t__u32 obj_trust;\n};\n\nstruct fanout_args {\n\t__u16 id;\n\t__u16 type_flags;\n\t__u32 max_num_members;\n};\n\nstruct fast_pool {\n\tlong unsigned int pool[4];\n\tlong unsigned int last;\n\tunsigned int count;\n\tstruct timer_list mix;\n};\n\nstruct request_sock;\n\nstruct tcp_fastopen_context;\n\nstruct fastopen_queue {\n\tstruct request_sock *rskq_rst_head;\n\tstruct request_sock *rskq_rst_tail;\n\tspinlock_t lock;\n\tint qlen;\n\tint max_qlen;\n\tstruct tcp_fastopen_context *ctx;\n};\n\nstruct fasync_struct {\n\trwlock_t fa_lock;\n\tint magic;\n\tint fa_fd;\n\tstruct fasync_struct *fa_next;\n\tstruct file *fa_file;\n\tstruct callback_head fa_rcu;\n};\n\nstruct fat_bios_param_block {\n\tu16 fat_sector_size;\n\tu8 fat_sec_per_clus;\n\tu16 fat_reserved;\n\tu8 fat_fats;\n\tu16 fat_dir_entries;\n\tu16 fat_sectors;\n\tu16 fat_fat_length;\n\tu32 fat_total_sect;\n\tu8 fat16_state;\n\tu32 fat16_vol_id;\n\tu32 fat32_length;\n\tu32 fat32_root_cluster;\n\tu16 fat32_info_sector;\n\tu8 fat32_state;\n\tu32 fat32_vol_id;\n};\n\nstruct fat_boot_fsinfo {\n\t__le32 signature1;\n\t__le32 reserved1[120];\n\t__le32 signature2;\n\t__le32 free_clusters;\n\t__le32 next_cluster;\n\t__le32 reserved2[4];\n};\n\nstruct fat_boot_sector {\n\t__u8 ignored[3];\n\t__u8 system_id[8];\n\t__u8 sector_size[2];\n\t__u8 sec_per_clus;\n\t__le16 reserved;\n\t__u8 fats;\n\t__u8 dir_entries[2];\n\t__u8 sectors[2];\n\t__u8 media;\n\t__le16 fat_length;\n\t__le16 secs_track;\n\t__le16 heads;\n\t__le32 hidden;\n\t__le32 total_sect;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 drive_number;\n\t\t\t__u8 state;\n\t\t\t__u8 signature;\n\t\t\t__u8 vol_id[4];\n\t\t\t__u8 vol_label[11];\n\t\t\t__u8 fs_type[8];\n\t\t} fat16;\n\t\tstruct {\n\t\t\t__le32 length;\n\t\t\t__le16 flags;\n\t\t\t__u8 version[2];\n\t\t\t__le32 root_cluster;\n\t\t\t__le16 info_sector;\n\t\t\t__le16 backup_boot;\n\t\t\t__le16 reserved2[6];\n\t\t\t__u8 drive_number;\n\t\t\t__u8 state;\n\t\t\t__u8 signature;\n\t\t\t__u8 vol_id[4];\n\t\t\t__u8 vol_label[11];\n\t\t\t__u8 fs_type[8];\n\t\t} fat32;\n\t};\n};\n\nstruct fat_cache {\n\tstruct list_head cache_list;\n\tint nr_contig;\n\tint fcluster;\n\tint dcluster;\n};\n\nstruct fat_cache_id {\n\tunsigned int id;\n\tint nr_contig;\n\tint fcluster;\n\tint dcluster;\n};\n\nstruct fat_entry {\n\tint entry;\n\tunion {\n\t\tu8 *ent12_p[2];\n\t\t__le16 *ent16_p;\n\t\t__le32 *ent32_p;\n\t} u;\n\tint nr_bhs;\n\tstruct buffer_head *bhs[2];\n\tstruct inode *fat_inode;\n};\n\nstruct fat_fid {\n\tu32 i_gen;\n\tu32 i_pos_low;\n\tu16 i_pos_hi;\n\tu16 parent_i_pos_hi;\n\tu32 parent_i_pos_low;\n\tu32 parent_i_gen;\n};\n\nstruct fat_floppy_defaults {\n\tunsigned int nr_sectors;\n\tunsigned int sec_per_clus;\n\tunsigned int dir_entries;\n\tunsigned int media;\n\tunsigned int fat_length;\n};\n\nstruct fat_ioctl_filldir_callback {\n\tstruct dir_context ctx;\n\tvoid *dirent;\n\tint result;\n\tconst char *longname;\n\tint long_len;\n\tconst char *shortname;\n\tint short_len;\n};\n\nstruct fat_mount_options {\n\tkuid_t fs_uid;\n\tkgid_t fs_gid;\n\tshort unsigned int fs_fmask;\n\tshort unsigned int fs_dmask;\n\tshort unsigned int codepage;\n\tint time_offset;\n\tchar *iocharset;\n\tshort unsigned int shortname;\n\tunsigned char name_check;\n\tunsigned char errors;\n\tunsigned char nfs;\n\tshort unsigned int allow_utime;\n\tunsigned int quiet: 1;\n\tunsigned int showexec: 1;\n\tunsigned int sys_immutable: 1;\n\tunsigned int dotsOK: 1;\n\tunsigned int isvfat: 1;\n\tunsigned int utf8: 1;\n\tunsigned int unicode_xlate: 1;\n\tunsigned int numtail: 1;\n\tunsigned int flush: 1;\n\tunsigned int nocase: 1;\n\tunsigned int usefree: 1;\n\tunsigned int tz_set: 1;\n\tunsigned int rodir: 1;\n\tunsigned int discard: 1;\n\tunsigned int dos1xfloppy: 1;\n\tunsigned int debug: 1;\n};\n\nstruct msdos_dir_entry;\n\nstruct fat_slot_info {\n\tloff_t i_pos;\n\tloff_t slot_off;\n\tint nr_slots;\n\tstruct msdos_dir_entry *de;\n\tstruct buffer_head *bh;\n};\n\nstruct fatent_operations {\n\tvoid (*ent_blocknr)(struct super_block *, int, int *, sector_t *);\n\tvoid (*ent_set_ptr)(struct fat_entry *, int);\n\tint (*ent_bread)(struct super_block *, struct fat_entry *, int, sector_t);\n\tint (*ent_get)(struct fat_entry *);\n\tvoid (*ent_put)(struct fat_entry *, int);\n\tint (*ent_next)(struct fat_entry *);\n};\n\nstruct fatent_ra {\n\tsector_t cur;\n\tsector_t limit;\n\tunsigned int ra_blocks;\n\tsector_t ra_advance;\n\tsector_t ra_next;\n\tsector_t ra_limit;\n};\n\nstruct faux_device {\n\tstruct device dev;\n};\n\nstruct faux_device_ops {\n\tint (*probe)(struct faux_device *);\n\tvoid (*remove)(struct faux_device *);\n};\n\nstruct faux_object {\n\tstruct faux_device faux_dev;\n\tconst struct faux_device_ops *faux_ops;\n};\n\nstruct fb_bitfield {\n\t__u32 offset;\n\t__u32 length;\n\t__u32 msb_right;\n};\n\nstruct fb_blit_caps {\n\tlong unsigned int x[1];\n\tlong unsigned int y[2];\n\tu32 len;\n\tu32 flags;\n};\n\nstruct fb_chroma {\n\t__u32 redx;\n\t__u32 greenx;\n\t__u32 bluex;\n\t__u32 whitex;\n\t__u32 redy;\n\t__u32 greeny;\n\t__u32 bluey;\n\t__u32 whitey;\n};\n\nstruct fb_cmap {\n\t__u32 start;\n\t__u32 len;\n\t__u16 *red;\n\t__u16 *green;\n\t__u16 *blue;\n\t__u16 *transp;\n};\n\nstruct fb_cmap_user {\n\t__u32 start;\n\t__u32 len;\n\t__u16 *red;\n\t__u16 *green;\n\t__u16 *blue;\n\t__u16 *transp;\n};\n\nstruct fb_con2fbmap {\n\t__u32 console;\n\t__u32 framebuffer;\n};\n\nstruct fb_copyarea {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 sx;\n\t__u32 sy;\n};\n\nstruct fbcurpos {\n\t__u16 x;\n\t__u16 y;\n};\n\nstruct fb_image {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 fg_color;\n\t__u32 bg_color;\n\t__u8 depth;\n\tconst char *data;\n\tstruct fb_cmap cmap;\n};\n\nstruct fb_cursor {\n\t__u16 set;\n\t__u16 enable;\n\t__u16 rop;\n\tconst char *mask;\n\tstruct fbcurpos hot;\n\tstruct fb_image image;\n};\n\nstruct fb_cvt_data {\n\tu32 xres;\n\tu32 yres;\n\tu32 refresh;\n\tu32 f_refresh;\n\tu32 pixclock;\n\tu32 hperiod;\n\tu32 hblank;\n\tu32 hfreq;\n\tu32 htotal;\n\tu32 vtotal;\n\tu32 vsync;\n\tu32 hsync;\n\tu32 h_front_porch;\n\tu32 h_back_porch;\n\tu32 v_front_porch;\n\tu32 v_back_porch;\n\tu32 h_margin;\n\tu32 v_margin;\n\tu32 interlace;\n\tu32 aspect_ratio;\n\tu32 active_pixels;\n\tu32 flags;\n\tu32 status;\n};\n\nstruct fb_info;\n\nstruct fb_event {\n\tstruct fb_info *info;\n\tvoid *data;\n};\n\nstruct fb_fillrect {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 color;\n\t__u32 rop;\n};\n\nstruct fb_fix_screeninfo {\n\tchar id[16];\n\tlong unsigned int smem_start;\n\t__u32 smem_len;\n\t__u32 type;\n\t__u32 type_aux;\n\t__u32 visual;\n\t__u16 xpanstep;\n\t__u16 ypanstep;\n\t__u16 ywrapstep;\n\t__u32 line_length;\n\tlong unsigned int mmio_start;\n\t__u32 mmio_len;\n\t__u32 accel;\n\t__u16 capabilities;\n\t__u16 reserved[2];\n};\n\nstruct fb_var_screeninfo {\n\t__u32 xres;\n\t__u32 yres;\n\t__u32 xres_virtual;\n\t__u32 yres_virtual;\n\t__u32 xoffset;\n\t__u32 yoffset;\n\t__u32 bits_per_pixel;\n\t__u32 grayscale;\n\tstruct fb_bitfield red;\n\tstruct fb_bitfield green;\n\tstruct fb_bitfield blue;\n\tstruct fb_bitfield transp;\n\t__u32 nonstd;\n\t__u32 activate;\n\t__u32 height;\n\t__u32 width;\n\t__u32 accel_flags;\n\t__u32 pixclock;\n\t__u32 left_margin;\n\t__u32 right_margin;\n\t__u32 upper_margin;\n\t__u32 lower_margin;\n\t__u32 hsync_len;\n\t__u32 vsync_len;\n\t__u32 sync;\n\t__u32 vmode;\n\t__u32 rotate;\n\t__u32 colorspace;\n\t__u32 reserved[4];\n};\n\nstruct fb_monspecs {\n\tstruct fb_chroma chroma;\n\tstruct fb_videomode *modedb;\n\t__u8 manufacturer[4];\n\t__u8 monitor[14];\n\t__u8 serial_no[14];\n\t__u8 ascii[14];\n\t__u32 modedb_len;\n\t__u32 model;\n\t__u32 serial;\n\t__u32 year;\n\t__u32 week;\n\t__u32 hfmin;\n\t__u32 hfmax;\n\t__u32 dclkmin;\n\t__u32 dclkmax;\n\t__u16 input;\n\t__u16 dpms;\n\t__u16 signal;\n\t__u16 vfmin;\n\t__u16 vfmax;\n\t__u16 gamma;\n\t__u16 gtf: 1;\n\t__u16 misc;\n\t__u8 version;\n\t__u8 revision;\n\t__u8 max_x;\n\t__u8 max_y;\n};\n\nstruct fb_pixmap {\n\tu8 *addr;\n\tu32 size;\n\tu32 offset;\n\tu32 buf_align;\n\tu32 scan_align;\n\tu32 access_align;\n\tu32 flags;\n\tlong unsigned int blit_x[1];\n\tlong unsigned int blit_y[2];\n\tvoid (*writeio)(struct fb_info *, void *, void *, unsigned int);\n\tvoid (*readio)(struct fb_info *, void *, void *, unsigned int);\n};\n\nstruct lcd_device;\n\nstruct fb_ops;\n\nstruct fb_tile_ops;\n\nstruct fb_info {\n\trefcount_t count;\n\tint node;\n\tint flags;\n\tint fbcon_rotate_hint;\n\tstruct mutex lock;\n\tstruct mutex mm_lock;\n\tstruct fb_var_screeninfo var;\n\tstruct fb_fix_screeninfo fix;\n\tstruct fb_monspecs monspecs;\n\tstruct fb_pixmap pixmap;\n\tstruct fb_pixmap sprite;\n\tstruct fb_cmap cmap;\n\tstruct list_head modelist;\n\tstruct fb_videomode *mode;\n\tstruct lcd_device *lcd_dev;\n\tconst struct fb_ops *fbops;\n\tstruct device *device;\n\tstruct device *dev;\n\tint class_flag;\n\tstruct fb_tile_ops *tileops;\n\tunion {\n\t\tchar *screen_base;\n\t\tchar *screen_buffer;\n\t};\n\tlong unsigned int screen_size;\n\tvoid *pseudo_palette;\n\tu32 state;\n\tvoid *fbcon_par;\n\tvoid *par;\n\tbool skip_vt_switch;\n\tbool skip_panic;\n};\n\nstruct fb_videomode {\n\tconst char *name;\n\tu32 refresh;\n\tu32 xres;\n\tu32 yres;\n\tu32 pixclock;\n\tu32 left_margin;\n\tu32 right_margin;\n\tu32 upper_margin;\n\tu32 lower_margin;\n\tu32 hsync_len;\n\tu32 vsync_len;\n\tu32 sync;\n\tu32 vmode;\n\tu32 flag;\n};\n\nstruct fb_modelist {\n\tstruct list_head list;\n\tstruct fb_videomode mode;\n};\n\nstruct fb_ops {\n\tstruct module *owner;\n\tint (*fb_open)(struct fb_info *, int);\n\tint (*fb_release)(struct fb_info *, int);\n\tssize_t (*fb_read)(struct fb_info *, char *, size_t, loff_t *);\n\tssize_t (*fb_write)(struct fb_info *, const char *, size_t, loff_t *);\n\tint (*fb_check_var)(struct fb_var_screeninfo *, struct fb_info *);\n\tint (*fb_set_par)(struct fb_info *);\n\tint (*fb_setcolreg)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, struct fb_info *);\n\tint (*fb_setcmap)(struct fb_cmap *, struct fb_info *);\n\tint (*fb_blank)(int, struct fb_info *);\n\tint (*fb_pan_display)(struct fb_var_screeninfo *, struct fb_info *);\n\tvoid (*fb_fillrect)(struct fb_info *, const struct fb_fillrect *);\n\tvoid (*fb_copyarea)(struct fb_info *, const struct fb_copyarea *);\n\tvoid (*fb_imageblit)(struct fb_info *, const struct fb_image *);\n\tint (*fb_cursor)(struct fb_info *, struct fb_cursor *);\n\tint (*fb_sync)(struct fb_info *);\n\tint (*fb_ioctl)(struct fb_info *, unsigned int, long unsigned int);\n\tint (*fb_compat_ioctl)(struct fb_info *, unsigned int, long unsigned int);\n\tint (*fb_mmap)(struct fb_info *, struct vm_area_struct *);\n\tvoid (*fb_get_caps)(struct fb_info *, struct fb_blit_caps *, struct fb_var_screeninfo *);\n\tvoid (*fb_destroy)(struct fb_info *);\n\tint (*fb_debug_enter)(struct fb_info *);\n\tint (*fb_debug_leave)(struct fb_info *);\n};\n\nstruct fb_tilemap;\n\nstruct fb_tilearea;\n\nstruct fb_tilerect;\n\nstruct fb_tileblit;\n\nstruct fb_tilecursor;\n\nstruct fb_tile_ops {\n\tvoid (*fb_settile)(struct fb_info *, struct fb_tilemap *);\n\tvoid (*fb_tilecopy)(struct fb_info *, struct fb_tilearea *);\n\tvoid (*fb_tilefill)(struct fb_info *, struct fb_tilerect *);\n\tvoid (*fb_tileblit)(struct fb_info *, struct fb_tileblit *);\n\tvoid (*fb_tilecursor)(struct fb_info *, struct fb_tilecursor *);\n\tint (*fb_get_tilemax)(struct fb_info *);\n};\n\nstruct fb_tilearea {\n\t__u32 sx;\n\t__u32 sy;\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n};\n\nstruct fb_tileblit {\n\t__u32 sx;\n\t__u32 sy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 fg;\n\t__u32 bg;\n\t__u32 length;\n\t__u32 *indices;\n};\n\nstruct fb_tilecursor {\n\t__u32 sx;\n\t__u32 sy;\n\t__u32 mode;\n\t__u32 shape;\n\t__u32 fg;\n\t__u32 bg;\n};\n\nstruct fb_tilemap {\n\t__u32 width;\n\t__u32 height;\n\t__u32 depth;\n\t__u32 length;\n\tconst __u8 *data;\n};\n\nstruct fb_tilerect {\n\t__u32 sx;\n\t__u32 sy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 index;\n\t__u32 fg;\n\t__u32 bg;\n\t__u32 rop;\n};\n\nstruct fb_vblank {\n\t__u32 flags;\n\t__u32 count;\n\t__u32 vcount;\n\t__u32 hcount;\n\t__u32 reserved[4];\n};\n\nstruct fbcon_display {\n\tconst u_char *fontdata;\n\tint userfont;\n\tu_short inverse;\n\tshort int yscroll;\n\tint vrows;\n\tint cursor_shape;\n\tint con_rotate;\n\tu32 xres_virtual;\n\tu32 yres_virtual;\n\tu32 height;\n\tu32 width;\n\tu32 bits_per_pixel;\n\tu32 grayscale;\n\tu32 nonstd;\n\tu32 accel_flags;\n\tu32 rotate;\n\tstruct fb_bitfield red;\n\tstruct fb_bitfield green;\n\tstruct fb_bitfield blue;\n\tstruct fb_bitfield transp;\n\tconst struct fb_videomode *mode;\n};\n\nstruct fbcon_ops {\n\tvoid (*bmove)(struct vc_data *, struct fb_info *, int, int, int, int, int, int);\n\tvoid (*clear)(struct vc_data *, struct fb_info *, int, int, int, int);\n\tvoid (*putcs)(struct vc_data *, struct fb_info *, const short unsigned int *, int, int, int, int, int);\n\tvoid (*clear_margins)(struct vc_data *, struct fb_info *, int, int);\n\tvoid (*cursor)(struct vc_data *, struct fb_info *, bool, int, int);\n\tint (*update_start)(struct fb_info *);\n\tint (*rotate_font)(struct fb_info *, struct vc_data *);\n\tstruct fb_var_screeninfo var;\n\tstruct delayed_work cursor_work;\n\tstruct fb_cursor cursor_state;\n\tstruct fbcon_display *p;\n\tstruct fb_info *info;\n\tint currcon;\n\tint cur_blink_jiffies;\n\tint cursor_flash;\n\tint cursor_reset;\n\tint blank_state;\n\tint graphics;\n\tint save_graphics;\n\tbool initialized;\n\tint rotate;\n\tint cur_rotate;\n\tchar *cursor_data;\n\tu8 *fontbuffer;\n\tu8 *fontdata;\n\tu8 *cursor_src;\n\tu32 cursor_size;\n\tu32 fd_size;\n};\n\nstruct fc_bsg_ctels_reply {\n\t__u32 status;\n\tstruct {\n\t\t__u8 action;\n\t\t__u8 reason_code;\n\t\t__u8 reason_explanation;\n\t\t__u8 vendor_unique;\n\t} rjt_data;\n};\n\nstruct fc_bsg_host_add_rport {\n\t__u8 reserved;\n\t__u8 port_id[3];\n};\n\nstruct fc_bsg_host_ct {\n\t__u8 reserved;\n\t__u8 port_id[3];\n\t__u32 preamble_word0;\n\t__u32 preamble_word1;\n\t__u32 preamble_word2;\n};\n\nstruct fc_bsg_host_del_rport {\n\t__u8 reserved;\n\t__u8 port_id[3];\n};\n\nstruct fc_bsg_host_els {\n\t__u8 command_code;\n\t__u8 port_id[3];\n};\n\nstruct fc_bsg_host_vendor {\n\t__u64 vendor_id;\n\t__u32 vendor_cmd[0];\n};\n\nstruct fc_bsg_host_vendor_reply {\n\tstruct {\n\t\tstruct {} __empty_vendor_rsp;\n\t\t__u32 vendor_rsp[0];\n\t};\n};\n\nstruct fc_bsg_reply {\n\t__u32 result;\n\t__u32 reply_payload_rcv_len;\n\tunion {\n\t\tstruct fc_bsg_host_vendor_reply vendor_reply;\n\t\tstruct fc_bsg_ctels_reply ctels_reply;\n\t} reply_data;\n};\n\nstruct fc_bsg_rport_els {\n\t__u8 els_code;\n};\n\nstruct fc_bsg_rport_ct {\n\t__u32 preamble_word0;\n\t__u32 preamble_word1;\n\t__u32 preamble_word2;\n};\n\nstruct fc_bsg_request {\n\t__u32 msgcode;\n\tunion {\n\t\tstruct fc_bsg_host_add_rport h_addrport;\n\t\tstruct fc_bsg_host_del_rport h_delrport;\n\t\tstruct fc_bsg_host_els h_els;\n\t\tstruct fc_bsg_host_ct h_ct;\n\t\tstruct fc_bsg_host_vendor h_vendor;\n\t\tstruct fc_bsg_rport_els r_els;\n\t\tstruct fc_bsg_rport_ct r_ct;\n\t} rqst_data;\n} __attribute__((packed));\n\nstruct fc_tlv_desc {\n\t__be32 desc_tag;\n\t__be32 desc_len;\n\t__u8 desc_value[0];\n};\n\nstruct fc_els_fpin {\n\t__u8 fpin_cmd;\n\t__u8 fpin_zero[3];\n\t__be32 desc_len;\n\tstruct fc_tlv_desc fpin_desc[0];\n};\n\nstruct fc_fn_congn_desc {\n\t__be32 desc_tag;\n\t__be32 desc_len;\n\t__be16 event_type;\n\t__be16 event_modifier;\n\t__be32 event_period;\n\t__u8 severity;\n\t__u8 resv[3];\n};\n\nstruct fc_fn_deli_desc {\n\t__be32 desc_tag;\n\t__be32 desc_len;\n\t__be64 detecting_wwpn;\n\t__be64 attached_wwpn;\n\t__be32 deli_reason_code;\n};\n\nstruct fc_fn_li_desc {\n\t__be32 desc_tag;\n\t__be32 desc_len;\n\t__be64 detecting_wwpn;\n\t__be64 attached_wwpn;\n\t__be16 event_type;\n\t__be16 event_modifier;\n\t__be32 event_threshold;\n\t__be32 event_count;\n\t__be32 pname_count;\n\t__be64 pname_list[0];\n};\n\nstruct fc_fn_peer_congn_desc {\n\t__be32 desc_tag;\n\t__be32 desc_len;\n\t__be64 detecting_wwpn;\n\t__be64 attached_wwpn;\n\t__be16 event_type;\n\t__be16 event_modifier;\n\t__be32 event_period;\n\t__be32 pname_count;\n\t__be64 pname_list[0];\n};\n\nstruct fc_fpin_stats {\n\tu64 dn;\n\tu64 dn_unknown;\n\tu64 dn_timeout;\n\tu64 dn_unable_to_route;\n\tu64 dn_device_specific;\n\tu64 li;\n\tu64 li_failure_unknown;\n\tu64 li_link_failure_count;\n\tu64 li_loss_of_sync_count;\n\tu64 li_loss_of_signals_count;\n\tu64 li_prim_seq_err_count;\n\tu64 li_invalid_tx_word_count;\n\tu64 li_invalid_crc_count;\n\tu64 li_device_specific;\n\tu64 cn;\n\tu64 cn_clear;\n\tu64 cn_lost_credit;\n\tu64 cn_credit_stall;\n\tu64 cn_oversubscription;\n\tu64 cn_device_specific;\n};\n\nstruct fc_rport;\n\nstruct scsi_target;\n\nstruct fc_host_statistics;\n\nstruct fc_vport;\n\nstruct fc_function_template {\n\tvoid (*get_rport_dev_loss_tmo)(struct fc_rport *);\n\tvoid (*set_rport_dev_loss_tmo)(struct fc_rport *, u32);\n\tvoid (*get_starget_node_name)(struct scsi_target *);\n\tvoid (*get_starget_port_name)(struct scsi_target *);\n\tvoid (*get_starget_port_id)(struct scsi_target *);\n\tvoid (*get_host_port_id)(struct Scsi_Host *);\n\tvoid (*get_host_port_type)(struct Scsi_Host *);\n\tvoid (*get_host_port_state)(struct Scsi_Host *);\n\tvoid (*get_host_active_fc4s)(struct Scsi_Host *);\n\tvoid (*get_host_speed)(struct Scsi_Host *);\n\tvoid (*get_host_fabric_name)(struct Scsi_Host *);\n\tvoid (*get_host_symbolic_name)(struct Scsi_Host *);\n\tvoid (*set_host_system_hostname)(struct Scsi_Host *);\n\tstruct fc_host_statistics * (*get_fc_host_stats)(struct Scsi_Host *);\n\tvoid (*reset_fc_host_stats)(struct Scsi_Host *);\n\tint (*issue_fc_host_lip)(struct Scsi_Host *);\n\tvoid (*dev_loss_tmo_callbk)(struct fc_rport *);\n\tvoid (*terminate_rport_io)(struct fc_rport *);\n\tvoid (*set_vport_symbolic_name)(struct fc_vport *);\n\tint (*vport_create)(struct fc_vport *, bool);\n\tint (*vport_disable)(struct fc_vport *, bool);\n\tint (*vport_delete)(struct fc_vport *);\n\tu32 max_bsg_segments;\n\tint (*bsg_request)(struct bsg_job *);\n\tint (*bsg_timeout)(struct bsg_job *);\n\tu32 dd_fcrport_size;\n\tu32 dd_fcvport_size;\n\tu32 dd_bsg_size;\n\tlong unsigned int show_rport_maxframe_size: 1;\n\tlong unsigned int show_rport_supported_classes: 1;\n\tlong unsigned int show_rport_dev_loss_tmo: 1;\n\tlong unsigned int show_starget_node_name: 1;\n\tlong unsigned int show_starget_port_name: 1;\n\tlong unsigned int show_starget_port_id: 1;\n\tlong unsigned int show_host_node_name: 1;\n\tlong unsigned int show_host_port_name: 1;\n\tlong unsigned int show_host_permanent_port_name: 1;\n\tlong unsigned int show_host_supported_classes: 1;\n\tlong unsigned int show_host_supported_fc4s: 1;\n\tlong unsigned int show_host_supported_speeds: 1;\n\tlong unsigned int show_host_maxframe_size: 1;\n\tlong unsigned int show_host_serial_number: 1;\n\tlong unsigned int show_host_manufacturer: 1;\n\tlong unsigned int show_host_model: 1;\n\tlong unsigned int show_host_model_description: 1;\n\tlong unsigned int show_host_hardware_version: 1;\n\tlong unsigned int show_host_driver_version: 1;\n\tlong unsigned int show_host_firmware_version: 1;\n\tlong unsigned int show_host_optionrom_version: 1;\n\tlong unsigned int show_host_port_id: 1;\n\tlong unsigned int show_host_port_type: 1;\n\tlong unsigned int show_host_port_state: 1;\n\tlong unsigned int show_host_active_fc4s: 1;\n\tlong unsigned int show_host_speed: 1;\n\tlong unsigned int show_host_fabric_name: 1;\n\tlong unsigned int show_host_symbolic_name: 1;\n\tlong unsigned int show_host_system_hostname: 1;\n\tlong unsigned int disable_target_scan: 1;\n};\n\nstruct fc_host_attrs {\n\tu64 node_name;\n\tu64 port_name;\n\tu64 permanent_port_name;\n\tu32 supported_classes;\n\tu8 supported_fc4s[32];\n\tu32 supported_speeds;\n\tu32 maxframe_size;\n\tu16 max_npiv_vports;\n\tu32 max_ct_payload;\n\tu32 num_ports;\n\tu32 num_discovered_ports;\n\tu32 bootbios_state;\n\tchar serial_number[64];\n\tchar manufacturer[64];\n\tchar model[256];\n\tchar model_description[256];\n\tchar hardware_version[64];\n\tchar driver_version[64];\n\tchar firmware_version[64];\n\tchar optionrom_version[64];\n\tchar vendor_identifier[8];\n\tchar bootbios_version[256];\n\tu32 port_id;\n\tenum fc_port_type port_type;\n\tenum fc_port_state port_state;\n\tu8 active_fc4s[32];\n\tu32 speed;\n\tu64 fabric_name;\n\tchar symbolic_name[256];\n\tchar system_hostname[256];\n\tu32 dev_loss_tmo;\n\tstruct fc_fpin_stats fpin_stats;\n\tenum fc_tgtid_binding_type tgtid_bind_type;\n\tstruct list_head rports;\n\tstruct list_head rport_bindings;\n\tstruct list_head vports;\n\tu32 next_rport_number;\n\tu32 next_target_id;\n\tu32 next_vport_number;\n\tu16 npiv_vports_inuse;\n\tstruct workqueue_struct *work_q;\n\tstruct workqueue_struct *devloss_work_q;\n\tstruct request_queue *rqst_q;\n\tu8 fdmi_version;\n};\n\nstruct fc_host_statistics {\n\tu64 seconds_since_last_reset;\n\tu64 tx_frames;\n\tu64 tx_words;\n\tu64 rx_frames;\n\tu64 rx_words;\n\tu64 lip_count;\n\tu64 nos_count;\n\tu64 error_frames;\n\tu64 dumped_frames;\n\tu64 link_failure_count;\n\tu64 loss_of_sync_count;\n\tu64 loss_of_signal_count;\n\tu64 prim_seq_protocol_err_count;\n\tu64 invalid_tx_word_count;\n\tu64 invalid_crc_count;\n\tu64 fcp_input_requests;\n\tu64 fcp_output_requests;\n\tu64 fcp_control_requests;\n\tu64 fcp_input_megabytes;\n\tu64 fcp_output_megabytes;\n\tu64 fcp_packet_alloc_failures;\n\tu64 fcp_packet_aborts;\n\tu64 fcp_frame_alloc_failures;\n\tu64 fc_no_free_exch;\n\tu64 fc_no_free_exch_xid;\n\tu64 fc_xid_not_found;\n\tu64 fc_xid_busy;\n\tu64 fc_seq_not_found;\n\tu64 fc_non_bls_resp;\n\tu64 cn_sig_warn;\n\tu64 cn_sig_alarm;\n};\n\nstruct fc_internal {\n\tstruct scsi_transport_template t;\n\tstruct fc_function_template *f;\n\tstruct device_attribute private_starget_attrs[3];\n\tstruct device_attribute *starget_attrs[4];\n\tstruct device_attribute private_host_attrs[29];\n\tstruct device_attribute *host_attrs[30];\n\tstruct transport_container rport_attr_cont;\n\tstruct device_attribute private_rport_attrs[10];\n\tstruct device_attribute *rport_attrs[11];\n\tstruct transport_container vport_attr_cont;\n\tstruct device_attribute private_vport_attrs[9];\n\tstruct device_attribute *vport_attrs[10];\n};\n\nstruct fc_log {\n\trefcount_t usage;\n\tu8 head;\n\tu8 tail;\n\tu8 need_free;\n\tstruct module *owner;\n\tchar *buffer[8];\n};\n\nstruct scsi_nl_hdr {\n\t__u8 version;\n\t__u8 transport;\n\t__u16 magic;\n\t__u16 msgtype;\n\t__u16 msglen;\n};\n\nstruct fc_nl_event {\n\tstruct scsi_nl_hdr snlh;\n\t__u64 seconds;\n\t__u64 vendor_id;\n\t__u16 host_no;\n\t__u16 event_datalen;\n\t__u32 event_num;\n\t__u32 event_code;\n\tunion {\n\t\t__u32 event_data;\n\t\tstruct {\n\t\t\tstruct {} __empty_event_data_flex;\n\t\t\t__u8 event_data_flex[0];\n\t\t};\n\t};\n};\n\nstruct fc_rport {\n\tu32 maxframe_size;\n\tu32 supported_classes;\n\tu32 dev_loss_tmo;\n\tstruct fc_fpin_stats fpin_stats;\n\tu64 node_name;\n\tu64 port_name;\n\tu32 port_id;\n\tu32 roles;\n\tenum fc_port_state port_state;\n\tu32 scsi_target_id;\n\tu32 fast_io_fail_tmo;\n\tvoid *dd_data;\n\tunsigned int channel;\n\tu32 number;\n\tu8 flags;\n\tstruct list_head peers;\n\tstruct device dev;\n\tstruct delayed_work dev_loss_work;\n\tstruct work_struct scan_work;\n\tstruct delayed_work fail_io_work;\n\tstruct work_struct stgt_delete_work;\n\tstruct work_struct rport_delete_work;\n\tstruct request_queue *rqst_q;\n};\n\nstruct fc_rport_identifiers {\n\tu64 node_name;\n\tu64 port_name;\n\tu32 port_id;\n\tu32 roles;\n};\n\nstruct fc_starget_attrs {\n\tu64 node_name;\n\tu64 port_name;\n\tu32 port_id;\n};\n\nstruct fc_vport {\n\tenum fc_vport_state vport_state;\n\tenum fc_vport_state vport_last_state;\n\tu64 node_name;\n\tu64 port_name;\n\tu32 roles;\n\tu32 vport_id;\n\tenum fc_port_type vport_type;\n\tchar symbolic_name[64];\n\tvoid *dd_data;\n\tstruct Scsi_Host *shost;\n\tunsigned int channel;\n\tu32 number;\n\tu8 flags;\n\tstruct list_head peers;\n\tstruct device dev;\n\tstruct work_struct vport_delete_work;\n};\n\nstruct fc_vport_identifiers {\n\tu64 node_name;\n\tu64 port_name;\n\tu32 roles;\n\tbool disable;\n\tenum fc_port_type vport_type;\n\tchar symbolic_name[64];\n};\n\nstruct fd {\n\tlong unsigned int word;\n};\n\ntypedef struct fd class_fd_pos_t;\n\ntypedef struct fd class_fd_raw_t;\n\ntypedef struct fd class_fd_t;\n\nstruct fd_data {\n\tfmode_t mode;\n\tunsigned int fd;\n};\n\nstruct fd_dma_ops {\n\tvoid (*_disable_dma)(unsigned int);\n\tvoid (*_free_dma)(unsigned int);\n\tint (*_get_dma_residue)(unsigned int);\n\tint (*_dma_setup)(char *, long unsigned int, int, int);\n};\n\nstruct fd_range {\n\tunsigned int from;\n\tunsigned int to;\n};\n\nstruct fdt_errtabent {\n\tconst char *str;\n};\n\nstruct fdt_header {\n\tfdt32_t magic;\n\tfdt32_t totalsize;\n\tfdt32_t off_dt_struct;\n\tfdt32_t off_dt_strings;\n\tfdt32_t off_mem_rsvmap;\n\tfdt32_t version;\n\tfdt32_t last_comp_version;\n\tfdt32_t boot_cpuid_phys;\n\tfdt32_t size_dt_strings;\n\tfdt32_t size_dt_struct;\n};\n\nstruct fdt_node_header {\n\tfdt32_t tag;\n\tchar name[0];\n};\n\nstruct fdt_property {\n\tfdt32_t tag;\n\tfdt32_t len;\n\tfdt32_t nameoff;\n\tchar data[0];\n};\n\nstruct fdt_reserve_entry {\n\tfdt64_t address;\n\tfdt64_t size;\n};\n\nstruct fdtable {\n\tunsigned int max_fds;\n\tstruct file **fd;\n\tlong unsigned int *close_on_exec;\n\tlong unsigned int *open_fds;\n\tlong unsigned int *full_fds_bits;\n\tstruct callback_head rcu;\n};\n\nstruct feature_property {\n\tconst char *name;\n\tu32 min_value;\n\tlong unsigned int cpu_feature;\n\tlong unsigned int cpu_user_ftr;\n};\n\nstruct features_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 hw[2];\n\tu32 wanted[2];\n\tu32 active[2];\n\tu32 nochange[2];\n\tu32 all[2];\n};\n\nstruct fec_stat_grp {\n\tu64 stats[9];\n\tu8 cnt;\n};\n\nstruct fec_reply_data {\n\tstruct ethnl_reply_data base;\n\tlong unsigned int fec_link_modes[2];\n\tu32 active_fec;\n\tu8 fec_auto;\n\tstruct fec_stat_grp corr;\n\tstruct fec_stat_grp uncorr;\n\tstruct fec_stat_grp corr_bits;\n};\n\nstruct fetch_insn {\n\tenum fetch_op op;\n\tunion {\n\t\tunsigned int param;\n\t\tstruct {\n\t\t\tunsigned int size;\n\t\t\tint offset;\n\t\t};\n\t\tstruct {\n\t\t\tunsigned char basesize;\n\t\t\tunsigned char lshift;\n\t\t\tunsigned char rshift;\n\t\t};\n\t\tlong unsigned int immediate;\n\t\tvoid *data;\n\t};\n};\n\nstruct trace_seq;\n\ntypedef int (*print_type_func_t)(struct trace_seq *, void *, void *);\n\nstruct fetch_type {\n\tconst char *name;\n\tsize_t size;\n\tbool is_signed;\n\tbool is_string;\n\tprint_type_func_t print;\n\tconst char *fmt;\n\tconst char *fmttype;\n};\n\nstruct ff_condition_effect {\n\t__u16 right_saturation;\n\t__u16 left_saturation;\n\t__s16 right_coeff;\n\t__s16 left_coeff;\n\t__u16 deadband;\n\t__s16 center;\n};\n\nstruct ff_envelope {\n\t__u16 attack_length;\n\t__u16 attack_level;\n\t__u16 fade_length;\n\t__u16 fade_level;\n};\n\nstruct ff_constant_effect {\n\t__s16 level;\n\tstruct ff_envelope envelope;\n};\n\nstruct ff_effect;\n\nstruct ff_device {\n\tint (*upload)(struct input_dev *, struct ff_effect *, struct ff_effect *);\n\tint (*erase)(struct input_dev *, int);\n\tint (*playback)(struct input_dev *, int, int);\n\tvoid (*set_gain)(struct input_dev *, u16);\n\tvoid (*set_autocenter)(struct input_dev *, u16);\n\tvoid (*destroy)(struct ff_device *);\n\tvoid *private;\n\tlong unsigned int ffbit[2];\n\tstruct mutex mutex;\n\tint max_effects;\n\tstruct ff_effect *effects;\n\tstruct file *effect_owners[0];\n};\n\nstruct ff_trigger {\n\t__u16 button;\n\t__u16 interval;\n};\n\nstruct ff_replay {\n\t__u16 length;\n\t__u16 delay;\n};\n\nstruct ff_ramp_effect {\n\t__s16 start_level;\n\t__s16 end_level;\n\tstruct ff_envelope envelope;\n};\n\nstruct ff_periodic_effect {\n\t__u16 waveform;\n\t__u16 period;\n\t__s16 magnitude;\n\t__s16 offset;\n\t__u16 phase;\n\tstruct ff_envelope envelope;\n\t__u32 custom_len;\n\t__s16 *custom_data;\n};\n\nstruct ff_rumble_effect {\n\t__u16 strong_magnitude;\n\t__u16 weak_magnitude;\n};\n\nstruct ff_effect {\n\t__u16 type;\n\t__s16 id;\n\t__u16 direction;\n\tstruct ff_trigger trigger;\n\tstruct ff_replay replay;\n\tunion {\n\t\tstruct ff_constant_effect constant;\n\t\tstruct ff_ramp_effect ramp;\n\t\tstruct ff_periodic_effect periodic;\n\t\tstruct ff_condition_effect condition[2];\n\t\tstruct ff_rumble_effect rumble;\n\t} u;\n};\n\nstruct fgraph_cpu_data {\n\tpid_t last_pid;\n\tint depth;\n\tint depth_irq;\n\tint ignore;\n\tlong unsigned int enter_funcs[50];\n};\n\nstruct ftrace_graph_ent {\n\tlong unsigned int func;\n\tint depth;\n} __attribute__((packed));\n\nstruct ftrace_graph_ent_entry {\n\tstruct trace_entry ent;\n\tstruct ftrace_graph_ent graph_ent;\n};\n\nstruct ftrace_graph_ret {\n\tlong unsigned int func;\n\tint depth;\n\tunsigned int overrun;\n};\n\nstruct ftrace_graph_ret_entry {\n\tstruct trace_entry ent;\n\tstruct ftrace_graph_ret ret;\n\tlong long unsigned int calltime;\n\tlong long unsigned int rettime;\n};\n\nstruct fgraph_data {\n\tstruct fgraph_cpu_data *cpu_data;\n\tunion {\n\t\tstruct ftrace_graph_ent_entry ent;\n\t\tstruct ftrace_graph_ent_entry rent;\n\t} ent;\n\tstruct ftrace_graph_ret_entry ret;\n\tint failed;\n\tint cpu;\n\tlong: 0;\n} __attribute__((packed));\n\nstruct fgraph_ops;\n\nstruct ftrace_regs;\n\ntypedef int (*trace_func_graph_ent_t)(struct ftrace_graph_ent *, struct fgraph_ops *, struct ftrace_regs *);\n\ntypedef void (*trace_func_graph_ret_t)(struct ftrace_graph_ret *, struct fgraph_ops *, struct ftrace_regs *);\n\ntypedef void (*ftrace_func_t)(long unsigned int, long unsigned int, struct ftrace_ops *, struct ftrace_regs *);\n\nstruct ftrace_hash;\n\nstruct ftrace_ops_hash {\n\tstruct ftrace_hash *notrace_hash;\n\tstruct ftrace_hash *filter_hash;\n\tstruct mutex regex_lock;\n};\n\ntypedef int (*ftrace_ops_func_t)(struct ftrace_ops *, enum ftrace_ops_cmd);\n\nstruct ftrace_ops {\n\tftrace_func_t func;\n\tstruct ftrace_ops *next;\n\tlong unsigned int flags;\n\tvoid *private;\n\tftrace_func_t saved_func;\n\tstruct ftrace_ops_hash local_hash;\n\tstruct ftrace_ops_hash *func_hash;\n\tstruct ftrace_ops_hash old_hash;\n\tlong unsigned int trampoline;\n\tlong unsigned int trampoline_size;\n\tstruct list_head list;\n\tstruct list_head subop_list;\n\tftrace_ops_func_t ops_func;\n\tstruct ftrace_ops *managed;\n\tlong unsigned int direct_call;\n};\n\nstruct fgraph_ops {\n\ttrace_func_graph_ent_t entryfunc;\n\ttrace_func_graph_ret_t retfunc;\n\tstruct ftrace_ops ops;\n\tvoid *private;\n\ttrace_func_graph_ent_t saved_func;\n\tint idx;\n};\n\nstruct fgraph_times {\n\tlong long unsigned int calltime;\n\tlong long unsigned int sleeptime;\n};\n\nstruct fib6_node;\n\nstruct fib6_walker {\n\tstruct list_head lh;\n\tstruct fib6_node *root;\n\tstruct fib6_node *node;\n\tstruct fib6_info *leaf;\n\tenum fib6_walk_state state;\n\tunsigned int skip;\n\tunsigned int count;\n\tunsigned int skip_in_node;\n\tint (*func)(struct fib6_walker *);\n\tvoid *args;\n};\n\nstruct fib6_cleaner {\n\tstruct fib6_walker w;\n\tstruct net *net;\n\tint (*func)(struct fib6_info *, void *);\n\tint sernum;\n\tvoid *arg;\n\tbool skip_notify;\n};\n\nstruct nlmsghdr;\n\nstruct nl_info {\n\tstruct nlmsghdr *nlh;\n\tstruct net *nl_net;\n\tu32 portid;\n\tu8 skip_notify: 1;\n\tu8 skip_notify_kernel: 1;\n};\n\nstruct fib6_config {\n\tu32 fc_table;\n\tu32 fc_metric;\n\tint fc_dst_len;\n\tint fc_src_len;\n\tint fc_ifindex;\n\tu32 fc_flags;\n\tu32 fc_protocol;\n\tu16 fc_type;\n\tu16 fc_delete_all_nh: 1;\n\tu16 fc_ignore_dev_down: 1;\n\tu16 __unused: 14;\n\tu32 fc_nh_id;\n\tstruct in6_addr fc_dst;\n\tstruct in6_addr fc_src;\n\tstruct in6_addr fc_prefsrc;\n\tstruct in6_addr fc_gateway;\n\tlong unsigned int fc_expires;\n\tstruct nlattr *fc_mx;\n\tint fc_mx_len;\n\tint fc_mp_len;\n\tstruct nlattr *fc_mp;\n\tstruct nl_info fc_nlinfo;\n\tstruct nlattr *fc_encap;\n\tu16 fc_encap_type;\n\tbool fc_is_fdb;\n};\n\nstruct fib6_dump_arg {\n\tstruct net *net;\n\tstruct notifier_block *nb;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct fib_notifier_info {\n\tint family;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct fib6_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct fib6_info *rt;\n\tunsigned int nsiblings;\n};\n\nstruct fib6_gc_args {\n\tint timeout;\n\tint more;\n};\n\nstruct rt6key {\n\tstruct in6_addr addr;\n\tint plen;\n};\n\nstruct rtable;\n\nstruct fnhe_hash_bucket;\n\nstruct fib_nh_common {\n\tstruct net_device *nhc_dev;\n\tnetdevice_tracker nhc_dev_tracker;\n\tint nhc_oif;\n\tunsigned char nhc_scope;\n\tu8 nhc_family;\n\tu8 nhc_gw_family;\n\tunsigned char nhc_flags;\n\tstruct lwtunnel_state *nhc_lwtstate;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} nhc_gw;\n\tint nhc_weight;\n\tatomic_t nhc_upper_bound;\n\tstruct rtable **nhc_pcpu_rth_output;\n\tstruct rtable *nhc_rth_input;\n\tstruct fnhe_hash_bucket *nhc_exceptions;\n};\n\nstruct rt6_info;\n\nstruct rt6_exception_bucket;\n\nstruct fib6_nh {\n\tstruct fib_nh_common nh_common;\n\tstruct rt6_info **rt6i_pcpu;\n\tstruct rt6_exception_bucket *rt6i_exception_bucket;\n};\n\nstruct fib6_table;\n\nstruct nexthop;\n\nstruct fib6_info {\n\tstruct fib6_table *fib6_table;\n\tstruct fib6_info *fib6_next;\n\tstruct fib6_node *fib6_node;\n\tunion {\n\t\tstruct list_head fib6_siblings;\n\t\tstruct list_head nh_list;\n\t};\n\tunsigned int fib6_nsiblings;\n\trefcount_t fib6_ref;\n\tlong unsigned int expires;\n\tstruct hlist_node gc_link;\n\tstruct dst_metrics *fib6_metrics;\n\tstruct rt6key fib6_dst;\n\tu32 fib6_flags;\n\tstruct rt6key fib6_src;\n\tstruct rt6key fib6_prefsrc;\n\tu32 fib6_metric;\n\tu8 fib6_protocol;\n\tu8 fib6_type;\n\tu8 offload;\n\tu8 trap;\n\tu8 offload_failed;\n\tu8 should_flush: 1;\n\tu8 dst_nocount: 1;\n\tu8 dst_nopolicy: 1;\n\tu8 fib6_destroying: 1;\n\tu8 unused: 4;\n\tstruct callback_head rcu;\n\tstruct nexthop *nh;\n\tstruct fib6_nh fib6_nh[0];\n};\n\nstruct fib6_nh_age_excptn_arg {\n\tstruct fib6_gc_args *gc_args;\n\tlong unsigned int now;\n};\n\nstruct fib6_nh_del_cached_rt_arg {\n\tstruct fib6_config *cfg;\n\tstruct fib6_info *f6i;\n};\n\nstruct fib6_nh_dm_arg {\n\tstruct net *net;\n\tconst struct in6_addr *saddr;\n\tint oif;\n\tint flags;\n\tstruct fib6_nh *nh;\n};\n\nstruct rt6_rtnl_dump_arg;\n\nstruct fib6_nh_exception_dump_walker {\n\tstruct rt6_rtnl_dump_arg *dump;\n\tstruct fib6_info *rt;\n\tunsigned int flags;\n\tunsigned int skip;\n\tunsigned int count;\n};\n\nstruct fib6_nh_excptn_arg {\n\tstruct rt6_info *rt;\n\tint plen;\n};\n\nstruct fib6_nh_frl_arg {\n\tu32 flags;\n\tint oif;\n\tint strict;\n\tint *mpri;\n\tbool *do_rr;\n\tstruct fib6_nh *nh;\n};\n\nstruct fib6_nh_match_arg {\n\tconst struct net_device *dev;\n\tconst struct in6_addr *gw;\n\tstruct fib6_nh *match;\n};\n\nstruct fib6_nh_pcpu_arg {\n\tstruct fib6_info *from;\n\tconst struct fib6_table *table;\n};\n\nstruct fib6_result;\n\nstruct flowi6;\n\nstruct fib6_nh_rd_arg {\n\tstruct fib6_result *res;\n\tstruct flowi6 *fl6;\n\tconst struct in6_addr *gw;\n\tstruct rt6_info **ret;\n};\n\nstruct fib6_node {\n\tstruct fib6_node *parent;\n\tstruct fib6_node *left;\n\tstruct fib6_node *right;\n\tstruct fib6_info *leaf;\n\t__u16 fn_bit;\n\t__u16 fn_flags;\n\tint fn_sernum;\n\tstruct fib6_info *rr_ptr;\n\tstruct callback_head rcu;\n};\n\nstruct fib6_result {\n\tstruct fib6_nh *nh;\n\tstruct fib6_info *f6i;\n\tu32 fib6_flags;\n\tu8 fib6_type;\n\tstruct rt6_info *rt6;\n};\n\nstruct inet_peer_base {\n\tstruct rb_root rb_root;\n\tseqlock_t lock;\n\tint total;\n};\n\nstruct fib6_table {\n\tstruct hlist_node tb6_hlist;\n\tu32 tb6_id;\n\tspinlock_t tb6_lock;\n\tstruct fib6_node tb6_root;\n\tstruct inet_peer_base tb6_peers;\n\tunsigned int flags;\n\tunsigned int fib_seq;\n\tstruct hlist_head tb6_gc_hlist;\n};\n\nstruct fib_info;\n\nstruct fib_alias {\n\tstruct hlist_node fa_list;\n\tstruct fib_info *fa_info;\n\tdscp_t fa_dscp;\n\tu8 fa_type;\n\tu8 fa_state;\n\tu8 fa_slen;\n\tu32 tb_id;\n\ts16 fa_default;\n\tu8 offload;\n\tu8 trap;\n\tu8 offload_failed;\n\tstruct callback_head rcu;\n};\n\nstruct rtnexthop;\n\nstruct fib_config {\n\tu8 fc_dst_len;\n\tdscp_t fc_dscp;\n\tu8 fc_protocol;\n\tu8 fc_scope;\n\tu8 fc_type;\n\tu8 fc_gw_family;\n\tu32 fc_table;\n\t__be32 fc_dst;\n\tunion {\n\t\t__be32 fc_gw4;\n\t\tstruct in6_addr fc_gw6;\n\t};\n\tint fc_oif;\n\tu32 fc_flags;\n\tu32 fc_priority;\n\t__be32 fc_prefsrc;\n\tu32 fc_nh_id;\n\tstruct nlattr *fc_mx;\n\tstruct rtnexthop *fc_mp;\n\tint fc_mx_len;\n\tint fc_mp_len;\n\tu32 fc_flow;\n\tu32 fc_nlflags;\n\tstruct nl_info fc_nlinfo;\n\tstruct nlattr *fc_encap;\n\tu16 fc_encap_type;\n};\n\nstruct fib_dump_filter {\n\tu32 table_id;\n\tbool filter_set;\n\tbool dump_routes;\n\tbool dump_exceptions;\n\tbool rtnl_held;\n\tunsigned char protocol;\n\tunsigned char rt_type;\n\tunsigned int flags;\n\tstruct net_device *dev;\n};\n\nstruct fib_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tu32 dst;\n\tint dst_len;\n\tstruct fib_info *fi;\n\tdscp_t dscp;\n\tu8 type;\n\tu32 tb_id;\n};\n\nstruct fib_nh {\n\tstruct fib_nh_common nh_common;\n\tstruct hlist_node nh_hash;\n\tstruct fib_info *nh_parent;\n\t__be32 nh_saddr;\n\tint nh_saddr_genid;\n};\n\nstruct fib_info {\n\tstruct hlist_node fib_hash;\n\tstruct hlist_node fib_lhash;\n\tstruct list_head nh_list;\n\tstruct net *fib_net;\n\trefcount_t fib_treeref;\n\trefcount_t fib_clntref;\n\tunsigned int fib_flags;\n\tunsigned char fib_dead;\n\tunsigned char fib_protocol;\n\tunsigned char fib_scope;\n\tunsigned char fib_type;\n\t__be32 fib_prefsrc;\n\tu32 fib_tb_id;\n\tu32 fib_priority;\n\tstruct dst_metrics *fib_metrics;\n\tint fib_nhs;\n\tbool fib_nh_is_v6;\n\tbool nh_updated;\n\tbool pfsrc_removed;\n\tstruct nexthop *nh;\n\tstruct callback_head rcu;\n\tstruct fib_nh fib_nh[0];\n};\n\nstruct fib_nh_exception {\n\tstruct fib_nh_exception *fnhe_next;\n\tint fnhe_genid;\n\t__be32 fnhe_daddr;\n\tu32 fnhe_pmtu;\n\tbool fnhe_mtu_locked;\n\t__be32 fnhe_gw;\n\tlong unsigned int fnhe_expires;\n\tstruct rtable *fnhe_rth_input;\n\tstruct rtable *fnhe_rth_output;\n\tlong unsigned int fnhe_stamp;\n\tstruct callback_head rcu;\n};\n\nstruct fib_nh_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct fib_nh *fib_nh;\n};\n\nstruct fib_notifier_net {\n\tstruct list_head fib_notifier_ops;\n\tstruct atomic_notifier_head fib_chain;\n};\n\nstruct fib_notifier_ops {\n\tint family;\n\tstruct list_head list;\n\tunsigned int (*fib_seq_read)(const struct net *);\n\tint (*fib_dump)(struct net *, struct notifier_block *, struct netlink_ext_ack *);\n\tstruct module *owner;\n\tstruct callback_head rcu;\n};\n\nstruct fib_prop {\n\tint error;\n\tu8 scope;\n};\n\nstruct fib_table;\n\nstruct fib_result {\n\t__be32 prefix;\n\tunsigned char prefixlen;\n\tunsigned char nh_sel;\n\tunsigned char type;\n\tunsigned char scope;\n\tu32 tclassid;\n\tdscp_t dscp;\n\tstruct fib_nh_common *nhc;\n\tstruct fib_info *fi;\n\tstruct fib_table *table;\n\tstruct hlist_head *fa_head;\n};\n\nstruct fib_result_nl {\n\t__be32 fl_addr;\n\tu32 fl_mark;\n\tunsigned char fl_tos;\n\tunsigned char fl_scope;\n\tunsigned char tb_id_in;\n\tunsigned char tb_id;\n\tunsigned char prefixlen;\n\tunsigned char nh_sel;\n\tunsigned char type;\n\tunsigned char scope;\n\tint err;\n};\n\nstruct key_vector;\n\nstruct fib_route_iter {\n\tstruct seq_net_private p;\n\tstruct fib_table *main_tb;\n\tstruct key_vector *tnode;\n\tloff_t pos;\n\tt_key key;\n};\n\nstruct fib_rt_info {\n\tstruct fib_info *fi;\n\tu32 tb_id;\n\t__be32 dst;\n\tint dst_len;\n\tdscp_t dscp;\n\tu8 type;\n\tu8 offload: 1;\n\tu8 trap: 1;\n\tu8 offload_failed: 1;\n\tu8 unused: 5;\n};\n\nstruct fib_table {\n\tstruct hlist_node tb_hlist;\n\tu32 tb_id;\n\tint tb_num_default;\n\tstruct callback_head rcu;\n\tlong unsigned int *tb_data;\n\tlong unsigned int __data[0];\n};\n\nstruct fib_trie_iter {\n\tstruct seq_net_private p;\n\tstruct fib_table *tb;\n\tstruct key_vector *tnode;\n\tunsigned int index;\n\tunsigned int depth;\n};\n\nstruct fid {\n\tunion {\n\t\tstruct {\n\t\t\tu32 ino;\n\t\t\tu32 gen;\n\t\t\tu32 parent_ino;\n\t\t\tu32 parent_gen;\n\t\t} i32;\n\t\tstruct {\n\t\t\tu64 ino;\n\t\t\tu32 gen;\n\t\t} __attribute__((packed)) i64;\n\t\tstruct {\n\t\t\tu32 block;\n\t\t\tu16 partref;\n\t\t\tu16 parent_partref;\n\t\t\tu32 generation;\n\t\t\tu32 parent_block;\n\t\t\tu32 parent_generation;\n\t\t} udf;\n\t\tstruct {\n\t\t\tstruct {} __empty_raw;\n\t\t\t__u32 raw[0];\n\t\t};\n\t};\n};\n\nstruct fiemap_extent {\n\t__u64 fe_logical;\n\t__u64 fe_physical;\n\t__u64 fe_length;\n\t__u64 fe_reserved64[2];\n\t__u32 fe_flags;\n\t__u32 fe_reserved[3];\n};\n\nstruct fiemap {\n\t__u64 fm_start;\n\t__u64 fm_length;\n\t__u32 fm_flags;\n\t__u32 fm_mapped_extents;\n\t__u32 fm_extent_count;\n\t__u32 fm_reserved;\n\tstruct fiemap_extent fm_extents[0];\n};\n\nstruct fiemap_extent_info {\n\tunsigned int fi_flags;\n\tunsigned int fi_extents_mapped;\n\tunsigned int fi_extents_max;\n\tstruct fiemap_extent *fi_extents_start;\n};\n\nstruct file__safe_trusted {\n\tstruct inode *f_inode;\n};\n\nstruct file_clone_range {\n\t__s64 src_fd;\n\t__u64 src_offset;\n\t__u64 src_length;\n\t__u64 dest_offset;\n};\n\nstruct file_dedupe_range_info {\n\t__s64 dest_fd;\n\t__u64 dest_offset;\n\t__u64 bytes_deduped;\n\t__s32 status;\n\t__u32 reserved;\n};\n\nstruct file_dedupe_range {\n\t__u64 src_offset;\n\t__u64 src_length;\n\t__u16 dest_count;\n\t__u16 reserved1;\n\t__u32 reserved2;\n\tstruct file_dedupe_range_info info[0];\n};\n\nstruct file_handle {\n\t__u32 handle_bytes;\n\tint handle_type;\n\tunsigned char f_handle[0];\n};\n\nstruct file_lock_core {\n\tstruct file_lock_core *flc_blocker;\n\tstruct list_head flc_list;\n\tstruct hlist_node flc_link;\n\tstruct list_head flc_blocked_requests;\n\tstruct list_head flc_blocked_member;\n\tfl_owner_t flc_owner;\n\tunsigned int flc_flags;\n\tunsigned char flc_type;\n\tpid_t flc_pid;\n\tint flc_link_cpu;\n\twait_queue_head_t flc_wait;\n\tstruct file *flc_file;\n};\n\nstruct lease_manager_operations;\n\nstruct file_lease {\n\tstruct file_lock_core c;\n\tstruct fasync_struct *fl_fasync;\n\tlong unsigned int fl_break_time;\n\tlong unsigned int fl_downgrade_time;\n\tconst struct lease_manager_operations *fl_lmops;\n};\n\nstruct nlm_lockowner;\n\nstruct nfs_lock_info {\n\tu32 state;\n\tstruct nlm_lockowner *owner;\n\tstruct list_head list;\n};\n\nstruct nfs4_lock_state;\n\nstruct nfs4_lock_info {\n\tstruct nfs4_lock_state *owner;\n};\n\nstruct file_lock_operations;\n\nstruct lock_manager_operations;\n\nstruct file_lock {\n\tstruct file_lock_core c;\n\tloff_t fl_start;\n\tloff_t fl_end;\n\tconst struct file_lock_operations *fl_ops;\n\tconst struct lock_manager_operations *fl_lmops;\n\tunion {\n\t\tstruct nfs_lock_info nfs_fl;\n\t\tstruct nfs4_lock_info nfs4_fl;\n\t\tstruct {\n\t\t\tstruct list_head link;\n\t\t\tint state;\n\t\t\tunsigned int debug_id;\n\t\t} afs;\n\t\tstruct {\n\t\t\tstruct inode *inode;\n\t\t} ceph;\n\t} fl_u;\n};\n\nstruct file_lock_context {\n\tspinlock_t flc_lock;\n\tstruct list_head flc_flock;\n\tstruct list_head flc_posix;\n\tstruct list_head flc_lease;\n};\n\nstruct file_lock_list_struct {\n\tspinlock_t lock;\n\tstruct hlist_head hlist;\n};\n\nstruct file_lock_operations {\n\tvoid (*fl_copy_lock)(struct file_lock *, struct file_lock *);\n\tvoid (*fl_release_private)(struct file_lock *);\n};\n\nstruct io_uring_cmd;\n\nstruct file_operations {\n\tstruct module *owner;\n\tfop_flags_t fop_flags;\n\tloff_t (*llseek)(struct file *, loff_t, int);\n\tssize_t (*read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct file *, const char *, size_t, loff_t *);\n\tssize_t (*read_iter)(struct kiocb *, struct iov_iter *);\n\tssize_t (*write_iter)(struct kiocb *, struct iov_iter *);\n\tint (*iopoll)(struct kiocb *, struct io_comp_batch *, unsigned int);\n\tint (*iterate_shared)(struct file *, struct dir_context *);\n\t__poll_t (*poll)(struct file *, struct poll_table_struct *);\n\tlong int (*unlocked_ioctl)(struct file *, unsigned int, long unsigned int);\n\tlong int (*compat_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*mmap)(struct file *, struct vm_area_struct *);\n\tint (*open)(struct inode *, struct file *);\n\tint (*flush)(struct file *, fl_owner_t);\n\tint (*release)(struct inode *, struct file *);\n\tint (*fsync)(struct file *, loff_t, loff_t, int);\n\tint (*fasync)(int, struct file *, int);\n\tint (*lock)(struct file *, int, struct file_lock *);\n\tlong unsigned int (*get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tint (*check_flags)(int);\n\tint (*flock)(struct file *, int, struct file_lock *);\n\tssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);\n\tssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*splice_eof)(struct file *);\n\tint (*setlease)(struct file *, int, struct file_lease **, void **);\n\tlong int (*fallocate)(struct file *, int, loff_t, loff_t);\n\tvoid (*show_fdinfo)(struct seq_file *, struct file *);\n\tssize_t (*copy_file_range)(struct file *, loff_t, struct file *, loff_t, size_t, unsigned int);\n\tloff_t (*remap_file_range)(struct file *, loff_t, struct file *, loff_t, loff_t, unsigned int);\n\tint (*fadvise)(struct file *, loff_t, loff_t, int);\n\tint (*uring_cmd)(struct io_uring_cmd *, unsigned int);\n\tint (*uring_cmd_iopoll)(struct io_uring_cmd *, struct io_comp_batch *, unsigned int);\n};\n\nstruct tpm_chip;\n\nstruct tpm_space;\n\nstruct file_priv {\n\tstruct tpm_chip *chip;\n\tstruct tpm_space *space;\n\tstruct mutex buffer_mutex;\n\tstruct timer_list user_read_timer;\n\tstruct work_struct timeout_work;\n\tstruct work_struct async_work;\n\twait_queue_head_t async_wait;\n\tssize_t response_length;\n\tbool response_read;\n\tbool command_enqueued;\n\tu8 data_buffer[4096];\n};\n\nstruct file_range {\n\tconst struct path *path;\n\tloff_t pos;\n\tsize_t count;\n};\n\nstruct page_counter;\n\nstruct file_region {\n\tstruct list_head link;\n\tlong int from;\n\tlong int to;\n\tstruct page_counter *reservation_counter;\n\tstruct cgroup_subsys_state *css;\n};\n\nstruct file_security_struct {\n\tu32 sid;\n\tu32 fown_sid;\n\tu32 isid;\n\tu32 pseqno;\n};\n\nstruct fs_context;\n\nstruct fs_parameter_spec;\n\nstruct file_system_type {\n\tconst char *name;\n\tint fs_flags;\n\tint (*init_fs_context)(struct fs_context *);\n\tconst struct fs_parameter_spec *parameters;\n\tstruct dentry * (*mount)(struct file_system_type *, int, const char *, void *);\n\tvoid (*kill_sb)(struct super_block *);\n\tstruct module *owner;\n\tstruct file_system_type *next;\n\tstruct hlist_head fs_supers;\n\tstruct lock_class_key s_lock_key;\n\tstruct lock_class_key s_umount_key;\n\tstruct lock_class_key s_vfs_rename_key;\n\tstruct lock_class_key s_writers_key[3];\n\tstruct lock_class_key i_lock_key;\n\tstruct lock_class_key i_mutex_key;\n\tstruct lock_class_key invalidate_lock_key;\n\tstruct lock_class_key i_mutex_dir_key;\n};\n\nstruct fileattr {\n\tu32 flags;\n\tu32 fsx_xflags;\n\tu32 fsx_extsize;\n\tu32 fsx_nextents;\n\tu32 fsx_projid;\n\tu32 fsx_cowextsize;\n\tbool flags_valid: 1;\n\tbool fsx_valid: 1;\n};\n\nstruct filename {\n\tconst char *name;\n\tconst char *uptr;\n\tatomic_t refcnt;\n\tstruct audit_names *aname;\n\tconst char iname[0];\n};\n\nstruct filename_trans_datum {\n\tstruct ebitmap stypes;\n\tu32 otype;\n\tstruct filename_trans_datum *next;\n};\n\nstruct filename_trans_key {\n\tu32 ttype;\n\tu16 tclass;\n\tconst char *name;\n};\n\nstruct files_stat_struct {\n\tlong unsigned int nr_files;\n\tlong unsigned int nr_free_files;\n\tlong unsigned int max_files;\n};\n\nstruct files_struct {\n\tatomic_t count;\n\tbool resize_in_progress;\n\twait_queue_head_t resize_wait;\n\tstruct fdtable *fdt;\n\tstruct fdtable fdtab;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t file_lock;\n\tunsigned int next_fd;\n\tlong unsigned int close_on_exec_init[1];\n\tlong unsigned int open_fds_init[1];\n\tlong unsigned int full_fds_bits_init[1];\n\tstruct file *fd_array[64];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct filter_list {\n\tstruct list_head list;\n\tstruct event_filter *filter;\n};\n\nstruct filter_parse_error {\n\tint lasterr;\n\tint lasterr_pos;\n};\n\nstruct regex;\n\nstruct ftrace_event_field;\n\nstruct filter_pred {\n\tstruct regex *regex;\n\tstruct cpumask *mask;\n\tshort unsigned int *ops;\n\tstruct ftrace_event_field *field;\n\tu64 val;\n\tu64 val2;\n\tenum filter_pred_fn fn_num;\n\tint offset;\n\tint not;\n\tint op;\n};\n\nstruct find_interface_arg {\n\tint minor;\n\tstruct device_driver *drv;\n};\n\nstruct kernel_symbol;\n\nstruct find_symbol_arg {\n\tconst char *name;\n\tbool gplok;\n\tbool warn;\n\tstruct module *owner;\n\tconst u32 *crc;\n\tconst struct kernel_symbol *sym;\n\tenum mod_license license;\n};\n\nstruct firmware {\n\tsize_t size;\n\tconst u8 *data;\n\tvoid *priv;\n};\n\nstruct firmware_cache {\n\tspinlock_t lock;\n\tstruct list_head head;\n\tint state;\n\tspinlock_t name_lock;\n\tstruct list_head fw_names;\n\tstruct delayed_work work;\n\tstruct notifier_block pm_notify;\n};\n\nstruct firmware_work {\n\tstruct work_struct work;\n\tstruct module *module;\n\tconst char *name;\n\tstruct device *device;\n\tvoid *context;\n\tvoid (*cont)(const struct firmware *, void *);\n\tu32 opt_flags;\n};\n\nstruct mii_bus;\n\nstruct fixed_mdio_bus {\n\tstruct mii_bus *mii_bus;\n\tstruct list_head phys;\n};\n\nstruct fixed_phy_status {\n\tint link;\n\tint speed;\n\tint duplex;\n\tint pause;\n\tint asym_pause;\n};\n\nstruct fixed_phy {\n\tint addr;\n\tstruct phy_device *phydev;\n\tstruct fixed_phy_status status;\n\tbool no_carrier;\n\tint (*link_update)(struct net_device *, struct fixed_phy_status *);\n\tstruct list_head node;\n\tstruct gpio_desc *link_gpiod;\n};\n\nstruct fixup_entry {\n\tlong unsigned int mask;\n\tlong unsigned int value;\n\tlong int start_off;\n\tlong int end_off;\n\tlong int alt_start_off;\n\tlong int alt_end_off;\n};\n\nstruct flag_info {\n\tu64 mask;\n\tu64 val;\n\tconst char *set;\n\tconst char *clear;\n\tbool is_val;\n\tint shift;\n};\n\nstruct flex_groups {\n\tatomic64_t free_clusters;\n\tatomic_t free_inodes;\n\tatomic_t used_dirs;\n};\n\nstruct flock {\n\tshort int l_type;\n\tshort int l_whence;\n\t__kernel_off_t l_start;\n\t__kernel_off_t l_len;\n\t__kernel_pid_t l_pid;\n};\n\nstruct flock64 {\n\tshort int l_type;\n\tshort int l_whence;\n\t__kernel_loff_t l_start;\n\t__kernel_loff_t l_len;\n\t__kernel_pid_t l_pid;\n};\n\nstruct floppy_max_errors {\n\tunsigned int abort;\n\tunsigned int read_track;\n\tunsigned int reset;\n\tunsigned int recal;\n\tunsigned int reporting;\n};\n\nstruct floppy_drive_params {\n\tsigned char cmos;\n\tlong unsigned int max_dtr;\n\tlong unsigned int hlt;\n\tlong unsigned int hut;\n\tlong unsigned int srt;\n\tlong unsigned int spinup;\n\tlong unsigned int spindown;\n\tunsigned char spindown_offset;\n\tunsigned char select_delay;\n\tunsigned char rps;\n\tunsigned char tracks;\n\tlong unsigned int timeout;\n\tunsigned char interleave_sect;\n\tstruct floppy_max_errors max_errors;\n\tchar flags;\n\tchar read_track;\n\tshort int autodetect[8];\n\tint checkfreq;\n\tint native_format;\n};\n\nstruct floppy_drive_struct {\n\tlong unsigned int flags;\n\tlong unsigned int spinup_date;\n\tlong unsigned int select_date;\n\tlong unsigned int first_read_date;\n\tshort int probed_format;\n\tshort int track;\n\tshort int maxblock;\n\tshort int maxtrack;\n\tint generation;\n\tint keep_data;\n\tint fd_ref;\n\tint fd_device;\n\tlong unsigned int last_checked;\n\tchar *dmabuf;\n\tint bufblocks;\n};\n\nstruct floppy_fdc_state {\n\tint spec1;\n\tint spec2;\n\tint dtr;\n\tunsigned char version;\n\tunsigned char dor;\n\tlong unsigned int address;\n\tunsigned int rawcmd: 2;\n\tunsigned int reset: 1;\n\tunsigned int need_configure: 1;\n\tunsigned int perp_mode: 2;\n\tunsigned int has_fifo: 1;\n\tunsigned int driver_version;\n\tunsigned char track[4];\n};\n\nstruct floppy_raw_cmd {\n\tunsigned int flags;\n\tvoid *data;\n\tchar *kernel_data;\n\tstruct floppy_raw_cmd *next;\n\tlong int length;\n\tlong int phys_length;\n\tint buffer_length;\n\tunsigned char rate;\n\tunsigned char cmd_count;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned char cmd[16];\n\t\t\tunsigned char reply_count;\n\t\t\tunsigned char reply[16];\n\t\t};\n\t\tunsigned char fullcmd[33];\n\t};\n\tint track;\n\tint resultcode;\n\tint reserved1;\n\tint reserved2;\n};\n\nstruct floppy_struct {\n\tunsigned int size;\n\tunsigned int sect;\n\tunsigned int head;\n\tunsigned int track;\n\tunsigned int stretch;\n\tunsigned char gap;\n\tunsigned char rate;\n\tunsigned char spec1;\n\tunsigned char fmt_gap;\n\tconst char *name;\n};\n\nstruct floppy_write_errors {\n\tunsigned int write_errors;\n\tlong unsigned int first_error_sector;\n\tint first_error_generation;\n\tlong unsigned int last_error_sector;\n\tint last_error_generation;\n\tunsigned int badness;\n};\n\ntypedef void (*action_destr)(void *);\n\nstruct nf_flowtable;\n\nstruct ip_tunnel_info;\n\nstruct psample_group;\n\nstruct flow_action_entry {\n\tenum flow_action_id id;\n\tu32 hw_index;\n\tlong unsigned int cookie;\n\tu64 miss_cookie;\n\tenum flow_action_hw_stats hw_stats;\n\taction_destr destructor;\n\tvoid *destructor_priv;\n\tunion {\n\t\tu32 chain_index;\n\t\tstruct net_device *dev;\n\t\tstruct {\n\t\t\tu16 vid;\n\t\t\t__be16 proto;\n\t\t\tu8 prio;\n\t\t} vlan;\n\t\tstruct {\n\t\t\tunsigned char dst[6];\n\t\t\tunsigned char src[6];\n\t\t} vlan_push_eth;\n\t\tstruct {\n\t\t\tenum flow_action_mangle_base htype;\n\t\t\tu32 offset;\n\t\t\tu32 mask;\n\t\t\tu32 val;\n\t\t} mangle;\n\t\tstruct ip_tunnel_info *tunnel;\n\t\tu32 csum_flags;\n\t\tu32 mark;\n\t\tu16 ptype;\n\t\tu16 rx_queue;\n\t\tu32 priority;\n\t\tstruct {\n\t\t\tu32 ctx;\n\t\t\tu32 index;\n\t\t\tu8 vf;\n\t\t} queue;\n\t\tstruct {\n\t\t\tstruct psample_group *psample_group;\n\t\t\tu32 rate;\n\t\t\tu32 trunc_size;\n\t\t\tbool truncate;\n\t\t} sample;\n\t\tstruct {\n\t\t\tu32 burst;\n\t\t\tu64 rate_bytes_ps;\n\t\t\tu64 peakrate_bytes_ps;\n\t\t\tu32 avrate;\n\t\t\tu16 overhead;\n\t\t\tu64 burst_pkt;\n\t\t\tu64 rate_pkt_ps;\n\t\t\tu32 mtu;\n\t\t\tstruct {\n\t\t\t\tenum flow_action_id act_id;\n\t\t\t\tu32 extval;\n\t\t\t} exceed;\n\t\t\tstruct {\n\t\t\t\tenum flow_action_id act_id;\n\t\t\t\tu32 extval;\n\t\t\t} notexceed;\n\t\t} police;\n\t\tstruct {\n\t\t\tint action;\n\t\t\tu16 zone;\n\t\t\tstruct nf_flowtable *flow_table;\n\t\t} ct;\n\t\tstruct {\n\t\t\tlong unsigned int cookie;\n\t\t\tu32 mark;\n\t\t\tu32 labels[4];\n\t\t\tbool orig_dir;\n\t\t} ct_metadata;\n\t\tstruct {\n\t\t\tu32 label;\n\t\t\t__be16 proto;\n\t\t\tu8 tc;\n\t\t\tu8 bos;\n\t\t\tu8 ttl;\n\t\t} mpls_push;\n\t\tstruct {\n\t\t\t__be16 proto;\n\t\t} mpls_pop;\n\t\tstruct {\n\t\t\tu32 label;\n\t\t\tu8 tc;\n\t\t\tu8 bos;\n\t\t\tu8 ttl;\n\t\t} mpls_mangle;\n\t\tstruct {\n\t\t\ts32 prio;\n\t\t\tu64 basetime;\n\t\t\tu64 cycletime;\n\t\t\tu64 cycletimeext;\n\t\t\tu32 num_entries;\n\t\t\tstruct action_gate_entry *entries;\n\t\t} gate;\n\t\tstruct {\n\t\t\tu16 sid;\n\t\t} pppoe;\n\t};\n\tstruct flow_action_cookie *user_cookie;\n};\n\nstruct flow_action {\n\tunsigned int num_entries;\n\tstruct flow_action_entry entries[0];\n};\n\nstruct flow_action_cookie {\n\tu32 cookie_len;\n\tu8 cookie[0];\n};\n\nstruct flow_block {\n\tstruct list_head cb_list;\n};\n\ntypedef int flow_setup_cb_t(enum tc_setup_type, void *, void *);\n\nstruct flow_block_cb;\n\nstruct flow_block_indr {\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tstruct Qdisc *sch;\n\tenum flow_block_binder_type binder_type;\n\tvoid *data;\n\tvoid *cb_priv;\n\tvoid (*cleanup)(struct flow_block_cb *);\n};\n\nstruct flow_block_cb {\n\tstruct list_head driver_list;\n\tstruct list_head list;\n\tflow_setup_cb_t *cb;\n\tvoid *cb_ident;\n\tvoid *cb_priv;\n\tvoid (*release)(void *);\n\tstruct flow_block_indr indr;\n\tunsigned int refcnt;\n};\n\nstruct flow_block_offload {\n\tenum flow_block_command command;\n\tenum flow_block_binder_type binder_type;\n\tbool block_shared;\n\tbool unlocked_driver_cb;\n\tstruct net *net;\n\tstruct flow_block *block;\n\tstruct list_head cb_list;\n\tstruct list_head *driver_block_list;\n\tstruct netlink_ext_ack *extack;\n\tstruct Qdisc *sch;\n\tstruct list_head *cb_list_head;\n};\n\nstruct flow_dissector_key {\n\tenum flow_dissector_key_id key_id;\n\tsize_t offset;\n};\n\nstruct flow_dissector_key_tipc {\n\t__be32 key;\n};\n\nstruct flow_dissector_key_addrs {\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs v4addrs;\n\t\tstruct flow_dissector_key_ipv6_addrs v6addrs;\n\t\tstruct flow_dissector_key_tipc tipckey;\n\t};\n};\n\nstruct flow_dissector_key_arp {\n\t__u32 sip;\n\t__u32 tip;\n\t__u8 op;\n\tunsigned char sha[6];\n\tunsigned char tha[6];\n};\n\nstruct flow_dissector_key_cfm {\n\tu8 mdl_ver;\n\tu8 opcode;\n};\n\nstruct flow_dissector_key_control {\n\tu16 thoff;\n\tu16 addr_type;\n\tu32 flags;\n};\n\nstruct flow_dissector_key_ct {\n\tu16 ct_state;\n\tu16 ct_zone;\n\tu32 ct_mark;\n\tu32 ct_labels[4];\n};\n\nstruct flow_dissector_key_enc_opts {\n\tu8 data[255];\n\tu8 len;\n\tu32 dst_opt_type;\n};\n\nstruct flow_dissector_key_hash {\n\tu32 hash;\n};\n\nstruct flow_dissector_key_icmp {\n\tstruct {\n\t\tu8 type;\n\t\tu8 code;\n\t};\n\tu16 id;\n};\n\nstruct flow_dissector_key_ipsec {\n\t__be32 spi;\n};\n\nstruct flow_dissector_key_keyid {\n\t__be32 keyid;\n};\n\nstruct flow_dissector_key_l2tpv3 {\n\t__be32 session_id;\n};\n\nstruct flow_dissector_key_meta {\n\tint ingress_ifindex;\n\tu16 ingress_iftype;\n\tu8 l2_miss;\n};\n\nstruct flow_dissector_mpls_lse {\n\tu32 mpls_ttl: 8;\n\tu32 mpls_bos: 1;\n\tu32 mpls_tc: 3;\n\tu32 mpls_label: 20;\n};\n\nstruct flow_dissector_key_mpls {\n\tstruct flow_dissector_mpls_lse ls[7];\n\tu8 used_lses;\n};\n\nstruct flow_dissector_key_num_of_vlans {\n\tu8 num_of_vlans;\n};\n\nstruct flow_dissector_key_ports_range {\n\tunion {\n\t\tstruct flow_dissector_key_ports tp;\n\t\tstruct {\n\t\t\tstruct flow_dissector_key_ports tp_min;\n\t\t\tstruct flow_dissector_key_ports tp_max;\n\t\t};\n\t};\n};\n\nstruct flow_dissector_key_pppoe {\n\t__be16 session_id;\n\t__be16 ppp_proto;\n\t__be16 type;\n};\n\nstruct flow_dissector_key_tags {\n\tu32 flow_label;\n};\n\nstruct flow_dissector_key_tcp {\n\t__be16 flags;\n};\n\nstruct flow_indir_dev_info {\n\tvoid *data;\n\tstruct net_device *dev;\n\tstruct Qdisc *sch;\n\tenum tc_setup_type type;\n\tvoid (*cleanup)(struct flow_block_cb *);\n\tstruct list_head list;\n\tenum flow_block_command command;\n\tenum flow_block_binder_type binder_type;\n\tstruct list_head *cb_list;\n};\n\ntypedef int flow_indr_block_bind_cb_t(struct net_device *, struct Qdisc *, void *, enum tc_setup_type, void *, void *, void (*)(struct flow_block_cb *));\n\nstruct flow_indr_dev {\n\tstruct list_head list;\n\tflow_indr_block_bind_cb_t *cb;\n\tvoid *cb_priv;\n\trefcount_t refcnt;\n};\n\nstruct flow_keys {\n\tstruct flow_dissector_key_control control;\n\tstruct flow_dissector_key_basic basic;\n\tstruct flow_dissector_key_tags tags;\n\tstruct flow_dissector_key_vlan vlan;\n\tstruct flow_dissector_key_vlan cvlan;\n\tstruct flow_dissector_key_keyid keyid;\n\tstruct flow_dissector_key_ports ports;\n\tstruct flow_dissector_key_icmp icmp;\n\tstruct flow_dissector_key_addrs addrs;\n\tlong: 0;\n};\n\nstruct flow_keys_basic {\n\tstruct flow_dissector_key_control control;\n\tstruct flow_dissector_key_basic basic;\n};\n\nstruct flow_keys_digest {\n\tu8 data[16];\n};\n\nstruct flow_match {\n\tstruct flow_dissector *dissector;\n\tvoid *mask;\n\tvoid *key;\n};\n\nstruct flow_match_arp {\n\tstruct flow_dissector_key_arp *key;\n\tstruct flow_dissector_key_arp *mask;\n};\n\nstruct flow_match_basic {\n\tstruct flow_dissector_key_basic *key;\n\tstruct flow_dissector_key_basic *mask;\n};\n\nstruct flow_match_control {\n\tstruct flow_dissector_key_control *key;\n\tstruct flow_dissector_key_control *mask;\n};\n\nstruct flow_match_ct {\n\tstruct flow_dissector_key_ct *key;\n\tstruct flow_dissector_key_ct *mask;\n};\n\nstruct flow_match_enc_keyid {\n\tstruct flow_dissector_key_keyid *key;\n\tstruct flow_dissector_key_keyid *mask;\n};\n\nstruct flow_match_enc_opts {\n\tstruct flow_dissector_key_enc_opts *key;\n\tstruct flow_dissector_key_enc_opts *mask;\n};\n\nstruct flow_match_eth_addrs {\n\tstruct flow_dissector_key_eth_addrs *key;\n\tstruct flow_dissector_key_eth_addrs *mask;\n};\n\nstruct flow_match_icmp {\n\tstruct flow_dissector_key_icmp *key;\n\tstruct flow_dissector_key_icmp *mask;\n};\n\nstruct flow_match_ip {\n\tstruct flow_dissector_key_ip *key;\n\tstruct flow_dissector_key_ip *mask;\n};\n\nstruct flow_match_ipsec {\n\tstruct flow_dissector_key_ipsec *key;\n\tstruct flow_dissector_key_ipsec *mask;\n};\n\nstruct flow_match_ipv4_addrs {\n\tstruct flow_dissector_key_ipv4_addrs *key;\n\tstruct flow_dissector_key_ipv4_addrs *mask;\n};\n\nstruct flow_match_ipv6_addrs {\n\tstruct flow_dissector_key_ipv6_addrs *key;\n\tstruct flow_dissector_key_ipv6_addrs *mask;\n};\n\nstruct flow_match_l2tpv3 {\n\tstruct flow_dissector_key_l2tpv3 *key;\n\tstruct flow_dissector_key_l2tpv3 *mask;\n};\n\nstruct flow_match_meta {\n\tstruct flow_dissector_key_meta *key;\n\tstruct flow_dissector_key_meta *mask;\n};\n\nstruct flow_match_mpls {\n\tstruct flow_dissector_key_mpls *key;\n\tstruct flow_dissector_key_mpls *mask;\n};\n\nstruct flow_match_ports {\n\tstruct flow_dissector_key_ports *key;\n\tstruct flow_dissector_key_ports *mask;\n};\n\nstruct flow_match_ports_range {\n\tstruct flow_dissector_key_ports_range *key;\n\tstruct flow_dissector_key_ports_range *mask;\n};\n\nstruct flow_match_pppoe {\n\tstruct flow_dissector_key_pppoe *key;\n\tstruct flow_dissector_key_pppoe *mask;\n};\n\nstruct flow_match_tcp {\n\tstruct flow_dissector_key_tcp *key;\n\tstruct flow_dissector_key_tcp *mask;\n};\n\nstruct flow_match_vlan {\n\tstruct flow_dissector_key_vlan *key;\n\tstruct flow_dissector_key_vlan *mask;\n};\n\nstruct flow_stats {\n\tu64 pkts;\n\tu64 bytes;\n\tu64 drops;\n\tu64 lastused;\n\tenum flow_action_hw_stats used_hw_stats;\n\tbool used_hw_stats_valid;\n};\n\nstruct flow_offload_action {\n\tstruct netlink_ext_ack *extack;\n\tenum offload_act_command command;\n\tenum flow_action_id id;\n\tu32 index;\n\tlong unsigned int cookie;\n\tstruct flow_stats stats;\n\tstruct flow_action action;\n};\n\nstruct flow_rule {\n\tstruct flow_match match;\n\tstruct flow_action action;\n};\n\nstruct flowi_tunnel {\n\t__be64 tun_id;\n};\n\nstruct flowi_common {\n\tint flowic_oif;\n\tint flowic_iif;\n\tint flowic_l3mdev;\n\t__u32 flowic_mark;\n\t__u8 flowic_tos;\n\t__u8 flowic_scope;\n\t__u8 flowic_proto;\n\t__u8 flowic_flags;\n\t__u32 flowic_secid;\n\tkuid_t flowic_uid;\n\t__u32 flowic_multipath_hash;\n\tstruct flowi_tunnel flowic_tun_key;\n};\n\nunion flowi_uli {\n\tstruct {\n\t\t__be16 dport;\n\t\t__be16 sport;\n\t} ports;\n\tstruct {\n\t\t__u8 type;\n\t\t__u8 code;\n\t} icmpt;\n\t__be32 gre_key;\n\tstruct {\n\t\t__u8 type;\n\t} mht;\n};\n\nstruct flowi4 {\n\tstruct flowi_common __fl_common;\n\t__be32 saddr;\n\t__be32 daddr;\n\tunion flowi_uli uli;\n};\n\nstruct flowi6 {\n\tstruct flowi_common __fl_common;\n\tstruct in6_addr daddr;\n\tstruct in6_addr saddr;\n\t__be32 flowlabel;\n\tunion flowi_uli uli;\n\t__u32 mp_hash;\n};\n\nstruct flowi {\n\tunion {\n\t\tstruct flowi_common __fl_common;\n\t\tstruct flowi4 ip4;\n\t\tstruct flowi6 ip6;\n\t} u;\n};\n\nstruct flush_backlogs {\n\tcpumask_t flush_cpus;\n\tstruct work_struct w[0];\n};\n\nstruct flush_busy_ctx_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct list_head *list;\n};\n\nstruct kyber_hctx_data;\n\nstruct flush_kcq_data {\n\tstruct kyber_hctx_data *khd;\n\tunsigned int sched_domain;\n\tstruct list_head *list;\n};\n\nstruct fmt {\n\tconst char *str;\n\tunsigned char state;\n\tunsigned char size;\n};\n\nstruct fname {\n\t__u32 hash;\n\t__u32 minor_hash;\n\tstruct rb_node rb_hash;\n\tstruct fname *next;\n\t__u32 inode;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[0];\n};\n\nstruct fnhe_hash_bucket {\n\tstruct fib_nh_exception *chain;\n};\n\nstruct focaltech_finger_state {\n\tbool active;\n\tbool valid;\n\tunsigned int x;\n\tunsigned int y;\n};\n\nstruct focaltech_hw_state {\n\tstruct focaltech_finger_state fingers[5];\n\tunsigned int width;\n\tbool pressed;\n};\n\nstruct focaltech_data {\n\tunsigned int x_max;\n\tunsigned int y_max;\n\tstruct focaltech_hw_state state;\n};\n\nstruct page_pool;\n\nstruct page {\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct list_head lru;\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *__filler;\n\t\t\t\t\tunsigned int mlock_count;\n\t\t\t\t};\n\t\t\t\tstruct list_head buddy_list;\n\t\t\t\tstruct list_head pcp_list;\n\t\t\t};\n\t\t\tstruct address_space *mapping;\n\t\t\tunion {\n\t\t\t\tlong unsigned int index;\n\t\t\t\tlong unsigned int share;\n\t\t\t};\n\t\t\tlong unsigned int private;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int pp_magic;\n\t\t\tstruct page_pool *pp;\n\t\t\tlong unsigned int _pp_mapping_pad;\n\t\t\tlong unsigned int dma_addr;\n\t\t\tatomic_long_t pp_ref_count;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int compound_head;\n\t\t};\n\t\tstruct {\n\t\t\tstruct dev_pagemap *pgmap;\n\t\t\tvoid *zone_device_data;\n\t\t};\n\t\tstruct callback_head callback_head;\n\t};\n\tunion {\n\t\tunsigned int page_type;\n\t\tatomic_t _mapcount;\n\t};\n\tatomic_t _refcount;\n\tlong unsigned int memcg_data;\n};\n\nstruct folio {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int flags;\n\t\t\tunion {\n\t\t\t\tstruct list_head lru;\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *__filler;\n\t\t\t\t\tunsigned int mlock_count;\n\t\t\t\t};\n\t\t\t};\n\t\t\tstruct address_space *mapping;\n\t\t\tlong unsigned int index;\n\t\t\tunion {\n\t\t\t\tvoid *private;\n\t\t\t\tswp_entry_t swap;\n\t\t\t};\n\t\t\tatomic_t _mapcount;\n\t\t\tatomic_t _refcount;\n\t\t\tlong unsigned int memcg_data;\n\t\t};\n\t\tstruct page page;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _flags_1;\n\t\t\tlong unsigned int _head_1;\n\t\t\tatomic_t _large_mapcount;\n\t\t\tatomic_t _entire_mapcount;\n\t\t\tatomic_t _nr_pages_mapped;\n\t\t\tatomic_t _pincount;\n\t\t\tunsigned int _folio_nr_pages;\n\t\t};\n\t\tstruct page __page_1;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _flags_2;\n\t\t\tlong unsigned int _head_2;\n\t\t\tvoid *_hugetlb_subpool;\n\t\t\tvoid *_hugetlb_cgroup;\n\t\t\tvoid *_hugetlb_cgroup_rsvd;\n\t\t\tvoid *_hugetlb_hwpoison;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int _flags_2a;\n\t\t\tlong unsigned int _head_2a;\n\t\t\tstruct list_head _deferred_list;\n\t\t};\n\t\tstruct page __page_2;\n\t};\n};\n\nstruct folio_iter {\n\tstruct folio *folio;\n\tsize_t offset;\n\tsize_t length;\n\tstruct folio *_next;\n\tsize_t _seg_count;\n\tint _i;\n};\n\nstruct folio_queue {\n\tstruct folio_batch vec;\n\tu8 orders[31];\n\tstruct folio_queue *next;\n\tstruct folio_queue *prev;\n\tlong unsigned int marks;\n\tlong unsigned int marks2;\n\tlong unsigned int marks3;\n\tunsigned int rreq_id;\n\tunsigned int debug_id;\n};\n\nstruct folio_referenced_arg {\n\tint mapcount;\n\tint referenced;\n\tlong unsigned int vm_flags;\n\tstruct mem_cgroup *memcg;\n};\n\nstruct folio_walk {\n\tstruct page *page;\n\tenum folio_walk_level level;\n\tunion {\n\t\tpte_t *ptep;\n\t\tpud_t *pudp;\n\t\tpmd_t *pmdp;\n\t};\n\tunion {\n\t\tpte_t pte;\n\t\tpud_t pud;\n\t\tpmd_t pmd;\n\t};\n\tstruct vm_area_struct *vma;\n\tspinlock_t *ptl;\n};\n\nstruct follow_page_context {\n\tstruct dev_pagemap *pgmap;\n\tunsigned int page_mask;\n};\n\nstruct follow_pfnmap_args {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int address;\n\tspinlock_t *lock;\n\tpte_t *ptep;\n\tlong unsigned int pfn;\n\tpgprot_t pgprot;\n\tbool writable;\n\tbool special;\n};\n\nstruct font_data {\n\tunsigned int extra[4];\n\tconst unsigned char data[0];\n};\n\nstruct font_desc {\n\tint idx;\n\tconst char *name;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tconst void *data;\n\tint pref;\n};\n\nstruct memory_block;\n\ntypedef int (*walk_memory_blocks_func_t)(struct memory_block *, void *);\n\nstruct for_each_memory_block_cb_data {\n\twalk_memory_blocks_func_t func;\n\tvoid *arg;\n};\n\nstruct format_descr {\n\tunsigned int device;\n\tunsigned int head;\n\tunsigned int track;\n};\n\nstruct format_state___2 {\n\tunsigned char state;\n\tunsigned char size;\n\tunsigned char flags_or_double_size;\n\tunsigned char base;\n};\n\nstruct fown_struct {\n\tstruct file *file;\n\trwlock_t lock;\n\tstruct pid *pid;\n\tenum pid_type pid_type;\n\tkuid_t uid;\n\tkuid_t euid;\n\tint signum;\n};\n\nstruct fparm {\n\tunsigned char track;\n\tunsigned char head;\n\tunsigned char sect;\n\tunsigned char size;\n};\n\nstruct fprop_global {\n\tstruct percpu_counter events;\n\tunsigned int period;\n\tseqcount_t sequence;\n};\n\ntypedef u32 (*rht_hashfn_t)(const void *, u32, u32);\n\ntypedef u32 (*rht_obj_hashfn_t)(const void *, u32, u32);\n\nstruct rhashtable_compare_arg;\n\ntypedef int (*rht_obj_cmpfn_t)(struct rhashtable_compare_arg *, const void *);\n\nstruct rhashtable_params {\n\tu16 nelem_hint;\n\tu16 key_len;\n\tu16 key_offset;\n\tu16 head_offset;\n\tunsigned int max_size;\n\tu16 min_size;\n\tbool automatic_shrinking;\n\trht_hashfn_t hashfn;\n\trht_obj_hashfn_t obj_hashfn;\n\trht_obj_cmpfn_t obj_cmpfn;\n};\n\nstruct rhashtable {\n\tstruct bucket_table *tbl;\n\tunsigned int key_len;\n\tunsigned int max_elems;\n\tstruct rhashtable_params p;\n\tbool rhlist;\n\tstruct work_struct run_work;\n\tstruct mutex mutex;\n\tspinlock_t lock;\n\tatomic_t nelems;\n};\n\nstruct inet_frags;\n\nstruct fqdir {\n\tlong int high_thresh;\n\tlong int low_thresh;\n\tint timeout;\n\tint max_dist;\n\tstruct inet_frags *f;\n\tstruct net *net;\n\tbool dead;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct rhashtable rhashtable;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_long_t mem;\n\tstruct work_struct destroy_work;\n\tstruct llist_node free_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct frag_hdr {\n\t__u8 nexthdr;\n\t__u8 reserved;\n\t__be16 frag_off;\n\t__be32 identification;\n};\n\nstruct frag_v4_compare_key {\n\t__be32 saddr;\n\t__be32 daddr;\n\tu32 user;\n\tu32 vif;\n\t__be16 id;\n\tu16 protocol;\n};\n\nstruct frag_v6_compare_key {\n\tstruct in6_addr saddr;\n\tstruct in6_addr daddr;\n\tu32 user;\n\t__be32 id;\n\tu32 iif;\n};\n\nstruct inet_frag_queue {\n\tstruct rhash_head node;\n\tunion {\n\t\tstruct frag_v4_compare_key v4;\n\t\tstruct frag_v6_compare_key v6;\n\t} key;\n\tstruct timer_list timer;\n\tspinlock_t lock;\n\trefcount_t refcnt;\n\tstruct rb_root rb_fragments;\n\tstruct sk_buff *fragments_tail;\n\tstruct sk_buff *last_run_head;\n\tktime_t stamp;\n\tint len;\n\tint meat;\n\tu8 tstamp_type;\n\t__u8 flags;\n\tu16 max_size;\n\tstruct fqdir *fqdir;\n\tstruct callback_head rcu;\n};\n\nstruct frag_queue {\n\tstruct inet_frag_queue q;\n\tint iif;\n\t__u16 nhoffset;\n\tu8 ecn;\n};\n\nstruct freader {\n\tvoid *buf;\n\tu32 buf_sz;\n\tint err;\n\tunion {\n\t\tstruct {\n\t\t\tstruct file *file;\n\t\t\tstruct folio *folio;\n\t\t\tvoid *addr;\n\t\t\tloff_t folio_off;\n\t\t\tbool may_fault;\n\t\t};\n\t\tstruct {\n\t\t\tconst char *data;\n\t\t\tu64 data_sz;\n\t\t};\n\t};\n};\n\nstruct free_area {\n\tstruct list_head free_list[6];\n\tlong unsigned int nr_free;\n};\n\nstruct free_entry {\n\tu32 block;\n\tu8 sub;\n\tu8 seq;\n\tu8 has_err;\n};\n\nstruct freezer {\n\tstruct cgroup_subsys_state css;\n\tunsigned int state;\n};\n\nstruct freq_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpufreq_policy *, char *);\n\tssize_t (*store)(struct cpufreq_policy *, const char *, size_t);\n};\n\nstruct p_log {\n\tconst char *prefix;\n\tstruct fc_log *log;\n};\n\nstruct fs_context_operations;\n\nstruct fs_context {\n\tconst struct fs_context_operations *ops;\n\tstruct mutex uapi_mutex;\n\tstruct file_system_type *fs_type;\n\tvoid *fs_private;\n\tvoid *sget_key;\n\tstruct dentry *root;\n\tstruct user_namespace *user_ns;\n\tstruct net *net_ns;\n\tconst struct cred *cred;\n\tstruct p_log log;\n\tconst char *source;\n\tvoid *security;\n\tvoid *s_fs_info;\n\tunsigned int sb_flags;\n\tunsigned int sb_flags_mask;\n\tunsigned int s_iflags;\n\tenum fs_context_purpose purpose: 8;\n\tenum fs_context_phase phase: 8;\n\tbool need_free: 1;\n\tbool global: 1;\n\tbool oldapi: 1;\n\tbool exclusive: 1;\n};\n\nstruct fs_parameter;\n\nstruct fs_context_operations {\n\tvoid (*free)(struct fs_context *);\n\tint (*dup)(struct fs_context *, struct fs_context *);\n\tint (*parse_param)(struct fs_context *, struct fs_parameter *);\n\tint (*parse_monolithic)(struct fs_context *, void *);\n\tint (*get_tree)(struct fs_context *);\n\tint (*reconfigure)(struct fs_context *);\n};\n\nstruct fs_error_report {\n\tint error;\n\tstruct inode *inode;\n\tstruct super_block *sb;\n};\n\nstruct fs_parameter {\n\tconst char *key;\n\tenum fs_value_type type: 8;\n\tunion {\n\t\tchar *string;\n\t\tvoid *blob;\n\t\tstruct filename *name;\n\t\tstruct file *file;\n\t};\n\tsize_t size;\n\tint dirfd;\n};\n\nstruct fs_parse_result;\n\ntypedef int fs_param_type(struct p_log *, const struct fs_parameter_spec *, struct fs_parameter *, struct fs_parse_result *);\n\nstruct fs_parameter_spec {\n\tconst char *name;\n\tfs_param_type *type;\n\tu8 opt;\n\tshort unsigned int flags;\n\tconst void *data;\n};\n\nstruct fs_parse_result {\n\tbool negated;\n\tunion {\n\t\tbool boolean;\n\t\tint int_32;\n\t\tunsigned int uint_32;\n\t\tu64 uint_64;\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t};\n};\n\nstruct fs_struct {\n\tint users;\n\tspinlock_t lock;\n\tseqcount_spinlock_t seq;\n\tint umask;\n\tint in_exec;\n\tstruct path root;\n\tstruct path pwd;\n};\n\nstruct fs_sysfs_path {\n\t__u8 len;\n\t__u8 name[128];\n};\n\nstruct fscrypt_name {\n\tconst struct qstr *usr_fname;\n\tstruct fscrypt_str disk_name;\n\tu32 hash;\n\tu32 minor_hash;\n\tstruct fscrypt_str crypto_buf;\n\tbool is_nokey_name;\n};\n\nstruct fsl_mc_obj_desc {\n\tchar type[16];\n\tint id;\n\tu16 vendor;\n\tu16 ver_major;\n\tu16 ver_minor;\n\tu8 irq_count;\n\tu8 region_count;\n\tu32 state;\n\tchar label[16];\n\tu16 flags;\n};\n\nstruct fsl_mc_io;\n\nstruct fsl_mc_device_irq;\n\nstruct fsl_mc_resource;\n\nstruct fsl_mc_device {\n\tstruct device dev;\n\tu64 dma_mask;\n\tu16 flags;\n\tu32 icid;\n\tu16 mc_handle;\n\tstruct fsl_mc_io *mc_io;\n\tstruct fsl_mc_obj_desc obj_desc;\n\tstruct resource *regions;\n\tstruct fsl_mc_device_irq **irqs;\n\tstruct fsl_mc_resource *resource;\n\tstruct device_link *consumer_link;\n\tconst char *driver_override;\n};\n\nstruct fsl_mc_resource_pool;\n\nstruct fsl_mc_resource {\n\tenum fsl_mc_pool_type type;\n\ts32 id;\n\tvoid *data;\n\tstruct fsl_mc_resource_pool *parent_pool;\n\tstruct list_head node;\n};\n\nstruct fsl_mc_device_irq {\n\tunsigned int virq;\n\tstruct fsl_mc_device *mc_dev;\n\tu8 dev_irq_index;\n\tstruct fsl_mc_resource resource;\n};\n\nstruct fsl_mc_io {\n\tstruct device *dev;\n\tu16 flags;\n\tu32 portal_size;\n\tphys_addr_t portal_phys_addr;\n\tvoid *portal_virt_addr;\n\tstruct fsl_mc_device *dpmcp_dev;\n\tunion {\n\t\tstruct mutex mutex;\n\t\traw_spinlock_t spinlock;\n\t};\n};\n\nstruct fsmap {\n\t__u32 fmr_device;\n\t__u32 fmr_flags;\n\t__u64 fmr_physical;\n\t__u64 fmr_owner;\n\t__u64 fmr_offset;\n\t__u64 fmr_length;\n\t__u64 fmr_reserved[3];\n};\n\nstruct fsmap_head {\n\t__u32 fmh_iflags;\n\t__u32 fmh_oflags;\n\t__u32 fmh_count;\n\t__u32 fmh_entries;\n\t__u64 fmh_reserved[6];\n\tstruct fsmap fmh_keys[2];\n\tstruct fsmap fmh_recs[0];\n};\n\nstruct fsnotify_event {\n\tstruct list_head list;\n};\n\nstruct inotify_group_private_data {\n\tspinlock_t idr_lock;\n\tstruct idr idr;\n\tstruct ucounts *ucounts;\n};\n\nstruct fsnotify_ops;\n\nstruct fsnotify_group {\n\tconst struct fsnotify_ops *ops;\n\trefcount_t refcnt;\n\tspinlock_t notification_lock;\n\tstruct list_head notification_list;\n\twait_queue_head_t notification_waitq;\n\tunsigned int q_len;\n\tunsigned int max_events;\n\tenum fsnotify_group_prio priority;\n\tbool shutdown;\n\tint flags;\n\tunsigned int owner_flags;\n\tstruct mutex mark_mutex;\n\tatomic_t user_waits;\n\tstruct list_head marks_list;\n\tstruct fasync_struct *fsn_fa;\n\tstruct fsnotify_event *overflow_event;\n\tstruct mem_cgroup *memcg;\n\tunion {\n\t\tvoid *private;\n\t\tstruct inotify_group_private_data inotify_data;\n\t};\n};\n\nstruct fsnotify_iter_info {\n\tstruct fsnotify_mark *marks[5];\n\tstruct fsnotify_group *current_group;\n\tunsigned int report_mask;\n\tint srcu_idx;\n};\n\ntypedef struct fsnotify_mark_connector *fsnotify_connp_t;\n\nstruct fsnotify_mark_connector {\n\tspinlock_t lock;\n\tunsigned char type;\n\tunsigned char prio;\n\tshort unsigned int flags;\n\tunion {\n\t\tvoid *obj;\n\t\tstruct fsnotify_mark_connector *destroy_next;\n\t};\n\tstruct hlist_head list;\n};\n\nstruct fsnotify_ops {\n\tint (*handle_event)(struct fsnotify_group *, u32, const void *, int, struct inode *, const struct qstr *, u32, struct fsnotify_iter_info *);\n\tint (*handle_inode_event)(struct fsnotify_mark *, u32, struct inode *, struct inode *, const struct qstr *, u32);\n\tvoid (*free_group_priv)(struct fsnotify_group *);\n\tvoid (*freeing_mark)(struct fsnotify_mark *, struct fsnotify_group *);\n\tvoid (*free_event)(struct fsnotify_group *, struct fsnotify_event *);\n\tvoid (*free_mark)(struct fsnotify_mark *);\n};\n\nstruct fsnotify_sb_info {\n\tstruct fsnotify_mark_connector *sb_marks;\n\tatomic_long_t watched_objects[3];\n};\n\nstruct fstrim_range {\n\t__u64 start;\n\t__u64 len;\n\t__u64 minlen;\n};\n\nstruct fsuuid {\n\t__u32 fsu_len;\n\t__u32 fsu_flags;\n\t__u8 fsu_uuid[0];\n};\n\nstruct fsuuid2 {\n\t__u8 len;\n\t__u8 uuid[16];\n};\n\nstruct fsxattr {\n\t__u32 fsx_xflags;\n\t__u32 fsx_extsize;\n\t__u32 fsx_nextents;\n\t__u32 fsx_projid;\n\t__u32 fsx_cowextsize;\n\tunsigned char fsx_pad[8];\n};\n\nstruct trace_seq {\n\tchar buffer[8156];\n\tstruct seq_buf seq;\n\tsize_t readpos;\n\tint full;\n};\n\nstruct tracer;\n\nstruct ring_buffer_iter;\n\nstruct trace_iterator {\n\tstruct trace_array *tr;\n\tstruct tracer *trace;\n\tstruct array_buffer *array_buffer;\n\tvoid *private;\n\tint cpu_file;\n\tstruct mutex mutex;\n\tstruct ring_buffer_iter **buffer_iter;\n\tlong unsigned int iter_flags;\n\tvoid *temp;\n\tunsigned int temp_size;\n\tchar *fmt;\n\tunsigned int fmt_size;\n\tatomic_t wait_index;\n\tstruct trace_seq tmp_seq;\n\tcpumask_var_t started;\n\tbool closed;\n\tbool snapshot;\n\tstruct trace_seq seq;\n\tstruct trace_entry *ent;\n\tlong unsigned int lost_events;\n\tint leftover;\n\tint ent_size;\n\tint cpu;\n\tu64 ts;\n\tloff_t pos;\n\tlong int idx;\n};\n\nstruct ftrace_buffer_info {\n\tstruct trace_iterator iter;\n\tvoid *spare;\n\tunsigned int spare_cpu;\n\tunsigned int spare_size;\n\tunsigned int read;\n};\n\nstruct ftrace_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n};\n\nstruct ftrace_event_field {\n\tstruct list_head link;\n\tconst char *name;\n\tconst char *type;\n\tint filter_type;\n\tint offset;\n\tint size;\n\tunsigned int is_signed: 1;\n\tunsigned int needs_test: 1;\n\tint len;\n};\n\nstruct ftrace_func_command {\n\tstruct list_head list;\n\tchar *name;\n\tint (*func)(struct trace_array *, struct ftrace_hash *, char *, char *, char *, int);\n};\n\nstruct ftrace_func_entry {\n\tstruct hlist_node hlist;\n\tlong unsigned int ip;\n\tlong unsigned int direct;\n};\n\nstruct ftrace_func_map {\n\tstruct ftrace_func_entry entry;\n\tvoid *data;\n};\n\nstruct ftrace_hash {\n\tlong unsigned int size_bits;\n\tstruct hlist_head *buckets;\n\tlong unsigned int count;\n\tlong unsigned int flags;\n\tstruct callback_head rcu;\n};\n\nstruct ftrace_func_mapper {\n\tstruct ftrace_hash hash;\n};\n\nstruct ftrace_probe_ops;\n\nstruct ftrace_func_probe {\n\tstruct ftrace_probe_ops *probe_ops;\n\tstruct ftrace_ops ops;\n\tstruct trace_array *tr;\n\tstruct list_head list;\n\tvoid *data;\n\tint ref;\n};\n\nstruct ftrace_glob {\n\tchar *search;\n\tunsigned int len;\n\tint type;\n};\n\nstruct trace_parser {\n\tbool cont;\n\tchar *buffer;\n\tunsigned int idx;\n\tunsigned int size;\n};\n\nstruct ftrace_graph_data {\n\tstruct ftrace_hash *hash;\n\tstruct ftrace_func_entry *entry;\n\tint idx;\n\tenum graph_filter_type type;\n\tstruct ftrace_hash *new_hash;\n\tconst struct seq_operations *seq_ops;\n\tstruct trace_parser parser;\n};\n\nstruct ftrace_init_func {\n\tstruct list_head list;\n\tlong unsigned int ip;\n};\n\nstruct ftrace_page;\n\nstruct ftrace_iterator {\n\tloff_t pos;\n\tloff_t func_pos;\n\tloff_t mod_pos;\n\tstruct ftrace_page *pg;\n\tstruct dyn_ftrace *func;\n\tstruct ftrace_func_probe *probe;\n\tstruct ftrace_func_entry *probe_entry;\n\tstruct trace_parser parser;\n\tstruct ftrace_hash *hash;\n\tstruct ftrace_ops *ops;\n\tstruct trace_array *tr;\n\tstruct list_head *mod_list;\n\tint pidx;\n\tint idx;\n\tunsigned int flags;\n};\n\nstruct ftrace_mod_func {\n\tstruct list_head list;\n\tchar *name;\n\tlong unsigned int ip;\n\tunsigned int size;\n};\n\nstruct ftrace_mod_load {\n\tstruct list_head list;\n\tchar *func;\n\tchar *module;\n\tint enable;\n};\n\nstruct ftrace_mod_map {\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct module *mod;\n\tlong unsigned int start_addr;\n\tlong unsigned int end_addr;\n\tstruct list_head funcs;\n\tunsigned int num_funcs;\n};\n\nstruct ftrace_ool_stub {\n\tstruct ftrace_ops *ftrace_op;\n\tu32 insn[4];\n};\n\nstruct ftrace_page {\n\tstruct ftrace_page *next;\n\tstruct dyn_ftrace *records;\n\tint index;\n\tint order;\n};\n\nstruct ftrace_probe_ops {\n\tvoid (*func)(long unsigned int, long unsigned int, struct trace_array *, struct ftrace_probe_ops *, void *);\n\tint (*init)(struct ftrace_probe_ops *, struct trace_array *, long unsigned int, void *, void **);\n\tvoid (*free)(struct ftrace_probe_ops *, struct trace_array *, long unsigned int, void *);\n\tint (*print)(struct seq_file *, long unsigned int, struct ftrace_probe_ops *, void *);\n};\n\nstruct ftrace_rec_iter {\n\tstruct ftrace_page *pg;\n\tint index;\n};\n\nstruct ftrace_regs {};\n\nstruct ftrace_ret_stack {\n\tlong unsigned int ret;\n\tlong unsigned int func;\n\tlong unsigned int *retp;\n};\n\nstruct ftrace_stack {\n\tlong unsigned int calls[1024];\n};\n\nstruct ftrace_stacks {\n\tstruct ftrace_stack stacks[4];\n};\n\nstruct func_desc {\n\tlong unsigned int addr;\n\tlong unsigned int toc;\n\tlong unsigned int env;\n};\n\nstruct func_repeats_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tu16 count;\n\tu16 top_delta_ts;\n\tu32 bottom_delta_ts;\n};\n\nstruct function_filter_data {\n\tstruct ftrace_ops *ops;\n\tint first_filter;\n\tint first_notrace;\n};\n\nstruct futex_hash_bucket {\n\tatomic_t waiters;\n\tspinlock_t lock;\n\tstruct plist_head chain;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion futex_key {\n\tstruct {\n\t\tu64 i_seq;\n\t\tlong unsigned int pgoff;\n\t\tunsigned int offset;\n\t} shared;\n\tstruct {\n\t\tunion {\n\t\t\tstruct mm_struct *mm;\n\t\t\tu64 __tmp;\n\t\t};\n\t\tlong unsigned int address;\n\t\tunsigned int offset;\n\t} private;\n\tstruct {\n\t\tu64 ptr;\n\t\tlong unsigned int word;\n\t\tunsigned int offset;\n\t} both;\n};\n\nstruct futex_pi_state {\n\tstruct list_head list;\n\tstruct rt_mutex_base pi_mutex;\n\tstruct task_struct *owner;\n\trefcount_t refcount;\n\tunion futex_key key;\n};\n\nstruct wake_q_head;\n\nstruct futex_q;\n\ntypedef void futex_wake_fn(struct wake_q_head *, struct futex_q *);\n\nstruct rt_mutex_waiter;\n\nstruct futex_q {\n\tstruct plist_node list;\n\tstruct task_struct *task;\n\tspinlock_t *lock_ptr;\n\tfutex_wake_fn *wake;\n\tvoid *wake_data;\n\tunion futex_key key;\n\tstruct futex_pi_state *pi_state;\n\tstruct rt_mutex_waiter *rt_waiter;\n\tunion futex_key *requeue_pi_key;\n\tu32 bitset;\n\tatomic_t requeue_state;\n};\n\nstruct futex_waitv {\n\t__u64 val;\n\t__u64 uaddr;\n\t__u32 flags;\n\t__u32 __reserved;\n};\n\nstruct futex_vector {\n\tstruct futex_waitv w;\n\tstruct futex_q q;\n};\n\nstruct fw_cache_entry {\n\tstruct list_head list;\n\tconst char *name;\n};\n\nstruct fw_dump {\n\tlong unsigned int reserve_dump_area_start;\n\tlong unsigned int reserve_dump_area_size;\n\tlong unsigned int reserve_bootvar;\n\tlong unsigned int cpu_state_data_size;\n\tu64 cpu_state_dest_vaddr;\n\tu32 cpu_state_data_version;\n\tu32 cpu_state_entry_size;\n\tlong unsigned int hpte_region_size;\n\tlong unsigned int boot_memory_size;\n\tu64 boot_mem_dest_addr;\n\tu64 boot_mem_addr[128];\n\tu64 boot_mem_sz[128];\n\tu64 boot_mem_top;\n\tu64 boot_mem_regs_cnt;\n\tlong unsigned int fadumphdr_addr;\n\tu64 elfcorehdr_addr;\n\tu64 elfcorehdr_size;\n\tlong unsigned int cpu_notes_buf_vaddr;\n\tlong unsigned int cpu_notes_buf_size;\n\tlong unsigned int param_area;\n\tu64 max_copy_size;\n\tu64 kernel_metadata;\n\tint ibm_configure_kernel_dump;\n\tlong unsigned int fadump_enabled: 1;\n\tlong unsigned int fadump_supported: 1;\n\tlong unsigned int dump_active: 1;\n\tlong unsigned int dump_registered: 1;\n\tlong unsigned int nocma: 1;\n\tlong unsigned int param_area_supported: 1;\n\tstruct fadump_ops *ops;\n};\n\nstruct fw_name_devm {\n\tlong unsigned int magic;\n\tconst char *name;\n};\n\nstruct fw_state {\n\tstruct completion completion;\n\tenum fw_status status;\n};\n\nstruct fw_priv {\n\tstruct kref ref;\n\tstruct list_head list;\n\tstruct firmware_cache *fwc;\n\tstruct fw_state fw_st;\n\tvoid *data;\n\tsize_t size;\n\tsize_t allocated_size;\n\tsize_t offset;\n\tu32 opt_flags;\n\tconst char *fw_name;\n};\n\nunion fwnet_hwaddr {\n\tu8 u[16];\n\tstruct {\n\t\t__be64 uniq_id;\n\t\tu8 max_rec;\n\t\tu8 sspd;\n\t\tu8 fifo[6];\n\t} uc;\n};\n\nstruct fwnode_endpoint {\n\tunsigned int port;\n\tunsigned int id;\n\tconst struct fwnode_handle *local_fwnode;\n};\n\nstruct fwnode_link {\n\tstruct fwnode_handle *supplier;\n\tstruct list_head s_hook;\n\tstruct fwnode_handle *consumer;\n\tstruct list_head c_hook;\n\tu8 flags;\n};\n\nstruct fwnode_reference_args;\n\nstruct fwnode_operations {\n\tstruct fwnode_handle * (*get)(struct fwnode_handle *);\n\tvoid (*put)(struct fwnode_handle *);\n\tbool (*device_is_available)(const struct fwnode_handle *);\n\tconst void * (*device_get_match_data)(const struct fwnode_handle *, const struct device *);\n\tbool (*device_dma_supported)(const struct fwnode_handle *);\n\tenum dev_dma_attr (*device_get_dma_attr)(const struct fwnode_handle *);\n\tbool (*property_present)(const struct fwnode_handle *, const char *);\n\tbool (*property_read_bool)(const struct fwnode_handle *, const char *);\n\tint (*property_read_int_array)(const struct fwnode_handle *, const char *, unsigned int, void *, size_t);\n\tint (*property_read_string_array)(const struct fwnode_handle *, const char *, const char **, size_t);\n\tconst char * (*get_name)(const struct fwnode_handle *);\n\tconst char * (*get_name_prefix)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_parent)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_next_child_node)(const struct fwnode_handle *, struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_named_child_node)(const struct fwnode_handle *, const char *);\n\tint (*get_reference_args)(const struct fwnode_handle *, const char *, const char *, unsigned int, unsigned int, struct fwnode_reference_args *);\n\tstruct fwnode_handle * (*graph_get_next_endpoint)(const struct fwnode_handle *, struct fwnode_handle *);\n\tstruct fwnode_handle * (*graph_get_remote_endpoint)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*graph_get_port_parent)(struct fwnode_handle *);\n\tint (*graph_parse_endpoint)(const struct fwnode_handle *, struct fwnode_endpoint *);\n\tvoid * (*iomap)(struct fwnode_handle *, int);\n\tint (*irq_get)(const struct fwnode_handle *, unsigned int);\n\tint (*add_links)(struct fwnode_handle *);\n};\n\nstruct fwnode_reference_args {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int nargs;\n\tu64 args[8];\n};\n\nstruct gcry_mpi;\n\ntypedef struct gcry_mpi *MPI;\n\nstruct gcry_mpi {\n\tint alloced;\n\tint nlimbs;\n\tint nbits;\n\tint sign;\n\tunsigned int flags;\n\tmpi_limb_t *d;\n};\n\nstruct mii_phy_def;\n\nstruct mii_phy {\n\tconst struct mii_phy_def *def;\n\tu32 advertising;\n\tint mii_id;\n\tint autoneg;\n\tint speed;\n\tint duplex;\n\tint pause;\n\tstruct net_device *dev;\n\tint (*mdio_read)(struct net_device *, int, int);\n\tvoid (*mdio_write)(struct net_device *, int, int, int);\n\tvoid *platform_data;\n};\n\nstruct gem_init_block;\n\nstruct gem {\n\tvoid *regs;\n\tint rx_new;\n\tint rx_old;\n\tint tx_new;\n\tint tx_old;\n\tunsigned int has_wol: 1;\n\tunsigned int asleep_wol: 1;\n\tint cell_enabled;\n\tu32 msg_enable;\n\tu32 status;\n\tstruct napi_struct napi;\n\tint tx_fifo_sz;\n\tint rx_fifo_sz;\n\tint rx_pause_off;\n\tint rx_pause_on;\n\tint rx_buf_sz;\n\tu64 pause_entered;\n\tu16 pause_last_time_recvd;\n\tu32 mac_rx_cfg;\n\tu32 swrst_base;\n\tint want_autoneg;\n\tint last_forced_speed;\n\tenum link_state lstate;\n\tstruct timer_list link_timer;\n\tint timer_ticks;\n\tint wake_on_lan;\n\tstruct work_struct reset_task;\n\tvolatile int reset_task_pending;\n\tenum gem_phy_type phy_type;\n\tstruct mii_phy phy_mii;\n\tint mii_phy_addr;\n\tstruct gem_init_block *init_block;\n\tstruct sk_buff *rx_skbs[128];\n\tstruct sk_buff *tx_skbs[128];\n\tdma_addr_t gblock_dvma;\n\tstruct pci_dev *pdev;\n\tstruct net_device *dev;\n};\n\nstruct gem_txd {\n\t__le64 control_word;\n\t__le64 buffer;\n};\n\nstruct gem_rxd {\n\t__le64 status_word;\n\t__le64 buffer;\n};\n\nstruct gem_init_block {\n\tstruct gem_txd txd[128];\n\tstruct gem_rxd rxd[128];\n};\n\nstruct pcpu_gen_cookie;\n\nstruct gen_cookie {\n\tstruct pcpu_gen_cookie *local;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic64_t forward_last;\n\tatomic64_t reverse_last;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct gen_pool;\n\ntypedef long unsigned int (*genpool_algo_t)(long unsigned int *, long unsigned int, long unsigned int, unsigned int, void *, struct gen_pool *, long unsigned int);\n\nstruct gen_pool {\n\tspinlock_t lock;\n\tstruct list_head chunks;\n\tint min_alloc_order;\n\tgenpool_algo_t algo;\n\tvoid *data;\n\tconst char *name;\n};\n\nstruct gen_pool_chunk {\n\tstruct list_head next_chunk;\n\tatomic_long_t avail;\n\tphys_addr_t phys_addr;\n\tvoid *owner;\n\tlong unsigned int start_addr;\n\tlong unsigned int end_addr;\n\tlong unsigned int bits[0];\n};\n\nstruct timer_rand_state;\n\nstruct gendisk {\n\tint major;\n\tint first_minor;\n\tint minors;\n\tchar disk_name[32];\n\tshort unsigned int events;\n\tshort unsigned int event_flags;\n\tstruct xarray part_tbl;\n\tstruct block_device *part0;\n\tconst struct block_device_operations *fops;\n\tstruct request_queue *queue;\n\tvoid *private_data;\n\tstruct bio_set bio_split;\n\tint flags;\n\tlong unsigned int state;\n\tstruct mutex open_mutex;\n\tunsigned int open_partitions;\n\tstruct backing_dev_info *bdi;\n\tstruct kobject queue_kobj;\n\tstruct kobject *slave_dir;\n\tstruct list_head slave_bdevs;\n\tstruct timer_rand_state *random;\n\tatomic_t sync_io;\n\tstruct disk_events *ev;\n\tstruct cdrom_device_info *cdi;\n\tint node_id;\n\tstruct badblocks *bb;\n\tstruct lockdep_map lockdep_map;\n\tu64 diskseq;\n\tblk_mode_t open_mode;\n\tstruct blk_independent_access_ranges *ia_ranges;\n};\n\nstruct geneve_opt {\n\t__be16 opt_class;\n\tu8 type;\n\tu8 length: 5;\n\tu8 r3: 1;\n\tu8 r2: 1;\n\tu8 r1: 1;\n\tu8 opt_data[0];\n};\n\nstruct ocontext;\n\nstruct genfs {\n\tchar *fstype;\n\tstruct ocontext *head;\n\tstruct genfs *next;\n};\n\nstruct netlink_callback;\n\nstruct nla_policy;\n\nstruct genl_split_ops {\n\tunion {\n\t\tstruct {\n\t\t\tint (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\t\t\tint (*doit)(struct sk_buff *, struct genl_info *);\n\t\t\tvoid (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\t\t};\n\t\tstruct {\n\t\t\tint (*start)(struct netlink_callback *);\n\t\t\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\t\t\tint (*done)(struct netlink_callback *);\n\t\t};\n\t};\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genlmsghdr;\n\nstruct genl_info {\n\tu32 snd_seq;\n\tu32 snd_portid;\n\tconst struct genl_family *family;\n\tconst struct nlmsghdr *nlhdr;\n\tstruct genlmsghdr *genlhdr;\n\tstruct nlattr **attrs;\n\tpossible_net_t _net;\n\tunion {\n\t\tu8 ctx[48];\n\t\tvoid *user_ptr[2];\n\t};\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct genl_dumpit_info {\n\tstruct genl_split_ops op;\n\tstruct genl_info info;\n};\n\nstruct genl_ops;\n\nstruct genl_small_ops;\n\nstruct genl_multicast_group;\n\nstruct genl_family {\n\tunsigned int hdrsize;\n\tchar name[16];\n\tunsigned int version;\n\tunsigned int maxattr;\n\tu8 netnsok: 1;\n\tu8 parallel_ops: 1;\n\tu8 n_ops;\n\tu8 n_small_ops;\n\tu8 n_split_ops;\n\tu8 n_mcgrps;\n\tu8 resv_start_op;\n\tconst struct nla_policy *policy;\n\tint (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\tvoid (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\tint (*bind)(int);\n\tvoid (*unbind)(int);\n\tconst struct genl_ops *ops;\n\tconst struct genl_small_ops *small_ops;\n\tconst struct genl_split_ops *split_ops;\n\tconst struct genl_multicast_group *mcgrps;\n\tstruct module *module;\n\tsize_t sock_priv_size;\n\tvoid (*sock_priv_init)(void *);\n\tvoid (*sock_priv_destroy)(void *);\n\tint id;\n\tunsigned int mcgrp_offset;\n\tstruct xarray *sock_privs;\n};\n\nstruct genl_multicast_group {\n\tchar name[16];\n\tu8 flags;\n};\n\nstruct genl_op_iter {\n\tconst struct genl_family *family;\n\tstruct genl_split_ops doit;\n\tstruct genl_split_ops dumpit;\n\tint cmd_idx;\n\tint entry_idx;\n\tu32 cmd;\n\tu8 flags;\n};\n\nstruct genl_ops {\n\tint (*doit)(struct sk_buff *, struct genl_info *);\n\tint (*start)(struct netlink_callback *);\n\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genl_small_ops {\n\tint (*doit)(struct sk_buff *, struct genl_info *);\n\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genl_start_context {\n\tconst struct genl_family *family;\n\tstruct nlmsghdr *nlh;\n\tstruct netlink_ext_ack *extack;\n\tconst struct genl_split_ops *ops;\n\tint hdrlen;\n};\n\nstruct genlmsghdr {\n\t__u8 cmd;\n\t__u8 version;\n\t__u16 reserved;\n};\n\nstruct genpool_data_align {\n\tint align;\n};\n\nstruct genpool_data_fixed {\n\tlong unsigned int offset;\n};\n\nstruct genradix_iter {\n\tsize_t offset;\n\tsize_t pos;\n};\n\nstruct genradix_node {\n\tunion {\n\t\tstruct genradix_node *children[64];\n\t\tu8 data[512];\n\t};\n};\n\nstruct getbmapx {\n\t__s64 bmv_offset;\n\t__s64 bmv_block;\n\t__s64 bmv_length;\n\t__s32 bmv_count;\n\t__s32 bmv_entries;\n\t__s32 bmv_iflags;\n\t__s32 bmv_oflags;\n\t__s32 bmv_unused1;\n\t__s32 bmv_unused2;\n};\n\nstruct getcpu_cache {\n\tlong unsigned int blob[16];\n};\n\nstruct getdents_callback {\n\tstruct dir_context ctx;\n\tchar *name;\n\tu64 ino;\n\tint found;\n\tint sequence;\n};\n\nstruct linux_dirent;\n\nstruct getdents_callback___2 {\n\tstruct dir_context ctx;\n\tstruct linux_dirent *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct linux_dirent64;\n\nstruct getdents_callback64 {\n\tstruct dir_context ctx;\n\tstruct linux_dirent64 *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct getfsmap_info {\n\tstruct super_block *gi_sb;\n\tstruct fsmap_head *gi_data;\n\tunsigned int gi_idx;\n\t__u32 gi_last_flags;\n};\n\nstruct input_keymap_entry {\n\t__u8 flags;\n\t__u8 len;\n\t__u16 index;\n\t__u32 keycode;\n\t__u8 scancode[32];\n};\n\nstruct getset_keycode_data {\n\tstruct input_keymap_entry ke;\n\tint error;\n};\n\nstruct giveback_urb_bh {\n\tbool running;\n\tbool high_prio;\n\tspinlock_t lock;\n\tstruct list_head head;\n\tstruct work_struct bh;\n\tstruct usb_host_endpoint *completing_ep;\n};\n\nstruct global_pstate_info {\n\tint highest_lpstate_idx;\n\tunsigned int elapsed_time;\n\tunsigned int last_sampled_time;\n\tint last_lpstate_idx;\n\tint last_gpstate_idx;\n\tspinlock_t gpstate_lock;\n\tstruct timer_list timer;\n\tstruct cpufreq_policy *policy;\n};\n\nstruct tc_stats {\n\t__u64 bytes;\n\t__u32 packets;\n\t__u32 drops;\n\t__u32 overlimits;\n\t__u32 bps;\n\t__u32 pps;\n\t__u32 qlen;\n\t__u32 backlog;\n};\n\nstruct gnet_dump {\n\tspinlock_t *lock;\n\tstruct sk_buff *skb;\n\tstruct nlattr *tail;\n\tint compat_tc_stats;\n\tint compat_xstats;\n\tint padattr;\n\tvoid *xstats;\n\tint xstats_len;\n\tstruct tc_stats tc_stats;\n};\n\nstruct gnet_estimator {\n\tsigned char interval;\n\tunsigned char ewma_log;\n};\n\nstruct gnet_stats_basic {\n\t__u64 bytes;\n\t__u32 packets;\n};\n\nstruct gnet_stats_rate_est {\n\t__u32 bps;\n\t__u32 pps;\n};\n\nstruct gnet_stats_rate_est64 {\n\t__u64 bps;\n\t__u64 pps;\n};\n\nstruct governor_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct gov_attr_set *, char *);\n\tssize_t (*store)(struct gov_attr_set *, const char *, size_t);\n};\n\nstruct gre_base_hdr {\n\t__be16 flags;\n\t__be16 protocol;\n};\n\nstruct gre_full_hdr {\n\tstruct gre_base_hdr fixed_header;\n\t__be16 csum;\n\t__be16 reserved1;\n\t__be32 key;\n\t__be32 seq;\n};\n\nstruct gro_cell {\n\tstruct sk_buff_head napi_skbs;\n\tstruct napi_struct napi;\n};\n\nstruct gro_cells {\n\tstruct gro_cell *cells;\n};\n\nstruct group_device {\n\tstruct list_head list;\n\tstruct device *dev;\n\tchar *name;\n};\n\nstruct group_filter {\n\tunion {\n\t\tstruct {\n\t\t\t__u32 gf_interface_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_group_aux;\n\t\t\t__u32 gf_fmode_aux;\n\t\t\t__u32 gf_numsrc_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist[1];\n\t\t};\n\t\tstruct {\n\t\t\t__u32 gf_interface;\n\t\t\tstruct __kernel_sockaddr_storage gf_group;\n\t\t\t__u32 gf_fmode;\n\t\t\t__u32 gf_numsrc;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist_flex[0];\n\t\t};\n\t};\n};\n\nstruct group_for_pci_data {\n\tstruct pci_dev *pdev;\n\tstruct iommu_group *group;\n};\n\nstruct group_info {\n\trefcount_t usage;\n\tint ngroups;\n\tkgid_t gid[0];\n};\n\nstruct group_req {\n\t__u32 gr_interface;\n\tstruct __kernel_sockaddr_storage gr_group;\n};\n\nstruct group_source_req {\n\t__u32 gsr_interface;\n\tstruct __kernel_sockaddr_storage gsr_group;\n\tstruct __kernel_sockaddr_storage gsr_source;\n};\n\nstruct rpc_clnt;\n\nstruct rpc_pipe_ops;\n\nstruct gss_alloc_pdo {\n\tstruct rpc_clnt *clnt;\n\tconst char *name;\n\tconst struct rpc_pipe_ops *upcall_ops;\n};\n\nstruct rpcsec_gss_oid {\n\tunsigned int len;\n\tu8 data[32];\n};\n\nstruct gss_api_ops;\n\nstruct pf_desc;\n\nstruct gss_api_mech {\n\tstruct list_head gm_list;\n\tstruct module *gm_owner;\n\tstruct rpcsec_gss_oid gm_oid;\n\tchar *gm_name;\n\tconst struct gss_api_ops *gm_ops;\n\tint gm_pf_num;\n\tstruct pf_desc *gm_pfs;\n\tconst char *gm_upcall_enctypes;\n};\n\nstruct gss_ctx;\n\nstruct xdr_netobj;\n\nstruct gss_api_ops {\n\tint (*gss_import_sec_context)(const void *, size_t, struct gss_ctx *, time64_t *, gfp_t);\n\tu32 (*gss_get_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*gss_verify_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*gss_wrap)(struct gss_ctx *, int, struct xdr_buf *, struct page **);\n\tu32 (*gss_unwrap)(struct gss_ctx *, int, int, struct xdr_buf *);\n\tvoid (*gss_delete_sec_context)(void *);\n};\n\nstruct rpc_authops;\n\nstruct rpc_cred_cache;\n\nstruct rpc_auth {\n\tunsigned int au_cslack;\n\tunsigned int au_rslack;\n\tunsigned int au_verfsize;\n\tunsigned int au_ralign;\n\tlong unsigned int au_flags;\n\tconst struct rpc_authops *au_ops;\n\trpc_authflavor_t au_flavor;\n\trefcount_t au_count;\n\tstruct rpc_cred_cache *au_credcache;\n};\n\nstruct gss_pipe;\n\nstruct gss_auth {\n\tstruct kref kref;\n\tstruct hlist_node hash;\n\tstruct rpc_auth rpc_auth;\n\tstruct gss_api_mech *mech;\n\tenum rpc_gss_svc service;\n\tstruct rpc_clnt *client;\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n\tstruct gss_pipe *gss_pipe[2];\n\tconst char *target_name;\n};\n\nstruct xdr_netobj {\n\tunsigned int len;\n\tu8 *data;\n};\n\nstruct gss_cl_ctx {\n\trefcount_t count;\n\tenum rpc_gss_proc gc_proc;\n\tu32 gc_seq;\n\tu32 gc_seq_xmit;\n\tspinlock_t gc_seq_lock;\n\tstruct gss_ctx *gc_gss_ctx;\n\tstruct xdr_netobj gc_wire_ctx;\n\tstruct xdr_netobj gc_acceptor;\n\tu32 gc_win;\n\tlong unsigned int gc_expiry;\n\tstruct callback_head gc_rcu;\n};\n\nstruct rpc_credops;\n\nstruct rpc_cred {\n\tstruct hlist_node cr_hash;\n\tstruct list_head cr_lru;\n\tstruct callback_head cr_rcu;\n\tstruct rpc_auth *cr_auth;\n\tconst struct rpc_credops *cr_ops;\n\tlong unsigned int cr_expire;\n\tlong unsigned int cr_flags;\n\trefcount_t cr_count;\n\tconst struct cred *cr_cred;\n};\n\nstruct gss_upcall_msg;\n\nstruct gss_cred {\n\tstruct rpc_cred gc_base;\n\tenum rpc_gss_svc gc_service;\n\tstruct gss_cl_ctx *gc_ctx;\n\tstruct gss_upcall_msg *gc_upcall;\n\tconst char *gc_principal;\n\tlong unsigned int gc_upcall_timestamp;\n};\n\nstruct gss_ctx {\n\tstruct gss_api_mech *mech_type;\n\tvoid *internal_ctx_id;\n\tunsigned int slack;\n\tunsigned int align;\n};\n\nstruct gss_domain {\n\tstruct auth_domain h;\n\tu32 pseudoflavor;\n};\n\nstruct krb5_ctx;\n\nstruct gss_krb5_enctype {\n\tconst u32 etype;\n\tconst u32 ctype;\n\tconst char *name;\n\tconst char *encrypt_name;\n\tconst char *aux_cipher;\n\tconst char *cksum_name;\n\tconst u16 signalg;\n\tconst u16 sealalg;\n\tconst u32 cksumlength;\n\tconst u32 keyed_cksum;\n\tconst u32 keybytes;\n\tconst u32 keylength;\n\tconst u32 Kc_length;\n\tconst u32 Ke_length;\n\tconst u32 Ki_length;\n\tint (*derive_key)(const struct gss_krb5_enctype *, const struct xdr_netobj *, struct xdr_netobj *, const struct xdr_netobj *, gfp_t);\n\tu32 (*encrypt)(struct krb5_ctx *, u32, struct xdr_buf *, struct page **);\n\tu32 (*decrypt)(struct krb5_ctx *, u32, u32, struct xdr_buf *, u32 *, u32 *);\n\tu32 (*get_mic)(struct krb5_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*verify_mic)(struct krb5_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*wrap)(struct krb5_ctx *, int, struct xdr_buf *, struct page **);\n\tu32 (*unwrap)(struct krb5_ctx *, int, int, struct xdr_buf *, unsigned int *, unsigned int *);\n};\n\nstruct rpc_pipe_dir_object_ops;\n\nstruct rpc_pipe_dir_object {\n\tstruct list_head pdo_head;\n\tconst struct rpc_pipe_dir_object_ops *pdo_ops;\n\tvoid *pdo_data;\n};\n\nstruct rpc_pipe;\n\nstruct gss_pipe {\n\tstruct rpc_pipe_dir_object pdo;\n\tstruct rpc_pipe *pipe;\n\tstruct rpc_clnt *clnt;\n\tconst char *name;\n\tstruct kref kref;\n};\n\nstruct rpc_gss_wire_cred {\n\tu32 gc_v;\n\tu32 gc_proc;\n\tu32 gc_seq;\n\tu32 gc_svc;\n\tstruct xdr_netobj gc_ctx;\n};\n\nstruct rsc;\n\nstruct gss_svc_data {\n\tstruct rpc_gss_wire_cred clcred;\n\tu32 gsd_databody_offset;\n\tstruct rsc *rsci;\n\t__be32 gsd_seq_num;\n\tu8 gsd_scratch[40];\n};\n\nstruct gss_svc_seq_data {\n\tu32 sd_max;\n\tlong unsigned int sd_win[2];\n\tspinlock_t sd_lock;\n};\n\nstruct rpc_pipe_msg {\n\tstruct list_head list;\n\tvoid *data;\n\tsize_t len;\n\tsize_t copied;\n\tint errno;\n};\n\nstruct rpc_timer {\n\tstruct list_head list;\n\tlong unsigned int expires;\n\tstruct delayed_work dwork;\n};\n\nstruct rpc_wait_queue {\n\tspinlock_t lock;\n\tstruct list_head tasks[4];\n\tunsigned char maxpriority;\n\tunsigned char priority;\n\tunsigned char nr;\n\tunsigned int qlen;\n\tstruct rpc_timer timer_list;\n\tconst char *name;\n};\n\nstruct gss_upcall_msg {\n\trefcount_t count;\n\tkuid_t uid;\n\tconst char *service_name;\n\tstruct rpc_pipe_msg msg;\n\tstruct list_head list;\n\tstruct gss_auth *auth;\n\tstruct rpc_pipe *pipe;\n\tstruct rpc_wait_queue rpc_waitqueue;\n\twait_queue_head_t waitqueue;\n\tstruct gss_cl_ctx *ctx;\n\tchar databuf[256];\n};\n\nstruct gssp_in_token {\n\tstruct page **pages;\n\tunsigned int page_base;\n\tunsigned int page_len;\n};\n\nstruct svc_cred {\n\tkuid_t cr_uid;\n\tkgid_t cr_gid;\n\tstruct group_info *cr_group_info;\n\tu32 cr_flavor;\n\tchar *cr_raw_principal;\n\tchar *cr_principal;\n\tchar *cr_targ_princ;\n\tstruct gss_api_mech *cr_gss_mech;\n};\n\nstruct gssp_upcall_data {\n\tstruct xdr_netobj in_handle;\n\tstruct gssp_in_token in_token;\n\tstruct xdr_netobj out_handle;\n\tstruct xdr_netobj out_token;\n\tstruct rpcsec_gss_oid mech_oid;\n\tstruct svc_cred creds;\n\tint found_creds;\n\tint major_status;\n\tint minor_status;\n};\n\ntypedef struct xdr_netobj utf8string;\n\ntypedef struct xdr_netobj gssx_buffer;\n\nstruct gssx_option;\n\nstruct gssx_option_array {\n\tu32 count;\n\tstruct gssx_option *data;\n};\n\nstruct gssx_call_ctx {\n\tutf8string locale;\n\tgssx_buffer server_ctx;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_ctx;\n\nstruct gssx_cred;\n\nstruct gssx_cb;\n\nstruct gssx_arg_accept_sec_context {\n\tstruct gssx_call_ctx call_ctx;\n\tstruct gssx_ctx *context_handle;\n\tstruct gssx_cred *cred_handle;\n\tstruct gssp_in_token input_token;\n\tstruct gssx_cb *input_cb;\n\tu32 ret_deleg_cred;\n\tstruct gssx_option_array options;\n\tstruct page **pages;\n\tunsigned int npages;\n};\n\nstruct gssx_cb {\n\tu64 initiator_addrtype;\n\tgssx_buffer initiator_address;\n\tu64 acceptor_addrtype;\n\tgssx_buffer acceptor_address;\n\tgssx_buffer application_data;\n};\n\nstruct gssx_name {\n\tgssx_buffer display_name;\n};\n\ntypedef struct gssx_name gssx_name;\n\nstruct gssx_cred_element;\n\nstruct gssx_cred_element_array {\n\tu32 count;\n\tstruct gssx_cred_element *data;\n};\n\nstruct gssx_cred {\n\tgssx_name desired_name;\n\tstruct gssx_cred_element_array elements;\n\tgssx_buffer cred_handle_reference;\n\tu32 needs_release;\n};\n\ntypedef struct xdr_netobj gssx_OID;\n\nstruct gssx_cred_element {\n\tgssx_name MN;\n\tgssx_OID mech;\n\tu32 cred_usage;\n\tu64 initiator_time_rec;\n\tu64 acceptor_time_rec;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_ctx {\n\tgssx_buffer exported_context_token;\n\tgssx_buffer state;\n\tu32 need_release;\n\tgssx_OID mech;\n\tgssx_name src_name;\n\tgssx_name targ_name;\n\tu64 lifetime;\n\tu64 ctx_flags;\n\tu32 locally_initiated;\n\tu32 open;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_name_attr {\n\tgssx_buffer attr;\n\tgssx_buffer value;\n\tstruct gssx_option_array extensions;\n};\n\nstruct gssx_name_attr_array {\n\tu32 count;\n\tstruct gssx_name_attr *data;\n};\n\nstruct gssx_option {\n\tgssx_buffer option;\n\tgssx_buffer value;\n};\n\nstruct gssx_status {\n\tu64 major_status;\n\tgssx_OID mech;\n\tu64 minor_status;\n\tutf8string major_status_string;\n\tutf8string minor_status_string;\n\tgssx_buffer server_ctx;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_res_accept_sec_context {\n\tstruct gssx_status status;\n\tstruct gssx_ctx *context_handle;\n\tgssx_buffer *output_token;\n\tstruct gssx_option_array options;\n};\n\nstruct gxt4500_par {\n\tvoid *regs;\n\tint wc_cookie;\n\tint pixfmt;\n\tint refclk_ps;\n\tint pll_m;\n\tint pll_n;\n\tint pll_pd1;\n\tint pll_pd2;\n\tu32 pseudo_palette[16];\n};\n\nstruct h_cpu_char_result {\n\tu64 character;\n\tu64 behaviour;\n};\n\nstruct h_energy_scale_info_hdr {\n\t__be64 num_attrs;\n\t__be64 array_offset;\n\tu8 data_header_version;\n} __attribute__((packed));\n\nunion handle_parts {\n\tdepot_stack_handle_t handle;\n\tstruct {\n\t\tu32 pool_index_plus_1: 13;\n\t\tu32 offset: 14;\n\t\tu32 extra: 5;\n\t};\n};\n\nstruct handle_to_path_ctx {\n\tstruct path root;\n\tenum handle_to_path_flags flags;\n\tunsigned int fh_flags;\n};\n\nstruct handshake_net {\n\tspinlock_t hn_lock;\n\tint hn_pending;\n\tint hn_pending_max;\n\tstruct list_head hn_requests;\n\tlong unsigned int hn_flags;\n};\n\nstruct handshake_req;\n\nstruct handshake_proto {\n\tint hp_handler_class;\n\tsize_t hp_privsize;\n\tlong unsigned int hp_flags;\n\tint (*hp_accept)(struct handshake_req *, struct genl_info *, int);\n\tvoid (*hp_done)(struct handshake_req *, unsigned int, struct genl_info *);\n\tvoid (*hp_destroy)(struct handshake_req *);\n};\n\nstruct handshake_req {\n\tstruct list_head hr_list;\n\tstruct rhash_head hr_rhash;\n\tlong unsigned int hr_flags;\n\tconst struct handshake_proto *hr_proto;\n\tstruct sock *hr_sk;\n\tvoid (*hr_odestruct)(struct sock *);\n\tchar hr_priv[0];\n};\n\nstruct hash {\n\tint ino;\n\tint minor;\n\tint major;\n\tumode_t mode;\n\tstruct hash *next;\n\tchar name[4098];\n};\n\nstruct hash_cell {\n\tstruct rb_node name_node;\n\tstruct rb_node uuid_node;\n\tbool name_set;\n\tbool uuid_set;\n\tchar *name;\n\tchar *uuid;\n\tstruct mapped_device *md;\n\tstruct dm_table *new_map;\n};\n\nstruct slice_mask {\n\tu64 low_slices;\n\tlong unsigned int high_slices[64];\n};\n\nstruct hash_mm_context {\n\tu16 user_psize;\n\tunsigned char low_slices_psize[8];\n\tunsigned char high_slices_psize[2048];\n\tlong unsigned int slb_addr_limit;\n\tstruct slice_mask mask_64k;\n\tstruct slice_mask mask_4k;\n\tstruct slice_mask mask_16m;\n\tstruct slice_mask mask_16g;\n};\n\nstruct hash_prefix {\n\tconst char *name;\n\tconst u8 *data;\n\tsize_t size;\n};\n\nstruct hash_pte {\n\t__be64 v;\n\t__be64 r;\n};\n\nstruct hashtab_key_params {\n\tu32 (*hash)(const void *);\n\tint (*cmp)(const void *, const void *);\n};\n\nstruct hashtab_node {\n\tvoid *key;\n\tvoid *datum;\n\tstruct hashtab_node *next;\n};\n\nstruct hc_driver {\n\tconst char *description;\n\tconst char *product_desc;\n\tsize_t hcd_priv_size;\n\tirqreturn_t (*irq)(struct usb_hcd *);\n\tint flags;\n\tint (*reset)(struct usb_hcd *);\n\tint (*start)(struct usb_hcd *);\n\tint (*pci_suspend)(struct usb_hcd *, bool);\n\tint (*pci_resume)(struct usb_hcd *, pm_message_t);\n\tint (*pci_poweroff_late)(struct usb_hcd *, bool);\n\tvoid (*stop)(struct usb_hcd *);\n\tvoid (*shutdown)(struct usb_hcd *);\n\tint (*get_frame_number)(struct usb_hcd *);\n\tint (*urb_enqueue)(struct usb_hcd *, struct urb *, gfp_t);\n\tint (*urb_dequeue)(struct usb_hcd *, struct urb *, int);\n\tint (*map_urb_for_dma)(struct usb_hcd *, struct urb *, gfp_t);\n\tvoid (*unmap_urb_for_dma)(struct usb_hcd *, struct urb *);\n\tvoid (*endpoint_disable)(struct usb_hcd *, struct usb_host_endpoint *);\n\tvoid (*endpoint_reset)(struct usb_hcd *, struct usb_host_endpoint *);\n\tint (*hub_status_data)(struct usb_hcd *, char *);\n\tint (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16);\n\tint (*bus_suspend)(struct usb_hcd *);\n\tint (*bus_resume)(struct usb_hcd *);\n\tint (*start_port_reset)(struct usb_hcd *, unsigned int);\n\tlong unsigned int (*get_resuming_ports)(struct usb_hcd *);\n\tvoid (*relinquish_port)(struct usb_hcd *, int);\n\tint (*port_handed_over)(struct usb_hcd *, int);\n\tvoid (*clear_tt_buffer_complete)(struct usb_hcd *, struct usb_host_endpoint *);\n\tint (*alloc_dev)(struct usb_hcd *, struct usb_device *);\n\tvoid (*free_dev)(struct usb_hcd *, struct usb_device *);\n\tint (*alloc_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, unsigned int, gfp_t);\n\tint (*free_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, gfp_t);\n\tint (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*check_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tvoid (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tint (*address_device)(struct usb_hcd *, struct usb_device *, unsigned int);\n\tint (*enable_device)(struct usb_hcd *, struct usb_device *);\n\tint (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t);\n\tint (*reset_device)(struct usb_hcd *, struct usb_device *);\n\tint (*update_device)(struct usb_hcd *, struct usb_device *);\n\tint (*set_usb2_hw_lpm)(struct usb_hcd *, struct usb_device *, int);\n\tint (*enable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state);\n\tint (*disable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state);\n\tint (*find_raw_port_number)(struct usb_hcd *, int);\n\tint (*port_power)(struct usb_hcd *, int, bool);\n\tint (*submit_single_step_set_feature)(struct usb_hcd *, struct urb *, int);\n};\n\nstruct hd_geometry {\n\tunsigned char heads;\n\tunsigned char sectors;\n\tshort unsigned int cylinders;\n\tlong unsigned int start;\n};\n\nstruct hdat_fadump_reg_entry {\n\t__be32 reg_type;\n\t__be32 reg_num;\n\t__be64 reg_val;\n};\n\nstruct hdat_fadump_thread_hdr {\n\t__be32 pir;\n\tu8 core_state;\n\tu8 reserved[3];\n\t__be32 offset;\n\t__be32 ecnt;\n\t__be32 esize;\n\t__be32 eactsz;\n};\n\nstruct hh_cache;\n\nstruct header_ops {\n\tint (*create)(struct sk_buff *, struct net_device *, short unsigned int, const void *, const void *, unsigned int);\n\tint (*parse)(const struct sk_buff *, unsigned char *);\n\tint (*cache)(const struct neighbour *, struct hh_cache *, __be16);\n\tvoid (*cache_update)(struct hh_cache *, const struct net_device *, const unsigned char *);\n\tbool (*validate)(const char *, unsigned int);\n\t__be16 (*parse_protocol)(const struct sk_buff *);\n};\n\nstruct hh_cache {\n\tunsigned int hh_len;\n\tseqlock_t hh_lock;\n\tlong unsigned int hh_data[12];\n};\n\nstruct hid_class_descriptor {\n\t__u8 bDescriptorType;\n\t__le16 wDescriptorLength;\n} __attribute__((packed));\n\nstruct hid_collection {\n\tint parent_idx;\n\tunsigned int type;\n\tunsigned int usage;\n\tunsigned int level;\n};\n\nstruct hid_report;\n\nstruct hid_control_fifo {\n\tunsigned char dir;\n\tstruct hid_report *report;\n\tchar *raw_report;\n};\n\nstruct hid_device;\n\nstruct hid_debug_list {\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tchar *type;\n\t\t\tconst char *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tchar *ptr;\n\t\t\tconst char *ptr_const;\n\t\t};\n\t\tchar buf[0];\n\t} hid_debug_fifo;\n\tstruct fasync_struct *fasync;\n\tstruct hid_device *hdev;\n\tstruct list_head node;\n\tstruct mutex read_mutex;\n};\n\nstruct hid_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdHID;\n\t__u8 bCountryCode;\n\t__u8 bNumDescriptors;\n\tstruct hid_class_descriptor desc[1];\n} __attribute__((packed));\n\nstruct hid_report_enum {\n\tunsigned int numbered;\n\tstruct list_head report_list;\n\tstruct hid_report *report_id_hash[256];\n};\n\nstruct semaphore {\n\traw_spinlock_t lock;\n\tunsigned int count;\n\tstruct list_head wait_list;\n};\n\nstruct hid_driver;\n\nstruct hid_ll_driver;\n\nstruct hid_field;\n\nstruct hid_usage;\n\nstruct hid_device {\n\tconst __u8 *dev_rdesc;\n\tconst __u8 *bpf_rdesc;\n\tconst __u8 *rdesc;\n\tunsigned int dev_rsize;\n\tunsigned int bpf_rsize;\n\tunsigned int rsize;\n\tunsigned int collection_size;\n\tstruct hid_collection *collection;\n\tunsigned int maxcollection;\n\tunsigned int maxapplication;\n\t__u16 bus;\n\t__u16 group;\n\t__u32 vendor;\n\t__u32 product;\n\t__u32 version;\n\tenum hid_type type;\n\tunsigned int country;\n\tstruct hid_report_enum report_enum[3];\n\tstruct work_struct led_work;\n\tstruct semaphore driver_input_lock;\n\tstruct device dev;\n\tstruct hid_driver *driver;\n\tvoid *devres_group_id;\n\tconst struct hid_ll_driver *ll_driver;\n\tstruct mutex ll_open_lock;\n\tunsigned int ll_open_count;\n\tlong unsigned int status;\n\tunsigned int claimed;\n\tunsigned int quirks;\n\tunsigned int initial_quirks;\n\tbool io_started;\n\tstruct list_head inputs;\n\tvoid *hiddev;\n\tvoid *hidraw;\n\tchar name[128];\n\tchar phys[64];\n\tchar uniq[64];\n\tvoid *driver_data;\n\tint (*ff_init)(struct hid_device *);\n\tint (*hiddev_connect)(struct hid_device *, unsigned int);\n\tvoid (*hiddev_disconnect)(struct hid_device *);\n\tvoid (*hiddev_hid_event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);\n\tvoid (*hiddev_report_event)(struct hid_device *, struct hid_report *);\n\tshort unsigned int debug;\n\tstruct dentry *debug_dir;\n\tstruct dentry *debug_rdesc;\n\tstruct dentry *debug_events;\n\tstruct list_head debug_list;\n\tspinlock_t debug_list_lock;\n\twait_queue_head_t debug_wait;\n\tstruct kref ref;\n\tunsigned int id;\n};\n\nstruct hid_device_id {\n\t__u16 bus;\n\t__u16 group;\n\t__u32 vendor;\n\t__u32 product;\n\tkernel_ulong_t driver_data;\n};\n\nstruct hid_report_id;\n\nstruct hid_usage_id;\n\nstruct hid_input;\n\nstruct hid_driver {\n\tchar *name;\n\tconst struct hid_device_id *id_table;\n\tstruct list_head dyn_list;\n\tspinlock_t dyn_lock;\n\tbool (*match)(struct hid_device *, bool);\n\tint (*probe)(struct hid_device *, const struct hid_device_id *);\n\tvoid (*remove)(struct hid_device *);\n\tconst struct hid_report_id *report_table;\n\tint (*raw_event)(struct hid_device *, struct hid_report *, u8 *, int);\n\tconst struct hid_usage_id *usage_table;\n\tint (*event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);\n\tvoid (*report)(struct hid_device *, struct hid_report *);\n\tconst __u8 * (*report_fixup)(struct hid_device *, __u8 *, unsigned int *);\n\tint (*input_mapping)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *);\n\tint (*input_mapped)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *);\n\tint (*input_configured)(struct hid_device *, struct hid_input *);\n\tvoid (*feature_mapping)(struct hid_device *, struct hid_field *, struct hid_usage *);\n\tint (*suspend)(struct hid_device *, pm_message_t);\n\tint (*resume)(struct hid_device *);\n\tint (*reset_resume)(struct hid_device *);\n\tstruct device_driver driver;\n};\n\nstruct hid_dynid {\n\tstruct list_head list;\n\tstruct hid_device_id id;\n};\n\nstruct hid_field {\n\tunsigned int physical;\n\tunsigned int logical;\n\tunsigned int application;\n\tstruct hid_usage *usage;\n\tunsigned int maxusage;\n\tunsigned int flags;\n\tunsigned int report_offset;\n\tunsigned int report_size;\n\tunsigned int report_count;\n\tunsigned int report_type;\n\t__s32 *value;\n\t__s32 *new_value;\n\t__s32 *usages_priorities;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__s32 unit_exponent;\n\tunsigned int unit;\n\tbool ignored;\n\tstruct hid_report *report;\n\tunsigned int index;\n\tstruct hid_input *hidinput;\n\t__u16 dpad;\n\tunsigned int slot_idx;\n};\n\nstruct hid_field_entry {\n\tstruct list_head list;\n\tstruct hid_field *field;\n\tunsigned int index;\n\t__s32 priority;\n};\n\nstruct hid_global {\n\tunsigned int usage_page;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__s32 unit_exponent;\n\tunsigned int unit;\n\tunsigned int report_id;\n\tunsigned int report_size;\n\tunsigned int report_count;\n};\n\nstruct hid_input {\n\tstruct list_head list;\n\tstruct hid_report *report;\n\tstruct input_dev *input;\n\tconst char *name;\n\tstruct list_head reports;\n\tunsigned int application;\n\tbool registered;\n};\n\nstruct hid_item {\n\tunsigned int format;\n\t__u8 size;\n\t__u8 type;\n\t__u8 tag;\n\tunion {\n\t\t__u8 u8;\n\t\t__s8 s8;\n\t\t__u16 u16;\n\t\t__s16 s16;\n\t\t__u32 u32;\n\t\t__s32 s32;\n\t\tconst __u8 *longdata;\n\t} data;\n};\n\nstruct hid_ll_driver {\n\tint (*start)(struct hid_device *);\n\tvoid (*stop)(struct hid_device *);\n\tint (*open)(struct hid_device *);\n\tvoid (*close)(struct hid_device *);\n\tint (*power)(struct hid_device *, int);\n\tint (*parse)(struct hid_device *);\n\tvoid (*request)(struct hid_device *, struct hid_report *, int);\n\tint (*wait)(struct hid_device *);\n\tint (*raw_request)(struct hid_device *, unsigned char, __u8 *, size_t, unsigned char, int);\n\tint (*output_report)(struct hid_device *, __u8 *, size_t);\n\tint (*idle)(struct hid_device *, int, int, int);\n\tbool (*may_wakeup)(struct hid_device *);\n\tunsigned int max_buffer_size;\n};\n\nstruct hid_local {\n\tunsigned int usage[12288];\n\tu8 usage_size[12288];\n\tunsigned int collection_index[12288];\n\tunsigned int usage_index;\n\tunsigned int usage_minimum;\n\tunsigned int delimiter_depth;\n\tunsigned int delimiter_branch;\n};\n\nstruct hid_output_fifo {\n\tstruct hid_report *report;\n\tchar *raw_report;\n};\n\nstruct hid_parser {\n\tstruct hid_global global;\n\tstruct hid_global global_stack[4];\n\tunsigned int global_stack_ptr;\n\tstruct hid_local local;\n\tunsigned int *collection_stack;\n\tunsigned int collection_stack_ptr;\n\tunsigned int collection_stack_size;\n\tstruct hid_device *device;\n\tunsigned int scan_flags;\n};\n\nstruct hid_report {\n\tstruct list_head list;\n\tstruct list_head hidinput_list;\n\tstruct list_head field_entry_list;\n\tunsigned int id;\n\tenum hid_report_type type;\n\tunsigned int application;\n\tstruct hid_field *field[256];\n\tstruct hid_field_entry *field_entries;\n\tunsigned int maxfield;\n\tunsigned int size;\n\tstruct hid_device *device;\n\tbool tool_active;\n\tunsigned int tool;\n};\n\nstruct hid_report_id {\n\t__u32 report_type;\n};\n\nstruct hid_usage {\n\tunsigned int hid;\n\tunsigned int collection_index;\n\tunsigned int usage_index;\n\t__s8 resolution_multiplier;\n\t__s8 wheel_factor;\n\t__u16 code;\n\t__u8 type;\n\t__s16 hat_min;\n\t__s16 hat_max;\n\t__s16 hat_dir;\n\t__s16 wheel_accumulated;\n};\n\nstruct hid_usage_entry {\n\tunsigned int page;\n\tunsigned int usage;\n\tconst char *description;\n};\n\nstruct hid_usage_id {\n\t__u32 usage_hid;\n\t__u32 usage_type;\n\t__u32 usage_code;\n};\n\nstruct hiddev {\n\tint minor;\n\tint exist;\n\tint open;\n\tstruct mutex existancelock;\n\twait_queue_head_t wait;\n\tstruct hid_device *hid;\n\tstruct list_head list;\n\tspinlock_t list_lock;\n\tbool initialized;\n};\n\nstruct hiddev_collection_info {\n\t__u32 index;\n\t__u32 type;\n\t__u32 usage;\n\t__u32 level;\n};\n\nstruct hiddev_devinfo {\n\t__u32 bustype;\n\t__u32 busnum;\n\t__u32 devnum;\n\t__u32 ifnum;\n\t__s16 vendor;\n\t__s16 product;\n\t__s16 version;\n\t__u32 num_applications;\n};\n\nstruct hiddev_event {\n\tunsigned int hid;\n\tint value;\n};\n\nstruct hiddev_field_info {\n\t__u32 report_type;\n\t__u32 report_id;\n\t__u32 field_index;\n\t__u32 maxusage;\n\t__u32 flags;\n\t__u32 physical;\n\t__u32 logical;\n\t__u32 application;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__u32 unit_exponent;\n\t__u32 unit;\n};\n\nstruct hiddev_usage_ref {\n\t__u32 report_type;\n\t__u32 report_id;\n\t__u32 field_index;\n\t__u32 usage_index;\n\t__u32 usage_code;\n\t__s32 value;\n};\n\nstruct hiddev_list {\n\tstruct hiddev_usage_ref buffer[2048];\n\tint head;\n\tint tail;\n\tunsigned int flags;\n\tstruct fasync_struct *fasync;\n\tstruct hiddev *hiddev;\n\tstruct list_head node;\n\tstruct mutex thread_lock;\n};\n\nstruct hiddev_report_info {\n\t__u32 report_type;\n\t__u32 report_id;\n\t__u32 num_fields;\n};\n\nstruct hiddev_usage_ref_multi {\n\tstruct hiddev_usage_ref uref;\n\t__u32 num_values;\n\t__s32 values[1024];\n};\n\nstruct hidraw {\n\tunsigned int minor;\n\tint exist;\n\tint open;\n\twait_queue_head_t wait;\n\tstruct hid_device *hid;\n\tstruct device *dev;\n\tspinlock_t list_lock;\n\tstruct list_head list;\n};\n\nstruct hlist_bl_head {\n\tstruct hlist_bl_node *first;\n};\n\nstruct hmac_ctx {\n\tstruct crypto_shash *hash;\n\tu8 pads[0];\n};\n\nstruct mmu_interval_notifier;\n\nstruct hmm_range {\n\tstruct mmu_interval_notifier *notifier;\n\tlong unsigned int notifier_seq;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int *hmm_pfns;\n\tlong unsigned int default_flags;\n\tlong unsigned int pfn_flags_mask;\n\tvoid *dev_private_owner;\n};\n\nstruct hmm_vma_walk {\n\tstruct hmm_range *range;\n\tlong unsigned int last;\n};\n\nstruct hop_jumbo_hdr {\n\tu8 nexthdr;\n\tu8 hdrlen;\n\tu8 tlv_type;\n\tu8 tlv_len;\n\t__be32 jumbo_payload_len;\n};\n\nstruct hotplug_slot_ops;\n\nstruct pci_slot;\n\nstruct hotplug_slot {\n\tconst struct hotplug_slot_ops *ops;\n\tstruct list_head slot_list;\n\tstruct pci_slot *pci_slot;\n\tstruct module *owner;\n\tconst char *mod_name;\n};\n\nstruct hotplug_slot_ops {\n\tint (*enable_slot)(struct hotplug_slot *);\n\tint (*disable_slot)(struct hotplug_slot *);\n\tint (*set_attention_status)(struct hotplug_slot *, u8);\n\tint (*hardware_test)(struct hotplug_slot *, u32);\n\tint (*get_power_status)(struct hotplug_slot *, u8 *);\n\tint (*get_attention_status)(struct hotplug_slot *, u8 *);\n\tint (*get_latch_status)(struct hotplug_slot *, u8 *);\n\tint (*get_adapter_status)(struct hotplug_slot *, u8 *);\n\tint (*reset_slot)(struct hotplug_slot *, bool);\n};\n\nstruct housekeeping {\n\tstruct cpumask cpumasks[3];\n\tlong unsigned int flags;\n};\n\nstruct hprobe {\n\tenum hprobe_state state;\n\tint srcu_idx;\n\tstruct uprobe *uprobe;\n};\n\nstruct hpt_resize_state {\n\tlong unsigned int shift;\n\tint commit_rc;\n};\n\nstruct seqcount_raw_spinlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_raw_spinlock seqcount_raw_spinlock_t;\n\nstruct hrtimer_cpu_base;\n\nstruct hrtimer_clock_base {\n\tstruct hrtimer_cpu_base *cpu_base;\n\tunsigned int index;\n\tclockid_t clockid;\n\tseqcount_raw_spinlock_t seq;\n\tstruct hrtimer *running;\n\tstruct timerqueue_head active;\n\tktime_t (*get_time)(void);\n\tktime_t offset;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hrtimer_cpu_base {\n\traw_spinlock_t lock;\n\tunsigned int cpu;\n\tunsigned int active_bases;\n\tunsigned int clock_was_set_seq;\n\tunsigned int hres_active: 1;\n\tunsigned int in_hrtirq: 1;\n\tunsigned int hang_detected: 1;\n\tunsigned int softirq_activated: 1;\n\tunsigned int online: 1;\n\tunsigned int nr_events;\n\tshort unsigned int nr_retries;\n\tshort unsigned int nr_hangs;\n\tunsigned int max_hang_time;\n\tktime_t expires_next;\n\tstruct hrtimer *next_timer;\n\tktime_t softirq_expires_next;\n\tstruct hrtimer *softirq_next_timer;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hrtimer_clock_base clock_base[8];\n\tcall_single_data_t csd;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hrtimer_sleeper {\n\tstruct hrtimer timer;\n\tstruct task_struct *task;\n};\n\nstruct hs_primary_descriptor {\n\t__u8 foo[8];\n\t__u8 type[1];\n\t__u8 id[5];\n\t__u8 version[1];\n\t__u8 unused1[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 unused3[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 unused4[28];\n\t__u8 root_directory_record[34];\n};\n\nstruct hs_volume_descriptor {\n\t__u8 foo[8];\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 data[2033];\n};\n\nstruct hsr_tag {\n\t__be16 path_and_LSDU_size;\n\t__be16 sequence_nr;\n\t__be16 encap_proto;\n};\n\nstruct hstate {\n\tstruct mutex resize_lock;\n\tstruct lock_class_key resize_key;\n\tint next_nid_to_alloc;\n\tint next_nid_to_free;\n\tunsigned int order;\n\tunsigned int demote_order;\n\tlong unsigned int mask;\n\tlong unsigned int max_huge_pages;\n\tlong unsigned int nr_huge_pages;\n\tlong unsigned int free_huge_pages;\n\tlong unsigned int resv_huge_pages;\n\tlong unsigned int surplus_huge_pages;\n\tlong unsigned int nr_overcommit_huge_pages;\n\tstruct list_head hugepage_activelist;\n\tstruct list_head hugepage_freelists[256];\n\tunsigned int max_huge_pages_node[256];\n\tunsigned int nr_huge_pages_node[256];\n\tunsigned int free_huge_pages_node[256];\n\tunsigned int surplus_huge_pages_node[256];\n\tchar name[32];\n};\n\nstruct pcpu_freelist_node {\n\tstruct pcpu_freelist_node *next;\n};\n\nstruct htab_elem {\n\tunion {\n\t\tstruct hlist_nulls_node hash_node;\n\t\tstruct {\n\t\t\tvoid *padding;\n\t\t\tunion {\n\t\t\t\tstruct pcpu_freelist_node fnode;\n\t\t\t\tstruct htab_elem *batch_flink;\n\t\t\t};\n\t\t};\n\t};\n\tunion {\n\t\tvoid *ptr_to_pptr;\n\t\tstruct bpf_lru_node lru_node;\n\t};\n\tu32 hash;\n\tlong: 0;\n\tchar key[0];\n};\n\nstruct huge_bootmem_page {\n\tstruct list_head list;\n\tstruct hstate *hstate;\n};\n\nstruct hugepage_subpool {\n\tspinlock_t lock;\n\tlong int count;\n\tlong int max_hpages;\n\tlong int used_hpages;\n\tstruct hstate *hstate;\n\tlong int min_hpages;\n\tlong int rsv_hpages;\n};\n\nstruct page_counter {\n\tatomic_long_t usage;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tlong unsigned int emin;\n\tatomic_long_t min_usage;\n\tatomic_long_t children_min_usage;\n\tlong unsigned int elow;\n\tatomic_long_t low_usage;\n\tatomic_long_t children_low_usage;\n\tlong unsigned int watermark;\n\tlong unsigned int local_watermark;\n\tlong unsigned int failcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tbool protection_support;\n\tlong unsigned int min;\n\tlong unsigned int low;\n\tlong unsigned int high;\n\tlong unsigned int max;\n\tstruct page_counter *parent;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hugetlb_cgroup_per_node;\n\nstruct hugetlb_cgroup {\n\tstruct cgroup_subsys_state css;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct page_counter hugepage[15];\n\tstruct page_counter rsvd_hugepage[15];\n\tatomic_long_t events[15];\n\tatomic_long_t events_local[15];\n\tstruct cgroup_file events_file[15];\n\tstruct cgroup_file events_local_file[15];\n\tstruct hugetlb_cgroup_per_node *nodeinfo[0];\n};\n\nstruct hugetlb_cgroup_per_node {\n\tlong unsigned int usage[15];\n};\n\nstruct hugetlb_vma_lock {\n\tstruct kref refs;\n\tstruct rw_semaphore rw_sema;\n\tstruct vm_area_struct *vma;\n};\n\nstruct hugetlbfs_fs_context {\n\tstruct hstate *hstate;\n\tlong long unsigned int max_size_opt;\n\tlong long unsigned int min_size_opt;\n\tlong int max_hpages;\n\tlong int nr_inodes;\n\tlong int min_hpages;\n\tenum hugetlbfs_size_type max_val_type;\n\tenum hugetlbfs_size_type min_val_type;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n};\n\nstruct hugetlbfs_inode_info {\n\tstruct inode vfs_inode;\n\tunsigned int seals;\n};\n\nstruct hugetlbfs_sb_info {\n\tlong int max_inodes;\n\tlong int free_inodes;\n\tspinlock_t stat_lock;\n\tstruct hstate *hstate;\n\tstruct hugepage_subpool *spool;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n};\n\nstruct hv_24x7_catalog_page_0 {\n\t__be32 magic;\n\t__be32 length;\n\t__be64 version;\n\t__u8 build_time_stamp[16];\n\t__u8 reserved2[32];\n\t__be16 schema_data_offs;\n\t__be16 schema_data_len;\n\t__be16 schema_entry_count;\n\t__u8 reserved3[2];\n\t__be16 event_data_offs;\n\t__be16 event_data_len;\n\t__be16 event_entry_count;\n\t__u8 reserved4[2];\n\t__be16 group_data_offs;\n\t__be16 group_data_len;\n\t__be16 group_entry_count;\n\t__u8 reserved5[2];\n\t__be16 formula_data_offs;\n\t__be16 formula_data_len;\n\t__be16 formula_entry_count;\n\t__u8 reserved6[2];\n};\n\nstruct hv_24x7_result {\n\t__u8 result_ix;\n\t__u8 results_complete;\n\t__be16 num_elements_returned;\n\t__be16 result_element_data_size;\n\t__u8 reserved[2];\n\tchar elements[0];\n};\n\nstruct hv_24x7_data_result_buffer {\n\t__u8 interface_version;\n\t__u8 num_results;\n\t__u8 reserved[1];\n\t__u8 failing_request_ix;\n\t__be32 detailed_rc;\n\t__be64 cec_cfg_instance_id;\n\t__be64 catalog_version_num;\n\t__u8 reserved2[8];\n\tstruct hv_24x7_result results[0];\n};\n\nstruct hv_24x7_event_data {\n\t__be16 length;\n\t__u8 reserved1[2];\n\t__u8 domain;\n\t__u8 reserved2[1];\n\t__be16 event_group_record_offs;\n\t__be16 event_group_record_len;\n\t__be16 event_counter_offs;\n\t__be32 flags;\n\t__be16 primary_group_ix;\n\t__be16 group_count;\n\t__be16 event_name_len;\n\t__u8 remainder[0];\n} __attribute__((packed));\n\nstruct hv_24x7_hw {\n\tstruct perf_event *events[255];\n};\n\nstruct hv_24x7_request {\n\t__u8 performance_domain;\n\t__u8 reserved[1];\n\t__be16 data_size;\n\t__be32 data_offset;\n\t__be16 starting_lpar_ix;\n\t__be16 max_num_lpars;\n\t__be16 starting_ix;\n\t__be16 max_ix;\n\t__u8 starting_thread_group_ix;\n\t__u8 max_num_thread_groups;\n\t__u8 reserved2[14];\n};\n\nstruct hv_24x7_request_buffer {\n\t__u8 interface_version;\n\t__u8 num_requests;\n\t__u8 reserved[14];\n\tstruct hv_24x7_request requests[0];\n};\n\nstruct hv_get_perf_counter_info_params {\n\t__be32 counter_request;\n\t__be32 starting_index;\n\t__be16 secondary_index;\n\t__be16 returned_values;\n\t__be32 detail_rc;\n\t__be16 cv_element_size;\n\t__u8 counter_info_version_in;\n\t__u8 counter_info_version_out;\n\t__u8 reserved[12];\n\t__u8 counter_value[0];\n};\n\nstruct hv_gpci_request_buffer {\n\tstruct hv_get_perf_counter_info_params params;\n\tuint8_t bytes[4064];\n};\n\nstruct hv_gpci_system_performance_capabilities {\n\t__u8 perf_collect_privileged;\n\t__u8 capability_mask;\n\t__u8 reserved[14];\n};\n\nstruct hv_nx_cop_caps {\n\t__be64 descriptor;\n\t__be64 req_max_processed_len;\n\t__be64 min_compress_len;\n\t__be64 min_decompress_len;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hvc_struct;\n\nstruct hv_ops {\n\tssize_t (*get_chars)(uint32_t, u8 *, size_t);\n\tssize_t (*put_chars)(uint32_t, const u8 *, size_t);\n\tint (*flush)(uint32_t, bool);\n\tint (*notifier_add)(struct hvc_struct *, int);\n\tvoid (*notifier_del)(struct hvc_struct *, int);\n\tvoid (*notifier_hangup)(struct hvc_struct *, int);\n\tint (*tiocmget)(struct hvc_struct *);\n\tint (*tiocmset)(struct hvc_struct *, unsigned int, unsigned int);\n\tvoid (*dtr_rts)(struct hvc_struct *, bool);\n};\n\nstruct hv_perf_caps {\n\tu16 version;\n\tu16 collect_privileged: 1;\n\tu16 ga: 1;\n\tu16 expanded: 1;\n\tu16 lab: 1;\n\tu16 unused: 12;\n};\n\nstruct hv_vas_all_caps {\n\t__be64 descriptor;\n\t__be64 feat_type;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hv_vas_cop_feat_caps {\n\t__be64 descriptor;\n\tu8 win_type;\n\tu8 user_mode;\n\t__be16 max_lpar_creds;\n\t__be16 max_win_creds;\n\tunion {\n\t\t__be16 reserved;\n\t\t__be16 def_lpar_creds;\n\t};\n\t__be16 target_lpar_creds;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct tty_struct;\n\nstruct hvsi_priv {\n\tunsigned int inbuf_len;\n\tunsigned char inbuf[255];\n\tunsigned int inbuf_cur;\n\tsize_t inbuf_pktlen;\n\tatomic_t seqno;\n\tunsigned int opened: 1;\n\tunsigned int established: 1;\n\tunsigned int is_console: 1;\n\tunsigned int mctrl_update: 1;\n\tshort unsigned int mctrl;\n\tstruct tty_struct *tty;\n\tssize_t (*get_chars)(uint32_t, u8 *, size_t);\n\tssize_t (*put_chars)(uint32_t, const u8 *, size_t);\n\tuint32_t termno;\n};\n\nstruct hvc_opal_priv {\n\thv_protocol_t proto;\n\tstruct hvsi_priv hvsi;\n};\n\nstruct tty_buffer {\n\tunion {\n\t\tstruct tty_buffer *next;\n\t\tstruct llist_node free;\n\t};\n\tunsigned int used;\n\tunsigned int size;\n\tunsigned int commit;\n\tunsigned int lookahead;\n\tunsigned int read;\n\tbool flags;\n\tlong: 0;\n\tu8 data[0];\n};\n\nstruct tty_bufhead {\n\tstruct tty_buffer *head;\n\tstruct work_struct work;\n\tstruct mutex lock;\n\tatomic_t priority;\n\tstruct tty_buffer sentinel;\n\tstruct llist_head free;\n\tatomic_t mem_used;\n\tint mem_limit;\n\tstruct tty_buffer *tail;\n};\n\nstruct tty_port_operations;\n\nstruct tty_port_client_operations;\n\nstruct tty_port {\n\tstruct tty_bufhead buf;\n\tstruct tty_struct *tty;\n\tstruct tty_struct *itty;\n\tconst struct tty_port_operations *ops;\n\tconst struct tty_port_client_operations *client_ops;\n\tspinlock_t lock;\n\tint blocked_open;\n\tint count;\n\twait_queue_head_t open_wait;\n\twait_queue_head_t delta_msr_wait;\n\tlong unsigned int flags;\n\tlong unsigned int iflags;\n\tunsigned char console: 1;\n\tstruct mutex mutex;\n\tstruct mutex buf_mutex;\n\tu8 *xmit_buf;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tu8 *type;\n\t\t\tconst u8 *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tu8 *ptr;\n\t\t\tconst u8 *ptr_const;\n\t\t};\n\t\tu8 buf[0];\n\t} xmit_fifo;\n\tunsigned int close_delay;\n\tunsigned int closing_wait;\n\tint drain_delay;\n\tstruct kref kref;\n\tvoid *client_data;\n};\n\nstruct winsize {\n\tshort unsigned int ws_row;\n\tshort unsigned int ws_col;\n\tshort unsigned int ws_xpixel;\n\tshort unsigned int ws_ypixel;\n};\n\nstruct hvc_struct {\n\tstruct tty_port port;\n\tspinlock_t lock;\n\tint index;\n\tint do_wakeup;\n\tint outbuf_size;\n\tint n_outbuf;\n\tuint32_t vtermno;\n\tconst struct hv_ops *ops;\n\tint irq_requested;\n\tint data;\n\tstruct winsize ws;\n\tstruct work_struct tty_resize;\n\tstruct list_head next;\n\tlong unsigned int flags;\n\tu8 outbuf[0];\n};\n\nstruct hvcall_mpp_data {\n\tlong unsigned int entitled_mem;\n\tlong unsigned int mapped_mem;\n\tshort unsigned int group_num;\n\tshort unsigned int pool_num;\n\tunsigned char mem_weight;\n\tunsigned char unallocated_mem_weight;\n\tlong unsigned int unallocated_entitlement;\n\tlong unsigned int pool_size;\n\tlong int loan_request;\n\tlong unsigned int backing_mem;\n};\n\nstruct hvcall_mpp_x_data {\n\tlong unsigned int coalesced_bytes;\n\tlong unsigned int pool_coalesced_bytes;\n\tlong unsigned int pool_purr_cycles;\n\tlong unsigned int pool_spurr_cycles;\n\tlong unsigned int reserved[3];\n};\n\nstruct hvcall_ppp_data {\n\tu64 entitlement;\n\tu64 unallocated_entitlement;\n\tu16 group_num;\n\tu16 pool_num;\n\tu8 capped;\n\tu8 weight;\n\tu8 unallocated_weight;\n\tu16 active_procs_in_pool;\n\tu16 active_system_procs;\n\tu16 phys_platform_procs;\n\tu32 max_proc_cap_avail;\n\tu32 entitled_proc_cap_avail;\n};\n\nstruct hvsi_header {\n\tuint8_t type;\n\tuint8_t len;\n\t__be16 seqno;\n};\n\nstruct hvsi_control {\n\tstruct hvsi_header hdr;\n\t__be16 verb;\n\t__be32 word;\n\t__be32 mask;\n} __attribute__((packed));\n\nstruct hvsi_data {\n\tstruct hvsi_header hdr;\n\tuint8_t data[12];\n};\n\nstruct hvsi_query {\n\tstruct hvsi_header hdr;\n\t__be16 verb;\n};\n\nstruct hvsi_query_response {\n\tstruct hvsi_header hdr;\n\t__be16 verb;\n\t__be16 query_seqno;\n\tunion {\n\t\tuint8_t version;\n\t\t__be32 mctrl_word;\n\t} u;\n};\n\nstruct hvterm_priv {\n\tu32 termno;\n\thv_protocol_t proto;\n\tstruct hvsi_priv hvsi;\n\tspinlock_t buf_lock;\n\tu8 buf[16];\n\tsize_t left;\n\tsize_t offset;\n};\n\nstruct hw_perf_event_extra {\n\tu64 config;\n\tunsigned int reg;\n\tint alloc;\n\tint idx;\n};\n\nstruct rhlist_head {\n\tstruct rhash_head rhead;\n\tstruct rhlist_head *next;\n};\n\nstruct hw_perf_event {\n\tunion {\n\t\tstruct {\n\t\t\tu64 config;\n\t\t\tu64 last_tag;\n\t\t\tlong unsigned int config_base;\n\t\t\tlong unsigned int event_base;\n\t\t\tint event_base_rdpmc;\n\t\t\tint idx;\n\t\t\tint last_cpu;\n\t\t\tint flags;\n\t\t\tstruct hw_perf_event_extra extra_reg;\n\t\t\tstruct hw_perf_event_extra branch_reg;\n\t\t};\n\t\tstruct {\n\t\t\tu64 aux_config;\n\t\t\tunsigned int aux_paused;\n\t\t};\n\t\tstruct {\n\t\t\tstruct hrtimer hrtimer;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head tp_list;\n\t\t};\n\t\tstruct {\n\t\t\tu64 pwr_acc;\n\t\t\tu64 ptsc;\n\t\t};\n\t\tstruct {\n\t\t\tstruct arch_hw_breakpoint info;\n\t\t\tstruct rhlist_head bp_list;\n\t\t};\n\t\tstruct {\n\t\t\tu8 iommu_bank;\n\t\t\tu8 iommu_cntr;\n\t\t\tu16 padding;\n\t\t\tu64 conf;\n\t\t\tu64 conf1;\n\t\t};\n\t};\n\tstruct task_struct *target;\n\tvoid *addr_filters;\n\tlong unsigned int addr_filters_gen;\n\tint state;\n\tlocal64_t prev_count;\n\tu64 sample_period;\n\tunion {\n\t\tstruct {\n\t\t\tu64 last_period;\n\t\t\tlocal64_t period_left;\n\t\t};\n\t\tstruct {\n\t\t\tu64 saved_metric;\n\t\t\tu64 saved_slots;\n\t\t};\n\t};\n\tu64 interrupts_seq;\n\tu64 interrupts;\n\tu64 freq_time_stamp;\n\tu64 freq_count_stamp;\n};\n\nstruct hw_port_info {\n\tstruct net_device *lower_dev;\n\tu32 port_id;\n};\n\nstruct hwlat_entry {\n\tstruct trace_entry ent;\n\tu64 duration;\n\tu64 outer_duration;\n\tu64 nmi_total_ts;\n\tstruct timespec64 timestamp;\n\tunsigned int nmi_count;\n\tunsigned int seqnum;\n\tunsigned int count;\n};\n\nstruct hwmon_channel_info {\n\tenum hwmon_sensor_types type;\n\tconst u32 *config;\n};\n\nstruct hwmon_ops;\n\nstruct hwmon_chip_info {\n\tconst struct hwmon_ops *ops;\n\tconst struct hwmon_channel_info * const *info;\n};\n\nstruct hwmon_device {\n\tconst char *name;\n\tconst char *label;\n\tstruct device dev;\n\tconst struct hwmon_chip_info *chip;\n\tstruct list_head tzdata;\n\tstruct attribute_group group;\n\tconst struct attribute_group **groups;\n};\n\nstruct hwmon_device_attribute {\n\tstruct device_attribute dev_attr;\n\tconst struct hwmon_ops *ops;\n\tenum hwmon_sensor_types type;\n\tu32 attr;\n\tint index;\n\tchar name[32];\n};\n\nstruct hwmon_ops {\n\tumode_t visible;\n\tumode_t (*is_visible)(const void *, enum hwmon_sensor_types, u32, int);\n\tint (*read)(struct device *, enum hwmon_sensor_types, u32, int, long int *);\n\tint (*read_string)(struct device *, enum hwmon_sensor_types, u32, int, const char **);\n\tint (*write)(struct device *, enum hwmon_sensor_types, u32, int, long int);\n};\n\nstruct thermal_zone_device;\n\nstruct hwmon_thermal_data {\n\tstruct list_head node;\n\tstruct device *dev;\n\tint index;\n\tstruct thermal_zone_device *tzd;\n};\n\nstruct hwrng {\n\tconst char *name;\n\tint (*init)(struct hwrng *);\n\tvoid (*cleanup)(struct hwrng *);\n\tint (*data_present)(struct hwrng *, int);\n\tint (*data_read)(struct hwrng *, u32 *);\n\tint (*read)(struct hwrng *, void *, size_t, bool);\n\tlong unsigned int priv;\n\tshort unsigned int quality;\n\tstruct list_head list;\n\tstruct kref ref;\n\tstruct completion cleanup_done;\n\tstruct completion dying;\n};\n\nstruct hwtstamp_provider_desc {\n\tint index;\n\tenum hwtstamp_provider_qualifier qualifier;\n};\n\nstruct hwtstamp_provider {\n\tstruct callback_head callback_head;\n\tenum hwtstamp_source source;\n\tstruct phy_device *phydev;\n\tstruct hwtstamp_provider_desc desc;\n};\n\nstruct hypertas_fw_feature {\n\tlong unsigned int val;\n\tchar *name;\n};\n\nstruct i2c_adapter_quirks {\n\tu64 flags;\n\tint max_num_msgs;\n\tu16 max_write_len;\n\tu16 max_read_len;\n\tu16 max_comb_1st_msg_len;\n\tu16 max_comb_2nd_msg_len;\n};\n\nstruct i2c_algo_bit_data {\n\tvoid *data;\n\tvoid (*setsda)(void *, int);\n\tvoid (*setscl)(void *, int);\n\tint (*getsda)(void *);\n\tint (*getscl)(void *);\n\tint (*pre_xfer)(struct i2c_adapter *);\n\tvoid (*post_xfer)(struct i2c_adapter *);\n\tint udelay;\n\tint timeout;\n\tbool can_do_atomic;\n};\n\nstruct i2c_msg;\n\nunion i2c_smbus_data;\n\nstruct i2c_algorithm {\n\tunion {\n\t\tint (*xfer)(struct i2c_adapter *, struct i2c_msg *, int);\n\t\tint (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int);\n\t};\n\tunion {\n\t\tint (*xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int);\n\t\tint (*master_xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int);\n\t};\n\tint (*smbus_xfer)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *);\n\tint (*smbus_xfer_atomic)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *);\n\tu32 (*functionality)(struct i2c_adapter *);\n};\n\nstruct software_node;\n\nstruct i2c_board_info {\n\tchar type[20];\n\tshort unsigned int flags;\n\tshort unsigned int addr;\n\tconst char *dev_name;\n\tvoid *platform_data;\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tconst struct software_node *swnode;\n\tconst struct resource *resources;\n\tunsigned int num_resources;\n\tint irq;\n};\n\nstruct pinctrl;\n\nstruct pinctrl_state;\n\nstruct i2c_bus_recovery_info {\n\tint (*recover_bus)(struct i2c_adapter *);\n\tint (*get_scl)(struct i2c_adapter *);\n\tvoid (*set_scl)(struct i2c_adapter *, int);\n\tint (*get_sda)(struct i2c_adapter *);\n\tvoid (*set_sda)(struct i2c_adapter *, int);\n\tint (*get_bus_free)(struct i2c_adapter *);\n\tvoid (*prepare_recovery)(struct i2c_adapter *);\n\tvoid (*unprepare_recovery)(struct i2c_adapter *);\n\tstruct gpio_desc *scl_gpiod;\n\tstruct gpio_desc *sda_gpiod;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_default;\n\tstruct pinctrl_state *pins_gpio;\n};\n\nstruct i2c_client {\n\tshort unsigned int flags;\n\tshort unsigned int addr;\n\tchar name[20];\n\tstruct i2c_adapter *adapter;\n\tstruct device dev;\n\tint init_irq;\n\tint irq;\n\tstruct list_head detected;\n\tvoid *devres_group_id;\n\tstruct dentry *debugfs;\n};\n\nstruct i2c_cmd_arg {\n\tunsigned int cmd;\n\tvoid *arg;\n};\n\nstruct i2c_dev {\n\tstruct list_head list;\n\tstruct i2c_adapter *adap;\n\tstruct device dev;\n\tstruct cdev cdev;\n};\n\nstruct i2c_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct i2c_device_identity {\n\tu16 manufacturer_id;\n\tu16 part_id;\n\tu8 die_revision;\n};\n\nstruct i2c_devinfo {\n\tstruct list_head list;\n\tint busnum;\n\tstruct i2c_board_info board_info;\n};\n\nstruct i2c_driver {\n\tunsigned int class;\n\tint (*probe)(struct i2c_client *);\n\tvoid (*remove)(struct i2c_client *);\n\tvoid (*shutdown)(struct i2c_client *);\n\tvoid (*alert)(struct i2c_client *, enum i2c_alert_protocol, unsigned int);\n\tint (*command)(struct i2c_client *, unsigned int, void *);\n\tstruct device_driver driver;\n\tconst struct i2c_device_id *id_table;\n\tint (*detect)(struct i2c_client *, struct i2c_board_info *);\n\tconst short unsigned int *address_list;\n\tstruct list_head clients;\n\tu32 flags;\n};\n\nstruct i2c_lock_operations {\n\tvoid (*lock_bus)(struct i2c_adapter *, unsigned int);\n\tint (*trylock_bus)(struct i2c_adapter *, unsigned int);\n\tvoid (*unlock_bus)(struct i2c_adapter *, unsigned int);\n};\n\nstruct i2c_msg {\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\t__u8 *buf;\n};\n\nstruct i2c_of_probe_ops;\n\nstruct i2c_of_probe_cfg {\n\tconst struct i2c_of_probe_ops *ops;\n\tconst char *type;\n};\n\nstruct i2c_of_probe_ops {\n\tint (*enable)(struct device *, struct device_node *, void *);\n\tvoid (*cleanup_early)(struct device *, void *);\n\tvoid (*cleanup)(struct device *, void *);\n};\n\nstruct i2c_of_probe_simple_opts;\n\nstruct i2c_of_probe_simple_ctx {\n\tconst struct i2c_of_probe_simple_opts *opts;\n\tstruct regulator *supply;\n\tstruct gpio_desc *gpiod;\n};\n\nstruct i2c_of_probe_simple_opts {\n\tconst char *res_node_compatible;\n\tconst char *supply_name;\n\tconst char *gpio_name;\n\tunsigned int post_power_on_delay_ms;\n\tunsigned int post_gpio_config_delay_ms;\n\tbool gpio_assert_to_enable;\n};\n\nstruct i2c_rdwr_ioctl_data {\n\tstruct i2c_msg *msgs;\n\t__u32 nmsgs;\n};\n\nstruct i2c_smbus_alert_setup {\n\tint irq;\n};\n\nunion i2c_smbus_data {\n\t__u8 byte;\n\t__u16 word;\n\t__u8 block[34];\n};\n\nstruct i2c_smbus_ioctl_data {\n\t__u8 read_write;\n\t__u8 command;\n\t__u32 size;\n\tunion i2c_smbus_data *data;\n};\n\nstruct i2c_timings {\n\tu32 bus_freq_hz;\n\tu32 scl_rise_ns;\n\tu32 scl_fall_ns;\n\tu32 scl_int_delay_ns;\n\tu32 sda_fall_ns;\n\tu32 sda_hold_ns;\n\tu32 digital_filter_width_ns;\n\tu32 analog_filter_cutoff_freq_hz;\n};\n\nstruct i8042_port {\n\tstruct serio *serio;\n\tint irq;\n\tbool exists;\n\tbool driver_bound;\n\tsigned char mux;\n};\n\nstruct iattr {\n\tunsigned int ia_valid;\n\tumode_t ia_mode;\n\tunion {\n\t\tkuid_t ia_uid;\n\t\tvfsuid_t ia_vfsuid;\n\t};\n\tunion {\n\t\tkgid_t ia_gid;\n\t\tvfsgid_t ia_vfsgid;\n\t};\n\tloff_t ia_size;\n\tstruct timespec64 ia_atime;\n\tstruct timespec64 ia_mtime;\n\tstruct timespec64 ia_ctime;\n\tstruct file *ia_file;\n};\n\nstruct ib_pd;\n\nstruct ib_uobject;\n\nstruct ib_gid_attr;\n\nstruct ib_ah {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_uobject *uobject;\n\tconst struct ib_gid_attr *sgid_attr;\n\tenum rdma_ah_attr_type type;\n};\n\nstruct ib_ah_attr {\n\tu16 dlid;\n\tu8 src_path_bits;\n};\n\nstruct ib_core_device {\n\tstruct device dev;\n\tpossible_net_t rdma_net;\n\tstruct kobject *ports_kobj;\n\tstruct list_head port_list;\n\tstruct ib_device *owner;\n};\n\nstruct ib_counters {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n};\n\nstruct ib_counters_read_attr {\n\tu64 *counters_buff;\n\tu32 ncounters;\n\tu32 flags;\n};\n\nstruct ib_ucq_object;\n\nstruct ib_cq;\n\ntypedef void (*ib_comp_handler)(struct ib_cq *, void *);\n\nstruct irq_poll;\n\ntypedef int irq_poll_fn(struct irq_poll *, int);\n\nstruct irq_poll {\n\tstruct list_head list;\n\tlong unsigned int state;\n\tint weight;\n\tirq_poll_fn *poll;\n};\n\nstruct rdma_restrack_entry {\n\tbool valid;\n\tu8 no_track: 1;\n\tstruct kref kref;\n\tstruct completion comp;\n\tstruct task_struct *task;\n\tconst char *kern_name;\n\tenum rdma_restrack_type type;\n\tbool user;\n\tu32 id;\n};\n\nstruct ib_event;\n\nstruct ib_wc;\n\nstruct ib_cq {\n\tstruct ib_device *device;\n\tstruct ib_ucq_object *uobject;\n\tib_comp_handler comp_handler;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *cq_context;\n\tint cqe;\n\tunsigned int cqe_used;\n\tatomic_t usecnt;\n\tenum ib_poll_context poll_ctx;\n\tstruct ib_wc *wc;\n\tstruct list_head pool_entry;\n\tunion {\n\t\tstruct irq_poll iop;\n\t\tstruct work_struct work;\n\t};\n\tstruct workqueue_struct *comp_wq;\n\tstruct dim *dim;\n\tktime_t timestamp;\n\tu8 interrupt: 1;\n\tu8 shared: 1;\n\tunsigned int comp_vector;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_cq_caps {\n\tu16 max_cq_moderation_count;\n\tu16 max_cq_moderation_period;\n};\n\nstruct ib_cq_init_attr {\n\tunsigned int cqe;\n\tu32 comp_vector;\n\tu32 flags;\n};\n\nstruct ib_cqe {\n\tvoid (*done)(struct ib_cq *, struct ib_wc *);\n};\n\nstruct ib_mad;\n\nstruct uverbs_attr_bundle;\n\nstruct rdma_cm_id;\n\nstruct iw_cm_id;\n\nstruct iw_cm_conn_param;\n\nstruct ib_uverbs_file;\n\nstruct ib_qp;\n\nstruct ib_send_wr;\n\nstruct ib_recv_wr;\n\nstruct ib_srq;\n\nstruct ib_grh;\n\nstruct ib_device_attr;\n\nstruct ib_udata;\n\nstruct ib_device_modify;\n\nstruct ib_port_attr;\n\nstruct ib_port_modify;\n\nstruct ib_port_immutable;\n\nstruct rdma_netdev_alloc_params;\n\nunion ib_gid;\n\nstruct ib_ucontext;\n\nstruct rdma_user_mmap_entry;\n\nstruct rdma_ah_init_attr;\n\nstruct rdma_ah_attr;\n\nstruct ib_srq_init_attr;\n\nstruct ib_srq_attr;\n\nstruct ib_qp_init_attr;\n\nstruct ib_qp_attr;\n\nstruct ib_mr;\n\nstruct ib_sge;\n\nstruct ib_mr_status;\n\nstruct ib_mw;\n\nstruct ib_xrcd;\n\nstruct ib_flow;\n\nstruct ib_flow_attr;\n\nstruct ib_flow_action;\n\nstruct ifla_vf_info;\n\nstruct ifla_vf_stats;\n\nstruct ifla_vf_guid;\n\nstruct ib_wq;\n\nstruct ib_wq_init_attr;\n\nstruct ib_wq_attr;\n\nstruct ib_rwq_ind_table;\n\nstruct ib_rwq_ind_table_init_attr;\n\nstruct ib_dm;\n\nstruct ib_dm_alloc_attr;\n\nstruct ib_dm_mr_attr;\n\nstruct rdma_hw_stats;\n\nstruct rdma_counter;\n\nstruct ib_device_ops {\n\tstruct module *owner;\n\tenum rdma_driver_id driver_id;\n\tu32 uverbs_abi_ver;\n\tunsigned int uverbs_no_driver_id_binding: 1;\n\tconst struct attribute_group *device_group;\n\tconst struct attribute_group **port_groups;\n\tint (*post_send)(struct ib_qp *, const struct ib_send_wr *, const struct ib_send_wr **);\n\tint (*post_recv)(struct ib_qp *, const struct ib_recv_wr *, const struct ib_recv_wr **);\n\tvoid (*drain_rq)(struct ib_qp *);\n\tvoid (*drain_sq)(struct ib_qp *);\n\tint (*poll_cq)(struct ib_cq *, int, struct ib_wc *);\n\tint (*peek_cq)(struct ib_cq *, int);\n\tint (*req_notify_cq)(struct ib_cq *, enum ib_cq_notify_flags);\n\tint (*post_srq_recv)(struct ib_srq *, const struct ib_recv_wr *, const struct ib_recv_wr **);\n\tint (*process_mad)(struct ib_device *, int, u32, const struct ib_wc *, const struct ib_grh *, const struct ib_mad *, struct ib_mad *, size_t *, u16 *);\n\tint (*query_device)(struct ib_device *, struct ib_device_attr *, struct ib_udata *);\n\tint (*modify_device)(struct ib_device *, int, struct ib_device_modify *);\n\tvoid (*get_dev_fw_str)(struct ib_device *, char *);\n\tconst struct cpumask * (*get_vector_affinity)(struct ib_device *, int);\n\tint (*query_port)(struct ib_device *, u32, struct ib_port_attr *);\n\tint (*modify_port)(struct ib_device *, u32, int, struct ib_port_modify *);\n\tint (*get_port_immutable)(struct ib_device *, u32, struct ib_port_immutable *);\n\tenum rdma_link_layer (*get_link_layer)(struct ib_device *, u32);\n\tstruct net_device * (*get_netdev)(struct ib_device *, u32);\n\tstruct net_device * (*alloc_rdma_netdev)(struct ib_device *, u32, enum rdma_netdev_t, const char *, unsigned char, void (*)(struct net_device *));\n\tint (*rdma_netdev_get_params)(struct ib_device *, u32, enum rdma_netdev_t, struct rdma_netdev_alloc_params *);\n\tint (*query_gid)(struct ib_device *, u32, int, union ib_gid *);\n\tint (*add_gid)(const struct ib_gid_attr *, void **);\n\tint (*del_gid)(const struct ib_gid_attr *, void **);\n\tint (*query_pkey)(struct ib_device *, u32, u16, u16 *);\n\tint (*alloc_ucontext)(struct ib_ucontext *, struct ib_udata *);\n\tvoid (*dealloc_ucontext)(struct ib_ucontext *);\n\tint (*mmap)(struct ib_ucontext *, struct vm_area_struct *);\n\tvoid (*mmap_free)(struct rdma_user_mmap_entry *);\n\tvoid (*disassociate_ucontext)(struct ib_ucontext *);\n\tint (*alloc_pd)(struct ib_pd *, struct ib_udata *);\n\tint (*dealloc_pd)(struct ib_pd *, struct ib_udata *);\n\tint (*create_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *);\n\tint (*create_user_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *);\n\tint (*modify_ah)(struct ib_ah *, struct rdma_ah_attr *);\n\tint (*query_ah)(struct ib_ah *, struct rdma_ah_attr *);\n\tint (*destroy_ah)(struct ib_ah *, u32);\n\tint (*create_srq)(struct ib_srq *, struct ib_srq_init_attr *, struct ib_udata *);\n\tint (*modify_srq)(struct ib_srq *, struct ib_srq_attr *, enum ib_srq_attr_mask, struct ib_udata *);\n\tint (*query_srq)(struct ib_srq *, struct ib_srq_attr *);\n\tint (*destroy_srq)(struct ib_srq *, struct ib_udata *);\n\tint (*create_qp)(struct ib_qp *, struct ib_qp_init_attr *, struct ib_udata *);\n\tint (*modify_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_udata *);\n\tint (*query_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_qp_init_attr *);\n\tint (*destroy_qp)(struct ib_qp *, struct ib_udata *);\n\tint (*create_cq)(struct ib_cq *, const struct ib_cq_init_attr *, struct uverbs_attr_bundle *);\n\tint (*modify_cq)(struct ib_cq *, u16, u16);\n\tint (*destroy_cq)(struct ib_cq *, struct ib_udata *);\n\tint (*resize_cq)(struct ib_cq *, int, struct ib_udata *);\n\tstruct ib_mr * (*get_dma_mr)(struct ib_pd *, int);\n\tstruct ib_mr * (*reg_user_mr)(struct ib_pd *, u64, u64, u64, int, struct ib_udata *);\n\tstruct ib_mr * (*reg_user_mr_dmabuf)(struct ib_pd *, u64, u64, u64, int, int, struct uverbs_attr_bundle *);\n\tstruct ib_mr * (*rereg_user_mr)(struct ib_mr *, int, u64, u64, u64, int, struct ib_pd *, struct ib_udata *);\n\tint (*dereg_mr)(struct ib_mr *, struct ib_udata *);\n\tstruct ib_mr * (*alloc_mr)(struct ib_pd *, enum ib_mr_type, u32);\n\tstruct ib_mr * (*alloc_mr_integrity)(struct ib_pd *, u32, u32);\n\tint (*advise_mr)(struct ib_pd *, enum ib_uverbs_advise_mr_advice, u32, struct ib_sge *, u32, struct uverbs_attr_bundle *);\n\tint (*map_mr_sg)(struct ib_mr *, struct scatterlist *, int, unsigned int *);\n\tint (*check_mr_status)(struct ib_mr *, u32, struct ib_mr_status *);\n\tint (*alloc_mw)(struct ib_mw *, struct ib_udata *);\n\tint (*dealloc_mw)(struct ib_mw *);\n\tint (*attach_mcast)(struct ib_qp *, union ib_gid *, u16);\n\tint (*detach_mcast)(struct ib_qp *, union ib_gid *, u16);\n\tint (*alloc_xrcd)(struct ib_xrcd *, struct ib_udata *);\n\tint (*dealloc_xrcd)(struct ib_xrcd *, struct ib_udata *);\n\tstruct ib_flow * (*create_flow)(struct ib_qp *, struct ib_flow_attr *, struct ib_udata *);\n\tint (*destroy_flow)(struct ib_flow *);\n\tint (*destroy_flow_action)(struct ib_flow_action *);\n\tint (*set_vf_link_state)(struct ib_device *, int, u32, int);\n\tint (*get_vf_config)(struct ib_device *, int, u32, struct ifla_vf_info *);\n\tint (*get_vf_stats)(struct ib_device *, int, u32, struct ifla_vf_stats *);\n\tint (*get_vf_guid)(struct ib_device *, int, u32, struct ifla_vf_guid *, struct ifla_vf_guid *);\n\tint (*set_vf_guid)(struct ib_device *, int, u32, u64, int);\n\tstruct ib_wq * (*create_wq)(struct ib_pd *, struct ib_wq_init_attr *, struct ib_udata *);\n\tint (*destroy_wq)(struct ib_wq *, struct ib_udata *);\n\tint (*modify_wq)(struct ib_wq *, struct ib_wq_attr *, u32, struct ib_udata *);\n\tint (*create_rwq_ind_table)(struct ib_rwq_ind_table *, struct ib_rwq_ind_table_init_attr *, struct ib_udata *);\n\tint (*destroy_rwq_ind_table)(struct ib_rwq_ind_table *);\n\tstruct ib_dm * (*alloc_dm)(struct ib_device *, struct ib_ucontext *, struct ib_dm_alloc_attr *, struct uverbs_attr_bundle *);\n\tint (*dealloc_dm)(struct ib_dm *, struct uverbs_attr_bundle *);\n\tstruct ib_mr * (*reg_dm_mr)(struct ib_pd *, struct ib_dm *, struct ib_dm_mr_attr *, struct uverbs_attr_bundle *);\n\tint (*create_counters)(struct ib_counters *, struct uverbs_attr_bundle *);\n\tint (*destroy_counters)(struct ib_counters *);\n\tint (*read_counters)(struct ib_counters *, struct ib_counters_read_attr *, struct uverbs_attr_bundle *);\n\tint (*map_mr_sg_pi)(struct ib_mr *, struct scatterlist *, int, unsigned int *, struct scatterlist *, int, unsigned int *);\n\tstruct rdma_hw_stats * (*alloc_hw_device_stats)(struct ib_device *);\n\tstruct rdma_hw_stats * (*alloc_hw_port_stats)(struct ib_device *, u32);\n\tint (*get_hw_stats)(struct ib_device *, struct rdma_hw_stats *, u32, int);\n\tint (*modify_hw_stat)(struct ib_device *, u32, unsigned int, bool);\n\tint (*fill_res_mr_entry)(struct sk_buff *, struct ib_mr *);\n\tint (*fill_res_mr_entry_raw)(struct sk_buff *, struct ib_mr *);\n\tint (*fill_res_cq_entry)(struct sk_buff *, struct ib_cq *);\n\tint (*fill_res_cq_entry_raw)(struct sk_buff *, struct ib_cq *);\n\tint (*fill_res_qp_entry)(struct sk_buff *, struct ib_qp *);\n\tint (*fill_res_qp_entry_raw)(struct sk_buff *, struct ib_qp *);\n\tint (*fill_res_cm_id_entry)(struct sk_buff *, struct rdma_cm_id *);\n\tint (*fill_res_srq_entry)(struct sk_buff *, struct ib_srq *);\n\tint (*fill_res_srq_entry_raw)(struct sk_buff *, struct ib_srq *);\n\tint (*enable_driver)(struct ib_device *);\n\tvoid (*dealloc_driver)(struct ib_device *);\n\tvoid (*iw_add_ref)(struct ib_qp *);\n\tvoid (*iw_rem_ref)(struct ib_qp *);\n\tstruct ib_qp * (*iw_get_qp)(struct ib_device *, int);\n\tint (*iw_connect)(struct iw_cm_id *, struct iw_cm_conn_param *);\n\tint (*iw_accept)(struct iw_cm_id *, struct iw_cm_conn_param *);\n\tint (*iw_reject)(struct iw_cm_id *, const void *, u8);\n\tint (*iw_create_listen)(struct iw_cm_id *, int);\n\tint (*iw_destroy_listen)(struct iw_cm_id *);\n\tint (*counter_bind_qp)(struct rdma_counter *, struct ib_qp *);\n\tint (*counter_unbind_qp)(struct ib_qp *);\n\tint (*counter_dealloc)(struct rdma_counter *);\n\tstruct rdma_hw_stats * (*counter_alloc_stats)(struct rdma_counter *);\n\tint (*counter_update_stats)(struct rdma_counter *);\n\tint (*fill_stat_mr_entry)(struct sk_buff *, struct ib_mr *);\n\tint (*query_ucontext)(struct ib_ucontext *, struct uverbs_attr_bundle *);\n\tint (*get_numa_node)(struct ib_device *);\n\tstruct ib_device * (*add_sub_dev)(struct ib_device *, enum rdma_nl_dev_type, const char *);\n\tvoid (*del_sub_dev)(struct ib_device *);\n\tvoid (*ufile_hw_cleanup)(struct ib_uverbs_file *);\n\tvoid (*report_port_event)(struct ib_device *, struct net_device *, long unsigned int);\n\tsize_t size_ib_ah;\n\tsize_t size_ib_counters;\n\tsize_t size_ib_cq;\n\tsize_t size_ib_mw;\n\tsize_t size_ib_pd;\n\tsize_t size_ib_qp;\n\tsize_t size_ib_rwq_ind_table;\n\tsize_t size_ib_srq;\n\tsize_t size_ib_ucontext;\n\tsize_t size_ib_xrcd;\n};\n\nstruct ib_odp_caps {\n\tuint64_t general_caps;\n\tstruct {\n\t\tuint32_t rc_odp_caps;\n\t\tuint32_t uc_odp_caps;\n\t\tuint32_t ud_odp_caps;\n\t\tuint32_t xrc_odp_caps;\n\t} per_transport_caps;\n};\n\nstruct ib_rss_caps {\n\tu32 supported_qpts;\n\tu32 max_rwq_indirection_tables;\n\tu32 max_rwq_indirection_table_size;\n};\n\nstruct ib_tm_caps {\n\tu32 max_rndv_hdr_size;\n\tu32 max_num_tags;\n\tu32 flags;\n\tu32 max_ops;\n\tu32 max_sge;\n};\n\nstruct ib_device_attr {\n\tu64 fw_ver;\n\t__be64 sys_image_guid;\n\tu64 max_mr_size;\n\tu64 page_size_cap;\n\tu32 vendor_id;\n\tu32 vendor_part_id;\n\tu32 hw_ver;\n\tint max_qp;\n\tint max_qp_wr;\n\tu64 device_cap_flags;\n\tu64 kernel_cap_flags;\n\tint max_send_sge;\n\tint max_recv_sge;\n\tint max_sge_rd;\n\tint max_cq;\n\tint max_cqe;\n\tint max_mr;\n\tint max_pd;\n\tint max_qp_rd_atom;\n\tint max_ee_rd_atom;\n\tint max_res_rd_atom;\n\tint max_qp_init_rd_atom;\n\tint max_ee_init_rd_atom;\n\tenum ib_atomic_cap atomic_cap;\n\tenum ib_atomic_cap masked_atomic_cap;\n\tint max_ee;\n\tint max_rdd;\n\tint max_mw;\n\tint max_raw_ipv6_qp;\n\tint max_raw_ethy_qp;\n\tint max_mcast_grp;\n\tint max_mcast_qp_attach;\n\tint max_total_mcast_qp_attach;\n\tint max_ah;\n\tint max_srq;\n\tint max_srq_wr;\n\tint max_srq_sge;\n\tunsigned int max_fast_reg_page_list_len;\n\tunsigned int max_pi_fast_reg_page_list_len;\n\tu16 max_pkeys;\n\tu8 local_ca_ack_delay;\n\tint sig_prot_cap;\n\tint sig_guard_cap;\n\tstruct ib_odp_caps odp_caps;\n\tuint64_t timestamp_mask;\n\tuint64_t hca_core_clock;\n\tstruct ib_rss_caps rss_caps;\n\tu32 max_wq_type_rq;\n\tu32 raw_packet_caps;\n\tstruct ib_tm_caps tm_caps;\n\tstruct ib_cq_caps cq_caps;\n\tu64 max_dm_size;\n\tu32 max_sgl_rd;\n};\n\nstruct hw_stats_device_data;\n\nstruct rdma_restrack_root;\n\nstruct uapi_definition;\n\nstruct ib_port_data;\n\nstruct rdma_link_ops;\n\nstruct ib_device {\n\tstruct device *dma_device;\n\tstruct ib_device_ops ops;\n\tchar name[64];\n\tstruct callback_head callback_head;\n\tstruct list_head event_handler_list;\n\tstruct rw_semaphore event_handler_rwsem;\n\tspinlock_t qp_open_list_lock;\n\tstruct rw_semaphore client_data_rwsem;\n\tstruct xarray client_data;\n\tstruct mutex unregistration_lock;\n\trwlock_t cache_lock;\n\tstruct ib_port_data *port_data;\n\tint num_comp_vectors;\n\tunion {\n\t\tstruct device dev;\n\t\tstruct ib_core_device coredev;\n\t};\n\tconst struct attribute_group *groups[4];\n\tu64 uverbs_cmd_mask;\n\tchar node_desc[64];\n\t__be64 node_guid;\n\tu32 local_dma_lkey;\n\tu16 is_switch: 1;\n\tu16 kverbs_provider: 1;\n\tu16 use_cq_dim: 1;\n\tu8 node_type;\n\tu32 phys_port_cnt;\n\tstruct ib_device_attr attrs;\n\tstruct hw_stats_device_data *hw_stats_data;\n\tu32 index;\n\tspinlock_t cq_pools_lock;\n\tstruct list_head cq_pools[3];\n\tstruct rdma_restrack_root *res;\n\tconst struct uapi_definition *driver_def;\n\trefcount_t refcount;\n\tstruct completion unreg_completion;\n\tstruct work_struct unregistration_work;\n\tconst struct rdma_link_ops *link_ops;\n\tstruct mutex compat_devs_mutex;\n\tstruct xarray compat_devs;\n\tchar iw_ifname[16];\n\tu32 iw_driver_flags;\n\tu32 lag_flags;\n\tstruct mutex subdev_lock;\n\tstruct list_head subdev_list_head;\n\tenum rdma_nl_dev_type type;\n\tstruct ib_device *parent;\n\tstruct list_head subdev_list;\n\tenum rdma_nl_name_assign_type name_assign_type;\n};\n\nstruct ib_device_modify {\n\tu64 sys_image_guid;\n\tchar node_desc[64];\n};\n\nstruct ib_dm {\n\tstruct ib_device *device;\n\tu32 length;\n\tu32 flags;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n};\n\nstruct ib_dm_alloc_attr {\n\tu64 length;\n\tu32 alignment;\n\tu32 flags;\n};\n\nstruct ib_dm_mr_attr {\n\tu64 length;\n\tu64 offset;\n\tu32 access_flags;\n};\n\nstruct ib_event {\n\tstruct ib_device *device;\n\tunion {\n\t\tstruct ib_cq *cq;\n\t\tstruct ib_qp *qp;\n\t\tstruct ib_srq *srq;\n\t\tstruct ib_wq *wq;\n\t\tu32 port_num;\n\t} element;\n\tenum ib_event_type event;\n};\n\nstruct ib_flow {\n\tstruct ib_qp *qp;\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n};\n\nstruct ib_flow_action {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tenum ib_flow_action_type type;\n\tatomic_t usecnt;\n};\n\nstruct ib_flow_eth_filter {\n\tu8 dst_mac[6];\n\tu8 src_mac[6];\n\t__be16 ether_type;\n\t__be16 vlan_tag;\n};\n\nstruct ib_flow_spec_eth {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_eth_filter val;\n\tstruct ib_flow_eth_filter mask;\n};\n\nstruct ib_flow_ib_filter {\n\t__be16 dlid;\n\t__u8 sl;\n};\n\nstruct ib_flow_spec_ib {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ib_filter val;\n\tstruct ib_flow_ib_filter mask;\n};\n\nstruct ib_flow_ipv4_filter {\n\t__be32 src_ip;\n\t__be32 dst_ip;\n\tu8 proto;\n\tu8 tos;\n\tu8 ttl;\n\tu8 flags;\n};\n\nstruct ib_flow_spec_ipv4 {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ipv4_filter val;\n\tstruct ib_flow_ipv4_filter mask;\n};\n\nstruct ib_flow_tcp_udp_filter {\n\t__be16 dst_port;\n\t__be16 src_port;\n};\n\nstruct ib_flow_spec_tcp_udp {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_tcp_udp_filter val;\n\tstruct ib_flow_tcp_udp_filter mask;\n};\n\nstruct ib_flow_ipv6_filter {\n\tu8 src_ip[16];\n\tu8 dst_ip[16];\n\t__be32 flow_label;\n\tu8 next_hdr;\n\tu8 traffic_class;\n\tu8 hop_limit;\n} __attribute__((packed));\n\nstruct ib_flow_spec_ipv6 {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_ipv6_filter val;\n\tstruct ib_flow_ipv6_filter mask;\n};\n\nstruct ib_flow_tunnel_filter {\n\t__be32 tunnel_id;\n};\n\nstruct ib_flow_spec_tunnel {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_tunnel_filter val;\n\tstruct ib_flow_tunnel_filter mask;\n};\n\nstruct ib_flow_esp_filter {\n\t__be32 spi;\n\t__be32 seq;\n};\n\nstruct ib_flow_spec_esp {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_esp_filter val;\n\tstruct ib_flow_esp_filter mask;\n};\n\nstruct ib_flow_gre_filter {\n\t__be16 c_ks_res0_ver;\n\t__be16 protocol;\n\t__be32 key;\n};\n\nstruct ib_flow_spec_gre {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_gre_filter val;\n\tstruct ib_flow_gre_filter mask;\n};\n\nstruct ib_flow_mpls_filter {\n\t__be32 tag;\n};\n\nstruct ib_flow_spec_mpls {\n\tu32 type;\n\tu16 size;\n\tstruct ib_flow_mpls_filter val;\n\tstruct ib_flow_mpls_filter mask;\n};\n\nstruct ib_flow_spec_action_tag {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tu32 tag_id;\n};\n\nstruct ib_flow_spec_action_drop {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n};\n\nstruct ib_flow_spec_action_handle {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tstruct ib_flow_action *act;\n};\n\nstruct ib_flow_spec_action_count {\n\tenum ib_flow_spec_type type;\n\tu16 size;\n\tstruct ib_counters *counters;\n};\n\nunion ib_flow_spec {\n\tstruct {\n\t\tu32 type;\n\t\tu16 size;\n\t};\n\tstruct ib_flow_spec_eth eth;\n\tstruct ib_flow_spec_ib ib;\n\tstruct ib_flow_spec_ipv4 ipv4;\n\tstruct ib_flow_spec_tcp_udp tcp_udp;\n\tstruct ib_flow_spec_ipv6 ipv6;\n\tstruct ib_flow_spec_tunnel tunnel;\n\tstruct ib_flow_spec_esp esp;\n\tstruct ib_flow_spec_gre gre;\n\tstruct ib_flow_spec_mpls mpls;\n\tstruct ib_flow_spec_action_tag flow_tag;\n\tstruct ib_flow_spec_action_drop drop;\n\tstruct ib_flow_spec_action_handle action;\n\tstruct ib_flow_spec_action_count flow_count;\n};\n\nstruct ib_flow_attr {\n\tenum ib_flow_attr_type type;\n\tu16 size;\n\tu16 priority;\n\tu32 flags;\n\tu8 num_of_specs;\n\tu32 port;\n\tunion ib_flow_spec flows[0];\n};\n\nunion ib_gid {\n\tu8 raw[16];\n\tstruct {\n\t\t__be64 subnet_prefix;\n\t\t__be64 interface_id;\n\t} global;\n};\n\nstruct ib_gid_attr {\n\tstruct net_device *ndev;\n\tstruct ib_device *device;\n\tunion ib_gid gid;\n\tenum ib_gid_type gid_type;\n\tu16 index;\n\tu32 port_num;\n};\n\nstruct ib_global_route {\n\tconst struct ib_gid_attr *sgid_attr;\n\tunion ib_gid dgid;\n\tu32 flow_label;\n\tu8 sgid_index;\n\tu8 hop_limit;\n\tu8 traffic_class;\n};\n\nstruct ib_grh {\n\t__be32 version_tclass_flow;\n\t__be16 paylen;\n\tu8 next_hdr;\n\tu8 hop_limit;\n\tunion ib_gid sgid;\n\tunion ib_gid dgid;\n};\n\nstruct ib_sig_attrs;\n\nstruct ib_mr {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tu32 lkey;\n\tu32 rkey;\n\tu64 iova;\n\tu64 length;\n\tunsigned int page_size;\n\tenum ib_mr_type type;\n\tbool need_inval;\n\tunion {\n\t\tstruct ib_uobject *uobject;\n\t\tstruct list_head qp_entry;\n\t};\n\tstruct ib_dm *dm;\n\tstruct ib_sig_attrs *sig_attrs;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_sig_err {\n\tenum ib_sig_err_type err_type;\n\tu32 expected;\n\tu32 actual;\n\tu64 sig_err_offset;\n\tu32 key;\n};\n\nstruct ib_mr_status {\n\tu32 fail_status;\n\tstruct ib_sig_err sig_err;\n};\n\nstruct ib_mw {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_uobject *uobject;\n\tu32 rkey;\n\tenum ib_mw_type type;\n};\n\nstruct ib_pd {\n\tu32 local_dma_lkey;\n\tu32 flags;\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n\tu32 unsafe_global_rkey;\n\tstruct ib_mr *__internal_mr;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_port_attr {\n\tu64 subnet_prefix;\n\tenum ib_port_state state;\n\tenum ib_mtu max_mtu;\n\tenum ib_mtu active_mtu;\n\tu32 phys_mtu;\n\tint gid_tbl_len;\n\tunsigned int ip_gids: 1;\n\tu32 port_cap_flags;\n\tu32 max_msg_sz;\n\tu32 bad_pkey_cntr;\n\tu32 qkey_viol_cntr;\n\tu16 pkey_tbl_len;\n\tu32 sm_lid;\n\tu32 lid;\n\tu8 lmc;\n\tu8 max_vl_num;\n\tu8 sm_sl;\n\tu8 subnet_timeout;\n\tu8 init_type_reply;\n\tu8 active_width;\n\tu16 active_speed;\n\tu8 phys_state;\n\tu16 port_cap_flags2;\n};\n\nstruct ib_pkey_cache;\n\nstruct ib_gid_table;\n\nstruct ib_port_cache {\n\tu64 subnet_prefix;\n\tstruct ib_pkey_cache *pkey;\n\tstruct ib_gid_table *gid;\n\tu8 lmc;\n\tenum ib_port_state port_state;\n\tenum ib_port_state last_port_state;\n};\n\nstruct ib_port_immutable {\n\tint pkey_tbl_len;\n\tint gid_tbl_len;\n\tu32 core_cap_flags;\n\tu32 max_mad_size;\n};\n\nstruct rdma_counter_mode {\n\tenum rdma_nl_counter_mode mode;\n\tenum rdma_nl_counter_mask mask;\n\tstruct auto_mode_param param;\n};\n\nstruct rdma_port_counter {\n\tstruct rdma_counter_mode mode;\n\tstruct rdma_hw_stats *hstats;\n\tunsigned int num_counters;\n\tstruct mutex lock;\n};\n\nstruct ib_port;\n\nstruct ib_port_data {\n\tstruct ib_device *ib_dev;\n\tstruct ib_port_immutable immutable;\n\tspinlock_t pkey_list_lock;\n\tspinlock_t netdev_lock;\n\tstruct list_head pkey_list;\n\tstruct ib_port_cache cache;\n\tstruct net_device *netdev;\n\tnetdevice_tracker netdev_tracker;\n\tstruct hlist_node ndev_hash_link;\n\tstruct rdma_port_counter port_counter;\n\tstruct ib_port *sysfs;\n};\n\nstruct ib_port_modify {\n\tu32 set_port_cap_mask;\n\tu32 clr_port_cap_mask;\n\tu8 init_type;\n};\n\nstruct ib_qp_security;\n\nstruct ib_port_pkey {\n\tenum port_pkey_state state;\n\tu16 pkey_index;\n\tu32 port_num;\n\tstruct list_head qp_list;\n\tstruct list_head to_error_list;\n\tstruct ib_qp_security *sec;\n};\n\nstruct ib_ports_pkeys {\n\tstruct ib_port_pkey main;\n\tstruct ib_port_pkey alt;\n};\n\nstruct ib_uqp_object;\n\nstruct ib_qp {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_cq *send_cq;\n\tstruct ib_cq *recv_cq;\n\tspinlock_t mr_lock;\n\tint mrs_used;\n\tstruct list_head rdma_mrs;\n\tstruct list_head sig_mrs;\n\tstruct ib_srq *srq;\n\tstruct completion srq_completion;\n\tstruct ib_xrcd *xrcd;\n\tstruct list_head xrcd_list;\n\tatomic_t usecnt;\n\tstruct list_head open_list;\n\tstruct ib_qp *real_qp;\n\tstruct ib_uqp_object *uobject;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid (*registered_event_handler)(struct ib_event *, void *);\n\tvoid *qp_context;\n\tconst struct ib_gid_attr *av_sgid_attr;\n\tconst struct ib_gid_attr *alt_path_sgid_attr;\n\tu32 qp_num;\n\tu32 max_write_sge;\n\tu32 max_read_sge;\n\tenum ib_qp_type qp_type;\n\tstruct ib_rwq_ind_table *rwq_ind_tbl;\n\tstruct ib_qp_security *qp_sec;\n\tu32 port;\n\tbool integrity_en;\n\tstruct rdma_restrack_entry res;\n\tstruct rdma_counter *counter;\n};\n\nstruct ib_qp_cap {\n\tu32 max_send_wr;\n\tu32 max_recv_wr;\n\tu32 max_send_sge;\n\tu32 max_recv_sge;\n\tu32 max_inline_data;\n\tu32 max_rdma_ctxs;\n};\n\nstruct roce_ah_attr {\n\tu8 dmac[6];\n};\n\nstruct opa_ah_attr {\n\tu32 dlid;\n\tu8 src_path_bits;\n\tbool make_grd;\n};\n\nstruct rdma_ah_attr {\n\tstruct ib_global_route grh;\n\tu8 sl;\n\tu8 static_rate;\n\tu32 port_num;\n\tu8 ah_flags;\n\tenum rdma_ah_attr_type type;\n\tunion {\n\t\tstruct ib_ah_attr ib;\n\t\tstruct roce_ah_attr roce;\n\t\tstruct opa_ah_attr opa;\n\t};\n};\n\nstruct ib_qp_attr {\n\tenum ib_qp_state qp_state;\n\tenum ib_qp_state cur_qp_state;\n\tenum ib_mtu path_mtu;\n\tenum ib_mig_state path_mig_state;\n\tu32 qkey;\n\tu32 rq_psn;\n\tu32 sq_psn;\n\tu32 dest_qp_num;\n\tint qp_access_flags;\n\tstruct ib_qp_cap cap;\n\tstruct rdma_ah_attr ah_attr;\n\tstruct rdma_ah_attr alt_ah_attr;\n\tu16 pkey_index;\n\tu16 alt_pkey_index;\n\tu8 en_sqd_async_notify;\n\tu8 sq_draining;\n\tu8 max_rd_atomic;\n\tu8 max_dest_rd_atomic;\n\tu8 min_rnr_timer;\n\tu32 port_num;\n\tu8 timeout;\n\tu8 retry_cnt;\n\tu8 rnr_retry;\n\tu32 alt_port_num;\n\tu8 alt_timeout;\n\tu32 rate_limit;\n\tstruct net_device *xmit_slave;\n};\n\nstruct ib_qp_init_attr {\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *qp_context;\n\tstruct ib_cq *send_cq;\n\tstruct ib_cq *recv_cq;\n\tstruct ib_srq *srq;\n\tstruct ib_xrcd *xrcd;\n\tstruct ib_qp_cap cap;\n\tenum ib_sig_type sq_sig_type;\n\tenum ib_qp_type qp_type;\n\tu32 create_flags;\n\tu32 port_num;\n\tstruct ib_rwq_ind_table *rwq_ind_tbl;\n\tu32 source_qpn;\n};\n\nstruct ib_qp_security {\n\tstruct ib_qp *qp;\n\tstruct ib_device *dev;\n\tstruct mutex mutex;\n\tstruct ib_ports_pkeys *ports_pkeys;\n\tstruct list_head shared_qp_list;\n\tvoid *security;\n\tbool destroying;\n\tatomic_t error_list_count;\n\tstruct completion error_complete;\n\tint error_comps_pending;\n};\n\nstruct ib_rdmacg_object {};\n\nstruct ib_recv_wr {\n\tstruct ib_recv_wr *next;\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tstruct ib_sge *sg_list;\n\tint num_sge;\n};\n\nstruct ib_rwq_ind_table {\n\tstruct ib_device *device;\n\tstruct ib_uobject *uobject;\n\tatomic_t usecnt;\n\tu32 ind_tbl_num;\n\tu32 log_ind_tbl_size;\n\tstruct ib_wq **ind_tbl;\n};\n\nstruct ib_rwq_ind_table_init_attr {\n\tu32 log_ind_tbl_size;\n\tstruct ib_wq **ind_tbl;\n};\n\nstruct ib_send_wr {\n\tstruct ib_send_wr *next;\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tstruct ib_sge *sg_list;\n\tint num_sge;\n\tenum ib_wr_opcode opcode;\n\tint send_flags;\n\tunion {\n\t\t__be32 imm_data;\n\t\tu32 invalidate_rkey;\n\t} ex;\n};\n\nstruct ib_sge {\n\tu64 addr;\n\tu32 length;\n\tu32 lkey;\n};\n\nstruct ib_t10_dif_domain {\n\tenum ib_t10_dif_bg_type bg_type;\n\tu16 pi_interval;\n\tu16 bg;\n\tu16 app_tag;\n\tu32 ref_tag;\n\tbool ref_remap;\n\tbool app_escape;\n\tbool ref_escape;\n\tu16 apptag_check_mask;\n};\n\nstruct ib_sig_domain {\n\tenum ib_signature_type sig_type;\n\tunion {\n\t\tstruct ib_t10_dif_domain dif;\n\t} sig;\n};\n\nstruct ib_sig_attrs {\n\tu8 check_mask;\n\tstruct ib_sig_domain mem;\n\tstruct ib_sig_domain wire;\n\tint meta_length;\n};\n\nstruct ib_usrq_object;\n\nstruct ib_srq {\n\tstruct ib_device *device;\n\tstruct ib_pd *pd;\n\tstruct ib_usrq_object *uobject;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *srq_context;\n\tenum ib_srq_type srq_type;\n\tatomic_t usecnt;\n\tstruct {\n\t\tstruct ib_cq *cq;\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tstruct ib_xrcd *xrcd;\n\t\t\t\tu32 srq_num;\n\t\t\t} xrc;\n\t\t};\n\t} ext;\n\tstruct rdma_restrack_entry res;\n};\n\nstruct ib_srq_attr {\n\tu32 max_wr;\n\tu32 max_sge;\n\tu32 srq_limit;\n};\n\nstruct ib_srq_init_attr {\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tvoid *srq_context;\n\tstruct ib_srq_attr attr;\n\tenum ib_srq_type srq_type;\n\tstruct {\n\t\tstruct ib_cq *cq;\n\t\tunion {\n\t\t\tstruct {\n\t\t\t\tstruct ib_xrcd *xrcd;\n\t\t\t} xrc;\n\t\t\tstruct {\n\t\t\t\tu32 max_num_tags;\n\t\t\t} tag_matching;\n\t\t};\n\t} ext;\n};\n\nstruct ib_ucontext {\n\tstruct ib_device *device;\n\tstruct ib_uverbs_file *ufile;\n\tstruct ib_rdmacg_object cg_obj;\n\tstruct rdma_restrack_entry res;\n\tstruct xarray mmap_xa;\n};\n\nstruct ib_udata {\n\tconst void *inbuf;\n\tvoid *outbuf;\n\tsize_t inlen;\n\tsize_t outlen;\n};\n\nstruct uverbs_api_object;\n\nstruct ib_uobject {\n\tu64 user_handle;\n\tstruct ib_uverbs_file *ufile;\n\tstruct ib_ucontext *context;\n\tvoid *object;\n\tstruct list_head list;\n\tstruct ib_rdmacg_object cg_obj;\n\tint id;\n\tstruct kref ref;\n\tatomic_t usecnt;\n\tstruct callback_head rcu;\n\tconst struct uverbs_api_object *uapi_object;\n};\n\nstruct ib_wc {\n\tunion {\n\t\tu64 wr_id;\n\t\tstruct ib_cqe *wr_cqe;\n\t};\n\tenum ib_wc_status status;\n\tenum ib_wc_opcode opcode;\n\tu32 vendor_err;\n\tu32 byte_len;\n\tstruct ib_qp *qp;\n\tunion {\n\t\t__be32 imm_data;\n\t\tu32 invalidate_rkey;\n\t} ex;\n\tu32 src_qp;\n\tu32 slid;\n\tint wc_flags;\n\tu16 pkey_index;\n\tu8 sl;\n\tu8 dlid_path_bits;\n\tu32 port_num;\n\tu8 smac[6];\n\tu16 vlan_id;\n\tu8 network_hdr_type;\n};\n\nstruct ib_uwq_object;\n\nstruct ib_wq {\n\tstruct ib_device *device;\n\tstruct ib_uwq_object *uobject;\n\tvoid *wq_context;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tstruct ib_pd *pd;\n\tstruct ib_cq *cq;\n\tu32 wq_num;\n\tenum ib_wq_state state;\n\tenum ib_wq_type wq_type;\n\tatomic_t usecnt;\n};\n\nstruct ib_wq_attr {\n\tenum ib_wq_state wq_state;\n\tenum ib_wq_state curr_wq_state;\n\tu32 flags;\n\tu32 flags_mask;\n};\n\nstruct ib_wq_init_attr {\n\tvoid *wq_context;\n\tenum ib_wq_type wq_type;\n\tu32 max_wr;\n\tu32 max_sge;\n\tstruct ib_cq *cq;\n\tvoid (*event_handler)(struct ib_event *, void *);\n\tu32 create_flags;\n};\n\nstruct ib_xrcd {\n\tstruct ib_device *device;\n\tatomic_t usecnt;\n\tstruct inode *inode;\n\tstruct rw_semaphore tgt_qps_rwsem;\n\tstruct xarray tgt_qps;\n};\n\nstruct option_vector1 {\n\tu8 byte1;\n\tu8 arch_versions;\n\tu8 arch_versions3;\n};\n\nstruct option_vector2 {\n\tu8 byte1;\n\t__be16 reserved;\n\t__be32 real_base;\n\t__be32 real_size;\n\t__be32 virt_base;\n\t__be32 virt_size;\n\t__be32 load_base;\n\t__be32 min_rma;\n\t__be32 min_load;\n\tu8 min_rma_percent;\n\tu8 max_pft_size;\n} __attribute__((packed));\n\nstruct option_vector3 {\n\tu8 byte1;\n\tu8 byte2;\n};\n\nstruct option_vector4 {\n\tu8 byte1;\n\tu8 min_vp_cap;\n};\n\nstruct option_vector5 {\n\tu8 byte1;\n\tu8 byte2;\n\tu8 byte3;\n\tu8 cmo;\n\tu8 associativity;\n\tu8 bin_opts;\n\tu8 micro_checkpoint;\n\tu8 reserved0;\n\t__be32 max_cpus;\n\t__be16 papr_level;\n\t__be16 reserved1;\n\tu8 platform_facilities;\n\tu8 reserved2;\n\t__be16 reserved3;\n\tu8 subprocessors;\n\tu8 byte22;\n\tu8 intarch;\n\tu8 mmu;\n\tu8 hash_ext;\n\tu8 radix_ext;\n} __attribute__((packed));\n\nstruct option_vector6 {\n\tu8 reserved;\n\tu8 secondary_pteg;\n\tu8 os_name;\n};\n\nstruct option_vector7 {\n\tu8 os_id[256];\n};\n\nstruct ibm_arch_vec {\n\tstruct {\n\t\t__be32 mask;\n\t\t__be32 val;\n\t} pvrs[16];\n\tu8 num_vectors;\n\tu8 vec1_len;\n\tstruct option_vector1 vec1;\n\tu8 vec2_len;\n\tstruct option_vector2 vec2;\n\tu8 vec3_len;\n\tstruct option_vector3 vec3;\n\tu8 vec4_len;\n\tstruct option_vector4 vec4;\n\tu8 vec5_len;\n\tstruct option_vector5 vec5;\n\tu8 vec6_len;\n\tstruct option_vector6 vec6;\n\tu8 vec7_len;\n\tstruct option_vector7 vec7;\n} __attribute__((packed));\n\nstruct ibm_feature {\n\tlong unsigned int cpu_features;\n\tlong unsigned int mmu_features;\n\tunsigned int cpu_user_ftrs;\n\tunsigned int cpu_user_ftrs2;\n\tunsigned char pabyte;\n\tunsigned char pabit;\n\tunsigned char clear;\n};\n\nstruct ibm_nx842_counters {\n\tatomic64_t comp_complete;\n\tatomic64_t comp_failed;\n\tatomic64_t decomp_complete;\n\tatomic64_t decomp_failed;\n\tatomic64_t swdecomp;\n\tatomic64_t comp_times[32];\n\tatomic64_t decomp_times[32];\n};\n\nstruct tasklet_struct {\n\tstruct tasklet_struct *next;\n\tlong unsigned int state;\n\tatomic_t count;\n\tbool use_callback;\n\tunion {\n\t\tvoid (*func)(long unsigned int);\n\t\tvoid (*callback)(struct tasklet_struct *);\n\t};\n\tlong unsigned int data;\n};\n\nstruct mad_adapter_info_data {\n\tchar srp_version[8];\n\tchar partition_name[96];\n\t__be32 partition_number;\n\t__be32 mad_version;\n\t__be32 os_type;\n\t__be32 port_max_txu[8];\n};\n\nstruct ibmvscsi_host_data {\n\tstruct list_head host_list;\n\tatomic_t request_limit;\n\tint client_migrated;\n\tenum ibmvscsi_host_action action;\n\tstruct device *dev;\n\tstruct event_pool pool;\n\tstruct crq_queue queue;\n\tstruct tasklet_struct srp_task;\n\tstruct list_head sent;\n\tstruct Scsi_Host *host;\n\tstruct task_struct *work_thread;\n\twait_queue_head_t work_wait_q;\n\tstruct mad_adapter_info_data madapter_info;\n\tstruct capabilities caps;\n\tdma_addr_t caps_addr;\n\tdma_addr_t adapter_info_addr;\n};\n\nstruct ibmvtpm_crq {\n\tu8 valid;\n\tu8 msg;\n\t__be16 len;\n\t__be32 data;\n\t__be64 reserved;\n};\n\nstruct ibmvtpm_crq_queue {\n\tstruct ibmvtpm_crq *crq_addr;\n\tu32 index;\n\tu32 num_entry;\n\twait_queue_head_t wq;\n};\n\nstruct vio_dev;\n\nstruct ibmvtpm_dev {\n\tstruct device *dev;\n\tstruct vio_dev *vdev;\n\tstruct ibmvtpm_crq_queue crq_queue;\n\tdma_addr_t crq_dma_handle;\n\tu32 rtce_size;\n\tvoid *rtce_buf;\n\tdma_addr_t rtce_dma_handle;\n\tspinlock_t rtce_lock;\n\twait_queue_head_t wq;\n\tu16 res_len;\n\tu32 vtpm_version;\n\tu8 tpm_processing_cmd;\n};\n\nstruct ic_device {\n\tstruct ic_device *next;\n\tstruct net_device *dev;\n\tshort unsigned int flags;\n\tshort int able;\n\t__be32 xid;\n};\n\nstruct ich8_pr {\n\tu32 base: 13;\n\tu32 reserved1: 2;\n\tu32 rpe: 1;\n\tu32 limit: 13;\n\tu32 reserved2: 2;\n\tu32 wpe: 1;\n};\n\nunion ich8_flash_protected_range {\n\tstruct ich8_pr range;\n\tu32 regval;\n};\n\nstruct ich8_hsflctl {\n\tu16 flcgo: 1;\n\tu16 flcycle: 2;\n\tu16 reserved: 5;\n\tu16 fldbcount: 2;\n\tu16 flockdn: 6;\n};\n\nstruct ich8_hsfsts {\n\tu16 flcdone: 1;\n\tu16 flcerr: 1;\n\tu16 dael: 1;\n\tu16 berasesz: 2;\n\tu16 flcinprog: 1;\n\tu16 reserved1: 2;\n\tu16 reserved2: 6;\n\tu16 fldesvalid: 1;\n\tu16 flockdn: 1;\n};\n\nunion ich8_hws_flash_ctrl {\n\tstruct ich8_hsflctl hsf_ctrl;\n\tu16 regval;\n};\n\nunion ich8_hws_flash_status {\n\tstruct ich8_hsfsts hsf_status;\n\tu16 regval;\n};\n\nstruct icmp6_err {\n\tint err;\n\tint fatal;\n};\n\nstruct icmp6_filter {\n\t__u32 data[8];\n};\n\nstruct icmpv6_echo {\n\t__be16 identifier;\n\t__be16 sequence;\n};\n\nstruct icmpv6_nd_advt {\n\t__u32 reserved: 5;\n\t__u32 override: 1;\n\t__u32 solicited: 1;\n\t__u32 router: 1;\n\t__u32 reserved2: 24;\n};\n\nstruct icmpv6_nd_ra {\n\t__u8 hop_limit;\n\t__u8 reserved: 3;\n\t__u8 router_pref: 2;\n\t__u8 home_agent: 1;\n\t__u8 other: 1;\n\t__u8 managed: 1;\n\t__be16 rt_lifetime;\n};\n\nstruct icmp6hdr {\n\t__u8 icmp6_type;\n\t__u8 icmp6_code;\n\t__sum16 icmp6_cksum;\n\tunion {\n\t\t__be32 un_data32[1];\n\t\t__be16 un_data16[2];\n\t\t__u8 un_data8[4];\n\t\tstruct icmpv6_echo u_echo;\n\t\tstruct icmpv6_nd_advt u_nd_advt;\n\t\tstruct icmpv6_nd_ra u_nd_ra;\n\t} icmp6_dataun;\n};\n\nstruct icmphdr {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 checksum;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 id;\n\t\t\t__be16 sequence;\n\t\t} echo;\n\t\t__be32 gateway;\n\t\tstruct {\n\t\t\t__be16 __unused;\n\t\t\t__be16 mtu;\n\t\t} frag;\n\t\t__u8 reserved[4];\n\t} un;\n};\n\nstruct ip_options {\n\t__be32 faddr;\n\t__be32 nexthop;\n\tunsigned char optlen;\n\tunsigned char srr;\n\tunsigned char rr;\n\tunsigned char ts;\n\tunsigned char is_strictroute: 1;\n\tunsigned char srr_is_hit: 1;\n\tunsigned char is_changed: 1;\n\tunsigned char rr_needaddr: 1;\n\tunsigned char ts_needtime: 1;\n\tunsigned char ts_needaddr: 1;\n\tunsigned char router_alert;\n\tunsigned char cipso;\n\tunsigned char __pad2;\n\tunsigned char __data[0];\n};\n\nstruct ip_options_rcu {\n\tstruct callback_head rcu;\n\tstruct ip_options opt;\n};\n\nstruct ip_options_data {\n\tstruct ip_options_rcu opt;\n\tchar data[40];\n};\n\nstruct icmp_bxm {\n\tstruct sk_buff *skb;\n\tint offset;\n\tint data_len;\n\tstruct {\n\t\tstruct icmphdr icmph;\n\t\t__be32 times[3];\n\t} data;\n\tint head_len;\n\tstruct ip_options_data replyopts;\n};\n\nstruct icmp_control {\n\tenum skb_drop_reason (*handler)(struct sk_buff *);\n\tshort int error;\n};\n\nstruct icmp_err {\n\tint errno;\n\tunsigned int fatal: 1;\n};\n\nstruct icmp_ext_echo_ctype3_hdr {\n\t__be16 afi;\n\t__u8 addrlen;\n\t__u8 reserved;\n};\n\nstruct icmp_extobj_hdr {\n\t__be16 length;\n\t__u8 class_num;\n\t__u8 class_type;\n};\n\nstruct icmp_ext_echo_iio {\n\tstruct icmp_extobj_hdr extobj_hdr;\n\tunion {\n\t\tchar name[16];\n\t\t__be32 ifindex;\n\t\tstruct {\n\t\t\tstruct icmp_ext_echo_ctype3_hdr ctype3_hdr;\n\t\t\tunion {\n\t\t\t\t__be32 ipv4_addr;\n\t\t\t\tstruct in6_addr ipv6_addr;\n\t\t\t} ip_addr;\n\t\t} addr;\n\t} ident;\n};\n\nstruct icmp_ext_hdr {\n\t__u8 reserved1: 4;\n\t__u8 version: 4;\n\t__u8 reserved2;\n\t__sum16 checksum;\n};\n\nstruct icmp_filter {\n\t__u32 data;\n};\n\nstruct icmp_mib {\n\tlong unsigned int mibs[30];\n};\n\nstruct icmpmsg_mib {\n\tatomic_long_t mibs[512];\n};\n\nstruct icmpv6_mib {\n\tlong unsigned int mibs[7];\n};\n\nstruct icmpv6_mib_device {\n\tatomic_long_t mibs[7];\n};\n\nstruct icmpv6_msg {\n\tstruct sk_buff *skb;\n\tint offset;\n\tuint8_t type;\n};\n\nstruct icmpv6msg_mib {\n\tatomic_long_t mibs[512];\n};\n\nstruct icmpv6msg_mib_device {\n\tatomic_long_t mibs[512];\n};\n\nstruct icp_ipl {\n\tunion {\n\t\tu32 word;\n\t\tu8 bytes[4];\n\t} xirr_poll;\n\tunion {\n\t\tu32 word;\n\t\tu8 bytes[4];\n\t} xirr;\n\tu32 dummy;\n\tunion {\n\t\tu32 word;\n\t\tu8 bytes[4];\n\t} qirr;\n\tu32 link_a;\n\tu32 link_b;\n\tu32 link_c;\n};\n\nstruct irq_data;\n\nstruct icp_ops {\n\tunsigned int (*get_irq)(void);\n\tvoid (*eoi)(struct irq_data *);\n\tvoid (*set_priority)(unsigned char);\n\tvoid (*teardown_cpu)(void);\n\tvoid (*flush_ipi)(void);\n\tvoid (*cause_ipi)(int);\n\tirq_handler_t ipi_action;\n};\n\nstruct irq_chip;\n\nstruct ics {\n\tstruct list_head link;\n\tint (*check)(struct ics *, unsigned int);\n\tvoid (*mask_unknown)(struct ics *, long unsigned int);\n\tlong int (*get_server)(struct ics *, long unsigned int);\n\tint (*host_match)(struct ics *, struct device_node *);\n\tstruct irq_chip *chip;\n\tchar data[0];\n};\n\nstruct ics_irq_state {\n\tu32 number;\n\tu32 server;\n\tu32 pq_state;\n\tu8 priority;\n\tu8 saved_priority;\n\tu8 resend;\n\tu8 masked_pending;\n\tu8 lsi;\n\tu8 exists;\n\tint intr_cpu;\n\tu32 host_irq;\n};\n\nstruct ida_bitmap {\n\tlong unsigned int bitmap[16];\n};\n\nstruct idempotent {\n\tconst void *cookie;\n\tstruct hlist_node entry;\n\tstruct completion complete;\n\tint ret;\n};\n\nstruct idle_timer {\n\tstruct hrtimer timer;\n\tint done;\n};\n\nstruct idmap_legacy_upcalldata;\n\nstruct idmap {\n\tstruct rpc_pipe_dir_object idmap_pdo;\n\tstruct rpc_pipe *idmap_pipe;\n\tstruct idmap_legacy_upcalldata *idmap_upcall_data;\n\tstruct mutex idmap_mutex;\n\tstruct user_namespace *user_ns;\n};\n\nstruct idmap_key {\n\tbool map_up;\n\tu32 id;\n\tu32 count;\n};\n\nstruct idmap_msg {\n\t__u8 im_type;\n\t__u8 im_conv;\n\tchar im_name[128];\n\t__u32 im_id;\n\t__u8 im_status;\n};\n\nstruct idmap_legacy_upcalldata {\n\tstruct rpc_pipe_msg pipe_msg;\n\tstruct idmap_msg idmap_msg;\n\tstruct key *authkey;\n\tstruct idmap *idmap;\n};\n\nstruct if6_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n\tint offset;\n};\n\nstruct if_settings {\n\tunsigned int type;\n\tunsigned int size;\n\tunion {\n\t\traw_hdlc_proto *raw_hdlc;\n\t\tcisco_proto *cisco;\n\t\tfr_proto *fr;\n\t\tfr_proto_pvc *fr_pvc;\n\t\tfr_proto_pvc_info *fr_pvc_info;\n\t\tx25_hdlc_proto *x25;\n\t\tsync_serial_settings *sync;\n\t\tte1_settings *te1;\n\t} ifs_ifsu;\n};\n\nstruct if_stats_msg {\n\t__u8 family;\n\t__u8 pad1;\n\t__u16 pad2;\n\t__u32 ifindex;\n\t__u32 filter_mask;\n};\n\nstruct ifa6_config {\n\tconst struct in6_addr *pfx;\n\tunsigned int plen;\n\tu8 ifa_proto;\n\tconst struct in6_addr *peer_pfx;\n\tu32 rt_priority;\n\tu32 ifa_flags;\n\tu32 preferred_lft;\n\tu32 valid_lft;\n\tu16 scope;\n};\n\nstruct ifa_cacheinfo {\n\t__u32 ifa_prefered;\n\t__u32 ifa_valid;\n\t__u32 cstamp;\n\t__u32 tstamp;\n};\n\nstruct ifacaddr6 {\n\tstruct in6_addr aca_addr;\n\tstruct fib6_info *aca_rt;\n\tstruct ifacaddr6 *aca_next;\n\tstruct hlist_node aca_addr_lst;\n\tint aca_users;\n\trefcount_t aca_refcnt;\n\tlong unsigned int aca_cstamp;\n\tlong unsigned int aca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ifaddrlblmsg {\n\t__u8 ifal_family;\n\t__u8 __ifal_reserved;\n\t__u8 ifal_prefixlen;\n\t__u8 ifal_flags;\n\t__u32 ifal_index;\n\t__u32 ifal_seq;\n};\n\nstruct ifaddrmsg {\n\t__u8 ifa_family;\n\t__u8 ifa_prefixlen;\n\t__u8 ifa_flags;\n\t__u8 ifa_scope;\n\t__u32 ifa_index;\n};\n\nstruct ifbond {\n\t__s32 bond_mode;\n\t__s32 num_slaves;\n\t__s32 miimon;\n};\n\ntypedef struct ifbond ifbond;\n\nstruct ifreq;\n\nstruct ifconf {\n\tint ifc_len;\n\tunion {\n\t\tchar *ifcu_buf;\n\t\tstruct ifreq *ifcu_req;\n\t} ifc_ifcu;\n};\n\nstruct ifinfomsg {\n\tunsigned char ifi_family;\n\tunsigned char __ifi_pad;\n\tshort unsigned int ifi_type;\n\tint ifi_index;\n\tunsigned int ifi_flags;\n\tunsigned int ifi_change;\n};\n\nstruct ifla_cacheinfo {\n\t__u32 max_reasm_len;\n\t__u32 tstamp;\n\t__u32 reachable_time;\n\t__u32 retrans_time;\n};\n\nstruct ifla_vf_broadcast {\n\t__u8 broadcast[32];\n};\n\nstruct ifla_vf_guid {\n\t__u32 vf;\n\t__u64 guid;\n};\n\nstruct ifla_vf_info {\n\t__u32 vf;\n\t__u8 mac[32];\n\t__u32 vlan;\n\t__u32 qos;\n\t__u32 spoofchk;\n\t__u32 linkstate;\n\t__u32 min_tx_rate;\n\t__u32 max_tx_rate;\n\t__u32 rss_query_en;\n\t__u32 trusted;\n\t__be16 vlan_proto;\n};\n\nstruct ifla_vf_link_state {\n\t__u32 vf;\n\t__u32 link_state;\n};\n\nstruct ifla_vf_mac {\n\t__u32 vf;\n\t__u8 mac[32];\n};\n\nstruct ifla_vf_rate {\n\t__u32 vf;\n\t__u32 min_tx_rate;\n\t__u32 max_tx_rate;\n};\n\nstruct ifla_vf_rss_query_en {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_spoofchk {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_stats {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 broadcast;\n\t__u64 multicast;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n};\n\nstruct ifla_vf_trust {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_tx_rate {\n\t__u32 vf;\n\t__u32 rate;\n};\n\nstruct ifla_vf_vlan {\n\t__u32 vf;\n\t__u32 vlan;\n\t__u32 qos;\n};\n\nstruct ifla_vf_vlan_info {\n\t__u32 vf;\n\t__u32 vlan;\n\t__u32 qos;\n\t__be16 vlan_proto;\n};\n\nstruct ifmap {\n\tlong unsigned int mem_start;\n\tlong unsigned int mem_end;\n\tshort unsigned int base_addr;\n\tunsigned char irq;\n\tunsigned char dma;\n\tunsigned char port;\n};\n\nstruct inet6_dev;\n\nstruct ip6_sf_list;\n\nstruct ifmcaddr6 {\n\tstruct in6_addr mca_addr;\n\tstruct inet6_dev *idev;\n\tstruct ifmcaddr6 *next;\n\tstruct ip6_sf_list *mca_sources;\n\tstruct ip6_sf_list *mca_tomb;\n\tunsigned int mca_sfmode;\n\tunsigned char mca_crcount;\n\tlong unsigned int mca_sfcount[2];\n\tstruct delayed_work mca_work;\n\tunsigned int mca_flags;\n\tint mca_users;\n\trefcount_t mca_refcnt;\n\tlong unsigned int mca_cstamp;\n\tlong unsigned int mca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ifreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion {\n\t\tstruct sockaddr ifru_addr;\n\t\tstruct sockaddr ifru_dstaddr;\n\t\tstruct sockaddr ifru_broadaddr;\n\t\tstruct sockaddr ifru_netmask;\n\t\tstruct sockaddr ifru_hwaddr;\n\t\tshort int ifru_flags;\n\t\tint ifru_ivalue;\n\t\tint ifru_mtu;\n\t\tstruct ifmap ifru_map;\n\t\tchar ifru_slave[16];\n\t\tchar ifru_newname[16];\n\t\tvoid *ifru_data;\n\t\tstruct if_settings ifru_settings;\n\t} ifr_ifru;\n};\n\nstruct ifslave {\n\t__s32 slave_id;\n\tchar slave_name[16];\n\t__s8 link;\n\t__s8 state;\n\t__u32 link_failure_count;\n};\n\ntypedef struct ifslave ifslave;\n\nstruct igmp6_mc_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct inet6_dev *idev;\n};\n\nstruct igmp6_mcf_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct inet6_dev *idev;\n\tstruct ifmcaddr6 *im;\n};\n\nstruct in_device;\n\nstruct igmp_mc_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct in_device *in_dev;\n};\n\nstruct ip_mc_list;\n\nstruct igmp_mcf_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct in_device *idev;\n\tstruct ip_mc_list *im;\n};\n\nstruct igmphdr {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 csum;\n\t__be32 group;\n};\n\nstruct igmpv3_grec {\n\t__u8 grec_type;\n\t__u8 grec_auxwords;\n\t__be16 grec_nsrcs;\n\t__be32 grec_mca;\n\t__be32 grec_src[0];\n};\n\nstruct igmpv3_query {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 csum;\n\t__be32 group;\n\t__u8 qrv: 3;\n\t__u8 suppress: 1;\n\t__u8 resv: 4;\n\t__u8 qqic;\n\t__be16 nsrcs;\n\t__be32 srcs[0];\n};\n\nstruct igmpv3_report {\n\t__u8 type;\n\t__u8 resv1;\n\t__sum16 csum;\n\t__be16 resv2;\n\t__be16 ngrec;\n\tstruct igmpv3_grec grec[0];\n};\n\nstruct ima_algo_desc {\n\tstruct crypto_shash *tfm;\n\tenum hash_algo algo;\n};\n\nstruct ima_digest_data_hdr {\n\tu8 algo;\n\tu8 length;\n\tunion {\n\t\tstruct {\n\t\t\tu8 unused;\n\t\t\tu8 type;\n\t\t} sha1;\n\t\tstruct {\n\t\t\tu8 type;\n\t\t\tu8 algo;\n\t\t} ng;\n\t\tu8 data[2];\n\t} xattr;\n};\n\nstruct ima_digest_data {\n\tunion {\n\t\tstruct {\n\t\t\tu8 algo;\n\t\t\tu8 length;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tu8 unused;\n\t\t\t\t\tu8 type;\n\t\t\t\t} sha1;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 type;\n\t\t\t\t\tu8 algo;\n\t\t\t\t} ng;\n\t\t\t\tu8 data[2];\n\t\t\t} xattr;\n\t\t};\n\t\tstruct ima_digest_data_hdr hdr;\n\t};\n\tu8 digest[0];\n};\n\nstruct ima_iint_cache;\n\nstruct modsig;\n\nstruct ima_event_data {\n\tstruct ima_iint_cache *iint;\n\tstruct file *file;\n\tconst unsigned char *filename;\n\tstruct evm_ima_xattr_data *xattr_value;\n\tint xattr_len;\n\tconst struct modsig *modsig;\n\tconst char *violation;\n\tconst void *buf;\n\tint buf_len;\n};\n\nstruct ima_field_data {\n\tu8 *data;\n\tu32 len;\n};\n\nstruct ima_file_id {\n\t__u8 hash_type;\n\t__u8 hash_algorithm;\n\t__u8 hash[64];\n};\n\nstruct ima_h_table {\n\tatomic_long_t len;\n\tatomic_long_t violations;\n\tstruct hlist_head queue[1024];\n};\n\nstruct integrity_inode_attributes {\n\tu64 version;\n\tlong unsigned int ino;\n\tdev_t dev;\n};\n\nstruct ima_iint_cache {\n\tstruct mutex mutex;\n\tstruct integrity_inode_attributes real_inode;\n\tlong unsigned int flags;\n\tlong unsigned int measured_pcrs;\n\tlong unsigned int atomic_flags;\n\tenum integrity_status ima_file_status: 4;\n\tenum integrity_status ima_mmap_status: 4;\n\tenum integrity_status ima_bprm_status: 4;\n\tenum integrity_status ima_read_status: 4;\n\tenum integrity_status ima_creds_status: 4;\n\tstruct ima_digest_data *ima_hash;\n};\n\nstruct ima_kexec_hdr {\n\tu16 version;\n\tu16 _reserved0;\n\tu32 _reserved1;\n\tu64 buffer_size;\n\tu64 count;\n};\n\nstruct ima_key_entry {\n\tstruct list_head list;\n\tvoid *payload;\n\tsize_t payload_len;\n\tchar *keyring_name;\n};\n\nstruct ima_max_digest_data {\n\tstruct ima_digest_data_hdr hdr;\n\tu8 digest[64];\n};\n\nstruct ima_template_entry;\n\nstruct ima_queue_entry {\n\tstruct hlist_node hnext;\n\tstruct list_head later;\n\tstruct ima_template_entry *entry;\n};\n\nstruct ima_rule_opt_list;\n\nstruct ima_template_desc;\n\nstruct ima_rule_entry {\n\tstruct list_head list;\n\tint action;\n\tunsigned int flags;\n\tenum ima_hooks func;\n\tint mask;\n\tlong unsigned int fsmagic;\n\tuuid_t fsuuid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t fowner;\n\tkgid_t fgroup;\n\tbool (*uid_op)(kuid_t, kuid_t);\n\tbool (*gid_op)(kgid_t, kgid_t);\n\tbool (*fowner_op)(vfsuid_t, kuid_t);\n\tbool (*fgroup_op)(vfsgid_t, kgid_t);\n\tint pcr;\n\tunsigned int allowed_algos;\n\tstruct {\n\t\tvoid *rule;\n\t\tchar *args_p;\n\t\tint type;\n\t} lsm[6];\n\tchar *fsname;\n\tstruct ima_rule_opt_list *keyrings;\n\tstruct ima_rule_opt_list *label;\n\tstruct ima_template_desc *template;\n};\n\nstruct ima_rule_opt_list {\n\tsize_t count;\n\tchar *items[0];\n};\n\nstruct ima_template_field;\n\nstruct ima_template_desc {\n\tstruct list_head list;\n\tchar *name;\n\tchar *fmt;\n\tint num_fields;\n\tconst struct ima_template_field **fields;\n};\n\nstruct tpm_digest;\n\nstruct ima_template_entry {\n\tint pcr;\n\tstruct tpm_digest *digests;\n\tstruct ima_template_desc *template_desc;\n\tu32 template_data_len;\n\tstruct ima_field_data template_data[0];\n};\n\nstruct ima_template_field {\n\tconst char field_id[16];\n\tint (*field_init)(struct ima_event_data *, struct ima_field_data *);\n\tvoid (*field_show)(struct seq_file *, enum ima_show_type, struct ima_field_data *);\n};\n\nstruct image_data_t {\n\tint status;\n\tvoid *data;\n\tuint32_t size;\n};\n\nstruct image_header_t {\n\tuint16_t magic;\n\tuint16_t version;\n\tuint32_t size;\n};\n\nstruct imc_events {\n\tu32 value;\n\tchar *name;\n\tchar *unit;\n\tchar *scale;\n};\n\nstruct imc_mem_info {\n\tu64 *vbase;\n\tu32 id;\n};\n\nstruct perf_cpu_pmu_context;\n\nstruct perf_event_pmu_context;\n\nstruct perf_output_handle;\n\nstruct pmu {\n\tstruct list_head entry;\n\tstruct module *module;\n\tstruct device *dev;\n\tstruct device *parent;\n\tconst struct attribute_group **attr_groups;\n\tconst struct attribute_group **attr_update;\n\tconst char *name;\n\tint type;\n\tint capabilities;\n\tunsigned int scope;\n\tint *pmu_disable_count;\n\tstruct perf_cpu_pmu_context *cpu_pmu_context;\n\tatomic_t exclusive_cnt;\n\tint task_ctx_nr;\n\tint hrtimer_interval_ms;\n\tunsigned int nr_addr_filters;\n\tvoid (*pmu_enable)(struct pmu *);\n\tvoid (*pmu_disable)(struct pmu *);\n\tint (*event_init)(struct perf_event *);\n\tvoid (*event_mapped)(struct perf_event *, struct mm_struct *);\n\tvoid (*event_unmapped)(struct perf_event *, struct mm_struct *);\n\tint (*add)(struct perf_event *, int);\n\tvoid (*del)(struct perf_event *, int);\n\tvoid (*start)(struct perf_event *, int);\n\tvoid (*stop)(struct perf_event *, int);\n\tvoid (*read)(struct perf_event *);\n\tvoid (*start_txn)(struct pmu *, unsigned int);\n\tint (*commit_txn)(struct pmu *);\n\tvoid (*cancel_txn)(struct pmu *);\n\tint (*event_idx)(struct perf_event *);\n\tvoid (*sched_task)(struct perf_event_pmu_context *, bool);\n\tstruct kmem_cache *task_ctx_cache;\n\tvoid (*swap_task_ctx)(struct perf_event_pmu_context *, struct perf_event_pmu_context *);\n\tvoid * (*setup_aux)(struct perf_event *, void **, int, bool);\n\tvoid (*free_aux)(void *);\n\tlong int (*snapshot_aux)(struct perf_event *, struct perf_output_handle *, long unsigned int);\n\tint (*addr_filters_validate)(struct list_head *);\n\tvoid (*addr_filters_sync)(struct perf_event *);\n\tint (*aux_output_match)(struct perf_event *);\n\tbool (*filter)(struct pmu *, int);\n\tint (*check_period)(struct perf_event *, u64);\n};\n\nstruct imc_pmu {\n\tstruct pmu pmu;\n\tstruct imc_mem_info *mem_info;\n\tstruct imc_events *events;\n\tconst struct attribute_group *attr_groups[4];\n\tu32 counter_mem_size;\n\tint domain;\n\tbool imc_counter_mmaped;\n};\n\nstruct imc_pmu_ref {\n\tspinlock_t lock;\n\tunsigned int id;\n\tint refc;\n};\n\nstruct in6_flowlabel_req {\n\tstruct in6_addr flr_dst;\n\t__be32 flr_label;\n\t__u8 flr_action;\n\t__u8 flr_share;\n\t__u16 flr_flags;\n\t__u16 flr_expires;\n\t__u16 flr_linger;\n\t__u32 __flr_pad;\n};\n\nstruct in6_ifreq {\n\tstruct in6_addr ifr6_addr;\n\t__u32 ifr6_prefixlen;\n\tint ifr6_ifindex;\n};\n\nstruct in6_pktinfo {\n\tstruct in6_addr ipi6_addr;\n\tint ipi6_ifindex;\n};\n\nstruct in6_rtmsg {\n\tstruct in6_addr rtmsg_dst;\n\tstruct in6_addr rtmsg_src;\n\tstruct in6_addr rtmsg_gateway;\n\t__u32 rtmsg_type;\n\t__u16 rtmsg_dst_len;\n\t__u16 rtmsg_src_len;\n\t__u32 rtmsg_metric;\n\tlong unsigned int rtmsg_info;\n\t__u32 rtmsg_flags;\n\tint rtmsg_ifindex;\n};\n\nstruct in6_validator_info {\n\tstruct in6_addr i6vi_addr;\n\tstruct inet6_dev *i6vi_dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct ipv4_devconf {\n\tvoid *sysctl;\n\tint data[33];\n\tlong unsigned int state[1];\n};\n\nstruct in_ifaddr;\n\nstruct neigh_parms;\n\nstruct in_device {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\trefcount_t refcnt;\n\tint dead;\n\tstruct in_ifaddr *ifa_list;\n\tstruct ip_mc_list *mc_list;\n\tstruct ip_mc_list **mc_hash;\n\tint mc_count;\n\tspinlock_t mc_tomb_lock;\n\tstruct ip_mc_list *mc_tomb;\n\tlong unsigned int mr_v1_seen;\n\tlong unsigned int mr_v2_seen;\n\tlong unsigned int mr_maxdelay;\n\tlong unsigned int mr_qi;\n\tlong unsigned int mr_qri;\n\tunsigned char mr_qrv;\n\tunsigned char mr_gq_running;\n\tu32 mr_ifc_count;\n\tstruct timer_list mr_gq_timer;\n\tstruct timer_list mr_ifc_timer;\n\tstruct neigh_parms *arp_parms;\n\tstruct ipv4_devconf cnf;\n\tstruct callback_head callback_head;\n};\n\nstruct in_ifaddr {\n\tstruct hlist_node addr_lst;\n\tstruct in_ifaddr *ifa_next;\n\tstruct in_device *ifa_dev;\n\tstruct callback_head callback_head;\n\t__be32 ifa_local;\n\t__be32 ifa_address;\n\t__be32 ifa_mask;\n\t__u32 ifa_rt_priority;\n\t__be32 ifa_broadcast;\n\tunsigned char ifa_scope;\n\tunsigned char ifa_prefixlen;\n\tunsigned char ifa_proto;\n\t__u32 ifa_flags;\n\tchar ifa_label[16];\n\t__u32 ifa_valid_lft;\n\t__u32 ifa_preferred_lft;\n\tlong unsigned int ifa_cstamp;\n\tlong unsigned int ifa_tstamp;\n};\n\nstruct in_pktinfo {\n\tint ipi_ifindex;\n\tstruct in_addr ipi_spec_dst;\n\tstruct in_addr ipi_addr;\n};\n\nstruct in_validator_info {\n\t__be32 ivi_addr;\n\tstruct in_device *ivi_dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct indicator_elem {\n\t__be32 token;\n\t__be32 maxindex;\n};\n\nstruct individual_sensor {\n\tunsigned int token;\n\tunsigned int quant;\n};\n\nstruct ipv6_txoptions;\n\nstruct inet6_cork {\n\tstruct ipv6_txoptions *opt;\n\tu8 hop_limit;\n\tu8 tclass;\n};\n\nstruct ipv6_stable_secret {\n\tbool initialized;\n\tstruct in6_addr secret;\n};\n\nstruct ipv6_devconf {\n\t__u8 __cacheline_group_begin__ipv6_devconf_read_txrx[0];\n\t__s32 disable_ipv6;\n\t__s32 hop_limit;\n\t__s32 mtu6;\n\t__s32 forwarding;\n\t__s32 disable_policy;\n\t__s32 proxy_ndp;\n\t__u8 __cacheline_group_end__ipv6_devconf_read_txrx[0];\n\t__s32 accept_ra;\n\t__s32 accept_redirects;\n\t__s32 autoconf;\n\t__s32 dad_transmits;\n\t__s32 rtr_solicits;\n\t__s32 rtr_solicit_interval;\n\t__s32 rtr_solicit_max_interval;\n\t__s32 rtr_solicit_delay;\n\t__s32 force_mld_version;\n\t__s32 mldv1_unsolicited_report_interval;\n\t__s32 mldv2_unsolicited_report_interval;\n\t__s32 use_tempaddr;\n\t__s32 temp_valid_lft;\n\t__s32 temp_prefered_lft;\n\t__s32 regen_min_advance;\n\t__s32 regen_max_retry;\n\t__s32 max_desync_factor;\n\t__s32 max_addresses;\n\t__s32 accept_ra_defrtr;\n\t__u32 ra_defrtr_metric;\n\t__s32 accept_ra_min_hop_limit;\n\t__s32 accept_ra_min_lft;\n\t__s32 accept_ra_pinfo;\n\t__s32 ignore_routes_with_linkdown;\n\t__s32 accept_source_route;\n\t__s32 accept_ra_from_local;\n\t__s32 drop_unicast_in_l2_multicast;\n\t__s32 accept_dad;\n\t__s32 force_tllao;\n\t__s32 ndisc_notify;\n\t__s32 suppress_frag_ndisc;\n\t__s32 accept_ra_mtu;\n\t__s32 drop_unsolicited_na;\n\t__s32 accept_untracked_na;\n\tstruct ipv6_stable_secret stable_secret;\n\t__s32 use_oif_addrs_only;\n\t__s32 keep_addr_on_down;\n\t__s32 seg6_enabled;\n\t__u32 enhanced_dad;\n\t__u32 addr_gen_mode;\n\t__s32 ndisc_tclass;\n\t__s32 rpl_seg_enabled;\n\t__u32 ioam6_id;\n\t__u32 ioam6_id_wide;\n\t__u8 ioam6_enabled;\n\t__u8 ndisc_evict_nocarrier;\n\t__u8 ra_honor_pio_life;\n\t__u8 ra_honor_pio_pflag;\n\tstruct ctl_table_header *sysctl_header;\n};\n\nstruct ipstats_mib;\n\nstruct ipv6_devstat {\n\tstruct proc_dir_entry *proc_dir_entry;\n\tstruct ipstats_mib *ipv6;\n\tstruct icmpv6_mib_device *icmpv6dev;\n\tstruct icmpv6msg_mib_device *icmpv6msgdev;\n};\n\nstruct inet6_dev {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head addr_list;\n\tstruct ifmcaddr6 *mc_list;\n\tstruct ifmcaddr6 *mc_tomb;\n\tunsigned char mc_qrv;\n\tunsigned char mc_gq_running;\n\tunsigned char mc_ifc_count;\n\tunsigned char mc_dad_count;\n\tlong unsigned int mc_v1_seen;\n\tlong unsigned int mc_qi;\n\tlong unsigned int mc_qri;\n\tlong unsigned int mc_maxdelay;\n\tstruct delayed_work mc_gq_work;\n\tstruct delayed_work mc_ifc_work;\n\tstruct delayed_work mc_dad_work;\n\tstruct delayed_work mc_query_work;\n\tstruct delayed_work mc_report_work;\n\tstruct sk_buff_head mc_query_queue;\n\tstruct sk_buff_head mc_report_queue;\n\tspinlock_t mc_query_lock;\n\tspinlock_t mc_report_lock;\n\tstruct mutex mc_lock;\n\tstruct ifacaddr6 *ac_list;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\t__u32 if_flags;\n\tint dead;\n\tu32 desync_factor;\n\tstruct list_head tempaddr_list;\n\tstruct in6_addr token;\n\tstruct neigh_parms *nd_parms;\n\tstruct ipv6_devconf cnf;\n\tstruct ipv6_devstat stats;\n\tstruct timer_list rs_timer;\n\t__s32 rs_interval;\n\t__u8 rs_probes;\n\tlong unsigned int tstamp;\n\tstruct callback_head rcu;\n\tunsigned int ra_mtu;\n};\n\nstruct inet6_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint event;\n\tunsigned int flags;\n\tint netnsid;\n\tint ifindex;\n\tenum addr_type_t type;\n\tbool force_rt_scope_universe;\n};\n\nstruct inet6_ifaddr {\n\tstruct in6_addr addr;\n\t__u32 prefix_len;\n\t__u32 rt_priority;\n\t__u32 valid_lft;\n\t__u32 prefered_lft;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tint state;\n\t__u32 flags;\n\t__u8 dad_probes;\n\t__u8 stable_privacy_retry;\n\t__u16 scope;\n\t__u64 dad_nonce;\n\tlong unsigned int cstamp;\n\tlong unsigned int tstamp;\n\tstruct delayed_work dad_work;\n\tstruct inet6_dev *idev;\n\tstruct fib6_info *rt;\n\tstruct hlist_node addr_lst;\n\tstruct list_head if_list;\n\tstruct list_head if_list_aux;\n\tstruct list_head tmp_list;\n\tstruct inet6_ifaddr *ifpub;\n\tint regen_count;\n\tbool tokenized;\n\tu8 ifa_proto;\n\tstruct callback_head rcu;\n\tstruct in6_addr peer_addr;\n};\n\nstruct inet6_skb_parm;\n\nstruct inet6_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n\tunsigned int flags;\n\tu32 secret;\n};\n\nstruct inet6_skb_parm {\n\tint iif;\n\t__be16 ra;\n\t__u16 dst0;\n\t__u16 srcrt;\n\t__u16 dst1;\n\t__u16 lastopt;\n\t__u16 nhoff;\n\t__u16 flags;\n\t__u16 frag_max_size;\n\t__u16 srhoff;\n};\n\nunion inet_addr {\n\t__u32 all[4];\n\t__be32 ip;\n\t__be32 ip6[4];\n\tstruct in_addr in;\n\tstruct in6_addr in6;\n};\n\nstruct inet_bind2_bucket {\n\tpossible_net_t ib_net;\n\tint l3mdev;\n\tshort unsigned int port;\n\tshort unsigned int addr_type;\n\tstruct in6_addr v6_rcv_saddr;\n\tstruct hlist_node node;\n\tstruct hlist_node bhash_node;\n\tstruct hlist_head owners;\n};\n\nstruct inet_bind_bucket {\n\tpossible_net_t ib_net;\n\tint l3mdev;\n\tshort unsigned int port;\n\tsigned char fastreuse;\n\tsigned char fastreuseport;\n\tkuid_t fastuid;\n\tstruct in6_addr fast_v6_rcv_saddr;\n\t__be32 fast_rcv_saddr;\n\tshort unsigned int fast_sk_family;\n\tbool fast_ipv6_only;\n\tstruct hlist_node node;\n\tstruct hlist_head bhash2;\n};\n\nstruct inet_bind_hashbucket {\n\tspinlock_t lock;\n\tstruct hlist_head chain;\n};\n\nstruct inet_cork {\n\tunsigned int flags;\n\t__be32 addr;\n\tstruct ip_options *opt;\n\tunsigned int fragsize;\n\tint length;\n\tstruct dst_entry *dst;\n\tu8 tx_flags;\n\t__u8 ttl;\n\t__s16 tos;\n\tu32 priority;\n\t__u16 gso_size;\n\tu32 ts_opt_id;\n\tu64 transmit_time;\n\tu32 mark;\n};\n\nstruct inet_cork_full {\n\tstruct inet_cork base;\n\tstruct flowi fl;\n};\n\nstruct ipv6_pinfo;\n\nstruct ip_mc_socklist;\n\nstruct inet_sock {\n\tstruct sock sk;\n\tstruct ipv6_pinfo *pinet6;\n\tlong unsigned int inet_flags;\n\t__be32 inet_saddr;\n\t__s16 uc_ttl;\n\t__be16 inet_sport;\n\tstruct ip_options_rcu *inet_opt;\n\tatomic_t inet_id;\n\t__u8 tos;\n\t__u8 min_ttl;\n\t__u8 mc_ttl;\n\t__u8 pmtudisc;\n\t__u8 rcv_tos;\n\t__u8 convert_csum;\n\tint uc_index;\n\tint mc_index;\n\t__be32 mc_addr;\n\tu32 local_port_range;\n\tstruct ip_mc_socklist *mc_list;\n\tstruct inet_cork_full cork;\n};\n\nstruct request_sock_queue {\n\tspinlock_t rskq_lock;\n\tu8 rskq_defer_accept;\n\tu32 synflood_warned;\n\tatomic_t qlen;\n\tatomic_t young;\n\tstruct request_sock *rskq_accept_head;\n\tstruct request_sock *rskq_accept_tail;\n\tstruct fastopen_queue fastopenq;\n};\n\nstruct inet_connection_sock_af_ops;\n\nstruct tcp_ulp_ops;\n\nstruct inet_connection_sock {\n\tstruct inet_sock icsk_inet;\n\tstruct request_sock_queue icsk_accept_queue;\n\tstruct inet_bind_bucket *icsk_bind_hash;\n\tstruct inet_bind2_bucket *icsk_bind2_hash;\n\tlong unsigned int icsk_timeout;\n\tstruct timer_list icsk_retransmit_timer;\n\tstruct timer_list icsk_delack_timer;\n\t__u32 icsk_rto;\n\t__u32 icsk_rto_min;\n\t__u32 icsk_delack_max;\n\t__u32 icsk_pmtu_cookie;\n\tconst struct tcp_congestion_ops *icsk_ca_ops;\n\tconst struct inet_connection_sock_af_ops *icsk_af_ops;\n\tconst struct tcp_ulp_ops *icsk_ulp_ops;\n\tvoid *icsk_ulp_data;\n\tvoid (*icsk_clean_acked)(struct sock *, u32);\n\tunsigned int (*icsk_sync_mss)(struct sock *, u32);\n\t__u8 icsk_ca_state: 5;\n\t__u8 icsk_ca_initialized: 1;\n\t__u8 icsk_ca_setsockopt: 1;\n\t__u8 icsk_ca_dst_locked: 1;\n\t__u8 icsk_retransmits;\n\t__u8 icsk_pending;\n\t__u8 icsk_backoff;\n\t__u8 icsk_syn_retries;\n\t__u8 icsk_probes_out;\n\t__u16 icsk_ext_hdr_len;\n\tstruct {\n\t\t__u8 pending;\n\t\t__u8 quick;\n\t\t__u8 pingpong;\n\t\t__u8 retry;\n\t\t__u32 ato: 8;\n\t\t__u32 lrcv_flowlabel: 20;\n\t\t__u32 unused: 4;\n\t\tlong unsigned int timeout;\n\t\t__u32 lrcvtime;\n\t\t__u16 last_seg_size;\n\t\t__u16 rcv_mss;\n\t} icsk_ack;\n\tstruct {\n\t\tint search_high;\n\t\tint search_low;\n\t\tu32 probe_size: 31;\n\t\tu32 enabled: 1;\n\t\tu32 probe_timestamp;\n\t} icsk_mtup;\n\tu32 icsk_probes_tstamp;\n\tu32 icsk_user_timeout;\n\tu64 icsk_ca_priv[13];\n};\n\nstruct inet_connection_sock_af_ops {\n\tint (*queue_xmit)(struct sock *, struct sk_buff *, struct flowi *);\n\tvoid (*send_check)(struct sock *, struct sk_buff *);\n\tint (*rebuild_header)(struct sock *);\n\tvoid (*sk_rx_dst_set)(struct sock *, const struct sk_buff *);\n\tint (*conn_request)(struct sock *, struct sk_buff *);\n\tstruct sock * (*syn_recv_sock)(const struct sock *, struct sk_buff *, struct request_sock *, struct dst_entry *, struct request_sock *, bool *);\n\tu16 net_header_len;\n\tu16 sockaddr_len;\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*addr2sockaddr)(struct sock *, struct sockaddr *);\n\tvoid (*mtu_reduced)(struct sock *);\n};\n\nstruct inet_diag_bc_op {\n\tunsigned char code;\n\tunsigned char yes;\n\tshort unsigned int no;\n};\n\nstruct inet_diag_dump_data {\n\tstruct nlattr *req_nlas[4];\n\tstruct bpf_sk_storage_diag *bpf_stg_diag;\n};\n\nstruct inet_diag_entry {\n\tconst __be32 *saddr;\n\tconst __be32 *daddr;\n\tu16 sport;\n\tu16 dport;\n\tu16 family;\n\tu16 userlocks;\n\tu32 ifindex;\n\tu32 mark;\n\tu64 cgroup_id;\n};\n\nstruct inet_diag_req_v2;\n\nstruct inet_diag_msg;\n\nstruct inet_diag_handler {\n\tstruct module *owner;\n\tvoid (*dump)(struct sk_buff *, struct netlink_callback *, const struct inet_diag_req_v2 *);\n\tint (*dump_one)(struct netlink_callback *, const struct inet_diag_req_v2 *);\n\tvoid (*idiag_get_info)(struct sock *, struct inet_diag_msg *, void *);\n\tint (*idiag_get_aux)(struct sock *, bool, struct sk_buff *);\n\tsize_t (*idiag_get_aux_size)(struct sock *, bool);\n\tint (*destroy)(struct sk_buff *, const struct inet_diag_req_v2 *);\n\t__u16 idiag_type;\n\t__u16 idiag_info_size;\n};\n\nstruct inet_diag_hostcond {\n\t__u8 family;\n\t__u8 prefix_len;\n\tint port;\n\t__be32 addr[0];\n};\n\nstruct inet_diag_markcond {\n\t__u32 mark;\n\t__u32 mask;\n};\n\nstruct inet_diag_meminfo {\n\t__u32 idiag_rmem;\n\t__u32 idiag_wmem;\n\t__u32 idiag_fmem;\n\t__u32 idiag_tmem;\n};\n\nstruct inet_diag_sockid {\n\t__be16 idiag_sport;\n\t__be16 idiag_dport;\n\t__be32 idiag_src[4];\n\t__be32 idiag_dst[4];\n\t__u32 idiag_if;\n\t__u32 idiag_cookie[2];\n};\n\nstruct inet_diag_msg {\n\t__u8 idiag_family;\n\t__u8 idiag_state;\n\t__u8 idiag_timer;\n\t__u8 idiag_retrans;\n\tstruct inet_diag_sockid id;\n\t__u32 idiag_expires;\n\t__u32 idiag_rqueue;\n\t__u32 idiag_wqueue;\n\t__u32 idiag_uid;\n\t__u32 idiag_inode;\n};\n\nstruct inet_diag_req {\n\t__u8 idiag_family;\n\t__u8 idiag_src_len;\n\t__u8 idiag_dst_len;\n\t__u8 idiag_ext;\n\tstruct inet_diag_sockid id;\n\t__u32 idiag_states;\n\t__u32 idiag_dbs;\n};\n\nstruct inet_diag_req_v2 {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n\t__u8 idiag_ext;\n\t__u8 pad;\n\t__u32 idiag_states;\n\tstruct inet_diag_sockid id;\n};\n\nstruct inet_diag_sockopt {\n\t__u8 recverr: 1;\n\t__u8 is_icsk: 1;\n\t__u8 freebind: 1;\n\t__u8 hdrincl: 1;\n\t__u8 mc_loop: 1;\n\t__u8 transparent: 1;\n\t__u8 mc_all: 1;\n\t__u8 nodefrag: 1;\n\t__u8 bind_address_no_port: 1;\n\t__u8 recverr_rfc4884: 1;\n\t__u8 defer_connect: 1;\n\t__u8 unused: 5;\n};\n\nstruct inet_ehash_bucket {\n\tstruct hlist_nulls_head chain;\n};\n\nstruct inet_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint event;\n\tunsigned int flags;\n\tint netnsid;\n\tint ifindex;\n};\n\nstruct inet_frags {\n\tunsigned int qsize;\n\tvoid (*constructor)(struct inet_frag_queue *, const void *);\n\tvoid (*destructor)(struct inet_frag_queue *);\n\tvoid (*frag_expire)(struct timer_list *);\n\tstruct kmem_cache *frags_cachep;\n\tconst char *frags_cache_name;\n\tstruct rhashtable_params rhash_params;\n\trefcount_t refcnt;\n\tstruct completion completion;\n};\n\nstruct inet_listen_hashbucket;\n\nstruct inet_hashinfo {\n\tstruct inet_ehash_bucket *ehash;\n\tspinlock_t *ehash_locks;\n\tunsigned int ehash_mask;\n\tunsigned int ehash_locks_mask;\n\tstruct kmem_cache *bind_bucket_cachep;\n\tstruct inet_bind_hashbucket *bhash;\n\tstruct kmem_cache *bind2_bucket_cachep;\n\tstruct inet_bind_hashbucket *bhash2;\n\tunsigned int bhash_size;\n\tunsigned int lhash2_mask;\n\tstruct inet_listen_hashbucket *lhash2;\n\tbool pernet;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inet_listen_hashbucket {\n\tspinlock_t lock;\n\tstruct hlist_nulls_head nulls_head;\n};\n\nstruct ipv4_addr_key {\n\t__be32 addr;\n\tint vif;\n};\n\nstruct inetpeer_addr {\n\tunion {\n\t\tstruct ipv4_addr_key a4;\n\t\tstruct in6_addr a6;\n\t\tu32 key[4];\n\t};\n\t__u16 family;\n};\n\nstruct inet_peer {\n\tstruct rb_node rb_node;\n\tstruct inetpeer_addr daddr;\n\tu32 metrics[17];\n\tu32 rate_tokens;\n\tu32 n_redirects;\n\tlong unsigned int rate_last;\n\tunion {\n\t\tstruct {\n\t\t\tatomic_t rid;\n\t\t};\n\t\tstruct callback_head rcu;\n\t};\n\t__u32 dtime;\n\trefcount_t refcnt;\n};\n\nstruct proto_ops;\n\nstruct inet_protosw {\n\tstruct list_head list;\n\tshort unsigned int type;\n\tshort unsigned int protocol;\n\tstruct proto *prot;\n\tconst struct proto_ops *ops;\n\tunsigned char flags;\n};\n\nstruct request_sock_ops;\n\nstruct saved_syn;\n\nstruct request_sock {\n\tstruct sock_common __req_common;\n\tstruct request_sock *dl_next;\n\tu16 mss;\n\tu8 num_retrans;\n\tu8 syncookie: 1;\n\tu8 num_timeout: 7;\n\tu32 ts_recent;\n\tstruct timer_list rsk_timer;\n\tconst struct request_sock_ops *rsk_ops;\n\tstruct sock *sk;\n\tstruct saved_syn *saved_syn;\n\tu32 secid;\n\tu32 peer_secid;\n\tu32 timeout;\n};\n\nstruct inet_request_sock {\n\tstruct request_sock req;\n\tu16 snd_wscale: 4;\n\tu16 rcv_wscale: 4;\n\tu16 tstamp_ok: 1;\n\tu16 sack_ok: 1;\n\tu16 wscale_ok: 1;\n\tu16 ecn_ok: 1;\n\tu16 acked: 1;\n\tu16 no_srccheck: 1;\n\tu16 smc_ok: 1;\n\tu32 ir_mark;\n\tunion {\n\t\tstruct ip_options_rcu *ireq_opt;\n\t\tstruct {\n\t\t\tstruct ipv6_txoptions *ipv6_opt;\n\t\t\tstruct sk_buff *pktopts;\n\t\t};\n\t};\n};\n\nstruct inet_skb_parm {\n\tint iif;\n\tstruct ip_options opt;\n\tu16 flags;\n\tu16 frag_max_size;\n};\n\nstruct inet_timewait_death_row {\n\trefcount_t tw_refcount;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct inet_hashinfo *hashinfo;\n\tint sysctl_max_tw_buckets;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inet_timewait_sock {\n\tstruct sock_common __tw_common;\n\t__u32 tw_mark;\n\tunsigned char tw_substate;\n\tunsigned char tw_rcv_wscale;\n\t__be16 tw_sport;\n\tunsigned int tw_transparent: 1;\n\tunsigned int tw_flowlabel: 20;\n\tunsigned int tw_usec_ts: 1;\n\tunsigned int tw_pad: 2;\n\tunsigned int tw_tos: 8;\n\tu32 tw_txhash;\n\tu32 tw_priority;\n\tu32 tw_entry_stamp;\n\tstruct timer_list tw_timer;\n\tstruct inet_bind_bucket *tw_tb;\n\tstruct inet_bind2_bucket *tw_tb2;\n};\n\nstruct inflate_state {\n\tinflate_mode mode;\n\tint last;\n\tint wrap;\n\tint havedict;\n\tint flags;\n\tunsigned int dmax;\n\tlong unsigned int check;\n\tlong unsigned int total;\n\tunsigned int wbits;\n\tunsigned int wsize;\n\tunsigned int whave;\n\tunsigned int write;\n\tunsigned char *window;\n\tlong unsigned int hold;\n\tunsigned int bits;\n\tunsigned int length;\n\tunsigned int offset;\n\tunsigned int extra;\n\tconst code *lencode;\n\tconst code *distcode;\n\tunsigned int lenbits;\n\tunsigned int distbits;\n\tunsigned int ncode;\n\tunsigned int nlen;\n\tunsigned int ndist;\n\tunsigned int have;\n\tcode *next;\n\tshort unsigned int lens[320];\n\tshort unsigned int work[288];\n\tcode codes[2048];\n};\n\nstruct inflate_workspace {\n\tstruct inflate_state inflate_state;\n\tunsigned char working_window[32768];\n};\n\nstruct mnt_idmap;\n\nstruct kstat;\n\nstruct offset_ctx;\n\nstruct inode_operations {\n\tstruct dentry * (*lookup)(struct inode *, struct dentry *, unsigned int);\n\tconst char * (*get_link)(struct dentry *, struct inode *, struct delayed_call *);\n\tint (*permission)(struct mnt_idmap *, struct inode *, int);\n\tstruct posix_acl * (*get_inode_acl)(struct inode *, int, bool);\n\tint (*readlink)(struct dentry *, char *, int);\n\tint (*create)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, bool);\n\tint (*link)(struct dentry *, struct inode *, struct dentry *);\n\tint (*unlink)(struct inode *, struct dentry *);\n\tint (*symlink)(struct mnt_idmap *, struct inode *, struct dentry *, const char *);\n\tint (*mkdir)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t);\n\tint (*rmdir)(struct inode *, struct dentry *);\n\tint (*mknod)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, dev_t);\n\tint (*rename)(struct mnt_idmap *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int);\n\tint (*setattr)(struct mnt_idmap *, struct dentry *, struct iattr *);\n\tint (*getattr)(struct mnt_idmap *, const struct path *, struct kstat *, u32, unsigned int);\n\tssize_t (*listxattr)(struct dentry *, char *, size_t);\n\tint (*fiemap)(struct inode *, struct fiemap_extent_info *, u64, u64);\n\tint (*update_time)(struct inode *, int);\n\tint (*atomic_open)(struct inode *, struct dentry *, struct file *, unsigned int, umode_t);\n\tint (*tmpfile)(struct mnt_idmap *, struct inode *, struct file *, umode_t);\n\tstruct posix_acl * (*get_acl)(struct mnt_idmap *, struct dentry *, int);\n\tint (*set_acl)(struct mnt_idmap *, struct dentry *, struct posix_acl *, int);\n\tint (*fileattr_set)(struct mnt_idmap *, struct dentry *, struct fileattr *);\n\tint (*fileattr_get)(struct dentry *, struct fileattr *);\n\tstruct offset_ctx * (*get_offset_ctx)(struct inode *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inode_security_struct {\n\tstruct inode *inode;\n\tstruct list_head list;\n\tu32 task_sid;\n\tu32 sid;\n\tu16 sclass;\n\tunsigned char initialized;\n\tspinlock_t lock;\n};\n\nstruct inode_switch_wbs_context {\n\tstruct rcu_work work;\n\tstruct bdi_writeback *new_wb;\n\tstruct inode *inodes[0];\n};\n\nstruct inodes_stat_t {\n\tlong int nr_inodes;\n\tlong int nr_unused;\n\tlong int dummy[5];\n};\n\nstruct inotify_event {\n\t__s32 wd;\n\t__u32 mask;\n\t__u32 cookie;\n\t__u32 len;\n\tchar name[0];\n};\n\nstruct inotify_event_info {\n\tstruct fsnotify_event fse;\n\tu32 mask;\n\tint wd;\n\tu32 sync_cookie;\n\tint name_len;\n\tchar name[0];\n};\n\nstruct inotify_inode_mark {\n\tstruct fsnotify_mark fsn_mark;\n\tint wd;\n};\n\nunion inparam {\n\tstruct floppy_struct g;\n\tstruct format_descr f;\n\tstruct floppy_max_errors max_errors;\n\tstruct floppy_drive_params dp;\n};\n\nstruct input_absinfo {\n\t__s32 value;\n\t__s32 minimum;\n\t__s32 maximum;\n\t__s32 fuzz;\n\t__s32 flat;\n\t__s32 resolution;\n};\n\nstruct input_id {\n\t__u16 bustype;\n\t__u16 vendor;\n\t__u16 product;\n\t__u16 version;\n};\n\nstruct input_dev_poller;\n\nstruct input_mt;\n\nstruct input_handle;\n\nstruct input_value;\n\nstruct input_dev {\n\tconst char *name;\n\tconst char *phys;\n\tconst char *uniq;\n\tstruct input_id id;\n\tlong unsigned int propbit[1];\n\tlong unsigned int evbit[1];\n\tlong unsigned int keybit[12];\n\tlong unsigned int relbit[1];\n\tlong unsigned int absbit[1];\n\tlong unsigned int mscbit[1];\n\tlong unsigned int ledbit[1];\n\tlong unsigned int sndbit[1];\n\tlong unsigned int ffbit[2];\n\tlong unsigned int swbit[1];\n\tunsigned int hint_events_per_packet;\n\tunsigned int keycodemax;\n\tunsigned int keycodesize;\n\tvoid *keycode;\n\tint (*setkeycode)(struct input_dev *, const struct input_keymap_entry *, unsigned int *);\n\tint (*getkeycode)(struct input_dev *, struct input_keymap_entry *);\n\tstruct ff_device *ff;\n\tstruct input_dev_poller *poller;\n\tunsigned int repeat_key;\n\tstruct timer_list timer;\n\tint rep[2];\n\tstruct input_mt *mt;\n\tstruct input_absinfo *absinfo;\n\tlong unsigned int key[12];\n\tlong unsigned int led[1];\n\tlong unsigned int snd[1];\n\tlong unsigned int sw[1];\n\tint (*open)(struct input_dev *);\n\tvoid (*close)(struct input_dev *);\n\tint (*flush)(struct input_dev *, struct file *);\n\tint (*event)(struct input_dev *, unsigned int, unsigned int, int);\n\tstruct input_handle *grab;\n\tspinlock_t event_lock;\n\tstruct mutex mutex;\n\tunsigned int users;\n\tbool going_away;\n\tstruct device dev;\n\tstruct list_head h_list;\n\tstruct list_head node;\n\tunsigned int num_vals;\n\tunsigned int max_vals;\n\tstruct input_value *vals;\n\tbool devres_managed;\n\tktime_t timestamp[3];\n\tbool inhibited;\n};\n\nstruct input_dev_poller {\n\tvoid (*poll)(struct input_dev *);\n\tunsigned int poll_interval;\n\tunsigned int poll_interval_max;\n\tunsigned int poll_interval_min;\n\tstruct input_dev *input;\n\tstruct delayed_work work;\n};\n\nstruct input_device_id {\n\tkernel_ulong_t flags;\n\t__u16 bustype;\n\t__u16 vendor;\n\t__u16 product;\n\t__u16 version;\n\tkernel_ulong_t evbit[1];\n\tkernel_ulong_t keybit[12];\n\tkernel_ulong_t relbit[1];\n\tkernel_ulong_t absbit[1];\n\tkernel_ulong_t mscbit[1];\n\tkernel_ulong_t ledbit[1];\n\tkernel_ulong_t sndbit[1];\n\tkernel_ulong_t ffbit[2];\n\tkernel_ulong_t swbit[1];\n\tkernel_ulong_t propbit[1];\n\tkernel_ulong_t driver_info;\n};\n\nstruct input_devres {\n\tstruct input_dev *input;\n};\n\nstruct input_event {\n\t__kernel_ulong_t __sec;\n\t__kernel_ulong_t __usec;\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct input_handler;\n\nstruct input_handle {\n\tvoid *private;\n\tint open;\n\tconst char *name;\n\tstruct input_dev *dev;\n\tstruct input_handler *handler;\n\tunsigned int (*handle_events)(struct input_handle *, struct input_value *, unsigned int);\n\tstruct list_head d_node;\n\tstruct list_head h_node;\n};\n\nstruct input_handler {\n\tvoid *private;\n\tvoid (*event)(struct input_handle *, unsigned int, unsigned int, int);\n\tunsigned int (*events)(struct input_handle *, struct input_value *, unsigned int);\n\tbool (*filter)(struct input_handle *, unsigned int, unsigned int, int);\n\tbool (*match)(struct input_handler *, struct input_dev *);\n\tint (*connect)(struct input_handler *, struct input_dev *, const struct input_device_id *);\n\tvoid (*disconnect)(struct input_handle *);\n\tvoid (*start)(struct input_handle *);\n\tbool passive_observer;\n\tbool legacy_minors;\n\tint minor;\n\tconst char *name;\n\tconst struct input_device_id *id_table;\n\tstruct list_head h_list;\n\tstruct list_head node;\n};\n\nstruct input_mt_slot {\n\tint abs[14];\n\tunsigned int frame;\n\tunsigned int key;\n};\n\nstruct input_mt {\n\tint trkid;\n\tint num_slots;\n\tint slot;\n\tunsigned int flags;\n\tunsigned int frame;\n\tint *red;\n\tstruct input_mt_slot slots[0];\n};\n\nstruct input_seq_state {\n\tshort unsigned int pos;\n\tbool mutex_acquired;\n\tint input_devices_state;\n};\n\nstruct input_value {\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct instance_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct edac_device_instance *, char *);\n\tssize_t (*store)(struct edac_device_instance *, const char *, size_t);\n};\n\nstruct instance_attribute___2 {\n\tstruct attribute attr;\n\tssize_t (*show)(struct edac_pci_ctl_info *, char *);\n\tssize_t (*store)(struct edac_pci_ctl_info *, const char *, size_t);\n};\n\nstruct instruction_op {\n\tint type;\n\tint reg;\n\tlong unsigned int val;\n\tlong unsigned int ea;\n\tint update_reg;\n\tint spr;\n\tu32 ccval;\n\tu32 xerval;\n\tu8 element_size;\n\tu8 vsx_flags;\n};\n\nstruct internal_container {\n\tstruct klist_node node;\n\tstruct attribute_container *cont;\n\tstruct device classdev;\n};\n\nstruct internal_state {\n\tint dummy;\n};\n\nstruct interrupt_nmi_state {\n\tu8 irq_soft_mask;\n\tu8 irq_happened;\n\tu8 ftrace_enabled;\n\tu64 softe;\n};\n\nstruct interval {\n\tuint32_t first;\n\tuint32_t last;\n};\n\nstruct interval_tree_node {\n\tstruct rb_node rb;\n\tlong unsigned int start;\n\tlong unsigned int last;\n\tlong unsigned int __subtree_last;\n};\n\nstruct io {\n\tlong unsigned int error_bits;\n\tatomic_t count;\n\tstruct dm_io_client *client;\n\tio_notify_fn callback;\n\tvoid *context;\n\tvoid *vma_invalidate_address;\n\tlong unsigned int vma_invalidate_size;\n\tlong: 64;\n};\n\nstruct io_accept {\n\tstruct file *file;\n\tstruct sockaddr *addr;\n\tint *addr_len;\n\tint flags;\n\tint iou_flags;\n\tu32 file_slot;\n\tlong unsigned int nofile;\n};\n\nstruct io_alloc_cache {\n\tvoid **entries;\n\tunsigned int nr_cached;\n\tunsigned int max_cached;\n\tunsigned int elem_size;\n\tunsigned int init_clear;\n};\n\nstruct ubuf_info;\n\nstruct msghdr {\n\tvoid *msg_name;\n\tint msg_namelen;\n\tint msg_inq;\n\tstruct iov_iter msg_iter;\n\tunion {\n\t\tvoid *msg_control;\n\t\tvoid *msg_control_user;\n\t};\n\tbool msg_control_is_user: 1;\n\tbool msg_get_inq: 1;\n\tunsigned int msg_flags;\n\t__kernel_size_t msg_controllen;\n\tstruct kiocb *msg_iocb;\n\tstruct ubuf_info *msg_ubuf;\n\tint (*sg_from_iter)(struct sk_buff *, struct iov_iter *, size_t);\n};\n\nstruct io_async_msghdr {\n\tstruct iovec *free_iov;\n\tint free_iov_nr;\n\tunion {\n\t\tstruct {\n\t\t\tint namelen;\n\t\t\tstruct iovec fast_iov;\n\t\t\t__kernel_size_t controllen;\n\t\t\t__kernel_size_t payloadlen;\n\t\t\tstruct sockaddr *uaddr;\n\t\t\tstruct msghdr msg;\n\t\t\tstruct __kernel_sockaddr_storage addr;\n\t\t};\n\t\tstruct {\n\t\t\tint namelen;\n\t\t\tstruct iovec fast_iov;\n\t\t\t__kernel_size_t controllen;\n\t\t\t__kernel_size_t payloadlen;\n\t\t\tstruct sockaddr *uaddr;\n\t\t\tstruct msghdr msg;\n\t\t\tstruct __kernel_sockaddr_storage addr;\n\t\t} clear;\n\t};\n};\n\nstruct iov_iter_state {\n\tsize_t iov_offset;\n\tsize_t count;\n\tlong unsigned int nr_segs;\n};\n\nstruct wait_page_queue {\n\tstruct folio *folio;\n\tint bit_nr;\n\twait_queue_entry_t wait;\n};\n\nstruct uio_meta {\n\tuio_meta_flags_t flags;\n\tu16 app_tag;\n\tu64 seed;\n\tstruct iov_iter iter;\n};\n\nstruct io_meta_state {\n\tu32 seed;\n\tstruct iov_iter_state iter_meta;\n};\n\nstruct io_async_rw {\n\tsize_t bytes_done;\n\tstruct iovec *free_iovec;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iov_iter iter;\n\t\t\tstruct iov_iter_state iter_state;\n\t\t\tstruct iovec fast_iov;\n\t\t\tint free_iov_nr;\n\t\t\tunion {\n\t\t\t\tstruct wait_page_queue wpq;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct uio_meta meta;\n\t\t\t\t\tstruct io_meta_state meta_state;\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\tstruct {\n\t\t\tstruct iov_iter iter;\n\t\t\tstruct iov_iter_state iter_state;\n\t\t\tstruct iovec fast_iov;\n\t\t\tint free_iov_nr;\n\t\t\tunion {\n\t\t\t\tstruct wait_page_queue wpq;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct uio_meta meta;\n\t\t\t\t\tstruct io_meta_state meta_state;\n\t\t\t\t};\n\t\t\t};\n\t\t} clear;\n\t};\n};\n\nstruct io_bind {\n\tstruct file *file;\n\tint addr_len;\n};\n\nstruct io_buffer {\n\tstruct list_head list;\n\t__u64 addr;\n\t__u32 len;\n\t__u16 bid;\n\t__u16 bgid;\n};\n\nstruct io_mapped_region {\n\tstruct page **pages;\n\tvoid *ptr;\n\tunsigned int nr_pages;\n\tunsigned int flags;\n};\n\nstruct io_uring_buf_ring;\n\nstruct io_buffer_list {\n\tunion {\n\t\tstruct list_head buf_list;\n\t\tstruct io_uring_buf_ring *buf_ring;\n\t};\n\t__u16 bgid;\n\t__u16 buf_nr_pages;\n\t__u16 nr_entries;\n\t__u16 head;\n\t__u16 mask;\n\t__u16 flags;\n\tstruct io_mapped_region region;\n};\n\nstruct io_cancel {\n\tstruct file *file;\n\tu64 addr;\n\tu32 flags;\n\ts32 fd;\n\tu8 opcode;\n};\n\nstruct io_ring_ctx;\n\nstruct io_cancel_data {\n\tstruct io_ring_ctx *ctx;\n\tunion {\n\t\tu64 data;\n\t\tstruct file *file;\n\t};\n\tu8 opcode;\n\tu32 flags;\n\tint seq;\n};\n\nstruct io_wq_work;\n\ntypedef bool work_cancel_fn(struct io_wq_work *, void *);\n\nstruct io_cb_cancel_data {\n\twork_cancel_fn *fn;\n\tvoid *data;\n\tint nr_running;\n\tint nr_pending;\n\tbool cancel_all;\n};\n\nstruct io_close {\n\tstruct file *file;\n\tint fd;\n\tu32 file_slot;\n};\n\nstruct io_cmd_data {\n\tstruct file *file;\n\t__u8 data[56];\n};\n\nstruct io_kiocb;\n\nstruct io_cold_def {\n\tconst char *name;\n\tvoid (*cleanup)(struct io_kiocb *);\n\tvoid (*fail)(struct io_kiocb *);\n};\n\nstruct io_comp_batch {\n\tstruct rq_list req_list;\n\tbool need_ts;\n\tvoid (*complete)(struct io_comp_batch *);\n};\n\nstruct io_connect {\n\tstruct file *file;\n\tstruct sockaddr *addr;\n\tint addr_len;\n\tbool in_progress;\n\tbool seen_econnaborted;\n};\n\nstruct io_context {\n\tatomic_long_t refcount;\n\tatomic_t active_ref;\n\tshort unsigned int ioprio;\n};\n\nstruct io_cq {\n\tstruct request_queue *q;\n\tstruct io_context *ioc;\n\tunion {\n\t\tstruct list_head q_node;\n\t\tstruct kmem_cache *__rcu_icq_cache;\n\t};\n\tunion {\n\t\tstruct hlist_node ioc_node;\n\t\tstruct callback_head __rcu_head;\n\t};\n\tunsigned int flags;\n};\n\nstruct io_cqe {\n\t__u64 user_data;\n\t__s32 res;\n\tunion {\n\t\t__u32 flags;\n\t\tint fd;\n\t};\n};\n\nstruct io_cqring_offsets {\n\t__u32 head;\n\t__u32 tail;\n\t__u32 ring_mask;\n\t__u32 ring_entries;\n\t__u32 overflow;\n\t__u32 cqes;\n\t__u32 flags;\n\t__u32 resv1;\n\t__u64 user_addr;\n};\n\nstruct io_defer_entry {\n\tstruct list_head list;\n\tstruct io_kiocb *req;\n\tu32 seq;\n};\n\nstruct io_epoll {\n\tstruct file *file;\n\tint epfd;\n\tint op;\n\tint fd;\n\tstruct epoll_event event;\n};\n\nstruct io_err_c {\n\tstruct dm_dev *dev;\n\tsector_t start;\n};\n\nstruct io_ev_fd {\n\tstruct eventfd_ctx *cq_ev_fd;\n\tunsigned int eventfd_async;\n\tunsigned int last_cq_tail;\n\trefcount_t refs;\n\tatomic_t ops;\n\tstruct callback_head rcu;\n};\n\nstruct io_fadvise {\n\tstruct file *file;\n\tu64 offset;\n\tu64 len;\n\tu32 advice;\n};\n\nstruct io_rsrc_node;\n\nstruct io_rsrc_data {\n\tunsigned int nr;\n\tstruct io_rsrc_node **nodes;\n};\n\nstruct io_file_table {\n\tstruct io_rsrc_data data;\n\tlong unsigned int *bitmap;\n\tunsigned int alloc_hint;\n};\n\nstruct io_fixed_install {\n\tstruct file *file;\n\tunsigned int o_flags;\n};\n\nstruct io_ftrunc {\n\tstruct file *file;\n\tloff_t len;\n};\n\nstruct io_futex {\n\tstruct file *file;\n\tunion {\n\t\tu32 *uaddr;\n\t\tstruct futex_waitv *uwaitv;\n\t};\n\tlong unsigned int futex_val;\n\tlong unsigned int futex_mask;\n\tlong unsigned int futexv_owned;\n\tu32 futex_flags;\n\tunsigned int futex_nr;\n\tbool futexv_unqueued;\n};\n\nstruct io_futex_data {\n\tstruct futex_q q;\n\tstruct io_kiocb *req;\n};\n\nstruct io_hash_bucket {\n\tstruct hlist_head list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct io_hash_table {\n\tstruct io_hash_bucket *hbs;\n\tunsigned int hash_bits;\n};\n\nstruct io_imu_folio_data {\n\tunsigned int nr_pages_head;\n\tunsigned int nr_pages_mid;\n\tunsigned int folio_shift;\n\tunsigned int nr_folios;\n};\n\nstruct io_uring_sqe;\n\nstruct io_issue_def {\n\tunsigned int needs_file: 1;\n\tunsigned int plug: 1;\n\tunsigned int hash_reg_file: 1;\n\tunsigned int unbound_nonreg_file: 1;\n\tunsigned int pollin: 1;\n\tunsigned int pollout: 1;\n\tunsigned int poll_exclusive: 1;\n\tunsigned int buffer_select: 1;\n\tunsigned int audit_skip: 1;\n\tunsigned int ioprio: 1;\n\tunsigned int iopoll: 1;\n\tunsigned int iopoll_queue: 1;\n\tunsigned int vectored: 1;\n\tshort unsigned int async_size;\n\tint (*issue)(struct io_kiocb *, unsigned int);\n\tint (*prep)(struct io_kiocb *, const struct io_uring_sqe *);\n};\n\nstruct io_wq_work_node {\n\tstruct io_wq_work_node *next;\n};\n\nstruct io_tw_state;\n\ntypedef void (*io_req_tw_func_t)(struct io_kiocb *, struct io_tw_state *);\n\nstruct io_task_work {\n\tstruct llist_node node;\n\tio_req_tw_func_t func;\n};\n\nstruct io_wq_work {\n\tstruct io_wq_work_node list;\n\tatomic_t flags;\n\tint cancel_seq;\n};\n\nstruct io_uring_task;\n\nstruct io_kiocb {\n\tunion {\n\t\tstruct file *file;\n\t\tstruct io_cmd_data cmd;\n\t};\n\tu8 opcode;\n\tu8 iopoll_completed;\n\tu16 buf_index;\n\tunsigned int nr_tw;\n\tio_req_flags_t flags;\n\tstruct io_cqe cqe;\n\tstruct io_ring_ctx *ctx;\n\tstruct io_uring_task *tctx;\n\tunion {\n\t\tstruct io_buffer *kbuf;\n\t\tstruct io_buffer_list *buf_list;\n\t\tstruct io_rsrc_node *buf_node;\n\t};\n\tunion {\n\t\tstruct io_wq_work_node comp_list;\n\t\t__poll_t apoll_events;\n\t};\n\tstruct io_rsrc_node *file_node;\n\tatomic_t refs;\n\tbool cancel_seq_set;\n\tstruct io_task_work io_task_work;\n\tunion {\n\t\tstruct hlist_node hash_node;\n\t\tu64 iopoll_start;\n\t};\n\tstruct async_poll *apoll;\n\tvoid *async_data;\n\tatomic_t poll_refs;\n\tstruct io_kiocb *link;\n\tconst struct cred *creds;\n\tstruct io_wq_work work;\n\tstruct {\n\t\tu64 extra1;\n\t\tu64 extra2;\n\t} big_cqe;\n};\n\nstruct io_link {\n\tstruct file *file;\n\tint old_dfd;\n\tint new_dfd;\n\tstruct filename *oldpath;\n\tstruct filename *newpath;\n\tint flags;\n};\n\nstruct io_listen {\n\tstruct file *file;\n\tint backlog;\n};\n\nstruct io_madvise {\n\tstruct file *file;\n\tu64 addr;\n\tu64 len;\n\tu32 advice;\n};\n\nstruct io_mapped_ubuf {\n\tu64 ubuf;\n\tunsigned int len;\n\tunsigned int nr_bvecs;\n\tunsigned int folio_shift;\n\trefcount_t refs;\n\tlong unsigned int acct_pages;\n\tstruct bio_vec bvec[0];\n};\n\nstruct io_mkdir {\n\tstruct file *file;\n\tint dfd;\n\tumode_t mode;\n\tstruct filename *filename;\n};\n\nstruct io_msg {\n\tstruct file *file;\n\tstruct file *src_file;\n\tstruct callback_head tw;\n\tu64 user_data;\n\tu32 len;\n\tu32 cmd;\n\tu32 src_fd;\n\tunion {\n\t\tu32 dst_fd;\n\t\tu32 cqe_flags;\n\t};\n\tu32 flags;\n};\n\nstruct io_napi_entry {\n\tunsigned int napi_id;\n\tstruct list_head list;\n\tlong unsigned int timeout;\n\tstruct hlist_node node;\n\tstruct callback_head rcu;\n};\n\nstruct io_nop {\n\tstruct file *file;\n\tint result;\n\tint fd;\n\tint buffer;\n\tunsigned int flags;\n};\n\nstruct ubuf_info_ops;\n\nstruct ubuf_info {\n\tconst struct ubuf_info_ops *ops;\n\trefcount_t refcnt;\n\tu8 flags;\n};\n\nstruct io_notif_data {\n\tstruct file *file;\n\tstruct ubuf_info uarg;\n\tstruct io_notif_data *next;\n\tstruct io_notif_data *head;\n\tunsigned int account_pages;\n\tbool zc_report;\n\tbool zc_used;\n\tbool zc_copied;\n};\n\nstruct io_open {\n\tstruct file *file;\n\tint dfd;\n\tu32 file_slot;\n\tstruct filename *filename;\n\tstruct open_how how;\n\tlong unsigned int nofile;\n};\n\nstruct io_uring_cqe {\n\t__u64 user_data;\n\t__s32 res;\n\t__u32 flags;\n\t__u64 big_cqe[0];\n};\n\nstruct io_overflow_cqe {\n\tstruct list_head list;\n\tstruct io_uring_cqe cqe;\n};\n\nstruct io_poll_table {\n\tstruct poll_table_struct pt;\n\tstruct io_kiocb *req;\n\tint nr_entries;\n\tint error;\n\tbool owning;\n\t__poll_t result_mask;\n};\n\nstruct io_poll_update {\n\tstruct file *file;\n\tu64 old_user_data;\n\tu64 new_user_data;\n\t__poll_t events;\n\tbool update_events;\n\tbool update_user_data;\n};\n\nstruct io_provide_buf {\n\tstruct file *file;\n\t__u64 addr;\n\t__u32 len;\n\t__u32 bgid;\n\t__u32 nbufs;\n\t__u16 bid;\n};\n\nstruct io_uring_recvmsg_out {\n\t__u32 namelen;\n\t__u32 controllen;\n\t__u32 payloadlen;\n\t__u32 flags;\n};\n\nstruct io_recvmsg_multishot_hdr {\n\tstruct io_uring_recvmsg_out msg;\n\tstruct __kernel_sockaddr_storage addr;\n};\n\nstruct io_region {\n\tint offset;\n\tint size;\n};\n\nstruct io_rename {\n\tstruct file *file;\n\tint old_dfd;\n\tint new_dfd;\n\tstruct filename *oldpath;\n\tstruct filename *newpath;\n\tint flags;\n};\n\nstruct io_restriction {\n\tlong unsigned int register_op[1];\n\tlong unsigned int sqe_op[1];\n\tu8 sqe_flags_allowed;\n\tu8 sqe_flags_required;\n\tbool registered;\n};\n\nstruct io_wq_work_list {\n\tstruct io_wq_work_node *first;\n\tstruct io_wq_work_node *last;\n};\n\nstruct io_submit_link {\n\tstruct io_kiocb *head;\n\tstruct io_kiocb *last;\n};\n\nstruct io_submit_state {\n\tstruct io_wq_work_node free_list;\n\tstruct io_wq_work_list compl_reqs;\n\tstruct io_submit_link link;\n\tbool plug_started;\n\tbool need_plug;\n\tbool cq_flush;\n\tshort unsigned int submit_nr;\n\tstruct blk_plug plug;\n};\n\nstruct io_rings;\n\nstruct io_sq_data;\n\nstruct io_wq_hash;\n\nstruct io_ring_ctx {\n\tstruct {\n\t\tunsigned int flags;\n\t\tunsigned int drain_next: 1;\n\t\tunsigned int restricted: 1;\n\t\tunsigned int off_timeout_used: 1;\n\t\tunsigned int drain_active: 1;\n\t\tunsigned int has_evfd: 1;\n\t\tunsigned int task_complete: 1;\n\t\tunsigned int lockless_cq: 1;\n\t\tunsigned int syscall_iopoll: 1;\n\t\tunsigned int poll_activated: 1;\n\t\tunsigned int drain_disabled: 1;\n\t\tunsigned int compat: 1;\n\t\tunsigned int iowq_limits_set: 1;\n\t\tstruct task_struct *submitter_task;\n\t\tstruct io_rings *rings;\n\t\tstruct percpu_ref refs;\n\t\tclockid_t clockid;\n\t\tenum tk_offsets clock_offset;\n\t\tenum task_work_notify_mode notify_method;\n\t\tunsigned int sq_thread_idle;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct mutex uring_lock;\n\t\tu32 *sq_array;\n\t\tstruct io_uring_sqe *sq_sqes;\n\t\tunsigned int cached_sq_head;\n\t\tunsigned int sq_entries;\n\t\tatomic_t cancel_seq;\n\t\tbool poll_multi_queue;\n\t\tstruct io_wq_work_list iopoll_list;\n\t\tstruct io_file_table file_table;\n\t\tstruct io_rsrc_data buf_table;\n\t\tstruct io_submit_state submit_state;\n\t\tstruct xarray io_bl_xa;\n\t\tstruct io_hash_table cancel_table;\n\t\tstruct io_alloc_cache apoll_cache;\n\t\tstruct io_alloc_cache netmsg_cache;\n\t\tstruct io_alloc_cache rw_cache;\n\t\tstruct io_alloc_cache uring_cache;\n\t\tstruct hlist_head cancelable_uring_cmd;\n\t\tu64 hybrid_poll_time;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct io_uring_cqe *cqe_cached;\n\t\tstruct io_uring_cqe *cqe_sentinel;\n\t\tunsigned int cached_cq_tail;\n\t\tunsigned int cq_entries;\n\t\tstruct io_ev_fd *io_ev_fd;\n\t\tunsigned int cq_extra;\n\t\tvoid *cq_wait_arg;\n\t\tsize_t cq_wait_size;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct llist_head work_llist;\n\t\tstruct llist_head retry_llist;\n\t\tlong unsigned int check_cq;\n\t\tatomic_t cq_wait_nr;\n\t\tatomic_t cq_timeouts;\n\t\tstruct wait_queue_head cq_wait;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\traw_spinlock_t timeout_lock;\n\t\tstruct list_head timeout_list;\n\t\tstruct list_head ltimeout_list;\n\t\tunsigned int cq_last_tm_flush;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tspinlock_t completion_lock;\n\tstruct list_head io_buffers_comp;\n\tstruct list_head cq_overflow_list;\n\tstruct hlist_head waitid_list;\n\tstruct hlist_head futex_list;\n\tstruct io_alloc_cache futex_cache;\n\tconst struct cred *sq_creds;\n\tstruct io_sq_data *sq_data;\n\tstruct wait_queue_head sqo_sq_wait;\n\tstruct list_head sqd_list;\n\tunsigned int file_alloc_start;\n\tunsigned int file_alloc_end;\n\tstruct list_head io_buffers_cache;\n\tstruct wait_queue_head poll_wq;\n\tstruct io_restriction restrictions;\n\tu32 pers_next;\n\tstruct xarray personalities;\n\tstruct io_wq_hash *hash_map;\n\tstruct user_struct *user;\n\tstruct mm_struct *mm_account;\n\tstruct llist_head fallback_llist;\n\tstruct delayed_work fallback_work;\n\tstruct work_struct exit_work;\n\tstruct list_head tctx_list;\n\tstruct completion ref_comp;\n\tu32 iowq_limits[2];\n\tstruct callback_head poll_wq_task_work;\n\tstruct list_head defer_list;\n\tstruct io_alloc_cache msg_cache;\n\tspinlock_t msg_lock;\n\tstruct list_head napi_list;\n\tspinlock_t napi_lock;\n\tktime_t napi_busy_poll_dt;\n\tbool napi_prefer_busy_poll;\n\tu8 napi_track_mode;\n\tstruct hlist_head napi_ht[16];\n\tunsigned int evfd_last_cq_tail;\n\tstruct mutex mmap_lock;\n\tstruct io_mapped_region sq_region;\n\tstruct io_mapped_region ring_region;\n\tstruct io_mapped_region param_region;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct io_ring_ctx_rings {\n\tstruct io_rings *rings;\n\tstruct io_uring_sqe *sq_sqes;\n\tstruct io_mapped_region sq_region;\n\tstruct io_mapped_region ring_region;\n};\n\nstruct io_uring {\n\tu32 head;\n\tu32 tail;\n};\n\nstruct io_rings {\n\tstruct io_uring sq;\n\tstruct io_uring cq;\n\tu32 sq_ring_mask;\n\tu32 cq_ring_mask;\n\tu32 sq_ring_entries;\n\tu32 cq_ring_entries;\n\tu32 sq_dropped;\n\tatomic_t sq_flags;\n\tu32 cq_flags;\n\tu32 cq_overflow;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct io_uring_cqe cqes[0];\n};\n\nstruct io_rsrc_node {\n\tunsigned char type;\n\tint refs;\n\tu64 tag;\n\tunion {\n\t\tlong unsigned int file_ptr;\n\t\tstruct io_mapped_ubuf *buf;\n\t};\n};\n\nstruct io_rsrc_update {\n\tstruct file *file;\n\tu64 arg;\n\tu32 nr_args;\n\tu32 offset;\n};\n\nstruct io_rw {\n\tstruct kiocb kiocb;\n\tu64 addr;\n\tu32 len;\n\trwf_t flags;\n};\n\nstruct io_shutdown {\n\tstruct file *file;\n\tint how;\n};\n\nstruct io_socket {\n\tstruct file *file;\n\tint domain;\n\tint type;\n\tint protocol;\n\tint flags;\n\tu32 file_slot;\n\tlong unsigned int nofile;\n};\n\nstruct io_splice {\n\tstruct file *file_out;\n\tloff_t off_out;\n\tloff_t off_in;\n\tu64 len;\n\tint splice_fd_in;\n\tunsigned int flags;\n\tstruct io_rsrc_node *rsrc_node;\n};\n\nstruct io_sq_data {\n\trefcount_t refs;\n\tatomic_t park_pending;\n\tstruct mutex lock;\n\tstruct list_head ctx_list;\n\tstruct task_struct *thread;\n\tstruct wait_queue_head wait;\n\tunsigned int sq_thread_idle;\n\tint sq_cpu;\n\tpid_t task_pid;\n\tpid_t task_tgid;\n\tu64 work_time;\n\tlong unsigned int state;\n\tstruct completion exited;\n};\n\nstruct io_sqring_offsets {\n\t__u32 head;\n\t__u32 tail;\n\t__u32 ring_mask;\n\t__u32 ring_entries;\n\t__u32 flags;\n\t__u32 dropped;\n\t__u32 array;\n\t__u32 resv1;\n\t__u64 user_addr;\n};\n\nstruct user_msghdr;\n\nstruct io_sr_msg {\n\tstruct file *file;\n\tunion {\n\t\tstruct compat_msghdr *umsg_compat;\n\t\tstruct user_msghdr *umsg;\n\t\tvoid *buf;\n\t};\n\tint len;\n\tunsigned int done_io;\n\tunsigned int msg_flags;\n\tunsigned int nr_multishot_loops;\n\tu16 flags;\n\tu16 buf_group;\n\tu16 buf_index;\n\tvoid *msg_control;\n\tstruct io_kiocb *notif;\n};\n\nstruct statx;\n\nstruct io_statx {\n\tstruct file *file;\n\tint dfd;\n\tunsigned int mask;\n\tunsigned int flags;\n\tstruct filename *filename;\n\tstruct statx *buffer;\n};\n\nstruct io_sync {\n\tstruct file *file;\n\tloff_t len;\n\tloff_t off;\n\tint flags;\n\tint mode;\n};\n\nstruct io_task_cancel {\n\tstruct io_uring_task *tctx;\n\tbool all;\n};\n\nstruct io_tctx_exit {\n\tstruct callback_head task_work;\n\tstruct completion completion;\n\tstruct io_ring_ctx *ctx;\n};\n\nstruct io_tctx_node {\n\tstruct list_head ctx_node;\n\tstruct task_struct *task;\n\tstruct io_ring_ctx *ctx;\n};\n\nstruct io_timeout {\n\tstruct file *file;\n\tu32 off;\n\tu32 target_seq;\n\tu32 repeats;\n\tstruct list_head list;\n\tstruct io_kiocb *head;\n\tstruct io_kiocb *prev;\n};\n\nstruct io_timeout_data {\n\tstruct io_kiocb *req;\n\tstruct hrtimer timer;\n\tstruct timespec64 ts;\n\tenum hrtimer_mode mode;\n\tu32 flags;\n};\n\nstruct io_timeout_rem {\n\tstruct file *file;\n\tu64 addr;\n\tstruct timespec64 ts;\n\tu32 flags;\n\tbool ltimeout;\n};\n\nstruct io_tlb_area {\n\tlong unsigned int used;\n\tunsigned int index;\n\tspinlock_t lock;\n};\n\nstruct io_tlb_slot;\n\nstruct io_tlb_pool {\n\tphys_addr_t start;\n\tphys_addr_t end;\n\tvoid *vaddr;\n\tlong unsigned int nslabs;\n\tbool late_alloc;\n\tunsigned int nareas;\n\tunsigned int area_nslabs;\n\tstruct io_tlb_area *areas;\n\tstruct io_tlb_slot *slots;\n};\n\nstruct io_tlb_mem {\n\tstruct io_tlb_pool defpool;\n\tlong unsigned int nslabs;\n\tstruct dentry *debugfs;\n\tbool force_bounce;\n\tbool for_alloc;\n\tatomic_long_t total_used;\n\tatomic_long_t used_hiwater;\n\tatomic_long_t transient_nslabs;\n};\n\nstruct io_tlb_slot {\n\tphys_addr_t orig_addr;\n\tsize_t alloc_size;\n\tshort unsigned int list;\n\tshort unsigned int pad_slots;\n};\n\nstruct io_tw_state {};\n\nstruct io_unlink {\n\tstruct file *file;\n\tint dfd;\n\tint flags;\n\tstruct filename *filename;\n};\n\nstruct io_uring_attr_pi {\n\t__u16 flags;\n\t__u16 app_tag;\n\t__u32 len;\n\t__u64 addr;\n\t__u64 seed;\n\t__u64 rsvd;\n};\n\nstruct io_uring_buf {\n\t__u64 addr;\n\t__u32 len;\n\t__u16 bid;\n\t__u16 resv;\n};\n\nstruct io_uring_buf_reg {\n\t__u64 ring_addr;\n\t__u32 ring_entries;\n\t__u16 bgid;\n\t__u16 flags;\n\t__u64 resv[3];\n};\n\nstruct io_uring_buf_ring {\n\tunion {\n\t\tstruct {\n\t\t\t__u64 resv1;\n\t\t\t__u32 resv2;\n\t\t\t__u16 resv3;\n\t\t\t__u16 tail;\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_bufs;\n\t\t\tstruct io_uring_buf bufs[0];\n\t\t};\n\t};\n};\n\nstruct io_uring_buf_status {\n\t__u32 buf_group;\n\t__u32 head;\n\t__u32 resv[8];\n};\n\nstruct io_uring_clock_register {\n\t__u32 clockid;\n\t__u32 __resv[3];\n};\n\nstruct io_uring_clone_buffers {\n\t__u32 src_fd;\n\t__u32 flags;\n\t__u32 src_off;\n\t__u32 dst_off;\n\t__u32 nr;\n\t__u32 pad[3];\n};\n\nstruct io_uring_cmd {\n\tstruct file *file;\n\tconst struct io_uring_sqe *sqe;\n\tvoid (*task_work_cb)(struct io_uring_cmd *, unsigned int);\n\tu32 cmd_op;\n\tu32 flags;\n\tu8 pdu[32];\n};\n\nstruct io_uring_sqe {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 ioprio;\n\t__s32 fd;\n\tunion {\n\t\t__u64 off;\n\t\t__u64 addr2;\n\t\tstruct {\n\t\t\t__u32 cmd_op;\n\t\t\t__u32 __pad1;\n\t\t};\n\t};\n\tunion {\n\t\t__u64 addr;\n\t\t__u64 splice_off_in;\n\t\tstruct {\n\t\t\t__u32 level;\n\t\t\t__u32 optname;\n\t\t};\n\t};\n\t__u32 len;\n\tunion {\n\t\t__kernel_rwf_t rw_flags;\n\t\t__u32 fsync_flags;\n\t\t__u16 poll_events;\n\t\t__u32 poll32_events;\n\t\t__u32 sync_range_flags;\n\t\t__u32 msg_flags;\n\t\t__u32 timeout_flags;\n\t\t__u32 accept_flags;\n\t\t__u32 cancel_flags;\n\t\t__u32 open_flags;\n\t\t__u32 statx_flags;\n\t\t__u32 fadvise_advice;\n\t\t__u32 splice_flags;\n\t\t__u32 rename_flags;\n\t\t__u32 unlink_flags;\n\t\t__u32 hardlink_flags;\n\t\t__u32 xattr_flags;\n\t\t__u32 msg_ring_flags;\n\t\t__u32 uring_cmd_flags;\n\t\t__u32 waitid_flags;\n\t\t__u32 futex_flags;\n\t\t__u32 install_fd_flags;\n\t\t__u32 nop_flags;\n\t};\n\t__u64 user_data;\n\tunion {\n\t\t__u16 buf_index;\n\t\t__u16 buf_group;\n\t};\n\t__u16 personality;\n\tunion {\n\t\t__s32 splice_fd_in;\n\t\t__u32 file_index;\n\t\t__u32 optlen;\n\t\tstruct {\n\t\t\t__u16 addr_len;\n\t\t\t__u16 __pad3[1];\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__u64 addr3;\n\t\t\t__u64 __pad2[1];\n\t\t};\n\t\tstruct {\n\t\t\t__u64 attr_ptr;\n\t\t\t__u64 attr_type_mask;\n\t\t};\n\t\t__u64 optval;\n\t\t__u8 cmd[0];\n\t};\n};\n\nstruct io_uring_cmd_data {\n\tvoid *op_data;\n\tstruct io_uring_sqe sqes[2];\n};\n\nstruct io_uring_file_index_range {\n\t__u32 off;\n\t__u32 len;\n\t__u64 resv;\n};\n\nstruct io_uring_getevents_arg {\n\t__u64 sigmask;\n\t__u32 sigmask_sz;\n\t__u32 min_wait_usec;\n\t__u64 ts;\n};\n\nstruct io_uring_mem_region_reg {\n\t__u64 region_uptr;\n\t__u64 flags;\n\t__u64 __resv[2];\n};\n\nstruct io_uring_napi {\n\t__u32 busy_poll_to;\n\t__u8 prefer_busy_poll;\n\t__u8 opcode;\n\t__u8 pad[2];\n\t__u32 op_param;\n\t__u32 resv;\n};\n\nstruct io_uring_params {\n\t__u32 sq_entries;\n\t__u32 cq_entries;\n\t__u32 flags;\n\t__u32 sq_thread_cpu;\n\t__u32 sq_thread_idle;\n\t__u32 features;\n\t__u32 wq_fd;\n\t__u32 resv[3];\n\tstruct io_sqring_offsets sq_off;\n\tstruct io_cqring_offsets cq_off;\n};\n\nstruct io_uring_probe_op {\n\t__u8 op;\n\t__u8 resv;\n\t__u16 flags;\n\t__u32 resv2;\n};\n\nstruct io_uring_probe {\n\t__u8 last_op;\n\t__u8 ops_len;\n\t__u16 resv;\n\t__u32 resv2[3];\n\tstruct io_uring_probe_op ops[0];\n};\n\nstruct io_uring_reg_wait {\n\tstruct __kernel_timespec ts;\n\t__u32 min_wait_usec;\n\t__u32 flags;\n\t__u64 sigmask;\n\t__u32 sigmask_sz;\n\t__u32 pad[3];\n\t__u64 pad2[2];\n};\n\nstruct io_uring_region_desc {\n\t__u64 user_addr;\n\t__u64 size;\n\t__u32 flags;\n\t__u32 id;\n\t__u64 mmap_offset;\n\t__u64 __resv[4];\n};\n\nstruct io_uring_restriction {\n\t__u16 opcode;\n\tunion {\n\t\t__u8 register_op;\n\t\t__u8 sqe_op;\n\t\t__u8 sqe_flags;\n\t};\n\t__u8 resv;\n\t__u32 resv2[3];\n};\n\nstruct io_uring_rsrc_register {\n\t__u32 nr;\n\t__u32 flags;\n\t__u64 resv2;\n\t__u64 data;\n\t__u64 tags;\n};\n\nstruct io_uring_rsrc_update {\n\t__u32 offset;\n\t__u32 resv;\n\t__u64 data;\n};\n\nstruct io_uring_rsrc_update2 {\n\t__u32 offset;\n\t__u32 resv;\n\t__u64 data;\n\t__u64 tags;\n\t__u32 nr;\n\t__u32 resv2;\n};\n\nstruct io_uring_sync_cancel_reg {\n\t__u64 addr;\n\t__s32 fd;\n\t__u32 flags;\n\tstruct __kernel_timespec timeout;\n\t__u8 opcode;\n\t__u8 pad[7];\n\t__u64 pad2[3];\n};\n\nstruct io_wq;\n\nstruct io_uring_task {\n\tint cached_refs;\n\tconst struct io_ring_ctx *last;\n\tstruct task_struct *task;\n\tstruct io_wq *io_wq;\n\tstruct file *registered_rings[16];\n\tstruct xarray xa;\n\tstruct wait_queue_head wait;\n\tatomic_t in_cancel;\n\tatomic_t inflight_tracked;\n\tstruct percpu_counter inflight;\n\tlong: 64;\n\tstruct {\n\t\tstruct llist_head task_list;\n\t\tstruct callback_head task_work;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n};\n\nstruct io_wait_queue {\n\tstruct wait_queue_entry wq;\n\tstruct io_ring_ctx *ctx;\n\tunsigned int cq_tail;\n\tunsigned int cq_min_tail;\n\tunsigned int nr_timeouts;\n\tint hit_timeout;\n\tktime_t min_timeout;\n\tktime_t timeout;\n\tstruct hrtimer t;\n\tktime_t napi_busy_poll_dt;\n\tbool napi_prefer_busy_poll;\n};\n\nstruct waitid_info {\n\tpid_t pid;\n\tuid_t uid;\n\tint status;\n\tint cause;\n};\n\nstruct io_waitid {\n\tstruct file *file;\n\tint which;\n\tpid_t upid;\n\tint options;\n\tatomic_t refs;\n\tstruct wait_queue_head *head;\n\tstruct siginfo *infop;\n\tstruct waitid_info info;\n};\n\nstruct rusage;\n\nstruct wait_opts {\n\tenum pid_type wo_type;\n\tint wo_flags;\n\tstruct pid *wo_pid;\n\tstruct waitid_info *wo_info;\n\tint wo_stat;\n\tstruct rusage *wo_rusage;\n\twait_queue_entry_t child_wait;\n\tint notask_error;\n};\n\nstruct io_waitid_async {\n\tstruct io_kiocb *req;\n\tstruct wait_opts wo;\n};\n\nstruct io_window_t {\n\tu_int InUse;\n\tu_int Config;\n\tstruct resource *res;\n};\n\ntypedef struct io_window_t io_window_t;\n\nstruct io_worker {\n\trefcount_t ref;\n\tint create_index;\n\tlong unsigned int flags;\n\tstruct hlist_nulls_node nulls_node;\n\tstruct list_head all_list;\n\tstruct task_struct *task;\n\tstruct io_wq *wq;\n\tstruct io_wq_work *cur_work;\n\traw_spinlock_t lock;\n\tstruct completion ref_done;\n\tlong unsigned int create_state;\n\tstruct callback_head create_work;\n\tint init_retries;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct delayed_work work;\n\t};\n};\n\ntypedef struct io_wq_work *free_work_fn(struct io_wq_work *);\n\ntypedef void io_wq_work_fn(struct io_wq_work *);\n\nstruct io_wq_acct {\n\tunsigned int nr_workers;\n\tunsigned int max_workers;\n\tint index;\n\tatomic_t nr_running;\n\traw_spinlock_t lock;\n\tstruct io_wq_work_list work_list;\n\tlong unsigned int flags;\n};\n\nstruct io_wq {\n\tlong unsigned int state;\n\tfree_work_fn *free_work;\n\tio_wq_work_fn *do_work;\n\tstruct io_wq_hash *hash;\n\tatomic_t worker_refs;\n\tstruct completion worker_done;\n\tstruct hlist_node cpuhp_node;\n\tstruct task_struct *task;\n\tstruct io_wq_acct acct[2];\n\traw_spinlock_t lock;\n\tstruct hlist_nulls_head free_list;\n\tstruct list_head all_list;\n\tstruct wait_queue_entry wait;\n\tstruct io_wq_work *hash_tail[64];\n\tcpumask_var_t cpu_mask;\n};\n\nstruct io_wq_data {\n\tstruct io_wq_hash *hash;\n\tstruct task_struct *task;\n\tio_wq_work_fn *do_work;\n\tfree_work_fn *free_work;\n};\n\nstruct io_wq_hash {\n\trefcount_t refs;\n\tlong unsigned int map;\n\tstruct wait_queue_head wait;\n};\n\nstruct xattr_name;\n\nstruct kernel_xattr_ctx {\n\tunion {\n\t\tconst void *cvalue;\n\t\tvoid *value;\n\t};\n\tvoid *kvalue;\n\tsize_t size;\n\tstruct xattr_name *kname;\n\tunsigned int flags;\n};\n\nstruct io_xattr {\n\tstruct file *file;\n\tstruct kernel_xattr_ctx ctx;\n\tstruct filename *filename;\n};\n\nstruct ioam6_hdr {\n\t__u8 opt_type;\n\t__u8 opt_len;\n\tchar: 8;\n\t__u8 type;\n};\n\nstruct ioam6_schema;\n\nstruct ioam6_namespace {\n\tstruct rhash_head head;\n\tstruct callback_head rcu;\n\tstruct ioam6_schema *schema;\n\t__be16 id;\n\t__be32 data;\n\t__be64 data_wide;\n};\n\nstruct ioam6_pernet_data {\n\tstruct mutex lock;\n\tstruct rhashtable namespaces;\n\tstruct rhashtable schemas;\n};\n\nstruct ioam6_schema {\n\tstruct rhash_head head;\n\tstruct callback_head rcu;\n\tstruct ioam6_namespace *ns;\n\tu32 id;\n\tint len;\n\t__be32 hdr;\n\tu8 data[0];\n};\n\nstruct ioam6_trace_hdr {\n\t__be16 namespace_id;\n\tchar: 2;\n\t__u8 overflow: 1;\n\t__u8 nodelen: 5;\n\t__u8 remlen: 7;\n\tunion {\n\t\t__be32 type_be32;\n\t\tstruct {\n\t\t\t__u32 bit7: 1;\n\t\t\t__u32 bit6: 1;\n\t\t\t__u32 bit5: 1;\n\t\t\t__u32 bit4: 1;\n\t\t\t__u32 bit3: 1;\n\t\t\t__u32 bit2: 1;\n\t\t\t__u32 bit1: 1;\n\t\t\t__u32 bit0: 1;\n\t\t\t__u32 bit15: 1;\n\t\t\t__u32 bit14: 1;\n\t\t\t__u32 bit13: 1;\n\t\t\t__u32 bit12: 1;\n\t\t\t__u32 bit11: 1;\n\t\t\t__u32 bit10: 1;\n\t\t\t__u32 bit9: 1;\n\t\t\t__u32 bit8: 1;\n\t\t\t__u32 bit23: 1;\n\t\t\t__u32 bit22: 1;\n\t\t\t__u32 bit21: 1;\n\t\t\t__u32 bit20: 1;\n\t\t\t__u32 bit19: 1;\n\t\t\t__u32 bit18: 1;\n\t\t\t__u32 bit17: 1;\n\t\t\t__u32 bit16: 1;\n\t\t} type;\n\t};\n\t__u8 data[0];\n};\n\nstruct iocb {\n\t__u64 aio_data;\n\t__u32 aio_key;\n\t__kernel_rwf_t aio_rw_flags;\n\t__u16 aio_lio_opcode;\n\t__s16 aio_reqprio;\n\t__u32 aio_fildes;\n\t__u64 aio_buf;\n\t__u64 aio_nbytes;\n\t__s64 aio_offset;\n\t__u64 aio_reserved2;\n\t__u32 aio_flags;\n\t__u32 aio_resfd;\n};\n\nstruct ioctl_sick_map {\n\tunsigned int sick_mask;\n\tunsigned int ioctl_mask;\n};\n\nstruct iomap_folio_ops;\n\nstruct iomap {\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tstruct block_device *bdev;\n\tstruct dax_device *dax_dev;\n\tvoid *inline_data;\n\tvoid *private;\n\tconst struct iomap_folio_ops *folio_ops;\n\tu64 validity_cookie;\n};\n\nstruct iomap_dio_ops;\n\nstruct iomap_dio {\n\tstruct kiocb *iocb;\n\tconst struct iomap_dio_ops *dops;\n\tloff_t i_size;\n\tloff_t size;\n\tatomic_t ref;\n\tunsigned int flags;\n\tint error;\n\tsize_t done_before;\n\tbool wait_for_completion;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iov_iter *iter;\n\t\t\tstruct task_struct *waiter;\n\t\t} submit;\n\t\tstruct {\n\t\t\tstruct work_struct work;\n\t\t} aio;\n\t};\n};\n\nstruct iomap_iter;\n\nstruct iomap_dio_ops {\n\tint (*end_io)(struct kiocb *, ssize_t, int, unsigned int);\n\tvoid (*submit_io)(const struct iomap_iter *, struct bio *, loff_t);\n\tstruct bio_set *bio_set;\n};\n\nstruct iomap_folio_ops {\n\tstruct folio * (*get_folio)(struct iomap_iter *, loff_t, unsigned int);\n\tvoid (*put_folio)(struct inode *, loff_t, unsigned int, struct folio *);\n\tbool (*iomap_valid)(struct inode *, const struct iomap *);\n};\n\nstruct iomap_folio_state {\n\tspinlock_t state_lock;\n\tunsigned int read_bytes_pending;\n\tatomic_t write_bytes_pending;\n\tlong unsigned int state[0];\n};\n\nstruct iomap_ioend {\n\tstruct list_head io_list;\n\tu16 io_type;\n\tu16 io_flags;\n\tstruct inode *io_inode;\n\tsize_t io_size;\n\tloff_t io_offset;\n\tsector_t io_sector;\n\tstruct bio io_bio;\n};\n\nstruct iomap_iter {\n\tstruct inode *inode;\n\tloff_t pos;\n\tu64 len;\n\ts64 processed;\n\tunsigned int flags;\n\tstruct iomap iomap;\n\tstruct iomap srcmap;\n\tvoid *private;\n};\n\nstruct iomap_ops {\n\tint (*iomap_begin)(struct inode *, loff_t, loff_t, unsigned int, struct iomap *, struct iomap *);\n\tint (*iomap_end)(struct inode *, loff_t, loff_t, ssize_t, unsigned int, struct iomap *);\n};\n\nstruct iomap_readpage_ctx {\n\tstruct folio *cur_folio;\n\tbool cur_folio_in_bio;\n\tstruct bio *bio;\n\tstruct readahead_control *rac;\n};\n\nstruct iomap_swapfile_info {\n\tstruct iomap iomap;\n\tstruct swap_info_struct *sis;\n\tuint64_t lowest_ppage;\n\tuint64_t highest_ppage;\n\tlong unsigned int nr_pages;\n\tint nr_extents;\n\tstruct file *file;\n};\n\nstruct iomap_writepage_ctx;\n\nstruct iomap_writeback_ops {\n\tint (*map_blocks)(struct iomap_writepage_ctx *, struct inode *, loff_t, unsigned int);\n\tint (*prepare_ioend)(struct iomap_ioend *, int);\n\tvoid (*discard_folio)(struct folio *, loff_t);\n};\n\nstruct iomap_writepage_ctx {\n\tstruct iomap iomap;\n\tstruct iomap_ioend *ioend;\n\tconst struct iomap_writeback_ops *ops;\n\tu32 nr_folios;\n};\n\nstruct iommu_domain;\n\nstruct iommu_attach_handle {\n\tstruct iommu_domain *domain;\n};\n\nstruct iommu_ops;\n\nstruct iommu_device {\n\tstruct list_head list;\n\tconst struct iommu_ops *ops;\n\tstruct fwnode_handle *fwnode;\n\tstruct device *dev;\n\tstruct iommu_group *singleton_group;\n\tu32 max_pasids;\n};\n\nstruct iova_bitmap;\n\nstruct iommu_iotlb_gather;\n\nstruct iommu_dirty_bitmap {\n\tstruct iova_bitmap *bitmap;\n\tstruct iommu_iotlb_gather *gather;\n};\n\nstruct iommu_dirty_ops {\n\tint (*set_dirty_tracking)(struct iommu_domain *, bool);\n\tint (*read_and_clear_dirty)(struct iommu_domain *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *);\n};\n\nstruct iommu_domain_geometry {\n\tdma_addr_t aperture_start;\n\tdma_addr_t aperture_end;\n\tbool force_aperture;\n};\n\nstruct iommu_dma_cookie;\n\ntypedef int (*iommu_fault_handler_t)(struct iommu_domain *, struct device *, long unsigned int, int, void *);\n\nstruct iommu_domain_ops;\n\nstruct iopf_group;\n\nstruct iommu_domain {\n\tunsigned int type;\n\tconst struct iommu_domain_ops *ops;\n\tconst struct iommu_dirty_ops *dirty_ops;\n\tconst struct iommu_ops *owner;\n\tlong unsigned int pgsize_bitmap;\n\tstruct iommu_domain_geometry geometry;\n\tstruct iommu_dma_cookie *iova_cookie;\n\tint (*iopf_handler)(struct iopf_group *);\n\tvoid *fault_data;\n\tunion {\n\t\tstruct {\n\t\t\tiommu_fault_handler_t handler;\n\t\t\tvoid *handler_token;\n\t\t};\n\t\tstruct {\n\t\t\tstruct mm_struct *mm;\n\t\t\tint users;\n\t\t\tstruct list_head next;\n\t\t};\n\t};\n};\n\nstruct iommu_user_data_array;\n\nstruct iommu_domain_ops {\n\tint (*attach_dev)(struct iommu_domain *, struct device *);\n\tint (*set_dev_pasid)(struct iommu_domain *, struct device *, ioasid_t, struct iommu_domain *);\n\tint (*map_pages)(struct iommu_domain *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *);\n\tsize_t (*unmap_pages)(struct iommu_domain *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *);\n\tvoid (*flush_iotlb_all)(struct iommu_domain *);\n\tint (*iotlb_sync_map)(struct iommu_domain *, long unsigned int, size_t);\n\tvoid (*iotlb_sync)(struct iommu_domain *, struct iommu_iotlb_gather *);\n\tint (*cache_invalidate_user)(struct iommu_domain *, struct iommu_user_data_array *);\n\tphys_addr_t (*iova_to_phys)(struct iommu_domain *, dma_addr_t);\n\tbool (*enforce_cache_coherency)(struct iommu_domain *);\n\tint (*set_pgtable_quirks)(struct iommu_domain *, long unsigned int);\n\tvoid (*free)(struct iommu_domain *);\n};\n\nstruct iommu_fault_page_request {\n\tu32 flags;\n\tu32 pasid;\n\tu32 grpid;\n\tu32 perm;\n\tu64 addr;\n\tu64 private_data[2];\n};\n\nstruct iommu_fault {\n\tu32 type;\n\tstruct iommu_fault_page_request prm;\n};\n\nstruct iopf_queue;\n\nstruct iommu_fault_param {\n\tstruct mutex lock;\n\trefcount_t users;\n\tstruct callback_head rcu;\n\tstruct device *dev;\n\tstruct iopf_queue *queue;\n\tstruct list_head queue_list;\n\tstruct list_head partial;\n\tstruct list_head faults;\n};\n\nstruct iommu_fwspec {\n\tstruct fwnode_handle *iommu_fwnode;\n\tu32 flags;\n\tunsigned int num_ids;\n\tu32 ids[0];\n};\n\nstruct iommu_group {\n\tstruct kobject kobj;\n\tstruct kobject *devices_kobj;\n\tstruct list_head devices;\n\tstruct xarray pasid_array;\n\tstruct mutex mutex;\n\tvoid *iommu_data;\n\tvoid (*iommu_data_release)(void *);\n\tchar *name;\n\tint id;\n\tstruct iommu_domain *default_domain;\n\tstruct iommu_domain *blocking_domain;\n\tstruct iommu_domain *domain;\n\tstruct list_head entry;\n\tunsigned int owner_cnt;\n\tvoid *owner;\n};\n\nstruct iommu_group_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct iommu_group *, char *);\n\tssize_t (*store)(struct iommu_group *, const char *, size_t);\n};\n\nstruct iommu_iotlb_gather {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tsize_t pgsize;\n\tstruct list_head freelist;\n\tbool queued;\n};\n\nstruct iommufd_viommu;\n\nstruct iommufd_ctx;\n\nstruct iommu_user_data;\n\nstruct of_phandle_args;\n\nstruct iopf_fault;\n\nstruct iommu_page_response;\n\nstruct iommu_ops {\n\tbool (*capable)(struct device *, enum iommu_cap);\n\tvoid * (*hw_info)(struct device *, u32 *, u32 *);\n\tstruct iommu_domain * (*domain_alloc)(unsigned int);\n\tstruct iommu_domain * (*domain_alloc_paging_flags)(struct device *, u32, const struct iommu_user_data *);\n\tstruct iommu_domain * (*domain_alloc_paging)(struct device *);\n\tstruct iommu_domain * (*domain_alloc_sva)(struct device *, struct mm_struct *);\n\tstruct iommu_domain * (*domain_alloc_nested)(struct device *, struct iommu_domain *, u32, const struct iommu_user_data *);\n\tstruct iommu_device * (*probe_device)(struct device *);\n\tvoid (*release_device)(struct device *);\n\tvoid (*probe_finalize)(struct device *);\n\tstruct iommu_group * (*device_group)(struct device *);\n\tvoid (*get_resv_regions)(struct device *, struct list_head *);\n\tint (*of_xlate)(struct device *, const struct of_phandle_args *);\n\tbool (*is_attach_deferred)(struct device *);\n\tint (*dev_enable_feat)(struct device *, enum iommu_dev_features);\n\tint (*dev_disable_feat)(struct device *, enum iommu_dev_features);\n\tvoid (*page_response)(struct device *, struct iopf_fault *, struct iommu_page_response *);\n\tint (*def_domain_type)(struct device *);\n\tstruct iommufd_viommu * (*viommu_alloc)(struct device *, struct iommu_domain *, struct iommufd_ctx *, unsigned int);\n\tconst struct iommu_domain_ops *default_domain_ops;\n\tlong unsigned int pgsize_bitmap;\n\tstruct module *owner;\n\tstruct iommu_domain *identity_domain;\n\tstruct iommu_domain *blocked_domain;\n\tstruct iommu_domain *release_domain;\n\tstruct iommu_domain *default_domain;\n\tu8 user_pasid_table: 1;\n};\n\nstruct iommu_page_response {\n\tu32 pasid;\n\tu32 grpid;\n\tu32 code;\n};\n\nstruct iommu_pool {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int hint;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct iommu_resv_region {\n\tstruct list_head list;\n\tphys_addr_t start;\n\tsize_t length;\n\tint prot;\n\tenum iommu_resv_type type;\n\tvoid (*free)(struct device *, struct iommu_resv_region *);\n};\n\nstruct iommu_table_ops;\n\nstruct iommu_table {\n\tlong unsigned int it_busno;\n\tlong unsigned int it_size;\n\tlong unsigned int it_indirect_levels;\n\tlong unsigned int it_level_size;\n\tlong unsigned int it_allocated_size;\n\tlong unsigned int it_offset;\n\tlong unsigned int it_base;\n\tlong unsigned int it_index;\n\tlong unsigned int it_type;\n\tlong unsigned int it_blocksize;\n\tlong unsigned int poolsize;\n\tlong unsigned int nr_pools;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct iommu_pool large_pool;\n\tstruct iommu_pool pools[4];\n\tlong unsigned int *it_map;\n\tlong unsigned int it_page_shift;\n\tstruct list_head it_group_list;\n\t__be64 *it_userspace;\n\tstruct iommu_table_ops *it_ops;\n\tstruct kref it_kref;\n\tint it_nid;\n\tlong unsigned int it_reserved_start;\n\tlong unsigned int it_reserved_end;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct iommu_table_group_ops;\n\nstruct iommu_table_group {\n\t__u32 tce32_start;\n\t__u32 tce32_size;\n\t__u64 pgsizes;\n\t__u32 max_dynamic_windows_supported;\n\t__u32 max_levels;\n\tstruct iommu_group *group;\n\tstruct iommu_table *tables[2];\n\tstruct iommu_table_group_ops *ops;\n};\n\nstruct iommu_table_group_link {\n\tstruct list_head next;\n\tstruct callback_head rcu;\n\tstruct iommu_table_group *table_group;\n};\n\nstruct iommu_table_group_ops {\n\tlong unsigned int (*get_table_size)(__u32, __u64, __u32);\n\tlong int (*create_table)(struct iommu_table_group *, int, __u32, __u64, __u32, struct iommu_table **);\n\tlong int (*set_window)(struct iommu_table_group *, int, struct iommu_table *);\n\tlong int (*unset_window)(struct iommu_table_group *, int);\n\tlong int (*take_ownership)(struct iommu_table_group *, struct device *);\n\tvoid (*release_ownership)(struct iommu_table_group *, struct device *);\n};\n\nstruct iommu_table_ops {\n\tint (*set)(struct iommu_table *, long int, long int, long unsigned int, enum dma_data_direction, long unsigned int);\n\tint (*xchg_no_kill)(struct iommu_table *, long int, long unsigned int *, enum dma_data_direction *);\n\tvoid (*tce_kill)(struct iommu_table *, long unsigned int, long unsigned int);\n\t__be64 * (*useraddrptr)(struct iommu_table *, long int, bool);\n\tvoid (*clear)(struct iommu_table *, long int, long int);\n\tlong unsigned int (*get)(struct iommu_table *, long int);\n\tvoid (*flush)(struct iommu_table *);\n\tvoid (*free)(struct iommu_table *);\n};\n\nstruct iommu_user_data {\n\tunsigned int type;\n\tvoid *uptr;\n\tsize_t len;\n};\n\nstruct iommu_user_data_array {\n\tunsigned int type;\n\tvoid *uptr;\n\tsize_t entry_len;\n\tu32 entry_num;\n};\n\nstruct iopf_fault {\n\tstruct iommu_fault fault;\n\tstruct list_head list;\n};\n\nstruct iopf_group {\n\tstruct iopf_fault last_fault;\n\tstruct list_head faults;\n\tsize_t fault_count;\n\tstruct list_head pending_node;\n\tstruct work_struct work;\n\tstruct iommu_attach_handle *attach_handle;\n\tstruct iommu_fault_param *fault_param;\n\tstruct list_head node;\n\tu32 cookie;\n};\n\nstruct iopf_queue {\n\tstruct workqueue_struct *wq;\n\tstruct list_head devices;\n\tstruct mutex lock;\n};\n\nstruct ip6_flowlabel {\n\tstruct ip6_flowlabel *next;\n\t__be32 label;\n\tatomic_t users;\n\tstruct in6_addr dst;\n\tstruct ipv6_txoptions *opt;\n\tlong unsigned int linger;\n\tstruct callback_head rcu;\n\tu8 share;\n\tunion {\n\t\tstruct pid *pid;\n\t\tkuid_t uid;\n\t} owner;\n\tlong unsigned int lastuse;\n\tlong unsigned int expires;\n\tstruct net *fl_net;\n};\n\nstruct ip6_frag_state {\n\tu8 *prevhdr;\n\tunsigned int hlen;\n\tunsigned int mtu;\n\tunsigned int left;\n\tint offset;\n\tint ptr;\n\tint hroom;\n\tint troom;\n\t__be32 frag_id;\n\tu8 nexthdr;\n};\n\nstruct ipv6hdr;\n\nstruct ip6_fraglist_iter {\n\tstruct ipv6hdr *tmp_hdr;\n\tstruct sk_buff *frag;\n\tint offset;\n\tunsigned int hlen;\n\t__be32 frag_id;\n\tu8 nexthdr;\n};\n\nstruct sockaddr_in6 {\n\tshort unsigned int sin6_family;\n\t__be16 sin6_port;\n\t__be32 sin6_flowinfo;\n\tstruct in6_addr sin6_addr;\n\t__u32 sin6_scope_id;\n};\n\nstruct ip6_mtuinfo {\n\tstruct sockaddr_in6 ip6m_addr;\n\t__u32 ip6m_mtu;\n};\n\nstruct ip6_ra_chain {\n\tstruct ip6_ra_chain *next;\n\tstruct sock *sk;\n\tint sel;\n\tvoid (*destructor)(struct sock *);\n};\n\nstruct ip6_rt_info {\n\tstruct in6_addr daddr;\n\tstruct in6_addr saddr;\n\tu_int32_t mark;\n};\n\nstruct ip6_sf_list {\n\tstruct ip6_sf_list *sf_next;\n\tstruct in6_addr sf_addr;\n\tlong unsigned int sf_count[2];\n\tunsigned char sf_gsresp;\n\tunsigned char sf_oldin;\n\tunsigned char sf_crcount;\n\tstruct callback_head rcu;\n};\n\nstruct ip6_sf_socklist {\n\tunsigned int sl_max;\n\tunsigned int sl_count;\n\tstruct callback_head rcu;\n\tstruct in6_addr sl_addr[0];\n};\n\nstruct ip_tunnel_encap {\n\tu16 type;\n\tu16 flags;\n\t__be16 sport;\n\t__be16 dport;\n};\n\nstruct ip6_tnl {\n\tstruct ip6_tnl *next;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net *net;\n\tstruct __ip6_tnl_parm parms;\n\tstruct flowi fl;\n\tstruct dst_cache dst_cache;\n\tstruct gro_cells gro_cells;\n\tint err_count;\n\tlong unsigned int err_time;\n\t__u32 i_seqno;\n\tatomic_t o_seqno;\n\tint hlen;\n\tint tun_hlen;\n\tint encap_hlen;\n\tstruct ip_tunnel_encap encap;\n\tint mlink;\n};\n\nstruct ip6_tnl_encap_ops {\n\tsize_t (*encap_hlen)(struct ip_tunnel_encap *);\n\tint (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi6 *);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n};\n\nstruct ip6addrlbl_entry {\n\tstruct in6_addr prefix;\n\tint prefixlen;\n\tint ifindex;\n\tint addrtype;\n\tu32 label;\n\tstruct hlist_node list;\n\tstruct callback_head rcu;\n};\n\nstruct ip6addrlbl_init_table {\n\tconst struct in6_addr *prefix;\n\tint prefixlen;\n\tu32 label;\n};\n\nstruct ip6fl_iter_state {\n\tstruct seq_net_private p;\n\tstruct pid_namespace *pid_ns;\n\tint bucket;\n};\n\nstruct ip6rd_flowi {\n\tstruct flowi6 fl6;\n\tstruct in6_addr gateway;\n};\n\nstruct ip_auth_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__be16 reserved;\n\t__be32 spi;\n\t__be32 seq_no;\n\t__u8 auth_data[0];\n};\n\nstruct ip_beet_phdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 padlen;\n\t__u8 reserved;\n};\n\nstruct ip_conntrack_stat {\n\tunsigned int found;\n\tunsigned int invalid;\n\tunsigned int insert;\n\tunsigned int insert_failed;\n\tunsigned int clash_resolve;\n\tunsigned int drop;\n\tunsigned int early_drop;\n\tunsigned int error;\n\tunsigned int expect_new;\n\tunsigned int expect_create;\n\tunsigned int expect_delete;\n\tunsigned int search_restart;\n\tunsigned int chaintoolong;\n};\n\nstruct ip_ct_sctp {\n\tenum sctp_conntrack state;\n\t__be32 vtag[2];\n\tu8 init[2];\n\tu8 last_dir;\n\tu8 flags;\n};\n\nstruct ip_ct_tcp_state {\n\tu_int32_t td_end;\n\tu_int32_t td_maxend;\n\tu_int32_t td_maxwin;\n\tu_int32_t td_maxack;\n\tu_int8_t td_scale;\n\tu_int8_t flags;\n};\n\nstruct ip_ct_tcp {\n\tstruct ip_ct_tcp_state seen[2];\n\tu_int8_t state;\n\tu_int8_t last_dir;\n\tu_int8_t retrans;\n\tu_int8_t last_index;\n\tu_int32_t last_seq;\n\tu_int32_t last_ack;\n\tu_int32_t last_end;\n\tu_int16_t last_win;\n\tu_int8_t last_wscale;\n\tu_int8_t last_flags;\n};\n\nstruct ip_esp_hdr {\n\t__be32 spi;\n\t__be32 seq_no;\n\t__u8 enc_data[0];\n};\n\nstruct ip_frag_state {\n\tbool DF;\n\tunsigned int hlen;\n\tunsigned int ll_rs;\n\tunsigned int mtu;\n\tunsigned int left;\n\tint offset;\n\tint ptr;\n\t__be16 not_last_frag;\n};\n\nstruct ip_fraglist_iter {\n\tstruct sk_buff *frag;\n\tstruct iphdr *iph;\n\tint offset;\n\tunsigned int hlen;\n};\n\nstruct unix_domain;\n\nstruct ip_map {\n\tstruct cache_head h;\n\tchar m_class[8];\n\tstruct in6_addr m_addr;\n\tstruct unix_domain *m_client;\n\tstruct callback_head m_rcu;\n};\n\nstruct ip_sf_list;\n\nstruct ip_mc_list {\n\tstruct in_device *interface;\n\t__be32 multiaddr;\n\tunsigned int sfmode;\n\tstruct ip_sf_list *sources;\n\tstruct ip_sf_list *tomb;\n\tlong unsigned int sfcount[2];\n\tunion {\n\t\tstruct ip_mc_list *next;\n\t\tstruct ip_mc_list *next_rcu;\n\t};\n\tstruct ip_mc_list *next_hash;\n\tstruct timer_list timer;\n\tint users;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tchar tm_running;\n\tchar reporter;\n\tchar unsolicit_count;\n\tchar loaded;\n\tunsigned char gsquery;\n\tunsigned char crcount;\n\tlong unsigned int mca_cstamp;\n\tlong unsigned int mca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ip_mreqn {\n\tstruct in_addr imr_multiaddr;\n\tstruct in_addr imr_address;\n\tint imr_ifindex;\n};\n\nstruct ip_sf_socklist;\n\nstruct ip_mc_socklist {\n\tstruct ip_mc_socklist *next_rcu;\n\tstruct ip_mreqn multi;\n\tunsigned int sfmode;\n\tstruct ip_sf_socklist *sflist;\n\tstruct callback_head rcu;\n};\n\nstruct ip_mreq_source {\n\t__be32 imr_multiaddr;\n\t__be32 imr_interface;\n\t__be32 imr_sourceaddr;\n};\n\nstruct ip_msfilter {\n\t__be32 imsf_multiaddr;\n\t__be32 imsf_interface;\n\t__u32 imsf_fmode;\n\t__u32 imsf_numsrc;\n\tunion {\n\t\t__be32 imsf_slist[1];\n\t\tstruct {\n\t\t\tstruct {} __empty_imsf_slist_flex;\n\t\t\t__be32 imsf_slist_flex[0];\n\t\t};\n\t};\n};\n\nstruct ip_ra_chain {\n\tstruct ip_ra_chain *next;\n\tstruct sock *sk;\n\tunion {\n\t\tvoid (*destructor)(struct sock *);\n\t\tstruct sock *saved_sk;\n\t};\n\tstruct callback_head rcu;\n};\n\nstruct kvec {\n\tvoid *iov_base;\n\tsize_t iov_len;\n};\n\nstruct ip_reply_arg {\n\tstruct kvec iov[1];\n\tint flags;\n\t__wsum csum;\n\tint csumoffset;\n\tint bound_dev_if;\n\tu8 tos;\n\tkuid_t uid;\n};\n\nstruct ip_rt_info {\n\t__be32 daddr;\n\t__be32 saddr;\n\tu_int8_t tos;\n\tu_int32_t mark;\n};\n\nstruct ip_sf_list {\n\tstruct ip_sf_list *sf_next;\n\tlong unsigned int sf_count[2];\n\t__be32 sf_inaddr;\n\tunsigned char sf_gsresp;\n\tunsigned char sf_oldin;\n\tunsigned char sf_crcount;\n};\n\nstruct ip_sf_socklist {\n\tunsigned int sl_max;\n\tunsigned int sl_count;\n\tstruct callback_head rcu;\n\t__be32 sl_addr[0];\n};\n\nstruct ip_tunnel_parm_kern {\n\tchar name[16];\n\tlong unsigned int i_flags[1];\n\tlong unsigned int o_flags[1];\n\t__be32 i_key;\n\t__be32 o_key;\n\tint link;\n\tstruct iphdr iph;\n};\n\nstruct ip_tunnel_prl_entry;\n\nstruct ip_tunnel {\n\tstruct ip_tunnel *next;\n\tstruct hlist_node hash_node;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net *net;\n\tlong unsigned int err_time;\n\tint err_count;\n\tu32 i_seqno;\n\tatomic_t o_seqno;\n\tint tun_hlen;\n\tu32 index;\n\tu8 erspan_ver;\n\tu8 dir;\n\tu16 hwid;\n\tstruct dst_cache dst_cache;\n\tstruct ip_tunnel_parm_kern parms;\n\tint mlink;\n\tint encap_hlen;\n\tint hlen;\n\tstruct ip_tunnel_encap encap;\n\tstruct ip_tunnel_prl_entry *prl;\n\tunsigned int prl_count;\n\tunsigned int ip_tnl_net_id;\n\tstruct gro_cells gro_cells;\n\t__u32 fwmark;\n\tbool collect_md;\n\tbool ignore_df;\n};\n\nstruct ip_tunnel_encap_ops {\n\tsize_t (*encap_hlen)(struct ip_tunnel_encap *);\n\tint (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi4 *);\n\tint (*err_handler)(struct sk_buff *, u32);\n};\n\nstruct ip_tunnel_key {\n\t__be64 tun_id;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 src;\n\t\t\t__be32 dst;\n\t\t} ipv4;\n\t\tstruct {\n\t\t\tstruct in6_addr src;\n\t\t\tstruct in6_addr dst;\n\t\t} ipv6;\n\t} u;\n\tlong unsigned int tun_flags[1];\n\t__be32 label;\n\tu32 nhid;\n\tu8 tos;\n\tu8 ttl;\n\t__be16 tp_src;\n\t__be16 tp_dst;\n\t__u8 flow_flags;\n};\n\nstruct ip_tunnel_info {\n\tstruct ip_tunnel_key key;\n\tstruct ip_tunnel_encap encap;\n\tstruct dst_cache dst_cache;\n\tu8 options_len;\n\tu8 mode;\n};\n\nstruct rtnl_link_ops;\n\nstruct ip_tunnel_net {\n\tstruct net_device *fb_tunnel_dev;\n\tstruct rtnl_link_ops *rtnl_link_ops;\n\tstruct hlist_head tunnels[128];\n\tstruct ip_tunnel *collect_md_tun;\n\tint type;\n};\n\nstruct ip_tunnel_parm {\n\tchar name[16];\n\tint link;\n\t__be16 i_flags;\n\t__be16 o_flags;\n\t__be32 i_key;\n\t__be32 o_key;\n\tstruct iphdr iph;\n};\n\nstruct ip_tunnel_prl {\n\t__be32 addr;\n\t__u16 flags;\n\t__u16 __reserved;\n\t__u32 datalen;\n\t__u32 __reserved2;\n};\n\nstruct ip_tunnel_prl_entry {\n\tstruct ip_tunnel_prl_entry *next;\n\t__be32 addr;\n\tu16 flags;\n\tstruct callback_head callback_head;\n};\n\nstruct ipc64_perm {\n\t__kernel_key_t key;\n\t__kernel_uid_t uid;\n\t__kernel_gid_t gid;\n\t__kernel_uid_t cuid;\n\t__kernel_gid_t cgid;\n\t__kernel_mode_t mode;\n\tunsigned int seq;\n\tunsigned int __pad1;\n\tlong long unsigned int __unused1;\n\tlong long unsigned int __unused2;\n};\n\nstruct ipc_ids {\n\tint in_use;\n\tshort unsigned int seq;\n\tstruct rw_semaphore rwsem;\n\tstruct idr ipcs_idr;\n\tint max_idx;\n\tint last_idx;\n\tint next_id;\n\tstruct rhashtable key_ht;\n};\n\nstruct msgbuf;\n\nstruct ipc_kludge {\n\tstruct msgbuf *msgp;\n\tlong int msgtyp;\n};\n\nstruct ipc_namespace {\n\tstruct ipc_ids ids[3];\n\tint sem_ctls[4];\n\tint used_sems;\n\tunsigned int msg_ctlmax;\n\tunsigned int msg_ctlmnb;\n\tunsigned int msg_ctlmni;\n\tstruct percpu_counter percpu_msg_bytes;\n\tstruct percpu_counter percpu_msg_hdrs;\n\tsize_t shm_ctlmax;\n\tsize_t shm_ctlall;\n\tlong unsigned int shm_tot;\n\tint shm_ctlmni;\n\tint shm_rmid_forced;\n\tstruct notifier_block ipcns_nb;\n\tstruct vfsmount *mq_mnt;\n\tunsigned int mq_queues_count;\n\tunsigned int mq_queues_max;\n\tunsigned int mq_msg_max;\n\tunsigned int mq_msgsize_max;\n\tunsigned int mq_msg_default;\n\tunsigned int mq_msgsize_default;\n\tstruct ctl_table_set mq_set;\n\tstruct ctl_table_header *mq_sysctls;\n\tstruct ctl_table_set ipc_set;\n\tstruct ctl_table_header *ipc_sysctls;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct llist_node mnt_llist;\n\tstruct ns_common ns;\n};\n\nstruct ipc_params;\n\nstruct kern_ipc_perm;\n\nstruct ipc_ops {\n\tint (*getnew)(struct ipc_namespace *, struct ipc_params *);\n\tint (*associate)(struct kern_ipc_perm *, int);\n\tint (*more_checks)(struct kern_ipc_perm *, struct ipc_params *);\n};\n\nstruct ipc_params {\n\tkey_t key;\n\tint flg;\n\tunion {\n\t\tsize_t size;\n\t\tint nsems;\n\t} u;\n};\n\nstruct ipc_perm {\n\t__kernel_key_t key;\n\t__kernel_uid_t uid;\n\t__kernel_gid_t gid;\n\t__kernel_uid_t cuid;\n\t__kernel_gid_t cgid;\n\t__kernel_mode_t mode;\n\tshort unsigned int seq;\n};\n\nstruct ipc_proc_iface {\n\tconst char *path;\n\tconst char *header;\n\tint ids;\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct ipc_proc_iter {\n\tstruct ipc_namespace *ns;\n\tstruct pid_namespace *pid_ns;\n\tstruct ipc_proc_iface *iface;\n};\n\nstruct ipc_security_struct {\n\tu16 sclass;\n\tu32 sid;\n};\n\nstruct sockcm_cookie {\n\tu64 transmit_time;\n\tu32 mark;\n\tu32 tsflags;\n\tu32 ts_opt_id;\n\tu32 priority;\n};\n\nstruct ipcm6_cookie {\n\tstruct sockcm_cookie sockc;\n\t__s16 hlimit;\n\t__s16 tclass;\n\t__u16 gso_size;\n\t__s8 dontfrag;\n\tstruct ipv6_txoptions *opt;\n};\n\nstruct ipcm_cookie {\n\tstruct sockcm_cookie sockc;\n\t__be32 addr;\n\tint oif;\n\tstruct ip_options_rcu *opt;\n\t__u8 protocol;\n\t__u8 ttl;\n\t__s16 tos;\n\t__u16 gso_size;\n};\n\nstruct ipfrag_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t};\n\tstruct sk_buff *next_frag;\n\tint frag_run_len;\n\tint ip_defrag_offset;\n};\n\nstruct ipq {\n\tstruct inet_frag_queue q;\n\tu8 ecn;\n\tu16 max_df_size;\n\tint iif;\n\tunsigned int rid;\n\tstruct inet_peer *peer;\n};\n\nstruct ipr_auto_sense {\n\t__be16 auto_sense_len;\n\t__be16 ioa_data_len;\n\t__be32 data[24];\n};\n\nstruct ipr_bus_attributes {\n\tu8 bus;\n\tu8 qas_enabled;\n\tu8 bus_width;\n\tu8 reserved;\n\tu32 max_xfer_rate;\n};\n\nstruct ipr_interrupt_offsets {\n\tlong unsigned int set_interrupt_mask_reg;\n\tlong unsigned int clr_interrupt_mask_reg;\n\tlong unsigned int clr_interrupt_mask_reg32;\n\tlong unsigned int sense_interrupt_mask_reg;\n\tlong unsigned int sense_interrupt_mask_reg32;\n\tlong unsigned int clr_interrupt_reg;\n\tlong unsigned int clr_interrupt_reg32;\n\tlong unsigned int sense_interrupt_reg;\n\tlong unsigned int sense_interrupt_reg32;\n\tlong unsigned int ioarrin_reg;\n\tlong unsigned int sense_uproc_interrupt_reg;\n\tlong unsigned int sense_uproc_interrupt_reg32;\n\tlong unsigned int set_uproc_interrupt_reg;\n\tlong unsigned int set_uproc_interrupt_reg32;\n\tlong unsigned int clr_uproc_interrupt_reg;\n\tlong unsigned int clr_uproc_interrupt_reg32;\n\tlong unsigned int init_feedback_reg;\n\tlong unsigned int dump_addr_reg;\n\tlong unsigned int dump_data_reg;\n\tlong unsigned int endian_swap_reg;\n};\n\nstruct ipr_chip_cfg_t {\n\tu32 mailbox;\n\tu16 max_cmds;\n\tu8 cache_line_size;\n\tu8 clear_isr;\n\tu32 iopoll_weight;\n\tstruct ipr_interrupt_offsets regs;\n};\n\nstruct ipr_chip_t {\n\tu16 vendor;\n\tu16 device;\n\tbool has_msi;\n\tu16 sis_type;\n\tu16 bist_method;\n\tconst struct ipr_chip_cfg_t *cfg;\n};\n\nstruct ipr_cmd_pkt {\n\tu8 reserved;\n\tu8 hrrq_id;\n\tu8 request_type;\n\tu8 reserved2;\n\tu8 flags_hi;\n\tu8 flags_lo;\n\tu8 cdb[16];\n\t__be16 timeout;\n};\n\nstruct ipr_ioadl_desc {\n\t__be32 flags_and_data_len;\n\t__be32 address;\n};\n\nstruct ipr_ioarcb_add_data {\n\tunion {\n\t\tstruct ipr_ioadl_desc ioadl[5];\n\t\t__be32 add_cmd_parms[10];\n\t} u;\n};\n\nstruct ipr_ioarcb_sis64_add_addr_ecb {\n\t__be64 ioasa_host_pci_addr;\n\t__be64 data_ioadl_addr;\n\t__be64 reserved;\n\t__be32 ext_control_buf[4];\n};\n\nstruct ipr_ioarcb {\n\tunion {\n\t\t__be32 ioarcb_host_pci_addr;\n\t\t__be64 ioarcb_host_pci_addr64;\n\t} a;\n\t__be32 res_handle;\n\t__be32 host_response_handle;\n\t__be32 reserved1;\n\t__be32 reserved2;\n\t__be32 reserved3;\n\t__be32 data_transfer_length;\n\t__be32 read_data_transfer_length;\n\t__be32 write_ioadl_addr;\n\t__be32 ioadl_len;\n\t__be32 read_ioadl_addr;\n\t__be32 read_ioadl_len;\n\t__be32 ioasa_host_pci_addr;\n\t__be16 ioasa_len;\n\t__be16 reserved4;\n\tstruct ipr_cmd_pkt cmd_pkt;\n\t__be16 add_cmd_parms_offset;\n\t__be16 add_cmd_parms_len;\n\tunion {\n\t\tstruct ipr_ioarcb_add_data add_data;\n\t\tstruct ipr_ioarcb_sis64_add_addr_ecb sis64_addr_data;\n\t} u;\n};\n\nstruct ipr_ioadl64_desc {\n\t__be32 flags;\n\t__be32 data_len;\n\t__be64 address;\n};\n\nstruct ipr_ioasa_hdr {\n\t__be32 ioasc;\n\t__be16 ret_stat_len;\n\t__be16 avail_stat_len;\n\t__be32 residual_data_len;\n\t__be32 ilid;\n\t__be32 fd_ioasc;\n\t__be32 fd_phys_locator;\n\t__be32 fd_res_handle;\n\t__be32 ioasc_specific;\n};\n\nstruct ipr_ioasa_vset {\n\t__be32 failing_lba_hi;\n\t__be32 failing_lba_lo;\n\t__be32 reserved;\n};\n\nstruct ipr_ioasa_af_dasd {\n\t__be32 failing_lba;\n\t__be32 reserved[2];\n};\n\nstruct ipr_ioasa_gpdd {\n\tu8 end_state;\n\tu8 bus_phase;\n\t__be16 reserved;\n\t__be32 ioa_data[2];\n};\n\nstruct ipr_ioasa {\n\tstruct ipr_ioasa_hdr hdr;\n\tunion {\n\t\tstruct ipr_ioasa_vset vset;\n\t\tstruct ipr_ioasa_af_dasd dasd;\n\t\tstruct ipr_ioasa_gpdd gpdd;\n\t} u;\n\tstruct ipr_auto_sense auto_sense;\n};\n\nstruct ipr_ioasa64 {\n\tstruct ipr_ioasa_hdr hdr;\n\tu8 fd_res_path[8];\n\tunion {\n\t\tstruct ipr_ioasa_vset vset;\n\t\tstruct ipr_ioasa_af_dasd dasd;\n\t\tstruct ipr_ioasa_gpdd gpdd;\n\t} u;\n\tstruct ipr_auto_sense auto_sense;\n};\n\nstruct ipr_hostrcb;\n\nstruct ipr_resource_entry;\n\nstruct ipr_hrr_queue;\n\nstruct ipr_ioa_cfg;\n\nstruct ipr_cmnd {\n\tstruct ipr_ioarcb ioarcb;\n\tunion {\n\t\tstruct ipr_ioadl_desc ioadl[64];\n\t\tstruct ipr_ioadl64_desc ioadl64[64];\n\t} i;\n\tunion {\n\t\tstruct ipr_ioasa ioasa;\n\t\tstruct ipr_ioasa64 ioasa64;\n\t} s;\n\tstruct list_head queue;\n\tstruct scsi_cmnd *scsi_cmd;\n\tstruct completion completion;\n\tstruct timer_list timer;\n\tstruct work_struct work;\n\tvoid (*fast_done)(struct ipr_cmnd *);\n\tvoid (*done)(struct ipr_cmnd *);\n\tint (*job_step)(struct ipr_cmnd *);\n\tint (*job_step_failed)(struct ipr_cmnd *);\n\tu16 cmd_index;\n\tu8 sense_buffer[96];\n\tdma_addr_t sense_buffer_dma;\n\tshort unsigned int dma_use_sg;\n\tdma_addr_t dma_addr;\n\tstruct ipr_cmnd *sibling;\n\tunion {\n\t\tenum ipr_shutdown_type shutdown_type;\n\t\tstruct ipr_hostrcb *hostrcb;\n\t\tlong unsigned int time_left;\n\t\tlong unsigned int scratch;\n\t\tstruct ipr_resource_entry *res;\n\t\tstruct scsi_device *sdev;\n\t} u;\n\tstruct completion *eh_comp;\n\tstruct ipr_hrr_queue *hrrq;\n\tstruct ipr_ioa_cfg *ioa_cfg;\n};\n\nstruct ipr_config_table_hdr {\n\tu8 num_entries;\n\tu8 flags;\n\t__be16 reserved;\n};\n\nstruct ipr_res_addr {\n\tu8 reserved;\n\tu8 bus;\n\tu8 target;\n\tu8 lun;\n};\n\nstruct ipr_std_inq_vpids {\n\tu8 vendor_id[8];\n\tu8 product_id[16];\n};\n\nstruct ipr_std_inq_data {\n\tu8 peri_qual_dev_type;\n\tu8 removeable_medium_rsvd;\n\tu8 version;\n\tu8 aen_naca_fmt;\n\tu8 additional_len;\n\tu8 sccs_rsvd;\n\tu8 bq_enc_multi;\n\tu8 sync_cmdq_flags;\n\tstruct ipr_std_inq_vpids vpids;\n\tu8 ros_rsvd_ram_rsvd[4];\n\tu8 serial_num[8];\n};\n\nstruct ipr_config_table_entry {\n\tu8 proto;\n\tu8 array_id;\n\tu8 flags;\n\tu8 rsvd_subtype;\n\tstruct ipr_res_addr res_addr;\n\t__be32 res_handle;\n\t__be32 lun_wwn[2];\n\tstruct ipr_std_inq_data std_inq_data;\n};\n\nstruct ipr_config_table {\n\tstruct ipr_config_table_hdr hdr;\n\tstruct ipr_config_table_entry dev[0];\n};\n\nstruct ipr_config_table_hdr64 {\n\t__be16 num_entries;\n\t__be16 reserved;\n\tu8 flags;\n\tu8 reserved2[11];\n};\n\nstruct ipr_config_table_entry64 {\n\tu8 res_type;\n\tu8 proto;\n\tu8 vset_num;\n\tu8 array_id;\n\t__be16 flags;\n\t__be16 res_flags;\n\t__be32 res_handle;\n\tu8 dev_id_type;\n\tu8 reserved[3];\n\t__be64 dev_id;\n\t__be64 lun;\n\t__be64 lun_wwn[2];\n\t__be64 res_path;\n\tstruct ipr_std_inq_data std_inq_data;\n\tu8 reserved2[4];\n\t__be64 reserved3[2];\n\tu8 reserved4[8];\n};\n\nstruct ipr_config_table64 {\n\tstruct ipr_config_table_hdr64 hdr64;\n\tstruct ipr_config_table_entry64 dev[0];\n};\n\nstruct ipr_config_table_entry_wrapper {\n\tunion {\n\t\tstruct ipr_config_table_entry *cfgte;\n\t\tstruct ipr_config_table_entry64 *cfgte64;\n\t} u;\n};\n\nstruct ipr_dev_bus_entry {\n\tstruct ipr_res_addr res_addr;\n\tu8 flags;\n\tu8 scsi_id;\n\tu8 bus_width;\n\tu8 extended_reset_delay;\n\t__be32 max_xfer_rate;\n\tu8 spinup_delay;\n\tu8 reserved3;\n\t__be16 reserved4;\n};\n\nstruct ipr_dump_header {\n\tu32 eye_catcher;\n\tu32 len;\n\tu32 num_entries;\n\tu32 first_entry_offset;\n\tu32 status;\n\tu32 os;\n\tu32 driver_name;\n};\n\nstruct ipr_dump_entry_header {\n\tu32 eye_catcher;\n\tu32 len;\n\tu32 num_elems;\n\tu32 offset;\n\tu32 data_type;\n\tu32 id;\n\tu32 status;\n};\n\nstruct ipr_dump_version_entry {\n\tstruct ipr_dump_entry_header hdr;\n\tu8 version[6];\n};\n\nstruct ipr_dump_location_entry {\n\tstruct ipr_dump_entry_header hdr;\n\tu8 location[20];\n};\n\nstruct ipr_dump_ioa_type_entry {\n\tstruct ipr_dump_entry_header hdr;\n\tu32 type;\n\tu32 fw_version;\n};\n\nstruct ipr_dump_trace_entry {\n\tstruct ipr_dump_entry_header hdr;\n\tu32 trace[1024];\n};\n\nstruct ipr_driver_dump {\n\tstruct ipr_dump_header hdr;\n\tstruct ipr_dump_version_entry version_entry;\n\tstruct ipr_dump_location_entry location_entry;\n\tstruct ipr_dump_ioa_type_entry ioa_type_entry;\n\tstruct ipr_dump_trace_entry trace_entry;\n};\n\nstruct ipr_sdt_header {\n\t__be32 state;\n\t__be32 num_entries;\n\t__be32 num_entries_used;\n\t__be32 dump_size;\n};\n\nstruct ipr_sdt_entry {\n\t__be32 start_token;\n\t__be32 end_token;\n\tu8 reserved[4];\n\tu8 flags;\n\tu8 resv;\n\t__be16 priority;\n};\n\nstruct ipr_sdt {\n\tstruct ipr_sdt_header hdr;\n\tstruct ipr_sdt_entry entry[4095];\n};\n\nstruct ipr_ioa_dump {\n\tstruct ipr_dump_entry_header hdr;\n\tstruct ipr_sdt sdt;\n\t__be32 **ioa_data;\n\tu32 reserved;\n\tu32 next_page_index;\n\tu32 page_offset;\n\tu32 format;\n} __attribute__((packed));\n\nstruct ipr_dump {\n\tstruct kref kref;\n\tstruct ipr_ioa_cfg *ioa_cfg;\n\tstruct ipr_driver_dump driver_dump;\n\tstruct ipr_ioa_dump ioa_dump;\n};\n\nstruct ipr_error_table_t {\n\tu32 ioasc;\n\tint log_ioasa;\n\tint log_hcam;\n\tchar *error;\n};\n\nstruct ipr_vpd {\n\tstruct ipr_std_inq_vpids vpids;\n\tu8 sn[8];\n};\n\nstruct ipr_ext_vpd {\n\tstruct ipr_vpd vpd;\n\t__be32 wwid[2];\n};\n\nstruct ipr_ext_vpd64 {\n\tstruct ipr_vpd vpd;\n\t__be32 wwid[4];\n};\n\nstruct ipr_hostrcb_type_ff_error {\n\t__be32 ioa_data[758];\n};\n\nstruct ipr_hostrcb_type_01_error {\n\t__be32 seek_counter;\n\t__be32 read_counter;\n\tu8 sense_data[32];\n\t__be32 ioa_data[236];\n};\n\nstruct ipr_hostrcb_type_02_error {\n\tstruct ipr_vpd ioa_vpd;\n\tstruct ipr_vpd cfc_vpd;\n\tstruct ipr_vpd ioa_last_attached_to_cfc_vpd;\n\tstruct ipr_vpd cfc_last_attached_to_ioa_vpd;\n\t__be32 ioa_data[3];\n};\n\nstruct ipr_hostrcb_device_data_entry {\n\tstruct ipr_vpd vpd;\n\tstruct ipr_res_addr dev_res_addr;\n\tstruct ipr_vpd new_vpd;\n\tstruct ipr_vpd ioa_last_with_dev_vpd;\n\tstruct ipr_vpd cfc_last_with_dev_vpd;\n\t__be32 ioa_data[5];\n};\n\nstruct ipr_hostrcb_type_03_error {\n\tstruct ipr_vpd ioa_vpd;\n\tstruct ipr_vpd cfc_vpd;\n\t__be32 errors_detected;\n\t__be32 errors_logged;\n\tu8 ioa_data[12];\n\tstruct ipr_hostrcb_device_data_entry dev[3];\n};\n\nstruct ipr_hostrcb_array_data_entry {\n\tstruct ipr_vpd vpd;\n\tstruct ipr_res_addr expected_dev_res_addr;\n\tstruct ipr_res_addr dev_res_addr;\n};\n\nstruct ipr_hostrcb_type_04_error {\n\tstruct ipr_vpd ioa_vpd;\n\tstruct ipr_vpd cfc_vpd;\n\tu8 ioa_data[12];\n\tstruct ipr_hostrcb_array_data_entry array_member[10];\n\t__be32 exposed_mode_adn;\n\t__be32 array_id;\n\tstruct ipr_vpd incomp_dev_vpd;\n\t__be32 ioa_data2;\n\tstruct ipr_hostrcb_array_data_entry array_member2[8];\n\tstruct ipr_res_addr last_func_vset_res_addr;\n\tu8 vset_serial_num[8];\n\tu8 protection_level[8];\n};\n\nstruct ipr_hostrcb_type_07_error {\n\tu8 failure_reason[64];\n\tstruct ipr_vpd vpd;\n\t__be32 data[222];\n};\n\nstruct ipr_hostrcb_type_12_error {\n\tstruct ipr_ext_vpd ioa_vpd;\n\tstruct ipr_ext_vpd cfc_vpd;\n\tstruct ipr_ext_vpd ioa_last_attached_to_cfc_vpd;\n\tstruct ipr_ext_vpd cfc_last_attached_to_ioa_vpd;\n\t__be32 ioa_data[3];\n};\n\nstruct ipr_hostrcb_device_data_entry_enhanced {\n\tstruct ipr_ext_vpd vpd;\n\tu8 ccin[4];\n\tstruct ipr_res_addr dev_res_addr;\n\tstruct ipr_ext_vpd new_vpd;\n\tu8 new_ccin[4];\n\tstruct ipr_ext_vpd ioa_last_with_dev_vpd;\n\tstruct ipr_ext_vpd cfc_last_with_dev_vpd;\n};\n\nstruct ipr_hostrcb_type_13_error {\n\tstruct ipr_ext_vpd ioa_vpd;\n\tstruct ipr_ext_vpd cfc_vpd;\n\t__be32 errors_detected;\n\t__be32 errors_logged;\n\tstruct ipr_hostrcb_device_data_entry_enhanced dev[3];\n};\n\nstruct ipr_hostrcb_array_data_entry_enhanced {\n\tstruct ipr_ext_vpd vpd;\n\tu8 ccin[4];\n\tstruct ipr_res_addr expected_dev_res_addr;\n\tstruct ipr_res_addr dev_res_addr;\n};\n\nstruct ipr_hostrcb_type_14_error {\n\tstruct ipr_ext_vpd ioa_vpd;\n\tstruct ipr_ext_vpd cfc_vpd;\n\t__be32 exposed_mode_adn;\n\t__be32 array_id;\n\tstruct ipr_res_addr last_func_vset_res_addr;\n\tu8 vset_serial_num[8];\n\tu8 protection_level[8];\n\t__be32 num_entries;\n\tstruct ipr_hostrcb_array_data_entry_enhanced array_member[18];\n};\n\nstruct ipr_hostrcb_type_17_error {\n\tu8 failure_reason[64];\n\tstruct ipr_ext_vpd vpd;\n\t__be32 data[476];\n};\n\nstruct ipr_hostrcb_config_element {\n\tu8 type_status;\n\tu8 cascaded_expander;\n\tu8 phy;\n\tu8 link_rate;\n\t__be32 wwid[2];\n};\n\nstruct ipr_hostrcb_fabric_desc {\n\t__be16 length;\n\tu8 ioa_port;\n\tu8 cascaded_expander;\n\tu8 phy;\n\tu8 path_state;\n\t__be16 num_entries;\n\tstruct ipr_hostrcb_config_element elem[0];\n};\n\nstruct ipr_hostrcb_type_20_error {\n\tu8 failure_reason[64];\n\tu8 reserved[3];\n\tu8 num_entries;\n\tstruct ipr_hostrcb_fabric_desc desc[1];\n};\n\nstruct ipr_hostrcb_error {\n\t__be32 fd_ioasc;\n\tstruct ipr_res_addr fd_res_addr;\n\t__be32 fd_res_handle;\n\t__be32 prc;\n\tunion {\n\t\tstruct ipr_hostrcb_type_ff_error type_ff_error;\n\t\tstruct ipr_hostrcb_type_01_error type_01_error;\n\t\tstruct ipr_hostrcb_type_02_error type_02_error;\n\t\tstruct ipr_hostrcb_type_03_error type_03_error;\n\t\tstruct ipr_hostrcb_type_04_error type_04_error;\n\t\tstruct ipr_hostrcb_type_07_error type_07_error;\n\t\tstruct ipr_hostrcb_type_12_error type_12_error;\n\t\tstruct ipr_hostrcb_type_13_error type_13_error;\n\t\tstruct ipr_hostrcb_type_14_error type_14_error;\n\t\tstruct ipr_hostrcb_type_17_error type_17_error;\n\t\tstruct ipr_hostrcb_type_20_error type_20_error;\n\t} u;\n};\n\nstruct ipr_hostrcb_type_21_error {\n\t__be32 wwn[4];\n\tu8 res_path[8];\n\tu8 primary_problem_desc[32];\n\tu8 second_problem_desc[32];\n\t__be32 sense_data[8];\n\t__be32 cdb[4];\n\t__be32 residual_trans_length;\n\t__be32 length_of_error;\n\t__be32 ioa_data[236];\n};\n\nstruct ipr_hostrcb64_device_data_entry_enhanced {\n\tstruct ipr_ext_vpd vpd;\n\tu8 ccin[4];\n\tu8 res_path[8];\n\tstruct ipr_ext_vpd new_vpd;\n\tu8 new_ccin[4];\n\tstruct ipr_ext_vpd ioa_last_with_dev_vpd;\n\tstruct ipr_ext_vpd cfc_last_with_dev_vpd;\n};\n\nstruct ipr_hostrcb_type_23_error {\n\tstruct ipr_ext_vpd ioa_vpd;\n\tstruct ipr_ext_vpd cfc_vpd;\n\t__be32 errors_detected;\n\t__be32 errors_logged;\n\tstruct ipr_hostrcb64_device_data_entry_enhanced dev[3];\n};\n\nstruct ipr_hostrcb64_array_data_entry {\n\tstruct ipr_ext_vpd vpd;\n\tu8 ccin[4];\n\tu8 expected_res_path[8];\n\tu8 res_path[8];\n};\n\nstruct ipr_hostrcb_type_24_error {\n\tstruct ipr_ext_vpd ioa_vpd;\n\tstruct ipr_ext_vpd cfc_vpd;\n\tu8 reserved[2];\n\tu8 exposed_mode_adn;\n\tu8 array_id;\n\tu8 last_res_path[8];\n\tu8 protection_level[8];\n\tstruct ipr_ext_vpd64 array_vpd;\n\tu8 description[16];\n\tu8 reserved2[3];\n\tu8 num_entries;\n\tstruct ipr_hostrcb64_array_data_entry array_member[32];\n};\n\nstruct ipr_hostrcb64_config_element {\n\t__be16 length;\n\tu8 descriptor_id;\n\tu8 reserved;\n\tu8 type_status;\n\tu8 reserved2[2];\n\tu8 link_rate;\n\tu8 res_path[8];\n\t__be32 wwid[2];\n};\n\nstruct ipr_hostrcb64_fabric_desc {\n\t__be16 length;\n\tu8 descriptor_id;\n\tu8 reserved[2];\n\tu8 path_state;\n\tu8 reserved2[2];\n\tu8 res_path[8];\n\tu8 reserved3[6];\n\t__be16 num_entries;\n\tstruct ipr_hostrcb64_config_element elem[0];\n};\n\nstruct ipr_hostrcb_type_30_error {\n\tu8 failure_reason[64];\n\tu8 reserved[3];\n\tu8 num_entries;\n\tstruct ipr_hostrcb64_fabric_desc desc[1];\n};\n\nstruct ipr_hostrcb_type_41_error {\n\tu8 failure_reason[64];\n\t__be32 data[200];\n};\n\nstruct ipr_hostrcb64_error {\n\t__be32 fd_ioasc;\n\t__be32 ioa_fw_level;\n\t__be32 fd_res_handle;\n\t__be32 prc;\n\t__be64 fd_dev_id;\n\t__be64 fd_lun;\n\tu8 fd_res_path[8];\n\t__be64 time_stamp;\n\tu8 reserved[16];\n\tunion {\n\t\tstruct ipr_hostrcb_type_ff_error type_ff_error;\n\t\tstruct ipr_hostrcb_type_12_error type_12_error;\n\t\tstruct ipr_hostrcb_type_17_error type_17_error;\n\t\tstruct ipr_hostrcb_type_21_error type_21_error;\n\t\tstruct ipr_hostrcb_type_23_error type_23_error;\n\t\tstruct ipr_hostrcb_type_24_error type_24_error;\n\t\tstruct ipr_hostrcb_type_30_error type_30_error;\n\t\tstruct ipr_hostrcb_type_41_error type_41_error;\n\t} u;\n};\n\nstruct ipr_hostrcb_cfg_ch_not {\n\tunion {\n\t\tstruct ipr_config_table_entry cfgte;\n\t\tstruct ipr_config_table_entry64 cfgte64;\n\t} u;\n\tu8 reserved[936];\n};\n\nstruct ipr_hostrcb_raw {\n\t__be32 data[762];\n};\n\nstruct ipr_hcam {\n\tu8 op_code;\n\tu8 notify_type;\n\tu8 notifications_lost;\n\tu8 flags;\n\tu8 overlay_id;\n\tu8 reserved1[3];\n\t__be32 ilid;\n\t__be32 time_since_last_ioa_reset;\n\t__be32 reserved2;\n\t__be32 length;\n\tunion {\n\t\tstruct ipr_hostrcb_error error;\n\t\tstruct ipr_hostrcb64_error error64;\n\t\tstruct ipr_hostrcb_cfg_ch_not ccn;\n\t\tstruct ipr_hostrcb_raw raw;\n\t} u;\n};\n\nstruct ipr_hostrcb {\n\tstruct ipr_hcam hcam;\n\tdma_addr_t hostrcb_dma;\n\tstruct list_head queue;\n\tstruct ipr_ioa_cfg *ioa_cfg;\n\tchar rp_buffer[48];\n};\n\nstruct ipr_hrr_queue {\n\tstruct ipr_ioa_cfg *ioa_cfg;\n\t__be32 *host_rrq;\n\tdma_addr_t host_rrq_dma;\n\tvolatile __be32 *hrrq_start;\n\tvolatile __be32 *hrrq_end;\n\tvolatile __be32 *hrrq_curr;\n\tstruct list_head hrrq_free_q;\n\tstruct list_head hrrq_pending_q;\n\tspinlock_t _lock;\n\tspinlock_t *lock;\n\tvolatile u32 toggle_bit;\n\tu32 size;\n\tu32 min_cmd_id;\n\tu32 max_cmd_id;\n\tu8 allow_interrupts: 1;\n\tu8 ioa_is_dead: 1;\n\tu8 allow_cmds: 1;\n\tu8 removing_ioa: 1;\n\tstruct irq_poll iopoll;\n};\n\nstruct ipr_inquiry_cap {\n\tu8 peri_qual_dev_type;\n\tu8 page_code;\n\tu8 reserved1;\n\tu8 page_length;\n\tu8 ascii_len;\n\tu8 reserved2;\n\tu8 sis_version[2];\n\tu8 cap;\n\tu8 reserved3[15];\n};\n\nstruct ipr_inquiry_page0 {\n\tu8 peri_qual_dev_type;\n\tu8 page_code;\n\tu8 reserved1;\n\tu8 len;\n\tu8 page[20];\n};\n\nstruct ipr_inquiry_page3 {\n\tu8 peri_qual_dev_type;\n\tu8 page_code;\n\tu8 reserved1;\n\tu8 page_length;\n\tu8 ascii_len;\n\tu8 reserved2[3];\n\tu8 load_id[4];\n\tu8 major_release;\n\tu8 card_type;\n\tu8 minor_release[2];\n\tu8 ptf_number[4];\n\tu8 patch_number[4];\n};\n\nstruct ipr_inquiry_pageC4 {\n\tu8 peri_qual_dev_type;\n\tu8 page_code;\n\tu8 reserved1;\n\tu8 len;\n\tu8 cache_cap[4];\n\tu8 reserved2[20];\n};\n\nstruct ipr_interrupts {\n\tvoid *set_interrupt_mask_reg;\n\tvoid *clr_interrupt_mask_reg;\n\tvoid *clr_interrupt_mask_reg32;\n\tvoid *sense_interrupt_mask_reg;\n\tvoid *sense_interrupt_mask_reg32;\n\tvoid *clr_interrupt_reg;\n\tvoid *clr_interrupt_reg32;\n\tvoid *sense_interrupt_reg;\n\tvoid *sense_interrupt_reg32;\n\tvoid *ioarrin_reg;\n\tvoid *sense_uproc_interrupt_reg;\n\tvoid *sense_uproc_interrupt_reg32;\n\tvoid *set_uproc_interrupt_reg;\n\tvoid *set_uproc_interrupt_reg32;\n\tvoid *clr_uproc_interrupt_reg;\n\tvoid *clr_uproc_interrupt_reg32;\n\tvoid *init_feedback_reg;\n\tvoid *dump_addr_reg;\n\tvoid *dump_data_reg;\n\tvoid *endian_swap_reg;\n};\n\nstruct ipr_trace_entry;\n\nstruct ipr_sglist;\n\nstruct ipr_misc_cbs;\n\nstruct ipr_ioa_cfg {\n\tchar eye_catcher[8];\n\tstruct list_head queue;\n\tu8 in_reset_reload: 1;\n\tu8 in_ioa_bringdown: 1;\n\tu8 ioa_unit_checked: 1;\n\tu8 dump_taken: 1;\n\tu8 scan_enabled: 1;\n\tu8 scan_done: 1;\n\tu8 needs_hard_reset: 1;\n\tu8 dual_raid: 1;\n\tu8 needs_warm_reset: 1;\n\tu8 msi_received: 1;\n\tu8 sis64: 1;\n\tu8 dump_timeout: 1;\n\tu8 cfg_locked: 1;\n\tu8 clear_isr: 1;\n\tu8 probe_done: 1;\n\tu8 scsi_unblock: 1;\n\tu8 scsi_blocked: 1;\n\tu8 revid;\n\tlong unsigned int target_ids[64];\n\tlong unsigned int array_ids[64];\n\tlong unsigned int vset_ids[64];\n\tu16 type;\n\tu8 log_level;\n\tchar trace_start[8];\n\tstruct ipr_trace_entry *trace;\n\tatomic_t trace_index;\n\tchar cfg_table_start[8];\n\tunion {\n\t\tstruct ipr_config_table *cfg_table;\n\t\tstruct ipr_config_table64 *cfg_table64;\n\t} u;\n\tdma_addr_t cfg_table_dma;\n\tu32 cfg_table_size;\n\tu32 max_devs_supported;\n\tchar resource_table_label[8];\n\tstruct ipr_resource_entry *res_entries;\n\tstruct list_head free_res_q;\n\tstruct list_head used_res_q;\n\tchar ipr_hcam_label[8];\n\tstruct ipr_hostrcb *hostrcb[16];\n\tdma_addr_t hostrcb_dma[16];\n\tstruct list_head hostrcb_free_q;\n\tstruct list_head hostrcb_pending_q;\n\tstruct list_head hostrcb_report_q;\n\tstruct ipr_hrr_queue hrrq[16];\n\tu32 hrrq_num;\n\tatomic_t hrrq_index;\n\tu16 identify_hrrq_index;\n\tstruct ipr_bus_attributes bus_attr[16];\n\tunsigned int transop_timeout;\n\tconst struct ipr_chip_cfg_t *chip_cfg;\n\tconst struct ipr_chip_t *ipr_chip;\n\tvoid *hdw_dma_regs;\n\tlong unsigned int hdw_dma_regs_pci;\n\tvoid *ioa_mailbox;\n\tstruct ipr_interrupts regs;\n\tu16 saved_pcix_cmd_reg;\n\tu16 reset_retries;\n\tu32 errors_logged;\n\tu32 doorbell;\n\tstruct Scsi_Host *host;\n\tstruct pci_dev *pdev;\n\tstruct ipr_sglist *ucode_sglist;\n\tu8 saved_mode_page_len;\n\tstruct work_struct work_q;\n\tstruct work_struct scsi_add_work_q;\n\tstruct workqueue_struct *reset_work_q;\n\twait_queue_head_t reset_wait_q;\n\twait_queue_head_t msi_wait_q;\n\twait_queue_head_t eeh_wait_q;\n\tstruct ipr_dump *dump;\n\tenum ipr_sdt_state sdt_state;\n\tstruct ipr_misc_cbs *vpd_cbs;\n\tdma_addr_t vpd_cbs_dma;\n\tstruct dma_pool *ipr_cmd_pool;\n\tstruct ipr_cmnd *reset_cmd;\n\tint (*reset)(struct ipr_cmnd *);\n\tchar ipr_cmd_label[8];\n\tu32 max_cmds;\n\tstruct ipr_cmnd **ipr_cmnd_list;\n\tdma_addr_t *ipr_cmnd_list_dma;\n\tunsigned int nvectors;\n\tstruct {\n\t\tchar desc[22];\n\t} vectors_info[16];\n\tu32 iopoll_weight;\n};\n\nstruct ipr_ioa_vpd {\n\tstruct ipr_std_inq_data std_inq_data;\n\tu8 ascii_part_num[12];\n\tu8 reserved[40];\n\tu8 ascii_plant_code[4];\n};\n\nstruct ipr_mode_parm_hdr {\n\tu8 length;\n\tu8 medium_type;\n\tu8 device_spec_parms;\n\tu8 block_desc_len;\n};\n\nstruct ipr_mode_pages {\n\tstruct ipr_mode_parm_hdr hdr;\n\tu8 data[251];\n};\n\nstruct ipr_supported_device {\n\t__be16 data_length;\n\tu8 reserved;\n\tu8 num_records;\n\tstruct ipr_std_inq_vpids vpids;\n\tu8 reserved2[16];\n};\n\nstruct ipr_misc_cbs {\n\tstruct ipr_ioa_vpd ioa_vpd;\n\tstruct ipr_inquiry_page0 page0_data;\n\tstruct ipr_inquiry_page3 page3_data;\n\tstruct ipr_inquiry_cap cap;\n\tstruct ipr_inquiry_pageC4 pageC4_data;\n\tstruct ipr_mode_pages mode_pages;\n\tstruct ipr_supported_device supp_dev;\n};\n\nstruct ipr_mode_page_hdr {\n\tu8 ps_page_code;\n\tu8 page_length;\n};\n\nstruct ipr_mode_page24 {\n\tstruct ipr_mode_page_hdr hdr;\n\tu8 flags;\n};\n\nstruct ipr_mode_page28 {\n\tstruct ipr_mode_page_hdr hdr;\n\tu8 num_entries;\n\tu8 entry_length;\n\tstruct ipr_dev_bus_entry bus[0];\n};\n\nstruct scsi_lun {\n\t__u8 scsi_lun[8];\n};\n\nstruct ipr_resource_entry {\n\tu8 needs_sync_complete: 1;\n\tu8 in_erp: 1;\n\tu8 add_to_ml: 1;\n\tu8 del_from_ml: 1;\n\tu8 resetting_device: 1;\n\tu8 reset_occurred: 1;\n\tu8 raw_mode: 1;\n\tu32 bus;\n\tu32 target;\n\tu32 lun;\n\tu8 ata_class;\n\tu8 type;\n\tu16 flags;\n\tu16 res_flags;\n\tu8 qmodel;\n\tstruct ipr_std_inq_data std_inq_data;\n\t__be32 res_handle;\n\t__be64 dev_id;\n\tu64 lun_wwn;\n\tstruct scsi_lun dev_lun;\n\tu8 res_path[8];\n\tstruct ipr_ioa_cfg *ioa_cfg;\n\tstruct scsi_device *sdev;\n\tstruct list_head queue;\n};\n\nstruct ipr_ses_table_entry {\n\tchar product_id[17];\n\tchar compare_product_id_byte[17];\n\tu32 max_bus_speed_limit;\n};\n\nstruct ipr_sglist {\n\tu32 order;\n\tu32 num_sg;\n\tu32 num_dma_sg;\n\tu32 buffer_len;\n\tstruct scatterlist *scatterlist;\n};\n\nstruct ipr_software_inq_lid_info {\n\t__be32 load_id;\n\t__be32 timestamp[3];\n};\n\nstruct ipr_trace_entry {\n\tu32 time;\n\tu8 op_code;\n\tu8 ata_op_code;\n\tu8 type;\n\tu8 cmd_index;\n\t__be32 res_handle;\n\tunion {\n\t\tu32 ioasc;\n\t\tu32 add_data;\n\t\tu32 res_addr;\n\t} u;\n};\n\nstruct ipr_uc_sdt {\n\tstruct ipr_sdt_header hdr;\n\tstruct ipr_sdt_entry entry[1];\n};\n\nstruct ipr_ucode_image_header {\n\t__be32 header_length;\n\t__be32 lid_table_offset;\n\tu8 major_release;\n\tu8 card_type;\n\tu8 minor_release[2];\n\tu8 reserved[20];\n\tchar eyecatcher[16];\n\t__be32 num_lids;\n\tstruct ipr_software_inq_lid_info lid[1];\n};\n\nstruct ipstats_mib {\n\tu64 mibs[38];\n\tstruct u64_stats_sync syncp;\n};\n\nstruct ipv6_ac_socklist {\n\tstruct in6_addr acl_addr;\n\tint acl_ifindex;\n\tstruct ipv6_ac_socklist *acl_next;\n};\n\nstruct udp_table;\n\nstruct ipv6_bpf_stub {\n\tint (*inet6_bind)(struct sock *, struct sockaddr *, int, u32);\n\tstruct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *);\n\tint (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t);\n\tint (*ipv6_dev_get_saddr)(struct net *, const struct net_device *, const struct in6_addr *, unsigned int, struct in6_addr *);\n};\n\nstruct ipv6_fl_socklist {\n\tstruct ipv6_fl_socklist *next;\n\tstruct ip6_flowlabel *fl;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6_mc_socklist {\n\tstruct in6_addr addr;\n\tint ifindex;\n\tunsigned int sfmode;\n\tstruct ipv6_mc_socklist *next;\n\tstruct ip6_sf_socklist *sflist;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6_mreq {\n\tstruct in6_addr ipv6mr_multiaddr;\n\tint ipv6mr_ifindex;\n};\n\nstruct ipv6_opt_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n};\n\nstruct ipv6_params {\n\t__s32 disable_ipv6;\n\t__s32 autoconf;\n};\n\nstruct ipv6_pinfo {\n\tstruct in6_addr saddr;\n\tstruct in6_pktinfo sticky_pktinfo;\n\tconst struct in6_addr *daddr_cache;\n\t__be32 flow_label;\n\t__u32 frag_size;\n\ts16 hop_limit;\n\tu8 mcast_hops;\n\tint ucast_oif;\n\tint mcast_oif;\n\tunion {\n\t\tstruct {\n\t\t\t__u16 srcrt: 1;\n\t\t\t__u16 osrcrt: 1;\n\t\t\t__u16 rxinfo: 1;\n\t\t\t__u16 rxoinfo: 1;\n\t\t\t__u16 rxhlim: 1;\n\t\t\t__u16 rxohlim: 1;\n\t\t\t__u16 hopopts: 1;\n\t\t\t__u16 ohopopts: 1;\n\t\t\t__u16 dstopts: 1;\n\t\t\t__u16 odstopts: 1;\n\t\t\t__u16 rxflow: 1;\n\t\t\t__u16 rxtclass: 1;\n\t\t\t__u16 rxpmtu: 1;\n\t\t\t__u16 rxorigdstaddr: 1;\n\t\t\t__u16 recvfragsize: 1;\n\t\t} bits;\n\t\t__u16 all;\n\t} rxopt;\n\t__u8 srcprefs;\n\t__u8 pmtudisc;\n\t__u8 min_hopcount;\n\t__u8 tclass;\n\t__be32 rcv_flowinfo;\n\t__u32 dst_cookie;\n\tstruct ipv6_mc_socklist *ipv6_mc_list;\n\tstruct ipv6_ac_socklist *ipv6_ac_list;\n\tstruct ipv6_fl_socklist *ipv6_fl_list;\n\tstruct ipv6_txoptions *opt;\n\tstruct sk_buff *pktoptions;\n\tstruct sk_buff *rxpmtu;\n\tstruct inet6_cork cork;\n};\n\nstruct ipv6_route_iter {\n\tstruct seq_net_private p;\n\tstruct fib6_walker w;\n\tloff_t skip;\n\tstruct fib6_table *tbl;\n\tint sernum;\n};\n\nstruct ipv6_rpl_sr_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n\t__u32 cmpre: 4;\n\t__u32 cmpri: 4;\n\t__u32 reserved: 4;\n\t__u32 pad: 4;\n\t__u32 reserved1: 16;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_addr;\n\t\t\tstruct in6_addr addr[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\t__u8 data[0];\n\t\t};\n\t} segments;\n};\n\nstruct ipv6_rt_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n};\n\nstruct ipv6_saddr_dst {\n\tconst struct in6_addr *addr;\n\tint ifindex;\n\tint scope;\n\tint label;\n\tunsigned int prefs;\n};\n\nstruct ipv6_saddr_score {\n\tint rule;\n\tint addr_type;\n\tstruct inet6_ifaddr *ifa;\n\tlong unsigned int scorebits[1];\n\tint scopedist;\n\tint matchlen;\n};\n\nstruct ipv6_sr_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n\t__u8 first_segment;\n\t__u8 flags;\n\t__u16 tag;\n\tstruct in6_addr segments[0];\n};\n\nstruct neigh_table;\n\nstruct ipv6_stub {\n\tint (*ipv6_sock_mc_join)(struct sock *, int, const struct in6_addr *);\n\tint (*ipv6_sock_mc_drop)(struct sock *, int, const struct in6_addr *);\n\tstruct dst_entry * (*ipv6_dst_lookup_flow)(struct net *, const struct sock *, struct flowi6 *, const struct in6_addr *);\n\tint (*ipv6_route_input)(struct sk_buff *);\n\tstruct fib6_table * (*fib6_get_table)(struct net *, u32);\n\tint (*fib6_lookup)(struct net *, int, struct flowi6 *, struct fib6_result *, int);\n\tint (*fib6_table_lookup)(struct net *, struct fib6_table *, int, struct flowi6 *, struct fib6_result *, int);\n\tvoid (*fib6_select_path)(const struct net *, struct fib6_result *, struct flowi6 *, int, bool, const struct sk_buff *, int);\n\tu32 (*ip6_mtu_from_fib6)(const struct fib6_result *, const struct in6_addr *, const struct in6_addr *);\n\tint (*fib6_nh_init)(struct net *, struct fib6_nh *, struct fib6_config *, gfp_t, struct netlink_ext_ack *);\n\tvoid (*fib6_nh_release)(struct fib6_nh *);\n\tvoid (*fib6_nh_release_dsts)(struct fib6_nh *);\n\tvoid (*fib6_update_sernum)(struct net *, struct fib6_info *);\n\tint (*ip6_del_rt)(struct net *, struct fib6_info *, bool);\n\tvoid (*fib6_rt_update)(struct net *, struct fib6_info *, struct nl_info *);\n\tvoid (*udpv6_encap_enable)(void);\n\tvoid (*ndisc_send_na)(struct net_device *, const struct in6_addr *, const struct in6_addr *, bool, bool, bool, bool);\n\tvoid (*xfrm6_local_rxpmtu)(struct sk_buff *, u32);\n\tint (*xfrm6_udp_encap_rcv)(struct sock *, struct sk_buff *);\n\tstruct sk_buff * (*xfrm6_gro_udp_encap_rcv)(struct sock *, struct list_head *, struct sk_buff *);\n\tint (*xfrm6_rcv_encap)(struct sk_buff *, int, __be32, int);\n\tstruct neigh_table *nd_tbl;\n\tint (*ipv6_fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *));\n\tstruct net_device * (*ipv6_dev_find)(struct net *, const struct in6_addr *, struct net_device *);\n\tint (*ip6_xmit)(const struct sock *, struct sk_buff *, struct flowi6 *, __u32, struct ipv6_txoptions *, int, u32);\n};\n\nstruct ipv6_txoptions {\n\trefcount_t refcnt;\n\tint tot_len;\n\t__u16 opt_flen;\n\t__u16 opt_nflen;\n\tstruct ipv6_opt_hdr *hopopt;\n\tstruct ipv6_opt_hdr *dst0opt;\n\tstruct ipv6_rt_hdr *srcrt;\n\tstruct ipv6_opt_hdr *dst1opt;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6hdr {\n\t__u8 priority: 4;\n\t__u8 version: 4;\n\t__u8 flow_lbl[3];\n\t__be16 payload_len;\n\t__u8 nexthdr;\n\t__u8 hop_limit;\n\tunion {\n\t\tstruct {\n\t\t\tstruct in6_addr saddr;\n\t\t\tstruct in6_addr daddr;\n\t\t};\n\t\tstruct {\n\t\t\tstruct in6_addr saddr;\n\t\t\tstruct in6_addr daddr;\n\t\t} addrs;\n\t};\n};\n\nstruct irq_affinity {\n\tunsigned int pre_vectors;\n\tunsigned int post_vectors;\n\tunsigned int nr_sets;\n\tunsigned int set_size[4];\n\tvoid (*calc_sets)(struct irq_affinity *, unsigned int);\n\tvoid *priv;\n};\n\nstruct irq_affinity_desc {\n\tstruct cpumask mask;\n\tunsigned int is_managed: 1;\n};\n\nstruct irq_affinity_devres {\n\tunsigned int count;\n\tunsigned int irq[0];\n};\n\nstruct irq_affinity_notify {\n\tunsigned int irq;\n\tstruct kref kref;\n\tstruct work_struct work;\n\tvoid (*notify)(struct irq_affinity_notify *, const cpumask_t *);\n\tvoid (*release)(struct kref *);\n};\n\nstruct irq_bypass_producer;\n\nstruct irq_bypass_consumer {\n\tstruct list_head node;\n\tvoid *token;\n\tint (*add_producer)(struct irq_bypass_consumer *, struct irq_bypass_producer *);\n\tvoid (*del_producer)(struct irq_bypass_consumer *, struct irq_bypass_producer *);\n\tvoid (*stop)(struct irq_bypass_consumer *);\n\tvoid (*start)(struct irq_bypass_consumer *);\n};\n\nstruct irq_bypass_producer {\n\tstruct list_head node;\n\tvoid *token;\n\tint irq;\n\tint (*add_consumer)(struct irq_bypass_producer *, struct irq_bypass_consumer *);\n\tvoid (*del_consumer)(struct irq_bypass_producer *, struct irq_bypass_consumer *);\n\tvoid (*stop)(struct irq_bypass_producer *);\n\tvoid (*start)(struct irq_bypass_producer *);\n};\n\nstruct msi_msg;\n\nstruct irq_chip {\n\tconst char *name;\n\tunsigned int (*irq_startup)(struct irq_data *);\n\tvoid (*irq_shutdown)(struct irq_data *);\n\tvoid (*irq_enable)(struct irq_data *);\n\tvoid (*irq_disable)(struct irq_data *);\n\tvoid (*irq_ack)(struct irq_data *);\n\tvoid (*irq_mask)(struct irq_data *);\n\tvoid (*irq_mask_ack)(struct irq_data *);\n\tvoid (*irq_unmask)(struct irq_data *);\n\tvoid (*irq_eoi)(struct irq_data *);\n\tint (*irq_set_affinity)(struct irq_data *, const struct cpumask *, bool);\n\tint (*irq_retrigger)(struct irq_data *);\n\tint (*irq_set_type)(struct irq_data *, unsigned int);\n\tint (*irq_set_wake)(struct irq_data *, unsigned int);\n\tvoid (*irq_bus_lock)(struct irq_data *);\n\tvoid (*irq_bus_sync_unlock)(struct irq_data *);\n\tvoid (*irq_suspend)(struct irq_data *);\n\tvoid (*irq_resume)(struct irq_data *);\n\tvoid (*irq_pm_shutdown)(struct irq_data *);\n\tvoid (*irq_calc_mask)(struct irq_data *);\n\tvoid (*irq_print_chip)(struct irq_data *, struct seq_file *);\n\tint (*irq_request_resources)(struct irq_data *);\n\tvoid (*irq_release_resources)(struct irq_data *);\n\tvoid (*irq_compose_msi_msg)(struct irq_data *, struct msi_msg *);\n\tvoid (*irq_write_msi_msg)(struct irq_data *, struct msi_msg *);\n\tint (*irq_get_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool *);\n\tint (*irq_set_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool);\n\tint (*irq_set_vcpu_affinity)(struct irq_data *, void *);\n\tvoid (*ipi_send_single)(struct irq_data *, unsigned int);\n\tvoid (*ipi_send_mask)(struct irq_data *, const struct cpumask *);\n\tint (*irq_nmi_setup)(struct irq_data *);\n\tvoid (*irq_nmi_teardown)(struct irq_data *);\n\tlong unsigned int flags;\n};\n\nstruct irq_chip_regs {\n\tlong unsigned int enable;\n\tlong unsigned int disable;\n\tlong unsigned int mask;\n\tlong unsigned int ack;\n\tlong unsigned int eoi;\n\tlong unsigned int type;\n};\n\nstruct irq_desc;\n\ntypedef void (*irq_flow_handler_t)(struct irq_desc *);\n\nstruct irq_chip_type {\n\tstruct irq_chip chip;\n\tstruct irq_chip_regs regs;\n\tirq_flow_handler_t handler;\n\tu32 type;\n\tu32 mask_cache_priv;\n\tu32 *mask_cache;\n};\n\nstruct irq_chip_generic {\n\traw_spinlock_t lock;\n\tvoid *reg_base;\n\tu32 (*reg_readl)(void *);\n\tvoid (*reg_writel)(u32, void *);\n\tvoid (*suspend)(struct irq_chip_generic *);\n\tvoid (*resume)(struct irq_chip_generic *);\n\tunsigned int irq_base;\n\tunsigned int irq_cnt;\n\tu32 mask_cache;\n\tu32 wake_enabled;\n\tu32 wake_active;\n\tunsigned int num_ct;\n\tvoid *private;\n\tlong unsigned int installed;\n\tlong unsigned int unused;\n\tstruct irq_domain *domain;\n\tstruct list_head list;\n\tstruct irq_chip_type chip_types[0];\n};\n\nstruct msi_desc;\n\nstruct irq_common_data {\n\tunsigned int state_use_accessors;\n\tunsigned int node;\n\tvoid *handler_data;\n\tstruct msi_desc *msi_desc;\n\tcpumask_var_t affinity;\n};\n\nstruct irq_data {\n\tu32 mask;\n\tunsigned int irq;\n\tirq_hw_number_t hwirq;\n\tstruct irq_common_data *common;\n\tstruct irq_chip *chip;\n\tstruct irq_domain *domain;\n\tstruct irq_data *parent_data;\n\tvoid *chip_data;\n};\n\nstruct irqstat;\n\nstruct irqaction;\n\nstruct irq_desc {\n\tstruct irq_common_data irq_common_data;\n\tstruct irq_data irq_data;\n\tstruct irqstat *kstat_irqs;\n\tirq_flow_handler_t handle_irq;\n\tstruct irqaction *action;\n\tunsigned int status_use_accessors;\n\tunsigned int core_internal_state__do_not_mess_with_it;\n\tunsigned int depth;\n\tunsigned int wake_depth;\n\tunsigned int tot_count;\n\tunsigned int irq_count;\n\tlong unsigned int last_unhandled;\n\tunsigned int irqs_unhandled;\n\tatomic_t threads_handled;\n\tint threads_handled_last;\n\traw_spinlock_t lock;\n\tstruct cpumask *percpu_enabled;\n\tconst struct cpumask *percpu_affinity;\n\tconst struct cpumask *affinity_hint;\n\tstruct irq_affinity_notify *affinity_notify;\n\tlong unsigned int threads_oneshot;\n\tatomic_t threads_active;\n\twait_queue_head_t wait_for_threads;\n\tunsigned int nr_actions;\n\tunsigned int no_suspend_depth;\n\tunsigned int cond_suspend_depth;\n\tunsigned int force_resume_depth;\n\tstruct proc_dir_entry *dir;\n\tstruct callback_head rcu;\n\tstruct kobject kobj;\n\tstruct mutex request_mutex;\n\tint parent_irq;\n\tstruct module *owner;\n\tconst char *name;\n\tstruct hlist_node resend_node;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct irq_desc_devres {\n\tunsigned int from;\n\tunsigned int cnt;\n};\n\nstruct irq_devres {\n\tunsigned int irq;\n\tvoid *dev_id;\n};\n\nstruct irq_domain_ops;\n\nstruct irq_domain_chip_generic;\n\nstruct msi_parent_ops;\n\nstruct irq_domain {\n\tstruct list_head link;\n\tconst char *name;\n\tconst struct irq_domain_ops *ops;\n\tvoid *host_data;\n\tunsigned int flags;\n\tunsigned int mapcount;\n\tstruct mutex mutex;\n\tstruct irq_domain *root;\n\tstruct fwnode_handle *fwnode;\n\tenum irq_domain_bus_token bus_token;\n\tstruct irq_domain_chip_generic *gc;\n\tstruct device *dev;\n\tstruct device *pm_dev;\n\tstruct irq_domain *parent;\n\tconst struct msi_parent_ops *msi_parent_ops;\n\tvoid (*exit)(struct irq_domain *);\n\tirq_hw_number_t hwirq_max;\n\tunsigned int revmap_size;\n\tstruct xarray revmap_tree;\n\tstruct irq_data *revmap[0];\n};\n\nstruct irq_domain_chip_generic {\n\tunsigned int irqs_per_chip;\n\tunsigned int num_chips;\n\tunsigned int irq_flags_to_clear;\n\tunsigned int irq_flags_to_set;\n\tenum irq_gc_flags gc_flags;\n\tvoid (*exit)(struct irq_chip_generic *);\n\tstruct irq_chip_generic *gc[0];\n};\n\nstruct irq_domain_chip_generic_info {\n\tconst char *name;\n\tirq_flow_handler_t handler;\n\tunsigned int irqs_per_chip;\n\tunsigned int num_ct;\n\tunsigned int irq_flags_to_clear;\n\tunsigned int irq_flags_to_set;\n\tenum irq_gc_flags gc_flags;\n\tint (*init)(struct irq_chip_generic *);\n\tvoid (*exit)(struct irq_chip_generic *);\n};\n\nstruct irq_domain_info {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int domain_flags;\n\tunsigned int size;\n\tirq_hw_number_t hwirq_max;\n\tint direct_max;\n\tunsigned int hwirq_base;\n\tunsigned int virq_base;\n\tenum irq_domain_bus_token bus_token;\n\tconst char *name_suffix;\n\tconst struct irq_domain_ops *ops;\n\tvoid *host_data;\n\tstruct irq_domain *parent;\n\tstruct irq_domain_chip_generic_info *dgc_info;\n\tint (*init)(struct irq_domain *);\n\tvoid (*exit)(struct irq_domain *);\n};\n\nstruct irq_fwspec;\n\nstruct irq_domain_ops {\n\tint (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token);\n\tint (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token);\n\tint (*map)(struct irq_domain *, unsigned int, irq_hw_number_t);\n\tvoid (*unmap)(struct irq_domain *, unsigned int);\n\tint (*xlate)(struct irq_domain *, struct device_node *, const u32 *, unsigned int, long unsigned int *, unsigned int *);\n\tint (*alloc)(struct irq_domain *, unsigned int, unsigned int, void *);\n\tvoid (*free)(struct irq_domain *, unsigned int, unsigned int);\n\tint (*activate)(struct irq_domain *, struct irq_data *, bool);\n\tvoid (*deactivate)(struct irq_domain *, struct irq_data *);\n\tint (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *);\n};\n\nstruct irq_fwspec {\n\tstruct fwnode_handle *fwnode;\n\tint param_count;\n\tu32 param[16];\n};\n\nstruct irq_glue {\n\tstruct irq_affinity_notify notify;\n\tstruct cpu_rmap *rmap;\n\tu16 index;\n};\n\nstruct irq_info {\n\tstruct hlist_node node;\n\tint irq;\n\tspinlock_t lock;\n\tstruct list_head *head;\n};\n\nstruct irqaction {\n\tirq_handler_t handler;\n\tvoid *dev_id;\n\tvoid *percpu_dev_id;\n\tstruct irqaction *next;\n\tirq_handler_t thread_fn;\n\tstruct task_struct *thread;\n\tstruct irqaction *secondary;\n\tunsigned int irq;\n\tunsigned int flags;\n\tlong unsigned int thread_flags;\n\tlong unsigned int thread_mask;\n\tconst char *name;\n\tstruct proc_dir_entry *dir;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct irqchip_fwid {\n\tstruct fwnode_handle fwnode;\n\tunsigned int type;\n\tchar *name;\n\tphys_addr_t *pa;\n};\n\nstruct irqstat {\n\tunsigned int cnt;\n};\n\nstruct iso_directory_record {\n\t__u8 length[1];\n\t__u8 ext_attr_length[1];\n\t__u8 extent[8];\n\t__u8 size[8];\n\t__u8 date[7];\n\t__u8 flags[1];\n\t__u8 file_unit_size[1];\n\t__u8 interleave[1];\n\t__u8 volume_sequence_number[4];\n\t__u8 name_len[1];\n\tchar name[0];\n};\n\nstruct iso_inode_info {\n\tlong unsigned int i_iget5_block;\n\tlong unsigned int i_iget5_offset;\n\tunsigned int i_first_extent;\n\tunsigned char i_file_format;\n\tunsigned char i_format_parm[3];\n\tlong unsigned int i_next_section_block;\n\tlong unsigned int i_next_section_offset;\n\toff_t i_section_size;\n\tstruct inode vfs_inode;\n};\n\nstruct iso_primary_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 unused1[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 unused3[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 opt_type_l_path_table[4];\n\t__u8 type_m_path_table[4];\n\t__u8 opt_type_m_path_table[4];\n\t__u8 root_directory_record[34];\n\tchar volume_set_id[128];\n\tchar publisher_id[128];\n\tchar preparer_id[128];\n\tchar application_id[128];\n\tchar copyright_file_id[37];\n\tchar abstract_file_id[37];\n\tchar bibliographic_file_id[37];\n\t__u8 creation_date[17];\n\t__u8 modification_date[17];\n\t__u8 expiration_date[17];\n\t__u8 effective_date[17];\n\t__u8 file_structure_version[1];\n\t__u8 unused4[1];\n\t__u8 application_data[512];\n\t__u8 unused5[653];\n};\n\nstruct iso_supplementary_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 flags[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 escape[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 opt_type_l_path_table[4];\n\t__u8 type_m_path_table[4];\n\t__u8 opt_type_m_path_table[4];\n\t__u8 root_directory_record[34];\n\tchar volume_set_id[128];\n\tchar publisher_id[128];\n\tchar preparer_id[128];\n\tchar application_id[128];\n\tchar copyright_file_id[37];\n\tchar abstract_file_id[37];\n\tchar bibliographic_file_id[37];\n\t__u8 creation_date[17];\n\t__u8 modification_date[17];\n\t__u8 expiration_date[17];\n\t__u8 effective_date[17];\n\t__u8 file_structure_version[1];\n\t__u8 unused4[1];\n\t__u8 application_data[512];\n\t__u8 unused5[653];\n};\n\nstruct iso_volume_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 data[2041];\n};\n\nstruct isofs_fid {\n\tu32 block;\n\tu16 offset;\n\tu16 parent_offset;\n\tu32 generation;\n\tu32 parent_block;\n\tu32 parent_generation;\n};\n\nstruct isofs_iget5_callback_data {\n\tlong unsigned int block;\n\tlong unsigned int offset;\n};\n\nstruct isofs_options {\n\tunsigned int rock: 1;\n\tunsigned int joliet: 1;\n\tunsigned int cruft: 1;\n\tunsigned int hide: 1;\n\tunsigned int showassoc: 1;\n\tunsigned int nocompress: 1;\n\tunsigned int overriderockperm: 1;\n\tunsigned int uid_set: 1;\n\tunsigned int gid_set: 1;\n\tunsigned char map;\n\tunsigned char check;\n\tunsigned int blocksize;\n\tumode_t fmode;\n\tumode_t dmode;\n\tkgid_t gid;\n\tkuid_t uid;\n\tchar *iocharset;\n\ts32 session;\n\ts32 sbsector;\n};\n\nstruct nls_table;\n\nstruct isofs_sb_info {\n\tlong unsigned int s_ninodes;\n\tlong unsigned int s_nzones;\n\tlong unsigned int s_firstdatazone;\n\tlong unsigned int s_log_zone_size;\n\tlong unsigned int s_max_size;\n\tint s_rock_offset;\n\ts32 s_sbsector;\n\tunsigned char s_joliet_level;\n\tunsigned char s_mapping;\n\tunsigned char s_check;\n\tunsigned char s_session;\n\tunsigned int s_high_sierra: 1;\n\tunsigned int s_rock: 2;\n\tunsigned int s_cruft: 1;\n\tunsigned int s_nocompress: 1;\n\tunsigned int s_hide: 1;\n\tunsigned int s_showassoc: 1;\n\tunsigned int s_overriderockperm: 1;\n\tunsigned int s_uid_set: 1;\n\tunsigned int s_gid_set: 1;\n\tumode_t s_fmode;\n\tumode_t s_dmode;\n\tkgid_t s_gid;\n\tkuid_t s_uid;\n\tstruct nls_table *s_nls_iocharset;\n};\n\nstruct itimerspec64 {\n\tstruct timespec64 it_interval;\n\tstruct timespec64 it_value;\n};\n\nstruct kobj_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kobject *, struct kobj_attribute *, char *);\n\tssize_t (*store)(struct kobject *, struct kobj_attribute *, const char *, size_t);\n};\n\nstruct iw_node_attr {\n\tstruct kobj_attribute kobj_attr;\n\tint nid;\n};\n\nstruct transaction_s;\n\ntypedef struct transaction_s transaction_t;\n\nstruct jbd2_inode {\n\ttransaction_t *i_transaction;\n\ttransaction_t *i_next_transaction;\n\tstruct list_head i_list;\n\tstruct inode *i_vfs_inode;\n\tlong unsigned int i_flags;\n\tloff_t i_dirty_start;\n\tloff_t i_dirty_end;\n};\n\nstruct jbd2_journal_block_tail {\n\t__be32 t_checksum;\n};\n\ntypedef struct journal_s journal_t;\n\nstruct jbd2_journal_handle {\n\tunion {\n\t\ttransaction_t *h_transaction;\n\t\tjournal_t *h_journal;\n\t};\n\thandle_t *h_rsv_handle;\n\tint h_total_credits;\n\tint h_revoke_credits;\n\tint h_revoke_credits_requested;\n\tint h_ref;\n\tint h_err;\n\tunsigned int h_sync: 1;\n\tunsigned int h_jdata: 1;\n\tunsigned int h_reserved: 1;\n\tunsigned int h_aborted: 1;\n\tunsigned int h_type: 8;\n\tunsigned int h_line_no: 16;\n\tlong unsigned int h_start_jiffies;\n\tunsigned int h_requested_credits;\n\tunsigned int saved_alloc_context;\n};\n\nstruct journal_header_s {\n\t__be32 h_magic;\n\t__be32 h_blocktype;\n\t__be32 h_sequence;\n};\n\ntypedef struct journal_header_s journal_header_t;\n\nstruct jbd2_journal_revoke_header_s {\n\tjournal_header_t r_header;\n\t__be32 r_count;\n};\n\ntypedef struct jbd2_journal_revoke_header_s jbd2_journal_revoke_header_t;\n\nstruct jbd2_revoke_record_s {\n\tstruct list_head hash;\n\ttid_t sequence;\n\tlong long unsigned int blocknr;\n};\n\nstruct jbd2_revoke_table_s {\n\tint hash_size;\n\tint hash_shift;\n\tstruct list_head *hash_table;\n};\n\nstruct transaction_stats_s;\n\nstruct jbd2_stats_proc_session {\n\tjournal_t *journal;\n\tstruct transaction_stats_s *stats;\n\tint start;\n\tint max;\n};\n\nstruct journal_block_tag3_s {\n\t__be32 t_blocknr;\n\t__be32 t_flags;\n\t__be32 t_blocknr_high;\n\t__be32 t_checksum;\n};\n\ntypedef struct journal_block_tag3_s journal_block_tag3_t;\n\nstruct journal_block_tag_s {\n\t__be32 t_blocknr;\n\t__be16 t_checksum;\n\t__be16 t_flags;\n\t__be32 t_blocknr_high;\n};\n\ntypedef struct journal_block_tag_s journal_block_tag_t;\n\nstruct journal_head {\n\tstruct buffer_head *b_bh;\n\tspinlock_t b_state_lock;\n\tint b_jcount;\n\tunsigned int b_jlist;\n\tunsigned int b_modified;\n\tchar *b_frozen_data;\n\tchar *b_committed_data;\n\ttransaction_t *b_transaction;\n\ttransaction_t *b_next_transaction;\n\tstruct journal_head *b_tnext;\n\tstruct journal_head *b_tprev;\n\ttransaction_t *b_cp_transaction;\n\tstruct journal_head *b_cpnext;\n\tstruct journal_head *b_cpprev;\n\tstruct jbd2_buffer_trigger_type *b_triggers;\n\tstruct jbd2_buffer_trigger_type *b_frozen_triggers;\n};\n\nstruct transaction_run_stats_s {\n\tlong unsigned int rs_wait;\n\tlong unsigned int rs_request_delay;\n\tlong unsigned int rs_running;\n\tlong unsigned int rs_locked;\n\tlong unsigned int rs_flushing;\n\tlong unsigned int rs_logging;\n\t__u32 rs_handle_count;\n\t__u32 rs_blocks;\n\t__u32 rs_blocks_logged;\n};\n\nstruct transaction_stats_s {\n\tlong unsigned int ts_tid;\n\tlong unsigned int ts_requested;\n\tstruct transaction_run_stats_s run;\n};\n\nstruct journal_superblock_s;\n\ntypedef struct journal_superblock_s journal_superblock_t;\n\nstruct journal_s {\n\tlong unsigned int j_flags;\n\tint j_errno;\n\tstruct mutex j_abort_mutex;\n\tstruct buffer_head *j_sb_buffer;\n\tjournal_superblock_t *j_superblock;\n\trwlock_t j_state_lock;\n\tint j_barrier_count;\n\tstruct mutex j_barrier;\n\ttransaction_t *j_running_transaction;\n\ttransaction_t *j_committing_transaction;\n\ttransaction_t *j_checkpoint_transactions;\n\twait_queue_head_t j_wait_transaction_locked;\n\twait_queue_head_t j_wait_done_commit;\n\twait_queue_head_t j_wait_commit;\n\twait_queue_head_t j_wait_updates;\n\twait_queue_head_t j_wait_reserved;\n\twait_queue_head_t j_fc_wait;\n\tstruct mutex j_checkpoint_mutex;\n\tstruct buffer_head *j_chkpt_bhs[64];\n\tstruct shrinker *j_shrinker;\n\tstruct percpu_counter j_checkpoint_jh_count;\n\ttransaction_t *j_shrink_transaction;\n\tlong unsigned int j_head;\n\tlong unsigned int j_tail;\n\tlong unsigned int j_free;\n\tlong unsigned int j_first;\n\tlong unsigned int j_last;\n\tlong unsigned int j_fc_first;\n\tlong unsigned int j_fc_off;\n\tlong unsigned int j_fc_last;\n\tstruct block_device *j_dev;\n\tint j_blocksize;\n\tlong long unsigned int j_blk_offset;\n\tchar j_devname[56];\n\tstruct block_device *j_fs_dev;\n\terrseq_t j_fs_dev_wb_err;\n\tunsigned int j_total_len;\n\tatomic_t j_reserved_credits;\n\tspinlock_t j_list_lock;\n\tstruct inode *j_inode;\n\ttid_t j_tail_sequence;\n\ttid_t j_transaction_sequence;\n\ttid_t j_commit_sequence;\n\ttid_t j_commit_request;\n\t__u8 j_uuid[16];\n\tstruct task_struct *j_task;\n\tint j_max_transaction_buffers;\n\tint j_revoke_records_per_block;\n\tint j_transaction_overhead_buffers;\n\tlong unsigned int j_commit_interval;\n\tstruct timer_list j_commit_timer;\n\tspinlock_t j_revoke_lock;\n\tstruct jbd2_revoke_table_s *j_revoke;\n\tstruct jbd2_revoke_table_s *j_revoke_table[2];\n\tstruct buffer_head **j_wbuf;\n\tstruct buffer_head **j_fc_wbuf;\n\tint j_wbufsize;\n\tint j_fc_wbufsize;\n\tpid_t j_last_sync_writer;\n\tu64 j_average_commit_time;\n\tu32 j_min_batch_time;\n\tu32 j_max_batch_time;\n\tvoid (*j_commit_callback)(journal_t *, transaction_t *);\n\tint (*j_submit_inode_data_buffers)(struct jbd2_inode *);\n\tint (*j_finish_inode_data_buffers)(struct jbd2_inode *);\n\tspinlock_t j_history_lock;\n\tstruct proc_dir_entry *j_proc_entry;\n\tstruct transaction_stats_s j_stats;\n\tunsigned int j_failed_commit;\n\tvoid *j_private;\n\t__u32 j_csum_seed;\n\tvoid (*j_fc_cleanup_callback)(struct journal_s *, int, tid_t);\n\tint (*j_fc_replay_callback)(struct journal_s *, struct buffer_head *, enum passtype, int, tid_t);\n\tint (*j_bmap)(struct journal_s *, sector_t *);\n};\n\nstruct journal_superblock_s {\n\tjournal_header_t s_header;\n\t__be32 s_blocksize;\n\t__be32 s_maxlen;\n\t__be32 s_first;\n\t__be32 s_sequence;\n\t__be32 s_start;\n\t__be32 s_errno;\n\t__be32 s_feature_compat;\n\t__be32 s_feature_incompat;\n\t__be32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\t__be32 s_nr_users;\n\t__be32 s_dynsuper;\n\t__be32 s_max_transaction;\n\t__be32 s_max_trans_data;\n\t__u8 s_checksum_type;\n\t__u8 s_padding2[3];\n\t__be32 s_num_fc_blks;\n\t__be32 s_head;\n\t__u32 s_padding[40];\n\t__be32 s_checksum;\n\t__u8 s_users[768];\n};\n\nstruct jump_entry {\n\ts32 code;\n\ts32 target;\n\tlong int key;\n};\n\nstruct k_itimer;\n\nstruct k_clock {\n\tint (*clock_getres)(const clockid_t, struct timespec64 *);\n\tint (*clock_set)(const clockid_t, const struct timespec64 *);\n\tint (*clock_get_timespec)(const clockid_t, struct timespec64 *);\n\tktime_t (*clock_get_ktime)(const clockid_t);\n\tint (*clock_adj)(const clockid_t, struct __kernel_timex *);\n\tint (*timer_create)(struct k_itimer *);\n\tint (*nsleep)(const clockid_t, int, const struct timespec64 *);\n\tint (*timer_set)(struct k_itimer *, int, struct itimerspec64 *, struct itimerspec64 *);\n\tint (*timer_del)(struct k_itimer *);\n\tvoid (*timer_get)(struct k_itimer *, struct itimerspec64 *);\n\tvoid (*timer_rearm)(struct k_itimer *);\n\ts64 (*timer_forward)(struct k_itimer *, ktime_t);\n\tktime_t (*timer_remaining)(struct k_itimer *, ktime_t);\n\tint (*timer_try_to_cancel)(struct k_itimer *);\n\tvoid (*timer_arm)(struct k_itimer *, ktime_t, bool, bool);\n\tvoid (*timer_wait_running)(struct k_itimer *);\n};\n\nstruct kernel_siginfo {\n\tstruct {\n\t\tint si_signo;\n\t\tint si_errno;\n\t\tint si_code;\n\t\tunion __sifields _sifields;\n\t};\n};\n\nstruct sigqueue {\n\tstruct list_head list;\n\tint flags;\n\tkernel_siginfo_t info;\n\tstruct ucounts *ucounts;\n};\n\nstruct signal_struct;\n\nstruct k_itimer {\n\tstruct hlist_node list;\n\tstruct hlist_node ignored_list;\n\tstruct hlist_node t_hash;\n\tspinlock_t it_lock;\n\tconst struct k_clock *kclock;\n\tclockid_t it_clock;\n\ttimer_t it_id;\n\tint it_status;\n\tbool it_sig_periodic;\n\ts64 it_overrun;\n\ts64 it_overrun_last;\n\tunsigned int it_signal_seq;\n\tunsigned int it_sigqueue_seq;\n\tint it_sigev_notify;\n\tenum pid_type it_pid_type;\n\tktime_t it_interval;\n\tstruct signal_struct *it_signal;\n\tunion {\n\t\tstruct pid *it_pid;\n\t\tstruct task_struct *it_process;\n\t};\n\tstruct sigqueue sigq;\n\trcuref_t rcuref;\n\tunion {\n\t\tstruct {\n\t\t\tstruct hrtimer timer;\n\t\t} real;\n\t\tstruct cpu_timer cpu;\n\t\tstruct {\n\t\t\tstruct alarm alarmtimer;\n\t\t} alarm;\n\t} it;\n\tstruct callback_head rcu;\n};\n\ntypedef void __signalfn_t(int);\n\ntypedef __signalfn_t *__sighandler_t;\n\ntypedef void __restorefn_t(void);\n\ntypedef __restorefn_t *__sigrestore_t;\n\nstruct sigaction {\n\t__sighandler_t sa_handler;\n\tlong unsigned int sa_flags;\n\t__sigrestore_t sa_restorer;\n\tsigset_t sa_mask;\n};\n\nstruct k_sigaction {\n\tstruct sigaction sa;\n};\n\nstruct kallsym_iter {\n\tloff_t pos;\n\tloff_t pos_mod_end;\n\tloff_t pos_ftrace_mod_end;\n\tloff_t pos_bpf_end;\n\tlong unsigned int value;\n\tunsigned int nameoff;\n\tchar type;\n\tchar name[512];\n\tchar module_name[56];\n\tint exported;\n\tint show_value;\n};\n\nstruct kallsyms_data {\n\tlong unsigned int *addrs;\n\tconst char **syms;\n\tsize_t cnt;\n\tsize_t found;\n};\n\nstruct karatsuba_ctx {\n\tstruct karatsuba_ctx *next;\n\tmpi_ptr_t tspace;\n\tmpi_size_t tspace_size;\n\tmpi_ptr_t tp;\n\tmpi_size_t tp_size;\n};\n\nstruct kbd_repeat {\n\tint delay;\n\tint period;\n};\n\nstruct kbd_struct {\n\tunsigned char lockstate;\n\tunsigned char slockstate;\n\tunsigned char ledmode: 1;\n\tunsigned char ledflagstate: 4;\n\tchar: 3;\n\tunsigned char default_ledflagstate: 4;\n\tunsigned char kbdmode: 3;\n\tint: 1;\n\tunsigned char modeflags: 5;\n};\n\nstruct kbdiacr {\n\tunsigned char diacr;\n\tunsigned char base;\n\tunsigned char result;\n};\n\nstruct kbdiacrs {\n\tunsigned int kb_cnt;\n\tstruct kbdiacr kbdiacr[256];\n};\n\nstruct kbdiacruc {\n\tunsigned int diacr;\n\tunsigned int base;\n\tunsigned int result;\n};\n\nstruct kbdiacrsuc {\n\tunsigned int kb_cnt;\n\tstruct kbdiacruc kbdiacruc[256];\n};\n\nstruct kbentry {\n\tunsigned char kb_table;\n\tunsigned char kb_index;\n\tshort unsigned int kb_value;\n};\n\nstruct kbkeycode {\n\tunsigned int scancode;\n\tunsigned int keycode;\n};\n\nstruct kbsentry {\n\tunsigned char kb_func;\n\tunsigned char kb_string[512];\n};\n\nstruct kcmp_epoll_slot {\n\t__u32 efd;\n\t__u32 tfd;\n\t__u32 toff;\n};\n\ntypedef void (*dm_kcopyd_notify_fn)(int, long unsigned int, void *);\n\nstruct kcopyd_job {\n\tstruct dm_kcopyd_client *kc;\n\tstruct list_head list;\n\tunsigned int flags;\n\tint read_err;\n\tlong unsigned int write_err;\n\tenum req_op op;\n\tstruct dm_io_region source;\n\tunsigned int num_dests;\n\tstruct dm_io_region dests[8];\n\tstruct page_list *pages;\n\tdm_kcopyd_notify_fn fn;\n\tvoid *context;\n\tstruct mutex lock;\n\tatomic_t sub_jobs;\n\tsector_t progress;\n\tsector_t write_offset;\n\tstruct kcopyd_job *master_job;\n};\n\nstruct kcore_list {\n\tstruct list_head list;\n\tlong unsigned int addr;\n\tsize_t size;\n\tint type;\n};\n\nstruct kcsan_scoped_access {};\n\nstruct kern_ipc_perm {\n\tspinlock_t lock;\n\tbool deleted;\n\tint id;\n\tkey_t key;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t cuid;\n\tkgid_t cgid;\n\tumode_t mode;\n\tlong unsigned int seq;\n\tvoid *security;\n\tstruct rhash_head khtnode;\n\tstruct callback_head rcu;\n\trefcount_t refcount;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kernel_clone_args {\n\tu64 flags;\n\tint *pidfd;\n\tint *child_tid;\n\tint *parent_tid;\n\tconst char *name;\n\tint exit_signal;\n\tu32 kthread: 1;\n\tu32 io_thread: 1;\n\tu32 user_worker: 1;\n\tu32 no_files: 1;\n\tlong unsigned int stack;\n\tlong unsigned int stack_size;\n\tlong unsigned int tls;\n\tpid_t *set_tid;\n\tsize_t set_tid_size;\n\tint cgroup;\n\tint idle;\n\tint (*fn)(void *);\n\tvoid *fn_arg;\n\tstruct cgroup *cgrp;\n\tstruct css_set *cset;\n\tunsigned int kill_seq;\n};\n\nstruct kernel_cpustat {\n\tu64 cpustat[10];\n};\n\nstruct kernel_ethtool_ringparam {\n\tu32 rx_buf_len;\n\tu8 tcp_data_split;\n\tu8 tx_push;\n\tu8 rx_push;\n\tu32 cqe_size;\n\tu32 tx_push_buf_len;\n\tu32 tx_push_buf_max_len;\n\tu32 hds_thresh;\n\tu32 hds_thresh_max;\n};\n\nstruct kernel_ethtool_ts_info {\n\tu32 cmd;\n\tu32 so_timestamping;\n\tint phc_index;\n\tenum hwtstamp_provider_qualifier phc_qualifier;\n\tenum hwtstamp_tx_types tx_types;\n\tenum hwtstamp_rx_filters rx_filters;\n};\n\nstruct kernel_hwtstamp_config {\n\tint flags;\n\tint tx_type;\n\tint rx_filter;\n\tstruct ifreq *ifr;\n\tbool copied_to_user;\n\tenum hwtstamp_source source;\n\tenum hwtstamp_provider_qualifier qualifier;\n};\n\nstruct kernel_param_ops;\n\nstruct kparam_string;\n\nstruct kparam_array;\n\nstruct kernel_param {\n\tconst char *name;\n\tstruct module *mod;\n\tconst struct kernel_param_ops *ops;\n\tconst u16 perm;\n\ts8 level;\n\tu8 flags;\n\tunion {\n\t\tvoid *arg;\n\t\tconst struct kparam_string *str;\n\t\tconst struct kparam_array *arr;\n\t};\n};\n\nstruct kernel_param_ops {\n\tunsigned int flags;\n\tint (*set)(const char *, const struct kernel_param *);\n\tint (*get)(char *, const struct kernel_param *);\n\tvoid (*free)(void *);\n};\n\nstruct kernel_pkey_params {\n\tstruct key *key;\n\tconst char *encoding;\n\tconst char *hash_algo;\n\tchar *info;\n\t__u32 in_len;\n\tunion {\n\t\t__u32 out_len;\n\t\t__u32 in2_len;\n\t};\n\tenum kernel_pkey_operation op: 8;\n};\n\nstruct kernel_pkey_query {\n\t__u32 supported_ops;\n\t__u32 key_size;\n\t__u16 max_data_size;\n\t__u16 max_sig_size;\n\t__u16 max_enc_size;\n\t__u16 max_dec_size;\n};\n\nstruct kernel_stat {\n\tlong unsigned int irqs_sum;\n\tunsigned int softirqs[10];\n};\n\nstruct kernel_symbol {\n\tlong unsigned int value;\n\tconst char *name;\n\tconst char *namespace;\n};\n\nstruct kernfs_open_node;\n\nstruct kernfs_elem_attr {\n\tconst struct kernfs_ops *ops;\n\tstruct kernfs_open_node *open;\n\tloff_t size;\n\tstruct kernfs_node *notify_next;\n};\n\nstruct kernfs_elem_dir {\n\tlong unsigned int subdirs;\n\tstruct rb_root children;\n\tstruct kernfs_root *root;\n\tlong unsigned int rev;\n};\n\nstruct kernfs_elem_symlink {\n\tstruct kernfs_node *target_kn;\n};\n\nstruct kernfs_global_locks {\n\tstruct mutex open_file_mutex[1024];\n};\n\nstruct simple_xattrs {\n\tstruct rb_root rb_root;\n\trwlock_t lock;\n};\n\nstruct kernfs_iattrs {\n\tkuid_t ia_uid;\n\tkgid_t ia_gid;\n\tstruct timespec64 ia_atime;\n\tstruct timespec64 ia_mtime;\n\tstruct timespec64 ia_ctime;\n\tstruct simple_xattrs xattrs;\n\tatomic_t nr_user_xattrs;\n\tatomic_t user_xattr_size;\n};\n\nstruct kernfs_node {\n\tatomic_t count;\n\tatomic_t active;\n\tstruct kernfs_node *parent;\n\tconst char *name;\n\tstruct rb_node rb;\n\tconst void *ns;\n\tunsigned int hash;\n\tshort unsigned int flags;\n\tumode_t mode;\n\tunion {\n\t\tstruct kernfs_elem_dir dir;\n\t\tstruct kernfs_elem_symlink symlink;\n\t\tstruct kernfs_elem_attr attr;\n\t};\n\tu64 id;\n\tvoid *priv;\n\tstruct kernfs_iattrs *iattr;\n\tstruct callback_head rcu;\n};\n\nstruct vm_operations_struct;\n\nstruct kernfs_open_file {\n\tstruct kernfs_node *kn;\n\tstruct file *file;\n\tstruct seq_file *seq_file;\n\tvoid *priv;\n\tstruct mutex mutex;\n\tstruct mutex prealloc_mutex;\n\tint event;\n\tstruct list_head list;\n\tchar *prealloc_buf;\n\tsize_t atomic_write_len;\n\tbool mmapped: 1;\n\tbool released: 1;\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct kernfs_open_node {\n\tstruct callback_head callback_head;\n\tatomic_t event;\n\twait_queue_head_t poll;\n\tstruct list_head files;\n\tunsigned int nr_mmapped;\n\tunsigned int nr_to_release;\n};\n\nstruct kernfs_ops {\n\tint (*open)(struct kernfs_open_file *);\n\tvoid (*release)(struct kernfs_open_file *);\n\tint (*seq_show)(struct seq_file *, void *);\n\tvoid * (*seq_start)(struct seq_file *, loff_t *);\n\tvoid * (*seq_next)(struct seq_file *, void *, loff_t *);\n\tvoid (*seq_stop)(struct seq_file *, void *);\n\tssize_t (*read)(struct kernfs_open_file *, char *, size_t, loff_t);\n\tsize_t atomic_write_len;\n\tbool prealloc;\n\tssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t);\n\t__poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *);\n\tint (*mmap)(struct kernfs_open_file *, struct vm_area_struct *);\n\tloff_t (*llseek)(struct kernfs_open_file *, loff_t, int);\n};\n\nstruct kernfs_syscall_ops;\n\nstruct kernfs_root {\n\tstruct kernfs_node *kn;\n\tunsigned int flags;\n\tstruct idr ino_idr;\n\tu32 last_id_lowbits;\n\tu32 id_highbits;\n\tstruct kernfs_syscall_ops *syscall_ops;\n\tstruct list_head supers;\n\twait_queue_head_t deactivate_waitq;\n\tstruct rw_semaphore kernfs_rwsem;\n\tstruct rw_semaphore kernfs_iattr_rwsem;\n\tstruct rw_semaphore kernfs_supers_rwsem;\n\tstruct callback_head rcu;\n};\n\nstruct kernfs_super_info {\n\tstruct super_block *sb;\n\tstruct kernfs_root *root;\n\tconst void *ns;\n\tstruct list_head node;\n};\n\nstruct kernfs_syscall_ops {\n\tint (*show_options)(struct seq_file *, struct kernfs_root *);\n\tint (*mkdir)(struct kernfs_node *, const char *, umode_t);\n\tint (*rmdir)(struct kernfs_node *);\n\tint (*rename)(struct kernfs_node *, struct kernfs_node *, const char *);\n\tint (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *);\n};\n\nstruct kimage;\n\nstruct kexec_buf {\n\tstruct kimage *image;\n\tvoid *buffer;\n\tlong unsigned int bufsz;\n\tlong unsigned int mem;\n\tlong unsigned int memsz;\n\tlong unsigned int buf_align;\n\tlong unsigned int buf_min;\n\tlong unsigned int buf_max;\n\tbool top_down;\n};\n\nstruct kexec_elf_info {\n\tconst char *buffer;\n\tconst struct elf64_hdr *ehdr;\n\tconst struct elf64_phdr *proghdrs;\n};\n\ntypedef int kexec_probe_t(const char *, long unsigned int);\n\ntypedef void *kexec_load_t(struct kimage *, char *, long unsigned int, char *, long unsigned int, char *, long unsigned int);\n\ntypedef int kexec_cleanup_t(void *);\n\nstruct kexec_file_ops {\n\tkexec_probe_t *probe;\n\tkexec_load_t *load;\n\tkexec_cleanup_t *cleanup;\n};\n\nstruct kexec_load_limit {\n\tstruct mutex mutex;\n\tint limit;\n};\n\nstruct kexec_segment {\n\tunion {\n\t\tvoid *buf;\n\t\tvoid *kbuf;\n\t};\n\tsize_t bufsz;\n\tlong unsigned int mem;\n\tsize_t memsz;\n};\n\nstruct kexec_sha_region {\n\tlong unsigned int start;\n\tlong unsigned int len;\n};\n\nstruct key_type;\n\nstruct key_tag;\n\nstruct keyring_index_key {\n\tlong unsigned int hash;\n\tunion {\n\t\tstruct {\n\t\t\tu16 desc_len;\n\t\t\tchar desc[6];\n\t\t};\n\t\tlong unsigned int x;\n\t};\n\tstruct key_type *type;\n\tstruct key_tag *domain_tag;\n\tconst char *description;\n};\n\nunion key_payload {\n\tvoid *rcu_data0;\n\tvoid *data[4];\n};\n\nstruct key_user;\n\nstruct key_restriction;\n\nstruct key {\n\trefcount_t usage;\n\tkey_serial_t serial;\n\tunion {\n\t\tstruct list_head graveyard_link;\n\t\tstruct rb_node serial_node;\n\t};\n\tstruct rw_semaphore sem;\n\tstruct key_user *user;\n\tvoid *security;\n\tunion {\n\t\ttime64_t expiry;\n\t\ttime64_t revoked_at;\n\t};\n\ttime64_t last_used_at;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkey_perm_t perm;\n\tshort unsigned int quotalen;\n\tshort unsigned int datalen;\n\tshort int state;\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct keyring_index_key index_key;\n\t\tstruct {\n\t\t\tlong unsigned int hash;\n\t\t\tlong unsigned int len_desc;\n\t\t\tstruct key_type *type;\n\t\t\tstruct key_tag *domain_tag;\n\t\t\tchar *description;\n\t\t};\n\t};\n\tunion {\n\t\tunion key_payload payload;\n\t\tstruct {\n\t\t\tstruct list_head name_link;\n\t\t\tstruct assoc_array keys;\n\t\t};\n\t};\n\tstruct key_restriction *restrict_link;\n};\n\nstruct key_match_data {\n\tbool (*cmp)(const struct key *, const struct key_match_data *);\n\tconst void *raw_data;\n\tvoid *preparsed;\n\tunsigned int lookup_type;\n};\n\nstruct key_preparsed_payload {\n\tconst char *orig_description;\n\tchar *description;\n\tunion key_payload payload;\n\tconst void *data;\n\tsize_t datalen;\n\tsize_t quotalen;\n\ttime64_t expiry;\n};\n\ntypedef int (*key_restrict_link_func_t)(struct key *, const struct key_type *, const union key_payload *, struct key *);\n\nstruct key_restriction {\n\tkey_restrict_link_func_t check;\n\tstruct key *key;\n\tstruct key_type *keytype;\n};\n\nstruct key_security_struct {\n\tu32 sid;\n};\n\nstruct key_tag {\n\tstruct callback_head rcu;\n\trefcount_t usage;\n\tbool removed;\n};\n\ntypedef int (*request_key_actor_t)(struct key *, void *);\n\nstruct key_type {\n\tconst char *name;\n\tsize_t def_datalen;\n\tunsigned int flags;\n\tint (*vet_description)(const char *);\n\tint (*preparse)(struct key_preparsed_payload *);\n\tvoid (*free_preparse)(struct key_preparsed_payload *);\n\tint (*instantiate)(struct key *, struct key_preparsed_payload *);\n\tint (*update)(struct key *, struct key_preparsed_payload *);\n\tint (*match_preparse)(struct key_match_data *);\n\tvoid (*match_free)(struct key_match_data *);\n\tvoid (*revoke)(struct key *);\n\tvoid (*destroy)(struct key *);\n\tvoid (*describe)(const struct key *, struct seq_file *);\n\tlong int (*read)(const struct key *, char *, size_t);\n\trequest_key_actor_t request_key;\n\tstruct key_restriction * (*lookup_restriction)(const char *);\n\tint (*asym_query)(const struct kernel_pkey_params *, struct kernel_pkey_query *);\n\tint (*asym_eds_op)(struct kernel_pkey_params *, const void *, void *);\n\tint (*asym_verify_signature)(struct kernel_pkey_params *, const void *, const void *);\n\tstruct list_head link;\n\tstruct lock_class_key lock_class;\n};\n\nstruct key_user {\n\tstruct rb_node node;\n\tstruct mutex cons_lock;\n\tspinlock_t lock;\n\trefcount_t usage;\n\tatomic_t nkeys;\n\tatomic_t nikeys;\n\tkuid_t uid;\n\tint qnkeys;\n\tint qnbytes;\n};\n\nstruct key_vector {\n\tt_key key;\n\tunsigned char pos;\n\tunsigned char bits;\n\tunsigned char slen;\n\tunion {\n\t\tstruct hlist_head leaf;\n\t\tstruct {\n\t\t\tstruct {} __empty_tnode;\n\t\t\tstruct key_vector *tnode[0];\n\t\t};\n\t};\n};\n\nstruct keyboard_notifier_param {\n\tstruct vc_data *vc;\n\tint down;\n\tint shift;\n\tint ledstate;\n\tunsigned int value;\n};\n\nstruct keyctl_dh_params {\n\tunion {\n\t\t__s32 private;\n\t\t__s32 priv;\n\t};\n\t__s32 prime;\n\t__s32 base;\n};\n\nstruct keyctl_kdf_params {\n\tchar *hashname;\n\tchar *otherinfo;\n\t__u32 otherinfolen;\n\t__u32 __spare[8];\n};\n\nstruct keyctl_pkey_params {\n\t__s32 key_id;\n\t__u32 in_len;\n\tunion {\n\t\t__u32 out_len;\n\t\t__u32 in2_len;\n\t};\n\t__u32 __spare[7];\n};\n\nstruct keyctl_pkey_query {\n\t__u32 supported_ops;\n\t__u32 key_size;\n\t__u16 max_data_size;\n\t__u16 max_sig_size;\n\t__u16 max_enc_size;\n\t__u16 max_dec_size;\n\t__u32 __spare[10];\n};\n\nstruct keyring_read_iterator_context {\n\tsize_t buflen;\n\tsize_t count;\n\tkey_serial_t *buffer;\n};\n\nstruct __key_reference_with_attributes;\n\ntypedef struct __key_reference_with_attributes *key_ref_t;\n\nstruct keyring_search_context {\n\tstruct keyring_index_key index_key;\n\tconst struct cred *cred;\n\tstruct key_match_data match_data;\n\tunsigned int flags;\n\tint (*iterator)(const void *, void *);\n\tint skipped_ret;\n\tbool possessed;\n\tkey_ref_t result;\n\ttime64_t now;\n};\n\nstruct rcu_gp_oldstate {\n\tlong unsigned int rgos_norm;\n\tlong unsigned int rgos_exp;\n};\n\nstruct kfree_rcu_cpu;\n\nstruct kfree_rcu_cpu_work {\n\tstruct rcu_work rcu_work;\n\tstruct callback_head *head_free;\n\tstruct rcu_gp_oldstate head_free_gp_snap;\n\tstruct list_head bulk_head_free[2];\n\tstruct kfree_rcu_cpu *krcp;\n};\n\nstruct kfree_rcu_cpu {\n\tstruct callback_head *head;\n\tlong unsigned int head_gp_snap;\n\tatomic_t head_count;\n\tstruct list_head bulk_head[2];\n\tatomic_t bulk_count[2];\n\tstruct kfree_rcu_cpu_work krw_arr[2];\n\traw_spinlock_t lock;\n\tstruct delayed_work monitor_work;\n\tbool initialized;\n\tstruct delayed_work page_cache_work;\n\tatomic_t backoff_page_cache_fill;\n\tatomic_t work_in_progress;\n\tstruct hrtimer hrtimer;\n\tstruct llist_head bkvcache;\n\tint nr_bkv_objs;\n};\n\nstruct kgetbmap {\n\t__s64 bmv_offset;\n\t__s64 bmv_block;\n\t__s64 bmv_length;\n\t__s32 bmv_oflags;\n};\n\nstruct mm_slot {\n\tstruct hlist_node hash;\n\tstruct list_head mm_node;\n\tstruct mm_struct *mm;\n};\n\nstruct khugepaged_mm_slot {\n\tstruct mm_slot slot;\n};\n\nstruct khugepaged_scan {\n\tstruct list_head mm_head;\n\tstruct khugepaged_mm_slot *mm_slot;\n\tlong unsigned int address;\n};\n\nstruct kimage_arch {\n\tstruct crash_mem *exclude_ranges;\n\tlong unsigned int backup_start;\n\tvoid *backup_buf;\n\tvoid *fdt;\n};\n\nstruct purgatory_info {\n\tconst Elf64_Ehdr *ehdr;\n\tElf64_Shdr *sechdrs;\n\tvoid *purgatory_buf;\n};\n\nstruct kimage {\n\tkimage_entry_t head;\n\tkimage_entry_t *entry;\n\tkimage_entry_t *last_entry;\n\tlong unsigned int start;\n\tstruct page *control_code_page;\n\tstruct page *swap_page;\n\tvoid *vmcoreinfo_data_copy;\n\tlong unsigned int nr_segments;\n\tstruct kexec_segment segment[16];\n\tstruct list_head control_pages;\n\tstruct list_head dest_pages;\n\tstruct list_head unusable_pages;\n\tlong unsigned int control_page;\n\tunsigned int type: 1;\n\tunsigned int preserve_context: 1;\n\tunsigned int file_mode: 1;\n\tunsigned int hotplug_support: 1;\n\tstruct kimage_arch arch;\n\tvoid *kernel_buf;\n\tlong unsigned int kernel_buf_len;\n\tvoid *initrd_buf;\n\tlong unsigned int initrd_buf_len;\n\tchar *cmdline_buf;\n\tlong unsigned int cmdline_buf_len;\n\tconst struct kexec_file_ops *fops;\n\tvoid *image_loader_data;\n\tstruct purgatory_info purgatory_info;\n\tint hp_action;\n\tint elfcorehdr_index;\n\tbool elfcorehdr_updated;\n\tvoid *ima_buffer;\n\tphys_addr_t ima_buffer_addr;\n\tsize_t ima_buffer_size;\n\tvoid *elf_headers;\n\tlong unsigned int elf_headers_sz;\n\tlong unsigned int elf_load_addr;\n};\n\nstruct kioctx_cpu;\n\nstruct kioctx {\n\tstruct percpu_ref users;\n\tatomic_t dead;\n\tstruct percpu_ref reqs;\n\tlong unsigned int user_id;\n\tstruct kioctx_cpu *cpu;\n\tunsigned int req_batch;\n\tunsigned int max_reqs;\n\tunsigned int nr_events;\n\tlong unsigned int mmap_base;\n\tlong unsigned int mmap_size;\n\tstruct folio **ring_folios;\n\tlong int nr_pages;\n\tstruct rcu_work free_rwork;\n\tstruct ctx_rq_wait *rq_wait;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct {\n\t\tatomic_t reqs_available;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tspinlock_t ctx_lock;\n\t\tstruct list_head active_reqs;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct mutex ring_lock;\n\t\twait_queue_head_t wait;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tunsigned int tail;\n\t\tunsigned int completed_events;\n\t\tspinlock_t completion_lock;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct folio *internal_folios[8];\n\tstruct file *aio_ring_file;\n\tunsigned int id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kioctx_cpu {\n\tunsigned int reqs_available;\n};\n\nstruct kioctx_table {\n\tstruct callback_head rcu;\n\tunsigned int nr;\n\tstruct kioctx *table[0];\n};\n\nstruct klist_waiter {\n\tstruct list_head list;\n\tstruct klist_node *node;\n\tstruct task_struct *process;\n\tint woken;\n};\n\nstruct km_event {\n\tunion {\n\t\tu32 hard;\n\t\tu32 proto;\n\t\tu32 byid;\n\t\tu32 aevent;\n\t\tu32 type;\n\t} data;\n\tu32 seq;\n\tu32 portid;\n\tu32 event;\n\tstruct net *net;\n};\n\nstruct kmalloc_info_struct {\n\tconst char *name[3];\n\tunsigned int size;\n};\n\nstruct kmalloced_param {\n\tstruct list_head list;\n\tchar val[0];\n};\n\nstruct kmap_ctrl {};\n\ntypedef struct kmem_cache *kmem_buckets[18];\n\nstruct reciprocal_value {\n\tu32 m;\n\tu8 sh1;\n\tu8 sh2;\n};\n\nstruct kmem_cache_order_objects {\n\tunsigned int x;\n};\n\nstruct kmem_cache_cpu;\n\nstruct kmem_cache_node;\n\nstruct kmem_cache {\n\tstruct kmem_cache_cpu *cpu_slab;\n\tslab_flags_t flags;\n\tlong unsigned int min_partial;\n\tunsigned int size;\n\tunsigned int object_size;\n\tstruct reciprocal_value reciprocal_size;\n\tunsigned int offset;\n\tunsigned int cpu_partial;\n\tunsigned int cpu_partial_slabs;\n\tstruct kmem_cache_order_objects oo;\n\tstruct kmem_cache_order_objects min;\n\tgfp_t allocflags;\n\tint refcount;\n\tvoid (*ctor)(void *);\n\tunsigned int inuse;\n\tunsigned int align;\n\tunsigned int red_left_pad;\n\tconst char *name;\n\tstruct list_head list;\n\tstruct kobject kobj;\n\tlong unsigned int random;\n\tunsigned int remote_node_defrag_ratio;\n\tunsigned int *random_seq;\n\tstruct kmem_cache_node *node[256];\n};\n\nstruct kmem_cache_args {\n\tunsigned int align;\n\tunsigned int useroffset;\n\tunsigned int usersize;\n\tunsigned int freeptr_offset;\n\tbool use_freeptr_offset;\n\tvoid (*ctor)(void *);\n};\n\nstruct kmem_cache_cpu {\n\tunion {\n\t\tstruct {\n\t\t\tvoid **freelist;\n\t\t\tlong unsigned int tid;\n\t\t};\n\t\tfreelist_aba_t freelist_tid;\n\t};\n\tstruct slab *slab;\n\tstruct slab *partial;\n\tlocal_lock_t lock;\n};\n\nunion kmem_cache_iter_priv {\n\tstruct bpf_iter_kmem_cache it;\n\tstruct bpf_iter_kmem_cache_kern kit;\n};\n\nstruct kmem_cache_node {\n\tspinlock_t list_lock;\n\tlong unsigned int nr_partial;\n\tstruct list_head partial;\n\tatomic_long_t nr_slabs;\n\tatomic_long_t total_objects;\n\tstruct list_head full;\n};\n\nstruct kmem_obj_info {\n\tvoid *kp_ptr;\n\tstruct slab *kp_slab;\n\tvoid *kp_objp;\n\tlong unsigned int kp_data_offset;\n\tstruct kmem_cache *kp_slab_cache;\n\tvoid *kp_ret;\n\tvoid *kp_stack[16];\n\tvoid *kp_free_stack[16];\n};\n\nstruct kmsg_dump_detail {\n\tenum kmsg_dump_reason reason;\n\tconst char *description;\n};\n\nstruct kmsg_dump_iter {\n\tu64 cur_seq;\n\tu64 next_seq;\n};\n\nstruct kmsg_dumper {\n\tstruct list_head list;\n\tvoid (*dump)(struct kmsg_dumper *, struct kmsg_dump_detail *);\n\tenum kmsg_dump_reason max_reason;\n\tbool registered;\n};\n\nstruct probe;\n\nstruct kobj_map {\n\tstruct probe *probes[255];\n\tstruct mutex *lock;\n};\n\nstruct kobj_ns_type_operations {\n\tenum kobj_ns_type type;\n\tbool (*current_may_mount)(void);\n\tvoid * (*grab_current_ns)(void);\n\tconst void * (*netlink_ns)(struct sock *);\n\tconst void * (*initial_ns)(void);\n\tvoid (*drop_ns)(void *);\n};\n\nstruct kparam_array {\n\tunsigned int max;\n\tunsigned int elemsize;\n\tunsigned int *num;\n\tconst struct kernel_param_ops *ops;\n\tvoid *elem;\n};\n\nstruct kparam_string {\n\tunsigned int maxlen;\n\tchar *string;\n};\n\nstruct kpp_request;\n\nstruct kpp_alg {\n\tint (*set_secret)(struct crypto_kpp *, const void *, unsigned int);\n\tint (*generate_public_key)(struct kpp_request *);\n\tint (*compute_shared_secret)(struct kpp_request *);\n\tunsigned int (*max_size)(struct crypto_kpp *);\n\tint (*init)(struct crypto_kpp *);\n\tvoid (*exit)(struct crypto_kpp *);\n\tstruct crypto_alg base;\n};\n\nstruct kpp_instance {\n\tvoid (*free)(struct kpp_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[48];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct kpp_alg alg;\n\t};\n};\n\nstruct kpp_request {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int src_len;\n\tunsigned int dst_len;\n\tvoid *__ctx[0];\n};\n\nstruct kprobe;\n\ntypedef int (*kprobe_pre_handler_t)(struct kprobe *, struct pt_regs *);\n\ntypedef void (*kprobe_post_handler_t)(struct kprobe *, struct pt_regs *, long unsigned int);\n\nstruct kprobe {\n\tstruct hlist_node hlist;\n\tstruct list_head list;\n\tlong unsigned int nmissed;\n\tkprobe_opcode_t *addr;\n\tconst char *symbol_name;\n\tunsigned int offset;\n\tkprobe_pre_handler_t pre_handler;\n\tkprobe_post_handler_t post_handler;\n\tkprobe_opcode_t opcode;\n\tstruct arch_specific_insn ainsn;\n\tu32 flags;\n};\n\nstruct kprobe_blacklist_entry {\n\tstruct list_head list;\n\tlong unsigned int start_addr;\n\tlong unsigned int end_addr;\n};\n\nstruct prev_kprobe {\n\tstruct kprobe *kp;\n\tlong unsigned int status;\n\tlong unsigned int saved_msr;\n};\n\nstruct kprobe_ctlblk {\n\tlong unsigned int kprobe_status;\n\tlong unsigned int kprobe_saved_msr;\n\tstruct prev_kprobe prev_kprobe;\n};\n\nstruct kprobe_insn_cache {\n\tstruct mutex mutex;\n\tvoid * (*alloc)(void);\n\tvoid (*free)(void *);\n\tconst char *sym;\n\tstruct list_head pages;\n\tsize_t insn_size;\n\tint nr_garbage;\n};\n\nstruct kprobe_insn_page {\n\tstruct list_head list;\n\tkprobe_opcode_t *insns;\n\tstruct kprobe_insn_cache *cache;\n\tint nused;\n\tint ngarbage;\n\tchar slot_used[0];\n};\n\nstruct kprobe_trace_entry_head {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n};\n\nstruct krb5_ctx {\n\tint initiate;\n\tu32 enctype;\n\tu32 flags;\n\tconst struct gss_krb5_enctype *gk5e;\n\tstruct crypto_sync_skcipher *enc;\n\tstruct crypto_sync_skcipher *seq;\n\tstruct crypto_sync_skcipher *acceptor_enc;\n\tstruct crypto_sync_skcipher *initiator_enc;\n\tstruct crypto_sync_skcipher *acceptor_enc_aux;\n\tstruct crypto_sync_skcipher *initiator_enc_aux;\n\tstruct crypto_ahash *acceptor_sign;\n\tstruct crypto_ahash *initiator_sign;\n\tstruct crypto_ahash *initiator_integ;\n\tstruct crypto_ahash *acceptor_integ;\n\tu8 Ksess[32];\n\tu8 cksum[32];\n\tatomic_t seq_send;\n\tatomic64_t seq_send64;\n\ttime64_t endtime;\n\tstruct xdr_netobj mech_used;\n};\n\nstruct kretprobe_instance;\n\ntypedef int (*kretprobe_handler_t)(struct kretprobe_instance *, struct pt_regs *);\n\nstruct rethook;\n\nstruct kretprobe {\n\tstruct kprobe kp;\n\tkretprobe_handler_t handler;\n\tkretprobe_handler_t entry_handler;\n\tint maxactive;\n\tint nmissed;\n\tsize_t data_size;\n\tstruct rethook *rh;\n};\n\nstruct kretprobe_blackpoint {\n\tconst char *name;\n\tvoid *addr;\n};\n\nstruct rethook_node {\n\tstruct callback_head rcu;\n\tstruct llist_node llist;\n\tstruct rethook *rethook;\n\tlong unsigned int ret_addr;\n\tlong unsigned int frame;\n};\n\nstruct kretprobe_instance {\n\tstruct rethook_node node;\n\tchar data[0];\n};\n\nstruct kretprobe_trace_entry_head {\n\tstruct trace_entry ent;\n\tlong unsigned int func;\n\tlong unsigned int ret_ip;\n};\n\nstruct kset_uevent_ops;\n\nstruct kset {\n\tstruct list_head list;\n\tspinlock_t list_lock;\n\tstruct kobject kobj;\n\tconst struct kset_uevent_ops *uevent_ops;\n};\n\nstruct kset_uevent_ops {\n\tint (* const filter)(const struct kobject *);\n\tconst char * (* const name)(const struct kobject *);\n\tint (* const uevent)(const struct kobject *, struct kobj_uevent_env *);\n};\n\nstruct ksignal {\n\tstruct k_sigaction ka;\n\tkernel_siginfo_t info;\n\tint sig;\n};\n\nstruct ksm_rmap_item;\n\nstruct ksm_mm_slot {\n\tstruct mm_slot slot;\n\tstruct ksm_rmap_item *rmap_list;\n};\n\nstruct ksm_stable_node;\n\nstruct ksm_rmap_item {\n\tstruct ksm_rmap_item *rmap_list;\n\tunion {\n\t\tstruct anon_vma *anon_vma;\n\t\tint nid;\n\t};\n\tstruct mm_struct *mm;\n\tlong unsigned int address;\n\tunsigned int oldchecksum;\n\trmap_age_t age;\n\trmap_age_t remaining_skips;\n\tunion {\n\t\tstruct rb_node node;\n\t\tstruct {\n\t\t\tstruct ksm_stable_node *head;\n\t\t\tstruct hlist_node hlist;\n\t\t};\n\t};\n};\n\nstruct ksm_scan {\n\tstruct ksm_mm_slot *mm_slot;\n\tlong unsigned int address;\n\tstruct ksm_rmap_item **rmap_list;\n\tlong unsigned int seqnr;\n};\n\nstruct ksm_stable_node {\n\tunion {\n\t\tstruct rb_node node;\n\t\tstruct {\n\t\t\tstruct list_head *head;\n\t\t\tstruct {\n\t\t\t\tstruct hlist_node hlist_dup;\n\t\t\t\tstruct list_head list;\n\t\t\t};\n\t\t};\n\t};\n\tstruct hlist_head hlist;\n\tunion {\n\t\tlong unsigned int kpfn;\n\t\tlong unsigned int chain_prune_time;\n\t};\n\tint rmap_hlist_len;\n\tint nid;\n};\n\nstruct kstat {\n\tu32 result_mask;\n\tumode_t mode;\n\tunsigned int nlink;\n\tuint32_t blksize;\n\tu64 attributes;\n\tu64 attributes_mask;\n\tu64 ino;\n\tdev_t dev;\n\tdev_t rdev;\n\tkuid_t uid;\n\tkgid_t gid;\n\tloff_t size;\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tstruct timespec64 ctime;\n\tstruct timespec64 btime;\n\tu64 blocks;\n\tu64 mnt_id;\n\tu64 change_cookie;\n\tu64 subvol;\n\tu32 dio_mem_align;\n\tu32 dio_offset_align;\n\tu32 dio_read_offset_align;\n\tu32 atomic_write_unit_min;\n\tu32 atomic_write_unit_max;\n\tu32 atomic_write_segments_max;\n};\n\nstruct kstatfs {\n\tlong int f_type;\n\tlong int f_bsize;\n\tu64 f_blocks;\n\tu64 f_bfree;\n\tu64 f_bavail;\n\tu64 f_files;\n\tu64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\tlong int f_namelen;\n\tlong int f_frsize;\n\tlong int f_flags;\n\tlong int f_spare[4];\n};\n\nstruct statmount {\n\t__u32 size;\n\t__u32 mnt_opts;\n\t__u64 mask;\n\t__u32 sb_dev_major;\n\t__u32 sb_dev_minor;\n\t__u64 sb_magic;\n\t__u32 sb_flags;\n\t__u32 fs_type;\n\t__u64 mnt_id;\n\t__u64 mnt_parent_id;\n\t__u32 mnt_id_old;\n\t__u32 mnt_parent_id_old;\n\t__u64 mnt_attr;\n\t__u64 mnt_propagation;\n\t__u64 mnt_peer_group;\n\t__u64 mnt_master;\n\t__u64 propagate_from;\n\t__u32 mnt_root;\n\t__u32 mnt_point;\n\t__u64 mnt_ns_id;\n\t__u32 fs_subtype;\n\t__u32 sb_source;\n\t__u32 opt_num;\n\t__u32 opt_array;\n\t__u32 opt_sec_num;\n\t__u32 opt_sec_array;\n\t__u64 __spare2[46];\n\tchar str[0];\n};\n\nstruct seq_file {\n\tchar *buf;\n\tsize_t size;\n\tsize_t from;\n\tsize_t count;\n\tsize_t pad_until;\n\tloff_t index;\n\tloff_t read_pos;\n\tstruct mutex lock;\n\tconst struct seq_operations *op;\n\tint poll_event;\n\tconst struct file *file;\n\tvoid *private;\n};\n\nstruct kstatmount {\n\tstruct statmount *buf;\n\tsize_t bufsize;\n\tstruct vfsmount *mnt;\n\tu64 mask;\n\tstruct path root;\n\tstruct statmount sm;\n\tstruct seq_file seq;\n};\n\nstruct ktermios {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_cc[19];\n\tcc_t c_line;\n\tspeed_t c_ispeed;\n\tspeed_t c_ospeed;\n};\n\nstruct kthread {\n\tlong unsigned int flags;\n\tunsigned int cpu;\n\tunsigned int node;\n\tint started;\n\tint result;\n\tint (*threadfn)(void *);\n\tvoid *data;\n\tstruct completion parked;\n\tstruct completion exited;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tchar *full_name;\n\tstruct task_struct *task;\n\tstruct list_head hotplug_node;\n\tstruct cpumask *preferred_affinity;\n};\n\nstruct kthread_create_info {\n\tchar *full_name;\n\tint (*threadfn)(void *);\n\tvoid *data;\n\tint node;\n\tstruct task_struct *result;\n\tstruct completion *done;\n\tstruct list_head list;\n};\n\nstruct kthread_delayed_work {\n\tstruct kthread_work work;\n\tstruct timer_list timer;\n};\n\nstruct kthread_flush_work {\n\tstruct kthread_work work;\n\tstruct completion done;\n};\n\nstruct kthread_worker {\n\tunsigned int flags;\n\traw_spinlock_t lock;\n\tstruct list_head work_list;\n\tstruct list_head delayed_work_list;\n\tstruct task_struct *task;\n\tstruct kthread_work *current_work;\n};\n\nstruct string_stream;\n\ntypedef void (*kunit_try_catch_func_t)(void *);\n\nstruct kunit;\n\nstruct kunit_try_catch {\n\tstruct kunit *test;\n\tint try_result;\n\tkunit_try_catch_func_t try;\n\tkunit_try_catch_func_t catch;\n\tvoid *context;\n};\n\nstruct kunit_loc {\n\tint line;\n\tconst char *file;\n};\n\nstruct kunit {\n\tvoid *priv;\n\tconst char *name;\n\tstruct string_stream *log;\n\tstruct kunit_try_catch try_catch;\n\tconst void *param_value;\n\tint param_index;\n\tspinlock_t lock;\n\tenum kunit_status status;\n\tstruct list_head resources;\n\tchar status_comment[256];\n\tstruct kunit_loc last_seen;\n};\n\nstruct kunit_attributes {\n\tenum kunit_speed speed;\n};\n\nstruct kunit_case {\n\tvoid (*run_case)(struct kunit *);\n\tconst char *name;\n\tconst void * (*generate_params)(const void *, char *);\n\tstruct kunit_attributes attr;\n\tenum kunit_status status;\n\tchar *module_name;\n\tstruct string_stream *log;\n};\n\nstruct kunit_hooks_table {\n\tvoid (*fail_current_test)(const char *, int, const char *, ...);\n\tvoid * (*get_static_stub_address)(struct kunit *, void *);\n};\n\nstruct kunit_resource;\n\ntypedef void (*kunit_resource_free_t)(struct kunit_resource *);\n\nstruct kunit_resource {\n\tvoid *data;\n\tconst char *name;\n\tkunit_resource_free_t free;\n\tstruct kref refcount;\n\tstruct list_head node;\n\tbool should_kfree;\n};\n\nstruct kunit_suite {\n\tconst char name[256];\n\tint (*suite_init)(struct kunit_suite *);\n\tvoid (*suite_exit)(struct kunit_suite *);\n\tint (*init)(struct kunit *);\n\tvoid (*exit)(struct kunit *);\n\tstruct kunit_case *test_cases;\n\tstruct kunit_attributes attr;\n\tchar status_comment[256];\n\tstruct dentry *debugfs;\n\tstruct string_stream *log;\n\tint suite_init_err;\n\tbool is_init;\n};\n\nstruct kvfree_rcu_bulk_data {\n\tstruct list_head list;\n\tstruct rcu_gp_oldstate gp_snap;\n\tlong unsigned int nr_records;\n\tvoid *records[0];\n};\n\nstruct kvm_memslots {\n\tu64 generation;\n\tatomic_long_t last_used_slot;\n\tstruct rb_root_cached hva_tree;\n\tstruct rb_root gfn_tree;\n\tstruct hlist_head id_hash[128];\n\tint node_idx;\n};\n\nstruct kvm_vm_stat_generic {\n\tu64 remote_tlb_flush;\n\tu64 remote_tlb_flush_requests;\n};\n\nstruct kvm_vm_stat {\n\tstruct kvm_vm_stat_generic generic;\n\tu64 num_2M_pages;\n\tu64 num_1G_pages;\n};\n\nstruct revmap_entry;\n\nstruct kvm_hpt_info {\n\tlong unsigned int virt;\n\tstruct revmap_entry *rev;\n\tu32 order;\n\tint cma;\n};\n\nstruct kvm_resize_hpt;\n\nstruct kvmppc_xics;\n\nstruct kvmppc_xive;\n\nstruct kvmppc_passthru_irqmap;\n\nstruct kvmppc_ops;\n\nstruct kvmppc_vcore;\n\nstruct kvm_arch {\n\tu64 lpid;\n\tunsigned int smt_mode;\n\tunsigned int emul_smt_mode;\n\tunsigned int tlb_sets;\n\tstruct kvm_hpt_info hpt;\n\tatomic64_t mmio_update;\n\tunsigned int host_lpid;\n\tlong unsigned int host_lpcr;\n\tlong unsigned int sdr1;\n\tlong unsigned int host_sdr1;\n\tlong unsigned int lpcr;\n\tlong unsigned int vrma_slb_v;\n\tint mmu_ready;\n\tatomic_t vcpus_running;\n\tu32 online_vcores;\n\tatomic_t hpte_mod_interest;\n\tcpumask_t need_tlb_flush;\n\tu8 radix;\n\tu8 fwnmi_enabled;\n\tu8 secure_guest;\n\tu8 svm_enabled;\n\tbool nested_enable;\n\tbool dawr1_enabled;\n\tpgd_t *pgtable;\n\tu64 process_table;\n\tstruct kvm_resize_hpt *resize_hpt;\n\tstruct list_head spapr_tce_tables;\n\tstruct list_head rtas_tokens;\n\tstruct mutex rtas_token_lock;\n\tlong unsigned int enabled_hcalls[5];\n\tstruct kvmppc_xics *xics;\n\tstruct kvmppc_xics *xics_device;\n\tstruct kvmppc_xive *xive;\n\tstruct {\n\t\tstruct kvmppc_xive *native;\n\t\tstruct kvmppc_xive *xics_on_xive;\n\t} xive_devices;\n\tstruct kvmppc_passthru_irqmap *pimap;\n\tstruct kvmppc_ops *kvm_ops;\n\tstruct mutex uvmem_lock;\n\tstruct list_head uvmem_pfns;\n\tstruct mutex mmu_setup_lock;\n\tu64 l1_ptcr;\n\tstruct idr kvm_nested_guest_idr;\n\tstruct kvmppc_vcore *vcores[2048];\n};\n\nstruct kvm_irq_routing_table;\n\nstruct mmu_notifier_ops;\n\nstruct mmu_notifier {\n\tstruct hlist_node hlist;\n\tconst struct mmu_notifier_ops *ops;\n\tstruct mm_struct *mm;\n\tstruct callback_head rcu;\n\tunsigned int users;\n};\n\nstruct srcu_data;\n\nstruct srcu_usage;\n\nstruct srcu_struct {\n\tunsigned int srcu_idx;\n\tstruct srcu_data *sda;\n\tstruct lockdep_map dep_map;\n\tstruct srcu_usage *srcu_sup;\n};\n\nstruct kvm_io_bus;\n\nstruct kvm_stat_data;\n\nstruct kvm {\n\tspinlock_t mmu_lock;\n\tstruct mutex slots_lock;\n\tstruct mutex slots_arch_lock;\n\tstruct mm_struct *mm;\n\tlong unsigned int nr_memslot_pages;\n\tstruct kvm_memslots __memslots[2];\n\tstruct kvm_memslots *memslots[1];\n\tstruct xarray vcpu_array;\n\tatomic_t nr_memslots_dirty_logging;\n\tspinlock_t mn_invalidate_lock;\n\tlong unsigned int mn_active_invalidate_count;\n\tstruct rcuwait mn_memslots_update_rcuwait;\n\tspinlock_t gpc_lock;\n\tstruct list_head gpc_list;\n\tatomic_t online_vcpus;\n\tint max_vcpus;\n\tint created_vcpus;\n\tint last_boosted_vcpu;\n\tstruct list_head vm_list;\n\tstruct mutex lock;\n\tstruct kvm_io_bus *buses[5];\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head items;\n\t\tstruct list_head resampler_list;\n\t\tstruct mutex resampler_lock;\n\t} irqfds;\n\tstruct list_head ioeventfds;\n\tstruct kvm_vm_stat stat;\n\tstruct kvm_arch arch;\n\trefcount_t users_count;\n\tstruct mutex irq_lock;\n\tstruct kvm_irq_routing_table *irq_routing;\n\tstruct hlist_head irq_ack_notifier_list;\n\tstruct mmu_notifier mmu_notifier;\n\tlong unsigned int mmu_invalidate_seq;\n\tlong int mmu_invalidate_in_progress;\n\tgfn_t mmu_invalidate_range_start;\n\tgfn_t mmu_invalidate_range_end;\n\tstruct list_head devices;\n\tu64 manual_dirty_log_protect;\n\tstruct dentry *debugfs_dentry;\n\tstruct kvm_stat_data **debugfs_stat_data;\n\tstruct srcu_struct srcu;\n\tstruct srcu_struct irq_srcu;\n\tpid_t userspace_pid;\n\tbool override_halt_poll_ns;\n\tunsigned int max_halt_poll_ns;\n\tu32 dirty_ring_size;\n\tbool dirty_ring_with_bitmap;\n\tbool vm_bugged;\n\tbool vm_dead;\n\tchar stats_id[48];\n};\n\nstruct kvm_arch_memory_slot {\n\tlong unsigned int *rmap;\n};\n\nstruct kvm_debug_exit_arch {\n\t__u64 address;\n\t__u32 status;\n\t__u32 reserved;\n};\n\nstruct kvm_device_ops;\n\nstruct kvm_device {\n\tconst struct kvm_device_ops *ops;\n\tstruct kvm *kvm;\n\tvoid *private;\n\tstruct list_head vm_node;\n};\n\nstruct kvm_device_attr {\n\t__u32 flags;\n\t__u32 group;\n\t__u64 attr;\n\t__u64 addr;\n};\n\nstruct kvm_device_ops {\n\tconst char *name;\n\tint (*create)(struct kvm_device *, u32);\n\tvoid (*init)(struct kvm_device *);\n\tvoid (*destroy)(struct kvm_device *);\n\tvoid (*release)(struct kvm_device *);\n\tint (*set_attr)(struct kvm_device *, struct kvm_device_attr *);\n\tint (*get_attr)(struct kvm_device *, struct kvm_device_attr *);\n\tint (*has_attr)(struct kvm_device *, struct kvm_device_attr *);\n\tlong int (*ioctl)(struct kvm_device *, unsigned int, long unsigned int);\n\tint (*mmap)(struct kvm_device *, struct vm_area_struct *);\n};\n\nstruct kvm_dirty_gfn {\n\t__u32 flags;\n\t__u32 slot;\n\t__u64 offset;\n};\n\nstruct kvm_dirty_log {\n\t__u32 slot;\n\t__u32 padding1;\n\tunion {\n\t\tvoid *dirty_bitmap;\n\t\t__u64 padding2;\n\t};\n};\n\nstruct kvm_dirty_ring {\n\tu32 dirty_index;\n\tu32 reset_index;\n\tu32 size;\n\tu32 soft_limit;\n\tstruct kvm_dirty_gfn *dirty_gfns;\n\tint index;\n};\n\nunion kvm_mmu_notifier_arg {\n\tlong unsigned int attributes;\n};\n\nstruct kvm_memory_slot;\n\nstruct kvm_gfn_range {\n\tstruct kvm_memory_slot *slot;\n\tgfn_t start;\n\tgfn_t end;\n\tunion kvm_mmu_notifier_arg arg;\n\tenum kvm_gfn_range_filter attr_filter;\n\tbool may_block;\n};\n\nstruct kvm_hyperv_exit {\n\t__u32 type;\n\t__u32 pad1;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 msr;\n\t\t\t__u32 pad2;\n\t\t\t__u64 control;\n\t\t\t__u64 evt_page;\n\t\t\t__u64 msg_page;\n\t\t} synic;\n\t\tstruct {\n\t\t\t__u64 input;\n\t\t\t__u64 result;\n\t\t\t__u64 params[2];\n\t\t} hcall;\n\t\tstruct {\n\t\t\t__u32 msr;\n\t\t\t__u32 pad2;\n\t\t\t__u64 control;\n\t\t\t__u64 status;\n\t\t\t__u64 send_page;\n\t\t\t__u64 recv_page;\n\t\t\t__u64 pending_page;\n\t\t} syndbg;\n\t} u;\n};\n\nstruct kvm_io_device;\n\nstruct kvm_io_range {\n\tgpa_t addr;\n\tint len;\n\tstruct kvm_io_device *dev;\n};\n\nstruct kvm_io_bus {\n\tint dev_count;\n\tint ioeventfd_count;\n\tstruct kvm_io_range range[0];\n};\n\nstruct kvm_memory_slot {\n\tstruct hlist_node id_node[2];\n\tstruct interval_tree_node hva_node[2];\n\tstruct rb_node gfn_node[2];\n\tgfn_t base_gfn;\n\tlong unsigned int npages;\n\tlong unsigned int *dirty_bitmap;\n\tstruct kvm_arch_memory_slot arch;\n\tlong unsigned int userspace_addr;\n\tu32 flags;\n\tshort int id;\n\tu16 as_id;\n};\n\nstruct kvm_mmio_fragment {\n\tgpa_t gpa;\n\tvoid *data;\n\tunsigned int len;\n};\n\nstruct kvm_nested_guest {\n\tstruct kvm *l1_host;\n\tint l1_lpid;\n\tint shadow_lpid;\n\tpgd_t *shadow_pgtable;\n\tu64 l1_gr_to_hr;\n\tu64 process_table;\n\tlong int refcnt;\n\tstruct mutex tlb_lock;\n\tstruct kvm_nested_guest *next;\n\tcpumask_t need_tlb_flush;\n\tshort int prev_cpu[2048];\n\tu8 radix;\n};\n\nstruct kvm_ppc_mmuv3_cfg {\n\t__u64 flags;\n\t__u64 process_table;\n};\n\nstruct kvm_ppc_one_page_size {\n\t__u32 page_shift;\n\t__u32 pte_enc;\n};\n\nstruct kvm_ppc_one_seg_page_size {\n\t__u32 page_shift;\n\t__u32 slb_enc;\n\tstruct kvm_ppc_one_page_size enc[8];\n};\n\nstruct kvm_ppc_radix_geom {\n\t__u8 page_shift;\n\t__u8 level_bits[4];\n\t__u8 pad[3];\n};\n\nstruct kvm_ppc_rmmu_info {\n\tstruct kvm_ppc_radix_geom geometries[8];\n\t__u32 ap_encodings[8];\n};\n\nstruct kvm_ppc_smmu_info {\n\t__u64 flags;\n\t__u32 slb_size;\n\t__u16 data_keys;\n\t__u16 instr_keys;\n\tstruct kvm_ppc_one_seg_page_size sps[8];\n};\n\nstruct kvm_xen_exit {\n\t__u32 type;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 longmode;\n\t\t\t__u32 cpl;\n\t\t\t__u64 input;\n\t\t\t__u64 result;\n\t\t\t__u64 params[6];\n\t\t} hcall;\n\t} u;\n};\n\nstruct kvm_sync_regs {};\n\nstruct kvm_run {\n\t__u8 request_interrupt_window;\n\t__u8 immediate_exit__unsafe;\n\t__u8 padding1[6];\n\t__u32 exit_reason;\n\t__u8 ready_for_interrupt_injection;\n\t__u8 if_flag;\n\t__u16 flags;\n\t__u64 cr8;\n\t__u64 apic_base;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 hardware_exit_reason;\n\t\t} hw;\n\t\tstruct {\n\t\t\t__u64 hardware_entry_failure_reason;\n\t\t\t__u32 cpu;\n\t\t} fail_entry;\n\t\tstruct {\n\t\t\t__u32 exception;\n\t\t\t__u32 error_code;\n\t\t} ex;\n\t\tstruct {\n\t\t\t__u8 direction;\n\t\t\t__u8 size;\n\t\t\t__u16 port;\n\t\t\t__u32 count;\n\t\t\t__u64 data_offset;\n\t\t} io;\n\t\tstruct {\n\t\t\tstruct kvm_debug_exit_arch arch;\n\t\t} debug;\n\t\tstruct {\n\t\t\t__u64 phys_addr;\n\t\t\t__u8 data[8];\n\t\t\t__u32 len;\n\t\t\t__u8 is_write;\n\t\t} mmio;\n\t\tstruct {\n\t\t\t__u64 phys_addr;\n\t\t\t__u8 data[8];\n\t\t\t__u32 len;\n\t\t\t__u8 is_write;\n\t\t} iocsr_io;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t\t__u64 ret;\n\t\t\tunion {\n\t\t\t\t__u64 flags;\n\t\t\t};\n\t\t} hypercall;\n\t\tstruct {\n\t\t\t__u64 rip;\n\t\t\t__u32 is_write;\n\t\t\t__u32 pad;\n\t\t} tpr_access;\n\t\tstruct {\n\t\t\t__u8 icptcode;\n\t\t\t__u16 ipa;\n\t\t\t__u32 ipb;\n\t\t} s390_sieic;\n\t\t__u64 s390_reset_flags;\n\t\tstruct {\n\t\t\t__u64 trans_exc_code;\n\t\t\t__u32 pgm_code;\n\t\t} s390_ucontrol;\n\t\tstruct {\n\t\t\t__u32 dcrn;\n\t\t\t__u32 data;\n\t\t\t__u8 is_write;\n\t\t} dcr;\n\t\tstruct {\n\t\t\t__u32 suberror;\n\t\t\t__u32 ndata;\n\t\t\t__u64 data[16];\n\t\t} internal;\n\t\tstruct {\n\t\t\t__u32 suberror;\n\t\t\t__u32 ndata;\n\t\t\t__u64 flags;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u8 insn_size;\n\t\t\t\t\t__u8 insn_bytes[15];\n\t\t\t\t};\n\t\t\t};\n\t\t} emulation_failure;\n\t\tstruct {\n\t\t\t__u64 gprs[32];\n\t\t} osi;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 ret;\n\t\t\t__u64 args[9];\n\t\t} papr_hcall;\n\t\tstruct {\n\t\t\t__u16 subchannel_id;\n\t\t\t__u16 subchannel_nr;\n\t\t\t__u32 io_int_parm;\n\t\t\t__u32 io_int_word;\n\t\t\t__u32 ipb;\n\t\t\t__u8 dequeued;\n\t\t} s390_tsch;\n\t\tstruct {\n\t\t\t__u32 epr;\n\t\t} epr;\n\t\tstruct {\n\t\t\t__u32 type;\n\t\t\t__u32 ndata;\n\t\t\tunion {\n\t\t\t\t__u64 data[16];\n\t\t\t};\n\t\t} system_event;\n\t\tstruct {\n\t\t\t__u64 addr;\n\t\t\t__u8 ar;\n\t\t\t__u8 reserved;\n\t\t\t__u8 fc;\n\t\t\t__u8 sel1;\n\t\t\t__u16 sel2;\n\t\t} s390_stsi;\n\t\tstruct {\n\t\t\t__u8 vector;\n\t\t} eoi;\n\t\tstruct kvm_hyperv_exit hyperv;\n\t\tstruct {\n\t\t\t__u64 esr_iss;\n\t\t\t__u64 fault_ipa;\n\t\t} arm_nisv;\n\t\tstruct {\n\t\t\t__u8 error;\n\t\t\t__u8 pad[7];\n\t\t\t__u32 reason;\n\t\t\t__u32 index;\n\t\t\t__u64 data;\n\t\t} msr;\n\t\tstruct kvm_xen_exit xen;\n\t\tstruct {\n\t\t\tlong unsigned int extension_id;\n\t\t\tlong unsigned int function_id;\n\t\t\tlong unsigned int args[6];\n\t\t\tlong unsigned int ret[2];\n\t\t} riscv_sbi;\n\t\tstruct {\n\t\t\tlong unsigned int csr_num;\n\t\t\tlong unsigned int new_value;\n\t\t\tlong unsigned int write_mask;\n\t\t\tlong unsigned int ret_value;\n\t\t} riscv_csr;\n\t\tstruct {\n\t\t\t__u32 flags;\n\t\t} notify;\n\t\tstruct {\n\t\t\t__u64 flags;\n\t\t\t__u64 gpa;\n\t\t\t__u64 size;\n\t\t} memory_fault;\n\t\tchar padding[256];\n\t};\n\t__u64 kvm_valid_regs;\n\t__u64 kvm_dirty_regs;\n\tunion {\n\t\tstruct kvm_sync_regs regs;\n\t\tchar padding[2048];\n\t} s;\n};\n\nstruct kvm_split_mode {\n\tlong unsigned int rpr;\n\tlong unsigned int pmmar;\n\tlong unsigned int ldbar;\n\tu8 subcore_size;\n\tu8 do_nap;\n\tu8 napped[8];\n\tstruct kvmppc_vcore *vc[4];\n};\n\nstruct kvm_sregs {\n\t__u32 pvr;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 sdr1;\n\t\t\tstruct {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 slbe;\n\t\t\t\t\t__u64 slbv;\n\t\t\t\t} slb[64];\n\t\t\t} ppc64;\n\t\t\tstruct {\n\t\t\t\t__u32 sr[16];\n\t\t\t\t__u64 ibat[8];\n\t\t\t\t__u64 dbat[8];\n\t\t\t} ppc32;\n\t\t} s;\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 features;\n\t\t\t\t\t__u32 svr;\n\t\t\t\t\t__u64 mcar;\n\t\t\t\t\t__u32 hid0;\n\t\t\t\t\t__u32 pid1;\n\t\t\t\t\t__u32 pid2;\n\t\t\t\t} fsl;\n\t\t\t\t__u8 pad[256];\n\t\t\t} impl;\n\t\t\t__u32 features;\n\t\t\t__u32 impl_id;\n\t\t\t__u32 update_special;\n\t\t\t__u32 pir;\n\t\t\t__u64 sprg8;\n\t\t\t__u64 sprg9;\n\t\t\t__u64 csrr0;\n\t\t\t__u64 dsrr0;\n\t\t\t__u64 mcsrr0;\n\t\t\t__u32 csrr1;\n\t\t\t__u32 dsrr1;\n\t\t\t__u32 mcsrr1;\n\t\t\t__u32 esr;\n\t\t\t__u64 dear;\n\t\t\t__u64 ivpr;\n\t\t\t__u64 mcivpr;\n\t\t\t__u64 mcsr;\n\t\t\t__u32 tsr;\n\t\t\t__u32 tcr;\n\t\t\t__u32 decar;\n\t\t\t__u32 dec;\n\t\t\t__u64 tb;\n\t\t\t__u32 dbsr;\n\t\t\t__u32 dbcr[3];\n\t\t\t__u32 iac[4];\n\t\t\t__u32 dac[2];\n\t\t\t__u32 dvc[2];\n\t\t\t__u8 num_iac;\n\t\t\t__u8 num_dac;\n\t\t\t__u8 num_dvc;\n\t\t\t__u8 pad;\n\t\t\t__u32 epr;\n\t\t\t__u32 vrsave;\n\t\t\t__u32 epcr;\n\t\t\t__u32 mas0;\n\t\t\t__u32 mas1;\n\t\t\t__u64 mas2;\n\t\t\t__u64 mas7_3;\n\t\t\t__u32 mas4;\n\t\t\t__u32 mas6;\n\t\t\t__u32 ivor_low[16];\n\t\t\t__u32 ivor_high[18];\n\t\t\t__u32 mmucfg;\n\t\t\t__u32 eptcfg;\n\t\t\t__u32 tlbcfg[4];\n\t\t\t__u32 tlbps[4];\n\t\t\t__u32 eplc;\n\t\t\t__u32 epsc;\n\t\t} e;\n\t\t__u8 pad[1020];\n\t} u;\n};\n\nstruct kvm_stat_data {\n\tstruct kvm *kvm;\n\tconst struct _kvm_stats_desc *desc;\n\tenum kvm_stat_kind kind;\n};\n\nstruct preempt_ops;\n\nstruct preempt_notifier {\n\tstruct hlist_node link;\n\tstruct preempt_ops *ops;\n};\n\nstruct kvmppc_slb {\n\tu64 esid;\n\tu64 vsid;\n\tu64 orige;\n\tu64 origv;\n\tbool valid: 1;\n\tbool Ks: 1;\n\tbool Kp: 1;\n\tbool nx: 1;\n\tbool large: 1;\n\tbool tb: 1;\n\tbool class: 1;\n\tu8 base_page_size;\n};\n\nstruct kvm_vcpu;\n\nstruct kvmppc_pte;\n\nstruct kvmppc_mmu {\n\tvoid (*slbmte)(struct kvm_vcpu *, u64, u64);\n\tu64 (*slbmfee)(struct kvm_vcpu *, u64);\n\tu64 (*slbmfev)(struct kvm_vcpu *, u64);\n\tint (*slbfee)(struct kvm_vcpu *, gva_t, ulong *);\n\tvoid (*slbie)(struct kvm_vcpu *, u64);\n\tvoid (*slbia)(struct kvm_vcpu *);\n\tvoid (*mtsrin)(struct kvm_vcpu *, u32, ulong);\n\tu32 (*mfsrin)(struct kvm_vcpu *, u32);\n\tint (*xlate)(struct kvm_vcpu *, gva_t, struct kvmppc_pte *, bool, bool);\n\tvoid (*tlbie)(struct kvm_vcpu *, ulong, bool);\n\tint (*esid_to_vsid)(struct kvm_vcpu *, ulong, u64 *);\n\tu64 (*ea_to_vp)(struct kvm_vcpu *, gva_t, bool);\n\tbool (*is_dcbz32)(struct kvm_vcpu *);\n};\n\nstruct thread_fp_state {\n\tu64 fpr[64];\n\tu64 fpscr;\n\tlong: 64;\n};\n\nstruct thread_vr_state {\n\tvector128 vr[32];\n\tvector128 vscr;\n};\n\nstruct machine_check_event {\n\tenum MCE_Version version: 8;\n\tu8 in_use;\n\tenum MCE_Severity severity: 8;\n\tenum MCE_Initiator initiator: 8;\n\tenum MCE_ErrorType error_type: 8;\n\tenum MCE_ErrorClass error_class: 8;\n\tenum MCE_Disposition disposition: 8;\n\tbool sync_error;\n\tu16 cpu;\n\tu64 gpr3;\n\tu64 srr0;\n\tu64 srr1;\n\tunion {\n\t\tstruct {\n\t\t\tenum MCE_UeErrorType ue_error_type: 8;\n\t\t\tu8 effective_address_provided;\n\t\t\tu8 physical_address_provided;\n\t\t\tu8 ignore_event;\n\t\t\tu8 reserved_1[4];\n\t\t\tu64 effective_address;\n\t\t\tu64 physical_address;\n\t\t\tu8 reserved_2[8];\n\t\t} ue_error;\n\t\tstruct {\n\t\t\tenum MCE_SlbErrorType slb_error_type: 8;\n\t\t\tu8 effective_address_provided;\n\t\t\tu8 reserved_1[6];\n\t\t\tu64 effective_address;\n\t\t\tu8 reserved_2[16];\n\t\t} slb_error;\n\t\tstruct {\n\t\t\tenum MCE_EratErrorType erat_error_type: 8;\n\t\t\tu8 effective_address_provided;\n\t\t\tu8 reserved_1[6];\n\t\t\tu64 effective_address;\n\t\t\tu8 reserved_2[16];\n\t\t} erat_error;\n\t\tstruct {\n\t\t\tenum MCE_TlbErrorType tlb_error_type: 8;\n\t\t\tu8 effective_address_provided;\n\t\t\tu8 reserved_1[6];\n\t\t\tu64 effective_address;\n\t\t\tu8 reserved_2[16];\n\t\t} tlb_error;\n\t\tstruct {\n\t\t\tenum MCE_UserErrorType user_error_type: 8;\n\t\t\tu8 effective_address_provided;\n\t\t\tu8 reserved_1[6];\n\t\t\tu64 effective_address;\n\t\t\tu8 reserved_2[16];\n\t\t} user_error;\n\t\tstruct {\n\t\t\tenum MCE_RaErrorType ra_error_type: 8;\n\t\t\tu8 effective_address_provided;\n\t\t\tu8 reserved_1[6];\n\t\t\tu64 effective_address;\n\t\t\tu8 reserved_2[16];\n\t\t} ra_error;\n\t\tstruct {\n\t\t\tenum MCE_LinkErrorType link_error_type: 8;\n\t\t\tu8 effective_address_provided;\n\t\t\tu8 reserved_1[6];\n\t\t\tu64 effective_address;\n\t\t\tu8 reserved_2[16];\n\t\t} link_error;\n\t} u;\n};\n\nstruct openpic;\n\nunion xive_tma_w01 {\n\tstruct {\n\t\tu8 nsr;\n\t\tu8 cppr;\n\t\tu8 ipb;\n\t\tu8 lsmfb;\n\t\tu8 ack;\n\t\tu8 inc;\n\t\tu8 age;\n\t\tu8 pipr;\n\t};\n\t__be64 w01;\n};\n\nstruct kvm_vcpu_arch_shared {\n\t__u64 scratch1;\n\t__u64 scratch2;\n\t__u64 scratch3;\n\t__u64 critical;\n\t__u64 sprg0;\n\t__u64 sprg1;\n\t__u64 sprg2;\n\t__u64 sprg3;\n\t__u64 srr0;\n\t__u64 srr1;\n\t__u64 dar;\n\t__u64 msr;\n\t__u32 dsisr;\n\t__u32 int_pending;\n\t__u32 sr[16];\n\t__u32 mas0;\n\t__u32 mas1;\n\t__u64 mas7_3;\n\t__u64 mas2;\n\t__u32 mas4;\n\t__u32 mas6;\n\t__u32 esr;\n\t__u32 pir;\n\t__u64 sprg4;\n\t__u64 sprg5;\n\t__u64 sprg6;\n\t__u64 sprg7;\n};\n\nstruct mmio_hpte_cache_entry {\n\tlong unsigned int hpte_v;\n\tlong unsigned int hpte_r;\n\tlong unsigned int rpte;\n\tlong unsigned int pte_index;\n\tlong unsigned int eaddr;\n\tlong unsigned int slb_v;\n\tlong int mmio_update;\n\tunsigned int slb_base_pshift;\n};\n\nstruct mmio_hpte_cache {\n\tstruct mmio_hpte_cache_entry entry[4];\n\tunsigned int index;\n};\n\nstruct kvmppc_vpa {\n\tlong unsigned int gpa;\n\tvoid *pinned_addr;\n\tvoid *pinned_end;\n\tlong unsigned int next_gpa;\n\tlong unsigned int len;\n\tu8 update_pending;\n\tbool dirty;\n};\n\nstruct kvmppc_gs_buff_info {\n\tu64 address;\n\tu64 size;\n};\n\nstruct kvmhv_nestedv2_config {\n\tstruct kvmppc_gs_buff_info vcpu_run_output_cfg;\n\tstruct kvmppc_gs_buff_info vcpu_run_input_cfg;\n\tu64 vcpu_run_output_size;\n};\n\nstruct kvmppc_gs_bitmap {\n\tlong unsigned int bitmap[3];\n};\n\nstruct kvmppc_gs_buff;\n\nstruct kvmppc_gs_msg;\n\nstruct kvmhv_nestedv2_io {\n\tstruct kvmhv_nestedv2_config cfg;\n\tstruct kvmppc_gs_buff *vcpu_run_output;\n\tstruct kvmppc_gs_buff *vcpu_run_input;\n\tstruct kvmppc_gs_msg *vcpu_message;\n\tstruct kvmppc_gs_msg *vcore_message;\n\tstruct kvmppc_gs_bitmap valids;\n};\n\nstruct kvmppc_vcpu_book3s;\n\nstruct kvmppc_icp;\n\nstruct kvmppc_xive_vcpu;\n\nstruct kvm_vcpu_arch {\n\tulong host_stack;\n\tu32 host_pid;\n\tstruct kvmppc_slb slb[64];\n\tint slb_max;\n\tint slb_nr;\n\tstruct kvmppc_mmu mmu;\n\tstruct kvmppc_vcpu_book3s *book3s;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct pt_regs regs;\n\tstruct thread_fp_state fp;\n\tstruct thread_vr_state vr;\n\tu32 qpr[32];\n\tulong tar;\n\tulong hflags;\n\tulong guest_owned_ext;\n\tulong purr;\n\tulong spurr;\n\tulong ic;\n\tulong dscr;\n\tulong amr;\n\tulong uamor;\n\tulong iamr;\n\tu32 ctrl;\n\tu32 dabrx;\n\tulong dabr;\n\tulong dawr0;\n\tulong dawrx0;\n\tulong dawr1;\n\tulong dawrx1;\n\tulong dexcr;\n\tulong hashkeyr;\n\tulong hashpkeyr;\n\tulong ciabr;\n\tulong cfar;\n\tulong ppr;\n\tu32 pspb;\n\tu8 load_ebb;\n\tu8 load_tm;\n\tulong fscr;\n\tulong shadow_fscr;\n\tulong ebbhr;\n\tulong ebbrr;\n\tulong bescr;\n\tulong csigr;\n\tulong tacr;\n\tulong tcscr;\n\tulong acop;\n\tulong wort;\n\tulong tid;\n\tulong psscr;\n\tulong hfscr;\n\tulong shadow_srr1;\n\tu32 vrsave;\n\tu32 mmucr;\n\tulong shadow_msr;\n\tulong csrr0;\n\tulong csrr1;\n\tulong dsrr0;\n\tulong dsrr1;\n\tulong mcsrr0;\n\tulong mcsrr1;\n\tulong mcsr;\n\tulong dec;\n\tu64 entry_tb;\n\tu64 entry_vtb;\n\tu64 entry_ic;\n\tu32 tcr;\n\tulong tsr;\n\tu32 ivor[64];\n\tulong ivpr;\n\tu32 pvr;\n\tu32 shadow_pid;\n\tu32 shadow_pid1;\n\tu32 pid;\n\tu32 swap_pid;\n\tu32 ccr0;\n\tu32 ccr1;\n\tu32 dbsr;\n\tu64 mmcr[4];\n\tu64 mmcra;\n\tu64 mmcrs;\n\tu32 pmc[8];\n\tu32 spmc[2];\n\tu64 siar;\n\tu64 sdar;\n\tu64 sier[3];\n\tu64 tfhar;\n\tu64 texasr;\n\tu64 tfiar;\n\tu64 orig_texasr;\n\tu32 cr_tm;\n\tu64 xer_tm;\n\tu64 lr_tm;\n\tu64 ctr_tm;\n\tu64 amr_tm;\n\tu64 ppr_tm;\n\tu64 dscr_tm;\n\tu64 tar_tm;\n\tulong gpr_tm[32];\n\tlong: 64;\n\tstruct thread_fp_state fp_tm;\n\tstruct thread_vr_state vr_tm;\n\tu32 vrsave_tm;\n\tulong fault_dar;\n\tu32 fault_dsisr;\n\tlong unsigned int intr_msr;\n\tulong fault_gpa;\n\tgpa_t paddr_accessed;\n\tgva_t vaddr_accessed;\n\tpgd_t *pgdir;\n\tu16 io_gpr;\n\tu8 mmio_host_swabbed;\n\tu8 mmio_sign_extend;\n\tu8 mmio_sp64_extend;\n\tu8 mmio_vsx_copy_nums;\n\tu8 mmio_vsx_offset;\n\tu8 mmio_vmx_copy_nums;\n\tu8 mmio_vmx_offset;\n\tu8 mmio_copy_type;\n\tu8 osi_needed;\n\tu8 osi_enabled;\n\tu8 papr_enabled;\n\tu8 watchdog_enabled;\n\tu8 sane;\n\tu8 cpu_type;\n\tu8 hcall_needed;\n\tu8 epr_flags;\n\tu8 epr_needed;\n\tu8 external_oneshot;\n\tu32 cpr0_cfgaddr;\n\tstruct hrtimer dec_timer;\n\tu64 dec_jiffies;\n\tu64 dec_expires;\n\tlong unsigned int pending_exceptions;\n\tu8 ceded;\n\tu8 prodded;\n\tu8 doorbell_request;\n\tu8 irq_pending;\n\tlong unsigned int last_inst;\n\tstruct rcuwait wait;\n\tstruct rcuwait *waitp;\n\tstruct kvmppc_vcore *vcore;\n\tint ret;\n\tint trap;\n\tint state;\n\tint ptid;\n\tint thread_cpu;\n\tint prev_cpu;\n\tbool timer_running;\n\twait_queue_head_t cpu_run;\n\tstruct machine_check_event mce_evt;\n\tstruct kvm_vcpu_arch_shared *shared;\n\tlong unsigned int magic_page_pa;\n\tlong unsigned int magic_page_ea;\n\tbool disable_kernel_nx;\n\tint irq_type;\n\tint irq_cpu_id;\n\tstruct openpic *mpic;\n\tstruct kvmppc_icp *icp;\n\tstruct kvmppc_xive_vcpu *xive_vcpu;\n\t__be32 xive_cam_word;\n\tu8 xive_pushed;\n\tu8 xive_esc_on;\n\tunion xive_tma_w01 xive_saved_state;\n\tu64 xive_esc_raddr;\n\tu64 xive_esc_vaddr;\n\tstruct kvm_vcpu_arch_shared shregs;\n\tstruct mmio_hpte_cache mmio_cache;\n\tlong unsigned int pgfault_addr;\n\tlong int pgfault_index;\n\tlong unsigned int pgfault_hpte[2];\n\tstruct mmio_hpte_cache_entry *pgfault_cache;\n\tstruct task_struct *run_task;\n\tspinlock_t vpa_update_lock;\n\tstruct kvmppc_vpa vpa;\n\tstruct kvmppc_vpa dtl;\n\tstruct dtl_entry *dtl_ptr;\n\tlong unsigned int dtl_index;\n\tu64 stolen_logged;\n\tstruct kvmppc_vpa slb_shadow;\n\tspinlock_t tbacct_lock;\n\tu64 busy_stolen;\n\tu64 busy_preempt;\n\tu64 emul_inst;\n\tu32 online;\n\tu64 hfscr_permitted;\n\tstruct kvm_nested_guest *nested;\n\tu64 nested_hfscr;\n\tu32 nested_vcpu_id;\n\tgpa_t nested_io_gpr;\n\tstruct kvmhv_nestedv2_io nestedv2_io;\n\tu64 l1_to_l2_cs;\n\tu64 l2_to_l1_cs;\n\tu64 l2_runtime_agg;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kvm_vcpu_stat_generic {\n\tu64 halt_successful_poll;\n\tu64 halt_attempted_poll;\n\tu64 halt_poll_invalid;\n\tu64 halt_wakeup;\n\tu64 halt_poll_success_ns;\n\tu64 halt_poll_fail_ns;\n\tu64 halt_wait_ns;\n\tu64 halt_poll_success_hist[32];\n\tu64 halt_poll_fail_hist[32];\n\tu64 halt_wait_hist[32];\n\tu64 blocking;\n};\n\nstruct kvm_vcpu_stat {\n\tstruct kvm_vcpu_stat_generic generic;\n\tu64 sum_exits;\n\tu64 mmio_exits;\n\tu64 signal_exits;\n\tu64 light_exits;\n\tu64 itlb_real_miss_exits;\n\tu64 itlb_virt_miss_exits;\n\tu64 dtlb_real_miss_exits;\n\tu64 dtlb_virt_miss_exits;\n\tu64 syscall_exits;\n\tu64 isi_exits;\n\tu64 dsi_exits;\n\tu64 emulated_inst_exits;\n\tu64 dec_exits;\n\tu64 ext_intr_exits;\n\tu64 halt_successful_wait;\n\tu64 dbell_exits;\n\tu64 gdbell_exits;\n\tu64 ld;\n\tu64 st;\n\tu64 pf_storage;\n\tu64 pf_instruc;\n\tu64 sp_storage;\n\tu64 sp_instruc;\n\tu64 queue_intr;\n\tu64 ld_slow;\n\tu64 st_slow;\n\tu64 pthru_all;\n\tu64 pthru_host;\n\tu64 pthru_bad_aff;\n};\n\nstruct kvm_vcpu {\n\tstruct kvm *kvm;\n\tstruct preempt_notifier preempt_notifier;\n\tint cpu;\n\tint vcpu_id;\n\tint vcpu_idx;\n\tint ____srcu_idx;\n\tint mode;\n\tu64 requests;\n\tlong unsigned int guest_debug;\n\tstruct mutex mutex;\n\tstruct kvm_run *run;\n\tstruct pid *pid;\n\trwlock_t pid_lock;\n\tint sigset_active;\n\tsigset_t sigset;\n\tunsigned int halt_poll_ns;\n\tbool valid_wakeup;\n\tint mmio_needed;\n\tint mmio_read_completed;\n\tint mmio_is_write;\n\tint mmio_cur_fragment;\n\tint mmio_nr_fragments;\n\tstruct kvm_mmio_fragment mmio_fragments[2];\n\tbool wants_to_run;\n\tbool preempted;\n\tbool ready;\n\tbool scheduled_out;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct kvm_vcpu_arch arch;\n\tstruct kvm_vcpu_stat stat;\n\tchar stats_id[48];\n\tstruct kvm_dirty_ring dirty_ring;\n\tstruct kvm_memory_slot *last_used_slot;\n\tu64 last_used_slot_gen;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kvmppc_bat {\n\tu64 raw;\n\tu32 bepi;\n\tu32 bepi_mask;\n\tu32 brpn;\n\tu8 wimg;\n\tu8 pp;\n\tbool vs: 1;\n\tbool vp: 1;\n};\n\nstruct kvmppc_gs_header;\n\nstruct kvmppc_gs_buff {\n\tsize_t capacity;\n\tsize_t len;\n\tlong unsigned int guest_id;\n\tlong unsigned int vcpu_id;\n\tstruct kvmppc_gs_header *hdr;\n};\n\nstruct kvmppc_gs_elem {\n\t__be16 iden;\n\t__be16 len;\n\tchar data[0];\n};\n\nstruct kvmppc_gs_header {\n\t__be32 nelems;\n\tchar data[0];\n};\n\nstruct kvmppc_gs_msg_ops;\n\nstruct kvmppc_gs_msg {\n\tstruct kvmppc_gs_bitmap bitmap;\n\tstruct kvmppc_gs_msg_ops *ops;\n\tlong unsigned int flags;\n\tvoid *data;\n};\n\nstruct kvmppc_gs_msg_ops {\n\tsize_t (*get_size)(struct kvmppc_gs_msg *);\n\tint (*fill_info)(struct kvmppc_gs_buff *, struct kvmppc_gs_msg *);\n\tint (*refresh_info)(struct kvmppc_gs_msg *, struct kvmppc_gs_buff *);\n};\n\nstruct kvmppc_gs_parser {\n\tstruct kvmppc_gs_bitmap iterator;\n\tstruct kvmppc_gs_elem *gses[177];\n};\n\nstruct kvmppc_gs_part_table {\n\tu64 address;\n\tu64 ea_bits;\n\tu64 gpd_size;\n};\n\nstruct kvmppc_gs_proc_table {\n\tu64 address;\n\tu64 gpd_size;\n};\n\nunion kvmppc_rm_state {\n\tlong unsigned int raw;\n\tstruct {\n\t\tu32 in_host;\n\t\tu32 rm_action;\n\t};\n};\n\nstruct kvmppc_host_rm_core {\n\tunion kvmppc_rm_state rm_state;\n\tvoid *rm_data;\n\tchar pad[112];\n};\n\nstruct kvmppc_host_rm_ops {\n\tstruct kvmppc_host_rm_core *rm_core;\n\tvoid (*vcpu_kick)(struct kvm_vcpu *);\n};\n\nstruct kvmppc_host_state {\n\tulong host_r1;\n\tulong host_r2;\n\tulong host_msr;\n\tulong vmhandler;\n\tulong scratch0;\n\tulong scratch1;\n\tulong scratch2;\n\tu8 in_guest;\n\tu8 restore_hid5;\n\tu8 napping;\n\tu8 hwthread_req;\n\tu8 hwthread_state;\n\tu8 host_ipi;\n\tu8 ptid;\n\tu8 fake_suspend;\n\tstruct kvm_vcpu *kvm_vcpu;\n\tstruct kvmppc_vcore *kvm_vcore;\n\tvoid *xics_phys;\n\tvoid *xive_tima_phys;\n\tvoid *xive_tima_virt;\n\tu32 saved_xirr;\n\tu64 dabr;\n\tu64 host_mmcr[7];\n\tu32 host_pmc[8];\n\tu64 host_purr;\n\tu64 host_spurr;\n\tu64 host_dscr;\n\tu64 dec_expires;\n\tstruct kvm_split_mode *kvm_split_mode;\n\tu64 cfar;\n\tu64 ppr;\n\tu64 host_fscr;\n};\n\nunion kvmppc_icp_state {\n\tlong unsigned int raw;\n\tstruct {\n\t\tu8 out_ee: 1;\n\t\tu8 need_resend: 1;\n\t\tu8 cppr;\n\t\tu8 mfrr;\n\t\tu8 pending_pri;\n\t\tu32 xisr;\n\t};\n};\n\nstruct kvmppc_icp {\n\tstruct kvm_vcpu *vcpu;\n\tlong unsigned int server_num;\n\tunion kvmppc_icp_state state;\n\tlong unsigned int resend_map[16];\n\tu32 rm_action;\n\tstruct kvm_vcpu *rm_kick_target;\n\tstruct kvmppc_icp *rm_resend_icp;\n\tu32 rm_reject;\n\tu32 rm_eoied_irq;\n\tlong unsigned int n_rm_kick_vcpu;\n\tlong unsigned int n_rm_check_resend;\n\tlong unsigned int n_rm_notify_eoi;\n\tlong unsigned int n_check_resend;\n\tlong unsigned int n_reject;\n\tunion kvmppc_icp_state rm_dbgstate;\n\tstruct kvm_vcpu *rm_dbgtgt;\n};\n\nstruct kvmppc_ics {\n\tarch_spinlock_t lock;\n\tu16 icsid;\n\tstruct ics_irq_state irq_state[1024];\n};\n\nstruct kvmppc_irq_map {\n\tu32 r_hwirq;\n\tu32 v_hwirq;\n\tstruct irq_desc *desc;\n};\n\nunion kvmppc_one_reg {\n\tu32 wval;\n\tu64 dval;\n\tvector128 vval;\n\tu64 vsxval[2];\n\tu32 vsx32val[4];\n\tu16 vsx16val[8];\n\tu8 vsx8val[16];\n\tstruct {\n\t\tu64 addr;\n\t\tu64 length;\n\t} vpaval;\n\tu64 xive_timaval[2];\n};\n\nstruct kvmppc_ops {\n\tstruct module *owner;\n\tint (*get_sregs)(struct kvm_vcpu *, struct kvm_sregs *);\n\tint (*set_sregs)(struct kvm_vcpu *, struct kvm_sregs *);\n\tint (*get_one_reg)(struct kvm_vcpu *, u64, union kvmppc_one_reg *);\n\tint (*set_one_reg)(struct kvm_vcpu *, u64, union kvmppc_one_reg *);\n\tvoid (*vcpu_load)(struct kvm_vcpu *, int);\n\tvoid (*vcpu_put)(struct kvm_vcpu *);\n\tvoid (*inject_interrupt)(struct kvm_vcpu *, int, u64);\n\tvoid (*set_msr)(struct kvm_vcpu *, u64);\n\tint (*vcpu_run)(struct kvm_vcpu *);\n\tint (*vcpu_create)(struct kvm_vcpu *);\n\tvoid (*vcpu_free)(struct kvm_vcpu *);\n\tint (*check_requests)(struct kvm_vcpu *);\n\tint (*get_dirty_log)(struct kvm *, struct kvm_dirty_log *);\n\tvoid (*flush_memslot)(struct kvm *, struct kvm_memory_slot *);\n\tint (*prepare_memory_region)(struct kvm *, const struct kvm_memory_slot *, struct kvm_memory_slot *, enum kvm_mr_change);\n\tvoid (*commit_memory_region)(struct kvm *, struct kvm_memory_slot *, const struct kvm_memory_slot *, enum kvm_mr_change);\n\tbool (*unmap_gfn_range)(struct kvm *, struct kvm_gfn_range *);\n\tbool (*age_gfn)(struct kvm *, struct kvm_gfn_range *);\n\tbool (*test_age_gfn)(struct kvm *, struct kvm_gfn_range *);\n\tvoid (*free_memslot)(struct kvm_memory_slot *);\n\tint (*init_vm)(struct kvm *);\n\tvoid (*destroy_vm)(struct kvm *);\n\tint (*get_smmu_info)(struct kvm *, struct kvm_ppc_smmu_info *);\n\tint (*emulate_op)(struct kvm_vcpu *, unsigned int, int *);\n\tint (*emulate_mtspr)(struct kvm_vcpu *, int, ulong);\n\tint (*emulate_mfspr)(struct kvm_vcpu *, int, ulong *);\n\tvoid (*fast_vcpu_kick)(struct kvm_vcpu *);\n\tint (*arch_vm_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*hcall_implemented)(long unsigned int);\n\tint (*irq_bypass_add_producer)(struct irq_bypass_consumer *, struct irq_bypass_producer *);\n\tvoid (*irq_bypass_del_producer)(struct irq_bypass_consumer *, struct irq_bypass_producer *);\n\tint (*configure_mmu)(struct kvm *, struct kvm_ppc_mmuv3_cfg *);\n\tint (*get_rmmu_info)(struct kvm *, struct kvm_ppc_rmmu_info *);\n\tint (*set_smt_mode)(struct kvm *, long unsigned int, long unsigned int);\n\tvoid (*giveup_ext)(struct kvm_vcpu *, ulong);\n\tint (*enable_nested)(struct kvm *);\n\tint (*load_from_eaddr)(struct kvm_vcpu *, ulong *, void *, int);\n\tint (*store_to_eaddr)(struct kvm_vcpu *, ulong *, void *, int);\n\tint (*enable_svm)(struct kvm *);\n\tint (*svm_off)(struct kvm *);\n\tint (*enable_dawr1)(struct kvm *);\n\tbool (*hash_v3_possible)(void);\n\tint (*create_vm_debugfs)(struct kvm *);\n\tint (*create_vcpu_debugfs)(struct kvm_vcpu *, struct dentry *);\n};\n\nstruct kvmppc_passthru_irqmap {\n\tint n_mapped;\n\tstruct kvmppc_irq_map mapped[1024];\n};\n\nstruct kvmppc_pte {\n\tulong eaddr;\n\tu64 vpage;\n\tulong raddr;\n\tbool may_read: 1;\n\tbool may_write: 1;\n\tbool may_execute: 1;\n\tlong unsigned int wimg;\n\tlong unsigned int rc;\n\tu8 page_size;\n\tu8 page_shift;\n};\n\nstruct kvmppc_sid_map {\n\tu64 guest_vsid;\n\tu64 guest_esid;\n\tu64 host_vsid;\n\tbool valid: 1;\n};\n\nstruct kvmppc_vcore {\n\tint n_runnable;\n\tint num_threads;\n\tint entry_exit_map;\n\tint napping_threads;\n\tint first_vcpuid;\n\tu16 pcpu;\n\tu16 last_cpu;\n\tu8 vcore_state;\n\tu8 in_guest;\n\tstruct kvm_vcpu *runnable_threads[8];\n\tstruct list_head preempt_list;\n\tspinlock_t lock;\n\tstruct rcuwait wait;\n\tspinlock_t stoltb_lock;\n\tu64 stolen_tb;\n\tu64 preempt_tb;\n\tstruct kvm_vcpu *runner;\n\tstruct kvm *kvm;\n\tu64 tb_offset;\n\tu64 tb_offset_applied;\n\tulong lpcr;\n\tu32 arch_compat;\n\tulong pcr;\n\tulong dpdes;\n\tulong vtb;\n\tulong conferring_threads;\n\tunsigned int halt_poll_ns;\n\tatomic_t online_count;\n};\n\nstruct kvmppc_vcpu_book3s {\n\tstruct kvmppc_sid_map sid_map[512];\n\tstruct {\n\t\tu64 esid;\n\t\tu64 vsid;\n\t} slb_shadow[64];\n\tu8 slb_shadow_max;\n\tstruct kvmppc_bat ibat[8];\n\tstruct kvmppc_bat dbat[8];\n\tu64 hid[6];\n\tu64 gqr[8];\n\tu64 sdr1;\n\tu64 hior;\n\tu64 msr_mask;\n\tu64 vtb;\n\tu64 proto_vsid_first;\n\tu64 proto_vsid_max;\n\tu64 proto_vsid_next;\n\tint context_id[1];\n\tbool hior_explicit;\n\tstruct hlist_head hpte_hash_pte[8192];\n\tstruct hlist_head hpte_hash_pte_long[4096];\n\tstruct hlist_head hpte_hash_vpte[8192];\n\tstruct hlist_head hpte_hash_vpte_long[32];\n\tstruct hlist_head hpte_hash_vpte_64k[2048];\n\tint hpte_cache_count;\n\tspinlock_t mmu_lock;\n};\n\nstruct kvmppc_xics {\n\tstruct kvm *kvm;\n\tstruct kvm_device *dev;\n\tstruct dentry *dentry;\n\tu32 max_icsid;\n\tbool real_mode;\n\tbool real_mode_dbg;\n\tu32 err_noics;\n\tu32 err_noicp;\n\tstruct kvmppc_ics *ics[1024];\n};\n\nstruct kvmppc_xive_src_block;\n\nstruct kvmppc_xive_ops;\n\nstruct kvmppc_xive {\n\tstruct kvm *kvm;\n\tstruct kvm_device *dev;\n\tstruct dentry *dentry;\n\tu32 vp_base;\n\tstruct kvmppc_xive_src_block *src_blocks[1024];\n\tu32 max_sbid;\n\tu32 src_count;\n\tu32 saved_src_count;\n\tu32 delayed_irqs;\n\tu8 qmap;\n\tu32 q_order;\n\tu32 q_page_order;\n\tu8 flags;\n\tu32 nr_servers;\n\tstruct kvmppc_xive_ops *ops;\n\tstruct address_space *mapping;\n\tstruct mutex mapping_lock;\n\tstruct mutex lock;\n};\n\nstruct xive_irq_data {\n\tu64 flags;\n\tu64 eoi_page;\n\tvoid *eoi_mmio;\n\tu64 trig_page;\n\tvoid *trig_mmio;\n\tu32 esb_shift;\n\tint src_chip;\n\tu32 hw_irq;\n\tint target;\n\tbool saved_p;\n\tbool stale_p;\n};\n\nstruct kvmppc_xive_irq_state {\n\tbool valid;\n\tu32 number;\n\tu32 ipi_number;\n\tstruct xive_irq_data ipi_data;\n\tu32 pt_number;\n\tstruct xive_irq_data *pt_data;\n\tu8 guest_priority;\n\tu8 saved_priority;\n\tu32 act_server;\n\tu8 act_priority;\n\tbool in_eoi;\n\tbool old_p;\n\tbool old_q;\n\tbool lsi;\n\tbool asserted;\n\tbool in_queue;\n\tbool saved_p;\n\tbool saved_q;\n\tu8 saved_scan_prio;\n\tu32 eisn;\n};\n\nstruct kvmppc_xive_ops {\n\tint (*reset_mapped)(struct kvm *, long unsigned int);\n};\n\nstruct kvmppc_xive_src_block {\n\tarch_spinlock_t lock;\n\tu16 id;\n\tstruct kvmppc_xive_irq_state irq_state[1024];\n};\n\nstruct xive_q {\n\t__be32 *qpage;\n\tu32 msk;\n\tu32 idx;\n\tu32 toggle;\n\tu64 eoi_phys;\n\tu32 esc_irq;\n\tatomic_t count;\n\tatomic_t pending_count;\n\tu64 guest_qaddr;\n\tu32 guest_qshift;\n};\n\nstruct kvmppc_xive_vcpu {\n\tstruct kvmppc_xive *xive;\n\tstruct kvm_vcpu *vcpu;\n\tbool valid;\n\tu32 server_num;\n\tu32 vp_id;\n\tu32 vp_chip_id;\n\tu32 vp_cam;\n\tu32 vp_ipi;\n\tstruct xive_irq_data vp_ipi_data;\n\tuint8_t cppr;\n\tuint8_t hw_cppr;\n\tuint8_t mfrr;\n\tuint8_t pending;\n\tstruct xive_q queues[8];\n\tu32 esc_virq[8];\n\tchar *esc_virq_names[8];\n\tu32 delayed_irq;\n\tu64 stat_rm_h_xirr;\n\tu64 stat_rm_h_ipoll;\n\tu64 stat_rm_h_cppr;\n\tu64 stat_rm_h_eoi;\n\tu64 stat_rm_h_ipi;\n\tu64 stat_vm_h_xirr;\n\tu64 stat_vm_h_ipoll;\n\tu64 stat_vm_h_cppr;\n\tu64 stat_vm_h_eoi;\n\tu64 stat_vm_h_ipi;\n};\n\nstruct kyber_cpu_latency {\n\tatomic_t buckets[48];\n};\n\nstruct kyber_ctx_queue {\n\tspinlock_t lock;\n\tstruct list_head rq_list[4];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbq_wait {\n\tstruct sbitmap_queue *sbq;\n\tstruct wait_queue_entry wait;\n};\n\nstruct kyber_hctx_data {\n\tspinlock_t lock;\n\tstruct list_head rqs[4];\n\tunsigned int cur_domain;\n\tunsigned int batching;\n\tstruct kyber_ctx_queue *kcqs;\n\tstruct sbitmap kcq_map[4];\n\tstruct sbq_wait domain_wait[4];\n\tstruct sbq_wait_state *domain_ws[4];\n\tatomic_t wait_index[4];\n};\n\nstruct kyber_queue_data {\n\tstruct request_queue *q;\n\tdev_t dev;\n\tstruct sbitmap_queue domain_tokens[4];\n\tunsigned int async_depth;\n\tstruct kyber_cpu_latency *cpu_latency;\n\tstruct timer_list timer;\n\tunsigned int latency_buckets[48];\n\tlong unsigned int latency_timeout[3];\n\tint domain_p99[3];\n\tu64 latency_targets[3];\n};\n\nstruct label_attr {\n\tu8 prefix[8];\n\tu8 version;\n\tu8 os;\n\tu8 length;\n\tu8 reserved[5];\n};\n\nstruct label {\n\tstruct label_attr attr;\n\tu8 name[239];\n\tsize_t size;\n};\n\nstruct landlock_ruleset;\n\nstruct landlock_cred_security {\n\tstruct landlock_ruleset *domain;\n};\n\nstruct landlock_file_security {\n\taccess_mask_t allowed_access;\n\tstruct landlock_ruleset *fown_domain;\n};\n\nstruct landlock_hierarchy {\n\tstruct landlock_hierarchy *parent;\n\trefcount_t usage;\n};\n\nstruct landlock_object;\n\nunion landlock_key {\n\tstruct landlock_object *object;\n\tuintptr_t data;\n};\n\nstruct landlock_id {\n\tunion landlock_key key;\n\tconst enum landlock_key_type type;\n};\n\nstruct landlock_inode_security {\n\tstruct landlock_object *object;\n};\n\nstruct landlock_layer {\n\tu16 level;\n\taccess_mask_t access;\n};\n\nstruct landlock_net_port_attr {\n\t__u64 allowed_access;\n\t__u64 port;\n};\n\nstruct landlock_object_underops;\n\nstruct landlock_object {\n\trefcount_t usage;\n\tspinlock_t lock;\n\tvoid *underobj;\n\tunion {\n\t\tstruct callback_head rcu_free;\n\t\tconst struct landlock_object_underops *underops;\n\t};\n};\n\nstruct landlock_object_underops {\n\tvoid (*release)(struct landlock_object * const);\n};\n\nstruct landlock_path_beneath_attr {\n\t__u64 allowed_access;\n\t__s32 parent_fd;\n} __attribute__((packed));\n\nstruct landlock_rule {\n\tstruct rb_node node;\n\tunion landlock_key key;\n\tu32 num_layers;\n\tstruct landlock_layer layers[0];\n};\n\nstruct landlock_ruleset {\n\tstruct rb_root root_inode;\n\tstruct rb_root root_net_port;\n\tstruct landlock_hierarchy *hierarchy;\n\tunion {\n\t\tstruct work_struct work_free;\n\t\tstruct {\n\t\t\tstruct mutex lock;\n\t\t\trefcount_t usage;\n\t\t\tu32 num_rules;\n\t\t\tu32 num_layers;\n\t\t\tstruct access_masks access_masks[0];\n\t\t};\n\t};\n};\n\nstruct landlock_ruleset_attr {\n\t__u64 handled_access_fs;\n\t__u64 handled_access_net;\n\t__u64 scoped;\n};\n\nstruct landlock_superblock_security {\n\tatomic_long_t inode_refs;\n};\n\nstruct latch_tree_ops {\n\tbool (*less)(struct latch_tree_node *, struct latch_tree_node *);\n\tint (*comp)(void *, struct latch_tree_node *);\n};\n\nstruct latch_tree_root {\n\tseqcount_latch_t seq;\n\tstruct rb_root tree[2];\n};\n\nstruct latched_seq {\n\tseqcount_latch_t latch;\n\tu64 val[2];\n};\n\nstruct sched_domain;\n\nstruct lb_env {\n\tstruct sched_domain *sd;\n\tstruct rq *src_rq;\n\tint src_cpu;\n\tint dst_cpu;\n\tstruct rq *dst_rq;\n\tstruct cpumask *dst_grpmask;\n\tint new_dst_cpu;\n\tenum cpu_idle_type idle;\n\tlong int imbalance;\n\tstruct cpumask *cpus;\n\tunsigned int flags;\n\tunsigned int loop;\n\tunsigned int loop_break;\n\tunsigned int loop_max;\n\tenum fbq_type fbq_type;\n\tenum migration_type migration_type;\n\tstruct list_head tasks;\n};\n\nstruct lcd_properties {\n\tint max_contrast;\n};\n\nstruct lcd_ops;\n\nstruct lcd_device {\n\tstruct lcd_properties props;\n\tstruct mutex ops_lock;\n\tconst struct lcd_ops *ops;\n\tstruct mutex update_lock;\n\tstruct notifier_block fb_notif;\n\tstruct device dev;\n};\n\nstruct lcd_ops {\n\tint (*get_power)(struct lcd_device *);\n\tint (*set_power)(struct lcd_device *, int);\n\tint (*get_contrast)(struct lcd_device *);\n\tint (*set_contrast)(struct lcd_device *, int);\n\tint (*set_mode)(struct lcd_device *, u32, u32);\n\tbool (*controls_device)(struct lcd_device *, struct device *);\n};\n\nstruct ld_semaphore {\n\tatomic_long_t count;\n\traw_spinlock_t wait_lock;\n\tunsigned int wait_readers;\n\tstruct list_head read_wait;\n\tstruct list_head write_wait;\n};\n\nstruct ldsem_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n};\n\nstruct lease_manager_operations {\n\tbool (*lm_break)(struct file_lease *);\n\tint (*lm_change)(struct file_lease *, int, struct list_head *);\n\tvoid (*lm_setup)(struct file_lease *, void **);\n\tbool (*lm_breaker_owns_lease)(struct file_lease *);\n};\n\nstruct led_pattern;\n\nstruct led_classdev {\n\tconst char *name;\n\tunsigned int brightness;\n\tunsigned int max_brightness;\n\tunsigned int color;\n\tint flags;\n\tlong unsigned int work_flags;\n\tvoid (*brightness_set)(struct led_classdev *, enum led_brightness);\n\tint (*brightness_set_blocking)(struct led_classdev *, enum led_brightness);\n\tenum led_brightness (*brightness_get)(struct led_classdev *);\n\tint (*blink_set)(struct led_classdev *, long unsigned int *, long unsigned int *);\n\tint (*pattern_set)(struct led_classdev *, struct led_pattern *, u32, int);\n\tint (*pattern_clear)(struct led_classdev *);\n\tstruct device *dev;\n\tconst struct attribute_group **groups;\n\tstruct list_head node;\n\tconst char *default_trigger;\n\tlong unsigned int blink_delay_on;\n\tlong unsigned int blink_delay_off;\n\tstruct timer_list blink_timer;\n\tint blink_brightness;\n\tint new_blink_brightness;\n\tvoid (*flash_resume)(struct led_classdev *);\n\tstruct workqueue_struct *wq;\n\tstruct work_struct set_brightness_work;\n\tint delayed_set_value;\n\tlong unsigned int delayed_delay_on;\n\tlong unsigned int delayed_delay_off;\n\tstruct mutex led_access;\n};\n\nstruct mc_subled;\n\nstruct led_classdev_mc {\n\tstruct led_classdev led_cdev;\n\tunsigned int num_colors;\n\tstruct mc_subled *subled_info;\n};\n\nstruct led_init_data {\n\tstruct fwnode_handle *fwnode;\n\tconst char *default_label;\n\tconst char *devicename;\n\tbool devname_mandatory;\n};\n\nstruct led_pattern {\n\tu32 delta_t;\n\tint brightness;\n};\n\nstruct led_properties {\n\tu32 color;\n\tbool color_present;\n\tconst char *function;\n\tu32 func_enum;\n\tbool func_enum_present;\n\tconst char *label;\n};\n\nstruct legacy_fs_context {\n\tchar *legacy_data;\n\tsize_t data_size;\n\tenum legacy_fs_param param_type;\n};\n\nstruct legacy_serial_info {\n\tstruct device_node *np;\n\tunsigned int speed;\n\tunsigned int clock;\n\tint irq_check_parent;\n\tphys_addr_t taddr;\n\tvoid *early_addr;\n};\n\nstruct level_datum {\n\tstruct mls_level level;\n\tunsigned char isalias;\n};\n\nstruct limit_names {\n\tconst char *name;\n\tconst char *unit;\n};\n\nstruct linear_c {\n\tstruct dm_dev *dev;\n\tsector_t start;\n};\n\nstruct linear_conf {\n\tstruct callback_head rcu;\n\tsector_t array_sectors;\n\tint raid_disks;\n\tstruct dev_info disks[0];\n};\n\nstruct linger {\n\tint l_onoff;\n\tint l_linger;\n};\n\nstruct link_free {\n\tunion {\n\t\tlong unsigned int next;\n\t\tlong unsigned int handle;\n\t};\n};\n\nstruct link_mode_info {\n\tint speed;\n\tu8 lanes;\n\tu8 duplex;\n};\n\nstruct linked_reg {\n\tu8 frameno;\n\tunion {\n\t\tu8 spi;\n\t\tu8 regno;\n\t};\n\tbool is_reg;\n};\n\nstruct linked_regs {\n\tint cnt;\n\tstruct linked_reg entries[6];\n};\n\nstruct linkinfo_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_link_ksettings ksettings;\n\tstruct ethtool_link_settings *lsettings;\n};\n\nstruct linkmodes_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_link_ksettings ksettings;\n\tstruct ethtool_link_settings *lsettings;\n\tbool peer_empty;\n};\n\nstruct linkstate_reply_data {\n\tstruct ethnl_reply_data base;\n\tint link;\n\tint sqi;\n\tint sqi_max;\n\tstruct ethtool_link_ext_stats link_stats;\n\tbool link_ext_state_provided;\n\tstruct ethtool_link_ext_state_info ethtool_link_ext_state_info;\n};\n\nstruct linux_binprm;\n\nstruct linux_binfmt {\n\tstruct list_head lh;\n\tstruct module *module;\n\tint (*load_binary)(struct linux_binprm *);\n\tint (*load_shlib)(struct file *);\n\tint (*core_dump)(struct coredump_params *);\n\tlong unsigned int min_coredump;\n};\n\nstruct rlimit {\n\t__kernel_ulong_t rlim_cur;\n\t__kernel_ulong_t rlim_max;\n};\n\nstruct linux_binprm {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int vma_pages;\n\tlong unsigned int argmin;\n\tstruct mm_struct *mm;\n\tlong unsigned int p;\n\tunsigned int have_execfd: 1;\n\tunsigned int execfd_creds: 1;\n\tunsigned int secureexec: 1;\n\tunsigned int point_of_no_return: 1;\n\tunsigned int comm_from_dentry: 1;\n\tunsigned int is_check: 1;\n\tstruct file *executable;\n\tstruct file *interpreter;\n\tstruct file *file;\n\tstruct cred *cred;\n\tint unsafe;\n\tunsigned int per_clear;\n\tint argc;\n\tint envc;\n\tconst char *filename;\n\tconst char *interp;\n\tconst char *fdpath;\n\tunsigned int interp_flags;\n\tint execfd;\n\tlong unsigned int loader;\n\tlong unsigned int exec;\n\tstruct rlimit rlim_stack;\n\tchar buf[256];\n};\n\nstruct linux_binprm__safe_trusted {\n\tstruct file *file;\n};\n\nstruct linux_dirent {\n\tlong unsigned int d_ino;\n\tlong unsigned int d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[0];\n};\n\nstruct linux_dirent64 {\n\tu64 d_ino;\n\ts64 d_off;\n\tshort unsigned int d_reclen;\n\tunsigned char d_type;\n\tchar d_name[0];\n};\n\nstruct linux_logo {\n\tint type;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int clutsize;\n\tconst unsigned char *clut;\n\tconst unsigned char *data;\n};\n\nstruct linux_mib {\n\tlong unsigned int mibs[133];\n};\n\nstruct list_lru_node;\n\nstruct list_lru {\n\tstruct list_lru_node *node;\n\tstruct list_head list;\n\tint shrinker_id;\n\tbool memcg_aware;\n\tstruct xarray xa;\n};\n\nstruct list_lru_one {\n\tstruct list_head list;\n\tlong int nr_items;\n\tspinlock_t lock;\n};\n\nstruct list_lru_memcg {\n\tstruct callback_head rcu;\n\tstruct list_lru_one node[0];\n};\n\nstruct list_lru_node {\n\tstruct list_lru_one lru;\n\tatomic_long_t nr_items;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct listener {\n\tstruct list_head list;\n\tpid_t pid;\n\tchar valid;\n};\n\nstruct listener_list {\n\tstruct rw_semaphore sem;\n\tstruct list_head list;\n};\n\nstruct listeners {\n\tstruct callback_head rcu;\n\tlong unsigned int masks[0];\n};\n\nstruct load_info {\n\tconst char *name;\n\tstruct module *mod;\n\tElf64_Ehdr *hdr;\n\tlong unsigned int len;\n\tElf64_Shdr *sechdrs;\n\tchar *secstrings;\n\tchar *strtab;\n\tlong unsigned int symoffs;\n\tlong unsigned int stroffs;\n\tlong unsigned int init_typeoffs;\n\tlong unsigned int core_typeoffs;\n\tbool sig_ok;\n\tlong unsigned int mod_kallsyms_init_off;\n\tstruct {\n\t\tunsigned int sym;\n\t\tunsigned int str;\n\t\tunsigned int mod;\n\t\tunsigned int vers;\n\t\tunsigned int info;\n\t\tunsigned int pcpu;\n\t\tunsigned int vers_ext_crc;\n\t\tunsigned int vers_ext_name;\n\t} index;\n};\n\nstruct location;\n\nstruct loc_track {\n\tlong unsigned int max;\n\tlong unsigned int count;\n\tstruct location *loc;\n\tloff_t idx;\n};\n\nstruct local_ports {\n\tu32 range;\n\tbool warned;\n};\n\nstruct location {\n\tdepot_stack_handle_t handle;\n\tlong unsigned int count;\n\tlong unsigned int addr;\n\tlong unsigned int waste;\n\tlong long int sum_time;\n\tlong int min_time;\n\tlong int max_time;\n\tlong int min_pid;\n\tlong int max_pid;\n\tlong unsigned int cpus[32];\n\tnodemask_t nodes;\n};\n\nstruct lock_manager {\n\tstruct list_head list;\n\tbool block_opens;\n};\n\nstruct lock_manager_operations {\n\tvoid *lm_mod_owner;\n\tfl_owner_t (*lm_get_owner)(fl_owner_t);\n\tvoid (*lm_put_owner)(fl_owner_t);\n\tvoid (*lm_notify)(struct file_lock *);\n\tint (*lm_grant)(struct file_lock *, int);\n\tbool (*lm_lock_expirable)(struct file_lock *);\n\tvoid (*lm_expire_lock)(void);\n};\n\nstruct lockd_net {\n\tunsigned int nlmsvc_users;\n\tlong unsigned int next_gc;\n\tlong unsigned int nrhosts;\n\tstruct delayed_work grace_period_end;\n\tstruct lock_manager lockd_manager;\n\tstruct list_head nsm_handles;\n};\n\nstruct locks_iterator {\n\tint li_cpu;\n\tloff_t li_pos;\n};\n\nstruct log_entry {\n\t__le32 lba;\n\t__le32 old_map;\n\t__le32 new_map;\n\t__le32 seq;\n};\n\nstruct log_group {\n\tstruct log_entry ent[4];\n};\n\nstruct logic_pio_host_ops {\n\tu32 (*in)(void *, long unsigned int, size_t);\n\tvoid (*out)(void *, long unsigned int, u32, size_t);\n\tu32 (*ins)(void *, long unsigned int, void *, size_t, unsigned int);\n\tvoid (*outs)(void *, long unsigned int, const void *, size_t, unsigned int);\n};\n\nstruct logic_pio_hwaddr {\n\tstruct list_head list;\n\tconst struct fwnode_handle *fwnode;\n\tresource_size_t hw_start;\n\tresource_size_t io_start;\n\tresource_size_t size;\n\tlong unsigned int flags;\n\tvoid *hostdata;\n\tconst struct logic_pio_host_ops *ops;\n};\n\nstruct logo_data {\n\tint depth;\n\tint needs_directpalette;\n\tint needs_truepalette;\n\tint needs_cmapreset;\n\tconst struct linux_logo *logo;\n};\n\nstruct lookup_args {\n\tint offset;\n\tconst struct in6_addr *addr;\n};\n\nstruct loop_cmd {\n\tstruct list_head list_entry;\n\tbool use_aio;\n\tatomic_t ref;\n\tlong int ret;\n\tstruct kiocb iocb;\n\tstruct bio_vec *bvec;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct cgroup_subsys_state *memcg_css;\n};\n\nstruct loop_info64 {\n\t__u64 lo_device;\n\t__u64 lo_inode;\n\t__u64 lo_rdevice;\n\t__u64 lo_offset;\n\t__u64 lo_sizelimit;\n\t__u32 lo_number;\n\t__u32 lo_encrypt_type;\n\t__u32 lo_encrypt_key_size;\n\t__u32 lo_flags;\n\t__u8 lo_file_name[64];\n\t__u8 lo_crypt_name[64];\n\t__u8 lo_encrypt_key[32];\n\t__u64 lo_init[2];\n};\n\nstruct loop_config {\n\t__u32 fd;\n\t__u32 block_size;\n\tstruct loop_info64 info;\n\t__u64 __reserved[8];\n};\n\nstruct loop_device {\n\tint lo_number;\n\tloff_t lo_offset;\n\tloff_t lo_sizelimit;\n\tint lo_flags;\n\tchar lo_file_name[64];\n\tstruct file *lo_backing_file;\n\tstruct block_device *lo_device;\n\tgfp_t old_gfp_mask;\n\tspinlock_t lo_lock;\n\tint lo_state;\n\tspinlock_t lo_work_lock;\n\tstruct workqueue_struct *workqueue;\n\tstruct work_struct rootcg_work;\n\tstruct list_head rootcg_cmd_list;\n\tstruct list_head idle_worker_list;\n\tstruct rb_root worker_tree;\n\tstruct timer_list timer;\n\tbool sysfs_inited;\n\tstruct request_queue *lo_queue;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct gendisk *lo_disk;\n\tstruct mutex lo_mutex;\n\tbool idr_visible;\n};\n\nstruct loop_info {\n\tint lo_number;\n\t__kernel_old_dev_t lo_device;\n\tlong unsigned int lo_inode;\n\t__kernel_old_dev_t lo_rdevice;\n\tint lo_offset;\n\tint lo_encrypt_type;\n\tint lo_encrypt_key_size;\n\tint lo_flags;\n\tchar lo_name[64];\n\tunsigned char lo_encrypt_key[32];\n\tlong unsigned int lo_init[2];\n\tchar reserved[4];\n};\n\nstruct loop_worker {\n\tstruct rb_node rb_node;\n\tstruct work_struct work;\n\tstruct list_head cmd_list;\n\tstruct list_head idle_list;\n\tstruct loop_device *lo;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tlong unsigned int last_ran_at;\n};\n\nunion lower_chunk {\n\tunion lower_chunk *next;\n\tlong unsigned int data[256];\n};\n\nstruct lpc_debugfs_entry {\n\tenum OpalLPCAddressType lpc_type;\n};\n\nstruct lpm_trie_node;\n\nstruct lpm_trie {\n\tstruct bpf_map map;\n\tstruct lpm_trie_node *root;\n\tstruct bpf_mem_alloc ma;\n\tsize_t n_entries;\n\tsize_t max_prefixlen;\n\tsize_t data_size;\n\traw_spinlock_t lock;\n};\n\nstruct lpm_trie_node {\n\tstruct lpm_trie_node *child[2];\n\tu32 prefixlen;\n\tu32 flags;\n\tu8 data[0];\n};\n\nstruct lppaca {\n\t__be32 desc;\n\t__be16 size;\n\tu8 reserved1[3];\n\tu8 __old_status;\n\tu8 reserved3[14];\n\tvolatile __be32 dyn_hw_node_id;\n\tvolatile __be32 dyn_hw_proc_id;\n\tu8 reserved4[56];\n\tvolatile u8 vphn_assoc_counts[8];\n\tu8 reserved5[32];\n\tu8 reserved6[48];\n\tu8 cede_latency_hint;\n\tu8 ebb_regs_in_use;\n\tu8 reserved7[6];\n\tu8 dtl_enable_mask;\n\tu8 donate_dedicated_cpu;\n\tu8 fpregs_in_use;\n\tu8 pmcregs_in_use;\n\tu8 l2_counters_enable;\n\tu8 reserved8[27];\n\t__be64 wait_state_cycles;\n\tu8 reserved9[28];\n\t__be16 slb_count;\n\tu8 idle;\n\tu8 vmxregs_in_use;\n\tvolatile __be32 yield_count;\n\tvolatile __be32 dispersion_count;\n\tvolatile __be64 cmo_faults;\n\tvolatile __be64 cmo_fault_time;\n\tu8 reserved10[64];\n\tvolatile __be64 enqueue_dispatch_tb;\n\tvolatile __be64 ready_enqueue_tb;\n\tvolatile __be64 wait_ready_tb;\n\tu8 reserved11[16];\n\t__be32 page_ins;\n\tu8 reserved12[28];\n\tvolatile __be64 l1_to_l2_cs_tb;\n\tvolatile __be64 l2_to_l1_cs_tb;\n\tvolatile __be64 l2_runtime_tb;\n\tu8 reserved13[96];\n\tvolatile __be64 dtl_idx;\n\tu8 reserved14[96];\n};\n\nstruct zswap_lruvec_state {\n\tatomic_long_t nr_disk_swapins;\n};\n\nstruct pglist_data;\n\nstruct lruvec {\n\tstruct list_head lists[5];\n\tspinlock_t lru_lock;\n\tlong unsigned int anon_cost;\n\tlong unsigned int file_cost;\n\tatomic_long_t nonresident_age;\n\tlong unsigned int refaults[2];\n\tlong unsigned int flags;\n\tstruct pglist_data *pgdat;\n\tstruct zswap_lruvec_state zswap_lruvec_state;\n};\n\nstruct lruvec_stats {\n\tlong int state[32];\n\tlong int state_local[32];\n\tlong int state_pending[32];\n};\n\nstruct lruvec_stats_percpu {\n\tlong int state[32];\n\tlong int state_prev[32];\n};\n\nstruct skcipher_alg_common {\n\tunsigned int min_keysize;\n\tunsigned int max_keysize;\n\tunsigned int ivsize;\n\tunsigned int chunksize;\n\tunsigned int statesize;\n\tstruct crypto_alg base;\n};\n\nstruct lskcipher_alg {\n\tint (*setkey)(struct crypto_lskcipher *, const u8 *, unsigned int);\n\tint (*encrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32);\n\tint (*decrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32);\n\tint (*init)(struct crypto_lskcipher *);\n\tvoid (*exit)(struct crypto_lskcipher *);\n\tstruct skcipher_alg_common co;\n};\n\nstruct lskcipher_instance {\n\tvoid (*free)(struct lskcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[64];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct lskcipher_alg alg;\n\t};\n};\n\nstruct lsm_blob_sizes {\n\tint lbs_cred;\n\tint lbs_file;\n\tint lbs_ib;\n\tint lbs_inode;\n\tint lbs_sock;\n\tint lbs_superblock;\n\tint lbs_ipc;\n\tint lbs_key;\n\tint lbs_msg_msg;\n\tint lbs_perf_event;\n\tint lbs_task;\n\tint lbs_xattr_count;\n\tint lbs_tun_dev;\n\tint lbs_bdev;\n};\n\nstruct lsm_context {\n\tchar *context;\n\tu32 len;\n\tint id;\n};\n\nstruct lsm_ctx {\n\t__u64 id;\n\t__u64 flags;\n\t__u64 len;\n\t__u64 ctx_len;\n\t__u8 ctx[0];\n};\n\nstruct lsm_ibendport_audit {\n\tconst char *dev_name;\n\tu8 port;\n};\n\nstruct lsm_ibpkey_audit {\n\tu64 subnet_prefix;\n\tu16 pkey;\n};\n\nstruct lsm_id {\n\tconst char *name;\n\tu64 id;\n};\n\nstruct lsm_info {\n\tconst char *name;\n\tenum lsm_order order;\n\tlong unsigned int flags;\n\tint *enabled;\n\tint (*init)(void);\n\tstruct lsm_blob_sizes *blobs;\n};\n\nstruct lsm_ioctlop_audit {\n\tstruct path path;\n\tu16 cmd;\n};\n\nstruct lsm_network_audit {\n\tint netif;\n\tconst struct sock *sk;\n\tu16 family;\n\t__be16 dport;\n\t__be16 sport;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 daddr;\n\t\t\t__be32 saddr;\n\t\t} v4;\n\t\tstruct {\n\t\t\tstruct in6_addr daddr;\n\t\t\tstruct in6_addr saddr;\n\t\t} v6;\n\t} fam;\n};\n\nstruct static_call_key;\n\nstruct security_hook_list;\n\nstruct static_key_false;\n\nstruct lsm_static_call {\n\tstruct static_call_key *key;\n\tvoid *trampoline;\n\tstruct security_hook_list *hl;\n\tstruct static_key_false *active;\n};\n\nstruct lsm_static_calls_table {\n\tstruct lsm_static_call binder_set_context_mgr[7];\n\tstruct lsm_static_call binder_transaction[7];\n\tstruct lsm_static_call binder_transfer_binder[7];\n\tstruct lsm_static_call binder_transfer_file[7];\n\tstruct lsm_static_call ptrace_access_check[7];\n\tstruct lsm_static_call ptrace_traceme[7];\n\tstruct lsm_static_call capget[7];\n\tstruct lsm_static_call capset[7];\n\tstruct lsm_static_call capable[7];\n\tstruct lsm_static_call quotactl[7];\n\tstruct lsm_static_call quota_on[7];\n\tstruct lsm_static_call syslog[7];\n\tstruct lsm_static_call settime[7];\n\tstruct lsm_static_call vm_enough_memory[7];\n\tstruct lsm_static_call bprm_creds_for_exec[7];\n\tstruct lsm_static_call bprm_creds_from_file[7];\n\tstruct lsm_static_call bprm_check_security[7];\n\tstruct lsm_static_call bprm_committing_creds[7];\n\tstruct lsm_static_call bprm_committed_creds[7];\n\tstruct lsm_static_call fs_context_submount[7];\n\tstruct lsm_static_call fs_context_dup[7];\n\tstruct lsm_static_call fs_context_parse_param[7];\n\tstruct lsm_static_call sb_alloc_security[7];\n\tstruct lsm_static_call sb_delete[7];\n\tstruct lsm_static_call sb_free_security[7];\n\tstruct lsm_static_call sb_free_mnt_opts[7];\n\tstruct lsm_static_call sb_eat_lsm_opts[7];\n\tstruct lsm_static_call sb_mnt_opts_compat[7];\n\tstruct lsm_static_call sb_remount[7];\n\tstruct lsm_static_call sb_kern_mount[7];\n\tstruct lsm_static_call sb_show_options[7];\n\tstruct lsm_static_call sb_statfs[7];\n\tstruct lsm_static_call sb_mount[7];\n\tstruct lsm_static_call sb_umount[7];\n\tstruct lsm_static_call sb_pivotroot[7];\n\tstruct lsm_static_call sb_set_mnt_opts[7];\n\tstruct lsm_static_call sb_clone_mnt_opts[7];\n\tstruct lsm_static_call move_mount[7];\n\tstruct lsm_static_call dentry_init_security[7];\n\tstruct lsm_static_call dentry_create_files_as[7];\n\tstruct lsm_static_call path_unlink[7];\n\tstruct lsm_static_call path_mkdir[7];\n\tstruct lsm_static_call path_rmdir[7];\n\tstruct lsm_static_call path_mknod[7];\n\tstruct lsm_static_call path_post_mknod[7];\n\tstruct lsm_static_call path_truncate[7];\n\tstruct lsm_static_call path_symlink[7];\n\tstruct lsm_static_call path_link[7];\n\tstruct lsm_static_call path_rename[7];\n\tstruct lsm_static_call path_chmod[7];\n\tstruct lsm_static_call path_chown[7];\n\tstruct lsm_static_call path_chroot[7];\n\tstruct lsm_static_call path_notify[7];\n\tstruct lsm_static_call inode_alloc_security[7];\n\tstruct lsm_static_call inode_free_security[7];\n\tstruct lsm_static_call inode_free_security_rcu[7];\n\tstruct lsm_static_call inode_init_security[7];\n\tstruct lsm_static_call inode_init_security_anon[7];\n\tstruct lsm_static_call inode_create[7];\n\tstruct lsm_static_call inode_post_create_tmpfile[7];\n\tstruct lsm_static_call inode_link[7];\n\tstruct lsm_static_call inode_unlink[7];\n\tstruct lsm_static_call inode_symlink[7];\n\tstruct lsm_static_call inode_mkdir[7];\n\tstruct lsm_static_call inode_rmdir[7];\n\tstruct lsm_static_call inode_mknod[7];\n\tstruct lsm_static_call inode_rename[7];\n\tstruct lsm_static_call inode_readlink[7];\n\tstruct lsm_static_call inode_follow_link[7];\n\tstruct lsm_static_call inode_permission[7];\n\tstruct lsm_static_call inode_setattr[7];\n\tstruct lsm_static_call inode_post_setattr[7];\n\tstruct lsm_static_call inode_getattr[7];\n\tstruct lsm_static_call inode_xattr_skipcap[7];\n\tstruct lsm_static_call inode_setxattr[7];\n\tstruct lsm_static_call inode_post_setxattr[7];\n\tstruct lsm_static_call inode_getxattr[7];\n\tstruct lsm_static_call inode_listxattr[7];\n\tstruct lsm_static_call inode_removexattr[7];\n\tstruct lsm_static_call inode_post_removexattr[7];\n\tstruct lsm_static_call inode_set_acl[7];\n\tstruct lsm_static_call inode_post_set_acl[7];\n\tstruct lsm_static_call inode_get_acl[7];\n\tstruct lsm_static_call inode_remove_acl[7];\n\tstruct lsm_static_call inode_post_remove_acl[7];\n\tstruct lsm_static_call inode_need_killpriv[7];\n\tstruct lsm_static_call inode_killpriv[7];\n\tstruct lsm_static_call inode_getsecurity[7];\n\tstruct lsm_static_call inode_setsecurity[7];\n\tstruct lsm_static_call inode_listsecurity[7];\n\tstruct lsm_static_call inode_getlsmprop[7];\n\tstruct lsm_static_call inode_copy_up[7];\n\tstruct lsm_static_call inode_copy_up_xattr[7];\n\tstruct lsm_static_call inode_setintegrity[7];\n\tstruct lsm_static_call kernfs_init_security[7];\n\tstruct lsm_static_call file_permission[7];\n\tstruct lsm_static_call file_alloc_security[7];\n\tstruct lsm_static_call file_release[7];\n\tstruct lsm_static_call file_free_security[7];\n\tstruct lsm_static_call file_ioctl[7];\n\tstruct lsm_static_call file_ioctl_compat[7];\n\tstruct lsm_static_call mmap_addr[7];\n\tstruct lsm_static_call mmap_file[7];\n\tstruct lsm_static_call file_mprotect[7];\n\tstruct lsm_static_call file_lock[7];\n\tstruct lsm_static_call file_fcntl[7];\n\tstruct lsm_static_call file_set_fowner[7];\n\tstruct lsm_static_call file_send_sigiotask[7];\n\tstruct lsm_static_call file_receive[7];\n\tstruct lsm_static_call file_open[7];\n\tstruct lsm_static_call file_post_open[7];\n\tstruct lsm_static_call file_truncate[7];\n\tstruct lsm_static_call task_alloc[7];\n\tstruct lsm_static_call task_free[7];\n\tstruct lsm_static_call cred_alloc_blank[7];\n\tstruct lsm_static_call cred_free[7];\n\tstruct lsm_static_call cred_prepare[7];\n\tstruct lsm_static_call cred_transfer[7];\n\tstruct lsm_static_call cred_getsecid[7];\n\tstruct lsm_static_call cred_getlsmprop[7];\n\tstruct lsm_static_call kernel_act_as[7];\n\tstruct lsm_static_call kernel_create_files_as[7];\n\tstruct lsm_static_call kernel_module_request[7];\n\tstruct lsm_static_call kernel_load_data[7];\n\tstruct lsm_static_call kernel_post_load_data[7];\n\tstruct lsm_static_call kernel_read_file[7];\n\tstruct lsm_static_call kernel_post_read_file[7];\n\tstruct lsm_static_call task_fix_setuid[7];\n\tstruct lsm_static_call task_fix_setgid[7];\n\tstruct lsm_static_call task_fix_setgroups[7];\n\tstruct lsm_static_call task_setpgid[7];\n\tstruct lsm_static_call task_getpgid[7];\n\tstruct lsm_static_call task_getsid[7];\n\tstruct lsm_static_call current_getlsmprop_subj[7];\n\tstruct lsm_static_call task_getlsmprop_obj[7];\n\tstruct lsm_static_call task_setnice[7];\n\tstruct lsm_static_call task_setioprio[7];\n\tstruct lsm_static_call task_getioprio[7];\n\tstruct lsm_static_call task_prlimit[7];\n\tstruct lsm_static_call task_setrlimit[7];\n\tstruct lsm_static_call task_setscheduler[7];\n\tstruct lsm_static_call task_getscheduler[7];\n\tstruct lsm_static_call task_movememory[7];\n\tstruct lsm_static_call task_kill[7];\n\tstruct lsm_static_call task_prctl[7];\n\tstruct lsm_static_call task_to_inode[7];\n\tstruct lsm_static_call userns_create[7];\n\tstruct lsm_static_call ipc_permission[7];\n\tstruct lsm_static_call ipc_getlsmprop[7];\n\tstruct lsm_static_call msg_msg_alloc_security[7];\n\tstruct lsm_static_call msg_msg_free_security[7];\n\tstruct lsm_static_call msg_queue_alloc_security[7];\n\tstruct lsm_static_call msg_queue_free_security[7];\n\tstruct lsm_static_call msg_queue_associate[7];\n\tstruct lsm_static_call msg_queue_msgctl[7];\n\tstruct lsm_static_call msg_queue_msgsnd[7];\n\tstruct lsm_static_call msg_queue_msgrcv[7];\n\tstruct lsm_static_call shm_alloc_security[7];\n\tstruct lsm_static_call shm_free_security[7];\n\tstruct lsm_static_call shm_associate[7];\n\tstruct lsm_static_call shm_shmctl[7];\n\tstruct lsm_static_call shm_shmat[7];\n\tstruct lsm_static_call sem_alloc_security[7];\n\tstruct lsm_static_call sem_free_security[7];\n\tstruct lsm_static_call sem_associate[7];\n\tstruct lsm_static_call sem_semctl[7];\n\tstruct lsm_static_call sem_semop[7];\n\tstruct lsm_static_call netlink_send[7];\n\tstruct lsm_static_call d_instantiate[7];\n\tstruct lsm_static_call getselfattr[7];\n\tstruct lsm_static_call setselfattr[7];\n\tstruct lsm_static_call getprocattr[7];\n\tstruct lsm_static_call setprocattr[7];\n\tstruct lsm_static_call ismaclabel[7];\n\tstruct lsm_static_call secid_to_secctx[7];\n\tstruct lsm_static_call lsmprop_to_secctx[7];\n\tstruct lsm_static_call secctx_to_secid[7];\n\tstruct lsm_static_call release_secctx[7];\n\tstruct lsm_static_call inode_invalidate_secctx[7];\n\tstruct lsm_static_call inode_notifysecctx[7];\n\tstruct lsm_static_call inode_setsecctx[7];\n\tstruct lsm_static_call inode_getsecctx[7];\n\tstruct lsm_static_call unix_stream_connect[7];\n\tstruct lsm_static_call unix_may_send[7];\n\tstruct lsm_static_call socket_create[7];\n\tstruct lsm_static_call socket_post_create[7];\n\tstruct lsm_static_call socket_socketpair[7];\n\tstruct lsm_static_call socket_bind[7];\n\tstruct lsm_static_call socket_connect[7];\n\tstruct lsm_static_call socket_listen[7];\n\tstruct lsm_static_call socket_accept[7];\n\tstruct lsm_static_call socket_sendmsg[7];\n\tstruct lsm_static_call socket_recvmsg[7];\n\tstruct lsm_static_call socket_getsockname[7];\n\tstruct lsm_static_call socket_getpeername[7];\n\tstruct lsm_static_call socket_getsockopt[7];\n\tstruct lsm_static_call socket_setsockopt[7];\n\tstruct lsm_static_call socket_shutdown[7];\n\tstruct lsm_static_call socket_sock_rcv_skb[7];\n\tstruct lsm_static_call socket_getpeersec_stream[7];\n\tstruct lsm_static_call socket_getpeersec_dgram[7];\n\tstruct lsm_static_call sk_alloc_security[7];\n\tstruct lsm_static_call sk_free_security[7];\n\tstruct lsm_static_call sk_clone_security[7];\n\tstruct lsm_static_call sk_getsecid[7];\n\tstruct lsm_static_call sock_graft[7];\n\tstruct lsm_static_call inet_conn_request[7];\n\tstruct lsm_static_call inet_csk_clone[7];\n\tstruct lsm_static_call inet_conn_established[7];\n\tstruct lsm_static_call secmark_relabel_packet[7];\n\tstruct lsm_static_call secmark_refcount_inc[7];\n\tstruct lsm_static_call secmark_refcount_dec[7];\n\tstruct lsm_static_call req_classify_flow[7];\n\tstruct lsm_static_call tun_dev_alloc_security[7];\n\tstruct lsm_static_call tun_dev_create[7];\n\tstruct lsm_static_call tun_dev_attach_queue[7];\n\tstruct lsm_static_call tun_dev_attach[7];\n\tstruct lsm_static_call tun_dev_open[7];\n\tstruct lsm_static_call sctp_assoc_request[7];\n\tstruct lsm_static_call sctp_bind_connect[7];\n\tstruct lsm_static_call sctp_sk_clone[7];\n\tstruct lsm_static_call sctp_assoc_established[7];\n\tstruct lsm_static_call mptcp_add_subflow[7];\n\tstruct lsm_static_call key_alloc[7];\n\tstruct lsm_static_call key_permission[7];\n\tstruct lsm_static_call key_getsecurity[7];\n\tstruct lsm_static_call key_post_create_or_update[7];\n\tstruct lsm_static_call audit_rule_init[7];\n\tstruct lsm_static_call audit_rule_known[7];\n\tstruct lsm_static_call audit_rule_match[7];\n\tstruct lsm_static_call audit_rule_free[7];\n\tstruct lsm_static_call bpf[7];\n\tstruct lsm_static_call bpf_map[7];\n\tstruct lsm_static_call bpf_prog[7];\n\tstruct lsm_static_call bpf_map_create[7];\n\tstruct lsm_static_call bpf_map_free[7];\n\tstruct lsm_static_call bpf_prog_load[7];\n\tstruct lsm_static_call bpf_prog_free[7];\n\tstruct lsm_static_call bpf_token_create[7];\n\tstruct lsm_static_call bpf_token_free[7];\n\tstruct lsm_static_call bpf_token_cmd[7];\n\tstruct lsm_static_call bpf_token_capable[7];\n\tstruct lsm_static_call locked_down[7];\n\tstruct lsm_static_call perf_event_open[7];\n\tstruct lsm_static_call perf_event_alloc[7];\n\tstruct lsm_static_call perf_event_read[7];\n\tstruct lsm_static_call perf_event_write[7];\n\tstruct lsm_static_call uring_override_creds[7];\n\tstruct lsm_static_call uring_sqpoll[7];\n\tstruct lsm_static_call uring_cmd[7];\n\tstruct lsm_static_call initramfs_populated[7];\n\tstruct lsm_static_call bdev_alloc_security[7];\n\tstruct lsm_static_call bdev_free_security[7];\n\tstruct lsm_static_call bdev_setintegrity[7];\n};\n\nstruct ltchars {\n\tchar t_suspc;\n\tchar t_dsuspc;\n\tchar t_rprntc;\n\tchar t_flushc;\n\tchar t_werasc;\n\tchar t_lnextc;\n};\n\nstruct lwq {\n\tspinlock_t lock;\n\tstruct llist_node *ready;\n\tstruct llist_head new;\n};\n\nstruct lwq_node {\n\tstruct llist_node node;\n};\n\nstruct lwtunnel_encap_ops {\n\tint (*build_state)(struct net *, struct nlattr *, unsigned int, const void *, struct lwtunnel_state **, struct netlink_ext_ack *);\n\tvoid (*destroy_state)(struct lwtunnel_state *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*input)(struct sk_buff *);\n\tint (*fill_encap)(struct sk_buff *, struct lwtunnel_state *);\n\tint (*get_encap_size)(struct lwtunnel_state *);\n\tint (*cmp_encap)(struct lwtunnel_state *, struct lwtunnel_state *);\n\tint (*xmit)(struct sk_buff *);\n\tstruct module *owner;\n};\n\nstruct lwtunnel_state {\n\t__u16 type;\n\t__u16 flags;\n\t__u16 headroom;\n\tatomic_t refcnt;\n\tint (*orig_output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*orig_input)(struct sk_buff *);\n\tstruct callback_head rcu;\n\t__u8 data[0];\n};\n\nstruct lzma2_dec {\n\tenum lzma2_seq sequence;\n\tenum lzma2_seq next_sequence;\n\tuint32_t uncompressed;\n\tuint32_t compressed;\n\tbool need_dict_reset;\n\tbool need_props;\n};\n\nstruct lzma_len_dec {\n\tuint16_t choice;\n\tuint16_t choice2;\n\tuint16_t low[128];\n\tuint16_t mid[128];\n\tuint16_t high[256];\n};\n\nstruct lzma_dec {\n\tuint32_t rep0;\n\tuint32_t rep1;\n\tuint32_t rep2;\n\tuint32_t rep3;\n\tenum lzma_state state;\n\tuint32_t len;\n\tuint32_t lc;\n\tuint32_t literal_pos_mask;\n\tuint32_t pos_mask;\n\tuint16_t is_match[192];\n\tuint16_t is_rep[12];\n\tuint16_t is_rep0[12];\n\tuint16_t is_rep1[12];\n\tuint16_t is_rep2[12];\n\tuint16_t is_rep0_long[192];\n\tuint16_t dist_slot[256];\n\tuint16_t dist_special[114];\n\tuint16_t dist_align[16];\n\tstruct lzma_len_dec match_len_dec;\n\tstruct lzma_len_dec rep_len_dec;\n\tuint16_t literal[12288];\n};\n\nstruct lzma_header {\n\tuint8_t pos;\n\tuint32_t dict_size;\n\tuint64_t dst_size;\n} __attribute__((packed));\n\nstruct lzo_ctx {\n\tvoid *lzo_comp_mem;\n};\n\nstruct lzorle_ctx {\n\tvoid *lzorle_comp_mem;\n};\n\nstruct ma_topiary {\n\tstruct maple_enode *head;\n\tstruct maple_enode *tail;\n\tstruct maple_tree *mtree;\n};\n\nstruct maple_node;\n\nstruct ma_wr_state {\n\tstruct ma_state *mas;\n\tstruct maple_node *node;\n\tlong unsigned int r_min;\n\tlong unsigned int r_max;\n\tenum maple_type type;\n\tunsigned char offset_end;\n\tlong unsigned int *pivots;\n\tlong unsigned int end_piv;\n\tvoid **slots;\n\tvoid *entry;\n\tvoid *content;\n};\n\nstruct mac_addr {\n\tunsigned char addr[6];\n};\n\ntypedef struct mac_addr mac_addr;\n\nstruct pci_host_bridge;\n\nstruct rtc_time;\n\nstruct machdep_calls {\n\tconst char *name;\n\tconst char *compatible;\n\tconst char * const *compatibles;\n\tvoid (*iommu_restore)(void);\n\tlong unsigned int (*memory_block_size)(void);\n\tvoid (*dma_set_mask)(struct device *, u64);\n\tint (*probe)(void);\n\tvoid (*setup_arch)(void);\n\tvoid (*show_cpuinfo)(struct seq_file *);\n\tlong unsigned int (*get_proc_freq)(unsigned int);\n\tvoid (*init_IRQ)(void);\n\tunsigned int (*get_irq)(void);\n\tvoid (*pcibios_fixup)(void);\n\tvoid (*pci_irq_fixup)(struct pci_dev *);\n\tint (*pcibios_root_bridge_prepare)(struct pci_host_bridge *);\n\tvoid (*discover_phbs)(void);\n\tint (*pci_setup_phb)(struct pci_controller *);\n\tvoid (*restart)(char *);\n\tvoid (*halt)(void);\n\tvoid (*panic)(char *);\n\tlong int (*time_init)(void);\n\tint (*set_rtc_time)(struct rtc_time *);\n\tvoid (*get_rtc_time)(struct rtc_time *);\n\ttime64_t (*get_boot_time)(void);\n\tvoid (*calibrate_decr)(void);\n\tvoid (*progress)(char *, short unsigned int);\n\tvoid (*log_error)(char *, unsigned int, int);\n\tunsigned char (*nvram_read_val)(int);\n\tvoid (*nvram_write_val)(int, unsigned char);\n\tssize_t (*nvram_write)(char *, size_t, loff_t *);\n\tssize_t (*nvram_read)(char *, size_t, loff_t *);\n\tssize_t (*nvram_size)(void);\n\tvoid (*nvram_sync)(void);\n\tint (*system_reset_exception)(struct pt_regs *);\n\tint (*machine_check_exception)(struct pt_regs *);\n\tint (*handle_hmi_exception)(struct pt_regs *);\n\tint (*hmi_exception_early)(struct pt_regs *);\n\tlong int (*machine_check_early)(struct pt_regs *);\n\tbool (*mce_check_early_recovery)(struct pt_regs *);\n\tvoid (*machine_check_log_err)(void);\n\tlong int (*feature_call)(unsigned int, ...);\n\tint (*pci_get_legacy_ide_irq)(struct pci_dev *, int);\n\tpgprot_t (*phys_mem_access_prot)(long unsigned int, long unsigned int, pgprot_t);\n\tvoid (*power_save)(void);\n\tvoid (*enable_pmcs)(void);\n\tint (*set_dabr)(long unsigned int, long unsigned int);\n\tint (*set_dawr)(int, long unsigned int, long unsigned int);\n\tint (*pci_exclude_device)(struct pci_controller *, unsigned char, unsigned char);\n\tvoid (*pcibios_fixup_resources)(struct pci_dev *);\n\tvoid (*pcibios_fixup_bus)(struct pci_bus *);\n\tvoid (*pcibios_fixup_phb)(struct pci_controller *);\n\tvoid (*pcibios_bus_add_device)(struct pci_dev *);\n\tresource_size_t (*pcibios_default_alignment)(void);\n\tvoid (*machine_shutdown)(void);\n\tvoid (*kexec_cpu_down)(int, int);\n\tvoid (*machine_kexec)(struct kimage *);\n\tvoid (*suspend_disable_irqs)(void);\n\tvoid (*suspend_enable_irqs)(void);\n\tssize_t (*cpu_probe)(const char *, size_t);\n\tssize_t (*cpu_release)(const char *, size_t);\n\tint (*get_random_seed)(long unsigned int *);\n};\n\nstruct macsec_info {\n\tsci_t sci;\n};\n\nstruct mad_common {\n\t__be32 type;\n\t__be16 status;\n\t__be16 length;\n\t__be64 tag;\n};\n\nstruct viosrp_empty_iu {\n\tstruct mad_common common;\n\t__be64 buffer;\n\t__be32 port;\n};\n\nstruct viosrp_error_log {\n\tstruct mad_common common;\n\t__be64 buffer;\n};\n\nstruct viosrp_adapter_info {\n\tstruct mad_common common;\n\t__be64 buffer;\n};\n\nstruct viosrp_fast_fail {\n\tstruct mad_common common;\n};\n\nstruct viosrp_capabilities {\n\tstruct mad_common common;\n\t__be64 buffer;\n};\n\nunion mad_iu {\n\tstruct viosrp_empty_iu empty_iu;\n\tstruct viosrp_error_log error_log;\n\tstruct viosrp_adapter_info adapter_info;\n\tstruct viosrp_fast_fail fast_fail;\n\tstruct viosrp_capabilities capabilities;\n};\n\nstruct mmu_gather;\n\nstruct madvise_walk_private {\n\tstruct mmu_gather *tlb;\n\tbool pageout;\n};\n\nstruct manage_flash_t {\n\tint status;\n};\n\nstruct map_files_info {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tfmode_t mode;\n};\n\nstruct map_info___2 {\n\tstruct map_info___2 *next;\n\tstruct mm_struct *mm;\n\tlong unsigned int vaddr;\n};\n\nstruct map_iter {\n\tvoid *key;\n\tbool done;\n};\n\nstruct maple_alloc {\n\tlong unsigned int total;\n\tunsigned char node_count;\n\tunsigned int request_count;\n\tstruct maple_alloc *slot[30];\n};\n\nstruct maple_pnode;\n\nstruct maple_metadata {\n\tunsigned char end;\n\tunsigned char gap;\n};\n\nstruct maple_arange_64 {\n\tstruct maple_pnode *parent;\n\tlong unsigned int pivot[9];\n\tvoid *slot[10];\n\tlong unsigned int gap[10];\n\tstruct maple_metadata meta;\n};\n\nstruct maple_big_node {\n\tlong unsigned int pivot[33];\n\tunion {\n\t\tstruct maple_enode *slot[34];\n\t\tstruct {\n\t\t\tlong unsigned int padding[21];\n\t\t\tlong unsigned int gap[21];\n\t\t};\n\t};\n\tunsigned char b_end;\n\tenum maple_type type;\n};\n\nstruct maple_range_64 {\n\tstruct maple_pnode *parent;\n\tlong unsigned int pivot[15];\n\tunion {\n\t\tvoid *slot[16];\n\t\tstruct {\n\t\t\tvoid *pad[15];\n\t\t\tstruct maple_metadata meta;\n\t\t};\n\t};\n};\n\nstruct maple_node {\n\tunion {\n\t\tstruct {\n\t\t\tstruct maple_pnode *parent;\n\t\t\tvoid *slot[31];\n\t\t};\n\t\tstruct {\n\t\t\tvoid *pad;\n\t\t\tstruct callback_head rcu;\n\t\t\tstruct maple_enode *piv_parent;\n\t\t\tunsigned char parent_slot;\n\t\t\tenum maple_type type;\n\t\t\tunsigned char slot_len;\n\t\t\tunsigned int ma_flags;\n\t\t};\n\t\tstruct maple_range_64 mr64;\n\t\tstruct maple_arange_64 ma64;\n\t\tstruct maple_alloc alloc;\n\t};\n};\n\nstruct maple_subtree_state {\n\tstruct ma_state *orig_l;\n\tstruct ma_state *orig_r;\n\tstruct ma_state *l;\n\tstruct ma_state *m;\n\tstruct ma_state *r;\n\tstruct ma_topiary *free;\n\tstruct ma_topiary *destroy;\n\tstruct maple_big_node *bn;\n};\n\nstruct maple_topiary {\n\tstruct maple_pnode *parent;\n\tstruct maple_enode *next;\n};\n\nstruct maple_tree {\n\tunion {\n\t\tspinlock_t ma_lock;\n\t\tlockdep_map_p ma_external_lock;\n\t};\n\tunsigned int ma_flags;\n\tvoid *ma_root;\n};\n\nstruct mapped_device {\n\tstruct mutex suspend_lock;\n\tstruct mutex table_devices_lock;\n\tstruct list_head table_devices;\n\tvoid *map;\n\tlong unsigned int flags;\n\tstruct mutex type_lock;\n\tenum dm_queue_mode type;\n\tint numa_node_id;\n\tstruct request_queue *queue;\n\tatomic_t holders;\n\tatomic_t open_count;\n\tstruct dm_target *immutable_target;\n\tstruct target_type *immutable_target_type;\n\tchar name[16];\n\tstruct gendisk *disk;\n\tstruct dax_device *dax_dev;\n\twait_queue_head_t wait;\n\tlong unsigned int *pending_io;\n\tstruct hd_geometry geometry;\n\tstruct workqueue_struct *wq;\n\tstruct work_struct work;\n\tspinlock_t deferred_lock;\n\tstruct bio_list deferred;\n\tstruct work_struct requeue_work;\n\tstruct dm_io *requeue_list;\n\tvoid *interface_ptr;\n\twait_queue_head_t eventq;\n\tatomic_t event_nr;\n\tatomic_t uevent_seq;\n\tstruct list_head uevent_list;\n\tspinlock_t uevent_lock;\n\tbool init_tio_pdu: 1;\n\tstruct blk_mq_tag_set *tag_set;\n\tstruct dm_stats stats;\n\tunsigned int internal_suspend_count;\n\tint swap_bios;\n\tstruct semaphore swap_bios_semaphore;\n\tstruct mutex swap_bios_lock;\n\tstruct dm_md_mempools *mempools;\n\tstruct dm_kobject_holder kobj_holder;\n\tstruct srcu_struct io_barrier;\n\tstruct dm_ima_measurements ima;\n};\n\nstruct mapping_area {\n\tlocal_lock_t lock;\n\tchar *vm_buf;\n\tchar *vm_addr;\n\tenum zs_mapmode vm_mm;\n};\n\nstruct marvell_hw_stat {\n\tconst char *string;\n\tu8 page;\n\tu8 reg;\n\tu8 bits;\n};\n\nstruct marvell_hw_stat_simple {\n\tconst char *string;\n\tu8 reg;\n\tu8 bits;\n};\n\nstruct marvell_hwmon_ops {\n\tint (*config)(struct phy_device *);\n\tint (*get_temp)(struct phy_device *, long int *);\n\tint (*get_temp_critical)(struct phy_device *, long int *);\n\tint (*set_temp_critical)(struct phy_device *, long int);\n\tint (*get_temp_alarm)(struct phy_device *, long int *);\n};\n\nstruct marvell_led_rules {\n\tint mode;\n\tlong unsigned int rules;\n};\n\nstruct marvell_priv {\n\tu64 stats[3];\n\tchar *hwmon_name;\n\tstruct device *hwmon_dev;\n\tbool cable_test_tdr;\n\tu32 first;\n\tu32 last;\n\tu32 step;\n\ts8 pair;\n\tu8 vct_phase;\n};\n\nstruct match_token {\n\tint token;\n\tconst char *pattern;\n};\n\nstruct matrox_DAC1064_features {\n\tu_int8_t xvrefctrl;\n\tu_int8_t xmiscctrl;\n};\n\nstruct matrox_accel_data {\n\tunsigned char ramdac_rev;\n\tu_int32_t m_dwg_rect;\n\tu_int32_t m_opmode;\n\tu_int32_t m_access;\n\tu_int32_t m_pitch;\n};\n\nstruct my_timming;\n\nstruct v4l2_queryctrl;\n\nstruct v4l2_control;\n\nstruct matrox_altout {\n\tconst char *name;\n\tint (*compute)(void *, struct my_timming *);\n\tint (*program)(void *);\n\tint (*start)(void *);\n\tint (*verifymode)(void *, u_int32_t);\n\tint (*getqueryctrl)(void *, struct v4l2_queryctrl *);\n\tint (*getctrl)(void *, struct v4l2_control *);\n\tint (*setctrl)(void *, struct v4l2_control *);\n};\n\nstruct matrox_bios {\n\tunsigned int bios_valid: 1;\n\tunsigned int pins_len;\n\tunsigned char pins[128];\n\tstruct {\n\t\tunsigned char vMaj;\n\t\tunsigned char vMin;\n\t\tunsigned char vRev;\n\t} version;\n\tstruct {\n\t\tunsigned char state;\n\t\tunsigned char tvout;\n\t} output;\n};\n\nstruct matrox_crtc2 {\n\tu_int32_t ctl;\n};\n\nstruct matroxfb_par {\n\tunsigned int final_bppShift;\n\tunsigned int cmap_len;\n\tstruct {\n\t\tunsigned int bytes;\n\t\tunsigned int pixels;\n\t\tunsigned int chunks;\n\t} ydstorg;\n};\n\nstruct mavenregs {\n\tu_int8_t regs[256];\n\tint mode;\n\tint vlines;\n\tint xtal;\n\tint fv;\n\tu_int16_t htotal;\n\tu_int16_t hcorr;\n};\n\nstruct matrox_hw_state {\n\tu_int32_t MXoptionReg;\n\tunsigned char DACclk[6];\n\tunsigned char DACreg[80];\n\tunsigned char MiscOutReg;\n\tunsigned char DACpal[768];\n\tunsigned char CRTC[25];\n\tunsigned char CRTCEXT[9];\n\tunsigned char SEQ[5];\n\tunsigned char GCTL[9];\n\tunsigned char ATTR[21];\n\tstruct mavenregs maven;\n\tstruct matrox_crtc2 crtc2;\n};\n\nstruct matrox_vsync {\n\twait_queue_head_t wait;\n\tunsigned int cnt;\n};\n\nstruct matrox_pll_features {\n\tunsigned int vco_freq_min;\n\tunsigned int ref_freq;\n\tunsigned int feed_div_min;\n\tunsigned int feed_div_max;\n\tunsigned int in_div_min;\n\tunsigned int in_div_max;\n\tunsigned int post_shift_max;\n};\n\nstruct matrox_pll_limits {\n\tunsigned int vcomin;\n\tunsigned int vcomax;\n};\n\nstruct matrox_pll_cache {\n\tunsigned int valid;\n\tstruct {\n\t\tunsigned int mnp_key;\n\t\tunsigned int mnp_value;\n\t} data[4];\n};\n\nstruct matroxfb_dh_fb_info;\n\nstruct matroxfb_driver;\n\nstruct matrox_switch;\n\nstruct matrox_fb_info {\n\tstruct fb_info fbcon;\n\tstruct list_head next_fb;\n\tint dead;\n\tint initialized;\n\tunsigned int usecount;\n\tunsigned int userusecount;\n\tlong unsigned int irq_flags;\n\tstruct matroxfb_par curr;\n\tstruct matrox_hw_state hw;\n\tstruct matrox_accel_data accel;\n\tstruct pci_dev *pcidev;\n\tstruct {\n\t\tstruct matrox_vsync vsync;\n\t\tunsigned int pixclock;\n\t\tint mnp;\n\t\tint panpos;\n\t} crtc1;\n\tstruct {\n\t\tstruct matrox_vsync vsync;\n\t\tunsigned int pixclock;\n\t\tint mnp;\n\t\tstruct matroxfb_dh_fb_info *info;\n\t\tstruct rw_semaphore lock;\n\t} crtc2;\n\tstruct {\n\t\tstruct rw_semaphore lock;\n\t\tstruct {\n\t\t\tint brightness;\n\t\t\tint contrast;\n\t\t\tint saturation;\n\t\t\tint hue;\n\t\t\tint gamma;\n\t\t\tint testout;\n\t\t\tint deflicker;\n\t\t} tvo_params;\n\t} altout;\n\tstruct {\n\t\tunsigned int src;\n\t\tstruct matrox_altout *output;\n\t\tvoid *data;\n\t\tunsigned int mode;\n\t\tunsigned int default_src;\n\t} outputs[3];\n\tstruct matroxfb_driver *drivers[5];\n\tvoid *drivers_data[5];\n\tunsigned int drivers_count;\n\tstruct {\n\t\tlong unsigned int base;\n\t\tvaddr_t vbase;\n\t\tunsigned int len;\n\t\tunsigned int len_usable;\n\t\tunsigned int len_maximum;\n\t} video;\n\tstruct {\n\t\tlong unsigned int base;\n\t\tvaddr_t vbase;\n\t\tunsigned int len;\n\t} mmio;\n\tunsigned int max_pixel_clock;\n\tunsigned int max_pixel_clock_panellink;\n\tstruct matrox_switch *hw_switch;\n\tstruct {\n\t\tstruct matrox_pll_features pll;\n\t\tstruct matrox_DAC1064_features DAC1064;\n\t} features;\n\tstruct {\n\t\tspinlock_t DAC;\n\t\tspinlock_t accel;\n\t} lock;\n\tenum mga_chip chip;\n\tint interleave;\n\tint millenium;\n\tint milleniumII;\n\tstruct {\n\t\tint cfb4;\n\t\tconst int *vxres;\n\t\tint cross4MB;\n\t\tint text;\n\t\tint plnwt;\n\t\tint srcorg;\n\t} capable;\n\tint wc_cookie;\n\tstruct {\n\t\tint precise_width;\n\t\tint mga_24bpp_fix;\n\t\tint novga;\n\t\tint nobios;\n\t\tint nopciretry;\n\t\tint noinit;\n\t\tint sgram;\n\t\tint support32MB;\n\t\tint accelerator;\n\t\tint text_type_aux;\n\t\tint video64bits;\n\t\tint crtc2;\n\t\tint maven_capable;\n\t\tunsigned int vgastep;\n\t\tunsigned int textmode;\n\t\tunsigned int textstep;\n\t\tunsigned int textvram;\n\t\tunsigned int ydstorg;\n\t\tint memtype;\n\t\tint g450dac;\n\t\tint dfp_type;\n\t\tint panellink;\n\t\tint dualhead;\n\t\tunsigned int fbResource;\n\t} devflags;\n\tstruct fb_ops fbops;\n\tstruct matrox_bios bios;\n\tstruct {\n\t\tstruct matrox_pll_limits pixel;\n\t\tstruct matrox_pll_limits system;\n\t\tstruct matrox_pll_limits video;\n\t} limits;\n\tstruct {\n\t\tstruct matrox_pll_cache pixel;\n\t\tstruct matrox_pll_cache system;\n\t\tstruct matrox_pll_cache video;\n\t} cache;\n\tstruct {\n\t\tstruct {\n\t\t\tunsigned int video;\n\t\t\tunsigned int system;\n\t\t} pll;\n\t\tstruct {\n\t\t\tu_int32_t opt;\n\t\t\tu_int32_t opt2;\n\t\t\tu_int32_t opt3;\n\t\t\tu_int32_t mctlwtst;\n\t\t\tu_int32_t mctlwtst_core;\n\t\t\tu_int32_t memmisc;\n\t\t\tu_int32_t memrdbk;\n\t\t\tu_int32_t maccess;\n\t\t} reg;\n\t\tstruct {\n\t\t\tunsigned int ddr: 1;\n\t\t\tunsigned int emrswen: 1;\n\t\t\tunsigned int dll: 1;\n\t\t} memory;\n\t} values;\n\tu_int32_t cmap[16];\n};\n\nstruct matrox_switch {\n\tint (*preinit)(struct matrox_fb_info *);\n\tvoid (*reset)(struct matrox_fb_info *);\n\tint (*init)(struct matrox_fb_info *, struct my_timming *);\n\tvoid (*restore)(struct matrox_fb_info *);\n};\n\nstruct matroxfb_dh_fb_info {\n\tstruct fb_info fbcon;\n\tint fbcon_registered;\n\tint initialized;\n\tstruct matrox_fb_info *primary_dev;\n\tstruct {\n\t\tlong unsigned int base;\n\t\tvaddr_t vbase;\n\t\tunsigned int len;\n\t\tunsigned int len_usable;\n\t\tunsigned int len_maximum;\n\t\tunsigned int offbase;\n\t\tunsigned int borrowed;\n\t} video;\n\tstruct {\n\t\tlong unsigned int base;\n\t\tvaddr_t vbase;\n\t\tunsigned int len;\n\t} mmio;\n\tunsigned int interlaced: 1;\n\tu_int32_t cmap[16];\n};\n\nstruct matroxfb_driver {\n\tstruct list_head node;\n\tchar *name;\n\tvoid * (*probe)(struct matrox_fb_info *);\n\tvoid (*remove)(struct matrox_fb_info *, void *);\n};\n\nstruct matroxioc_output_mode {\n\t__u32 output;\n\t__u32 mode;\n};\n\nstruct maxsynccop_t {\n\t__be32 comp_elements;\n\t__be32 comp_data_limit;\n\t__be32 comp_sg_limit;\n\t__be32 decomp_elements;\n\t__be32 decomp_data_limit;\n\t__be32 decomp_sg_limit;\n};\n\nstruct mb_cache {\n\tstruct hlist_bl_head *c_hash;\n\tint c_bucket_bits;\n\tlong unsigned int c_max_entries;\n\tspinlock_t c_list_lock;\n\tstruct list_head c_list;\n\tlong unsigned int c_entry_count;\n\tstruct shrinker *c_shrink;\n\tstruct work_struct c_shrink_work;\n};\n\nstruct mb_cache_entry {\n\tstruct list_head e_list;\n\tstruct hlist_bl_node e_hash_list;\n\tatomic_t e_refcnt;\n\tu32 e_key;\n\tlong unsigned int e_flags;\n\tu64 e_value;\n};\n\nstruct mbus_dram_window {\n\tu8 cs_index;\n\tu8 mbus_attr;\n\tu64 base;\n\tu64 size;\n};\n\nstruct mbus_dram_target_info {\n\tu8 mbus_dram_target_id;\n\tint num_cs;\n\tstruct mbus_dram_window cs[4];\n};\n\nstruct mc_subled {\n\tunsigned int color_index;\n\tunsigned int brightness;\n\tunsigned int intensity;\n\tunsigned int channel;\n};\n\nstruct mce_derror_table {\n\tlong unsigned int dsisr_value;\n\tbool dar_valid;\n\tunsigned int error_type;\n\tunsigned int error_subtype;\n\tunsigned int error_class;\n\tunsigned int initiator;\n\tunsigned int severity;\n\tbool sync_error;\n};\n\nstruct mce_error_info {\n\tenum MCE_ErrorType error_type: 8;\n\tunion {\n\t\tenum MCE_UeErrorType ue_error_type: 8;\n\t\tenum MCE_SlbErrorType slb_error_type: 8;\n\t\tenum MCE_EratErrorType erat_error_type: 8;\n\t\tenum MCE_TlbErrorType tlb_error_type: 8;\n\t\tenum MCE_UserErrorType user_error_type: 8;\n\t\tenum MCE_RaErrorType ra_error_type: 8;\n\t\tenum MCE_LinkErrorType link_error_type: 8;\n\t} u;\n\tenum MCE_Severity severity: 8;\n\tenum MCE_Initiator initiator: 8;\n\tenum MCE_ErrorClass error_class: 8;\n\tbool sync_error;\n\tbool ignore_event;\n};\n\nstruct mce_ierror_table {\n\tlong unsigned int srr1_mask;\n\tlong unsigned int srr1_value;\n\tbool nip_valid;\n\tunsigned int error_type;\n\tunsigned int error_subtype;\n\tunsigned int error_class;\n\tunsigned int initiator;\n\tunsigned int severity;\n\tbool sync_error;\n};\n\nstruct mce_info {\n\tint mce_nest_count;\n\tstruct machine_check_event mce_event[10];\n\tint mce_queue_count;\n\tstruct machine_check_event mce_event_queue[10];\n\tint mce_ue_count;\n\tstruct machine_check_event mce_ue_event_queue[10];\n};\n\nstruct mcheck_recoverable_range {\n\tu64 start_addr;\n\tu64 end_addr;\n\tu64 recover_addr;\n};\n\nstruct v4l2_queryctrl {\n\t__u32 id;\n\t__u32 type;\n\t__u8 name[32];\n\t__s32 minimum;\n\t__s32 maximum;\n\t__s32 step;\n\t__s32 default_value;\n\t__u32 flags;\n\t__u32 reserved[2];\n};\n\nstruct mctl {\n\tstruct v4l2_queryctrl desc;\n\tsize_t control;\n};\n\nstruct md_bitmap_stats {\n\tu64 events_cleared;\n\tint behind_writes;\n\tbool behind_wait;\n\tlong unsigned int missing_pages;\n\tlong unsigned int file_pages;\n\tlong unsigned int sync_size;\n\tlong unsigned int pages;\n\tstruct file *file;\n};\n\nstruct md_cluster_operations {\n\tint (*join)(struct mddev *, int);\n\tint (*leave)(struct mddev *);\n\tint (*slot_number)(struct mddev *);\n\tint (*resync_info_update)(struct mddev *, sector_t, sector_t);\n\tint (*resync_start_notify)(struct mddev *);\n\tint (*resync_status_get)(struct mddev *);\n\tvoid (*resync_info_get)(struct mddev *, sector_t *, sector_t *);\n\tint (*metadata_update_start)(struct mddev *);\n\tint (*metadata_update_finish)(struct mddev *);\n\tvoid (*metadata_update_cancel)(struct mddev *);\n\tint (*resync_start)(struct mddev *);\n\tint (*resync_finish)(struct mddev *);\n\tint (*area_resyncing)(struct mddev *, int, sector_t, sector_t);\n\tint (*add_new_disk)(struct mddev *, struct md_rdev *);\n\tvoid (*add_new_disk_cancel)(struct mddev *);\n\tint (*new_disk_ack)(struct mddev *, bool);\n\tint (*remove_disk)(struct mddev *, struct md_rdev *);\n\tvoid (*load_bitmaps)(struct mddev *, int);\n\tint (*gather_bitmaps)(struct md_rdev *);\n\tint (*resize_bitmaps)(struct mddev *, sector_t, sector_t);\n\tint (*lock_all_bitmaps)(struct mddev *);\n\tvoid (*unlock_all_bitmaps)(struct mddev *);\n\tvoid (*update_size)(struct mddev *, sector_t);\n};\n\nstruct md_io_clone {\n\tstruct mddev *mddev;\n\tstruct bio *orig_bio;\n\tlong unsigned int start_time;\n\tsector_t offset;\n\tlong unsigned int sectors;\n\tstruct bio bio_clone;\n};\n\nstruct md_personality {\n\tchar *name;\n\tint level;\n\tstruct list_head list;\n\tstruct module *owner;\n\tbool (*make_request)(struct mddev *, struct bio *);\n\tint (*run)(struct mddev *);\n\tint (*start)(struct mddev *);\n\tvoid (*free)(struct mddev *, void *);\n\tvoid (*status)(struct seq_file *, struct mddev *);\n\tvoid (*error_handler)(struct mddev *, struct md_rdev *);\n\tint (*hot_add_disk)(struct mddev *, struct md_rdev *);\n\tint (*hot_remove_disk)(struct mddev *, struct md_rdev *);\n\tint (*spare_active)(struct mddev *);\n\tsector_t (*sync_request)(struct mddev *, sector_t, sector_t, int *);\n\tint (*resize)(struct mddev *, sector_t);\n\tsector_t (*size)(struct mddev *, sector_t, int);\n\tint (*check_reshape)(struct mddev *);\n\tint (*start_reshape)(struct mddev *);\n\tvoid (*finish_reshape)(struct mddev *);\n\tvoid (*update_reshape_pos)(struct mddev *);\n\tvoid (*prepare_suspend)(struct mddev *);\n\tvoid (*quiesce)(struct mddev *, int);\n\tvoid * (*takeover)(struct mddev *);\n\tint (*change_consistency_policy)(struct mddev *, const char *);\n\tvoid (*bitmap_sector)(struct mddev *, sector_t *, long unsigned int *);\n};\n\nstruct serial_in_rdev;\n\nstruct md_rdev {\n\tstruct list_head same_set;\n\tsector_t sectors;\n\tstruct mddev *mddev;\n\tint last_events;\n\tstruct block_device *meta_bdev;\n\tstruct block_device *bdev;\n\tstruct file *bdev_file;\n\tstruct page *sb_page;\n\tstruct page *bb_page;\n\tint sb_loaded;\n\t__u64 sb_events;\n\tsector_t data_offset;\n\tsector_t new_data_offset;\n\tsector_t sb_start;\n\tint sb_size;\n\tint preferred_minor;\n\tstruct kobject kobj;\n\tlong unsigned int flags;\n\twait_queue_head_t blocked_wait;\n\tint desc_nr;\n\tint raid_disk;\n\tint new_raid_disk;\n\tint saved_raid_disk;\n\tunion {\n\t\tsector_t recovery_offset;\n\t\tsector_t journal_tail;\n\t};\n\tatomic_t nr_pending;\n\tatomic_t read_errors;\n\ttime64_t last_read_error;\n\tatomic_t corrected_errors;\n\tstruct serial_in_rdev *serial;\n\tstruct kernfs_node *sysfs_state;\n\tstruct kernfs_node *sysfs_unack_badblocks;\n\tstruct kernfs_node *sysfs_badblocks;\n\tstruct badblocks badblocks;\n\tstruct {\n\t\tshort int offset;\n\t\tunsigned int size;\n\t\tsector_t sector;\n\t} ppl;\n};\n\nstruct md_setup_args {\n\tint minor;\n\tint partitioned;\n\tint level;\n\tint chunk;\n\tchar *device_names;\n};\n\nstruct md_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct mddev *, char *);\n\tssize_t (*store)(struct mddev *, const char *, size_t);\n};\n\nstruct md_thread {\n\tvoid (*run)(struct md_thread *);\n\tstruct mddev *mddev;\n\twait_queue_head_t wqueue;\n\tlong unsigned int flags;\n\tstruct task_struct *tsk;\n\tlong unsigned int timeout;\n\tvoid *private;\n};\n\nstruct md_cluster_info;\n\nstruct mddev {\n\tvoid *private;\n\tstruct md_personality *pers;\n\tdev_t unit;\n\tint md_minor;\n\tstruct list_head disks;\n\tlong unsigned int flags;\n\tlong unsigned int sb_flags;\n\tint suspended;\n\tstruct mutex suspend_mutex;\n\tstruct percpu_ref active_io;\n\tint ro;\n\tint sysfs_active;\n\tstruct gendisk *gendisk;\n\tstruct kobject kobj;\n\tint hold_active;\n\tint major_version;\n\tint minor_version;\n\tint patch_version;\n\tint persistent;\n\tint external;\n\tchar metadata_type[17];\n\tint chunk_sectors;\n\ttime64_t ctime;\n\ttime64_t utime;\n\tint level;\n\tint layout;\n\tchar clevel[16];\n\tint raid_disks;\n\tint max_disks;\n\tsector_t dev_sectors;\n\tsector_t array_sectors;\n\tint external_size;\n\t__u64 events;\n\tint can_decrease_events;\n\tchar uuid[16];\n\tsector_t reshape_position;\n\tint delta_disks;\n\tint new_level;\n\tint new_layout;\n\tint new_chunk_sectors;\n\tint reshape_backwards;\n\tstruct md_thread *thread;\n\tstruct md_thread *sync_thread;\n\tenum sync_action last_sync_action;\n\tsector_t curr_resync;\n\tsector_t curr_resync_completed;\n\tlong unsigned int resync_mark;\n\tsector_t resync_mark_cnt;\n\tsector_t curr_mark_cnt;\n\tsector_t resync_max_sectors;\n\tatomic64_t resync_mismatches;\n\tsector_t suspend_lo;\n\tsector_t suspend_hi;\n\tint sync_speed_min;\n\tint sync_speed_max;\n\tint parallel_resync;\n\tint ok_start_degraded;\n\tlong unsigned int recovery;\n\tint recovery_disabled;\n\tint in_sync;\n\tstruct mutex open_mutex;\n\tstruct mutex reconfig_mutex;\n\tatomic_t active;\n\tatomic_t openers;\n\tint changed;\n\tint degraded;\n\tatomic_t recovery_active;\n\twait_queue_head_t recovery_wait;\n\tsector_t recovery_cp;\n\tsector_t resync_min;\n\tsector_t resync_max;\n\tstruct kernfs_node *sysfs_state;\n\tstruct kernfs_node *sysfs_action;\n\tstruct kernfs_node *sysfs_completed;\n\tstruct kernfs_node *sysfs_degraded;\n\tstruct kernfs_node *sysfs_level;\n\tstruct work_struct del_work;\n\tstruct work_struct sync_work;\n\tspinlock_t lock;\n\twait_queue_head_t sb_wait;\n\tatomic_t pending_writes;\n\tunsigned int safemode;\n\tunsigned int safemode_delay;\n\tstruct timer_list safemode_timer;\n\tstruct percpu_ref writes_pending;\n\tint sync_checkers;\n\tvoid *bitmap;\n\tstruct bitmap_operations *bitmap_ops;\n\tstruct {\n\t\tstruct file *file;\n\t\tloff_t offset;\n\t\tlong unsigned int space;\n\t\tloff_t default_offset;\n\t\tlong unsigned int default_space;\n\t\tstruct mutex mutex;\n\t\tlong unsigned int chunksize;\n\t\tlong unsigned int daemon_sleep;\n\t\tlong unsigned int max_write_behind;\n\t\tint external;\n\t\tint nodes;\n\t\tchar cluster_name[64];\n\t} bitmap_info;\n\tatomic_t max_corr_read_errors;\n\tstruct list_head all_mddevs;\n\tconst struct attribute_group *to_remove;\n\tstruct bio_set bio_set;\n\tstruct bio_set sync_set;\n\tstruct bio_set io_clone_set;\n\tstruct work_struct event_work;\n\tmempool_t *serial_info_pool;\n\tvoid (*sync_super)(struct mddev *, struct md_rdev *);\n\tstruct md_cluster_info *cluster_info;\n\tunsigned int good_device_nr;\n\tunsigned int noio_flag;\n\tstruct list_head deleting;\n\tatomic_t sync_seq;\n\tbool has_superblocks: 1;\n\tbool fail_last_dev: 1;\n\tbool serialize_policy: 1;\n};\n\nstruct mdio_board_info {\n\tconst char *bus_id;\n\tchar modalias[32];\n\tint mdio_addr;\n\tconst void *platform_data;\n};\n\nstruct mdio_board_entry {\n\tstruct list_head list;\n\tstruct mdio_board_info board_info;\n};\n\nstruct mdio_bus_stat_attr {\n\tint addr;\n\tunsigned int field_offset;\n};\n\nstruct mdio_bus_stats {\n\tu64_stats_t transfers;\n\tu64_stats_t errors;\n\tu64_stats_t writes;\n\tu64_stats_t reads;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct mdio_device {\n\tstruct device dev;\n\tstruct mii_bus *bus;\n\tchar modalias[32];\n\tint (*bus_match)(struct device *, const struct device_driver *);\n\tvoid (*device_free)(struct mdio_device *);\n\tvoid (*device_remove)(struct mdio_device *);\n\tint addr;\n\tint flags;\n\tint reset_state;\n\tstruct gpio_desc *reset_gpio;\n\tstruct reset_control *reset_ctrl;\n\tunsigned int reset_assert_delay;\n\tunsigned int reset_deassert_delay;\n};\n\nstruct mdio_device_id {\n\t__u32 phy_id;\n\t__u32 phy_id_mask;\n};\n\nstruct mdio_driver_common {\n\tstruct device_driver driver;\n\tint flags;\n};\n\nstruct mdio_driver {\n\tstruct mdio_driver_common mdiodrv;\n\tint (*probe)(struct mdio_device *);\n\tvoid (*remove)(struct mdio_device *);\n\tvoid (*shutdown)(struct mdio_device *);\n};\n\nstruct mdiobus_devres {\n\tstruct mii_bus *mii;\n};\n\nstruct mdp_device_descriptor_s {\n\t__u32 number;\n\t__u32 major;\n\t__u32 minor;\n\t__u32 raid_disk;\n\t__u32 state;\n\t__u32 reserved[27];\n};\n\ntypedef struct mdp_device_descriptor_s mdp_disk_t;\n\nstruct mdp_superblock_1 {\n\t__le32 magic;\n\t__le32 major_version;\n\t__le32 feature_map;\n\t__le32 pad0;\n\t__u8 set_uuid[16];\n\tchar set_name[32];\n\t__le64 ctime;\n\t__le32 level;\n\t__le32 layout;\n\t__le64 size;\n\t__le32 chunksize;\n\t__le32 raid_disks;\n\tunion {\n\t\t__le32 bitmap_offset;\n\t\tstruct {\n\t\t\t__le16 offset;\n\t\t\t__le16 size;\n\t\t} ppl;\n\t};\n\t__le32 new_level;\n\t__le64 reshape_position;\n\t__le32 delta_disks;\n\t__le32 new_layout;\n\t__le32 new_chunk;\n\t__le32 new_offset;\n\t__le64 data_offset;\n\t__le64 data_size;\n\t__le64 super_offset;\n\tunion {\n\t\t__le64 recovery_offset;\n\t\t__le64 journal_tail;\n\t};\n\t__le32 dev_number;\n\t__le32 cnt_corrected_read;\n\t__u8 device_uuid[16];\n\t__u8 devflags;\n\t__u8 bblog_shift;\n\t__le16 bblog_size;\n\t__le32 bblog_offset;\n\t__le64 utime;\n\t__le64 events;\n\t__le64 resync_offset;\n\t__le32 sb_csum;\n\t__le32 max_dev;\n\t__u8 pad3[32];\n\t__le16 dev_roles[0];\n};\n\nstruct mdp_superblock_s {\n\t__u32 md_magic;\n\t__u32 major_version;\n\t__u32 minor_version;\n\t__u32 patch_version;\n\t__u32 gvalid_words;\n\t__u32 set_uuid0;\n\t__u32 ctime;\n\t__u32 level;\n\t__u32 size;\n\t__u32 nr_disks;\n\t__u32 raid_disks;\n\t__u32 md_minor;\n\t__u32 not_persistent;\n\t__u32 set_uuid1;\n\t__u32 set_uuid2;\n\t__u32 set_uuid3;\n\t__u32 gstate_creserved[16];\n\t__u32 utime;\n\t__u32 state;\n\t__u32 active_disks;\n\t__u32 working_disks;\n\t__u32 failed_disks;\n\t__u32 spare_disks;\n\t__u32 sb_csum;\n\t__u32 events_lo;\n\t__u32 events_hi;\n\t__u32 cp_events_lo;\n\t__u32 cp_events_hi;\n\t__u32 recovery_cp;\n\t__u64 reshape_position;\n\t__u32 new_level;\n\t__u32 delta_disks;\n\t__u32 new_layout;\n\t__u32 new_chunk;\n\t__u32 gstate_sreserved[14];\n\t__u32 layout;\n\t__u32 chunk_size;\n\t__u32 root_pv;\n\t__u32 root_block;\n\t__u32 pstate_reserved[60];\n\tmdp_disk_t disks[27];\n\t__u32 reserved[0];\n\tmdp_disk_t this_disk;\n};\n\ntypedef struct mdp_superblock_s mdp_super_t;\n\nstruct mdu_array_info_s {\n\tint major_version;\n\tint minor_version;\n\tint patch_version;\n\tunsigned int ctime;\n\tint level;\n\tint size;\n\tint nr_disks;\n\tint raid_disks;\n\tint md_minor;\n\tint not_persistent;\n\tunsigned int utime;\n\tint state;\n\tint active_disks;\n\tint working_disks;\n\tint failed_disks;\n\tint spare_disks;\n\tint layout;\n\tint chunk_size;\n};\n\ntypedef struct mdu_array_info_s mdu_array_info_t;\n\nstruct mdu_bitmap_file_s {\n\tchar pathname[4096];\n};\n\ntypedef struct mdu_bitmap_file_s mdu_bitmap_file_t;\n\nstruct mdu_disk_info_s {\n\tint number;\n\tint major;\n\tint minor;\n\tint raid_disk;\n\tint state;\n};\n\ntypedef struct mdu_disk_info_s mdu_disk_info_t;\n\nstruct mdu_version_s {\n\tint major;\n\tint minor;\n\tint patchlevel;\n};\n\ntypedef struct mdu_version_s mdu_version_t;\n\nstruct media_event_desc {\n\t__u8 media_event_code: 4;\n\t__u8 reserved1: 4;\n\t__u8 door_open: 1;\n\t__u8 media_present: 1;\n\t__u8 reserved2: 6;\n\t__u8 start_slot;\n\t__u8 end_slot;\n};\n\nstruct stats {\n\t__le32 tx_good_frames;\n\t__le32 tx_max_collisions;\n\t__le32 tx_late_collisions;\n\t__le32 tx_underruns;\n\t__le32 tx_lost_crs;\n\t__le32 tx_deferred;\n\t__le32 tx_single_collisions;\n\t__le32 tx_multiple_collisions;\n\t__le32 tx_total_collisions;\n\t__le32 rx_good_frames;\n\t__le32 rx_crc_errors;\n\t__le32 rx_alignment_errors;\n\t__le32 rx_resource_errors;\n\t__le32 rx_overrun_errors;\n\t__le32 rx_cdt_errors;\n\t__le32 rx_short_frame_errors;\n\t__le32 fc_xmt_pause;\n\t__le32 fc_rcv_pause;\n\t__le32 fc_rcv_unsupported;\n\t__le16 xmt_tco_frames;\n\t__le16 rcv_tco_frames;\n\t__le32 complete;\n};\n\nstruct mem {\n\tstruct {\n\t\tu32 signature;\n\t\tu32 result;\n\t} selftest;\n\tstruct stats stats;\n\tu8 dump_buf[596];\n};\n\nstruct mem_cgroup_id {\n\tint id;\n\trefcount_t ref;\n};\n\nstruct vmpressure {\n\tlong unsigned int scanned;\n\tlong unsigned int reclaimed;\n\tlong unsigned int tree_scanned;\n\tlong unsigned int tree_reclaimed;\n\tspinlock_t sr_lock;\n\tstruct list_head events;\n\tstruct mutex events_lock;\n\tstruct work_struct work;\n};\n\nstruct wb_domain {\n\tspinlock_t lock;\n\tstruct fprop_global completions;\n\tstruct timer_list period_timer;\n\tlong unsigned int period_time;\n\tlong unsigned int dirty_limit_tstamp;\n\tlong unsigned int dirty_limit;\n};\n\nstruct wb_completion {\n\tatomic_t cnt;\n\twait_queue_head_t *waitq;\n};\n\nstruct memcg_cgwb_frn {\n\tu64 bdi_id;\n\tint memcg_id;\n\tu64 at;\n\tstruct wb_completion done;\n};\n\nstruct memcg_vmstats;\n\nstruct memcg_vmstats_percpu;\n\nstruct mem_cgroup_per_node;\n\nstruct mem_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct mem_cgroup_id id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct page_counter memory;\n\tunion {\n\t\tstruct page_counter swap;\n\t\tstruct page_counter memsw;\n\t};\n\tstruct list_head memory_peaks;\n\tstruct list_head swap_peaks;\n\tspinlock_t peaks_lock;\n\tstruct work_struct high_work;\n\tlong unsigned int zswap_max;\n\tbool zswap_writeback;\n\tstruct vmpressure vmpressure;\n\tbool oom_group;\n\tint swappiness;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tstruct cgroup_file swap_events_file;\n\tstruct memcg_vmstats *vmstats;\n\tatomic_long_t memory_events[9];\n\tatomic_long_t memory_events_local[9];\n\tlong unsigned int socket_pressure;\n\tint kmemcg_id;\n\tstruct obj_cgroup *objcg;\n\tstruct obj_cgroup *orig_objcg;\n\tstruct list_head objcg_list;\n\tstruct memcg_vmstats_percpu *vmstats_percpu;\n\tstruct list_head cgwb_list;\n\tstruct wb_domain cgwb_domain;\n\tstruct memcg_cgwb_frn cgwb_frn[4];\n\tstruct deferred_split deferred_split_queue;\n\tstruct mem_cgroup_per_node *nodeinfo[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct mem_cgroup_reclaim_iter {\n\tstruct mem_cgroup *position;\n\tatomic_t generation;\n};\n\nstruct shrinker_info;\n\nstruct mem_cgroup_per_node {\n\tstruct mem_cgroup *memcg;\n\tstruct lruvec_stats_percpu *lruvec_stats_percpu;\n\tstruct lruvec_stats *lruvec_stats;\n\tstruct shrinker_info *shrinker_info;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct lruvec lruvec;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tlong unsigned int lru_zone_size[15];\n\tstruct mem_cgroup_reclaim_iter iter;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef struct pglist_data pg_data_t;\n\nstruct mem_cgroup_reclaim_cookie {\n\tpg_data_t *pgdat;\n\tint generation;\n};\n\nstruct mcidev_sysfs_attribute;\n\nstruct mem_ctl_info {\n\tstruct device dev;\n\tconst struct bus_type *bus;\n\tstruct list_head link;\n\tstruct module *owner;\n\tlong unsigned int mtype_cap;\n\tlong unsigned int edac_ctl_cap;\n\tlong unsigned int edac_cap;\n\tlong unsigned int scrub_cap;\n\tenum scrub_type scrub_mode;\n\tint (*set_sdram_scrub_rate)(struct mem_ctl_info *, u32);\n\tint (*get_sdram_scrub_rate)(struct mem_ctl_info *);\n\tvoid (*edac_check)(struct mem_ctl_info *);\n\tlong unsigned int (*ctl_page_to_phys)(struct mem_ctl_info *, long unsigned int);\n\tint mc_idx;\n\tstruct csrow_info **csrows;\n\tunsigned int nr_csrows;\n\tunsigned int num_cschannel;\n\tunsigned int n_layers;\n\tstruct edac_mc_layer *layers;\n\tbool csbased;\n\tunsigned int tot_dimms;\n\tstruct dimm_info **dimms;\n\tstruct device *pdev;\n\tconst char *mod_name;\n\tconst char *ctl_name;\n\tconst char *dev_name;\n\tvoid *pvt_info;\n\tlong unsigned int start_time;\n\tu32 ce_noinfo_count;\n\tu32 ue_noinfo_count;\n\tu32 ue_mc;\n\tu32 ce_mc;\n\tstruct completion complete;\n\tconst struct mcidev_sysfs_attribute *mc_driver_sysfs_attributes;\n\tstruct delayed_work work;\n\tstruct edac_raw_error_desc error_desc;\n\tint op_state;\n\tstruct dentry *debugfs;\n\tu8 fake_inject_layer[3];\n\tbool fake_inject_ue;\n\tu16 fake_inject_count;\n};\n\nstruct quota_format_type;\n\nstruct mem_dqinfo {\n\tstruct quota_format_type *dqi_format;\n\tint dqi_fmt_id;\n\tstruct list_head dqi_dirty_list;\n\tlong unsigned int dqi_flags;\n\tunsigned int dqi_bgrace;\n\tunsigned int dqi_igrace;\n\tqsize_t dqi_max_spc_limit;\n\tqsize_t dqi_max_ino_limit;\n\tvoid *dqi_priv;\n};\n\nstruct mem_entry {\n\tu32 offset;\n\tu32 len;\n};\n\nstruct mem_map_entry {\n\t__be64 base;\n\t__be64 size;\n};\n\nstruct mem_section_usage;\n\nstruct page_ext;\n\nstruct mem_section {\n\tlong unsigned int section_mem_map;\n\tstruct mem_section_usage *usage;\n\tstruct page_ext *page_ext;\n\tlong unsigned int pad;\n};\n\nstruct mem_section_usage {\n\tstruct callback_head rcu;\n\tlong unsigned int subsection_map[1];\n\tlong unsigned int pageblock_flags[0];\n};\n\nstruct mem_size_stats {\n\tlong unsigned int resident;\n\tlong unsigned int shared_clean;\n\tlong unsigned int shared_dirty;\n\tlong unsigned int private_clean;\n\tlong unsigned int private_dirty;\n\tlong unsigned int referenced;\n\tlong unsigned int anonymous;\n\tlong unsigned int lazyfree;\n\tlong unsigned int anonymous_thp;\n\tlong unsigned int shmem_thp;\n\tlong unsigned int file_thp;\n\tlong unsigned int swap;\n\tlong unsigned int shared_hugetlb;\n\tlong unsigned int private_hugetlb;\n\tlong unsigned int ksm;\n\tu64 pss;\n\tu64 pss_anon;\n\tu64 pss_file;\n\tu64 pss_shmem;\n\tu64 pss_dirty;\n\tu64 pss_locked;\n\tu64 swap_pss;\n};\n\nstruct memblock_region;\n\nstruct memblock_type {\n\tlong unsigned int cnt;\n\tlong unsigned int max;\n\tphys_addr_t total_size;\n\tstruct memblock_region *regions;\n\tchar *name;\n};\n\nstruct memblock {\n\tbool bottom_up;\n\tphys_addr_t current_limit;\n\tstruct memblock_type memory;\n\tstruct memblock_type reserved;\n};\n\nstruct memblock_region {\n\tphys_addr_t base;\n\tphys_addr_t size;\n\tenum memblock_flags flags;\n\tint nid;\n};\n\nstruct membuf {\n\tvoid *p;\n\tsize_t left;\n};\n\nstruct memcg_stock_pcp {\n\tlocal_lock_t stock_lock;\n\tstruct mem_cgroup *cached;\n\tunsigned int nr_pages;\n\tstruct obj_cgroup *cached_objcg;\n\tstruct pglist_data *cached_pgdat;\n\tunsigned int nr_bytes;\n\tint nr_slab_reclaimable_b;\n\tint nr_slab_unreclaimable_b;\n\tstruct work_struct work;\n\tlong unsigned int flags;\n};\n\nstruct memcg_vmstats {\n\tlong int state[39];\n\tlong unsigned int events[27];\n\tlong int state_local[39];\n\tlong unsigned int events_local[27];\n\tlong int state_pending[39];\n\tlong unsigned int events_pending[27];\n\tatomic64_t stats_updates;\n};\n\nstruct memcg_vmstats_percpu {\n\tunsigned int stats_updates;\n\tstruct memcg_vmstats_percpu *parent;\n\tstruct memcg_vmstats *vmstats;\n\tlong int state[39];\n\tlong unsigned int events[27];\n\tlong int state_prev[39];\n\tlong unsigned int events_prev[27];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct memcons {\n\t__be64 magic;\n\t__be64 obuf_phys;\n\t__be64 ibuf_phys;\n\t__be32 obuf_size;\n\t__be32 ibuf_size;\n\t__be32 out_pos;\n\t__be32 in_prod;\n\t__be32 in_cons;\n};\n\nstruct memdev {\n\tconst char *name;\n\tconst struct file_operations *fops;\n\tfmode_t fmode;\n\tumode_t mode;\n};\n\nstruct memory_group;\n\nstruct memory_block {\n\tlong unsigned int start_section_nr;\n\tlong unsigned int state;\n\tint online_type;\n\tint nid;\n\tstruct zone *zone;\n\tstruct device dev;\n\tstruct vmem_altmap *altmap;\n\tstruct memory_group *group;\n\tstruct list_head group_next;\n};\n\nstruct memory_dev_type {\n\tstruct list_head tier_sibling;\n\tstruct list_head list;\n\tint adistance;\n\tnodemask_t nodes;\n\tstruct kref kref;\n};\n\nstruct memory_group {\n\tint nid;\n\tstruct list_head memory_blocks;\n\tlong unsigned int present_kernel_pages;\n\tlong unsigned int present_movable_pages;\n\tbool is_dynamic;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int max_pages;\n\t\t} s;\n\t\tstruct {\n\t\t\tlong unsigned int unit_pages;\n\t\t} d;\n\t};\n};\n\nstruct memory_notify {\n\tlong unsigned int altmap_start_pfn;\n\tlong unsigned int altmap_nr_pages;\n\tlong unsigned int start_pfn;\n\tlong unsigned int nr_pages;\n\tint status_change_nid_normal;\n\tint status_change_nid;\n};\n\nstruct memory_stat {\n\tconst char *name;\n\tunsigned int idx;\n};\n\nstruct memory_tier {\n\tstruct list_head list;\n\tstruct list_head memory_types;\n\tint adistance_start;\n\tstruct device dev;\n\tnodemask_t lower_tier_mask;\n};\n\nstruct mempolicy {\n\tatomic_t refcnt;\n\tshort unsigned int mode;\n\tshort unsigned int flags;\n\tnodemask_t nodes;\n\tint home_node;\n\tunion {\n\t\tnodemask_t cpuset_mems_allowed;\n\t\tnodemask_t user_nodemask;\n\t} w;\n};\n\nstruct mempolicy_operations {\n\tint (*create)(struct mempolicy *, const nodemask_t *);\n\tvoid (*rebind)(struct mempolicy *, const nodemask_t *);\n};\n\nstruct menu_device {\n\tint needs_update;\n\tint tick_wakeup;\n\tu64 next_timer_ns;\n\tunsigned int bucket;\n\tunsigned int correction_factor[6];\n\tunsigned int intervals[8];\n\tint interval_ptr;\n};\n\nstruct xfrm_md_info {\n\tu32 if_id;\n\tint link;\n\tstruct dst_entry *dst_orig;\n};\n\nstruct metadata_dst {\n\tstruct dst_entry dst;\n\tenum metadata_type type;\n\tunion {\n\t\tstruct ip_tunnel_info tun_info;\n\t\tstruct hw_port_info port_info;\n\t\tstruct macsec_info macsec_info;\n\t\tstruct xfrm_md_info xfrm_info;\n\t} u;\n};\n\nstruct mhp_params {\n\tstruct vmem_altmap *altmap;\n\tpgprot_t pgprot;\n\tstruct dev_pagemap *pgmap;\n};\n\nstruct migrate_pages_stats {\n\tint nr_succeeded;\n\tint nr_failed_pages;\n\tint nr_thp_succeeded;\n\tint nr_thp_failed;\n\tint nr_thp_split;\n\tint nr_split;\n};\n\nstruct migrate_struct {\n\text4_lblk_t first_block;\n\text4_lblk_t last_block;\n\text4_lblk_t curr_block;\n\text4_fsblk_t first_pblock;\n\text4_fsblk_t last_pblock;\n};\n\nstruct migrate_vma {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int *dst;\n\tlong unsigned int *src;\n\tlong unsigned int cpages;\n\tlong unsigned int npages;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tvoid *pgmap_owner;\n\tlong unsigned int flags;\n\tstruct page *fault_page;\n};\n\nstruct set_affinity_pending;\n\nstruct migration_arg {\n\tstruct task_struct *task;\n\tint dest_cpu;\n\tstruct set_affinity_pending *pending;\n};\n\nstruct migration_mpol {\n\tstruct mempolicy *pol;\n\tlong unsigned int ilx;\n};\n\nstruct migration_swap_arg {\n\tstruct task_struct *src_task;\n\tstruct task_struct *dst_task;\n\tint src_cpu;\n\tint dst_cpu;\n};\n\nstruct migration_target_control {\n\tint nid;\n\tnodemask_t *nmask;\n\tgfp_t gfp_mask;\n\tenum migrate_reason reason;\n};\n\nstruct phy_package_shared;\n\nstruct mii_bus {\n\tstruct module *owner;\n\tconst char *name;\n\tchar id[61];\n\tvoid *priv;\n\tint (*read)(struct mii_bus *, int, int);\n\tint (*write)(struct mii_bus *, int, int, u16);\n\tint (*read_c45)(struct mii_bus *, int, int, int);\n\tint (*write_c45)(struct mii_bus *, int, int, int, u16);\n\tint (*reset)(struct mii_bus *);\n\tstruct mdio_bus_stats stats[32];\n\tstruct mutex mdio_lock;\n\tstruct device *parent;\n\tenum {\n\t\tMDIOBUS_ALLOCATED = 1,\n\t\tMDIOBUS_REGISTERED = 2,\n\t\tMDIOBUS_UNREGISTERED = 3,\n\t\tMDIOBUS_RELEASED = 4,\n\t} state;\n\tstruct device dev;\n\tstruct mdio_device *mdio_map[32];\n\tu32 phy_mask;\n\tu32 phy_ignore_ta_mask;\n\tint irq[32];\n\tint reset_delay_us;\n\tint reset_post_delay_us;\n\tstruct gpio_desc *reset_gpiod;\n\tstruct mutex shared_lock;\n\tstruct phy_package_shared *shared[32];\n};\n\nstruct mii_if_info {\n\tint phy_id;\n\tint advertising;\n\tint phy_id_mask;\n\tint reg_num_mask;\n\tunsigned int full_duplex: 1;\n\tunsigned int force_media: 1;\n\tunsigned int supports_gmii: 1;\n\tstruct net_device *dev;\n\tint (*mdio_read)(struct net_device *, int, int);\n\tvoid (*mdio_write)(struct net_device *, int, int, int);\n};\n\nstruct mii_ioctl_data {\n\t__u16 phy_id;\n\t__u16 reg_num;\n\t__u16 val_in;\n\t__u16 val_out;\n};\n\nstruct mii_phy_ops;\n\nstruct mii_phy_def {\n\tu32 phy_id;\n\tu32 phy_id_mask;\n\tu32 features;\n\tint magic_aneg;\n\tconst char *name;\n\tconst struct mii_phy_ops *ops;\n};\n\nstruct mii_phy_ops {\n\tint (*init)(struct mii_phy *);\n\tint (*suspend)(struct mii_phy *);\n\tint (*setup_aneg)(struct mii_phy *, u32);\n\tint (*setup_forced)(struct mii_phy *, int, int);\n\tint (*poll_link)(struct mii_phy *);\n\tint (*read_link)(struct mii_phy *);\n\tint (*enable_fiber)(struct mii_phy *, int);\n};\n\nstruct mii_timestamper {\n\tbool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int);\n\tvoid (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int);\n\tint (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n\tvoid (*link_state)(struct mii_timestamper *, struct phy_device *);\n\tint (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *);\n\tstruct device *device;\n};\n\nstruct min_heap_callbacks {\n\tbool (*less)(const void *, const void *, void *);\n\tvoid (*swp)(void *, void *, void *);\n};\n\nstruct min_heap_char {\n\tsize_t nr;\n\tsize_t size;\n\tchar *data;\n\tchar preallocated[0];\n};\n\ntypedef struct min_heap_char min_heap_char;\n\nstruct min_max_quirk {\n\tconst char * const *pnp_ids;\n\tstruct {\n\t\tu32 min;\n\t\tu32 max;\n\t} board_id;\n\tu32 x_min;\n\tu32 x_max;\n\tu32 y_min;\n\tu32 y_max;\n};\n\nstruct tcf_proto;\n\nstruct mini_Qdisc {\n\tstruct tcf_proto *filter_list;\n\tstruct tcf_block *block;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tlong unsigned int rcu_state;\n};\n\nstruct mini_Qdisc_pair {\n\tstruct mini_Qdisc miniq1;\n\tstruct mini_Qdisc miniq2;\n\tstruct mini_Qdisc **p_miniq;\n};\n\nstruct minix_super_block {\n\t__u16 s_ninodes;\n\t__u16 s_nzones;\n\t__u16 s_imap_blocks;\n\t__u16 s_zmap_blocks;\n\t__u16 s_firstdatazone;\n\t__u16 s_log_zone_size;\n\t__u32 s_max_size;\n\t__u16 s_magic;\n\t__u16 s_state;\n\t__u32 s_zones;\n};\n\nstruct minmax_sample {\n\tu32 t;\n\tu32 v;\n};\n\nstruct minmax {\n\tstruct minmax_sample s[3];\n};\n\nstruct misc_res {\n\tu64 max;\n\tatomic64_t watermark;\n\tatomic64_t usage;\n\tatomic64_t events;\n\tatomic64_t events_local;\n};\n\nstruct misc_cg {\n\tstruct cgroup_subsys_state css;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tstruct misc_res res[0];\n};\n\nstruct miscdevice {\n\tint minor;\n\tconst char *name;\n\tconst struct file_operations *fops;\n\tstruct list_head list;\n\tstruct device *parent;\n\tstruct device *this_device;\n\tconst struct attribute_group **groups;\n\tconst char *nodename;\n\tumode_t mode;\n};\n\nstruct ml_effect_state {\n\tstruct ff_effect *effect;\n\tlong unsigned int flags;\n\tint count;\n\tlong unsigned int play_at;\n\tlong unsigned int stop_at;\n\tlong unsigned int adj_at;\n};\n\nstruct ml_device {\n\tvoid *private;\n\tstruct ml_effect_state states[16];\n\tint gain;\n\tstruct timer_list timer;\n\tstruct input_dev *dev;\n\tint (*play_effect)(struct input_dev *, void *, struct ff_effect *);\n};\n\nstruct mld2_grec {\n\t__u8 grec_type;\n\t__u8 grec_auxwords;\n\t__be16 grec_nsrcs;\n\tstruct in6_addr grec_mca;\n\tstruct in6_addr grec_src[0];\n};\n\nstruct mld2_query {\n\tstruct icmp6hdr mld2q_hdr;\n\tstruct in6_addr mld2q_mca;\n\t__u8 mld2q_qrv: 3;\n\t__u8 mld2q_suppress: 1;\n\t__u8 mld2q_resv2: 4;\n\t__u8 mld2q_qqic;\n\t__be16 mld2q_nsrcs;\n\tstruct in6_addr mld2q_srcs[0];\n};\n\nstruct mld2_report {\n\tstruct icmp6hdr mld2r_hdr;\n\tstruct mld2_grec mld2r_grec[0];\n};\n\nstruct mld_msg {\n\tstruct icmp6hdr mld_hdr;\n\tstruct in6_addr mld_mca;\n};\n\nstruct mlock_fbatch {\n\tlocal_lock_t lock;\n\tstruct folio_batch fbatch;\n};\n\nstruct mm_cid {\n\tu64 time;\n\tint cid;\n\tint recent_cid;\n};\n\nstruct mm_iommu_table_group_mem_t {\n\tstruct list_head next;\n\tstruct callback_head rcu;\n\tlong unsigned int used;\n\tatomic64_t mapped;\n\tunsigned int pageshift;\n\tu64 ua;\n\tu64 entries;\n\tunion {\n\t\tstruct page **hpages;\n\t\tphys_addr_t *hpas;\n\t};\n\tu64 dev_hpa;\n};\n\nstruct mm_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_mm_state state;\n\tstruct ethtool_mm_stats stats;\n};\n\nstruct xol_area;\n\nstruct uprobes_state {\n\tstruct xol_area *xol_area;\n};\n\nstruct mmu_notifier_subscriptions;\n\nstruct mm_struct {\n\tstruct {\n\t\tstruct {\n\t\t\tatomic_t mm_count;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t};\n\t\tstruct maple_tree mm_mt;\n\t\tlong unsigned int mmap_base;\n\t\tlong unsigned int mmap_legacy_base;\n\t\tlong unsigned int task_size;\n\t\tpgd_t *pgd;\n\t\tatomic_t membarrier_state;\n\t\tatomic_t mm_users;\n\t\tstruct mm_cid *pcpu_cid;\n\t\tlong unsigned int mm_cid_next_scan;\n\t\tunsigned int nr_cpus_allowed;\n\t\tatomic_t max_nr_cid;\n\t\traw_spinlock_t cpus_allowed_lock;\n\t\tatomic_long_t pgtables_bytes;\n\t\tint map_count;\n\t\tspinlock_t page_table_lock;\n\t\tstruct rw_semaphore mmap_lock;\n\t\tstruct list_head mmlist;\n\t\tseqcount_t mm_lock_seq;\n\t\tlong unsigned int hiwater_rss;\n\t\tlong unsigned int hiwater_vm;\n\t\tlong unsigned int total_vm;\n\t\tlong unsigned int locked_vm;\n\t\tatomic64_t pinned_vm;\n\t\tlong unsigned int data_vm;\n\t\tlong unsigned int exec_vm;\n\t\tlong unsigned int stack_vm;\n\t\tlong unsigned int def_flags;\n\t\tseqcount_t write_protect_seq;\n\t\tspinlock_t arg_lock;\n\t\tlong unsigned int start_code;\n\t\tlong unsigned int end_code;\n\t\tlong unsigned int start_data;\n\t\tlong unsigned int end_data;\n\t\tlong unsigned int start_brk;\n\t\tlong unsigned int brk;\n\t\tlong unsigned int start_stack;\n\t\tlong unsigned int arg_start;\n\t\tlong unsigned int arg_end;\n\t\tlong unsigned int env_start;\n\t\tlong unsigned int env_end;\n\t\tlong unsigned int saved_auxv[76];\n\t\tstruct percpu_counter rss_stat[4];\n\t\tstruct linux_binfmt *binfmt;\n\t\tmm_context_t context;\n\t\tlong unsigned int flags;\n\t\tspinlock_t ioctx_lock;\n\t\tstruct kioctx_table *ioctx_table;\n\t\tstruct task_struct *owner;\n\t\tstruct user_namespace *user_ns;\n\t\tstruct file *exe_file;\n\t\tstruct mmu_notifier_subscriptions *notifier_subscriptions;\n\t\tlong unsigned int numa_next_scan;\n\t\tlong unsigned int numa_scan_offset;\n\t\tint numa_scan_seq;\n\t\tatomic_t tlb_flush_pending;\n\t\tstruct uprobes_state uprobes_state;\n\t\tatomic_long_t hugetlb_usage;\n\t\tstruct work_struct async_put_work;\n\t\tlong unsigned int ksm_merging_pages;\n\t\tlong unsigned int ksm_rmap_items;\n\t\tatomic_long_t ksm_zero_pages;\n\t\tlong: 64;\n\t};\n\tlong unsigned int cpu_bitmap[0];\n};\n\nstruct mm_struct__safe_rcu_or_null {\n\tstruct file *exe_file;\n};\n\nstruct mm_walk_ops;\n\nstruct mm_walk {\n\tconst struct mm_walk_ops *ops;\n\tstruct mm_struct *mm;\n\tpgd_t *pgd;\n\tstruct vm_area_struct *vma;\n\tenum page_walk_action action;\n\tbool no_vma;\n\tvoid *private;\n};\n\nstruct mm_walk_ops {\n\tint (*pgd_entry)(pgd_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*p4d_entry)(p4d_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pud_entry)(pud_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pmd_entry)(pmd_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pte_entry)(pte_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pte_hole)(long unsigned int, long unsigned int, int, struct mm_walk *);\n\tint (*hugetlb_entry)(pte_t *, long unsigned int, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*test_walk)(long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pre_vma)(long unsigned int, long unsigned int, struct mm_walk *);\n\tvoid (*post_vma)(struct mm_walk *);\n\tint (*install_pte)(long unsigned int, long unsigned int, pte_t *, struct mm_walk *);\n\tenum page_walk_lock walk_lock;\n};\n\nstruct vma_munmap_struct {\n\tstruct vma_iterator *vmi;\n\tstruct vm_area_struct *vma;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct list_head *uf;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int unmap_start;\n\tlong unsigned int unmap_end;\n\tint vma_count;\n\tbool unlock;\n\tbool clear_ptes;\n\tlong unsigned int nr_pages;\n\tlong unsigned int locked_vm;\n\tlong unsigned int nr_accounted;\n\tlong unsigned int exec_vm;\n\tlong unsigned int stack_vm;\n\tlong unsigned int data_vm;\n};\n\nstruct mmap_state {\n\tstruct mm_struct *mm;\n\tstruct vma_iterator *vmi;\n\tlong unsigned int addr;\n\tlong unsigned int end;\n\tlong unsigned int pgoff;\n\tlong unsigned int pglen;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tlong unsigned int charged;\n\tbool retry_merge;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct vma_munmap_struct vms;\n\tstruct ma_state mas_detach;\n\tstruct maple_tree mt_detach;\n};\n\nstruct mmap_unlock_irq_work {\n\tstruct irq_work irq_work;\n\tstruct mm_struct *mm;\n};\n\nstruct mminit_pfnnid_cache {\n\tlong unsigned int last_start;\n\tlong unsigned int last_end;\n\tint last_nid;\n};\n\nstruct mmiowb_state {\n\tu16 nesting_count;\n\tu16 mmiowb_pending;\n};\n\nstruct mmp_struct {\n\t__le32 mmp_magic;\n\t__le32 mmp_seq;\n\t__le64 mmp_time;\n\tchar mmp_nodename[64];\n\tchar mmp_bdevname[32];\n\t__le16 mmp_check_interval;\n\t__le16 mmp_pad1;\n\t__le32 mmp_pad2[226];\n\t__le32 mmp_checksum;\n};\n\nstruct mmpin {\n\tstruct user_struct *user;\n\tunsigned int num_pg;\n};\n\nstruct user_msghdr {\n\tvoid *msg_name;\n\tint msg_namelen;\n\tstruct iovec *msg_iov;\n\t__kernel_size_t msg_iovlen;\n\tvoid *msg_control;\n\t__kernel_size_t msg_controllen;\n\tunsigned int msg_flags;\n};\n\nstruct mmsghdr {\n\tstruct user_msghdr msg_hdr;\n\tunsigned int msg_len;\n};\n\nstruct encoded_page;\n\nstruct mmu_gather_batch {\n\tstruct mmu_gather_batch *next;\n\tunsigned int nr;\n\tunsigned int max;\n\tstruct encoded_page *encoded_pages[0];\n};\n\nstruct mmu_table_batch;\n\nstruct mmu_gather {\n\tstruct mm_struct *mm;\n\tstruct mmu_table_batch *batch;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int fullmm: 1;\n\tunsigned int need_flush_all: 1;\n\tunsigned int freed_tables: 1;\n\tunsigned int delayed_rmap: 1;\n\tunsigned int cleared_ptes: 1;\n\tunsigned int cleared_pmds: 1;\n\tunsigned int cleared_puds: 1;\n\tunsigned int cleared_p4ds: 1;\n\tunsigned int vma_exec: 1;\n\tunsigned int vma_huge: 1;\n\tunsigned int vma_pfn: 1;\n\tunsigned int batch_count;\n\tstruct mmu_gather_batch *active;\n\tstruct mmu_gather_batch local;\n\tstruct page *__pages[8];\n\tunsigned int page_size;\n};\n\nstruct mmu_hash_ops {\n\tvoid (*hpte_invalidate)(long unsigned int, long unsigned int, int, int, int, int);\n\tlong int (*hpte_updatepp)(long unsigned int, long unsigned int, long unsigned int, int, int, int, long unsigned int);\n\tvoid (*hpte_updateboltedpp)(long unsigned int, long unsigned int, int, int);\n\tlong int (*hpte_insert)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int, int, int);\n\tlong int (*hpte_remove)(long unsigned int);\n\tint (*hpte_removebolted)(long unsigned int, int, int);\n\tvoid (*flush_hash_range)(long unsigned int, int);\n\tvoid (*hugepage_invalidate)(long unsigned int, long unsigned int, unsigned char *, int, int, int);\n\tint (*resize_hpt)(long unsigned int);\n\tvoid (*hpte_clear_all)(void);\n};\n\nstruct mmu_interval_notifier_ops;\n\nstruct mmu_interval_notifier {\n\tstruct interval_tree_node interval_tree;\n\tconst struct mmu_interval_notifier_ops *ops;\n\tstruct mm_struct *mm;\n\tstruct hlist_node deferred_item;\n\tlong unsigned int invalidate_seq;\n};\n\nstruct mmu_notifier_range;\n\nstruct mmu_interval_notifier_ops {\n\tbool (*invalidate)(struct mmu_interval_notifier *, const struct mmu_notifier_range *, long unsigned int);\n};\n\nstruct mmu_notifier_ops {\n\tvoid (*release)(struct mmu_notifier *, struct mm_struct *);\n\tint (*clear_flush_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tint (*clear_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tint (*test_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int);\n\tint (*invalidate_range_start)(struct mmu_notifier *, const struct mmu_notifier_range *);\n\tvoid (*invalidate_range_end)(struct mmu_notifier *, const struct mmu_notifier_range *);\n\tvoid (*arch_invalidate_secondary_tlbs)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tstruct mmu_notifier * (*alloc_notifier)(struct mm_struct *);\n\tvoid (*free_notifier)(struct mmu_notifier *);\n};\n\nstruct mmu_notifier_range {\n\tstruct mm_struct *mm;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int flags;\n\tenum mmu_notifier_event event;\n\tvoid *owner;\n};\n\nstruct mmu_notifier_subscriptions {\n\tstruct hlist_head list;\n\tbool has_itree;\n\tspinlock_t lock;\n\tlong unsigned int invalidate_seq;\n\tlong unsigned int active_invalidate_ranges;\n\tstruct rb_root_cached itree;\n\twait_queue_head_t wq;\n\tstruct hlist_head deferred_list;\n};\n\nstruct mmu_psize_def {\n\tunsigned int shift;\n\tint penc[16];\n\tunsigned int tlbiel;\n\tlong unsigned int avpnm;\n\tlong unsigned int h_rpt_pgsize;\n\tunion {\n\t\tlong unsigned int sllp;\n\t\tlong unsigned int ap;\n\t};\n};\n\nstruct mmu_table_batch {\n\tstruct callback_head rcu;\n\tunsigned int nr;\n\tvoid *tables[0];\n};\n\nstruct mnt_id_req {\n\t__u32 size;\n\t__u32 spare;\n\t__u64 mnt_id;\n\t__u64 param;\n\t__u64 mnt_ns_id;\n};\n\nstruct uid_gid_extent {\n\tu32 first;\n\tu32 lower_first;\n\tu32 count;\n};\n\nstruct uid_gid_map {\n\tunion {\n\t\tstruct {\n\t\t\tstruct uid_gid_extent extent[5];\n\t\t\tu32 nr_extents;\n\t\t};\n\t\tstruct {\n\t\t\tstruct uid_gid_extent *forward;\n\t\t\tstruct uid_gid_extent *reverse;\n\t\t};\n\t};\n};\n\nstruct mnt_idmap {\n\tstruct uid_gid_map uid_map;\n\tstruct uid_gid_map gid_map;\n\trefcount_t count;\n};\n\nstruct mount;\n\nstruct mnt_namespace {\n\tstruct ns_common ns;\n\tstruct mount *root;\n\tstruct {\n\t\tstruct rb_root mounts;\n\t\tstruct rb_node *mnt_last_node;\n\t\tstruct rb_node *mnt_first_node;\n\t};\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tu64 seq;\n\tunion {\n\t\twait_queue_head_t poll;\n\t\tstruct callback_head mnt_ns_rcu;\n\t};\n\tu64 event;\n\tunsigned int nr_mounts;\n\tunsigned int pending_mounts;\n\tstruct rb_node mnt_ns_tree_node;\n\tstruct list_head mnt_ns_list;\n\trefcount_t passive;\n};\n\nstruct mnt_ns_info {\n\t__u32 size;\n\t__u32 nr_mounts;\n\t__u64 mnt_ns_id;\n};\n\nstruct mnt_pcp {\n\tint mnt_count;\n\tint mnt_writers;\n};\n\nstruct mod_arch_specific {\n\tunsigned int stubs_section;\n\tunsigned int toc_section;\n\tbool toc_fixed;\n\tlong unsigned int tramp;\n\tlong unsigned int tramp_regs;\n\tstruct ftrace_ool_stub *ool_stubs;\n\tunsigned int ool_stub_count;\n\tunsigned int ool_stub_index;\n};\n\nstruct mod_initfree {\n\tstruct llist_node node;\n\tvoid *init_text;\n\tvoid *init_data;\n\tvoid *init_rodata;\n};\n\nstruct mod_kallsyms {\n\tElf64_Sym *symtab;\n\tunsigned int num_symtab;\n\tchar *strtab;\n\tchar *typetab;\n};\n\nstruct mod_tree_node {\n\tstruct module *mod;\n\tstruct latch_tree_node node;\n};\n\nstruct mod_tree_root {\n\tstruct latch_tree_root root;\n\tlong unsigned int addr_min;\n\tlong unsigned int addr_max;\n};\n\nstruct mode_map {\n\tint vmode;\n\tconst struct fb_videomode *mode;\n};\n\nstruct mode_page_header {\n\t__be16 mode_data_length;\n\t__u8 medium_type;\n\t__u8 reserved1;\n\t__u8 reserved2;\n\t__u8 reserved3;\n\t__be16 desc_length;\n};\n\nstruct modesel_head {\n\t__u8 reserved1;\n\t__u8 medium;\n\t__u8 reserved2;\n\t__u8 block_desc_length;\n\t__u8 density;\n\t__u8 number_of_blocks_hi;\n\t__u8 number_of_blocks_med;\n\t__u8 number_of_blocks_lo;\n\t__u8 reserved3;\n\t__u8 block_length_hi;\n\t__u8 block_length_med;\n\t__u8 block_length_lo;\n};\n\nstruct pkcs7_message;\n\nstruct modsig {\n\tstruct pkcs7_message *pkcs7_msg;\n\tenum hash_algo hash_algo;\n\tconst u8 *digest;\n\tu32 digest_size;\n\tint raw_pkcs7_len;\n\tu8 raw_pkcs7[0];\n};\n\nstruct module_param_attrs;\n\nstruct module_kobject {\n\tstruct kobject kobj;\n\tstruct module *mod;\n\tstruct kobject *drivers_dir;\n\tstruct module_param_attrs *mp;\n\tstruct completion *kobj_completion;\n};\n\nstruct module_memory {\n\tvoid *base;\n\tvoid *rw_copy;\n\tbool is_rox;\n\tunsigned int size;\n\tstruct mod_tree_node mtn;\n};\n\ntypedef struct tracepoint * const tracepoint_ptr_t;\n\nstruct module_attribute;\n\nstruct module_sect_attrs;\n\nstruct module_notes_attrs;\n\nstruct trace_event_call;\n\nstruct trace_eval_map;\n\nstruct module {\n\tenum module_state state;\n\tstruct list_head list;\n\tchar name[56];\n\tstruct module_kobject mkobj;\n\tstruct module_attribute *modinfo_attrs;\n\tconst char *version;\n\tconst char *srcversion;\n\tstruct kobject *holders_dir;\n\tconst struct kernel_symbol *syms;\n\tconst u32 *crcs;\n\tunsigned int num_syms;\n\tstruct mutex param_lock;\n\tstruct kernel_param *kp;\n\tunsigned int num_kp;\n\tunsigned int num_gpl_syms;\n\tconst struct kernel_symbol *gpl_syms;\n\tconst u32 *gpl_crcs;\n\tbool using_gplonly_symbols;\n\tbool sig_ok;\n\tbool async_probe_requested;\n\tunsigned int num_exentries;\n\tstruct exception_table_entry *extable;\n\tint (*init)(void);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct module_memory mem[7];\n\tstruct mod_arch_specific arch;\n\tlong unsigned int taints;\n\tunsigned int num_bugs;\n\tstruct list_head bug_list;\n\tstruct bug_entry *bug_table;\n\tstruct mod_kallsyms *kallsyms;\n\tstruct mod_kallsyms core_kallsyms;\n\tstruct module_sect_attrs *sect_attrs;\n\tstruct module_notes_attrs *notes_attrs;\n\tchar *args;\n\tvoid *percpu;\n\tunsigned int percpu_size;\n\tvoid *noinstr_text_start;\n\tunsigned int noinstr_text_size;\n\tunsigned int num_tracepoints;\n\ttracepoint_ptr_t *tracepoints_ptrs;\n\tunsigned int num_srcu_structs;\n\tstruct srcu_struct **srcu_struct_ptrs;\n\tunsigned int num_bpf_raw_events;\n\tstruct bpf_raw_event_map *bpf_raw_events;\n\tunsigned int btf_data_size;\n\tunsigned int btf_base_data_size;\n\tvoid *btf_data;\n\tvoid *btf_base_data;\n\tstruct jump_entry *jump_entries;\n\tunsigned int num_jump_entries;\n\tunsigned int num_trace_bprintk_fmt;\n\tconst char **trace_bprintk_fmt_start;\n\tstruct trace_event_call **trace_events;\n\tunsigned int num_trace_events;\n\tstruct trace_eval_map **trace_evals;\n\tunsigned int num_trace_evals;\n\tunsigned int num_ftrace_callsites;\n\tlong unsigned int *ftrace_callsites;\n\tvoid *kprobes_text_start;\n\tunsigned int kprobes_text_size;\n\tlong unsigned int *kprobe_blacklist;\n\tunsigned int num_kprobe_blacklist;\n\tint num_kunit_init_suites;\n\tstruct kunit_suite **kunit_init_suites;\n\tint num_kunit_suites;\n\tstruct kunit_suite **kunit_suites;\n\tstruct list_head source_list;\n\tstruct list_head target_list;\n\tvoid (*exit)(void);\n\tatomic_t refcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct module_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct module_attribute *, struct module_kobject *, char *);\n\tssize_t (*store)(const struct module_attribute *, struct module_kobject *, const char *, size_t);\n\tvoid (*setup)(struct module *, const char *);\n\tint (*test)(struct module *);\n\tvoid (*free)(struct module *);\n};\n\nstruct module_notes_attrs {\n\tstruct attribute_group grp;\n\tstruct bin_attribute attrs[0];\n};\n\nstruct param_attribute {\n\tstruct module_attribute mattr;\n\tconst struct kernel_param *param;\n};\n\nstruct module_param_attrs {\n\tunsigned int num;\n\tstruct attribute_group grp;\n\tstruct param_attribute attrs[0];\n};\n\nstruct module_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_module_power_mode_params power;\n};\n\nstruct module_sect_attrs {\n\tstruct attribute_group grp;\n\tstruct bin_attribute attrs[0];\n};\n\nstruct module_signature {\n\tu8 algo;\n\tu8 hash;\n\tu8 id_type;\n\tu8 signer_len;\n\tu8 key_id_len;\n\tu8 __pad[3];\n\t__be32 sig_len;\n};\n\nstruct module_string {\n\tstruct list_head next;\n\tstruct module *module;\n\tchar *str;\n};\n\nstruct module_use {\n\tstruct list_head source_list;\n\tstruct list_head target_list;\n\tstruct module *source;\n\tstruct module *target;\n};\n\nstruct module_version_attribute {\n\tstruct module_attribute mattr;\n\tconst char *module_name;\n\tconst char *version;\n};\n\nstruct modversion_info {\n\tlong unsigned int crc;\n\tchar name[56];\n};\n\nstruct modversion_info_ext {\n\tsize_t remaining;\n\tconst u32 *crc;\n\tconst char *name;\n};\n\nstruct monitor_map {\n\tint sense;\n\tint vmode;\n};\n\nstruct vfsmount {\n\tstruct dentry *mnt_root;\n\tstruct super_block *mnt_sb;\n\tint mnt_flags;\n\tstruct mnt_idmap *mnt_idmap;\n};\n\nstruct mountpoint;\n\nstruct mount {\n\tstruct hlist_node mnt_hash;\n\tstruct mount *mnt_parent;\n\tstruct dentry *mnt_mountpoint;\n\tstruct vfsmount mnt;\n\tunion {\n\t\tstruct rb_node mnt_node;\n\t\tstruct callback_head mnt_rcu;\n\t\tstruct llist_node mnt_llist;\n\t};\n\tstruct mnt_pcp *mnt_pcp;\n\tstruct list_head mnt_mounts;\n\tstruct list_head mnt_child;\n\tstruct list_head mnt_instance;\n\tconst char *mnt_devname;\n\tstruct list_head mnt_list;\n\tstruct list_head mnt_expire;\n\tstruct list_head mnt_share;\n\tstruct list_head mnt_slave_list;\n\tstruct list_head mnt_slave;\n\tstruct mount *mnt_master;\n\tstruct mnt_namespace *mnt_ns;\n\tstruct mountpoint *mnt_mp;\n\tunion {\n\t\tstruct hlist_node mnt_mp_list;\n\t\tstruct hlist_node mnt_umount;\n\t};\n\tstruct list_head mnt_umounting;\n\tstruct fsnotify_mark_connector *mnt_fsnotify_marks;\n\t__u32 mnt_fsnotify_mask;\n\tint mnt_id;\n\tu64 mnt_id_unique;\n\tint mnt_group_id;\n\tint mnt_expiry_mark;\n\tstruct hlist_head mnt_pins;\n\tstruct hlist_head mnt_stuck_children;\n};\n\nstruct mount_attr {\n\t__u64 attr_set;\n\t__u64 attr_clr;\n\t__u64 propagation;\n\t__u64 userns_fd;\n};\n\nstruct mount_kattr {\n\tunsigned int attr_set;\n\tunsigned int attr_clr;\n\tunsigned int propagation;\n\tunsigned int lookup_flags;\n\tbool recurse;\n\tstruct user_namespace *mnt_userns;\n\tstruct mnt_idmap *mnt_idmap;\n};\n\nstruct mount_opts {\n\tint token;\n\tint mount_opt;\n\tint flags;\n};\n\nstruct mountpoint {\n\tstruct hlist_node m_hash;\n\tstruct dentry *m_dentry;\n\tstruct hlist_head m_list;\n\tint m_count;\n};\n\nstruct mountres {\n\tint errno;\n\tstruct nfs_fh *fh;\n\tunsigned int *auth_count;\n\trpc_authflavor_t *auth_flavors;\n};\n\nstruct movable_operations {\n\tbool (*isolate_page)(struct page *, isolate_mode_t);\n\tint (*migrate_page)(struct page *, struct page *, enum migrate_mode);\n\tvoid (*putback_page)(struct page *);\n};\n\nstruct move_extent {\n\t__u32 reserved;\n\t__u32 donor_fd;\n\t__u64 orig_start;\n\t__u64 donor_start;\n\t__u64 len;\n\t__u64 moved_len;\n};\n\nstruct mpage_da_data {\n\tstruct inode *inode;\n\tstruct writeback_control *wbc;\n\tunsigned int can_map: 1;\n\tlong unsigned int first_page;\n\tlong unsigned int next_page;\n\tlong unsigned int last_page;\n\tstruct ext4_map_blocks map;\n\tstruct ext4_io_submit io_submit;\n\tunsigned int do_map: 1;\n\tunsigned int scanned_until_end: 1;\n\tunsigned int journalled_more_data: 1;\n};\n\nstruct mpage_data {\n\tstruct bio *bio;\n\tsector_t last_block_in_bio;\n\tget_block_t *get_block;\n};\n\nstruct mpage_readpage_args {\n\tstruct bio *bio;\n\tstruct folio *folio;\n\tunsigned int nr_pages;\n\tbool is_readahead;\n\tsector_t last_block_in_bio;\n\tstruct buffer_head map_bh;\n\tlong unsigned int first_logical_block;\n\tget_block_t *get_block;\n};\n\nstruct mpic_reg_bank {\n\tu32 *base;\n};\n\nstruct msi_bitmap {\n\tstruct device_node *of_node;\n\tlong unsigned int *bitmap;\n\tspinlock_t lock;\n\tunsigned int irq_count;\n\tbool bitmap_from_slab;\n};\n\nstruct mpic_irq_save;\n\nstruct mpic {\n\tstruct device_node *node;\n\tstruct irq_domain *irqhost;\n\tstruct irq_chip hc_irq;\n\tstruct irq_chip hc_ipi;\n\tstruct irq_chip hc_tm;\n\tstruct irq_chip hc_err;\n\tconst char *name;\n\tunsigned int flags;\n\tunsigned int isu_size;\n\tunsigned int isu_shift;\n\tunsigned int isu_mask;\n\tunsigned int num_sources;\n\tunsigned int ipi_vecs[4];\n\tunsigned int timer_vecs[8];\n\tunsigned int err_int_vecs[32];\n\tunsigned int spurious_vec;\n\tenum mpic_reg_type reg_type;\n\tphys_addr_t paddr;\n\tstruct mpic_reg_bank thiscpuregs;\n\tstruct mpic_reg_bank gregs;\n\tstruct mpic_reg_bank tmregs;\n\tstruct mpic_reg_bank cpuregs[32];\n\tstruct mpic_reg_bank isus[32];\n\tu32 *err_regs;\n\tlong unsigned int *protected;\n\tstruct msi_bitmap msi_bitmap;\n\tstruct mpic *next;\n\tstruct mpic_irq_save *save_data;\n};\n\nstruct mpic_irq_save {\n\tu32 vecprio;\n\tu32 dest;\n};\n\nstruct mpls_label {\n\t__be32 entry;\n};\n\nstruct mpls_shim_hdr {\n\t__be32 label_stack_entry;\n};\n\nstruct mptcp_out_options {};\n\nstruct mptcp_sock {};\n\nstruct mq_inflight {\n\tstruct block_device *part;\n\tunsigned int inflight[2];\n};\n\nstruct mq_sched {\n\tstruct Qdisc **qdiscs;\n};\n\nstruct mqueue_fs_context {\n\tstruct ipc_namespace *ipc_ns;\n\tbool newns;\n};\n\nstruct sigevent {\n\tsigval_t sigev_value;\n\tint sigev_signo;\n\tint sigev_notify;\n\tunion {\n\t\tint _pad[12];\n\t\tint _tid;\n\t\tstruct {\n\t\t\tvoid (*_function)(sigval_t);\n\t\t\tvoid *_attribute;\n\t\t} _sigev_thread;\n\t} _sigev_un;\n};\n\nstruct posix_msg_tree_node;\n\nstruct mqueue_inode_info {\n\tspinlock_t lock;\n\tstruct inode vfs_inode;\n\twait_queue_head_t wait_q;\n\tstruct rb_root msg_tree;\n\tstruct rb_node *msg_tree_rightmost;\n\tstruct posix_msg_tree_node *node_cache;\n\tstruct mq_attr attr;\n\tstruct sigevent notify;\n\tstruct pid *notify_owner;\n\tu32 notify_self_exec_id;\n\tstruct user_namespace *notify_user_ns;\n\tstruct ucounts *ucounts;\n\tstruct sock *notify_sock;\n\tstruct sk_buff *notify_cookie;\n\tstruct ext_wait_queue e_wait_q[2];\n\tlong unsigned int qsize;\n};\n\nstruct mrw_feature_desc {\n\t__be16 feature_code;\n\t__u8 curr: 1;\n\t__u8 persistent: 1;\n\t__u8 feature_version: 4;\n\t__u8 reserved1: 2;\n\t__u8 add_len;\n\t__u8 write: 1;\n\t__u8 reserved2: 7;\n\t__u8 reserved3;\n\t__u8 reserved4;\n\t__u8 reserved5;\n};\n\nstruct ms_data {\n\tlong unsigned int quirks;\n\tstruct hid_device *hdev;\n\tstruct work_struct ff_worker;\n\t__u8 strong;\n\t__u8 weak;\n\tvoid *output_report_dmabuf;\n};\n\nstruct msdos_dir_entry {\n\t__u8 name[11];\n\t__u8 attr;\n\t__u8 lcase;\n\t__u8 ctime_cs;\n\t__le16 ctime;\n\t__le16 cdate;\n\t__le16 adate;\n\t__le16 starthi;\n\t__le16 time;\n\t__le16 date;\n\t__le16 start;\n\t__le32 size;\n};\n\nstruct msdos_dir_slot {\n\t__u8 id;\n\t__u8 name0_4[10];\n\t__u8 attr;\n\t__u8 reserved;\n\t__u8 alias_checksum;\n\t__u8 name5_10[12];\n\t__le16 start;\n\t__u8 name11_12[4];\n};\n\nstruct msdos_inode_info {\n\tspinlock_t cache_lru_lock;\n\tstruct list_head cache_lru;\n\tint nr_caches;\n\tunsigned int cache_valid_id;\n\tloff_t mmu_private;\n\tint i_start;\n\tint i_logstart;\n\tint i_attrs;\n\tloff_t i_pos;\n\tstruct hlist_node i_fat_hash;\n\tstruct hlist_node i_dir_hash;\n\tstruct rw_semaphore truncate_lock;\n\tstruct timespec64 i_crtime;\n\tstruct inode vfs_inode;\n};\n\nstruct msdos_partition {\n\tu8 boot_ind;\n\tu8 head;\n\tu8 sector;\n\tu8 cyl;\n\tu8 sys_ind;\n\tu8 end_head;\n\tu8 end_sector;\n\tu8 end_cyl;\n\t__le32 start_sect;\n\t__le32 nr_sects;\n};\n\nstruct msdos_sb_info {\n\tshort unsigned int sec_per_clus;\n\tshort unsigned int cluster_bits;\n\tunsigned int cluster_size;\n\tunsigned char fats;\n\tunsigned char fat_bits;\n\tshort unsigned int fat_start;\n\tlong unsigned int fat_length;\n\tlong unsigned int dir_start;\n\tshort unsigned int dir_entries;\n\tlong unsigned int data_start;\n\tlong unsigned int max_cluster;\n\tlong unsigned int root_cluster;\n\tlong unsigned int fsinfo_sector;\n\tstruct mutex fat_lock;\n\tstruct mutex nfs_build_inode_lock;\n\tstruct mutex s_lock;\n\tunsigned int prev_free;\n\tunsigned int free_clusters;\n\tunsigned int free_clus_valid;\n\tstruct fat_mount_options options;\n\tstruct nls_table *nls_disk;\n\tstruct nls_table *nls_io;\n\tconst void *dir_ops;\n\tint dir_per_block;\n\tint dir_per_block_bits;\n\tunsigned int vol_id;\n\tint fatent_shift;\n\tconst struct fatent_operations *fatent_ops;\n\tstruct inode *fat_inode;\n\tstruct inode *fsinfo_inode;\n\tstruct ratelimit_state ratelimit;\n\tspinlock_t inode_hash_lock;\n\tstruct hlist_head inode_hashtable[256];\n\tspinlock_t dir_hash_lock;\n\tstruct hlist_head dir_hashtable[256];\n\tunsigned int dirty;\n\tstruct callback_head rcu;\n};\n\nstruct msg_msgseg;\n\nstruct msg_msg {\n\tstruct list_head m_list;\n\tlong int m_type;\n\tsize_t m_ts;\n\tstruct msg_msgseg *next;\n\tvoid *security;\n};\n\nstruct msg_msgseg {\n\tstruct msg_msgseg *next;\n};\n\nstruct msg_queue {\n\tstruct kern_ipc_perm q_perm;\n\ttime64_t q_stime;\n\ttime64_t q_rtime;\n\ttime64_t q_ctime;\n\tlong unsigned int q_cbytes;\n\tlong unsigned int q_qnum;\n\tlong unsigned int q_qbytes;\n\tstruct pid *q_lspid;\n\tstruct pid *q_lrpid;\n\tstruct list_head q_messages;\n\tstruct list_head q_receivers;\n\tstruct list_head q_senders;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct msg_receiver {\n\tstruct list_head r_list;\n\tstruct task_struct *r_tsk;\n\tint r_mode;\n\tlong int r_msgtype;\n\tlong int r_maxsize;\n\tstruct msg_msg *r_msg;\n};\n\nstruct msg_security_struct {\n\tu32 sid;\n};\n\nstruct msg_sender {\n\tstruct list_head list;\n\tstruct task_struct *tsk;\n\tsize_t msgsz;\n};\n\nstruct msgbuf {\n\t__kernel_long_t mtype;\n\tchar mtext[1];\n};\n\nstruct msginfo {\n\tint msgpool;\n\tint msgmap;\n\tint msgmax;\n\tint msgmnb;\n\tint msgmni;\n\tint msgssz;\n\tint msgtql;\n\tshort unsigned int msgseg;\n};\n\nstruct msi_alloc_info {\n\tstruct msi_desc *desc;\n\tirq_hw_number_t hwirq;\n\tlong unsigned int flags;\n\tunion {\n\t\tlong unsigned int ul;\n\t\tvoid *ptr;\n\t} scratchpad[2];\n};\n\ntypedef struct msi_alloc_info msi_alloc_info_t;\n\nstruct msi_counts {\n\tstruct device_node *requestor;\n\tint num_devices;\n\tint request;\n\tint quota;\n\tint spare;\n\tint over_quota;\n};\n\nstruct msi_ctrl {\n\tunsigned int domid;\n\tunsigned int first;\n\tunsigned int last;\n\tunsigned int nirqs;\n};\n\nstruct msi_msg {\n\tunion {\n\t\tu32 address_lo;\n\t\tarch_msi_msg_addr_lo_t arch_addr_lo;\n\t};\n\tunion {\n\t\tu32 address_hi;\n\t\tarch_msi_msg_addr_hi_t arch_addr_hi;\n\t};\n\tunion {\n\t\tu32 data;\n\t\tarch_msi_msg_data_t arch_data;\n\t};\n};\n\nstruct pci_msi_desc {\n\tunion {\n\t\tu32 msi_mask;\n\t\tu32 msix_ctrl;\n\t};\n\tstruct {\n\t\tu8 is_msix: 1;\n\t\tu8 multiple: 3;\n\t\tu8 multi_cap: 3;\n\t\tu8 can_mask: 1;\n\t\tu8 is_64: 1;\n\t\tu8 is_virtual: 1;\n\t\tunsigned int default_irq;\n\t} msi_attrib;\n\tunion {\n\t\tu8 mask_pos;\n\t\tvoid *mask_base;\n\t};\n};\n\nunion msi_domain_cookie {\n\tu64 value;\n\tvoid *ptr;\n\tvoid *iobase;\n};\n\nunion msi_instance_cookie {\n\tu64 value;\n\tvoid *ptr;\n};\n\nstruct msi_desc_data {\n\tunion msi_domain_cookie dcookie;\n\tunion msi_instance_cookie icookie;\n};\n\nstruct msi_desc {\n\tunsigned int irq;\n\tunsigned int nvec_used;\n\tstruct device *dev;\n\tstruct msi_msg msg;\n\tstruct irq_affinity_desc *affinity;\n\tstruct device_attribute *sysfs_attrs;\n\tvoid (*write_msi_msg)(struct msi_desc *, void *);\n\tvoid *write_msi_msg_data;\n\tu16 msi_index;\n\tunion {\n\t\tstruct pci_msi_desc pci;\n\t\tstruct msi_desc_data data;\n\t};\n};\n\nstruct msi_dev_domain {\n\tstruct xarray store;\n\tstruct irq_domain *domain;\n};\n\nstruct msi_device_data {\n\tlong unsigned int properties;\n\tstruct mutex mutex;\n\tstruct msi_dev_domain __domains[1];\n\tlong unsigned int __iter_idx;\n};\n\nstruct msi_domain_ops;\n\nstruct msi_domain_info {\n\tu32 flags;\n\tenum irq_domain_bus_token bus_token;\n\tunsigned int hwsize;\n\tstruct msi_domain_ops *ops;\n\tstruct irq_chip *chip;\n\tvoid *chip_data;\n\tirq_flow_handler_t handler;\n\tvoid *handler_data;\n\tconst char *handler_name;\n\tvoid *data;\n};\n\nstruct msi_domain_ops {\n\tirq_hw_number_t (*get_hwirq)(struct msi_domain_info *, msi_alloc_info_t *);\n\tint (*msi_init)(struct irq_domain *, struct msi_domain_info *, unsigned int, irq_hw_number_t, msi_alloc_info_t *);\n\tvoid (*msi_free)(struct irq_domain *, struct msi_domain_info *, unsigned int);\n\tint (*msi_prepare)(struct irq_domain *, struct device *, int, msi_alloc_info_t *);\n\tvoid (*prepare_desc)(struct irq_domain *, msi_alloc_info_t *, struct msi_desc *);\n\tvoid (*set_desc)(msi_alloc_info_t *, struct msi_desc *);\n\tint (*domain_alloc_irqs)(struct irq_domain *, struct device *, int);\n\tvoid (*domain_free_irqs)(struct irq_domain *, struct device *);\n\tvoid (*msi_post_free)(struct irq_domain *, struct device *);\n\tint (*msi_translate)(struct irq_domain *, struct irq_fwspec *, irq_hw_number_t *, unsigned int *);\n};\n\nstruct msi_domain_template {\n\tchar name[48];\n\tstruct irq_chip chip;\n\tstruct msi_domain_ops ops;\n\tstruct msi_domain_info info;\n};\n\nstruct msi_map {\n\tint index;\n\tint virq;\n};\n\nstruct msi_parent_ops {\n\tu32 supported_flags;\n\tu32 required_flags;\n\tu32 bus_select_token;\n\tu32 bus_select_mask;\n\tconst char *prefix;\n\tbool (*init_dev_msi_info)(struct device *, struct irq_domain *, struct irq_domain *, struct msi_domain_info *);\n};\n\nstruct msix_entry {\n\tu32 vector;\n\tu16 entry;\n};\n\nstruct msqid64_ds {\n\tstruct ipc64_perm msg_perm;\n\tlong int msg_stime;\n\tlong int msg_rtime;\n\tlong int msg_ctime;\n\tlong unsigned int msg_cbytes;\n\tlong unsigned int msg_qnum;\n\tlong unsigned int msg_qbytes;\n\t__kernel_pid_t msg_lspid;\n\t__kernel_pid_t msg_lrpid;\n\tlong unsigned int __unused4;\n\tlong unsigned int __unused5;\n};\n\nstruct msg;\n\nstruct msqid_ds {\n\tstruct ipc_perm msg_perm;\n\tstruct msg *msg_first;\n\tstruct msg *msg_last;\n\t__kernel_old_time_t msg_stime;\n\t__kernel_old_time_t msg_rtime;\n\t__kernel_old_time_t msg_ctime;\n\tlong unsigned int msg_lcbytes;\n\tlong unsigned int msg_lqbytes;\n\tshort unsigned int msg_cbytes;\n\tshort unsigned int msg_qnum;\n\tshort unsigned int msg_qbytes;\n\t__kernel_ipc_pid_t msg_lspid;\n\t__kernel_ipc_pid_t msg_lrpid;\n};\n\nstruct mthp_stat {\n\tlong unsigned int stats[153];\n};\n\nstruct multi_stop_data {\n\tcpu_stop_fn_t fn;\n\tvoid *data;\n\tunsigned int num_threads;\n\tconst struct cpumask *active_cpus;\n\tenum multi_stop_state state;\n\tatomic_t thread_ack;\n};\n\nstruct multiprocess_signals {\n\tsigset_t signal;\n\tstruct hlist_node node;\n};\n\ntypedef struct mutex *class_mutex_t;\n\ntypedef class_mutex_t class_mutex_intr_t;\n\nstruct mutex_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tstruct ww_acquire_ctx *ww_ctx;\n\tvoid *magic;\n};\n\nstruct mv_cached_regs {\n\tu32 fiscfg;\n\tu32 ltmode;\n\tu32 haltcond;\n\tu32 unknown_rsvd;\n};\n\nstruct mv_crpb {\n\t__le16 id;\n\t__le16 flags;\n\t__le32 tmstmp;\n};\n\nstruct mv_crqb {\n\t__le32 sg_addr;\n\t__le32 sg_addr_hi;\n\t__le16 ctrl_flags;\n\t__le16 ata_cmd[11];\n};\n\nstruct mv_crqb_iie {\n\t__le32 addr;\n\t__le32 addr_hi;\n\t__le32 flags;\n\t__le32 len;\n\t__le32 ata_cmd[4];\n};\n\nstruct mv_port_signal {\n\tu32 amps;\n\tu32 pre;\n};\n\nstruct mv_hw_ops;\n\nstruct mv_host_priv {\n\tu32 hp_flags;\n\tunsigned int board_idx;\n\tu32 main_irq_mask;\n\tstruct mv_port_signal signal[8];\n\tconst struct mv_hw_ops *ops;\n\tint n_ports;\n\tvoid *base;\n\tvoid *main_irq_cause_addr;\n\tvoid *main_irq_mask_addr;\n\tu32 irq_cause_offset;\n\tu32 irq_mask_offset;\n\tu32 unmask_all_irqs;\n\tstruct clk *clk;\n\tstruct clk **port_clks;\n\tstruct phy___2 **port_phys;\n\tstruct dma_pool *crqb_pool;\n\tstruct dma_pool *crpb_pool;\n\tstruct dma_pool *sg_tbl_pool;\n};\n\nstruct mv_hw_ops {\n\tvoid (*phy_errata)(struct mv_host_priv *, void *, unsigned int);\n\tvoid (*enable_leds)(struct mv_host_priv *, void *);\n\tvoid (*read_preamp)(struct mv_host_priv *, int, void *);\n\tint (*reset_hc)(struct ata_host *, void *, unsigned int);\n\tvoid (*reset_flash)(struct mv_host_priv *, void *);\n\tvoid (*reset_bus)(struct ata_host *, void *);\n};\n\nstruct mv_sg;\n\nstruct mv_port_priv {\n\tstruct mv_crqb *crqb;\n\tdma_addr_t crqb_dma;\n\tstruct mv_crpb *crpb;\n\tdma_addr_t crpb_dma;\n\tstruct mv_sg *sg_tbl[32];\n\tdma_addr_t sg_tbl_dma[32];\n\tunsigned int req_idx;\n\tunsigned int resp_idx;\n\tu32 pp_flags;\n\tstruct mv_cached_regs cached;\n\tunsigned int delayed_eh_pmp_map;\n};\n\nstruct mv_sata_platform_data {\n\tint n_ports;\n};\n\nstruct mv_sg {\n\t__le32 addr;\n\t__le32 flags_size;\n\t__le32 addr_hi;\n\t__le32 reserved;\n};\n\nstruct my_timming {\n\tunsigned int pixclock;\n\tint mnp;\n\tunsigned int crtc;\n\tunsigned int HDisplay;\n\tunsigned int HSyncStart;\n\tunsigned int HSyncEnd;\n\tunsigned int HTotal;\n\tunsigned int VDisplay;\n\tunsigned int VSyncStart;\n\tunsigned int VSyncEnd;\n\tunsigned int VTotal;\n\tunsigned int sync;\n\tint dblscan;\n\tint interlaced;\n\tunsigned int delay;\n};\n\nstruct my_u {\n\t__le64 a;\n\t__le64 b;\n};\n\nstruct my_u0 {\n\t__le64 a;\n\t__le64 b;\n};\n\nstruct my_u1 {\n\t__le64 a;\n\t__le64 b;\n\t__le64 c;\n\t__le64 d;\n};\n\nstruct n_tty_data {\n\tsize_t read_head;\n\tsize_t commit_head;\n\tsize_t canon_head;\n\tsize_t echo_head;\n\tsize_t echo_commit;\n\tsize_t echo_mark;\n\tlong unsigned int char_map[4];\n\tlong unsigned int overrun_time;\n\tunsigned int num_overrun;\n\tbool no_room;\n\tunsigned char lnext: 1;\n\tunsigned char erasing: 1;\n\tunsigned char raw: 1;\n\tunsigned char real_raw: 1;\n\tunsigned char icanon: 1;\n\tunsigned char push: 1;\n\tu8 read_buf[4096];\n\tlong unsigned int read_flags[64];\n\tu8 echo_buf[4096];\n\tsize_t read_tail;\n\tsize_t line_start;\n\tsize_t lookahead_count;\n\tunsigned int column;\n\tunsigned int canon_column;\n\tsize_t echo_tail;\n\tstruct mutex atomic_read_lock;\n\tstruct mutex output_lock;\n};\n\nstruct saved {\n\tstruct path link;\n\tstruct delayed_call done;\n\tconst char *name;\n\tunsigned int seq;\n};\n\nstruct nameidata {\n\tstruct path path;\n\tstruct qstr last;\n\tstruct path root;\n\tstruct inode *inode;\n\tunsigned int flags;\n\tunsigned int state;\n\tunsigned int seq;\n\tunsigned int next_seq;\n\tunsigned int m_seq;\n\tunsigned int r_seq;\n\tint last_type;\n\tunsigned int depth;\n\tint total_link_count;\n\tstruct saved *stack;\n\tstruct saved internal[2];\n\tstruct filename *name;\n\tconst char *pathname;\n\tstruct nameidata *saved;\n\tunsigned int root_seq;\n\tint dfd;\n\tvfsuid_t dir_vfsuid;\n\tumode_t dir_mode;\n};\n\nstruct page_frag_cache {\n\tlong unsigned int encoded_page;\n\t__u32 offset;\n\t__u32 pagecnt_bias;\n};\n\nstruct napi_alloc_cache {\n\tlocal_lock_t bh_lock;\n\tstruct page_frag_cache page;\n\tunsigned int skb_count;\n\tvoid *skb_cache[64];\n};\n\nstruct napi_config {\n\tu64 gro_flush_timeout;\n\tu64 irq_suspend_timeout;\n\tu32 defer_hard_irqs;\n\tunsigned int napi_id;\n};\n\nstruct napi_gro_cb {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *frag0;\n\t\t\tunsigned int frag0_len;\n\t\t};\n\t\tstruct {\n\t\t\tstruct sk_buff *last;\n\t\t\tlong unsigned int age;\n\t\t};\n\t};\n\tint data_offset;\n\tu16 flush;\n\tu16 count;\n\tu16 proto;\n\tu16 pad;\n\tunion {\n\t\tstruct {\n\t\t\tu16 gro_remcsum_start;\n\t\t\tu8 same_flow: 1;\n\t\t\tu8 encap_mark: 1;\n\t\t\tu8 csum_valid: 1;\n\t\t\tu8 csum_cnt: 3;\n\t\t\tu8 free: 2;\n\t\t\tu8 is_ipv6: 1;\n\t\t\tu8 is_fou: 1;\n\t\t\tu8 ip_fixedid: 1;\n\t\t\tu8 recursion_counter: 4;\n\t\t\tu8 is_flist: 1;\n\t\t};\n\t\tstruct {\n\t\t\tu16 gro_remcsum_start;\n\t\t\tu8 same_flow: 1;\n\t\t\tu8 encap_mark: 1;\n\t\t\tu8 csum_valid: 1;\n\t\t\tu8 csum_cnt: 3;\n\t\t\tu8 free: 2;\n\t\t\tu8 is_ipv6: 1;\n\t\t\tu8 is_fou: 1;\n\t\t\tu8 ip_fixedid: 1;\n\t\t\tu8 recursion_counter: 4;\n\t\t\tu8 is_flist: 1;\n\t\t} zeroed;\n\t};\n\t__wsum csum;\n\tunion {\n\t\tstruct {\n\t\t\tu16 network_offset;\n\t\t\tu16 inner_network_offset;\n\t\t};\n\t\tu16 network_offsets[2];\n\t};\n};\n\nstruct nat_keepalive {\n\tstruct net *net;\n\tu16 family;\n\txfrm_address_t saddr;\n\txfrm_address_t daddr;\n\t__be16 encap_sport;\n\t__be16 encap_dport;\n\t__u32 smark;\n};\n\nstruct nat_keepalive_work_ctx {\n\ttime64_t next_run;\n\ttime64_t now;\n};\n\nstruct nbcon_state {\n\tunion {\n\t\tunsigned int atom;\n\t\tstruct {\n\t\t\tunsigned int prio: 2;\n\t\t\tunsigned int req_prio: 2;\n\t\t\tunsigned int unsafe: 1;\n\t\t\tunsigned int unsafe_takeover: 1;\n\t\t\tunsigned int cpu: 24;\n\t\t};\n\t};\n};\n\nstruct nbcon_write_context {\n\tstruct nbcon_context ctxt;\n\tchar *outbuf;\n\tunsigned int len;\n\tbool unsafe_takeover;\n};\n\nstruct nd_namespace_common;\n\nstruct nd_btt {\n\tstruct device dev;\n\tstruct nd_namespace_common *ndns;\n\tstruct btt *btt;\n\tlong unsigned int lbasize;\n\tu64 size;\n\tuuid_t *uuid;\n\tint id;\n\tint initial_offset;\n\tu16 version_major;\n\tu16 version_minor;\n};\n\nstruct nd_cmd_ars_cap {\n\t__u64 address;\n\t__u64 length;\n\t__u32 status;\n\t__u32 max_ars_out;\n\t__u32 clear_err_unit;\n\t__u16 flags;\n\t__u16 reserved;\n};\n\nstruct nd_cmd_clear_error {\n\t__u64 address;\n\t__u64 length;\n\t__u32 status;\n\t__u8 reserved[4];\n\t__u64 cleared;\n};\n\nstruct nd_cmd_desc {\n\tint in_num;\n\tint out_num;\n\tu32 in_sizes[5];\n\tint out_sizes[5];\n};\n\nstruct nd_cmd_get_config_data_hdr {\n\t__u32 in_offset;\n\t__u32 in_length;\n\t__u32 status;\n\t__u8 out_buf[0];\n};\n\nstruct nd_cmd_get_config_size {\n\t__u32 status;\n\t__u32 config_size;\n\t__u32 max_xfer;\n};\n\nstruct nd_cmd_pkg {\n\t__u64 nd_family;\n\t__u64 nd_command;\n\t__u32 nd_size_in;\n\t__u32 nd_size_out;\n\t__u32 nd_reserved2[9];\n\t__u32 nd_fw_size;\n\tunsigned char nd_payload[0];\n};\n\nstruct nd_cmd_set_config_hdr {\n\t__u32 in_offset;\n\t__u32 in_length;\n\t__u8 in_buf[0];\n};\n\nstruct nd_cmd_vendor_hdr {\n\t__u32 opcode;\n\t__u32 in_length;\n\t__u8 in_buf[0];\n};\n\nstruct nd_pfn_sb;\n\nstruct nd_pfn {\n\tint id;\n\tuuid_t *uuid;\n\tstruct device dev;\n\tlong unsigned int align;\n\tlong unsigned int npfns;\n\tenum nd_pfn_mode mode;\n\tstruct nd_pfn_sb *pfn_sb;\n\tstruct nd_namespace_common *ndns;\n};\n\nstruct nd_dax {\n\tstruct nd_pfn nd_pfn;\n};\n\nstruct nd_device_driver {\n\tstruct device_driver drv;\n\tlong unsigned int type;\n\tint (*probe)(struct device *);\n\tvoid (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tvoid (*notify)(struct device *, enum nvdimm_event);\n};\n\nstruct nd_gen_sb {\n\tchar reserved[4088];\n\t__le64 checksum;\n};\n\nstruct nd_interleave_set {\n\tu64 cookie1;\n\tu64 cookie2;\n\tu64 altcookie;\n\tguid_t type_guid;\n};\n\nstruct nd_namespace_label;\n\nstruct nd_label_ent {\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tstruct nd_namespace_label *label;\n};\n\nstruct nd_label_id {\n\tchar id[50];\n};\n\nstruct nvdimm;\n\nstruct nvdimm_drvdata;\n\nstruct nd_mapping {\n\tstruct nvdimm *nvdimm;\n\tu64 start;\n\tu64 size;\n\tint position;\n\tstruct list_head labels;\n\tstruct mutex lock;\n\tstruct nvdimm_drvdata *ndd;\n};\n\nstruct nd_mapping_desc {\n\tstruct nvdimm *nvdimm;\n\tu64 start;\n\tu64 size;\n\tint position;\n};\n\nstruct nd_msg {\n\tstruct icmp6hdr icmph;\n\tstruct in6_addr target;\n\t__u8 opt[0];\n};\n\nstruct nd_namespace_common {\n\tint force_raw;\n\tstruct device dev;\n\tstruct device *claim;\n\tenum nvdimm_claim_class claim_class;\n\tint (*rw_bytes)(struct nd_namespace_common *, resource_size_t, void *, size_t, int, long unsigned int);\n};\n\nstruct nd_namespace_index {\n\tu8 sig[16];\n\tu8 flags[3];\n\tu8 labelsize;\n\t__le32 seq;\n\t__le64 myoff;\n\t__le64 mysize;\n\t__le64 otheroff;\n\t__le64 labeloff;\n\t__le32 nslot;\n\t__le16 major;\n\t__le16 minor;\n\t__le64 checksum;\n\tu8 free[0];\n};\n\nstruct nd_namespace_io {\n\tstruct nd_namespace_common common;\n\tstruct resource res;\n\tresource_size_t size;\n\tvoid *addr;\n\tstruct badblocks bb;\n};\n\nstruct nvdimm_cxl_label {\n\tu8 type[16];\n\tu8 uuid[16];\n\tu8 name[64];\n\t__le32 flags;\n\t__le16 nrange;\n\t__le16 position;\n\t__le64 dpa;\n\t__le64 rawsize;\n\t__le32 slot;\n\t__le32 align;\n\tu8 region_uuid[16];\n\tu8 abstraction_uuid[16];\n\t__le16 lbasize;\n\tu8 reserved[86];\n\t__le64 checksum;\n};\n\nstruct nvdimm_efi_label {\n\tu8 uuid[16];\n\tu8 name[64];\n\t__le32 flags;\n\t__le16 nlabel;\n\t__le16 position;\n\t__le64 isetcookie;\n\t__le64 lbasize;\n\t__le64 dpa;\n\t__le64 rawsize;\n\t__le32 slot;\n\tu8 align;\n\tu8 reserved[3];\n\tguid_t type_guid;\n\tguid_t abstraction_guid;\n\tu8 reserved2[88];\n\t__le64 checksum;\n};\n\nstruct nd_namespace_label {\n\tunion {\n\t\tstruct nvdimm_cxl_label cxl;\n\t\tstruct nvdimm_efi_label efi;\n\t};\n};\n\nstruct nd_namespace_pmem {\n\tstruct nd_namespace_io nsio;\n\tlong unsigned int lbasize;\n\tchar *alt_name;\n\tuuid_t *uuid;\n\tint id;\n};\n\nstruct nd_opt_hdr {\n\t__u8 nd_opt_type;\n\t__u8 nd_opt_len;\n};\n\nstruct nd_percpu_lane {\n\tint count;\n\tspinlock_t lock;\n};\n\nstruct nd_pfn_sb {\n\tu8 signature[16];\n\tu8 uuid[16];\n\tu8 parent_uuid[16];\n\t__le32 flags;\n\t__le16 version_major;\n\t__le16 version_minor;\n\t__le64 dataoff;\n\t__le64 npfns;\n\t__le32 mode;\n\t__le32 start_pad;\n\t__le32 end_trunc;\n\t__le32 align;\n\t__le32 page_size;\n\t__le16 page_struct_size;\n\tu8 padding[3994];\n\t__le64 checksum;\n};\n\nstruct nd_region {\n\tstruct device dev;\n\tstruct ida ns_ida;\n\tstruct ida btt_ida;\n\tstruct ida pfn_ida;\n\tstruct ida dax_ida;\n\tlong unsigned int flags;\n\tstruct device *ns_seed;\n\tstruct device *btt_seed;\n\tstruct device *pfn_seed;\n\tstruct device *dax_seed;\n\tlong unsigned int align;\n\tu16 ndr_mappings;\n\tu64 ndr_size;\n\tu64 ndr_start;\n\tint id;\n\tint num_lanes;\n\tint ro;\n\tint numa_node;\n\tint target_node;\n\tvoid *provider_data;\n\tstruct kernfs_node *bb_state;\n\tstruct badblocks bb;\n\tstruct nd_interleave_set *nd_set;\n\tstruct nd_percpu_lane *lane;\n\tint (*flush)(struct nd_region *, struct bio *);\n\tstruct nd_mapping mapping[0];\n};\n\nstruct nd_region_data {\n\tint ns_count;\n\tint ns_active;\n\tunsigned int hints_shift;\n\tvoid *flush_wpq[0];\n};\n\nstruct nd_region_desc {\n\tstruct resource *res;\n\tstruct nd_mapping_desc *mapping;\n\tu16 num_mappings;\n\tconst struct attribute_group **attr_groups;\n\tstruct nd_interleave_set *nd_set;\n\tvoid *provider_data;\n\tint num_lanes;\n\tint numa_node;\n\tint target_node;\n\tlong unsigned int flags;\n\tint memregion;\n\tstruct device_node *of_node;\n\tint (*flush)(struct nd_region *, struct bio *);\n};\n\nstruct nda_cacheinfo {\n\t__u32 ndm_confirmed;\n\t__u32 ndm_used;\n\t__u32 ndm_updated;\n\t__u32 ndm_refcnt;\n};\n\nstruct ndisc_options;\n\nstruct prefix_info;\n\nstruct ndisc_ops {\n\tint (*parse_options)(const struct net_device *, struct nd_opt_hdr *, struct ndisc_options *);\n\tvoid (*update)(const struct net_device *, struct neighbour *, u32, u8, const struct ndisc_options *);\n\tint (*opt_addr_space)(const struct net_device *, u8, struct neighbour *, u8 *, u8 **);\n\tvoid (*fill_addr_option)(const struct net_device *, struct sk_buff *, u8, const u8 *);\n\tvoid (*prefix_rcv_add_addr)(struct net *, struct net_device *, const struct prefix_info *, struct inet6_dev *, struct in6_addr *, int, u32, bool, bool, __u32, u32, bool);\n};\n\nstruct ndisc_options {\n\tstruct nd_opt_hdr *nd_opt_array[15];\n\tstruct nd_opt_hdr *nd_useropts;\n\tstruct nd_opt_hdr *nd_useropts_end;\n};\n\nstruct ndmsg {\n\t__u8 ndm_family;\n\t__u8 ndm_pad1;\n\t__u16 ndm_pad2;\n\t__s32 ndm_ifindex;\n\t__u16 ndm_state;\n\t__u8 ndm_flags;\n\t__u8 ndm_type;\n};\n\nstruct ndo_fdb_dump_context {\n\tlong unsigned int ifindex;\n\tlong unsigned int fdb_idx;\n};\n\nstruct ndt_config {\n\t__u16 ndtc_key_len;\n\t__u16 ndtc_entry_size;\n\t__u32 ndtc_entries;\n\t__u32 ndtc_last_flush;\n\t__u32 ndtc_last_rand;\n\t__u32 ndtc_hash_rnd;\n\t__u32 ndtc_hash_mask;\n\t__u32 ndtc_hash_chain_gc;\n\t__u32 ndtc_proxy_qlen;\n};\n\nstruct ndt_stats {\n\t__u64 ndts_allocs;\n\t__u64 ndts_destroys;\n\t__u64 ndts_hash_grows;\n\t__u64 ndts_res_failed;\n\t__u64 ndts_lookups;\n\t__u64 ndts_hits;\n\t__u64 ndts_rcv_probes_mcast;\n\t__u64 ndts_rcv_probes_ucast;\n\t__u64 ndts_periodic_gc_runs;\n\t__u64 ndts_forced_gc_runs;\n\t__u64 ndts_table_fulls;\n};\n\nstruct ndtmsg {\n\t__u8 ndtm_family;\n\t__u8 ndtm_pad1;\n\t__u16 ndtm_pad2;\n};\n\nstruct nduseroptmsg {\n\tunsigned char nduseropt_family;\n\tunsigned char nduseropt_pad1;\n\tshort unsigned int nduseropt_opts_len;\n\tint nduseropt_ifindex;\n\t__u8 nduseropt_icmp_type;\n\t__u8 nduseropt_icmp_code;\n\tshort unsigned int nduseropt_pad2;\n\tunsigned int nduseropt_pad3;\n};\n\nstruct neigh_dump_filter {\n\tint master_idx;\n\tint dev_idx;\n};\n\nstruct neigh_hash_table {\n\tstruct hlist_head *hash_heads;\n\tunsigned int hash_shift;\n\t__u32 hash_rnd[4];\n\tstruct callback_head rcu;\n};\n\nstruct neigh_ops {\n\tint family;\n\tvoid (*solicit)(struct neighbour *, struct sk_buff *);\n\tvoid (*error_report)(struct neighbour *, struct sk_buff *);\n\tint (*output)(struct neighbour *, struct sk_buff *);\n\tint (*connected_output)(struct neighbour *, struct sk_buff *);\n};\n\nstruct neigh_parms {\n\tpossible_net_t net;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head list;\n\tint (*neigh_setup)(struct neighbour *);\n\tstruct neigh_table *tbl;\n\tvoid *sysctl_table;\n\tint dead;\n\trefcount_t refcnt;\n\tstruct callback_head callback_head;\n\tint reachable_time;\n\tu32 qlen;\n\tint data[14];\n\tlong unsigned int data_state[1];\n};\n\nstruct neigh_seq_state {\n\tstruct seq_net_private p;\n\tstruct neigh_table *tbl;\n\tstruct neigh_hash_table *nht;\n\tvoid * (*neigh_sub_iter)(struct neigh_seq_state *, struct neighbour *, loff_t *);\n\tunsigned int bucket;\n\tunsigned int flags;\n};\n\nstruct neigh_statistics {\n\tlong unsigned int allocs;\n\tlong unsigned int destroys;\n\tlong unsigned int hash_grows;\n\tlong unsigned int res_failed;\n\tlong unsigned int lookups;\n\tlong unsigned int hits;\n\tlong unsigned int rcv_probes_mcast;\n\tlong unsigned int rcv_probes_ucast;\n\tlong unsigned int periodic_gc_runs;\n\tlong unsigned int forced_gc_runs;\n\tlong unsigned int unres_discards;\n\tlong unsigned int table_fulls;\n};\n\nstruct neigh_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table neigh_vars[21];\n};\n\nstruct pneigh_entry;\n\nstruct neigh_table {\n\tint family;\n\tunsigned int entry_size;\n\tunsigned int key_len;\n\t__be16 protocol;\n\t__u32 (*hash)(const void *, const struct net_device *, __u32 *);\n\tbool (*key_eq)(const struct neighbour *, const void *);\n\tint (*constructor)(struct neighbour *);\n\tint (*pconstructor)(struct pneigh_entry *);\n\tvoid (*pdestructor)(struct pneigh_entry *);\n\tvoid (*proxy_redo)(struct sk_buff *);\n\tint (*is_multicast)(const void *);\n\tbool (*allow_add)(const struct net_device *, struct netlink_ext_ack *);\n\tchar *id;\n\tstruct neigh_parms parms;\n\tstruct list_head parms_list;\n\tint gc_interval;\n\tint gc_thresh1;\n\tint gc_thresh2;\n\tint gc_thresh3;\n\tlong unsigned int last_flush;\n\tstruct delayed_work gc_work;\n\tstruct delayed_work managed_work;\n\tstruct timer_list proxy_timer;\n\tstruct sk_buff_head proxy_queue;\n\tatomic_t entries;\n\tatomic_t gc_entries;\n\tstruct list_head gc_list;\n\tstruct list_head managed_list;\n\trwlock_t lock;\n\tlong unsigned int last_rand;\n\tstruct neigh_statistics *stats;\n\tstruct neigh_hash_table *nht;\n\tstruct pneigh_entry **phash_buckets;\n};\n\nstruct neighbour {\n\tstruct hlist_node hash;\n\tstruct hlist_node dev_list;\n\tstruct neigh_table *tbl;\n\tstruct neigh_parms *parms;\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\tunsigned int arp_queue_len_bytes;\n\tstruct sk_buff_head arp_queue;\n\tstruct timer_list timer;\n\tlong unsigned int used;\n\tatomic_t probes;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tu8 protocol;\n\tu32 flags;\n\tseqlock_t ha_lock;\n\tlong: 0;\n\tunsigned char ha[32];\n\tstruct hh_cache hh;\n\tint (*output)(struct neighbour *, struct sk_buff *);\n\tconst struct neigh_ops *ops;\n\tstruct list_head gc_list;\n\tstruct list_head managed_list;\n\tstruct callback_head rcu;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu8 primary_key[0];\n};\n\nstruct neighbour_cb {\n\tlong unsigned int sched_next;\n\tunsigned int flags;\n};\n\nunion nested_table {\n\tunion nested_table *table;\n\tstruct rhash_lock_head *bucket;\n};\n\nstruct ref_tracker_dir {\n\tspinlock_t lock;\n\tunsigned int quarantine_avail;\n\trefcount_t untracked;\n\trefcount_t no_tracker;\n\tbool dead;\n\tstruct list_head list;\n\tstruct list_head quarantine;\n\tchar name[32];\n};\n\nstruct raw_notifier_head {\n\tstruct notifier_block *head;\n};\n\nstruct prot_inuse;\n\nstruct netns_core {\n\tstruct ctl_table_header *sysctl_hdr;\n\tint sysctl_somaxconn;\n\tint sysctl_optmem_max;\n\tu8 sysctl_txrehash;\n\tu8 sysctl_tstamp_allow_data;\n\tstruct prot_inuse *prot_inuse;\n\tstruct cpumask *rps_default_mask;\n};\n\nstruct tcp_mib;\n\nstruct udp_mib;\n\nstruct netns_mib {\n\tstruct ipstats_mib *ip_statistics;\n\tstruct ipstats_mib *ipv6_statistics;\n\tstruct tcp_mib *tcp_statistics;\n\tstruct linux_mib *net_statistics;\n\tstruct udp_mib *udp_statistics;\n\tstruct udp_mib *udp_stats_in6;\n\tstruct udp_mib *udplite_statistics;\n\tstruct udp_mib *udplite_stats_in6;\n\tstruct icmp_mib *icmp_statistics;\n\tstruct icmpmsg_mib *icmpmsg_statistics;\n\tstruct icmpv6_mib *icmpv6_statistics;\n\tstruct icmpv6msg_mib *icmpv6msg_statistics;\n\tstruct proc_dir_entry *proc_net_devsnmp6;\n};\n\nstruct netns_packet {\n\tstruct mutex sklist_lock;\n\tstruct hlist_head sklist;\n};\n\nstruct unix_table {\n\tspinlock_t *locks;\n\tstruct hlist_head *buckets;\n};\n\nstruct netns_unix {\n\tstruct unix_table table;\n\tint sysctl_max_dgram_qlen;\n\tstruct ctl_table_header *ctl;\n};\n\nstruct netns_nexthop {\n\tstruct rb_root rb_root;\n\tstruct hlist_head *devhash;\n\tunsigned int seq;\n\tu32 last_id_allocated;\n\tstruct blocking_notifier_head notifier_chain;\n};\n\nstruct ping_group_range {\n\tseqlock_t lock;\n\tkgid_t range[2];\n};\n\nstruct netns_ipv4 {\n\t__u8 __cacheline_group_begin__netns_ipv4_read_tx[0];\n\tu8 sysctl_tcp_early_retrans;\n\tu8 sysctl_tcp_tso_win_divisor;\n\tu8 sysctl_tcp_tso_rtt_log;\n\tu8 sysctl_tcp_autocorking;\n\tint sysctl_tcp_min_snd_mss;\n\tunsigned int sysctl_tcp_notsent_lowat;\n\tint sysctl_tcp_limit_output_bytes;\n\tint sysctl_tcp_min_rtt_wlen;\n\tint sysctl_tcp_wmem[3];\n\tu8 sysctl_ip_fwd_use_pmtu;\n\t__u8 __cacheline_group_end__netns_ipv4_read_tx[0];\n\t__u8 __cacheline_group_begin__netns_ipv4_read_txrx[0];\n\tu8 sysctl_tcp_moderate_rcvbuf;\n\t__u8 __cacheline_group_end__netns_ipv4_read_txrx[0];\n\t__u8 __cacheline_group_begin__netns_ipv4_read_rx[0];\n\tu8 sysctl_ip_early_demux;\n\tu8 sysctl_tcp_early_demux;\n\tu8 sysctl_tcp_l3mdev_accept;\n\tint sysctl_tcp_reordering;\n\tint sysctl_tcp_rmem[3];\n\t__u8 __cacheline_group_end__netns_ipv4_read_rx[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct inet_timewait_death_row tcp_death_row;\n\tstruct udp_table *udp_table;\n\tstruct ctl_table_header *forw_hdr;\n\tstruct ctl_table_header *frags_hdr;\n\tstruct ctl_table_header *ipv4_hdr;\n\tstruct ctl_table_header *route_hdr;\n\tstruct ctl_table_header *xfrm4_hdr;\n\tstruct ipv4_devconf *devconf_all;\n\tstruct ipv4_devconf *devconf_dflt;\n\tstruct ip_ra_chain *ra_chain;\n\tstruct mutex ra_mutex;\n\tbool fib_has_custom_local_routes;\n\tbool fib_offload_disabled;\n\tu8 sysctl_tcp_shrink_window;\n\tstruct hlist_head *fib_table_hash;\n\tstruct sock *fibnl;\n\tstruct sock *mc_autojoin_sk;\n\tstruct inet_peer_base *peers;\n\tstruct fqdir *fqdir;\n\tu8 sysctl_icmp_echo_ignore_all;\n\tu8 sysctl_icmp_echo_enable_probe;\n\tu8 sysctl_icmp_echo_ignore_broadcasts;\n\tu8 sysctl_icmp_ignore_bogus_error_responses;\n\tu8 sysctl_icmp_errors_use_inbound_ifaddr;\n\tint sysctl_icmp_ratelimit;\n\tint sysctl_icmp_ratemask;\n\tint sysctl_icmp_msgs_per_sec;\n\tint sysctl_icmp_msgs_burst;\n\tatomic_t icmp_global_credit;\n\tu32 icmp_global_stamp;\n\tu32 ip_rt_min_pmtu;\n\tint ip_rt_mtu_expires;\n\tint ip_rt_min_advmss;\n\tstruct local_ports ip_local_ports;\n\tu8 sysctl_tcp_ecn;\n\tu8 sysctl_tcp_ecn_fallback;\n\tu8 sysctl_ip_default_ttl;\n\tu8 sysctl_ip_no_pmtu_disc;\n\tu8 sysctl_ip_fwd_update_priority;\n\tu8 sysctl_ip_nonlocal_bind;\n\tu8 sysctl_ip_autobind_reuse;\n\tu8 sysctl_ip_dynaddr;\n\tu8 sysctl_udp_early_demux;\n\tu8 sysctl_nexthop_compat_mode;\n\tu8 sysctl_fwmark_reflect;\n\tu8 sysctl_tcp_fwmark_accept;\n\tu8 sysctl_tcp_mtu_probing;\n\tint sysctl_tcp_mtu_probe_floor;\n\tint sysctl_tcp_base_mss;\n\tint sysctl_tcp_probe_threshold;\n\tu32 sysctl_tcp_probe_interval;\n\tint sysctl_tcp_keepalive_time;\n\tint sysctl_tcp_keepalive_intvl;\n\tu8 sysctl_tcp_keepalive_probes;\n\tu8 sysctl_tcp_syn_retries;\n\tu8 sysctl_tcp_synack_retries;\n\tu8 sysctl_tcp_syncookies;\n\tu8 sysctl_tcp_migrate_req;\n\tu8 sysctl_tcp_comp_sack_nr;\n\tu8 sysctl_tcp_backlog_ack_defer;\n\tu8 sysctl_tcp_pingpong_thresh;\n\tu8 sysctl_tcp_retries1;\n\tu8 sysctl_tcp_retries2;\n\tu8 sysctl_tcp_orphan_retries;\n\tu8 sysctl_tcp_tw_reuse;\n\tunsigned int sysctl_tcp_tw_reuse_delay;\n\tint sysctl_tcp_fin_timeout;\n\tu8 sysctl_tcp_sack;\n\tu8 sysctl_tcp_window_scaling;\n\tu8 sysctl_tcp_timestamps;\n\tint sysctl_tcp_rto_min_us;\n\tu8 sysctl_tcp_recovery;\n\tu8 sysctl_tcp_thin_linear_timeouts;\n\tu8 sysctl_tcp_slow_start_after_idle;\n\tu8 sysctl_tcp_retrans_collapse;\n\tu8 sysctl_tcp_stdurg;\n\tu8 sysctl_tcp_rfc1337;\n\tu8 sysctl_tcp_abort_on_overflow;\n\tu8 sysctl_tcp_fack;\n\tint sysctl_tcp_max_reordering;\n\tint sysctl_tcp_adv_win_scale;\n\tu8 sysctl_tcp_dsack;\n\tu8 sysctl_tcp_app_win;\n\tu8 sysctl_tcp_frto;\n\tu8 sysctl_tcp_nometrics_save;\n\tu8 sysctl_tcp_no_ssthresh_metrics_save;\n\tu8 sysctl_tcp_workaround_signed_windows;\n\tint sysctl_tcp_challenge_ack_limit;\n\tu8 sysctl_tcp_min_tso_segs;\n\tu8 sysctl_tcp_reflect_tos;\n\tint sysctl_tcp_invalid_ratelimit;\n\tint sysctl_tcp_pacing_ss_ratio;\n\tint sysctl_tcp_pacing_ca_ratio;\n\tunsigned int sysctl_tcp_child_ehash_entries;\n\tlong unsigned int sysctl_tcp_comp_sack_delay_ns;\n\tlong unsigned int sysctl_tcp_comp_sack_slack_ns;\n\tint sysctl_max_syn_backlog;\n\tint sysctl_tcp_fastopen;\n\tconst struct tcp_congestion_ops *tcp_congestion_control;\n\tstruct tcp_fastopen_context *tcp_fastopen_ctx;\n\tunsigned int sysctl_tcp_fastopen_blackhole_timeout;\n\tatomic_t tfo_active_disable_times;\n\tlong unsigned int tfo_active_disable_stamp;\n\tu32 tcp_challenge_timestamp;\n\tu32 tcp_challenge_count;\n\tu8 sysctl_tcp_plb_enabled;\n\tu8 sysctl_tcp_plb_idle_rehash_rounds;\n\tu8 sysctl_tcp_plb_rehash_rounds;\n\tu8 sysctl_tcp_plb_suspend_rto_sec;\n\tint sysctl_tcp_plb_cong_thresh;\n\tint sysctl_udp_wmem_min;\n\tint sysctl_udp_rmem_min;\n\tu8 sysctl_fib_notify_on_flag_change;\n\tu8 sysctl_tcp_syn_linear_timeouts;\n\tu8 sysctl_igmp_llm_reports;\n\tint sysctl_igmp_max_memberships;\n\tint sysctl_igmp_max_msf;\n\tint sysctl_igmp_qrv;\n\tstruct ping_group_range ping_group_range;\n\tatomic_t dev_addr_genid;\n\tunsigned int sysctl_udp_child_hash_entries;\n\tlong unsigned int *sysctl_local_reserved_ports;\n\tint sysctl_ip_prot_sock;\n\tstruct fib_notifier_ops *notifier_ops;\n\tunsigned int fib_seq;\n\tstruct fib_notifier_ops *ipmr_notifier_ops;\n\tunsigned int ipmr_seq;\n\tatomic_t rt_genid;\n\tsiphash_key_t ip_id_key;\n\tstruct hlist_head *inet_addr_lst;\n\tstruct delayed_work addr_chk_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netns_sysctl_ipv6 {\n\tstruct ctl_table_header *hdr;\n\tstruct ctl_table_header *route_hdr;\n\tstruct ctl_table_header *icmp_hdr;\n\tstruct ctl_table_header *frags_hdr;\n\tstruct ctl_table_header *xfrm6_hdr;\n\tint flush_delay;\n\tint ip6_rt_max_size;\n\tint ip6_rt_gc_min_interval;\n\tint ip6_rt_gc_timeout;\n\tint ip6_rt_gc_interval;\n\tint ip6_rt_gc_elasticity;\n\tint ip6_rt_mtu_expires;\n\tint ip6_rt_min_advmss;\n\tu32 multipath_hash_fields;\n\tu8 multipath_hash_policy;\n\tu8 bindv6only;\n\tu8 flowlabel_consistency;\n\tu8 auto_flowlabels;\n\tint icmpv6_time;\n\tu8 icmpv6_echo_ignore_all;\n\tu8 icmpv6_echo_ignore_multicast;\n\tu8 icmpv6_echo_ignore_anycast;\n\tlong unsigned int icmpv6_ratemask[4];\n\tlong unsigned int *icmpv6_ratemask_ptr;\n\tu8 anycast_src_echo_reply;\n\tu8 ip_nonlocal_bind;\n\tu8 fwmark_reflect;\n\tu8 flowlabel_state_ranges;\n\tint idgen_retries;\n\tint idgen_delay;\n\tint flowlabel_reflect;\n\tint max_dst_opts_cnt;\n\tint max_hbh_opts_cnt;\n\tint max_dst_opts_len;\n\tint max_hbh_opts_len;\n\tint seg6_flowlabel;\n\tu32 ioam6_id;\n\tu64 ioam6_id_wide;\n\tu8 skip_notify_on_dev_down;\n\tu8 fib_notify_on_flag_change;\n\tu8 icmpv6_error_anycast_as_unicast;\n};\n\nstruct rt6_statistics;\n\nstruct seg6_pernet_data;\n\nstruct netns_ipv6 {\n\tstruct dst_ops ip6_dst_ops;\n\tstruct netns_sysctl_ipv6 sysctl;\n\tstruct ipv6_devconf *devconf_all;\n\tstruct ipv6_devconf *devconf_dflt;\n\tstruct inet_peer_base *peers;\n\tstruct fqdir *fqdir;\n\tstruct fib6_info *fib6_null_entry;\n\tstruct rt6_info *ip6_null_entry;\n\tstruct rt6_statistics *rt6_stats;\n\tstruct timer_list ip6_fib_timer;\n\tstruct hlist_head *fib_table_hash;\n\tstruct fib6_table *fib6_main_tbl;\n\tstruct list_head fib6_walkers;\n\trwlock_t fib6_walker_lock;\n\tspinlock_t fib6_gc_lock;\n\tatomic_t ip6_rt_gc_expire;\n\tlong unsigned int ip6_rt_last_gc;\n\tunsigned char flowlabel_has_excl;\n\tstruct sock *ndisc_sk;\n\tstruct sock *tcp_sk;\n\tstruct sock *igmp_sk;\n\tstruct sock *mc_autojoin_sk;\n\tstruct hlist_head *inet6_addr_lst;\n\tspinlock_t addrconf_hash_lock;\n\tstruct delayed_work addr_chk_work;\n\tatomic_t dev_addr_genid;\n\tatomic_t fib6_sernum;\n\tstruct seg6_pernet_data *seg6_data;\n\tstruct fib_notifier_ops *notifier_ops;\n\tstruct fib_notifier_ops *ip6mr_notifier_ops;\n\tunsigned int ipmr_seq;\n\tstruct {\n\t\tstruct hlist_head head;\n\t\tspinlock_t lock;\n\t\tu32 seq;\n\t} ip6addrlbl_table;\n\tstruct ioam6_pernet_data *ioam6_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nf_logger;\n\nstruct nf_hook_entries;\n\nstruct netns_nf {\n\tstruct proc_dir_entry *proc_netfilter;\n\tconst struct nf_logger *nf_loggers[11];\n\tstruct ctl_table_header *nf_log_dir_header;\n\tstruct nf_hook_entries *hooks_ipv4[5];\n\tstruct nf_hook_entries *hooks_ipv6[5];\n\tunsigned int defrag_ipv4_users;\n\tunsigned int defrag_ipv6_users;\n};\n\nstruct nf_ct_event_notifier;\n\nstruct nf_generic_net {\n\tunsigned int timeout;\n};\n\nstruct nf_tcp_net {\n\tunsigned int timeouts[14];\n\tu8 tcp_loose;\n\tu8 tcp_be_liberal;\n\tu8 tcp_max_retrans;\n\tu8 tcp_ignore_invalid_rst;\n};\n\nstruct nf_udp_net {\n\tunsigned int timeouts[2];\n};\n\nstruct nf_icmp_net {\n\tunsigned int timeout;\n};\n\nstruct nf_ip_net {\n\tstruct nf_generic_net generic;\n\tstruct nf_tcp_net tcp;\n\tstruct nf_udp_net udp;\n\tstruct nf_icmp_net icmp;\n\tstruct nf_icmp_net icmpv6;\n};\n\nstruct netns_ct {\n\tu8 sysctl_log_invalid;\n\tu8 sysctl_events;\n\tu8 sysctl_acct;\n\tu8 sysctl_tstamp;\n\tu8 sysctl_checksum;\n\tstruct ip_conntrack_stat *stat;\n\tstruct nf_ct_event_notifier *nf_conntrack_event_cb;\n\tstruct nf_ip_net nf_ct_proto;\n};\n\nstruct netns_bpf {\n\tstruct bpf_prog_array *run_array[2];\n\tstruct bpf_prog *progs[2];\n\tstruct list_head links[2];\n};\n\nstruct xfrm_policy_hash {\n\tstruct hlist_head *table;\n\tunsigned int hmask;\n\tu8 dbits4;\n\tu8 sbits4;\n\tu8 dbits6;\n\tu8 sbits6;\n};\n\nstruct xfrm_policy_hthresh {\n\tstruct work_struct work;\n\tseqlock_t lock;\n\tu8 lbits4;\n\tu8 rbits4;\n\tu8 lbits6;\n\tu8 rbits6;\n};\n\nstruct netns_xfrm {\n\tstruct list_head state_all;\n\tstruct hlist_head *state_bydst;\n\tstruct hlist_head *state_bysrc;\n\tstruct hlist_head *state_byspi;\n\tstruct hlist_head *state_byseq;\n\tstruct hlist_head *state_cache_input;\n\tunsigned int state_hmask;\n\tunsigned int state_num;\n\tstruct work_struct state_hash_work;\n\tstruct list_head policy_all;\n\tstruct hlist_head *policy_byidx;\n\tunsigned int policy_idx_hmask;\n\tunsigned int idx_generator;\n\tstruct xfrm_policy_hash policy_bydst[3];\n\tunsigned int policy_count[6];\n\tstruct work_struct policy_hash_work;\n\tstruct xfrm_policy_hthresh policy_hthresh;\n\tstruct list_head inexact_bins;\n\tstruct sock *nlsk;\n\tstruct sock *nlsk_stash;\n\tu32 sysctl_aevent_etime;\n\tu32 sysctl_aevent_rseqth;\n\tint sysctl_larval_drop;\n\tu32 sysctl_acq_expires;\n\tu8 policy_default[3];\n\tstruct ctl_table_header *sysctl_hdr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct dst_ops xfrm4_dst_ops;\n\tstruct dst_ops xfrm6_dst_ops;\n\tspinlock_t xfrm_state_lock;\n\tseqcount_spinlock_t xfrm_state_hash_generation;\n\tseqcount_spinlock_t xfrm_policy_hash_generation;\n\tspinlock_t xfrm_policy_lock;\n\tstruct mutex xfrm_cfg_mutex;\n\tstruct delayed_work nat_keepalive_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct uevent_sock;\n\nstruct net_generic;\n\nstruct net {\n\trefcount_t passive;\n\tspinlock_t rules_mod_lock;\n\tunsigned int dev_base_seq;\n\tu32 ifindex;\n\tspinlock_t nsid_lock;\n\tatomic_t fnhe_genid;\n\tstruct list_head list;\n\tstruct list_head exit_list;\n\tstruct llist_node defer_free_list;\n\tstruct llist_node cleanup_list;\n\tstruct key_tag *key_domain;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct idr netns_ids;\n\tstruct ns_common ns;\n\tstruct ref_tracker_dir refcnt_tracker;\n\tstruct ref_tracker_dir notrefcnt_tracker;\n\tstruct list_head dev_base_head;\n\tstruct proc_dir_entry *proc_net;\n\tstruct proc_dir_entry *proc_net_stat;\n\tstruct ctl_table_set sysctls;\n\tstruct sock *rtnl;\n\tstruct sock *genl_sock;\n\tstruct uevent_sock *uevent_sock;\n\tstruct hlist_head *dev_name_head;\n\tstruct hlist_head *dev_index_head;\n\tstruct xarray dev_by_index;\n\tstruct raw_notifier_head netdev_chain;\n\tu32 hash_mix;\n\tstruct net_device *loopback_dev;\n\tstruct list_head rules_ops;\n\tstruct netns_core core;\n\tstruct netns_mib mib;\n\tstruct netns_packet packet;\n\tstruct netns_unix unx;\n\tstruct netns_nexthop nexthop;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct netns_ipv4 ipv4;\n\tstruct netns_ipv6 ipv6;\n\tstruct netns_nf nf;\n\tstruct netns_ct ct;\n\tstruct net_generic *gen;\n\tstruct netns_bpf bpf;\n\tlong: 64;\n\tlong: 64;\n\tstruct netns_xfrm xfrm;\n\tu64 net_cookie;\n\tstruct sock *diag_nlsk;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct net_bridge;\n\nstruct net_bridge_vlan;\n\nstruct net_bridge_mcast {\n\tstruct net_bridge *br;\n\tstruct net_bridge_vlan *vlan;\n\tu32 multicast_last_member_count;\n\tu32 multicast_startup_query_count;\n\tu8 multicast_querier;\n\tu8 multicast_igmp_version;\n\tu8 multicast_router;\n\tu8 multicast_mld_version;\n\tlong unsigned int multicast_last_member_interval;\n\tlong unsigned int multicast_membership_interval;\n\tlong unsigned int multicast_querier_interval;\n\tlong unsigned int multicast_query_interval;\n\tlong unsigned int multicast_query_response_interval;\n\tlong unsigned int multicast_startup_query_interval;\n\tstruct hlist_head ip4_mc_router_list;\n\tstruct timer_list ip4_mc_router_timer;\n\tstruct bridge_mcast_other_query ip4_other_query;\n\tstruct bridge_mcast_own_query ip4_own_query;\n\tstruct bridge_mcast_querier ip4_querier;\n\tstruct hlist_head ip6_mc_router_list;\n\tstruct timer_list ip6_mc_router_timer;\n\tstruct bridge_mcast_other_query ip6_other_query;\n\tstruct bridge_mcast_own_query ip6_own_query;\n\tstruct bridge_mcast_querier ip6_querier;\n};\n\nstruct net_bridge {\n\tspinlock_t lock;\n\tspinlock_t hash_lock;\n\tstruct hlist_head frame_type_list;\n\tstruct net_device *dev;\n\tlong unsigned int options;\n\tstruct rhashtable fdb_hash_tbl;\n\tstruct list_head port_list;\n\tu16 group_fwd_mask;\n\tu16 group_fwd_mask_required;\n\tbridge_id designated_root;\n\tbridge_id bridge_id;\n\tunsigned char topology_change;\n\tunsigned char topology_change_detected;\n\tu16 root_port;\n\tlong unsigned int max_age;\n\tlong unsigned int hello_time;\n\tlong unsigned int forward_delay;\n\tlong unsigned int ageing_time;\n\tlong unsigned int bridge_max_age;\n\tlong unsigned int bridge_hello_time;\n\tlong unsigned int bridge_forward_delay;\n\tlong unsigned int bridge_ageing_time;\n\tu32 root_path_cost;\n\tu8 group_addr[6];\n\tenum {\n\t\tBR_NO_STP = 0,\n\t\tBR_KERNEL_STP = 1,\n\t\tBR_USER_STP = 2,\n\t} stp_enabled;\n\tstruct net_bridge_mcast multicast_ctx;\n\tstruct bridge_mcast_stats *mcast_stats;\n\tu32 hash_max;\n\tspinlock_t multicast_lock;\n\tstruct rhashtable mdb_hash_tbl;\n\tstruct rhashtable sg_port_tbl;\n\tstruct hlist_head mcast_gc_list;\n\tstruct hlist_head mdb_list;\n\tstruct work_struct mcast_gc_work;\n\tstruct timer_list hello_timer;\n\tstruct timer_list tcn_timer;\n\tstruct timer_list topology_change_timer;\n\tstruct delayed_work gc_work;\n\tstruct kobject *ifobj;\n\tu32 auto_cnt;\n\tatomic_t fdb_n_learned;\n\tu32 fdb_max_learned;\n\tstruct hlist_head fdb_list;\n};\n\nstruct net_bridge_fdb_key {\n\tmac_addr addr;\n\tu16 vlan_id;\n};\n\nstruct net_bridge_port;\n\nstruct net_bridge_fdb_entry {\n\tstruct rhash_head rhnode;\n\tstruct net_bridge_port *dst;\n\tstruct net_bridge_fdb_key key;\n\tstruct hlist_node fdb_node;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct net_bridge_mcast_port {\n\tstruct net_bridge_port *port;\n\tstruct net_bridge_vlan *vlan;\n\tstruct bridge_mcast_own_query ip4_own_query;\n\tstruct timer_list ip4_mc_router_timer;\n\tstruct hlist_node ip4_rlist;\n\tstruct bridge_mcast_own_query ip6_own_query;\n\tstruct timer_list ip6_mc_router_timer;\n\tstruct hlist_node ip6_rlist;\n\tunsigned char multicast_router;\n\tu32 mdb_n_entries;\n\tu32 mdb_max_entries;\n};\n\nstruct netpoll;\n\nstruct net_bridge_port {\n\tstruct net_bridge *br;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tstruct net_bridge_port *backup_port;\n\tu32 backup_nhid;\n\tu8 priority;\n\tu8 state;\n\tu16 port_no;\n\tunsigned char topology_change_ack;\n\tunsigned char config_pending;\n\tport_id port_id;\n\tport_id designated_port;\n\tbridge_id designated_root;\n\tbridge_id designated_bridge;\n\tu32 path_cost;\n\tu32 designated_cost;\n\tlong unsigned int designated_age;\n\tstruct timer_list forward_delay_timer;\n\tstruct timer_list hold_timer;\n\tstruct timer_list message_age_timer;\n\tstruct kobject kobj;\n\tstruct callback_head rcu;\n\tstruct net_bridge_mcast_port multicast_ctx;\n\tstruct bridge_mcast_stats *mcast_stats;\n\tu32 multicast_eht_hosts_limit;\n\tu32 multicast_eht_hosts_cnt;\n\tstruct hlist_head mglist;\n\tchar sysfs_name[16];\n\tstruct netpoll *np;\n\tu16 group_fwd_mask;\n\tu16 backup_redirected_cnt;\n\tstruct bridge_stp_xstats stp_xstats;\n};\n\nstruct pcpu_sw_netstats;\n\nstruct net_bridge_vlan {\n\tstruct rhash_head vnode;\n\tstruct rhash_head tnode;\n\tu16 vid;\n\tu16 flags;\n\tu16 priv_flags;\n\tu8 state;\n\tstruct pcpu_sw_netstats *stats;\n\tunion {\n\t\tstruct net_bridge *br;\n\t\tstruct net_bridge_port *port;\n\t};\n\tunion {\n\t\trefcount_t refcnt;\n\t\tstruct net_bridge_vlan *brvlan;\n\t};\n\tstruct br_tunnel_info tinfo;\n\tunion {\n\t\tstruct net_bridge_mcast br_mcast_ctx;\n\t\tstruct net_bridge_mcast_port port_mcast_ctx;\n\t};\n\tu16 msti;\n\tstruct list_head vlist;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_tc_txq {\n\tu16 count;\n\tu16 offset;\n};\n\ntypedef rx_handler_result_t rx_handler_func_t(struct sk_buff **);\n\nstruct net_device_stats {\n\tunion {\n\t\tlong unsigned int rx_packets;\n\t\tatomic_long_t __rx_packets;\n\t};\n\tunion {\n\t\tlong unsigned int tx_packets;\n\t\tatomic_long_t __tx_packets;\n\t};\n\tunion {\n\t\tlong unsigned int rx_bytes;\n\t\tatomic_long_t __rx_bytes;\n\t};\n\tunion {\n\t\tlong unsigned int tx_bytes;\n\t\tatomic_long_t __tx_bytes;\n\t};\n\tunion {\n\t\tlong unsigned int rx_errors;\n\t\tatomic_long_t __rx_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_errors;\n\t\tatomic_long_t __tx_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_dropped;\n\t\tatomic_long_t __rx_dropped;\n\t};\n\tunion {\n\t\tlong unsigned int tx_dropped;\n\t\tatomic_long_t __tx_dropped;\n\t};\n\tunion {\n\t\tlong unsigned int multicast;\n\t\tatomic_long_t __multicast;\n\t};\n\tunion {\n\t\tlong unsigned int collisions;\n\t\tatomic_long_t __collisions;\n\t};\n\tunion {\n\t\tlong unsigned int rx_length_errors;\n\t\tatomic_long_t __rx_length_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_over_errors;\n\t\tatomic_long_t __rx_over_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_crc_errors;\n\t\tatomic_long_t __rx_crc_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_frame_errors;\n\t\tatomic_long_t __rx_frame_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_fifo_errors;\n\t\tatomic_long_t __rx_fifo_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_missed_errors;\n\t\tatomic_long_t __rx_missed_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_aborted_errors;\n\t\tatomic_long_t __tx_aborted_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_carrier_errors;\n\t\tatomic_long_t __tx_carrier_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_fifo_errors;\n\t\tatomic_long_t __tx_fifo_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_heartbeat_errors;\n\t\tatomic_long_t __tx_heartbeat_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_window_errors;\n\t\tatomic_long_t __tx_window_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_compressed;\n\t\tatomic_long_t __rx_compressed;\n\t};\n\tunion {\n\t\tlong unsigned int tx_compressed;\n\t\tatomic_long_t __tx_compressed;\n\t};\n};\n\nstruct netdev_hw_addr_list {\n\tstruct list_head list;\n\tint count;\n\tstruct rb_root tree;\n};\n\nstruct sfp_bus;\n\nstruct udp_tunnel_nic;\n\nstruct net_device_ops;\n\nstruct xps_dev_maps;\n\nstruct pcpu_lstats;\n\nstruct pcpu_dstats;\n\nstruct netdev_rx_queue;\n\nstruct netpoll_info;\n\nstruct netdev_name_node;\n\nstruct xdp_metadata_ops;\n\nstruct xsk_tx_metadata_ops;\n\nstruct net_device_core_stats;\n\nstruct vlan_info;\n\nstruct xdp_dev_bulk_queue;\n\nstruct netdev_stat_ops;\n\nstruct netdev_queue_mgmt_ops;\n\nstruct phy_link_topology;\n\nstruct udp_tunnel_nic_info;\n\nstruct netdev_config;\n\nstruct rtnl_hw_stats64;\n\nstruct net_device {\n\t__u8 __cacheline_group_begin__net_device_read_tx[0];\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int priv_flags: 32;\n\t\t\tlong unsigned int lltx: 1;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int priv_flags: 32;\n\t\t\tlong unsigned int lltx: 1;\n\t\t} priv_flags_fast;\n\t};\n\tconst struct net_device_ops *netdev_ops;\n\tconst struct header_ops *header_ops;\n\tstruct netdev_queue *_tx;\n\tnetdev_features_t gso_partial_features;\n\tunsigned int real_num_tx_queues;\n\tunsigned int gso_max_size;\n\tunsigned int gso_ipv4_max_size;\n\tu16 gso_max_segs;\n\ts16 num_tc;\n\tunsigned int mtu;\n\tshort unsigned int needed_headroom;\n\tstruct netdev_tc_txq tc_to_txq[16];\n\tstruct xps_dev_maps *xps_maps[2];\n\tstruct nf_hook_entries *nf_hooks_egress;\n\tstruct bpf_mprog_entry *tcx_egress;\n\t__u8 __cacheline_group_end__net_device_read_tx[0];\n\t__u8 __cacheline_group_begin__net_device_read_txrx[0];\n\tunion {\n\t\tstruct pcpu_lstats *lstats;\n\t\tstruct pcpu_sw_netstats *tstats;\n\t\tstruct pcpu_dstats *dstats;\n\t};\n\tlong unsigned int state;\n\tunsigned int flags;\n\tshort unsigned int hard_header_len;\n\tnetdev_features_t features;\n\tstruct inet6_dev *ip6_ptr;\n\t__u8 __cacheline_group_end__net_device_read_txrx[0];\n\t__u8 __cacheline_group_begin__net_device_read_rx[0];\n\tstruct bpf_prog *xdp_prog;\n\tstruct list_head ptype_specific;\n\tint ifindex;\n\tunsigned int real_num_rx_queues;\n\tstruct netdev_rx_queue *_rx;\n\tunsigned int gro_max_size;\n\tunsigned int gro_ipv4_max_size;\n\trx_handler_func_t *rx_handler;\n\tvoid *rx_handler_data;\n\tpossible_net_t nd_net;\n\tstruct netpoll_info *npinfo;\n\tstruct bpf_mprog_entry *tcx_ingress;\n\t__u8 __cacheline_group_end__net_device_read_rx[0];\n\tchar name[16];\n\tstruct netdev_name_node *name_node;\n\tstruct dev_ifalias *ifalias;\n\tlong unsigned int mem_end;\n\tlong unsigned int mem_start;\n\tlong unsigned int base_addr;\n\tstruct list_head dev_list;\n\tstruct list_head napi_list;\n\tstruct list_head unreg_list;\n\tstruct list_head close_list;\n\tstruct list_head ptype_all;\n\tstruct {\n\t\tstruct list_head upper;\n\t\tstruct list_head lower;\n\t} adj_list;\n\txdp_features_t xdp_features;\n\tconst struct xdp_metadata_ops *xdp_metadata_ops;\n\tconst struct xsk_tx_metadata_ops *xsk_tx_metadata_ops;\n\tshort unsigned int gflags;\n\tshort unsigned int needed_tailroom;\n\tnetdev_features_t hw_features;\n\tnetdev_features_t wanted_features;\n\tnetdev_features_t vlan_features;\n\tnetdev_features_t hw_enc_features;\n\tnetdev_features_t mpls_features;\n\tunsigned int min_mtu;\n\tunsigned int max_mtu;\n\tshort unsigned int type;\n\tunsigned char min_header_len;\n\tunsigned char name_assign_type;\n\tint group;\n\tstruct net_device_stats stats;\n\tstruct net_device_core_stats *core_stats;\n\tatomic_t carrier_up_count;\n\tatomic_t carrier_down_count;\n\tconst struct ethtool_ops *ethtool_ops;\n\tconst struct ndisc_ops *ndisc_ops;\n\tunsigned int operstate;\n\tunsigned char link_mode;\n\tunsigned char if_port;\n\tunsigned char dma;\n\tunsigned char perm_addr[32];\n\tunsigned char addr_assign_type;\n\tunsigned char addr_len;\n\tunsigned char upper_level;\n\tunsigned char lower_level;\n\tshort unsigned int neigh_priv_len;\n\tshort unsigned int dev_id;\n\tshort unsigned int dev_port;\n\tint irq;\n\tu32 priv_len;\n\tspinlock_t addr_list_lock;\n\tstruct netdev_hw_addr_list uc;\n\tstruct netdev_hw_addr_list mc;\n\tstruct netdev_hw_addr_list dev_addrs;\n\tstruct kset *queues_kset;\n\tunsigned int promiscuity;\n\tunsigned int allmulti;\n\tbool uc_promisc;\n\tstruct in_device *ip_ptr;\n\tstruct hlist_head fib_nh_head;\n\tstruct vlan_info *vlan_info;\n\tconst unsigned char *dev_addr;\n\tunsigned int num_rx_queues;\n\tunsigned int xdp_zc_max_segs;\n\tstruct netdev_queue *ingress_queue;\n\tstruct nf_hook_entries *nf_hooks_ingress;\n\tunsigned char broadcast[32];\n\tstruct cpu_rmap *rx_cpu_rmap;\n\tstruct hlist_node index_hlist;\n\tunsigned int num_tx_queues;\n\tstruct Qdisc *qdisc;\n\tunsigned int tx_queue_len;\n\tspinlock_t tx_global_lock;\n\tstruct xdp_dev_bulk_queue *xdp_bulkq;\n\tstruct hlist_head qdisc_hash[16];\n\tstruct timer_list watchdog_timer;\n\tint watchdog_timeo;\n\tu32 proto_down_reason;\n\tstruct list_head todo_list;\n\tint *pcpu_refcnt;\n\tstruct ref_tracker_dir refcnt_tracker;\n\tstruct list_head link_watch_list;\n\tu8 reg_state;\n\tbool dismantle;\n\tenum {\n\t\tRTNL_LINK_INITIALIZED = 0,\n\t\tRTNL_LINK_INITIALIZING = 1,\n\t} rtnl_link_state: 16;\n\tbool needs_free_netdev;\n\tvoid (*priv_destructor)(struct net_device *);\n\tvoid *ml_priv;\n\tenum netdev_ml_priv_type ml_priv_type;\n\tenum netdev_stat_type pcpu_stat_type: 8;\n\tstruct device dev;\n\tconst struct attribute_group *sysfs_groups[4];\n\tconst struct attribute_group *sysfs_rx_queue_group;\n\tconst struct rtnl_link_ops *rtnl_link_ops;\n\tconst struct netdev_stat_ops *stat_ops;\n\tconst struct netdev_queue_mgmt_ops *queue_mgmt_ops;\n\tunsigned int tso_max_size;\n\tu16 tso_max_segs;\n\tu8 prio_tc_map[16];\n\tstruct phy_link_topology *link_topo;\n\tstruct phy_device *phydev;\n\tstruct sfp_bus *sfp_bus;\n\tstruct lock_class_key *qdisc_tx_busylock;\n\tbool proto_down;\n\tbool threaded;\n\tlong unsigned int see_all_hwtstamp_requests: 1;\n\tlong unsigned int change_proto_down: 1;\n\tlong unsigned int netns_local: 1;\n\tlong unsigned int fcoe_mtu: 1;\n\tstruct list_head net_notifier_list;\n\tconst struct udp_tunnel_nic_info *udp_tunnel_nic_info;\n\tstruct udp_tunnel_nic *udp_tunnel_nic;\n\tstruct netdev_config *cfg;\n\tstruct netdev_config *cfg_pending;\n\tstruct ethtool_netdev_state *ethtool;\n\tstruct bpf_xdp_entity xdp_state[3];\n\tu8 dev_addr_shadow[32];\n\tnetdevice_tracker linkwatch_dev_tracker;\n\tnetdevice_tracker watchdog_dev_tracker;\n\tnetdevice_tracker dev_registered_tracker;\n\tstruct rtnl_hw_stats64 *offload_xstats_l3;\n\tstruct devlink_port *devlink_port;\n\tstruct hlist_head page_pools;\n\tstruct dim_irq_moder *irq_moder;\n\tu64 max_pacing_offload_horizon;\n\tstruct napi_config *napi_config;\n\tlong unsigned int gro_flush_timeout;\n\tu32 napi_defer_hard_irqs;\n\tbool up;\n\tstruct mutex lock;\n\tstruct hlist_head neighbours[2];\n\tstruct hwtstamp_provider *hwprov;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 priv[0];\n};\n\nstruct net_device_core_stats {\n\tlong unsigned int rx_dropped;\n\tlong unsigned int tx_dropped;\n\tlong unsigned int rx_nohandler;\n\tlong unsigned int rx_otherhost_dropped;\n};\n\nstruct net_device_devres {\n\tstruct net_device *ndev;\n};\n\nstruct rtnl_link_stats64;\n\nstruct netdev_bpf;\n\nstruct xdp_frame;\n\nstruct net_device_path_ctx;\n\nstruct net_device_path;\n\nstruct skb_shared_hwtstamps;\n\nstruct net_device_ops {\n\tint (*ndo_init)(struct net_device *);\n\tvoid (*ndo_uninit)(struct net_device *);\n\tint (*ndo_open)(struct net_device *);\n\tint (*ndo_stop)(struct net_device *);\n\tnetdev_tx_t (*ndo_start_xmit)(struct sk_buff *, struct net_device *);\n\tnetdev_features_t (*ndo_features_check)(struct sk_buff *, struct net_device *, netdev_features_t);\n\tu16 (*ndo_select_queue)(struct net_device *, struct sk_buff *, struct net_device *);\n\tvoid (*ndo_change_rx_flags)(struct net_device *, int);\n\tvoid (*ndo_set_rx_mode)(struct net_device *);\n\tint (*ndo_set_mac_address)(struct net_device *, void *);\n\tint (*ndo_validate_addr)(struct net_device *);\n\tint (*ndo_do_ioctl)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_eth_ioctl)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_siocbond)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_siocwandev)(struct net_device *, struct if_settings *);\n\tint (*ndo_siocdevprivate)(struct net_device *, struct ifreq *, void *, int);\n\tint (*ndo_set_config)(struct net_device *, struct ifmap *);\n\tint (*ndo_change_mtu)(struct net_device *, int);\n\tint (*ndo_neigh_setup)(struct net_device *, struct neigh_parms *);\n\tvoid (*ndo_tx_timeout)(struct net_device *, unsigned int);\n\tvoid (*ndo_get_stats64)(struct net_device *, struct rtnl_link_stats64 *);\n\tbool (*ndo_has_offload_stats)(const struct net_device *, int);\n\tint (*ndo_get_offload_stats)(int, const struct net_device *, void *);\n\tstruct net_device_stats * (*ndo_get_stats)(struct net_device *);\n\tint (*ndo_vlan_rx_add_vid)(struct net_device *, __be16, u16);\n\tint (*ndo_vlan_rx_kill_vid)(struct net_device *, __be16, u16);\n\tvoid (*ndo_poll_controller)(struct net_device *);\n\tint (*ndo_netpoll_setup)(struct net_device *);\n\tvoid (*ndo_netpoll_cleanup)(struct net_device *);\n\tint (*ndo_set_vf_mac)(struct net_device *, int, u8 *);\n\tint (*ndo_set_vf_vlan)(struct net_device *, int, u16, u8, __be16);\n\tint (*ndo_set_vf_rate)(struct net_device *, int, int, int);\n\tint (*ndo_set_vf_spoofchk)(struct net_device *, int, bool);\n\tint (*ndo_set_vf_trust)(struct net_device *, int, bool);\n\tint (*ndo_get_vf_config)(struct net_device *, int, struct ifla_vf_info *);\n\tint (*ndo_set_vf_link_state)(struct net_device *, int, int);\n\tint (*ndo_get_vf_stats)(struct net_device *, int, struct ifla_vf_stats *);\n\tint (*ndo_set_vf_port)(struct net_device *, int, struct nlattr **);\n\tint (*ndo_get_vf_port)(struct net_device *, int, struct sk_buff *);\n\tint (*ndo_get_vf_guid)(struct net_device *, int, struct ifla_vf_guid *, struct ifla_vf_guid *);\n\tint (*ndo_set_vf_guid)(struct net_device *, int, u64, int);\n\tint (*ndo_set_vf_rss_query_en)(struct net_device *, int, bool);\n\tint (*ndo_setup_tc)(struct net_device *, enum tc_setup_type, void *);\n\tint (*ndo_rx_flow_steer)(struct net_device *, const struct sk_buff *, u16, u32);\n\tint (*ndo_add_slave)(struct net_device *, struct net_device *, struct netlink_ext_ack *);\n\tint (*ndo_del_slave)(struct net_device *, struct net_device *);\n\tstruct net_device * (*ndo_get_xmit_slave)(struct net_device *, struct sk_buff *, bool);\n\tstruct net_device * (*ndo_sk_get_lower_dev)(struct net_device *, struct sock *);\n\tnetdev_features_t (*ndo_fix_features)(struct net_device *, netdev_features_t);\n\tint (*ndo_set_features)(struct net_device *, netdev_features_t);\n\tint (*ndo_neigh_construct)(struct net_device *, struct neighbour *);\n\tvoid (*ndo_neigh_destroy)(struct net_device *, struct neighbour *);\n\tint (*ndo_fdb_add)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, bool *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_del)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, bool *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_del_bulk)(struct nlmsghdr *, struct net_device *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_dump)(struct sk_buff *, struct netlink_callback *, struct net_device *, struct net_device *, int *);\n\tint (*ndo_fdb_get)(struct sk_buff *, struct nlattr **, struct net_device *, const unsigned char *, u16, u32, u32, struct netlink_ext_ack *);\n\tint (*ndo_mdb_add)(struct net_device *, struct nlattr **, u16, struct netlink_ext_ack *);\n\tint (*ndo_mdb_del)(struct net_device *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*ndo_mdb_del_bulk)(struct net_device *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*ndo_mdb_dump)(struct net_device *, struct sk_buff *, struct netlink_callback *);\n\tint (*ndo_mdb_get)(struct net_device *, struct nlattr **, u32, u32, struct netlink_ext_ack *);\n\tint (*ndo_bridge_setlink)(struct net_device *, struct nlmsghdr *, u16, struct netlink_ext_ack *);\n\tint (*ndo_bridge_getlink)(struct sk_buff *, u32, u32, struct net_device *, u32, int);\n\tint (*ndo_bridge_dellink)(struct net_device *, struct nlmsghdr *, u16);\n\tint (*ndo_change_carrier)(struct net_device *, bool);\n\tint (*ndo_get_phys_port_id)(struct net_device *, struct netdev_phys_item_id *);\n\tint (*ndo_get_port_parent_id)(struct net_device *, struct netdev_phys_item_id *);\n\tint (*ndo_get_phys_port_name)(struct net_device *, char *, size_t);\n\tvoid * (*ndo_dfwd_add_station)(struct net_device *, struct net_device *);\n\tvoid (*ndo_dfwd_del_station)(struct net_device *, void *);\n\tint (*ndo_set_tx_maxrate)(struct net_device *, int, u32);\n\tint (*ndo_get_iflink)(const struct net_device *);\n\tint (*ndo_fill_metadata_dst)(struct net_device *, struct sk_buff *);\n\tvoid (*ndo_set_rx_headroom)(struct net_device *, int);\n\tint (*ndo_bpf)(struct net_device *, struct netdev_bpf *);\n\tint (*ndo_xdp_xmit)(struct net_device *, int, struct xdp_frame **, u32);\n\tstruct net_device * (*ndo_xdp_get_xmit_slave)(struct net_device *, struct xdp_buff *);\n\tint (*ndo_xsk_wakeup)(struct net_device *, u32, u32);\n\tint (*ndo_tunnel_ctl)(struct net_device *, struct ip_tunnel_parm_kern *, int);\n\tstruct net_device * (*ndo_get_peer_dev)(struct net_device *);\n\tint (*ndo_fill_forward_path)(struct net_device_path_ctx *, struct net_device_path *);\n\tktime_t (*ndo_get_tstamp)(struct net_device *, const struct skb_shared_hwtstamps *, bool);\n\tint (*ndo_hwtstamp_get)(struct net_device *, struct kernel_hwtstamp_config *);\n\tint (*ndo_hwtstamp_set)(struct net_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n};\n\nstruct net_device_path {\n\tenum net_device_path_type type;\n\tconst struct net_device *dev;\n\tunion {\n\t\tstruct {\n\t\t\tu16 id;\n\t\t\t__be16 proto;\n\t\t\tu8 h_dest[6];\n\t\t} encap;\n\t\tstruct {\n\t\t\tenum {\n\t\t\t\tDEV_PATH_BR_VLAN_KEEP = 0,\n\t\t\t\tDEV_PATH_BR_VLAN_TAG = 1,\n\t\t\t\tDEV_PATH_BR_VLAN_UNTAG = 2,\n\t\t\t\tDEV_PATH_BR_VLAN_UNTAG_HW = 3,\n\t\t\t} vlan_mode;\n\t\t\tu16 vlan_id;\n\t\t\t__be16 vlan_proto;\n\t\t} bridge;\n\t\tstruct {\n\t\t\tint port;\n\t\t\tu16 proto;\n\t\t} dsa;\n\t\tstruct {\n\t\t\tu8 wdma_idx;\n\t\t\tu8 queue;\n\t\t\tu16 wcid;\n\t\t\tu8 bss;\n\t\t\tu8 amsdu;\n\t\t} mtk_wdma;\n\t};\n};\n\nstruct net_device_path_ctx {\n\tconst struct net_device *dev;\n\tu8 daddr[6];\n\tint num_vlans;\n\tstruct {\n\t\tu16 id;\n\t\t__be16 proto;\n\t} vlan[2];\n};\n\nstruct net_device_path_stack {\n\tint num_paths;\n\tstruct net_device_path path[5];\n};\n\nstruct net_devmem_dmabuf_binding {\n\tstruct dma_buf *dmabuf;\n\tstruct dma_buf_attachment *attachment;\n\tstruct sg_table *sgt;\n\tstruct net_device *dev;\n\tstruct gen_pool *chunk_pool;\n\trefcount_t ref;\n\tstruct list_head list;\n\tstruct xarray bound_rxqs;\n\tu32 id;\n};\n\nstruct net_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint flags;\n\tint cmd;\n\tint nsid;\n\tbool add_ref;\n\tint ref_nsid;\n};\n\nstruct net_generic {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int len;\n\t\t\tstruct callback_head rcu;\n\t\t} s;\n\t\tstruct {\n\t\t\tstruct {} __empty_ptr;\n\t\t\tvoid *ptr[0];\n\t\t};\n\t};\n};\n\nstruct offload_callbacks {\n\tstruct sk_buff * (*gso_segment)(struct sk_buff *, netdev_features_t);\n\tstruct sk_buff * (*gro_receive)(struct list_head *, struct sk_buff *);\n\tint (*gro_complete)(struct sk_buff *, int);\n};\n\nstruct packet_offload {\n\t__be16 type;\n\tu16 priority;\n\tstruct offload_callbacks callbacks;\n\tstruct list_head list;\n};\n\nstruct net_offload {\n\tstruct offload_callbacks callbacks;\n\tunsigned int flags;\n\tu32 secret;\n};\n\nstruct net_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tunsigned int no_policy: 1;\n\tunsigned int icmp_strict_tag_validation: 1;\n\tu32 secret;\n};\n\nstruct rps_sock_flow_table;\n\nstruct net_hotdata {\n\tstruct packet_offload ip_packet_offload;\n\tstruct net_offload tcpv4_offload;\n\tstruct net_protocol tcp_protocol;\n\tstruct net_offload udpv4_offload;\n\tstruct net_protocol udp_protocol;\n\tstruct packet_offload ipv6_packet_offload;\n\tstruct net_offload tcpv6_offload;\n\tstruct inet6_protocol tcpv6_protocol;\n\tstruct inet6_protocol udpv6_protocol;\n\tstruct net_offload udpv6_offload;\n\tstruct list_head offload_base;\n\tstruct list_head ptype_all;\n\tstruct kmem_cache *skbuff_cache;\n\tstruct kmem_cache *skbuff_fclone_cache;\n\tstruct kmem_cache *skb_small_head_cache;\n\tstruct rps_sock_flow_table *rps_sock_flow_table;\n\tu32 rps_cpu_mask;\n\tint gro_normal_batch;\n\tint netdev_budget;\n\tint netdev_budget_usecs;\n\tint tstamp_prequeue;\n\tint max_backlog;\n\tint dev_tx_weight;\n\tint dev_rx_weight;\n\tint sysctl_max_skb_frags;\n\tint sysctl_skb_defer_max;\n\tint sysctl_mem_pcpu_rsv;\n};\n\nstruct net_iov {\n\tlong unsigned int __unused_padding;\n\tlong unsigned int pp_magic;\n\tstruct page_pool *pp;\n\tstruct dmabuf_genpool_chunk_owner *owner;\n\tlong unsigned int dma_addr;\n\tatomic_long_t pp_ref_count;\n};\n\nstruct net_packet_attrs {\n\tconst unsigned char *src;\n\tconst unsigned char *dst;\n\tu32 ip_src;\n\tu32 ip_dst;\n\tbool tcp;\n\tu16 sport;\n\tu16 dport;\n\tint timeout;\n\tint size;\n\tint max_size;\n\tu8 id;\n\tu16 queue_mapping;\n};\n\nstruct net_proto_family {\n\tint family;\n\tint (*create)(struct net *, struct socket *, int, int);\n\tstruct module *owner;\n};\n\nstruct net_rate_estimator {\n\tstruct gnet_stats_basic_sync *bstats;\n\tspinlock_t *stats_lock;\n\tbool running;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tu8 ewma_log;\n\tu8 intvl_log;\n\tseqcount_t seq;\n\tu64 last_packets;\n\tu64 last_bytes;\n\tu64 avpps;\n\tu64 avbps;\n\tlong unsigned int next_jiffies;\n\tstruct timer_list timer;\n\tstruct callback_head rcu;\n};\n\nstruct net_test {\n\tchar name[32];\n\tint (*fn)(struct net_device *);\n};\n\nstruct packet_type {\n\t__be16 type;\n\tbool ignore_outgoing;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tint (*func)(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *);\n\tvoid (*list_func)(struct list_head *, struct packet_type *, struct net_device *);\n\tbool (*id_match)(struct packet_type *, struct sock *);\n\tstruct net *af_packet_net;\n\tvoid *af_packet_priv;\n\tstruct list_head list;\n};\n\nstruct net_test_priv {\n\tstruct net_packet_attrs *packet;\n\tstruct packet_type pt;\n\tstruct completion comp;\n\tint double_vlan;\n\tint vlan_id;\n\tint ok;\n};\n\nstruct netconfmsg {\n\t__u8 ncm_family;\n};\n\nstruct netconsole_target_stats {\n\tu64_stats_t xmit_drop_count;\n\tu64_stats_t enomem_count;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct netpoll {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tchar dev_name[16];\n\tconst char *name;\n\tunion inet_addr local_ip;\n\tunion inet_addr remote_ip;\n\tbool ipv6;\n\tu16 local_port;\n\tu16 remote_port;\n\tu8 remote_mac[6];\n\tstruct sk_buff_head skb_pool;\n};\n\nstruct netconsole_target {\n\tstruct list_head list;\n\tstruct netconsole_target_stats stats;\n\tbool enabled;\n\tbool extended;\n\tbool release;\n\tstruct netpoll np;\n};\n\nstruct netdev_adjacent {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tbool master;\n\tbool ignore;\n\tu16 ref_nr;\n\tvoid *private;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_bonding_info {\n\tifslave slave;\n\tifbond master;\n};\n\nstruct xsk_buff_pool;\n\nstruct netdev_bpf {\n\tenum bpf_netdev_command command;\n\tunion {\n\t\tstruct {\n\t\t\tu32 flags;\n\t\t\tstruct bpf_prog *prog;\n\t\t\tstruct netlink_ext_ack *extack;\n\t\t};\n\t\tstruct {\n\t\t\tstruct bpf_offloaded_map *offmap;\n\t\t};\n\t\tstruct {\n\t\t\tstruct xsk_buff_pool *pool;\n\t\t\tu16 queue_id;\n\t\t} xsk;\n\t};\n};\n\nstruct netdev_config {\n\tu32 hds_thresh;\n\tu8 hds_config;\n};\n\nstruct netdev_hw_addr {\n\tstruct list_head list;\n\tstruct rb_node node;\n\tunsigned char addr[32];\n\tunsigned char type;\n\tbool global_use;\n\tint sync_cnt;\n\tint refcount;\n\tint synced;\n\tstruct callback_head callback_head;\n};\n\nstruct netdev_name_node {\n\tstruct hlist_node hlist;\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tconst char *name;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_nested_priv {\n\tunsigned char flags;\n\tvoid *data;\n};\n\nstruct netdev_net_notifier {\n\tstruct list_head list;\n\tstruct notifier_block *nb;\n};\n\nstruct netdev_nl_dump_ctx {\n\tlong unsigned int ifindex;\n\tunsigned int rxq_idx;\n\tunsigned int txq_idx;\n\tunsigned int napi_id;\n};\n\nstruct netdev_notifier_info {\n\tstruct net_device *dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct netdev_notifier_bonding_info {\n\tstruct netdev_notifier_info info;\n\tstruct netdev_bonding_info bonding_info;\n};\n\nstruct netdev_notifier_change_info {\n\tstruct netdev_notifier_info info;\n\tunsigned int flags_changed;\n};\n\nstruct netdev_notifier_changelowerstate_info {\n\tstruct netdev_notifier_info info;\n\tvoid *lower_state_info;\n};\n\nstruct netdev_notifier_changeupper_info {\n\tstruct netdev_notifier_info info;\n\tstruct net_device *upper_dev;\n\tbool master;\n\tbool linking;\n\tvoid *upper_info;\n};\n\nstruct netdev_notifier_info_ext {\n\tstruct netdev_notifier_info info;\n\tunion {\n\t\tu32 mtu;\n\t} ext;\n};\n\nstruct netdev_notifier_offload_xstats_rd;\n\nstruct netdev_notifier_offload_xstats_ru;\n\nstruct netdev_notifier_offload_xstats_info {\n\tstruct netdev_notifier_info info;\n\tenum netdev_offload_xstats_type type;\n\tunion {\n\t\tstruct netdev_notifier_offload_xstats_rd *report_delta;\n\t\tstruct netdev_notifier_offload_xstats_ru *report_used;\n\t};\n};\n\nstruct rtnl_hw_stats64 {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 rx_errors;\n\t__u64 tx_errors;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n\t__u64 multicast;\n};\n\nstruct netdev_notifier_offload_xstats_rd {\n\tstruct rtnl_hw_stats64 stats;\n\tbool used;\n};\n\nstruct netdev_notifier_offload_xstats_ru {\n\tbool used;\n};\n\nstruct netdev_notifier_pre_changeaddr_info {\n\tstruct netdev_notifier_info info;\n\tconst unsigned char *dev_addr;\n};\n\nstruct netdev_queue {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct Qdisc *qdisc;\n\tstruct Qdisc *qdisc_sleeping;\n\tstruct kobject kobj;\n\tlong unsigned int tx_maxrate;\n\tatomic_long_t trans_timeout;\n\tstruct net_device *sb_dev;\n\tlong: 64;\n\tlong: 64;\n\tstruct dql dql;\n\tspinlock_t _xmit_lock;\n\tint xmit_lock_owner;\n\tlong unsigned int trans_start;\n\tlong unsigned int state;\n\tstruct napi_struct *napi;\n\tint numa_node;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netdev_queue_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct netdev_queue *, char *);\n\tssize_t (*store)(struct netdev_queue *, const char *, size_t);\n};\n\nstruct netdev_queue_mgmt_ops {\n\tsize_t ndo_queue_mem_size;\n\tint (*ndo_queue_mem_alloc)(struct net_device *, void *, int);\n\tvoid (*ndo_queue_mem_free)(struct net_device *, void *);\n\tint (*ndo_queue_start)(struct net_device *, void *, int);\n\tint (*ndo_queue_stop)(struct net_device *, void *, int);\n};\n\nstruct netdev_queue_stats_rx {\n\tu64 bytes;\n\tu64 packets;\n\tu64 alloc_fail;\n\tu64 hw_drops;\n\tu64 hw_drop_overruns;\n\tu64 csum_unnecessary;\n\tu64 csum_none;\n\tu64 csum_bad;\n\tu64 hw_gro_packets;\n\tu64 hw_gro_bytes;\n\tu64 hw_gro_wire_packets;\n\tu64 hw_gro_wire_bytes;\n\tu64 hw_drop_ratelimits;\n};\n\nstruct netdev_queue_stats_tx {\n\tu64 bytes;\n\tu64 packets;\n\tu64 hw_drops;\n\tu64 hw_drop_errors;\n\tu64 csum_none;\n\tu64 needs_csum;\n\tu64 hw_gso_packets;\n\tu64 hw_gso_bytes;\n\tu64 hw_gso_wire_packets;\n\tu64 hw_gso_wire_bytes;\n\tu64 hw_drop_ratelimits;\n\tu64 stop;\n\tu64 wake;\n};\n\nstruct xdp_mem_info {\n\tu32 type;\n\tu32 id;\n};\n\nstruct xdp_rxq_info {\n\tstruct net_device *dev;\n\tu32 queue_index;\n\tu32 reg_state;\n\tstruct xdp_mem_info mem;\n\tu32 frag_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pp_memory_provider_params {\n\tvoid *mp_priv;\n};\n\nstruct rps_map;\n\nstruct rps_dev_flow_table;\n\nstruct netdev_rx_queue {\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct rps_map *rps_map;\n\tstruct rps_dev_flow_table *rps_flow_table;\n\tstruct kobject kobj;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct napi_struct *napi;\n\tstruct pp_memory_provider_params mp_params;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netdev_stat_ops {\n\tvoid (*get_queue_stats_rx)(struct net_device *, int, struct netdev_queue_stats_rx *);\n\tvoid (*get_queue_stats_tx)(struct net_device *, int, struct netdev_queue_stats_tx *);\n\tvoid (*get_base_stats)(struct net_device *, struct netdev_queue_stats_rx *, struct netdev_queue_stats_tx *);\n};\n\nstruct netdev_xmit {\n\tu16 recursion;\n\tu8 more;\n\tu8 skip_txqueue;\n};\n\nstruct netevent_redirect {\n\tstruct dst_entry *old;\n\tstruct dst_entry *new;\n\tstruct neighbour *neigh;\n\tconst void *daddr;\n};\n\nstruct netif_security_struct {\n\tstruct net *ns;\n\tint ifindex;\n\tu32 sid;\n};\n\nstruct netlink_broadcast_data {\n\tstruct sock *exclude_sk;\n\tstruct net *net;\n\tu32 portid;\n\tu32 group;\n\tint failure;\n\tint delivery_failure;\n\tint congested;\n\tint delivered;\n\tgfp_t allocation;\n\tstruct sk_buff *skb;\n\tstruct sk_buff *skb2;\n\tint (*tx_filter)(struct sock *, struct sk_buff *, void *);\n\tvoid *tx_data;\n};\n\nstruct netlink_callback {\n\tstruct sk_buff *skb;\n\tconst struct nlmsghdr *nlh;\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tvoid *data;\n\tstruct module *module;\n\tstruct netlink_ext_ack *extack;\n\tu16 family;\n\tu16 answer_flags;\n\tu32 min_dump_alloc;\n\tunsigned int prev_seq;\n\tunsigned int seq;\n\tint flags;\n\tbool strict_check;\n\tunion {\n\t\tu8 ctx[48];\n\t\tlong int args[6];\n\t};\n};\n\nstruct netlink_compare_arg {\n\tpossible_net_t pnet;\n\tu32 portid;\n};\n\nstruct netlink_dump_control {\n\tint (*start)(struct netlink_callback *);\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tstruct netlink_ext_ack *extack;\n\tvoid *data;\n\tstruct module *module;\n\tu32 min_dump_alloc;\n\tint flags;\n};\n\nstruct netlink_ext_ack {\n\tconst char *_msg;\n\tconst struct nlattr *bad_attr;\n\tconst struct nla_policy *policy;\n\tconst struct nlattr *miss_nest;\n\tu16 miss_type;\n\tu8 cookie[20];\n\tu8 cookie_len;\n\tchar _msg_buf[80];\n};\n\nstruct netlink_kernel_cfg {\n\tunsigned int groups;\n\tunsigned int flags;\n\tvoid (*input)(struct sk_buff *);\n\tint (*bind)(struct net *, int);\n\tvoid (*unbind)(struct net *, int);\n\tvoid (*release)(struct sock *, long unsigned int *);\n};\n\nstruct netlink_notify {\n\tstruct net *net;\n\tu32 portid;\n\tint protocol;\n};\n\nstruct netlink_policy_dump_state {\n\tunsigned int policy_idx;\n\tunsigned int attr_idx;\n\tunsigned int n_alloc;\n\tstruct {\n\t\tconst struct nla_policy *policy;\n\t\tunsigned int maxtype;\n\t} policies[0];\n};\n\nstruct netlink_range_validation {\n\tu64 min;\n\tu64 max;\n};\n\nstruct netlink_range_validation_signed {\n\ts64 min;\n\ts64 max;\n};\n\nstruct netlink_set_err_data {\n\tstruct sock *exclude_sk;\n\tu32 portid;\n\tu32 group;\n\tint code;\n};\n\nstruct scm_creds {\n\tu32 pid;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\nstruct netlink_skb_parms {\n\tstruct scm_creds creds;\n\t__u32 portid;\n\t__u32 dst_group;\n\t__u32 flags;\n\tstruct sock *sk;\n\tbool nsid_is_set;\n\tint nsid;\n};\n\nstruct netlink_sock {\n\tstruct sock sk;\n\tlong unsigned int flags;\n\tu32 portid;\n\tu32 dst_portid;\n\tu32 dst_group;\n\tu32 subscriptions;\n\tu32 ngroups;\n\tlong unsigned int *groups;\n\tlong unsigned int state;\n\tsize_t max_recvmsg_len;\n\twait_queue_head_t wait;\n\tbool bound;\n\tbool cb_running;\n\tint dump_done_errno;\n\tstruct netlink_callback cb;\n\tstruct mutex nl_cb_mutex;\n\tvoid (*netlink_rcv)(struct sk_buff *);\n\tint (*netlink_bind)(struct net *, int);\n\tvoid (*netlink_unbind)(struct net *, int);\n\tvoid (*netlink_release)(struct sock *, long unsigned int *);\n\tstruct module *module;\n\tstruct rhash_head node;\n\tstruct callback_head rcu;\n};\n\nstruct netlink_table {\n\tstruct rhashtable hash;\n\tstruct hlist_head mc_list;\n\tstruct listeners *listeners;\n\tunsigned int flags;\n\tunsigned int groups;\n\tstruct mutex *cb_mutex;\n\tstruct module *module;\n\tint (*bind)(struct net *, int);\n\tvoid (*unbind)(struct net *, int);\n\tvoid (*release)(struct sock *, long unsigned int *);\n\tint registered;\n};\n\nstruct netlink_tap {\n\tstruct net_device *dev;\n\tstruct module *module;\n\tstruct list_head list;\n};\n\nstruct netlink_tap_net {\n\tstruct list_head netlink_tap_all;\n\tstruct mutex netlink_tap_lock;\n};\n\nstruct netnode_security_struct {\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} addr;\n\tu32 sid;\n\tu16 family;\n};\n\nstruct netpoll_info {\n\trefcount_t refcnt;\n\tstruct semaphore dev_lock;\n\tstruct sk_buff_head txq;\n\tstruct delayed_work tx_work;\n\tstruct netpoll *netpoll;\n\tstruct callback_head rcu;\n};\n\nstruct netport_security_struct {\n\tu32 sid;\n\tu16 port;\n\tu8 protocol;\n};\n\nstruct netsfhdr {\n\t__be32 version;\n\t__be64 magic;\n\tu8 id;\n} __attribute__((packed));\n\nstruct new_utsname {\n\tchar sysname[65];\n\tchar nodename[65];\n\tchar release[65];\n\tchar version[65];\n\tchar machine[65];\n\tchar domainname[65];\n};\n\nstruct nh_info;\n\nstruct nh_group;\n\nstruct nexthop {\n\tstruct rb_node rb_node;\n\tstruct list_head fi_list;\n\tstruct list_head f6i_list;\n\tstruct list_head fdb_list;\n\tstruct list_head grp_list;\n\tstruct net *net;\n\tu32 id;\n\tu8 protocol;\n\tu8 nh_flags;\n\tbool is_group;\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tunion {\n\t\tstruct nh_info *nh_info;\n\t\tstruct nh_group *nh_grp;\n\t};\n};\n\nstruct nexthop_grp {\n\t__u32 id;\n\t__u8 weight;\n\t__u8 weight_high;\n\t__u16 resvd2;\n};\n\nstruct nf_conntrack {\n\trefcount_t use;\n};\n\nunion nf_inet_addr {\n\t__u32 all[4];\n\t__be32 ip;\n\t__be32 ip6[4];\n\tstruct in_addr in;\n\tstruct in6_addr in6;\n};\n\nunion nf_conntrack_man_proto {\n\t__be16 all;\n\tstruct {\n\t\t__be16 port;\n\t} tcp;\n\tstruct {\n\t\t__be16 port;\n\t} udp;\n\tstruct {\n\t\t__be16 id;\n\t} icmp;\n\tstruct {\n\t\t__be16 port;\n\t} dccp;\n\tstruct {\n\t\t__be16 port;\n\t} sctp;\n\tstruct {\n\t\t__be16 key;\n\t} gre;\n};\n\nstruct nf_conntrack_man {\n\tunion nf_inet_addr u3;\n\tunion nf_conntrack_man_proto u;\n\tu_int16_t l3num;\n};\n\nstruct nf_conntrack_tuple {\n\tstruct nf_conntrack_man src;\n\tstruct {\n\t\tunion nf_inet_addr u3;\n\t\tunion {\n\t\t\t__be16 all;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} tcp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} udp;\n\t\t\tstruct {\n\t\t\t\tu_int8_t type;\n\t\t\t\tu_int8_t code;\n\t\t\t} icmp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} dccp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} sctp;\n\t\t\tstruct {\n\t\t\t\t__be16 key;\n\t\t\t} gre;\n\t\t} u;\n\t\tu_int8_t protonum;\n\t\tstruct {} __nfct_hash_offsetend;\n\t\tu_int8_t dir;\n\t} dst;\n};\n\nstruct nf_conntrack_tuple_hash {\n\tstruct hlist_nulls_node hnnode;\n\tstruct nf_conntrack_tuple tuple;\n};\n\nstruct nf_ct_dccp {\n\tu_int8_t role[2];\n\tu_int8_t state;\n\tu_int8_t last_pkt;\n\tu_int8_t last_dir;\n\tu_int64_t handshake_seq;\n};\n\nstruct nf_ct_udp {\n\tlong unsigned int stream_ts;\n};\n\nstruct nf_ct_gre {\n\tunsigned int stream_timeout;\n\tunsigned int timeout;\n};\n\nunion nf_conntrack_proto {\n\tstruct nf_ct_dccp dccp;\n\tstruct ip_ct_sctp sctp;\n\tstruct ip_ct_tcp tcp;\n\tstruct nf_ct_udp udp;\n\tstruct nf_ct_gre gre;\n\tunsigned int tmpl_padto;\n};\n\nstruct nf_ct_ext;\n\nstruct nf_conn {\n\tstruct nf_conntrack ct_general;\n\tspinlock_t lock;\n\tu32 timeout;\n\tstruct nf_conntrack_tuple_hash tuplehash[2];\n\tlong unsigned int status;\n\tpossible_net_t ct_net;\n\tstruct hlist_node nat_bysource;\n\tstruct {} __nfct_init_offset;\n\tstruct nf_conn *master;\n\tu_int32_t secmark;\n\tstruct nf_ct_ext *ext;\n\tunion nf_conntrack_proto proto;\n};\n\nstruct nf_conn___init {\n\tstruct nf_conn ct;\n};\n\nstruct nf_conn_labels {\n\tlong unsigned int bits[2];\n};\n\nstruct nf_conntrack_zone {\n\tu16 id;\n\tu8 flags;\n\tu8 dir;\n};\n\nstruct nf_ct_ext {\n\tu8 offset[4];\n\tu8 len;\n\tunsigned int gen_id;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct nf_ct_hook {\n\tint (*update)(struct net *, struct sk_buff *);\n\tvoid (*destroy)(struct nf_conntrack *);\n\tbool (*get_tuple_skb)(struct nf_conntrack_tuple *, const struct sk_buff *);\n\tvoid (*attach)(struct sk_buff *, const struct sk_buff *);\n\tvoid (*set_closing)(struct nf_conntrack *);\n\tint (*confirm)(struct sk_buff *);\n};\n\nstruct nf_defrag_hook {\n\tstruct module *owner;\n\tint (*enable)(struct net *);\n\tvoid (*disable)(struct net *);\n};\n\nstruct nf_hook_entry {\n\tnf_hookfn *hook;\n\tvoid *priv;\n};\n\nstruct nf_hook_entries {\n\tu16 num_hook_entries;\n\tstruct nf_hook_entry hooks[0];\n};\n\nstruct nf_hook_entries_rcu_head {\n\tstruct callback_head head;\n\tvoid *allocation;\n};\n\nstruct nf_hook_state {\n\tu8 hook;\n\tu8 pf;\n\tstruct net_device *in;\n\tstruct net_device *out;\n\tstruct sock *sk;\n\tstruct net *net;\n\tint (*okfn)(struct net *, struct sock *, struct sk_buff *);\n};\n\nstruct nf_queue_entry;\n\nstruct nf_ipv6_ops {\n\tvoid (*route_input)(struct sk_buff *);\n\tint (*fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *));\n\tint (*reroute)(struct sk_buff *, const struct nf_queue_entry *);\n};\n\nstruct nf_log_buf {\n\tunsigned int count;\n\tchar buf[1020];\n};\n\nstruct nf_loginfo;\n\ntypedef void nf_logfn(struct net *, u_int8_t, unsigned int, const struct sk_buff *, const struct net_device *, const struct net_device *, const struct nf_loginfo *, const char *);\n\nstruct nf_logger {\n\tchar *name;\n\tenum nf_log_type type;\n\tnf_logfn *logfn;\n\tstruct module *me;\n};\n\nstruct nf_loginfo {\n\tu_int8_t type;\n\tunion {\n\t\tstruct {\n\t\t\tu_int32_t copy_len;\n\t\t\tu_int16_t group;\n\t\t\tu_int16_t qthreshold;\n\t\t\tu_int16_t flags;\n\t\t} ulog;\n\t\tstruct {\n\t\t\tu_int8_t level;\n\t\t\tu_int8_t logflags;\n\t\t} log;\n\t} u;\n};\n\nstruct nf_nat_hook {\n\tint (*parse_nat_setup)(struct nf_conn *, enum nf_nat_manip_type, const struct nlattr *);\n\tvoid (*decode_session)(struct sk_buff *, struct flowi *);\n\tvoid (*remove_nat_bysrc)(struct nf_conn *);\n};\n\nstruct nf_queue_entry {\n\tstruct list_head list;\n\tstruct sk_buff *skb;\n\tunsigned int id;\n\tunsigned int hook_index;\n\tstruct nf_hook_state state;\n\tu16 size;\n};\n\nstruct nf_queue_handler {\n\tint (*outfn)(struct nf_queue_entry *, unsigned int);\n\tvoid (*nf_hook_drop)(struct net *);\n};\n\nstruct nf_sockopt_ops {\n\tstruct list_head list;\n\tu_int8_t pf;\n\tint set_optmin;\n\tint set_optmax;\n\tint (*set)(struct sock *, int, sockptr_t, unsigned int);\n\tint get_optmin;\n\tint get_optmax;\n\tint (*get)(struct sock *, int, void *, int *);\n\tstruct module *owner;\n};\n\nstruct nfnl_ct_hook {\n\tsize_t (*build_size)(const struct nf_conn *);\n\tint (*build)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, u_int16_t, u_int16_t);\n\tint (*parse)(const struct nlattr *, struct nf_conn *);\n\tint (*attach_expect)(const struct nlattr *, struct nf_conn *, u32, u32);\n\tvoid (*seq_adjust)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, s32);\n};\n\nstruct nfs2_fh {\n\tchar data[32];\n};\n\nstruct nfs3_accessargs {\n\tstruct nfs_fh *fh;\n\t__u32 access;\n};\n\nstruct nfs_fattr;\n\nstruct nfs3_accessres {\n\tstruct nfs_fattr *fattr;\n\t__u32 access;\n};\n\nstruct nfs3_createargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tstruct iattr *sattr;\n\tenum nfs3_createmode createmode;\n\t__be32 verifier[2];\n};\n\nstruct rpc_procinfo;\n\nstruct rpc_message {\n\tconst struct rpc_procinfo *rpc_proc;\n\tvoid *rpc_argp;\n\tvoid *rpc_resp;\n\tconst struct cred *rpc_cred;\n};\n\nstruct nfs3_mkdirargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tstruct iattr *sattr;\n};\n\nstruct nfs3_symlinkargs {\n\tstruct nfs_fh *fromfh;\n\tconst char *fromname;\n\tunsigned int fromlen;\n\tstruct page **pages;\n\tunsigned int pathlen;\n\tstruct iattr *sattr;\n};\n\nstruct nfs3_mknodargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tenum nfs3_ftype type;\n\tstruct iattr *sattr;\n\tdev_t rdev;\n};\n\nstruct nfs3_diropres {\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs_fsid {\n\tuint64_t major;\n\tuint64_t minor;\n};\n\nstruct nfs4_string;\n\nstruct nfs4_threshold;\n\nstruct nfs4_label;\n\nstruct nfs_fattr {\n\tunsigned int valid;\n\tumode_t mode;\n\t__u32 nlink;\n\tkuid_t uid;\n\tkgid_t gid;\n\tdev_t rdev;\n\t__u64 size;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 blocksize;\n\t\t\t__u32 blocks;\n\t\t} nfs2;\n\t\tstruct {\n\t\t\t__u64 used;\n\t\t} nfs3;\n\t} du;\n\tstruct nfs_fsid fsid;\n\t__u64 fileid;\n\t__u64 mounted_on_fileid;\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tstruct timespec64 ctime;\n\t__u64 change_attr;\n\t__u64 pre_change_attr;\n\t__u64 pre_size;\n\tstruct timespec64 pre_mtime;\n\tstruct timespec64 pre_ctime;\n\tlong unsigned int time_start;\n\tlong unsigned int gencount;\n\tstruct nfs4_string *owner_name;\n\tstruct nfs4_string *group_name;\n\tstruct nfs4_threshold *mdsthreshold;\n\tstruct nfs4_label *label;\n};\n\nstruct nfs3_createdata {\n\tstruct rpc_message msg;\n\tunion {\n\t\tstruct nfs3_createargs create;\n\t\tstruct nfs3_mkdirargs mkdir;\n\t\tstruct nfs3_symlinkargs symlink;\n\t\tstruct nfs3_mknodargs mknod;\n\t} arg;\n\tstruct nfs3_diropres res;\n\tstruct nfs_fh fh;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_fattr dir_attr;\n};\n\nstruct nfs3_diropargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n};\n\nstruct nfs3_fh {\n\tshort unsigned int size;\n\tunsigned char data[64];\n};\n\nstruct nfs3_getaclargs {\n\tstruct nfs_fh *fh;\n\tint mask;\n\tstruct page **pages;\n};\n\nstruct nfs3_getaclres {\n\tstruct nfs_fattr *fattr;\n\tint mask;\n\tunsigned int acl_access_count;\n\tunsigned int acl_default_count;\n\tstruct posix_acl *acl_access;\n\tstruct posix_acl *acl_default;\n};\n\nstruct nfs3_linkargs {\n\tstruct nfs_fh *fromfh;\n\tstruct nfs_fh *tofh;\n\tconst char *toname;\n\tunsigned int tolen;\n};\n\nstruct nfs3_linkres {\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs3_readdirargs {\n\tstruct nfs_fh *fh;\n\t__u64 cookie;\n\t__be32 verf[2];\n\tbool plus;\n\tunsigned int count;\n\tstruct page **pages;\n};\n\nstruct nfs3_readdirres {\n\tstruct nfs_fattr *dir_attr;\n\t__be32 *verf;\n\tbool plus;\n};\n\nstruct nfs3_readlinkargs {\n\tstruct nfs_fh *fh;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tstruct page **pages;\n};\n\nstruct nfs3_sattrargs {\n\tstruct nfs_fh *fh;\n\tstruct iattr *sattr;\n\tunsigned int guard;\n\tstruct timespec64 guardtime;\n};\n\nstruct nfs3_setaclargs {\n\tstruct inode *inode;\n\tint mask;\n\tstruct posix_acl *acl_access;\n\tstruct posix_acl *acl_default;\n\tsize_t len;\n\tunsigned int npages;\n\tstruct page **pages;\n};\n\nstruct nfs4_sequence_args {\n\tstruct nfs4_slot *sa_slot;\n\tu8 sa_cache_this: 1;\n\tu8 sa_privileged: 1;\n};\n\nstruct nfs4_accessargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n\tu32 access;\n};\n\nstruct nfs4_sequence_res {\n\tstruct nfs4_slot *sr_slot;\n\tlong unsigned int sr_timestamp;\n\tint sr_status;\n\tu32 sr_status_flags;\n\tu32 sr_highest_slotid;\n\tu32 sr_target_highest_slotid;\n};\n\nstruct nfs_server;\n\nstruct nfs4_accessres {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tu32 supported;\n\tu32 access;\n};\n\nstruct nfs4_add_xprt_data {\n\tstruct nfs_client *clp;\n\tconst struct cred *cred;\n};\n\nstruct nfs4_cached_acl {\n\tenum nfs4_acl_type type;\n\tint cached;\n\tsize_t len;\n\tchar data[0];\n};\n\nstruct nfs4_call_sync_data {\n\tconst struct nfs_server *seq_server;\n\tstruct nfs4_sequence_args *seq_args;\n\tstruct nfs4_sequence_res *seq_res;\n};\n\nstruct nfs4_change_info {\n\tu32 atomic;\n\tu64 before;\n\tu64 after;\n};\n\nstruct nfs4_channel_attrs {\n\tu32 max_rqst_sz;\n\tu32 max_resp_sz;\n\tu32 max_resp_sz_cached;\n\tu32 max_ops;\n\tu32 max_reqs;\n};\n\nstruct nfs_seqid;\n\nstruct nfs4_layoutreturn_args;\n\nstruct nfs_closeargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n\tfmode_t fmode;\n\tu32 share_access;\n\tconst u32 *bitmask;\n\tu32 bitmask_store[3];\n\tstruct nfs4_layoutreturn_args *lr_args;\n};\n\nstruct nfs4_layoutreturn_res;\n\nstruct nfs_closeres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_seqid *seqid;\n\tconst struct nfs_server *server;\n\tstruct nfs4_layoutreturn_res *lr_res;\n\tint lr_ret;\n};\n\nstruct pnfs_layout_hdr;\n\nstruct pnfs_layout_range {\n\tu32 iomode;\n\tu64 offset;\n\tu64 length;\n};\n\nstruct nfs4_xdr_opaque_data;\n\nstruct nfs4_layoutreturn_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct pnfs_layout_hdr *layout;\n\tstruct inode *inode;\n\tstruct pnfs_layout_range range;\n\tnfs4_stateid stateid;\n\t__u32 layout_type;\n\tstruct nfs4_xdr_opaque_data *ld_private;\n};\n\nstruct nfs4_layoutreturn_res {\n\tstruct nfs4_sequence_res seq_res;\n\tu32 lrs_present;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs4_xdr_opaque_ops;\n\nstruct nfs4_xdr_opaque_data {\n\tconst struct nfs4_xdr_opaque_ops *ops;\n\tvoid *data;\n};\n\nstruct nfs4_state;\n\nstruct nfs4_closedata {\n\tstruct inode *inode;\n\tstruct nfs4_state *state;\n\tstruct nfs_closeargs arg;\n\tstruct nfs_closeres res;\n\tstruct {\n\t\tstruct nfs4_layoutreturn_args arg;\n\t\tstruct nfs4_layoutreturn_res res;\n\t\tstruct nfs4_xdr_opaque_data ld_private;\n\t\tu32 roc_barrier;\n\t\tbool roc;\n\t} lr;\n\tstruct nfs_fattr fattr;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs4_create_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tu32 ftype;\n\tunion {\n\t\tstruct {\n\t\t\tstruct page **pages;\n\t\t\tunsigned int len;\n\t\t} symlink;\n\t\tstruct {\n\t\t\tu32 specdata1;\n\t\t\tu32 specdata2;\n\t\t} device;\n\t} u;\n\tconst struct qstr *name;\n\tconst struct nfs_server *server;\n\tconst struct iattr *attrs;\n\tconst struct nfs_fh *dir_fh;\n\tconst u32 *bitmask;\n\tconst struct nfs4_label *label;\n\tumode_t umask;\n};\n\nstruct nfs4_create_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs4_change_info dir_cinfo;\n};\n\nstruct nfs4_createdata {\n\tstruct rpc_message msg;\n\tstruct nfs4_create_arg arg;\n\tstruct nfs4_create_res res;\n\tstruct nfs_fh fh;\n\tstruct nfs_fattr fattr;\n};\n\nstruct nfs4_delegattr {\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tbool atime_set;\n\tbool mtime_set;\n};\n\nstruct nfs4_delegreturnargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fhandle;\n\tconst nfs4_stateid *stateid;\n\tconst u32 *bitmask;\n\tu32 bitmask_store[3];\n\tstruct nfs4_layoutreturn_args *lr_args;\n\tstruct nfs4_delegattr *sattr_args;\n};\n\nstruct nfs4_delegreturnres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_server *server;\n\tstruct nfs4_layoutreturn_res *lr_res;\n\tint lr_ret;\n\tbool sattr_res;\n\tint sattr_ret;\n};\n\nstruct nfs4_delegreturndata {\n\tstruct nfs4_delegreturnargs args;\n\tstruct nfs4_delegreturnres res;\n\tstruct nfs_fh fh;\n\tnfs4_stateid stateid;\n\tlong unsigned int timestamp;\n\tstruct {\n\t\tstruct nfs4_layoutreturn_args arg;\n\t\tstruct nfs4_layoutreturn_res res;\n\t\tstruct nfs4_xdr_opaque_data ld_private;\n\t\tu32 roc_barrier;\n\t\tbool roc;\n\t} lr;\n\tstruct nfs4_delegattr sattr;\n\tstruct nfs_fattr fattr;\n\tint rpc_status;\n\tstruct inode *inode;\n};\n\nstruct nfs4_exception {\n\tstruct nfs4_state *state;\n\tstruct inode *inode;\n\tnfs4_stateid *stateid;\n\tlong int timeout;\n\tshort unsigned int retrans;\n\tunsigned char task_is_privileged: 1;\n\tunsigned char delay: 1;\n\tunsigned char recovering: 1;\n\tunsigned char retry: 1;\n\tbool interruptible;\n};\n\nstruct nfs4_string {\n\tunsigned int len;\n\tchar *data;\n};\n\nstruct nfs4_pathname {\n\tunsigned int ncomponents;\n\tstruct nfs4_string components[512];\n};\n\nstruct nfs4_fs_location {\n\tunsigned int nservers;\n\tstruct nfs4_string servers[10];\n\tstruct nfs4_pathname rootpath;\n};\n\nstruct nfs4_fs_locations {\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n\tstruct nfs4_pathname fs_path;\n\tint nlocations;\n\tstruct nfs4_fs_location locations[10];\n};\n\nstruct nfs4_fs_locations_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct nfs_fh *fh;\n\tconst struct qstr *name;\n\tstruct page *page;\n\tconst u32 *bitmask;\n\tclientid4 clientid;\n\tunsigned char migration: 1;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fs_locations_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_fs_locations *fs_locations;\n\tunsigned char migration: 1;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsid_present_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tclientid4 clientid;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsid_present_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fh *fh;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsinfo_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_fsinfo;\n\nstruct nfs4_fsinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fsinfo *fsinfo;\n};\n\nstruct nfs4_get_lease_time_args {\n\tstruct nfs4_sequence_args la_seq_args;\n};\n\nstruct nfs4_get_lease_time_res;\n\nstruct nfs4_get_lease_time_data {\n\tstruct nfs4_get_lease_time_args *args;\n\tstruct nfs4_get_lease_time_res *res;\n\tstruct nfs_client *clp;\n};\n\nstruct nfs4_get_lease_time_res {\n\tstruct nfs4_sequence_res lr_seq_res;\n\tstruct nfs_fsinfo *lr_fsinfo;\n};\n\nstruct nfs4_getattr_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_getattr_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs4_label {\n\tuint32_t lfs;\n\tuint32_t pi;\n\tu32 lsmid;\n\tu32 len;\n\tchar *label;\n};\n\nstruct nfs4_layoutdriver_data {\n\tstruct page **pages;\n\t__u32 pglen;\n\t__u32 len;\n};\n\nstruct nfs_open_context;\n\nstruct nfs4_layoutget_args {\n\tstruct nfs4_sequence_args seq_args;\n\t__u32 type;\n\tstruct pnfs_layout_range range;\n\t__u64 minlength;\n\t__u32 maxcount;\n\tstruct inode *inode;\n\tstruct nfs_open_context *ctx;\n\tnfs4_stateid stateid;\n\tstruct nfs4_layoutdriver_data layout;\n};\n\nstruct nfs4_layoutget_res {\n\tstruct nfs4_sequence_res seq_res;\n\tint status;\n\t__u32 return_on_close;\n\tstruct pnfs_layout_range range;\n\t__u32 type;\n\tnfs4_stateid stateid;\n\tstruct nfs4_layoutdriver_data *layoutp;\n};\n\nstruct nfs4_layoutget {\n\tstruct nfs4_layoutget_args args;\n\tstruct nfs4_layoutget_res res;\n\tconst struct cred *cred;\n\tstruct pnfs_layout_hdr *lo;\n\tgfp_t gfp_flags;\n};\n\nstruct nfs4_link_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_link_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs4_change_info cinfo;\n\tstruct nfs_fattr *dir_attr;\n};\n\nstruct nfs_seqid_counter {\n\tktime_t create_time;\n\tu64 owner_id;\n\tint flags;\n\tu32 counter;\n\tspinlock_t lock;\n\tstruct list_head list;\n\tstruct rpc_wait_queue wait;\n};\n\nstruct nfs4_lock_state {\n\tstruct list_head ls_locks;\n\tstruct nfs4_state *ls_state;\n\tlong unsigned int ls_flags;\n\tstruct nfs_seqid_counter ls_seqid;\n\tnfs4_stateid ls_stateid;\n\trefcount_t ls_count;\n\tfl_owner_t ls_owner;\n};\n\nstruct nfs_lowner {\n\t__u64 clientid;\n\t__u64 id;\n\tdev_t s_dev;\n};\n\nstruct nfs_lock_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_seqid *lock_seqid;\n\tnfs4_stateid lock_stateid;\n\tstruct nfs_seqid *open_seqid;\n\tnfs4_stateid open_stateid;\n\tstruct nfs_lowner lock_owner;\n\tunsigned char block: 1;\n\tunsigned char reclaim: 1;\n\tunsigned char new_lock: 1;\n\tunsigned char new_lock_owner: 1;\n};\n\nstruct nfs_lock_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *lock_seqid;\n\tstruct nfs_seqid *open_seqid;\n};\n\nstruct nfs4_lockdata {\n\tstruct nfs_lock_args arg;\n\tstruct nfs_lock_res res;\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_open_context *ctx;\n\tstruct file_lock fl;\n\tlong unsigned int timestamp;\n\tint rpc_status;\n\tint cancelled;\n\tstruct nfs_server *server;\n};\n\nstruct nfs4_lookup_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookup_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_fh *fh;\n};\n\nstruct nfs4_lookup_root_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookupp_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookupp_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_fh *fh;\n};\n\nstruct nfs4_mig_recovery_ops {\n\tint (*get_locations)(struct nfs_server *, struct nfs_fh *, struct nfs4_fs_locations *, struct page *, const struct cred *);\n\tint (*fsid_present)(struct inode *, const struct cred *);\n};\n\nstruct rpc_xprt;\n\nstruct rpc_call_ops;\n\nstruct nfs4_state_recovery_ops;\n\nstruct nfs4_state_maintenance_ops;\n\nstruct nfs4_minor_version_ops {\n\tu32 minor_version;\n\tunsigned int init_caps;\n\tint (*init_client)(struct nfs_client *);\n\tvoid (*shutdown_client)(struct nfs_client *);\n\tbool (*match_stateid)(const nfs4_stateid *, const nfs4_stateid *);\n\tint (*find_root_sec)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tvoid (*free_lock_state)(struct nfs_server *, struct nfs4_lock_state *);\n\tint (*test_and_free_expired)(struct nfs_server *, const nfs4_stateid *, const struct cred *);\n\tstruct nfs_seqid * (*alloc_seqid)(struct nfs_seqid_counter *, gfp_t);\n\tvoid (*session_trunk)(struct rpc_clnt *, struct rpc_xprt *, void *);\n\tconst struct rpc_call_ops *call_sync_ops;\n\tconst struct nfs4_state_recovery_ops *reboot_recovery_ops;\n\tconst struct nfs4_state_recovery_ops *nograce_recovery_ops;\n\tconst struct nfs4_state_maintenance_ops *state_renewal_ops;\n\tconst struct nfs4_mig_recovery_ops *mig_recovery_ops;\n};\n\nstruct nfs_string {\n\tunsigned int len;\n\tconst char *data;\n};\n\nstruct nfs4_mount_data {\n\tint version;\n\tint flags;\n\tint rsize;\n\tint wsize;\n\tint timeo;\n\tint retrans;\n\tint acregmin;\n\tint acregmax;\n\tint acdirmin;\n\tint acdirmax;\n\tstruct nfs_string client_addr;\n\tstruct nfs_string mnt_path;\n\tstruct nfs_string hostname;\n\tunsigned int host_addrlen;\n\tstruct sockaddr *host_addr;\n\tint proto;\n\tint auth_flavourlen;\n\tint *auth_flavours;\n};\n\nstruct nfs4_open_caps {\n\tu32 oa_share_access[1];\n\tu32 oa_share_deny[1];\n\tu32 oa_share_access_want[1];\n\tu32 oa_open_claim[1];\n\tu32 oa_createmode[1];\n};\n\nstruct nfs4_open_createattrs {\n\tstruct nfs4_label *label;\n\tstruct iattr *sattr;\n\tconst __u32 verf[2];\n};\n\nstruct nfs4_open_delegation {\n\t__u32 open_delegation_type;\n\tunion {\n\t\tstruct {\n\t\t\tfmode_t type;\n\t\t\t__u32 do_recall;\n\t\t\tnfs4_stateid stateid;\n\t\t\tlong unsigned int pagemod_limit;\n\t\t};\n\t\tstruct {\n\t\t\t__u32 why_no_delegation;\n\t\t\t__u32 will_notify;\n\t\t};\n\t};\n};\n\nstruct stateowner_id {\n\t__u64 create_time;\n\t__u64 uniquifier;\n};\n\nstruct nfs_openargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tstruct nfs_seqid *seqid;\n\tint open_flags;\n\tfmode_t fmode;\n\tu32 share_access;\n\tu32 access;\n\t__u64 clientid;\n\tstruct stateowner_id id;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iattr *attrs;\n\t\t\tnfs4_verifier verifier;\n\t\t};\n\t\tnfs4_stateid delegation;\n\t\t__u32 delegation_type;\n\t} u;\n\tconst struct qstr *name;\n\tconst struct nfs_server *server;\n\tconst u32 *bitmask;\n\tconst u32 *open_bitmap;\n\tenum open_claim_type4 claim;\n\tenum createmode4 createmode;\n\tconst struct nfs4_label *label;\n\tumode_t umask;\n\tstruct nfs4_layoutget_args *lg_args;\n};\n\nstruct nfs_openres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_fh fh;\n\tstruct nfs4_change_info cinfo;\n\t__u32 rflags;\n\tstruct nfs_fattr *f_attr;\n\tstruct nfs_seqid *seqid;\n\tconst struct nfs_server *server;\n\t__u32 attrset[3];\n\tstruct nfs4_string *owner;\n\tstruct nfs4_string *group_owner;\n\tstruct nfs4_open_delegation delegation;\n\t__u32 access_request;\n\t__u32 access_supported;\n\t__u32 access_result;\n\tstruct nfs4_layoutget_res *lg_res;\n};\n\nstruct nfs_open_confirmargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tnfs4_stateid *stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs_open_confirmres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs4_state_owner;\n\nstruct nfs4_opendata {\n\tstruct kref kref;\n\tstruct nfs_openargs o_arg;\n\tstruct nfs_openres o_res;\n\tstruct nfs_open_confirmargs c_arg;\n\tstruct nfs_open_confirmres c_res;\n\tstruct nfs4_string owner_name;\n\tstruct nfs4_string group_name;\n\tstruct nfs4_label *a_label;\n\tstruct nfs_fattr f_attr;\n\tstruct dentry *dir;\n\tstruct dentry *dentry;\n\tstruct nfs4_state_owner *owner;\n\tstruct nfs4_state *state;\n\tstruct iattr attrs;\n\tstruct nfs4_layoutget *lgp;\n\tlong unsigned int timestamp;\n\tbool rpc_done;\n\tbool file_created;\n\tbool is_recover;\n\tbool cancelled;\n\tint rpc_status;\n};\n\nstruct nfs4_pathconf_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_pathconf;\n\nstruct nfs4_pathconf_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_pathconf *pathconf;\n};\n\nstruct nfs4_readdir_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tu64 cookie;\n\tnfs4_verifier verifier;\n\tu32 count;\n\tstruct page **pages;\n\tunsigned int pgbase;\n\tconst u32 *bitmask;\n\tbool plus;\n};\n\nstruct nfs4_readdir_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_verifier verifier;\n\tunsigned int pgbase;\n};\n\nstruct nfs4_readlink {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tstruct page **pages;\n};\n\nstruct nfs4_readlink_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs4_renewdata {\n\tstruct nfs_client *client;\n\tlong unsigned int timestamp;\n};\n\nstruct rpcsec_gss_info {\n\tstruct rpcsec_gss_oid oid;\n\tu32 qop;\n\tu32 service;\n};\n\nstruct nfs4_secinfo4 {\n\tu32 flavor;\n\tstruct rpcsec_gss_info flavor_info;\n};\n\nstruct nfs4_secinfo_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n};\n\nstruct nfs4_secinfo_flavors {\n\tunsigned int num_flavors;\n\tstruct nfs4_secinfo4 flavors[0];\n};\n\nstruct nfs4_secinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_secinfo_flavors *flavors;\n};\n\nstruct nfs4_server_caps_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fhandle;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_server_caps_res {\n\tstruct nfs4_sequence_res seq_res;\n\tu32 attr_bitmask[3];\n\tu32 exclcreat_bitmask[3];\n\tu32 acl_bitmask;\n\tu32 has_links;\n\tu32 has_symlinks;\n\tu32 fh_expire_type;\n\tu32 case_insensitive;\n\tu32 case_preserving;\n\tstruct nfs4_open_caps open_caps;\n};\n\nstruct nfs4_sessionid {\n\tunsigned char data[16];\n};\n\nstruct nfs4_session;\n\nstruct nfs4_slot_table {\n\tstruct nfs4_session *session;\n\tstruct nfs4_slot *slots;\n\tlong unsigned int used_slots[16];\n\tspinlock_t slot_tbl_lock;\n\tstruct rpc_wait_queue slot_tbl_waitq;\n\twait_queue_head_t slot_waitq;\n\tu32 max_slots;\n\tu32 max_slotid;\n\tu32 highest_used_slotid;\n\tu32 target_highest_slotid;\n\tu32 server_highest_slotid;\n\ts32 d_target_highest_slotid;\n\ts32 d2_target_highest_slotid;\n\tlong unsigned int generation;\n\tstruct completion complete;\n\tlong unsigned int slot_tbl_state;\n};\n\nstruct nfs4_session {\n\tstruct nfs4_sessionid sess_id;\n\tu32 flags;\n\tlong unsigned int session_state;\n\tu32 hash_alg;\n\tu32 ssv_len;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_slot_table fc_slot_table;\n\tstruct nfs4_channel_attrs bc_attrs;\n\tstruct nfs4_slot_table bc_slot_table;\n\tstruct nfs_client *clp;\n};\n\nstruct nfs4_setclientid {\n\tconst nfs4_verifier *sc_verifier;\n\tu32 sc_prog;\n\tunsigned int sc_netid_len;\n\tchar sc_netid[6];\n\tunsigned int sc_uaddr_len;\n\tchar sc_uaddr[58];\n\tstruct nfs_client *sc_clnt;\n\tstruct rpc_cred *sc_cred;\n};\n\nstruct nfs4_setclientid_res {\n\tu64 clientid;\n\tnfs4_verifier confirm;\n};\n\nstruct nfs4_slot {\n\tstruct nfs4_slot_table *table;\n\tstruct nfs4_slot *next;\n\tlong unsigned int generation;\n\tu32 slot_nr;\n\tu32 seq_nr;\n\tu32 seq_nr_last_acked;\n\tu32 seq_nr_highest_sent;\n\tunsigned int privileged: 1;\n\tunsigned int seq_done: 1;\n};\n\nstruct nfs4_state {\n\tstruct list_head open_states;\n\tstruct list_head inode_states;\n\tstruct list_head lock_states;\n\tstruct nfs4_state_owner *owner;\n\tstruct inode *inode;\n\tlong unsigned int flags;\n\tspinlock_t state_lock;\n\tseqlock_t seqlock;\n\tnfs4_stateid stateid;\n\tnfs4_stateid open_stateid;\n\tunsigned int n_rdonly;\n\tunsigned int n_wronly;\n\tunsigned int n_rdwr;\n\tfmode_t state;\n\trefcount_t count;\n\twait_queue_head_t waitq;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs4_state_maintenance_ops {\n\tint (*sched_state_renewal)(struct nfs_client *, const struct cred *, unsigned int);\n\tconst struct cred * (*get_state_renewal_cred)(struct nfs_client *);\n\tint (*renew_lease)(struct nfs_client *, const struct cred *);\n};\n\nstruct nfs4_state_owner {\n\tstruct nfs_server *so_server;\n\tstruct list_head so_lru;\n\tlong unsigned int so_expires;\n\tstruct rb_node so_server_node;\n\tconst struct cred *so_cred;\n\tspinlock_t so_lock;\n\tatomic_t so_count;\n\tlong unsigned int so_flags;\n\tstruct list_head so_states;\n\tstruct nfs_seqid_counter so_seqid;\n\tstruct mutex so_delegreturn_mutex;\n};\n\nstruct nfs4_state_recovery_ops {\n\tint owner_flag_bit;\n\tint state_flag_bit;\n\tint (*recover_open)(struct nfs4_state_owner *, struct nfs4_state *);\n\tint (*recover_lock)(struct nfs4_state *, struct file_lock *);\n\tint (*establish_clid)(struct nfs_client *, const struct cred *);\n\tint (*reclaim_complete)(struct nfs_client *, const struct cred *);\n\tint (*detect_trunking)(struct nfs_client *, struct nfs_client **, const struct cred *);\n};\n\nstruct nfs4_statfs_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_fsstat;\n\nstruct nfs4_statfs_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fsstat *fsstat;\n};\n\nstruct nfs4_threshold {\n\t__u32 bm;\n\t__u32 l_type;\n\t__u64 rd_sz;\n\t__u64 wr_sz;\n\t__u64 rd_io_sz;\n\t__u64 wr_io_sz;\n};\n\nstruct nfs_locku_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_seqid *seqid;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs_locku_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs_lock_context;\n\nstruct nfs4_unlockdata {\n\tstruct nfs_locku_args arg;\n\tstruct nfs_locku_res res;\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_open_context *ctx;\n\tstruct nfs_lock_context *l_ctx;\n\tstruct file_lock fl;\n\tstruct nfs_server *server;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs4_xdr_opaque_ops {\n\tvoid (*encode)(struct xdr_stream *, const void *, const struct nfs4_xdr_opaque_data *);\n\tvoid (*free)(struct nfs4_xdr_opaque_data *);\n};\n\nstruct nfs_access_entry {\n\tstruct rb_node rb_node;\n\tstruct list_head lru;\n\tkuid_t fsuid;\n\tkgid_t fsgid;\n\tstruct group_info *group_info;\n\tu64 timestamp;\n\t__u32 mask;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_auth_info {\n\tunsigned int flavor_len;\n\trpc_authflavor_t flavors[12];\n};\n\nstruct nfs_cache_array_entry {\n\tu64 cookie;\n\tu64 ino;\n\tconst char *name;\n\tunsigned int name_len;\n\tunsigned char d_type;\n};\n\nstruct nfs_cache_array {\n\tu64 change_attr;\n\tu64 last_cookie;\n\tunsigned int size;\n\tunsigned char folio_full: 1;\n\tunsigned char folio_is_eof: 1;\n\tunsigned char cookies_are_ordered: 1;\n\tstruct nfs_cache_array_entry array[0];\n};\n\nstruct svc_serv;\n\nstruct nfs_callback_data {\n\tunsigned int users;\n\tstruct svc_serv *serv;\n};\n\nstruct xprtsec_parms {\n\tenum xprtsec_policies policy;\n\tkey_serial_t cert_serial;\n\tkey_serial_t privkey_serial;\n};\n\nstruct nfs41_server_owner;\n\nstruct nfs41_server_scope;\n\nstruct nfs41_impl_id;\n\nstruct nfs_rpc_ops;\n\nstruct nfs_subversion;\n\nstruct nfs_client {\n\trefcount_t cl_count;\n\tatomic_t cl_mds_count;\n\tint cl_cons_state;\n\tlong unsigned int cl_res_state;\n\tlong unsigned int cl_flags;\n\tstruct __kernel_sockaddr_storage cl_addr;\n\tsize_t cl_addrlen;\n\tchar *cl_hostname;\n\tchar *cl_acceptor;\n\tstruct list_head cl_share_link;\n\tstruct list_head cl_superblocks;\n\tstruct rpc_clnt *cl_rpcclient;\n\tconst struct nfs_rpc_ops *rpc_ops;\n\tint cl_proto;\n\tstruct nfs_subversion *cl_nfs_mod;\n\tu32 cl_minorversion;\n\tunsigned int cl_nconnect;\n\tunsigned int cl_max_connect;\n\tconst char *cl_principal;\n\tstruct xprtsec_parms cl_xprtsec;\n\tstruct list_head cl_ds_clients;\n\tu64 cl_clientid;\n\tnfs4_verifier cl_confirm;\n\tlong unsigned int cl_state;\n\tspinlock_t cl_lock;\n\tlong unsigned int cl_lease_time;\n\tlong unsigned int cl_last_renewal;\n\tstruct delayed_work cl_renewd;\n\tstruct rpc_wait_queue cl_rpcwaitq;\n\tstruct idmap *cl_idmap;\n\tconst char *cl_owner_id;\n\tu32 cl_cb_ident;\n\tconst struct nfs4_minor_version_ops *cl_mvops;\n\tlong unsigned int cl_mig_gen;\n\tstruct nfs4_slot_table *cl_slot_tbl;\n\tu32 cl_seqid;\n\tu32 cl_exchange_flags;\n\tstruct nfs4_session *cl_session;\n\tbool cl_preserve_clid;\n\tstruct nfs41_server_owner *cl_serverowner;\n\tstruct nfs41_server_scope *cl_serverscope;\n\tstruct nfs41_impl_id *cl_implid;\n\tlong unsigned int cl_sp4_flags;\n\tchar cl_ipaddr[48];\n\tstruct net *cl_net;\n\tstruct list_head pending_cb_stateids;\n\tstruct callback_head rcu;\n};\n\nstruct rpc_timeout;\n\nstruct nfs_client_initdata {\n\tlong unsigned int init_flags;\n\tconst char *hostname;\n\tconst struct __kernel_sockaddr_storage *addr;\n\tconst char *nodename;\n\tconst char *ip_addr;\n\tsize_t addrlen;\n\tstruct nfs_subversion *nfs_mod;\n\tint proto;\n\tu32 minorversion;\n\tunsigned int nconnect;\n\tunsigned int max_connect;\n\tstruct net *net;\n\tconst struct rpc_timeout *timeparms;\n\tconst struct cred *cred;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct nfs_clone_mount {\n\tstruct super_block *sb;\n\tstruct dentry *dentry;\n\tstruct nfs_fattr *fattr;\n\tunsigned int inherited_bsize;\n};\n\nstruct nfs_commit_data;\n\nstruct nfs_commit_info;\n\nstruct nfs_page;\n\nstruct nfs_commit_completion_ops {\n\tvoid (*completion)(struct nfs_commit_data *);\n\tvoid (*resched_write)(struct nfs_commit_info *, struct nfs_page *);\n};\n\nstruct rpc_wait {\n\tstruct list_head list;\n\tstruct list_head links;\n\tstruct list_head timer_list;\n};\n\nstruct rpc_rqst;\n\nstruct rpc_task {\n\tatomic_t tk_count;\n\tint tk_status;\n\tstruct list_head tk_task;\n\tvoid (*tk_callback)(struct rpc_task *);\n\tvoid (*tk_action)(struct rpc_task *);\n\tlong unsigned int tk_timeout;\n\tlong unsigned int tk_runstate;\n\tstruct rpc_wait_queue *tk_waitqueue;\n\tunion {\n\t\tstruct work_struct tk_work;\n\t\tstruct rpc_wait tk_wait;\n\t} u;\n\tstruct rpc_message tk_msg;\n\tvoid *tk_calldata;\n\tconst struct rpc_call_ops *tk_ops;\n\tstruct rpc_clnt *tk_client;\n\tstruct rpc_xprt *tk_xprt;\n\tstruct rpc_cred *tk_op_cred;\n\tstruct rpc_rqst *tk_rqstp;\n\tstruct workqueue_struct *tk_workqueue;\n\tktime_t tk_start;\n\tpid_t tk_owner;\n\tint tk_rpc_status;\n\tshort unsigned int tk_flags;\n\tshort unsigned int tk_timeouts;\n\tshort unsigned int tk_pid;\n\tunsigned char tk_priority: 2;\n\tunsigned char tk_garb_retry: 2;\n\tunsigned char tk_cred_retry: 2;\n};\n\nstruct nfs_write_verifier {\n\tchar data[8];\n};\n\nstruct nfs_writeverf {\n\tstruct nfs_write_verifier verifier;\n\tenum nfs3_stable_how committed;\n};\n\nstruct nfs_commitargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\t__u64 offset;\n\t__u32 count;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_commitres {\n\tstruct nfs4_sequence_res seq_res;\n\t__u32 op_status;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_writeverf *verf;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs_direct_req;\n\nstruct pnfs_layout_segment;\n\nstruct nfs_commit_data {\n\tstruct rpc_task task;\n\tstruct inode *inode;\n\tconst struct cred *cred;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_writeverf verf;\n\tstruct list_head pages;\n\tstruct list_head list;\n\tstruct nfs_direct_req *dreq;\n\tstruct nfs_commitargs args;\n\tstruct nfs_commitres res;\n\tstruct nfs_open_context *context;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct nfs_client *ds_clp;\n\tint ds_commit_index;\n\tloff_t lwb;\n\tconst struct rpc_call_ops *mds_ops;\n\tconst struct nfs_commit_completion_ops *completion_ops;\n\tint (*commit_done_cb)(struct rpc_task *, struct nfs_commit_data *);\n\tlong unsigned int flags;\n};\n\nstruct nfs_mds_commit_info;\n\nstruct pnfs_ds_commit_info;\n\nstruct nfs_commit_info {\n\tstruct inode *inode;\n\tstruct nfs_mds_commit_info *mds;\n\tstruct pnfs_ds_commit_info *ds;\n\tstruct nfs_direct_req *dreq;\n\tconst struct nfs_commit_completion_ops *completion_ops;\n};\n\nstruct nfs_delegation {\n\tstruct list_head super_list;\n\tconst struct cred *cred;\n\tstruct inode *inode;\n\tnfs4_stateid stateid;\n\tfmode_t type;\n\tlong unsigned int pagemod_limit;\n\t__u64 change_attr;\n\tlong unsigned int test_gen;\n\tlong unsigned int flags;\n\trefcount_t refcount;\n\tspinlock_t lock;\n\tstruct callback_head rcu;\n};\n\nstruct nfs_mds_commit_info {\n\tatomic_t rpcs_out;\n\tatomic_long_t ncommit;\n\tstruct list_head list;\n};\n\nstruct pnfs_ds_commit_info {};\n\nstruct nfs_direct_req {\n\tstruct kref kref;\n\tstruct nfs_open_context *ctx;\n\tstruct nfs_lock_context *l_ctx;\n\tstruct kiocb *iocb;\n\tstruct inode *inode;\n\tatomic_t io_count;\n\tspinlock_t lock;\n\tloff_t io_start;\n\tssize_t count;\n\tssize_t max_count;\n\tssize_t error;\n\tstruct completion completion;\n\tstruct nfs_mds_commit_info mds_cinfo;\n\tstruct pnfs_ds_commit_info ds_cinfo;\n\tstruct work_struct work;\n\tint flags;\n};\n\nstruct nfs_entry {\n\t__u64 ino;\n\t__u64 cookie;\n\tconst char *name;\n\tunsigned int len;\n\tint eof;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n\tunsigned char d_type;\n\tstruct nfs_server *server;\n};\n\nstruct nfsd_file;\n\nstruct nfs_file_localio {\n\tstruct nfsd_file *ro_file;\n\tstruct nfsd_file *rw_file;\n\tstruct list_head list;\n\tvoid *nfs_uuid;\n};\n\nstruct nfs_find_desc {\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs_fs_context {\n\tbool internal;\n\tbool skip_reconfig_option_check;\n\tbool need_mount;\n\tbool sloppy;\n\tunsigned int flags;\n\tunsigned int rsize;\n\tunsigned int wsize;\n\tunsigned int timeo;\n\tunsigned int retrans;\n\tunsigned int acregmin;\n\tunsigned int acregmax;\n\tunsigned int acdirmin;\n\tunsigned int acdirmax;\n\tunsigned int namlen;\n\tunsigned int options;\n\tunsigned int bsize;\n\tstruct nfs_auth_info auth_info;\n\trpc_authflavor_t selected_flavor;\n\tstruct xprtsec_parms xprtsec;\n\tchar *client_address;\n\tunsigned int version;\n\tunsigned int minorversion;\n\tchar *fscache_uniq;\n\tshort unsigned int protofamily;\n\tshort unsigned int mountfamily;\n\tbool has_sec_mnt_opts;\n\tint lock_status;\n\tstruct {\n\t\tunion {\n\t\t\tstruct sockaddr address;\n\t\t\tstruct __kernel_sockaddr_storage _address;\n\t\t};\n\t\tsize_t addrlen;\n\t\tchar *hostname;\n\t\tu32 version;\n\t\tint port;\n\t\tshort unsigned int protocol;\n\t} mount_server;\n\tstruct {\n\t\tunion {\n\t\t\tstruct sockaddr address;\n\t\t\tstruct __kernel_sockaddr_storage _address;\n\t\t};\n\t\tsize_t addrlen;\n\t\tchar *hostname;\n\t\tchar *export_path;\n\t\tint port;\n\t\tshort unsigned int protocol;\n\t\tshort unsigned int nconnect;\n\t\tshort unsigned int max_connect;\n\t\tshort unsigned int export_path_len;\n\t} nfs_server;\n\tstruct nfs_fh *mntfh;\n\tstruct nfs_server *server;\n\tstruct nfs_subversion *nfs_mod;\n\tstruct nfs_clone_mount clone_data;\n};\n\nstruct nfs_fsinfo {\n\tstruct nfs_fattr *fattr;\n\t__u32 rtmax;\n\t__u32 rtpref;\n\t__u32 rtmult;\n\t__u32 wtmax;\n\t__u32 wtpref;\n\t__u32 wtmult;\n\t__u32 dtpref;\n\t__u64 maxfilesize;\n\tstruct timespec64 time_delta;\n\t__u32 lease_time;\n\t__u32 nlayouttypes;\n\t__u32 layouttype[8];\n\t__u32 blksize;\n\t__u32 clone_blksize;\n\tenum nfs4_change_attr_type change_attr_type;\n\t__u32 xattr_support;\n};\n\nstruct nfs_fsstat {\n\tstruct nfs_fattr *fattr;\n\t__u64 tbytes;\n\t__u64 fbytes;\n\t__u64 abytes;\n\t__u64 tfiles;\n\t__u64 ffiles;\n\t__u64 afiles;\n};\n\nstruct nfs_getaclargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tstruct page **acl_pages;\n};\n\nstruct nfs_getaclres {\n\tstruct nfs4_sequence_res seq_res;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tsize_t acl_data_offset;\n\tint acl_flags;\n\tstruct page *acl_scratch;\n};\n\nstruct nfs_inode {\n\t__u64 fileid;\n\tstruct nfs_fh fh;\n\tlong unsigned int flags;\n\tlong unsigned int cache_validity;\n\tlong unsigned int read_cache_jiffies;\n\tlong unsigned int attrtimeo;\n\tlong unsigned int attrtimeo_timestamp;\n\tlong unsigned int attr_gencount;\n\tstruct rb_root access_cache;\n\tstruct list_head access_cache_entry_lru;\n\tstruct list_head access_cache_inode_lru;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int cache_change_attribute;\n\t\t\t__be32 cookieverf[2];\n\t\t\tstruct rw_semaphore rmdir_sem;\n\t\t};\n\t\tstruct {\n\t\t\tatomic_long_t nrequests;\n\t\t\tatomic_long_t redirtied_pages;\n\t\t\tstruct nfs_mds_commit_info commit_info;\n\t\t\tstruct mutex commit_mutex;\n\t\t};\n\t};\n\tstruct list_head open_files;\n\tstruct {\n\t\tint cnt;\n\t\tstruct {\n\t\t\tu64 start;\n\t\t\tu64 end;\n\t\t} gap[16];\n\t} *ooo;\n\tstruct nfs4_cached_acl *nfs4_acl;\n\tstruct list_head open_states;\n\tstruct nfs_delegation *delegation;\n\tstruct rw_semaphore rwsem;\n\tstruct pnfs_layout_hdr *layout;\n\t__u64 write_io;\n\t__u64 read_io;\n\tunion {\n\t\tstruct inode vfs_inode;\n\t};\n};\n\nstruct nfs_io_completion {\n\tvoid (*complete)(void *);\n\tvoid *data;\n\tstruct kref refcount;\n};\n\nstruct nfs_iostats {\n\tlong long unsigned int bytes[8];\n\tlong unsigned int events[27];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nfs_lock_context {\n\trefcount_t count;\n\tstruct list_head list;\n\tstruct nfs_open_context *open_context;\n\tfl_owner_t lockowner;\n\tatomic_t io_count;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_lockt_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_lowner lock_owner;\n};\n\nstruct nfs_lockt_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct file_lock *denied;\n};\n\nstruct sockaddr_in {\n\t__kernel_sa_family_t sin_family;\n\t__be16 sin_port;\n\tstruct in_addr sin_addr;\n\tunsigned char __pad[8];\n};\n\nstruct nfs_mount_data {\n\tint version;\n\tint fd;\n\tstruct nfs2_fh old_root;\n\tint flags;\n\tint rsize;\n\tint wsize;\n\tint timeo;\n\tint retrans;\n\tint acregmin;\n\tint acregmax;\n\tint acdirmin;\n\tint acdirmax;\n\tstruct sockaddr_in addr;\n\tchar hostname[256];\n\tint namlen;\n\tunsigned int bsize;\n\tstruct nfs3_fh root;\n\tint pseudoflavor;\n\tchar context[257];\n};\n\nstruct nfs_mount_request {\n\tstruct __kernel_sockaddr_storage *sap;\n\tsize_t salen;\n\tchar *hostname;\n\tchar *dirpath;\n\tu32 version;\n\tshort unsigned int protocol;\n\tstruct nfs_fh *fh;\n\tint noresvport;\n\tunsigned int *auth_flav_len;\n\trpc_authflavor_t *auth_flavs;\n\tstruct net *net;\n};\n\nstruct rpc_program;\n\nstruct rpc_stat {\n\tconst struct rpc_program *program;\n\tunsigned int netcnt;\n\tunsigned int netudpcnt;\n\tunsigned int nettcpcnt;\n\tunsigned int nettcpconn;\n\tunsigned int netreconn;\n\tunsigned int rpccnt;\n\tunsigned int rpcretrans;\n\tunsigned int rpcauthrefresh;\n\tunsigned int rpcgarbage;\n};\n\nstruct nfs_netns_client;\n\nstruct nfs_net {\n\tstruct cache_detail *nfs_dns_resolve;\n\tstruct rpc_pipe *bl_device_pipe;\n\tstruct bl_dev_msg bl_mount_reply;\n\twait_queue_head_t bl_wq;\n\tstruct mutex bl_mutex;\n\tstruct list_head nfs_client_list;\n\tstruct list_head nfs_volume_list;\n\tstruct idr cb_ident_idr;\n\tshort unsigned int nfs_callback_tcpport;\n\tshort unsigned int nfs_callback_tcpport6;\n\tint cb_users[1];\n\tstruct nfs_netns_client *nfs_client;\n\tspinlock_t nfs_client_lock;\n\tktime_t boot_time;\n\tstruct rpc_stat rpcstats;\n\tstruct proc_dir_entry *proc_nfsfs;\n};\n\nstruct nfs_netns_client {\n\tstruct kobject kobject;\n\tstruct kobject nfs_net_kobj;\n\tstruct net *net;\n\tconst char *identifier;\n};\n\nstruct nfs_open_context {\n\tstruct nfs_lock_context lock_context;\n\tfl_owner_t flock_owner;\n\tstruct dentry *dentry;\n\tconst struct cred *cred;\n\tstruct rpc_cred *ll_cred;\n\tstruct nfs4_state *state;\n\tfmode_t mode;\n\tint error;\n\tlong unsigned int flags;\n\tstruct nfs4_threshold *mdsthreshold;\n\tstruct list_head list;\n\tstruct callback_head callback_head;\n\tstruct nfs_file_localio nfl;\n};\n\nstruct nfs_open_dir_context {\n\tstruct list_head list;\n\tatomic_t cache_hits;\n\tatomic_t cache_misses;\n\tlong unsigned int attr_gencount;\n\t__be32 verf[2];\n\t__u64 dir_cookie;\n\t__u64 last_cookie;\n\tlong unsigned int page_index;\n\tunsigned int dtsize;\n\tbool force_clear;\n\tbool eof;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_page {\n\tstruct list_head wb_list;\n\tunion {\n\t\tstruct page *wb_page;\n\t\tstruct folio *wb_folio;\n\t};\n\tstruct nfs_lock_context *wb_lock_context;\n\tlong unsigned int wb_index;\n\tunsigned int wb_offset;\n\tunsigned int wb_pgbase;\n\tunsigned int wb_bytes;\n\tstruct kref wb_kref;\n\tlong unsigned int wb_flags;\n\tstruct nfs_write_verifier wb_verf;\n\tstruct nfs_page *wb_this_page;\n\tstruct nfs_page *wb_head;\n\tshort unsigned int wb_nio;\n};\n\nstruct nfs_page_array {\n\tstruct page **pagevec;\n\tunsigned int npages;\n\tstruct page *page_array[8];\n};\n\nstruct nfs_page_iter_page {\n\tconst struct nfs_page *req;\n\tsize_t count;\n};\n\nstruct nfs_pgio_mirror {\n\tstruct list_head pg_list;\n\tlong unsigned int pg_bytes_written;\n\tsize_t pg_count;\n\tsize_t pg_bsize;\n\tunsigned int pg_base;\n\tunsigned char pg_recoalesce: 1;\n};\n\nstruct nfs_pageio_ops;\n\nstruct nfs_rw_ops;\n\nstruct nfs_pgio_completion_ops;\n\nstruct nfs_pageio_descriptor {\n\tstruct inode *pg_inode;\n\tconst struct nfs_pageio_ops *pg_ops;\n\tconst struct nfs_rw_ops *pg_rw_ops;\n\tint pg_ioflags;\n\tint pg_error;\n\tconst struct rpc_call_ops *pg_rpc_callops;\n\tconst struct nfs_pgio_completion_ops *pg_completion_ops;\n\tstruct pnfs_layout_segment *pg_lseg;\n\tstruct nfs_io_completion *pg_io_completion;\n\tstruct nfs_direct_req *pg_dreq;\n\tunsigned int pg_bsize;\n\tu32 pg_mirror_count;\n\tstruct nfs_pgio_mirror *pg_mirrors;\n\tstruct nfs_pgio_mirror pg_mirrors_static[1];\n\tstruct nfs_pgio_mirror *pg_mirrors_dynamic;\n\tu32 pg_mirror_idx;\n\tshort unsigned int pg_maxretrans;\n\tunsigned char pg_moreio: 1;\n};\n\nstruct nfs_pageio_ops {\n\tvoid (*pg_init)(struct nfs_pageio_descriptor *, struct nfs_page *);\n\tsize_t (*pg_test)(struct nfs_pageio_descriptor *, struct nfs_page *, struct nfs_page *);\n\tint (*pg_doio)(struct nfs_pageio_descriptor *);\n\tunsigned int (*pg_get_mirror_count)(struct nfs_pageio_descriptor *, struct nfs_page *);\n\tvoid (*pg_cleanup)(struct nfs_pageio_descriptor *);\n\tstruct nfs_pgio_mirror * (*pg_get_mirror)(struct nfs_pageio_descriptor *, u32);\n\tu32 (*pg_set_mirror)(struct nfs_pageio_descriptor *, u32);\n};\n\nstruct nfs_pathconf {\n\tstruct nfs_fattr *fattr;\n\t__u32 max_link;\n\t__u32 max_namelen;\n};\n\nstruct nfs_pgio_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct nfs_open_context *context;\n\tstruct nfs_lock_context *lock_context;\n\tnfs4_stateid stateid;\n\t__u64 offset;\n\t__u32 count;\n\tunsigned int pgbase;\n\tstruct page **pages;\n\tunion {\n\t\tunsigned int replen;\n\t\tstruct {\n\t\t\tconst u32 *bitmask;\n\t\t\tu32 bitmask_store[3];\n\t\t\tenum nfs3_stable_how stable;\n\t\t};\n\t};\n};\n\nstruct nfs_pgio_header;\n\nstruct nfs_pgio_completion_ops {\n\tvoid (*error_cleanup)(struct list_head *, int);\n\tvoid (*init_hdr)(struct nfs_pgio_header *);\n\tvoid (*completion)(struct nfs_pgio_header *);\n\tvoid (*reschedule_io)(struct nfs_pgio_header *);\n};\n\nstruct nfs_pgio_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\t__u64 count;\n\t__u32 op_status;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int replen;\n\t\t\tint eof;\n\t\t\tvoid *scratch;\n\t\t};\n\t\tstruct {\n\t\t\tstruct nfs_writeverf *verf;\n\t\t\tconst struct nfs_server *server;\n\t\t};\n\t};\n};\n\nstruct nfs_pgio_header {\n\tstruct inode *inode;\n\tconst struct cred *cred;\n\tstruct list_head pages;\n\tstruct nfs_page *req;\n\tstruct nfs_writeverf verf;\n\tfmode_t rw_mode;\n\tstruct pnfs_layout_segment *lseg;\n\tloff_t io_start;\n\tconst struct rpc_call_ops *mds_ops;\n\tvoid (*release)(struct nfs_pgio_header *);\n\tconst struct nfs_pgio_completion_ops *completion_ops;\n\tconst struct nfs_rw_ops *rw_ops;\n\tstruct nfs_io_completion *io_completion;\n\tstruct nfs_direct_req *dreq;\n\tint pnfs_error;\n\tint error;\n\tunsigned int good_bytes;\n\tlong unsigned int flags;\n\tstruct rpc_task task;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_pgio_args args;\n\tstruct nfs_pgio_res res;\n\tlong unsigned int timestamp;\n\tint (*pgio_done_cb)(struct rpc_task *, struct nfs_pgio_header *);\n\t__u64 mds_offset;\n\tstruct nfs_page_array page_array;\n\tstruct nfs_client *ds_clp;\n\tu32 ds_commit_idx;\n\tu32 pgio_mirror_idx;\n};\n\nstruct nfs_readdir_arg {\n\tstruct dentry *dentry;\n\tconst struct cred *cred;\n\t__be32 *verf;\n\tu64 cookie;\n\tstruct page **pages;\n\tunsigned int page_len;\n\tbool plus;\n};\n\nstruct nfs_readdir_descriptor {\n\tstruct file *file;\n\tstruct folio *folio;\n\tstruct dir_context *ctx;\n\tlong unsigned int folio_index;\n\tlong unsigned int folio_index_max;\n\tu64 dir_cookie;\n\tu64 last_cookie;\n\tloff_t current_index;\n\t__be32 verf[2];\n\tlong unsigned int dir_verifier;\n\tlong unsigned int timestamp;\n\tlong unsigned int gencount;\n\tlong unsigned int attr_gencount;\n\tunsigned int cache_entry_index;\n\tunsigned int buffer_fills;\n\tunsigned int dtsize;\n\tbool clear_cache;\n\tbool plus;\n\tbool eob;\n\tbool eof;\n};\n\nstruct nfs_readdir_res {\n\t__be32 *verf;\n};\n\nstruct nfs_referral_count {\n\tstruct list_head list;\n\tconst struct task_struct *task;\n\tunsigned int referral_count;\n};\n\nstruct nfs_release_lockowner_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_lowner lock_owner;\n};\n\nstruct nfs_release_lockowner_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs_release_lockowner_data {\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_server *server;\n\tstruct nfs_release_lockowner_args args;\n\tstruct nfs_release_lockowner_res res;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs_removeargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tstruct qstr name;\n};\n\nstruct nfs_removeres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_server *server;\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs4_change_info cinfo;\n};\n\nstruct nfs_renameargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *old_dir;\n\tconst struct nfs_fh *new_dir;\n\tconst struct qstr *old_name;\n\tconst struct qstr *new_name;\n};\n\nstruct nfs_renameres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_server *server;\n\tstruct nfs4_change_info old_cinfo;\n\tstruct nfs_fattr *old_fattr;\n\tstruct nfs4_change_info new_cinfo;\n\tstruct nfs_fattr *new_fattr;\n};\n\nstruct nfs_renamedata {\n\tstruct nfs_renameargs args;\n\tstruct nfs_renameres res;\n\tstruct rpc_task task;\n\tconst struct cred *cred;\n\tstruct inode *old_dir;\n\tstruct dentry *old_dentry;\n\tstruct nfs_fattr old_fattr;\n\tstruct inode *new_dir;\n\tstruct dentry *new_dentry;\n\tstruct nfs_fattr new_fattr;\n\tvoid (*complete)(struct rpc_task *, struct nfs_renamedata *);\n\tlong int timeout;\n\tbool cancelled;\n};\n\nstruct nlmclnt_operations;\n\nstruct nfs_unlinkdata;\n\nstruct nfs_rpc_ops {\n\tu32 version;\n\tconst struct dentry_operations *dentry_ops;\n\tconst struct inode_operations *dir_inode_ops;\n\tconst struct inode_operations *file_inode_ops;\n\tconst struct file_operations *file_ops;\n\tconst struct nlmclnt_operations *nlmclnt_ops;\n\tint (*getroot)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tint (*submount)(struct fs_context *, struct nfs_server *);\n\tint (*try_get_tree)(struct fs_context *);\n\tint (*getattr)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, struct inode *);\n\tint (*setattr)(struct dentry *, struct nfs_fattr *, struct iattr *);\n\tint (*lookup)(struct inode *, struct dentry *, const struct qstr *, struct nfs_fh *, struct nfs_fattr *);\n\tint (*lookupp)(struct inode *, struct nfs_fh *, struct nfs_fattr *);\n\tint (*access)(struct inode *, struct nfs_access_entry *, const struct cred *);\n\tint (*readlink)(struct inode *, struct page *, unsigned int, unsigned int);\n\tint (*create)(struct inode *, struct dentry *, struct iattr *, int);\n\tint (*remove)(struct inode *, struct dentry *);\n\tvoid (*unlink_setup)(struct rpc_message *, struct dentry *, struct inode *);\n\tvoid (*unlink_rpc_prepare)(struct rpc_task *, struct nfs_unlinkdata *);\n\tint (*unlink_done)(struct rpc_task *, struct inode *);\n\tvoid (*rename_setup)(struct rpc_message *, struct dentry *, struct dentry *);\n\tvoid (*rename_rpc_prepare)(struct rpc_task *, struct nfs_renamedata *);\n\tint (*rename_done)(struct rpc_task *, struct inode *, struct inode *);\n\tint (*link)(struct inode *, struct inode *, const struct qstr *);\n\tint (*symlink)(struct inode *, struct dentry *, struct folio *, unsigned int, struct iattr *);\n\tint (*mkdir)(struct inode *, struct dentry *, struct iattr *);\n\tint (*rmdir)(struct inode *, const struct qstr *);\n\tint (*readdir)(struct nfs_readdir_arg *, struct nfs_readdir_res *);\n\tint (*mknod)(struct inode *, struct dentry *, struct iattr *, dev_t);\n\tint (*statfs)(struct nfs_server *, struct nfs_fh *, struct nfs_fsstat *);\n\tint (*fsinfo)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tint (*pathconf)(struct nfs_server *, struct nfs_fh *, struct nfs_pathconf *);\n\tint (*set_capabilities)(struct nfs_server *, struct nfs_fh *);\n\tint (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, bool);\n\tint (*pgio_rpc_prepare)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*read_setup)(struct nfs_pgio_header *, struct rpc_message *);\n\tint (*read_done)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*write_setup)(struct nfs_pgio_header *, struct rpc_message *, struct rpc_clnt **);\n\tint (*write_done)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*commit_setup)(struct nfs_commit_data *, struct rpc_message *, struct rpc_clnt **);\n\tvoid (*commit_rpc_prepare)(struct rpc_task *, struct nfs_commit_data *);\n\tint (*commit_done)(struct rpc_task *, struct nfs_commit_data *);\n\tint (*lock)(struct file *, int, struct file_lock *);\n\tint (*lock_check_bounds)(const struct file_lock *);\n\tvoid (*clear_acl_cache)(struct inode *);\n\tvoid (*close_context)(struct nfs_open_context *, int);\n\tstruct inode * (*open_context)(struct inode *, struct nfs_open_context *, int, struct iattr *, int *);\n\tint (*have_delegation)(struct inode *, fmode_t, int);\n\tint (*return_delegation)(struct inode *);\n\tstruct nfs_client * (*alloc_client)(const struct nfs_client_initdata *);\n\tstruct nfs_client * (*init_client)(struct nfs_client *, const struct nfs_client_initdata *);\n\tvoid (*free_client)(struct nfs_client *);\n\tstruct nfs_server * (*create_server)(struct fs_context *);\n\tstruct nfs_server * (*clone_server)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, rpc_authflavor_t);\n\tint (*discover_trunking)(struct nfs_server *, struct nfs_fh *);\n\tvoid (*enable_swap)(struct inode *);\n\tvoid (*disable_swap)(struct inode *);\n};\n\nstruct rpc_task_setup;\n\nstruct nfs_rw_ops {\n\tstruct nfs_pgio_header * (*rw_alloc_header)(void);\n\tvoid (*rw_free_header)(struct nfs_pgio_header *);\n\tint (*rw_done)(struct rpc_task *, struct nfs_pgio_header *, struct inode *);\n\tvoid (*rw_result)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*rw_initiate)(struct nfs_pgio_header *, struct rpc_message *, const struct nfs_rpc_ops *, struct rpc_task_setup *, int);\n};\n\nstruct nfs_seqid {\n\tstruct nfs_seqid_counter *sequence;\n\tstruct list_head list;\n\tstruct rpc_task *task;\n};\n\nstruct pnfs_layoutdriver_type;\n\nstruct nlm_host;\n\nstruct nfs_server {\n\tstruct nfs_client *nfs_client;\n\tstruct list_head client_link;\n\tstruct list_head master_link;\n\tstruct rpc_clnt *client;\n\tstruct rpc_clnt *client_acl;\n\tstruct nlm_host *nlm_host;\n\tstruct nfs_iostats *io_stats;\n\twait_queue_head_t write_congestion_wait;\n\tatomic_long_t writeback;\n\tunsigned int write_congested;\n\tunsigned int flags;\n\tunsigned int fattr_valid;\n\tunsigned int caps;\n\tunsigned int rsize;\n\tunsigned int rpages;\n\tunsigned int wsize;\n\tunsigned int wpages;\n\tunsigned int wtmult;\n\tunsigned int dtsize;\n\tshort unsigned int port;\n\tunsigned int bsize;\n\tunsigned int acregmin;\n\tunsigned int acregmax;\n\tunsigned int acdirmin;\n\tunsigned int acdirmax;\n\tunsigned int namelen;\n\tunsigned int options;\n\tunsigned int clone_blksize;\n\tenum nfs4_change_attr_type change_attr_type;\n\tstruct nfs_fsid fsid;\n\tint s_sysfs_id;\n\t__u64 maxfilesize;\n\tstruct timespec64 time_delta;\n\tlong unsigned int mount_time;\n\tstruct super_block *super;\n\tdev_t s_dev;\n\tstruct nfs_auth_info auth_info;\n\tu32 pnfs_blksize;\n\tu32 attr_bitmask[3];\n\tu32 attr_bitmask_nl[3];\n\tu32 exclcreat_bitmask[3];\n\tu32 cache_consistency_bitmask[3];\n\tu32 acl_bitmask;\n\tu32 fh_expire_type;\n\tstruct pnfs_layoutdriver_type *pnfs_curr_ld;\n\tstruct rpc_wait_queue roc_rpcwaitq;\n\tvoid *pnfs_ld_data;\n\tstruct rb_root state_owners;\n\tatomic64_t owner_ctr;\n\tstruct list_head state_owners_lru;\n\tstruct list_head layouts;\n\tstruct list_head delegations;\n\tstruct list_head ss_copies;\n\tstruct list_head ss_src_copies;\n\tlong unsigned int delegation_gen;\n\tlong unsigned int mig_gen;\n\tlong unsigned int mig_status;\n\tvoid (*destroy)(struct nfs_server *);\n\tatomic_t active;\n\tstruct __kernel_sockaddr_storage mountd_address;\n\tsize_t mountd_addrlen;\n\tu32 mountd_version;\n\tshort unsigned int mountd_port;\n\tshort unsigned int mountd_protocol;\n\tstruct rpc_wait_queue uoc_rpcwaitq;\n\tunsigned int read_hdrsize;\n\tconst struct cred *cred;\n\tbool has_sec_mnt_opts;\n\tstruct kobject kobj;\n\tstruct callback_head rcu;\n};\n\nstruct nfs_setaclargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tstruct page **acl_pages;\n};\n\nstruct nfs_setaclres {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs_setattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tnfs4_stateid stateid;\n\tstruct iattr *iap;\n\tconst struct nfs_server *server;\n\tconst u32 *bitmask;\n\tconst struct nfs4_label *label;\n};\n\nstruct nfs_setattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct rpc_version;\n\nstruct super_operations;\n\nstruct xattr_handler;\n\nstruct nfs_subversion {\n\tstruct module *owner;\n\tstruct file_system_type *nfs_fs;\n\tconst struct rpc_version *rpc_vers;\n\tconst struct nfs_rpc_ops *rpc_ops;\n\tconst struct super_operations *sops;\n\tconst struct xattr_handler * const *xattr;\n};\n\nstruct nfs_unlinkdata {\n\tstruct nfs_removeargs args;\n\tstruct nfs_removeres res;\n\tstruct dentry *dentry;\n\twait_queue_head_t wq;\n\tconst struct cred *cred;\n\tstruct nfs_fattr dir_attr;\n\tlong int timeout;\n};\n\nstruct xdr_array2_desc;\n\ntypedef int (*xdr_xcode_elem_t)(struct xdr_array2_desc *, void *);\n\nstruct xdr_array2_desc {\n\tunsigned int elem_size;\n\tunsigned int array_len;\n\tunsigned int array_maxlen;\n\txdr_xcode_elem_t xcode;\n};\n\nstruct nfsacl_decode_desc {\n\tstruct xdr_array2_desc desc;\n\tunsigned int count;\n\tstruct posix_acl *acl;\n};\n\nstruct nfsacl_encode_desc {\n\tstruct xdr_array2_desc desc;\n\tunsigned int count;\n\tstruct posix_acl *acl;\n\tint typeflag;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\nstruct posix_acl_entry {\n\tshort int e_tag;\n\tshort unsigned int e_perm;\n\tunion {\n\t\tkuid_t e_uid;\n\t\tkgid_t e_gid;\n\t};\n};\n\nstruct posix_acl {\n\trefcount_t a_refcount;\n\tunsigned int a_count;\n\tstruct callback_head a_rcu;\n\tstruct posix_acl_entry a_entries[0];\n};\n\nstruct nfsacl_simple_acl {\n\tstruct posix_acl acl;\n\tstruct posix_acl_entry ace[4];\n};\n\nstruct nh_config {\n\tu32 nh_id;\n\tu8 nh_family;\n\tu8 nh_protocol;\n\tu8 nh_blackhole;\n\tu8 nh_fdb;\n\tu32 nh_flags;\n\tint nh_ifindex;\n\tstruct net_device *dev;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} gw;\n\tstruct nlattr *nh_grp;\n\tu16 nh_grp_type;\n\tu16 nh_grp_res_num_buckets;\n\tlong unsigned int nh_grp_res_idle_timer;\n\tlong unsigned int nh_grp_res_unbalanced_timer;\n\tbool nh_grp_res_has_num_buckets;\n\tbool nh_grp_res_has_idle_timer;\n\tbool nh_grp_res_has_unbalanced_timer;\n\tbool nh_hw_stats;\n\tstruct nlattr *nh_encap;\n\tu16 nh_encap_type;\n\tu32 nlflags;\n\tstruct nl_info nlinfo;\n};\n\nstruct nh_dump_filter {\n\tu32 nh_id;\n\tint dev_idx;\n\tint master_idx;\n\tbool group_filter;\n\tbool fdb_filter;\n\tu32 res_bucket_nh_id;\n\tu32 op_flags;\n};\n\nstruct nh_grp_entry_stats;\n\nstruct nh_grp_entry {\n\tstruct nexthop *nh;\n\tstruct nh_grp_entry_stats *stats;\n\tu16 weight;\n\tunion {\n\t\tstruct {\n\t\t\tatomic_t upper_bound;\n\t\t} hthr;\n\t\tstruct {\n\t\t\tstruct list_head uw_nh_entry;\n\t\t\tu16 count_buckets;\n\t\t\tu16 wants_buckets;\n\t\t} res;\n\t};\n\tstruct list_head nh_list;\n\tstruct nexthop *nh_parent;\n\tu64 packets_hw;\n};\n\nstruct nh_res_table;\n\nstruct nh_group {\n\tstruct nh_group *spare;\n\tu16 num_nh;\n\tbool is_multipath;\n\tbool hash_threshold;\n\tbool resilient;\n\tbool fdb_nh;\n\tbool has_v4;\n\tbool hw_stats;\n\tstruct nh_res_table *res_table;\n\tstruct nh_grp_entry nh_entries[0];\n};\n\nstruct nh_grp_entry_stats {\n\tu64_stats_t packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct nh_info {\n\tstruct hlist_node dev_hash;\n\tstruct nexthop *nh_parent;\n\tu8 family;\n\tbool reject_nh;\n\tbool fdb_nh;\n\tunion {\n\t\tstruct fib_nh_common fib_nhc;\n\t\tstruct fib_nh fib_nh;\n\t\tstruct fib6_nh fib6_nh;\n\t};\n};\n\nstruct nh_notifier_single_info {\n\tstruct net_device *dev;\n\tu8 gw_family;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t};\n\tu32 id;\n\tu8 is_reject: 1;\n\tu8 is_fdb: 1;\n\tu8 has_encap: 1;\n};\n\nstruct nh_notifier_grp_entry_info {\n\tu16 weight;\n\tstruct nh_notifier_single_info nh;\n};\n\nstruct nh_notifier_grp_hw_stats_entry_info {\n\tu32 id;\n\tu64 packets;\n};\n\nstruct nh_notifier_grp_hw_stats_info {\n\tu16 num_nh;\n\tbool hw_stats_used;\n\tstruct nh_notifier_grp_hw_stats_entry_info stats[0];\n};\n\nstruct nh_notifier_grp_info {\n\tu16 num_nh;\n\tbool is_fdb;\n\tbool hw_stats;\n\tstruct nh_notifier_grp_entry_info nh_entries[0];\n};\n\nstruct nh_notifier_res_table_info;\n\nstruct nh_notifier_res_bucket_info;\n\nstruct nh_notifier_info {\n\tstruct net *net;\n\tstruct netlink_ext_ack *extack;\n\tu32 id;\n\tenum nh_notifier_info_type type;\n\tunion {\n\t\tstruct nh_notifier_single_info *nh;\n\t\tstruct nh_notifier_grp_info *nh_grp;\n\t\tstruct nh_notifier_res_table_info *nh_res_table;\n\t\tstruct nh_notifier_res_bucket_info *nh_res_bucket;\n\t\tstruct nh_notifier_grp_hw_stats_info *nh_grp_hw_stats;\n\t};\n};\n\nstruct nh_notifier_res_bucket_info {\n\tu16 bucket_index;\n\tunsigned int idle_timer_ms;\n\tbool force;\n\tstruct nh_notifier_single_info old_nh;\n\tstruct nh_notifier_single_info new_nh;\n};\n\nstruct nh_notifier_res_table_info {\n\tu16 num_nh_buckets;\n\tbool hw_stats;\n\tstruct nh_notifier_single_info nhs[0];\n};\n\nstruct nh_res_bucket {\n\tstruct nh_grp_entry *nh_entry;\n\tatomic_long_t used_time;\n\tlong unsigned int migrated_time;\n\tbool occupied;\n\tu8 nh_flags;\n};\n\nstruct nh_res_table {\n\tstruct net *net;\n\tu32 nhg_id;\n\tstruct delayed_work upkeep_dw;\n\tstruct list_head uw_nh_entries;\n\tlong unsigned int unbalanced_since;\n\tu32 idle_timer;\n\tu32 unbalanced_timer;\n\tu16 num_nh_buckets;\n\tstruct nh_res_bucket nh_buckets[0];\n};\n\nstruct nhmsg {\n\tunsigned char nh_family;\n\tunsigned char nh_scope;\n\tunsigned char nh_protocol;\n\tunsigned char resvd;\n\tunsigned int nh_flags;\n};\n\nstruct rfd {\n\t__le16 status;\n\t__le16 command;\n\t__le32 link;\n\t__le32 rbd;\n\t__le16 actual_size;\n\t__le16 size;\n};\n\nstruct param_range {\n\tu32 min;\n\tu32 max;\n\tu32 count;\n};\n\nstruct params {\n\tstruct param_range rfds;\n\tstruct param_range cbs;\n};\n\nstruct rx;\n\nstruct nic {\n\tu32 msg_enable;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tu16 (*mdio_ctrl)(struct nic *, u32, u32, u32, u16);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct rx *rxs;\n\tstruct rx *rx_to_use;\n\tstruct rx *rx_to_clean;\n\tstruct rfd blank_rfd;\n\tenum ru_state ru_running;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t cb_lock;\n\tspinlock_t cmd_lock;\n\tstruct csr *csr;\n\tenum scb_cmd_lo cuc_cmd;\n\tunsigned int cbs_avail;\n\tstruct napi_struct napi;\n\tstruct cb *cbs;\n\tstruct cb *cb_to_use;\n\tstruct cb *cb_to_send;\n\tstruct cb *cb_to_clean;\n\t__le16 tx_command;\n\tlong: 64;\n\tlong: 64;\n\tenum {\n\t\tich = 1,\n\t\tpromiscuous = 2,\n\t\tmulticast_all = 4,\n\t\twol_magic = 8,\n\t\tich_10h_workaround = 16,\n\t} flags;\n\tenum mac mac;\n\tenum phy phy;\n\tstruct params params;\n\tstruct timer_list watchdog;\n\tstruct mii_if_info mii;\n\tstruct work_struct tx_timeout_task;\n\tenum loopback loopback;\n\tstruct mem *mem;\n\tdma_addr_t dma_addr;\n\tstruct dma_pool *cbs_pool;\n\tdma_addr_t cbs_dma_addr;\n\tu8 adaptive_ifs;\n\tu8 tx_threshold;\n\tu32 tx_frames;\n\tu32 tx_collisions;\n\tu32 tx_deferred;\n\tu32 tx_single_collisions;\n\tu32 tx_multiple_collisions;\n\tu32 tx_fc_pause;\n\tu32 tx_tco_frames;\n\tu32 rx_fc_pause;\n\tu32 rx_fc_unsupported;\n\tu32 rx_tco_frames;\n\tu32 rx_short_frame_errors;\n\tu32 rx_over_length_errors;\n\tu16 eeprom_wc;\n\t__le16 eeprom[256];\n\tspinlock_t mdio_lock;\n\tconst struct firmware *fw;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nl_pktinfo {\n\t__u32 group;\n};\n\nstruct rhashtable_walker {\n\tstruct list_head list;\n\tstruct bucket_table *tbl;\n};\n\nstruct rhashtable_iter {\n\tstruct rhashtable *ht;\n\tstruct rhash_head *p;\n\tstruct rhlist_head *list;\n\tstruct rhashtable_walker walker;\n\tunsigned int slot;\n\tunsigned int skip;\n\tbool end_of_table;\n};\n\nstruct nl_seq_iter {\n\tstruct seq_net_private p;\n\tstruct rhashtable_iter hti;\n\tint link;\n};\n\nstruct nla_bitfield32 {\n\t__u32 value;\n\t__u32 selector;\n};\n\nstruct nla_policy {\n\tu8 type;\n\tu8 validation_type;\n\tu16 len;\n\tunion {\n\t\tu16 strict_start_type;\n\t\tconst u32 bitfield32_valid;\n\t\tconst u32 mask;\n\t\tconst char *reject_message;\n\t\tconst struct nla_policy *nested_policy;\n\t\tconst struct netlink_range_validation *range;\n\t\tconst struct netlink_range_validation_signed *range_signed;\n\t\tstruct {\n\t\t\ts16 min;\n\t\t\ts16 max;\n\t\t};\n\t\tint (*validate)(const struct nlattr *, struct netlink_ext_ack *);\n\t};\n};\n\nstruct nlattr {\n\t__u16 nla_len;\n\t__u16 nla_type;\n};\n\nstruct nlm_cookie {\n\tunsigned char data[32];\n\tunsigned int len;\n};\n\nstruct nlm_lock {\n\tchar *caller;\n\tunsigned int len;\n\tstruct nfs_fh fh;\n\tstruct xdr_netobj oh;\n\tu32 svid;\n\tu64 lock_start;\n\tu64 lock_len;\n\tstruct file_lock fl;\n};\n\nstruct nlm_args {\n\tstruct nlm_cookie cookie;\n\tstruct nlm_lock lock;\n\tu32 block;\n\tu32 reclaim;\n\tu32 state;\n\tu32 monitor;\n\tu32 fsm_access;\n\tu32 fsm_mode;\n};\n\nstruct nlm_rqst;\n\nstruct nlm_file;\n\nstruct nlm_block {\n\tstruct kref b_count;\n\tstruct list_head b_list;\n\tstruct list_head b_flist;\n\tstruct nlm_rqst *b_call;\n\tstruct svc_serv *b_daemon;\n\tstruct nlm_host *b_host;\n\tlong unsigned int b_when;\n\tunsigned int b_id;\n\tunsigned char b_granted;\n\tstruct nlm_file *b_file;\n\tstruct cache_req *b_cache_req;\n\tstruct cache_deferred_req *b_deferred_req;\n\tunsigned int b_flags;\n};\n\nstruct nlm_share;\n\nstruct nlm_file {\n\tstruct hlist_node f_list;\n\tstruct nfs_fh f_handle;\n\tstruct file *f_file[2];\n\tstruct nlm_share *f_shares;\n\tstruct list_head f_blocks;\n\tunsigned int f_locks;\n\tunsigned int f_count;\n\tstruct mutex f_mutex;\n};\n\nstruct nsm_handle;\n\nstruct nlm_host {\n\tstruct hlist_node h_hash;\n\tstruct __kernel_sockaddr_storage h_addr;\n\tsize_t h_addrlen;\n\tstruct __kernel_sockaddr_storage h_srcaddr;\n\tsize_t h_srcaddrlen;\n\tstruct rpc_clnt *h_rpcclnt;\n\tchar *h_name;\n\tu32 h_version;\n\tshort unsigned int h_proto;\n\tshort unsigned int h_reclaiming: 1;\n\tshort unsigned int h_server: 1;\n\tshort unsigned int h_noresvport: 1;\n\tshort unsigned int h_inuse: 1;\n\twait_queue_head_t h_gracewait;\n\tstruct rw_semaphore h_rwsem;\n\tu32 h_state;\n\tu32 h_nsmstate;\n\tu32 h_pidcount;\n\trefcount_t h_count;\n\tstruct mutex h_mutex;\n\tlong unsigned int h_nextrebind;\n\tlong unsigned int h_expires;\n\tstruct list_head h_lockowners;\n\tspinlock_t h_lock;\n\tstruct list_head h_granted;\n\tstruct list_head h_reclaim;\n\tstruct nsm_handle *h_nsmhandle;\n\tchar *h_addrbuf;\n\tstruct net *net;\n\tconst struct cred *h_cred;\n\tchar nodename[65];\n\tconst struct nlmclnt_operations *h_nlmclnt_ops;\n};\n\nstruct nlm_lockowner {\n\tstruct list_head list;\n\trefcount_t count;\n\tstruct nlm_host *host;\n\tfl_owner_t owner;\n\tuint32_t pid;\n};\n\nstruct nlm_lookup_host_info {\n\tconst int server;\n\tconst struct sockaddr *sap;\n\tconst size_t salen;\n\tconst short unsigned int protocol;\n\tconst u32 version;\n\tconst char *hostname;\n\tconst size_t hostname_len;\n\tconst int noresvport;\n\tstruct net *net;\n\tconst struct cred *cred;\n};\n\nstruct nsm_private {\n\tunsigned char data[16];\n};\n\nstruct nlm_reboot {\n\tchar *mon;\n\tunsigned int len;\n\tu32 state;\n\tstruct nsm_private priv;\n};\n\nstruct nlm_res {\n\tstruct nlm_cookie cookie;\n\t__be32 status;\n\tstruct nlm_lock lock;\n};\n\nstruct nlm_rqst {\n\trefcount_t a_count;\n\tunsigned int a_flags;\n\tstruct nlm_host *a_host;\n\tstruct nlm_args a_args;\n\tstruct nlm_res a_res;\n\tstruct nlm_block *a_block;\n\tunsigned int a_retries;\n\tu8 a_owner[74];\n\tvoid *a_callback_data;\n};\n\nstruct nlm_share {\n\tstruct nlm_share *s_next;\n\tstruct nlm_host *s_host;\n\tstruct nlm_file *s_file;\n\tstruct xdr_netobj s_owner;\n\tu32 s_access;\n\tu32 s_mode;\n};\n\nstruct nlm_wait {\n\tstruct list_head b_list;\n\twait_queue_head_t b_wait;\n\tstruct nlm_host *b_host;\n\tstruct file_lock *b_lock;\n\t__be32 b_status;\n};\n\nstruct nlmclnt_initdata {\n\tconst char *hostname;\n\tconst struct sockaddr *address;\n\tsize_t addrlen;\n\tshort unsigned int protocol;\n\tu32 nfs_version;\n\tint noresvport;\n\tstruct net *net;\n\tconst struct nlmclnt_operations *nlmclnt_ops;\n\tconst struct cred *cred;\n};\n\nstruct nlmclnt_operations {\n\tvoid (*nlmclnt_alloc_call)(void *);\n\tbool (*nlmclnt_unlock_prepare)(struct rpc_task *, void *);\n\tvoid (*nlmclnt_release_call)(void *);\n};\n\nstruct nlmsg_perm {\n\tu16 nlmsg_type;\n\tu32 perm;\n};\n\nstruct nlmsghdr {\n\t__u32 nlmsg_len;\n\t__u16 nlmsg_type;\n\t__u16 nlmsg_flags;\n\t__u32 nlmsg_seq;\n\t__u32 nlmsg_pid;\n};\n\nstruct nlmsgerr {\n\tint error;\n\tstruct nlmsghdr msg;\n};\n\nstruct nlmsvc_binding {\n\t__be32 (*fopen)(struct svc_rqst *, struct nfs_fh *, struct file **, int);\n\tvoid (*fclose)(struct file *);\n};\n\nstruct nls_table {\n\tconst char *charset;\n\tconst char *alias;\n\tint (*uni2char)(wchar_t, unsigned char *, int);\n\tint (*char2uni)(const unsigned char *, int, wchar_t *);\n\tconst unsigned char *charset2lower;\n\tconst unsigned char *charset2upper;\n\tstruct module *owner;\n\tstruct nls_table *next;\n};\n\nstruct node {\n\tstruct device dev;\n\tstruct list_head access_list;\n};\n\nstruct node_access_nodes {\n\tstruct device dev;\n\tstruct list_head list_node;\n\tunsigned int access;\n};\n\nstruct node_attr {\n\tstruct device_attribute attr;\n\tenum node_states state;\n};\n\nstruct node_groups {\n\tunsigned int id;\n\tunion {\n\t\tunsigned int ngroups;\n\t\tunsigned int ncpus;\n\t};\n};\n\nstruct node_hstate {\n\tstruct kobject *hugepages_kobj;\n\tstruct kobject *hstate_kobjs[15];\n};\n\nstruct node_memory_type_map {\n\tstruct memory_dev_type *memtype;\n\tint map_count;\n};\n\nstruct nodemask_scratch {\n\tnodemask_t mask1;\n\tnodemask_t mask2;\n};\n\nstruct notification {\n\tatomic_t requests;\n\tu32 flags;\n\tu64 next_id;\n\tstruct list_head notifications;\n};\n\nstruct ns_get_path_bpf_map_args {\n\tstruct bpf_offloaded_map *offmap;\n\tstruct bpf_map_info *info;\n};\n\nstruct ns_get_path_bpf_prog_args {\n\tstruct bpf_prog *prog;\n\tstruct bpf_prog_info *info;\n};\n\nstruct ns_get_path_task_args {\n\tconst struct proc_ns_operations *ns_ops;\n\tstruct task_struct *task;\n};\n\nstruct nsm_args {\n\tstruct nsm_private *priv;\n\tu32 prog;\n\tu32 vers;\n\tu32 proc;\n\tchar *mon_name;\n\tconst char *nodename;\n};\n\nstruct nsm_handle {\n\tstruct list_head sm_link;\n\trefcount_t sm_count;\n\tchar *sm_mon_name;\n\tchar *sm_name;\n\tstruct __kernel_sockaddr_storage sm_addr;\n\tsize_t sm_addrlen;\n\tunsigned int sm_monitored: 1;\n\tunsigned int sm_sticky: 1;\n\tstruct nsm_private sm_priv;\n\tchar sm_addrbuf[51];\n};\n\nstruct nsm_res {\n\tu32 status;\n\tu32 state;\n};\n\nstruct uts_namespace;\n\nstruct time_namespace;\n\nstruct nsproxy {\n\trefcount_t count;\n\tstruct uts_namespace *uts_ns;\n\tstruct ipc_namespace *ipc_ns;\n\tstruct mnt_namespace *mnt_ns;\n\tstruct pid_namespace *pid_ns_for_children;\n\tstruct net *net_ns;\n\tstruct time_namespace *time_ns;\n\tstruct time_namespace *time_ns_for_children;\n\tstruct cgroup_namespace *cgroup_ns;\n};\n\nstruct nsset {\n\tunsigned int flags;\n\tstruct nsproxy *nsproxy;\n\tstruct fs_struct *fs;\n\tconst struct cred *cred;\n};\n\nstruct nt_partition_info {\n\tu32 xlink_enabled;\n\tu32 target_part_low;\n\tu32 target_part_high;\n\tu32 reserved;\n};\n\nstruct ntb_ctrl_regs {\n\tu32 partition_status;\n\tu32 partition_op;\n\tu32 partition_ctrl;\n\tu32 bar_setup;\n\tu32 bar_error;\n\tu16 lut_table_entries;\n\tu16 lut_table_offset;\n\tu32 lut_error;\n\tu16 req_id_table_size;\n\tu16 req_id_table_offset;\n\tu32 req_id_error;\n\tu32 reserved1[7];\n\tstruct {\n\t\tu32 ctl;\n\t\tu32 win_size;\n\t\tu64 xlate_addr;\n\t} bar_entry[6];\n\tstruct {\n\t\tu32 win_size;\n\t\tu32 reserved[3];\n\t} bar_ext_entry[6];\n\tu32 reserved2[192];\n\tu32 req_id_table[512];\n\tu32 reserved3[256];\n\tu64 lut_entry[512];\n};\n\nstruct ntb_info_regs {\n\tu8 partition_count;\n\tu8 partition_id;\n\tu16 reserved1;\n\tu64 ep_map;\n\tu16 requester_id;\n\tu16 reserved2;\n\tu32 reserved3[4];\n\tstruct nt_partition_info ntp_info[48];\n} __attribute__((packed));\n\nstruct ntp_data {\n\tlong unsigned int tick_usec;\n\tu64 tick_length;\n\tu64 tick_length_base;\n\tint time_state;\n\tint time_status;\n\ts64 time_offset;\n\tlong int time_constant;\n\tlong int time_maxerror;\n\tlong int time_esterror;\n\ts64 time_freq;\n\ttime64_t time_reftime;\n\tlong int time_adjust;\n\ts64 ntp_tick_adj;\n\ttime64_t ntp_next_leap_sec;\n};\n\nstruct numa_group {\n\trefcount_t refcount;\n\tspinlock_t lock;\n\tint nr_tasks;\n\tpid_t gid;\n\tint active_nodes;\n\tstruct callback_head rcu;\n\tlong unsigned int total_faults;\n\tlong unsigned int max_faults_cpu;\n\tlong unsigned int faults[0];\n};\n\nstruct numa_maps {\n\tlong unsigned int pages;\n\tlong unsigned int anon;\n\tlong unsigned int active;\n\tlong unsigned int writeback;\n\tlong unsigned int mapcount_max;\n\tlong unsigned int dirty;\n\tlong unsigned int swapcache;\n\tlong unsigned int node[256];\n};\n\nstruct proc_maps_private {\n\tstruct inode *inode;\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct vma_iterator iter;\n\tstruct mempolicy *task_mempolicy;\n};\n\nstruct numa_maps_private {\n\tstruct proc_maps_private proc_maps;\n\tstruct numa_maps md;\n};\n\nstruct numa_stats {\n\tlong unsigned int load;\n\tlong unsigned int runnable;\n\tlong unsigned int util;\n\tlong unsigned int compute_capacity;\n\tunsigned int nr_running;\n\tunsigned int weight;\n\tenum numa_type node_type;\n\tint idle_cpu;\n};\n\nstruct nvdimm_security_ops;\n\nstruct nvdimm_fw_ops;\n\nstruct nvdimm {\n\tlong unsigned int flags;\n\tvoid *provider_data;\n\tlong unsigned int cmd_mask;\n\tstruct device dev;\n\tatomic_t busy;\n\tint id;\n\tint num_flush;\n\tstruct resource *flush_wpq;\n\tconst char *dimm_id;\n\tstruct {\n\t\tconst struct nvdimm_security_ops *ops;\n\t\tlong unsigned int flags;\n\t\tlong unsigned int ext_flags;\n\t\tunsigned int overwrite_tmo;\n\t\tstruct kernfs_node *overwrite_state;\n\t} sec;\n\tstruct delayed_work dwork;\n\tconst struct nvdimm_fw_ops *fw_ops;\n};\n\nstruct nvdimm_bus_descriptor;\n\nstruct nvdimm_bus {\n\tstruct nvdimm_bus_descriptor *nd_desc;\n\twait_queue_head_t wait;\n\tstruct list_head list;\n\tstruct device dev;\n\tint id;\n\tint probe_active;\n\tatomic_t ioctl_active;\n\tstruct list_head mapping_list;\n\tstruct mutex reconfig_mutex;\n\tstruct badrange badrange;\n};\n\ntypedef int (*ndctl_fn)(struct nvdimm_bus_descriptor *, struct nvdimm *, unsigned int, void *, unsigned int, int *);\n\nstruct nvdimm_bus_fw_ops;\n\nstruct nvdimm_bus_descriptor {\n\tconst struct attribute_group **attr_groups;\n\tlong unsigned int cmd_mask;\n\tlong unsigned int dimm_family_mask;\n\tlong unsigned int bus_family_mask;\n\tstruct module *module;\n\tchar *provider_name;\n\tstruct device_node *of_node;\n\tndctl_fn ndctl;\n\tint (*flush_probe)(struct nvdimm_bus_descriptor *);\n\tint (*clear_to_send)(struct nvdimm_bus_descriptor *, struct nvdimm *, unsigned int, void *);\n\tconst struct nvdimm_bus_fw_ops *fw_ops;\n};\n\nstruct nvdimm_bus_fw_ops {\n\tenum nvdimm_fwa_state (*activate_state)(struct nvdimm_bus_descriptor *);\n\tenum nvdimm_fwa_capability (*capability)(struct nvdimm_bus_descriptor *);\n\tint (*activate)(struct nvdimm_bus_descriptor *);\n};\n\nstruct nvdimm_drvdata {\n\tstruct device *dev;\n\tint nslabel_size;\n\tstruct nd_cmd_get_config_size nsarea;\n\tvoid *data;\n\tbool cxl;\n\tint ns_current;\n\tint ns_next;\n\tstruct resource dpa;\n\tstruct kref kref;\n};\n\nstruct nvdimm_fw_ops {\n\tenum nvdimm_fwa_state (*activate_state)(struct nvdimm *);\n\tenum nvdimm_fwa_result (*activate_result)(struct nvdimm *);\n\tint (*arm)(struct nvdimm *, enum nvdimm_fwa_trigger);\n};\n\nstruct nvdimm_key_data {\n\tu8 data[32];\n};\n\nstruct nvdimm_map {\n\tstruct nvdimm_bus *nvdimm_bus;\n\tstruct list_head list;\n\tresource_size_t offset;\n\tlong unsigned int flags;\n\tsize_t size;\n\tunion {\n\t\tvoid *mem;\n\t\tvoid *iomem;\n\t};\n\tstruct kref kref;\n};\n\nstruct nvdimm_pmu {\n\tstruct pmu pmu;\n\tstruct device *dev;\n\tint cpu;\n\tstruct hlist_node node;\n\tenum cpuhp_state cpuhp_state;\n\tstruct cpumask arch_cpumask;\n};\n\nstruct nvdimm_security_ops {\n\tlong unsigned int (*get_flags)(struct nvdimm *, enum nvdimm_passphrase_type);\n\tint (*freeze)(struct nvdimm *);\n\tint (*change_key)(struct nvdimm *, const struct nvdimm_key_data *, const struct nvdimm_key_data *, enum nvdimm_passphrase_type);\n\tint (*unlock)(struct nvdimm *, const struct nvdimm_key_data *);\n\tint (*disable)(struct nvdimm *, const struct nvdimm_key_data *);\n\tint (*erase)(struct nvdimm *, const struct nvdimm_key_data *, enum nvdimm_passphrase_type);\n\tint (*overwrite)(struct nvdimm *, const struct nvdimm_key_data *);\n\tint (*query_overwrite)(struct nvdimm *);\n\tint (*disable_master)(struct nvdimm *, const struct nvdimm_key_data *);\n};\n\nstruct nvmem_cell_entry;\n\nstruct nvmem_cell {\n\tstruct nvmem_cell_entry *entry;\n\tconst char *id;\n\tint index;\n};\n\ntypedef int (*nvmem_cell_post_process_t)(void *, const char *, int, unsigned int, void *, size_t);\n\nstruct nvmem_device;\n\nstruct nvmem_cell_entry {\n\tconst char *name;\n\tint offset;\n\tsize_t raw_len;\n\tint bytes;\n\tint bit_offset;\n\tint nbits;\n\tnvmem_cell_post_process_t read_post_process;\n\tvoid *priv;\n\tstruct device_node *np;\n\tstruct nvmem_device *nvmem;\n\tstruct list_head node;\n};\n\nstruct nvmem_cell_info {\n\tconst char *name;\n\tunsigned int offset;\n\tsize_t raw_len;\n\tunsigned int bytes;\n\tunsigned int bit_offset;\n\tunsigned int nbits;\n\tstruct device_node *np;\n\tnvmem_cell_post_process_t read_post_process;\n\tvoid *priv;\n};\n\nstruct nvmem_cell_lookup {\n\tconst char *nvmem_name;\n\tconst char *cell_name;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct list_head node;\n};\n\nstruct nvmem_cell_table {\n\tconst char *nvmem_name;\n\tconst struct nvmem_cell_info *cells;\n\tsize_t ncells;\n\tstruct list_head node;\n};\n\ntypedef int (*nvmem_reg_read_t)(void *, unsigned int, void *, size_t);\n\ntypedef int (*nvmem_reg_write_t)(void *, unsigned int, void *, size_t);\n\nstruct nvmem_keepout;\n\nstruct nvmem_layout;\n\nstruct nvmem_config {\n\tstruct device *dev;\n\tconst char *name;\n\tint id;\n\tstruct module *owner;\n\tconst struct nvmem_cell_info *cells;\n\tint ncells;\n\tbool add_legacy_fixed_of_cells;\n\tvoid (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *);\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n\tenum nvmem_type type;\n\tbool read_only;\n\tbool root_only;\n\tbool ignore_wp;\n\tstruct nvmem_layout *layout;\n\tstruct device_node *of_node;\n\tnvmem_reg_read_t reg_read;\n\tnvmem_reg_write_t reg_write;\n\tint size;\n\tint word_size;\n\tint stride;\n\tvoid *priv;\n\tbool compat;\n\tstruct device *base_dev;\n};\n\nstruct nvmem_device {\n\tstruct module *owner;\n\tstruct device dev;\n\tstruct list_head node;\n\tint stride;\n\tint word_size;\n\tint id;\n\tstruct kref refcnt;\n\tsize_t size;\n\tbool read_only;\n\tbool root_only;\n\tint flags;\n\tenum nvmem_type type;\n\tstruct bin_attribute eeprom;\n\tstruct device *base_dev;\n\tstruct list_head cells;\n\tvoid (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *);\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n\tnvmem_reg_read_t reg_read;\n\tnvmem_reg_write_t reg_write;\n\tstruct gpio_desc *wp_gpio;\n\tstruct nvmem_layout *layout;\n\tvoid *priv;\n\tbool sysfs_cells_populated;\n};\n\nstruct nvmem_keepout {\n\tunsigned int start;\n\tunsigned int end;\n\tunsigned char value;\n};\n\nstruct nvmem_layout {\n\tstruct device dev;\n\tstruct nvmem_device *nvmem;\n\tint (*add_cells)(struct nvmem_layout *);\n};\n\nstruct nvmem_layout_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct nvmem_layout *);\n\tvoid (*remove)(struct nvmem_layout *);\n};\n\nstruct nvram_header {\n\tunsigned char signature;\n\tunsigned char checksum;\n\tshort unsigned int length;\n\tchar name[12];\n};\n\nstruct nvram_os_partition {\n\tconst char *name;\n\tint req_size;\n\tint min_size;\n\tlong int size;\n\tlong int index;\n\tbool os_partition;\n};\n\nstruct nvram_partition {\n\tstruct list_head partition;\n\tstruct nvram_header header;\n\tunsigned int index;\n};\n\nstruct nx842_constraints {\n\tint alignment;\n\tint multiple;\n\tint minimum;\n\tint maximum;\n};\n\nstruct nx842_crypto_header_hdr {\n\t__be16 magic;\n\t__be16 ignore;\n\tu8 groups;\n};\n\nstruct nx842_crypto_header_group {\n\t__be16 padding;\n\t__be32 compressed_length;\n\t__be32 uncompressed_length;\n} __attribute__((packed));\n\nstruct nx842_driver;\n\nstruct nx842_crypto_ctx {\n\tspinlock_t lock;\n\tu8 *wmem;\n\tu8 *sbounce;\n\tu8 *dbounce;\n\tstruct nx842_crypto_header_hdr header;\n\tstruct nx842_crypto_header_group group[32];\n\tstruct nx842_driver *driver;\n};\n\nstruct nx842_crypto_header {\n\tunion {\n\t\tstruct {\n\t\t\t__be16 magic;\n\t\t\t__be16 ignore;\n\t\t\tu8 groups;\n\t\t};\n\t\tstruct nx842_crypto_header_hdr hdr;\n\t};\n\tstruct nx842_crypto_header_group group[0];\n};\n\nstruct nx842_crypto_param {\n\tu8 *in;\n\tunsigned int iremain;\n\tu8 *out;\n\tunsigned int oremain;\n\tunsigned int ototal;\n};\n\nstruct nx842_devdata {\n\tstruct vio_dev *vdev;\n\tstruct device *dev;\n\tstruct ibm_nx842_counters *counters;\n\tunsigned int max_sg_len;\n\tunsigned int max_sync_size;\n\tunsigned int max_sync_sg;\n};\n\nstruct nx842_driver {\n\tchar *name;\n\tstruct module *owner;\n\tsize_t workmem_size;\n\tstruct nx842_constraints *constraints;\n\tint (*compress)(const unsigned char *, unsigned int, unsigned char *, unsigned int *, void *);\n\tint (*decompress)(const unsigned char *, unsigned int, unsigned char *, unsigned int *, void *);\n};\n\nstruct nx842_slentry;\n\nstruct nx842_scatterlist {\n\tint entry_nr;\n\tstruct nx842_slentry *entries;\n};\n\nstruct nx842_slentry {\n\t__be64 ptr;\n\t__be64 len;\n};\n\nstruct nx842_workmem {\n\tstruct coprocessor_request_block crb;\n\tstruct data_descriptor_entry ddl_in[17];\n\tstruct data_descriptor_entry ddl_out[17];\n\tktime_t start;\n\tchar padding[256];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nx_csbcpb {\n\tunsigned char __rsvd[112];\n\tstruct cop_status_block csb;\n\tstruct cop_parameter_block cpb;\n};\n\nstruct nx842_workmem___2 {\n\tchar slin[4096];\n\tchar slout[4096];\n\tstruct nx_csbcpb csbcpb;\n\tchar padding[256];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nx_cop_caps {\n\tu64 descriptor;\n\tu64 req_max_processed_len;\n\tu64 min_compress_len;\n\tu64 min_decompress_len;\n};\n\nstruct nx_coproc {\n\tunsigned int chip_id;\n\tunsigned int ct;\n\tunsigned int ci;\n\tstruct {\n\t\tstruct vas_window *rxwin;\n\t\tint id;\n\t} vas;\n\tstruct list_head list;\n};\n\nstruct obj_cgroup {\n\tstruct percpu_ref refcnt;\n\tstruct mem_cgroup *memcg;\n\tatomic_t nr_charged_bytes;\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct objpool_head;\n\ntypedef int (*objpool_fini_cb)(struct objpool_head *, void *);\n\nstruct objpool_slot;\n\nstruct objpool_head {\n\tint obj_size;\n\tint nr_objs;\n\tint nr_possible_cpus;\n\tint capacity;\n\tgfp_t gfp;\n\trefcount_t ref;\n\tlong unsigned int flags;\n\tstruct objpool_slot **cpu_slots;\n\tobjpool_fini_cb release;\n\tvoid *context;\n};\n\nstruct objpool_slot {\n\tuint32_t head;\n\tuint32_t tail;\n\tuint32_t last;\n\tuint32_t mask;\n\tvoid *entries[0];\n};\n\nstruct obs_kernel_param {\n\tconst char *str;\n\tint (*setup_func)(char *);\n\tint early;\n};\n\nstruct ocontext {\n\tunion {\n\t\tchar *name;\n\t\tstruct {\n\t\t\tu8 protocol;\n\t\t\tu16 low_port;\n\t\t\tu16 high_port;\n\t\t} port;\n\t\tstruct {\n\t\t\tu32 addr;\n\t\t\tu32 mask;\n\t\t} node;\n\t\tstruct {\n\t\t\tu32 addr[4];\n\t\t\tu32 mask[4];\n\t\t} node6;\n\t\tstruct {\n\t\t\tu64 subnet_prefix;\n\t\t\tu16 low_pkey;\n\t\t\tu16 high_pkey;\n\t\t} ibpkey;\n\t\tstruct {\n\t\t\tchar *dev_name;\n\t\t\tu8 port;\n\t\t} ibendport;\n\t} u;\n\tunion {\n\t\tu32 sclass;\n\t\tu32 behavior;\n\t} v;\n\tstruct context context[2];\n\tu32 sid[2];\n\tstruct ocontext *next;\n};\n\nstruct od_dbs_tuners {\n\tunsigned int powersave_bias;\n};\n\nstruct od_ops {\n\tunsigned int (*powersave_bias_target)(struct cpufreq_policy *, unsigned int, unsigned int);\n};\n\nstruct od_policy_dbs_info {\n\tstruct policy_dbs_info policy_dbs;\n\tunsigned int freq_lo;\n\tunsigned int freq_lo_delay_us;\n\tunsigned int freq_hi_delay_us;\n\tunsigned int sample_type: 1;\n};\n\nstruct of_bus {\n\tvoid (*count_cells)(const void *, int, int *, int *);\n\tu64 (*map)(__be32 *, const __be32 *, int, int, int);\n\tint (*translate)(__be32 *, u64, int);\n};\n\nstruct of_bus___2 {\n\tconst char *name;\n\tconst char *addresses;\n\tint (*match)(struct device_node *);\n\tvoid (*count_cells)(struct device_node *, int *, int *);\n\tu64 (*map)(__be32 *, const __be32 *, int, int, int, int);\n\tint (*translate)(__be32 *, u64, int);\n\tint flag_cells;\n\tunsigned int (*get_flags)(const __be32 *);\n};\n\nstruct of_changeset {\n\tstruct list_head entries;\n};\n\nstruct of_changeset_entry {\n\tstruct list_head node;\n\tlong unsigned int action;\n\tstruct device_node *np;\n\tstruct property *prop;\n\tstruct property *old_prop;\n};\n\nstruct of_dev_auxdata {\n\tchar *compatible;\n\tresource_size_t phys_addr;\n\tchar *name;\n\tvoid *platform_data;\n};\n\nstruct of_device_id {\n\tchar name[32];\n\tchar type[32];\n\tchar compatible[128];\n\tconst void *data;\n};\n\nstruct of_drc_info {\n\tchar *drc_type;\n\tchar *drc_name_prefix;\n\tu32 drc_index_start;\n\tu32 drc_name_suffix_start;\n\tu32 num_sequential_elems;\n\tu32 sequential_inc;\n\tu32 drc_power_domain;\n\tu32 last_drc_index;\n};\n\nstruct of_drconf_cell_v1 {\n\t__be64 base_addr;\n\t__be32 drc_index;\n\t__be32 reserved;\n\t__be32 aa_index;\n\t__be32 flags;\n};\n\nstruct of_drconf_cell_v2 {\n\tu32 seq_lmbs;\n\tu64 base_addr;\n\tu32 drc_index;\n\tu32 aa_index;\n\tu32 flags;\n} __attribute__((packed));\n\nstruct of_endpoint {\n\tunsigned int port;\n\tunsigned int id;\n\tconst struct device_node *local_node;\n};\n\ntypedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *);\n\nstruct of_intc_desc {\n\tstruct list_head list;\n\tof_irq_init_cb_t irq_init_cb;\n\tstruct device_node *dev;\n\tstruct device_node *interrupt_parent;\n};\n\nstruct of_pci_iommu_alias_info {\n\tstruct device *dev;\n\tstruct device_node *np;\n};\n\nstruct of_pci_range {\n\tunion {\n\t\tu64 pci_addr;\n\t\tu64 bus_addr;\n\t};\n\tu64 cpu_addr;\n\tu64 parent_bus_addr;\n\tu64 size;\n\tu32 flags;\n};\n\nstruct of_pci_range_parser {\n\tstruct device_node *node;\n\tconst struct of_bus___2 *bus;\n\tconst __be32 *range;\n\tconst __be32 *end;\n\tint na;\n\tint ns;\n\tint pna;\n\tbool dma;\n};\n\nstruct of_phandle_args {\n\tstruct device_node *np;\n\tint args_count;\n\tuint32_t args[16];\n};\n\nstruct of_phandle_iterator {\n\tconst char *cells_name;\n\tint cell_count;\n\tconst struct device_node *parent;\n\tconst __be32 *list_end;\n\tconst __be32 *phandle_end;\n\tconst __be32 *cur;\n\tuint32_t cur_count;\n\tphandle phandle;\n\tstruct device_node *node;\n};\n\nstruct of_pmem_private {\n\tstruct nvdimm_bus_descriptor bus_desc;\n\tstruct nvdimm_bus *bus;\n};\n\nstruct of_reconfig_data {\n\tstruct device_node *dn;\n\tstruct property *prop;\n\tstruct property *old_prop;\n};\n\nstruct offb_par {\n\tvolatile void *cmap_adr;\n\tvolatile void *cmap_data;\n\tint cmap_type;\n\tint blanked;\n\tu32 pseudo_palette[16];\n\tresource_size_t base;\n\tresource_size_t size;\n};\n\nstruct offset_ctx {\n\tstruct maple_tree mt;\n\tlong unsigned int next_offset;\n};\n\nstruct ohci_driver_overrides {\n\tconst char *product_desc;\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n};\n\nstruct ohci_hcca {\n\t__hc32 int_table[32];\n\t__hc32 frame_no;\n\t__hc32 done_head;\n\tu8 reserved_for_hc[116];\n\tu8 what[4];\n};\n\nstruct ohci_regs;\n\nstruct ohci_hcd {\n\tspinlock_t lock;\n\tstruct ohci_regs *regs;\n\tstruct ohci_hcca *hcca;\n\tdma_addr_t hcca_dma;\n\tstruct ed *ed_rm_list;\n\tstruct ed *ed_bulktail;\n\tstruct ed *ed_controltail;\n\tstruct ed *periodic[32];\n\tvoid (*start_hnp)(struct ohci_hcd *);\n\tstruct dma_pool *td_cache;\n\tstruct dma_pool *ed_cache;\n\tstruct td *td_hash[64];\n\tstruct td *dl_start;\n\tstruct td *dl_end;\n\tstruct list_head pending;\n\tstruct list_head eds_in_use;\n\tenum ohci_rh_state rh_state;\n\tint num_ports;\n\tint load[32];\n\tu32 hc_control;\n\tlong unsigned int next_statechange;\n\tu32 fminterval;\n\tunsigned int autostop: 1;\n\tunsigned int working: 1;\n\tunsigned int restart_work: 1;\n\tlong unsigned int flags;\n\tunsigned int prev_frame_no;\n\tunsigned int wdh_cnt;\n\tunsigned int prev_wdh_cnt;\n\tu32 prev_donehead;\n\tstruct timer_list io_watchdog;\n\tstruct work_struct nec_work;\n\tstruct dentry *debug_dir;\n\tlong unsigned int priv[0];\n};\n\nstruct ohci_roothub_regs {\n\t__hc32 a;\n\t__hc32 b;\n\t__hc32 status;\n\t__hc32 portstatus[15];\n};\n\nstruct ohci_regs {\n\t__hc32 revision;\n\t__hc32 control;\n\t__hc32 cmdstatus;\n\t__hc32 intrstatus;\n\t__hc32 intrenable;\n\t__hc32 intrdisable;\n\t__hc32 hcca;\n\t__hc32 ed_periodcurrent;\n\t__hc32 ed_controlhead;\n\t__hc32 ed_controlcurrent;\n\t__hc32 ed_bulkhead;\n\t__hc32 ed_bulkcurrent;\n\t__hc32 donehead;\n\t__hc32 fminterval;\n\t__hc32 fmremaining;\n\t__hc32 fmnumber;\n\t__hc32 periodicstart;\n\t__hc32 lsthresh;\n\tstruct ohci_roothub_regs roothub;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct old_timespec32 {\n\told_time32_t tv_sec;\n\ts32 tv_nsec;\n};\n\nstruct old_itimerspec32 {\n\tstruct old_timespec32 it_interval;\n\tstruct old_timespec32 it_value;\n};\n\nstruct old_linux_dirent {\n\tlong unsigned int d_ino;\n\tlong unsigned int d_offset;\n\tshort unsigned int d_namlen;\n\tchar d_name[0];\n};\n\nstruct old_serial_port {\n\tunsigned int uart;\n\tunsigned int baud_base;\n\tunsigned int port;\n\tunsigned int irq;\n\tupf_t flags;\n\tunsigned char io_type;\n\tunsigned char *iomem_base;\n\tshort unsigned int iomem_reg_shift;\n};\n\nstruct old_timeval32 {\n\told_time32_t tv_sec;\n\ts32 tv_usec;\n};\n\nstruct old_utsname {\n\tchar sysname[65];\n\tchar nodename[65];\n\tchar release[65];\n\tchar version[65];\n\tchar machine[65];\n};\n\nstruct oldold_utsname {\n\tchar sysname[9];\n\tchar nodename[9];\n\tchar release[9];\n\tchar version[9];\n\tchar machine[9];\n};\n\nstruct static_key_true;\n\nstruct once_work {\n\tstruct work_struct work;\n\tstruct static_key_true *key;\n\tstruct module *module;\n};\n\nstruct online_data {\n\tunsigned int cpu;\n\tbool online;\n};\n\nstruct oom_control {\n\tstruct zonelist *zonelist;\n\tnodemask_t *nodemask;\n\tstruct mem_cgroup *memcg;\n\tconst gfp_t gfp_mask;\n\tconst int order;\n\tlong unsigned int totalpages;\n\tstruct task_struct *chosen;\n\tlong int chosen_points;\n\tenum oom_constraint constraint;\n};\n\nstruct oops_log_info {\n\t__be16 version;\n\t__be16 report_length;\n\t__be64 timestamp;\n} __attribute__((packed));\n\nstruct opal {\n\tu64 base;\n\tu64 entry;\n\tu64 size;\n};\n\nstruct opal_msg {\n\t__be32 msg_type;\n\t__be32 reserved;\n\t__be64 params[8];\n};\n\nstruct opal_async_token {\n\tenum opal_async_token_state state;\n\tstruct opal_msg response;\n};\n\nstruct opal_event_irqchip {\n\tstruct irq_chip irqchip;\n\tstruct irq_domain *domain;\n\tlong unsigned int mask;\n};\n\nstruct opal_mpipl_region {\n\t__be64 src;\n\t__be64 dest;\n\t__be64 size;\n};\n\nstruct opal_fadump_mem_struct {\n\tu8 version;\n\tu8 reserved[3];\n\t__be16 region_cnt;\n\t__be16 registered_regions;\n\t__be64 fadumphdr_addr;\n\tstruct opal_mpipl_region rgn[128];\n};\n\nstruct opal_i2c_request {\n\tuint8_t type;\n\tuint8_t flags;\n\tuint8_t subaddr_sz;\n\tuint8_t reserved;\n\t__be16 addr;\n\t__be16 reserved2;\n\t__be32 subaddr;\n\t__be32 size;\n\t__be64 buffer_ra;\n};\n\nstruct opal_ipmi_msg {\n\tuint8_t version;\n\tuint8_t netfn;\n\tuint8_t cmd;\n\tuint8_t data[0];\n};\n\nstruct opal_mpipl_fadump {\n\tu8 version;\n\tu8 reserved[7];\n\t__be32 crashing_pir;\n\t__be32 cpu_data_version;\n\t__be32 cpu_data_size;\n\t__be32 region_cnt;\n\tstruct opal_mpipl_region region[0];\n};\n\nstruct opal_msg_node {\n\tstruct list_head list;\n\tstruct opal_msg msg;\n};\n\nstruct opal_occ_msg {\n\t__be64 type;\n\t__be64 chip;\n\t__be64 throttle_status;\n};\n\nstruct opal_sg_entry {\n\t__be64 data;\n\t__be64 length;\n};\n\nstruct opal_sg_list {\n\t__be64 length;\n\t__be64 next;\n\tstruct opal_sg_entry entry[0];\n};\n\nstruct open_flags {\n\tint open_flag;\n\tumode_t mode;\n\tint acc_mode;\n\tint intent;\n\tint lookup_flags;\n};\n\nstruct oppanel_line {\n\t__be64 line;\n\t__be64 line_len;\n};\n\ntypedef struct oppanel_line oppanel_line_t;\n\nstruct optimistic_spin_node {\n\tstruct optimistic_spin_node *next;\n\tstruct optimistic_spin_node *prev;\n\tint locked;\n\tint cpu;\n};\n\nstruct optimized_kprobe {\n\tstruct kprobe kp;\n\tstruct list_head list;\n\tstruct arch_optimized_insn optinsn;\n};\n\nstruct orlov_stats {\n\t__u64 free_clusters;\n\t__u32 free_inodes;\n\t__u32 used_dirs;\n};\n\nstruct osnoise_entry {\n\tstruct trace_entry ent;\n\tu64 noise;\n\tu64 runtime;\n\tu64 max_sample;\n\tunsigned int hw_count;\n\tunsigned int nmi_count;\n\tunsigned int irq_count;\n\tunsigned int softirq_count;\n\tunsigned int thread_count;\n};\n\nstruct ostream {\n\tchar *buf;\n\tint size;\n\tint used;\n};\n\nstruct output_desc {\n\tunsigned int h_vis;\n\tunsigned int h_f_porch;\n\tunsigned int h_sync;\n\tunsigned int h_b_porch;\n\tlong long unsigned int chromasc;\n\tunsigned int burst;\n\tunsigned int v_total;\n};\n\nstruct output_log {\n\tunsigned char data;\n\tunsigned char status;\n\tlong unsigned int jiffies;\n};\n\nstruct p {\n\tstruct hv_get_perf_counter_info_params params;\n\tstruct hv_gpci_system_performance_capabilities caps;\n};\n\nstruct p7_sprs {\n\tu64 tscr;\n\tu64 worc;\n\tu64 sdr1;\n\tu64 rpr;\n\tu64 lpcr;\n\tu64 hfscr;\n\tu64 fscr;\n\tu64 purr;\n\tu64 spurr;\n\tu64 dscr;\n\tu64 wort;\n\tu64 amr;\n\tu64 iamr;\n\tu64 uamor;\n};\n\nstruct p9_host_os_sprs {\n\tlong unsigned int iamr;\n\tlong unsigned int amr;\n\tunsigned int pmc1;\n\tunsigned int pmc2;\n\tunsigned int pmc3;\n\tunsigned int pmc4;\n\tunsigned int pmc5;\n\tunsigned int pmc6;\n\tlong unsigned int mmcr0;\n\tlong unsigned int mmcr1;\n\tlong unsigned int mmcr2;\n\tlong unsigned int mmcr3;\n\tlong unsigned int mmcra;\n\tlong unsigned int siar;\n\tlong unsigned int sier1;\n\tlong unsigned int sier2;\n\tlong unsigned int sier3;\n\tlong unsigned int sdar;\n};\n\nstruct p9_sprs {\n\tu64 ptcr;\n\tu64 rpr;\n\tu64 tscr;\n\tu64 ldbar;\n\tu64 lpcr;\n\tu64 hfscr;\n\tu64 fscr;\n\tu64 pid;\n\tu64 purr;\n\tu64 spurr;\n\tu64 dscr;\n\tu64 ciabr;\n\tu64 mmcra;\n\tu32 mmcr0;\n\tu32 mmcr1;\n\tu64 mmcr2;\n\tu64 amr;\n\tu64 iamr;\n\tu64 amor;\n\tu64 uamor;\n};\n\nstruct slb_shadow;\n\nstruct sibling_subcore_state;\n\nstruct slb_entry;\n\nstruct paca_struct {\n\tstruct lppaca *lppaca_ptr;\n\tu16 paca_index;\n\tu16 lock_token;\n\tu64 kernel_toc;\n\tu64 kernelbase;\n\tu64 kernel_msr;\n\tvoid *emergency_sp;\n\tu64 data_offset;\n\ts16 hw_cpu_id;\n\tu8 cpu_start;\n\tu8 kexec_state;\n\tstruct slb_shadow *slb_shadow_ptr;\n\tstruct dtl_entry *dispatch_log;\n\tstruct dtl_entry *dispatch_log_end;\n\tu64 dscr_default;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu64 exgen[10];\n\tu16 vmalloc_sllp;\n\tu8 slb_cache_ptr;\n\tu8 stab_rr;\n\tu8 in_kernel_slb_handler;\n\tu32 slb_used_bitmap;\n\tu32 slb_kern_bitmap;\n\tu32 slb_cache[8];\n\tunsigned char mm_ctx_low_slices_psize[8];\n\tunsigned char mm_ctx_high_slices_psize[2048];\n\tstruct task_struct *__current;\n\tu64 kstack;\n\tu64 saved_r1;\n\tu64 saved_msr;\n\tu64 exit_save_r1;\n\tu8 hsrr_valid;\n\tu8 srr_valid;\n\tu8 irq_soft_mask;\n\tu8 irq_happened;\n\tu8 irq_work_pending;\n\tu8 pmcregs_in_use;\n\tu64 sprg_vdso;\n\tu64 tm_scratch;\n\tlong unsigned int idle_lock;\n\tlong unsigned int idle_state;\n\tunion {\n\t\tstruct {\n\t\t\tu8 thread_idle_state;\n\t\t\tu8 subcore_sibling_mask;\n\t\t};\n\t\tstruct {\n\t\t\tu64 requested_psscr;\n\t\t\tatomic_t dont_stop;\n\t\t};\n\t};\n\tu64 exnmi[10];\n\tu64 exmc[10];\n\tvoid *nmi_emergency_sp;\n\tvoid *mc_emergency_sp;\n\tu16 in_nmi;\n\tu16 in_mce;\n\tu8 hmi_event_available;\n\tu8 hmi_p9_special_emu;\n\tu32 hmi_irqs;\n\tu8 ftrace_enabled;\n\tstruct cpu_accounting_data accounting;\n\tu64 dtl_ridx;\n\tstruct dtl_entry *dtl_curr;\n\tstruct kvmppc_host_state kvm_hstate;\n\tstruct sibling_subcore_state *sibling_subcore_state;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu64 exrfi[10];\n\tvoid *rfi_flush_fallback_area;\n\tu64 l1d_flush_size;\n\tu8 *mce_data_buf;\n\tstruct slb_entry *mce_faulty_slbs;\n\tu16 slb_save_cache_ptr;\n\tlong unsigned int canary;\n\tstruct mmiowb_state mmiowb_state;\n\tstruct mce_info *mce_info;\n\tu8 mce_pending_irq_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pacct_struct {\n\tint ac_flag;\n\tlong int ac_exitcode;\n\tlong unsigned int ac_mem;\n\tu64 ac_utime;\n\tu64 ac_stime;\n\tlong unsigned int ac_minflt;\n\tlong unsigned int ac_majflt;\n};\n\nstruct scsi_sense_hdr;\n\nstruct packet_command {\n\tunsigned char cmd[12];\n\tunsigned char *buffer;\n\tunsigned int buflen;\n\tint stat;\n\tstruct scsi_sense_hdr *sshdr;\n\tunsigned char data_direction;\n\tint quiet;\n\tint timeout;\n\tvoid *reserved[1];\n};\n\nstruct packet_fanout {\n\tpossible_net_t net;\n\tunsigned int num_members;\n\tu32 max_num_members;\n\tu16 id;\n\tu8 type;\n\tu8 flags;\n\tunion {\n\t\tatomic_t rr_cur;\n\t\tstruct bpf_prog *bpf_prog;\n\t};\n\tstruct list_head list;\n\tspinlock_t lock;\n\trefcount_t sk_ref;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct packet_type prot_hook;\n\tstruct sock *arr[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct packet_mclist {\n\tstruct packet_mclist *next;\n\tint ifindex;\n\tint count;\n\tshort unsigned int type;\n\tshort unsigned int alen;\n\tunsigned char addr[32];\n};\n\nstruct packet_mreq_max {\n\tint mr_ifindex;\n\tshort unsigned int mr_type;\n\tshort unsigned int mr_alen;\n\tunsigned char mr_address[32];\n};\n\nstruct pgv;\n\nstruct tpacket_kbdq_core {\n\tstruct pgv *pkbdq;\n\tunsigned int feature_req_word;\n\tunsigned int hdrlen;\n\tunsigned char reset_pending_on_curr_blk;\n\tunsigned char delete_blk_timer;\n\tshort unsigned int kactive_blk_num;\n\tshort unsigned int blk_sizeof_priv;\n\tshort unsigned int last_kactive_blk_num;\n\tchar *pkblk_start;\n\tchar *pkblk_end;\n\tint kblk_size;\n\tunsigned int max_frame_len;\n\tunsigned int knum_blocks;\n\tuint64_t knxt_seq_num;\n\tchar *prev;\n\tchar *nxt_offset;\n\tstruct sk_buff *skb;\n\trwlock_t blk_fill_in_prog_lock;\n\tshort unsigned int retire_blk_tov;\n\tshort unsigned int version;\n\tlong unsigned int tov_in_jiffies;\n\tstruct timer_list retire_blk_timer;\n};\n\nstruct packet_ring_buffer {\n\tstruct pgv *pg_vec;\n\tunsigned int head;\n\tunsigned int frames_per_block;\n\tunsigned int frame_size;\n\tunsigned int frame_max;\n\tunsigned int pg_vec_order;\n\tunsigned int pg_vec_pages;\n\tunsigned int pg_vec_len;\n\tunsigned int *pending_refcnt;\n\tunion {\n\t\tlong unsigned int *rx_owner_map;\n\t\tstruct tpacket_kbdq_core prb_bdqc;\n\t};\n};\n\nstruct packet_rollover {\n\tint sock;\n\tatomic_long_t num;\n\tatomic_long_t num_huge;\n\tatomic_long_t num_failed;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 history[32];\n};\n\nstruct sockaddr_pkt {\n\tshort unsigned int spkt_family;\n\tunsigned char spkt_device[14];\n\t__be16 spkt_protocol;\n};\n\nstruct sockaddr_ll {\n\tshort unsigned int sll_family;\n\t__be16 sll_protocol;\n\tint sll_ifindex;\n\tshort unsigned int sll_hatype;\n\tunsigned char sll_pkttype;\n\tunsigned char sll_halen;\n\tunsigned char sll_addr[8];\n};\n\nstruct packet_skb_cb {\n\tunion {\n\t\tstruct sockaddr_pkt pkt;\n\t\tunion {\n\t\t\tunsigned int origlen;\n\t\t\tstruct sockaddr_ll ll;\n\t\t};\n\t} sa;\n};\n\nstruct tpacket_stats {\n\tunsigned int tp_packets;\n\tunsigned int tp_drops;\n};\n\nstruct tpacket_stats_v3 {\n\tunsigned int tp_packets;\n\tunsigned int tp_drops;\n\tunsigned int tp_freeze_q_cnt;\n};\n\nunion tpacket_stats_u {\n\tstruct tpacket_stats stats1;\n\tstruct tpacket_stats_v3 stats3;\n};\n\nstruct packet_sock {\n\tstruct sock sk;\n\tstruct packet_fanout *fanout;\n\tunion tpacket_stats_u stats;\n\tstruct packet_ring_buffer rx_ring;\n\tstruct packet_ring_buffer tx_ring;\n\tint copy_thresh;\n\tspinlock_t bind_lock;\n\tstruct mutex pg_vec_lock;\n\tlong unsigned int flags;\n\tint ifindex;\n\tu8 vnet_hdr_sz;\n\t__be16 num;\n\tstruct packet_rollover *rollover;\n\tstruct packet_mclist *mclist;\n\tatomic_long_t mapped;\n\tenum tpacket_versions tp_version;\n\tunsigned int tp_hdrlen;\n\tunsigned int tp_reserve;\n\tunsigned int tp_tstamp;\n\tstruct completion skb_completion;\n\tstruct net_device *cached_dev;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct packet_type prot_hook;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t tp_drops;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct padata_cpumask {\n\tcpumask_var_t pcpu;\n\tcpumask_var_t cbcpu;\n};\n\nstruct padata_instance {\n\tstruct hlist_node cpu_online_node;\n\tstruct hlist_node cpu_dead_node;\n\tstruct workqueue_struct *parallel_wq;\n\tstruct workqueue_struct *serial_wq;\n\tstruct list_head pslist;\n\tstruct padata_cpumask cpumask;\n\tstruct kobject kobj;\n\tstruct mutex lock;\n\tu8 flags;\n};\n\nstruct padata_list {\n\tstruct list_head list;\n\tspinlock_t lock;\n};\n\nstruct padata_mt_job {\n\tvoid (*thread_fn)(long unsigned int, long unsigned int, void *);\n\tvoid *fn_arg;\n\tlong unsigned int start;\n\tlong unsigned int size;\n\tlong unsigned int align;\n\tlong unsigned int min_chunk;\n\tint max_threads;\n\tbool numa_aware;\n};\n\nstruct padata_mt_job_state {\n\tspinlock_t lock;\n\tstruct completion completion;\n\tstruct padata_mt_job *job;\n\tint nworks;\n\tint nworks_fini;\n\tlong unsigned int chunk_size;\n};\n\nstruct parallel_data;\n\nstruct padata_priv {\n\tstruct list_head list;\n\tstruct parallel_data *pd;\n\tint cb_cpu;\n\tunsigned int seq_nr;\n\tint info;\n\tvoid (*parallel)(struct padata_priv *);\n\tvoid (*serial)(struct padata_priv *);\n};\n\nstruct padata_serial_queue {\n\tstruct padata_list serial;\n\tstruct work_struct work;\n\tstruct parallel_data *pd;\n};\n\nstruct padata_shell {\n\tstruct padata_instance *pinst;\n\tstruct parallel_data *pd;\n\tstruct parallel_data *opd;\n\tstruct list_head list;\n};\n\nstruct padata_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct padata_instance *, struct attribute *, char *);\n\tssize_t (*store)(struct padata_instance *, struct attribute *, const char *, size_t);\n};\n\nstruct padata_work {\n\tstruct work_struct pw_work;\n\tstruct list_head pw_list;\n\tvoid *pw_data;\n};\n\nstruct page_ext {\n\tlong unsigned int flags;\n};\n\nstruct page_ext_operations {\n\tsize_t offset;\n\tsize_t size;\n\tbool (*need)(void);\n\tvoid (*init)(void);\n\tbool need_shared_flags;\n};\n\nstruct printf_spec;\n\nstruct page_flags_fields {\n\tint width;\n\tint shift;\n\tint mask;\n\tconst struct printf_spec *spec;\n\tconst char *name;\n};\n\nstruct page_list {\n\tstruct page_list *next;\n\tstruct page *page;\n};\n\nstruct page_owner {\n\tshort unsigned int order;\n\tshort int last_migrate_reason;\n\tgfp_t gfp_mask;\n\tdepot_stack_handle_t handle;\n\tdepot_stack_handle_t free_handle;\n\tu64 ts_nsec;\n\tu64 free_ts_nsec;\n\tchar comm[16];\n\tpid_t pid;\n\tpid_t tgid;\n\tpid_t free_pid;\n\tpid_t free_tgid;\n};\n\nstruct page_pool_params_fast {\n\tunsigned int order;\n\tunsigned int pool_size;\n\tint nid;\n\tstruct device *dev;\n\tstruct napi_struct *napi;\n\tenum dma_data_direction dma_dir;\n\tunsigned int max_len;\n\tunsigned int offset;\n};\n\nstruct pp_alloc_cache {\n\tu32 count;\n\tnetmem_ref cache[128];\n};\n\nstruct ptr_ring {\n\tint producer;\n\tspinlock_t producer_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tint consumer_head;\n\tint consumer_tail;\n\tspinlock_t consumer_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tint size;\n\tint batch;\n\tvoid **queue;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct page_pool_params_slow {\n\tstruct net_device *netdev;\n\tunsigned int queue_idx;\n\tunsigned int flags;\n\tvoid (*init_callback)(netmem_ref, void *);\n\tvoid *init_arg;\n};\n\nstruct page_pool {\n\tstruct page_pool_params_fast p;\n\tint cpuid;\n\tu32 pages_state_hold_cnt;\n\tbool has_init_callback: 1;\n\tbool dma_map: 1;\n\tbool dma_sync: 1;\n\tbool dma_sync_for_cpu: 1;\n\tlong: 0;\n\t__u8 __cacheline_group_begin__frag[0];\n\tlong int frag_users;\n\tnetmem_ref frag_page;\n\tunsigned int frag_offset;\n\tlong: 0;\n\t__u8 __cacheline_group_end__frag[0];\n\tlong: 64;\n\tstruct {} __cacheline_group_pad__frag;\n\tstruct delayed_work release_dw;\n\tvoid (*disconnect)(void *);\n\tlong unsigned int defer_start;\n\tlong unsigned int defer_warn;\n\tu32 xdp_mem_id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct pp_alloc_cache alloc;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ptr_ring ring;\n\tvoid *mp_priv;\n\tatomic_t pages_state_release_cnt;\n\trefcount_t user_cnt;\n\tu64 destroy_cnt;\n\tstruct page_pool_params_slow slow;\n\tstruct {\n\t\tstruct hlist_node list;\n\t\tu64 detach_time;\n\t\tu32 id;\n\t} user;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct page_pool_dump_cb {\n\tlong unsigned int ifindex;\n\tu32 pp_id;\n};\n\nstruct page_pool_params {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int order;\n\t\t\tunsigned int pool_size;\n\t\t\tint nid;\n\t\t\tstruct device *dev;\n\t\t\tstruct napi_struct *napi;\n\t\t\tenum dma_data_direction dma_dir;\n\t\t\tunsigned int max_len;\n\t\t\tunsigned int offset;\n\t\t};\n\t\tstruct page_pool_params_fast fast;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tstruct net_device *netdev;\n\t\t\tunsigned int queue_idx;\n\t\t\tunsigned int flags;\n\t\t\tvoid (*init_callback)(netmem_ref, void *);\n\t\t\tvoid *init_arg;\n\t\t};\n\t\tstruct page_pool_params_slow slow;\n\t};\n};\n\nstruct page_region {\n\t__u64 start;\n\t__u64 end;\n\t__u64 categories;\n};\n\nstruct page_reporting_dev_info {\n\tint (*report)(struct page_reporting_dev_info *, struct scatterlist *, unsigned int);\n\tstruct delayed_work work;\n\tatomic_t state;\n\tunsigned int order;\n};\n\nstruct page_vma_mapped_walk {\n\tlong unsigned int pfn;\n\tlong unsigned int nr_pages;\n\tlong unsigned int pgoff;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int address;\n\tpmd_t *pmd;\n\tpte_t *pte;\n\tspinlock_t *ptl;\n\tunsigned int flags;\n};\n\nstruct pm_scan_arg {\n\t__u64 size;\n\t__u64 flags;\n\t__u64 start;\n\t__u64 end;\n\t__u64 walk_end;\n\t__u64 vec;\n\t__u64 vec_len;\n\t__u64 max_pages;\n\t__u64 category_inverted;\n\t__u64 category_mask;\n\t__u64 category_anyof_mask;\n\t__u64 return_mask;\n};\n\nstruct pagemap_scan_private {\n\tstruct pm_scan_arg arg;\n\tlong unsigned int masks_of_interest;\n\tlong unsigned int cur_vma_category;\n\tstruct page_region *vec_buf;\n\tlong unsigned int vec_buf_len;\n\tlong unsigned int vec_buf_index;\n\tlong unsigned int found_pages;\n\tstruct page_region *vec_out;\n};\n\nstruct pagemapread {\n\tint pos;\n\tint len;\n\tpagemap_entry_t *buffer;\n\tbool show_pfn;\n};\n\nstruct pages_devres {\n\tlong unsigned int addr;\n\tunsigned int order;\n};\n\nstruct pages_or_folios {\n\tunion {\n\t\tstruct page **pages;\n\t\tstruct folio **folios;\n\t\tvoid **entries;\n\t};\n\tbool has_folios;\n\tlong int nr_entries;\n};\n\nstruct panel_info {\n\tint xres;\n\tint yres;\n\tint valid;\n\tint clock;\n\tint hOver_plus;\n\tint hSync_width;\n\tint hblank;\n\tint vOver_plus;\n\tint vSync_width;\n\tint vblank;\n\tint hAct_high;\n\tint vAct_high;\n\tint interlaced;\n\tint pwr_delay;\n\tint use_bios_dividers;\n\tint ref_divider;\n\tint post_divider;\n\tint fbk_divider;\n};\n\nstruct papr_attr {\n\tu64 id;\n\tstruct kobj_attribute kobj_attr;\n};\n\nstruct papr_group {\n\tstruct attribute_group pg;\n\tstruct papr_attr pgattrs[3];\n};\n\nstruct papr_location_code {\n\tchar str[80];\n};\n\nstruct papr_ops_info {\n\tconst char *attr_name;\n\tssize_t (*show)(struct kobject *, struct kobj_attribute *, char *);\n};\n\nstruct papr_sysparm_buf {\n\t__be16 len;\n\tu8 val[4000];\n};\n\nstruct papr_sysparm_io_block {\n\t__u32 parameter;\n\t__u16 length;\n\t__u8 data[4000];\n};\n\nstruct parallel_data {\n\tstruct padata_shell *ps;\n\tstruct padata_list *reorder_list;\n\tstruct padata_serial_queue *squeue;\n\trefcount_t refcnt;\n\tunsigned int seq_nr;\n\tunsigned int processed;\n\tint cpu;\n\tstruct padata_cpumask cpumask;\n\tstruct work_struct reorder_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct param_attr {\n\tstruct list_head list;\n\tu32 param_id;\n\tu32 param_size;\n\tstruct kobj_attribute kobj_attr;\n};\n\nstruct param_table {\n\tconst char *name;\n\tvoid (*fn)(int *, int, int);\n\tint *var;\n\tint def_param;\n\tint param2;\n};\n\nstruct partition_meta_info {\n\tchar uuid[37];\n\tu8 volname[64];\n};\n\nstruct parsed_partitions {\n\tstruct gendisk *disk;\n\tchar name[32];\n\tstruct {\n\t\tsector_t from;\n\t\tsector_t size;\n\t\tint flags;\n\t\tbool has_info;\n\t\tstruct partition_meta_info info;\n\t} *parts;\n\tint next;\n\tint limit;\n\tbool access_beyond_eod;\n\tchar *pp_buf;\n};\n\nstruct partial_cluster {\n\text4_fsblk_t pclu;\n\text4_lblk_t lblk;\n\tenum {\n\t\tinitial = 0,\n\t\ttofree = 1,\n\t\tnofree = 2,\n\t} state;\n};\n\nstruct partial_context {\n\tgfp_t flags;\n\tunsigned int orig_size;\n\tvoid *object;\n};\n\nstruct partial_page {\n\tunsigned int offset;\n\tunsigned int len;\n\tlong unsigned int private;\n};\n\nstruct patb_entry {\n\t__be64 patb0;\n\t__be64 patb1;\n};\n\nstruct patch_context {\n\tunion {\n\t\tstruct vm_struct *area;\n\t\tstruct mm_struct *mm;\n\t};\n\tlong unsigned int addr;\n\tpte_t *pte;\n};\n\nstruct pause_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_pauseparam pauseparam;\n\tstruct ethtool_pause_stats pausestat;\n};\n\nstruct pause_req_info {\n\tstruct ethnl_req_info base;\n\tenum ethtool_mac_stats_src src;\n};\n\nstruct powercap_attr;\n\nstruct pcap {\n\tstruct attribute_group pg;\n\tstruct powercap_attr *pattrs;\n};\n\nstruct pccard_io_map {\n\tu_char map;\n\tu_char flags;\n\tu_short speed;\n\tphys_addr_t start;\n\tphys_addr_t stop;\n};\n\ntypedef struct pccard_io_map pccard_io_map;\n\nstruct pccard_mem_map {\n\tu_char map;\n\tu_char flags;\n\tu_short speed;\n\tphys_addr_t static_start;\n\tu_int card_start;\n\tstruct resource *res;\n};\n\ntypedef struct pccard_mem_map pccard_mem_map;\n\nstruct pcmcia_socket;\n\nstruct socket_state_t;\n\ntypedef struct socket_state_t socket_state_t;\n\nstruct pccard_operations {\n\tint (*init)(struct pcmcia_socket *);\n\tint (*suspend)(struct pcmcia_socket *);\n\tint (*get_status)(struct pcmcia_socket *, u_int *);\n\tint (*set_socket)(struct pcmcia_socket *, socket_state_t *);\n\tint (*set_io_map)(struct pcmcia_socket *, struct pccard_io_map *);\n\tint (*set_mem_map)(struct pcmcia_socket *, struct pccard_mem_map *);\n};\n\nstruct pccard_resource_ops {\n\tint (*validate_mem)(struct pcmcia_socket *);\n\tint (*find_io)(struct pcmcia_socket *, unsigned int, unsigned int *, unsigned int, unsigned int, struct resource **);\n\tstruct resource * (*find_mem)(long unsigned int, long unsigned int, long unsigned int, int, struct pcmcia_socket *);\n\tint (*init)(struct pcmcia_socket *);\n\tvoid (*exit)(struct pcmcia_socket *);\n};\n\nstruct pci_acs {\n\tu16 cap;\n\tu16 ctrl;\n\tu16 fw_ctrl;\n};\n\nstruct pci_bits {\n\tunsigned int reg;\n\tunsigned int width;\n\tlong unsigned int mask;\n\tlong unsigned int val;\n};\n\nstruct pci_ops;\n\nstruct pci_bus {\n\tstruct list_head node;\n\tstruct pci_bus *parent;\n\tstruct list_head children;\n\tstruct list_head devices;\n\tstruct pci_dev *self;\n\tstruct list_head slots;\n\tstruct resource *resource[4];\n\tstruct list_head resources;\n\tstruct resource busn_res;\n\tstruct pci_ops *ops;\n\tvoid *sysdata;\n\tstruct proc_dir_entry *procdir;\n\tunsigned char number;\n\tunsigned char primary;\n\tunsigned char max_bus_speed;\n\tunsigned char cur_bus_speed;\n\tchar name[48];\n\tshort unsigned int bridge_ctl;\n\tpci_bus_flags_t bus_flags;\n\tstruct device *bridge;\n\tstruct device dev;\n\tstruct bin_attribute *legacy_io;\n\tstruct bin_attribute *legacy_mem;\n\tunsigned int is_added: 1;\n\tunsigned int unsafe_warn: 1;\n};\n\nstruct pci_bus_region {\n\tpci_bus_addr_t start;\n\tpci_bus_addr_t end;\n};\n\nstruct pci_bus_resource {\n\tstruct list_head list;\n\tstruct resource *res;\n};\n\nstruct pci_cap_saved_data {\n\tu16 cap_nr;\n\tbool cap_extended;\n\tunsigned int size;\n\tu32 data[0];\n};\n\nstruct pci_cap_saved_state {\n\tstruct hlist_node next;\n\tstruct pci_cap_saved_data cap;\n};\n\nstruct pci_controller_ops {\n\tvoid (*dma_dev_setup)(struct pci_dev *);\n\tvoid (*dma_bus_setup)(struct pci_bus *);\n\tbool (*iommu_bypass_supported)(struct pci_dev *, u64);\n\tint (*probe_mode)(struct pci_bus *);\n\tbool (*enable_device_hook)(struct pci_dev *);\n\tvoid (*disable_device)(struct pci_dev *);\n\tvoid (*release_device)(struct pci_dev *);\n\tresource_size_t (*window_alignment)(struct pci_bus *, long unsigned int);\n\tvoid (*setup_bridge)(struct pci_bus *, long unsigned int);\n\tvoid (*reset_secondary_bus)(struct pci_dev *);\n\tint (*setup_msi_irqs)(struct pci_dev *, int, int);\n\tvoid (*teardown_msi_irqs)(struct pci_dev *);\n\tvoid (*shutdown)(struct pci_controller *);\n\tstruct iommu_group * (*device_group)(struct pci_controller *, struct pci_dev *);\n};\n\nstruct pci_controller {\n\tstruct pci_bus *bus;\n\tchar is_dynamic;\n\tint node;\n\tstruct device_node *dn;\n\tstruct list_head list_node;\n\tstruct device *parent;\n\tint first_busno;\n\tint last_busno;\n\tint self_busno;\n\tstruct resource busn;\n\tvoid *io_base_virt;\n\tvoid *io_base_alloc;\n\tresource_size_t io_base_phys;\n\tresource_size_t pci_io_size;\n\tresource_size_t isa_mem_phys;\n\tresource_size_t isa_mem_size;\n\tstruct pci_controller_ops controller_ops;\n\tstruct pci_ops *ops;\n\tunsigned int *cfg_addr;\n\tvoid *cfg_data;\n\tu32 indirect_type;\n\tstruct resource io_resource;\n\tstruct resource mem_resources[3];\n\tresource_size_t mem_offset[3];\n\tint global_number;\n\tresource_size_t dma_window_base_cur;\n\tresource_size_t dma_window_size;\n\tlong unsigned int buid;\n\tstruct pci_dn *pci_data;\n\tvoid *private_data;\n\tstruct irq_domain *dev_domain;\n\tstruct irq_domain *msi_domain;\n\tstruct fwnode_handle *fwnode;\n\tstruct iommu_device iommu;\n};\n\nstruct pci_vpd {\n\tstruct mutex lock;\n\tunsigned int len;\n\tu8 cap;\n};\n\nstruct pcie_bwctrl_data;\n\nstruct pcie_link_state;\n\nstruct pci_dev {\n\tstruct list_head bus_list;\n\tstruct pci_bus *bus;\n\tstruct pci_bus *subordinate;\n\tvoid *sysdata;\n\tstruct proc_dir_entry *procent;\n\tstruct pci_slot *slot;\n\tunsigned int devfn;\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tshort unsigned int subsystem_vendor;\n\tshort unsigned int subsystem_device;\n\tunsigned int class;\n\tu8 revision;\n\tu8 hdr_type;\n\tu32 devcap;\n\tu8 pcie_cap;\n\tu8 msi_cap;\n\tu8 msix_cap;\n\tu8 pcie_mpss: 3;\n\tu8 rom_base_reg;\n\tu8 pin;\n\tu16 pcie_flags_reg;\n\tlong unsigned int *dma_alias_mask;\n\tstruct pci_driver *driver;\n\tu64 dma_mask;\n\tstruct device_dma_parameters dma_parms;\n\tpci_power_t current_state;\n\tu8 pm_cap;\n\tunsigned int pme_support: 5;\n\tunsigned int pme_poll: 1;\n\tunsigned int pinned: 1;\n\tunsigned int config_rrs_sv: 1;\n\tunsigned int imm_ready: 1;\n\tunsigned int d1_support: 1;\n\tunsigned int d2_support: 1;\n\tunsigned int no_d1d2: 1;\n\tunsigned int no_d3cold: 1;\n\tunsigned int bridge_d3: 1;\n\tunsigned int d3cold_allowed: 1;\n\tunsigned int mmio_always_on: 1;\n\tunsigned int wakeup_prepared: 1;\n\tunsigned int skip_bus_pm: 1;\n\tunsigned int ignore_hotplug: 1;\n\tunsigned int hotplug_user_indicators: 1;\n\tunsigned int clear_retrain_link: 1;\n\tunsigned int d3hot_delay;\n\tunsigned int d3cold_delay;\n\tu16 l1ss;\n\tstruct pcie_link_state *link_state;\n\tunsigned int ltr_path: 1;\n\tunsigned int pasid_no_tlp: 1;\n\tunsigned int eetlp_prefix_max: 3;\n\tpci_channel_state_t error_state;\n\tstruct device dev;\n\tint cfg_size;\n\tunsigned int irq;\n\tstruct resource resource[11];\n\tstruct resource driver_exclusive_resource;\n\tbool match_driver;\n\tunsigned int transparent: 1;\n\tunsigned int io_window: 1;\n\tunsigned int pref_window: 1;\n\tunsigned int pref_64_window: 1;\n\tunsigned int multifunction: 1;\n\tunsigned int is_busmaster: 1;\n\tunsigned int no_msi: 1;\n\tunsigned int no_64bit_msi: 1;\n\tunsigned int block_cfg_access: 1;\n\tunsigned int broken_parity_status: 1;\n\tunsigned int irq_reroute_variant: 2;\n\tunsigned int msi_enabled: 1;\n\tunsigned int msix_enabled: 1;\n\tunsigned int ari_enabled: 1;\n\tunsigned int ats_enabled: 1;\n\tunsigned int pasid_enabled: 1;\n\tunsigned int pri_enabled: 1;\n\tunsigned int tph_enabled: 1;\n\tunsigned int is_managed: 1;\n\tunsigned int is_msi_managed: 1;\n\tunsigned int needs_freset: 1;\n\tunsigned int state_saved: 1;\n\tunsigned int is_physfn: 1;\n\tunsigned int is_virtfn: 1;\n\tunsigned int is_hotplug_bridge: 1;\n\tunsigned int shpc_managed: 1;\n\tunsigned int is_thunderbolt: 1;\n\tunsigned int untrusted: 1;\n\tunsigned int external_facing: 1;\n\tunsigned int broken_intx_masking: 1;\n\tunsigned int io_window_1k: 1;\n\tunsigned int irq_managed: 1;\n\tunsigned int non_compliant_bars: 1;\n\tunsigned int is_probed: 1;\n\tunsigned int link_active_reporting: 1;\n\tunsigned int no_vf_scan: 1;\n\tunsigned int no_command_memory: 1;\n\tunsigned int rom_bar_overlap: 1;\n\tunsigned int rom_attr_enabled: 1;\n\tpci_dev_flags_t dev_flags;\n\tatomic_t enable_cnt;\n\tspinlock_t pcie_cap_lock;\n\tu32 saved_config_space[16];\n\tstruct hlist_head saved_cap_space;\n\tstruct bin_attribute *res_attr[11];\n\tstruct bin_attribute *res_attr_wc[11];\n\tvoid *msix_base;\n\traw_spinlock_t msi_lock;\n\tstruct pci_vpd vpd;\n\tstruct pcie_bwctrl_data *link_bwctrl;\n\tu16 acs_cap;\n\tu8 supported_speeds;\n\tphys_addr_t rom;\n\tsize_t romlen;\n\tconst char *driver_override;\n\tlong unsigned int priv_flags;\n\tu8 reset_methods[8];\n};\n\nstruct pci_dev_acs_enabled {\n\tu16 vendor;\n\tu16 device;\n\tint (*acs_enabled)(struct pci_dev *, u16);\n};\n\nstruct pci_dev_acs_ops {\n\tu16 vendor;\n\tu16 device;\n\tint (*enable_acs)(struct pci_dev *);\n\tint (*disable_acs_redir)(struct pci_dev *);\n};\n\nstruct pci_dev_reset_methods {\n\tu16 vendor;\n\tu16 device;\n\tint (*reset)(struct pci_dev *, bool);\n};\n\nstruct pci_dev_resource {\n\tstruct list_head list;\n\tstruct resource *res;\n\tstruct pci_dev *dev;\n\tresource_size_t start;\n\tresource_size_t end;\n\tresource_size_t add_size;\n\tresource_size_t min_align;\n\tlong unsigned int flags;\n};\n\nstruct pci_device_id {\n\t__u32 vendor;\n\t__u32 device;\n\t__u32 subvendor;\n\t__u32 subdevice;\n\t__u32 class;\n\t__u32 class_mask;\n\tkernel_ulong_t driver_data;\n\t__u32 override_only;\n};\n\nstruct pci_dn {\n\tint flags;\n\tint busno;\n\tint devfn;\n\tint vendor_id;\n\tint device_id;\n\tint class_code;\n\tstruct pci_dn *parent;\n\tstruct pci_controller *phb;\n\tstruct iommu_table_group *table_group;\n\tint pci_ext_config_space;\n\tstruct eeh_dev *edev;\n\tunsigned int pe_number;\n\tint mps;\n\tstruct list_head child_list;\n\tstruct list_head list;\n\tstruct resource holes[6];\n};\n\nstruct pci_domain_busn_res {\n\tstruct list_head list;\n\tstruct resource res;\n\tint domain_nr;\n};\n\nstruct pci_dynids {\n\tspinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct pci_error_handlers;\n\nstruct pci_driver {\n\tconst char *name;\n\tconst struct pci_device_id *id_table;\n\tint (*probe)(struct pci_dev *, const struct pci_device_id *);\n\tvoid (*remove)(struct pci_dev *);\n\tint (*suspend)(struct pci_dev *, pm_message_t);\n\tint (*resume)(struct pci_dev *);\n\tvoid (*shutdown)(struct pci_dev *);\n\tint (*sriov_configure)(struct pci_dev *, int);\n\tint (*sriov_set_msix_vec_count)(struct pci_dev *, int);\n\tu32 (*sriov_get_vf_total_msix)(struct pci_dev *);\n\tconst struct pci_error_handlers *err_handler;\n\tconst struct attribute_group **groups;\n\tconst struct attribute_group **dev_groups;\n\tstruct device_driver driver;\n\tstruct pci_dynids dynids;\n\tbool driver_managed_dma;\n};\n\nstruct pci_dynid {\n\tstruct list_head node;\n\tstruct pci_device_id id;\n};\n\nstruct pci_error_handlers {\n\tpci_ers_result_t (*error_detected)(struct pci_dev *, pci_channel_state_t);\n\tpci_ers_result_t (*mmio_enabled)(struct pci_dev *);\n\tpci_ers_result_t (*slot_reset)(struct pci_dev *);\n\tvoid (*reset_prepare)(struct pci_dev *);\n\tvoid (*reset_done)(struct pci_dev *);\n\tvoid (*resume)(struct pci_dev *);\n\tvoid (*cor_error_detected)(struct pci_dev *);\n};\n\nstruct pci_filp_private {\n\tenum pci_mmap_state mmap_state;\n\tint write_combine;\n};\n\nstruct pci_fixup {\n\tu16 vendor;\n\tu16 device;\n\tu32 class;\n\tunsigned int class_shift;\n\tvoid (*hook)(struct pci_dev *);\n};\n\nstruct pci_host_bridge {\n\tstruct device dev;\n\tstruct pci_bus *bus;\n\tstruct pci_ops *ops;\n\tstruct pci_ops *child_ops;\n\tvoid *sysdata;\n\tint busnr;\n\tint domain_nr;\n\tstruct list_head windows;\n\tstruct list_head dma_ranges;\n\tu8 (*swizzle_irq)(struct pci_dev *, u8 *);\n\tint (*map_irq)(const struct pci_dev *, u8, u8);\n\tvoid (*release_fn)(struct pci_host_bridge *);\n\tint (*enable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid (*disable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid *release_data;\n\tunsigned int ignore_reset_delay: 1;\n\tunsigned int no_ext_tags: 1;\n\tunsigned int no_inc_mrrs: 1;\n\tunsigned int native_aer: 1;\n\tunsigned int native_pcie_hotplug: 1;\n\tunsigned int native_shpc_hotplug: 1;\n\tunsigned int native_pme: 1;\n\tunsigned int native_ltr: 1;\n\tunsigned int native_dpc: 1;\n\tunsigned int native_cxl_error: 1;\n\tunsigned int preserve_config: 1;\n\tunsigned int size_windows: 1;\n\tunsigned int msi_domain: 1;\n\tresource_size_t (*align_resource)(struct pci_dev *, const struct resource *, resource_size_t, resource_size_t, resource_size_t);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct pci_intx_virq {\n\tint virq;\n\tstruct kref kref;\n\tstruct list_head list_node;\n};\n\nstruct pci_io_addr_cache {\n\tstruct rb_root rb_root;\n\tspinlock_t piar_lock;\n};\n\nstruct pci_io_addr_range {\n\tstruct rb_node rb_node;\n\tresource_size_t addr_lo;\n\tresource_size_t addr_hi;\n\tstruct eeh_dev *edev;\n\tstruct pci_dev *pcidev;\n\tlong unsigned int flags;\n};\n\nstruct pci_ops {\n\tint (*add_bus)(struct pci_bus *);\n\tvoid (*remove_bus)(struct pci_bus *);\n\tvoid * (*map_bus)(struct pci_bus *, unsigned int, int);\n\tint (*read)(struct pci_bus *, unsigned int, int, int, u32 *);\n\tint (*write)(struct pci_bus *, unsigned int, int, int, u32);\n};\n\nstruct pci_p2pdma_map_state {\n\tstruct dev_pagemap *pgmap;\n\tint map;\n\tu64 bus_off;\n};\n\nstruct pci_pme_device {\n\tstruct list_head list;\n\tstruct pci_dev *dev;\n};\n\nstruct pci_reset_fn_method {\n\tint (*reset_fn)(struct pci_dev *, bool);\n\tchar *name;\n};\n\nstruct pci_saved_state {\n\tu32 config_space[16];\n\tstruct pci_cap_saved_data cap[0];\n};\n\nstruct serial_private;\n\nstruct pciserial_board;\n\nstruct pci_serial_quirk {\n\tu32 vendor;\n\tu32 device;\n\tu32 subvendor;\n\tu32 subdevice;\n\tint (*probe)(struct pci_dev *);\n\tint (*init)(struct pci_dev *);\n\tint (*setup)(struct serial_private *, const struct pciserial_board *, struct uart_8250_port *, int);\n\tvoid (*exit)(struct pci_dev *);\n};\n\nstruct pci_slot {\n\tstruct pci_bus *bus;\n\tstruct list_head list;\n\tstruct hotplug_slot *hotplug;\n\tunsigned char number;\n\tstruct kobject kobj;\n};\n\nstruct pci_slot_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct pci_slot *, char *);\n\tssize_t (*store)(struct pci_slot *, const char *, size_t);\n};\n\nstruct pcie_link_state {\n\tstruct pci_dev *pdev;\n\tstruct pci_dev *downstream;\n\tstruct pcie_link_state *root;\n\tstruct pcie_link_state *parent;\n\tstruct list_head sibling;\n\tu32 aspm_support: 7;\n\tu32 aspm_enabled: 7;\n\tu32 aspm_capable: 7;\n\tu32 aspm_default: 7;\n\tint: 4;\n\tu32 aspm_disable: 7;\n\tu32 clkpm_capable: 1;\n\tu32 clkpm_enabled: 1;\n\tu32 clkpm_default: 1;\n\tu32 clkpm_disable: 1;\n};\n\nstruct pcie_tlp_log {\n\tu32 dw[4];\n\tu32 prefix[4];\n};\n\nstruct pcim_addr_devres {\n\tenum pcim_addr_devres_type type;\n\tvoid *baseaddr;\n\tlong unsigned int offset;\n\tlong unsigned int len;\n\tint bar;\n};\n\nstruct pcim_intx_devres {\n\tint orig_intx;\n};\n\nstruct pcim_iomap_devres {\n\tvoid *table[6];\n};\n\nstruct pciserial_board {\n\tunsigned int flags;\n\tunsigned int num_ports;\n\tunsigned int base_baud;\n\tunsigned int uart_offset;\n\tunsigned int reg_shift;\n\tunsigned int first_offset;\n};\n\nstruct pcmcia_callback {\n\tstruct module *owner;\n\tint (*add)(struct pcmcia_socket *);\n\tint (*remove)(struct pcmcia_socket *);\n\tvoid (*requery)(struct pcmcia_socket *);\n\tint (*validate)(struct pcmcia_socket *, unsigned int *);\n\tint (*suspend)(struct pcmcia_socket *);\n\tint (*early_resume)(struct pcmcia_socket *);\n\tint (*resume)(struct pcmcia_socket *);\n};\n\nstruct pcmcia_device;\n\nstruct pcmcia_cfg_mem {\n\tstruct pcmcia_device *p_dev;\n\tint (*conf_check)(struct pcmcia_device *, void *);\n\tvoid *priv_data;\n\tcisparse_t parse;\n\tcistpl_cftable_entry_t dflt;\n};\n\nstruct pcmcia_device {\n\tstruct pcmcia_socket *socket;\n\tchar *devname;\n\tu8 device_no;\n\tu8 func;\n\tstruct config_t *function_config;\n\tstruct list_head socket_device_list;\n\tunsigned int irq;\n\tstruct resource *resource[6];\n\tresource_size_t card_addr;\n\tunsigned int vpp;\n\tunsigned int config_flags;\n\tunsigned int config_base;\n\tunsigned int config_index;\n\tunsigned int config_regs;\n\tunsigned int io_lines;\n\tu16 suspended: 1;\n\tu16 _irq: 1;\n\tu16 _io: 1;\n\tu16 _win: 4;\n\tu16 _locked: 1;\n\tu16 allow_func_id_match: 1;\n\tu16 has_manf_id: 1;\n\tu16 has_card_id: 1;\n\tu16 has_func_id: 1;\n\tu16 reserved: 4;\n\tu8 func_id;\n\tu16 manf_id;\n\tu16 card_id;\n\tchar *prod_id[4];\n\tu64 dma_mask;\n\tstruct device dev;\n\tvoid *priv;\n\tunsigned int open;\n};\n\nstruct pcmcia_device_id {\n\t__u16 match_flags;\n\t__u16 manf_id;\n\t__u16 card_id;\n\t__u8 func_id;\n\t__u8 function;\n\t__u8 device_no;\n\t__u32 prod_id_hash[4];\n\tconst char *prod_id[4];\n\tkernel_ulong_t driver_info;\n\tchar *cisfile;\n};\n\nstruct pcmcia_dynids {\n\tstruct mutex lock;\n\tstruct list_head list;\n};\n\nstruct pcmcia_driver {\n\tconst char *name;\n\tint (*probe)(struct pcmcia_device *);\n\tvoid (*remove)(struct pcmcia_device *);\n\tint (*suspend)(struct pcmcia_device *);\n\tint (*resume)(struct pcmcia_device *);\n\tstruct module *owner;\n\tconst struct pcmcia_device_id *id_table;\n\tstruct device_driver drv;\n\tstruct pcmcia_dynids dynids;\n};\n\nstruct pcmcia_dynid {\n\tstruct list_head node;\n\tstruct pcmcia_device_id id;\n};\n\nstruct pcmcia_loop_get {\n\tsize_t len;\n\tcisdata_t **buf;\n};\n\nstruct tuple_t;\n\ntypedef struct tuple_t tuple_t;\n\nstruct pcmcia_loop_mem {\n\tstruct pcmcia_device *p_dev;\n\tvoid *priv_data;\n\tint (*loop_tuple)(struct pcmcia_device *, tuple_t *, void *);\n};\n\nstruct socket_state_t {\n\tu_int flags;\n\tu_int csc_mask;\n\tu_char Vcc;\n\tu_char Vpp;\n\tu_char io_irq;\n};\n\nstruct pcmcia_socket {\n\tstruct module *owner;\n\tsocket_state_t socket;\n\tu_int state;\n\tu_int suspended_state;\n\tu_short functions;\n\tu_short lock_count;\n\tpccard_mem_map cis_mem;\n\tvoid *cis_virt;\n\tio_window_t io[2];\n\tpccard_mem_map win[4];\n\tstruct list_head cis_cache;\n\tsize_t fake_cis_len;\n\tu8 *fake_cis;\n\tstruct list_head socket_list;\n\tstruct completion socket_released;\n\tunsigned int sock;\n\tu_int features;\n\tu_int irq_mask;\n\tu_int map_size;\n\tu_int io_offset;\n\tu_int pci_irq;\n\tstruct pci_dev *cb_dev;\n\tu8 resource_setup_done;\n\tstruct pccard_operations *ops;\n\tstruct pccard_resource_ops *resource_ops;\n\tvoid *resource_data;\n\tvoid (*zoom_video)(struct pcmcia_socket *, int);\n\tint (*power_hook)(struct pcmcia_socket *, int);\n\tvoid (*tune_bridge)(struct pcmcia_socket *, struct pci_bus *);\n\tstruct task_struct *thread;\n\tstruct completion thread_done;\n\tunsigned int thread_events;\n\tunsigned int sysfs_events;\n\tstruct mutex skt_mutex;\n\tstruct mutex ops_mutex;\n\tspinlock_t thread_lock;\n\tstruct pcmcia_callback *callback;\n\tstruct list_head devices_list;\n\tu8 device_count;\n\tu8 pcmcia_pfc;\n\tatomic_t present;\n\tunsigned int pcmcia_irq;\n\tstruct device dev;\n\tvoid *driver_data;\n\tint resume_status;\n};\n\nstruct pcpu_group_info {\n\tint nr_units;\n\tlong unsigned int base_offset;\n\tunsigned int *cpu_map;\n};\n\nstruct pcpu_alloc_info {\n\tsize_t static_size;\n\tsize_t reserved_size;\n\tsize_t dyn_size;\n\tsize_t unit_size;\n\tsize_t atom_size;\n\tsize_t alloc_size;\n\tsize_t __ai_size;\n\tint nr_groups;\n\tstruct pcpu_group_info groups[0];\n};\n\nstruct pcpu_block_md {\n\tint scan_hint;\n\tint scan_hint_start;\n\tint contig_hint;\n\tint contig_hint_start;\n\tint left_free;\n\tint right_free;\n\tint first_free;\n\tint nr_bits;\n};\n\nstruct pcpuobj_ext;\n\nstruct pcpu_chunk {\n\tstruct list_head list;\n\tint free_bytes;\n\tstruct pcpu_block_md chunk_md;\n\tlong unsigned int *bound_map;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tvoid *base_addr;\n\tlong unsigned int *alloc_map;\n\tstruct pcpu_block_md *md_blocks;\n\tvoid *data;\n\tbool immutable;\n\tbool isolated;\n\tint start_offset;\n\tint end_offset;\n\tstruct pcpuobj_ext *obj_exts;\n\tint nr_pages;\n\tint nr_populated;\n\tint nr_empty_pop_pages;\n\tlong unsigned int populated[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pcpu_dstats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tu64_stats_t rx_drops;\n\tu64_stats_t tx_drops;\n\tstruct u64_stats_sync syncp;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pcpu_gen_cookie {\n\tlocal_t nesting;\n\tu64 last;\n};\n\nstruct pcpu_lstats {\n\tu64_stats_t packets;\n\tu64_stats_t bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct pcpu_sw_netstats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct pcpuobj_ext {\n\tstruct obj_cgroup *cgroup;\n};\n\nstruct pde_opener {\n\tstruct list_head lh;\n\tstruct file *file;\n\tbool closing;\n\tstruct completion *c;\n};\n\nstruct pdev_archdata {\n\tu64 dma_mask;\n\tvoid *priv;\n};\n\nstruct pending_reservation {\n\tstruct rb_node rb_node;\n\text4_lblk_t lclu;\n};\n\nstruct per_cpu_nodestat {\n\ts8 stat_threshold;\n\ts8 vm_node_stat_diff[48];\n};\n\nstruct per_cpu_pages {\n\tspinlock_t lock;\n\tint count;\n\tint high;\n\tint high_min;\n\tint high_max;\n\tint batch;\n\tu8 flags;\n\tu8 alloc_factor;\n\tu8 expire;\n\tshort int free_count;\n\tstruct list_head lists[14];\n};\n\nstruct per_cpu_zonestat {\n\ts8 vm_stat_diff[11];\n\ts8 stat_threshold;\n\tlong unsigned int vm_numa_event[6];\n};\n\nstruct percpu_cluster {\n\tlocal_lock_t lock;\n\tunsigned int next[1];\n};\n\nstruct percpu_free_defer {\n\tstruct callback_head rcu;\n\tvoid *ptr;\n};\n\ntypedef void percpu_ref_func_t(struct percpu_ref *);\n\nstruct percpu_ref_data {\n\tatomic_long_t count;\n\tpercpu_ref_func_t *release;\n\tpercpu_ref_func_t *confirm_switch;\n\tbool force_atomic: 1;\n\tbool allow_reinit: 1;\n\tstruct callback_head rcu;\n\tstruct percpu_ref *ref;\n};\n\nstruct perf_addr_filter {\n\tstruct list_head entry;\n\tstruct path path;\n\tlong unsigned int offset;\n\tlong unsigned int size;\n\tenum perf_addr_filter_action_t action;\n};\n\nstruct perf_addr_filter_range {\n\tlong unsigned int start;\n\tlong unsigned int size;\n};\n\nstruct perf_addr_filters_head {\n\tstruct list_head list;\n\traw_spinlock_t lock;\n\tunsigned int nr_file_filters;\n};\n\nstruct perf_event_header {\n\t__u32 type;\n\t__u16 misc;\n\t__u16 size;\n};\n\nstruct perf_aux_event {\n\tstruct perf_event_header header;\n\tu64 hw_id;\n};\n\nstruct perf_aux_event___2 {\n\tstruct perf_event_header header;\n\tu32 pid;\n\tu32 tid;\n};\n\nstruct perf_aux_event___3 {\n\tstruct perf_event_header header;\n\tu64 offset;\n\tu64 size;\n\tu64 flags;\n};\n\nstruct perf_bpf_event {\n\tstruct bpf_prog *prog;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu16 type;\n\t\tu16 flags;\n\t\tu32 id;\n\t\tu8 tag[8];\n\t} event_id;\n};\n\nstruct perf_event_mmap_page;\n\nstruct perf_buffer {\n\trefcount_t refcount;\n\tstruct callback_head callback_head;\n\tint nr_pages;\n\tint overwrite;\n\tint paused;\n\tatomic_t poll;\n\tlocal_t head;\n\tunsigned int nest;\n\tlocal_t events;\n\tlocal_t wakeup;\n\tlocal_t lost;\n\tlong int watermark;\n\tlong int aux_watermark;\n\tspinlock_t event_lock;\n\tstruct list_head event_list;\n\tatomic_t mmap_count;\n\tlong unsigned int mmap_locked;\n\tstruct user_struct *mmap_user;\n\tstruct mutex aux_mutex;\n\tlong int aux_head;\n\tunsigned int aux_nest;\n\tlong int aux_wakeup;\n\tlong unsigned int aux_pgoff;\n\tint aux_nr_pages;\n\tint aux_overwrite;\n\tatomic_t aux_mmap_count;\n\tlong unsigned int aux_mmap_locked;\n\tvoid (*free_aux)(void *);\n\trefcount_t aux_refcount;\n\tint aux_in_sampling;\n\tint aux_in_pause_resume;\n\tvoid **aux_pages;\n\tvoid *aux_priv;\n\tstruct perf_event_mmap_page *user_page;\n\tvoid *data_pages[0];\n};\n\nstruct perf_callchain_entry {\n\t__u64 nr;\n\t__u64 ip[0];\n};\n\nstruct perf_callchain_entry_ctx {\n\tstruct perf_callchain_entry *entry;\n\tu32 max_stack;\n\tu32 nr;\n\tshort int contexts;\n\tbool contexts_maxed;\n};\n\nstruct perf_cgroup_info;\n\nstruct perf_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct perf_cgroup_info *info;\n};\n\nstruct perf_cgroup_event {\n\tchar *path;\n\tint path_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 id;\n\t\tchar path[0];\n\t} event_id;\n};\n\nstruct perf_cgroup_info {\n\tu64 time;\n\tu64 timestamp;\n\tu64 timeoffset;\n\tint active;\n};\n\nstruct perf_comm_event {\n\tstruct task_struct *task;\n\tchar *comm;\n\tint comm_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t} event_id;\n};\n\nstruct perf_event_groups {\n\tstruct rb_root tree;\n\tu64 index;\n};\n\nstruct perf_event_context {\n\traw_spinlock_t lock;\n\tstruct mutex mutex;\n\tstruct list_head pmu_ctx_list;\n\tstruct perf_event_groups pinned_groups;\n\tstruct perf_event_groups flexible_groups;\n\tstruct list_head event_list;\n\tint nr_events;\n\tint nr_user;\n\tint is_active;\n\tint nr_task_data;\n\tint nr_stat;\n\tint nr_freq;\n\tint rotate_disable;\n\trefcount_t refcount;\n\tstruct task_struct *task;\n\tu64 time;\n\tu64 timestamp;\n\tu64 timeoffset;\n\tstruct perf_event_context *parent_ctx;\n\tu64 parent_gen;\n\tu64 generation;\n\tint pin_count;\n\tint nr_cgroups;\n\tstruct callback_head callback_head;\n\tlocal_t nr_no_switch_fast;\n};\n\nstruct perf_cpu_context {\n\tstruct perf_event_context ctx;\n\tstruct perf_event_context *task_ctx;\n\tint online;\n\tstruct perf_cgroup *cgrp;\n\tint heap_size;\n\tstruct perf_event **heap;\n\tstruct perf_event *heap_default[2];\n};\n\nstruct perf_event_pmu_context {\n\tstruct pmu *pmu;\n\tstruct perf_event_context *ctx;\n\tstruct list_head pmu_ctx_entry;\n\tstruct list_head pinned_active;\n\tstruct list_head flexible_active;\n\tunsigned int embedded: 1;\n\tunsigned int nr_events;\n\tunsigned int nr_cgroups;\n\tunsigned int nr_freq;\n\tatomic_t refcount;\n\tstruct callback_head callback_head;\n\tvoid *task_ctx_data;\n\tint rotate_necessary;\n};\n\nstruct perf_cpu_pmu_context {\n\tstruct perf_event_pmu_context epc;\n\tstruct perf_event_pmu_context *task_epc;\n\tstruct list_head sched_cb_entry;\n\tint sched_cb_usage;\n\tint active_oncpu;\n\tint exclusive;\n\traw_spinlock_t hrtimer_lock;\n\tstruct hrtimer hrtimer;\n\tktime_t hrtimer_interval;\n\tunsigned int hrtimer_active;\n};\n\nstruct perf_domain {\n\tstruct em_perf_domain *em_pd;\n\tstruct perf_domain *next;\n\tstruct callback_head rcu;\n};\n\nstruct perf_event_attr {\n\t__u32 type;\n\t__u32 size;\n\t__u64 config;\n\tunion {\n\t\t__u64 sample_period;\n\t\t__u64 sample_freq;\n\t};\n\t__u64 sample_type;\n\t__u64 read_format;\n\t__u64 disabled: 1;\n\t__u64 inherit: 1;\n\t__u64 pinned: 1;\n\t__u64 exclusive: 1;\n\t__u64 exclude_user: 1;\n\t__u64 exclude_kernel: 1;\n\t__u64 exclude_hv: 1;\n\t__u64 exclude_idle: 1;\n\t__u64 mmap: 1;\n\t__u64 comm: 1;\n\t__u64 freq: 1;\n\t__u64 inherit_stat: 1;\n\t__u64 enable_on_exec: 1;\n\t__u64 task: 1;\n\t__u64 watermark: 1;\n\t__u64 precise_ip: 2;\n\t__u64 mmap_data: 1;\n\t__u64 sample_id_all: 1;\n\t__u64 exclude_host: 1;\n\t__u64 exclude_guest: 1;\n\t__u64 exclude_callchain_kernel: 1;\n\t__u64 exclude_callchain_user: 1;\n\t__u64 mmap2: 1;\n\t__u64 comm_exec: 1;\n\t__u64 use_clockid: 1;\n\t__u64 context_switch: 1;\n\t__u64 write_backward: 1;\n\t__u64 namespaces: 1;\n\t__u64 ksymbol: 1;\n\t__u64 bpf_event: 1;\n\t__u64 aux_output: 1;\n\t__u64 cgroup: 1;\n\t__u64 text_poke: 1;\n\t__u64 build_id: 1;\n\t__u64 inherit_thread: 1;\n\t__u64 remove_on_exec: 1;\n\t__u64 sigtrap: 1;\n\t__u64 __reserved_1: 26;\n\tunion {\n\t\t__u32 wakeup_events;\n\t\t__u32 wakeup_watermark;\n\t};\n\t__u32 bp_type;\n\tunion {\n\t\t__u64 bp_addr;\n\t\t__u64 kprobe_func;\n\t\t__u64 uprobe_path;\n\t\t__u64 config1;\n\t};\n\tunion {\n\t\t__u64 bp_len;\n\t\t__u64 kprobe_addr;\n\t\t__u64 probe_offset;\n\t\t__u64 config2;\n\t};\n\t__u64 branch_sample_type;\n\t__u64 sample_regs_user;\n\t__u32 sample_stack_user;\n\t__s32 clockid;\n\t__u64 sample_regs_intr;\n\t__u32 aux_watermark;\n\t__u16 sample_max_stack;\n\t__u16 __reserved_2;\n\t__u32 aux_sample_size;\n\tunion {\n\t\t__u32 aux_action;\n\t\tstruct {\n\t\t\t__u32 aux_start_paused: 1;\n\t\t\t__u32 aux_pause: 1;\n\t\t\t__u32 aux_resume: 1;\n\t\t\t__u32 __reserved_3: 29;\n\t\t};\n\t};\n\t__u64 sig_data;\n\t__u64 config3;\n};\n\ntypedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *);\n\nstruct perf_event {\n\tstruct list_head event_entry;\n\tstruct list_head sibling_list;\n\tstruct list_head active_list;\n\tstruct rb_node group_node;\n\tu64 group_index;\n\tstruct list_head migrate_entry;\n\tstruct hlist_node hlist_entry;\n\tstruct list_head active_entry;\n\tint nr_siblings;\n\tint event_caps;\n\tint group_caps;\n\tunsigned int group_generation;\n\tstruct perf_event *group_leader;\n\tstruct pmu *pmu;\n\tvoid *pmu_private;\n\tenum perf_event_state state;\n\tunsigned int attach_state;\n\tlocal64_t count;\n\tatomic64_t child_count;\n\tu64 total_time_enabled;\n\tu64 total_time_running;\n\tu64 tstamp;\n\tstruct perf_event_attr attr;\n\tu16 header_size;\n\tu16 id_header_size;\n\tu16 read_size;\n\tstruct hw_perf_event hw;\n\tstruct perf_event_context *ctx;\n\tstruct perf_event_pmu_context *pmu_ctx;\n\tatomic_long_t refcount;\n\tatomic64_t child_total_time_enabled;\n\tatomic64_t child_total_time_running;\n\tstruct mutex child_mutex;\n\tstruct list_head child_list;\n\tstruct perf_event *parent;\n\tint oncpu;\n\tint cpu;\n\tstruct list_head owner_entry;\n\tstruct task_struct *owner;\n\tstruct mutex mmap_mutex;\n\tatomic_t mmap_count;\n\tstruct perf_buffer *rb;\n\tstruct list_head rb_entry;\n\tlong unsigned int rcu_batches;\n\tint rcu_pending;\n\twait_queue_head_t waitq;\n\tstruct fasync_struct *fasync;\n\tunsigned int pending_wakeup;\n\tunsigned int pending_kill;\n\tunsigned int pending_disable;\n\tlong unsigned int pending_addr;\n\tstruct irq_work pending_irq;\n\tstruct irq_work pending_disable_irq;\n\tstruct callback_head pending_task;\n\tunsigned int pending_work;\n\tstruct rcuwait pending_work_wait;\n\tatomic_t event_limit;\n\tstruct perf_addr_filters_head addr_filters;\n\tstruct perf_addr_filter_range *addr_filter_ranges;\n\tlong unsigned int addr_filters_gen;\n\tstruct perf_event *aux_event;\n\tvoid (*destroy)(struct perf_event *);\n\tstruct callback_head callback_head;\n\tstruct pid_namespace *ns;\n\tu64 id;\n\tatomic64_t lost_samples;\n\tu64 (*clock)(void);\n\tperf_overflow_handler_t overflow_handler;\n\tvoid *overflow_handler_context;\n\tstruct bpf_prog *prog;\n\tu64 bpf_cookie;\n\tstruct trace_event_call *tp_event;\n\tstruct event_filter *filter;\n\tstruct ftrace_ops ftrace_ops;\n\tstruct perf_cgroup *cgrp;\n\tvoid *security;\n\tstruct list_head sb_list;\n\t__u32 orig_type;\n};\n\nstruct perf_event_min_heap {\n\tsize_t nr;\n\tsize_t size;\n\tstruct perf_event **data;\n\tstruct perf_event *preallocated[0];\n};\n\nstruct perf_event_mmap_page {\n\t__u32 version;\n\t__u32 compat_version;\n\t__u32 lock;\n\t__u32 index;\n\t__s64 offset;\n\t__u64 time_enabled;\n\t__u64 time_running;\n\tunion {\n\t\t__u64 capabilities;\n\t\tstruct {\n\t\t\t__u64 cap_bit0: 1;\n\t\t\t__u64 cap_bit0_is_deprecated: 1;\n\t\t\t__u64 cap_user_rdpmc: 1;\n\t\t\t__u64 cap_user_time: 1;\n\t\t\t__u64 cap_user_time_zero: 1;\n\t\t\t__u64 cap_user_time_short: 1;\n\t\t\t__u64 cap_____res: 58;\n\t\t};\n\t};\n\t__u16 pmc_width;\n\t__u16 time_shift;\n\t__u32 time_mult;\n\t__u64 time_offset;\n\t__u64 time_zero;\n\t__u32 size;\n\t__u32 __reserved_1;\n\t__u64 time_cycles;\n\t__u64 time_mask;\n\t__u8 __reserved[928];\n\t__u64 data_head;\n\t__u64 data_tail;\n\t__u64 data_offset;\n\t__u64 data_size;\n\t__u64 aux_head;\n\t__u64 aux_tail;\n\t__u64 aux_offset;\n\t__u64 aux_size;\n};\n\nstruct perf_event_query_bpf {\n\t__u32 ids_len;\n\t__u32 prog_cnt;\n\t__u32 ids[0];\n};\n\nstruct perf_event_security_struct {\n\tu32 sid;\n};\n\nstruct perf_ksymbol_event {\n\tconst char *name;\n\tint name_len;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 addr;\n\t\tu32 len;\n\t\tu16 ksym_type;\n\t\tu16 flags;\n\t} event_id;\n};\n\nstruct perf_mmap_event {\n\tstruct vm_area_struct *vma;\n\tconst char *file_name;\n\tint file_size;\n\tint maj;\n\tint min;\n\tu64 ino;\n\tu64 ino_generation;\n\tu32 prot;\n\tu32 flags;\n\tu8 build_id[20];\n\tu32 build_id_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t\tu64 start;\n\t\tu64 len;\n\t\tu64 pgoff;\n\t} event_id;\n};\n\nstruct perf_ns_link_info {\n\t__u64 dev;\n\t__u64 ino;\n};\n\nstruct perf_namespaces_event {\n\tstruct task_struct *task;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t\tu64 nr_namespaces;\n\t\tstruct perf_ns_link_info link_info[7];\n\t} event_id;\n};\n\nstruct perf_output_handle {\n\tstruct perf_event *event;\n\tstruct perf_buffer *rb;\n\tlong unsigned int wakeup;\n\tlong unsigned int size;\n\tu64 aux_flags;\n\tunion {\n\t\tvoid *addr;\n\t\tlong unsigned int head;\n\t};\n\tint page;\n};\n\nstruct perf_pmu_events_attr {\n\tstruct device_attribute attr;\n\tu64 id;\n\tconst char *event_str;\n};\n\ntypedef long unsigned int (*perf_copy_f)(void *, const void *, long unsigned int, long unsigned int);\n\nstruct perf_raw_frag {\n\tunion {\n\t\tstruct perf_raw_frag *next;\n\t\tlong unsigned int pad;\n\t};\n\tperf_copy_f copy;\n\tvoid *data;\n\tu32 size;\n} __attribute__((packed));\n\nstruct perf_raw_record {\n\tstruct perf_raw_frag frag;\n\tu32 size;\n};\n\nstruct perf_read_data {\n\tstruct perf_event *event;\n\tbool group;\n\tint ret;\n};\n\nstruct perf_read_event {\n\tstruct perf_event_header header;\n\tu32 pid;\n\tu32 tid;\n};\n\nstruct perf_switch_event {\n\tstruct task_struct *task;\n\tstruct task_struct *next_prev;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 next_prev_pid;\n\t\tu32 next_prev_tid;\n\t} event_id;\n};\n\nstruct perf_task_event {\n\tstruct task_struct *task;\n\tstruct perf_event_context *task_ctx;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 ppid;\n\t\tu32 tid;\n\t\tu32 ptid;\n\t\tu64 time;\n\t} event_id;\n};\n\nstruct perf_text_poke_event {\n\tconst void *old_bytes;\n\tconst void *new_bytes;\n\tsize_t pad;\n\tu16 old_len;\n\tu16 new_len;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 addr;\n\t} event_id;\n};\n\nstruct pericom8250 {\n\tvoid *virt;\n\tunsigned int nr;\n\tint line[0];\n};\n\nstruct perm_datum {\n\tu32 value;\n};\n\nstruct pernet_operations {\n\tstruct list_head list;\n\tint (*init)(struct net *);\n\tvoid (*pre_exit)(struct net *);\n\tvoid (*exit)(struct net *);\n\tvoid (*exit_batch)(struct list_head *);\n\tvoid (*exit_batch_rtnl)(struct list_head *, struct list_head *);\n\tunsigned int * const id;\n\tconst size_t size;\n};\n\nstruct pf_desc {\n\tu32 pseudoflavor;\n\tu32 qop;\n\tu32 service;\n\tchar *name;\n\tchar *auth_domain_name;\n\tstruct auth_domain *domain;\n\tbool datatouch;\n};\n\nstruct skb_array {\n\tstruct ptr_ring ring;\n};\n\nstruct pfifo_fast_priv {\n\tstruct skb_array q[3];\n};\n\nstruct ptdump_range;\n\nstruct ptdump_state {\n\tvoid (*note_page)(struct ptdump_state *, long unsigned int, int, u64);\n\tvoid (*effective_prot)(struct ptdump_state *, int, u64);\n\tconst struct ptdump_range *range;\n};\n\nstruct pg_state {\n\tstruct ptdump_state ptdump;\n\tstruct seq_file *seq;\n\tconst struct addr_marker *marker;\n\tlong unsigned int start_address;\n\tlong unsigned int start_pa;\n\tint level;\n\tu64 current_flags;\n\tbool check_wx;\n\tlong unsigned int wx_pages;\n};\n\nstruct zone {\n\tlong unsigned int _watermark[4];\n\tlong unsigned int watermark_boost;\n\tlong unsigned int nr_reserved_highatomic;\n\tlong unsigned int nr_free_highatomic;\n\tlong int lowmem_reserve[3];\n\tint node;\n\tstruct pglist_data *zone_pgdat;\n\tstruct per_cpu_pages *per_cpu_pageset;\n\tstruct per_cpu_zonestat *per_cpu_zonestats;\n\tint pageset_high_min;\n\tint pageset_high_max;\n\tint pageset_batch;\n\tlong unsigned int zone_start_pfn;\n\tatomic_long_t managed_pages;\n\tlong unsigned int spanned_pages;\n\tlong unsigned int present_pages;\n\tlong unsigned int present_early_pages;\n\tlong unsigned int cma_pages;\n\tconst char *name;\n\tlong unsigned int nr_isolate_pageblock;\n\tseqlock_t span_seqlock;\n\tint initialized;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct free_area free_area[9];\n\tlong unsigned int flags;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tlong unsigned int percpu_drift_mark;\n\tlong unsigned int compact_cached_free_pfn;\n\tlong unsigned int compact_cached_migrate_pfn[2];\n\tlong unsigned int compact_init_migrate_pfn;\n\tlong unsigned int compact_init_free_pfn;\n\tunsigned int compact_considered;\n\tunsigned int compact_defer_shift;\n\tint compact_order_failed;\n\tbool compact_blockskip_flush;\n\tbool contiguous;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad3_;\n\tatomic_long_t vm_stat[11];\n\tatomic_long_t vm_numa_event[6];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct zoneref {\n\tstruct zone *zone;\n\tint zone_idx;\n};\n\nstruct zonelist {\n\tstruct zoneref _zonerefs[769];\n};\n\nstruct pglist_data {\n\tstruct zone node_zones[3];\n\tstruct zonelist node_zonelists[2];\n\tint nr_zones;\n\tspinlock_t node_size_lock;\n\tlong unsigned int node_start_pfn;\n\tlong unsigned int node_present_pages;\n\tlong unsigned int node_spanned_pages;\n\tint node_id;\n\twait_queue_head_t kswapd_wait;\n\twait_queue_head_t pfmemalloc_wait;\n\twait_queue_head_t reclaim_wait[4];\n\tatomic_t nr_writeback_throttled;\n\tlong unsigned int nr_reclaim_start;\n\tstruct mutex kswapd_lock;\n\tstruct task_struct *kswapd;\n\tint kswapd_order;\n\tenum zone_type kswapd_highest_zoneidx;\n\tint kswapd_failures;\n\tint kcompactd_max_order;\n\tenum zone_type kcompactd_highest_zoneidx;\n\twait_queue_head_t kcompactd_wait;\n\tstruct task_struct *kcompactd;\n\tbool proactive_compact_trigger;\n\tlong unsigned int totalreserve_pages;\n\tlong unsigned int min_unmapped_pages;\n\tlong unsigned int min_slab_pages;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tlong unsigned int first_deferred_pfn;\n\tstruct deferred_split deferred_split_queue;\n\tunsigned int nbp_rl_start;\n\tlong unsigned int nbp_rl_nr_cand;\n\tunsigned int nbp_threshold;\n\tunsigned int nbp_th_start;\n\tlong unsigned int nbp_th_nr_cand;\n\tstruct lruvec __lruvec;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tstruct per_cpu_nodestat *per_cpu_nodestats;\n\tatomic_long_t vm_stat[48];\n\tstruct memory_tier *memtier;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pgtable_level {\n\tconst struct flag_info *flag;\n\tsize_t num;\n\tu64 mask;\n};\n\nstruct pgv {\n\tchar *buffer;\n};\n\nstruct phc_vclocks_reply_data {\n\tstruct ethnl_reply_data base;\n\tint num;\n\tint *index;\n};\n\nstruct phy_attrs {\n\tu32 bus_width;\n\tu32 max_link_rate;\n\tenum phy_mode mode;\n};\n\nstruct phy_ops;\n\nstruct phy___2 {\n\tstruct device dev;\n\tint id;\n\tconst struct phy_ops *ops;\n\tstruct mutex mutex;\n\tint init_count;\n\tint power_count;\n\tstruct phy_attrs attrs;\n\tstruct regulator *pwr;\n\tstruct dentry *debugfs;\n};\n\nstruct phy_c45_device_ids {\n\tu32 devices_in_package;\n\tu32 mmds_present;\n\tu32 device_ids[32];\n};\n\nstruct phy_configure_opts_mipi_dphy {\n\tunsigned int clk_miss;\n\tunsigned int clk_post;\n\tunsigned int clk_pre;\n\tunsigned int clk_prepare;\n\tunsigned int clk_settle;\n\tunsigned int clk_term_en;\n\tunsigned int clk_trail;\n\tunsigned int clk_zero;\n\tunsigned int d_term_en;\n\tunsigned int eot;\n\tunsigned int hs_exit;\n\tunsigned int hs_prepare;\n\tunsigned int hs_settle;\n\tunsigned int hs_skip;\n\tunsigned int hs_trail;\n\tunsigned int hs_zero;\n\tunsigned int init;\n\tunsigned int lpx;\n\tunsigned int ta_get;\n\tunsigned int ta_go;\n\tunsigned int ta_sure;\n\tunsigned int wakeup;\n\tlong unsigned int hs_clk_rate;\n\tlong unsigned int lp_clk_rate;\n\tunsigned char lanes;\n};\n\nstruct phy_configure_opts_dp {\n\tunsigned int link_rate;\n\tunsigned int lanes;\n\tunsigned int voltage[4];\n\tunsigned int pre[4];\n\tu8 ssc: 1;\n\tu8 set_rate: 1;\n\tu8 set_lanes: 1;\n\tu8 set_voltages: 1;\n};\n\nstruct phy_configure_opts_lvds {\n\tunsigned int bits_per_lane_and_dclk_cycle;\n\tlong unsigned int differential_clk_rate;\n\tunsigned int lanes;\n\tbool is_slave;\n};\n\nunion phy_configure_opts {\n\tstruct phy_configure_opts_mipi_dphy mipi_dphy;\n\tstruct phy_configure_opts_dp dp;\n\tstruct phy_configure_opts_lvds lvds;\n};\n\nstruct phylink;\n\nstruct pse_control;\n\nstruct phy_driver;\n\nstruct phy_device {\n\tstruct mdio_device mdio;\n\tconst struct phy_driver *drv;\n\tstruct device_link *devlink;\n\tu32 phyindex;\n\tu32 phy_id;\n\tstruct phy_c45_device_ids c45_ids;\n\tunsigned int is_c45: 1;\n\tunsigned int is_internal: 1;\n\tunsigned int is_pseudo_fixed_link: 1;\n\tunsigned int is_gigabit_capable: 1;\n\tunsigned int has_fixups: 1;\n\tunsigned int suspended: 1;\n\tunsigned int suspended_by_mdio_bus: 1;\n\tunsigned int sysfs_links: 1;\n\tunsigned int loopback_enabled: 1;\n\tunsigned int downshifted_rate: 1;\n\tunsigned int is_on_sfp_module: 1;\n\tunsigned int mac_managed_pm: 1;\n\tunsigned int wol_enabled: 1;\n\tunsigned int autoneg: 1;\n\tunsigned int link: 1;\n\tunsigned int autoneg_complete: 1;\n\tunsigned int interrupts: 1;\n\tunsigned int irq_suspended: 1;\n\tunsigned int irq_rerun: 1;\n\tunsigned int default_timestamp: 1;\n\tint rate_matching;\n\tenum phy_state state;\n\tu32 dev_flags;\n\tphy_interface_t interface;\n\tlong unsigned int possible_interfaces[1];\n\tint speed;\n\tint duplex;\n\tint port;\n\tint pause;\n\tint asym_pause;\n\tu8 master_slave_get;\n\tu8 master_slave_set;\n\tu8 master_slave_state;\n\tlong unsigned int supported[2];\n\tlong unsigned int advertising[2];\n\tlong unsigned int lp_advertising[2];\n\tlong unsigned int adv_old[2];\n\tlong unsigned int supported_eee[2];\n\tlong unsigned int advertising_eee[2];\n\tlong unsigned int eee_broken_modes[2];\n\tbool enable_tx_lpi;\n\tbool eee_active;\n\tstruct eee_config eee_cfg;\n\tlong unsigned int host_interfaces[1];\n\tstruct list_head leds;\n\tint irq;\n\tvoid *priv;\n\tstruct phy_package_shared *shared;\n\tstruct sk_buff *skb;\n\tvoid *ehdr;\n\tstruct nlattr *nest;\n\tstruct delayed_work state_queue;\n\tstruct mutex lock;\n\tbool sfp_bus_attached;\n\tstruct sfp_bus *sfp_bus;\n\tstruct phylink *phylink;\n\tstruct net_device *attached_dev;\n\tstruct mii_timestamper *mii_ts;\n\tstruct pse_control *psec;\n\tu8 mdix;\n\tu8 mdix_ctrl;\n\tint pma_extable;\n\tunsigned int link_down_events;\n\tvoid (*phy_link_change)(struct phy_device *, bool);\n\tvoid (*adjust_link)(struct net_device *);\n};\n\nstruct phy_device_node {\n\tenum phy_upstream upstream_type;\n\tunion {\n\t\tstruct net_device *netdev;\n\t\tstruct phy_device *phydev;\n\t} upstream;\n\tstruct sfp_bus *parent_sfp_bus;\n\tstruct phy_device *phy;\n};\n\nstruct phy_driver {\n\tstruct mdio_driver_common mdiodrv;\n\tu32 phy_id;\n\tchar *name;\n\tu32 phy_id_mask;\n\tconst long unsigned int * const features;\n\tu32 flags;\n\tconst void *driver_data;\n\tint (*soft_reset)(struct phy_device *);\n\tint (*config_init)(struct phy_device *);\n\tint (*probe)(struct phy_device *);\n\tint (*get_features)(struct phy_device *);\n\tunsigned int (*inband_caps)(struct phy_device *, phy_interface_t);\n\tint (*config_inband)(struct phy_device *, unsigned int);\n\tint (*get_rate_matching)(struct phy_device *, phy_interface_t);\n\tint (*suspend)(struct phy_device *);\n\tint (*resume)(struct phy_device *);\n\tint (*config_aneg)(struct phy_device *);\n\tint (*aneg_done)(struct phy_device *);\n\tint (*read_status)(struct phy_device *);\n\tint (*config_intr)(struct phy_device *);\n\tirqreturn_t (*handle_interrupt)(struct phy_device *);\n\tvoid (*remove)(struct phy_device *);\n\tint (*match_phy_device)(struct phy_device *);\n\tint (*set_wol)(struct phy_device *, struct ethtool_wolinfo *);\n\tvoid (*get_wol)(struct phy_device *, struct ethtool_wolinfo *);\n\tvoid (*link_change_notify)(struct phy_device *);\n\tint (*read_mmd)(struct phy_device *, int, u16);\n\tint (*write_mmd)(struct phy_device *, int, u16, u16);\n\tint (*read_page)(struct phy_device *);\n\tint (*write_page)(struct phy_device *, int);\n\tint (*module_info)(struct phy_device *, struct ethtool_modinfo *);\n\tint (*module_eeprom)(struct phy_device *, struct ethtool_eeprom *, u8 *);\n\tint (*cable_test_start)(struct phy_device *);\n\tint (*cable_test_tdr_start)(struct phy_device *, const struct phy_tdr_config *);\n\tint (*cable_test_get_status)(struct phy_device *, bool *);\n\tvoid (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *);\n\tvoid (*get_link_stats)(struct phy_device *, struct ethtool_link_ext_stats *);\n\tint (*update_stats)(struct phy_device *);\n\tint (*get_sset_count)(struct phy_device *);\n\tvoid (*get_strings)(struct phy_device *, u8 *);\n\tvoid (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *);\n\tint (*get_tunable)(struct phy_device *, struct ethtool_tunable *, void *);\n\tint (*set_tunable)(struct phy_device *, struct ethtool_tunable *, const void *);\n\tint (*set_loopback)(struct phy_device *, bool);\n\tint (*get_sqi)(struct phy_device *);\n\tint (*get_sqi_max)(struct phy_device *);\n\tint (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *);\n\tint (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *);\n\tint (*get_plca_status)(struct phy_device *, struct phy_plca_status *);\n\tint (*led_brightness_set)(struct phy_device *, u8, enum led_brightness);\n\tint (*led_blink_set)(struct phy_device *, u8, long unsigned int *, long unsigned int *);\n\tint (*led_hw_is_supported)(struct phy_device *, u8, long unsigned int);\n\tint (*led_hw_control_set)(struct phy_device *, u8, long unsigned int);\n\tint (*led_hw_control_get)(struct phy_device *, u8, long unsigned int *);\n\tint (*led_polarity_set)(struct phy_device *, int, long unsigned int);\n};\n\nstruct phy_fixup {\n\tstruct list_head list;\n\tchar bus_id[64];\n\tu32 phy_uid;\n\tu32 phy_uid_mask;\n\tint (*run)(struct phy_device *);\n};\n\nstruct phy_link_topology {\n\tstruct xarray phys;\n\tu32 next_phy_index;\n};\n\nstruct phy_lookup {\n\tstruct list_head node;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct phy___2 *phy;\n};\n\nstruct phy_ops {\n\tint (*init)(struct phy___2 *);\n\tint (*exit)(struct phy___2 *);\n\tint (*power_on)(struct phy___2 *);\n\tint (*power_off)(struct phy___2 *);\n\tint (*set_mode)(struct phy___2 *, enum phy_mode, int);\n\tint (*set_media)(struct phy___2 *, enum phy_media);\n\tint (*set_speed)(struct phy___2 *, int);\n\tint (*configure)(struct phy___2 *, union phy_configure_opts *);\n\tint (*validate)(struct phy___2 *, enum phy_mode, int, union phy_configure_opts *);\n\tint (*reset)(struct phy___2 *);\n\tint (*calibrate)(struct phy___2 *);\n\tint (*connect)(struct phy___2 *, int);\n\tint (*disconnect)(struct phy___2 *, int);\n\tvoid (*release)(struct phy___2 *);\n\tstruct module *owner;\n};\n\nstruct phy_package_shared {\n\tu8 base_addr;\n\tstruct device_node *np;\n\trefcount_t refcnt;\n\tlong unsigned int flags;\n\tsize_t priv_size;\n\tvoid *priv;\n};\n\nstruct phy_plca_cfg {\n\tint version;\n\tint enabled;\n\tint node_id;\n\tint node_cnt;\n\tint to_tmr;\n\tint burst_cnt;\n\tint burst_tmr;\n};\n\nstruct phy_plca_status {\n\tbool pst;\n};\n\nstruct phy_provider {\n\tstruct device *dev;\n\tstruct device_node *children;\n\tstruct module *owner;\n\tstruct list_head list;\n\tstruct phy___2 * (*of_xlate)(struct device *, const struct of_phandle_args *);\n};\n\nstruct phy_req_info {\n\tstruct ethnl_req_info base;\n\tstruct phy_device_node *pdn;\n};\n\nstruct phy_setting {\n\tu32 speed;\n\tu8 duplex;\n\tu8 bit;\n};\n\nstruct phy_tdr_config {\n\tu32 first;\n\tu32 last;\n\tu32 step;\n\ts8 pair;\n};\n\nstruct phylib_stubs {\n\tint (*hwtstamp_get)(struct phy_device *, struct kernel_hwtstamp_config *);\n\tint (*hwtstamp_set)(struct phy_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n\tvoid (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *);\n\tvoid (*get_link_ext_stats)(struct phy_device *, struct ethtool_link_ext_stats *);\n};\n\nstruct phys_vec {\n\tphys_addr_t paddr;\n\tu32 len;\n};\n\nstruct upid {\n\tint nr;\n\tstruct pid_namespace *ns;\n};\n\nstruct pid {\n\trefcount_t count;\n\tunsigned int level;\n\tspinlock_t lock;\n\tstruct dentry *stashed;\n\tu64 ino;\n\tstruct rb_node pidfs_node;\n\tstruct hlist_head tasks[4];\n\tstruct hlist_head inodes;\n\twait_queue_head_t wait_pidfd;\n\tstruct callback_head rcu;\n\tstruct upid numbers[0];\n};\n\nunion proc_op {\n\tint (*proc_get_link)(struct dentry *, struct path *);\n\tint (*proc_show)(struct seq_file *, struct pid_namespace *, struct pid *, struct task_struct *);\n\tint lsmid;\n};\n\nstruct pid_entry {\n\tconst char *name;\n\tunsigned int len;\n\tumode_t mode;\n\tconst struct inode_operations *iop;\n\tconst struct file_operations *fop;\n\tunion proc_op op;\n};\n\nstruct pid_namespace {\n\tstruct idr idr;\n\tstruct callback_head rcu;\n\tunsigned int pid_allocated;\n\tstruct task_struct *child_reaper;\n\tstruct kmem_cache *pid_cachep;\n\tunsigned int level;\n\tint pid_max;\n\tstruct pid_namespace *parent;\n\tstruct fs_pin *bacct;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tint reboot;\n\tstruct ns_common ns;\n\tstruct work_struct work;\n\tstruct ctl_table_set set;\n\tstruct ctl_table_header *sysctls;\n\tint memfd_noexec_scope;\n};\n\nstruct pidfd_info {\n\t__u64 mask;\n\t__u64 cgroupid;\n\t__u32 pid;\n\t__u32 tgid;\n\t__u32 ppid;\n\t__u32 ruid;\n\t__u32 rgid;\n\t__u32 euid;\n\t__u32 egid;\n\t__u32 suid;\n\t__u32 sgid;\n\t__u32 fsuid;\n\t__u32 fsgid;\n\t__u32 spare0[1];\n};\n\nstruct pids_cgroup {\n\tstruct cgroup_subsys_state css;\n\tatomic64_t counter;\n\tatomic64_t limit;\n\tint64_t watermark;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tatomic64_t events[2];\n\tatomic64_t events_local[2];\n};\n\nstruct ping_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n\tsa_family_t family;\n};\n\nstruct ping_table {\n\tstruct hlist_head hash[64];\n\tspinlock_t lock;\n};\n\nstruct pingfakehdr {\n\tstruct icmphdr icmph;\n\tstruct msghdr *msg;\n\tsa_family_t family;\n\t__wsum wcheck;\n};\n\nstruct pingv6_ops {\n\tint (*ipv6_recv_error)(struct sock *, struct msghdr *, int, int *);\n\tvoid (*ip6_datagram_recv_common_ctl)(struct sock *, struct msghdr *, struct sk_buff *);\n\tvoid (*ip6_datagram_recv_specific_ctl)(struct sock *, struct msghdr *, struct sk_buff *);\n\tint (*icmpv6_err_convert)(u8, u8, int *);\n\tvoid (*ipv6_icmp_error)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\tint (*ipv6_chk_addr)(struct net *, const struct in6_addr *, const struct net_device *, int);\n};\n\nstruct pipe_buffer;\n\nstruct pipe_buf_operations {\n\tint (*confirm)(struct pipe_inode_info *, struct pipe_buffer *);\n\tvoid (*release)(struct pipe_inode_info *, struct pipe_buffer *);\n\tbool (*try_steal)(struct pipe_inode_info *, struct pipe_buffer *);\n\tbool (*get)(struct pipe_inode_info *, struct pipe_buffer *);\n};\n\nstruct pipe_buffer {\n\tstruct page *page;\n\tunsigned int offset;\n\tunsigned int len;\n\tconst struct pipe_buf_operations *ops;\n\tunsigned int flags;\n\tlong unsigned int private;\n};\n\nunion pipe_index {\n\tlong unsigned int head_tail;\n\tstruct {\n\t\tpipe_index_t head;\n\t\tpipe_index_t tail;\n\t};\n};\n\nstruct pipe_inode_info {\n\tstruct mutex mutex;\n\twait_queue_head_t rd_wait;\n\twait_queue_head_t wr_wait;\n\tunion {\n\t\tlong unsigned int head_tail;\n\t\tstruct {\n\t\t\tpipe_index_t head;\n\t\t\tpipe_index_t tail;\n\t\t};\n\t};\n\tunsigned int max_usage;\n\tunsigned int ring_size;\n\tunsigned int nr_accounted;\n\tunsigned int readers;\n\tunsigned int writers;\n\tunsigned int files;\n\tunsigned int r_counter;\n\tunsigned int w_counter;\n\tbool poll_usage;\n\tstruct page *tmp_page;\n\tstruct fasync_struct *fasync_readers;\n\tstruct fasync_struct *fasync_writers;\n\tstruct pipe_buffer *bufs;\n\tstruct user_struct *user;\n};\n\nstruct pipe_wait {\n\tstruct trace_iterator *iter;\n\tint wait_index;\n};\n\nstruct pkcs1pad_ctx {\n\tstruct crypto_akcipher *child;\n\tunsigned int key_size;\n};\n\nstruct pkcs1pad_inst_ctx {\n\tstruct crypto_akcipher_spawn spawn;\n};\n\nstruct pkcs1pad_request {\n\tstruct scatterlist in_sg[2];\n\tstruct scatterlist out_sg[1];\n\tuint8_t *in_buf;\n\tuint8_t *out_buf;\n\tstruct akcipher_request child_req;\n};\n\nstruct x509_certificate;\n\nstruct pkcs7_signed_info;\n\nstruct pkcs7_message {\n\tstruct x509_certificate *certs;\n\tstruct x509_certificate *crl;\n\tstruct pkcs7_signed_info *signed_infos;\n\tu8 version;\n\tbool have_authattrs;\n\tenum OID data_type;\n\tsize_t data_len;\n\tsize_t data_hdrlen;\n\tconst void *data;\n};\n\nstruct pkcs7_parse_context {\n\tstruct pkcs7_message *msg;\n\tstruct pkcs7_signed_info *sinfo;\n\tstruct pkcs7_signed_info **ppsinfo;\n\tstruct x509_certificate *certs;\n\tstruct x509_certificate **ppcerts;\n\tlong unsigned int data;\n\tenum OID last_oid;\n\tunsigned int x509_index;\n\tunsigned int sinfo_index;\n\tconst void *raw_serial;\n\tunsigned int raw_serial_size;\n\tunsigned int raw_issuer_size;\n\tconst void *raw_issuer;\n\tconst void *raw_skid;\n\tunsigned int raw_skid_size;\n\tbool expect_skid;\n};\n\nstruct pkcs7_signed_info {\n\tstruct pkcs7_signed_info *next;\n\tstruct x509_certificate *signer;\n\tunsigned int index;\n\tbool unsupported_crypto;\n\tbool blacklisted;\n\tconst void *msgdigest;\n\tunsigned int msgdigest_len;\n\tunsigned int authattrs_len;\n\tconst void *authattrs;\n\tlong unsigned int aa_set;\n\ttime64_t signing_time;\n\tstruct public_key_signature *sig;\n};\n\nstruct plat_serial8250_port {\n\tlong unsigned int iobase;\n\tvoid *membase;\n\tresource_size_t mapbase;\n\tresource_size_t mapsize;\n\tunsigned int uartclk;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tvoid *private_data;\n\tunsigned char regshift;\n\tunsigned char iotype;\n\tunsigned char hub6;\n\tunsigned char has_sysrq;\n\tunsigned int type;\n\tupf_t flags;\n\tu16 bugs;\n\tunsigned int (*serial_in)(struct uart_port *, int);\n\tvoid (*serial_out)(struct uart_port *, int, int);\n\tu32 (*dl_read)(struct uart_8250_port *);\n\tvoid (*dl_write)(struct uart_8250_port *, u32);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tint (*handle_irq)(struct uart_port *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tvoid (*handle_break)(struct uart_port *);\n};\n\nstruct sensor_group_data;\n\nstruct platform_data {\n\tconst struct attribute_group *attr_groups[7];\n\tstruct sensor_group_data *sgrp_data;\n\tu32 sensors_count;\n\tu32 nr_sensor_groups;\n};\n\nstruct mfd_cell;\n\nstruct platform_device_id;\n\nstruct platform_device {\n\tconst char *name;\n\tint id;\n\tbool id_auto;\n\tstruct device dev;\n\tu64 platform_dma_mask;\n\tstruct device_dma_parameters dma_parms;\n\tu32 num_resources;\n\tstruct resource *resource;\n\tconst struct platform_device_id *id_entry;\n\tconst char *driver_override;\n\tstruct mfd_cell *mfd_cell;\n\tstruct pdev_archdata archdata;\n};\n\nstruct platform_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct property_entry;\n\nstruct platform_device_info {\n\tstruct device *parent;\n\tstruct fwnode_handle *fwnode;\n\tbool of_node_reused;\n\tconst char *name;\n\tint id;\n\tconst struct resource *res;\n\tunsigned int num_res;\n\tconst void *data;\n\tsize_t size_data;\n\tu64 dma_mask;\n\tconst struct property_entry *properties;\n};\n\nstruct platform_driver {\n\tint (*probe)(struct platform_device *);\n\tvoid (*remove)(struct platform_device *);\n\tvoid (*shutdown)(struct platform_device *);\n\tint (*suspend)(struct platform_device *, pm_message_t);\n\tint (*resume)(struct platform_device *);\n\tstruct device_driver driver;\n\tconst struct platform_device_id *id_table;\n\tbool prevent_deferred_probe;\n\tbool driver_managed_dma;\n};\n\nstruct platform_object {\n\tstruct platform_device pdev;\n\tchar name[0];\n};\n\nstruct platform_s2idle_ops {\n\tint (*begin)(void);\n\tint (*prepare)(void);\n\tint (*prepare_late)(void);\n\tvoid (*check)(void);\n\tbool (*wake)(void);\n\tvoid (*restore_early)(void);\n\tvoid (*restore)(void);\n\tvoid (*end)(void);\n};\n\nstruct platform_support {\n\tbool hash_mmu;\n\tbool radix_mmu;\n\tbool radix_gtse;\n\tbool xive;\n};\n\nstruct platform_suspend_ops {\n\tint (*valid)(suspend_state_t);\n\tint (*begin)(suspend_state_t);\n\tint (*prepare)(void);\n\tint (*prepare_late)(void);\n\tint (*enter)(suspend_state_t);\n\tvoid (*wake)(void);\n\tvoid (*finish)(void);\n\tbool (*suspend_again)(void);\n\tvoid (*end)(void);\n\tvoid (*recover)(void);\n};\n\nstruct plca_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct phy_plca_cfg plca_cfg;\n\tstruct phy_plca_status plca_st;\n};\n\nstruct pll_info {\n\tint ppll_max;\n\tint ppll_min;\n\tint sclk;\n\tint mclk;\n\tint ref_div;\n\tint ref_clk;\n};\n\nstruct plpks_auth {\n\tu8 version;\n\tu8 consumer;\n\t__be64 rsvd0;\n\t__be32 rsvd1;\n\t__be16 passwordlength;\n\tu8 password[0];\n} __attribute__((packed));\n\nstruct plpks_var {\n\tchar *component;\n\tu8 *name;\n\tu8 *data;\n\tu32 policy;\n\tu16 namelen;\n\tu16 datalen;\n\tu8 os;\n};\n\nstruct plpks_var_name {\n\tu8 *name;\n\tu16 namelen;\n};\n\nstruct pm_subsys_data {\n\tspinlock_t lock;\n\tunsigned int refcount;\n};\n\nstruct pm_vt_switch {\n\tstruct list_head head;\n\tstruct device *dev;\n\tbool required;\n};\n\nstruct pmem_device {\n\tphys_addr_t phys_addr;\n\tphys_addr_t data_offset;\n\tu64 pfn_flags;\n\tvoid *virt_addr;\n\tsize_t size;\n\tu32 pfn_pad;\n\tstruct kernfs_node *bb_state;\n\tstruct badblocks bb;\n\tstruct dax_device *dax_dev;\n\tstruct gendisk *disk;\n\tstruct dev_pagemap pgmap;\n};\n\nstruct pmu_event_list {\n\traw_spinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct pneigh_entry {\n\tstruct pneigh_entry *next;\n\tpossible_net_t net;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu32 flags;\n\tu8 protocol;\n\tu32 key[0];\n};\n\nstruct pnfs_layout_segment {\n\tstruct list_head pls_list;\n\tstruct list_head pls_lc_list;\n\tstruct list_head pls_commits;\n\tstruct pnfs_layout_range pls_range;\n\trefcount_t pls_refcount;\n\tu32 pls_seq;\n\tlong unsigned int pls_flags;\n\tstruct pnfs_layout_hdr *pls_layout;\n};\n\nstruct pnp_protocol;\n\nstruct pnp_id;\n\nstruct pnp_card {\n\tstruct device dev;\n\tunsigned char number;\n\tstruct list_head global_list;\n\tstruct list_head protocol_list;\n\tstruct list_head devices;\n\tstruct pnp_protocol *protocol;\n\tstruct pnp_id *id;\n\tchar name[50];\n\tunsigned char pnpver;\n\tunsigned char productver;\n\tunsigned int serial;\n\tunsigned char checksum;\n\tstruct proc_dir_entry *procdir;\n};\n\nstruct pnp_card_device_id {\n\t__u8 id[8];\n\tkernel_ulong_t driver_data;\n\tstruct {\n\t\t__u8 id[8];\n\t} devs[8];\n};\n\nstruct pnp_device_id;\n\nstruct pnp_dev;\n\nstruct pnp_driver {\n\tconst char *name;\n\tconst struct pnp_device_id *id_table;\n\tunsigned int flags;\n\tint (*probe)(struct pnp_dev *, const struct pnp_device_id *);\n\tvoid (*remove)(struct pnp_dev *);\n\tvoid (*shutdown)(struct pnp_dev *);\n\tint (*suspend)(struct pnp_dev *, pm_message_t);\n\tint (*resume)(struct pnp_dev *);\n\tstruct device_driver driver;\n};\n\nstruct pnp_card_link;\n\nstruct pnp_card_driver {\n\tstruct list_head global_list;\n\tchar *name;\n\tconst struct pnp_card_device_id *id_table;\n\tunsigned int flags;\n\tint (*probe)(struct pnp_card_link *, const struct pnp_card_device_id *);\n\tvoid (*remove)(struct pnp_card_link *);\n\tint (*suspend)(struct pnp_card_link *, pm_message_t);\n\tint (*resume)(struct pnp_card_link *);\n\tstruct pnp_driver link;\n};\n\nstruct pnp_card_link {\n\tstruct pnp_card *card;\n\tstruct pnp_card_driver *driver;\n\tvoid *driver_data;\n\tpm_message_t pm_state;\n};\n\nstruct pnp_dev {\n\tstruct device dev;\n\tu64 dma_mask;\n\tunsigned int number;\n\tint status;\n\tstruct list_head global_list;\n\tstruct list_head protocol_list;\n\tstruct list_head card_list;\n\tstruct list_head rdev_list;\n\tstruct pnp_protocol *protocol;\n\tstruct pnp_card *card;\n\tstruct pnp_driver *driver;\n\tstruct pnp_card_link *card_link;\n\tstruct pnp_id *id;\n\tint active;\n\tint capabilities;\n\tunsigned int num_dependent_sets;\n\tstruct list_head resources;\n\tstruct list_head options;\n\tchar name[50];\n\tint flags;\n\tstruct proc_dir_entry *procent;\n\tvoid *data;\n};\n\nstruct pnp_device_id {\n\t__u8 id[8];\n\tkernel_ulong_t driver_data;\n};\n\nstruct pnp_id {\n\tchar id[8];\n\tstruct pnp_id *next;\n};\n\nstruct pnp_protocol {\n\tstruct list_head protocol_list;\n\tchar *name;\n\tint (*get)(struct pnp_dev *);\n\tint (*set)(struct pnp_dev *);\n\tint (*disable)(struct pnp_dev *);\n\tbool (*can_wakeup)(struct pnp_dev *);\n\tint (*suspend)(struct pnp_dev *, pm_message_t);\n\tint (*resume)(struct pnp_dev *);\n\tunsigned char number;\n\tstruct device dev;\n\tstruct list_head cards;\n\tstruct list_head devices;\n};\n\nstruct pnv_idle_states_t {\n\tchar name[16];\n\tu32 latency_ns;\n\tu32 residency_ns;\n\tu64 psscr_val;\n\tu64 psscr_mask;\n\tu32 flags;\n\tbool valid;\n};\n\nstruct pnv_phb;\n\nstruct pnv_ioda_pe {\n\tlong unsigned int flags;\n\tstruct pnv_phb *phb;\n\tint device_count;\n\tstruct pci_dev *pdev;\n\tstruct pci_bus *pbus;\n\tunsigned int rid;\n\tunsigned int pe_number;\n\tstruct iommu_table_group table_group;\n\tbool tce_bypass_enabled;\n\tuint64_t tce_bypass_base;\n\tbool dma_setup_done;\n\tint mve_number;\n\tstruct pnv_ioda_pe *master;\n\tstruct list_head slaves;\n\tstruct list_head list;\n};\n\nstruct pnv_phb {\n\tstruct pci_controller *hose;\n\tenum pnv_phb_type type;\n\tenum pnv_phb_model model;\n\tu64 hub_id;\n\tu64 opal_id;\n\tint flags;\n\tvoid *regs;\n\tu64 regs_phys;\n\tspinlock_t lock;\n\tint has_dbgfs;\n\tstruct dentry *dbgfs;\n\tunsigned int msi_base;\n\tstruct msi_bitmap msi_bmp;\n\tint (*init_m64)(struct pnv_phb *);\n\tint (*get_pe_state)(struct pnv_phb *, int);\n\tvoid (*freeze_pe)(struct pnv_phb *, int);\n\tint (*unfreeze_pe)(struct pnv_phb *, int, int);\n\tstruct {\n\t\tunsigned int total_pe_num;\n\t\tunsigned int reserved_pe_idx;\n\t\tunsigned int root_pe_idx;\n\t\tunsigned int m32_size;\n\t\tunsigned int m32_segsize;\n\t\tunsigned int m32_pci_base;\n\t\tunsigned int m64_bar_idx;\n\t\tlong unsigned int m64_size;\n\t\tlong unsigned int m64_segsize;\n\t\tlong unsigned int m64_base;\n\t\tlong unsigned int m64_bar_alloc;\n\t\tunsigned int io_size;\n\t\tunsigned int io_segsize;\n\t\tunsigned int io_pci_base;\n\t\tstruct mutex pe_alloc_mutex;\n\t\tlong unsigned int *pe_alloc;\n\t\tstruct pnv_ioda_pe *pe_array;\n\t\tunsigned int *m64_segmap;\n\t\tunsigned int *m32_segmap;\n\t\tunsigned int *io_segmap;\n\t\tint irq_chip_init;\n\t\tstruct irq_chip irq_chip;\n\t\tstruct list_head pe_list;\n\t\tstruct mutex pe_list_mutex;\n\t\tunsigned int pe_rmap[65536];\n\t} ioda;\n\tunsigned int diag_data_size;\n\tu8 *diag_data;\n};\n\nstruct pnv_rng {\n\tvoid *regs;\n\tvoid *regs_real;\n\tlong unsigned int mask;\n};\n\nstruct vas_user_win_ref {\n\tstruct pid *pid;\n\tstruct pid *tgid;\n\tstruct mm_struct *mm;\n\tstruct mutex mmap_mutex;\n\tstruct vm_area_struct *vma;\n};\n\nstruct vas_window {\n\tu32 winid;\n\tu32 wcreds_max;\n\tu32 status;\n\tenum vas_cop_type cop;\n\tstruct vas_user_win_ref task_ref;\n\tchar *dbgname;\n\tstruct dentry *dbgdir;\n};\n\nstruct vas_instance;\n\nstruct pnv_vas_window {\n\tstruct vas_window vas_win;\n\tstruct vas_instance *vinst;\n\tbool tx_win;\n\tbool nx_win;\n\tbool user_win;\n\tvoid *hvwc_map;\n\tvoid *uwc_map;\n\tvoid *paste_kaddr;\n\tchar *paste_addr_name;\n\tstruct pnv_vas_window *rxwin;\n\tatomic_t num_txwins;\n};\n\nstruct policy_file;\n\nstruct policy_data {\n\tstruct policydb *p;\n\tstruct policy_file *fp;\n};\n\nstruct policy_file {\n\tchar *data;\n\tsize_t len;\n};\n\nstruct policy_load_memory {\n\tsize_t len;\n\tvoid *data;\n};\n\nstruct role_datum;\n\nstruct user_datum;\n\nstruct type_datum;\n\nstruct role_allow;\n\nstruct policydb {\n\tint mls_enabled;\n\tstruct symtab symtab[8];\n\tchar **sym_val_to_name[8];\n\tstruct class_datum **class_val_to_struct;\n\tstruct role_datum **role_val_to_struct;\n\tstruct user_datum **user_val_to_struct;\n\tstruct type_datum **type_val_to_struct;\n\tstruct avtab te_avtab;\n\tstruct hashtab role_tr;\n\tstruct ebitmap filename_trans_ttypes;\n\tstruct hashtab filename_trans;\n\tu32 compat_filename_trans_count;\n\tstruct cond_bool_datum **bool_val_to_struct;\n\tstruct avtab te_cond_avtab;\n\tstruct cond_node *cond_list;\n\tu32 cond_list_len;\n\tstruct role_allow *role_allow;\n\tstruct ocontext *ocontexts[9];\n\tstruct genfs *genfs;\n\tstruct hashtab range_tr;\n\tstruct ebitmap *type_attr_map_array;\n\tstruct ebitmap policycaps;\n\tstruct ebitmap permissive_map;\n\tsize_t len;\n\tunsigned int policyvers;\n\tunsigned int reject_unknown: 1;\n\tunsigned int allow_unknown: 1;\n\tu16 process_class;\n\tu32 process_trans_perms;\n};\n\nstruct policydb_compat_info {\n\tunsigned int version;\n\tunsigned int sym_num;\n\tunsigned int ocon_num;\n};\n\nstruct pollfd {\n\tint fd;\n\tshort int events;\n\tshort int revents;\n};\n\nstruct poll_list {\n\tstruct poll_list *next;\n\tunsigned int len;\n\tstruct pollfd entries[0];\n};\n\nstruct poll_table_entry {\n\tstruct file *filp;\n\t__poll_t key;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *wait_address;\n};\n\nstruct poll_table_page {\n\tstruct poll_table_page *next;\n\tstruct poll_table_entry *entry;\n\tstruct poll_table_entry entries[0];\n};\n\nstruct poll_wqueues {\n\tpoll_table pt;\n\tstruct poll_table_page *table;\n\tstruct task_struct *polling_task;\n\tint triggered;\n\tint error;\n\tint inline_index;\n\tstruct poll_table_entry inline_entries[9];\n};\n\nstruct pool_info {\n\tstruct mddev *mddev;\n\tint raid_disks;\n};\n\nstruct worker_pool;\n\nstruct pool_workqueue {\n\tstruct worker_pool *pool;\n\tstruct workqueue_struct *wq;\n\tint work_color;\n\tint flush_color;\n\tint refcnt;\n\tint nr_in_flight[16];\n\tbool plugged;\n\tint nr_active;\n\tstruct list_head inactive_works;\n\tstruct list_head pending_node;\n\tstruct list_head pwqs_node;\n\tstruct list_head mayday_node;\n\tu64 stats[8];\n\tstruct kthread_work release_work;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct port_identity {\n\tstruct clock_identity clock_identity;\n\t__be16 port_number;\n};\n\nstruct posix_acl_xattr_entry {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n};\n\nstruct posix_acl_xattr_header {\n\t__le32 a_version;\n};\n\nstruct posix_clock;\n\nstruct posix_clock_context;\n\nstruct posix_clock_operations {\n\tstruct module *owner;\n\tint (*clock_adjtime)(struct posix_clock *, struct __kernel_timex *);\n\tint (*clock_gettime)(struct posix_clock *, struct timespec64 *);\n\tint (*clock_getres)(struct posix_clock *, struct timespec64 *);\n\tint (*clock_settime)(struct posix_clock *, const struct timespec64 *);\n\tlong int (*ioctl)(struct posix_clock_context *, unsigned int, long unsigned int);\n\tint (*open)(struct posix_clock_context *, fmode_t);\n\t__poll_t (*poll)(struct posix_clock_context *, struct file *, poll_table *);\n\tint (*release)(struct posix_clock_context *);\n\tssize_t (*read)(struct posix_clock_context *, uint, char *, size_t);\n};\n\nstruct posix_clock {\n\tstruct posix_clock_operations ops;\n\tstruct cdev cdev;\n\tstruct device *dev;\n\tstruct rw_semaphore rwsem;\n\tbool zombie;\n};\n\nstruct posix_clock_context {\n\tstruct posix_clock *clk;\n\tvoid *private_clkdata;\n};\n\nstruct posix_clock_desc {\n\tstruct file *fp;\n\tstruct posix_clock *clk;\n};\n\nstruct posix_cputimer_base {\n\tu64 nextevt;\n\tstruct timerqueue_head tqhead;\n};\n\nstruct posix_cputimers {\n\tstruct posix_cputimer_base bases[3];\n\tunsigned int timers_active;\n\tunsigned int expiry_active;\n};\n\nstruct posix_msg_tree_node {\n\tstruct rb_node rb_node;\n\tstruct list_head msg_list;\n\tint priority;\n};\n\nstruct postprocess_bh_ctx {\n\tstruct work_struct work;\n\tstruct buffer_head *bh;\n};\n\nstruct power_pmu {\n\tconst char *name;\n\tint n_counter;\n\tint max_alternatives;\n\tlong unsigned int add_fields;\n\tlong unsigned int test_adder;\n\tint (*compute_mmcr)(u64 *, int, unsigned int *, struct mmcr_regs *, struct perf_event **, u32);\n\tint (*get_constraint)(u64, long unsigned int *, long unsigned int *, u64);\n\tint (*get_alternatives)(u64, unsigned int, u64 *);\n\tvoid (*get_mem_data_src)(union perf_mem_data_src *, u32, struct pt_regs *);\n\tvoid (*get_mem_weight)(u64 *, u64);\n\tlong unsigned int group_constraint_mask;\n\tlong unsigned int group_constraint_val;\n\tu64 (*bhrb_filter_map)(u64);\n\tvoid (*config_bhrb)(u64);\n\tvoid (*disable_pmc)(unsigned int, struct mmcr_regs *);\n\tint (*limited_pmc_event)(u64);\n\tu32 flags;\n\tconst struct attribute_group **attr_groups;\n\tint n_generic;\n\tint *generic_events;\n\tu64 (*cache_events)[42];\n\tint n_blacklist_ev;\n\tint *blacklist_ev;\n\tint bhrb_nr;\n\tint capabilities;\n\tint (*check_attr_config)(struct perf_event *);\n};\n\nstruct powercap_attr {\n\tu32 handle;\n\tstruct kobj_attribute attr;\n};\n\nstruct powernv_pstate_info {\n\tunsigned int min;\n\tunsigned int max;\n\tunsigned int nominal;\n\tunsigned int nr_pstates;\n\tbool wof_enabled;\n};\n\nstruct powernv_smp_call_data {\n\tunsigned int freq;\n\tu8 pstate_id;\n\tu8 gpstate_id;\n};\n\nstruct powerpc_jit_data {\n\tstruct bpf_binary_header *hdr;\n\tstruct bpf_binary_header *fhdr;\n\tu32 *addrs;\n\tu8 *fimage;\n\tu32 proglen;\n\tstruct codegen_context ctx;\n};\n\nstruct powerpc_macro {\n\tconst char *name;\n\tunsigned int operands;\n\tppc_cpu_t flags;\n\tconst char *format;\n};\n\nstruct powerpc_opcode {\n\tconst char *name;\n\tlong unsigned int opcode;\n\tlong unsigned int mask;\n\tppc_cpu_t flags;\n\tppc_cpu_t deprecated;\n\tunsigned char operands[8];\n};\n\nstruct powerpc_operand {\n\tunsigned int bitm;\n\tint shift;\n\tlong unsigned int (*insert)(long unsigned int, long int, ppc_cpu_t, const char **);\n\tlong int (*extract)(long unsigned int, ppc_cpu_t, int *);\n\tlong unsigned int flags;\n};\n\nstruct ppc_cache_info {\n\tu32 size;\n\tu32 line_size;\n\tu32 block_size;\n\tu32 log_block_size;\n\tu32 blocks_per_page;\n\tu32 sets;\n\tu32 assoc;\n};\n\nstruct ppc64_caches {\n\tstruct ppc_cache_info l1d;\n\tstruct ppc_cache_info l1i;\n\tstruct ppc_cache_info l2;\n\tstruct ppc_cache_info l3;\n};\n\nstruct ppc64_stub_entry {\n\tu32 jump[7];\n\tu32 magic;\n\tfunc_desc_t funcdata;\n};\n\nstruct ppc64_tlb_batch {\n\tint active;\n\tlong unsigned int index;\n\tstruct mm_struct *mm;\n\treal_pte_t pte[192];\n\tlong unsigned int vpn[192];\n\tunsigned int psize;\n\tint ssize;\n};\n\nstruct ppc_debug_info {\n\t__u32 version;\n\t__u32 num_instruction_bps;\n\t__u32 num_data_bps;\n\t__u32 num_condition_regs;\n\t__u32 data_bp_alignment;\n\t__u32 sizeof_condition;\n\t__u64 features;\n};\n\nstruct ppc_emulated_entry {\n\tconst char *name;\n\tatomic_t val;\n};\n\nstruct ppc_emulated {\n\tstruct ppc_emulated_entry altivec;\n\tstruct ppc_emulated_entry dcba;\n\tstruct ppc_emulated_entry dcbz;\n\tstruct ppc_emulated_entry fp_pair;\n\tstruct ppc_emulated_entry isel;\n\tstruct ppc_emulated_entry mcrxr;\n\tstruct ppc_emulated_entry mfpvr;\n\tstruct ppc_emulated_entry multiple;\n\tstruct ppc_emulated_entry popcntb;\n\tstruct ppc_emulated_entry spe;\n\tstruct ppc_emulated_entry string;\n\tstruct ppc_emulated_entry sync;\n\tstruct ppc_emulated_entry unaligned;\n\tstruct ppc_emulated_entry vsx;\n\tstruct ppc_emulated_entry mfdscr;\n\tstruct ppc_emulated_entry mtdscr;\n\tstruct ppc_emulated_entry lq_stq;\n\tstruct ppc_emulated_entry lxvw4x;\n\tstruct ppc_emulated_entry lxvh8x;\n\tstruct ppc_emulated_entry lxvd2x;\n\tstruct ppc_emulated_entry lxvb16x;\n};\n\nstruct ppc_hw_breakpoint {\n\t__u32 version;\n\t__u32 trigger_type;\n\t__u32 addr_mode;\n\t__u32 condition_mode;\n\t__u64 addr;\n\t__u64 addr2;\n\t__u64 condition_value;\n};\n\nstruct ppc_pci_io {\n\tu8 (*readb)(const volatile void *);\n\tu16 (*readw)(const volatile void *);\n\tu32 (*readl)(const volatile void *);\n\tu16 (*readw_be)(const volatile void *);\n\tu32 (*readl_be)(const volatile void *);\n\tvoid (*writeb)(u8, volatile void *);\n\tvoid (*writew)(u16, volatile void *);\n\tvoid (*writel)(u32, volatile void *);\n\tvoid (*writew_be)(u16, volatile void *);\n\tvoid (*writel_be)(u32, volatile void *);\n\tu64 (*readq)(const volatile void *);\n\tu64 (*readq_be)(const volatile void *);\n\tvoid (*writeq)(u64, volatile void *);\n\tvoid (*writeq_be)(u64, volatile void *);\n\tu8 (*inb)(long unsigned int);\n\tu16 (*inw)(long unsigned int);\n\tu32 (*inl)(long unsigned int);\n\tvoid (*outb)(u8, long unsigned int);\n\tvoid (*outw)(u16, long unsigned int);\n\tvoid (*outl)(u32, long unsigned int);\n\tvoid (*readsb)(const volatile void *, void *, long unsigned int);\n\tvoid (*readsw)(const volatile void *, void *, long unsigned int);\n\tvoid (*readsl)(const volatile void *, void *, long unsigned int);\n\tvoid (*writesb)(volatile void *, const void *, long unsigned int);\n\tvoid (*writesw)(volatile void *, const void *, long unsigned int);\n\tvoid (*writesl)(volatile void *, const void *, long unsigned int);\n\tvoid (*insb)(long unsigned int, void *, long unsigned int);\n\tvoid (*insw)(long unsigned int, void *, long unsigned int);\n\tvoid (*insl)(long unsigned int, void *, long unsigned int);\n\tvoid (*outsb)(long unsigned int, const void *, long unsigned int);\n\tvoid (*outsw)(long unsigned int, const void *, long unsigned int);\n\tvoid (*outsl)(long unsigned int, const void *, long unsigned int);\n\tvoid (*memset_io)(volatile void *, int, long unsigned int);\n\tvoid (*memcpy_fromio)(void *, const volatile void *, long unsigned int);\n\tvoid (*memcpy_toio)(volatile void *, const void *, long unsigned int);\n};\n\nstruct pppoe_tag {\n\t__be16 tag_type;\n\t__be16 tag_len;\n\tchar tag_data[0];\n};\n\nstruct pppoe_hdr {\n\t__u8 type: 4;\n\t__u8 ver: 4;\n\t__u8 code;\n\t__be16 sid;\n\t__be16 length;\n\tstruct pppoe_tag tag[0];\n};\n\nstruct pps_bind_args {\n\tint tsformat;\n\tint edge;\n\tint consumer;\n};\n\nstruct pps_device;\n\nstruct pps_source_info {\n\tchar name[32];\n\tchar path[32];\n\tint mode;\n\tvoid (*echo)(struct pps_device *, int, void *);\n\tstruct module *owner;\n\tstruct device *dev;\n};\n\nstruct pps_ktime {\n\t__s64 sec;\n\t__s32 nsec;\n\t__u32 flags;\n};\n\nstruct pps_kparams {\n\tint api_version;\n\tint mode;\n\tstruct pps_ktime assert_off_tu;\n\tstruct pps_ktime clear_off_tu;\n};\n\nstruct pps_device {\n\tstruct pps_source_info info;\n\tstruct pps_kparams params;\n\t__u32 assert_sequence;\n\t__u32 clear_sequence;\n\tstruct pps_ktime assert_tu;\n\tstruct pps_ktime clear_tu;\n\tint current_mode;\n\tunsigned int last_ev;\n\twait_queue_head_t queue;\n\tunsigned int id;\n\tconst void *lookup_cookie;\n\tstruct device dev;\n\tstruct fasync_struct *async_queue;\n\tspinlock_t lock;\n};\n\nstruct pps_event_time {\n\tstruct timespec64 ts_real;\n};\n\nstruct pps_kinfo {\n\t__u32 assert_sequence;\n\t__u32 clear_sequence;\n\tstruct pps_ktime assert_tu;\n\tstruct pps_ktime clear_tu;\n\tint current_mode;\n};\n\nstruct pps_fdata {\n\tstruct pps_kinfo info;\n\tstruct pps_ktime timeout;\n};\n\nstruct pptp_gre_header {\n\tstruct gre_base_hdr gre_hd;\n\t__be16 payload_len;\n\t__be16 call_id;\n\t__be32 seq;\n\t__be32 ack;\n};\n\nstruct pr_clear {\n\t__u64 key;\n\t__u32 flags;\n\t__u32 __pad;\n};\n\nstruct pr_cont_work_struct {\n\tbool comma;\n\twork_func_t func;\n\tlong int ctr;\n};\n\nstruct pr_held_reservation {\n\tu64 key;\n\tu32 generation;\n\tenum pr_type type;\n};\n\nstruct pr_keys {\n\tu32 generation;\n\tu32 num_keys;\n\tu64 keys[0];\n};\n\nstruct pr_ops {\n\tint (*pr_register)(struct block_device *, u64, u64, u32);\n\tint (*pr_reserve)(struct block_device *, u64, enum pr_type, u32);\n\tint (*pr_release)(struct block_device *, u64, enum pr_type);\n\tint (*pr_preempt)(struct block_device *, u64, u64, enum pr_type, bool);\n\tint (*pr_clear)(struct block_device *, u64);\n\tint (*pr_read_keys)(struct block_device *, struct pr_keys *);\n\tint (*pr_read_reservation)(struct block_device *, struct pr_held_reservation *);\n};\n\nstruct pr_preempt {\n\t__u64 old_key;\n\t__u64 new_key;\n\t__u32 type;\n\t__u32 flags;\n};\n\nstruct pr_registration {\n\t__u64 old_key;\n\t__u64 new_key;\n\t__u32 flags;\n\t__u32 __pad;\n};\n\nstruct pr_reservation {\n\t__u64 key;\n\t__u32 type;\n\t__u32 flags;\n};\n\nstruct prb_data_blk_lpos {\n\tlong unsigned int begin;\n\tlong unsigned int next;\n};\n\nstruct prb_data_block {\n\tlong unsigned int id;\n\tchar data[0];\n};\n\nstruct prb_data_ring {\n\tunsigned int size_bits;\n\tchar *data;\n\tatomic_long_t head_lpos;\n\tatomic_long_t tail_lpos;\n};\n\nstruct prb_desc {\n\tatomic_long_t state_var;\n\tstruct prb_data_blk_lpos text_blk_lpos;\n};\n\nstruct printk_info;\n\nstruct prb_desc_ring {\n\tunsigned int count_bits;\n\tstruct prb_desc *descs;\n\tstruct printk_info *infos;\n\tatomic_long_t head_id;\n\tatomic_long_t tail_id;\n\tatomic_long_t last_finalized_seq;\n};\n\nstruct printk_ringbuffer;\n\nstruct prb_reserved_entry {\n\tstruct printk_ringbuffer *rb;\n\tlong unsigned int irqflags;\n\tlong unsigned int id;\n\tunsigned int text_space;\n};\n\nstruct prctl_mm_map {\n\t__u64 start_code;\n\t__u64 end_code;\n\t__u64 start_data;\n\t__u64 end_data;\n\t__u64 start_brk;\n\t__u64 brk;\n\t__u64 start_stack;\n\t__u64 arg_start;\n\t__u64 arg_end;\n\t__u64 env_start;\n\t__u64 env_end;\n\t__u64 *auxv;\n\t__u32 auxv_size;\n\t__u32 exe_fd;\n};\n\nstruct preempt_ops {\n\tvoid (*sched_in)(struct preempt_notifier *, int);\n\tvoid (*sched_out)(struct preempt_notifier *, struct task_struct *);\n};\n\nstruct prefix_cacheinfo {\n\t__u32 preferred_time;\n\t__u32 valid_time;\n};\n\nstruct prefix_info {\n\t__u8 type;\n\t__u8 length;\n\t__u8 prefix_len;\n\tunion {\n\t\t__u8 flags;\n\t\tstruct {\n\t\t\t__u8 reserved: 4;\n\t\t\t__u8 preferpd: 1;\n\t\t\t__u8 routeraddr: 1;\n\t\t\t__u8 autoconf: 1;\n\t\t\t__u8 onlink: 1;\n\t\t};\n\t};\n\t__be32 valid;\n\t__be32 prefered;\n\t__be32 reserved2;\n\tstruct in6_addr prefix;\n};\n\nstruct prefixmsg {\n\tunsigned char prefix_family;\n\tunsigned char prefix_pad1;\n\tshort unsigned int prefix_pad2;\n\tint prefix_ifindex;\n\tunsigned char prefix_type;\n\tunsigned char prefix_len;\n\tunsigned char prefix_flags;\n\tunsigned char prefix_pad3;\n};\n\nstruct prepend_buffer {\n\tchar *buf;\n\tint len;\n};\n\nstruct print_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tchar buf[0];\n};\n\nstruct printf_spec {\n\tunsigned char flags;\n\tunsigned char base;\n\tshort int precision;\n\tint field_width;\n};\n\nstruct printk_info {\n\tu64 seq;\n\tu64 ts_nsec;\n\tu16 text_len;\n\tu8 facility;\n\tu8 flags: 5;\n\tu8 level: 3;\n\tu32 caller_id;\n\tstruct dev_printk_info dev_info;\n};\n\nstruct printk_message {\n\tstruct printk_buffers *pbufs;\n\tunsigned int outbuf_len;\n\tu64 seq;\n\tlong unsigned int dropped;\n};\n\nstruct printk_record {\n\tstruct printk_info *info;\n\tchar *text_buf;\n\tunsigned int text_buf_size;\n};\n\nstruct printk_ringbuffer {\n\tstruct prb_desc_ring desc_ring;\n\tstruct prb_data_ring text_data_ring;\n\tatomic_long_t fail;\n};\n\nstruct privflags_reply_data {\n\tstruct ethnl_reply_data base;\n\tconst char (*priv_flag_names)[32];\n\tunsigned int n_priv_flags;\n\tu32 priv_flags;\n};\n\ntypedef struct kobject *kobj_probe_t(dev_t, int *, void *);\n\nstruct probe {\n\tstruct probe *next;\n\tdev_t dev;\n\tlong unsigned int range;\n\tstruct module *owner;\n\tkobj_probe_t *get;\n\tint (*lock)(dev_t, void *);\n\tvoid *data;\n};\n\nstruct probe_arg {\n\tstruct fetch_insn *code;\n\tbool dynamic;\n\tunsigned int offset;\n\tunsigned int count;\n\tconst char *name;\n\tconst char *comm;\n\tchar *fmt;\n\tconst struct fetch_type *type;\n};\n\nstruct probe_entry_arg {\n\tstruct fetch_insn *code;\n\tunsigned int size;\n};\n\ntypedef int (*proc_write_t)(struct file *, char *, size_t);\n\nstruct proc_ops;\n\nstruct proc_dir_entry {\n\tatomic_t in_use;\n\trefcount_t refcnt;\n\tstruct list_head pde_openers;\n\tspinlock_t pde_unload_lock;\n\tstruct completion *pde_unload_completion;\n\tconst struct inode_operations *proc_iops;\n\tunion {\n\t\tconst struct proc_ops *proc_ops;\n\t\tconst struct file_operations *proc_dir_ops;\n\t};\n\tconst struct dentry_operations *proc_dops;\n\tunion {\n\t\tconst struct seq_operations *seq_ops;\n\t\tint (*single_show)(struct seq_file *, void *);\n\t};\n\tproc_write_t write;\n\tvoid *data;\n\tunsigned int state_size;\n\tunsigned int low_ino;\n\tnlink_t nlink;\n\tkuid_t uid;\n\tkgid_t gid;\n\tloff_t size;\n\tstruct proc_dir_entry *parent;\n\tstruct rb_root subdir;\n\tstruct rb_node subdir_node;\n\tchar *name;\n\tumode_t mode;\n\tu8 flags;\n\tu8 namelen;\n\tchar inline_name[0];\n};\n\nstruct proc_fs_context {\n\tstruct pid_namespace *pid_ns;\n\tunsigned int mask;\n\tenum proc_hidepid hidepid;\n\tint gid;\n\tenum proc_pidonly pidonly;\n};\n\nstruct proc_fs_info {\n\tstruct pid_namespace *pid_ns;\n\tstruct dentry *proc_self;\n\tstruct dentry *proc_thread_self;\n\tkgid_t pid_gid;\n\tenum proc_hidepid hide_pid;\n\tenum proc_pidonly pidonly;\n\tstruct callback_head rcu;\n};\n\nstruct proc_fs_opts {\n\tint flag;\n\tconst char *str;\n};\n\nstruct proc_inode {\n\tstruct pid *pid;\n\tunsigned int fd;\n\tunion proc_op op;\n\tstruct proc_dir_entry *pde;\n\tstruct ctl_table_header *sysctl;\n\tconst struct ctl_table *sysctl_entry;\n\tstruct hlist_node sibling_inodes;\n\tconst struct proc_ns_operations *ns_ops;\n\tstruct inode vfs_inode;\n};\n\nstruct proc_mounts {\n\tstruct mnt_namespace *ns;\n\tstruct path root;\n\tint (*show)(struct seq_file *, struct vfsmount *);\n};\n\nstruct proc_nfs_info {\n\tint flag;\n\tconst char *str;\n\tconst char *nostr;\n};\n\nstruct proc_ns_operations {\n\tconst char *name;\n\tconst char *real_ns_name;\n\tint type;\n\tstruct ns_common * (*get)(struct task_struct *);\n\tvoid (*put)(struct ns_common *);\n\tint (*install)(struct nsset *, struct ns_common *);\n\tstruct user_namespace * (*owner)(struct ns_common *);\n\tstruct ns_common * (*get_parent)(struct ns_common *);\n};\n\nstruct proc_ops {\n\tunsigned int proc_flags;\n\tint (*proc_open)(struct inode *, struct file *);\n\tssize_t (*proc_read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*proc_read_iter)(struct kiocb *, struct iov_iter *);\n\tssize_t (*proc_write)(struct file *, const char *, size_t, loff_t *);\n\tloff_t (*proc_lseek)(struct file *, loff_t, int);\n\tint (*proc_release)(struct inode *, struct file *);\n\t__poll_t (*proc_poll)(struct file *, struct poll_table_struct *);\n\tlong int (*proc_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*proc_mmap)(struct file *, struct vm_area_struct *);\n\tlong unsigned int (*proc_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n};\n\nstruct proc_timens_offset {\n\tint clockid;\n\tstruct timespec64 val;\n};\n\nstruct proc_xfs_info {\n\tuint64_t flag;\n\tchar *str;\n};\n\nstruct process_timer {\n\tstruct timer_list timer;\n\tstruct task_struct *task;\n};\n\nstruct procmap_query {\n\t__u64 size;\n\t__u64 query_flags;\n\t__u64 query_addr;\n\t__u64 vma_start;\n\t__u64 vma_end;\n\t__u64 vma_flags;\n\t__u64 vma_page_size;\n\t__u64 vma_offset;\n\t__u64 inode;\n\t__u32 dev_major;\n\t__u32 dev_minor;\n\t__u32 vma_name_size;\n\t__u32 build_id_size;\n\t__u64 vma_name_addr;\n\t__u64 build_id_addr;\n};\n\nstruct prog_entry {\n\tint target;\n\tint when_to_branch;\n\tstruct filter_pred *pred;\n};\n\nstruct prog_poke_elem {\n\tstruct list_head list;\n\tstruct bpf_prog_aux *aux;\n};\n\nstruct prog_test_member1 {\n\tint a;\n};\n\nstruct prog_test_member {\n\tstruct prog_test_member1 m;\n\tint c;\n};\n\nstruct prog_test_ref_kfunc {\n\tint a;\n\tint b;\n\tstruct prog_test_member memb;\n\tstruct prog_test_ref_kfunc *next;\n\trefcount_t cnt;\n};\n\nstruct prom_args {\n\t__be32 service;\n\t__be32 nargs;\n\t__be32 nret;\n\t__be32 args[10];\n};\n\nstruct prom_t {\n\tihandle root;\n\tphandle chosen;\n\tint cpu;\n\tihandle stdout;\n\tihandle mmumap;\n\tihandle memory;\n};\n\nstruct property {\n\tchar *name;\n\tint length;\n\tvoid *value;\n\tstruct property *next;\n\tlong unsigned int _flags;\n\tstruct bin_attribute attr;\n};\n\nstruct property_entry {\n\tconst char *name;\n\tsize_t length;\n\tbool is_inline;\n\tenum dev_prop_type type;\n\tunion {\n\t\tconst void *pointer;\n\t\tunion {\n\t\t\tu8 u8_data[8];\n\t\t\tu16 u16_data[4];\n\t\t\tu32 u32_data[2];\n\t\t\tu64 u64_data[1];\n\t\t\tconst char *str[1];\n\t\t} value;\n\t};\n};\n\nstruct prot_inuse {\n\tint all;\n\tint val[64];\n};\n\nstruct smc_hashinfo;\n\nstruct proto_accept_arg;\n\nstruct sk_psock;\n\nstruct timewait_sock_ops;\n\nstruct raw_hashinfo;\n\nstruct proto {\n\tvoid (*close)(struct sock *, long int);\n\tint (*pre_connect)(struct sock *, struct sockaddr *, int);\n\tint (*connect)(struct sock *, struct sockaddr *, int);\n\tint (*disconnect)(struct sock *, int);\n\tstruct sock * (*accept)(struct sock *, struct proto_accept_arg *);\n\tint (*ioctl)(struct sock *, int, int *);\n\tint (*init)(struct sock *);\n\tvoid (*destroy)(struct sock *);\n\tvoid (*shutdown)(struct sock *, int);\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*keepalive)(struct sock *, int);\n\tint (*sendmsg)(struct sock *, struct msghdr *, size_t);\n\tint (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *);\n\tvoid (*splice_eof)(struct socket *);\n\tint (*bind)(struct sock *, struct sockaddr *, int);\n\tint (*bind_add)(struct sock *, struct sockaddr *, int);\n\tint (*backlog_rcv)(struct sock *, struct sk_buff *);\n\tbool (*bpf_bypass_getsockopt)(int, int);\n\tvoid (*release_cb)(struct sock *);\n\tint (*hash)(struct sock *);\n\tvoid (*unhash)(struct sock *);\n\tvoid (*rehash)(struct sock *);\n\tint (*get_port)(struct sock *, short unsigned int);\n\tvoid (*put_port)(struct sock *);\n\tint (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);\n\tunsigned int inuse_idx;\n\tbool (*stream_memory_free)(const struct sock *, int);\n\tbool (*sock_is_readable)(struct sock *);\n\tvoid (*enter_memory_pressure)(struct sock *);\n\tvoid (*leave_memory_pressure)(struct sock *);\n\tatomic_long_t *memory_allocated;\n\tint *per_cpu_fw_alloc;\n\tstruct percpu_counter *sockets_allocated;\n\tlong unsigned int *memory_pressure;\n\tlong int *sysctl_mem;\n\tint *sysctl_wmem;\n\tint *sysctl_rmem;\n\tu32 sysctl_wmem_offset;\n\tu32 sysctl_rmem_offset;\n\tint max_header;\n\tbool no_autobind;\n\tstruct kmem_cache *slab;\n\tunsigned int obj_size;\n\tunsigned int ipv6_pinfo_offset;\n\tslab_flags_t slab_flags;\n\tunsigned int useroffset;\n\tunsigned int usersize;\n\tunsigned int *orphan_count;\n\tstruct request_sock_ops *rsk_prot;\n\tstruct timewait_sock_ops *twsk_prot;\n\tunion {\n\t\tstruct inet_hashinfo *hashinfo;\n\t\tstruct udp_table *udp_table;\n\t\tstruct raw_hashinfo *raw_hash;\n\t\tstruct smc_hashinfo *smc_hash;\n\t} h;\n\tstruct module *owner;\n\tchar name[32];\n\tstruct list_head node;\n\tint (*diag_destroy)(struct sock *, int);\n};\n\nstruct proto_accept_arg {\n\tint flags;\n\tint err;\n\tint is_empty;\n\tbool kern;\n};\n\ntypedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *, unsigned int, size_t);\n\ntypedef int (*skb_read_actor_t)(struct sock *, struct sk_buff *);\n\nstruct proto_ops {\n\tint family;\n\tstruct module *owner;\n\tint (*release)(struct socket *);\n\tint (*bind)(struct socket *, struct sockaddr *, int);\n\tint (*connect)(struct socket *, struct sockaddr *, int, int);\n\tint (*socketpair)(struct socket *, struct socket *);\n\tint (*accept)(struct socket *, struct socket *, struct proto_accept_arg *);\n\tint (*getname)(struct socket *, struct sockaddr *, int);\n\t__poll_t (*poll)(struct file *, struct socket *, struct poll_table_struct *);\n\tint (*ioctl)(struct socket *, unsigned int, long unsigned int);\n\tint (*gettstamp)(struct socket *, void *, bool, bool);\n\tint (*listen)(struct socket *, int);\n\tint (*shutdown)(struct socket *, int);\n\tint (*setsockopt)(struct socket *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct socket *, int, int, char *, int *);\n\tvoid (*show_fdinfo)(struct seq_file *, struct socket *);\n\tint (*sendmsg)(struct socket *, struct msghdr *, size_t);\n\tint (*recvmsg)(struct socket *, struct msghdr *, size_t, int);\n\tint (*mmap)(struct file *, struct socket *, struct vm_area_struct *);\n\tssize_t (*splice_read)(struct socket *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*splice_eof)(struct socket *);\n\tint (*set_peek_off)(struct sock *, int);\n\tint (*peek_len)(struct socket *);\n\tint (*read_sock)(struct sock *, read_descriptor_t *, sk_read_actor_t);\n\tint (*read_skb)(struct sock *, skb_read_actor_t);\n\tint (*sendmsg_locked)(struct sock *, struct msghdr *, size_t);\n\tint (*set_rcvlowat)(struct sock *, int);\n};\n\nstruct prtb_entry {\n\t__be64 prtb0;\n\t__be64 prtb1;\n};\n\nstruct ps2pp_info {\n\tu8 model;\n\tu8 kind;\n\tu16 features;\n};\n\nstruct psample_group {\n\tstruct list_head list;\n\tstruct net *net;\n\tu32 group_num;\n\tu32 refcount;\n\tu32 seq;\n\tstruct callback_head rcu;\n};\n\nstruct psched_pktrate {\n\tu64 rate_pkts_ps;\n\tu32 mult;\n\tu8 shift;\n};\n\nstruct psched_ratecfg {\n\tu64 rate_bytes_ps;\n\tu32 mult;\n\tu16 overhead;\n\tu16 mpu;\n\tu8 linklayer;\n\tu8 shift;\n};\n\nstruct pse_control_config {\n\tenum ethtool_podl_pse_admin_state podl_admin_control;\n\tenum ethtool_c33_pse_admin_state c33_admin_control;\n};\n\nstruct pse_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_pse_control_status status;\n};\n\nstruct pseries_errorlog {\n\t__be16 id;\n\t__be16 length;\n\tu8 version;\n\tu8 subtype;\n\t__be16 creator_component;\n\tu8 data[0];\n};\n\nstruct pseries_hp_errorlog {\n\tu8 resource;\n\tu8 action;\n\tu8 id_type;\n\tu8 reserved;\n\tunion {\n\t\t__be32 drc_index;\n\t\t__be32 drc_count;\n\t\tstruct {\n\t\t\t__be32 count;\n\t\t\t__be32 index;\n\t\t} ic;\n\t\tchar drc_name[1];\n\t} _drc_u;\n};\n\nstruct pseries_hp_work {\n\tstruct work_struct work;\n\tstruct pseries_hp_errorlog *errlog;\n};\n\nstruct pseries_io_event {\n\tuint8_t event_type;\n\tuint8_t rpc_data_len;\n\tuint8_t scope;\n\tuint8_t event_subtype;\n\tuint32_t drc_index;\n\tuint8_t rpc_data[216];\n};\n\nstruct pseries_mc_errorlog {\n\t__be32 fru_id;\n\t__be32 proc_id;\n\tu8 error_type;\n\tu8 sub_err_type;\n\tu8 reserved_1[6];\n\t__be64 effective_address;\n\t__be64 logical_address;\n};\n\nstruct pseries_suspend_info {\n\tatomic_t counter;\n\tbool done;\n};\n\nstruct pseries_vas_window {\n\tstruct vas_window vas_win;\n\tu64 win_addr;\n\tu8 win_type;\n\tu32 complete_irq;\n\tu32 fault_irq;\n\tu64 domain[6];\n\tu64 util;\n\tu32 pid;\n\tstruct list_head win_list;\n\tu64 flags;\n\tchar *name;\n\tint fault_virq;\n\tatomic_t pending_faults;\n};\n\nstruct pseudo_fs_context {\n\tconst struct super_operations *ops;\n\tconst struct export_operations *eops;\n\tconst struct xattr_handler * const *xattr;\n\tconst struct dentry_operations *dops;\n\tlong unsigned int magic;\n};\n\nstruct psi_group_cpu;\n\nstruct psi_group {\n\tstruct psi_group *parent;\n\tbool enabled;\n\tstruct mutex avgs_lock;\n\tstruct psi_group_cpu *pcpu;\n\tu64 avg_total[6];\n\tu64 avg_last_update;\n\tu64 avg_next_update;\n\tstruct delayed_work avgs_work;\n\tstruct list_head avg_triggers;\n\tu32 avg_nr_triggers[6];\n\tu64 total[12];\n\tlong unsigned int avg[18];\n\tstruct task_struct *rtpoll_task;\n\tstruct timer_list rtpoll_timer;\n\twait_queue_head_t rtpoll_wait;\n\tatomic_t rtpoll_wakeup;\n\tatomic_t rtpoll_scheduled;\n\tstruct mutex rtpoll_trigger_lock;\n\tstruct list_head rtpoll_triggers;\n\tu32 rtpoll_nr_triggers[6];\n\tu32 rtpoll_states;\n\tu64 rtpoll_min_period;\n\tu64 rtpoll_total[6];\n\tu64 rtpoll_next_update;\n\tu64 rtpoll_until;\n};\n\nstruct psi_group_cpu {\n\tseqcount_t seq;\n\tunsigned int tasks[4];\n\tu32 state_mask;\n\tu32 times[7];\n\tu64 state_start;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 times_prev[14];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct psi_window {\n\tu64 size;\n\tu64 start_time;\n\tu64 start_value;\n\tu64 prev_growth;\n};\n\nstruct psi_trigger {\n\tenum psi_states state;\n\tu64 threshold;\n\tstruct list_head node;\n\tstruct psi_group *group;\n\twait_queue_head_t event_wait;\n\tstruct kernfs_open_file *of;\n\tint event;\n\tstruct psi_window win;\n\tu64 last_event_time;\n\tbool pending_event;\n\tenum psi_aggregators aggregator;\n};\n\nstruct psmouse_protocol;\n\nstruct psmouse {\n\tvoid *private;\n\tstruct input_dev *dev;\n\tstruct ps2dev ps2dev;\n\tstruct delayed_work resync_work;\n\tconst char *vendor;\n\tconst char *name;\n\tconst struct psmouse_protocol *protocol;\n\tunsigned char packet[8];\n\tunsigned char badbyte;\n\tunsigned char pktcnt;\n\tunsigned char pktsize;\n\tunsigned char oob_data_type;\n\tunsigned char extra_buttons;\n\tbool acks_disable_command;\n\tunsigned int model;\n\tlong unsigned int last;\n\tlong unsigned int out_of_sync_cnt;\n\tlong unsigned int num_resyncs;\n\tenum psmouse_state state;\n\tchar devname[64];\n\tchar phys[32];\n\tunsigned int rate;\n\tunsigned int resolution;\n\tunsigned int resetafter;\n\tunsigned int resync_time;\n\tbool smartscroll;\n\tpsmouse_ret_t (*protocol_handler)(struct psmouse *);\n\tvoid (*set_rate)(struct psmouse *, unsigned int);\n\tvoid (*set_resolution)(struct psmouse *, unsigned int);\n\tvoid (*set_scale)(struct psmouse *, enum psmouse_scale);\n\tint (*reconnect)(struct psmouse *);\n\tint (*fast_reconnect)(struct psmouse *);\n\tvoid (*disconnect)(struct psmouse *);\n\tvoid (*cleanup)(struct psmouse *);\n\tint (*poll)(struct psmouse *);\n\tvoid (*pt_activate)(struct psmouse *);\n\tvoid (*pt_deactivate)(struct psmouse *);\n};\n\nstruct psmouse_attribute {\n\tstruct device_attribute dattr;\n\tvoid *data;\n\tssize_t (*show)(struct psmouse *, void *, char *);\n\tssize_t (*set)(struct psmouse *, void *, const char *, size_t);\n\tbool protect;\n};\n\nstruct psmouse_protocol {\n\tenum psmouse_type type;\n\tbool maxproto;\n\tbool ignore_parity;\n\tbool try_passthru;\n\tbool smbus_companion;\n\tconst char *name;\n\tconst char *alias;\n\tint (*detect)(struct psmouse *, bool);\n\tint (*init)(struct psmouse *);\n};\n\nstruct psmouse_smbus_dev {\n\tstruct i2c_board_info board;\n\tstruct psmouse *psmouse;\n\tstruct i2c_client *client;\n\tstruct list_head node;\n\tbool dead;\n\tbool need_deactivate;\n};\n\nstruct psmouse_smbus_removal_work {\n\tstruct work_struct work;\n\tstruct i2c_client *client;\n};\n\nstruct psr_attr {\n\tu32 handle;\n\tstruct kobj_attribute attr;\n};\n\nstruct pstate_idx_revmap_data {\n\tu8 pstate_id;\n\tunsigned int cpufreq_table_idx;\n\tstruct hlist_node hentry;\n};\n\nstruct pstore_ftrace_record {\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tu64 ts;\n};\n\nstruct pstore_ftrace_seq_data {\n\tconst void *ptr;\n\tsize_t off;\n\tsize_t size;\n};\n\nstruct pstore_record;\n\nstruct pstore_info {\n\tstruct module *owner;\n\tconst char *name;\n\traw_spinlock_t buf_lock;\n\tchar *buf;\n\tsize_t bufsize;\n\tstruct mutex read_mutex;\n\tint flags;\n\tint max_reason;\n\tvoid *data;\n\tint (*open)(struct pstore_info *);\n\tint (*close)(struct pstore_info *);\n\tssize_t (*read)(struct pstore_record *);\n\tint (*write)(struct pstore_record *);\n\tint (*write_user)(struct pstore_record *, const char *);\n\tint (*erase)(struct pstore_record *);\n};\n\nstruct pstore_private {\n\tstruct list_head list;\n\tstruct dentry *dentry;\n\tstruct pstore_record *record;\n\tsize_t total_size;\n};\n\nstruct pstore_record {\n\tstruct pstore_info *psi;\n\tenum pstore_type_id type;\n\tu64 id;\n\tstruct timespec64 time;\n\tchar *buf;\n\tssize_t size;\n\tssize_t ecc_notice_size;\n\tvoid *priv;\n\tint count;\n\tenum kmsg_dump_reason reason;\n\tunsigned int part;\n\tbool compressed;\n};\n\nstruct pt_regs_offset {\n\tconst char *name;\n\tint offset;\n};\n\nstruct ptdesc {\n\tlong unsigned int __page_flags;\n\tunion {\n\t\tstruct callback_head pt_rcu_head;\n\t\tstruct list_head pt_list;\n\t\tstruct {\n\t\t\tlong unsigned int _pt_pad_1;\n\t\t\tpgtable_t pmd_huge_pte;\n\t\t};\n\t};\n\tlong unsigned int __page_mapping;\n\tunion {\n\t\tlong unsigned int pt_index;\n\t\tstruct mm_struct *pt_mm;\n\t\tatomic_t pt_frag_refcount;\n\t};\n\tunion {\n\t\tlong unsigned int _pt_pad_2;\n\t\tspinlock_t ptl;\n\t};\n\tunsigned int __page_type;\n\tatomic_t __page_refcount;\n\tlong unsigned int pt_memcg_data;\n};\n\nstruct ptdump_range {\n\tlong unsigned int start;\n\tlong unsigned int end;\n};\n\nstruct ptp_clock {\n\tstruct posix_clock clock;\n\tstruct device dev;\n\tstruct ptp_clock_info *info;\n\tdev_t devid;\n\tint index;\n\tstruct pps_device *pps_source;\n\tlong int dialed_frequency;\n\tstruct list_head tsevqs;\n\tspinlock_t tsevqs_lock;\n\tstruct mutex pincfg_mux;\n\twait_queue_head_t tsev_wq;\n\tint defunct;\n\tstruct device_attribute *pin_dev_attr;\n\tstruct attribute **pin_attr;\n\tstruct attribute_group pin_attr_group;\n\tconst struct attribute_group *pin_attr_groups[2];\n\tstruct kthread_worker *kworker;\n\tstruct kthread_delayed_work aux_work;\n\tunsigned int max_vclocks;\n\tunsigned int n_vclocks;\n\tint *vclock_index;\n\tstruct mutex n_vclocks_mux;\n\tbool is_virtual_clock;\n\tbool has_cycles;\n\tstruct dentry *debugfs_root;\n};\n\nstruct ptp_clock_caps {\n\tint max_adj;\n\tint n_alarm;\n\tint n_ext_ts;\n\tint n_per_out;\n\tint pps;\n\tint n_pins;\n\tint cross_timestamping;\n\tint adjust_phase;\n\tint max_phase_adj;\n\tint rsv[11];\n};\n\nstruct ptp_clock_event {\n\tint type;\n\tint index;\n\tunion {\n\t\tu64 timestamp;\n\t\ts64 offset;\n\t\tstruct pps_event_time pps_times;\n\t};\n};\n\nstruct ptp_extts_request {\n\tunsigned int index;\n\tunsigned int flags;\n\tunsigned int rsv[2];\n};\n\nstruct ptp_clock_time {\n\t__s64 sec;\n\t__u32 nsec;\n\t__u32 reserved;\n};\n\nstruct ptp_perout_request {\n\tunion {\n\t\tstruct ptp_clock_time start;\n\t\tstruct ptp_clock_time phase;\n\t};\n\tstruct ptp_clock_time period;\n\tunsigned int index;\n\tunsigned int flags;\n\tunion {\n\t\tstruct ptp_clock_time on;\n\t\tunsigned int rsv[4];\n\t};\n};\n\nstruct ptp_clock_request {\n\tenum {\n\t\tPTP_CLK_REQ_EXTTS = 0,\n\t\tPTP_CLK_REQ_PEROUT = 1,\n\t\tPTP_CLK_REQ_PPS = 2,\n\t} type;\n\tunion {\n\t\tstruct ptp_extts_request extts;\n\t\tstruct ptp_perout_request perout;\n\t};\n};\n\nstruct ptp_extts_event {\n\tstruct ptp_clock_time t;\n\tunsigned int index;\n\tunsigned int flags;\n\tunsigned int rsv[2];\n};\n\nstruct ptp_header {\n\tu8 tsmt;\n\tu8 ver;\n\t__be16 message_length;\n\tu8 domain_number;\n\tu8 reserved1;\n\tu8 flag_field[2];\n\t__be64 correction;\n\t__be32 reserved2;\n\tstruct port_identity source_port_identity;\n\t__be16 sequence_id;\n\tu8 control;\n\tu8 log_message_interval;\n} __attribute__((packed));\n\nstruct ptp_pin_desc {\n\tchar name[64];\n\tunsigned int index;\n\tunsigned int func;\n\tunsigned int chan;\n\tunsigned int rsv[5];\n};\n\nstruct ptp_sys_offset {\n\tunsigned int n_samples;\n\tunsigned int rsv[3];\n\tstruct ptp_clock_time ts[51];\n};\n\nstruct ptp_sys_offset_extended {\n\tunsigned int n_samples;\n\t__kernel_clockid_t clockid;\n\tunsigned int rsv[2];\n\tstruct ptp_clock_time ts[75];\n};\n\nstruct ptp_sys_offset_precise {\n\tstruct ptp_clock_time device;\n\tstruct ptp_clock_time sys_realtime;\n\tstruct ptp_clock_time sys_monoraw;\n\tunsigned int rsv[4];\n};\n\nstruct ptp_system_timestamp {\n\tstruct timespec64 pre_ts;\n\tstruct timespec64 post_ts;\n\tclockid_t clockid;\n};\n\nstruct ptp_vclock {\n\tstruct ptp_clock *pclock;\n\tstruct ptp_clock_info info;\n\tstruct ptp_clock *clock;\n\tstruct hlist_node vclock_hash_node;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tstruct mutex lock;\n};\n\nstruct ptrace_peeksiginfo_args {\n\t__u64 off;\n\t__u32 flags;\n\t__s32 nr;\n};\n\nstruct ptrace_relation {\n\tstruct task_struct *tracer;\n\tstruct task_struct *tracee;\n\tbool invalid;\n\tstruct list_head node;\n\tstruct callback_head rcu;\n};\n\nstruct ptrace_rseq_configuration {\n\t__u64 rseq_abi_pointer;\n\t__u32 rseq_abi_size;\n\t__u32 signature;\n\t__u32 flags;\n\t__u32 pad;\n};\n\nstruct ptrace_syscall_info {\n\t__u8 op;\n\t__u8 pad[3];\n\t__u32 arch;\n\t__u64 instruction_pointer;\n\t__u64 stack_pointer;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t} entry;\n\t\tstruct {\n\t\t\t__s64 rval;\n\t\t\t__u8 is_error;\n\t\t} exit;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t\t__u32 ret_data;\n\t\t} seccomp;\n\t};\n};\n\nstruct pts_mount_opts {\n\tint setuid;\n\tint setgid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tumode_t ptmxmode;\n\tint reserve;\n\tint max;\n};\n\nstruct pts_fs_info {\n\tstruct ida allocated_ptys;\n\tstruct pts_mount_opts mount_opts;\n\tstruct super_block *sb;\n\tstruct dentry *ptmx_dentry;\n};\n\nstruct pubkey_hdr {\n\tuint8_t version;\n\tuint32_t timestamp;\n\tuint8_t algo;\n\tuint8_t nmpi;\n\tchar mpi[0];\n} __attribute__((packed));\n\nstruct public_key {\n\tvoid *key;\n\tu32 keylen;\n\tenum OID algo;\n\tvoid *params;\n\tu32 paramlen;\n\tbool key_is_private;\n\tconst char *id_type;\n\tconst char *pkey_algo;\n\tlong unsigned int key_eflags;\n};\n\nstruct public_key_signature {\n\tstruct asymmetric_key_id *auth_ids[3];\n\tu8 *s;\n\tu8 *digest;\n\tu32 s_size;\n\tu32 digest_size;\n\tconst char *pkey_algo;\n\tconst char *hash_algo;\n\tconst char *encoding;\n};\n\nstruct qc_dqblk {\n\tint d_fieldmask;\n\tu64 d_spc_hardlimit;\n\tu64 d_spc_softlimit;\n\tu64 d_ino_hardlimit;\n\tu64 d_ino_softlimit;\n\tu64 d_space;\n\tu64 d_ino_count;\n\ts64 d_ino_timer;\n\ts64 d_spc_timer;\n\tint d_ino_warns;\n\tint d_spc_warns;\n\tu64 d_rt_spc_hardlimit;\n\tu64 d_rt_spc_softlimit;\n\tu64 d_rt_space;\n\ts64 d_rt_spc_timer;\n\tint d_rt_spc_warns;\n};\n\nstruct qc_info {\n\tint i_fieldmask;\n\tunsigned int i_flags;\n\tunsigned int i_spc_timelimit;\n\tunsigned int i_ino_timelimit;\n\tunsigned int i_rt_spc_timelimit;\n\tunsigned int i_spc_warnlimit;\n\tunsigned int i_ino_warnlimit;\n\tunsigned int i_rt_spc_warnlimit;\n};\n\nstruct qc_type_state {\n\tunsigned int flags;\n\tunsigned int spc_timelimit;\n\tunsigned int ino_timelimit;\n\tunsigned int rt_spc_timelimit;\n\tunsigned int spc_warnlimit;\n\tunsigned int ino_warnlimit;\n\tunsigned int rt_spc_warnlimit;\n\tlong long unsigned int ino;\n\tblkcnt_t blocks;\n\tblkcnt_t nextents;\n};\n\nstruct qc_state {\n\tunsigned int s_incoredqs;\n\tstruct qc_type_state s_state[3];\n};\n\nstruct qdisc_dump_args {\n\tstruct qdisc_walker w;\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n};\n\nstruct tc_ratespec {\n\tunsigned char cell_log;\n\t__u8 linklayer;\n\tshort unsigned int overhead;\n\tshort int cell_align;\n\tshort unsigned int mpu;\n\t__u32 rate;\n};\n\nstruct qdisc_rate_table {\n\tstruct tc_ratespec rate;\n\tu32 data[256];\n\tstruct qdisc_rate_table *next;\n\tint refcnt;\n};\n\nstruct tc_sizespec {\n\tunsigned char cell_log;\n\tunsigned char size_log;\n\tshort int cell_align;\n\tint overhead;\n\tunsigned int linklayer;\n\tunsigned int mpu;\n\tunsigned int mtu;\n\tunsigned int tsize;\n};\n\nstruct qdisc_size_table {\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct tc_sizespec szopts;\n\tint refcnt;\n\tu16 data[0];\n};\n\nstruct qdisc_watchdog {\n\tstruct hrtimer timer;\n\tstruct Qdisc *qdisc;\n};\n\nstruct qnode {\n\tstruct qnode *next;\n\tstruct qspinlock *lock;\n\tint cpu;\n\tu8 sleepy;\n\tu8 locked;\n};\n\nstruct qnodes {\n\tint count;\n\tstruct qnode nodes[4];\n};\n\nstruct queue_limits {\n\tblk_features_t features;\n\tblk_flags_t flags;\n\tlong unsigned int seg_boundary_mask;\n\tlong unsigned int virt_boundary_mask;\n\tunsigned int max_hw_sectors;\n\tunsigned int max_dev_sectors;\n\tunsigned int chunk_sectors;\n\tunsigned int max_sectors;\n\tunsigned int max_user_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int min_segment_size;\n\tunsigned int physical_block_size;\n\tunsigned int logical_block_size;\n\tunsigned int alignment_offset;\n\tunsigned int io_min;\n\tunsigned int io_opt;\n\tunsigned int max_discard_sectors;\n\tunsigned int max_hw_discard_sectors;\n\tunsigned int max_user_discard_sectors;\n\tunsigned int max_secure_erase_sectors;\n\tunsigned int max_write_zeroes_sectors;\n\tunsigned int max_hw_zone_append_sectors;\n\tunsigned int max_zone_append_sectors;\n\tunsigned int discard_granularity;\n\tunsigned int discard_alignment;\n\tunsigned int zone_write_granularity;\n\tunsigned int atomic_write_hw_max;\n\tunsigned int atomic_write_max_sectors;\n\tunsigned int atomic_write_hw_boundary;\n\tunsigned int atomic_write_boundary_sectors;\n\tunsigned int atomic_write_hw_unit_min;\n\tunsigned int atomic_write_unit_min;\n\tunsigned int atomic_write_hw_unit_max;\n\tunsigned int atomic_write_unit_max;\n\tshort unsigned int max_segments;\n\tshort unsigned int max_integrity_segments;\n\tshort unsigned int max_discard_segments;\n\tunsigned int max_open_zones;\n\tunsigned int max_active_zones;\n\tunsigned int dma_alignment;\n\tunsigned int dma_pad_mask;\n\tstruct blk_integrity integrity;\n};\n\nstruct queue_pages {\n\tstruct list_head *pagelist;\n\tlong unsigned int flags;\n\tnodemask_t *nmask;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tstruct vm_area_struct *first;\n\tstruct folio *large;\n\tlong int nr_failed;\n};\n\nstruct queue_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct gendisk *, char *);\n\tssize_t (*store)(struct gendisk *, const char *, size_t);\n\tint (*store_limit)(struct gendisk *, const char *, size_t, struct queue_limits *);\n\tvoid (*load_module)(struct gendisk *, const char *, size_t);\n};\n\nstruct quirk_entry {\n\tu16 vid;\n\tu16 pid;\n\tu32 flags;\n};\n\nstruct quirks_list_struct {\n\tstruct hid_device_id hid_bl_item;\n\tstruct list_head node;\n};\n\nstruct quota_format_ops {\n\tint (*check_quota_file)(struct super_block *, int);\n\tint (*read_file_info)(struct super_block *, int);\n\tint (*write_file_info)(struct super_block *, int);\n\tint (*free_file_info)(struct super_block *, int);\n\tint (*read_dqblk)(struct dquot *);\n\tint (*commit_dqblk)(struct dquot *);\n\tint (*release_dqblk)(struct dquot *);\n\tint (*get_next_id)(struct super_block *, struct kqid *);\n};\n\nstruct quota_format_type {\n\tint qf_fmt_id;\n\tconst struct quota_format_ops *qf_ops;\n\tstruct module *qf_owner;\n\tstruct quota_format_type *qf_next;\n};\n\nstruct quota_info {\n\tunsigned int flags;\n\tstruct rw_semaphore dqio_sem;\n\tstruct inode *files[3];\n\tstruct mem_dqinfo info[3];\n\tconst struct quota_format_ops *ops[3];\n};\n\nstruct quotactl_ops {\n\tint (*quota_on)(struct super_block *, int, int, const struct path *);\n\tint (*quota_off)(struct super_block *, int);\n\tint (*quota_enable)(struct super_block *, unsigned int);\n\tint (*quota_disable)(struct super_block *, unsigned int);\n\tint (*quota_sync)(struct super_block *, int);\n\tint (*set_info)(struct super_block *, int, struct qc_info *);\n\tint (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);\n\tint (*get_nextdqblk)(struct super_block *, struct kqid *, struct qc_dqblk *);\n\tint (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);\n\tint (*get_state)(struct super_block *, struct qc_state *);\n\tint (*rm_xquota)(struct super_block *, unsigned int);\n};\n\nstruct strip_zone;\n\nstruct r0conf {\n\tstruct strip_zone *strip_zone;\n\tstruct md_rdev **devlist;\n\tint nr_strip_zones;\n\tenum r0layout layout;\n};\n\nstruct r1bio {\n\tatomic_t remaining;\n\tatomic_t behind_remaining;\n\tsector_t sector;\n\tint sectors;\n\tlong unsigned int state;\n\tstruct mddev *mddev;\n\tstruct bio *master_bio;\n\tint read_disk;\n\tstruct list_head retry_list;\n\tstruct bio *behind_master_bio;\n\tstruct bio *bios[0];\n};\n\nstruct raid1_info;\n\nstruct r1conf {\n\tstruct mddev *mddev;\n\tstruct raid1_info *mirrors;\n\tint raid_disks;\n\tint nonrot_disks;\n\tspinlock_t device_lock;\n\tstruct list_head retry_list;\n\tstruct list_head bio_end_io_list;\n\tstruct bio_list pending_bio_list;\n\twait_queue_head_t wait_barrier;\n\tspinlock_t resync_lock;\n\tatomic_t nr_sync_pending;\n\tatomic_t *nr_pending;\n\tatomic_t *nr_waiting;\n\tatomic_t *nr_queued;\n\tatomic_t *barrier;\n\tint array_frozen;\n\tint fullsync;\n\tint recovery_disabled;\n\tstruct pool_info *poolinfo;\n\tmempool_t r1bio_pool;\n\tmempool_t r1buf_pool;\n\tstruct bio_set bio_split;\n\tstruct page *tmppage;\n\tstruct md_thread *thread;\n\tsector_t cluster_sync_low;\n\tsector_t cluster_sync_high;\n};\n\nstruct ra_msg {\n\tstruct icmp6hdr icmph;\n\t__be32 reachable_time;\n\t__be32 retrans_timer;\n};\n\nstruct radeonfb_info;\n\nstruct radeon_i2c_chan {\n\tstruct radeonfb_info *rinfo;\n\tu32 ddc_reg;\n\tstruct i2c_adapter adapter;\n\tstruct i2c_algo_bit_data algo;\n};\n\nstruct radeon_regs {\n\tu32 ovr_clr;\n\tu32 ovr_wid_left_right;\n\tu32 ovr_wid_top_bottom;\n\tu32 ov0_scale_cntl;\n\tu32 mpp_tb_config;\n\tu32 mpp_gp_config;\n\tu32 subpic_cntl;\n\tu32 viph_control;\n\tu32 i2c_cntl_1;\n\tu32 gen_int_cntl;\n\tu32 cap0_trig_cntl;\n\tu32 cap1_trig_cntl;\n\tu32 bus_cntl;\n\tu32 surface_cntl;\n\tu32 bios_5_scratch;\n\tu32 dp_datatype;\n\tu32 rbbm_soft_reset;\n\tu32 clock_cntl_index;\n\tu32 amcgpio_en_reg;\n\tu32 amcgpio_mask;\n\tu32 surf_lower_bound[8];\n\tu32 surf_upper_bound[8];\n\tu32 surf_info[8];\n\tu32 crtc_gen_cntl;\n\tu32 crtc_ext_cntl;\n\tu32 dac_cntl;\n\tu32 crtc_h_total_disp;\n\tu32 crtc_h_sync_strt_wid;\n\tu32 crtc_v_total_disp;\n\tu32 crtc_v_sync_strt_wid;\n\tu32 crtc_offset;\n\tu32 crtc_offset_cntl;\n\tu32 crtc_pitch;\n\tu32 disp_merge_cntl;\n\tu32 grph_buffer_cntl;\n\tu32 crtc_more_cntl;\n\tu32 crtc2_gen_cntl;\n\tu32 dac2_cntl;\n\tu32 disp_output_cntl;\n\tu32 disp_hw_debug;\n\tu32 disp2_merge_cntl;\n\tu32 grph2_buffer_cntl;\n\tu32 crtc2_h_total_disp;\n\tu32 crtc2_h_sync_strt_wid;\n\tu32 crtc2_v_total_disp;\n\tu32 crtc2_v_sync_strt_wid;\n\tu32 crtc2_offset;\n\tu32 crtc2_offset_cntl;\n\tu32 crtc2_pitch;\n\tu32 fp_crtc_h_total_disp;\n\tu32 fp_crtc_v_total_disp;\n\tu32 fp_gen_cntl;\n\tu32 fp2_gen_cntl;\n\tu32 fp_h_sync_strt_wid;\n\tu32 fp2_h_sync_strt_wid;\n\tu32 fp_horz_stretch;\n\tu32 fp_panel_cntl;\n\tu32 fp_v_sync_strt_wid;\n\tu32 fp2_v_sync_strt_wid;\n\tu32 fp_vert_stretch;\n\tu32 lvds_gen_cntl;\n\tu32 lvds_pll_cntl;\n\tu32 tmds_crc;\n\tu32 tmds_transmitter_cntl;\n\tu32 dot_clock_freq;\n\tint feedback_div;\n\tint post_div;\n\tu32 ppll_div_3;\n\tu32 ppll_ref_div;\n\tu32 vclk_ecp_cntl;\n\tu32 clk_cntl_index;\n\tu32 dot_clock_freq_2;\n\tint feedback_div_2;\n\tint post_div_2;\n\tu32 p2pll_ref_div;\n\tu32 p2pll_div_0;\n\tu32 htotal_cntl2;\n\tint palette_valid;\n};\n\ntypedef void (*reinit_function_ptr)(struct radeonfb_info *);\n\nstruct radeonfb_info {\n\tstruct fb_info *info;\n\tstruct radeon_regs state;\n\tstruct radeon_regs init_state;\n\tchar name[50];\n\tlong unsigned int mmio_base_phys;\n\tlong unsigned int fb_base_phys;\n\tvoid *mmio_base;\n\tvoid *fb_base;\n\tlong unsigned int fb_local_base;\n\tstruct pci_dev *pdev;\n\tstruct device_node *of_node;\n\tvoid *bios_seg;\n\tint fp_bios_start;\n\tu32 pseudo_palette[16];\n\tstruct {\n\t\tu8 red;\n\t\tu8 green;\n\t\tu8 blue;\n\t\tu8 pad;\n\t} palette[256];\n\tint chipset;\n\tu8 family;\n\tu8 rev;\n\tunsigned int errata;\n\tlong unsigned int video_ram;\n\tlong unsigned int mapped_vram;\n\tint vram_width;\n\tint vram_ddr;\n\tint pitch;\n\tint bpp;\n\tint depth;\n\tint has_CRTC2;\n\tint is_mobility;\n\tint is_IGP;\n\tint reversed_DAC;\n\tint reversed_TMDS;\n\tstruct panel_info panel_info;\n\tint mon1_type;\n\tu8 *mon1_EDID;\n\tstruct fb_videomode *mon1_modedb;\n\tint mon1_dbsize;\n\tint mon2_type;\n\tu8 *mon2_EDID;\n\tu32 dp_gui_master_cntl;\n\tstruct pll_info pll;\n\tint wc_cookie;\n\tu32 save_regs[100];\n\tint asleep;\n\tint lock_blank;\n\tint dynclk;\n\tint no_schedule;\n\tenum radeon_pm_mode pm_mode;\n\treinit_function_ptr reinit_func;\n\tspinlock_t reg_lock;\n\tstruct timer_list lvds_timer;\n\tu32 pending_lvds_gen_cntl;\n\tstruct radeon_i2c_chan i2c[4];\n};\n\nstruct xa_node;\n\nstruct radix_tree_iter {\n\tlong unsigned int index;\n\tlong unsigned int next_index;\n\tlong unsigned int tags;\n\tstruct xa_node *node;\n};\n\nstruct radix_tree_preload {\n\tlocal_lock_t lock;\n\tunsigned int nr;\n\tstruct xa_node *nodes;\n};\n\nstruct raid1_info {\n\tstruct md_rdev *rdev;\n\tsector_t head_position;\n\tsector_t next_seq_sect;\n\tsector_t seq_start;\n};\n\nstruct raid1_plug_cb {\n\tstruct blk_plug_cb cb;\n\tstruct bio_list pending;\n\tunsigned int count;\n};\n\nstruct ramfs_mount_opts {\n\tumode_t mode;\n};\n\nstruct ramfs_fs_info {\n\tstruct ramfs_mount_opts mount_opts;\n};\n\nstruct range_node {\n\tstruct rb_node rn_rbnode;\n\tstruct rb_node rb_range_size;\n\tu32 rn_start;\n\tu32 rn_last;\n\tu32 __rn_subtree_last;\n};\n\nstruct range_trans {\n\tu32 source_type;\n\tu32 target_type;\n\tu32 target_class;\n};\n\nstruct rank_info {\n\tint chan_idx;\n\tstruct csrow_info *csrow;\n\tstruct dimm_info *dimm;\n\tu32 ce_count;\n};\n\nstruct rate_sample {\n\tu64 prior_mstamp;\n\tu32 prior_delivered;\n\tu32 prior_delivered_ce;\n\ts32 delivered;\n\ts32 delivered_ce;\n\tlong int interval_us;\n\tu32 snd_interval_us;\n\tu32 rcv_interval_us;\n\tlong int rtt_us;\n\tint losses;\n\tu32 acked_sacked;\n\tu32 prior_in_flight;\n\tu32 last_end_seq;\n\tbool is_app_limited;\n\tbool is_retrans;\n\tbool is_ack_delayed;\n};\n\nstruct raw6_frag_vec {\n\tstruct msghdr *msg;\n\tint hlen;\n\tchar c[4];\n};\n\nstruct raw6_sock {\n\tstruct inet_sock inet;\n\t__u32 checksum;\n\t__u32 offset;\n\tstruct icmp6_filter filter;\n\t__u32 ip6mr_table;\n\tstruct ipv6_pinfo inet6;\n};\n\nstruct raw_data_entry {\n\tstruct trace_entry ent;\n\tunsigned int id;\n\tchar buf[0];\n};\n\nstruct raw_frag_vec {\n\tstruct msghdr *msg;\n\tunion {\n\t\tstruct icmphdr icmph;\n\t\tchar c[1];\n\t} hdr;\n\tint hlen;\n};\n\nstruct raw_hashinfo {\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hlist_head ht[256];\n};\n\nstruct raw_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n};\n\nstruct raw_sock {\n\tstruct inet_sock inet;\n\tstruct icmp_filter filter;\n\tu32 ipmr_table;\n};\n\nstruct rb0_cbdata {\n\tint drive;\n\tstruct completion complete;\n};\n\nstruct rb_augment_callbacks {\n\tvoid (*propagate)(struct rb_node *, struct rb_node *);\n\tvoid (*copy)(struct rb_node *, struct rb_node *);\n\tvoid (*rotate)(struct rb_node *, struct rb_node *);\n};\n\nstruct rb_event_info {\n\tu64 ts;\n\tu64 delta;\n\tu64 before;\n\tu64 after;\n\tlong unsigned int length;\n\tstruct buffer_page *tail_page;\n\tint add_timestamp;\n};\n\nstruct rb_irq_work {\n\tstruct irq_work work;\n\twait_queue_head_t waiters;\n\twait_queue_head_t full_waiters;\n\tatomic_t seq;\n\tbool waiters_pending;\n\tbool full_waiters_pending;\n\tbool wakeup_full;\n};\n\nstruct rb_list {\n\tstruct rb_root root;\n\tstruct list_head head;\n\tspinlock_t lock;\n};\n\nstruct rb_time_struct {\n\tlocal64_t time;\n};\n\ntypedef struct rb_time_struct rb_time_t;\n\nstruct rb_wait_data {\n\tstruct rb_irq_work *irq_work;\n\tint seq;\n};\n\nstruct rc {\n\tlong int (*fill)(void *, long unsigned int);\n\tuint8_t *ptr;\n\tuint8_t *buffer;\n\tuint8_t *buffer_end;\n\tlong int buffer_size;\n\tuint32_t code;\n\tuint32_t range;\n\tuint32_t bound;\n\tvoid (*error)(char *);\n};\n\nstruct rc_dec {\n\tuint32_t range;\n\tuint32_t code;\n\tuint32_t init_bytes_left;\n\tconst uint8_t *in;\n\tsize_t in_pos;\n\tsize_t in_limit;\n};\n\nstruct rchan_callbacks;\n\nstruct rchan_buf;\n\nstruct rchan {\n\tu32 version;\n\tsize_t subbuf_size;\n\tsize_t n_subbufs;\n\tsize_t alloc_size;\n\tconst struct rchan_callbacks *cb;\n\tstruct kref kref;\n\tvoid *private_data;\n\tsize_t last_toobig;\n\tstruct rchan_buf **buf;\n\tint is_global;\n\tstruct list_head list;\n\tstruct dentry *parent;\n\tint has_base_filename;\n\tchar base_filename[255];\n};\n\nstruct rchan_buf {\n\tvoid *start;\n\tvoid *data;\n\tsize_t offset;\n\tsize_t subbufs_produced;\n\tsize_t subbufs_consumed;\n\tstruct rchan *chan;\n\twait_queue_head_t read_wait;\n\tstruct irq_work wakeup_work;\n\tstruct dentry *dentry;\n\tstruct kref kref;\n\tstruct page **page_array;\n\tunsigned int page_count;\n\tunsigned int finalized;\n\tsize_t *padding;\n\tsize_t prev_padding;\n\tsize_t bytes_consumed;\n\tsize_t early_bytes;\n\tunsigned int cpu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rchan_callbacks {\n\tint (*subbuf_start)(struct rchan_buf *, void *, void *, size_t);\n\tstruct dentry * (*create_buf_file)(const char *, struct dentry *, umode_t, struct rchan_buf *, int *);\n\tint (*remove_buf_file)(struct dentry *);\n};\n\nstruct rchan_percpu_buf_dispatcher {\n\tstruct rchan_buf *buf;\n\tstruct dentry *dentry;\n};\n\nstruct rcu_cblist {\n\tstruct callback_head *head;\n\tstruct callback_head **tail;\n\tlong int len;\n};\n\nunion rcu_noqs {\n\tstruct {\n\t\tu8 norm;\n\t\tu8 exp;\n\t} b;\n\tu16 s;\n};\n\nstruct rcu_segcblist {\n\tstruct callback_head *head;\n\tstruct callback_head **tails[4];\n\tlong unsigned int gp_seq[4];\n\tatomic_long_t len;\n\tlong int seglen[4];\n\tu8 flags;\n};\n\nstruct rcu_snap_record {\n\tlong unsigned int gp_seq;\n\tu64 cputime_irq;\n\tu64 cputime_softirq;\n\tu64 cputime_system;\n\tlong unsigned int nr_hardirqs;\n\tunsigned int nr_softirqs;\n\tlong long unsigned int nr_csw;\n\tlong unsigned int jiffies;\n};\n\nstruct rcu_node;\n\nstruct rcu_data {\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_seq_needed;\n\tunion rcu_noqs cpu_no_qs;\n\tbool core_needs_qs;\n\tbool beenonline;\n\tbool gpwrap;\n\tbool cpu_started;\n\tstruct rcu_node *mynode;\n\tlong unsigned int grpmask;\n\tlong unsigned int ticks_this_gp;\n\tstruct irq_work defer_qs_iw;\n\tbool defer_qs_iw_pending;\n\tstruct work_struct strict_work;\n\tstruct rcu_segcblist cblist;\n\tlong int qlen_last_fqs_check;\n\tlong unsigned int n_cbs_invoked;\n\tlong unsigned int n_force_qs_snap;\n\tlong int blimit;\n\tint watching_snap;\n\tbool rcu_need_heavy_qs;\n\tbool rcu_urgent_qs;\n\tbool rcu_forced_tick;\n\tbool rcu_forced_tick_exp;\n\tlong unsigned int barrier_seq_snap;\n\tstruct callback_head barrier_head;\n\tint exp_watching_snap;\n\tstruct swait_queue_head nocb_cb_wq;\n\tstruct swait_queue_head nocb_state_wq;\n\tstruct task_struct *nocb_gp_kthread;\n\traw_spinlock_t nocb_lock;\n\tint nocb_defer_wakeup;\n\tstruct timer_list nocb_timer;\n\tlong unsigned int nocb_gp_adv_time;\n\tstruct mutex nocb_gp_kthread_mutex;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t nocb_bypass_lock;\n\tstruct rcu_cblist nocb_bypass;\n\tlong unsigned int nocb_bypass_first;\n\tlong unsigned int nocb_nobypass_last;\n\tint nocb_nobypass_count;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t nocb_gp_lock;\n\tu8 nocb_gp_sleep;\n\tu8 nocb_gp_bypass;\n\tu8 nocb_gp_gp;\n\tlong unsigned int nocb_gp_seq;\n\tlong unsigned int nocb_gp_loops;\n\tstruct swait_queue_head nocb_gp_wq;\n\tbool nocb_cb_sleep;\n\tstruct task_struct *nocb_cb_kthread;\n\tstruct list_head nocb_head_rdp;\n\tstruct list_head nocb_entry_rdp;\n\tstruct rcu_data *nocb_toggling_rdp;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct rcu_data *nocb_gp_rdp;\n\tstruct task_struct *rcu_cpu_kthread_task;\n\tunsigned int rcu_cpu_kthread_status;\n\tchar rcu_cpu_has_work;\n\tlong unsigned int rcuc_activity;\n\tunsigned int softirq_snap;\n\tstruct irq_work rcu_iw;\n\tbool rcu_iw_pending;\n\tlong unsigned int rcu_iw_gp_seq;\n\tlong unsigned int rcu_ofl_gp_seq;\n\tshort int rcu_ofl_gp_state;\n\tlong unsigned int rcu_onl_gp_seq;\n\tshort int rcu_onl_gp_state;\n\tlong unsigned int last_fqs_resched;\n\tlong unsigned int last_sched_clock;\n\tstruct rcu_snap_record snap_record;\n\tlong int lazy_len;\n\tint cpu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rcu_exp_work {\n\tlong unsigned int rew_s;\n\tstruct kthread_work rew_work;\n};\n\nstruct rcu_node {\n\traw_spinlock_t lock;\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_seq_needed;\n\tlong unsigned int completedqs;\n\tlong unsigned int qsmask;\n\tlong unsigned int rcu_gp_init_mask;\n\tlong unsigned int qsmaskinit;\n\tlong unsigned int qsmaskinitnext;\n\tlong unsigned int expmask;\n\tlong unsigned int expmaskinit;\n\tlong unsigned int expmaskinitnext;\n\tstruct kthread_worker *exp_kworker;\n\tlong unsigned int cbovldmask;\n\tlong unsigned int ffmask;\n\tlong unsigned int grpmask;\n\tint grplo;\n\tint grphi;\n\tu8 grpnum;\n\tu8 level;\n\tbool wait_blkd_tasks;\n\tstruct rcu_node *parent;\n\tstruct list_head blkd_tasks;\n\tstruct list_head *gp_tasks;\n\tstruct list_head *exp_tasks;\n\tstruct list_head *boost_tasks;\n\tstruct rt_mutex boost_mtx;\n\tlong unsigned int boost_time;\n\tstruct mutex kthread_mutex;\n\tstruct task_struct *boost_kthread_task;\n\tunsigned int boost_kthread_status;\n\tlong unsigned int n_boosts;\n\tstruct swait_queue_head nocb_gp_wq[2];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t fqslock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t exp_lock;\n\tlong unsigned int exp_seq_rq;\n\twait_queue_head_t exp_wq[4];\n\tstruct rcu_exp_work rew;\n\tbool exp_need_flush;\n\traw_spinlock_t exp_poll_lock;\n\tlong unsigned int exp_seq_poll_rq;\n\tstruct work_struct exp_poll_wq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion rcu_special {\n\tstruct {\n\t\tu8 blocked;\n\t\tu8 need_qs;\n\t\tu8 exp_hint;\n\t\tu8 need_mb;\n\t} b;\n\tu32 s;\n};\n\nstruct sr_wait_node {\n\tatomic_t inuse;\n\tstruct llist_node node;\n};\n\nstruct rcu_state {\n\tstruct rcu_node node[131];\n\tstruct rcu_node *level[4];\n\tint ncpus;\n\tint n_online_cpus;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_max;\n\tstruct task_struct *gp_kthread;\n\tstruct swait_queue_head gp_wq;\n\tshort int gp_flags;\n\tshort int gp_state;\n\tlong unsigned int gp_wake_time;\n\tlong unsigned int gp_wake_seq;\n\tlong unsigned int gp_seq_polled;\n\tlong unsigned int gp_seq_polled_snap;\n\tlong unsigned int gp_seq_polled_exp_snap;\n\tstruct mutex barrier_mutex;\n\tatomic_t barrier_cpu_count;\n\tstruct completion barrier_completion;\n\tlong unsigned int barrier_sequence;\n\traw_spinlock_t barrier_lock;\n\tstruct mutex exp_mutex;\n\tstruct mutex exp_wake_mutex;\n\tlong unsigned int expedited_sequence;\n\tatomic_t expedited_need_qs;\n\tstruct swait_queue_head expedited_wq;\n\tint ncpus_snap;\n\tu8 cbovld;\n\tu8 cbovldnext;\n\tlong unsigned int jiffies_force_qs;\n\tlong unsigned int jiffies_kick_kthreads;\n\tlong unsigned int n_force_qs;\n\tlong unsigned int gp_start;\n\tlong unsigned int gp_end;\n\tlong unsigned int gp_activity;\n\tlong unsigned int gp_req_activity;\n\tlong unsigned int jiffies_stall;\n\tint nr_fqs_jiffies_stall;\n\tlong unsigned int jiffies_resched;\n\tlong unsigned int n_force_qs_gpstart;\n\tconst char *name;\n\tchar abbr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tarch_spinlock_t ofl_lock;\n\tstruct llist_head srs_next;\n\tstruct llist_node *srs_wait_tail;\n\tstruct llist_node *srs_done_tail;\n\tstruct sr_wait_node srs_wait_nodes[5];\n\tstruct work_struct srs_cleanup_work;\n\tatomic_t srs_cleanups_pending;\n\tstruct mutex nocb_mutex;\n\tint nocb_is_setup;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rcu_synchronize {\n\tstruct callback_head head;\n\tstruct completion completion;\n};\n\nstruct rcu_tasks;\n\ntypedef void (*rcu_tasks_gp_func_t)(struct rcu_tasks *);\n\ntypedef void (*pregp_func_t)(struct list_head *);\n\ntypedef void (*pertask_func_t)(struct task_struct *, struct list_head *);\n\ntypedef void (*postscan_func_t)(struct list_head *);\n\ntypedef void (*holdouts_func_t)(struct list_head *, bool, bool *);\n\ntypedef void (*postgp_func_t)(struct rcu_tasks *);\n\ntypedef void (*rcu_callback_t)(struct callback_head *);\n\ntypedef void (*call_rcu_func_t)(struct callback_head *, rcu_callback_t);\n\nstruct rcu_tasks_percpu;\n\nstruct rcu_tasks {\n\tstruct rcuwait cbs_wait;\n\traw_spinlock_t cbs_gbl_lock;\n\tstruct mutex tasks_gp_mutex;\n\tint gp_state;\n\tint gp_sleep;\n\tint init_fract;\n\tlong unsigned int gp_jiffies;\n\tlong unsigned int gp_start;\n\tlong unsigned int tasks_gp_seq;\n\tlong unsigned int n_ipis;\n\tlong unsigned int n_ipis_fails;\n\tstruct task_struct *kthread_ptr;\n\tlong unsigned int lazy_jiffies;\n\trcu_tasks_gp_func_t gp_func;\n\tpregp_func_t pregp_func;\n\tpertask_func_t pertask_func;\n\tpostscan_func_t postscan_func;\n\tholdouts_func_t holdouts_func;\n\tpostgp_func_t postgp_func;\n\tcall_rcu_func_t call_func;\n\tunsigned int wait_state;\n\tstruct rcu_tasks_percpu *rtpcpu;\n\tstruct rcu_tasks_percpu **rtpcp_array;\n\tint percpu_enqueue_shift;\n\tint percpu_enqueue_lim;\n\tint percpu_dequeue_lim;\n\tlong unsigned int percpu_dequeue_gpseq;\n\tstruct mutex barrier_q_mutex;\n\tatomic_t barrier_q_count;\n\tstruct completion barrier_q_completion;\n\tlong unsigned int barrier_q_seq;\n\tlong unsigned int barrier_q_start;\n\tchar *name;\n\tchar *kname;\n};\n\nstruct rcu_tasks_percpu {\n\tstruct rcu_segcblist cblist;\n\traw_spinlock_t lock;\n\tlong unsigned int rtp_jiffies;\n\tlong unsigned int rtp_n_lock_retries;\n\tstruct timer_list lazy_timer;\n\tunsigned int urgent_gp;\n\tstruct work_struct rtp_work;\n\tstruct irq_work rtp_irq_work;\n\tstruct callback_head barrier_q_head;\n\tstruct list_head rtp_blkd_tasks;\n\tstruct list_head rtp_exit_list;\n\tint cpu;\n\tint index;\n\tstruct rcu_tasks *rtpp;\n};\n\nstruct rd_msg {\n\tstruct icmp6hdr icmph;\n\tstruct in6_addr target;\n\tstruct in6_addr dest;\n\t__u8 opt[0];\n};\n\nstruct rdev_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct md_rdev *, char *);\n\tssize_t (*store)(struct md_rdev *, const char *, size_t);\n};\n\nstruct rdma_ah_init_attr {\n\tstruct rdma_ah_attr *ah_attr;\n\tu32 flags;\n\tstruct net_device *xmit_slave;\n};\n\nstruct rdma_counter {\n\tstruct rdma_restrack_entry res;\n\tstruct ib_device *device;\n\tuint32_t id;\n\tstruct kref kref;\n\tstruct rdma_counter_mode mode;\n\tstruct mutex lock;\n\tstruct rdma_hw_stats *stats;\n\tu32 port;\n};\n\nstruct rdma_stat_desc;\n\nstruct rdma_hw_stats {\n\tstruct mutex lock;\n\tlong unsigned int timestamp;\n\tlong unsigned int lifespan;\n\tconst struct rdma_stat_desc *descs;\n\tlong unsigned int *is_disabled;\n\tint num_counters;\n\tu64 value[0];\n};\n\nstruct rdma_link_ops {\n\tstruct list_head list;\n\tconst char *type;\n\tint (*newlink)(const char *, struct net_device *);\n};\n\nstruct rdma_netdev_alloc_params {\n\tsize_t sizeof_priv;\n\tunsigned int txqs;\n\tunsigned int rxqs;\n\tvoid *param;\n\tint (*initialize_rdma_netdev)(struct ib_device *, u32, struct net_device *, void *);\n};\n\nstruct rdma_stat_desc {\n\tconst char *name;\n\tunsigned int flags;\n\tconst void *priv;\n};\n\nstruct rdma_user_mmap_entry {\n\tstruct kref ref;\n\tstruct ib_ucontext *ucontext;\n\tlong unsigned int start_pgoff;\n\tsize_t npages;\n\tbool driver_removed;\n};\n\nstruct read_balance_ctl {\n\tsector_t closest_dist;\n\tint closest_dist_disk;\n\tint min_pending;\n\tint min_pending_disk;\n\tint sequential_disk;\n\tint readable_disks;\n};\n\nstruct readahead_control {\n\tstruct file *file;\n\tstruct address_space *mapping;\n\tstruct file_ra_state *ra;\n\tlong unsigned int _index;\n\tunsigned int _nr_pages;\n\tunsigned int _batch_count;\n\tbool dropbehind;\n\tbool _workingset;\n\tlong unsigned int _pflags;\n};\n\nstruct readdir_callback {\n\tstruct dir_context ctx;\n\tstruct old_linux_dirent *dirent;\n\tint result;\n};\n\nstruct reciprocal_value_adv {\n\tu32 m;\n\tu8 sh;\n\tu8 exp;\n\tbool is_wide_m;\n};\n\nstruct reclaim_stat {\n\tunsigned int nr_dirty;\n\tunsigned int nr_unqueued_dirty;\n\tunsigned int nr_congested;\n\tunsigned int nr_writeback;\n\tunsigned int nr_immediate;\n\tunsigned int nr_pageout;\n\tunsigned int nr_activate[2];\n\tunsigned int nr_ref_keep;\n\tunsigned int nr_unmap_fail;\n\tunsigned int nr_lazyfree_fail;\n\tunsigned int nr_demoted;\n};\n\nstruct reclaim_state {\n\tlong unsigned int reclaimed;\n};\n\nstruct recovery_info {\n\ttid_t start_transaction;\n\ttid_t end_transaction;\n\tlong unsigned int head_block;\n\tint nr_replays;\n\tint nr_revokes;\n\tint nr_revoke_hits;\n};\n\nstruct ref_tracker {\n\tstruct list_head head;\n\tbool dead;\n\tdepot_stack_handle_t alloc_stack_handle;\n\tdepot_stack_handle_t free_stack_handle;\n};\n\nstruct ref_tracker_dir_stats {\n\tint total;\n\tint count;\n\tstruct {\n\t\tdepot_stack_handle_t stack_handle;\n\t\tunsigned int count;\n\t} stacks[0];\n};\n\nstruct reg_default {\n\tunsigned int reg;\n\tunsigned int def;\n};\n\nstruct reg_field {\n\tunsigned int reg;\n\tunsigned int lsb;\n\tunsigned int msb;\n\tunsigned int id_size;\n\tunsigned int id_offset;\n};\n\nstruct reg_sequence {\n\tunsigned int reg;\n\tunsigned int def;\n\tunsigned int delay_us;\n};\n\nstruct regbit {\n\tlong unsigned int bit;\n\tconst char *name;\n};\n\nstruct regcache_ops {\n\tconst char *name;\n\tenum regcache_type type;\n\tint (*init)(struct regmap *);\n\tint (*exit)(struct regmap *);\n\tvoid (*debugfs_init)(struct regmap *);\n\tint (*read)(struct regmap *, unsigned int, unsigned int *);\n\tint (*write)(struct regmap *, unsigned int, unsigned int);\n\tint (*sync)(struct regmap *, unsigned int, unsigned int);\n\tint (*drop)(struct regmap *, unsigned int, unsigned int);\n};\n\nstruct regcache_rbtree_node;\n\nstruct regcache_rbtree_ctx {\n\tstruct rb_root root;\n\tstruct regcache_rbtree_node *cached_rbnode;\n};\n\nstruct regcache_rbtree_node {\n\tvoid *block;\n\tlong unsigned int *cache_present;\n\tunsigned int base_reg;\n\tunsigned int blklen;\n\tstruct rb_node node;\n};\n\ntypedef int (*regex_match_func)(char *, struct regex *, int);\n\nstruct regex {\n\tchar pattern[256];\n\tint len;\n\tint field_len;\n\tregex_match_func match;\n};\n\nstruct region {\n\tunsigned int start;\n\tunsigned int off;\n\tunsigned int group_len;\n\tunsigned int end;\n\tunsigned int nbits;\n};\n\nstruct region_devres {\n\tstruct resource *parent;\n\tresource_size_t start;\n\tresource_size_t n;\n};\n\ntypedef void (*regmap_lock)(void *);\n\ntypedef void (*regmap_unlock)(void *);\n\nstruct regmap_format {\n\tsize_t buf_size;\n\tsize_t reg_bytes;\n\tsize_t pad_bytes;\n\tsize_t val_bytes;\n\ts8 reg_shift;\n\tvoid (*format_write)(struct regmap *, unsigned int, unsigned int);\n\tvoid (*format_reg)(void *, unsigned int, unsigned int);\n\tvoid (*format_val)(void *, unsigned int, unsigned int);\n\tunsigned int (*parse_val)(const void *);\n\tvoid (*parse_inplace)(void *);\n};\n\nstruct hwspinlock;\n\nstruct regmap_bus;\n\nstruct regmap_access_table;\n\nstruct regmap {\n\tunion {\n\t\tstruct mutex mutex;\n\t\tstruct {\n\t\t\tspinlock_t spinlock;\n\t\t\tlong unsigned int spinlock_flags;\n\t\t};\n\t\tstruct {\n\t\t\traw_spinlock_t raw_spinlock;\n\t\t\tlong unsigned int raw_spinlock_flags;\n\t\t};\n\t};\n\tstruct lock_class_key *lock_key;\n\tregmap_lock lock;\n\tregmap_unlock unlock;\n\tvoid *lock_arg;\n\tgfp_t alloc_flags;\n\tunsigned int reg_base;\n\tstruct device *dev;\n\tvoid *work_buf;\n\tstruct regmap_format format;\n\tconst struct regmap_bus *bus;\n\tvoid *bus_context;\n\tconst char *name;\n\tbool async;\n\tspinlock_t async_lock;\n\twait_queue_head_t async_waitq;\n\tstruct list_head async_list;\n\tstruct list_head async_free;\n\tint async_ret;\n\tbool debugfs_disable;\n\tstruct dentry *debugfs;\n\tconst char *debugfs_name;\n\tunsigned int debugfs_reg_len;\n\tunsigned int debugfs_val_len;\n\tunsigned int debugfs_tot_len;\n\tstruct list_head debugfs_off_cache;\n\tstruct mutex cache_lock;\n\tunsigned int max_register;\n\tbool max_register_is_set;\n\tbool (*writeable_reg)(struct device *, unsigned int);\n\tbool (*readable_reg)(struct device *, unsigned int);\n\tbool (*volatile_reg)(struct device *, unsigned int);\n\tbool (*precious_reg)(struct device *, unsigned int);\n\tbool (*writeable_noinc_reg)(struct device *, unsigned int);\n\tbool (*readable_noinc_reg)(struct device *, unsigned int);\n\tconst struct regmap_access_table *wr_table;\n\tconst struct regmap_access_table *rd_table;\n\tconst struct regmap_access_table *volatile_table;\n\tconst struct regmap_access_table *precious_table;\n\tconst struct regmap_access_table *wr_noinc_table;\n\tconst struct regmap_access_table *rd_noinc_table;\n\tint (*reg_read)(void *, unsigned int, unsigned int *);\n\tint (*reg_write)(void *, unsigned int, unsigned int);\n\tint (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\tint (*read)(void *, const void *, size_t, void *, size_t);\n\tint (*write)(void *, const void *, size_t);\n\tbool defer_caching;\n\tlong unsigned int read_flag_mask;\n\tlong unsigned int write_flag_mask;\n\tint reg_shift;\n\tint reg_stride;\n\tint reg_stride_order;\n\tbool force_write_field;\n\tconst struct regcache_ops *cache_ops;\n\tenum regcache_type cache_type;\n\tunsigned int cache_size_raw;\n\tunsigned int cache_word_size;\n\tunsigned int num_reg_defaults;\n\tunsigned int num_reg_defaults_raw;\n\tbool cache_only;\n\tbool cache_bypass;\n\tbool cache_free;\n\tstruct reg_default *reg_defaults;\n\tconst void *reg_defaults_raw;\n\tvoid *cache;\n\tbool cache_dirty;\n\tbool no_sync_defaults;\n\tstruct reg_sequence *patch;\n\tint patch_regs;\n\tbool use_single_read;\n\tbool use_single_write;\n\tbool can_multi_write;\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n\tstruct rb_root range_tree;\n\tvoid *selector_work_buf;\n\tstruct hwspinlock *hwlock;\n\tbool can_sleep;\n};\n\nstruct regmap_range;\n\nstruct regmap_access_table {\n\tconst struct regmap_range *yes_ranges;\n\tunsigned int n_yes_ranges;\n\tconst struct regmap_range *no_ranges;\n\tunsigned int n_no_ranges;\n};\n\nstruct regmap_async {\n\tstruct list_head list;\n\tstruct regmap *map;\n\tvoid *work_buf;\n};\n\ntypedef int (*regmap_hw_write)(void *, const void *, size_t);\n\ntypedef int (*regmap_hw_gather_write)(void *, const void *, size_t, const void *, size_t);\n\ntypedef int (*regmap_hw_async_write)(void *, const void *, size_t, const void *, size_t, struct regmap_async *);\n\ntypedef int (*regmap_hw_reg_write)(void *, unsigned int, unsigned int);\n\ntypedef int (*regmap_hw_reg_noinc_write)(void *, unsigned int, const void *, size_t);\n\ntypedef int (*regmap_hw_reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\ntypedef int (*regmap_hw_read)(void *, const void *, size_t, void *, size_t);\n\ntypedef int (*regmap_hw_reg_read)(void *, unsigned int, unsigned int *);\n\ntypedef int (*regmap_hw_reg_noinc_read)(void *, unsigned int, void *, size_t);\n\ntypedef void (*regmap_hw_free_context)(void *);\n\ntypedef struct regmap_async * (*regmap_hw_async_alloc)(void);\n\nstruct regmap_bus {\n\tbool fast_io;\n\tbool free_on_exit;\n\tregmap_hw_write write;\n\tregmap_hw_gather_write gather_write;\n\tregmap_hw_async_write async_write;\n\tregmap_hw_reg_write reg_write;\n\tregmap_hw_reg_noinc_write reg_noinc_write;\n\tregmap_hw_reg_update_bits reg_update_bits;\n\tregmap_hw_read read;\n\tregmap_hw_reg_read reg_read;\n\tregmap_hw_reg_noinc_read reg_noinc_read;\n\tregmap_hw_free_context free_context;\n\tregmap_hw_async_alloc async_alloc;\n\tu8 read_flag_mask;\n\tenum regmap_endian reg_format_endian_default;\n\tenum regmap_endian val_format_endian_default;\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n};\n\nstruct regmap_range_cfg;\n\nstruct regmap_config {\n\tconst char *name;\n\tint reg_bits;\n\tint reg_stride;\n\tint reg_shift;\n\tunsigned int reg_base;\n\tint pad_bits;\n\tint val_bits;\n\tbool (*writeable_reg)(struct device *, unsigned int);\n\tbool (*readable_reg)(struct device *, unsigned int);\n\tbool (*volatile_reg)(struct device *, unsigned int);\n\tbool (*precious_reg)(struct device *, unsigned int);\n\tbool (*writeable_noinc_reg)(struct device *, unsigned int);\n\tbool (*readable_noinc_reg)(struct device *, unsigned int);\n\tint (*reg_read)(void *, unsigned int, unsigned int *);\n\tint (*reg_write)(void *, unsigned int, unsigned int);\n\tint (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\tint (*read)(void *, const void *, size_t, void *, size_t);\n\tint (*write)(void *, const void *, size_t);\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n\tbool can_sleep;\n\tbool fast_io;\n\tbool io_port;\n\tbool disable_locking;\n\tregmap_lock lock;\n\tregmap_unlock unlock;\n\tvoid *lock_arg;\n\tunsigned int max_register;\n\tbool max_register_is_0;\n\tconst struct regmap_access_table *wr_table;\n\tconst struct regmap_access_table *rd_table;\n\tconst struct regmap_access_table *volatile_table;\n\tconst struct regmap_access_table *precious_table;\n\tconst struct regmap_access_table *wr_noinc_table;\n\tconst struct regmap_access_table *rd_noinc_table;\n\tconst struct reg_default *reg_defaults;\n\tunsigned int num_reg_defaults;\n\tenum regcache_type cache_type;\n\tconst void *reg_defaults_raw;\n\tunsigned int num_reg_defaults_raw;\n\tlong unsigned int read_flag_mask;\n\tlong unsigned int write_flag_mask;\n\tbool zero_flag_mask;\n\tbool use_single_read;\n\tbool use_single_write;\n\tbool use_relaxed_mmio;\n\tbool can_multi_write;\n\tbool use_hwlock;\n\tbool use_raw_spinlock;\n\tunsigned int hwlock_id;\n\tunsigned int hwlock_mode;\n\tenum regmap_endian reg_format_endian;\n\tenum regmap_endian val_format_endian;\n\tconst struct regmap_range_cfg *ranges;\n\tunsigned int num_ranges;\n};\n\nstruct regmap_debugfs_node {\n\tstruct regmap *map;\n\tstruct list_head link;\n};\n\nstruct regmap_debugfs_off_cache {\n\tstruct list_head list;\n\toff_t min;\n\toff_t max;\n\tunsigned int base_reg;\n\tunsigned int max_reg;\n};\n\nstruct regmap_field {\n\tstruct regmap *regmap;\n\tunsigned int mask;\n\tunsigned int shift;\n\tunsigned int reg;\n\tunsigned int id_size;\n\tunsigned int id_offset;\n};\n\nstruct regmap_range {\n\tunsigned int range_min;\n\tunsigned int range_max;\n};\n\nstruct regmap_range_cfg {\n\tconst char *name;\n\tunsigned int range_min;\n\tunsigned int range_max;\n\tunsigned int selector_reg;\n\tunsigned int selector_mask;\n\tint selector_shift;\n\tunsigned int window_start;\n\tunsigned int window_len;\n};\n\nstruct regmap_range_node {\n\tstruct rb_node node;\n\tconst char *name;\n\tstruct regmap *map;\n\tunsigned int range_min;\n\tunsigned int range_max;\n\tunsigned int selector_reg;\n\tunsigned int selector_mask;\n\tint selector_shift;\n\tunsigned int window_start;\n\tunsigned int window_len;\n};\n\ntypedef int (*remote_function_f)(void *);\n\nstruct remote_function_call {\n\tstruct task_struct *p;\n\tremote_function_f func;\n\tvoid *info;\n\tint ret;\n};\n\nstruct remote_output {\n\tstruct perf_buffer *rb;\n\tint err;\n};\n\nstruct renamedata {\n\tstruct mnt_idmap *old_mnt_idmap;\n\tstruct inode *old_dir;\n\tstruct dentry *old_dentry;\n\tstruct mnt_idmap *new_mnt_idmap;\n\tstruct inode *new_dir;\n\tstruct dentry *new_dentry;\n\tstruct inode **delegated_inode;\n\tunsigned int flags;\n};\n\nstruct req {\n\tstruct req *next;\n\tstruct completion done;\n\tint err;\n\tconst char *name;\n\tumode_t mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct device *dev;\n};\n\nstruct req_iterator {\n\tstruct bvec_iter iter;\n\tstruct bio *bio;\n};\n\ntypedef enum rq_end_io_ret rq_end_io_fn(struct request *, blk_status_t);\n\nstruct request {\n\tstruct request_queue *q;\n\tstruct blk_mq_ctx *mq_ctx;\n\tstruct blk_mq_hw_ctx *mq_hctx;\n\tblk_opf_t cmd_flags;\n\treq_flags_t rq_flags;\n\tint tag;\n\tint internal_tag;\n\tunsigned int timeout;\n\tunsigned int __data_len;\n\tsector_t __sector;\n\tstruct bio *bio;\n\tstruct bio *biotail;\n\tunion {\n\t\tstruct list_head queuelist;\n\t\tstruct request *rq_next;\n\t};\n\tstruct block_device *part;\n\tu64 start_time_ns;\n\tu64 io_start_time_ns;\n\tshort unsigned int stats_sectors;\n\tshort unsigned int nr_phys_segments;\n\tshort unsigned int nr_integrity_segments;\n\tenum mq_rq_state state;\n\tatomic_t ref;\n\tlong unsigned int deadline;\n\tunion {\n\t\tstruct hlist_node hash;\n\t\tstruct llist_node ipi_list;\n\t};\n\tunion {\n\t\tstruct rb_node rb_node;\n\t\tstruct bio_vec special_vec;\n\t};\n\tstruct {\n\t\tstruct io_cq *icq;\n\t\tvoid *priv[2];\n\t} elv;\n\tstruct {\n\t\tunsigned int seq;\n\t\trq_end_io_fn *saved_end_io;\n\t} flush;\n\tu64 fifo_time;\n\trq_end_io_fn *end_io;\n\tvoid *end_io_data;\n};\n\nstruct request_key_auth {\n\tstruct callback_head rcu;\n\tstruct key *target_key;\n\tstruct key *dest_keyring;\n\tconst struct cred *cred;\n\tvoid *callout_info;\n\tsize_t callout_len;\n\tpid_t pid;\n\tchar op[8];\n};\n\nstruct rq_qos;\n\nstruct request_queue {\n\tvoid *queuedata;\n\tstruct elevator_queue *elevator;\n\tconst struct blk_mq_ops *mq_ops;\n\tstruct blk_mq_ctx *queue_ctx;\n\tlong unsigned int queue_flags;\n\tunsigned int rq_timeout;\n\tunsigned int queue_depth;\n\trefcount_t refs;\n\tunsigned int nr_hw_queues;\n\tstruct xarray hctx_table;\n\tstruct percpu_ref q_usage_counter;\n\tstruct lock_class_key io_lock_cls_key;\n\tstruct lockdep_map io_lockdep_map;\n\tstruct lock_class_key q_lock_cls_key;\n\tstruct lockdep_map q_lockdep_map;\n\tstruct request *last_merge;\n\tspinlock_t queue_lock;\n\tint quiesce_depth;\n\tstruct gendisk *disk;\n\tstruct kobject *mq_kobj;\n\tstruct queue_limits limits;\n\tstruct device *dev;\n\tenum rpm_status rpm_status;\n\tatomic_t pm_only;\n\tstruct blk_queue_stats *stats;\n\tstruct rq_qos *rq_qos;\n\tstruct mutex rq_qos_mutex;\n\tint id;\n\tlong unsigned int nr_requests;\n\tstruct timer_list timeout;\n\tstruct work_struct timeout_work;\n\tatomic_t nr_active_requests_shared_tags;\n\tstruct blk_mq_tags *sched_shared_tags;\n\tstruct list_head icq_list;\n\tlong unsigned int blkcg_pols[1];\n\tstruct blkcg_gq *root_blkg;\n\tstruct list_head blkg_list;\n\tstruct mutex blkcg_mutex;\n\tint node;\n\tspinlock_t requeue_lock;\n\tstruct list_head requeue_list;\n\tstruct delayed_work requeue_work;\n\tstruct blk_trace *blk_trace;\n\tstruct blk_flush_queue *fq;\n\tstruct list_head flush_list;\n\tstruct mutex sysfs_lock;\n\tstruct mutex limits_lock;\n\tstruct list_head unused_hctx_list;\n\tspinlock_t unused_hctx_lock;\n\tint mq_freeze_depth;\n\tstruct callback_head callback_head;\n\twait_queue_head_t mq_freeze_wq;\n\tstruct mutex mq_freeze_lock;\n\tstruct blk_mq_tag_set *tag_set;\n\tstruct list_head tag_set_list;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *sched_debugfs_dir;\n\tstruct dentry *rqos_debugfs_dir;\n\tstruct mutex debugfs_mutex;\n};\n\nstruct request_sense {\n\t__u8 error_code: 7;\n\t__u8 valid: 1;\n\t__u8 segment_number;\n\t__u8 sense_key: 4;\n\t__u8 reserved2: 1;\n\t__u8 ili: 1;\n\t__u8 reserved1: 2;\n\t__u8 information[4];\n\t__u8 add_sense_len;\n\t__u8 command_info[4];\n\t__u8 asc;\n\t__u8 ascq;\n\t__u8 fruc;\n\t__u8 sks[3];\n\t__u8 asb[46];\n};\n\nstruct request_sock__safe_rcu_or_null {\n\tstruct sock *sk;\n};\n\nstruct request_sock_ops {\n\tint family;\n\tunsigned int obj_size;\n\tstruct kmem_cache *slab;\n\tchar *slab_name;\n\tint (*rtx_syn_ack)(const struct sock *, struct request_sock *);\n\tvoid (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *);\n\tvoid (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason);\n\tvoid (*destructor)(struct request_sock *);\n\tvoid (*syn_ack_timeout)(const struct request_sock *);\n};\n\nstruct reserve_mem_table {\n\tchar name[16];\n\tphys_addr_t start;\n\tphys_addr_t size;\n};\n\nstruct reserved_mem_ops;\n\nstruct reserved_mem {\n\tconst char *name;\n\tlong unsigned int fdt_node;\n\tconst struct reserved_mem_ops *ops;\n\tphys_addr_t base;\n\tphys_addr_t size;\n\tvoid *priv;\n};\n\nstruct reserved_mem_ops {\n\tint (*device_init)(struct reserved_mem *, struct device *);\n\tvoid (*device_release)(struct reserved_mem *, struct device *);\n};\n\ntypedef resource_size_t (*resource_alignf)(void *, const struct resource *, resource_size_t, resource_size_t);\n\nstruct resource_constraint {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_alignf alignf;\n\tvoid *alignf_data;\n};\n\nstruct resource_entry {\n\tstruct list_head node;\n\tstruct resource *res;\n\tresource_size_t offset;\n\tstruct resource __res;\n};\n\nstruct restart_block {\n\tlong unsigned int arch_data;\n\tlong int (*fn)(struct restart_block *);\n\tunion {\n\t\tstruct {\n\t\t\tu32 *uaddr;\n\t\t\tu32 val;\n\t\t\tu32 flags;\n\t\t\tu32 bitset;\n\t\t\tu64 time;\n\t\t\tu32 *uaddr2;\n\t\t} futex;\n\t\tstruct {\n\t\t\tclockid_t clockid;\n\t\t\tenum timespec_type type;\n\t\t\tunion {\n\t\t\t\tstruct __kernel_timespec *rmtp;\n\t\t\t\tstruct old_timespec32 *compat_rmtp;\n\t\t\t};\n\t\t\tu64 expires;\n\t\t} nanosleep;\n\t\tstruct {\n\t\t\tstruct pollfd *ufds;\n\t\t\tint nfds;\n\t\t\tint has_timeout;\n\t\t\tlong unsigned int tv_sec;\n\t\t\tlong unsigned int tv_nsec;\n\t\t} poll;\n\t};\n};\n\nstruct restart_table_entry {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int fixup;\n};\n\nstruct resv_map {\n\tstruct kref refs;\n\tspinlock_t lock;\n\tstruct list_head regions;\n\tlong int adds_in_progress;\n\tstruct list_head region_cache;\n\tlong int region_cache_count;\n\tstruct rw_semaphore rw_sema;\n\tstruct page_counter *reservation_counter;\n\tlong unsigned int pages_per_hpage;\n\tstruct cgroup_subsys_state *css;\n};\n\nstruct resync_pages {\n\tvoid *raid_bio;\n\tstruct page *pages[1];\n};\n\nstruct rethook {\n\tvoid *data;\n\tvoid (*handler)(struct rethook_node *, void *, long unsigned int, struct pt_regs *);\n\tstruct objpool_head pool;\n\tstruct callback_head rcu;\n};\n\nstruct return_consumer {\n\t__u64 cookie;\n\t__u64 id;\n};\n\nstruct return_instance {\n\tstruct hprobe hprobe;\n\tlong unsigned int func;\n\tlong unsigned int stack;\n\tlong unsigned int orig_ret_vaddr;\n\tbool chained;\n\tint cons_cnt;\n\tstruct return_instance *next;\n\tstruct callback_head rcu;\n\tstruct return_consumer consumer;\n\tstruct return_consumer *extra_consumers;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct reuseport_array {\n\tstruct bpf_map map;\n\tstruct sock *ptrs[0];\n};\n\nstruct revmap_entry {\n\tlong unsigned int guest_rpte;\n\tunsigned int forw;\n\tunsigned int back;\n};\n\nstruct rgb {\n\tu8 r;\n\tu8 g;\n\tu8 b;\n};\n\nstruct rhash_lock_head {};\n\nstruct rhashtable_compare_arg {\n\tstruct rhashtable *ht;\n\tconst void *key;\n};\n\nstruct rhltable {\n\tstruct rhashtable ht;\n};\n\nstruct ring_buffer_event {\n\tu32 type_len: 5;\n\tu32 time_delta: 27;\n\tu32 array[0];\n};\n\nstruct ring_buffer_per_cpu;\n\nstruct ring_buffer_iter {\n\tstruct ring_buffer_per_cpu *cpu_buffer;\n\tlong unsigned int head;\n\tlong unsigned int next_event;\n\tstruct buffer_page *head_page;\n\tstruct buffer_page *cache_reader_page;\n\tlong unsigned int cache_read;\n\tlong unsigned int cache_pages_removed;\n\tu64 read_stamp;\n\tu64 page_stamp;\n\tstruct ring_buffer_event *event;\n\tsize_t event_size;\n\tint missed_events;\n};\n\nstruct ring_buffer_meta {\n\tint magic;\n\tint struct_size;\n\tlong unsigned int text_addr;\n\tlong unsigned int data_addr;\n\tlong unsigned int first_buffer;\n\tlong unsigned int head_buffer;\n\tlong unsigned int commit_buffer;\n\t__u32 subbuf_size;\n\t__u32 nr_subbufs;\n\tint buffers[0];\n};\n\nstruct trace_buffer_meta;\n\nstruct ring_buffer_per_cpu {\n\tint cpu;\n\tatomic_t record_disabled;\n\tatomic_t resize_disabled;\n\tstruct trace_buffer *buffer;\n\traw_spinlock_t reader_lock;\n\tarch_spinlock_t lock;\n\tstruct lock_class_key lock_key;\n\tstruct buffer_data_page *free_page;\n\tlong unsigned int nr_pages;\n\tunsigned int current_context;\n\tstruct list_head *pages;\n\tlong unsigned int cnt;\n\tstruct buffer_page *head_page;\n\tstruct buffer_page *tail_page;\n\tstruct buffer_page *commit_page;\n\tstruct buffer_page *reader_page;\n\tlong unsigned int lost_events;\n\tlong unsigned int last_overrun;\n\tlong unsigned int nest;\n\tlocal_t entries_bytes;\n\tlocal_t entries;\n\tlocal_t overrun;\n\tlocal_t commit_overrun;\n\tlocal_t dropped_events;\n\tlocal_t committing;\n\tlocal_t commits;\n\tlocal_t pages_touched;\n\tlocal_t pages_lost;\n\tlocal_t pages_read;\n\tlong int last_pages_touch;\n\tsize_t shortest_full;\n\tlong unsigned int read;\n\tlong unsigned int read_bytes;\n\trb_time_t write_stamp;\n\trb_time_t before_stamp;\n\tu64 event_stamp[5];\n\tu64 read_stamp;\n\tlong unsigned int pages_removed;\n\tunsigned int mapped;\n\tunsigned int user_mapped;\n\tstruct mutex mapping_lock;\n\tlong unsigned int *subbuf_ids;\n\tstruct trace_buffer_meta *meta_page;\n\tstruct ring_buffer_meta *ring_meta;\n\tlong int nr_pages_to_update;\n\tstruct list_head new_pages;\n\tstruct work_struct update_pages_work;\n\tstruct completion update_done;\n\tstruct rb_irq_work irq_work;\n};\n\nstruct ring_info {\n\tu8 *data;\n\tdma_addr_t mapping;\n};\n\nstruct rings_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_ringparam ringparam;\n\tstruct kernel_ethtool_ringparam kernel_ringparam;\n\tu32 supported_ring_params;\n};\n\nstruct rlimit64 {\n\t__u64 rlim_cur;\n\t__u64 rlim_max;\n};\n\nstruct rmap_walk_arg {\n\tstruct folio *folio;\n\tbool map_unused_to_zeropage;\n};\n\nstruct rmap_walk_control {\n\tvoid *arg;\n\tbool try_lock;\n\tbool contended;\n\tbool (*rmap_one)(struct folio *, struct vm_area_struct *, long unsigned int, void *);\n\tint (*done)(struct folio *);\n\tstruct anon_vma * (*anon_lock)(const struct folio *, struct rmap_walk_control *);\n\tbool (*invalid_vma)(struct vm_area_struct *, void *);\n};\n\nstruct rmem_assigned_device {\n\tstruct device *dev;\n\tstruct reserved_mem *rmem;\n\tstruct list_head list;\n};\n\nstruct rmi_2d_axis_alignment {\n\tbool swap_axes;\n\tbool flip_x;\n\tbool flip_y;\n\tu16 clip_x_low;\n\tu16 clip_y_low;\n\tu16 clip_x_high;\n\tu16 clip_y_high;\n\tu16 offset_x;\n\tu16 offset_y;\n\tu8 delta_x_threshold;\n\tu8 delta_y_threshold;\n};\n\nstruct rmi_2d_sensor_platform_data {\n\tstruct rmi_2d_axis_alignment axis_align;\n\tenum rmi_sensor_type sensor_type;\n\tint x_mm;\n\tint y_mm;\n\tint disable_report_mask;\n\tu16 rezero_wait;\n\tbool topbuttonpad;\n\tbool kernel_tracking;\n\tint dmax;\n\tint dribble;\n\tint palm_detect;\n};\n\nstruct rmi_device_platform_data_spi {\n\tu32 block_delay_us;\n\tu32 split_read_block_delay_us;\n\tu32 read_delay_us;\n\tu32 write_delay_us;\n\tu32 split_read_byte_delay_us;\n\tu32 pre_delay_us;\n\tu32 post_delay_us;\n\tu8 bits_per_word;\n\tu16 mode;\n\tvoid *cs_assert_data;\n\tint (*cs_assert)(const void *, const bool);\n};\n\nstruct rmi_f01_power_management {\n\tenum rmi_reg_state nosleep;\n\tu8 wakeup_threshold;\n\tu8 doze_holdoff;\n\tu8 doze_interval;\n};\n\nstruct rmi_gpio_data {\n\tbool buttonpad;\n\tbool trackstick_buttons;\n\tbool disable;\n};\n\nstruct rmi_device_platform_data {\n\tint reset_delay_ms;\n\tint irq;\n\tstruct rmi_device_platform_data_spi spi_data;\n\tstruct rmi_2d_sensor_platform_data sensor_pdata;\n\tstruct rmi_f01_power_management power_management;\n\tstruct rmi_gpio_data gpio_data;\n};\n\nstruct rnd_state {\n\t__u32 s1;\n\t__u32 s2;\n\t__u32 s3;\n\t__u32 s4;\n};\n\nstruct rng_alg {\n\tint (*generate)(struct crypto_rng *, const u8 *, unsigned int, u8 *, unsigned int);\n\tint (*seed)(struct crypto_rng *, const u8 *, unsigned int);\n\tvoid (*set_ent)(struct crypto_rng *, const u8 *, unsigned int);\n\tunsigned int seedsize;\n\tstruct crypto_alg base;\n};\n\nstruct robust_list {\n\tstruct robust_list *next;\n};\n\nstruct robust_list_head {\n\tstruct robust_list list;\n\tlong int futex_offset;\n\tstruct robust_list *list_op_pending;\n};\n\nstruct rock_ridge {\n\t__u8 signature[2];\n\t__u8 len;\n\t__u8 version;\n\tunion {\n\t\tstruct SU_SP_s SP;\n\t\tstruct SU_CE_s CE;\n\t\tstruct SU_ER_s ER;\n\t\tstruct RR_RR_s RR;\n\t\tstruct RR_PX_s PX;\n\t\tstruct RR_PN_s PN;\n\t\tstruct RR_SL_s SL;\n\t\tstruct RR_NM_s NM;\n\t\tstruct RR_CL_s CL;\n\t\tstruct RR_PL_s PL;\n\t\tstruct RR_TF_s TF;\n\t\tstruct RR_ZF_s ZF;\n\t} u;\n};\n\nstruct rock_state {\n\tvoid *buffer;\n\tunsigned char *chr;\n\tint len;\n\tint cont_size;\n\tint cont_extent;\n\tint cont_offset;\n\tint cont_loops;\n\tstruct inode *inode;\n};\n\nstruct role_allow {\n\tu32 role;\n\tu32 new_role;\n\tstruct role_allow *next;\n};\n\nstruct role_datum {\n\tu32 value;\n\tu32 bounds;\n\tstruct ebitmap dominates;\n\tstruct ebitmap types;\n};\n\nstruct role_trans_datum {\n\tu32 new_role;\n};\n\nstruct role_trans_key {\n\tu32 role;\n\tu32 type;\n\tu32 tclass;\n};\n\nstruct romfs_super_block {\n\t__be32 word0;\n\t__be32 word1;\n\t__be32 size;\n\t__be32 checksum;\n\tchar name[0];\n};\n\nstruct root_device {\n\tstruct device dev;\n\tstruct module *owner;\n};\n\nstruct root_domain {\n\tatomic_t refcount;\n\tatomic_t rto_count;\n\tstruct callback_head rcu;\n\tcpumask_var_t span;\n\tcpumask_var_t online;\n\tbool overloaded;\n\tbool overutilized;\n\tcpumask_var_t dlo_mask;\n\tatomic_t dlo_count;\n\tstruct dl_bw dl_bw;\n\tstruct cpudl cpudl;\n\tu64 visit_gen;\n\tstruct irq_work rto_push_work;\n\traw_spinlock_t rto_lock;\n\tint rto_loop;\n\tint rto_cpu;\n\tatomic_t rto_loop_next;\n\tatomic_t rto_loop_start;\n\tcpumask_var_t rto_mask;\n\tstruct cpupri cpupri;\n\tstruct perf_domain *pd;\n};\n\nstruct rpc_add_xprt_test {\n\tvoid (*add_xprt_test)(struct rpc_clnt *, struct rpc_xprt *, void *);\n\tvoid *data;\n};\n\nstruct rpc_auth_create_args {\n\trpc_authflavor_t pseudoflavor;\n\tconst char *target_name;\n};\n\nstruct rpc_authops {\n\tstruct module *owner;\n\trpc_authflavor_t au_flavor;\n\tchar *au_name;\n\tstruct rpc_auth * (*create)(const struct rpc_auth_create_args *, struct rpc_clnt *);\n\tvoid (*destroy)(struct rpc_auth *);\n\tint (*hash_cred)(struct auth_cred *, unsigned int);\n\tstruct rpc_cred * (*lookup_cred)(struct rpc_auth *, struct auth_cred *, int);\n\tstruct rpc_cred * (*crcreate)(struct rpc_auth *, struct auth_cred *, int, gfp_t);\n\trpc_authflavor_t (*info2flavor)(struct rpcsec_gss_info *);\n\tint (*flavor2info)(rpc_authflavor_t, struct rpcsec_gss_info *);\n\tint (*key_timeout)(struct rpc_auth *, struct rpc_cred *);\n\tint (*ping)(struct rpc_clnt *);\n};\n\nstruct rpc_buffer {\n\tsize_t len;\n\tchar data[0];\n};\n\nstruct rpc_call_ops {\n\tvoid (*rpc_call_prepare)(struct rpc_task *, void *);\n\tvoid (*rpc_call_done)(struct rpc_task *, void *);\n\tvoid (*rpc_count_stats)(struct rpc_task *, void *);\n\tvoid (*rpc_release)(void *);\n};\n\nstruct rpc_xprt_switch;\n\nstruct rpc_cb_add_xprt_calldata {\n\tstruct rpc_xprt_switch *xps;\n\tstruct rpc_xprt *xprt;\n};\n\nstruct rpc_pipe_dir_head {\n\tstruct list_head pdh_entries;\n\tstruct dentry *pdh_dentry;\n};\n\nstruct rpc_rtt {\n\tlong unsigned int timeo;\n\tlong unsigned int srtt[5];\n\tlong unsigned int sdrtt[5];\n\tint ntimeouts[5];\n};\n\nstruct rpc_timeout {\n\tlong unsigned int to_initval;\n\tlong unsigned int to_maxval;\n\tlong unsigned int to_increment;\n\tunsigned int to_retries;\n\tunsigned char to_exponential;\n};\n\nstruct rpc_xprt_iter_ops;\n\nstruct rpc_xprt_iter {\n\tstruct rpc_xprt_switch *xpi_xpswitch;\n\tstruct rpc_xprt *xpi_cursor;\n\tconst struct rpc_xprt_iter_ops *xpi_ops;\n};\n\nstruct rpc_iostats;\n\nstruct rpc_sysfs_client;\n\nstruct rpc_clnt {\n\trefcount_t cl_count;\n\tunsigned int cl_clid;\n\tstruct list_head cl_clients;\n\tstruct list_head cl_tasks;\n\tatomic_t cl_pid;\n\tspinlock_t cl_lock;\n\tstruct rpc_xprt *cl_xprt;\n\tconst struct rpc_procinfo *cl_procinfo;\n\tu32 cl_prog;\n\tu32 cl_vers;\n\tu32 cl_maxproc;\n\tstruct rpc_auth *cl_auth;\n\tstruct rpc_stat *cl_stats;\n\tstruct rpc_iostats *cl_metrics;\n\tunsigned int cl_softrtry: 1;\n\tunsigned int cl_softerr: 1;\n\tunsigned int cl_discrtry: 1;\n\tunsigned int cl_noretranstimeo: 1;\n\tunsigned int cl_autobind: 1;\n\tunsigned int cl_chatty: 1;\n\tunsigned int cl_shutdown: 1;\n\tstruct xprtsec_parms cl_xprtsec;\n\tstruct rpc_rtt *cl_rtt;\n\tconst struct rpc_timeout *cl_timeout;\n\tatomic_t cl_swapper;\n\tint cl_nodelen;\n\tchar cl_nodename[65];\n\tstruct rpc_pipe_dir_head cl_pipedir_objects;\n\tstruct rpc_clnt *cl_parent;\n\tstruct rpc_rtt cl_rtt_default;\n\tstruct rpc_timeout cl_timeout_default;\n\tconst struct rpc_program *cl_program;\n\tconst char *cl_principal;\n\tstruct rpc_sysfs_client *cl_sysfs;\n\tunion {\n\t\tstruct rpc_xprt_iter cl_xpi;\n\t\tstruct work_struct cl_work;\n\t};\n\tconst struct cred *cl_cred;\n\tunsigned int cl_max_connect;\n\tstruct super_block *pipefs_sb;\n\tatomic_t cl_task_count;\n};\n\nstruct svc_xprt;\n\nstruct rpc_create_args {\n\tstruct net *net;\n\tint protocol;\n\tstruct sockaddr *address;\n\tsize_t addrsize;\n\tstruct sockaddr *saddress;\n\tconst struct rpc_timeout *timeout;\n\tconst char *servername;\n\tconst char *nodename;\n\tconst struct rpc_program *program;\n\tstruct rpc_stat *stats;\n\tu32 prognumber;\n\tu32 version;\n\trpc_authflavor_t authflavor;\n\tu32 nconnect;\n\tlong unsigned int flags;\n\tchar *client_name;\n\tstruct svc_xprt *bc_xprt;\n\tconst struct cred *cred;\n\tunsigned int max_connect;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct rpc_cred_cache {\n\tstruct hlist_head *hashtable;\n\tunsigned int hashbits;\n\tspinlock_t lock;\n};\n\nstruct rpc_credops {\n\tconst char *cr_name;\n\tint (*cr_init)(struct rpc_auth *, struct rpc_cred *);\n\tvoid (*crdestroy)(struct rpc_cred *);\n\tint (*crmatch)(struct auth_cred *, struct rpc_cred *, int);\n\tint (*crmarshal)(struct rpc_task *, struct xdr_stream *);\n\tint (*crrefresh)(struct rpc_task *);\n\tint (*crvalidate)(struct rpc_task *, struct xdr_stream *);\n\tint (*crwrap_req)(struct rpc_task *, struct xdr_stream *);\n\tint (*crunwrap_resp)(struct rpc_task *, struct xdr_stream *);\n\tint (*crkey_timeout)(struct rpc_cred *);\n\tchar * (*crstringify_acceptor)(struct rpc_cred *);\n\tbool (*crneed_reencode)(struct rpc_task *);\n};\n\nstruct rpc_filelist {\n\tconst char *name;\n\tconst struct file_operations *i_fop;\n\tumode_t mode;\n};\n\nstruct rpc_inode {\n\tstruct inode vfs_inode;\n\tvoid *private;\n\tstruct rpc_pipe *pipe;\n\twait_queue_head_t waitq;\n};\n\nstruct rpc_iostats {\n\tspinlock_t om_lock;\n\tlong unsigned int om_ops;\n\tlong unsigned int om_ntrans;\n\tlong unsigned int om_timeouts;\n\tlong long unsigned int om_bytes_sent;\n\tlong long unsigned int om_bytes_recv;\n\tktime_t om_queue;\n\tktime_t om_rtt;\n\tktime_t om_execute;\n\tlong unsigned int om_error_status;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rpc_pipe {\n\tstruct list_head pipe;\n\tstruct list_head in_upcall;\n\tstruct list_head in_downcall;\n\tint pipelen;\n\tint nreaders;\n\tint nwriters;\n\tint flags;\n\tstruct delayed_work queue_timeout;\n\tconst struct rpc_pipe_ops *ops;\n\tspinlock_t lock;\n\tstruct dentry *dentry;\n};\n\nstruct rpc_pipe_dir_object_ops {\n\tint (*create)(struct dentry *, struct rpc_pipe_dir_object *);\n\tvoid (*destroy)(struct dentry *, struct rpc_pipe_dir_object *);\n};\n\nstruct rpc_pipe_ops {\n\tssize_t (*upcall)(struct file *, struct rpc_pipe_msg *, char *, size_t);\n\tssize_t (*downcall)(struct file *, const char *, size_t);\n\tvoid (*release_pipe)(struct inode *);\n\tint (*open_pipe)(struct inode *);\n\tvoid (*destroy_msg)(struct rpc_pipe_msg *);\n};\n\ntypedef void (*kxdreproc_t)(struct rpc_rqst *, struct xdr_stream *, const void *);\n\ntypedef int (*kxdrdproc_t)(struct rpc_rqst *, struct xdr_stream *, void *);\n\nstruct rpc_procinfo {\n\tu32 p_proc;\n\tkxdreproc_t p_encode;\n\tkxdrdproc_t p_decode;\n\tunsigned int p_arglen;\n\tunsigned int p_replen;\n\tunsigned int p_timer;\n\tu32 p_statidx;\n\tconst char *p_name;\n};\n\nstruct rpc_program {\n\tconst char *name;\n\tu32 number;\n\tunsigned int nrvers;\n\tconst struct rpc_version **version;\n\tstruct rpc_stat *stats;\n\tconst char *pipe_dir_name;\n};\n\nstruct xdr_buf {\n\tstruct kvec head[1];\n\tstruct kvec tail[1];\n\tstruct bio_vec *bvec;\n\tstruct page **pages;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int flags;\n\tunsigned int buflen;\n\tunsigned int len;\n};\n\nstruct rpc_rqst {\n\tstruct rpc_xprt *rq_xprt;\n\tstruct xdr_buf rq_snd_buf;\n\tstruct xdr_buf rq_rcv_buf;\n\tstruct rpc_task *rq_task;\n\tstruct rpc_cred *rq_cred;\n\t__be32 rq_xid;\n\tint rq_cong;\n\tu32 rq_seqno;\n\tint rq_enc_pages_num;\n\tstruct page **rq_enc_pages;\n\tvoid (*rq_release_snd_buf)(struct rpc_rqst *);\n\tunion {\n\t\tstruct list_head rq_list;\n\t\tstruct rb_node rq_recv;\n\t};\n\tstruct list_head rq_xmit;\n\tstruct list_head rq_xmit2;\n\tvoid *rq_buffer;\n\tsize_t rq_callsize;\n\tvoid *rq_rbuffer;\n\tsize_t rq_rcvsize;\n\tsize_t rq_xmit_bytes_sent;\n\tsize_t rq_reply_bytes_recvd;\n\tstruct xdr_buf rq_private_buf;\n\tlong unsigned int rq_majortimeo;\n\tlong unsigned int rq_minortimeo;\n\tlong unsigned int rq_timeout;\n\tktime_t rq_rtt;\n\tunsigned int rq_retries;\n\tunsigned int rq_connect_cookie;\n\tatomic_t rq_pin;\n\tu32 rq_bytes_sent;\n\tktime_t rq_xtime;\n\tint rq_ntrans;\n};\n\nstruct rpc_sysfs_client {\n\tstruct kobject kobject;\n\tstruct net *net;\n\tstruct rpc_clnt *clnt;\n\tstruct rpc_xprt_switch *xprt_switch;\n};\n\nstruct rpc_sysfs_xprt {\n\tstruct kobject kobject;\n\tstruct rpc_xprt *xprt;\n\tstruct rpc_xprt_switch *xprt_switch;\n};\n\nstruct rpc_sysfs_xprt_switch {\n\tstruct kobject kobject;\n\tstruct net *net;\n\tstruct rpc_xprt_switch *xprt_switch;\n\tstruct rpc_xprt *xprt;\n};\n\nstruct rpc_task_setup {\n\tstruct rpc_task *task;\n\tstruct rpc_clnt *rpc_client;\n\tstruct rpc_xprt *rpc_xprt;\n\tstruct rpc_cred *rpc_op_cred;\n\tconst struct rpc_message *rpc_message;\n\tconst struct rpc_call_ops *callback_ops;\n\tvoid *callback_data;\n\tstruct workqueue_struct *workqueue;\n\tshort unsigned int flags;\n\tsigned char priority;\n};\n\nstruct rpc_version {\n\tu32 number;\n\tunsigned int nrprocs;\n\tconst struct rpc_procinfo *procs;\n\tunsigned int *counts;\n};\n\nstruct rpc_xprt_ops;\n\nstruct xprt_class;\n\nstruct rpc_xprt {\n\tstruct kref kref;\n\tconst struct rpc_xprt_ops *ops;\n\tunsigned int id;\n\tconst struct rpc_timeout *timeout;\n\tstruct __kernel_sockaddr_storage addr;\n\tsize_t addrlen;\n\tint prot;\n\tlong unsigned int cong;\n\tlong unsigned int cwnd;\n\tsize_t max_payload;\n\tstruct rpc_wait_queue binding;\n\tstruct rpc_wait_queue sending;\n\tstruct rpc_wait_queue pending;\n\tstruct rpc_wait_queue backlog;\n\tstruct list_head free;\n\tunsigned int max_reqs;\n\tunsigned int min_reqs;\n\tunsigned int num_reqs;\n\tlong unsigned int state;\n\tunsigned char resvport: 1;\n\tunsigned char reuseport: 1;\n\tatomic_t swapper;\n\tunsigned int bind_index;\n\tstruct list_head xprt_switch;\n\tlong unsigned int bind_timeout;\n\tlong unsigned int reestablish_timeout;\n\tstruct xprtsec_parms xprtsec;\n\tunsigned int connect_cookie;\n\tstruct work_struct task_cleanup;\n\tstruct timer_list timer;\n\tlong unsigned int last_used;\n\tlong unsigned int idle_timeout;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int max_reconnect_timeout;\n\tatomic_long_t queuelen;\n\tspinlock_t transport_lock;\n\tspinlock_t reserve_lock;\n\tspinlock_t queue_lock;\n\tu32 xid;\n\tstruct rpc_task *snd_task;\n\tstruct list_head xmit_queue;\n\tatomic_long_t xmit_queuelen;\n\tstruct svc_xprt *bc_xprt;\n\tstruct rb_root recv_queue;\n\tstruct {\n\t\tlong unsigned int bind_count;\n\t\tlong unsigned int connect_count;\n\t\tlong unsigned int connect_start;\n\t\tlong unsigned int connect_time;\n\t\tlong unsigned int sends;\n\t\tlong unsigned int recvs;\n\t\tlong unsigned int bad_xids;\n\t\tlong unsigned int max_slots;\n\t\tlong long unsigned int req_u;\n\t\tlong long unsigned int bklog_u;\n\t\tlong long unsigned int sending_u;\n\t\tlong long unsigned int pending_u;\n\t} stat;\n\tstruct net *xprt_net;\n\tnetns_tracker ns_tracker;\n\tconst char *servername;\n\tconst char *address_strings[6];\n\tstruct callback_head rcu;\n\tconst struct xprt_class *xprt_class;\n\tstruct rpc_sysfs_xprt *xprt_sysfs;\n\tbool main;\n};\n\nstruct rpc_xprt_iter_ops {\n\tvoid (*xpi_rewind)(struct rpc_xprt_iter *);\n\tstruct rpc_xprt * (*xpi_xprt)(struct rpc_xprt_iter *);\n\tstruct rpc_xprt * (*xpi_next)(struct rpc_xprt_iter *);\n};\n\nstruct rpc_xprt_ops {\n\tvoid (*set_buffer_size)(struct rpc_xprt *, size_t, size_t);\n\tint (*reserve_xprt)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*release_xprt)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*alloc_slot)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*free_slot)(struct rpc_xprt *, struct rpc_rqst *);\n\tvoid (*rpcbind)(struct rpc_task *);\n\tvoid (*set_port)(struct rpc_xprt *, short unsigned int);\n\tvoid (*connect)(struct rpc_xprt *, struct rpc_task *);\n\tint (*get_srcaddr)(struct rpc_xprt *, char *, size_t);\n\tshort unsigned int (*get_srcport)(struct rpc_xprt *);\n\tint (*buf_alloc)(struct rpc_task *);\n\tvoid (*buf_free)(struct rpc_task *);\n\tint (*prepare_request)(struct rpc_rqst *, struct xdr_buf *);\n\tint (*send_request)(struct rpc_rqst *);\n\tvoid (*abort_send_request)(struct rpc_rqst *);\n\tvoid (*wait_for_reply_request)(struct rpc_task *);\n\tvoid (*timer)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*release_request)(struct rpc_task *);\n\tvoid (*close)(struct rpc_xprt *);\n\tvoid (*destroy)(struct rpc_xprt *);\n\tvoid (*set_connect_timeout)(struct rpc_xprt *, long unsigned int, long unsigned int);\n\tvoid (*print_stats)(struct rpc_xprt *, struct seq_file *);\n\tint (*enable_swap)(struct rpc_xprt *);\n\tvoid (*disable_swap)(struct rpc_xprt *);\n\tvoid (*inject_disconnect)(struct rpc_xprt *);\n\tint (*bc_setup)(struct rpc_xprt *, unsigned int);\n\tsize_t (*bc_maxpayload)(struct rpc_xprt *);\n\tunsigned int (*bc_num_slots)(struct rpc_xprt *);\n\tvoid (*bc_free_rqst)(struct rpc_rqst *);\n\tvoid (*bc_destroy)(struct rpc_xprt *, unsigned int);\n};\n\nstruct rpc_xprt_switch {\n\tspinlock_t xps_lock;\n\tstruct kref xps_kref;\n\tunsigned int xps_id;\n\tunsigned int xps_nxprts;\n\tunsigned int xps_nactive;\n\tunsigned int xps_nunique_destaddr_xprts;\n\tatomic_long_t xps_queuelen;\n\tstruct list_head xps_xprt_list;\n\tstruct net *xps_net;\n\tconst struct rpc_xprt_iter_ops *xps_iter_ops;\n\tstruct rpc_sysfs_xprt_switch *xps_sysfs;\n\tstruct callback_head xps_rcu;\n};\n\nstruct rpcb_info {\n\tu32 rpc_vers;\n\tconst struct rpc_procinfo *rpc_proc;\n};\n\nstruct rpcbind_args {\n\tstruct rpc_xprt *r_xprt;\n\tu32 r_prog;\n\tu32 r_vers;\n\tu32 r_prot;\n\tshort unsigned int r_port;\n\tconst char *r_netid;\n\tconst char *r_addr;\n\tconst char *r_owner;\n\tint r_status;\n};\n\nstruct rps_dev_flow {\n\tu16 cpu;\n\tu16 filter;\n\tunsigned int last_qtail;\n};\n\nstruct rps_dev_flow_table {\n\tunsigned int mask;\n\tstruct callback_head rcu;\n\tstruct rps_dev_flow flows[0];\n};\n\nstruct rps_map {\n\tunsigned int len;\n\tstruct callback_head rcu;\n\tu16 cpus[0];\n};\n\nstruct rps_sock_flow_table {\n\tu32 mask;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 ents[0];\n};\n\nstruct rt_prio_array {\n\tlong unsigned int bitmap[2];\n\tstruct list_head queue[100];\n};\n\nstruct rt_rq {\n\tstruct rt_prio_array active;\n\tunsigned int rt_nr_running;\n\tunsigned int rr_nr_running;\n\tstruct {\n\t\tint curr;\n\t\tint next;\n\t} highest_prio;\n\tbool overloaded;\n\tstruct plist_head pushable_tasks;\n\tint rt_queued;\n};\n\nstruct sched_dl_entity;\n\ntypedef bool (*dl_server_has_tasks_f)(struct sched_dl_entity *);\n\ntypedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *);\n\nstruct sched_dl_entity {\n\tstruct rb_node rb_node;\n\tu64 dl_runtime;\n\tu64 dl_deadline;\n\tu64 dl_period;\n\tu64 dl_bw;\n\tu64 dl_density;\n\ts64 runtime;\n\tu64 deadline;\n\tunsigned int flags;\n\tunsigned int dl_throttled: 1;\n\tunsigned int dl_yielded: 1;\n\tunsigned int dl_non_contending: 1;\n\tunsigned int dl_overrun: 1;\n\tunsigned int dl_server: 1;\n\tunsigned int dl_server_active: 1;\n\tunsigned int dl_defer: 1;\n\tunsigned int dl_defer_armed: 1;\n\tunsigned int dl_defer_running: 1;\n\tstruct hrtimer dl_timer;\n\tstruct hrtimer inactive_timer;\n\tstruct rq *rq;\n\tdl_server_has_tasks_f server_has_tasks;\n\tdl_server_pick_f server_pick_task;\n\tstruct sched_dl_entity *pi_se;\n};\n\nstruct sched_info {\n\tlong unsigned int pcount;\n\tlong long unsigned int run_delay;\n\tlong long unsigned int max_run_delay;\n\tlong long unsigned int min_run_delay;\n\tlong long unsigned int last_arrival;\n\tlong long unsigned int last_queued;\n};\n\nstruct rq {\n\traw_spinlock_t __lock;\n\tunsigned int nr_running;\n\tunsigned int nr_numa_running;\n\tunsigned int nr_preferred_running;\n\tunsigned int numa_migrate_on;\n\tlong unsigned int last_blocked_load_update_tick;\n\tunsigned int has_blocked_load;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t nohz_csd;\n\tunsigned int nohz_tick_stopped;\n\tatomic_t nohz_flags;\n\tunsigned int ttwu_pending;\n\tu64 nr_switches;\n\tlong: 64;\n\tstruct cfs_rq cfs;\n\tstruct rt_rq rt;\n\tstruct dl_rq dl;\n\tstruct sched_dl_entity fair_server;\n\tstruct list_head leaf_cfs_rq_list;\n\tstruct list_head *tmp_alone_branch;\n\tunsigned int nr_uninterruptible;\n\tunion {\n\t\tstruct task_struct *donor;\n\t\tstruct task_struct *curr;\n\t};\n\tstruct sched_dl_entity *dl_server;\n\tstruct task_struct *idle;\n\tstruct task_struct *stop;\n\tlong unsigned int next_balance;\n\tstruct mm_struct *prev_mm;\n\tunsigned int clock_update_flags;\n\tu64 clock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu64 clock_task;\n\tu64 clock_pelt;\n\tlong unsigned int lost_idle_time;\n\tu64 clock_pelt_idle;\n\tu64 clock_idle;\n\tatomic_t nr_iowait;\n\tu64 last_seen_need_resched_ns;\n\tint ticks_without_resched;\n\tint membarrier_state;\n\tstruct root_domain *rd;\n\tstruct sched_domain *sd;\n\tlong unsigned int cpu_capacity;\n\tstruct balance_callback *balance_callback;\n\tunsigned char nohz_idle_balance;\n\tunsigned char idle_balance;\n\tlong unsigned int misfit_task_load;\n\tint active_balance;\n\tint push_cpu;\n\tstruct cpu_stop_work active_balance_work;\n\tint cpu;\n\tint online;\n\tstruct list_head cfs_tasks;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_avg avg_rt;\n\tstruct sched_avg avg_dl;\n\tstruct sched_avg avg_irq;\n\tu64 idle_stamp;\n\tu64 avg_idle;\n\tu64 max_idle_balance_cost;\n\tstruct rcuwait hotplug_wait;\n\tu64 prev_steal_time;\n\tu64 prev_steal_time_rq;\n\tlong unsigned int calc_load_update;\n\tlong int calc_load_active;\n\tcall_single_data_t hrtick_csd;\n\tstruct hrtimer hrtick_timer;\n\tktime_t hrtick_time;\n\tstruct sched_info rq_sched_info;\n\tlong long unsigned int rq_cpu_time;\n\tunsigned int yld_count;\n\tunsigned int sched_count;\n\tunsigned int sched_goidle;\n\tunsigned int ttwu_count;\n\tunsigned int ttwu_local;\n\tstruct cpuidle_state *idle_state;\n\tunsigned int nr_pinned;\n\tunsigned int push_busy;\n\tstruct cpu_stop_work push_work;\n\tcpumask_var_t scratch_mask;\n\tlong: 64;\n\tcall_single_data_t cfsb_csd;\n\tstruct list_head cfsb_csd_list;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rq_depth {\n\tunsigned int max_depth;\n\tint scale_step;\n\tbool scaled_max;\n\tunsigned int queue_depth;\n\tunsigned int default_depth;\n};\n\nstruct rq_iter_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tbool has_rq;\n};\n\nstruct rq_map_data {\n\tstruct page **pages;\n\tlong unsigned int offset;\n\tshort unsigned int page_order;\n\tshort unsigned int nr_entries;\n\tbool null_mapped;\n\tbool from_user;\n};\n\nstruct rq_qos_ops;\n\nstruct rq_qos {\n\tconst struct rq_qos_ops *ops;\n\tstruct gendisk *disk;\n\tenum rq_qos_id id;\n\tstruct rq_qos *next;\n\tstruct dentry *debugfs_dir;\n};\n\nstruct rq_qos_ops {\n\tvoid (*throttle)(struct rq_qos *, struct bio *);\n\tvoid (*track)(struct rq_qos *, struct request *, struct bio *);\n\tvoid (*merge)(struct rq_qos *, struct request *, struct bio *);\n\tvoid (*issue)(struct rq_qos *, struct request *);\n\tvoid (*requeue)(struct rq_qos *, struct request *);\n\tvoid (*done)(struct rq_qos *, struct request *);\n\tvoid (*done_bio)(struct rq_qos *, struct bio *);\n\tvoid (*cleanup)(struct rq_qos *, struct bio *);\n\tvoid (*queue_depth_changed)(struct rq_qos *);\n\tvoid (*exit)(struct rq_qos *);\n\tconst struct blk_mq_debugfs_attr *debugfs_attrs;\n};\n\nstruct rq_wait;\n\ntypedef bool acquire_inflight_cb_t(struct rq_wait *, void *);\n\nstruct rq_qos_wait_data {\n\tstruct wait_queue_entry wq;\n\tstruct task_struct *task;\n\tstruct rq_wait *rqw;\n\tacquire_inflight_cb_t *cb;\n\tvoid *private_data;\n\tbool got_token;\n};\n\nstruct rq_wait {\n\twait_queue_head_t wait;\n\tatomic_t inflight;\n};\n\nstruct rs_msg {\n\tstruct icmp6hdr icmph;\n\t__u8 opt[0];\n};\n\nstruct rsa_key {\n\tconst u8 *n;\n\tconst u8 *e;\n\tconst u8 *d;\n\tconst u8 *p;\n\tconst u8 *q;\n\tconst u8 *dp;\n\tconst u8 *dq;\n\tconst u8 *qinv;\n\tsize_t n_sz;\n\tsize_t e_sz;\n\tsize_t d_sz;\n\tsize_t p_sz;\n\tsize_t q_sz;\n\tsize_t dp_sz;\n\tsize_t dq_sz;\n\tsize_t qinv_sz;\n};\n\nstruct rsa_mpi_key {\n\tMPI n;\n\tMPI e;\n\tMPI d;\n\tMPI p;\n\tMPI q;\n\tMPI dp;\n\tMPI dq;\n\tMPI qinv;\n};\n\nstruct rsassa_pkcs1_ctx {\n\tstruct crypto_akcipher *child;\n\tunsigned int key_size;\n};\n\nstruct rsassa_pkcs1_inst_ctx {\n\tstruct crypto_akcipher_spawn spawn;\n\tconst struct hash_prefix *hash_prefix;\n};\n\nstruct rsc {\n\tstruct cache_head h;\n\tstruct xdr_netobj handle;\n\tstruct svc_cred cred;\n\tstruct gss_svc_seq_data seqdata;\n\tstruct gss_ctx *mechctx;\n\tstruct callback_head callback_head;\n};\n\nstruct rseq {\n\t__u32 cpu_id_start;\n\t__u32 cpu_id;\n\t__u64 rseq_cs;\n\t__u32 flags;\n\t__u32 node_id;\n\t__u32 mm_cid;\n\tchar end[0];\n};\n\nstruct rseq_cs {\n\t__u32 version;\n\t__u32 flags;\n\t__u64 start_ip;\n\t__u64 post_commit_offset;\n\t__u64 abort_ip;\n};\n\nstruct rsi {\n\tstruct cache_head h;\n\tstruct xdr_netobj in_handle;\n\tstruct xdr_netobj in_token;\n\tstruct xdr_netobj out_handle;\n\tstruct xdr_netobj out_token;\n\tint major_status;\n\tint minor_status;\n\tstruct callback_head callback_head;\n};\n\nstruct rss_nl_dump_ctx {\n\tlong unsigned int ifindex;\n\tlong unsigned int ctx_idx;\n\tunsigned int match_ifindex;\n\tunsigned int start_ctx;\n};\n\nstruct rss_reply_data {\n\tstruct ethnl_reply_data base;\n\tbool no_key_fields;\n\tu32 indir_size;\n\tu32 hkey_size;\n\tu32 hfunc;\n\tu32 input_xfrm;\n\tu32 *indir_table;\n\tu8 *hkey;\n};\n\nstruct rss_req_info {\n\tstruct ethnl_req_info base;\n\tu32 rss_context;\n};\n\nstruct rsvd_count {\n\tint ndelayed;\n\tbool first_do_lblk_found;\n\text4_lblk_t first_do_lblk;\n\text4_lblk_t last_do_lblk;\n\tstruct extent_status *left_es;\n\tbool partial;\n\text4_lblk_t lclu;\n};\n\nstruct rt0_hdr {\n\tstruct ipv6_rt_hdr rt_hdr;\n\t__u32 reserved;\n\tstruct in6_addr addr[0];\n};\n\nstruct rt6_exception {\n\tstruct hlist_node hlist;\n\tstruct rt6_info *rt6i;\n\tlong unsigned int stamp;\n\tstruct callback_head rcu;\n};\n\nstruct rt6_exception_bucket {\n\tstruct hlist_head chain;\n\tint depth;\n};\n\nstruct rt6_info {\n\tstruct dst_entry dst;\n\tstruct fib6_info *from;\n\tint sernum;\n\tstruct rt6key rt6i_dst;\n\tstruct rt6key rt6i_src;\n\tstruct in6_addr rt6i_gateway;\n\tstruct inet6_dev *rt6i_idev;\n\tu32 rt6i_flags;\n\tshort unsigned int rt6i_nfheader_len;\n};\n\nstruct rt6_mtu_change_arg {\n\tstruct net_device *dev;\n\tunsigned int mtu;\n\tstruct fib6_info *f6i;\n};\n\nstruct rt6_nh {\n\tstruct fib6_info *fib6_info;\n\tstruct fib6_config r_cfg;\n\tstruct list_head next;\n};\n\nstruct rt6_rtnl_dump_arg {\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n\tstruct net *net;\n\tstruct fib_dump_filter filter;\n};\n\nstruct rt6_statistics {\n\t__u32 fib_nodes;\n\t__u32 fib_route_nodes;\n\t__u32 fib_rt_entries;\n\t__u32 fib_rt_cache;\n\t__u32 fib_discarded_routes;\n\tatomic_t fib_rt_alloc;\n};\n\nstruct rt_cache_stat {\n\tunsigned int in_slow_tot;\n\tunsigned int in_slow_mc;\n\tunsigned int in_no_route;\n\tunsigned int in_brd;\n\tunsigned int in_martian_dst;\n\tunsigned int in_martian_src;\n\tunsigned int out_slow_tot;\n\tunsigned int out_slow_mc;\n};\n\nstruct rt_waiter_node {\n\tstruct rb_node entry;\n\tint prio;\n\tu64 deadline;\n};\n\nstruct rt_mutex_waiter {\n\tstruct rt_waiter_node tree;\n\tstruct rt_waiter_node pi_tree;\n\tstruct task_struct *task;\n\tstruct rt_mutex_base *lock;\n\tunsigned int wake_state;\n\tstruct ww_acquire_ctx *ww_ctx;\n};\n\ntypedef struct rt_rq *rt_rq_iter_t;\n\nstruct sigaltstack {\n\tvoid *ss_sp;\n\tint ss_flags;\n\t__kernel_size_t ss_size;\n};\n\ntypedef struct sigaltstack stack_t;\n\nstruct sigcontext {\n\tlong unsigned int _unused[4];\n\tint signal;\n\tint _pad0;\n\tlong unsigned int handler;\n\tlong unsigned int oldmask;\n\tstruct user_pt_regs *regs;\n\telf_gregset_t gp_regs;\n\telf_fpregset_t fp_regs;\n\telf_vrreg_t *v_regs;\n\tlong int vmx_reserve[101];\n};\n\nstruct ucontext {\n\tlong unsigned int uc_flags;\n\tstruct ucontext *uc_link;\n\tstack_t uc_stack;\n\tsigset_t uc_sigmask;\n\tsigset_t __unused[15];\n\tstruct sigcontext uc_mcontext;\n};\n\nstruct rt_sigframe {\n\tstruct ucontext uc;\n\tstruct ucontext uc_transact;\n\tlong unsigned int _unused[2];\n\tunsigned int tramp[7];\n\tstruct siginfo *pinfo;\n\tvoid *puc;\n\tstruct siginfo info;\n\tchar abigap[512];\n};\n\nstruct wake_q_node;\n\nstruct wake_q_head {\n\tstruct wake_q_node *first;\n\tstruct wake_q_node **lastp;\n};\n\nstruct rt_wake_q_head {\n\tstruct wake_q_head head;\n\tstruct task_struct *rtlock_task;\n};\n\nstruct rta_cacheinfo {\n\t__u32 rta_clntref;\n\t__u32 rta_lastuse;\n\t__s32 rta_expires;\n\t__u32 rta_error;\n\t__u32 rta_used;\n\t__u32 rta_id;\n\t__u32 rta_ts;\n\t__u32 rta_tsage;\n};\n\nstruct rtable {\n\tstruct dst_entry dst;\n\tint rt_genid;\n\tunsigned int rt_flags;\n\t__u16 rt_type;\n\t__u8 rt_is_input;\n\t__u8 rt_uses_gateway;\n\tint rt_iif;\n\tu8 rt_gw_family;\n\tunion {\n\t\t__be32 rt_gw4;\n\t\tstruct in6_addr rt_gw6;\n\t};\n\tu32 rt_mtu_locked: 1;\n\tu32 rt_pmtu: 31;\n};\n\nstruct rtas_args {\n\t__be32 token;\n\t__be32 nargs;\n\t__be32 nret;\n\trtas_arg_t args[16];\n\trtas_arg_t *rets;\n};\n\nstruct rtas_error_log {\n\tu8 byte0;\n\tu8 byte1;\n\tu8 byte2;\n\tu8 byte3;\n\t__be32 extended_log_length;\n\tunsigned char buffer[1];\n};\n\nstruct rtas_ext_event_log_v6 {\n\tu8 byte0;\n\tu8 byte1;\n\tu8 byte2;\n\tu8 byte3;\n\tu8 reserved[8];\n\t__be32 company_id;\n\tu8 vendor_log[1];\n};\n\nstruct rtas_fadump_section_header {\n\t__be32 dump_format_version;\n\t__be16 dump_num_sections;\n\t__be16 dump_status_flag;\n\t__be32 offset_first_dump_section;\n\t__be32 dd_block_size;\n\t__be64 dd_block_offset;\n\t__be64 dd_num_blocks;\n\t__be32 dd_offset_disk_path;\n\t__be32 max_time_auto;\n};\n\nstruct rtas_fadump_section {\n\t__be32 request_flag;\n\t__be16 source_data_type;\n\t__be16 error_flags;\n\t__be64 source_address;\n\t__be64 source_len;\n\t__be64 bytes_dumped;\n\t__be64 destination_address;\n};\n\nstruct rtas_fadump_mem_struct {\n\tstruct rtas_fadump_section_header header;\n\tstruct rtas_fadump_section rgn[10];\n};\n\nstruct rtas_fadump_reg_entry {\n\t__be64 reg_id;\n\t__be64 reg_value;\n};\n\nstruct rtas_fadump_reg_save_area_header {\n\t__be64 magic_number;\n\t__be32 version;\n\t__be32 num_cpu_offset;\n};\n\nstruct rtas_filter {\n\tconst int buf_idx1;\n\tconst int size_idx1;\n\tconst int buf_idx2;\n\tconst int size_idx2;\n\tconst int fixed_size;\n};\n\nstruct rtas_function {\n\ts32 token;\n\tconst bool banned_for_syscall_on_le: 1;\n\tconst char * const name;\n\tconst struct rtas_filter *filter;\n\tstruct mutex *lock;\n};\n\nstruct rtas_work_area;\n\nstruct rtas_ibm_get_vpd_params {\n\tconst struct papr_location_code *loc_code;\n\tstruct rtas_work_area *work_area;\n\tu32 sequence;\n\tu32 written;\n\ts32 status;\n};\n\nstruct rtas_sensors {\n\tstruct individual_sensor sensor[17];\n\tunsigned int quant;\n};\n\nstruct rtas_t {\n\tlong unsigned int entry;\n\tlong unsigned int base;\n\tlong unsigned int size;\n\tstruct device_node *dev;\n};\n\nstruct rtas_work_area {\n\tchar *buf;\n\tsize_t size;\n};\n\nstruct rtc_wkalrm;\n\nstruct rtc_param;\n\nstruct rtc_class_ops {\n\tint (*ioctl)(struct device *, unsigned int, long unsigned int);\n\tint (*read_time)(struct device *, struct rtc_time *);\n\tint (*set_time)(struct device *, struct rtc_time *);\n\tint (*read_alarm)(struct device *, struct rtc_wkalrm *);\n\tint (*set_alarm)(struct device *, struct rtc_wkalrm *);\n\tint (*proc)(struct device *, struct seq_file *);\n\tint (*alarm_irq_enable)(struct device *, unsigned int);\n\tint (*read_offset)(struct device *, long int *);\n\tint (*set_offset)(struct device *, long int);\n\tint (*param_get)(struct device *, struct rtc_param *);\n\tint (*param_set)(struct device *, struct rtc_param *);\n};\n\nstruct rtc_timer {\n\tstruct timerqueue_node node;\n\tktime_t period;\n\tvoid (*func)(struct rtc_device *);\n\tstruct rtc_device *rtc;\n\tint enabled;\n};\n\nstruct rtc_device {\n\tstruct device dev;\n\tstruct module *owner;\n\tint id;\n\tconst struct rtc_class_ops *ops;\n\tstruct mutex ops_lock;\n\tstruct cdev char_dev;\n\tlong unsigned int flags;\n\tlong unsigned int irq_data;\n\tspinlock_t irq_lock;\n\twait_queue_head_t irq_queue;\n\tstruct fasync_struct *async_queue;\n\tint irq_freq;\n\tint max_user_freq;\n\tstruct timerqueue_head timerqueue;\n\tstruct rtc_timer aie_timer;\n\tstruct rtc_timer uie_rtctimer;\n\tstruct hrtimer pie_timer;\n\tint pie_enabled;\n\tstruct work_struct irqwork;\n\tlong unsigned int set_offset_nsec;\n\tlong unsigned int features[1];\n\ttime64_t range_min;\n\ttimeu64_t range_max;\n\ttimeu64_t alarm_offset_max;\n\ttime64_t start_secs;\n\ttime64_t offset_secs;\n\tbool set_start_time;\n};\n\nstruct rtc_param {\n\t__u64 param;\n\tunion {\n\t\t__u64 uvalue;\n\t\t__s64 svalue;\n\t\t__u64 ptr;\n\t};\n\t__u32 index;\n\t__u32 __pad;\n};\n\nstruct rtc_time {\n\tint tm_sec;\n\tint tm_min;\n\tint tm_hour;\n\tint tm_mday;\n\tint tm_mon;\n\tint tm_year;\n\tint tm_wday;\n\tint tm_yday;\n\tint tm_isdst;\n};\n\nstruct rtc_wkalrm {\n\tunsigned char enabled;\n\tunsigned char pending;\n\tstruct rtc_time time;\n};\n\nstruct rtentry {\n\tlong unsigned int rt_pad1;\n\tstruct sockaddr rt_dst;\n\tstruct sockaddr rt_gateway;\n\tstruct sockaddr rt_genmask;\n\tshort unsigned int rt_flags;\n\tshort int rt_pad2;\n\tlong unsigned int rt_pad3;\n\tvoid *rt_pad4;\n\tshort int rt_metric;\n\tchar *rt_dev;\n\tlong unsigned int rt_mtu;\n\tlong unsigned int rt_window;\n\tshort unsigned int rt_irtt;\n};\n\nstruct rtgenmsg {\n\tunsigned char rtgen_family;\n};\n\nstruct rtm_dump_res_bucket_ctx;\n\nstruct rtm_dump_nexthop_bucket_data {\n\tstruct rtm_dump_res_bucket_ctx *ctx;\n\tstruct nh_dump_filter filter;\n};\n\nstruct rtm_dump_nh_ctx {\n\tu32 idx;\n};\n\nstruct rtm_dump_res_bucket_ctx {\n\tstruct rtm_dump_nh_ctx nh;\n\tu16 bucket_index;\n};\n\nstruct rtmsg {\n\tunsigned char rtm_family;\n\tunsigned char rtm_dst_len;\n\tunsigned char rtm_src_len;\n\tunsigned char rtm_tos;\n\tunsigned char rtm_table;\n\tunsigned char rtm_protocol;\n\tunsigned char rtm_scope;\n\tunsigned char rtm_type;\n\tunsigned int rtm_flags;\n};\n\nstruct rtnexthop {\n\tshort unsigned int rtnh_len;\n\tunsigned char rtnh_flags;\n\tunsigned char rtnh_hops;\n\tint rtnh_ifindex;\n};\n\nstruct rtnl_af_ops {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tint family;\n\tint (*fill_link_af)(struct sk_buff *, const struct net_device *, u32);\n\tsize_t (*get_link_af_size)(const struct net_device *, u32);\n\tint (*validate_link_af)(const struct net_device *, const struct nlattr *, struct netlink_ext_ack *);\n\tint (*set_link_af)(struct net_device *, const struct nlattr *, struct netlink_ext_ack *);\n\tint (*fill_stats_af)(struct sk_buff *, const struct net_device *);\n\tsize_t (*get_stats_af_size)(const struct net_device *);\n};\n\ntypedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, struct netlink_ext_ack *);\n\ntypedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *);\n\nstruct rtnl_link {\n\trtnl_doit_func doit;\n\trtnl_dumpit_func dumpit;\n\tstruct module *owner;\n\tunsigned int flags;\n\tstruct callback_head rcu;\n};\n\nstruct rtnl_link_ifmap {\n\t__u64 mem_start;\n\t__u64 mem_end;\n\t__u64 base_addr;\n\t__u16 irq;\n\t__u8 dma;\n\t__u8 port;\n};\n\nstruct rtnl_link_ops {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tconst char *kind;\n\tsize_t priv_size;\n\tstruct net_device * (*alloc)(struct nlattr **, const char *, unsigned char, unsigned int, unsigned int);\n\tvoid (*setup)(struct net_device *);\n\tbool netns_refund;\n\tconst u16 peer_type;\n\tunsigned int maxtype;\n\tconst struct nla_policy *policy;\n\tint (*validate)(struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tint (*newlink)(struct net *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tint (*changelink)(struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tvoid (*dellink)(struct net_device *, struct list_head *);\n\tsize_t (*get_size)(const struct net_device *);\n\tint (*fill_info)(struct sk_buff *, const struct net_device *);\n\tsize_t (*get_xstats_size)(const struct net_device *);\n\tint (*fill_xstats)(struct sk_buff *, const struct net_device *);\n\tunsigned int (*get_num_tx_queues)(void);\n\tunsigned int (*get_num_rx_queues)(void);\n\tunsigned int slave_maxtype;\n\tconst struct nla_policy *slave_policy;\n\tint (*slave_changelink)(struct net_device *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tsize_t (*get_slave_size)(const struct net_device *, const struct net_device *);\n\tint (*fill_slave_info)(struct sk_buff *, const struct net_device *, const struct net_device *);\n\tstruct net * (*get_link_net)(const struct net_device *);\n\tsize_t (*get_linkxstats_size)(const struct net_device *, int);\n\tint (*fill_linkxstats)(struct sk_buff *, const struct net_device *, int *, int);\n};\n\nstruct rtnl_link_stats {\n\t__u32 rx_packets;\n\t__u32 tx_packets;\n\t__u32 rx_bytes;\n\t__u32 tx_bytes;\n\t__u32 rx_errors;\n\t__u32 tx_errors;\n\t__u32 rx_dropped;\n\t__u32 tx_dropped;\n\t__u32 multicast;\n\t__u32 collisions;\n\t__u32 rx_length_errors;\n\t__u32 rx_over_errors;\n\t__u32 rx_crc_errors;\n\t__u32 rx_frame_errors;\n\t__u32 rx_fifo_errors;\n\t__u32 rx_missed_errors;\n\t__u32 tx_aborted_errors;\n\t__u32 tx_carrier_errors;\n\t__u32 tx_fifo_errors;\n\t__u32 tx_heartbeat_errors;\n\t__u32 tx_window_errors;\n\t__u32 rx_compressed;\n\t__u32 tx_compressed;\n\t__u32 rx_nohandler;\n};\n\nstruct rtnl_link_stats64 {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 rx_errors;\n\t__u64 tx_errors;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n\t__u64 multicast;\n\t__u64 collisions;\n\t__u64 rx_length_errors;\n\t__u64 rx_over_errors;\n\t__u64 rx_crc_errors;\n\t__u64 rx_frame_errors;\n\t__u64 rx_fifo_errors;\n\t__u64 rx_missed_errors;\n\t__u64 tx_aborted_errors;\n\t__u64 tx_carrier_errors;\n\t__u64 tx_fifo_errors;\n\t__u64 tx_heartbeat_errors;\n\t__u64 tx_window_errors;\n\t__u64 rx_compressed;\n\t__u64 tx_compressed;\n\t__u64 rx_nohandler;\n\t__u64 rx_otherhost_dropped;\n};\n\nstruct rtnl_mdb_dump_ctx {\n\tlong int idx;\n};\n\nstruct rtnl_msg_handler {\n\tstruct module *owner;\n\tint protocol;\n\tint msgtype;\n\trtnl_doit_func doit;\n\trtnl_dumpit_func dumpit;\n\tint flags;\n};\n\nstruct rtnl_net_dump_cb {\n\tstruct net *tgt_net;\n\tstruct net *ref_net;\n\tstruct sk_buff *skb;\n\tstruct net_fill_args fillargs;\n\tint idx;\n\tint s_idx;\n};\n\nstruct rtnl_nets {\n\tstruct net *net[3];\n\tunsigned char len;\n};\n\nstruct rtnl_newlink_tbs {\n\tstruct nlattr *tb[67];\n\tstruct nlattr *linkinfo[6];\n\tstruct nlattr *attr[51];\n\tstruct nlattr *slave_attr[45];\n};\n\nstruct rtnl_offload_xstats_request_used {\n\tbool request;\n\tbool used;\n};\n\nstruct rtnl_stats_dump_filters {\n\tu32 mask[6];\n};\n\nstruct rtvia {\n\t__kernel_sa_family_t rtvia_family;\n\t__u8 rtvia_addr[0];\n};\n\nstruct rusage {\n\tstruct __kernel_old_timeval ru_utime;\n\tstruct __kernel_old_timeval ru_stime;\n\t__kernel_long_t ru_maxrss;\n\t__kernel_long_t ru_ixrss;\n\t__kernel_long_t ru_idrss;\n\t__kernel_long_t ru_isrss;\n\t__kernel_long_t ru_minflt;\n\t__kernel_long_t ru_majflt;\n\t__kernel_long_t ru_nswap;\n\t__kernel_long_t ru_inblock;\n\t__kernel_long_t ru_oublock;\n\t__kernel_long_t ru_msgsnd;\n\t__kernel_long_t ru_msgrcv;\n\t__kernel_long_t ru_nsignals;\n\t__kernel_long_t ru_nvcsw;\n\t__kernel_long_t ru_nivcsw;\n};\n\ntypedef struct rw_semaphore *class_rwsem_read_t;\n\nstruct rwrt_feature_desc {\n\t__be16 feature_code;\n\t__u8 curr: 1;\n\t__u8 persistent: 1;\n\t__u8 feature_version: 4;\n\t__u8 reserved1: 2;\n\t__u8 add_len;\n\t__u32 last_lba;\n\t__u32 block_size;\n\t__u16 blocking;\n\t__u8 page_present: 1;\n\t__u8 reserved2: 7;\n\t__u8 reserved3;\n};\n\nstruct rwsem_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tenum rwsem_waiter_type type;\n\tlong unsigned int timeout;\n\tbool handoff_set;\n};\n\nstruct rx {\n\tstruct rx *next;\n\tstruct rx *prev;\n\tstruct sk_buff *skb;\n\tdma_addr_t dma_addr;\n};\n\nstruct rx_queue_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct netdev_rx_queue *, char *);\n\tssize_t (*store)(struct netdev_rx_queue *, const char *, size_t);\n};\n\nstruct s_data {\n\tstruct sched_domain **sd;\n\tstruct root_domain *rd;\n};\n\nstruct value_name_pair;\n\nstruct sa_name_list {\n\tint opcode;\n\tconst struct value_name_pair *arr;\n\tint arr_sz;\n};\n\nstruct saved_alias {\n\tstruct kmem_cache *s;\n\tconst char *name;\n\tstruct saved_alias *next;\n};\n\nstruct saved_cmdlines_buffer {\n\tunsigned int map_pid_to_cmdline[32769];\n\tunsigned int *map_cmdline_to_pid;\n\tunsigned int cmdline_num;\n\tint cmdline_idx;\n\tchar saved_cmdlines[0];\n};\n\nstruct saved_syn {\n\tu32 mac_hdrlen;\n\tu32 network_hdrlen;\n\tu32 tcp_hdrlen;\n\tu8 data[0];\n};\n\nstruct sb_writers {\n\tshort unsigned int frozen;\n\tint freeze_kcount;\n\tint freeze_ucount;\n\tstruct percpu_rw_semaphore rw_sem[3];\n};\n\nstruct sbitmap_word {\n\tlong unsigned int word;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int cleared;\n\traw_spinlock_t swap_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbq_wait_state {\n\twait_queue_head_t wait;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct scan_control {\n\tlong unsigned int nr_to_reclaim;\n\tnodemask_t *nodemask;\n\tstruct mem_cgroup *target_mem_cgroup;\n\tlong unsigned int anon_cost;\n\tlong unsigned int file_cost;\n\tint *proactive_swappiness;\n\tunsigned int may_deactivate: 2;\n\tunsigned int force_deactivate: 1;\n\tunsigned int skipped_deactivate: 1;\n\tunsigned int may_writepage: 1;\n\tunsigned int may_unmap: 1;\n\tunsigned int may_swap: 1;\n\tunsigned int no_cache_trim_mode: 1;\n\tunsigned int cache_trim_mode_failed: 1;\n\tunsigned int proactive: 1;\n\tunsigned int memcg_low_reclaim: 1;\n\tunsigned int memcg_low_skipped: 1;\n\tunsigned int memcg_full_walk: 1;\n\tunsigned int hibernation_mode: 1;\n\tunsigned int compaction_ready: 1;\n\tunsigned int cache_trim_mode: 1;\n\tunsigned int file_is_tiny: 1;\n\tunsigned int no_demotion: 1;\n\ts8 order;\n\ts8 priority;\n\ts8 reclaim_idx;\n\tgfp_t gfp_mask;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tstruct {\n\t\tunsigned int dirty;\n\t\tunsigned int unqueued_dirty;\n\t\tunsigned int congested;\n\t\tunsigned int writeback;\n\t\tunsigned int immediate;\n\t\tunsigned int file_taken;\n\t\tunsigned int taken;\n\t} nr;\n\tstruct reclaim_state reclaim_state;\n};\n\nstruct scatter_walk {\n\tstruct scatterlist *sg;\n\tunsigned int offset;\n};\n\nstruct sch_frag_data {\n\tlong unsigned int dst;\n\tstruct qdisc_skb_cb cb;\n\t__be16 inner_protocol;\n\tu16 vlan_tci;\n\t__be16 vlan_proto;\n\tunsigned int l2_len;\n\tu8 l2_data[18];\n\tint (*xmit)(struct sk_buff *);\n};\n\nstruct sched_attr {\n\t__u32 size;\n\t__u32 sched_policy;\n\t__u64 sched_flags;\n\t__s32 sched_nice;\n\t__u32 sched_priority;\n\t__u64 sched_runtime;\n\t__u64 sched_deadline;\n\t__u64 sched_period;\n\t__u32 sched_util_min;\n\t__u32 sched_util_max;\n};\n\nstruct sched_class {\n\tvoid (*enqueue_task)(struct rq *, struct task_struct *, int);\n\tbool (*dequeue_task)(struct rq *, struct task_struct *, int);\n\tvoid (*yield_task)(struct rq *);\n\tbool (*yield_to_task)(struct rq *, struct task_struct *);\n\tvoid (*wakeup_preempt)(struct rq *, struct task_struct *, int);\n\tint (*balance)(struct rq *, struct task_struct *, struct rq_flags *);\n\tstruct task_struct * (*pick_task)(struct rq *);\n\tstruct task_struct * (*pick_next_task)(struct rq *, struct task_struct *);\n\tvoid (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *);\n\tvoid (*set_next_task)(struct rq *, struct task_struct *, bool);\n\tint (*select_task_rq)(struct task_struct *, int, int);\n\tvoid (*migrate_task_rq)(struct task_struct *, int);\n\tvoid (*task_woken)(struct rq *, struct task_struct *);\n\tvoid (*set_cpus_allowed)(struct task_struct *, struct affinity_context *);\n\tvoid (*rq_online)(struct rq *);\n\tvoid (*rq_offline)(struct rq *);\n\tstruct rq * (*find_lock_rq)(struct task_struct *, struct rq *);\n\tvoid (*task_tick)(struct rq *, struct task_struct *, int);\n\tvoid (*task_fork)(struct task_struct *);\n\tvoid (*task_dead)(struct task_struct *);\n\tvoid (*switching_to)(struct rq *, struct task_struct *);\n\tvoid (*switched_from)(struct rq *, struct task_struct *);\n\tvoid (*switched_to)(struct rq *, struct task_struct *);\n\tvoid (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *);\n\tvoid (*prio_changed)(struct rq *, struct task_struct *, int);\n\tunsigned int (*get_rr_interval)(struct rq *, struct task_struct *);\n\tvoid (*update_curr)(struct rq *);\n\tvoid (*task_change_group)(struct task_struct *);\n};\n\nstruct sched_group;\n\nstruct sched_domain_shared;\n\nstruct sched_domain {\n\tstruct sched_domain *parent;\n\tstruct sched_domain *child;\n\tstruct sched_group *groups;\n\tlong unsigned int min_interval;\n\tlong unsigned int max_interval;\n\tunsigned int busy_factor;\n\tunsigned int imbalance_pct;\n\tunsigned int cache_nice_tries;\n\tunsigned int imb_numa_nr;\n\tint nohz_idle;\n\tint flags;\n\tint level;\n\tlong unsigned int last_balance;\n\tunsigned int balance_interval;\n\tunsigned int nr_balance_failed;\n\tu64 max_newidle_lb_cost;\n\tlong unsigned int last_decay_max_lb_cost;\n\tunsigned int lb_count[3];\n\tunsigned int lb_failed[3];\n\tunsigned int lb_balanced[3];\n\tunsigned int lb_imbalance_load[3];\n\tunsigned int lb_imbalance_util[3];\n\tunsigned int lb_imbalance_task[3];\n\tunsigned int lb_imbalance_misfit[3];\n\tunsigned int lb_gained[3];\n\tunsigned int lb_hot_gained[3];\n\tunsigned int lb_nobusyg[3];\n\tunsigned int lb_nobusyq[3];\n\tunsigned int alb_count;\n\tunsigned int alb_failed;\n\tunsigned int alb_pushed;\n\tunsigned int sbe_count;\n\tunsigned int sbe_balanced;\n\tunsigned int sbe_pushed;\n\tunsigned int sbf_count;\n\tunsigned int sbf_balanced;\n\tunsigned int sbf_pushed;\n\tunsigned int ttwu_wake_remote;\n\tunsigned int ttwu_move_affine;\n\tunsigned int ttwu_move_balance;\n\tchar *name;\n\tunion {\n\t\tvoid *private;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct sched_domain_shared *shared;\n\tunsigned int span_weight;\n\tlong unsigned int span[0];\n};\n\nstruct sched_domain_attr {\n\tint relax_domain_level;\n};\n\nstruct sched_domain_shared {\n\tatomic_t ref;\n\tatomic_t nr_busy_cpus;\n\tint has_idle_cores;\n\tint nr_idle_scan;\n};\n\ntypedef const struct cpumask * (*sched_domain_mask_f)(int);\n\ntypedef int (*sched_domain_flags_f)(void);\n\nstruct sched_group_capacity;\n\nstruct sd_data {\n\tstruct sched_domain **sd;\n\tstruct sched_domain_shared **sds;\n\tstruct sched_group **sg;\n\tstruct sched_group_capacity **sgc;\n};\n\nstruct sched_domain_topology_level {\n\tsched_domain_mask_f mask;\n\tsched_domain_flags_f sd_flags;\n\tint flags;\n\tint numa_level;\n\tstruct sd_data data;\n\tchar *name;\n};\n\nstruct sched_entity {\n\tstruct load_weight load;\n\tstruct rb_node run_node;\n\tu64 deadline;\n\tu64 min_vruntime;\n\tu64 min_slice;\n\tstruct list_head group_node;\n\tunsigned char on_rq;\n\tunsigned char sched_delayed;\n\tunsigned char rel_deadline;\n\tunsigned char custom_slice;\n\tu64 exec_start;\n\tu64 sum_exec_runtime;\n\tu64 prev_sum_exec_runtime;\n\tu64 vruntime;\n\ts64 vlag;\n\tu64 slice;\n\tu64 nr_migrations;\n\tint depth;\n\tstruct sched_entity *parent;\n\tstruct cfs_rq *cfs_rq;\n\tstruct cfs_rq *my_q;\n\tlong unsigned int runnable_weight;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_avg avg;\n};\n\nstruct sched_statistics {\n\tu64 wait_start;\n\tu64 wait_max;\n\tu64 wait_count;\n\tu64 wait_sum;\n\tu64 iowait_count;\n\tu64 iowait_sum;\n\tu64 sleep_start;\n\tu64 sleep_max;\n\ts64 sum_sleep_runtime;\n\tu64 block_start;\n\tu64 block_max;\n\ts64 sum_block_runtime;\n\ts64 exec_max;\n\tu64 slice_max;\n\tu64 nr_migrations_cold;\n\tu64 nr_failed_migrations_affine;\n\tu64 nr_failed_migrations_running;\n\tu64 nr_failed_migrations_hot;\n\tu64 nr_forced_migrations;\n\tu64 nr_wakeups;\n\tu64 nr_wakeups_sync;\n\tu64 nr_wakeups_migrate;\n\tu64 nr_wakeups_local;\n\tu64 nr_wakeups_remote;\n\tu64 nr_wakeups_affine;\n\tu64 nr_wakeups_affine_attempts;\n\tu64 nr_wakeups_passive;\n\tu64 nr_wakeups_idle;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sched_entity_stats {\n\tstruct sched_entity se;\n\tstruct sched_statistics stats;\n};\n\nstruct sched_group {\n\tstruct sched_group *next;\n\tatomic_t ref;\n\tunsigned int group_weight;\n\tunsigned int cores;\n\tstruct sched_group_capacity *sgc;\n\tint asym_prefer_cpu;\n\tint flags;\n\tlong unsigned int cpumask[0];\n};\n\nstruct sched_group_capacity {\n\tatomic_t ref;\n\tlong unsigned int capacity;\n\tlong unsigned int min_capacity;\n\tlong unsigned int max_capacity;\n\tlong unsigned int next_update;\n\tint imbalance;\n\tint id;\n\tlong unsigned int cpumask[0];\n};\n\nstruct sched_param {\n\tint sched_priority;\n};\n\nstruct sched_rt_entity {\n\tstruct list_head run_list;\n\tlong unsigned int timeout;\n\tlong unsigned int watchdog_stamp;\n\tunsigned int time_slice;\n\tshort unsigned int on_rq;\n\tshort unsigned int on_list;\n\tstruct sched_rt_entity *back;\n};\n\nstruct scm_fp_list;\n\nstruct scm_cookie {\n\tstruct pid *pid;\n\tstruct scm_fp_list *fp;\n\tstruct scm_creds creds;\n\tu32 secid;\n};\n\nstruct unix_edge;\n\nstruct scm_fp_list {\n\tshort int count;\n\tshort int count_unix;\n\tshort int max;\n\tbool inflight;\n\tbool dead;\n\tstruct list_head vertices;\n\tstruct unix_edge *edges;\n\tstruct user_struct *user;\n\tstruct file *fp[253];\n};\n\nstruct scm_stat {\n\tatomic_t nr_fds;\n\tlong unsigned int nr_unix_fds;\n};\n\nstruct scm_timestamping {\n\tstruct __kernel_old_timespec ts[3];\n};\n\nstruct scm_timestamping64 {\n\tstruct __kernel_timespec ts[3];\n};\n\nstruct scm_timestamping_internal {\n\tstruct timespec64 ts[3];\n};\n\nstruct scm_ts_pktinfo {\n\t__u32 if_index;\n\t__u32 pkt_length;\n\t__u32 reserved[2];\n};\n\nstruct scomp_alg {\n\tvoid * (*alloc_ctx)(struct crypto_scomp *);\n\tvoid (*free_ctx)(struct crypto_scomp *, void *);\n\tint (*compress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *);\n\tint (*decompress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *);\n\tunion {\n\t\tstruct {\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct comp_alg_common calg;\n\t};\n};\n\nstruct scomp_scratch {\n\tspinlock_t lock;\n\tvoid *src;\n\tvoid *dst;\n};\n\nstruct scsi_cd {\n\tunsigned int capacity;\n\tstruct scsi_device *device;\n\tunsigned int vendor;\n\tlong unsigned int ms_offset;\n\tunsigned int writeable: 1;\n\tunsigned int use: 1;\n\tunsigned int xa_flag: 1;\n\tunsigned int readcd_known: 1;\n\tunsigned int readcd_cdda: 1;\n\tunsigned int media_present: 1;\n\tint tur_mismatch;\n\tbool tur_changed: 1;\n\tbool get_event_changed: 1;\n\tbool ignore_get_event: 1;\n\tstruct cdrom_device_info cdi;\n\tstruct mutex lock;\n\tstruct gendisk *disk;\n};\n\ntypedef struct scsi_cd Scsi_CD;\n\nstruct sg_table {\n\tstruct scatterlist *sgl;\n\tunsigned int nents;\n\tunsigned int orig_nents;\n};\n\nstruct scsi_data_buffer {\n\tstruct sg_table table;\n\tunsigned int length;\n};\n\nstruct scsi_cmnd {\n\tstruct scsi_device *device;\n\tstruct list_head eh_entry;\n\tstruct delayed_work abort_work;\n\tstruct callback_head rcu;\n\tint eh_eflags;\n\tint budget_token;\n\tlong unsigned int jiffies_at_alloc;\n\tint retries;\n\tint allowed;\n\tunsigned char prot_op;\n\tunsigned char prot_type;\n\tunsigned char prot_flags;\n\tenum scsi_cmnd_submitter submitter;\n\tshort unsigned int cmd_len;\n\tenum dma_data_direction sc_data_direction;\n\tunsigned char cmnd[32];\n\tstruct scsi_data_buffer sdb;\n\tstruct scsi_data_buffer *prot_sdb;\n\tunsigned int underflow;\n\tunsigned int transfersize;\n\tunsigned int resid_len;\n\tunsigned int sense_len;\n\tunsigned char *sense_buffer;\n\tint flags;\n\tlong unsigned int state;\n\tunsigned int extra_len;\n\tunsigned char *host_scribble;\n\tint result;\n};\n\nstruct scsi_dev_info_list {\n\tstruct list_head dev_info_list;\n\tchar vendor[8];\n\tchar model[16];\n\tblist_flags_t flags;\n\tunsigned int compatible;\n};\n\nstruct scsi_dev_info_list_table {\n\tstruct list_head node;\n\tstruct list_head scsi_dev_info_list;\n\tconst char *name;\n\tint key;\n};\n\nstruct scsi_vpd;\n\nstruct scsi_device_handler;\n\nstruct scsi_device {\n\tstruct Scsi_Host *host;\n\tstruct request_queue *request_queue;\n\tstruct list_head siblings;\n\tstruct list_head same_target_siblings;\n\tstruct sbitmap budget_map;\n\tatomic_t device_blocked;\n\tatomic_t restarts;\n\tspinlock_t list_lock;\n\tstruct list_head starved_entry;\n\tshort unsigned int queue_depth;\n\tshort unsigned int max_queue_depth;\n\tshort unsigned int last_queue_full_depth;\n\tshort unsigned int last_queue_full_count;\n\tlong unsigned int last_queue_full_time;\n\tlong unsigned int queue_ramp_up_period;\n\tlong unsigned int last_queue_ramp_up;\n\tunsigned int id;\n\tunsigned int channel;\n\tu64 lun;\n\tunsigned int manufacturer;\n\tunsigned int sector_size;\n\tvoid *hostdata;\n\tunsigned char type;\n\tchar scsi_level;\n\tchar inq_periph_qual;\n\tstruct mutex inquiry_mutex;\n\tunsigned char inquiry_len;\n\tunsigned char *inquiry;\n\tconst char *vendor;\n\tconst char *model;\n\tconst char *rev;\n\tstruct scsi_vpd *vpd_pg0;\n\tstruct scsi_vpd *vpd_pg83;\n\tstruct scsi_vpd *vpd_pg80;\n\tstruct scsi_vpd *vpd_pg89;\n\tstruct scsi_vpd *vpd_pgb0;\n\tstruct scsi_vpd *vpd_pgb1;\n\tstruct scsi_vpd *vpd_pgb2;\n\tstruct scsi_vpd *vpd_pgb7;\n\tstruct scsi_target *sdev_target;\n\tblist_flags_t sdev_bflags;\n\tunsigned int eh_timeout;\n\tunsigned int manage_system_start_stop: 1;\n\tunsigned int manage_runtime_start_stop: 1;\n\tunsigned int manage_shutdown: 1;\n\tunsigned int force_runtime_start_on_system_start: 1;\n\tunsigned int removable: 1;\n\tunsigned int changed: 1;\n\tunsigned int busy: 1;\n\tunsigned int lockable: 1;\n\tunsigned int locked: 1;\n\tunsigned int borken: 1;\n\tunsigned int disconnect: 1;\n\tunsigned int soft_reset: 1;\n\tunsigned int sdtr: 1;\n\tunsigned int wdtr: 1;\n\tunsigned int ppr: 1;\n\tunsigned int tagged_supported: 1;\n\tunsigned int simple_tags: 1;\n\tunsigned int was_reset: 1;\n\tunsigned int expecting_cc_ua: 1;\n\tunsigned int use_10_for_rw: 1;\n\tunsigned int use_10_for_ms: 1;\n\tunsigned int set_dbd_for_ms: 1;\n\tunsigned int read_before_ms: 1;\n\tunsigned int no_report_opcodes: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int use_16_for_rw: 1;\n\tunsigned int use_16_for_sync: 1;\n\tunsigned int skip_ms_page_8: 1;\n\tunsigned int skip_ms_page_3f: 1;\n\tunsigned int skip_vpd_pages: 1;\n\tunsigned int try_vpd_pages: 1;\n\tunsigned int use_192_bytes_for_3f: 1;\n\tunsigned int no_start_on_add: 1;\n\tunsigned int allow_restart: 1;\n\tunsigned int start_stop_pwr_cond: 1;\n\tunsigned int no_uld_attach: 1;\n\tunsigned int select_no_atn: 1;\n\tunsigned int fix_capacity: 1;\n\tunsigned int guess_capacity: 1;\n\tunsigned int retry_hwerror: 1;\n\tunsigned int last_sector_bug: 1;\n\tunsigned int no_read_disc_info: 1;\n\tunsigned int no_read_capacity_16: 1;\n\tunsigned int try_rc_10_first: 1;\n\tunsigned int security_supported: 1;\n\tunsigned int is_visible: 1;\n\tunsigned int wce_default_on: 1;\n\tunsigned int no_dif: 1;\n\tunsigned int broken_fua: 1;\n\tunsigned int lun_in_cdb: 1;\n\tunsigned int unmap_limit_for_ws: 1;\n\tunsigned int rpm_autosuspend: 1;\n\tunsigned int ignore_media_change: 1;\n\tunsigned int silence_suspend: 1;\n\tunsigned int no_vpd_size: 1;\n\tunsigned int cdl_supported: 1;\n\tunsigned int cdl_enable: 1;\n\tunsigned int queue_stopped;\n\tbool offline_already;\n\tatomic_t disk_events_disable_depth;\n\tlong unsigned int supported_events[1];\n\tlong unsigned int pending_events[1];\n\tstruct list_head event_list;\n\tstruct work_struct event_work;\n\tunsigned int max_device_blocked;\n\tatomic_t iorequest_cnt;\n\tatomic_t iodone_cnt;\n\tatomic_t ioerr_cnt;\n\tatomic_t iotmo_cnt;\n\tstruct device sdev_gendev;\n\tstruct device sdev_dev;\n\tstruct work_struct requeue_work;\n\tstruct scsi_device_handler *handler;\n\tvoid *handler_data;\n\tsize_t dma_drain_len;\n\tvoid *dma_drain_buf;\n\tunsigned int sg_timeout;\n\tunsigned int sg_reserved_size;\n\tstruct bsg_device *bsg_dev;\n\tunsigned char access_state;\n\tstruct mutex state_mutex;\n\tenum scsi_device_state sdev_state;\n\tstruct task_struct *quiesced_by;\n\tlong unsigned int sdev_data[0];\n};\n\ntypedef void (*activate_complete)(void *, int);\n\nstruct scsi_device_handler {\n\tstruct list_head list;\n\tstruct module *module;\n\tconst char *name;\n\tenum scsi_disposition (*check_sense)(struct scsi_device *, struct scsi_sense_hdr *);\n\tint (*attach)(struct scsi_device *);\n\tvoid (*detach)(struct scsi_device *);\n\tint (*activate)(struct scsi_device *, activate_complete, void *);\n\tblk_status_t (*prep_fn)(struct scsi_device *, struct request *);\n\tint (*set_params)(struct scsi_device *, const char *);\n\tvoid (*rescan)(struct scsi_device *);\n};\n\nstruct scsi_dh_blist {\n\tconst char *vendor;\n\tconst char *model;\n\tconst char *driver;\n};\n\nstruct opal_dev;\n\nstruct scsi_disk {\n\tstruct scsi_device *device;\n\tstruct device disk_dev;\n\tstruct gendisk *disk;\n\tstruct opal_dev *opal_dev;\n\tatomic_t openers;\n\tsector_t capacity;\n\tint max_retries;\n\tu32 min_xfer_blocks;\n\tu32 max_xfer_blocks;\n\tu32 opt_xfer_blocks;\n\tu32 max_ws_blocks;\n\tu32 max_unmap_blocks;\n\tu32 unmap_granularity;\n\tu32 unmap_alignment;\n\tu32 max_atomic;\n\tu32 atomic_alignment;\n\tu32 atomic_granularity;\n\tu32 max_atomic_with_boundary;\n\tu32 max_atomic_boundary;\n\tu32 index;\n\tunsigned int physical_block_size;\n\tunsigned int max_medium_access_timeouts;\n\tunsigned int medium_access_timed_out;\n\tu16 permanent_stream_count;\n\tu8 media_present;\n\tu8 write_prot;\n\tu8 protection_type;\n\tu8 provisioning_mode;\n\tu8 zeroing_mode;\n\tu8 nr_actuators;\n\tbool suspended;\n\tunsigned int ATO: 1;\n\tunsigned int cache_override: 1;\n\tunsigned int WCE: 1;\n\tunsigned int RCD: 1;\n\tunsigned int DPOFUA: 1;\n\tunsigned int first_scan: 1;\n\tunsigned int lbpme: 1;\n\tunsigned int lbprz: 1;\n\tunsigned int lbpu: 1;\n\tunsigned int lbpws: 1;\n\tunsigned int lbpws10: 1;\n\tunsigned int lbpvpd: 1;\n\tunsigned int ws10: 1;\n\tunsigned int ws16: 1;\n\tunsigned int rc_basis: 2;\n\tunsigned int zoned: 2;\n\tunsigned int urswrz: 1;\n\tunsigned int security: 1;\n\tunsigned int ignore_medium_access_errors: 1;\n\tunsigned int rscs: 1;\n\tunsigned int use_atomic_write_boundary: 1;\n};\n\nstruct scsi_driver {\n\tstruct device_driver gendrv;\n\tint (*resume)(struct device *);\n\tvoid (*rescan)(struct device *);\n\tblk_status_t (*init_command)(struct scsi_cmnd *);\n\tvoid (*uninit_command)(struct scsi_cmnd *);\n\tint (*done)(struct scsi_cmnd *);\n\tint (*eh_action)(struct scsi_cmnd *, int);\n\tvoid (*eh_reset)(struct scsi_cmnd *);\n};\n\nstruct scsi_eh_save {\n\tint result;\n\tunsigned int resid_len;\n\tint eh_eflags;\n\tenum dma_data_direction data_direction;\n\tunsigned int underflow;\n\tunsigned char cmd_len;\n\tunsigned char prot_op;\n\tunsigned char cmnd[32];\n\tstruct scsi_data_buffer sdb;\n\tstruct scatterlist sense_sgl;\n};\n\nstruct scsi_event {\n\tenum scsi_device_event evt_type;\n\tstruct list_head node;\n};\n\nstruct scsi_failures;\n\nstruct scsi_exec_args {\n\tunsigned char *sense;\n\tunsigned int sense_len;\n\tstruct scsi_sense_hdr *sshdr;\n\tblk_mq_req_flags_t req_flags;\n\tint scmd_flags;\n\tint *resid;\n\tstruct scsi_failures *failures;\n};\n\nstruct scsi_failure {\n\tint result;\n\tu8 sense;\n\tu8 asc;\n\tu8 ascq;\n\ts8 allowed;\n\ts8 retries;\n};\n\nstruct scsi_failures {\n\tint total_allowed;\n\tint total_retries;\n\tstruct scsi_failure *failure_definitions;\n};\n\nstruct scsi_host_busy_iter_data {\n\tbool (*fn)(struct scsi_cmnd *, void *);\n\tvoid *priv;\n};\n\nstruct scsi_host_template {\n\tunsigned int cmd_size;\n\tint (*queuecommand)(struct Scsi_Host *, struct scsi_cmnd *);\n\tvoid (*commit_rqs)(struct Scsi_Host *, u16);\n\tstruct module *module;\n\tconst char *name;\n\tconst char * (*info)(struct Scsi_Host *);\n\tint (*ioctl)(struct scsi_device *, unsigned int, void *);\n\tint (*init_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *);\n\tint (*exit_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *);\n\tint (*eh_abort_handler)(struct scsi_cmnd *);\n\tint (*eh_device_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_target_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_bus_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_host_reset_handler)(struct scsi_cmnd *);\n\tint (*sdev_init)(struct scsi_device *);\n\tint (*sdev_configure)(struct scsi_device *, struct queue_limits *);\n\tvoid (*sdev_destroy)(struct scsi_device *);\n\tint (*target_alloc)(struct scsi_target *);\n\tvoid (*target_destroy)(struct scsi_target *);\n\tint (*scan_finished)(struct Scsi_Host *, long unsigned int);\n\tvoid (*scan_start)(struct Scsi_Host *);\n\tint (*change_queue_depth)(struct scsi_device *, int);\n\tvoid (*map_queues)(struct Scsi_Host *);\n\tint (*mq_poll)(struct Scsi_Host *, unsigned int);\n\tbool (*dma_need_drain)(struct request *);\n\tint (*bios_param)(struct scsi_device *, struct block_device *, sector_t, int *);\n\tvoid (*unlock_native_capacity)(struct scsi_device *);\n\tint (*show_info)(struct seq_file *, struct Scsi_Host *);\n\tint (*write_info)(struct Scsi_Host *, char *, int);\n\tenum scsi_timeout_action (*eh_timed_out)(struct scsi_cmnd *);\n\tbool (*eh_should_retry_cmd)(struct scsi_cmnd *);\n\tint (*host_reset)(struct Scsi_Host *, int);\n\tconst char *proc_name;\n\tint can_queue;\n\tint this_id;\n\tshort unsigned int sg_tablesize;\n\tshort unsigned int sg_prot_tablesize;\n\tunsigned int max_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int dma_alignment;\n\tlong unsigned int dma_boundary;\n\tlong unsigned int virt_boundary_mask;\n\tshort int cmd_per_lun;\n\tbool tag_alloc_policy_rr: 1;\n\tunsigned int track_queue_depth: 1;\n\tunsigned int supported_mode: 2;\n\tunsigned int emulated: 1;\n\tunsigned int skip_settle_delay: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int host_tagset: 1;\n\tunsigned int queuecommand_may_block: 1;\n\tunsigned int max_host_blocked;\n\tconst struct attribute_group **shost_groups;\n\tconst struct attribute_group **sdev_groups;\n\tu64 vendor_id;\n};\n\nstruct scsi_idlun {\n\t__u32 dev_id;\n\t__u32 host_unique_id;\n};\n\nstruct scsi_io_group_descriptor {\n\tu8 ic_enable: 1;\n\tu8 cs_enble: 1;\n\tu8 st_enble: 1;\n\tu8 reserved1: 3;\n\tu8 io_advice_hints_mode: 2;\n\tu8 reserved2[3];\n\tu8 lbm_descriptor_type: 4;\n\tu8 rlbsr: 2;\n\tu8 reserved3: 1;\n\tu8 acdlu: 1;\n\tu8 params[2];\n\tu8 reserved4;\n\tu8 reserved5[8];\n};\n\nstruct scsi_ioctl_command {\n\tunsigned int inlen;\n\tunsigned int outlen;\n\tunsigned char data[0];\n};\n\nstruct scsi_mode_data {\n\t__u32 length;\n\t__u16 block_descriptor_length;\n\t__u8 medium_type;\n\t__u8 device_specific;\n\t__u8 header_length;\n\t__u8 longlba: 1;\n};\n\nstruct scsi_proc_entry {\n\tstruct list_head entry;\n\tconst struct scsi_host_template *sht;\n\tstruct proc_dir_entry *proc_dir;\n\tunsigned int present;\n};\n\nstruct scsi_sense_hdr {\n\tu8 response_code;\n\tu8 sense_key;\n\tu8 asc;\n\tu8 ascq;\n\tu8 byte4;\n\tu8 byte5;\n\tu8 byte6;\n\tu8 additional_length;\n};\n\nstruct scsi_stream_status {\n\tu8 reserved1: 7;\n\tu8 perm: 1;\n\tu8 reserved2;\n\t__be16 stream_identifier;\n\tu8 rel_lifetime: 6;\n\tu8 reserved3: 2;\n\tu8 reserved4[3];\n};\n\nstruct scsi_stream_status_header {\n\t__be32 len;\n\tu16 reserved;\n\t__be16 number_of_open_streams;\n\tstruct {\n\t\tstruct {} __empty_stream_status;\n\t\tstruct scsi_stream_status stream_status[0];\n\t};\n};\n\nstruct scsi_target {\n\tstruct scsi_device *starget_sdev_user;\n\tstruct list_head siblings;\n\tstruct list_head devices;\n\tstruct device dev;\n\tstruct kref reap_ref;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int create: 1;\n\tunsigned int single_lun: 1;\n\tunsigned int pdt_1f_for_no_lun: 1;\n\tunsigned int no_report_luns: 1;\n\tunsigned int expecting_lun_change: 1;\n\tatomic_t target_busy;\n\tatomic_t target_blocked;\n\tunsigned int can_queue;\n\tunsigned int max_target_blocked;\n\tchar scsi_level;\n\tenum scsi_target_state state;\n\tvoid *hostdata;\n\tlong unsigned int starget_data[0];\n};\n\nstruct scsi_varlen_cdb_hdr {\n\t__u8 opcode;\n\t__u8 control;\n\t__u8 misc[5];\n\t__u8 additional_cdb_length;\n\t__be16 service_action;\n};\n\nstruct scsi_vpd {\n\tstruct callback_head rcu;\n\tint len;\n\tunsigned char data[0];\n};\n\nstruct sctp_paramhdr {\n\t__be16 type;\n\t__be16 length;\n};\n\nstruct sctp_adaptation_ind_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 adaptation_ind;\n};\n\nstruct sctp_addip_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 crr_id;\n};\n\nstruct sctp_addiphdr {\n\t__be32 serial;\n};\n\nunion sctp_addr {\n\tstruct sockaddr_in v4;\n\tstruct sockaddr_in6 v6;\n\tstruct sockaddr sa;\n};\n\nstruct sctp_ipv4addr_param {\n\tstruct sctp_paramhdr param_hdr;\n\tstruct in_addr addr;\n};\n\nstruct sctp_ipv6addr_param {\n\tstruct sctp_paramhdr param_hdr;\n\tstruct in6_addr addr;\n};\n\nunion sctp_addr_param {\n\tstruct sctp_paramhdr p;\n\tstruct sctp_ipv4addr_param v4;\n\tstruct sctp_ipv6addr_param v6;\n};\n\nstruct sctp_transport;\n\nstruct sctp_sock;\n\nstruct sctp_af {\n\tint (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);\n\tvoid (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);\n\tvoid (*copy_addrlist)(struct list_head *, struct net_device *);\n\tint (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);\n\tvoid (*addr_copy)(union sctp_addr *, union sctp_addr *);\n\tvoid (*from_skb)(union sctp_addr *, struct sk_buff *, int);\n\tvoid (*from_sk)(union sctp_addr *, struct sock *);\n\tbool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);\n\tint (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);\n\tint (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);\n\tenum sctp_scope (*scope)(union sctp_addr *);\n\tvoid (*inaddr_any)(union sctp_addr *, __be16);\n\tint (*is_any)(const union sctp_addr *);\n\tint (*available)(union sctp_addr *, struct sctp_sock *);\n\tint (*skb_iif)(const struct sk_buff *);\n\tint (*skb_sdif)(const struct sk_buff *);\n\tint (*is_ce)(const struct sk_buff *);\n\tvoid (*seq_dump_addr)(struct seq_file *, union sctp_addr *);\n\tvoid (*ecn_capable)(struct sock *);\n\t__u16 net_header_len;\n\tint sockaddr_len;\n\tint (*ip_options_len)(struct sock *);\n\tsa_family_t sa_family;\n\tstruct list_head list;\n};\n\nstruct sctp_chunk;\n\nstruct sctp_inq {\n\tstruct list_head in_chunk_list;\n\tstruct sctp_chunk *in_progress;\n\tstruct work_struct immediate;\n};\n\nstruct sctp_bind_addr {\n\t__u16 port;\n\tstruct list_head address_list;\n};\n\nstruct sctp_ep_common {\n\tenum sctp_endpoint_type type;\n\trefcount_t refcnt;\n\tbool dead;\n\tstruct sock *sk;\n\tstruct net *net;\n\tstruct sctp_inq inqueue;\n\tstruct sctp_bind_addr bind_addr;\n};\n\nstruct sctp_cookie {\n\t__u32 my_vtag;\n\t__u32 peer_vtag;\n\t__u32 my_ttag;\n\t__u32 peer_ttag;\n\tktime_t expiration;\n\t__u16 sinit_num_ostreams;\n\t__u16 sinit_max_instreams;\n\t__u32 initial_tsn;\n\tunion sctp_addr peer_addr;\n\t__u16 my_port;\n\t__u8 prsctp_capable;\n\t__u8 padding;\n\t__u32 adaptation_ind;\n\t__u8 auth_random[36];\n\t__u8 auth_hmacs[10];\n\t__u8 auth_chunks[20];\n\t__u32 raw_addr_list_len;\n};\n\nstruct sctp_tsnmap {\n\tlong unsigned int *tsn_map;\n\t__u32 base_tsn;\n\t__u32 cumulative_tsn_ack_point;\n\t__u32 max_tsn_seen;\n\t__u16 len;\n\t__u16 pending_data;\n\t__u16 num_dup_tsns;\n\t__be32 dup_tsns[16];\n};\n\nstruct sctp_inithdr_host {\n\t__u32 init_tag;\n\t__u32 a_rwnd;\n\t__u16 num_outbound_streams;\n\t__u16 num_inbound_streams;\n\t__u32 initial_tsn;\n};\n\nstruct sctp_stream_out_ext;\n\nstruct sctp_stream_out {\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\t__u32 mid_uo;\n\tstruct sctp_stream_out_ext *ext;\n\t__u8 state;\n};\n\nstruct sctp_stream_in {\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\t__u32 mid_uo;\n\t__u32 fsn;\n\t__u32 fsn_uo;\n\tchar pd_mode;\n\tchar pd_mode_uo;\n};\n\nstruct sctp_stream_interleave;\n\nstruct sctp_stream {\n\tstruct {\n\t\tstruct __genradix tree;\n\t\tstruct sctp_stream_out type[0];\n\t} out;\n\tstruct {\n\t\tstruct __genradix tree;\n\t\tstruct sctp_stream_in type[0];\n\t} in;\n\t__u16 outcnt;\n\t__u16 incnt;\n\tstruct sctp_stream_out *out_curr;\n\tunion {\n\t\tstruct {\n\t\t\tstruct list_head prio_list;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head rr_list;\n\t\t\tstruct sctp_stream_out_ext *rr_next;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head fc_list;\n\t\t};\n\t};\n\tstruct sctp_stream_interleave *si;\n};\n\nstruct sctp_sched_ops;\n\nstruct sctp_association;\n\nstruct sctp_outq {\n\tstruct sctp_association *asoc;\n\tstruct list_head out_chunk_list;\n\tstruct sctp_sched_ops *sched;\n\tunsigned int out_qlen;\n\tunsigned int error;\n\tstruct list_head control_chunk_list;\n\tstruct list_head sacked;\n\tstruct list_head retransmit;\n\tstruct list_head abandoned;\n\t__u32 outstanding_bytes;\n\tchar fast_rtx;\n\tchar cork;\n};\n\nstruct sctp_ulpq {\n\tchar pd_mode;\n\tstruct sctp_association *asoc;\n\tstruct sk_buff_head reasm;\n\tstruct sk_buff_head reasm_uo;\n\tstruct sk_buff_head lobby;\n};\n\nstruct sctp_priv_assoc_stats {\n\tstruct __kernel_sockaddr_storage obs_rto_ipaddr;\n\t__u64 max_obs_rto;\n\t__u64 isacks;\n\t__u64 osacks;\n\t__u64 opackets;\n\t__u64 ipackets;\n\t__u64 rtxchunks;\n\t__u64 outofseqtsns;\n\t__u64 idupchunks;\n\t__u64 gapcnt;\n\t__u64 ouodchunks;\n\t__u64 iuodchunks;\n\t__u64 oodchunks;\n\t__u64 iodchunks;\n\t__u64 octrlchunks;\n\t__u64 ictrlchunks;\n};\n\nstruct sctp_endpoint;\n\nstruct sctp_random_param;\n\nstruct sctp_chunks_param;\n\nstruct sctp_hmac_algo_param;\n\nstruct sctp_auth_bytes;\n\nstruct sctp_shared_key;\n\nstruct sctp_association {\n\tstruct sctp_ep_common base;\n\tstruct list_head asocs;\n\tsctp_assoc_t assoc_id;\n\tstruct sctp_endpoint *ep;\n\tstruct sctp_cookie c;\n\tstruct {\n\t\tstruct list_head transport_addr_list;\n\t\t__u32 rwnd;\n\t\t__u16 transport_count;\n\t\t__u16 port;\n\t\tstruct sctp_transport *primary_path;\n\t\tunion sctp_addr primary_addr;\n\t\tstruct sctp_transport *active_path;\n\t\tstruct sctp_transport *retran_path;\n\t\tstruct sctp_transport *last_sent_to;\n\t\tstruct sctp_transport *last_data_from;\n\t\tstruct sctp_tsnmap tsn_map;\n\t\t__be16 addip_disabled_mask;\n\t\t__u16 ecn_capable: 1;\n\t\t__u16 ipv4_address: 1;\n\t\t__u16 ipv6_address: 1;\n\t\t__u16 asconf_capable: 1;\n\t\t__u16 prsctp_capable: 1;\n\t\t__u16 reconf_capable: 1;\n\t\t__u16 intl_capable: 1;\n\t\t__u16 auth_capable: 1;\n\t\t__u16 sack_needed: 1;\n\t\t__u16 sack_generation: 1;\n\t\t__u16 zero_window_announced: 1;\n\t\t__u32 sack_cnt;\n\t\t__u32 adaptation_ind;\n\t\tstruct sctp_inithdr_host i;\n\t\tvoid *cookie;\n\t\tint cookie_len;\n\t\t__u32 addip_serial;\n\t\tstruct sctp_random_param *peer_random;\n\t\tstruct sctp_chunks_param *peer_chunks;\n\t\tstruct sctp_hmac_algo_param *peer_hmacs;\n\t} peer;\n\tenum sctp_state state;\n\tint overall_error_count;\n\tktime_t cookie_life;\n\tlong unsigned int rto_initial;\n\tlong unsigned int rto_max;\n\tlong unsigned int rto_min;\n\tint max_burst;\n\tint max_retrans;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u16 max_init_attempts;\n\t__u16 init_retries;\n\tlong unsigned int max_init_timeo;\n\tlong unsigned int hbinterval;\n\tlong unsigned int probe_interval;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u8 pmtu_pending;\n\t__u32 pathmtu;\n\t__u32 param_flags;\n\t__u32 sackfreq;\n\tlong unsigned int sackdelay;\n\tlong unsigned int timeouts[12];\n\tstruct timer_list timers[12];\n\tstruct sctp_transport *shutdown_last_sent_to;\n\tstruct sctp_transport *init_last_sent_to;\n\tint shutdown_retries;\n\t__u32 next_tsn;\n\t__u32 ctsn_ack_point;\n\t__u32 adv_peer_ack_point;\n\t__u32 highest_sacked;\n\t__u32 fast_recovery_exit;\n\t__u8 fast_recovery;\n\t__u16 unack_data;\n\t__u32 rtx_data_chunks;\n\t__u32 rwnd;\n\t__u32 a_rwnd;\n\t__u32 rwnd_over;\n\t__u32 rwnd_press;\n\tint sndbuf_used;\n\tatomic_t rmem_alloc;\n\twait_queue_head_t wait;\n\t__u32 frag_point;\n\t__u32 user_frag;\n\tint init_err_counter;\n\tint init_cycle;\n\t__u16 default_stream;\n\t__u16 default_flags;\n\t__u32 default_ppid;\n\t__u32 default_context;\n\t__u32 default_timetolive;\n\t__u32 default_rcv_context;\n\tstruct sctp_stream stream;\n\tstruct sctp_outq outqueue;\n\tstruct sctp_ulpq ulpq;\n\t__u32 last_ecne_tsn;\n\t__u32 last_cwr_tsn;\n\tint numduptsns;\n\tstruct sctp_chunk *addip_last_asconf;\n\tstruct list_head asconf_ack_list;\n\tstruct list_head addip_chunk_list;\n\t__u32 addip_serial;\n\tint src_out_of_asoc_ok;\n\tunion sctp_addr *asconf_addr_del_pending;\n\tstruct sctp_transport *new_transport;\n\tstruct list_head endpoint_shared_keys;\n\tstruct sctp_auth_bytes *asoc_shared_key;\n\tstruct sctp_shared_key *shkey;\n\t__u16 default_hmac_id;\n\t__u16 active_key_id;\n\t__u8 need_ecne: 1;\n\t__u8 temp: 1;\n\t__u8 pf_expose: 2;\n\t__u8 force_delay: 1;\n\t__u8 strreset_enable;\n\t__u8 strreset_outstanding;\n\t__u32 strreset_outseq;\n\t__u32 strreset_inseq;\n\t__u32 strreset_result[2];\n\tstruct sctp_chunk *strreset_chunk;\n\tstruct sctp_priv_assoc_stats stats;\n\tint sent_cnt_removable;\n\t__u16 subscribe;\n\t__u64 abandoned_unsent[3];\n\t__u64 abandoned_sent[3];\n\tu32 secid;\n\tu32 peer_secid;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_assocparams {\n\tsctp_assoc_t sasoc_assoc_id;\n\t__u16 sasoc_asocmaxrxt;\n\t__u16 sasoc_number_peer_destinations;\n\t__u32 sasoc_peer_rwnd;\n\t__u32 sasoc_local_rwnd;\n\t__u32 sasoc_cookie_life;\n};\n\nstruct sctp_auth_bytes {\n\trefcount_t refcnt;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct sctp_authhdr {\n\t__be16 shkey_id;\n\t__be16 hmac_id;\n};\n\nstruct sctp_bind_bucket {\n\tshort unsigned int port;\n\tsigned char fastreuse;\n\tsigned char fastreuseport;\n\tkuid_t fastuid;\n\tstruct hlist_node node;\n\tstruct hlist_head owner;\n\tstruct net *net;\n};\n\nstruct sctp_cookie_preserve_param;\n\nstruct sctp_hostname_param;\n\nstruct sctp_cookie_param;\n\nstruct sctp_supported_addrs_param;\n\nstruct sctp_supported_ext_param;\n\nunion sctp_params {\n\tvoid *v;\n\tstruct sctp_paramhdr *p;\n\tstruct sctp_cookie_preserve_param *life;\n\tstruct sctp_hostname_param *dns;\n\tstruct sctp_cookie_param *cookie;\n\tstruct sctp_supported_addrs_param *sat;\n\tstruct sctp_ipv4addr_param *v4;\n\tstruct sctp_ipv6addr_param *v6;\n\tunion sctp_addr_param *addr;\n\tstruct sctp_adaptation_ind_param *aind;\n\tstruct sctp_supported_ext_param *ext;\n\tstruct sctp_random_param *random;\n\tstruct sctp_chunks_param *chunks;\n\tstruct sctp_hmac_algo_param *hmac_algo;\n\tstruct sctp_addip_param *addip;\n};\n\nstruct sctp_sndrcvinfo {\n\t__u16 sinfo_stream;\n\t__u16 sinfo_ssn;\n\t__u16 sinfo_flags;\n\t__u32 sinfo_ppid;\n\t__u32 sinfo_context;\n\t__u32 sinfo_timetolive;\n\t__u32 sinfo_tsn;\n\t__u32 sinfo_cumtsn;\n\tsctp_assoc_t sinfo_assoc_id;\n};\n\nstruct sctp_datahdr;\n\nstruct sctp_inithdr;\n\nstruct sctp_sackhdr;\n\nstruct sctp_heartbeathdr;\n\nstruct sctp_sender_hb_info;\n\nstruct sctp_shutdownhdr;\n\nstruct sctp_signed_cookie;\n\nstruct sctp_ecnehdr;\n\nstruct sctp_cwrhdr;\n\nstruct sctp_errhdr;\n\nstruct sctp_fwdtsn_hdr;\n\nstruct sctp_idatahdr;\n\nstruct sctp_ifwdtsn_hdr;\n\nstruct sctp_chunkhdr;\n\nstruct sctphdr;\n\nstruct sctp_datamsg;\n\nstruct sctp_chunk {\n\tstruct list_head list;\n\trefcount_t refcnt;\n\tint sent_count;\n\tunion {\n\t\tstruct list_head transmitted_list;\n\t\tstruct list_head stream_list;\n\t};\n\tstruct list_head frag_list;\n\tstruct sk_buff *skb;\n\tunion {\n\t\tstruct sk_buff *head_skb;\n\t\tstruct sctp_shared_key *shkey;\n\t};\n\tunion sctp_params param_hdr;\n\tunion {\n\t\t__u8 *v;\n\t\tstruct sctp_datahdr *data_hdr;\n\t\tstruct sctp_inithdr *init_hdr;\n\t\tstruct sctp_sackhdr *sack_hdr;\n\t\tstruct sctp_heartbeathdr *hb_hdr;\n\t\tstruct sctp_sender_hb_info *hbs_hdr;\n\t\tstruct sctp_shutdownhdr *shutdown_hdr;\n\t\tstruct sctp_signed_cookie *cookie_hdr;\n\t\tstruct sctp_ecnehdr *ecne_hdr;\n\t\tstruct sctp_cwrhdr *ecn_cwr_hdr;\n\t\tstruct sctp_errhdr *err_hdr;\n\t\tstruct sctp_addiphdr *addip_hdr;\n\t\tstruct sctp_fwdtsn_hdr *fwdtsn_hdr;\n\t\tstruct sctp_authhdr *auth_hdr;\n\t\tstruct sctp_idatahdr *idata_hdr;\n\t\tstruct sctp_ifwdtsn_hdr *ifwdtsn_hdr;\n\t} subh;\n\t__u8 *chunk_end;\n\tstruct sctp_chunkhdr *chunk_hdr;\n\tstruct sctphdr *sctp_hdr;\n\tstruct sctp_sndrcvinfo sinfo;\n\tstruct sctp_association *asoc;\n\tstruct sctp_ep_common *rcvr;\n\tlong unsigned int sent_at;\n\tunion sctp_addr source;\n\tunion sctp_addr dest;\n\tstruct sctp_datamsg *msg;\n\tstruct sctp_transport *transport;\n\tstruct sk_buff *auth_chunk;\n\t__u16 rtt_in_progress: 1;\n\t__u16 has_tsn: 1;\n\t__u16 has_ssn: 1;\n\t__u16 singleton: 1;\n\t__u16 end_of_packet: 1;\n\t__u16 ecn_ce_done: 1;\n\t__u16 pdiscard: 1;\n\t__u16 tsn_gap_acked: 1;\n\t__u16 data_accepted: 1;\n\t__u16 auth: 1;\n\t__u16 has_asconf: 1;\n\t__u16 pmtu_probe: 1;\n\t__u16 tsn_missing_report: 2;\n\t__u16 fast_retransmit: 2;\n};\n\nstruct sctp_chunkhdr {\n\t__u8 type;\n\t__u8 flags;\n\t__be16 length;\n};\n\nstruct sctp_chunks_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 chunks[0];\n};\n\nstruct sctp_cookie_param {\n\tstruct sctp_paramhdr p;\n\t__u8 body[0];\n};\n\nstruct sctp_cookie_preserve_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 lifespan_increment;\n};\n\nstruct sctp_cwrhdr {\n\t__be32 lowest_tsn;\n};\n\nstruct sctp_datahdr {\n\t__be32 tsn;\n\t__be16 stream;\n\t__be16 ssn;\n\t__u32 ppid;\n};\n\nstruct sctp_datamsg {\n\tstruct list_head chunks;\n\trefcount_t refcnt;\n\tlong unsigned int expires_at;\n\tint send_error;\n\tu8 send_failed: 1;\n\tu8 can_delay: 1;\n\tu8 abandoned: 1;\n};\n\nstruct sctp_ecnehdr {\n\t__be32 lowest_tsn;\n};\n\nstruct sctp_endpoint {\n\tstruct sctp_ep_common base;\n\tstruct hlist_node node;\n\tint hashent;\n\tstruct list_head asocs;\n\t__u8 secret_key[32];\n\t__u8 *digest;\n\t__u32 sndbuf_policy;\n\t__u32 rcvbuf_policy;\n\tstruct crypto_shash **auth_hmacs;\n\tstruct sctp_hmac_algo_param *auth_hmacs_list;\n\tstruct sctp_chunks_param *auth_chunk_list;\n\tstruct list_head endpoint_shared_keys;\n\t__u16 active_key_id;\n\t__u8 ecn_enable: 1;\n\t__u8 auth_enable: 1;\n\t__u8 intl_enable: 1;\n\t__u8 prsctp_enable: 1;\n\t__u8 asconf_enable: 1;\n\t__u8 reconf_enable: 1;\n\t__u8 strreset_enable;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_errhdr {\n\t__be16 cause;\n\t__be16 length;\n};\n\nstruct sctp_fwdtsn_hdr {\n\t__be32 new_cum_tsn;\n};\n\nstruct sctp_heartbeathdr {\n\tstruct sctp_paramhdr info;\n};\n\nstruct sctp_hmac_algo_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be16 hmac_ids[0];\n};\n\nstruct sctp_hostname_param {\n\tstruct sctp_paramhdr param_hdr;\n\tuint8_t hostname[0];\n};\n\nstruct sctp_idatahdr {\n\t__be32 tsn;\n\t__be16 stream;\n\t__be16 reserved;\n\t__be32 mid;\n\tunion {\n\t\t__u32 ppid;\n\t\t__be32 fsn;\n\t};\n\t__u8 payload[0];\n};\n\nstruct sctp_ifwdtsn_hdr {\n\t__be32 new_cum_tsn;\n};\n\nstruct sctp_inithdr {\n\t__be32 init_tag;\n\t__be32 a_rwnd;\n\t__be16 num_outbound_streams;\n\t__be16 num_inbound_streams;\n\t__be32 initial_tsn;\n};\n\nstruct sctp_initmsg {\n\t__u16 sinit_num_ostreams;\n\t__u16 sinit_max_instreams;\n\t__u16 sinit_max_attempts;\n\t__u16 sinit_max_init_timeo;\n};\n\nstruct sctp_packet {\n\t__u16 source_port;\n\t__u16 destination_port;\n\t__u32 vtag;\n\tstruct list_head chunk_list;\n\tsize_t overhead;\n\tsize_t size;\n\tsize_t max_size;\n\tstruct sctp_transport *transport;\n\tstruct sctp_chunk *auth;\n\tu8 has_cookie_echo: 1;\n\tu8 has_sack: 1;\n\tu8 has_auth: 1;\n\tu8 has_data: 1;\n\tu8 ipfragok: 1;\n};\n\nstruct sctp_paddrparams {\n\tsctp_assoc_t spp_assoc_id;\n\tstruct __kernel_sockaddr_storage spp_address;\n\t__u32 spp_hbinterval;\n\t__u16 spp_pathmaxrxt;\n\t__u32 spp_pathmtu;\n\t__u32 spp_sackdelay;\n\t__u32 spp_flags;\n\t__u32 spp_ipv6_flowlabel;\n\t__u8 spp_dscp;\n\tint: 0;\n} __attribute__((packed));\n\nstruct sctp_ulpevent;\n\nstruct sctp_pf {\n\tvoid (*event_msgname)(struct sctp_ulpevent *, char *, int *);\n\tvoid (*skb_msgname)(struct sk_buff *, char *, int *);\n\tint (*af_supported)(sa_family_t, struct sctp_sock *);\n\tint (*cmp_addr)(const union sctp_addr *, const union sctp_addr *, struct sctp_sock *);\n\tint (*bind_verify)(struct sctp_sock *, union sctp_addr *);\n\tint (*send_verify)(struct sctp_sock *, union sctp_addr *);\n\tint (*supported_addrs)(const struct sctp_sock *, __be16 *);\n\tstruct sock * (*create_accept_sk)(struct sock *, struct sctp_association *, bool);\n\tint (*addr_to_user)(struct sctp_sock *, union sctp_addr *);\n\tvoid (*to_sk_saddr)(union sctp_addr *, struct sock *);\n\tvoid (*to_sk_daddr)(union sctp_addr *, struct sock *);\n\tvoid (*copy_ip_options)(struct sock *, struct sock *);\n\tstruct sctp_af *af;\n};\n\nstruct sctp_random_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 random_val[0];\n};\n\nstruct sctp_rtoinfo {\n\tsctp_assoc_t srto_assoc_id;\n\t__u32 srto_initial;\n\t__u32 srto_max;\n\t__u32 srto_min;\n};\n\nstruct sctp_sackhdr {\n\t__be32 cum_tsn_ack;\n\t__be32 a_rwnd;\n\t__be16 num_gap_ack_blocks;\n\t__be16 num_dup_tsns;\n};\n\nstruct sctp_sender_hb_info {\n\tstruct sctp_paramhdr param_hdr;\n\tunion sctp_addr daddr;\n\tlong unsigned int sent_at;\n\t__u64 hb_nonce;\n\t__u32 probe_size;\n};\n\nstruct sctp_shared_key {\n\tstruct list_head key_list;\n\tstruct sctp_auth_bytes *key;\n\trefcount_t refcnt;\n\t__u16 key_id;\n\t__u8 deactivated;\n};\n\nstruct sctp_shutdownhdr {\n\t__be32 cum_tsn_ack;\n};\n\nstruct sctp_signed_cookie {\n\t__u8 signature[32];\n\t__u32 __pad;\n\tstruct sctp_cookie c;\n} __attribute__((packed));\n\nstruct sctp_sock {\n\tstruct inet_sock inet;\n\tenum sctp_socket_type type;\n\tstruct sctp_pf *pf;\n\tstruct crypto_shash *hmac;\n\tchar *sctp_hmac_alg;\n\tstruct sctp_endpoint *ep;\n\tstruct sctp_bind_bucket *bind_hash;\n\t__u16 default_stream;\n\t__u32 default_ppid;\n\t__u16 default_flags;\n\t__u32 default_context;\n\t__u32 default_timetolive;\n\t__u32 default_rcv_context;\n\tint max_burst;\n\t__u32 hbinterval;\n\t__u32 probe_interval;\n\t__be16 udp_port;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u32 pathmtu;\n\t__u32 sackdelay;\n\t__u32 sackfreq;\n\t__u32 param_flags;\n\t__u32 default_ss;\n\tstruct sctp_rtoinfo rtoinfo;\n\tstruct sctp_paddrparams paddrparam;\n\tstruct sctp_assocparams assocparams;\n\t__u16 subscribe;\n\tstruct sctp_initmsg initmsg;\n\tint user_frag;\n\t__u32 autoclose;\n\t__u32 adaptation_ind;\n\t__u32 pd_point;\n\t__u16 nodelay: 1;\n\t__u16 pf_expose: 2;\n\t__u16 reuse: 1;\n\t__u16 disable_fragments: 1;\n\t__u16 v4mapped: 1;\n\t__u16 frag_interleave: 1;\n\t__u16 recvrcvinfo: 1;\n\t__u16 recvnxtinfo: 1;\n\t__u16 data_ready_signalled: 1;\n\tatomic_t pd_mode;\n\tstruct sk_buff_head pd_lobby;\n\tstruct list_head auto_asconf_list;\n\tint do_auto_asconf;\n};\n\nstruct sctp_stream_interleave {\n\t__u16 data_chunk_len;\n\t__u16 ftsn_chunk_len;\n\tstruct sctp_chunk * (*make_datafrag)(const struct sctp_association *, const struct sctp_sndrcvinfo *, int, __u8, gfp_t);\n\tvoid (*assign_number)(struct sctp_chunk *);\n\tbool (*validate_data)(struct sctp_chunk *);\n\tint (*ulpevent_data)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);\n\tint (*enqueue_event)(struct sctp_ulpq *, struct sctp_ulpevent *);\n\tvoid (*renege_events)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);\n\tvoid (*start_pd)(struct sctp_ulpq *, gfp_t);\n\tvoid (*abort_pd)(struct sctp_ulpq *, gfp_t);\n\tvoid (*generate_ftsn)(struct sctp_outq *, __u32);\n\tbool (*validate_ftsn)(struct sctp_chunk *);\n\tvoid (*report_ftsn)(struct sctp_ulpq *, __u32);\n\tvoid (*handle_ftsn)(struct sctp_ulpq *, struct sctp_chunk *);\n};\n\nstruct sctp_stream_priorities;\n\nstruct sctp_stream_out_ext {\n\t__u64 abandoned_unsent[3];\n\t__u64 abandoned_sent[3];\n\tstruct list_head outq;\n\tunion {\n\t\tstruct {\n\t\t\tstruct list_head prio_list;\n\t\t\tstruct sctp_stream_priorities *prio_head;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head rr_list;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head fc_list;\n\t\t\t__u32 fc_length;\n\t\t\t__u16 fc_weight;\n\t\t};\n\t};\n};\n\nstruct sctp_stream_priorities {\n\tstruct list_head prio_sched;\n\tstruct list_head active;\n\tstruct sctp_stream_out_ext *next;\n\t__u16 prio;\n\t__u16 users;\n};\n\nstruct sctp_supported_addrs_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be16 types[0];\n};\n\nstruct sctp_supported_ext_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 chunks[0];\n};\n\nstruct sctp_transport {\n\tstruct list_head transports;\n\tstruct rhlist_head node;\n\trefcount_t refcnt;\n\t__u32 rto_pending: 1;\n\t__u32 hb_sent: 1;\n\t__u32 pmtu_pending: 1;\n\t__u32 dst_pending_confirm: 1;\n\t__u32 sack_generation: 1;\n\tu32 dst_cookie;\n\tstruct flowi fl;\n\tunion sctp_addr ipaddr;\n\tstruct sctp_af *af_specific;\n\tstruct sctp_association *asoc;\n\tlong unsigned int rto;\n\t__u32 rtt;\n\t__u32 rttvar;\n\t__u32 srtt;\n\t__u32 cwnd;\n\t__u32 ssthresh;\n\t__u32 partial_bytes_acked;\n\t__u32 flight_size;\n\t__u32 burst_limited;\n\tstruct dst_entry *dst;\n\tunion sctp_addr saddr;\n\tlong unsigned int hbinterval;\n\tlong unsigned int probe_interval;\n\tlong unsigned int sackdelay;\n\t__u32 sackfreq;\n\tatomic_t mtu_info;\n\tktime_t last_time_heard;\n\tlong unsigned int last_time_sent;\n\tlong unsigned int last_time_ecne_reduced;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u32 pathmtu;\n\t__u32 param_flags;\n\tint init_sent_count;\n\tint state;\n\tshort unsigned int error_count;\n\tstruct timer_list T3_rtx_timer;\n\tstruct timer_list hb_timer;\n\tstruct timer_list proto_unreach_timer;\n\tstruct timer_list reconf_timer;\n\tstruct timer_list probe_timer;\n\tstruct list_head transmitted;\n\tstruct sctp_packet packet;\n\tstruct list_head send_ready;\n\tstruct {\n\t\t__u32 next_tsn_at_change;\n\t\tchar changeover_active;\n\t\tchar cycling_changeover;\n\t\tchar cacc_saw_newack;\n\t} cacc;\n\tstruct {\n\t\t__u16 pmtu;\n\t\t__u16 probe_size;\n\t\t__u16 probe_high;\n\t\t__u8 probe_count;\n\t\t__u8 state;\n\t} pl;\n\t__u64 hb_nonce;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_ulpevent {\n\tstruct sctp_association *asoc;\n\tstruct sctp_chunk *chunk;\n\tunsigned int rmem_len;\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\tunion {\n\t\t__u32 ppid;\n\t\t__u32 fsn;\n\t};\n\t__u32 tsn;\n\t__u32 cumtsn;\n\t__u16 stream;\n\t__u16 flags;\n\t__u16 msg_flags;\n} __attribute__((packed));\n\nstruct sctphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be32 vtag;\n\t__le32 checksum;\n};\n\nstruct sd_flag_debug {\n\tunsigned int meta_flags;\n\tchar *name;\n};\n\nstruct sd_flow_limit {\n\tu64 count;\n\tunsigned int num_buckets;\n\tunsigned int history_head;\n\tu16 history[128];\n\tu8 buckets[0];\n};\n\nstruct sg_lb_stats {\n\tlong unsigned int avg_load;\n\tlong unsigned int group_load;\n\tlong unsigned int group_capacity;\n\tlong unsigned int group_util;\n\tlong unsigned int group_runnable;\n\tunsigned int sum_nr_running;\n\tunsigned int sum_h_nr_running;\n\tunsigned int idle_cpus;\n\tunsigned int group_weight;\n\tenum group_type group_type;\n\tunsigned int group_asym_packing;\n\tunsigned int group_smt_balance;\n\tlong unsigned int group_misfit_task_load;\n\tunsigned int nr_numa_running;\n\tunsigned int nr_preferred_running;\n};\n\nstruct sd_lb_stats {\n\tstruct sched_group *busiest;\n\tstruct sched_group *local;\n\tlong unsigned int total_load;\n\tlong unsigned int total_capacity;\n\tlong unsigned int avg_load;\n\tunsigned int prefer_sibling;\n\tstruct sg_lb_stats busiest_stat;\n\tstruct sg_lb_stats local_stat;\n};\n\nstruct xfrm_offload {\n\tstruct {\n\t\t__u32 low;\n\t\t__u32 hi;\n\t} seq;\n\t__u32 flags;\n\t__u32 status;\n\t__u32 orig_mac_len;\n\t__u8 proto;\n\t__u8 inner_ipproto;\n};\n\nstruct sec_path {\n\tint len;\n\tint olen;\n\tint verified_cnt;\n\tstruct xfrm_state *xvec[6];\n\tstruct xfrm_offload ovec[1];\n};\n\nstruct seccomp_filter;\n\nstruct seccomp {\n\tint mode;\n\tatomic_t filter_count;\n\tstruct seccomp_filter *filter;\n};\n\nstruct seccomp_data {\n\tint nr;\n\t__u32 arch;\n\t__u64 instruction_pointer;\n\t__u64 args[6];\n};\n\nstruct seccomp_filter {\n\trefcount_t refs;\n\trefcount_t users;\n\tbool log;\n\tbool wait_killable_recv;\n\tstruct action_cache cache;\n\tstruct seccomp_filter *prev;\n\tstruct bpf_prog *prog;\n\tstruct notification *notif;\n\tstruct mutex notify_lock;\n\twait_queue_head_t wqh;\n};\n\nstruct seccomp_kaddfd {\n\tstruct file *file;\n\tint fd;\n\tunsigned int flags;\n\t__u32 ioctl_flags;\n\tunion {\n\t\tbool setfd;\n\t\tint ret;\n\t};\n\tstruct completion completion;\n\tstruct list_head list;\n};\n\nstruct seccomp_knotif {\n\tstruct task_struct *task;\n\tu64 id;\n\tconst struct seccomp_data *data;\n\tenum notify_state state;\n\tint error;\n\tlong int val;\n\tu32 flags;\n\tstruct completion ready;\n\tstruct list_head list;\n\tstruct list_head addfd;\n};\n\nstruct seccomp_log_name {\n\tu32 log;\n\tconst char *name;\n};\n\nstruct seccomp_metadata {\n\t__u64 filter_off;\n\t__u64 flags;\n};\n\nstruct seccomp_notif {\n\t__u64 id;\n\t__u32 pid;\n\t__u32 flags;\n\tstruct seccomp_data data;\n};\n\nstruct seccomp_notif_addfd {\n\t__u64 id;\n\t__u32 flags;\n\t__u32 srcfd;\n\t__u32 newfd;\n\t__u32 newfd_flags;\n};\n\nstruct seccomp_notif_resp {\n\t__u64 id;\n\t__s64 val;\n\t__s32 error;\n\t__u32 flags;\n};\n\nstruct seccomp_notif_sizes {\n\t__u16 seccomp_notif;\n\t__u16 seccomp_notif_resp;\n\t__u16 seccomp_data;\n};\n\nstruct security_class_mapping {\n\tconst char *name;\n\tconst char *perms[33];\n};\n\nstruct timezone;\n\nstruct xattr;\n\nstruct sembuf;\n\nunion security_list_options {\n\tint (*binder_set_context_mgr)(const struct cred *);\n\tint (*binder_transaction)(const struct cred *, const struct cred *);\n\tint (*binder_transfer_binder)(const struct cred *, const struct cred *);\n\tint (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *);\n\tint (*ptrace_access_check)(struct task_struct *, unsigned int);\n\tint (*ptrace_traceme)(struct task_struct *);\n\tint (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *);\n\tint (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *);\n\tint (*capable)(const struct cred *, struct user_namespace *, int, unsigned int);\n\tint (*quotactl)(int, int, int, const struct super_block *);\n\tint (*quota_on)(struct dentry *);\n\tint (*syslog)(int);\n\tint (*settime)(const struct timespec64 *, const struct timezone *);\n\tint (*vm_enough_memory)(struct mm_struct *, long int);\n\tint (*bprm_creds_for_exec)(struct linux_binprm *);\n\tint (*bprm_creds_from_file)(struct linux_binprm *, const struct file *);\n\tint (*bprm_check_security)(struct linux_binprm *);\n\tvoid (*bprm_committing_creds)(const struct linux_binprm *);\n\tvoid (*bprm_committed_creds)(const struct linux_binprm *);\n\tint (*fs_context_submount)(struct fs_context *, struct super_block *);\n\tint (*fs_context_dup)(struct fs_context *, struct fs_context *);\n\tint (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *);\n\tint (*sb_alloc_security)(struct super_block *);\n\tvoid (*sb_delete)(struct super_block *);\n\tvoid (*sb_free_security)(struct super_block *);\n\tvoid (*sb_free_mnt_opts)(void *);\n\tint (*sb_eat_lsm_opts)(char *, void **);\n\tint (*sb_mnt_opts_compat)(struct super_block *, void *);\n\tint (*sb_remount)(struct super_block *, void *);\n\tint (*sb_kern_mount)(const struct super_block *);\n\tint (*sb_show_options)(struct seq_file *, struct super_block *);\n\tint (*sb_statfs)(struct dentry *);\n\tint (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *);\n\tint (*sb_umount)(struct vfsmount *, int);\n\tint (*sb_pivotroot)(const struct path *, const struct path *);\n\tint (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *);\n\tint (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *);\n\tint (*move_mount)(const struct path *, const struct path *);\n\tint (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *);\n\tint (*dentry_create_files_as)(struct dentry *, int, struct qstr *, const struct cred *, struct cred *);\n\tint (*path_unlink)(const struct path *, struct dentry *);\n\tint (*path_mkdir)(const struct path *, struct dentry *, umode_t);\n\tint (*path_rmdir)(const struct path *, struct dentry *);\n\tint (*path_mknod)(const struct path *, struct dentry *, umode_t, unsigned int);\n\tvoid (*path_post_mknod)(struct mnt_idmap *, struct dentry *);\n\tint (*path_truncate)(const struct path *);\n\tint (*path_symlink)(const struct path *, struct dentry *, const char *);\n\tint (*path_link)(struct dentry *, const struct path *, struct dentry *);\n\tint (*path_rename)(const struct path *, struct dentry *, const struct path *, struct dentry *, unsigned int);\n\tint (*path_chmod)(const struct path *, umode_t);\n\tint (*path_chown)(const struct path *, kuid_t, kgid_t);\n\tint (*path_chroot)(const struct path *);\n\tint (*path_notify)(const struct path *, u64, unsigned int);\n\tint (*inode_alloc_security)(struct inode *);\n\tvoid (*inode_free_security)(struct inode *);\n\tvoid (*inode_free_security_rcu)(void *);\n\tint (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *);\n\tint (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *);\n\tint (*inode_create)(struct inode *, struct dentry *, umode_t);\n\tvoid (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *);\n\tint (*inode_link)(struct dentry *, struct inode *, struct dentry *);\n\tint (*inode_unlink)(struct inode *, struct dentry *);\n\tint (*inode_symlink)(struct inode *, struct dentry *, const char *);\n\tint (*inode_mkdir)(struct inode *, struct dentry *, umode_t);\n\tint (*inode_rmdir)(struct inode *, struct dentry *);\n\tint (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t);\n\tint (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *);\n\tint (*inode_readlink)(struct dentry *);\n\tint (*inode_follow_link)(struct dentry *, struct inode *, bool);\n\tint (*inode_permission)(struct inode *, int);\n\tint (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *);\n\tvoid (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int);\n\tint (*inode_getattr)(const struct path *);\n\tint (*inode_xattr_skipcap)(const char *);\n\tint (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int);\n\tvoid (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int);\n\tint (*inode_getxattr)(struct dentry *, const char *);\n\tint (*inode_listxattr)(struct dentry *);\n\tint (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *);\n\tvoid (*inode_post_removexattr)(struct dentry *, const char *);\n\tint (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *);\n\tvoid (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *);\n\tint (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tint (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tvoid (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tint (*inode_need_killpriv)(struct dentry *);\n\tint (*inode_killpriv)(struct mnt_idmap *, struct dentry *);\n\tint (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool);\n\tint (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int);\n\tint (*inode_listsecurity)(struct inode *, char *, size_t);\n\tvoid (*inode_getlsmprop)(struct inode *, struct lsm_prop *);\n\tint (*inode_copy_up)(struct dentry *, struct cred **);\n\tint (*inode_copy_up_xattr)(struct dentry *, const char *);\n\tint (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t);\n\tint (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *);\n\tint (*file_permission)(struct file *, int);\n\tint (*file_alloc_security)(struct file *);\n\tvoid (*file_release)(struct file *);\n\tvoid (*file_free_security)(struct file *);\n\tint (*file_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int);\n\tint (*mmap_addr)(long unsigned int);\n\tint (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int);\n\tint (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int);\n\tint (*file_lock)(struct file *, unsigned int);\n\tint (*file_fcntl)(struct file *, unsigned int, long unsigned int);\n\tvoid (*file_set_fowner)(struct file *);\n\tint (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int);\n\tint (*file_receive)(struct file *);\n\tint (*file_open)(struct file *);\n\tint (*file_post_open)(struct file *, int);\n\tint (*file_truncate)(struct file *);\n\tint (*task_alloc)(struct task_struct *, long unsigned int);\n\tvoid (*task_free)(struct task_struct *);\n\tint (*cred_alloc_blank)(struct cred *, gfp_t);\n\tvoid (*cred_free)(struct cred *);\n\tint (*cred_prepare)(struct cred *, const struct cred *, gfp_t);\n\tvoid (*cred_transfer)(struct cred *, const struct cred *);\n\tvoid (*cred_getsecid)(const struct cred *, u32 *);\n\tvoid (*cred_getlsmprop)(const struct cred *, struct lsm_prop *);\n\tint (*kernel_act_as)(struct cred *, u32);\n\tint (*kernel_create_files_as)(struct cred *, struct inode *);\n\tint (*kernel_module_request)(char *);\n\tint (*kernel_load_data)(enum kernel_load_data_id, bool);\n\tint (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *);\n\tint (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool);\n\tint (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id);\n\tint (*task_fix_setuid)(struct cred *, const struct cred *, int);\n\tint (*task_fix_setgid)(struct cred *, const struct cred *, int);\n\tint (*task_fix_setgroups)(struct cred *, const struct cred *);\n\tint (*task_setpgid)(struct task_struct *, pid_t);\n\tint (*task_getpgid)(struct task_struct *);\n\tint (*task_getsid)(struct task_struct *);\n\tvoid (*current_getlsmprop_subj)(struct lsm_prop *);\n\tvoid (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *);\n\tint (*task_setnice)(struct task_struct *, int);\n\tint (*task_setioprio)(struct task_struct *, int);\n\tint (*task_getioprio)(struct task_struct *);\n\tint (*task_prlimit)(const struct cred *, const struct cred *, unsigned int);\n\tint (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *);\n\tint (*task_setscheduler)(struct task_struct *);\n\tint (*task_getscheduler)(struct task_struct *);\n\tint (*task_movememory)(struct task_struct *);\n\tint (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *);\n\tint (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tvoid (*task_to_inode)(struct task_struct *, struct inode *);\n\tint (*userns_create)(const struct cred *);\n\tint (*ipc_permission)(struct kern_ipc_perm *, short int);\n\tvoid (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *);\n\tint (*msg_msg_alloc_security)(struct msg_msg *);\n\tvoid (*msg_msg_free_security)(struct msg_msg *);\n\tint (*msg_queue_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*msg_queue_free_security)(struct kern_ipc_perm *);\n\tint (*msg_queue_associate)(struct kern_ipc_perm *, int);\n\tint (*msg_queue_msgctl)(struct kern_ipc_perm *, int);\n\tint (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int);\n\tint (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int);\n\tint (*shm_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*shm_free_security)(struct kern_ipc_perm *);\n\tint (*shm_associate)(struct kern_ipc_perm *, int);\n\tint (*shm_shmctl)(struct kern_ipc_perm *, int);\n\tint (*shm_shmat)(struct kern_ipc_perm *, char *, int);\n\tint (*sem_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*sem_free_security)(struct kern_ipc_perm *);\n\tint (*sem_associate)(struct kern_ipc_perm *, int);\n\tint (*sem_semctl)(struct kern_ipc_perm *, int);\n\tint (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int);\n\tint (*netlink_send)(struct sock *, struct sk_buff *);\n\tvoid (*d_instantiate)(struct dentry *, struct inode *);\n\tint (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32);\n\tint (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32);\n\tint (*getprocattr)(struct task_struct *, const char *, char **);\n\tint (*setprocattr)(const char *, void *, size_t);\n\tint (*ismaclabel)(const char *);\n\tint (*secid_to_secctx)(u32, struct lsm_context *);\n\tint (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *);\n\tint (*secctx_to_secid)(const char *, u32, u32 *);\n\tvoid (*release_secctx)(struct lsm_context *);\n\tvoid (*inode_invalidate_secctx)(struct inode *);\n\tint (*inode_notifysecctx)(struct inode *, void *, u32);\n\tint (*inode_setsecctx)(struct dentry *, void *, u32);\n\tint (*inode_getsecctx)(struct inode *, struct lsm_context *);\n\tint (*unix_stream_connect)(struct sock *, struct sock *, struct sock *);\n\tint (*unix_may_send)(struct socket *, struct socket *);\n\tint (*socket_create)(int, int, int, int);\n\tint (*socket_post_create)(struct socket *, int, int, int, int);\n\tint (*socket_socketpair)(struct socket *, struct socket *);\n\tint (*socket_bind)(struct socket *, struct sockaddr *, int);\n\tint (*socket_connect)(struct socket *, struct sockaddr *, int);\n\tint (*socket_listen)(struct socket *, int);\n\tint (*socket_accept)(struct socket *, struct socket *);\n\tint (*socket_sendmsg)(struct socket *, struct msghdr *, int);\n\tint (*socket_recvmsg)(struct socket *, struct msghdr *, int, int);\n\tint (*socket_getsockname)(struct socket *);\n\tint (*socket_getpeername)(struct socket *);\n\tint (*socket_getsockopt)(struct socket *, int, int);\n\tint (*socket_setsockopt)(struct socket *, int, int);\n\tint (*socket_shutdown)(struct socket *, int);\n\tint (*socket_sock_rcv_skb)(struct sock *, struct sk_buff *);\n\tint (*socket_getpeersec_stream)(struct socket *, sockptr_t, sockptr_t, unsigned int);\n\tint (*socket_getpeersec_dgram)(struct socket *, struct sk_buff *, u32 *);\n\tint (*sk_alloc_security)(struct sock *, int, gfp_t);\n\tvoid (*sk_free_security)(struct sock *);\n\tvoid (*sk_clone_security)(const struct sock *, struct sock *);\n\tvoid (*sk_getsecid)(const struct sock *, u32 *);\n\tvoid (*sock_graft)(struct sock *, struct socket *);\n\tint (*inet_conn_request)(const struct sock *, struct sk_buff *, struct request_sock *);\n\tvoid (*inet_csk_clone)(struct sock *, const struct request_sock *);\n\tvoid (*inet_conn_established)(struct sock *, struct sk_buff *);\n\tint (*secmark_relabel_packet)(u32);\n\tvoid (*secmark_refcount_inc)(void);\n\tvoid (*secmark_refcount_dec)(void);\n\tvoid (*req_classify_flow)(const struct request_sock *, struct flowi_common *);\n\tint (*tun_dev_alloc_security)(void *);\n\tint (*tun_dev_create)(void);\n\tint (*tun_dev_attach_queue)(void *);\n\tint (*tun_dev_attach)(struct sock *, void *);\n\tint (*tun_dev_open)(void *);\n\tint (*sctp_assoc_request)(struct sctp_association *, struct sk_buff *);\n\tint (*sctp_bind_connect)(struct sock *, int, struct sockaddr *, int);\n\tvoid (*sctp_sk_clone)(struct sctp_association *, struct sock *, struct sock *);\n\tint (*sctp_assoc_established)(struct sctp_association *, struct sk_buff *);\n\tint (*mptcp_add_subflow)(struct sock *, struct sock *);\n\tint (*key_alloc)(struct key *, const struct cred *, long unsigned int);\n\tint (*key_permission)(key_ref_t, const struct cred *, enum key_need_perm);\n\tint (*key_getsecurity)(struct key *, char **);\n\tvoid (*key_post_create_or_update)(struct key *, struct key *, const void *, size_t, long unsigned int, bool);\n\tint (*audit_rule_init)(u32, u32, char *, void **, gfp_t);\n\tint (*audit_rule_known)(struct audit_krule *);\n\tint (*audit_rule_match)(struct lsm_prop *, u32, u32, void *);\n\tvoid (*audit_rule_free)(void *);\n\tint (*bpf)(int, union bpf_attr *, unsigned int);\n\tint (*bpf_map)(struct bpf_map *, fmode_t);\n\tint (*bpf_prog)(struct bpf_prog *);\n\tint (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *);\n\tvoid (*bpf_map_free)(struct bpf_map *);\n\tint (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *);\n\tvoid (*bpf_prog_free)(struct bpf_prog *);\n\tint (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *);\n\tvoid (*bpf_token_free)(struct bpf_token *);\n\tint (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd);\n\tint (*bpf_token_capable)(const struct bpf_token *, int);\n\tint (*locked_down)(enum lockdown_reason);\n\tint (*perf_event_open)(struct perf_event_attr *, int);\n\tint (*perf_event_alloc)(struct perf_event *);\n\tint (*perf_event_read)(struct perf_event *);\n\tint (*perf_event_write)(struct perf_event *);\n\tint (*uring_override_creds)(const struct cred *);\n\tint (*uring_sqpoll)(void);\n\tint (*uring_cmd)(struct io_uring_cmd *);\n\tvoid (*initramfs_populated)(void);\n\tint (*bdev_alloc_security)(struct block_device *);\n\tvoid (*bdev_free_security)(struct block_device *);\n\tint (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t);\n\tvoid *lsm_func_addr;\n};\n\nstruct security_hook_list {\n\tstruct lsm_static_call *scalls;\n\tunion security_list_options hook;\n\tconst struct lsm_id *lsmid;\n};\n\nstruct secvar_operations {\n\tint (*get)(const char *, u64, u8 *, u64 *);\n\tint (*get_next)(const char *, u64 *, u64);\n\tint (*set)(const char *, u64, u8 *, u64);\n\tssize_t (*format)(char *, size_t);\n\tint (*max_size)(u64 *);\n\tconst struct attribute **config_attrs;\n\tconst char * const *var_names;\n};\n\nstruct seg6_pernet_data {\n\tstruct mutex lock;\n\tstruct in6_addr *tun_src;\n};\n\nstruct sel_netif {\n\tstruct list_head list;\n\tstruct netif_security_struct nsec;\n\tstruct callback_head callback_head;\n};\n\nstruct sel_netnode {\n\tstruct netnode_security_struct nsec;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct sel_netnode_bkt {\n\tunsigned int size;\n\tstruct list_head list;\n};\n\nstruct sel_netport {\n\tstruct netport_security_struct psec;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct sel_netport_bkt {\n\tint size;\n\tstruct list_head list;\n};\n\nstruct select_data {\n\tstruct dentry *start;\n\tunion {\n\t\tlong int found;\n\t\tstruct dentry *victim;\n\t};\n\tstruct list_head dispose;\n};\n\nstruct selinux_audit_data {\n\tu32 ssid;\n\tu32 tsid;\n\tu16 tclass;\n\tu32 requested;\n\tu32 audited;\n\tu32 denied;\n\tint result;\n};\n\nstruct selinux_audit_rule {\n\tu32 au_seqno;\n\tstruct context au_ctxt;\n};\n\nstruct selinux_avc {\n\tunsigned int avc_cache_threshold;\n\tstruct avc_cache avc_cache;\n};\n\nstruct selinux_fs_info {\n\tstruct dentry *bool_dir;\n\tunsigned int bool_num;\n\tchar **bool_pending_names;\n\tint *bool_pending_values;\n\tstruct dentry *class_dir;\n\tlong unsigned int last_class_ino;\n\tbool policy_opened;\n\tstruct dentry *policycap_dir;\n\tlong unsigned int last_ino;\n\tstruct super_block *sb;\n};\n\nstruct selinux_kernel_status {\n\tu32 version;\n\tu32 sequence;\n\tu32 enforcing;\n\tu32 policyload;\n\tu32 deny_unknown;\n};\n\nstruct selinux_policy;\n\nstruct selinux_policy_convert_data;\n\nstruct selinux_load_state {\n\tstruct selinux_policy *policy;\n\tstruct selinux_policy_convert_data *convert_data;\n};\n\nstruct selinux_mapping;\n\nstruct selinux_map {\n\tstruct selinux_mapping *mapping;\n\tu16 size;\n};\n\nstruct selinux_mapping {\n\tu16 value;\n\tu16 num_perms;\n\tu32 perms[32];\n};\n\nstruct selinux_mnt_opts {\n\tu32 fscontext_sid;\n\tu32 context_sid;\n\tu32 rootcontext_sid;\n\tu32 defcontext_sid;\n};\n\nstruct sidtab;\n\nstruct selinux_policy {\n\tstruct sidtab *sidtab;\n\tstruct policydb policydb;\n\tstruct selinux_map map;\n\tu32 latest_granting;\n};\n\nstruct sidtab_convert_params {\n\tstruct convert_context_args *args;\n\tstruct sidtab *target;\n};\n\nstruct selinux_policy_convert_data {\n\tstruct convert_context_args args;\n\tstruct sidtab_convert_params sidtab_params;\n};\n\nstruct selinux_state {\n\tbool enforcing;\n\tbool initialized;\n\tbool policycap[10];\n\tstruct page *status_page;\n\tstruct mutex status_lock;\n\tstruct selinux_policy *policy;\n\tstruct mutex policy_mutex;\n};\n\nstruct selnl_msg_policyload {\n\t__u32 seqno;\n};\n\nstruct selnl_msg_setenforce {\n\t__s32 val;\n};\n\nstruct sem {\n\tint semval;\n\tstruct pid *sempid;\n\tspinlock_t lock;\n\tstruct list_head pending_alter;\n\tstruct list_head pending_const;\n\ttime64_t sem_otime;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sem_array {\n\tstruct kern_ipc_perm sem_perm;\n\ttime64_t sem_ctime;\n\tstruct list_head pending_alter;\n\tstruct list_head pending_const;\n\tstruct list_head list_id;\n\tint sem_nsems;\n\tint complex_count;\n\tunsigned int use_global_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sem sems[0];\n};\n\nstruct sem_undo;\n\nstruct sem_queue {\n\tstruct list_head list;\n\tstruct task_struct *sleeper;\n\tstruct sem_undo *undo;\n\tstruct pid *pid;\n\tint status;\n\tstruct sembuf *sops;\n\tstruct sembuf *blocking;\n\tint nsops;\n\tbool alter;\n\tbool dupsop;\n};\n\nstruct sem_undo_list;\n\nstruct sem_undo {\n\tstruct list_head list_proc;\n\tstruct callback_head rcu;\n\tstruct sem_undo_list *ulp;\n\tstruct list_head list_id;\n\tint semid;\n\tshort int semadj[0];\n};\n\nstruct sem_undo_list {\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tstruct list_head list_proc;\n};\n\nstruct semaphore_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tbool up;\n};\n\nstruct sembuf {\n\tshort unsigned int sem_num;\n\tshort int sem_op;\n\tshort int sem_flg;\n};\n\nstruct semid64_ds {\n\tstruct ipc64_perm sem_perm;\n\tlong int sem_otime;\n\tlong int sem_ctime;\n\tlong unsigned int sem_nsems;\n\tlong unsigned int __unused3;\n\tlong unsigned int __unused4;\n};\n\nstruct semid_ds {\n\tstruct ipc_perm sem_perm;\n\t__kernel_old_time_t sem_otime;\n\t__kernel_old_time_t sem_ctime;\n\tstruct sem *sem_base;\n\tstruct sem_queue *sem_pending;\n\tstruct sem_queue **sem_pending_last;\n\tstruct sem_undo *undo;\n\tshort unsigned int sem_nsems;\n};\n\nstruct seminfo {\n\tint semmap;\n\tint semmni;\n\tint semmns;\n\tint semmnu;\n\tint semmsl;\n\tint semopm;\n\tint semume;\n\tint semusz;\n\tint semvmx;\n\tint semaem;\n};\n\nstruct send_signal_irq_work {\n\tstruct irq_work irq_work;\n\tstruct task_struct *task;\n\tu32 sig;\n\tenum pid_type type;\n\tbool has_siginfo;\n\tstruct kernel_siginfo info;\n};\n\nstruct sensor_data {\n\tu32 id;\n\tu32 hwmon_index;\n\tu32 opal_index;\n\tenum sensors type;\n\tchar label[64];\n\tchar name[32];\n\tstruct device_attribute dev_attr;\n\tstruct sensor_group_data *sgrp_data;\n};\n\nstruct sensor_device_attribute {\n\tstruct device_attribute dev_attr;\n\tint index;\n};\n\nstruct sensor_group {\n\tconst char *name;\n\tstruct attribute_group group;\n\tu32 attr_count;\n\tu32 hwmon_index;\n};\n\nstruct sg_attr;\n\nstruct sensor_group___2 {\n\tchar name[20];\n\tstruct attribute_group sg;\n\tstruct sg_attr *sgattrs;\n};\n\nstruct sensor_group_data {\n\tstruct mutex mutex;\n\tu32 gid;\n\tbool enable;\n};\n\nstruct seq_operations {\n\tvoid * (*start)(struct seq_file *, loff_t *);\n\tvoid (*stop)(struct seq_file *, void *);\n\tvoid * (*next)(struct seq_file *, void *, loff_t *);\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct seqcount_rwlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_rwlock seqcount_rwlock_t;\n\nstruct serial8250_config {\n\tconst char *name;\n\tshort unsigned int fifo_size;\n\tshort unsigned int tx_loadsz;\n\tunsigned char fcr;\n\tunsigned char rxtrig_bytes[4];\n\tunsigned int flags;\n};\n\nstruct serial_ctrl_device {\n\tstruct device dev;\n\tstruct ida port_ida;\n};\n\nstruct serial_icounter_struct {\n\tint cts;\n\tint dsr;\n\tint rng;\n\tint dcd;\n\tint rx;\n\tint tx;\n\tint frame;\n\tint overrun;\n\tint parity;\n\tint brk;\n\tint buf_overrun;\n\tint reserved[9];\n};\n\nstruct serial_in_rdev {\n\tstruct rb_root_cached serial_rb;\n\tspinlock_t serial_lock;\n\twait_queue_head_t serial_io_wait;\n};\n\nstruct serial_info {\n\tstruct rb_node node;\n\tsector_t start;\n\tsector_t last;\n\tsector_t _subtree_last;\n};\n\nstruct serial_port_device {\n\tstruct device dev;\n\tstruct uart_port *port;\n\tunsigned int tx_enabled: 1;\n};\n\nstruct serial_private {\n\tstruct pci_dev *dev;\n\tunsigned int nr;\n\tstruct pci_serial_quirk *quirk;\n\tconst struct pciserial_board *board;\n\tint line[0];\n};\n\nstruct serial_struct {\n\tint type;\n\tint line;\n\tunsigned int port;\n\tint irq;\n\tint flags;\n\tint xmit_fifo_size;\n\tint custom_divisor;\n\tint baud_base;\n\tshort unsigned int close_delay;\n\tchar io_type;\n\tchar reserved_char[1];\n\tint hub6;\n\tshort unsigned int closing_wait;\n\tshort unsigned int closing_wait2;\n\tunsigned char *iomem_base;\n\tshort unsigned int iomem_reg_shift;\n\tunsigned int port_high;\n\tlong unsigned int iomap_base;\n};\n\ntypedef struct serio *class_serio_pause_rx_t;\n\nstruct serio_device_id {\n\t__u8 type;\n\t__u8 extra;\n\t__u8 id;\n\t__u8 proto;\n};\n\nstruct serio_driver;\n\nstruct serio {\n\tvoid *port_data;\n\tchar name[32];\n\tchar phys[32];\n\tchar firmware_id[128];\n\tbool manual_bind;\n\tstruct serio_device_id id;\n\tspinlock_t lock;\n\tint (*write)(struct serio *, unsigned char);\n\tint (*open)(struct serio *);\n\tvoid (*close)(struct serio *);\n\tint (*start)(struct serio *);\n\tvoid (*stop)(struct serio *);\n\tstruct serio *parent;\n\tstruct list_head child_node;\n\tstruct list_head children;\n\tunsigned int depth;\n\tstruct serio_driver *drv;\n\tstruct mutex drv_mutex;\n\tstruct device dev;\n\tstruct list_head node;\n\tstruct mutex *ps2_cmd_mutex;\n};\n\nstruct serio_driver {\n\tconst char *description;\n\tconst struct serio_device_id *id_table;\n\tbool manual_bind;\n\tvoid (*write_wakeup)(struct serio *);\n\tirqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int);\n\tint (*connect)(struct serio *, struct serio_driver *);\n\tint (*reconnect)(struct serio *);\n\tint (*fast_reconnect)(struct serio *);\n\tvoid (*disconnect)(struct serio *);\n\tvoid (*cleanup)(struct serio *);\n\tstruct device_driver driver;\n};\n\nstruct serio_event {\n\tenum serio_event_type type;\n\tvoid *object;\n\tstruct module *owner;\n\tstruct list_head node;\n};\n\nstruct set_affinity_pending {\n\trefcount_t refs;\n\tunsigned int stop_pending;\n\tstruct completion done;\n\tstruct cpu_stop_work stop_work;\n\tstruct migration_arg arg;\n};\n\nstruct set_config_request {\n\tstruct usb_device *udev;\n\tint config;\n\tstruct work_struct work;\n\tstruct list_head node;\n};\n\nstruct set_event_iter {\n\tenum set_event_iter_type type;\n\tunion {\n\t\tstruct trace_event_file *file;\n\t\tstruct event_mod_load *event_mod;\n\t};\n};\n\nstruct sfp_eeprom_base {\n\tu8 phys_id;\n\tu8 phys_ext_id;\n\tu8 connector;\n\tu8 if_1x_copper_passive: 1;\n\tu8 if_1x_copper_active: 1;\n\tu8 if_1x_lx: 1;\n\tu8 if_1x_sx: 1;\n\tu8 e10g_base_sr: 1;\n\tu8 e10g_base_lr: 1;\n\tu8 e10g_base_lrm: 1;\n\tu8 e10g_base_er: 1;\n\tu8 sonet_oc3_short_reach: 1;\n\tu8 sonet_oc3_smf_intermediate_reach: 1;\n\tu8 sonet_oc3_smf_long_reach: 1;\n\tu8 unallocated_5_3: 1;\n\tu8 sonet_oc12_short_reach: 1;\n\tu8 sonet_oc12_smf_intermediate_reach: 1;\n\tu8 sonet_oc12_smf_long_reach: 1;\n\tu8 unallocated_5_7: 1;\n\tu8 sonet_oc48_short_reach: 1;\n\tu8 sonet_oc48_intermediate_reach: 1;\n\tu8 sonet_oc48_long_reach: 1;\n\tu8 sonet_reach_bit2: 1;\n\tu8 sonet_reach_bit1: 1;\n\tu8 sonet_oc192_short_reach: 1;\n\tu8 escon_smf_1310_laser: 1;\n\tu8 escon_mmf_1310_led: 1;\n\tu8 e1000_base_sx: 1;\n\tu8 e1000_base_lx: 1;\n\tu8 e1000_base_cx: 1;\n\tu8 e1000_base_t: 1;\n\tu8 e100_base_lx: 1;\n\tu8 e100_base_fx: 1;\n\tu8 e_base_bx10: 1;\n\tu8 e_base_px: 1;\n\tu8 fc_tech_electrical_inter_enclosure: 1;\n\tu8 fc_tech_lc: 1;\n\tu8 fc_tech_sa: 1;\n\tu8 fc_ll_m: 1;\n\tu8 fc_ll_l: 1;\n\tu8 fc_ll_i: 1;\n\tu8 fc_ll_s: 1;\n\tu8 fc_ll_v: 1;\n\tu8 unallocated_8_0: 1;\n\tu8 unallocated_8_1: 1;\n\tu8 sfp_ct_passive: 1;\n\tu8 sfp_ct_active: 1;\n\tu8 fc_tech_ll: 1;\n\tu8 fc_tech_sl: 1;\n\tu8 fc_tech_sn: 1;\n\tu8 fc_tech_electrical_intra_enclosure: 1;\n\tu8 fc_media_sm: 1;\n\tu8 unallocated_9_1: 1;\n\tu8 fc_media_m5: 1;\n\tu8 fc_media_m6: 1;\n\tu8 fc_media_tv: 1;\n\tu8 fc_media_mi: 1;\n\tu8 fc_media_tp: 1;\n\tu8 fc_media_tw: 1;\n\tu8 fc_speed_100: 1;\n\tu8 unallocated_10_1: 1;\n\tu8 fc_speed_200: 1;\n\tu8 fc_speed_3200: 1;\n\tu8 fc_speed_400: 1;\n\tu8 fc_speed_1600: 1;\n\tu8 fc_speed_800: 1;\n\tu8 fc_speed_1200: 1;\n\tu8 encoding;\n\tu8 br_nominal;\n\tu8 rate_id;\n\tu8 link_len[6];\n\tchar vendor_name[16];\n\tu8 extended_cc;\n\tchar vendor_oui[3];\n\tchar vendor_pn[16];\n\tchar vendor_rev[4];\n\tunion {\n\t\t__be16 optical_wavelength;\n\t\t__be16 cable_compliance;\n\t\tstruct {\n\t\t\tu8 sff8431_app_e: 1;\n\t\t\tu8 fc_pi_4_app_h: 1;\n\t\t\tu8 reserved60_2: 6;\n\t\t\tu8 reserved61: 8;\n\t\t} passive;\n\t\tstruct {\n\t\t\tu8 sff8431_app_e: 1;\n\t\t\tu8 fc_pi_4_app_h: 1;\n\t\t\tu8 sff8431_lim: 1;\n\t\t\tu8 fc_pi_4_lim: 1;\n\t\t\tu8 reserved60_4: 4;\n\t\t\tu8 reserved61: 8;\n\t\t} active;\n\t};\n\tu8 reserved62;\n\tu8 cc_base;\n};\n\nstruct sfp_eeprom_ext {\n\t__be16 options;\n\tu8 br_max;\n\tu8 br_min;\n\tchar vendor_sn[16];\n\tchar datecode[8];\n\tu8 diagmon;\n\tu8 enhopts;\n\tu8 sff8472_compliance;\n\tu8 cc_ext;\n};\n\nstruct sfp_eeprom_id {\n\tstruct sfp_eeprom_base base;\n\tstruct sfp_eeprom_ext ext;\n};\n\nstruct sfp_upstream_ops {\n\tvoid (*attach)(void *, struct sfp_bus *);\n\tvoid (*detach)(void *, struct sfp_bus *);\n\tint (*module_insert)(void *, const struct sfp_eeprom_id *);\n\tvoid (*module_remove)(void *);\n\tint (*module_start)(void *);\n\tvoid (*module_stop)(void *);\n\tvoid (*link_down)(void *);\n\tvoid (*link_up)(void *);\n\tint (*connect_phy)(void *, struct phy_device *);\n\tvoid (*disconnect_phy)(void *, struct phy_device *);\n};\n\nstruct sg {\n\tstruct ext4_group_info info;\n\text4_grpblk_t counters[18];\n};\n\nstruct sg_append_table {\n\tstruct sg_table sgt;\n\tstruct scatterlist *prv;\n\tunsigned int total_nents;\n};\n\nstruct sg_attr {\n\tu32 handle;\n\tstruct kobj_attribute attr;\n};\n\nstruct sg_device {\n\tstruct scsi_device *device;\n\twait_queue_head_t open_wait;\n\tstruct mutex open_rel_lock;\n\tint sg_tablesize;\n\tu32 index;\n\tstruct list_head sfds;\n\trwlock_t sfd_lock;\n\tatomic_t detaching;\n\tbool exclude;\n\tint open_cnt;\n\tchar sgdebug;\n\tchar name[32];\n\tstruct cdev *cdev;\n\tstruct kref d_ref;\n};\n\ntypedef struct sg_device Sg_device;\n\nstruct sg_page_iter {\n\tstruct scatterlist *sg;\n\tunsigned int sg_pgoffset;\n\tunsigned int __nents;\n\tint __pg_advance;\n};\n\nstruct sg_dma_page_iter {\n\tstruct sg_page_iter base;\n};\n\nstruct sg_scatter_hold {\n\tshort unsigned int k_use_sg;\n\tunsigned int sglist_len;\n\tunsigned int bufflen;\n\tstruct page **pages;\n\tint page_order;\n\tchar dio_in_use;\n\tunsigned char cmd_opcode;\n};\n\ntypedef struct sg_scatter_hold Sg_scatter_hold;\n\nstruct sg_io_hdr {\n\tint interface_id;\n\tint dxfer_direction;\n\tunsigned char cmd_len;\n\tunsigned char mx_sb_len;\n\tshort unsigned int iovec_count;\n\tunsigned int dxfer_len;\n\tvoid *dxferp;\n\tunsigned char *cmdp;\n\tvoid *sbp;\n\tunsigned int timeout;\n\tunsigned int flags;\n\tint pack_id;\n\tvoid *usr_ptr;\n\tunsigned char status;\n\tunsigned char masked_status;\n\tunsigned char msg_status;\n\tunsigned char sb_len_wr;\n\tshort unsigned int host_status;\n\tshort unsigned int driver_status;\n\tint resid;\n\tunsigned int duration;\n\tunsigned int info;\n};\n\ntypedef struct sg_io_hdr sg_io_hdr_t;\n\nstruct sg_fd;\n\nstruct sg_request {\n\tstruct list_head entry;\n\tstruct sg_fd *parentfp;\n\tSg_scatter_hold data;\n\tsg_io_hdr_t header;\n\tunsigned char sense_b[96];\n\tchar res_used;\n\tchar orphan;\n\tchar sg_io_owned;\n\tchar done;\n\tstruct request *rq;\n\tstruct bio *bio;\n\tstruct execute_work ew;\n};\n\ntypedef struct sg_request Sg_request;\n\nstruct sg_fd {\n\tstruct list_head sfd_siblings;\n\tstruct sg_device *parentdp;\n\twait_queue_head_t read_wait;\n\trwlock_t rq_list_lock;\n\tstruct mutex f_mutex;\n\tint timeout;\n\tint timeout_user;\n\tSg_scatter_hold reserve;\n\tstruct list_head rq_list;\n\tstruct fasync_struct *async_qp;\n\tSg_request req_arr[16];\n\tchar force_packid;\n\tchar cmd_q;\n\tunsigned char next_cmd_len;\n\tchar keep_orphan;\n\tchar mmap_called;\n\tchar res_in_use;\n\tstruct kref f_ref;\n\tstruct execute_work ew;\n};\n\ntypedef struct sg_fd Sg_fd;\n\nstruct sg_header {\n\tint pack_len;\n\tint reply_len;\n\tint pack_id;\n\tint result;\n\tunsigned int twelve_byte: 1;\n\tunsigned int target_status: 5;\n\tunsigned int host_status: 8;\n\tunsigned int driver_status: 8;\n\tunsigned int other_flags: 10;\n\tunsigned char sense_buffer[16];\n};\n\nstruct sg_io_v4 {\n\t__s32 guard;\n\t__u32 protocol;\n\t__u32 subprotocol;\n\t__u32 request_len;\n\t__u64 request;\n\t__u64 request_tag;\n\t__u32 request_attr;\n\t__u32 request_priority;\n\t__u32 request_extra;\n\t__u32 max_response_len;\n\t__u64 response;\n\t__u32 dout_iovec_count;\n\t__u32 dout_xfer_len;\n\t__u32 din_iovec_count;\n\t__u32 din_xfer_len;\n\t__u64 dout_xferp;\n\t__u64 din_xferp;\n\t__u32 timeout;\n\t__u32 flags;\n\t__u64 usr_ptr;\n\t__u32 spare_in;\n\t__u32 driver_status;\n\t__u32 transport_status;\n\t__u32 device_status;\n\t__u32 retry_delay;\n\t__u32 info;\n\t__u32 duration;\n\t__u32 response_len;\n\t__s32 din_resid;\n\t__s32 dout_resid;\n\t__u64 generated_tag;\n\t__u32 spare_out;\n\t__u32 padding;\n};\n\nstruct sg_mapping_iter {\n\tstruct page *page;\n\tvoid *addr;\n\tsize_t length;\n\tsize_t consumed;\n\tstruct sg_page_iter piter;\n\tunsigned int __offset;\n\tunsigned int __remaining;\n\tunsigned int __flags;\n};\n\nstruct sg_ops_info {\n\tint opal_no;\n\tconst char *attr_name;\n\tssize_t (*store)(struct kobject *, struct kobj_attribute *, const char *, size_t);\n};\n\nstruct sg_pool {\n\tsize_t size;\n\tchar *name;\n\tstruct kmem_cache *slab;\n\tmempool_t *pool;\n};\n\nstruct sg_proc_deviter {\n\tloff_t index;\n\tsize_t max;\n};\n\nstruct sg_req_info {\n\tchar req_state;\n\tchar orphan;\n\tchar sg_io_owned;\n\tchar problem;\n\tint pack_id;\n\tvoid *usr_ptr;\n\tunsigned int duration;\n\tint unused;\n};\n\ntypedef struct sg_req_info sg_req_info_t;\n\nstruct sg_scsi_id {\n\tint host_no;\n\tint channel;\n\tint scsi_id;\n\tint lun;\n\tint scsi_type;\n\tshort int h_cmd_per_lun;\n\tshort int d_queue_depth;\n\tint unused[2];\n};\n\ntypedef struct sg_scsi_id sg_scsi_id_t;\n\nstruct sgttyb {\n\tchar sg_ispeed;\n\tchar sg_ospeed;\n\tchar sg_erase;\n\tchar sg_kill;\n\tshort int sg_flags;\n};\n\nstruct sha1_state {\n\tu32 state[5];\n\tu64 count;\n\tu8 buffer[64];\n};\n\nstruct sha256_state {\n\tu32 state[8];\n\tu64 count;\n\tu8 buf[64];\n};\n\nstruct sha512_state {\n\tu64 state[8];\n\tu64 count[2];\n\tu8 buf[128];\n};\n\nstruct shared_policy {\n\tstruct rb_root root;\n\trwlock_t lock;\n};\n\nstruct shash_desc;\n\nstruct shash_alg {\n\tint (*init)(struct shash_desc *);\n\tint (*update)(struct shash_desc *, const u8 *, unsigned int);\n\tint (*final)(struct shash_desc *, u8 *);\n\tint (*finup)(struct shash_desc *, const u8 *, unsigned int, u8 *);\n\tint (*digest)(struct shash_desc *, const u8 *, unsigned int, u8 *);\n\tint (*export)(struct shash_desc *, void *);\n\tint (*import)(struct shash_desc *, const void *);\n\tint (*setkey)(struct crypto_shash *, const u8 *, unsigned int);\n\tint (*init_tfm)(struct crypto_shash *);\n\tvoid (*exit_tfm)(struct crypto_shash *);\n\tint (*clone_tfm)(struct crypto_shash *, struct crypto_shash *);\n\tunsigned int descsize;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int digestsize;\n\t\t\tunsigned int statesize;\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct hash_alg_common halg;\n\t};\n};\n\nstruct shash_desc {\n\tstruct crypto_shash *tfm;\n\tvoid *__ctx[0];\n};\n\nstruct shash_instance {\n\tvoid (*free)(struct shash_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[104];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct shash_alg alg;\n\t};\n};\n\nstruct shm_file_data {\n\tint id;\n\tstruct ipc_namespace *ns;\n\tstruct file *file;\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct shm_info {\n\tint used_ids;\n\t__kernel_ulong_t shm_tot;\n\t__kernel_ulong_t shm_rss;\n\t__kernel_ulong_t shm_swp;\n\t__kernel_ulong_t swap_attempts;\n\t__kernel_ulong_t swap_successes;\n};\n\nstruct shmem_falloc {\n\twait_queue_head_t *waitq;\n\tlong unsigned int start;\n\tlong unsigned int next;\n\tlong unsigned int nr_falloced;\n\tlong unsigned int nr_unswapped;\n};\n\nstruct shmem_inode_info {\n\tspinlock_t lock;\n\tunsigned int seals;\n\tlong unsigned int flags;\n\tlong unsigned int alloced;\n\tlong unsigned int swapped;\n\tunion {\n\t\tstruct offset_ctx dir_offsets;\n\t\tstruct {\n\t\t\tstruct list_head shrinklist;\n\t\t\tstruct list_head swaplist;\n\t\t};\n\t};\n\tstruct timespec64 i_crtime;\n\tstruct shared_policy policy;\n\tstruct simple_xattrs xattrs;\n\tlong unsigned int fallocend;\n\tunsigned int fsflags;\n\tatomic_t stop_eviction;\n\tstruct inode vfs_inode;\n};\n\nstruct shmem_quota_limits {\n\tqsize_t usrquota_bhardlimit;\n\tqsize_t usrquota_ihardlimit;\n\tqsize_t grpquota_bhardlimit;\n\tqsize_t grpquota_ihardlimit;\n};\n\nstruct shmem_options {\n\tlong long unsigned int blocks;\n\tlong long unsigned int inodes;\n\tstruct mempolicy *mpol;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tbool full_inums;\n\tint huge;\n\tint seen;\n\tbool noswap;\n\tshort unsigned int quota_types;\n\tstruct shmem_quota_limits qlimits;\n};\n\nstruct shmem_sb_info {\n\tlong unsigned int max_blocks;\n\tstruct percpu_counter used_blocks;\n\tlong unsigned int max_inodes;\n\tlong unsigned int free_ispace;\n\traw_spinlock_t stat_lock;\n\tumode_t mode;\n\tunsigned char huge;\n\tkuid_t uid;\n\tkgid_t gid;\n\tbool full_inums;\n\tbool noswap;\n\tino_t next_ino;\n\tino_t *ino_batch;\n\tstruct mempolicy *mpol;\n\tspinlock_t shrinklist_lock;\n\tstruct list_head shrinklist;\n\tlong unsigned int shrinklist_len;\n\tstruct shmem_quota_limits qlimits;\n};\n\nstruct shmid64_ds {\n\tstruct ipc64_perm shm_perm;\n\tlong int shm_atime;\n\tlong int shm_dtime;\n\tlong int shm_ctime;\n\t__kernel_size_t shm_segsz;\n\t__kernel_pid_t shm_cpid;\n\t__kernel_pid_t shm_lpid;\n\tlong unsigned int shm_nattch;\n\tlong unsigned int __unused5;\n\tlong unsigned int __unused6;\n};\n\nstruct shmid_ds {\n\tstruct ipc_perm shm_perm;\n\tint shm_segsz;\n\t__kernel_old_time_t shm_atime;\n\t__kernel_old_time_t shm_dtime;\n\t__kernel_old_time_t shm_ctime;\n\t__kernel_ipc_pid_t shm_cpid;\n\t__kernel_ipc_pid_t shm_lpid;\n\tshort unsigned int shm_nattch;\n\tshort unsigned int shm_unused;\n\tvoid *shm_unused2;\n\tvoid *shm_unused3;\n};\n\nstruct shmid_kernel {\n\tstruct kern_ipc_perm shm_perm;\n\tstruct file *shm_file;\n\tlong unsigned int shm_nattch;\n\tlong unsigned int shm_segsz;\n\ttime64_t shm_atim;\n\ttime64_t shm_dtim;\n\ttime64_t shm_ctim;\n\tstruct pid *shm_cprid;\n\tstruct pid *shm_lprid;\n\tstruct ucounts *mlock_ucounts;\n\tstruct task_struct *shm_creator;\n\tstruct list_head shm_clist;\n\tstruct ipc_namespace *ns;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct shminfo {\n\tint shmmax;\n\tint shmmin;\n\tint shmmni;\n\tint shmseg;\n\tint shmall;\n};\n\nstruct shminfo64 {\n\tlong unsigned int shmmax;\n\tlong unsigned int shmmin;\n\tlong unsigned int shmmni;\n\tlong unsigned int shmseg;\n\tlong unsigned int shmall;\n\tlong unsigned int __unused1;\n\tlong unsigned int __unused2;\n\tlong unsigned int __unused3;\n\tlong unsigned int __unused4;\n};\n\nstruct show_busy_params {\n\tstruct seq_file *m;\n\tstruct blk_mq_hw_ctx *hctx;\n};\n\nstruct shrink_control {\n\tgfp_t gfp_mask;\n\tint nid;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int nr_scanned;\n\tstruct mem_cgroup *memcg;\n};\n\nstruct shrinker {\n\tlong unsigned int (*count_objects)(struct shrinker *, struct shrink_control *);\n\tlong unsigned int (*scan_objects)(struct shrinker *, struct shrink_control *);\n\tlong int batch;\n\tint seeks;\n\tunsigned int flags;\n\trefcount_t refcount;\n\tstruct completion done;\n\tstruct callback_head rcu;\n\tvoid *private_data;\n\tstruct list_head list;\n\tint id;\n\tatomic_long_t *nr_deferred;\n};\n\nstruct shrinker_info_unit;\n\nstruct shrinker_info {\n\tstruct callback_head rcu;\n\tint map_nr_max;\n\tstruct shrinker_info_unit *unit[0];\n};\n\nstruct shrinker_info_unit {\n\tatomic_long_t nr_deferred[64];\n\tlong unsigned int map[1];\n};\n\nstruct sibling_subcore_state {\n\tlong unsigned int flags;\n\tu8 in_guest[4];\n};\n\nstruct sidtab_node_inner;\n\nstruct sidtab_node_leaf;\n\nunion sidtab_entry_inner {\n\tstruct sidtab_node_inner *ptr_inner;\n\tstruct sidtab_node_leaf *ptr_leaf;\n};\n\nstruct sidtab_str_cache;\n\nstruct sidtab_entry {\n\tu32 sid;\n\tu32 hash;\n\tstruct context context;\n\tstruct sidtab_str_cache *cache;\n\tstruct hlist_node list;\n};\n\nstruct sidtab_isid_entry {\n\tint set;\n\tstruct sidtab_entry entry;\n};\n\nstruct sidtab {\n\tunion sidtab_entry_inner roots[3];\n\tu32 count;\n\tstruct sidtab_convert_params *convert;\n\tbool frozen;\n\tspinlock_t lock;\n\tu32 cache_free_slots;\n\tstruct list_head cache_lru_list;\n\tspinlock_t cache_lock;\n\tstruct sidtab_isid_entry isids[27];\n\tstruct hlist_head context_to_sid[512];\n};\n\nstruct sidtab_node_inner {\n\tunion sidtab_entry_inner entries[8192];\n};\n\nstruct sidtab_node_leaf {\n\tstruct sidtab_entry entries[630];\n};\n\nstruct sidtab_str_cache {\n\tstruct callback_head rcu_member;\n\tstruct list_head lru_member;\n\tstruct sidtab_entry *parent;\n\tu32 len;\n\tchar str[0];\n};\n\nstruct sig_alg {\n\tint (*sign)(struct crypto_sig *, const void *, unsigned int, void *, unsigned int);\n\tint (*verify)(struct crypto_sig *, const void *, unsigned int, const void *, unsigned int);\n\tint (*set_pub_key)(struct crypto_sig *, const void *, unsigned int);\n\tint (*set_priv_key)(struct crypto_sig *, const void *, unsigned int);\n\tunsigned int (*key_size)(struct crypto_sig *);\n\tunsigned int (*digest_size)(struct crypto_sig *);\n\tunsigned int (*max_size)(struct crypto_sig *);\n\tint (*init)(struct crypto_sig *);\n\tvoid (*exit)(struct crypto_sig *);\n\tstruct crypto_alg base;\n};\n\nstruct sig_instance {\n\tvoid (*free)(struct sig_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[72];\n\t\t\tstruct crypto_instance base;\n\t\t};\n\t\tstruct sig_alg alg;\n\t};\n};\n\ntypedef struct sigevent sigevent_t;\n\nstruct sighand_struct {\n\tspinlock_t siglock;\n\trefcount_t count;\n\twait_queue_head_t signalfd_wqh;\n\tstruct k_sigaction action[64];\n};\n\nstruct signal_frame_64 {\n\tchar dummy[128];\n\tstruct ucontext uc;\n\tlong unsigned int unused[2];\n\tunsigned int tramp[6];\n\tstruct siginfo *pinfo;\n\tvoid *puc;\n\tstruct siginfo info;\n\tchar abigap[288];\n};\n\nstruct sigpending {\n\tstruct list_head list;\n\tsigset_t signal;\n};\n\nstruct task_cputime_atomic {\n\tatomic64_t utime;\n\tatomic64_t stime;\n\tatomic64_t sum_exec_runtime;\n};\n\nstruct thread_group_cputimer {\n\tstruct task_cputime_atomic cputime_atomic;\n};\n\nstruct task_io_accounting {\n\tu64 rchar;\n\tu64 wchar;\n\tu64 syscr;\n\tu64 syscw;\n\tu64 read_bytes;\n\tu64 write_bytes;\n\tu64 cancelled_write_bytes;\n};\n\nstruct taskstats;\n\nstruct tty_audit_buf;\n\nstruct signal_struct {\n\trefcount_t sigcnt;\n\tatomic_t live;\n\tint nr_threads;\n\tint quick_threads;\n\tstruct list_head thread_head;\n\twait_queue_head_t wait_chldexit;\n\tstruct task_struct *curr_target;\n\tstruct sigpending shared_pending;\n\tstruct hlist_head multiprocess;\n\tint group_exit_code;\n\tint notify_count;\n\tstruct task_struct *group_exec_task;\n\tint group_stop_count;\n\tunsigned int flags;\n\tstruct core_state *core_state;\n\tunsigned int is_child_subreaper: 1;\n\tunsigned int has_child_subreaper: 1;\n\tunsigned int next_posix_timer_id;\n\tstruct hlist_head posix_timers;\n\tstruct hlist_head ignored_posix_timers;\n\tstruct hrtimer real_timer;\n\tktime_t it_real_incr;\n\tstruct cpu_itimer it[2];\n\tstruct thread_group_cputimer cputimer;\n\tstruct posix_cputimers posix_cputimers;\n\tstruct pid *pids[4];\n\tatomic_t tick_dep_mask;\n\tstruct pid *tty_old_pgrp;\n\tint leader;\n\tstruct tty_struct *tty;\n\tstruct autogroup *autogroup;\n\tseqlock_t stats_lock;\n\tu64 utime;\n\tu64 stime;\n\tu64 cutime;\n\tu64 cstime;\n\tu64 gtime;\n\tu64 cgtime;\n\tstruct prev_cputime prev_cputime;\n\tlong unsigned int nvcsw;\n\tlong unsigned int nivcsw;\n\tlong unsigned int cnvcsw;\n\tlong unsigned int cnivcsw;\n\tlong unsigned int min_flt;\n\tlong unsigned int maj_flt;\n\tlong unsigned int cmin_flt;\n\tlong unsigned int cmaj_flt;\n\tlong unsigned int inblock;\n\tlong unsigned int oublock;\n\tlong unsigned int cinblock;\n\tlong unsigned int coublock;\n\tlong unsigned int maxrss;\n\tlong unsigned int cmaxrss;\n\tstruct task_io_accounting ioac;\n\tlong long unsigned int sum_sched_runtime;\n\tstruct rlimit rlim[16];\n\tstruct pacct_struct pacct;\n\tstruct taskstats *stats;\n\tunsigned int audit_tty;\n\tstruct tty_audit_buf *tty_audit_buf;\n\tbool oom_flag_origin;\n\tshort int oom_score_adj;\n\tshort int oom_score_adj_min;\n\tstruct mm_struct *oom_mm;\n\tstruct mutex cred_guard_mutex;\n\tstruct rw_semaphore exec_update_lock;\n};\n\nstruct signalfd_ctx {\n\tsigset_t sigmask;\n};\n\nstruct signalfd_siginfo {\n\t__u32 ssi_signo;\n\t__s32 ssi_errno;\n\t__s32 ssi_code;\n\t__u32 ssi_pid;\n\t__u32 ssi_uid;\n\t__s32 ssi_fd;\n\t__u32 ssi_tid;\n\t__u32 ssi_band;\n\t__u32 ssi_overrun;\n\t__u32 ssi_trapno;\n\t__s32 ssi_status;\n\t__s32 ssi_int;\n\t__u64 ssi_ptr;\n\t__u64 ssi_utime;\n\t__u64 ssi_stime;\n\t__u64 ssi_addr;\n\t__u16 ssi_addr_lsb;\n\t__u16 __pad2;\n\t__s32 ssi_syscall;\n\t__u64 ssi_call_addr;\n\t__u32 ssi_arch;\n\t__u8 __pad[28];\n};\n\nstruct signature_hdr {\n\tuint8_t version;\n\tuint32_t timestamp;\n\tuint8_t algo;\n\tuint8_t hash;\n\tuint8_t keyid[8];\n\tuint8_t nmpi;\n\tchar mpi[0];\n} __attribute__((packed));\n\nstruct signature_v2_hdr {\n\tuint8_t type;\n\tuint8_t version;\n\tuint8_t hash_algo;\n\t__be32 keyid;\n\t__be16 sig_size;\n\tuint8_t sig[0];\n} __attribute__((packed));\n\nstruct sigset_argpack {\n\tsigset_t *p;\n\tsize_t size;\n};\n\nstruct sil24_prb {\n\t__le16 ctrl;\n\t__le16 prot;\n\t__le32 rx_cnt;\n\tu8 fis[24];\n};\n\nstruct sil24_sge {\n\t__le64 addr;\n\t__le32 cnt;\n\t__le32 flags;\n};\n\nstruct sil24_ata_block {\n\tstruct sil24_prb prb;\n\tstruct sil24_sge sge[4093];\n};\n\nstruct sil24_atapi_block {\n\tstruct sil24_prb prb;\n\tu8 cdb[16];\n\tstruct sil24_sge sge[4093];\n};\n\nstruct sil24_cerr_info {\n\tunsigned int err_mask;\n\tunsigned int action;\n\tconst char *desc;\n};\n\nunion sil24_cmd_block {\n\tstruct sil24_ata_block ata;\n\tstruct sil24_atapi_block atapi;\n};\n\nstruct sil24_port_priv {\n\tunion sil24_cmd_block *cmd_block;\n\tdma_addr_t cmd_block_dma;\n\tint do_port_rst;\n};\n\nstruct simple_attr {\n\tint (*get)(void *, u64 *);\n\tint (*set)(void *, u64);\n\tchar get_buf[24];\n\tchar set_buf[24];\n\tvoid *data;\n\tconst char *fmt;\n\tstruct mutex mutex;\n};\n\nstruct simple_pm_bus {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct simple_transaction_argresp {\n\tssize_t size;\n\tchar data[0];\n};\n\nstruct simple_xattr {\n\tstruct rb_node rb_node;\n\tchar *name;\n\tsize_t size;\n\tchar value[0];\n};\n\nstruct sit_net {\n\tstruct ip_tunnel *tunnels_r_l[16];\n\tstruct ip_tunnel *tunnels_r[16];\n\tstruct ip_tunnel *tunnels_l[16];\n\tstruct ip_tunnel *tunnels_wc[1];\n\tstruct ip_tunnel **tunnels[4];\n\tstruct net_device *fb_tunnel_dev;\n};\n\nstruct zs_size_stat {\n\tlong unsigned int objs[14];\n};\n\nstruct size_class {\n\tspinlock_t lock;\n\tstruct list_head fullness_list[12];\n\tint size;\n\tint objs_per_zspage;\n\tint pages_per_zspage;\n\tunsigned int index;\n\tstruct zs_size_stat stats;\n};\n\nstruct sk_buff__safe_rcu_or_null {\n\tstruct sock *sk;\n};\n\nstruct sk_buff_fclones {\n\tstruct sk_buff skb1;\n\tstruct sk_buff skb2;\n\trefcount_t fclone_ref;\n};\n\nstruct sk_filter {\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tstruct bpf_prog *prog;\n};\n\nstruct sk_psock_work_state {\n\tu32 len;\n\tu32 off;\n};\n\nstruct sk_psock {\n\tstruct sock *sk;\n\tstruct sock *sk_redir;\n\tu32 apply_bytes;\n\tu32 cork_bytes;\n\tu32 eval;\n\tbool redir_ingress;\n\tstruct sk_msg *cork;\n\tstruct sk_psock_progs progs;\n\tstruct sk_buff_head ingress_skb;\n\tstruct list_head ingress_msg;\n\tspinlock_t ingress_lock;\n\tlong unsigned int state;\n\tstruct list_head link;\n\tspinlock_t link_lock;\n\trefcount_t refcnt;\n\tvoid (*saved_unhash)(struct sock *);\n\tvoid (*saved_destroy)(struct sock *);\n\tvoid (*saved_close)(struct sock *, long int);\n\tvoid (*saved_write_space)(struct sock *);\n\tvoid (*saved_data_ready)(struct sock *);\n\tint (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);\n\tstruct proto *sk_proto;\n\tstruct mutex work_mutex;\n\tstruct sk_psock_work_state work_state;\n\tstruct delayed_work work;\n\tstruct sock *sk_pair;\n\tstruct rcu_work rwork;\n};\n\nstruct sk_psock_link {\n\tstruct list_head list;\n\tstruct bpf_map *map;\n\tvoid *link_raw;\n};\n\nstruct sk_security_struct {\n\tu32 sid;\n\tu32 peer_sid;\n\tu16 sclass;\n\tenum {\n\t\tSCTP_ASSOC_UNSET = 0,\n\t\tSCTP_ASSOC_SET = 1,\n\t} sctp_assoc_state;\n};\n\nstruct tls_msg {\n\tu8 control;\n};\n\nstruct sk_skb_cb {\n\tunsigned char data[20];\n\tunsigned char pad[4];\n\tstruct _strp_msg strp;\n\tstruct tls_msg tls;\n\tu64 temp_reg;\n};\n\nstruct skb_checksum_ops {\n\t__wsum (*update)(const void *, int, __wsum);\n\t__wsum (*combine)(__wsum, __wsum, int, int);\n};\n\nstruct skb_ext {\n\trefcount_t refcnt;\n\tu8 offset[1];\n\tu8 chunks;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct skb_frag {\n\tnetmem_ref netmem;\n\tunsigned int len;\n\tunsigned int offset;\n};\n\ntypedef struct skb_frag skb_frag_t;\n\nstruct skb_free_array {\n\tunsigned int skb_count;\n\tvoid *skb_array[16];\n};\n\nstruct skb_gso_cb {\n\tunion {\n\t\tint mac_offset;\n\t\tint data_offset;\n\t};\n\tint encap_level;\n\t__wsum csum;\n\t__u16 csum_start;\n};\n\nstruct skb_seq_state {\n\t__u32 lower_offset;\n\t__u32 upper_offset;\n\t__u32 frag_idx;\n\t__u32 stepped_offset;\n\tstruct sk_buff *root_skb;\n\tstruct sk_buff *cur_skb;\n\t__u8 *frag_data;\n\t__u32 frag_off;\n};\n\nstruct skb_shared_hwtstamps {\n\tunion {\n\t\tktime_t hwtstamp;\n\t\tvoid *netdev_data;\n\t};\n};\n\nstruct xsk_tx_metadata_compl {\n\t__u64 *tx_timestamp;\n};\n\nstruct skb_shared_info {\n\t__u8 flags;\n\t__u8 meta_len;\n\t__u8 nr_frags;\n\t__u8 tx_flags;\n\tshort unsigned int gso_size;\n\tshort unsigned int gso_segs;\n\tstruct sk_buff *frag_list;\n\tunion {\n\t\tstruct skb_shared_hwtstamps hwtstamps;\n\t\tstruct xsk_tx_metadata_compl xsk_meta;\n\t};\n\tunsigned int gso_type;\n\tu32 tskey;\n\tatomic_t dataref;\n\tunion {\n\t\tstruct {\n\t\t\tu32 xdp_frags_size;\n\t\t\tu32 xdp_frags_truesize;\n\t\t};\n\t\tvoid *destructor_arg;\n\t};\n\tskb_frag_t frags[17];\n};\n\nstruct skcipher_alg {\n\tint (*setkey)(struct crypto_skcipher *, const u8 *, unsigned int);\n\tint (*encrypt)(struct skcipher_request *);\n\tint (*decrypt)(struct skcipher_request *);\n\tint (*export)(struct skcipher_request *, void *);\n\tint (*import)(struct skcipher_request *, const void *);\n\tint (*init)(struct crypto_skcipher *);\n\tvoid (*exit)(struct crypto_skcipher *);\n\tunsigned int walksize;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int min_keysize;\n\t\t\tunsigned int max_keysize;\n\t\t\tunsigned int ivsize;\n\t\t\tunsigned int chunksize;\n\t\t\tunsigned int statesize;\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct skcipher_alg_common co;\n\t};\n};\n\nstruct skcipher_ctx_simple {\n\tstruct crypto_cipher *cipher;\n};\n\nstruct skcipher_instance {\n\tvoid (*free)(struct skcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[88];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct skcipher_alg alg;\n\t};\n};\n\nstruct skcipher_request {\n\tunsigned int cryptlen;\n\tu8 *iv;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tstruct crypto_async_request base;\n\tvoid *__ctx[0];\n};\n\nstruct skcipher_walk {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *addr;\n\t\t} virt;\n\t} src;\n\tunion {\n\t\tstruct {\n\t\t\tvoid *addr;\n\t\t} virt;\n\t} dst;\n\tstruct scatter_walk in;\n\tunsigned int nbytes;\n\tstruct scatter_walk out;\n\tunsigned int total;\n\tu8 *page;\n\tu8 *buffer;\n\tu8 *oiv;\n\tvoid *iv;\n\tunsigned int ivsize;\n\tint flags;\n\tunsigned int blocksize;\n\tunsigned int stride;\n\tunsigned int alignmask;\n};\n\nstruct slab {\n\tlong unsigned int __page_flags;\n\tstruct kmem_cache *slab_cache;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct list_head slab_list;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct slab *next;\n\t\t\t\t\tint slabs;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *freelist;\n\t\t\t\t\tunion {\n\t\t\t\t\t\tlong unsigned int counters;\n\t\t\t\t\t\tstruct {\n\t\t\t\t\t\t\tunsigned int inuse: 16;\n\t\t\t\t\t\t\tunsigned int objects: 15;\n\t\t\t\t\t\t\tunsigned int frozen: 1;\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\tstruct callback_head callback_head;\n\t};\n\tunsigned int __page_type;\n\tatomic_t __page_refcount;\n\tlong unsigned int obj_exts;\n};\n\nstruct slab_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kmem_cache *, char *);\n\tssize_t (*store)(struct kmem_cache *, const char *, size_t);\n};\n\nstruct slabinfo {\n\tlong unsigned int active_objs;\n\tlong unsigned int num_objs;\n\tlong unsigned int active_slabs;\n\tlong unsigned int num_slabs;\n\tlong unsigned int shared_avail;\n\tunsigned int limit;\n\tunsigned int batchcount;\n\tunsigned int shared;\n\tunsigned int objects_per_slab;\n\tunsigned int cache_order;\n};\n\nstruct slabobj_ext {\n\tstruct obj_cgroup *objcg;\n};\n\nstruct slb_entry {\n\tu64 esid;\n\tu64 vsid;\n};\n\nstruct slb_shadow {\n\t__be32 persistent;\n\t__be32 buffer_length;\n\t__be64 reserved;\n\tstruct {\n\t\t__be64 esid;\n\t\t__be64 vsid;\n\t} save_area[2];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct slub_flush_work {\n\tstruct work_struct work;\n\tstruct kmem_cache *s;\n\tbool skip;\n};\n\nstruct smp_call_on_cpu_struct {\n\tstruct work_struct work;\n\tstruct completion done;\n\tint (*func)(void *);\n\tvoid *data;\n\tint ret;\n\tint cpu;\n};\n\nstruct smp_hotplug_thread {\n\tstruct task_struct **store;\n\tstruct list_head list;\n\tint (*thread_should_run)(unsigned int);\n\tvoid (*thread_fn)(unsigned int);\n\tvoid (*create)(unsigned int);\n\tvoid (*setup)(unsigned int);\n\tvoid (*cleanup)(unsigned int, bool);\n\tvoid (*park)(unsigned int);\n\tvoid (*unpark)(unsigned int);\n\tbool selfparking;\n\tconst char *thread_comm;\n};\n\nstruct smp_ops_t {\n\tvoid (*message_pass)(int, int);\n\tvoid (*cause_ipi)(int);\n\tint (*cause_nmi_ipi)(int);\n\tvoid (*probe)(void);\n\tint (*kick_cpu)(int);\n\tint (*prepare_cpu)(int);\n\tvoid (*setup_cpu)(int);\n\tvoid (*bringup_done)(void);\n\tvoid (*take_timebase)(void);\n\tvoid (*give_timebase)(void);\n\tint (*cpu_disable)(void);\n\tvoid (*cpu_die)(unsigned int);\n\tint (*cpu_bootable)(unsigned int);\n\tvoid (*cpu_offline_self)(void);\n};\n\nstruct smpboot_thread_data {\n\tunsigned int cpu;\n\tunsigned int status;\n\tstruct smp_hotplug_thread *ht;\n};\n\nstruct snmp_mib {\n\tconst char *name;\n\tint entry;\n};\n\nstruct so_timestamping {\n\tint flags;\n\tint bind_phc;\n};\n\nstruct sock_bh_locked {\n\tstruct sock *sock;\n\tlocal_lock_t bh_lock;\n};\n\nstruct sock_diag_handler {\n\tstruct module *owner;\n\t__u8 family;\n\tint (*dump)(struct sk_buff *, struct nlmsghdr *);\n\tint (*get_info)(struct sk_buff *, struct sock *);\n\tint (*destroy)(struct sk_buff *, struct nlmsghdr *);\n};\n\nstruct sock_diag_inet_compat {\n\tstruct module *owner;\n\tint (*fn)(struct sk_buff *, struct nlmsghdr *);\n};\n\nstruct sock_diag_req {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n};\n\nstruct sock_ee_data_rfc4884 {\n\t__u16 len;\n\t__u8 flags;\n\t__u8 reserved;\n};\n\nstruct sock_extended_err {\n\t__u32 ee_errno;\n\t__u8 ee_origin;\n\t__u8 ee_type;\n\t__u8 ee_code;\n\t__u8 ee_pad;\n\t__u32 ee_info;\n\tunion {\n\t\t__u32 ee_data;\n\t\tstruct sock_ee_data_rfc4884 ee_rfc4884;\n\t};\n};\n\nstruct sock_exterr_skb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tstruct sock_extended_err ee;\n\tu16 addr_offset;\n\t__be16 port;\n\tu8 opt_stats: 1;\n\tu8 unused: 7;\n};\n\nstruct sock_fprog {\n\tshort unsigned int len;\n\tstruct sock_filter *filter;\n};\n\nstruct sock_fprog_kern {\n\tu16 len;\n\tstruct sock_filter *filter;\n};\n\nstruct sock_hash_seq_info {\n\tstruct bpf_map *map;\n\tstruct bpf_shtab *htab;\n\tu32 bucket_id;\n};\n\nstruct sock_map_seq_info {\n\tstruct bpf_map *map;\n\tstruct sock *sk;\n\tu32 index;\n};\n\nstruct sock_reuseport {\n\tstruct callback_head rcu;\n\tu16 max_socks;\n\tu16 num_socks;\n\tu16 num_closed_socks;\n\tu16 incoming_cpu;\n\tunsigned int synq_overflow_ts;\n\tunsigned int reuseport_id;\n\tunsigned int bind_inany: 1;\n\tunsigned int has_conns: 1;\n\tstruct bpf_prog *prog;\n\tstruct sock *socks[0];\n};\n\nstruct sock_skb_cb {\n\tu32 dropcount;\n};\n\nstruct sock_txtime {\n\t__kernel_clockid_t clockid;\n\t__u32 flags;\n};\n\nstruct sock_xprt {\n\tstruct rpc_xprt xprt;\n\tstruct socket *sock;\n\tstruct sock *inet;\n\tstruct file *file;\n\tstruct {\n\t\tstruct {\n\t\t\t__be32 fraghdr;\n\t\t\t__be32 xid;\n\t\t\t__be32 calldir;\n\t\t};\n\t\tu32 offset;\n\t\tu32 len;\n\t\tlong unsigned int copied;\n\t} recv;\n\tstruct {\n\t\tu32 offset;\n\t} xmit;\n\tlong unsigned int sock_state;\n\tstruct delayed_work connect_worker;\n\tstruct work_struct error_worker;\n\tstruct work_struct recv_worker;\n\tstruct mutex recv_mutex;\n\tstruct completion handshake_done;\n\tstruct __kernel_sockaddr_storage srcaddr;\n\tshort unsigned int srcport;\n\tint xprt_err;\n\tstruct rpc_clnt *clnt;\n\tsize_t rcvsize;\n\tsize_t sndsize;\n\tstruct rpc_timeout tcp_timeout;\n\tvoid (*old_data_ready)(struct sock *);\n\tvoid (*old_state_change)(struct sock *);\n\tvoid (*old_write_space)(struct sock *);\n\tvoid (*old_error_report)(struct sock *);\n};\n\nstruct sockaddr_nl {\n\t__kernel_sa_family_t nl_family;\n\tshort unsigned int nl_pad;\n\t__u32 nl_pid;\n\t__u32 nl_groups;\n};\n\nstruct sockaddr_un {\n\t__kernel_sa_family_t sun_family;\n\tchar sun_path[108];\n};\n\nstruct socket_wq {\n\twait_queue_head_t wait;\n\tstruct fasync_struct *fasync_list;\n\tlong unsigned int flags;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct socket {\n\tsocket_state state;\n\tshort int type;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tstruct sock *sk;\n\tconst struct proto_ops *ops;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct socket_wq wq;\n};\n\nstruct socket__safe_trusted_or_null {\n\tstruct sock *sk;\n};\n\nstruct socket_alloc {\n\tstruct socket socket;\n\tstruct inode vfs_inode;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sockmap_link {\n\tstruct bpf_link link;\n\tstruct bpf_map *map;\n\tenum bpf_attach_type attach_type;\n};\n\nstruct soft_mask_table_entry {\n\tlong unsigned int start;\n\tlong unsigned int end;\n};\n\nstruct softirq_action {\n\tvoid (*action)(void);\n};\n\nstruct softnet_data {\n\tstruct list_head poll_list;\n\tstruct sk_buff_head process_queue;\n\tlocal_lock_t process_queue_bh_lock;\n\tunsigned int processed;\n\tunsigned int time_squeeze;\n\tstruct softnet_data *rps_ipi_list;\n\tunsigned int received_rps;\n\tbool in_net_rx_action;\n\tbool in_napi_threaded_poll;\n\tstruct sd_flow_limit *flow_limit;\n\tstruct Qdisc *output_queue;\n\tstruct Qdisc **output_queue_tailp;\n\tstruct sk_buff *completion_queue;\n\tstruct netdev_xmit xmit;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunsigned int input_queue_head;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t csd;\n\tstruct softnet_data *rps_ipi_next;\n\tunsigned int cpu;\n\tunsigned int input_queue_tail;\n\tstruct sk_buff_head input_pkt_queue;\n\tstruct napi_struct backlog;\n\tlong: 64;\n\tatomic_t dropped;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t defer_lock;\n\tint defer_count;\n\tint defer_ipi_scheduled;\n\tstruct sk_buff *defer_list;\n\tlong: 64;\n\tcall_single_data_t defer_csd;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct software_node {\n\tconst char *name;\n\tconst struct software_node *parent;\n\tconst struct property_entry *properties;\n};\n\nstruct software_node_ref_args {\n\tconst struct software_node *node;\n\tunsigned int nargs;\n\tu64 args[8];\n};\n\nstruct sp_node {\n\tstruct rb_node nd;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tstruct mempolicy *policy;\n};\n\nstruct space_resv {\n\t__s16 l_type;\n\t__s16 l_whence;\n\t__s64 l_start;\n\t__s64 l_len;\n\t__s32 l_sysid;\n\t__u32 l_pid;\n\t__s32 l_pad[4];\n};\n\nstruct speed_down_verdict_arg {\n\tu64 since;\n\tint xfer_ok;\n\tint nr_errors[8];\n};\n\nstruct splice_desc {\n\tsize_t total_len;\n\tunsigned int len;\n\tunsigned int flags;\n\tunion {\n\t\tvoid *userptr;\n\t\tstruct file *file;\n\t\tvoid *data;\n\t} u;\n\tvoid (*splice_eof)(struct splice_desc *);\n\tloff_t pos;\n\tloff_t *opos;\n\tsize_t num_spliced;\n\tbool need_wakeup;\n};\n\nstruct splice_pipe_desc {\n\tstruct page **pages;\n\tstruct partial_page *partial;\n\tint nr_pages;\n\tunsigned int nr_pages_max;\n\tconst struct pipe_buf_operations *ops;\n\tvoid (*spd_release)(struct splice_pipe_desc *, unsigned int);\n};\n\nstruct split_state {\n\tu8 step;\n\tu8 master;\n};\n\nstruct squashfs_super_block {\n\t__le32 s_magic;\n\t__le32 inodes;\n\t__le32 mkfs_time;\n\t__le32 block_size;\n\t__le32 fragments;\n\t__le16 compression;\n\t__le16 block_log;\n\t__le16 flags;\n\t__le16 no_ids;\n\t__le16 s_major;\n\t__le16 s_minor;\n\t__le64 root_inode;\n\t__le64 bytes_used;\n\t__le64 id_table_start;\n\t__le64 xattr_id_table_start;\n\t__le64 inode_table_start;\n\t__le64 directory_table_start;\n\t__le64 fragment_table_start;\n\t__le64 lookup_table_start;\n};\n\nstruct sr6_tlv {\n\t__u8 type;\n\t__u8 len;\n\t__u8 data[0];\n};\n\nstruct srcu_node;\n\nstruct srcu_data {\n\tatomic_long_t srcu_lock_count[2];\n\tatomic_long_t srcu_unlock_count[2];\n\tint srcu_reader_flavor;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t lock;\n\tstruct rcu_segcblist srcu_cblist;\n\tlong unsigned int srcu_gp_seq_needed;\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tbool srcu_cblist_invoking;\n\tstruct timer_list delay_work;\n\tstruct work_struct work;\n\tstruct callback_head srcu_barrier_head;\n\tstruct srcu_node *mynode;\n\tlong unsigned int grpmask;\n\tint cpu;\n\tstruct srcu_struct *ssp;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct srcu_node {\n\tspinlock_t lock;\n\tlong unsigned int srcu_have_cbs[4];\n\tlong unsigned int srcu_data_have_cbs[4];\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tstruct srcu_node *srcu_parent;\n\tint grplo;\n\tint grphi;\n};\n\nstruct srcu_usage {\n\tstruct srcu_node *node;\n\tstruct srcu_node *level[4];\n\tint srcu_size_state;\n\tstruct mutex srcu_cb_mutex;\n\tspinlock_t lock;\n\tstruct mutex srcu_gp_mutex;\n\tlong unsigned int srcu_gp_seq;\n\tlong unsigned int srcu_gp_seq_needed;\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tlong unsigned int srcu_gp_start;\n\tlong unsigned int srcu_last_gp_end;\n\tlong unsigned int srcu_size_jiffies;\n\tlong unsigned int srcu_n_lock_retries;\n\tlong unsigned int srcu_n_exp_nodelay;\n\tbool sda_is_static;\n\tlong unsigned int srcu_barrier_seq;\n\tstruct mutex srcu_barrier_mutex;\n\tstruct completion srcu_barrier_completion;\n\tatomic_t srcu_barrier_cpu_cnt;\n\tlong unsigned int reschedule_jiffies;\n\tlong unsigned int reschedule_count;\n\tstruct delayed_work work;\n\tstruct srcu_struct *srcu_ssp;\n};\n\nstruct srcu_notifier_head {\n\tstruct mutex mutex;\n\tstruct srcu_usage srcuu;\n\tstruct srcu_struct srcu;\n\tstruct notifier_block *head;\n};\n\nstruct srp_cmd {\n\tu8 opcode;\n\tu8 sol_not;\n\tu8 reserved1[3];\n\tu8 buf_fmt;\n\tu8 data_out_desc_cnt;\n\tu8 data_in_desc_cnt;\n\tu64 tag;\n\tu8 reserved2[4];\n\tstruct scsi_lun lun;\n\tu8 reserved3;\n\tu8 task_attr;\n\tu8 reserved4;\n\tu8 add_cdb_len;\n\tu8 cdb[16];\n\tu8 add_data[0];\n};\n\nstruct srp_direct_buf {\n\t__be64 va;\n\t__be32 key;\n\t__be32 len;\n};\n\nstruct viosrp_crq {\n\tunion {\n\t\t__be64 high;\n\t\tstruct {\n\t\t\tu8 valid;\n\t\t\tu8 format;\n\t\t\tu8 reserved;\n\t\t\tu8 status;\n\t\t\t__be16 timeout;\n\t\t\t__be16 IU_length;\n\t\t};\n\t};\n\t__be64 IU_data_ptr;\n};\n\nstruct srp_login_req {\n\tu8 opcode;\n\tu8 reserved1[7];\n\tu64 tag;\n\t__be32 req_it_iu_len;\n\tu8 reserved2[4];\n\t__be16 req_buf_fmt;\n\tu8 req_flags;\n\tu8 reserved3[1];\n\t__be16 imm_data_offset;\n\tu8 reserved4[2];\n\tu8 initiator_port_id[16];\n\tu8 target_port_id[16];\n};\n\nstruct srp_login_rsp {\n\tu8 opcode;\n\tu8 reserved1[3];\n\t__be32 req_lim_delta;\n\tu64 tag;\n\t__be32 max_it_iu_len;\n\t__be32 max_ti_iu_len;\n\t__be16 buf_fmt;\n\tu8 rsp_flags;\n\tu8 reserved2[25];\n} __attribute__((packed));\n\nstruct srp_login_rej {\n\tu8 opcode;\n\tu8 reserved1[3];\n\t__be32 reason;\n\tu64 tag;\n\tu8 reserved2[8];\n\t__be16 buf_fmt;\n\tu8 reserved3[6];\n};\n\nstruct srp_i_logout {\n\tu8 opcode;\n\tu8 reserved[7];\n\tu64 tag;\n};\n\nstruct srp_t_logout {\n\tu8 opcode;\n\tu8 sol_not;\n\tu8 reserved[2];\n\t__be32 reason;\n\tu64 tag;\n};\n\nstruct srp_tsk_mgmt {\n\tu8 opcode;\n\tu8 sol_not;\n\tu8 reserved1[6];\n\tu64 tag;\n\tu8 reserved2[4];\n\tstruct scsi_lun lun;\n\tu8 reserved3[2];\n\tu8 tsk_mgmt_func;\n\tu8 reserved4;\n\tu64 task_tag;\n\tu8 reserved5[8];\n};\n\nstruct srp_rsp {\n\tu8 opcode;\n\tu8 sol_not;\n\tu8 reserved1[2];\n\t__be32 req_lim_delta;\n\tu64 tag;\n\tu8 reserved2[2];\n\tu8 flags;\n\tu8 status;\n\t__be32 data_out_res_cnt;\n\t__be32 data_in_res_cnt;\n\t__be32 sense_data_len;\n\t__be32 resp_data_len;\n\tu8 data[0];\n} __attribute__((packed));\n\nunion srp_iu {\n\tstruct srp_login_req login_req;\n\tstruct srp_login_rsp login_rsp;\n\tstruct srp_login_rej login_rej;\n\tstruct srp_i_logout i_logout;\n\tstruct srp_t_logout t_logout;\n\tstruct srp_tsk_mgmt tsk_mgmt;\n\tstruct srp_cmd cmd;\n\tstruct srp_rsp rsp;\n\tu8 reserved[256];\n};\n\nunion viosrp_iu {\n\tunion srp_iu srp;\n\tunion mad_iu mad;\n};\n\nstruct srp_event_struct {\n\tunion viosrp_iu *xfer_iu;\n\tstruct scsi_cmnd *cmnd;\n\tstruct list_head list;\n\tvoid (*done)(struct srp_event_struct *);\n\tstruct viosrp_crq crq;\n\tstruct ibmvscsi_host_data *hostdata;\n\tatomic_t free;\n\tunion viosrp_iu iu;\n\tvoid (*cmnd_done)(struct scsi_cmnd *);\n\tstruct completion comp;\n\tstruct timer_list timer;\n\tunion viosrp_iu *sync_srp;\n\tstruct srp_direct_buf *ext_list;\n\tdma_addr_t ext_list_token;\n};\n\nstruct srp_rport;\n\nstruct srp_function_template {\n\tbool has_rport_state;\n\tbool reset_timer_if_blocked;\n\tint *reconnect_delay;\n\tint *fast_io_fail_tmo;\n\tint *dev_loss_tmo;\n\tint (*reconnect)(struct srp_rport *);\n\tvoid (*terminate_rport_io)(struct srp_rport *);\n\tvoid (*rport_delete)(struct srp_rport *);\n};\n\nstruct srp_host_attrs {\n\tatomic_t next_port_id;\n};\n\nstruct srp_indirect_buf {\n\tstruct srp_direct_buf table_desc;\n\t__be32 len;\n\tstruct srp_direct_buf desc_list[0];\n} __attribute__((packed));\n\nstruct srp_internal {\n\tstruct scsi_transport_template t;\n\tstruct srp_function_template *f;\n\tstruct device_attribute *host_attrs[1];\n\tstruct device_attribute *rport_attrs[9];\n\tstruct transport_container rport_attr_cont;\n};\n\nstruct srp_rport {\n\tstruct device dev;\n\tu8 port_id[16];\n\tu8 roles;\n\tvoid *lld_data;\n\tstruct mutex mutex;\n\tenum srp_rport_state state;\n\tint reconnect_delay;\n\tint failed_reconnects;\n\tstruct delayed_work reconnect_work;\n\tint fast_io_fail_tmo;\n\tint dev_loss_tmo;\n\tstruct delayed_work fast_io_fail_work;\n\tstruct delayed_work dev_loss_work;\n};\n\nstruct srp_rport_identifiers {\n\tu8 port_id[16];\n\tu8 roles;\n};\n\nstruct stack_record;\n\nstruct stack {\n\tstruct stack_record *stack_record;\n\tstruct stack *next;\n};\n\nstruct stack_entry {\n\tstruct trace_entry ent;\n\tint size;\n\tlong unsigned int caller[0];\n};\n\nstruct stack_map_bucket {\n\tstruct pcpu_freelist_node fnode;\n\tu32 hash;\n\tu32 nr;\n\tu64 data[0];\n};\n\nstruct stack_record {\n\tstruct list_head hash_list;\n\tu32 hash;\n\tu32 size;\n\tunion handle_parts handle;\n\trefcount_t count;\n\tunion {\n\t\tlong unsigned int entries[64];\n\t\tstruct {\n\t\t\tstruct list_head free_list;\n\t\t\tlong unsigned int rcu_state;\n\t\t};\n\t};\n};\n\nstruct stacktrace_cookie {\n\tlong unsigned int *store;\n\tunsigned int size;\n\tunsigned int skip;\n\tunsigned int len;\n};\n\nstruct stashed_operations {\n\tvoid (*put_data)(void *);\n\tint (*init_inode)(struct inode *, void *);\n};\n\nstruct stat {\n\tlong unsigned int st_dev;\n\t__kernel_ino_t st_ino;\n\tlong unsigned int st_nlink;\n\t__kernel_mode_t st_mode;\n\t__kernel_uid32_t st_uid;\n\t__kernel_gid32_t st_gid;\n\tlong unsigned int st_rdev;\n\tlong int st_size;\n\tlong unsigned int st_blksize;\n\tlong unsigned int st_blocks;\n\tlong unsigned int st_atime;\n\tlong unsigned int st_atime_nsec;\n\tlong unsigned int st_mtime;\n\tlong unsigned int st_mtime_nsec;\n\tlong unsigned int st_ctime;\n\tlong unsigned int st_ctime_nsec;\n\tlong unsigned int __unused4;\n\tlong unsigned int __unused5;\n\tlong unsigned int __unused6;\n};\n\nstruct stat64 {\n\tlong long unsigned int st_dev;\n\tlong long unsigned int st_ino;\n\tunsigned int st_mode;\n\tunsigned int st_nlink;\n\tunsigned int st_uid;\n\tunsigned int st_gid;\n\tlong long unsigned int st_rdev;\n\tshort unsigned int __pad2;\n\tlong long int st_size;\n\tint st_blksize;\n\tlong long int st_blocks;\n\tint st_atime;\n\tunsigned int st_atime_nsec;\n\tint st_mtime;\n\tunsigned int st_mtime_nsec;\n\tint st_ctime;\n\tunsigned int st_ctime_nsec;\n\tunsigned int __unused4;\n\tunsigned int __unused5;\n};\n\nstruct stat_node {\n\tstruct rb_node node;\n\tvoid *stat;\n};\n\nstruct tracer_stat;\n\nstruct stat_session {\n\tstruct list_head session_list;\n\tstruct tracer_stat *ts;\n\tstruct rb_root stat_root;\n\tstruct mutex stat_mutex;\n\tstruct dentry *file;\n};\n\nstruct statfs {\n\t__kernel_long_t f_type;\n\t__kernel_long_t f_bsize;\n\t__kernel_long_t f_blocks;\n\t__kernel_long_t f_bfree;\n\t__kernel_long_t f_bavail;\n\t__kernel_long_t f_files;\n\t__kernel_long_t f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__kernel_long_t f_namelen;\n\t__kernel_long_t f_frsize;\n\t__kernel_long_t f_flags;\n\t__kernel_long_t f_spare[4];\n};\n\nstruct statfs64 {\n\t__kernel_long_t f_type;\n\t__kernel_long_t f_bsize;\n\t__u64 f_blocks;\n\t__u64 f_bfree;\n\t__u64 f_bavail;\n\t__u64 f_files;\n\t__u64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__kernel_long_t f_namelen;\n\t__kernel_long_t f_frsize;\n\t__kernel_long_t f_flags;\n\t__kernel_long_t f_spare[4];\n};\n\nstruct static_call_key {\n\tvoid *func;\n};\n\nstruct static_key_mod;\n\nstruct static_key {\n\tatomic_t enabled;\n\tunion {\n\t\tlong unsigned int type;\n\t\tstruct jump_entry *entries;\n\t\tstruct static_key_mod *next;\n\t};\n};\n\nstruct static_key_deferred {\n\tstruct static_key key;\n\tlong unsigned int timeout;\n\tstruct delayed_work work;\n};\n\nstruct static_key_false {\n\tstruct static_key key;\n};\n\nstruct static_key_false_deferred {\n\tstruct static_key_false key;\n\tlong unsigned int timeout;\n\tstruct delayed_work work;\n};\n\nstruct static_key_mod {\n\tstruct static_key_mod *next;\n\tstruct jump_entry *entries;\n\tstruct module *mod;\n};\n\nstruct static_key_true {\n\tstruct static_key key;\n};\n\nstruct static_tree_desc_s {\n\tconst ct_data *static_tree;\n\tconst int *extra_bits;\n\tint extra_base;\n\tint elems;\n\tint max_length;\n};\n\nstruct stats_reply_data {\n\tstruct ethnl_reply_data base;\n\tunion {\n\t\tstruct {\n\t\t\tstruct ethtool_eth_phy_stats phy_stats;\n\t\t\tstruct ethtool_eth_mac_stats mac_stats;\n\t\t\tstruct ethtool_eth_ctrl_stats ctrl_stats;\n\t\t\tstruct ethtool_rmon_stats rmon_stats;\n\t\t\tstruct ethtool_phy_stats phydev_stats;\n\t\t};\n\t\tstruct {\n\t\t\tstruct ethtool_eth_phy_stats phy_stats;\n\t\t\tstruct ethtool_eth_mac_stats mac_stats;\n\t\t\tstruct ethtool_eth_ctrl_stats ctrl_stats;\n\t\t\tstruct ethtool_rmon_stats rmon_stats;\n\t\t\tstruct ethtool_phy_stats phydev_stats;\n\t\t} stats;\n\t};\n\tconst struct ethtool_rmon_hist_range *rmon_ranges;\n};\n\nstruct stats_req_info {\n\tstruct ethnl_req_info base;\n\tlong unsigned int stat_mask[1];\n\tenum ethtool_mac_stats_src src;\n};\n\nstruct statx_timestamp {\n\t__s64 tv_sec;\n\t__u32 tv_nsec;\n\t__s32 __reserved;\n};\n\nstruct statx {\n\t__u32 stx_mask;\n\t__u32 stx_blksize;\n\t__u64 stx_attributes;\n\t__u32 stx_nlink;\n\t__u32 stx_uid;\n\t__u32 stx_gid;\n\t__u16 stx_mode;\n\t__u16 __spare0[1];\n\t__u64 stx_ino;\n\t__u64 stx_size;\n\t__u64 stx_blocks;\n\t__u64 stx_attributes_mask;\n\tstruct statx_timestamp stx_atime;\n\tstruct statx_timestamp stx_btime;\n\tstruct statx_timestamp stx_ctime;\n\tstruct statx_timestamp stx_mtime;\n\t__u32 stx_rdev_major;\n\t__u32 stx_rdev_minor;\n\t__u32 stx_dev_major;\n\t__u32 stx_dev_minor;\n\t__u64 stx_mnt_id;\n\t__u32 stx_dio_mem_align;\n\t__u32 stx_dio_offset_align;\n\t__u64 stx_subvol;\n\t__u32 stx_atomic_write_unit_min;\n\t__u32 stx_atomic_write_unit_max;\n\t__u32 stx_atomic_write_segments_max;\n\t__u32 stx_dio_read_offset_align;\n\t__u64 __spare3[9];\n};\n\nstruct stop_event_data {\n\tstruct perf_event *event;\n\tunsigned int restart;\n};\n\nstruct stop_psscr_table {\n\tu64 val;\n\tu64 mask;\n};\n\nstruct strarray {\n\tchar **array;\n\tsize_t n;\n};\n\nstruct stress_hpt_struct {\n\tlong unsigned int last_group[16];\n};\n\nstruct strip_zone {\n\tsector_t zone_end;\n\tsector_t dev_start;\n\tint nb_dev;\n\tint disk_shift;\n};\n\nstruct stripe {\n\tstruct dm_dev *dev;\n\tsector_t physical_start;\n\tatomic_t error_count;\n};\n\nstruct stripe_c {\n\tuint32_t stripes;\n\tint stripes_shift;\n\tsector_t stripe_width;\n\tuint32_t chunk_size;\n\tint chunk_size_shift;\n\tstruct dm_target *ti;\n\tstruct work_struct trigger_event;\n\tstruct stripe stripe[0];\n};\n\nstruct strset_info {\n\tbool per_dev;\n\tbool free_strings;\n\tunsigned int count;\n\tconst char (*strings)[32];\n};\n\nstruct strset_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct strset_info sets[23];\n};\n\nstruct strset_req_info {\n\tstruct ethnl_req_info base;\n\tu32 req_ids;\n\tbool counts_only;\n};\n\nstruct subprocess_info {\n\tstruct work_struct work;\n\tstruct completion *complete;\n\tconst char *path;\n\tchar **argv;\n\tchar **envp;\n\tint wait;\n\tint retval;\n\tint (*init)(struct subprocess_info *, struct cred *);\n\tvoid (*cleanup)(struct subprocess_info *);\n\tvoid *data;\n};\n\nstruct subsys_dev_iter {\n\tstruct klist_iter ki;\n\tconst struct device_type *type;\n};\n\nstruct subsys_interface {\n\tconst char *name;\n\tconst struct bus_type *subsys;\n\tstruct list_head node;\n\tint (*add_dev)(struct device *, struct subsys_interface *);\n\tvoid (*remove_dev)(struct device *, struct subsys_interface *);\n};\n\nstruct subsys_private {\n\tstruct kset subsys;\n\tstruct kset *devices_kset;\n\tstruct list_head interfaces;\n\tstruct mutex mutex;\n\tstruct kset *drivers_kset;\n\tstruct klist klist_devices;\n\tstruct klist klist_drivers;\n\tstruct blocking_notifier_head bus_notifier;\n\tunsigned int drivers_autoprobe: 1;\n\tconst struct bus_type *bus;\n\tstruct device *dev_root;\n\tstruct kset glue_dirs;\n\tconst struct class *class;\n\tstruct lock_class_key lock_key;\n};\n\nstruct subsys_tbl_ent {\n\tu16 subsys_vendor;\n\tu16 subsys_devid;\n\tu32 phy_id;\n};\n\nstruct sunrpc_net {\n\tstruct proc_dir_entry *proc_net_rpc;\n\tstruct cache_detail *ip_map_cache;\n\tstruct cache_detail *unix_gid_cache;\n\tstruct cache_detail *rsc_cache;\n\tstruct cache_detail *rsi_cache;\n\tstruct super_block *pipefs_sb;\n\tstruct rpc_pipe *gssd_dummy;\n\tstruct mutex pipefs_sb_lock;\n\tstruct list_head all_clients;\n\tspinlock_t rpc_client_lock;\n\tstruct rpc_clnt *rpcb_local_clnt;\n\tstruct rpc_clnt *rpcb_local_clnt4;\n\tspinlock_t rpcb_clnt_lock;\n\tunsigned int rpcb_users;\n\tunsigned int rpcb_is_af_local: 1;\n\tstruct mutex gssp_lock;\n\tstruct rpc_clnt *gssp_clnt;\n\tint use_gss_proxy;\n\tint pipe_version;\n\tatomic_t pipe_users;\n\tstruct proc_dir_entry *use_gssp_proc;\n\tstruct proc_dir_entry *gss_krb5_enctypes;\n};\n\nstruct mtd_info;\n\nstruct super_block {\n\tstruct list_head s_list;\n\tdev_t s_dev;\n\tunsigned char s_blocksize_bits;\n\tlong unsigned int s_blocksize;\n\tloff_t s_maxbytes;\n\tstruct file_system_type *s_type;\n\tconst struct super_operations *s_op;\n\tconst struct dquot_operations *dq_op;\n\tconst struct quotactl_ops *s_qcop;\n\tconst struct export_operations *s_export_op;\n\tlong unsigned int s_flags;\n\tlong unsigned int s_iflags;\n\tlong unsigned int s_magic;\n\tstruct dentry *s_root;\n\tstruct rw_semaphore s_umount;\n\tint s_count;\n\tatomic_t s_active;\n\tvoid *s_security;\n\tconst struct xattr_handler * const *s_xattr;\n\tstruct hlist_bl_head s_roots;\n\tstruct list_head s_mounts;\n\tstruct block_device *s_bdev;\n\tstruct file *s_bdev_file;\n\tstruct backing_dev_info *s_bdi;\n\tstruct mtd_info *s_mtd;\n\tstruct hlist_node s_instances;\n\tunsigned int s_quota_types;\n\tstruct quota_info s_dquot;\n\tstruct sb_writers s_writers;\n\tvoid *s_fs_info;\n\tu32 s_time_gran;\n\ttime64_t s_time_min;\n\ttime64_t s_time_max;\n\tu32 s_fsnotify_mask;\n\tstruct fsnotify_sb_info *s_fsnotify_info;\n\tchar s_id[32];\n\tuuid_t s_uuid;\n\tu8 s_uuid_len;\n\tchar s_sysfs_name[37];\n\tunsigned int s_max_links;\n\tstruct mutex s_vfs_rename_mutex;\n\tconst char *s_subtype;\n\tconst struct dentry_operations *s_d_op;\n\tstruct shrinker *s_shrink;\n\tatomic_long_t s_remove_count;\n\tint s_readonly_remount;\n\terrseq_t s_wb_err;\n\tstruct workqueue_struct *s_dio_done_wq;\n\tstruct hlist_head s_pins;\n\tstruct user_namespace *s_user_ns;\n\tstruct list_lru s_dentry_lru;\n\tstruct list_lru s_inode_lru;\n\tstruct callback_head rcu;\n\tstruct work_struct destroy_work;\n\tstruct mutex s_sync_lock;\n\tint s_stack_depth;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t s_inode_list_lock;\n\tstruct list_head s_inodes;\n\tspinlock_t s_inode_wblist_lock;\n\tstruct list_head s_inodes_wb;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct super_operations {\n\tstruct inode * (*alloc_inode)(struct super_block *);\n\tvoid (*destroy_inode)(struct inode *);\n\tvoid (*free_inode)(struct inode *);\n\tvoid (*dirty_inode)(struct inode *, int);\n\tint (*write_inode)(struct inode *, struct writeback_control *);\n\tint (*drop_inode)(struct inode *);\n\tvoid (*evict_inode)(struct inode *);\n\tvoid (*put_super)(struct super_block *);\n\tint (*sync_fs)(struct super_block *, int);\n\tint (*freeze_super)(struct super_block *, enum freeze_holder);\n\tint (*freeze_fs)(struct super_block *);\n\tint (*thaw_super)(struct super_block *, enum freeze_holder);\n\tint (*unfreeze_fs)(struct super_block *);\n\tint (*statfs)(struct dentry *, struct kstatfs *);\n\tint (*remount_fs)(struct super_block *, int *, char *);\n\tvoid (*umount_begin)(struct super_block *);\n\tint (*show_options)(struct seq_file *, struct dentry *);\n\tint (*show_devname)(struct seq_file *, struct dentry *);\n\tint (*show_path)(struct seq_file *, struct dentry *);\n\tint (*show_stats)(struct seq_file *, struct dentry *);\n\tlong int (*nr_cached_objects)(struct super_block *, struct shrink_control *);\n\tlong int (*free_cached_objects)(struct super_block *, struct shrink_control *);\n\tvoid (*shutdown)(struct super_block *);\n};\n\nstruct super_type {\n\tchar *name;\n\tstruct module *owner;\n\tint (*load_super)(struct md_rdev *, struct md_rdev *, int);\n\tint (*validate_super)(struct mddev *, struct md_rdev *, struct md_rdev *);\n\tvoid (*sync_super)(struct mddev *, struct md_rdev *);\n\tlong long unsigned int (*rdev_size_change)(struct md_rdev *, sector_t);\n\tint (*allow_new_offset)(struct md_rdev *, long long unsigned int);\n};\n\nstruct superblock_security_struct {\n\tu32 sid;\n\tu32 def_sid;\n\tu32 mntpoint_sid;\n\tshort unsigned int behavior;\n\tshort unsigned int flags;\n\tstruct mutex lock;\n\tstruct list_head isec_head;\n\tspinlock_t isec_lock;\n};\n\nstruct supplier_bindings {\n\tstruct device_node * (*parse_prop)(struct device_node *, const char *, int);\n\tstruct device_node * (*get_con_dev)(struct device_node *);\n\tbool optional;\n\tu8 fwlink_flags;\n};\n\nstruct suspend_stats {\n\tunsigned int step_failures[8];\n\tunsigned int success;\n\tunsigned int fail;\n\tint last_failed_dev;\n\tchar failed_devs[80];\n\tint last_failed_errno;\n\tint errno[2];\n\tint last_failed_step;\n\tu64 last_hw_sleep;\n\tu64 total_hw_sleep;\n\tu64 max_hw_sleep;\n\tenum suspend_stat_step failed_steps[2];\n};\n\nstruct svc_deferred_req {\n\tu32 prot;\n\tstruct svc_xprt *xprt;\n\tstruct __kernel_sockaddr_storage addr;\n\tsize_t addrlen;\n\tstruct __kernel_sockaddr_storage daddr;\n\tsize_t daddrlen;\n\tvoid *xprt_ctxt;\n\tstruct cache_deferred_req handle;\n\tint argslen;\n\t__be32 args[0];\n};\n\nstruct svc_info {\n\tstruct svc_serv *serv;\n\tstruct mutex *mutex;\n};\n\nstruct svc_pool {\n\tunsigned int sp_id;\n\tstruct lwq sp_xprts;\n\tunsigned int sp_nrthreads;\n\tstruct list_head sp_all_threads;\n\tstruct llist_head sp_idle_threads;\n\tstruct percpu_counter sp_messages_arrived;\n\tstruct percpu_counter sp_sockets_queued;\n\tstruct percpu_counter sp_threads_woken;\n\tlong unsigned int sp_flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct svc_pool_map {\n\tint count;\n\tint mode;\n\tunsigned int npools;\n\tunsigned int *pool_to;\n\tunsigned int *to_pool;\n};\n\nstruct svc_procedure {\n\t__be32 (*pc_func)(struct svc_rqst *);\n\tbool (*pc_decode)(struct svc_rqst *, struct xdr_stream *);\n\tbool (*pc_encode)(struct svc_rqst *, struct xdr_stream *);\n\tvoid (*pc_release)(struct svc_rqst *);\n\tunsigned int pc_argsize;\n\tunsigned int pc_argzero;\n\tunsigned int pc_ressize;\n\tunsigned int pc_cachetype;\n\tunsigned int pc_xdrressize;\n\tconst char *pc_name;\n};\n\nstruct svc_process_info {\n\tunion {\n\t\tint (*dispatch)(struct svc_rqst *);\n\t\tstruct {\n\t\t\tunsigned int lovers;\n\t\t\tunsigned int hivers;\n\t\t} mismatch;\n\t};\n};\n\nstruct svc_version;\n\nstruct svc_program {\n\tu32 pg_prog;\n\tunsigned int pg_lovers;\n\tunsigned int pg_hivers;\n\tunsigned int pg_nvers;\n\tconst struct svc_version **pg_vers;\n\tchar *pg_name;\n\tchar *pg_class;\n\tenum svc_auth_status (*pg_authenticate)(struct svc_rqst *);\n\t__be32 (*pg_init_request)(struct svc_rqst *, const struct svc_program *, struct svc_process_info *);\n\tint (*pg_rpcbind_set)(struct net *, const struct svc_program *, u32, int, short unsigned int, short unsigned int);\n};\n\nstruct xdr_stream {\n\t__be32 *p;\n\tstruct xdr_buf *buf;\n\t__be32 *end;\n\tstruct kvec *iov;\n\tstruct kvec scratch;\n\tstruct page **page_ptr;\n\tvoid *page_kaddr;\n\tunsigned int nwords;\n\tstruct rpc_rqst *rqst;\n};\n\nstruct svc_rqst {\n\tstruct list_head rq_all;\n\tstruct llist_node rq_idle;\n\tstruct callback_head rq_rcu_head;\n\tstruct svc_xprt *rq_xprt;\n\tstruct __kernel_sockaddr_storage rq_addr;\n\tsize_t rq_addrlen;\n\tstruct __kernel_sockaddr_storage rq_daddr;\n\tsize_t rq_daddrlen;\n\tstruct svc_serv *rq_server;\n\tstruct svc_pool *rq_pool;\n\tconst struct svc_procedure *rq_procinfo;\n\tstruct auth_ops *rq_authop;\n\tstruct svc_cred rq_cred;\n\tvoid *rq_xprt_ctxt;\n\tstruct svc_deferred_req *rq_deferred;\n\tstruct xdr_buf rq_arg;\n\tstruct xdr_stream rq_arg_stream;\n\tstruct xdr_stream rq_res_stream;\n\tstruct page *rq_scratch_page;\n\tstruct xdr_buf rq_res;\n\tstruct page *rq_pages[20];\n\tstruct page **rq_respages;\n\tstruct page **rq_next_page;\n\tstruct page **rq_page_end;\n\tstruct folio_batch rq_fbatch;\n\tstruct kvec rq_vec[19];\n\tstruct bio_vec rq_bvec[19];\n\t__be32 rq_xid;\n\tu32 rq_prog;\n\tu32 rq_vers;\n\tu32 rq_proc;\n\tu32 rq_prot;\n\tint rq_cachetype;\n\tlong unsigned int rq_flags;\n\tktime_t rq_qtime;\n\tvoid *rq_argp;\n\tvoid *rq_resp;\n\t__be32 *rq_accept_statp;\n\tvoid *rq_auth_data;\n\t__be32 rq_auth_stat;\n\tint rq_auth_slack;\n\tint rq_reserved;\n\tktime_t rq_stime;\n\tstruct cache_req rq_chandle;\n\tstruct auth_domain *rq_client;\n\tstruct auth_domain *rq_gssclient;\n\tstruct task_struct *rq_task;\n\tstruct net *rq_bc_net;\n\tint rq_err;\n\tlong unsigned int bc_to_initval;\n\tunsigned int bc_to_retries;\n\tvoid **rq_lease_breaker;\n\tunsigned int rq_status_counter;\n};\n\nstruct svc_stat;\n\nstruct svc_serv {\n\tstruct svc_program *sv_programs;\n\tstruct svc_stat *sv_stats;\n\tspinlock_t sv_lock;\n\tunsigned int sv_nprogs;\n\tunsigned int sv_nrthreads;\n\tunsigned int sv_max_payload;\n\tunsigned int sv_max_mesg;\n\tunsigned int sv_xdrsize;\n\tstruct list_head sv_permsocks;\n\tstruct list_head sv_tempsocks;\n\tint sv_tmpcnt;\n\tstruct timer_list sv_temptimer;\n\tchar *sv_name;\n\tunsigned int sv_nrpools;\n\tbool sv_is_pooled;\n\tstruct svc_pool *sv_pools;\n\tint (*sv_threadfn)(void *);\n};\n\nstruct svc_xprt_class;\n\nstruct svc_xprt_ops;\n\nstruct svc_xprt {\n\tstruct svc_xprt_class *xpt_class;\n\tconst struct svc_xprt_ops *xpt_ops;\n\tstruct kref xpt_ref;\n\tstruct list_head xpt_list;\n\tstruct lwq_node xpt_ready;\n\tlong unsigned int xpt_flags;\n\tstruct svc_serv *xpt_server;\n\tatomic_t xpt_reserved;\n\tatomic_t xpt_nr_rqsts;\n\tstruct mutex xpt_mutex;\n\tspinlock_t xpt_lock;\n\tvoid *xpt_auth_cache;\n\tstruct list_head xpt_deferred;\n\tstruct __kernel_sockaddr_storage xpt_local;\n\tsize_t xpt_locallen;\n\tstruct __kernel_sockaddr_storage xpt_remote;\n\tsize_t xpt_remotelen;\n\tchar xpt_remotebuf[58];\n\tstruct list_head xpt_users;\n\tstruct net *xpt_net;\n\tnetns_tracker ns_tracker;\n\tconst struct cred *xpt_cred;\n\tstruct rpc_xprt *xpt_bc_xprt;\n\tstruct rpc_xprt_switch *xpt_bc_xps;\n};\n\nstruct svc_sock {\n\tstruct svc_xprt sk_xprt;\n\tstruct socket *sk_sock;\n\tstruct sock *sk_sk;\n\tvoid (*sk_ostate)(struct sock *);\n\tvoid (*sk_odata)(struct sock *);\n\tvoid (*sk_owspace)(struct sock *);\n\t__be32 sk_marker;\n\tu32 sk_tcplen;\n\tu32 sk_datalen;\n\tstruct page_frag_cache sk_frag_cache;\n\tstruct completion sk_handshake_done;\n\tstruct page *sk_pages[19];\n};\n\nstruct svc_stat {\n\tstruct svc_program *program;\n\tunsigned int netcnt;\n\tunsigned int netudpcnt;\n\tunsigned int nettcpcnt;\n\tunsigned int nettcpconn;\n\tunsigned int rpccnt;\n\tunsigned int rpcbadfmt;\n\tunsigned int rpcbadauth;\n\tunsigned int rpcbadclnt;\n};\n\nstruct svc_version {\n\tu32 vs_vers;\n\tu32 vs_nproc;\n\tconst struct svc_procedure *vs_proc;\n\tlong unsigned int *vs_count;\n\tu32 vs_xdrsize;\n\tbool vs_hidden;\n\tbool vs_rpcb_optnl;\n\tbool vs_need_cong_ctrl;\n\tint (*vs_dispatch)(struct svc_rqst *);\n};\n\nstruct svc_xprt_class {\n\tconst char *xcl_name;\n\tstruct module *xcl_owner;\n\tconst struct svc_xprt_ops *xcl_ops;\n\tstruct list_head xcl_list;\n\tu32 xcl_max_payload;\n\tint xcl_ident;\n};\n\nstruct svc_xprt_ops {\n\tstruct svc_xprt * (*xpo_create)(struct svc_serv *, struct net *, struct sockaddr *, int, int);\n\tstruct svc_xprt * (*xpo_accept)(struct svc_xprt *);\n\tint (*xpo_has_wspace)(struct svc_xprt *);\n\tint (*xpo_recvfrom)(struct svc_rqst *);\n\tint (*xpo_sendto)(struct svc_rqst *);\n\tint (*xpo_result_payload)(struct svc_rqst *, unsigned int, unsigned int);\n\tvoid (*xpo_release_ctxt)(struct svc_xprt *, void *);\n\tvoid (*xpo_detach)(struct svc_xprt *);\n\tvoid (*xpo_free)(struct svc_xprt *);\n\tvoid (*xpo_kill_temp_xprt)(struct svc_xprt *);\n\tvoid (*xpo_handshake)(struct svc_xprt *);\n};\n\nstruct svc_xpt_user {\n\tstruct list_head list;\n\tvoid (*callback)(struct svc_xpt_user *);\n};\n\nstruct sw842_param {\n\tu8 *in;\n\tu8 bit;\n\tu64 ilen;\n\tu8 *out;\n\tu8 *ostart;\n\tu64 olen;\n};\n\nstruct swait_queue {\n\tstruct task_struct *task;\n\tstruct list_head task_list;\n};\n\nstruct swap_cgroup {\n\tatomic_t ids;\n};\n\nstruct swap_cgroup_ctrl {\n\tstruct swap_cgroup *map;\n};\n\nstruct swap_cluster_info {\n\tspinlock_t lock;\n\tu16 count;\n\tu8 flags;\n\tu8 order;\n\tstruct list_head list;\n};\n\nstruct swap_extent {\n\tstruct rb_node rb_node;\n\tlong unsigned int start_page;\n\tlong unsigned int nr_pages;\n\tsector_t start_block;\n};\n\nunion swap_header {\n\tstruct {\n\t\tchar reserved[65526];\n\t\tchar magic[10];\n\t} magic;\n\tstruct {\n\t\tchar bootbits[1024];\n\t\t__u32 version;\n\t\t__u32 last_page;\n\t\t__u32 nr_badpages;\n\t\tunsigned char sws_uuid[16];\n\t\tunsigned char sws_volume[16];\n\t\t__u32 padding[117];\n\t\t__u32 badpages[1];\n\t} info;\n};\n\nstruct swap_info_struct {\n\tstruct percpu_ref users;\n\tlong unsigned int flags;\n\tshort int prio;\n\tstruct plist_node list;\n\tsigned char type;\n\tunsigned int max;\n\tunsigned char *swap_map;\n\tlong unsigned int *zeromap;\n\tstruct swap_cluster_info *cluster_info;\n\tstruct list_head free_clusters;\n\tstruct list_head full_clusters;\n\tstruct list_head nonfull_clusters[1];\n\tstruct list_head frag_clusters[1];\n\tatomic_long_t frag_cluster_nr[1];\n\tunsigned int pages;\n\tatomic_long_t inuse_pages;\n\tstruct percpu_cluster *percpu_cluster;\n\tstruct percpu_cluster *global_cluster;\n\tspinlock_t global_cluster_lock;\n\tstruct rb_root swap_extent_root;\n\tstruct block_device *bdev;\n\tstruct file *swap_file;\n\tstruct completion comp;\n\tspinlock_t lock;\n\tspinlock_t cont_lock;\n\tstruct work_struct discard_work;\n\tstruct work_struct reclaim_work;\n\tstruct list_head discard_clusters;\n\tstruct plist_node avail_lists[0];\n};\n\nstruct swap_iocb {\n\tstruct kiocb iocb;\n\tstruct bio_vec bvec[32];\n\tint pages;\n\tint len;\n};\n\nstruct swap_slots_cache {\n\tbool lock_initialized;\n\tstruct mutex alloc_lock;\n\tswp_entry_t *slots;\n\tint nr;\n\tint cur;\n\tint n_ret;\n};\n\nstruct swevent_hlist {\n\tstruct hlist_head heads[256];\n\tstruct callback_head callback_head;\n};\n\nstruct swevent_htable {\n\tstruct swevent_hlist *swevent_hlist;\n\tstruct mutex hlist_mutex;\n\tint hlist_refcount;\n};\n\nstruct swmii_regs {\n\tu16 bmsr;\n\tu16 lpa;\n\tu16 lpagb;\n\tu16 estat;\n};\n\nstruct swnode {\n\tstruct kobject kobj;\n\tstruct fwnode_handle fwnode;\n\tconst struct software_node *node;\n\tint id;\n\tstruct ida child_ids;\n\tstruct list_head entry;\n\tstruct list_head children;\n\tstruct swnode *parent;\n\tunsigned int allocated: 1;\n\tunsigned int managed: 1;\n};\n\nstruct sym_count_ctx {\n\tunsigned int count;\n\tconst char *name;\n};\n\nstruct symsearch {\n\tconst struct kernel_symbol *start;\n\tconst struct kernel_symbol *stop;\n\tconst u32 *crcs;\n\tenum mod_license license;\n};\n\nstruct synaptics_device_info {\n\tu32 model_id;\n\tu32 firmware_id;\n\tu32 board_id;\n\tu32 capabilities;\n\tu32 ext_cap;\n\tu32 ext_cap_0c;\n\tu32 ext_cap_10;\n\tu32 identity;\n\tu32 x_res;\n\tu32 y_res;\n\tu32 x_max;\n\tu32 y_max;\n\tu32 x_min;\n\tu32 y_min;\n};\n\nstruct synaptics_hw_state {\n\tint x;\n\tint y;\n\tint z;\n\tint w;\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int up: 1;\n\tunsigned int down: 1;\n\tu8 ext_buttons;\n\ts8 scroll;\n};\n\nstruct synaptics_data {\n\tstruct synaptics_device_info info;\n\tenum synaptics_pkt_type pkt_type;\n\tu8 mode;\n\tint scroll;\n\tbool absolute_mode;\n\tbool disable_gesture;\n\tstruct serio *pt_port;\n\tbool pt_port_open;\n\tstruct synaptics_hw_state agm;\n\tunsigned int agm_count;\n\tlong unsigned int press_start;\n\tbool press;\n\tbool report_press;\n\tbool is_forcepad;\n};\n\nstruct sync_io {\n\tlong unsigned int error_bits;\n\tstruct completion wait;\n};\n\nstruct sys_off_data {\n\tint mode;\n\tvoid *cb_data;\n\tconst char *cmd;\n\tstruct device *dev;\n};\n\nstruct sys_off_handler {\n\tstruct notifier_block nb;\n\tint (*sys_off_cb)(struct sys_off_data *);\n\tvoid *cb_data;\n\tenum sys_off_mode mode;\n\tbool blocking;\n\tvoid *list;\n\tstruct device *dev;\n};\n\nstruct syscall_info {\n\t__u64 sp;\n\tstruct seccomp_data data;\n};\n\nstruct syscall_metadata {\n\tconst char *name;\n\tint syscall_nr;\n\tint nb_args;\n\tconst char **types;\n\tconst char **args;\n\tstruct list_head enter_fields;\n\tstruct trace_event_call *enter_event;\n\tstruct trace_event_call *exit_event;\n};\n\nstruct syscall_tp_t {\n\tstruct trace_entry ent;\n\tint syscall_nr;\n\tlong unsigned int ret;\n};\n\nstruct syscall_tp_t___2 {\n\tstruct trace_entry ent;\n\tint syscall_nr;\n\tlong unsigned int args[6];\n};\n\nstruct syscall_trace_enter {\n\tstruct trace_entry ent;\n\tint nr;\n\tlong unsigned int args[0];\n};\n\nstruct syscall_trace_exit {\n\tstruct trace_entry ent;\n\tint nr;\n\tlong int ret;\n};\n\nstruct syscall_user_dispatch {};\n\nstruct syscore_ops {\n\tstruct list_head node;\n\tint (*suspend)(void);\n\tvoid (*resume)(void);\n\tvoid (*shutdown)(void);\n};\n\nstruct sysctl_alias {\n\tconst char *kernel_param;\n\tconst char *sysctl_param;\n};\n\nstruct sysfs_ops {\n\tssize_t (*show)(struct kobject *, struct attribute *, char *);\n\tssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t);\n};\n\nstruct sysinfo {\n\t__kernel_long_t uptime;\n\t__kernel_ulong_t loads[3];\n\t__kernel_ulong_t totalram;\n\t__kernel_ulong_t freeram;\n\t__kernel_ulong_t sharedram;\n\t__kernel_ulong_t bufferram;\n\t__kernel_ulong_t totalswap;\n\t__kernel_ulong_t freeswap;\n\t__u16 procs;\n\t__u16 pad;\n\t__kernel_ulong_t totalhigh;\n\t__kernel_ulong_t freehigh;\n\t__u32 mem_unit;\n\tchar _f[0];\n};\n\nstruct sysrq_key_op {\n\tvoid (* const handler)(u8);\n\tconst char * const help_msg;\n\tconst char * const action_msg;\n\tconst int enable_mask;\n};\n\nstruct sysrq_state {\n\tstruct input_handle handle;\n\tstruct work_struct reinject_work;\n\tlong unsigned int key_down[12];\n\tunsigned int alt;\n\tunsigned int alt_use;\n\tunsigned int shift;\n\tunsigned int shift_use;\n\tbool active;\n\tbool need_reinject;\n\tbool reinjecting;\n\tbool reset_canceled;\n\tbool reset_requested;\n\tlong unsigned int reset_keybit[12];\n\tint reset_seq_len;\n\tint reset_seq_cnt;\n\tint reset_seq_version;\n\tstruct timer_list keyreset_timer;\n};\n\nstruct system_counterval_t {\n\tu64 cycles;\n\tenum clocksource_ids cs_id;\n\tbool use_nsecs;\n};\n\nstruct system_device_crosststamp {\n\tktime_t device;\n\tktime_t sys_realtime;\n\tktime_t sys_monoraw;\n};\n\nstruct system_time_snapshot {\n\tu64 cycles;\n\tktime_t real;\n\tktime_t boot;\n\tktime_t raw;\n\tenum clocksource_ids cs_id;\n\tunsigned int clock_was_set_seq;\n\tu8 cs_was_changed_seq;\n};\n\nstruct systemcfg {\n\t__u8 eye_catcher[16];\n\tstruct {\n\t\t__u32 major;\n\t\t__u32 minor;\n\t} version;\n\t__u32 platform;\n\t__u32 processor;\n\t__u64 processorCount;\n\t__u64 physicalMemorySize;\n\t__u64 tb_orig_stamp;\n\t__u64 tb_ticks_per_sec;\n\t__u64 tb_to_xs;\n\t__u64 stamp_xsec;\n\t__u64 tb_update_count;\n\t__u32 tz_minuteswest;\n\t__u32 tz_dsttime;\n\t__u32 dcache_size;\n\t__u32 dcache_line_size;\n\t__u32 icache_size;\n\t__u32 icache_line_size;\n};\n\nstruct sysv_sem {\n\tstruct sem_undo_list *undo_list;\n};\n\nstruct sysv_shm {\n\tstruct list_head shm_clist;\n};\n\nstruct table_device {\n\tstruct list_head list;\n\trefcount_t count;\n\tstruct dm_dev dm_dev;\n};\n\nstruct taint_flag {\n\tchar c_true;\n\tchar c_false;\n\tbool module;\n\tconst char *desc;\n};\n\ntypedef int (*dm_ctr_fn)(struct dm_target *, unsigned int, char **);\n\ntypedef void (*dm_dtr_fn)(struct dm_target *);\n\ntypedef int (*dm_map_fn)(struct dm_target *, struct bio *);\n\ntypedef int (*dm_clone_and_map_request_fn)(struct dm_target *, struct request *, union map_info *, struct request **);\n\ntypedef void (*dm_release_clone_request_fn)(struct request *, union map_info *);\n\ntypedef int (*dm_endio_fn)(struct dm_target *, struct bio *, blk_status_t *);\n\ntypedef int (*dm_request_endio_fn)(struct dm_target *, struct request *, blk_status_t, union map_info *);\n\ntypedef void (*dm_presuspend_fn)(struct dm_target *);\n\ntypedef void (*dm_presuspend_undo_fn)(struct dm_target *);\n\ntypedef void (*dm_postsuspend_fn)(struct dm_target *);\n\ntypedef int (*dm_preresume_fn)(struct dm_target *);\n\ntypedef void (*dm_resume_fn)(struct dm_target *);\n\ntypedef void (*dm_status_fn)(struct dm_target *, status_type_t, unsigned int, char *, unsigned int);\n\ntypedef int (*dm_message_fn)(struct dm_target *, unsigned int, char **, char *, unsigned int);\n\ntypedef int (*dm_prepare_ioctl_fn)(struct dm_target *, struct block_device **);\n\ntypedef int (*dm_report_zones_fn)(struct dm_target *);\n\ntypedef int (*dm_busy_fn)(struct dm_target *);\n\ntypedef int (*iterate_devices_callout_fn)(struct dm_target *, struct dm_dev *, sector_t, sector_t, void *);\n\ntypedef int (*dm_iterate_devices_fn)(struct dm_target *, iterate_devices_callout_fn, void *);\n\ntypedef void (*dm_io_hints_fn)(struct dm_target *, struct queue_limits *);\n\ntypedef long int (*dm_dax_direct_access_fn)(struct dm_target *, long unsigned int, long int, enum dax_access_mode, void **, pfn_t *);\n\ntypedef int (*dm_dax_zero_page_range_fn)(struct dm_target *, long unsigned int, size_t);\n\ntypedef size_t (*dm_dax_recovery_write_fn)(struct dm_target *, long unsigned int, void *, size_t, struct iov_iter *);\n\nstruct target_type {\n\tuint64_t features;\n\tconst char *name;\n\tstruct module *module;\n\tunsigned int version[3];\n\tdm_ctr_fn ctr;\n\tdm_dtr_fn dtr;\n\tdm_map_fn map;\n\tdm_clone_and_map_request_fn clone_and_map_rq;\n\tdm_release_clone_request_fn release_clone_rq;\n\tdm_endio_fn end_io;\n\tdm_request_endio_fn rq_end_io;\n\tdm_presuspend_fn presuspend;\n\tdm_presuspend_undo_fn presuspend_undo;\n\tdm_postsuspend_fn postsuspend;\n\tdm_preresume_fn preresume;\n\tdm_resume_fn resume;\n\tdm_status_fn status;\n\tdm_message_fn message;\n\tdm_prepare_ioctl_fn prepare_ioctl;\n\tdm_report_zones_fn report_zones;\n\tdm_busy_fn busy;\n\tdm_iterate_devices_fn iterate_devices;\n\tdm_io_hints_fn io_hints;\n\tdm_dax_direct_access_fn direct_access;\n\tdm_dax_zero_page_range_fn dax_zero_page_range;\n\tdm_dax_recovery_write_fn dax_recovery_write;\n\tstruct list_head list;\n};\n\nstruct task_delay_info {\n\traw_spinlock_t lock;\n\tu64 blkio_start;\n\tu64 blkio_delay_max;\n\tu64 blkio_delay_min;\n\tu64 blkio_delay;\n\tu64 swapin_start;\n\tu64 swapin_delay_max;\n\tu64 swapin_delay_min;\n\tu64 swapin_delay;\n\tu32 blkio_count;\n\tu32 swapin_count;\n\tu64 freepages_start;\n\tu64 freepages_delay_max;\n\tu64 freepages_delay_min;\n\tu64 freepages_delay;\n\tu64 thrashing_start;\n\tu64 thrashing_delay_max;\n\tu64 thrashing_delay_min;\n\tu64 thrashing_delay;\n\tu64 compact_start;\n\tu64 compact_delay_max;\n\tu64 compact_delay_min;\n\tu64 compact_delay;\n\tu64 wpcopy_start;\n\tu64 wpcopy_delay_max;\n\tu64 wpcopy_delay_min;\n\tu64 wpcopy_delay;\n\tu64 irq_delay_max;\n\tu64 irq_delay_min;\n\tu64 irq_delay;\n\tu32 freepages_count;\n\tu32 thrashing_count;\n\tu32 compact_count;\n\tu32 wpcopy_count;\n\tu32 irq_count;\n};\n\nstruct task_group {\n\tstruct cgroup_subsys_state css;\n\tint idle;\n\tstruct sched_entity **se;\n\tstruct cfs_rq **cfs_rq;\n\tlong unsigned int shares;\n\tlong: 64;\n\tlong: 64;\n\tatomic_long_t load_avg;\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct task_group *parent;\n\tstruct list_head siblings;\n\tstruct list_head children;\n\tstruct autogroup *autogroup;\n\tstruct cfs_bandwidth cfs_bandwidth;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct task_numa_env {\n\tstruct task_struct *p;\n\tint src_cpu;\n\tint src_nid;\n\tint dst_cpu;\n\tint dst_nid;\n\tint imb_numa_nr;\n\tstruct numa_stats src_stats;\n\tstruct numa_stats dst_stats;\n\tint imbalance_pct;\n\tint dist;\n\tstruct task_struct *best_task;\n\tlong int best_imp;\n\tint best_cpu;\n};\n\nstruct task_security_struct {\n\tu32 osid;\n\tu32 sid;\n\tu32 exec_sid;\n\tu32 create_sid;\n\tu32 keycreate_sid;\n\tu32 sockcreate_sid;\n};\n\ntypedef struct task_struct *class_find_get_task_t;\n\ntypedef struct task_struct *class_task_lock_t;\n\nstruct thread_info {\n\tint preempt_count;\n\tunsigned int cpu;\n\tlong unsigned int local_flags;\n\tunsigned char slb_preload_nr;\n\tunsigned char slb_preload_tail;\n\tu32 slb_preload_esid[16];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct vtime {\n\tseqcount_t seqcount;\n\tlong long unsigned int starttime;\n\tenum vtime_state state;\n\tunsigned int cpu;\n\tu64 utime;\n\tu64 stime;\n\tu64 gtime;\n};\n\nstruct wake_q_node {\n\tstruct wake_q_node *next;\n};\n\nstruct tlbflush_unmap_batch {};\n\nstruct thread_struct {\n\tlong unsigned int ksp;\n\tlong unsigned int ksp_vsid;\n\tstruct pt_regs *regs;\n\tstruct debug_reg debug;\n\tlong: 64;\n\tstruct thread_fp_state fp_state;\n\tstruct thread_fp_state *fp_save_area;\n\tint fpexc_mode;\n\tunsigned int align_ctl;\n\tstruct perf_event *ptrace_bps[2];\n\tstruct arch_hw_breakpoint hw_brk[2];\n\tlong unsigned int trap_nr;\n\tu8 load_slb;\n\tu8 load_fp;\n\tu8 load_vec;\n\tlong: 0;\n\tstruct thread_vr_state vr_state;\n\tstruct thread_vr_state *vr_save_area;\n\tlong unsigned int vrsave;\n\tint used_vr;\n\tint used_vsr;\n\tu8 load_tm;\n\tu64 tm_tfhar;\n\tu64 tm_texasr;\n\tu64 tm_tfiar;\n\tstruct pt_regs ckpt_regs;\n\tlong unsigned int tm_tar;\n\tlong unsigned int tm_ppr;\n\tlong unsigned int tm_dscr;\n\tlong unsigned int tm_amr;\n\tlong: 64;\n\tstruct thread_fp_state ckfp_state;\n\tstruct thread_vr_state ckvr_state;\n\tlong unsigned int ckvrsave;\n\tlong unsigned int dscr;\n\tlong unsigned int fscr;\n\tint dscr_inherit;\n\tlong unsigned int tidr;\n\tlong unsigned int tar;\n\tlong unsigned int ebbrr;\n\tlong unsigned int ebbhr;\n\tlong unsigned int bescr;\n\tlong unsigned int siar;\n\tlong unsigned int sdar;\n\tlong unsigned int sier;\n\tlong unsigned int mmcr2;\n\tunsigned int mmcr0;\n\tunsigned int used_ebb;\n\tlong unsigned int mmcr3;\n\tlong unsigned int sier2;\n\tlong unsigned int sier3;\n\tlong unsigned int hashkeyr;\n\tlong unsigned int dexcr;\n\tlong unsigned int dexcr_onexec;\n};\n\nstruct uprobe_task;\n\nstruct task_struct {\n\tstruct thread_info thread_info;\n\tunsigned int __state;\n\tunsigned int saved_state;\n\tvoid *stack;\n\trefcount_t usage;\n\tunsigned int flags;\n\tunsigned int ptrace;\n\tint on_cpu;\n\tstruct __call_single_node wake_entry;\n\tunsigned int wakee_flips;\n\tlong unsigned int wakee_flip_decay_ts;\n\tstruct task_struct *last_wakee;\n\tint recent_used_cpu;\n\tint wake_cpu;\n\tint on_rq;\n\tint prio;\n\tint static_prio;\n\tint normal_prio;\n\tunsigned int rt_priority;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_entity se;\n\tstruct sched_rt_entity rt;\n\tstruct sched_dl_entity dl;\n\tstruct sched_dl_entity *dl_server;\n\tconst struct sched_class *sched_class;\n\tstruct task_group *sched_task_group;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_statistics stats;\n\tstruct hlist_head preempt_notifiers;\n\tunsigned int btrace_seq;\n\tunsigned int policy;\n\tlong unsigned int max_allowed_capacity;\n\tint nr_cpus_allowed;\n\tconst cpumask_t *cpus_ptr;\n\tcpumask_t *user_cpus_ptr;\n\tcpumask_t cpus_mask;\n\tvoid *migration_pending;\n\tshort unsigned int migration_disabled;\n\tshort unsigned int migration_flags;\n\tint trc_reader_nesting;\n\tint trc_ipi_to_cpu;\n\tunion rcu_special trc_reader_special;\n\tstruct list_head trc_holdout_list;\n\tstruct list_head trc_blkd_node;\n\tint trc_blkd_cpu;\n\tstruct sched_info sched_info;\n\tstruct list_head tasks;\n\tstruct plist_node pushable_tasks;\n\tstruct rb_node pushable_dl_tasks;\n\tstruct mm_struct *mm;\n\tstruct mm_struct *active_mm;\n\tstruct address_space *faults_disabled_mapping;\n\tint exit_state;\n\tint exit_code;\n\tint exit_signal;\n\tint pdeath_signal;\n\tlong unsigned int jobctl;\n\tunsigned int personality;\n\tunsigned int sched_reset_on_fork: 1;\n\tunsigned int sched_contributes_to_load: 1;\n\tunsigned int sched_migrated: 1;\n\tunsigned int sched_task_hot: 1;\n\tlong: 28;\n\tunsigned int sched_remote_wakeup: 1;\n\tunsigned int sched_rt_mutex: 1;\n\tunsigned int in_execve: 1;\n\tunsigned int in_iowait: 1;\n\tunsigned int restore_sigmask: 1;\n\tunsigned int no_cgroup_migration: 1;\n\tunsigned int frozen: 1;\n\tunsigned int use_memdelay: 1;\n\tunsigned int in_memstall: 1;\n\tunsigned int in_page_owner: 1;\n\tunsigned int in_eventfd: 1;\n\tunsigned int in_thrashing: 1;\n\tlong unsigned int atomic_flags;\n\tstruct restart_block restart_block;\n\tpid_t pid;\n\tpid_t tgid;\n\tlong unsigned int stack_canary;\n\tstruct task_struct *real_parent;\n\tstruct task_struct *parent;\n\tstruct list_head children;\n\tstruct list_head sibling;\n\tstruct task_struct *group_leader;\n\tstruct list_head ptraced;\n\tstruct list_head ptrace_entry;\n\tstruct pid *thread_pid;\n\tstruct hlist_node pid_links[4];\n\tstruct list_head thread_node;\n\tstruct completion *vfork_done;\n\tint *set_child_tid;\n\tint *clear_child_tid;\n\tvoid *worker_private;\n\tu64 utime;\n\tu64 stime;\n\tu64 gtime;\n\tstruct prev_cputime prev_cputime;\n\tstruct vtime vtime;\n\tatomic_t tick_dep_mask;\n\tlong unsigned int nvcsw;\n\tlong unsigned int nivcsw;\n\tu64 start_time;\n\tu64 start_boottime;\n\tlong unsigned int min_flt;\n\tlong unsigned int maj_flt;\n\tstruct posix_cputimers posix_cputimers;\n\tconst struct cred *ptracer_cred;\n\tconst struct cred *real_cred;\n\tconst struct cred *cred;\n\tstruct key *cached_requested_key;\n\tchar comm[16];\n\tstruct nameidata *nameidata;\n\tstruct sysv_sem sysvsem;\n\tstruct sysv_shm sysvshm;\n\tlong unsigned int last_switch_count;\n\tlong unsigned int last_switch_time;\n\tstruct fs_struct *fs;\n\tstruct files_struct *files;\n\tstruct io_uring_task *io_uring;\n\tstruct nsproxy *nsproxy;\n\tstruct signal_struct *signal;\n\tstruct sighand_struct *sighand;\n\tsigset_t blocked;\n\tsigset_t real_blocked;\n\tsigset_t saved_sigmask;\n\tstruct sigpending pending;\n\tlong unsigned int sas_ss_sp;\n\tsize_t sas_ss_size;\n\tunsigned int sas_ss_flags;\n\tstruct callback_head *task_works;\n\tstruct audit_context *audit_context;\n\tkuid_t loginuid;\n\tunsigned int sessionid;\n\tstruct seccomp seccomp;\n\tstruct syscall_user_dispatch syscall_dispatch;\n\tu64 parent_exec_id;\n\tu64 self_exec_id;\n\tspinlock_t alloc_lock;\n\traw_spinlock_t pi_lock;\n\tstruct wake_q_node wake_q;\n\tstruct rb_root_cached pi_waiters;\n\tstruct task_struct *pi_top_task;\n\tstruct rt_mutex_waiter *pi_blocked_on;\n\tstruct mutex_waiter *blocked_on;\n\tvoid *journal_info;\n\tstruct bio_list *bio_list;\n\tstruct blk_plug *plug;\n\tstruct reclaim_state *reclaim_state;\n\tstruct io_context *io_context;\n\tstruct capture_control *capture_control;\n\tlong unsigned int ptrace_message;\n\tkernel_siginfo_t *last_siginfo;\n\tstruct task_io_accounting ioac;\n\tunsigned int psi_flags;\n\tu64 acct_rss_mem1;\n\tu64 acct_vm_mem1;\n\tu64 acct_timexpd;\n\tnodemask_t mems_allowed;\n\tseqcount_spinlock_t mems_allowed_seq;\n\tint cpuset_mem_spread_rotor;\n\tstruct css_set *cgroups;\n\tstruct list_head cg_list;\n\tstruct robust_list_head *robust_list;\n\tstruct list_head pi_state_list;\n\tstruct futex_pi_state *pi_state_cache;\n\tstruct mutex futex_exit_mutex;\n\tunsigned int futex_state;\n\tu8 perf_recursion[4];\n\tstruct perf_event_context *perf_event_ctxp;\n\tstruct mutex perf_event_mutex;\n\tstruct list_head perf_event_list;\n\tstruct mempolicy *mempolicy;\n\tshort int il_prev;\n\tu8 il_weight;\n\tshort int pref_node_fork;\n\tint numa_scan_seq;\n\tunsigned int numa_scan_period;\n\tunsigned int numa_scan_period_max;\n\tint numa_preferred_nid;\n\tlong unsigned int numa_migrate_retry;\n\tu64 node_stamp;\n\tu64 last_task_numa_placement;\n\tu64 last_sum_exec_runtime;\n\tstruct callback_head numa_work;\n\tstruct numa_group *numa_group;\n\tlong unsigned int *numa_faults;\n\tlong unsigned int total_numa_faults;\n\tlong unsigned int numa_faults_locality[3];\n\tlong unsigned int numa_pages_migrated;\n\tstruct rseq *rseq;\n\tu32 rseq_len;\n\tu32 rseq_sig;\n\tlong unsigned int rseq_event_mask;\n\tint mm_cid;\n\tint last_mm_cid;\n\tint migrate_from_cpu;\n\tint mm_cid_active;\n\tstruct callback_head cid_work;\n\tstruct tlbflush_unmap_batch tlb_ubc;\n\tstruct pipe_inode_info *splice_pipe;\n\tstruct page_frag task_frag;\n\tstruct task_delay_info *delays;\n\tint nr_dirtied;\n\tint nr_dirtied_pause;\n\tlong unsigned int dirty_paused_when;\n\tu64 timer_slack_ns;\n\tu64 default_timer_slack_ns;\n\tstruct kunit *kunit_test;\n\tint curr_ret_stack;\n\tint curr_ret_depth;\n\tlong unsigned int *ret_stack;\n\tlong long unsigned int ftrace_timestamp;\n\tlong long unsigned int ftrace_sleeptime;\n\tatomic_t trace_overrun;\n\tatomic_t tracing_graph_pause;\n\tlong unsigned int trace_recursion;\n\tunsigned int memcg_nr_pages_over_high;\n\tstruct mem_cgroup *active_memcg;\n\tstruct obj_cgroup *objcg;\n\tstruct gendisk *throttle_disk;\n\tstruct uprobe_task *utask;\n\tstruct kmap_ctrl kmap_ctrl;\n\tstruct callback_head rcu;\n\trefcount_t rcu_users;\n\tint pagefault_disabled;\n\tstruct task_struct *oom_reaper_list;\n\tstruct timer_list oom_reaper_timer;\n\trefcount_t stack_refcount;\n\tvoid *security;\n\tstruct bpf_local_storage *bpf_storage;\n\tstruct bpf_run_ctx *bpf_ctx;\n\tstruct bpf_net_context *bpf_net_context;\n\tstruct llist_head kretprobe_instances;\n\tstruct llist_head rethooks;\n\tlong: 64;\n\tstruct thread_struct thread;\n};\n\nstruct task_struct__safe_rcu {\n\tconst cpumask_t *cpus_ptr;\n\tstruct css_set *cgroups;\n\tstruct task_struct *real_parent;\n\tstruct task_struct *group_leader;\n};\n\nstruct tasklet_head {\n\tstruct tasklet_struct *head;\n\tstruct tasklet_struct **tail;\n};\n\nstruct taskstats {\n\t__u16 version;\n\t__u32 ac_exitcode;\n\t__u8 ac_flag;\n\t__u8 ac_nice;\n\t__u64 cpu_count;\n\t__u64 cpu_delay_total;\n\t__u64 cpu_delay_max;\n\t__u64 cpu_delay_min;\n\t__u64 blkio_count;\n\t__u64 blkio_delay_total;\n\t__u64 blkio_delay_max;\n\t__u64 blkio_delay_min;\n\t__u64 swapin_count;\n\t__u64 swapin_delay_total;\n\t__u64 swapin_delay_max;\n\t__u64 swapin_delay_min;\n\t__u64 cpu_run_real_total;\n\t__u64 cpu_run_virtual_total;\n\tchar ac_comm[32];\n\t__u8 ac_sched;\n\t__u8 ac_pad[3];\n\tlong: 0;\n\t__u32 ac_uid;\n\t__u32 ac_gid;\n\t__u32 ac_pid;\n\t__u32 ac_ppid;\n\t__u32 ac_btime;\n\t__u64 ac_etime;\n\t__u64 ac_utime;\n\t__u64 ac_stime;\n\t__u64 ac_minflt;\n\t__u64 ac_majflt;\n\t__u64 coremem;\n\t__u64 virtmem;\n\t__u64 hiwater_rss;\n\t__u64 hiwater_vm;\n\t__u64 read_char;\n\t__u64 write_char;\n\t__u64 read_syscalls;\n\t__u64 write_syscalls;\n\t__u64 read_bytes;\n\t__u64 write_bytes;\n\t__u64 cancelled_write_bytes;\n\t__u64 nvcsw;\n\t__u64 nivcsw;\n\t__u64 ac_utimescaled;\n\t__u64 ac_stimescaled;\n\t__u64 cpu_scaled_run_real_total;\n\t__u64 freepages_count;\n\t__u64 freepages_delay_total;\n\t__u64 freepages_delay_max;\n\t__u64 freepages_delay_min;\n\t__u64 thrashing_count;\n\t__u64 thrashing_delay_total;\n\t__u64 thrashing_delay_max;\n\t__u64 thrashing_delay_min;\n\t__u64 ac_btime64;\n\t__u64 compact_count;\n\t__u64 compact_delay_total;\n\t__u64 compact_delay_max;\n\t__u64 compact_delay_min;\n\t__u32 ac_tgid;\n\t__u64 ac_tgetime;\n\t__u64 ac_exe_dev;\n\t__u64 ac_exe_inode;\n\t__u64 wpcopy_count;\n\t__u64 wpcopy_delay_total;\n\t__u64 wpcopy_delay_max;\n\t__u64 wpcopy_delay_min;\n\t__u64 irq_count;\n\t__u64 irq_delay_total;\n\t__u64 irq_delay_max;\n\t__u64 irq_delay_min;\n};\n\nstruct tc_act_pernet_id {\n\tstruct list_head list;\n\tunsigned int id;\n};\n\nstruct tcf_t {\n\t__u64 install;\n\t__u64 lastuse;\n\t__u64 expires;\n\t__u64 firstuse;\n};\n\nstruct tc_action_ops;\n\nstruct tcf_idrinfo;\n\nstruct tc_cookie;\n\nstruct tcf_chain;\n\nstruct tc_action {\n\tconst struct tc_action_ops *ops;\n\t__u32 type;\n\tstruct tcf_idrinfo *idrinfo;\n\tu32 tcfa_index;\n\trefcount_t tcfa_refcnt;\n\tatomic_t tcfa_bindcnt;\n\tint tcfa_action;\n\tstruct tcf_t tcfa_tm;\n\tlong: 64;\n\tstruct gnet_stats_basic_sync tcfa_bstats;\n\tstruct gnet_stats_basic_sync tcfa_bstats_hw;\n\tstruct gnet_stats_queue tcfa_qstats;\n\tstruct net_rate_estimator *tcfa_rate_est;\n\tspinlock_t tcfa_lock;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_basic_sync *cpu_bstats_hw;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tstruct tc_cookie *user_cookie;\n\tstruct tcf_chain *goto_chain;\n\tu32 tcfa_flags;\n\tu8 hw_stats;\n\tu8 used_hw_stats;\n\tbool used_hw_stats_valid;\n\tu32 in_hw_count;\n};\n\nstruct tc_action_net {\n\tstruct tcf_idrinfo *idrinfo;\n\tconst struct tc_action_ops *ops;\n};\n\ntypedef void (*tc_action_priv_destructor)(void *);\n\nstruct tcf_result;\n\nstruct tc_action_ops {\n\tstruct list_head head;\n\tchar kind[16];\n\tenum tca_id id;\n\tunsigned int net_id;\n\tsize_t size;\n\tstruct module *owner;\n\tint (*act)(struct sk_buff *, const struct tc_action *, struct tcf_result *);\n\tint (*dump)(struct sk_buff *, struct tc_action *, int, int);\n\tvoid (*cleanup)(struct tc_action *);\n\tint (*lookup)(struct net *, struct tc_action **, u32);\n\tint (*init)(struct net *, struct nlattr *, struct nlattr *, struct tc_action **, struct tcf_proto *, u32, struct netlink_ext_ack *);\n\tint (*walk)(struct net *, struct sk_buff *, struct netlink_callback *, int, const struct tc_action_ops *, struct netlink_ext_ack *);\n\tvoid (*stats_update)(struct tc_action *, u64, u64, u64, u64, bool);\n\tsize_t (*get_fill_size)(const struct tc_action *);\n\tstruct net_device * (*get_dev)(const struct tc_action *, tc_action_priv_destructor *);\n\tstruct psample_group * (*get_psample_group)(const struct tc_action *, tc_action_priv_destructor *);\n\tint (*offload_act_setup)(struct tc_action *, void *, u32 *, bool, struct netlink_ext_ack *);\n};\n\nstruct tc_bind_class_args {\n\tstruct qdisc_walker w;\n\tlong unsigned int new_cl;\n\tu32 portid;\n\tu32 clid;\n};\n\nstruct tc_cookie {\n\tu8 *data;\n\tu32 len;\n\tstruct callback_head rcu;\n};\n\nstruct tc_fifo_qopt {\n\t__u32 limit;\n};\n\nstruct tc_qopt_offload_stats {\n\tstruct gnet_stats_basic_sync *bstats;\n\tstruct gnet_stats_queue *qstats;\n};\n\nstruct tc_fifo_qopt_offload {\n\tenum tc_fifo_command command;\n\tu32 handle;\n\tu32 parent;\n\tunion {\n\t\tstruct tc_qopt_offload_stats stats;\n\t};\n};\n\nstruct tc_mq_opt_offload_graft_params {\n\tlong unsigned int queue;\n\tu32 child_handle;\n};\n\nstruct tc_mq_qopt_offload {\n\tenum tc_mq_command command;\n\tu32 handle;\n\tunion {\n\t\tstruct tc_qopt_offload_stats stats;\n\t\tstruct tc_mq_opt_offload_graft_params graft_params;\n\t};\n};\n\nstruct tc_pedit_key {\n\t__u32 mask;\n\t__u32 val;\n\t__u32 off;\n\t__u32 at;\n\t__u32 offmask;\n\t__u32 shift;\n};\n\nstruct tc_prio_qopt {\n\tint bands;\n\t__u8 priomap[16];\n};\n\nstruct tc_query_caps_base {\n\tenum tc_setup_type type;\n\tvoid *caps;\n};\n\nstruct tc_root_qopt_offload {\n\tenum tc_root_command command;\n\tu32 handle;\n\tbool ingress;\n};\n\nstruct tc_skb_cb {\n\tstruct qdisc_skb_cb qdisc_cb;\n\tu32 drop_reason;\n\tu16 zone;\n\tu16 mru;\n\tu8 post_ct: 1;\n\tu8 post_ct_snat: 1;\n\tu8 post_ct_dnat: 1;\n};\n\nstruct tcamsg {\n\tunsigned char tca_family;\n\tunsigned char tca__pad1;\n\tshort unsigned int tca__pad2;\n};\n\nstruct tcf_walker {\n\tint stop;\n\tint skip;\n\tint count;\n\tbool nonempty;\n\tlong unsigned int cookie;\n\tint (*fn)(struct tcf_proto *, void *, struct tcf_walker *);\n};\n\nstruct tcf_bind_args {\n\tstruct tcf_walker w;\n\tlong unsigned int base;\n\tlong unsigned int cl;\n\tu32 classid;\n};\n\nstruct tcf_block {\n\tstruct xarray ports;\n\tstruct mutex lock;\n\tstruct list_head chain_list;\n\tu32 index;\n\tu32 classid;\n\trefcount_t refcnt;\n\tstruct net *net;\n\tstruct Qdisc *q;\n\tstruct rw_semaphore cb_lock;\n\tstruct flow_block flow_block;\n\tstruct list_head owner_list;\n\tbool keep_dst;\n\tatomic_t useswcnt;\n\tatomic_t offloadcnt;\n\tunsigned int nooffloaddevcnt;\n\tunsigned int lockeddevcnt;\n\tstruct {\n\t\tstruct tcf_chain *chain;\n\t\tstruct list_head filter_chain_list;\n\t} chain0;\n\tstruct callback_head rcu;\n\tstruct hlist_head proto_destroy_ht[128];\n\tstruct mutex proto_destroy_lock;\n};\n\ntypedef void tcf_chain_head_change_t(struct tcf_proto *, void *);\n\nstruct tcf_block_ext_info {\n\tenum flow_block_binder_type binder_type;\n\ttcf_chain_head_change_t *chain_head_change;\n\tvoid *chain_head_change_priv;\n\tu32 block_index;\n};\n\nstruct tcf_block_owner_item {\n\tstruct list_head list;\n\tstruct Qdisc *q;\n\tenum flow_block_binder_type binder_type;\n};\n\nstruct tcf_proto_ops;\n\nstruct tcf_chain {\n\tstruct mutex filter_chain_lock;\n\tstruct tcf_proto *filter_chain;\n\tstruct list_head list;\n\tstruct tcf_block *block;\n\tu32 index;\n\tunsigned int refcnt;\n\tunsigned int action_refcnt;\n\tbool explicitly_created;\n\tbool flushing;\n\tconst struct tcf_proto_ops *tmplt_ops;\n\tvoid *tmplt_priv;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_chain_info {\n\tstruct tcf_proto **pprev;\n\tstruct tcf_proto *next;\n};\n\nstruct tcf_dump_args {\n\tstruct tcf_walker w;\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n\tstruct tcf_block *block;\n\tstruct Qdisc *q;\n\tu32 parent;\n\tbool terse_dump;\n};\n\nstruct tcf_exts_miss_cookie_node;\n\nstruct tcf_exts {\n\t__u32 type;\n\tint nr_actions;\n\tstruct tc_action **actions;\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n\tstruct tcf_exts_miss_cookie_node *miss_cookie_node;\n\tint action;\n\tint police;\n};\n\nunion tcf_exts_miss_cookie {\n\tstruct {\n\t\tu32 miss_cookie_base;\n\t\tu32 act_index;\n\t};\n\tu64 miss_cookie;\n};\n\nstruct tcf_exts_miss_cookie_node {\n\tconst struct tcf_chain *chain;\n\tconst struct tcf_proto *tp;\n\tconst struct tcf_exts *exts;\n\tu32 chain_index;\n\tu32 tp_prio;\n\tu32 handle;\n\tu32 miss_cookie_base;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_filter_chain_list_item {\n\tstruct list_head list;\n\ttcf_chain_head_change_t *chain_head_change;\n\tvoid *chain_head_change_priv;\n};\n\nstruct tcf_idrinfo {\n\tstruct mutex lock;\n\tstruct idr action_idr;\n\tstruct net *net;\n};\n\nstruct tcf_net {\n\tspinlock_t idr_lock;\n\tstruct idr idr;\n};\n\nstruct tcf_pedit_parms;\n\nstruct tcf_pedit {\n\tstruct tc_action common;\n\tstruct tcf_pedit_parms *parms;\n\tlong: 64;\n};\n\nstruct tcf_pedit_key_ex {\n\tenum pedit_header_type htype;\n\tenum pedit_cmd cmd;\n};\n\nstruct tcf_pedit_parms {\n\tstruct tc_pedit_key *tcfp_keys;\n\tstruct tcf_pedit_key_ex *tcfp_keys_ex;\n\tu32 tcfp_off_max_hint;\n\tunsigned char tcfp_nkeys;\n\tunsigned char tcfp_flags;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_proto {\n\tstruct tcf_proto *next;\n\tvoid *root;\n\tint (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *);\n\t__be16 protocol;\n\tu32 prio;\n\tvoid *data;\n\tconst struct tcf_proto_ops *ops;\n\tstruct tcf_chain *chain;\n\tspinlock_t lock;\n\tbool deleting;\n\tbool counted;\n\tbool usesw;\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tstruct hlist_node destroy_ht_node;\n};\n\nstruct tcf_proto_ops {\n\tstruct list_head head;\n\tchar kind[16];\n\tint (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *);\n\tint (*init)(struct tcf_proto *);\n\tvoid (*destroy)(struct tcf_proto *, bool, struct netlink_ext_ack *);\n\tvoid * (*get)(struct tcf_proto *, u32);\n\tvoid (*put)(struct tcf_proto *, void *);\n\tint (*change)(struct net *, struct sk_buff *, struct tcf_proto *, long unsigned int, u32, struct nlattr **, void **, u32, struct netlink_ext_ack *);\n\tint (*delete)(struct tcf_proto *, void *, bool *, bool, struct netlink_ext_ack *);\n\tbool (*delete_empty)(struct tcf_proto *);\n\tvoid (*walk)(struct tcf_proto *, struct tcf_walker *, bool);\n\tint (*reoffload)(struct tcf_proto *, bool, flow_setup_cb_t *, void *, struct netlink_ext_ack *);\n\tvoid (*hw_add)(struct tcf_proto *, void *);\n\tvoid (*hw_del)(struct tcf_proto *, void *);\n\tvoid (*bind_class)(void *, u32, long unsigned int, void *, long unsigned int);\n\tvoid * (*tmplt_create)(struct net *, struct tcf_chain *, struct nlattr **, struct netlink_ext_ack *);\n\tvoid (*tmplt_destroy)(void *);\n\tvoid (*tmplt_reoffload)(struct tcf_chain *, bool, flow_setup_cb_t *, void *);\n\tstruct tcf_exts * (*get_exts)(const struct tcf_proto *, u32);\n\tint (*dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool);\n\tint (*terse_dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool);\n\tint (*tmplt_dump)(struct sk_buff *, struct net *, void *);\n\tstruct module *owner;\n\tint flags;\n};\n\nstruct tcf_qevent {\n\tstruct tcf_block *block;\n\tstruct tcf_block_ext_info info;\n\tstruct tcf_proto *filter_chain;\n};\n\nstruct tcf_result {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int class;\n\t\t\tu32 classid;\n\t\t};\n\t\tconst struct tcf_proto *goto_tp;\n\t};\n};\n\nstruct tcg_efi_specid_event_algs {\n\tu16 alg_id;\n\tu16 digest_size;\n};\n\nstruct tcg_efi_specid_event_head {\n\tu8 signature[16];\n\tu32 platform_class;\n\tu8 spec_version_minor;\n\tu8 spec_version_major;\n\tu8 spec_errata;\n\tu8 uintnsize;\n\tu32 num_algs;\n\tstruct tcg_efi_specid_event_algs digest_sizes[0];\n};\n\nstruct tcg_event_field {\n\tu32 event_size;\n\tu8 event[0];\n};\n\nstruct tcg_pcr_event {\n\tu32 pcr_idx;\n\tu32 event_type;\n\tu8 digest[20];\n\tu32 event_size;\n\tu8 event[0];\n};\n\nstruct tpm_digest {\n\tu16 alg_id;\n\tu8 digest[64];\n};\n\nstruct tcg_pcr_event2_head {\n\tu32 pcr_idx;\n\tu32 event_type;\n\tu32 count;\n\tstruct tpm_digest digests[0];\n};\n\nstruct tchars {\n\tchar t_intrc;\n\tchar t_quitc;\n\tchar t_startc;\n\tchar t_stopc;\n\tchar t_eofc;\n\tchar t_brkc;\n};\n\nstruct tcmsg {\n\tunsigned char tcm_family;\n\tunsigned char tcm__pad1;\n\tshort unsigned int tcm__pad2;\n\tint tcm_ifindex;\n\t__u32 tcm_handle;\n\t__u32 tcm_parent;\n\t__u32 tcm_info;\n};\n\nstruct tcp_options_received {\n\tint ts_recent_stamp;\n\tu32 ts_recent;\n\tu32 rcv_tsval;\n\tu32 rcv_tsecr;\n\tu16 saw_tstamp: 1;\n\tu16 tstamp_ok: 1;\n\tu16 dsack: 1;\n\tu16 wscale_ok: 1;\n\tu16 sack_ok: 3;\n\tu16 smc_ok: 1;\n\tu16 snd_wscale: 4;\n\tu16 rcv_wscale: 4;\n\tu8 saw_unknown: 1;\n\tu8 unused: 7;\n\tu8 num_sacks;\n\tu16 user_mss;\n\tu16 mss_clamp;\n};\n\nstruct tcp_rack {\n\tu64 mstamp;\n\tu32 rtt_us;\n\tu32 end_seq;\n\tu32 last_delivered;\n\tu8 reo_wnd_steps;\n\tu8 reo_wnd_persist: 5;\n\tu8 dsack_seen: 1;\n\tu8 advanced: 1;\n};\n\nstruct tcp_sack_block {\n\tu32 start_seq;\n\tu32 end_seq;\n};\n\nstruct tcp_fastopen_request;\n\nstruct tcp_sock {\n\tstruct inet_connection_sock inet_conn;\n\t__u8 __cacheline_group_begin__tcp_sock_read_tx[0];\n\tu32 max_window;\n\tu32 rcv_ssthresh;\n\tu32 reordering;\n\tu32 notsent_lowat;\n\tu16 gso_segs;\n\tstruct sk_buff *lost_skb_hint;\n\tstruct sk_buff *retransmit_skb_hint;\n\t__u8 __cacheline_group_end__tcp_sock_read_tx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_read_txrx[0];\n\tu32 tsoffset;\n\tu32 snd_wnd;\n\tu32 mss_cache;\n\tu32 snd_cwnd;\n\tu32 prr_out;\n\tu32 lost_out;\n\tu32 sacked_out;\n\tu16 tcp_header_len;\n\tu8 scaling_ratio;\n\tu8 chrono_type: 2;\n\tu8 repair: 1;\n\tu8 tcp_usec_ts: 1;\n\tu8 is_sack_reneg: 1;\n\tu8 is_cwnd_limited: 1;\n\t__u8 __cacheline_group_end__tcp_sock_read_txrx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_read_rx[0];\n\tu32 copied_seq;\n\tu32 rcv_tstamp;\n\tu32 snd_wl1;\n\tu32 tlp_high_seq;\n\tu32 rttvar_us;\n\tu32 retrans_out;\n\tu16 advmss;\n\tu16 urg_data;\n\tu32 lost;\n\tstruct minmax rtt_min;\n\tstruct rb_root out_of_order_queue;\n\tu32 snd_ssthresh;\n\tu8 recvmsg_inq: 1;\n\t__u8 __cacheline_group_end__tcp_sock_read_rx[0];\n\tlong: 0;\n\t__u8 __cacheline_group_begin__tcp_sock_write_tx[0];\n\tu32 segs_out;\n\tu32 data_segs_out;\n\tu64 bytes_sent;\n\tu32 snd_sml;\n\tu32 chrono_start;\n\tu32 chrono_stat[3];\n\tu32 write_seq;\n\tu32 pushed_seq;\n\tu32 lsndtime;\n\tu32 mdev_us;\n\tu32 rtt_seq;\n\tu64 tcp_wstamp_ns;\n\tstruct list_head tsorted_sent_queue;\n\tstruct sk_buff *highest_sack;\n\tu8 ecn_flags;\n\t__u8 __cacheline_group_end__tcp_sock_write_tx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_write_txrx[0];\n\t__be32 pred_flags;\n\tu64 tcp_clock_cache;\n\tu64 tcp_mstamp;\n\tu32 rcv_nxt;\n\tu32 snd_nxt;\n\tu32 snd_una;\n\tu32 window_clamp;\n\tu32 srtt_us;\n\tu32 packets_out;\n\tu32 snd_up;\n\tu32 delivered;\n\tu32 delivered_ce;\n\tu32 app_limited;\n\tu32 rcv_wnd;\n\tstruct tcp_options_received rx_opt;\n\tu8 nonagle: 4;\n\tu8 rate_app_limited: 1;\n\t__u8 __cacheline_group_end__tcp_sock_write_txrx[0];\n\tlong: 0;\n\t__u8 __cacheline_group_begin__tcp_sock_write_rx[0];\n\tu64 bytes_received;\n\tu32 segs_in;\n\tu32 data_segs_in;\n\tu32 rcv_wup;\n\tu32 max_packets_out;\n\tu32 cwnd_usage_seq;\n\tu32 rate_delivered;\n\tu32 rate_interval_us;\n\tu32 rcv_rtt_last_tsecr;\n\tu64 first_tx_mstamp;\n\tu64 delivered_mstamp;\n\tu64 bytes_acked;\n\tstruct {\n\t\tu32 rtt_us;\n\t\tu32 seq;\n\t\tu64 time;\n\t} rcv_rtt_est;\n\tstruct {\n\t\tu32 space;\n\t\tu32 seq;\n\t\tu64 time;\n\t} rcvq_space;\n\t__u8 __cacheline_group_end__tcp_sock_write_rx[0];\n\tu32 dsack_dups;\n\tu32 compressed_ack_rcv_nxt;\n\tstruct list_head tsq_node;\n\tstruct tcp_rack rack;\n\tu8 compressed_ack;\n\tu8 dup_ack_counter: 2;\n\tu8 tlp_retrans: 1;\n\tu8 unused: 5;\n\tu8 thin_lto: 1;\n\tu8 fastopen_connect: 1;\n\tu8 fastopen_no_cookie: 1;\n\tu8 fastopen_client_fail: 2;\n\tu8 frto: 1;\n\tu8 repair_queue;\n\tu8 save_syn: 2;\n\tu8 syn_data: 1;\n\tu8 syn_fastopen: 1;\n\tu8 syn_fastopen_exp: 1;\n\tu8 syn_fastopen_ch: 1;\n\tu8 syn_data_acked: 1;\n\tu8 keepalive_probes;\n\tu32 tcp_tx_delay;\n\tu32 mdev_max_us;\n\tu32 reord_seen;\n\tu32 snd_cwnd_cnt;\n\tu32 snd_cwnd_clamp;\n\tu32 snd_cwnd_used;\n\tu32 snd_cwnd_stamp;\n\tu32 prior_cwnd;\n\tu32 prr_delivered;\n\tu32 last_oow_ack_time;\n\tstruct hrtimer pacing_timer;\n\tstruct hrtimer compressed_ack_timer;\n\tstruct sk_buff *ooo_last_skb;\n\tstruct tcp_sack_block duplicate_sack[1];\n\tstruct tcp_sack_block selective_acks[4];\n\tstruct tcp_sack_block recv_sack_cache[4];\n\tint lost_cnt_hint;\n\tu32 prior_ssthresh;\n\tu32 high_seq;\n\tu32 retrans_stamp;\n\tu32 undo_marker;\n\tint undo_retrans;\n\tu64 bytes_retrans;\n\tu32 total_retrans;\n\tu32 rto_stamp;\n\tu16 total_rto;\n\tu16 total_rto_recoveries;\n\tu32 total_rto_time;\n\tu32 urg_seq;\n\tunsigned int keepalive_time;\n\tunsigned int keepalive_intvl;\n\tint linger2;\n\tu8 bpf_sock_ops_cb_flags;\n\tu8 bpf_chg_cc_inprogress: 1;\n\tu16 timeout_rehash;\n\tu32 rcv_ooopack;\n\tstruct {\n\t\tu32 probe_seq_start;\n\t\tu32 probe_seq_end;\n\t} mtu_probe;\n\tu32 plb_rehash;\n\tu32 mtu_info;\n\tstruct tcp_fastopen_request *fastopen_req;\n\tstruct request_sock *fastopen_rsk;\n\tstruct saved_syn *saved_syn;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct tcp6_sock {\n\tstruct tcp_sock tcp;\n\tstruct ipv6_pinfo inet6;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion tcp_ao_addr {\n\tstruct in_addr a4;\n\tstruct in6_addr a6;\n};\n\nstruct tcp_ao_hdr {\n\tu8 kind;\n\tu8 length;\n\tu8 keyid;\n\tu8 rnext_keyid;\n};\n\nstruct tcp_ao_key {\n\tstruct hlist_node node;\n\tunion tcp_ao_addr addr;\n\tu8 key[80];\n\tunsigned int tcp_sigpool_id;\n\tunsigned int digest_size;\n\tint l3index;\n\tu8 prefixlen;\n\tu8 family;\n\tu8 keylen;\n\tu8 keyflags;\n\tu8 sndid;\n\tu8 rcvid;\n\tu8 maclen;\n\tstruct callback_head rcu;\n\tatomic64_t pkt_good;\n\tatomic64_t pkt_bad;\n\tu8 traffic_keys[0];\n};\n\nstruct tcp_bbr_info {\n\t__u32 bbr_bw_lo;\n\t__u32 bbr_bw_hi;\n\t__u32 bbr_min_rtt;\n\t__u32 bbr_pacing_gain;\n\t__u32 bbr_cwnd_gain;\n};\n\nstruct tcpvegas_info {\n\t__u32 tcpv_enabled;\n\t__u32 tcpv_rttcnt;\n\t__u32 tcpv_rtt;\n\t__u32 tcpv_minrtt;\n};\n\nstruct tcp_dctcp_info {\n\t__u16 dctcp_enabled;\n\t__u16 dctcp_ce_state;\n\t__u32 dctcp_alpha;\n\t__u32 dctcp_ab_ecn;\n\t__u32 dctcp_ab_tot;\n};\n\nunion tcp_cc_info {\n\tstruct tcpvegas_info vegas;\n\tstruct tcp_dctcp_info dctcp;\n\tstruct tcp_bbr_info bbr;\n};\n\nstruct tcp_fastopen_context {\n\tsiphash_key_t key[2];\n\tint num;\n\tstruct callback_head rcu;\n};\n\nstruct tcp_fastopen_cookie {\n\t__le64 val[2];\n\ts8 len;\n\tbool exp;\n};\n\nstruct tcp_fastopen_metrics {\n\tu16 mss;\n\tu16 syn_loss: 10;\n\tu16 try_exp: 2;\n\tlong unsigned int last_syn_loss;\n\tstruct tcp_fastopen_cookie cookie;\n};\n\nstruct tcp_fastopen_request {\n\tstruct tcp_fastopen_cookie cookie;\n\tstruct msghdr *data;\n\tsize_t size;\n\tint copied;\n\tstruct ubuf_info *uarg;\n};\n\nstruct tcp_info {\n\t__u8 tcpi_state;\n\t__u8 tcpi_ca_state;\n\t__u8 tcpi_retransmits;\n\t__u8 tcpi_probes;\n\t__u8 tcpi_backoff;\n\t__u8 tcpi_options;\n\t__u8 tcpi_snd_wscale: 4;\n\t__u8 tcpi_rcv_wscale: 4;\n\t__u8 tcpi_delivery_rate_app_limited: 1;\n\t__u8 tcpi_fastopen_client_fail: 2;\n\t__u32 tcpi_rto;\n\t__u32 tcpi_ato;\n\t__u32 tcpi_snd_mss;\n\t__u32 tcpi_rcv_mss;\n\t__u32 tcpi_unacked;\n\t__u32 tcpi_sacked;\n\t__u32 tcpi_lost;\n\t__u32 tcpi_retrans;\n\t__u32 tcpi_fackets;\n\t__u32 tcpi_last_data_sent;\n\t__u32 tcpi_last_ack_sent;\n\t__u32 tcpi_last_data_recv;\n\t__u32 tcpi_last_ack_recv;\n\t__u32 tcpi_pmtu;\n\t__u32 tcpi_rcv_ssthresh;\n\t__u32 tcpi_rtt;\n\t__u32 tcpi_rttvar;\n\t__u32 tcpi_snd_ssthresh;\n\t__u32 tcpi_snd_cwnd;\n\t__u32 tcpi_advmss;\n\t__u32 tcpi_reordering;\n\t__u32 tcpi_rcv_rtt;\n\t__u32 tcpi_rcv_space;\n\t__u32 tcpi_total_retrans;\n\t__u64 tcpi_pacing_rate;\n\t__u64 tcpi_max_pacing_rate;\n\t__u64 tcpi_bytes_acked;\n\t__u64 tcpi_bytes_received;\n\t__u32 tcpi_segs_out;\n\t__u32 tcpi_segs_in;\n\t__u32 tcpi_notsent_bytes;\n\t__u32 tcpi_min_rtt;\n\t__u32 tcpi_data_segs_in;\n\t__u32 tcpi_data_segs_out;\n\t__u64 tcpi_delivery_rate;\n\t__u64 tcpi_busy_time;\n\t__u64 tcpi_rwnd_limited;\n\t__u64 tcpi_sndbuf_limited;\n\t__u32 tcpi_delivered;\n\t__u32 tcpi_delivered_ce;\n\t__u64 tcpi_bytes_sent;\n\t__u64 tcpi_bytes_retrans;\n\t__u32 tcpi_dsack_dups;\n\t__u32 tcpi_reord_seen;\n\t__u32 tcpi_rcv_ooopack;\n\t__u32 tcpi_snd_wnd;\n\t__u32 tcpi_rcv_wnd;\n\t__u32 tcpi_rehash;\n\t__u16 tcpi_total_rto;\n\t__u16 tcpi_total_rto_recoveries;\n\t__u32 tcpi_total_rto_time;\n};\n\nstruct tcp_md5sig_key;\n\nstruct tcp_key {\n\tunion {\n\t\tstruct {\n\t\t\tstruct tcp_ao_key *ao_key;\n\t\t\tchar *traffic_key;\n\t\t\tu32 sne;\n\t\t\tu8 rcv_next;\n\t\t};\n\t\tstruct tcp_md5sig_key *md5_key;\n\t};\n\tenum {\n\t\tTCP_KEY_NONE = 0,\n\t\tTCP_KEY_MD5 = 1,\n\t\tTCP_KEY_AO = 2,\n\t} type;\n};\n\nstruct tcp_md5sig_key {\n\tstruct hlist_node node;\n\tu8 keylen;\n\tu8 family;\n\tu8 prefixlen;\n\tu8 flags;\n\tunion tcp_ao_addr addr;\n\tint l3index;\n\tu8 key[80];\n\tstruct callback_head rcu;\n};\n\nstruct tcp_metrics_block {\n\tstruct tcp_metrics_block *tcpm_next;\n\tstruct net *tcpm_net;\n\tstruct inetpeer_addr tcpm_saddr;\n\tstruct inetpeer_addr tcpm_daddr;\n\tlong unsigned int tcpm_stamp;\n\tu32 tcpm_lock;\n\tu32 tcpm_vals[5];\n\tstruct tcp_fastopen_metrics tcpm_fastopen;\n\tstruct callback_head callback_head;\n};\n\nstruct tcp_mib {\n\tlong unsigned int mibs[16];\n};\n\nstruct tcp_out_options {\n\tu16 options;\n\tu16 mss;\n\tu8 ws;\n\tu8 num_sack_blocks;\n\tu8 hash_size;\n\tu8 bpf_opt_len;\n\t__u8 *hash_location;\n\t__u32 tsval;\n\t__u32 tsecr;\n\tstruct tcp_fastopen_cookie *fastopen_cookie;\n\tstruct mptcp_out_options mptcp;\n};\n\nstruct tcp_plb_state {\n\tu8 consec_cong_rounds: 5;\n\tu8 unused: 3;\n\tu32 pause_until;\n};\n\nstruct tcp_repair_opt {\n\t__u32 opt_code;\n\t__u32 opt_val;\n};\n\nstruct tcp_repair_window {\n\t__u32 snd_wl1;\n\t__u32 snd_wnd;\n\t__u32 max_window;\n\t__u32 rcv_wnd;\n\t__u32 rcv_wup;\n};\n\nstruct tcp_request_sock_ops;\n\nstruct tcp_request_sock {\n\tstruct inet_request_sock req;\n\tconst struct tcp_request_sock_ops *af_specific;\n\tu64 snt_synack;\n\tbool tfo_listener;\n\tbool is_mptcp;\n\tbool req_usec_ts;\n\tu32 txhash;\n\tu32 rcv_isn;\n\tu32 snt_isn;\n\tu32 ts_off;\n\tu32 last_oow_ack_time;\n\tu32 rcv_nxt;\n\tu8 syn_tos;\n};\n\nstruct tcp_request_sock_ops {\n\tu16 mss_clamp;\n\t__u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *);\n\tstruct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *, u32);\n\tu32 (*init_seq)(const struct sk_buff *);\n\tu32 (*init_ts_off)(const struct net *, const struct sk_buff *);\n\tint (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);\n};\n\nstruct tcp_sack_block_wire {\n\t__be32 start_seq;\n\t__be32 end_seq;\n};\n\nstruct tcp_sacktag_state {\n\tu64 first_sackt;\n\tu64 last_sackt;\n\tu32 reord;\n\tu32 sack_delivered;\n\tint flag;\n\tunsigned int mss_now;\n\tstruct rate_sample *rate;\n};\n\nstruct tcp_seq_afinfo {\n\tsa_family_t family;\n};\n\nstruct tcp_skb_cb {\n\t__u32 seq;\n\t__u32 end_seq;\n\tunion {\n\t\tstruct {\n\t\t\tu16 tcp_gso_segs;\n\t\t\tu16 tcp_gso_size;\n\t\t};\n\t};\n\t__u8 tcp_flags;\n\t__u8 sacked;\n\t__u8 ip_dsfield;\n\t__u8 txstamp_ack: 1;\n\t__u8 eor: 1;\n\t__u8 has_rxtstamp: 1;\n\t__u8 unused: 5;\n\t__u32 ack_seq;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 is_app_limited: 1;\n\t\t\t__u32 delivered_ce: 20;\n\t\t\t__u32 unused: 11;\n\t\t\t__u32 delivered;\n\t\t\tu64 first_tx_mstamp;\n\t\t\tu64 delivered_mstamp;\n\t\t} tx;\n\t\tunion {\n\t\t\tstruct inet_skb_parm h4;\n\t\t\tstruct inet6_skb_parm h6;\n\t\t} header;\n\t};\n};\n\nstruct tcp_splice_state {\n\tstruct pipe_inode_info *pipe;\n\tsize_t len;\n\tunsigned int flags;\n};\n\nstruct tcp_timewait_sock {\n\tstruct inet_timewait_sock tw_sk;\n\tu32 tw_rcv_wnd;\n\tu32 tw_ts_offset;\n\tu32 tw_ts_recent;\n\tu32 tw_last_oow_ack_time;\n\tint tw_ts_recent_stamp;\n\tu32 tw_tx_delay;\n};\n\nstruct tcp_ulp_ops {\n\tstruct list_head list;\n\tint (*init)(struct sock *);\n\tvoid (*update)(struct sock *, struct proto *, void (*)(struct sock *));\n\tvoid (*release)(struct sock *);\n\tint (*get_info)(struct sock *, struct sk_buff *);\n\tsize_t (*get_info_size)(const struct sock *);\n\tvoid (*clone)(const struct request_sock *, struct sock *, const gfp_t);\n\tchar name[16];\n\tstruct module *owner;\n};\n\nstruct tcphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be32 seq;\n\t__be32 ack_seq;\n\t__u16 res1: 4;\n\t__u16 doff: 4;\n\t__u16 fin: 1;\n\t__u16 syn: 1;\n\t__u16 rst: 1;\n\t__u16 psh: 1;\n\t__u16 ack: 1;\n\t__u16 urg: 1;\n\t__u16 ece: 1;\n\t__u16 cwr: 1;\n\t__be16 window;\n\t__sum16 check;\n\t__be16 urg_ptr;\n};\n\nunion tcp_word_hdr {\n\tstruct tcphdr hdr;\n\t__be32 words[5];\n};\n\nstruct tcp_xa_pool {\n\tu8 max;\n\tu8 idx;\n\t__u32 tokens[17];\n\tnetmem_ref netmems[17];\n};\n\nstruct tcp_zerocopy_receive {\n\t__u64 address;\n\t__u32 length;\n\t__u32 recv_skip_hint;\n\t__u32 inq;\n\t__s32 err;\n\t__u64 copybuf_address;\n\t__s32 copybuf_len;\n\t__u32 flags;\n\t__u64 msg_control;\n\t__u64 msg_controllen;\n\t__u32 msg_flags;\n\t__u32 reserved;\n};\n\nstruct tcpa_event {\n\tu32 pcr_index;\n\tu32 event_type;\n\tu8 pcr_value[20];\n\tu32 event_size;\n\tu8 event_data[0];\n};\n\nstruct tcpa_pc_event {\n\tu32 event_id;\n\tu32 event_size;\n\tu8 event_data[0];\n};\n\nstruct tcpm_hash_bucket {\n\tstruct tcp_metrics_block *chain;\n};\n\nstruct tcx_entry {\n\tstruct mini_Qdisc *miniq;\n\tstruct bpf_mprog_bundle bundle;\n\tu32 miniq_active;\n\tstruct callback_head rcu;\n};\n\nstruct tcx_link {\n\tstruct bpf_link link;\n\tstruct net_device *dev;\n\tu32 location;\n};\n\nstruct td {\n\t__hc32 hwINFO;\n\t__hc32 hwCBP;\n\t__hc32 hwNextTD;\n\t__hc32 hwBE;\n\t__hc16 hwPSW[2];\n\t__u8 index;\n\tstruct ed *ed;\n\tstruct td *td_hash;\n\tstruct td *next_dl_td;\n\tstruct urb *urb;\n\tdma_addr_t td_dma;\n\tdma_addr_t data_dma;\n\tstruct list_head td_list;\n\tlong: 64;\n};\n\nstruct termio {\n\tshort unsigned int c_iflag;\n\tshort unsigned int c_oflag;\n\tshort unsigned int c_cflag;\n\tshort unsigned int c_lflag;\n\tunsigned char c_line;\n\tunsigned char c_cc[10];\n};\n\nstruct termios {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_cc[19];\n\tcc_t c_line;\n\tspeed_t c_ispeed;\n\tspeed_t c_ospeed;\n};\n\nstruct tg3_rx_buffer_desc;\n\nstruct tg3_ext_rx_buffer_desc;\n\nstruct tg3_rx_prodring_set {\n\tu32 rx_std_prod_idx;\n\tu32 rx_std_cons_idx;\n\tu32 rx_jmb_prod_idx;\n\tu32 rx_jmb_cons_idx;\n\tstruct tg3_rx_buffer_desc *rx_std;\n\tstruct tg3_ext_rx_buffer_desc *rx_jmb;\n\tstruct ring_info *rx_std_buffers;\n\tstruct ring_info *rx_jmb_buffers;\n\tdma_addr_t rx_std_mapping;\n\tdma_addr_t rx_jmb_mapping;\n};\n\nstruct tg3;\n\nstruct tg3_hw_status;\n\nstruct tg3_tx_buffer_desc;\n\nstruct tg3_tx_ring_info;\n\nstruct tg3_napi {\n\tstruct napi_struct napi;\n\tstruct tg3 *tp;\n\tstruct tg3_hw_status *hw_status;\n\tu32 chk_msi_cnt;\n\tu32 last_tag;\n\tu32 last_irq_tag;\n\tu32 int_mbox;\n\tu32 coal_now;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 consmbox;\n\tu32 rx_rcb_ptr;\n\tu32 last_rx_cons;\n\tu16 *rx_rcb_prod_idx;\n\tstruct tg3_rx_prodring_set prodring;\n\tstruct tg3_rx_buffer_desc *rx_rcb;\n\tlong unsigned int rx_dropped;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 tx_prod;\n\tu32 tx_cons;\n\tu32 tx_pending;\n\tu32 last_tx_cons;\n\tu32 prodmbox;\n\tstruct tg3_tx_buffer_desc *tx_ring;\n\tstruct tg3_tx_ring_info *tx_buffers;\n\tlong unsigned int tx_dropped;\n\tdma_addr_t status_mapping;\n\tdma_addr_t rx_rcb_mapping;\n\tdma_addr_t tx_desc_mapping;\n\tchar irq_lbl[32];\n\tunsigned int irq_vec;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct tg3_ethtool_stats {\n\tu64 rx_octets;\n\tu64 rx_fragments;\n\tu64 rx_ucast_packets;\n\tu64 rx_mcast_packets;\n\tu64 rx_bcast_packets;\n\tu64 rx_fcs_errors;\n\tu64 rx_align_errors;\n\tu64 rx_xon_pause_rcvd;\n\tu64 rx_xoff_pause_rcvd;\n\tu64 rx_mac_ctrl_rcvd;\n\tu64 rx_xoff_entered;\n\tu64 rx_frame_too_long_errors;\n\tu64 rx_jabbers;\n\tu64 rx_undersize_packets;\n\tu64 rx_in_length_errors;\n\tu64 rx_out_length_errors;\n\tu64 rx_64_or_less_octet_packets;\n\tu64 rx_65_to_127_octet_packets;\n\tu64 rx_128_to_255_octet_packets;\n\tu64 rx_256_to_511_octet_packets;\n\tu64 rx_512_to_1023_octet_packets;\n\tu64 rx_1024_to_1522_octet_packets;\n\tu64 rx_1523_to_2047_octet_packets;\n\tu64 rx_2048_to_4095_octet_packets;\n\tu64 rx_4096_to_8191_octet_packets;\n\tu64 rx_8192_to_9022_octet_packets;\n\tu64 tx_octets;\n\tu64 tx_collisions;\n\tu64 tx_xon_sent;\n\tu64 tx_xoff_sent;\n\tu64 tx_flow_control;\n\tu64 tx_mac_errors;\n\tu64 tx_single_collisions;\n\tu64 tx_mult_collisions;\n\tu64 tx_deferred;\n\tu64 tx_excessive_collisions;\n\tu64 tx_late_collisions;\n\tu64 tx_collide_2times;\n\tu64 tx_collide_3times;\n\tu64 tx_collide_4times;\n\tu64 tx_collide_5times;\n\tu64 tx_collide_6times;\n\tu64 tx_collide_7times;\n\tu64 tx_collide_8times;\n\tu64 tx_collide_9times;\n\tu64 tx_collide_10times;\n\tu64 tx_collide_11times;\n\tu64 tx_collide_12times;\n\tu64 tx_collide_13times;\n\tu64 tx_collide_14times;\n\tu64 tx_collide_15times;\n\tu64 tx_ucast_packets;\n\tu64 tx_mcast_packets;\n\tu64 tx_bcast_packets;\n\tu64 tx_carrier_sense_errors;\n\tu64 tx_discards;\n\tu64 tx_errors;\n\tu64 dma_writeq_full;\n\tu64 dma_write_prioq_full;\n\tu64 rxbds_empty;\n\tu64 rx_discards;\n\tu64 rx_errors;\n\tu64 rx_threshold_hit;\n\tu64 dma_readq_full;\n\tu64 dma_read_prioq_full;\n\tu64 tx_comp_queue_full;\n\tu64 ring_set_send_prod_index;\n\tu64 ring_status_update;\n\tu64 nic_irqs;\n\tu64 nic_avoided_irqs;\n\tu64 nic_tx_threshold_hit;\n\tu64 mbuf_lwm_thresh_hit;\n};\n\nstruct tg3_link_config {\n\tu32 advertising;\n\tu32 speed;\n\tu8 duplex;\n\tu8 autoneg;\n\tu8 flowctrl;\n\tu8 active_flowctrl;\n\tu8 active_duplex;\n\tu32 active_speed;\n\tu32 rmt_adv;\n};\n\nstruct tg3_bufmgr_config {\n\tu32 mbuf_read_dma_low_water;\n\tu32 mbuf_mac_rx_low_water;\n\tu32 mbuf_high_water;\n\tu32 mbuf_read_dma_low_water_jumbo;\n\tu32 mbuf_mac_rx_low_water_jumbo;\n\tu32 mbuf_high_water_jumbo;\n\tu32 dma_low_water;\n\tu32 dma_high_water;\n};\n\nstruct tg3_hw_stats;\n\nstruct tg3 {\n\tunsigned int irq_sync;\n\tspinlock_t lock;\n\tspinlock_t indirect_lock;\n\tu32 (*read32)(struct tg3 *, u32);\n\tvoid (*write32)(struct tg3 *, u32, u32);\n\tu32 (*read32_mbox)(struct tg3 *, u32);\n\tvoid (*write32_mbox)(struct tg3 *, u32, u32);\n\tvoid *regs;\n\tvoid *aperegs;\n\tstruct net_device *dev;\n\tstruct pci_dev *pdev;\n\tu32 coal_now;\n\tu32 msg_enable;\n\tstruct ptp_clock_info ptp_info;\n\tstruct ptp_clock *ptp_clock;\n\ts64 ptp_adjust;\n\tu8 ptp_txts_retrycnt;\n\tvoid (*write32_tx_mbox)(struct tg3 *, u32, u32);\n\tu32 dma_limit;\n\tu32 txq_req;\n\tu32 txq_cnt;\n\tu32 txq_max;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct tg3_napi napi[5];\n\tvoid (*write32_rx_mbox)(struct tg3 *, u32, u32);\n\tu32 rx_copy_thresh;\n\tu32 rx_std_ring_mask;\n\tu32 rx_jmb_ring_mask;\n\tu32 rx_ret_ring_mask;\n\tu32 rx_pending;\n\tu32 rx_jumbo_pending;\n\tu32 rx_std_max_post;\n\tu32 rx_offset;\n\tu32 rx_pkt_map_sz;\n\tu32 rxq_req;\n\tu32 rxq_cnt;\n\tu32 rxq_max;\n\tbool rx_refill;\n\tstruct rtnl_link_stats64 net_stats_prev;\n\tstruct tg3_ethtool_stats estats_prev;\n\tlong unsigned int tg3_flags[2];\n\tunion {\n\t\tlong unsigned int phy_crc_errors;\n\t\tlong unsigned int last_event_jiffies;\n\t};\n\tstruct timer_list timer;\n\tu16 timer_counter;\n\tu16 timer_multiplier;\n\tu32 timer_offset;\n\tu16 asf_counter;\n\tu16 asf_multiplier;\n\tu32 serdes_counter;\n\tstruct tg3_link_config link_config;\n\tstruct tg3_bufmgr_config bufmgr_config;\n\tu32 rx_mode;\n\tu32 tx_mode;\n\tu32 mac_mode;\n\tu32 mi_mode;\n\tu32 misc_host_ctrl;\n\tu32 grc_mode;\n\tu32 grc_local_ctrl;\n\tu32 dma_rwctrl;\n\tu32 coalesce_mode;\n\tu32 pwrmgmt_thresh;\n\tu32 rxptpctl;\n\tu32 pci_chip_rev_id;\n\tu16 pci_cmd;\n\tu8 pci_cacheline_sz;\n\tu8 pci_lat_timer;\n\tint pci_fn;\n\tint msi_cap;\n\tint pcix_cap;\n\tint pcie_readrq;\n\tstruct mii_bus *mdio_bus;\n\tint old_link;\n\tu8 phy_addr;\n\tu8 phy_ape_lock;\n\tu32 phy_id;\n\tu32 phy_flags;\n\tu32 led_ctrl;\n\tu32 phy_otp;\n\tu32 setlpicnt;\n\tu8 rss_ind_tbl[128];\n\tchar board_part_number[24];\n\tchar fw_ver[32];\n\tu32 nic_sram_data_cfg;\n\tu32 pci_clock_ctrl;\n\tstruct pci_dev *pdev_peer;\n\tstruct tg3_hw_stats *hw_stats;\n\tdma_addr_t stats_mapping;\n\tstruct work_struct reset_task;\n\tstruct sk_buff *tx_tstamp_skb;\n\tu64 pre_tx_ts;\n\tint nvram_lock_cnt;\n\tu32 nvram_size;\n\tu32 nvram_pagesize;\n\tu32 nvram_jedecnum;\n\tunsigned int irq_max;\n\tunsigned int irq_cnt;\n\tstruct ethtool_coalesce coal;\n\tstruct ethtool_keee eee;\n\tconst char *fw_needed;\n\tconst struct firmware *fw;\n\tu32 fw_len;\n\tstruct device *hwmon_dev;\n\tbool link_up;\n\tbool pcierr_recovery;\n\tu32 ape_hb;\n\tlong unsigned int ape_hb_interval;\n\tlong unsigned int ape_hb_jiffies;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct tg3_dev_id {\n\tu32 vendor;\n\tu32 device;\n\tu32 rev;\n};\n\nstruct tg3_dev_id___2 {\n\tu32 vendor;\n\tu32 device;\n};\n\nstruct tg3_rx_buffer_desc {\n\tu32 addr_hi;\n\tu32 addr_lo;\n\tu32 idx_len;\n\tu32 type_flags;\n\tu32 ip_tcp_csum;\n\tu32 err_vlan;\n\tu32 reserved;\n\tu32 opaque;\n};\n\nstruct tg3_ext_rx_buffer_desc {\n\tstruct {\n\t\tu32 addr_hi;\n\t\tu32 addr_lo;\n\t} addrlist[3];\n\tu32 len2_len1;\n\tu32 resv_len3;\n\tstruct tg3_rx_buffer_desc std;\n};\n\nstruct tg3_fiber_aneginfo {\n\tint state;\n\tu32 flags;\n\tlong unsigned int link_time;\n\tlong unsigned int cur_time;\n\tu32 ability_match_cfg;\n\tint ability_match_count;\n\tchar ability_match;\n\tchar idle_match;\n\tchar ack_match;\n\tu32 txconfig;\n\tu32 rxconfig;\n};\n\nstruct tg3_firmware_hdr {\n\t__be32 version;\n\t__be32 base_addr;\n\t__be32 len;\n};\n\nstruct tg3_hw_stats {\n\tu8 __reserved0[256];\n\ttg3_stat64_t rx_octets;\n\tu64 __reserved1;\n\ttg3_stat64_t rx_fragments;\n\ttg3_stat64_t rx_ucast_packets;\n\ttg3_stat64_t rx_mcast_packets;\n\ttg3_stat64_t rx_bcast_packets;\n\ttg3_stat64_t rx_fcs_errors;\n\ttg3_stat64_t rx_align_errors;\n\ttg3_stat64_t rx_xon_pause_rcvd;\n\ttg3_stat64_t rx_xoff_pause_rcvd;\n\ttg3_stat64_t rx_mac_ctrl_rcvd;\n\ttg3_stat64_t rx_xoff_entered;\n\ttg3_stat64_t rx_frame_too_long_errors;\n\ttg3_stat64_t rx_jabbers;\n\ttg3_stat64_t rx_undersize_packets;\n\ttg3_stat64_t rx_in_length_errors;\n\ttg3_stat64_t rx_out_length_errors;\n\ttg3_stat64_t rx_64_or_less_octet_packets;\n\ttg3_stat64_t rx_65_to_127_octet_packets;\n\ttg3_stat64_t rx_128_to_255_octet_packets;\n\ttg3_stat64_t rx_256_to_511_octet_packets;\n\ttg3_stat64_t rx_512_to_1023_octet_packets;\n\ttg3_stat64_t rx_1024_to_1522_octet_packets;\n\ttg3_stat64_t rx_1523_to_2047_octet_packets;\n\ttg3_stat64_t rx_2048_to_4095_octet_packets;\n\ttg3_stat64_t rx_4096_to_8191_octet_packets;\n\ttg3_stat64_t rx_8192_to_9022_octet_packets;\n\tu64 __unused0[37];\n\ttg3_stat64_t tx_octets;\n\tu64 __reserved2;\n\ttg3_stat64_t tx_collisions;\n\ttg3_stat64_t tx_xon_sent;\n\ttg3_stat64_t tx_xoff_sent;\n\ttg3_stat64_t tx_flow_control;\n\ttg3_stat64_t tx_mac_errors;\n\ttg3_stat64_t tx_single_collisions;\n\ttg3_stat64_t tx_mult_collisions;\n\ttg3_stat64_t tx_deferred;\n\tu64 __reserved3;\n\ttg3_stat64_t tx_excessive_collisions;\n\ttg3_stat64_t tx_late_collisions;\n\ttg3_stat64_t tx_collide_2times;\n\ttg3_stat64_t tx_collide_3times;\n\ttg3_stat64_t tx_collide_4times;\n\ttg3_stat64_t tx_collide_5times;\n\ttg3_stat64_t tx_collide_6times;\n\ttg3_stat64_t tx_collide_7times;\n\ttg3_stat64_t tx_collide_8times;\n\ttg3_stat64_t tx_collide_9times;\n\ttg3_stat64_t tx_collide_10times;\n\ttg3_stat64_t tx_collide_11times;\n\ttg3_stat64_t tx_collide_12times;\n\ttg3_stat64_t tx_collide_13times;\n\ttg3_stat64_t tx_collide_14times;\n\ttg3_stat64_t tx_collide_15times;\n\ttg3_stat64_t tx_ucast_packets;\n\ttg3_stat64_t tx_mcast_packets;\n\ttg3_stat64_t tx_bcast_packets;\n\ttg3_stat64_t tx_carrier_sense_errors;\n\ttg3_stat64_t tx_discards;\n\ttg3_stat64_t tx_errors;\n\tu64 __unused1[31];\n\ttg3_stat64_t COS_rx_packets[16];\n\ttg3_stat64_t COS_rx_filter_dropped;\n\ttg3_stat64_t dma_writeq_full;\n\ttg3_stat64_t dma_write_prioq_full;\n\ttg3_stat64_t rxbds_empty;\n\ttg3_stat64_t rx_discards;\n\ttg3_stat64_t rx_errors;\n\ttg3_stat64_t rx_threshold_hit;\n\tu64 __unused2[9];\n\ttg3_stat64_t COS_out_packets[16];\n\ttg3_stat64_t dma_readq_full;\n\ttg3_stat64_t dma_read_prioq_full;\n\ttg3_stat64_t tx_comp_queue_full;\n\ttg3_stat64_t ring_set_send_prod_index;\n\ttg3_stat64_t ring_status_update;\n\ttg3_stat64_t nic_irqs;\n\ttg3_stat64_t nic_avoided_irqs;\n\ttg3_stat64_t nic_tx_threshold_hit;\n\ttg3_stat64_t mbuf_lwm_thresh_hit;\n\tu8 __reserved4[312];\n};\n\nstruct tg3_hw_status {\n\tu32 status;\n\tu32 status_tag;\n\tu16 rx_jumbo_consumer;\n\tu16 rx_consumer;\n\tu16 rx_mini_consumer;\n\tu16 reserved;\n\tstruct {\n\t\tu16 rx_producer;\n\t\tu16 tx_consumer;\n\t} idx[16];\n};\n\nstruct tg3_internal_buffer_desc {\n\tu32 addr_hi;\n\tu32 addr_lo;\n\tu32 nic_mbuf;\n\tu16 len;\n\tu16 cqid_sqid;\n\tu32 flags;\n\tu32 __cookie1;\n\tu32 __cookie2;\n\tu32 __cookie3;\n};\n\nstruct tg3_ocir {\n\tu32 signature;\n\tu16 version_flags;\n\tu16 refresh_int;\n\tu32 refresh_tmr;\n\tu32 update_tmr;\n\tu32 dst_base_addr;\n\tu16 src_hdr_offset;\n\tu16 src_hdr_length;\n\tu16 src_data_offset;\n\tu16 src_data_length;\n\tu16 dst_hdr_offset;\n\tu16 dst_data_offset;\n\tu16 dst_reg_upd_offset;\n\tu16 dst_sem_offset;\n\tu32 reserved1[2];\n\tu32 port0_flags;\n\tu32 port1_flags;\n\tu32 port2_flags;\n\tu32 port3_flags;\n\tu32 reserved2;\n};\n\nstruct tg3_tx_buffer_desc {\n\tu32 addr_hi;\n\tu32 addr_lo;\n\tu32 len_flags;\n\tu32 vlan_tag;\n};\n\nstruct tg3_tx_ring_info {\n\tstruct sk_buff *skb;\n\tdma_addr_t mapping;\n\tbool fragmented;\n};\n\nstruct tgid_iter {\n\tunsigned int tgid;\n\tstruct task_struct *task;\n};\n\nstruct thermal_cooling_device_ops;\n\nstruct thermal_cooling_device {\n\tint id;\n\tconst char *type;\n\tlong unsigned int max_state;\n\tstruct device device;\n\tstruct device_node *np;\n\tvoid *devdata;\n\tvoid *stats;\n\tconst struct thermal_cooling_device_ops *ops;\n\tbool updated;\n\tstruct mutex lock;\n\tstruct list_head thermal_instances;\n\tstruct list_head node;\n};\n\nstruct thermal_cooling_device_ops {\n\tint (*get_max_state)(struct thermal_cooling_device *, long unsigned int *);\n\tint (*get_cur_state)(struct thermal_cooling_device *, long unsigned int *);\n\tint (*set_cur_state)(struct thermal_cooling_device *, long unsigned int);\n\tint (*get_requested_power)(struct thermal_cooling_device *, u32 *);\n\tint (*state2power)(struct thermal_cooling_device *, long unsigned int, u32 *);\n\tint (*power2state)(struct thermal_cooling_device *, u32, long unsigned int *);\n};\n\nstruct thermal_trip {\n\tint temperature;\n\tint hysteresis;\n\tenum thermal_trip_type type;\n\tu8 flags;\n\tvoid *priv;\n};\n\nstruct thermal_zone_device_ops {\n\tbool (*should_bind)(struct thermal_zone_device *, const struct thermal_trip *, struct thermal_cooling_device *, struct cooling_spec *);\n\tint (*get_temp)(struct thermal_zone_device *, int *);\n\tint (*set_trips)(struct thermal_zone_device *, int, int);\n\tint (*change_mode)(struct thermal_zone_device *, enum thermal_device_mode);\n\tint (*set_trip_temp)(struct thermal_zone_device *, const struct thermal_trip *, int);\n\tint (*get_crit_temp)(struct thermal_zone_device *, int *);\n\tint (*set_emul_temp)(struct thermal_zone_device *, int);\n\tint (*get_trend)(struct thermal_zone_device *, const struct thermal_trip *, enum thermal_trend *);\n\tvoid (*hot)(struct thermal_zone_device *);\n\tvoid (*critical)(struct thermal_zone_device *);\n};\n\nstruct thpsize {\n\tstruct kobject kobj;\n\tstruct list_head node;\n\tint order;\n};\n\nstruct thread_deferred_req {\n\tstruct cache_deferred_req handle;\n\tstruct completion completion;\n};\n\nstruct thread_groups {\n\tunsigned int property;\n\tunsigned int nr_groups;\n\tunsigned int threads_per_group;\n\tunsigned int thread_list[8];\n};\n\nstruct thread_groups_list {\n\tunsigned int nr_properties;\n\tstruct thread_groups property_tgs[2];\n};\n\nunion thread_union {\n\tstruct task_struct task;\n\tlong unsigned int stack[4096];\n};\n\nstruct tick_device {\n\tstruct clock_event_device *evtdev;\n\tenum tick_device_mode mode;\n};\n\nstruct tick_sched {\n\tlong unsigned int flags;\n\tunsigned int stalled_jiffies;\n\tlong unsigned int last_tick_jiffies;\n\tstruct hrtimer sched_timer;\n\tktime_t last_tick;\n\tktime_t next_tick;\n\tlong unsigned int idle_jiffies;\n\tktime_t idle_waketime;\n\tunsigned int got_idle_tick;\n\tseqcount_t idle_sleeptime_seq;\n\tktime_t idle_entrytime;\n\tlong unsigned int last_jiffies;\n\tu64 timer_expires_base;\n\tu64 timer_expires;\n\tu64 next_timer;\n\tktime_t idle_expires;\n\tlong unsigned int idle_calls;\n\tlong unsigned int idle_sleeps;\n\tktime_t idle_exittime;\n\tktime_t idle_sleeptime;\n\tktime_t iowait_sleeptime;\n\tatomic_t tick_dep_mask;\n\tlong unsigned int check_clocks;\n};\n\nstruct tick_work {\n\tint cpu;\n\tatomic_t state;\n\tstruct delayed_work work;\n};\n\nstruct timens_offsets {\n\tstruct timespec64 monotonic;\n\tstruct timespec64 boottime;\n};\n\nstruct time_namespace {\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct ns_common ns;\n\tstruct timens_offsets offsets;\n\tstruct page *vvar_page;\n\tbool frozen_offsets;\n};\n\nstruct timedia_struct {\n\tint num;\n\tconst short unsigned int *ids;\n};\n\nstruct tk_read_base {\n\tstruct clocksource *clock;\n\tu64 mask;\n\tu64 cycle_last;\n\tu32 mult;\n\tu32 shift;\n\tu64 xtime_nsec;\n\tktime_t base;\n\tu64 base_real;\n};\n\nstruct timekeeper {\n\tstruct tk_read_base tkr_mono;\n\tu64 xtime_sec;\n\tlong unsigned int ktime_sec;\n\tstruct timespec64 wall_to_monotonic;\n\tktime_t offs_real;\n\tktime_t offs_boot;\n\tktime_t offs_tai;\n\ts32 tai_offset;\n\tstruct tk_read_base tkr_raw;\n\tu64 raw_sec;\n\tunsigned int clock_was_set_seq;\n\tu8 cs_was_changed_seq;\n\tstruct timespec64 monotonic_to_boot;\n\tu64 cycle_interval;\n\tu64 xtime_interval;\n\ts64 xtime_remainder;\n\tu64 raw_interval;\n\tktime_t next_leap_ktime;\n\tu64 ntp_tick;\n\ts64 ntp_error;\n\tu32 ntp_error_shift;\n\tu32 ntp_err_mult;\n\tu32 skip_second_overflow;\n};\n\nstruct timens_offset {\n\ts64 sec;\n\tu64 nsec;\n};\n\nstruct timer_base {\n\traw_spinlock_t lock;\n\tstruct timer_list *running_timer;\n\tlong unsigned int clk;\n\tlong unsigned int next_expiry;\n\tunsigned int cpu;\n\tbool next_expiry_recalc;\n\tbool is_idle;\n\tbool timers_pending;\n\tlong unsigned int pending_map[8];\n\tstruct hlist_head vectors[512];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct timer_events {\n\tu64 local;\n\tu64 global;\n};\n\nstruct timer_list_iter {\n\tint cpu;\n\tbool second_pass;\n\tu64 now;\n};\n\nstruct timer_rand_state {\n\tlong unsigned int last_time;\n\tlong int last_delta;\n\tlong int last_delta2;\n};\n\nstruct timerfd_ctx {\n\tunion {\n\t\tstruct hrtimer tmr;\n\t\tstruct alarm alarm;\n\t} t;\n\tktime_t tintv;\n\tktime_t moffs;\n\twait_queue_head_t wqh;\n\tu64 ticks;\n\tint clockid;\n\tshort unsigned int expired;\n\tshort unsigned int settime_flags;\n\tstruct callback_head rcu;\n\tstruct list_head clist;\n\tspinlock_t cancel_lock;\n\tbool might_cancel;\n};\n\nstruct timerlat_entry {\n\tstruct trace_entry ent;\n\tunsigned int seqnum;\n\tint context;\n\tu64 timer_latency;\n};\n\nstruct timers_private {\n\tstruct pid *pid;\n\tstruct task_struct *task;\n\tstruct sighand_struct *sighand;\n\tstruct pid_namespace *ns;\n\tlong unsigned int flags;\n};\n\nstruct timestamp_event_queue {\n\tstruct ptp_extts_event buf[128];\n\tint head;\n\tint tail;\n\tspinlock_t lock;\n\tstruct list_head qlist;\n\tlong unsigned int *mask;\n\tstruct dentry *debugfs_instance;\n\tstruct debugfs_u32_array dfs_bitmap;\n};\n\nstruct timewait_sock_ops {\n\tstruct kmem_cache *twsk_slab;\n\tchar *twsk_slab_name;\n\tunsigned int twsk_obj_size;\n\tvoid (*twsk_destructor)(struct sock *);\n};\n\nstruct timezone {\n\tint tz_minuteswest;\n\tint tz_dsttime;\n};\n\nstruct tiocl_selection {\n\tshort unsigned int xs;\n\tshort unsigned int ys;\n\tshort unsigned int xe;\n\tshort unsigned int ye;\n\tshort unsigned int sel_mode;\n};\n\nstruct tipc_basic_hdr {\n\t__be32 w[4];\n};\n\nstruct tk_data {\n\tseqcount_raw_spinlock_t seq;\n\tstruct timekeeper timekeeper;\n\tstruct timekeeper shadow_timekeeper;\n\traw_spinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct tk_fast {\n\tseqcount_latch_t seq;\n\tstruct tk_read_base base[2];\n};\n\nstruct tlbiel_pid {\n\tlong unsigned int pid;\n\tlong unsigned int ric;\n};\n\nstruct tlbiel_va {\n\tlong unsigned int pid;\n\tlong unsigned int va;\n\tlong unsigned int psize;\n\tlong unsigned int ric;\n};\n\nstruct tlbiel_va_range {\n\tlong unsigned int pid;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int page_size;\n\tlong unsigned int psize;\n\tbool also_pwc;\n};\n\nstruct tls_crypto_info {\n\t__u16 version;\n\t__u16 cipher_type;\n};\n\nstruct tls12_crypto_info_aes_gcm_128 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_aes_gcm_256 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[32];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_chacha20_poly1305 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[12];\n\tunsigned char key[32];\n\tunsigned char salt[0];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_sm4_ccm {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_sm4_gcm {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls_prot_info {\n\tu16 version;\n\tu16 cipher_type;\n\tu16 prepend_size;\n\tu16 tag_size;\n\tu16 overhead_size;\n\tu16 iv_size;\n\tu16 salt_size;\n\tu16 rec_seq_size;\n\tu16 aad_size;\n\tu16 tail_size;\n};\n\nunion tls_crypto_context {\n\tstruct tls_crypto_info info;\n\tunion {\n\t\tstruct tls12_crypto_info_aes_gcm_128 aes_gcm_128;\n\t\tstruct tls12_crypto_info_aes_gcm_256 aes_gcm_256;\n\t\tstruct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305;\n\t\tstruct tls12_crypto_info_sm4_gcm sm4_gcm;\n\t\tstruct tls12_crypto_info_sm4_ccm sm4_ccm;\n\t};\n};\n\nstruct tls_context {\n\tstruct tls_prot_info prot_info;\n\tu8 tx_conf: 3;\n\tu8 rx_conf: 3;\n\tu8 zerocopy_sendfile: 1;\n\tu8 rx_no_pad: 1;\n\tint (*push_pending_record)(struct sock *, int);\n\tvoid (*sk_write_space)(struct sock *);\n\tvoid *priv_ctx_tx;\n\tvoid *priv_ctx_rx;\n\tstruct net_device *netdev;\n\tstruct cipher_context tx;\n\tstruct cipher_context rx;\n\tstruct scatterlist *partially_sent_record;\n\tu16 partially_sent_offset;\n\tbool splicing_pages;\n\tbool pending_open_record_frags;\n\tstruct mutex tx_lock;\n\tlong unsigned int flags;\n\tstruct proto *sk_proto;\n\tstruct sock *sk;\n\tvoid (*sk_destruct)(struct sock *);\n\tunion tls_crypto_context crypto_send;\n\tunion tls_crypto_context crypto_recv;\n\tstruct list_head list;\n\trefcount_t refcount;\n\tstruct callback_head rcu;\n};\n\ntypedef void (*tls_done_func_t)(void *, int, key_serial_t);\n\nstruct tls_handshake_args {\n\tstruct socket *ta_sock;\n\ttls_done_func_t ta_done;\n\tvoid *ta_data;\n\tconst char *ta_peername;\n\tunsigned int ta_timeout_ms;\n\tkey_serial_t ta_keyring;\n\tkey_serial_t ta_my_cert;\n\tkey_serial_t ta_my_privkey;\n\tunsigned int ta_num_peerids;\n\tkey_serial_t ta_my_peerids[5];\n};\n\nstruct tls_handshake_req {\n\tvoid (*th_consumer_done)(void *, int, key_serial_t);\n\tvoid *th_consumer_data;\n\tint th_type;\n\tunsigned int th_timeout_ms;\n\tint th_auth_mode;\n\tconst char *th_peername;\n\tkey_serial_t th_keyring;\n\tkey_serial_t th_certificate;\n\tkey_serial_t th_privkey;\n\tunsigned int th_num_peerids;\n\tkey_serial_t th_peerid[5];\n};\n\nstruct tls_strparser {\n\tstruct sock *sk;\n\tu32 mark: 8;\n\tu32 stopped: 1;\n\tu32 copy_mode: 1;\n\tu32 mixed_decrypted: 1;\n\tbool msg_ready;\n\tstruct strp_msg stm;\n\tstruct sk_buff *anchor;\n\tstruct work_struct work;\n};\n\nstruct tls_sw_context_rx {\n\tstruct crypto_aead *aead_recv;\n\tstruct crypto_wait async_wait;\n\tstruct sk_buff_head rx_list;\n\tvoid (*saved_data_ready)(struct sock *);\n\tu8 reader_present;\n\tu8 async_capable: 1;\n\tu8 zc_capable: 1;\n\tu8 reader_contended: 1;\n\tbool key_update_pending;\n\tstruct tls_strparser strp;\n\tatomic_t decrypt_pending;\n\tstruct sk_buff_head async_hold;\n\tstruct wait_queue_head wq;\n};\n\nstruct tx_work {\n\tstruct delayed_work work;\n\tstruct sock *sk;\n};\n\nstruct tls_rec;\n\nstruct tls_sw_context_tx {\n\tstruct crypto_aead *aead_send;\n\tstruct crypto_wait async_wait;\n\tstruct tx_work tx_work;\n\tstruct tls_rec *open_rec;\n\tstruct list_head tx_list;\n\tatomic_t encrypt_pending;\n\tu8 async_capable: 1;\n\tlong unsigned int tx_bitmask;\n};\n\nstruct tm {\n\tint tm_sec;\n\tint tm_min;\n\tint tm_hour;\n\tint tm_mday;\n\tint tm_mon;\n\tlong int tm_year;\n\tint tm_wday;\n\tint tm_yday;\n};\n\nstruct tmigr_event {\n\tstruct timerqueue_node nextevt;\n\tunsigned int cpu;\n\tbool ignore;\n};\n\nstruct tmigr_group;\n\nstruct tmigr_cpu {\n\traw_spinlock_t lock;\n\tbool online;\n\tbool idle;\n\tbool remote;\n\tstruct tmigr_group *tmgroup;\n\tu8 groupmask;\n\tu64 wakeup;\n\tstruct tmigr_event cpuevt;\n};\n\nstruct tmigr_group {\n\traw_spinlock_t lock;\n\tstruct tmigr_group *parent;\n\tstruct tmigr_event groupevt;\n\tu64 next_expiry;\n\tstruct timerqueue_head events;\n\tatomic_t migr_state;\n\tunsigned int level;\n\tint numa_node;\n\tunsigned int num_children;\n\tu8 groupmask;\n\tstruct list_head list;\n};\n\nunion tmigr_state {\n\tu32 state;\n\tstruct {\n\t\tu8 active;\n\t\tu8 migrator;\n\t\tu16 seq;\n\t};\n};\n\nstruct tmigr_walk {\n\tu64 nextexp;\n\tu64 firstexp;\n\tstruct tmigr_event *evt;\n\tu8 childmask;\n\tbool remote;\n\tlong unsigned int basej;\n\tu64 now;\n\tbool check;\n\tbool tmc_active;\n};\n\nstruct tmpmasks {\n\tcpumask_var_t addmask;\n\tcpumask_var_t delmask;\n\tcpumask_var_t new_cpus;\n};\n\nstruct tms {\n\t__kernel_clock_t tms_utime;\n\t__kernel_clock_t tms_stime;\n\t__kernel_clock_t tms_cutime;\n\t__kernel_clock_t tms_cstime;\n};\n\nstruct tnl_ptk_info {\n\tlong unsigned int flags[1];\n\t__be16 proto;\n\t__be32 key;\n\t__be32 seq;\n\tint hdr_len;\n};\n\nstruct tnode {\n\tstruct callback_head rcu;\n\tt_key empty_children;\n\tt_key full_children;\n\tstruct key_vector *parent;\n\tstruct key_vector kv[1];\n};\n\nstruct touchscreen_properties {\n\tunsigned int max_x;\n\tunsigned int max_y;\n\tbool invert_x;\n\tbool invert_y;\n\tbool swap_x_y;\n};\n\nstruct tp_module {\n\tstruct list_head list;\n\tstruct module *mod;\n};\n\nstruct tracepoint_func {\n\tvoid *func;\n\tvoid *data;\n\tint prio;\n};\n\nstruct tp_probes {\n\tstruct callback_head rcu;\n\tstruct tracepoint_func probes[0];\n};\n\nstruct tp_transition_snapshot {\n\tlong unsigned int rcu;\n\tbool ongoing;\n};\n\nstruct tpacket2_hdr {\n\t__u32 tp_status;\n\t__u32 tp_len;\n\t__u32 tp_snaplen;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\t__u32 tp_sec;\n\t__u32 tp_nsec;\n\t__u16 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n\t__u8 tp_padding[4];\n};\n\nstruct tpacket_hdr_variant1 {\n\t__u32 tp_rxhash;\n\t__u32 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n\t__u16 tp_padding;\n};\n\nstruct tpacket3_hdr {\n\t__u32 tp_next_offset;\n\t__u32 tp_sec;\n\t__u32 tp_nsec;\n\t__u32 tp_snaplen;\n\t__u32 tp_len;\n\t__u32 tp_status;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\tunion {\n\t\tstruct tpacket_hdr_variant1 hv1;\n\t};\n\t__u8 tp_padding[8];\n};\n\nstruct tpacket_auxdata {\n\t__u32 tp_status;\n\t__u32 tp_len;\n\t__u32 tp_snaplen;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\t__u16 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n};\n\nstruct tpacket_bd_ts {\n\tunsigned int ts_sec;\n\tunion {\n\t\tunsigned int ts_usec;\n\t\tunsigned int ts_nsec;\n\t};\n};\n\nstruct tpacket_hdr_v1 {\n\t__u32 block_status;\n\t__u32 num_pkts;\n\t__u32 offset_to_first_pkt;\n\t__u32 blk_len;\n\t__u64 seq_num;\n\tstruct tpacket_bd_ts ts_first_pkt;\n\tstruct tpacket_bd_ts ts_last_pkt;\n};\n\nunion tpacket_bd_header_u {\n\tstruct tpacket_hdr_v1 bh1;\n};\n\nstruct tpacket_block_desc {\n\t__u32 version;\n\t__u32 offset_to_priv;\n\tunion tpacket_bd_header_u hdr;\n};\n\nstruct tpacket_hdr {\n\tlong unsigned int tp_status;\n\tunsigned int tp_len;\n\tunsigned int tp_snaplen;\n\tshort unsigned int tp_mac;\n\tshort unsigned int tp_net;\n\tunsigned int tp_sec;\n\tunsigned int tp_usec;\n};\n\nstruct tpacket_req {\n\tunsigned int tp_block_size;\n\tunsigned int tp_block_nr;\n\tunsigned int tp_frame_size;\n\tunsigned int tp_frame_nr;\n};\n\nstruct tpacket_req3 {\n\tunsigned int tp_block_size;\n\tunsigned int tp_block_nr;\n\tunsigned int tp_frame_size;\n\tunsigned int tp_frame_nr;\n\tunsigned int tp_retire_blk_tov;\n\tunsigned int tp_sizeof_priv;\n\tunsigned int tp_feature_req_word;\n};\n\nunion tpacket_req_u {\n\tstruct tpacket_req req;\n\tstruct tpacket_req3 req3;\n};\n\nstruct tpacket_rollover_stats {\n\t__u64 tp_all;\n\t__u64 tp_huge;\n\t__u64 tp_failed;\n};\n\nunion tpacket_uhdr {\n\tstruct tpacket_hdr *h1;\n\tstruct tpacket2_hdr *h2;\n\tstruct tpacket3_hdr *h3;\n\tvoid *raw;\n};\n\nstruct tpm1_get_random_out {\n\t__be32 rng_data_len;\n\tu8 rng_data[128];\n};\n\nstruct tpm2_auth {\n\tu32 handle;\n\tu32 session;\n\tu8 our_nonce[32];\n\tu8 tpm_nonce[32];\n\tunion {\n\t\tu8 salt[32];\n\t\tu8 scratch[32];\n\t};\n\tu8 session_key[32];\n\tu8 passphrase[32];\n\tint passphrase_len;\n\tstruct crypto_aes_ctx aes_ctx;\n\tu8 attrs;\n\t__be32 ordinal;\n\tu32 name_h[3];\n\tu8 name[198];\n};\n\nstruct tpm2_cap_handles {\n\tu8 more_data;\n\t__be32 capability;\n\t__be32 count;\n\t__be32 handles[0];\n} __attribute__((packed));\n\nstruct tpm2_context {\n\t__be64 sequence;\n\t__be32 saved_handle;\n\t__be32 hierarchy;\n\t__be16 blob_size;\n} __attribute__((packed));\n\nstruct tpm2_get_cap_out {\n\tu8 more_data;\n\t__be32 subcap_id;\n\t__be32 property_cnt;\n\t__be32 property_id;\n\t__be32 value;\n} __attribute__((packed));\n\nstruct tpm2_get_random_out {\n\t__be16 size;\n\tu8 buffer[128];\n};\n\nstruct tpm2_hash {\n\tunsigned int crypto_id;\n\tunsigned int tpm_id;\n};\n\nstruct tpm2_pcr_read_out {\n\t__be32 update_cnt;\n\t__be32 pcr_selects_cnt;\n\t__be16 hash_alg;\n\tu8 pcr_select_size;\n\tu8 pcr_select[3];\n\t__be32 digests_cnt;\n\t__be16 digest_size;\n\tu8 digest[0];\n} __attribute__((packed));\n\nstruct tpm2_pcr_selection {\n\t__be16 hash_alg;\n\tu8 size_of_select;\n\tu8 pcr_select[3];\n};\n\nstruct tpm_bank_info {\n\tu16 alg_id;\n\tu16 digest_size;\n\tu16 crypto_id;\n};\n\nstruct tpm_bios_log {\n\tvoid *bios_event_log;\n\tvoid *bios_event_log_end;\n};\n\nstruct tpm_buf {\n\tu32 flags;\n\tu32 length;\n\tu8 *data;\n\tu8 handles;\n};\n\nstruct tpm_chip_seqops {\n\tstruct tpm_chip *chip;\n\tconst struct seq_operations *seqops;\n};\n\nstruct tpm_space {\n\tu32 context_tbl[3];\n\tu8 *context_buf;\n\tu32 session_tbl[3];\n\tu8 *session_buf;\n\tu32 buf_size;\n};\n\nstruct tpm_class_ops;\n\nstruct tpm_chip {\n\tstruct device dev;\n\tstruct device devs;\n\tstruct cdev cdev;\n\tstruct cdev cdevs;\n\tstruct rw_semaphore ops_sem;\n\tconst struct tpm_class_ops *ops;\n\tstruct tpm_bios_log log;\n\tstruct tpm_chip_seqops bin_log_seqops;\n\tstruct tpm_chip_seqops ascii_log_seqops;\n\tunsigned int flags;\n\tint dev_num;\n\tlong unsigned int is_open;\n\tchar hwrng_name[64];\n\tstruct hwrng hwrng;\n\tstruct mutex tpm_mutex;\n\tlong unsigned int timeout_a;\n\tlong unsigned int timeout_b;\n\tlong unsigned int timeout_c;\n\tlong unsigned int timeout_d;\n\tbool timeout_adjusted;\n\tlong unsigned int duration[4];\n\tbool duration_adjusted;\n\tstruct dentry *bios_dir[3];\n\tconst struct attribute_group *groups[8];\n\tunsigned int groups_cnt;\n\tu32 nr_allocated_banks;\n\tstruct tpm_bank_info *allocated_banks;\n\tstruct tpm_space work_space;\n\tu32 last_cc;\n\tu32 nr_commands;\n\tu32 *cc_attrs_tbl;\n\tint locality;\n};\n\nstruct tpm_class_ops {\n\tunsigned int flags;\n\tconst u8 req_complete_mask;\n\tconst u8 req_complete_val;\n\tbool (*req_canceled)(struct tpm_chip *, u8);\n\tint (*recv)(struct tpm_chip *, u8 *, size_t);\n\tint (*send)(struct tpm_chip *, u8 *, size_t);\n\tvoid (*cancel)(struct tpm_chip *);\n\tu8 (*status)(struct tpm_chip *);\n\tvoid (*update_timeouts)(struct tpm_chip *, long unsigned int *);\n\tvoid (*update_durations)(struct tpm_chip *, long unsigned int *);\n\tint (*go_idle)(struct tpm_chip *);\n\tint (*cmd_ready)(struct tpm_chip *);\n\tint (*request_locality)(struct tpm_chip *, int);\n\tint (*relinquish_locality)(struct tpm_chip *, int);\n\tvoid (*clk_enable)(struct tpm_chip *, bool);\n};\n\nstruct tpm_header {\n\t__be16 tag;\n\t__be32 length;\n\tunion {\n\t\t__be32 ordinal;\n\t\t__be32 return_code;\n\t};\n} __attribute__((packed));\n\nstruct tpm_pcr_attr {\n\tint alg_id;\n\tint pcr;\n\tstruct device_attribute attr;\n};\n\nstruct tpm_readpubek_out {\n\tu8 algorithm[4];\n\tu8 encscheme[2];\n\tu8 sigscheme[2];\n\t__be32 paramsize;\n\tu8 parameters[12];\n\t__be32 keysize;\n\tu8 modulus[256];\n\tu8 checksum[20];\n};\n\nstruct tpmrm_priv {\n\tstruct file_priv priv;\n\tstruct tpm_space space;\n};\n\nstruct trace_pid_list;\n\nstruct trace_options;\n\nstruct trace_func_repeats;\n\nstruct trace_array {\n\tstruct list_head list;\n\tchar *name;\n\tstruct array_buffer array_buffer;\n\tstruct array_buffer max_buffer;\n\tbool allocated_snapshot;\n\tspinlock_t snapshot_trigger_lock;\n\tunsigned int snapshot;\n\tlong unsigned int max_latency;\n\tstruct dentry *d_max_latency;\n\tstruct work_struct fsnotify_work;\n\tstruct irq_work fsnotify_irqwork;\n\tunsigned int mapped;\n\tlong unsigned int range_addr_start;\n\tlong unsigned int range_addr_size;\n\tlong int text_delta;\n\tlong int data_delta;\n\tstruct trace_pid_list *filtered_pids;\n\tstruct trace_pid_list *filtered_no_pids;\n\tarch_spinlock_t max_lock;\n\tint buffer_disabled;\n\tint sys_refcount_enter;\n\tint sys_refcount_exit;\n\tstruct trace_event_file *enter_syscall_files[467];\n\tstruct trace_event_file *exit_syscall_files[467];\n\tint stop_count;\n\tint clock_id;\n\tint nr_topts;\n\tbool clear_trace;\n\tint buffer_percent;\n\tunsigned int n_err_log_entries;\n\tstruct tracer *current_trace;\n\tunsigned int trace_flags;\n\tunsigned char trace_flags_index[32];\n\tunsigned int flags;\n\traw_spinlock_t start_lock;\n\tconst char *system_names;\n\tstruct list_head err_log;\n\tstruct dentry *dir;\n\tstruct dentry *options;\n\tstruct dentry *percpu_dir;\n\tstruct eventfs_inode *event_dir;\n\tstruct trace_options *topts;\n\tstruct list_head systems;\n\tstruct list_head events;\n\tstruct trace_event_file *trace_marker_file;\n\tcpumask_var_t tracing_cpumask;\n\tcpumask_var_t pipe_cpumask;\n\tint ref;\n\tint trace_ref;\n\tstruct list_head mod_events;\n\tstruct ftrace_ops *ops;\n\tstruct trace_pid_list *function_pids;\n\tstruct trace_pid_list *function_no_pids;\n\tstruct fgraph_ops *gops;\n\tstruct list_head func_probes;\n\tstruct list_head mod_trace;\n\tstruct list_head mod_notrace;\n\tint function_enabled;\n\tint no_filter_buffering_ref;\n\tstruct list_head hist_vars;\n\tstruct cond_snapshot *cond_snapshot;\n\tstruct trace_func_repeats *last_func_repeats;\n\tbool ring_buffer_expanded;\n};\n\nstruct trace_array_cpu {\n\tatomic_t disabled;\n\tvoid *buffer_page;\n\tlong unsigned int entries;\n\tlong unsigned int saved_latency;\n\tlong unsigned int critical_start;\n\tlong unsigned int critical_end;\n\tlong unsigned int critical_sequence;\n\tlong unsigned int nice;\n\tlong unsigned int policy;\n\tlong unsigned int rt_priority;\n\tlong unsigned int skipped_entries;\n\tu64 preempt_timestamp;\n\tpid_t pid;\n\tkuid_t uid;\n\tchar comm[16];\n\tint ftrace_ignore_pid;\n\tbool ignore_pid;\n};\n\nstruct trace_bprintk_fmt {\n\tstruct list_head list;\n\tconst char *fmt;\n};\n\nstruct trace_buffer {\n\tunsigned int flags;\n\tint cpus;\n\tatomic_t record_disabled;\n\tatomic_t resizing;\n\tcpumask_var_t cpumask;\n\tstruct lock_class_key *reader_lock_key;\n\tstruct mutex mutex;\n\tstruct ring_buffer_per_cpu **buffers;\n\tstruct hlist_node node;\n\tu64 (*clock)(void);\n\tstruct rb_irq_work irq_work;\n\tbool time_stamp_abs;\n\tlong unsigned int range_addr_start;\n\tlong unsigned int range_addr_end;\n\tlong int last_text_delta;\n\tlong int last_data_delta;\n\tunsigned int subbuf_size;\n\tunsigned int subbuf_order;\n\tunsigned int max_data_size;\n};\n\nstruct trace_buffer_meta {\n\t__u32 meta_page_size;\n\t__u32 meta_struct_len;\n\t__u32 subbuf_size;\n\t__u32 nr_subbufs;\n\tstruct {\n\t\t__u64 lost_events;\n\t\t__u32 id;\n\t\t__u32 read;\n\t} reader;\n\t__u64 flags;\n\t__u64 entries;\n\t__u64 overrun;\n\t__u64 read;\n\t__u64 Reserved1;\n\t__u64 Reserved2;\n};\n\nstruct trace_buffer_struct {\n\tint nesting;\n\tchar buffer[4096];\n};\n\nstruct trace_probe_event;\n\nstruct trace_probe {\n\tstruct list_head list;\n\tstruct trace_probe_event *event;\n\tssize_t size;\n\tunsigned int nr_args;\n\tstruct probe_entry_arg *entry_arg;\n\tstruct probe_arg args[0];\n};\n\nstruct trace_eprobe {\n\tconst char *event_system;\n\tconst char *event_name;\n\tchar *filter_str;\n\tstruct trace_event_call *event;\n\tstruct dyn_event devent;\n\tstruct trace_probe tp;\n};\n\nstruct trace_eval_map {\n\tconst char *system;\n\tconst char *eval_string;\n\tlong unsigned int eval_value;\n};\n\nstruct trace_event_functions;\n\nstruct trace_event {\n\tstruct hlist_node node;\n\tint type;\n\tstruct trace_event_functions *funcs;\n};\n\nstruct trace_event_buffer {\n\tstruct trace_buffer *buffer;\n\tstruct ring_buffer_event *event;\n\tstruct trace_event_file *trace_file;\n\tvoid *entry;\n\tunsigned int trace_ctx;\n\tstruct pt_regs *regs;\n};\n\nstruct trace_event_class;\n\nstruct trace_event_call {\n\tstruct list_head list;\n\tstruct trace_event_class *class;\n\tunion {\n\t\tconst char *name;\n\t\tstruct tracepoint *tp;\n\t};\n\tstruct trace_event event;\n\tchar *print_fmt;\n\tunion {\n\t\tvoid *module;\n\t\tatomic_t refcnt;\n\t};\n\tvoid *data;\n\tint flags;\n\tint perf_refcount;\n\tstruct hlist_head *perf_events;\n\tstruct bpf_prog_array *prog_array;\n\tint (*perf_perm)(struct trace_event_call *, struct perf_event *);\n};\n\nstruct trace_event_fields;\n\nstruct trace_event_class {\n\tconst char *system;\n\tvoid *probe;\n\tvoid *perf_probe;\n\tint (*reg)(struct trace_event_call *, enum trace_reg, void *);\n\tstruct trace_event_fields *fields_array;\n\tstruct list_head * (*get_fields)(struct trace_event_call *);\n\tstruct list_head fields;\n\tint (*raw_init)(struct trace_event_call *);\n};\n\nstruct trace_event_data_offsets_aer_event {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_alarm_class {};\n\nstruct trace_event_data_offsets_alarmtimer_suspend {};\n\nstruct trace_event_data_offsets_alloc_vmap_area {};\n\nstruct trace_event_data_offsets_arm_event {};\n\nstruct trace_event_data_offsets_ata_bmdma_status {};\n\nstruct trace_event_data_offsets_ata_eh_action_template {};\n\nstruct trace_event_data_offsets_ata_eh_link_autopsy {};\n\nstruct trace_event_data_offsets_ata_eh_link_autopsy_qc {};\n\nstruct trace_event_data_offsets_ata_exec_command_template {};\n\nstruct trace_event_data_offsets_ata_link_reset_begin_template {};\n\nstruct trace_event_data_offsets_ata_link_reset_end_template {};\n\nstruct trace_event_data_offsets_ata_port_eh_begin_template {};\n\nstruct trace_event_data_offsets_ata_qc_complete_template {};\n\nstruct trace_event_data_offsets_ata_qc_issue_template {};\n\nstruct trace_event_data_offsets_ata_sff_hsm_template {};\n\nstruct trace_event_data_offsets_ata_sff_template {};\n\nstruct trace_event_data_offsets_ata_tf_load {};\n\nstruct trace_event_data_offsets_ata_transfer_data_template {};\n\nstruct trace_event_data_offsets_balance_dirty_pages {};\n\nstruct trace_event_data_offsets_bdi_dirty_ratelimit {};\n\nstruct trace_event_data_offsets_block_bio {};\n\nstruct trace_event_data_offsets_block_bio_complete {};\n\nstruct trace_event_data_offsets_block_bio_remap {};\n\nstruct trace_event_data_offsets_block_buffer {};\n\nstruct trace_event_data_offsets_block_plug {};\n\nstruct trace_event_data_offsets_block_rq {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_rq_completion {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_rq_remap {};\n\nstruct trace_event_data_offsets_block_rq_requeue {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_split {};\n\nstruct trace_event_data_offsets_block_unplug {};\n\nstruct trace_event_data_offsets_bpf_test_finish {};\n\nstruct trace_event_data_offsets_bpf_trace_printk {\n\tu32 bpf_string;\n\tconst void *bpf_string_ptr_;\n};\n\nstruct trace_event_data_offsets_bpf_trigger_tp {};\n\nstruct trace_event_data_offsets_bpf_xdp_link_attach_failed {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_add {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_external_learn_add {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_update {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_mdb_full {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_cache_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cap_capable {};\n\nstruct trace_event_data_offsets_cgroup {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_event {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_migrate {\n\tu32 dst_path;\n\tconst void *dst_path_ptr_;\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_root {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_rstat {};\n\nstruct trace_event_data_offsets_clock {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_busy_retry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_finish {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_alloc_start {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cma_release {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_compact_retry {};\n\nstruct trace_event_data_offsets_console {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_consume_skb {};\n\nstruct trace_event_data_offsets_contention_begin {};\n\nstruct trace_event_data_offsets_contention_end {};\n\nstruct trace_event_data_offsets_context_tracking_user {};\n\nstruct trace_event_data_offsets_cpu {};\n\nstruct trace_event_data_offsets_cpu_frequency_limits {};\n\nstruct trace_event_data_offsets_cpu_idle_miss {};\n\nstruct trace_event_data_offsets_cpu_latency_qos_request {};\n\nstruct trace_event_data_offsets_cpuhp_enter {};\n\nstruct trace_event_data_offsets_cpuhp_exit {};\n\nstruct trace_event_data_offsets_cpuhp_multi_enter {};\n\nstruct trace_event_data_offsets_csd_function {};\n\nstruct trace_event_data_offsets_csd_queue_cpu {};\n\nstruct trace_event_data_offsets_ctime {};\n\nstruct trace_event_data_offsets_ctime_ns_xchg {};\n\nstruct trace_event_data_offsets_dax_insert_mapping {};\n\nstruct trace_event_data_offsets_dax_pmd_fault_class {};\n\nstruct trace_event_data_offsets_dax_pmd_insert_mapping_class {};\n\nstruct trace_event_data_offsets_dax_pmd_load_hole_class {};\n\nstruct trace_event_data_offsets_dax_pte_fault_class {};\n\nstruct trace_event_data_offsets_dax_writeback_one {};\n\nstruct trace_event_data_offsets_dax_writeback_range_class {};\n\nstruct trace_event_data_offsets_dev_pm_qos_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_device_pm_callback_end {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_device_pm_callback_start {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n\tu32 parent;\n\tconst void *parent_ptr_;\n\tu32 pm_ops;\n\tconst void *pm_ops_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_health_recover_aborted {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 reporter_name;\n\tconst void *reporter_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_health_report {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 reporter_name;\n\tconst void *reporter_name_ptr_;\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_health_reporter_state_update {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 reporter_name;\n\tconst void *reporter_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_hwerr {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_hwmsg {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_devlink_trap_report {\n\tu32 bus_name;\n\tconst void *bus_name_ptr_;\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n\tu32 driver_name;\n\tconst void *driver_name_ptr_;\n\tu32 trap_name;\n\tconst void *trap_name_ptr_;\n\tu32 trap_group_name;\n\tconst void *trap_group_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devres {\n\tu32 devname;\n\tconst void *devname_ptr_;\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_alloc_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_alloc_sgt {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_fence {\n\tu32 driver;\n\tconst void *driver_ptr_;\n\tu32 timeline;\n\tconst void *timeline_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_free_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_free_sgt {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n\tu32 dma_addrs;\n\tconst void *dma_addrs_ptr_;\n\tu32 lengths;\n\tconst void *lengths_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map_sg_err {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_sync_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 dma_addrs;\n\tconst void *dma_addrs_ptr_;\n\tu32 lengths;\n\tconst void *lengths_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_sync_single {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_unmap {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_unmap_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 addrs;\n\tconst void *addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dql_stall_detected {};\n\nstruct trace_event_data_offsets_e1000e_trace_mac_register {};\n\nstruct trace_event_data_offsets_error_report_template {};\n\nstruct trace_event_data_offsets_exit_mmap {};\n\nstruct trace_event_data_offsets_ext4__bitmap_load {};\n\nstruct trace_event_data_offsets_ext4__es_extent {};\n\nstruct trace_event_data_offsets_ext4__es_shrink_enter {};\n\nstruct trace_event_data_offsets_ext4__fallocate_mode {};\n\nstruct trace_event_data_offsets_ext4__folio_op {};\n\nstruct trace_event_data_offsets_ext4__map_blocks_enter {};\n\nstruct trace_event_data_offsets_ext4__map_blocks_exit {};\n\nstruct trace_event_data_offsets_ext4__mb_new_pa {};\n\nstruct trace_event_data_offsets_ext4__mballoc {};\n\nstruct trace_event_data_offsets_ext4__trim {};\n\nstruct trace_event_data_offsets_ext4__truncate {};\n\nstruct trace_event_data_offsets_ext4__write_begin {};\n\nstruct trace_event_data_offsets_ext4__write_end {};\n\nstruct trace_event_data_offsets_ext4_alloc_da_blocks {};\n\nstruct trace_event_data_offsets_ext4_allocate_blocks {};\n\nstruct trace_event_data_offsets_ext4_allocate_inode {};\n\nstruct trace_event_data_offsets_ext4_begin_ordered_truncate {};\n\nstruct trace_event_data_offsets_ext4_collapse_range {};\n\nstruct trace_event_data_offsets_ext4_da_release_space {};\n\nstruct trace_event_data_offsets_ext4_da_reserve_space {};\n\nstruct trace_event_data_offsets_ext4_da_update_reserve_space {};\n\nstruct trace_event_data_offsets_ext4_da_write_pages {};\n\nstruct trace_event_data_offsets_ext4_da_write_pages_extent {};\n\nstruct trace_event_data_offsets_ext4_discard_blocks {};\n\nstruct trace_event_data_offsets_ext4_discard_preallocations {};\n\nstruct trace_event_data_offsets_ext4_drop_inode {};\n\nstruct trace_event_data_offsets_ext4_error {};\n\nstruct trace_event_data_offsets_ext4_es_find_extent_range_enter {};\n\nstruct trace_event_data_offsets_ext4_es_find_extent_range_exit {};\n\nstruct trace_event_data_offsets_ext4_es_insert_delayed_extent {};\n\nstruct trace_event_data_offsets_ext4_es_lookup_extent_enter {};\n\nstruct trace_event_data_offsets_ext4_es_lookup_extent_exit {};\n\nstruct trace_event_data_offsets_ext4_es_remove_extent {};\n\nstruct trace_event_data_offsets_ext4_es_shrink {};\n\nstruct trace_event_data_offsets_ext4_es_shrink_scan_exit {};\n\nstruct trace_event_data_offsets_ext4_evict_inode {};\n\nstruct trace_event_data_offsets_ext4_ext_convert_to_initialized_enter {};\n\nstruct trace_event_data_offsets_ext4_ext_convert_to_initialized_fastpath {};\n\nstruct trace_event_data_offsets_ext4_ext_handle_unwritten_extents {};\n\nstruct trace_event_data_offsets_ext4_ext_load_extent {};\n\nstruct trace_event_data_offsets_ext4_ext_remove_space {};\n\nstruct trace_event_data_offsets_ext4_ext_remove_space_done {};\n\nstruct trace_event_data_offsets_ext4_ext_rm_idx {};\n\nstruct trace_event_data_offsets_ext4_ext_rm_leaf {};\n\nstruct trace_event_data_offsets_ext4_ext_show_extent {};\n\nstruct trace_event_data_offsets_ext4_fallocate_exit {};\n\nstruct trace_event_data_offsets_ext4_fc_cleanup {};\n\nstruct trace_event_data_offsets_ext4_fc_commit_start {};\n\nstruct trace_event_data_offsets_ext4_fc_commit_stop {};\n\nstruct trace_event_data_offsets_ext4_fc_replay {};\n\nstruct trace_event_data_offsets_ext4_fc_replay_scan {};\n\nstruct trace_event_data_offsets_ext4_fc_stats {};\n\nstruct trace_event_data_offsets_ext4_fc_track_dentry {};\n\nstruct trace_event_data_offsets_ext4_fc_track_inode {};\n\nstruct trace_event_data_offsets_ext4_fc_track_range {};\n\nstruct trace_event_data_offsets_ext4_forget {};\n\nstruct trace_event_data_offsets_ext4_free_blocks {};\n\nstruct trace_event_data_offsets_ext4_free_inode {};\n\nstruct trace_event_data_offsets_ext4_fsmap_class {};\n\nstruct trace_event_data_offsets_ext4_get_implied_cluster_alloc_exit {};\n\nstruct trace_event_data_offsets_ext4_getfsmap_class {};\n\nstruct trace_event_data_offsets_ext4_insert_range {};\n\nstruct trace_event_data_offsets_ext4_invalidate_folio_op {};\n\nstruct trace_event_data_offsets_ext4_journal_start_inode {};\n\nstruct trace_event_data_offsets_ext4_journal_start_reserved {};\n\nstruct trace_event_data_offsets_ext4_journal_start_sb {};\n\nstruct trace_event_data_offsets_ext4_lazy_itable_init {};\n\nstruct trace_event_data_offsets_ext4_load_inode {};\n\nstruct trace_event_data_offsets_ext4_mark_inode_dirty {};\n\nstruct trace_event_data_offsets_ext4_mb_discard_preallocations {};\n\nstruct trace_event_data_offsets_ext4_mb_release_group_pa {};\n\nstruct trace_event_data_offsets_ext4_mb_release_inode_pa {};\n\nstruct trace_event_data_offsets_ext4_mballoc_alloc {};\n\nstruct trace_event_data_offsets_ext4_mballoc_prealloc {};\n\nstruct trace_event_data_offsets_ext4_nfs_commit_metadata {};\n\nstruct trace_event_data_offsets_ext4_other_inode_update_time {};\n\nstruct trace_event_data_offsets_ext4_prefetch_bitmaps {};\n\nstruct trace_event_data_offsets_ext4_read_block_bitmap_load {};\n\nstruct trace_event_data_offsets_ext4_remove_blocks {};\n\nstruct trace_event_data_offsets_ext4_request_blocks {};\n\nstruct trace_event_data_offsets_ext4_request_inode {};\n\nstruct trace_event_data_offsets_ext4_shutdown {};\n\nstruct trace_event_data_offsets_ext4_sync_file_enter {};\n\nstruct trace_event_data_offsets_ext4_sync_file_exit {};\n\nstruct trace_event_data_offsets_ext4_sync_fs {};\n\nstruct trace_event_data_offsets_ext4_unlink_enter {};\n\nstruct trace_event_data_offsets_ext4_unlink_exit {};\n\nstruct trace_event_data_offsets_ext4_update_sb {};\n\nstruct trace_event_data_offsets_ext4_writepages {};\n\nstruct trace_event_data_offsets_ext4_writepages_result {};\n\nstruct trace_event_data_offsets_fdb_delete {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_fib6_table_lookup {};\n\nstruct trace_event_data_offsets_fib_table_lookup {};\n\nstruct trace_event_data_offsets_file_check_and_advance_wb_err {};\n\nstruct trace_event_data_offsets_filelock_lease {};\n\nstruct trace_event_data_offsets_filelock_lock {};\n\nstruct trace_event_data_offsets_filemap_set_wb_err {};\n\nstruct trace_event_data_offsets_fill_mg_cmtime {};\n\nstruct trace_event_data_offsets_finish_task_reaping {};\n\nstruct trace_event_data_offsets_flush_foreign {};\n\nstruct trace_event_data_offsets_free_vmap_area_noflush {};\n\nstruct trace_event_data_offsets_generic_add_lease {};\n\nstruct trace_event_data_offsets_global_dirty_state {};\n\nstruct trace_event_data_offsets_guest_halt_poll_ns {};\n\nstruct trace_event_data_offsets_handshake_alert_class {};\n\nstruct trace_event_data_offsets_handshake_complete {};\n\nstruct trace_event_data_offsets_handshake_error_class {};\n\nstruct trace_event_data_offsets_handshake_event_class {};\n\nstruct trace_event_data_offsets_handshake_fd_class {};\n\nstruct trace_event_data_offsets_hash_fault {};\n\nstruct trace_event_data_offsets_hcall_entry {};\n\nstruct trace_event_data_offsets_hcall_exit {};\n\nstruct trace_event_data_offsets_hrtimer_class {};\n\nstruct trace_event_data_offsets_hrtimer_expire_entry {};\n\nstruct trace_event_data_offsets_hrtimer_init {};\n\nstruct trace_event_data_offsets_hrtimer_start {};\n\nstruct trace_event_data_offsets_hugepage_set {};\n\nstruct trace_event_data_offsets_hugepage_update {};\n\nstruct trace_event_data_offsets_hugetlbfs__inode {};\n\nstruct trace_event_data_offsets_hugetlbfs_alloc_inode {};\n\nstruct trace_event_data_offsets_hugetlbfs_fallocate {};\n\nstruct trace_event_data_offsets_hugetlbfs_setattr {\n\tu32 d_name;\n\tconst void *d_name_ptr_;\n};\n\nstruct trace_event_data_offsets_hwmon_attr_class {\n\tu32 attr_name;\n\tconst void *attr_name_ptr_;\n};\n\nstruct trace_event_data_offsets_hwmon_attr_show_string {\n\tu32 attr_name;\n\tconst void *attr_name_ptr_;\n\tu32 label;\n\tconst void *label_ptr_;\n};\n\nstruct trace_event_data_offsets_i2c_read {};\n\nstruct trace_event_data_offsets_i2c_reply {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_i2c_result {};\n\nstruct trace_event_data_offsets_i2c_write {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_icmp_send {};\n\nstruct trace_event_data_offsets_inet_sk_error_report {};\n\nstruct trace_event_data_offsets_inet_sock_set_state {};\n\nstruct trace_event_data_offsets_initcall_finish {};\n\nstruct trace_event_data_offsets_initcall_level {\n\tu32 level;\n\tconst void *level_ptr_;\n};\n\nstruct trace_event_data_offsets_initcall_start {};\n\nstruct trace_event_data_offsets_inode_foreign_history {};\n\nstruct trace_event_data_offsets_inode_switch_wbs {};\n\nstruct trace_event_data_offsets_io_uring_complete {};\n\nstruct trace_event_data_offsets_io_uring_cqe_overflow {};\n\nstruct trace_event_data_offsets_io_uring_cqring_wait {};\n\nstruct trace_event_data_offsets_io_uring_create {};\n\nstruct trace_event_data_offsets_io_uring_defer {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_fail_link {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_file_get {};\n\nstruct trace_event_data_offsets_io_uring_link {};\n\nstruct trace_event_data_offsets_io_uring_local_work_run {};\n\nstruct trace_event_data_offsets_io_uring_poll_arm {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_queue_async_work {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_register {};\n\nstruct trace_event_data_offsets_io_uring_req_failed {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_short_write {};\n\nstruct trace_event_data_offsets_io_uring_submit_req {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_task_add {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_task_work_run {};\n\nstruct trace_event_data_offsets_iomap_class {};\n\nstruct trace_event_data_offsets_iomap_dio_complete {};\n\nstruct trace_event_data_offsets_iomap_dio_rw_begin {};\n\nstruct trace_event_data_offsets_iomap_iter {};\n\nstruct trace_event_data_offsets_iomap_range_class {};\n\nstruct trace_event_data_offsets_iomap_readpage_class {};\n\nstruct trace_event_data_offsets_iomap_writepage_map {};\n\nstruct trace_event_data_offsets_iommu_device_event {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_iommu_error {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_iommu_group_event {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_ipi_handler {};\n\nstruct trace_event_data_offsets_ipi_raise {\n\tu32 target_cpus;\n\tconst void *target_cpus_ptr_;\n};\n\nstruct trace_event_data_offsets_ipi_send_cpu {};\n\nstruct trace_event_data_offsets_ipi_send_cpumask {\n\tu32 cpumask;\n\tconst void *cpumask_ptr_;\n};\n\nstruct trace_event_data_offsets_irq_handler_entry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_irq_handler_exit {};\n\nstruct trace_event_data_offsets_itimer_expire {};\n\nstruct trace_event_data_offsets_itimer_state {};\n\nstruct trace_event_data_offsets_jbd2_checkpoint {};\n\nstruct trace_event_data_offsets_jbd2_checkpoint_stats {};\n\nstruct trace_event_data_offsets_jbd2_commit {};\n\nstruct trace_event_data_offsets_jbd2_end_commit {};\n\nstruct trace_event_data_offsets_jbd2_handle_extend {};\n\nstruct trace_event_data_offsets_jbd2_handle_start_class {};\n\nstruct trace_event_data_offsets_jbd2_handle_stats {};\n\nstruct trace_event_data_offsets_jbd2_journal_shrink {};\n\nstruct trace_event_data_offsets_jbd2_lock_buffer_stall {};\n\nstruct trace_event_data_offsets_jbd2_run_stats {};\n\nstruct trace_event_data_offsets_jbd2_shrink_checkpoint_list {};\n\nstruct trace_event_data_offsets_jbd2_shrink_scan_exit {};\n\nstruct trace_event_data_offsets_jbd2_submit_inode_data {};\n\nstruct trace_event_data_offsets_jbd2_update_log_tail {};\n\nstruct trace_event_data_offsets_jbd2_write_superblock {};\n\nstruct trace_event_data_offsets_kcompactd_wake_template {};\n\nstruct trace_event_data_offsets_kfree {};\n\nstruct trace_event_data_offsets_kfree_skb {};\n\nstruct trace_event_data_offsets_kmalloc {};\n\nstruct trace_event_data_offsets_kmem_cache_alloc {};\n\nstruct trace_event_data_offsets_kmem_cache_free {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_ksm_advisor {};\n\nstruct trace_event_data_offsets_ksm_enter_exit_template {};\n\nstruct trace_event_data_offsets_ksm_merge_one_page {};\n\nstruct trace_event_data_offsets_ksm_merge_with_ksm_page {};\n\nstruct trace_event_data_offsets_ksm_remove_ksm_page {};\n\nstruct trace_event_data_offsets_ksm_remove_rmap_item {};\n\nstruct trace_event_data_offsets_ksm_scan_template {};\n\nstruct trace_event_data_offsets_kyber_adjust {};\n\nstruct trace_event_data_offsets_kyber_latency {};\n\nstruct trace_event_data_offsets_kyber_throttled {};\n\nstruct trace_event_data_offsets_leases_conflict {};\n\nstruct trace_event_data_offsets_locks_get_lock_context {};\n\nstruct trace_event_data_offsets_ma_op {};\n\nstruct trace_event_data_offsets_ma_read {};\n\nstruct trace_event_data_offsets_ma_write {};\n\nstruct trace_event_data_offsets_map {};\n\nstruct trace_event_data_offsets_mark_victim {\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_mc_event {\n\tu32 msg;\n\tconst void *msg_ptr_;\n\tu32 label;\n\tconst void *label_ptr_;\n\tu32 driver_detail;\n\tconst void *driver_detail_ptr_;\n};\n\nstruct trace_event_data_offsets_mdio_access {};\n\nstruct trace_event_data_offsets_mem_connect {};\n\nstruct trace_event_data_offsets_mem_disconnect {};\n\nstruct trace_event_data_offsets_mem_return_failed {};\n\nstruct trace_event_data_offsets_memcg_flush_stats {};\n\nstruct trace_event_data_offsets_memcg_rstat_events {};\n\nstruct trace_event_data_offsets_memcg_rstat_stats {};\n\nstruct trace_event_data_offsets_migration_pmd {};\n\nstruct trace_event_data_offsets_migration_pte {};\n\nstruct trace_event_data_offsets_mm_alloc_contig_migrate_range_info {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page_isolate {};\n\nstruct trace_event_data_offsets_mm_collapse_huge_page_swapin {};\n\nstruct trace_event_data_offsets_mm_compaction_begin {};\n\nstruct trace_event_data_offsets_mm_compaction_defer_template {};\n\nstruct trace_event_data_offsets_mm_compaction_end {};\n\nstruct trace_event_data_offsets_mm_compaction_isolate_template {};\n\nstruct trace_event_data_offsets_mm_compaction_kcompactd_sleep {};\n\nstruct trace_event_data_offsets_mm_compaction_migratepages {};\n\nstruct trace_event_data_offsets_mm_compaction_suitable_template {};\n\nstruct trace_event_data_offsets_mm_compaction_try_to_compact_pages {};\n\nstruct trace_event_data_offsets_mm_filemap_fault {};\n\nstruct trace_event_data_offsets_mm_filemap_op_page_cache {};\n\nstruct trace_event_data_offsets_mm_filemap_op_page_cache_range {};\n\nstruct trace_event_data_offsets_mm_khugepaged_collapse_file {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_mm_khugepaged_scan_file {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_mm_khugepaged_scan_pmd {};\n\nstruct trace_event_data_offsets_mm_lru_activate {};\n\nstruct trace_event_data_offsets_mm_lru_insertion {};\n\nstruct trace_event_data_offsets_mm_migrate_pages {};\n\nstruct trace_event_data_offsets_mm_migrate_pages_start {};\n\nstruct trace_event_data_offsets_mm_page {};\n\nstruct trace_event_data_offsets_mm_page_alloc {};\n\nstruct trace_event_data_offsets_mm_page_alloc_extfrag {};\n\nstruct trace_event_data_offsets_mm_page_free {};\n\nstruct trace_event_data_offsets_mm_page_free_batched {};\n\nstruct trace_event_data_offsets_mm_page_pcpu_drain {};\n\nstruct trace_event_data_offsets_mm_shrink_slab_end {};\n\nstruct trace_event_data_offsets_mm_shrink_slab_start {};\n\nstruct trace_event_data_offsets_mm_vmscan_direct_reclaim_begin_template {};\n\nstruct trace_event_data_offsets_mm_vmscan_direct_reclaim_end_template {};\n\nstruct trace_event_data_offsets_mm_vmscan_kswapd_sleep {};\n\nstruct trace_event_data_offsets_mm_vmscan_kswapd_wake {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_isolate {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_shrink_active {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_shrink_inactive {};\n\nstruct trace_event_data_offsets_mm_vmscan_node_reclaim_begin {};\n\nstruct trace_event_data_offsets_mm_vmscan_reclaim_pages {};\n\nstruct trace_event_data_offsets_mm_vmscan_throttled {};\n\nstruct trace_event_data_offsets_mm_vmscan_wakeup_kswapd {};\n\nstruct trace_event_data_offsets_mm_vmscan_write_folio {};\n\nstruct trace_event_data_offsets_mmap_lock {};\n\nstruct trace_event_data_offsets_mmap_lock_acquire_returned {};\n\nstruct trace_event_data_offsets_module_free {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_load {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_refcnt {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_napi_poll {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh__update {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh_create {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh_update {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_rx_exit_template {};\n\nstruct trace_event_data_offsets_net_dev_rx_verbose_template {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_start_xmit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_template {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_xmit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_xmit_timeout {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_netlink_extack {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_cached_open {};\n\nstruct trace_event_data_offsets_nfs4_cb_error_class {};\n\nstruct trace_event_data_offsets_nfs4_clientid_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_close {};\n\nstruct trace_event_data_offsets_nfs4_commit_event {};\n\nstruct trace_event_data_offsets_nfs4_delegreturn_exit {};\n\nstruct trace_event_data_offsets_nfs4_getattr_event {};\n\nstruct trace_event_data_offsets_nfs4_idmap_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_callback_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_event {};\n\nstruct trace_event_data_offsets_nfs4_inode_stateid_callback_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_stateid_event {};\n\nstruct trace_event_data_offsets_nfs4_lock_event {};\n\nstruct trace_event_data_offsets_nfs4_lookup_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_lookupp {};\n\nstruct trace_event_data_offsets_nfs4_open_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_read_event {};\n\nstruct trace_event_data_offsets_nfs4_rename {\n\tu32 oldname;\n\tconst void *oldname_ptr_;\n\tu32 newname;\n\tconst void *newname_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_set_delegation_event {};\n\nstruct trace_event_data_offsets_nfs4_set_lock {};\n\nstruct trace_event_data_offsets_nfs4_setup_sequence {};\n\nstruct trace_event_data_offsets_nfs4_state_lock_reclaim {};\n\nstruct trace_event_data_offsets_nfs4_state_mgr {\n\tu32 hostname;\n\tconst void *hostname_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_state_mgr_failed {\n\tu32 hostname;\n\tconst void *hostname_ptr_;\n\tu32 section;\n\tconst void *section_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_write_event {};\n\nstruct trace_event_data_offsets_nfs4_xdr_bad_operation {};\n\nstruct trace_event_data_offsets_nfs4_xdr_event {};\n\nstruct trace_event_data_offsets_nfs_access_exit {};\n\nstruct trace_event_data_offsets_nfs_aop_readahead {};\n\nstruct trace_event_data_offsets_nfs_aop_readahead_done {};\n\nstruct trace_event_data_offsets_nfs_atomic_open_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_atomic_open_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_commit_done {};\n\nstruct trace_event_data_offsets_nfs_create_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_create_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_direct_req_class {};\n\nstruct trace_event_data_offsets_nfs_directory_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_directory_event_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_fh_to_dentry {};\n\nstruct trace_event_data_offsets_nfs_folio_event {};\n\nstruct trace_event_data_offsets_nfs_folio_event_done {};\n\nstruct trace_event_data_offsets_nfs_initiate_commit {};\n\nstruct trace_event_data_offsets_nfs_initiate_read {};\n\nstruct trace_event_data_offsets_nfs_initiate_write {};\n\nstruct trace_event_data_offsets_nfs_inode_event {};\n\nstruct trace_event_data_offsets_nfs_inode_event_done {};\n\nstruct trace_event_data_offsets_nfs_inode_range_event {};\n\nstruct trace_event_data_offsets_nfs_link_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_link_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_local_open_fh {};\n\nstruct trace_event_data_offsets_nfs_lookup_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_lookup_event_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_assign {\n\tu32 option;\n\tconst void *option_ptr_;\n\tu32 value;\n\tconst void *value_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_option {\n\tu32 option;\n\tconst void *option_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_path {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_page_error_class {};\n\nstruct trace_event_data_offsets_nfs_pgio_error {};\n\nstruct trace_event_data_offsets_nfs_readdir_event {};\n\nstruct trace_event_data_offsets_nfs_readpage_done {};\n\nstruct trace_event_data_offsets_nfs_readpage_short {};\n\nstruct trace_event_data_offsets_nfs_rename_event {\n\tu32 old_name;\n\tconst void *old_name_ptr_;\n\tu32 new_name;\n\tconst void *new_name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_rename_event_done {\n\tu32 old_name;\n\tconst void *old_name_ptr_;\n\tu32 new_name;\n\tconst void *new_name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_sillyrename_unlink {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_update_size_class {};\n\nstruct trace_event_data_offsets_nfs_writeback_done {};\n\nstruct trace_event_data_offsets_nfs_xdr_event {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_nlmclnt_lock_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_non_standard_event {\n\tu32 fru_text;\n\tconst void *fru_text_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_notifier_info {};\n\nstruct trace_event_data_offsets_oom_score_adj_update {};\n\nstruct trace_event_data_offsets_opal_entry {};\n\nstruct trace_event_data_offsets_opal_exit {};\n\nstruct trace_event_data_offsets_page_pool_release {};\n\nstruct trace_event_data_offsets_page_pool_state_hold {};\n\nstruct trace_event_data_offsets_page_pool_state_release {};\n\nstruct trace_event_data_offsets_page_pool_update_nid {};\n\nstruct trace_event_data_offsets_percpu_alloc_percpu {};\n\nstruct trace_event_data_offsets_percpu_alloc_percpu_fail {};\n\nstruct trace_event_data_offsets_percpu_create_chunk {};\n\nstruct trace_event_data_offsets_percpu_destroy_chunk {};\n\nstruct trace_event_data_offsets_percpu_free_percpu {};\n\nstruct trace_event_data_offsets_pm_qos_update {};\n\nstruct trace_event_data_offsets_pmap_register {};\n\nstruct trace_event_data_offsets_power_domain {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_powernv_throttle {\n\tu32 reason;\n\tconst void *reason_ptr_;\n};\n\nstruct trace_event_data_offsets_ppc64_interrupt_class {};\n\nstruct trace_event_data_offsets_pstate_sample {};\n\nstruct trace_event_data_offsets_purge_vmap_area_lazy {};\n\nstruct trace_event_data_offsets_qdisc_create {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_dequeue {};\n\nstruct trace_event_data_offsets_qdisc_destroy {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_enqueue {};\n\nstruct trace_event_data_offsets_qdisc_reset {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_rcu_barrier {};\n\nstruct trace_event_data_offsets_rcu_batch_end {};\n\nstruct trace_event_data_offsets_rcu_batch_start {};\n\nstruct trace_event_data_offsets_rcu_callback {};\n\nstruct trace_event_data_offsets_rcu_exp_funnel_lock {};\n\nstruct trace_event_data_offsets_rcu_exp_grace_period {};\n\nstruct trace_event_data_offsets_rcu_fqs {};\n\nstruct trace_event_data_offsets_rcu_future_grace_period {};\n\nstruct trace_event_data_offsets_rcu_grace_period {};\n\nstruct trace_event_data_offsets_rcu_grace_period_init {};\n\nstruct trace_event_data_offsets_rcu_invoke_callback {};\n\nstruct trace_event_data_offsets_rcu_invoke_kfree_bulk_callback {};\n\nstruct trace_event_data_offsets_rcu_invoke_kvfree_callback {};\n\nstruct trace_event_data_offsets_rcu_kvfree_callback {};\n\nstruct trace_event_data_offsets_rcu_nocb_wake {};\n\nstruct trace_event_data_offsets_rcu_preempt_task {};\n\nstruct trace_event_data_offsets_rcu_quiescent_state_report {};\n\nstruct trace_event_data_offsets_rcu_segcb_stats {};\n\nstruct trace_event_data_offsets_rcu_sr_normal {};\n\nstruct trace_event_data_offsets_rcu_stall_warning {};\n\nstruct trace_event_data_offsets_rcu_torture_read {};\n\nstruct trace_event_data_offsets_rcu_unlock_preempted_task {};\n\nstruct trace_event_data_offsets_rcu_utilization {};\n\nstruct trace_event_data_offsets_rcu_watching {};\n\nstruct trace_event_data_offsets_reclaim_retry_zone {};\n\nstruct trace_event_data_offsets_regcache_drop_region {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regcache_sync {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 status;\n\tconst void *status_ptr_;\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_register_class {\n\tu32 program;\n\tconst void *program_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_async {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_bool {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_bulk {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_reg {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_buf_alloc {};\n\nstruct trace_event_data_offsets_rpc_call_rpcerror {};\n\nstruct trace_event_data_offsets_rpc_clnt_class {};\n\nstruct trace_event_data_offsets_rpc_clnt_clone_err {};\n\nstruct trace_event_data_offsets_rpc_clnt_new {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_clnt_new_err {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 server;\n\tconst void *server_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_failure {};\n\nstruct trace_event_data_offsets_rpc_reply_event {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n\tu32 servername;\n\tconst void *servername_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_request {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_socket_nospace {};\n\nstruct trace_event_data_offsets_rpc_stats_latency {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_task_queued {\n\tu32 q_name;\n\tconst void *q_name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_task_running {};\n\nstruct trace_event_data_offsets_rpc_task_status {};\n\nstruct trace_event_data_offsets_rpc_tls_class {\n\tu32 servername;\n\tconst void *servername_ptr_;\n\tu32 progname;\n\tconst void *progname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xdr_alignment {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xdr_buf_class {};\n\nstruct trace_event_data_offsets_rpc_xdr_overflow {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xprt_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xprt_lifetime_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_getport {\n\tu32 servername;\n\tconst void *servername_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_register {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_setport {};\n\nstruct trace_event_data_offsets_rpcb_unregister {\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_bad_seqno {};\n\nstruct trace_event_data_offsets_rpcgss_context {\n\tu32 acceptor;\n\tconst void *acceptor_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_createauth {};\n\nstruct trace_event_data_offsets_rpcgss_ctx_class {\n\tu32 principal;\n\tconst void *principal_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_gssapi_event {};\n\nstruct trace_event_data_offsets_rpcgss_import_ctx {};\n\nstruct trace_event_data_offsets_rpcgss_need_reencode {};\n\nstruct trace_event_data_offsets_rpcgss_oid_to_mech {\n\tu32 oid;\n\tconst void *oid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_seqno {};\n\nstruct trace_event_data_offsets_rpcgss_svc_accept_upcall {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_authenticate {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_gssapi_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_bad {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_class {};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_low {};\n\nstruct trace_event_data_offsets_rpcgss_svc_unwrap_failed {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_wrap_failed {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_unwrap_failed {};\n\nstruct trace_event_data_offsets_rpcgss_upcall_msg {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_upcall_result {};\n\nstruct trace_event_data_offsets_rpcgss_update_slack {};\n\nstruct trace_event_data_offsets_rpm_internal {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpm_return_int {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpm_status {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rseq_ip_fixup {};\n\nstruct trace_event_data_offsets_rseq_update {};\n\nstruct trace_event_data_offsets_rss_stat {};\n\nstruct trace_event_data_offsets_rtas_input {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 inputs;\n\tconst void *inputs_ptr_;\n};\n\nstruct trace_event_data_offsets_rtas_output {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 other_outputs;\n\tconst void *other_outputs_ptr_;\n};\n\nstruct trace_event_data_offsets_rtas_parameter_block {};\n\nstruct trace_event_data_offsets_rtc_alarm_irq_enable {};\n\nstruct trace_event_data_offsets_rtc_irq_set_freq {};\n\nstruct trace_event_data_offsets_rtc_irq_set_state {};\n\nstruct trace_event_data_offsets_rtc_offset_class {};\n\nstruct trace_event_data_offsets_rtc_time_alarm_class {};\n\nstruct trace_event_data_offsets_rtc_timer_class {};\n\nstruct trace_event_data_offsets_sched_kthread_stop {};\n\nstruct trace_event_data_offsets_sched_kthread_stop_ret {};\n\nstruct trace_event_data_offsets_sched_kthread_work_execute_end {};\n\nstruct trace_event_data_offsets_sched_kthread_work_execute_start {};\n\nstruct trace_event_data_offsets_sched_kthread_work_queue_work {};\n\nstruct trace_event_data_offsets_sched_migrate_task {};\n\nstruct trace_event_data_offsets_sched_move_numa {};\n\nstruct trace_event_data_offsets_sched_numa_pair_template {};\n\nstruct trace_event_data_offsets_sched_pi_setprio {};\n\nstruct trace_event_data_offsets_sched_prepare_exec {\n\tu32 interp;\n\tconst void *interp_ptr_;\n\tu32 filename;\n\tconst void *filename_ptr_;\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_sched_process_exec {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_sched_process_fork {};\n\nstruct trace_event_data_offsets_sched_process_hang {};\n\nstruct trace_event_data_offsets_sched_process_template {};\n\nstruct trace_event_data_offsets_sched_process_wait {};\n\nstruct trace_event_data_offsets_sched_skip_vma_numa {};\n\nstruct trace_event_data_offsets_sched_stat_runtime {};\n\nstruct trace_event_data_offsets_sched_stat_template {};\n\nstruct trace_event_data_offsets_sched_switch {};\n\nstruct trace_event_data_offsets_sched_wake_idle_without_ipi {};\n\nstruct trace_event_data_offsets_sched_wakeup_template {};\n\nstruct trace_event_data_offsets_scsi_cmd_done_timeout_template {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_dispatch_cmd_error {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_dispatch_cmd_start {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_eh_wakeup {};\n\nstruct trace_event_data_offsets_selinux_audited {\n\tu32 scontext;\n\tconst void *scontext_ptr_;\n\tu32 tcontext;\n\tconst void *tcontext_ptr_;\n\tu32 tclass;\n\tconst void *tclass_ptr_;\n};\n\nstruct trace_event_data_offsets_signal_deliver {};\n\nstruct trace_event_data_offsets_signal_generate {};\n\nstruct trace_event_data_offsets_sk_data_ready {};\n\nstruct trace_event_data_offsets_skb_copy_datagram_iovec {};\n\nstruct trace_event_data_offsets_skip_task_reaping {};\n\nstruct trace_event_data_offsets_smbus_read {};\n\nstruct trace_event_data_offsets_smbus_reply {};\n\nstruct trace_event_data_offsets_smbus_result {};\n\nstruct trace_event_data_offsets_smbus_write {};\n\nstruct trace_event_data_offsets_sock_exceed_buf_limit {};\n\nstruct trace_event_data_offsets_sock_msg_length {};\n\nstruct trace_event_data_offsets_sock_rcvqueue_full {};\n\nstruct trace_event_data_offsets_softirq {};\n\nstruct trace_event_data_offsets_start_task_reaping {};\n\nstruct trace_event_data_offsets_suspend_resume {};\n\nstruct trace_event_data_offsets_svc_alloc_arg_err {};\n\nstruct trace_event_data_offsets_svc_authenticate {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_deferred_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_process {\n\tu32 service;\n\tconst void *service_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_replace_page_err {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_rqst_event {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_rqst_status {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_stats_latency {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_unregister {\n\tu32 program;\n\tconst void *program_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_wake_up {};\n\nstruct trace_event_data_offsets_svc_xdr_buf_class {};\n\nstruct trace_event_data_offsets_svc_xdr_msg_class {};\n\nstruct trace_event_data_offsets_svc_xprt_accept {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n\tu32 protocol;\n\tconst void *protocol_ptr_;\n\tu32 service;\n\tconst void *service_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_create_err {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 protocol;\n\tconst void *protocol_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_dequeue {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_enqueue {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_event {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_accept_class {\n\tu32 service;\n\tconst void *service_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_lifetime_class {};\n\nstruct trace_event_data_offsets_svcsock_marker {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_tcp_recv_short {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_tcp_state {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_swiotlb_bounced {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_sys_enter {};\n\nstruct trace_event_data_offsets_sys_exit {};\n\nstruct trace_event_data_offsets_task_newtask {};\n\nstruct trace_event_data_offsets_task_prctl_unknown {};\n\nstruct trace_event_data_offsets_task_rename {};\n\nstruct trace_event_data_offsets_tasklet {};\n\nstruct trace_event_data_offsets_tcp_ao_event {};\n\nstruct trace_event_data_offsets_tcp_ao_event_sk {};\n\nstruct trace_event_data_offsets_tcp_ao_event_sne {};\n\nstruct trace_event_data_offsets_tcp_cong_state_set {};\n\nstruct trace_event_data_offsets_tcp_event_sk {};\n\nstruct trace_event_data_offsets_tcp_event_sk_skb {};\n\nstruct trace_event_data_offsets_tcp_event_skb {};\n\nstruct trace_event_data_offsets_tcp_hash_event {};\n\nstruct trace_event_data_offsets_tcp_probe {};\n\nstruct trace_event_data_offsets_tcp_retransmit_synack {};\n\nstruct trace_event_data_offsets_tcp_send_reset {};\n\nstruct trace_event_data_offsets_test_pages_isolated {};\n\nstruct trace_event_data_offsets_tick_stop {};\n\nstruct trace_event_data_offsets_timer_base_idle {};\n\nstruct trace_event_data_offsets_timer_class {};\n\nstruct trace_event_data_offsets_timer_expire_entry {};\n\nstruct trace_event_data_offsets_timer_start {};\n\nstruct trace_event_data_offsets_tlb_flush {};\n\nstruct trace_event_data_offsets_tlbia {};\n\nstruct trace_event_data_offsets_tlbie {};\n\nstruct trace_event_data_offsets_tls_contenttype {};\n\nstruct trace_event_data_offsets_tmigr_connect_child_parent {};\n\nstruct trace_event_data_offsets_tmigr_connect_cpu_parent {};\n\nstruct trace_event_data_offsets_tmigr_cpugroup {};\n\nstruct trace_event_data_offsets_tmigr_group_and_cpu {};\n\nstruct trace_event_data_offsets_tmigr_group_set {};\n\nstruct trace_event_data_offsets_tmigr_handle_remote {};\n\nstruct trace_event_data_offsets_tmigr_idle {};\n\nstruct trace_event_data_offsets_tmigr_update_events {};\n\nstruct trace_event_data_offsets_track_foreign_dirty {};\n\nstruct trace_event_data_offsets_udp_fail_queue_rcv_skb {};\n\nstruct trace_event_data_offsets_unmap {};\n\nstruct trace_event_data_offsets_vas_paste_crb {};\n\nstruct trace_event_data_offsets_vas_rx_win_open {};\n\nstruct trace_event_data_offsets_vas_tx_win_open {};\n\nstruct trace_event_data_offsets_vm_unmapped_area {};\n\nstruct trace_event_data_offsets_vma_mas_szero {};\n\nstruct trace_event_data_offsets_vma_store {};\n\nstruct trace_event_data_offsets_wake_reaper {};\n\nstruct trace_event_data_offsets_wakeup_source {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_wbc_class {};\n\nstruct trace_event_data_offsets_workqueue_activate_work {};\n\nstruct trace_event_data_offsets_workqueue_execute_end {};\n\nstruct trace_event_data_offsets_workqueue_execute_start {};\n\nstruct trace_event_data_offsets_workqueue_queue_work {\n\tu32 workqueue;\n\tconst void *workqueue_ptr_;\n};\n\nstruct trace_event_data_offsets_writeback_bdi_register {};\n\nstruct trace_event_data_offsets_writeback_class {};\n\nstruct trace_event_data_offsets_writeback_dirty_inode_template {};\n\nstruct trace_event_data_offsets_writeback_folio_template {};\n\nstruct trace_event_data_offsets_writeback_inode_template {};\n\nstruct trace_event_data_offsets_writeback_pages_written {};\n\nstruct trace_event_data_offsets_writeback_queue_io {};\n\nstruct trace_event_data_offsets_writeback_sb_inodes_requeue {};\n\nstruct trace_event_data_offsets_writeback_single_inode_template {};\n\nstruct trace_event_data_offsets_writeback_work_class {};\n\nstruct trace_event_data_offsets_writeback_write_inode_template {};\n\nstruct trace_event_data_offsets_xdp_bulk_tx {};\n\nstruct trace_event_data_offsets_xdp_cpumap_enqueue {};\n\nstruct trace_event_data_offsets_xdp_cpumap_kthread {};\n\nstruct trace_event_data_offsets_xdp_devmap_xmit {};\n\nstruct trace_event_data_offsets_xdp_exception {};\n\nstruct trace_event_data_offsets_xdp_redirect_template {};\n\nstruct trace_event_data_offsets_xfs_ag_class {};\n\nstruct trace_event_data_offsets_xfs_ag_inode_class {};\n\nstruct trace_event_data_offsets_xfs_ag_resv_class {};\n\nstruct trace_event_data_offsets_xfs_ag_resv_init_error {};\n\nstruct trace_event_data_offsets_xfs_agf_class {};\n\nstruct trace_event_data_offsets_xfs_ail_class {};\n\nstruct trace_event_data_offsets_xfs_alloc_class {};\n\nstruct trace_event_data_offsets_xfs_alloc_cur_check {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_attr_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_attr_list_class {};\n\nstruct trace_event_data_offsets_xfs_attr_list_node_descend {};\n\nstruct trace_event_data_offsets_xfs_bmap_class {};\n\nstruct trace_event_data_offsets_xfs_bmap_deferred_class {};\n\nstruct trace_event_data_offsets_xfs_btree_alloc_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_bload_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_bload_level_geometry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_commit_afakeroot {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_commit_ifakeroot {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_cur_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_btree_error_class {};\n\nstruct trace_event_data_offsets_xfs_btree_free_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_buf_class {};\n\nstruct trace_event_data_offsets_xfs_buf_flags_class {};\n\nstruct trace_event_data_offsets_xfs_buf_ioerror {};\n\nstruct trace_event_data_offsets_xfs_buf_item_class {};\n\nstruct trace_event_data_offsets_xfs_bunmap {};\n\nstruct trace_event_data_offsets_xfs_check_new_dalign {};\n\nstruct trace_event_data_offsets_xfs_da_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_das_state_class {};\n\nstruct trace_event_data_offsets_xfs_defer_class {};\n\nstruct trace_event_data_offsets_xfs_defer_error_class {};\n\nstruct trace_event_data_offsets_xfs_defer_pending_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_defer_pending_item_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_dir2_leafn_moveents {};\n\nstruct trace_event_data_offsets_xfs_dir2_space_class {};\n\nstruct trace_event_data_offsets_xfs_discard_class {};\n\nstruct trace_event_data_offsets_xfs_double_io_class {};\n\nstruct trace_event_data_offsets_xfs_dqtrx_class {};\n\nstruct trace_event_data_offsets_xfs_dquot_class {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_delta_nextents {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_delta_nextents_step {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_estimate_class {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_intent_class {};\n\nstruct trace_event_data_offsets_xfs_exchmaps_overhead {};\n\nstruct trace_event_data_offsets_xfs_exchrange_class {};\n\nstruct trace_event_data_offsets_xfs_exchrange_freshness {};\n\nstruct trace_event_data_offsets_xfs_exchrange_inode_class {};\n\nstruct trace_event_data_offsets_xfs_extent_busy_class {};\n\nstruct trace_event_data_offsets_xfs_extent_busy_trim {};\n\nstruct trace_event_data_offsets_xfs_fault_class {};\n\nstruct trace_event_data_offsets_xfs_file_class {};\n\nstruct trace_event_data_offsets_xfs_filestream_class {};\n\nstruct trace_event_data_offsets_xfs_filestream_pick {};\n\nstruct trace_event_data_offsets_xfs_force_shutdown {\n\tu32 fname;\n\tconst void *fname_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_free_extent {};\n\nstruct trace_event_data_offsets_xfs_free_extent_deferred_class {};\n\nstruct trace_event_data_offsets_xfs_fs_class {};\n\nstruct trace_event_data_offsets_xfs_fs_corrupt_class {};\n\nstruct trace_event_data_offsets_xfs_fsmap_group_key_class {};\n\nstruct trace_event_data_offsets_xfs_fsmap_linear_key_class {};\n\nstruct trace_event_data_offsets_xfs_fsmap_mapping {};\n\nstruct trace_event_data_offsets_xfs_getfsmap_class {};\n\nstruct trace_event_data_offsets_xfs_getparents_class {};\n\nstruct trace_event_data_offsets_xfs_getparents_rec_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_group_class {};\n\nstruct trace_event_data_offsets_xfs_group_corrupt_class {};\n\nstruct trace_event_data_offsets_xfs_icwalk_class {};\n\nstruct trace_event_data_offsets_xfs_imap_class {};\n\nstruct trace_event_data_offsets_xfs_inode_class {};\n\nstruct trace_event_data_offsets_xfs_inode_corrupt_class {};\n\nstruct trace_event_data_offsets_xfs_inode_error_class {};\n\nstruct trace_event_data_offsets_xfs_inode_irec_class {};\n\nstruct trace_event_data_offsets_xfs_inode_reload_unlinked_bucket {};\n\nstruct trace_event_data_offsets_xfs_inodegc_shrinker_scan {};\n\nstruct trace_event_data_offsets_xfs_inodegc_worker {};\n\nstruct trace_event_data_offsets_xfs_ioctl_clone {};\n\nstruct trace_event_data_offsets_xfs_iomap_invalid_class {};\n\nstruct trace_event_data_offsets_xfs_iomap_prealloc_size {};\n\nstruct trace_event_data_offsets_xfs_irec_merge_post {};\n\nstruct trace_event_data_offsets_xfs_irec_merge_pre {};\n\nstruct trace_event_data_offsets_xfs_iref_class {};\n\nstruct trace_event_data_offsets_xfs_itrunc_class {};\n\nstruct trace_event_data_offsets_xfs_iunlink_reload_next {};\n\nstruct trace_event_data_offsets_xfs_iunlink_update_bucket {};\n\nstruct trace_event_data_offsets_xfs_iunlink_update_dinode {};\n\nstruct trace_event_data_offsets_xfs_iwalk_ag_rec {};\n\nstruct trace_event_data_offsets_xfs_lock_class {};\n\nstruct trace_event_data_offsets_xfs_log_assign_tail_lsn {};\n\nstruct trace_event_data_offsets_xfs_log_force {};\n\nstruct trace_event_data_offsets_xfs_log_get_max_trans_res {};\n\nstruct trace_event_data_offsets_xfs_log_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover {};\n\nstruct trace_event_data_offsets_xfs_log_recover_buf_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover_icreate_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover_ino_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover_item_class {};\n\nstruct trace_event_data_offsets_xfs_log_recover_record {};\n\nstruct trace_event_data_offsets_xfs_loggrant_class {};\n\nstruct trace_event_data_offsets_xfs_metadir_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_metadir_update_class {\n\tu32 fname;\n\tconst void *fname_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_metadir_update_error_class {\n\tu32 fname;\n\tconst void *fname_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_metafile_resv_class {};\n\nstruct trace_event_data_offsets_xfs_namespace_class {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_pagecache_inval {};\n\nstruct trace_event_data_offsets_xfs_perag_class {};\n\nstruct trace_event_data_offsets_xfs_pwork_init {};\n\nstruct trace_event_data_offsets_xfs_refcount_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_deferred_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_double_extent_at_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_double_extent_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_extent_at_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_extent_class {};\n\nstruct trace_event_data_offsets_xfs_refcount_lookup {};\n\nstruct trace_event_data_offsets_xfs_refcount_triple_extent_class {};\n\nstruct trace_event_data_offsets_xfs_reflink_remap_blocks {};\n\nstruct trace_event_data_offsets_xfs_rename {\n\tu32 src_name;\n\tconst void *src_name_ptr_;\n\tu32 target_name;\n\tconst void *target_name_ptr_;\n};\n\nstruct trace_event_data_offsets_xfs_rmap_class {};\n\nstruct trace_event_data_offsets_xfs_rmap_convert_state {};\n\nstruct trace_event_data_offsets_xfs_rmap_deferred_class {};\n\nstruct trace_event_data_offsets_xfs_rmapbt_class {};\n\nstruct trace_event_data_offsets_xfs_rtdiscard_class {};\n\nstruct trace_event_data_offsets_xfs_simple_io_class {};\n\nstruct trace_event_data_offsets_xfs_swap_extent_class {};\n\nstruct trace_event_data_offsets_xfs_timestamp_range_class {};\n\nstruct trace_event_data_offsets_xfs_trans_class {};\n\nstruct trace_event_data_offsets_xfs_trans_mod_dquot {};\n\nstruct trace_event_data_offsets_xfs_trans_resv_class {};\n\nstruct trace_event_data_offsets_xfs_wb_invalid_class {};\n\nstruct trace_event_data_offsets_xlog_iclog_class {};\n\nstruct trace_event_data_offsets_xlog_intent_recovery_failed {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_cong_event {};\n\nstruct trace_event_data_offsets_xprt_ping {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_reserve {};\n\nstruct trace_event_data_offsets_xprt_retransmit {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_transmit {};\n\nstruct trace_event_data_offsets_xprt_writelock_event {};\n\nstruct trace_event_data_offsets_xs_data_ready {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xs_socket_event {};\n\nstruct trace_event_data_offsets_xs_socket_event_done {};\n\nstruct trace_event_data_offsets_xs_stream_read_data {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xs_stream_read_request {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_fields {\n\tconst char *type;\n\tunion {\n\t\tstruct {\n\t\t\tconst char *name;\n\t\t\tconst int size;\n\t\t\tconst int align;\n\t\t\tconst unsigned int is_signed: 1;\n\t\t\tunsigned int needs_test: 1;\n\t\t\tconst int filter_type;\n\t\t\tconst int len;\n\t\t};\n\t\tint (*define_fields)(struct trace_event_call *);\n\t};\n};\n\nstruct trace_subsystem_dir;\n\nstruct trace_event_file {\n\tstruct list_head list;\n\tstruct trace_event_call *event_call;\n\tstruct event_filter *filter;\n\tstruct eventfs_inode *ei;\n\tstruct trace_array *tr;\n\tstruct trace_subsystem_dir *system;\n\tstruct list_head triggers;\n\tlong unsigned int flags;\n\trefcount_t ref;\n\tatomic_t sm_ref;\n\tatomic_t tm_ref;\n};\n\ntypedef enum print_line_t (*trace_print_func)(struct trace_iterator *, int, struct trace_event *);\n\nstruct trace_event_functions {\n\ttrace_print_func trace;\n\ttrace_print_func raw;\n\ttrace_print_func hex;\n\ttrace_print_func binary;\n};\n\nstruct trace_event_raw_aer_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu32 status;\n\tu8 severity;\n\tu8 tlp_header_valid;\n\tu32 tlp_header[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alarm_class {\n\tstruct trace_entry ent;\n\tvoid *alarm;\n\tunsigned char alarm_type;\n\ts64 expires;\n\ts64 now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alarmtimer_suspend {\n\tstruct trace_entry ent;\n\ts64 expires;\n\tunsigned char alarm_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alloc_vmap_area {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int size;\n\tlong unsigned int align;\n\tlong unsigned int vstart;\n\tlong unsigned int vend;\n\tint failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_arm_event {\n\tstruct trace_entry ent;\n\tu64 mpidr;\n\tu64 midr;\n\tu32 running_state;\n\tu32 psci_state;\n\tu8 affinity;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_bmdma_status {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int tag;\n\tunsigned char host_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_action_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int eh_action;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_link_autopsy {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int eh_action;\n\tunsigned int eh_err_mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_link_autopsy_qc {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int qc_flags;\n\tunsigned int eh_err_mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_exec_command_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int tag;\n\tunsigned char cmd;\n\tunsigned char feature;\n\tunsigned char hob_nsect;\n\tunsigned char proto;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_link_reset_begin_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int class[2];\n\tlong unsigned int deadline;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_link_reset_end_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int class[2];\n\tint rc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_port_eh_begin_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_qc_complete_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned char status;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char error;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char ctl;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_qc_issue_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned char cmd;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char feature;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char ctl;\n\tunsigned char proto;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_sff_hsm_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int qc_flags;\n\tunsigned int protocol;\n\tunsigned int hsm_state;\n\tunsigned char dev_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_sff_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned char hsm_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_tf_load {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned char cmd;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char feature;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char proto;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_transfer_data_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int flags;\n\tunsigned int offset;\n\tunsigned int bytes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_balance_dirty_pages {\n\tstruct trace_entry ent;\n\tchar bdi[32];\n\tlong unsigned int limit;\n\tlong unsigned int setpoint;\n\tlong unsigned int dirty;\n\tlong unsigned int bdi_setpoint;\n\tlong unsigned int bdi_dirty;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int task_ratelimit;\n\tunsigned int dirtied;\n\tunsigned int dirtied_pause;\n\tlong unsigned int paused;\n\tlong int pause;\n\tlong unsigned int period;\n\tlong int think;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bdi_dirty_ratelimit {\n\tstruct trace_entry ent;\n\tchar bdi[32];\n\tlong unsigned int write_bw;\n\tlong unsigned int avg_write_bw;\n\tlong unsigned int dirty_rate;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int task_ratelimit;\n\tlong unsigned int balanced_dirty_ratelimit;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tchar rwbs[8];\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio_complete {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tint error;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio_remap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tdev_t old_dev;\n\tsector_t old_sector;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_buffer {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_plug {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tunsigned int bytes;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tchar comm[16];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_completion {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tint error;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_remap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tdev_t old_dev;\n\tsector_t old_sector;\n\tunsigned int nr_bios;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_requeue {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_split {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tsector_t new_sector;\n\tchar rwbs[8];\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_unplug {\n\tstruct trace_entry ent;\n\tint nr_rq;\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_test_finish {\n\tstruct trace_entry ent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_trace_printk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bpf_string;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_trigger_tp {\n\tstruct trace_entry ent;\n\tint nonce;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_xdp_link_attach_failed {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_add {\n\tstruct trace_entry ent;\n\tu8 ndm_flags;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tu16 nlh_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_external_learn_add {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_mdb_full {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tint af;\n\tu16 vid;\n\t__u8 src[16];\n\t__u8 grp[16];\n\t__u8 grpmac[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cache_event {\n\tstruct trace_entry ent;\n\tconst struct cache_head *h;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cap_capable {\n\tstruct trace_entry ent;\n\tconst struct cred *cred;\n\tstruct user_namespace *target_ns;\n\tconst struct user_namespace *capable_ns;\n\tint cap;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_event {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tu32 __data_loc_path;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_migrate {\n\tstruct trace_entry ent;\n\tint dst_root;\n\tint dst_level;\n\tu64 dst_id;\n\tint pid;\n\tu32 __data_loc_dst_path;\n\tu32 __data_loc_comm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_root {\n\tstruct trace_entry ent;\n\tint root;\n\tu16 ss_mask;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_rstat {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tint cpu;\n\tbool contended;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clock {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tu64 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_busy_retry {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tunsigned int align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_finish {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tunsigned int align;\n\tint errorno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_alloc_start {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int count;\n\tunsigned int align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cma_release {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int pfn;\n\tconst struct page *page;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_compact_retry {\n\tstruct trace_entry ent;\n\tint order;\n\tint priority;\n\tint result;\n\tint retries;\n\tint max_retries;\n\tbool ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_console {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_consume_skb {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tvoid *location;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_contention_begin {\n\tstruct trace_entry ent;\n\tvoid *lock_addr;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_contention_end {\n\tstruct trace_entry ent;\n\tvoid *lock_addr;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_context_tracking_user {\n\tstruct trace_entry ent;\n\tint dummy;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu {\n\tstruct trace_entry ent;\n\tu32 state;\n\tu32 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_frequency_limits {\n\tstruct trace_entry ent;\n\tu32 min_freq;\n\tu32 max_freq;\n\tu32 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_idle_miss {\n\tstruct trace_entry ent;\n\tu32 cpu_id;\n\tu32 state;\n\tbool below;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_latency_qos_request {\n\tstruct trace_entry ent;\n\ts32 value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_enter {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint target;\n\tint idx;\n\tvoid *fun;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_exit {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint state;\n\tint idx;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_multi_enter {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint target;\n\tint idx;\n\tvoid *fun;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_csd_function {\n\tstruct trace_entry ent;\n\tvoid *func;\n\tvoid *csd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_csd_queue_cpu {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tvoid *callsite;\n\tvoid *func;\n\tvoid *csd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ctime {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\ttime64_t ctime_s;\n\tu32 ctime_ns;\n\tu32 gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ctime_ns_xchg {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tu32 gen;\n\tu32 old;\n\tu32 new;\n\tu32 cur;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dax_insert_mapping {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tlong unsigned int vm_flags;\n\tlong unsigned int address;\n\tvoid *radix_entry;\n\tdev_t dev;\n\tint write;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dax_pmd_fault_class {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tlong unsigned int vm_start;\n\tlong unsigned int vm_end;\n\tlong unsigned int vm_flags;\n\tlong unsigned int address;\n\tlong unsigned int pgoff;\n\tlong unsigned int max_pgoff;\n\tdev_t dev;\n\tunsigned int flags;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dax_pmd_insert_mapping_class {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tlong unsigned int vm_flags;\n\tlong unsigned int address;\n\tlong int length;\n\tu64 pfn_val;\n\tvoid *radix_entry;\n\tdev_t dev;\n\tint write;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dax_pmd_load_hole_class {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tlong unsigned int vm_flags;\n\tlong unsigned int address;\n\tstruct folio *zero_folio;\n\tvoid *radix_entry;\n\tdev_t dev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dax_pte_fault_class {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tlong unsigned int vm_flags;\n\tlong unsigned int address;\n\tlong unsigned int pgoff;\n\tdev_t dev;\n\tunsigned int flags;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dax_writeback_one {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tlong unsigned int pgoff;\n\tlong unsigned int pglen;\n\tdev_t dev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dax_writeback_range_class {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tlong unsigned int start_index;\n\tlong unsigned int end_index;\n\tdev_t dev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dev_pm_qos_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tenum dev_pm_qos_req_type type;\n\ts32 new_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_device_pm_callback_end {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_device_pm_callback_start {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tu32 __data_loc_parent;\n\tu32 __data_loc_pm_ops;\n\tint event;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_health_recover_aborted {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tu32 __data_loc_reporter_name;\n\tbool health_state;\n\tu64 time_since_last_recover;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_health_report {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tu32 __data_loc_reporter_name;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_health_reporter_state_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tu32 __data_loc_reporter_name;\n\tu8 new_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_hwerr {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tint err;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_hwmsg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tbool incoming;\n\tlong unsigned int type;\n\tu32 __data_loc_buf;\n\tsize_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devlink_trap_report {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bus_name;\n\tu32 __data_loc_dev_name;\n\tu32 __data_loc_driver_name;\n\tu32 __data_loc_trap_name;\n\tu32 __data_loc_trap_group_name;\n\tchar input_dev_name[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devres {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tstruct device *dev;\n\tconst char *op;\n\tvoid *node;\n\tu32 __data_loc_name;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_alloc_class {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tvoid *virt_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tgfp_t flags;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_alloc_sgt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tgfp_t flags;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_fence {\n\tstruct trace_entry ent;\n\tu32 __data_loc_driver;\n\tu32 __data_loc_timeline;\n\tunsigned int context;\n\tunsigned int seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_free_class {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tvoid *virt_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_free_sgt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 phys_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu32 __data_loc_dma_addrs;\n\tu32 __data_loc_lengths;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map_sg_err {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tint err;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_sync_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_dma_addrs;\n\tu32 __data_loc_lengths;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_sync_single {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_unmap {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_unmap_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_addrs;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dql_stall_detected {\n\tstruct trace_entry ent;\n\tshort unsigned int thrs;\n\tunsigned int len;\n\tlong unsigned int last_reap;\n\tlong unsigned int hist_head;\n\tlong unsigned int now;\n\tlong unsigned int hist[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_e1000e_trace_mac_register {\n\tstruct trace_entry ent;\n\tuint32_t reg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_error_report_template {\n\tstruct trace_entry ent;\n\tenum error_detector error_detector;\n\tlong unsigned int id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_exit_mmap {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tstruct maple_tree *mt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__bitmap_load {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__es_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__es_shrink_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_to_scan;\n\tint cache_cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__fallocate_mode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tint mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__folio_op {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__map_blocks_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tunsigned int len;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__map_blocks_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int flags;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tunsigned int len;\n\tunsigned int mflags;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__mb_new_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 pa_pstart;\n\t__u64 pa_lstart;\n\t__u32 pa_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__mballoc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__trim {\n\tstruct trace_entry ent;\n\tint dev_major;\n\tint dev_minor;\n\t__u32 group;\n\tint start;\n\tint len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__truncate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__write_begin {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__write_end {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int len;\n\tunsigned int copied;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_alloc_da_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int data_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_allocate_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tunsigned int len;\n\t__u32 logical;\n\t__u32 lleft;\n\t__u32 lright;\n\t__u64 goal;\n\t__u64 pleft;\n\t__u64 pright;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_allocate_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_begin_ordered_truncate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_collapse_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_release_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint freed_blocks;\n\tint reserved_data_blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_reserve_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint reserve_blocks;\n\tint reserved_data_blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_update_reserve_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint used_blocks;\n\tint reserved_data_blocks;\n\tint quota_claim;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_write_pages {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int first_page;\n\tlong int nr_to_write;\n\tint sync_mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_write_pages_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 lblk;\n\t__u32 len;\n\t__u32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_discard_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u64 blk;\n\t__u64 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_discard_preallocations {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_drop_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint drop;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tconst char *function;\n\tunsigned int line;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_find_extent_range_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_find_extent_range_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_insert_delayed_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tbool lclu_allocated;\n\tbool end_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_lookup_extent_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_lookup_extent_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tint found;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_remove_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t lblk;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_shrink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_shrunk;\n\tlong long unsigned int scan_time;\n\tint nr_skipped;\n\tint retried;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_shrink_scan_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_shrunk;\n\tint cache_cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_evict_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint nlink;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_convert_to_initialized_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\text4_lblk_t u_lblk;\n\tunsigned int u_len;\n\text4_fsblk_t u_pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_convert_to_initialized_fastpath {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\text4_lblk_t u_lblk;\n\tunsigned int u_len;\n\text4_fsblk_t u_pblk;\n\text4_lblk_t i_lblk;\n\tunsigned int i_len;\n\text4_fsblk_t i_pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_handle_unwritten_extents {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint flags;\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tunsigned int len;\n\tunsigned int allocated;\n\text4_fsblk_t newblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_load_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_remove_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t end;\n\tint depth;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_remove_space_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t end;\n\tint depth;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tshort unsigned int eh_entries;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_rm_idx {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_rm_leaf {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t ee_lblk;\n\text4_fsblk_t ee_pblk;\n\tshort int ee_len;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_show_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tshort unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fallocate_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int blocks;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_cleanup {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint j_fc_off;\n\tint full;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_commit_start {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_commit_stop {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nblks;\n\tint reason;\n\tint num_fc;\n\tint num_fc_ineligible;\n\tint nblks_agg;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_replay {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint tag;\n\tint ino;\n\tint priv1;\n\tint priv2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_replay_scan {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint error;\n\tint off;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int fc_ineligible_rc[10];\n\tlong unsigned int fc_commits;\n\tlong unsigned int fc_ineligible_commits;\n\tlong unsigned int fc_numblks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_dentry {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tlong int start;\n\tlong int end;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_forget {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tint is_metadata;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_free_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tlong unsigned int count;\n\tint flags;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_free_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tuid_t uid;\n\tgid_t gid;\n\t__u64 blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\tu32 agno;\n\tu64 bno;\n\tu64 len;\n\tu64 owner;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_get_implied_cluster_alloc_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tunsigned int len;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_getfsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\tu64 block;\n\tu64 len;\n\tu64 owner;\n\tu64 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_insert_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_invalidate_folio_op {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int index;\n\tsize_t offset;\n\tsize_t length;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_inode {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tint rsv_blocks;\n\tint revoke_creds;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_reserved {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_sb {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tint rsv_blocks;\n\tint revoke_creds;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_lazy_itable_init {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_load_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mark_inode_dirty {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_discard_preallocations {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint needed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_release_group_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u64 pa_pstart;\n\t__u32 pa_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_release_inode_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\t__u32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mballoc_alloc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u32 orig_logical;\n\tint orig_start;\n\t__u32 orig_group;\n\tint orig_len;\n\t__u32 goal_logical;\n\tint goal_start;\n\t__u32 goal_group;\n\tint goal_len;\n\t__u32 result_logical;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\t__u16 found;\n\t__u16 groups;\n\t__u16 buddy;\n\t__u16 flags;\n\t__u16 tail;\n\t__u8 cr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mballoc_prealloc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u32 orig_logical;\n\tint orig_start;\n\t__u32 orig_group;\n\tint orig_len;\n\t__u32 result_logical;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_nfs_commit_metadata {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_other_inode_update_time {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t orig_ino;\n\tuid_t uid;\n\tgid_t gid;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_prefetch_bitmaps {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\t__u32 next;\n\t__u32 ios;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_read_block_bitmap_load {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tbool prefetch;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_remove_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t from;\n\text4_lblk_t to;\n\text4_fsblk_t ee_pblk;\n\text4_lblk_t ee_lblk;\n\tshort unsigned int ee_len;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_request_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int len;\n\t__u32 logical;\n\t__u32 lleft;\n\t__u32 lright;\n\t__u64 goal;\n\t__u64 pleft;\n\t__u64 pright;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_request_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_shutdown {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_file_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t parent;\n\tint datasync;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_file_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_fs {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_unlink_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t parent;\n\tloff_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_unlink_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_update_sb {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\text4_fsblk_t fsblk;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_writepages {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tlong unsigned int writeback_index;\n\tint sync_mode;\n\tchar for_kupdate;\n\tchar range_cyclic;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_writepages_result {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tint pages_written;\n\tlong int pages_skipped;\n\tlong unsigned int writeback_index;\n\tint sync_mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fdb_delete {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fib6_table_lookup {\n\tstruct trace_entry ent;\n\tu32 tb_id;\n\tint err;\n\tint oif;\n\tint iif;\n\tu32 flowlabel;\n\t__u8 tos;\n\t__u8 scope;\n\t__u8 flags;\n\t__u8 src[16];\n\t__u8 dst[16];\n\tu16 sport;\n\tu16 dport;\n\tu8 proto;\n\tu8 rt_type;\n\tchar name[16];\n\t__u8 gw[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fib_table_lookup {\n\tstruct trace_entry ent;\n\tu32 tb_id;\n\tint err;\n\tint oif;\n\tint iif;\n\tu8 proto;\n\t__u8 tos;\n\t__u8 scope;\n\t__u8 flags;\n\t__u8 src[4];\n\t__u8 dst[4];\n\t__u8 gw4[4];\n\t__u8 gw6[16];\n\tu16 sport;\n\tu16 dport;\n\tchar name[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_file_check_and_advance_wb_err {\n\tstruct trace_entry ent;\n\tstruct file *file;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\terrseq_t old;\n\terrseq_t new;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filelock_lease {\n\tstruct trace_entry ent;\n\tstruct file_lease *fl;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tstruct file_lock_core *blocker;\n\tfl_owner_t owner;\n\tunsigned int flags;\n\tunsigned char type;\n\tlong unsigned int break_time;\n\tlong unsigned int downgrade_time;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filelock_lock {\n\tstruct trace_entry ent;\n\tstruct file_lock *fl;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tstruct file_lock_core *blocker;\n\tfl_owner_t owner;\n\tunsigned int pid;\n\tunsigned int flags;\n\tunsigned char type;\n\tloff_t fl_start;\n\tloff_t fl_end;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filemap_set_wb_err {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\terrseq_t errseq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fill_mg_cmtime {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\ttime64_t ctime_s;\n\ttime64_t mtime_s;\n\tu32 ctime_ns;\n\tu32 mtime_ns;\n\tu32 gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_finish_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_flush_foreign {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t cgroup_ino;\n\tunsigned int frn_bdi_id;\n\tunsigned int frn_memcg_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_free_vmap_area_noflush {\n\tstruct trace_entry ent;\n\tlong unsigned int va_start;\n\tlong unsigned int nr_lazy;\n\tlong unsigned int nr_lazy_max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_generic_add_lease {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tint wcount;\n\tint rcount;\n\tint icount;\n\tdev_t s_dev;\n\tfl_owner_t owner;\n\tunsigned int flags;\n\tunsigned char type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_global_dirty_state {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int background_thresh;\n\tlong unsigned int dirty_thresh;\n\tlong unsigned int dirty_limit;\n\tlong unsigned int nr_dirtied;\n\tlong unsigned int nr_written;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_guest_halt_poll_ns {\n\tstruct trace_entry ent;\n\tbool grow;\n\tunsigned int new;\n\tunsigned int old;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_alert_class {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tunsigned int netns_ino;\n\tlong unsigned int level;\n\tlong unsigned int description;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_complete {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint status;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_error_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint err;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_event_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_fd_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint fd;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hash_fault {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int access;\n\tlong unsigned int trap;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hcall_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int opcode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hcall_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int opcode;\n\tlong int retval;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_class {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_expire_entry {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\ts64 now;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_init {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tclockid_t clockid;\n\tenum hrtimer_mode mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_start {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tvoid *function;\n\ts64 expires;\n\ts64 softexpires;\n\tenum hrtimer_mode mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugepage_set {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugepage_update {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tlong unsigned int clr;\n\tlong unsigned int set;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs__inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u16 mode;\n\tloff_t size;\n\tunsigned int nlink;\n\tunsigned int seals;\n\tblkcnt_t blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_alloc_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_fallocate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint mode;\n\tloff_t offset;\n\tloff_t len;\n\tloff_t size;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_setattr {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int d_len;\n\tu32 __data_loc_d_name;\n\tunsigned int ia_valid;\n\tunsigned int ia_mode;\n\tloff_t old_size;\n\tloff_t ia_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hwmon_attr_class {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 __data_loc_attr_name;\n\tlong int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hwmon_attr_show_string {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 __data_loc_attr_name;\n\tu32 __data_loc_label;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_read {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_reply {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_result {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 nr_msgs;\n\t__s16 ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_write {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_icmp_send {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tint type;\n\tint code;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u16 sport;\n\t__u16 dport;\n\tshort unsigned int ulen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inet_sk_error_report {\n\tstruct trace_entry ent;\n\tint error;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u16 protocol;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inet_sock_set_state {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\tint oldstate;\n\tint newstate;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u16 protocol;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\ntypedef int (*initcall_t)(void);\n\nstruct trace_event_raw_initcall_finish {\n\tstruct trace_entry ent;\n\tinitcall_t func;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_initcall_level {\n\tstruct trace_entry ent;\n\tu32 __data_loc_level;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_initcall_start {\n\tstruct trace_entry ent;\n\tinitcall_t func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inode_foreign_history {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tino_t cgroup_ino;\n\tunsigned int history;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inode_switch_wbs {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tino_t old_cgroup_ino;\n\tino_t new_cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_complete {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tint res;\n\tunsigned int cflags;\n\tu64 extra1;\n\tu64 extra2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_cqe_overflow {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tlong long unsigned int user_data;\n\ts32 res;\n\tu32 cflags;\n\tvoid *ocqe;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_cqring_wait {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tint min_events;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_create {\n\tstruct trace_entry ent;\n\tint fd;\n\tvoid *ctx;\n\tu32 sq_entries;\n\tu32 cq_entries;\n\tu32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_defer {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int data;\n\tu8 opcode;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_fail_link {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tvoid *link;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_file_get {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tint fd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_link {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tvoid *target_req;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_local_work_run {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tint count;\n\tunsigned int loops;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_poll_arm {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tint mask;\n\tint events;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_queue_async_work {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tu8 opcode;\n\tlong long unsigned int flags;\n\tstruct io_wq_work *work;\n\tint rw;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_register {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tunsigned int opcode;\n\tunsigned int nr_files;\n\tunsigned int nr_bufs;\n\tlong int ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_req_failed {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tu8 flags;\n\tu8 ioprio;\n\tu64 off;\n\tu64 addr;\n\tu32 len;\n\tu32 op_flags;\n\tu16 buf_index;\n\tu16 personality;\n\tu32 file_index;\n\tu64 pad1;\n\tu64 addr3;\n\tint error;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_short_write {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tu64 fpos;\n\tu64 wanted;\n\tu64 got;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_submit_req {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tlong long unsigned int flags;\n\tbool sq_thread;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_task_add {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tint mask;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_task_work_run {\n\tstruct trace_entry ent;\n\tvoid *tctx;\n\tunsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tdev_t bdev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_dio_complete {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tint ki_flags;\n\tbool aio;\n\tint error;\n\tssize_t ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_dio_rw_begin {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tsize_t count;\n\tsize_t done_before;\n\tint ki_flags;\n\tunsigned int dio_flags;\n\tbool aio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_iter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tloff_t pos;\n\tu64 length;\n\ts64 processed;\n\tunsigned int flags;\n\tconst void *ops;\n\tlong unsigned int caller;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_range_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tloff_t size;\n\tloff_t offset;\n\tu64 length;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_readpage_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tint nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_writepage_map {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tu64 pos;\n\tu64 dirty_len;\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tdev_t bdev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_device_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_error {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tu64 iova;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_group_event {\n\tstruct trace_entry ent;\n\tint gid;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_handler {\n\tstruct trace_entry ent;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_raise {\n\tstruct trace_entry ent;\n\tu32 __data_loc_target_cpus;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_send_cpu {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tvoid *callsite;\n\tvoid *callback;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_send_cpumask {\n\tstruct trace_entry ent;\n\tu32 __data_loc_cpumask;\n\tvoid *callsite;\n\tvoid *callback;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_handler_entry {\n\tstruct trace_entry ent;\n\tint irq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_handler_exit {\n\tstruct trace_entry ent;\n\tint irq;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_itimer_expire {\n\tstruct trace_entry ent;\n\tint which;\n\tpid_t pid;\n\tlong long unsigned int now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_itimer_state {\n\tstruct trace_entry ent;\n\tint which;\n\tlong long unsigned int expires;\n\tlong int value_sec;\n\tlong int value_nsec;\n\tlong int interval_sec;\n\tlong int interval_nsec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_checkpoint {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_checkpoint_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tlong unsigned int chp_time;\n\t__u32 forced_to_close;\n\t__u32 written;\n\t__u32 dropped;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar sync_commit;\n\ttid_t transaction;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_end_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar sync_commit;\n\ttid_t transaction;\n\ttid_t head;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_extend {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint buffer_credits;\n\tint requested_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_start_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint requested_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint interval;\n\tint sync;\n\tint requested_blocks;\n\tint dirtied_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_journal_shrink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_lock_buffer_stall {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int stall_ms;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_run_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tlong unsigned int wait;\n\tlong unsigned int request_delay;\n\tlong unsigned int running;\n\tlong unsigned int locked;\n\tlong unsigned int flushing;\n\tlong unsigned int logging;\n\t__u32 handle_count;\n\t__u32 blocks;\n\t__u32 blocks_logged;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_shrink_checkpoint_list {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t first_tid;\n\ttid_t tid;\n\ttid_t last_tid;\n\tlong unsigned int nr_freed;\n\ttid_t next_tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_shrink_scan_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int nr_shrunk;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_submit_inode_data {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_update_log_tail {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tail_sequence;\n\ttid_t first_tid;\n\tlong unsigned int block_nr;\n\tlong unsigned int freed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_write_superblock {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tblk_opf_t write_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kcompactd_wake_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tint order;\n\tenum zone_type highest_zoneidx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kfree {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kfree_skb {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tvoid *location;\n\tvoid *rx_sk;\n\tshort unsigned int protocol;\n\tenum skb_drop_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmalloc {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tsize_t bytes_req;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tint node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmem_cache_alloc {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tsize_t bytes_req;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tint node;\n\tbool accounted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmem_cache_free {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_advisor {\n\tstruct trace_entry ent;\n\ts64 scan_time;\n\tlong unsigned int pages_to_scan;\n\tunsigned int cpu_percent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_enter_exit_template {\n\tstruct trace_entry ent;\n\tvoid *mm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_merge_one_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_merge_with_ksm_page {\n\tstruct trace_entry ent;\n\tvoid *ksm_page;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_remove_ksm_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_remove_rmap_item {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tvoid *rmap_item;\n\tvoid *mm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ksm_scan_template {\n\tstruct trace_entry ent;\n\tint seq;\n\tu32 rmap_entries;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_adjust {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tunsigned int depth;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_latency {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tchar type[8];\n\tu8 percentile;\n\tu8 numerator;\n\tu8 denominator;\n\tunsigned int samples;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_throttled {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_leases_conflict {\n\tstruct trace_entry ent;\n\tvoid *lease;\n\tvoid *breaker;\n\tunsigned int l_fl_flags;\n\tunsigned int b_fl_flags;\n\tunsigned char l_fl_type;\n\tunsigned char b_fl_type;\n\tbool conflict;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_locks_get_lock_context {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tunsigned char type;\n\tstruct file_lock_context *ctx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_op {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_read {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_write {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tlong unsigned int piv;\n\tvoid *val;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_map {\n\tstruct trace_entry ent;\n\tu64 iova;\n\tu64 paddr;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mark_victim {\n\tstruct trace_entry ent;\n\tint pid;\n\tu32 __data_loc_comm;\n\tlong unsigned int total_vm;\n\tlong unsigned int anon_rss;\n\tlong unsigned int file_rss;\n\tlong unsigned int shmem_rss;\n\tuid_t uid;\n\tlong unsigned int pgtables;\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mc_event {\n\tstruct trace_entry ent;\n\tunsigned int error_type;\n\tu32 __data_loc_msg;\n\tu32 __data_loc_label;\n\tu16 error_count;\n\tu8 mc_index;\n\ts8 top_layer;\n\ts8 middle_layer;\n\ts8 lower_layer;\n\tlong int address;\n\tu8 grain_bits;\n\tlong int syndrome;\n\tu32 __data_loc_driver_detail;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mdio_access {\n\tstruct trace_entry ent;\n\tchar busid[61];\n\tchar read;\n\tu8 addr;\n\tu16 val;\n\tunsigned int regnum;\n\tchar __data[0];\n};\n\nstruct xdp_mem_allocator;\n\nstruct trace_event_raw_mem_connect {\n\tstruct trace_entry ent;\n\tconst struct xdp_mem_allocator *xa;\n\tu32 mem_id;\n\tu32 mem_type;\n\tconst void *allocator;\n\tconst struct xdp_rxq_info *rxq;\n\tint ifindex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mem_disconnect {\n\tstruct trace_entry ent;\n\tconst struct xdp_mem_allocator *xa;\n\tu32 mem_id;\n\tu32 mem_type;\n\tconst void *allocator;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mem_return_failed {\n\tstruct trace_entry ent;\n\tconst struct page *page;\n\tu32 mem_id;\n\tu32 mem_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_flush_stats {\n\tstruct trace_entry ent;\n\tu64 id;\n\ts64 stats_updates;\n\tbool force;\n\tbool needs_flush;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_rstat_events {\n\tstruct trace_entry ent;\n\tu64 id;\n\tint item;\n\tlong unsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_rstat_stats {\n\tstruct trace_entry ent;\n\tu64 id;\n\tint item;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_migration_pmd {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_migration_pte {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tint order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_alloc_contig_migrate_range_info {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int nr_migrated;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_mapped;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tint isolated;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page_isolate {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint none_or_zero;\n\tint referenced;\n\tbool writable;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_collapse_huge_page_swapin {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tint swapped_in;\n\tint referenced;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_begin {\n\tstruct trace_entry ent;\n\tlong unsigned int zone_start;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int free_pfn;\n\tlong unsigned int zone_end;\n\tbool sync;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_defer_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tenum zone_type idx;\n\tint order;\n\tunsigned int considered;\n\tunsigned int defer_shift;\n\tint order_failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_end {\n\tstruct trace_entry ent;\n\tlong unsigned int zone_start;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int free_pfn;\n\tlong unsigned int zone_end;\n\tbool sync;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_isolate_template {\n\tstruct trace_entry ent;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_taken;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_kcompactd_sleep {\n\tstruct trace_entry ent;\n\tint nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_migratepages {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_migrated;\n\tlong unsigned int nr_failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_suitable_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tenum zone_type idx;\n\tint order;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_try_to_compact_pages {\n\tstruct trace_entry ent;\n\tint order;\n\tlong unsigned int gfp_mask;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_fault {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_op_page_cache {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tlong unsigned int i_ino;\n\tlong unsigned int index;\n\tdev_t s_dev;\n\tunsigned char order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_op_page_cache_range {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tlong unsigned int index;\n\tlong unsigned int last_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_collapse_file {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int hpfn;\n\tlong unsigned int index;\n\tlong unsigned int addr;\n\tbool is_shmem;\n\tu32 __data_loc_filename;\n\tint nr;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_scan_file {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int pfn;\n\tu32 __data_loc_filename;\n\tint present;\n\tint swap;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_khugepaged_scan_pmd {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tlong unsigned int pfn;\n\tbool writable;\n\tint referenced;\n\tint none_or_zero;\n\tint status;\n\tint unmapped;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_lru_activate {\n\tstruct trace_entry ent;\n\tstruct folio *folio;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_lru_insertion {\n\tstruct trace_entry ent;\n\tstruct folio *folio;\n\tlong unsigned int pfn;\n\tenum lru_list lru;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_migrate_pages {\n\tstruct trace_entry ent;\n\tlong unsigned int succeeded;\n\tlong unsigned int failed;\n\tlong unsigned int thp_succeeded;\n\tlong unsigned int thp_failed;\n\tlong unsigned int thp_split;\n\tlong unsigned int large_folio_split;\n\tenum migrate_mode mode;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_migrate_pages_start {\n\tstruct trace_entry ent;\n\tenum migrate_mode mode;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tint migratetype;\n\tint percpu_refill;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_alloc {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tlong unsigned int gfp_flags;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_alloc_extfrag {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint alloc_order;\n\tint fallback_order;\n\tint alloc_migratetype;\n\tint fallback_migratetype;\n\tint change_ownership;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_free {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_free_batched {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_pcpu_drain {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_shrink_slab_end {\n\tstruct trace_entry ent;\n\tstruct shrinker *shr;\n\tint nid;\n\tvoid *shrink;\n\tlong int unused_scan;\n\tlong int new_scan;\n\tint retval;\n\tlong int total_scan;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_shrink_slab_start {\n\tstruct trace_entry ent;\n\tstruct shrinker *shr;\n\tvoid *shrink;\n\tint nid;\n\tlong int nr_objects_to_shrink;\n\tlong unsigned int gfp_flags;\n\tlong unsigned int cache_items;\n\tlong long unsigned int delta;\n\tlong unsigned int total_scan;\n\tint priority;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_direct_reclaim_begin_template {\n\tstruct trace_entry ent;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_direct_reclaim_end_template {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_reclaimed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_kswapd_sleep {\n\tstruct trace_entry ent;\n\tint nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_kswapd_wake {\n\tstruct trace_entry ent;\n\tint nid;\n\tint zid;\n\tint order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_isolate {\n\tstruct trace_entry ent;\n\tint highest_zoneidx;\n\tint order;\n\tlong unsigned int nr_requested;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_skipped;\n\tlong unsigned int nr_taken;\n\tint lru;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_shrink_active {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_taken;\n\tlong unsigned int nr_active;\n\tlong unsigned int nr_deactivated;\n\tlong unsigned int nr_referenced;\n\tint priority;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_shrink_inactive {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_congested;\n\tlong unsigned int nr_immediate;\n\tunsigned int nr_activate0;\n\tunsigned int nr_activate1;\n\tlong unsigned int nr_ref_keep;\n\tlong unsigned int nr_unmap_fail;\n\tint priority;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_node_reclaim_begin {\n\tstruct trace_entry ent;\n\tint nid;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_reclaim_pages {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_congested;\n\tlong unsigned int nr_immediate;\n\tunsigned int nr_activate0;\n\tunsigned int nr_activate1;\n\tlong unsigned int nr_ref_keep;\n\tlong unsigned int nr_unmap_fail;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_throttled {\n\tstruct trace_entry ent;\n\tint nid;\n\tint usec_timeout;\n\tint usec_delayed;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_wakeup_kswapd {\n\tstruct trace_entry ent;\n\tint nid;\n\tint zid;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_write_folio {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmap_lock {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tu64 memcg_id;\n\tbool write;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmap_lock_acquire_returned {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tu64 memcg_id;\n\tbool write;\n\tbool success;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_free {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_load {\n\tstruct trace_entry ent;\n\tunsigned int taints;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_refcnt {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tint refcnt;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_request {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tbool wait;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_napi_poll {\n\tstruct trace_entry ent;\n\tstruct napi_struct *napi;\n\tu32 __data_loc_dev_name;\n\tint work;\n\tint budget;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh__update {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tu8 lladdr[32];\n\tu8 lladdr_len;\n\tu8 flags;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tint refcnt;\n\t__u8 primary_key4[4];\n\t__u8 primary_key6[16];\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tu32 err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh_create {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tint entries;\n\tu8 created;\n\tu8 gc_exempt;\n\tu8 primary_key4[4];\n\tu8 primary_key6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh_update {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tu8 lladdr[32];\n\tu8 lladdr_len;\n\tu8 flags;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tint refcnt;\n\t__u8 primary_key4[4];\n\t__u8 primary_key6[16];\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tu8 new_lladdr[32];\n\tu8 new_state;\n\tu32 update_flags;\n\tu32 pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_rx_exit_template {\n\tstruct trace_entry ent;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_rx_verbose_template {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int napi_id;\n\tu16 queue_mapping;\n\tconst void *skbaddr;\n\tbool vlan_tagged;\n\tu16 vlan_proto;\n\tu16 vlan_tci;\n\tu16 protocol;\n\tu8 ip_summed;\n\tu32 hash;\n\tbool l4_hash;\n\tunsigned int len;\n\tunsigned int data_len;\n\tunsigned int truesize;\n\tbool mac_header_valid;\n\tint mac_header;\n\tunsigned char nr_frags;\n\tu16 gso_size;\n\tu16 gso_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_start_xmit {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu16 queue_mapping;\n\tconst void *skbaddr;\n\tbool vlan_tagged;\n\tu16 vlan_proto;\n\tu16 vlan_tci;\n\tu16 protocol;\n\tu8 ip_summed;\n\tunsigned int len;\n\tunsigned int data_len;\n\tint network_offset;\n\tbool transport_offset_valid;\n\tint transport_offset;\n\tu8 tx_flags;\n\tu16 gso_size;\n\tu16 gso_segs;\n\tu16 gso_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_template {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tunsigned int len;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_xmit {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tunsigned int len;\n\tint rc;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_xmit_timeout {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_driver;\n\tint queue_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netlink_extack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cached_open {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_error_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 cbident;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_clientid_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dstaddr;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_close {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_commit_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tloff_t offset;\n\tu32 count;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_delegreturn_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_getattr_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int valid;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_idmap_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 id;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_callback_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_stateid_callback_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_dstaddr;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_stateid_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lock_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int cmd;\n\tlong unsigned int type;\n\tloff_t start;\n\tloff_t end;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lookup_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lookupp {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_open_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint openstateid_seq;\n\tu32 openstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_read_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_rename {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 olddir;\n\tu32 __data_loc_oldname;\n\tu64 newdir;\n\tu32 __data_loc_newname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_set_delegation_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_set_lock {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int cmd;\n\tlong unsigned int type;\n\tloff_t start;\n\tloff_t end;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint lockstateid_seq;\n\tu32 lockstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_setup_sequence {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_used_slotid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_lock_reclaim {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int state_flags;\n\tlong unsigned int lock_flags;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_mgr {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 __data_loc_hostname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_mgr_failed {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int state;\n\tu32 __data_loc_hostname;\n\tu32 __data_loc_section;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_write_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xdr_bad_operation {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 op;\n\tu32 expected;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xdr_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 op;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_access_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tunsigned char type;\n\tu64 fileid;\n\tu64 version;\n\tloff_t size;\n\tlong unsigned int nfsi_flags;\n\tlong unsigned int cache_validity;\n\tunsigned int mask;\n\tunsigned int permitted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_aop_readahead {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tunsigned int nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_aop_readahead_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tint ret;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tunsigned int nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_atomic_open_enter {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_atomic_open_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_commit_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tint error;\n\tlong unsigned int stable;\n\tchar verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_create_enter {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_create_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_direct_req_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t offset;\n\tssize_t count;\n\tssize_t error;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_directory_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_directory_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_fh_to_dentry {\n\tstruct trace_entry ent;\n\tint error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_folio_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_folio_event_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tint ret;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_read {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_write {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tlong unsigned int stable;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tunsigned char type;\n\tu64 fileid;\n\tu64 version;\n\tloff_t size;\n\tlong unsigned int nfsi_flags;\n\tlong unsigned int cache_validity;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_range_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t range_start;\n\tloff_t range_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_link_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_link_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_local_open_fh {\n\tstruct trace_entry ent;\n\tint error;\n\tu32 fhandle;\n\tunsigned int fmode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_lookup_event {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_lookup_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_assign {\n\tstruct trace_entry ent;\n\tu32 __data_loc_option;\n\tu32 __data_loc_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_option {\n\tstruct trace_entry ent;\n\tu32 __data_loc_option;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_path {\n\tstruct trace_entry ent;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_page_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tunsigned int count;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_pgio_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tloff_t pos;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readdir_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tchar verifier[8];\n\tu64 cookie;\n\tlong unsigned int index;\n\tunsigned int dtsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readpage_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tbool eof;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readpage_short {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tbool eof;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_rename_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 old_dir;\n\tu64 new_dir;\n\tu32 __data_loc_old_name;\n\tu32 __data_loc_new_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_rename_event_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 old_dir;\n\tu32 __data_loc_old_name;\n\tu64 new_dir;\n\tu32 __data_loc_new_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_sillyrename_unlink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_update_size_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t cur_size;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_writeback_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tint error;\n\tlong unsigned int stable;\n\tchar verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_xdr_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint version;\n\tlong unsigned int error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nlmclnt_lock_event {\n\tstruct trace_entry ent;\n\tu32 oh;\n\tu32 svid;\n\tu32 fh;\n\tlong unsigned int status;\n\tu64 start;\n\tu64 len;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_non_standard_event {\n\tstruct trace_entry ent;\n\tchar sec_type[16];\n\tchar fru_id[16];\n\tu32 __data_loc_fru_text;\n\tu8 sev;\n\tu32 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_notifier_info {\n\tstruct trace_entry ent;\n\tvoid *cb;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_oom_score_adj_update {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tchar comm[16];\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_opal_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int opcode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_opal_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int opcode;\n\tlong unsigned int retval;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_release {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\ts32 inflight;\n\tu32 hold;\n\tu32 release;\n\tu64 cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_state_hold {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tlong unsigned int netmem;\n\tu32 hold;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_state_release {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tlong unsigned int netmem;\n\tu32 release;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_update_nid {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tint pool_nid;\n\tint new_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_alloc_percpu {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tbool reserved;\n\tbool is_atomic;\n\tsize_t size;\n\tsize_t align;\n\tvoid *base_addr;\n\tint off;\n\tvoid *ptr;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_alloc_percpu_fail {\n\tstruct trace_entry ent;\n\tbool reserved;\n\tbool is_atomic;\n\tsize_t size;\n\tsize_t align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_create_chunk {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_destroy_chunk {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_free_percpu {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tint off;\n\tvoid *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pm_qos_update {\n\tstruct trace_entry ent;\n\tenum pm_qos_req_action action;\n\tint prev_value;\n\tint curr_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pmap_register {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tint protocol;\n\tunsigned int port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_power_domain {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tu64 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_powernv_throttle {\n\tstruct trace_entry ent;\n\tint chip_id;\n\tu32 __data_loc_reason;\n\tint pmax;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ppc64_interrupt_class {\n\tstruct trace_entry ent;\n\tstruct pt_regs *regs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pstate_sample {\n\tstruct trace_entry ent;\n\tu32 core_busy;\n\tu32 scaled_busy;\n\tu32 from;\n\tu32 to;\n\tu64 mperf;\n\tu64 aperf;\n\tu64 tsc;\n\tu32 freq;\n\tu32 io_boost;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_purge_vmap_area_lazy {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int npurged;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_create {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_dequeue {\n\tstruct trace_entry ent;\n\tstruct Qdisc *qdisc;\n\tconst struct netdev_queue *txq;\n\tint packets;\n\tvoid *skbaddr;\n\tint ifindex;\n\tu32 handle;\n\tu32 parent;\n\tlong unsigned int txq_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_destroy {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tu32 handle;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_enqueue {\n\tstruct trace_entry ent;\n\tstruct Qdisc *qdisc;\n\tconst struct netdev_queue *txq;\n\tvoid *skbaddr;\n\tint ifindex;\n\tu32 handle;\n\tu32 parent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_reset {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tu32 handle;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_barrier {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tconst char *s;\n\tint cpu;\n\tint cnt;\n\tlong unsigned int done;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_batch_end {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tint callbacks_invoked;\n\tchar cb;\n\tchar nr;\n\tchar iit;\n\tchar risk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_batch_start {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int qlen;\n\tlong int blimit;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tvoid *func;\n\tlong int qlen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_exp_funnel_lock {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_exp_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gpseq;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_fqs {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint cpu;\n\tconst char *qsevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_future_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tlong int gp_seq_req;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_grace_period {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tconst char *gpevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_grace_period_init {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tlong unsigned int qsmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tvoid *func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_kfree_bulk_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong unsigned int nr_records;\n\tvoid **p;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_invoke_kvfree_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tlong unsigned int offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_kvfree_callback {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tlong unsigned int offset;\n\tlong int qlen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_nocb_wake {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tint cpu;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_preempt_task {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_quiescent_state_report {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tlong unsigned int mask;\n\tlong unsigned int qsmask;\n\tu8 level;\n\tint grplo;\n\tint grphi;\n\tu8 gp_tasks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_segcb_stats {\n\tstruct trace_entry ent;\n\tconst char *ctx;\n\tlong unsigned int gp_seq[4];\n\tlong int seglen[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_sr_normal {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tvoid *rhp;\n\tconst char *srevent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_stall_warning {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tconst char *msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_torture_read {\n\tstruct trace_entry ent;\n\tchar rcutorturename[8];\n\tstruct callback_head *rhp;\n\tlong unsigned int secs;\n\tlong unsigned int c_old;\n\tlong unsigned int c;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_unlock_preempted_task {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tlong int gp_seq;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_utilization {\n\tstruct trace_entry ent;\n\tconst char *s;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_watching {\n\tstruct trace_entry ent;\n\tconst char *polarity;\n\tlong int oldnesting;\n\tlong int newnesting;\n\tint counter;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_reclaim_retry_zone {\n\tstruct trace_entry ent;\n\tint node;\n\tint zone_idx;\n\tint order;\n\tlong unsigned int reclaimable;\n\tlong unsigned int available;\n\tlong unsigned int min_wmark;\n\tint no_progress_loops;\n\tbool wmark_check;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regcache_drop_region {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int from;\n\tunsigned int to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regcache_sync {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_status;\n\tu32 __data_loc_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_register_class {\n\tstruct trace_entry ent;\n\tu32 version;\n\tlong unsigned int family;\n\tshort unsigned int protocol;\n\tshort unsigned int port;\n\tint error;\n\tu32 __data_loc_program;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_async {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_block {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tint count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_bool {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint flag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_bulk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tu32 __data_loc_buf;\n\tint val_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_reg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tunsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_buf_alloc {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tsize_t callsize;\n\tsize_t recvsize;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_call_rpcerror {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint tk_status;\n\tint rpc_status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_class {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_clone_err {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_new {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tlong unsigned int xprtsec;\n\tlong unsigned int flags;\n\tu32 __data_loc_program;\n\tu32 __data_loc_server;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_new_err {\n\tstruct trace_entry ent;\n\tint error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_server;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_failure {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_reply_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 __data_loc_progname;\n\tu32 version;\n\tu32 __data_loc_procname;\n\tu32 __data_loc_servername;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_request {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tbool async;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_socket_nospace {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int total;\n\tunsigned int remaining;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_stats_latency {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint version;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tlong unsigned int backlog;\n\tlong unsigned int rtt;\n\tlong unsigned int execute;\n\tu32 xprt_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_queued {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tlong unsigned int timeout;\n\tlong unsigned int runstate;\n\tint status;\n\tshort unsigned int flags;\n\tu32 __data_loc_q_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_running {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tconst void *action;\n\tlong unsigned int runstate;\n\tint status;\n\tshort unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_status {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_tls_class {\n\tstruct trace_entry ent;\n\tlong unsigned int requested_policy;\n\tu32 version;\n\tu32 __data_loc_servername;\n\tu32 __data_loc_progname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_alignment {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tsize_t offset;\n\tunsigned int copied;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int len;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_buf_class {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_overflow {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tsize_t requested;\n\tconst void *end;\n\tconst void *p;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int len;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xprt_event {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tint status;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xprt_lifetime_class {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_getport {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int program;\n\tunsigned int version;\n\tint protocol;\n\tunsigned int bind_version;\n\tu32 __data_loc_servername;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_register {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_setport {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint status;\n\tshort unsigned int port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_unregister {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_bad_seqno {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 expected;\n\tu32 received;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_context {\n\tstruct trace_entry ent;\n\tlong unsigned int expiry;\n\tlong unsigned int now;\n\tunsigned int timeout;\n\tu32 window_size;\n\tint len;\n\tu32 __data_loc_acceptor;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_createauth {\n\tstruct trace_entry ent;\n\tunsigned int flavor;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_ctx_class {\n\tstruct trace_entry ent;\n\tconst void *cred;\n\tlong unsigned int service;\n\tu32 __data_loc_principal;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_gssapi_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 maj_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_import_ctx {\n\tstruct trace_entry ent;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_need_reencode {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seq_xmit;\n\tu32 seqno;\n\tbool ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_oid_to_mech {\n\tstruct trace_entry ent;\n\tu32 __data_loc_oid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_seqno {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_accept_upcall {\n\tstruct trace_entry ent;\n\tu32 minor_status;\n\tlong unsigned int major_status;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_authenticate {\n\tstruct trace_entry ent;\n\tu32 seqno;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_gssapi_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 maj_stat;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_bad {\n\tstruct trace_entry ent;\n\tu32 expected;\n\tu32 received;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_low {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 seqno;\n\tu32 min;\n\tu32 max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_unwrap_failed {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_wrap_failed {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_unwrap_failed {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_upcall_msg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_upcall_result {\n\tstruct trace_entry ent;\n\tu32 uid;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_update_slack {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tconst void *auth;\n\tunsigned int rslack;\n\tunsigned int ralign;\n\tunsigned int verfsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_internal {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint flags;\n\tint usage_count;\n\tint disable_depth;\n\tint runtime_auto;\n\tint request_pending;\n\tint irq_safe;\n\tint child_count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_return_int {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int ip;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rseq_ip_fixup {\n\tstruct trace_entry ent;\n\tlong unsigned int regs_ip;\n\tlong unsigned int start_ip;\n\tlong unsigned int post_commit_offset;\n\tlong unsigned int abort_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rseq_update {\n\tstruct trace_entry ent;\n\ts32 cpu_id;\n\ts32 node_id;\n\ts32 mm_cid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rss_stat {\n\tstruct trace_entry ent;\n\tunsigned int mm_id;\n\tunsigned int curr;\n\tint member;\n\tlong int size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtas_input {\n\tstruct trace_entry ent;\n\t__u32 nargs;\n\tu32 __data_loc_name;\n\tu32 __data_loc_inputs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtas_output {\n\tstruct trace_entry ent;\n\t__u32 nr_other;\n\t__s32 status;\n\tu32 __data_loc_name;\n\tu32 __data_loc_other_outputs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtas_parameter_block {\n\tstruct trace_entry ent;\n\tu32 token;\n\tu32 nargs;\n\tu32 nret;\n\t__u32 params[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_alarm_irq_enable {\n\tstruct trace_entry ent;\n\tunsigned int enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_irq_set_freq {\n\tstruct trace_entry ent;\n\tint freq;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_irq_set_state {\n\tstruct trace_entry ent;\n\tint enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_offset_class {\n\tstruct trace_entry ent;\n\tlong int offset;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_time_alarm_class {\n\tstruct trace_entry ent;\n\ttime64_t secs;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_timer_class {\n\tstruct trace_entry ent;\n\tstruct rtc_timer *timer;\n\tktime_t expires;\n\tktime_t period;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_stop {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_stop_ret {\n\tstruct trace_entry ent;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_execute_end {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_execute_start {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_queue_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tvoid *worker;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_migrate_task {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tint orig_cpu;\n\tint dest_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_move_numa {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tpid_t tgid;\n\tpid_t ngid;\n\tint src_cpu;\n\tint src_nid;\n\tint dst_cpu;\n\tint dst_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_numa_pair_template {\n\tstruct trace_entry ent;\n\tpid_t src_pid;\n\tpid_t src_tgid;\n\tpid_t src_ngid;\n\tint src_cpu;\n\tint src_nid;\n\tpid_t dst_pid;\n\tpid_t dst_tgid;\n\tpid_t dst_ngid;\n\tint dst_cpu;\n\tint dst_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_pi_setprio {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint oldprio;\n\tint newprio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_prepare_exec {\n\tstruct trace_entry ent;\n\tu32 __data_loc_interp;\n\tu32 __data_loc_filename;\n\tpid_t pid;\n\tu32 __data_loc_comm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_exec {\n\tstruct trace_entry ent;\n\tu32 __data_loc_filename;\n\tpid_t pid;\n\tpid_t old_pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_fork {\n\tstruct trace_entry ent;\n\tchar parent_comm[16];\n\tpid_t parent_pid;\n\tchar child_comm[16];\n\tpid_t child_pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_hang {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_wait {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_skip_vma_numa {\n\tstruct trace_entry ent;\n\tlong unsigned int numa_scan_offset;\n\tlong unsigned int vm_start;\n\tlong unsigned int vm_end;\n\tenum numa_vmaskip_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_stat_runtime {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tu64 runtime;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_stat_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tu64 delay;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_switch {\n\tstruct trace_entry ent;\n\tchar prev_comm[16];\n\tpid_t prev_pid;\n\tint prev_prio;\n\tlong int prev_state;\n\tchar next_comm[16];\n\tpid_t next_pid;\n\tint next_prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_wake_idle_without_ipi {\n\tstruct trace_entry ent;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_wakeup_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tint target_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_cmd_done_timeout_template {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tint result;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tu8 sense_key;\n\tu8 asc;\n\tu8 ascq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_dispatch_cmd_error {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tint rtn;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_dispatch_cmd_start {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_eh_wakeup {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_selinux_audited {\n\tstruct trace_entry ent;\n\tu32 requested;\n\tu32 denied;\n\tu32 audited;\n\tint result;\n\tu32 __data_loc_scontext;\n\tu32 __data_loc_tcontext;\n\tu32 __data_loc_tclass;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_signal_deliver {\n\tstruct trace_entry ent;\n\tint sig;\n\tint errno;\n\tint code;\n\tlong unsigned int sa_handler;\n\tlong unsigned int sa_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_signal_generate {\n\tstruct trace_entry ent;\n\tint sig;\n\tint errno;\n\tint code;\n\tchar comm[16];\n\tpid_t pid;\n\tint group;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sk_data_ready {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 family;\n\t__u16 protocol;\n\tlong unsigned int ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_skb_copy_datagram_iovec {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tint len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_skip_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_read {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 flags;\n\t__u16 addr;\n\t__u8 command;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_reply {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 command;\n\t__u8 len;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_result {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 read_write;\n\t__u8 command;\n\t__s16 res;\n\t__u32 protocol;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_write {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 command;\n\t__u8 len;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_exceed_buf_limit {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int sysctl_mem[3];\n\tlong int allocated;\n\tint sysctl_rmem;\n\tint rmem_alloc;\n\tint sysctl_wmem;\n\tint wmem_alloc;\n\tint wmem_queued;\n\tint kind;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_msg_length {\n\tstruct trace_entry ent;\n\tvoid *sk;\n\t__u16 family;\n\t__u16 protocol;\n\tint ret;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_rcvqueue_full {\n\tstruct trace_entry ent;\n\tint rmem_alloc;\n\tunsigned int truesize;\n\tint sk_rcvbuf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_softirq {\n\tstruct trace_entry ent;\n\tunsigned int vec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_start_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_suspend_resume {\n\tstruct trace_entry ent;\n\tconst char *action;\n\tint val;\n\tbool start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_alloc_arg_err {\n\tstruct trace_entry ent;\n\tunsigned int requested;\n\tunsigned int allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_authenticate {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int svc_status;\n\tlong unsigned int auth_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_deferred_event {\n\tstruct trace_entry ent;\n\tconst void *dr;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_process {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 vers;\n\tu32 proc;\n\tu32 __data_loc_service;\n\tu32 __data_loc_procedure;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_replace_page_err {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tconst void *begin;\n\tconst void *respages;\n\tconst void *nextpage;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_rqst_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_rqst_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tint status;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_stats_latency {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int execute;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_unregister {\n\tstruct trace_entry ent;\n\tu32 version;\n\tint error;\n\tu32 __data_loc_program;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_wake_up {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xdr_buf_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xdr_msg_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_accept {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tu32 __data_loc_protocol;\n\tu32 __data_loc_service;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_create_err {\n\tstruct trace_entry ent;\n\tlong int error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_protocol;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_dequeue {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tlong unsigned int wakeup;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_enqueue {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_accept_class {\n\tstruct trace_entry ent;\n\tlong int status;\n\tu32 __data_loc_service;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_class {\n\tstruct trace_entry ent;\n\tssize_t result;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_lifetime_class {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tconst void *svsk;\n\tconst void *sk;\n\tlong unsigned int type;\n\tlong unsigned int family;\n\tlong unsigned int state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_marker {\n\tstruct trace_entry ent;\n\tunsigned int length;\n\tbool last;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_tcp_recv_short {\n\tstruct trace_entry ent;\n\tu32 expected;\n\tu32 received;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_tcp_state {\n\tstruct trace_entry ent;\n\tlong unsigned int socket_state;\n\tlong unsigned int sock_state;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_swiotlb_bounced {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu64 dma_mask;\n\tdma_addr_t dev_addr;\n\tsize_t size;\n\tbool force;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sys_enter {\n\tstruct trace_entry ent;\n\tlong int id;\n\tlong unsigned int args[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sys_exit {\n\tstruct trace_entry ent;\n\tlong int id;\n\tlong int ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_newtask {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tchar comm[16];\n\tlong unsigned int clone_flags;\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_prctl_unknown {\n\tstruct trace_entry ent;\n\tint option;\n\tlong unsigned int arg2;\n\tlong unsigned int arg3;\n\tlong unsigned int arg4;\n\tlong unsigned int arg5;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_rename {\n\tstruct trace_entry ent;\n\tchar oldcomm[16];\n\tchar newcomm[16];\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tasklet {\n\tstruct trace_entry ent;\n\tvoid *tasklet;\n\tvoid *func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tint l3index;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\tbool fin;\n\tbool syn;\n\tbool rst;\n\tbool psh;\n\tbool ack;\n\t__u8 keyid;\n\t__u8 rnext;\n\t__u8 maclen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event_sk {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 keyid;\n\t__u8 rnext;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event_sne {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u32 new_sne;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_cong_state_set {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\t__u8 cong_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_sk {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\t__u64 sock_cookie;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_sk_skb {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_skb {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_hash_event {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tint l3index;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\tbool fin;\n\tbool syn;\n\tbool rst;\n\tbool psh;\n\tbool ack;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_probe {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u32 mark;\n\t__u16 data_len;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 snd_cwnd;\n\t__u32 ssthresh;\n\t__u32 snd_wnd;\n\t__u32 srtt;\n\t__u32 rcv_wnd;\n\t__u64 sock_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_retransmit_synack {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\tconst void *req;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_send_reset {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\tenum sk_rst_reason reason;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_test_pages_isolated {\n\tstruct trace_entry ent;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tlong unsigned int fin_pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tick_stop {\n\tstruct trace_entry ent;\n\tint success;\n\tint dependency;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_base_idle {\n\tstruct trace_entry ent;\n\tbool is_idle;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_class {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_expire_entry {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tlong unsigned int now;\n\tvoid *function;\n\tlong unsigned int baseclk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_start {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tvoid *function;\n\tlong unsigned int expires;\n\tlong unsigned int bucket_expiry;\n\tlong unsigned int now;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tlb_flush {\n\tstruct trace_entry ent;\n\tint reason;\n\tlong unsigned int pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tlbia {\n\tstruct trace_entry ent;\n\tlong unsigned int id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tlbie {\n\tstruct trace_entry ent;\n\tlong unsigned int lpid;\n\tlong unsigned int local;\n\tlong unsigned int rb;\n\tlong unsigned int rs;\n\tlong unsigned int ric;\n\tlong unsigned int prs;\n\tlong unsigned int r;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tls_contenttype {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tunsigned int netns_ino;\n\tlong unsigned int type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_connect_child_parent {\n\tstruct trace_entry ent;\n\tvoid *child;\n\tvoid *parent;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tunsigned int num_children;\n\tu32 groupmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_connect_cpu_parent {\n\tstruct trace_entry ent;\n\tvoid *parent;\n\tunsigned int cpu;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tunsigned int num_children;\n\tu32 groupmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_cpugroup {\n\tstruct trace_entry ent;\n\tu64 wakeup;\n\tvoid *parent;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_group_and_cpu {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tvoid *parent;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tu32 childmask;\n\tu8 active;\n\tu8 migrator;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_group_set {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_handle_remote {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tunsigned int lvl;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_idle {\n\tstruct trace_entry ent;\n\tu64 nextevt;\n\tu64 wakeup;\n\tvoid *parent;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_update_events {\n\tstruct trace_entry ent;\n\tvoid *child;\n\tvoid *group;\n\tu64 nextevt;\n\tu64 group_next_expiry;\n\tu64 child_evt_expiry;\n\tunsigned int group_lvl;\n\tunsigned int child_evtcpu;\n\tu8 child_active;\n\tu8 group_active;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_track_foreign_dirty {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tu64 bdi_id;\n\tino_t ino;\n\tunsigned int memcg_id;\n\tino_t cgroup_ino;\n\tino_t page_cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udp_fail_queue_rcv_skb {\n\tstruct trace_entry ent;\n\tint rc;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_unmap {\n\tstruct trace_entry ent;\n\tu64 iova;\n\tsize_t size;\n\tsize_t unmapped_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vas_paste_crb {\n\tstruct trace_entry ent;\n\tstruct task_struct *tsk;\n\tstruct vas_window *win;\n\tint pid;\n\tint vasid;\n\tint winid;\n\tlong unsigned int paste_kaddr;\n\tchar __data[0];\n};\n\nstruct vas_rx_win_attr;\n\nstruct trace_event_raw_vas_rx_win_open {\n\tstruct trace_entry ent;\n\tstruct task_struct *tsk;\n\tint pid;\n\tint cop;\n\tint vasid;\n\tstruct vas_rx_win_attr *rxattr;\n\tint lnotify_lpid;\n\tint lnotify_pid;\n\tint lnotify_tid;\n\tchar __data[0];\n};\n\nstruct vas_tx_win_attr;\n\nstruct trace_event_raw_vas_tx_win_open {\n\tstruct trace_entry ent;\n\tstruct task_struct *tsk;\n\tint pid;\n\tint cop;\n\tint vasid;\n\tstruct vas_tx_win_attr *txattr;\n\tint lpid;\n\tint pidr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vm_unmapped_area {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int total_vm;\n\tlong unsigned int flags;\n\tlong unsigned int length;\n\tlong unsigned int low_limit;\n\tlong unsigned int high_limit;\n\tlong unsigned int align_mask;\n\tlong unsigned int align_offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vma_mas_szero {\n\tstruct trace_entry ent;\n\tstruct maple_tree *mt;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vma_store {\n\tstruct trace_entry ent;\n\tstruct maple_tree *mt;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int vm_start;\n\tlong unsigned int vm_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wake_reaper {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wakeup_source {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wbc_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tint sync_mode;\n\tint for_kupdate;\n\tint for_background;\n\tint for_reclaim;\n\tint range_cyclic;\n\tlong int range_start;\n\tlong int range_end;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_activate_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_execute_end {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_execute_start {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_queue_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tu32 __data_loc_workqueue;\n\tint req_cpu;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_bdi_register {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_dirty_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_folio_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_inode_template {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int state;\n\t__u16 mode;\n\tlong unsigned int dirtied_when;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_pages_written {\n\tstruct trace_entry ent;\n\tlong int pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_queue_io {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong unsigned int older;\n\tlong int age;\n\tint moved;\n\tint reason;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_sb_inodes_requeue {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int dirtied_when;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_single_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int dirtied_when;\n\tlong unsigned int writeback_index;\n\tlong int nr_to_write;\n\tlong unsigned int wrote;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_work_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int nr_pages;\n\tdev_t sb_dev;\n\tint sync_mode;\n\tint for_kupdate;\n\tint range_cyclic;\n\tint for_background;\n\tint reason;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_write_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tint sync_mode;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_bulk_tx {\n\tstruct trace_entry ent;\n\tint ifindex;\n\tu32 act;\n\tint drops;\n\tint sent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_cpumap_enqueue {\n\tstruct trace_entry ent;\n\tint map_id;\n\tu32 act;\n\tint cpu;\n\tunsigned int drops;\n\tunsigned int processed;\n\tint to_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_cpumap_kthread {\n\tstruct trace_entry ent;\n\tint map_id;\n\tu32 act;\n\tint cpu;\n\tunsigned int drops;\n\tunsigned int processed;\n\tint sched;\n\tunsigned int xdp_pass;\n\tunsigned int xdp_drop;\n\tunsigned int xdp_redirect;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_devmap_xmit {\n\tstruct trace_entry ent;\n\tint from_ifindex;\n\tu32 act;\n\tint to_ifindex;\n\tint drops;\n\tint sent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_exception {\n\tstruct trace_entry ent;\n\tint prog_id;\n\tu32 act;\n\tint ifindex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_redirect_template {\n\tstruct trace_entry ent;\n\tint prog_id;\n\tu32 act;\n\tint ifindex;\n\tint err;\n\tint to_ifindex;\n\tu32 map_id;\n\tint map_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ag_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ag_inode_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ag_resv_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tint resv;\n\txfs_extlen_t freeblks;\n\txfs_extlen_t flcount;\n\txfs_extlen_t reserved;\n\txfs_extlen_t asked;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ag_resv_init_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tint error;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_agf_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tint flags;\n\t__u32 length;\n\t__u32 bno_root;\n\t__u32 cnt_root;\n\t__u32 bno_level;\n\t__u32 cnt_level;\n\t__u32 flfirst;\n\t__u32 fllast;\n\t__u32 flcount;\n\t__u32 freeblks;\n\t__u32 longest;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ail_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tvoid *lip;\n\tuint type;\n\tlong unsigned int flags;\n\txfs_lsn_t old_lsn;\n\txfs_lsn_t new_lsn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_alloc_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t minlen;\n\txfs_extlen_t maxlen;\n\txfs_extlen_t mod;\n\txfs_extlen_t prod;\n\txfs_extlen_t minleft;\n\txfs_extlen_t total;\n\txfs_extlen_t alignment;\n\txfs_extlen_t minalignslop;\n\txfs_extlen_t len;\n\tchar wasdel;\n\tchar wasfromfl;\n\tint resv;\n\tint datatype;\n\txfs_agnumber_t highest_agno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_alloc_cur_check {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\txfs_agblock_t bno;\n\txfs_extlen_t len;\n\txfs_extlen_t diff;\n\tbool new;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_attr_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu32 __data_loc_name;\n\tint namelen;\n\tint valuelen;\n\txfs_dahash_t hashval;\n\tunsigned int attr_filter;\n\tuint32_t op_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_attr_list_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu32 hashval;\n\tu32 blkno;\n\tu32 offset;\n\tvoid *buffer;\n\tint bufsize;\n\tint count;\n\tint firstu;\n\tint dupcnt;\n\tunsigned int attr_filter;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_attr_list_node_descend {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu32 hashval;\n\tu32 blkno;\n\tu32 offset;\n\tvoid *buffer;\n\tint bufsize;\n\tint count;\n\tint firstu;\n\tint dupcnt;\n\tunsigned int attr_filter;\n\tu32 bt_hashval;\n\tu32 bt_before;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_bmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tvoid *leaf;\n\tint pos;\n\txfs_fileoff_t startoff;\n\txfs_fsblock_t startblock;\n\txfs_filblks_t blockcount;\n\txfs_exntst_t state;\n\tint bmap_state;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_bmap_deferred_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_ino_t ino;\n\tlong long unsigned int gbno;\n\tint whichfork;\n\txfs_fileoff_t l_loff;\n\txfs_filblks_t l_len;\n\txfs_exntst_t l_state;\n\tint op;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_alloc_block {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_ino_t ino;\n\tu32 __data_loc_name;\n\tint error;\n\txfs_agblock_t agbno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_bload_block {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tunsigned int level;\n\tlong long unsigned int block_idx;\n\tlong long unsigned int nr_blocks;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\tunsigned int nr_records;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_bload_level_geometry {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tunsigned int level;\n\tunsigned int nlevels;\n\tuint64_t nr_this_level;\n\tunsigned int nr_per_block;\n\tunsigned int desired_npb;\n\tlong long unsigned int blocks;\n\tlong long unsigned int blocks_with_extra;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_commit_afakeroot {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\tunsigned int levels;\n\tunsigned int blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_commit_ifakeroot {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tunsigned int levels;\n\tunsigned int blocks;\n\tint whichfork;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_cur_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tint level;\n\tint nlevels;\n\tint ptr;\n\txfs_daddr_t daddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_ino_t ino;\n\tint error;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_btree_free_block {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_ino_t ino;\n\tu32 __data_loc_name;\n\txfs_agblock_t agbno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_buf_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t bno;\n\tint nblks;\n\tint hold;\n\tint pincount;\n\tunsigned int lockval;\n\tunsigned int flags;\n\tlong unsigned int caller_ip;\n\tconst void *buf_ops;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_buf_flags_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t bno;\n\tunsigned int length;\n\tint hold;\n\tint pincount;\n\tunsigned int lockval;\n\tunsigned int flags;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\ntypedef void *xfs_failaddr_t;\n\nstruct trace_event_raw_xfs_buf_ioerror {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t bno;\n\tunsigned int length;\n\tunsigned int flags;\n\tint hold;\n\tint pincount;\n\tunsigned int lockval;\n\tint error;\n\txfs_failaddr_t caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_buf_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t buf_bno;\n\tunsigned int buf_len;\n\tint buf_hold;\n\tint buf_pincount;\n\tint buf_lockval;\n\tunsigned int buf_flags;\n\tunsigned int bli_recur;\n\tint bli_refcount;\n\tunsigned int bli_flags;\n\tlong unsigned int li_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_bunmap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsize_t size;\n\txfs_fileoff_t fileoff;\n\txfs_filblks_t len;\n\tlong unsigned int caller_ip;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_check_new_dalign {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint new_dalign;\n\txfs_ino_t sb_rootino;\n\txfs_ino_t calc_rootino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_da_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu32 __data_loc_name;\n\tint namelen;\n\txfs_dahash_t hashval;\n\txfs_ino_t inumber;\n\tuint32_t op_flags;\n\txfs_ino_t owner;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_das_state_class {\n\tstruct trace_entry ent;\n\tint das;\n\txfs_ino_t ino;\n\tchar __data[0];\n};\n\nstruct xfs_trans;\n\nstruct trace_event_raw_xfs_defer_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tstruct xfs_trans *tp;\n\tchar committed;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_defer_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tstruct xfs_trans *tp;\n\tchar committed;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_defer_pending_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tvoid *intent;\n\tunsigned int flags;\n\tchar committed;\n\tint nr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_defer_pending_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tvoid *intent;\n\tvoid *item;\n\tchar committed;\n\tunsigned int flags;\n\tint nr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_dir2_leafn_moveents {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tuint32_t op_flags;\n\tint src_idx;\n\tint dst_idx;\n\tint count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_dir2_space_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tuint32_t op_flags;\n\tint idx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_discard_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_double_io_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t src_ino;\n\tloff_t src_isize;\n\tloff_t src_disize;\n\tloff_t src_offset;\n\tlong long int len;\n\txfs_ino_t dest_ino;\n\tloff_t dest_isize;\n\tloff_t dest_disize;\n\tloff_t dest_offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_dqtrx_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_dqtype_t type;\n\tunsigned int flags;\n\tu32 dqid;\n\tuint64_t blk_res;\n\tint64_t bcount_delta;\n\tint64_t delbcnt_delta;\n\tuint64_t rtblk_res;\n\tuint64_t rtblk_res_used;\n\tint64_t rtbcount_delta;\n\tint64_t delrtb_delta;\n\tuint64_t ino_res;\n\tuint64_t ino_res_used;\n\tint64_t icount_delta;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_dquot_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 id;\n\txfs_dqtype_t type;\n\tunsigned int flags;\n\tunsigned int nrefs;\n\tlong long unsigned int res_bcount;\n\tlong long unsigned int res_rtbcount;\n\tlong long unsigned int res_icount;\n\tlong long unsigned int bcount;\n\tlong long unsigned int rtbcount;\n\tlong long unsigned int icount;\n\tlong long unsigned int blk_hardlimit;\n\tlong long unsigned int blk_softlimit;\n\tlong long unsigned int rtb_hardlimit;\n\tlong long unsigned int rtb_softlimit;\n\tlong long unsigned int ino_hardlimit;\n\tlong long unsigned int ino_softlimit;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_delta_nextents {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino1;\n\txfs_ino_t ino2;\n\txfs_extnum_t nexts1;\n\txfs_extnum_t nexts2;\n\tint64_t d_nexts1;\n\tint64_t d_nexts2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_delta_nextents_step {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_fileoff_t loff;\n\txfs_fsblock_t lstart;\n\txfs_filblks_t lcount;\n\txfs_fileoff_t coff;\n\txfs_fsblock_t cstart;\n\txfs_filblks_t ccount;\n\txfs_fileoff_t noff;\n\txfs_fsblock_t nstart;\n\txfs_filblks_t ncount;\n\txfs_fileoff_t roff;\n\txfs_fsblock_t rstart;\n\txfs_filblks_t rcount;\n\tint delta;\n\tunsigned int state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_estimate_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino1;\n\txfs_ino_t ino2;\n\txfs_fileoff_t startoff1;\n\txfs_fileoff_t startoff2;\n\txfs_filblks_t blockcount;\n\tuint64_t flags;\n\txfs_filblks_t ip1_bcount;\n\txfs_filblks_t ip2_bcount;\n\txfs_filblks_t ip1_rtbcount;\n\txfs_filblks_t ip2_rtbcount;\n\tlong long unsigned int resblks;\n\tlong long unsigned int nr_exchanges;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_intent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino1;\n\txfs_ino_t ino2;\n\tuint64_t flags;\n\txfs_fileoff_t startoff1;\n\txfs_fileoff_t startoff2;\n\txfs_filblks_t blockcount;\n\txfs_fsize_t isize1;\n\txfs_fsize_t isize2;\n\txfs_fsize_t new_isize1;\n\txfs_fsize_t new_isize2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchmaps_overhead {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong long unsigned int bmbt_blocks;\n\tlong long unsigned int rmapbt_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchrange_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ip1_ino;\n\tloff_t ip1_isize;\n\tloff_t ip1_disize;\n\txfs_ino_t ip2_ino;\n\tloff_t ip2_isize;\n\tloff_t ip2_disize;\n\tloff_t file1_offset;\n\tloff_t file2_offset;\n\tlong long unsigned int length;\n\tlong long unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchrange_freshness {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ip2_ino;\n\tlong long int ip2_mtime;\n\tlong long int ip2_ctime;\n\tint ip2_mtime_nsec;\n\tint ip2_ctime_nsec;\n\txfs_ino_t file2_ino;\n\tlong long int file2_mtime;\n\tlong long int file2_ctime;\n\tint file2_mtime_nsec;\n\tint file2_ctime_nsec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_exchrange_inode_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint whichfile;\n\txfs_ino_t ino;\n\tint format;\n\txfs_extnum_t nex;\n\tint broot_size;\n\tint fork_off;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_extent_busy_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_extent_busy_trim {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\txfs_agblock_t tbno;\n\txfs_extlen_t tlen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fault_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tunsigned int order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_file_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsize_t size;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_filestream_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_agnumber_t agno;\n\tint streams;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_filestream_pick {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_agnumber_t agno;\n\tint streams;\n\txfs_extlen_t free;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_force_shutdown {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint ptag;\n\tint flags;\n\tu32 __data_loc_fname;\n\tint line_num;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_free_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\tint resv;\n\tint haveleft;\n\tint haveright;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_free_extent_deferred_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t len;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fs_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong long unsigned int mflags;\n\tlong unsigned int opstate;\n\tlong unsigned int sbflags;\n\tvoid *caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fs_corrupt_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fsmap_group_key_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\tuint64_t owner;\n\tuint64_t offset;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fsmap_linear_key_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\txfs_fsblock_t bno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_fsmap_mapping {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_daddr_t start_daddr;\n\txfs_daddr_t len_daddr;\n\tuint64_t owner;\n\tuint64_t offset;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_getfsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\txfs_daddr_t block;\n\txfs_daddr_t len;\n\tuint64_t owner;\n\tuint64_t offset;\n\tuint64_t flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_getparents_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tshort unsigned int iflags;\n\tshort unsigned int oflags;\n\tunsigned int bufsize;\n\tunsigned int hashval;\n\tunsigned int blkno;\n\tunsigned int offset;\n\tint initted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_getparents_rec_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tunsigned int firstu;\n\tshort unsigned int reclen;\n\tunsigned int bufsize;\n\txfs_ino_t parent_ino;\n\tunsigned int parent_gen;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_group_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tint refcount;\n\tint active_refcount;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_group_corrupt_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\tuint32_t index;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_icwalk_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 flags;\n\tuint32_t uid;\n\tuint32_t gid;\n\tprid_t prid;\n\t__u64 min_file_size;\n\tlong int scan_limit;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_imap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tloff_t size;\n\tloff_t offset;\n\tsize_t count;\n\tint whichfork;\n\txfs_fileoff_t startoff;\n\txfs_fsblock_t startblock;\n\txfs_filblks_t blockcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tlong unsigned int iflags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_corrupt_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tint error;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_irec_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fileoff_t lblk;\n\txfs_extlen_t len;\n\txfs_fsblock_t pblk;\n\tint state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inode_reload_unlinked_bucket {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inodegc_shrinker_scan {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tvoid *caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_inodegc_worker {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int shrinker_hits;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_ioctl_clone {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int src_ino;\n\tloff_t src_isize;\n\tlong unsigned int dest_ino;\n\tloff_t dest_isize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iomap_invalid_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu64 addr;\n\tloff_t pos;\n\tu64 len;\n\tu64 validity_cookie;\n\tu64 inodeseq;\n\tu16 type;\n\tu16 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iomap_prealloc_size {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsblock_t blocks;\n\tint shift;\n\tunsigned int writeio_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_irec_merge_post {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tuint16_t holemask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_irec_merge_pre {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\tuint16_t holemask;\n\txfs_agino_t nagino;\n\tuint16_t nholemask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iref_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tint count;\n\tint pincount;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_itrunc_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsize_t size;\n\txfs_fsize_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iunlink_reload_next {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\txfs_agino_t prev_agino;\n\txfs_agino_t next_agino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iunlink_update_bucket {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tunsigned int bucket;\n\txfs_agino_t old_ptr;\n\txfs_agino_t new_ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iunlink_update_dinode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t agino;\n\txfs_agino_t old_ptr;\n\txfs_agino_t new_ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_iwalk_ag_rec {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agino_t startino;\n\tuint64_t freemask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_lock_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tint lock_flags;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_assign_tail_lsn {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_lsn_t new_lsn;\n\txfs_lsn_t old_lsn;\n\txfs_lsn_t head_lsn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_force {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_lsn_t lsn;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_get_max_trans_res {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tuint logres;\n\tint logcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tvoid *lip;\n\tuint type;\n\tlong unsigned int flags;\n\txfs_lsn_t lsn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_daddr_t headblk;\n\txfs_daddr_t tailblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_buf_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint64_t blkno;\n\tshort unsigned int len;\n\tshort unsigned int flags;\n\tshort unsigned int size;\n\tunsigned int map_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_icreate_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\tunsigned int count;\n\tunsigned int isize;\n\txfs_agblock_t length;\n\tunsigned int gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_ino_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tshort unsigned int size;\n\tint fields;\n\tshort unsigned int asize;\n\tshort unsigned int dsize;\n\tint64_t blkno;\n\tint len;\n\tint boffset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_item_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int item;\n\txlog_tid_t tid;\n\txfs_lsn_t lsn;\n\tint type;\n\tint pass;\n\tint count;\n\tint total;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_log_recover_record {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_lsn_t lsn;\n\tint len;\n\tint num_logops;\n\tint pass;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_loggrant_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int tic;\n\tchar ocnt;\n\tchar cnt;\n\tint curr_res;\n\tint unit_res;\n\tunsigned int flags;\n\tint reserveq;\n\tint writeq;\n\tuint64_t grant_reserve_bytes;\n\tuint64_t grant_write_bytes;\n\tuint64_t tail_space;\n\tint curr_cycle;\n\tint curr_block;\n\txfs_lsn_t tail_lsn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_metadir_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t dp_ino;\n\txfs_ino_t ino;\n\tint ftype;\n\tint namelen;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_metadir_update_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t dp_ino;\n\txfs_ino_t ino;\n\tu32 __data_loc_fname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_metadir_update_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t dp_ino;\n\txfs_ino_t ino;\n\tint error;\n\tu32 __data_loc_fname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_metafile_resv_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tlong long unsigned int freeblks;\n\tlong long unsigned int reserved;\n\tlong long unsigned int asked;\n\tlong long unsigned int used;\n\tlong long unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_namespace_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t dp_ino;\n\tint namelen;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_pagecache_inval {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\txfs_fsize_t size;\n\txfs_off_t start;\n\txfs_off_t finish;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_perag_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_agnumber_t agno;\n\tint refcount;\n\tint active_refcount;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_pwork_init {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int nr_threads;\n\tpid_t pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_deferred_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tint op;\n\txfs_agblock_t gbno;\n\txfs_extlen_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_double_extent_at_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain i1_domain;\n\txfs_agblock_t i1_startblock;\n\txfs_extlen_t i1_blockcount;\n\txfs_nlink_t i1_refcount;\n\tenum xfs_refc_domain i2_domain;\n\txfs_agblock_t i2_startblock;\n\txfs_extlen_t i2_blockcount;\n\txfs_nlink_t i2_refcount;\n\txfs_agblock_t gbno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_double_extent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain i1_domain;\n\txfs_agblock_t i1_startblock;\n\txfs_extlen_t i1_blockcount;\n\txfs_nlink_t i1_refcount;\n\tenum xfs_refc_domain i2_domain;\n\txfs_agblock_t i2_startblock;\n\txfs_extlen_t i2_blockcount;\n\txfs_nlink_t i2_refcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_extent_at_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain domain;\n\txfs_agblock_t startblock;\n\txfs_extlen_t blockcount;\n\txfs_nlink_t refcount;\n\txfs_agblock_t gbno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_extent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain domain;\n\txfs_agblock_t startblock;\n\txfs_extlen_t blockcount;\n\txfs_nlink_t refcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_lookup {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\txfs_lookup_t dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_refcount_triple_extent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tenum xfs_refc_domain i1_domain;\n\txfs_agblock_t i1_startblock;\n\txfs_extlen_t i1_blockcount;\n\txfs_nlink_t i1_refcount;\n\tenum xfs_refc_domain i2_domain;\n\txfs_agblock_t i2_startblock;\n\txfs_extlen_t i2_blockcount;\n\txfs_nlink_t i2_refcount;\n\tenum xfs_refc_domain i3_domain;\n\txfs_agblock_t i3_startblock;\n\txfs_extlen_t i3_blockcount;\n\txfs_nlink_t i3_refcount;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_reflink_remap_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t src_ino;\n\txfs_fileoff_t src_lblk;\n\txfs_filblks_t len;\n\txfs_ino_t dest_ino;\n\txfs_fileoff_t dest_lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rename {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t src_dp_ino;\n\txfs_ino_t target_dp_ino;\n\tint src_namelen;\n\tint target_namelen;\n\tu32 __data_loc_src_name;\n\tu32 __data_loc_target_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\txfs_extlen_t len;\n\tuint64_t owner;\n\tuint64_t offset;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rmap_convert_state {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\tint state;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rmap_deferred_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong long unsigned int owner;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\tint whichfork;\n\txfs_fileoff_t l_loff;\n\txfs_filblks_t l_len;\n\txfs_exntst_t l_state;\n\tint op;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rmapbt_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tenum xfs_group_type type;\n\txfs_agnumber_t agno;\n\txfs_agblock_t gbno;\n\txfs_extlen_t len;\n\tuint64_t owner;\n\tuint64_t offset;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_rtdiscard_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_rtblock_t rtbno;\n\txfs_rtblock_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_simple_io_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tloff_t isize;\n\tloff_t disize;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_swap_extent_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint which;\n\txfs_ino_t ino;\n\tint format;\n\txfs_extnum_t nex;\n\tint broot_size;\n\tint fork_off;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_timestamp_range_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong long int min;\n\tlong long int max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_trans_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tuint32_t tid;\n\tuint32_t flags;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_trans_mod_dquot {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_dqtype_t type;\n\tunsigned int flags;\n\tunsigned int dqid;\n\tunsigned int field;\n\tint64_t delta;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_trans_resv_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint type;\n\tuint logres;\n\tint logcount;\n\tint logflags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xfs_wb_invalid_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\txfs_ino_t ino;\n\tu64 addr;\n\tloff_t pos;\n\tu64 len;\n\tu16 type;\n\tu16 flags;\n\tu32 wpcseq;\n\tu32 forkseq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xlog_iclog_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tuint32_t state;\n\tint32_t refcount;\n\tuint32_t offset;\n\tuint32_t flags;\n\tlong long unsigned int lsn;\n\tlong unsigned int caller_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xlog_intent_recovery_failed {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 __data_loc_name;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_cong_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int snd_task_id;\n\tlong unsigned int cong;\n\tlong unsigned int cwnd;\n\tbool wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_ping {\n\tstruct trace_entry ent;\n\tint status;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_reserve {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_retransmit {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint ntrans;\n\tint version;\n\tlong unsigned int timeout;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_transmit {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seqno;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_writelock_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int snd_task_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_data_ready {\n\tstruct trace_entry ent;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_socket_event {\n\tstruct trace_entry ent;\n\tunsigned int socket_state;\n\tunsigned int sock_state;\n\tlong long unsigned int ino;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_socket_event_done {\n\tstruct trace_entry ent;\n\tint error;\n\tunsigned int socket_state;\n\tunsigned int sock_state;\n\tlong long unsigned int ino;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_stream_read_data {\n\tstruct trace_entry ent;\n\tssize_t err;\n\tsize_t total;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_stream_read_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tu32 xid;\n\tlong unsigned int copied;\n\tunsigned int reclen;\n\tunsigned int offset;\n\tchar __data[0];\n};\n\nstruct trace_export {\n\tstruct trace_export *next;\n\tvoid (*write)(struct trace_export *, const void *, unsigned int);\n\tint flags;\n};\n\nstruct trace_func_repeats {\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tlong unsigned int count;\n\tu64 ts_last_call;\n};\n\nstruct trace_imc_data {\n\t__be64 tb1;\n\t__be64 ip;\n\t__be64 val;\n\t__be64 cpmc1;\n\t__be64 cpmc2;\n\t__be64 cpmc3;\n\t__be64 cpmc4;\n\t__be64 tb2;\n};\n\nstruct trace_kprobe {\n\tstruct dyn_event devent;\n\tstruct kretprobe rp;\n\tlong unsigned int *nhit;\n\tconst char *symbol;\n\tstruct trace_probe tp;\n};\n\nstruct trace_mark {\n\tlong long unsigned int val;\n\tchar sym;\n};\n\nstruct trace_min_max_param {\n\tstruct mutex *lock;\n\tu64 *val;\n\tu64 *min;\n\tu64 *max;\n};\n\nstruct tracer_opt;\n\nstruct tracer_flags;\n\nstruct trace_option_dentry {\n\tstruct tracer_opt *opt;\n\tstruct tracer_flags *flags;\n\tstruct trace_array *tr;\n\tstruct dentry *entry;\n};\n\nstruct trace_options {\n\tstruct tracer *tracer;\n\tstruct trace_option_dentry *topts;\n};\n\nunion upper_chunk;\n\nstruct trace_pid_list {\n\traw_spinlock_t lock;\n\tstruct irq_work refill_irqwork;\n\tunion upper_chunk *upper[256];\n\tunion upper_chunk *upper_list;\n\tunion lower_chunk *lower_list;\n\tint free_upper_chunks;\n\tint free_lower_chunks;\n};\n\nstruct trace_print_flags {\n\tlong unsigned int mask;\n\tconst char *name;\n};\n\nstruct trace_uprobe_filter {\n\trwlock_t rwlock;\n\tint nr_systemwide;\n\tstruct list_head perf_events;\n};\n\nstruct trace_probe_event {\n\tunsigned int flags;\n\tstruct trace_event_class class;\n\tstruct trace_event_call call;\n\tstruct list_head files;\n\tstruct list_head probes;\n\tstruct trace_uprobe_filter filter[0];\n};\n\nstruct trace_probe_log {\n\tconst char *subsystem;\n\tconst char **argv;\n\tint argc;\n\tint index;\n};\n\nstruct trace_subsystem_dir {\n\tstruct list_head list;\n\tstruct event_subsystem *subsystem;\n\tstruct trace_array *tr;\n\tstruct eventfs_inode *ei;\n\tint ref_count;\n\tint nr_events;\n};\n\nstruct trace_uprobe {\n\tstruct dyn_event devent;\n\tstruct uprobe_consumer consumer;\n\tstruct path path;\n\tchar *filename;\n\tstruct uprobe *uprobe;\n\tlong unsigned int offset;\n\tlong unsigned int ref_ctr_offset;\n\tlong unsigned int *nhits;\n\tstruct trace_probe tp;\n};\n\nstruct tracefs_dir_ops {\n\tint (*mkdir)(const char *);\n\tint (*rmdir)(const char *);\n};\n\nstruct tracefs_fs_info {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tunsigned int opts;\n};\n\nstruct tracefs_inode {\n\tstruct inode vfs_inode;\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tvoid *private;\n};\n\nstruct tracepoint_ext;\n\nstruct tracepoint {\n\tconst char *name;\n\tstruct static_key_false key;\n\tstruct static_call_key *static_call_key;\n\tvoid *static_call_tramp;\n\tvoid *iterator;\n\tvoid *probestub;\n\tstruct tracepoint_func *funcs;\n\tstruct tracepoint_ext *ext;\n};\n\nstruct tracepoint_ext {\n\tint (*regfunc)(void);\n\tvoid (*unregfunc)(void);\n\tunsigned int faultable: 1;\n};\n\nstruct traceprobe_parse_context {\n\tstruct trace_event_call *event;\n\tconst char *funcname;\n\tconst struct btf_type *proto;\n\tconst struct btf_param *params;\n\ts32 nr_params;\n\tstruct btf *btf;\n\tconst struct btf_type *last_type;\n\tu32 last_bitoffs;\n\tu32 last_bitsize;\n\tstruct trace_probe *tp;\n\tunsigned int flags;\n\tint offset;\n};\n\nstruct tracer {\n\tconst char *name;\n\tint (*init)(struct trace_array *);\n\tvoid (*reset)(struct trace_array *);\n\tvoid (*start)(struct trace_array *);\n\tvoid (*stop)(struct trace_array *);\n\tint (*update_thresh)(struct trace_array *);\n\tvoid (*open)(struct trace_iterator *);\n\tvoid (*pipe_open)(struct trace_iterator *);\n\tvoid (*close)(struct trace_iterator *);\n\tvoid (*pipe_close)(struct trace_iterator *);\n\tssize_t (*read)(struct trace_iterator *, struct file *, char *, size_t, loff_t *);\n\tssize_t (*splice_read)(struct trace_iterator *, struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*print_header)(struct seq_file *);\n\tenum print_line_t (*print_line)(struct trace_iterator *);\n\tint (*set_flag)(struct trace_array *, u32, u32, int);\n\tint (*flag_changed)(struct trace_array *, u32, int);\n\tstruct tracer *next;\n\tstruct tracer_flags *flags;\n\tint enabled;\n\tbool print_max;\n\tbool allow_instances;\n\tbool use_max_tr;\n\tbool noboot;\n};\n\nstruct tracer_flags {\n\tu32 val;\n\tstruct tracer_opt *opts;\n\tstruct tracer *trace;\n};\n\nstruct tracer_opt {\n\tconst char *name;\n\tu32 bit;\n};\n\ntypedef int (*cmp_func_t)(const void *, const void *);\n\nstruct tracer_stat {\n\tconst char *name;\n\tvoid * (*stat_start)(struct tracer_stat *);\n\tvoid * (*stat_next)(void *, int);\n\tcmp_func_t stat_cmp;\n\tint (*stat_show)(struct seq_file *, void *);\n\tvoid (*stat_release)(void *);\n\tint (*stat_headers)(struct seq_file *);\n};\n\nstruct tracing_log_err {\n\tstruct list_head list;\n\tstruct err_info info;\n\tchar loc[128];\n\tchar *cmd;\n};\n\nstruct track {\n\tlong unsigned int addr;\n\tdepot_stack_handle_t handle;\n\tint cpu;\n\tint pid;\n\tlong unsigned int when;\n};\n\nstruct trackpoint_attr_data {\n\tsize_t field_offset;\n\tu8 command;\n\tu8 mask;\n\tbool inverted;\n\tu8 power_on_default;\n};\n\nstruct trackpoint_data {\n\tu8 variant_id;\n\tu8 firmware_id;\n\tu8 sensitivity;\n\tu8 speed;\n\tu8 inertia;\n\tu8 reach;\n\tu8 draghys;\n\tu8 mindrag;\n\tu8 thresh;\n\tu8 upthresh;\n\tu8 ztime;\n\tu8 jenks;\n\tu8 drift_time;\n\tbool press_to_select;\n\tbool skipback;\n\tbool ext_dev;\n};\n\nstruct transaction_chp_stats_s {\n\tlong unsigned int cs_chp_time;\n\t__u32 cs_forced_to_close;\n\t__u32 cs_written;\n\t__u32 cs_dropped;\n};\n\nstruct transaction_s {\n\tjournal_t *t_journal;\n\ttid_t t_tid;\n\tenum {\n\t\tT_RUNNING = 0,\n\t\tT_LOCKED = 1,\n\t\tT_SWITCH = 2,\n\t\tT_FLUSH = 3,\n\t\tT_COMMIT = 4,\n\t\tT_COMMIT_DFLUSH = 5,\n\t\tT_COMMIT_JFLUSH = 6,\n\t\tT_COMMIT_CALLBACK = 7,\n\t\tT_FINISHED = 8,\n\t} t_state;\n\tlong unsigned int t_log_start;\n\tint t_nr_buffers;\n\tstruct journal_head *t_reserved_list;\n\tstruct journal_head *t_buffers;\n\tstruct journal_head *t_forget;\n\tstruct journal_head *t_checkpoint_list;\n\tstruct journal_head *t_shadow_list;\n\tstruct list_head t_inode_list;\n\tlong unsigned int t_max_wait;\n\tlong unsigned int t_start;\n\tlong unsigned int t_requested;\n\tstruct transaction_chp_stats_s t_chp_stats;\n\tatomic_t t_updates;\n\tatomic_t t_outstanding_credits;\n\tatomic_t t_outstanding_revokes;\n\tatomic_t t_handle_count;\n\ttransaction_t *t_cpnext;\n\ttransaction_t *t_cpprev;\n\tlong unsigned int t_expires;\n\tktime_t t_start_time;\n\tunsigned int t_synchronous_commit: 1;\n\tint t_need_data_flush;\n\tstruct list_head t_private_list;\n};\n\nstruct trc_stall_chk_rdr {\n\tint nesting;\n\tint ipi_to_cpu;\n\tu8 needqs;\n};\n\ntypedef struct tree_desc_s tree_desc;\n\nstruct tree_descr {\n\tconst char *name;\n\tconst struct file_operations *ops;\n\tint mode;\n};\n\nstruct trie {\n\tstruct key_vector kv[1];\n};\n\nstruct trie_stat {\n\tunsigned int totdepth;\n\tunsigned int maxdepth;\n\tunsigned int tnodes;\n\tunsigned int leaves;\n\tunsigned int nullpointers;\n\tunsigned int prefixes;\n\tunsigned int nodesizes[32];\n};\n\nstruct ts_ops;\n\nstruct ts_state;\n\nstruct ts_config {\n\tstruct ts_ops *ops;\n\tint flags;\n\tunsigned int (*get_next_block)(unsigned int, const u8 **, struct ts_config *, struct ts_state *);\n\tvoid (*finish)(struct ts_config *, struct ts_state *);\n};\n\nstruct ts_ops {\n\tconst char *name;\n\tstruct ts_config * (*init)(const void *, unsigned int, gfp_t, int);\n\tunsigned int (*find)(struct ts_config *, struct ts_state *);\n\tvoid (*destroy)(struct ts_config *);\n\tvoid * (*get_pattern)(struct ts_config *);\n\tunsigned int (*get_pattern_len)(struct ts_config *);\n\tstruct module *owner;\n\tstruct list_head list;\n};\n\nstruct ts_state {\n\tunsigned int offset;\n\tchar cb[48];\n};\n\nstruct tsconfig_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct hwtstamp_provider_desc hwprov_desc;\n\tstruct {\n\t\tu32 tx_type;\n\t\tu32 rx_filter;\n\t\tu32 flags;\n\t} hwtst_config;\n};\n\nstruct tsconfig_req_info {\n\tstruct ethnl_req_info base;\n};\n\nstruct tsinfo_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct kernel_ethtool_ts_info ts_info;\n\tstruct ethtool_ts_stats stats;\n};\n\nstruct tsinfo_req_info {\n\tstruct ethnl_req_info base;\n\tstruct hwtstamp_provider_desc hwprov_desc;\n};\n\nstruct tso_t {\n\tint next_frag_idx;\n\tint size;\n\tvoid *data;\n\tu16 ip_id;\n\tu8 tlen;\n\tbool ipv6;\n\tu32 tcp_seq;\n};\n\nstruct tsq_tasklet {\n\tstruct tasklet_struct tasklet;\n\tstruct list_head head;\n};\n\nstruct tty_audit_buf {\n\tstruct mutex mutex;\n\tdev_t dev;\n\tbool icanon;\n\tsize_t valid;\n\tu8 *data;\n};\n\nstruct tty_operations;\n\nstruct tty_driver {\n\tstruct kref kref;\n\tstruct cdev **cdevs;\n\tstruct module *owner;\n\tconst char *driver_name;\n\tconst char *name;\n\tint name_base;\n\tint major;\n\tint minor_start;\n\tunsigned int num;\n\tshort int type;\n\tshort int subtype;\n\tstruct ktermios init_termios;\n\tlong unsigned int flags;\n\tstruct proc_dir_entry *proc_entry;\n\tstruct tty_driver *other;\n\tstruct tty_struct **ttys;\n\tstruct tty_port **ports;\n\tstruct ktermios **termios;\n\tvoid *driver_state;\n\tconst struct tty_operations *ops;\n\tstruct list_head tty_drivers;\n};\n\nstruct tty_file_private {\n\tstruct tty_struct *tty;\n\tstruct file *file;\n\tstruct list_head list;\n};\n\nstruct tty_ldisc_ops;\n\nstruct tty_ldisc {\n\tstruct tty_ldisc_ops *ops;\n\tstruct tty_struct *tty;\n};\n\nstruct tty_ldisc_ops {\n\tchar *name;\n\tint num;\n\tint (*open)(struct tty_struct *);\n\tvoid (*close)(struct tty_struct *);\n\tvoid (*flush_buffer)(struct tty_struct *);\n\tssize_t (*read)(struct tty_struct *, struct file *, u8 *, size_t, void **, long unsigned int);\n\tssize_t (*write)(struct tty_struct *, struct file *, const u8 *, size_t);\n\tint (*ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tvoid (*set_termios)(struct tty_struct *, const struct ktermios *);\n\t__poll_t (*poll)(struct tty_struct *, struct file *, struct poll_table_struct *);\n\tvoid (*hangup)(struct tty_struct *);\n\tvoid (*receive_buf)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct tty_struct *);\n\tvoid (*dcd_change)(struct tty_struct *, bool);\n\tsize_t (*receive_buf2)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tvoid (*lookahead_buf)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tstruct module *owner;\n};\n\nstruct tty_operations {\n\tstruct tty_struct * (*lookup)(struct tty_driver *, struct file *, int);\n\tint (*install)(struct tty_driver *, struct tty_struct *);\n\tvoid (*remove)(struct tty_driver *, struct tty_struct *);\n\tint (*open)(struct tty_struct *, struct file *);\n\tvoid (*close)(struct tty_struct *, struct file *);\n\tvoid (*shutdown)(struct tty_struct *);\n\tvoid (*cleanup)(struct tty_struct *);\n\tssize_t (*write)(struct tty_struct *, const u8 *, size_t);\n\tint (*put_char)(struct tty_struct *, u8);\n\tvoid (*flush_chars)(struct tty_struct *);\n\tunsigned int (*write_room)(struct tty_struct *);\n\tunsigned int (*chars_in_buffer)(struct tty_struct *);\n\tint (*ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tlong int (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tvoid (*set_termios)(struct tty_struct *, const struct ktermios *);\n\tvoid (*throttle)(struct tty_struct *);\n\tvoid (*unthrottle)(struct tty_struct *);\n\tvoid (*stop)(struct tty_struct *);\n\tvoid (*start)(struct tty_struct *);\n\tvoid (*hangup)(struct tty_struct *);\n\tint (*break_ctl)(struct tty_struct *, int);\n\tvoid (*flush_buffer)(struct tty_struct *);\n\tint (*ldisc_ok)(struct tty_struct *, int);\n\tvoid (*set_ldisc)(struct tty_struct *);\n\tvoid (*wait_until_sent)(struct tty_struct *, int);\n\tvoid (*send_xchar)(struct tty_struct *, u8);\n\tint (*tiocmget)(struct tty_struct *);\n\tint (*tiocmset)(struct tty_struct *, unsigned int, unsigned int);\n\tint (*resize)(struct tty_struct *, struct winsize *);\n\tint (*get_icount)(struct tty_struct *, struct serial_icounter_struct *);\n\tint (*get_serial)(struct tty_struct *, struct serial_struct *);\n\tint (*set_serial)(struct tty_struct *, struct serial_struct *);\n\tvoid (*show_fdinfo)(struct tty_struct *, struct seq_file *);\n\tint (*proc_show)(struct seq_file *, void *);\n};\n\nstruct tty_port_client_operations {\n\tsize_t (*receive_buf)(struct tty_port *, const u8 *, const u8 *, size_t);\n\tvoid (*lookahead_buf)(struct tty_port *, const u8 *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct tty_port *);\n};\n\nstruct tty_port_operations {\n\tbool (*carrier_raised)(struct tty_port *);\n\tvoid (*dtr_rts)(struct tty_port *, bool);\n\tvoid (*shutdown)(struct tty_port *);\n\tint (*activate)(struct tty_port *, struct tty_struct *);\n\tvoid (*destruct)(struct tty_port *);\n};\n\nstruct tty_struct {\n\tstruct kref kref;\n\tint index;\n\tstruct device *dev;\n\tstruct tty_driver *driver;\n\tstruct tty_port *port;\n\tconst struct tty_operations *ops;\n\tstruct tty_ldisc *ldisc;\n\tstruct ld_semaphore ldisc_sem;\n\tstruct mutex atomic_write_lock;\n\tstruct mutex legacy_mutex;\n\tstruct mutex throttle_mutex;\n\tstruct rw_semaphore termios_rwsem;\n\tstruct mutex winsize_mutex;\n\tstruct ktermios termios;\n\tstruct ktermios termios_locked;\n\tchar name[64];\n\tlong unsigned int flags;\n\tint count;\n\tunsigned int receive_room;\n\tstruct winsize winsize;\n\tstruct {\n\t\tspinlock_t lock;\n\t\tbool stopped;\n\t\tbool tco_stopped;\n\t} flow;\n\tstruct {\n\t\tstruct pid *pgrp;\n\t\tstruct pid *session;\n\t\tspinlock_t lock;\n\t\tunsigned char pktstatus;\n\t\tbool packet;\n\t} ctrl;\n\tbool hw_stopped;\n\tbool closing;\n\tint flow_change;\n\tstruct tty_struct *link;\n\tstruct fasync_struct *fasync;\n\twait_queue_head_t write_wait;\n\twait_queue_head_t read_wait;\n\tstruct work_struct hangup_work;\n\tvoid *disc_data;\n\tvoid *driver_data;\n\tspinlock_t files_lock;\n\tint write_cnt;\n\tu8 *write_buf;\n\tstruct list_head tty_files;\n\tstruct work_struct SAK_work;\n};\n\nstruct tun_security_struct {\n\tu32 sid;\n};\n\nstruct tuple_flags {\n\tu_int link_space: 4;\n\tu_int has_link: 1;\n\tu_int mfc_fn: 3;\n\tu_int space: 4;\n};\n\nstruct tuple_t {\n\tu_int Attributes;\n\tcisdata_t DesiredTuple;\n\tu_int Flags;\n\tu_int LinkOffset;\n\tu_int CISOffset;\n\tcisdata_t TupleCode;\n\tcisdata_t TupleLink;\n\tcisdata_t TupleOffset;\n\tcisdata_t TupleDataMax;\n\tcisdata_t TupleDataLen;\n\tcisdata_t *TupleData;\n};\n\nstruct type_datum {\n\tu32 value;\n\tu32 bounds;\n\tunsigned char primary;\n\tunsigned char attribute;\n};\n\nstruct type_set {\n\tstruct ebitmap types;\n\tstruct ebitmap negset;\n\tu32 flags;\n};\n\nstruct typec_connector {\n\tvoid (*attach)(struct typec_connector *, struct device *);\n\tvoid (*deattach)(struct typec_connector *, struct device *);\n};\n\nstruct uart_8250_dma {\n\tint (*tx_dma)(struct uart_8250_port *);\n\tint (*rx_dma)(struct uart_8250_port *);\n\tvoid (*prepare_tx_dma)(struct uart_8250_port *);\n\tvoid (*prepare_rx_dma)(struct uart_8250_port *);\n\tdma_filter_fn fn;\n\tvoid *rx_param;\n\tvoid *tx_param;\n\tstruct dma_slave_config rxconf;\n\tstruct dma_slave_config txconf;\n\tstruct dma_chan *rxchan;\n\tstruct dma_chan *txchan;\n\tphys_addr_t rx_dma_addr;\n\tphys_addr_t tx_dma_addr;\n\tdma_addr_t rx_addr;\n\tdma_addr_t tx_addr;\n\tdma_cookie_t rx_cookie;\n\tdma_cookie_t tx_cookie;\n\tvoid *rx_buf;\n\tsize_t rx_size;\n\tsize_t tx_size;\n\tunsigned char tx_running;\n\tunsigned char tx_err;\n\tunsigned char rx_running;\n};\n\nstruct uart_8250_em485 {\n\tstruct hrtimer start_tx_timer;\n\tstruct hrtimer stop_tx_timer;\n\tstruct hrtimer *active_timer;\n\tstruct uart_8250_port *port;\n\tunsigned int tx_stopped: 1;\n};\n\nstruct uart_8250_ops {\n\tint (*setup_irq)(struct uart_8250_port *);\n\tvoid (*release_irq)(struct uart_8250_port *);\n\tvoid (*setup_timer)(struct uart_8250_port *);\n};\n\nstruct mctrl_gpios;\n\nstruct uart_8250_port {\n\tstruct uart_port port;\n\tstruct timer_list timer;\n\tstruct list_head list;\n\tu32 capabilities;\n\tu16 bugs;\n\tunsigned int tx_loadsz;\n\tunsigned char acr;\n\tunsigned char fcr;\n\tunsigned char ier;\n\tunsigned char lcr;\n\tunsigned char mcr;\n\tunsigned char cur_iotype;\n\tunsigned int rpm_tx_active;\n\tunsigned char canary;\n\tunsigned char probe;\n\tstruct mctrl_gpios *gpios;\n\tu16 lsr_saved_flags;\n\tu16 lsr_save_mask;\n\tunsigned char msr_saved_flags;\n\tstruct uart_8250_dma *dma;\n\tconst struct uart_8250_ops *ops;\n\tu32 (*dl_read)(struct uart_8250_port *);\n\tvoid (*dl_write)(struct uart_8250_port *, u32);\n\tstruct uart_8250_em485 *em485;\n\tvoid (*rs485_start_tx)(struct uart_8250_port *, bool);\n\tvoid (*rs485_stop_tx)(struct uart_8250_port *, bool);\n\tstruct delayed_work overrun_backoff;\n\tu32 overrun_backoff_time_ms;\n};\n\nstruct uart_driver {\n\tstruct module *owner;\n\tconst char *driver_name;\n\tconst char *dev_name;\n\tint major;\n\tint minor;\n\tint nr;\n\tstruct console *cons;\n\tstruct uart_state *state;\n\tstruct tty_driver *tty_driver;\n};\n\nstruct uart_match {\n\tstruct uart_port *port;\n\tstruct uart_driver *driver;\n};\n\nstruct uart_ops {\n\tunsigned int (*tx_empty)(struct uart_port *);\n\tvoid (*set_mctrl)(struct uart_port *, unsigned int);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tvoid (*stop_tx)(struct uart_port *);\n\tvoid (*start_tx)(struct uart_port *);\n\tvoid (*throttle)(struct uart_port *);\n\tvoid (*unthrottle)(struct uart_port *);\n\tvoid (*send_xchar)(struct uart_port *, char);\n\tvoid (*stop_rx)(struct uart_port *);\n\tvoid (*start_rx)(struct uart_port *);\n\tvoid (*enable_ms)(struct uart_port *);\n\tvoid (*break_ctl)(struct uart_port *, int);\n\tint (*startup)(struct uart_port *);\n\tvoid (*shutdown)(struct uart_port *);\n\tvoid (*flush_buffer)(struct uart_port *);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tconst char * (*type)(struct uart_port *);\n\tvoid (*release_port)(struct uart_port *);\n\tint (*request_port)(struct uart_port *);\n\tvoid (*config_port)(struct uart_port *, int);\n\tint (*verify_port)(struct uart_port *, struct serial_struct *);\n\tint (*ioctl)(struct uart_port *, unsigned int, long unsigned int);\n};\n\nstruct uart_state {\n\tstruct tty_port port;\n\tenum uart_pm_state pm_state;\n\tatomic_t refcount;\n\twait_queue_head_t remove_wait;\n\tstruct uart_port *uart_port;\n};\n\nstruct ubuf_info_msgzc {\n\tstruct ubuf_info ubuf;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int desc;\n\t\t\tvoid *ctx;\n\t\t};\n\t\tstruct {\n\t\t\tu32 id;\n\t\t\tu16 len;\n\t\t\tu16 zerocopy: 1;\n\t\t\tu32 bytelen;\n\t\t};\n\t};\n\tstruct mmpin mmp;\n};\n\nstruct ubuf_info_ops {\n\tvoid (*complete)(struct sk_buff *, struct ubuf_info *, bool);\n\tint (*link_skb)(struct sk_buff *, struct ubuf_info *);\n};\n\nstruct ucounts {\n\tstruct hlist_node node;\n\tstruct user_namespace *ns;\n\tkuid_t uid;\n\tatomic_t count;\n\tatomic_long_t ucount[10];\n\tatomic_long_t rlimit[4];\n};\n\nstruct ucred {\n\t__u32 pid;\n\t__u32 uid;\n\t__u32 gid;\n};\n\nstruct udp_sock {\n\tstruct inet_sock inet;\n\tlong unsigned int udp_flags;\n\tint pending;\n\t__u8 encap_type;\n\t__u16 udp_lrpa_hash;\n\tstruct hlist_nulls_node udp_lrpa_node;\n\t__u16 len;\n\t__u16 gso_size;\n\t__u16 pcslen;\n\t__u16 pcrlen;\n\tint (*encap_rcv)(struct sock *, struct sk_buff *);\n\tvoid (*encap_err_rcv)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\tint (*encap_err_lookup)(struct sock *, struct sk_buff *);\n\tvoid (*encap_destroy)(struct sock *);\n\tstruct sk_buff * (*gro_receive)(struct sock *, struct list_head *, struct sk_buff *);\n\tint (*gro_complete)(struct sock *, struct sk_buff *, int);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sk_buff_head reader_queue;\n\tint forward_deficit;\n\tint forward_threshold;\n\tbool peeking_with_offset;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct udp6_sock {\n\tstruct udp_sock udp;\n\tstruct ipv6_pinfo inet6;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct udp_dev_scratch {\n\tu32 _tsize_state;\n\tu16 len;\n\tbool is_linear;\n\tbool csum_unnecessary;\n};\n\nstruct udp_hslot {\n\tunion {\n\t\tstruct hlist_head head;\n\t\tstruct hlist_nulls_head nulls_head;\n\t};\n\tint count;\n\tspinlock_t lock;\n};\n\nstruct udp_hslot_main {\n\tstruct udp_hslot hslot;\n\tu32 hash4_cnt;\n\tlong: 64;\n};\n\nstruct udp_mib {\n\tlong unsigned int mibs[10];\n};\n\nstruct udp_seq_afinfo {\n\tsa_family_t family;\n\tstruct udp_table *udp_table;\n};\n\nstruct udp_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\t__u16 cscov;\n\t__u8 partial_cov;\n};\n\nstruct udp_table {\n\tstruct udp_hslot *hash;\n\tstruct udp_hslot_main *hash2;\n\tstruct udp_hslot *hash4;\n\tunsigned int mask;\n\tunsigned int log;\n};\n\nstruct udp_tunnel_info {\n\tshort unsigned int type;\n\tsa_family_t sa_family;\n\t__be16 port;\n\tu8 hw_priv;\n};\n\nstruct udp_tunnel_nic_table_info {\n\tunsigned int n_entries;\n\tunsigned int tunnel_types;\n};\n\nstruct udp_tunnel_nic_shared;\n\nstruct udp_tunnel_nic_info {\n\tint (*set_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tint (*unset_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tint (*sync_table)(struct net_device *, unsigned int);\n\tstruct udp_tunnel_nic_shared *shared;\n\tunsigned int flags;\n\tstruct udp_tunnel_nic_table_info tables[4];\n};\n\nstruct udp_tunnel_nic_ops {\n\tvoid (*get_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tvoid (*set_port_priv)(struct net_device *, unsigned int, unsigned int, u8);\n\tvoid (*add_port)(struct net_device *, struct udp_tunnel_info *);\n\tvoid (*del_port)(struct net_device *, struct udp_tunnel_info *);\n\tvoid (*reset_ntf)(struct net_device *);\n\tsize_t (*dump_size)(struct net_device *, unsigned int);\n\tint (*dump_write)(struct net_device *, unsigned int, struct sk_buff *);\n};\n\nstruct udp_tunnel_nic_shared {\n\tstruct udp_tunnel_nic *udp_tunnel_nic_info;\n\tstruct list_head devices;\n};\n\nstruct uevent_sock {\n\tstruct list_head list;\n\tstruct sock *sk;\n};\n\nstruct umem_info {\n\t__be64 *buf;\n\tu32 size;\n\tu32 max_entries;\n\tu32 idx;\n\tunsigned int nr_ranges;\n\tconst struct range *ranges;\n};\n\nstruct uncached_list {\n\tspinlock_t lock;\n\tstruct list_head head;\n};\n\nstruct uncharge_gather {\n\tstruct mem_cgroup *memcg;\n\tlong unsigned int nr_memory;\n\tlong unsigned int pgpgout;\n\tlong unsigned int nr_kmem;\n\tint nid;\n};\n\nstruct uni_pagedict {\n\tu16 **uni_pgdir[32];\n\tlong unsigned int refcount;\n\tlong unsigned int sum;\n\tunsigned char *inverse_translations[4];\n\tu16 *inverse_trans_unicode;\n};\n\nstruct unipair;\n\nstruct unimapdesc {\n\tshort unsigned int entry_ct;\n\tstruct unipair *entries;\n};\n\nstruct unipair {\n\tshort unsigned int unicode;\n\tshort unsigned int fontpos;\n};\n\nstruct unix_address {\n\trefcount_t refcnt;\n\tint len;\n\tstruct sockaddr_un name[0];\n};\n\nstruct unix_domain {\n\tstruct auth_domain h;\n};\n\nstruct unix_edge {\n\tstruct unix_sock *predecessor;\n\tstruct unix_sock *successor;\n\tstruct list_head vertex_entry;\n\tstruct list_head stack_entry;\n};\n\nstruct unix_gid {\n\tstruct cache_head h;\n\tkuid_t uid;\n\tstruct group_info *gi;\n\tstruct callback_head rcu;\n};\n\nstruct unix_skb_parms {\n\tstruct pid *pid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct scm_fp_list *fp;\n\tu32 secid;\n\tu32 consumed;\n};\n\nstruct unix_vertex;\n\nstruct unix_sock {\n\tstruct sock sk;\n\tstruct unix_address *addr;\n\tstruct path path;\n\tstruct mutex iolock;\n\tstruct mutex bindlock;\n\tstruct sock *peer;\n\tstruct sock *listener;\n\tstruct unix_vertex *vertex;\n\tspinlock_t lock;\n\tstruct socket_wq peer_wq;\n\twait_queue_entry_t peer_wake;\n\tstruct scm_stat scm_stat;\n\tstruct sk_buff *oob_skb;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct unix_stream_read_state {\n\tint (*recv_actor)(struct sk_buff *, int, int, struct unix_stream_read_state *);\n\tstruct socket *socket;\n\tstruct msghdr *msg;\n\tstruct pipe_inode_info *pipe;\n\tsize_t size;\n\tint flags;\n\tunsigned int splice_flags;\n};\n\nstruct unix_vertex {\n\tstruct list_head edges;\n\tstruct list_head entry;\n\tstruct list_head scc_entry;\n\tlong unsigned int out_degree;\n\tlong unsigned int index;\n\tlong unsigned int scc_index;\n};\n\nstruct unlink_vma_file_batch {\n\tint count;\n\tstruct vm_area_struct *vmas[8];\n};\n\nstruct update_flash_t {\n\tint status;\n};\n\nstruct update_props_workarea {\n\t__be32 phandle;\n\t__be32 state;\n\t__be64 reserved;\n\t__be32 nprops;\n} __attribute__((packed));\n\nunion upper_chunk {\n\tunion upper_chunk *next;\n\tunion lower_chunk *data[256];\n};\n\nstruct uprobe {\n\tstruct rb_node rb_node;\n\trefcount_t ref;\n\tstruct rw_semaphore register_rwsem;\n\tstruct rw_semaphore consumer_rwsem;\n\tstruct list_head pending_list;\n\tstruct list_head consumers;\n\tstruct inode *inode;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n\tloff_t offset;\n\tloff_t ref_ctr_offset;\n\tlong unsigned int flags;\n\tstruct arch_uprobe arch;\n};\n\nstruct uprobe_cpu_buffer {\n\tstruct mutex mutex;\n\tvoid *buf;\n\tint dsize;\n};\n\nstruct uprobe_dispatch_data {\n\tstruct trace_uprobe *tu;\n\tlong unsigned int bp_addr;\n};\n\nstruct uprobe_task {\n\tenum uprobe_task_state state;\n\tunsigned int depth;\n\tstruct return_instance *return_instances;\n\tstruct return_instance *ri_pool;\n\tstruct timer_list ri_timer;\n\tseqcount_t ri_seqcount;\n\tunion {\n\t\tstruct {\n\t\t\tstruct arch_uprobe_task autask;\n\t\t\tlong unsigned int vaddr;\n\t\t};\n\t\tstruct {\n\t\t\tstruct callback_head dup_xol_work;\n\t\t\tlong unsigned int dup_xol_addr;\n\t\t};\n\t};\n\tstruct uprobe *active_uprobe;\n\tlong unsigned int xol_vaddr;\n\tstruct arch_uprobe *auprobe;\n};\n\nstruct uprobe_trace_entry_head {\n\tstruct trace_entry ent;\n\tlong unsigned int vaddr[0];\n};\n\ntypedef void (*usb_complete_t)(struct urb *);\n\nstruct usb_iso_packet_descriptor {\n\tunsigned int offset;\n\tunsigned int length;\n\tunsigned int actual_length;\n\tint status;\n};\n\nstruct usb_anchor;\n\nstruct urb {\n\tstruct kref kref;\n\tint unlinked;\n\tvoid *hcpriv;\n\tatomic_t use_count;\n\tatomic_t reject;\n\tstruct list_head urb_list;\n\tstruct list_head anchor_list;\n\tstruct usb_anchor *anchor;\n\tstruct usb_device *dev;\n\tstruct usb_host_endpoint *ep;\n\tunsigned int pipe;\n\tunsigned int stream_id;\n\tint status;\n\tunsigned int transfer_flags;\n\tvoid *transfer_buffer;\n\tdma_addr_t transfer_dma;\n\tstruct scatterlist *sg;\n\tint num_mapped_sgs;\n\tint num_sgs;\n\tu32 transfer_buffer_length;\n\tu32 actual_length;\n\tunsigned char *setup_packet;\n\tdma_addr_t setup_dma;\n\tint start_frame;\n\tint number_of_packets;\n\tint interval;\n\tint error_count;\n\tvoid *context;\n\tusb_complete_t complete;\n\tstruct usb_iso_packet_descriptor iso_frame_desc[0];\n};\n\nstruct urb_priv {\n\tstruct ed *ed;\n\tu16 length;\n\tu16 td_cnt;\n\tstruct list_head pending;\n\tstruct td *td[0];\n};\n\ntypedef struct urb_priv urb_priv_t;\n\nstruct usage_priority {\n\t__u32 usage;\n\tbool global;\n\tunsigned int slot_overwrite;\n};\n\nstruct usb2_lpm_parameters {\n\tunsigned int besl;\n\tint timeout;\n};\n\nstruct usb3_lpm_parameters {\n\tunsigned int mel;\n\tunsigned int pel;\n\tunsigned int sel;\n\tint timeout;\n};\n\nstruct usb_anchor {\n\tstruct list_head urb_list;\n\twait_queue_head_t wait;\n\tspinlock_t lock;\n\tatomic_t suspend_wakeups;\n\tunsigned int poisoned: 1;\n};\n\nstruct usb_bos_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wTotalLength;\n\t__u8 bNumDeviceCaps;\n} __attribute__((packed));\n\nstruct mon_bus;\n\nstruct usb_bus {\n\tstruct device *controller;\n\tstruct device *sysdev;\n\tint busnum;\n\tconst char *bus_name;\n\tu8 uses_pio_for_control;\n\tu8 otg_port;\n\tunsigned int is_b_host: 1;\n\tunsigned int b_hnp_enable: 1;\n\tunsigned int no_stop_on_short: 1;\n\tunsigned int no_sg_constraint: 1;\n\tunsigned int sg_tablesize;\n\tint devnum_next;\n\tstruct mutex devnum_next_mutex;\n\tlong unsigned int devmap[2];\n\tstruct usb_device *root_hub;\n\tstruct usb_bus *hs_companion;\n\tint bandwidth_allocated;\n\tint bandwidth_int_reqs;\n\tint bandwidth_isoc_reqs;\n\tunsigned int resuming_ports;\n\tstruct mon_bus *mon_bus;\n\tint monitored;\n};\n\nstruct usb_cdc_acm_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bmCapabilities;\n};\n\nstruct usb_cdc_call_mgmt_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bmCapabilities;\n\t__u8 bDataInterface;\n};\n\nstruct usb_cdc_country_functional_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 iCountryCodeRelDate;\n\t__le16 wCountyCode0;\n};\n\nstruct usb_cdc_dmm_desc {\n\t__u8 bFunctionLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubtype;\n\t__u16 bcdVersion;\n\t__le16 wMaxCommand;\n} __attribute__((packed));\n\nstruct usb_cdc_ether_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 iMACAddress;\n\t__le32 bmEthernetStatistics;\n\t__le16 wMaxSegmentSize;\n\t__le16 wNumberMCFilters;\n\t__u8 bNumberPowerFilters;\n} __attribute__((packed));\n\nstruct usb_cdc_header_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdCDC;\n} __attribute__((packed));\n\nstruct usb_cdc_mbim_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdMBIMVersion;\n\t__le16 wMaxControlMessage;\n\t__u8 bNumberFilters;\n\t__u8 bMaxFilterSize;\n\t__le16 wMaxSegmentSize;\n\t__u8 bmNetworkCapabilities;\n} __attribute__((packed));\n\nstruct usb_cdc_mbim_extended_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdMBIMExtendedVersion;\n\t__u8 bMaxOutstandingCommandMessages;\n\t__le16 wMTU;\n} __attribute__((packed));\n\nstruct usb_cdc_mdlm_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdVersion;\n\t__u8 bGUID[16];\n} __attribute__((packed));\n\nstruct usb_cdc_mdlm_detail_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bGuidDescriptorType;\n\t__u8 bDetailData[0];\n};\n\nstruct usb_cdc_ncm_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdNcmVersion;\n\t__u8 bmNetworkCapabilities;\n} __attribute__((packed));\n\nstruct usb_cdc_network_terminal_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bEntityId;\n\t__u8 iName;\n\t__u8 bChannelIndex;\n\t__u8 bPhysicalInterface;\n};\n\nstruct usb_cdc_obex_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdVersion;\n} __attribute__((packed));\n\nstruct usb_cdc_union_desc;\n\nstruct usb_cdc_parsed_header {\n\tstruct usb_cdc_union_desc *usb_cdc_union_desc;\n\tstruct usb_cdc_header_desc *usb_cdc_header_desc;\n\tstruct usb_cdc_call_mgmt_descriptor *usb_cdc_call_mgmt_descriptor;\n\tstruct usb_cdc_acm_descriptor *usb_cdc_acm_descriptor;\n\tstruct usb_cdc_country_functional_desc *usb_cdc_country_functional_desc;\n\tstruct usb_cdc_network_terminal_desc *usb_cdc_network_terminal_desc;\n\tstruct usb_cdc_ether_desc *usb_cdc_ether_desc;\n\tstruct usb_cdc_dmm_desc *usb_cdc_dmm_desc;\n\tstruct usb_cdc_mdlm_desc *usb_cdc_mdlm_desc;\n\tstruct usb_cdc_mdlm_detail_desc *usb_cdc_mdlm_detail_desc;\n\tstruct usb_cdc_obex_desc *usb_cdc_obex_desc;\n\tstruct usb_cdc_ncm_desc *usb_cdc_ncm_desc;\n\tstruct usb_cdc_mbim_desc *usb_cdc_mbim_desc;\n\tstruct usb_cdc_mbim_extended_desc *usb_cdc_mbim_extended_desc;\n\tbool phonet_magic_present;\n};\n\nstruct usb_cdc_union_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bMasterInterface0;\n\t__u8 bSlaveInterface0;\n};\n\nstruct usb_charger_current {\n\tunsigned int sdp_min;\n\tunsigned int sdp_max;\n\tunsigned int dcp_min;\n\tunsigned int dcp_max;\n\tunsigned int cdp_min;\n\tunsigned int cdp_max;\n\tunsigned int aca_min;\n\tunsigned int aca_max;\n};\n\nstruct usb_class_driver {\n\tchar *name;\n\tchar * (*devnode)(const struct device *, umode_t *);\n\tconst struct file_operations *fops;\n\tint minor_base;\n};\n\nstruct usb_config_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wTotalLength;\n\t__u8 bNumInterfaces;\n\t__u8 bConfigurationValue;\n\t__u8 iConfiguration;\n\t__u8 bmAttributes;\n\t__u8 bMaxPower;\n} __attribute__((packed));\n\nstruct usb_ctrlrequest {\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__le16 wValue;\n\t__le16 wIndex;\n\t__le16 wLength;\n};\n\nstruct usb_descriptor_header {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n};\n\nstruct usb_dev_cap_header {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n};\n\nstruct usb_dev_state {\n\tstruct list_head list;\n\tstruct usb_device *dev;\n\tstruct file *file;\n\tspinlock_t lock;\n\tstruct list_head async_pending;\n\tstruct list_head async_completed;\n\tstruct list_head memory_list;\n\twait_queue_head_t wait;\n\twait_queue_head_t wait_for_resume;\n\tunsigned int discsignr;\n\tstruct pid *disc_pid;\n\tconst struct cred *cred;\n\tsigval_t disccontext;\n\tlong unsigned int ifclaimed;\n\tu32 disabled_bulk_eps;\n\tlong unsigned int interface_allowed_mask;\n\tint not_yet_resumed;\n\tbool suspend_allowed;\n\tbool privileges_dropped;\n};\n\nstruct usb_endpoint_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bEndpointAddress;\n\t__u8 bmAttributes;\n\t__le16 wMaxPacketSize;\n\t__u8 bInterval;\n\t__u8 bRefresh;\n\t__u8 bSynchAddress;\n} __attribute__((packed));\n\nstruct usb_ss_ep_comp_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bMaxBurst;\n\t__u8 bmAttributes;\n\t__le16 wBytesPerInterval;\n};\n\nstruct usb_ssp_isoc_ep_comp_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wReseved;\n\t__le32 dwBytesPerInterval;\n};\n\nstruct usb_host_endpoint {\n\tstruct usb_endpoint_descriptor desc;\n\tstruct usb_ss_ep_comp_descriptor ss_ep_comp;\n\tstruct usb_ssp_isoc_ep_comp_descriptor ssp_isoc_ep_comp;\n\tlong: 0;\n\tstruct list_head urb_list;\n\tvoid *hcpriv;\n\tstruct ep_device *ep_dev;\n\tunsigned char *extra;\n\tint extralen;\n\tint enabled;\n\tint streams;\n\tlong: 0;\n} __attribute__((packed));\n\nstruct usb_device_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdUSB;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bMaxPacketSize0;\n\t__le16 idVendor;\n\t__le16 idProduct;\n\t__le16 bcdDevice;\n\t__u8 iManufacturer;\n\t__u8 iProduct;\n\t__u8 iSerialNumber;\n\t__u8 bNumConfigurations;\n};\n\nstruct usb_host_bos;\n\nstruct usb_host_config;\n\nstruct usb_device {\n\tint devnum;\n\tchar devpath[16];\n\tu32 route;\n\tenum usb_device_state state;\n\tenum usb_device_speed speed;\n\tunsigned int rx_lanes;\n\tunsigned int tx_lanes;\n\tenum usb_ssp_rate ssp_rate;\n\tstruct usb_tt *tt;\n\tint ttport;\n\tunsigned int toggle[2];\n\tstruct usb_device *parent;\n\tstruct usb_bus *bus;\n\tstruct usb_host_endpoint ep0;\n\tstruct device dev;\n\tstruct usb_device_descriptor descriptor;\n\tstruct usb_host_bos *bos;\n\tstruct usb_host_config *config;\n\tstruct usb_host_config *actconfig;\n\tstruct usb_host_endpoint *ep_in[16];\n\tstruct usb_host_endpoint *ep_out[16];\n\tchar **rawdescriptors;\n\tshort unsigned int bus_mA;\n\tu8 portnum;\n\tu8 level;\n\tu8 devaddr;\n\tunsigned int can_submit: 1;\n\tunsigned int persist_enabled: 1;\n\tunsigned int reset_in_progress: 1;\n\tunsigned int have_langid: 1;\n\tunsigned int authorized: 1;\n\tunsigned int authenticated: 1;\n\tunsigned int lpm_capable: 1;\n\tunsigned int lpm_devinit_allow: 1;\n\tunsigned int usb2_hw_lpm_capable: 1;\n\tunsigned int usb2_hw_lpm_besl_capable: 1;\n\tunsigned int usb2_hw_lpm_enabled: 1;\n\tunsigned int usb2_hw_lpm_allowed: 1;\n\tunsigned int usb3_lpm_u1_enabled: 1;\n\tunsigned int usb3_lpm_u2_enabled: 1;\n\tint string_langid;\n\tchar *product;\n\tchar *manufacturer;\n\tchar *serial;\n\tstruct list_head filelist;\n\tint maxchild;\n\tu32 quirks;\n\tatomic_t urbnum;\n\tlong unsigned int active_duration;\n\tlong unsigned int connect_time;\n\tunsigned int do_remote_wakeup: 1;\n\tunsigned int reset_resume: 1;\n\tunsigned int port_is_suspended: 1;\n\tenum usb_link_tunnel_mode tunnel_mode;\n\tint slot_id;\n\tstruct usb2_lpm_parameters l1_params;\n\tstruct usb3_lpm_parameters u1_params;\n\tstruct usb3_lpm_parameters u2_params;\n\tunsigned int lpm_disable_count;\n\tu16 hub_delay;\n\tunsigned int use_generic_driver: 1;\n};\n\nstruct usb_device_id;\n\nstruct usb_device_driver {\n\tconst char *name;\n\tbool (*match)(struct usb_device *);\n\tint (*probe)(struct usb_device *);\n\tvoid (*disconnect)(struct usb_device *);\n\tint (*suspend)(struct usb_device *, pm_message_t);\n\tint (*resume)(struct usb_device *, pm_message_t);\n\tint (*choose_configuration)(struct usb_device *);\n\tconst struct attribute_group **dev_groups;\n\tstruct device_driver driver;\n\tconst struct usb_device_id *id_table;\n\tunsigned int supports_autosuspend: 1;\n\tunsigned int generic_subclass: 1;\n};\n\nstruct usb_device_id {\n\t__u16 match_flags;\n\t__u16 idVendor;\n\t__u16 idProduct;\n\t__u16 bcdDevice_lo;\n\t__u16 bcdDevice_hi;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bInterfaceClass;\n\t__u8 bInterfaceSubClass;\n\t__u8 bInterfaceProtocol;\n\t__u8 bInterfaceNumber;\n\tkernel_ulong_t driver_info;\n};\n\nstruct usb_dynids {\n\tstruct list_head list;\n};\n\nstruct usb_interface;\n\nstruct usb_driver {\n\tconst char *name;\n\tint (*probe)(struct usb_interface *, const struct usb_device_id *);\n\tvoid (*disconnect)(struct usb_interface *);\n\tint (*unlocked_ioctl)(struct usb_interface *, unsigned int, void *);\n\tint (*suspend)(struct usb_interface *, pm_message_t);\n\tint (*resume)(struct usb_interface *);\n\tint (*reset_resume)(struct usb_interface *);\n\tint (*pre_reset)(struct usb_interface *);\n\tint (*post_reset)(struct usb_interface *);\n\tvoid (*shutdown)(struct usb_interface *);\n\tconst struct usb_device_id *id_table;\n\tconst struct attribute_group **dev_groups;\n\tstruct usb_dynids dynids;\n\tstruct device_driver driver;\n\tunsigned int no_dynamic_id: 1;\n\tunsigned int supports_autosuspend: 1;\n\tunsigned int disable_hub_initiated_lpm: 1;\n\tunsigned int soft_unbind: 1;\n};\n\nstruct usb_dynid {\n\tstruct list_head node;\n\tstruct usb_device_id id;\n};\n\nstruct usb_ext_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__le32 bmAttributes;\n} __attribute__((packed));\n\nstruct usb_phy;\n\nstruct usb_phy_roothub;\n\nstruct usb_hcd {\n\tstruct usb_bus self;\n\tstruct kref kref;\n\tconst char *product_desc;\n\tint speed;\n\tchar irq_descr[24];\n\tstruct timer_list rh_timer;\n\tstruct urb *status_urb;\n\tstruct work_struct wakeup_work;\n\tstruct work_struct died_work;\n\tconst struct hc_driver *driver;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_phy_roothub *phy_roothub;\n\tlong unsigned int flags;\n\tenum usb_dev_authorize_policy dev_policy;\n\tunsigned int rh_registered: 1;\n\tunsigned int rh_pollable: 1;\n\tunsigned int msix_enabled: 1;\n\tunsigned int msi_enabled: 1;\n\tunsigned int skip_phy_initialization: 1;\n\tunsigned int uses_new_polling: 1;\n\tunsigned int has_tt: 1;\n\tunsigned int amd_resume_bug: 1;\n\tunsigned int can_do_streams: 1;\n\tunsigned int tpl_support: 1;\n\tunsigned int cant_recv_wakeups: 1;\n\tunsigned int irq;\n\tvoid *regs;\n\tresource_size_t rsrc_start;\n\tresource_size_t rsrc_len;\n\tunsigned int power_budget;\n\tstruct giveback_urb_bh high_prio_bh;\n\tstruct giveback_urb_bh low_prio_bh;\n\tstruct mutex *address0_mutex;\n\tstruct mutex *bandwidth_mutex;\n\tstruct usb_hcd *shared_hcd;\n\tstruct usb_hcd *primary_hcd;\n\tstruct dma_pool *pool[4];\n\tint state;\n\tstruct gen_pool *localmem_pool;\n\tlong unsigned int hcd_priv[0];\n};\n\nstruct usb_ss_cap_descriptor;\n\nstruct usb_ssp_cap_descriptor;\n\nstruct usb_ss_container_id_descriptor;\n\nstruct usb_ptm_cap_descriptor;\n\nstruct usb_host_bos {\n\tstruct usb_bos_descriptor *desc;\n\tstruct usb_ext_cap_descriptor *ext_cap;\n\tstruct usb_ss_cap_descriptor *ss_cap;\n\tstruct usb_ssp_cap_descriptor *ssp_cap;\n\tstruct usb_ss_container_id_descriptor *ss_id;\n\tstruct usb_ptm_cap_descriptor *ptm_cap;\n};\n\nstruct usb_interface_assoc_descriptor;\n\nstruct usb_interface_cache;\n\nstruct usb_host_config {\n\tstruct usb_config_descriptor desc;\n\tchar *string;\n\tstruct usb_interface_assoc_descriptor *intf_assoc[16];\n\tstruct usb_interface *interface[32];\n\tstruct usb_interface_cache *intf_cache[32];\n\tunsigned char *extra;\n\tint extralen;\n};\n\nstruct usb_interface_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bInterfaceNumber;\n\t__u8 bAlternateSetting;\n\t__u8 bNumEndpoints;\n\t__u8 bInterfaceClass;\n\t__u8 bInterfaceSubClass;\n\t__u8 bInterfaceProtocol;\n\t__u8 iInterface;\n};\n\nstruct usb_host_interface {\n\tstruct usb_interface_descriptor desc;\n\tint extralen;\n\tunsigned char *extra;\n\tstruct usb_host_endpoint *endpoint;\n\tchar *string;\n};\n\nstruct usb_hub_status {\n\t__le16 wHubStatus;\n\t__le16 wHubChange;\n};\n\nstruct usb_port_status {\n\t__le16 wPortStatus;\n\t__le16 wPortChange;\n\t__le32 dwExtPortStatus;\n};\n\nstruct usb_tt {\n\tstruct usb_device *hub;\n\tint multi;\n\tunsigned int think_time;\n\tvoid *hcpriv;\n\tspinlock_t lock;\n\tstruct list_head clear_list;\n\tstruct work_struct clear_work;\n};\n\nstruct usb_hub_descriptor;\n\nstruct usb_port;\n\nstruct usb_hub {\n\tstruct device *intfdev;\n\tstruct usb_device *hdev;\n\tstruct kref kref;\n\tstruct urb *urb;\n\tu8 (*buffer)[8];\n\tunion {\n\t\tstruct usb_hub_status hub;\n\t\tstruct usb_port_status port;\n\t} *status;\n\tstruct mutex status_mutex;\n\tint error;\n\tint nerrors;\n\tlong unsigned int event_bits[1];\n\tlong unsigned int change_bits[1];\n\tlong unsigned int removed_bits[1];\n\tlong unsigned int wakeup_bits[1];\n\tlong unsigned int power_bits[1];\n\tlong unsigned int child_usage_bits[1];\n\tlong unsigned int warm_reset_bits[1];\n\tstruct usb_hub_descriptor *descriptor;\n\tstruct usb_tt tt;\n\tunsigned int mA_per_port;\n\tunsigned int wakeup_enabled_descendants;\n\tunsigned int limited_power: 1;\n\tunsigned int quiescing: 1;\n\tunsigned int disconnected: 1;\n\tunsigned int in_reset: 1;\n\tunsigned int quirk_disable_autosuspend: 1;\n\tunsigned int quirk_check_port_auto_suspend: 1;\n\tunsigned int has_indicators: 1;\n\tu8 indicator[31];\n\tstruct delayed_work leds;\n\tstruct delayed_work init_work;\n\tstruct work_struct events;\n\tspinlock_t irq_urb_lock;\n\tstruct timer_list irq_urb_retry;\n\tstruct usb_port **ports;\n\tstruct list_head onboard_devs;\n};\n\nstruct usb_hub_descriptor {\n\t__u8 bDescLength;\n\t__u8 bDescriptorType;\n\t__u8 bNbrPorts;\n\t__le16 wHubCharacteristics;\n\t__u8 bPwrOn2PwrGood;\n\t__u8 bHubContrCurrent;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 DeviceRemovable[4];\n\t\t\t__u8 PortPwrCtrlMask[4];\n\t\t} hs;\n\t\tstruct {\n\t\t\t__u8 bHubHdrDecLat;\n\t\t\t__le16 wHubDelay;\n\t\t\t__le16 DeviceRemovable;\n\t\t} __attribute__((packed)) ss;\n\t} u;\n} __attribute__((packed));\n\nstruct usb_interface {\n\tstruct usb_host_interface *altsetting;\n\tstruct usb_host_interface *cur_altsetting;\n\tunsigned int num_altsetting;\n\tstruct usb_interface_assoc_descriptor *intf_assoc;\n\tint minor;\n\tenum usb_interface_condition condition;\n\tunsigned int sysfs_files_created: 1;\n\tunsigned int ep_devs_created: 1;\n\tunsigned int unregistering: 1;\n\tunsigned int needs_remote_wakeup: 1;\n\tunsigned int needs_altsetting0: 1;\n\tunsigned int needs_binding: 1;\n\tunsigned int resetting_device: 1;\n\tunsigned int authorized: 1;\n\tenum usb_wireless_status wireless_status;\n\tstruct work_struct wireless_status_work;\n\tstruct device dev;\n\tstruct device *usb_dev;\n\tstruct work_struct reset_ws;\n};\n\nstruct usb_interface_assoc_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bFirstInterface;\n\t__u8 bInterfaceCount;\n\t__u8 bFunctionClass;\n\t__u8 bFunctionSubClass;\n\t__u8 bFunctionProtocol;\n\t__u8 iFunction;\n};\n\nstruct usb_interface_cache {\n\tunsigned int num_altsetting;\n\tstruct kref ref;\n\tstruct usb_host_interface altsetting[0];\n};\n\nstruct usb_memory {\n\tstruct list_head memlist;\n\tint vma_use_count;\n\tint urb_use_count;\n\tu32 size;\n\tvoid *mem;\n\tdma_addr_t dma_handle;\n\tlong unsigned int vm_start;\n\tstruct usb_dev_state *ps;\n};\n\nstruct usb_mon_operations {\n\tvoid (*urb_submit)(struct usb_bus *, struct urb *);\n\tvoid (*urb_submit_error)(struct usb_bus *, struct urb *, int);\n\tvoid (*urb_complete)(struct usb_bus *, struct urb *, int);\n};\n\nstruct usb_gadget;\n\nstruct usb_otg {\n\tu8 default_a;\n\tstruct phy___2 *phy;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_bus *host;\n\tstruct usb_gadget *gadget;\n\tenum usb_otg_state state;\n\tint (*set_host)(struct usb_otg *, struct usb_bus *);\n\tint (*set_peripheral)(struct usb_otg *, struct usb_gadget *);\n\tint (*set_vbus)(struct usb_otg *, bool);\n\tint (*start_srp)(struct usb_otg *);\n\tint (*start_hnp)(struct usb_otg *);\n};\n\nstruct usb_otg_caps {\n\tu16 otg_rev;\n\tbool hnp_support;\n\tbool srp_support;\n\tbool adp_support;\n};\n\nstruct extcon_dev;\n\nstruct usb_phy_io_ops;\n\nstruct usb_phy {\n\tstruct device *dev;\n\tconst char *label;\n\tunsigned int flags;\n\tenum usb_phy_type type;\n\tenum usb_phy_events last_event;\n\tstruct usb_otg *otg;\n\tstruct device *io_dev;\n\tstruct usb_phy_io_ops *io_ops;\n\tvoid *io_priv;\n\tstruct extcon_dev *edev;\n\tstruct extcon_dev *id_edev;\n\tstruct notifier_block vbus_nb;\n\tstruct notifier_block id_nb;\n\tstruct notifier_block type_nb;\n\tenum usb_charger_type chg_type;\n\tenum usb_charger_state chg_state;\n\tstruct usb_charger_current chg_cur;\n\tstruct work_struct chg_work;\n\tstruct atomic_notifier_head notifier;\n\tu16 port_status;\n\tu16 port_change;\n\tstruct list_head head;\n\tint (*init)(struct usb_phy *);\n\tvoid (*shutdown)(struct usb_phy *);\n\tint (*set_vbus)(struct usb_phy *, int);\n\tint (*set_power)(struct usb_phy *, unsigned int);\n\tint (*set_suspend)(struct usb_phy *, int);\n\tint (*set_wakeup)(struct usb_phy *, bool);\n\tint (*notify_connect)(struct usb_phy *, enum usb_device_speed);\n\tint (*notify_disconnect)(struct usb_phy *, enum usb_device_speed);\n\tenum usb_charger_type (*charger_detect)(struct usb_phy *);\n};\n\nstruct usb_phy_io_ops {\n\tint (*read)(struct usb_phy *, u32);\n\tint (*write)(struct usb_phy *, u32, u32);\n};\n\nstruct usb_phy_roothub {\n\tstruct phy___2 *phy;\n\tstruct list_head list;\n};\n\nstruct usb_port {\n\tstruct usb_device *child;\n\tstruct device dev;\n\tstruct usb_dev_state *port_owner;\n\tstruct usb_port *peer;\n\tstruct typec_connector *connector;\n\tstruct dev_pm_qos_request *req;\n\tenum usb_port_connect_type connect_type;\n\tenum usb_device_state state;\n\tstruct kernfs_node *state_kn;\n\tusb_port_location_t location;\n\tstruct mutex status_lock;\n\tu32 over_current_count;\n\tu8 portnum;\n\tu32 quirks;\n\tunsigned int early_stop: 1;\n\tunsigned int ignore_event: 1;\n\tunsigned int is_superspeed: 1;\n\tunsigned int usb3_lpm_u1_permit: 1;\n\tunsigned int usb3_lpm_u2_permit: 1;\n};\n\nstruct usb_ptm_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n};\n\nstruct usb_qualifier_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdUSB;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bMaxPacketSize0;\n\t__u8 bNumConfigurations;\n\t__u8 bRESERVED;\n};\n\nstruct usb_set_sel_req {\n\t__u8 u1_sel;\n\t__u8 u1_pel;\n\t__le16 u2_sel;\n\t__le16 u2_pel;\n};\n\nstruct usb_sg_request {\n\tint status;\n\tsize_t bytes;\n\tspinlock_t lock;\n\tstruct usb_device *dev;\n\tint pipe;\n\tint entries;\n\tstruct urb **urbs;\n\tint count;\n\tstruct completion complete;\n};\n\nstruct usb_ss_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bmAttributes;\n\t__le16 wSpeedSupported;\n\t__u8 bFunctionalitySupport;\n\t__u8 bU1devExitLat;\n\t__le16 bU2DevExitLat;\n};\n\nstruct usb_ss_container_id_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bReserved;\n\t__u8 ContainerID[16];\n};\n\nstruct usb_ssp_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bReserved;\n\t__le32 bmAttributes;\n\t__le16 wFunctionalitySupport;\n\t__le16 wReserved;\n\tunion {\n\t\t__le32 legacy_padding;\n\t\tstruct {\n\t\t\tstruct {} __empty_bmSublinkSpeedAttr;\n\t\t\t__le32 bmSublinkSpeedAttr[0];\n\t\t};\n\t};\n};\n\nstruct usb_tt_clear {\n\tstruct list_head clear_list;\n\tunsigned int tt;\n\tu16 devinfo;\n\tstruct usb_hcd *hcd;\n\tstruct usb_host_endpoint *ep;\n};\n\nstruct usbdevfs_bulktransfer {\n\tunsigned int ep;\n\tunsigned int len;\n\tunsigned int timeout;\n\tvoid *data;\n};\n\nstruct usbdevfs_connectinfo {\n\tunsigned int devnum;\n\tunsigned char slow;\n};\n\nstruct usbdevfs_conninfo_ex {\n\t__u32 size;\n\t__u32 busnum;\n\t__u32 devnum;\n\t__u32 speed;\n\t__u8 num_ports;\n\t__u8 ports[7];\n};\n\nstruct usbdevfs_ctrltransfer {\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__u16 wValue;\n\t__u16 wIndex;\n\t__u16 wLength;\n\t__u32 timeout;\n\tvoid *data;\n};\n\nstruct usbdevfs_disconnect_claim {\n\tunsigned int interface;\n\tunsigned int flags;\n\tchar driver[256];\n};\n\nstruct usbdevfs_disconnectsignal {\n\tunsigned int signr;\n\tvoid *context;\n};\n\nstruct usbdevfs_getdriver {\n\tunsigned int interface;\n\tchar driver[256];\n};\n\nstruct usbdevfs_hub_portinfo {\n\tchar nports;\n\tchar port[127];\n};\n\nstruct usbdevfs_ioctl {\n\tint ifno;\n\tint ioctl_code;\n\tvoid *data;\n};\n\nstruct usbdevfs_iso_packet_desc {\n\tunsigned int length;\n\tunsigned int actual_length;\n\tunsigned int status;\n};\n\nstruct usbdevfs_setinterface {\n\tunsigned int interface;\n\tunsigned int altsetting;\n};\n\nstruct usbdevfs_streams {\n\tunsigned int num_streams;\n\tunsigned int num_eps;\n\tunsigned char eps[0];\n};\n\nstruct usbdevfs_urb {\n\tunsigned char type;\n\tunsigned char endpoint;\n\tint status;\n\tunsigned int flags;\n\tvoid *buffer;\n\tint buffer_length;\n\tint actual_length;\n\tint start_frame;\n\tunion {\n\t\tint number_of_packets;\n\t\tunsigned int stream_id;\n\t};\n\tint error_count;\n\tunsigned int signr;\n\tvoid *usercontext;\n\tstruct usbdevfs_iso_packet_desc iso_frame_desc[0];\n};\n\nstruct usbhid_device {\n\tstruct hid_device *hid;\n\tstruct usb_interface *intf;\n\tint ifnum;\n\tunsigned int bufsize;\n\tstruct urb *urbin;\n\tchar *inbuf;\n\tdma_addr_t inbuf_dma;\n\tstruct urb *urbctrl;\n\tstruct usb_ctrlrequest *cr;\n\tstruct hid_control_fifo ctrl[256];\n\tunsigned char ctrlhead;\n\tunsigned char ctrltail;\n\tchar *ctrlbuf;\n\tdma_addr_t ctrlbuf_dma;\n\tlong unsigned int last_ctrl;\n\tstruct urb *urbout;\n\tstruct hid_output_fifo out[256];\n\tunsigned char outhead;\n\tunsigned char outtail;\n\tchar *outbuf;\n\tdma_addr_t outbuf_dma;\n\tlong unsigned int last_out;\n\tstruct mutex mutex;\n\tspinlock_t lock;\n\tlong unsigned int iofl;\n\tstruct timer_list io_retry;\n\tlong unsigned int stop_retry;\n\tunsigned int retry_delay;\n\tstruct work_struct reset_work;\n\twait_queue_head_t wait;\n};\n\nstruct used_address {\n\tstruct __kernel_sockaddr_storage name;\n\tunsigned int name_len;\n};\n\nstruct user_arg_ptr {\n\tunion {\n\t\tconst char * const *native;\n\t} ptr;\n};\n\nstruct user_datum {\n\tu32 value;\n\tu32 bounds;\n\tstruct ebitmap roles;\n\tstruct mls_range range;\n\tstruct mls_level dfltlevel;\n};\n\nstruct user_key_payload {\n\tstruct callback_head rcu;\n\tshort unsigned int datalen;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct user_namespace {\n\tstruct uid_gid_map uid_map;\n\tstruct uid_gid_map gid_map;\n\tstruct uid_gid_map projid_map;\n\tstruct user_namespace *parent;\n\tint level;\n\tkuid_t owner;\n\tkgid_t group;\n\tstruct ns_common ns;\n\tlong unsigned int flags;\n\tbool parent_could_setfcap;\n\tstruct list_head keyring_name_list;\n\tstruct key *user_keyring_register;\n\tstruct rw_semaphore keyring_sem;\n\tstruct work_struct work;\n\tstruct ctl_table_set set;\n\tstruct ctl_table_header *sysctls;\n\tstruct ucounts *ucounts;\n\tlong int ucount_max[10];\n\tlong int rlimit_max[4];\n\tstruct binfmt_misc *binfmt_misc;\n};\n\nstruct user_regset;\n\ntypedef int user_regset_get2_fn(struct task_struct *, const struct user_regset *, struct membuf);\n\ntypedef int user_regset_set_fn(struct task_struct *, const struct user_regset *, unsigned int, unsigned int, const void *, const void *);\n\ntypedef int user_regset_active_fn(struct task_struct *, const struct user_regset *);\n\ntypedef int user_regset_writeback_fn(struct task_struct *, const struct user_regset *, int);\n\nstruct user_regset {\n\tuser_regset_get2_fn *regset_get;\n\tuser_regset_set_fn *set;\n\tuser_regset_active_fn *active;\n\tuser_regset_writeback_fn *writeback;\n\tunsigned int n;\n\tunsigned int size;\n\tunsigned int align;\n\tunsigned int bias;\n\tunsigned int core_note_type;\n};\n\nstruct user_regset_view {\n\tconst char *name;\n\tconst struct user_regset *regsets;\n\tunsigned int n;\n\tu32 e_flags;\n\tu16 e_machine;\n\tu8 ei_osabi;\n};\n\nstruct user_struct {\n\trefcount_t __count;\n\tstruct percpu_counter epoll_watches;\n\tlong unsigned int unix_inflight;\n\tatomic_long_t pipe_bufs;\n\tstruct hlist_node uidhash_node;\n\tkuid_t uid;\n\tatomic_long_t locked_vm;\n\tstruct ratelimit_state ratelimit;\n};\n\nstruct userspace_policy {\n\tunsigned int is_managed;\n\tunsigned int setspeed;\n\tstruct mutex mutex;\n};\n\nstruct userstack_entry {\n\tstruct trace_entry ent;\n\tunsigned int tgid;\n\tlong unsigned int caller[8];\n};\n\nstruct ustat {\n\t__kernel_daddr_t f_tfree;\n\tlong unsigned int f_tinode;\n\tchar f_fname[6];\n\tchar f_fpack[6];\n};\n\nstruct ustring_buffer {\n\tchar buffer[1024];\n};\n\nstruct utf8_table {\n\tint cmask;\n\tint cval;\n\tint shift;\n\tlong int lmask;\n\tlong int lval;\n};\n\nstruct utimbuf {\n\t__kernel_old_time_t actime;\n\t__kernel_old_time_t modtime;\n};\n\nstruct uts_namespace {\n\tstruct new_utsname name;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct ns_common ns;\n};\n\nunion uu {\n\tshort unsigned int us;\n\tunsigned char b[2];\n};\n\nstruct uuidcmp {\n\tconst char *uuid;\n\tint len;\n};\n\nstruct v4l2_capability {\n\t__u8 driver[16];\n\t__u8 card[32];\n\t__u8 bus_info[32];\n\t__u32 version;\n\t__u32 capabilities;\n\t__u32 device_caps;\n\t__u32 reserved[3];\n};\n\nstruct v4l2_control {\n\t__u32 id;\n\t__s32 value;\n};\n\nstruct va_format {\n\tconst char *fmt;\n\tva_list *va;\n};\n\nstruct validate_flash_t {\n\tint status;\n\tvoid *buf;\n\tuint32_t buf_size;\n\tuint32_t result;\n};\n\nstruct value_name_pair {\n\tint value;\n\tconst char *name;\n};\n\nstruct vas_all_caps {\n\tu64 descriptor;\n\tu64 feat_type;\n};\n\nstruct vas_cop_feat_caps {\n\tu64 descriptor;\n\tu8 win_type;\n\tu8 user_mode;\n\tu16 max_lpar_creds;\n\tu16 max_win_creds;\n\tunion {\n\t\tu16 reserved;\n\t\tu16 def_lpar_creds;\n\t};\n\tatomic_t nr_total_credits;\n\tatomic_t nr_used_credits;\n};\n\nstruct vas_caps {\n\tstruct vas_cop_feat_caps caps;\n\tstruct list_head list;\n\tint nr_open_wins_progress;\n\tint nr_close_wins;\n\tint nr_open_windows;\n\tu8 feat;\n};\n\nstruct vas_caps_entry {\n\tstruct kobject kobj;\n\tstruct vas_cop_feat_caps *caps;\n};\n\nstruct vas_instance {\n\tint vas_id;\n\tstruct ida ida;\n\tstruct list_head node;\n\tstruct platform_device *pdev;\n\tu64 hvwc_bar_start;\n\tu64 uwc_bar_start;\n\tu64 paste_base_addr;\n\tu64 paste_win_id_shift;\n\tu64 irq_port;\n\tint virq;\n\tint fault_crbs;\n\tint fault_fifo_size;\n\tint fifo_in_progress;\n\tspinlock_t fault_lock;\n\tvoid *fault_fifo;\n\tstruct pnv_vas_window *fault_win;\n\tstruct mutex mutex;\n\tstruct pnv_vas_window *rxwin[6];\n\tstruct pnv_vas_window *windows[65536];\n\tchar *name;\n\tchar *dbgname;\n\tstruct dentry *dbgdir;\n};\n\nstruct vas_rx_win_attr {\n\tu64 rx_fifo;\n\tint rx_fifo_size;\n\tint wcreds_max;\n\tbool pin_win;\n\tbool rej_no_credit;\n\tbool tx_wcred_mode;\n\tbool rx_wcred_mode;\n\tbool tx_win_ord_mode;\n\tbool rx_win_ord_mode;\n\tbool data_stamp;\n\tbool nx_win;\n\tbool fault_win;\n\tbool user_win;\n\tbool notify_disable;\n\tbool intr_disable;\n\tbool notify_early;\n\tint lnotify_lpid;\n\tint lnotify_pid;\n\tint lnotify_tid;\n\tu32 pswid;\n\tint tc_mode;\n};\n\nstruct vas_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct vas_cop_feat_caps *, char *);\n\tssize_t (*store)(struct vas_cop_feat_caps *, const char *, size_t);\n};\n\nstruct vas_tx_win_attr {\n\tenum vas_cop_type cop;\n\tint wcreds_max;\n\tint lpid;\n\tint pidr;\n\tint pswid;\n\tint rsvd_txbuf_count;\n\tint tc_mode;\n\tbool user_win;\n\tbool pin_win;\n\tbool rej_no_credit;\n\tbool rsvd_txbuf_enable;\n\tbool tx_wcred_mode;\n\tbool rx_wcred_mode;\n\tbool tx_win_ord_mode;\n\tbool rx_win_ord_mode;\n};\n\nstruct vas_tx_win_open_attr {\n\t__u32 version;\n\t__s16 vas_id;\n\t__u16 reserved1;\n\t__u64 flags;\n\t__u64 reserved2[6];\n};\n\nstruct vas_user_win_ops {\n\tstruct vas_window * (*open_win)(int, u64, enum vas_cop_type);\n\tu64 (*paste_addr)(struct vas_window *);\n\tint (*close_win)(struct vas_window *);\n};\n\nstruct vas_winctx {\n\tu64 rx_fifo;\n\tint rx_fifo_size;\n\tint wcreds_max;\n\tint rsvd_txbuf_count;\n\tbool user_win;\n\tbool nx_win;\n\tbool fault_win;\n\tbool rsvd_txbuf_enable;\n\tbool pin_win;\n\tbool rej_no_credit;\n\tbool tx_wcred_mode;\n\tbool rx_wcred_mode;\n\tbool tx_word_mode;\n\tbool rx_word_mode;\n\tbool data_stamp;\n\tbool xtra_write;\n\tbool notify_disable;\n\tbool intr_disable;\n\tbool fifo_disable;\n\tbool notify_early;\n\tbool notify_os_intr_reg;\n\tint lpid;\n\tint pidr;\n\tint lnotify_lpid;\n\tint lnotify_pid;\n\tint lnotify_tid;\n\tu32 pswid;\n\tint rx_win_id;\n\tint fault_win_id;\n\tint tc_mode;\n\tu64 irq_port;\n\tenum vas_dma_type dma_type;\n\tenum vas_notify_scope min_scope;\n\tenum vas_notify_scope max_scope;\n\tenum vas_notify_after_count notify_after_count;\n};\n\nstruct vc {\n\tstruct vc_data *d;\n\tstruct work_struct SAK_work;\n};\n\nstruct vc_state {\n\tunsigned int x;\n\tunsigned int y;\n\tunsigned char color;\n\tunsigned char Gx_charset[2];\n\tunsigned int charset: 1;\n\tenum vc_intensity intensity;\n\tbool italic;\n\tbool underline;\n\tbool blink;\n\tbool reverse;\n};\n\nstruct vt_mode {\n\tchar mode;\n\tchar waitv;\n\tshort int relsig;\n\tshort int acqsig;\n\tshort int frsig;\n};\n\nstruct vc_data {\n\tstruct tty_port port;\n\tstruct vc_state state;\n\tstruct vc_state saved_state;\n\tshort unsigned int vc_num;\n\tunsigned int vc_cols;\n\tunsigned int vc_rows;\n\tunsigned int vc_size_row;\n\tunsigned int vc_scan_lines;\n\tunsigned int vc_cell_height;\n\tlong unsigned int vc_origin;\n\tlong unsigned int vc_scr_end;\n\tlong unsigned int vc_visible_origin;\n\tunsigned int vc_top;\n\tunsigned int vc_bottom;\n\tconst struct consw *vc_sw;\n\tshort unsigned int *vc_screenbuf;\n\tunsigned int vc_screenbuf_size;\n\tunsigned char vc_mode;\n\tunsigned char vc_attr;\n\tunsigned char vc_def_color;\n\tunsigned char vc_ulcolor;\n\tunsigned char vc_itcolor;\n\tunsigned char vc_halfcolor;\n\tunsigned int vc_cursor_type;\n\tshort unsigned int vc_complement_mask;\n\tshort unsigned int vc_s_complement_mask;\n\tlong unsigned int vc_pos;\n\tshort unsigned int vc_hi_font_mask;\n\tstruct console_font vc_font;\n\tshort unsigned int vc_video_erase_char;\n\tunsigned int vc_state;\n\tunsigned int vc_npar;\n\tunsigned int vc_par[16];\n\tstruct vt_mode vt_mode;\n\tstruct pid *vt_pid;\n\tint vt_newvt;\n\twait_queue_head_t paste_wait;\n\tunsigned int vc_disp_ctrl: 1;\n\tunsigned int vc_toggle_meta: 1;\n\tunsigned int vc_decscnm: 1;\n\tunsigned int vc_decom: 1;\n\tunsigned int vc_decawm: 1;\n\tunsigned int vc_deccm: 1;\n\tunsigned int vc_decim: 1;\n\tunsigned int vc_priv: 3;\n\tunsigned int vc_need_wrap: 1;\n\tunsigned int vc_can_do_color: 1;\n\tunsigned int vc_report_mouse: 2;\n\tunsigned char vc_utf: 1;\n\tunsigned char vc_utf_count;\n\tint vc_utf_char;\n\tlong unsigned int vc_tab_stop[4];\n\tunsigned char vc_palette[48];\n\tshort unsigned int *vc_translate;\n\tunsigned int vc_bell_pitch;\n\tunsigned int vc_bell_duration;\n\tshort unsigned int vc_cur_blink_ms;\n\tstruct vc_data **vc_display_fg;\n\tstruct uni_pagedict *uni_pagedict;\n\tstruct uni_pagedict **uni_pagedict_loc;\n\tu32 **vc_uni_lines;\n};\n\nstruct vc_draw_region {\n\tlong unsigned int from;\n\tlong unsigned int to;\n\tint x;\n};\n\nstruct vc_selection {\n\tstruct mutex lock;\n\tstruct vc_data *cons;\n\tchar *buffer;\n\tunsigned int buf_len;\n\tvolatile int start;\n\tint end;\n};\n\nstruct vcpu_dispatch_data {\n\tint last_disp_cpu;\n\tint total_disp;\n\tint same_cpu_disp;\n\tint same_chip_disp;\n\tint diff_chip_disp;\n\tint far_chip_disp;\n\tint numa_home_disp;\n\tint numa_remote_disp;\n\tint numa_far_disp;\n};\n\nstruct vcs_poll_data {\n\tstruct notifier_block notifier;\n\tunsigned int cons_num;\n\tint event;\n\twait_queue_head_t waitq;\n\tstruct fasync_struct *fasync;\n};\n\nstruct vdso_rng_data {\n\tu64 generation;\n\tu8 is_ready;\n};\n\nstruct vdso_timestamp {\n\tu64 sec;\n\tu64 nsec;\n};\n\nstruct vdso_data {\n\tu32 seq;\n\ts32 clock_mode;\n\tu64 cycle_last;\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n\tunion {\n\t\tstruct vdso_timestamp basetime[12];\n\t\tstruct timens_offset offset[12];\n\t};\n\ts32 tz_minuteswest;\n\ts32 tz_dsttime;\n\tu32 hrtimer_res;\n\tu32 __unused;\n\tstruct arch_vdso_time_data arch_data;\n};\n\nstruct vdso_arch_data {\n\t__u64 tb_ticks_per_sec;\n\t__u32 dcache_block_size;\n\t__u32 icache_block_size;\n\t__u32 dcache_log_block_size;\n\t__u32 icache_log_block_size;\n\t__u32 syscall_map[15];\n\t__u32 compat_syscall_map[15];\n\tstruct vdso_rng_data rng_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct vdso_data data[2];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct vec5_fw_feature {\n\tlong unsigned int val;\n\tunsigned int feature;\n};\n\nstruct vers_iter {\n\tsize_t param_size;\n\tstruct dm_target_versions *vers;\n\tstruct dm_target_versions *old_vers;\n\tchar *end;\n\tuint32_t flags;\n};\n\nstruct vfree_deferred {\n\tstruct llist_head list;\n\tstruct work_struct wq;\n};\n\nstruct vfs_cap_data {\n\t__le32 magic_etc;\n\tstruct {\n\t\t__le32 permitted;\n\t\t__le32 inheritable;\n\t} data[2];\n};\n\nstruct vfs_ns_cap_data {\n\t__le32 magic_etc;\n\tstruct {\n\t\t__le32 permitted;\n\t\t__le32 inheritable;\n\t} data[2];\n\t__le32 rootid;\n};\n\nstruct vga_arb_user_card {\n\tstruct pci_dev *pdev;\n\tunsigned int mem_cnt;\n\tunsigned int io_cnt;\n};\n\nstruct vga_arb_private {\n\tstruct list_head list;\n\tstruct pci_dev *target;\n\tstruct vga_arb_user_card cards[16];\n\tspinlock_t lock;\n};\n\nstruct vga_device {\n\tstruct list_head list;\n\tstruct pci_dev *pdev;\n\tunsigned int decodes;\n\tunsigned int owns;\n\tunsigned int locks;\n\tunsigned int io_lock_cnt;\n\tunsigned int mem_lock_cnt;\n\tunsigned int io_norm_cnt;\n\tunsigned int mem_norm_cnt;\n\tbool bridge_has_one_vga;\n\tbool is_firmware_default;\n\tunsigned int (*set_decode)(struct pci_dev *, bool);\n};\n\nstruct vhost_task {\n\tbool (*fn)(void *);\n\tvoid (*handle_sigkill)(void *);\n\tvoid *data;\n\tstruct completion exited;\n\tlong unsigned int flags;\n\tstruct task_struct *task;\n\tstruct mutex exit_mutex;\n};\n\nstruct video_board {\n\tint maxvram;\n\tint maxdisplayable;\n\tint accelID;\n\tstruct matrox_switch *lowlevel;\n};\n\nstruct vio_cmo_pool {\n\tsize_t size;\n\tsize_t free;\n};\n\nstruct vio_cmo {\n\tspinlock_t lock;\n\tstruct delayed_work balance_q;\n\tstruct list_head device_list;\n\tsize_t entitled;\n\tstruct vio_cmo_pool reserve;\n\tstruct vio_cmo_pool excess;\n\tsize_t spare;\n\tsize_t min;\n\tsize_t desired;\n\tsize_t curr;\n\tsize_t high;\n};\n\nstruct vio_cmo_dev_entry {\n\tstruct vio_dev *viodev;\n\tstruct list_head list;\n};\n\nstruct vio_dev {\n\tconst char *name;\n\tconst char *type;\n\tuint32_t unit_address;\n\tuint32_t resource_id;\n\tunsigned int irq;\n\tstruct {\n\t\tsize_t desired;\n\t\tsize_t entitled;\n\t\tsize_t allocated;\n\t\tatomic_t allocs_failed;\n\t} cmo;\n\tenum vio_dev_family family;\n\tstruct device dev;\n};\n\nstruct vio_device_id {\n\tchar type[32];\n\tchar compat[32];\n};\n\nstruct vio_driver {\n\tconst char *name;\n\tconst struct vio_device_id *id_table;\n\tint (*probe)(struct vio_dev *, const struct vio_device_id *);\n\tvoid (*remove)(struct vio_dev *);\n\tvoid (*shutdown)(struct vio_dev *);\n\tlong unsigned int (*get_desired_dma)(struct vio_dev *);\n\tconst struct dev_pm_ops *pm;\n\tstruct device_driver driver;\n};\n\nstruct vio_pfo_op {\n\tu64 flags;\n\ts64 in;\n\ts64 inlen;\n\ts64 out;\n\ts64 outlen;\n\tu64 csbcpb;\n\tvoid *done;\n\tlong unsigned int handle;\n\tunsigned int timeout;\n\tlong int hcall_err;\n};\n\nstruct virtio_device_id {\n\t__u32 device;\n\t__u32 vendor;\n};\n\nstruct virtio_config_ops;\n\nstruct vringh_config_ops;\n\nstruct virtio_device {\n\tint index;\n\tbool failed;\n\tbool config_core_enabled;\n\tbool config_driver_disabled;\n\tbool config_change_pending;\n\tspinlock_t config_lock;\n\tspinlock_t vqs_list_lock;\n\tstruct device dev;\n\tstruct virtio_device_id id;\n\tconst struct virtio_config_ops *config;\n\tconst struct vringh_config_ops *vringh_config;\n\tstruct list_head vqs;\n\tu64 features;\n\tvoid *priv;\n};\n\nstruct virtio_net_hdr {\n\t__u8 flags;\n\t__u8 gso_type;\n\t__virtio16 hdr_len;\n\t__virtio16 gso_size;\n\t__virtio16 csum_start;\n\t__virtio16 csum_offset;\n};\n\nstruct virtio_net_hdr_mrg_rxbuf {\n\tstruct virtio_net_hdr hdr;\n\t__virtio16 num_buffers;\n};\n\nstruct vlan_priority_tci_mapping;\n\nstruct vlan_pcpu_stats;\n\nstruct vlan_dev_priv {\n\tunsigned int nr_ingress_mappings;\n\tu32 ingress_priority_map[8];\n\tunsigned int nr_egress_mappings;\n\tstruct vlan_priority_tci_mapping *egress_priority_map[16];\n\t__be16 vlan_proto;\n\tu16 vlan_id;\n\tu16 flags;\n\tstruct net_device *real_dev;\n\tnetdevice_tracker dev_tracker;\n\tunsigned char real_dev_addr[6];\n\tstruct proc_dir_entry *dent;\n\tstruct vlan_pcpu_stats *vlan_pcpu_stats;\n\tstruct netpoll *netpoll;\n};\n\nstruct vlan_ethhdr {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned char h_dest[6];\n\t\t\tunsigned char h_source[6];\n\t\t};\n\t\tstruct {\n\t\t\tunsigned char h_dest[6];\n\t\t\tunsigned char h_source[6];\n\t\t} addrs;\n\t};\n\t__be16 h_vlan_proto;\n\t__be16 h_vlan_TCI;\n\t__be16 h_vlan_encapsulated_proto;\n};\n\nstruct vlan_group {\n\tunsigned int nr_vlan_devs;\n\tstruct hlist_node hlist;\n\tstruct net_device **vlan_devices_arrays[16];\n};\n\nstruct vlan_hdr {\n\t__be16 h_vlan_TCI;\n\t__be16 h_vlan_encapsulated_proto;\n};\n\nstruct vlan_info {\n\tstruct net_device *real_dev;\n\tstruct vlan_group grp;\n\tstruct list_head vid_list;\n\tunsigned int nr_vids;\n\tstruct callback_head rcu;\n};\n\nstruct vlan_pcpu_stats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t rx_multicast;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n\tu32 rx_errors;\n\tu32 tx_dropped;\n};\n\nstruct vlan_priority_tci_mapping {\n\tu32 priority;\n\tu16 vlan_qos;\n\tstruct vlan_priority_tci_mapping *next;\n};\n\nstruct vlan_vid_info {\n\tstruct list_head list;\n\t__be16 proto;\n\tu16 vid;\n\tint refcount;\n};\n\nstruct vm_userfaultfd_ctx {};\n\nstruct vma_lock;\n\nstruct vma_numab_state;\n\nstruct vm_area_struct {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int vm_start;\n\t\t\tlong unsigned int vm_end;\n\t\t};\n\t\tstruct callback_head vm_rcu;\n\t};\n\tstruct mm_struct *vm_mm;\n\tpgprot_t vm_page_prot;\n\tunion {\n\t\tconst vm_flags_t vm_flags;\n\t\tvm_flags_t __vm_flags;\n\t};\n\tbool detached;\n\tunsigned int vm_lock_seq;\n\tstruct vma_lock *vm_lock;\n\tstruct {\n\t\tstruct rb_node rb;\n\t\tlong unsigned int rb_subtree_last;\n\t} shared;\n\tstruct list_head anon_vma_chain;\n\tstruct anon_vma *anon_vma;\n\tconst struct vm_operations_struct *vm_ops;\n\tlong unsigned int vm_pgoff;\n\tstruct file *vm_file;\n\tvoid *vm_private_data;\n\tatomic_long_t swap_readahead_info;\n\tstruct mempolicy *vm_policy;\n\tstruct vma_numab_state *numab_state;\n\tstruct vm_userfaultfd_ctx vm_userfaultfd_ctx;\n};\n\nstruct vm_event_state {\n\tlong unsigned int event[115];\n};\n\nstruct vm_fault {\n\tconst struct {\n\t\tstruct vm_area_struct *vma;\n\t\tgfp_t gfp_mask;\n\t\tlong unsigned int pgoff;\n\t\tlong unsigned int address;\n\t\tlong unsigned int real_address;\n\t};\n\tenum fault_flag flags;\n\tpmd_t *pmd;\n\tpud_t *pud;\n\tunion {\n\t\tpte_t orig_pte;\n\t\tpmd_t orig_pmd;\n\t};\n\tstruct page *cow_page;\n\tstruct page *page;\n\tpte_t *pte;\n\tspinlock_t *ptl;\n\tpgtable_t prealloc_pte;\n};\n\nstruct vm_operations_struct {\n\tvoid (*open)(struct vm_area_struct *);\n\tvoid (*close)(struct vm_area_struct *);\n\tint (*may_split)(struct vm_area_struct *, long unsigned int);\n\tint (*mremap)(struct vm_area_struct *);\n\tint (*mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int, long unsigned int);\n\tvm_fault_t (*fault)(struct vm_fault *);\n\tvm_fault_t (*huge_fault)(struct vm_fault *, unsigned int);\n\tvm_fault_t (*map_pages)(struct vm_fault *, long unsigned int, long unsigned int);\n\tlong unsigned int (*pagesize)(struct vm_area_struct *);\n\tvm_fault_t (*page_mkwrite)(struct vm_fault *);\n\tvm_fault_t (*pfn_mkwrite)(struct vm_fault *);\n\tint (*access)(struct vm_area_struct *, long unsigned int, void *, int, int);\n\tconst char * (*name)(struct vm_area_struct *);\n\tint (*set_policy)(struct vm_area_struct *, struct mempolicy *);\n\tstruct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int, long unsigned int *);\n\tstruct page * (*find_special_page)(struct vm_area_struct *, long unsigned int);\n};\n\nstruct vm_special_mapping {\n\tconst char *name;\n\tstruct page **pages;\n\tvm_fault_t (*fault)(const struct vm_special_mapping *, struct vm_area_struct *, struct vm_fault *);\n\tint (*mremap)(const struct vm_special_mapping *, struct vm_area_struct *);\n\tvoid (*close)(const struct vm_special_mapping *, struct vm_area_struct *);\n};\n\nstruct vm_struct {\n\tstruct vm_struct *next;\n\tvoid *addr;\n\tlong unsigned int size;\n\tlong unsigned int flags;\n\tstruct page **pages;\n\tunsigned int page_order;\n\tunsigned int nr_pages;\n\tphys_addr_t phys_addr;\n\tconst void *caller;\n};\n\nstruct vm_unmapped_area_info {\n\tlong unsigned int flags;\n\tlong unsigned int length;\n\tlong unsigned int low_limit;\n\tlong unsigned int high_limit;\n\tlong unsigned int align_mask;\n\tlong unsigned int align_offset;\n\tlong unsigned int start_gap;\n};\n\nstruct vma_list {\n\tstruct vm_area_struct *vma;\n\tstruct list_head head;\n\trefcount_t mmap_count;\n};\n\nstruct vma_lock {\n\tstruct rw_semaphore lock;\n};\n\nstruct vma_merge_struct {\n\tstruct mm_struct *mm;\n\tstruct vma_iterator *vmi;\n\tlong unsigned int pgoff;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tstruct anon_vma *anon_vma;\n\tstruct mempolicy *policy;\n\tstruct vm_userfaultfd_ctx uffd_ctx;\n\tstruct anon_vma_name *anon_name;\n\tenum vma_merge_flags merge_flags;\n\tenum vma_merge_state state;\n};\n\nstruct vma_numab_state {\n\tlong unsigned int next_scan;\n\tlong unsigned int pids_active_reset;\n\tlong unsigned int pids_active[2];\n\tint start_scan_seq;\n\tint prev_scan_seq;\n};\n\nstruct vma_prepare {\n\tstruct vm_area_struct *vma;\n\tstruct vm_area_struct *adj_next;\n\tstruct file *file;\n\tstruct address_space *mapping;\n\tstruct anon_vma *anon_vma;\n\tstruct vm_area_struct *insert;\n\tstruct vm_area_struct *remove;\n\tstruct vm_area_struct *remove2;\n};\n\nstruct vmap_area {\n\tlong unsigned int va_start;\n\tlong unsigned int va_end;\n\tstruct rb_node rb_node;\n\tstruct list_head list;\n\tunion {\n\t\tlong unsigned int subtree_max_size;\n\t\tstruct vm_struct *vm;\n\t};\n\tlong unsigned int flags;\n};\n\nstruct vmap_block {\n\tspinlock_t lock;\n\tstruct vmap_area *va;\n\tlong unsigned int free;\n\tlong unsigned int dirty;\n\tlong unsigned int used_map[2];\n\tlong unsigned int dirty_min;\n\tlong unsigned int dirty_max;\n\tstruct list_head free_list;\n\tstruct callback_head callback_head;\n\tstruct list_head purge;\n\tunsigned int cpu;\n};\n\nstruct vmap_block_queue {\n\tspinlock_t lock;\n\tstruct list_head free;\n\tstruct xarray vmap_blocks;\n};\n\nstruct vmap_pool {\n\tstruct list_head head;\n\tlong unsigned int len;\n};\n\nstruct vmap_node {\n\tstruct vmap_pool pool[256];\n\tspinlock_t pool_lock;\n\tbool skip_populate;\n\tstruct rb_list busy;\n\tstruct rb_list lazy;\n\tstruct list_head purge_list;\n\tstruct work_struct purge_work;\n\tlong unsigned int nr_purged;\n};\n\nstruct vmcore_cb {\n\tbool (*pfn_is_ram)(struct vmcore_cb *, long unsigned int);\n\tint (*get_device_ram)(struct vmcore_cb *, struct list_head *);\n\tstruct list_head next;\n};\n\nstruct vmcore_range {\n\tstruct list_head list;\n\tlong long unsigned int paddr;\n\tlong long unsigned int size;\n\tloff_t offset;\n};\n\nstruct vmemmap_backing {\n\tstruct vmemmap_backing *list;\n\tlong unsigned int phys;\n\tlong unsigned int virt_addr;\n};\n\nstruct vmpressure_event {\n\tstruct eventfd_ctx *efd;\n\tenum vmpressure_levels level;\n\tenum vmpressure_modes mode;\n\tstruct list_head node;\n};\n\nstruct vpd_blob {\n\tconst char *data;\n\tsize_t len;\n};\n\nstruct vpd_sequence {\n\tint error;\n\tstruct rtas_ibm_get_vpd_params params;\n};\n\nunion vsx_reg {\n\tu8 b[16];\n\tu16 h[8];\n\tu32 w[4];\n\tlong unsigned int d[2];\n\tfloat fp[4];\n\tdouble dp[2];\n\t__vector128 v;\n};\n\nstruct vt_consize {\n\tshort unsigned int v_rows;\n\tshort unsigned int v_cols;\n\tshort unsigned int v_vlin;\n\tshort unsigned int v_clin;\n\tshort unsigned int v_vcol;\n\tshort unsigned int v_ccol;\n};\n\nstruct vt_event {\n\tunsigned int event;\n\tunsigned int oldev;\n\tunsigned int newev;\n\tunsigned int pad[4];\n};\n\nstruct vt_event_wait {\n\tstruct list_head list;\n\tstruct vt_event event;\n\tint done;\n};\n\nstruct vt_notifier_param {\n\tstruct vc_data *vc;\n\tunsigned int c;\n};\n\nstruct vt_setactivate {\n\tunsigned int console;\n\tstruct vt_mode mode;\n};\n\nstruct vt_sizes {\n\tshort unsigned int v_rows;\n\tshort unsigned int v_cols;\n\tshort unsigned int v_scrollsize;\n};\n\nstruct vt_spawn_console {\n\tspinlock_t lock;\n\tstruct pid *pid;\n\tint sig;\n};\n\nstruct vt_stat {\n\tshort unsigned int v_active;\n\tshort unsigned int v_signal;\n\tshort unsigned int v_state;\n};\n\nstruct vxlan_metadata {\n\tu32 gbp;\n};\n\nstruct wait_bit_key {\n\tlong unsigned int *flags;\n\tint bit_nr;\n\tlong unsigned int timeout;\n};\n\nstruct wait_bit_queue_entry {\n\tstruct wait_bit_key key;\n\tstruct wait_queue_entry wq_entry;\n};\n\nstruct wait_exceptional_entry_queue {\n\twait_queue_entry_t wait;\n\tstruct exceptional_entry_key key;\n};\n\nstruct wait_page_key {\n\tstruct folio *folio;\n\tint bit_nr;\n\tint page_match;\n};\n\nstruct wake_irq {\n\tstruct device *dev;\n\tunsigned int status;\n\tint irq;\n\tconst char *name;\n};\n\nstruct wakeup_source {\n\tconst char *name;\n\tint id;\n\tstruct list_head entry;\n\tspinlock_t lock;\n\tstruct wake_irq *wakeirq;\n\tstruct timer_list timer;\n\tlong unsigned int timer_expires;\n\tktime_t total_time;\n\tktime_t max_time;\n\tktime_t last_time;\n\tktime_t start_prevent_time;\n\tktime_t prevent_sleep_time;\n\tlong unsigned int event_count;\n\tlong unsigned int active_count;\n\tlong unsigned int relax_count;\n\tlong unsigned int expire_count;\n\tlong unsigned int wakeup_count;\n\tstruct device *dev;\n\tbool active: 1;\n\tbool autosleep_enabled: 1;\n};\n\nstruct warn_args {\n\tconst char *fmt;\n\tva_list args;\n};\n\nstruct wb_lock_cookie {\n\tbool locked;\n\tlong unsigned int flags;\n};\n\nstruct wb_stats {\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_io;\n\tlong unsigned int nr_more_io;\n\tlong unsigned int nr_dirty_time;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_reclaimable;\n\tlong unsigned int nr_dirtied;\n\tlong unsigned int nr_written;\n\tlong unsigned int dirty_thresh;\n\tlong unsigned int wb_thresh;\n};\n\nstruct wb_writeback_work {\n\tlong int nr_pages;\n\tstruct super_block *sb;\n\tenum writeback_sync_modes sync_mode;\n\tunsigned int tagged_writepages: 1;\n\tunsigned int for_kupdate: 1;\n\tunsigned int range_cyclic: 1;\n\tunsigned int for_background: 1;\n\tunsigned int for_sync: 1;\n\tunsigned int auto_free: 1;\n\tenum wb_reason reason;\n\tstruct list_head list;\n\tstruct wb_completion *done;\n};\n\nstruct wol_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_wolinfo wol;\n\tbool show_sopass;\n};\n\nstruct word_at_a_time {};\n\nstruct work_for_cpu {\n\tstruct work_struct work;\n\tlong int (*fn)(void *);\n\tvoid *arg;\n\tlong int ret;\n};\n\nstruct work_offq_data {\n\tu32 pool_id;\n\tu32 disable;\n\tu32 flags;\n};\n\nstruct worker {\n\tunion {\n\t\tstruct list_head entry;\n\t\tstruct hlist_node hentry;\n\t};\n\tstruct work_struct *current_work;\n\twork_func_t current_func;\n\tstruct pool_workqueue *current_pwq;\n\tu64 current_at;\n\tunsigned int current_color;\n\tint sleeping;\n\twork_func_t last_func;\n\tstruct list_head scheduled;\n\tstruct task_struct *task;\n\tstruct worker_pool *pool;\n\tstruct list_head node;\n\tlong unsigned int last_active;\n\tunsigned int flags;\n\tint id;\n\tchar desc[32];\n\tstruct workqueue_struct *rescue_wq;\n};\n\nstruct worker_pool {\n\traw_spinlock_t lock;\n\tint cpu;\n\tint node;\n\tint id;\n\tunsigned int flags;\n\tlong unsigned int watchdog_ts;\n\tbool cpu_stall;\n\tint nr_running;\n\tstruct list_head worklist;\n\tint nr_workers;\n\tint nr_idle;\n\tstruct list_head idle_list;\n\tstruct timer_list idle_timer;\n\tstruct work_struct idle_cull_work;\n\tstruct timer_list mayday_timer;\n\tstruct hlist_head busy_hash[64];\n\tstruct worker *manager;\n\tstruct list_head workers;\n\tstruct ida worker_ida;\n\tstruct workqueue_attrs *attrs;\n\tstruct hlist_node hash_node;\n\tint refcnt;\n\tstruct callback_head rcu;\n};\n\nstruct workqueue_attrs {\n\tint nice;\n\tcpumask_var_t cpumask;\n\tcpumask_var_t __pod_cpumask;\n\tbool affn_strict;\n\tenum wq_affn_scope affn_scope;\n\tbool ordered;\n};\n\nstruct wq_flusher;\n\nstruct wq_device;\n\nstruct wq_node_nr_active;\n\nstruct workqueue_struct {\n\tstruct list_head pwqs;\n\tstruct list_head list;\n\tstruct mutex mutex;\n\tint work_color;\n\tint flush_color;\n\tatomic_t nr_pwqs_to_flush;\n\tstruct wq_flusher *first_flusher;\n\tstruct list_head flusher_queue;\n\tstruct list_head flusher_overflow;\n\tstruct list_head maydays;\n\tstruct worker *rescuer;\n\tint nr_drainers;\n\tint max_active;\n\tint min_active;\n\tint saved_max_active;\n\tint saved_min_active;\n\tstruct workqueue_attrs *unbound_attrs;\n\tstruct pool_workqueue *dfl_pwq;\n\tstruct wq_device *wq_dev;\n\tchar name[32];\n\tstruct callback_head rcu;\n\tlong: 64;\n\tunsigned int flags;\n\tstruct pool_workqueue **cpu_pwq;\n\tstruct wq_node_nr_active *node_nr_active[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct wq_barrier {\n\tstruct work_struct work;\n\tstruct completion done;\n\tstruct task_struct *task;\n};\n\nstruct wq_device {\n\tstruct workqueue_struct *wq;\n\tstruct device dev;\n};\n\nstruct wq_drain_dead_softirq_work {\n\tstruct work_struct work;\n\tstruct worker_pool *pool;\n\tstruct completion done;\n};\n\nstruct wq_flusher {\n\tstruct list_head list;\n\tint flush_color;\n\tstruct completion done;\n};\n\nstruct wq_node_nr_active {\n\tint max;\n\tatomic_t nr;\n\traw_spinlock_t lock;\n\tstruct list_head pending_pwqs;\n};\n\nstruct wq_pod_type {\n\tint nr_pods;\n\tcpumask_var_t *pod_cpus;\n\tint *pod_node;\n\tint *cpu_pod;\n};\n\ntypedef void (*swap_func_t)(void *, void *, int);\n\nstruct wrapper {\n\tcmp_func_t cmp;\n\tswap_func_t swap;\n};\n\nstruct writeback_control {\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tenum writeback_sync_modes sync_mode;\n\tunsigned int for_kupdate: 1;\n\tunsigned int for_background: 1;\n\tunsigned int tagged_writepages: 1;\n\tunsigned int for_reclaim: 1;\n\tunsigned int range_cyclic: 1;\n\tunsigned int for_sync: 1;\n\tunsigned int unpinned_netfs_wb: 1;\n\tunsigned int no_cgroup_owner: 1;\n\tstruct swap_iocb **swap_plug;\n\tstruct list_head *list;\n\tstruct folio_batch fbatch;\n\tlong unsigned int index;\n\tint saved_err;\n\tstruct bdi_writeback *wb;\n\tstruct inode *inode;\n\tint wb_id;\n\tint wb_lcand_id;\n\tint wb_tcand_id;\n\tsize_t wb_bytes;\n\tsize_t wb_lcand_bytes;\n\tsize_t wb_tcand_bytes;\n};\n\nstruct writer {\n\tuint8_t *buffer;\n\tuint8_t previous_byte;\n\tsize_t buffer_pos;\n\tint bufsize;\n\tsize_t global_pos;\n\tlong int (*flush)(void *, long unsigned int);\n\tstruct lzma_header *header;\n};\n\nstruct ww_acquire_ctx {\n\tstruct task_struct *task;\n\tlong unsigned int stamp;\n\tunsigned int acquired;\n\tshort unsigned int wounded;\n\tshort unsigned int is_wait_die;\n\tunsigned int done_acquire;\n\tstruct ww_class *ww_class;\n\tvoid *contending_lock;\n};\n\nstruct ww_class {\n\tatomic_long_t stamp;\n\tstruct lock_class_key acquire_key;\n\tstruct lock_class_key mutex_key;\n\tconst char *acquire_name;\n\tconst char *mutex_name;\n\tunsigned int is_wait_die;\n};\n\nstruct x509_certificate {\n\tstruct x509_certificate *next;\n\tstruct x509_certificate *signer;\n\tstruct public_key *pub;\n\tstruct public_key_signature *sig;\n\tchar *issuer;\n\tchar *subject;\n\tstruct asymmetric_key_id *id;\n\tstruct asymmetric_key_id *skid;\n\ttime64_t valid_from;\n\ttime64_t valid_to;\n\tconst void *tbs;\n\tunsigned int tbs_size;\n\tunsigned int raw_sig_size;\n\tconst void *raw_sig;\n\tconst void *raw_serial;\n\tunsigned int raw_serial_size;\n\tunsigned int raw_issuer_size;\n\tconst void *raw_issuer;\n\tconst void *raw_subject;\n\tunsigned int raw_subject_size;\n\tunsigned int raw_skid_size;\n\tconst void *raw_skid;\n\tunsigned int index;\n\tbool seen;\n\tbool verified;\n\tbool self_signed;\n\tbool unsupported_sig;\n\tbool blacklisted;\n};\n\nstruct x509_parse_context {\n\tstruct x509_certificate *cert;\n\tlong unsigned int data;\n\tconst void *key;\n\tsize_t key_size;\n\tconst void *params;\n\tsize_t params_size;\n\tenum OID key_algo;\n\tenum OID last_oid;\n\tenum OID sig_algo;\n\tu8 o_size;\n\tu8 cn_size;\n\tu8 email_size;\n\tu16 o_offset;\n\tu16 cn_offset;\n\tu16 email_offset;\n\tunsigned int raw_akid_size;\n\tconst void *raw_akid;\n\tconst void *akid_raw_issuer;\n\tunsigned int akid_raw_issuer_size;\n};\n\nstruct xa_limit {\n\tu32 max;\n\tu32 min;\n};\n\nstruct xa_node {\n\tunsigned char shift;\n\tunsigned char offset;\n\tunsigned char count;\n\tunsigned char nr_values;\n\tstruct xa_node *parent;\n\tstruct xarray *array;\n\tunion {\n\t\tstruct list_head private_list;\n\t\tstruct callback_head callback_head;\n\t};\n\tvoid *slots[64];\n\tunion {\n\t\tlong unsigned int tags[3];\n\t\tlong unsigned int marks[3];\n\t};\n};\n\ntypedef void (*xa_update_node_t)(struct xa_node *);\n\nstruct xa_state {\n\tstruct xarray *xa;\n\tlong unsigned int xa_index;\n\tunsigned char xa_shift;\n\tunsigned char xa_sibs;\n\tunsigned char xa_offset;\n\tunsigned char xa_pad;\n\tstruct xa_node *xa_node;\n\tstruct xa_node *xa_alloc;\n\txa_update_node_t xa_update;\n\tstruct list_lru *xa_lru;\n};\n\nstruct xattr {\n\tconst char *name;\n\tvoid *value;\n\tsize_t value_len;\n};\n\nstruct xattr_args {\n\t__u64 value;\n\t__u32 size;\n\t__u32 flags;\n};\n\nstruct xattr_handler {\n\tconst char *name;\n\tconst char *prefix;\n\tint flags;\n\tbool (*list)(struct dentry *);\n\tint (*get)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, void *, size_t);\n\tint (*set)(const struct xattr_handler *, struct mnt_idmap *, struct dentry *, struct inode *, const char *, const void *, size_t, int);\n};\n\nstruct xattr_name {\n\tchar name[256];\n};\n\nstruct xb1s_ff_report {\n\t__u8 report_id;\n\t__u8 enable;\n\t__u8 magnitude[4];\n\t__u8 duration_10ms;\n\t__u8 start_delay_10ms;\n\t__u8 loop_count;\n};\n\nstruct xbtree_afakeroot {\n\txfs_agblock_t af_root;\n\tunsigned int af_levels;\n\tunsigned int af_blocks;\n};\n\nstruct xfs_ifork;\n\nstruct xbtree_ifakeroot {\n\tstruct xfs_ifork *if_fork;\n\tint64_t if_blocks;\n\tunsigned int if_levels;\n\tunsigned int if_fork_size;\n};\n\nstruct xcede_latency_record {\n\tu8 hint;\n\t__be64 latency_ticks;\n\tu8 wake_on_irqs;\n} __attribute__((packed));\n\nstruct xcede_latency_payload {\n\tu8 record_size;\n\tstruct xcede_latency_record records[16];\n};\n\nstruct xcede_latency_parameter {\n\t__be16 payload_size;\n\tstruct xcede_latency_payload payload;\n\tu8 null_char;\n};\n\nstruct xdp_attachment_info {\n\tstruct bpf_prog *prog;\n\tu32 flags;\n};\n\nstruct xdp_buff_xsk {\n\tstruct xdp_buff xdp;\n\tu8 cb[24];\n\tdma_addr_t dma;\n\tdma_addr_t frame_dma;\n\tstruct xsk_buff_pool *pool;\n\tstruct list_head list_node;\n\tlong: 64;\n};\n\nstruct xdp_bulk_queue {\n\tvoid *q[8];\n\tstruct list_head flush_node;\n\tstruct bpf_cpu_map_entry *obj;\n\tunsigned int count;\n};\n\nstruct xdp_cpumap_stats {\n\tunsigned int redirect;\n\tunsigned int pass;\n\tunsigned int drop;\n};\n\nstruct xdp_desc {\n\t__u64 addr;\n\t__u32 len;\n\t__u32 options;\n};\n\nstruct xdp_dev_bulk_queue {\n\tstruct xdp_frame *q[16];\n\tstruct list_head flush_node;\n\tstruct net_device *dev;\n\tstruct net_device *dev_rx;\n\tstruct bpf_prog *xdp_prog;\n\tunsigned int count;\n};\n\nstruct xdp_frame {\n\tvoid *data;\n\tu32 len;\n\tu32 headroom;\n\tu32 metasize;\n\tenum xdp_mem_type mem_type: 32;\n\tstruct net_device *dev_rx;\n\tu32 frame_sz;\n\tu32 flags;\n};\n\nstruct xdp_frame_bulk {\n\tint count;\n\tnetmem_ref q[16];\n};\n\nstruct xdp_mem_allocator {\n\tstruct xdp_mem_info mem;\n\tunion {\n\t\tvoid *allocator;\n\t\tstruct page_pool *page_pool;\n\t};\n\tstruct rhash_head node;\n\tstruct callback_head rcu;\n};\n\nstruct xdp_metadata_ops {\n\tint (*xmo_rx_timestamp)(const struct xdp_md *, u64 *);\n\tint (*xmo_rx_hash)(const struct xdp_md *, u32 *, enum xdp_rss_hash_type *);\n\tint (*xmo_rx_vlan_tag)(const struct xdp_md *, __be16 *, u16 *);\n};\n\nstruct xdp_page_head {\n\tstruct xdp_buff orig_ctx;\n\tstruct xdp_buff ctx;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_frame;\n\t\t\tstruct xdp_frame frame[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\tu8 data[0];\n\t\t};\n\t};\n};\n\nstruct xsk_queue;\n\nstruct xdp_umem;\n\nstruct xdp_sock {\n\tstruct sock sk;\n\tlong: 64;\n\tstruct xsk_queue *rx;\n\tstruct net_device *dev;\n\tstruct xdp_umem *umem;\n\tstruct list_head flush_node;\n\tstruct xsk_buff_pool *pool;\n\tu16 queue_id;\n\tbool zc;\n\tbool sg;\n\tenum {\n\t\tXSK_READY = 0,\n\t\tXSK_BOUND = 1,\n\t\tXSK_UNBOUND = 2,\n\t} state;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xsk_queue *tx;\n\tstruct list_head tx_list;\n\tu32 tx_budget_spent;\n\tspinlock_t rx_lock;\n\tu64 rx_dropped;\n\tu64 rx_queue_full;\n\tstruct sk_buff *skb;\n\tstruct list_head map_list;\n\tspinlock_t map_list_lock;\n\tstruct mutex mutex;\n\tstruct xsk_queue *fq_tmp;\n\tstruct xsk_queue *cq_tmp;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xdp_test_data {\n\tstruct xdp_buff *orig_ctx;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info rxq;\n\tstruct net_device *dev;\n\tstruct page_pool *pp;\n\tstruct xdp_frame **frames;\n\tstruct sk_buff **skbs;\n\tstruct xdp_mem_info mem;\n\tu32 batch_size;\n\tu32 frame_cnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xdp_txq_info {\n\tstruct net_device *dev;\n};\n\nstruct xdp_umem {\n\tvoid *addrs;\n\tu64 size;\n\tu32 headroom;\n\tu32 chunk_size;\n\tu32 chunks;\n\tu32 npgs;\n\tstruct user_struct *user;\n\trefcount_t users;\n\tu8 flags;\n\tu8 tx_metadata_len;\n\tbool zc;\n\tstruct page **pgs;\n\tint id;\n\tstruct list_head xsk_dma_list;\n\tstruct work_struct work;\n};\n\nstruct xdr_skb_reader {\n\tstruct sk_buff *skb;\n\tunsigned int offset;\n\tsize_t count;\n\t__wsum csum;\n};\n\nunion xfs_btree_ptr {\n\t__be32 s;\n\t__be64 l;\n};\n\nstruct xfs_buftarg;\n\nstruct xfbtree {\n\tstruct xfs_buftarg *target;\n\txfbno_t highest_bno;\n\tlong long unsigned int owner;\n\tunion xfs_btree_ptr root;\n\tunsigned int nlevels;\n\tunsigned int maxrecs[2];\n\tunsigned int minrecs[2];\n};\n\nstruct xfrm4_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*input_handler)(struct sk_buff *, int, __be32, int);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tstruct xfrm4_protocol *next;\n\tint priority;\n};\n\nstruct xfrm6_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*input_handler)(struct sk_buff *, int, __be32, int);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n\tstruct xfrm6_protocol *next;\n\tint priority;\n};\n\nstruct xfrm_address_filter {\n\txfrm_address_t saddr;\n\txfrm_address_t daddr;\n\t__u16 family;\n\t__u8 splen;\n\t__u8 dplen;\n};\n\nstruct xfrm_algo {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_aead {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tunsigned int alg_icv_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_auth {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tunsigned int alg_trunc_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_dev_offload {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net_device *real_dev;\n\tlong unsigned int offload_handle;\n\tu8 dir: 2;\n\tu8 type: 2;\n\tu8 flags: 2;\n};\n\nstruct xfrm_dst {\n\tunion {\n\t\tstruct dst_entry dst;\n\t\tstruct rtable rt;\n\t\tstruct rt6_info rt6;\n\t} u;\n\tstruct dst_entry *route;\n\tstruct dst_entry *child;\n\tstruct dst_entry *path;\n\tstruct xfrm_policy *pols[2];\n\tint num_pols;\n\tint num_xfrms;\n\tu32 xfrm_genid;\n\tu32 policy_genid;\n\tu32 route_mtu_cached;\n\tu32 child_mtu_cached;\n\tu32 route_cookie;\n\tu32 path_cookie;\n};\n\nstruct xfrm_dst_lookup_params {\n\tstruct net *net;\n\tdscp_t dscp;\n\tint oif;\n\txfrm_address_t *saddr;\n\txfrm_address_t *daddr;\n\tu32 mark;\n\t__u8 ipproto;\n\tunion flowi_uli uli;\n};\n\nstruct xfrm_encap_tmpl {\n\t__u16 encap_type;\n\t__be16 encap_sport;\n\t__be16 encap_dport;\n\txfrm_address_t encap_oa;\n};\n\nstruct xfrm_flo {\n\tstruct dst_entry *dst_orig;\n\tu8 flags;\n};\n\nstruct xfrm_flow_keys {\n\tstruct flow_dissector_key_basic basic;\n\tstruct flow_dissector_key_control control;\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs ipv4;\n\t\tstruct flow_dissector_key_ipv6_addrs ipv6;\n\t} addrs;\n\tstruct flow_dissector_key_ip ip;\n\tstruct flow_dissector_key_icmp icmp;\n\tstruct flow_dissector_key_ports ports;\n\tstruct flow_dissector_key_keyid gre;\n};\n\nstruct xfrm_hash_state_ptrs {\n\tconst struct hlist_head *bydst;\n\tconst struct hlist_head *bysrc;\n\tconst struct hlist_head *byspi;\n\tunsigned int hmask;\n};\n\nstruct xfrm_id {\n\txfrm_address_t daddr;\n\t__be32 spi;\n\t__u8 proto;\n};\n\nstruct xfrm_if_decode_session_result;\n\nstruct xfrm_if_cb {\n\tbool (*decode_session)(struct sk_buff *, short unsigned int, struct xfrm_if_decode_session_result *);\n};\n\nstruct xfrm_if_decode_session_result {\n\tstruct net *net;\n\tu32 if_id;\n};\n\nstruct xfrm_input_afinfo {\n\tu8 family;\n\tbool is_ipip;\n\tint (*callback)(struct sk_buff *, u8, int);\n};\n\nstruct xfrm_kmaddress {\n\txfrm_address_t local;\n\txfrm_address_t remote;\n\tu32 reserved;\n\tu16 family;\n};\n\nstruct xfrm_lifetime_cfg {\n\t__u64 soft_byte_limit;\n\t__u64 hard_byte_limit;\n\t__u64 soft_packet_limit;\n\t__u64 hard_packet_limit;\n\t__u64 soft_add_expires_seconds;\n\t__u64 hard_add_expires_seconds;\n\t__u64 soft_use_expires_seconds;\n\t__u64 hard_use_expires_seconds;\n};\n\nstruct xfrm_lifetime_cur {\n\t__u64 bytes;\n\t__u64 packets;\n\t__u64 add_time;\n\t__u64 use_time;\n};\n\nstruct xfrm_mark {\n\t__u32 v;\n\t__u32 m;\n};\n\nstruct xfrm_tmpl;\n\nstruct xfrm_selector;\n\nstruct xfrm_migrate;\n\nstruct xfrm_mgr {\n\tstruct list_head list;\n\tint (*notify)(struct xfrm_state *, const struct km_event *);\n\tint (*acquire)(struct xfrm_state *, struct xfrm_tmpl *, struct xfrm_policy *);\n\tstruct xfrm_policy * (*compile_policy)(struct sock *, int, u8 *, int, int *);\n\tint (*new_mapping)(struct xfrm_state *, xfrm_address_t *, __be16);\n\tint (*notify_policy)(struct xfrm_policy *, int, const struct km_event *);\n\tint (*report)(struct net *, u8, struct xfrm_selector *, xfrm_address_t *);\n\tint (*migrate)(const struct xfrm_selector *, u8, u8, const struct xfrm_migrate *, int, const struct xfrm_kmaddress *, const struct xfrm_encap_tmpl *);\n\tbool (*is_alive)(const struct km_event *);\n};\n\nstruct xfrm_migrate {\n\txfrm_address_t old_daddr;\n\txfrm_address_t old_saddr;\n\txfrm_address_t new_daddr;\n\txfrm_address_t new_saddr;\n\tu8 proto;\n\tu8 mode;\n\tu16 reserved;\n\tu32 reqid;\n\tu16 old_family;\n\tu16 new_family;\n};\n\nstruct xfrm_mode {\n\tu8 encap;\n\tu8 family;\n\tu8 flags;\n};\n\nstruct xfrm_mode_cbs {\n\tstruct module *owner;\n\tint (*init_state)(struct xfrm_state *);\n\tint (*clone_state)(struct xfrm_state *, struct xfrm_state *);\n\tvoid (*destroy_state)(struct xfrm_state *);\n\tint (*user_init)(struct net *, struct xfrm_state *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*copy_to_user)(struct xfrm_state *, struct sk_buff *);\n\tunsigned int (*sa_len)(const struct xfrm_state *);\n\tu32 (*get_inner_mtu)(struct xfrm_state *, int);\n\tint (*input)(struct xfrm_state *, struct sk_buff *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*prepare_output)(struct xfrm_state *, struct sk_buff *);\n};\n\nstruct xfrm_tunnel_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tunion {\n\t\tstruct ip_tunnel *ip4;\n\t\tstruct ip6_tnl *ip6;\n\t} tunnel;\n};\n\nstruct xfrm_mode_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\t__be16 id;\n\t__be16 frag_off;\n\tu8 ihl;\n\tu8 tos;\n\tu8 ttl;\n\tu8 protocol;\n\tu8 optlen;\n\tu8 flow_lbl[3];\n};\n\nstruct xfrm_pol_inexact_key {\n\tpossible_net_t net;\n\tu32 if_id;\n\tu16 family;\n\tu8 dir;\n\tu8 type;\n};\n\nstruct xfrm_pol_inexact_bin {\n\tstruct xfrm_pol_inexact_key k;\n\tstruct rhash_head head;\n\tstruct hlist_head hhead;\n\tseqcount_spinlock_t count;\n\tstruct rb_root root_d;\n\tstruct rb_root root_s;\n\tstruct list_head inexact_bins;\n\tstruct callback_head rcu;\n};\n\nstruct xfrm_pol_inexact_candidates {\n\tstruct hlist_head *res[4];\n};\n\nstruct xfrm_pol_inexact_node {\n\tstruct rb_node node;\n\tunion {\n\t\txfrm_address_t addr;\n\t\tstruct callback_head rcu;\n\t};\n\tu8 prefixlen;\n\tstruct rb_root root;\n\tstruct hlist_head hhead;\n};\n\nstruct xfrm_selector {\n\txfrm_address_t daddr;\n\txfrm_address_t saddr;\n\t__be16 dport;\n\t__be16 dport_mask;\n\t__be16 sport;\n\t__be16 sport_mask;\n\t__u16 family;\n\t__u8 prefixlen_d;\n\t__u8 prefixlen_s;\n\t__u8 proto;\n\tint ifindex;\n\t__kernel_uid32_t user;\n};\n\nstruct xfrm_policy_walk_entry {\n\tstruct list_head all;\n\tu8 dead;\n};\n\nstruct xfrm_policy_queue {\n\tstruct sk_buff_head hold_queue;\n\tstruct timer_list hold_timer;\n\tlong unsigned int timeout;\n};\n\nstruct xfrm_tmpl {\n\tstruct xfrm_id id;\n\txfrm_address_t saddr;\n\tshort unsigned int encap_family;\n\tu32 reqid;\n\tu8 mode;\n\tu8 share;\n\tu8 optional;\n\tu8 allalgs;\n\tu32 aalgos;\n\tu32 ealgos;\n\tu32 calgos;\n};\n\nstruct xfrm_sec_ctx;\n\nstruct xfrm_policy {\n\tpossible_net_t xp_net;\n\tstruct hlist_node bydst;\n\tstruct hlist_node byidx;\n\tstruct hlist_head state_cache_list;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\tu32 pos;\n\tstruct timer_list timer;\n\tatomic_t genid;\n\tu32 priority;\n\tu32 index;\n\tu32 if_id;\n\tstruct xfrm_mark mark;\n\tstruct xfrm_selector selector;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_lifetime_cur curlft;\n\tstruct xfrm_policy_walk_entry walk;\n\tstruct xfrm_policy_queue polq;\n\tbool bydst_reinsert;\n\tu8 type;\n\tu8 action;\n\tu8 flags;\n\tu8 xfrm_nr;\n\tu16 family;\n\tstruct xfrm_sec_ctx *security;\n\tstruct xfrm_tmpl xfrm_vec[6];\n\tstruct callback_head rcu;\n\tstruct xfrm_dev_offload xdo;\n};\n\nstruct xfrm_policy_afinfo {\n\tstruct dst_ops *dst_ops;\n\tstruct dst_entry * (*dst_lookup)(const struct xfrm_dst_lookup_params *);\n\tint (*get_saddr)(xfrm_address_t *, const struct xfrm_dst_lookup_params *);\n\tint (*fill_dst)(struct xfrm_dst *, struct net_device *, const struct flowi *);\n\tstruct dst_entry * (*blackhole_route)(struct net *, struct dst_entry *);\n};\n\nstruct xfrm_policy_walk {\n\tstruct xfrm_policy_walk_entry walk;\n\tu8 type;\n\tu32 seq;\n};\n\nstruct xfrm_replay_state {\n\t__u32 oseq;\n\t__u32 seq;\n\t__u32 bitmap;\n};\n\nstruct xfrm_replay_state_esn {\n\tunsigned int bmp_len;\n\t__u32 oseq;\n\t__u32 seq;\n\t__u32 oseq_hi;\n\t__u32 seq_hi;\n\t__u32 replay_window;\n\t__u32 bmp[0];\n};\n\nstruct xfrm_sec_ctx {\n\t__u8 ctx_doi;\n\t__u8 ctx_alg;\n\t__u16 ctx_len;\n\t__u32 ctx_sid;\n\tchar ctx_str[0];\n};\n\nstruct xfrm_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 low;\n\t\t\t__u32 hi;\n\t\t} output;\n\t\tstruct {\n\t\t\t__be32 low;\n\t\t\t__be32 hi;\n\t\t} input;\n\t} seq;\n};\n\nstruct xfrm_spi_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\tunsigned int daddroff;\n\tunsigned int family;\n\t__be32 seq;\n};\n\nstruct xfrm_state_walk {\n\tstruct list_head all;\n\tu8 state;\n\tu8 dying;\n\tu8 proto;\n\tu32 seq;\n\tstruct xfrm_address_filter *filter;\n};\n\nstruct xfrm_stats {\n\t__u32 replay_window;\n\t__u32 replay;\n\t__u32 integrity_failed;\n};\n\nstruct xfrm_type;\n\nstruct xfrm_type_offload;\n\nstruct xfrm_state {\n\tpossible_net_t xs_net;\n\tunion {\n\t\tstruct hlist_node gclist;\n\t\tstruct hlist_node bydst;\n\t};\n\tunion {\n\t\tstruct hlist_node dev_gclist;\n\t\tstruct hlist_node bysrc;\n\t};\n\tstruct hlist_node byspi;\n\tstruct hlist_node byseq;\n\tstruct hlist_node state_cache;\n\tstruct hlist_node state_cache_input;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tu32 pcpu_num;\n\tstruct xfrm_id id;\n\tstruct xfrm_selector sel;\n\tstruct xfrm_mark mark;\n\tu32 if_id;\n\tu32 tfcpad;\n\tu32 genid;\n\tstruct xfrm_state_walk km;\n\tstruct {\n\t\tu32 reqid;\n\t\tu8 mode;\n\t\tu8 replay_window;\n\t\tu8 aalgo;\n\t\tu8 ealgo;\n\t\tu8 calgo;\n\t\tu8 flags;\n\t\tu16 family;\n\t\txfrm_address_t saddr;\n\t\tint header_len;\n\t\tint enc_hdr_len;\n\t\tint trailer_len;\n\t\tu32 extra_flags;\n\t\tstruct xfrm_mark smark;\n\t} props;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_algo_auth *aalg;\n\tstruct xfrm_algo *ealg;\n\tstruct xfrm_algo *calg;\n\tstruct xfrm_algo_aead *aead;\n\tconst char *geniv;\n\t__be16 new_mapping_sport;\n\tu32 new_mapping;\n\tu32 mapping_maxage;\n\tstruct xfrm_encap_tmpl *encap;\n\tstruct sock *encap_sk;\n\tu32 nat_keepalive_interval;\n\ttime64_t nat_keepalive_expiration;\n\txfrm_address_t *coaddr;\n\tstruct xfrm_state *tunnel;\n\tatomic_t tunnel_users;\n\tstruct xfrm_replay_state replay;\n\tstruct xfrm_replay_state_esn *replay_esn;\n\tstruct xfrm_replay_state preplay;\n\tstruct xfrm_replay_state_esn *preplay_esn;\n\tenum xfrm_replay_mode repl_mode;\n\tu32 xflags;\n\tu32 replay_maxage;\n\tu32 replay_maxdiff;\n\tstruct timer_list rtimer;\n\tstruct xfrm_stats stats;\n\tstruct xfrm_lifetime_cur curlft;\n\tstruct hrtimer mtimer;\n\tstruct xfrm_dev_offload xso;\n\tlong int saved_tmo;\n\ttime64_t lastused;\n\tstruct page_frag xfrag;\n\tconst struct xfrm_type *type;\n\tstruct xfrm_mode inner_mode;\n\tstruct xfrm_mode inner_mode_iaf;\n\tstruct xfrm_mode outer_mode;\n\tconst struct xfrm_type_offload *type_offload;\n\tstruct xfrm_sec_ctx *security;\n\tvoid *data;\n\tu8 dir;\n\tconst struct xfrm_mode_cbs *mode_cbs;\n\tvoid *mode_data;\n};\n\nstruct xfrm_state_afinfo {\n\tu8 family;\n\tu8 proto;\n\tconst struct xfrm_type_offload *type_offload_esp;\n\tconst struct xfrm_type *type_esp;\n\tconst struct xfrm_type *type_ipip;\n\tconst struct xfrm_type *type_ipip6;\n\tconst struct xfrm_type *type_comp;\n\tconst struct xfrm_type *type_ah;\n\tconst struct xfrm_type *type_routing;\n\tconst struct xfrm_type *type_dstopts;\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*transport_finish)(struct sk_buff *, int);\n\tvoid (*local_error)(struct sk_buff *, u32);\n};\n\nstruct xfrm_trans_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tint (*finish)(struct net *, struct sock *, struct sk_buff *);\n\tstruct net *net;\n};\n\nstruct xfrm_trans_tasklet {\n\tstruct work_struct work;\n\tspinlock_t queue_lock;\n\tstruct sk_buff_head queue;\n};\n\nstruct xfrm_translator {\n\tint (*alloc_compat)(struct sk_buff *, const struct nlmsghdr *);\n\tstruct nlmsghdr * (*rcv_msg_compat)(const struct nlmsghdr *, int, const struct nla_policy *, struct netlink_ext_ack *);\n\tint (*xlate_user_policy_sockptr)(u8 **, int);\n\tstruct module *owner;\n};\n\nstruct xfrm_tunnel {\n\tint (*handler)(struct sk_buff *);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tstruct xfrm_tunnel *next;\n\tint priority;\n};\n\nstruct xfrm_type {\n\tstruct module *owner;\n\tu8 proto;\n\tu8 flags;\n\tint (*init_state)(struct xfrm_state *, struct netlink_ext_ack *);\n\tvoid (*destructor)(struct xfrm_state *);\n\tint (*input)(struct xfrm_state *, struct sk_buff *);\n\tint (*output)(struct xfrm_state *, struct sk_buff *);\n\tint (*reject)(struct xfrm_state *, struct sk_buff *, const struct flowi *);\n};\n\nstruct xfrm_type_offload {\n\tstruct module *owner;\n\tu8 proto;\n\tvoid (*encap)(struct xfrm_state *, struct sk_buff *);\n\tint (*input_tail)(struct xfrm_state *, struct sk_buff *);\n\tint (*xmit)(struct xfrm_state *, struct sk_buff *, netdev_features_t);\n};\n\nstruct xfrmk_sadinfo {\n\tu32 sadhcnt;\n\tu32 sadhmcnt;\n\tu32 sadcnt;\n};\n\nstruct xfrmk_spdinfo {\n\tu32 incnt;\n\tu32 outcnt;\n\tu32 fwdcnt;\n\tu32 inscnt;\n\tu32 outscnt;\n\tu32 fwdscnt;\n\tu32 spdhcnt;\n\tu32 spdhmcnt;\n};\n\nstruct xfs_acl_entry {\n\t__be32 ae_tag;\n\t__be32 ae_id;\n\t__be16 ae_perm;\n\t__be16 ae_pad;\n};\n\nstruct xfs_acl {\n\t__be32 acl_cnt;\n\tstruct xfs_acl_entry acl_entry[0];\n};\n\nstruct xfs_ag_geometry {\n\tuint32_t ag_number;\n\tuint32_t ag_length;\n\tuint32_t ag_freeblks;\n\tuint32_t ag_icount;\n\tuint32_t ag_ifree;\n\tuint32_t ag_sick;\n\tuint32_t ag_checked;\n\tuint32_t ag_flags;\n\tuint64_t ag_reserved[12];\n};\n\nstruct xfs_ag_resv {\n\txfs_extlen_t ar_orig_reserved;\n\txfs_extlen_t ar_reserved;\n\txfs_extlen_t ar_asked;\n};\n\nstruct xfs_agf {\n\t__be32 agf_magicnum;\n\t__be32 agf_versionnum;\n\t__be32 agf_seqno;\n\t__be32 agf_length;\n\t__be32 agf_bno_root;\n\t__be32 agf_cnt_root;\n\t__be32 agf_rmap_root;\n\t__be32 agf_bno_level;\n\t__be32 agf_cnt_level;\n\t__be32 agf_rmap_level;\n\t__be32 agf_flfirst;\n\t__be32 agf_fllast;\n\t__be32 agf_flcount;\n\t__be32 agf_freeblks;\n\t__be32 agf_longest;\n\t__be32 agf_btreeblks;\n\tuuid_t agf_uuid;\n\t__be32 agf_rmap_blocks;\n\t__be32 agf_refcount_blocks;\n\t__be32 agf_refcount_root;\n\t__be32 agf_refcount_level;\n\t__be64 agf_spare64[14];\n\t__be64 agf_lsn;\n\t__be32 agf_crc;\n\t__be32 agf_spare2;\n};\n\nstruct xfs_agfl {\n\t__be32 agfl_magicnum;\n\t__be32 agfl_seqno;\n\tuuid_t agfl_uuid;\n\t__be64 agfl_lsn;\n\t__be32 agfl_crc;\n} __attribute__((packed));\n\nstruct xfs_mount;\n\nstruct xfs_buf;\n\ntypedef void (*aghdr_init_work_f)(struct xfs_mount *, struct xfs_buf *, struct aghdr_init_data *);\n\nstruct xfs_buf_ops;\n\nstruct xfs_aghdr_grow_data {\n\txfs_daddr_t daddr;\n\tsize_t numblks;\n\tconst struct xfs_buf_ops *ops;\n\taghdr_init_work_f work;\n\tconst struct xfs_btree_ops *bc_ops;\n\tbool need_init;\n};\n\nstruct xfs_agi {\n\t__be32 agi_magicnum;\n\t__be32 agi_versionnum;\n\t__be32 agi_seqno;\n\t__be32 agi_length;\n\t__be32 agi_count;\n\t__be32 agi_root;\n\t__be32 agi_level;\n\t__be32 agi_freecount;\n\t__be32 agi_newino;\n\t__be32 agi_dirino;\n\t__be32 agi_unlinked[64];\n\tuuid_t agi_uuid;\n\t__be32 agi_crc;\n\t__be32 agi_pad32;\n\t__be64 agi_lsn;\n\t__be32 agi_free_root;\n\t__be32 agi_free_level;\n\t__be32 agi_iblocks;\n\t__be32 agi_fblocks;\n};\n\nstruct xlog;\n\nstruct xfs_ail {\n\tstruct xlog *ail_log;\n\tstruct task_struct *ail_task;\n\tstruct list_head ail_head;\n\tstruct list_head ail_cursors;\n\tspinlock_t ail_lock;\n\txfs_lsn_t ail_last_pushed_lsn;\n\txfs_lsn_t ail_head_lsn;\n\tint ail_log_flush;\n\tlong unsigned int ail_opstate;\n\tstruct list_head ail_buf_list;\n\twait_queue_head_t ail_empty;\n\txfs_lsn_t ail_target;\n};\n\nstruct xfs_log_item;\n\nstruct xfs_ail_cursor {\n\tstruct list_head list;\n\tstruct xfs_log_item *item;\n};\n\nstruct xfs_owner_info {\n\tuint64_t oi_owner;\n\txfs_fileoff_t oi_offset;\n\tunsigned int oi_flags;\n};\n\nstruct xfs_perag;\n\nstruct xfs_alloc_arg {\n\tstruct xfs_trans *tp;\n\tstruct xfs_mount *mp;\n\tstruct xfs_buf *agbp;\n\tstruct xfs_perag *pag;\n\txfs_fsblock_t fsbno;\n\txfs_agnumber_t agno;\n\txfs_agblock_t agbno;\n\txfs_extlen_t minlen;\n\txfs_extlen_t maxlen;\n\txfs_extlen_t mod;\n\txfs_extlen_t prod;\n\txfs_extlen_t minleft;\n\txfs_extlen_t total;\n\txfs_extlen_t alignment;\n\txfs_extlen_t minalignslop;\n\txfs_agblock_t min_agbno;\n\txfs_agblock_t max_agbno;\n\txfs_extlen_t len;\n\tint datatype;\n\tchar wasdel;\n\tchar wasfromfl;\n\tbool alloc_minlen_only;\n\tstruct xfs_owner_info oinfo;\n\tenum xfs_ag_resv_type resv;\n};\n\ntypedef struct xfs_alloc_arg xfs_alloc_arg_t;\n\nstruct xfs_defer_pending;\n\nstruct xfs_alloc_autoreap {\n\tstruct xfs_defer_pending *dfp;\n};\n\nstruct xfs_btree_cur;\n\nstruct xfs_alloc_cur {\n\tstruct xfs_btree_cur *cnt;\n\tstruct xfs_btree_cur *bnolt;\n\tstruct xfs_btree_cur *bnogt;\n\txfs_extlen_t cur_len;\n\txfs_agblock_t rec_bno;\n\txfs_extlen_t rec_len;\n\txfs_agblock_t bno;\n\txfs_extlen_t len;\n\txfs_extlen_t diff;\n\tunsigned int busy_gen;\n\tbool busy;\n};\n\nstruct xfs_alloc_rec_incore;\n\ntypedef int (*xfs_alloc_query_range_fn)(struct xfs_btree_cur *, const struct xfs_alloc_rec_incore *, void *);\n\nstruct xfs_alloc_query_range_info {\n\txfs_alloc_query_range_fn fn;\n\tvoid *priv;\n};\n\nstruct xfs_alloc_rec {\n\t__be32 ar_startblock;\n\t__be32 ar_blockcount;\n};\n\ntypedef struct xfs_alloc_rec xfs_alloc_key_t;\n\ntypedef struct xfs_alloc_rec xfs_alloc_rec_t;\n\nstruct xfs_alloc_rec_incore {\n\txfs_agblock_t ar_startblock;\n\txfs_extlen_t ar_blockcount;\n};\n\nstruct xfs_attr3_icleaf_hdr {\n\tuint32_t forw;\n\tuint32_t back;\n\tuint16_t magic;\n\tuint16_t count;\n\tuint16_t usedbytes;\n\tuint32_t firstused;\n\t__u8 holes;\n\tstruct {\n\t\tuint16_t base;\n\t\tuint16_t size;\n\t} freemap[3];\n};\n\nstruct xfs_da_blkinfo {\n\t__be32 forw;\n\t__be32 back;\n\t__be16 magic;\n\t__be16 pad;\n};\n\nstruct xfs_da3_blkinfo {\n\tstruct xfs_da_blkinfo hdr;\n\t__be32 crc;\n\t__be64 blkno;\n\t__be64 lsn;\n\tuuid_t uuid;\n\t__be64 owner;\n};\n\nstruct xfs_attr_leaf_map {\n\t__be16 base;\n\t__be16 size;\n};\n\nstruct xfs_attr3_leaf_hdr {\n\tstruct xfs_da3_blkinfo info;\n\t__be16 count;\n\t__be16 usedbytes;\n\t__be16 firstused;\n\t__u8 holes;\n\t__u8 pad1;\n\tstruct xfs_attr_leaf_map freemap[3];\n\t__be32 pad2;\n};\n\nstruct xfs_attr_leaf_entry {\n\t__be32 hashval;\n\t__be16 nameidx;\n\t__u8 flags;\n\t__u8 pad2;\n};\n\nstruct xfs_attr3_leafblock {\n\tstruct xfs_attr3_leaf_hdr hdr;\n\tstruct xfs_attr_leaf_entry entries[0];\n};\n\nstruct xfs_attr3_rmt_hdr {\n\t__be32 rm_magic;\n\t__be32 rm_offset;\n\t__be32 rm_bytes;\n\t__be32 rm_crc;\n\tuuid_t rm_uuid;\n\t__be64 rm_owner;\n\t__be64 rm_blkno;\n\t__be64 rm_lsn;\n};\n\nstruct xfs_bmbt_irec {\n\txfs_fileoff_t br_startoff;\n\txfs_fsblock_t br_startblock;\n\txfs_filblks_t br_blockcount;\n\txfs_exntst_t br_state;\n};\n\nstruct xfs_da_state;\n\nstruct xfs_da_args;\n\nstruct xfs_attri_log_nameval;\n\nstruct xfs_attr_intent {\n\tstruct list_head xattri_list;\n\tstruct xfs_da_state *xattri_da_state;\n\tstruct xfs_da_args *xattri_da_args;\n\tstruct xfs_attri_log_nameval *xattri_nameval;\n\tenum xfs_delattr_state xattri_dela_state;\n\tunsigned int xattri_op_flags;\n\txfs_dablk_t xattri_lblkno;\n\tint xattri_blkcnt;\n\tstruct xfs_bmbt_irec xattri_map;\n};\n\ntypedef struct xfs_attr_leaf_entry xfs_attr_leaf_entry_t;\n\ntypedef struct xfs_da_blkinfo xfs_da_blkinfo_t;\n\ntypedef struct xfs_attr_leaf_map xfs_attr_leaf_map_t;\n\nstruct xfs_attr_leaf_hdr {\n\txfs_da_blkinfo_t info;\n\t__be16 count;\n\t__be16 usedbytes;\n\t__be16 firstused;\n\t__u8 holes;\n\t__u8 pad1;\n\txfs_attr_leaf_map_t freemap[3];\n};\n\ntypedef struct xfs_attr_leaf_hdr xfs_attr_leaf_hdr_t;\n\nstruct xfs_attr_leaf_name_local {\n\t__be16 valuelen;\n\t__u8 namelen;\n\t__u8 nameval[0];\n};\n\ntypedef struct xfs_attr_leaf_name_local xfs_attr_leaf_name_local_t;\n\nstruct xfs_attr_leaf_name_remote {\n\t__be32 valueblk;\n\t__be32 valuelen;\n\t__u8 namelen;\n\t__u8 name[0];\n};\n\ntypedef struct xfs_attr_leaf_name_remote xfs_attr_leaf_name_remote_t;\n\nstruct xfs_attr_leafblock {\n\txfs_attr_leaf_hdr_t hdr;\n\txfs_attr_leaf_entry_t entries[0];\n};\n\ntypedef struct xfs_attr_leafblock xfs_attr_leafblock_t;\n\nstruct xfs_attrlist_cursor_kern {\n\t__u32 hashval;\n\t__u32 blkno;\n\t__u32 offset;\n\t__u16 pad1;\n\t__u8 pad2;\n\t__u8 initted;\n};\n\nstruct xfs_attr_list_context;\n\ntypedef void (*put_listent_func_t)(struct xfs_attr_list_context *, int, unsigned char *, int, void *, int);\n\nstruct xfs_inode;\n\nstruct xfs_attr_list_context {\n\tstruct xfs_trans *tp;\n\tstruct xfs_inode *dp;\n\tstruct xfs_attrlist_cursor_kern cursor;\n\tvoid *buffer;\n\tint seen_enough;\n\tbool allow_incomplete;\n\tssize_t count;\n\tint dupcnt;\n\tint bufsize;\n\tint firstu;\n\tunsigned int attr_filter;\n\tint resynch;\n\tput_listent_func_t put_listent;\n\tint index;\n};\n\nstruct xfs_attr_multiop {\n\t__u32 am_opcode;\n\t__s32 am_error;\n\tvoid *am_attrname;\n\tvoid *am_attrvalue;\n\t__u32 am_length;\n\t__u32 am_flags;\n};\n\ntypedef struct xfs_attr_multiop xfs_attr_multiop_t;\n\nstruct xfs_attr_sf_entry {\n\t__u8 namelen;\n\t__u8 valuelen;\n\t__u8 flags;\n\t__u8 nameval[0];\n};\n\nstruct xfs_attr_sf_hdr {\n\t__be16 totsize;\n\t__u8 count;\n\t__u8 padding;\n};\n\nstruct xfs_attr_sf_sort {\n\tuint8_t entno;\n\tuint8_t namelen;\n\tuint8_t valuelen;\n\tuint8_t flags;\n\txfs_dahash_t hash;\n\tunsigned char *name;\n\tvoid *value;\n};\n\ntypedef struct xfs_attr_sf_sort xfs_attr_sf_sort_t;\n\nstruct xfs_attrd_log_format {\n\tuint16_t alfd_type;\n\tuint16_t alfd_size;\n\tuint32_t __pad;\n\tuint64_t alfd_alf_id;\n};\n\nstruct xfs_item_ops;\n\nstruct xfs_log_vec;\n\nstruct xfs_log_item {\n\tstruct list_head li_ail;\n\tstruct list_head li_trans;\n\txfs_lsn_t li_lsn;\n\tstruct xlog *li_log;\n\tstruct xfs_ail *li_ailp;\n\tuint li_type;\n\tlong unsigned int li_flags;\n\tstruct xfs_buf *li_buf;\n\tstruct list_head li_bio_list;\n\tconst struct xfs_item_ops *li_ops;\n\tstruct list_head li_cil;\n\tstruct xfs_log_vec *li_lv;\n\tstruct xfs_log_vec *li_lv_shadow;\n\txfs_csn_t li_seq;\n\tuint32_t li_order_id;\n};\n\nstruct xfs_attri_log_item;\n\nstruct xfs_attrd_log_item {\n\tstruct xfs_log_item attrd_item;\n\tstruct xfs_attri_log_item *attrd_attrip;\n\tstruct xfs_attrd_log_format attrd_format;\n};\n\nstruct xfs_attri_log_format {\n\tuint16_t alfi_type;\n\tuint16_t alfi_size;\n\tuint32_t alfi_igen;\n\tuint64_t alfi_id;\n\tuint64_t alfi_ino;\n\tuint32_t alfi_op_flags;\n\tunion {\n\t\tuint32_t alfi_name_len;\n\t\tstruct {\n\t\t\tuint16_t alfi_old_name_len;\n\t\t\tuint16_t alfi_new_name_len;\n\t\t};\n\t};\n\tuint32_t alfi_value_len;\n\tuint32_t alfi_attr_filter;\n};\n\nstruct xfs_attri_log_item {\n\tstruct xfs_log_item attri_item;\n\tatomic_t attri_refcount;\n\tstruct xfs_attri_log_nameval *attri_nameval;\n\tstruct xfs_attri_log_format attri_format;\n};\n\nstruct xfs_log_iovec {\n\tvoid *i_addr;\n\tint i_len;\n\tuint i_type;\n};\n\nstruct xfs_attri_log_nameval {\n\tstruct xfs_log_iovec name;\n\tstruct xfs_log_iovec new_name;\n\tstruct xfs_log_iovec value;\n\tstruct xfs_log_iovec new_value;\n\trefcount_t refcount;\n};\n\nstruct xfs_attrlist {\n\t__s32 al_count;\n\t__s32 al_more;\n\t__s32 al_offset[0];\n};\n\nstruct xfs_attrlist_cursor {\n\t__u32 opaque[4];\n};\n\nstruct xfs_attrlist_ent {\n\t__u32 a_valuelen;\n\tchar a_name[0];\n};\n\nstruct xfs_iext_leaf;\n\nstruct xfs_iext_cursor {\n\tstruct xfs_iext_leaf *leaf;\n\tint pos;\n};\n\nstruct xfs_bmalloca {\n\tstruct xfs_trans *tp;\n\tstruct xfs_inode *ip;\n\tstruct xfs_bmbt_irec prev;\n\tstruct xfs_bmbt_irec got;\n\txfs_fileoff_t offset;\n\txfs_extlen_t length;\n\txfs_fsblock_t blkno;\n\tstruct xfs_btree_cur *cur;\n\tstruct xfs_iext_cursor icur;\n\tint nallocs;\n\tint logflags;\n\txfs_extlen_t total;\n\txfs_extlen_t minlen;\n\txfs_extlen_t minleft;\n\tbool eof;\n\tbool wasdel;\n\tbool aeof;\n\tbool conv;\n\tint datatype;\n\tuint32_t flags;\n};\n\nstruct xfs_group;\n\nstruct xfs_bmap_intent {\n\tstruct list_head bi_list;\n\tenum xfs_bmap_intent_type bi_type;\n\tint bi_whichfork;\n\tstruct xfs_inode *bi_owner;\n\tstruct xfs_group *bi_group;\n\tstruct xfs_bmbt_irec bi_bmap;\n};\n\ntypedef int (*xfs_bmap_query_range_fn)(struct xfs_btree_cur *, struct xfs_bmbt_irec *, void *);\n\nstruct xfs_bmap_query_range {\n\txfs_bmap_query_range_fn fn;\n\tvoid *priv;\n};\n\ntypedef struct xfs_bmbt_irec xfs_bmbt_irec_t;\n\nstruct xfs_bmbt_key {\n\t__be64 br_startoff;\n};\n\ntypedef struct xfs_bmbt_key xfs_bmbt_key_t;\n\ntypedef struct xfs_bmbt_key xfs_bmdr_key_t;\n\nstruct xfs_bmbt_rec {\n\t__be64 l0;\n\t__be64 l1;\n};\n\ntypedef struct xfs_bmbt_rec xfs_bmbt_rec_t;\n\ntypedef xfs_bmbt_rec_t xfs_bmdr_rec_t;\n\nstruct xfs_bmdr_block {\n\t__be16 bb_level;\n\t__be16 bb_numrecs;\n};\n\ntypedef struct xfs_bmdr_block xfs_bmdr_block_t;\n\nstruct xfs_bstime {\n\t__kernel_long_t tv_sec;\n\t__s32 tv_nsec;\n};\n\ntypedef struct xfs_bstime xfs_bstime_t;\n\nstruct xfs_bstat {\n\t__u64 bs_ino;\n\t__u16 bs_mode;\n\t__u16 bs_nlink;\n\t__u32 bs_uid;\n\t__u32 bs_gid;\n\t__u32 bs_rdev;\n\t__s32 bs_blksize;\n\t__s64 bs_size;\n\txfs_bstime_t bs_atime;\n\txfs_bstime_t bs_mtime;\n\txfs_bstime_t bs_ctime;\n\tint64_t bs_blocks;\n\t__u32 bs_xflags;\n\t__s32 bs_extsize;\n\t__s32 bs_extents;\n\t__u32 bs_gen;\n\t__u16 bs_projid_lo;\n\t__u16 bs_forkoff;\n\t__u16 bs_projid_hi;\n\tuint16_t bs_sick;\n\tuint16_t bs_checked;\n\tunsigned char bs_pad[2];\n\t__u32 bs_cowextsize;\n\t__u32 bs_dmevmask;\n\t__u16 bs_dmstate;\n\t__u16 bs_aextents;\n};\n\nstruct xfs_ibulk;\n\nstruct xfs_bulkstat;\n\ntypedef int (*bulkstat_one_fmt_pf)(struct xfs_ibulk *, const struct xfs_bulkstat *);\n\nstruct xfs_bstat_chunk {\n\tbulkstat_one_fmt_pf formatter;\n\tstruct xfs_ibulk *breq;\n\tstruct xfs_bulkstat *buf;\n};\n\nstruct xfs_btree_block;\n\ntypedef int (*xfs_btree_bload_get_records_fn)(struct xfs_btree_cur *, unsigned int, struct xfs_btree_block *, unsigned int, void *);\n\ntypedef int (*xfs_btree_bload_claim_block_fn)(struct xfs_btree_cur *, union xfs_btree_ptr *, void *);\n\ntypedef size_t (*xfs_btree_bload_iroot_size_fn)(struct xfs_btree_cur *, unsigned int, unsigned int, void *);\n\nstruct xfs_btree_bload {\n\txfs_btree_bload_get_records_fn get_records;\n\txfs_btree_bload_claim_block_fn claim_block;\n\txfs_btree_bload_iroot_size_fn iroot_size;\n\tuint64_t nr_records;\n\tint leaf_slack;\n\tint node_slack;\n\tuint64_t nr_blocks;\n\tunsigned int btree_height;\n\tuint16_t max_dirty;\n\tuint16_t nr_dirty;\n};\n\nstruct xfs_btree_block_shdr {\n\t__be32 bb_leftsib;\n\t__be32 bb_rightsib;\n\t__be64 bb_blkno;\n\t__be64 bb_lsn;\n\tuuid_t bb_uuid;\n\t__be32 bb_owner;\n\t__le32 bb_crc;\n};\n\nstruct xfs_btree_block_lhdr {\n\t__be64 bb_leftsib;\n\t__be64 bb_rightsib;\n\t__be64 bb_blkno;\n\t__be64 bb_lsn;\n\tuuid_t bb_uuid;\n\t__be64 bb_owner;\n\t__le32 bb_crc;\n\t__be32 bb_pad;\n};\n\nstruct xfs_btree_block {\n\t__be32 bb_magic;\n\t__be16 bb_level;\n\t__be16 bb_numrecs;\n\tunion {\n\t\tstruct xfs_btree_block_shdr s;\n\t\tstruct xfs_btree_block_lhdr l;\n\t} bb_u;\n};\n\nstruct xfs_btree_block_change_owner_info {\n\tuint64_t new_owner;\n\tstruct list_head *buffer_list;\n};\n\nstruct xfs_inobt_rec_incore {\n\txfs_agino_t ir_startino;\n\tuint16_t ir_holemask;\n\tuint8_t ir_count;\n\tuint8_t ir_freecount;\n\txfs_inofree_t ir_free;\n};\n\nstruct xfs_rmap_irec {\n\txfs_agblock_t rm_startblock;\n\txfs_extlen_t rm_blockcount;\n\tuint64_t rm_owner;\n\tuint64_t rm_offset;\n\tunsigned int rm_flags;\n};\n\nstruct xfs_refcount_irec {\n\txfs_agblock_t rc_startblock;\n\txfs_extlen_t rc_blockcount;\n\txfs_nlink_t rc_refcount;\n\tenum xfs_refc_domain rc_domain;\n};\n\nunion xfs_btree_irec {\n\tstruct xfs_alloc_rec_incore a;\n\tstruct xfs_bmbt_irec b;\n\tstruct xfs_inobt_rec_incore i;\n\tstruct xfs_rmap_irec r;\n\tstruct xfs_refcount_irec rc;\n};\n\nstruct xfs_btree_level {\n\tstruct xfs_buf *bp;\n\tuint16_t ptr;\n\tuint16_t ra;\n};\n\nstruct xfs_btree_cur {\n\tstruct xfs_trans *bc_tp;\n\tstruct xfs_mount *bc_mp;\n\tconst struct xfs_btree_ops *bc_ops;\n\tstruct kmem_cache *bc_cache;\n\tunsigned int bc_flags;\n\tunion xfs_btree_irec bc_rec;\n\tuint8_t bc_nlevels;\n\tuint8_t bc_maxlevels;\n\tstruct xfs_group *bc_group;\n\tunion {\n\t\tstruct {\n\t\t\tstruct xfs_inode *ip;\n\t\t\tshort int forksize;\n\t\t\tchar whichfork;\n\t\t\tstruct xbtree_ifakeroot *ifake;\n\t\t} bc_ino;\n\t\tstruct {\n\t\t\tstruct xfs_buf *agbp;\n\t\t\tstruct xbtree_afakeroot *afake;\n\t\t} bc_ag;\n\t\tstruct {\n\t\t\tstruct xfbtree *xfbtree;\n\t\t} bc_mem;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tint allocated;\n\t\t} bc_bmap;\n\t\tstruct {\n\t\t\tunsigned int nr_ops;\n\t\t\tunsigned int shape_changes;\n\t\t} bc_refc;\n\t};\n\tstruct xfs_btree_level bc_levels[0];\n};\n\nstruct xfs_inobt_key {\n\t__be32 ir_startino;\n};\n\nstruct xfs_rmap_key {\n\t__be32 rm_startblock;\n\t__be64 rm_owner;\n\t__be64 rm_offset;\n} __attribute__((packed));\n\nstruct xfs_refcount_key {\n\t__be32 rc_startblock;\n};\n\nunion xfs_btree_key {\n\tstruct xfs_bmbt_key bmbt;\n\txfs_bmdr_key_t bmbr;\n\txfs_alloc_key_t alloc;\n\tstruct xfs_inobt_key inobt;\n\tstruct xfs_rmap_key rmap;\n\tstruct xfs_rmap_key __rmap_bigkey[2];\n\tstruct xfs_refcount_key refc;\n};\n\nstruct xfs_btree_has_records {\n\tunion xfs_btree_key start_key;\n\tunion xfs_btree_key end_key;\n\tconst union xfs_btree_key *key_mask;\n\tunion xfs_btree_key high_key;\n\tenum xbtree_recpacking outcome;\n};\n\nunion xfs_btree_rec;\n\nstruct xfs_btree_ops {\n\tconst char *name;\n\tenum xfs_btree_type type;\n\tunsigned int geom_flags;\n\tsize_t key_len;\n\tsize_t ptr_len;\n\tsize_t rec_len;\n\tunsigned int lru_refs;\n\tunsigned int statoff;\n\tunsigned int sick_mask;\n\tstruct xfs_btree_cur * (*dup_cursor)(struct xfs_btree_cur *);\n\tvoid (*update_cursor)(struct xfs_btree_cur *, struct xfs_btree_cur *);\n\tvoid (*set_root)(struct xfs_btree_cur *, const union xfs_btree_ptr *, int);\n\tint (*alloc_block)(struct xfs_btree_cur *, const union xfs_btree_ptr *, union xfs_btree_ptr *, int *);\n\tint (*free_block)(struct xfs_btree_cur *, struct xfs_buf *);\n\tint (*get_minrecs)(struct xfs_btree_cur *, int);\n\tint (*get_maxrecs)(struct xfs_btree_cur *, int);\n\tint (*get_dmaxrecs)(struct xfs_btree_cur *, int);\n\tvoid (*init_key_from_rec)(union xfs_btree_key *, const union xfs_btree_rec *);\n\tvoid (*init_rec_from_cur)(struct xfs_btree_cur *, union xfs_btree_rec *);\n\tvoid (*init_ptr_from_cur)(struct xfs_btree_cur *, union xfs_btree_ptr *);\n\tvoid (*init_high_key_from_rec)(union xfs_btree_key *, const union xfs_btree_rec *);\n\tint64_t (*key_diff)(struct xfs_btree_cur *, const union xfs_btree_key *);\n\tint64_t (*diff_two_keys)(struct xfs_btree_cur *, const union xfs_btree_key *, const union xfs_btree_key *, const union xfs_btree_key *);\n\tconst struct xfs_buf_ops *buf_ops;\n\tint (*keys_inorder)(struct xfs_btree_cur *, const union xfs_btree_key *, const union xfs_btree_key *);\n\tint (*recs_inorder)(struct xfs_btree_cur *, const union xfs_btree_rec *, const union xfs_btree_rec *);\n\tenum xbtree_key_contig (*keys_contiguous)(struct xfs_btree_cur *, const union xfs_btree_key *, const union xfs_btree_key *, const union xfs_btree_key *);\n\tstruct xfs_btree_block * (*broot_realloc)(struct xfs_btree_cur *, unsigned int);\n};\n\nstruct xfs_inobt_rec {\n\t__be32 ir_startino;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 ir_freecount;\n\t\t} f;\n\t\tstruct {\n\t\t\t__be16 ir_holemask;\n\t\t\t__u8 ir_count;\n\t\t\t__u8 ir_freecount;\n\t\t} sp;\n\t} ir_u;\n\t__be64 ir_free;\n};\n\nstruct xfs_rmap_rec {\n\t__be32 rm_startblock;\n\t__be32 rm_blockcount;\n\t__be64 rm_owner;\n\t__be64 rm_offset;\n};\n\nstruct xfs_refcount_rec {\n\t__be32 rc_startblock;\n\t__be32 rc_blockcount;\n\t__be32 rc_refcount;\n};\n\nunion xfs_btree_rec {\n\tstruct xfs_bmbt_rec bmbt;\n\txfs_bmdr_rec_t bmbr;\n\tstruct xfs_alloc_rec alloc;\n\tstruct xfs_inobt_rec inobt;\n\tstruct xfs_rmap_rec rmap;\n\tstruct xfs_refcount_rec refc;\n};\n\nstruct xfs_btree_split_args {\n\tstruct xfs_btree_cur *cur;\n\tint level;\n\tunion xfs_btree_ptr *ptrp;\n\tunion xfs_btree_key *key;\n\tstruct xfs_btree_cur **curp;\n\tint *stat;\n\tint result;\n\tbool kswapd;\n\tstruct completion *done;\n\tstruct work_struct work;\n};\n\nstruct xfs_bud_log_format {\n\tuint16_t bud_type;\n\tuint16_t bud_size;\n\tuint32_t __pad;\n\tuint64_t bud_bui_id;\n};\n\nstruct xfs_bui_log_item;\n\nstruct xfs_bud_log_item {\n\tstruct xfs_log_item bud_item;\n\tstruct xfs_bui_log_item *bud_buip;\n\tstruct xfs_bud_log_format bud_format;\n};\n\nstruct xfs_buf_map {\n\txfs_daddr_t bm_bn;\n\tint bm_len;\n\tunsigned int bm_flags;\n};\n\nstruct xfs_buf_log_item;\n\nstruct xfs_buf {\n\tstruct rhash_head b_rhash_head;\n\txfs_daddr_t b_rhash_key;\n\tint b_length;\n\tunsigned int b_hold;\n\tatomic_t b_lru_ref;\n\txfs_buf_flags_t b_flags;\n\tstruct semaphore b_sema;\n\tstruct list_head b_lru;\n\tspinlock_t b_lock;\n\tunsigned int b_state;\n\twait_queue_head_t b_waiters;\n\tstruct list_head b_list;\n\tstruct xfs_perag *b_pag;\n\tstruct xfs_mount *b_mount;\n\tstruct xfs_buftarg *b_target;\n\tvoid *b_addr;\n\tstruct work_struct b_ioend_work;\n\tstruct completion b_iowait;\n\tstruct xfs_buf_log_item *b_log_item;\n\tstruct list_head b_li_list;\n\tstruct xfs_trans *b_transp;\n\tstruct page **b_pages;\n\tstruct page *b_page_array[2];\n\tstruct xfs_buf_map *b_maps;\n\tstruct xfs_buf_map __b_map;\n\tint b_map_count;\n\tatomic_t b_pin_count;\n\tunsigned int b_page_count;\n\tunsigned int b_offset;\n\tint b_error;\n\tvoid (*b_iodone)(struct xfs_buf *);\n\tint b_retries;\n\tlong unsigned int b_first_retry_time;\n\tint b_last_error;\n\tconst struct xfs_buf_ops *b_ops;\n\tstruct callback_head b_rcu;\n};\n\nstruct xfs_buf_cache {\n\tstruct rhashtable bc_hash;\n};\n\nstruct xfs_buf_cancel {\n\txfs_daddr_t bc_blkno;\n\tuint bc_len;\n\tint bc_refcount;\n\tstruct list_head bc_list;\n};\n\nstruct xfs_buf_log_format {\n\tshort unsigned int blf_type;\n\tshort unsigned int blf_size;\n\tshort unsigned int blf_flags;\n\tshort unsigned int blf_len;\n\tint64_t blf_blkno;\n\tunsigned int blf_map_size;\n\tunsigned int blf_data_map[17];\n};\n\nstruct xfs_buf_log_item {\n\tstruct xfs_log_item bli_item;\n\tstruct xfs_buf *bli_buf;\n\tunsigned int bli_flags;\n\tunsigned int bli_recur;\n\tatomic_t bli_refcount;\n\tint bli_format_count;\n\tstruct xfs_buf_log_format *bli_formats;\n\tstruct xfs_buf_log_format __bli_format;\n};\n\nstruct xfs_buf_ops {\n\tchar *name;\n\tunion {\n\t\t__be32 magic[2];\n\t\t__be16 magic16[2];\n\t};\n\tvoid (*verify_read)(struct xfs_buf *);\n\tvoid (*verify_write)(struct xfs_buf *);\n\txfs_failaddr_t (*verify_struct)(struct xfs_buf *);\n};\n\nstruct xfs_buftarg {\n\tdev_t bt_dev;\n\tstruct file *bt_bdev_file;\n\tstruct block_device *bt_bdev;\n\tstruct dax_device *bt_daxdev;\n\tstruct file *bt_file;\n\tu64 bt_dax_part_off;\n\tstruct xfs_mount *bt_mount;\n\tunsigned int bt_meta_sectorsize;\n\tsize_t bt_meta_sectormask;\n\tsize_t bt_logical_sectorsize;\n\tsize_t bt_logical_sectormask;\n\tstruct shrinker *bt_shrinker;\n\tstruct list_lru bt_lru;\n\tstruct percpu_counter bt_readahead_count;\n\tstruct ratelimit_state bt_ioerror_rl;\n\tunsigned int bt_bdev_awu_min;\n\tunsigned int bt_bdev_awu_max;\n\tstruct xfs_buf_cache bt_cache[0];\n};\n\nstruct xfs_map_extent {\n\tuint64_t me_owner;\n\tuint64_t me_startblock;\n\tuint64_t me_startoff;\n\tuint32_t me_len;\n\tuint32_t me_flags;\n};\n\nstruct xfs_bui_log_format {\n\tuint16_t bui_type;\n\tuint16_t bui_size;\n\tuint32_t bui_nextents;\n\tuint64_t bui_id;\n\tstruct xfs_map_extent bui_extents[0];\n};\n\nstruct xfs_bui_log_item {\n\tstruct xfs_log_item bui_item;\n\tatomic_t bui_refcount;\n\tatomic_t bui_next_extent;\n\tstruct xfs_bui_log_format bui_format;\n};\n\nstruct xfs_bulk_ireq {\n\tuint64_t ino;\n\tuint32_t flags;\n\tuint32_t icount;\n\tuint32_t ocount;\n\tuint32_t agno;\n\tuint64_t reserved[5];\n};\n\nstruct xfs_bulkstat {\n\tuint64_t bs_ino;\n\tuint64_t bs_size;\n\tuint64_t bs_blocks;\n\tuint64_t bs_xflags;\n\tint64_t bs_atime;\n\tint64_t bs_mtime;\n\tint64_t bs_ctime;\n\tint64_t bs_btime;\n\tuint32_t bs_gen;\n\tuint32_t bs_uid;\n\tuint32_t bs_gid;\n\tuint32_t bs_projectid;\n\tuint32_t bs_atime_nsec;\n\tuint32_t bs_mtime_nsec;\n\tuint32_t bs_ctime_nsec;\n\tuint32_t bs_btime_nsec;\n\tuint32_t bs_blksize;\n\tuint32_t bs_rdev;\n\tuint32_t bs_cowextsize_blks;\n\tuint32_t bs_extsize_blks;\n\tuint32_t bs_nlink;\n\tuint32_t bs_extents;\n\tuint32_t bs_aextents;\n\tuint16_t bs_version;\n\tuint16_t bs_forkoff;\n\tuint16_t bs_sick;\n\tuint16_t bs_checked;\n\tuint16_t bs_mode;\n\tuint16_t bs_pad2;\n\tuint64_t bs_extents64;\n\tuint64_t bs_pad[6];\n};\n\nstruct xfs_bulkstat_req {\n\tstruct xfs_bulk_ireq hdr;\n\tstruct xfs_bulkstat bulkstat[0];\n};\n\nstruct xfs_busy_extents {\n\tstruct list_head extent_list;\n\tstruct work_struct endio_work;\n\tvoid *owner;\n};\n\nstruct xfs_cil_ctx;\n\nstruct xfs_cil {\n\tstruct xlog *xc_log;\n\tlong unsigned int xc_flags;\n\tatomic_t xc_iclog_hdrs;\n\tstruct workqueue_struct *xc_push_wq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct rw_semaphore xc_ctx_lock;\n\tstruct xfs_cil_ctx *xc_ctx;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t xc_push_lock;\n\txfs_csn_t xc_push_seq;\n\tbool xc_push_commit_stable;\n\tstruct list_head xc_committing;\n\twait_queue_head_t xc_commit_wait;\n\twait_queue_head_t xc_start_wait;\n\txfs_csn_t xc_current_sequence;\n\twait_queue_head_t xc_push_wait;\n\tvoid *xc_pcp;\n};\n\nstruct xlog_in_core;\n\nstruct xlog_ticket;\n\nstruct xfs_cil_ctx {\n\tstruct xfs_cil *cil;\n\txfs_csn_t sequence;\n\txfs_lsn_t start_lsn;\n\txfs_lsn_t commit_lsn;\n\tstruct xlog_in_core *commit_iclog;\n\tstruct xlog_ticket *ticket;\n\tatomic_t space_used;\n\tstruct xfs_busy_extents busy_extents;\n\tstruct list_head log_items;\n\tstruct list_head lv_chain;\n\tstruct list_head iclog_entry;\n\tstruct list_head committing;\n\tstruct work_struct push_work;\n\tatomic_t order_id;\n\tstruct cpumask cil_pcpmask;\n};\n\nstruct xfs_commit_range {\n\t__s32 file1_fd;\n\t__u32 pad;\n\t__u64 file1_offset;\n\t__u64 file2_offset;\n\t__u64 length;\n\t__u64 flags;\n\t__u64 file2_freshness[6];\n};\n\nstruct xfs_fsid {\n\t__u32 val[2];\n};\n\ntypedef struct xfs_fsid xfs_fsid_t;\n\nstruct xfs_commit_range_fresh {\n\txfs_fsid_t fsid;\n\t__u64 file2_ino;\n\t__s64 file2_mtime;\n\t__s64 file2_ctime;\n\t__s32 file2_mtime_nsec;\n\t__s32 file2_ctime_nsec;\n\t__u32 file2_gen;\n\t__u32 magic;\n};\n\nstruct xfs_cud_log_format {\n\tuint16_t cud_type;\n\tuint16_t cud_size;\n\tuint32_t __pad;\n\tuint64_t cud_cui_id;\n};\n\nstruct xfs_cui_log_item;\n\nstruct xfs_cud_log_item {\n\tstruct xfs_log_item cud_item;\n\tstruct xfs_cui_log_item *cud_cuip;\n\tstruct xfs_cud_log_format cud_format;\n};\n\nstruct xfs_phys_extent {\n\tuint64_t pe_startblock;\n\tuint32_t pe_len;\n\tuint32_t pe_flags;\n};\n\nstruct xfs_cui_log_format {\n\tuint16_t cui_type;\n\tuint16_t cui_size;\n\tuint32_t cui_nextents;\n\tuint64_t cui_id;\n\tstruct xfs_phys_extent cui_extents[0];\n};\n\nstruct xfs_cui_log_item {\n\tstruct xfs_log_item cui_item;\n\tatomic_t cui_refcount;\n\tatomic_t cui_next_extent;\n\tstruct xfs_cui_log_format cui_format;\n};\n\nstruct xfs_da_node_entry;\n\nstruct xfs_da3_icnode_hdr {\n\tuint32_t forw;\n\tuint32_t back;\n\tuint16_t magic;\n\tuint16_t count;\n\tuint16_t level;\n\tstruct xfs_da_node_entry *btree;\n};\n\nstruct xfs_da3_node_hdr {\n\tstruct xfs_da3_blkinfo info;\n\t__be16 __count;\n\t__be16 __level;\n\t__be32 __pad32;\n};\n\nstruct xfs_da_node_entry {\n\t__be32 hashval;\n\t__be32 before;\n};\n\nstruct xfs_da3_intnode {\n\tstruct xfs_da3_node_hdr hdr;\n\tstruct xfs_da_node_entry __btree[0];\n};\n\nstruct xfs_da_geometry;\n\nstruct xfs_da_args {\n\tstruct xfs_da_geometry *geo;\n\tconst uint8_t *name;\n\tconst uint8_t *new_name;\n\tvoid *value;\n\tvoid *new_value;\n\tstruct xfs_inode *dp;\n\tstruct xfs_trans *trans;\n\txfs_ino_t inumber;\n\txfs_ino_t owner;\n\tint valuelen;\n\tint new_valuelen;\n\tuint8_t filetype;\n\tuint8_t op_flags;\n\tuint8_t attr_filter;\n\tshort int namelen;\n\tshort int new_namelen;\n\txfs_dahash_t hashval;\n\txfs_extlen_t total;\n\tint whichfork;\n\txfs_dablk_t blkno;\n\tint index;\n\txfs_dablk_t rmtblkno;\n\tint rmtblkcnt;\n\tint rmtvaluelen;\n\txfs_dablk_t blkno2;\n\tint index2;\n\txfs_dablk_t rmtblkno2;\n\tint rmtblkcnt2;\n\tint rmtvaluelen2;\n\tenum xfs_dacmp cmpresult;\n};\n\ntypedef struct xfs_da_args xfs_da_args_t;\n\nstruct xfs_da_geometry {\n\tunsigned int blksize;\n\tunsigned int fsbcount;\n\tuint8_t fsblog;\n\tuint8_t blklog;\n\tunsigned int node_hdr_size;\n\tunsigned int node_ents;\n\tunsigned int magicpct;\n\txfs_dablk_t datablk;\n\tunsigned int leaf_hdr_size;\n\tunsigned int leaf_max_ents;\n\txfs_dablk_t leafblk;\n\tunsigned int free_hdr_size;\n\tunsigned int free_max_bests;\n\txfs_dablk_t freeblk;\n\txfs_extnum_t max_extents;\n\txfs_dir2_data_aoff_t data_first_offset;\n\tsize_t data_entry_offset;\n};\n\nstruct xfs_da_node_hdr {\n\tstruct xfs_da_blkinfo info;\n\t__be16 __count;\n\t__be16 __level;\n};\n\nstruct xfs_da_intnode {\n\tstruct xfs_da_node_hdr hdr;\n\tstruct xfs_da_node_entry __btree[0];\n};\n\ntypedef struct xfs_da_intnode xfs_da_intnode_t;\n\nstruct xfs_da_state_blk {\n\tstruct xfs_buf *bp;\n\txfs_dablk_t blkno;\n\txfs_daddr_t disk_blkno;\n\tint index;\n\txfs_dahash_t hashval;\n\tint magic;\n};\n\ntypedef struct xfs_da_state_blk xfs_da_state_blk_t;\n\nstruct xfs_da_state_path {\n\tint active;\n\txfs_da_state_blk_t blk[5];\n};\n\ntypedef struct xfs_da_state_path xfs_da_state_path_t;\n\nstruct xfs_da_state {\n\txfs_da_args_t *args;\n\tstruct xfs_mount *mp;\n\txfs_da_state_path_t path;\n\txfs_da_state_path_t altpath;\n\tunsigned char inleaf;\n\tunsigned char extravalid;\n\tunsigned char extraafter;\n\txfs_da_state_blk_t extrablk;\n};\n\ntypedef struct xfs_da_state xfs_da_state_t;\n\nstruct xfs_quota_limits {\n\txfs_qcnt_t hard;\n\txfs_qcnt_t soft;\n\ttime64_t time;\n};\n\nstruct xfs_def_quota {\n\tstruct xfs_quota_limits blk;\n\tstruct xfs_quota_limits ino;\n\tstruct xfs_quota_limits rtb;\n};\n\nstruct xfs_defer_resources {\n\tstruct xfs_buf *dr_bp[2];\n\tstruct xfs_inode *dr_ip[5];\n\tshort unsigned int dr_bufs;\n\tshort unsigned int dr_ordered;\n\tshort unsigned int dr_inos;\n};\n\nstruct xfs_defer_capture {\n\tstruct list_head dfc_list;\n\tstruct list_head dfc_dfops;\n\tunsigned int dfc_tpflags;\n\tunsigned int dfc_blkres;\n\tunsigned int dfc_rtxres;\n\tunsigned int dfc_logres;\n\tstruct xfs_defer_resources dfc_held;\n};\n\nstruct xfs_defer_drain {};\n\nstruct xfs_defer_op_type {\n\tconst char *name;\n\tunsigned int max_items;\n\tstruct xfs_log_item * (*create_intent)(struct xfs_trans *, struct list_head *, unsigned int, bool);\n\tvoid (*abort_intent)(struct xfs_log_item *);\n\tstruct xfs_log_item * (*create_done)(struct xfs_trans *, struct xfs_log_item *, unsigned int);\n\tint (*finish_item)(struct xfs_trans *, struct xfs_log_item *, struct list_head *, struct xfs_btree_cur **);\n\tvoid (*finish_cleanup)(struct xfs_trans *, struct xfs_btree_cur *, int);\n\tvoid (*cancel_item)(struct list_head *);\n\tint (*recover_work)(struct xfs_defer_pending *, struct list_head *);\n\tstruct xfs_log_item * (*relog_intent)(struct xfs_trans *, struct xfs_log_item *, struct xfs_log_item *);\n};\n\nstruct xfs_defer_pending {\n\tstruct list_head dfp_list;\n\tstruct list_head dfp_work;\n\tstruct xfs_log_item *dfp_intent;\n\tstruct xfs_log_item *dfp_done;\n\tconst struct xfs_defer_op_type *dfp_ops;\n\tunsigned int dfp_count;\n\tunsigned int dfp_flags;\n};\n\nstruct xfs_dinode {\n\t__be16 di_magic;\n\t__be16 di_mode;\n\t__u8 di_version;\n\t__u8 di_format;\n\t__be16 di_metatype;\n\t__be32 di_uid;\n\t__be32 di_gid;\n\t__be32 di_nlink;\n\t__be16 di_projid_lo;\n\t__be16 di_projid_hi;\n\tunion {\n\t\t__be64 di_big_nextents;\n\t\t__be64 di_v3_pad;\n\t\tstruct {\n\t\t\t__u8 di_v2_pad[6];\n\t\t\t__be16 di_flushiter;\n\t\t};\n\t};\n\txfs_timestamp_t di_atime;\n\txfs_timestamp_t di_mtime;\n\txfs_timestamp_t di_ctime;\n\t__be64 di_size;\n\t__be64 di_nblocks;\n\t__be32 di_extsize;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 di_nextents;\n\t\t\t__be16 di_anextents;\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\t__be32 di_big_anextents;\n\t\t\t__be16 di_nrext64_pad;\n\t\t} __attribute__((packed));\n\t};\n\t__u8 di_forkoff;\n\t__s8 di_aformat;\n\t__be32 di_dmevmask;\n\t__be16 di_dmstate;\n\t__be16 di_flags;\n\t__be32 di_gen;\n\t__be32 di_next_unlinked;\n\t__le32 di_crc;\n\t__be64 di_changecount;\n\t__be64 di_lsn;\n\t__be64 di_flags2;\n\t__be32 di_cowextsize;\n\t__u8 di_pad2[12];\n\txfs_timestamp_t di_crtime;\n\t__be64 di_ino;\n\tuuid_t di_uuid;\n};\n\nstruct xfs_dir2_block_tail {\n\t__be32 count;\n\t__be32 stale;\n};\n\ntypedef struct xfs_dir2_block_tail xfs_dir2_block_tail_t;\n\nstruct xfs_dir2_data_entry {\n\t__be64 inumber;\n\t__u8 namelen;\n\t__u8 name[0];\n};\n\ntypedef struct xfs_dir2_data_entry xfs_dir2_data_entry_t;\n\nstruct xfs_dir2_data_free {\n\t__be16 offset;\n\t__be16 length;\n};\n\ntypedef struct xfs_dir2_data_free xfs_dir2_data_free_t;\n\nstruct xfs_dir2_data_hdr {\n\t__be32 magic;\n\txfs_dir2_data_free_t bestfree[3];\n};\n\ntypedef struct xfs_dir2_data_hdr xfs_dir2_data_hdr_t;\n\nstruct xfs_dir2_data_unused {\n\t__be16 freetag;\n\t__be16 length;\n\t__be16 tag;\n};\n\ntypedef struct xfs_dir2_data_unused xfs_dir2_data_unused_t;\n\nstruct xfs_dir2_free_hdr {\n\t__be32 magic;\n\t__be32 firstdb;\n\t__be32 nvalid;\n\t__be32 nused;\n};\n\ntypedef struct xfs_dir2_free_hdr xfs_dir2_free_hdr_t;\n\nstruct xfs_dir2_free {\n\txfs_dir2_free_hdr_t hdr;\n\t__be16 bests[0];\n};\n\ntypedef struct xfs_dir2_free xfs_dir2_free_t;\n\nstruct xfs_dir2_leaf_hdr {\n\txfs_da_blkinfo_t info;\n\t__be16 count;\n\t__be16 stale;\n};\n\ntypedef struct xfs_dir2_leaf_hdr xfs_dir2_leaf_hdr_t;\n\nstruct xfs_dir2_leaf_entry {\n\t__be32 hashval;\n\t__be32 address;\n};\n\ntypedef struct xfs_dir2_leaf_entry xfs_dir2_leaf_entry_t;\n\nstruct xfs_dir2_leaf {\n\txfs_dir2_leaf_hdr_t hdr;\n\txfs_dir2_leaf_entry_t __ents[0];\n};\n\ntypedef struct xfs_dir2_leaf xfs_dir2_leaf_t;\n\nstruct xfs_dir2_leaf_tail {\n\t__be32 bestcount;\n};\n\ntypedef struct xfs_dir2_leaf_tail xfs_dir2_leaf_tail_t;\n\nstruct xfs_dir2_sf_entry {\n\t__u8 namelen;\n\t__u8 offset[2];\n\t__u8 name[0];\n};\n\ntypedef struct xfs_dir2_sf_entry xfs_dir2_sf_entry_t;\n\nstruct xfs_dir2_sf_hdr {\n\tuint8_t count;\n\tuint8_t i8count;\n\tuint8_t parent[8];\n};\n\ntypedef struct xfs_dir2_sf_hdr xfs_dir2_sf_hdr_t;\n\nstruct xfs_dir3_blk_hdr {\n\t__be32 magic;\n\t__be32 crc;\n\t__be64 blkno;\n\t__be64 lsn;\n\tuuid_t uuid;\n\t__be64 owner;\n};\n\nstruct xfs_dir3_data_hdr {\n\tstruct xfs_dir3_blk_hdr hdr;\n\txfs_dir2_data_free_t best_free[3];\n\t__be32 pad;\n};\n\nstruct xfs_dir3_free_hdr {\n\tstruct xfs_dir3_blk_hdr hdr;\n\t__be32 firstdb;\n\t__be32 nvalid;\n\t__be32 nused;\n\t__be32 pad;\n};\n\nstruct xfs_dir3_free {\n\tstruct xfs_dir3_free_hdr hdr;\n\t__be16 bests[0];\n};\n\nstruct xfs_dir3_icfree_hdr {\n\tuint32_t magic;\n\tuint32_t firstdb;\n\tuint32_t nvalid;\n\tuint32_t nused;\n\t__be16 *bests;\n};\n\nstruct xfs_dir3_icleaf_hdr {\n\tuint32_t forw;\n\tuint32_t back;\n\tuint16_t magic;\n\tuint16_t count;\n\tuint16_t stale;\n\tstruct xfs_dir2_leaf_entry *ents;\n};\n\nstruct xfs_dir3_leaf_hdr {\n\tstruct xfs_da3_blkinfo info;\n\t__be16 count;\n\t__be16 stale;\n\t__be32 pad;\n};\n\nstruct xfs_dir3_leaf {\n\tstruct xfs_dir3_leaf_hdr hdr;\n\tstruct xfs_dir2_leaf_entry __ents[0];\n};\n\nstruct xfs_name;\n\nstruct xfs_parent_args;\n\nstruct xfs_dir_update {\n\tstruct xfs_inode *dp;\n\tconst struct xfs_name *name;\n\tstruct xfs_inode *ip;\n\tstruct xfs_parent_args *ppargs;\n};\n\nstruct xfs_disk_dquot {\n\t__be16 d_magic;\n\t__u8 d_version;\n\t__u8 d_type;\n\t__be32 d_id;\n\t__be64 d_blk_hardlimit;\n\t__be64 d_blk_softlimit;\n\t__be64 d_ino_hardlimit;\n\t__be64 d_ino_softlimit;\n\t__be64 d_bcount;\n\t__be64 d_icount;\n\t__be32 d_itimer;\n\t__be32 d_btimer;\n\t__be16 d_iwarns;\n\t__be16 d_bwarns;\n\t__be32 d_pad0;\n\t__be64 d_rtb_hardlimit;\n\t__be64 d_rtb_softlimit;\n\t__be64 d_rtbcount;\n\t__be32 d_rtbtimer;\n\t__be16 d_rtbwarns;\n\t__be16 d_pad;\n};\n\nstruct xfs_dq_logformat {\n\tuint16_t qlf_type;\n\tuint16_t qlf_size;\n\txfs_dqid_t qlf_id;\n\tint64_t qlf_blkno;\n\tint32_t qlf_len;\n\tuint32_t qlf_boffset;\n};\n\nstruct xfs_dquot;\n\nstruct xfs_dq_logitem {\n\tstruct xfs_log_item qli_item;\n\tstruct xfs_dquot *qli_dquot;\n\txfs_lsn_t qli_flush_lsn;\n\tspinlock_t qli_lock;\n\tbool qli_dirty;\n};\n\nstruct xfs_dqblk {\n\tstruct xfs_disk_dquot dd_diskdq;\n\tchar dd_fill[4];\n\t__be32 dd_crc;\n\t__be64 dd_lsn;\n\tuuid_t dd_uuid;\n};\n\nstruct xfs_dqtrx {\n\tstruct xfs_dquot *qt_dquot;\n\tuint64_t qt_blk_res;\n\tint64_t qt_bcount_delta;\n\tint64_t qt_delbcnt_delta;\n\tuint64_t qt_rtblk_res;\n\tuint64_t qt_rtblk_res_used;\n\tint64_t qt_rtbcount_delta;\n\tint64_t qt_delrtb_delta;\n\tuint64_t qt_ino_res;\n\tuint64_t qt_ino_res_used;\n\tint64_t qt_icount_delta;\n};\n\nstruct xfs_dquot_res {\n\txfs_qcnt_t reserved;\n\txfs_qcnt_t count;\n\txfs_qcnt_t hardlimit;\n\txfs_qcnt_t softlimit;\n\ttime64_t timer;\n};\n\nstruct xfs_dquot_pre {\n\txfs_qcnt_t q_prealloc_lo_wmark;\n\txfs_qcnt_t q_prealloc_hi_wmark;\n\tint64_t q_low_space[3];\n};\n\nstruct xfs_dquot {\n\tstruct list_head q_lru;\n\tstruct xfs_mount *q_mount;\n\txfs_dqtype_t q_type;\n\tuint16_t q_flags;\n\txfs_dqid_t q_id;\n\tuint q_nrefs;\n\tint q_bufoffset;\n\txfs_daddr_t q_blkno;\n\txfs_fileoff_t q_fileoffset;\n\tstruct xfs_dquot_res q_blk;\n\tstruct xfs_dquot_res q_ino;\n\tstruct xfs_dquot_res q_rtb;\n\tstruct xfs_dq_logitem q_logitem;\n\tstruct xfs_dquot_pre q_blk_prealloc;\n\tstruct xfs_dquot_pre q_rtb_prealloc;\n\tstruct mutex q_qlock;\n\tstruct completion q_flush;\n\tatomic_t q_pincount;\n\tstruct wait_queue_head q_pinwait;\n};\n\nstruct xfs_dquot_acct {\n\tstruct xfs_dqtrx dqs[15];\n};\n\nstruct xfs_dsb {\n\t__be32 sb_magicnum;\n\t__be32 sb_blocksize;\n\t__be64 sb_dblocks;\n\t__be64 sb_rblocks;\n\t__be64 sb_rextents;\n\tuuid_t sb_uuid;\n\t__be64 sb_logstart;\n\t__be64 sb_rootino;\n\t__be64 sb_rbmino;\n\t__be64 sb_rsumino;\n\t__be32 sb_rextsize;\n\t__be32 sb_agblocks;\n\t__be32 sb_agcount;\n\t__be32 sb_rbmblocks;\n\t__be32 sb_logblocks;\n\t__be16 sb_versionnum;\n\t__be16 sb_sectsize;\n\t__be16 sb_inodesize;\n\t__be16 sb_inopblock;\n\tchar sb_fname[12];\n\t__u8 sb_blocklog;\n\t__u8 sb_sectlog;\n\t__u8 sb_inodelog;\n\t__u8 sb_inopblog;\n\t__u8 sb_agblklog;\n\t__u8 sb_rextslog;\n\t__u8 sb_inprogress;\n\t__u8 sb_imax_pct;\n\t__be64 sb_icount;\n\t__be64 sb_ifree;\n\t__be64 sb_fdblocks;\n\t__be64 sb_frextents;\n\t__be64 sb_uquotino;\n\t__be64 sb_gquotino;\n\t__be16 sb_qflags;\n\t__u8 sb_flags;\n\t__u8 sb_shared_vn;\n\t__be32 sb_inoalignmt;\n\t__be32 sb_unit;\n\t__be32 sb_width;\n\t__u8 sb_dirblklog;\n\t__u8 sb_logsectlog;\n\t__be16 sb_logsectsize;\n\t__be32 sb_logsunit;\n\t__be32 sb_features2;\n\t__be32 sb_bad_features2;\n\t__be32 sb_features_compat;\n\t__be32 sb_features_ro_compat;\n\t__be32 sb_features_incompat;\n\t__be32 sb_features_log_incompat;\n\t__le32 sb_crc;\n\t__be32 sb_spino_align;\n\t__be64 sb_pquotino;\n\t__be64 sb_lsn;\n\tuuid_t sb_meta_uuid;\n\t__be64 sb_metadirino;\n\t__be32 sb_rgcount;\n\t__be32 sb_rgextents;\n\t__u8 sb_rgblklog;\n\t__u8 sb_pad[7];\n};\n\nstruct xfs_dsymlink_hdr {\n\t__be32 sl_magic;\n\t__be32 sl_offset;\n\t__be32 sl_bytes;\n\t__be32 sl_crc;\n\tuuid_t sl_uuid;\n\t__be64 sl_owner;\n\t__be64 sl_blkno;\n\t__be64 sl_lsn;\n};\n\nstruct xfs_extent {\n\txfs_fsblock_t ext_start;\n\txfs_extlen_t ext_len;\n};\n\ntypedef struct xfs_extent xfs_extent_t;\n\nstruct xfs_efd_log_format {\n\tuint16_t efd_type;\n\tuint16_t efd_size;\n\tuint32_t efd_nextents;\n\tuint64_t efd_efi_id;\n\txfs_extent_t efd_extents[0];\n};\n\ntypedef struct xfs_efd_log_format xfs_efd_log_format_t;\n\nstruct xfs_efi_log_item;\n\nstruct xfs_efd_log_item {\n\tstruct xfs_log_item efd_item;\n\tstruct xfs_efi_log_item *efd_efip;\n\tuint efd_next_extent;\n\txfs_efd_log_format_t efd_format;\n};\n\nstruct xfs_efi_log_format {\n\tuint16_t efi_type;\n\tuint16_t efi_size;\n\tuint32_t efi_nextents;\n\tuint64_t efi_id;\n\txfs_extent_t efi_extents[0];\n};\n\ntypedef struct xfs_efi_log_format xfs_efi_log_format_t;\n\nstruct xfs_extent_32 {\n\tuint64_t ext_start;\n\tuint32_t ext_len;\n} __attribute__((packed));\n\ntypedef struct xfs_extent_32 xfs_extent_32_t;\n\nstruct xfs_efi_log_format_32 {\n\tuint16_t efi_type;\n\tuint16_t efi_size;\n\tuint32_t efi_nextents;\n\tuint64_t efi_id;\n\txfs_extent_32_t efi_extents[0];\n};\n\ntypedef struct xfs_efi_log_format_32 xfs_efi_log_format_32_t;\n\nstruct xfs_extent_64 {\n\tuint64_t ext_start;\n\tuint32_t ext_len;\n\tuint32_t ext_pad;\n};\n\ntypedef struct xfs_extent_64 xfs_extent_64_t;\n\nstruct xfs_efi_log_format_64 {\n\tuint16_t efi_type;\n\tuint16_t efi_size;\n\tuint32_t efi_nextents;\n\tuint64_t efi_id;\n\txfs_extent_64_t efi_extents[0];\n};\n\ntypedef struct xfs_efi_log_format_64 xfs_efi_log_format_64_t;\n\nstruct xfs_efi_log_item {\n\tstruct xfs_log_item efi_item;\n\tatomic_t efi_refcount;\n\tatomic_t efi_next_extent;\n\txfs_efi_log_format_t efi_format;\n};\n\nstruct xfs_kobj {\n\tstruct kobject kobject;\n\tstruct completion complete;\n};\n\nstruct xfs_error_cfg {\n\tstruct xfs_kobj kobj;\n\tint max_retries;\n\tlong int retry_timeout;\n};\n\nstruct xfs_error_init {\n\tchar *name;\n\tint max_retries;\n\tint retry_timeout;\n};\n\nstruct xfs_error_injection {\n\t__s32 fd;\n\t__s32 errtag;\n};\n\ntypedef struct xfs_error_injection xfs_error_injection_t;\n\nstruct xfs_exchange_range {\n\t__s32 file1_fd;\n\t__u32 pad;\n\t__u64 file1_offset;\n\t__u64 file2_offset;\n\t__u64 length;\n\t__u64 flags;\n};\n\nstruct xfs_exchmaps_adjacent {\n\tstruct xfs_bmbt_irec left1;\n\tstruct xfs_bmbt_irec right1;\n\tstruct xfs_bmbt_irec left2;\n\tstruct xfs_bmbt_irec right2;\n};\n\nstruct xfs_exchmaps_intent {\n\tstruct list_head xmi_list;\n\tstruct xfs_inode *xmi_ip1;\n\tstruct xfs_inode *xmi_ip2;\n\txfs_fileoff_t xmi_startoff1;\n\txfs_fileoff_t xmi_startoff2;\n\txfs_filblks_t xmi_blockcount;\n\txfs_fsize_t xmi_isize1;\n\txfs_fsize_t xmi_isize2;\n\tuint64_t xmi_flags;\n};\n\nstruct xfs_exchmaps_req {\n\tstruct xfs_inode *ip1;\n\tstruct xfs_inode *ip2;\n\txfs_fileoff_t startoff1;\n\txfs_fileoff_t startoff2;\n\txfs_filblks_t blockcount;\n\tuint64_t flags;\n\txfs_filblks_t ip1_bcount;\n\txfs_filblks_t ip2_bcount;\n\txfs_filblks_t ip1_rtbcount;\n\txfs_filblks_t ip2_rtbcount;\n\tlong long unsigned int resblks;\n\tlong long unsigned int nr_exchanges;\n};\n\nstruct xfs_exchrange {\n\tstruct file *file1;\n\tstruct file *file2;\n\tloff_t file1_offset;\n\tloff_t file2_offset;\n\tu64 length;\n\tu64 flags;\n\tu64 file2_ino;\n\tstruct timespec64 file2_mtime;\n\tstruct timespec64 file2_ctime;\n\tu32 file2_gen;\n};\n\nstruct xfs_extent_busy {\n\tstruct rb_node rb_node;\n\tstruct list_head list;\n\tstruct xfs_group *group;\n\txfs_agblock_t bno;\n\txfs_extlen_t length;\n\tunsigned int flags;\n};\n\nstruct xfs_extent_busy_tree {\n\tspinlock_t eb_lock;\n\tstruct rb_root eb_tree;\n\tunsigned int eb_gen;\n\twait_queue_head_t eb_wait;\n};\n\nstruct xfs_extent_free_item {\n\tstruct list_head xefi_list;\n\tuint64_t xefi_owner;\n\txfs_fsblock_t xefi_startblock;\n\txfs_extlen_t xefi_blockcount;\n\tstruct xfs_group *xefi_group;\n\tunsigned int xefi_flags;\n\tenum xfs_ag_resv_type xefi_agresv;\n};\n\nstruct xfs_fid {\n\t__u16 fid_len;\n\t__u16 fid_pad;\n\t__u32 fid_gen;\n\t__u64 fid_ino;\n};\n\ntypedef struct xfs_fid xfs_fid_t;\n\nstruct xfs_fid64 {\n\tu64 ino;\n\tu32 gen;\n\tu64 parent_ino;\n\tu32 parent_gen;\n} __attribute__((packed));\n\nstruct xfs_find_left_neighbor_info {\n\tstruct xfs_rmap_irec high;\n\tstruct xfs_rmap_irec *irec;\n};\n\nstruct xfs_fs_eofblocks {\n\t__u32 eof_version;\n\t__u32 eof_flags;\n\tuid_t eof_uid;\n\tgid_t eof_gid;\n\tprid_t eof_prid;\n\t__u32 pad32;\n\t__u64 eof_min_file_size;\n\t__u64 pad64[12];\n};\n\nstruct xfs_fsmap {\n\tdev_t fmr_device;\n\tuint32_t fmr_flags;\n\tuint64_t fmr_physical;\n\tuint64_t fmr_owner;\n\txfs_fileoff_t fmr_offset;\n\txfs_filblks_t fmr_length;\n};\n\nstruct xfs_fsmap_head {\n\tuint32_t fmh_iflags;\n\tuint32_t fmh_oflags;\n\tunsigned int fmh_count;\n\tunsigned int fmh_entries;\n\tstruct xfs_fsmap fmh_keys[2];\n};\n\nstruct xfs_fsmap_irec {\n\txfs_daddr_t start_daddr;\n\txfs_daddr_t len_daddr;\n\tuint64_t owner;\n\tuint64_t offset;\n\tunsigned int rm_flags;\n\txfs_agblock_t rec_key;\n};\n\nstruct xfs_fsop_handlereq {\n\t__u32 fd;\n\tvoid *path;\n\t__u32 oflags;\n\tvoid *ihandle;\n\t__u32 ihandlen;\n\tvoid *ohandle;\n\t__u32 *ohandlen;\n};\n\nstruct xfs_fsop_attrlist_handlereq {\n\tstruct xfs_fsop_handlereq hreq;\n\tstruct xfs_attrlist_cursor pos;\n\t__u32 flags;\n\t__u32 buflen;\n\tvoid *buffer;\n};\n\nstruct xfs_fsop_attrmulti_handlereq {\n\tstruct xfs_fsop_handlereq hreq;\n\t__u32 opcount;\n\tstruct xfs_attr_multiop *ops;\n};\n\ntypedef struct xfs_fsop_attrmulti_handlereq xfs_fsop_attrmulti_handlereq_t;\n\nstruct xfs_fsop_bulkreq {\n\t__u64 *lastip;\n\t__s32 icount;\n\tvoid *ubuffer;\n\t__s32 *ocount;\n};\n\nstruct xfs_fsop_counts {\n\t__u64 freedata;\n\t__u64 freertx;\n\t__u64 freeino;\n\t__u64 allocino;\n};\n\nstruct xfs_fsop_geom {\n\t__u32 blocksize;\n\t__u32 rtextsize;\n\t__u32 agblocks;\n\t__u32 agcount;\n\t__u32 logblocks;\n\t__u32 sectsize;\n\t__u32 inodesize;\n\t__u32 imaxpct;\n\t__u64 datablocks;\n\t__u64 rtblocks;\n\t__u64 rtextents;\n\t__u64 logstart;\n\tunsigned char uuid[16];\n\t__u32 sunit;\n\t__u32 swidth;\n\t__s32 version;\n\t__u32 flags;\n\t__u32 logsectsize;\n\t__u32 rtsectsize;\n\t__u32 dirblocksize;\n\t__u32 logsunit;\n\tuint32_t sick;\n\tuint32_t checked;\n\t__u32 rgextents;\n\t__u32 rgcount;\n\t__u64 reserved[16];\n};\n\ntypedef struct xfs_fsop_handlereq xfs_fsop_handlereq_t;\n\nstruct xfs_fsop_resblks {\n\t__u64 resblks;\n\t__u64 resblks_avail;\n};\n\nstruct xfs_mru_cache_elem {\n\tstruct list_head list_node;\n\tlong unsigned int key;\n};\n\nstruct xfs_fstrm_item {\n\tstruct xfs_mru_cache_elem mru;\n\tstruct xfs_perag *pag;\n};\n\nstruct xfs_getfsmap_info;\n\nstruct xfs_getfsmap_dev {\n\tu32 dev;\n\tint (*fn)(struct xfs_trans *, const struct xfs_fsmap *, struct xfs_getfsmap_info *);\n\tsector_t nr_sectors;\n};\n\nstruct xfs_getfsmap_info {\n\tstruct xfs_fsmap_head *head;\n\tstruct fsmap *fsmap_recs;\n\tstruct xfs_buf *agf_bp;\n\tstruct xfs_group *group;\n\txfs_daddr_t next_daddr;\n\txfs_daddr_t low_daddr;\n\txfs_daddr_t end_daddr;\n\tu64 missing_owner;\n\tu32 dev;\n\tstruct xfs_rmap_irec low;\n\tstruct xfs_rmap_irec high;\n\tbool last;\n};\n\nstruct xfs_getparents {\n\tstruct xfs_attrlist_cursor gp_cursor;\n\t__u16 gp_iflags;\n\t__u16 gp_oflags;\n\t__u32 gp_bufsize;\n\t__u64 gp_reserved;\n\t__u64 gp_buffer;\n};\n\nstruct xfs_handle {\n\tunion {\n\t\t__s64 align;\n\t\txfs_fsid_t _ha_fsid;\n\t} ha_u;\n\txfs_fid_t ha_fid;\n};\n\nstruct xfs_getparents_by_handle {\n\tstruct xfs_handle gph_handle;\n\tstruct xfs_getparents gph_request;\n};\n\nstruct xfs_getparents_rec;\n\nstruct xfs_getparents_ctx {\n\tstruct xfs_attr_list_context context;\n\tstruct xfs_getparents_by_handle gph;\n\tstruct xfs_inode *ip;\n\tvoid *krecords;\n\tstruct xfs_getparents_rec *lastrec;\n\tunsigned int count;\n};\n\nstruct xfs_getparents_rec {\n\tstruct xfs_handle gpr_parent;\n\t__u32 gpr_reclen;\n\t__u32 gpr_reserved;\n\tchar gpr_name[0];\n};\n\nstruct xfs_globals {\n\tint bload_leaf_slack;\n\tint bload_node_slack;\n\tint log_recovery_delay;\n\tint mount_delay;\n\tbool bug_on_assert;\n\tbool always_cow;\n};\n\nstruct xfs_hooks {};\n\nstruct xfs_group {\n\tstruct xfs_mount *xg_mount;\n\tuint32_t xg_gno;\n\tenum xfs_group_type xg_type;\n\tatomic_t xg_ref;\n\tatomic_t xg_active_ref;\n\tuint32_t xg_block_count;\n\tuint32_t xg_min_gbno;\n\tstruct xfs_extent_busy_tree *xg_busy_extents;\n\tuint16_t xg_checked;\n\tuint16_t xg_sick;\n\tspinlock_t xg_state_lock;\n\tstruct xfs_defer_drain xg_intents_drain;\n\tstruct xfs_hooks xg_rmap_update_hooks;\n};\n\nstruct xfs_groups {\n\tstruct xarray xa;\n\tuint32_t blocks;\n\tuint8_t blklog;\n\tuint64_t blkmask;\n};\n\nstruct xfs_growfs_data {\n\t__u64 newblocks;\n\t__u32 imaxpct;\n};\n\nstruct xfs_growfs_log {\n\t__u32 newblocks;\n\t__u32 isint;\n};\n\nstruct xfs_growfs_rt {\n\t__u64 newblocks;\n\t__u32 extsize;\n};\n\ntypedef struct xfs_growfs_rt xfs_growfs_rt_t;\n\ntypedef struct xfs_handle xfs_handle_t;\n\nstruct xfs_ialloc_count_inodes {\n\txfs_agino_t count;\n\txfs_agino_t freecount;\n};\n\nstruct xfs_ibulk {\n\tstruct xfs_mount *mp;\n\tstruct mnt_idmap *idmap;\n\tvoid *ubuffer;\n\txfs_ino_t startino;\n\tunsigned int icount;\n\tunsigned int ocount;\n\tunsigned int flags;\n};\n\nstruct xfs_icluster {\n\tbool deleted;\n\txfs_ino_t first_ino;\n\tuint64_t alloc;\n};\n\nstruct xfs_icreate_args {\n\tstruct mnt_idmap *idmap;\n\tstruct xfs_inode *pip;\n\tdev_t rdev;\n\tumode_t mode;\n\tuint16_t flags;\n};\n\nstruct xfs_icreate_log {\n\tuint16_t icl_type;\n\tuint16_t icl_size;\n\t__be32 icl_ag;\n\t__be32 icl_agbno;\n\t__be32 icl_count;\n\t__be32 icl_isize;\n\t__be32 icl_length;\n\t__be32 icl_gen;\n};\n\nstruct xfs_icreate_item {\n\tstruct xfs_log_item ic_item;\n\tstruct xfs_icreate_log ic_format;\n};\n\nstruct xfs_icwalk {\n\t__u32 icw_flags;\n\tkuid_t icw_uid;\n\tkgid_t icw_gid;\n\tprid_t icw_prid;\n\t__u64 icw_min_file_size;\n\tlong int icw_scan_limit;\n};\n\nstruct xfs_iext_rec {\n\tuint64_t lo;\n\tuint64_t hi;\n};\n\nstruct xfs_iext_leaf {\n\tstruct xfs_iext_rec recs[15];\n\tstruct xfs_iext_leaf *prev;\n\tstruct xfs_iext_leaf *next;\n};\n\nstruct xfs_iext_node {\n\tuint64_t keys[16];\n\tvoid *ptrs[16];\n};\n\nstruct xfs_ifork {\n\tint64_t if_bytes;\n\tstruct xfs_btree_block *if_broot;\n\tunsigned int if_seq;\n\tint if_height;\n\tvoid *if_data;\n\txfs_extnum_t if_nextents;\n\tshort int if_broot_bytes;\n\tint8_t if_format;\n\tuint8_t if_needextents;\n};\n\nstruct xfs_imap {\n\txfs_daddr_t im_blkno;\n\tshort unsigned int im_len;\n\tshort unsigned int im_boffset;\n};\n\nstruct xfs_ino_geometry {\n\tuint64_t maxicount;\n\tunsigned int inode_cluster_size;\n\tunsigned int inode_cluster_size_raw;\n\tunsigned int inodes_per_cluster;\n\tunsigned int blocks_per_cluster;\n\tunsigned int cluster_align;\n\tunsigned int cluster_align_inodes;\n\tunsigned int inoalign_mask;\n\tunsigned int inobt_mxr[2];\n\tunsigned int inobt_mnr[2];\n\tunsigned int inobt_maxlevels;\n\tunsigned int ialloc_inos;\n\tunsigned int ialloc_blks;\n\tunsigned int ialloc_min_blks;\n\tunsigned int ialloc_align;\n\tunsigned int agino_log;\n\tunsigned int attr_fork_offset;\n\tuint64_t new_diflags2;\n\tunsigned int min_folio_order;\n};\n\ntypedef struct xfs_inobt_rec_incore xfs_inobt_rec_incore_t;\n\nstruct xfs_inode_log_item;\n\nstruct xfs_inode {\n\tstruct xfs_mount *i_mount;\n\tunion {\n\t\tstruct {\n\t\t\tstruct xfs_dquot *i_udquot;\n\t\t\tstruct xfs_dquot *i_gdquot;\n\t\t\tstruct xfs_dquot *i_pdquot;\n\t\t};\n\t\tuint64_t i_meta_resv_asked;\n\t};\n\txfs_ino_t i_ino;\n\tstruct xfs_imap i_imap;\n\tstruct xfs_ifork *i_cowfp;\n\tstruct xfs_ifork i_df;\n\tstruct xfs_ifork i_af;\n\tstruct xfs_inode_log_item *i_itemp;\n\tstruct rw_semaphore i_lock;\n\tatomic_t i_pincount;\n\tstruct llist_node i_gclist;\n\tuint16_t i_checked;\n\tuint16_t i_sick;\n\tspinlock_t i_flags_lock;\n\tlong unsigned int i_flags;\n\tuint64_t i_delayed_blks;\n\txfs_fsize_t i_disk_size;\n\txfs_rfsblock_t i_nblocks;\n\tprid_t i_projid;\n\txfs_extlen_t i_extsize;\n\tunion {\n\t\txfs_extlen_t i_cowextsize;\n\t\tuint16_t i_flushiter;\n\t};\n\tuint8_t i_forkoff;\n\tenum xfs_metafile_type i_metatype;\n\tuint16_t i_diflags;\n\tuint64_t i_diflags2;\n\tstruct timespec64 i_crtime;\n\txfs_agino_t i_next_unlinked;\n\txfs_agino_t i_prev_unlinked;\n\tstruct inode i_vnode;\n\tspinlock_t i_ioend_lock;\n\tstruct work_struct i_ioend_work;\n\tstruct list_head i_ioend_list;\n};\n\ntypedef struct xfs_inode xfs_inode_t;\n\nstruct xfs_inode_log_format {\n\tuint16_t ilf_type;\n\tuint16_t ilf_size;\n\tuint32_t ilf_fields;\n\tuint16_t ilf_asize;\n\tuint16_t ilf_dsize;\n\tuint32_t ilf_pad;\n\tuint64_t ilf_ino;\n\tunion {\n\t\tuint32_t ilfu_rdev;\n\t\tuint8_t __pad[16];\n\t} ilf_u;\n\tint64_t ilf_blkno;\n\tint32_t ilf_len;\n\tint32_t ilf_boffset;\n};\n\nstruct xfs_inode_log_format_32 {\n\tuint16_t ilf_type;\n\tuint16_t ilf_size;\n\tuint32_t ilf_fields;\n\tuint16_t ilf_asize;\n\tuint16_t ilf_dsize;\n\tuint64_t ilf_ino;\n\tunion {\n\t\tuint32_t ilfu_rdev;\n\t\tuint8_t __pad[16];\n\t} ilf_u;\n\tint64_t ilf_blkno;\n\tint32_t ilf_len;\n\tint32_t ilf_boffset;\n} __attribute__((packed));\n\nstruct xfs_inode_log_item {\n\tstruct xfs_log_item ili_item;\n\tstruct xfs_inode *ili_inode;\n\tshort unsigned int ili_lock_flags;\n\tunsigned int ili_dirty_flags;\n\tspinlock_t ili_lock;\n\tunsigned int ili_last_fields;\n\tunsigned int ili_fields;\n\tunsigned int ili_fsync_fields;\n\txfs_lsn_t ili_flush_lsn;\n\txfs_csn_t ili_commit_seq;\n};\n\nstruct xfs_inodegc {\n\tstruct xfs_mount *mp;\n\tstruct llist_head list;\n\tstruct delayed_work work;\n\tint error;\n\tunsigned int items;\n\tunsigned int shrinker_hits;\n\tunsigned int cpu;\n};\n\nstruct xfs_inogrp {\n\t__u64 xi_startino;\n\t__s32 xi_alloccount;\n\t__u64 xi_allocmask;\n};\n\nstruct xfs_inumbers {\n\tuint64_t xi_startino;\n\tuint64_t xi_allocmask;\n\tuint8_t xi_alloccount;\n\tuint8_t xi_version;\n\tuint8_t xi_padding[6];\n};\n\ntypedef int (*inumbers_fmt_pf)(struct xfs_ibulk *, const struct xfs_inumbers *);\n\nstruct xfs_inumbers_chunk {\n\tinumbers_fmt_pf formatter;\n\tstruct xfs_ibulk *breq;\n};\n\nstruct xfs_inumbers_req {\n\tstruct xfs_bulk_ireq hdr;\n\tstruct xfs_inumbers inumbers[0];\n};\n\nstruct xfs_iread_state {\n\tstruct xfs_iext_cursor icur;\n\txfs_extnum_t loaded;\n};\n\nstruct xfs_item_ops {\n\tunsigned int flags;\n\tvoid (*iop_size)(struct xfs_log_item *, int *, int *);\n\tvoid (*iop_format)(struct xfs_log_item *, struct xfs_log_vec *);\n\tvoid (*iop_pin)(struct xfs_log_item *);\n\tvoid (*iop_unpin)(struct xfs_log_item *, int);\n\tuint64_t (*iop_sort)(struct xfs_log_item *);\n\tint (*iop_precommit)(struct xfs_trans *, struct xfs_log_item *);\n\tvoid (*iop_committing)(struct xfs_log_item *, xfs_csn_t);\n\txfs_lsn_t (*iop_committed)(struct xfs_log_item *, xfs_lsn_t);\n\tuint (*iop_push)(struct xfs_log_item *, struct list_head *);\n\tvoid (*iop_release)(struct xfs_log_item *);\n\tbool (*iop_match)(struct xfs_log_item *, uint64_t);\n\tstruct xfs_log_item * (*iop_intent)(struct xfs_log_item *);\n};\n\nstruct xfs_iunlink_item {\n\tstruct xfs_log_item item;\n\tstruct xfs_inode *ip;\n\tstruct xfs_perag *pag;\n\txfs_agino_t next_agino;\n\txfs_agino_t old_agino;\n};\n\nstruct xfs_pwork_ctl;\n\nstruct xfs_pwork {\n\tstruct work_struct work;\n\tstruct xfs_pwork_ctl *pctl;\n};\n\ntypedef int (*xfs_iwalk_fn)(struct xfs_mount *, struct xfs_trans *, xfs_ino_t, void *);\n\ntypedef int (*xfs_inobt_walk_fn)(struct xfs_mount *, struct xfs_trans *, xfs_agnumber_t, const struct xfs_inobt_rec_incore *, void *);\n\nstruct xfs_iwalk_ag {\n\tstruct xfs_pwork pwork;\n\tstruct xfs_mount *mp;\n\tstruct xfs_trans *tp;\n\tstruct xfs_perag *pag;\n\txfs_ino_t startino;\n\txfs_ino_t lastino;\n\tstruct xfs_inobt_rec_incore *recs;\n\tunsigned int sz_recs;\n\tunsigned int nr_recs;\n\txfs_iwalk_fn iwalk_fn;\n\txfs_inobt_walk_fn inobt_walk_fn;\n\tvoid *data;\n\tunsigned int trim_start: 1;\n\tunsigned int skip_empty: 1;\n\tunsigned int drop_trans: 1;\n};\n\nstruct xfs_legacy_timestamp {\n\t__be32 t_sec;\n\t__be32 t_nsec;\n};\n\nstruct xfs_log_dinode {\n\tuint16_t di_magic;\n\tuint16_t di_mode;\n\tint8_t di_version;\n\tint8_t di_format;\n\tuint16_t di_metatype;\n\tuint32_t di_uid;\n\tuint32_t di_gid;\n\tuint32_t di_nlink;\n\tuint16_t di_projid_lo;\n\tuint16_t di_projid_hi;\n\tunion {\n\t\tuint64_t di_big_nextents;\n\t\tuint64_t di_v3_pad;\n\t\tstruct {\n\t\t\tuint8_t di_v2_pad[6];\n\t\t\tuint16_t di_flushiter;\n\t\t};\n\t};\n\txfs_log_timestamp_t di_atime;\n\txfs_log_timestamp_t di_mtime;\n\txfs_log_timestamp_t di_ctime;\n\txfs_fsize_t di_size;\n\txfs_rfsblock_t di_nblocks;\n\txfs_extlen_t di_extsize;\n\tunion {\n\t\tstruct {\n\t\t\tuint32_t di_nextents;\n\t\t\tuint16_t di_anextents;\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\tuint32_t di_big_anextents;\n\t\t\tuint16_t di_nrext64_pad;\n\t\t} __attribute__((packed));\n\t};\n\tuint8_t di_forkoff;\n\tint8_t di_aformat;\n\tuint32_t di_dmevmask;\n\tuint16_t di_dmstate;\n\tuint16_t di_flags;\n\tuint32_t di_gen;\n\txfs_agino_t di_next_unlinked;\n\tuint32_t di_crc;\n\tuint64_t di_changecount;\n\txfs_lsn_t di_lsn;\n\tuint64_t di_flags2;\n\tuint32_t di_cowextsize;\n\tuint8_t di_pad2[12];\n\txfs_log_timestamp_t di_crtime;\n\txfs_ino_t di_ino;\n\tuuid_t di_uuid;\n};\n\ntypedef struct xfs_log_iovec xfs_log_iovec_t;\n\nstruct xfs_log_legacy_timestamp {\n\tint32_t t_sec;\n\tint32_t t_nsec;\n};\n\nstruct xfs_log_vec {\n\tstruct list_head lv_list;\n\tuint32_t lv_order_id;\n\tint lv_niovecs;\n\tstruct xfs_log_iovec *lv_iovecp;\n\tstruct xfs_log_item *lv_item;\n\tchar *lv_buf;\n\tint lv_bytes;\n\tint lv_buf_len;\n\tint lv_size;\n};\n\nstruct xfs_metadir_update {\n\tstruct xfs_inode *dp;\n\tconst char *path;\n\tstruct xfs_parent_args *ppargs;\n\tstruct xfs_inode *ip;\n\tstruct xfs_trans *tp;\n\tenum xfs_metafile_type metafile_type;\n\tunsigned int dp_locked: 1;\n\tunsigned int ip_locked: 1;\n};\n\nstruct xfs_sb {\n\tuint32_t sb_magicnum;\n\tuint32_t sb_blocksize;\n\txfs_rfsblock_t sb_dblocks;\n\txfs_rfsblock_t sb_rblocks;\n\txfs_rtbxlen_t sb_rextents;\n\tuuid_t sb_uuid;\n\txfs_fsblock_t sb_logstart;\n\txfs_ino_t sb_rootino;\n\txfs_ino_t sb_rbmino;\n\txfs_ino_t sb_rsumino;\n\txfs_agblock_t sb_rextsize;\n\txfs_agblock_t sb_agblocks;\n\txfs_agnumber_t sb_agcount;\n\txfs_extlen_t sb_rbmblocks;\n\txfs_extlen_t sb_logblocks;\n\tuint16_t sb_versionnum;\n\tuint16_t sb_sectsize;\n\tuint16_t sb_inodesize;\n\tuint16_t sb_inopblock;\n\tchar sb_fname[12];\n\tuint8_t sb_blocklog;\n\tuint8_t sb_sectlog;\n\tuint8_t sb_inodelog;\n\tuint8_t sb_inopblog;\n\tuint8_t sb_agblklog;\n\tuint8_t sb_rextslog;\n\tuint8_t sb_inprogress;\n\tuint8_t sb_imax_pct;\n\tuint64_t sb_icount;\n\tuint64_t sb_ifree;\n\tuint64_t sb_fdblocks;\n\tuint64_t sb_frextents;\n\txfs_ino_t sb_uquotino;\n\txfs_ino_t sb_gquotino;\n\tuint16_t sb_qflags;\n\tuint8_t sb_flags;\n\tuint8_t sb_shared_vn;\n\txfs_extlen_t sb_inoalignmt;\n\tuint32_t sb_unit;\n\tuint32_t sb_width;\n\tuint8_t sb_dirblklog;\n\tuint8_t sb_logsectlog;\n\tuint16_t sb_logsectsize;\n\tuint32_t sb_logsunit;\n\tuint32_t sb_features2;\n\tuint32_t sb_bad_features2;\n\tuint32_t sb_features_compat;\n\tuint32_t sb_features_ro_compat;\n\tuint32_t sb_features_incompat;\n\tuint32_t sb_features_log_incompat;\n\tuint32_t sb_crc;\n\txfs_extlen_t sb_spino_align;\n\txfs_ino_t sb_pquotino;\n\txfs_lsn_t sb_lsn;\n\tuuid_t sb_meta_uuid;\n\txfs_ino_t sb_metadirino;\n\txfs_rgnumber_t sb_rgcount;\n\txfs_rtxlen_t sb_rgextents;\n\tuint8_t sb_rgblklog;\n\tuint8_t sb_pad[7];\n};\n\nstruct xfs_trans_res {\n\tuint tr_logres;\n\tint tr_logcount;\n\tint tr_logflags;\n};\n\nstruct xfs_trans_resv {\n\tstruct xfs_trans_res tr_write;\n\tstruct xfs_trans_res tr_itruncate;\n\tstruct xfs_trans_res tr_rename;\n\tstruct xfs_trans_res tr_link;\n\tstruct xfs_trans_res tr_remove;\n\tstruct xfs_trans_res tr_symlink;\n\tstruct xfs_trans_res tr_create;\n\tstruct xfs_trans_res tr_create_tmpfile;\n\tstruct xfs_trans_res tr_mkdir;\n\tstruct xfs_trans_res tr_ifree;\n\tstruct xfs_trans_res tr_ichange;\n\tstruct xfs_trans_res tr_growdata;\n\tstruct xfs_trans_res tr_addafork;\n\tstruct xfs_trans_res tr_writeid;\n\tstruct xfs_trans_res tr_attrinval;\n\tstruct xfs_trans_res tr_attrsetm;\n\tstruct xfs_trans_res tr_attrsetrt;\n\tstruct xfs_trans_res tr_attrrm;\n\tstruct xfs_trans_res tr_clearagi;\n\tstruct xfs_trans_res tr_growrtalloc;\n\tstruct xfs_trans_res tr_growrtzero;\n\tstruct xfs_trans_res tr_growrtfree;\n\tstruct xfs_trans_res tr_qm_setqlim;\n\tstruct xfs_trans_res tr_qm_dqalloc;\n\tstruct xfs_trans_res tr_sb;\n\tstruct xfs_trans_res tr_fsyncts;\n};\n\nstruct xfsstats;\n\nstruct xstats {\n\tstruct xfsstats *xs_stats;\n\tstruct xfs_kobj xs_kobj;\n};\n\nstruct xfs_quotainfo;\n\nstruct xfs_mru_cache;\n\nstruct xfs_mount {\n\tstruct xfs_sb m_sb;\n\tstruct super_block *m_super;\n\tstruct xfs_ail *m_ail;\n\tstruct xfs_buf *m_sb_bp;\n\tstruct xfs_buf *m_rtsb_bp;\n\tchar *m_rtname;\n\tchar *m_logname;\n\tstruct xfs_da_geometry *m_dir_geo;\n\tstruct xfs_da_geometry *m_attr_geo;\n\tstruct xlog *m_log;\n\tstruct xfs_inode *m_rootip;\n\tstruct xfs_inode *m_metadirip;\n\tstruct xfs_inode *m_rtdirip;\n\tstruct xfs_quotainfo *m_quotainfo;\n\tstruct xfs_buftarg *m_ddev_targp;\n\tstruct xfs_buftarg *m_logdev_targp;\n\tstruct xfs_buftarg *m_rtdev_targp;\n\tvoid *m_inodegc;\n\tstruct xfs_mru_cache *m_filestream;\n\tstruct workqueue_struct *m_buf_workqueue;\n\tstruct workqueue_struct *m_unwritten_workqueue;\n\tstruct workqueue_struct *m_reclaim_workqueue;\n\tstruct workqueue_struct *m_sync_workqueue;\n\tstruct workqueue_struct *m_blockgc_wq;\n\tstruct workqueue_struct *m_inodegc_wq;\n\tint m_bsize;\n\tuint8_t m_blkbit_log;\n\tuint8_t m_blkbb_log;\n\tuint8_t m_agno_log;\n\tuint8_t m_sectbb_log;\n\tint8_t m_rtxblklog;\n\tuint m_blockmask;\n\tuint m_blockwsize;\n\tunsigned int m_rtx_per_rbmblock;\n\tuint m_alloc_mxr[2];\n\tuint m_alloc_mnr[2];\n\tuint m_bmap_dmxr[2];\n\tuint m_bmap_dmnr[2];\n\tuint m_rmap_mxr[2];\n\tuint m_rmap_mnr[2];\n\tuint m_rtrmap_mxr[2];\n\tuint m_rtrmap_mnr[2];\n\tuint m_refc_mxr[2];\n\tuint m_refc_mnr[2];\n\tuint m_rtrefc_mxr[2];\n\tuint m_rtrefc_mnr[2];\n\tuint m_alloc_maxlevels;\n\tuint m_bm_maxlevels[2];\n\tuint m_rmap_maxlevels;\n\tuint m_rtrmap_maxlevels;\n\tuint m_refc_maxlevels;\n\tuint m_rtrefc_maxlevels;\n\tunsigned int m_agbtree_maxlevels;\n\tunsigned int m_rtbtree_maxlevels;\n\txfs_extlen_t m_ag_prealloc_blocks;\n\tuint m_alloc_set_aside;\n\tuint m_ag_max_usable;\n\tint m_dalign;\n\tint m_swidth;\n\txfs_agnumber_t m_maxagi;\n\tuint m_allocsize_log;\n\tuint m_allocsize_blocks;\n\tint m_logbufs;\n\tint m_logbsize;\n\tunsigned int m_rsumlevels;\n\txfs_filblks_t m_rsumblocks;\n\tint m_fixedfsid[2];\n\tuint m_qflags;\n\tuint64_t m_features;\n\tuint64_t m_low_space[5];\n\tuint64_t m_low_rtexts[5];\n\tuint64_t m_rtxblkmask;\n\tstruct xfs_ino_geometry m_ino_geo;\n\tstruct xfs_trans_resv m_resv;\n\tlong unsigned int m_opstate;\n\tbool m_always_cow;\n\tbool m_fail_unmount;\n\tbool m_finobt_nores;\n\tbool m_update_sb;\n\tuint8_t m_fs_checked;\n\tuint8_t m_fs_sick;\n\tuint8_t m_rt_checked;\n\tuint8_t m_rt_sick;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t m_sb_lock;\n\tstruct percpu_counter m_icount;\n\tstruct percpu_counter m_ifree;\n\tstruct percpu_counter m_fdblocks;\n\tstruct percpu_counter m_frextents;\n\tstruct percpu_counter m_delalloc_blks;\n\tstruct percpu_counter m_delalloc_rtextents;\n\tatomic64_t m_allocbt_blks;\n\tstruct xfs_groups m_groups[2];\n\tuint64_t m_resblks;\n\tuint64_t m_resblks_avail;\n\tuint64_t m_resblks_save;\n\tstruct delayed_work m_reclaim_work;\n\tstruct dentry *m_debugfs;\n\tstruct xfs_kobj m_kobj;\n\tstruct xfs_kobj m_error_kobj;\n\tstruct xfs_kobj m_error_meta_kobj;\n\tstruct xfs_error_cfg m_error_cfg[4];\n\tstruct xstats m_stats;\n\txfs_agnumber_t m_agfrotor;\n\tatomic_t m_agirotor;\n\tatomic_t m_rtgrotor;\n\tstruct shrinker *m_inodegc_shrinker;\n\tstruct work_struct m_flush_inodes_work;\n\tuint32_t m_generation;\n\tstruct mutex m_growlock;\n\tstruct cpumask m_inodegc_cpumask;\n\tstruct xfs_hooks m_dir_update_hooks;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef struct xfs_mount xfs_mount_t;\n\ntypedef void (*xfs_mru_cache_free_func_t)(void *, struct xfs_mru_cache_elem *);\n\nstruct xfs_mru_cache {\n\tstruct xarray store;\n\tstruct list_head *lists;\n\tstruct list_head reap_list;\n\tspinlock_t lock;\n\tunsigned int grp_count;\n\tunsigned int grp_time;\n\tunsigned int lru_grp;\n\tlong unsigned int time_zero;\n\txfs_mru_cache_free_func_t free_func;\n\tstruct delayed_work work;\n\tunsigned int queued;\n\tvoid *data;\n};\n\nstruct xfs_name {\n\tconst unsigned char *name;\n\tint len;\n\tint type;\n};\n\nstruct xfs_sysctl_val {\n\tint min;\n\tint val;\n\tint max;\n};\n\ntypedef struct xfs_sysctl_val xfs_sysctl_val_t;\n\nstruct xfs_param {\n\txfs_sysctl_val_t sgid_inherit;\n\txfs_sysctl_val_t symlink_mode;\n\txfs_sysctl_val_t panic_mask;\n\txfs_sysctl_val_t error_level;\n\txfs_sysctl_val_t syncd_timer;\n\txfs_sysctl_val_t stats_clear;\n\txfs_sysctl_val_t inherit_sync;\n\txfs_sysctl_val_t inherit_nodump;\n\txfs_sysctl_val_t inherit_noatim;\n\txfs_sysctl_val_t xfs_buf_timer;\n\txfs_sysctl_val_t xfs_buf_age;\n\txfs_sysctl_val_t inherit_nosym;\n\txfs_sysctl_val_t rotorstep;\n\txfs_sysctl_val_t inherit_nodfrg;\n\txfs_sysctl_val_t fstrm_timer;\n\txfs_sysctl_val_t blockgc_timer;\n};\n\ntypedef struct xfs_param xfs_param_t;\n\nstruct xfs_parent_rec {\n\t__be64 p_ino;\n\t__be32 p_gen;\n} __attribute__((packed));\n\nstruct xfs_parent_args {\n\tstruct xfs_parent_rec rec;\n\tstruct xfs_parent_rec new_rec;\n\tstruct xfs_da_args args;\n};\n\nstruct xfs_perag {\n\tstruct xfs_group pag_group;\n\tlong unsigned int pag_opstate;\n\tuint8_t pagf_bno_level;\n\tuint8_t pagf_cnt_level;\n\tuint8_t pagf_rmap_level;\n\tuint32_t pagf_flcount;\n\txfs_extlen_t pagf_freeblks;\n\txfs_extlen_t pagf_longest;\n\tuint32_t pagf_btreeblks;\n\txfs_agino_t pagi_freecount;\n\txfs_agino_t pagi_count;\n\txfs_agino_t pagl_pagino;\n\txfs_agino_t pagl_leftrec;\n\txfs_agino_t pagl_rightrec;\n\tuint8_t pagf_refcount_level;\n\tstruct xfs_ag_resv pag_meta_resv;\n\tstruct xfs_ag_resv pag_rmapbt_resv;\n\txfs_agino_t agino_min;\n\txfs_agino_t agino_max;\n\tatomic_t pagf_fstrms;\n\tspinlock_t pag_ici_lock;\n\tstruct xarray pag_ici_root;\n\tint pag_ici_reclaimable;\n\tlong unsigned int pag_ici_reclaim_cursor;\n\tstruct xfs_buf_cache pag_bcache;\n\tstruct delayed_work pag_blockgc_work;\n};\n\ntypedef int (*xfs_pwork_work_fn)(struct xfs_mount *, struct xfs_pwork *);\n\nstruct xfs_pwork_ctl {\n\tstruct workqueue_struct *wq;\n\tstruct xfs_mount *mp;\n\txfs_pwork_work_fn work_fn;\n\tstruct wait_queue_head poll_wait;\n\tatomic_t nr_work;\n\tint error;\n};\n\nstruct xfs_qoff_logformat {\n\tshort unsigned int qf_type;\n\tshort unsigned int qf_size;\n\tunsigned int qf_flags;\n\tchar qf_pad[12];\n};\n\nstruct xfs_quotainfo {\n\tstruct xarray qi_uquota_tree;\n\tstruct xarray qi_gquota_tree;\n\tstruct xarray qi_pquota_tree;\n\tstruct mutex qi_tree_lock;\n\tstruct xfs_inode *qi_uquotaip;\n\tstruct xfs_inode *qi_gquotaip;\n\tstruct xfs_inode *qi_pquotaip;\n\tstruct xfs_inode *qi_dirip;\n\tstruct list_lru qi_lru;\n\tint qi_dquots;\n\tstruct mutex qi_quotaofflock;\n\txfs_filblks_t qi_dqchunklen;\n\tuint qi_dqperchunk;\n\tstruct xfs_def_quota qi_usr_default;\n\tstruct xfs_def_quota qi_grp_default;\n\tstruct xfs_def_quota qi_prj_default;\n\tstruct shrinker *qi_shrinker;\n\ttime64_t qi_expiry_min;\n\ttime64_t qi_expiry_max;\n\tstruct xfs_hooks qi_mod_ino_dqtrx_hooks;\n\tstruct xfs_hooks qi_apply_dqtrx_hooks;\n};\n\nstruct xfs_refcount_intent {\n\tstruct list_head ri_list;\n\tstruct xfs_group *ri_group;\n\tenum xfs_refcount_intent_type ri_type;\n\txfs_extlen_t ri_blockcount;\n\txfs_fsblock_t ri_startblock;\n\tbool ri_realtime;\n};\n\ntypedef int (*xfs_refcount_query_range_fn)(struct xfs_btree_cur *, const struct xfs_refcount_irec *, void *);\n\nstruct xfs_refcount_query_range_info {\n\txfs_refcount_query_range_fn fn;\n\tvoid *priv;\n};\n\nstruct xfs_refcount_recovery {\n\tstruct list_head rr_list;\n\tstruct xfs_refcount_irec rr_rrec;\n};\n\nstruct xfs_rmap_intent {\n\tstruct list_head ri_list;\n\tenum xfs_rmap_intent_type ri_type;\n\tint ri_whichfork;\n\tuint64_t ri_owner;\n\tstruct xfs_bmbt_irec ri_bmap;\n\tstruct xfs_group *ri_group;\n\tbool ri_realtime;\n};\n\nstruct xfs_rmap_matches {\n\tlong long unsigned int matches;\n\tlong long unsigned int non_owner_matches;\n\tlong long unsigned int bad_non_owner_matches;\n};\n\nstruct xfs_rmap_ownercount {\n\tstruct xfs_rmap_irec good;\n\tstruct xfs_rmap_irec low;\n\tstruct xfs_rmap_irec high;\n\tstruct xfs_rmap_matches *results;\n\tbool stop_on_nonmatch;\n};\n\ntypedef int (*xfs_rmap_query_range_fn)(struct xfs_btree_cur *, const struct xfs_rmap_irec *, void *);\n\nstruct xfs_rmap_query_range_info {\n\txfs_rmap_query_range_fn fn;\n\tvoid *priv;\n};\n\nstruct xfs_rtbuf_blkinfo {\n\t__be32 rt_magic;\n\t__be32 rt_crc;\n\t__be64 rt_owner;\n\t__be64 rt_blkno;\n\t__be64 rt_lsn;\n\tuuid_t rt_uuid;\n};\n\nstruct xfs_rtgroup {\n\tstruct xfs_group rtg_group;\n\tstruct xfs_inode *rtg_inodes[4];\n\txfs_rtxnum_t rtg_extents;\n\tuint8_t *rtg_rsum_cache;\n};\n\nstruct xfs_rtgroup_geometry {\n\t__u32 rg_number;\n\t__u32 rg_length;\n\t__u32 rg_sick;\n\t__u32 rg_checked;\n\t__u32 rg_flags;\n\t__u32 rg_reserved[27];\n};\n\nstruct xfs_rtrefcount_root {\n\t__be16 bb_level;\n\t__be16 bb_numrecs;\n};\n\nstruct xfs_rtrmap_root {\n\t__be16 bb_level;\n\t__be16 bb_numrecs;\n};\n\nstruct xfs_rud_log_format {\n\tuint16_t rud_type;\n\tuint16_t rud_size;\n\tuint32_t __pad;\n\tuint64_t rud_rui_id;\n};\n\nstruct xfs_rui_log_item;\n\nstruct xfs_rud_log_item {\n\tstruct xfs_log_item rud_item;\n\tstruct xfs_rui_log_item *rud_ruip;\n\tstruct xfs_rud_log_format rud_format;\n};\n\nstruct xfs_rui_log_format {\n\tuint16_t rui_type;\n\tuint16_t rui_size;\n\tuint32_t rui_nextents;\n\tuint64_t rui_id;\n\tstruct xfs_map_extent rui_extents[0];\n};\n\nstruct xfs_rui_log_item {\n\tstruct xfs_log_item rui_item;\n\tatomic_t rui_refcount;\n\tatomic_t rui_next_extent;\n\tstruct xfs_rui_log_format rui_format;\n};\n\ntypedef struct xfs_sb xfs_sb_t;\n\nstruct xfs_swapext {\n\tint64_t sx_version;\n\tint64_t sx_fdtarget;\n\tint64_t sx_fdtmp;\n\txfs_off_t sx_offset;\n\txfs_off_t sx_length;\n\tchar sx_pad[16];\n\tstruct xfs_bstat sx_stat;\n};\n\ntypedef struct xfs_swapext xfs_swapext_t;\n\nstruct xfs_sysfs_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kobject *, char *);\n\tssize_t (*store)(struct kobject *, const char *, size_t);\n};\n\nstruct xfs_trans {\n\tunsigned int t_log_res;\n\tunsigned int t_log_count;\n\tunsigned int t_blk_res;\n\tunsigned int t_blk_res_used;\n\tunsigned int t_rtx_res;\n\tunsigned int t_rtx_res_used;\n\tunsigned int t_flags;\n\txfs_agnumber_t t_highest_agno;\n\tstruct xlog_ticket *t_ticket;\n\tstruct xfs_mount *t_mountp;\n\tstruct xfs_dquot_acct *t_dqinfo;\n\tint64_t t_icount_delta;\n\tint64_t t_ifree_delta;\n\tint64_t t_fdblocks_delta;\n\tint64_t t_res_fdblocks_delta;\n\tint64_t t_frextents_delta;\n\tint64_t t_res_frextents_delta;\n\tint64_t t_dblocks_delta;\n\tint64_t t_agcount_delta;\n\tint64_t t_imaxpct_delta;\n\tint64_t t_rextsize_delta;\n\tint64_t t_rbmblocks_delta;\n\tint64_t t_rblocks_delta;\n\tint64_t t_rextents_delta;\n\tint64_t t_rextslog_delta;\n\tint64_t t_rgcount_delta;\n\tstruct list_head t_items;\n\tstruct list_head t_busy;\n\tstruct list_head t_dfops;\n\tlong unsigned int t_pflags;\n};\n\ntypedef struct xfs_trans xfs_trans_t;\n\nstruct xfs_trans_header {\n\tuint th_magic;\n\tuint th_type;\n\tint32_t th_tid;\n\tuint th_num_items;\n};\n\ntypedef struct xfs_trans_header xfs_trans_header_t;\n\nstruct xfs_trim_cur {\n\txfs_agblock_t start;\n\txfs_extlen_t count;\n\txfs_agblock_t end;\n\txfs_extlen_t minlen;\n\tbool by_bno;\n};\n\nstruct xfs_unmount_log_format {\n\tuint16_t magic;\n\tuint16_t pad1;\n\tuint32_t pad2;\n};\n\nstruct xfs_writepage_ctx {\n\tstruct iomap_writepage_ctx ctx;\n\tunsigned int data_seq;\n\tunsigned int cow_seq;\n};\n\nstruct xfs_xmd_log_format {\n\tuint16_t xmd_type;\n\tuint16_t xmd_size;\n\tuint32_t __pad;\n\tuint64_t xmd_xmi_id;\n};\n\nstruct xfs_xmi_log_item;\n\nstruct xfs_xmd_log_item {\n\tstruct xfs_log_item xmd_item;\n\tstruct xfs_xmi_log_item *xmd_intent_log_item;\n\tstruct xfs_xmd_log_format xmd_format;\n};\n\nstruct xfs_xmi_log_format {\n\tuint16_t xmi_type;\n\tuint16_t xmi_size;\n\tuint32_t __pad;\n\tuint64_t xmi_id;\n\tuint64_t xmi_inode1;\n\tuint64_t xmi_inode2;\n\tuint32_t xmi_igen1;\n\tuint32_t xmi_igen2;\n\tuint64_t xmi_startoff1;\n\tuint64_t xmi_startoff2;\n\tuint64_t xmi_blockcount;\n\tuint64_t xmi_flags;\n\tuint64_t xmi_isize1;\n\tuint64_t xmi_isize2;\n};\n\nstruct xfs_xmi_log_item {\n\tstruct xfs_log_item xmi_item;\n\tatomic_t xmi_refcount;\n\tstruct xfs_xmi_log_format xmi_format;\n};\n\nstruct xfsstats {\n\tunion {\n\t\tstruct __xfsstats s;\n\t\tuint32_t a[262];\n\t};\n};\n\nstruct xics_cppr {\n\tunsigned char stack[3];\n\tint index;\n};\n\nstruct xive_cpu {\n\tu32 hw_ipi;\n\tstruct xive_irq_data ipi_data;\n\tint chip_id;\n\tstruct xive_q queue[8];\n\tu8 pending_prio;\n\tu8 cppr;\n};\n\nstruct xive_ipi_alloc_info {\n\tirq_hw_number_t hwirq;\n};\n\nstruct xive_ipi_desc {\n\tunsigned int irq;\n\tchar name[16];\n\tatomic_t started;\n};\n\nstruct xive_irq_bitmap {\n\tlong unsigned int *bitmap;\n\tunsigned int base;\n\tunsigned int count;\n\tspinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct xive_ops {\n\tint (*populate_irq_data)(u32, struct xive_irq_data *);\n\tint (*configure_irq)(u32, u32, u8, u32);\n\tint (*get_irq_config)(u32, u32 *, u8 *, u32 *);\n\tint (*setup_queue)(unsigned int, struct xive_cpu *, u8);\n\tvoid (*cleanup_queue)(unsigned int, struct xive_cpu *, u8);\n\tvoid (*prepare_cpu)(unsigned int, struct xive_cpu *);\n\tvoid (*setup_cpu)(unsigned int, struct xive_cpu *);\n\tvoid (*teardown_cpu)(unsigned int, struct xive_cpu *);\n\tbool (*match)(struct device_node *);\n\tvoid (*shutdown)(void);\n\tvoid (*update_pending)(struct xive_cpu *);\n\tvoid (*sync_source)(u32);\n\tu64 (*esb_rw)(u32, u32, u64, bool);\n\tint (*get_ipi)(unsigned int, struct xive_cpu *);\n\tvoid (*put_ipi)(unsigned int, struct xive_cpu *);\n\tint (*debug_show)(struct seq_file *, void *);\n\tint (*debug_create)(struct dentry *);\n\tconst char *name;\n};\n\nstruct xlog_grant_head {\n\tspinlock_t lock;\n\tstruct list_head waiters;\n\tatomic64_t grant;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef struct xlog_in_core xlog_in_core_t;\n\nstruct xlog {\n\tstruct xfs_mount *l_mp;\n\tstruct xfs_ail *l_ailp;\n\tstruct xfs_cil *l_cilp;\n\tstruct xfs_buftarg *l_targ;\n\tstruct workqueue_struct *l_ioend_workqueue;\n\tstruct delayed_work l_work;\n\tlong int l_opstate;\n\tuint l_quotaoffs_flag;\n\tstruct list_head *l_buf_cancel_table;\n\tstruct list_head r_dfops;\n\tint l_iclog_hsize;\n\tint l_iclog_heads;\n\tuint l_sectBBsize;\n\tint l_iclog_size;\n\tint l_iclog_bufs;\n\txfs_daddr_t l_logBBstart;\n\tint l_logsize;\n\tint l_logBBsize;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\twait_queue_head_t l_flush_wait;\n\tint l_covered_state;\n\txlog_in_core_t *l_iclog;\n\tspinlock_t l_icloglock;\n\tint l_curr_cycle;\n\tint l_prev_cycle;\n\tint l_curr_block;\n\tint l_prev_block;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic64_t l_tail_lsn;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xlog_grant_head l_reserve_head;\n\tstruct xlog_grant_head l_write_head;\n\tuint64_t l_tail_space;\n\tstruct xfs_kobj l_kobj;\n\txfs_lsn_t l_recovery_lsn;\n\tuint32_t l_iclog_roundoff;\n\tlong: 64;\n};\n\nstruct xlog_cil_pcp {\n\tint32_t space_used;\n\tuint32_t space_reserved;\n\tstruct list_head busy_extents;\n\tstruct list_head log_items;\n};\n\nstruct xlog_op_header {\n\t__be32 oh_tid;\n\t__be32 oh_len;\n\t__u8 oh_clientid;\n\t__u8 oh_flags;\n\t__u16 oh_res2;\n};\n\nstruct xlog_cil_trans_hdr {\n\tstruct xlog_op_header oph[2];\n\tstruct xfs_trans_header thdr;\n\tstruct xfs_log_iovec lhdr[2];\n};\n\nunion xlog_in_core2;\n\ntypedef union xlog_in_core2 xlog_in_core_2_t;\n\nstruct xlog_in_core {\n\twait_queue_head_t ic_force_wait;\n\twait_queue_head_t ic_write_wait;\n\tstruct xlog_in_core *ic_next;\n\tstruct xlog_in_core *ic_prev;\n\tstruct xlog *ic_log;\n\tu32 ic_size;\n\tu32 ic_offset;\n\tenum xlog_iclog_state ic_state;\n\tunsigned int ic_flags;\n\tvoid *ic_datap;\n\tstruct list_head ic_callbacks;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t ic_refcnt;\n\txlog_in_core_2_t *ic_data;\n\tstruct semaphore ic_sema;\n\tstruct work_struct ic_end_io_work;\n\tstruct bio ic_bio;\n\tstruct bio_vec ic_bvec[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xlog_rec_header {\n\t__be32 h_magicno;\n\t__be32 h_cycle;\n\t__be32 h_version;\n\t__be32 h_len;\n\t__be64 h_lsn;\n\t__be64 h_tail_lsn;\n\t__le32 h_crc;\n\t__be32 h_prev_block;\n\t__be32 h_num_logops;\n\t__be32 h_cycle_data[64];\n\t__be32 h_fmt;\n\tuuid_t h_fs_uuid;\n\t__be32 h_size;\n};\n\ntypedef struct xlog_rec_header xlog_rec_header_t;\n\nstruct xlog_rec_ext_header {\n\t__be32 xh_cycle;\n\t__be32 xh_cycle_data[64];\n};\n\ntypedef struct xlog_rec_ext_header xlog_rec_ext_header_t;\n\nunion xlog_in_core2 {\n\txlog_rec_header_t hic_header;\n\txlog_rec_ext_header_t hic_xheader;\n\tchar hic_sector[512];\n};\n\nstruct xlog_recover {\n\tstruct hlist_node r_list;\n\txlog_tid_t r_log_tid;\n\txfs_trans_header_t r_theader;\n\tint r_state;\n\txfs_lsn_t r_lsn;\n\tstruct list_head r_itemq;\n};\n\nstruct xlog_recover_item_ops;\n\nstruct xlog_recover_item {\n\tstruct list_head ri_list;\n\tint ri_cnt;\n\tint ri_total;\n\tstruct xfs_log_iovec *ri_buf;\n\tconst struct xlog_recover_item_ops *ri_ops;\n};\n\nstruct xlog_recover_item_ops {\n\tuint16_t item_type;\n\tenum xlog_recover_reorder (*reorder)(struct xlog_recover_item *);\n\tvoid (*ra_pass2)(struct xlog *, struct xlog_recover_item *);\n\tint (*commit_pass1)(struct xlog *, struct xlog_recover_item *);\n\tint (*commit_pass2)(struct xlog *, struct list_head *, struct xlog_recover_item *, xfs_lsn_t);\n};\n\nstruct xlog_ticket {\n\tstruct list_head t_queue;\n\tstruct task_struct *t_task;\n\txlog_tid_t t_tid;\n\tatomic_t t_ref;\n\tint t_curr_res;\n\tint t_unit_res;\n\tchar t_ocnt;\n\tchar t_cnt;\n\tuint8_t t_flags;\n\tint t_iclog_hdrs;\n};\n\ntypedef struct xlog_ticket xlog_ticket_t;\n\nstruct xol_area {\n\twait_queue_head_t wq;\n\tlong unsigned int *bitmap;\n\tstruct page *page;\n\tlong unsigned int vaddr;\n};\n\nstruct xprt_addr {\n\tconst char *addr;\n\tstruct callback_head rcu;\n};\n\nstruct xprt_create;\n\nstruct xprt_class {\n\tstruct list_head list;\n\tint ident;\n\tstruct rpc_xprt * (*setup)(struct xprt_create *);\n\tstruct module *owner;\n\tchar name[32];\n\tconst char *netid[0];\n};\n\nstruct xprt_create {\n\tint ident;\n\tstruct net *net;\n\tstruct sockaddr *srcaddr;\n\tstruct sockaddr *dstaddr;\n\tsize_t addrlen;\n\tconst char *servername;\n\tstruct svc_xprt *bc_xprt;\n\tstruct rpc_xprt_switch *bc_xps;\n\tunsigned int flags;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct xps_map;\n\nstruct xps_dev_maps {\n\tstruct callback_head rcu;\n\tunsigned int nr_ids;\n\ts16 num_tc;\n\tstruct xps_map *attr_map[0];\n};\n\nstruct xps_map {\n\tunsigned int len;\n\tunsigned int alloc_len;\n\tstruct callback_head rcu;\n\tu16 queues[0];\n};\n\nstruct xsk_buff_pool {\n\tstruct device *dev;\n\tstruct net_device *netdev;\n\tstruct list_head xsk_tx_list;\n\tspinlock_t xsk_tx_list_lock;\n\trefcount_t users;\n\tstruct xdp_umem *umem;\n\tstruct work_struct work;\n\tstruct list_head free_list;\n\tstruct list_head xskb_list;\n\tu32 heads_cnt;\n\tu16 queue_id;\n\tlong: 64;\n\tstruct xsk_queue *fq;\n\tstruct xsk_queue *cq;\n\tdma_addr_t *dma_pages;\n\tstruct xdp_buff_xsk *heads;\n\tstruct xdp_desc *tx_descs;\n\tu64 chunk_mask;\n\tu64 addrs_cnt;\n\tu32 free_list_cnt;\n\tu32 dma_pages_cnt;\n\tu32 free_heads_cnt;\n\tu32 headroom;\n\tu32 chunk_size;\n\tu32 chunk_shift;\n\tu32 frame_len;\n\tu32 xdp_zc_max_segs;\n\tu8 tx_metadata_len;\n\tu8 cached_need_wakeup;\n\tbool uses_need_wakeup;\n\tbool unaligned;\n\tbool tx_sw_csum;\n\tvoid *addrs;\n\tspinlock_t cq_lock;\n\tstruct xdp_buff_xsk *free_heads[0];\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xsk_tx_metadata_ops {\n\tvoid (*tmo_request_timestamp)(void *);\n\tu64 (*tmo_fill_timestamp)(void *);\n\tvoid (*tmo_request_checksum)(u16, u16, void *);\n};\n\nstruct xstats_entry {\n\tchar *desc;\n\tint endpoint;\n};\n\nstruct xstop_reason {\n\tuint32_t xstop_reason;\n\tconst char *unit_failed;\n\tconst char *description;\n};\n\nstruct xxh32_state {\n\tuint32_t total_len_32;\n\tuint32_t large_len;\n\tuint32_t v1;\n\tuint32_t v2;\n\tuint32_t v3;\n\tuint32_t v4;\n\tuint32_t mem32[4];\n\tuint32_t memsize;\n};\n\nstruct xz_buf {\n\tconst uint8_t *in;\n\tsize_t in_pos;\n\tsize_t in_size;\n\tuint8_t *out;\n\tsize_t out_pos;\n\tsize_t out_size;\n};\n\nstruct xz_dec_hash {\n\tvli_type unpadded;\n\tvli_type uncompressed;\n\tuint32_t crc32;\n};\n\nstruct xz_dec_lzma2;\n\nstruct xz_dec_bcj;\n\nstruct xz_dec {\n\tenum {\n\t\tSEQ_STREAM_HEADER = 0,\n\t\tSEQ_BLOCK_START = 1,\n\t\tSEQ_BLOCK_HEADER = 2,\n\t\tSEQ_BLOCK_UNCOMPRESS = 3,\n\t\tSEQ_BLOCK_PADDING = 4,\n\t\tSEQ_BLOCK_CHECK = 5,\n\t\tSEQ_INDEX = 6,\n\t\tSEQ_INDEX_PADDING = 7,\n\t\tSEQ_INDEX_CRC32 = 8,\n\t\tSEQ_STREAM_FOOTER = 9,\n\t} sequence;\n\tuint32_t pos;\n\tvli_type vli;\n\tsize_t in_start;\n\tsize_t out_start;\n\tuint32_t crc32;\n\tenum xz_check check_type;\n\tenum xz_mode mode;\n\tbool allow_buf_error;\n\tstruct {\n\t\tvli_type compressed;\n\t\tvli_type uncompressed;\n\t\tuint32_t size;\n\t} block_header;\n\tstruct {\n\t\tvli_type compressed;\n\t\tvli_type uncompressed;\n\t\tvli_type count;\n\t\tstruct xz_dec_hash hash;\n\t} block;\n\tstruct {\n\t\tenum {\n\t\t\tSEQ_INDEX_COUNT = 0,\n\t\t\tSEQ_INDEX_UNPADDED = 1,\n\t\t\tSEQ_INDEX_UNCOMPRESSED = 2,\n\t\t} sequence;\n\t\tvli_type size;\n\t\tvli_type count;\n\t\tstruct xz_dec_hash hash;\n\t} index;\n\tstruct {\n\t\tsize_t pos;\n\t\tsize_t size;\n\t\tuint8_t buf[1024];\n\t} temp;\n\tstruct xz_dec_lzma2 *lzma2;\n\tstruct xz_dec_bcj *bcj;\n\tbool bcj_active;\n};\n\nstruct xz_dec_bcj {\n\tenum {\n\t\tBCJ_X86 = 4,\n\t\tBCJ_POWERPC = 5,\n\t\tBCJ_IA64 = 6,\n\t\tBCJ_ARM = 7,\n\t\tBCJ_ARMTHUMB = 8,\n\t\tBCJ_SPARC = 9,\n\t\tBCJ_ARM64 = 10,\n\t\tBCJ_RISCV = 11,\n\t} type;\n\tenum xz_ret ret;\n\tbool single_call;\n\tuint32_t pos;\n\tuint32_t x86_prev_mask;\n\tuint8_t *out;\n\tsize_t out_pos;\n\tsize_t out_size;\n\tstruct {\n\t\tsize_t filtered;\n\t\tsize_t size;\n\t\tuint8_t buf[16];\n\t} temp;\n};\n\nstruct xz_dec_lzma2 {\n\tstruct rc_dec rc;\n\tstruct dictionary dict;\n\tstruct lzma2_dec lzma2;\n\tstruct lzma_dec lzma;\n\tstruct {\n\t\tuint32_t size;\n\t\tuint8_t buf[63];\n\t} temp;\n};\n\nstruct z_stream_s {\n\tconst Byte *next_in;\n\tuLong avail_in;\n\tuLong total_in;\n\tByte *next_out;\n\tuLong avail_out;\n\tuLong total_out;\n\tchar *msg;\n\tstruct internal_state *state;\n\tvoid *workspace;\n\tint data_type;\n\tuLong adler;\n\tuLong reserved;\n};\n\nstruct zap_details {\n\tstruct folio *single_folio;\n\tbool even_cows;\n\tbool reclaim_pt;\n\tzap_flags_t zap_flags;\n};\n\nstruct zspage;\n\nstruct zpdesc {\n\tlong unsigned int flags;\n\tstruct list_head lru;\n\tlong unsigned int movable_ops;\n\tunion {\n\t\tstruct zpdesc *next;\n\t\tlong unsigned int handle;\n\t};\n\tstruct zspage *zspage;\n\tunsigned int first_obj_offset;\n\tatomic_t _refcount;\n};\n\nstruct zpool_driver;\n\nstruct zpool {\n\tstruct zpool_driver *driver;\n\tvoid *pool;\n};\n\nstruct zpool_driver {\n\tchar *type;\n\tstruct module *owner;\n\tatomic_t refcount;\n\tstruct list_head list;\n\tvoid * (*create)(const char *, gfp_t);\n\tvoid (*destroy)(void *);\n\tbool malloc_support_movable;\n\tint (*malloc)(void *, size_t, gfp_t, long unsigned int *);\n\tvoid (*free)(void *, long unsigned int);\n\tbool sleep_mapped;\n\tvoid * (*map)(void *, long unsigned int, enum zpool_mapmode);\n\tvoid (*unmap)(void *, long unsigned int);\n\tu64 (*total_pages)(void *);\n};\n\nstruct zs_pool_stats {\n\tatomic_long_t pages_compacted;\n};\n\nstruct zs_pool {\n\tconst char *name;\n\tstruct size_class *size_class[257];\n\tstruct kmem_cache *handle_cachep;\n\tstruct kmem_cache *zspage_cachep;\n\tatomic_long_t pages_allocated;\n\tstruct zs_pool_stats stats;\n\tstruct shrinker *shrinker;\n\tstruct work_struct free_work;\n\trwlock_t migrate_lock;\n\tatomic_t compaction_in_progress;\n};\n\nstruct zspage {\n\tstruct {\n\t\tunsigned int huge: 1;\n\t\tunsigned int fullness: 4;\n\t\tunsigned int class: 9;\n\t\tunsigned int magic: 8;\n\t};\n\tunsigned int inuse;\n\tunsigned int freeobj;\n\tstruct zpdesc *first_zpdesc;\n\tstruct list_head list;\n\tstruct zs_pool *pool;\n\trwlock_t lock;\n};\n\nstruct zswap_pool;\n\nstruct zswap_entry {\n\tswp_entry_t swpentry;\n\tunsigned int length;\n\tbool referenced;\n\tstruct zswap_pool *pool;\n\tlong unsigned int handle;\n\tstruct obj_cgroup *objcg;\n\tstruct list_head lru;\n};\n\nstruct zswap_pool {\n\tstruct zpool *zpool;\n\tstruct crypto_acomp_ctx *acomp_ctx;\n\tstruct percpu_ref ref;\n\tstruct list_head list;\n\tstruct work_struct release_work;\n\tstruct hlist_node node;\n\tchar tfm_name[128];\n};\n\ntypedef int (*arch_set_vga_state_t)(struct pci_dev *, bool, unsigned int, u32);\n\ntypedef unsigned int (*ata_xlat_func_t)(struct ata_queued_cmd *);\n\ntypedef void blk_log_action_t(struct trace_iterator *, const char *, bool);\n\ntypedef int (*bpf_aux_classic_check_t)(struct sock_filter *, unsigned int);\n\ntypedef u32 (*bpf_convert_ctx_access_t)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *);\n\ntypedef long unsigned int (*bpf_ctx_copy_t)(void *, const void *, long unsigned int, long unsigned int);\n\ntypedef unsigned int (*bpf_dispatcher_fn)(const void *, const struct bpf_insn *, unsigned int (*)(const void *, const struct bpf_insn *));\n\ntypedef unsigned int (*bpf_func_t)(const void *, const struct bpf_insn *);\n\ntypedef void (*bpf_jit_fill_hole_t)(void *, unsigned int);\n\ntypedef int (*bpf_op_t)(struct net_device *, struct netdev_bpf *);\n\ntypedef u32 (*bpf_prog_run_fn)(const struct bpf_prog *, const void *);\n\ntypedef u64 (*bpf_trampoline_enter_t)(struct bpf_prog *, struct bpf_tramp_run_ctx *);\n\ntypedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_run_ctx *);\n\ntypedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int);\n\ntypedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64);\n\ntypedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int);\n\ntypedef u64 (*btf_bpf_cgrp_storage_delete)(struct bpf_map *, struct cgroup *);\n\ntypedef u64 (*btf_bpf_cgrp_storage_get)(struct bpf_map *, struct cgroup *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_copy_from_user)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_copy_from_user_task)(void *, u32, const void *, struct task_struct *, u64);\n\ntypedef u64 (*btf_bpf_csum_diff)(__be32 *, u32, __be32 *, u32, __wsum);\n\ntypedef u64 (*btf_bpf_csum_level)(struct sk_buff *, u64);\n\ntypedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum);\n\ntypedef u64 (*btf_bpf_current_task_under_cgroup)(struct bpf_map *, u32);\n\ntypedef u64 (*btf_bpf_d_path)(struct path *, char *, u32);\n\ntypedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32);\n\ntypedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *);\n\ntypedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64);\n\ntypedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_find_vma)(struct task_struct *, u64, bpf_callback_t, void *, u64);\n\ntypedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_get_attach_cookie)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_trace)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_tracing)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_uprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_branch_snapshot)(void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_cgroup_classid)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_current_ancestor_cgroup_id)(int);\n\ntypedef u64 (*btf_bpf_get_current_cgroup_id)(void);\n\ntypedef u64 (*btf_bpf_get_current_comm)(char *, u32);\n\ntypedef u64 (*btf_bpf_get_current_pid_tgid)(void);\n\ntypedef u64 (*btf_bpf_get_current_task)(void);\n\ntypedef u64 (*btf_bpf_get_current_task_btf)(void);\n\ntypedef u64 (*btf_bpf_get_current_uid_gid)(void);\n\ntypedef u64 (*btf_bpf_get_func_ip_kprobe)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_func_ip_kprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_func_ip_tracing)(void *);\n\ntypedef u64 (*btf_bpf_get_func_ip_uprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_hash_recalc)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_listener_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_local_storage)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_netns_cookie)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sk_msg)(struct sk_msg *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock_addr)(struct bpf_sock_addr_kern *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock_ops)(struct bpf_sock_ops_kern *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sockopt)(struct bpf_sockopt_kern *);\n\ntypedef u64 (*btf_bpf_get_ns_current_pid_tgid)(u64, u64, struct bpf_pidns_info *, u32);\n\ntypedef u64 (*btf_bpf_get_numa_node_id)(void);\n\ntypedef u64 (*btf_bpf_get_raw_cpu_id)(void);\n\ntypedef u64 (*btf_bpf_get_retval)(void);\n\ntypedef u64 (*btf_bpf_get_route_realm)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_smp_processor_id)(void);\n\ntypedef u64 (*btf_bpf_get_socket_cookie)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock_addr)(struct bpf_sock_addr_kern *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock_ops)(struct bpf_sock_ops_kern *);\n\ntypedef u64 (*btf_bpf_get_socket_ptr_cookie)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_socket_uid)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_stack)(struct pt_regs *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_pe)(struct bpf_perf_event_data_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_raw_tp)(struct bpf_raw_tracepoint_args *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_sleepable)(struct pt_regs *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_tp)(void *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stackid)(struct pt_regs *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_pe)(struct bpf_perf_event_data_kern *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_tp)(void *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32);\n\ntypedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32);\n\ntypedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *);\n\ntypedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_jiffies64)(void);\n\ntypedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *);\n\ntypedef u64 (*btf_bpf_kptr_xchg)(void *, void *);\n\ntypedef u64 (*btf_bpf_ktime_get_boot_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_coarse_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_tai_ns)(void);\n\ntypedef u64 (*btf_bpf_l3_csum_replace)(struct sk_buff *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_l4_csum_replace)(struct sk_buff *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_loop)(u32, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_lwt_in_push_encap)(struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_lwt_xmit_push_encap)(struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_map_delete_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_lookup_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_lookup_percpu_elem)(struct bpf_map *, void *, u32);\n\ntypedef u64 (*btf_bpf_map_peek_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_pop_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_push_elem)(struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_map_update_elem)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_msg_apply_bytes)(struct sk_msg *, u32);\n\ntypedef u64 (*btf_bpf_msg_cork_bytes)(struct sk_msg *, u32);\n\ntypedef u64 (*btf_bpf_msg_pop_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_pull_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_push_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_redirect_hash)(struct sk_msg *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_msg_redirect_map)(struct sk_msg *, struct bpf_map *, u32, u64);\n\ntypedef u64 (*btf_bpf_per_cpu_ptr)(const void *, u32);\n\ntypedef u64 (*btf_bpf_perf_event_output)(struct pt_regs *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_output_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_output_tp)(void *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_read)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_read_value)(struct bpf_map *, u64, struct bpf_perf_event_value *, u32);\n\ntypedef u64 (*btf_bpf_perf_prog_read_value)(struct bpf_perf_event_data_kern *, struct bpf_perf_event_value *, u32);\n\ntypedef u64 (*btf_bpf_probe_read_compat)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_compat_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_kernel)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_kernel_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_user)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_user_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_write_user)(void *, const void *, u32);\n\ntypedef u64 (*btf_bpf_read_branch_records)(struct bpf_perf_event_data_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_redirect)(u32, u64);\n\ntypedef u64 (*btf_bpf_redirect_neigh)(u32, struct bpf_redir_neigh *, int, u64);\n\ntypedef u64 (*btf_bpf_redirect_peer)(u32, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_discard)(void *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_discard_dynptr)(struct bpf_dynptr_kern *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_output)(struct bpf_map *, void *, u64, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_query)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_reserve)(struct bpf_map *, u64, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_reserve_dynptr)(struct bpf_map *, u32, u64, struct bpf_dynptr_kern *);\n\ntypedef u64 (*btf_bpf_ringbuf_submit)(void *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_submit_dynptr)(struct bpf_dynptr_kern *, u64);\n\ntypedef u64 (*btf_bpf_send_signal)(u32);\n\ntypedef u64 (*btf_bpf_send_signal_thread)(u32);\n\ntypedef u64 (*btf_bpf_seq_printf)(struct seq_file *, char *, u32, const void *, u32);\n\ntypedef u64 (*btf_bpf_seq_printf_btf)(struct seq_file *, struct btf_ptr *, u32, u64);\n\ntypedef u64 (*btf_bpf_seq_write)(struct seq_file *, const void *, u32);\n\ntypedef u64 (*btf_bpf_set_hash)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_set_hash_invalid)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_set_retval)(int);\n\ntypedef u64 (*btf_bpf_sk_ancestor_cgroup_id)(struct sock *, int);\n\ntypedef u64 (*btf_bpf_sk_assign)(struct sk_buff *, struct sock *, u64);\n\ntypedef u64 (*btf_bpf_sk_cgroup_id)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_fullsock)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_getsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sk_lookup_assign)(struct bpf_sk_lookup_kern *, struct sock *, u64);\n\ntypedef u64 (*btf_bpf_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sk_redirect_hash)(struct sk_buff *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sk_redirect_map)(struct sk_buff *, struct bpf_map *, u32, u64);\n\ntypedef u64 (*btf_bpf_sk_release)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_setsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sk_storage_delete)(struct bpf_map *, struct sock *);\n\ntypedef u64 (*btf_bpf_sk_storage_delete_tracing)(struct bpf_map *, struct sock *);\n\ntypedef u64 (*btf_bpf_sk_storage_get)(struct bpf_map *, struct sock *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_sk_storage_get_tracing)(struct bpf_map *, struct sock *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_skb_adjust_room)(struct sk_buff *, s32, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_ancestor_cgroup_id)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_cgroup_id)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_change_head)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_change_proto)(struct sk_buff *, __be16, u64);\n\ntypedef u64 (*btf_bpf_skb_change_tail)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_change_type)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_skb_check_mtu)(struct sk_buff *, u32, u32 *, s32, u64);\n\ntypedef u64 (*btf_bpf_skb_ecn_set_ce)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_event_output)(struct sk_buff *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_skb_fib_lookup)(struct sk_buff *, struct bpf_fib_lookup *, int, u32);\n\ntypedef u64 (*btf_bpf_skb_get_nlattr)(struct sk_buff *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_get_nlattr_nest)(struct sk_buff *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_get_pay_offset)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_get_tunnel_key)(struct sk_buff *, struct bpf_tunnel_key *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_get_tunnel_opt)(struct sk_buff *, u8 *, u32);\n\ntypedef u64 (*btf_bpf_skb_get_xfrm_state)(struct sk_buff *, u32, struct bpf_xfrm_state *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_load_bytes)(const struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_skb_load_bytes_relative)(const struct sk_buff *, u32, void *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_load_helper_16)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_16_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_32)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_32_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_8)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_8_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_pull_data)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_skb_set_tstamp)(struct sk_buff *, u64, u32);\n\ntypedef u64 (*btf_bpf_skb_set_tunnel_key)(struct sk_buff *, const struct bpf_tunnel_key *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_set_tunnel_opt)(struct sk_buff *, const u8 *, u32);\n\ntypedef u64 (*btf_bpf_skb_store_bytes)(struct sk_buff *, u32, const void *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_under_cgroup)(struct sk_buff *, struct bpf_map *, u32);\n\ntypedef u64 (*btf_bpf_skb_vlan_pop)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_vlan_push)(struct sk_buff *, __be16, u16);\n\ntypedef u64 (*btf_bpf_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_skc_to_mptcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp6_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_request_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_timewait_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_udp6_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_unix_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_snprintf)(char *, u32, char *, const void *, u32);\n\ntypedef u64 (*btf_bpf_snprintf_btf)(char *, u32, struct btf_ptr *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_getsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_addr_setsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_addr_sk_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_from_file)(struct file *);\n\ntypedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sock_map_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_cb_flags_set)(struct bpf_sock_ops_kern *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_getsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_load_hdr_opt)(struct bpf_sock_ops_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_reserve_hdr_opt)(struct bpf_sock_ops_kern *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_setsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_store_hdr_opt)(struct bpf_sock_ops_kern *, const void *, u32, u64);\n\ntypedef u64 (*btf_bpf_spin_lock)(struct bpf_spin_lock *);\n\ntypedef u64 (*btf_bpf_spin_unlock)(struct bpf_spin_lock *);\n\ntypedef u64 (*btf_bpf_strncmp)(const char *, u32, const char *);\n\ntypedef u64 (*btf_bpf_strtol)(const char *, size_t, u64, s64 *);\n\ntypedef u64 (*btf_bpf_strtoul)(const char *, size_t, u64, u64 *);\n\ntypedef u64 (*btf_bpf_sys_bpf)(int, union bpf_attr *, u32);\n\ntypedef u64 (*btf_bpf_sys_close)(u32);\n\ntypedef u64 (*btf_bpf_sysctl_get_current_value)(struct bpf_sysctl_kern *, char *, size_t);\n\ntypedef u64 (*btf_bpf_sysctl_get_name)(struct bpf_sysctl_kern *, char *, size_t, u64);\n\ntypedef u64 (*btf_bpf_sysctl_get_new_value)(struct bpf_sysctl_kern *, char *, size_t);\n\ntypedef u64 (*btf_bpf_sysctl_set_new_value)(struct bpf_sysctl_kern *, const char *, size_t);\n\ntypedef u64 (*btf_bpf_task_pt_regs)(struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_delete)(struct bpf_map *, struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_delete_recur)(struct bpf_map *, struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_get)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_task_storage_get_recur)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_tc_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tc_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tc_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tcp_check_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_gen_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_raw_check_syncookie_ipv4)(struct iphdr *, struct tcphdr *);\n\ntypedef u64 (*btf_bpf_tcp_raw_check_syncookie_ipv6)(struct ipv6hdr *, struct tcphdr *);\n\ntypedef u64 (*btf_bpf_tcp_raw_gen_syncookie_ipv4)(struct iphdr *, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_raw_gen_syncookie_ipv6)(struct ipv6hdr *, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_send_ack)(struct tcp_sock *, u32);\n\ntypedef u64 (*btf_bpf_tcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_this_cpu_ptr)(const void *);\n\ntypedef u64 (*btf_bpf_timer_cancel)(struct bpf_async_kern *);\n\ntypedef u64 (*btf_bpf_timer_init)(struct bpf_async_kern *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_timer_set_callback)(struct bpf_async_kern *, void *, struct bpf_prog_aux *);\n\ntypedef u64 (*btf_bpf_timer_start)(struct bpf_async_kern *, u64, u64);\n\ntypedef u64 (*btf_bpf_trace_printk)(char *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_trace_vprintk)(char *, u32, const void *, u32);\n\ntypedef u64 (*btf_bpf_unlocked_sk_getsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_unlocked_sk_setsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_user_ringbuf_drain)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_user_rnd_u32)(void);\n\ntypedef u64 (*btf_bpf_xdp_adjust_head)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_adjust_meta)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_adjust_tail)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_check_mtu)(struct xdp_buff *, u32, u32 *, s32, u64);\n\ntypedef u64 (*btf_bpf_xdp_event_output)(struct xdp_buff *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_xdp_fib_lookup)(struct xdp_buff *, struct bpf_fib_lookup *, int, u32);\n\ntypedef u64 (*btf_bpf_xdp_get_buff_len)(struct xdp_buff *);\n\ntypedef u64 (*btf_bpf_xdp_load_bytes)(struct xdp_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_xdp_redirect)(u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_redirect_map)(struct bpf_map *, u64, u64);\n\ntypedef u64 (*btf_bpf_xdp_sk_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_sk_lookup_udp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_skc_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_store_bytes)(struct xdp_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_get_func_arg)(void *, u32, u64 *);\n\ntypedef u64 (*btf_get_func_arg_cnt)(void *);\n\ntypedef u64 (*btf_get_func_ret)(void *, u64 *);\n\ntypedef u64 (*btf_sk_reuseport_load_bytes)(const struct sk_reuseport_kern *, u32, void *, u32);\n\ntypedef u64 (*btf_sk_reuseport_load_bytes_relative)(const struct sk_reuseport_kern *, u32, void *, u32, u32);\n\ntypedef u64 (*btf_sk_select_reuseport)(struct sk_reuseport_kern *, struct bpf_map *, void *, u32);\n\ntypedef u64 (*btf_sk_skb_adjust_room)(struct sk_buff *, s32, u32, u64);\n\ntypedef u64 (*btf_sk_skb_change_head)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_sk_skb_change_tail)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_sk_skb_pull_data)(struct sk_buff *, u32);\n\ntypedef void (*btf_trace_add_device_to_group)(void *, int, struct device *);\n\ntypedef void (*btf_trace_aer_event)(void *, const char *, const u32, const u8, const u8, struct pcie_tlp_log *);\n\ntypedef void (*btf_trace_alarmtimer_cancel)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_fired)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_start)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_suspend)(void *, ktime_t, int);\n\ntypedef void (*btf_trace_alloc_vmap_area)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_arm_event)(void *, const struct cper_sec_proc_arm *);\n\ntypedef void (*btf_trace_ata_bmdma_setup)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_start)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_status)(void *, struct ata_port *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_stop)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_about_to_do)(void *, struct ata_link *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_done)(void *, struct ata_link *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_link_autopsy)(void *, struct ata_device *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_link_autopsy_qc)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_exec_command)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_link_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_link_hardreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_link_postreset)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_link_softreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_link_softreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_port_freeze)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_port_thaw)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_qc_complete_done)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_complete_failed)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_complete_internal)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_issue)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_prep)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_sff_flush_pio_task)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_sff_hsm_command_complete)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_sff_hsm_state)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_sff_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_sff_port_intr)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_slave_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_slave_hardreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_slave_postreset)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_std_sched_eh)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_tf_load)(void *, struct ata_port *, const struct ata_taskfile *);\n\ntypedef void (*btf_trace_atapi_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_atapi_send_cdb)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_attach_device_to_domain)(void *, struct device *);\n\ntypedef void (*btf_trace_balance_dirty_pages)(void *, struct bdi_writeback *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long int, long unsigned int);\n\ntypedef void (*btf_trace_bdi_dirty_ratelimit)(void *, struct bdi_writeback *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_block_bio_backmerge)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_bounce)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_complete)(void *, struct request_queue *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_frontmerge)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_queue)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_remap)(void *, struct bio *, dev_t, sector_t);\n\ntypedef void (*btf_trace_block_dirty_buffer)(void *, struct buffer_head *);\n\ntypedef void (*btf_trace_block_getrq)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_io_done)(void *, struct request *);\n\ntypedef void (*btf_trace_block_io_start)(void *, struct request *);\n\ntypedef void (*btf_trace_block_plug)(void *, struct request_queue *);\n\ntypedef void (*btf_trace_block_rq_complete)(void *, struct request *, blk_status_t, unsigned int);\n\ntypedef void (*btf_trace_block_rq_error)(void *, struct request *, blk_status_t, unsigned int);\n\ntypedef void (*btf_trace_block_rq_insert)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_issue)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_merge)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_remap)(void *, struct request *, dev_t, sector_t);\n\ntypedef void (*btf_trace_block_rq_requeue)(void *, struct request *);\n\ntypedef void (*btf_trace_block_split)(void *, struct bio *, unsigned int);\n\ntypedef void (*btf_trace_block_touch_buffer)(void *, struct buffer_head *);\n\ntypedef void (*btf_trace_block_unplug)(void *, struct request_queue *, unsigned int, bool);\n\ntypedef void (*btf_trace_bpf_test_finish)(void *, int *);\n\ntypedef void (*btf_trace_bpf_trace_printk)(void *, const char *);\n\ntypedef void (*btf_trace_bpf_trigger_tp)(void *, int);\n\ntypedef void (*btf_trace_bpf_xdp_link_attach_failed)(void *, const char *);\n\ntypedef void (*btf_trace_br_fdb_add)(void *, struct ndmsg *, struct net_device *, const unsigned char *, u16, u16);\n\ntypedef void (*btf_trace_br_fdb_external_learn_add)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16);\n\ntypedef void (*btf_trace_br_fdb_update)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16, long unsigned int);\n\ntypedef void (*btf_trace_br_mdb_full)(void *, const struct net_device *, const struct br_ip *);\n\ntypedef void (*btf_trace_break_lease_block)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_break_lease_noblock)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_break_lease_unblock)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_cache_entry_expired)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_make_negative)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_no_listener)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_upcall)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_update)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cap_capable)(void *, const struct cred *, struct user_namespace *, const struct user_namespace *, int, int);\n\ntypedef void (*btf_trace_cgroup_attach_task)(void *, struct cgroup *, const char *, struct task_struct *, bool);\n\ntypedef void (*btf_trace_cgroup_destroy_root)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_freeze)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_mkdir)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_notify_frozen)(void *, struct cgroup *, const char *, int);\n\ntypedef void (*btf_trace_cgroup_notify_populated)(void *, struct cgroup *, const char *, int);\n\ntypedef void (*btf_trace_cgroup_release)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_remount)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_rename)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_rmdir)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_lock_contended)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_lock_contended_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_locked)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_locked_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_unlock)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_unlock_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_lock_contended)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_locked)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_unlock)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_setup_root)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_transfer_tasks)(void *, struct cgroup *, const char *, struct task_struct *, bool);\n\ntypedef void (*btf_trace_cgroup_unfreeze)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_clock_disable)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_clock_enable)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_clock_set_rate)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_alloc_busy_retry)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_alloc_finish)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_cma_alloc_start)(void *, const char *, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cma_release)(void *, const char *, long unsigned int, const struct page *, long unsigned int);\n\ntypedef void (*btf_trace_compact_retry)(void *, int, enum compact_priority, enum compact_result, int, int, bool);\n\ntypedef void (*btf_trace_console)(void *, const char *, size_t);\n\ntypedef void (*btf_trace_consume_skb)(void *, struct sk_buff *, void *);\n\ntypedef void (*btf_trace_contention_begin)(void *, void *, unsigned int);\n\ntypedef void (*btf_trace_contention_end)(void *, void *, int);\n\ntypedef void (*btf_trace_count_memcg_events)(void *, struct mem_cgroup *, int, long unsigned int);\n\ntypedef void (*btf_trace_cpu_frequency)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cpu_frequency_limits)(void *, struct cpufreq_policy *);\n\ntypedef void (*btf_trace_cpu_idle)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cpu_idle_miss)(void *, unsigned int, unsigned int, bool);\n\ntypedef void (*btf_trace_cpuhp_enter)(void *, unsigned int, int, int, int (*)(unsigned int));\n\ntypedef void (*btf_trace_cpuhp_exit)(void *, unsigned int, int, int, int);\n\ntypedef void (*btf_trace_cpuhp_multi_enter)(void *, unsigned int, int, int, int (*)(unsigned int, struct hlist_node *), struct hlist_node *);\n\ntypedef void (*btf_trace_csd_function_entry)(void *, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_csd_function_exit)(void *, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_csd_queue_cpu)(void *, const unsigned int, long unsigned int, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_ctime_ns_xchg)(void *, struct inode *, u32, u32, u32);\n\ntypedef void (*btf_trace_ctime_xchg_skip)(void *, struct inode *, struct timespec64 *);\n\ntypedef void (*btf_trace_dax_insert_mapping)(void *, struct inode *, struct vm_fault *, void *);\n\ntypedef void (*btf_trace_dax_insert_pfn_mkwrite)(void *, struct inode *, struct vm_fault *, int);\n\ntypedef void (*btf_trace_dax_insert_pfn_mkwrite_no_entry)(void *, struct inode *, struct vm_fault *, int);\n\ntypedef void (*btf_trace_dax_load_hole)(void *, struct inode *, struct vm_fault *, int);\n\ntypedef void (*btf_trace_dax_pmd_fault)(void *, struct inode *, struct vm_fault *, long unsigned int, int);\n\ntypedef void (*btf_trace_dax_pmd_fault_done)(void *, struct inode *, struct vm_fault *, long unsigned int, int);\n\ntypedef void (*btf_trace_dax_pmd_insert_mapping)(void *, struct inode *, struct vm_fault *, long int, pfn_t, void *);\n\ntypedef void (*btf_trace_dax_pmd_load_hole)(void *, struct inode *, struct vm_fault *, struct folio *, void *);\n\ntypedef void (*btf_trace_dax_pmd_load_hole_fallback)(void *, struct inode *, struct vm_fault *, struct folio *, void *);\n\ntypedef void (*btf_trace_dax_pte_fault)(void *, struct inode *, struct vm_fault *, int);\n\ntypedef void (*btf_trace_dax_pte_fault_done)(void *, struct inode *, struct vm_fault *, int);\n\ntypedef void (*btf_trace_dax_writeback_one)(void *, struct inode *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_dax_writeback_range)(void *, struct inode *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_dax_writeback_range_done)(void *, struct inode *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_dev_pm_qos_add_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_dev_pm_qos_remove_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_dev_pm_qos_update_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_device_pm_callback_end)(void *, struct device *, int);\n\ntypedef void (*btf_trace_device_pm_callback_start)(void *, struct device *, const char *, int);\n\ntypedef void (*btf_trace_devlink_health_recover_aborted)(void *, const struct devlink *, const char *, bool, u64);\n\ntypedef void (*btf_trace_devlink_health_report)(void *, const struct devlink *, const char *, const char *);\n\ntypedef void (*btf_trace_devlink_health_reporter_state_update)(void *, const struct devlink *, const char *, bool);\n\ntypedef void (*btf_trace_devlink_hwerr)(void *, const struct devlink *, int, const char *);\n\ntypedef void (*btf_trace_devlink_hwmsg)(void *, const struct devlink *, bool, long unsigned int, const u8 *, size_t);\n\ntypedef void (*btf_trace_devlink_trap_report)(void *, const struct devlink *, struct sk_buff *, const struct devlink_trap_metadata *);\n\ntypedef void (*btf_trace_devres_log)(void *, struct device *, const char *, void *, const char *, size_t);\n\ntypedef void (*btf_trace_dma_alloc)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_sgt_err)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_fence_destroy)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_emit)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_enable_signal)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_init)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_signaled)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_wait_end)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_wait_start)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_free)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_free_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_free_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_map_page)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_resource)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_sg)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_sg_err)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_sync_sg_for_cpu)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_sg_for_device)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_single_for_cpu)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_single_for_device)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_unmap_page)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_unmap_resource)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_unmap_sg)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_doorbell_entry)(void *, struct pt_regs *);\n\ntypedef void (*btf_trace_doorbell_exit)(void *, struct pt_regs *);\n\ntypedef void (*btf_trace_dql_stall_detected)(void *, short unsigned int, unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int *);\n\ntypedef void (*btf_trace_e1000e_trace_mac_register)(void *, uint32_t);\n\ntypedef void (*btf_trace_error_report_end)(void *, enum error_detector, long unsigned int);\n\ntypedef void (*btf_trace_exit_mmap)(void *, struct mm_struct *);\n\ntypedef void (*btf_trace_ext4_alloc_da_blocks)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_allocate_blocks)(void *, struct ext4_allocation_request *, long long unsigned int);\n\ntypedef void (*btf_trace_ext4_allocate_inode)(void *, struct inode *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_begin_ordered_truncate)(void *, struct inode *, loff_t);\n\ntypedef void (*btf_trace_ext4_collapse_range)(void *, struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_ext4_da_release_space)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_da_reserve_space)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_da_update_reserve_space)(void *, struct inode *, int, int);\n\ntypedef void (*btf_trace_ext4_da_write_begin)(void *, struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_da_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_da_write_pages)(void *, struct inode *, long unsigned int, struct writeback_control *);\n\ntypedef void (*btf_trace_ext4_da_write_pages_extent)(void *, struct inode *, struct ext4_map_blocks *);\n\ntypedef void (*btf_trace_ext4_discard_blocks)(void *, struct super_block *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_ext4_discard_preallocations)(void *, struct inode *, unsigned int);\n\ntypedef void (*btf_trace_ext4_drop_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_error)(void *, struct super_block *, const char *, unsigned int);\n\ntypedef void (*btf_trace_ext4_es_cache_extent)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_find_extent_range_enter)(void *, struct inode *, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_find_extent_range_exit)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_insert_delayed_extent)(void *, struct inode *, struct extent_status *, bool, bool);\n\ntypedef void (*btf_trace_ext4_es_insert_extent)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_lookup_extent_enter)(void *, struct inode *, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_lookup_extent_exit)(void *, struct inode *, struct extent_status *, int);\n\ntypedef void (*btf_trace_ext4_es_remove_extent)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_shrink)(void *, struct super_block *, int, u64, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_count)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_scan_enter)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_scan_exit)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_evict_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_ext_convert_to_initialized_enter)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *);\n\ntypedef void (*btf_trace_ext4_ext_convert_to_initialized_fastpath)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *, struct ext4_extent *);\n\ntypedef void (*btf_trace_ext4_ext_handle_unwritten_extents)(void *, struct inode *, struct ext4_map_blocks *, int, unsigned int, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_load_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_ext_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_ext_remove_space)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int);\n\ntypedef void (*btf_trace_ext4_ext_remove_space_done)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int, struct partial_cluster *, __le16);\n\ntypedef void (*btf_trace_ext4_ext_rm_idx)(void *, struct inode *, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_rm_leaf)(void *, struct inode *, ext4_lblk_t, struct ext4_extent *, struct partial_cluster *);\n\ntypedef void (*btf_trace_ext4_ext_show_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t, short unsigned int);\n\ntypedef void (*btf_trace_ext4_fallocate_enter)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_ext4_fallocate_exit)(void *, struct inode *, loff_t, unsigned int, int);\n\ntypedef void (*btf_trace_ext4_fc_cleanup)(void *, journal_t *, int, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_commit_start)(void *, struct super_block *, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_commit_stop)(void *, struct super_block *, int, int, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_replay)(void *, struct super_block *, int, int, int, int);\n\ntypedef void (*btf_trace_ext4_fc_replay_scan)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_fc_stats)(void *, struct super_block *);\n\ntypedef void (*btf_trace_ext4_fc_track_create)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_inode)(void *, handle_t *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_link)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_range)(void *, handle_t *, struct inode *, long int, long int, int);\n\ntypedef void (*btf_trace_ext4_fc_track_unlink)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_forget)(void *, struct inode *, int, __u64);\n\ntypedef void (*btf_trace_ext4_free_blocks)(void *, struct inode *, __u64, long unsigned int, int);\n\ntypedef void (*btf_trace_ext4_free_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_fsmap_high_key)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_fsmap_low_key)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_fsmap_mapping)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_get_implied_cluster_alloc_exit)(void *, struct super_block *, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_getfsmap_high_key)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_getfsmap_low_key)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_getfsmap_mapping)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_ind_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_ind_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_insert_range)(void *, struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_ext4_invalidate_folio)(void *, struct folio *, size_t, size_t);\n\ntypedef void (*btf_trace_ext4_journal_start_inode)(void *, struct inode *, int, int, int, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journal_start_reserved)(void *, struct super_block *, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journal_start_sb)(void *, struct super_block *, int, int, int, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journalled_invalidate_folio)(void *, struct folio *, size_t, size_t);\n\ntypedef void (*btf_trace_ext4_journalled_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_lazy_itable_init)(void *, struct super_block *, ext4_group_t);\n\ntypedef void (*btf_trace_ext4_load_inode)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_load_inode_bitmap)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mark_inode_dirty)(void *, struct inode *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_bitmap_load)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_buddy_bitmap_load)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_discard_preallocations)(void *, struct super_block *, int);\n\ntypedef void (*btf_trace_ext4_mb_new_group_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_new_inode_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_release_group_pa)(void *, struct super_block *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_release_inode_pa)(void *, struct ext4_prealloc_space *, long long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_mballoc_alloc)(void *, struct ext4_allocation_context *);\n\ntypedef void (*btf_trace_ext4_mballoc_discard)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_mballoc_free)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_mballoc_prealloc)(void *, struct ext4_allocation_context *);\n\ntypedef void (*btf_trace_ext4_nfs_commit_metadata)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_other_inode_update_time)(void *, struct inode *, ino_t);\n\ntypedef void (*btf_trace_ext4_prefetch_bitmaps)(void *, struct super_block *, ext4_group_t, ext4_group_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_punch_hole)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_ext4_read_block_bitmap_load)(void *, struct super_block *, long unsigned int, bool);\n\ntypedef void (*btf_trace_ext4_read_folio)(void *, struct inode *, struct folio *);\n\ntypedef void (*btf_trace_ext4_release_folio)(void *, struct inode *, struct folio *);\n\ntypedef void (*btf_trace_ext4_remove_blocks)(void *, struct inode *, struct ext4_extent *, ext4_lblk_t, ext4_fsblk_t, struct partial_cluster *);\n\ntypedef void (*btf_trace_ext4_request_blocks)(void *, struct ext4_allocation_request *);\n\ntypedef void (*btf_trace_ext4_request_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_shutdown)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_sync_file_enter)(void *, struct file *, int);\n\ntypedef void (*btf_trace_ext4_sync_file_exit)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_sync_fs)(void *, struct super_block *, int);\n\ntypedef void (*btf_trace_ext4_trim_all_free)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_trim_extent)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_truncate_enter)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_truncate_exit)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_unlink_enter)(void *, struct inode *, struct dentry *);\n\ntypedef void (*btf_trace_ext4_unlink_exit)(void *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_update_sb)(void *, struct super_block *, ext4_fsblk_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_write_begin)(void *, struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_writepages)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_ext4_writepages_result)(void *, struct inode *, struct writeback_control *, int, int);\n\ntypedef void (*btf_trace_ext4_zero_range)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_fcntl_setlk)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_fdb_delete)(void *, struct net_bridge *, struct net_bridge_fdb_entry *);\n\ntypedef void (*btf_trace_fib6_table_lookup)(void *, const struct net *, const struct fib6_result *, struct fib6_table *, const struct flowi6 *);\n\ntypedef void (*btf_trace_fib_table_lookup)(void *, u32, const struct flowi4 *, const struct fib_nh_common *, int);\n\ntypedef void (*btf_trace_file_check_and_advance_wb_err)(void *, struct file *, errseq_t);\n\ntypedef void (*btf_trace_filemap_set_wb_err)(void *, struct address_space *, errseq_t);\n\ntypedef void (*btf_trace_fill_mg_cmtime)(void *, struct inode *, struct timespec64 *, struct timespec64 *);\n\ntypedef void (*btf_trace_finish_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_flock_lock_inode)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_flush_foreign)(void *, struct bdi_writeback *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_folio_wait_writeback)(void *, struct folio *, struct address_space *);\n\ntypedef void (*btf_trace_free_vmap_area_noflush)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_generic_add_lease)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_generic_delete_lease)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_global_dirty_state)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_guest_halt_poll_ns)(void *, bool, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_handshake_cancel)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cancel_busy)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cancel_none)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cmd_accept)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_accept_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_done)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_done_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_complete)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_destruct)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_notify_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_submit)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_submit_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_hash_fault)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hcall_entry)(void *, long unsigned int, long unsigned int *);\n\ntypedef void (*btf_trace_hcall_exit)(void *, long unsigned int, long int, long unsigned int *);\n\ntypedef void (*btf_trace_hrtimer_cancel)(void *, struct hrtimer *);\n\ntypedef void (*btf_trace_hrtimer_expire_entry)(void *, struct hrtimer *, ktime_t *);\n\ntypedef void (*btf_trace_hrtimer_expire_exit)(void *, struct hrtimer *);\n\ntypedef void (*btf_trace_hrtimer_init)(void *, struct hrtimer *, clockid_t, enum hrtimer_mode);\n\ntypedef void (*btf_trace_hrtimer_start)(void *, struct hrtimer *, enum hrtimer_mode);\n\ntypedef void (*btf_trace_hugepage_set_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_set_pud)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_update_pmd)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugepage_update_pud)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_hugetlbfs_alloc_inode)(void *, struct inode *, struct inode *, int);\n\ntypedef void (*btf_trace_hugetlbfs_evict_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_hugetlbfs_fallocate)(void *, struct inode *, int, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_hugetlbfs_free_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_hugetlbfs_setattr)(void *, struct inode *, struct dentry *, struct iattr *);\n\ntypedef void (*btf_trace_hwmon_attr_show)(void *, int, const char *, long int);\n\ntypedef void (*btf_trace_hwmon_attr_show_string)(void *, int, const char *, const char *);\n\ntypedef void (*btf_trace_hwmon_attr_store)(void *, int, const char *, long int);\n\ntypedef void (*btf_trace_i2c_read)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_i2c_reply)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_i2c_result)(void *, const struct i2c_adapter *, int, int);\n\ntypedef void (*btf_trace_i2c_write)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_icmp_send)(void *, const struct sk_buff *, int, int);\n\ntypedef void (*btf_trace_inet_sk_error_report)(void *, const struct sock *);\n\ntypedef void (*btf_trace_inet_sock_set_state)(void *, const struct sock *, const int, const int);\n\ntypedef void (*btf_trace_initcall_finish)(void *, initcall_t, int);\n\ntypedef void (*btf_trace_initcall_level)(void *, const char *);\n\ntypedef void (*btf_trace_initcall_start)(void *, initcall_t);\n\ntypedef void (*btf_trace_inode_foreign_history)(void *, struct inode *, struct writeback_control *, unsigned int);\n\ntypedef void (*btf_trace_inode_set_ctime_to_ts)(void *, struct inode *, struct timespec64 *);\n\ntypedef void (*btf_trace_inode_switch_wbs)(void *, struct inode *, struct bdi_writeback *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_io_page_fault)(void *, struct device *, long unsigned int, int);\n\ntypedef void (*btf_trace_io_uring_complete)(void *, struct io_ring_ctx *, void *, struct io_uring_cqe *);\n\ntypedef void (*btf_trace_io_uring_cqe_overflow)(void *, void *, long long unsigned int, s32, u32, void *);\n\ntypedef void (*btf_trace_io_uring_cqring_wait)(void *, void *, int);\n\ntypedef void (*btf_trace_io_uring_create)(void *, int, void *, u32, u32, u32);\n\ntypedef void (*btf_trace_io_uring_defer)(void *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_fail_link)(void *, struct io_kiocb *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_file_get)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_link)(void *, struct io_kiocb *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_local_work_run)(void *, void *, int, unsigned int);\n\ntypedef void (*btf_trace_io_uring_poll_arm)(void *, struct io_kiocb *, int, int);\n\ntypedef void (*btf_trace_io_uring_queue_async_work)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_register)(void *, void *, unsigned int, unsigned int, unsigned int, long int);\n\ntypedef void (*btf_trace_io_uring_req_failed)(void *, const struct io_uring_sqe *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_short_write)(void *, void *, u64, u64, u64);\n\ntypedef void (*btf_trace_io_uring_submit_req)(void *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_task_add)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_task_work_run)(void *, void *, unsigned int);\n\ntypedef void (*btf_trace_iomap_dio_complete)(void *, struct kiocb *, int, ssize_t);\n\ntypedef void (*btf_trace_iomap_dio_invalidate_fail)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_dio_rw_begin)(void *, struct kiocb *, struct iov_iter *, unsigned int, size_t);\n\ntypedef void (*btf_trace_iomap_dio_rw_queued)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_invalidate_folio)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_iter)(void *, struct iomap_iter *, const void *, long unsigned int);\n\ntypedef void (*btf_trace_iomap_iter_dstmap)(void *, struct inode *, struct iomap *);\n\ntypedef void (*btf_trace_iomap_iter_srcmap)(void *, struct inode *, struct iomap *);\n\ntypedef void (*btf_trace_iomap_readahead)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_iomap_readpage)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_iomap_release_folio)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_writepage)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_writepage_map)(void *, struct inode *, u64, unsigned int, struct iomap *);\n\ntypedef void (*btf_trace_ipi_entry)(void *, const char *);\n\ntypedef void (*btf_trace_ipi_exit)(void *, const char *);\n\ntypedef void (*btf_trace_ipi_raise)(void *, const struct cpumask *, const char *);\n\ntypedef void (*btf_trace_ipi_send_cpu)(void *, const unsigned int, long unsigned int, void *);\n\ntypedef void (*btf_trace_ipi_send_cpumask)(void *, const struct cpumask *, long unsigned int, void *);\n\ntypedef void (*btf_trace_irq_entry)(void *, struct pt_regs *);\n\ntypedef void (*btf_trace_irq_exit)(void *, struct pt_regs *);\n\ntypedef void (*btf_trace_irq_handler_entry)(void *, int, struct irqaction *);\n\ntypedef void (*btf_trace_irq_handler_exit)(void *, int, struct irqaction *, int);\n\ntypedef void (*btf_trace_itimer_expire)(void *, int, struct pid *, long long unsigned int);\n\ntypedef void (*btf_trace_itimer_state)(void *, int, const struct itimerspec64 * const, long long unsigned int);\n\ntypedef void (*btf_trace_jbd2_checkpoint)(void *, journal_t *, int);\n\ntypedef void (*btf_trace_jbd2_checkpoint_stats)(void *, dev_t, tid_t, struct transaction_chp_stats_s *);\n\ntypedef void (*btf_trace_jbd2_commit_flushing)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_commit_locking)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_commit_logging)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_drop_transaction)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_end_commit)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_handle_extend)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int);\n\ntypedef void (*btf_trace_jbd2_handle_restart)(void *, dev_t, tid_t, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_jbd2_handle_start)(void *, dev_t, tid_t, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_jbd2_handle_stats)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int, int, int);\n\ntypedef void (*btf_trace_jbd2_lock_buffer_stall)(void *, dev_t, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_run_stats)(void *, dev_t, tid_t, struct transaction_run_stats_s *);\n\ntypedef void (*btf_trace_jbd2_shrink_checkpoint_list)(void *, journal_t *, tid_t, tid_t, tid_t, long unsigned int, tid_t);\n\ntypedef void (*btf_trace_jbd2_shrink_count)(void *, journal_t *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_shrink_scan_enter)(void *, journal_t *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_shrink_scan_exit)(void *, journal_t *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_start_commit)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_submit_inode_data)(void *, struct inode *);\n\ntypedef void (*btf_trace_jbd2_update_log_tail)(void *, journal_t *, tid_t, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_write_superblock)(void *, journal_t *, blk_opf_t);\n\ntypedef void (*btf_trace_kfree)(void *, long unsigned int, const void *);\n\ntypedef void (*btf_trace_kfree_skb)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *);\n\ntypedef void (*btf_trace_kmalloc)(void *, long unsigned int, const void *, size_t, size_t, gfp_t, int);\n\ntypedef void (*btf_trace_kmem_cache_alloc)(void *, long unsigned int, const void *, struct kmem_cache *, gfp_t, int);\n\ntypedef void (*btf_trace_kmem_cache_free)(void *, long unsigned int, const void *, const struct kmem_cache *);\n\ntypedef void (*btf_trace_ksm_advisor)(void *, s64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ksm_enter)(void *, void *);\n\ntypedef void (*btf_trace_ksm_exit)(void *, void *);\n\ntypedef void (*btf_trace_ksm_merge_one_page)(void *, long unsigned int, void *, void *, int);\n\ntypedef void (*btf_trace_ksm_merge_with_ksm_page)(void *, void *, long unsigned int, void *, void *, int);\n\ntypedef void (*btf_trace_ksm_remove_ksm_page)(void *, long unsigned int);\n\ntypedef void (*btf_trace_ksm_remove_rmap_item)(void *, long unsigned int, void *, void *);\n\ntypedef void (*btf_trace_ksm_start_scan)(void *, int, u32);\n\ntypedef void (*btf_trace_ksm_stop_scan)(void *, int, u32);\n\ntypedef void (*btf_trace_kyber_adjust)(void *, dev_t, const char *, unsigned int);\n\ntypedef void (*btf_trace_kyber_latency)(void *, dev_t, const char *, const char *, unsigned int, unsigned int, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_kyber_throttled)(void *, dev_t, const char *);\n\ntypedef void (*btf_trace_leases_conflict)(void *, bool, struct file_lease *, struct file_lease *);\n\ntypedef void (*btf_trace_locks_get_lock_context)(void *, struct inode *, int, struct file_lock_context *);\n\ntypedef void (*btf_trace_locks_remove_posix)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_ma_op)(void *, const char *, struct ma_state *);\n\ntypedef void (*btf_trace_ma_read)(void *, const char *, struct ma_state *);\n\ntypedef void (*btf_trace_ma_write)(void *, const char *, struct ma_state *, long unsigned int, void *);\n\ntypedef void (*btf_trace_map)(void *, long unsigned int, phys_addr_t, size_t);\n\ntypedef void (*btf_trace_mark_victim)(void *, struct task_struct *, uid_t);\n\ntypedef void (*btf_trace_mc_event)(void *, const unsigned int, const char *, const char *, const int, const u8, const s8, const s8, const s8, long unsigned int, const u8, long unsigned int, const char *);\n\ntypedef void (*btf_trace_mdio_access)(void *, struct mii_bus *, char, u8, unsigned int, u16, int);\n\ntypedef void (*btf_trace_mem_connect)(void *, const struct xdp_mem_allocator *, const struct xdp_rxq_info *);\n\ntypedef void (*btf_trace_mem_disconnect)(void *, const struct xdp_mem_allocator *);\n\ntypedef void (*btf_trace_mem_return_failed)(void *, const struct xdp_mem_info *, const struct page *);\n\ntypedef void (*btf_trace_memcg_flush_stats)(void *, struct mem_cgroup *, s64, bool, bool);\n\ntypedef void (*btf_trace_mm_alloc_contig_migrate_range_info)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page)(void *, struct mm_struct *, int, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page_isolate)(void *, struct page *, int, int, bool, int);\n\ntypedef void (*btf_trace_mm_collapse_huge_page_swapin)(void *, struct mm_struct *, int, int, int);\n\ntypedef void (*btf_trace_mm_compaction_begin)(void *, struct compact_control *, long unsigned int, long unsigned int, bool);\n\ntypedef void (*btf_trace_mm_compaction_defer_compaction)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_defer_reset)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_deferred)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_end)(void *, struct compact_control *, long unsigned int, long unsigned int, bool, int);\n\ntypedef void (*btf_trace_mm_compaction_fast_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_finished)(void *, struct zone *, int, int);\n\ntypedef void (*btf_trace_mm_compaction_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_isolate_migratepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_kcompactd_sleep)(void *, int);\n\ntypedef void (*btf_trace_mm_compaction_kcompactd_wake)(void *, int, int, enum zone_type);\n\ntypedef void (*btf_trace_mm_compaction_migratepages)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_suitable)(void *, struct zone *, int, int);\n\ntypedef void (*btf_trace_mm_compaction_try_to_compact_pages)(void *, int, gfp_t, int);\n\ntypedef void (*btf_trace_mm_compaction_wakeup_kcompactd)(void *, int, int, enum zone_type);\n\ntypedef void (*btf_trace_mm_filemap_add_to_page_cache)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_filemap_delete_from_page_cache)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_filemap_fault)(void *, struct address_space *, long unsigned int);\n\ntypedef void (*btf_trace_mm_filemap_get_pages)(void *, struct address_space *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_filemap_map_pages)(void *, struct address_space *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_khugepaged_collapse_file)(void *, struct mm_struct *, struct folio *, long unsigned int, long unsigned int, bool, struct file *, int, int);\n\ntypedef void (*btf_trace_mm_khugepaged_scan_file)(void *, struct mm_struct *, struct folio *, struct file *, int, int, int);\n\ntypedef void (*btf_trace_mm_khugepaged_scan_pmd)(void *, struct mm_struct *, struct page *, bool, int, int, int, int);\n\ntypedef void (*btf_trace_mm_lru_activate)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_lru_insertion)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_migrate_pages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, enum migrate_mode, int);\n\ntypedef void (*btf_trace_mm_migrate_pages_start)(void *, enum migrate_mode, int);\n\ntypedef void (*btf_trace_mm_page_alloc)(void *, struct page *, unsigned int, gfp_t, int);\n\ntypedef void (*btf_trace_mm_page_alloc_extfrag)(void *, struct page *, int, int, int, int);\n\ntypedef void (*btf_trace_mm_page_alloc_zone_locked)(void *, struct page *, unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_page_free)(void *, struct page *, unsigned int);\n\ntypedef void (*btf_trace_mm_page_free_batched)(void *, struct page *);\n\ntypedef void (*btf_trace_mm_page_pcpu_drain)(void *, struct page *, unsigned int, int);\n\ntypedef void (*btf_trace_mm_shrink_slab_end)(void *, struct shrinker *, int, int, long int, long int, long int);\n\ntypedef void (*btf_trace_mm_shrink_slab_start)(void *, struct shrinker *, struct shrink_control *, long int, long unsigned int, long long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_vmscan_direct_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_direct_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_kswapd_sleep)(void *, int);\n\ntypedef void (*btf_trace_mm_vmscan_kswapd_wake)(void *, int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_isolate)(void *, int, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_shrink_active)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_shrink_inactive)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_node_reclaim_begin)(void *, int, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_node_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_reclaim_pages)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *);\n\ntypedef void (*btf_trace_mm_vmscan_throttled)(void *, int, int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_wakeup_kswapd)(void *, int, int, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_write_folio)(void *, struct folio *);\n\ntypedef void (*btf_trace_mmap_lock_acquire_returned)(void *, struct mm_struct *, bool, bool);\n\ntypedef void (*btf_trace_mmap_lock_released)(void *, struct mm_struct *, bool);\n\ntypedef void (*btf_trace_mmap_lock_start_locking)(void *, struct mm_struct *, bool);\n\ntypedef void (*btf_trace_mod_memcg_lruvec_state)(void *, struct mem_cgroup *, int, int);\n\ntypedef void (*btf_trace_mod_memcg_state)(void *, struct mem_cgroup *, int, int);\n\ntypedef void (*btf_trace_module_free)(void *, struct module *);\n\ntypedef void (*btf_trace_module_get)(void *, struct module *, long unsigned int);\n\ntypedef void (*btf_trace_module_load)(void *, struct module *);\n\ntypedef void (*btf_trace_module_put)(void *, struct module *, long unsigned int);\n\ntypedef void (*btf_trace_module_request)(void *, char *, bool, long unsigned int);\n\ntypedef void (*btf_trace_napi_gro_frags_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_napi_gro_frags_exit)(void *, int);\n\ntypedef void (*btf_trace_napi_gro_receive_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_napi_gro_receive_exit)(void *, int);\n\ntypedef void (*btf_trace_napi_poll)(void *, struct napi_struct *, int, int);\n\ntypedef void (*btf_trace_neigh_cleanup_and_release)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_create)(void *, struct neigh_table *, struct net_device *, const void *, const struct neighbour *, bool);\n\ntypedef void (*btf_trace_neigh_event_send_dead)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_event_send_done)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_timer_handler)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_update)(void *, struct neighbour *, const u8 *, u8, u32, u32);\n\ntypedef void (*btf_trace_neigh_update_done)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_net_dev_queue)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_net_dev_start_xmit)(void *, const struct sk_buff *, const struct net_device *);\n\ntypedef void (*btf_trace_net_dev_xmit)(void *, struct sk_buff *, int, struct net_device *, unsigned int);\n\ntypedef void (*btf_trace_net_dev_xmit_timeout)(void *, struct net_device *, int);\n\ntypedef void (*btf_trace_netif_receive_skb)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_exit)(void *, int);\n\ntypedef void (*btf_trace_netif_receive_skb_list_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_list_exit)(void *, int);\n\ntypedef void (*btf_trace_netif_rx)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_netif_rx_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_rx_exit)(void *, int);\n\ntypedef void (*btf_trace_netlink_extack)(void *, const char *);\n\ntypedef void (*btf_trace_nfs4_access)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_cached_open)(void *, const struct nfs4_state *);\n\ntypedef void (*btf_trace_nfs4_cb_getattr)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_cb_layoutrecall_file)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_cb_recall)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_close)(void *, const struct nfs4_state *, const struct nfs_closeargs *, const struct nfs_closeres *, int);\n\ntypedef void (*btf_trace_nfs4_close_stateid_update_wait)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_commit)(void *, const struct nfs_commit_data *, int);\n\ntypedef void (*btf_trace_nfs4_delegreturn)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_delegreturn_exit)(void *, const struct nfs4_delegreturnargs *, const struct nfs4_delegreturnres *, int);\n\ntypedef void (*btf_trace_nfs4_fsinfo)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_get_acl)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_get_fs_locations)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_get_lock)(void *, const struct file_lock *, const struct nfs4_state *, int, int);\n\ntypedef void (*btf_trace_nfs4_getattr)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_lookup)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_lookup_root)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_lookupp)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_map_gid_to_group)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_group_to_gid)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_name_to_uid)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_uid_to_name)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_mkdir)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_mknod)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_open_expired)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_file)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_reclaim)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_stateid_update)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_open_stateid_update_wait)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_read)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_readdir)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_readlink)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_reclaim_delegation)(void *, const struct inode *, fmode_t);\n\ntypedef void (*btf_trace_nfs4_remove)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_rename)(void *, const struct inode *, const struct qstr *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_renew)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_renew_async)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_secinfo)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_set_acl)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_set_delegation)(void *, const struct inode *, fmode_t);\n\ntypedef void (*btf_trace_nfs4_set_lock)(void *, const struct file_lock *, const struct nfs4_state *, const nfs4_stateid *, int, int);\n\ntypedef void (*btf_trace_nfs4_setattr)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_setclientid)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_setclientid_confirm)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_setup_sequence)(void *, const struct nfs4_session *, const struct nfs4_sequence_args *);\n\ntypedef void (*btf_trace_nfs4_state_lock_reclaim)(void *, const struct nfs4_state *, const struct nfs4_lock_state *);\n\ntypedef void (*btf_trace_nfs4_state_mgr)(void *, const struct nfs_client *);\n\ntypedef void (*btf_trace_nfs4_state_mgr_failed)(void *, const struct nfs_client *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_symlink)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_unlock)(void *, const struct file_lock *, const struct nfs4_state *, int, int);\n\ntypedef void (*btf_trace_nfs4_write)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_xdr_bad_filehandle)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs4_xdr_bad_operation)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs4_xdr_status)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs_access_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_access_exit)(void *, const struct inode *, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_aop_readahead)(void *, const struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_nfs_aop_readahead_done)(void *, const struct inode *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_aop_readpage)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_aop_readpage_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_async_rename_done)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_atomic_open_enter)(void *, const struct inode *, const struct nfs_open_context *, unsigned int);\n\ntypedef void (*btf_trace_nfs_atomic_open_exit)(void *, const struct inode *, const struct nfs_open_context *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_cb_badprinc)(void *, __be32, u32);\n\ntypedef void (*btf_trace_nfs_cb_no_clp)(void *, __be32, u32);\n\ntypedef void (*btf_trace_nfs_commit_done)(void *, const struct rpc_task *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_nfs_commit_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_comp_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_create_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_create_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_direct_commit_complete)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_resched_write)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_complete)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_completion)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_reschedule_io)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_schedule_iovec)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_fh_to_dentry)(void *, const struct super_block *, const struct nfs_fh *, u64, int);\n\ntypedef void (*btf_trace_nfs_fsync_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_fsync_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_getattr_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_getattr_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_initiate_commit)(void *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_nfs_initiate_read)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_initiate_write)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_invalidate_folio)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_invalidate_mapping_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_invalidate_mapping_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_launder_folio_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_link_enter)(void *, const struct inode *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_link_exit)(void *, const struct inode *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_local_open_fh)(void *, const struct nfs_fh *, fmode_t, int);\n\ntypedef void (*btf_trace_nfs_lookup_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_lookup_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_lookup_revalidate_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_lookup_revalidate_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_mkdir_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_mkdir_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_mknod_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_mknod_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_mount_assign)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_nfs_mount_option)(void *, const struct fs_parameter *);\n\ntypedef void (*btf_trace_nfs_mount_path)(void *, const char *);\n\ntypedef void (*btf_trace_nfs_pgio_error)(void *, const struct nfs_pgio_header *, int, loff_t);\n\ntypedef void (*btf_trace_nfs_readdir_cache_fill)(void *, const struct file *, const __be32 *, u64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_cache_fill_done)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_readdir_force_readdirplus)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_readdir_invalidate_cache_range)(void *, const struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_nfs_readdir_lookup)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_lookup_revalidate)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_readdir_lookup_revalidate_failed)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_uncached)(void *, const struct file *, const __be32 *, u64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_uncached_done)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_readpage_done)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_readpage_short)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_refresh_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_refresh_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_remove_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_remove_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_rename_enter)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_rename_exit)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_revalidate_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_revalidate_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_rmdir_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_rmdir_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_set_cache_invalid)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_set_inode_stale)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_setattr_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_setattr_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_sillyrename_unlink)(void *, const struct nfs_unlinkdata *, int);\n\ntypedef void (*btf_trace_nfs_size_grow)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_truncate)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_update)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_wcc)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_symlink_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_symlink_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_unlink_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_unlink_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_write_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_writeback_done)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_writeback_folio)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_writeback_folio_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_writeback_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_writeback_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_xdr_bad_filehandle)(void *, const struct xdr_stream *, int);\n\ntypedef void (*btf_trace_nfs_xdr_status)(void *, const struct xdr_stream *, int);\n\ntypedef void (*btf_trace_nlmclnt_grant)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_lock)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_test)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_unlock)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_non_standard_event)(void *, const guid_t *, const guid_t *, const char *, const u8, const u8 *, const u32);\n\ntypedef void (*btf_trace_notifier_register)(void *, void *);\n\ntypedef void (*btf_trace_notifier_run)(void *, void *);\n\ntypedef void (*btf_trace_notifier_unregister)(void *, void *);\n\ntypedef void (*btf_trace_oom_score_adj_update)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_opal_entry)(void *, long unsigned int, long unsigned int *);\n\ntypedef void (*btf_trace_opal_exit)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_page_pool_release)(void *, const struct page_pool *, s32, u32, u32);\n\ntypedef void (*btf_trace_page_pool_state_hold)(void *, const struct page_pool *, netmem_ref, u32);\n\ntypedef void (*btf_trace_page_pool_state_release)(void *, const struct page_pool *, netmem_ref, u32);\n\ntypedef void (*btf_trace_page_pool_update_nid)(void *, const struct page_pool *, int);\n\ntypedef void (*btf_trace_pelt_cfs_tp)(void *, struct cfs_rq *);\n\ntypedef void (*btf_trace_pelt_dl_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_hw_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_irq_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_rt_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_se_tp)(void *, struct sched_entity *);\n\ntypedef void (*btf_trace_percpu_alloc_percpu)(void *, long unsigned int, bool, bool, size_t, size_t, void *, int, void *, size_t, gfp_t);\n\ntypedef void (*btf_trace_percpu_alloc_percpu_fail)(void *, bool, bool, size_t, size_t);\n\ntypedef void (*btf_trace_percpu_create_chunk)(void *, void *);\n\ntypedef void (*btf_trace_percpu_destroy_chunk)(void *, void *);\n\ntypedef void (*btf_trace_percpu_free_percpu)(void *, void *, int, void *);\n\ntypedef void (*btf_trace_pm_qos_add_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_remove_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_update_flags)(void *, enum pm_qos_req_action, int, int);\n\ntypedef void (*btf_trace_pm_qos_update_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_update_target)(void *, enum pm_qos_req_action, int, int);\n\ntypedef void (*btf_trace_pmap_register)(void *, u32, u32, int, short unsigned int);\n\ntypedef void (*btf_trace_posix_lock_inode)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_power_domain_target)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_powernv_throttle)(void *, int, const char *, int);\n\ntypedef void (*btf_trace_pstate_sample)(void *, u32, u32, u32, u32, u64, u64, u64, u32, u32);\n\ntypedef void (*btf_trace_purge_vmap_area_lazy)(void *, long unsigned int, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_qdisc_create)(void *, const struct Qdisc_ops *, struct net_device *, u32);\n\ntypedef void (*btf_trace_qdisc_dequeue)(void *, struct Qdisc *, const struct netdev_queue *, int, struct sk_buff *);\n\ntypedef void (*btf_trace_qdisc_destroy)(void *, struct Qdisc *);\n\ntypedef void (*btf_trace_qdisc_enqueue)(void *, struct Qdisc *, const struct netdev_queue *, struct sk_buff *);\n\ntypedef void (*btf_trace_qdisc_reset)(void *, struct Qdisc *);\n\ntypedef void (*btf_trace_rcu_barrier)(void *, const char *, const char *, int, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_batch_end)(void *, const char *, int, char, char, char, char);\n\ntypedef void (*btf_trace_rcu_batch_start)(void *, const char *, long int, long int);\n\ntypedef void (*btf_trace_rcu_callback)(void *, const char *, struct callback_head *, long int);\n\ntypedef void (*btf_trace_rcu_exp_funnel_lock)(void *, const char *, u8, int, int, const char *);\n\ntypedef void (*btf_trace_rcu_exp_grace_period)(void *, const char *, long unsigned int, const char *);\n\ntypedef void (*btf_trace_rcu_fqs)(void *, const char *, long unsigned int, int, const char *);\n\ntypedef void (*btf_trace_rcu_future_grace_period)(void *, const char *, long unsigned int, long unsigned int, u8, int, int, const char *);\n\ntypedef void (*btf_trace_rcu_grace_period)(void *, const char *, long unsigned int, const char *);\n\ntypedef void (*btf_trace_rcu_grace_period_init)(void *, const char *, long unsigned int, u8, int, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_invoke_callback)(void *, const char *, struct callback_head *);\n\ntypedef void (*btf_trace_rcu_invoke_kfree_bulk_callback)(void *, const char *, long unsigned int, void **);\n\ntypedef void (*btf_trace_rcu_invoke_kvfree_callback)(void *, const char *, struct callback_head *, long unsigned int);\n\ntypedef void (*btf_trace_rcu_kvfree_callback)(void *, const char *, struct callback_head *, long unsigned int, long int);\n\ntypedef void (*btf_trace_rcu_nocb_wake)(void *, const char *, int, const char *);\n\ntypedef void (*btf_trace_rcu_preempt_task)(void *, const char *, int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_quiescent_state_report)(void *, const char *, long unsigned int, long unsigned int, long unsigned int, u8, int, int, int);\n\ntypedef void (*btf_trace_rcu_segcb_stats)(void *, struct rcu_segcblist *, const char *);\n\ntypedef void (*btf_trace_rcu_sr_normal)(void *, const char *, struct callback_head *, const char *);\n\ntypedef void (*btf_trace_rcu_stall_warning)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_rcu_torture_read)(void *, const char *, struct callback_head *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_rcu_unlock_preempted_task)(void *, const char *, long unsigned int, int);\n\ntypedef void (*btf_trace_rcu_utilization)(void *, const char *);\n\ntypedef void (*btf_trace_rcu_watching)(void *, const char *, long int, long int, int);\n\ntypedef void (*btf_trace_reclaim_retry_zone)(void *, struct zoneref *, int, long unsigned int, long unsigned int, long unsigned int, int, bool);\n\ntypedef void (*btf_trace_regcache_drop_region)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regcache_sync)(void *, struct regmap *, const char *, const char *);\n\ntypedef void (*btf_trace_regmap_async_complete_done)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_complete_start)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_io_complete)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_write_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_bulk_read)(void *, struct regmap *, unsigned int, const void *, int);\n\ntypedef void (*btf_trace_regmap_bulk_write)(void *, struct regmap *, unsigned int, const void *, int);\n\ntypedef void (*btf_trace_regmap_cache_bypass)(void *, struct regmap *, bool);\n\ntypedef void (*btf_trace_regmap_cache_only)(void *, struct regmap *, bool);\n\ntypedef void (*btf_trace_regmap_hw_read_done)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_read_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_write_done)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_write_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_reg_read)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regmap_reg_read_cache)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regmap_reg_write)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_remove_device_from_group)(void *, int, struct device *);\n\ntypedef void (*btf_trace_remove_migration_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_remove_migration_pte)(void *, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_rpc__auth_tooweak)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__bad_creds)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__garbage_args)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__mismatch)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__proc_unavail)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__prog_mismatch)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__prog_unavail)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__stale_creds)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__unparsable)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_bad_callhdr)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_bad_verifier)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_buf_alloc)(void *, const struct rpc_task *, int);\n\ntypedef void (*btf_trace_rpc_call_rpcerror)(void *, const struct rpc_task *, int, int);\n\ntypedef void (*btf_trace_rpc_call_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_clnt_clone_err)(void *, const struct rpc_clnt *, int);\n\ntypedef void (*btf_trace_rpc_clnt_free)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_killall)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_new)(void *, const struct rpc_clnt *, const struct rpc_xprt *, const struct rpc_create_args *);\n\ntypedef void (*btf_trace_rpc_clnt_new_err)(void *, const char *, const char *, int);\n\ntypedef void (*btf_trace_rpc_clnt_release)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_replace_xprt)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_replace_xprt_err)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_shutdown)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_connect_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_refresh_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_request)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_retry_refresh_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_socket_close)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_socket_connect)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_error)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_nospace)(void *, const struct rpc_rqst *, const struct sock_xprt *);\n\ntypedef void (*btf_trace_rpc_socket_reset_connection)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_shutdown)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_socket_state_change)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_stats_latency)(void *, const struct rpc_task *, ktime_t, ktime_t, ktime_t);\n\ntypedef void (*btf_trace_rpc_task_begin)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_call_done)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_complete)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_end)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_run_action)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_signalled)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_sleep)(void *, const struct rpc_task *, const struct rpc_wait_queue *);\n\ntypedef void (*btf_trace_rpc_task_sync_sleep)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_sync_wake)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_timeout)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_wakeup)(void *, const struct rpc_task *, const struct rpc_wait_queue *);\n\ntypedef void (*btf_trace_rpc_timeout_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_tls_not_started)(void *, const struct rpc_clnt *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_rpc_tls_unavailable)(void *, const struct rpc_clnt *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_rpc_xdr_alignment)(void *, const struct xdr_stream *, size_t, unsigned int);\n\ntypedef void (*btf_trace_rpc_xdr_overflow)(void *, const struct xdr_stream *, size_t);\n\ntypedef void (*btf_trace_rpc_xdr_recvfrom)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpc_xdr_reply_pages)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpc_xdr_sendto)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpcb_bind_version_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_getport)(void *, const struct rpc_clnt *, const struct rpc_task *, unsigned int);\n\ntypedef void (*btf_trace_rpcb_prog_unavail_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_register)(void *, u32, u32, const char *, const char *);\n\ntypedef void (*btf_trace_rpcb_setport)(void *, const struct rpc_task *, int, short unsigned int);\n\ntypedef void (*btf_trace_rpcb_timeout_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unreachable_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unrecognized_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unregister)(void *, u32, u32, const char *);\n\ntypedef void (*btf_trace_rpcgss_bad_seqno)(void *, const struct rpc_task *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_context)(void *, u32, long unsigned int, long unsigned int, unsigned int, unsigned int, const u8 *);\n\ntypedef void (*btf_trace_rpcgss_createauth)(void *, unsigned int, int);\n\ntypedef void (*btf_trace_rpcgss_ctx_destroy)(void *, const struct gss_cred *);\n\ntypedef void (*btf_trace_rpcgss_ctx_init)(void *, const struct gss_cred *);\n\ntypedef void (*btf_trace_rpcgss_get_mic)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_import_ctx)(void *, int);\n\ntypedef void (*btf_trace_rpcgss_need_reencode)(void *, const struct rpc_task *, u32, bool);\n\ntypedef void (*btf_trace_rpcgss_oid_to_mech)(void *, const char *);\n\ntypedef void (*btf_trace_rpcgss_seqno)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcgss_svc_accept_upcall)(void *, const struct svc_rqst *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_authenticate)(void *, const struct svc_rqst *, const struct rpc_gss_wire_cred *);\n\ntypedef void (*btf_trace_rpcgss_svc_get_mic)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_mic)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_bad)(void *, const struct svc_rqst *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_large)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_low)(void *, const struct svc_rqst *, u32, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_seen)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_unwrap)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_unwrap_failed)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_rpcgss_svc_wrap)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_wrap_failed)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_rpcgss_unwrap)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_unwrap_failed)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcgss_upcall_msg)(void *, const char *);\n\ntypedef void (*btf_trace_rpcgss_upcall_result)(void *, u32, int);\n\ntypedef void (*btf_trace_rpcgss_update_slack)(void *, const struct rpc_task *, const struct rpc_auth *);\n\ntypedef void (*btf_trace_rpcgss_verify_mic)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_wrap)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpm_idle)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_resume)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_return_int)(void *, struct device *, long unsigned int, int);\n\ntypedef void (*btf_trace_rpm_status)(void *, struct device *, enum rpm_status);\n\ntypedef void (*btf_trace_rpm_suspend)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_usage)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rseq_ip_fixup)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_rseq_update)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_rss_stat)(void *, struct mm_struct *, int);\n\ntypedef void (*btf_trace_rtas_input)(void *, struct rtas_args *, const char *);\n\ntypedef void (*btf_trace_rtas_ll_entry)(void *, struct rtas_args *);\n\ntypedef void (*btf_trace_rtas_ll_exit)(void *, struct rtas_args *);\n\ntypedef void (*btf_trace_rtas_output)(void *, struct rtas_args *, const char *);\n\ntypedef void (*btf_trace_rtc_alarm_irq_enable)(void *, unsigned int, int);\n\ntypedef void (*btf_trace_rtc_irq_set_freq)(void *, int, int);\n\ntypedef void (*btf_trace_rtc_irq_set_state)(void *, int, int);\n\ntypedef void (*btf_trace_rtc_read_alarm)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_read_offset)(void *, long int, int);\n\ntypedef void (*btf_trace_rtc_read_time)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_set_alarm)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_set_offset)(void *, long int, int);\n\ntypedef void (*btf_trace_rtc_set_time)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_timer_dequeue)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_rtc_timer_enqueue)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_rtc_timer_fired)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_sb_clear_inode_writeback)(void *, struct inode *);\n\ntypedef void (*btf_trace_sb_mark_inode_writeback)(void *, struct inode *);\n\ntypedef void (*btf_trace_sched_compute_energy_tp)(void *, struct task_struct *, int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_sched_cpu_capacity_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_sched_kthread_stop)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_kthread_stop_ret)(void *, int);\n\ntypedef void (*btf_trace_sched_kthread_work_execute_end)(void *, struct kthread_work *, kthread_work_func_t);\n\ntypedef void (*btf_trace_sched_kthread_work_execute_start)(void *, struct kthread_work *);\n\ntypedef void (*btf_trace_sched_kthread_work_queue_work)(void *, struct kthread_worker *, struct kthread_work *);\n\ntypedef void (*btf_trace_sched_migrate_task)(void *, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_move_numa)(void *, struct task_struct *, int, int);\n\ntypedef void (*btf_trace_sched_overutilized_tp)(void *, struct root_domain *, bool);\n\ntypedef void (*btf_trace_sched_pi_setprio)(void *, struct task_struct *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_prepare_exec)(void *, struct task_struct *, struct linux_binprm *);\n\ntypedef void (*btf_trace_sched_process_exec)(void *, struct task_struct *, pid_t, struct linux_binprm *);\n\ntypedef void (*btf_trace_sched_process_exit)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_fork)(void *, struct task_struct *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_free)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_hang)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_wait)(void *, struct pid *);\n\ntypedef void (*btf_trace_sched_skip_vma_numa)(void *, struct mm_struct *, struct vm_area_struct *, enum numa_vmaskip_reason);\n\ntypedef void (*btf_trace_sched_stat_blocked)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stat_iowait)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stat_runtime)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stat_sleep)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stat_wait)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stick_numa)(void *, struct task_struct *, int, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_swap_numa)(void *, struct task_struct *, int, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_switch)(void *, bool, struct task_struct *, struct task_struct *, unsigned int);\n\ntypedef void (*btf_trace_sched_update_nr_running_tp)(void *, struct rq *, int);\n\ntypedef void (*btf_trace_sched_util_est_cfs_tp)(void *, struct cfs_rq *);\n\ntypedef void (*btf_trace_sched_util_est_se_tp)(void *, struct sched_entity *);\n\ntypedef void (*btf_trace_sched_wait_task)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_wake_idle_without_ipi)(void *, int);\n\ntypedef void (*btf_trace_sched_wakeup)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_wakeup_new)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_waking)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_done)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_error)(void *, struct scsi_cmnd *, int);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_start)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_timeout)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_eh_wakeup)(void *, struct Scsi_Host *);\n\ntypedef void (*btf_trace_selinux_audited)(void *, struct selinux_audit_data *, char *, char *, const char *);\n\ntypedef void (*btf_trace_set_migration_pmd)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_set_migration_pte)(void *, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_signal_deliver)(void *, int, struct kernel_siginfo *, struct k_sigaction *);\n\ntypedef void (*btf_trace_signal_generate)(void *, int, struct kernel_siginfo *, struct task_struct *, int, int);\n\ntypedef void (*btf_trace_sk_data_ready)(void *, const struct sock *);\n\ntypedef void (*btf_trace_skb_copy_datagram_iovec)(void *, const struct sk_buff *, int);\n\ntypedef void (*btf_trace_skip_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_smbus_read)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int);\n\ntypedef void (*btf_trace_smbus_reply)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *, int);\n\ntypedef void (*btf_trace_smbus_result)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, int);\n\ntypedef void (*btf_trace_smbus_write)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *);\n\ntypedef void (*btf_trace_sock_exceed_buf_limit)(void *, struct sock *, struct proto *, long int, int);\n\ntypedef void (*btf_trace_sock_rcvqueue_full)(void *, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_sock_recv_length)(void *, struct sock *, int, int);\n\ntypedef void (*btf_trace_sock_send_length)(void *, struct sock *, int, int);\n\ntypedef void (*btf_trace_softirq_entry)(void *, unsigned int);\n\ntypedef void (*btf_trace_softirq_exit)(void *, unsigned int);\n\ntypedef void (*btf_trace_softirq_raise)(void *, unsigned int);\n\ntypedef void (*btf_trace_start_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_suspend_resume)(void *, const char *, int, bool);\n\ntypedef void (*btf_trace_svc_alloc_arg_err)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_svc_authenticate)(void *, const struct svc_rqst *, enum svc_auth_status);\n\ntypedef void (*btf_trace_svc_defer)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_defer_drop)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_defer_queue)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_defer_recv)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_drop)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_noregister)(void *, const char *, const u32, const int, const short unsigned int, const short unsigned int, int);\n\ntypedef void (*btf_trace_svc_process)(void *, const struct svc_rqst *, const char *);\n\ntypedef void (*btf_trace_svc_register)(void *, const char *, const u32, const int, const short unsigned int, const short unsigned int, int);\n\ntypedef void (*btf_trace_svc_replace_page_err)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_send)(void *, const struct svc_rqst *, int);\n\ntypedef void (*btf_trace_svc_stats_latency)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_tls_not_started)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_start)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_timed_out)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_unavailable)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_upcall)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_unregister)(void *, const char *, const u32, int);\n\ntypedef void (*btf_trace_svc_wake_up)(void *, int);\n\ntypedef void (*btf_trace_svc_xdr_recvfrom)(void *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_svc_xdr_sendto)(void *, __be32, const struct xdr_buf *);\n\ntypedef void (*btf_trace_svc_xprt_accept)(void *, const struct svc_xprt *, const char *);\n\ntypedef void (*btf_trace_svc_xprt_close)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_create_err)(void *, const char *, const char *, struct sockaddr *, size_t, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_dequeue)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_xprt_detach)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_enqueue)(void *, const struct svc_xprt *, long unsigned int);\n\ntypedef void (*btf_trace_svc_xprt_free)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_no_write_space)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svcsock_accept_err)(void *, const struct svc_xprt *, const char *, long int);\n\ntypedef void (*btf_trace_svcsock_data_ready)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_free)(void *, const void *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_getpeername_err)(void *, const struct svc_xprt *, const char *, long int);\n\ntypedef void (*btf_trace_svcsock_marker)(void *, const struct svc_xprt *, __be32);\n\ntypedef void (*btf_trace_svcsock_new)(void *, const void *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_tcp_recv)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_eagain)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_err)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_short)(void *, const struct svc_xprt *, u32, u32);\n\ntypedef void (*btf_trace_svcsock_tcp_send)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_state)(void *, const struct svc_xprt *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_udp_recv)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_udp_recv_err)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_udp_send)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_write_space)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_swiotlb_bounced)(void *, struct device *, dma_addr_t, size_t);\n\ntypedef void (*btf_trace_sys_enter)(void *, struct pt_regs *, long int);\n\ntypedef void (*btf_trace_sys_exit)(void *, struct pt_regs *, long int);\n\ntypedef void (*btf_trace_task_newtask)(void *, struct task_struct *, long unsigned int);\n\ntypedef void (*btf_trace_task_prctl_unknown)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_task_rename)(void *, struct task_struct *, const char *);\n\ntypedef void (*btf_trace_tasklet_entry)(void *, struct tasklet_struct *, void *);\n\ntypedef void (*btf_trace_tasklet_exit)(void *, struct tasklet_struct *, void *);\n\ntypedef void (*btf_trace_tcp_ao_handshake_failure)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_key_not_found)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_mismatch)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_rcv_sne_update)(void *, const struct sock *, __u32);\n\ntypedef void (*btf_trace_tcp_ao_rnext_request)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_snd_sne_update)(void *, const struct sock *, __u32);\n\ntypedef void (*btf_trace_tcp_ao_synack_no_key)(void *, const struct sock *, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_wrong_maclen)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_bad_csum)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_cong_state_set)(void *, struct sock *, const u8);\n\ntypedef void (*btf_trace_tcp_destroy_sock)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_hash_ao_required)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_bad_header)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_mismatch)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_required)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_unexpected)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_probe)(void *, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_rcv_space_adjust)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_receive_reset)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_retransmit_skb)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_retransmit_synack)(void *, const struct sock *, const struct request_sock *);\n\ntypedef void (*btf_trace_tcp_send_reset)(void *, const struct sock *, const struct sk_buff *, const enum sk_rst_reason);\n\ntypedef void (*btf_trace_test_pages_isolated)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_tick_stop)(void *, int, int);\n\ntypedef void (*btf_trace_time_out_leases)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_timer_base_idle)(void *, bool, unsigned int);\n\ntypedef void (*btf_trace_timer_cancel)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_expire_entry)(void *, struct timer_list *, long unsigned int);\n\ntypedef void (*btf_trace_timer_expire_exit)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_init)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_interrupt_entry)(void *, struct pt_regs *);\n\ntypedef void (*btf_trace_timer_interrupt_exit)(void *, struct pt_regs *);\n\ntypedef void (*btf_trace_timer_start)(void *, struct timer_list *, long unsigned int);\n\ntypedef void (*btf_trace_tlb_flush)(void *, int, long unsigned int);\n\ntypedef void (*btf_trace_tlbia)(void *, long unsigned int);\n\ntypedef void (*btf_trace_tlbie)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_tls_alert_recv)(void *, const struct sock *, unsigned char, unsigned char);\n\ntypedef void (*btf_trace_tls_alert_send)(void *, const struct sock *, unsigned char, unsigned char);\n\ntypedef void (*btf_trace_tls_contenttype)(void *, const struct sock *, unsigned char);\n\ntypedef void (*btf_trace_tmigr_connect_child_parent)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_connect_cpu_parent)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_active)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_idle)(void *, struct tmigr_cpu *, u64);\n\ntypedef void (*btf_trace_tmigr_cpu_new_timer)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_new_timer_idle)(void *, struct tmigr_cpu *, u64);\n\ntypedef void (*btf_trace_tmigr_cpu_offline)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_online)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_group_set)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_group_set_cpu_active)(void *, struct tmigr_group *, union tmigr_state, u32);\n\ntypedef void (*btf_trace_tmigr_group_set_cpu_inactive)(void *, struct tmigr_group *, union tmigr_state, u32);\n\ntypedef void (*btf_trace_tmigr_handle_remote)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_handle_remote_cpu)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_update_events)(void *, struct tmigr_group *, struct tmigr_group *, union tmigr_state, union tmigr_state, u64);\n\ntypedef void (*btf_trace_track_foreign_dirty)(void *, struct folio *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_udp_fail_queue_rcv_skb)(void *, int, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_unmap)(void *, long unsigned int, size_t, size_t);\n\ntypedef void (*btf_trace_user_enter)(void *, int);\n\ntypedef void (*btf_trace_user_exit)(void *, int);\n\ntypedef void (*btf_trace_vas_paste_crb)(void *, struct task_struct *, struct pnv_vas_window *);\n\ntypedef void (*btf_trace_vas_rx_win_open)(void *, struct task_struct *, int, int, struct vas_rx_win_attr *);\n\ntypedef void (*btf_trace_vas_tx_win_open)(void *, struct task_struct *, int, int, struct vas_tx_win_attr *);\n\ntypedef void (*btf_trace_vm_unmapped_area)(void *, long unsigned int, struct vm_unmapped_area_info *);\n\ntypedef void (*btf_trace_vma_mas_szero)(void *, struct maple_tree *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_vma_store)(void *, struct maple_tree *, struct vm_area_struct *);\n\ntypedef void (*btf_trace_wake_reaper)(void *, int);\n\ntypedef void (*btf_trace_wakeup_source_activate)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_wakeup_source_deactivate)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_wbc_writepage)(void *, struct writeback_control *, struct backing_dev_info *);\n\ntypedef void (*btf_trace_workqueue_activate_work)(void *, struct work_struct *);\n\ntypedef void (*btf_trace_workqueue_execute_end)(void *, struct work_struct *, work_func_t);\n\ntypedef void (*btf_trace_workqueue_execute_start)(void *, struct work_struct *);\n\ntypedef void (*btf_trace_workqueue_queue_work)(void *, int, struct pool_workqueue *, struct work_struct *);\n\ntypedef void (*btf_trace_writeback_bdi_register)(void *, struct backing_dev_info *);\n\ntypedef void (*btf_trace_writeback_dirty_folio)(void *, struct folio *, struct address_space *);\n\ntypedef void (*btf_trace_writeback_dirty_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_dirty_inode_enqueue)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_dirty_inode_start)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_exec)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_lazytime)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_lazytime_iput)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_mark_inode_dirty)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_pages_written)(void *, long int);\n\ntypedef void (*btf_trace_writeback_queue)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_queue_io)(void *, struct bdi_writeback *, struct wb_writeback_work *, long unsigned int, int);\n\ntypedef void (*btf_trace_writeback_sb_inodes_requeue)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_single_inode)(void *, struct inode *, struct writeback_control *, long unsigned int);\n\ntypedef void (*btf_trace_writeback_single_inode_start)(void *, struct inode *, struct writeback_control *, long unsigned int);\n\ntypedef void (*btf_trace_writeback_start)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_wait)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_wake_background)(void *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_writeback_write_inode)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_writeback_write_inode_start)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_writeback_written)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_xdp_bulk_tx)(void *, const struct net_device *, int, int, int);\n\ntypedef void (*btf_trace_xdp_cpumap_enqueue)(void *, int, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_xdp_cpumap_kthread)(void *, int, unsigned int, unsigned int, int, struct xdp_cpumap_stats *);\n\ntypedef void (*btf_trace_xdp_devmap_xmit)(void *, const struct net_device *, const struct net_device *, int, int, int);\n\ntypedef void (*btf_trace_xdp_exception)(void *, const struct net_device *, const struct bpf_prog *, u32);\n\ntypedef void (*btf_trace_xdp_redirect)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_map)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_map_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xfs_ag_resv_alloc_extent)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_critical)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_free)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_free_extent)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_init)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_ag_resv_init_error)(void *, const struct xfs_perag *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ag_resv_needed)(void *, struct xfs_perag *, enum xfs_ag_resv_type, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_agf)(void *, struct xfs_mount *, struct xfs_agf *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_agfl_free_deferred)(void *, struct xfs_mount *, struct xfs_extent_free_item *);\n\ntypedef void (*btf_trace_xfs_agfl_reset)(void *, struct xfs_mount *, struct xfs_agf *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ail_delete)(void *, struct xfs_log_item *, xfs_lsn_t, xfs_lsn_t);\n\ntypedef void (*btf_trace_xfs_ail_flushing)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_ail_insert)(void *, struct xfs_log_item *, xfs_lsn_t, xfs_lsn_t);\n\ntypedef void (*btf_trace_xfs_ail_locked)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_ail_move)(void *, struct xfs_log_item *, xfs_lsn_t, xfs_lsn_t);\n\ntypedef void (*btf_trace_xfs_ail_pinned)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_ail_push)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_alloc_cur)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_cur_check)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, xfs_extlen_t, bool);\n\ntypedef void (*btf_trace_xfs_alloc_cur_left)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_cur_lookup)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_cur_lookup_done)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_cur_right)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_exact_done)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_exact_error)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_exact_notfound)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_alloc_near_busy)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_near_error)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_near_first)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_near_noentry)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_near_nominleft)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_read_agf)(void *, const struct xfs_perag *);\n\ntypedef void (*btf_trace_xfs_alloc_size_busy)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_done)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_error)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_neither)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_noentry)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_size_nominleft)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_small_done)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_small_error)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_small_freelist)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_small_notenough)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_allfailed)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_badargs)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_exact_bno)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_finish)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_first_ag)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_loopfailed)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_near_bno)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_noagbp)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_nofix)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_skip_deadlock)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_start_ag)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_alloc_vextent_this_ag)(void *, struct xfs_alloc_arg *);\n\ntypedef void (*btf_trace_xfs_attr_defer_add)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_fillstate)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_add)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_add_new)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_add_old)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_add_work)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_addname_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_clearflag)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_compact)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_create)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_flipflags)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_get)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_list)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_rebalance)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_remove)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_setflag)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_split)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_split_after)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_split_before)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_to_node)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_to_sf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_toosmall)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_leaf_unbalance)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_list_add)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_full)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_leaf)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_leaf_end)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_node_descend)(void *, struct xfs_attr_list_context *, struct xfs_da_node_entry *);\n\ntypedef void (*btf_trace_xfs_attr_list_notfound)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_sf)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_sf_all)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_list_wrong_blk)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_node_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_node_addname_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_node_get)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_node_list)(void *, struct xfs_attr_list_context *);\n\ntypedef void (*btf_trace_xfs_attr_node_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_node_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_refillstate)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_remove_iter_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_rmtval_alloc)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_rmtval_get)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_rmtval_remove_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_rmtval_set)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_set_iter_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_sf_add)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_addname_return)(void *, int, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_attr_sf_create)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_remove)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_attr_sf_to_leaf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_blockgc_flush_all)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_blockgc_free_space)(void *, struct xfs_mount *, struct xfs_icwalk *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_blockgc_start)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_blockgc_stop)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_blockgc_worker)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_bmap_defer)(void *, struct xfs_bmap_intent *);\n\ntypedef void (*btf_trace_xfs_bmap_deferred)(void *, struct xfs_bmap_intent *);\n\ntypedef void (*btf_trace_xfs_bmap_post_update)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_bmap_pre_update)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_btree_alloc_block)(void *, struct xfs_btree_cur *, union xfs_btree_ptr *, int, int);\n\ntypedef void (*btf_trace_xfs_btree_bload_block)(void *, struct xfs_btree_cur *, unsigned int, uint64_t, uint64_t, union xfs_btree_ptr *, unsigned int);\n\ntypedef void (*btf_trace_xfs_btree_bload_level_geometry)(void *, struct xfs_btree_cur *, unsigned int, uint64_t, unsigned int, unsigned int, uint64_t, uint64_t);\n\ntypedef void (*btf_trace_xfs_btree_commit_afakeroot)(void *, struct xfs_btree_cur *);\n\ntypedef void (*btf_trace_xfs_btree_commit_ifakeroot)(void *, struct xfs_btree_cur *);\n\ntypedef void (*btf_trace_xfs_btree_corrupt)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_btree_free_block)(void *, struct xfs_btree_cur *, struct xfs_buf *);\n\ntypedef void (*btf_trace_xfs_btree_overlapped_query_range)(void *, struct xfs_btree_cur *, int, struct xfs_buf *);\n\ntypedef void (*btf_trace_xfs_btree_updkeys)(void *, struct xfs_btree_cur *, int, struct xfs_buf *);\n\ntypedef void (*btf_trace_xfs_buf_delwri_pushbuf)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_delwri_queue)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_delwri_queued)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_delwri_split)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_drain_buftarg)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_error_relse)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_find)(void *, struct xfs_buf *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_free)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_get)(void *, struct xfs_buf *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_get_uncached)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_hold)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_init)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_iodone)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_iodone_async)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_ioerror)(void *, struct xfs_buf *, int, xfs_failaddr_t);\n\ntypedef void (*btf_trace_xfs_buf_iowait)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_iowait_done)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_item_committed)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_format)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_format_stale)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_ordered)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_pin)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_push)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_release)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_relse)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_item_size)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_size_ordered)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_size_stale)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_unpin)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_item_unpin_stale)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_buf_lock)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_lock_done)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_read)(void *, struct xfs_buf *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_readahead)(void *, struct xfs_buf *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_rele)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_submit)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_trylock)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_trylock_fail)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_buf_unlock)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_bunmap)(void *, struct xfs_inode *, xfs_fileoff_t, xfs_filblks_t, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_check_new_dalign)(void *, struct xfs_mount *, int, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_cil_whiteout_mark)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_cil_whiteout_skip)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_cil_whiteout_unpin)(void *, struct xfs_log_item *);\n\ntypedef void (*btf_trace_xfs_collapse_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_create)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_da_fixhashpath)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_grow_inode)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_join)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_link_after)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_link_before)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_add)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_create)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_rebalance)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_remove)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_split)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_toosmall)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_node_unbalance)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_path_shift)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_root_join)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_root_split)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_shrink_inode)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_split)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_swap_lastblock)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_unlink_back)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_da_unlink_forward)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_defer_add_item)(void *, struct xfs_mount *, struct xfs_defer_pending *, void *);\n\ntypedef void (*btf_trace_xfs_defer_cancel)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_cancel_item)(void *, struct xfs_mount *, struct xfs_defer_pending *, void *);\n\ntypedef void (*btf_trace_xfs_defer_cancel_list)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_create_intent)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_finish)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_finish_done)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_finish_error)(void *, struct xfs_trans *, int);\n\ntypedef void (*btf_trace_xfs_defer_finish_item)(void *, struct xfs_mount *, struct xfs_defer_pending *, void *);\n\ntypedef void (*btf_trace_xfs_defer_isolate_paused)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_item_pause)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_item_unpause)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_pending_abort)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_pending_finish)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_relog_intent)(void *, struct xfs_mount *, struct xfs_defer_pending *);\n\ntypedef void (*btf_trace_xfs_defer_trans_abort)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_trans_roll)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_defer_trans_roll_error)(void *, struct xfs_trans *, int);\n\ntypedef void (*btf_trace_xfs_delalloc_enospc)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_destroy_inode)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_dir2_block_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_to_leaf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_block_to_sf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_grow_inode)(void *, struct xfs_da_args *, int);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_to_block)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leaf_to_node)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_leafn_add)(void *, struct xfs_da_args *, int);\n\ntypedef void (*btf_trace_xfs_dir2_leafn_moveents)(void *, struct xfs_da_args *, int, int, int);\n\ntypedef void (*btf_trace_xfs_dir2_leafn_remove)(void *, struct xfs_da_args *, int);\n\ntypedef void (*btf_trace_xfs_dir2_node_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_node_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_node_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_node_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_node_to_leaf)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_addname)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_create)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_lookup)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_removename)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_replace)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_to_block)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_toino4)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_sf_toino8)(void *, struct xfs_da_args *);\n\ntypedef void (*btf_trace_xfs_dir2_shrink_inode)(void *, struct xfs_da_args *, int);\n\ntypedef void (*btf_trace_xfs_dir_fsync)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_discard_busy)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_discard_exclude)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_discard_extent)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_discard_rtextent)(void *, struct xfs_mount *, xfs_rtblock_t, xfs_rtblock_t);\n\ntypedef void (*btf_trace_xfs_discard_rtrelax)(void *, struct xfs_mount *, xfs_rtblock_t, xfs_rtblock_t);\n\ntypedef void (*btf_trace_xfs_discard_rttoosmall)(void *, struct xfs_mount *, xfs_rtblock_t, xfs_rtblock_t);\n\ntypedef void (*btf_trace_xfs_discard_toosmall)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_dqadjust)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqalloc)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqattach_found)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqattach_get)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqflush)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqflush_done)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqflush_force)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqget_dup)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqget_freeing)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqget_hit)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqget_miss)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqput)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqput_free)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqread)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqread_fail)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqreclaim_busy)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqreclaim_dirty)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqreclaim_done)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqreclaim_want)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqrele)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dqtobp_read)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_dquot_dqalloc)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_dquot_dqdetach)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_end_io_direct_write)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_end_io_direct_write_append)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_end_io_direct_write_unwritten)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_exchmaps_defer)(void *, struct xfs_mount *, const struct xfs_exchmaps_intent *);\n\ntypedef void (*btf_trace_xfs_exchmaps_delta_nextents)(void *, const struct xfs_exchmaps_req *, int64_t, int64_t);\n\ntypedef void (*btf_trace_xfs_exchmaps_delta_nextents_step)(void *, struct xfs_mount *, const struct xfs_bmbt_irec *, const struct xfs_bmbt_irec *, const struct xfs_bmbt_irec *, const struct xfs_bmbt_irec *, int, unsigned int);\n\ntypedef void (*btf_trace_xfs_exchmaps_final_estimate)(void *, const struct xfs_exchmaps_req *);\n\ntypedef void (*btf_trace_xfs_exchmaps_initial_estimate)(void *, const struct xfs_exchmaps_req *);\n\ntypedef void (*btf_trace_xfs_exchmaps_mapping1)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_exchmaps_mapping1_skip)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_exchmaps_mapping2)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_exchmaps_overhead)(void *, struct xfs_mount *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_xfs_exchmaps_recover)(void *, struct xfs_mount *, const struct xfs_exchmaps_intent *);\n\ntypedef void (*btf_trace_xfs_exchmaps_update_inode_size)(void *, struct xfs_inode *, xfs_fsize_t);\n\ntypedef void (*btf_trace_xfs_exchrange_after)(void *, struct xfs_inode *, int);\n\ntypedef void (*btf_trace_xfs_exchrange_before)(void *, struct xfs_inode *, int);\n\ntypedef void (*btf_trace_xfs_exchrange_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_exchrange_flush)(void *, const struct xfs_exchrange *, struct xfs_inode *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_exchrange_freshness)(void *, const struct xfs_exchrange *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_exchrange_mappings)(void *, const struct xfs_exchrange *, struct xfs_inode *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_exchrange_prep)(void *, const struct xfs_exchrange *, struct xfs_inode *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_extent_busy)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_busy_clear)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_busy_force)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_busy_reuse)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_busy_trim)(void *, const struct xfs_group *, xfs_agblock_t, xfs_extlen_t, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_extent_free_defer)(void *, struct xfs_mount *, struct xfs_extent_free_item *);\n\ntypedef void (*btf_trace_xfs_extent_free_deferred)(void *, struct xfs_mount *, struct xfs_extent_free_item *);\n\ntypedef void (*btf_trace_xfs_file_buffered_read)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_buffered_write)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_compat_ioctl)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_file_dax_read)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_dax_write)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_direct_read)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_direct_write)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_file_fsync)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_file_ioctl)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_file_splice_read)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_filestream_free)(void *, const struct xfs_perag *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_filestream_lookup)(void *, const struct xfs_perag *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_filestream_pick)(void *, const struct xfs_perag *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_filestream_scan)(void *, const struct xfs_perag *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_force_shutdown)(void *, struct xfs_mount *, int, int, const char *, int);\n\ntypedef void (*btf_trace_xfs_free_extent)(void *, const struct xfs_perag *, xfs_agblock_t, xfs_extlen_t, enum xfs_ag_resv_type, int, int);\n\ntypedef void (*btf_trace_xfs_free_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_fs_mark_corrupt)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_fs_mark_healthy)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_fs_mark_sick)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_fs_sync_fs)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_fs_unfixed_corruption)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_fsmap_high_group_key)(void *, struct xfs_mount *, u32, xfs_agnumber_t, const struct xfs_rmap_irec *);\n\ntypedef void (*btf_trace_xfs_fsmap_high_linear_key)(void *, struct xfs_mount *, u32, uint64_t);\n\ntypedef void (*btf_trace_xfs_fsmap_low_group_key)(void *, struct xfs_mount *, u32, xfs_agnumber_t, const struct xfs_rmap_irec *);\n\ntypedef void (*btf_trace_xfs_fsmap_low_linear_key)(void *, struct xfs_mount *, u32, uint64_t);\n\ntypedef void (*btf_trace_xfs_fsmap_mapping)(void *, struct xfs_mount *, u32, xfs_agnumber_t, const struct xfs_fsmap_irec *);\n\ntypedef void (*btf_trace_xfs_get_acl)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_getattr)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_getfsmap_high_key)(void *, struct xfs_mount *, struct xfs_fsmap *);\n\ntypedef void (*btf_trace_xfs_getfsmap_low_key)(void *, struct xfs_mount *, struct xfs_fsmap *);\n\ntypedef void (*btf_trace_xfs_getfsmap_mapping)(void *, struct xfs_mount *, struct xfs_fsmap *);\n\ntypedef void (*btf_trace_xfs_getparents_begin)(void *, struct xfs_inode *, const struct xfs_getparents *, const struct xfs_attrlist_cursor_kern *);\n\ntypedef void (*btf_trace_xfs_getparents_end)(void *, struct xfs_inode *, const struct xfs_getparents *, const struct xfs_attrlist_cursor_kern *);\n\ntypedef void (*btf_trace_xfs_getparents_expand_lastrec)(void *, struct xfs_inode *, const struct xfs_getparents *, const struct xfs_attr_list_context *, const struct xfs_getparents_rec *);\n\ntypedef void (*btf_trace_xfs_getparents_put_listent)(void *, struct xfs_inode *, const struct xfs_getparents *, const struct xfs_attr_list_context *, const struct xfs_getparents_rec *);\n\ntypedef void (*btf_trace_xfs_group_get)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_grab)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_grab_next_tag)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_hold)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_mark_corrupt)(void *, const struct xfs_group *, unsigned int);\n\ntypedef void (*btf_trace_xfs_group_mark_healthy)(void *, const struct xfs_group *, unsigned int);\n\ntypedef void (*btf_trace_xfs_group_mark_sick)(void *, const struct xfs_group *, unsigned int);\n\ntypedef void (*btf_trace_xfs_group_put)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_rele)(void *, struct xfs_group *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_group_unfixed_corruption)(void *, const struct xfs_group *, unsigned int);\n\ntypedef void (*btf_trace_xfs_ialloc_read_agi)(void *, const struct xfs_perag *);\n\ntypedef void (*btf_trace_xfs_iext_insert)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_iext_remove)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_iget_hit)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iget_miss)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iget_recycle)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iget_recycle_fail)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iget_skip)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_ilock)(void *, struct xfs_inode *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ilock_demote)(void *, struct xfs_inode *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ilock_nowait)(void *, struct xfs_inode *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_inactive_symlink)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_clear_cowblocks_tag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_clear_eofblocks_tag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_free_cowblocks_invalid)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_free_eofblocks_invalid)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_inactivating)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_mark_corrupt)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_mark_healthy)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_mark_sick)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_pin)(void *, struct xfs_inode *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_reclaiming)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_reload_unlinked_bucket)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_set_cowblocks_tag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_set_eofblocks_tag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_set_need_inactive)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_set_reclaimable)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_inode_timestamp_range)(void *, struct xfs_mount *, long long int, long long int);\n\ntypedef void (*btf_trace_xfs_inode_unfixed_corruption)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_unpin)(void *, struct xfs_inode *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_inode_unpin_nowait)(void *, struct xfs_inode *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_inodegc_flush)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_push)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_queue)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_shrinker_scan)(void *, struct xfs_mount *, struct shrink_control *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_start)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_stop)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_throttle)(void *, struct xfs_mount *, void *);\n\ntypedef void (*btf_trace_xfs_inodegc_worker)(void *, struct xfs_mount *, unsigned int);\n\ntypedef void (*btf_trace_xfs_insert_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_ioc_free_eofblocks)(void *, struct xfs_mount *, struct xfs_icwalk *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_ioctl_clone)(void *, struct inode *, struct inode *);\n\ntypedef void (*btf_trace_xfs_ioctl_setattr)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iomap_alloc)(void *, struct xfs_inode *, xfs_off_t, ssize_t, int, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_iomap_found)(void *, struct xfs_inode *, xfs_off_t, ssize_t, int, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_iomap_invalid)(void *, struct xfs_inode *, const struct iomap *);\n\ntypedef void (*btf_trace_xfs_iomap_prealloc_size)(void *, struct xfs_inode *, xfs_fsblock_t, int, unsigned int);\n\ntypedef void (*btf_trace_xfs_irec_merge_post)(void *, const struct xfs_perag *, const struct xfs_inobt_rec_incore *);\n\ntypedef void (*btf_trace_xfs_irec_merge_pre)(void *, const struct xfs_perag *, const struct xfs_inobt_rec_incore *, const struct xfs_inobt_rec_incore *);\n\ntypedef void (*btf_trace_xfs_irele)(void *, struct xfs_inode *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_itruncate_extents_end)(void *, struct xfs_inode *, xfs_fsize_t);\n\ntypedef void (*btf_trace_xfs_itruncate_extents_start)(void *, struct xfs_inode *, xfs_fsize_t);\n\ntypedef void (*btf_trace_xfs_iunlink)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iunlink_reload_next)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iunlink_remove)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_iunlink_update_bucket)(void *, const struct xfs_perag *, unsigned int, xfs_agino_t, xfs_agino_t);\n\ntypedef void (*btf_trace_xfs_iunlink_update_dinode)(void *, const struct xfs_iunlink_item *, xfs_agino_t);\n\ntypedef void (*btf_trace_xfs_iunlock)(void *, struct xfs_inode *, unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_iwalk_ag_rec)(void *, const struct xfs_perag *, struct xfs_inobt_rec_incore *);\n\ntypedef void (*btf_trace_xfs_link)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_log_assign_tail_lsn)(void *, struct xlog *, xfs_lsn_t);\n\ntypedef void (*btf_trace_xfs_log_cil_return)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_cil_wait)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_force)(void *, struct xfs_mount *, xfs_lsn_t, long unsigned int);\n\ntypedef void (*btf_trace_xfs_log_get_max_trans_res)(void *, struct xfs_mount *, const struct xfs_trans_res *);\n\ntypedef void (*btf_trace_xfs_log_grant_sleep)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_grant_wake)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_grant_wake_up)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_recover)(void *, struct xlog *, xfs_daddr_t, xfs_daddr_t);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_cancel)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_cancel_add)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_cancel_ref_inc)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_dquot_buf)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_inode_buf)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_not_cancel)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_recover)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_reg_buf)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_buf_skip)(void *, struct xlog *, struct xfs_buf_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_icreate_cancel)(void *, struct xlog *, struct xfs_icreate_log *);\n\ntypedef void (*btf_trace_xfs_log_recover_icreate_recover)(void *, struct xlog *, struct xfs_icreate_log *);\n\ntypedef void (*btf_trace_xfs_log_recover_inode_cancel)(void *, struct xlog *, struct xfs_inode_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_inode_recover)(void *, struct xlog *, struct xfs_inode_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_inode_skip)(void *, struct xlog *, struct xfs_inode_log_format *);\n\ntypedef void (*btf_trace_xfs_log_recover_item_add)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_item_add_cont)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_item_recover)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_item_reorder_head)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_item_reorder_tail)(void *, struct xlog *, struct xlog_recover *, struct xlog_recover_item *, int);\n\ntypedef void (*btf_trace_xfs_log_recover_record)(void *, struct xlog *, struct xlog_rec_header *, int);\n\ntypedef void (*btf_trace_xfs_log_regrant)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_regrant_exit)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_reserve)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_reserve_exit)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_regrant)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_regrant_exit)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_regrant_sub)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_ungrant)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_ungrant_exit)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_ticket_ungrant_sub)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_log_umount_write)(void *, struct xlog *, struct xlog_ticket *);\n\ntypedef void (*btf_trace_xfs_lookup)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_map_blocks_alloc)(void *, struct xfs_inode *, xfs_off_t, ssize_t, int, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_map_blocks_found)(void *, struct xfs_inode *, xfs_off_t, ssize_t, int, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_metadir_cancel)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_commit)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_create)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_link)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_lookup)(void *, struct xfs_inode *, struct xfs_name *, xfs_ino_t);\n\ntypedef void (*btf_trace_xfs_metadir_start_create)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_start_link)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metadir_teardown)(void *, const struct xfs_metadir_update *, int);\n\ntypedef void (*btf_trace_xfs_metadir_try_create)(void *, const struct xfs_metadir_update *);\n\ntypedef void (*btf_trace_xfs_metafile_resv_alloc_space)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_critical)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_free)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_free_space)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_init)(void *, struct xfs_inode *, xfs_filblks_t);\n\ntypedef void (*btf_trace_xfs_metafile_resv_init_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_pagecache_inval)(void *, struct xfs_inode *, xfs_off_t, xfs_off_t);\n\ntypedef void (*btf_trace_xfs_perag_clear_inode_tag)(void *, const struct xfs_perag *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_perag_set_inode_tag)(void *, const struct xfs_perag *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_pwork_init)(void *, struct xfs_mount *, unsigned int, pid_t);\n\ntypedef void (*btf_trace_xfs_quota_expiry_range)(void *, struct xfs_mount *, long long int, long long int);\n\ntypedef void (*btf_trace_xfs_read_agf)(void *, const struct xfs_perag *);\n\ntypedef void (*btf_trace_xfs_read_agi)(void *, const struct xfs_perag *);\n\ntypedef void (*btf_trace_xfs_read_extent)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_read_fault)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_readdir)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_readlink)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_reclaim_inodes_count)(void *, const struct xfs_perag *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_adjust_cow_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_adjust_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_cow_decrease)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_cow_increase)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_decrease)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_defer)(void *, struct xfs_mount *, struct xfs_refcount_intent *);\n\ntypedef void (*btf_trace_xfs_refcount_deferred)(void *, struct xfs_mount *, struct xfs_refcount_intent *);\n\ntypedef void (*btf_trace_xfs_refcount_delete)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_delete_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_find_left_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *, xfs_agblock_t);\n\ntypedef void (*btf_trace_xfs_refcount_find_left_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_find_right_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *, xfs_agblock_t);\n\ntypedef void (*btf_trace_xfs_refcount_find_right_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_find_shared)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_find_shared_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_find_shared_result)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_finish_one_leftover)(void *, struct xfs_mount *, struct xfs_refcount_intent *);\n\ntypedef void (*btf_trace_xfs_refcount_get)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_increase)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t);\n\ntypedef void (*btf_trace_xfs_refcount_insert)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_insert_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_lookup)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_lookup_t);\n\ntypedef void (*btf_trace_xfs_refcount_merge_center_extents)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_merge_center_extents_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_merge_left_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_merge_left_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_merge_right_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_merge_right_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_modify_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_modify_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_split_extent)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *, xfs_agblock_t);\n\ntypedef void (*btf_trace_xfs_refcount_split_extent_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_refcount_update)(void *, struct xfs_btree_cur *, struct xfs_refcount_irec *);\n\ntypedef void (*btf_trace_xfs_refcount_update_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_bounce_dio_write)(void *, struct kiocb *, struct iov_iter *);\n\ntypedef void (*btf_trace_xfs_reflink_cancel_cow)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cancel_cow_range)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_reflink_cancel_cow_range_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_compare_extents)(void *, struct xfs_inode *, xfs_off_t, xfs_off_t, struct xfs_inode *, xfs_off_t);\n\ntypedef void (*btf_trace_xfs_reflink_compare_extents_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_convert_cow)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cow_enospc)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cow_found)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cow_remap_from)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_cow_remap_to)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_end_cow)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_reflink_end_cow_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_remap_blocks)(void *, struct xfs_inode *, xfs_fileoff_t, xfs_filblks_t, struct xfs_inode *, xfs_fileoff_t);\n\ntypedef void (*btf_trace_xfs_reflink_remap_blocks_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_remap_extent_dest)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_remap_extent_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_remap_extent_src)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_remap_range)(void *, struct xfs_inode *, xfs_off_t, xfs_off_t, struct xfs_inode *, xfs_off_t);\n\ntypedef void (*btf_trace_xfs_reflink_remap_range_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_set_inode_flag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_reflink_set_inode_flag_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_trim_around_shared)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_reflink_unset_inode_flag)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_reflink_unshare)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_reflink_unshare_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_reflink_update_inode_size)(void *, struct xfs_inode *, xfs_fsize_t);\n\ntypedef void (*btf_trace_xfs_reflink_update_inode_size_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_remove)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_rename)(void *, struct xfs_inode *, struct xfs_inode *, struct xfs_name *, struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_reset_dqcounts)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_convert)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_convert_done)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_convert_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_convert_state)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_defer)(void *, struct xfs_mount *, struct xfs_rmap_intent *);\n\ntypedef void (*btf_trace_xfs_rmap_deferred)(void *, struct xfs_mount *, struct xfs_rmap_intent *);\n\ntypedef void (*btf_trace_xfs_rmap_delete)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_delete_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_find_left_neighbor_candidate)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_find_left_neighbor_query)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_find_left_neighbor_result)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_find_right_neighbor_result)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_insert)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_insert_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_lookup_le_range)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_lookup_le_range_candidate)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_lookup_le_range_result)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_map)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_map_done)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_map_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_unmap)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_unmap_done)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, bool, const struct xfs_owner_info *);\n\ntypedef void (*btf_trace_xfs_rmap_unmap_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_update)(void *, struct xfs_btree_cur *, xfs_agblock_t, xfs_extlen_t, uint64_t, uint64_t, unsigned int);\n\ntypedef void (*btf_trace_xfs_rmap_update_error)(void *, struct xfs_btree_cur *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_setattr)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_setfilesize)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_swap_extent_after)(void *, struct xfs_inode *, int);\n\ntypedef void (*btf_trace_xfs_swap_extent_before)(void *, struct xfs_inode *, int);\n\ntypedef void (*btf_trace_xfs_swap_extent_rmap_error)(void *, struct xfs_inode *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_swap_extent_rmap_remap)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_swap_extent_rmap_remap_piece)(void *, struct xfs_inode *, struct xfs_bmbt_irec *);\n\ntypedef void (*btf_trace_xfs_symlink)(void *, struct xfs_inode *, const struct xfs_name *);\n\ntypedef void (*btf_trace_xfs_trans_add_item)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_alloc)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_apply_dquot_deltas)(void *, struct xfs_dqtrx *);\n\ntypedef void (*btf_trace_xfs_trans_apply_dquot_deltas_after)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_trans_apply_dquot_deltas_before)(void *, struct xfs_dquot *);\n\ntypedef void (*btf_trace_xfs_trans_bdetach)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_bhold)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_bhold_release)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_binval)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_bjoin)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_brelse)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_cancel)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_commit)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_commit_items)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_dup)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_free)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_free_items)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_get_buf)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_get_buf_recur)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_getsb)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_getsb_recur)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_log_buf)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_mod_dquot)(void *, struct xfs_trans *, struct xfs_dquot *, unsigned int, int64_t);\n\ntypedef void (*btf_trace_xfs_trans_mod_dquot_after)(void *, struct xfs_dqtrx *);\n\ntypedef void (*btf_trace_xfs_trans_mod_dquot_before)(void *, struct xfs_dqtrx *);\n\ntypedef void (*btf_trace_xfs_trans_read_buf)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_read_buf_recur)(void *, struct xfs_buf_log_item *);\n\ntypedef void (*btf_trace_xfs_trans_read_buf_shut)(void *, struct xfs_buf *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_trans_resv_calc)(void *, struct xfs_mount *, unsigned int, struct xfs_trans_res *);\n\ntypedef void (*btf_trace_xfs_trans_resv_calc_minlogsize)(void *, struct xfs_mount *, unsigned int, struct xfs_trans_res *);\n\ntypedef void (*btf_trace_xfs_trans_roll)(void *, struct xfs_trans *, long unsigned int);\n\ntypedef void (*btf_trace_xfs_unwritten_convert)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_update_time)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_vm_bmap)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xfs_wb_cow_iomap_invalid)(void *, struct xfs_inode *, const struct iomap *, unsigned int, int);\n\ntypedef void (*btf_trace_xfs_wb_data_iomap_invalid)(void *, struct xfs_inode *, const struct iomap *, unsigned int, int);\n\ntypedef void (*btf_trace_xfs_write_extent)(void *, struct xfs_inode *, struct xfs_iext_cursor *, int, long unsigned int);\n\ntypedef void (*btf_trace_xfs_write_fault)(void *, struct xfs_inode *, unsigned int);\n\ntypedef void (*btf_trace_xfs_zero_eof)(void *, struct xfs_inode *, xfs_off_t, ssize_t);\n\ntypedef void (*btf_trace_xfs_zero_file_space)(void *, struct xfs_inode *);\n\ntypedef void (*btf_trace_xlog_iclog_activate)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_callback)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_callbacks_done)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_callbacks_start)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_clean)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_force)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_force_lsn)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_get_space)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_release)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_switch)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_sync)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_sync_done)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_syncing)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_wait_on)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_want_sync)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_iclog_write)(void *, struct xlog_in_core *, long unsigned int);\n\ntypedef void (*btf_trace_xlog_intent_recovery_failed)(void *, struct xfs_mount *, const struct xfs_defer_op_type *, int);\n\ntypedef void (*btf_trace_xprt_connect)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_create)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_destroy)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_auto)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_done)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_force)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_get_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_lookup_rqst)(void *, const struct rpc_xprt *, __be32, int);\n\ntypedef void (*btf_trace_xprt_ping)(void *, const struct rpc_xprt *, int);\n\ntypedef void (*btf_trace_xprt_put_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_release_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_release_xprt)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_reserve)(void *, const struct rpc_rqst *);\n\ntypedef void (*btf_trace_xprt_reserve_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_reserve_xprt)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_retransmit)(void *, const struct rpc_rqst *);\n\ntypedef void (*btf_trace_xprt_timer)(void *, const struct rpc_xprt *, __be32, int);\n\ntypedef void (*btf_trace_xprt_transmit)(void *, const struct rpc_rqst *, int);\n\ntypedef void (*btf_trace_xs_data_ready)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xs_stream_read_data)(void *, struct rpc_xprt *, ssize_t, size_t);\n\ntypedef void (*btf_trace_xs_stream_read_request)(void *, struct sock_xprt *);\n\ntypedef long unsigned int (*callfunc_t)(long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void cleanup_cb_t(struct rq_wait *, void *);\n\ntypedef int (*cmp_r_func_t)(const void *, const void *, const void *);\n\ntypedef void (*companion_fn)(struct pci_dev *, struct usb_hcd *, struct pci_dev *, struct usb_hcd *);\n\ntypedef void (*crash_shutdown_t)(void);\n\ntypedef void * (*devcon_match_fn_t)(const struct fwnode_handle *, const char *, void *);\n\ntypedef int (*device_iter_t)(struct device *, void *);\n\ntypedef int (*device_match_t)(struct device *, const void *);\n\ntypedef int devlink_chunk_fill_t(void *, u8 *, u32, u64, struct netlink_ext_ack *);\n\ntypedef int devlink_nl_dump_one_func_t(struct sk_buff *, struct devlink *, struct netlink_callback *, int);\n\ntypedef int (*dr_match_t)(struct device *, void *, void *);\n\ntypedef int (*dummy_ops_test_ret_fn)(struct bpf_dummy_ops_state *, ...);\n\ntypedef int (*dynevent_check_arg_fn_t)(void *);\n\ntypedef void (*eeh_edev_traverse_func)(struct eeh_dev *, void *);\n\ntypedef void * (*eeh_pe_traverse_func)(struct eeh_pe *, void *);\n\ntypedef enum pci_ers_result (*eeh_report_fn)(struct eeh_dev *, struct pci_dev *, struct pci_driver *);\n\ntypedef void (*efi_element_handler_t)(const char *, const void *, size_t);\n\ntypedef void (*ethnl_notify_handler_t)(struct net_device *, unsigned int, const void *);\n\ntypedef void (*exitcall_t)(void);\n\ntypedef int (*ext4_mballoc_query_range_fn)(struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t, void *);\n\ntypedef void ext4_update_sb_callback(struct ext4_super_block *, const void *);\n\ntypedef int filler_t(struct file *, struct folio *);\n\ntypedef bool (*filter_func_t)(struct uprobe_consumer *, struct mm_struct *);\n\ntypedef void fn_handler_fn(struct vc_data *);\n\ntypedef void free_folio_t(struct folio *, long unsigned int);\n\ntypedef int (*ftrace_mapper_func)(void *);\n\ntypedef access_mask_t get_access_mask_t(const struct landlock_ruleset * const, const u16);\n\ntypedef struct sk_buff * (*gro_receive_sk_t)(struct sock *, struct list_head *, struct sk_buff *);\n\ntypedef struct sk_buff * (*gro_receive_t)(struct list_head *, struct sk_buff *);\n\ntypedef bool (*hid_usage_cmp_t)(struct hid_usage *, unsigned int, unsigned int);\n\ntypedef bool (*i8042_filter_t)(unsigned char, unsigned char, struct serio *, void *);\n\ntypedef u32 inet6_ehashfn_t(const struct net *, const struct in6_addr *, const u16, const struct in6_addr *, const __be16);\n\ntypedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const __be32, const __be16);\n\ntypedef initcall_t initcall_entry_t;\n\ntypedef int (*initxattrs)(struct inode *, const struct xattr *, void *);\n\ntypedef struct dentry *instantiate_t(struct dentry *, struct task_struct *, const void *);\n\ntypedef int (*instruction_dump_func)(long unsigned int, long unsigned int);\n\ntypedef int (*ioctl_fn)(struct file *, struct dm_ioctl *, size_t);\n\ntypedef void (*iomap_punch_t)(struct inode *, loff_t, loff_t, struct iomap *);\n\ntypedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *);\n\ntypedef size_t (*iov_ustep_f)(void *, size_t, size_t, void *, void *);\n\ntypedef void ip6_icmp_send_t(struct sk_buff *, u8, u8, __u32, const struct in6_addr *, const struct inet6_skb_parm *);\n\ntypedef void (*irq_write_msi_msg_t)(struct msi_desc *, struct msi_msg *);\n\ntypedef void k_handler_fn(struct vc_data *, unsigned char, char);\n\ntypedef bool (*kunit_resource_match_t)(struct kunit *, struct kunit_resource *, void *);\n\ntypedef int (*list_cmp_func_t)(void *, const struct list_head *, const struct list_head *);\n\ntypedef enum lru_status (*list_lru_walk_cb)(struct list_head *, struct list_lru_one *, void *);\n\ntypedef void (*move_fn_t)(struct lruvec *, struct folio *);\n\ntypedef int (*netlink_filter_fn)(struct sock *, struct sk_buff *, void *);\n\ntypedef struct folio *new_folio_t(struct folio *, long unsigned int);\n\ntypedef int (*nlm_host_match_fn_t)(void *, struct nlm_host *);\n\ntypedef struct ns_common *ns_get_path_helper_t(void *);\n\ntypedef int (*objpool_init_obj_cb)(void *, void *);\n\ntypedef void (*online_page_callback_t)(struct page *, unsigned int);\n\ntypedef int (*parse_pred_fn)(const char *, void *, int, struct filter_parse_error *, struct filter_pred **);\n\ntypedef int (*parse_unknown_fn)(char *, char *, const char *, void *);\n\ntypedef void (*pci_parity_check_fn_t)(struct pci_dev *);\n\ntypedef int pcpu_fc_cpu_distance_fn_t(unsigned int, unsigned int);\n\ntypedef int pcpu_fc_cpu_to_node_fn_t(int);\n\ntypedef void (*perf_irq_t)(struct pt_regs *);\n\ntypedef void perf_iterate_f(struct perf_event *, void *);\n\ntypedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int);\n\ntypedef int (*pm_callback_t)(struct device *);\n\ntypedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int);\n\ntypedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *);\n\ntypedef int (*proc_visitor)(struct task_struct *, void *);\n\ntypedef int (*pte_fn_t)(pte_t *, long unsigned int, void *);\n\ntypedef int (*reservedmem_of_init_fn)(struct reserved_mem *);\n\ntypedef void (*rethook_handler_t)(struct rethook_node *, void *, long unsigned int, struct pt_regs *);\n\ntypedef bool (*ring_buffer_cond_fn)(void *);\n\ntypedef void (*rpc_action)(struct rpc_task *);\n\ntypedef bool (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *);\n\ntypedef int (*sendmsg_func)(struct sock *, struct msghdr *);\n\ntypedef void (*serial8250_isa_config_fn)(int, struct uart_port *, u32 *);\n\ntypedef int (*set_callee_state_fn)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *, int);\n\ntypedef struct scatterlist *sg_alloc_fn(unsigned int, gfp_t);\n\ntypedef void sg_free_fn(struct scatterlist *, unsigned int);\n\ntypedef void sha1_block_fn(struct sha1_state *, const u8 *, int);\n\ntypedef void sha256_block_fn(struct sha256_state *, const u8 *, int);\n\ntypedef void sha512_block_fn(struct sha512_state *, const u8 *, int);\n\ntypedef bool (*smp_cond_func_t)(int, void *);\n\ntypedef int splice_actor(struct pipe_inode_info *, struct pipe_buffer *, struct splice_desc *);\n\ntypedef int splice_direct_actor(struct pipe_inode_info *, struct splice_desc *);\n\ntypedef bool (*stack_trace_consume_fn)(void *, long unsigned int);\n\ntypedef void (*swap_r_func_t)(void *, void *, int, const void *);\n\ntypedef long int (*syscall_fn)(const struct pt_regs *);\n\ntypedef int (*task_call_f)(struct task_struct *, void *);\n\ntypedef void (*task_work_func_t)(struct callback_head *);\n\ntypedef int (*tg_visitor)(struct task_group *, void *);\n\ntypedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16);\n\ntypedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, struct tmigr_walk *);\n\ntypedef void (*visitor128_t)(void *, long unsigned int, u64, u64, size_t);\n\ntypedef void (*visitor32_t)(void *, long unsigned int, u32, size_t);\n\ntypedef void (*visitor64_t)(void *, long unsigned int, u64, size_t);\n\ntypedef void (*visitorl_t)(void *, long unsigned int, long unsigned int, size_t);\n\ntypedef int wait_bit_action_f(struct wait_bit_key *, int);\n\ntypedef int (*walk_memory_groups_func_t)(struct memory_group *, void *);\n\ntypedef int (*writepage_t)(struct folio *, struct writeback_control *, void *);\n\ntypedef size_t (*xdr_skb_read_actor)(struct xdr_skb_reader *, void *, size_t);\n\ntypedef int (*xfs_agfl_walk_fn)(struct xfs_mount *, xfs_agblock_t, void *);\n\ntypedef int (*xfs_btree_query_range_fn)(struct xfs_btree_cur *, const union xfs_btree_rec *, void *);\n\ntypedef int (*xfs_btree_visit_blocks_fn)(struct xfs_btree_cur *, int, void *);\n\ntypedef struct rpc_xprt * (*xprt_switch_find_xprt_t)(struct rpc_xprt_switch *, const struct rpc_xprt *);\n\nstruct nf_bridge_frag_data;\n\ntypedef void *acpi_handle;\n\nstruct acpi_device;\n\nstruct bpf_iter;\n\nstruct creds;\n\nstruct fscrypt_inode_info;\n\nstruct fsverity_info;\n\nstruct opal_prd_msg;\n\n\n/* BPF kfuncs */\n#ifndef BPF_NO_KFUNC_PROTOTYPES\nextern void *bpf_arena_alloc_pages(void *p__map, void *addr__ign, u32 page_cnt, int node_id, u64 flags) __weak __ksym;\nextern void bpf_arena_free_pages(void *p__map, void *ptr__ign, u32 page_cnt) __weak __ksym;\nextern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym;\nextern struct cgroup *bpf_cgroup_acquire(struct cgroup *cgrp) __weak __ksym;\nextern struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __weak __ksym;\nextern struct cgroup *bpf_cgroup_from_id(u64 cgid) __weak __ksym;\nextern void bpf_cgroup_release(struct cgroup *cgrp) __weak __ksym;\nextern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym;\nextern struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_any_distribute(const struct cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_clear(struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_copy(struct bpf_cpumask *dst, const struct cpumask *src) __weak __ksym;\nextern struct bpf_cpumask *bpf_cpumask_create(void) __weak __ksym;\nextern bool bpf_cpumask_empty(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_equal(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_first(const struct cpumask *cpumask) __weak __ksym;\nextern u32 bpf_cpumask_first_and(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_full(const struct cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_intersects(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern void bpf_cpumask_or(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern void bpf_cpumask_release(struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_setall(struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_subset(const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern bool bpf_cpumask_test_and_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __weak __ksym;\nextern bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __weak __ksym;\nextern u32 bpf_cpumask_weight(const struct cpumask *cpumask) __weak __ksym;\nextern void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, const struct cpumask *src2) __weak __ksym;\nextern struct bpf_crypto_ctx *bpf_crypto_ctx_acquire(struct bpf_crypto_ctx *ctx) __weak __ksym;\nextern struct bpf_crypto_ctx *bpf_crypto_ctx_create(const struct bpf_crypto_params *params, u32 params__sz, int *err) __weak __ksym;\nextern void bpf_crypto_ctx_release(struct bpf_crypto_ctx *ctx) __weak __ksym;\nextern int bpf_crypto_decrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym;\nextern int bpf_crypto_encrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym;\nextern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym;\nextern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym;\nextern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym;\nextern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym;\nextern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym;\nextern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym;\nextern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym;\nextern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym;\nextern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym;\nextern int bpf_fentry_test1(int a) __weak __ksym;\nextern int bpf_get_dentry_xattr(struct dentry *dentry, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym;\nextern int bpf_get_file_xattr(struct file *file, const char *name__str, struct bpf_dynptr *value_p) __weak __ksym;\nextern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym;\nextern struct file *bpf_get_task_exe_file(struct task_struct *task) __weak __ksym;\nextern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym;\nextern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym;\nextern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym;\nextern void bpf_iter_css_destroy(struct bpf_iter_css *it) __weak __ksym;\nextern int bpf_iter_css_new(struct bpf_iter_css *it, struct cgroup_subsys_state *start, unsigned int flags) __weak __ksym;\nextern struct cgroup_subsys_state *bpf_iter_css_next(struct bpf_iter_css *it) __weak __ksym;\nextern void bpf_iter_css_task_destroy(struct bpf_iter_css_task *it) __weak __ksym;\nextern int bpf_iter_css_task_new(struct bpf_iter_css_task *it, struct cgroup_subsys_state *css, unsigned int flags) __weak __ksym;\nextern struct task_struct *bpf_iter_css_task_next(struct bpf_iter_css_task *it) __weak __ksym;\nextern void bpf_iter_kmem_cache_destroy(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern int bpf_iter_kmem_cache_new(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern struct kmem_cache *bpf_iter_kmem_cache_next(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern void bpf_iter_num_destroy(struct bpf_iter_num *it) __weak __ksym;\nextern int bpf_iter_num_new(struct bpf_iter_num *it, int start, int end) __weak __ksym;\nextern int *bpf_iter_num_next(struct bpf_iter_num *it) __weak __ksym;\nextern void bpf_iter_task_destroy(struct bpf_iter_task *it) __weak __ksym;\nextern int bpf_iter_task_new(struct bpf_iter_task *it, struct task_struct *task__nullable, unsigned int flags) __weak __ksym;\nextern struct task_struct *bpf_iter_task_next(struct bpf_iter_task *it) __weak __ksym;\nextern void bpf_iter_task_vma_destroy(struct bpf_iter_task_vma *it) __weak __ksym;\nextern int bpf_iter_task_vma_new(struct bpf_iter_task_vma *it, struct task_struct *task, u64 addr) __weak __ksym;\nextern struct vm_area_struct *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) __weak __ksym;\nextern void bpf_key_put(struct bpf_key *bkey) __weak __ksym;\nextern void bpf_kfunc_call_memb_release(struct prog_test_member *p) __weak __ksym;\nextern void bpf_kfunc_call_test_release(struct prog_test_ref_kfunc *p) __weak __ksym;\nextern struct bpf_list_node *bpf_list_pop_back(struct bpf_list_head *head) __weak __ksym;\nextern struct bpf_list_node *bpf_list_pop_front(struct bpf_list_head *head) __weak __ksym;\nextern int bpf_list_push_back_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym;\nextern int bpf_list_push_front_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym;\nextern void bpf_local_irq_restore(long unsigned int *flags__irq_flag) __weak __ksym;\nextern void bpf_local_irq_save(long unsigned int *flags__irq_flag) __weak __ksym;\nextern struct bpf_key *bpf_lookup_system_key(u64 id) __weak __ksym;\nextern struct bpf_key *bpf_lookup_user_key(u32 serial, u64 flags) __weak __ksym;\nextern s64 bpf_map_sum_elem_count(const struct bpf_map *map) __weak __ksym;\nextern int bpf_modify_return_test(int a, int *b) __weak __ksym;\nextern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, char f, int g) __weak __ksym;\nextern int bpf_modify_return_test_tp(int nonce) __weak __ksym;\nextern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym;\nextern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym;\nextern int bpf_path_d_path(struct path *path, char *buf, size_t buf__sz) __weak __ksym;\nextern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym;\nextern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym;\nextern void bpf_preempt_disable(void) __weak __ksym;\nextern void bpf_preempt_enable(void) __weak __ksym;\nextern void bpf_put_file(struct file *file) __weak __ksym;\nextern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym;\nextern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym;\nextern struct bpf_rb_node *bpf_rbtree_remove(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym;\nextern void bpf_rcu_read_lock(void) __weak __ksym;\nextern void bpf_rcu_read_unlock(void) __weak __ksym;\nextern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym;\nextern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym;\nextern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym;\nextern __u64 *bpf_session_cookie(void) __weak __ksym;\nextern bool bpf_session_is_return(void) __weak __ksym;\nextern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym;\nextern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym;\nextern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym;\nextern struct task_struct *bpf_task_acquire(struct task_struct *p) __weak __ksym;\nextern struct task_struct *bpf_task_from_pid(s32 pid) __weak __ksym;\nextern struct task_struct *bpf_task_from_vpid(s32 vpid) __weak __ksym;\nextern struct cgroup *bpf_task_get_cgroup1(struct task_struct *task, int hierarchy_id) __weak __ksym;\nextern void bpf_task_release(struct task_struct *p) __weak __ksym;\nextern long int bpf_task_under_cgroup(struct task_struct *task, struct cgroup *ancestor) __weak __ksym;\nextern void bpf_throw(u64 cookie) __weak __ksym;\nextern int bpf_verify_pkcs7_signature(struct bpf_dynptr *data_p, struct bpf_dynptr *sig_p, struct bpf_key *trusted_keyring) __weak __ksym;\nextern int bpf_wq_init(struct bpf_wq *wq, void *p__map, unsigned int flags) __weak __ksym;\nextern int bpf_wq_set_callback_impl(struct bpf_wq *wq, int (*callback_fn)(void *, int *, void *), unsigned int flags, void *aux__ign) __weak __ksym;\nextern int bpf_wq_start(struct bpf_wq *wq, unsigned int flags) __weak __ksym;\nextern struct xfrm_state *bpf_xdp_get_xfrm_state(struct xdp_md *ctx, struct bpf_xfrm_state_opts *opts, u32 opts__sz) __weak __ksym;\nextern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, u32 *hash, enum xdp_rss_hash_type *rss_type) __weak __ksym;\nextern int bpf_xdp_metadata_rx_timestamp(const struct xdp_md *ctx, u64 *timestamp) __weak __ksym;\nextern int bpf_xdp_metadata_rx_vlan_tag(const struct xdp_md *ctx, __be16 *vlan_proto, u16 *vlan_tci) __weak __ksym;\nextern void bpf_xdp_xfrm_state_release(struct xfrm_state *x) __weak __ksym;\nextern void cgroup_rstat_flush(struct cgroup *cgrp) __weak __ksym;\nextern void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) __weak __ksym;\nextern void crash_kexec(struct pt_regs *regs) __weak __ksym;\nextern void cubictcp_acked(struct sock *sk, const struct ack_sample *sample) __weak __ksym;\nextern void cubictcp_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym;\nextern void cubictcp_cwnd_event(struct sock *sk, enum tcp_ca_event event) __weak __ksym;\nextern void cubictcp_init(struct sock *sk) __weak __ksym;\nextern u32 cubictcp_recalc_ssthresh(struct sock *sk) __weak __ksym;\nextern void cubictcp_state(struct sock *sk, u8 new_state) __weak __ksym;\nextern void tcp_cong_avoid_ai(struct tcp_sock *tp, u32 w, u32 acked) __weak __ksym;\nextern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym;\nextern u32 tcp_reno_ssthresh(struct sock *sk) __weak __ksym;\nextern u32 tcp_reno_undo_cwnd(struct sock *sk) __weak __ksym;\nextern u32 tcp_slow_start(struct tcp_sock *tp, u32 acked) __weak __ksym;\n#endif\n\n#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n#pragma clang attribute pop\n#endif\n\n#endif /* __VMLINUX_H__ */\n"
  },
  {
    "path": "libbpf-tools/profile.bpf.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/*\n * Copyright (c) 2022 LG Electronics\n *\n * Based on profile from BCC by Brendan Gregg and others.\n * 28-Dec-2021   Eunseon Lee   Created this.\n */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"profile.h\"\n#include \"maps.bpf.h\"\n\nconst volatile bool kernel_stacks_only = false;\nconst volatile bool user_stacks_only = false;\nconst volatile bool include_idle = false;\nconst volatile bool filter_by_pid = false;\nconst volatile bool filter_by_tid = false;\nconst volatile bool use_pidns = false;\nconst volatile __u64 pidns_dev = 0;\nconst volatile __u64 pidns_ino = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_STACK_TRACE);\n\t__type(key, u32);\n} stackmap SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, struct key_t);\n\t__type(value, u64);\n\t__uint(max_entries, MAX_ENTRIES);\n} counts SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, u8);\n\t__uint(max_entries, MAX_PID_NR);\n} pids SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__type(key, u32);\n\t__type(value, u8);\n\t__uint(max_entries, MAX_TID_NR);\n} tids SEC(\".maps\");\n\nSEC(\"perf_event\")\nint do_perf_event(struct bpf_perf_event_data *ctx)\n{\n\tu64 *valp;\n\tstatic const u64 zero;\n\tstruct key_t key = {};\n\tu64 id;\n\tu32 pid;\n\tu32 tid;\n\tstruct bpf_pidns_info ns = {};\n\n\tif (use_pidns && !bpf_get_ns_current_pid_tgid(pidns_dev, pidns_ino, &ns,\n\t\t\t\t\t\t      sizeof(ns))) {\n\t\tpid = ns.tgid;\n\t\ttid = ns.pid;\n\t} else {\n\t\tid = bpf_get_current_pid_tgid();\n\t\tpid = id >> 32;\n\t\ttid = id;\n\t}\n\n\tif (!include_idle && tid == 0)\n\t\treturn 0;\n\n\tif (filter_by_pid && !bpf_map_lookup_elem(&pids, &pid))\n\t\treturn 0;\n\n\tif (filter_by_tid && !bpf_map_lookup_elem(&tids, &tid))\n\t\treturn 0;\n\n\tkey.pid = pid;\n\tbpf_get_current_comm(&key.name, sizeof(key.name));\n\n\tif (user_stacks_only)\n\t\tkey.kern_stack_id = -1;\n\telse\n\t\tkey.kern_stack_id = bpf_get_stackid(&ctx->regs, &stackmap, 0);\n\n\tif (kernel_stacks_only)\n\t\tkey.user_stack_id = -1;\n\telse\n\t\tkey.user_stack_id = bpf_get_stackid(&ctx->regs, &stackmap,\n\t\t\t\t\t\t    BPF_F_USER_STACK);\n\n\tvalp = bpf_map_lookup_or_try_init(&counts, &key, &zero);\n\tif (valp)\n\t\t__sync_fetch_and_add(valp, 1);\n\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/profile.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/*\n * profile    Profile CPU usage by sampling stack traces at a timed interval.\n * Copyright (c) 2022 LG Electronics\n *\n * Based on profile from BCC by Brendan Gregg and others.\n * 28-Dec-2021   Eunseon Lee   Created this.\n */\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <inttypes.h>\n#include <unistd.h>\n#include <time.h>\n#include <linux/perf_event.h>\n#include <asm/unistd.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include <sys/stat.h>\n#include \"profile.h\"\n#include \"profile.skel.h\"\n#include \"trace_helpers.h\"\n\n#define OPT_PERF_MAX_STACK_DEPTH\t1 /* --perf-max-stack-depth */\n#define OPT_STACK_STORAGE_SIZE\t\t2 /* --stack-storage-size */\n\n#define SYM_INFO_LEN\t\t\t2048\n\n/*\n * -EFAULT in get_stackid normally means the stack-trace is not available,\n * such as getting kernel stack trace in user mode\n */\n#define STACK_ID_EFAULT(stack_id)\t(stack_id == -EFAULT)\n\n#define STACK_ID_ERR(stack_id)\t\t((stack_id < 0) && !STACK_ID_EFAULT(stack_id))\n\n/* hash collision (-EEXIST) suggests that stack map size may be too small */\n#define CHECK_STACK_COLLISION(ustack_id, kstack_id)\t\\\n\t(kstack_id == -EEXIST || ustack_id == -EEXIST)\n\n#define MISSING_STACKS(ustack_id, kstack_id)\t\\\n\t(!env.user_stacks_only && STACK_ID_ERR(kstack_id)) + (!env.kernel_stacks_only && STACK_ID_ERR(ustack_id))\n\n/* This structure combines key_t and count which should be sorted together */\nstruct key_ext_t {\n\tstruct key_t k;\n\t__u64 v;\n};\n\ntypedef const char* (*symname_fn_t)(unsigned long);\n\n/* This structure represents output format-dependent attributes. */\nstruct fmt_t {\n\tbool folded;\n\tchar *prefix;\n\tchar *suffix;\n\tchar *delim;\n};\n\nstruct fmt_t stacktrace_formats[] = {\n\t{ false, \"    \", \"\\n\", \"--\" },\t/* multi-line */\n\t{ true, \";\", \"\", \"-\" }\t\t/* folded */\n};\n\n#define pr_format(str, fmt)\t\tprintf(\"%s%s%s\", fmt->prefix, str, fmt->suffix)\n\nstatic struct env {\n\tpid_t pids[MAX_PID_NR];\n\tpid_t tids[MAX_TID_NR];\n\tbool user_stacks_only;\n\tbool kernel_stacks_only;\n\tint stack_storage_size;\n\tint perf_max_stack_depth;\n\tint duration;\n\tbool verbose;\n\tbool freq;\n\tint sample_freq;\n\tbool delimiter;\n\tbool include_idle;\n\tint cpu;\n\tbool folded;\n} env = {\n\t.stack_storage_size = 1024,\n\t.perf_max_stack_depth = 127,\n\t.duration = INT_MAX,\n\t.freq = 1,\n\t.sample_freq = 49,\n\t.cpu = -1,\n};\n\nconst char *argp_program_version = \"profile 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Profile CPU usage by sampling stack traces at a timed interval.\\n\"\n\"\\n\"\n\"USAGE: profile [OPTIONS...] [duration]\\n\"\n\"EXAMPLES:\\n\"\n\"    profile             # profile stack traces at 49 Hertz until Ctrl-C\\n\"\n\"    profile -F 99       # profile stack traces at 99 Hertz\\n\"\n\"    profile -c 1000000  # profile stack traces every 1 in a million events\\n\"\n\"    profile 5           # profile at 49 Hertz for 5 seconds only\\n\"\n\"    profile -f          # output in folded format for flame graphs\\n\"\n\"    profile -p 185      # only profile process with PID 185\\n\"\n\"    profile -L 185      # only profile thread with TID 185\\n\"\n\"    profile -U          # only show user space stacks (no kernel)\\n\"\n\"    profile -K          # only show kernel space stacks (no user)\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"profile processes with one or more comma-separated PIDs only\", 0 },\n\t{ \"tid\", 'L', \"TID\", 0, \"profile threads with one or more comma-separated TIDs only\", 0 },\n\t{ \"user-stacks-only\", 'U', NULL, 0,\n\t  \"show stacks from user space only (no kernel space stacks)\", 0 },\n\t{ \"kernel-stacks-only\", 'K', NULL, 0,\n\t  \"show stacks from kernel space only (no user space stacks)\", 0 },\n\t{ \"frequency\", 'F', \"FREQUENCY\", 0, \"sample frequency, Hertz\", 0 },\n\t{ \"delimited\", 'd', NULL, 0, \"insert delimiter between kernel/user stacks\", 0 },\n\t{ \"include-idle \", 'I', NULL, 0, \"include CPU idle stacks\", 0 },\n\t{ \"folded\", 'f', NULL, 0, \"output folded format, one line per stack (for flame graphs)\", 0 },\n\t{ \"stack-storage-size\", OPT_STACK_STORAGE_SIZE, \"STACK-STORAGE-SIZE\", 0,\n\t  \"the number of unique stack traces that can be stored and displayed (default 1024)\", 0 },\n\t{ \"cpu\", 'C', \"CPU\", 0, \"cpu number to run profile on\", 0 },\n\t{ \"perf-max-stack-depth\", OPT_PERF_MAX_STACK_DEPTH,\n\t  \"PERF-MAX-STACK-DEPTH\", 0, \"the limit for both kernel and user stack traces (default 127)\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstruct ksyms *ksyms;\nstruct syms_cache *syms_cache;\nstruct syms *syms;\nstatic char syminfo[SYM_INFO_LEN];\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\tint ret;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'p':\n\t\tret = split_convert(strdup(arg), \",\", env.pids, sizeof(env.pids),\n\t\t\t\t    sizeof(pid_t), str_to_int);\n\t\tif (ret) {\n\t\t\tif (ret == -ENOBUFS)\n\t\t\t\tfprintf(stderr, \"the number of pid is too big, please \"\n\t\t\t\t\t\"increase MAX_PID_NR's value and recompile\\n\");\n\t\t\telse\n\t\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'L':\n\t\tret = split_convert(strdup(arg), \",\", env.tids, sizeof(env.tids),\n\t\t\t\t    sizeof(pid_t), str_to_int);\n\t\tif (ret) {\n\t\t\tif (ret == -ENOBUFS)\n\t\t\t\tfprintf(stderr, \"the number of tid is too big, please \"\n\t\t\t\t\t\"increase MAX_TID_NR's value and recompile\\n\");\n\t\t\telse\n\t\t\t\tfprintf(stderr, \"invalid TID: %s\\n\", arg);\n\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'U':\n\t\tenv.user_stacks_only = true;\n\t\tbreak;\n\tcase 'K':\n\t\tenv.kernel_stacks_only = true;\n\t\tbreak;\n\tcase 'F':\n\t\terrno = 0;\n\t\tenv.sample_freq = strtol(arg, NULL, 10);\n\t\tif (errno || env.sample_freq <= 0) {\n\t\t\tfprintf(stderr, \"invalid FREQUENCY: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'd':\n\t\tenv.delimiter = true;\n\t\tbreak;\n\tcase 'I':\n\t\tenv.include_idle = true;\n\t\tbreak;\n\tcase 'C':\n\t\terrno = 0;\n\t\tenv.cpu = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid CPU: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'f':\n\t\tenv.folded = true;\n\t\tbreak;\n\tcase OPT_PERF_MAX_STACK_DEPTH:\n\t\terrno = 0;\n\t\tenv.perf_max_stack_depth = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid perf max stack depth: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase OPT_STACK_STORAGE_SIZE:\n\t\terrno = 0;\n\t\tenv.stack_storage_size = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid stack storage size: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tif (pos_args++) {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"Unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\terrno = 0;\n\t\tenv.duration = strtol(arg, NULL, 10);\n\t\tif (errno || env.duration <= 0) {\n\t\t\tfprintf(stderr, \"Invalid duration (in s): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int nr_cpus;\n\nstatic int open_and_attach_perf_event(struct bpf_program *prog,\n\t\t\t\t      struct bpf_link *links[])\n{\n\tstruct perf_event_attr attr = {\n\t\t.type = PERF_TYPE_SOFTWARE,\n\t\t.freq = env.freq,\n\t\t.sample_freq = env.sample_freq,\n\t\t.config = PERF_COUNT_SW_CPU_CLOCK,\n\t};\n\tint i, fd;\n\n\tfor (i = 0; i < nr_cpus; i++) {\n\t\tif (env.cpu != -1 && env.cpu != i)\n\t\t\tcontinue;\n\n\t\tfd = syscall(__NR_perf_event_open, &attr, -1, i, -1, 0);\n\t\tif (fd < 0) {\n\t\t\t/* Ignore CPU that is offline */\n\t\t\tif (errno == ENODEV)\n\t\t\t\tcontinue;\n\n\t\t\tfprintf(stderr, \"failed to init perf sampling: %s\\n\",\n\t\t\t\tstrerror(errno));\n\t\t\treturn -1;\n\t\t}\n\n\t\tlinks[i] = bpf_program__attach_perf_event(prog, fd);\n\t\tif (!links[i]) {\n\t\t\tfprintf(stderr, \"failed to attach perf event on cpu: \"\n\t\t\t\t\"%d\\n\", i);\n\t\t\tlinks[i] = NULL;\n\t\t\tclose(fd);\n\t\t\treturn -1;\n\t\t}\n\t}\n\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n}\n\nstatic int cmp_counts(const void *a, const void *b)\n{\n\tconst __u64 x = ((struct key_ext_t *) a)->v;\n\tconst __u64 y = ((struct key_ext_t *) b)->v;\n\n\t/* descending order */\n\treturn y - x;\n}\n\nstatic int read_counts_map(int fd, struct key_ext_t *items, __u32 *count)\n{\n\tstruct key_t empty = {};\n\tstruct key_t *lookup_key = &empty;\n\tint i = 0;\n\tint err;\n\n\twhile (bpf_map_get_next_key(fd, lookup_key, &items[i].k) == 0) {\n\t\terr = bpf_map_lookup_elem(fd, &items[i].k, &items[i].v);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup counts: %d\\n\", err);\n\t\t\treturn -err;\n\t\t}\n\n\t\tif (items[i].v == 0)\n\t\t\tcontinue;\n\n\t\tlookup_key = &items[i].k;\n\t\ti++;\n\t}\n\n\t*count = i;\n\treturn 0;\n}\n\nstatic const char *ksymname(unsigned long addr)\n{\n\tconst struct ksym *ksym = ksyms__map_addr(ksyms, addr);\n\n\tif (!env.verbose)\n\t\treturn ksym ? ksym->name : \"[unknown]\";\n\n\tif (ksym)\n\t\tsnprintf(syminfo, SYM_INFO_LEN, \"0x%lx %s+0x%lx\", addr,\n\t\t\t ksym->name, addr - ksym->addr);\n\telse\n\t\tsnprintf(syminfo, SYM_INFO_LEN, \"0x%lx [unknown]\", addr);\n\n\treturn syminfo;\n}\n\nstatic const char *usyminfo(unsigned long addr)\n{\n\tstruct sym_info sinfo;\n\tint err;\n\tint c;\n\n\tc = snprintf(syminfo, SYM_INFO_LEN, \"0x%016lx\", addr);\n\n\terr = syms__map_addr_dso(syms, addr, &sinfo);\n\tif (err == 0) {\n\t\tif (sinfo.sym_name) {\n\t\t\tc += snprintf(syminfo + c, SYM_INFO_LEN - c, \" %s+0x%lx\",\n\t\t\t\t      sinfo.sym_name, sinfo.sym_offset);\n\t\t}\n\n\t\tsnprintf(syminfo + c, SYM_INFO_LEN - c, \" (%s+0x%lx)\",\n\t\t\t sinfo.dso_name, sinfo.dso_offset);\n\t}\n\n\treturn syminfo;\n}\n\nstatic const char *usymname(unsigned long addr)\n{\n\tconst struct sym *sym;\n\n\tif (!env.verbose) {\n\t\tsym = syms__map_addr(syms, addr);\n\t\treturn sym ? sym->name : \"[unknown]\";\n\t}\n\n\treturn usyminfo(addr);\n}\n\nstatic void print_stacktrace(unsigned long *ip, symname_fn_t symname, struct fmt_t *f)\n{\n\tint i;\n\n\tif (!f->folded) {\n\t\tfor (i = 0; ip[i] && i < env.perf_max_stack_depth; i++)\n\t\t\tpr_format(symname(ip[i]), f);\n\t\treturn;\n\t} else {\n\t\tfor (i = env.perf_max_stack_depth - 1; i >= 0; i--) {\n\t\t\tif (!ip[i])\n\t\t\t\tcontinue;\n\n\t\t\tpr_format(symname(ip[i]), f);\n\t\t}\n\t}\n}\n\nstatic bool print_user_stacktrace(struct key_t *event, int stack_map,\n\t\t\t\t  unsigned long *ip, struct fmt_t *f, bool delim)\n{\n\tif (env.kernel_stacks_only || STACK_ID_EFAULT(event->user_stack_id))\n\t\treturn false;\n\n\tif (delim)\n\t\tpr_format(f->delim, f);\n\n\tif (bpf_map_lookup_elem(stack_map, &event->user_stack_id, ip) != 0) {\n\t\tpr_format(\"[Missed User Stack]\", f);\n\t} else {\n\t\tsyms = syms_cache__get_syms(syms_cache, event->pid);\n\t\tif (syms)\n\t\t\tprint_stacktrace(ip, usymname, f);\n\t\telse if (!f->folded)\n\t\t\tfprintf(stderr, \"failed to get syms\\n\");\n\t}\n\n\treturn true;\n}\n\nstatic bool print_kern_stacktrace(struct key_t *event, int stack_map,\n\t\t\t\t  unsigned long *ip, struct fmt_t *f, bool delim)\n{\n\tif (env.user_stacks_only || STACK_ID_EFAULT(event->kern_stack_id))\n\t\treturn false;\n\n\tif (delim)\n\t\tpr_format(f->delim, f);\n\n\tif (bpf_map_lookup_elem(stack_map, &event->kern_stack_id, ip) != 0)\n\t\tpr_format(\"[Missed Kernel Stack]\", f);\n\telse\n\t\tprint_stacktrace(ip, ksymname, f);\n\n\treturn true;\n}\n\nstatic int print_count(struct key_t *event, __u64 count, int stack_map, bool folded)\n{\n\tunsigned long *ip;\n\tint ret;\n\tstruct fmt_t *fmt = &stacktrace_formats[folded];\n\n\tip = calloc(env.perf_max_stack_depth, sizeof(unsigned long));\n\tif (!ip) {\n\t\tfprintf(stderr, \"failed to alloc ip\\n\");\n\t\treturn -ENOMEM;\n\t}\n\n\tif (!folded) {\n\t\t/* multi-line stack output */\n\t\tret = print_kern_stacktrace(event, stack_map, ip, fmt, false);\n\t\tprint_user_stacktrace(event, stack_map, ip, fmt, ret && env.delimiter);\n\t\tprintf(\"    %-16s %s (%d)\\n\", \"-\", event->name, event->pid);\n\t\tprintf(\"        %lld\\n\\n\", count);\n\t} else {\n\t\t/* folded stack output */\n\t\tprintf(\"%s\", event->name);\n\t\tret = print_user_stacktrace(event, stack_map, ip, fmt, false);\n\t\tprint_kern_stacktrace(event, stack_map, ip, fmt, ret && env.delimiter);\n\t\tprintf(\" %lld\\n\", count);\n\t}\n\n\tfree(ip);\n\n\treturn 0;\n}\n\nstatic int print_counts(int counts_map, int stack_map)\n{\n\tstruct key_ext_t *counts;\n\tstruct key_t *event;\n\t__u64 count;\n\t__u32 nr_count = MAX_ENTRIES;\n\tsize_t nr_missing_stacks = 0;\n\tbool has_collision = false;\n\tint i, ret = 0;\n\n\tcounts = calloc(MAX_ENTRIES, sizeof(struct key_ext_t));\n\tif (!counts) {\n\t\tfprintf(stderr, \"Out of memory\\n\");\n\t\treturn -ENOMEM;\n\t}\n\n\tret = read_counts_map(counts_map, counts, &nr_count);\n\tif (ret)\n\t\tgoto cleanup;\n\n\tqsort(counts, nr_count, sizeof(struct key_ext_t), cmp_counts);\n\n\tfor (i = 0; i < nr_count; i++) {\n\t\tevent = &counts[i].k;\n\t\tcount = counts[i].v;\n\n\t\tprint_count(event, count, stack_map, env.folded);\n\n\t\t/* handle stack id errors */\n\t\tnr_missing_stacks += MISSING_STACKS(event->user_stack_id, event->kern_stack_id);\n\t\thas_collision = CHECK_STACK_COLLISION(event->user_stack_id, event->kern_stack_id);\n\t}\n\n\tif (nr_missing_stacks > 0) {\n\t\tfprintf(stderr, \"WARNING: %zu stack traces could not be displayed.%s\\n\",\n\t\t\tnr_missing_stacks, has_collision ?\n\t\t\t\" Consider increasing --stack-storage-size.\":\"\");\n\t}\n\ncleanup:\n\tfree(counts);\n\n\treturn ret;\n}\n\nstatic int set_pidns(const struct profile_bpf *obj)\n{\n\tstruct stat statbuf;\n\n\tif (!probe_bpf_ns_current_pid_tgid())\n\t\treturn -EPERM;\n\n\tif (stat(\"/proc/self/ns/pid\", &statbuf) == -1)\n\t\treturn -errno;\n\n\tobj->rodata->use_pidns = true;\n\tobj->rodata->pidns_dev = statbuf.st_dev;\n\tobj->rodata->pidns_ino = statbuf.st_ino;\n\n\treturn 0;\n}\n\nstatic void print_headers()\n{\n\tint i;\n\n\tprintf(\"Sampling at %d Hertz of\", env.sample_freq);\n\n\tif (env.pids[0]) {\n\t\tprintf(\" PID [\");\n\t\tfor (i = 0; i < MAX_PID_NR && env.pids[i]; i++)\n\t\t\tprintf(\"%d%s\", env.pids[i], (i < MAX_PID_NR - 1 && env.pids[i + 1]) ? \", \" : \"]\");\n\t} else if (env.tids[0]) {\n\t\tprintf(\" TID [\");\n\t\tfor (i = 0; i < MAX_TID_NR && env.tids[i]; i++)\n\t\t\tprintf(\"%d%s\", env.tids[i], (i < MAX_TID_NR - 1 && env.tids[i + 1]) ? \", \" : \"]\");\n\t} else {\n\t\tprintf(\" all threads\");\n\t}\n\n\tif (env.user_stacks_only)\n\t\tprintf(\" by user\");\n\telse if (env.kernel_stacks_only)\n\t\tprintf(\" by kernel\");\n\telse\n\t\tprintf(\" by user + kernel\");\n\n\tif (env.cpu != -1)\n\t\tprintf(\" on CPU#%d\", env.cpu);\n\n\tif (env.duration < INT_MAX)\n\t\tprintf(\" for %d secs.\\n\", env.duration);\n\telse\n\t\tprintf(\"... Hit Ctrl-C to end.\\n\");\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct bpf_link *links[MAX_CPU_NR] = {};\n\tstruct profile_bpf *obj;\n\tint pids_fd, tids_fd;\n\tint err, i;\n\t__u8 val = 0;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tif (env.user_stacks_only && env.kernel_stacks_only) {\n\t\tfprintf(stderr, \"user_stacks_only and kernel_stacks_only cannot be used together.\\n\");\n\t\treturn 1;\n\t}\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tnr_cpus = libbpf_num_possible_cpus();\n\tif (nr_cpus < 0) {\n\t\tprintf(\"failed to get # of possible cpus: '%s'!\\n\",\n\t\t       strerror(-nr_cpus));\n\t\treturn 1;\n\t}\n\tif (nr_cpus > MAX_CPU_NR) {\n\t\tfprintf(stderr, \"the number of cpu cores is too big, please \"\n\t\t\t\"increase MAX_CPU_NR's value and recompile\");\n\t\treturn 1;\n\t}\n\n\tobj = profile_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->user_stacks_only = env.user_stacks_only;\n\tobj->rodata->kernel_stacks_only = env.kernel_stacks_only;\n\tobj->rodata->include_idle = env.include_idle;\n\tif (env.pids[0])\n\t\tobj->rodata->filter_by_pid = true;\n\telse if (env.tids[0])\n\t\tobj->rodata->filter_by_tid = true;\n\n\tbpf_map__set_value_size(obj->maps.stackmap,\n\t\t\t\tenv.perf_max_stack_depth * sizeof(unsigned long));\n\tbpf_map__set_max_entries(obj->maps.stackmap, env.stack_storage_size);\n\n\terr = set_pidns(obj);\n\tif (err && env.verbose)\n\t\tfprintf(stderr, \"failed to translate pidns: %s\\n\", strerror(-err));\n\n\terr = profile_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tif (env.pids[0]) {\n\t\tpids_fd = bpf_map__fd(obj->maps.pids);\n\t\tfor (i = 0; i < MAX_PID_NR && env.pids[i]; i++) {\n\t\t\tif (bpf_map_update_elem(pids_fd, &(env.pids[i]), &val, BPF_ANY) != 0) {\n\t\t\t\tfprintf(stderr, \"failed to init pids map: %s\\n\", strerror(errno));\n\t\t\t\tgoto cleanup;\n\t\t\t}\n\t\t}\n\t}\n\telse if (env.tids[0]) {\n\t\ttids_fd = bpf_map__fd(obj->maps.tids);\n\t\tfor (i = 0; i < MAX_TID_NR && env.tids[i]; i++) {\n\t\t\tif (bpf_map_update_elem(tids_fd, &(env.tids[i]), &val, BPF_ANY) != 0) {\n\t\t\t\tfprintf(stderr, \"failed to init tids map: %s\\n\", strerror(errno));\n\t\t\t\tgoto cleanup;\n\t\t\t}\n\t\t}\n\t}\n\n\tksyms = ksyms__load();\n\tif (!ksyms) {\n\t\tfprintf(stderr, \"failed to load kallsyms\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tsyms_cache = syms_cache__new(0);\n\tif (!syms_cache) {\n\t\tfprintf(stderr, \"failed to create syms_cache\\n\");\n\t\tgoto cleanup;\n\t}\n\n\terr = open_and_attach_perf_event(obj->progs.do_perf_event, links);\n\tif (err)\n\t\tgoto cleanup;\n\n\tsignal(SIGINT, sig_handler);\n\n\tif (!env.folded)\n\t\tprint_headers();\n\n\t/*\n\t * We'll get sleep interrupted when someone presses Ctrl-C.\n\t * (which will be \"handled\" with noop by sig_handler)\n\t */\n\tsleep(env.duration);\n\n\tprint_counts(bpf_map__fd(obj->maps.counts),\n\t\t     bpf_map__fd(obj->maps.stackmap));\n\ncleanup:\n\tif (env.cpu != -1)\n\t\tbpf_link__destroy(links[env.cpu]);\n\telse {\n\t\tfor (i = 0; i < nr_cpus; i++)\n\t\t\tbpf_link__destroy(links[i]);\n\t}\n\tif (syms_cache)\n\t\tsyms_cache__free(syms_cache);\n\tif (ksyms)\n\t\tksyms__free(ksyms);\n\tprofile_bpf__destroy(obj);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/profile.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n#ifndef __PROFILE_H\n#define __PROFILE_H\n\n#define TASK_COMM_LEN\t\t16\n#define MAX_CPU_NR\t\t128\n#define MAX_ENTRIES\t\t10240\n#define MAX_PID_NR\t\t30\n#define MAX_TID_NR\t\t30\n\nstruct key_t {\n\t__u32 pid;\n\tint user_stack_id;\n\tint kern_stack_id;\n\tchar name[TASK_COMM_LEN];\n};\n\n#endif /* __PROFILE_H */\n"
  },
  {
    "path": "libbpf-tools/readahead.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"readahead.h\"\n#include \"bits.bpf.h\"\n\n#define MAX_ENTRIES\t10240\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, u32);\n\t__type(value, u64);\n} in_readahead SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, struct page *);\n\t__type(value, u64);\n} birth SEC(\".maps\");\n\nstruct hist hist = {};\n\nSEC(\"fentry/do_page_cache_ra\")\nint BPF_PROG(do_page_cache_ra)\n{\n\tu32 pid = bpf_get_current_pid_tgid();\n\tu64 one = 1;\n\n\tbpf_map_update_elem(&in_readahead, &pid, &one, 0);\n\treturn 0;\n}\n\nstatic __always_inline\nint alloc_done(struct page *page)\n{\n\tu32 pid = bpf_get_current_pid_tgid();\n\tu64 ts;\n\n\tif (!bpf_map_lookup_elem(&in_readahead, &pid))\n\t\treturn 0;\n\n\tts = bpf_ktime_get_ns();\n\tbpf_map_update_elem(&birth, &page, &ts, 0);\n\t__sync_fetch_and_add(&hist.unused, 1);\n\t__sync_fetch_and_add(&hist.total, 1);\n\n\treturn 0;\n}\n\nSEC(\"fexit/__page_cache_alloc\")\nint BPF_PROG(page_cache_alloc_ret, gfp_t gfp, struct page *ret)\n{\n\treturn alloc_done(ret);\n}\n\nSEC(\"fexit/filemap_alloc_folio\")\nint BPF_PROG(filemap_alloc_folio_ret, gfp_t gfp, unsigned int order,\n\tstruct folio *ret)\n{\n\treturn alloc_done(&ret->page);\n}\n\nSEC(\"fexit/filemap_alloc_folio_noprof\")\nint BPF_PROG(filemap_alloc_folio_noprof_ret, gfp_t gfp, unsigned int order,\n\tstruct folio *ret)\n{\n\treturn alloc_done(&ret->page);\n}\n\nSEC(\"fexit/do_page_cache_ra\")\nint BPF_PROG(do_page_cache_ra_ret)\n{\n\tu32 pid = bpf_get_current_pid_tgid();\n\n\tbpf_map_delete_elem(&in_readahead, &pid);\n\treturn 0;\n}\n\nstatic __always_inline\nint mark_accessed(struct page *page)\n{\n\tu64 *tsp, slot, ts = bpf_ktime_get_ns();\n\ts64 delta;\n\n\ttsp = bpf_map_lookup_elem(&birth, &page);\n\tif (!tsp)\n\t\treturn 0;\n\tdelta = (s64)(ts - *tsp);\n\tif (delta < 0)\n\t\tgoto update_and_cleanup;\n\tslot = log2l(delta / 1000000U);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&hist.slots[slot], 1);\n\nupdate_and_cleanup:\n\t__sync_fetch_and_add(&hist.unused, -1);\n\tbpf_map_delete_elem(&birth, &page);\n\n\treturn 0;\n}\n\nSEC(\"fentry/folio_mark_accessed\")\nint BPF_PROG(folio_mark_accessed, struct folio *folio)\n{\n\treturn mark_accessed(&folio->page);\n}\n\nSEC(\"fentry/mark_page_accessed\")\nint BPF_PROG(mark_page_accessed, struct page *page)\n{\n\treturn mark_accessed(page);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/readahead.h",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n#ifndef __READAHEAD_H\n#define __READAHEAD_H\n\n#define MAX_SLOTS\t20\n\nstruct hist {\n\t__u32 unused;\n\t__u32 total;\n\t__u32 slots[MAX_SLOTS];\n};\n\n#endif /* __READAHEAD_H */\n"
  },
  {
    "path": "libbpf-tools/riscv/vmlinux_614.h",
    "content": "#ifndef __VMLINUX_H__\n#define __VMLINUX_H__\n\n#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record)\n#endif\n\n#ifndef __ksym\n#define __ksym __attribute__((section(\".ksyms\")))\n#endif\n\n#ifndef __weak\n#define __weak __attribute__((weak))\n#endif\n\n#ifndef __bpf_fastcall\n#if __has_attribute(bpf_fastcall)\n#define __bpf_fastcall __attribute__((bpf_fastcall))\n#else\n#define __bpf_fastcall\n#endif\n#endif\n\nenum {\n\tACPI_BATTERY_ALARM_PRESENT = 0,\n\tACPI_BATTERY_XINFO_PRESENT = 1,\n\tACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY = 2,\n\tACPI_BATTERY_QUIRK_THINKPAD_MAH = 3,\n\tACPI_BATTERY_QUIRK_DEGRADED_FULL_CHARGE = 4,\n};\n\nenum {\n\tACPI_BUTTON_LID_INIT_IGNORE = 0,\n\tACPI_BUTTON_LID_INIT_OPEN = 1,\n\tACPI_BUTTON_LID_INIT_METHOD = 2,\n\tACPI_BUTTON_LID_INIT_DISABLED = 3,\n};\n\nenum {\n\tACPI_GENL_ATTR_UNSPEC = 0,\n\tACPI_GENL_ATTR_EVENT = 1,\n\t__ACPI_GENL_ATTR_MAX = 2,\n};\n\nenum {\n\tACPI_GENL_CMD_UNSPEC = 0,\n\tACPI_GENL_CMD_EVENT = 1,\n\t__ACPI_GENL_CMD_MAX = 2,\n};\n\nenum {\n\tACPI_REFCLASS_LOCAL = 0,\n\tACPI_REFCLASS_ARG = 1,\n\tACPI_REFCLASS_REFOF = 2,\n\tACPI_REFCLASS_INDEX = 3,\n\tACPI_REFCLASS_TABLE = 4,\n\tACPI_REFCLASS_NAME = 5,\n\tACPI_REFCLASS_DEBUG = 6,\n\tACPI_REFCLASS_MAX = 6,\n};\n\nenum {\n\tACPI_RSC_INITGET = 0,\n\tACPI_RSC_INITSET = 1,\n\tACPI_RSC_FLAGINIT = 2,\n\tACPI_RSC_1BITFLAG = 3,\n\tACPI_RSC_2BITFLAG = 4,\n\tACPI_RSC_3BITFLAG = 5,\n\tACPI_RSC_6BITFLAG = 6,\n\tACPI_RSC_ADDRESS = 7,\n\tACPI_RSC_BITMASK = 8,\n\tACPI_RSC_BITMASK16 = 9,\n\tACPI_RSC_COUNT = 10,\n\tACPI_RSC_COUNT16 = 11,\n\tACPI_RSC_COUNT_GPIO_PIN = 12,\n\tACPI_RSC_COUNT_GPIO_RES = 13,\n\tACPI_RSC_COUNT_GPIO_VEN = 14,\n\tACPI_RSC_COUNT_SERIAL_RES = 15,\n\tACPI_RSC_COUNT_SERIAL_VEN = 16,\n\tACPI_RSC_DATA8 = 17,\n\tACPI_RSC_EXIT_EQ = 18,\n\tACPI_RSC_EXIT_LE = 19,\n\tACPI_RSC_EXIT_NE = 20,\n\tACPI_RSC_LENGTH = 21,\n\tACPI_RSC_MOVE_GPIO_PIN = 22,\n\tACPI_RSC_MOVE_GPIO_RES = 23,\n\tACPI_RSC_MOVE_SERIAL_RES = 24,\n\tACPI_RSC_MOVE_SERIAL_VEN = 25,\n\tACPI_RSC_MOVE8 = 26,\n\tACPI_RSC_MOVE16 = 27,\n\tACPI_RSC_MOVE32 = 28,\n\tACPI_RSC_MOVE64 = 29,\n\tACPI_RSC_SET8 = 30,\n\tACPI_RSC_SOURCE = 31,\n\tACPI_RSC_SOURCEX = 32,\n};\n\nenum {\n\tACTION_FAIL = 0,\n\tACTION_REPREP = 1,\n\tACTION_DELAYED_REPREP = 2,\n\tACTION_RETRY = 3,\n\tACTION_DELAYED_RETRY = 4,\n};\n\nenum {\n\tAFFINITY = 0,\n\tAFFINITY_LIST = 1,\n\tEFFECTIVE = 2,\n\tEFFECTIVE_LIST = 3,\n};\n\nenum {\n\tAHCI_MAX_PORTS = 32,\n\tAHCI_MAX_SG = 168,\n\tAHCI_DMA_BOUNDARY = 4294967295,\n\tAHCI_MAX_CMDS = 32,\n\tAHCI_CMD_SZ = 32,\n\tAHCI_CMD_SLOT_SZ = 1024,\n\tAHCI_RX_FIS_SZ = 256,\n\tAHCI_CMD_TBL_CDB = 64,\n\tAHCI_CMD_TBL_HDR_SZ = 128,\n\tAHCI_CMD_TBL_SZ = 2816,\n\tAHCI_CMD_TBL_AR_SZ = 90112,\n\tAHCI_PORT_PRIV_DMA_SZ = 91392,\n\tAHCI_PORT_PRIV_FBS_DMA_SZ = 95232,\n\tAHCI_IRQ_ON_SG = 2147483648,\n\tAHCI_CMD_ATAPI = 32,\n\tAHCI_CMD_WRITE = 64,\n\tAHCI_CMD_PREFETCH = 128,\n\tAHCI_CMD_RESET = 256,\n\tAHCI_CMD_CLR_BUSY = 1024,\n\tRX_FIS_PIO_SETUP = 32,\n\tRX_FIS_D2H_REG = 64,\n\tRX_FIS_SDB = 88,\n\tRX_FIS_UNK = 96,\n\tHOST_CAP = 0,\n\tHOST_CTL = 4,\n\tHOST_IRQ_STAT = 8,\n\tHOST_PORTS_IMPL = 12,\n\tHOST_VERSION = 16,\n\tHOST_EM_LOC = 28,\n\tHOST_EM_CTL = 32,\n\tHOST_CAP2 = 36,\n\tHOST_RESET = 1,\n\tHOST_IRQ_EN = 2,\n\tHOST_MRSM = 4,\n\tHOST_AHCI_EN = 2147483648,\n\tHOST_CAP_SXS = 32,\n\tHOST_CAP_EMS = 64,\n\tHOST_CAP_CCC = 128,\n\tHOST_CAP_PART = 8192,\n\tHOST_CAP_SSC = 16384,\n\tHOST_CAP_PIO_MULTI = 32768,\n\tHOST_CAP_FBS = 65536,\n\tHOST_CAP_PMP = 131072,\n\tHOST_CAP_ONLY = 262144,\n\tHOST_CAP_CLO = 16777216,\n\tHOST_CAP_LED = 33554432,\n\tHOST_CAP_ALPM = 67108864,\n\tHOST_CAP_SSS = 134217728,\n\tHOST_CAP_MPS = 268435456,\n\tHOST_CAP_SNTF = 536870912,\n\tHOST_CAP_NCQ = 1073741824,\n\tHOST_CAP_64 = 2147483648,\n\tHOST_CAP2_BOH = 1,\n\tHOST_CAP2_NVMHCI = 2,\n\tHOST_CAP2_APST = 4,\n\tHOST_CAP2_SDS = 8,\n\tHOST_CAP2_SADM = 16,\n\tHOST_CAP2_DESO = 32,\n\tPORT_LST_ADDR = 0,\n\tPORT_LST_ADDR_HI = 4,\n\tPORT_FIS_ADDR = 8,\n\tPORT_FIS_ADDR_HI = 12,\n\tPORT_IRQ_STAT = 16,\n\tPORT_IRQ_MASK = 20,\n\tPORT_CMD = 24,\n\tPORT_TFDATA = 32,\n\tPORT_SIG = 36,\n\tPORT_CMD_ISSUE = 56,\n\tPORT_SCR_STAT = 40,\n\tPORT_SCR_CTL = 44,\n\tPORT_SCR_ERR = 48,\n\tPORT_SCR_ACT = 52,\n\tPORT_SCR_NTF = 60,\n\tPORT_FBS = 64,\n\tPORT_DEVSLP = 68,\n\tPORT_IRQ_COLD_PRES = 2147483648,\n\tPORT_IRQ_TF_ERR = 1073741824,\n\tPORT_IRQ_HBUS_ERR = 536870912,\n\tPORT_IRQ_HBUS_DATA_ERR = 268435456,\n\tPORT_IRQ_IF_ERR = 134217728,\n\tPORT_IRQ_IF_NONFATAL = 67108864,\n\tPORT_IRQ_OVERFLOW = 16777216,\n\tPORT_IRQ_BAD_PMP = 8388608,\n\tPORT_IRQ_PHYRDY = 4194304,\n\tPORT_IRQ_DMPS = 128,\n\tPORT_IRQ_CONNECT = 64,\n\tPORT_IRQ_SG_DONE = 32,\n\tPORT_IRQ_UNK_FIS = 16,\n\tPORT_IRQ_SDB_FIS = 8,\n\tPORT_IRQ_DMAS_FIS = 4,\n\tPORT_IRQ_PIOS_FIS = 2,\n\tPORT_IRQ_D2H_REG_FIS = 1,\n\tPORT_IRQ_FREEZE = 683671632,\n\tPORT_IRQ_ERROR = 2025848912,\n\tDEF_PORT_IRQ = 2025848959,\n\tPORT_CMD_ASP = 134217728,\n\tPORT_CMD_ALPE = 67108864,\n\tPORT_CMD_ATAPI = 16777216,\n\tPORT_CMD_FBSCP = 4194304,\n\tPORT_CMD_ESP = 2097152,\n\tPORT_CMD_CPD = 1048576,\n\tPORT_CMD_MPSP = 524288,\n\tPORT_CMD_HPCP = 262144,\n\tPORT_CMD_PMP = 131072,\n\tPORT_CMD_LIST_ON = 32768,\n\tPORT_CMD_FIS_ON = 16384,\n\tPORT_CMD_FIS_RX = 16,\n\tPORT_CMD_CLO = 8,\n\tPORT_CMD_POWER_ON = 4,\n\tPORT_CMD_SPIN_UP = 2,\n\tPORT_CMD_START = 1,\n\tPORT_CMD_ICC_MASK = 4026531840,\n\tPORT_CMD_ICC_ACTIVE = 268435456,\n\tPORT_CMD_ICC_PARTIAL = 536870912,\n\tPORT_CMD_ICC_SLUMBER = 1610612736,\n\tPORT_CMD_CAP = 8126464,\n\tPORT_FBS_DWE_OFFSET = 16,\n\tPORT_FBS_ADO_OFFSET = 12,\n\tPORT_FBS_DEV_OFFSET = 8,\n\tPORT_FBS_DEV_MASK = 3840,\n\tPORT_FBS_SDE = 4,\n\tPORT_FBS_DEC = 2,\n\tPORT_FBS_EN = 1,\n\tPORT_DEVSLP_DM_OFFSET = 25,\n\tPORT_DEVSLP_DM_MASK = 503316480,\n\tPORT_DEVSLP_DITO_OFFSET = 15,\n\tPORT_DEVSLP_MDAT_OFFSET = 10,\n\tPORT_DEVSLP_DETO_OFFSET = 2,\n\tPORT_DEVSLP_DSP = 2,\n\tPORT_DEVSLP_ADSE = 1,\n\tAHCI_HFLAG_NO_NCQ = 1,\n\tAHCI_HFLAG_IGN_IRQ_IF_ERR = 2,\n\tAHCI_HFLAG_IGN_SERR_INTERNAL = 4,\n\tAHCI_HFLAG_32BIT_ONLY = 8,\n\tAHCI_HFLAG_MV_PATA = 16,\n\tAHCI_HFLAG_NO_MSI = 32,\n\tAHCI_HFLAG_NO_PMP = 64,\n\tAHCI_HFLAG_SECT255 = 256,\n\tAHCI_HFLAG_YES_NCQ = 512,\n\tAHCI_HFLAG_NO_SUSPEND = 1024,\n\tAHCI_HFLAG_SRST_TOUT_IS_OFFLINE = 2048,\n\tAHCI_HFLAG_NO_SNTF = 4096,\n\tAHCI_HFLAG_NO_FPDMA_AA = 8192,\n\tAHCI_HFLAG_YES_FBS = 16384,\n\tAHCI_HFLAG_DELAY_ENGINE = 32768,\n\tAHCI_HFLAG_NO_DEVSLP = 131072,\n\tAHCI_HFLAG_NO_FBS = 262144,\n\tAHCI_HFLAG_MULTI_MSI = 1048576,\n\tAHCI_HFLAG_WAKE_BEFORE_STOP = 4194304,\n\tAHCI_HFLAG_YES_ALPM = 8388608,\n\tAHCI_HFLAG_NO_WRITE_TO_RO = 16777216,\n\tAHCI_HFLAG_SUSPEND_PHYS = 33554432,\n\tAHCI_HFLAG_NO_SXS = 67108864,\n\tAHCI_HFLAG_43BIT_ONLY = 134217728,\n\tAHCI_HFLAG_INTEL_PCS_QUIRK = 268435456,\n\tAHCI_FLAG_COMMON = 393346,\n\tICH_MAP = 144,\n\tPCS_6 = 146,\n\tPCS_7 = 148,\n\tEM_MAX_SLOTS = 15,\n\tEM_MAX_RETRY = 5,\n\tEM_CTL_RST = 512,\n\tEM_CTL_TM = 256,\n\tEM_CTL_MR = 1,\n\tEM_CTL_ALHD = 67108864,\n\tEM_CTL_XMT = 33554432,\n\tEM_CTL_SMB = 16777216,\n\tEM_CTL_SGPIO = 524288,\n\tEM_CTL_SES = 262144,\n\tEM_CTL_SAFTE = 131072,\n\tEM_CTL_LED = 65536,\n\tEM_MSG_TYPE_LED = 1,\n\tEM_MSG_TYPE_SAFTE = 2,\n\tEM_MSG_TYPE_SES2 = 4,\n\tEM_MSG_TYPE_SGPIO = 8,\n};\n\nenum {\n\tAHCI_PCI_BAR_STA2X11 = 0,\n\tAHCI_PCI_BAR_CAVIUM = 0,\n\tAHCI_PCI_BAR_LOONGSON = 0,\n\tAHCI_PCI_BAR_ENMOTUS = 2,\n\tAHCI_PCI_BAR_CAVIUM_GEN5 = 4,\n\tAHCI_PCI_BAR_STANDARD = 5,\n};\n\nenum {\n\tAML_FIELD_ACCESS_ANY = 0,\n\tAML_FIELD_ACCESS_BYTE = 1,\n\tAML_FIELD_ACCESS_WORD = 2,\n\tAML_FIELD_ACCESS_DWORD = 3,\n\tAML_FIELD_ACCESS_QWORD = 4,\n\tAML_FIELD_ACCESS_BUFFER = 5,\n};\n\nenum {\n\tAML_FIELD_ATTRIB_QUICK = 2,\n\tAML_FIELD_ATTRIB_SEND_RECEIVE = 4,\n\tAML_FIELD_ATTRIB_BYTE = 6,\n\tAML_FIELD_ATTRIB_WORD = 8,\n\tAML_FIELD_ATTRIB_BLOCK = 10,\n\tAML_FIELD_ATTRIB_BYTES = 11,\n\tAML_FIELD_ATTRIB_PROCESS_CALL = 12,\n\tAML_FIELD_ATTRIB_BLOCK_PROCESS_CALL = 13,\n\tAML_FIELD_ATTRIB_RAW_BYTES = 14,\n\tAML_FIELD_ATTRIB_RAW_PROCESS_BYTES = 15,\n};\n\nenum {\n\tAML_FIELD_UPDATE_PRESERVE = 0,\n\tAML_FIELD_UPDATE_WRITE_AS_ONES = 32,\n\tAML_FIELD_UPDATE_WRITE_AS_ZEROS = 64,\n};\n\nenum {\n\tASCII_NULL = 0,\n\tASCII_BELL = 7,\n\tASCII_BACKSPACE = 8,\n\tASCII_IGNORE_FIRST = 8,\n\tASCII_HTAB = 9,\n\tASCII_LINEFEED = 10,\n\tASCII_VTAB = 11,\n\tASCII_FORMFEED = 12,\n\tASCII_CAR_RET = 13,\n\tASCII_IGNORE_LAST = 13,\n\tASCII_SHIFTOUT = 14,\n\tASCII_SHIFTIN = 15,\n\tASCII_CANCEL = 24,\n\tASCII_SUBSTITUTE = 26,\n\tASCII_ESCAPE = 27,\n\tASCII_CSI_IGNORE_FIRST = 32,\n\tASCII_CSI_IGNORE_LAST = 63,\n\tASCII_DEL = 127,\n\tASCII_EXT_CSI = 155,\n};\n\nenum {\n\tASSUME_PERFECT = 255,\n\tASSUME_VALID_DTB = 1,\n\tASSUME_VALID_INPUT = 2,\n\tASSUME_LATEST = 4,\n\tASSUME_NO_ROLLBACK = 8,\n\tASSUME_LIBFDT_ORDER = 16,\n\tASSUME_LIBFDT_FLAWLESS = 32,\n};\n\nenum {\n\tATA_EH_SPDN_NCQ_OFF = 1,\n\tATA_EH_SPDN_SPEED_DOWN = 2,\n\tATA_EH_SPDN_FALLBACK_TO_PIO = 4,\n\tATA_EH_SPDN_KEEP_ERRORS = 8,\n\tATA_EFLAG_IS_IO = 1,\n\tATA_EFLAG_DUBIOUS_XFER = 2,\n\tATA_EFLAG_OLD_ER = -2147483648,\n\tATA_ECAT_NONE = 0,\n\tATA_ECAT_ATA_BUS = 1,\n\tATA_ECAT_TOUT_HSM = 2,\n\tATA_ECAT_UNK_DEV = 3,\n\tATA_ECAT_DUBIOUS_NONE = 4,\n\tATA_ECAT_DUBIOUS_ATA_BUS = 5,\n\tATA_ECAT_DUBIOUS_TOUT_HSM = 6,\n\tATA_ECAT_DUBIOUS_UNK_DEV = 7,\n\tATA_ECAT_NR = 8,\n\tATA_EH_CMD_DFL_TIMEOUT = 5000,\n\tATA_EH_RESET_COOL_DOWN = 5000,\n\tATA_EH_PRERESET_TIMEOUT = 10000,\n\tATA_EH_FASTDRAIN_INTERVAL = 3000,\n\tATA_EH_UA_TRIES = 5,\n\tATA_EH_PROBE_TRIAL_INTERVAL = 60000,\n\tATA_EH_PROBE_TRIALS = 2,\n};\n\nenum {\n\tATA_MAX_DEVICES = 2,\n\tATA_MAX_PRD = 256,\n\tATA_SECT_SIZE = 512,\n\tATA_MAX_SECTORS_128 = 128,\n\tATA_MAX_SECTORS = 256,\n\tATA_MAX_SECTORS_1024 = 1024,\n\tATA_MAX_SECTORS_LBA48 = 65535,\n\tATA_MAX_SECTORS_TAPE = 65535,\n\tATA_MAX_TRIM_RNUM = 64,\n\tATA_ID_WORDS = 256,\n\tATA_ID_CONFIG = 0,\n\tATA_ID_CYLS = 1,\n\tATA_ID_HEADS = 3,\n\tATA_ID_SECTORS = 6,\n\tATA_ID_SERNO = 10,\n\tATA_ID_BUF_SIZE = 21,\n\tATA_ID_FW_REV = 23,\n\tATA_ID_PROD = 27,\n\tATA_ID_MAX_MULTSECT = 47,\n\tATA_ID_DWORD_IO = 48,\n\tATA_ID_TRUSTED = 48,\n\tATA_ID_CAPABILITY = 49,\n\tATA_ID_OLD_PIO_MODES = 51,\n\tATA_ID_OLD_DMA_MODES = 52,\n\tATA_ID_FIELD_VALID = 53,\n\tATA_ID_CUR_CYLS = 54,\n\tATA_ID_CUR_HEADS = 55,\n\tATA_ID_CUR_SECTORS = 56,\n\tATA_ID_MULTSECT = 59,\n\tATA_ID_LBA_CAPACITY = 60,\n\tATA_ID_SWDMA_MODES = 62,\n\tATA_ID_MWDMA_MODES = 63,\n\tATA_ID_PIO_MODES = 64,\n\tATA_ID_EIDE_DMA_MIN = 65,\n\tATA_ID_EIDE_DMA_TIME = 66,\n\tATA_ID_EIDE_PIO = 67,\n\tATA_ID_EIDE_PIO_IORDY = 68,\n\tATA_ID_ADDITIONAL_SUPP = 69,\n\tATA_ID_QUEUE_DEPTH = 75,\n\tATA_ID_SATA_CAPABILITY = 76,\n\tATA_ID_SATA_CAPABILITY_2 = 77,\n\tATA_ID_FEATURE_SUPP = 78,\n\tATA_ID_MAJOR_VER = 80,\n\tATA_ID_COMMAND_SET_1 = 82,\n\tATA_ID_COMMAND_SET_2 = 83,\n\tATA_ID_CFSSE = 84,\n\tATA_ID_CFS_ENABLE_1 = 85,\n\tATA_ID_CFS_ENABLE_2 = 86,\n\tATA_ID_CSF_DEFAULT = 87,\n\tATA_ID_UDMA_MODES = 88,\n\tATA_ID_HW_CONFIG = 93,\n\tATA_ID_SPG = 98,\n\tATA_ID_LBA_CAPACITY_2 = 100,\n\tATA_ID_SECTOR_SIZE = 106,\n\tATA_ID_WWN = 108,\n\tATA_ID_LOGICAL_SECTOR_SIZE = 117,\n\tATA_ID_COMMAND_SET_3 = 119,\n\tATA_ID_COMMAND_SET_4 = 120,\n\tATA_ID_LAST_LUN = 126,\n\tATA_ID_DLF = 128,\n\tATA_ID_CSFO = 129,\n\tATA_ID_CFA_POWER = 160,\n\tATA_ID_CFA_KEY_MGMT = 162,\n\tATA_ID_CFA_MODES = 163,\n\tATA_ID_DATA_SET_MGMT = 169,\n\tATA_ID_SCT_CMD_XPORT = 206,\n\tATA_ID_ROT_SPEED = 217,\n\tATA_ID_PIO4 = 2,\n\tATA_ID_SERNO_LEN = 20,\n\tATA_ID_FW_REV_LEN = 8,\n\tATA_ID_PROD_LEN = 40,\n\tATA_ID_WWN_LEN = 8,\n\tATA_PCI_CTL_OFS = 2,\n\tATA_PIO0 = 1,\n\tATA_PIO1 = 3,\n\tATA_PIO2 = 7,\n\tATA_PIO3 = 15,\n\tATA_PIO4 = 31,\n\tATA_PIO5 = 63,\n\tATA_PIO6 = 127,\n\tATA_PIO4_ONLY = 16,\n\tATA_SWDMA0 = 1,\n\tATA_SWDMA1 = 3,\n\tATA_SWDMA2 = 7,\n\tATA_SWDMA2_ONLY = 4,\n\tATA_MWDMA0 = 1,\n\tATA_MWDMA1 = 3,\n\tATA_MWDMA2 = 7,\n\tATA_MWDMA3 = 15,\n\tATA_MWDMA4 = 31,\n\tATA_MWDMA12_ONLY = 6,\n\tATA_MWDMA2_ONLY = 4,\n\tATA_UDMA0 = 1,\n\tATA_UDMA1 = 3,\n\tATA_UDMA2 = 7,\n\tATA_UDMA3 = 15,\n\tATA_UDMA4 = 31,\n\tATA_UDMA5 = 63,\n\tATA_UDMA6 = 127,\n\tATA_UDMA7 = 255,\n\tATA_UDMA24_ONLY = 20,\n\tATA_UDMA_MASK_40C = 7,\n\tATA_PRD_SZ = 8,\n\tATA_PRD_TBL_SZ = 2048,\n\tATA_PRD_EOT = -2147483648,\n\tATA_DMA_TABLE_OFS = 4,\n\tATA_DMA_STATUS = 2,\n\tATA_DMA_CMD = 0,\n\tATA_DMA_WR = 8,\n\tATA_DMA_START = 1,\n\tATA_DMA_INTR = 4,\n\tATA_DMA_ERR = 2,\n\tATA_DMA_ACTIVE = 1,\n\tATA_HOB = 128,\n\tATA_NIEN = 2,\n\tATA_LBA = 64,\n\tATA_DEV1 = 16,\n\tATA_DEVICE_OBS = 160,\n\tATA_DEVCTL_OBS = 8,\n\tATA_BUSY = 128,\n\tATA_DRDY = 64,\n\tATA_DF = 32,\n\tATA_DSC = 16,\n\tATA_DRQ = 8,\n\tATA_CORR = 4,\n\tATA_SENSE = 2,\n\tATA_ERR = 1,\n\tATA_SRST = 4,\n\tATA_ICRC = 128,\n\tATA_BBK = 128,\n\tATA_UNC = 64,\n\tATA_MC = 32,\n\tATA_IDNF = 16,\n\tATA_MCR = 8,\n\tATA_ABORTED = 4,\n\tATA_TRK0NF = 2,\n\tATA_AMNF = 1,\n\tATAPI_LFS = 240,\n\tATAPI_EOM = 2,\n\tATAPI_ILI = 1,\n\tATAPI_IO = 2,\n\tATAPI_COD = 1,\n\tATA_REG_DATA = 0,\n\tATA_REG_ERR = 1,\n\tATA_REG_NSECT = 2,\n\tATA_REG_LBAL = 3,\n\tATA_REG_LBAM = 4,\n\tATA_REG_LBAH = 5,\n\tATA_REG_DEVICE = 6,\n\tATA_REG_STATUS = 7,\n\tATA_REG_FEATURE = 1,\n\tATA_REG_CMD = 7,\n\tATA_REG_BYTEL = 4,\n\tATA_REG_BYTEH = 5,\n\tATA_REG_DEVSEL = 6,\n\tATA_REG_IRQ = 2,\n\tATA_CMD_DEV_RESET = 8,\n\tATA_CMD_CHK_POWER = 229,\n\tATA_CMD_STANDBY = 226,\n\tATA_CMD_IDLE = 227,\n\tATA_CMD_EDD = 144,\n\tATA_CMD_DOWNLOAD_MICRO = 146,\n\tATA_CMD_DOWNLOAD_MICRO_DMA = 147,\n\tATA_CMD_NOP = 0,\n\tATA_CMD_FLUSH = 231,\n\tATA_CMD_FLUSH_EXT = 234,\n\tATA_CMD_ID_ATA = 236,\n\tATA_CMD_ID_ATAPI = 161,\n\tATA_CMD_SERVICE = 162,\n\tATA_CMD_READ = 200,\n\tATA_CMD_READ_EXT = 37,\n\tATA_CMD_READ_QUEUED = 38,\n\tATA_CMD_READ_STREAM_EXT = 43,\n\tATA_CMD_READ_STREAM_DMA_EXT = 42,\n\tATA_CMD_WRITE = 202,\n\tATA_CMD_WRITE_EXT = 53,\n\tATA_CMD_WRITE_QUEUED = 54,\n\tATA_CMD_WRITE_STREAM_EXT = 59,\n\tATA_CMD_WRITE_STREAM_DMA_EXT = 58,\n\tATA_CMD_WRITE_FUA_EXT = 61,\n\tATA_CMD_WRITE_QUEUED_FUA_EXT = 62,\n\tATA_CMD_FPDMA_READ = 96,\n\tATA_CMD_FPDMA_WRITE = 97,\n\tATA_CMD_NCQ_NON_DATA = 99,\n\tATA_CMD_FPDMA_SEND = 100,\n\tATA_CMD_FPDMA_RECV = 101,\n\tATA_CMD_PIO_READ = 32,\n\tATA_CMD_PIO_READ_EXT = 36,\n\tATA_CMD_PIO_WRITE = 48,\n\tATA_CMD_PIO_WRITE_EXT = 52,\n\tATA_CMD_READ_MULTI = 196,\n\tATA_CMD_READ_MULTI_EXT = 41,\n\tATA_CMD_WRITE_MULTI = 197,\n\tATA_CMD_WRITE_MULTI_EXT = 57,\n\tATA_CMD_WRITE_MULTI_FUA_EXT = 206,\n\tATA_CMD_SET_FEATURES = 239,\n\tATA_CMD_SET_MULTI = 198,\n\tATA_CMD_PACKET = 160,\n\tATA_CMD_VERIFY = 64,\n\tATA_CMD_VERIFY_EXT = 66,\n\tATA_CMD_WRITE_UNCORR_EXT = 69,\n\tATA_CMD_STANDBYNOW1 = 224,\n\tATA_CMD_IDLEIMMEDIATE = 225,\n\tATA_CMD_SLEEP = 230,\n\tATA_CMD_INIT_DEV_PARAMS = 145,\n\tATA_CMD_READ_NATIVE_MAX = 248,\n\tATA_CMD_READ_NATIVE_MAX_EXT = 39,\n\tATA_CMD_SET_MAX = 249,\n\tATA_CMD_SET_MAX_EXT = 55,\n\tATA_CMD_READ_LOG_EXT = 47,\n\tATA_CMD_WRITE_LOG_EXT = 63,\n\tATA_CMD_READ_LOG_DMA_EXT = 71,\n\tATA_CMD_WRITE_LOG_DMA_EXT = 87,\n\tATA_CMD_TRUSTED_NONDATA = 91,\n\tATA_CMD_TRUSTED_RCV = 92,\n\tATA_CMD_TRUSTED_RCV_DMA = 93,\n\tATA_CMD_TRUSTED_SND = 94,\n\tATA_CMD_TRUSTED_SND_DMA = 95,\n\tATA_CMD_PMP_READ = 228,\n\tATA_CMD_PMP_READ_DMA = 233,\n\tATA_CMD_PMP_WRITE = 232,\n\tATA_CMD_PMP_WRITE_DMA = 235,\n\tATA_CMD_CONF_OVERLAY = 177,\n\tATA_CMD_SEC_SET_PASS = 241,\n\tATA_CMD_SEC_UNLOCK = 242,\n\tATA_CMD_SEC_ERASE_PREP = 243,\n\tATA_CMD_SEC_ERASE_UNIT = 244,\n\tATA_CMD_SEC_FREEZE_LOCK = 245,\n\tATA_CMD_SEC_DISABLE_PASS = 246,\n\tATA_CMD_CONFIG_STREAM = 81,\n\tATA_CMD_SMART = 176,\n\tATA_CMD_MEDIA_LOCK = 222,\n\tATA_CMD_MEDIA_UNLOCK = 223,\n\tATA_CMD_DSM = 6,\n\tATA_CMD_CHK_MED_CRD_TYP = 209,\n\tATA_CMD_CFA_REQ_EXT_ERR = 3,\n\tATA_CMD_CFA_WRITE_NE = 56,\n\tATA_CMD_CFA_TRANS_SECT = 135,\n\tATA_CMD_CFA_ERASE = 192,\n\tATA_CMD_CFA_WRITE_MULT_NE = 205,\n\tATA_CMD_REQ_SENSE_DATA = 11,\n\tATA_CMD_SANITIZE_DEVICE = 180,\n\tATA_CMD_ZAC_MGMT_IN = 74,\n\tATA_CMD_ZAC_MGMT_OUT = 159,\n\tATA_CMD_RESTORE = 16,\n\tATA_SUBCMD_FPDMA_RECV_RD_LOG_DMA_EXT = 1,\n\tATA_SUBCMD_FPDMA_RECV_ZAC_MGMT_IN = 2,\n\tATA_SUBCMD_FPDMA_SEND_DSM = 0,\n\tATA_SUBCMD_FPDMA_SEND_WR_LOG_DMA_EXT = 2,\n\tATA_SUBCMD_NCQ_NON_DATA_ABORT_QUEUE = 0,\n\tATA_SUBCMD_NCQ_NON_DATA_SET_FEATURES = 5,\n\tATA_SUBCMD_NCQ_NON_DATA_ZERO_EXT = 6,\n\tATA_SUBCMD_NCQ_NON_DATA_ZAC_MGMT_OUT = 7,\n\tATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES = 0,\n\tATA_SUBCMD_ZAC_MGMT_OUT_CLOSE_ZONE = 1,\n\tATA_SUBCMD_ZAC_MGMT_OUT_FINISH_ZONE = 2,\n\tATA_SUBCMD_ZAC_MGMT_OUT_OPEN_ZONE = 3,\n\tATA_SUBCMD_ZAC_MGMT_OUT_RESET_WRITE_POINTER = 4,\n\tATA_LOG_DIRECTORY = 0,\n\tATA_LOG_SATA_NCQ = 16,\n\tATA_LOG_NCQ_NON_DATA = 18,\n\tATA_LOG_NCQ_SEND_RECV = 19,\n\tATA_LOG_CDL = 24,\n\tATA_LOG_CDL_SIZE = 512,\n\tATA_LOG_IDENTIFY_DEVICE = 48,\n\tATA_LOG_SENSE_NCQ = 15,\n\tATA_LOG_SENSE_NCQ_SIZE = 1024,\n\tATA_LOG_CONCURRENT_POSITIONING_RANGES = 71,\n\tATA_LOG_SUPPORTED_CAPABILITIES = 3,\n\tATA_LOG_CURRENT_SETTINGS = 4,\n\tATA_LOG_SECURITY = 6,\n\tATA_LOG_SATA_SETTINGS = 8,\n\tATA_LOG_ZONED_INFORMATION = 9,\n\tATA_LOG_DEVSLP_OFFSET = 48,\n\tATA_LOG_DEVSLP_SIZE = 8,\n\tATA_LOG_DEVSLP_MDAT = 0,\n\tATA_LOG_DEVSLP_MDAT_MASK = 31,\n\tATA_LOG_DEVSLP_DETO = 1,\n\tATA_LOG_DEVSLP_VALID = 7,\n\tATA_LOG_DEVSLP_VALID_MASK = 128,\n\tATA_LOG_NCQ_PRIO_OFFSET = 9,\n\tATA_LOG_NCQ_SEND_RECV_SUBCMDS_OFFSET = 0,\n\tATA_LOG_NCQ_SEND_RECV_SUBCMDS_DSM = 1,\n\tATA_LOG_NCQ_SEND_RECV_DSM_OFFSET = 4,\n\tATA_LOG_NCQ_SEND_RECV_DSM_TRIM = 1,\n\tATA_LOG_NCQ_SEND_RECV_RD_LOG_OFFSET = 8,\n\tATA_LOG_NCQ_SEND_RECV_RD_LOG_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_WR_LOG_OFFSET = 12,\n\tATA_LOG_NCQ_SEND_RECV_WR_LOG_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OFFSET = 16,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OUT_SUPPORTED = 1,\n\tATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_IN_SUPPORTED = 2,\n\tATA_LOG_NCQ_SEND_RECV_SIZE = 20,\n\tATA_LOG_NCQ_NON_DATA_SUBCMDS_OFFSET = 0,\n\tATA_LOG_NCQ_NON_DATA_ABORT_OFFSET = 0,\n\tATA_LOG_NCQ_NON_DATA_ABORT_NCQ = 1,\n\tATA_LOG_NCQ_NON_DATA_ABORT_ALL = 2,\n\tATA_LOG_NCQ_NON_DATA_ABORT_STREAMING = 4,\n\tATA_LOG_NCQ_NON_DATA_ABORT_NON_STREAMING = 8,\n\tATA_LOG_NCQ_NON_DATA_ABORT_SELECTED = 16,\n\tATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OFFSET = 28,\n\tATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OUT = 1,\n\tATA_LOG_NCQ_NON_DATA_SIZE = 64,\n\tATA_CMD_READ_LONG = 34,\n\tATA_CMD_READ_LONG_ONCE = 35,\n\tATA_CMD_WRITE_LONG = 50,\n\tATA_CMD_WRITE_LONG_ONCE = 51,\n\tSETFEATURES_XFER = 3,\n\tXFER_UDMA_7 = 71,\n\tXFER_UDMA_6 = 70,\n\tXFER_UDMA_5 = 69,\n\tXFER_UDMA_4 = 68,\n\tXFER_UDMA_3 = 67,\n\tXFER_UDMA_2 = 66,\n\tXFER_UDMA_1 = 65,\n\tXFER_UDMA_0 = 64,\n\tXFER_MW_DMA_4 = 36,\n\tXFER_MW_DMA_3 = 35,\n\tXFER_MW_DMA_2 = 34,\n\tXFER_MW_DMA_1 = 33,\n\tXFER_MW_DMA_0 = 32,\n\tXFER_SW_DMA_2 = 18,\n\tXFER_SW_DMA_1 = 17,\n\tXFER_SW_DMA_0 = 16,\n\tXFER_PIO_6 = 14,\n\tXFER_PIO_5 = 13,\n\tXFER_PIO_4 = 12,\n\tXFER_PIO_3 = 11,\n\tXFER_PIO_2 = 10,\n\tXFER_PIO_1 = 9,\n\tXFER_PIO_0 = 8,\n\tXFER_PIO_SLOW = 0,\n\tSETFEATURES_WC_ON = 2,\n\tSETFEATURES_WC_OFF = 130,\n\tSETFEATURES_RA_ON = 170,\n\tSETFEATURES_RA_OFF = 85,\n\tSETFEATURES_AAM_ON = 66,\n\tSETFEATURES_AAM_OFF = 194,\n\tSETFEATURES_SPINUP = 7,\n\tSETFEATURES_SPINUP_TIMEOUT = 30000,\n\tSETFEATURES_SATA_ENABLE = 16,\n\tSETFEATURES_SATA_DISABLE = 144,\n\tSETFEATURES_CDL = 13,\n\tSATA_FPDMA_OFFSET = 1,\n\tSATA_FPDMA_AA = 2,\n\tSATA_DIPM = 3,\n\tSATA_FPDMA_IN_ORDER = 4,\n\tSATA_AN = 5,\n\tSATA_SSP = 6,\n\tSATA_DEVSLP = 9,\n\tSETFEATURE_SENSE_DATA = 195,\n\tSETFEATURE_SENSE_DATA_SUCC_NCQ = 196,\n\tATA_SET_MAX_ADDR = 0,\n\tATA_SET_MAX_PASSWD = 1,\n\tATA_SET_MAX_LOCK = 2,\n\tATA_SET_MAX_UNLOCK = 3,\n\tATA_SET_MAX_FREEZE_LOCK = 4,\n\tATA_SET_MAX_PASSWD_DMA = 5,\n\tATA_SET_MAX_UNLOCK_DMA = 6,\n\tATA_DCO_RESTORE = 192,\n\tATA_DCO_FREEZE_LOCK = 193,\n\tATA_DCO_IDENTIFY = 194,\n\tATA_DCO_SET = 195,\n\tATA_SMART_ENABLE = 216,\n\tATA_SMART_READ_VALUES = 208,\n\tATA_SMART_READ_THRESHOLDS = 209,\n\tATA_DSM_TRIM = 1,\n\tATA_SMART_LBAM_PASS = 79,\n\tATA_SMART_LBAH_PASS = 194,\n\tATAPI_PKT_DMA = 1,\n\tATAPI_DMADIR = 4,\n\tATAPI_CDB_LEN = 16,\n\tSATA_PMP_MAX_PORTS = 15,\n\tSATA_PMP_CTRL_PORT = 15,\n\tSATA_PMP_GSCR_DWORDS = 128,\n\tSATA_PMP_GSCR_PROD_ID = 0,\n\tSATA_PMP_GSCR_REV = 1,\n\tSATA_PMP_GSCR_PORT_INFO = 2,\n\tSATA_PMP_GSCR_ERROR = 32,\n\tSATA_PMP_GSCR_ERROR_EN = 33,\n\tSATA_PMP_GSCR_FEAT = 64,\n\tSATA_PMP_GSCR_FEAT_EN = 96,\n\tSATA_PMP_PSCR_STATUS = 0,\n\tSATA_PMP_PSCR_ERROR = 1,\n\tSATA_PMP_PSCR_CONTROL = 2,\n\tSATA_PMP_FEAT_BIST = 1,\n\tSATA_PMP_FEAT_PMREQ = 2,\n\tSATA_PMP_FEAT_DYNSSC = 4,\n\tSATA_PMP_FEAT_NOTIFY = 8,\n\tATA_CBL_NONE = 0,\n\tATA_CBL_PATA40 = 1,\n\tATA_CBL_PATA80 = 2,\n\tATA_CBL_PATA40_SHORT = 3,\n\tATA_CBL_PATA_UNK = 4,\n\tATA_CBL_PATA_IGN = 5,\n\tATA_CBL_SATA = 6,\n\tSCR_STATUS = 0,\n\tSCR_ERROR = 1,\n\tSCR_CONTROL = 2,\n\tSCR_ACTIVE = 3,\n\tSCR_NOTIFICATION = 4,\n\tSERR_DATA_RECOVERED = 1,\n\tSERR_COMM_RECOVERED = 2,\n\tSERR_DATA = 256,\n\tSERR_PERSISTENT = 512,\n\tSERR_PROTOCOL = 1024,\n\tSERR_INTERNAL = 2048,\n\tSERR_PHYRDY_CHG = 65536,\n\tSERR_PHY_INT_ERR = 131072,\n\tSERR_COMM_WAKE = 262144,\n\tSERR_10B_8B_ERR = 524288,\n\tSERR_DISPARITY = 1048576,\n\tSERR_CRC = 2097152,\n\tSERR_HANDSHAKE = 4194304,\n\tSERR_LINK_SEQ_ERR = 8388608,\n\tSERR_TRANS_ST_ERROR = 16777216,\n\tSERR_UNRECOG_FIS = 33554432,\n\tSERR_DEV_XCHG = 67108864,\n};\n\nenum {\n\tATA_READID_POSTRESET = 1,\n\tATA_DNXFER_PIO = 0,\n\tATA_DNXFER_DMA = 1,\n\tATA_DNXFER_40C = 2,\n\tATA_DNXFER_FORCE_PIO = 3,\n\tATA_DNXFER_FORCE_PIO0 = 4,\n\tATA_DNXFER_QUIET = -2147483648,\n};\n\nenum {\n\tAT_PKT_END = -1,\n\tBEYOND_PKT_END = -2,\n};\n\nenum {\n\tAUTOFS_DEV_IOCTL_VERSION_CMD = 113,\n\tAUTOFS_DEV_IOCTL_PROTOVER_CMD = 114,\n\tAUTOFS_DEV_IOCTL_PROTOSUBVER_CMD = 115,\n\tAUTOFS_DEV_IOCTL_OPENMOUNT_CMD = 116,\n\tAUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD = 117,\n\tAUTOFS_DEV_IOCTL_READY_CMD = 118,\n\tAUTOFS_DEV_IOCTL_FAIL_CMD = 119,\n\tAUTOFS_DEV_IOCTL_SETPIPEFD_CMD = 120,\n\tAUTOFS_DEV_IOCTL_CATATONIC_CMD = 121,\n\tAUTOFS_DEV_IOCTL_TIMEOUT_CMD = 122,\n\tAUTOFS_DEV_IOCTL_REQUESTER_CMD = 123,\n\tAUTOFS_DEV_IOCTL_EXPIRE_CMD = 124,\n\tAUTOFS_DEV_IOCTL_ASKUMOUNT_CMD = 125,\n\tAUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD = 126,\n};\n\nenum {\n\tAUTOFS_IOC_EXPIRE_MULTI_CMD = 102,\n\tAUTOFS_IOC_PROTOSUBVER_CMD = 103,\n\tAUTOFS_IOC_ASKUMOUNT_CMD = 112,\n};\n\nenum {\n\tAUTOFS_IOC_READY_CMD = 96,\n\tAUTOFS_IOC_FAIL_CMD = 97,\n\tAUTOFS_IOC_CATATONIC_CMD = 98,\n\tAUTOFS_IOC_PROTOVER_CMD = 99,\n\tAUTOFS_IOC_SETTIMEOUT_CMD = 100,\n\tAUTOFS_IOC_EXPIRE_CMD = 101,\n};\n\nenum {\n\tAX25_VALUES_IPDEFMODE = 0,\n\tAX25_VALUES_AXDEFMODE = 1,\n\tAX25_VALUES_BACKOFF = 2,\n\tAX25_VALUES_CONMODE = 3,\n\tAX25_VALUES_WINDOW = 4,\n\tAX25_VALUES_EWINDOW = 5,\n\tAX25_VALUES_T1 = 6,\n\tAX25_VALUES_T2 = 7,\n\tAX25_VALUES_T3 = 8,\n\tAX25_VALUES_IDLE = 9,\n\tAX25_VALUES_N2 = 10,\n\tAX25_VALUES_PACLEN = 11,\n\tAX25_VALUES_PROTOCOL = 12,\n\tAX25_MAX_VALUES = 13,\n};\n\nenum {\n\tAXP15060_DCDC1 = 0,\n\tAXP15060_DCDC2 = 1,\n\tAXP15060_DCDC3 = 2,\n\tAXP15060_DCDC4 = 3,\n\tAXP15060_DCDC5 = 4,\n\tAXP15060_DCDC6 = 5,\n\tAXP15060_ALDO1 = 6,\n\tAXP15060_ALDO2 = 7,\n\tAXP15060_ALDO3 = 8,\n\tAXP15060_ALDO4 = 9,\n\tAXP15060_ALDO5 = 10,\n\tAXP15060_BLDO1 = 11,\n\tAXP15060_BLDO2 = 12,\n\tAXP15060_BLDO3 = 13,\n\tAXP15060_BLDO4 = 14,\n\tAXP15060_BLDO5 = 15,\n\tAXP15060_CLDO1 = 16,\n\tAXP15060_CLDO2 = 17,\n\tAXP15060_CLDO3 = 18,\n\tAXP15060_CLDO4 = 19,\n\tAXP15060_CPUSLDO = 20,\n\tAXP15060_SW = 21,\n\tAXP15060_RTC_LDO = 22,\n\tAXP15060_REG_ID_MAX = 23,\n};\n\nenum {\n\tAXP152_IRQ_LDO0IN_CONNECT = 1,\n\tAXP152_IRQ_LDO0IN_REMOVAL = 2,\n\tAXP152_IRQ_ALDO0IN_CONNECT = 3,\n\tAXP152_IRQ_ALDO0IN_REMOVAL = 4,\n\tAXP152_IRQ_DCDC1_V_LOW = 5,\n\tAXP152_IRQ_DCDC2_V_LOW = 6,\n\tAXP152_IRQ_DCDC3_V_LOW = 7,\n\tAXP152_IRQ_DCDC4_V_LOW = 8,\n\tAXP152_IRQ_PEK_SHORT = 9,\n\tAXP152_IRQ_PEK_LONG = 10,\n\tAXP152_IRQ_TIMER = 11,\n\tAXP152_IRQ_PEK_FAL_EDGE = 12,\n\tAXP152_IRQ_PEK_RIS_EDGE = 13,\n\tAXP152_IRQ_GPIO3_INPUT = 14,\n\tAXP152_IRQ_GPIO2_INPUT = 15,\n\tAXP152_IRQ_GPIO1_INPUT = 16,\n\tAXP152_IRQ_GPIO0_INPUT = 17,\n};\n\nenum {\n\tAXP20X_IRQ_ACIN_OVER_V = 1,\n\tAXP20X_IRQ_ACIN_PLUGIN = 2,\n\tAXP20X_IRQ_ACIN_REMOVAL = 3,\n\tAXP20X_IRQ_VBUS_OVER_V = 4,\n\tAXP20X_IRQ_VBUS_PLUGIN = 5,\n\tAXP20X_IRQ_VBUS_REMOVAL = 6,\n\tAXP20X_IRQ_VBUS_V_LOW = 7,\n\tAXP20X_IRQ_BATT_PLUGIN = 8,\n\tAXP20X_IRQ_BATT_REMOVAL = 9,\n\tAXP20X_IRQ_BATT_ENT_ACT_MODE = 10,\n\tAXP20X_IRQ_BATT_EXIT_ACT_MODE = 11,\n\tAXP20X_IRQ_CHARG = 12,\n\tAXP20X_IRQ_CHARG_DONE = 13,\n\tAXP20X_IRQ_BATT_TEMP_HIGH = 14,\n\tAXP20X_IRQ_BATT_TEMP_LOW = 15,\n\tAXP20X_IRQ_DIE_TEMP_HIGH = 16,\n\tAXP20X_IRQ_CHARG_I_LOW = 17,\n\tAXP20X_IRQ_DCDC1_V_LONG = 18,\n\tAXP20X_IRQ_DCDC2_V_LONG = 19,\n\tAXP20X_IRQ_DCDC3_V_LONG = 20,\n\tAXP20X_IRQ_PEK_SHORT = 22,\n\tAXP20X_IRQ_PEK_LONG = 23,\n\tAXP20X_IRQ_N_OE_PWR_ON = 24,\n\tAXP20X_IRQ_N_OE_PWR_OFF = 25,\n\tAXP20X_IRQ_VBUS_VALID = 26,\n\tAXP20X_IRQ_VBUS_NOT_VALID = 27,\n\tAXP20X_IRQ_VBUS_SESS_VALID = 28,\n\tAXP20X_IRQ_VBUS_SESS_END = 29,\n\tAXP20X_IRQ_LOW_PWR_LVL1 = 30,\n\tAXP20X_IRQ_LOW_PWR_LVL2 = 31,\n\tAXP20X_IRQ_TIMER = 32,\n\tAXP20X_IRQ_PEK_FAL_EDGE = 33,\n\tAXP20X_IRQ_PEK_RIS_EDGE = 34,\n\tAXP20X_IRQ_GPIO3_INPUT = 35,\n\tAXP20X_IRQ_GPIO2_INPUT = 36,\n\tAXP20X_IRQ_GPIO1_INPUT = 37,\n\tAXP20X_IRQ_GPIO0_INPUT = 38,\n};\n\nenum {\n\tAXP20X_LDO1 = 0,\n\tAXP20X_LDO2 = 1,\n\tAXP20X_LDO3 = 2,\n\tAXP20X_LDO4 = 3,\n\tAXP20X_LDO5 = 4,\n\tAXP20X_DCDC2 = 5,\n\tAXP20X_DCDC3 = 6,\n\tAXP20X_REG_ID_MAX = 7,\n};\n\nenum {\n\tAXP22X_DCDC1 = 0,\n\tAXP22X_DCDC2 = 1,\n\tAXP22X_DCDC3 = 2,\n\tAXP22X_DCDC4 = 3,\n\tAXP22X_DCDC5 = 4,\n\tAXP22X_DC1SW = 5,\n\tAXP22X_DC5LDO = 6,\n\tAXP22X_ALDO1 = 7,\n\tAXP22X_ALDO2 = 8,\n\tAXP22X_ALDO3 = 9,\n\tAXP22X_ELDO1 = 10,\n\tAXP22X_ELDO2 = 11,\n\tAXP22X_ELDO3 = 12,\n\tAXP22X_DLDO1 = 13,\n\tAXP22X_DLDO2 = 14,\n\tAXP22X_DLDO3 = 15,\n\tAXP22X_DLDO4 = 16,\n\tAXP22X_RTC_LDO = 17,\n\tAXP22X_LDO_IO0 = 18,\n\tAXP22X_LDO_IO1 = 19,\n\tAXP22X_REG_ID_MAX = 20,\n};\n\nenum {\n\tAXP313A_DCDC1 = 0,\n\tAXP313A_DCDC2 = 1,\n\tAXP313A_DCDC3 = 2,\n\tAXP313A_ALDO1 = 3,\n\tAXP313A_DLDO1 = 4,\n\tAXP313A_RTC_LDO = 5,\n\tAXP313A_REG_ID_MAX = 6,\n};\n\nenum {\n\tAXP717_DCDC1 = 0,\n\tAXP717_DCDC2 = 1,\n\tAXP717_DCDC3 = 2,\n\tAXP717_DCDC4 = 3,\n\tAXP717_ALDO1 = 4,\n\tAXP717_ALDO2 = 5,\n\tAXP717_ALDO3 = 6,\n\tAXP717_ALDO4 = 7,\n\tAXP717_BLDO1 = 8,\n\tAXP717_BLDO2 = 9,\n\tAXP717_BLDO3 = 10,\n\tAXP717_BLDO4 = 11,\n\tAXP717_CLDO1 = 12,\n\tAXP717_CLDO2 = 13,\n\tAXP717_CLDO3 = 14,\n\tAXP717_CLDO4 = 15,\n\tAXP717_CPUSLDO = 16,\n\tAXP717_BOOST = 17,\n\tAXP717_REG_ID_MAX = 18,\n};\n\nenum {\n\tAXP803_DCDC1 = 0,\n\tAXP803_DCDC2 = 1,\n\tAXP803_DCDC3 = 2,\n\tAXP803_DCDC4 = 3,\n\tAXP803_DCDC5 = 4,\n\tAXP803_DCDC6 = 5,\n\tAXP803_DC1SW = 6,\n\tAXP803_ALDO1 = 7,\n\tAXP803_ALDO2 = 8,\n\tAXP803_ALDO3 = 9,\n\tAXP803_DLDO1 = 10,\n\tAXP803_DLDO2 = 11,\n\tAXP803_DLDO3 = 12,\n\tAXP803_DLDO4 = 13,\n\tAXP803_ELDO1 = 14,\n\tAXP803_ELDO2 = 15,\n\tAXP803_ELDO3 = 16,\n\tAXP803_FLDO1 = 17,\n\tAXP803_FLDO2 = 18,\n\tAXP803_RTC_LDO = 19,\n\tAXP803_LDO_IO0 = 20,\n\tAXP803_LDO_IO1 = 21,\n\tAXP803_REG_ID_MAX = 22,\n};\n\nenum {\n\tAXP806_DCDCA = 0,\n\tAXP806_DCDCB = 1,\n\tAXP806_DCDCC = 2,\n\tAXP806_DCDCD = 3,\n\tAXP806_DCDCE = 4,\n\tAXP806_ALDO1 = 5,\n\tAXP806_ALDO2 = 6,\n\tAXP806_ALDO3 = 7,\n\tAXP806_BLDO1 = 8,\n\tAXP806_BLDO2 = 9,\n\tAXP806_BLDO3 = 10,\n\tAXP806_BLDO4 = 11,\n\tAXP806_CLDO1 = 12,\n\tAXP806_CLDO2 = 13,\n\tAXP806_CLDO3 = 14,\n\tAXP806_SW = 15,\n\tAXP806_REG_ID_MAX = 16,\n};\n\nenum {\n\tAXP809_DCDC1 = 0,\n\tAXP809_DCDC2 = 1,\n\tAXP809_DCDC3 = 2,\n\tAXP809_DCDC4 = 3,\n\tAXP809_DCDC5 = 4,\n\tAXP809_DC1SW = 5,\n\tAXP809_DC5LDO = 6,\n\tAXP809_ALDO1 = 7,\n\tAXP809_ALDO2 = 8,\n\tAXP809_ALDO3 = 9,\n\tAXP809_ELDO1 = 10,\n\tAXP809_ELDO2 = 11,\n\tAXP809_ELDO3 = 12,\n\tAXP809_DLDO1 = 13,\n\tAXP809_DLDO2 = 14,\n\tAXP809_RTC_LDO = 15,\n\tAXP809_LDO_IO0 = 16,\n\tAXP809_LDO_IO1 = 17,\n\tAXP809_SW = 18,\n\tAXP809_REG_ID_MAX = 19,\n};\n\nenum {\n\tAXP813_DCDC1 = 0,\n\tAXP813_DCDC2 = 1,\n\tAXP813_DCDC3 = 2,\n\tAXP813_DCDC4 = 3,\n\tAXP813_DCDC5 = 4,\n\tAXP813_DCDC6 = 5,\n\tAXP813_DCDC7 = 6,\n\tAXP813_ALDO1 = 7,\n\tAXP813_ALDO2 = 8,\n\tAXP813_ALDO3 = 9,\n\tAXP813_DLDO1 = 10,\n\tAXP813_DLDO2 = 11,\n\tAXP813_DLDO3 = 12,\n\tAXP813_DLDO4 = 13,\n\tAXP813_ELDO1 = 14,\n\tAXP813_ELDO2 = 15,\n\tAXP813_ELDO3 = 16,\n\tAXP813_FLDO1 = 17,\n\tAXP813_FLDO2 = 18,\n\tAXP813_FLDO3 = 19,\n\tAXP813_RTC_LDO = 20,\n\tAXP813_LDO_IO0 = 21,\n\tAXP813_LDO_IO1 = 22,\n\tAXP813_SW = 23,\n\tAXP813_REG_ID_MAX = 24,\n};\n\nenum {\n\tAudit_equal = 0,\n\tAudit_not_equal = 1,\n\tAudit_bitmask = 2,\n\tAudit_bittest = 3,\n\tAudit_lt = 4,\n\tAudit_gt = 5,\n\tAudit_le = 6,\n\tAudit_ge = 7,\n\tAudit_bad = 8,\n};\n\nenum {\n\tBIAS = 2147483648,\n};\n\nenum {\n\tBIOSET_NEED_BVECS = 1,\n\tBIOSET_NEED_RESCUER = 2,\n\tBIOSET_PERCPU_CACHE = 4,\n};\n\nenum {\n\tBIO_PAGE_PINNED = 0,\n\tBIO_CLONED = 1,\n\tBIO_BOUNCED = 2,\n\tBIO_QUIET = 3,\n\tBIO_CHAIN = 4,\n\tBIO_REFFED = 5,\n\tBIO_BPS_THROTTLED = 6,\n\tBIO_TRACE_COMPLETION = 7,\n\tBIO_CGROUP_ACCT = 8,\n\tBIO_QOS_THROTTLED = 9,\n\tBIO_QOS_MERGED = 10,\n\tBIO_REMAPPED = 11,\n\tBIO_ZONE_WRITE_PLUGGING = 12,\n\tBIO_EMULATES_ZONE_APPEND = 13,\n\tBIO_FLAG_LAST = 14,\n};\n\nenum {\n\tBLK_MQ_F_TAG_QUEUE_SHARED = 2,\n\tBLK_MQ_F_STACKING = 4,\n\tBLK_MQ_F_TAG_HCTX_SHARED = 8,\n\tBLK_MQ_F_BLOCKING = 16,\n\tBLK_MQ_F_TAG_RR = 32,\n\tBLK_MQ_F_NO_SCHED_BY_DEFAULT = 64,\n\tBLK_MQ_F_MAX = 128,\n};\n\nenum {\n\tBLK_MQ_NO_TAG = 4294967295,\n\tBLK_MQ_TAG_MIN = 1,\n\tBLK_MQ_TAG_MAX = 4294967294,\n};\n\nenum {\n\tBLK_MQ_REQ_NOWAIT = 1,\n\tBLK_MQ_REQ_RESERVED = 2,\n\tBLK_MQ_REQ_PM = 4,\n};\n\nenum {\n\tBLK_MQ_S_STOPPED = 0,\n\tBLK_MQ_S_TAG_ACTIVE = 1,\n\tBLK_MQ_S_SCHED_RESTART = 2,\n\tBLK_MQ_S_INACTIVE = 3,\n\tBLK_MQ_S_MAX = 4,\n};\n\nenum {\n\tBLK_MQ_UNIQUE_TAG_BITS = 16,\n\tBLK_MQ_UNIQUE_TAG_MASK = 65535,\n};\n\nenum {\n\tBLOCK_BITMAP = 0,\n\tINODE_BITMAP = 1,\n\tINODE_TABLE = 2,\n\tGROUP_TABLE_COUNT = 3,\n};\n\nenum {\n\tBPF_ADJ_ROOM_ENCAP_L2_MASK = 255,\n\tBPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56,\n};\n\nenum {\n\tBPF_ANY = 0,\n\tBPF_NOEXIST = 1,\n\tBPF_EXIST = 2,\n\tBPF_F_LOCK = 4,\n};\n\nenum {\n\tBPF_CSUM_LEVEL_QUERY = 0,\n\tBPF_CSUM_LEVEL_INC = 1,\n\tBPF_CSUM_LEVEL_DEC = 2,\n\tBPF_CSUM_LEVEL_RESET = 3,\n};\n\nenum {\n\tBPF_FIB_LKUP_RET_SUCCESS = 0,\n\tBPF_FIB_LKUP_RET_BLACKHOLE = 1,\n\tBPF_FIB_LKUP_RET_UNREACHABLE = 2,\n\tBPF_FIB_LKUP_RET_PROHIBIT = 3,\n\tBPF_FIB_LKUP_RET_NOT_FWDED = 4,\n\tBPF_FIB_LKUP_RET_FWD_DISABLED = 5,\n\tBPF_FIB_LKUP_RET_UNSUPP_LWT = 6,\n\tBPF_FIB_LKUP_RET_NO_NEIGH = 7,\n\tBPF_FIB_LKUP_RET_FRAG_NEEDED = 8,\n\tBPF_FIB_LKUP_RET_NO_SRC_ADDR = 9,\n};\n\nenum {\n\tBPF_FIB_LOOKUP_DIRECT = 1,\n\tBPF_FIB_LOOKUP_OUTPUT = 2,\n\tBPF_FIB_LOOKUP_SKIP_NEIGH = 4,\n\tBPF_FIB_LOOKUP_TBID = 8,\n\tBPF_FIB_LOOKUP_SRC = 16,\n\tBPF_FIB_LOOKUP_MARK = 32,\n};\n\nenum {\n\tBPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 1,\n\tBPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 2,\n\tBPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 4,\n};\n\nenum {\n\tBPF_F_ADJ_ROOM_FIXED_GSO = 1,\n\tBPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 2,\n\tBPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 4,\n\tBPF_F_ADJ_ROOM_ENCAP_L4_GRE = 8,\n\tBPF_F_ADJ_ROOM_ENCAP_L4_UDP = 16,\n\tBPF_F_ADJ_ROOM_NO_CSUM_RESET = 32,\n\tBPF_F_ADJ_ROOM_ENCAP_L2_ETH = 64,\n\tBPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 128,\n\tBPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256,\n};\n\nenum {\n\tBPF_F_CURRENT_NETNS = -1,\n};\n\nenum {\n\tBPF_F_GET_BRANCH_RECORDS_SIZE = 1,\n};\n\nenum {\n\tBPF_F_HDR_FIELD_MASK = 15,\n};\n\nenum {\n\tBPF_F_INDEX_MASK = 4294967295ULL,\n\tBPF_F_CURRENT_CPU = 4294967295ULL,\n\tBPF_F_CTXLEN_MASK = 4503595332403200ULL,\n};\n\nenum {\n\tBPF_F_INGRESS = 1,\n\tBPF_F_BROADCAST = 8,\n\tBPF_F_EXCLUDE_INGRESS = 16,\n};\n\nenum {\n\tBPF_F_NEIGH = 65536,\n\tBPF_F_PEER = 131072,\n\tBPF_F_NEXTHOP = 262144,\n};\n\nenum {\n\tBPF_F_NO_PREALLOC = 1,\n\tBPF_F_NO_COMMON_LRU = 2,\n\tBPF_F_NUMA_NODE = 4,\n\tBPF_F_RDONLY = 8,\n\tBPF_F_WRONLY = 16,\n\tBPF_F_STACK_BUILD_ID = 32,\n\tBPF_F_ZERO_SEED = 64,\n\tBPF_F_RDONLY_PROG = 128,\n\tBPF_F_WRONLY_PROG = 256,\n\tBPF_F_CLONE = 512,\n\tBPF_F_MMAPABLE = 1024,\n\tBPF_F_PRESERVE_ELEMS = 2048,\n\tBPF_F_INNER_MAP = 4096,\n\tBPF_F_LINK = 8192,\n\tBPF_F_PATH_FD = 16384,\n\tBPF_F_VTYPE_BTF_OBJ_FD = 32768,\n\tBPF_F_TOKEN_FD = 65536,\n\tBPF_F_SEGV_ON_FAULT = 131072,\n\tBPF_F_NO_USER_CONV = 262144,\n};\n\nenum {\n\tBPF_F_PSEUDO_HDR = 16,\n\tBPF_F_MARK_MANGLED_0 = 32,\n\tBPF_F_MARK_ENFORCE = 64,\n};\n\nenum {\n\tBPF_F_RECOMPUTE_CSUM = 1,\n\tBPF_F_INVALIDATE_HASH = 2,\n};\n\nenum {\n\tBPF_F_SKIP_FIELD_MASK = 255,\n\tBPF_F_USER_STACK = 256,\n\tBPF_F_FAST_STACK_CMP = 512,\n\tBPF_F_REUSE_STACKID = 1024,\n\tBPF_F_USER_BUILD_ID = 2048,\n};\n\nenum {\n\tBPF_F_SYSCTL_BASE_NAME = 1,\n};\n\nenum {\n\tBPF_F_TIMER_ABS = 1,\n\tBPF_F_TIMER_CPU_PIN = 2,\n};\n\nenum {\n\tBPF_F_TUNINFO_FLAGS = 16,\n};\n\nenum {\n\tBPF_F_TUNINFO_IPV6 = 1,\n};\n\nenum {\n\tBPF_F_UPROBE_MULTI_RETURN = 1,\n};\n\nenum {\n\tBPF_F_ZERO_CSUM_TX = 2,\n\tBPF_F_DONT_FRAGMENT = 4,\n\tBPF_F_SEQ_NUMBER = 8,\n\tBPF_F_NO_TUNNEL_KEY = 16,\n};\n\nenum {\n\tBPF_LOAD_HDR_OPT_TCP_SYN = 1,\n};\n\nenum {\n\tBPF_LOCAL_STORAGE_GET_F_CREATE = 1,\n\tBPF_SK_STORAGE_GET_F_CREATE = 1,\n};\n\nenum {\n\tBPF_MAX_LOOPS = 8388608,\n};\n\nenum {\n\tBPF_MAX_TRAMP_LINKS = 38,\n};\n\nenum {\n\tBPF_RB_AVAIL_DATA = 0,\n\tBPF_RB_RING_SIZE = 1,\n\tBPF_RB_CONS_POS = 2,\n\tBPF_RB_PROD_POS = 3,\n};\n\nenum {\n\tBPF_RB_NO_WAKEUP = 1,\n\tBPF_RB_FORCE_WAKEUP = 2,\n};\n\nenum {\n\tBPF_REG_0 = 0,\n\tBPF_REG_1 = 1,\n\tBPF_REG_2 = 2,\n\tBPF_REG_3 = 3,\n\tBPF_REG_4 = 4,\n\tBPF_REG_5 = 5,\n\tBPF_REG_6 = 6,\n\tBPF_REG_7 = 7,\n\tBPF_REG_8 = 8,\n\tBPF_REG_9 = 9,\n\tBPF_REG_10 = 10,\n\t__MAX_BPF_REG = 11,\n};\n\nenum {\n\tBPF_RINGBUF_BUSY_BIT = 2147483648,\n\tBPF_RINGBUF_DISCARD_BIT = 1073741824,\n\tBPF_RINGBUF_HDR_SZ = 8,\n};\n\nenum {\n\tBPF_SKB_TSTAMP_UNSPEC = 0,\n\tBPF_SKB_TSTAMP_DELIVERY_MONO = 1,\n\tBPF_SKB_CLOCK_REALTIME = 0,\n\tBPF_SKB_CLOCK_MONOTONIC = 1,\n\tBPF_SKB_CLOCK_TAI = 2,\n};\n\nenum {\n\tBPF_SK_LOOKUP_F_REPLACE = 1,\n\tBPF_SK_LOOKUP_F_NO_REUSEPORT = 2,\n};\n\nenum {\n\tBPF_SOCK_OPS_RTO_CB_FLAG = 1,\n\tBPF_SOCK_OPS_RETRANS_CB_FLAG = 2,\n\tBPF_SOCK_OPS_STATE_CB_FLAG = 4,\n\tBPF_SOCK_OPS_RTT_CB_FLAG = 8,\n\tBPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 16,\n\tBPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 32,\n\tBPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 64,\n\tBPF_SOCK_OPS_ALL_CB_FLAGS = 127,\n};\n\nenum {\n\tBPF_SOCK_OPS_VOID = 0,\n\tBPF_SOCK_OPS_TIMEOUT_INIT = 1,\n\tBPF_SOCK_OPS_RWND_INIT = 2,\n\tBPF_SOCK_OPS_TCP_CONNECT_CB = 3,\n\tBPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 4,\n\tBPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 5,\n\tBPF_SOCK_OPS_NEEDS_ECN = 6,\n\tBPF_SOCK_OPS_BASE_RTT = 7,\n\tBPF_SOCK_OPS_RTO_CB = 8,\n\tBPF_SOCK_OPS_RETRANS_CB = 9,\n\tBPF_SOCK_OPS_STATE_CB = 10,\n\tBPF_SOCK_OPS_TCP_LISTEN_CB = 11,\n\tBPF_SOCK_OPS_RTT_CB = 12,\n\tBPF_SOCK_OPS_PARSE_HDR_OPT_CB = 13,\n\tBPF_SOCK_OPS_HDR_OPT_LEN_CB = 14,\n\tBPF_SOCK_OPS_WRITE_HDR_OPT_CB = 15,\n};\n\nenum {\n\tBPF_TASK_ITER_ALL_PROCS = 0,\n\tBPF_TASK_ITER_ALL_THREADS = 1,\n\tBPF_TASK_ITER_PROC_THREADS = 2,\n};\n\nenum {\n\tBPF_TCP_ESTABLISHED = 1,\n\tBPF_TCP_SYN_SENT = 2,\n\tBPF_TCP_SYN_RECV = 3,\n\tBPF_TCP_FIN_WAIT1 = 4,\n\tBPF_TCP_FIN_WAIT2 = 5,\n\tBPF_TCP_TIME_WAIT = 6,\n\tBPF_TCP_CLOSE = 7,\n\tBPF_TCP_CLOSE_WAIT = 8,\n\tBPF_TCP_LAST_ACK = 9,\n\tBPF_TCP_LISTEN = 10,\n\tBPF_TCP_CLOSING = 11,\n\tBPF_TCP_NEW_SYN_RECV = 12,\n\tBPF_TCP_BOUND_INACTIVE = 13,\n\tBPF_TCP_MAX_STATES = 14,\n};\n\nenum {\n\tBPF_WRITE_HDR_TCP_CURRENT_MSS = 1,\n\tBPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2,\n};\n\nenum {\n\tBPF_XFRM_STATE_OPTS_SZ = 36,\n};\n\nenum {\n\tBR_MCAST_DIR_RX = 0,\n\tBR_MCAST_DIR_TX = 1,\n\tBR_MCAST_DIR_SIZE = 2,\n};\n\nenum {\n\tBTF_FIELDS_MAX = 11,\n};\n\nenum {\n\tBTF_FIELD_IGNORE = 0,\n\tBTF_FIELD_FOUND = 1,\n};\n\nenum {\n\tBTF_F_COMPACT = 1,\n\tBTF_F_NONAME = 2,\n\tBTF_F_PTR_RAW = 4,\n\tBTF_F_ZERO = 8,\n};\n\nenum {\n\tBTF_KFUNC_SET_MAX_CNT = 256,\n\tBTF_DTOR_KFUNC_MAX_CNT = 256,\n\tBTF_KFUNC_FILTER_MAX_CNT = 16,\n};\n\nenum {\n\tBTF_KIND_UNKN = 0,\n\tBTF_KIND_INT = 1,\n\tBTF_KIND_PTR = 2,\n\tBTF_KIND_ARRAY = 3,\n\tBTF_KIND_STRUCT = 4,\n\tBTF_KIND_UNION = 5,\n\tBTF_KIND_ENUM = 6,\n\tBTF_KIND_FWD = 7,\n\tBTF_KIND_TYPEDEF = 8,\n\tBTF_KIND_VOLATILE = 9,\n\tBTF_KIND_CONST = 10,\n\tBTF_KIND_RESTRICT = 11,\n\tBTF_KIND_FUNC = 12,\n\tBTF_KIND_FUNC_PROTO = 13,\n\tBTF_KIND_VAR = 14,\n\tBTF_KIND_DATASEC = 15,\n\tBTF_KIND_FLOAT = 16,\n\tBTF_KIND_DECL_TAG = 17,\n\tBTF_KIND_TYPE_TAG = 18,\n\tBTF_KIND_ENUM64 = 19,\n\tNR_BTF_KINDS = 20,\n\tBTF_KIND_MAX = 19,\n};\n\nenum {\n\tBTF_MODULE_F_LIVE = 1,\n};\n\nenum {\n\tBTF_SOCK_TYPE_INET = 0,\n\tBTF_SOCK_TYPE_INET_CONN = 1,\n\tBTF_SOCK_TYPE_INET_REQ = 2,\n\tBTF_SOCK_TYPE_INET_TW = 3,\n\tBTF_SOCK_TYPE_REQ = 4,\n\tBTF_SOCK_TYPE_SOCK = 5,\n\tBTF_SOCK_TYPE_SOCK_COMMON = 6,\n\tBTF_SOCK_TYPE_TCP = 7,\n\tBTF_SOCK_TYPE_TCP_REQ = 8,\n\tBTF_SOCK_TYPE_TCP_TW = 9,\n\tBTF_SOCK_TYPE_TCP6 = 10,\n\tBTF_SOCK_TYPE_UDP = 11,\n\tBTF_SOCK_TYPE_UDP6 = 12,\n\tBTF_SOCK_TYPE_UNIX = 13,\n\tBTF_SOCK_TYPE_MPTCP = 14,\n\tBTF_SOCK_TYPE_SOCKET = 15,\n\tMAX_BTF_SOCK_TYPE = 16,\n};\n\nenum {\n\tBTF_TRACING_TYPE_TASK = 0,\n\tBTF_TRACING_TYPE_FILE = 1,\n\tBTF_TRACING_TYPE_VMA = 2,\n\tMAX_BTF_TRACING_TYPE = 3,\n};\n\nenum {\n\tBTF_VAR_STATIC = 0,\n\tBTF_VAR_GLOBAL_ALLOCATED = 1,\n\tBTF_VAR_GLOBAL_EXTERN = 2,\n};\n\nenum {\n\tCACHE_RH_CNT = 14,\n};\n\nenum {\n\tCACHE_VALID = 0,\n\tCACHE_NEGATIVE = 1,\n\tCACHE_PENDING = 2,\n\tCACHE_CLEANED = 3,\n};\n\nenum {\n\tCACHE_WH_CNT = 15,\n};\n\nenum {\n\tCFTYPE_ONLY_ON_ROOT = 1,\n\tCFTYPE_NOT_ON_ROOT = 2,\n\tCFTYPE_NS_DELEGATABLE = 4,\n\tCFTYPE_NO_PREFIX = 8,\n\tCFTYPE_WORLD_WRITABLE = 16,\n\tCFTYPE_DEBUG = 32,\n\t__CFTYPE_ONLY_ON_DFL = 65536,\n\t__CFTYPE_NOT_ON_DFL = 131072,\n\t__CFTYPE_ADDED = 262144,\n};\n\nenum {\n\tCGRP_NOTIFY_ON_RELEASE = 0,\n\tCGRP_CPUSET_CLONE_CHILDREN = 1,\n\tCGRP_FREEZE = 2,\n\tCGRP_FROZEN = 3,\n};\n\nenum {\n\tCGRP_ROOT_NOPREFIX = 2,\n\tCGRP_ROOT_XATTR = 4,\n\tCGRP_ROOT_NS_DELEGATE = 8,\n\tCGRP_ROOT_FAVOR_DYNMODS = 16,\n\tCGRP_ROOT_CPUSET_V2_MODE = 65536,\n\tCGRP_ROOT_MEMORY_LOCAL_EVENTS = 131072,\n\tCGRP_ROOT_MEMORY_RECURSIVE_PROT = 262144,\n\tCGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING = 524288,\n\tCGRP_ROOT_PIDS_LOCAL_EVENTS = 1048576,\n};\n\nenum {\n\tCMD_PIPE_ID = 1,\n\tSTATUS_PIPE_ID = 2,\n\tDATA_IN_PIPE_ID = 3,\n\tDATA_OUT_PIPE_ID = 4,\n\tUAS_SIMPLE_TAG = 0,\n\tUAS_HEAD_TAG = 1,\n\tUAS_ORDERED_TAG = 2,\n\tUAS_ACA = 4,\n};\n\nenum {\n\tCMIS_MODULE_LOW_PWR = 1,\n\tCMIS_MODULE_READY = 3,\n};\n\nenum {\n\tCRI_RES_UTIL = 5,\n};\n\nenum {\n\tCRNG_EMPTY = 0,\n\tCRNG_EARLY = 1,\n\tCRNG_READY = 2,\n};\n\nenum {\n\tCRNG_RESEED_START_INTERVAL = 250,\n\tCRNG_RESEED_INTERVAL = 15000,\n};\n\nenum {\n\tCRYPTOA_UNSPEC = 0,\n\tCRYPTOA_ALG = 1,\n\tCRYPTOA_TYPE = 2,\n\t__CRYPTOA_MAX = 3,\n};\n\nenum {\n\tCRYPTO_MSG_ALG_REQUEST = 0,\n\tCRYPTO_MSG_ALG_REGISTER = 1,\n\tCRYPTO_MSG_ALG_LOADED = 2,\n};\n\nenum {\n\tCSD_FLAG_LOCK = 1,\n\tIRQ_WORK_PENDING = 1,\n\tIRQ_WORK_BUSY = 2,\n\tIRQ_WORK_LAZY = 4,\n\tIRQ_WORK_HARD_IRQ = 8,\n\tIRQ_WORK_CLAIMED = 3,\n\tCSD_TYPE_ASYNC = 0,\n\tCSD_TYPE_SYNC = 16,\n\tCSD_TYPE_IRQ_WORK = 32,\n\tCSD_TYPE_TTWU = 48,\n\tCSD_FLAG_TYPE_MASK = 240,\n};\n\nenum {\n\tCSI_DEC_hl_CURSOR_KEYS = 1,\n\tCSI_DEC_hl_132_COLUMNS = 3,\n\tCSI_DEC_hl_REVERSE_VIDEO = 5,\n\tCSI_DEC_hl_ORIGIN_MODE = 6,\n\tCSI_DEC_hl_AUTOWRAP = 7,\n\tCSI_DEC_hl_AUTOREPEAT = 8,\n\tCSI_DEC_hl_MOUSE_X10 = 9,\n\tCSI_DEC_hl_SHOW_CURSOR = 25,\n\tCSI_DEC_hl_MOUSE_VT200 = 1000,\n};\n\nenum {\n\tCSI_K_CURSOR_TO_LINEEND = 0,\n\tCSI_K_LINESTART_TO_CURSOR = 1,\n\tCSI_K_LINE = 2,\n};\n\nenum {\n\tCSI_hl_DISPLAY_CTRL = 3,\n\tCSI_hl_INSERT = 4,\n\tCSI_hl_AUTO_NL = 20,\n};\n\nenum {\n\tCSI_m_DEFAULT = 0,\n\tCSI_m_BOLD = 1,\n\tCSI_m_HALF_BRIGHT = 2,\n\tCSI_m_ITALIC = 3,\n\tCSI_m_UNDERLINE = 4,\n\tCSI_m_BLINK = 5,\n\tCSI_m_REVERSE = 7,\n\tCSI_m_PRI_FONT = 10,\n\tCSI_m_ALT_FONT1 = 11,\n\tCSI_m_ALT_FONT2 = 12,\n\tCSI_m_DOUBLE_UNDERLINE = 21,\n\tCSI_m_NORMAL_INTENSITY = 22,\n\tCSI_m_NO_ITALIC = 23,\n\tCSI_m_NO_UNDERLINE = 24,\n\tCSI_m_NO_BLINK = 25,\n\tCSI_m_NO_REVERSE = 27,\n\tCSI_m_FG_COLOR_BEG = 30,\n\tCSI_m_FG_COLOR_END = 37,\n\tCSI_m_FG_COLOR = 38,\n\tCSI_m_DEFAULT_FG_COLOR = 39,\n\tCSI_m_BG_COLOR_BEG = 40,\n\tCSI_m_BG_COLOR_END = 47,\n\tCSI_m_BG_COLOR = 48,\n\tCSI_m_DEFAULT_BG_COLOR = 49,\n\tCSI_m_BRIGHT_FG_COLOR_BEG = 90,\n\tCSI_m_BRIGHT_FG_COLOR_END = 97,\n\tCSI_m_BRIGHT_FG_COLOR_OFF = 60,\n\tCSI_m_BRIGHT_BG_COLOR_BEG = 100,\n\tCSI_m_BRIGHT_BG_COLOR_END = 107,\n\tCSI_m_BRIGHT_BG_COLOR_OFF = 60,\n};\n\nenum {\n\tCSS_NO_REF = 1,\n\tCSS_ONLINE = 2,\n\tCSS_RELEASED = 4,\n\tCSS_VISIBLE = 8,\n\tCSS_DYING = 16,\n};\n\nenum {\n\tCSS_TASK_ITER_PROCS = 1,\n\tCSS_TASK_ITER_THREADED = 2,\n\tCSS_TASK_ITER_SKIPPED = 65536,\n};\n\nenum {\n\tCTL_RES_CNT = 1,\n};\n\nenum {\n\tCTL_RES_TM = 2,\n};\n\nenum {\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0,\n\tCTRL_ATTR_MCAST_GRP_NAME = 1,\n\tCTRL_ATTR_MCAST_GRP_ID = 2,\n\t__CTRL_ATTR_MCAST_GRP_MAX = 3,\n};\n\nenum {\n\tCTRL_ATTR_OP_UNSPEC = 0,\n\tCTRL_ATTR_OP_ID = 1,\n\tCTRL_ATTR_OP_FLAGS = 2,\n\t__CTRL_ATTR_OP_MAX = 3,\n};\n\nenum {\n\tCTRL_ATTR_POLICY_UNSPEC = 0,\n\tCTRL_ATTR_POLICY_DO = 1,\n\tCTRL_ATTR_POLICY_DUMP = 2,\n\t__CTRL_ATTR_POLICY_DUMP_MAX = 3,\n\tCTRL_ATTR_POLICY_DUMP_MAX = 2,\n};\n\nenum {\n\tCTRL_ATTR_UNSPEC = 0,\n\tCTRL_ATTR_FAMILY_ID = 1,\n\tCTRL_ATTR_FAMILY_NAME = 2,\n\tCTRL_ATTR_VERSION = 3,\n\tCTRL_ATTR_HDRSIZE = 4,\n\tCTRL_ATTR_MAXATTR = 5,\n\tCTRL_ATTR_OPS = 6,\n\tCTRL_ATTR_MCAST_GROUPS = 7,\n\tCTRL_ATTR_POLICY = 8,\n\tCTRL_ATTR_OP_POLICY = 9,\n\tCTRL_ATTR_OP = 10,\n\t__CTRL_ATTR_MAX = 11,\n};\n\nenum {\n\tCTRL_CMD_UNSPEC = 0,\n\tCTRL_CMD_NEWFAMILY = 1,\n\tCTRL_CMD_DELFAMILY = 2,\n\tCTRL_CMD_GETFAMILY = 3,\n\tCTRL_CMD_NEWOPS = 4,\n\tCTRL_CMD_DELOPS = 5,\n\tCTRL_CMD_GETOPS = 6,\n\tCTRL_CMD_NEWMCAST_GRP = 7,\n\tCTRL_CMD_DELMCAST_GRP = 8,\n\tCTRL_CMD_GETMCAST_GRP = 9,\n\tCTRL_CMD_GETPOLICY = 10,\n\t__CTRL_CMD_MAX = 11,\n};\n\nenum {\n\tDAD_PROCESS = 0,\n\tDAD_BEGIN = 1,\n\tDAD_ABORT = 2,\n};\n\nenum {\n\tDD_DIR_COUNT = 2,\n};\n\nenum {\n\tDD_PRIO_COUNT = 3,\n};\n\nenum {\n\tDEVCONF_FORWARDING = 0,\n\tDEVCONF_HOPLIMIT = 1,\n\tDEVCONF_MTU6 = 2,\n\tDEVCONF_ACCEPT_RA = 3,\n\tDEVCONF_ACCEPT_REDIRECTS = 4,\n\tDEVCONF_AUTOCONF = 5,\n\tDEVCONF_DAD_TRANSMITS = 6,\n\tDEVCONF_RTR_SOLICITS = 7,\n\tDEVCONF_RTR_SOLICIT_INTERVAL = 8,\n\tDEVCONF_RTR_SOLICIT_DELAY = 9,\n\tDEVCONF_USE_TEMPADDR = 10,\n\tDEVCONF_TEMP_VALID_LFT = 11,\n\tDEVCONF_TEMP_PREFERED_LFT = 12,\n\tDEVCONF_REGEN_MAX_RETRY = 13,\n\tDEVCONF_MAX_DESYNC_FACTOR = 14,\n\tDEVCONF_MAX_ADDRESSES = 15,\n\tDEVCONF_FORCE_MLD_VERSION = 16,\n\tDEVCONF_ACCEPT_RA_DEFRTR = 17,\n\tDEVCONF_ACCEPT_RA_PINFO = 18,\n\tDEVCONF_ACCEPT_RA_RTR_PREF = 19,\n\tDEVCONF_RTR_PROBE_INTERVAL = 20,\n\tDEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN = 21,\n\tDEVCONF_PROXY_NDP = 22,\n\tDEVCONF_OPTIMISTIC_DAD = 23,\n\tDEVCONF_ACCEPT_SOURCE_ROUTE = 24,\n\tDEVCONF_MC_FORWARDING = 25,\n\tDEVCONF_DISABLE_IPV6 = 26,\n\tDEVCONF_ACCEPT_DAD = 27,\n\tDEVCONF_FORCE_TLLAO = 28,\n\tDEVCONF_NDISC_NOTIFY = 29,\n\tDEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL = 30,\n\tDEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL = 31,\n\tDEVCONF_SUPPRESS_FRAG_NDISC = 32,\n\tDEVCONF_ACCEPT_RA_FROM_LOCAL = 33,\n\tDEVCONF_USE_OPTIMISTIC = 34,\n\tDEVCONF_ACCEPT_RA_MTU = 35,\n\tDEVCONF_STABLE_SECRET = 36,\n\tDEVCONF_USE_OIF_ADDRS_ONLY = 37,\n\tDEVCONF_ACCEPT_RA_MIN_HOP_LIMIT = 38,\n\tDEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 39,\n\tDEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 40,\n\tDEVCONF_DROP_UNSOLICITED_NA = 41,\n\tDEVCONF_KEEP_ADDR_ON_DOWN = 42,\n\tDEVCONF_RTR_SOLICIT_MAX_INTERVAL = 43,\n\tDEVCONF_SEG6_ENABLED = 44,\n\tDEVCONF_SEG6_REQUIRE_HMAC = 45,\n\tDEVCONF_ENHANCED_DAD = 46,\n\tDEVCONF_ADDR_GEN_MODE = 47,\n\tDEVCONF_DISABLE_POLICY = 48,\n\tDEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN = 49,\n\tDEVCONF_NDISC_TCLASS = 50,\n\tDEVCONF_RPL_SEG_ENABLED = 51,\n\tDEVCONF_RA_DEFRTR_METRIC = 52,\n\tDEVCONF_IOAM6_ENABLED = 53,\n\tDEVCONF_IOAM6_ID = 54,\n\tDEVCONF_IOAM6_ID_WIDE = 55,\n\tDEVCONF_NDISC_EVICT_NOCARRIER = 56,\n\tDEVCONF_ACCEPT_UNTRACKED_NA = 57,\n\tDEVCONF_ACCEPT_RA_MIN_LFT = 58,\n\tDEVCONF_MAX = 59,\n};\n\nenum {\n\tDIO_LOCKING = 1,\n\tDIO_SKIP_HOLES = 2,\n};\n\nenum {\n\tDIO_SHOULD_DIRTY = 1,\n\tDIO_IS_SYNC = 2,\n};\n\nenum {\n\tDIR_CORR = 0,\n\tDATA_CORR = 1,\n\tDATA_UNCORR = 2,\n\tDIR_UNCORR = 3,\n};\n\nenum {\n\tDIR_OFFSET_FIRST = 2,\n\tDIR_OFFSET_EOD = 2147483647,\n};\n\nenum {\n\tDIR_OFFSET_MIN = 3,\n\tDIR_OFFSET_MAX = 2147483646,\n};\n\nenum {\n\tDISCOVERED = 16,\n\tEXPLORED = 32,\n\tFALLTHROUGH = 1,\n\tBRANCH = 2,\n};\n\nenum {\n\tDISK_EVENT_FLAG_POLL = 1,\n\tDISK_EVENT_FLAG_UEVENT = 2,\n\tDISK_EVENT_FLAG_BLOCK_ON_EXCL_WRITE = 4,\n};\n\nenum {\n\tDISK_EVENT_MEDIA_CHANGE = 1,\n\tDISK_EVENT_EJECT_REQUEST = 2,\n};\n\nenum {\n\tDONE_EXPLORING = 0,\n\tKEEP_EXPLORING = 1,\n};\n\nenum {\n\tDQF_ROOT_SQUASH_B = 0,\n\tDQF_SYS_FILE_B = 16,\n\tDQF_PRIVATE = 17,\n};\n\nenum {\n\tDQST_LOOKUPS = 0,\n\tDQST_DROPS = 1,\n\tDQST_READS = 2,\n\tDQST_WRITES = 3,\n\tDQST_CACHE_HITS = 4,\n\tDQST_ALLOC_DQUOTS = 5,\n\tDQST_FREE_DQUOTS = 6,\n\tDQST_SYNCS = 7,\n\t_DQST_DQSTAT_LAST = 8,\n};\n\nenum {\n\tDUMP_PREFIX_NONE = 0,\n\tDUMP_PREFIX_ADDRESS = 1,\n\tDUMP_PREFIX_OFFSET = 2,\n};\n\nenum {\n\tDWAXIDMAC_ARWLEN_1 = 0,\n\tDWAXIDMAC_ARWLEN_2 = 1,\n\tDWAXIDMAC_ARWLEN_4 = 3,\n\tDWAXIDMAC_ARWLEN_8 = 7,\n\tDWAXIDMAC_ARWLEN_16 = 15,\n\tDWAXIDMAC_ARWLEN_32 = 31,\n\tDWAXIDMAC_ARWLEN_64 = 63,\n\tDWAXIDMAC_ARWLEN_128 = 127,\n\tDWAXIDMAC_ARWLEN_256 = 255,\n\tDWAXIDMAC_ARWLEN_MIN = 0,\n\tDWAXIDMAC_ARWLEN_MAX = 255,\n};\n\nenum {\n\tDWAXIDMAC_BURST_TRANS_LEN_1 = 0,\n\tDWAXIDMAC_BURST_TRANS_LEN_4 = 1,\n\tDWAXIDMAC_BURST_TRANS_LEN_8 = 2,\n\tDWAXIDMAC_BURST_TRANS_LEN_16 = 3,\n\tDWAXIDMAC_BURST_TRANS_LEN_32 = 4,\n\tDWAXIDMAC_BURST_TRANS_LEN_64 = 5,\n\tDWAXIDMAC_BURST_TRANS_LEN_128 = 6,\n\tDWAXIDMAC_BURST_TRANS_LEN_256 = 7,\n\tDWAXIDMAC_BURST_TRANS_LEN_512 = 8,\n\tDWAXIDMAC_BURST_TRANS_LEN_1024 = 9,\n};\n\nenum {\n\tDWAXIDMAC_CH_CTL_L_INC = 0,\n\tDWAXIDMAC_CH_CTL_L_NOINC = 1,\n};\n\nenum {\n\tDWAXIDMAC_HS_SEL_HW = 0,\n\tDWAXIDMAC_HS_SEL_SW = 1,\n};\n\nenum {\n\tDWAXIDMAC_IRQ_NONE = 0,\n\tDWAXIDMAC_IRQ_BLOCK_TRF = 1,\n\tDWAXIDMAC_IRQ_DMA_TRF = 2,\n\tDWAXIDMAC_IRQ_SRC_TRAN = 8,\n\tDWAXIDMAC_IRQ_DST_TRAN = 16,\n\tDWAXIDMAC_IRQ_SRC_DEC_ERR = 32,\n\tDWAXIDMAC_IRQ_DST_DEC_ERR = 64,\n\tDWAXIDMAC_IRQ_SRC_SLV_ERR = 128,\n\tDWAXIDMAC_IRQ_DST_SLV_ERR = 256,\n\tDWAXIDMAC_IRQ_LLI_RD_DEC_ERR = 512,\n\tDWAXIDMAC_IRQ_LLI_WR_DEC_ERR = 1024,\n\tDWAXIDMAC_IRQ_LLI_RD_SLV_ERR = 2048,\n\tDWAXIDMAC_IRQ_LLI_WR_SLV_ERR = 4096,\n\tDWAXIDMAC_IRQ_INVALID_ERR = 8192,\n\tDWAXIDMAC_IRQ_MULTIBLKTYPE_ERR = 16384,\n\tDWAXIDMAC_IRQ_DEC_ERR = 65536,\n\tDWAXIDMAC_IRQ_WR2RO_ERR = 131072,\n\tDWAXIDMAC_IRQ_RD2RWO_ERR = 262144,\n\tDWAXIDMAC_IRQ_WRONCHEN_ERR = 524288,\n\tDWAXIDMAC_IRQ_SHADOWREG_ERR = 1048576,\n\tDWAXIDMAC_IRQ_WRONHOLD_ERR = 2097152,\n\tDWAXIDMAC_IRQ_LOCK_CLEARED = 134217728,\n\tDWAXIDMAC_IRQ_SRC_SUSPENDED = 268435456,\n\tDWAXIDMAC_IRQ_SUSPENDED = 536870912,\n\tDWAXIDMAC_IRQ_DISABLED = 1073741824,\n\tDWAXIDMAC_IRQ_ABORTED = 2147483648,\n\tDWAXIDMAC_IRQ_ALL_ERR = 4161504,\n\tDWAXIDMAC_IRQ_ALL = 4294967295,\n};\n\nenum {\n\tDWAXIDMAC_MBLK_TYPE_CONTIGUOUS = 0,\n\tDWAXIDMAC_MBLK_TYPE_RELOAD = 1,\n\tDWAXIDMAC_MBLK_TYPE_SHADOW_REG = 2,\n\tDWAXIDMAC_MBLK_TYPE_LL = 3,\n};\n\nenum {\n\tDWAXIDMAC_TRANS_WIDTH_8 = 0,\n\tDWAXIDMAC_TRANS_WIDTH_16 = 1,\n\tDWAXIDMAC_TRANS_WIDTH_32 = 2,\n\tDWAXIDMAC_TRANS_WIDTH_64 = 3,\n\tDWAXIDMAC_TRANS_WIDTH_128 = 4,\n\tDWAXIDMAC_TRANS_WIDTH_256 = 5,\n\tDWAXIDMAC_TRANS_WIDTH_512 = 6,\n\tDWAXIDMAC_TRANS_WIDTH_MAX = 6,\n};\n\nenum {\n\tDWAXIDMAC_TT_FC_MEM_TO_MEM_DMAC = 0,\n\tDWAXIDMAC_TT_FC_MEM_TO_PER_DMAC = 1,\n\tDWAXIDMAC_TT_FC_PER_TO_MEM_DMAC = 2,\n\tDWAXIDMAC_TT_FC_PER_TO_PER_DMAC = 3,\n\tDWAXIDMAC_TT_FC_PER_TO_MEM_SRC = 4,\n\tDWAXIDMAC_TT_FC_PER_TO_PER_SRC = 5,\n\tDWAXIDMAC_TT_FC_MEM_TO_PER_DST = 6,\n\tDWAXIDMAC_TT_FC_PER_TO_PER_DST = 7,\n};\n\nenum {\n\tEPecma = 0,\n\tEPdec = 1,\n\tEPeq = 2,\n\tEPgt = 3,\n\tEPlt = 4,\n};\n\nenum {\n\tERASE = 0,\n\tWERASE = 1,\n\tKILL = 2,\n};\n\nenum {\n\tES_WRITTEN_B = 0,\n\tES_UNWRITTEN_B = 1,\n\tES_DELAYED_B = 2,\n\tES_HOLE_B = 3,\n\tES_REFERENCED_B = 4,\n\tES_FLAGS = 5,\n};\n\nenum {\n\tETHTOOL_A_BITSET_BITS_UNSPEC = 0,\n\tETHTOOL_A_BITSET_BITS_BIT = 1,\n\t__ETHTOOL_A_BITSET_BITS_CNT = 2,\n\tETHTOOL_A_BITSET_BITS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_BITSET_BIT_UNSPEC = 0,\n\tETHTOOL_A_BITSET_BIT_INDEX = 1,\n\tETHTOOL_A_BITSET_BIT_NAME = 2,\n\tETHTOOL_A_BITSET_BIT_VALUE = 3,\n\t__ETHTOOL_A_BITSET_BIT_CNT = 4,\n\tETHTOOL_A_BITSET_BIT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_BITSET_UNSPEC = 0,\n\tETHTOOL_A_BITSET_NOMASK = 1,\n\tETHTOOL_A_BITSET_SIZE = 2,\n\tETHTOOL_A_BITSET_BITS = 3,\n\tETHTOOL_A_BITSET_VALUE = 4,\n\tETHTOOL_A_BITSET_MASK = 5,\n\t__ETHTOOL_A_BITSET_CNT = 6,\n\tETHTOOL_A_BITSET_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC = 0,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_MIN = 1,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2,\n\t__ETHTOOL_A_C33_PSE_PW_LIMIT_CNT = 3,\n\t__ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_AMPLITUDE_PAIR = 1,\n\tETHTOOL_A_CABLE_AMPLITUDE_mV = 2,\n\t__ETHTOOL_A_CABLE_AMPLITUDE_CNT = 3,\n\tETHTOOL_A_CABLE_AMPLITUDE_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 1,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_CM = 2,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_SRC = 3,\n\t__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT = 4,\n\tETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_INF_SRC_UNSPEC = 0,\n\tETHTOOL_A_CABLE_INF_SRC_TDR = 1,\n\tETHTOOL_A_CABLE_INF_SRC_ALCD = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_NEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_NEST_RESULT = 1,\n\tETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 2,\n\t__ETHTOOL_A_CABLE_NEST_CNT = 3,\n\tETHTOOL_A_CABLE_NEST_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_PAIR_A = 0,\n\tETHTOOL_A_CABLE_PAIR_B = 1,\n\tETHTOOL_A_CABLE_PAIR_C = 2,\n\tETHTOOL_A_CABLE_PAIR_D = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_PULSE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_PULSE_mV = 1,\n\t__ETHTOOL_A_CABLE_PULSE_CNT = 2,\n\tETHTOOL_A_CABLE_PULSE_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = 0,\n\tETHTOOL_A_CABLE_RESULT_CODE_OK = 1,\n\tETHTOOL_A_CABLE_RESULT_CODE_OPEN = 2,\n\tETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = 3,\n\tETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = 4,\n\tETHTOOL_A_CABLE_RESULT_CODE_IMPEDANCE_MISMATCH = 5,\n\tETHTOOL_A_CABLE_RESULT_CODE_NOISE = 6,\n\tETHTOOL_A_CABLE_RESULT_CODE_RESOLUTION_NOT_POSSIBLE = 7,\n};\n\nenum {\n\tETHTOOL_A_CABLE_RESULT_UNSPEC = 0,\n\tETHTOOL_A_CABLE_RESULT_PAIR = 1,\n\tETHTOOL_A_CABLE_RESULT_CODE = 2,\n\tETHTOOL_A_CABLE_RESULT_SRC = 3,\n\t__ETHTOOL_A_CABLE_RESULT_CNT = 4,\n\tETHTOOL_A_CABLE_RESULT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_STEP_UNSPEC = 0,\n\tETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 1,\n\tETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 2,\n\tETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 3,\n\t__ETHTOOL_A_CABLE_STEP_CNT = 4,\n\tETHTOOL_A_CABLE_STEP_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TDR_NEST_STEP = 1,\n\tETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 2,\n\tETHTOOL_A_CABLE_TDR_NEST_PULSE = 3,\n\t__ETHTOOL_A_CABLE_TDR_NEST_CNT = 4,\n\tETHTOOL_A_CABLE_TDR_NEST_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 1,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_NTF_HEADER = 1,\n\tETHTOOL_A_CABLE_TEST_NTF_STATUS = 2,\n\tETHTOOL_A_CABLE_TEST_NTF_NEST = 3,\n\t__ETHTOOL_A_CABLE_TEST_NTF_CNT = 4,\n\tETHTOOL_A_CABLE_TEST_NTF_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 1,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 2,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 3,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 4,\n\t__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT = 5,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_TDR_HEADER = 1,\n\tETHTOOL_A_CABLE_TEST_TDR_CFG = 2,\n\t__ETHTOOL_A_CABLE_TEST_TDR_CNT = 3,\n\tETHTOOL_A_CABLE_TEST_TDR_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_CABLE_TEST_UNSPEC = 0,\n\tETHTOOL_A_CABLE_TEST_HEADER = 1,\n\t__ETHTOOL_A_CABLE_TEST_CNT = 2,\n\tETHTOOL_A_CABLE_TEST_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_CHANNELS_UNSPEC = 0,\n\tETHTOOL_A_CHANNELS_HEADER = 1,\n\tETHTOOL_A_CHANNELS_RX_MAX = 2,\n\tETHTOOL_A_CHANNELS_TX_MAX = 3,\n\tETHTOOL_A_CHANNELS_OTHER_MAX = 4,\n\tETHTOOL_A_CHANNELS_COMBINED_MAX = 5,\n\tETHTOOL_A_CHANNELS_RX_COUNT = 6,\n\tETHTOOL_A_CHANNELS_TX_COUNT = 7,\n\tETHTOOL_A_CHANNELS_OTHER_COUNT = 8,\n\tETHTOOL_A_CHANNELS_COMBINED_COUNT = 9,\n\t__ETHTOOL_A_CHANNELS_CNT = 10,\n\tETHTOOL_A_CHANNELS_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_COALESCE_UNSPEC = 0,\n\tETHTOOL_A_COALESCE_HEADER = 1,\n\tETHTOOL_A_COALESCE_RX_USECS = 2,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES = 3,\n\tETHTOOL_A_COALESCE_RX_USECS_IRQ = 4,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 5,\n\tETHTOOL_A_COALESCE_TX_USECS = 6,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES = 7,\n\tETHTOOL_A_COALESCE_TX_USECS_IRQ = 8,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 9,\n\tETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 10,\n\tETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 11,\n\tETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 12,\n\tETHTOOL_A_COALESCE_PKT_RATE_LOW = 13,\n\tETHTOOL_A_COALESCE_RX_USECS_LOW = 14,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 15,\n\tETHTOOL_A_COALESCE_TX_USECS_LOW = 16,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 17,\n\tETHTOOL_A_COALESCE_PKT_RATE_HIGH = 18,\n\tETHTOOL_A_COALESCE_RX_USECS_HIGH = 19,\n\tETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 20,\n\tETHTOOL_A_COALESCE_TX_USECS_HIGH = 21,\n\tETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 22,\n\tETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 23,\n\tETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 24,\n\tETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 25,\n\tETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES = 26,\n\tETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES = 27,\n\tETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS = 28,\n\tETHTOOL_A_COALESCE_RX_PROFILE = 29,\n\tETHTOOL_A_COALESCE_TX_PROFILE = 30,\n\t__ETHTOOL_A_COALESCE_CNT = 31,\n\tETHTOOL_A_COALESCE_MAX = 30,\n};\n\nenum {\n\tETHTOOL_A_DEBUG_UNSPEC = 0,\n\tETHTOOL_A_DEBUG_HEADER = 1,\n\tETHTOOL_A_DEBUG_MSGMASK = 2,\n\t__ETHTOOL_A_DEBUG_CNT = 3,\n\tETHTOOL_A_DEBUG_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_EEE_UNSPEC = 0,\n\tETHTOOL_A_EEE_HEADER = 1,\n\tETHTOOL_A_EEE_MODES_OURS = 2,\n\tETHTOOL_A_EEE_MODES_PEER = 3,\n\tETHTOOL_A_EEE_ACTIVE = 4,\n\tETHTOOL_A_EEE_ENABLED = 5,\n\tETHTOOL_A_EEE_TX_LPI_ENABLED = 6,\n\tETHTOOL_A_EEE_TX_LPI_TIMER = 7,\n\t__ETHTOOL_A_EEE_CNT = 8,\n\tETHTOOL_A_EEE_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_FEATURES_UNSPEC = 0,\n\tETHTOOL_A_FEATURES_HEADER = 1,\n\tETHTOOL_A_FEATURES_HW = 2,\n\tETHTOOL_A_FEATURES_WANTED = 3,\n\tETHTOOL_A_FEATURES_ACTIVE = 4,\n\tETHTOOL_A_FEATURES_NOCHANGE = 5,\n\t__ETHTOOL_A_FEATURES_CNT = 6,\n\tETHTOOL_A_FEATURES_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_FEC_STAT_UNSPEC = 0,\n\tETHTOOL_A_FEC_STAT_PAD = 1,\n\tETHTOOL_A_FEC_STAT_CORRECTED = 2,\n\tETHTOOL_A_FEC_STAT_UNCORR = 3,\n\tETHTOOL_A_FEC_STAT_CORR_BITS = 4,\n\t__ETHTOOL_A_FEC_STAT_CNT = 5,\n\tETHTOOL_A_FEC_STAT_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_FEC_UNSPEC = 0,\n\tETHTOOL_A_FEC_HEADER = 1,\n\tETHTOOL_A_FEC_MODES = 2,\n\tETHTOOL_A_FEC_AUTO = 3,\n\tETHTOOL_A_FEC_ACTIVE = 4,\n\tETHTOOL_A_FEC_STATS = 5,\n\t__ETHTOOL_A_FEC_CNT = 6,\n\tETHTOOL_A_FEC_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_HEADER_UNSPEC = 0,\n\tETHTOOL_A_HEADER_DEV_INDEX = 1,\n\tETHTOOL_A_HEADER_DEV_NAME = 2,\n\tETHTOOL_A_HEADER_FLAGS = 3,\n\tETHTOOL_A_HEADER_PHY_INDEX = 4,\n\t__ETHTOOL_A_HEADER_CNT = 5,\n\tETHTOOL_A_HEADER_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_IRQ_MODERATION_UNSPEC = 0,\n\tETHTOOL_A_IRQ_MODERATION_USEC = 1,\n\tETHTOOL_A_IRQ_MODERATION_PKTS = 2,\n\tETHTOOL_A_IRQ_MODERATION_COMPS = 3,\n\t__ETHTOOL_A_IRQ_MODERATION_CNT = 4,\n\tETHTOOL_A_IRQ_MODERATION_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_LINKINFO_UNSPEC = 0,\n\tETHTOOL_A_LINKINFO_HEADER = 1,\n\tETHTOOL_A_LINKINFO_PORT = 2,\n\tETHTOOL_A_LINKINFO_PHYADDR = 3,\n\tETHTOOL_A_LINKINFO_TP_MDIX = 4,\n\tETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 5,\n\tETHTOOL_A_LINKINFO_TRANSCEIVER = 6,\n\t__ETHTOOL_A_LINKINFO_CNT = 7,\n\tETHTOOL_A_LINKINFO_MAX = 6,\n};\n\nenum {\n\tETHTOOL_A_LINKMODES_UNSPEC = 0,\n\tETHTOOL_A_LINKMODES_HEADER = 1,\n\tETHTOOL_A_LINKMODES_AUTONEG = 2,\n\tETHTOOL_A_LINKMODES_OURS = 3,\n\tETHTOOL_A_LINKMODES_PEER = 4,\n\tETHTOOL_A_LINKMODES_SPEED = 5,\n\tETHTOOL_A_LINKMODES_DUPLEX = 6,\n\tETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 7,\n\tETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 8,\n\tETHTOOL_A_LINKMODES_LANES = 9,\n\tETHTOOL_A_LINKMODES_RATE_MATCHING = 10,\n\t__ETHTOOL_A_LINKMODES_CNT = 11,\n\tETHTOOL_A_LINKMODES_MAX = 10,\n};\n\nenum {\n\tETHTOOL_A_LINKSTATE_UNSPEC = 0,\n\tETHTOOL_A_LINKSTATE_HEADER = 1,\n\tETHTOOL_A_LINKSTATE_LINK = 2,\n\tETHTOOL_A_LINKSTATE_SQI = 3,\n\tETHTOOL_A_LINKSTATE_SQI_MAX = 4,\n\tETHTOOL_A_LINKSTATE_EXT_STATE = 5,\n\tETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 6,\n\tETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = 7,\n\t__ETHTOOL_A_LINKSTATE_CNT = 8,\n\tETHTOOL_A_LINKSTATE_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MM_STAT_UNSPEC = 0,\n\tETHTOOL_A_MM_STAT_PAD = 1,\n\tETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS = 2,\n\tETHTOOL_A_MM_STAT_SMD_ERRORS = 3,\n\tETHTOOL_A_MM_STAT_REASSEMBLY_OK = 4,\n\tETHTOOL_A_MM_STAT_RX_FRAG_COUNT = 5,\n\tETHTOOL_A_MM_STAT_TX_FRAG_COUNT = 6,\n\tETHTOOL_A_MM_STAT_HOLD_COUNT = 7,\n\t__ETHTOOL_A_MM_STAT_CNT = 8,\n\tETHTOOL_A_MM_STAT_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MM_UNSPEC = 0,\n\tETHTOOL_A_MM_HEADER = 1,\n\tETHTOOL_A_MM_PMAC_ENABLED = 2,\n\tETHTOOL_A_MM_TX_ENABLED = 3,\n\tETHTOOL_A_MM_TX_ACTIVE = 4,\n\tETHTOOL_A_MM_TX_MIN_FRAG_SIZE = 5,\n\tETHTOOL_A_MM_RX_MIN_FRAG_SIZE = 6,\n\tETHTOOL_A_MM_VERIFY_ENABLED = 7,\n\tETHTOOL_A_MM_VERIFY_STATUS = 8,\n\tETHTOOL_A_MM_VERIFY_TIME = 9,\n\tETHTOOL_A_MM_MAX_VERIFY_TIME = 10,\n\tETHTOOL_A_MM_STATS = 11,\n\t__ETHTOOL_A_MM_CNT = 12,\n\tETHTOOL_A_MM_MAX = 11,\n};\n\nenum {\n\tETHTOOL_A_MODULE_EEPROM_UNSPEC = 0,\n\tETHTOOL_A_MODULE_EEPROM_HEADER = 1,\n\tETHTOOL_A_MODULE_EEPROM_OFFSET = 2,\n\tETHTOOL_A_MODULE_EEPROM_LENGTH = 3,\n\tETHTOOL_A_MODULE_EEPROM_PAGE = 4,\n\tETHTOOL_A_MODULE_EEPROM_BANK = 5,\n\tETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS = 6,\n\tETHTOOL_A_MODULE_EEPROM_DATA = 7,\n\t__ETHTOOL_A_MODULE_EEPROM_CNT = 8,\n\tETHTOOL_A_MODULE_EEPROM_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MODULE_FW_FLASH_UNSPEC = 0,\n\tETHTOOL_A_MODULE_FW_FLASH_HEADER = 1,\n\tETHTOOL_A_MODULE_FW_FLASH_FILE_NAME = 2,\n\tETHTOOL_A_MODULE_FW_FLASH_PASSWORD = 3,\n\tETHTOOL_A_MODULE_FW_FLASH_STATUS = 4,\n\tETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG = 5,\n\tETHTOOL_A_MODULE_FW_FLASH_DONE = 6,\n\tETHTOOL_A_MODULE_FW_FLASH_TOTAL = 7,\n\t__ETHTOOL_A_MODULE_FW_FLASH_CNT = 8,\n\tETHTOOL_A_MODULE_FW_FLASH_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_MODULE_UNSPEC = 0,\n\tETHTOOL_A_MODULE_HEADER = 1,\n\tETHTOOL_A_MODULE_POWER_MODE_POLICY = 2,\n\tETHTOOL_A_MODULE_POWER_MODE = 3,\n\t__ETHTOOL_A_MODULE_CNT = 4,\n\tETHTOOL_A_MODULE_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PAUSE_STAT_UNSPEC = 0,\n\tETHTOOL_A_PAUSE_STAT_PAD = 1,\n\tETHTOOL_A_PAUSE_STAT_TX_FRAMES = 2,\n\tETHTOOL_A_PAUSE_STAT_RX_FRAMES = 3,\n\t__ETHTOOL_A_PAUSE_STAT_CNT = 4,\n\tETHTOOL_A_PAUSE_STAT_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PAUSE_UNSPEC = 0,\n\tETHTOOL_A_PAUSE_HEADER = 1,\n\tETHTOOL_A_PAUSE_AUTONEG = 2,\n\tETHTOOL_A_PAUSE_RX = 3,\n\tETHTOOL_A_PAUSE_TX = 4,\n\tETHTOOL_A_PAUSE_STATS = 5,\n\tETHTOOL_A_PAUSE_STATS_SRC = 6,\n\t__ETHTOOL_A_PAUSE_CNT = 7,\n\tETHTOOL_A_PAUSE_MAX = 6,\n};\n\nenum {\n\tETHTOOL_A_PHC_VCLOCKS_UNSPEC = 0,\n\tETHTOOL_A_PHC_VCLOCKS_HEADER = 1,\n\tETHTOOL_A_PHC_VCLOCKS_NUM = 2,\n\tETHTOOL_A_PHC_VCLOCKS_INDEX = 3,\n\t__ETHTOOL_A_PHC_VCLOCKS_CNT = 4,\n\tETHTOOL_A_PHC_VCLOCKS_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_PHY_UNSPEC = 0,\n\tETHTOOL_A_PHY_HEADER = 1,\n\tETHTOOL_A_PHY_INDEX = 2,\n\tETHTOOL_A_PHY_DRVNAME = 3,\n\tETHTOOL_A_PHY_NAME = 4,\n\tETHTOOL_A_PHY_UPSTREAM_TYPE = 5,\n\tETHTOOL_A_PHY_UPSTREAM_INDEX = 6,\n\tETHTOOL_A_PHY_UPSTREAM_SFP_NAME = 7,\n\tETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME = 8,\n\t__ETHTOOL_A_PHY_CNT = 9,\n\tETHTOOL_A_PHY_MAX = 8,\n};\n\nenum {\n\tETHTOOL_A_PLCA_UNSPEC = 0,\n\tETHTOOL_A_PLCA_HEADER = 1,\n\tETHTOOL_A_PLCA_VERSION = 2,\n\tETHTOOL_A_PLCA_ENABLED = 3,\n\tETHTOOL_A_PLCA_STATUS = 4,\n\tETHTOOL_A_PLCA_NODE_CNT = 5,\n\tETHTOOL_A_PLCA_NODE_ID = 6,\n\tETHTOOL_A_PLCA_TO_TMR = 7,\n\tETHTOOL_A_PLCA_BURST_CNT = 8,\n\tETHTOOL_A_PLCA_BURST_TMR = 9,\n\t__ETHTOOL_A_PLCA_CNT = 10,\n\tETHTOOL_A_PLCA_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_PRIVFLAGS_UNSPEC = 0,\n\tETHTOOL_A_PRIVFLAGS_HEADER = 1,\n\tETHTOOL_A_PRIVFLAGS_FLAGS = 2,\n\t__ETHTOOL_A_PRIVFLAGS_CNT = 3,\n\tETHTOOL_A_PRIVFLAGS_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_PROFILE_UNSPEC = 0,\n\tETHTOOL_A_PROFILE_IRQ_MODERATION = 1,\n\t__ETHTOOL_A_PROFILE_CNT = 2,\n\tETHTOOL_A_PROFILE_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_PSE_UNSPEC = 0,\n\tETHTOOL_A_PSE_HEADER = 1,\n\tETHTOOL_A_PODL_PSE_ADMIN_STATE = 2,\n\tETHTOOL_A_PODL_PSE_ADMIN_CONTROL = 3,\n\tETHTOOL_A_PODL_PSE_PW_D_STATUS = 4,\n\tETHTOOL_A_C33_PSE_ADMIN_STATE = 5,\n\tETHTOOL_A_C33_PSE_ADMIN_CONTROL = 6,\n\tETHTOOL_A_C33_PSE_PW_D_STATUS = 7,\n\tETHTOOL_A_C33_PSE_PW_CLASS = 8,\n\tETHTOOL_A_C33_PSE_ACTUAL_PW = 9,\n\tETHTOOL_A_C33_PSE_EXT_STATE = 10,\n\tETHTOOL_A_C33_PSE_EXT_SUBSTATE = 11,\n\tETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT = 12,\n\tETHTOOL_A_C33_PSE_PW_LIMIT_RANGES = 13,\n\t__ETHTOOL_A_PSE_CNT = 14,\n\tETHTOOL_A_PSE_MAX = 13,\n};\n\nenum {\n\tETHTOOL_A_RINGS_UNSPEC = 0,\n\tETHTOOL_A_RINGS_HEADER = 1,\n\tETHTOOL_A_RINGS_RX_MAX = 2,\n\tETHTOOL_A_RINGS_RX_MINI_MAX = 3,\n\tETHTOOL_A_RINGS_RX_JUMBO_MAX = 4,\n\tETHTOOL_A_RINGS_TX_MAX = 5,\n\tETHTOOL_A_RINGS_RX = 6,\n\tETHTOOL_A_RINGS_RX_MINI = 7,\n\tETHTOOL_A_RINGS_RX_JUMBO = 8,\n\tETHTOOL_A_RINGS_TX = 9,\n\tETHTOOL_A_RINGS_RX_BUF_LEN = 10,\n\tETHTOOL_A_RINGS_TCP_DATA_SPLIT = 11,\n\tETHTOOL_A_RINGS_CQE_SIZE = 12,\n\tETHTOOL_A_RINGS_TX_PUSH = 13,\n\tETHTOOL_A_RINGS_RX_PUSH = 14,\n\tETHTOOL_A_RINGS_TX_PUSH_BUF_LEN = 15,\n\tETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX = 16,\n\tETHTOOL_A_RINGS_HDS_THRESH = 17,\n\tETHTOOL_A_RINGS_HDS_THRESH_MAX = 18,\n\t__ETHTOOL_A_RINGS_CNT = 19,\n\tETHTOOL_A_RINGS_MAX = 18,\n};\n\nenum {\n\tETHTOOL_A_RSS_UNSPEC = 0,\n\tETHTOOL_A_RSS_HEADER = 1,\n\tETHTOOL_A_RSS_CONTEXT = 2,\n\tETHTOOL_A_RSS_HFUNC = 3,\n\tETHTOOL_A_RSS_INDIR = 4,\n\tETHTOOL_A_RSS_HKEY = 5,\n\tETHTOOL_A_RSS_INPUT_XFRM = 6,\n\tETHTOOL_A_RSS_START_CONTEXT = 7,\n\t__ETHTOOL_A_RSS_CNT = 8,\n\tETHTOOL_A_RSS_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_CTRL_3_TX = 0,\n\tETHTOOL_A_STATS_ETH_CTRL_4_RX = 1,\n\tETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP = 2,\n\t__ETHTOOL_A_STATS_ETH_CTRL_CNT = 3,\n\tETHTOOL_A_STATS_ETH_CTRL_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_MAC_2_TX_PKT = 0,\n\tETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL = 1,\n\tETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL = 2,\n\tETHTOOL_A_STATS_ETH_MAC_5_RX_PKT = 3,\n\tETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR = 4,\n\tETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR = 5,\n\tETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES = 6,\n\tETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER = 7,\n\tETHTOOL_A_STATS_ETH_MAC_10_LATE_COL = 8,\n\tETHTOOL_A_STATS_ETH_MAC_11_XS_COL = 9,\n\tETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR = 10,\n\tETHTOOL_A_STATS_ETH_MAC_13_CS_ERR = 11,\n\tETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES = 12,\n\tETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR = 13,\n\tETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST = 14,\n\tETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST = 15,\n\tETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER = 16,\n\tETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST = 17,\n\tETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST = 18,\n\tETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR = 19,\n\tETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN = 20,\n\tETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR = 21,\n\t__ETHTOOL_A_STATS_ETH_MAC_CNT = 22,\n\tETHTOOL_A_STATS_ETH_MAC_MAX = 21,\n};\n\nenum {\n\tETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR = 0,\n\t__ETHTOOL_A_STATS_ETH_PHY_CNT = 1,\n\tETHTOOL_A_STATS_ETH_PHY_MAX = 0,\n};\n\nenum {\n\tETHTOOL_A_STATS_GRP_UNSPEC = 0,\n\tETHTOOL_A_STATS_GRP_PAD = 1,\n\tETHTOOL_A_STATS_GRP_ID = 2,\n\tETHTOOL_A_STATS_GRP_SS_ID = 3,\n\tETHTOOL_A_STATS_GRP_STAT = 4,\n\tETHTOOL_A_STATS_GRP_HIST_RX = 5,\n\tETHTOOL_A_STATS_GRP_HIST_TX = 6,\n\tETHTOOL_A_STATS_GRP_HIST_BKT_LOW = 7,\n\tETHTOOL_A_STATS_GRP_HIST_BKT_HI = 8,\n\tETHTOOL_A_STATS_GRP_HIST_VAL = 9,\n\t__ETHTOOL_A_STATS_GRP_CNT = 10,\n\tETHTOOL_A_STATS_GRP_MAX = 9,\n};\n\nenum {\n\tETHTOOL_A_STATS_PHY_RX_PKTS = 0,\n\tETHTOOL_A_STATS_PHY_RX_BYTES = 1,\n\tETHTOOL_A_STATS_PHY_RX_ERRORS = 2,\n\tETHTOOL_A_STATS_PHY_TX_PKTS = 3,\n\tETHTOOL_A_STATS_PHY_TX_BYTES = 4,\n\tETHTOOL_A_STATS_PHY_TX_ERRORS = 5,\n\t__ETHTOOL_A_STATS_PHY_CNT = 6,\n\tETHTOOL_A_STATS_PHY_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_STATS_RMON_UNDERSIZE = 0,\n\tETHTOOL_A_STATS_RMON_OVERSIZE = 1,\n\tETHTOOL_A_STATS_RMON_FRAG = 2,\n\tETHTOOL_A_STATS_RMON_JABBER = 3,\n\t__ETHTOOL_A_STATS_RMON_CNT = 4,\n\tETHTOOL_A_STATS_RMON_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_STATS_UNSPEC = 0,\n\tETHTOOL_A_STATS_PAD = 1,\n\tETHTOOL_A_STATS_HEADER = 2,\n\tETHTOOL_A_STATS_GROUPS = 3,\n\tETHTOOL_A_STATS_GRP = 4,\n\tETHTOOL_A_STATS_SRC = 5,\n\t__ETHTOOL_A_STATS_CNT = 6,\n\tETHTOOL_A_STATS_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_STRINGSETS_UNSPEC = 0,\n\tETHTOOL_A_STRINGSETS_STRINGSET = 1,\n\t__ETHTOOL_A_STRINGSETS_CNT = 2,\n\tETHTOOL_A_STRINGSETS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_STRINGSET_UNSPEC = 0,\n\tETHTOOL_A_STRINGSET_ID = 1,\n\tETHTOOL_A_STRINGSET_COUNT = 2,\n\tETHTOOL_A_STRINGSET_STRINGS = 3,\n\t__ETHTOOL_A_STRINGSET_CNT = 4,\n\tETHTOOL_A_STRINGSET_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_STRINGS_UNSPEC = 0,\n\tETHTOOL_A_STRINGS_STRING = 1,\n\t__ETHTOOL_A_STRINGS_CNT = 2,\n\tETHTOOL_A_STRINGS_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_STRING_UNSPEC = 0,\n\tETHTOOL_A_STRING_INDEX = 1,\n\tETHTOOL_A_STRING_VALUE = 2,\n\t__ETHTOOL_A_STRING_CNT = 3,\n\tETHTOOL_A_STRING_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_STRSET_UNSPEC = 0,\n\tETHTOOL_A_STRSET_HEADER = 1,\n\tETHTOOL_A_STRSET_STRINGSETS = 2,\n\tETHTOOL_A_STRSET_COUNTS_ONLY = 3,\n\t__ETHTOOL_A_STRSET_CNT = 4,\n\tETHTOOL_A_STRSET_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_TSCONFIG_UNSPEC = 0,\n\tETHTOOL_A_TSCONFIG_HEADER = 1,\n\tETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER = 2,\n\tETHTOOL_A_TSCONFIG_TX_TYPES = 3,\n\tETHTOOL_A_TSCONFIG_RX_FILTERS = 4,\n\tETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS = 5,\n\t__ETHTOOL_A_TSCONFIG_CNT = 6,\n\tETHTOOL_A_TSCONFIG_MAX = 5,\n};\n\nenum {\n\tETHTOOL_A_TSINFO_UNSPEC = 0,\n\tETHTOOL_A_TSINFO_HEADER = 1,\n\tETHTOOL_A_TSINFO_TIMESTAMPING = 2,\n\tETHTOOL_A_TSINFO_TX_TYPES = 3,\n\tETHTOOL_A_TSINFO_RX_FILTERS = 4,\n\tETHTOOL_A_TSINFO_PHC_INDEX = 5,\n\tETHTOOL_A_TSINFO_STATS = 6,\n\tETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 7,\n\t__ETHTOOL_A_TSINFO_CNT = 8,\n\tETHTOOL_A_TSINFO_MAX = 7,\n};\n\nenum {\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC = 0,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX = 1,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER = 2,\n\t__ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT = 3,\n\tETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TS_STAT_UNSPEC = 0,\n\tETHTOOL_A_TS_STAT_TX_PKTS = 1,\n\tETHTOOL_A_TS_STAT_TX_LOST = 2,\n\tETHTOOL_A_TS_STAT_TX_ERR = 3,\n\tETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED = 4,\n\t__ETHTOOL_A_TS_STAT_CNT = 5,\n\tETHTOOL_A_TS_STAT_MAX = 4,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_INFO_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_INFO_HEADER = 1,\n\tETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 2,\n\t__ETHTOOL_A_TUNNEL_INFO_CNT = 3,\n\tETHTOOL_A_TUNNEL_INFO_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 1,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 2,\n\t__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT = 3,\n\tETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 2,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 1,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 2,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 3,\n\t__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT = 4,\n\tETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 3,\n};\n\nenum {\n\tETHTOOL_A_TUNNEL_UDP_UNSPEC = 0,\n\tETHTOOL_A_TUNNEL_UDP_TABLE = 1,\n\t__ETHTOOL_A_TUNNEL_UDP_CNT = 2,\n\tETHTOOL_A_TUNNEL_UDP_MAX = 1,\n};\n\nenum {\n\tETHTOOL_A_WOL_UNSPEC = 0,\n\tETHTOOL_A_WOL_HEADER = 1,\n\tETHTOOL_A_WOL_MODES = 2,\n\tETHTOOL_A_WOL_SOPASS = 3,\n\t__ETHTOOL_A_WOL_CNT = 4,\n\tETHTOOL_A_WOL_MAX = 3,\n};\n\nenum {\n\tETHTOOL_MSG_KERNEL_NONE = 0,\n\tETHTOOL_MSG_STRSET_GET_REPLY = 1,\n\tETHTOOL_MSG_LINKINFO_GET_REPLY = 2,\n\tETHTOOL_MSG_LINKINFO_NTF = 3,\n\tETHTOOL_MSG_LINKMODES_GET_REPLY = 4,\n\tETHTOOL_MSG_LINKMODES_NTF = 5,\n\tETHTOOL_MSG_LINKSTATE_GET_REPLY = 6,\n\tETHTOOL_MSG_DEBUG_GET_REPLY = 7,\n\tETHTOOL_MSG_DEBUG_NTF = 8,\n\tETHTOOL_MSG_WOL_GET_REPLY = 9,\n\tETHTOOL_MSG_WOL_NTF = 10,\n\tETHTOOL_MSG_FEATURES_GET_REPLY = 11,\n\tETHTOOL_MSG_FEATURES_SET_REPLY = 12,\n\tETHTOOL_MSG_FEATURES_NTF = 13,\n\tETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 14,\n\tETHTOOL_MSG_PRIVFLAGS_NTF = 15,\n\tETHTOOL_MSG_RINGS_GET_REPLY = 16,\n\tETHTOOL_MSG_RINGS_NTF = 17,\n\tETHTOOL_MSG_CHANNELS_GET_REPLY = 18,\n\tETHTOOL_MSG_CHANNELS_NTF = 19,\n\tETHTOOL_MSG_COALESCE_GET_REPLY = 20,\n\tETHTOOL_MSG_COALESCE_NTF = 21,\n\tETHTOOL_MSG_PAUSE_GET_REPLY = 22,\n\tETHTOOL_MSG_PAUSE_NTF = 23,\n\tETHTOOL_MSG_EEE_GET_REPLY = 24,\n\tETHTOOL_MSG_EEE_NTF = 25,\n\tETHTOOL_MSG_TSINFO_GET_REPLY = 26,\n\tETHTOOL_MSG_CABLE_TEST_NTF = 27,\n\tETHTOOL_MSG_CABLE_TEST_TDR_NTF = 28,\n\tETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 29,\n\tETHTOOL_MSG_FEC_GET_REPLY = 30,\n\tETHTOOL_MSG_FEC_NTF = 31,\n\tETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 32,\n\tETHTOOL_MSG_STATS_GET_REPLY = 33,\n\tETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 34,\n\tETHTOOL_MSG_MODULE_GET_REPLY = 35,\n\tETHTOOL_MSG_MODULE_NTF = 36,\n\tETHTOOL_MSG_PSE_GET_REPLY = 37,\n\tETHTOOL_MSG_RSS_GET_REPLY = 38,\n\tETHTOOL_MSG_PLCA_GET_CFG_REPLY = 39,\n\tETHTOOL_MSG_PLCA_GET_STATUS_REPLY = 40,\n\tETHTOOL_MSG_PLCA_NTF = 41,\n\tETHTOOL_MSG_MM_GET_REPLY = 42,\n\tETHTOOL_MSG_MM_NTF = 43,\n\tETHTOOL_MSG_MODULE_FW_FLASH_NTF = 44,\n\tETHTOOL_MSG_PHY_GET_REPLY = 45,\n\tETHTOOL_MSG_PHY_NTF = 46,\n\tETHTOOL_MSG_TSCONFIG_GET_REPLY = 47,\n\tETHTOOL_MSG_TSCONFIG_SET_REPLY = 48,\n\t__ETHTOOL_MSG_KERNEL_CNT = 49,\n\tETHTOOL_MSG_KERNEL_MAX = 48,\n};\n\nenum {\n\tETHTOOL_MSG_USER_NONE = 0,\n\tETHTOOL_MSG_STRSET_GET = 1,\n\tETHTOOL_MSG_LINKINFO_GET = 2,\n\tETHTOOL_MSG_LINKINFO_SET = 3,\n\tETHTOOL_MSG_LINKMODES_GET = 4,\n\tETHTOOL_MSG_LINKMODES_SET = 5,\n\tETHTOOL_MSG_LINKSTATE_GET = 6,\n\tETHTOOL_MSG_DEBUG_GET = 7,\n\tETHTOOL_MSG_DEBUG_SET = 8,\n\tETHTOOL_MSG_WOL_GET = 9,\n\tETHTOOL_MSG_WOL_SET = 10,\n\tETHTOOL_MSG_FEATURES_GET = 11,\n\tETHTOOL_MSG_FEATURES_SET = 12,\n\tETHTOOL_MSG_PRIVFLAGS_GET = 13,\n\tETHTOOL_MSG_PRIVFLAGS_SET = 14,\n\tETHTOOL_MSG_RINGS_GET = 15,\n\tETHTOOL_MSG_RINGS_SET = 16,\n\tETHTOOL_MSG_CHANNELS_GET = 17,\n\tETHTOOL_MSG_CHANNELS_SET = 18,\n\tETHTOOL_MSG_COALESCE_GET = 19,\n\tETHTOOL_MSG_COALESCE_SET = 20,\n\tETHTOOL_MSG_PAUSE_GET = 21,\n\tETHTOOL_MSG_PAUSE_SET = 22,\n\tETHTOOL_MSG_EEE_GET = 23,\n\tETHTOOL_MSG_EEE_SET = 24,\n\tETHTOOL_MSG_TSINFO_GET = 25,\n\tETHTOOL_MSG_CABLE_TEST_ACT = 26,\n\tETHTOOL_MSG_CABLE_TEST_TDR_ACT = 27,\n\tETHTOOL_MSG_TUNNEL_INFO_GET = 28,\n\tETHTOOL_MSG_FEC_GET = 29,\n\tETHTOOL_MSG_FEC_SET = 30,\n\tETHTOOL_MSG_MODULE_EEPROM_GET = 31,\n\tETHTOOL_MSG_STATS_GET = 32,\n\tETHTOOL_MSG_PHC_VCLOCKS_GET = 33,\n\tETHTOOL_MSG_MODULE_GET = 34,\n\tETHTOOL_MSG_MODULE_SET = 35,\n\tETHTOOL_MSG_PSE_GET = 36,\n\tETHTOOL_MSG_PSE_SET = 37,\n\tETHTOOL_MSG_RSS_GET = 38,\n\tETHTOOL_MSG_PLCA_GET_CFG = 39,\n\tETHTOOL_MSG_PLCA_SET_CFG = 40,\n\tETHTOOL_MSG_PLCA_GET_STATUS = 41,\n\tETHTOOL_MSG_MM_GET = 42,\n\tETHTOOL_MSG_MM_SET = 43,\n\tETHTOOL_MSG_MODULE_FW_FLASH_ACT = 44,\n\tETHTOOL_MSG_PHY_GET = 45,\n\tETHTOOL_MSG_TSCONFIG_GET = 46,\n\tETHTOOL_MSG_TSCONFIG_SET = 47,\n\t__ETHTOOL_MSG_USER_CNT = 48,\n\tETHTOOL_MSG_USER_MAX = 47,\n};\n\nenum {\n\tETHTOOL_STATS_ETH_PHY = 0,\n\tETHTOOL_STATS_ETH_MAC = 1,\n\tETHTOOL_STATS_ETH_CTRL = 2,\n\tETHTOOL_STATS_RMON = 3,\n\tETHTOOL_STATS_PHY = 4,\n\t__ETHTOOL_STATS_CNT = 5,\n};\n\nenum {\n\tETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0,\n\tETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 1,\n\tETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 2,\n\t__ETHTOOL_UDP_TUNNEL_TYPE_CNT = 3,\n\tETHTOOL_UDP_TUNNEL_TYPE_MAX = 2,\n};\n\nenum {\n\tETH_RSS_HASH_TOP_BIT = 0,\n\tETH_RSS_HASH_XOR_BIT = 1,\n\tETH_RSS_HASH_CRC32_BIT = 2,\n\tETH_RSS_HASH_FUNCS_COUNT = 3,\n};\n\nenum {\n\tEVENTFS_SAVE_MODE = 65536,\n\tEVENTFS_SAVE_UID = 131072,\n\tEVENTFS_SAVE_GID = 262144,\n};\n\nenum {\n\tEVENT_CMD_COMPLETE = 0,\n\tEVENT_XFER_COMPLETE = 1,\n\tEVENT_DATA_COMPLETE = 2,\n\tEVENT_DATA_ERROR = 3,\n};\n\nenum {\n\tEVENT_FILE_FL_ENABLED = 1,\n\tEVENT_FILE_FL_RECORDED_CMD = 2,\n\tEVENT_FILE_FL_RECORDED_TGID = 4,\n\tEVENT_FILE_FL_FILTERED = 8,\n\tEVENT_FILE_FL_NO_SET_FILTER = 16,\n\tEVENT_FILE_FL_SOFT_MODE = 32,\n\tEVENT_FILE_FL_SOFT_DISABLED = 64,\n\tEVENT_FILE_FL_TRIGGER_MODE = 128,\n\tEVENT_FILE_FL_TRIGGER_COND = 256,\n\tEVENT_FILE_FL_PID_FILTER = 512,\n\tEVENT_FILE_FL_WAS_ENABLED = 1024,\n\tEVENT_FILE_FL_FREED = 2048,\n};\n\nenum {\n\tEVENT_FILE_FL_ENABLED_BIT = 0,\n\tEVENT_FILE_FL_RECORDED_CMD_BIT = 1,\n\tEVENT_FILE_FL_RECORDED_TGID_BIT = 2,\n\tEVENT_FILE_FL_FILTERED_BIT = 3,\n\tEVENT_FILE_FL_NO_SET_FILTER_BIT = 4,\n\tEVENT_FILE_FL_SOFT_MODE_BIT = 5,\n\tEVENT_FILE_FL_SOFT_DISABLED_BIT = 6,\n\tEVENT_FILE_FL_TRIGGER_MODE_BIT = 7,\n\tEVENT_FILE_FL_TRIGGER_COND_BIT = 8,\n\tEVENT_FILE_FL_PID_FILTER_BIT = 9,\n\tEVENT_FILE_FL_WAS_ENABLED_BIT = 10,\n\tEVENT_FILE_FL_FREED_BIT = 11,\n};\n\nenum {\n\tEVENT_TRIGGER_FL_PROBE = 1,\n};\n\nenum {\n\tEXT4_FC_REASON_XATTR = 0,\n\tEXT4_FC_REASON_CROSS_RENAME = 1,\n\tEXT4_FC_REASON_JOURNAL_FLAG_CHANGE = 2,\n\tEXT4_FC_REASON_NOMEM = 3,\n\tEXT4_FC_REASON_SWAP_BOOT = 4,\n\tEXT4_FC_REASON_RESIZE = 5,\n\tEXT4_FC_REASON_RENAME_DIR = 6,\n\tEXT4_FC_REASON_FALLOC_RANGE = 7,\n\tEXT4_FC_REASON_INODE_JOURNAL_DATA = 8,\n\tEXT4_FC_REASON_ENCRYPTED_FILENAME = 9,\n\tEXT4_FC_REASON_MAX = 10,\n};\n\nenum {\n\tEXT4_FC_STATUS_OK = 0,\n\tEXT4_FC_STATUS_INELIGIBLE = 1,\n\tEXT4_FC_STATUS_SKIPPED = 2,\n\tEXT4_FC_STATUS_FAILED = 3,\n};\n\nenum {\n\tEXT4_INODE_SECRM = 0,\n\tEXT4_INODE_UNRM = 1,\n\tEXT4_INODE_COMPR = 2,\n\tEXT4_INODE_SYNC = 3,\n\tEXT4_INODE_IMMUTABLE = 4,\n\tEXT4_INODE_APPEND = 5,\n\tEXT4_INODE_NODUMP = 6,\n\tEXT4_INODE_NOATIME = 7,\n\tEXT4_INODE_DIRTY = 8,\n\tEXT4_INODE_COMPRBLK = 9,\n\tEXT4_INODE_NOCOMPR = 10,\n\tEXT4_INODE_ENCRYPT = 11,\n\tEXT4_INODE_INDEX = 12,\n\tEXT4_INODE_IMAGIC = 13,\n\tEXT4_INODE_JOURNAL_DATA = 14,\n\tEXT4_INODE_NOTAIL = 15,\n\tEXT4_INODE_DIRSYNC = 16,\n\tEXT4_INODE_TOPDIR = 17,\n\tEXT4_INODE_HUGE_FILE = 18,\n\tEXT4_INODE_EXTENTS = 19,\n\tEXT4_INODE_VERITY = 20,\n\tEXT4_INODE_EA_INODE = 21,\n\tEXT4_INODE_DAX = 25,\n\tEXT4_INODE_INLINE_DATA = 28,\n\tEXT4_INODE_PROJINHERIT = 29,\n\tEXT4_INODE_CASEFOLD = 30,\n\tEXT4_INODE_RESERVED = 31,\n};\n\nenum {\n\tEXT4_MF_MNTDIR_SAMPLED = 0,\n\tEXT4_MF_FC_INELIGIBLE = 1,\n};\n\nenum {\n\tEXT4_STATE_NEW = 0,\n\tEXT4_STATE_XATTR = 1,\n\tEXT4_STATE_NO_EXPAND = 2,\n\tEXT4_STATE_DA_ALLOC_CLOSE = 3,\n\tEXT4_STATE_EXT_MIGRATE = 4,\n\tEXT4_STATE_NEWENTRY = 5,\n\tEXT4_STATE_MAY_INLINE_DATA = 6,\n\tEXT4_STATE_EXT_PRECACHED = 7,\n\tEXT4_STATE_LUSTRE_EA_INODE = 8,\n\tEXT4_STATE_VERITY_IN_PROGRESS = 9,\n\tEXT4_STATE_FC_COMMITTING = 10,\n\tEXT4_STATE_ORPHAN_FILE = 11,\n};\n\nenum {\n\tFAST_W_CNT = 16,\n};\n\nenum {\n\tFATTR4_CLONE_BLKSIZE = 77,\n\tFATTR4_SPACE_FREED = 78,\n\tFATTR4_CHANGE_ATTR_TYPE = 79,\n\tFATTR4_SEC_LABEL = 80,\n};\n\nenum {\n\tFATTR4_DIR_NOTIF_DELAY = 56,\n\tFATTR4_DIRENT_NOTIF_DELAY = 57,\n\tFATTR4_DACL = 58,\n\tFATTR4_SACL = 59,\n\tFATTR4_CHANGE_POLICY = 60,\n\tFATTR4_FS_STATUS = 61,\n\tFATTR4_FS_LAYOUT_TYPES = 62,\n\tFATTR4_LAYOUT_HINT = 63,\n\tFATTR4_LAYOUT_TYPES = 64,\n\tFATTR4_LAYOUT_BLKSIZE = 65,\n\tFATTR4_LAYOUT_ALIGNMENT = 66,\n\tFATTR4_FS_LOCATIONS_INFO = 67,\n\tFATTR4_MDSTHRESHOLD = 68,\n\tFATTR4_RETENTION_GET = 69,\n\tFATTR4_RETENTION_SET = 70,\n\tFATTR4_RETENTEVT_GET = 71,\n\tFATTR4_RETENTEVT_SET = 72,\n\tFATTR4_RETENTION_HOLD = 73,\n\tFATTR4_MODE_SET_MASKED = 74,\n\tFATTR4_SUPPATTR_EXCLCREAT = 75,\n\tFATTR4_FS_CHARSET_CAP = 76,\n};\n\nenum {\n\tFATTR4_MODE_UMASK = 81,\n};\n\nenum {\n\tFATTR4_OPEN_ARGUMENTS = 86,\n};\n\nenum {\n\tFATTR4_SUPPORTED_ATTRS = 0,\n\tFATTR4_TYPE = 1,\n\tFATTR4_FH_EXPIRE_TYPE = 2,\n\tFATTR4_CHANGE = 3,\n\tFATTR4_SIZE = 4,\n\tFATTR4_LINK_SUPPORT = 5,\n\tFATTR4_SYMLINK_SUPPORT = 6,\n\tFATTR4_NAMED_ATTR = 7,\n\tFATTR4_FSID = 8,\n\tFATTR4_UNIQUE_HANDLES = 9,\n\tFATTR4_LEASE_TIME = 10,\n\tFATTR4_RDATTR_ERROR = 11,\n\tFATTR4_ACL = 12,\n\tFATTR4_ACLSUPPORT = 13,\n\tFATTR4_ARCHIVE = 14,\n\tFATTR4_CANSETTIME = 15,\n\tFATTR4_CASE_INSENSITIVE = 16,\n\tFATTR4_CASE_PRESERVING = 17,\n\tFATTR4_CHOWN_RESTRICTED = 18,\n\tFATTR4_FILEHANDLE = 19,\n\tFATTR4_FILEID = 20,\n\tFATTR4_FILES_AVAIL = 21,\n\tFATTR4_FILES_FREE = 22,\n\tFATTR4_FILES_TOTAL = 23,\n\tFATTR4_FS_LOCATIONS = 24,\n\tFATTR4_HIDDEN = 25,\n\tFATTR4_HOMOGENEOUS = 26,\n\tFATTR4_MAXFILESIZE = 27,\n\tFATTR4_MAXLINK = 28,\n\tFATTR4_MAXNAME = 29,\n\tFATTR4_MAXREAD = 30,\n\tFATTR4_MAXWRITE = 31,\n\tFATTR4_MIMETYPE = 32,\n\tFATTR4_MODE = 33,\n\tFATTR4_NO_TRUNC = 34,\n\tFATTR4_NUMLINKS = 35,\n\tFATTR4_OWNER = 36,\n\tFATTR4_OWNER_GROUP = 37,\n\tFATTR4_QUOTA_AVAIL_HARD = 38,\n\tFATTR4_QUOTA_AVAIL_SOFT = 39,\n\tFATTR4_QUOTA_USED = 40,\n\tFATTR4_RAWDEV = 41,\n\tFATTR4_SPACE_AVAIL = 42,\n\tFATTR4_SPACE_FREE = 43,\n\tFATTR4_SPACE_TOTAL = 44,\n\tFATTR4_SPACE_USED = 45,\n\tFATTR4_SYSTEM = 46,\n\tFATTR4_TIME_ACCESS = 47,\n\tFATTR4_TIME_ACCESS_SET = 48,\n\tFATTR4_TIME_BACKUP = 49,\n\tFATTR4_TIME_CREATE = 50,\n\tFATTR4_TIME_DELTA = 51,\n\tFATTR4_TIME_METADATA = 52,\n\tFATTR4_TIME_MODIFY = 53,\n\tFATTR4_TIME_MODIFY_SET = 54,\n\tFATTR4_MOUNTED_ON_FILEID = 55,\n};\n\nenum {\n\tFATTR4_TIME_DELEG_ACCESS = 84,\n};\n\nenum {\n\tFATTR4_TIME_DELEG_MODIFY = 85,\n};\n\nenum {\n\tFATTR4_XATTR_SUPPORT = 82,\n};\n\nenum {\n\tFBCON_LOGO_CANSHOW = -1,\n\tFBCON_LOGO_DRAW = -2,\n\tFBCON_LOGO_DONTSHOW = -3,\n};\n\nenum {\n\tFB_BLANK_UNBLANK = 0,\n\tFB_BLANK_NORMAL = 1,\n\tFB_BLANK_VSYNC_SUSPEND = 2,\n\tFB_BLANK_HSYNC_SUSPEND = 3,\n\tFB_BLANK_POWERDOWN = 4,\n};\n\nenum {\n\tFIB6_NO_SERNUM_CHANGE = 0,\n};\n\nenum {\n\tFILEID_HIGH_OFF = 0,\n\tFILEID_LOW_OFF = 1,\n\tFILE_I_TYPE_OFF = 2,\n\tEMBED_FH_OFF = 3,\n};\n\nenum {\n\tFILTER_OTHER = 0,\n\tFILTER_STATIC_STRING = 1,\n\tFILTER_DYN_STRING = 2,\n\tFILTER_RDYN_STRING = 3,\n\tFILTER_PTR_STRING = 4,\n\tFILTER_TRACE_FN = 5,\n\tFILTER_CPUMASK = 6,\n\tFILTER_COMM = 7,\n\tFILTER_CPU = 8,\n\tFILTER_STACKTRACE = 9,\n};\n\nenum {\n\tFILT_ERR_NONE = 0,\n\tFILT_ERR_INVALID_OP = 1,\n\tFILT_ERR_TOO_MANY_OPEN = 2,\n\tFILT_ERR_TOO_MANY_CLOSE = 3,\n\tFILT_ERR_MISSING_QUOTE = 4,\n\tFILT_ERR_MISSING_BRACE_OPEN = 5,\n\tFILT_ERR_MISSING_BRACE_CLOSE = 6,\n\tFILT_ERR_OPERAND_TOO_LONG = 7,\n\tFILT_ERR_EXPECT_STRING = 8,\n\tFILT_ERR_EXPECT_DIGIT = 9,\n\tFILT_ERR_ILLEGAL_FIELD_OP = 10,\n\tFILT_ERR_FIELD_NOT_FOUND = 11,\n\tFILT_ERR_ILLEGAL_INTVAL = 12,\n\tFILT_ERR_BAD_SUBSYS_FILTER = 13,\n\tFILT_ERR_TOO_MANY_PREDS = 14,\n\tFILT_ERR_INVALID_FILTER = 15,\n\tFILT_ERR_INVALID_CPULIST = 16,\n\tFILT_ERR_IP_FIELD_ONLY = 17,\n\tFILT_ERR_INVALID_VALUE = 18,\n\tFILT_ERR_NO_FUNCTION = 19,\n\tFILT_ERR_ERRNO = 20,\n\tFILT_ERR_NO_FILTER = 21,\n};\n\nenum {\n\tFOLL_TOUCH = 65536,\n\tFOLL_TRIED = 131072,\n\tFOLL_REMOTE = 262144,\n\tFOLL_PIN = 524288,\n\tFOLL_FAST_ONLY = 1048576,\n\tFOLL_UNLOCKABLE = 2097152,\n\tFOLL_MADV_POPULATE = 4194304,\n};\n\nenum {\n\tFOLL_WRITE = 1,\n\tFOLL_GET = 2,\n\tFOLL_DUMP = 4,\n\tFOLL_FORCE = 8,\n\tFOLL_NOWAIT = 16,\n\tFOLL_NOFAULT = 32,\n\tFOLL_HWPOISON = 64,\n\tFOLL_ANON = 128,\n\tFOLL_LONGTERM = 256,\n\tFOLL_SPLIT_PMD = 512,\n\tFOLL_PCI_P2PDMA = 1024,\n\tFOLL_INTERRUPTIBLE = 2048,\n\tFOLL_HONOR_NUMA_FAULT = 4096,\n};\n\nenum {\n\tFORMAT_HEADER = 1,\n\tFORMAT_FIELD_SEPERATOR = 2,\n\tFORMAT_PRINTFMT = 3,\n};\n\nenum {\n\tFRACTION_DENOM = 128,\n};\n\nenum {\n\tFUTEX_STATE_OK = 0,\n\tFUTEX_STATE_EXITING = 1,\n\tFUTEX_STATE_DEAD = 2,\n};\n\nenum {\n\tGENHD_FL_REMOVABLE = 1,\n\tGENHD_FL_HIDDEN = 2,\n\tGENHD_FL_NO_PART = 4,\n};\n\nenum {\n\tGP_IDLE = 0,\n\tGP_ENTER = 1,\n\tGP_PASSED = 2,\n\tGP_EXIT = 3,\n\tGP_REPLAY = 4,\n};\n\nenum {\n\tGSSX_NULL = 0,\n\tGSSX_INDICATE_MECHS = 1,\n\tGSSX_GET_CALL_CONTEXT = 2,\n\tGSSX_IMPORT_AND_CANON_NAME = 3,\n\tGSSX_EXPORT_CRED = 4,\n\tGSSX_IMPORT_CRED = 5,\n\tGSSX_ACQUIRE_CRED = 6,\n\tGSSX_STORE_CRED = 7,\n\tGSSX_INIT_SEC_CONTEXT = 8,\n\tGSSX_ACCEPT_SEC_CONTEXT = 9,\n\tGSSX_RELEASE_HANDLE = 10,\n\tGSSX_GET_MIC = 11,\n\tGSSX_VERIFY = 12,\n\tGSSX_WRAP = 13,\n\tGSSX_UNWRAP = 14,\n\tGSSX_WRAP_SIZE_LIMIT = 15,\n};\n\nenum {\n\tHANDSHAKE_A_ACCEPT_SOCKFD = 1,\n\tHANDSHAKE_A_ACCEPT_HANDLER_CLASS = 2,\n\tHANDSHAKE_A_ACCEPT_MESSAGE_TYPE = 3,\n\tHANDSHAKE_A_ACCEPT_TIMEOUT = 4,\n\tHANDSHAKE_A_ACCEPT_AUTH_MODE = 5,\n\tHANDSHAKE_A_ACCEPT_PEER_IDENTITY = 6,\n\tHANDSHAKE_A_ACCEPT_CERTIFICATE = 7,\n\tHANDSHAKE_A_ACCEPT_PEERNAME = 8,\n\t__HANDSHAKE_A_ACCEPT_MAX = 9,\n\tHANDSHAKE_A_ACCEPT_MAX = 8,\n};\n\nenum {\n\tHANDSHAKE_A_DONE_STATUS = 1,\n\tHANDSHAKE_A_DONE_SOCKFD = 2,\n\tHANDSHAKE_A_DONE_REMOTE_AUTH = 3,\n\t__HANDSHAKE_A_DONE_MAX = 4,\n\tHANDSHAKE_A_DONE_MAX = 3,\n};\n\nenum {\n\tHANDSHAKE_A_X509_CERT = 1,\n\tHANDSHAKE_A_X509_PRIVKEY = 2,\n\t__HANDSHAKE_A_X509_MAX = 3,\n\tHANDSHAKE_A_X509_MAX = 2,\n};\n\nenum {\n\tHANDSHAKE_CMD_READY = 1,\n\tHANDSHAKE_CMD_ACCEPT = 2,\n\tHANDSHAKE_CMD_DONE = 3,\n\t__HANDSHAKE_CMD_MAX = 4,\n\tHANDSHAKE_CMD_MAX = 3,\n};\n\nenum {\n\tHANDSHAKE_NLGRP_NONE = 0,\n\tHANDSHAKE_NLGRP_TLSHD = 1,\n};\n\nenum {\n\tHASH_SIZE = 128,\n};\n\nenum {\n\tHAS_READ = 1,\n\tHAS_WRITE = 2,\n\tHAS_LSEEK = 4,\n\tHAS_POLL = 8,\n\tHAS_IOCTL = 16,\n};\n\nenum {\n\tHI_SOFTIRQ = 0,\n\tTIMER_SOFTIRQ = 1,\n\tNET_TX_SOFTIRQ = 2,\n\tNET_RX_SOFTIRQ = 3,\n\tBLOCK_SOFTIRQ = 4,\n\tIRQ_POLL_SOFTIRQ = 5,\n\tTASKLET_SOFTIRQ = 6,\n\tSCHED_SOFTIRQ = 7,\n\tHRTIMER_SOFTIRQ = 8,\n\tRCU_SOFTIRQ = 9,\n\tNR_SOFTIRQS = 10,\n};\n\nenum {\n\tHOST_L_CNT = 6,\n};\n\nenum {\n\tHOST_L_DUR = 9,\n};\n\nenum {\n\tHOST_S_CNT = 7,\n};\n\nenum {\n\tHOST_S_DUR = 8,\n};\n\nenum {\n\tHP_THREAD_NONE = 0,\n\tHP_THREAD_ACTIVE = 1,\n\tHP_THREAD_PARKED = 2,\n};\n\nenum {\n\tHUGETLB_SHMFS_INODE = 1,\n\tHUGETLB_ANONHUGE_INODE = 2,\n};\n\nenum {\n\tICMP6_MIB_NUM = 0,\n\tICMP6_MIB_INMSGS = 1,\n\tICMP6_MIB_INERRORS = 2,\n\tICMP6_MIB_OUTMSGS = 3,\n\tICMP6_MIB_OUTERRORS = 4,\n\tICMP6_MIB_CSUMERRORS = 5,\n\tICMP6_MIB_RATELIMITHOST = 6,\n\t__ICMP6_MIB_MAX = 7,\n};\n\nenum {\n\tICMP_MIB_NUM = 0,\n\tICMP_MIB_INMSGS = 1,\n\tICMP_MIB_INERRORS = 2,\n\tICMP_MIB_INDESTUNREACHS = 3,\n\tICMP_MIB_INTIMEEXCDS = 4,\n\tICMP_MIB_INPARMPROBS = 5,\n\tICMP_MIB_INSRCQUENCHS = 6,\n\tICMP_MIB_INREDIRECTS = 7,\n\tICMP_MIB_INECHOS = 8,\n\tICMP_MIB_INECHOREPS = 9,\n\tICMP_MIB_INTIMESTAMPS = 10,\n\tICMP_MIB_INTIMESTAMPREPS = 11,\n\tICMP_MIB_INADDRMASKS = 12,\n\tICMP_MIB_INADDRMASKREPS = 13,\n\tICMP_MIB_OUTMSGS = 14,\n\tICMP_MIB_OUTERRORS = 15,\n\tICMP_MIB_OUTDESTUNREACHS = 16,\n\tICMP_MIB_OUTTIMEEXCDS = 17,\n\tICMP_MIB_OUTPARMPROBS = 18,\n\tICMP_MIB_OUTSRCQUENCHS = 19,\n\tICMP_MIB_OUTREDIRECTS = 20,\n\tICMP_MIB_OUTECHOS = 21,\n\tICMP_MIB_OUTECHOREPS = 22,\n\tICMP_MIB_OUTTIMESTAMPS = 23,\n\tICMP_MIB_OUTTIMESTAMPREPS = 24,\n\tICMP_MIB_OUTADDRMASKS = 25,\n\tICMP_MIB_OUTADDRMASKREPS = 26,\n\tICMP_MIB_CSUMERRORS = 27,\n\tICMP_MIB_RATELIMITGLOBAL = 28,\n\tICMP_MIB_RATELIMITHOST = 29,\n\t__ICMP_MIB_MAX = 30,\n};\n\nenum {\n\tICQ_EXITED = 4,\n\tICQ_DESTROYED = 8,\n};\n\nenum {\n\tIFAL_ADDRESS = 1,\n\tIFAL_LABEL = 2,\n\t__IFAL_MAX = 3,\n};\n\nenum {\n\tIFA_UNSPEC = 0,\n\tIFA_ADDRESS = 1,\n\tIFA_LOCAL = 2,\n\tIFA_LABEL = 3,\n\tIFA_BROADCAST = 4,\n\tIFA_ANYCAST = 5,\n\tIFA_CACHEINFO = 6,\n\tIFA_MULTICAST = 7,\n\tIFA_FLAGS = 8,\n\tIFA_RT_PRIORITY = 9,\n\tIFA_TARGET_NETNSID = 10,\n\tIFA_PROTO = 11,\n\t__IFA_MAX = 12,\n};\n\nenum {\n\tIFLA_BRIDGE_FLAGS = 0,\n\tIFLA_BRIDGE_MODE = 1,\n\tIFLA_BRIDGE_VLAN_INFO = 2,\n\tIFLA_BRIDGE_VLAN_TUNNEL_INFO = 3,\n\tIFLA_BRIDGE_MRP = 4,\n\tIFLA_BRIDGE_CFM = 5,\n\tIFLA_BRIDGE_MST = 6,\n\t__IFLA_BRIDGE_MAX = 7,\n};\n\nenum {\n\tIFLA_BRPORT_UNSPEC = 0,\n\tIFLA_BRPORT_STATE = 1,\n\tIFLA_BRPORT_PRIORITY = 2,\n\tIFLA_BRPORT_COST = 3,\n\tIFLA_BRPORT_MODE = 4,\n\tIFLA_BRPORT_GUARD = 5,\n\tIFLA_BRPORT_PROTECT = 6,\n\tIFLA_BRPORT_FAST_LEAVE = 7,\n\tIFLA_BRPORT_LEARNING = 8,\n\tIFLA_BRPORT_UNICAST_FLOOD = 9,\n\tIFLA_BRPORT_PROXYARP = 10,\n\tIFLA_BRPORT_LEARNING_SYNC = 11,\n\tIFLA_BRPORT_PROXYARP_WIFI = 12,\n\tIFLA_BRPORT_ROOT_ID = 13,\n\tIFLA_BRPORT_BRIDGE_ID = 14,\n\tIFLA_BRPORT_DESIGNATED_PORT = 15,\n\tIFLA_BRPORT_DESIGNATED_COST = 16,\n\tIFLA_BRPORT_ID = 17,\n\tIFLA_BRPORT_NO = 18,\n\tIFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 19,\n\tIFLA_BRPORT_CONFIG_PENDING = 20,\n\tIFLA_BRPORT_MESSAGE_AGE_TIMER = 21,\n\tIFLA_BRPORT_FORWARD_DELAY_TIMER = 22,\n\tIFLA_BRPORT_HOLD_TIMER = 23,\n\tIFLA_BRPORT_FLUSH = 24,\n\tIFLA_BRPORT_MULTICAST_ROUTER = 25,\n\tIFLA_BRPORT_PAD = 26,\n\tIFLA_BRPORT_MCAST_FLOOD = 27,\n\tIFLA_BRPORT_MCAST_TO_UCAST = 28,\n\tIFLA_BRPORT_VLAN_TUNNEL = 29,\n\tIFLA_BRPORT_BCAST_FLOOD = 30,\n\tIFLA_BRPORT_GROUP_FWD_MASK = 31,\n\tIFLA_BRPORT_NEIGH_SUPPRESS = 32,\n\tIFLA_BRPORT_ISOLATED = 33,\n\tIFLA_BRPORT_BACKUP_PORT = 34,\n\tIFLA_BRPORT_MRP_RING_OPEN = 35,\n\tIFLA_BRPORT_MRP_IN_OPEN = 36,\n\tIFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 37,\n\tIFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 38,\n\tIFLA_BRPORT_LOCKED = 39,\n\tIFLA_BRPORT_MAB = 40,\n\tIFLA_BRPORT_MCAST_N_GROUPS = 41,\n\tIFLA_BRPORT_MCAST_MAX_GROUPS = 42,\n\tIFLA_BRPORT_NEIGH_VLAN_SUPPRESS = 43,\n\tIFLA_BRPORT_BACKUP_NHID = 44,\n\t__IFLA_BRPORT_MAX = 45,\n};\n\nenum {\n\tIFLA_EVENT_NONE = 0,\n\tIFLA_EVENT_REBOOT = 1,\n\tIFLA_EVENT_FEATURES = 2,\n\tIFLA_EVENT_BONDING_FAILOVER = 3,\n\tIFLA_EVENT_NOTIFY_PEERS = 4,\n\tIFLA_EVENT_IGMP_RESEND = 5,\n\tIFLA_EVENT_BONDING_OPTIONS = 6,\n};\n\nenum {\n\tIFLA_INET6_UNSPEC = 0,\n\tIFLA_INET6_FLAGS = 1,\n\tIFLA_INET6_CONF = 2,\n\tIFLA_INET6_STATS = 3,\n\tIFLA_INET6_MCAST = 4,\n\tIFLA_INET6_CACHEINFO = 5,\n\tIFLA_INET6_ICMP6STATS = 6,\n\tIFLA_INET6_TOKEN = 7,\n\tIFLA_INET6_ADDR_GEN_MODE = 8,\n\tIFLA_INET6_RA_MTU = 9,\n\t__IFLA_INET6_MAX = 10,\n};\n\nenum {\n\tIFLA_INET_UNSPEC = 0,\n\tIFLA_INET_CONF = 1,\n\t__IFLA_INET_MAX = 2,\n};\n\nenum {\n\tIFLA_INFO_UNSPEC = 0,\n\tIFLA_INFO_KIND = 1,\n\tIFLA_INFO_DATA = 2,\n\tIFLA_INFO_XSTATS = 3,\n\tIFLA_INFO_SLAVE_KIND = 4,\n\tIFLA_INFO_SLAVE_DATA = 5,\n\t__IFLA_INFO_MAX = 6,\n};\n\nenum {\n\tIFLA_IPTUN_UNSPEC = 0,\n\tIFLA_IPTUN_LINK = 1,\n\tIFLA_IPTUN_LOCAL = 2,\n\tIFLA_IPTUN_REMOTE = 3,\n\tIFLA_IPTUN_TTL = 4,\n\tIFLA_IPTUN_TOS = 5,\n\tIFLA_IPTUN_ENCAP_LIMIT = 6,\n\tIFLA_IPTUN_FLOWINFO = 7,\n\tIFLA_IPTUN_FLAGS = 8,\n\tIFLA_IPTUN_PROTO = 9,\n\tIFLA_IPTUN_PMTUDISC = 10,\n\tIFLA_IPTUN_6RD_PREFIX = 11,\n\tIFLA_IPTUN_6RD_RELAY_PREFIX = 12,\n\tIFLA_IPTUN_6RD_PREFIXLEN = 13,\n\tIFLA_IPTUN_6RD_RELAY_PREFIXLEN = 14,\n\tIFLA_IPTUN_ENCAP_TYPE = 15,\n\tIFLA_IPTUN_ENCAP_FLAGS = 16,\n\tIFLA_IPTUN_ENCAP_SPORT = 17,\n\tIFLA_IPTUN_ENCAP_DPORT = 18,\n\tIFLA_IPTUN_COLLECT_METADATA = 19,\n\tIFLA_IPTUN_FWMARK = 20,\n\t__IFLA_IPTUN_MAX = 21,\n};\n\nenum {\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 1,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 2,\n\t__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX = 3,\n};\n\nenum {\n\tIFLA_OFFLOAD_XSTATS_UNSPEC = 0,\n\tIFLA_OFFLOAD_XSTATS_CPU_HIT = 1,\n\tIFLA_OFFLOAD_XSTATS_HW_S_INFO = 2,\n\tIFLA_OFFLOAD_XSTATS_L3_STATS = 3,\n\t__IFLA_OFFLOAD_XSTATS_MAX = 4,\n};\n\nenum {\n\tIFLA_PORT_UNSPEC = 0,\n\tIFLA_PORT_VF = 1,\n\tIFLA_PORT_PROFILE = 2,\n\tIFLA_PORT_VSI_TYPE = 3,\n\tIFLA_PORT_INSTANCE_UUID = 4,\n\tIFLA_PORT_HOST_UUID = 5,\n\tIFLA_PORT_REQUEST = 6,\n\tIFLA_PORT_RESPONSE = 7,\n\t__IFLA_PORT_MAX = 8,\n};\n\nenum {\n\tIFLA_PROTO_DOWN_REASON_UNSPEC = 0,\n\tIFLA_PROTO_DOWN_REASON_MASK = 1,\n\tIFLA_PROTO_DOWN_REASON_VALUE = 2,\n\t__IFLA_PROTO_DOWN_REASON_CNT = 3,\n\tIFLA_PROTO_DOWN_REASON_MAX = 2,\n};\n\nenum {\n\tIFLA_STATS_GETSET_UNSPEC = 0,\n\tIFLA_STATS_GET_FILTERS = 1,\n\tIFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 2,\n\t__IFLA_STATS_GETSET_MAX = 3,\n};\n\nenum {\n\tIFLA_STATS_UNSPEC = 0,\n\tIFLA_STATS_LINK_64 = 1,\n\tIFLA_STATS_LINK_XSTATS = 2,\n\tIFLA_STATS_LINK_XSTATS_SLAVE = 3,\n\tIFLA_STATS_LINK_OFFLOAD_XSTATS = 4,\n\tIFLA_STATS_AF_SPEC = 5,\n\t__IFLA_STATS_MAX = 6,\n};\n\nenum {\n\tIFLA_UNSPEC = 0,\n\tIFLA_ADDRESS = 1,\n\tIFLA_BROADCAST = 2,\n\tIFLA_IFNAME = 3,\n\tIFLA_MTU = 4,\n\tIFLA_LINK = 5,\n\tIFLA_QDISC = 6,\n\tIFLA_STATS = 7,\n\tIFLA_COST = 8,\n\tIFLA_PRIORITY = 9,\n\tIFLA_MASTER = 10,\n\tIFLA_WIRELESS = 11,\n\tIFLA_PROTINFO = 12,\n\tIFLA_TXQLEN = 13,\n\tIFLA_MAP = 14,\n\tIFLA_WEIGHT = 15,\n\tIFLA_OPERSTATE = 16,\n\tIFLA_LINKMODE = 17,\n\tIFLA_LINKINFO = 18,\n\tIFLA_NET_NS_PID = 19,\n\tIFLA_IFALIAS = 20,\n\tIFLA_NUM_VF = 21,\n\tIFLA_VFINFO_LIST = 22,\n\tIFLA_STATS64 = 23,\n\tIFLA_VF_PORTS = 24,\n\tIFLA_PORT_SELF = 25,\n\tIFLA_AF_SPEC = 26,\n\tIFLA_GROUP = 27,\n\tIFLA_NET_NS_FD = 28,\n\tIFLA_EXT_MASK = 29,\n\tIFLA_PROMISCUITY = 30,\n\tIFLA_NUM_TX_QUEUES = 31,\n\tIFLA_NUM_RX_QUEUES = 32,\n\tIFLA_CARRIER = 33,\n\tIFLA_PHYS_PORT_ID = 34,\n\tIFLA_CARRIER_CHANGES = 35,\n\tIFLA_PHYS_SWITCH_ID = 36,\n\tIFLA_LINK_NETNSID = 37,\n\tIFLA_PHYS_PORT_NAME = 38,\n\tIFLA_PROTO_DOWN = 39,\n\tIFLA_GSO_MAX_SEGS = 40,\n\tIFLA_GSO_MAX_SIZE = 41,\n\tIFLA_PAD = 42,\n\tIFLA_XDP = 43,\n\tIFLA_EVENT = 44,\n\tIFLA_NEW_NETNSID = 45,\n\tIFLA_IF_NETNSID = 46,\n\tIFLA_TARGET_NETNSID = 46,\n\tIFLA_CARRIER_UP_COUNT = 47,\n\tIFLA_CARRIER_DOWN_COUNT = 48,\n\tIFLA_NEW_IFINDEX = 49,\n\tIFLA_MIN_MTU = 50,\n\tIFLA_MAX_MTU = 51,\n\tIFLA_PROP_LIST = 52,\n\tIFLA_ALT_IFNAME = 53,\n\tIFLA_PERM_ADDRESS = 54,\n\tIFLA_PROTO_DOWN_REASON = 55,\n\tIFLA_PARENT_DEV_NAME = 56,\n\tIFLA_PARENT_DEV_BUS_NAME = 57,\n\tIFLA_GRO_MAX_SIZE = 58,\n\tIFLA_TSO_MAX_SIZE = 59,\n\tIFLA_TSO_MAX_SEGS = 60,\n\tIFLA_ALLMULTI = 61,\n\tIFLA_DEVLINK_PORT = 62,\n\tIFLA_GSO_IPV4_MAX_SIZE = 63,\n\tIFLA_GRO_IPV4_MAX_SIZE = 64,\n\tIFLA_DPLL_PIN = 65,\n\tIFLA_MAX_PACING_OFFLOAD_HORIZON = 66,\n\t__IFLA_MAX = 67,\n};\n\nenum {\n\tIFLA_VF_INFO_UNSPEC = 0,\n\tIFLA_VF_INFO = 1,\n\t__IFLA_VF_INFO_MAX = 2,\n};\n\nenum {\n\tIFLA_VF_PORT_UNSPEC = 0,\n\tIFLA_VF_PORT = 1,\n\t__IFLA_VF_PORT_MAX = 2,\n};\n\nenum {\n\tIFLA_VF_STATS_RX_PACKETS = 0,\n\tIFLA_VF_STATS_TX_PACKETS = 1,\n\tIFLA_VF_STATS_RX_BYTES = 2,\n\tIFLA_VF_STATS_TX_BYTES = 3,\n\tIFLA_VF_STATS_BROADCAST = 4,\n\tIFLA_VF_STATS_MULTICAST = 5,\n\tIFLA_VF_STATS_PAD = 6,\n\tIFLA_VF_STATS_RX_DROPPED = 7,\n\tIFLA_VF_STATS_TX_DROPPED = 8,\n\t__IFLA_VF_STATS_MAX = 9,\n};\n\nenum {\n\tIFLA_VF_UNSPEC = 0,\n\tIFLA_VF_MAC = 1,\n\tIFLA_VF_VLAN = 2,\n\tIFLA_VF_TX_RATE = 3,\n\tIFLA_VF_SPOOFCHK = 4,\n\tIFLA_VF_LINK_STATE = 5,\n\tIFLA_VF_RATE = 6,\n\tIFLA_VF_RSS_QUERY_EN = 7,\n\tIFLA_VF_STATS = 8,\n\tIFLA_VF_TRUST = 9,\n\tIFLA_VF_IB_NODE_GUID = 10,\n\tIFLA_VF_IB_PORT_GUID = 11,\n\tIFLA_VF_VLAN_LIST = 12,\n\tIFLA_VF_BROADCAST = 13,\n\t__IFLA_VF_MAX = 14,\n};\n\nenum {\n\tIFLA_VF_VLAN_INFO_UNSPEC = 0,\n\tIFLA_VF_VLAN_INFO = 1,\n\t__IFLA_VF_VLAN_INFO_MAX = 2,\n};\n\nenum {\n\tIFLA_XDP_UNSPEC = 0,\n\tIFLA_XDP_FD = 1,\n\tIFLA_XDP_ATTACHED = 2,\n\tIFLA_XDP_FLAGS = 3,\n\tIFLA_XDP_PROG_ID = 4,\n\tIFLA_XDP_DRV_PROG_ID = 5,\n\tIFLA_XDP_SKB_PROG_ID = 6,\n\tIFLA_XDP_HW_PROG_ID = 7,\n\tIFLA_XDP_EXPECTED_FD = 8,\n\t__IFLA_XDP_MAX = 9,\n};\n\nenum {\n\tIF_ACT_NONE = -1,\n\tIF_ACT_FILTER = 0,\n\tIF_ACT_START = 1,\n\tIF_ACT_STOP = 2,\n\tIF_SRC_FILE = 3,\n\tIF_SRC_KERNEL = 4,\n\tIF_SRC_FILEADDR = 5,\n\tIF_SRC_KERNELADDR = 6,\n};\n\nenum {\n\tIF_LINK_MODE_DEFAULT = 0,\n\tIF_LINK_MODE_DORMANT = 1,\n\tIF_LINK_MODE_TESTING = 2,\n};\n\nenum {\n\tIF_OPER_UNKNOWN = 0,\n\tIF_OPER_NOTPRESENT = 1,\n\tIF_OPER_DOWN = 2,\n\tIF_OPER_LOWERLAYERDOWN = 3,\n\tIF_OPER_TESTING = 4,\n\tIF_OPER_DORMANT = 5,\n\tIF_OPER_UP = 6,\n};\n\nenum {\n\tIF_STATE_ACTION = 0,\n\tIF_STATE_SOURCE = 1,\n\tIF_STATE_END = 2,\n};\n\nenum {\n\tINBAND_CISCO_SGMII = 0,\n\tINBAND_BASEX = 1,\n};\n\nenum {\n\tINET6_IFADDR_STATE_PREDAD = 0,\n\tINET6_IFADDR_STATE_DAD = 1,\n\tINET6_IFADDR_STATE_POSTDAD = 2,\n\tINET6_IFADDR_STATE_ERRDAD = 3,\n\tINET6_IFADDR_STATE_DEAD = 4,\n};\n\nenum {\n\tINET_DIAG_BC_NOP = 0,\n\tINET_DIAG_BC_JMP = 1,\n\tINET_DIAG_BC_S_GE = 2,\n\tINET_DIAG_BC_S_LE = 3,\n\tINET_DIAG_BC_D_GE = 4,\n\tINET_DIAG_BC_D_LE = 5,\n\tINET_DIAG_BC_AUTO = 6,\n\tINET_DIAG_BC_S_COND = 7,\n\tINET_DIAG_BC_D_COND = 8,\n\tINET_DIAG_BC_DEV_COND = 9,\n\tINET_DIAG_BC_MARK_COND = 10,\n\tINET_DIAG_BC_S_EQ = 11,\n\tINET_DIAG_BC_D_EQ = 12,\n\tINET_DIAG_BC_CGROUP_COND = 13,\n};\n\nenum {\n\tINET_DIAG_NONE = 0,\n\tINET_DIAG_MEMINFO = 1,\n\tINET_DIAG_INFO = 2,\n\tINET_DIAG_VEGASINFO = 3,\n\tINET_DIAG_CONG = 4,\n\tINET_DIAG_TOS = 5,\n\tINET_DIAG_TCLASS = 6,\n\tINET_DIAG_SKMEMINFO = 7,\n\tINET_DIAG_SHUTDOWN = 8,\n\tINET_DIAG_DCTCPINFO = 9,\n\tINET_DIAG_PROTOCOL = 10,\n\tINET_DIAG_SKV6ONLY = 11,\n\tINET_DIAG_LOCALS = 12,\n\tINET_DIAG_PEERS = 13,\n\tINET_DIAG_PAD = 14,\n\tINET_DIAG_MARK = 15,\n\tINET_DIAG_BBRINFO = 16,\n\tINET_DIAG_CLASS_ID = 17,\n\tINET_DIAG_MD5SIG = 18,\n\tINET_DIAG_ULP_INFO = 19,\n\tINET_DIAG_SK_BPF_STORAGES = 20,\n\tINET_DIAG_CGROUP_ID = 21,\n\tINET_DIAG_SOCKOPT = 22,\n\t__INET_DIAG_MAX = 23,\n};\n\nenum {\n\tINET_DIAG_REQ_NONE = 0,\n\tINET_DIAG_REQ_BYTECODE = 1,\n\tINET_DIAG_REQ_SK_BPF_STORAGES = 2,\n\tINET_DIAG_REQ_PROTOCOL = 3,\n\t__INET_DIAG_REQ_MAX = 4,\n};\n\nenum {\n\tINET_ECN_NOT_ECT = 0,\n\tINET_ECN_ECT_1 = 1,\n\tINET_ECN_ECT_0 = 2,\n\tINET_ECN_CE = 3,\n\tINET_ECN_MASK = 3,\n};\n\nenum {\n\tINET_FLAGS_PKTINFO = 0,\n\tINET_FLAGS_TTL = 1,\n\tINET_FLAGS_TOS = 2,\n\tINET_FLAGS_RECVOPTS = 3,\n\tINET_FLAGS_RETOPTS = 4,\n\tINET_FLAGS_PASSSEC = 5,\n\tINET_FLAGS_ORIGDSTADDR = 6,\n\tINET_FLAGS_CHECKSUM = 7,\n\tINET_FLAGS_RECVFRAGSIZE = 8,\n\tINET_FLAGS_RECVERR = 9,\n\tINET_FLAGS_RECVERR_RFC4884 = 10,\n\tINET_FLAGS_FREEBIND = 11,\n\tINET_FLAGS_HDRINCL = 12,\n\tINET_FLAGS_MC_LOOP = 13,\n\tINET_FLAGS_MC_ALL = 14,\n\tINET_FLAGS_TRANSPARENT = 15,\n\tINET_FLAGS_IS_ICSK = 16,\n\tINET_FLAGS_NODEFRAG = 17,\n\tINET_FLAGS_BIND_ADDRESS_NO_PORT = 18,\n\tINET_FLAGS_DEFER_CONNECT = 19,\n\tINET_FLAGS_MC6_LOOP = 20,\n\tINET_FLAGS_RECVERR6_RFC4884 = 21,\n\tINET_FLAGS_MC6_ALL = 22,\n\tINET_FLAGS_AUTOFLOWLABEL_SET = 23,\n\tINET_FLAGS_AUTOFLOWLABEL = 24,\n\tINET_FLAGS_DONTFRAG = 25,\n\tINET_FLAGS_RECVERR6 = 26,\n\tINET_FLAGS_REPFLOW = 27,\n\tINET_FLAGS_RTALERT_ISOLATE = 28,\n\tINET_FLAGS_SNDFLOW = 29,\n\tINET_FLAGS_RTALERT = 30,\n};\n\nenum {\n\tINET_FRAG_FIRST_IN = 1,\n\tINET_FRAG_LAST_IN = 2,\n\tINET_FRAG_COMPLETE = 4,\n\tINET_FRAG_HASH_DEAD = 8,\n\tINET_FRAG_DROP = 16,\n};\n\nenum {\n\tINET_ULP_INFO_UNSPEC = 0,\n\tINET_ULP_INFO_NAME = 1,\n\tINET_ULP_INFO_TLS = 2,\n\tINET_ULP_INFO_MPTCP = 3,\n\t__INET_ULP_INFO_MAX = 4,\n};\n\nenum {\n\tINSN_F_FRAMENO_MASK = 7,\n\tINSN_F_SPI_MASK = 63,\n\tINSN_F_SPI_SHIFT = 3,\n\tINSN_F_STACK_ACCESS = 512,\n};\n\nenum {\n\tINVERT = 1,\n\tPROCESS_AND = 2,\n\tPROCESS_OR = 4,\n};\n\nenum {\n\tIOAM6_ATTR_UNSPEC = 0,\n\tIOAM6_ATTR_NS_ID = 1,\n\tIOAM6_ATTR_NS_DATA = 2,\n\tIOAM6_ATTR_NS_DATA_WIDE = 3,\n\tIOAM6_ATTR_SC_ID = 4,\n\tIOAM6_ATTR_SC_DATA = 5,\n\tIOAM6_ATTR_SC_NONE = 6,\n\tIOAM6_ATTR_PAD = 7,\n\t__IOAM6_ATTR_MAX = 8,\n};\n\nenum {\n\tIOAM6_CMD_UNSPEC = 0,\n\tIOAM6_CMD_ADD_NAMESPACE = 1,\n\tIOAM6_CMD_DEL_NAMESPACE = 2,\n\tIOAM6_CMD_DUMP_NAMESPACES = 3,\n\tIOAM6_CMD_ADD_SCHEMA = 4,\n\tIOAM6_CMD_DEL_SCHEMA = 5,\n\tIOAM6_CMD_DUMP_SCHEMAS = 6,\n\tIOAM6_CMD_NS_SET_SCHEMA = 7,\n\t__IOAM6_CMD_MAX = 8,\n};\n\nenum {\n\tIOBL_BUF_RING = 1,\n\tIOBL_INC = 2,\n};\n\nenum {\n\tIOCB_CMD_PREAD = 0,\n\tIOCB_CMD_PWRITE = 1,\n\tIOCB_CMD_FSYNC = 2,\n\tIOCB_CMD_FDSYNC = 3,\n\tIOCB_CMD_POLL = 5,\n\tIOCB_CMD_NOOP = 6,\n\tIOCB_CMD_PREADV = 7,\n\tIOCB_CMD_PWRITEV = 8,\n};\n\nenum {\n\tIOMMU_SET_DOMAIN_MUST_SUCCEED = 1,\n};\n\nenum {\n\tIOPRIO_CLASS_NONE = 0,\n\tIOPRIO_CLASS_RT = 1,\n\tIOPRIO_CLASS_BE = 2,\n\tIOPRIO_CLASS_IDLE = 3,\n\tIOPRIO_CLASS_INVALID = 7,\n};\n\nenum {\n\tIOPRIO_HINT_NONE = 0,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_1 = 1,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_2 = 2,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_3 = 3,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_4 = 4,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_5 = 5,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_6 = 6,\n\tIOPRIO_HINT_DEV_DURATION_LIMIT_7 = 7,\n};\n\nenum {\n\tIOPRIO_WHO_PROCESS = 1,\n\tIOPRIO_WHO_PGRP = 2,\n\tIOPRIO_WHO_USER = 3,\n};\n\nenum {\n\tIORES_DESC_NONE = 0,\n\tIORES_DESC_CRASH_KERNEL = 1,\n\tIORES_DESC_ACPI_TABLES = 2,\n\tIORES_DESC_ACPI_NV_STORAGE = 3,\n\tIORES_DESC_PERSISTENT_MEMORY = 4,\n\tIORES_DESC_PERSISTENT_MEMORY_LEGACY = 5,\n\tIORES_DESC_DEVICE_PRIVATE_MEMORY = 6,\n\tIORES_DESC_RESERVED = 7,\n\tIORES_DESC_SOFT_RESERVED = 8,\n\tIORES_DESC_CXL = 9,\n};\n\nenum {\n\tIORING_MEM_REGION_REG_WAIT_ARG = 1,\n};\n\nenum {\n\tIORING_MEM_REGION_TYPE_USER = 1,\n};\n\nenum {\n\tIORING_REGISTER_SRC_REGISTERED = 1,\n\tIORING_REGISTER_DST_REPLACE = 2,\n};\n\nenum {\n\tIORING_REG_WAIT_TS = 1,\n};\n\nenum {\n\tIORING_RSRC_FILE = 0,\n\tIORING_RSRC_BUFFER = 1,\n};\n\nenum {\n\tIOU_F_TWQ_LAZY_WAKE = 1,\n};\n\nenum {\n\tIOU_OK = 0,\n\tIOU_ISSUE_SKIP_COMPLETE = -529,\n\tIOU_REQUEUE = -3072,\n\tIOU_STOP_MULTISHOT = -125,\n};\n\nenum {\n\tIOU_POLL_DONE = 0,\n\tIOU_POLL_NO_ACTION = 1,\n\tIOU_POLL_REMOVE_POLL_USE_RES = 2,\n\tIOU_POLL_REISSUE = 3,\n\tIOU_POLL_REQUEUE = 4,\n};\n\nenum {\n\tIO_ACCT_STALLED_BIT = 0,\n};\n\nenum {\n\tIO_APOLL_OK = 0,\n\tIO_APOLL_ABORTED = 1,\n\tIO_APOLL_READY = 2,\n};\n\nenum {\n\tIO_CHECK_CQ_OVERFLOW_BIT = 0,\n\tIO_CHECK_CQ_DROPPED_BIT = 1,\n};\n\nenum {\n\tIO_EVENTFD_OP_SIGNAL_BIT = 0,\n};\n\nenum {\n\tIO_REGION_F_VMAP = 1,\n\tIO_REGION_F_USER_PROVIDED = 2,\n\tIO_REGION_F_SINGLE_REF = 4,\n};\n\nenum {\n\tIO_SQ_THREAD_SHOULD_STOP = 0,\n\tIO_SQ_THREAD_SHOULD_PARK = 1,\n};\n\nenum {\n\tIO_WORKER_F_UP = 0,\n\tIO_WORKER_F_RUNNING = 1,\n\tIO_WORKER_F_FREE = 2,\n\tIO_WORKER_F_BOUND = 3,\n};\n\nenum {\n\tIO_WQ_ACCT_BOUND = 0,\n\tIO_WQ_ACCT_UNBOUND = 1,\n\tIO_WQ_ACCT_NR = 2,\n};\n\nenum {\n\tIO_WQ_BIT_EXIT = 0,\n};\n\nenum {\n\tIO_WQ_WORK_CANCEL = 1,\n\tIO_WQ_WORK_HASHED = 2,\n\tIO_WQ_WORK_UNBOUND = 4,\n\tIO_WQ_WORK_CONCURRENT = 16,\n\tIO_WQ_HASH_SHIFT = 24,\n};\n\nenum {\n\tIP6_FH_F_FRAG = 1,\n\tIP6_FH_F_AUTH = 2,\n\tIP6_FH_F_SKIP_RH = 4,\n};\n\nenum {\n\tIPPROTO_IP = 0,\n\tIPPROTO_ICMP = 1,\n\tIPPROTO_IGMP = 2,\n\tIPPROTO_IPIP = 4,\n\tIPPROTO_TCP = 6,\n\tIPPROTO_EGP = 8,\n\tIPPROTO_PUP = 12,\n\tIPPROTO_UDP = 17,\n\tIPPROTO_IDP = 22,\n\tIPPROTO_TP = 29,\n\tIPPROTO_DCCP = 33,\n\tIPPROTO_IPV6 = 41,\n\tIPPROTO_RSVP = 46,\n\tIPPROTO_GRE = 47,\n\tIPPROTO_ESP = 50,\n\tIPPROTO_AH = 51,\n\tIPPROTO_MTP = 92,\n\tIPPROTO_BEETPH = 94,\n\tIPPROTO_ENCAP = 98,\n\tIPPROTO_PIM = 103,\n\tIPPROTO_COMP = 108,\n\tIPPROTO_L2TP = 115,\n\tIPPROTO_SCTP = 132,\n\tIPPROTO_UDPLITE = 136,\n\tIPPROTO_MPLS = 137,\n\tIPPROTO_ETHERNET = 143,\n\tIPPROTO_AGGFRAG = 144,\n\tIPPROTO_RAW = 255,\n\tIPPROTO_SMC = 256,\n\tIPPROTO_MPTCP = 262,\n\tIPPROTO_MAX = 263,\n};\n\nenum {\n\tIPSTATS_MIB_NUM = 0,\n\tIPSTATS_MIB_INPKTS = 1,\n\tIPSTATS_MIB_INOCTETS = 2,\n\tIPSTATS_MIB_INDELIVERS = 3,\n\tIPSTATS_MIB_OUTFORWDATAGRAMS = 4,\n\tIPSTATS_MIB_OUTREQUESTS = 5,\n\tIPSTATS_MIB_OUTOCTETS = 6,\n\tIPSTATS_MIB_INHDRERRORS = 7,\n\tIPSTATS_MIB_INTOOBIGERRORS = 8,\n\tIPSTATS_MIB_INNOROUTES = 9,\n\tIPSTATS_MIB_INADDRERRORS = 10,\n\tIPSTATS_MIB_INUNKNOWNPROTOS = 11,\n\tIPSTATS_MIB_INTRUNCATEDPKTS = 12,\n\tIPSTATS_MIB_INDISCARDS = 13,\n\tIPSTATS_MIB_OUTDISCARDS = 14,\n\tIPSTATS_MIB_OUTNOROUTES = 15,\n\tIPSTATS_MIB_REASMTIMEOUT = 16,\n\tIPSTATS_MIB_REASMREQDS = 17,\n\tIPSTATS_MIB_REASMOKS = 18,\n\tIPSTATS_MIB_REASMFAILS = 19,\n\tIPSTATS_MIB_FRAGOKS = 20,\n\tIPSTATS_MIB_FRAGFAILS = 21,\n\tIPSTATS_MIB_FRAGCREATES = 22,\n\tIPSTATS_MIB_INMCASTPKTS = 23,\n\tIPSTATS_MIB_OUTMCASTPKTS = 24,\n\tIPSTATS_MIB_INBCASTPKTS = 25,\n\tIPSTATS_MIB_OUTBCASTPKTS = 26,\n\tIPSTATS_MIB_INMCASTOCTETS = 27,\n\tIPSTATS_MIB_OUTMCASTOCTETS = 28,\n\tIPSTATS_MIB_INBCASTOCTETS = 29,\n\tIPSTATS_MIB_OUTBCASTOCTETS = 30,\n\tIPSTATS_MIB_CSUMERRORS = 31,\n\tIPSTATS_MIB_NOECTPKTS = 32,\n\tIPSTATS_MIB_ECT1PKTS = 33,\n\tIPSTATS_MIB_ECT0PKTS = 34,\n\tIPSTATS_MIB_CEPKTS = 35,\n\tIPSTATS_MIB_REASM_OVERLAPS = 36,\n\tIPSTATS_MIB_OUTPKTS = 37,\n\t__IPSTATS_MIB_MAX = 38,\n};\n\nenum {\n\tIPV4_DEVCONF_FORWARDING = 1,\n\tIPV4_DEVCONF_MC_FORWARDING = 2,\n\tIPV4_DEVCONF_PROXY_ARP = 3,\n\tIPV4_DEVCONF_ACCEPT_REDIRECTS = 4,\n\tIPV4_DEVCONF_SECURE_REDIRECTS = 5,\n\tIPV4_DEVCONF_SEND_REDIRECTS = 6,\n\tIPV4_DEVCONF_SHARED_MEDIA = 7,\n\tIPV4_DEVCONF_RP_FILTER = 8,\n\tIPV4_DEVCONF_ACCEPT_SOURCE_ROUTE = 9,\n\tIPV4_DEVCONF_BOOTP_RELAY = 10,\n\tIPV4_DEVCONF_LOG_MARTIANS = 11,\n\tIPV4_DEVCONF_TAG = 12,\n\tIPV4_DEVCONF_ARPFILTER = 13,\n\tIPV4_DEVCONF_MEDIUM_ID = 14,\n\tIPV4_DEVCONF_NOXFRM = 15,\n\tIPV4_DEVCONF_NOPOLICY = 16,\n\tIPV4_DEVCONF_FORCE_IGMP_VERSION = 17,\n\tIPV4_DEVCONF_ARP_ANNOUNCE = 18,\n\tIPV4_DEVCONF_ARP_IGNORE = 19,\n\tIPV4_DEVCONF_PROMOTE_SECONDARIES = 20,\n\tIPV4_DEVCONF_ARP_ACCEPT = 21,\n\tIPV4_DEVCONF_ARP_NOTIFY = 22,\n\tIPV4_DEVCONF_ACCEPT_LOCAL = 23,\n\tIPV4_DEVCONF_SRC_VMARK = 24,\n\tIPV4_DEVCONF_PROXY_ARP_PVLAN = 25,\n\tIPV4_DEVCONF_ROUTE_LOCALNET = 26,\n\tIPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL = 27,\n\tIPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL = 28,\n\tIPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 29,\n\tIPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 30,\n\tIPV4_DEVCONF_DROP_GRATUITOUS_ARP = 31,\n\tIPV4_DEVCONF_BC_FORWARDING = 32,\n\tIPV4_DEVCONF_ARP_EVICT_NOCARRIER = 33,\n\t__IPV4_DEVCONF_MAX = 34,\n};\n\nenum {\n\tIPV6_SADDR_RULE_INIT = 0,\n\tIPV6_SADDR_RULE_LOCAL = 1,\n\tIPV6_SADDR_RULE_SCOPE = 2,\n\tIPV6_SADDR_RULE_PREFERRED = 3,\n\tIPV6_SADDR_RULE_OIF = 4,\n\tIPV6_SADDR_RULE_LABEL = 5,\n\tIPV6_SADDR_RULE_PRIVACY = 6,\n\tIPV6_SADDR_RULE_ORCHID = 7,\n\tIPV6_SADDR_RULE_PREFIX = 8,\n\tIPV6_SADDR_RULE_MAX = 9,\n};\n\nenum {\n\tIP_TUNNEL_CSUM_BIT = 0,\n\tIP_TUNNEL_ROUTING_BIT = 1,\n\tIP_TUNNEL_KEY_BIT = 2,\n\tIP_TUNNEL_SEQ_BIT = 3,\n\tIP_TUNNEL_STRICT_BIT = 4,\n\tIP_TUNNEL_REC_BIT = 5,\n\tIP_TUNNEL_VERSION_BIT = 6,\n\tIP_TUNNEL_NO_KEY_BIT = 7,\n\tIP_TUNNEL_DONT_FRAGMENT_BIT = 8,\n\tIP_TUNNEL_OAM_BIT = 9,\n\tIP_TUNNEL_CRIT_OPT_BIT = 10,\n\tIP_TUNNEL_GENEVE_OPT_BIT = 11,\n\tIP_TUNNEL_VXLAN_OPT_BIT = 12,\n\tIP_TUNNEL_NOCACHE_BIT = 13,\n\tIP_TUNNEL_ERSPAN_OPT_BIT = 14,\n\tIP_TUNNEL_GTP_OPT_BIT = 15,\n\tIP_TUNNEL_VTI_BIT = 16,\n\tIP_TUNNEL_SIT_ISATAP_BIT = 16,\n\tIP_TUNNEL_PFCP_OPT_BIT = 17,\n\t__IP_TUNNEL_FLAG_NUM = 18,\n};\n\nenum {\n\tIRQCHIP_FWNODE_REAL = 0,\n\tIRQCHIP_FWNODE_NAMED = 1,\n\tIRQCHIP_FWNODE_NAMED_ID = 2,\n};\n\nenum {\n\tIRQCHIP_SET_TYPE_MASKED = 1,\n\tIRQCHIP_EOI_IF_HANDLED = 2,\n\tIRQCHIP_MASK_ON_SUSPEND = 4,\n\tIRQCHIP_ONOFFLINE_ENABLED = 8,\n\tIRQCHIP_SKIP_SET_WAKE = 16,\n\tIRQCHIP_ONESHOT_SAFE = 32,\n\tIRQCHIP_EOI_THREADED = 64,\n\tIRQCHIP_SUPPORTS_LEVEL_MSI = 128,\n\tIRQCHIP_SUPPORTS_NMI = 256,\n\tIRQCHIP_ENABLE_WAKEUP_ON_SUSPEND = 512,\n\tIRQCHIP_AFFINITY_PRE_STARTUP = 1024,\n\tIRQCHIP_IMMUTABLE = 2048,\n\tIRQCHIP_MOVE_DEFERRED = 4096,\n};\n\nenum {\n\tIRQC_IS_HARDIRQ = 0,\n\tIRQC_IS_NESTED = 1,\n};\n\nenum {\n\tIRQD_TRIGGER_MASK = 15,\n\tIRQD_SETAFFINITY_PENDING = 256,\n\tIRQD_ACTIVATED = 512,\n\tIRQD_NO_BALANCING = 1024,\n\tIRQD_PER_CPU = 2048,\n\tIRQD_AFFINITY_SET = 4096,\n\tIRQD_LEVEL = 8192,\n\tIRQD_WAKEUP_STATE = 16384,\n\tIRQD_IRQ_DISABLED = 65536,\n\tIRQD_IRQ_MASKED = 131072,\n\tIRQD_IRQ_INPROGRESS = 262144,\n\tIRQD_WAKEUP_ARMED = 524288,\n\tIRQD_FORWARDED_TO_VCPU = 1048576,\n\tIRQD_AFFINITY_MANAGED = 2097152,\n\tIRQD_IRQ_STARTED = 4194304,\n\tIRQD_MANAGED_SHUTDOWN = 8388608,\n\tIRQD_SINGLE_TARGET = 16777216,\n\tIRQD_DEFAULT_TRIGGER_SET = 33554432,\n\tIRQD_CAN_RESERVE = 67108864,\n\tIRQD_HANDLE_ENFORCE_IRQCTX = 134217728,\n\tIRQD_AFFINITY_ON_ACTIVATE = 268435456,\n\tIRQD_IRQ_ENABLED_ON_SUSPEND = 536870912,\n\tIRQD_RESEND_WHEN_IN_PROGRESS = 1073741824,\n};\n\nenum {\n\tIRQS_AUTODETECT = 1,\n\tIRQS_SPURIOUS_DISABLED = 2,\n\tIRQS_POLL_INPROGRESS = 8,\n\tIRQS_ONESHOT = 32,\n\tIRQS_REPLAY = 64,\n\tIRQS_WAITING = 128,\n\tIRQS_PENDING = 512,\n\tIRQS_SUSPENDED = 2048,\n\tIRQS_TIMINGS = 4096,\n\tIRQS_NMI = 8192,\n\tIRQS_SYSFS = 16384,\n};\n\nenum {\n\tIRQTF_RUNTHREAD = 0,\n\tIRQTF_WARNED = 1,\n\tIRQTF_AFFINITY = 2,\n\tIRQTF_FORCED_THREAD = 3,\n\tIRQTF_READY = 4,\n};\n\nenum {\n\tIRQ_DOMAIN_FLAG_HIERARCHY = 1,\n\tIRQ_DOMAIN_NAME_ALLOCATED = 2,\n\tIRQ_DOMAIN_FLAG_IPI_PER_CPU = 4,\n\tIRQ_DOMAIN_FLAG_IPI_SINGLE = 8,\n\tIRQ_DOMAIN_FLAG_MSI = 16,\n\tIRQ_DOMAIN_FLAG_ISOLATED_MSI = 32,\n\tIRQ_DOMAIN_FLAG_NO_MAP = 64,\n\tIRQ_DOMAIN_FLAG_MSI_PARENT = 256,\n\tIRQ_DOMAIN_FLAG_MSI_DEVICE = 512,\n\tIRQ_DOMAIN_FLAG_DESTROY_GC = 1024,\n\tIRQ_DOMAIN_FLAG_NONCORE = 65536,\n};\n\nenum {\n\tIRQ_SET_MASK_OK = 0,\n\tIRQ_SET_MASK_OK_NOCOPY = 1,\n\tIRQ_SET_MASK_OK_DONE = 2,\n};\n\nenum {\n\tIRQ_STARTUP_NORMAL = 0,\n\tIRQ_STARTUP_MANAGED = 1,\n\tIRQ_STARTUP_ABORT = 2,\n};\n\nenum {\n\tIRQ_TYPE_NONE = 0,\n\tIRQ_TYPE_EDGE_RISING = 1,\n\tIRQ_TYPE_EDGE_FALLING = 2,\n\tIRQ_TYPE_EDGE_BOTH = 3,\n\tIRQ_TYPE_LEVEL_HIGH = 4,\n\tIRQ_TYPE_LEVEL_LOW = 8,\n\tIRQ_TYPE_LEVEL_MASK = 12,\n\tIRQ_TYPE_SENSE_MASK = 15,\n\tIRQ_TYPE_DEFAULT = 15,\n\tIRQ_TYPE_PROBE = 16,\n\tIRQ_LEVEL = 256,\n\tIRQ_PER_CPU = 512,\n\tIRQ_NOPROBE = 1024,\n\tIRQ_NOREQUEST = 2048,\n\tIRQ_NOAUTOEN = 4096,\n\tIRQ_NO_BALANCING = 8192,\n\tIRQ_NESTED_THREAD = 32768,\n\tIRQ_NOTHREAD = 65536,\n\tIRQ_PER_CPU_DEVID = 131072,\n\tIRQ_IS_POLLED = 262144,\n\tIRQ_DISABLE_UNLAZY = 524288,\n\tIRQ_HIDDEN = 1048576,\n\tIRQ_NO_DEBUG = 2097152,\n};\n\nenum {\n\tIU_ID_COMMAND = 1,\n\tIU_ID_STATUS = 3,\n\tIU_ID_RESPONSE = 4,\n\tIU_ID_TASK_MGMT = 5,\n\tIU_ID_READ_READY = 6,\n\tIU_ID_WRITE_READY = 7,\n};\n\nenum {\n\tKBUF_MODE_EXPAND = 1,\n\tKBUF_MODE_FREE = 2,\n};\n\nenum {\n\tKERNEL_PARAM_FL_UNSAFE = 1,\n\tKERNEL_PARAM_FL_HWPARAM = 2,\n};\n\nenum {\n\tKERNEL_PARAM_OPS_FL_NOARG = 1,\n};\n\nenum {\n\tKF_ARG_DYNPTR_ID = 0,\n\tKF_ARG_LIST_HEAD_ID = 1,\n\tKF_ARG_LIST_NODE_ID = 2,\n\tKF_ARG_RB_ROOT_ID = 3,\n\tKF_ARG_RB_NODE_ID = 4,\n\tKF_ARG_WORKQUEUE_ID = 5,\n};\n\nenum {\n\tKTW_FREEZABLE = 1,\n};\n\nenum {\n\tKYBER_ASYNC_PERCENT = 75,\n};\n\nenum {\n\tKYBER_LATENCY_SHIFT = 2,\n\tKYBER_GOOD_BUCKETS = 4,\n\tKYBER_LATENCY_BUCKETS = 8,\n};\n\nenum {\n\tKYBER_READ = 0,\n\tKYBER_WRITE = 1,\n\tKYBER_DISCARD = 2,\n\tKYBER_OTHER = 3,\n\tKYBER_NUM_DOMAINS = 4,\n};\n\nenum {\n\tKYBER_TOTAL_LATENCY = 0,\n\tKYBER_IO_LATENCY = 1,\n};\n\nenum {\n\tLAST_NORM = 0,\n\tLAST_ROOT = 1,\n\tLAST_DOT = 2,\n\tLAST_DOTDOT = 3,\n};\n\nenum {\n\tLIBATA_MAX_PRD = 128,\n\tLIBATA_DUMB_MAX_PRD = 64,\n\tATA_DEF_QUEUE = 1,\n\tATA_MAX_QUEUE = 32,\n\tATA_TAG_INTERNAL = 32,\n\tATA_SHORT_PAUSE = 16,\n\tATAPI_MAX_DRAIN = 16384,\n\tATA_ALL_DEVICES = 3,\n\tATA_SHT_EMULATED = 1,\n\tATA_SHT_THIS_ID = -1,\n\tATA_TFLAG_LBA48 = 1,\n\tATA_TFLAG_ISADDR = 2,\n\tATA_TFLAG_DEVICE = 4,\n\tATA_TFLAG_WRITE = 8,\n\tATA_TFLAG_LBA = 16,\n\tATA_TFLAG_FUA = 32,\n\tATA_TFLAG_POLLING = 64,\n\tATA_DFLAG_LBA = 1,\n\tATA_DFLAG_LBA48 = 2,\n\tATA_DFLAG_CDB_INTR = 4,\n\tATA_DFLAG_NCQ = 8,\n\tATA_DFLAG_FLUSH_EXT = 16,\n\tATA_DFLAG_ACPI_PENDING = 32,\n\tATA_DFLAG_ACPI_FAILED = 64,\n\tATA_DFLAG_AN = 128,\n\tATA_DFLAG_TRUSTED = 256,\n\tATA_DFLAG_FUA = 512,\n\tATA_DFLAG_DMADIR = 1024,\n\tATA_DFLAG_NCQ_SEND_RECV = 2048,\n\tATA_DFLAG_NCQ_PRIO = 4096,\n\tATA_DFLAG_CDL = 8192,\n\tATA_DFLAG_CFG_MASK = 16383,\n\tATA_DFLAG_PIO = 16384,\n\tATA_DFLAG_NCQ_OFF = 32768,\n\tATA_DFLAG_SLEEPING = 65536,\n\tATA_DFLAG_DUBIOUS_XFER = 131072,\n\tATA_DFLAG_NO_UNLOAD = 262144,\n\tATA_DFLAG_UNLOCK_HPA = 524288,\n\tATA_DFLAG_INIT_MASK = 1048575,\n\tATA_DFLAG_NCQ_PRIO_ENABLED = 1048576,\n\tATA_DFLAG_CDL_ENABLED = 2097152,\n\tATA_DFLAG_RESUMING = 4194304,\n\tATA_DFLAG_DETACH = 16777216,\n\tATA_DFLAG_DETACHED = 33554432,\n\tATA_DFLAG_DA = 67108864,\n\tATA_DFLAG_DEVSLP = 134217728,\n\tATA_DFLAG_ACPI_DISABLED = 268435456,\n\tATA_DFLAG_D_SENSE = 536870912,\n\tATA_DFLAG_ZAC = 1073741824,\n\tATA_DFLAG_FEATURES_MASK = 201341696,\n\tATA_DEV_UNKNOWN = 0,\n\tATA_DEV_ATA = 1,\n\tATA_DEV_ATA_UNSUP = 2,\n\tATA_DEV_ATAPI = 3,\n\tATA_DEV_ATAPI_UNSUP = 4,\n\tATA_DEV_PMP = 5,\n\tATA_DEV_PMP_UNSUP = 6,\n\tATA_DEV_SEMB = 7,\n\tATA_DEV_SEMB_UNSUP = 8,\n\tATA_DEV_ZAC = 9,\n\tATA_DEV_ZAC_UNSUP = 10,\n\tATA_DEV_NONE = 11,\n\tATA_LFLAG_NO_HRST = 2,\n\tATA_LFLAG_NO_SRST = 4,\n\tATA_LFLAG_ASSUME_ATA = 8,\n\tATA_LFLAG_ASSUME_SEMB = 16,\n\tATA_LFLAG_ASSUME_CLASS = 24,\n\tATA_LFLAG_NO_RETRY = 32,\n\tATA_LFLAG_DISABLED = 64,\n\tATA_LFLAG_SW_ACTIVITY = 128,\n\tATA_LFLAG_NO_LPM = 256,\n\tATA_LFLAG_RST_ONCE = 512,\n\tATA_LFLAG_CHANGED = 1024,\n\tATA_LFLAG_NO_DEBOUNCE_DELAY = 2048,\n\tATA_FLAG_SLAVE_POSS = 1,\n\tATA_FLAG_SATA = 2,\n\tATA_FLAG_NO_LPM = 4,\n\tATA_FLAG_NO_LOG_PAGE = 32,\n\tATA_FLAG_NO_ATAPI = 64,\n\tATA_FLAG_PIO_DMA = 128,\n\tATA_FLAG_PIO_LBA48 = 256,\n\tATA_FLAG_PIO_POLLING = 512,\n\tATA_FLAG_NCQ = 1024,\n\tATA_FLAG_NO_POWEROFF_SPINDOWN = 2048,\n\tATA_FLAG_NO_HIBERNATE_SPINDOWN = 4096,\n\tATA_FLAG_DEBUGMSG = 8192,\n\tATA_FLAG_FPDMA_AA = 16384,\n\tATA_FLAG_IGN_SIMPLEX = 32768,\n\tATA_FLAG_NO_IORDY = 65536,\n\tATA_FLAG_ACPI_SATA = 131072,\n\tATA_FLAG_AN = 262144,\n\tATA_FLAG_PMP = 524288,\n\tATA_FLAG_FPDMA_AUX = 1048576,\n\tATA_FLAG_EM = 2097152,\n\tATA_FLAG_SW_ACTIVITY = 4194304,\n\tATA_FLAG_NO_DIPM = 8388608,\n\tATA_FLAG_SAS_HOST = 16777216,\n\tATA_PFLAG_EH_PENDING = 1,\n\tATA_PFLAG_EH_IN_PROGRESS = 2,\n\tATA_PFLAG_FROZEN = 4,\n\tATA_PFLAG_RECOVERED = 8,\n\tATA_PFLAG_LOADING = 16,\n\tATA_PFLAG_SCSI_HOTPLUG = 64,\n\tATA_PFLAG_INITIALIZING = 128,\n\tATA_PFLAG_RESETTING = 256,\n\tATA_PFLAG_UNLOADING = 512,\n\tATA_PFLAG_UNLOADED = 1024,\n\tATA_PFLAG_RESUMING = 65536,\n\tATA_PFLAG_SUSPENDED = 131072,\n\tATA_PFLAG_PM_PENDING = 262144,\n\tATA_PFLAG_INIT_GTM_VALID = 524288,\n\tATA_PFLAG_PIO32 = 1048576,\n\tATA_PFLAG_PIO32CHANGE = 2097152,\n\tATA_PFLAG_EXTERNAL = 4194304,\n\tATA_QCFLAG_ACTIVE = 1,\n\tATA_QCFLAG_DMAMAP = 2,\n\tATA_QCFLAG_RTF_FILLED = 4,\n\tATA_QCFLAG_IO = 8,\n\tATA_QCFLAG_RESULT_TF = 16,\n\tATA_QCFLAG_CLEAR_EXCL = 32,\n\tATA_QCFLAG_QUIET = 64,\n\tATA_QCFLAG_RETRY = 128,\n\tATA_QCFLAG_HAS_CDL = 256,\n\tATA_QCFLAG_EH = 65536,\n\tATA_QCFLAG_SENSE_VALID = 131072,\n\tATA_QCFLAG_EH_SCHEDULED = 262144,\n\tATA_QCFLAG_EH_SUCCESS_CMD = 524288,\n\tATA_HOST_SIMPLEX = 1,\n\tATA_HOST_STARTED = 2,\n\tATA_HOST_PARALLEL_SCAN = 4,\n\tATA_HOST_IGNORE_ATA = 8,\n\tATA_HOST_NO_PART = 16,\n\tATA_HOST_NO_SSC = 32,\n\tATA_HOST_NO_DEVSLP = 64,\n\tATA_TMOUT_INTERNAL_QUICK = 5000,\n\tATA_TMOUT_MAX_PARK = 30000,\n\tATA_TMOUT_FF_WAIT_LONG = 2000,\n\tATA_TMOUT_FF_WAIT = 800,\n\tATA_WAIT_AFTER_RESET = 150,\n\tATA_TMOUT_PMP_SRST_WAIT = 10000,\n\tATA_TMOUT_SPURIOUS_PHY = 10000,\n\tBUS_UNKNOWN = 0,\n\tBUS_DMA = 1,\n\tBUS_IDLE = 2,\n\tBUS_NOINTR = 3,\n\tBUS_NODATA = 4,\n\tBUS_TIMER = 5,\n\tBUS_PIO = 6,\n\tBUS_EDD = 7,\n\tBUS_IDENTIFY = 8,\n\tBUS_PACKET = 9,\n\tPORT_UNKNOWN = 0,\n\tPORT_ENABLED = 1,\n\tPORT_DISABLED = 2,\n\tATA_NR_PIO_MODES = 7,\n\tATA_NR_MWDMA_MODES = 5,\n\tATA_NR_UDMA_MODES = 8,\n\tATA_SHIFT_PIO = 0,\n\tATA_SHIFT_MWDMA = 7,\n\tATA_SHIFT_UDMA = 12,\n\tATA_SHIFT_PRIO = 6,\n\tATA_PRIO_HIGH = 2,\n\tATA_DMA_PAD_SZ = 4,\n\tATA_ERING_SIZE = 32,\n\tATA_DEFER_LINK = 1,\n\tATA_DEFER_PORT = 2,\n\tATA_EH_DESC_LEN = 80,\n\tATA_EH_REVALIDATE = 1,\n\tATA_EH_SOFTRESET = 2,\n\tATA_EH_HARDRESET = 4,\n\tATA_EH_RESET = 6,\n\tATA_EH_ENABLE_LINK = 8,\n\tATA_EH_PARK = 32,\n\tATA_EH_GET_SUCCESS_SENSE = 64,\n\tATA_EH_SET_ACTIVE = 128,\n\tATA_EH_PERDEV_MASK = 225,\n\tATA_EH_ALL_ACTIONS = 15,\n\tATA_EHI_HOTPLUGGED = 1,\n\tATA_EHI_NO_AUTOPSY = 4,\n\tATA_EHI_QUIET = 8,\n\tATA_EHI_NO_RECOVERY = 16,\n\tATA_EHI_DID_SOFTRESET = 65536,\n\tATA_EHI_DID_HARDRESET = 131072,\n\tATA_EHI_PRINTINFO = 262144,\n\tATA_EHI_SETMODE = 524288,\n\tATA_EHI_POST_SETMODE = 1048576,\n\tATA_EHI_DID_PRINT_QUIRKS = 2097152,\n\tATA_EHI_DID_RESET = 196608,\n\tATA_EHI_TO_SLAVE_MASK = 12,\n\tATA_EH_MAX_TRIES = 5,\n\tATA_LINK_RESUME_TRIES = 5,\n\tATA_EH_DEV_TRIES = 3,\n\tATA_EH_PMP_TRIES = 5,\n\tATA_EH_PMP_LINK_TRIES = 3,\n\tSATA_PMP_RW_TIMEOUT = 3000,\n\tATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8,\n\tATA_QUIRK_DIAGNOSTIC = 1,\n\tATA_QUIRK_NODMA = 2,\n\tATA_QUIRK_NONCQ = 4,\n\tATA_QUIRK_MAX_SEC_128 = 8,\n\tATA_QUIRK_BROKEN_HPA = 16,\n\tATA_QUIRK_DISABLE = 32,\n\tATA_QUIRK_HPA_SIZE = 64,\n\tATA_QUIRK_IVB = 128,\n\tATA_QUIRK_STUCK_ERR = 256,\n\tATA_QUIRK_BRIDGE_OK = 512,\n\tATA_QUIRK_ATAPI_MOD16_DMA = 1024,\n\tATA_QUIRK_FIRMWARE_WARN = 2048,\n\tATA_QUIRK_1_5_GBPS = 4096,\n\tATA_QUIRK_NOSETXFER = 8192,\n\tATA_QUIRK_BROKEN_FPDMA_AA = 16384,\n\tATA_QUIRK_DUMP_ID = 32768,\n\tATA_QUIRK_MAX_SEC_LBA48 = 65536,\n\tATA_QUIRK_ATAPI_DMADIR = 131072,\n\tATA_QUIRK_NO_NCQ_TRIM = 262144,\n\tATA_QUIRK_NOLPM = 524288,\n\tATA_QUIRK_WD_BROKEN_LPM = 1048576,\n\tATA_QUIRK_ZERO_AFTER_TRIM = 2097152,\n\tATA_QUIRK_NO_DMA_LOG = 4194304,\n\tATA_QUIRK_NOTRIM = 8388608,\n\tATA_QUIRK_MAX_SEC_1024 = 16777216,\n\tATA_QUIRK_MAX_TRIM_128M = 33554432,\n\tATA_QUIRK_NO_NCQ_ON_ATI = 67108864,\n\tATA_QUIRK_NO_LPM_ON_ATI = 134217728,\n\tATA_QUIRK_NO_ID_DEV_LOG = 268435456,\n\tATA_QUIRK_NO_LOG_DIR = 536870912,\n\tATA_QUIRK_NO_FUA = 1073741824,\n\tATA_DMA_MASK_ATA = 1,\n\tATA_DMA_MASK_ATAPI = 2,\n\tATA_DMA_MASK_CFA = 4,\n\tATAPI_READ = 0,\n\tATAPI_WRITE = 1,\n\tATAPI_READ_CD = 2,\n\tATAPI_PASS_THRU = 3,\n\tATAPI_MISC = 4,\n\tATA_TIMING_SETUP = 1,\n\tATA_TIMING_ACT8B = 2,\n\tATA_TIMING_REC8B = 4,\n\tATA_TIMING_CYC8B = 8,\n\tATA_TIMING_8BIT = 14,\n\tATA_TIMING_ACTIVE = 16,\n\tATA_TIMING_RECOVER = 32,\n\tATA_TIMING_DMACK_HOLD = 64,\n\tATA_TIMING_CYCLE = 128,\n\tATA_TIMING_UDMA = 256,\n\tATA_TIMING_ALL = 511,\n\tATA_ACPI_FILTER_SETXFER = 1,\n\tATA_ACPI_FILTER_LOCK = 2,\n\tATA_ACPI_FILTER_DIPM = 4,\n\tATA_ACPI_FILTER_FPDMA_OFFSET = 8,\n\tATA_ACPI_FILTER_FPDMA_AA = 16,\n\tATA_ACPI_FILTER_DEFAULT = 7,\n};\n\nenum {\n\tLINUX_MIB_NUM = 0,\n\tLINUX_MIB_SYNCOOKIESSENT = 1,\n\tLINUX_MIB_SYNCOOKIESRECV = 2,\n\tLINUX_MIB_SYNCOOKIESFAILED = 3,\n\tLINUX_MIB_EMBRYONICRSTS = 4,\n\tLINUX_MIB_PRUNECALLED = 5,\n\tLINUX_MIB_RCVPRUNED = 6,\n\tLINUX_MIB_OFOPRUNED = 7,\n\tLINUX_MIB_OUTOFWINDOWICMPS = 8,\n\tLINUX_MIB_LOCKDROPPEDICMPS = 9,\n\tLINUX_MIB_ARPFILTER = 10,\n\tLINUX_MIB_TIMEWAITED = 11,\n\tLINUX_MIB_TIMEWAITRECYCLED = 12,\n\tLINUX_MIB_TIMEWAITKILLED = 13,\n\tLINUX_MIB_PAWSACTIVEREJECTED = 14,\n\tLINUX_MIB_PAWSESTABREJECTED = 15,\n\tLINUX_MIB_PAWS_OLD_ACK = 16,\n\tLINUX_MIB_DELAYEDACKS = 17,\n\tLINUX_MIB_DELAYEDACKLOCKED = 18,\n\tLINUX_MIB_DELAYEDACKLOST = 19,\n\tLINUX_MIB_LISTENOVERFLOWS = 20,\n\tLINUX_MIB_LISTENDROPS = 21,\n\tLINUX_MIB_TCPHPHITS = 22,\n\tLINUX_MIB_TCPPUREACKS = 23,\n\tLINUX_MIB_TCPHPACKS = 24,\n\tLINUX_MIB_TCPRENORECOVERY = 25,\n\tLINUX_MIB_TCPSACKRECOVERY = 26,\n\tLINUX_MIB_TCPSACKRENEGING = 27,\n\tLINUX_MIB_TCPSACKREORDER = 28,\n\tLINUX_MIB_TCPRENOREORDER = 29,\n\tLINUX_MIB_TCPTSREORDER = 30,\n\tLINUX_MIB_TCPFULLUNDO = 31,\n\tLINUX_MIB_TCPPARTIALUNDO = 32,\n\tLINUX_MIB_TCPDSACKUNDO = 33,\n\tLINUX_MIB_TCPLOSSUNDO = 34,\n\tLINUX_MIB_TCPLOSTRETRANSMIT = 35,\n\tLINUX_MIB_TCPRENOFAILURES = 36,\n\tLINUX_MIB_TCPSACKFAILURES = 37,\n\tLINUX_MIB_TCPLOSSFAILURES = 38,\n\tLINUX_MIB_TCPFASTRETRANS = 39,\n\tLINUX_MIB_TCPSLOWSTARTRETRANS = 40,\n\tLINUX_MIB_TCPTIMEOUTS = 41,\n\tLINUX_MIB_TCPLOSSPROBES = 42,\n\tLINUX_MIB_TCPLOSSPROBERECOVERY = 43,\n\tLINUX_MIB_TCPRENORECOVERYFAIL = 44,\n\tLINUX_MIB_TCPSACKRECOVERYFAIL = 45,\n\tLINUX_MIB_TCPRCVCOLLAPSED = 46,\n\tLINUX_MIB_TCPDSACKOLDSENT = 47,\n\tLINUX_MIB_TCPDSACKOFOSENT = 48,\n\tLINUX_MIB_TCPDSACKRECV = 49,\n\tLINUX_MIB_TCPDSACKOFORECV = 50,\n\tLINUX_MIB_TCPABORTONDATA = 51,\n\tLINUX_MIB_TCPABORTONCLOSE = 52,\n\tLINUX_MIB_TCPABORTONMEMORY = 53,\n\tLINUX_MIB_TCPABORTONTIMEOUT = 54,\n\tLINUX_MIB_TCPABORTONLINGER = 55,\n\tLINUX_MIB_TCPABORTFAILED = 56,\n\tLINUX_MIB_TCPMEMORYPRESSURES = 57,\n\tLINUX_MIB_TCPMEMORYPRESSURESCHRONO = 58,\n\tLINUX_MIB_TCPSACKDISCARD = 59,\n\tLINUX_MIB_TCPDSACKIGNOREDOLD = 60,\n\tLINUX_MIB_TCPDSACKIGNOREDNOUNDO = 61,\n\tLINUX_MIB_TCPSPURIOUSRTOS = 62,\n\tLINUX_MIB_TCPMD5NOTFOUND = 63,\n\tLINUX_MIB_TCPMD5UNEXPECTED = 64,\n\tLINUX_MIB_TCPMD5FAILURE = 65,\n\tLINUX_MIB_SACKSHIFTED = 66,\n\tLINUX_MIB_SACKMERGED = 67,\n\tLINUX_MIB_SACKSHIFTFALLBACK = 68,\n\tLINUX_MIB_TCPBACKLOGDROP = 69,\n\tLINUX_MIB_PFMEMALLOCDROP = 70,\n\tLINUX_MIB_TCPMINTTLDROP = 71,\n\tLINUX_MIB_TCPDEFERACCEPTDROP = 72,\n\tLINUX_MIB_IPRPFILTER = 73,\n\tLINUX_MIB_TCPTIMEWAITOVERFLOW = 74,\n\tLINUX_MIB_TCPREQQFULLDOCOOKIES = 75,\n\tLINUX_MIB_TCPREQQFULLDROP = 76,\n\tLINUX_MIB_TCPRETRANSFAIL = 77,\n\tLINUX_MIB_TCPRCVCOALESCE = 78,\n\tLINUX_MIB_TCPBACKLOGCOALESCE = 79,\n\tLINUX_MIB_TCPOFOQUEUE = 80,\n\tLINUX_MIB_TCPOFODROP = 81,\n\tLINUX_MIB_TCPOFOMERGE = 82,\n\tLINUX_MIB_TCPCHALLENGEACK = 83,\n\tLINUX_MIB_TCPSYNCHALLENGE = 84,\n\tLINUX_MIB_TCPFASTOPENACTIVE = 85,\n\tLINUX_MIB_TCPFASTOPENACTIVEFAIL = 86,\n\tLINUX_MIB_TCPFASTOPENPASSIVE = 87,\n\tLINUX_MIB_TCPFASTOPENPASSIVEFAIL = 88,\n\tLINUX_MIB_TCPFASTOPENLISTENOVERFLOW = 89,\n\tLINUX_MIB_TCPFASTOPENCOOKIEREQD = 90,\n\tLINUX_MIB_TCPFASTOPENBLACKHOLE = 91,\n\tLINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES = 92,\n\tLINUX_MIB_BUSYPOLLRXPACKETS = 93,\n\tLINUX_MIB_TCPAUTOCORKING = 94,\n\tLINUX_MIB_TCPFROMZEROWINDOWADV = 95,\n\tLINUX_MIB_TCPTOZEROWINDOWADV = 96,\n\tLINUX_MIB_TCPWANTZEROWINDOWADV = 97,\n\tLINUX_MIB_TCPSYNRETRANS = 98,\n\tLINUX_MIB_TCPORIGDATASENT = 99,\n\tLINUX_MIB_TCPHYSTARTTRAINDETECT = 100,\n\tLINUX_MIB_TCPHYSTARTTRAINCWND = 101,\n\tLINUX_MIB_TCPHYSTARTDELAYDETECT = 102,\n\tLINUX_MIB_TCPHYSTARTDELAYCWND = 103,\n\tLINUX_MIB_TCPACKSKIPPEDSYNRECV = 104,\n\tLINUX_MIB_TCPACKSKIPPEDPAWS = 105,\n\tLINUX_MIB_TCPACKSKIPPEDSEQ = 106,\n\tLINUX_MIB_TCPACKSKIPPEDFINWAIT2 = 107,\n\tLINUX_MIB_TCPACKSKIPPEDTIMEWAIT = 108,\n\tLINUX_MIB_TCPACKSKIPPEDCHALLENGE = 109,\n\tLINUX_MIB_TCPWINPROBE = 110,\n\tLINUX_MIB_TCPKEEPALIVE = 111,\n\tLINUX_MIB_TCPMTUPFAIL = 112,\n\tLINUX_MIB_TCPMTUPSUCCESS = 113,\n\tLINUX_MIB_TCPDELIVERED = 114,\n\tLINUX_MIB_TCPDELIVEREDCE = 115,\n\tLINUX_MIB_TCPACKCOMPRESSED = 116,\n\tLINUX_MIB_TCPZEROWINDOWDROP = 117,\n\tLINUX_MIB_TCPRCVQDROP = 118,\n\tLINUX_MIB_TCPWQUEUETOOBIG = 119,\n\tLINUX_MIB_TCPFASTOPENPASSIVEALTKEY = 120,\n\tLINUX_MIB_TCPTIMEOUTREHASH = 121,\n\tLINUX_MIB_TCPDUPLICATEDATAREHASH = 122,\n\tLINUX_MIB_TCPDSACKRECVSEGS = 123,\n\tLINUX_MIB_TCPDSACKIGNOREDDUBIOUS = 124,\n\tLINUX_MIB_TCPMIGRATEREQSUCCESS = 125,\n\tLINUX_MIB_TCPMIGRATEREQFAILURE = 126,\n\tLINUX_MIB_TCPPLBREHASH = 127,\n\tLINUX_MIB_TCPAOREQUIRED = 128,\n\tLINUX_MIB_TCPAOBAD = 129,\n\tLINUX_MIB_TCPAOKEYNOTFOUND = 130,\n\tLINUX_MIB_TCPAOGOOD = 131,\n\tLINUX_MIB_TCPAODROPPEDICMPS = 132,\n\t__LINUX_MIB_MAX = 133,\n};\n\nenum {\n\tLINUX_MIB_TLSNUM = 0,\n\tLINUX_MIB_TLSCURRTXSW = 1,\n\tLINUX_MIB_TLSCURRRXSW = 2,\n\tLINUX_MIB_TLSCURRTXDEVICE = 3,\n\tLINUX_MIB_TLSCURRRXDEVICE = 4,\n\tLINUX_MIB_TLSTXSW = 5,\n\tLINUX_MIB_TLSRXSW = 6,\n\tLINUX_MIB_TLSTXDEVICE = 7,\n\tLINUX_MIB_TLSRXDEVICE = 8,\n\tLINUX_MIB_TLSDECRYPTERROR = 9,\n\tLINUX_MIB_TLSRXDEVICERESYNC = 10,\n\tLINUX_MIB_TLSDECRYPTRETRY = 11,\n\tLINUX_MIB_TLSRXNOPADVIOL = 12,\n\tLINUX_MIB_TLSRXREKEYOK = 13,\n\tLINUX_MIB_TLSRXREKEYERROR = 14,\n\tLINUX_MIB_TLSTXREKEYOK = 15,\n\tLINUX_MIB_TLSTXREKEYERROR = 16,\n\tLINUX_MIB_TLSRXREKEYRECEIVED = 17,\n\t__LINUX_MIB_TLSMAX = 18,\n};\n\nenum {\n\tLINUX_MIB_XFRMNUM = 0,\n\tLINUX_MIB_XFRMINERROR = 1,\n\tLINUX_MIB_XFRMINBUFFERERROR = 2,\n\tLINUX_MIB_XFRMINHDRERROR = 3,\n\tLINUX_MIB_XFRMINNOSTATES = 4,\n\tLINUX_MIB_XFRMINSTATEPROTOERROR = 5,\n\tLINUX_MIB_XFRMINSTATEMODEERROR = 6,\n\tLINUX_MIB_XFRMINSTATESEQERROR = 7,\n\tLINUX_MIB_XFRMINSTATEEXPIRED = 8,\n\tLINUX_MIB_XFRMINSTATEMISMATCH = 9,\n\tLINUX_MIB_XFRMINSTATEINVALID = 10,\n\tLINUX_MIB_XFRMINTMPLMISMATCH = 11,\n\tLINUX_MIB_XFRMINNOPOLS = 12,\n\tLINUX_MIB_XFRMINPOLBLOCK = 13,\n\tLINUX_MIB_XFRMINPOLERROR = 14,\n\tLINUX_MIB_XFRMOUTERROR = 15,\n\tLINUX_MIB_XFRMOUTBUNDLEGENERROR = 16,\n\tLINUX_MIB_XFRMOUTBUNDLECHECKERROR = 17,\n\tLINUX_MIB_XFRMOUTNOSTATES = 18,\n\tLINUX_MIB_XFRMOUTSTATEPROTOERROR = 19,\n\tLINUX_MIB_XFRMOUTSTATEMODEERROR = 20,\n\tLINUX_MIB_XFRMOUTSTATESEQERROR = 21,\n\tLINUX_MIB_XFRMOUTSTATEEXPIRED = 22,\n\tLINUX_MIB_XFRMOUTPOLBLOCK = 23,\n\tLINUX_MIB_XFRMOUTPOLDEAD = 24,\n\tLINUX_MIB_XFRMOUTPOLERROR = 25,\n\tLINUX_MIB_XFRMFWDHDRERROR = 26,\n\tLINUX_MIB_XFRMOUTSTATEINVALID = 27,\n\tLINUX_MIB_XFRMACQUIREERROR = 28,\n\tLINUX_MIB_XFRMOUTSTATEDIRERROR = 29,\n\tLINUX_MIB_XFRMINSTATEDIRERROR = 30,\n\tLINUX_MIB_XFRMINIPTFSERROR = 31,\n\tLINUX_MIB_XFRMOUTNOQSPACE = 32,\n\t__LINUX_MIB_XFRMMAX = 33,\n};\n\nenum {\n\tLK_STATE_IN_USE = 0,\n\tNFS_DELEGATED_STATE = 1,\n\tNFS_OPEN_STATE = 2,\n\tNFS_O_RDONLY_STATE = 3,\n\tNFS_O_WRONLY_STATE = 4,\n\tNFS_O_RDWR_STATE = 5,\n\tNFS_STATE_RECLAIM_REBOOT = 6,\n\tNFS_STATE_RECLAIM_NOGRACE = 7,\n\tNFS_STATE_POSIX_LOCKS = 8,\n\tNFS_STATE_RECOVERY_FAILED = 9,\n\tNFS_STATE_MAY_NOTIFY_LOCK = 10,\n\tNFS_STATE_CHANGE_WAIT = 11,\n\tNFS_CLNT_DST_SSC_COPY_STATE = 12,\n\tNFS_CLNT_SRC_SSC_COPY_STATE = 13,\n\tNFS_SRV_SSC_COPY_STATE = 14,\n};\n\nenum {\n\tLOGIC_PIO_INDIRECT = 0,\n\tLOGIC_PIO_CPU_MMIO = 1,\n};\n\nenum {\n\tLO_FLAGS_READ_ONLY = 1,\n\tLO_FLAGS_AUTOCLEAR = 4,\n\tLO_FLAGS_PARTSCAN = 8,\n\tLO_FLAGS_DIRECT_IO = 16,\n};\n\nenum {\n\tLWTUNNEL_IP_OPTS_UNSPEC = 0,\n\tLWTUNNEL_IP_OPTS_GENEVE = 1,\n\tLWTUNNEL_IP_OPTS_VXLAN = 2,\n\tLWTUNNEL_IP_OPTS_ERSPAN = 3,\n\t__LWTUNNEL_IP_OPTS_MAX = 4,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_ERSPAN_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_ERSPAN_VER = 1,\n\tLWTUNNEL_IP_OPT_ERSPAN_INDEX = 2,\n\tLWTUNNEL_IP_OPT_ERSPAN_DIR = 3,\n\tLWTUNNEL_IP_OPT_ERSPAN_HWID = 4,\n\t__LWTUNNEL_IP_OPT_ERSPAN_MAX = 5,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_GENEVE_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_GENEVE_CLASS = 1,\n\tLWTUNNEL_IP_OPT_GENEVE_TYPE = 2,\n\tLWTUNNEL_IP_OPT_GENEVE_DATA = 3,\n\t__LWTUNNEL_IP_OPT_GENEVE_MAX = 4,\n};\n\nenum {\n\tLWTUNNEL_IP_OPT_VXLAN_UNSPEC = 0,\n\tLWTUNNEL_IP_OPT_VXLAN_GBP = 1,\n\t__LWTUNNEL_IP_OPT_VXLAN_MAX = 2,\n};\n\nenum {\n\tLWTUNNEL_XMIT_DONE = 0,\n\tLWTUNNEL_XMIT_CONTINUE = 256,\n};\n\nenum {\n\tLo_unbound = 0,\n\tLo_bound = 1,\n\tLo_rundown = 2,\n\tLo_deleting = 3,\n};\n\nenum {\n\tMATCH_MTR = 0,\n\tMATCH_MEQ = 1,\n\tMATCH_MLE = 2,\n\tMATCH_MLT = 3,\n\tMATCH_MGE = 4,\n\tMATCH_MGT = 5,\n};\n\nenum {\n\tMAX_IORES_LEVEL = 5,\n};\n\nenum {\n\tMAX_OPT_ARGS = 3,\n};\n\nenum {\n\tMBE_REFERENCED_B = 0,\n\tMBE_REUSABLE_B = 1,\n};\n\nenum {\n\tMB_INODE_PA = 0,\n\tMB_GROUP_PA = 1,\n};\n\nenum {\n\tMDBA_GET_ENTRY_UNSPEC = 0,\n\tMDBA_GET_ENTRY = 1,\n\tMDBA_GET_ENTRY_ATTRS = 2,\n\t__MDBA_GET_ENTRY_MAX = 3,\n};\n\nenum {\n\tMDBA_SET_ENTRY_UNSPEC = 0,\n\tMDBA_SET_ENTRY = 1,\n\tMDBA_SET_ENTRY_ATTRS = 2,\n\t__MDBA_SET_ENTRY_MAX = 3,\n};\n\nenum {\n\tMED_R_CNT = 10,\n};\n\nenum {\n\tMED_R_DUR = 12,\n};\n\nenum {\n\tMED_W_CNT = 11,\n};\n\nenum {\n\tMED_W_DUR = 13,\n};\n\nenum {\n\tMEMBARRIER_FLAG_SYNC_CORE = 1,\n\tMEMBARRIER_FLAG_RSEQ = 2,\n};\n\nenum {\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_READY = 1,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED = 2,\n\tMEMBARRIER_STATE_GLOBAL_EXPEDITED_READY = 4,\n\tMEMBARRIER_STATE_GLOBAL_EXPEDITED = 8,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE_READY = 16,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE = 32,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ_READY = 64,\n\tMEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ = 128,\n};\n\nenum {\n\tMEMORY_RECLAIM_SWAPPINESS = 0,\n\tMEMORY_RECLAIM_NULL = 1,\n};\n\nenum {\n\tMEMREMAP_WB = 1,\n\tMEMREMAP_WT = 2,\n\tMEMREMAP_WC = 4,\n\tMEMREMAP_ENC = 8,\n\tMEMREMAP_DEC = 16,\n};\n\nenum {\n\tMEM_LIFE = 4,\n};\n\nenum {\n\tMIPI_DCS_NOP = 0,\n\tMIPI_DCS_SOFT_RESET = 1,\n\tMIPI_DCS_GET_COMPRESSION_MODE = 3,\n\tMIPI_DCS_GET_DISPLAY_ID = 4,\n\tMIPI_DCS_GET_ERROR_COUNT_ON_DSI = 5,\n\tMIPI_DCS_GET_RED_CHANNEL = 6,\n\tMIPI_DCS_GET_GREEN_CHANNEL = 7,\n\tMIPI_DCS_GET_BLUE_CHANNEL = 8,\n\tMIPI_DCS_GET_DISPLAY_STATUS = 9,\n\tMIPI_DCS_GET_POWER_MODE = 10,\n\tMIPI_DCS_GET_ADDRESS_MODE = 11,\n\tMIPI_DCS_GET_PIXEL_FORMAT = 12,\n\tMIPI_DCS_GET_DISPLAY_MODE = 13,\n\tMIPI_DCS_GET_SIGNAL_MODE = 14,\n\tMIPI_DCS_GET_DIAGNOSTIC_RESULT = 15,\n\tMIPI_DCS_ENTER_SLEEP_MODE = 16,\n\tMIPI_DCS_EXIT_SLEEP_MODE = 17,\n\tMIPI_DCS_ENTER_PARTIAL_MODE = 18,\n\tMIPI_DCS_ENTER_NORMAL_MODE = 19,\n\tMIPI_DCS_GET_IMAGE_CHECKSUM_RGB = 20,\n\tMIPI_DCS_GET_IMAGE_CHECKSUM_CT = 21,\n\tMIPI_DCS_EXIT_INVERT_MODE = 32,\n\tMIPI_DCS_ENTER_INVERT_MODE = 33,\n\tMIPI_DCS_SET_GAMMA_CURVE = 38,\n\tMIPI_DCS_SET_DISPLAY_OFF = 40,\n\tMIPI_DCS_SET_DISPLAY_ON = 41,\n\tMIPI_DCS_SET_COLUMN_ADDRESS = 42,\n\tMIPI_DCS_SET_PAGE_ADDRESS = 43,\n\tMIPI_DCS_WRITE_MEMORY_START = 44,\n\tMIPI_DCS_WRITE_LUT = 45,\n\tMIPI_DCS_READ_MEMORY_START = 46,\n\tMIPI_DCS_SET_PARTIAL_ROWS = 48,\n\tMIPI_DCS_SET_PARTIAL_COLUMNS = 49,\n\tMIPI_DCS_SET_SCROLL_AREA = 51,\n\tMIPI_DCS_SET_TEAR_OFF = 52,\n\tMIPI_DCS_SET_TEAR_ON = 53,\n\tMIPI_DCS_SET_ADDRESS_MODE = 54,\n\tMIPI_DCS_SET_SCROLL_START = 55,\n\tMIPI_DCS_EXIT_IDLE_MODE = 56,\n\tMIPI_DCS_ENTER_IDLE_MODE = 57,\n\tMIPI_DCS_SET_PIXEL_FORMAT = 58,\n\tMIPI_DCS_WRITE_MEMORY_CONTINUE = 60,\n\tMIPI_DCS_SET_3D_CONTROL = 61,\n\tMIPI_DCS_READ_MEMORY_CONTINUE = 62,\n\tMIPI_DCS_GET_3D_CONTROL = 63,\n\tMIPI_DCS_SET_VSYNC_TIMING = 64,\n\tMIPI_DCS_SET_TEAR_SCANLINE = 68,\n\tMIPI_DCS_GET_SCANLINE = 69,\n\tMIPI_DCS_SET_DISPLAY_BRIGHTNESS = 81,\n\tMIPI_DCS_GET_DISPLAY_BRIGHTNESS = 82,\n\tMIPI_DCS_WRITE_CONTROL_DISPLAY = 83,\n\tMIPI_DCS_GET_CONTROL_DISPLAY = 84,\n\tMIPI_DCS_WRITE_POWER_SAVE = 85,\n\tMIPI_DCS_GET_POWER_SAVE = 86,\n\tMIPI_DCS_SET_CABC_MIN_BRIGHTNESS = 94,\n\tMIPI_DCS_GET_CABC_MIN_BRIGHTNESS = 95,\n\tMIPI_DCS_READ_DDB_START = 161,\n\tMIPI_DCS_READ_PPS_START = 162,\n\tMIPI_DCS_READ_DDB_CONTINUE = 168,\n\tMIPI_DCS_READ_PPS_CONTINUE = 169,\n};\n\nenum {\n\tMIPI_DSI_V_SYNC_START = 1,\n\tMIPI_DSI_V_SYNC_END = 17,\n\tMIPI_DSI_H_SYNC_START = 33,\n\tMIPI_DSI_H_SYNC_END = 49,\n\tMIPI_DSI_COMPRESSION_MODE = 7,\n\tMIPI_DSI_END_OF_TRANSMISSION = 8,\n\tMIPI_DSI_COLOR_MODE_OFF = 2,\n\tMIPI_DSI_COLOR_MODE_ON = 18,\n\tMIPI_DSI_SHUTDOWN_PERIPHERAL = 34,\n\tMIPI_DSI_TURN_ON_PERIPHERAL = 50,\n\tMIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM = 3,\n\tMIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM = 19,\n\tMIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM = 35,\n\tMIPI_DSI_GENERIC_READ_REQUEST_0_PARAM = 4,\n\tMIPI_DSI_GENERIC_READ_REQUEST_1_PARAM = 20,\n\tMIPI_DSI_GENERIC_READ_REQUEST_2_PARAM = 36,\n\tMIPI_DSI_DCS_SHORT_WRITE = 5,\n\tMIPI_DSI_DCS_SHORT_WRITE_PARAM = 21,\n\tMIPI_DSI_DCS_READ = 6,\n\tMIPI_DSI_EXECUTE_QUEUE = 22,\n\tMIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE = 55,\n\tMIPI_DSI_NULL_PACKET = 9,\n\tMIPI_DSI_BLANKING_PACKET = 25,\n\tMIPI_DSI_GENERIC_LONG_WRITE = 41,\n\tMIPI_DSI_DCS_LONG_WRITE = 57,\n\tMIPI_DSI_PICTURE_PARAMETER_SET = 10,\n\tMIPI_DSI_COMPRESSED_PIXEL_STREAM = 11,\n\tMIPI_DSI_LOOSELY_PACKED_PIXEL_STREAM_YCBCR20 = 12,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_YCBCR24 = 28,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_YCBCR16 = 44,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_30 = 13,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_36 = 29,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_YCBCR12 = 61,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_16 = 14,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_18 = 30,\n\tMIPI_DSI_PIXEL_STREAM_3BYTE_18 = 46,\n\tMIPI_DSI_PACKED_PIXEL_STREAM_24 = 62,\n};\n\nenum {\n\tMIX_INFLIGHT = 2147483648,\n};\n\nenum {\n\tMLO_PAUSE_NONE = 0,\n\tMLO_PAUSE_RX = 1,\n\tMLO_PAUSE_TX = 2,\n\tMLO_PAUSE_TXRX_MASK = 3,\n\tMLO_PAUSE_AN = 4,\n\tMLO_AN_PHY = 0,\n\tMLO_AN_FIXED = 1,\n\tMLO_AN_INBAND = 2,\n\tPHYLINK_PCS_NEG_NONE = 0,\n\tPHYLINK_PCS_NEG_ENABLED = 16,\n\tPHYLINK_PCS_NEG_OUTBAND = 32,\n\tPHYLINK_PCS_NEG_INBAND = 64,\n\tPHYLINK_PCS_NEG_INBAND_DISABLED = 64,\n\tPHYLINK_PCS_NEG_INBAND_ENABLED = 80,\n\tMAC_SYM_PAUSE = 1,\n\tMAC_ASYM_PAUSE = 2,\n\tMAC_10HD = 4,\n\tMAC_10FD = 8,\n\tMAC_10 = 12,\n\tMAC_100HD = 16,\n\tMAC_100FD = 32,\n\tMAC_100 = 48,\n\tMAC_1000HD = 64,\n\tMAC_1000FD = 128,\n\tMAC_1000 = 192,\n\tMAC_2500FD = 256,\n\tMAC_5000FD = 512,\n\tMAC_10000FD = 1024,\n\tMAC_20000FD = 2048,\n\tMAC_25000FD = 4096,\n\tMAC_40000FD = 8192,\n\tMAC_50000FD = 16384,\n\tMAC_56000FD = 32768,\n\tMAC_100000FD = 65536,\n\tMAC_200000FD = 131072,\n\tMAC_400000FD = 262144,\n};\n\nenum {\n\tMM_FILEPAGES = 0,\n\tMM_ANONPAGES = 1,\n\tMM_SWAPENTS = 2,\n\tMM_SHMEMPAGES = 3,\n\tNR_MM_COUNTERS = 4,\n};\n\nenum {\n\tMOUNTPROC3_NULL = 0,\n\tMOUNTPROC3_MNT = 1,\n\tMOUNTPROC3_DUMP = 2,\n\tMOUNTPROC3_UMNT = 3,\n\tMOUNTPROC3_UMNTALL = 4,\n\tMOUNTPROC3_EXPORT = 5,\n};\n\nenum {\n\tMOUNTPROC_NULL = 0,\n\tMOUNTPROC_MNT = 1,\n\tMOUNTPROC_DUMP = 2,\n\tMOUNTPROC_UMNT = 3,\n\tMOUNTPROC_UMNTALL = 4,\n\tMOUNTPROC_EXPORT = 5,\n};\n\nenum {\n\tMOXA_SUPP_RS232 = 1,\n\tMOXA_SUPP_RS422 = 2,\n\tMOXA_SUPP_RS485 = 4,\n};\n\nenum {\n\tMSI_FLAG_USE_DEF_DOM_OPS = 1,\n\tMSI_FLAG_USE_DEF_CHIP_OPS = 2,\n\tMSI_FLAG_ACTIVATE_EARLY = 4,\n\tMSI_FLAG_MUST_REACTIVATE = 8,\n\tMSI_FLAG_DEV_SYSFS = 16,\n\tMSI_FLAG_ALLOC_SIMPLE_MSI_DESCS = 32,\n\tMSI_FLAG_FREE_MSI_DESCS = 64,\n\tMSI_FLAG_USE_DEV_FWNODE = 128,\n\tMSI_FLAG_PARENT_PM_DEV = 256,\n\tMSI_FLAG_PCI_MSI_MASK_PARENT = 512,\n\tMSI_GENERIC_FLAGS_MASK = 65535,\n\tMSI_DOMAIN_FLAGS_MASK = 4294901760,\n\tMSI_FLAG_MULTI_PCI_MSI = 65536,\n\tMSI_FLAG_PCI_MSIX = 131072,\n\tMSI_FLAG_LEVEL_CAPABLE = 262144,\n\tMSI_FLAG_MSIX_CONTIGUOUS = 524288,\n\tMSI_FLAG_PCI_MSIX_ALLOC_DYN = 1048576,\n\tMSI_FLAG_NO_AFFINITY = 2097152,\n};\n\nenum {\n\tMTD_OPS_PLACE_OOB = 0,\n\tMTD_OPS_AUTO_OOB = 1,\n\tMTD_OPS_RAW = 2,\n};\n\nenum {\n\tNAPIF_STATE_SCHED = 1,\n\tNAPIF_STATE_MISSED = 2,\n\tNAPIF_STATE_DISABLE = 4,\n\tNAPIF_STATE_NPSVC = 8,\n\tNAPIF_STATE_LISTED = 16,\n\tNAPIF_STATE_NO_BUSY_POLL = 32,\n\tNAPIF_STATE_IN_BUSY_POLL = 64,\n\tNAPIF_STATE_PREFER_BUSY_POLL = 128,\n\tNAPIF_STATE_THREADED = 256,\n\tNAPIF_STATE_SCHED_THREADED = 512,\n};\n\nenum {\n\tNAPI_F_PREFER_BUSY_POLL = 1,\n\tNAPI_F_END_ON_RESCHED = 2,\n};\n\nenum {\n\tNAPI_STATE_SCHED = 0,\n\tNAPI_STATE_MISSED = 1,\n\tNAPI_STATE_DISABLE = 2,\n\tNAPI_STATE_NPSVC = 3,\n\tNAPI_STATE_LISTED = 4,\n\tNAPI_STATE_NO_BUSY_POLL = 5,\n\tNAPI_STATE_IN_BUSY_POLL = 6,\n\tNAPI_STATE_PREFER_BUSY_POLL = 7,\n\tNAPI_STATE_THREADED = 8,\n\tNAPI_STATE_SCHED_THREADED = 9,\n};\n\nenum {\n\tNDA_UNSPEC = 0,\n\tNDA_DST = 1,\n\tNDA_LLADDR = 2,\n\tNDA_CACHEINFO = 3,\n\tNDA_PROBES = 4,\n\tNDA_VLAN = 5,\n\tNDA_PORT = 6,\n\tNDA_VNI = 7,\n\tNDA_IFINDEX = 8,\n\tNDA_MASTER = 9,\n\tNDA_LINK_NETNSID = 10,\n\tNDA_SRC_VNI = 11,\n\tNDA_PROTOCOL = 12,\n\tNDA_NH_ID = 13,\n\tNDA_FDB_EXT_ATTRS = 14,\n\tNDA_FLAGS_EXT = 15,\n\tNDA_NDM_STATE_MASK = 16,\n\tNDA_NDM_FLAGS_MASK = 17,\n\t__NDA_MAX = 18,\n};\n\nenum {\n\tNDD_UNARMED = 1,\n\tNDD_LOCKED = 2,\n\tNDD_SECURITY_OVERWRITE = 3,\n\tNDD_WORK_PENDING = 4,\n\tNDD_LABELING = 6,\n\tNDD_INCOHERENT = 7,\n\tNDD_REGISTER_SYNC = 8,\n\tND_IOCTL_MAX_BUFLEN = 4194304,\n\tND_CMD_MAX_ELEM = 5,\n\tND_CMD_MAX_ENVELOPE = 256,\n\tND_MAX_MAPPINGS = 32,\n\tND_REGION_PAGEMAP = 0,\n\tND_REGION_PERSIST_CACHE = 1,\n\tND_REGION_PERSIST_MEMCTRL = 2,\n\tND_REGION_ASYNC = 3,\n\tND_REGION_CXL = 4,\n\tDPA_RESOURCE_ADJUSTED = 1,\n};\n\nenum {\n\tNDTA_UNSPEC = 0,\n\tNDTA_NAME = 1,\n\tNDTA_THRESH1 = 2,\n\tNDTA_THRESH2 = 3,\n\tNDTA_THRESH3 = 4,\n\tNDTA_CONFIG = 5,\n\tNDTA_PARMS = 6,\n\tNDTA_STATS = 7,\n\tNDTA_GC_INTERVAL = 8,\n\tNDTA_PAD = 9,\n\t__NDTA_MAX = 10,\n};\n\nenum {\n\tNDTPA_UNSPEC = 0,\n\tNDTPA_IFINDEX = 1,\n\tNDTPA_REFCNT = 2,\n\tNDTPA_REACHABLE_TIME = 3,\n\tNDTPA_BASE_REACHABLE_TIME = 4,\n\tNDTPA_RETRANS_TIME = 5,\n\tNDTPA_GC_STALETIME = 6,\n\tNDTPA_DELAY_PROBE_TIME = 7,\n\tNDTPA_QUEUE_LEN = 8,\n\tNDTPA_APP_PROBES = 9,\n\tNDTPA_UCAST_PROBES = 10,\n\tNDTPA_MCAST_PROBES = 11,\n\tNDTPA_ANYCAST_DELAY = 12,\n\tNDTPA_PROXY_DELAY = 13,\n\tNDTPA_PROXY_QLEN = 14,\n\tNDTPA_LOCKTIME = 15,\n\tNDTPA_QUEUE_LENBYTES = 16,\n\tNDTPA_MCAST_REPROBES = 17,\n\tNDTPA_PAD = 18,\n\tNDTPA_INTERVAL_PROBE_TIME_MS = 19,\n\t__NDTPA_MAX = 20,\n};\n\nenum {\n\tNDUSEROPT_UNSPEC = 0,\n\tNDUSEROPT_SRCADDR = 1,\n\t__NDUSEROPT_MAX = 2,\n};\n\nenum {\n\tND_CMD_IMPLEMENTED = 0,\n\tND_CMD_ARS_CAP = 1,\n\tND_CMD_ARS_START = 2,\n\tND_CMD_ARS_STATUS = 3,\n\tND_CMD_CLEAR_ERROR = 4,\n\tND_CMD_SMART = 1,\n\tND_CMD_SMART_THRESHOLD = 2,\n\tND_CMD_DIMM_FLAGS = 3,\n\tND_CMD_GET_CONFIG_SIZE = 4,\n\tND_CMD_GET_CONFIG_DATA = 5,\n\tND_CMD_SET_CONFIG_DATA = 6,\n\tND_CMD_VENDOR_EFFECT_LOG_SIZE = 7,\n\tND_CMD_VENDOR_EFFECT_LOG = 8,\n\tND_CMD_VENDOR = 9,\n\tND_CMD_CALL = 10,\n};\n\nenum {\n\tND_MAX_LANES = 256,\n\tINT_LBASIZE_ALIGNMENT = 64,\n\tNVDIMM_IO_ATOMIC = 1,\n};\n\nenum {\n\tND_MIN_NAMESPACE_SIZE = 4096,\n};\n\nenum {\n\tNEIGH_ARP_TABLE = 0,\n\tNEIGH_ND_TABLE = 1,\n\tNEIGH_NR_TABLES = 2,\n\tNEIGH_LINK_TABLE = 2,\n};\n\nenum {\n\tNEIGH_VAR_MCAST_PROBES = 0,\n\tNEIGH_VAR_UCAST_PROBES = 1,\n\tNEIGH_VAR_APP_PROBES = 2,\n\tNEIGH_VAR_MCAST_REPROBES = 3,\n\tNEIGH_VAR_RETRANS_TIME = 4,\n\tNEIGH_VAR_BASE_REACHABLE_TIME = 5,\n\tNEIGH_VAR_DELAY_PROBE_TIME = 6,\n\tNEIGH_VAR_INTERVAL_PROBE_TIME_MS = 7,\n\tNEIGH_VAR_GC_STALETIME = 8,\n\tNEIGH_VAR_QUEUE_LEN_BYTES = 9,\n\tNEIGH_VAR_PROXY_QLEN = 10,\n\tNEIGH_VAR_ANYCAST_DELAY = 11,\n\tNEIGH_VAR_PROXY_DELAY = 12,\n\tNEIGH_VAR_LOCKTIME = 13,\n\tNEIGH_VAR_QUEUE_LEN = 14,\n\tNEIGH_VAR_RETRANS_TIME_MS = 15,\n\tNEIGH_VAR_BASE_REACHABLE_TIME_MS = 16,\n\tNEIGH_VAR_GC_INTERVAL = 17,\n\tNEIGH_VAR_GC_THRESH1 = 18,\n\tNEIGH_VAR_GC_THRESH2 = 19,\n\tNEIGH_VAR_GC_THRESH3 = 20,\n\tNEIGH_VAR_MAX = 21,\n};\n\nenum {\n\tNESTED_SYNC_IMM_BIT = 0,\n\tNESTED_SYNC_TODO_BIT = 1,\n};\n\nenum {\n\tNETCONFA_UNSPEC = 0,\n\tNETCONFA_IFINDEX = 1,\n\tNETCONFA_FORWARDING = 2,\n\tNETCONFA_RP_FILTER = 3,\n\tNETCONFA_MC_FORWARDING = 4,\n\tNETCONFA_PROXY_NEIGH = 5,\n\tNETCONFA_IGNORE_ROUTES_WITH_LINKDOWN = 6,\n\tNETCONFA_INPUT = 7,\n\tNETCONFA_BC_FORWARDING = 8,\n\t__NETCONFA_MAX = 9,\n};\n\nenum {\n\tNETDEV_A_DEV_IFINDEX = 1,\n\tNETDEV_A_DEV_PAD = 2,\n\tNETDEV_A_DEV_XDP_FEATURES = 3,\n\tNETDEV_A_DEV_XDP_ZC_MAX_SEGS = 4,\n\tNETDEV_A_DEV_XDP_RX_METADATA_FEATURES = 5,\n\tNETDEV_A_DEV_XSK_FEATURES = 6,\n\t__NETDEV_A_DEV_MAX = 7,\n\tNETDEV_A_DEV_MAX = 6,\n};\n\nenum {\n\tNETDEV_A_DMABUF_IFINDEX = 1,\n\tNETDEV_A_DMABUF_QUEUES = 2,\n\tNETDEV_A_DMABUF_FD = 3,\n\tNETDEV_A_DMABUF_ID = 4,\n\t__NETDEV_A_DMABUF_MAX = 5,\n\tNETDEV_A_DMABUF_MAX = 4,\n};\n\nenum {\n\tNETDEV_A_NAPI_IFINDEX = 1,\n\tNETDEV_A_NAPI_ID = 2,\n\tNETDEV_A_NAPI_IRQ = 3,\n\tNETDEV_A_NAPI_PID = 4,\n\tNETDEV_A_NAPI_DEFER_HARD_IRQS = 5,\n\tNETDEV_A_NAPI_GRO_FLUSH_TIMEOUT = 6,\n\tNETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT = 7,\n\t__NETDEV_A_NAPI_MAX = 8,\n\tNETDEV_A_NAPI_MAX = 7,\n};\n\nenum {\n\tNETDEV_A_PAGE_POOL_ID = 1,\n\tNETDEV_A_PAGE_POOL_IFINDEX = 2,\n\tNETDEV_A_PAGE_POOL_NAPI_ID = 3,\n\tNETDEV_A_PAGE_POOL_INFLIGHT = 4,\n\tNETDEV_A_PAGE_POOL_INFLIGHT_MEM = 5,\n\tNETDEV_A_PAGE_POOL_DETACH_TIME = 6,\n\tNETDEV_A_PAGE_POOL_DMABUF = 7,\n\t__NETDEV_A_PAGE_POOL_MAX = 8,\n\tNETDEV_A_PAGE_POOL_MAX = 7,\n};\n\nenum {\n\tNETDEV_A_PAGE_POOL_STATS_INFO = 1,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW = 9,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER = 10,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY = 11,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL = 12,\n\tNETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE = 13,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED = 14,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL = 15,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RING = 16,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL = 17,\n\tNETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT = 18,\n\t__NETDEV_A_PAGE_POOL_STATS_MAX = 19,\n\tNETDEV_A_PAGE_POOL_STATS_MAX = 18,\n};\n\nenum {\n\tNETDEV_A_QSTATS_IFINDEX = 1,\n\tNETDEV_A_QSTATS_QUEUE_TYPE = 2,\n\tNETDEV_A_QSTATS_QUEUE_ID = 3,\n\tNETDEV_A_QSTATS_SCOPE = 4,\n\tNETDEV_A_QSTATS_RX_PACKETS = 8,\n\tNETDEV_A_QSTATS_RX_BYTES = 9,\n\tNETDEV_A_QSTATS_TX_PACKETS = 10,\n\tNETDEV_A_QSTATS_TX_BYTES = 11,\n\tNETDEV_A_QSTATS_RX_ALLOC_FAIL = 12,\n\tNETDEV_A_QSTATS_RX_HW_DROPS = 13,\n\tNETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS = 14,\n\tNETDEV_A_QSTATS_RX_CSUM_COMPLETE = 15,\n\tNETDEV_A_QSTATS_RX_CSUM_UNNECESSARY = 16,\n\tNETDEV_A_QSTATS_RX_CSUM_NONE = 17,\n\tNETDEV_A_QSTATS_RX_CSUM_BAD = 18,\n\tNETDEV_A_QSTATS_RX_HW_GRO_PACKETS = 19,\n\tNETDEV_A_QSTATS_RX_HW_GRO_BYTES = 20,\n\tNETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS = 21,\n\tNETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES = 22,\n\tNETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS = 23,\n\tNETDEV_A_QSTATS_TX_HW_DROPS = 24,\n\tNETDEV_A_QSTATS_TX_HW_DROP_ERRORS = 25,\n\tNETDEV_A_QSTATS_TX_CSUM_NONE = 26,\n\tNETDEV_A_QSTATS_TX_NEEDS_CSUM = 27,\n\tNETDEV_A_QSTATS_TX_HW_GSO_PACKETS = 28,\n\tNETDEV_A_QSTATS_TX_HW_GSO_BYTES = 29,\n\tNETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS = 30,\n\tNETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES = 31,\n\tNETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS = 32,\n\tNETDEV_A_QSTATS_TX_STOP = 33,\n\tNETDEV_A_QSTATS_TX_WAKE = 34,\n\t__NETDEV_A_QSTATS_MAX = 35,\n\tNETDEV_A_QSTATS_MAX = 34,\n};\n\nenum {\n\tNETDEV_A_QUEUE_ID = 1,\n\tNETDEV_A_QUEUE_IFINDEX = 2,\n\tNETDEV_A_QUEUE_TYPE = 3,\n\tNETDEV_A_QUEUE_NAPI_ID = 4,\n\tNETDEV_A_QUEUE_DMABUF = 5,\n\t__NETDEV_A_QUEUE_MAX = 6,\n\tNETDEV_A_QUEUE_MAX = 5,\n};\n\nenum {\n\tNETDEV_CMD_DEV_GET = 1,\n\tNETDEV_CMD_DEV_ADD_NTF = 2,\n\tNETDEV_CMD_DEV_DEL_NTF = 3,\n\tNETDEV_CMD_DEV_CHANGE_NTF = 4,\n\tNETDEV_CMD_PAGE_POOL_GET = 5,\n\tNETDEV_CMD_PAGE_POOL_ADD_NTF = 6,\n\tNETDEV_CMD_PAGE_POOL_DEL_NTF = 7,\n\tNETDEV_CMD_PAGE_POOL_CHANGE_NTF = 8,\n\tNETDEV_CMD_PAGE_POOL_STATS_GET = 9,\n\tNETDEV_CMD_QUEUE_GET = 10,\n\tNETDEV_CMD_NAPI_GET = 11,\n\tNETDEV_CMD_QSTATS_GET = 12,\n\tNETDEV_CMD_BIND_RX = 13,\n\tNETDEV_CMD_NAPI_SET = 14,\n\t__NETDEV_CMD_MAX = 15,\n\tNETDEV_CMD_MAX = 14,\n};\n\nenum {\n\tNETDEV_NLGRP_MGMT = 0,\n\tNETDEV_NLGRP_PAGE_POOL = 1,\n};\n\nenum {\n\tNETDEV_STATS = 0,\n\tE1000_STATS = 1,\n};\n\nenum {\n\tNETIF_F_SG_BIT = 0,\n\tNETIF_F_IP_CSUM_BIT = 1,\n\t__UNUSED_NETIF_F_1 = 2,\n\tNETIF_F_HW_CSUM_BIT = 3,\n\tNETIF_F_IPV6_CSUM_BIT = 4,\n\tNETIF_F_HIGHDMA_BIT = 5,\n\tNETIF_F_FRAGLIST_BIT = 6,\n\tNETIF_F_HW_VLAN_CTAG_TX_BIT = 7,\n\tNETIF_F_HW_VLAN_CTAG_RX_BIT = 8,\n\tNETIF_F_HW_VLAN_CTAG_FILTER_BIT = 9,\n\tNETIF_F_VLAN_CHALLENGED_BIT = 10,\n\tNETIF_F_GSO_BIT = 11,\n\t__UNUSED_NETIF_F_12 = 12,\n\t__UNUSED_NETIF_F_13 = 13,\n\tNETIF_F_GRO_BIT = 14,\n\tNETIF_F_LRO_BIT = 15,\n\tNETIF_F_GSO_SHIFT = 16,\n\tNETIF_F_TSO_BIT = 16,\n\tNETIF_F_GSO_ROBUST_BIT = 17,\n\tNETIF_F_TSO_ECN_BIT = 18,\n\tNETIF_F_TSO_MANGLEID_BIT = 19,\n\tNETIF_F_TSO6_BIT = 20,\n\tNETIF_F_FSO_BIT = 21,\n\tNETIF_F_GSO_GRE_BIT = 22,\n\tNETIF_F_GSO_GRE_CSUM_BIT = 23,\n\tNETIF_F_GSO_IPXIP4_BIT = 24,\n\tNETIF_F_GSO_IPXIP6_BIT = 25,\n\tNETIF_F_GSO_UDP_TUNNEL_BIT = 26,\n\tNETIF_F_GSO_UDP_TUNNEL_CSUM_BIT = 27,\n\tNETIF_F_GSO_PARTIAL_BIT = 28,\n\tNETIF_F_GSO_TUNNEL_REMCSUM_BIT = 29,\n\tNETIF_F_GSO_SCTP_BIT = 30,\n\tNETIF_F_GSO_ESP_BIT = 31,\n\tNETIF_F_GSO_UDP_BIT = 32,\n\tNETIF_F_GSO_UDP_L4_BIT = 33,\n\tNETIF_F_GSO_FRAGLIST_BIT = 34,\n\tNETIF_F_GSO_LAST = 34,\n\tNETIF_F_FCOE_CRC_BIT = 35,\n\tNETIF_F_SCTP_CRC_BIT = 36,\n\t__UNUSED_NETIF_F_37 = 37,\n\tNETIF_F_NTUPLE_BIT = 38,\n\tNETIF_F_RXHASH_BIT = 39,\n\tNETIF_F_RXCSUM_BIT = 40,\n\tNETIF_F_NOCACHE_COPY_BIT = 41,\n\tNETIF_F_LOOPBACK_BIT = 42,\n\tNETIF_F_RXFCS_BIT = 43,\n\tNETIF_F_RXALL_BIT = 44,\n\tNETIF_F_HW_VLAN_STAG_TX_BIT = 45,\n\tNETIF_F_HW_VLAN_STAG_RX_BIT = 46,\n\tNETIF_F_HW_VLAN_STAG_FILTER_BIT = 47,\n\tNETIF_F_HW_L2FW_DOFFLOAD_BIT = 48,\n\tNETIF_F_HW_TC_BIT = 49,\n\tNETIF_F_HW_ESP_BIT = 50,\n\tNETIF_F_HW_ESP_TX_CSUM_BIT = 51,\n\tNETIF_F_RX_UDP_TUNNEL_PORT_BIT = 52,\n\tNETIF_F_HW_TLS_TX_BIT = 53,\n\tNETIF_F_HW_TLS_RX_BIT = 54,\n\tNETIF_F_GRO_HW_BIT = 55,\n\tNETIF_F_HW_TLS_RECORD_BIT = 56,\n\tNETIF_F_GRO_FRAGLIST_BIT = 57,\n\tNETIF_F_HW_MACSEC_BIT = 58,\n\tNETIF_F_GRO_UDP_FWD_BIT = 59,\n\tNETIF_F_HW_HSR_TAG_INS_BIT = 60,\n\tNETIF_F_HW_HSR_TAG_RM_BIT = 61,\n\tNETIF_F_HW_HSR_FWD_BIT = 62,\n\tNETIF_F_HW_HSR_DUP_BIT = 63,\n\tNETDEV_FEATURE_COUNT = 64,\n};\n\nenum {\n\tNETIF_MSG_DRV_BIT = 0,\n\tNETIF_MSG_PROBE_BIT = 1,\n\tNETIF_MSG_LINK_BIT = 2,\n\tNETIF_MSG_TIMER_BIT = 3,\n\tNETIF_MSG_IFDOWN_BIT = 4,\n\tNETIF_MSG_IFUP_BIT = 5,\n\tNETIF_MSG_RX_ERR_BIT = 6,\n\tNETIF_MSG_TX_ERR_BIT = 7,\n\tNETIF_MSG_TX_QUEUED_BIT = 8,\n\tNETIF_MSG_INTR_BIT = 9,\n\tNETIF_MSG_TX_DONE_BIT = 10,\n\tNETIF_MSG_RX_STATUS_BIT = 11,\n\tNETIF_MSG_PKTDATA_BIT = 12,\n\tNETIF_MSG_HW_BIT = 13,\n\tNETIF_MSG_WOL_BIT = 14,\n\tNETIF_MSG_CLASS_COUNT = 15,\n};\n\nenum {\n\tNETLINK_DIAG_MEMINFO = 0,\n\tNETLINK_DIAG_GROUPS = 1,\n\tNETLINK_DIAG_RX_RING = 2,\n\tNETLINK_DIAG_TX_RING = 3,\n\tNETLINK_DIAG_FLAGS = 4,\n\t__NETLINK_DIAG_MAX = 5,\n};\n\nenum {\n\tNETLINK_F_KERNEL_SOCKET = 0,\n\tNETLINK_F_RECV_PKTINFO = 1,\n\tNETLINK_F_BROADCAST_SEND_ERROR = 2,\n\tNETLINK_F_RECV_NO_ENOBUFS = 3,\n\tNETLINK_F_LISTEN_ALL_NSID = 4,\n\tNETLINK_F_CAP_ACK = 5,\n\tNETLINK_F_EXT_ACK = 6,\n\tNETLINK_F_STRICT_CHK = 7,\n};\n\nenum {\n\tNETLINK_UNCONNECTED = 0,\n\tNETLINK_CONNECTED = 1,\n};\n\nenum {\n\tNETNSA_NONE = 0,\n\tNETNSA_NSID = 1,\n\tNETNSA_PID = 2,\n\tNETNSA_FD = 3,\n\tNETNSA_TARGET_NSID = 4,\n\tNETNSA_CURRENT_NSID = 5,\n\t__NETNSA_MAX = 6,\n};\n\nenum {\n\tNET_NS_INDEX = 0,\n\tUTS_NS_INDEX = 1,\n\tIPC_NS_INDEX = 2,\n\tPID_NS_INDEX = 3,\n\tUSER_NS_INDEX = 4,\n\tMNT_NS_INDEX = 5,\n\tCGROUP_NS_INDEX = 6,\n\tNR_NAMESPACES = 7,\n};\n\nenum {\n\tNEXTHOP_GRP_TYPE_MPATH = 0,\n\tNEXTHOP_GRP_TYPE_RES = 1,\n\t__NEXTHOP_GRP_TYPE_MAX = 2,\n};\n\nenum {\n\tNFPROTO_UNSPEC = 0,\n\tNFPROTO_INET = 1,\n\tNFPROTO_IPV4 = 2,\n\tNFPROTO_ARP = 3,\n\tNFPROTO_NETDEV = 5,\n\tNFPROTO_BRIDGE = 7,\n\tNFPROTO_IPV6 = 10,\n\tNFPROTO_NUMPROTO = 11,\n};\n\nenum {\n\tNFSPROC4_CLNT_NULL = 0,\n\tNFSPROC4_CLNT_READ = 1,\n\tNFSPROC4_CLNT_WRITE = 2,\n\tNFSPROC4_CLNT_COMMIT = 3,\n\tNFSPROC4_CLNT_OPEN = 4,\n\tNFSPROC4_CLNT_OPEN_CONFIRM = 5,\n\tNFSPROC4_CLNT_OPEN_NOATTR = 6,\n\tNFSPROC4_CLNT_OPEN_DOWNGRADE = 7,\n\tNFSPROC4_CLNT_CLOSE = 8,\n\tNFSPROC4_CLNT_SETATTR = 9,\n\tNFSPROC4_CLNT_FSINFO = 10,\n\tNFSPROC4_CLNT_RENEW = 11,\n\tNFSPROC4_CLNT_SETCLIENTID = 12,\n\tNFSPROC4_CLNT_SETCLIENTID_CONFIRM = 13,\n\tNFSPROC4_CLNT_LOCK = 14,\n\tNFSPROC4_CLNT_LOCKT = 15,\n\tNFSPROC4_CLNT_LOCKU = 16,\n\tNFSPROC4_CLNT_ACCESS = 17,\n\tNFSPROC4_CLNT_GETATTR = 18,\n\tNFSPROC4_CLNT_LOOKUP = 19,\n\tNFSPROC4_CLNT_LOOKUP_ROOT = 20,\n\tNFSPROC4_CLNT_REMOVE = 21,\n\tNFSPROC4_CLNT_RENAME = 22,\n\tNFSPROC4_CLNT_LINK = 23,\n\tNFSPROC4_CLNT_SYMLINK = 24,\n\tNFSPROC4_CLNT_CREATE = 25,\n\tNFSPROC4_CLNT_PATHCONF = 26,\n\tNFSPROC4_CLNT_STATFS = 27,\n\tNFSPROC4_CLNT_READLINK = 28,\n\tNFSPROC4_CLNT_READDIR = 29,\n\tNFSPROC4_CLNT_SERVER_CAPS = 30,\n\tNFSPROC4_CLNT_DELEGRETURN = 31,\n\tNFSPROC4_CLNT_GETACL = 32,\n\tNFSPROC4_CLNT_SETACL = 33,\n\tNFSPROC4_CLNT_FS_LOCATIONS = 34,\n\tNFSPROC4_CLNT_RELEASE_LOCKOWNER = 35,\n\tNFSPROC4_CLNT_SECINFO = 36,\n\tNFSPROC4_CLNT_FSID_PRESENT = 37,\n\tNFSPROC4_CLNT_EXCHANGE_ID = 38,\n\tNFSPROC4_CLNT_CREATE_SESSION = 39,\n\tNFSPROC4_CLNT_DESTROY_SESSION = 40,\n\tNFSPROC4_CLNT_SEQUENCE = 41,\n\tNFSPROC4_CLNT_GET_LEASE_TIME = 42,\n\tNFSPROC4_CLNT_RECLAIM_COMPLETE = 43,\n\tNFSPROC4_CLNT_LAYOUTGET = 44,\n\tNFSPROC4_CLNT_GETDEVICEINFO = 45,\n\tNFSPROC4_CLNT_LAYOUTCOMMIT = 46,\n\tNFSPROC4_CLNT_LAYOUTRETURN = 47,\n\tNFSPROC4_CLNT_SECINFO_NO_NAME = 48,\n\tNFSPROC4_CLNT_TEST_STATEID = 49,\n\tNFSPROC4_CLNT_FREE_STATEID = 50,\n\tNFSPROC4_CLNT_GETDEVICELIST = 51,\n\tNFSPROC4_CLNT_BIND_CONN_TO_SESSION = 52,\n\tNFSPROC4_CLNT_DESTROY_CLIENTID = 53,\n\tNFSPROC4_CLNT_SEEK = 54,\n\tNFSPROC4_CLNT_ALLOCATE = 55,\n\tNFSPROC4_CLNT_DEALLOCATE = 56,\n\tNFSPROC4_CLNT_LAYOUTSTATS = 57,\n\tNFSPROC4_CLNT_CLONE = 58,\n\tNFSPROC4_CLNT_COPY = 59,\n\tNFSPROC4_CLNT_OFFLOAD_CANCEL = 60,\n\tNFSPROC4_CLNT_LOOKUPP = 61,\n\tNFSPROC4_CLNT_LAYOUTERROR = 62,\n\tNFSPROC4_CLNT_COPY_NOTIFY = 63,\n\tNFSPROC4_CLNT_GETXATTR = 64,\n\tNFSPROC4_CLNT_SETXATTR = 65,\n\tNFSPROC4_CLNT_LISTXATTRS = 66,\n\tNFSPROC4_CLNT_REMOVEXATTR = 67,\n\tNFSPROC4_CLNT_READ_PLUS = 68,\n};\n\nenum {\n\tNFS_DELEGATION_NEED_RECLAIM = 0,\n\tNFS_DELEGATION_RETURN = 1,\n\tNFS_DELEGATION_RETURN_IF_CLOSED = 2,\n\tNFS_DELEGATION_REFERENCED = 3,\n\tNFS_DELEGATION_RETURNING = 4,\n\tNFS_DELEGATION_REVOKED = 5,\n\tNFS_DELEGATION_TEST_EXPIRED = 6,\n\tNFS_DELEGATION_INODE_FREEING = 7,\n\tNFS_DELEGATION_RETURN_DELAYED = 8,\n\tNFS_DELEGATION_DELEGTIME = 9,\n};\n\nenum {\n\tNFS_DEVICEID_INVALID = 0,\n\tNFS_DEVICEID_UNAVAILABLE = 1,\n\tNFS_DEVICEID_NOCACHE = 2,\n};\n\nenum {\n\tNFS_IOHDR_ERROR = 0,\n\tNFS_IOHDR_EOF = 1,\n\tNFS_IOHDR_REDO = 2,\n\tNFS_IOHDR_STAT = 3,\n\tNFS_IOHDR_RESEND_PNFS = 4,\n\tNFS_IOHDR_RESEND_MDS = 5,\n\tNFS_IOHDR_UNSTABLE_WRITES = 6,\n\tNFS_IOHDR_ODIRECT = 7,\n};\n\nenum {\n\tNFS_LAYOUT_RO_FAILED = 0,\n\tNFS_LAYOUT_RW_FAILED = 1,\n\tNFS_LAYOUT_BULK_RECALL = 2,\n\tNFS_LAYOUT_RETURN = 3,\n\tNFS_LAYOUT_RETURN_LOCK = 4,\n\tNFS_LAYOUT_RETURN_REQUESTED = 5,\n\tNFS_LAYOUT_INVALID_STID = 6,\n\tNFS_LAYOUT_FIRST_LAYOUTGET = 7,\n\tNFS_LAYOUT_INODE_FREEING = 8,\n\tNFS_LAYOUT_HASHED = 9,\n\tNFS_LAYOUT_DRAIN = 10,\n};\n\nenum {\n\tNFS_LSEG_VALID = 0,\n\tNFS_LSEG_ROC = 1,\n\tNFS_LSEG_LAYOUTCOMMIT = 2,\n\tNFS_LSEG_LAYOUTRETURN = 3,\n\tNFS_LSEG_UNAVAILABLE = 4,\n};\n\nenum {\n\tNFS_OWNER_RECLAIM_REBOOT = 0,\n\tNFS_OWNER_RECLAIM_NOGRACE = 1,\n};\n\nenum {\n\tNHA_GROUP_STATS_ENTRY_UNSPEC = 0,\n\tNHA_GROUP_STATS_ENTRY_ID = 1,\n\tNHA_GROUP_STATS_ENTRY_PACKETS = 2,\n\tNHA_GROUP_STATS_ENTRY_PACKETS_HW = 3,\n\t__NHA_GROUP_STATS_ENTRY_MAX = 4,\n};\n\nenum {\n\tNHA_GROUP_STATS_UNSPEC = 0,\n\tNHA_GROUP_STATS_ENTRY = 1,\n\t__NHA_GROUP_STATS_MAX = 2,\n};\n\nenum {\n\tNHA_RES_BUCKET_UNSPEC = 0,\n\tNHA_RES_BUCKET_PAD = 0,\n\tNHA_RES_BUCKET_INDEX = 1,\n\tNHA_RES_BUCKET_IDLE_TIME = 2,\n\tNHA_RES_BUCKET_NH_ID = 3,\n\t__NHA_RES_BUCKET_MAX = 4,\n};\n\nenum {\n\tNHA_RES_GROUP_UNSPEC = 0,\n\tNHA_RES_GROUP_PAD = 0,\n\tNHA_RES_GROUP_BUCKETS = 1,\n\tNHA_RES_GROUP_IDLE_TIMER = 2,\n\tNHA_RES_GROUP_UNBALANCED_TIMER = 3,\n\tNHA_RES_GROUP_UNBALANCED_TIME = 4,\n\t__NHA_RES_GROUP_MAX = 5,\n};\n\nenum {\n\tNHA_UNSPEC = 0,\n\tNHA_ID = 1,\n\tNHA_GROUP = 2,\n\tNHA_GROUP_TYPE = 3,\n\tNHA_BLACKHOLE = 4,\n\tNHA_OIF = 5,\n\tNHA_GATEWAY = 6,\n\tNHA_ENCAP_TYPE = 7,\n\tNHA_ENCAP = 8,\n\tNHA_GROUPS = 9,\n\tNHA_MASTER = 10,\n\tNHA_FDB = 11,\n\tNHA_RES_GROUP = 12,\n\tNHA_RES_BUCKET = 13,\n\tNHA_OP_FLAGS = 14,\n\tNHA_GROUP_STATS = 15,\n\tNHA_HW_STATS_ENABLE = 16,\n\tNHA_HW_STATS_USED = 17,\n\t__NHA_MAX = 18,\n};\n\nenum {\n\tNLA_UNSPEC = 0,\n\tNLA_U8 = 1,\n\tNLA_U16 = 2,\n\tNLA_U32 = 3,\n\tNLA_U64 = 4,\n\tNLA_STRING = 5,\n\tNLA_FLAG = 6,\n\tNLA_MSECS = 7,\n\tNLA_NESTED = 8,\n\tNLA_NESTED_ARRAY = 9,\n\tNLA_NUL_STRING = 10,\n\tNLA_BINARY = 11,\n\tNLA_S8 = 12,\n\tNLA_S16 = 13,\n\tNLA_S32 = 14,\n\tNLA_S64 = 15,\n\tNLA_BITFIELD32 = 16,\n\tNLA_REJECT = 17,\n\tNLA_BE16 = 18,\n\tNLA_BE32 = 19,\n\tNLA_SINT = 20,\n\tNLA_UINT = 21,\n\t__NLA_TYPE_MAX = 22,\n};\n\nenum {\n\tNLM_LCK_GRANTED = 0,\n\tNLM_LCK_DENIED = 1,\n\tNLM_LCK_DENIED_NOLOCKS = 2,\n\tNLM_LCK_BLOCKED = 3,\n\tNLM_LCK_DENIED_GRACE_PERIOD = 4,\n\tNLM_DEADLCK = 5,\n\tNLM_ROFS = 6,\n\tNLM_STALE_FH = 7,\n\tNLM_FBIG = 8,\n\tNLM_FAILED = 9,\n};\n\nenum {\n\tNSINDEX_SIG_LEN = 16,\n\tNSINDEX_ALIGN = 256,\n\tNSINDEX_SEQ_MASK = 3,\n\tNSLABEL_UUID_LEN = 16,\n\tNSLABEL_NAME_LEN = 64,\n\tNSLABEL_FLAG_ROLABEL = 1,\n\tNSLABEL_FLAG_LOCAL = 2,\n\tNSLABEL_FLAG_BTT = 4,\n\tNSLABEL_FLAG_UPDATING = 8,\n\tBTT_ALIGN = 4096,\n\tBTTINFO_SIG_LEN = 16,\n\tBTTINFO_UUID_LEN = 16,\n\tBTTINFO_FLAG_ERROR = 1,\n\tBTTINFO_MAJOR_VERSION = 1,\n\tND_LABEL_MIN_SIZE = 1024,\n\tND_LABEL_ID_SIZE = 50,\n\tND_NSINDEX_INIT = 1,\n};\n\nenum {\n\tNSMPROC_NULL = 0,\n\tNSMPROC_STAT = 1,\n\tNSMPROC_MON = 2,\n\tNSMPROC_UNMON = 3,\n\tNSMPROC_UNMON_ALL = 4,\n\tNSMPROC_SIMU_CRASH = 5,\n\tNSMPROC_NOTIFY = 6,\n};\n\nenum {\n\tNUM_TRIAL_SAMPLES = 8192,\n\tMAX_SAMPLES_PER_BIT = 16,\n};\n\nenum {\n\tNVMEM_ADD = 1,\n\tNVMEM_REMOVE = 2,\n\tNVMEM_CELL_ADD = 3,\n\tNVMEM_CELL_REMOVE = 4,\n\tNVMEM_LAYOUT_ADD = 5,\n\tNVMEM_LAYOUT_REMOVE = 6,\n};\n\nenum {\n\tNVME_AEN_BIT_NS_ATTR = 8,\n\tNVME_AEN_BIT_FW_ACT = 9,\n\tNVME_AEN_BIT_ANA_CHANGE = 11,\n\tNVME_AEN_BIT_DISC_CHANGE = 31,\n};\n\nenum {\n\tNVME_CC_ENABLE = 1,\n\tNVME_CC_EN_SHIFT = 0,\n\tNVME_CC_CSS_SHIFT = 4,\n\tNVME_CC_CSS_MASK = 112,\n\tNVME_CC_CSS_NVM = 0,\n\tNVME_CC_CSS_CSI = 96,\n\tNVME_CC_MPS_SHIFT = 7,\n\tNVME_CC_MPS_MASK = 1920,\n\tNVME_CC_AMS_SHIFT = 11,\n\tNVME_CC_AMS_MASK = 14336,\n\tNVME_CC_AMS_RR = 0,\n\tNVME_CC_AMS_WRRU = 2048,\n\tNVME_CC_AMS_VS = 14336,\n\tNVME_CC_SHN_SHIFT = 14,\n\tNVME_CC_SHN_MASK = 49152,\n\tNVME_CC_SHN_NONE = 0,\n\tNVME_CC_SHN_NORMAL = 16384,\n\tNVME_CC_SHN_ABRUPT = 32768,\n\tNVME_CC_IOSQES_SHIFT = 16,\n\tNVME_CC_IOSQES_MASK = 983040,\n\tNVME_CC_IOSQES = 393216,\n\tNVME_CC_IOCQES_SHIFT = 20,\n\tNVME_CC_IOCQES_MASK = 15728640,\n\tNVME_CC_IOCQES = 4194304,\n\tNVME_CC_CRIME = 16777216,\n};\n\nenum {\n\tNVME_CSTS_RDY = 1,\n\tNVME_CSTS_CFS = 2,\n\tNVME_CSTS_NSSRO = 16,\n\tNVME_CSTS_PP = 32,\n\tNVME_CSTS_SHST_NORMAL = 0,\n\tNVME_CSTS_SHST_OCCUR = 4,\n\tNVME_CSTS_SHST_CMPLT = 8,\n\tNVME_CSTS_SHST_MASK = 12,\n};\n\nenum {\n\tNVME_REG_CAP = 0,\n\tNVME_REG_VS = 8,\n\tNVME_REG_INTMS = 12,\n\tNVME_REG_INTMC = 16,\n\tNVME_REG_CC = 20,\n\tNVME_REG_CSTS = 28,\n\tNVME_REG_NSSR = 32,\n\tNVME_REG_AQA = 36,\n\tNVME_REG_ASQ = 40,\n\tNVME_REG_ACQ = 48,\n\tNVME_REG_CMBLOC = 56,\n\tNVME_REG_CMBSZ = 60,\n\tNVME_REG_BPINFO = 64,\n\tNVME_REG_BPRSEL = 68,\n\tNVME_REG_BPMBL = 72,\n\tNVME_REG_CMBMSC = 80,\n\tNVME_REG_CRTO = 104,\n\tNVME_REG_PMRCAP = 3584,\n\tNVME_REG_PMRCTL = 3588,\n\tNVME_REG_PMRSTS = 3592,\n\tNVME_REG_PMREBS = 3596,\n\tNVME_REG_PMRSWTP = 3600,\n\tNVME_REG_DBS = 4096,\n};\n\nenum {\n\tOD_NORMAL_SAMPLE = 0,\n\tOD_SUB_SAMPLE = 1,\n};\n\nenum {\n\tOPT_UID = 0,\n\tOPT_GID = 1,\n\tOPT_MODE = 2,\n\tOPT_DELEGATE_CMDS = 3,\n\tOPT_DELEGATE_MAPS = 4,\n\tOPT_DELEGATE_PROGS = 5,\n\tOPT_DELEGATE_ATTACHS = 6,\n};\n\nenum {\n\tOpt_block = 0,\n\tOpt_check = 1,\n\tOpt_cruft = 2,\n\tOpt_gid = 3,\n\tOpt_ignore = 4,\n\tOpt_iocharset = 5,\n\tOpt_map = 6,\n\tOpt_mode = 7,\n\tOpt_nojoliet = 8,\n\tOpt_norock = 9,\n\tOpt_sb = 10,\n\tOpt_session = 11,\n\tOpt_uid = 12,\n\tOpt_unhide = 13,\n\tOpt_utf8 = 14,\n\tOpt_err = 15,\n\tOpt_nocompress = 16,\n\tOpt_hide = 17,\n\tOpt_showassoc = 18,\n\tOpt_dmode = 19,\n\tOpt_overriderockperm = 20,\n};\n\nenum {\n\tOpt_bsd_df = 0,\n\tOpt_minix_df = 1,\n\tOpt_grpid = 2,\n\tOpt_nogrpid = 3,\n\tOpt_resgid = 4,\n\tOpt_resuid = 5,\n\tOpt_sb___2 = 6,\n\tOpt_nouid32 = 7,\n\tOpt_debug = 8,\n\tOpt_removed = 9,\n\tOpt_user_xattr = 10,\n\tOpt_acl = 11,\n\tOpt_auto_da_alloc = 12,\n\tOpt_noauto_da_alloc = 13,\n\tOpt_noload = 14,\n\tOpt_commit = 15,\n\tOpt_min_batch_time = 16,\n\tOpt_max_batch_time = 17,\n\tOpt_journal_dev = 18,\n\tOpt_journal_path = 19,\n\tOpt_journal_checksum = 20,\n\tOpt_journal_async_commit = 21,\n\tOpt_abort = 22,\n\tOpt_data_journal = 23,\n\tOpt_data_ordered = 24,\n\tOpt_data_writeback = 25,\n\tOpt_data_err_abort = 26,\n\tOpt_data_err_ignore = 27,\n\tOpt_test_dummy_encryption = 28,\n\tOpt_inlinecrypt = 29,\n\tOpt_usrjquota = 30,\n\tOpt_grpjquota = 31,\n\tOpt_quota = 32,\n\tOpt_noquota = 33,\n\tOpt_barrier = 34,\n\tOpt_nobarrier = 35,\n\tOpt_err___2 = 36,\n\tOpt_usrquota = 37,\n\tOpt_grpquota = 38,\n\tOpt_prjquota = 39,\n\tOpt_dax = 40,\n\tOpt_dax_always = 41,\n\tOpt_dax_inode = 42,\n\tOpt_dax_never = 43,\n\tOpt_stripe = 44,\n\tOpt_delalloc = 45,\n\tOpt_nodelalloc = 46,\n\tOpt_warn_on_error = 47,\n\tOpt_nowarn_on_error = 48,\n\tOpt_mblk_io_submit = 49,\n\tOpt_debug_want_extra_isize = 50,\n\tOpt_nomblk_io_submit = 51,\n\tOpt_block_validity = 52,\n\tOpt_noblock_validity = 53,\n\tOpt_inode_readahead_blks = 54,\n\tOpt_journal_ioprio = 55,\n\tOpt_dioread_nolock = 56,\n\tOpt_dioread_lock = 57,\n\tOpt_discard = 58,\n\tOpt_nodiscard = 59,\n\tOpt_init_itable = 60,\n\tOpt_noinit_itable = 61,\n\tOpt_max_dir_size_kb = 62,\n\tOpt_nojournal_checksum = 63,\n\tOpt_nombcache = 64,\n\tOpt_no_prefetch_block_bitmaps = 65,\n\tOpt_mb_optimize_scan = 66,\n\tOpt_errors = 67,\n\tOpt_data = 68,\n\tOpt_data_err = 69,\n\tOpt_jqfmt = 70,\n\tOpt_dax_type = 71,\n};\n\nenum {\n\tOpt_check___2 = 0,\n\tOpt_uid___2 = 1,\n\tOpt_gid___2 = 2,\n\tOpt_umask = 3,\n\tOpt_dmask = 4,\n\tOpt_fmask = 5,\n\tOpt_allow_utime = 6,\n\tOpt_codepage = 7,\n\tOpt_usefree = 8,\n\tOpt_nocase = 9,\n\tOpt_quiet = 10,\n\tOpt_showexec = 11,\n\tOpt_debug___2 = 12,\n\tOpt_immutable = 13,\n\tOpt_dots = 14,\n\tOpt_dotsOK = 15,\n\tOpt_charset = 16,\n\tOpt_shortname = 17,\n\tOpt_utf8___2 = 18,\n\tOpt_utf8_bool = 19,\n\tOpt_uni_xl = 20,\n\tOpt_uni_xl_bool = 21,\n\tOpt_nonumtail = 22,\n\tOpt_nonumtail_bool = 23,\n\tOpt_obsolete = 24,\n\tOpt_flush = 25,\n\tOpt_tz = 26,\n\tOpt_rodir = 27,\n\tOpt_errors___2 = 28,\n\tOpt_discard___2 = 29,\n\tOpt_nfs = 30,\n\tOpt_nfs_enum = 31,\n\tOpt_time_offset = 32,\n\tOpt_dos1xfloppy = 33,\n};\n\nenum {\n\tOpt_debug___3 = 0,\n\tOpt_dfltuid = 1,\n\tOpt_dfltgid = 2,\n\tOpt_afid = 3,\n\tOpt_uname = 4,\n\tOpt_remotename = 5,\n\tOpt_cache = 6,\n\tOpt_cachetag = 7,\n\tOpt_nodevmap = 8,\n\tOpt_noxattr = 9,\n\tOpt_directio = 10,\n\tOpt_ignoreqv = 11,\n\tOpt_access = 12,\n\tOpt_posixacl = 13,\n\tOpt_locktimeout = 14,\n\tOpt_err___3 = 15,\n};\n\nenum {\n\tOpt_direct = 0,\n\tOpt_fd = 1,\n\tOpt_gid___3 = 2,\n\tOpt_ignore___2 = 3,\n\tOpt_indirect = 4,\n\tOpt_maxproto = 5,\n\tOpt_minproto = 6,\n\tOpt_offset = 7,\n\tOpt_pgrp = 8,\n\tOpt_strictexpire = 9,\n\tOpt_uid___3 = 10,\n};\n\nenum {\n\tOpt_error = -1,\n\tOpt_context = 0,\n\tOpt_defcontext = 1,\n\tOpt_fscontext = 2,\n\tOpt_rootcontext = 3,\n\tOpt_seclabel = 4,\n};\n\nenum {\n\tOpt_find_uid = 0,\n\tOpt_find_gid = 1,\n\tOpt_find_user = 2,\n\tOpt_find_group = 3,\n\tOpt_find_err = 4,\n};\n\nenum {\n\tOpt_local_lock_all = 0,\n\tOpt_local_lock_flock = 1,\n\tOpt_local_lock_none = 2,\n\tOpt_local_lock_posix = 3,\n};\n\nenum {\n\tOpt_lookupcache_all = 0,\n\tOpt_lookupcache_none = 1,\n\tOpt_lookupcache_positive = 2,\n};\n\nenum {\n\tOpt_msize = 0,\n\tOpt_trans = 1,\n\tOpt_legacy = 2,\n\tOpt_version = 3,\n\tOpt_err___4 = 4,\n};\n\nenum {\n\tOpt_port = 0,\n\tOpt_rfdno = 1,\n\tOpt_wfdno = 2,\n\tOpt_err___5 = 3,\n\tOpt_privport = 4,\n};\n\nenum {\n\tOpt_sec_krb5 = 0,\n\tOpt_sec_krb5i = 1,\n\tOpt_sec_krb5p = 2,\n\tOpt_sec_lkey = 3,\n\tOpt_sec_lkeyi = 4,\n\tOpt_sec_lkeyp = 5,\n\tOpt_sec_none = 6,\n\tOpt_sec_spkm = 7,\n\tOpt_sec_spkmi = 8,\n\tOpt_sec_spkmp = 9,\n\tOpt_sec_sys = 10,\n\tnr__Opt_sec = 11,\n};\n\nenum {\n\tOpt_uid___4 = 0,\n\tOpt_gid___4 = 1,\n\tOpt_mode___2 = 2,\n};\n\nenum {\n\tOpt_uid___5 = 0,\n\tOpt_gid___5 = 1,\n\tOpt_mode___3 = 2,\n\tOpt_source = 3,\n};\n\nenum {\n\tOpt_uid___6 = 0,\n\tOpt_gid___6 = 1,\n\tOpt_mode___4 = 2,\n\tOpt_ptmxmode = 3,\n\tOpt_newinstance = 4,\n\tOpt_max = 5,\n\tOpt_err___6 = 6,\n};\n\nenum {\n\tOpt_vers_2 = 0,\n\tOpt_vers_3 = 1,\n\tOpt_vers_4 = 2,\n\tOpt_vers_4_0 = 3,\n\tOpt_vers_4_1 = 4,\n\tOpt_vers_4_2 = 5,\n};\n\nenum {\n\tOpt_write_lazy = 0,\n\tOpt_write_eager = 1,\n\tOpt_write_wait = 2,\n};\n\nenum {\n\tOpt_xprt_rdma = 0,\n\tOpt_xprt_rdma6 = 1,\n\tOpt_xprt_tcp = 2,\n\tOpt_xprt_tcp6 = 3,\n\tOpt_xprt_udp = 4,\n\tOpt_xprt_udp6 = 5,\n\tnr__Opt_xprt = 6,\n};\n\nenum {\n\tOpt_xprtsec_none = 0,\n\tOpt_xprtsec_tls = 1,\n\tOpt_xprtsec_mtls = 2,\n\tnr__Opt_xprtsec = 3,\n};\n\nenum {\n\tPAGE_REPORTING_IDLE = 0,\n\tPAGE_REPORTING_REQUESTED = 1,\n\tPAGE_REPORTING_ACTIVE = 2,\n};\n\nenum {\n\tPAGE_WAS_MAPPED = 1,\n\tPAGE_WAS_MLOCKED = 2,\n\tPAGE_OLD_STATES = 3,\n};\n\nenum {\n\tPARSE_INVALID = 1,\n\tPARSE_NOT_LONGNAME = 2,\n\tPARSE_EOF = 3,\n};\n\nenum {\n\tPCI_REASSIGN_ALL_RSRC = 1,\n\tPCI_REASSIGN_ALL_BUS = 2,\n\tPCI_PROBE_ONLY = 4,\n\tPCI_CAN_SKIP_ISA_ALIGN = 8,\n\tPCI_ENABLE_PROC_DOMAINS = 16,\n\tPCI_COMPAT_DOMAIN_0 = 32,\n\tPCI_SCAN_ALL_PCIE_DEVS = 64,\n};\n\nenum {\n\tPCI_STD_RESOURCES = 0,\n\tPCI_STD_RESOURCE_END = 5,\n\tPCI_ROM_RESOURCE = 6,\n\tPCI_BRIDGE_RESOURCES = 7,\n\tPCI_BRIDGE_RESOURCE_END = 10,\n\tPCI_NUM_RESOURCES = 11,\n\tDEVICE_COUNT_RESOURCE = 11,\n};\n\nenum {\n\tPERCPU_REF_INIT_ATOMIC = 1,\n\tPERCPU_REF_INIT_DEAD = 2,\n\tPERCPU_REF_ALLOW_REINIT = 4,\n};\n\nenum {\n\tPER_LINUX = 0,\n\tPER_LINUX_32BIT = 8388608,\n\tPER_LINUX_FDPIC = 524288,\n\tPER_SVR4 = 68157441,\n\tPER_SVR3 = 83886082,\n\tPER_SCOSVR3 = 117440515,\n\tPER_OSR5 = 100663299,\n\tPER_WYSEV386 = 83886084,\n\tPER_ISCR4 = 67108869,\n\tPER_BSD = 6,\n\tPER_SUNOS = 67108870,\n\tPER_XENIX = 83886087,\n\tPER_LINUX32 = 8,\n\tPER_LINUX32_3GB = 134217736,\n\tPER_IRIX32 = 67108873,\n\tPER_IRIXN32 = 67108874,\n\tPER_IRIX64 = 67108875,\n\tPER_RISCOS = 12,\n\tPER_SOLARIS = 67108877,\n\tPER_UW7 = 68157454,\n\tPER_OSF4 = 15,\n\tPER_HPUX = 16,\n\tPER_MASK = 255,\n};\n\nenum {\n\tPG_BUSY = 0,\n\tPG_MAPPED = 1,\n\tPG_FOLIO = 2,\n\tPG_CLEAN = 3,\n\tPG_COMMIT_TO_DS = 4,\n\tPG_INODE_REF = 5,\n\tPG_HEADLOCK = 6,\n\tPG_TEARDOWN = 7,\n\tPG_UNLOCKPAGE = 8,\n\tPG_UPTODATE = 9,\n\tPG_WB_END = 10,\n\tPG_REMOVE = 11,\n\tPG_CONTENDED1 = 12,\n\tPG_CONTENDED2 = 13,\n};\n\nenum {\n\tPHYLINK_DISABLE_STOPPED = 0,\n\tPHYLINK_DISABLE_LINK = 1,\n\tPHYLINK_DISABLE_MAC_WOL = 2,\n\tPCS_STATE_DOWN = 0,\n\tPCS_STATE_STARTING = 1,\n\tPCS_STATE_STARTED = 2,\n};\n\nenum {\n\tPLAT8250_DEV_LEGACY = -1,\n\tPLAT8250_DEV_PLATFORM = 0,\n\tPLAT8250_DEV_PLATFORM1 = 1,\n\tPLAT8250_DEV_PLATFORM2 = 2,\n\tPLAT8250_DEV_FOURPORT = 3,\n\tPLAT8250_DEV_ACCENT = 4,\n\tPLAT8250_DEV_BOCA = 5,\n\tPLAT8250_DEV_EXAR_ST16C554 = 6,\n\tPLAT8250_DEV_HUB6 = 7,\n\tPLAT8250_DEV_AU1X00 = 8,\n\tPLAT8250_DEV_SM501 = 9,\n};\n\nenum {\n\tPMLEN_0 = 0,\n\tPMLEN_7 = 7,\n\tPMLEN_16 = 16,\n};\n\nenum {\n\tPOLICYDB_CAP_NETPEER = 0,\n\tPOLICYDB_CAP_OPENPERM = 1,\n\tPOLICYDB_CAP_EXTSOCKCLASS = 2,\n\tPOLICYDB_CAP_ALWAYSNETWORK = 3,\n\tPOLICYDB_CAP_CGROUPSECLABEL = 4,\n\tPOLICYDB_CAP_NNP_NOSUID_TRANSITION = 5,\n\tPOLICYDB_CAP_GENFS_SECLABEL_SYMLINKS = 6,\n\tPOLICYDB_CAP_IOCTL_SKIP_CLOEXEC = 7,\n\tPOLICYDB_CAP_USERSPACE_INITIAL_CONTEXT = 8,\n\tPOLICYDB_CAP_NETLINK_XPERM = 9,\n\t__POLICYDB_CAP_MAX = 10,\n};\n\nenum {\n\tPOOL_BITS = 256,\n\tPOOL_READY_BITS = 256,\n\tPOOL_EARLY_BITS = 128,\n};\n\nenum {\n\tPOWERON_SECS = 3,\n};\n\nenum {\n\tPOWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN = 0,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_CRITICAL = 1,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_LOW = 2,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_NORMAL = 3,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_HIGH = 4,\n\tPOWER_SUPPLY_CAPACITY_LEVEL_FULL = 5,\n};\n\nenum {\n\tPOWER_SUPPLY_HEALTH_UNKNOWN = 0,\n\tPOWER_SUPPLY_HEALTH_GOOD = 1,\n\tPOWER_SUPPLY_HEALTH_OVERHEAT = 2,\n\tPOWER_SUPPLY_HEALTH_DEAD = 3,\n\tPOWER_SUPPLY_HEALTH_OVERVOLTAGE = 4,\n\tPOWER_SUPPLY_HEALTH_UNDERVOLTAGE = 5,\n\tPOWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 6,\n\tPOWER_SUPPLY_HEALTH_COLD = 7,\n\tPOWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 8,\n\tPOWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 9,\n\tPOWER_SUPPLY_HEALTH_OVERCURRENT = 10,\n\tPOWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED = 11,\n\tPOWER_SUPPLY_HEALTH_WARM = 12,\n\tPOWER_SUPPLY_HEALTH_COOL = 13,\n\tPOWER_SUPPLY_HEALTH_HOT = 14,\n\tPOWER_SUPPLY_HEALTH_NO_BATTERY = 15,\n};\n\nenum {\n\tPOWER_SUPPLY_SCOPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_SCOPE_SYSTEM = 1,\n\tPOWER_SUPPLY_SCOPE_DEVICE = 2,\n};\n\nenum {\n\tPOWER_SUPPLY_STATUS_UNKNOWN = 0,\n\tPOWER_SUPPLY_STATUS_CHARGING = 1,\n\tPOWER_SUPPLY_STATUS_DISCHARGING = 2,\n\tPOWER_SUPPLY_STATUS_NOT_CHARGING = 3,\n\tPOWER_SUPPLY_STATUS_FULL = 4,\n};\n\nenum {\n\tPOWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0,\n\tPOWER_SUPPLY_TECHNOLOGY_NiMH = 1,\n\tPOWER_SUPPLY_TECHNOLOGY_LION = 2,\n\tPOWER_SUPPLY_TECHNOLOGY_LIPO = 3,\n\tPOWER_SUPPLY_TECHNOLOGY_LiFe = 4,\n\tPOWER_SUPPLY_TECHNOLOGY_NiCd = 5,\n\tPOWER_SUPPLY_TECHNOLOGY_LiMn = 6,\n};\n\nenum {\n\tPREFIX_UNSPEC = 0,\n\tPREFIX_ADDRESS = 1,\n\tPREFIX_CACHEINFO = 2,\n\t__PREFIX_MAX = 3,\n};\n\nenum {\n\tPROC_ENTRY_PERMANENT = 1,\n\tPROC_ENTRY_proc_read_iter = 2,\n\tPROC_ENTRY_proc_compat_ioctl = 4,\n};\n\nenum {\n\tPROC_ROOT_INO = 1,\n\tPROC_IPC_INIT_INO = 4026531839,\n\tPROC_UTS_INIT_INO = 4026531838,\n\tPROC_USER_INIT_INO = 4026531837,\n\tPROC_PID_INIT_INO = 4026531836,\n\tPROC_CGROUP_INIT_INO = 4026531835,\n\tPROC_TIME_INIT_INO = 4026531834,\n};\n\nenum {\n\tQUEUE_FLAG_DYING = 0,\n\tQUEUE_FLAG_NOMERGES = 1,\n\tQUEUE_FLAG_SAME_COMP = 2,\n\tQUEUE_FLAG_FAIL_IO = 3,\n\tQUEUE_FLAG_NOXMERGES = 4,\n\tQUEUE_FLAG_SAME_FORCE = 5,\n\tQUEUE_FLAG_INIT_DONE = 6,\n\tQUEUE_FLAG_STATS = 7,\n\tQUEUE_FLAG_REGISTERED = 8,\n\tQUEUE_FLAG_QUIESCED = 9,\n\tQUEUE_FLAG_RQ_ALLOC_TIME = 10,\n\tQUEUE_FLAG_HCTX_ACTIVE = 11,\n\tQUEUE_FLAG_SQ_SCHED = 12,\n\tQUEUE_FLAG_MAX = 13,\n};\n\nenum {\n\tQUIRK_NONSTANDARD_CACHE_OPS = 1,\n\tQUIRK_BROKEN_DATA_UNCORR = 2,\n};\n\nenum {\n\tQ_REQUEUE_PI_NONE = 0,\n\tQ_REQUEUE_PI_IGNORE = 1,\n\tQ_REQUEUE_PI_IN_PROGRESS = 2,\n\tQ_REQUEUE_PI_WAIT = 3,\n\tQ_REQUEUE_PI_DONE = 4,\n\tQ_REQUEUE_PI_LOCKED = 5,\n};\n\nenum {\n\tRADIX_TREE_ITER_TAG_MASK = 15,\n\tRADIX_TREE_ITER_TAGGED = 16,\n\tRADIX_TREE_ITER_CONTIG = 32,\n};\n\nenum {\n\tRB_ADD_STAMP_NONE = 0,\n\tRB_ADD_STAMP_EXTEND = 2,\n\tRB_ADD_STAMP_ABSOLUTE = 4,\n\tRB_ADD_STAMP_FORCE = 8,\n};\n\nenum {\n\tRB_CTX_TRANSITION = 0,\n\tRB_CTX_NMI = 1,\n\tRB_CTX_IRQ = 2,\n\tRB_CTX_SOFTIRQ = 3,\n\tRB_CTX_NORMAL = 4,\n\tRB_CTX_MAX = 5,\n};\n\nenum {\n\tRB_LEN_TIME_EXTEND = 8,\n\tRB_LEN_TIME_STAMP = 8,\n};\n\nenum {\n\tRC_TMF_COMPLETE = 0,\n\tRC_INVALID_INFO_UNIT = 2,\n\tRC_TMF_NOT_SUPPORTED = 4,\n\tRC_TMF_FAILED = 5,\n\tRC_TMF_SUCCEEDED = 8,\n\tRC_INCORRECT_LUN = 9,\n\tRC_OVERLAPPED_TAG = 10,\n};\n\nenum {\n\tREASON_BOUNDS = -1,\n\tREASON_TYPE = -2,\n\tREASON_PATHS = -3,\n\tREASON_LIMIT = -4,\n\tREASON_STACK = -5,\n};\n\nenum {\n\tREGION_INTERSECTS = 0,\n\tREGION_DISJOINT = 1,\n\tREGION_MIXED = 2,\n};\n\nenum {\n\tREGULATOR_ERROR_CLEARED = 0,\n\tREGULATOR_FAILED_RETRY = 1,\n\tREGULATOR_ERROR_ON = 2,\n};\n\nenum {\n\tREQ_FSEQ_PREFLUSH = 1,\n\tREQ_FSEQ_DATA = 2,\n\tREQ_FSEQ_POSTFLUSH = 4,\n\tREQ_FSEQ_DONE = 8,\n\tREQ_FSEQ_ACTIONS = 7,\n\tFLUSH_PENDING_TIMEOUT = 1250,\n};\n\nenum {\n\tREQ_F_FIXED_FILE = 1ULL,\n\tREQ_F_IO_DRAIN = 2ULL,\n\tREQ_F_LINK = 4ULL,\n\tREQ_F_HARDLINK = 8ULL,\n\tREQ_F_FORCE_ASYNC = 16ULL,\n\tREQ_F_BUFFER_SELECT = 32ULL,\n\tREQ_F_CQE_SKIP = 64ULL,\n\tREQ_F_FAIL = 256ULL,\n\tREQ_F_INFLIGHT = 512ULL,\n\tREQ_F_CUR_POS = 1024ULL,\n\tREQ_F_NOWAIT = 2048ULL,\n\tREQ_F_LINK_TIMEOUT = 4096ULL,\n\tREQ_F_NEED_CLEANUP = 8192ULL,\n\tREQ_F_POLLED = 16384ULL,\n\tREQ_F_IOPOLL_STATE = 32768ULL,\n\tREQ_F_BUFFER_SELECTED = 65536ULL,\n\tREQ_F_BUFFER_RING = 131072ULL,\n\tREQ_F_REISSUE = 262144ULL,\n\tREQ_F_SUPPORT_NOWAIT = 268435456ULL,\n\tREQ_F_ISREG = 536870912ULL,\n\tREQ_F_CREDS = 524288ULL,\n\tREQ_F_REFCOUNT = 1048576ULL,\n\tREQ_F_ARM_LTIMEOUT = 2097152ULL,\n\tREQ_F_ASYNC_DATA = 4194304ULL,\n\tREQ_F_SKIP_LINK_CQES = 8388608ULL,\n\tREQ_F_SINGLE_POLL = 16777216ULL,\n\tREQ_F_DOUBLE_POLL = 33554432ULL,\n\tREQ_F_APOLL_MULTISHOT = 67108864ULL,\n\tREQ_F_CLEAR_POLLIN = 134217728ULL,\n\tREQ_F_POLL_NO_LAZY = 1073741824ULL,\n\tREQ_F_CAN_POLL = 2147483648ULL,\n\tREQ_F_BL_EMPTY = 4294967296ULL,\n\tREQ_F_BL_NO_RECYCLE = 8589934592ULL,\n\tREQ_F_BUFFERS_COMMIT = 17179869184ULL,\n\tREQ_F_BUF_NODE = 34359738368ULL,\n\tREQ_F_HAS_METADATA = 68719476736ULL,\n};\n\nenum {\n\tREQ_F_FIXED_FILE_BIT = 0,\n\tREQ_F_IO_DRAIN_BIT = 1,\n\tREQ_F_LINK_BIT = 2,\n\tREQ_F_HARDLINK_BIT = 3,\n\tREQ_F_FORCE_ASYNC_BIT = 4,\n\tREQ_F_BUFFER_SELECT_BIT = 5,\n\tREQ_F_CQE_SKIP_BIT = 6,\n\tREQ_F_FAIL_BIT = 8,\n\tREQ_F_INFLIGHT_BIT = 9,\n\tREQ_F_CUR_POS_BIT = 10,\n\tREQ_F_NOWAIT_BIT = 11,\n\tREQ_F_LINK_TIMEOUT_BIT = 12,\n\tREQ_F_NEED_CLEANUP_BIT = 13,\n\tREQ_F_POLLED_BIT = 14,\n\tREQ_F_HYBRID_IOPOLL_STATE_BIT = 15,\n\tREQ_F_BUFFER_SELECTED_BIT = 16,\n\tREQ_F_BUFFER_RING_BIT = 17,\n\tREQ_F_REISSUE_BIT = 18,\n\tREQ_F_CREDS_BIT = 19,\n\tREQ_F_REFCOUNT_BIT = 20,\n\tREQ_F_ARM_LTIMEOUT_BIT = 21,\n\tREQ_F_ASYNC_DATA_BIT = 22,\n\tREQ_F_SKIP_LINK_CQES_BIT = 23,\n\tREQ_F_SINGLE_POLL_BIT = 24,\n\tREQ_F_DOUBLE_POLL_BIT = 25,\n\tREQ_F_APOLL_MULTISHOT_BIT = 26,\n\tREQ_F_CLEAR_POLLIN_BIT = 27,\n\tREQ_F_SUPPORT_NOWAIT_BIT = 28,\n\tREQ_F_ISREG_BIT = 29,\n\tREQ_F_POLL_NO_LAZY_BIT = 30,\n\tREQ_F_CAN_POLL_BIT = 31,\n\tREQ_F_BL_EMPTY_BIT = 32,\n\tREQ_F_BL_NO_RECYCLE_BIT = 33,\n\tREQ_F_BUFFERS_COMMIT_BIT = 34,\n\tREQ_F_BUF_NODE_BIT = 35,\n\tREQ_F_HAS_METADATA_BIT = 36,\n\t__REQ_F_LAST_BIT = 37,\n};\n\nenum {\n\tRES_USAGE = 0,\n\tRES_RSVD_USAGE = 1,\n\tRES_LIMIT = 2,\n\tRES_RSVD_LIMIT = 3,\n\tRES_MAX_USAGE = 4,\n\tRES_RSVD_MAX_USAGE = 5,\n\tRES_FAILCNT = 6,\n\tRES_RSVD_FAILCNT = 7,\n};\n\nenum {\n\tRPCAUTH_info = 0,\n\tRPCAUTH_EOF = 1,\n};\n\nenum {\n\tRPCAUTH_lockd = 0,\n\tRPCAUTH_mount = 1,\n\tRPCAUTH_nfs = 2,\n\tRPCAUTH_portmap = 3,\n\tRPCAUTH_statd = 4,\n\tRPCAUTH_nfsd4_cb = 5,\n\tRPCAUTH_cache = 6,\n\tRPCAUTH_nfsd = 7,\n\tRPCAUTH_gssd = 8,\n\tRPCAUTH_RootEOF = 9,\n};\n\nenum {\n\tRPCBPROC_NULL = 0,\n\tRPCBPROC_SET = 1,\n\tRPCBPROC_UNSET = 2,\n\tRPCBPROC_GETPORT = 3,\n\tRPCBPROC_GETADDR = 3,\n\tRPCBPROC_DUMP = 4,\n\tRPCBPROC_CALLIT = 5,\n\tRPCBPROC_BCAST = 5,\n\tRPCBPROC_GETTIME = 6,\n\tRPCBPROC_UADDR2TADDR = 7,\n\tRPCBPROC_TADDR2UADDR = 8,\n\tRPCBPROC_GETVERSADDR = 9,\n\tRPCBPROC_INDIRECT = 10,\n\tRPCBPROC_GETADDRLIST = 11,\n\tRPCBPROC_GETSTAT = 12,\n};\n\nenum {\n\tRPC_PIPEFS_MOUNT = 0,\n\tRPC_PIPEFS_UMOUNT = 1,\n};\n\nenum {\n\tRPC_TASK_RUNNING = 0,\n\tRPC_TASK_QUEUED = 1,\n\tRPC_TASK_ACTIVE = 2,\n\tRPC_TASK_NEED_XMIT = 3,\n\tRPC_TASK_NEED_RECV = 4,\n\tRPC_TASK_MSG_PIN_WAIT = 5,\n};\n\nenum {\n\tRQ_SECURE = 0,\n\tRQ_LOCAL = 1,\n\tRQ_USEDEFERRAL = 2,\n\tRQ_DROPME = 3,\n\tRQ_VICTIM = 4,\n\tRQ_DATA = 5,\n};\n\nenum {\n\tRTAX_UNSPEC = 0,\n\tRTAX_LOCK = 1,\n\tRTAX_MTU = 2,\n\tRTAX_WINDOW = 3,\n\tRTAX_RTT = 4,\n\tRTAX_RTTVAR = 5,\n\tRTAX_SSTHRESH = 6,\n\tRTAX_CWND = 7,\n\tRTAX_ADVMSS = 8,\n\tRTAX_REORDERING = 9,\n\tRTAX_HOPLIMIT = 10,\n\tRTAX_INITCWND = 11,\n\tRTAX_FEATURES = 12,\n\tRTAX_RTO_MIN = 13,\n\tRTAX_INITRWND = 14,\n\tRTAX_QUICKACK = 15,\n\tRTAX_CC_ALGO = 16,\n\tRTAX_FASTOPEN_NO_COOKIE = 17,\n\t__RTAX_MAX = 18,\n};\n\nenum {\n\tRTM_BASE = 16,\n\tRTM_NEWLINK = 16,\n\tRTM_DELLINK = 17,\n\tRTM_GETLINK = 18,\n\tRTM_SETLINK = 19,\n\tRTM_NEWADDR = 20,\n\tRTM_DELADDR = 21,\n\tRTM_GETADDR = 22,\n\tRTM_NEWROUTE = 24,\n\tRTM_DELROUTE = 25,\n\tRTM_GETROUTE = 26,\n\tRTM_NEWNEIGH = 28,\n\tRTM_DELNEIGH = 29,\n\tRTM_GETNEIGH = 30,\n\tRTM_NEWRULE = 32,\n\tRTM_DELRULE = 33,\n\tRTM_GETRULE = 34,\n\tRTM_NEWQDISC = 36,\n\tRTM_DELQDISC = 37,\n\tRTM_GETQDISC = 38,\n\tRTM_NEWTCLASS = 40,\n\tRTM_DELTCLASS = 41,\n\tRTM_GETTCLASS = 42,\n\tRTM_NEWTFILTER = 44,\n\tRTM_DELTFILTER = 45,\n\tRTM_GETTFILTER = 46,\n\tRTM_NEWACTION = 48,\n\tRTM_DELACTION = 49,\n\tRTM_GETACTION = 50,\n\tRTM_NEWPREFIX = 52,\n\tRTM_NEWMULTICAST = 56,\n\tRTM_DELMULTICAST = 57,\n\tRTM_GETMULTICAST = 58,\n\tRTM_NEWANYCAST = 60,\n\tRTM_DELANYCAST = 61,\n\tRTM_GETANYCAST = 62,\n\tRTM_NEWNEIGHTBL = 64,\n\tRTM_GETNEIGHTBL = 66,\n\tRTM_SETNEIGHTBL = 67,\n\tRTM_NEWNDUSEROPT = 68,\n\tRTM_NEWADDRLABEL = 72,\n\tRTM_DELADDRLABEL = 73,\n\tRTM_GETADDRLABEL = 74,\n\tRTM_GETDCB = 78,\n\tRTM_SETDCB = 79,\n\tRTM_NEWNETCONF = 80,\n\tRTM_DELNETCONF = 81,\n\tRTM_GETNETCONF = 82,\n\tRTM_NEWMDB = 84,\n\tRTM_DELMDB = 85,\n\tRTM_GETMDB = 86,\n\tRTM_NEWNSID = 88,\n\tRTM_DELNSID = 89,\n\tRTM_GETNSID = 90,\n\tRTM_NEWSTATS = 92,\n\tRTM_GETSTATS = 94,\n\tRTM_SETSTATS = 95,\n\tRTM_NEWCACHEREPORT = 96,\n\tRTM_NEWCHAIN = 100,\n\tRTM_DELCHAIN = 101,\n\tRTM_GETCHAIN = 102,\n\tRTM_NEWNEXTHOP = 104,\n\tRTM_DELNEXTHOP = 105,\n\tRTM_GETNEXTHOP = 106,\n\tRTM_NEWLINKPROP = 108,\n\tRTM_DELLINKPROP = 109,\n\tRTM_GETLINKPROP = 110,\n\tRTM_NEWVLAN = 112,\n\tRTM_DELVLAN = 113,\n\tRTM_GETVLAN = 114,\n\tRTM_NEWNEXTHOPBUCKET = 116,\n\tRTM_DELNEXTHOPBUCKET = 117,\n\tRTM_GETNEXTHOPBUCKET = 118,\n\tRTM_NEWTUNNEL = 120,\n\tRTM_DELTUNNEL = 121,\n\tRTM_GETTUNNEL = 122,\n\t__RTM_MAX = 123,\n};\n\nenum {\n\tRTN_UNSPEC = 0,\n\tRTN_UNICAST = 1,\n\tRTN_LOCAL = 2,\n\tRTN_BROADCAST = 3,\n\tRTN_ANYCAST = 4,\n\tRTN_MULTICAST = 5,\n\tRTN_BLACKHOLE = 6,\n\tRTN_UNREACHABLE = 7,\n\tRTN_PROHIBIT = 8,\n\tRTN_THROW = 9,\n\tRTN_NAT = 10,\n\tRTN_XRESOLVE = 11,\n\t__RTN_MAX = 12,\n};\n\nenum {\n\tRoot_NFS = 255,\n\tRoot_CIFS = 254,\n\tRoot_Generic = 253,\n\tRoot_RAM0 = 1048576,\n};\n\nenum {\n\tRworksched = 1,\n\tRpending = 2,\n\tWworksched = 4,\n\tWpending = 8,\n};\n\nenum {\n\tSB_UNFROZEN = 0,\n\tSB_FREEZE_WRITE = 1,\n\tSB_FREEZE_PAGEFAULT = 2,\n\tSB_FREEZE_FS = 3,\n\tSB_FREEZE_COMPLETE = 4,\n};\n\nenum {\n\tSCM_TSTAMP_SND = 0,\n\tSCM_TSTAMP_SCHED = 1,\n\tSCM_TSTAMP_ACK = 2,\n};\n\nenum {\n\tSCTP_AUTH_HMAC_ID_RESERVED_0 = 0,\n\tSCTP_AUTH_HMAC_ID_SHA1 = 1,\n\tSCTP_AUTH_HMAC_ID_RESERVED_2 = 2,\n\tSCTP_AUTH_HMAC_ID_SHA256 = 3,\n\t__SCTP_AUTH_HMAC_MAX = 4,\n};\n\nenum {\n\tSCTP_MAX_DUP_TSNS = 16,\n};\n\nenum {\n\tSCTP_MAX_STREAM = 65535,\n};\n\nenum {\n\tSD_BALANCE_NEWIDLE = 1,\n\tSD_BALANCE_EXEC = 2,\n\tSD_BALANCE_FORK = 4,\n\tSD_BALANCE_WAKE = 8,\n\tSD_WAKE_AFFINE = 16,\n\tSD_ASYM_CPUCAPACITY = 32,\n\tSD_ASYM_CPUCAPACITY_FULL = 64,\n\tSD_SHARE_CPUCAPACITY = 128,\n\tSD_CLUSTER = 256,\n\tSD_SHARE_LLC = 512,\n\tSD_SERIALIZE = 1024,\n\tSD_ASYM_PACKING = 2048,\n\tSD_PREFER_SIBLING = 4096,\n\tSD_OVERLAP = 8192,\n\tSD_NUMA = 16384,\n};\n\nenum {\n\tSD_DEF_XFER_BLOCKS = 65535,\n\tSD_MAX_XFER_BLOCKS = 4294967295,\n\tSD_MAX_WS10_BLOCKS = 65535,\n\tSD_MAX_WS16_BLOCKS = 8388607,\n};\n\nenum {\n\tSD_EXT_CDB_SIZE = 32,\n\tSD_MEMPOOL_SIZE = 2,\n};\n\nenum {\n\tSD_LBP_FULL = 0,\n\tSD_LBP_UNMAP = 1,\n\tSD_LBP_WS16 = 2,\n\tSD_LBP_WS10 = 3,\n\tSD_LBP_ZERO = 4,\n\tSD_LBP_DISABLE = 5,\n};\n\nenum {\n\tSD_ZERO_WRITE = 0,\n\tSD_ZERO_WS = 1,\n\tSD_ZERO_WS16_UNMAP = 2,\n\tSD_ZERO_WS10_UNMAP = 3,\n};\n\nenum {\n\tSECTION_MARKED_PRESENT_BIT = 0,\n\tSECTION_HAS_MEM_MAP_BIT = 1,\n\tSECTION_IS_ONLINE_BIT = 2,\n\tSECTION_IS_EARLY_BIT = 3,\n\tSECTION_MAP_LAST_BIT = 4,\n};\n\nenum {\n\tSEG6_ATTR_UNSPEC = 0,\n\tSEG6_ATTR_DST = 1,\n\tSEG6_ATTR_DSTLEN = 2,\n\tSEG6_ATTR_HMACKEYID = 3,\n\tSEG6_ATTR_SECRET = 4,\n\tSEG6_ATTR_SECRETLEN = 5,\n\tSEG6_ATTR_ALGID = 6,\n\tSEG6_ATTR_HMACINFO = 7,\n\t__SEG6_ATTR_MAX = 8,\n};\n\nenum {\n\tSEG6_CMD_UNSPEC = 0,\n\tSEG6_CMD_SETHMAC = 1,\n\tSEG6_CMD_DUMPHMAC = 2,\n\tSEG6_CMD_SET_TUNSRC = 3,\n\tSEG6_CMD_GET_TUNSRC = 4,\n\t__SEG6_CMD_MAX = 5,\n};\n\nenum {\n\tSELNL_MSG_SETENFORCE = 16,\n\tSELNL_MSG_POLICYLOAD = 17,\n\tSELNL_MSG_MAX = 18,\n};\n\nenum {\n\tSFF8024_ID_UNK = 0,\n\tSFF8024_ID_SFF_8472 = 2,\n\tSFF8024_ID_SFP = 3,\n\tSFF8024_ID_DWDM_SFP = 11,\n\tSFF8024_ID_QSFP_8438 = 12,\n\tSFF8024_ID_QSFP_8436_8636 = 13,\n\tSFF8024_ID_QSFP28_8636 = 17,\n\tSFF8024_ID_QSFP_DD = 24,\n\tSFF8024_ID_OSFP = 25,\n\tSFF8024_ID_DSFP = 27,\n\tSFF8024_ID_QSFP_PLUS_CMIS = 30,\n\tSFF8024_ID_SFP_DD_CMIS = 31,\n\tSFF8024_ID_SFP_PLUS_CMIS = 32,\n\tSFF8024_ENCODING_UNSPEC = 0,\n\tSFF8024_ENCODING_8B10B = 1,\n\tSFF8024_ENCODING_4B5B = 2,\n\tSFF8024_ENCODING_NRZ = 3,\n\tSFF8024_ENCODING_8472_MANCHESTER = 4,\n\tSFF8024_ENCODING_8472_SONET = 5,\n\tSFF8024_ENCODING_8472_64B66B = 6,\n\tSFF8024_ENCODING_8436_MANCHESTER = 6,\n\tSFF8024_ENCODING_8436_SONET = 4,\n\tSFF8024_ENCODING_8436_64B66B = 5,\n\tSFF8024_ENCODING_256B257B = 7,\n\tSFF8024_ENCODING_PAM4 = 8,\n\tSFF8024_CONNECTOR_UNSPEC = 0,\n\tSFF8024_CONNECTOR_SC = 1,\n\tSFF8024_CONNECTOR_FIBERJACK = 6,\n\tSFF8024_CONNECTOR_LC = 7,\n\tSFF8024_CONNECTOR_MT_RJ = 8,\n\tSFF8024_CONNECTOR_MU = 9,\n\tSFF8024_CONNECTOR_SG = 10,\n\tSFF8024_CONNECTOR_OPTICAL_PIGTAIL = 11,\n\tSFF8024_CONNECTOR_MPO_1X12 = 12,\n\tSFF8024_CONNECTOR_MPO_2X16 = 13,\n\tSFF8024_CONNECTOR_HSSDC_II = 32,\n\tSFF8024_CONNECTOR_COPPER_PIGTAIL = 33,\n\tSFF8024_CONNECTOR_RJ45 = 34,\n\tSFF8024_CONNECTOR_NOSEPARATE = 35,\n\tSFF8024_CONNECTOR_MXC_2X16 = 36,\n\tSFF8024_ECC_UNSPEC = 0,\n\tSFF8024_ECC_100G_25GAUI_C2M_AOC = 1,\n\tSFF8024_ECC_100GBASE_SR4_25GBASE_SR = 2,\n\tSFF8024_ECC_100GBASE_LR4_25GBASE_LR = 3,\n\tSFF8024_ECC_100GBASE_ER4_25GBASE_ER = 4,\n\tSFF8024_ECC_100GBASE_SR10 = 5,\n\tSFF8024_ECC_100GBASE_CR4 = 11,\n\tSFF8024_ECC_25GBASE_CR_S = 12,\n\tSFF8024_ECC_25GBASE_CR_N = 13,\n\tSFF8024_ECC_10GBASE_T_SFI = 22,\n\tSFF8024_ECC_10GBASE_T_SR = 28,\n\tSFF8024_ECC_5GBASE_T = 29,\n\tSFF8024_ECC_2_5GBASE_T = 30,\n};\n\nenum {\n\tSFP_PHYS_ID = 0,\n\tSFP_PHYS_EXT_ID = 1,\n\tSFP_PHYS_EXT_ID_SFP = 4,\n\tSFP_CONNECTOR = 2,\n\tSFP_COMPLIANCE = 3,\n\tSFP_ENCODING = 11,\n\tSFP_BR_NOMINAL = 12,\n\tSFP_RATE_ID = 13,\n\tSFF_RID_8079 = 1,\n\tSFF_RID_8431_RX_ONLY = 2,\n\tSFF_RID_8431_TX_ONLY = 4,\n\tSFF_RID_8431 = 6,\n\tSFF_RID_10G8G = 14,\n\tSFP_LINK_LEN_SM_KM = 14,\n\tSFP_LINK_LEN_SM_100M = 15,\n\tSFP_LINK_LEN_50UM_OM2_10M = 16,\n\tSFP_LINK_LEN_62_5UM_OM1_10M = 17,\n\tSFP_LINK_LEN_COPPER_1M = 18,\n\tSFP_LINK_LEN_50UM_OM4_10M = 18,\n\tSFP_LINK_LEN_50UM_OM3_10M = 19,\n\tSFP_VENDOR_NAME = 20,\n\tSFP_VENDOR_OUI = 37,\n\tSFP_VENDOR_PN = 40,\n\tSFP_VENDOR_REV = 56,\n\tSFP_OPTICAL_WAVELENGTH_MSB = 60,\n\tSFP_OPTICAL_WAVELENGTH_LSB = 61,\n\tSFP_CABLE_SPEC = 60,\n\tSFP_CC_BASE = 63,\n\tSFP_OPTIONS = 64,\n\tSFP_OPTIONS_HIGH_POWER_LEVEL = 8192,\n\tSFP_OPTIONS_PAGING_A2 = 4096,\n\tSFP_OPTIONS_RETIMER = 2048,\n\tSFP_OPTIONS_COOLED_XCVR = 1024,\n\tSFP_OPTIONS_POWER_DECL = 512,\n\tSFP_OPTIONS_RX_LINEAR_OUT = 256,\n\tSFP_OPTIONS_RX_DECISION_THRESH = 128,\n\tSFP_OPTIONS_TUNABLE_TX = 64,\n\tSFP_OPTIONS_RATE_SELECT = 32,\n\tSFP_OPTIONS_TX_DISABLE = 16,\n\tSFP_OPTIONS_TX_FAULT = 8,\n\tSFP_OPTIONS_LOS_INVERTED = 4,\n\tSFP_OPTIONS_LOS_NORMAL = 2,\n\tSFP_BR_MAX = 66,\n\tSFP_BR_MIN = 67,\n\tSFP_VENDOR_SN = 68,\n\tSFP_DATECODE = 84,\n\tSFP_DIAGMON = 92,\n\tSFP_DIAGMON_DDM = 64,\n\tSFP_DIAGMON_INT_CAL = 32,\n\tSFP_DIAGMON_EXT_CAL = 16,\n\tSFP_DIAGMON_RXPWR_AVG = 8,\n\tSFP_DIAGMON_ADDRMODE = 4,\n\tSFP_ENHOPTS = 93,\n\tSFP_ENHOPTS_ALARMWARN = 128,\n\tSFP_ENHOPTS_SOFT_TX_DISABLE = 64,\n\tSFP_ENHOPTS_SOFT_TX_FAULT = 32,\n\tSFP_ENHOPTS_SOFT_RX_LOS = 16,\n\tSFP_ENHOPTS_SOFT_RATE_SELECT = 8,\n\tSFP_ENHOPTS_APP_SELECT_SFF8079 = 4,\n\tSFP_ENHOPTS_SOFT_RATE_SFF8431 = 2,\n\tSFP_SFF8472_COMPLIANCE = 94,\n\tSFP_SFF8472_COMPLIANCE_NONE = 0,\n\tSFP_SFF8472_COMPLIANCE_REV9_3 = 1,\n\tSFP_SFF8472_COMPLIANCE_REV9_5 = 2,\n\tSFP_SFF8472_COMPLIANCE_REV10_2 = 3,\n\tSFP_SFF8472_COMPLIANCE_REV10_4 = 4,\n\tSFP_SFF8472_COMPLIANCE_REV11_0 = 5,\n\tSFP_SFF8472_COMPLIANCE_REV11_3 = 6,\n\tSFP_SFF8472_COMPLIANCE_REV11_4 = 7,\n\tSFP_SFF8472_COMPLIANCE_REV12_0 = 8,\n\tSFP_CC_EXT = 95,\n};\n\nenum {\n\tSKBFL_ZEROCOPY_ENABLE = 1,\n\tSKBFL_SHARED_FRAG = 2,\n\tSKBFL_PURE_ZEROCOPY = 4,\n\tSKBFL_DONT_ORPHAN = 8,\n\tSKBFL_MANAGED_FRAG_REFS = 16,\n};\n\nenum {\n\tSKBTX_HW_TSTAMP = 1,\n\tSKBTX_SW_TSTAMP = 2,\n\tSKBTX_IN_PROGRESS = 4,\n\tSKBTX_HW_TSTAMP_USE_CYCLES = 8,\n\tSKBTX_WIFI_STATUS = 16,\n\tSKBTX_HW_TSTAMP_NETDEV = 32,\n\tSKBTX_SCHED_TSTAMP = 64,\n};\n\nenum {\n\tSKB_FCLONE_UNAVAILABLE = 0,\n\tSKB_FCLONE_ORIG = 1,\n\tSKB_FCLONE_CLONE = 2,\n};\n\nenum {\n\tSKB_GSO_TCPV4 = 1,\n\tSKB_GSO_DODGY = 2,\n\tSKB_GSO_TCP_ECN = 4,\n\tSKB_GSO_TCP_FIXEDID = 8,\n\tSKB_GSO_TCPV6 = 16,\n\tSKB_GSO_FCOE = 32,\n\tSKB_GSO_GRE = 64,\n\tSKB_GSO_GRE_CSUM = 128,\n\tSKB_GSO_IPXIP4 = 256,\n\tSKB_GSO_IPXIP6 = 512,\n\tSKB_GSO_UDP_TUNNEL = 1024,\n\tSKB_GSO_UDP_TUNNEL_CSUM = 2048,\n\tSKB_GSO_PARTIAL = 4096,\n\tSKB_GSO_TUNNEL_REMCSUM = 8192,\n\tSKB_GSO_SCTP = 16384,\n\tSKB_GSO_ESP = 32768,\n\tSKB_GSO_UDP = 65536,\n\tSKB_GSO_UDP_L4 = 131072,\n\tSKB_GSO_FRAGLIST = 262144,\n};\n\nenum {\n\tSKCIPHER_WALK_SLOW = 1,\n\tSKCIPHER_WALK_COPY = 2,\n\tSKCIPHER_WALK_DIFF = 4,\n\tSKCIPHER_WALK_SLEEP = 8,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_NONE = 0,\n\tSK_DIAG_BPF_STORAGE_PAD = 1,\n\tSK_DIAG_BPF_STORAGE_MAP_ID = 2,\n\tSK_DIAG_BPF_STORAGE_MAP_VALUE = 3,\n\t__SK_DIAG_BPF_STORAGE_MAX = 4,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_REP_NONE = 0,\n\tSK_DIAG_BPF_STORAGE = 1,\n\t__SK_DIAG_BPF_STORAGE_REP_MAX = 2,\n};\n\nenum {\n\tSK_DIAG_BPF_STORAGE_REQ_NONE = 0,\n\tSK_DIAG_BPF_STORAGE_REQ_MAP_FD = 1,\n\t__SK_DIAG_BPF_STORAGE_REQ_MAX = 2,\n};\n\nenum {\n\tSK_MEMINFO_RMEM_ALLOC = 0,\n\tSK_MEMINFO_RCVBUF = 1,\n\tSK_MEMINFO_WMEM_ALLOC = 2,\n\tSK_MEMINFO_SNDBUF = 3,\n\tSK_MEMINFO_FWD_ALLOC = 4,\n\tSK_MEMINFO_WMEM_QUEUED = 5,\n\tSK_MEMINFO_OPTMEM = 6,\n\tSK_MEMINFO_BACKLOG = 7,\n\tSK_MEMINFO_DROPS = 8,\n\tSK_MEMINFO_VARS = 9,\n};\n\nenum {\n\tSNDRV_CHMAP_UNKNOWN = 0,\n\tSNDRV_CHMAP_NA = 1,\n\tSNDRV_CHMAP_MONO = 2,\n\tSNDRV_CHMAP_FL = 3,\n\tSNDRV_CHMAP_FR = 4,\n\tSNDRV_CHMAP_RL = 5,\n\tSNDRV_CHMAP_RR = 6,\n\tSNDRV_CHMAP_FC = 7,\n\tSNDRV_CHMAP_LFE = 8,\n\tSNDRV_CHMAP_SL = 9,\n\tSNDRV_CHMAP_SR = 10,\n\tSNDRV_CHMAP_RC = 11,\n\tSNDRV_CHMAP_FLC = 12,\n\tSNDRV_CHMAP_FRC = 13,\n\tSNDRV_CHMAP_RLC = 14,\n\tSNDRV_CHMAP_RRC = 15,\n\tSNDRV_CHMAP_FLW = 16,\n\tSNDRV_CHMAP_FRW = 17,\n\tSNDRV_CHMAP_FLH = 18,\n\tSNDRV_CHMAP_FCH = 19,\n\tSNDRV_CHMAP_FRH = 20,\n\tSNDRV_CHMAP_TC = 21,\n\tSNDRV_CHMAP_TFL = 22,\n\tSNDRV_CHMAP_TFR = 23,\n\tSNDRV_CHMAP_TFC = 24,\n\tSNDRV_CHMAP_TRL = 25,\n\tSNDRV_CHMAP_TRR = 26,\n\tSNDRV_CHMAP_TRC = 27,\n\tSNDRV_CHMAP_TFLC = 28,\n\tSNDRV_CHMAP_TFRC = 29,\n\tSNDRV_CHMAP_TSL = 30,\n\tSNDRV_CHMAP_TSR = 31,\n\tSNDRV_CHMAP_LLFE = 32,\n\tSNDRV_CHMAP_RLFE = 33,\n\tSNDRV_CHMAP_BC = 34,\n\tSNDRV_CHMAP_BLC = 35,\n\tSNDRV_CHMAP_BRC = 36,\n\tSNDRV_CHMAP_LAST = 36,\n};\n\nenum {\n\tSNDRV_CTL_IOCTL_ELEM_LIST32 = 3225965840,\n\tSNDRV_CTL_IOCTL_ELEM_INFO32 = 3239073041,\n\tSNDRV_CTL_IOCTL_ELEM_READ32 = 3267908882,\n\tSNDRV_CTL_IOCTL_ELEM_WRITE32 = 3267908883,\n\tSNDRV_CTL_IOCTL_ELEM_ADD32 = 3239073047,\n\tSNDRV_CTL_IOCTL_ELEM_REPLACE32 = 3239073048,\n};\n\nenum {\n\tSNDRV_CTL_TLV_OP_READ = 0,\n\tSNDRV_CTL_TLV_OP_WRITE = 1,\n\tSNDRV_CTL_TLV_OP_CMD = -1,\n};\n\nenum {\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5,\n\tSNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST = 5,\n};\n\nenum {\n\tSNDRV_PCM_CLASS_GENERIC = 0,\n\tSNDRV_PCM_CLASS_MULTI = 1,\n\tSNDRV_PCM_CLASS_MODEM = 2,\n\tSNDRV_PCM_CLASS_DIGITIZER = 3,\n\tSNDRV_PCM_CLASS_LAST = 3,\n};\n\nenum {\n\tSNDRV_PCM_IOCTL_HW_REFINE32 = 3260825872,\n\tSNDRV_PCM_IOCTL_HW_PARAMS32 = 3260825873,\n\tSNDRV_PCM_IOCTL_SW_PARAMS32 = 3228057875,\n\tSNDRV_PCM_IOCTL_STATUS_COMPAT32 = 2154578208,\n\tSNDRV_PCM_IOCTL_STATUS_EXT_COMPAT32 = 3228320036,\n\tSNDRV_PCM_IOCTL_DELAY32 = 2147762465,\n\tSNDRV_PCM_IOCTL_CHANNEL_INFO32 = 2148548914,\n\tSNDRV_PCM_IOCTL_REWIND32 = 1074020678,\n\tSNDRV_PCM_IOCTL_FORWARD32 = 1074020681,\n\tSNDRV_PCM_IOCTL_WRITEI_FRAMES32 = 1074544976,\n\tSNDRV_PCM_IOCTL_READI_FRAMES32 = 2148286801,\n\tSNDRV_PCM_IOCTL_WRITEN_FRAMES32 = 1074544978,\n\tSNDRV_PCM_IOCTL_READN_FRAMES32 = 2148286803,\n\tSNDRV_PCM_IOCTL_STATUS_COMPAT64 = 2155888928,\n\tSNDRV_PCM_IOCTL_STATUS_EXT_COMPAT64 = 3229630756,\n};\n\nenum {\n\tSNDRV_PCM_MMAP_OFFSET_DATA = 0,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 2147483648,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 2164260864,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 2181038080,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 2197815296,\n\tSNDRV_PCM_MMAP_OFFSET_STATUS = 2181038080,\n\tSNDRV_PCM_MMAP_OFFSET_CONTROL = 2197815296,\n};\n\nenum {\n\tSNDRV_PCM_STREAM_PLAYBACK = 0,\n\tSNDRV_PCM_STREAM_CAPTURE = 1,\n\tSNDRV_PCM_STREAM_LAST = 1,\n};\n\nenum {\n\tSNDRV_PCM_TSTAMP_NONE = 0,\n\tSNDRV_PCM_TSTAMP_ENABLE = 1,\n\tSNDRV_PCM_TSTAMP_LAST = 1,\n};\n\nenum {\n\tSNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0,\n\tSNDRV_PCM_TSTAMP_TYPE_MONOTONIC = 1,\n\tSNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW = 2,\n\tSNDRV_PCM_TSTAMP_TYPE_LAST = 2,\n};\n\nenum {\n\tSNDRV_TIMER_CLASS_NONE = -1,\n\tSNDRV_TIMER_CLASS_SLAVE = 0,\n\tSNDRV_TIMER_CLASS_GLOBAL = 1,\n\tSNDRV_TIMER_CLASS_CARD = 2,\n\tSNDRV_TIMER_CLASS_PCM = 3,\n\tSNDRV_TIMER_CLASS_LAST = 3,\n};\n\nenum {\n\tSNDRV_TIMER_EVENT_RESOLUTION = 0,\n\tSNDRV_TIMER_EVENT_TICK = 1,\n\tSNDRV_TIMER_EVENT_START = 2,\n\tSNDRV_TIMER_EVENT_STOP = 3,\n\tSNDRV_TIMER_EVENT_CONTINUE = 4,\n\tSNDRV_TIMER_EVENT_PAUSE = 5,\n\tSNDRV_TIMER_EVENT_EARLY = 6,\n\tSNDRV_TIMER_EVENT_SUSPEND = 7,\n\tSNDRV_TIMER_EVENT_RESUME = 8,\n\tSNDRV_TIMER_EVENT_MSTART = 12,\n\tSNDRV_TIMER_EVENT_MSTOP = 13,\n\tSNDRV_TIMER_EVENT_MCONTINUE = 14,\n\tSNDRV_TIMER_EVENT_MPAUSE = 15,\n\tSNDRV_TIMER_EVENT_MSUSPEND = 17,\n\tSNDRV_TIMER_EVENT_MRESUME = 18,\n};\n\nenum {\n\tSNDRV_TIMER_IOCTL_GPARAMS32 = 1077695492,\n\tSNDRV_TIMER_IOCTL_INFO32 = 2162185233,\n\tSNDRV_TIMER_IOCTL_STATUS_COMPAT32 = 1079530516,\n\tSNDRV_TIMER_IOCTL_STATUS_COMPAT64 = 1080054804,\n};\n\nenum {\n\tSNDRV_TIMER_IOCTL_START_OLD = 21536,\n\tSNDRV_TIMER_IOCTL_STOP_OLD = 21537,\n\tSNDRV_TIMER_IOCTL_CONTINUE_OLD = 21538,\n\tSNDRV_TIMER_IOCTL_PAUSE_OLD = 21539,\n};\n\nenum {\n\tSNDRV_TIMER_SCLASS_NONE = 0,\n\tSNDRV_TIMER_SCLASS_APPLICATION = 1,\n\tSNDRV_TIMER_SCLASS_SEQUENCER = 2,\n\tSNDRV_TIMER_SCLASS_OSS_SEQUENCER = 3,\n\tSNDRV_TIMER_SCLASS_LAST = 3,\n};\n\nenum {\n\tSND_CTL_SUBDEV_PCM = 0,\n\tSND_CTL_SUBDEV_RAWMIDI = 1,\n\tSND_CTL_SUBDEV_ITEMS = 2,\n};\n\nenum {\n\tSOCK_WAKE_IO = 0,\n\tSOCK_WAKE_WAITD = 1,\n\tSOCK_WAKE_SPACE = 2,\n\tSOCK_WAKE_URG = 3,\n};\n\nenum {\n\tSOF_TIMESTAMPING_TX_HARDWARE = 1,\n\tSOF_TIMESTAMPING_TX_SOFTWARE = 2,\n\tSOF_TIMESTAMPING_RX_HARDWARE = 4,\n\tSOF_TIMESTAMPING_RX_SOFTWARE = 8,\n\tSOF_TIMESTAMPING_SOFTWARE = 16,\n\tSOF_TIMESTAMPING_SYS_HARDWARE = 32,\n\tSOF_TIMESTAMPING_RAW_HARDWARE = 64,\n\tSOF_TIMESTAMPING_OPT_ID = 128,\n\tSOF_TIMESTAMPING_TX_SCHED = 256,\n\tSOF_TIMESTAMPING_TX_ACK = 512,\n\tSOF_TIMESTAMPING_OPT_CMSG = 1024,\n\tSOF_TIMESTAMPING_OPT_TSONLY = 2048,\n\tSOF_TIMESTAMPING_OPT_STATS = 4096,\n\tSOF_TIMESTAMPING_OPT_PKTINFO = 8192,\n\tSOF_TIMESTAMPING_OPT_TX_SWHW = 16384,\n\tSOF_TIMESTAMPING_BIND_PHC = 32768,\n\tSOF_TIMESTAMPING_OPT_ID_TCP = 65536,\n\tSOF_TIMESTAMPING_OPT_RX_FILTER = 131072,\n\tSOF_TIMESTAMPING_LAST = 131072,\n\tSOF_TIMESTAMPING_MASK = 262143,\n};\n\nenum {\n\tSP_TASK_PENDING = 0,\n\tSP_NEED_VICTIM = 1,\n\tSP_VICTIM_REMAINS = 2,\n};\n\nenum {\n\tSUBMIT_STATUS_URB = 2,\n\tALLOC_DATA_IN_URB = 4,\n\tSUBMIT_DATA_IN_URB = 8,\n\tALLOC_DATA_OUT_URB = 16,\n\tSUBMIT_DATA_OUT_URB = 32,\n\tALLOC_CMD_URB = 64,\n\tSUBMIT_CMD_URB = 128,\n\tCOMMAND_INFLIGHT = 256,\n\tDATA_IN_URB_INFLIGHT = 512,\n\tDATA_OUT_URB_INFLIGHT = 1024,\n\tCOMMAND_ABORTED = 2048,\n\tIS_IN_WORK_LIST = 4096,\n};\n\nenum {\n\tSUNRPC_PIPEFS_NFS_PRIO = 0,\n\tSUNRPC_PIPEFS_RPC_PRIO = 1,\n};\n\nenum {\n\tSVC_HANDSHAKE_TO = 1250,\n};\n\nenum {\n\tSVC_POOL_AUTO = -1,\n\tSVC_POOL_GLOBAL = 0,\n\tSVC_POOL_PERCPU = 1,\n\tSVC_POOL_PERNODE = 2,\n};\n\nenum {\n\tSWITCHTEC_GAS_MRPC_OFFSET = 0,\n\tSWITCHTEC_GAS_TOP_CFG_OFFSET = 4096,\n\tSWITCHTEC_GAS_SW_EVENT_OFFSET = 6144,\n\tSWITCHTEC_GAS_SYS_INFO_OFFSET = 8192,\n\tSWITCHTEC_GAS_FLASH_INFO_OFFSET = 8704,\n\tSWITCHTEC_GAS_PART_CFG_OFFSET = 16384,\n\tSWITCHTEC_GAS_NTB_OFFSET = 65536,\n\tSWITCHTEC_GAS_PFF_CSR_OFFSET = 1261568,\n};\n\nenum {\n\tSWITCHTEC_NTB_REG_INFO_OFFSET = 0,\n\tSWITCHTEC_NTB_REG_CTRL_OFFSET = 16384,\n\tSWITCHTEC_NTB_REG_DBMSG_OFFSET = 409600,\n};\n\nenum {\n\tSWMII_SPEED_10 = 0,\n\tSWMII_SPEED_100 = 1,\n\tSWMII_SPEED_1000 = 2,\n\tSWMII_DUPLEX_HALF = 0,\n\tSWMII_DUPLEX_FULL = 1,\n};\n\nenum {\n\tSWP_USED = 1,\n\tSWP_WRITEOK = 2,\n\tSWP_DISCARDABLE = 4,\n\tSWP_DISCARDING = 8,\n\tSWP_SOLIDSTATE = 16,\n\tSWP_CONTINUED = 32,\n\tSWP_BLKDEV = 64,\n\tSWP_ACTIVATED = 128,\n\tSWP_FS_OPS = 256,\n\tSWP_AREA_DISCARD = 512,\n\tSWP_PAGE_DISCARD = 1024,\n\tSWP_STABLE_WRITES = 2048,\n\tSWP_SYNCHRONOUS_IO = 4096,\n};\n\nenum {\n\tSYNAPTICS_INTERTOUCH_NOT_SET = -1,\n\tSYNAPTICS_INTERTOUCH_OFF = 0,\n\tSYNAPTICS_INTERTOUCH_ON = 1,\n};\n\nenum {\n\tSYSTAB = 0,\n\tMMBASE = 1,\n\tMMSIZE = 2,\n\tDCSIZE = 3,\n\tDCVERS = 4,\n\tPARAMCOUNT = 5,\n};\n\nenum {\n\tTASKLET_STATE_SCHED = 0,\n\tTASKLET_STATE_RUN = 1,\n};\n\nenum {\n\tTASKSTATS_CMD_UNSPEC = 0,\n\tTASKSTATS_CMD_GET = 1,\n\tTASKSTATS_CMD_NEW = 2,\n\t__TASKSTATS_CMD_MAX = 3,\n};\n\nenum {\n\tTASK_COMM_LEN = 16,\n};\n\nenum {\n\tTCA_FLOWER_KEY_CT_FLAGS_NEW = 1,\n\tTCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 2,\n\tTCA_FLOWER_KEY_CT_FLAGS_RELATED = 4,\n\tTCA_FLOWER_KEY_CT_FLAGS_TRACKED = 8,\n\tTCA_FLOWER_KEY_CT_FLAGS_INVALID = 16,\n\tTCA_FLOWER_KEY_CT_FLAGS_REPLY = 32,\n\t__TCA_FLOWER_KEY_CT_FLAGS_MAX = 33,\n};\n\nenum {\n\tTCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = 1,\n\tTCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = 2,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = 4,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = 8,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = 16,\n\tTCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = 32,\n\t__TCA_FLOWER_KEY_FLAGS_MAX = 33,\n};\n\nenum {\n\tTCA_STAB_UNSPEC = 0,\n\tTCA_STAB_BASE = 1,\n\tTCA_STAB_DATA = 2,\n\t__TCA_STAB_MAX = 3,\n};\n\nenum {\n\tTCA_STATS_UNSPEC = 0,\n\tTCA_STATS_BASIC = 1,\n\tTCA_STATS_RATE_EST = 2,\n\tTCA_STATS_QUEUE = 3,\n\tTCA_STATS_APP = 4,\n\tTCA_STATS_RATE_EST64 = 5,\n\tTCA_STATS_PAD = 6,\n\tTCA_STATS_BASIC_HW = 7,\n\tTCA_STATS_PKT64 = 8,\n\t__TCA_STATS_MAX = 9,\n};\n\nenum {\n\tTCA_UNSPEC = 0,\n\tTCA_KIND = 1,\n\tTCA_OPTIONS = 2,\n\tTCA_STATS = 3,\n\tTCA_XSTATS = 4,\n\tTCA_RATE = 5,\n\tTCA_FCNT = 6,\n\tTCA_STATS2 = 7,\n\tTCA_STAB = 8,\n\tTCA_PAD = 9,\n\tTCA_DUMP_INVISIBLE = 10,\n\tTCA_CHAIN = 11,\n\tTCA_HW_OFFLOAD = 12,\n\tTCA_INGRESS_BLOCK = 13,\n\tTCA_EGRESS_BLOCK = 14,\n\tTCA_DUMP_FLAGS = 15,\n\tTCA_EXT_WARN_MSG = 16,\n\t__TCA_MAX = 17,\n};\n\nenum {\n\tTCPF_ESTABLISHED = 2,\n\tTCPF_SYN_SENT = 4,\n\tTCPF_SYN_RECV = 8,\n\tTCPF_FIN_WAIT1 = 16,\n\tTCPF_FIN_WAIT2 = 32,\n\tTCPF_TIME_WAIT = 64,\n\tTCPF_CLOSE = 128,\n\tTCPF_CLOSE_WAIT = 256,\n\tTCPF_LAST_ACK = 512,\n\tTCPF_LISTEN = 1024,\n\tTCPF_CLOSING = 2048,\n\tTCPF_NEW_SYN_RECV = 4096,\n\tTCPF_BOUND_INACTIVE = 8192,\n};\n\nenum {\n\tTCP_BPF_BASE = 0,\n\tTCP_BPF_TX = 1,\n\tTCP_BPF_RX = 2,\n\tTCP_BPF_TXRX = 3,\n\tTCP_BPF_NUM_CFGS = 4,\n};\n\nenum {\n\tTCP_BPF_IPV4 = 0,\n\tTCP_BPF_IPV6 = 1,\n\tTCP_BPF_NUM_PROTS = 2,\n};\n\nenum {\n\tTCP_BPF_IW = 1001,\n\tTCP_BPF_SNDCWND_CLAMP = 1002,\n\tTCP_BPF_DELACK_MAX = 1003,\n\tTCP_BPF_RTO_MIN = 1004,\n\tTCP_BPF_SYN = 1005,\n\tTCP_BPF_SYN_IP = 1006,\n\tTCP_BPF_SYN_MAC = 1007,\n\tTCP_BPF_SOCK_OPS_CB_FLAGS = 1008,\n};\n\nenum {\n\tTCP_CMSG_INQ = 1,\n\tTCP_CMSG_TS = 2,\n};\n\nenum {\n\tTCP_ESTABLISHED = 1,\n\tTCP_SYN_SENT = 2,\n\tTCP_SYN_RECV = 3,\n\tTCP_FIN_WAIT1 = 4,\n\tTCP_FIN_WAIT2 = 5,\n\tTCP_TIME_WAIT = 6,\n\tTCP_CLOSE = 7,\n\tTCP_CLOSE_WAIT = 8,\n\tTCP_LAST_ACK = 9,\n\tTCP_LISTEN = 10,\n\tTCP_CLOSING = 11,\n\tTCP_NEW_SYN_RECV = 12,\n\tTCP_BOUND_INACTIVE = 13,\n\tTCP_MAX_STATES = 14,\n};\n\nenum {\n\tTCP_FLAG_CWR = 32768,\n\tTCP_FLAG_ECE = 16384,\n\tTCP_FLAG_URG = 8192,\n\tTCP_FLAG_ACK = 4096,\n\tTCP_FLAG_PSH = 2048,\n\tTCP_FLAG_RST = 1024,\n\tTCP_FLAG_SYN = 512,\n\tTCP_FLAG_FIN = 256,\n\tTCP_RESERVED_BITS = 15,\n\tTCP_DATA_OFFSET = 240,\n};\n\nenum {\n\tTCP_METRICS_ATTR_UNSPEC = 0,\n\tTCP_METRICS_ATTR_ADDR_IPV4 = 1,\n\tTCP_METRICS_ATTR_ADDR_IPV6 = 2,\n\tTCP_METRICS_ATTR_AGE = 3,\n\tTCP_METRICS_ATTR_TW_TSVAL = 4,\n\tTCP_METRICS_ATTR_TW_TS_STAMP = 5,\n\tTCP_METRICS_ATTR_VALS = 6,\n\tTCP_METRICS_ATTR_FOPEN_MSS = 7,\n\tTCP_METRICS_ATTR_FOPEN_SYN_DROPS = 8,\n\tTCP_METRICS_ATTR_FOPEN_SYN_DROP_TS = 9,\n\tTCP_METRICS_ATTR_FOPEN_COOKIE = 10,\n\tTCP_METRICS_ATTR_SADDR_IPV4 = 11,\n\tTCP_METRICS_ATTR_SADDR_IPV6 = 12,\n\tTCP_METRICS_ATTR_PAD = 13,\n\t__TCP_METRICS_ATTR_MAX = 14,\n};\n\nenum {\n\tTCP_METRICS_CMD_UNSPEC = 0,\n\tTCP_METRICS_CMD_GET = 1,\n\tTCP_METRICS_CMD_DEL = 2,\n\t__TCP_METRICS_CMD_MAX = 3,\n};\n\nenum {\n\tTCP_MIB_NUM = 0,\n\tTCP_MIB_RTOALGORITHM = 1,\n\tTCP_MIB_RTOMIN = 2,\n\tTCP_MIB_RTOMAX = 3,\n\tTCP_MIB_MAXCONN = 4,\n\tTCP_MIB_ACTIVEOPENS = 5,\n\tTCP_MIB_PASSIVEOPENS = 6,\n\tTCP_MIB_ATTEMPTFAILS = 7,\n\tTCP_MIB_ESTABRESETS = 8,\n\tTCP_MIB_CURRESTAB = 9,\n\tTCP_MIB_INSEGS = 10,\n\tTCP_MIB_OUTSEGS = 11,\n\tTCP_MIB_RETRANSSEGS = 12,\n\tTCP_MIB_INERRS = 13,\n\tTCP_MIB_OUTRSTS = 14,\n\tTCP_MIB_CSUMERRORS = 15,\n\t__TCP_MIB_MAX = 16,\n};\n\nenum {\n\tTCP_NLA_PAD = 0,\n\tTCP_NLA_BUSY = 1,\n\tTCP_NLA_RWND_LIMITED = 2,\n\tTCP_NLA_SNDBUF_LIMITED = 3,\n\tTCP_NLA_DATA_SEGS_OUT = 4,\n\tTCP_NLA_TOTAL_RETRANS = 5,\n\tTCP_NLA_PACING_RATE = 6,\n\tTCP_NLA_DELIVERY_RATE = 7,\n\tTCP_NLA_SND_CWND = 8,\n\tTCP_NLA_REORDERING = 9,\n\tTCP_NLA_MIN_RTT = 10,\n\tTCP_NLA_RECUR_RETRANS = 11,\n\tTCP_NLA_DELIVERY_RATE_APP_LMT = 12,\n\tTCP_NLA_SNDQ_SIZE = 13,\n\tTCP_NLA_CA_STATE = 14,\n\tTCP_NLA_SND_SSTHRESH = 15,\n\tTCP_NLA_DELIVERED = 16,\n\tTCP_NLA_DELIVERED_CE = 17,\n\tTCP_NLA_BYTES_SENT = 18,\n\tTCP_NLA_BYTES_RETRANS = 19,\n\tTCP_NLA_DSACK_DUPS = 20,\n\tTCP_NLA_REORD_SEEN = 21,\n\tTCP_NLA_SRTT = 22,\n\tTCP_NLA_TIMEOUT_REHASH = 23,\n\tTCP_NLA_BYTES_NOTSENT = 24,\n\tTCP_NLA_EDT = 25,\n\tTCP_NLA_TTL = 26,\n\tTCP_NLA_REHASH = 27,\n};\n\nenum {\n\tTCP_NO_QUEUE = 0,\n\tTCP_RECV_QUEUE = 1,\n\tTCP_SEND_QUEUE = 2,\n\tTCP_QUEUES_NR = 3,\n};\n\nenum {\n\tTEST_NONE = 0,\n\tTEST_CORE = 1,\n\tTEST_CPUS = 2,\n\tTEST_PLATFORM = 3,\n\tTEST_DEVICES = 4,\n\tTEST_FREEZER = 5,\n\t__TEST_AFTER_LAST = 6,\n};\n\nenum {\n\tTLS_ALERT_DESC_CLOSE_NOTIFY = 0,\n\tTLS_ALERT_DESC_UNEXPECTED_MESSAGE = 10,\n\tTLS_ALERT_DESC_BAD_RECORD_MAC = 20,\n\tTLS_ALERT_DESC_RECORD_OVERFLOW = 22,\n\tTLS_ALERT_DESC_HANDSHAKE_FAILURE = 40,\n\tTLS_ALERT_DESC_BAD_CERTIFICATE = 42,\n\tTLS_ALERT_DESC_UNSUPPORTED_CERTIFICATE = 43,\n\tTLS_ALERT_DESC_CERTIFICATE_REVOKED = 44,\n\tTLS_ALERT_DESC_CERTIFICATE_EXPIRED = 45,\n\tTLS_ALERT_DESC_CERTIFICATE_UNKNOWN = 46,\n\tTLS_ALERT_DESC_ILLEGAL_PARAMETER = 47,\n\tTLS_ALERT_DESC_UNKNOWN_CA = 48,\n\tTLS_ALERT_DESC_ACCESS_DENIED = 49,\n\tTLS_ALERT_DESC_DECODE_ERROR = 50,\n\tTLS_ALERT_DESC_DECRYPT_ERROR = 51,\n\tTLS_ALERT_DESC_TOO_MANY_CIDS_REQUESTED = 52,\n\tTLS_ALERT_DESC_PROTOCOL_VERSION = 70,\n\tTLS_ALERT_DESC_INSUFFICIENT_SECURITY = 71,\n\tTLS_ALERT_DESC_INTERNAL_ERROR = 80,\n\tTLS_ALERT_DESC_INAPPROPRIATE_FALLBACK = 86,\n\tTLS_ALERT_DESC_USER_CANCELED = 90,\n\tTLS_ALERT_DESC_MISSING_EXTENSION = 109,\n\tTLS_ALERT_DESC_UNSUPPORTED_EXTENSION = 110,\n\tTLS_ALERT_DESC_UNRECOGNIZED_NAME = 112,\n\tTLS_ALERT_DESC_BAD_CERTIFICATE_STATUS_RESPONSE = 113,\n\tTLS_ALERT_DESC_UNKNOWN_PSK_IDENTITY = 115,\n\tTLS_ALERT_DESC_CERTIFICATE_REQUIRED = 116,\n\tTLS_ALERT_DESC_NO_APPLICATION_PROTOCOL = 120,\n};\n\nenum {\n\tTLS_ALERT_LEVEL_WARNING = 1,\n\tTLS_ALERT_LEVEL_FATAL = 2,\n};\n\nenum {\n\tTLS_NO_KEYRING = 0,\n\tTLS_NO_PEERID = 0,\n\tTLS_NO_CERT = 0,\n\tTLS_NO_PRIVKEY = 0,\n};\n\nenum {\n\tTLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20,\n\tTLS_RECORD_TYPE_ALERT = 21,\n\tTLS_RECORD_TYPE_HANDSHAKE = 22,\n\tTLS_RECORD_TYPE_DATA = 23,\n\tTLS_RECORD_TYPE_HEARTBEAT = 24,\n\tTLS_RECORD_TYPE_TLS12_CID = 25,\n\tTLS_RECORD_TYPE_ACK = 26,\n};\n\nenum {\n\tTOO_MANY_CLOSE = -1,\n\tTOO_MANY_OPEN = -2,\n\tMISSING_QUOTE = -3,\n};\n\nenum {\n\tTP_ERR_FILE_NOT_FOUND = 0,\n\tTP_ERR_NO_REGULAR_FILE = 1,\n\tTP_ERR_BAD_REFCNT = 2,\n\tTP_ERR_REFCNT_OPEN_BRACE = 3,\n\tTP_ERR_BAD_REFCNT_SUFFIX = 4,\n\tTP_ERR_BAD_UPROBE_OFFS = 5,\n\tTP_ERR_BAD_MAXACT_TYPE = 6,\n\tTP_ERR_BAD_MAXACT = 7,\n\tTP_ERR_MAXACT_TOO_BIG = 8,\n\tTP_ERR_BAD_PROBE_ADDR = 9,\n\tTP_ERR_NON_UNIQ_SYMBOL = 10,\n\tTP_ERR_BAD_RETPROBE = 11,\n\tTP_ERR_NO_TRACEPOINT = 12,\n\tTP_ERR_BAD_TP_NAME = 13,\n\tTP_ERR_BAD_ADDR_SUFFIX = 14,\n\tTP_ERR_NO_GROUP_NAME = 15,\n\tTP_ERR_GROUP_TOO_LONG = 16,\n\tTP_ERR_BAD_GROUP_NAME = 17,\n\tTP_ERR_NO_EVENT_NAME = 18,\n\tTP_ERR_EVENT_TOO_LONG = 19,\n\tTP_ERR_BAD_EVENT_NAME = 20,\n\tTP_ERR_EVENT_EXIST = 21,\n\tTP_ERR_RETVAL_ON_PROBE = 22,\n\tTP_ERR_NO_RETVAL = 23,\n\tTP_ERR_BAD_STACK_NUM = 24,\n\tTP_ERR_BAD_ARG_NUM = 25,\n\tTP_ERR_BAD_VAR = 26,\n\tTP_ERR_BAD_REG_NAME = 27,\n\tTP_ERR_BAD_MEM_ADDR = 28,\n\tTP_ERR_BAD_IMM = 29,\n\tTP_ERR_IMMSTR_NO_CLOSE = 30,\n\tTP_ERR_FILE_ON_KPROBE = 31,\n\tTP_ERR_BAD_FILE_OFFS = 32,\n\tTP_ERR_SYM_ON_UPROBE = 33,\n\tTP_ERR_TOO_MANY_OPS = 34,\n\tTP_ERR_DEREF_NEED_BRACE = 35,\n\tTP_ERR_BAD_DEREF_OFFS = 36,\n\tTP_ERR_DEREF_OPEN_BRACE = 37,\n\tTP_ERR_COMM_CANT_DEREF = 38,\n\tTP_ERR_BAD_FETCH_ARG = 39,\n\tTP_ERR_ARRAY_NO_CLOSE = 40,\n\tTP_ERR_BAD_ARRAY_SUFFIX = 41,\n\tTP_ERR_BAD_ARRAY_NUM = 42,\n\tTP_ERR_ARRAY_TOO_BIG = 43,\n\tTP_ERR_BAD_TYPE = 44,\n\tTP_ERR_BAD_STRING = 45,\n\tTP_ERR_BAD_SYMSTRING = 46,\n\tTP_ERR_BAD_BITFIELD = 47,\n\tTP_ERR_ARG_NAME_TOO_LONG = 48,\n\tTP_ERR_NO_ARG_NAME = 49,\n\tTP_ERR_BAD_ARG_NAME = 50,\n\tTP_ERR_USED_ARG_NAME = 51,\n\tTP_ERR_ARG_TOO_LONG = 52,\n\tTP_ERR_NO_ARG_BODY = 53,\n\tTP_ERR_BAD_INSN_BNDRY = 54,\n\tTP_ERR_FAIL_REG_PROBE = 55,\n\tTP_ERR_DIFF_PROBE_TYPE = 56,\n\tTP_ERR_DIFF_ARG_TYPE = 57,\n\tTP_ERR_SAME_PROBE = 58,\n\tTP_ERR_NO_EVENT_INFO = 59,\n\tTP_ERR_BAD_ATTACH_EVENT = 60,\n\tTP_ERR_BAD_ATTACH_ARG = 61,\n\tTP_ERR_NO_EP_FILTER = 62,\n\tTP_ERR_NOSUP_BTFARG = 63,\n\tTP_ERR_NO_BTFARG = 64,\n\tTP_ERR_NO_BTF_ENTRY = 65,\n\tTP_ERR_BAD_VAR_ARGS = 66,\n\tTP_ERR_NOFENTRY_ARGS = 67,\n\tTP_ERR_DOUBLE_ARGS = 68,\n\tTP_ERR_ARGS_2LONG = 69,\n\tTP_ERR_ARGIDX_2BIG = 70,\n\tTP_ERR_NO_PTR_STRCT = 71,\n\tTP_ERR_NOSUP_DAT_ARG = 72,\n\tTP_ERR_BAD_HYPHEN = 73,\n\tTP_ERR_NO_BTF_FIELD = 74,\n\tTP_ERR_BAD_BTF_TID = 75,\n\tTP_ERR_BAD_TYPE4STR = 76,\n\tTP_ERR_NEED_STRING_TYPE = 77,\n\tTP_ERR_TOO_MANY_EARGS = 78,\n};\n\nenum {\n\tTRACEFS_EVENT_INODE = 2,\n\tTRACEFS_GID_PERM_SET = 4,\n\tTRACEFS_UID_PERM_SET = 8,\n\tTRACEFS_INSTANCE_INODE = 16,\n};\n\nenum {\n\tTRACE_ARRAY_FL_GLOBAL = 1,\n\tTRACE_ARRAY_FL_BOOT = 2,\n\tTRACE_ARRAY_FL_MOD_INIT = 4,\n};\n\nenum {\n\tTRACE_EVENT_FL_CAP_ANY = 1,\n\tTRACE_EVENT_FL_NO_SET_FILTER = 2,\n\tTRACE_EVENT_FL_IGNORE_ENABLE = 4,\n\tTRACE_EVENT_FL_TRACEPOINT = 8,\n\tTRACE_EVENT_FL_DYNAMIC = 16,\n\tTRACE_EVENT_FL_KPROBE = 32,\n\tTRACE_EVENT_FL_UPROBE = 64,\n\tTRACE_EVENT_FL_EPROBE = 128,\n\tTRACE_EVENT_FL_FPROBE = 256,\n\tTRACE_EVENT_FL_CUSTOM = 512,\n\tTRACE_EVENT_FL_TEST_STR = 1024,\n};\n\nenum {\n\tTRACE_EVENT_FL_CAP_ANY_BIT = 0,\n\tTRACE_EVENT_FL_NO_SET_FILTER_BIT = 1,\n\tTRACE_EVENT_FL_IGNORE_ENABLE_BIT = 2,\n\tTRACE_EVENT_FL_TRACEPOINT_BIT = 3,\n\tTRACE_EVENT_FL_DYNAMIC_BIT = 4,\n\tTRACE_EVENT_FL_KPROBE_BIT = 5,\n\tTRACE_EVENT_FL_UPROBE_BIT = 6,\n\tTRACE_EVENT_FL_EPROBE_BIT = 7,\n\tTRACE_EVENT_FL_FPROBE_BIT = 8,\n\tTRACE_EVENT_FL_CUSTOM_BIT = 9,\n\tTRACE_EVENT_FL_TEST_STR_BIT = 10,\n};\n\nenum {\n\tTRACE_NOP_OPT_ACCEPT = 1,\n\tTRACE_NOP_OPT_REFUSE = 2,\n};\n\nenum {\n\tTRACE_PIDS = 1,\n\tTRACE_NO_PIDS = 2,\n};\n\nenum {\n\tTRACE_SIGNAL_DELIVERED = 0,\n\tTRACE_SIGNAL_IGNORED = 1,\n\tTRACE_SIGNAL_ALREADY_PENDING = 2,\n\tTRACE_SIGNAL_OVERFLOW_FAIL = 3,\n\tTRACE_SIGNAL_LOSE_INFO = 4,\n};\n\nenum {\n\tTRANS_MODE_PIO = 0,\n\tTRANS_MODE_IDMAC = 1,\n\tTRANS_MODE_EDMAC = 2,\n};\n\nenum {\n\tUDP_BPF_IPV4 = 0,\n\tUDP_BPF_IPV6 = 1,\n\tUDP_BPF_NUM_PROTS = 2,\n};\n\nenum {\n\tUDP_FLAGS_CORK = 0,\n\tUDP_FLAGS_NO_CHECK6_TX = 1,\n\tUDP_FLAGS_NO_CHECK6_RX = 2,\n\tUDP_FLAGS_GRO_ENABLED = 3,\n\tUDP_FLAGS_ACCEPT_FRAGLIST = 4,\n\tUDP_FLAGS_ACCEPT_L4 = 5,\n\tUDP_FLAGS_ENCAP_ENABLED = 6,\n\tUDP_FLAGS_UDPLITE_SEND_CC = 7,\n\tUDP_FLAGS_UDPLITE_RECV_CC = 8,\n};\n\nenum {\n\tUDP_MIB_NUM = 0,\n\tUDP_MIB_INDATAGRAMS = 1,\n\tUDP_MIB_NOPORTS = 2,\n\tUDP_MIB_INERRORS = 3,\n\tUDP_MIB_OUTDATAGRAMS = 4,\n\tUDP_MIB_RCVBUFERRORS = 5,\n\tUDP_MIB_SNDBUFERRORS = 6,\n\tUDP_MIB_CSUMERRORS = 7,\n\tUDP_MIB_IGNOREDMULTI = 8,\n\tUDP_MIB_MEMERRORS = 9,\n\t__UDP_MIB_MAX = 10,\n};\n\nenum {\n\tUNAME26 = 131072,\n\tADDR_NO_RANDOMIZE = 262144,\n\tFDPIC_FUNCPTRS = 524288,\n\tMMAP_PAGE_ZERO = 1048576,\n\tADDR_COMPAT_LAYOUT = 2097152,\n\tREAD_IMPLIES_EXEC = 4194304,\n\tADDR_LIMIT_32BIT = 8388608,\n\tSHORT_INODE = 16777216,\n\tWHOLE_SECONDS = 33554432,\n\tSTICKY_TIMEOUTS = 67108864,\n\tADDR_LIMIT_3GB = 134217728,\n};\n\nenum {\n\tUS_FL_SINGLE_LUN = 1,\n\tUS_FL_NEED_OVERRIDE = 2,\n\tUS_FL_SCM_MULT_TARG = 4,\n\tUS_FL_FIX_INQUIRY = 8,\n\tUS_FL_FIX_CAPACITY = 16,\n\tUS_FL_IGNORE_RESIDUE = 32,\n\tUS_FL_BULK32 = 64,\n\tUS_FL_NOT_LOCKABLE = 128,\n\tUS_FL_GO_SLOW = 256,\n\tUS_FL_NO_WP_DETECT = 512,\n\tUS_FL_MAX_SECTORS_64 = 1024,\n\tUS_FL_IGNORE_DEVICE = 2048,\n\tUS_FL_CAPACITY_HEURISTICS = 4096,\n\tUS_FL_MAX_SECTORS_MIN = 8192,\n\tUS_FL_BULK_IGNORE_TAG = 16384,\n\tUS_FL_SANE_SENSE = 32768,\n\tUS_FL_CAPACITY_OK = 65536,\n\tUS_FL_BAD_SENSE = 131072,\n\tUS_FL_NO_READ_DISC_INFO = 262144,\n\tUS_FL_NO_READ_CAPACITY_16 = 524288,\n\tUS_FL_INITIAL_READ10 = 1048576,\n\tUS_FL_WRITE_CACHE = 2097152,\n\tUS_FL_NEEDS_CAP16 = 4194304,\n\tUS_FL_IGNORE_UAS = 8388608,\n\tUS_FL_BROKEN_FUA = 16777216,\n\tUS_FL_NO_ATA_1X = 33554432,\n\tUS_FL_NO_REPORT_OPCODES = 67108864,\n\tUS_FL_MAX_SECTORS_240 = 134217728,\n\tUS_FL_NO_REPORT_LUNS = 268435456,\n\tUS_FL_ALWAYS_SYNC = 536870912,\n\tUS_FL_NO_SAME = 1073741824,\n\tUS_FL_SENSE_AFTER_SYNC = 2147483648,\n};\n\nenum {\n\tVP_MSIX_CONFIG_VECTOR = 0,\n\tVP_MSIX_VQ_VECTOR = 1,\n};\n\nenum {\n\tWALK_TRAILING = 1,\n\tWALK_MORE = 2,\n\tWALK_NOFOLLOW = 4,\n};\n\nenum {\n\tXA_CHECK_SCHED = 4096,\n};\n\nenum {\n\tXDP_ATTACHED_NONE = 0,\n\tXDP_ATTACHED_DRV = 1,\n\tXDP_ATTACHED_SKB = 2,\n\tXDP_ATTACHED_HW = 3,\n\tXDP_ATTACHED_MULTI = 4,\n};\n\nenum {\n\tXFRM_DEV_OFFLOAD_UNSPECIFIED = 0,\n\tXFRM_DEV_OFFLOAD_CRYPTO = 1,\n\tXFRM_DEV_OFFLOAD_PACKET = 2,\n};\n\nenum {\n\tXFRM_LOOKUP_ICMP = 1,\n\tXFRM_LOOKUP_QUEUE = 2,\n\tXFRM_LOOKUP_KEEP_DST_REF = 4,\n};\n\nenum {\n\tXFRM_MODE_FLAG_TUNNEL = 1,\n};\n\nenum {\n\tXFRM_MSG_BASE = 16,\n\tXFRM_MSG_NEWSA = 16,\n\tXFRM_MSG_DELSA = 17,\n\tXFRM_MSG_GETSA = 18,\n\tXFRM_MSG_NEWPOLICY = 19,\n\tXFRM_MSG_DELPOLICY = 20,\n\tXFRM_MSG_GETPOLICY = 21,\n\tXFRM_MSG_ALLOCSPI = 22,\n\tXFRM_MSG_ACQUIRE = 23,\n\tXFRM_MSG_EXPIRE = 24,\n\tXFRM_MSG_UPDPOLICY = 25,\n\tXFRM_MSG_UPDSA = 26,\n\tXFRM_MSG_POLEXPIRE = 27,\n\tXFRM_MSG_FLUSHSA = 28,\n\tXFRM_MSG_FLUSHPOLICY = 29,\n\tXFRM_MSG_NEWAE = 30,\n\tXFRM_MSG_GETAE = 31,\n\tXFRM_MSG_REPORT = 32,\n\tXFRM_MSG_MIGRATE = 33,\n\tXFRM_MSG_NEWSADINFO = 34,\n\tXFRM_MSG_GETSADINFO = 35,\n\tXFRM_MSG_NEWSPDINFO = 36,\n\tXFRM_MSG_GETSPDINFO = 37,\n\tXFRM_MSG_MAPPING = 38,\n\tXFRM_MSG_SETDEFAULT = 39,\n\tXFRM_MSG_GETDEFAULT = 40,\n\t__XFRM_MSG_MAX = 41,\n};\n\nenum {\n\tXFRM_POLICY_IN = 0,\n\tXFRM_POLICY_OUT = 1,\n\tXFRM_POLICY_FWD = 2,\n\tXFRM_POLICY_MASK = 3,\n\tXFRM_POLICY_MAX = 3,\n};\n\nenum {\n\tXFRM_POLICY_TYPE_MAIN = 0,\n\tXFRM_POLICY_TYPE_SUB = 1,\n\tXFRM_POLICY_TYPE_MAX = 2,\n\tXFRM_POLICY_TYPE_ANY = 255,\n};\n\nenum {\n\tXFRM_STATE_VOID = 0,\n\tXFRM_STATE_ACQ = 1,\n\tXFRM_STATE_VALID = 2,\n\tXFRM_STATE_ERROR = 3,\n\tXFRM_STATE_EXPIRED = 4,\n\tXFRM_STATE_DEAD = 5,\n};\n\nenum {\n\tXPT_BUSY = 0,\n\tXPT_CONN = 1,\n\tXPT_CLOSE = 2,\n\tXPT_DATA = 3,\n\tXPT_TEMP = 4,\n\tXPT_DEAD = 5,\n\tXPT_CHNGBUF = 6,\n\tXPT_DEFERRED = 7,\n\tXPT_OLD = 8,\n\tXPT_LISTENER = 9,\n\tXPT_CACHE_AUTH = 10,\n\tXPT_LOCAL = 11,\n\tXPT_KILL_TEMP = 12,\n\tXPT_CONG_CTRL = 13,\n\tXPT_HANDSHAKE = 14,\n\tXPT_TLS_SESSION = 15,\n\tXPT_PEER_AUTH = 16,\n\tXPT_PEER_VALID = 17,\n};\n\nenum {\n\tZONELIST_FALLBACK = 0,\n\tMAX_ZONELISTS = 1,\n};\n\nenum {\n\tZSTDbss_compress = 0,\n\tZSTDbss_noCompress = 1,\n};\n\nenum {\n\t_IRQ_DEFAULT_INIT_FLAGS = 0,\n\t_IRQ_PER_CPU = 512,\n\t_IRQ_LEVEL = 256,\n\t_IRQ_NOPROBE = 1024,\n\t_IRQ_NOREQUEST = 2048,\n\t_IRQ_NOTHREAD = 65536,\n\t_IRQ_NOAUTOEN = 4096,\n\t_IRQ_NO_BALANCING = 8192,\n\t_IRQ_NESTED_THREAD = 32768,\n\t_IRQ_PER_CPU_DEVID = 131072,\n\t_IRQ_IS_POLLED = 262144,\n\t_IRQ_DISABLE_UNLAZY = 524288,\n\t_IRQ_HIDDEN = 1048576,\n\t_IRQ_NO_DEBUG = 2097152,\n\t_IRQF_MODIFY_MASK = 2080527,\n};\n\nenum {\n\t__ND_OPT_PREFIX_INFO_END = 0,\n\tND_OPT_SOURCE_LL_ADDR = 1,\n\tND_OPT_TARGET_LL_ADDR = 2,\n\tND_OPT_PREFIX_INFO = 3,\n\tND_OPT_REDIRECT_HDR = 4,\n\tND_OPT_MTU = 5,\n\tND_OPT_NONCE = 14,\n\t__ND_OPT_ARRAY_MAX = 15,\n\tND_OPT_ROUTE_INFO = 24,\n\tND_OPT_RDNSS = 25,\n\tND_OPT_DNSSL = 31,\n\tND_OPT_6CO = 34,\n\tND_OPT_CAPTIVE_PORTAL = 37,\n\tND_OPT_PREF64 = 38,\n\t__ND_OPT_MAX = 39,\n};\n\nenum {\n\t__PERCPU_REF_ATOMIC = 1,\n\t__PERCPU_REF_DEAD = 2,\n\t__PERCPU_REF_ATOMIC_DEAD = 3,\n\t__PERCPU_REF_FLAG_BITS = 2,\n};\n\nenum {\n\t__SCHED_FEAT_PLACE_LAG = 0,\n\t__SCHED_FEAT_PLACE_DEADLINE_INITIAL = 1,\n\t__SCHED_FEAT_PLACE_REL_DEADLINE = 2,\n\t__SCHED_FEAT_RUN_TO_PARITY = 3,\n\t__SCHED_FEAT_PREEMPT_SHORT = 4,\n\t__SCHED_FEAT_NEXT_BUDDY = 5,\n\t__SCHED_FEAT_PICK_BUDDY = 6,\n\t__SCHED_FEAT_CACHE_HOT_BUDDY = 7,\n\t__SCHED_FEAT_DELAY_DEQUEUE = 8,\n\t__SCHED_FEAT_DELAY_ZERO = 9,\n\t__SCHED_FEAT_WAKEUP_PREEMPTION = 10,\n\t__SCHED_FEAT_HRTICK = 11,\n\t__SCHED_FEAT_HRTICK_DL = 12,\n\t__SCHED_FEAT_NONTASK_CAPACITY = 13,\n\t__SCHED_FEAT_TTWU_QUEUE = 14,\n\t__SCHED_FEAT_SIS_UTIL = 15,\n\t__SCHED_FEAT_WARN_DOUBLE_CLOCK = 16,\n\t__SCHED_FEAT_RT_PUSH_IPI = 17,\n\t__SCHED_FEAT_RT_RUNTIME_SHARE = 18,\n\t__SCHED_FEAT_LB_MIN = 19,\n\t__SCHED_FEAT_ATTACH_AGE_LOAD = 20,\n\t__SCHED_FEAT_WA_IDLE = 21,\n\t__SCHED_FEAT_WA_WEIGHT = 22,\n\t__SCHED_FEAT_WA_BIAS = 23,\n\t__SCHED_FEAT_UTIL_EST = 24,\n\t__SCHED_FEAT_LATENCY_WARN = 25,\n\t__SCHED_FEAT_NR = 26,\n};\n\nenum {\n\t__SD_BALANCE_NEWIDLE = 0,\n\t__SD_BALANCE_EXEC = 1,\n\t__SD_BALANCE_FORK = 2,\n\t__SD_BALANCE_WAKE = 3,\n\t__SD_WAKE_AFFINE = 4,\n\t__SD_ASYM_CPUCAPACITY = 5,\n\t__SD_ASYM_CPUCAPACITY_FULL = 6,\n\t__SD_SHARE_CPUCAPACITY = 7,\n\t__SD_CLUSTER = 8,\n\t__SD_SHARE_LLC = 9,\n\t__SD_SERIALIZE = 10,\n\t__SD_ASYM_PACKING = 11,\n\t__SD_PREFER_SIBLING = 12,\n\t__SD_OVERLAP = 13,\n\t__SD_NUMA = 14,\n\t__SD_FLAG_CNT = 15,\n};\n\nenum {\n\t___GFP_DMA_BIT = 0,\n\t___GFP_HIGHMEM_BIT = 1,\n\t___GFP_DMA32_BIT = 2,\n\t___GFP_MOVABLE_BIT = 3,\n\t___GFP_RECLAIMABLE_BIT = 4,\n\t___GFP_HIGH_BIT = 5,\n\t___GFP_IO_BIT = 6,\n\t___GFP_FS_BIT = 7,\n\t___GFP_ZERO_BIT = 8,\n\t___GFP_UNUSED_BIT = 9,\n\t___GFP_DIRECT_RECLAIM_BIT = 10,\n\t___GFP_KSWAPD_RECLAIM_BIT = 11,\n\t___GFP_WRITE_BIT = 12,\n\t___GFP_NOWARN_BIT = 13,\n\t___GFP_RETRY_MAYFAIL_BIT = 14,\n\t___GFP_NOFAIL_BIT = 15,\n\t___GFP_NORETRY_BIT = 16,\n\t___GFP_MEMALLOC_BIT = 17,\n\t___GFP_COMP_BIT = 18,\n\t___GFP_NOMEMALLOC_BIT = 19,\n\t___GFP_HARDWALL_BIT = 20,\n\t___GFP_THISNODE_BIT = 21,\n\t___GFP_ACCOUNT_BIT = 22,\n\t___GFP_ZEROTAGS_BIT = 23,\n\t___GFP_NO_OBJ_EXT_BIT = 24,\n\t___GFP_LAST_BIT = 25,\n};\n\nenum {\n\t__ctx_convertBPF_PROG_TYPE_SOCKET_FILTER = 0,\n\t__ctx_convertBPF_PROG_TYPE_SCHED_CLS = 1,\n\t__ctx_convertBPF_PROG_TYPE_SCHED_ACT = 2,\n\t__ctx_convertBPF_PROG_TYPE_XDP = 3,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SKB = 4,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCK = 5,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 6,\n\t__ctx_convertBPF_PROG_TYPE_LWT_IN = 7,\n\t__ctx_convertBPF_PROG_TYPE_LWT_OUT = 8,\n\t__ctx_convertBPF_PROG_TYPE_LWT_XMIT = 9,\n\t__ctx_convertBPF_PROG_TYPE_LWT_SEG6LOCAL = 10,\n\t__ctx_convertBPF_PROG_TYPE_SOCK_OPS = 11,\n\t__ctx_convertBPF_PROG_TYPE_SK_SKB = 12,\n\t__ctx_convertBPF_PROG_TYPE_SK_MSG = 13,\n\t__ctx_convertBPF_PROG_TYPE_FLOW_DISSECTOR = 14,\n\t__ctx_convertBPF_PROG_TYPE_KPROBE = 15,\n\t__ctx_convertBPF_PROG_TYPE_TRACEPOINT = 16,\n\t__ctx_convertBPF_PROG_TYPE_PERF_EVENT = 17,\n\t__ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT = 18,\n\t__ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 19,\n\t__ctx_convertBPF_PROG_TYPE_TRACING = 20,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_DEVICE = 21,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SYSCTL = 22,\n\t__ctx_convertBPF_PROG_TYPE_CGROUP_SOCKOPT = 23,\n\t__ctx_convertBPF_PROG_TYPE_SK_REUSEPORT = 24,\n\t__ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 25,\n\t__ctx_convertBPF_PROG_TYPE_SYSCALL = 26,\n\t__ctx_convertBPF_PROG_TYPE_NETFILTER = 27,\n\t__ctx_convert_unused = 28,\n};\n\nenum {\n\tattr_noop = 0,\n\tattr_delayed_allocation_blocks = 1,\n\tattr_session_write_kbytes = 2,\n\tattr_lifetime_write_kbytes = 3,\n\tattr_reserved_clusters = 4,\n\tattr_sra_exceeded_retry_limit = 5,\n\tattr_inode_readahead = 6,\n\tattr_trigger_test_error = 7,\n\tattr_first_error_time = 8,\n\tattr_last_error_time = 9,\n\tattr_clusters_in_group = 10,\n\tattr_mb_order = 11,\n\tattr_feature = 12,\n\tattr_pointer_pi = 13,\n\tattr_pointer_ui = 14,\n\tattr_pointer_ul = 15,\n\tattr_pointer_u64 = 16,\n\tattr_pointer_u8 = 17,\n\tattr_pointer_string = 18,\n\tattr_pointer_atomic = 19,\n\tattr_journal_task = 20,\n};\n\nenum {\n\tblank_off = 0,\n\tblank_normal_wait = 1,\n\tblank_vesa_wait = 2,\n};\n\nenum {\n\tcpuset = 0,\n\tpossible = 1,\n\tfail = 2,\n};\n\nenum {\n\tdns_key_data = 0,\n\tdns_key_error = 1,\n};\n\nenum {\n\tfalse = 0,\n\ttrue = 1,\n};\n\nenum {\n\tmechtype_caddy = 0,\n\tmechtype_tray = 1,\n\tmechtype_popup = 2,\n\tmechtype_individual_changer = 4,\n\tmechtype_cartridge_changer = 5,\n};\n\nenum {\n\tnone = 0,\n\tday = 1,\n\tmonth = 2,\n\tyear = 3,\n};\n\nenum {\n\tpci_channel_io_normal = 1,\n\tpci_channel_io_frozen = 2,\n\tpci_channel_io_perm_failure = 3,\n};\n\nenum {\n\tptr_explicit = 0,\n\tptr_ext4_sb_info_offset = 1,\n\tptr_ext4_super_block_offset = 2,\n};\n\ntypedef enum {\n\tBIT_DStream_unfinished = 0,\n\tBIT_DStream_endOfBuffer = 1,\n\tBIT_DStream_completed = 2,\n\tBIT_DStream_overflow = 3,\n} BIT_DStream_status;\n\ntypedef enum {\n\tEfiPciIoWidthUint8 = 0,\n\tEfiPciIoWidthUint16 = 1,\n\tEfiPciIoWidthUint32 = 2,\n\tEfiPciIoWidthUint64 = 3,\n\tEfiPciIoWidthFifoUint8 = 4,\n\tEfiPciIoWidthFifoUint16 = 5,\n\tEfiPciIoWidthFifoUint32 = 6,\n\tEfiPciIoWidthFifoUint64 = 7,\n\tEfiPciIoWidthFillUint8 = 8,\n\tEfiPciIoWidthFillUint16 = 9,\n\tEfiPciIoWidthFillUint32 = 10,\n\tEfiPciIoWidthFillUint64 = 11,\n\tEfiPciIoWidthMaximum = 12,\n} EFI_PCI_IO_PROTOCOL_WIDTH;\n\ntypedef enum {\n\tEfiTimerCancel = 0,\n\tEfiTimerPeriodic = 1,\n\tEfiTimerRelative = 2,\n} EFI_TIMER_DELAY;\n\ntypedef enum {\n\tZSTD_error_no_error = 0,\n\tZSTD_error_GENERIC = 1,\n\tZSTD_error_prefix_unknown = 10,\n\tZSTD_error_version_unsupported = 12,\n\tZSTD_error_frameParameter_unsupported = 14,\n\tZSTD_error_frameParameter_windowTooLarge = 16,\n\tZSTD_error_corruption_detected = 20,\n\tZSTD_error_checksum_wrong = 22,\n\tZSTD_error_dictionary_corrupted = 30,\n\tZSTD_error_dictionary_wrong = 32,\n\tZSTD_error_dictionaryCreation_failed = 34,\n\tZSTD_error_parameter_unsupported = 40,\n\tZSTD_error_parameter_outOfBound = 42,\n\tZSTD_error_tableLog_tooLarge = 44,\n\tZSTD_error_maxSymbolValue_tooLarge = 46,\n\tZSTD_error_maxSymbolValue_tooSmall = 48,\n\tZSTD_error_stage_wrong = 60,\n\tZSTD_error_init_missing = 62,\n\tZSTD_error_memory_allocation = 64,\n\tZSTD_error_workSpace_tooSmall = 66,\n\tZSTD_error_dstSize_tooSmall = 70,\n\tZSTD_error_srcSize_wrong = 72,\n\tZSTD_error_dstBuffer_null = 74,\n\tZSTD_error_frameIndex_tooLarge = 100,\n\tZSTD_error_seekableIO = 102,\n\tZSTD_error_dstBuffer_wrong = 104,\n\tZSTD_error_srcBuffer_wrong = 105,\n\tZSTD_error_maxCode = 120,\n} ZSTD_ErrorCode;\n\ntypedef ZSTD_ErrorCode ERR_enum;\n\ntypedef enum {\n\tFSE_repeat_none = 0,\n\tFSE_repeat_check = 1,\n\tFSE_repeat_valid = 2,\n} FSE_repeat;\n\ntypedef enum {\n\ttrustInput = 0,\n\tcheckMaxSymbolValue = 1,\n} HIST_checkInput_e;\n\ntypedef enum {\n\tHUF_singleStream = 0,\n\tHUF_fourStreams = 1,\n} HUF_nbStreams_e;\n\ntypedef enum {\n\tHUF_repeat_none = 0,\n\tHUF_repeat_check = 1,\n\tHUF_repeat_valid = 2,\n} HUF_repeat;\n\ntypedef enum {\n\tZSTD_e_continue = 0,\n\tZSTD_e_flush = 1,\n\tZSTD_e_end = 2,\n} ZSTD_EndDirective;\n\ntypedef enum {\n\tzop_dynamic = 0,\n\tzop_predef = 1,\n} ZSTD_OptPrice_e;\n\ntypedef enum {\n\tZSTD_reset_session_only = 1,\n\tZSTD_reset_parameters = 2,\n\tZSTD_reset_session_and_parameters = 3,\n} ZSTD_ResetDirective;\n\ntypedef enum {\n\tZSTD_bm_buffered = 0,\n\tZSTD_bm_stable = 1,\n} ZSTD_bufferMode_e;\n\ntypedef enum {\n\tZSTDb_not_buffered = 0,\n\tZSTDb_buffered = 1,\n} ZSTD_buffered_policy_e;\n\ntypedef enum {\n\tZSTD_cpm_noAttachDict = 0,\n\tZSTD_cpm_attachDict = 1,\n\tZSTD_cpm_createCDict = 2,\n\tZSTD_cpm_unknown = 3,\n} ZSTD_cParamMode_e;\n\ntypedef enum {\n\tZSTD_c_compressionLevel = 100,\n\tZSTD_c_windowLog = 101,\n\tZSTD_c_hashLog = 102,\n\tZSTD_c_chainLog = 103,\n\tZSTD_c_searchLog = 104,\n\tZSTD_c_minMatch = 105,\n\tZSTD_c_targetLength = 106,\n\tZSTD_c_strategy = 107,\n\tZSTD_c_enableLongDistanceMatching = 160,\n\tZSTD_c_ldmHashLog = 161,\n\tZSTD_c_ldmMinMatch = 162,\n\tZSTD_c_ldmBucketSizeLog = 163,\n\tZSTD_c_ldmHashRateLog = 164,\n\tZSTD_c_contentSizeFlag = 200,\n\tZSTD_c_checksumFlag = 201,\n\tZSTD_c_dictIDFlag = 202,\n\tZSTD_c_nbWorkers = 400,\n\tZSTD_c_jobSize = 401,\n\tZSTD_c_overlapLog = 402,\n\tZSTD_c_experimentalParam1 = 500,\n\tZSTD_c_experimentalParam2 = 10,\n\tZSTD_c_experimentalParam3 = 1000,\n\tZSTD_c_experimentalParam4 = 1001,\n\tZSTD_c_experimentalParam5 = 1002,\n\tZSTD_c_experimentalParam6 = 1003,\n\tZSTD_c_experimentalParam7 = 1004,\n\tZSTD_c_experimentalParam8 = 1005,\n\tZSTD_c_experimentalParam9 = 1006,\n\tZSTD_c_experimentalParam10 = 1007,\n\tZSTD_c_experimentalParam11 = 1008,\n\tZSTD_c_experimentalParam12 = 1009,\n\tZSTD_c_experimentalParam13 = 1010,\n\tZSTD_c_experimentalParam14 = 1011,\n\tZSTD_c_experimentalParam15 = 1012,\n} ZSTD_cParameter;\n\ntypedef enum {\n\tzcss_init = 0,\n\tzcss_load = 1,\n\tzcss_flush = 2,\n} ZSTD_cStreamStage;\n\ntypedef enum {\n\tZSTDcrp_makeClean = 0,\n\tZSTDcrp_leaveDirty = 1,\n} ZSTD_compResetPolicy_e;\n\ntypedef enum {\n\tZSTDcs_created = 0,\n\tZSTDcs_init = 1,\n\tZSTDcs_ongoing = 2,\n\tZSTDcs_ending = 3,\n} ZSTD_compressionStage_e;\n\ntypedef enum {\n\tZSTD_cwksp_alloc_objects = 0,\n\tZSTD_cwksp_alloc_buffers = 1,\n\tZSTD_cwksp_alloc_aligned = 2,\n} ZSTD_cwksp_alloc_phase_e;\n\ntypedef enum {\n\tZSTD_cwksp_dynamic_alloc = 0,\n\tZSTD_cwksp_static_alloc = 1,\n} ZSTD_cwksp_static_alloc_e;\n\ntypedef enum {\n\tZSTD_d_windowLogMax = 100,\n\tZSTD_d_experimentalParam1 = 1000,\n\tZSTD_d_experimentalParam2 = 1001,\n\tZSTD_d_experimentalParam3 = 1002,\n\tZSTD_d_experimentalParam4 = 1003,\n} ZSTD_dParameter;\n\ntypedef enum {\n\tZSTDds_getFrameHeaderSize = 0,\n\tZSTDds_decodeFrameHeader = 1,\n\tZSTDds_decodeBlockHeader = 2,\n\tZSTDds_decompressBlock = 3,\n\tZSTDds_decompressLastBlock = 4,\n\tZSTDds_checkChecksum = 5,\n\tZSTDds_decodeSkippableHeader = 6,\n\tZSTDds_skipFrame = 7,\n} ZSTD_dStage;\n\ntypedef enum {\n\tzdss_init = 0,\n\tzdss_loadHeader = 1,\n\tzdss_read = 2,\n\tzdss_load = 3,\n\tzdss_flush = 4,\n} ZSTD_dStreamStage;\n\ntypedef enum {\n\tZSTD_defaultDisallowed = 0,\n\tZSTD_defaultAllowed = 1,\n} ZSTD_defaultPolicy_e;\n\ntypedef enum {\n\tZSTD_dictDefaultAttach = 0,\n\tZSTD_dictForceAttach = 1,\n\tZSTD_dictForceCopy = 2,\n\tZSTD_dictForceLoad = 3,\n} ZSTD_dictAttachPref_e;\n\ntypedef enum {\n\tZSTD_dct_auto = 0,\n\tZSTD_dct_rawContent = 1,\n\tZSTD_dct_fullDict = 2,\n} ZSTD_dictContentType_e;\n\ntypedef enum {\n\tZSTD_dlm_byCopy = 0,\n\tZSTD_dlm_byRef = 1,\n} ZSTD_dictLoadMethod_e;\n\ntypedef enum {\n\tZSTD_noDict = 0,\n\tZSTD_extDict = 1,\n\tZSTD_dictMatchState = 2,\n\tZSTD_dedicatedDictSearch = 3,\n} ZSTD_dictMode_e;\n\ntypedef enum {\n\tZSTD_dtlm_fast = 0,\n\tZSTD_dtlm_full = 1,\n} ZSTD_dictTableLoadMethod_e;\n\ntypedef enum {\n\tZSTD_use_indefinitely = -1,\n\tZSTD_dont_use = 0,\n\tZSTD_use_once = 1,\n} ZSTD_dictUses_e;\n\ntypedef enum {\n\tZSTD_d_validateChecksum = 0,\n\tZSTD_d_ignoreChecksum = 1,\n} ZSTD_forceIgnoreChecksum_e;\n\ntypedef enum {\n\tZSTD_f_zstd1 = 0,\n\tZSTD_f_zstd1_magicless = 1,\n} ZSTD_format_e;\n\ntypedef enum {\n\tZSTD_frame = 0,\n\tZSTD_skippableFrame = 1,\n} ZSTD_frameType_e;\n\ntypedef enum {\n\tZSTDirp_continue = 0,\n\tZSTDirp_reset = 1,\n} ZSTD_indexResetPolicy_e;\n\ntypedef enum {\n\tZSTD_not_in_dst = 0,\n\tZSTD_in_dst = 1,\n\tZSTD_split = 2,\n} ZSTD_litLocation_e;\n\ntypedef enum {\n\tZSTD_llt_none = 0,\n\tZSTD_llt_literalLength = 1,\n\tZSTD_llt_matchLength = 2,\n} ZSTD_longLengthType_e;\n\ntypedef enum {\n\tZSTD_lo_isRegularOffset = 0,\n\tZSTD_lo_isLongOffset = 1,\n} ZSTD_longOffset_e;\n\ntypedef enum {\n\tZSTDnit_frameHeader = 0,\n\tZSTDnit_blockHeader = 1,\n\tZSTDnit_block = 2,\n\tZSTDnit_lastBlock = 3,\n\tZSTDnit_checksum = 4,\n\tZSTDnit_skippableFrame = 5,\n} ZSTD_nextInputType_e;\n\ntypedef enum {\n\tZSTD_no_overlap = 0,\n\tZSTD_overlap_src_before_dst = 1,\n} ZSTD_overlap_e;\n\ntypedef enum {\n\tZSTD_ps_auto = 0,\n\tZSTD_ps_enable = 1,\n\tZSTD_ps_disable = 2,\n} ZSTD_paramSwitch_e;\n\ntypedef enum {\n\tZSTD_rmd_refSingleDDict = 0,\n\tZSTD_rmd_refMultipleDDicts = 1,\n} ZSTD_refMultipleDDicts_e;\n\ntypedef enum {\n\tZSTD_resetTarget_CDict = 0,\n\tZSTD_resetTarget_CCtx = 1,\n} ZSTD_resetTarget_e;\n\ntypedef enum {\n\tZSTD_sf_noBlockDelimiters = 0,\n\tZSTD_sf_explicitBlockDelimiters = 1,\n} ZSTD_sequenceFormat_e;\n\ntypedef enum {\n\tZSTD_fast = 1,\n\tZSTD_dfast = 2,\n\tZSTD_greedy = 3,\n\tZSTD_lazy = 4,\n\tZSTD_lazy2 = 5,\n\tZSTD_btlazy2 = 6,\n\tZSTD_btopt = 7,\n\tZSTD_btultra = 8,\n\tZSTD_btultra2 = 9,\n} ZSTD_strategy;\n\ntypedef enum {\n\tOSL_GLOBAL_LOCK_HANDLER = 0,\n\tOSL_NOTIFY_HANDLER = 1,\n\tOSL_GPE_HANDLER = 2,\n\tOSL_DEBUGGER_MAIN_THREAD = 3,\n\tOSL_DEBUGGER_EXEC_THREAD = 4,\n\tOSL_EC_POLL_HANDLER = 5,\n\tOSL_EC_BURST_HANDLER = 6,\n} acpi_execute_type;\n\ntypedef enum {\n\tACPI_IMODE_LOAD_PASS1 = 1,\n\tACPI_IMODE_LOAD_PASS2 = 2,\n\tACPI_IMODE_EXECUTE = 3,\n} acpi_interpreter_mode;\n\ntypedef enum {\n\tACPI_TRACE_AML_METHOD = 0,\n\tACPI_TRACE_AML_OPCODE = 1,\n\tACPI_TRACE_AML_REGION = 2,\n} acpi_trace_event_type;\n\ntypedef enum {\n\tbt_raw = 0,\n\tbt_rle = 1,\n\tbt_compressed = 2,\n\tbt_reserved = 3,\n} blockType_e;\n\ntypedef enum {\n\tCODES = 0,\n\tLENS = 1,\n\tDISTS = 2,\n} codetype;\n\ntypedef enum {\n\tFILE_MEMORY_MIGRATE = 0,\n\tFILE_CPULIST = 1,\n\tFILE_MEMLIST = 2,\n\tFILE_EFFECTIVE_CPULIST = 3,\n\tFILE_EFFECTIVE_MEMLIST = 4,\n\tFILE_SUBPARTS_CPULIST = 5,\n\tFILE_EXCLUSIVE_CPULIST = 6,\n\tFILE_EFFECTIVE_XCPULIST = 7,\n\tFILE_ISOLATED_CPULIST = 8,\n\tFILE_CPU_EXCLUSIVE = 9,\n\tFILE_MEM_EXCLUSIVE = 10,\n\tFILE_MEM_HARDWALL = 11,\n\tFILE_SCHED_LOAD_BALANCE = 12,\n\tFILE_PARTITION_ROOT = 13,\n\tFILE_SCHED_RELAX_DOMAIN_LEVEL = 14,\n\tFILE_MEMORY_PRESSURE_ENABLED = 15,\n\tFILE_MEMORY_PRESSURE = 16,\n\tFILE_SPREAD_PAGE = 17,\n\tFILE_SPREAD_SLAB = 18,\n} cpuset_filetype_t;\n\ntypedef enum {\n\tCS_ONLINE = 0,\n\tCS_CPU_EXCLUSIVE = 1,\n\tCS_MEM_EXCLUSIVE = 2,\n\tCS_MEM_HARDWALL = 3,\n\tCS_MEMORY_MIGRATE = 4,\n\tCS_SCHED_LOAD_BALANCE = 5,\n\tCS_SPREAD_PAGE = 6,\n\tCS_SPREAD_SLAB = 7,\n} cpuset_flagbits_t;\n\ntypedef enum {\n\tnoDict = 0,\n\twithPrefix64k = 1,\n\tusingExtDict = 2,\n} dict_directive;\n\ntypedef enum {\n\tEITHER = 0,\n\tINDEX = 1,\n\tDIRENT = 2,\n\tDIRENT_HTREE = 3,\n} dirblock_type_t;\n\ntypedef enum {\n\tdecode_full_block = 0,\n\tpartial_decode = 1,\n} earlyEnd_directive;\n\ntypedef enum {\n\tendOnOutputSize = 0,\n\tendOnInputSize = 1,\n} endCondition_directive;\n\ntypedef enum {\n\tEXT4_IGET_NORMAL = 0,\n\tEXT4_IGET_SPECIAL = 1,\n\tEXT4_IGET_HANDLE = 2,\n\tEXT4_IGET_BAD = 4,\n\tEXT4_IGET_EA_INODE = 8,\n} ext4_iget_flags;\n\ntypedef enum {\n\tFL_READY = 0,\n\tFL_STATUS = 1,\n\tFL_CFI_QUERY = 2,\n\tFL_JEDEC_QUERY = 3,\n\tFL_ERASING = 4,\n\tFL_ERASE_SUSPENDING = 5,\n\tFL_ERASE_SUSPENDED = 6,\n\tFL_WRITING = 7,\n\tFL_WRITING_TO_BUFFER = 8,\n\tFL_OTP_WRITE = 9,\n\tFL_WRITE_SUSPENDING = 10,\n\tFL_WRITE_SUSPENDED = 11,\n\tFL_PM_SUSPENDED = 12,\n\tFL_SYNCING = 13,\n\tFL_UNLOADING = 14,\n\tFL_LOCKING = 15,\n\tFL_UNLOCKING = 16,\n\tFL_POINT = 17,\n\tFL_XIP_WHILE_ERASING = 18,\n\tFL_XIP_WHILE_WRITING = 19,\n\tFL_SHUTDOWN = 20,\n\tFL_READING = 21,\n\tFL_CACHEDPRG = 22,\n\tFL_RESETTING = 23,\n\tFL_OTPING = 24,\n\tFL_PREPARING_ERASE = 25,\n\tFL_VERIFYING_ERASE = 26,\n\tFL_UNKNOWN = 27,\n} flstate_t;\n\ntypedef enum {\n\tHEAD = 0,\n\tFLAGS = 1,\n\tTIME = 2,\n\tOS = 3,\n\tEXLEN = 4,\n\tEXTRA = 5,\n\tNAME = 6,\n\tCOMMENT = 7,\n\tHCRC = 8,\n\tDICTID = 9,\n\tDICT = 10,\n\tTYPE = 11,\n\tTYPEDO = 12,\n\tSTORED = 13,\n\tCOPY = 14,\n\tTABLE = 15,\n\tLENLENS = 16,\n\tCODELENS = 17,\n\tLEN = 18,\n\tLENEXT = 19,\n\tDIST = 20,\n\tDISTEXT = 21,\n\tMATCH = 22,\n\tLIT = 23,\n\tCHECK = 24,\n\tLENGTH = 25,\n\tDONE = 26,\n\tBAD = 27,\n\tMEM = 28,\n\tSYNC = 29,\n} inflate_mode;\n\ntypedef enum {\n\tISOLATE_ABORT = 0,\n\tISOLATE_NONE = 1,\n\tISOLATE_SUCCESS = 2,\n} isolate_migrate_t;\n\ntypedef enum {\n\tMAP_CHG_REUSE = 0,\n\tMAP_CHG_NEEDED = 1,\n\tMAP_CHG_ENFORCED = 2,\n} map_chg_state;\n\ntypedef enum {\n\tPAGE_KEEP = 0,\n\tPAGE_ACTIVATE = 1,\n\tPAGE_SUCCESS = 2,\n\tPAGE_CLEAN = 3,\n} pageout_t;\n\ntypedef enum {\n\tPHY_INTERFACE_MODE_NA = 0,\n\tPHY_INTERFACE_MODE_INTERNAL = 1,\n\tPHY_INTERFACE_MODE_MII = 2,\n\tPHY_INTERFACE_MODE_GMII = 3,\n\tPHY_INTERFACE_MODE_SGMII = 4,\n\tPHY_INTERFACE_MODE_TBI = 5,\n\tPHY_INTERFACE_MODE_REVMII = 6,\n\tPHY_INTERFACE_MODE_RMII = 7,\n\tPHY_INTERFACE_MODE_REVRMII = 8,\n\tPHY_INTERFACE_MODE_RGMII = 9,\n\tPHY_INTERFACE_MODE_RGMII_ID = 10,\n\tPHY_INTERFACE_MODE_RGMII_RXID = 11,\n\tPHY_INTERFACE_MODE_RGMII_TXID = 12,\n\tPHY_INTERFACE_MODE_RTBI = 13,\n\tPHY_INTERFACE_MODE_SMII = 14,\n\tPHY_INTERFACE_MODE_XGMII = 15,\n\tPHY_INTERFACE_MODE_XLGMII = 16,\n\tPHY_INTERFACE_MODE_MOCA = 17,\n\tPHY_INTERFACE_MODE_PSGMII = 18,\n\tPHY_INTERFACE_MODE_QSGMII = 19,\n\tPHY_INTERFACE_MODE_TRGMII = 20,\n\tPHY_INTERFACE_MODE_100BASEX = 21,\n\tPHY_INTERFACE_MODE_1000BASEX = 22,\n\tPHY_INTERFACE_MODE_2500BASEX = 23,\n\tPHY_INTERFACE_MODE_5GBASER = 24,\n\tPHY_INTERFACE_MODE_RXAUI = 25,\n\tPHY_INTERFACE_MODE_XAUI = 26,\n\tPHY_INTERFACE_MODE_10GBASER = 27,\n\tPHY_INTERFACE_MODE_25GBASER = 28,\n\tPHY_INTERFACE_MODE_USXGMII = 29,\n\tPHY_INTERFACE_MODE_10GKR = 30,\n\tPHY_INTERFACE_MODE_QUSGMII = 31,\n\tPHY_INTERFACE_MODE_1000BASEKX = 32,\n\tPHY_INTERFACE_MODE_10G_QXGMII = 33,\n\tPHY_INTERFACE_MODE_MAX = 34,\n} phy_interface_t;\n\ntypedef enum {\n\tPSMOUSE_BAD_DATA = 0,\n\tPSMOUSE_GOOD_DATA = 1,\n\tPSMOUSE_FULL_PACKET = 2,\n} psmouse_ret_t;\n\ntypedef enum {\n\tsearch_hashChain = 0,\n\tsearch_binaryTree = 1,\n\tsearch_rowHash = 2,\n} searchMethod_e;\n\ntypedef enum {\n\tSS_FREE = 0,\n\tSS_UNCONNECTED = 1,\n\tSS_CONNECTING = 2,\n\tSS_CONNECTED = 3,\n\tSS_DISCONNECTING = 4,\n} socket_state;\n\ntypedef enum {\n\tnot_streaming = 0,\n\tis_streaming = 1,\n} streaming_operation;\n\ntypedef enum {\n\tset_basic = 0,\n\tset_rle = 1,\n\tset_compressed = 2,\n\tset_repeat = 3,\n} symbolEncodingType_e;\n\ntypedef ZSTD_ErrorCode zstd_error_code;\n\nenum CSI_J {\n\tCSI_J_CURSOR_TO_END = 0,\n\tCSI_J_START_TO_CURSOR = 1,\n\tCSI_J_VISIBLE = 2,\n\tCSI_J_FULL = 3,\n};\n\nenum CSI_right_square_bracket {\n\tCSI_RSB_COLOR_FOR_UNDERLINE = 1,\n\tCSI_RSB_COLOR_FOR_HALF_BRIGHT = 2,\n\tCSI_RSB_MAKE_CUR_COLOR_DEFAULT = 8,\n\tCSI_RSB_BLANKING_INTERVAL = 9,\n\tCSI_RSB_BELL_FREQUENCY = 10,\n\tCSI_RSB_BELL_DURATION = 11,\n\tCSI_RSB_BRING_CONSOLE_TO_FRONT = 12,\n\tCSI_RSB_UNBLANK = 13,\n\tCSI_RSB_VESA_OFF_INTERVAL = 14,\n\tCSI_RSB_BRING_PREV_CONSOLE_TO_FRONT = 15,\n\tCSI_RSB_CURSOR_BLINK_INTERVAL = 16,\n};\n\nenum CV1800B_POWER_DOMAIN {\n\tVDD18A_AUD = 0,\n\tVDD18A_USB_PLL_ETH_CSI = 1,\n\tVDD33A_ETH_USB_SD1 = 2,\n\tVDDIO_RTC = 3,\n\tVDDIO_SD0_SPI = 4,\n};\n\nenum CV1812H_POWER_DOMAIN {\n\tVDD18A_EPHY = 0,\n\tVDD18A_MIPI = 1,\n\tVDDIO18_1 = 2,\n\tVDDIO_EMMC = 3,\n\tVDDIO_RTC___2 = 4,\n\tVDDIO_SD0 = 5,\n\tVDDIO_SD1 = 6,\n\tVDDIO_VIVO = 7,\n};\n\nenum KTHREAD_BITS {\n\tKTHREAD_IS_PER_CPU = 0,\n\tKTHREAD_SHOULD_STOP = 1,\n\tKTHREAD_SHOULD_PARK = 2,\n};\n\nenum KVM_RISCV_SBI_EXT_ID {\n\tKVM_RISCV_SBI_EXT_V01 = 0,\n\tKVM_RISCV_SBI_EXT_TIME = 1,\n\tKVM_RISCV_SBI_EXT_IPI = 2,\n\tKVM_RISCV_SBI_EXT_RFENCE = 3,\n\tKVM_RISCV_SBI_EXT_SRST = 4,\n\tKVM_RISCV_SBI_EXT_HSM = 5,\n\tKVM_RISCV_SBI_EXT_PMU = 6,\n\tKVM_RISCV_SBI_EXT_EXPERIMENTAL = 7,\n\tKVM_RISCV_SBI_EXT_VENDOR = 8,\n\tKVM_RISCV_SBI_EXT_DBCN = 9,\n\tKVM_RISCV_SBI_EXT_STA = 10,\n\tKVM_RISCV_SBI_EXT_SUSP = 11,\n\tKVM_RISCV_SBI_EXT_MAX = 12,\n};\n\nenum OID {\n\tOID_id_dsa_with_sha1 = 0,\n\tOID_id_dsa = 1,\n\tOID_id_ecPublicKey = 2,\n\tOID_id_prime192v1 = 3,\n\tOID_id_prime256v1 = 4,\n\tOID_id_ecdsa_with_sha1 = 5,\n\tOID_id_ecdsa_with_sha224 = 6,\n\tOID_id_ecdsa_with_sha256 = 7,\n\tOID_id_ecdsa_with_sha384 = 8,\n\tOID_id_ecdsa_with_sha512 = 9,\n\tOID_rsaEncryption = 10,\n\tOID_sha1WithRSAEncryption = 11,\n\tOID_sha256WithRSAEncryption = 12,\n\tOID_sha384WithRSAEncryption = 13,\n\tOID_sha512WithRSAEncryption = 14,\n\tOID_sha224WithRSAEncryption = 15,\n\tOID_data = 16,\n\tOID_signed_data = 17,\n\tOID_email_address = 18,\n\tOID_contentType = 19,\n\tOID_messageDigest = 20,\n\tOID_signingTime = 21,\n\tOID_smimeCapabilites = 22,\n\tOID_smimeAuthenticatedAttrs = 23,\n\tOID_mskrb5 = 24,\n\tOID_krb5 = 25,\n\tOID_krb5u2u = 26,\n\tOID_msIndirectData = 27,\n\tOID_msStatementType = 28,\n\tOID_msSpOpusInfo = 29,\n\tOID_msPeImageDataObjId = 30,\n\tOID_msIndividualSPKeyPurpose = 31,\n\tOID_msOutlookExpress = 32,\n\tOID_ntlmssp = 33,\n\tOID_negoex = 34,\n\tOID_spnego = 35,\n\tOID_IAKerb = 36,\n\tOID_PKU2U = 37,\n\tOID_Scram = 38,\n\tOID_certAuthInfoAccess = 39,\n\tOID_sha1 = 40,\n\tOID_id_ansip384r1 = 41,\n\tOID_id_ansip521r1 = 42,\n\tOID_sha256 = 43,\n\tOID_sha384 = 44,\n\tOID_sha512 = 45,\n\tOID_sha224 = 46,\n\tOID_commonName = 47,\n\tOID_surname = 48,\n\tOID_countryName = 49,\n\tOID_locality = 50,\n\tOID_stateOrProvinceName = 51,\n\tOID_organizationName = 52,\n\tOID_organizationUnitName = 53,\n\tOID_title = 54,\n\tOID_description = 55,\n\tOID_name = 56,\n\tOID_givenName = 57,\n\tOID_initials = 58,\n\tOID_generationalQualifier = 59,\n\tOID_subjectKeyIdentifier = 60,\n\tOID_keyUsage = 61,\n\tOID_subjectAltName = 62,\n\tOID_issuerAltName = 63,\n\tOID_basicConstraints = 64,\n\tOID_crlDistributionPoints = 65,\n\tOID_certPolicies = 66,\n\tOID_authorityKeyIdentifier = 67,\n\tOID_extKeyUsage = 68,\n\tOID_NetlogonMechanism = 69,\n\tOID_appleLocalKdcSupported = 70,\n\tOID_gostCPSignA = 71,\n\tOID_gostCPSignB = 72,\n\tOID_gostCPSignC = 73,\n\tOID_gost2012PKey256 = 74,\n\tOID_gost2012PKey512 = 75,\n\tOID_gost2012Digest256 = 76,\n\tOID_gost2012Digest512 = 77,\n\tOID_gost2012Signature256 = 78,\n\tOID_gost2012Signature512 = 79,\n\tOID_gostTC26Sign256A = 80,\n\tOID_gostTC26Sign256B = 81,\n\tOID_gostTC26Sign256C = 82,\n\tOID_gostTC26Sign256D = 83,\n\tOID_gostTC26Sign512A = 84,\n\tOID_gostTC26Sign512B = 85,\n\tOID_gostTC26Sign512C = 86,\n\tOID_sm2 = 87,\n\tOID_sm3 = 88,\n\tOID_SM2_with_SM3 = 89,\n\tOID_sm3WithRSAEncryption = 90,\n\tOID_TPMLoadableKey = 91,\n\tOID_TPMImportableKey = 92,\n\tOID_TPMSealedData = 93,\n\tOID_sha3_256 = 94,\n\tOID_sha3_384 = 95,\n\tOID_sha3_512 = 96,\n\tOID_id_ecdsa_with_sha3_256 = 97,\n\tOID_id_ecdsa_with_sha3_384 = 98,\n\tOID_id_ecdsa_with_sha3_512 = 99,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_256 = 100,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_384 = 101,\n\tOID_id_rsassa_pkcs1_v1_5_with_sha3_512 = 102,\n\tOID__NR = 103,\n};\n\nenum SG2000_POWER_DOMAIN {\n\tVDD18A_EPHY___2 = 0,\n\tVDD18A_MIPI___2 = 1,\n\tVDDIO18_1___2 = 2,\n\tVDDIO_EMMC___2 = 3,\n\tVDDIO_RTC___3 = 4,\n\tVDDIO_SD0___2 = 5,\n\tVDDIO_SD1___2 = 6,\n\tVDDIO_VIVO___2 = 7,\n};\n\nenum SG2002_POWER_DOMAIN {\n\tVDD18A_MIPI___3 = 0,\n\tVDD18A_USB_PLL_ETH = 1,\n\tVDDIO_RTC___4 = 2,\n\tVDDIO_SD0_EMMC = 3,\n\tVDDIO_SD1___3 = 4,\n};\n\nenum SHIFT_DIRECTION {\n\tSHIFT_LEFT = 0,\n\tSHIFT_RIGHT = 1,\n};\n\nenum SS4_PACKET_ID {\n\tSS4_PACKET_ID_IDLE = 0,\n\tSS4_PACKET_ID_ONE = 1,\n\tSS4_PACKET_ID_TWO = 2,\n\tSS4_PACKET_ID_MULTI = 3,\n\tSS4_PACKET_ID_STICK = 4,\n};\n\nenum UART_TX_FLAGS {\n\tUART_TX_NOSTOP = 1,\n};\n\nenum V7_PACKET_ID {\n\tV7_PACKET_ID_IDLE = 0,\n\tV7_PACKET_ID_TWO = 1,\n\tV7_PACKET_ID_MULTI = 2,\n\tV7_PACKET_ID_NEW = 3,\n\tV7_PACKET_ID_UNKNOWN = 4,\n};\n\nenum __sk_action {\n\t__SK_DROP = 0,\n\t__SK_PASS = 1,\n\t__SK_REDIRECT = 2,\n\t__SK_NONE = 3,\n};\n\nenum _slab_flag_bits {\n\t_SLAB_CONSISTENCY_CHECKS = 0,\n\t_SLAB_RED_ZONE = 1,\n\t_SLAB_POISON = 2,\n\t_SLAB_KMALLOC = 3,\n\t_SLAB_HWCACHE_ALIGN = 4,\n\t_SLAB_CACHE_DMA = 5,\n\t_SLAB_CACHE_DMA32 = 6,\n\t_SLAB_STORE_USER = 7,\n\t_SLAB_PANIC = 8,\n\t_SLAB_TYPESAFE_BY_RCU = 9,\n\t_SLAB_TRACE = 10,\n\t_SLAB_NOLEAKTRACE = 11,\n\t_SLAB_NO_MERGE = 12,\n\t_SLAB_ACCOUNT = 13,\n\t_SLAB_NO_USER_FLAGS = 14,\n\t_SLAB_RECLAIM_ACCOUNT = 15,\n\t_SLAB_OBJECT_POISON = 16,\n\t_SLAB_CMPXCHG_DOUBLE = 17,\n\t_SLAB_NO_OBJ_EXT = 18,\n\t_SLAB_FLAGS_LAST_BIT = 19,\n};\n\nenum aa_code {\n\tAA_U8 = 0,\n\tAA_U16 = 1,\n\tAA_U32 = 2,\n\tAA_U64 = 3,\n\tAA_NAME = 4,\n\tAA_STRING = 5,\n\tAA_BLOB = 6,\n\tAA_STRUCT = 7,\n\tAA_STRUCTEND = 8,\n\tAA_LIST = 9,\n\tAA_LISTEND = 10,\n\tAA_ARRAY = 11,\n\tAA_ARRAYEND = 12,\n};\n\nenum aa_sfs_type {\n\tAA_SFS_TYPE_BOOLEAN = 0,\n\tAA_SFS_TYPE_STRING = 1,\n\tAA_SFS_TYPE_U64 = 2,\n\tAA_SFS_TYPE_FOPS = 3,\n\tAA_SFS_TYPE_DIR = 4,\n};\n\nenum aafs_ns_type {\n\tAAFS_NS_DIR = 0,\n\tAAFS_NS_PROFS = 1,\n\tAAFS_NS_NS = 2,\n\tAAFS_NS_RAW_DATA = 3,\n\tAAFS_NS_LOAD = 4,\n\tAAFS_NS_REPLACE = 5,\n\tAAFS_NS_REMOVE = 6,\n\tAAFS_NS_REVISION = 7,\n\tAAFS_NS_COUNT = 8,\n\tAAFS_NS_MAX_COUNT = 9,\n\tAAFS_NS_SIZE = 10,\n\tAAFS_NS_MAX_SIZE = 11,\n\tAAFS_NS_OWNER = 12,\n\tAAFS_NS_SIZEOF = 13,\n};\n\nenum aafs_prof_type {\n\tAAFS_PROF_DIR = 0,\n\tAAFS_PROF_PROFS = 1,\n\tAAFS_PROF_NAME = 2,\n\tAAFS_PROF_MODE = 3,\n\tAAFS_PROF_ATTACH = 4,\n\tAAFS_PROF_HASH = 5,\n\tAAFS_PROF_RAW_DATA = 6,\n\tAAFS_PROF_RAW_HASH = 7,\n\tAAFS_PROF_RAW_ABI = 8,\n\tAAFS_PROF_SIZEOF = 9,\n};\n\nenum acpi_attr_enum {\n\tACPI_ATTR_LABEL_SHOW = 0,\n\tACPI_ATTR_INDEX_SHOW = 1,\n};\n\nenum acpi_bridge_type {\n\tACPI_BRIDGE_TYPE_PCIE = 1,\n\tACPI_BRIDGE_TYPE_CXL = 2,\n};\n\nenum acpi_bus_device_type {\n\tACPI_BUS_TYPE_DEVICE = 0,\n\tACPI_BUS_TYPE_POWER = 1,\n\tACPI_BUS_TYPE_PROCESSOR = 2,\n\tACPI_BUS_TYPE_THERMAL = 3,\n\tACPI_BUS_TYPE_POWER_BUTTON = 4,\n\tACPI_BUS_TYPE_SLEEP_BUTTON = 5,\n\tACPI_BUS_TYPE_ECDT_EC = 6,\n\tACPI_BUS_DEVICE_TYPE_COUNT = 7,\n};\n\nenum acpi_cdat_type {\n\tACPI_CDAT_TYPE_DSMAS = 0,\n\tACPI_CDAT_TYPE_DSLBIS = 1,\n\tACPI_CDAT_TYPE_DSMSCIS = 2,\n\tACPI_CDAT_TYPE_DSIS = 3,\n\tACPI_CDAT_TYPE_DSEMTS = 4,\n\tACPI_CDAT_TYPE_SSLBIS = 5,\n\tACPI_CDAT_TYPE_RESERVED = 6,\n};\n\nenum acpi_cedt_type {\n\tACPI_CEDT_TYPE_CHBS = 0,\n\tACPI_CEDT_TYPE_CFMWS = 1,\n\tACPI_CEDT_TYPE_CXIMS = 2,\n\tACPI_CEDT_TYPE_RDPAS = 3,\n\tACPI_CEDT_TYPE_RESERVED = 4,\n};\n\nenum acpi_device_swnode_dev_props {\n\tACPI_DEVICE_SWNODE_DEV_ROTATION = 0,\n\tACPI_DEVICE_SWNODE_DEV_CLOCK_FREQUENCY = 1,\n\tACPI_DEVICE_SWNODE_DEV_LED_MAX_MICROAMP = 2,\n\tACPI_DEVICE_SWNODE_DEV_FLASH_MAX_MICROAMP = 3,\n\tACPI_DEVICE_SWNODE_DEV_FLASH_MAX_TIMEOUT_US = 4,\n\tACPI_DEVICE_SWNODE_DEV_NUM_OF = 5,\n\tACPI_DEVICE_SWNODE_DEV_NUM_ENTRIES = 6,\n};\n\nenum acpi_device_swnode_ep_props {\n\tACPI_DEVICE_SWNODE_EP_REMOTE_EP = 0,\n\tACPI_DEVICE_SWNODE_EP_BUS_TYPE = 1,\n\tACPI_DEVICE_SWNODE_EP_REG = 2,\n\tACPI_DEVICE_SWNODE_EP_CLOCK_LANES = 3,\n\tACPI_DEVICE_SWNODE_EP_DATA_LANES = 4,\n\tACPI_DEVICE_SWNODE_EP_LANE_POLARITIES = 5,\n\tACPI_DEVICE_SWNODE_EP_LINK_FREQUENCIES = 6,\n\tACPI_DEVICE_SWNODE_EP_NUM_OF = 7,\n\tACPI_DEVICE_SWNODE_EP_NUM_ENTRIES = 8,\n};\n\nenum acpi_device_swnode_port_props {\n\tACPI_DEVICE_SWNODE_PORT_REG = 0,\n\tACPI_DEVICE_SWNODE_PORT_NUM_OF = 1,\n\tACPI_DEVICE_SWNODE_PORT_NUM_ENTRIES = 2,\n};\n\nenum acpi_irq_model_id {\n\tACPI_IRQ_MODEL_PIC = 0,\n\tACPI_IRQ_MODEL_IOAPIC = 1,\n\tACPI_IRQ_MODEL_IOSAPIC = 2,\n\tACPI_IRQ_MODEL_PLATFORM = 3,\n\tACPI_IRQ_MODEL_GIC = 4,\n\tACPI_IRQ_MODEL_LPIC = 5,\n\tACPI_IRQ_MODEL_RINTC = 6,\n\tACPI_IRQ_MODEL_COUNT = 7,\n};\n\nenum acpi_madt_multiproc_wakeup_version {\n\tACPI_MADT_MP_WAKEUP_VERSION_NONE = 0,\n\tACPI_MADT_MP_WAKEUP_VERSION_V1 = 1,\n\tACPI_MADT_MP_WAKEUP_VERSION_RESERVED = 2,\n};\n\nenum acpi_madt_rintc_version {\n\tACPI_MADT_RINTC_VERSION_NONE = 0,\n\tACPI_MADT_RINTC_VERSION_V1 = 1,\n\tACPI_MADT_RINTC_VERSION_RESERVED = 2,\n};\n\nenum acpi_madt_type {\n\tACPI_MADT_TYPE_LOCAL_APIC = 0,\n\tACPI_MADT_TYPE_IO_APIC = 1,\n\tACPI_MADT_TYPE_INTERRUPT_OVERRIDE = 2,\n\tACPI_MADT_TYPE_NMI_SOURCE = 3,\n\tACPI_MADT_TYPE_LOCAL_APIC_NMI = 4,\n\tACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE = 5,\n\tACPI_MADT_TYPE_IO_SAPIC = 6,\n\tACPI_MADT_TYPE_LOCAL_SAPIC = 7,\n\tACPI_MADT_TYPE_INTERRUPT_SOURCE = 8,\n\tACPI_MADT_TYPE_LOCAL_X2APIC = 9,\n\tACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10,\n\tACPI_MADT_TYPE_GENERIC_INTERRUPT = 11,\n\tACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12,\n\tACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13,\n\tACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14,\n\tACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15,\n\tACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16,\n\tACPI_MADT_TYPE_CORE_PIC = 17,\n\tACPI_MADT_TYPE_LIO_PIC = 18,\n\tACPI_MADT_TYPE_HT_PIC = 19,\n\tACPI_MADT_TYPE_EIO_PIC = 20,\n\tACPI_MADT_TYPE_MSI_PIC = 21,\n\tACPI_MADT_TYPE_BIO_PIC = 22,\n\tACPI_MADT_TYPE_LPC_PIC = 23,\n\tACPI_MADT_TYPE_RINTC = 24,\n\tACPI_MADT_TYPE_IMSIC = 25,\n\tACPI_MADT_TYPE_APLIC = 26,\n\tACPI_MADT_TYPE_PLIC = 27,\n\tACPI_MADT_TYPE_RESERVED = 28,\n\tACPI_MADT_TYPE_OEM_RESERVED = 128,\n};\n\nenum acpi_pcct_type {\n\tACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,\n\tACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1,\n\tACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2,\n\tACPI_PCCT_TYPE_EXT_PCC_MASTER_SUBSPACE = 3,\n\tACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE = 4,\n\tACPI_PCCT_TYPE_HW_REG_COMM_SUBSPACE = 5,\n\tACPI_PCCT_TYPE_RESERVED = 6,\n};\n\nenum acpi_pptt_type {\n\tACPI_PPTT_TYPE_PROCESSOR = 0,\n\tACPI_PPTT_TYPE_CACHE = 1,\n\tACPI_PPTT_TYPE_ID = 2,\n\tACPI_PPTT_TYPE_RESERVED = 3,\n};\n\nenum acpi_predicate {\n\tall_versions = 0,\n\tless_than_or_equal = 1,\n\tequal = 2,\n\tgreater_than_or_equal = 3,\n};\n\nenum acpi_reconfig_event {\n\tACPI_RECONFIG_DEVICE_ADD = 0,\n\tACPI_RECONFIG_DEVICE_REMOVE = 1,\n};\n\nenum acpi_return_package_types {\n\tACPI_PTYPE1_FIXED = 1,\n\tACPI_PTYPE1_VAR = 2,\n\tACPI_PTYPE1_OPTION = 3,\n\tACPI_PTYPE2 = 4,\n\tACPI_PTYPE2_COUNT = 5,\n\tACPI_PTYPE2_PKG_COUNT = 6,\n\tACPI_PTYPE2_FIXED = 7,\n\tACPI_PTYPE2_MIN = 8,\n\tACPI_PTYPE2_REV_FIXED = 9,\n\tACPI_PTYPE2_FIX_VAR = 10,\n\tACPI_PTYPE2_VAR_VAR = 11,\n\tACPI_PTYPE2_UUID_PAIR = 12,\n\tACPI_PTYPE_CUSTOM = 13,\n};\n\nenum acpi_rhct_node_type {\n\tACPI_RHCT_NODE_TYPE_ISA_STRING = 0,\n\tACPI_RHCT_NODE_TYPE_CMO = 1,\n\tACPI_RHCT_NODE_TYPE_MMU = 2,\n\tACPI_RHCT_NODE_TYPE_RESERVED = 3,\n\tACPI_RHCT_NODE_TYPE_HART_INFO = 65535,\n};\n\nenum acpi_subtable_type {\n\tACPI_SUBTABLE_COMMON = 0,\n\tACPI_SUBTABLE_HMAT = 1,\n\tACPI_SUBTABLE_PRMT = 2,\n\tACPI_SUBTABLE_CEDT = 3,\n\tCDAT_SUBTABLE = 4,\n};\n\nenum addr_type_t {\n\tUNICAST_ADDR = 0,\n\tMULTICAST_ADDR = 1,\n\tANYCAST_ADDR = 2,\n};\n\nenum alarmtimer_type {\n\tALARM_REALTIME = 0,\n\tALARM_BOOTTIME = 1,\n\tALARM_NUMTYPE = 2,\n\tALARM_REALTIME_FREEZER = 3,\n\tALARM_BOOTTIME_FREEZER = 4,\n};\n\nenum alloc_loc {\n\tALLOC_ERR = 0,\n\tALLOC_BEFORE = 1,\n\tALLOC_MID = 2,\n\tALLOC_AFTER = 3,\n};\n\nenum asn1_class {\n\tASN1_UNIV = 0,\n\tASN1_APPL = 1,\n\tASN1_CONT = 2,\n\tASN1_PRIV = 3,\n};\n\nenum asn1_method {\n\tASN1_PRIM = 0,\n\tASN1_CONS = 1,\n};\n\nenum asn1_opcode {\n\tASN1_OP_MATCH = 0,\n\tASN1_OP_MATCH_OR_SKIP = 1,\n\tASN1_OP_MATCH_ACT = 2,\n\tASN1_OP_MATCH_ACT_OR_SKIP = 3,\n\tASN1_OP_MATCH_JUMP = 4,\n\tASN1_OP_MATCH_JUMP_OR_SKIP = 5,\n\tASN1_OP_MATCH_ANY = 8,\n\tASN1_OP_MATCH_ANY_OR_SKIP = 9,\n\tASN1_OP_MATCH_ANY_ACT = 10,\n\tASN1_OP_MATCH_ANY_ACT_OR_SKIP = 11,\n\tASN1_OP_COND_MATCH_OR_SKIP = 17,\n\tASN1_OP_COND_MATCH_ACT_OR_SKIP = 19,\n\tASN1_OP_COND_MATCH_JUMP_OR_SKIP = 21,\n\tASN1_OP_COND_MATCH_ANY = 24,\n\tASN1_OP_COND_MATCH_ANY_OR_SKIP = 25,\n\tASN1_OP_COND_MATCH_ANY_ACT = 26,\n\tASN1_OP_COND_MATCH_ANY_ACT_OR_SKIP = 27,\n\tASN1_OP_COND_FAIL = 28,\n\tASN1_OP_COMPLETE = 29,\n\tASN1_OP_ACT = 30,\n\tASN1_OP_MAYBE_ACT = 31,\n\tASN1_OP_END_SEQ = 32,\n\tASN1_OP_END_SET = 33,\n\tASN1_OP_END_SEQ_OF = 34,\n\tASN1_OP_END_SET_OF = 35,\n\tASN1_OP_END_SEQ_ACT = 36,\n\tASN1_OP_END_SET_ACT = 37,\n\tASN1_OP_END_SEQ_OF_ACT = 38,\n\tASN1_OP_END_SET_OF_ACT = 39,\n\tASN1_OP_RETURN = 40,\n\tASN1_OP__NR = 41,\n};\n\nenum asn1_tag {\n\tASN1_EOC = 0,\n\tASN1_BOOL = 1,\n\tASN1_INT = 2,\n\tASN1_BTS = 3,\n\tASN1_OTS = 4,\n\tASN1_NULL = 5,\n\tASN1_OID = 6,\n\tASN1_ODE = 7,\n\tASN1_EXT = 8,\n\tASN1_REAL = 9,\n\tASN1_ENUM = 10,\n\tASN1_EPDV = 11,\n\tASN1_UTF8STR = 12,\n\tASN1_RELOID = 13,\n\tASN1_SEQ = 16,\n\tASN1_SET = 17,\n\tASN1_NUMSTR = 18,\n\tASN1_PRNSTR = 19,\n\tASN1_TEXSTR = 20,\n\tASN1_VIDSTR = 21,\n\tASN1_IA5STR = 22,\n\tASN1_UNITIM = 23,\n\tASN1_GENTIM = 24,\n\tASN1_GRASTR = 25,\n\tASN1_VISSTR = 26,\n\tASN1_GENSTR = 27,\n\tASN1_UNISTR = 28,\n\tASN1_CHRSTR = 29,\n\tASN1_BMPSTR = 30,\n\tASN1_LONG_TAG = 31,\n};\n\nenum assoc_array_walk_status {\n\tassoc_array_walk_tree_empty = 0,\n\tassoc_array_walk_found_terminal_node = 1,\n\tassoc_array_walk_found_wrong_shortcut = 2,\n};\n\nenum ata_completion_errors {\n\tAC_ERR_OK = 0,\n\tAC_ERR_DEV = 1,\n\tAC_ERR_HSM = 2,\n\tAC_ERR_TIMEOUT = 4,\n\tAC_ERR_MEDIA = 8,\n\tAC_ERR_ATA_BUS = 16,\n\tAC_ERR_HOST_BUS = 32,\n\tAC_ERR_SYSTEM = 64,\n\tAC_ERR_INVALID = 128,\n\tAC_ERR_OTHER = 256,\n\tAC_ERR_NODEV_HINT = 512,\n\tAC_ERR_NCQ = 1024,\n};\n\nenum ata_dev_iter_mode {\n\tATA_DITER_ENABLED = 0,\n\tATA_DITER_ENABLED_REVERSE = 1,\n\tATA_DITER_ALL = 2,\n\tATA_DITER_ALL_REVERSE = 3,\n};\n\nenum ata_link_iter_mode {\n\tATA_LITER_EDGE = 0,\n\tATA_LITER_HOST_FIRST = 1,\n\tATA_LITER_PMP_FIRST = 2,\n};\n\nenum ata_lpm_hints {\n\tATA_LPM_EMPTY = 1,\n\tATA_LPM_HIPM = 2,\n\tATA_LPM_WAKE_ONLY = 4,\n};\n\nenum ata_lpm_policy {\n\tATA_LPM_UNKNOWN = 0,\n\tATA_LPM_MAX_POWER = 1,\n\tATA_LPM_MED_POWER = 2,\n\tATA_LPM_MED_POWER_WITH_DIPM = 3,\n\tATA_LPM_MIN_POWER_WITH_PARTIAL = 4,\n\tATA_LPM_MIN_POWER = 5,\n};\n\nenum ata_prot_flags {\n\tATA_PROT_FLAG_PIO = 1,\n\tATA_PROT_FLAG_DMA = 2,\n\tATA_PROT_FLAG_NCQ = 4,\n\tATA_PROT_FLAG_ATAPI = 8,\n\tATA_PROT_UNKNOWN = 255,\n\tATA_PROT_NODATA = 0,\n\tATA_PROT_PIO = 1,\n\tATA_PROT_DMA = 2,\n\tATA_PROT_NCQ_NODATA = 4,\n\tATA_PROT_NCQ = 6,\n\tATAPI_PROT_NODATA = 8,\n\tATAPI_PROT_PIO = 9,\n\tATAPI_PROT_DMA = 10,\n};\n\nenum ata_quirks {\n\t__ATA_QUIRK_DIAGNOSTIC = 0,\n\t__ATA_QUIRK_NODMA = 1,\n\t__ATA_QUIRK_NONCQ = 2,\n\t__ATA_QUIRK_MAX_SEC_128 = 3,\n\t__ATA_QUIRK_BROKEN_HPA = 4,\n\t__ATA_QUIRK_DISABLE = 5,\n\t__ATA_QUIRK_HPA_SIZE = 6,\n\t__ATA_QUIRK_IVB = 7,\n\t__ATA_QUIRK_STUCK_ERR = 8,\n\t__ATA_QUIRK_BRIDGE_OK = 9,\n\t__ATA_QUIRK_ATAPI_MOD16_DMA = 10,\n\t__ATA_QUIRK_FIRMWARE_WARN = 11,\n\t__ATA_QUIRK_1_5_GBPS = 12,\n\t__ATA_QUIRK_NOSETXFER = 13,\n\t__ATA_QUIRK_BROKEN_FPDMA_AA = 14,\n\t__ATA_QUIRK_DUMP_ID = 15,\n\t__ATA_QUIRK_MAX_SEC_LBA48 = 16,\n\t__ATA_QUIRK_ATAPI_DMADIR = 17,\n\t__ATA_QUIRK_NO_NCQ_TRIM = 18,\n\t__ATA_QUIRK_NOLPM = 19,\n\t__ATA_QUIRK_WD_BROKEN_LPM = 20,\n\t__ATA_QUIRK_ZERO_AFTER_TRIM = 21,\n\t__ATA_QUIRK_NO_DMA_LOG = 22,\n\t__ATA_QUIRK_NOTRIM = 23,\n\t__ATA_QUIRK_MAX_SEC_1024 = 24,\n\t__ATA_QUIRK_MAX_TRIM_128M = 25,\n\t__ATA_QUIRK_NO_NCQ_ON_ATI = 26,\n\t__ATA_QUIRK_NO_LPM_ON_ATI = 27,\n\t__ATA_QUIRK_NO_ID_DEV_LOG = 28,\n\t__ATA_QUIRK_NO_LOG_DIR = 29,\n\t__ATA_QUIRK_NO_FUA = 30,\n\t__ATA_QUIRK_MAX = 31,\n};\n\nenum ata_xfer_mask {\n\tATA_MASK_PIO = 127,\n\tATA_MASK_MWDMA = 3968,\n\tATA_MASK_UDMA = 1044480,\n};\n\nenum audit_mode {\n\tAUDIT_NORMAL = 0,\n\tAUDIT_QUIET_DENIED = 1,\n\tAUDIT_QUIET = 2,\n\tAUDIT_NOQUIET = 3,\n\tAUDIT_ALL = 4,\n};\n\nenum audit_nfcfgop {\n\tAUDIT_XT_OP_REGISTER = 0,\n\tAUDIT_XT_OP_REPLACE = 1,\n\tAUDIT_XT_OP_UNREGISTER = 2,\n\tAUDIT_NFT_OP_TABLE_REGISTER = 3,\n\tAUDIT_NFT_OP_TABLE_UNREGISTER = 4,\n\tAUDIT_NFT_OP_CHAIN_REGISTER = 5,\n\tAUDIT_NFT_OP_CHAIN_UNREGISTER = 6,\n\tAUDIT_NFT_OP_RULE_REGISTER = 7,\n\tAUDIT_NFT_OP_RULE_UNREGISTER = 8,\n\tAUDIT_NFT_OP_SET_REGISTER = 9,\n\tAUDIT_NFT_OP_SET_UNREGISTER = 10,\n\tAUDIT_NFT_OP_SETELEM_REGISTER = 11,\n\tAUDIT_NFT_OP_SETELEM_UNREGISTER = 12,\n\tAUDIT_NFT_OP_GEN_REGISTER = 13,\n\tAUDIT_NFT_OP_OBJ_REGISTER = 14,\n\tAUDIT_NFT_OP_OBJ_UNREGISTER = 15,\n\tAUDIT_NFT_OP_OBJ_RESET = 16,\n\tAUDIT_NFT_OP_FLOWTABLE_REGISTER = 17,\n\tAUDIT_NFT_OP_FLOWTABLE_UNREGISTER = 18,\n\tAUDIT_NFT_OP_SETELEM_RESET = 19,\n\tAUDIT_NFT_OP_RULE_RESET = 20,\n\tAUDIT_NFT_OP_INVALID = 21,\n};\n\nenum audit_nlgrps {\n\tAUDIT_NLGRP_NONE = 0,\n\tAUDIT_NLGRP_READLOG = 1,\n\t__AUDIT_NLGRP_MAX = 2,\n};\n\nenum audit_ntp_type {\n\tAUDIT_NTP_OFFSET = 0,\n\tAUDIT_NTP_FREQ = 1,\n\tAUDIT_NTP_STATUS = 2,\n\tAUDIT_NTP_TAI = 3,\n\tAUDIT_NTP_TICK = 4,\n\tAUDIT_NTP_ADJUST = 5,\n\tAUDIT_NTP_NVALS = 6,\n};\n\nenum audit_state {\n\tAUDIT_STATE_DISABLED = 0,\n\tAUDIT_STATE_BUILD = 1,\n\tAUDIT_STATE_RECORD = 2,\n};\n\nenum audit_type {\n\tAUDIT_APPARMOR_AUDIT = 0,\n\tAUDIT_APPARMOR_ALLOWED = 1,\n\tAUDIT_APPARMOR_DENIED = 2,\n\tAUDIT_APPARMOR_HINT = 3,\n\tAUDIT_APPARMOR_STATUS = 4,\n\tAUDIT_APPARMOR_ERROR = 5,\n\tAUDIT_APPARMOR_KILL = 6,\n\tAUDIT_APPARMOR_AUTO = 7,\n};\n\nenum auditsc_class_t {\n\tAUDITSC_NATIVE = 0,\n\tAUDITSC_COMPAT = 1,\n\tAUDITSC_OPEN = 2,\n\tAUDITSC_OPENAT = 3,\n\tAUDITSC_SOCKETCALL = 4,\n\tAUDITSC_EXECVE = 5,\n\tAUDITSC_OPENAT2 = 6,\n\tAUDITSC_NVALS = 7,\n};\n\nenum autofs_notify {\n\tNFY_NONE = 0,\n\tNFY_MOUNT = 1,\n\tNFY_EXPIRE = 2,\n};\n\nenum axp15060_irqs {\n\tAXP15060_IRQ_DIE_TEMP_HIGH_LV1 = 1,\n\tAXP15060_IRQ_DIE_TEMP_HIGH_LV2 = 2,\n\tAXP15060_IRQ_DCDC1_V_LOW = 3,\n\tAXP15060_IRQ_DCDC2_V_LOW = 4,\n\tAXP15060_IRQ_DCDC3_V_LOW = 5,\n\tAXP15060_IRQ_DCDC4_V_LOW = 6,\n\tAXP15060_IRQ_DCDC5_V_LOW = 7,\n\tAXP15060_IRQ_DCDC6_V_LOW = 8,\n\tAXP15060_IRQ_PEK_LONG = 9,\n\tAXP15060_IRQ_PEK_SHORT = 10,\n\tAXP15060_IRQ_GPIO1_INPUT = 11,\n\tAXP15060_IRQ_PEK_FAL_EDGE = 12,\n\tAXP15060_IRQ_PEK_RIS_EDGE = 13,\n\tAXP15060_IRQ_GPIO2_INPUT = 14,\n};\n\nenum axp192_irqs {\n\tAXP192_IRQ_ACIN_OVER_V = 1,\n\tAXP192_IRQ_ACIN_PLUGIN = 2,\n\tAXP192_IRQ_ACIN_REMOVAL = 3,\n\tAXP192_IRQ_VBUS_OVER_V = 4,\n\tAXP192_IRQ_VBUS_PLUGIN = 5,\n\tAXP192_IRQ_VBUS_REMOVAL = 6,\n\tAXP192_IRQ_VBUS_V_LOW = 7,\n\tAXP192_IRQ_BATT_PLUGIN = 8,\n\tAXP192_IRQ_BATT_REMOVAL = 9,\n\tAXP192_IRQ_BATT_ENT_ACT_MODE = 10,\n\tAXP192_IRQ_BATT_EXIT_ACT_MODE = 11,\n\tAXP192_IRQ_CHARG = 12,\n\tAXP192_IRQ_CHARG_DONE = 13,\n\tAXP192_IRQ_BATT_TEMP_HIGH = 14,\n\tAXP192_IRQ_BATT_TEMP_LOW = 15,\n\tAXP192_IRQ_DIE_TEMP_HIGH = 16,\n\tAXP192_IRQ_CHARG_I_LOW = 17,\n\tAXP192_IRQ_DCDC1_V_LONG = 18,\n\tAXP192_IRQ_DCDC2_V_LONG = 19,\n\tAXP192_IRQ_DCDC3_V_LONG = 20,\n\tAXP192_IRQ_PEK_SHORT = 22,\n\tAXP192_IRQ_PEK_LONG = 23,\n\tAXP192_IRQ_N_OE_PWR_ON = 24,\n\tAXP192_IRQ_N_OE_PWR_OFF = 25,\n\tAXP192_IRQ_VBUS_VALID = 26,\n\tAXP192_IRQ_VBUS_NOT_VALID = 27,\n\tAXP192_IRQ_VBUS_SESS_VALID = 28,\n\tAXP192_IRQ_VBUS_SESS_END = 29,\n\tAXP192_IRQ_LOW_PWR_LVL = 31,\n\tAXP192_IRQ_TIMER = 32,\n\tAXP192_IRQ_GPIO2_INPUT = 37,\n\tAXP192_IRQ_GPIO1_INPUT = 38,\n\tAXP192_IRQ_GPIO0_INPUT = 39,\n};\n\nenum axp20x_variants {\n\tAXP152_ID = 0,\n\tAXP192_ID = 1,\n\tAXP202_ID = 2,\n\tAXP209_ID = 3,\n\tAXP221_ID = 4,\n\tAXP223_ID = 5,\n\tAXP288_ID = 6,\n\tAXP313A_ID = 7,\n\tAXP323_ID = 8,\n\tAXP717_ID = 9,\n\tAXP803_ID = 10,\n\tAXP806_ID = 11,\n\tAXP809_ID = 12,\n\tAXP813_ID = 13,\n\tAXP15060_ID = 14,\n\tNR_AXP20X_VARIANTS = 15,\n};\n\nenum axp22x_irqs {\n\tAXP22X_IRQ_ACIN_OVER_V = 1,\n\tAXP22X_IRQ_ACIN_PLUGIN = 2,\n\tAXP22X_IRQ_ACIN_REMOVAL = 3,\n\tAXP22X_IRQ_VBUS_OVER_V = 4,\n\tAXP22X_IRQ_VBUS_PLUGIN = 5,\n\tAXP22X_IRQ_VBUS_REMOVAL = 6,\n\tAXP22X_IRQ_VBUS_V_LOW = 7,\n\tAXP22X_IRQ_BATT_PLUGIN = 8,\n\tAXP22X_IRQ_BATT_REMOVAL = 9,\n\tAXP22X_IRQ_BATT_ENT_ACT_MODE = 10,\n\tAXP22X_IRQ_BATT_EXIT_ACT_MODE = 11,\n\tAXP22X_IRQ_CHARG = 12,\n\tAXP22X_IRQ_CHARG_DONE = 13,\n\tAXP22X_IRQ_BATT_TEMP_HIGH = 14,\n\tAXP22X_IRQ_BATT_TEMP_LOW = 15,\n\tAXP22X_IRQ_DIE_TEMP_HIGH = 16,\n\tAXP22X_IRQ_PEK_SHORT = 17,\n\tAXP22X_IRQ_PEK_LONG = 18,\n\tAXP22X_IRQ_LOW_PWR_LVL1 = 19,\n\tAXP22X_IRQ_LOW_PWR_LVL2 = 20,\n\tAXP22X_IRQ_TIMER = 21,\n\tAXP22X_IRQ_PEK_FAL_EDGE = 22,\n\tAXP22X_IRQ_PEK_RIS_EDGE = 23,\n\tAXP22X_IRQ_GPIO1_INPUT = 24,\n\tAXP22X_IRQ_GPIO0_INPUT = 25,\n};\n\nenum axp288_irqs {\n\tAXP288_IRQ_VBUS_FALL = 2,\n\tAXP288_IRQ_VBUS_RISE = 3,\n\tAXP288_IRQ_OV = 4,\n\tAXP288_IRQ_FALLING_ALT = 5,\n\tAXP288_IRQ_RISING_ALT = 6,\n\tAXP288_IRQ_OV_ALT = 7,\n\tAXP288_IRQ_DONE = 10,\n\tAXP288_IRQ_CHARGING = 11,\n\tAXP288_IRQ_SAFE_QUIT = 12,\n\tAXP288_IRQ_SAFE_ENTER = 13,\n\tAXP288_IRQ_ABSENT = 14,\n\tAXP288_IRQ_APPEND = 15,\n\tAXP288_IRQ_QWBTU = 16,\n\tAXP288_IRQ_WBTU = 17,\n\tAXP288_IRQ_QWBTO = 18,\n\tAXP288_IRQ_WBTO = 19,\n\tAXP288_IRQ_QCBTU = 20,\n\tAXP288_IRQ_CBTU = 21,\n\tAXP288_IRQ_QCBTO = 22,\n\tAXP288_IRQ_CBTO = 23,\n\tAXP288_IRQ_WL2 = 24,\n\tAXP288_IRQ_WL1 = 25,\n\tAXP288_IRQ_GPADC = 26,\n\tAXP288_IRQ_OT = 31,\n\tAXP288_IRQ_GPIO0 = 32,\n\tAXP288_IRQ_GPIO1 = 33,\n\tAXP288_IRQ_POKO = 34,\n\tAXP288_IRQ_POKL = 35,\n\tAXP288_IRQ_POKS = 36,\n\tAXP288_IRQ_POKN = 37,\n\tAXP288_IRQ_POKP = 38,\n\tAXP288_IRQ_TIMER = 39,\n\tAXP288_IRQ_MV_CHNG = 40,\n\tAXP288_IRQ_BC_USB_CHNG = 41,\n};\n\nenum axp313a_irqs {\n\tAXP313A_IRQ_DIE_TEMP_HIGH = 0,\n\tAXP313A_IRQ_DCDC2_V_LOW = 2,\n\tAXP313A_IRQ_DCDC3_V_LOW = 3,\n\tAXP313A_IRQ_PEK_LONG = 4,\n\tAXP313A_IRQ_PEK_SHORT = 5,\n\tAXP313A_IRQ_PEK_FAL_EDGE = 6,\n\tAXP313A_IRQ_PEK_RIS_EDGE = 7,\n};\n\nenum axp717_irqs {\n\tAXP717_IRQ_VBUS_FAULT = 0,\n\tAXP717_IRQ_VBUS_OVER_V = 1,\n\tAXP717_IRQ_BOOST_OVER_V = 2,\n\tAXP717_IRQ_GAUGE_NEW_SOC = 4,\n\tAXP717_IRQ_SOC_DROP_LVL1 = 6,\n\tAXP717_IRQ_SOC_DROP_LVL2 = 7,\n\tAXP717_IRQ_PEK_RIS_EDGE = 8,\n\tAXP717_IRQ_PEK_FAL_EDGE = 9,\n\tAXP717_IRQ_PEK_LONG = 10,\n\tAXP717_IRQ_PEK_SHORT = 11,\n\tAXP717_IRQ_BATT_REMOVAL = 12,\n\tAXP717_IRQ_BATT_PLUGIN = 13,\n\tAXP717_IRQ_VBUS_REMOVAL = 14,\n\tAXP717_IRQ_VBUS_PLUGIN = 15,\n\tAXP717_IRQ_BATT_OVER_V = 16,\n\tAXP717_IRQ_CHARG_TIMER = 17,\n\tAXP717_IRQ_DIE_TEMP_HIGH = 18,\n\tAXP717_IRQ_CHARG = 19,\n\tAXP717_IRQ_CHARG_DONE = 20,\n\tAXP717_IRQ_BATT_OVER_CURR = 21,\n\tAXP717_IRQ_LDO_OVER_CURR = 22,\n\tAXP717_IRQ_WDOG_EXPIRE = 23,\n\tAXP717_IRQ_BATT_ACT_TEMP_LOW = 24,\n\tAXP717_IRQ_BATT_ACT_TEMP_HIGH = 25,\n\tAXP717_IRQ_BATT_CHG_TEMP_LOW = 26,\n\tAXP717_IRQ_BATT_CHG_TEMP_HIGH = 27,\n\tAXP717_IRQ_BATT_QUIT_TEMP_HIGH = 28,\n\tAXP717_IRQ_BC_USB_CHNG = 30,\n\tAXP717_IRQ_BC_USB_DONE = 31,\n\tAXP717_IRQ_TYPEC_PLUGIN = 37,\n\tAXP717_IRQ_TYPEC_REMOVE = 38,\n};\n\nenum axp803_irqs {\n\tAXP803_IRQ_ACIN_OVER_V = 1,\n\tAXP803_IRQ_ACIN_PLUGIN = 2,\n\tAXP803_IRQ_ACIN_REMOVAL = 3,\n\tAXP803_IRQ_VBUS_OVER_V = 4,\n\tAXP803_IRQ_VBUS_PLUGIN = 5,\n\tAXP803_IRQ_VBUS_REMOVAL = 6,\n\tAXP803_IRQ_BATT_PLUGIN = 7,\n\tAXP803_IRQ_BATT_REMOVAL = 8,\n\tAXP803_IRQ_BATT_ENT_ACT_MODE = 9,\n\tAXP803_IRQ_BATT_EXIT_ACT_MODE = 10,\n\tAXP803_IRQ_CHARG = 11,\n\tAXP803_IRQ_CHARG_DONE = 12,\n\tAXP803_IRQ_BATT_CHG_TEMP_HIGH = 13,\n\tAXP803_IRQ_BATT_CHG_TEMP_HIGH_END = 14,\n\tAXP803_IRQ_BATT_CHG_TEMP_LOW = 15,\n\tAXP803_IRQ_BATT_CHG_TEMP_LOW_END = 16,\n\tAXP803_IRQ_BATT_ACT_TEMP_HIGH = 17,\n\tAXP803_IRQ_BATT_ACT_TEMP_HIGH_END = 18,\n\tAXP803_IRQ_BATT_ACT_TEMP_LOW = 19,\n\tAXP803_IRQ_BATT_ACT_TEMP_LOW_END = 20,\n\tAXP803_IRQ_DIE_TEMP_HIGH = 21,\n\tAXP803_IRQ_GPADC = 22,\n\tAXP803_IRQ_LOW_PWR_LVL1 = 23,\n\tAXP803_IRQ_LOW_PWR_LVL2 = 24,\n\tAXP803_IRQ_TIMER = 25,\n\tAXP803_IRQ_PEK_FAL_EDGE = 26,\n\tAXP803_IRQ_PEK_RIS_EDGE = 27,\n\tAXP803_IRQ_PEK_SHORT = 28,\n\tAXP803_IRQ_PEK_LONG = 29,\n\tAXP803_IRQ_PEK_OVER_OFF = 30,\n\tAXP803_IRQ_GPIO1_INPUT = 31,\n\tAXP803_IRQ_GPIO0_INPUT = 32,\n\tAXP803_IRQ_BC_USB_CHNG = 33,\n\tAXP803_IRQ_MV_CHNG = 34,\n};\n\nenum axp806_irqs {\n\tAXP806_IRQ_DIE_TEMP_HIGH_LV1 = 0,\n\tAXP806_IRQ_DIE_TEMP_HIGH_LV2 = 1,\n\tAXP806_IRQ_DCDCA_V_LOW = 2,\n\tAXP806_IRQ_DCDCB_V_LOW = 3,\n\tAXP806_IRQ_DCDCC_V_LOW = 4,\n\tAXP806_IRQ_DCDCD_V_LOW = 5,\n\tAXP806_IRQ_DCDCE_V_LOW = 6,\n\tAXP806_IRQ_POK_LONG = 7,\n\tAXP806_IRQ_POK_SHORT = 8,\n\tAXP806_IRQ_WAKEUP = 9,\n\tAXP806_IRQ_POK_FALL = 10,\n\tAXP806_IRQ_POK_RISE = 11,\n};\n\nenum axp809_irqs {\n\tAXP809_IRQ_ACIN_OVER_V = 1,\n\tAXP809_IRQ_ACIN_PLUGIN = 2,\n\tAXP809_IRQ_ACIN_REMOVAL = 3,\n\tAXP809_IRQ_VBUS_OVER_V = 4,\n\tAXP809_IRQ_VBUS_PLUGIN = 5,\n\tAXP809_IRQ_VBUS_REMOVAL = 6,\n\tAXP809_IRQ_VBUS_V_LOW = 7,\n\tAXP809_IRQ_BATT_PLUGIN = 8,\n\tAXP809_IRQ_BATT_REMOVAL = 9,\n\tAXP809_IRQ_BATT_ENT_ACT_MODE = 10,\n\tAXP809_IRQ_BATT_EXIT_ACT_MODE = 11,\n\tAXP809_IRQ_CHARG = 12,\n\tAXP809_IRQ_CHARG_DONE = 13,\n\tAXP809_IRQ_BATT_CHG_TEMP_HIGH = 14,\n\tAXP809_IRQ_BATT_CHG_TEMP_HIGH_END = 15,\n\tAXP809_IRQ_BATT_CHG_TEMP_LOW = 16,\n\tAXP809_IRQ_BATT_CHG_TEMP_LOW_END = 17,\n\tAXP809_IRQ_BATT_ACT_TEMP_HIGH = 18,\n\tAXP809_IRQ_BATT_ACT_TEMP_HIGH_END = 19,\n\tAXP809_IRQ_BATT_ACT_TEMP_LOW = 20,\n\tAXP809_IRQ_BATT_ACT_TEMP_LOW_END = 21,\n\tAXP809_IRQ_DIE_TEMP_HIGH = 22,\n\tAXP809_IRQ_LOW_PWR_LVL1 = 23,\n\tAXP809_IRQ_LOW_PWR_LVL2 = 24,\n\tAXP809_IRQ_TIMER = 25,\n\tAXP809_IRQ_PEK_FAL_EDGE = 26,\n\tAXP809_IRQ_PEK_RIS_EDGE = 27,\n\tAXP809_IRQ_PEK_SHORT = 28,\n\tAXP809_IRQ_PEK_LONG = 29,\n\tAXP809_IRQ_PEK_OVER_OFF = 30,\n\tAXP809_IRQ_GPIO1_INPUT = 31,\n\tAXP809_IRQ_GPIO0_INPUT = 32,\n};\n\nenum batadv_packettype {\n\tBATADV_IV_OGM = 0,\n\tBATADV_BCAST = 1,\n\tBATADV_CODED = 2,\n\tBATADV_ELP = 3,\n\tBATADV_OGM2 = 4,\n\tBATADV_MCAST = 5,\n\tBATADV_UNICAST = 64,\n\tBATADV_UNICAST_FRAG = 65,\n\tBATADV_UNICAST_4ADDR = 66,\n\tBATADV_ICMP = 67,\n\tBATADV_UNICAST_TVLV = 68,\n};\n\nenum behavior {\n\tEXCLUSIVE = 0,\n\tSHARED = 1,\n\tDROP = 2,\n};\n\nenum bfqq_expiration {\n\tBFQQE_TOO_IDLE = 0,\n\tBFQQE_BUDGET_TIMEOUT = 1,\n\tBFQQE_BUDGET_EXHAUSTED = 2,\n\tBFQQE_NO_MORE_REQUESTS = 3,\n\tBFQQE_PREEMPTED = 4,\n};\n\nenum bfqq_state_flags {\n\tBFQQF_just_created = 0,\n\tBFQQF_busy = 1,\n\tBFQQF_wait_request = 2,\n\tBFQQF_non_blocking_wait_rq = 3,\n\tBFQQF_fifo_expire = 4,\n\tBFQQF_has_short_ttime = 5,\n\tBFQQF_sync = 6,\n\tBFQQF_IO_bound = 7,\n\tBFQQF_in_large_burst = 8,\n\tBFQQF_softrt_update = 9,\n\tBFQQF_coop = 10,\n\tBFQQF_split_coop = 11,\n};\n\nenum bh_state_bits {\n\tBH_Uptodate = 0,\n\tBH_Dirty = 1,\n\tBH_Lock = 2,\n\tBH_Req = 3,\n\tBH_Mapped = 4,\n\tBH_New = 5,\n\tBH_Async_Read = 6,\n\tBH_Async_Write = 7,\n\tBH_Delay = 8,\n\tBH_Boundary = 9,\n\tBH_Write_EIO = 10,\n\tBH_Unwritten = 11,\n\tBH_Quiet = 12,\n\tBH_Meta = 13,\n\tBH_Prio = 14,\n\tBH_Defer_Completion = 15,\n\tBH_PrivateStart = 16,\n};\n\nenum bio_merge_status {\n\tBIO_MERGE_OK = 0,\n\tBIO_MERGE_NONE = 1,\n\tBIO_MERGE_FAILED = 2,\n};\n\nenum bio_post_read_step {\n\tSTEP_INITIAL = 0,\n\tSTEP_DECRYPT = 1,\n\tSTEP_VERITY = 2,\n\tSTEP_MAX = 3,\n};\n\nenum bip_flags {\n\tBIP_BLOCK_INTEGRITY = 1,\n\tBIP_MAPPED_INTEGRITY = 2,\n\tBIP_DISK_NOCHECK = 4,\n\tBIP_IP_CHECKSUM = 8,\n\tBIP_COPY_USER = 16,\n\tBIP_CHECK_GUARD = 32,\n\tBIP_CHECK_REFTAG = 64,\n\tBIP_CHECK_APPTAG = 128,\n};\n\nenum blake2s_iv {\n\tBLAKE2S_IV0 = 1779033703,\n\tBLAKE2S_IV1 = 3144134277,\n\tBLAKE2S_IV2 = 1013904242,\n\tBLAKE2S_IV3 = 2773480762,\n\tBLAKE2S_IV4 = 1359893119,\n\tBLAKE2S_IV5 = 2600822924,\n\tBLAKE2S_IV6 = 528734635,\n\tBLAKE2S_IV7 = 1541459225,\n};\n\nenum blake2s_lengths {\n\tBLAKE2S_BLOCK_SIZE = 64,\n\tBLAKE2S_HASH_SIZE = 32,\n\tBLAKE2S_KEY_SIZE = 32,\n\tBLAKE2S_128_HASH_SIZE = 16,\n\tBLAKE2S_160_HASH_SIZE = 20,\n\tBLAKE2S_224_HASH_SIZE = 28,\n\tBLAKE2S_256_HASH_SIZE = 32,\n};\n\nenum blk_crypto_mode_num {\n\tBLK_ENCRYPTION_MODE_INVALID = 0,\n\tBLK_ENCRYPTION_MODE_AES_256_XTS = 1,\n\tBLK_ENCRYPTION_MODE_AES_128_CBC_ESSIV = 2,\n\tBLK_ENCRYPTION_MODE_ADIANTUM = 3,\n\tBLK_ENCRYPTION_MODE_SM4_XTS = 4,\n\tBLK_ENCRYPTION_MODE_MAX = 5,\n};\n\nenum blk_default_limits {\n\tBLK_MAX_SEGMENTS = 128,\n\tBLK_SAFE_MAX_SECTORS = 255,\n\tBLK_MAX_SEGMENT_SIZE = 65536,\n\tBLK_SEG_BOUNDARY_MASK = 4294967295,\n};\n\nenum blk_eh_timer_return {\n\tBLK_EH_DONE = 0,\n\tBLK_EH_RESET_TIMER = 1,\n};\n\nenum blk_integrity_checksum {\n\tBLK_INTEGRITY_CSUM_NONE = 0,\n\tBLK_INTEGRITY_CSUM_IP = 1,\n\tBLK_INTEGRITY_CSUM_CRC = 2,\n\tBLK_INTEGRITY_CSUM_CRC64 = 3,\n} __attribute__((mode(byte)));\n\nenum blk_integrity_flags {\n\tBLK_INTEGRITY_NOVERIFY = 1,\n\tBLK_INTEGRITY_NOGENERATE = 2,\n\tBLK_INTEGRITY_DEVICE_CAPABLE = 4,\n\tBLK_INTEGRITY_REF_TAG = 8,\n\tBLK_INTEGRITY_STACKED = 16,\n};\n\nenum blk_unique_id {\n\tBLK_UID_T10 = 1,\n\tBLK_UID_EUI64 = 2,\n\tBLK_UID_NAA = 3,\n};\n\nenum blkg_iostat_type {\n\tBLKG_IOSTAT_READ = 0,\n\tBLKG_IOSTAT_WRITE = 1,\n\tBLKG_IOSTAT_DISCARD = 2,\n\tBLKG_IOSTAT_NR = 3,\n};\n\nenum blkg_rwstat_type {\n\tBLKG_RWSTAT_READ = 0,\n\tBLKG_RWSTAT_WRITE = 1,\n\tBLKG_RWSTAT_SYNC = 2,\n\tBLKG_RWSTAT_ASYNC = 3,\n\tBLKG_RWSTAT_DISCARD = 4,\n\tBLKG_RWSTAT_NR = 5,\n\tBLKG_RWSTAT_TOTAL = 5,\n};\n\nenum blktrace_act {\n\t__BLK_TA_QUEUE = 1,\n\t__BLK_TA_BACKMERGE = 2,\n\t__BLK_TA_FRONTMERGE = 3,\n\t__BLK_TA_GETRQ = 4,\n\t__BLK_TA_SLEEPRQ = 5,\n\t__BLK_TA_REQUEUE = 6,\n\t__BLK_TA_ISSUE = 7,\n\t__BLK_TA_COMPLETE = 8,\n\t__BLK_TA_PLUG = 9,\n\t__BLK_TA_UNPLUG_IO = 10,\n\t__BLK_TA_UNPLUG_TIMER = 11,\n\t__BLK_TA_INSERT = 12,\n\t__BLK_TA_SPLIT = 13,\n\t__BLK_TA_BOUNCE = 14,\n\t__BLK_TA_REMAP = 15,\n\t__BLK_TA_ABORT = 16,\n\t__BLK_TA_DRV_DATA = 17,\n\t__BLK_TA_CGROUP = 256,\n};\n\nenum board_ids {\n\tboard_ahci = 0,\n\tboard_ahci_43bit_dma = 1,\n\tboard_ahci_ign_iferr = 2,\n\tboard_ahci_no_debounce_delay = 3,\n\tboard_ahci_no_msi = 4,\n\tboard_ahci_pcs_quirk = 5,\n\tboard_ahci_pcs_quirk_no_devslp = 6,\n\tboard_ahci_pcs_quirk_no_sntf = 7,\n\tboard_ahci_yes_fbs = 8,\n\tboard_ahci_al = 9,\n\tboard_ahci_avn = 10,\n\tboard_ahci_mcp65 = 11,\n\tboard_ahci_mcp77 = 12,\n\tboard_ahci_mcp89 = 13,\n\tboard_ahci_mv = 14,\n\tboard_ahci_sb600 = 15,\n\tboard_ahci_sb700 = 16,\n\tboard_ahci_vt8251 = 17,\n\tboard_ahci_mcp_linux = 11,\n\tboard_ahci_mcp67 = 11,\n\tboard_ahci_mcp73 = 11,\n\tboard_ahci_mcp79 = 12,\n};\n\nenum bpf_access_src {\n\tACCESS_DIRECT = 1,\n\tACCESS_HELPER = 2,\n};\n\nenum bpf_access_type {\n\tBPF_READ = 1,\n\tBPF_WRITE = 2,\n};\n\nenum bpf_addr_space_cast {\n\tBPF_ADDR_SPACE_CAST = 1,\n};\n\nenum bpf_adj_room_mode {\n\tBPF_ADJ_ROOM_NET = 0,\n\tBPF_ADJ_ROOM_MAC = 1,\n};\n\nenum bpf_arg_type {\n\tARG_DONTCARE = 0,\n\tARG_CONST_MAP_PTR = 1,\n\tARG_PTR_TO_MAP_KEY = 2,\n\tARG_PTR_TO_MAP_VALUE = 3,\n\tARG_PTR_TO_MEM = 4,\n\tARG_PTR_TO_ARENA = 5,\n\tARG_CONST_SIZE = 6,\n\tARG_CONST_SIZE_OR_ZERO = 7,\n\tARG_PTR_TO_CTX = 8,\n\tARG_ANYTHING = 9,\n\tARG_PTR_TO_SPIN_LOCK = 10,\n\tARG_PTR_TO_SOCK_COMMON = 11,\n\tARG_PTR_TO_SOCKET = 12,\n\tARG_PTR_TO_BTF_ID = 13,\n\tARG_PTR_TO_RINGBUF_MEM = 14,\n\tARG_CONST_ALLOC_SIZE_OR_ZERO = 15,\n\tARG_PTR_TO_BTF_ID_SOCK_COMMON = 16,\n\tARG_PTR_TO_PERCPU_BTF_ID = 17,\n\tARG_PTR_TO_FUNC = 18,\n\tARG_PTR_TO_STACK = 19,\n\tARG_PTR_TO_CONST_STR = 20,\n\tARG_PTR_TO_TIMER = 21,\n\tARG_KPTR_XCHG_DEST = 22,\n\tARG_PTR_TO_DYNPTR = 23,\n\t__BPF_ARG_TYPE_MAX = 24,\n\tARG_PTR_TO_MAP_VALUE_OR_NULL = 259,\n\tARG_PTR_TO_MEM_OR_NULL = 260,\n\tARG_PTR_TO_CTX_OR_NULL = 264,\n\tARG_PTR_TO_SOCKET_OR_NULL = 268,\n\tARG_PTR_TO_STACK_OR_NULL = 275,\n\tARG_PTR_TO_BTF_ID_OR_NULL = 269,\n\tARG_PTR_TO_UNINIT_MEM = 67141636,\n\tARG_PTR_TO_FIXED_SIZE_MEM = 262148,\n\t__BPF_ARG_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_async_type {\n\tBPF_ASYNC_TYPE_TIMER = 0,\n\tBPF_ASYNC_TYPE_WQ = 1,\n};\n\nenum bpf_attach_type {\n\tBPF_CGROUP_INET_INGRESS = 0,\n\tBPF_CGROUP_INET_EGRESS = 1,\n\tBPF_CGROUP_INET_SOCK_CREATE = 2,\n\tBPF_CGROUP_SOCK_OPS = 3,\n\tBPF_SK_SKB_STREAM_PARSER = 4,\n\tBPF_SK_SKB_STREAM_VERDICT = 5,\n\tBPF_CGROUP_DEVICE = 6,\n\tBPF_SK_MSG_VERDICT = 7,\n\tBPF_CGROUP_INET4_BIND = 8,\n\tBPF_CGROUP_INET6_BIND = 9,\n\tBPF_CGROUP_INET4_CONNECT = 10,\n\tBPF_CGROUP_INET6_CONNECT = 11,\n\tBPF_CGROUP_INET4_POST_BIND = 12,\n\tBPF_CGROUP_INET6_POST_BIND = 13,\n\tBPF_CGROUP_UDP4_SENDMSG = 14,\n\tBPF_CGROUP_UDP6_SENDMSG = 15,\n\tBPF_LIRC_MODE2 = 16,\n\tBPF_FLOW_DISSECTOR = 17,\n\tBPF_CGROUP_SYSCTL = 18,\n\tBPF_CGROUP_UDP4_RECVMSG = 19,\n\tBPF_CGROUP_UDP6_RECVMSG = 20,\n\tBPF_CGROUP_GETSOCKOPT = 21,\n\tBPF_CGROUP_SETSOCKOPT = 22,\n\tBPF_TRACE_RAW_TP = 23,\n\tBPF_TRACE_FENTRY = 24,\n\tBPF_TRACE_FEXIT = 25,\n\tBPF_MODIFY_RETURN = 26,\n\tBPF_LSM_MAC = 27,\n\tBPF_TRACE_ITER = 28,\n\tBPF_CGROUP_INET4_GETPEERNAME = 29,\n\tBPF_CGROUP_INET6_GETPEERNAME = 30,\n\tBPF_CGROUP_INET4_GETSOCKNAME = 31,\n\tBPF_CGROUP_INET6_GETSOCKNAME = 32,\n\tBPF_XDP_DEVMAP = 33,\n\tBPF_CGROUP_INET_SOCK_RELEASE = 34,\n\tBPF_XDP_CPUMAP = 35,\n\tBPF_SK_LOOKUP = 36,\n\tBPF_XDP = 37,\n\tBPF_SK_SKB_VERDICT = 38,\n\tBPF_SK_REUSEPORT_SELECT = 39,\n\tBPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40,\n\tBPF_PERF_EVENT = 41,\n\tBPF_TRACE_KPROBE_MULTI = 42,\n\tBPF_LSM_CGROUP = 43,\n\tBPF_STRUCT_OPS = 44,\n\tBPF_NETFILTER = 45,\n\tBPF_TCX_INGRESS = 46,\n\tBPF_TCX_EGRESS = 47,\n\tBPF_TRACE_UPROBE_MULTI = 48,\n\tBPF_CGROUP_UNIX_CONNECT = 49,\n\tBPF_CGROUP_UNIX_SENDMSG = 50,\n\tBPF_CGROUP_UNIX_RECVMSG = 51,\n\tBPF_CGROUP_UNIX_GETPEERNAME = 52,\n\tBPF_CGROUP_UNIX_GETSOCKNAME = 53,\n\tBPF_NETKIT_PRIMARY = 54,\n\tBPF_NETKIT_PEER = 55,\n\tBPF_TRACE_KPROBE_SESSION = 56,\n\tBPF_TRACE_UPROBE_SESSION = 57,\n\t__MAX_BPF_ATTACH_TYPE = 58,\n};\n\nenum bpf_audit {\n\tBPF_AUDIT_LOAD = 0,\n\tBPF_AUDIT_UNLOAD = 1,\n\tBPF_AUDIT_MAX = 2,\n};\n\nenum bpf_cgroup_iter_order {\n\tBPF_CGROUP_ITER_ORDER_UNSPEC = 0,\n\tBPF_CGROUP_ITER_SELF_ONLY = 1,\n\tBPF_CGROUP_ITER_DESCENDANTS_PRE = 2,\n\tBPF_CGROUP_ITER_DESCENDANTS_POST = 3,\n\tBPF_CGROUP_ITER_ANCESTORS_UP = 4,\n};\n\nenum bpf_cgroup_storage_type {\n\tBPF_CGROUP_STORAGE_SHARED = 0,\n\tBPF_CGROUP_STORAGE_PERCPU = 1,\n\t__BPF_CGROUP_STORAGE_MAX = 2,\n};\n\nenum bpf_check_mtu_flags {\n\tBPF_MTU_CHK_SEGS = 1,\n};\n\nenum bpf_check_mtu_ret {\n\tBPF_MTU_CHK_RET_SUCCESS = 0,\n\tBPF_MTU_CHK_RET_FRAG_NEEDED = 1,\n\tBPF_MTU_CHK_RET_SEGS_TOOBIG = 2,\n};\n\nenum bpf_cmd {\n\tBPF_MAP_CREATE = 0,\n\tBPF_MAP_LOOKUP_ELEM = 1,\n\tBPF_MAP_UPDATE_ELEM = 2,\n\tBPF_MAP_DELETE_ELEM = 3,\n\tBPF_MAP_GET_NEXT_KEY = 4,\n\tBPF_PROG_LOAD = 5,\n\tBPF_OBJ_PIN = 6,\n\tBPF_OBJ_GET = 7,\n\tBPF_PROG_ATTACH = 8,\n\tBPF_PROG_DETACH = 9,\n\tBPF_PROG_TEST_RUN = 10,\n\tBPF_PROG_RUN = 10,\n\tBPF_PROG_GET_NEXT_ID = 11,\n\tBPF_MAP_GET_NEXT_ID = 12,\n\tBPF_PROG_GET_FD_BY_ID = 13,\n\tBPF_MAP_GET_FD_BY_ID = 14,\n\tBPF_OBJ_GET_INFO_BY_FD = 15,\n\tBPF_PROG_QUERY = 16,\n\tBPF_RAW_TRACEPOINT_OPEN = 17,\n\tBPF_BTF_LOAD = 18,\n\tBPF_BTF_GET_FD_BY_ID = 19,\n\tBPF_TASK_FD_QUERY = 20,\n\tBPF_MAP_LOOKUP_AND_DELETE_ELEM = 21,\n\tBPF_MAP_FREEZE = 22,\n\tBPF_BTF_GET_NEXT_ID = 23,\n\tBPF_MAP_LOOKUP_BATCH = 24,\n\tBPF_MAP_LOOKUP_AND_DELETE_BATCH = 25,\n\tBPF_MAP_UPDATE_BATCH = 26,\n\tBPF_MAP_DELETE_BATCH = 27,\n\tBPF_LINK_CREATE = 28,\n\tBPF_LINK_UPDATE = 29,\n\tBPF_LINK_GET_FD_BY_ID = 30,\n\tBPF_LINK_GET_NEXT_ID = 31,\n\tBPF_ENABLE_STATS = 32,\n\tBPF_ITER_CREATE = 33,\n\tBPF_LINK_DETACH = 34,\n\tBPF_PROG_BIND_MAP = 35,\n\tBPF_TOKEN_CREATE = 36,\n\t__MAX_BPF_CMD = 37,\n};\n\nenum bpf_cond_pseudo_jmp {\n\tBPF_MAY_GOTO = 0,\n};\n\nenum bpf_core_relo_kind {\n\tBPF_CORE_FIELD_BYTE_OFFSET = 0,\n\tBPF_CORE_FIELD_BYTE_SIZE = 1,\n\tBPF_CORE_FIELD_EXISTS = 2,\n\tBPF_CORE_FIELD_SIGNED = 3,\n\tBPF_CORE_FIELD_LSHIFT_U64 = 4,\n\tBPF_CORE_FIELD_RSHIFT_U64 = 5,\n\tBPF_CORE_TYPE_ID_LOCAL = 6,\n\tBPF_CORE_TYPE_ID_TARGET = 7,\n\tBPF_CORE_TYPE_EXISTS = 8,\n\tBPF_CORE_TYPE_SIZE = 9,\n\tBPF_CORE_ENUMVAL_EXISTS = 10,\n\tBPF_CORE_ENUMVAL_VALUE = 11,\n\tBPF_CORE_TYPE_MATCHES = 12,\n};\n\nenum bpf_dynptr_type {\n\tBPF_DYNPTR_TYPE_INVALID = 0,\n\tBPF_DYNPTR_TYPE_LOCAL = 1,\n\tBPF_DYNPTR_TYPE_RINGBUF = 2,\n\tBPF_DYNPTR_TYPE_SKB = 3,\n\tBPF_DYNPTR_TYPE_XDP = 4,\n};\n\nenum bpf_func_id {\n\tBPF_FUNC_unspec = 0,\n\tBPF_FUNC_map_lookup_elem = 1,\n\tBPF_FUNC_map_update_elem = 2,\n\tBPF_FUNC_map_delete_elem = 3,\n\tBPF_FUNC_probe_read = 4,\n\tBPF_FUNC_ktime_get_ns = 5,\n\tBPF_FUNC_trace_printk = 6,\n\tBPF_FUNC_get_prandom_u32 = 7,\n\tBPF_FUNC_get_smp_processor_id = 8,\n\tBPF_FUNC_skb_store_bytes = 9,\n\tBPF_FUNC_l3_csum_replace = 10,\n\tBPF_FUNC_l4_csum_replace = 11,\n\tBPF_FUNC_tail_call = 12,\n\tBPF_FUNC_clone_redirect = 13,\n\tBPF_FUNC_get_current_pid_tgid = 14,\n\tBPF_FUNC_get_current_uid_gid = 15,\n\tBPF_FUNC_get_current_comm = 16,\n\tBPF_FUNC_get_cgroup_classid = 17,\n\tBPF_FUNC_skb_vlan_push = 18,\n\tBPF_FUNC_skb_vlan_pop = 19,\n\tBPF_FUNC_skb_get_tunnel_key = 20,\n\tBPF_FUNC_skb_set_tunnel_key = 21,\n\tBPF_FUNC_perf_event_read = 22,\n\tBPF_FUNC_redirect = 23,\n\tBPF_FUNC_get_route_realm = 24,\n\tBPF_FUNC_perf_event_output = 25,\n\tBPF_FUNC_skb_load_bytes = 26,\n\tBPF_FUNC_get_stackid = 27,\n\tBPF_FUNC_csum_diff = 28,\n\tBPF_FUNC_skb_get_tunnel_opt = 29,\n\tBPF_FUNC_skb_set_tunnel_opt = 30,\n\tBPF_FUNC_skb_change_proto = 31,\n\tBPF_FUNC_skb_change_type = 32,\n\tBPF_FUNC_skb_under_cgroup = 33,\n\tBPF_FUNC_get_hash_recalc = 34,\n\tBPF_FUNC_get_current_task = 35,\n\tBPF_FUNC_probe_write_user = 36,\n\tBPF_FUNC_current_task_under_cgroup = 37,\n\tBPF_FUNC_skb_change_tail = 38,\n\tBPF_FUNC_skb_pull_data = 39,\n\tBPF_FUNC_csum_update = 40,\n\tBPF_FUNC_set_hash_invalid = 41,\n\tBPF_FUNC_get_numa_node_id = 42,\n\tBPF_FUNC_skb_change_head = 43,\n\tBPF_FUNC_xdp_adjust_head = 44,\n\tBPF_FUNC_probe_read_str = 45,\n\tBPF_FUNC_get_socket_cookie = 46,\n\tBPF_FUNC_get_socket_uid = 47,\n\tBPF_FUNC_set_hash = 48,\n\tBPF_FUNC_setsockopt = 49,\n\tBPF_FUNC_skb_adjust_room = 50,\n\tBPF_FUNC_redirect_map = 51,\n\tBPF_FUNC_sk_redirect_map = 52,\n\tBPF_FUNC_sock_map_update = 53,\n\tBPF_FUNC_xdp_adjust_meta = 54,\n\tBPF_FUNC_perf_event_read_value = 55,\n\tBPF_FUNC_perf_prog_read_value = 56,\n\tBPF_FUNC_getsockopt = 57,\n\tBPF_FUNC_override_return = 58,\n\tBPF_FUNC_sock_ops_cb_flags_set = 59,\n\tBPF_FUNC_msg_redirect_map = 60,\n\tBPF_FUNC_msg_apply_bytes = 61,\n\tBPF_FUNC_msg_cork_bytes = 62,\n\tBPF_FUNC_msg_pull_data = 63,\n\tBPF_FUNC_bind = 64,\n\tBPF_FUNC_xdp_adjust_tail = 65,\n\tBPF_FUNC_skb_get_xfrm_state = 66,\n\tBPF_FUNC_get_stack = 67,\n\tBPF_FUNC_skb_load_bytes_relative = 68,\n\tBPF_FUNC_fib_lookup = 69,\n\tBPF_FUNC_sock_hash_update = 70,\n\tBPF_FUNC_msg_redirect_hash = 71,\n\tBPF_FUNC_sk_redirect_hash = 72,\n\tBPF_FUNC_lwt_push_encap = 73,\n\tBPF_FUNC_lwt_seg6_store_bytes = 74,\n\tBPF_FUNC_lwt_seg6_adjust_srh = 75,\n\tBPF_FUNC_lwt_seg6_action = 76,\n\tBPF_FUNC_rc_repeat = 77,\n\tBPF_FUNC_rc_keydown = 78,\n\tBPF_FUNC_skb_cgroup_id = 79,\n\tBPF_FUNC_get_current_cgroup_id = 80,\n\tBPF_FUNC_get_local_storage = 81,\n\tBPF_FUNC_sk_select_reuseport = 82,\n\tBPF_FUNC_skb_ancestor_cgroup_id = 83,\n\tBPF_FUNC_sk_lookup_tcp = 84,\n\tBPF_FUNC_sk_lookup_udp = 85,\n\tBPF_FUNC_sk_release = 86,\n\tBPF_FUNC_map_push_elem = 87,\n\tBPF_FUNC_map_pop_elem = 88,\n\tBPF_FUNC_map_peek_elem = 89,\n\tBPF_FUNC_msg_push_data = 90,\n\tBPF_FUNC_msg_pop_data = 91,\n\tBPF_FUNC_rc_pointer_rel = 92,\n\tBPF_FUNC_spin_lock = 93,\n\tBPF_FUNC_spin_unlock = 94,\n\tBPF_FUNC_sk_fullsock = 95,\n\tBPF_FUNC_tcp_sock = 96,\n\tBPF_FUNC_skb_ecn_set_ce = 97,\n\tBPF_FUNC_get_listener_sock = 98,\n\tBPF_FUNC_skc_lookup_tcp = 99,\n\tBPF_FUNC_tcp_check_syncookie = 100,\n\tBPF_FUNC_sysctl_get_name = 101,\n\tBPF_FUNC_sysctl_get_current_value = 102,\n\tBPF_FUNC_sysctl_get_new_value = 103,\n\tBPF_FUNC_sysctl_set_new_value = 104,\n\tBPF_FUNC_strtol = 105,\n\tBPF_FUNC_strtoul = 106,\n\tBPF_FUNC_sk_storage_get = 107,\n\tBPF_FUNC_sk_storage_delete = 108,\n\tBPF_FUNC_send_signal = 109,\n\tBPF_FUNC_tcp_gen_syncookie = 110,\n\tBPF_FUNC_skb_output = 111,\n\tBPF_FUNC_probe_read_user = 112,\n\tBPF_FUNC_probe_read_kernel = 113,\n\tBPF_FUNC_probe_read_user_str = 114,\n\tBPF_FUNC_probe_read_kernel_str = 115,\n\tBPF_FUNC_tcp_send_ack = 116,\n\tBPF_FUNC_send_signal_thread = 117,\n\tBPF_FUNC_jiffies64 = 118,\n\tBPF_FUNC_read_branch_records = 119,\n\tBPF_FUNC_get_ns_current_pid_tgid = 120,\n\tBPF_FUNC_xdp_output = 121,\n\tBPF_FUNC_get_netns_cookie = 122,\n\tBPF_FUNC_get_current_ancestor_cgroup_id = 123,\n\tBPF_FUNC_sk_assign = 124,\n\tBPF_FUNC_ktime_get_boot_ns = 125,\n\tBPF_FUNC_seq_printf = 126,\n\tBPF_FUNC_seq_write = 127,\n\tBPF_FUNC_sk_cgroup_id = 128,\n\tBPF_FUNC_sk_ancestor_cgroup_id = 129,\n\tBPF_FUNC_ringbuf_output = 130,\n\tBPF_FUNC_ringbuf_reserve = 131,\n\tBPF_FUNC_ringbuf_submit = 132,\n\tBPF_FUNC_ringbuf_discard = 133,\n\tBPF_FUNC_ringbuf_query = 134,\n\tBPF_FUNC_csum_level = 135,\n\tBPF_FUNC_skc_to_tcp6_sock = 136,\n\tBPF_FUNC_skc_to_tcp_sock = 137,\n\tBPF_FUNC_skc_to_tcp_timewait_sock = 138,\n\tBPF_FUNC_skc_to_tcp_request_sock = 139,\n\tBPF_FUNC_skc_to_udp6_sock = 140,\n\tBPF_FUNC_get_task_stack = 141,\n\tBPF_FUNC_load_hdr_opt = 142,\n\tBPF_FUNC_store_hdr_opt = 143,\n\tBPF_FUNC_reserve_hdr_opt = 144,\n\tBPF_FUNC_inode_storage_get = 145,\n\tBPF_FUNC_inode_storage_delete = 146,\n\tBPF_FUNC_d_path = 147,\n\tBPF_FUNC_copy_from_user = 148,\n\tBPF_FUNC_snprintf_btf = 149,\n\tBPF_FUNC_seq_printf_btf = 150,\n\tBPF_FUNC_skb_cgroup_classid = 151,\n\tBPF_FUNC_redirect_neigh = 152,\n\tBPF_FUNC_per_cpu_ptr = 153,\n\tBPF_FUNC_this_cpu_ptr = 154,\n\tBPF_FUNC_redirect_peer = 155,\n\tBPF_FUNC_task_storage_get = 156,\n\tBPF_FUNC_task_storage_delete = 157,\n\tBPF_FUNC_get_current_task_btf = 158,\n\tBPF_FUNC_bprm_opts_set = 159,\n\tBPF_FUNC_ktime_get_coarse_ns = 160,\n\tBPF_FUNC_ima_inode_hash = 161,\n\tBPF_FUNC_sock_from_file = 162,\n\tBPF_FUNC_check_mtu = 163,\n\tBPF_FUNC_for_each_map_elem = 164,\n\tBPF_FUNC_snprintf = 165,\n\tBPF_FUNC_sys_bpf = 166,\n\tBPF_FUNC_btf_find_by_name_kind = 167,\n\tBPF_FUNC_sys_close = 168,\n\tBPF_FUNC_timer_init = 169,\n\tBPF_FUNC_timer_set_callback = 170,\n\tBPF_FUNC_timer_start = 171,\n\tBPF_FUNC_timer_cancel = 172,\n\tBPF_FUNC_get_func_ip = 173,\n\tBPF_FUNC_get_attach_cookie = 174,\n\tBPF_FUNC_task_pt_regs = 175,\n\tBPF_FUNC_get_branch_snapshot = 176,\n\tBPF_FUNC_trace_vprintk = 177,\n\tBPF_FUNC_skc_to_unix_sock = 178,\n\tBPF_FUNC_kallsyms_lookup_name = 179,\n\tBPF_FUNC_find_vma = 180,\n\tBPF_FUNC_loop = 181,\n\tBPF_FUNC_strncmp = 182,\n\tBPF_FUNC_get_func_arg = 183,\n\tBPF_FUNC_get_func_ret = 184,\n\tBPF_FUNC_get_func_arg_cnt = 185,\n\tBPF_FUNC_get_retval = 186,\n\tBPF_FUNC_set_retval = 187,\n\tBPF_FUNC_xdp_get_buff_len = 188,\n\tBPF_FUNC_xdp_load_bytes = 189,\n\tBPF_FUNC_xdp_store_bytes = 190,\n\tBPF_FUNC_copy_from_user_task = 191,\n\tBPF_FUNC_skb_set_tstamp = 192,\n\tBPF_FUNC_ima_file_hash = 193,\n\tBPF_FUNC_kptr_xchg = 194,\n\tBPF_FUNC_map_lookup_percpu_elem = 195,\n\tBPF_FUNC_skc_to_mptcp_sock = 196,\n\tBPF_FUNC_dynptr_from_mem = 197,\n\tBPF_FUNC_ringbuf_reserve_dynptr = 198,\n\tBPF_FUNC_ringbuf_submit_dynptr = 199,\n\tBPF_FUNC_ringbuf_discard_dynptr = 200,\n\tBPF_FUNC_dynptr_read = 201,\n\tBPF_FUNC_dynptr_write = 202,\n\tBPF_FUNC_dynptr_data = 203,\n\tBPF_FUNC_tcp_raw_gen_syncookie_ipv4 = 204,\n\tBPF_FUNC_tcp_raw_gen_syncookie_ipv6 = 205,\n\tBPF_FUNC_tcp_raw_check_syncookie_ipv4 = 206,\n\tBPF_FUNC_tcp_raw_check_syncookie_ipv6 = 207,\n\tBPF_FUNC_ktime_get_tai_ns = 208,\n\tBPF_FUNC_user_ringbuf_drain = 209,\n\tBPF_FUNC_cgrp_storage_get = 210,\n\tBPF_FUNC_cgrp_storage_delete = 211,\n\t__BPF_FUNC_MAX_ID = 212,\n};\n\nenum bpf_hdr_start_off {\n\tBPF_HDR_START_MAC = 0,\n\tBPF_HDR_START_NET = 1,\n};\n\nenum bpf_iter_feature {\n\tBPF_ITER_RESCHED = 1,\n};\n\nenum bpf_iter_state {\n\tBPF_ITER_STATE_INVALID = 0,\n\tBPF_ITER_STATE_ACTIVE = 1,\n\tBPF_ITER_STATE_DRAINED = 2,\n};\n\nenum bpf_iter_task_type {\n\tBPF_TASK_ITER_ALL = 0,\n\tBPF_TASK_ITER_TID = 1,\n\tBPF_TASK_ITER_TGID = 2,\n};\n\nenum bpf_jit_poke_reason {\n\tBPF_POKE_REASON_TAIL_CALL = 0,\n};\n\nenum bpf_kfunc_flags {\n\tBPF_F_PAD_ZEROS = 1,\n};\n\nenum bpf_link_type {\n\tBPF_LINK_TYPE_UNSPEC = 0,\n\tBPF_LINK_TYPE_RAW_TRACEPOINT = 1,\n\tBPF_LINK_TYPE_TRACING = 2,\n\tBPF_LINK_TYPE_CGROUP = 3,\n\tBPF_LINK_TYPE_ITER = 4,\n\tBPF_LINK_TYPE_NETNS = 5,\n\tBPF_LINK_TYPE_XDP = 6,\n\tBPF_LINK_TYPE_PERF_EVENT = 7,\n\tBPF_LINK_TYPE_KPROBE_MULTI = 8,\n\tBPF_LINK_TYPE_STRUCT_OPS = 9,\n\tBPF_LINK_TYPE_NETFILTER = 10,\n\tBPF_LINK_TYPE_TCX = 11,\n\tBPF_LINK_TYPE_UPROBE_MULTI = 12,\n\tBPF_LINK_TYPE_NETKIT = 13,\n\tBPF_LINK_TYPE_SOCKMAP = 14,\n\t__MAX_BPF_LINK_TYPE = 15,\n};\n\nenum bpf_lru_list_type {\n\tBPF_LRU_LIST_T_ACTIVE = 0,\n\tBPF_LRU_LIST_T_INACTIVE = 1,\n\tBPF_LRU_LIST_T_FREE = 2,\n\tBPF_LRU_LOCAL_LIST_T_FREE = 3,\n\tBPF_LRU_LOCAL_LIST_T_PENDING = 4,\n};\n\nenum bpf_map_type {\n\tBPF_MAP_TYPE_UNSPEC = 0,\n\tBPF_MAP_TYPE_HASH = 1,\n\tBPF_MAP_TYPE_ARRAY = 2,\n\tBPF_MAP_TYPE_PROG_ARRAY = 3,\n\tBPF_MAP_TYPE_PERF_EVENT_ARRAY = 4,\n\tBPF_MAP_TYPE_PERCPU_HASH = 5,\n\tBPF_MAP_TYPE_PERCPU_ARRAY = 6,\n\tBPF_MAP_TYPE_STACK_TRACE = 7,\n\tBPF_MAP_TYPE_CGROUP_ARRAY = 8,\n\tBPF_MAP_TYPE_LRU_HASH = 9,\n\tBPF_MAP_TYPE_LRU_PERCPU_HASH = 10,\n\tBPF_MAP_TYPE_LPM_TRIE = 11,\n\tBPF_MAP_TYPE_ARRAY_OF_MAPS = 12,\n\tBPF_MAP_TYPE_HASH_OF_MAPS = 13,\n\tBPF_MAP_TYPE_DEVMAP = 14,\n\tBPF_MAP_TYPE_SOCKMAP = 15,\n\tBPF_MAP_TYPE_CPUMAP = 16,\n\tBPF_MAP_TYPE_XSKMAP = 17,\n\tBPF_MAP_TYPE_SOCKHASH = 18,\n\tBPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,\n\tBPF_MAP_TYPE_CGROUP_STORAGE = 19,\n\tBPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,\n\tBPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED = 21,\n\tBPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,\n\tBPF_MAP_TYPE_QUEUE = 22,\n\tBPF_MAP_TYPE_STACK = 23,\n\tBPF_MAP_TYPE_SK_STORAGE = 24,\n\tBPF_MAP_TYPE_DEVMAP_HASH = 25,\n\tBPF_MAP_TYPE_STRUCT_OPS = 26,\n\tBPF_MAP_TYPE_RINGBUF = 27,\n\tBPF_MAP_TYPE_INODE_STORAGE = 28,\n\tBPF_MAP_TYPE_TASK_STORAGE = 29,\n\tBPF_MAP_TYPE_BLOOM_FILTER = 30,\n\tBPF_MAP_TYPE_USER_RINGBUF = 31,\n\tBPF_MAP_TYPE_CGRP_STORAGE = 32,\n\tBPF_MAP_TYPE_ARENA = 33,\n\t__MAX_BPF_MAP_TYPE = 34,\n};\n\nenum bpf_netdev_command {\n\tXDP_SETUP_PROG = 0,\n\tXDP_SETUP_PROG_HW = 1,\n\tBPF_OFFLOAD_MAP_ALLOC = 2,\n\tBPF_OFFLOAD_MAP_FREE = 3,\n\tXDP_SETUP_XSK_POOL = 4,\n};\n\nenum bpf_perf_event_type {\n\tBPF_PERF_EVENT_UNSPEC = 0,\n\tBPF_PERF_EVENT_UPROBE = 1,\n\tBPF_PERF_EVENT_URETPROBE = 2,\n\tBPF_PERF_EVENT_KPROBE = 3,\n\tBPF_PERF_EVENT_KRETPROBE = 4,\n\tBPF_PERF_EVENT_TRACEPOINT = 5,\n\tBPF_PERF_EVENT_EVENT = 6,\n};\n\nenum bpf_prog_type {\n\tBPF_PROG_TYPE_UNSPEC = 0,\n\tBPF_PROG_TYPE_SOCKET_FILTER = 1,\n\tBPF_PROG_TYPE_KPROBE = 2,\n\tBPF_PROG_TYPE_SCHED_CLS = 3,\n\tBPF_PROG_TYPE_SCHED_ACT = 4,\n\tBPF_PROG_TYPE_TRACEPOINT = 5,\n\tBPF_PROG_TYPE_XDP = 6,\n\tBPF_PROG_TYPE_PERF_EVENT = 7,\n\tBPF_PROG_TYPE_CGROUP_SKB = 8,\n\tBPF_PROG_TYPE_CGROUP_SOCK = 9,\n\tBPF_PROG_TYPE_LWT_IN = 10,\n\tBPF_PROG_TYPE_LWT_OUT = 11,\n\tBPF_PROG_TYPE_LWT_XMIT = 12,\n\tBPF_PROG_TYPE_SOCK_OPS = 13,\n\tBPF_PROG_TYPE_SK_SKB = 14,\n\tBPF_PROG_TYPE_CGROUP_DEVICE = 15,\n\tBPF_PROG_TYPE_SK_MSG = 16,\n\tBPF_PROG_TYPE_RAW_TRACEPOINT = 17,\n\tBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18,\n\tBPF_PROG_TYPE_LWT_SEG6LOCAL = 19,\n\tBPF_PROG_TYPE_LIRC_MODE2 = 20,\n\tBPF_PROG_TYPE_SK_REUSEPORT = 21,\n\tBPF_PROG_TYPE_FLOW_DISSECTOR = 22,\n\tBPF_PROG_TYPE_CGROUP_SYSCTL = 23,\n\tBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24,\n\tBPF_PROG_TYPE_CGROUP_SOCKOPT = 25,\n\tBPF_PROG_TYPE_TRACING = 26,\n\tBPF_PROG_TYPE_STRUCT_OPS = 27,\n\tBPF_PROG_TYPE_EXT = 28,\n\tBPF_PROG_TYPE_LSM = 29,\n\tBPF_PROG_TYPE_SK_LOOKUP = 30,\n\tBPF_PROG_TYPE_SYSCALL = 31,\n\tBPF_PROG_TYPE_NETFILTER = 32,\n\t__MAX_BPF_PROG_TYPE = 33,\n};\n\nenum bpf_reg_liveness {\n\tREG_LIVE_NONE = 0,\n\tREG_LIVE_READ32 = 1,\n\tREG_LIVE_READ64 = 2,\n\tREG_LIVE_READ = 3,\n\tREG_LIVE_WRITTEN = 4,\n\tREG_LIVE_DONE = 8,\n};\n\nenum bpf_reg_type {\n\tNOT_INIT = 0,\n\tSCALAR_VALUE = 1,\n\tPTR_TO_CTX = 2,\n\tCONST_PTR_TO_MAP = 3,\n\tPTR_TO_MAP_VALUE = 4,\n\tPTR_TO_MAP_KEY = 5,\n\tPTR_TO_STACK = 6,\n\tPTR_TO_PACKET_META = 7,\n\tPTR_TO_PACKET = 8,\n\tPTR_TO_PACKET_END = 9,\n\tPTR_TO_FLOW_KEYS = 10,\n\tPTR_TO_SOCKET = 11,\n\tPTR_TO_SOCK_COMMON = 12,\n\tPTR_TO_TCP_SOCK = 13,\n\tPTR_TO_TP_BUFFER = 14,\n\tPTR_TO_XDP_SOCK = 15,\n\tPTR_TO_BTF_ID = 16,\n\tPTR_TO_MEM = 17,\n\tPTR_TO_ARENA = 18,\n\tPTR_TO_BUF = 19,\n\tPTR_TO_FUNC = 20,\n\tCONST_PTR_TO_DYNPTR = 21,\n\t__BPF_REG_TYPE_MAX = 22,\n\tPTR_TO_MAP_VALUE_OR_NULL = 260,\n\tPTR_TO_SOCKET_OR_NULL = 267,\n\tPTR_TO_SOCK_COMMON_OR_NULL = 268,\n\tPTR_TO_TCP_SOCK_OR_NULL = 269,\n\tPTR_TO_BTF_ID_OR_NULL = 272,\n\t__BPF_REG_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_ret_code {\n\tBPF_OK = 0,\n\tBPF_DROP = 2,\n\tBPF_REDIRECT = 7,\n\tBPF_LWT_REROUTE = 128,\n\tBPF_FLOW_DISSECTOR_CONTINUE = 129,\n};\n\nenum bpf_return_type {\n\tRET_INTEGER = 0,\n\tRET_VOID = 1,\n\tRET_PTR_TO_MAP_VALUE = 2,\n\tRET_PTR_TO_SOCKET = 3,\n\tRET_PTR_TO_TCP_SOCK = 4,\n\tRET_PTR_TO_SOCK_COMMON = 5,\n\tRET_PTR_TO_MEM = 6,\n\tRET_PTR_TO_MEM_OR_BTF_ID = 7,\n\tRET_PTR_TO_BTF_ID = 8,\n\t__BPF_RET_TYPE_MAX = 9,\n\tRET_PTR_TO_MAP_VALUE_OR_NULL = 258,\n\tRET_PTR_TO_SOCKET_OR_NULL = 259,\n\tRET_PTR_TO_TCP_SOCK_OR_NULL = 260,\n\tRET_PTR_TO_SOCK_COMMON_OR_NULL = 261,\n\tRET_PTR_TO_RINGBUF_MEM_OR_NULL = 1286,\n\tRET_PTR_TO_DYNPTR_MEM_OR_NULL = 262,\n\tRET_PTR_TO_BTF_ID_OR_NULL = 264,\n\tRET_PTR_TO_BTF_ID_TRUSTED = 1048584,\n\t__BPF_RET_TYPE_LIMIT = 134217727,\n};\n\nenum bpf_stack_build_id_status {\n\tBPF_STACK_BUILD_ID_EMPTY = 0,\n\tBPF_STACK_BUILD_ID_VALID = 1,\n\tBPF_STACK_BUILD_ID_IP = 2,\n};\n\nenum bpf_stack_slot_type {\n\tSTACK_INVALID = 0,\n\tSTACK_SPILL = 1,\n\tSTACK_MISC = 2,\n\tSTACK_ZERO = 3,\n\tSTACK_DYNPTR = 4,\n\tSTACK_ITER = 5,\n\tSTACK_IRQ_FLAG = 6,\n};\n\nenum bpf_stats_type {\n\tBPF_STATS_RUN_TIME = 0,\n};\n\nenum bpf_struct_walk_result {\n\tWALK_SCALAR = 0,\n\tWALK_PTR = 1,\n\tWALK_STRUCT = 2,\n};\n\nenum bpf_task_fd_type {\n\tBPF_FD_TYPE_RAW_TRACEPOINT = 0,\n\tBPF_FD_TYPE_TRACEPOINT = 1,\n\tBPF_FD_TYPE_KPROBE = 2,\n\tBPF_FD_TYPE_KRETPROBE = 3,\n\tBPF_FD_TYPE_UPROBE = 4,\n\tBPF_FD_TYPE_URETPROBE = 5,\n};\n\nenum bpf_task_vma_iter_find_op {\n\ttask_vma_iter_first_vma = 0,\n\ttask_vma_iter_next_vma = 1,\n\ttask_vma_iter_find_vma = 2,\n};\n\nenum bpf_text_poke_type {\n\tBPF_MOD_CALL = 0,\n\tBPF_MOD_JUMP = 1,\n};\n\nenum bpf_tramp_prog_type {\n\tBPF_TRAMP_FENTRY = 0,\n\tBPF_TRAMP_FEXIT = 1,\n\tBPF_TRAMP_MODIFY_RETURN = 2,\n\tBPF_TRAMP_MAX = 3,\n\tBPF_TRAMP_REPLACE = 4,\n};\n\nenum bpf_type {\n\tBPF_TYPE_UNSPEC = 0,\n\tBPF_TYPE_PROG = 1,\n\tBPF_TYPE_MAP = 2,\n\tBPF_TYPE_LINK = 3,\n};\n\nenum bpf_type_flag {\n\tPTR_MAYBE_NULL = 256,\n\tMEM_RDONLY = 512,\n\tMEM_RINGBUF = 1024,\n\tMEM_USER = 2048,\n\tMEM_PERCPU = 4096,\n\tOBJ_RELEASE = 8192,\n\tPTR_UNTRUSTED = 16384,\n\tMEM_UNINIT = 32768,\n\tDYNPTR_TYPE_LOCAL = 65536,\n\tDYNPTR_TYPE_RINGBUF = 131072,\n\tMEM_FIXED_SIZE = 262144,\n\tMEM_ALLOC = 524288,\n\tPTR_TRUSTED = 1048576,\n\tMEM_RCU = 2097152,\n\tNON_OWN_REF = 4194304,\n\tDYNPTR_TYPE_SKB = 8388608,\n\tDYNPTR_TYPE_XDP = 16777216,\n\tMEM_ALIGNED = 33554432,\n\tMEM_WRITE = 67108864,\n\t__BPF_TYPE_FLAG_MAX = 67108865,\n\t__BPF_TYPE_LAST_FLAG = 67108864,\n};\n\nenum bpf_xdp_mode {\n\tXDP_MODE_SKB = 0,\n\tXDP_MODE_DRV = 1,\n\tXDP_MODE_HW = 2,\n\t__MAX_XDP_MODE = 3,\n};\n\nenum btf_arg_tag {\n\tARG_TAG_CTX = 1,\n\tARG_TAG_NONNULL = 2,\n\tARG_TAG_TRUSTED = 4,\n\tARG_TAG_NULLABLE = 8,\n\tARG_TAG_ARENA = 16,\n};\n\nenum btf_field_iter_kind {\n\tBTF_FIELD_ITER_IDS = 0,\n\tBTF_FIELD_ITER_STRS = 1,\n};\n\nenum btf_field_type {\n\tBPF_SPIN_LOCK = 1,\n\tBPF_TIMER = 2,\n\tBPF_KPTR_UNREF = 4,\n\tBPF_KPTR_REF = 8,\n\tBPF_KPTR_PERCPU = 16,\n\tBPF_KPTR = 28,\n\tBPF_LIST_HEAD = 32,\n\tBPF_LIST_NODE = 64,\n\tBPF_RB_ROOT = 128,\n\tBPF_RB_NODE = 256,\n\tBPF_GRAPH_NODE = 320,\n\tBPF_GRAPH_ROOT = 160,\n\tBPF_REFCOUNT = 512,\n\tBPF_WORKQUEUE = 1024,\n\tBPF_UPTR = 2048,\n};\n\nenum btf_func_linkage {\n\tBTF_FUNC_STATIC = 0,\n\tBTF_FUNC_GLOBAL = 1,\n\tBTF_FUNC_EXTERN = 2,\n};\n\nenum btf_kfunc_hook {\n\tBTF_KFUNC_HOOK_COMMON = 0,\n\tBTF_KFUNC_HOOK_XDP = 1,\n\tBTF_KFUNC_HOOK_TC = 2,\n\tBTF_KFUNC_HOOK_STRUCT_OPS = 3,\n\tBTF_KFUNC_HOOK_TRACING = 4,\n\tBTF_KFUNC_HOOK_SYSCALL = 5,\n\tBTF_KFUNC_HOOK_FMODRET = 6,\n\tBTF_KFUNC_HOOK_CGROUP = 7,\n\tBTF_KFUNC_HOOK_SCHED_ACT = 8,\n\tBTF_KFUNC_HOOK_SK_SKB = 9,\n\tBTF_KFUNC_HOOK_SOCKET_FILTER = 10,\n\tBTF_KFUNC_HOOK_LWT = 11,\n\tBTF_KFUNC_HOOK_NETFILTER = 12,\n\tBTF_KFUNC_HOOK_KPROBE = 13,\n\tBTF_KFUNC_HOOK_MAX = 14,\n};\n\nenum btt_init_state {\n\tINIT_UNCHECKED = 0,\n\tINIT_NOTFOUND = 1,\n\tINIT_READY = 2,\n};\n\nenum bug_trap_type {\n\tBUG_TRAP_TYPE_NONE = 0,\n\tBUG_TRAP_TYPE_WARN = 1,\n\tBUG_TRAP_TYPE_BUG = 2,\n};\n\nenum bus_notifier_event {\n\tBUS_NOTIFY_ADD_DEVICE = 0,\n\tBUS_NOTIFY_DEL_DEVICE = 1,\n\tBUS_NOTIFY_REMOVED_DEVICE = 2,\n\tBUS_NOTIFY_BIND_DRIVER = 3,\n\tBUS_NOTIFY_BOUND_DRIVER = 4,\n\tBUS_NOTIFY_UNBIND_DRIVER = 5,\n\tBUS_NOTIFY_UNBOUND_DRIVER = 6,\n\tBUS_NOTIFY_DRIVER_NOT_BOUND = 7,\n};\n\nenum cache_type {\n\tCACHE_TYPE_NOCACHE = 0,\n\tCACHE_TYPE_INST = 1,\n\tCACHE_TYPE_DATA = 2,\n\tCACHE_TYPE_SEPARATE = 3,\n\tCACHE_TYPE_UNIFIED = 4,\n};\n\nenum cc_attr {\n\tCC_ATTR_MEM_ENCRYPT = 0,\n\tCC_ATTR_HOST_MEM_ENCRYPT = 1,\n\tCC_ATTR_GUEST_MEM_ENCRYPT = 2,\n\tCC_ATTR_GUEST_STATE_ENCRYPT = 3,\n\tCC_ATTR_GUEST_UNROLL_STRING_IO = 4,\n\tCC_ATTR_GUEST_SEV_SNP = 5,\n\tCC_ATTR_GUEST_SNP_SECURE_TSC = 6,\n\tCC_ATTR_HOST_SEV_SNP = 7,\n};\n\nenum cdrom_print_option {\n\tCTL_NAME = 0,\n\tCTL_SPEED = 1,\n\tCTL_SLOTS = 2,\n\tCTL_CAPABILITY = 3,\n};\n\nenum cgroup1_param {\n\tOpt_all = 0,\n\tOpt_clone_children = 1,\n\tOpt_cpuset_v2_mode = 2,\n\tOpt_name = 3,\n\tOpt_none = 4,\n\tOpt_noprefix = 5,\n\tOpt_release_agent = 6,\n\tOpt_xattr = 7,\n\tOpt_favordynmods = 8,\n\tOpt_nofavordynmods = 9,\n};\n\nenum cgroup2_param {\n\tOpt_nsdelegate = 0,\n\tOpt_favordynmods___2 = 1,\n\tOpt_memory_localevents = 2,\n\tOpt_memory_recursiveprot = 3,\n\tOpt_memory_hugetlb_accounting = 4,\n\tOpt_pids_localevents = 5,\n\tnr__cgroup2_params = 6,\n};\n\nenum cgroup_bpf_attach_type {\n\tCGROUP_BPF_ATTACH_TYPE_INVALID = -1,\n\tCGROUP_INET_INGRESS = 0,\n\tCGROUP_INET_EGRESS = 1,\n\tCGROUP_INET_SOCK_CREATE = 2,\n\tCGROUP_SOCK_OPS = 3,\n\tCGROUP_DEVICE = 4,\n\tCGROUP_INET4_BIND = 5,\n\tCGROUP_INET6_BIND = 6,\n\tCGROUP_INET4_CONNECT = 7,\n\tCGROUP_INET6_CONNECT = 8,\n\tCGROUP_UNIX_CONNECT = 9,\n\tCGROUP_INET4_POST_BIND = 10,\n\tCGROUP_INET6_POST_BIND = 11,\n\tCGROUP_UDP4_SENDMSG = 12,\n\tCGROUP_UDP6_SENDMSG = 13,\n\tCGROUP_UNIX_SENDMSG = 14,\n\tCGROUP_SYSCTL = 15,\n\tCGROUP_UDP4_RECVMSG = 16,\n\tCGROUP_UDP6_RECVMSG = 17,\n\tCGROUP_UNIX_RECVMSG = 18,\n\tCGROUP_GETSOCKOPT = 19,\n\tCGROUP_SETSOCKOPT = 20,\n\tCGROUP_INET4_GETPEERNAME = 21,\n\tCGROUP_INET6_GETPEERNAME = 22,\n\tCGROUP_UNIX_GETPEERNAME = 23,\n\tCGROUP_INET4_GETSOCKNAME = 24,\n\tCGROUP_INET6_GETSOCKNAME = 25,\n\tCGROUP_UNIX_GETSOCKNAME = 26,\n\tCGROUP_INET_SOCK_RELEASE = 27,\n\tCGROUP_LSM_START = 28,\n\tCGROUP_LSM_END = 27,\n\tMAX_CGROUP_BPF_ATTACH_TYPE = 28,\n};\n\nenum cgroup_filetype {\n\tCGROUP_FILE_PROCS = 0,\n\tCGROUP_FILE_TASKS = 1,\n};\n\nenum cgroup_opt_features {\n\tOPT_FEATURE_COUNT = 0,\n};\n\nenum cgroup_subsys_id {\n\tcpuset_cgrp_id = 0,\n\tcpu_cgrp_id = 1,\n\tcpuacct_cgrp_id = 2,\n\tio_cgrp_id = 3,\n\tmemory_cgrp_id = 4,\n\tdevices_cgrp_id = 5,\n\tfreezer_cgrp_id = 6,\n\tnet_cls_cgrp_id = 7,\n\tperf_event_cgrp_id = 8,\n\tnet_prio_cgrp_id = 9,\n\thugetlb_cgrp_id = 10,\n\tpids_cgrp_id = 11,\n\tCGROUP_SUBSYS_COUNT = 12,\n};\n\nenum chacha_constants {\n\tCHACHA_CONSTANT_EXPA = 1634760805,\n\tCHACHA_CONSTANT_ND_3 = 857760878,\n\tCHACHA_CONSTANT_2_BY = 2036477234,\n\tCHACHA_CONSTANT_TE_K = 1797285236,\n};\n\nenum cleanup_prefix_rt_t {\n\tCLEANUP_PREFIX_RT_NOP = 0,\n\tCLEANUP_PREFIX_RT_DEL = 1,\n\tCLEANUP_PREFIX_RT_EXPIRE = 2,\n};\n\nenum clear_refs_types {\n\tCLEAR_REFS_ALL = 1,\n\tCLEAR_REFS_ANON = 2,\n\tCLEAR_REFS_MAPPED = 3,\n\tCLEAR_REFS_SOFT_DIRTY = 4,\n\tCLEAR_REFS_MM_HIWATER_RSS = 5,\n\tCLEAR_REFS_LAST = 6,\n};\n\nenum clock_event_state {\n\tCLOCK_EVT_STATE_DETACHED = 0,\n\tCLOCK_EVT_STATE_SHUTDOWN = 1,\n\tCLOCK_EVT_STATE_PERIODIC = 2,\n\tCLOCK_EVT_STATE_ONESHOT = 3,\n\tCLOCK_EVT_STATE_ONESHOT_STOPPED = 4,\n};\n\nenum clocksource_ids {\n\tCSID_GENERIC = 0,\n\tCSID_ARM_ARCH_COUNTER = 1,\n\tCSID_S390_TOD = 2,\n\tCSID_X86_TSC_EARLY = 3,\n\tCSID_X86_TSC = 4,\n\tCSID_X86_KVM_CLK = 5,\n\tCSID_X86_ART = 6,\n\tCSID_MAX = 7,\n};\n\nenum cmis_cdb_fw_write_mechanism {\n\tCMIS_CDB_FW_WRITE_MECHANISM_NONE = 0,\n\tCMIS_CDB_FW_WRITE_MECHANISM_LPL = 1,\n\tCMIS_CDB_FW_WRITE_MECHANISM_EPL = 16,\n\tCMIS_CDB_FW_WRITE_MECHANISM_BOTH = 17,\n};\n\nenum compact_priority {\n\tCOMPACT_PRIO_SYNC_FULL = 0,\n\tMIN_COMPACT_PRIORITY = 0,\n\tCOMPACT_PRIO_SYNC_LIGHT = 1,\n\tMIN_COMPACT_COSTLY_PRIORITY = 1,\n\tDEF_COMPACT_PRIORITY = 1,\n\tCOMPACT_PRIO_ASYNC = 2,\n\tINIT_COMPACT_PRIORITY = 2,\n};\n\nenum compact_result {\n\tCOMPACT_NOT_SUITABLE_ZONE = 0,\n\tCOMPACT_SKIPPED = 1,\n\tCOMPACT_DEFERRED = 2,\n\tCOMPACT_NO_SUITABLE_PAGE = 3,\n\tCOMPACT_CONTINUE = 4,\n\tCOMPACT_COMPLETE = 5,\n\tCOMPACT_PARTIAL_SKIPPED = 6,\n\tCOMPACT_CONTENDED = 7,\n\tCOMPACT_SUCCESS = 8,\n};\n\nenum con_flush_mode {\n\tCONSOLE_FLUSH_PENDING = 0,\n\tCONSOLE_REPLAY_ALL = 1,\n};\n\nenum con_msg_format_flags {\n\tMSG_FORMAT_DEFAULT = 0,\n\tMSG_FORMAT_SYSLOG = 1,\n};\n\nenum con_scroll {\n\tSM_UP = 0,\n\tSM_DOWN = 1,\n};\n\nenum cons_flags {\n\tCON_PRINTBUFFER = 1,\n\tCON_CONSDEV = 2,\n\tCON_ENABLED = 4,\n\tCON_BOOT = 8,\n\tCON_ANYTIME = 16,\n\tCON_BRL = 32,\n\tCON_EXTENDED = 64,\n\tCON_SUSPENDED = 128,\n\tCON_NBCON = 256,\n};\n\nenum cpio_fields {\n\tC_MAGIC = 0,\n\tC_INO = 1,\n\tC_MODE = 2,\n\tC_UID = 3,\n\tC_GID = 4,\n\tC_NLINK = 5,\n\tC_MTIME = 6,\n\tC_FILESIZE = 7,\n\tC_MAJ = 8,\n\tC_MIN = 9,\n\tC_RMAJ = 10,\n\tC_RMIN = 11,\n\tC_NAMESIZE = 12,\n\tC_CHKSUM = 13,\n\tC_NFIELDS = 14,\n};\n\nenum cppc_regs {\n\tHIGHEST_PERF = 0,\n\tNOMINAL_PERF = 1,\n\tLOW_NON_LINEAR_PERF = 2,\n\tLOWEST_PERF = 3,\n\tGUARANTEED_PERF = 4,\n\tDESIRED_PERF = 5,\n\tMIN_PERF = 6,\n\tMAX_PERF = 7,\n\tPERF_REDUC_TOLERANCE = 8,\n\tTIME_WINDOW = 9,\n\tCTR_WRAP_TIME = 10,\n\tREFERENCE_CTR = 11,\n\tDELIVERED_CTR = 12,\n\tPERF_LIMITED = 13,\n\tENABLE = 14,\n\tAUTO_SEL_ENABLE = 15,\n\tAUTO_ACT_WINDOW = 16,\n\tENERGY_PERF = 17,\n\tREFERENCE_PERF = 18,\n\tLOWEST_FREQ = 19,\n\tNOMINAL_FREQ = 20,\n};\n\nenum cpu_idle_type {\n\t__CPU_NOT_IDLE = 0,\n\tCPU_IDLE = 1,\n\tCPU_NEWLY_IDLE = 2,\n\tCPU_MAX_IDLE_TYPES = 3,\n};\n\nenum cpu_mitigations {\n\tCPU_MITIGATIONS_OFF = 0,\n\tCPU_MITIGATIONS_AUTO = 1,\n\tCPU_MITIGATIONS_AUTO_NOSMT = 2,\n};\n\nenum cpu_pm_event {\n\tCPU_PM_ENTER = 0,\n\tCPU_PM_ENTER_FAILED = 1,\n\tCPU_PM_EXIT = 2,\n\tCPU_CLUSTER_PM_ENTER = 3,\n\tCPU_CLUSTER_PM_ENTER_FAILED = 4,\n\tCPU_CLUSTER_PM_EXIT = 5,\n};\n\nenum cpu_usage_stat {\n\tCPUTIME_USER = 0,\n\tCPUTIME_NICE = 1,\n\tCPUTIME_SYSTEM = 2,\n\tCPUTIME_SOFTIRQ = 3,\n\tCPUTIME_IRQ = 4,\n\tCPUTIME_IDLE = 5,\n\tCPUTIME_IOWAIT = 6,\n\tCPUTIME_STEAL = 7,\n\tCPUTIME_GUEST = 8,\n\tCPUTIME_GUEST_NICE = 9,\n\tNR_STATS = 10,\n};\n\nenum cpuacct_stat_index {\n\tCPUACCT_STAT_USER = 0,\n\tCPUACCT_STAT_SYSTEM = 1,\n\tCPUACCT_STAT_NSTATS = 2,\n};\n\nenum cpufreq_table_sorting {\n\tCPUFREQ_TABLE_UNSORTED = 0,\n\tCPUFREQ_TABLE_SORTED_ASCENDING = 1,\n\tCPUFREQ_TABLE_SORTED_DESCENDING = 2,\n};\n\nenum cpuhp_smt_control {\n\tCPU_SMT_ENABLED = 0,\n\tCPU_SMT_DISABLED = 1,\n\tCPU_SMT_FORCE_DISABLED = 2,\n\tCPU_SMT_NOT_SUPPORTED = 3,\n\tCPU_SMT_NOT_IMPLEMENTED = 4,\n};\n\nenum cpuhp_state {\n\tCPUHP_INVALID = -1,\n\tCPUHP_OFFLINE = 0,\n\tCPUHP_CREATE_THREADS = 1,\n\tCPUHP_PERF_PREPARE = 2,\n\tCPUHP_PERF_X86_PREPARE = 3,\n\tCPUHP_PERF_X86_AMD_UNCORE_PREP = 4,\n\tCPUHP_PERF_POWER = 5,\n\tCPUHP_PERF_SUPERH = 6,\n\tCPUHP_X86_HPET_DEAD = 7,\n\tCPUHP_X86_MCE_DEAD = 8,\n\tCPUHP_VIRT_NET_DEAD = 9,\n\tCPUHP_IBMVNIC_DEAD = 10,\n\tCPUHP_SLUB_DEAD = 11,\n\tCPUHP_DEBUG_OBJ_DEAD = 12,\n\tCPUHP_MM_WRITEBACK_DEAD = 13,\n\tCPUHP_MM_VMSTAT_DEAD = 14,\n\tCPUHP_SOFTIRQ_DEAD = 15,\n\tCPUHP_NET_MVNETA_DEAD = 16,\n\tCPUHP_CPUIDLE_DEAD = 17,\n\tCPUHP_ARM64_FPSIMD_DEAD = 18,\n\tCPUHP_ARM_OMAP_WAKE_DEAD = 19,\n\tCPUHP_IRQ_POLL_DEAD = 20,\n\tCPUHP_BLOCK_SOFTIRQ_DEAD = 21,\n\tCPUHP_BIO_DEAD = 22,\n\tCPUHP_ACPI_CPUDRV_DEAD = 23,\n\tCPUHP_S390_PFAULT_DEAD = 24,\n\tCPUHP_BLK_MQ_DEAD = 25,\n\tCPUHP_FS_BUFF_DEAD = 26,\n\tCPUHP_PRINTK_DEAD = 27,\n\tCPUHP_MM_MEMCQ_DEAD = 28,\n\tCPUHP_PERCPU_CNT_DEAD = 29,\n\tCPUHP_RADIX_DEAD = 30,\n\tCPUHP_PAGE_ALLOC = 31,\n\tCPUHP_NET_DEV_DEAD = 32,\n\tCPUHP_PCI_XGENE_DEAD = 33,\n\tCPUHP_IOMMU_IOVA_DEAD = 34,\n\tCPUHP_AP_ARM_CACHE_B15_RAC_DEAD = 35,\n\tCPUHP_PADATA_DEAD = 36,\n\tCPUHP_AP_DTPM_CPU_DEAD = 37,\n\tCPUHP_RANDOM_PREPARE = 38,\n\tCPUHP_WORKQUEUE_PREP = 39,\n\tCPUHP_POWER_NUMA_PREPARE = 40,\n\tCPUHP_HRTIMERS_PREPARE = 41,\n\tCPUHP_X2APIC_PREPARE = 42,\n\tCPUHP_SMPCFD_PREPARE = 43,\n\tCPUHP_RELAY_PREPARE = 44,\n\tCPUHP_MD_RAID5_PREPARE = 45,\n\tCPUHP_RCUTREE_PREP = 46,\n\tCPUHP_CPUIDLE_COUPLED_PREPARE = 47,\n\tCPUHP_POWERPC_PMAC_PREPARE = 48,\n\tCPUHP_POWERPC_MMU_CTX_PREPARE = 49,\n\tCPUHP_XEN_PREPARE = 50,\n\tCPUHP_XEN_EVTCHN_PREPARE = 51,\n\tCPUHP_ARM_SHMOBILE_SCU_PREPARE = 52,\n\tCPUHP_SH_SH3X_PREPARE = 53,\n\tCPUHP_TOPOLOGY_PREPARE = 54,\n\tCPUHP_NET_IUCV_PREPARE = 55,\n\tCPUHP_ARM_BL_PREPARE = 56,\n\tCPUHP_TRACE_RB_PREPARE = 57,\n\tCPUHP_MM_ZS_PREPARE = 58,\n\tCPUHP_MM_ZSWP_POOL_PREPARE = 59,\n\tCPUHP_KVM_PPC_BOOK3S_PREPARE = 60,\n\tCPUHP_ZCOMP_PREPARE = 61,\n\tCPUHP_TIMERS_PREPARE = 62,\n\tCPUHP_TMIGR_PREPARE = 63,\n\tCPUHP_MIPS_SOC_PREPARE = 64,\n\tCPUHP_BP_PREPARE_DYN = 65,\n\tCPUHP_BP_PREPARE_DYN_END = 85,\n\tCPUHP_BP_KICK_AP = 86,\n\tCPUHP_BRINGUP_CPU = 87,\n\tCPUHP_AP_IDLE_DEAD = 88,\n\tCPUHP_AP_OFFLINE = 89,\n\tCPUHP_AP_CACHECTRL_STARTING = 90,\n\tCPUHP_AP_SCHED_STARTING = 91,\n\tCPUHP_AP_RCUTREE_DYING = 92,\n\tCPUHP_AP_CPU_PM_STARTING = 93,\n\tCPUHP_AP_IRQ_GIC_STARTING = 94,\n\tCPUHP_AP_IRQ_HIP04_STARTING = 95,\n\tCPUHP_AP_IRQ_APPLE_AIC_STARTING = 96,\n\tCPUHP_AP_IRQ_ARMADA_XP_STARTING = 97,\n\tCPUHP_AP_IRQ_BCM2836_STARTING = 98,\n\tCPUHP_AP_IRQ_MIPS_GIC_STARTING = 99,\n\tCPUHP_AP_IRQ_EIOINTC_STARTING = 100,\n\tCPUHP_AP_IRQ_AVECINTC_STARTING = 101,\n\tCPUHP_AP_IRQ_SIFIVE_PLIC_STARTING = 102,\n\tCPUHP_AP_IRQ_THEAD_ACLINT_SSWI_STARTING = 103,\n\tCPUHP_AP_IRQ_RISCV_IMSIC_STARTING = 104,\n\tCPUHP_AP_IRQ_RISCV_SBI_IPI_STARTING = 105,\n\tCPUHP_AP_ARM_MVEBU_COHERENCY = 106,\n\tCPUHP_AP_PERF_X86_AMD_UNCORE_STARTING = 107,\n\tCPUHP_AP_PERF_X86_STARTING = 108,\n\tCPUHP_AP_PERF_X86_AMD_IBS_STARTING = 109,\n\tCPUHP_AP_PERF_XTENSA_STARTING = 110,\n\tCPUHP_AP_ARM_VFP_STARTING = 111,\n\tCPUHP_AP_ARM64_DEBUG_MONITORS_STARTING = 112,\n\tCPUHP_AP_PERF_ARM_HW_BREAKPOINT_STARTING = 113,\n\tCPUHP_AP_PERF_ARM_ACPI_STARTING = 114,\n\tCPUHP_AP_PERF_ARM_STARTING = 115,\n\tCPUHP_AP_PERF_RISCV_STARTING = 116,\n\tCPUHP_AP_ARM_L2X0_STARTING = 117,\n\tCPUHP_AP_EXYNOS4_MCT_TIMER_STARTING = 118,\n\tCPUHP_AP_ARM_ARCH_TIMER_STARTING = 119,\n\tCPUHP_AP_ARM_ARCH_TIMER_EVTSTRM_STARTING = 120,\n\tCPUHP_AP_ARM_GLOBAL_TIMER_STARTING = 121,\n\tCPUHP_AP_JCORE_TIMER_STARTING = 122,\n\tCPUHP_AP_ARM_TWD_STARTING = 123,\n\tCPUHP_AP_QCOM_TIMER_STARTING = 124,\n\tCPUHP_AP_TEGRA_TIMER_STARTING = 125,\n\tCPUHP_AP_ARMADA_TIMER_STARTING = 126,\n\tCPUHP_AP_MIPS_GIC_TIMER_STARTING = 127,\n\tCPUHP_AP_ARC_TIMER_STARTING = 128,\n\tCPUHP_AP_REALTEK_TIMER_STARTING = 129,\n\tCPUHP_AP_RISCV_TIMER_STARTING = 130,\n\tCPUHP_AP_CLINT_TIMER_STARTING = 131,\n\tCPUHP_AP_CSKY_TIMER_STARTING = 132,\n\tCPUHP_AP_TI_GP_TIMER_STARTING = 133,\n\tCPUHP_AP_HYPERV_TIMER_STARTING = 134,\n\tCPUHP_AP_DUMMY_TIMER_STARTING = 135,\n\tCPUHP_AP_ARM_XEN_STARTING = 136,\n\tCPUHP_AP_ARM_XEN_RUNSTATE_STARTING = 137,\n\tCPUHP_AP_ARM_CORESIGHT_STARTING = 138,\n\tCPUHP_AP_ARM_CORESIGHT_CTI_STARTING = 139,\n\tCPUHP_AP_ARM64_ISNDEP_STARTING = 140,\n\tCPUHP_AP_SMPCFD_DYING = 141,\n\tCPUHP_AP_HRTIMERS_DYING = 142,\n\tCPUHP_AP_TICK_DYING = 143,\n\tCPUHP_AP_X86_TBOOT_DYING = 144,\n\tCPUHP_AP_ARM_CACHE_B15_RAC_DYING = 145,\n\tCPUHP_AP_ONLINE = 146,\n\tCPUHP_TEARDOWN_CPU = 147,\n\tCPUHP_AP_ONLINE_IDLE = 148,\n\tCPUHP_AP_HYPERV_ONLINE = 149,\n\tCPUHP_AP_KVM_ONLINE = 150,\n\tCPUHP_AP_SCHED_WAIT_EMPTY = 151,\n\tCPUHP_AP_SMPBOOT_THREADS = 152,\n\tCPUHP_AP_IRQ_AFFINITY_ONLINE = 153,\n\tCPUHP_AP_BLK_MQ_ONLINE = 154,\n\tCPUHP_AP_ARM_MVEBU_SYNC_CLOCKS = 155,\n\tCPUHP_AP_X86_INTEL_EPB_ONLINE = 156,\n\tCPUHP_AP_PERF_ONLINE = 157,\n\tCPUHP_AP_PERF_X86_ONLINE = 158,\n\tCPUHP_AP_PERF_X86_UNCORE_ONLINE = 159,\n\tCPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE = 160,\n\tCPUHP_AP_PERF_X86_AMD_POWER_ONLINE = 161,\n\tCPUHP_AP_PERF_S390_CF_ONLINE = 162,\n\tCPUHP_AP_PERF_S390_SF_ONLINE = 163,\n\tCPUHP_AP_PERF_ARM_CCI_ONLINE = 164,\n\tCPUHP_AP_PERF_ARM_CCN_ONLINE = 165,\n\tCPUHP_AP_PERF_ARM_HISI_CPA_ONLINE = 166,\n\tCPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE = 167,\n\tCPUHP_AP_PERF_ARM_HISI_HHA_ONLINE = 168,\n\tCPUHP_AP_PERF_ARM_HISI_L3_ONLINE = 169,\n\tCPUHP_AP_PERF_ARM_HISI_PA_ONLINE = 170,\n\tCPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE = 171,\n\tCPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE = 172,\n\tCPUHP_AP_PERF_ARM_HNS3_PMU_ONLINE = 173,\n\tCPUHP_AP_PERF_ARM_L2X0_ONLINE = 174,\n\tCPUHP_AP_PERF_ARM_QCOM_L2_ONLINE = 175,\n\tCPUHP_AP_PERF_ARM_QCOM_L3_ONLINE = 176,\n\tCPUHP_AP_PERF_ARM_APM_XGENE_ONLINE = 177,\n\tCPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE = 178,\n\tCPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE = 179,\n\tCPUHP_AP_PERF_ARM_MRVL_PEM_ONLINE = 180,\n\tCPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE = 181,\n\tCPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE = 182,\n\tCPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE = 183,\n\tCPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE = 184,\n\tCPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE = 185,\n\tCPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE = 186,\n\tCPUHP_AP_PERF_CSKY_ONLINE = 187,\n\tCPUHP_AP_TMIGR_ONLINE = 188,\n\tCPUHP_AP_WATCHDOG_ONLINE = 189,\n\tCPUHP_AP_WORKQUEUE_ONLINE = 190,\n\tCPUHP_AP_RANDOM_ONLINE = 191,\n\tCPUHP_AP_RCUTREE_ONLINE = 192,\n\tCPUHP_AP_KTHREADS_ONLINE = 193,\n\tCPUHP_AP_BASE_CACHEINFO_ONLINE = 194,\n\tCPUHP_AP_ONLINE_DYN = 195,\n\tCPUHP_AP_ONLINE_DYN_END = 235,\n\tCPUHP_AP_X86_HPET_ONLINE = 236,\n\tCPUHP_AP_X86_KVM_CLK_ONLINE = 237,\n\tCPUHP_AP_ACTIVE = 238,\n\tCPUHP_ONLINE = 239,\n};\n\nenum cpuhp_sync_state {\n\tSYNC_STATE_DEAD = 0,\n\tSYNC_STATE_KICKED = 1,\n\tSYNC_STATE_SHOULD_DIE = 2,\n\tSYNC_STATE_ALIVE = 3,\n\tSYNC_STATE_SHOULD_ONLINE = 4,\n\tSYNC_STATE_ONLINE = 5,\n};\n\nenum createmode4 {\n\tNFS4_CREATE_UNCHECKED = 0,\n\tNFS4_CREATE_GUARDED = 1,\n\tNFS4_CREATE_EXCLUSIVE = 2,\n\tNFS4_CREATE_EXCLUSIVE4_1 = 3,\n};\n\nenum criteria {\n\tCR_POWER2_ALIGNED = 0,\n\tCR_GOAL_LEN_FAST = 1,\n\tCR_BEST_AVAIL_LEN = 2,\n\tCR_GOAL_LEN_SLOW = 3,\n\tCR_ANY_FREE = 4,\n\tEXT4_MB_NUM_CRS = 5,\n};\n\nenum csr_target {\n\tMACRO_CTRL = 7,\n};\n\nenum ct_dccp_states {\n\tCT_DCCP_NONE = 0,\n\tCT_DCCP_REQUEST = 1,\n\tCT_DCCP_RESPOND = 2,\n\tCT_DCCP_PARTOPEN = 3,\n\tCT_DCCP_OPEN = 4,\n\tCT_DCCP_CLOSEREQ = 5,\n\tCT_DCCP_CLOSING = 6,\n\tCT_DCCP_TIMEWAIT = 7,\n\tCT_DCCP_IGNORE = 8,\n\tCT_DCCP_INVALID = 9,\n\t__CT_DCCP_MAX = 10,\n};\n\nenum cti_port_type {\n\tCTI_PORT_TYPE_NONE = 0,\n\tCTI_PORT_TYPE_RS232 = 1,\n\tCTI_PORT_TYPE_RS422_485 = 2,\n\tCTI_PORT_TYPE_RS232_422_485_HW = 3,\n\tCTI_PORT_TYPE_RS232_422_485_SW = 4,\n\tCTI_PORT_TYPE_RS232_422_485_4B = 5,\n\tCTI_PORT_TYPE_RS232_422_485_2B = 6,\n\tCTI_PORT_TYPE_MAX = 7,\n};\n\nenum ctx_state {\n\tCT_STATE_DISABLED = -1,\n\tCT_STATE_KERNEL = 0,\n\tCT_STATE_IDLE = 1,\n\tCT_STATE_USER = 2,\n\tCT_STATE_GUEST = 3,\n\tCT_STATE_MAX = 4,\n};\n\nenum cv1800_pin_io_type {\n\tIO_TYPE_1V8_ONLY = 0,\n\tIO_TYPE_1V8_OR_3V3 = 1,\n\tIO_TYPE_AUDIO = 2,\n\tIO_TYPE_ETH = 3,\n};\n\nenum d_real_type {\n\tD_REAL_DATA = 0,\n\tD_REAL_METADATA = 1,\n};\n\nenum d_walk_ret {\n\tD_WALK_CONTINUE = 0,\n\tD_WALK_QUIT = 1,\n\tD_WALK_NORETRY = 2,\n\tD_WALK_SKIP = 3,\n};\n\nenum data_content4 {\n\tNFS4_CONTENT_DATA = 0,\n\tNFS4_CONTENT_HOLE = 1,\n};\n\nenum dax_access_mode {\n\tDAX_ACCESS = 0,\n\tDAX_RECOVERY_WRITE = 1,\n};\n\nenum dax_device_flags {\n\tDAXDEV_ALIVE = 0,\n\tDAXDEV_WRITE_CACHE = 1,\n\tDAXDEV_SYNC = 2,\n\tDAXDEV_NOCACHE = 3,\n\tDAXDEV_NOMC = 4,\n};\n\nenum dax_driver_type {\n\tDAXDRV_KMEM_TYPE = 0,\n\tDAXDRV_DEVICE_TYPE = 1,\n};\n\nenum dbc_state {\n\tDS_DISABLED = 0,\n\tDS_INITIALIZED = 1,\n\tDS_ENABLED = 2,\n\tDS_CONNECTED = 3,\n\tDS_CONFIGURED = 4,\n\tDS_MAX = 5,\n};\n\nenum dbgfs_get_mode {\n\tDBGFS_GET_ALREADY = 0,\n\tDBGFS_GET_REGULAR = 1,\n\tDBGFS_GET_SHORT = 2,\n};\n\nenum dccp_state {\n\tDCCP_OPEN = 1,\n\tDCCP_REQUESTING = 2,\n\tDCCP_LISTEN = 10,\n\tDCCP_RESPOND = 3,\n\tDCCP_ACTIVE_CLOSEREQ = 4,\n\tDCCP_PASSIVE_CLOSE = 8,\n\tDCCP_CLOSING = 11,\n\tDCCP_TIME_WAIT = 6,\n\tDCCP_CLOSED = 7,\n\tDCCP_NEW_SYN_RECV = 12,\n\tDCCP_PARTOPEN = 14,\n\tDCCP_PASSIVE_CLOSEREQ = 15,\n\tDCCP_MAX_STATES = 16,\n};\n\nenum dd_data_dir {\n\tDD_READ = 0,\n\tDD_WRITE = 1,\n};\n\nenum dd_prio {\n\tDD_RT_PRIO = 0,\n\tDD_BE_PRIO = 1,\n\tDD_IDLE_PRIO = 2,\n\tDD_PRIO_MAX = 2,\n};\n\nenum dentry_d_lock_class {\n\tDENTRY_D_LOCK_NORMAL = 0,\n\tDENTRY_D_LOCK_NESTED = 1,\n};\n\nenum depot_counter_id {\n\tDEPOT_COUNTER_REFD_ALLOCS = 0,\n\tDEPOT_COUNTER_REFD_FREES = 1,\n\tDEPOT_COUNTER_REFD_INUSE = 2,\n\tDEPOT_COUNTER_FREELIST_SIZE = 3,\n\tDEPOT_COUNTER_PERSIST_COUNT = 4,\n\tDEPOT_COUNTER_PERSIST_BYTES = 5,\n\tDEPOT_COUNTER_COUNT = 6,\n};\n\nenum desc_state {\n\tdesc_miss = -1,\n\tdesc_reserved = 0,\n\tdesc_committed = 1,\n\tdesc_finalized = 2,\n\tdesc_reusable = 3,\n};\n\nenum dev_dma_attr {\n\tDEV_DMA_NOT_SUPPORTED = 0,\n\tDEV_DMA_NON_COHERENT = 1,\n\tDEV_DMA_COHERENT = 2,\n};\n\nenum dev_pm_opp_event {\n\tOPP_EVENT_ADD = 0,\n\tOPP_EVENT_REMOVE = 1,\n\tOPP_EVENT_ENABLE = 2,\n\tOPP_EVENT_DISABLE = 3,\n\tOPP_EVENT_ADJUST_VOLTAGE = 4,\n};\n\nenum dev_pm_qos_req_type {\n\tDEV_PM_QOS_RESUME_LATENCY = 1,\n\tDEV_PM_QOS_LATENCY_TOLERANCE = 2,\n\tDEV_PM_QOS_MIN_FREQUENCY = 3,\n\tDEV_PM_QOS_MAX_FREQUENCY = 4,\n\tDEV_PM_QOS_FLAGS = 5,\n};\n\nenum dev_prop_type {\n\tDEV_PROP_U8 = 0,\n\tDEV_PROP_U16 = 1,\n\tDEV_PROP_U32 = 2,\n\tDEV_PROP_U64 = 3,\n\tDEV_PROP_STRING = 4,\n\tDEV_PROP_REF = 5,\n};\n\nenum devcg_behavior {\n\tDEVCG_DEFAULT_NONE = 0,\n\tDEVCG_DEFAULT_ALLOW = 1,\n\tDEVCG_DEFAULT_DENY = 2,\n};\n\nenum devfreq_timer {\n\tDEVFREQ_TIMER_DEFERRABLE = 0,\n\tDEVFREQ_TIMER_DELAYED = 1,\n\tDEVFREQ_TIMER_NUM = 2,\n};\n\nenum device_link_state {\n\tDL_STATE_NONE = -1,\n\tDL_STATE_DORMANT = 0,\n\tDL_STATE_AVAILABLE = 1,\n\tDL_STATE_CONSUMER_PROBE = 2,\n\tDL_STATE_ACTIVE = 3,\n\tDL_STATE_SUPPLIER_UNBIND = 4,\n};\n\nenum device_physical_location_horizontal_position {\n\tDEVICE_HORI_POS_LEFT = 0,\n\tDEVICE_HORI_POS_CENTER = 1,\n\tDEVICE_HORI_POS_RIGHT = 2,\n};\n\nenum device_physical_location_panel {\n\tDEVICE_PANEL_TOP = 0,\n\tDEVICE_PANEL_BOTTOM = 1,\n\tDEVICE_PANEL_LEFT = 2,\n\tDEVICE_PANEL_RIGHT = 3,\n\tDEVICE_PANEL_FRONT = 4,\n\tDEVICE_PANEL_BACK = 5,\n\tDEVICE_PANEL_UNKNOWN = 6,\n};\n\nenum device_physical_location_vertical_position {\n\tDEVICE_VERT_POS_UPPER = 0,\n\tDEVICE_VERT_POS_CENTER = 1,\n\tDEVICE_VERT_POS_LOWER = 2,\n};\n\nenum device_removable {\n\tDEVICE_REMOVABLE_NOT_SUPPORTED = 0,\n\tDEVICE_REMOVABLE_UNKNOWN = 1,\n\tDEVICE_FIXED = 2,\n\tDEVICE_REMOVABLE = 3,\n};\n\nenum devkmsg_log_bits {\n\t__DEVKMSG_LOG_BIT_ON = 0,\n\t__DEVKMSG_LOG_BIT_OFF = 1,\n\t__DEVKMSG_LOG_BIT_LOCK = 2,\n};\n\nenum devkmsg_log_masks {\n\tDEVKMSG_LOG_MASK_ON = 1,\n\tDEVKMSG_LOG_MASK_OFF = 2,\n\tDEVKMSG_LOG_MASK_LOCK = 4,\n};\n\nenum devlink_port_flavour {\n\tDEVLINK_PORT_FLAVOUR_PHYSICAL = 0,\n\tDEVLINK_PORT_FLAVOUR_CPU = 1,\n\tDEVLINK_PORT_FLAVOUR_DSA = 2,\n\tDEVLINK_PORT_FLAVOUR_PCI_PF = 3,\n\tDEVLINK_PORT_FLAVOUR_PCI_VF = 4,\n\tDEVLINK_PORT_FLAVOUR_VIRTUAL = 5,\n\tDEVLINK_PORT_FLAVOUR_UNUSED = 6,\n\tDEVLINK_PORT_FLAVOUR_PCI_SF = 7,\n};\n\nenum devlink_port_fn_opstate {\n\tDEVLINK_PORT_FN_OPSTATE_DETACHED = 0,\n\tDEVLINK_PORT_FN_OPSTATE_ATTACHED = 1,\n};\n\nenum devlink_port_fn_state {\n\tDEVLINK_PORT_FN_STATE_INACTIVE = 0,\n\tDEVLINK_PORT_FN_STATE_ACTIVE = 1,\n};\n\nenum devlink_port_type {\n\tDEVLINK_PORT_TYPE_NOTSET = 0,\n\tDEVLINK_PORT_TYPE_AUTO = 1,\n\tDEVLINK_PORT_TYPE_ETH = 2,\n\tDEVLINK_PORT_TYPE_IB = 3,\n};\n\nenum devlink_rate_type {\n\tDEVLINK_RATE_TYPE_LEAF = 0,\n\tDEVLINK_RATE_TYPE_NODE = 1,\n};\n\nenum devm_ioremap_type {\n\tDEVM_IOREMAP = 0,\n\tDEVM_IOREMAP_UC = 1,\n\tDEVM_IOREMAP_WC = 2,\n\tDEVM_IOREMAP_NP = 3,\n};\n\nenum die_val {\n\tDIE_UNUSED = 0,\n\tDIE_TRAP = 1,\n\tDIE_OOPS = 2,\n};\n\nenum dim_cq_period_mode {\n\tDIM_CQ_PERIOD_MODE_START_FROM_EQE = 0,\n\tDIM_CQ_PERIOD_MODE_START_FROM_CQE = 1,\n\tDIM_CQ_PERIOD_NUM_MODES = 2,\n};\n\nenum dim_state {\n\tDIM_START_MEASURE = 0,\n\tDIM_MEASURE_IN_PROGRESS = 1,\n\tDIM_APPLY_NEW_PROFILE = 2,\n};\n\nenum dim_stats_state {\n\tDIM_STATS_WORSE = 0,\n\tDIM_STATS_SAME = 1,\n\tDIM_STATS_BETTER = 2,\n};\n\nenum dim_step_result {\n\tDIM_STEPPED = 0,\n\tDIM_TOO_TIRED = 1,\n\tDIM_ON_EDGE = 2,\n};\n\nenum dim_tune_state {\n\tDIM_PARKING_ON_TOP = 0,\n\tDIM_PARKING_TIRED = 1,\n\tDIM_GOING_RIGHT = 2,\n\tDIM_GOING_LEFT = 3,\n};\n\nenum display_flags {\n\tDISPLAY_FLAGS_HSYNC_LOW = 1,\n\tDISPLAY_FLAGS_HSYNC_HIGH = 2,\n\tDISPLAY_FLAGS_VSYNC_LOW = 4,\n\tDISPLAY_FLAGS_VSYNC_HIGH = 8,\n\tDISPLAY_FLAGS_DE_LOW = 16,\n\tDISPLAY_FLAGS_DE_HIGH = 32,\n\tDISPLAY_FLAGS_PIXDATA_POSEDGE = 64,\n\tDISPLAY_FLAGS_PIXDATA_NEGEDGE = 128,\n\tDISPLAY_FLAGS_INTERLACED = 256,\n\tDISPLAY_FLAGS_DOUBLESCAN = 512,\n\tDISPLAY_FLAGS_DOUBLECLK = 1024,\n\tDISPLAY_FLAGS_SYNC_POSEDGE = 2048,\n\tDISPLAY_FLAGS_SYNC_NEGEDGE = 4096,\n};\n\nenum dl_bw_request {\n\tdl_bw_req_deactivate = 0,\n\tdl_bw_req_alloc = 1,\n\tdl_bw_req_free = 2,\n};\n\nenum dl_dev_state {\n\tDL_DEV_NO_DRIVER = 0,\n\tDL_DEV_PROBING = 1,\n\tDL_DEV_DRIVER_BOUND = 2,\n\tDL_DEV_UNBINDING = 3,\n};\n\nenum dl_param {\n\tDL_RUNTIME = 0,\n\tDL_PERIOD = 1,\n};\n\nenum dma_ctrl_flags {\n\tDMA_PREP_INTERRUPT = 1,\n\tDMA_CTRL_ACK = 2,\n\tDMA_PREP_PQ_DISABLE_P = 4,\n\tDMA_PREP_PQ_DISABLE_Q = 8,\n\tDMA_PREP_CONTINUE = 16,\n\tDMA_PREP_FENCE = 32,\n\tDMA_CTRL_REUSE = 64,\n\tDMA_PREP_CMD = 128,\n\tDMA_PREP_REPEAT = 256,\n\tDMA_PREP_LOAD_EOT = 512,\n};\n\nenum dma_data_direction {\n\tDMA_BIDIRECTIONAL = 0,\n\tDMA_TO_DEVICE = 1,\n\tDMA_FROM_DEVICE = 2,\n\tDMA_NONE = 3,\n};\n\nenum dma_desc_metadata_mode {\n\tDESC_METADATA_NONE = 0,\n\tDESC_METADATA_CLIENT = 1,\n\tDESC_METADATA_ENGINE = 2,\n};\n\nenum dma_fence_flag_bits {\n\tDMA_FENCE_FLAG_SIGNALED_BIT = 0,\n\tDMA_FENCE_FLAG_TIMESTAMP_BIT = 1,\n\tDMA_FENCE_FLAG_ENABLE_SIGNAL_BIT = 2,\n\tDMA_FENCE_FLAG_USER_BITS = 3,\n};\n\nenum dma_residue_granularity {\n\tDMA_RESIDUE_GRANULARITY_DESCRIPTOR = 0,\n\tDMA_RESIDUE_GRANULARITY_SEGMENT = 1,\n\tDMA_RESIDUE_GRANULARITY_BURST = 2,\n};\n\nenum dma_resv_usage {\n\tDMA_RESV_USAGE_KERNEL = 0,\n\tDMA_RESV_USAGE_WRITE = 1,\n\tDMA_RESV_USAGE_READ = 2,\n\tDMA_RESV_USAGE_BOOKKEEP = 3,\n};\n\nenum dma_slave_buswidth {\n\tDMA_SLAVE_BUSWIDTH_UNDEFINED = 0,\n\tDMA_SLAVE_BUSWIDTH_1_BYTE = 1,\n\tDMA_SLAVE_BUSWIDTH_2_BYTES = 2,\n\tDMA_SLAVE_BUSWIDTH_3_BYTES = 3,\n\tDMA_SLAVE_BUSWIDTH_4_BYTES = 4,\n\tDMA_SLAVE_BUSWIDTH_8_BYTES = 8,\n\tDMA_SLAVE_BUSWIDTH_16_BYTES = 16,\n\tDMA_SLAVE_BUSWIDTH_32_BYTES = 32,\n\tDMA_SLAVE_BUSWIDTH_64_BYTES = 64,\n\tDMA_SLAVE_BUSWIDTH_128_BYTES = 128,\n};\n\nenum dma_status {\n\tDMA_COMPLETE = 0,\n\tDMA_IN_PROGRESS = 1,\n\tDMA_PAUSED = 2,\n\tDMA_ERROR = 3,\n\tDMA_OUT_OF_ORDER = 4,\n};\n\nenum dma_transaction_type {\n\tDMA_MEMCPY = 0,\n\tDMA_XOR = 1,\n\tDMA_PQ = 2,\n\tDMA_XOR_VAL = 3,\n\tDMA_PQ_VAL = 4,\n\tDMA_MEMSET = 5,\n\tDMA_MEMSET_SG = 6,\n\tDMA_INTERRUPT = 7,\n\tDMA_PRIVATE = 8,\n\tDMA_ASYNC_TX = 9,\n\tDMA_SLAVE = 10,\n\tDMA_CYCLIC = 11,\n\tDMA_INTERLEAVE = 12,\n\tDMA_COMPLETION_NO_ORDER = 13,\n\tDMA_REPEAT = 14,\n\tDMA_LOAD_EOT = 15,\n\tDMA_TX_TYPE_END = 16,\n};\n\nenum dma_transfer_direction {\n\tDMA_MEM_TO_MEM = 0,\n\tDMA_MEM_TO_DEV = 1,\n\tDMA_DEV_TO_MEM = 2,\n\tDMA_DEV_TO_DEV = 3,\n\tDMA_TRANS_NONE = 4,\n};\n\nenum dmaengine_alignment {\n\tDMAENGINE_ALIGN_1_BYTE = 0,\n\tDMAENGINE_ALIGN_2_BYTES = 1,\n\tDMAENGINE_ALIGN_4_BYTES = 2,\n\tDMAENGINE_ALIGN_8_BYTES = 3,\n\tDMAENGINE_ALIGN_16_BYTES = 4,\n\tDMAENGINE_ALIGN_32_BYTES = 5,\n\tDMAENGINE_ALIGN_64_BYTES = 6,\n\tDMAENGINE_ALIGN_128_BYTES = 7,\n\tDMAENGINE_ALIGN_256_BYTES = 8,\n};\n\nenum dmaengine_tx_result {\n\tDMA_TRANS_NOERROR = 0,\n\tDMA_TRANS_READ_FAILED = 1,\n\tDMA_TRANS_WRITE_FAILED = 2,\n\tDMA_TRANS_ABORTED = 3,\n};\n\nenum dmi_device_type {\n\tDMI_DEV_TYPE_ANY = 0,\n\tDMI_DEV_TYPE_OTHER = 1,\n\tDMI_DEV_TYPE_UNKNOWN = 2,\n\tDMI_DEV_TYPE_VIDEO = 3,\n\tDMI_DEV_TYPE_SCSI = 4,\n\tDMI_DEV_TYPE_ETHERNET = 5,\n\tDMI_DEV_TYPE_TOKENRING = 6,\n\tDMI_DEV_TYPE_SOUND = 7,\n\tDMI_DEV_TYPE_PATA = 8,\n\tDMI_DEV_TYPE_SATA = 9,\n\tDMI_DEV_TYPE_SAS = 10,\n\tDMI_DEV_TYPE_IPMI = -1,\n\tDMI_DEV_TYPE_OEM_STRING = -2,\n\tDMI_DEV_TYPE_DEV_ONBOARD = -3,\n\tDMI_DEV_TYPE_DEV_SLOT = -4,\n};\n\nenum dmi_entry_type {\n\tDMI_ENTRY_BIOS = 0,\n\tDMI_ENTRY_SYSTEM = 1,\n\tDMI_ENTRY_BASEBOARD = 2,\n\tDMI_ENTRY_CHASSIS = 3,\n\tDMI_ENTRY_PROCESSOR = 4,\n\tDMI_ENTRY_MEM_CONTROLLER = 5,\n\tDMI_ENTRY_MEM_MODULE = 6,\n\tDMI_ENTRY_CACHE = 7,\n\tDMI_ENTRY_PORT_CONNECTOR = 8,\n\tDMI_ENTRY_SYSTEM_SLOT = 9,\n\tDMI_ENTRY_ONBOARD_DEVICE = 10,\n\tDMI_ENTRY_OEMSTRINGS = 11,\n\tDMI_ENTRY_SYSCONF = 12,\n\tDMI_ENTRY_BIOS_LANG = 13,\n\tDMI_ENTRY_GROUP_ASSOC = 14,\n\tDMI_ENTRY_SYSTEM_EVENT_LOG = 15,\n\tDMI_ENTRY_PHYS_MEM_ARRAY = 16,\n\tDMI_ENTRY_MEM_DEVICE = 17,\n\tDMI_ENTRY_32_MEM_ERROR = 18,\n\tDMI_ENTRY_MEM_ARRAY_MAPPED_ADDR = 19,\n\tDMI_ENTRY_MEM_DEV_MAPPED_ADDR = 20,\n\tDMI_ENTRY_BUILTIN_POINTING_DEV = 21,\n\tDMI_ENTRY_PORTABLE_BATTERY = 22,\n\tDMI_ENTRY_SYSTEM_RESET = 23,\n\tDMI_ENTRY_HW_SECURITY = 24,\n\tDMI_ENTRY_SYSTEM_POWER_CONTROLS = 25,\n\tDMI_ENTRY_VOLTAGE_PROBE = 26,\n\tDMI_ENTRY_COOLING_DEV = 27,\n\tDMI_ENTRY_TEMP_PROBE = 28,\n\tDMI_ENTRY_ELECTRICAL_CURRENT_PROBE = 29,\n\tDMI_ENTRY_OOB_REMOTE_ACCESS = 30,\n\tDMI_ENTRY_BIS_ENTRY = 31,\n\tDMI_ENTRY_SYSTEM_BOOT = 32,\n\tDMI_ENTRY_MGMT_DEV = 33,\n\tDMI_ENTRY_MGMT_DEV_COMPONENT = 34,\n\tDMI_ENTRY_MGMT_DEV_THRES = 35,\n\tDMI_ENTRY_MEM_CHANNEL = 36,\n\tDMI_ENTRY_IPMI_DEV = 37,\n\tDMI_ENTRY_SYS_POWER_SUPPLY = 38,\n\tDMI_ENTRY_ADDITIONAL = 39,\n\tDMI_ENTRY_ONBOARD_DEV_EXT = 40,\n\tDMI_ENTRY_MGMT_CONTROLLER_HOST = 41,\n\tDMI_ENTRY_INACTIVE = 126,\n\tDMI_ENTRY_END_OF_TABLE = 127,\n};\n\nenum dmi_field {\n\tDMI_NONE = 0,\n\tDMI_BIOS_VENDOR = 1,\n\tDMI_BIOS_VERSION = 2,\n\tDMI_BIOS_DATE = 3,\n\tDMI_BIOS_RELEASE = 4,\n\tDMI_EC_FIRMWARE_RELEASE = 5,\n\tDMI_SYS_VENDOR = 6,\n\tDMI_PRODUCT_NAME = 7,\n\tDMI_PRODUCT_VERSION = 8,\n\tDMI_PRODUCT_SERIAL = 9,\n\tDMI_PRODUCT_UUID = 10,\n\tDMI_PRODUCT_SKU = 11,\n\tDMI_PRODUCT_FAMILY = 12,\n\tDMI_BOARD_VENDOR = 13,\n\tDMI_BOARD_NAME = 14,\n\tDMI_BOARD_VERSION = 15,\n\tDMI_BOARD_SERIAL = 16,\n\tDMI_BOARD_ASSET_TAG = 17,\n\tDMI_CHASSIS_VENDOR = 18,\n\tDMI_CHASSIS_TYPE = 19,\n\tDMI_CHASSIS_VERSION = 20,\n\tDMI_CHASSIS_SERIAL = 21,\n\tDMI_CHASSIS_ASSET_TAG = 22,\n\tDMI_STRING_MAX = 23,\n\tDMI_OEM_STRING = 24,\n};\n\nenum dns_lookup_status {\n\tDNS_LOOKUP_NOT_DONE = 0,\n\tDNS_LOOKUP_GOOD = 1,\n\tDNS_LOOKUP_GOOD_WITH_BAD = 2,\n\tDNS_LOOKUP_BAD = 3,\n\tDNS_LOOKUP_GOT_NOT_FOUND = 4,\n\tDNS_LOOKUP_GOT_LOCAL_FAILURE = 5,\n\tDNS_LOOKUP_GOT_TEMP_FAILURE = 6,\n\tDNS_LOOKUP_GOT_NS_FAILURE = 7,\n\tNR__dns_lookup_status = 8,\n};\n\nenum dns_payload_content_type {\n\tDNS_PAYLOAD_IS_SERVER_LIST = 0,\n};\n\nenum dpm_order {\n\tDPM_ORDER_NONE = 0,\n\tDPM_ORDER_DEV_AFTER_PARENT = 1,\n\tDPM_ORDER_PARENT_BEFORE_DEV = 2,\n\tDPM_ORDER_DEV_LAST = 3,\n};\n\nenum dw_edma_chip_flags {\n\tDW_EDMA_CHIP_LOCAL = 1,\n};\n\nenum dw_edma_map_format {\n\tEDMA_MF_EDMA_LEGACY = 0,\n\tEDMA_MF_EDMA_UNROLL = 1,\n\tEDMA_MF_HDMA_COMPAT = 5,\n\tEDMA_MF_HDMA_NATIVE = 7,\n};\n\nenum dw_mci_cookie {\n\tCOOKIE_UNMAPPED = 0,\n\tCOOKIE_PRE_MAPPED = 1,\n\tCOOKIE_MAPPED = 2,\n};\n\nenum dw_mci_state {\n\tSTATE_IDLE = 0,\n\tSTATE_SENDING_CMD = 1,\n\tSTATE_SENDING_DATA = 2,\n\tSTATE_DATA_BUSY = 3,\n\tSTATE_SENDING_STOP = 4,\n\tSTATE_DATA_ERROR = 5,\n\tSTATE_SENDING_CMD11 = 6,\n\tSTATE_WAITING_CMD11_DONE = 7,\n};\n\nenum dw_pcie_app_clk {\n\tDW_PCIE_DBI_CLK = 0,\n\tDW_PCIE_MSTR_CLK = 1,\n\tDW_PCIE_SLV_CLK = 2,\n\tDW_PCIE_NUM_APP_CLKS = 3,\n};\n\nenum dw_pcie_app_rst {\n\tDW_PCIE_DBI_RST = 0,\n\tDW_PCIE_MSTR_RST = 1,\n\tDW_PCIE_SLV_RST = 2,\n\tDW_PCIE_NUM_APP_RSTS = 3,\n};\n\nenum dw_pcie_core_clk {\n\tDW_PCIE_PIPE_CLK = 0,\n\tDW_PCIE_CORE_CLK = 1,\n\tDW_PCIE_AUX_CLK = 2,\n\tDW_PCIE_REF_CLK = 3,\n\tDW_PCIE_NUM_CORE_CLKS = 4,\n};\n\nenum dw_pcie_core_rst {\n\tDW_PCIE_NON_STICKY_RST = 0,\n\tDW_PCIE_STICKY_RST = 1,\n\tDW_PCIE_CORE_RST = 2,\n\tDW_PCIE_PIPE_RST = 3,\n\tDW_PCIE_PHY_RST = 4,\n\tDW_PCIE_HOT_RST = 5,\n\tDW_PCIE_PWR_RST = 6,\n\tDW_PCIE_NUM_CORE_RSTS = 7,\n};\n\nenum dw_pcie_ltssm {\n\tDW_PCIE_LTSSM_DETECT_QUIET = 0,\n\tDW_PCIE_LTSSM_DETECT_ACT = 1,\n\tDW_PCIE_LTSSM_DETECT_WAIT = 6,\n\tDW_PCIE_LTSSM_L0 = 17,\n\tDW_PCIE_LTSSM_L2_IDLE = 21,\n\tDW_PCIE_LTSSM_UNKNOWN = 4294967295,\n};\n\nenum dwcmshc_rk_type {\n\tDWCMSHC_RK3568 = 0,\n\tDWCMSHC_RK3588 = 1,\n};\n\nenum dynevent_type {\n\tDYNEVENT_TYPE_SYNTH = 1,\n\tDYNEVENT_TYPE_KPROBE = 2,\n\tDYNEVENT_TYPE_NONE = 3,\n};\n\nenum e1000_1000t_rx_status {\n\te1000_1000t_rx_status_not_ok = 0,\n\te1000_1000t_rx_status_ok = 1,\n\te1000_1000t_rx_status_undefined = 255,\n};\n\nenum e1000_boards {\n\tboard_82571 = 0,\n\tboard_82572 = 1,\n\tboard_82573 = 2,\n\tboard_82574 = 3,\n\tboard_82583 = 4,\n\tboard_80003es2lan = 5,\n\tboard_ich8lan = 6,\n\tboard_ich9lan = 7,\n\tboard_ich10lan = 8,\n\tboard_pchlan = 9,\n\tboard_pch2lan = 10,\n\tboard_pch_lpt = 11,\n\tboard_pch_spt = 12,\n\tboard_pch_cnp = 13,\n\tboard_pch_tgp = 14,\n\tboard_pch_adp = 15,\n\tboard_pch_mtp = 16,\n};\n\nenum e1000_bus_width {\n\te1000_bus_width_unknown = 0,\n\te1000_bus_width_pcie_x1 = 1,\n\te1000_bus_width_pcie_x2 = 2,\n\te1000_bus_width_pcie_x4 = 4,\n\te1000_bus_width_pcie_x8 = 8,\n\te1000_bus_width_32 = 9,\n\te1000_bus_width_64 = 10,\n\te1000_bus_width_reserved = 11,\n};\n\nenum e1000_fc_mode {\n\te1000_fc_none = 0,\n\te1000_fc_rx_pause = 1,\n\te1000_fc_tx_pause = 2,\n\te1000_fc_full = 3,\n\te1000_fc_default = 255,\n};\n\nenum e1000_mac_type {\n\te1000_82571 = 0,\n\te1000_82572 = 1,\n\te1000_82573 = 2,\n\te1000_82574 = 3,\n\te1000_82583 = 4,\n\te1000_80003es2lan = 5,\n\te1000_ich8lan = 6,\n\te1000_ich9lan = 7,\n\te1000_ich10lan = 8,\n\te1000_pchlan = 9,\n\te1000_pch2lan = 10,\n\te1000_pch_lpt = 11,\n\te1000_pch_spt = 12,\n\te1000_pch_cnp = 13,\n\te1000_pch_tgp = 14,\n\te1000_pch_adp = 15,\n\te1000_pch_mtp = 16,\n\te1000_pch_lnp = 17,\n\te1000_pch_ptp = 18,\n\te1000_pch_nvp = 19,\n};\n\nenum e1000_media_type {\n\te1000_media_type_unknown = 0,\n\te1000_media_type_copper = 1,\n\te1000_media_type_fiber = 2,\n\te1000_media_type_internal_serdes = 3,\n\te1000_num_media_types = 4,\n};\n\nenum e1000_mng_mode {\n\te1000_mng_mode_none = 0,\n\te1000_mng_mode_asf = 1,\n\te1000_mng_mode_pt = 2,\n\te1000_mng_mode_ipmi = 3,\n\te1000_mng_mode_host_if_only = 4,\n};\n\nenum e1000_ms_type {\n\te1000_ms_hw_default = 0,\n\te1000_ms_force_master = 1,\n\te1000_ms_force_slave = 2,\n\te1000_ms_auto = 3,\n};\n\nenum e1000_nvm_override {\n\te1000_nvm_override_none = 0,\n\te1000_nvm_override_spi_small = 1,\n\te1000_nvm_override_spi_large = 2,\n};\n\nenum e1000_nvm_type {\n\te1000_nvm_unknown = 0,\n\te1000_nvm_none = 1,\n\te1000_nvm_eeprom_spi = 2,\n\te1000_nvm_flash_hw = 3,\n\te1000_nvm_flash_sw = 4,\n};\n\nenum e1000_phy_type {\n\te1000_phy_unknown = 0,\n\te1000_phy_none = 1,\n\te1000_phy_m88 = 2,\n\te1000_phy_igp = 3,\n\te1000_phy_igp_2 = 4,\n\te1000_phy_gg82563 = 5,\n\te1000_phy_igp_3 = 6,\n\te1000_phy_ife = 7,\n\te1000_phy_bm = 8,\n\te1000_phy_82578 = 9,\n\te1000_phy_82577 = 10,\n\te1000_phy_82579 = 11,\n\te1000_phy_i217 = 12,\n};\n\nenum e1000_rev_polarity {\n\te1000_rev_polarity_normal = 0,\n\te1000_rev_polarity_reversed = 1,\n\te1000_rev_polarity_undefined = 255,\n};\n\nenum e1000_serdes_link_state {\n\te1000_serdes_link_down = 0,\n\te1000_serdes_link_autoneg_progress = 1,\n\te1000_serdes_link_autoneg_complete = 2,\n\te1000_serdes_link_forced_up = 3,\n};\n\nenum e1000_smart_speed {\n\te1000_smart_speed_default = 0,\n\te1000_smart_speed_on = 1,\n\te1000_smart_speed_off = 2,\n};\n\nenum e1000_state_t {\n\t__E1000_TESTING = 0,\n\t__E1000_RESETTING = 1,\n\t__E1000_ACCESS_SHARED_RESOURCE = 2,\n\t__E1000_DOWN = 3,\n};\n\nenum e1000_ulp_state {\n\te1000_ulp_state_unknown = 0,\n\te1000_ulp_state_off = 1,\n\te1000_ulp_state_on = 2,\n};\n\nenum efi_cmdline_option {\n\tEFI_CMDLINE_NONE = 0,\n\tEFI_CMDLINE_MODE_NUM = 1,\n\tEFI_CMDLINE_RES = 2,\n\tEFI_CMDLINE_AUTO = 3,\n\tEFI_CMDLINE_LIST = 4,\n};\n\nenum efi_rts_ids {\n\tEFI_NONE = 0,\n\tEFI_GET_TIME = 1,\n\tEFI_SET_TIME = 2,\n\tEFI_GET_WAKEUP_TIME = 3,\n\tEFI_SET_WAKEUP_TIME = 4,\n\tEFI_GET_VARIABLE = 5,\n\tEFI_GET_NEXT_VARIABLE = 6,\n\tEFI_SET_VARIABLE = 7,\n\tEFI_QUERY_VARIABLE_INFO = 8,\n\tEFI_GET_NEXT_HIGH_MONO_COUNT = 9,\n\tEFI_RESET_SYSTEM = 10,\n\tEFI_UPDATE_CAPSULE = 11,\n\tEFI_QUERY_CAPSULE_CAPS = 12,\n\tEFI_ACPI_PRM_HANDLER = 13,\n};\n\nenum efi_secureboot_mode {\n\tefi_secureboot_mode_unset = 0,\n\tefi_secureboot_mode_unknown = 1,\n\tefi_secureboot_mode_disabled = 2,\n\tefi_secureboot_mode_enabled = 3,\n};\n\nenum efistub_event_type {\n\tEFISTUB_EVT_INITRD = 0,\n\tEFISTUB_EVT_LOAD_OPTIONS = 1,\n\tEFISTUB_EVT_COUNT = 2,\n};\n\nenum ehci_hrtimer_event {\n\tEHCI_HRTIMER_POLL_ASS = 0,\n\tEHCI_HRTIMER_POLL_PSS = 1,\n\tEHCI_HRTIMER_POLL_DEAD = 2,\n\tEHCI_HRTIMER_UNLINK_INTR = 3,\n\tEHCI_HRTIMER_FREE_ITDS = 4,\n\tEHCI_HRTIMER_ACTIVE_UNLINK = 5,\n\tEHCI_HRTIMER_START_UNLINK_INTR = 6,\n\tEHCI_HRTIMER_ASYNC_UNLINKS = 7,\n\tEHCI_HRTIMER_IAA_WATCHDOG = 8,\n\tEHCI_HRTIMER_DISABLE_PERIODIC = 9,\n\tEHCI_HRTIMER_DISABLE_ASYNC = 10,\n\tEHCI_HRTIMER_IO_WATCHDOG = 11,\n\tEHCI_HRTIMER_NUM_EVENTS = 12,\n};\n\nenum ehci_rh_state {\n\tEHCI_RH_HALTED = 0,\n\tEHCI_RH_SUSPENDED = 1,\n\tEHCI_RH_RUNNING = 2,\n\tEHCI_RH_STOPPING = 3,\n};\n\nenum elv_merge {\n\tELEVATOR_NO_MERGE = 0,\n\tELEVATOR_FRONT_MERGE = 1,\n\tELEVATOR_BACK_MERGE = 2,\n\tELEVATOR_DISCARD_MERGE = 3,\n};\n\nenum enable_type {\n\tundefined = -1,\n\tuser_disabled = 0,\n\tauto_disabled = 1,\n\tuser_enabled = 2,\n\tauto_enabled = 3,\n};\n\nenum error_detector {\n\tERROR_DETECTOR_KFENCE = 0,\n\tERROR_DETECTOR_KASAN = 1,\n\tERROR_DETECTOR_WARN = 2,\n};\n\nenum ethnl_sock_type {\n\tETHTOOL_SOCK_TYPE_MODULE_FW_FLASH = 0,\n};\n\nenum ethtool_c33_pse_admin_state {\n\tETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN = 1,\n\tETHTOOL_C33_PSE_ADMIN_STATE_DISABLED = 2,\n\tETHTOOL_C33_PSE_ADMIN_STATE_ENABLED = 3,\n};\n\nenum ethtool_c33_pse_ext_state {\n\tETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1,\n\tETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID = 2,\n\tETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE = 3,\n\tETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED = 4,\n\tETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM = 5,\n\tETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED = 6,\n\tETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE = 7,\n\tETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE = 8,\n\tETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED = 9,\n};\n\nenum ethtool_c33_pse_ext_substate_error_condition {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT = 3,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON = 4,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS = 5,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF = 6,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN = 7,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE = 8,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP = 9,\n};\n\nenum ethtool_c33_pse_ext_substate_mr_pse_enable {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1,\n};\n\nenum ethtool_c33_pse_ext_substate_option_detect_ted {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR = 2,\n};\n\nenum ethtool_c33_pse_ext_substate_option_vport_lim {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION = 3,\n};\n\nenum ethtool_c33_pse_ext_substate_ovld_detected {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1,\n};\n\nenum ethtool_c33_pse_ext_substate_power_not_available {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET = 2,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT = 3,\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT = 4,\n};\n\nenum ethtool_c33_pse_ext_substate_short_detected {\n\tETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1,\n};\n\nenum ethtool_c33_pse_pw_d_status {\n\tETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN = 1,\n\tETHTOOL_C33_PSE_PW_D_STATUS_DISABLED = 2,\n\tETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING = 3,\n\tETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING = 4,\n\tETHTOOL_C33_PSE_PW_D_STATUS_TEST = 5,\n\tETHTOOL_C33_PSE_PW_D_STATUS_FAULT = 6,\n\tETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT = 7,\n};\n\nenum ethtool_cmis_cdb_cmd_id {\n\tETHTOOL_CMIS_CDB_CMD_QUERY_STATUS = 0,\n\tETHTOOL_CMIS_CDB_CMD_MODULE_FEATURES = 64,\n\tETHTOOL_CMIS_CDB_CMD_FW_MANAGMENT_FEATURES = 65,\n\tETHTOOL_CMIS_CDB_CMD_START_FW_DOWNLOAD = 257,\n\tETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_LPL = 259,\n\tETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_EPL = 260,\n\tETHTOOL_CMIS_CDB_CMD_COMPLETE_FW_DOWNLOAD = 263,\n\tETHTOOL_CMIS_CDB_CMD_RUN_FW_IMAGE = 265,\n\tETHTOOL_CMIS_CDB_CMD_COMMIT_FW_IMAGE = 266,\n};\n\nenum ethtool_fec_config_bits {\n\tETHTOOL_FEC_NONE_BIT = 0,\n\tETHTOOL_FEC_AUTO_BIT = 1,\n\tETHTOOL_FEC_OFF_BIT = 2,\n\tETHTOOL_FEC_RS_BIT = 3,\n\tETHTOOL_FEC_BASER_BIT = 4,\n\tETHTOOL_FEC_LLRS_BIT = 5,\n};\n\nenum ethtool_flags {\n\tETH_FLAG_TXVLAN = 128,\n\tETH_FLAG_RXVLAN = 256,\n\tETH_FLAG_LRO = 32768,\n\tETH_FLAG_NTUPLE = 134217728,\n\tETH_FLAG_RXHASH = 268435456,\n};\n\nenum ethtool_header_flags {\n\tETHTOOL_FLAG_COMPACT_BITSETS = 1,\n\tETHTOOL_FLAG_OMIT_REPLY = 2,\n\tETHTOOL_FLAG_STATS = 4,\n};\n\nenum ethtool_link_ext_state {\n\tETHTOOL_LINK_EXT_STATE_AUTONEG = 0,\n\tETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 1,\n\tETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 2,\n\tETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 3,\n\tETHTOOL_LINK_EXT_STATE_NO_CABLE = 4,\n\tETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 5,\n\tETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 6,\n\tETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 7,\n\tETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 8,\n\tETHTOOL_LINK_EXT_STATE_OVERHEAT = 9,\n\tETHTOOL_LINK_EXT_STATE_MODULE = 10,\n};\n\nenum ethtool_link_ext_substate_autoneg {\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 4,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 5,\n\tETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 6,\n};\n\nenum ethtool_link_ext_substate_bad_signal_integrity {\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS = 4,\n};\n\nenum ethtool_link_ext_substate_cable_issue {\n\tETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 2,\n};\n\nenum ethtool_link_ext_substate_link_logical_mismatch {\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 4,\n\tETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 5,\n};\n\nenum ethtool_link_ext_substate_link_training {\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 2,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 3,\n\tETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 4,\n};\n\nenum ethtool_link_ext_substate_module {\n\tETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY = 1,\n};\n\nenum ethtool_link_mode_bit_indices {\n\tETHTOOL_LINK_MODE_10baseT_Half_BIT = 0,\n\tETHTOOL_LINK_MODE_10baseT_Full_BIT = 1,\n\tETHTOOL_LINK_MODE_100baseT_Half_BIT = 2,\n\tETHTOOL_LINK_MODE_100baseT_Full_BIT = 3,\n\tETHTOOL_LINK_MODE_1000baseT_Half_BIT = 4,\n\tETHTOOL_LINK_MODE_1000baseT_Full_BIT = 5,\n\tETHTOOL_LINK_MODE_Autoneg_BIT = 6,\n\tETHTOOL_LINK_MODE_TP_BIT = 7,\n\tETHTOOL_LINK_MODE_AUI_BIT = 8,\n\tETHTOOL_LINK_MODE_MII_BIT = 9,\n\tETHTOOL_LINK_MODE_FIBRE_BIT = 10,\n\tETHTOOL_LINK_MODE_BNC_BIT = 11,\n\tETHTOOL_LINK_MODE_10000baseT_Full_BIT = 12,\n\tETHTOOL_LINK_MODE_Pause_BIT = 13,\n\tETHTOOL_LINK_MODE_Asym_Pause_BIT = 14,\n\tETHTOOL_LINK_MODE_2500baseX_Full_BIT = 15,\n\tETHTOOL_LINK_MODE_Backplane_BIT = 16,\n\tETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 17,\n\tETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 18,\n\tETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 19,\n\tETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 20,\n\tETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 21,\n\tETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 22,\n\tETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 23,\n\tETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 24,\n\tETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 25,\n\tETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 26,\n\tETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 27,\n\tETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 28,\n\tETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29,\n\tETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30,\n\tETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31,\n\tETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32,\n\tETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33,\n\tETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34,\n\tETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 35,\n\tETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 36,\n\tETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37,\n\tETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38,\n\tETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39,\n\tETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40,\n\tETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41,\n\tETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 42,\n\tETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 43,\n\tETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44,\n\tETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45,\n\tETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46,\n\tETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47,\n\tETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48,\n\tETHTOOL_LINK_MODE_FEC_NONE_BIT = 49,\n\tETHTOOL_LINK_MODE_FEC_RS_BIT = 50,\n\tETHTOOL_LINK_MODE_FEC_BASER_BIT = 51,\n\tETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52,\n\tETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53,\n\tETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54,\n\tETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55,\n\tETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56,\n\tETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57,\n\tETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58,\n\tETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59,\n\tETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,\n\tETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61,\n\tETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62,\n\tETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63,\n\tETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,\n\tETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65,\n\tETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66,\n\tETHTOOL_LINK_MODE_100baseT1_Full_BIT = 67,\n\tETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 68,\n\tETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 69,\n\tETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 70,\n\tETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 71,\n\tETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72,\n\tETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73,\n\tETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74,\n\tETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 75,\n\tETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 76,\n\tETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 77,\n\tETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 78,\n\tETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 79,\n\tETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 80,\n\tETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 81,\n\tETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 82,\n\tETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 83,\n\tETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 84,\n\tETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 85,\n\tETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 86,\n\tETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87,\n\tETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88,\n\tETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89,\n\tETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,\n\tETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,\n\tETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92,\n\tETHTOOL_LINK_MODE_800000baseCR8_Full_BIT = 93,\n\tETHTOOL_LINK_MODE_800000baseKR8_Full_BIT = 94,\n\tETHTOOL_LINK_MODE_800000baseDR8_Full_BIT = 95,\n\tETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT = 96,\n\tETHTOOL_LINK_MODE_800000baseSR8_Full_BIT = 97,\n\tETHTOOL_LINK_MODE_800000baseVR8_Full_BIT = 98,\n\tETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99,\n\tETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100,\n\tETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101,\n\tETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102,\n\t__ETHTOOL_LINK_MODE_MASK_NBITS = 103,\n};\n\nenum ethtool_mac_stats_src {\n\tETHTOOL_MAC_STATS_SRC_AGGREGATE = 0,\n\tETHTOOL_MAC_STATS_SRC_EMAC = 1,\n\tETHTOOL_MAC_STATS_SRC_PMAC = 2,\n};\n\nenum ethtool_mm_verify_status {\n\tETHTOOL_MM_VERIFY_STATUS_UNKNOWN = 0,\n\tETHTOOL_MM_VERIFY_STATUS_INITIAL = 1,\n\tETHTOOL_MM_VERIFY_STATUS_VERIFYING = 2,\n\tETHTOOL_MM_VERIFY_STATUS_SUCCEEDED = 3,\n\tETHTOOL_MM_VERIFY_STATUS_FAILED = 4,\n\tETHTOOL_MM_VERIFY_STATUS_DISABLED = 5,\n};\n\nenum ethtool_module_fw_flash_status {\n\tETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS = 2,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED = 3,\n\tETHTOOL_MODULE_FW_FLASH_STATUS_ERROR = 4,\n};\n\nenum ethtool_module_power_mode {\n\tETHTOOL_MODULE_POWER_MODE_LOW = 1,\n\tETHTOOL_MODULE_POWER_MODE_HIGH = 2,\n};\n\nenum ethtool_module_power_mode_policy {\n\tETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1,\n\tETHTOOL_MODULE_POWER_MODE_POLICY_AUTO = 2,\n};\n\nenum ethtool_multicast_groups {\n\tETHNL_MCGRP_MONITOR = 0,\n};\n\nenum ethtool_phys_id_state {\n\tETHTOOL_ID_INACTIVE = 0,\n\tETHTOOL_ID_ACTIVE = 1,\n\tETHTOOL_ID_ON = 2,\n\tETHTOOL_ID_OFF = 3,\n};\n\nenum ethtool_podl_pse_admin_state {\n\tETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1,\n\tETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED = 2,\n\tETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED = 3,\n};\n\nenum ethtool_podl_pse_pw_d_status {\n\tETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED = 2,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING = 3,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING = 4,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP = 5,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_IDLE = 6,\n\tETHTOOL_PODL_PSE_PW_D_STATUS_ERROR = 7,\n};\n\nenum ethtool_reset_flags {\n\tETH_RESET_MGMT = 1,\n\tETH_RESET_IRQ = 2,\n\tETH_RESET_DMA = 4,\n\tETH_RESET_FILTER = 8,\n\tETH_RESET_OFFLOAD = 16,\n\tETH_RESET_MAC = 32,\n\tETH_RESET_PHY = 64,\n\tETH_RESET_RAM = 128,\n\tETH_RESET_AP = 256,\n\tETH_RESET_DEDICATED = 65535,\n\tETH_RESET_ALL = 4294967295,\n};\n\nenum ethtool_sfeatures_retval_bits {\n\tETHTOOL_F_UNSUPPORTED__BIT = 0,\n\tETHTOOL_F_WISH__BIT = 1,\n\tETHTOOL_F_COMPAT__BIT = 2,\n};\n\nenum ethtool_stringset {\n\tETH_SS_TEST = 0,\n\tETH_SS_STATS = 1,\n\tETH_SS_PRIV_FLAGS = 2,\n\tETH_SS_NTUPLE_FILTERS = 3,\n\tETH_SS_FEATURES = 4,\n\tETH_SS_RSS_HASH_FUNCS = 5,\n\tETH_SS_TUNABLES = 6,\n\tETH_SS_PHY_STATS = 7,\n\tETH_SS_PHY_TUNABLES = 8,\n\tETH_SS_LINK_MODES = 9,\n\tETH_SS_MSG_CLASSES = 10,\n\tETH_SS_WOL_MODES = 11,\n\tETH_SS_SOF_TIMESTAMPING = 12,\n\tETH_SS_TS_TX_TYPES = 13,\n\tETH_SS_TS_RX_FILTERS = 14,\n\tETH_SS_UDP_TUNNEL_TYPES = 15,\n\tETH_SS_STATS_STD = 16,\n\tETH_SS_STATS_ETH_PHY = 17,\n\tETH_SS_STATS_ETH_MAC = 18,\n\tETH_SS_STATS_ETH_CTRL = 19,\n\tETH_SS_STATS_RMON = 20,\n\tETH_SS_STATS_PHY = 21,\n\tETH_SS_TS_FLAGS = 22,\n\tETH_SS_COUNT = 23,\n};\n\nenum ethtool_supported_ring_param {\n\tETHTOOL_RING_USE_RX_BUF_LEN = 1,\n\tETHTOOL_RING_USE_CQE_SIZE = 2,\n\tETHTOOL_RING_USE_TX_PUSH = 4,\n\tETHTOOL_RING_USE_RX_PUSH = 8,\n\tETHTOOL_RING_USE_TX_PUSH_BUF_LEN = 16,\n\tETHTOOL_RING_USE_TCP_DATA_SPLIT = 32,\n\tETHTOOL_RING_USE_HDS_THRS = 64,\n};\n\nenum ethtool_tcp_data_split {\n\tETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,\n\tETHTOOL_TCP_DATA_SPLIT_DISABLED = 1,\n\tETHTOOL_TCP_DATA_SPLIT_ENABLED = 2,\n};\n\nenum ethtool_test_flags {\n\tETH_TEST_FL_OFFLINE = 1,\n\tETH_TEST_FL_FAILED = 2,\n\tETH_TEST_FL_EXTERNAL_LB = 4,\n\tETH_TEST_FL_EXTERNAL_LB_DONE = 8,\n};\n\nenum event_command_flags {\n\tEVENT_CMD_FL_POST_TRIGGER = 1,\n\tEVENT_CMD_FL_NEEDS_REC = 2,\n};\n\nenum event_trigger_type {\n\tETT_NONE = 0,\n\tETT_TRACE_ONOFF = 1,\n\tETT_SNAPSHOT = 2,\n\tETT_STACKTRACE = 4,\n\tETT_EVENT_ENABLE = 8,\n\tETT_EVENT_HIST = 16,\n\tETT_HIST_ENABLE = 32,\n\tETT_EVENT_EPROBE = 64,\n};\n\nenum event_type_t {\n\tEVENT_FLEXIBLE = 1,\n\tEVENT_PINNED = 2,\n\tEVENT_TIME = 4,\n\tEVENT_FROZEN = 8,\n\tEVENT_CPU = 16,\n\tEVENT_CGROUP = 32,\n\tEVENT_ALL = 3,\n\tEVENT_TIME_FROZEN = 12,\n};\n\nenum exact_level {\n\tNOT_EXACT = 0,\n\tEXACT = 1,\n\tRANGE_WITHIN = 2,\n};\n\nenum execmem_range_flags {\n\tEXECMEM_KASAN_SHADOW = 1,\n\tEXECMEM_ROX_CACHE = 2,\n};\n\nenum execmem_type {\n\tEXECMEM_DEFAULT = 0,\n\tEXECMEM_MODULE_TEXT = 0,\n\tEXECMEM_KPROBES = 1,\n\tEXECMEM_FTRACE = 2,\n\tEXECMEM_BPF = 3,\n\tEXECMEM_MODULE_DATA = 4,\n\tEXECMEM_TYPE_MAX = 5,\n};\n\nenum ext4_journal_trigger_type {\n\tEXT4_JTR_ORPHAN_FILE = 0,\n\tEXT4_JTR_NONE = 1,\n};\n\nenum ext4_li_mode {\n\tEXT4_LI_MODE_PREFETCH_BBITMAP = 0,\n\tEXT4_LI_MODE_ITABLE = 1,\n};\n\nenum fail_dup_mod_reason {\n\tFAIL_DUP_MOD_BECOMING = 0,\n\tFAIL_DUP_MOD_LOAD = 1,\n};\n\nenum fault_flag {\n\tFAULT_FLAG_WRITE = 1,\n\tFAULT_FLAG_MKWRITE = 2,\n\tFAULT_FLAG_ALLOW_RETRY = 4,\n\tFAULT_FLAG_RETRY_NOWAIT = 8,\n\tFAULT_FLAG_KILLABLE = 16,\n\tFAULT_FLAG_TRIED = 32,\n\tFAULT_FLAG_USER = 64,\n\tFAULT_FLAG_REMOTE = 128,\n\tFAULT_FLAG_INSTRUCTION = 256,\n\tFAULT_FLAG_INTERRUPTIBLE = 512,\n\tFAULT_FLAG_UNSHARE = 1024,\n\tFAULT_FLAG_ORIG_PTE_VALID = 2048,\n\tFAULT_FLAG_VMA_LOCK = 4096,\n};\n\nenum fbq_type {\n\tregular = 0,\n\tremote = 1,\n\tall = 2,\n};\n\nenum fetch_op {\n\tFETCH_OP_NOP = 0,\n\tFETCH_OP_REG = 1,\n\tFETCH_OP_STACK = 2,\n\tFETCH_OP_STACKP = 3,\n\tFETCH_OP_RETVAL = 4,\n\tFETCH_OP_IMM = 5,\n\tFETCH_OP_COMM = 6,\n\tFETCH_OP_ARG = 7,\n\tFETCH_OP_FOFFS = 8,\n\tFETCH_OP_DATA = 9,\n\tFETCH_OP_EDATA = 10,\n\tFETCH_OP_DEREF = 11,\n\tFETCH_OP_UDEREF = 12,\n\tFETCH_OP_ST_RAW = 13,\n\tFETCH_OP_ST_MEM = 14,\n\tFETCH_OP_ST_UMEM = 15,\n\tFETCH_OP_ST_STRING = 16,\n\tFETCH_OP_ST_USTRING = 17,\n\tFETCH_OP_ST_SYMSTR = 18,\n\tFETCH_OP_ST_EDATA = 19,\n\tFETCH_OP_MOD_BF = 20,\n\tFETCH_OP_LP_ARRAY = 21,\n\tFETCH_OP_TP_ARG = 22,\n\tFETCH_OP_END = 23,\n\tFETCH_NOP_SYMBOL = 24,\n};\n\nenum fib6_walk_state {\n\tFWS_L = 0,\n\tFWS_R = 1,\n\tFWS_C = 2,\n\tFWS_U = 3,\n};\n\nenum fib_event_type {\n\tFIB_EVENT_ENTRY_REPLACE = 0,\n\tFIB_EVENT_ENTRY_APPEND = 1,\n\tFIB_EVENT_ENTRY_ADD = 2,\n\tFIB_EVENT_ENTRY_DEL = 3,\n\tFIB_EVENT_RULE_ADD = 4,\n\tFIB_EVENT_RULE_DEL = 5,\n\tFIB_EVENT_NH_ADD = 6,\n\tFIB_EVENT_NH_DEL = 7,\n\tFIB_EVENT_VIF_ADD = 8,\n\tFIB_EVENT_VIF_DEL = 9,\n};\n\nenum fid_type {\n\tFILEID_ROOT = 0,\n\tFILEID_INO32_GEN = 1,\n\tFILEID_INO32_GEN_PARENT = 2,\n\tFILEID_BTRFS_WITHOUT_PARENT = 77,\n\tFILEID_BTRFS_WITH_PARENT = 78,\n\tFILEID_BTRFS_WITH_PARENT_ROOT = 79,\n\tFILEID_UDF_WITHOUT_PARENT = 81,\n\tFILEID_UDF_WITH_PARENT = 82,\n\tFILEID_NILFS_WITHOUT_PARENT = 97,\n\tFILEID_NILFS_WITH_PARENT = 98,\n\tFILEID_FAT_WITHOUT_PARENT = 113,\n\tFILEID_FAT_WITH_PARENT = 114,\n\tFILEID_INO64_GEN = 129,\n\tFILEID_INO64_GEN_PARENT = 130,\n\tFILEID_LUSTRE = 151,\n\tFILEID_BCACHEFS_WITHOUT_PARENT = 177,\n\tFILEID_BCACHEFS_WITH_PARENT = 178,\n\tFILEID_KERNFS = 254,\n\tFILEID_INVALID = 255,\n};\n\nenum file_time_flags {\n\tS_ATIME = 1,\n\tS_MTIME = 2,\n\tS_CTIME = 4,\n\tS_VERSION = 8,\n};\n\nenum filter_op_ids {\n\tOP_GLOB = 0,\n\tOP_NE = 1,\n\tOP_EQ = 2,\n\tOP_LE = 3,\n\tOP_LT = 4,\n\tOP_GE = 5,\n\tOP_GT = 6,\n\tOP_BAND = 7,\n\tOP_MAX = 8,\n};\n\nenum filter_pred_fn {\n\tFILTER_PRED_FN_NOP = 0,\n\tFILTER_PRED_FN_64 = 1,\n\tFILTER_PRED_FN_64_CPUMASK = 2,\n\tFILTER_PRED_FN_S64 = 3,\n\tFILTER_PRED_FN_U64 = 4,\n\tFILTER_PRED_FN_32 = 5,\n\tFILTER_PRED_FN_32_CPUMASK = 6,\n\tFILTER_PRED_FN_S32 = 7,\n\tFILTER_PRED_FN_U32 = 8,\n\tFILTER_PRED_FN_16 = 9,\n\tFILTER_PRED_FN_16_CPUMASK = 10,\n\tFILTER_PRED_FN_S16 = 11,\n\tFILTER_PRED_FN_U16 = 12,\n\tFILTER_PRED_FN_8 = 13,\n\tFILTER_PRED_FN_8_CPUMASK = 14,\n\tFILTER_PRED_FN_S8 = 15,\n\tFILTER_PRED_FN_U8 = 16,\n\tFILTER_PRED_FN_COMM = 17,\n\tFILTER_PRED_FN_STRING = 18,\n\tFILTER_PRED_FN_STRLOC = 19,\n\tFILTER_PRED_FN_STRRELLOC = 20,\n\tFILTER_PRED_FN_PCHAR_USER = 21,\n\tFILTER_PRED_FN_PCHAR = 22,\n\tFILTER_PRED_FN_CPU = 23,\n\tFILTER_PRED_FN_CPU_CPUMASK = 24,\n\tFILTER_PRED_FN_CPUMASK = 25,\n\tFILTER_PRED_FN_CPUMASK_CPU = 26,\n\tFILTER_PRED_FN_FUNCTION = 27,\n\tFILTER_PRED_FN_ = 28,\n\tFILTER_PRED_TEST_VISITED = 29,\n};\n\nenum fit_type {\n\tNOTHING_FIT = 0,\n\tFL_FIT_TYPE = 1,\n\tLE_FIT_TYPE = 2,\n\tRE_FIT_TYPE = 3,\n\tNE_FIT_TYPE = 4,\n};\n\nenum fixed_addresses {\n\tFIX_HOLE = 0,\n\tFIX_FDT_END = 1,\n\tFIX_FDT = 1024,\n\tFIX_PTE = 1025,\n\tFIX_PMD = 1026,\n\tFIX_PUD = 1027,\n\tFIX_P4D = 1028,\n\tFIX_TEXT_POKE1 = 1029,\n\tFIX_TEXT_POKE0 = 1030,\n\tFIX_EARLYCON_MEM_BASE = 1031,\n\t__end_of_permanent_fixed_addresses = 1032,\n\tFIX_BTMAP_END = 1032,\n\tFIX_BTMAP_BEGIN = 1479,\n\t__end_of_fixed_addresses = 1480,\n};\n\nenum flow_action_hw_stats {\n\tFLOW_ACTION_HW_STATS_IMMEDIATE = 1,\n\tFLOW_ACTION_HW_STATS_DELAYED = 2,\n\tFLOW_ACTION_HW_STATS_ANY = 3,\n\tFLOW_ACTION_HW_STATS_DISABLED = 4,\n\tFLOW_ACTION_HW_STATS_DONT_CARE = 7,\n};\n\nenum flow_action_hw_stats_bit {\n\tFLOW_ACTION_HW_STATS_IMMEDIATE_BIT = 0,\n\tFLOW_ACTION_HW_STATS_DELAYED_BIT = 1,\n\tFLOW_ACTION_HW_STATS_DISABLED_BIT = 2,\n\tFLOW_ACTION_HW_STATS_NUM_BITS = 3,\n};\n\nenum flow_action_id {\n\tFLOW_ACTION_ACCEPT = 0,\n\tFLOW_ACTION_DROP = 1,\n\tFLOW_ACTION_TRAP = 2,\n\tFLOW_ACTION_GOTO = 3,\n\tFLOW_ACTION_REDIRECT = 4,\n\tFLOW_ACTION_MIRRED = 5,\n\tFLOW_ACTION_REDIRECT_INGRESS = 6,\n\tFLOW_ACTION_MIRRED_INGRESS = 7,\n\tFLOW_ACTION_VLAN_PUSH = 8,\n\tFLOW_ACTION_VLAN_POP = 9,\n\tFLOW_ACTION_VLAN_MANGLE = 10,\n\tFLOW_ACTION_TUNNEL_ENCAP = 11,\n\tFLOW_ACTION_TUNNEL_DECAP = 12,\n\tFLOW_ACTION_MANGLE = 13,\n\tFLOW_ACTION_ADD = 14,\n\tFLOW_ACTION_CSUM = 15,\n\tFLOW_ACTION_MARK = 16,\n\tFLOW_ACTION_PTYPE = 17,\n\tFLOW_ACTION_PRIORITY = 18,\n\tFLOW_ACTION_RX_QUEUE_MAPPING = 19,\n\tFLOW_ACTION_WAKE = 20,\n\tFLOW_ACTION_QUEUE = 21,\n\tFLOW_ACTION_SAMPLE = 22,\n\tFLOW_ACTION_POLICE = 23,\n\tFLOW_ACTION_CT = 24,\n\tFLOW_ACTION_CT_METADATA = 25,\n\tFLOW_ACTION_MPLS_PUSH = 26,\n\tFLOW_ACTION_MPLS_POP = 27,\n\tFLOW_ACTION_MPLS_MANGLE = 28,\n\tFLOW_ACTION_GATE = 29,\n\tFLOW_ACTION_PPPOE_PUSH = 30,\n\tFLOW_ACTION_JUMP = 31,\n\tFLOW_ACTION_PIPE = 32,\n\tFLOW_ACTION_VLAN_PUSH_ETH = 33,\n\tFLOW_ACTION_VLAN_POP_ETH = 34,\n\tFLOW_ACTION_CONTINUE = 35,\n\tNUM_FLOW_ACTIONS = 36,\n};\n\nenum flow_action_mangle_base {\n\tFLOW_ACT_MANGLE_UNSPEC = 0,\n\tFLOW_ACT_MANGLE_HDR_TYPE_ETH = 1,\n\tFLOW_ACT_MANGLE_HDR_TYPE_IP4 = 2,\n\tFLOW_ACT_MANGLE_HDR_TYPE_IP6 = 3,\n\tFLOW_ACT_MANGLE_HDR_TYPE_TCP = 4,\n\tFLOW_ACT_MANGLE_HDR_TYPE_UDP = 5,\n};\n\nenum flow_block_binder_type {\n\tFLOW_BLOCK_BINDER_TYPE_UNSPEC = 0,\n\tFLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS = 1,\n\tFLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS = 2,\n\tFLOW_BLOCK_BINDER_TYPE_RED_EARLY_DROP = 3,\n\tFLOW_BLOCK_BINDER_TYPE_RED_MARK = 4,\n};\n\nenum flow_block_command {\n\tFLOW_BLOCK_BIND = 0,\n\tFLOW_BLOCK_UNBIND = 1,\n};\n\nenum flow_dissect_ret {\n\tFLOW_DISSECT_RET_OUT_GOOD = 0,\n\tFLOW_DISSECT_RET_OUT_BAD = 1,\n\tFLOW_DISSECT_RET_PROTO_AGAIN = 2,\n\tFLOW_DISSECT_RET_IPPROTO_AGAIN = 3,\n\tFLOW_DISSECT_RET_CONTINUE = 4,\n};\n\nenum flow_dissector_ctrl_flags {\n\tFLOW_DIS_IS_FRAGMENT = 1,\n\tFLOW_DIS_FIRST_FRAG = 2,\n\tFLOW_DIS_F_TUNNEL_CSUM = 4,\n\tFLOW_DIS_F_TUNNEL_DONT_FRAGMENT = 8,\n\tFLOW_DIS_F_TUNNEL_OAM = 16,\n\tFLOW_DIS_F_TUNNEL_CRIT_OPT = 32,\n\tFLOW_DIS_ENCAPSULATION = 64,\n};\n\nenum flow_dissector_key_id {\n\tFLOW_DISSECTOR_KEY_CONTROL = 0,\n\tFLOW_DISSECTOR_KEY_BASIC = 1,\n\tFLOW_DISSECTOR_KEY_IPV4_ADDRS = 2,\n\tFLOW_DISSECTOR_KEY_IPV6_ADDRS = 3,\n\tFLOW_DISSECTOR_KEY_PORTS = 4,\n\tFLOW_DISSECTOR_KEY_PORTS_RANGE = 5,\n\tFLOW_DISSECTOR_KEY_ICMP = 6,\n\tFLOW_DISSECTOR_KEY_ETH_ADDRS = 7,\n\tFLOW_DISSECTOR_KEY_TIPC = 8,\n\tFLOW_DISSECTOR_KEY_ARP = 9,\n\tFLOW_DISSECTOR_KEY_VLAN = 10,\n\tFLOW_DISSECTOR_KEY_FLOW_LABEL = 11,\n\tFLOW_DISSECTOR_KEY_GRE_KEYID = 12,\n\tFLOW_DISSECTOR_KEY_MPLS_ENTROPY = 13,\n\tFLOW_DISSECTOR_KEY_ENC_KEYID = 14,\n\tFLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS = 15,\n\tFLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS = 16,\n\tFLOW_DISSECTOR_KEY_ENC_CONTROL = 17,\n\tFLOW_DISSECTOR_KEY_ENC_PORTS = 18,\n\tFLOW_DISSECTOR_KEY_MPLS = 19,\n\tFLOW_DISSECTOR_KEY_TCP = 20,\n\tFLOW_DISSECTOR_KEY_IP = 21,\n\tFLOW_DISSECTOR_KEY_CVLAN = 22,\n\tFLOW_DISSECTOR_KEY_ENC_IP = 23,\n\tFLOW_DISSECTOR_KEY_ENC_OPTS = 24,\n\tFLOW_DISSECTOR_KEY_META = 25,\n\tFLOW_DISSECTOR_KEY_CT = 26,\n\tFLOW_DISSECTOR_KEY_HASH = 27,\n\tFLOW_DISSECTOR_KEY_NUM_OF_VLANS = 28,\n\tFLOW_DISSECTOR_KEY_PPPOE = 29,\n\tFLOW_DISSECTOR_KEY_L2TPV3 = 30,\n\tFLOW_DISSECTOR_KEY_CFM = 31,\n\tFLOW_DISSECTOR_KEY_IPSEC = 32,\n\tFLOW_DISSECTOR_KEY_MAX = 33,\n};\n\nenum flowlabel_reflect {\n\tFLOWLABEL_REFLECT_ESTABLISHED = 1,\n\tFLOWLABEL_REFLECT_TCP_RESET = 2,\n\tFLOWLABEL_REFLECT_ICMPV6_ECHO_REPLIES = 4,\n};\n\nenum folio_references {\n\tFOLIOREF_RECLAIM = 0,\n\tFOLIOREF_RECLAIM_CLEAN = 1,\n\tFOLIOREF_KEEP = 2,\n\tFOLIOREF_ACTIVATE = 3,\n};\n\nenum folio_walk_level {\n\tFW_LEVEL_PTE = 0,\n\tFW_LEVEL_PMD = 1,\n\tFW_LEVEL_PUD = 2,\n};\n\nenum format_state {\n\tFORMAT_STATE_NONE = 0,\n\tFORMAT_STATE_NUM = 1,\n\tFORMAT_STATE_WIDTH = 2,\n\tFORMAT_STATE_PRECISION = 3,\n\tFORMAT_STATE_CHAR = 4,\n\tFORMAT_STATE_STR = 5,\n\tFORMAT_STATE_PTR = 6,\n\tFORMAT_STATE_PERCENT_CHAR = 7,\n\tFORMAT_STATE_INVALID = 8,\n};\n\nenum freeze_holder {\n\tFREEZE_HOLDER_KERNEL = 1,\n\tFREEZE_HOLDER_USERSPACE = 2,\n\tFREEZE_MAY_NEST = 4,\n};\n\nenum freezer_state_flags {\n\tCGROUP_FREEZER_ONLINE = 1,\n\tCGROUP_FREEZING_SELF = 2,\n\tCGROUP_FREEZING_PARENT = 4,\n\tCGROUP_FROZEN = 8,\n\tCGROUP_FREEZING = 6,\n};\n\nenum freq_qos_req_type {\n\tFREQ_QOS_MIN = 1,\n\tFREQ_QOS_MAX = 2,\n};\n\nenum fs_context_phase {\n\tFS_CONTEXT_CREATE_PARAMS = 0,\n\tFS_CONTEXT_CREATING = 1,\n\tFS_CONTEXT_AWAITING_MOUNT = 2,\n\tFS_CONTEXT_AWAITING_RECONF = 3,\n\tFS_CONTEXT_RECONF_PARAMS = 4,\n\tFS_CONTEXT_RECONFIGURING = 5,\n\tFS_CONTEXT_FAILED = 6,\n};\n\nenum fs_context_purpose {\n\tFS_CONTEXT_FOR_MOUNT = 0,\n\tFS_CONTEXT_FOR_SUBMOUNT = 1,\n\tFS_CONTEXT_FOR_RECONFIGURE = 2,\n};\n\nenum fs_value_type {\n\tfs_value_is_undefined = 0,\n\tfs_value_is_flag = 1,\n\tfs_value_is_string = 2,\n\tfs_value_is_blob = 3,\n\tfs_value_is_filename = 4,\n\tfs_value_is_file = 5,\n};\n\nenum fscache_cache_state {\n\tFSCACHE_CACHE_IS_NOT_PRESENT = 0,\n\tFSCACHE_CACHE_IS_PREPARING = 1,\n\tFSCACHE_CACHE_IS_ACTIVE = 2,\n\tFSCACHE_CACHE_GOT_IOERROR = 3,\n\tFSCACHE_CACHE_IS_WITHDRAWN = 4,\n};\n\nenum fscache_cookie_state {\n\tFSCACHE_COOKIE_STATE_QUIESCENT = 0,\n\tFSCACHE_COOKIE_STATE_LOOKING_UP = 1,\n\tFSCACHE_COOKIE_STATE_CREATING = 2,\n\tFSCACHE_COOKIE_STATE_ACTIVE = 3,\n\tFSCACHE_COOKIE_STATE_INVALIDATING = 4,\n\tFSCACHE_COOKIE_STATE_FAILED = 5,\n\tFSCACHE_COOKIE_STATE_LRU_DISCARDING = 6,\n\tFSCACHE_COOKIE_STATE_WITHDRAWING = 7,\n\tFSCACHE_COOKIE_STATE_RELINQUISHING = 8,\n\tFSCACHE_COOKIE_STATE_DROPPED = 9,\n} __attribute__((mode(byte)));\n\nenum fscache_want_state {\n\tFSCACHE_WANT_PARAMS = 0,\n\tFSCACHE_WANT_WRITE = 1,\n\tFSCACHE_WANT_READ = 2,\n};\n\nenum fsconfig_command {\n\tFSCONFIG_SET_FLAG = 0,\n\tFSCONFIG_SET_STRING = 1,\n\tFSCONFIG_SET_BINARY = 2,\n\tFSCONFIG_SET_PATH = 3,\n\tFSCONFIG_SET_PATH_EMPTY = 4,\n\tFSCONFIG_SET_FD = 5,\n\tFSCONFIG_CMD_CREATE = 6,\n\tFSCONFIG_CMD_RECONFIGURE = 7,\n\tFSCONFIG_CMD_CREATE_EXCL = 8,\n};\n\nenum fsl_mc_pool_type {\n\tFSL_MC_POOL_DPMCP = 0,\n\tFSL_MC_POOL_DPBP = 1,\n\tFSL_MC_POOL_DPCON = 2,\n\tFSL_MC_POOL_IRQ = 3,\n\tFSL_MC_NUM_POOL_TYPES = 4,\n};\n\nenum fsnotify_data_type {\n\tFSNOTIFY_EVENT_NONE = 0,\n\tFSNOTIFY_EVENT_FILE_RANGE = 1,\n\tFSNOTIFY_EVENT_PATH = 2,\n\tFSNOTIFY_EVENT_INODE = 3,\n\tFSNOTIFY_EVENT_DENTRY = 4,\n\tFSNOTIFY_EVENT_ERROR = 5,\n};\n\nenum fsnotify_group_prio {\n\tFSNOTIFY_PRIO_NORMAL = 0,\n\tFSNOTIFY_PRIO_CONTENT = 1,\n\tFSNOTIFY_PRIO_PRE_CONTENT = 2,\n\t__FSNOTIFY_PRIO_NUM = 3,\n};\n\nenum fsnotify_iter_type {\n\tFSNOTIFY_ITER_TYPE_INODE = 0,\n\tFSNOTIFY_ITER_TYPE_VFSMOUNT = 1,\n\tFSNOTIFY_ITER_TYPE_SB = 2,\n\tFSNOTIFY_ITER_TYPE_PARENT = 3,\n\tFSNOTIFY_ITER_TYPE_INODE2 = 4,\n\tFSNOTIFY_ITER_TYPE_COUNT = 5,\n};\n\nenum fsnotify_obj_type {\n\tFSNOTIFY_OBJ_TYPE_ANY = -1,\n\tFSNOTIFY_OBJ_TYPE_INODE = 0,\n\tFSNOTIFY_OBJ_TYPE_VFSMOUNT = 1,\n\tFSNOTIFY_OBJ_TYPE_SB = 2,\n\tFSNOTIFY_OBJ_TYPE_COUNT = 3,\n\tFSNOTIFY_OBJ_TYPE_DETACHED = 3,\n};\n\nenum ftrace_dump_mode {\n\tDUMP_NONE = 0,\n\tDUMP_ALL = 1,\n\tDUMP_ORIG = 2,\n\tDUMP_PARAM = 3,\n};\n\nenum futex_access {\n\tFUTEX_READ = 0,\n\tFUTEX_WRITE = 1,\n};\n\nenum fw_opt {\n\tFW_OPT_UEVENT = 1,\n\tFW_OPT_NOWAIT = 2,\n\tFW_OPT_USERHELPER = 4,\n\tFW_OPT_NO_WARN = 8,\n\tFW_OPT_NOCACHE = 16,\n\tFW_OPT_NOFALLBACK_SYSFS = 32,\n\tFW_OPT_FALLBACK_PLATFORM = 64,\n\tFW_OPT_PARTIAL = 128,\n};\n\nenum fw_status {\n\tFW_STATUS_UNKNOWN = 0,\n\tFW_STATUS_LOADING = 1,\n\tFW_STATUS_DONE = 2,\n\tFW_STATUS_ABORTED = 3,\n};\n\nenum genl_validate_flags {\n\tGENL_DONT_VALIDATE_STRICT = 1,\n\tGENL_DONT_VALIDATE_DUMP = 2,\n\tGENL_DONT_VALIDATE_DUMP_STRICT = 4,\n};\n\nenum genpd_notication {\n\tGENPD_NOTIFY_PRE_OFF = 0,\n\tGENPD_NOTIFY_OFF = 1,\n\tGENPD_NOTIFY_PRE_ON = 2,\n\tGENPD_NOTIFY_ON = 3,\n};\n\nenum gpd_status {\n\tGENPD_STATE_ON = 0,\n\tGENPD_STATE_OFF = 1,\n};\n\nenum gpio_lookup_flags {\n\tGPIO_ACTIVE_HIGH = 0,\n\tGPIO_ACTIVE_LOW = 1,\n\tGPIO_OPEN_DRAIN = 2,\n\tGPIO_OPEN_SOURCE = 4,\n\tGPIO_PERSISTENT = 0,\n\tGPIO_TRANSITORY = 8,\n\tGPIO_PULL_UP = 16,\n\tGPIO_PULL_DOWN = 32,\n\tGPIO_PULL_DISABLE = 64,\n\tGPIO_LOOKUP_FLAGS_DEFAULT = 0,\n};\n\nenum gpio_v2_line_attr_id {\n\tGPIO_V2_LINE_ATTR_ID_FLAGS = 1,\n\tGPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES = 2,\n\tGPIO_V2_LINE_ATTR_ID_DEBOUNCE = 3,\n};\n\nenum gpio_v2_line_changed_type {\n\tGPIO_V2_LINE_CHANGED_REQUESTED = 1,\n\tGPIO_V2_LINE_CHANGED_RELEASED = 2,\n\tGPIO_V2_LINE_CHANGED_CONFIG = 3,\n};\n\nenum gpio_v2_line_event_id {\n\tGPIO_V2_LINE_EVENT_RISING_EDGE = 1,\n\tGPIO_V2_LINE_EVENT_FALLING_EDGE = 2,\n};\n\nenum gpio_v2_line_flag {\n\tGPIO_V2_LINE_FLAG_USED = 1,\n\tGPIO_V2_LINE_FLAG_ACTIVE_LOW = 2,\n\tGPIO_V2_LINE_FLAG_INPUT = 4,\n\tGPIO_V2_LINE_FLAG_OUTPUT = 8,\n\tGPIO_V2_LINE_FLAG_EDGE_RISING = 16,\n\tGPIO_V2_LINE_FLAG_EDGE_FALLING = 32,\n\tGPIO_V2_LINE_FLAG_OPEN_DRAIN = 64,\n\tGPIO_V2_LINE_FLAG_OPEN_SOURCE = 128,\n\tGPIO_V2_LINE_FLAG_BIAS_PULL_UP = 256,\n\tGPIO_V2_LINE_FLAG_BIAS_PULL_DOWN = 512,\n\tGPIO_V2_LINE_FLAG_BIAS_DISABLED = 1024,\n\tGPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME = 2048,\n\tGPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE = 4096,\n};\n\nenum gpiod_flags {\n\tGPIOD_ASIS = 0,\n\tGPIOD_IN = 1,\n\tGPIOD_OUT_LOW = 3,\n\tGPIOD_OUT_HIGH = 7,\n\tGPIOD_OUT_LOW_OPEN_DRAIN = 11,\n\tGPIOD_OUT_HIGH_OPEN_DRAIN = 15,\n};\n\nenum gro_result {\n\tGRO_MERGED = 0,\n\tGRO_MERGED_FREE = 1,\n\tGRO_HELD = 2,\n\tGRO_NORMAL = 3,\n\tGRO_CONSUMED = 4,\n};\n\ntypedef enum gro_result gro_result_t;\n\nenum group_type {\n\tgroup_has_spare = 0,\n\tgroup_fully_busy = 1,\n\tgroup_misfit_task = 2,\n\tgroup_smt_balance = 3,\n\tgroup_asym_packing = 4,\n\tgroup_imbalanced = 5,\n\tgroup_overloaded = 6,\n};\n\nenum handle_to_path_flags {\n\tHANDLE_CHECK_PERMS = 1,\n\tHANDLE_CHECK_SUBTREE = 2,\n};\n\nenum handshake_auth {\n\tHANDSHAKE_AUTH_UNSPEC = 0,\n\tHANDSHAKE_AUTH_UNAUTH = 1,\n\tHANDSHAKE_AUTH_PSK = 2,\n\tHANDSHAKE_AUTH_X509 = 3,\n};\n\nenum handshake_handler_class {\n\tHANDSHAKE_HANDLER_CLASS_NONE = 0,\n\tHANDSHAKE_HANDLER_CLASS_TLSHD = 1,\n\tHANDSHAKE_HANDLER_CLASS_MAX = 2,\n};\n\nenum handshake_msg_type {\n\tHANDSHAKE_MSG_TYPE_UNSPEC = 0,\n\tHANDSHAKE_MSG_TYPE_CLIENTHELLO = 1,\n\tHANDSHAKE_MSG_TYPE_SERVERHELLO = 2,\n};\n\nenum hash_algo {\n\tHASH_ALGO_MD4 = 0,\n\tHASH_ALGO_MD5 = 1,\n\tHASH_ALGO_SHA1 = 2,\n\tHASH_ALGO_RIPE_MD_160 = 3,\n\tHASH_ALGO_SHA256 = 4,\n\tHASH_ALGO_SHA384 = 5,\n\tHASH_ALGO_SHA512 = 6,\n\tHASH_ALGO_SHA224 = 7,\n\tHASH_ALGO_RIPE_MD_128 = 8,\n\tHASH_ALGO_RIPE_MD_256 = 9,\n\tHASH_ALGO_RIPE_MD_320 = 10,\n\tHASH_ALGO_WP_256 = 11,\n\tHASH_ALGO_WP_384 = 12,\n\tHASH_ALGO_WP_512 = 13,\n\tHASH_ALGO_TGR_128 = 14,\n\tHASH_ALGO_TGR_160 = 15,\n\tHASH_ALGO_TGR_192 = 16,\n\tHASH_ALGO_SM3_256 = 17,\n\tHASH_ALGO_STREEBOG_256 = 18,\n\tHASH_ALGO_STREEBOG_512 = 19,\n\tHASH_ALGO_SHA3_256 = 20,\n\tHASH_ALGO_SHA3_384 = 21,\n\tHASH_ALGO_SHA3_512 = 22,\n\tHASH_ALGO__LAST = 23,\n};\n\nenum hctx_type {\n\tHCTX_TYPE_DEFAULT = 0,\n\tHCTX_TYPE_READ = 1,\n\tHCTX_TYPE_POLL = 2,\n\tHCTX_MAX_TYPES = 3,\n};\n\nenum hdmi_3d_structure {\n\tHDMI_3D_STRUCTURE_INVALID = -1,\n\tHDMI_3D_STRUCTURE_FRAME_PACKING = 0,\n\tHDMI_3D_STRUCTURE_FIELD_ALTERNATIVE = 1,\n\tHDMI_3D_STRUCTURE_LINE_ALTERNATIVE = 2,\n\tHDMI_3D_STRUCTURE_SIDE_BY_SIDE_FULL = 3,\n\tHDMI_3D_STRUCTURE_L_DEPTH = 4,\n\tHDMI_3D_STRUCTURE_L_DEPTH_GFX_GFX_DEPTH = 5,\n\tHDMI_3D_STRUCTURE_TOP_AND_BOTTOM = 6,\n\tHDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8,\n};\n\nenum hdmi_active_aspect {\n\tHDMI_ACTIVE_ASPECT_16_9_TOP = 2,\n\tHDMI_ACTIVE_ASPECT_14_9_TOP = 3,\n\tHDMI_ACTIVE_ASPECT_16_9_CENTER = 4,\n\tHDMI_ACTIVE_ASPECT_PICTURE = 8,\n\tHDMI_ACTIVE_ASPECT_4_3 = 9,\n\tHDMI_ACTIVE_ASPECT_16_9 = 10,\n\tHDMI_ACTIVE_ASPECT_14_9 = 11,\n\tHDMI_ACTIVE_ASPECT_4_3_SP_14_9 = 13,\n\tHDMI_ACTIVE_ASPECT_16_9_SP_14_9 = 14,\n\tHDMI_ACTIVE_ASPECT_16_9_SP_4_3 = 15,\n};\n\nenum hdmi_audio_coding_type {\n\tHDMI_AUDIO_CODING_TYPE_STREAM = 0,\n\tHDMI_AUDIO_CODING_TYPE_PCM = 1,\n\tHDMI_AUDIO_CODING_TYPE_AC3 = 2,\n\tHDMI_AUDIO_CODING_TYPE_MPEG1 = 3,\n\tHDMI_AUDIO_CODING_TYPE_MP3 = 4,\n\tHDMI_AUDIO_CODING_TYPE_MPEG2 = 5,\n\tHDMI_AUDIO_CODING_TYPE_AAC_LC = 6,\n\tHDMI_AUDIO_CODING_TYPE_DTS = 7,\n\tHDMI_AUDIO_CODING_TYPE_ATRAC = 8,\n\tHDMI_AUDIO_CODING_TYPE_DSD = 9,\n\tHDMI_AUDIO_CODING_TYPE_EAC3 = 10,\n\tHDMI_AUDIO_CODING_TYPE_DTS_HD = 11,\n\tHDMI_AUDIO_CODING_TYPE_MLP = 12,\n\tHDMI_AUDIO_CODING_TYPE_DST = 13,\n\tHDMI_AUDIO_CODING_TYPE_WMA_PRO = 14,\n\tHDMI_AUDIO_CODING_TYPE_CXT = 15,\n};\n\nenum hdmi_audio_coding_type_ext {\n\tHDMI_AUDIO_CODING_TYPE_EXT_CT = 0,\n\tHDMI_AUDIO_CODING_TYPE_EXT_HE_AAC = 1,\n\tHDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2 = 2,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND = 3,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC = 4,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_V2 = 5,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC = 6,\n\tHDMI_AUDIO_CODING_TYPE_EXT_DRA = 7,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_SURROUND = 8,\n\tHDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC_SURROUND = 10,\n};\n\nenum hdmi_audio_sample_frequency {\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_STREAM = 0,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_32000 = 1,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_44100 = 2,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_48000 = 3,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_88200 = 4,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_96000 = 5,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_176400 = 6,\n\tHDMI_AUDIO_SAMPLE_FREQUENCY_192000 = 7,\n};\n\nenum hdmi_audio_sample_size {\n\tHDMI_AUDIO_SAMPLE_SIZE_STREAM = 0,\n\tHDMI_AUDIO_SAMPLE_SIZE_16 = 1,\n\tHDMI_AUDIO_SAMPLE_SIZE_20 = 2,\n\tHDMI_AUDIO_SAMPLE_SIZE_24 = 3,\n};\n\nenum hdmi_colorimetry {\n\tHDMI_COLORIMETRY_NONE = 0,\n\tHDMI_COLORIMETRY_ITU_601 = 1,\n\tHDMI_COLORIMETRY_ITU_709 = 2,\n\tHDMI_COLORIMETRY_EXTENDED = 3,\n};\n\nenum hdmi_colorspace {\n\tHDMI_COLORSPACE_RGB = 0,\n\tHDMI_COLORSPACE_YUV422 = 1,\n\tHDMI_COLORSPACE_YUV444 = 2,\n\tHDMI_COLORSPACE_YUV420 = 3,\n\tHDMI_COLORSPACE_RESERVED4 = 4,\n\tHDMI_COLORSPACE_RESERVED5 = 5,\n\tHDMI_COLORSPACE_RESERVED6 = 6,\n\tHDMI_COLORSPACE_IDO_DEFINED = 7,\n};\n\nenum hdmi_content_type {\n\tHDMI_CONTENT_TYPE_GRAPHICS = 0,\n\tHDMI_CONTENT_TYPE_PHOTO = 1,\n\tHDMI_CONTENT_TYPE_CINEMA = 2,\n\tHDMI_CONTENT_TYPE_GAME = 3,\n};\n\nenum hdmi_eotf {\n\tHDMI_EOTF_TRADITIONAL_GAMMA_SDR = 0,\n\tHDMI_EOTF_TRADITIONAL_GAMMA_HDR = 1,\n\tHDMI_EOTF_SMPTE_ST2084 = 2,\n\tHDMI_EOTF_BT_2100_HLG = 3,\n};\n\nenum hdmi_extended_colorimetry {\n\tHDMI_EXTENDED_COLORIMETRY_XV_YCC_601 = 0,\n\tHDMI_EXTENDED_COLORIMETRY_XV_YCC_709 = 1,\n\tHDMI_EXTENDED_COLORIMETRY_S_YCC_601 = 2,\n\tHDMI_EXTENDED_COLORIMETRY_OPYCC_601 = 3,\n\tHDMI_EXTENDED_COLORIMETRY_OPRGB = 4,\n\tHDMI_EXTENDED_COLORIMETRY_BT2020_CONST_LUM = 5,\n\tHDMI_EXTENDED_COLORIMETRY_BT2020 = 6,\n\tHDMI_EXTENDED_COLORIMETRY_RESERVED = 7,\n};\n\nenum hdmi_infoframe_type {\n\tHDMI_INFOFRAME_TYPE_VENDOR = 129,\n\tHDMI_INFOFRAME_TYPE_AVI = 130,\n\tHDMI_INFOFRAME_TYPE_SPD = 131,\n\tHDMI_INFOFRAME_TYPE_AUDIO = 132,\n\tHDMI_INFOFRAME_TYPE_DRM = 135,\n};\n\nenum hdmi_metadata_type {\n\tHDMI_STATIC_METADATA_TYPE1 = 0,\n};\n\nenum hdmi_nups {\n\tHDMI_NUPS_UNKNOWN = 0,\n\tHDMI_NUPS_HORIZONTAL = 1,\n\tHDMI_NUPS_VERTICAL = 2,\n\tHDMI_NUPS_BOTH = 3,\n};\n\nenum hdmi_picture_aspect {\n\tHDMI_PICTURE_ASPECT_NONE = 0,\n\tHDMI_PICTURE_ASPECT_4_3 = 1,\n\tHDMI_PICTURE_ASPECT_16_9 = 2,\n\tHDMI_PICTURE_ASPECT_64_27 = 3,\n\tHDMI_PICTURE_ASPECT_256_135 = 4,\n\tHDMI_PICTURE_ASPECT_RESERVED = 5,\n};\n\nenum hdmi_quantization_range {\n\tHDMI_QUANTIZATION_RANGE_DEFAULT = 0,\n\tHDMI_QUANTIZATION_RANGE_LIMITED = 1,\n\tHDMI_QUANTIZATION_RANGE_FULL = 2,\n\tHDMI_QUANTIZATION_RANGE_RESERVED = 3,\n};\n\nenum hdmi_scan_mode {\n\tHDMI_SCAN_MODE_NONE = 0,\n\tHDMI_SCAN_MODE_OVERSCAN = 1,\n\tHDMI_SCAN_MODE_UNDERSCAN = 2,\n\tHDMI_SCAN_MODE_RESERVED = 3,\n};\n\nenum hdmi_spd_sdi {\n\tHDMI_SPD_SDI_UNKNOWN = 0,\n\tHDMI_SPD_SDI_DSTB = 1,\n\tHDMI_SPD_SDI_DVDP = 2,\n\tHDMI_SPD_SDI_DVHS = 3,\n\tHDMI_SPD_SDI_HDDVR = 4,\n\tHDMI_SPD_SDI_DVC = 5,\n\tHDMI_SPD_SDI_DSC = 6,\n\tHDMI_SPD_SDI_VCD = 7,\n\tHDMI_SPD_SDI_GAME = 8,\n\tHDMI_SPD_SDI_PC = 9,\n\tHDMI_SPD_SDI_BD = 10,\n\tHDMI_SPD_SDI_SACD = 11,\n\tHDMI_SPD_SDI_HDDVD = 12,\n\tHDMI_SPD_SDI_PMP = 13,\n};\n\nenum hdmi_ycc_quantization_range {\n\tHDMI_YCC_QUANTIZATION_RANGE_LIMITED = 0,\n\tHDMI_YCC_QUANTIZATION_RANGE_FULL = 1,\n};\n\nenum hid_class_request {\n\tHID_REQ_GET_REPORT = 1,\n\tHID_REQ_GET_IDLE = 2,\n\tHID_REQ_GET_PROTOCOL = 3,\n\tHID_REQ_SET_REPORT = 9,\n\tHID_REQ_SET_IDLE = 10,\n\tHID_REQ_SET_PROTOCOL = 11,\n};\n\nenum hid_report_type {\n\tHID_INPUT_REPORT = 0,\n\tHID_OUTPUT_REPORT = 1,\n\tHID_FEATURE_REPORT = 2,\n\tHID_REPORT_TYPES = 3,\n};\n\nenum hid_type {\n\tHID_TYPE_OTHER = 0,\n\tHID_TYPE_USBMOUSE = 1,\n\tHID_TYPE_USBNONE = 2,\n};\n\nenum hk_flags {\n\tHK_FLAG_DOMAIN = 1,\n\tHK_FLAG_MANAGED_IRQ = 2,\n\tHK_FLAG_KERNEL_NOISE = 4,\n};\n\nenum hk_type {\n\tHK_TYPE_DOMAIN = 0,\n\tHK_TYPE_MANAGED_IRQ = 1,\n\tHK_TYPE_KERNEL_NOISE = 2,\n\tHK_TYPE_MAX = 3,\n\tHK_TYPE_TICK = 2,\n\tHK_TYPE_TIMER = 2,\n\tHK_TYPE_RCU = 2,\n\tHK_TYPE_MISC = 2,\n\tHK_TYPE_WQ = 2,\n\tHK_TYPE_KTHREAD = 2,\n};\n\nenum hn_flags_bits {\n\tHANDSHAKE_F_NET_DRAINING = 0,\n};\n\nenum hp_flags_bits {\n\tHANDSHAKE_F_PROTO_NOTIFY = 0,\n};\n\nenum hprobe_state {\n\tHPROBE_LEASED = 0,\n\tHPROBE_STABLE = 1,\n\tHPROBE_GONE = 2,\n\tHPROBE_CONSUMED = 3,\n};\n\nenum hpx_type3_cfg_loc {\n\tHPX_CFG_PCICFG = 0,\n\tHPX_CFG_PCIE_CAP = 1,\n\tHPX_CFG_PCIE_CAP_EXT = 2,\n\tHPX_CFG_VEND_CAP = 3,\n\tHPX_CFG_DVSEC = 4,\n\tHPX_CFG_MAX = 5,\n};\n\nenum hpx_type3_dev_type {\n\tHPX_TYPE_ENDPOINT = 1,\n\tHPX_TYPE_LEG_END = 2,\n\tHPX_TYPE_RC_END = 4,\n\tHPX_TYPE_RC_EC = 8,\n\tHPX_TYPE_ROOT_PORT = 16,\n\tHPX_TYPE_UPSTREAM = 32,\n\tHPX_TYPE_DOWNSTREAM = 64,\n\tHPX_TYPE_PCI_BRIDGE = 128,\n\tHPX_TYPE_PCIE_BRIDGE = 256,\n};\n\nenum hpx_type3_fn_type {\n\tHPX_FN_NORMAL = 1,\n\tHPX_FN_SRIOV_PHYS = 2,\n\tHPX_FN_SRIOV_VIRT = 4,\n};\n\nenum hr_flags_bits {\n\tHANDSHAKE_F_REQ_COMPLETED = 0,\n\tHANDSHAKE_F_REQ_SESSION = 1,\n};\n\nenum hrtimer_base_type {\n\tHRTIMER_BASE_MONOTONIC = 0,\n\tHRTIMER_BASE_REALTIME = 1,\n\tHRTIMER_BASE_BOOTTIME = 2,\n\tHRTIMER_BASE_TAI = 3,\n\tHRTIMER_BASE_MONOTONIC_SOFT = 4,\n\tHRTIMER_BASE_REALTIME_SOFT = 5,\n\tHRTIMER_BASE_BOOTTIME_SOFT = 6,\n\tHRTIMER_BASE_TAI_SOFT = 7,\n\tHRTIMER_MAX_CLOCK_BASES = 8,\n};\n\nenum hrtimer_mode {\n\tHRTIMER_MODE_ABS = 0,\n\tHRTIMER_MODE_REL = 1,\n\tHRTIMER_MODE_PINNED = 2,\n\tHRTIMER_MODE_SOFT = 4,\n\tHRTIMER_MODE_HARD = 8,\n\tHRTIMER_MODE_ABS_PINNED = 2,\n\tHRTIMER_MODE_REL_PINNED = 3,\n\tHRTIMER_MODE_ABS_SOFT = 4,\n\tHRTIMER_MODE_REL_SOFT = 5,\n\tHRTIMER_MODE_ABS_PINNED_SOFT = 6,\n\tHRTIMER_MODE_REL_PINNED_SOFT = 7,\n\tHRTIMER_MODE_ABS_HARD = 8,\n\tHRTIMER_MODE_REL_HARD = 9,\n\tHRTIMER_MODE_ABS_PINNED_HARD = 10,\n\tHRTIMER_MODE_REL_PINNED_HARD = 11,\n};\n\nenum hrtimer_restart {\n\tHRTIMER_NORESTART = 0,\n\tHRTIMER_RESTART = 1,\n};\n\nenum hsm_task_states {\n\tHSM_ST_IDLE = 0,\n\tHSM_ST_FIRST = 1,\n\tHSM_ST = 2,\n\tHSM_ST_LAST = 3,\n\tHSM_ST_ERR = 4,\n};\n\nenum hub_activation_type {\n\tHUB_INIT = 0,\n\tHUB_INIT2 = 1,\n\tHUB_INIT3 = 2,\n\tHUB_POST_RESET = 3,\n\tHUB_RESUME = 4,\n\tHUB_RESET_RESUME = 5,\n};\n\nenum hub_led_mode {\n\tINDICATOR_AUTO = 0,\n\tINDICATOR_CYCLE = 1,\n\tINDICATOR_GREEN_BLINK = 2,\n\tINDICATOR_GREEN_BLINK_OFF = 3,\n\tINDICATOR_AMBER_BLINK = 4,\n\tINDICATOR_AMBER_BLINK_OFF = 5,\n\tINDICATOR_ALT_BLINK = 6,\n\tINDICATOR_ALT_BLINK_OFF = 7,\n} __attribute__((mode(byte)));\n\nenum hub_quiescing_type {\n\tHUB_DISCONNECT = 0,\n\tHUB_PRE_RESET = 1,\n\tHUB_SUSPEND = 2,\n};\n\nenum hugetlb_memory_event {\n\tHUGETLB_MAX = 0,\n\tHUGETLB_NR_MEMORY_EVENTS = 1,\n};\n\nenum hugetlb_page_flags {\n\tHPG_restore_reserve = 0,\n\tHPG_migratable = 1,\n\tHPG_temporary = 2,\n\tHPG_freed = 3,\n\tHPG_vmemmap_optimized = 4,\n\tHPG_raw_hwp_unreliable = 5,\n\t__NR_HPAGEFLAGS = 6,\n};\n\nenum hugetlb_param {\n\tOpt_gid___7 = 0,\n\tOpt_min_size = 1,\n\tOpt_mode___5 = 2,\n\tOpt_nr_inodes = 3,\n\tOpt_pagesize = 4,\n\tOpt_size = 5,\n\tOpt_uid___7 = 6,\n};\n\nenum hugetlbfs_size_type {\n\tNO_SIZE = 0,\n\tSIZE_STD = 1,\n\tSIZE_PERCENT = 2,\n};\n\nenum hwmon_chip_attributes {\n\thwmon_chip_temp_reset_history = 0,\n\thwmon_chip_in_reset_history = 1,\n\thwmon_chip_curr_reset_history = 2,\n\thwmon_chip_power_reset_history = 3,\n\thwmon_chip_register_tz = 4,\n\thwmon_chip_update_interval = 5,\n\thwmon_chip_alarms = 6,\n\thwmon_chip_samples = 7,\n\thwmon_chip_curr_samples = 8,\n\thwmon_chip_in_samples = 9,\n\thwmon_chip_power_samples = 10,\n\thwmon_chip_temp_samples = 11,\n\thwmon_chip_beep_enable = 12,\n\thwmon_chip_pec = 13,\n};\n\nenum hwmon_curr_attributes {\n\thwmon_curr_enable = 0,\n\thwmon_curr_input = 1,\n\thwmon_curr_min = 2,\n\thwmon_curr_max = 3,\n\thwmon_curr_lcrit = 4,\n\thwmon_curr_crit = 5,\n\thwmon_curr_average = 6,\n\thwmon_curr_lowest = 7,\n\thwmon_curr_highest = 8,\n\thwmon_curr_reset_history = 9,\n\thwmon_curr_label = 10,\n\thwmon_curr_alarm = 11,\n\thwmon_curr_min_alarm = 12,\n\thwmon_curr_max_alarm = 13,\n\thwmon_curr_lcrit_alarm = 14,\n\thwmon_curr_crit_alarm = 15,\n\thwmon_curr_rated_min = 16,\n\thwmon_curr_rated_max = 17,\n\thwmon_curr_beep = 18,\n};\n\nenum hwmon_energy_attributes {\n\thwmon_energy_enable = 0,\n\thwmon_energy_input = 1,\n\thwmon_energy_label = 2,\n};\n\nenum hwmon_fan_attributes {\n\thwmon_fan_enable = 0,\n\thwmon_fan_input = 1,\n\thwmon_fan_label = 2,\n\thwmon_fan_min = 3,\n\thwmon_fan_max = 4,\n\thwmon_fan_div = 5,\n\thwmon_fan_pulses = 6,\n\thwmon_fan_target = 7,\n\thwmon_fan_alarm = 8,\n\thwmon_fan_min_alarm = 9,\n\thwmon_fan_max_alarm = 10,\n\thwmon_fan_fault = 11,\n\thwmon_fan_beep = 12,\n};\n\nenum hwmon_humidity_attributes {\n\thwmon_humidity_enable = 0,\n\thwmon_humidity_input = 1,\n\thwmon_humidity_label = 2,\n\thwmon_humidity_min = 3,\n\thwmon_humidity_min_hyst = 4,\n\thwmon_humidity_max = 5,\n\thwmon_humidity_max_hyst = 6,\n\thwmon_humidity_alarm = 7,\n\thwmon_humidity_fault = 8,\n\thwmon_humidity_rated_min = 9,\n\thwmon_humidity_rated_max = 10,\n\thwmon_humidity_min_alarm = 11,\n\thwmon_humidity_max_alarm = 12,\n};\n\nenum hwmon_in_attributes {\n\thwmon_in_enable = 0,\n\thwmon_in_input = 1,\n\thwmon_in_min = 2,\n\thwmon_in_max = 3,\n\thwmon_in_lcrit = 4,\n\thwmon_in_crit = 5,\n\thwmon_in_average = 6,\n\thwmon_in_lowest = 7,\n\thwmon_in_highest = 8,\n\thwmon_in_reset_history = 9,\n\thwmon_in_label = 10,\n\thwmon_in_alarm = 11,\n\thwmon_in_min_alarm = 12,\n\thwmon_in_max_alarm = 13,\n\thwmon_in_lcrit_alarm = 14,\n\thwmon_in_crit_alarm = 15,\n\thwmon_in_rated_min = 16,\n\thwmon_in_rated_max = 17,\n\thwmon_in_beep = 18,\n\thwmon_in_fault = 19,\n};\n\nenum hwmon_intrusion_attributes {\n\thwmon_intrusion_alarm = 0,\n\thwmon_intrusion_beep = 1,\n};\n\nenum hwmon_power_attributes {\n\thwmon_power_enable = 0,\n\thwmon_power_average = 1,\n\thwmon_power_average_interval = 2,\n\thwmon_power_average_interval_max = 3,\n\thwmon_power_average_interval_min = 4,\n\thwmon_power_average_highest = 5,\n\thwmon_power_average_lowest = 6,\n\thwmon_power_average_max = 7,\n\thwmon_power_average_min = 8,\n\thwmon_power_input = 9,\n\thwmon_power_input_highest = 10,\n\thwmon_power_input_lowest = 11,\n\thwmon_power_reset_history = 12,\n\thwmon_power_accuracy = 13,\n\thwmon_power_cap = 14,\n\thwmon_power_cap_hyst = 15,\n\thwmon_power_cap_max = 16,\n\thwmon_power_cap_min = 17,\n\thwmon_power_min = 18,\n\thwmon_power_max = 19,\n\thwmon_power_crit = 20,\n\thwmon_power_lcrit = 21,\n\thwmon_power_label = 22,\n\thwmon_power_alarm = 23,\n\thwmon_power_cap_alarm = 24,\n\thwmon_power_min_alarm = 25,\n\thwmon_power_max_alarm = 26,\n\thwmon_power_lcrit_alarm = 27,\n\thwmon_power_crit_alarm = 28,\n\thwmon_power_rated_min = 29,\n\thwmon_power_rated_max = 30,\n};\n\nenum hwmon_pwm_attributes {\n\thwmon_pwm_input = 0,\n\thwmon_pwm_enable = 1,\n\thwmon_pwm_mode = 2,\n\thwmon_pwm_freq = 3,\n\thwmon_pwm_auto_channels_temp = 4,\n};\n\nenum hwmon_sensor_types {\n\thwmon_chip = 0,\n\thwmon_temp = 1,\n\thwmon_in = 2,\n\thwmon_curr = 3,\n\thwmon_power = 4,\n\thwmon_energy = 5,\n\thwmon_humidity = 6,\n\thwmon_fan = 7,\n\thwmon_pwm = 8,\n\thwmon_intrusion = 9,\n\thwmon_max = 10,\n};\n\nenum hwmon_temp_attributes {\n\thwmon_temp_enable = 0,\n\thwmon_temp_input = 1,\n\thwmon_temp_type = 2,\n\thwmon_temp_lcrit = 3,\n\thwmon_temp_lcrit_hyst = 4,\n\thwmon_temp_min = 5,\n\thwmon_temp_min_hyst = 6,\n\thwmon_temp_max = 7,\n\thwmon_temp_max_hyst = 8,\n\thwmon_temp_crit = 9,\n\thwmon_temp_crit_hyst = 10,\n\thwmon_temp_emergency = 11,\n\thwmon_temp_emergency_hyst = 12,\n\thwmon_temp_alarm = 13,\n\thwmon_temp_lcrit_alarm = 14,\n\thwmon_temp_min_alarm = 15,\n\thwmon_temp_max_alarm = 16,\n\thwmon_temp_crit_alarm = 17,\n\thwmon_temp_emergency_alarm = 18,\n\thwmon_temp_fault = 19,\n\thwmon_temp_offset = 20,\n\thwmon_temp_label = 21,\n\thwmon_temp_lowest = 22,\n\thwmon_temp_highest = 23,\n\thwmon_temp_reset_history = 24,\n\thwmon_temp_rated_min = 25,\n\thwmon_temp_rated_max = 26,\n\thwmon_temp_beep = 27,\n};\n\nenum hwparam_type {\n\thwparam_ioport = 0,\n\thwparam_iomem = 1,\n\thwparam_ioport_or_iomem = 2,\n\thwparam_irq = 3,\n\thwparam_dma = 4,\n\thwparam_dma_addr = 5,\n\thwparam_other = 6,\n};\n\nenum hwtstamp_flags {\n\tHWTSTAMP_FLAG_BONDED_PHC_INDEX = 1,\n\tHWTSTAMP_FLAG_LAST = 1,\n\tHWTSTAMP_FLAG_MASK = 1,\n};\n\nenum hwtstamp_provider_qualifier {\n\tHWTSTAMP_PROVIDER_QUALIFIER_PRECISE = 0,\n\tHWTSTAMP_PROVIDER_QUALIFIER_APPROX = 1,\n\tHWTSTAMP_PROVIDER_QUALIFIER_CNT = 2,\n};\n\nenum hwtstamp_rx_filters {\n\tHWTSTAMP_FILTER_NONE = 0,\n\tHWTSTAMP_FILTER_ALL = 1,\n\tHWTSTAMP_FILTER_SOME = 2,\n\tHWTSTAMP_FILTER_PTP_V1_L4_EVENT = 3,\n\tHWTSTAMP_FILTER_PTP_V1_L4_SYNC = 4,\n\tHWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ = 5,\n\tHWTSTAMP_FILTER_PTP_V2_L4_EVENT = 6,\n\tHWTSTAMP_FILTER_PTP_V2_L4_SYNC = 7,\n\tHWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ = 8,\n\tHWTSTAMP_FILTER_PTP_V2_L2_EVENT = 9,\n\tHWTSTAMP_FILTER_PTP_V2_L2_SYNC = 10,\n\tHWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ = 11,\n\tHWTSTAMP_FILTER_PTP_V2_EVENT = 12,\n\tHWTSTAMP_FILTER_PTP_V2_SYNC = 13,\n\tHWTSTAMP_FILTER_PTP_V2_DELAY_REQ = 14,\n\tHWTSTAMP_FILTER_NTP_ALL = 15,\n\t__HWTSTAMP_FILTER_CNT = 16,\n};\n\nenum hwtstamp_source {\n\tHWTSTAMP_SOURCE_UNSPEC = 0,\n\tHWTSTAMP_SOURCE_NETDEV = 1,\n\tHWTSTAMP_SOURCE_PHYLIB = 2,\n};\n\nenum hwtstamp_tx_types {\n\tHWTSTAMP_TX_OFF = 0,\n\tHWTSTAMP_TX_ON = 1,\n\tHWTSTAMP_TX_ONESTEP_SYNC = 2,\n\tHWTSTAMP_TX_ONESTEP_P2P = 3,\n\t__HWTSTAMP_TX_CNT = 4,\n};\n\nenum i2c_alert_protocol {\n\tI2C_PROTOCOL_SMBUS_ALERT = 0,\n\tI2C_PROTOCOL_SMBUS_HOST_NOTIFY = 1,\n};\n\nenum i2c_driver_flags {\n\tI2C_DRV_ACPI_WAIVE_D0_PROBE = 1,\n};\n\nenum ib_poll_context {\n\tIB_POLL_SOFTIRQ = 0,\n\tIB_POLL_WORKQUEUE = 1,\n\tIB_POLL_UNBOUND_WORKQUEUE = 2,\n\tIB_POLL_LAST_POOL_TYPE = 2,\n\tIB_POLL_DIRECT = 3,\n};\n\nenum ib_uverbs_access_flags {\n\tIB_UVERBS_ACCESS_LOCAL_WRITE = 1,\n\tIB_UVERBS_ACCESS_REMOTE_WRITE = 2,\n\tIB_UVERBS_ACCESS_REMOTE_READ = 4,\n\tIB_UVERBS_ACCESS_REMOTE_ATOMIC = 8,\n\tIB_UVERBS_ACCESS_MW_BIND = 16,\n\tIB_UVERBS_ACCESS_ZERO_BASED = 32,\n\tIB_UVERBS_ACCESS_ON_DEMAND = 64,\n\tIB_UVERBS_ACCESS_HUGETLB = 128,\n\tIB_UVERBS_ACCESS_FLUSH_GLOBAL = 256,\n\tIB_UVERBS_ACCESS_FLUSH_PERSISTENT = 512,\n\tIB_UVERBS_ACCESS_RELAXED_ORDERING = 1048576,\n\tIB_UVERBS_ACCESS_OPTIONAL_RANGE = 1072693248,\n};\n\nenum ib_uverbs_create_qp_mask {\n\tIB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1,\n};\n\nenum ib_uverbs_device_cap_flags {\n\tIB_UVERBS_DEVICE_RESIZE_MAX_WR = 1ULL,\n\tIB_UVERBS_DEVICE_BAD_PKEY_CNTR = 2ULL,\n\tIB_UVERBS_DEVICE_BAD_QKEY_CNTR = 4ULL,\n\tIB_UVERBS_DEVICE_RAW_MULTI = 8ULL,\n\tIB_UVERBS_DEVICE_AUTO_PATH_MIG = 16ULL,\n\tIB_UVERBS_DEVICE_CHANGE_PHY_PORT = 32ULL,\n\tIB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE = 64ULL,\n\tIB_UVERBS_DEVICE_CURR_QP_STATE_MOD = 128ULL,\n\tIB_UVERBS_DEVICE_SHUTDOWN_PORT = 256ULL,\n\tIB_UVERBS_DEVICE_PORT_ACTIVE_EVENT = 1024ULL,\n\tIB_UVERBS_DEVICE_SYS_IMAGE_GUID = 2048ULL,\n\tIB_UVERBS_DEVICE_RC_RNR_NAK_GEN = 4096ULL,\n\tIB_UVERBS_DEVICE_SRQ_RESIZE = 8192ULL,\n\tIB_UVERBS_DEVICE_N_NOTIFY_CQ = 16384ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW = 131072ULL,\n\tIB_UVERBS_DEVICE_UD_IP_CSUM = 262144ULL,\n\tIB_UVERBS_DEVICE_XRC = 1048576ULL,\n\tIB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS = 2097152ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A = 8388608ULL,\n\tIB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B = 16777216ULL,\n\tIB_UVERBS_DEVICE_RC_IP_CSUM = 33554432ULL,\n\tIB_UVERBS_DEVICE_RAW_IP_CSUM = 67108864ULL,\n\tIB_UVERBS_DEVICE_MANAGED_FLOW_STEERING = 536870912ULL,\n\tIB_UVERBS_DEVICE_RAW_SCATTER_FCS = 17179869184ULL,\n\tIB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = 68719476736ULL,\n\tIB_UVERBS_DEVICE_FLUSH_GLOBAL = 274877906944ULL,\n\tIB_UVERBS_DEVICE_FLUSH_PERSISTENT = 549755813888ULL,\n\tIB_UVERBS_DEVICE_ATOMIC_WRITE = 1099511627776ULL,\n};\n\nenum ib_uverbs_gid_type {\n\tIB_UVERBS_GID_TYPE_IB = 0,\n\tIB_UVERBS_GID_TYPE_ROCE_V1 = 1,\n\tIB_UVERBS_GID_TYPE_ROCE_V2 = 2,\n};\n\nenum ib_uverbs_qp_create_flags {\n\tIB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 2,\n\tIB_UVERBS_QP_CREATE_SCATTER_FCS = 256,\n\tIB_UVERBS_QP_CREATE_CVLAN_STRIPPING = 512,\n\tIB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = 2048,\n\tIB_UVERBS_QP_CREATE_SQ_SIG_ALL = 4096,\n};\n\nenum ib_uverbs_qp_type {\n\tIB_UVERBS_QPT_RC = 2,\n\tIB_UVERBS_QPT_UC = 3,\n\tIB_UVERBS_QPT_UD = 4,\n\tIB_UVERBS_QPT_RAW_PACKET = 8,\n\tIB_UVERBS_QPT_XRC_INI = 9,\n\tIB_UVERBS_QPT_XRC_TGT = 10,\n\tIB_UVERBS_QPT_DRIVER = 255,\n};\n\nenum ib_uverbs_raw_packet_caps {\n\tIB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING = 1,\n\tIB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS = 2,\n\tIB_UVERBS_RAW_PACKET_CAP_IP_CSUM = 4,\n\tIB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = 8,\n};\n\nenum ib_uverbs_srq_type {\n\tIB_UVERBS_SRQT_BASIC = 0,\n\tIB_UVERBS_SRQT_XRC = 1,\n\tIB_UVERBS_SRQT_TM = 2,\n};\n\nenum ib_uverbs_wc_opcode {\n\tIB_UVERBS_WC_SEND = 0,\n\tIB_UVERBS_WC_RDMA_WRITE = 1,\n\tIB_UVERBS_WC_RDMA_READ = 2,\n\tIB_UVERBS_WC_COMP_SWAP = 3,\n\tIB_UVERBS_WC_FETCH_ADD = 4,\n\tIB_UVERBS_WC_BIND_MW = 5,\n\tIB_UVERBS_WC_LOCAL_INV = 6,\n\tIB_UVERBS_WC_TSO = 7,\n\tIB_UVERBS_WC_FLUSH = 8,\n\tIB_UVERBS_WC_ATOMIC_WRITE = 9,\n};\n\nenum ib_uverbs_wq_flags {\n\tIB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = 1,\n\tIB_UVERBS_WQ_FLAGS_SCATTER_FCS = 2,\n\tIB_UVERBS_WQ_FLAGS_DELAY_DROP = 4,\n\tIB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = 8,\n};\n\nenum ib_uverbs_wq_type {\n\tIB_UVERBS_WQT_RQ = 0,\n};\n\nenum ib_uverbs_wr_opcode {\n\tIB_UVERBS_WR_RDMA_WRITE = 0,\n\tIB_UVERBS_WR_RDMA_WRITE_WITH_IMM = 1,\n\tIB_UVERBS_WR_SEND = 2,\n\tIB_UVERBS_WR_SEND_WITH_IMM = 3,\n\tIB_UVERBS_WR_RDMA_READ = 4,\n\tIB_UVERBS_WR_ATOMIC_CMP_AND_SWP = 5,\n\tIB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = 6,\n\tIB_UVERBS_WR_LOCAL_INV = 7,\n\tIB_UVERBS_WR_BIND_MW = 8,\n\tIB_UVERBS_WR_SEND_WITH_INV = 9,\n\tIB_UVERBS_WR_TSO = 10,\n\tIB_UVERBS_WR_RDMA_READ_WITH_INV = 11,\n\tIB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12,\n\tIB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13,\n\tIB_UVERBS_WR_FLUSH = 14,\n\tIB_UVERBS_WR_ATOMIC_WRITE = 15,\n};\n\nenum ib_uverbs_write_cmds {\n\tIB_USER_VERBS_CMD_GET_CONTEXT = 0,\n\tIB_USER_VERBS_CMD_QUERY_DEVICE = 1,\n\tIB_USER_VERBS_CMD_QUERY_PORT = 2,\n\tIB_USER_VERBS_CMD_ALLOC_PD = 3,\n\tIB_USER_VERBS_CMD_DEALLOC_PD = 4,\n\tIB_USER_VERBS_CMD_CREATE_AH = 5,\n\tIB_USER_VERBS_CMD_MODIFY_AH = 6,\n\tIB_USER_VERBS_CMD_QUERY_AH = 7,\n\tIB_USER_VERBS_CMD_DESTROY_AH = 8,\n\tIB_USER_VERBS_CMD_REG_MR = 9,\n\tIB_USER_VERBS_CMD_REG_SMR = 10,\n\tIB_USER_VERBS_CMD_REREG_MR = 11,\n\tIB_USER_VERBS_CMD_QUERY_MR = 12,\n\tIB_USER_VERBS_CMD_DEREG_MR = 13,\n\tIB_USER_VERBS_CMD_ALLOC_MW = 14,\n\tIB_USER_VERBS_CMD_BIND_MW = 15,\n\tIB_USER_VERBS_CMD_DEALLOC_MW = 16,\n\tIB_USER_VERBS_CMD_CREATE_COMP_CHANNEL = 17,\n\tIB_USER_VERBS_CMD_CREATE_CQ = 18,\n\tIB_USER_VERBS_CMD_RESIZE_CQ = 19,\n\tIB_USER_VERBS_CMD_DESTROY_CQ = 20,\n\tIB_USER_VERBS_CMD_POLL_CQ = 21,\n\tIB_USER_VERBS_CMD_PEEK_CQ = 22,\n\tIB_USER_VERBS_CMD_REQ_NOTIFY_CQ = 23,\n\tIB_USER_VERBS_CMD_CREATE_QP = 24,\n\tIB_USER_VERBS_CMD_QUERY_QP = 25,\n\tIB_USER_VERBS_CMD_MODIFY_QP = 26,\n\tIB_USER_VERBS_CMD_DESTROY_QP = 27,\n\tIB_USER_VERBS_CMD_POST_SEND = 28,\n\tIB_USER_VERBS_CMD_POST_RECV = 29,\n\tIB_USER_VERBS_CMD_ATTACH_MCAST = 30,\n\tIB_USER_VERBS_CMD_DETACH_MCAST = 31,\n\tIB_USER_VERBS_CMD_CREATE_SRQ = 32,\n\tIB_USER_VERBS_CMD_MODIFY_SRQ = 33,\n\tIB_USER_VERBS_CMD_QUERY_SRQ = 34,\n\tIB_USER_VERBS_CMD_DESTROY_SRQ = 35,\n\tIB_USER_VERBS_CMD_POST_SRQ_RECV = 36,\n\tIB_USER_VERBS_CMD_OPEN_XRCD = 37,\n\tIB_USER_VERBS_CMD_CLOSE_XRCD = 38,\n\tIB_USER_VERBS_CMD_CREATE_XSRQ = 39,\n\tIB_USER_VERBS_CMD_OPEN_QP = 40,\n};\n\nenum id_action {\n\tID_REMOVE = 0,\n\tID_ADD = 1,\n};\n\nenum iio_available_type {\n\tIIO_AVAIL_LIST = 0,\n\tIIO_AVAIL_RANGE = 1,\n};\n\nenum iio_chan_info_enum {\n\tIIO_CHAN_INFO_RAW = 0,\n\tIIO_CHAN_INFO_PROCESSED = 1,\n\tIIO_CHAN_INFO_SCALE = 2,\n\tIIO_CHAN_INFO_OFFSET = 3,\n\tIIO_CHAN_INFO_CALIBSCALE = 4,\n\tIIO_CHAN_INFO_CALIBBIAS = 5,\n\tIIO_CHAN_INFO_PEAK = 6,\n\tIIO_CHAN_INFO_PEAK_SCALE = 7,\n\tIIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW = 8,\n\tIIO_CHAN_INFO_AVERAGE_RAW = 9,\n\tIIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY = 10,\n\tIIO_CHAN_INFO_HIGH_PASS_FILTER_3DB_FREQUENCY = 11,\n\tIIO_CHAN_INFO_SAMP_FREQ = 12,\n\tIIO_CHAN_INFO_FREQUENCY = 13,\n\tIIO_CHAN_INFO_PHASE = 14,\n\tIIO_CHAN_INFO_HARDWAREGAIN = 15,\n\tIIO_CHAN_INFO_HYSTERESIS = 16,\n\tIIO_CHAN_INFO_HYSTERESIS_RELATIVE = 17,\n\tIIO_CHAN_INFO_INT_TIME = 18,\n\tIIO_CHAN_INFO_ENABLE = 19,\n\tIIO_CHAN_INFO_CALIBHEIGHT = 20,\n\tIIO_CHAN_INFO_CALIBWEIGHT = 21,\n\tIIO_CHAN_INFO_DEBOUNCE_COUNT = 22,\n\tIIO_CHAN_INFO_DEBOUNCE_TIME = 23,\n\tIIO_CHAN_INFO_CALIBEMISSIVITY = 24,\n\tIIO_CHAN_INFO_OVERSAMPLING_RATIO = 25,\n\tIIO_CHAN_INFO_THERMOCOUPLE_TYPE = 26,\n\tIIO_CHAN_INFO_CALIBAMBIENT = 27,\n\tIIO_CHAN_INFO_ZEROPOINT = 28,\n\tIIO_CHAN_INFO_TROUGH = 29,\n};\n\nenum iio_chan_type {\n\tIIO_VOLTAGE = 0,\n\tIIO_CURRENT = 1,\n\tIIO_POWER = 2,\n\tIIO_ACCEL = 3,\n\tIIO_ANGL_VEL = 4,\n\tIIO_MAGN = 5,\n\tIIO_LIGHT = 6,\n\tIIO_INTENSITY = 7,\n\tIIO_PROXIMITY = 8,\n\tIIO_TEMP = 9,\n\tIIO_INCLI = 10,\n\tIIO_ROT = 11,\n\tIIO_ANGL = 12,\n\tIIO_TIMESTAMP = 13,\n\tIIO_CAPACITANCE = 14,\n\tIIO_ALTVOLTAGE = 15,\n\tIIO_CCT = 16,\n\tIIO_PRESSURE = 17,\n\tIIO_HUMIDITYRELATIVE = 18,\n\tIIO_ACTIVITY = 19,\n\tIIO_STEPS = 20,\n\tIIO_ENERGY = 21,\n\tIIO_DISTANCE = 22,\n\tIIO_VELOCITY = 23,\n\tIIO_CONCENTRATION = 24,\n\tIIO_RESISTANCE = 25,\n\tIIO_PH = 26,\n\tIIO_UVINDEX = 27,\n\tIIO_ELECTRICALCONDUCTIVITY = 28,\n\tIIO_COUNT = 29,\n\tIIO_INDEX = 30,\n\tIIO_GRAVITY = 31,\n\tIIO_POSITIONRELATIVE = 32,\n\tIIO_PHASE = 33,\n\tIIO_MASSCONCENTRATION = 34,\n\tIIO_DELTA_ANGL = 35,\n\tIIO_DELTA_VELOCITY = 36,\n\tIIO_COLORTEMP = 37,\n\tIIO_CHROMATICITY = 38,\n\tIIO_ATTENTION = 39,\n};\n\nenum iio_endian {\n\tIIO_CPU = 0,\n\tIIO_BE = 1,\n\tIIO_LE = 2,\n};\n\nenum iio_event_direction {\n\tIIO_EV_DIR_EITHER = 0,\n\tIIO_EV_DIR_RISING = 1,\n\tIIO_EV_DIR_FALLING = 2,\n\tIIO_EV_DIR_NONE = 3,\n\tIIO_EV_DIR_SINGLETAP = 4,\n\tIIO_EV_DIR_DOUBLETAP = 5,\n};\n\nenum iio_event_info {\n\tIIO_EV_INFO_ENABLE = 0,\n\tIIO_EV_INFO_VALUE = 1,\n\tIIO_EV_INFO_HYSTERESIS = 2,\n\tIIO_EV_INFO_PERIOD = 3,\n\tIIO_EV_INFO_HIGH_PASS_FILTER_3DB = 4,\n\tIIO_EV_INFO_LOW_PASS_FILTER_3DB = 5,\n\tIIO_EV_INFO_TIMEOUT = 6,\n\tIIO_EV_INFO_RESET_TIMEOUT = 7,\n\tIIO_EV_INFO_TAP2_MIN_DELAY = 8,\n\tIIO_EV_INFO_RUNNING_PERIOD = 9,\n\tIIO_EV_INFO_RUNNING_COUNT = 10,\n};\n\nenum iio_event_type {\n\tIIO_EV_TYPE_THRESH = 0,\n\tIIO_EV_TYPE_MAG = 1,\n\tIIO_EV_TYPE_ROC = 2,\n\tIIO_EV_TYPE_THRESH_ADAPTIVE = 3,\n\tIIO_EV_TYPE_MAG_ADAPTIVE = 4,\n\tIIO_EV_TYPE_CHANGE = 5,\n\tIIO_EV_TYPE_MAG_REFERENCED = 6,\n\tIIO_EV_TYPE_GESTURE = 7,\n};\n\nenum iio_modifier {\n\tIIO_NO_MOD = 0,\n\tIIO_MOD_X = 1,\n\tIIO_MOD_Y = 2,\n\tIIO_MOD_Z = 3,\n\tIIO_MOD_X_AND_Y = 4,\n\tIIO_MOD_X_AND_Z = 5,\n\tIIO_MOD_Y_AND_Z = 6,\n\tIIO_MOD_X_AND_Y_AND_Z = 7,\n\tIIO_MOD_X_OR_Y = 8,\n\tIIO_MOD_X_OR_Z = 9,\n\tIIO_MOD_Y_OR_Z = 10,\n\tIIO_MOD_X_OR_Y_OR_Z = 11,\n\tIIO_MOD_LIGHT_BOTH = 12,\n\tIIO_MOD_LIGHT_IR = 13,\n\tIIO_MOD_ROOT_SUM_SQUARED_X_Y = 14,\n\tIIO_MOD_SUM_SQUARED_X_Y_Z = 15,\n\tIIO_MOD_LIGHT_CLEAR = 16,\n\tIIO_MOD_LIGHT_RED = 17,\n\tIIO_MOD_LIGHT_GREEN = 18,\n\tIIO_MOD_LIGHT_BLUE = 19,\n\tIIO_MOD_QUATERNION = 20,\n\tIIO_MOD_TEMP_AMBIENT = 21,\n\tIIO_MOD_TEMP_OBJECT = 22,\n\tIIO_MOD_NORTH_MAGN = 23,\n\tIIO_MOD_NORTH_TRUE = 24,\n\tIIO_MOD_NORTH_MAGN_TILT_COMP = 25,\n\tIIO_MOD_NORTH_TRUE_TILT_COMP = 26,\n\tIIO_MOD_RUNNING = 27,\n\tIIO_MOD_JOGGING = 28,\n\tIIO_MOD_WALKING = 29,\n\tIIO_MOD_STILL = 30,\n\tIIO_MOD_ROOT_SUM_SQUARED_X_Y_Z = 31,\n\tIIO_MOD_I = 32,\n\tIIO_MOD_Q = 33,\n\tIIO_MOD_CO2 = 34,\n\tIIO_MOD_VOC = 35,\n\tIIO_MOD_LIGHT_UV = 36,\n\tIIO_MOD_LIGHT_DUV = 37,\n\tIIO_MOD_PM1 = 38,\n\tIIO_MOD_PM2P5 = 39,\n\tIIO_MOD_PM4 = 40,\n\tIIO_MOD_PM10 = 41,\n\tIIO_MOD_ETHANOL = 42,\n\tIIO_MOD_H2 = 43,\n\tIIO_MOD_O2 = 44,\n\tIIO_MOD_LINEAR_X = 45,\n\tIIO_MOD_LINEAR_Y = 46,\n\tIIO_MOD_LINEAR_Z = 47,\n\tIIO_MOD_PITCH = 48,\n\tIIO_MOD_YAW = 49,\n\tIIO_MOD_ROLL = 50,\n\tIIO_MOD_LIGHT_UVA = 51,\n\tIIO_MOD_LIGHT_UVB = 52,\n};\n\nenum iio_shared_by {\n\tIIO_SEPARATE = 0,\n\tIIO_SHARED_BY_TYPE = 1,\n\tIIO_SHARED_BY_DIR = 2,\n\tIIO_SHARED_BY_ALL = 3,\n};\n\nenum in6_addr_gen_mode {\n\tIN6_ADDR_GEN_MODE_EUI64 = 0,\n\tIN6_ADDR_GEN_MODE_NONE = 1,\n\tIN6_ADDR_GEN_MODE_STABLE_PRIVACY = 2,\n\tIN6_ADDR_GEN_MODE_RANDOM = 3,\n};\n\nenum inet_csk_ack_state_t {\n\tICSK_ACK_SCHED = 1,\n\tICSK_ACK_TIMER = 2,\n\tICSK_ACK_PUSHED = 4,\n\tICSK_ACK_PUSHED2 = 8,\n\tICSK_ACK_NOW = 16,\n\tICSK_ACK_NOMEM = 32,\n};\n\nenum inode_i_mutex_lock_class {\n\tI_MUTEX_NORMAL = 0,\n\tI_MUTEX_PARENT = 1,\n\tI_MUTEX_CHILD = 2,\n\tI_MUTEX_XATTR = 3,\n\tI_MUTEX_NONDIR2 = 4,\n\tI_MUTEX_PARENT2 = 5,\n};\n\nenum input_clock_type {\n\tINPUT_CLK_REAL = 0,\n\tINPUT_CLK_MONO = 1,\n\tINPUT_CLK_BOOT = 2,\n\tINPUT_CLK_MAX = 3,\n};\n\nenum io_uring_cmd_flags {\n\tIO_URING_F_COMPLETE_DEFER = 1,\n\tIO_URING_F_UNLOCKED = 2,\n\tIO_URING_F_MULTISHOT = 4,\n\tIO_URING_F_IOWQ = 8,\n\tIO_URING_F_NONBLOCK = -2147483648,\n\tIO_URING_F_SQE128 = 256,\n\tIO_URING_F_CQE32 = 512,\n\tIO_URING_F_IOPOLL = 1024,\n\tIO_URING_F_CANCEL = 2048,\n\tIO_URING_F_COMPAT = 4096,\n\tIO_URING_F_TASK_DEAD = 8192,\n};\n\nenum io_uring_msg_ring_flags {\n\tIORING_MSG_DATA = 0,\n\tIORING_MSG_SEND_FD = 1,\n};\n\nenum io_uring_napi_op {\n\tIO_URING_NAPI_REGISTER_OP = 0,\n\tIO_URING_NAPI_STATIC_ADD_ID = 1,\n\tIO_URING_NAPI_STATIC_DEL_ID = 2,\n};\n\nenum io_uring_napi_tracking_strategy {\n\tIO_URING_NAPI_TRACKING_DYNAMIC = 0,\n\tIO_URING_NAPI_TRACKING_STATIC = 1,\n\tIO_URING_NAPI_TRACKING_INACTIVE = 255,\n};\n\nenum io_uring_op {\n\tIORING_OP_NOP = 0,\n\tIORING_OP_READV = 1,\n\tIORING_OP_WRITEV = 2,\n\tIORING_OP_FSYNC = 3,\n\tIORING_OP_READ_FIXED = 4,\n\tIORING_OP_WRITE_FIXED = 5,\n\tIORING_OP_POLL_ADD = 6,\n\tIORING_OP_POLL_REMOVE = 7,\n\tIORING_OP_SYNC_FILE_RANGE = 8,\n\tIORING_OP_SENDMSG = 9,\n\tIORING_OP_RECVMSG = 10,\n\tIORING_OP_TIMEOUT = 11,\n\tIORING_OP_TIMEOUT_REMOVE = 12,\n\tIORING_OP_ACCEPT = 13,\n\tIORING_OP_ASYNC_CANCEL = 14,\n\tIORING_OP_LINK_TIMEOUT = 15,\n\tIORING_OP_CONNECT = 16,\n\tIORING_OP_FALLOCATE = 17,\n\tIORING_OP_OPENAT = 18,\n\tIORING_OP_CLOSE = 19,\n\tIORING_OP_FILES_UPDATE = 20,\n\tIORING_OP_STATX = 21,\n\tIORING_OP_READ = 22,\n\tIORING_OP_WRITE = 23,\n\tIORING_OP_FADVISE = 24,\n\tIORING_OP_MADVISE = 25,\n\tIORING_OP_SEND = 26,\n\tIORING_OP_RECV = 27,\n\tIORING_OP_OPENAT2 = 28,\n\tIORING_OP_EPOLL_CTL = 29,\n\tIORING_OP_SPLICE = 30,\n\tIORING_OP_PROVIDE_BUFFERS = 31,\n\tIORING_OP_REMOVE_BUFFERS = 32,\n\tIORING_OP_TEE = 33,\n\tIORING_OP_SHUTDOWN = 34,\n\tIORING_OP_RENAMEAT = 35,\n\tIORING_OP_UNLINKAT = 36,\n\tIORING_OP_MKDIRAT = 37,\n\tIORING_OP_SYMLINKAT = 38,\n\tIORING_OP_LINKAT = 39,\n\tIORING_OP_MSG_RING = 40,\n\tIORING_OP_FSETXATTR = 41,\n\tIORING_OP_SETXATTR = 42,\n\tIORING_OP_FGETXATTR = 43,\n\tIORING_OP_GETXATTR = 44,\n\tIORING_OP_SOCKET = 45,\n\tIORING_OP_URING_CMD = 46,\n\tIORING_OP_SEND_ZC = 47,\n\tIORING_OP_SENDMSG_ZC = 48,\n\tIORING_OP_READ_MULTISHOT = 49,\n\tIORING_OP_WAITID = 50,\n\tIORING_OP_FUTEX_WAIT = 51,\n\tIORING_OP_FUTEX_WAKE = 52,\n\tIORING_OP_FUTEX_WAITV = 53,\n\tIORING_OP_FIXED_FD_INSTALL = 54,\n\tIORING_OP_FTRUNCATE = 55,\n\tIORING_OP_BIND = 56,\n\tIORING_OP_LISTEN = 57,\n\tIORING_OP_LAST = 58,\n};\n\nenum io_uring_register_op {\n\tIORING_REGISTER_BUFFERS = 0,\n\tIORING_UNREGISTER_BUFFERS = 1,\n\tIORING_REGISTER_FILES = 2,\n\tIORING_UNREGISTER_FILES = 3,\n\tIORING_REGISTER_EVENTFD = 4,\n\tIORING_UNREGISTER_EVENTFD = 5,\n\tIORING_REGISTER_FILES_UPDATE = 6,\n\tIORING_REGISTER_EVENTFD_ASYNC = 7,\n\tIORING_REGISTER_PROBE = 8,\n\tIORING_REGISTER_PERSONALITY = 9,\n\tIORING_UNREGISTER_PERSONALITY = 10,\n\tIORING_REGISTER_RESTRICTIONS = 11,\n\tIORING_REGISTER_ENABLE_RINGS = 12,\n\tIORING_REGISTER_FILES2 = 13,\n\tIORING_REGISTER_FILES_UPDATE2 = 14,\n\tIORING_REGISTER_BUFFERS2 = 15,\n\tIORING_REGISTER_BUFFERS_UPDATE = 16,\n\tIORING_REGISTER_IOWQ_AFF = 17,\n\tIORING_UNREGISTER_IOWQ_AFF = 18,\n\tIORING_REGISTER_IOWQ_MAX_WORKERS = 19,\n\tIORING_REGISTER_RING_FDS = 20,\n\tIORING_UNREGISTER_RING_FDS = 21,\n\tIORING_REGISTER_PBUF_RING = 22,\n\tIORING_UNREGISTER_PBUF_RING = 23,\n\tIORING_REGISTER_SYNC_CANCEL = 24,\n\tIORING_REGISTER_FILE_ALLOC_RANGE = 25,\n\tIORING_REGISTER_PBUF_STATUS = 26,\n\tIORING_REGISTER_NAPI = 27,\n\tIORING_UNREGISTER_NAPI = 28,\n\tIORING_REGISTER_CLOCK = 29,\n\tIORING_REGISTER_CLONE_BUFFERS = 30,\n\tIORING_REGISTER_SEND_MSG_RING = 31,\n\tIORING_REGISTER_RESIZE_RINGS = 33,\n\tIORING_REGISTER_MEM_REGION = 34,\n\tIORING_REGISTER_LAST = 35,\n\tIORING_REGISTER_USE_REGISTERED_RING = 2147483648,\n};\n\nenum io_uring_register_pbuf_ring_flags {\n\tIOU_PBUF_RING_MMAP = 1,\n\tIOU_PBUF_RING_INC = 2,\n};\n\nenum io_uring_register_restriction_op {\n\tIORING_RESTRICTION_REGISTER_OP = 0,\n\tIORING_RESTRICTION_SQE_OP = 1,\n\tIORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2,\n\tIORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3,\n\tIORING_RESTRICTION_LAST = 4,\n};\n\nenum io_uring_socket_op {\n\tSOCKET_URING_OP_SIOCINQ = 0,\n\tSOCKET_URING_OP_SIOCOUTQ = 1,\n\tSOCKET_URING_OP_GETSOCKOPT = 2,\n\tSOCKET_URING_OP_SETSOCKOPT = 3,\n};\n\nenum io_uring_sqe_flags_bit {\n\tIOSQE_FIXED_FILE_BIT = 0,\n\tIOSQE_IO_DRAIN_BIT = 1,\n\tIOSQE_IO_LINK_BIT = 2,\n\tIOSQE_IO_HARDLINK_BIT = 3,\n\tIOSQE_ASYNC_BIT = 4,\n\tIOSQE_BUFFER_SELECT_BIT = 5,\n\tIOSQE_CQE_SKIP_SUCCESS_BIT = 6,\n};\n\nenum io_wq_cancel {\n\tIO_WQ_CANCEL_OK = 0,\n\tIO_WQ_CANCEL_RUNNING = 1,\n\tIO_WQ_CANCEL_NOTFOUND = 2,\n};\n\nenum io_wq_type {\n\tIO_WQ_BOUND = 0,\n\tIO_WQ_UNBOUND = 1,\n};\n\nenum ioam6_event_attr {\n\tIOAM6_EVENT_ATTR_UNSPEC = 0,\n\tIOAM6_EVENT_ATTR_TRACE_NAMESPACE = 1,\n\tIOAM6_EVENT_ATTR_TRACE_NODELEN = 2,\n\tIOAM6_EVENT_ATTR_TRACE_TYPE = 3,\n\tIOAM6_EVENT_ATTR_TRACE_DATA = 4,\n\t__IOAM6_EVENT_ATTR_MAX = 5,\n};\n\nenum ioam6_event_type {\n\tIOAM6_EVENT_UNSPEC = 0,\n\tIOAM6_EVENT_TRACE = 1,\n};\n\nenum iommu_cap {\n\tIOMMU_CAP_CACHE_COHERENCY = 0,\n\tIOMMU_CAP_NOEXEC = 1,\n\tIOMMU_CAP_PRE_BOOT_PROTECTION = 2,\n\tIOMMU_CAP_ENFORCE_CACHE_COHERENCY = 3,\n\tIOMMU_CAP_DEFERRED_FLUSH = 4,\n\tIOMMU_CAP_DIRTY_TRACKING = 5,\n};\n\nenum iommu_dev_features {\n\tIOMMU_DEV_FEAT_SVA = 0,\n\tIOMMU_DEV_FEAT_IOPF = 1,\n};\n\nenum iommu_resv_type {\n\tIOMMU_RESV_DIRECT = 0,\n\tIOMMU_RESV_DIRECT_RELAXABLE = 1,\n\tIOMMU_RESV_RESERVED = 2,\n\tIOMMU_RESV_MSI = 3,\n\tIOMMU_RESV_SW_MSI = 4,\n};\n\nenum iommufd_hwpt_alloc_flags {\n\tIOMMU_HWPT_ALLOC_NEST_PARENT = 1,\n\tIOMMU_HWPT_ALLOC_DIRTY_TRACKING = 2,\n\tIOMMU_HWPT_FAULT_ID_VALID = 4,\n\tIOMMU_HWPT_ALLOC_PASID = 8,\n};\n\nenum ip6_defrag_users {\n\tIP6_DEFRAG_LOCAL_DELIVER = 0,\n\tIP6_DEFRAG_CONNTRACK_IN = 1,\n\t__IP6_DEFRAG_CONNTRACK_IN = 65536,\n\tIP6_DEFRAG_CONNTRACK_OUT = 65537,\n\t__IP6_DEFRAG_CONNTRACK_OUT = 131072,\n\tIP6_DEFRAG_CONNTRACK_BRIDGE_IN = 131073,\n\t__IP6_DEFRAG_CONNTRACK_BRIDGE_IN = 196608,\n};\n\nenum ip_conntrack_dir {\n\tIP_CT_DIR_ORIGINAL = 0,\n\tIP_CT_DIR_REPLY = 1,\n\tIP_CT_DIR_MAX = 2,\n};\n\nenum ip_conntrack_info {\n\tIP_CT_ESTABLISHED = 0,\n\tIP_CT_RELATED = 1,\n\tIP_CT_NEW = 2,\n\tIP_CT_IS_REPLY = 3,\n\tIP_CT_ESTABLISHED_REPLY = 3,\n\tIP_CT_RELATED_REPLY = 4,\n\tIP_CT_NUMBER = 5,\n\tIP_CT_UNTRACKED = 7,\n};\n\nenum ip_conntrack_status {\n\tIPS_EXPECTED_BIT = 0,\n\tIPS_EXPECTED = 1,\n\tIPS_SEEN_REPLY_BIT = 1,\n\tIPS_SEEN_REPLY = 2,\n\tIPS_ASSURED_BIT = 2,\n\tIPS_ASSURED = 4,\n\tIPS_CONFIRMED_BIT = 3,\n\tIPS_CONFIRMED = 8,\n\tIPS_SRC_NAT_BIT = 4,\n\tIPS_SRC_NAT = 16,\n\tIPS_DST_NAT_BIT = 5,\n\tIPS_DST_NAT = 32,\n\tIPS_NAT_MASK = 48,\n\tIPS_SEQ_ADJUST_BIT = 6,\n\tIPS_SEQ_ADJUST = 64,\n\tIPS_SRC_NAT_DONE_BIT = 7,\n\tIPS_SRC_NAT_DONE = 128,\n\tIPS_DST_NAT_DONE_BIT = 8,\n\tIPS_DST_NAT_DONE = 256,\n\tIPS_NAT_DONE_MASK = 384,\n\tIPS_DYING_BIT = 9,\n\tIPS_DYING = 512,\n\tIPS_FIXED_TIMEOUT_BIT = 10,\n\tIPS_FIXED_TIMEOUT = 1024,\n\tIPS_TEMPLATE_BIT = 11,\n\tIPS_TEMPLATE = 2048,\n\tIPS_UNTRACKED_BIT = 12,\n\tIPS_UNTRACKED = 4096,\n\tIPS_NAT_CLASH_BIT = 12,\n\tIPS_NAT_CLASH = 4096,\n\tIPS_HELPER_BIT = 13,\n\tIPS_HELPER = 8192,\n\tIPS_OFFLOAD_BIT = 14,\n\tIPS_OFFLOAD = 16384,\n\tIPS_HW_OFFLOAD_BIT = 15,\n\tIPS_HW_OFFLOAD = 32768,\n\tIPS_UNCHANGEABLE_MASK = 56313,\n\t__IPS_MAX_BIT = 16,\n};\n\nenum ip_defrag_users {\n\tIP_DEFRAG_LOCAL_DELIVER = 0,\n\tIP_DEFRAG_CALL_RA_CHAIN = 1,\n\tIP_DEFRAG_CONNTRACK_IN = 2,\n\t__IP_DEFRAG_CONNTRACK_IN_END = 65537,\n\tIP_DEFRAG_CONNTRACK_OUT = 65538,\n\t__IP_DEFRAG_CONNTRACK_OUT_END = 131073,\n\tIP_DEFRAG_CONNTRACK_BRIDGE_IN = 131074,\n\t__IP_DEFRAG_CONNTRACK_BRIDGE_IN = 196609,\n\tIP_DEFRAG_VS_IN = 196610,\n\tIP_DEFRAG_VS_OUT = 196611,\n\tIP_DEFRAG_VS_FWD = 196612,\n\tIP_DEFRAG_AF_PACKET = 196613,\n\tIP_DEFRAG_MACVLAN = 196614,\n};\n\nenum ipi_message_type {\n\tIPI_RESCHEDULE = 0,\n\tIPI_CALL_FUNC = 1,\n\tIPI_CPU_STOP = 2,\n\tIPI_CPU_CRASH_STOP = 3,\n\tIPI_IRQ_WORK = 4,\n\tIPI_TIMER = 5,\n\tIPI_CPU_BACKTRACE = 6,\n\tIPI_KGDB_ROUNDUP = 7,\n\tIPI_MAX = 8,\n};\n\nenum irq_domain_bus_token {\n\tDOMAIN_BUS_ANY = 0,\n\tDOMAIN_BUS_WIRED = 1,\n\tDOMAIN_BUS_GENERIC_MSI = 2,\n\tDOMAIN_BUS_PCI_MSI = 3,\n\tDOMAIN_BUS_PLATFORM_MSI = 4,\n\tDOMAIN_BUS_NEXUS = 5,\n\tDOMAIN_BUS_IPI = 6,\n\tDOMAIN_BUS_FSL_MC_MSI = 7,\n\tDOMAIN_BUS_TI_SCI_INTA_MSI = 8,\n\tDOMAIN_BUS_WAKEUP = 9,\n\tDOMAIN_BUS_VMD_MSI = 10,\n\tDOMAIN_BUS_PCI_DEVICE_MSI = 11,\n\tDOMAIN_BUS_PCI_DEVICE_MSIX = 12,\n\tDOMAIN_BUS_DMAR = 13,\n\tDOMAIN_BUS_AMDVI = 14,\n\tDOMAIN_BUS_DEVICE_MSI = 15,\n\tDOMAIN_BUS_WIRED_TO_MSI = 16,\n};\n\nenum irq_gc_flags {\n\tIRQ_GC_INIT_MASK_CACHE = 1,\n\tIRQ_GC_INIT_NESTED_LOCK = 2,\n\tIRQ_GC_MASK_CACHE_PER_TYPE = 4,\n\tIRQ_GC_NO_MASK = 8,\n\tIRQ_GC_BE_IO = 16,\n};\n\nenum irqchip_irq_state {\n\tIRQCHIP_STATE_PENDING = 0,\n\tIRQCHIP_STATE_ACTIVE = 1,\n\tIRQCHIP_STATE_MASKED = 2,\n\tIRQCHIP_STATE_LINE_LEVEL = 3,\n};\n\nenum irqreturn {\n\tIRQ_NONE = 0,\n\tIRQ_HANDLED = 1,\n\tIRQ_WAKE_THREAD = 2,\n};\n\ntypedef enum irqreturn irqreturn_t;\n\nenum isofs_file_format {\n\tisofs_file_normal = 0,\n\tisofs_file_sparse = 1,\n\tisofs_file_compressed = 2,\n};\n\nenum iter_type {\n\tITER_UBUF = 0,\n\tITER_IOVEC = 1,\n\tITER_BVEC = 2,\n\tITER_KVEC = 3,\n\tITER_FOLIOQ = 4,\n\tITER_XARRAY = 5,\n\tITER_DISCARD = 6,\n};\n\nenum jbd2_shrink_type {\n\tJBD2_SHRINK_DESTROY = 0,\n\tJBD2_SHRINK_BUSY_STOP = 1,\n\tJBD2_SHRINK_BUSY_SKIP = 2,\n};\n\nenum jbd_state_bits {\n\tBH_JBD = 16,\n\tBH_JWrite = 17,\n\tBH_Freed = 18,\n\tBH_Revoked = 19,\n\tBH_RevokeValid = 20,\n\tBH_JBDDirty = 21,\n\tBH_JournalHead = 22,\n\tBH_Shadow = 23,\n\tBH_Verified = 24,\n\tBH_JBDPrivateStart = 25,\n};\n\nenum jh7110_pll_mode {\n\tJH7110_PLL_MODE_FRACTION = 0,\n\tJH7110_PLL_MODE_INTEGER = 1,\n};\n\nenum jump_label_type {\n\tJUMP_LABEL_NOP = 0,\n\tJUMP_LABEL_JMP = 1,\n};\n\nenum kcmp_type {\n\tKCMP_FILE = 0,\n\tKCMP_VM = 1,\n\tKCMP_FILES = 2,\n\tKCMP_FS = 3,\n\tKCMP_SIGHAND = 4,\n\tKCMP_IO = 5,\n\tKCMP_SYSVSEM = 6,\n\tKCMP_EPOLL_TFD = 7,\n\tKCMP_TYPES = 8,\n};\n\nenum kernel_load_data_id {\n\tLOADING_UNKNOWN = 0,\n\tLOADING_FIRMWARE = 1,\n\tLOADING_MODULE = 2,\n\tLOADING_KEXEC_IMAGE = 3,\n\tLOADING_KEXEC_INITRAMFS = 4,\n\tLOADING_POLICY = 5,\n\tLOADING_X509_CERTIFICATE = 6,\n\tLOADING_MAX_ID = 7,\n};\n\nenum kernel_pkey_operation {\n\tkernel_pkey_encrypt = 0,\n\tkernel_pkey_decrypt = 1,\n\tkernel_pkey_sign = 2,\n\tkernel_pkey_verify = 3,\n};\n\nenum kernel_read_file_id {\n\tREADING_UNKNOWN = 0,\n\tREADING_FIRMWARE = 1,\n\tREADING_MODULE = 2,\n\tREADING_KEXEC_IMAGE = 3,\n\tREADING_KEXEC_INITRAMFS = 4,\n\tREADING_POLICY = 5,\n\tREADING_X509_CERTIFICATE = 6,\n\tREADING_MAX_ID = 7,\n};\n\nenum kernfs_node_flag {\n\tKERNFS_ACTIVATED = 16,\n\tKERNFS_NS = 32,\n\tKERNFS_HAS_SEQ_SHOW = 64,\n\tKERNFS_HAS_MMAP = 128,\n\tKERNFS_LOCKDEP = 256,\n\tKERNFS_HIDDEN = 512,\n\tKERNFS_SUICIDAL = 1024,\n\tKERNFS_SUICIDED = 2048,\n\tKERNFS_EMPTY_DIR = 4096,\n\tKERNFS_HAS_RELEASE = 8192,\n\tKERNFS_REMOVING = 16384,\n};\n\nenum kernfs_node_type {\n\tKERNFS_DIR = 1,\n\tKERNFS_FILE = 2,\n\tKERNFS_LINK = 4,\n};\n\nenum kernfs_root_flag {\n\tKERNFS_ROOT_CREATE_DEACTIVATED = 1,\n\tKERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2,\n\tKERNFS_ROOT_SUPPORT_EXPORTOP = 4,\n\tKERNFS_ROOT_SUPPORT_USER_XATTR = 8,\n};\n\nenum key_lookup_flag {\n\tKEY_LOOKUP_CREATE = 1,\n\tKEY_LOOKUP_PARTIAL = 2,\n\tKEY_LOOKUP_ALL = 3,\n};\n\nenum key_need_perm {\n\tKEY_NEED_UNSPECIFIED = 0,\n\tKEY_NEED_VIEW = 1,\n\tKEY_NEED_READ = 2,\n\tKEY_NEED_WRITE = 3,\n\tKEY_NEED_SEARCH = 4,\n\tKEY_NEED_LINK = 5,\n\tKEY_NEED_SETATTR = 6,\n\tKEY_NEED_UNLINK = 7,\n\tKEY_SYSADMIN_OVERRIDE = 8,\n\tKEY_AUTHTOKEN_OVERRIDE = 9,\n\tKEY_DEFER_PERM_CHECK = 10,\n};\n\nenum key_notification_subtype {\n\tNOTIFY_KEY_INSTANTIATED = 0,\n\tNOTIFY_KEY_UPDATED = 1,\n\tNOTIFY_KEY_LINKED = 2,\n\tNOTIFY_KEY_UNLINKED = 3,\n\tNOTIFY_KEY_CLEARED = 4,\n\tNOTIFY_KEY_REVOKED = 5,\n\tNOTIFY_KEY_INVALIDATED = 6,\n\tNOTIFY_KEY_SETATTR = 7,\n};\n\nenum key_state {\n\tKEY_IS_UNINSTANTIATED = 0,\n\tKEY_IS_POSITIVE = 1,\n};\n\nenum kfunc_ptr_arg_type {\n\tKF_ARG_PTR_TO_CTX = 0,\n\tKF_ARG_PTR_TO_ALLOC_BTF_ID = 1,\n\tKF_ARG_PTR_TO_REFCOUNTED_KPTR = 2,\n\tKF_ARG_PTR_TO_DYNPTR = 3,\n\tKF_ARG_PTR_TO_ITER = 4,\n\tKF_ARG_PTR_TO_LIST_HEAD = 5,\n\tKF_ARG_PTR_TO_LIST_NODE = 6,\n\tKF_ARG_PTR_TO_BTF_ID = 7,\n\tKF_ARG_PTR_TO_MEM = 8,\n\tKF_ARG_PTR_TO_MEM_SIZE = 9,\n\tKF_ARG_PTR_TO_CALLBACK = 10,\n\tKF_ARG_PTR_TO_RB_ROOT = 11,\n\tKF_ARG_PTR_TO_RB_NODE = 12,\n\tKF_ARG_PTR_TO_NULL = 13,\n\tKF_ARG_PTR_TO_CONST_STR = 14,\n\tKF_ARG_PTR_TO_MAP = 15,\n\tKF_ARG_PTR_TO_WORKQUEUE = 16,\n\tKF_ARG_PTR_TO_IRQ_FLAG = 17,\n};\n\nenum kmalloc_cache_type {\n\tKMALLOC_NORMAL = 0,\n\tKMALLOC_DMA = 0,\n\tKMALLOC_RANDOM_START = 0,\n\tKMALLOC_RANDOM_END = 0,\n\tKMALLOC_RECLAIM = 1,\n\tKMALLOC_CGROUP = 2,\n\tNR_KMALLOC_TYPES = 3,\n};\n\nenum kmsg_dump_reason {\n\tKMSG_DUMP_UNDEF = 0,\n\tKMSG_DUMP_PANIC = 1,\n\tKMSG_DUMP_OOPS = 2,\n\tKMSG_DUMP_EMERG = 3,\n\tKMSG_DUMP_SHUTDOWN = 4,\n\tKMSG_DUMP_MAX = 5,\n};\n\nenum kobj_ns_type {\n\tKOBJ_NS_TYPE_NONE = 0,\n\tKOBJ_NS_TYPE_NET = 1,\n\tKOBJ_NS_TYPES = 2,\n};\n\nenum kobject_action {\n\tKOBJ_ADD = 0,\n\tKOBJ_REMOVE = 1,\n\tKOBJ_CHANGE = 2,\n\tKOBJ_MOVE = 3,\n\tKOBJ_ONLINE = 4,\n\tKOBJ_OFFLINE = 5,\n\tKOBJ_BIND = 6,\n\tKOBJ_UNBIND = 7,\n};\n\nenum kvm_bus {\n\tKVM_MMIO_BUS = 0,\n\tKVM_PIO_BUS = 1,\n\tKVM_VIRTIO_CCW_NOTIFY_BUS = 2,\n\tKVM_FAST_MMIO_BUS = 3,\n\tKVM_IOCSR_BUS = 4,\n\tKVM_NR_BUSES = 5,\n};\n\nenum kvm_riscv_hfence_type {\n\tKVM_RISCV_HFENCE_UNKNOWN = 0,\n\tKVM_RISCV_HFENCE_GVMA_VMID_GPA = 1,\n\tKVM_RISCV_HFENCE_VVMA_ASID_GVA = 2,\n\tKVM_RISCV_HFENCE_VVMA_ASID_ALL = 3,\n\tKVM_RISCV_HFENCE_VVMA_GVA = 4,\n};\n\nenum kvm_riscv_sbi_ext_status {\n\tKVM_RISCV_SBI_EXT_STATUS_UNINITIALIZED = 0,\n\tKVM_RISCV_SBI_EXT_STATUS_UNAVAILABLE = 1,\n\tKVM_RISCV_SBI_EXT_STATUS_ENABLED = 2,\n\tKVM_RISCV_SBI_EXT_STATUS_DISABLED = 3,\n};\n\nenum kvm_stat_kind {\n\tKVM_STAT_VM = 0,\n\tKVM_STAT_VCPU = 1,\n};\n\nenum l2tp_debug_flags {\n\tL2TP_MSG_DEBUG = 1,\n\tL2TP_MSG_CONTROL = 2,\n\tL2TP_MSG_SEQ = 4,\n\tL2TP_MSG_DATA = 8,\n};\n\nenum l3mdev_type {\n\tL3MDEV_TYPE_UNSPEC = 0,\n\tL3MDEV_TYPE_VRF = 1,\n\t__L3MDEV_TYPE_MAX = 2,\n};\n\nenum label_flags {\n\tFLAG_HAT = 1,\n\tFLAG_UNCONFINED = 2,\n\tFLAG_NULL = 4,\n\tFLAG_IX_ON_NAME_ERROR = 8,\n\tFLAG_IMMUTIBLE = 16,\n\tFLAG_USER_DEFINED = 32,\n\tFLAG_NO_LIST_REF = 64,\n\tFLAG_NS_COUNT = 128,\n\tFLAG_IN_TREE = 256,\n\tFLAG_PROFILE = 512,\n\tFLAG_EXPLICIT = 1024,\n\tFLAG_STALE = 2048,\n\tFLAG_RENAMED = 4096,\n\tFLAG_REVOKED = 8192,\n\tFLAG_DEBUG1 = 16384,\n\tFLAG_DEBUG2 = 32768,\n};\n\nenum label_initialized {\n\tLABEL_INVALID = 0,\n\tLABEL_INITIALIZED = 1,\n\tLABEL_PENDING = 2,\n};\n\nenum latency_range {\n\tlowest_latency = 0,\n\tlow_latency = 1,\n\tbulk_latency = 2,\n\tlatency_invalid = 255,\n};\n\nenum layoutdriver_policy_flags {\n\tPNFS_LAYOUTRET_ON_SETATTR = 1,\n\tPNFS_LAYOUTRET_ON_ERROR = 2,\n\tPNFS_READ_WHOLE_PAGE = 4,\n\tPNFS_LAYOUTGET_ON_OPEN = 8,\n};\n\nenum led_brightness {\n\tLED_OFF = 0,\n\tLED_ON = 1,\n\tLED_HALF = 127,\n\tLED_FULL = 255,\n};\n\nenum led_trigger_netdev_modes {\n\tTRIGGER_NETDEV_LINK = 0,\n\tTRIGGER_NETDEV_LINK_10 = 1,\n\tTRIGGER_NETDEV_LINK_100 = 2,\n\tTRIGGER_NETDEV_LINK_1000 = 3,\n\tTRIGGER_NETDEV_LINK_2500 = 4,\n\tTRIGGER_NETDEV_LINK_5000 = 5,\n\tTRIGGER_NETDEV_LINK_10000 = 6,\n\tTRIGGER_NETDEV_HALF_DUPLEX = 7,\n\tTRIGGER_NETDEV_FULL_DUPLEX = 8,\n\tTRIGGER_NETDEV_TX = 9,\n\tTRIGGER_NETDEV_RX = 10,\n\tTRIGGER_NETDEV_TX_ERR = 11,\n\tTRIGGER_NETDEV_RX_ERR = 12,\n\t__TRIGGER_NETDEV_MAX = 13,\n};\n\nenum legacy_fs_param {\n\tLEGACY_FS_UNSET_PARAMS = 0,\n\tLEGACY_FS_MONOLITHIC_PARAMS = 1,\n\tLEGACY_FS_INDIVIDUAL_PARAMS = 2,\n};\n\nenum limit_by4 {\n\tNFS4_LIMIT_SIZE = 1,\n\tNFS4_LIMIT_BLOCKS = 2,\n};\n\nenum link_inband_signalling {\n\tLINK_INBAND_DISABLE = 1,\n\tLINK_INBAND_ENABLE = 2,\n\tLINK_INBAND_BYPASS = 4,\n};\n\nenum lock_type4 {\n\tNFS4_UNLOCK_LT = 0,\n\tNFS4_READ_LT = 1,\n\tNFS4_WRITE_LT = 2,\n\tNFS4_READW_LT = 3,\n\tNFS4_WRITEW_LT = 4,\n};\n\nenum lockdep_ok {\n\tLOCKDEP_STILL_OK = 0,\n\tLOCKDEP_NOW_UNRELIABLE = 1,\n};\n\nenum lockdep_wait_type {\n\tLD_WAIT_INV = 0,\n\tLD_WAIT_FREE = 1,\n\tLD_WAIT_SPIN = 2,\n\tLD_WAIT_CONFIG = 2,\n\tLD_WAIT_SLEEP = 3,\n\tLD_WAIT_MAX = 4,\n};\n\nenum lockdown_reason {\n\tLOCKDOWN_NONE = 0,\n\tLOCKDOWN_MODULE_SIGNATURE = 1,\n\tLOCKDOWN_DEV_MEM = 2,\n\tLOCKDOWN_EFI_TEST = 3,\n\tLOCKDOWN_KEXEC = 4,\n\tLOCKDOWN_HIBERNATION = 5,\n\tLOCKDOWN_PCI_ACCESS = 6,\n\tLOCKDOWN_IOPORT = 7,\n\tLOCKDOWN_MSR = 8,\n\tLOCKDOWN_ACPI_TABLES = 9,\n\tLOCKDOWN_DEVICE_TREE = 10,\n\tLOCKDOWN_PCMCIA_CIS = 11,\n\tLOCKDOWN_TIOCSSERIAL = 12,\n\tLOCKDOWN_MODULE_PARAMETERS = 13,\n\tLOCKDOWN_MMIOTRACE = 14,\n\tLOCKDOWN_DEBUGFS = 15,\n\tLOCKDOWN_XMON_WR = 16,\n\tLOCKDOWN_BPF_WRITE_USER = 17,\n\tLOCKDOWN_DBG_WRITE_KERNEL = 18,\n\tLOCKDOWN_RTAS_ERROR_INJECTION = 19,\n\tLOCKDOWN_INTEGRITY_MAX = 20,\n\tLOCKDOWN_KCORE = 21,\n\tLOCKDOWN_KPROBES = 22,\n\tLOCKDOWN_BPF_READ_KERNEL = 23,\n\tLOCKDOWN_DBG_READ_KERNEL = 24,\n\tLOCKDOWN_PERF = 25,\n\tLOCKDOWN_TRACEFS = 26,\n\tLOCKDOWN_XMON_RW = 27,\n\tLOCKDOWN_XFRM_SECRET = 28,\n\tLOCKDOWN_CONFIDENTIALITY_MAX = 29,\n};\n\nenum log_ent_request {\n\tLOG_NEW_ENT = 0,\n\tLOG_OLD_ENT = 1,\n};\n\nenum lru_list {\n\tLRU_INACTIVE_ANON = 0,\n\tLRU_ACTIVE_ANON = 1,\n\tLRU_INACTIVE_FILE = 2,\n\tLRU_ACTIVE_FILE = 3,\n\tLRU_UNEVICTABLE = 4,\n\tNR_LRU_LISTS = 5,\n};\n\nenum lru_status {\n\tLRU_REMOVED = 0,\n\tLRU_REMOVED_RETRY = 1,\n\tLRU_ROTATE = 2,\n\tLRU_SKIP = 3,\n\tLRU_RETRY = 4,\n\tLRU_STOP = 5,\n};\n\nenum lruvec_flags {\n\tLRUVEC_CGROUP_CONGESTED = 0,\n\tLRUVEC_NODE_CONGESTED = 1,\n};\n\nenum lsm_event {\n\tLSM_POLICY_CHANGE = 0,\n};\n\nenum lsm_integrity_type {\n\tLSM_INT_DMVERITY_SIG_VALID = 0,\n\tLSM_INT_DMVERITY_ROOTHASH = 1,\n\tLSM_INT_FSVERITY_BUILTINSIG_VALID = 2,\n};\n\nenum lsm_order {\n\tLSM_ORDER_FIRST = -1,\n\tLSM_ORDER_MUTABLE = 0,\n\tLSM_ORDER_LAST = 1,\n};\n\nenum lw_bits {\n\tLW_URGENT = 0,\n};\n\nenum lwtunnel_encap_types {\n\tLWTUNNEL_ENCAP_NONE = 0,\n\tLWTUNNEL_ENCAP_MPLS = 1,\n\tLWTUNNEL_ENCAP_IP = 2,\n\tLWTUNNEL_ENCAP_ILA = 3,\n\tLWTUNNEL_ENCAP_IP6 = 4,\n\tLWTUNNEL_ENCAP_SEG6 = 5,\n\tLWTUNNEL_ENCAP_BPF = 6,\n\tLWTUNNEL_ENCAP_SEG6_LOCAL = 7,\n\tLWTUNNEL_ENCAP_RPL = 8,\n\tLWTUNNEL_ENCAP_IOAM6 = 9,\n\tLWTUNNEL_ENCAP_XFRM = 10,\n\t__LWTUNNEL_ENCAP_MAX = 11,\n};\n\nenum lwtunnel_ip6_t {\n\tLWTUNNEL_IP6_UNSPEC = 0,\n\tLWTUNNEL_IP6_ID = 1,\n\tLWTUNNEL_IP6_DST = 2,\n\tLWTUNNEL_IP6_SRC = 3,\n\tLWTUNNEL_IP6_HOPLIMIT = 4,\n\tLWTUNNEL_IP6_TC = 5,\n\tLWTUNNEL_IP6_FLAGS = 6,\n\tLWTUNNEL_IP6_PAD = 7,\n\tLWTUNNEL_IP6_OPTS = 8,\n\t__LWTUNNEL_IP6_MAX = 9,\n};\n\nenum lwtunnel_ip_t {\n\tLWTUNNEL_IP_UNSPEC = 0,\n\tLWTUNNEL_IP_ID = 1,\n\tLWTUNNEL_IP_DST = 2,\n\tLWTUNNEL_IP_SRC = 3,\n\tLWTUNNEL_IP_TTL = 4,\n\tLWTUNNEL_IP_TOS = 5,\n\tLWTUNNEL_IP_FLAGS = 6,\n\tLWTUNNEL_IP_PAD = 7,\n\tLWTUNNEL_IP_OPTS = 8,\n\t__LWTUNNEL_IP_MAX = 9,\n};\n\nenum lzma2_seq {\n\tSEQ_CONTROL = 0,\n\tSEQ_UNCOMPRESSED_1 = 1,\n\tSEQ_UNCOMPRESSED_2 = 2,\n\tSEQ_COMPRESSED_0 = 3,\n\tSEQ_COMPRESSED_1 = 4,\n\tSEQ_PROPERTIES = 5,\n\tSEQ_LZMA_PREPARE = 6,\n\tSEQ_LZMA_RUN = 7,\n\tSEQ_COPY = 8,\n};\n\nenum lzma_state {\n\tSTATE_LIT_LIT = 0,\n\tSTATE_MATCH_LIT_LIT = 1,\n\tSTATE_REP_LIT_LIT = 2,\n\tSTATE_SHORTREP_LIT_LIT = 3,\n\tSTATE_MATCH_LIT = 4,\n\tSTATE_REP_LIT = 5,\n\tSTATE_SHORTREP_LIT = 6,\n\tSTATE_LIT_MATCH = 7,\n\tSTATE_LIT_LONGREP = 8,\n\tSTATE_LIT_SHORTREP = 9,\n\tSTATE_NONLIT_MATCH = 10,\n\tSTATE_NONLIT_REP = 11,\n};\n\nenum mac_version {\n\tRTL_GIGA_MAC_VER_02 = 0,\n\tRTL_GIGA_MAC_VER_03 = 1,\n\tRTL_GIGA_MAC_VER_04 = 2,\n\tRTL_GIGA_MAC_VER_05 = 3,\n\tRTL_GIGA_MAC_VER_06 = 4,\n\tRTL_GIGA_MAC_VER_07 = 5,\n\tRTL_GIGA_MAC_VER_08 = 6,\n\tRTL_GIGA_MAC_VER_09 = 7,\n\tRTL_GIGA_MAC_VER_10 = 8,\n\tRTL_GIGA_MAC_VER_14 = 9,\n\tRTL_GIGA_MAC_VER_17 = 10,\n\tRTL_GIGA_MAC_VER_18 = 11,\n\tRTL_GIGA_MAC_VER_19 = 12,\n\tRTL_GIGA_MAC_VER_20 = 13,\n\tRTL_GIGA_MAC_VER_21 = 14,\n\tRTL_GIGA_MAC_VER_22 = 15,\n\tRTL_GIGA_MAC_VER_23 = 16,\n\tRTL_GIGA_MAC_VER_24 = 17,\n\tRTL_GIGA_MAC_VER_25 = 18,\n\tRTL_GIGA_MAC_VER_26 = 19,\n\tRTL_GIGA_MAC_VER_28 = 20,\n\tRTL_GIGA_MAC_VER_29 = 21,\n\tRTL_GIGA_MAC_VER_30 = 22,\n\tRTL_GIGA_MAC_VER_31 = 23,\n\tRTL_GIGA_MAC_VER_32 = 24,\n\tRTL_GIGA_MAC_VER_33 = 25,\n\tRTL_GIGA_MAC_VER_34 = 26,\n\tRTL_GIGA_MAC_VER_35 = 27,\n\tRTL_GIGA_MAC_VER_36 = 28,\n\tRTL_GIGA_MAC_VER_37 = 29,\n\tRTL_GIGA_MAC_VER_38 = 30,\n\tRTL_GIGA_MAC_VER_39 = 31,\n\tRTL_GIGA_MAC_VER_40 = 32,\n\tRTL_GIGA_MAC_VER_42 = 33,\n\tRTL_GIGA_MAC_VER_43 = 34,\n\tRTL_GIGA_MAC_VER_44 = 35,\n\tRTL_GIGA_MAC_VER_46 = 36,\n\tRTL_GIGA_MAC_VER_48 = 37,\n\tRTL_GIGA_MAC_VER_51 = 38,\n\tRTL_GIGA_MAC_VER_52 = 39,\n\tRTL_GIGA_MAC_VER_53 = 40,\n\tRTL_GIGA_MAC_VER_61 = 41,\n\tRTL_GIGA_MAC_VER_63 = 42,\n\tRTL_GIGA_MAC_VER_64 = 43,\n\tRTL_GIGA_MAC_VER_65 = 44,\n\tRTL_GIGA_MAC_VER_66 = 45,\n\tRTL_GIGA_MAC_VER_70 = 46,\n\tRTL_GIGA_MAC_VER_71 = 47,\n\tRTL_GIGA_MAC_NONE = 48,\n};\n\nenum maple_status {\n\tma_active = 0,\n\tma_start = 1,\n\tma_root = 2,\n\tma_none = 3,\n\tma_pause = 4,\n\tma_overflow = 5,\n\tma_underflow = 6,\n\tma_error = 7,\n};\n\nenum maple_type {\n\tmaple_dense = 0,\n\tmaple_leaf_64 = 1,\n\tmaple_range_64 = 2,\n\tmaple_arange_64 = 3,\n};\n\nenum mapping_flags {\n\tAS_EIO = 0,\n\tAS_ENOSPC = 1,\n\tAS_MM_ALL_LOCKS = 2,\n\tAS_UNEVICTABLE = 3,\n\tAS_EXITING = 4,\n\tAS_NO_WRITEBACK_TAGS = 5,\n\tAS_RELEASE_ALWAYS = 6,\n\tAS_STABLE_WRITES = 7,\n\tAS_INACCESSIBLE = 8,\n\tAS_FOLIO_ORDER_BITS = 5,\n\tAS_FOLIO_ORDER_MIN = 16,\n\tAS_FOLIO_ORDER_MAX = 21,\n};\n\nenum mctrl_gpio_idx {\n\tUART_GPIO_CTS = 0,\n\tUART_GPIO_DSR = 1,\n\tUART_GPIO_DCD = 2,\n\tUART_GPIO_RNG = 3,\n\tUART_GPIO_RI = 3,\n\tUART_GPIO_RTS = 4,\n\tUART_GPIO_DTR = 5,\n\tUART_GPIO_MAX = 6,\n};\n\nenum membarrier_cmd {\n\tMEMBARRIER_CMD_QUERY = 0,\n\tMEMBARRIER_CMD_GLOBAL = 1,\n\tMEMBARRIER_CMD_GLOBAL_EXPEDITED = 2,\n\tMEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 4,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED = 8,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 16,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 32,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 64,\n\tMEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 128,\n\tMEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 256,\n\tMEMBARRIER_CMD_GET_REGISTRATIONS = 512,\n\tMEMBARRIER_CMD_SHARED = 1,\n};\n\nenum membarrier_cmd_flag {\n\tMEMBARRIER_CMD_FLAG_CPU = 1,\n};\n\nenum memblock_flags {\n\tMEMBLOCK_NONE = 0,\n\tMEMBLOCK_HOTPLUG = 1,\n\tMEMBLOCK_MIRROR = 2,\n\tMEMBLOCK_NOMAP = 4,\n\tMEMBLOCK_DRIVER_MANAGED = 8,\n\tMEMBLOCK_RSRV_NOINIT = 16,\n};\n\nenum memcg_memory_event {\n\tMEMCG_LOW = 0,\n\tMEMCG_HIGH = 1,\n\tMEMCG_MAX = 2,\n\tMEMCG_OOM = 3,\n\tMEMCG_OOM_KILL = 4,\n\tMEMCG_OOM_GROUP_KILL = 5,\n\tMEMCG_SWAP_HIGH = 6,\n\tMEMCG_SWAP_MAX = 7,\n\tMEMCG_SWAP_FAIL = 8,\n\tMEMCG_NR_MEMORY_EVENTS = 9,\n};\n\nenum memcg_stat_item {\n\tMEMCG_SWAP = 46,\n\tMEMCG_SOCK = 47,\n\tMEMCG_PERCPU_B = 48,\n\tMEMCG_VMALLOC = 49,\n\tMEMCG_KMEM = 50,\n\tMEMCG_ZSWAP_B = 51,\n\tMEMCG_ZSWAPPED = 52,\n\tMEMCG_NR_STAT = 53,\n};\n\nenum meminit_context {\n\tMEMINIT_EARLY = 0,\n\tMEMINIT_HOTPLUG = 1,\n};\n\nenum memory_type {\n\tMEMORY_DEVICE_PRIVATE = 1,\n\tMEMORY_DEVICE_COHERENT = 2,\n\tMEMORY_DEVICE_FS_DAX = 3,\n\tMEMORY_DEVICE_GENERIC = 4,\n\tMEMORY_DEVICE_PCI_P2PDMA = 5,\n};\n\nenum metadata_type {\n\tMETADATA_IP_TUNNEL = 0,\n\tMETADATA_HW_PORT_MUX = 1,\n\tMETADATA_MACSEC = 2,\n\tMETADATA_XFRM = 3,\n};\n\nenum mf_flags {\n\tMF_COUNT_INCREASED = 1,\n\tMF_ACTION_REQUIRED = 2,\n\tMF_MUST_KILL = 4,\n\tMF_SOFT_OFFLINE = 8,\n\tMF_UNPOISON = 16,\n\tMF_SW_SIMULATED = 32,\n\tMF_NO_RETRY = 64,\n\tMF_MEM_PRE_REMOVE = 128,\n};\n\nenum migrate_mode {\n\tMIGRATE_ASYNC = 0,\n\tMIGRATE_SYNC_LIGHT = 1,\n\tMIGRATE_SYNC = 2,\n};\n\nenum migrate_reason {\n\tMR_COMPACTION = 0,\n\tMR_MEMORY_FAILURE = 1,\n\tMR_MEMORY_HOTPLUG = 2,\n\tMR_SYSCALL = 3,\n\tMR_MEMPOLICY_MBIND = 4,\n\tMR_NUMA_MISPLACED = 5,\n\tMR_CONTIG_RANGE = 6,\n\tMR_LONGTERM_PIN = 7,\n\tMR_DEMOTION = 8,\n\tMR_DAMON = 9,\n\tMR_TYPES = 10,\n};\n\nenum migratetype {\n\tMIGRATE_UNMOVABLE = 0,\n\tMIGRATE_MOVABLE = 1,\n\tMIGRATE_RECLAIMABLE = 2,\n\tMIGRATE_PCPTYPES = 3,\n\tMIGRATE_HIGHATOMIC = 3,\n\tMIGRATE_TYPES = 4,\n};\n\nenum migration_type {\n\tmigrate_load = 0,\n\tmigrate_util = 1,\n\tmigrate_task = 2,\n\tmigrate_misfit = 3,\n};\n\nenum mipi_dsi_compression_algo {\n\tMIPI_DSI_COMPRESSION_DSC = 0,\n\tMIPI_DSI_COMPRESSION_VENDOR = 3,\n};\n\nenum mipi_dsi_dcs_tear_mode {\n\tMIPI_DSI_DCS_TEAR_MODE_VBLANK = 0,\n\tMIPI_DSI_DCS_TEAR_MODE_VHBLANK = 1,\n};\n\nenum mipi_dsi_pixel_format {\n\tMIPI_DSI_FMT_RGB888 = 0,\n\tMIPI_DSI_FMT_RGB666 = 1,\n\tMIPI_DSI_FMT_RGB666_PACKED = 2,\n\tMIPI_DSI_FMT_RGB565 = 3,\n};\n\nenum mitigation_state {\n\tUNAFFECTED = 0,\n\tMITIGATED = 1,\n\tVULNERABLE = 2,\n};\n\nenum mm_cid_state {\n\tMM_CID_UNSET = 4294967295,\n\tMM_CID_LAZY_PUT = 2147483648,\n};\n\nenum mmc_busy_cmd {\n\tMMC_BUSY_CMD6 = 0,\n\tMMC_BUSY_ERASE = 1,\n\tMMC_BUSY_HPI = 2,\n\tMMC_BUSY_EXTR_SINGLE = 3,\n\tMMC_BUSY_IO = 4,\n};\n\nenum mmc_drv_op {\n\tMMC_DRV_OP_IOCTL = 0,\n\tMMC_DRV_OP_IOCTL_RPMB = 1,\n\tMMC_DRV_OP_BOOT_WP = 2,\n\tMMC_DRV_OP_GET_CARD_STATUS = 3,\n\tMMC_DRV_OP_GET_EXT_CSD = 4,\n};\n\nenum mmc_err_stat {\n\tMMC_ERR_CMD_TIMEOUT = 0,\n\tMMC_ERR_CMD_CRC = 1,\n\tMMC_ERR_DAT_TIMEOUT = 2,\n\tMMC_ERR_DAT_CRC = 3,\n\tMMC_ERR_AUTO_CMD = 4,\n\tMMC_ERR_ADMA = 5,\n\tMMC_ERR_TUNING = 6,\n\tMMC_ERR_CMDQ_RED = 7,\n\tMMC_ERR_CMDQ_GCE = 8,\n\tMMC_ERR_CMDQ_ICCE = 9,\n\tMMC_ERR_REQ_TIMEOUT = 10,\n\tMMC_ERR_CMDQ_REQ_TIMEOUT = 11,\n\tMMC_ERR_ICE_CFG = 12,\n\tMMC_ERR_CTRL_TIMEOUT = 13,\n\tMMC_ERR_UNEXPECTED_IRQ = 14,\n\tMMC_ERR_MAX = 15,\n};\n\nenum mmc_issue_type {\n\tMMC_ISSUE_SYNC = 0,\n\tMMC_ISSUE_DCMD = 1,\n\tMMC_ISSUE_ASYNC = 2,\n\tMMC_ISSUE_MAX = 3,\n};\n\nenum mmc_issued {\n\tMMC_REQ_STARTED = 0,\n\tMMC_REQ_BUSY = 1,\n\tMMC_REQ_FAILED_TO_START = 2,\n\tMMC_REQ_FINISHED = 3,\n};\n\nenum mminit_level {\n\tMMINIT_WARNING = 0,\n\tMMINIT_VERIFY = 1,\n\tMMINIT_TRACE = 2,\n};\n\nenum mmu_notifier_event {\n\tMMU_NOTIFY_UNMAP = 0,\n\tMMU_NOTIFY_CLEAR = 1,\n\tMMU_NOTIFY_PROTECTION_VMA = 2,\n\tMMU_NOTIFY_PROTECTION_PAGE = 3,\n\tMMU_NOTIFY_SOFT_DIRTY = 4,\n\tMMU_NOTIFY_RELEASE = 5,\n\tMMU_NOTIFY_MIGRATE = 6,\n\tMMU_NOTIFY_EXCLUSIVE = 7,\n};\n\nenum mnt_tree_flags_t {\n\tMNT_TREE_MOVE = 1,\n\tMNT_TREE_BENEATH = 2,\n};\n\nenum mod_license {\n\tNOT_GPL_ONLY = 0,\n\tGPL_ONLY = 1,\n};\n\nenum mod_mem_type {\n\tMOD_TEXT = 0,\n\tMOD_DATA = 1,\n\tMOD_RODATA = 2,\n\tMOD_RO_AFTER_INIT = 3,\n\tMOD_INIT_TEXT = 4,\n\tMOD_INIT_DATA = 5,\n\tMOD_INIT_RODATA = 6,\n\tMOD_MEM_NUM_TYPES = 7,\n\tMOD_INVALID = -1,\n};\n\nenum module_state {\n\tMODULE_STATE_LIVE = 0,\n\tMODULE_STATE_COMING = 1,\n\tMODULE_STATE_GOING = 2,\n\tMODULE_STATE_UNFORMED = 3,\n};\n\nenum mountstat {\n\tMNT_OK = 0,\n\tMNT_EPERM = 1,\n\tMNT_ENOENT = 2,\n\tMNT_EACCES = 13,\n\tMNT_EINVAL = 22,\n};\n\nenum mountstat3 {\n\tMNT3_OK = 0,\n\tMNT3ERR_PERM = 1,\n\tMNT3ERR_NOENT = 2,\n\tMNT3ERR_IO = 5,\n\tMNT3ERR_ACCES = 13,\n\tMNT3ERR_NOTDIR = 20,\n\tMNT3ERR_INVAL = 22,\n\tMNT3ERR_NAMETOOLONG = 63,\n\tMNT3ERR_NOTSUPP = 10004,\n\tMNT3ERR_SERVERFAULT = 10006,\n};\n\nenum mousedev_emul {\n\tMOUSEDEV_EMUL_PS2 = 0,\n\tMOUSEDEV_EMUL_IMPS = 1,\n\tMOUSEDEV_EMUL_EXPS = 2,\n};\n\nenum mq_rq_state {\n\tMQ_RQ_IDLE = 0,\n\tMQ_RQ_IN_FLIGHT = 1,\n\tMQ_RQ_COMPLETE = 2,\n};\n\nenum msdos_sys_ind {\n\tDOS_EXTENDED_PARTITION = 5,\n\tLINUX_EXTENDED_PARTITION = 133,\n\tWIN98_EXTENDED_PARTITION = 15,\n\tLINUX_DATA_PARTITION = 131,\n\tLINUX_LVM_PARTITION = 142,\n\tLINUX_RAID_PARTITION = 253,\n\tSOLARIS_X86_PARTITION = 130,\n\tNEW_SOLARIS_X86_PARTITION = 191,\n\tDM6_AUX1PARTITION = 81,\n\tDM6_AUX3PARTITION = 83,\n\tDM6_PARTITION = 84,\n\tEZD_PARTITION = 85,\n\tFREEBSD_PARTITION = 165,\n\tOPENBSD_PARTITION = 166,\n\tNETBSD_PARTITION = 169,\n\tBSDI_PARTITION = 183,\n\tMINIX_PARTITION = 129,\n\tUNIXWARE_PARTITION = 99,\n};\n\nenum msi_desc_filter {\n\tMSI_DESC_ALL = 0,\n\tMSI_DESC_NOTASSOCIATED = 1,\n\tMSI_DESC_ASSOCIATED = 2,\n};\n\nenum msi_domain_ids {\n\tMSI_DEFAULT_DOMAIN = 0,\n\tMSI_MAX_DEVICE_IRQDOMAINS = 1,\n};\n\nenum mtd_file_modes {\n\tMTD_FILE_MODE_NORMAL = 0,\n\tMTD_FILE_MODE_OTP_FACTORY = 1,\n\tMTD_FILE_MODE_OTP_USER = 2,\n\tMTD_FILE_MODE_RAW = 3,\n};\n\nenum mthp_stat_item {\n\tMTHP_STAT_ANON_FAULT_ALLOC = 0,\n\tMTHP_STAT_ANON_FAULT_FALLBACK = 1,\n\tMTHP_STAT_ANON_FAULT_FALLBACK_CHARGE = 2,\n\tMTHP_STAT_ZSWPOUT = 3,\n\tMTHP_STAT_SWPIN = 4,\n\tMTHP_STAT_SWPIN_FALLBACK = 5,\n\tMTHP_STAT_SWPIN_FALLBACK_CHARGE = 6,\n\tMTHP_STAT_SWPOUT = 7,\n\tMTHP_STAT_SWPOUT_FALLBACK = 8,\n\tMTHP_STAT_SHMEM_ALLOC = 9,\n\tMTHP_STAT_SHMEM_FALLBACK = 10,\n\tMTHP_STAT_SHMEM_FALLBACK_CHARGE = 11,\n\tMTHP_STAT_SPLIT = 12,\n\tMTHP_STAT_SPLIT_FAILED = 13,\n\tMTHP_STAT_SPLIT_DEFERRED = 14,\n\tMTHP_STAT_NR_ANON = 15,\n\tMTHP_STAT_NR_ANON_PARTIALLY_MAPPED = 16,\n\t__MTHP_STAT_COUNT = 17,\n};\n\nenum multi_stop_state {\n\tMULTI_STOP_NONE = 0,\n\tMULTI_STOP_PREPARE = 1,\n\tMULTI_STOP_DISABLE_IRQ = 2,\n\tMULTI_STOP_RUN = 3,\n\tMULTI_STOP_EXIT = 4,\n};\n\nenum napot_cont_order {\n\tNAPOT_CONT64KB_ORDER = 4,\n\tNAPOT_ORDER_MAX = 5,\n};\n\nenum nbcon_prio {\n\tNBCON_PRIO_NONE = 0,\n\tNBCON_PRIO_NORMAL = 1,\n\tNBCON_PRIO_EMERGENCY = 2,\n\tNBCON_PRIO_PANIC = 3,\n\tNBCON_PRIO_MAX = 4,\n};\n\nenum nd_async_mode {\n\tND_SYNC = 0,\n\tND_ASYNC = 1,\n};\n\nenum nd_driver_flags {\n\tND_DRIVER_DIMM = 2,\n\tND_DRIVER_REGION_PMEM = 4,\n\tND_DRIVER_REGION_BLK = 8,\n\tND_DRIVER_NAMESPACE_IO = 16,\n\tND_DRIVER_NAMESPACE_PMEM = 32,\n\tND_DRIVER_DAX_PMEM = 128,\n};\n\nenum nd_ioctl_mode {\n\tBUS_IOCTL = 0,\n\tDIMM_IOCTL = 1,\n};\n\nenum nd_label_flags {\n\tND_LABEL_REAP = 0,\n};\n\nenum nd_pfn_mode {\n\tPFN_MODE_NONE = 0,\n\tPFN_MODE_RAM = 1,\n\tPFN_MODE_PMEM = 2,\n};\n\nenum net_device_flags {\n\tIFF_UP = 1,\n\tIFF_BROADCAST = 2,\n\tIFF_DEBUG = 4,\n\tIFF_LOOPBACK = 8,\n\tIFF_POINTOPOINT = 16,\n\tIFF_NOTRAILERS = 32,\n\tIFF_RUNNING = 64,\n\tIFF_NOARP = 128,\n\tIFF_PROMISC = 256,\n\tIFF_ALLMULTI = 512,\n\tIFF_MASTER = 1024,\n\tIFF_SLAVE = 2048,\n\tIFF_MULTICAST = 4096,\n\tIFF_PORTSEL = 8192,\n\tIFF_AUTOMEDIA = 16384,\n\tIFF_DYNAMIC = 32768,\n\tIFF_LOWER_UP = 65536,\n\tIFF_DORMANT = 131072,\n\tIFF_ECHO = 262144,\n};\n\nenum net_device_path_type {\n\tDEV_PATH_ETHERNET = 0,\n\tDEV_PATH_VLAN = 1,\n\tDEV_PATH_BRIDGE = 2,\n\tDEV_PATH_PPPOE = 3,\n\tDEV_PATH_DSA = 4,\n\tDEV_PATH_MTK_WDMA = 5,\n};\n\nenum net_xmit_qdisc_t {\n\t__NET_XMIT_STOLEN = 65536,\n\t__NET_XMIT_BYPASS = 131072,\n};\n\nenum netdev_cmd {\n\tNETDEV_UP = 1,\n\tNETDEV_DOWN = 2,\n\tNETDEV_REBOOT = 3,\n\tNETDEV_CHANGE = 4,\n\tNETDEV_REGISTER = 5,\n\tNETDEV_UNREGISTER = 6,\n\tNETDEV_CHANGEMTU = 7,\n\tNETDEV_CHANGEADDR = 8,\n\tNETDEV_PRE_CHANGEADDR = 9,\n\tNETDEV_GOING_DOWN = 10,\n\tNETDEV_CHANGENAME = 11,\n\tNETDEV_FEAT_CHANGE = 12,\n\tNETDEV_BONDING_FAILOVER = 13,\n\tNETDEV_PRE_UP = 14,\n\tNETDEV_PRE_TYPE_CHANGE = 15,\n\tNETDEV_POST_TYPE_CHANGE = 16,\n\tNETDEV_POST_INIT = 17,\n\tNETDEV_PRE_UNINIT = 18,\n\tNETDEV_RELEASE = 19,\n\tNETDEV_NOTIFY_PEERS = 20,\n\tNETDEV_JOIN = 21,\n\tNETDEV_CHANGEUPPER = 22,\n\tNETDEV_RESEND_IGMP = 23,\n\tNETDEV_PRECHANGEMTU = 24,\n\tNETDEV_CHANGEINFODATA = 25,\n\tNETDEV_BONDING_INFO = 26,\n\tNETDEV_PRECHANGEUPPER = 27,\n\tNETDEV_CHANGELOWERSTATE = 28,\n\tNETDEV_UDP_TUNNEL_PUSH_INFO = 29,\n\tNETDEV_UDP_TUNNEL_DROP_INFO = 30,\n\tNETDEV_CHANGE_TX_QUEUE_LEN = 31,\n\tNETDEV_CVLAN_FILTER_PUSH_INFO = 32,\n\tNETDEV_CVLAN_FILTER_DROP_INFO = 33,\n\tNETDEV_SVLAN_FILTER_PUSH_INFO = 34,\n\tNETDEV_SVLAN_FILTER_DROP_INFO = 35,\n\tNETDEV_OFFLOAD_XSTATS_ENABLE = 36,\n\tNETDEV_OFFLOAD_XSTATS_DISABLE = 37,\n\tNETDEV_OFFLOAD_XSTATS_REPORT_USED = 38,\n\tNETDEV_OFFLOAD_XSTATS_REPORT_DELTA = 39,\n\tNETDEV_XDP_FEAT_CHANGE = 40,\n};\n\nenum netdev_lag_hash {\n\tNETDEV_LAG_HASH_NONE = 0,\n\tNETDEV_LAG_HASH_L2 = 1,\n\tNETDEV_LAG_HASH_L34 = 2,\n\tNETDEV_LAG_HASH_L23 = 3,\n\tNETDEV_LAG_HASH_E23 = 4,\n\tNETDEV_LAG_HASH_E34 = 5,\n\tNETDEV_LAG_HASH_VLAN_SRCMAC = 6,\n\tNETDEV_LAG_HASH_UNKNOWN = 7,\n};\n\nenum netdev_lag_tx_type {\n\tNETDEV_LAG_TX_TYPE_UNKNOWN = 0,\n\tNETDEV_LAG_TX_TYPE_RANDOM = 1,\n\tNETDEV_LAG_TX_TYPE_BROADCAST = 2,\n\tNETDEV_LAG_TX_TYPE_ROUNDROBIN = 3,\n\tNETDEV_LAG_TX_TYPE_ACTIVEBACKUP = 4,\n\tNETDEV_LAG_TX_TYPE_HASH = 5,\n};\n\nenum netdev_ml_priv_type {\n\tML_PRIV_NONE = 0,\n\tML_PRIV_CAN = 1,\n};\n\nenum netdev_offload_xstats_type {\n\tNETDEV_OFFLOAD_XSTATS_TYPE_L3 = 1,\n};\n\nenum netdev_priv_flags {\n\tIFF_802_1Q_VLAN = 1,\n\tIFF_EBRIDGE = 2,\n\tIFF_BONDING = 4,\n\tIFF_ISATAP = 8,\n\tIFF_WAN_HDLC = 16,\n\tIFF_XMIT_DST_RELEASE = 32,\n\tIFF_DONT_BRIDGE = 64,\n\tIFF_DISABLE_NETPOLL = 128,\n\tIFF_MACVLAN_PORT = 256,\n\tIFF_BRIDGE_PORT = 512,\n\tIFF_OVS_DATAPATH = 1024,\n\tIFF_TX_SKB_SHARING = 2048,\n\tIFF_UNICAST_FLT = 4096,\n\tIFF_TEAM_PORT = 8192,\n\tIFF_SUPP_NOFCS = 16384,\n\tIFF_LIVE_ADDR_CHANGE = 32768,\n\tIFF_MACVLAN = 65536,\n\tIFF_XMIT_DST_RELEASE_PERM = 131072,\n\tIFF_L3MDEV_MASTER = 262144,\n\tIFF_NO_QUEUE = 524288,\n\tIFF_OPENVSWITCH = 1048576,\n\tIFF_L3MDEV_SLAVE = 2097152,\n\tIFF_TEAM = 4194304,\n\tIFF_RXFH_CONFIGURED = 8388608,\n\tIFF_PHONY_HEADROOM = 16777216,\n\tIFF_MACSEC = 33554432,\n\tIFF_NO_RX_HANDLER = 67108864,\n\tIFF_FAILOVER = 134217728,\n\tIFF_FAILOVER_SLAVE = 268435456,\n\tIFF_L3MDEV_RX_HANDLER = 536870912,\n\tIFF_NO_ADDRCONF = 1073741824,\n\tIFF_TX_SKB_NO_LINEAR = 2147483648,\n};\n\nenum netdev_qstats_scope {\n\tNETDEV_QSTATS_SCOPE_QUEUE = 1,\n};\n\nenum netdev_queue_state_t {\n\t__QUEUE_STATE_DRV_XOFF = 0,\n\t__QUEUE_STATE_STACK_XOFF = 1,\n\t__QUEUE_STATE_FROZEN = 2,\n};\n\nenum netdev_queue_type {\n\tNETDEV_QUEUE_TYPE_RX = 0,\n\tNETDEV_QUEUE_TYPE_TX = 1,\n};\n\nenum netdev_reg_state {\n\tNETREG_UNINITIALIZED = 0,\n\tNETREG_REGISTERED = 1,\n\tNETREG_UNREGISTERING = 2,\n\tNETREG_UNREGISTERED = 3,\n\tNETREG_RELEASED = 4,\n\tNETREG_DUMMY = 5,\n};\n\nenum netdev_stat_type {\n\tNETDEV_PCPU_STAT_NONE = 0,\n\tNETDEV_PCPU_STAT_LSTATS = 1,\n\tNETDEV_PCPU_STAT_TSTATS = 2,\n\tNETDEV_PCPU_STAT_DSTATS = 3,\n};\n\nenum netdev_state_t {\n\t__LINK_STATE_START = 0,\n\t__LINK_STATE_PRESENT = 1,\n\t__LINK_STATE_NOCARRIER = 2,\n\t__LINK_STATE_LINKWATCH_PENDING = 3,\n\t__LINK_STATE_DORMANT = 4,\n\t__LINK_STATE_TESTING = 5,\n};\n\nenum netdev_tx {\n\t__NETDEV_TX_MIN = -2147483648,\n\tNETDEV_TX_OK = 0,\n\tNETDEV_TX_BUSY = 16,\n};\n\ntypedef enum netdev_tx netdev_tx_t;\n\nenum netdev_xdp_act {\n\tNETDEV_XDP_ACT_BASIC = 1,\n\tNETDEV_XDP_ACT_REDIRECT = 2,\n\tNETDEV_XDP_ACT_NDO_XMIT = 4,\n\tNETDEV_XDP_ACT_XSK_ZEROCOPY = 8,\n\tNETDEV_XDP_ACT_HW_OFFLOAD = 16,\n\tNETDEV_XDP_ACT_RX_SG = 32,\n\tNETDEV_XDP_ACT_NDO_XMIT_SG = 64,\n\tNETDEV_XDP_ACT_MASK = 127,\n};\n\nenum netdev_xdp_rx_metadata {\n\tNETDEV_XDP_RX_METADATA_TIMESTAMP = 1,\n\tNETDEV_XDP_RX_METADATA_HASH = 2,\n\tNETDEV_XDP_RX_METADATA_VLAN_TAG = 4,\n};\n\nenum netdev_xsk_flags {\n\tNETDEV_XSK_FLAGS_TX_TIMESTAMP = 1,\n\tNETDEV_XSK_FLAGS_TX_CHECKSUM = 2,\n};\n\nenum netevent_notif_type {\n\tNETEVENT_NEIGH_UPDATE = 1,\n\tNETEVENT_REDIRECT = 2,\n\tNETEVENT_DELAY_PROBE_TIME_UPDATE = 3,\n\tNETEVENT_IPV4_MPATH_HASH_UPDATE = 4,\n\tNETEVENT_IPV6_MPATH_HASH_UPDATE = 5,\n\tNETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE = 6,\n};\n\nenum netfs_collect_contig_trace {\n\tnetfs_contig_trace_collect = 0,\n\tnetfs_contig_trace_jump = 1,\n\tnetfs_contig_trace_unlock = 2,\n} __attribute__((mode(byte)));\n\nenum netfs_donate_trace {\n\tnetfs_trace_donate_tail_to_prev = 0,\n\tnetfs_trace_donate_to_prev = 1,\n\tnetfs_trace_donate_to_next = 2,\n\tnetfs_trace_donate_to_deferred_next = 3,\n} __attribute__((mode(byte)));\n\nenum netfs_failure {\n\tnetfs_fail_check_write_begin = 0,\n\tnetfs_fail_copy_to_cache = 1,\n\tnetfs_fail_dio_read_short = 2,\n\tnetfs_fail_dio_read_zero = 3,\n\tnetfs_fail_read = 4,\n\tnetfs_fail_short_read = 5,\n\tnetfs_fail_prepare_write = 6,\n\tnetfs_fail_write = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_folio_trace {\n\tnetfs_folio_is_uptodate = 0,\n\tnetfs_just_prefetch = 1,\n\tnetfs_whole_folio_modify = 2,\n\tnetfs_modify_and_clear = 3,\n\tnetfs_streaming_write = 4,\n\tnetfs_streaming_write_cont = 5,\n\tnetfs_flush_content = 6,\n\tnetfs_streaming_filled_page = 7,\n\tnetfs_streaming_cont_filled_page = 8,\n\tnetfs_folio_trace_abandon = 9,\n\tnetfs_folio_trace_alloc_buffer = 10,\n\tnetfs_folio_trace_cancel_copy = 11,\n\tnetfs_folio_trace_cancel_store = 12,\n\tnetfs_folio_trace_clear = 13,\n\tnetfs_folio_trace_clear_cc = 14,\n\tnetfs_folio_trace_clear_g = 15,\n\tnetfs_folio_trace_clear_s = 16,\n\tnetfs_folio_trace_copy_to_cache = 17,\n\tnetfs_folio_trace_end_copy = 18,\n\tnetfs_folio_trace_filled_gaps = 19,\n\tnetfs_folio_trace_kill = 20,\n\tnetfs_folio_trace_kill_cc = 21,\n\tnetfs_folio_trace_kill_g = 22,\n\tnetfs_folio_trace_kill_s = 23,\n\tnetfs_folio_trace_mkwrite = 24,\n\tnetfs_folio_trace_mkwrite_plus = 25,\n\tnetfs_folio_trace_not_under_wback = 26,\n\tnetfs_folio_trace_not_locked = 27,\n\tnetfs_folio_trace_put = 28,\n\tnetfs_folio_trace_read = 29,\n\tnetfs_folio_trace_read_done = 30,\n\tnetfs_folio_trace_read_gaps = 31,\n\tnetfs_folio_trace_read_unlock = 32,\n\tnetfs_folio_trace_redirtied = 33,\n\tnetfs_folio_trace_store = 34,\n\tnetfs_folio_trace_store_copy = 35,\n\tnetfs_folio_trace_store_plus = 36,\n\tnetfs_folio_trace_wthru = 37,\n\tnetfs_folio_trace_wthru_plus = 38,\n} __attribute__((mode(byte)));\n\nenum netfs_folioq_trace {\n\tnetfs_trace_folioq_alloc_buffer = 0,\n\tnetfs_trace_folioq_clear = 1,\n\tnetfs_trace_folioq_delete = 2,\n\tnetfs_trace_folioq_make_space = 3,\n\tnetfs_trace_folioq_rollbuf_init = 4,\n\tnetfs_trace_folioq_read_progress = 5,\n} __attribute__((mode(byte)));\n\nenum netfs_io_origin {\n\tNETFS_READAHEAD = 0,\n\tNETFS_READPAGE = 1,\n\tNETFS_READ_GAPS = 2,\n\tNETFS_READ_SINGLE = 3,\n\tNETFS_READ_FOR_WRITE = 4,\n\tNETFS_DIO_READ = 5,\n\tNETFS_WRITEBACK = 6,\n\tNETFS_WRITEBACK_SINGLE = 7,\n\tNETFS_WRITETHROUGH = 8,\n\tNETFS_UNBUFFERED_WRITE = 9,\n\tNETFS_DIO_WRITE = 10,\n\tNETFS_PGPRIV2_COPY_TO_CACHE = 11,\n\tnr__netfs_io_origin = 12,\n} __attribute__((mode(byte)));\n\nenum netfs_io_source {\n\tNETFS_SOURCE_UNKNOWN = 0,\n\tNETFS_FILL_WITH_ZEROES = 1,\n\tNETFS_DOWNLOAD_FROM_SERVER = 2,\n\tNETFS_READ_FROM_CACHE = 3,\n\tNETFS_INVALID_READ = 4,\n\tNETFS_UPLOAD_TO_SERVER = 5,\n\tNETFS_WRITE_TO_CACHE = 6,\n\tNETFS_INVALID_WRITE = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_read_from_hole {\n\tNETFS_READ_HOLE_IGNORE = 0,\n\tNETFS_READ_HOLE_CLEAR = 1,\n\tNETFS_READ_HOLE_FAIL = 2,\n};\n\nenum netfs_read_trace {\n\tnetfs_read_trace_dio_read = 0,\n\tnetfs_read_trace_expanded = 1,\n\tnetfs_read_trace_readahead = 2,\n\tnetfs_read_trace_readpage = 3,\n\tnetfs_read_trace_read_gaps = 4,\n\tnetfs_read_trace_read_single = 5,\n\tnetfs_read_trace_prefetch_for_write = 6,\n\tnetfs_read_trace_write_begin = 7,\n} __attribute__((mode(byte)));\n\nenum netfs_rreq_ref_trace {\n\tnetfs_rreq_trace_get_for_outstanding = 0,\n\tnetfs_rreq_trace_get_subreq = 1,\n\tnetfs_rreq_trace_get_work = 2,\n\tnetfs_rreq_trace_put_complete = 3,\n\tnetfs_rreq_trace_put_discard = 4,\n\tnetfs_rreq_trace_put_failed = 5,\n\tnetfs_rreq_trace_put_no_submit = 6,\n\tnetfs_rreq_trace_put_return = 7,\n\tnetfs_rreq_trace_put_subreq = 8,\n\tnetfs_rreq_trace_put_work = 9,\n\tnetfs_rreq_trace_put_work_complete = 10,\n\tnetfs_rreq_trace_put_work_nq = 11,\n\tnetfs_rreq_trace_see_work = 12,\n\tnetfs_rreq_trace_new = 13,\n} __attribute__((mode(byte)));\n\nenum netfs_rreq_trace {\n\tnetfs_rreq_trace_assess = 0,\n\tnetfs_rreq_trace_copy = 1,\n\tnetfs_rreq_trace_collect = 2,\n\tnetfs_rreq_trace_complete = 3,\n\tnetfs_rreq_trace_dirty = 4,\n\tnetfs_rreq_trace_done = 5,\n\tnetfs_rreq_trace_free = 6,\n\tnetfs_rreq_trace_redirty = 7,\n\tnetfs_rreq_trace_resubmit = 8,\n\tnetfs_rreq_trace_set_abandon = 9,\n\tnetfs_rreq_trace_set_pause = 10,\n\tnetfs_rreq_trace_unlock = 11,\n\tnetfs_rreq_trace_unlock_pgpriv2 = 12,\n\tnetfs_rreq_trace_unmark = 13,\n\tnetfs_rreq_trace_wait_ip = 14,\n\tnetfs_rreq_trace_wait_pause = 15,\n\tnetfs_rreq_trace_wait_queue = 16,\n\tnetfs_rreq_trace_wake_ip = 17,\n\tnetfs_rreq_trace_wake_queue = 18,\n\tnetfs_rreq_trace_woke_queue = 19,\n\tnetfs_rreq_trace_unpause = 20,\n\tnetfs_rreq_trace_write_done = 21,\n} __attribute__((mode(byte)));\n\nenum netfs_sreq_ref_trace {\n\tnetfs_sreq_trace_get_copy_to_cache = 0,\n\tnetfs_sreq_trace_get_resubmit = 1,\n\tnetfs_sreq_trace_get_submit = 2,\n\tnetfs_sreq_trace_get_short_read = 3,\n\tnetfs_sreq_trace_new = 4,\n\tnetfs_sreq_trace_put_abandon = 5,\n\tnetfs_sreq_trace_put_cancel = 6,\n\tnetfs_sreq_trace_put_clear = 7,\n\tnetfs_sreq_trace_put_consumed = 8,\n\tnetfs_sreq_trace_put_done = 9,\n\tnetfs_sreq_trace_put_failed = 10,\n\tnetfs_sreq_trace_put_merged = 11,\n\tnetfs_sreq_trace_put_no_copy = 12,\n\tnetfs_sreq_trace_put_oom = 13,\n\tnetfs_sreq_trace_put_wip = 14,\n\tnetfs_sreq_trace_put_work = 15,\n\tnetfs_sreq_trace_put_terminated = 16,\n} __attribute__((mode(byte)));\n\nenum netfs_sreq_trace {\n\tnetfs_sreq_trace_add_donations = 0,\n\tnetfs_sreq_trace_added = 1,\n\tnetfs_sreq_trace_cache_nowrite = 2,\n\tnetfs_sreq_trace_cache_prepare = 3,\n\tnetfs_sreq_trace_cache_write = 4,\n\tnetfs_sreq_trace_cancel = 5,\n\tnetfs_sreq_trace_clear = 6,\n\tnetfs_sreq_trace_discard = 7,\n\tnetfs_sreq_trace_donate_to_prev = 8,\n\tnetfs_sreq_trace_donate_to_next = 9,\n\tnetfs_sreq_trace_download_instead = 10,\n\tnetfs_sreq_trace_fail = 11,\n\tnetfs_sreq_trace_free = 12,\n\tnetfs_sreq_trace_hit_eof = 13,\n\tnetfs_sreq_trace_io_progress = 14,\n\tnetfs_sreq_trace_limited = 15,\n\tnetfs_sreq_trace_need_clear = 16,\n\tnetfs_sreq_trace_partial_read = 17,\n\tnetfs_sreq_trace_need_retry = 18,\n\tnetfs_sreq_trace_prepare = 19,\n\tnetfs_sreq_trace_prep_failed = 20,\n\tnetfs_sreq_trace_progress = 21,\n\tnetfs_sreq_trace_reprep_failed = 22,\n\tnetfs_sreq_trace_retry = 23,\n\tnetfs_sreq_trace_short = 24,\n\tnetfs_sreq_trace_split = 25,\n\tnetfs_sreq_trace_submit = 26,\n\tnetfs_sreq_trace_superfluous = 27,\n\tnetfs_sreq_trace_terminated = 28,\n\tnetfs_sreq_trace_wait_for = 29,\n\tnetfs_sreq_trace_write = 30,\n\tnetfs_sreq_trace_write_skip = 31,\n\tnetfs_sreq_trace_write_term = 32,\n} __attribute__((mode(byte)));\n\nenum netfs_write_trace {\n\tnetfs_write_trace_copy_to_cache = 0,\n\tnetfs_write_trace_dio_write = 1,\n\tnetfs_write_trace_unbuffered_write = 2,\n\tnetfs_write_trace_writeback = 3,\n\tnetfs_write_trace_writethrough = 4,\n} __attribute__((mode(byte)));\n\nenum netlink_attribute_type {\n\tNL_ATTR_TYPE_INVALID = 0,\n\tNL_ATTR_TYPE_FLAG = 1,\n\tNL_ATTR_TYPE_U8 = 2,\n\tNL_ATTR_TYPE_U16 = 3,\n\tNL_ATTR_TYPE_U32 = 4,\n\tNL_ATTR_TYPE_U64 = 5,\n\tNL_ATTR_TYPE_S8 = 6,\n\tNL_ATTR_TYPE_S16 = 7,\n\tNL_ATTR_TYPE_S32 = 8,\n\tNL_ATTR_TYPE_S64 = 9,\n\tNL_ATTR_TYPE_BINARY = 10,\n\tNL_ATTR_TYPE_STRING = 11,\n\tNL_ATTR_TYPE_NUL_STRING = 12,\n\tNL_ATTR_TYPE_NESTED = 13,\n\tNL_ATTR_TYPE_NESTED_ARRAY = 14,\n\tNL_ATTR_TYPE_BITFIELD32 = 15,\n\tNL_ATTR_TYPE_SINT = 16,\n\tNL_ATTR_TYPE_UINT = 17,\n};\n\nenum netlink_policy_type_attr {\n\tNL_POLICY_TYPE_ATTR_UNSPEC = 0,\n\tNL_POLICY_TYPE_ATTR_TYPE = 1,\n\tNL_POLICY_TYPE_ATTR_MIN_VALUE_S = 2,\n\tNL_POLICY_TYPE_ATTR_MAX_VALUE_S = 3,\n\tNL_POLICY_TYPE_ATTR_MIN_VALUE_U = 4,\n\tNL_POLICY_TYPE_ATTR_MAX_VALUE_U = 5,\n\tNL_POLICY_TYPE_ATTR_MIN_LENGTH = 6,\n\tNL_POLICY_TYPE_ATTR_MAX_LENGTH = 7,\n\tNL_POLICY_TYPE_ATTR_POLICY_IDX = 8,\n\tNL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 9,\n\tNL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 10,\n\tNL_POLICY_TYPE_ATTR_PAD = 11,\n\tNL_POLICY_TYPE_ATTR_MASK = 12,\n\t__NL_POLICY_TYPE_ATTR_MAX = 13,\n\tNL_POLICY_TYPE_ATTR_MAX = 12,\n};\n\nenum netlink_skb_flags {\n\tNETLINK_SKB_DST = 8,\n};\n\nenum netlink_validation {\n\tNL_VALIDATE_LIBERAL = 0,\n\tNL_VALIDATE_TRAILING = 1,\n\tNL_VALIDATE_MAXTYPE = 2,\n\tNL_VALIDATE_UNSPEC = 4,\n\tNL_VALIDATE_STRICT_ATTRS = 8,\n\tNL_VALIDATE_NESTED = 16,\n};\n\nenum netloc_type4 {\n\tNL4_NAME = 1,\n\tNL4_URL = 2,\n\tNL4_NETADDR = 3,\n};\n\nenum netns_bpf_attach_type {\n\tNETNS_BPF_INVALID = -1,\n\tNETNS_BPF_FLOW_DISSECTOR = 0,\n\tNETNS_BPF_SK_LOOKUP = 1,\n\tMAX_NETNS_BPF_ATTACH_TYPE = 2,\n};\n\nenum nexthop_event_type {\n\tNEXTHOP_EVENT_DEL = 0,\n\tNEXTHOP_EVENT_REPLACE = 1,\n\tNEXTHOP_EVENT_RES_TABLE_PRE_REPLACE = 2,\n\tNEXTHOP_EVENT_BUCKET_REPLACE = 3,\n\tNEXTHOP_EVENT_HW_STATS_REPORT_DELTA = 4,\n};\n\nenum nf_ct_ext_id {\n\tNF_CT_EXT_HELPER = 0,\n\tNF_CT_EXT_NAT = 1,\n\tNF_CT_EXT_SEQADJ = 2,\n\tNF_CT_EXT_ACCT = 3,\n\tNF_CT_EXT_NUM = 4,\n};\n\nenum nf_dev_hooks {\n\tNF_NETDEV_INGRESS = 0,\n\tNF_NETDEV_EGRESS = 1,\n\tNF_NETDEV_NUMHOOKS = 2,\n};\n\nenum nf_hook_ops_type {\n\tNF_HOOK_OP_UNDEFINED = 0,\n\tNF_HOOK_OP_NF_TABLES = 1,\n\tNF_HOOK_OP_BPF = 2,\n};\n\nenum nf_inet_hooks {\n\tNF_INET_PRE_ROUTING = 0,\n\tNF_INET_LOCAL_IN = 1,\n\tNF_INET_FORWARD = 2,\n\tNF_INET_LOCAL_OUT = 3,\n\tNF_INET_POST_ROUTING = 4,\n\tNF_INET_NUMHOOKS = 5,\n\tNF_INET_INGRESS = 5,\n};\n\nenum nf_ip6_hook_priorities {\n\tNF_IP6_PRI_FIRST = -2147483648,\n\tNF_IP6_PRI_RAW_BEFORE_DEFRAG = -450,\n\tNF_IP6_PRI_CONNTRACK_DEFRAG = -400,\n\tNF_IP6_PRI_RAW = -300,\n\tNF_IP6_PRI_SELINUX_FIRST = -225,\n\tNF_IP6_PRI_CONNTRACK = -200,\n\tNF_IP6_PRI_MANGLE = -150,\n\tNF_IP6_PRI_NAT_DST = -100,\n\tNF_IP6_PRI_FILTER = 0,\n\tNF_IP6_PRI_SECURITY = 50,\n\tNF_IP6_PRI_NAT_SRC = 100,\n\tNF_IP6_PRI_SELINUX_LAST = 225,\n\tNF_IP6_PRI_CONNTRACK_HELPER = 300,\n\tNF_IP6_PRI_LAST = 2147483647,\n};\n\nenum nf_ip_hook_priorities {\n\tNF_IP_PRI_FIRST = -2147483648,\n\tNF_IP_PRI_RAW_BEFORE_DEFRAG = -450,\n\tNF_IP_PRI_CONNTRACK_DEFRAG = -400,\n\tNF_IP_PRI_RAW = -300,\n\tNF_IP_PRI_SELINUX_FIRST = -225,\n\tNF_IP_PRI_CONNTRACK = -200,\n\tNF_IP_PRI_MANGLE = -150,\n\tNF_IP_PRI_NAT_DST = -100,\n\tNF_IP_PRI_FILTER = 0,\n\tNF_IP_PRI_SECURITY = 50,\n\tNF_IP_PRI_NAT_SRC = 100,\n\tNF_IP_PRI_SELINUX_LAST = 225,\n\tNF_IP_PRI_CONNTRACK_HELPER = 300,\n\tNF_IP_PRI_CONNTRACK_CONFIRM = 2147483647,\n\tNF_IP_PRI_LAST = 2147483647,\n};\n\nenum nf_log_type {\n\tNF_LOG_TYPE_LOG = 0,\n\tNF_LOG_TYPE_ULOG = 1,\n\tNF_LOG_TYPE_MAX = 2,\n};\n\nenum nf_nat_manip_type;\n\nenum nfs3_createmode {\n\tNFS3_CREATE_UNCHECKED = 0,\n\tNFS3_CREATE_GUARDED = 1,\n\tNFS3_CREATE_EXCLUSIVE = 2,\n};\n\nenum nfs3_ftype {\n\tNF3NON = 0,\n\tNF3REG = 1,\n\tNF3DIR = 2,\n\tNF3BLK = 3,\n\tNF3CHR = 4,\n\tNF3LNK = 5,\n\tNF3SOCK = 6,\n\tNF3FIFO = 7,\n\tNF3BAD = 8,\n};\n\nenum nfs3_stable_how {\n\tNFS_UNSTABLE = 0,\n\tNFS_DATA_SYNC = 1,\n\tNFS_FILE_SYNC = 2,\n\tNFS_INVALID_STABLE_HOW = -1,\n};\n\nenum nfs4_acl_type {\n\tNFS4ACL_NONE = 0,\n\tNFS4ACL_ACL = 1,\n\tNFS4ACL_DACL = 2,\n\tNFS4ACL_SACL = 3,\n};\n\nenum nfs4_callback_procnum {\n\tCB_NULL = 0,\n\tCB_COMPOUND = 1,\n};\n\nenum nfs4_change_attr_type {\n\tNFS4_CHANGE_TYPE_IS_MONOTONIC_INCR = 0,\n\tNFS4_CHANGE_TYPE_IS_VERSION_COUNTER = 1,\n\tNFS4_CHANGE_TYPE_IS_VERSION_COUNTER_NOPNFS = 2,\n\tNFS4_CHANGE_TYPE_IS_TIME_METADATA = 3,\n\tNFS4_CHANGE_TYPE_IS_UNDEFINED = 4,\n};\n\nenum nfs4_client_state {\n\tNFS4CLNT_MANAGER_RUNNING = 0,\n\tNFS4CLNT_CHECK_LEASE = 1,\n\tNFS4CLNT_LEASE_EXPIRED = 2,\n\tNFS4CLNT_RECLAIM_REBOOT = 3,\n\tNFS4CLNT_RECLAIM_NOGRACE = 4,\n\tNFS4CLNT_DELEGRETURN = 5,\n\tNFS4CLNT_SESSION_RESET = 6,\n\tNFS4CLNT_LEASE_CONFIRM = 7,\n\tNFS4CLNT_SERVER_SCOPE_MISMATCH = 8,\n\tNFS4CLNT_PURGE_STATE = 9,\n\tNFS4CLNT_BIND_CONN_TO_SESSION = 10,\n\tNFS4CLNT_MOVED = 11,\n\tNFS4CLNT_LEASE_MOVED = 12,\n\tNFS4CLNT_DELEGATION_EXPIRED = 13,\n\tNFS4CLNT_RUN_MANAGER = 14,\n\tNFS4CLNT_MANAGER_AVAILABLE = 15,\n\tNFS4CLNT_RECALL_RUNNING = 16,\n\tNFS4CLNT_RECALL_ANY_LAYOUT_READ = 17,\n\tNFS4CLNT_RECALL_ANY_LAYOUT_RW = 18,\n\tNFS4CLNT_DELEGRETURN_DELAYED = 19,\n};\n\nenum nfs4_ff_op_type {\n\tNFS4_FF_OP_LAYOUTSTATS = 0,\n\tNFS4_FF_OP_LAYOUTRETURN = 1,\n};\n\nenum nfs4_open_delegation_type4 {\n\tNFS4_OPEN_DELEGATE_NONE = 0,\n\tNFS4_OPEN_DELEGATE_READ = 1,\n\tNFS4_OPEN_DELEGATE_WRITE = 2,\n\tNFS4_OPEN_DELEGATE_NONE_EXT = 3,\n\tNFS4_OPEN_DELEGATE_READ_ATTRS_DELEG = 4,\n\tNFS4_OPEN_DELEGATE_WRITE_ATTRS_DELEG = 5,\n};\n\nenum nfs4_session_state {\n\tNFS4_SESSION_INITING = 0,\n\tNFS4_SESSION_ESTABLISHED = 1,\n};\n\nenum nfs4_setxattr_options {\n\tSETXATTR4_EITHER = 0,\n\tSETXATTR4_CREATE = 1,\n\tSETXATTR4_REPLACE = 2,\n};\n\nenum nfs4_slot_tbl_state {\n\tNFS4_SLOT_TBL_DRAINING = 0,\n};\n\nenum nfs_cb_opnum4 {\n\tOP_CB_GETATTR = 3,\n\tOP_CB_RECALL = 4,\n\tOP_CB_LAYOUTRECALL = 5,\n\tOP_CB_NOTIFY = 6,\n\tOP_CB_PUSH_DELEG = 7,\n\tOP_CB_RECALL_ANY = 8,\n\tOP_CB_RECALLABLE_OBJ_AVAIL = 9,\n\tOP_CB_RECALL_SLOT = 10,\n\tOP_CB_SEQUENCE = 11,\n\tOP_CB_WANTS_CANCELLED = 12,\n\tOP_CB_NOTIFY_LOCK = 13,\n\tOP_CB_NOTIFY_DEVICEID = 14,\n\tOP_CB_OFFLOAD = 15,\n\tOP_CB_ILLEGAL = 10044,\n};\n\nenum nfs_ftype4 {\n\tNF4BAD = 0,\n\tNF4REG = 1,\n\tNF4DIR = 2,\n\tNF4BLK = 3,\n\tNF4CHR = 4,\n\tNF4LNK = 5,\n\tNF4SOCK = 6,\n\tNF4FIFO = 7,\n\tNF4ATTRDIR = 8,\n\tNF4NAMEDATTR = 9,\n};\n\nenum nfs_lock_status {\n\tNFS_LOCK_NOT_SET = 0,\n\tNFS_LOCK_LOCK = 1,\n\tNFS_LOCK_NOLOCK = 2,\n};\n\nenum nfs_opnum4 {\n\tOP_ACCESS = 3,\n\tOP_CLOSE = 4,\n\tOP_COMMIT = 5,\n\tOP_CREATE = 6,\n\tOP_DELEGPURGE = 7,\n\tOP_DELEGRETURN = 8,\n\tOP_GETATTR = 9,\n\tOP_GETFH = 10,\n\tOP_LINK = 11,\n\tOP_LOCK = 12,\n\tOP_LOCKT = 13,\n\tOP_LOCKU = 14,\n\tOP_LOOKUP = 15,\n\tOP_LOOKUPP = 16,\n\tOP_NVERIFY = 17,\n\tOP_OPEN = 18,\n\tOP_OPENATTR = 19,\n\tOP_OPEN_CONFIRM = 20,\n\tOP_OPEN_DOWNGRADE = 21,\n\tOP_PUTFH = 22,\n\tOP_PUTPUBFH = 23,\n\tOP_PUTROOTFH = 24,\n\tOP_READ = 25,\n\tOP_READDIR = 26,\n\tOP_READLINK = 27,\n\tOP_REMOVE = 28,\n\tOP_RENAME = 29,\n\tOP_RENEW = 30,\n\tOP_RESTOREFH = 31,\n\tOP_SAVEFH = 32,\n\tOP_SECINFO = 33,\n\tOP_SETATTR = 34,\n\tOP_SETCLIENTID = 35,\n\tOP_SETCLIENTID_CONFIRM = 36,\n\tOP_VERIFY = 37,\n\tOP_WRITE = 38,\n\tOP_RELEASE_LOCKOWNER = 39,\n\tOP_BACKCHANNEL_CTL = 40,\n\tOP_BIND_CONN_TO_SESSION = 41,\n\tOP_EXCHANGE_ID = 42,\n\tOP_CREATE_SESSION = 43,\n\tOP_DESTROY_SESSION = 44,\n\tOP_FREE_STATEID = 45,\n\tOP_GET_DIR_DELEGATION = 46,\n\tOP_GETDEVICEINFO = 47,\n\tOP_GETDEVICELIST = 48,\n\tOP_LAYOUTCOMMIT = 49,\n\tOP_LAYOUTGET = 50,\n\tOP_LAYOUTRETURN = 51,\n\tOP_SECINFO_NO_NAME = 52,\n\tOP_SEQUENCE = 53,\n\tOP_SET_SSV = 54,\n\tOP_TEST_STATEID = 55,\n\tOP_WANT_DELEGATION = 56,\n\tOP_DESTROY_CLIENTID = 57,\n\tOP_RECLAIM_COMPLETE = 58,\n\tOP_ALLOCATE = 59,\n\tOP_COPY = 60,\n\tOP_COPY_NOTIFY = 61,\n\tOP_DEALLOCATE = 62,\n\tOP_IO_ADVISE = 63,\n\tOP_LAYOUTERROR = 64,\n\tOP_LAYOUTSTATS = 65,\n\tOP_OFFLOAD_CANCEL = 66,\n\tOP_OFFLOAD_STATUS = 67,\n\tOP_READ_PLUS = 68,\n\tOP_SEEK = 69,\n\tOP_WRITE_SAME = 70,\n\tOP_CLONE = 71,\n\tOP_GETXATTR = 72,\n\tOP_SETXATTR = 73,\n\tOP_LISTXATTRS = 74,\n\tOP_REMOVEXATTR = 75,\n\tOP_ILLEGAL = 10044,\n};\n\nenum nfs_param {\n\tOpt_ac = 0,\n\tOpt_acdirmax = 1,\n\tOpt_acdirmin = 2,\n\tOpt_acl___2 = 3,\n\tOpt_acregmax = 4,\n\tOpt_acregmin = 5,\n\tOpt_actimeo = 6,\n\tOpt_addr = 7,\n\tOpt_bg = 8,\n\tOpt_bsize = 9,\n\tOpt_clientaddr = 10,\n\tOpt_cto = 11,\n\tOpt_alignwrite = 12,\n\tOpt_fg = 13,\n\tOpt_fscache = 14,\n\tOpt_fscache_flag = 15,\n\tOpt_hard = 16,\n\tOpt_intr = 17,\n\tOpt_local_lock = 18,\n\tOpt_lock = 19,\n\tOpt_lookupcache = 20,\n\tOpt_migration = 21,\n\tOpt_minorversion = 22,\n\tOpt_mountaddr = 23,\n\tOpt_mounthost = 24,\n\tOpt_mountport = 25,\n\tOpt_mountproto = 26,\n\tOpt_mountvers = 27,\n\tOpt_namelen = 28,\n\tOpt_nconnect = 29,\n\tOpt_max_connect = 30,\n\tOpt_port___2 = 31,\n\tOpt_posix = 32,\n\tOpt_proto = 33,\n\tOpt_rdirplus = 34,\n\tOpt_rdma = 35,\n\tOpt_resvport = 36,\n\tOpt_retrans = 37,\n\tOpt_retry = 38,\n\tOpt_rsize = 39,\n\tOpt_sec = 40,\n\tOpt_sharecache = 41,\n\tOpt_sloppy = 42,\n\tOpt_soft = 43,\n\tOpt_softerr = 44,\n\tOpt_softreval = 45,\n\tOpt_source___2 = 46,\n\tOpt_tcp = 47,\n\tOpt_timeo = 48,\n\tOpt_trunkdiscovery = 49,\n\tOpt_udp = 50,\n\tOpt_v = 51,\n\tOpt_vers = 52,\n\tOpt_wsize = 53,\n\tOpt_write = 54,\n\tOpt_xprtsec = 55,\n};\n\nenum nfs_stat {\n\tNFS_OK = 0,\n\tNFSERR_PERM = 1,\n\tNFSERR_NOENT = 2,\n\tNFSERR_IO = 5,\n\tNFSERR_NXIO = 6,\n\tNFSERR_EAGAIN = 11,\n\tNFSERR_ACCES = 13,\n\tNFSERR_EXIST = 17,\n\tNFSERR_XDEV = 18,\n\tNFSERR_NODEV = 19,\n\tNFSERR_NOTDIR = 20,\n\tNFSERR_ISDIR = 21,\n\tNFSERR_INVAL = 22,\n\tNFSERR_FBIG = 27,\n\tNFSERR_NOSPC = 28,\n\tNFSERR_ROFS = 30,\n\tNFSERR_MLINK = 31,\n\tNFSERR_NAMETOOLONG = 63,\n\tNFSERR_NOTEMPTY = 66,\n\tNFSERR_DQUOT = 69,\n\tNFSERR_STALE = 70,\n\tNFSERR_REMOTE = 71,\n\tNFSERR_WFLUSH = 99,\n\tNFSERR_BADHANDLE = 10001,\n\tNFSERR_NOT_SYNC = 10002,\n\tNFSERR_BAD_COOKIE = 10003,\n\tNFSERR_NOTSUPP = 10004,\n\tNFSERR_TOOSMALL = 10005,\n\tNFSERR_SERVERFAULT = 10006,\n\tNFSERR_BADTYPE = 10007,\n\tNFSERR_JUKEBOX = 10008,\n\tNFSERR_SAME = 10009,\n\tNFSERR_DENIED = 10010,\n\tNFSERR_EXPIRED = 10011,\n\tNFSERR_LOCKED = 10012,\n\tNFSERR_GRACE = 10013,\n\tNFSERR_FHEXPIRED = 10014,\n\tNFSERR_SHARE_DENIED = 10015,\n\tNFSERR_WRONGSEC = 10016,\n\tNFSERR_CLID_INUSE = 10017,\n\tNFSERR_RESOURCE = 10018,\n\tNFSERR_MOVED = 10019,\n\tNFSERR_NOFILEHANDLE = 10020,\n\tNFSERR_MINOR_VERS_MISMATCH = 10021,\n\tNFSERR_STALE_CLIENTID = 10022,\n\tNFSERR_STALE_STATEID = 10023,\n\tNFSERR_OLD_STATEID = 10024,\n\tNFSERR_BAD_STATEID = 10025,\n\tNFSERR_BAD_SEQID = 10026,\n\tNFSERR_NOT_SAME = 10027,\n\tNFSERR_LOCK_RANGE = 10028,\n\tNFSERR_SYMLINK = 10029,\n\tNFSERR_RESTOREFH = 10030,\n\tNFSERR_LEASE_MOVED = 10031,\n\tNFSERR_ATTRNOTSUPP = 10032,\n\tNFSERR_NO_GRACE = 10033,\n\tNFSERR_RECLAIM_BAD = 10034,\n\tNFSERR_RECLAIM_CONFLICT = 10035,\n\tNFSERR_BAD_XDR = 10036,\n\tNFSERR_LOCKS_HELD = 10037,\n\tNFSERR_OPENMODE = 10038,\n\tNFSERR_BADOWNER = 10039,\n\tNFSERR_BADCHAR = 10040,\n\tNFSERR_BADNAME = 10041,\n\tNFSERR_BAD_RANGE = 10042,\n\tNFSERR_LOCK_NOTSUPP = 10043,\n\tNFSERR_OP_ILLEGAL = 10044,\n\tNFSERR_DEADLOCK = 10045,\n\tNFSERR_FILE_OPEN = 10046,\n\tNFSERR_ADMIN_REVOKED = 10047,\n\tNFSERR_CB_PATH_DOWN = 10048,\n};\n\nenum nfs_stat_bytecounters {\n\tNFSIOS_NORMALREADBYTES = 0,\n\tNFSIOS_NORMALWRITTENBYTES = 1,\n\tNFSIOS_DIRECTREADBYTES = 2,\n\tNFSIOS_DIRECTWRITTENBYTES = 3,\n\tNFSIOS_SERVERREADBYTES = 4,\n\tNFSIOS_SERVERWRITTENBYTES = 5,\n\tNFSIOS_READPAGES = 6,\n\tNFSIOS_WRITEPAGES = 7,\n\t__NFSIOS_BYTESMAX = 8,\n};\n\nenum nfs_stat_eventcounters {\n\tNFSIOS_INODEREVALIDATE = 0,\n\tNFSIOS_DENTRYREVALIDATE = 1,\n\tNFSIOS_DATAINVALIDATE = 2,\n\tNFSIOS_ATTRINVALIDATE = 3,\n\tNFSIOS_VFSOPEN = 4,\n\tNFSIOS_VFSLOOKUP = 5,\n\tNFSIOS_VFSACCESS = 6,\n\tNFSIOS_VFSUPDATEPAGE = 7,\n\tNFSIOS_VFSREADPAGE = 8,\n\tNFSIOS_VFSREADPAGES = 9,\n\tNFSIOS_VFSWRITEPAGE = 10,\n\tNFSIOS_VFSWRITEPAGES = 11,\n\tNFSIOS_VFSGETDENTS = 12,\n\tNFSIOS_VFSSETATTR = 13,\n\tNFSIOS_VFSFLUSH = 14,\n\tNFSIOS_VFSFSYNC = 15,\n\tNFSIOS_VFSLOCK = 16,\n\tNFSIOS_VFSRELEASE = 17,\n\tNFSIOS_CONGESTIONWAIT = 18,\n\tNFSIOS_SETATTRTRUNC = 19,\n\tNFSIOS_EXTENDWRITE = 20,\n\tNFSIOS_SILLYRENAME = 21,\n\tNFSIOS_SHORTREAD = 22,\n\tNFSIOS_SHORTWRITE = 23,\n\tNFSIOS_DELAY = 24,\n\tNFSIOS_PNFS_READ = 25,\n\tNFSIOS_PNFS_WRITE = 26,\n\t__NFSIOS_COUNTSMAX = 27,\n};\n\nenum nfsstat4 {\n\tNFS4_OK = 0,\n\tNFS4ERR_PERM = 1,\n\tNFS4ERR_NOENT = 2,\n\tNFS4ERR_IO = 5,\n\tNFS4ERR_NXIO = 6,\n\tNFS4ERR_ACCESS = 13,\n\tNFS4ERR_EXIST = 17,\n\tNFS4ERR_XDEV = 18,\n\tNFS4ERR_NOTDIR = 20,\n\tNFS4ERR_ISDIR = 21,\n\tNFS4ERR_INVAL = 22,\n\tNFS4ERR_FBIG = 27,\n\tNFS4ERR_NOSPC = 28,\n\tNFS4ERR_ROFS = 30,\n\tNFS4ERR_MLINK = 31,\n\tNFS4ERR_NAMETOOLONG = 63,\n\tNFS4ERR_NOTEMPTY = 66,\n\tNFS4ERR_DQUOT = 69,\n\tNFS4ERR_STALE = 70,\n\tNFS4ERR_BADHANDLE = 10001,\n\tNFS4ERR_BAD_COOKIE = 10003,\n\tNFS4ERR_NOTSUPP = 10004,\n\tNFS4ERR_TOOSMALL = 10005,\n\tNFS4ERR_SERVERFAULT = 10006,\n\tNFS4ERR_BADTYPE = 10007,\n\tNFS4ERR_DELAY = 10008,\n\tNFS4ERR_SAME = 10009,\n\tNFS4ERR_DENIED = 10010,\n\tNFS4ERR_EXPIRED = 10011,\n\tNFS4ERR_LOCKED = 10012,\n\tNFS4ERR_GRACE = 10013,\n\tNFS4ERR_FHEXPIRED = 10014,\n\tNFS4ERR_SHARE_DENIED = 10015,\n\tNFS4ERR_WRONGSEC = 10016,\n\tNFS4ERR_CLID_INUSE = 10017,\n\tNFS4ERR_RESOURCE = 10018,\n\tNFS4ERR_MOVED = 10019,\n\tNFS4ERR_NOFILEHANDLE = 10020,\n\tNFS4ERR_MINOR_VERS_MISMATCH = 10021,\n\tNFS4ERR_STALE_CLIENTID = 10022,\n\tNFS4ERR_STALE_STATEID = 10023,\n\tNFS4ERR_OLD_STATEID = 10024,\n\tNFS4ERR_BAD_STATEID = 10025,\n\tNFS4ERR_BAD_SEQID = 10026,\n\tNFS4ERR_NOT_SAME = 10027,\n\tNFS4ERR_LOCK_RANGE = 10028,\n\tNFS4ERR_SYMLINK = 10029,\n\tNFS4ERR_RESTOREFH = 10030,\n\tNFS4ERR_LEASE_MOVED = 10031,\n\tNFS4ERR_ATTRNOTSUPP = 10032,\n\tNFS4ERR_NO_GRACE = 10033,\n\tNFS4ERR_RECLAIM_BAD = 10034,\n\tNFS4ERR_RECLAIM_CONFLICT = 10035,\n\tNFS4ERR_BADXDR = 10036,\n\tNFS4ERR_LOCKS_HELD = 10037,\n\tNFS4ERR_OPENMODE = 10038,\n\tNFS4ERR_BADOWNER = 10039,\n\tNFS4ERR_BADCHAR = 10040,\n\tNFS4ERR_BADNAME = 10041,\n\tNFS4ERR_BAD_RANGE = 10042,\n\tNFS4ERR_LOCK_NOTSUPP = 10043,\n\tNFS4ERR_OP_ILLEGAL = 10044,\n\tNFS4ERR_DEADLOCK = 10045,\n\tNFS4ERR_FILE_OPEN = 10046,\n\tNFS4ERR_ADMIN_REVOKED = 10047,\n\tNFS4ERR_CB_PATH_DOWN = 10048,\n\tNFS4ERR_BADIOMODE = 10049,\n\tNFS4ERR_BADLAYOUT = 10050,\n\tNFS4ERR_BAD_SESSION_DIGEST = 10051,\n\tNFS4ERR_BADSESSION = 10052,\n\tNFS4ERR_BADSLOT = 10053,\n\tNFS4ERR_COMPLETE_ALREADY = 10054,\n\tNFS4ERR_CONN_NOT_BOUND_TO_SESSION = 10055,\n\tNFS4ERR_DELEG_ALREADY_WANTED = 10056,\n\tNFS4ERR_BACK_CHAN_BUSY = 10057,\n\tNFS4ERR_LAYOUTTRYLATER = 10058,\n\tNFS4ERR_LAYOUTUNAVAILABLE = 10059,\n\tNFS4ERR_NOMATCHING_LAYOUT = 10060,\n\tNFS4ERR_RECALLCONFLICT = 10061,\n\tNFS4ERR_UNKNOWN_LAYOUTTYPE = 10062,\n\tNFS4ERR_SEQ_MISORDERED = 10063,\n\tNFS4ERR_SEQUENCE_POS = 10064,\n\tNFS4ERR_REQ_TOO_BIG = 10065,\n\tNFS4ERR_REP_TOO_BIG = 10066,\n\tNFS4ERR_REP_TOO_BIG_TO_CACHE = 10067,\n\tNFS4ERR_RETRY_UNCACHED_REP = 10068,\n\tNFS4ERR_UNSAFE_COMPOUND = 10069,\n\tNFS4ERR_TOO_MANY_OPS = 10070,\n\tNFS4ERR_OP_NOT_IN_SESSION = 10071,\n\tNFS4ERR_HASH_ALG_UNSUPP = 10072,\n\tNFS4ERR_CLIENTID_BUSY = 10074,\n\tNFS4ERR_PNFS_IO_HOLE = 10075,\n\tNFS4ERR_SEQ_FALSE_RETRY = 10076,\n\tNFS4ERR_BAD_HIGH_SLOT = 10077,\n\tNFS4ERR_DEADSESSION = 10078,\n\tNFS4ERR_ENCR_ALG_UNSUPP = 10079,\n\tNFS4ERR_PNFS_NO_LAYOUT = 10080,\n\tNFS4ERR_NOT_ONLY_OP = 10081,\n\tNFS4ERR_WRONG_CRED = 10082,\n\tNFS4ERR_WRONG_TYPE = 10083,\n\tNFS4ERR_DIRDELEG_UNAVAIL = 10084,\n\tNFS4ERR_REJECT_DELEG = 10085,\n\tNFS4ERR_RETURNCONFLICT = 10086,\n\tNFS4ERR_DELEG_REVOKED = 10087,\n\tNFS4ERR_PARTNER_NOTSUPP = 10088,\n\tNFS4ERR_PARTNER_NO_AUTH = 10089,\n\tNFS4ERR_UNION_NOTSUPP = 10090,\n\tNFS4ERR_OFFLOAD_DENIED = 10091,\n\tNFS4ERR_WRONG_LFS = 10092,\n\tNFS4ERR_BADLABEL = 10093,\n\tNFS4ERR_OFFLOAD_NO_REQS = 10094,\n\tNFS4ERR_NOXATTR = 10095,\n\tNFS4ERR_XATTR2BIG = 10096,\n\tNFS4ERR_FIRST_FREE = 10097,\n};\n\nenum nh_notifier_info_type {\n\tNH_NOTIFIER_INFO_TYPE_SINGLE = 0,\n\tNH_NOTIFIER_INFO_TYPE_GRP = 1,\n\tNH_NOTIFIER_INFO_TYPE_RES_TABLE = 2,\n\tNH_NOTIFIER_INFO_TYPE_RES_BUCKET = 3,\n\tNH_NOTIFIER_INFO_TYPE_GRP_HW_STATS = 4,\n};\n\nenum nla_policy_validation {\n\tNLA_VALIDATE_NONE = 0,\n\tNLA_VALIDATE_RANGE = 1,\n\tNLA_VALIDATE_RANGE_WARN_TOO_LONG = 2,\n\tNLA_VALIDATE_MIN = 3,\n\tNLA_VALIDATE_MAX = 4,\n\tNLA_VALIDATE_MASK = 5,\n\tNLA_VALIDATE_RANGE_PTR = 6,\n\tNLA_VALIDATE_FUNCTION = 7,\n};\n\nenum nlmsgerr_attrs {\n\tNLMSGERR_ATTR_UNUSED = 0,\n\tNLMSGERR_ATTR_MSG = 1,\n\tNLMSGERR_ATTR_OFFS = 2,\n\tNLMSGERR_ATTR_COOKIE = 3,\n\tNLMSGERR_ATTR_POLICY = 4,\n\tNLMSGERR_ATTR_MISS_TYPE = 5,\n\tNLMSGERR_ATTR_MISS_NEST = 6,\n\t__NLMSGERR_ATTR_MAX = 7,\n\tNLMSGERR_ATTR_MAX = 6,\n};\n\nenum node_stat_item {\n\tNR_LRU_BASE = 0,\n\tNR_INACTIVE_ANON = 0,\n\tNR_ACTIVE_ANON = 1,\n\tNR_INACTIVE_FILE = 2,\n\tNR_ACTIVE_FILE = 3,\n\tNR_UNEVICTABLE = 4,\n\tNR_SLAB_RECLAIMABLE_B = 5,\n\tNR_SLAB_UNRECLAIMABLE_B = 6,\n\tNR_ISOLATED_ANON = 7,\n\tNR_ISOLATED_FILE = 8,\n\tWORKINGSET_NODES = 9,\n\tWORKINGSET_REFAULT_BASE = 10,\n\tWORKINGSET_REFAULT_ANON = 10,\n\tWORKINGSET_REFAULT_FILE = 11,\n\tWORKINGSET_ACTIVATE_BASE = 12,\n\tWORKINGSET_ACTIVATE_ANON = 12,\n\tWORKINGSET_ACTIVATE_FILE = 13,\n\tWORKINGSET_RESTORE_BASE = 14,\n\tWORKINGSET_RESTORE_ANON = 14,\n\tWORKINGSET_RESTORE_FILE = 15,\n\tWORKINGSET_NODERECLAIM = 16,\n\tNR_ANON_MAPPED = 17,\n\tNR_FILE_MAPPED = 18,\n\tNR_FILE_PAGES = 19,\n\tNR_FILE_DIRTY = 20,\n\tNR_WRITEBACK = 21,\n\tNR_WRITEBACK_TEMP = 22,\n\tNR_SHMEM = 23,\n\tNR_SHMEM_THPS = 24,\n\tNR_SHMEM_PMDMAPPED = 25,\n\tNR_FILE_THPS = 26,\n\tNR_FILE_PMDMAPPED = 27,\n\tNR_ANON_THPS = 28,\n\tNR_VMSCAN_WRITE = 29,\n\tNR_VMSCAN_IMMEDIATE = 30,\n\tNR_DIRTIED = 31,\n\tNR_WRITTEN = 32,\n\tNR_THROTTLED_WRITTEN = 33,\n\tNR_KERNEL_MISC_RECLAIMABLE = 34,\n\tNR_FOLL_PIN_ACQUIRED = 35,\n\tNR_FOLL_PIN_RELEASED = 36,\n\tNR_KERNEL_STACK_KB = 37,\n\tNR_PAGETABLE = 38,\n\tNR_SECONDARY_PAGETABLE = 39,\n\tNR_IOMMU_PAGES = 40,\n\tNR_SWAPCACHE = 41,\n\tPGDEMOTE_KSWAPD = 42,\n\tPGDEMOTE_DIRECT = 43,\n\tPGDEMOTE_KHUGEPAGED = 44,\n\tNR_HUGETLB = 45,\n\tNR_VM_NODE_STAT_ITEMS = 46,\n};\n\nenum node_states {\n\tN_POSSIBLE = 0,\n\tN_ONLINE = 1,\n\tN_NORMAL_MEMORY = 2,\n\tN_HIGH_MEMORY = 2,\n\tN_MEMORY = 3,\n\tN_CPU = 4,\n\tN_GENERIC_INITIATOR = 5,\n\tNR_NODE_STATES = 6,\n};\n\nenum notify_state {\n\tSECCOMP_NOTIFY_INIT = 0,\n\tSECCOMP_NOTIFY_SENT = 1,\n\tSECCOMP_NOTIFY_REPLIED = 2,\n};\n\nenum nvdimm_claim_class {\n\tNVDIMM_CCLASS_NONE = 0,\n\tNVDIMM_CCLASS_BTT = 1,\n\tNVDIMM_CCLASS_BTT2 = 2,\n\tNVDIMM_CCLASS_PFN = 3,\n\tNVDIMM_CCLASS_DAX = 4,\n\tNVDIMM_CCLASS_UNKNOWN = 5,\n};\n\nenum nvdimm_event {\n\tNVDIMM_REVALIDATE_POISON = 0,\n\tNVDIMM_REVALIDATE_REGION = 1,\n};\n\nenum nvdimm_fwa_capability {\n\tNVDIMM_FWA_CAP_INVALID = 0,\n\tNVDIMM_FWA_CAP_NONE = 1,\n\tNVDIMM_FWA_CAP_QUIESCE = 2,\n\tNVDIMM_FWA_CAP_LIVE = 3,\n};\n\nenum nvdimm_fwa_result {\n\tNVDIMM_FWA_RESULT_INVALID = 0,\n\tNVDIMM_FWA_RESULT_NONE = 1,\n\tNVDIMM_FWA_RESULT_SUCCESS = 2,\n\tNVDIMM_FWA_RESULT_NOTSTAGED = 3,\n\tNVDIMM_FWA_RESULT_NEEDRESET = 4,\n\tNVDIMM_FWA_RESULT_FAIL = 5,\n};\n\nenum nvdimm_fwa_state {\n\tNVDIMM_FWA_INVALID = 0,\n\tNVDIMM_FWA_IDLE = 1,\n\tNVDIMM_FWA_ARMED = 2,\n\tNVDIMM_FWA_BUSY = 3,\n\tNVDIMM_FWA_ARM_OVERFLOW = 4,\n};\n\nenum nvdimm_fwa_trigger {\n\tNVDIMM_FWA_ARM = 0,\n\tNVDIMM_FWA_DISARM = 1,\n};\n\nenum nvdimm_passphrase_type {\n\tNVDIMM_USER = 0,\n\tNVDIMM_MASTER = 1,\n};\n\nenum nvdimm_security_bits {\n\tNVDIMM_SECURITY_DISABLED = 0,\n\tNVDIMM_SECURITY_UNLOCKED = 1,\n\tNVDIMM_SECURITY_LOCKED = 2,\n\tNVDIMM_SECURITY_FROZEN = 3,\n\tNVDIMM_SECURITY_OVERWRITE = 4,\n};\n\nenum nvmem_type {\n\tNVMEM_TYPE_UNKNOWN = 0,\n\tNVMEM_TYPE_EEPROM = 1,\n\tNVMEM_TYPE_OTP = 2,\n\tNVMEM_TYPE_BATTERY_BACKED = 3,\n\tNVMEM_TYPE_FRAM = 4,\n};\n\nenum objext_flags {\n\tOBJEXTS_ALLOC_FAIL = 4,\n\t__NR_OBJEXTS_FLAGS = 8,\n};\n\nenum of_gpio_flags {\n\tOF_GPIO_ACTIVE_LOW = 1,\n\tOF_GPIO_SINGLE_ENDED = 2,\n\tOF_GPIO_OPEN_DRAIN = 4,\n\tOF_GPIO_TRANSITORY = 8,\n\tOF_GPIO_PULL_UP = 16,\n\tOF_GPIO_PULL_DOWN = 32,\n\tOF_GPIO_PULL_DISABLE = 64,\n};\n\nenum offload_act_command {\n\tFLOW_ACT_REPLACE = 0,\n\tFLOW_ACT_DESTROY = 1,\n\tFLOW_ACT_STATS = 2,\n};\n\nenum ohci_rh_state {\n\tOHCI_RH_HALTED = 0,\n\tOHCI_RH_SUSPENDED = 1,\n\tOHCI_RH_RUNNING = 2,\n};\n\nenum oom_constraint {\n\tCONSTRAINT_NONE = 0,\n\tCONSTRAINT_CPUSET = 1,\n\tCONSTRAINT_MEMORY_POLICY = 2,\n\tCONSTRAINT_MEMCG = 3,\n};\n\nenum open_claim_type4 {\n\tNFS4_OPEN_CLAIM_NULL = 0,\n\tNFS4_OPEN_CLAIM_PREVIOUS = 1,\n\tNFS4_OPEN_CLAIM_DELEGATE_CUR = 2,\n\tNFS4_OPEN_CLAIM_DELEGATE_PREV = 3,\n\tNFS4_OPEN_CLAIM_FH = 4,\n\tNFS4_OPEN_CLAIM_DELEG_CUR_FH = 5,\n\tNFS4_OPEN_CLAIM_DELEG_PREV_FH = 6,\n};\n\nenum opentype4 {\n\tNFS4_OPEN_NOCREATE = 0,\n\tNFS4_OPEN_CREATE = 1,\n};\n\nenum opp_table_access {\n\tOPP_TABLE_ACCESS_UNKNOWN = 0,\n\tOPP_TABLE_ACCESS_EXCLUSIVE = 1,\n\tOPP_TABLE_ACCESS_SHARED = 2,\n};\n\nenum owner_state {\n\tOWNER_NULL = 1,\n\tOWNER_WRITER = 2,\n\tOWNER_READER = 4,\n\tOWNER_NONSPINNABLE = 8,\n};\n\nenum p9_cache_bits {\n\tCACHE_NONE = 0,\n\tCACHE_FILE = 1,\n\tCACHE_META = 2,\n\tCACHE_WRITEBACK = 4,\n\tCACHE_LOOSE = 8,\n\tCACHE_FSCACHE = 128,\n};\n\nenum p9_cache_shortcuts {\n\tCACHE_SC_NONE = 0,\n\tCACHE_SC_READAHEAD = 1,\n\tCACHE_SC_MMAP = 5,\n\tCACHE_SC_LOOSE = 15,\n\tCACHE_SC_FSCACHE = 143,\n};\n\nenum p9_fid_reftype {\n\tP9_FID_REF_CREATE = 0,\n\tP9_FID_REF_GET = 1,\n\tP9_FID_REF_PUT = 2,\n\tP9_FID_REF_DESTROY = 3,\n} __attribute__((mode(byte)));\n\nenum p9_msg_t {\n\tP9_TLERROR = 6,\n\tP9_RLERROR = 7,\n\tP9_TSTATFS = 8,\n\tP9_RSTATFS = 9,\n\tP9_TLOPEN = 12,\n\tP9_RLOPEN = 13,\n\tP9_TLCREATE = 14,\n\tP9_RLCREATE = 15,\n\tP9_TSYMLINK = 16,\n\tP9_RSYMLINK = 17,\n\tP9_TMKNOD = 18,\n\tP9_RMKNOD = 19,\n\tP9_TRENAME = 20,\n\tP9_RRENAME = 21,\n\tP9_TREADLINK = 22,\n\tP9_RREADLINK = 23,\n\tP9_TGETATTR = 24,\n\tP9_RGETATTR = 25,\n\tP9_TSETATTR = 26,\n\tP9_RSETATTR = 27,\n\tP9_TXATTRWALK = 30,\n\tP9_RXATTRWALK = 31,\n\tP9_TXATTRCREATE = 32,\n\tP9_RXATTRCREATE = 33,\n\tP9_TREADDIR = 40,\n\tP9_RREADDIR = 41,\n\tP9_TFSYNC = 50,\n\tP9_RFSYNC = 51,\n\tP9_TLOCK = 52,\n\tP9_RLOCK = 53,\n\tP9_TGETLOCK = 54,\n\tP9_RGETLOCK = 55,\n\tP9_TLINK = 70,\n\tP9_RLINK = 71,\n\tP9_TMKDIR = 72,\n\tP9_RMKDIR = 73,\n\tP9_TRENAMEAT = 74,\n\tP9_RRENAMEAT = 75,\n\tP9_TUNLINKAT = 76,\n\tP9_RUNLINKAT = 77,\n\tP9_TVERSION = 100,\n\tP9_RVERSION = 101,\n\tP9_TAUTH = 102,\n\tP9_RAUTH = 103,\n\tP9_TATTACH = 104,\n\tP9_RATTACH = 105,\n\tP9_TERROR = 106,\n\tP9_RERROR = 107,\n\tP9_TFLUSH = 108,\n\tP9_RFLUSH = 109,\n\tP9_TWALK = 110,\n\tP9_RWALK = 111,\n\tP9_TOPEN = 112,\n\tP9_ROPEN = 113,\n\tP9_TCREATE = 114,\n\tP9_RCREATE = 115,\n\tP9_TREAD = 116,\n\tP9_RREAD = 117,\n\tP9_TWRITE = 118,\n\tP9_RWRITE = 119,\n\tP9_TCLUNK = 120,\n\tP9_RCLUNK = 121,\n\tP9_TREMOVE = 122,\n\tP9_RREMOVE = 123,\n\tP9_TSTAT = 124,\n\tP9_RSTAT = 125,\n\tP9_TWSTAT = 126,\n\tP9_RWSTAT = 127,\n};\n\nenum p9_open_mode_t {\n\tP9_OREAD = 0,\n\tP9_OWRITE = 1,\n\tP9_ORDWR = 2,\n\tP9_OEXEC = 3,\n\tP9_OTRUNC = 16,\n\tP9_OREXEC = 32,\n\tP9_ORCLOSE = 64,\n\tP9_OAPPEND = 128,\n\tP9_OEXCL = 4096,\n\tP9L_MODE_MASK = 8191,\n\tP9L_DIRECT = 8192,\n\tP9L_NOWRITECACHE = 16384,\n\tP9L_LOOSE = 32768,\n};\n\nenum p9_perm_t {\n\tP9_DMDIR = 2147483648,\n\tP9_DMAPPEND = 1073741824,\n\tP9_DMEXCL = 536870912,\n\tP9_DMMOUNT = 268435456,\n\tP9_DMAUTH = 134217728,\n\tP9_DMTMP = 67108864,\n\tP9_DMSYMLINK = 33554432,\n\tP9_DMLINK = 16777216,\n\tP9_DMDEVICE = 8388608,\n\tP9_DMNAMEDPIPE = 2097152,\n\tP9_DMSOCKET = 1048576,\n\tP9_DMSETUID = 524288,\n\tP9_DMSETGID = 262144,\n\tP9_DMSETVTX = 65536,\n};\n\nenum p9_proto_versions {\n\tp9_proto_legacy = 0,\n\tp9_proto_2000u = 1,\n\tp9_proto_2000L = 2,\n};\n\nenum p9_req_status_t {\n\tREQ_STATUS_ALLOC = 0,\n\tREQ_STATUS_UNSENT = 1,\n\tREQ_STATUS_SENT = 2,\n\tREQ_STATUS_RCVD = 3,\n\tREQ_STATUS_FLSHD = 4,\n\tREQ_STATUS_ERROR = 5,\n};\n\nenum p9_session_flags {\n\tV9FS_PROTO_2000U = 1,\n\tV9FS_PROTO_2000L = 2,\n\tV9FS_ACCESS_SINGLE = 4,\n\tV9FS_ACCESS_USER = 8,\n\tV9FS_ACCESS_CLIENT = 16,\n\tV9FS_POSIX_ACL = 32,\n\tV9FS_NO_XATTR = 64,\n\tV9FS_IGNORE_QV = 128,\n\tV9FS_DIRECT_IO = 256,\n\tV9FS_SYNC = 512,\n};\n\nenum p9_trans_status {\n\tConnected = 0,\n\tBeginDisconnect = 1,\n\tDisconnected = 2,\n\tHung = 3,\n};\n\nenum packet_sock_flags {\n\tPACKET_SOCK_ORIGDEV = 0,\n\tPACKET_SOCK_AUXDATA = 1,\n\tPACKET_SOCK_TX_HAS_OFF = 2,\n\tPACKET_SOCK_TP_LOSS = 3,\n\tPACKET_SOCK_RUNNING = 4,\n\tPACKET_SOCK_PRESSURE = 5,\n\tPACKET_SOCK_QDISC_BYPASS = 6,\n};\n\nenum page_memcg_data_flags {\n\tMEMCG_DATA_OBJEXTS = 1,\n\tMEMCG_DATA_KMEM = 2,\n\t__NR_MEMCG_DATA_FLAGS = 4,\n};\n\nenum page_size_enum {\n\t__PAGE_SIZE = 4096,\n};\n\nenum page_walk_action {\n\tACTION_SUBTREE = 0,\n\tACTION_CONTINUE = 1,\n\tACTION_AGAIN = 2,\n};\n\nenum page_walk_lock {\n\tPGWALK_RDLOCK = 0,\n\tPGWALK_WRLOCK = 1,\n\tPGWALK_WRLOCK_VERIFY = 2,\n};\n\nenum pageblock_bits {\n\tPB_migrate = 0,\n\tPB_migrate_end = 2,\n\tPB_migrate_skip = 3,\n\tNR_PAGEBLOCK_BITS = 4,\n};\n\nenum pageflags {\n\tPG_locked = 0,\n\tPG_writeback = 1,\n\tPG_referenced = 2,\n\tPG_uptodate = 3,\n\tPG_dirty = 4,\n\tPG_lru = 5,\n\tPG_head = 6,\n\tPG_waiters = 7,\n\tPG_active = 8,\n\tPG_workingset = 9,\n\tPG_owner_priv_1 = 10,\n\tPG_owner_2 = 11,\n\tPG_arch_1 = 12,\n\tPG_reserved = 13,\n\tPG_private = 14,\n\tPG_private_2 = 15,\n\tPG_reclaim = 16,\n\tPG_swapbacked = 17,\n\tPG_unevictable = 18,\n\tPG_dropbehind = 19,\n\tPG_mlocked = 20,\n\t__NR_PAGEFLAGS = 21,\n\tPG_readahead = 16,\n\tPG_swapcache = 10,\n\tPG_checked = 10,\n\tPG_anon_exclusive = 11,\n\tPG_mappedtodisk = 11,\n\tPG_fscache = 15,\n\tPG_pinned = 10,\n\tPG_savepinned = 4,\n\tPG_foreign = 10,\n\tPG_xen_remapped = 10,\n\tPG_isolated = 16,\n\tPG_reported = 3,\n\tPG_has_hwpoisoned = 8,\n\tPG_large_rmappable = 9,\n\tPG_partially_mapped = 16,\n};\n\nenum pagetype {\n\tPGTY_buddy = 240,\n\tPGTY_offline = 241,\n\tPGTY_table = 242,\n\tPGTY_guard = 243,\n\tPGTY_hugetlb = 244,\n\tPGTY_slab = 245,\n\tPGTY_zsmalloc = 246,\n\tPGTY_unaccepted = 247,\n\tPGTY_mapcount_underflow = 255,\n};\n\nenum partition_cmd {\n\tpartcmd_enable = 0,\n\tpartcmd_enablei = 1,\n\tpartcmd_disable = 2,\n\tpartcmd_update = 3,\n\tpartcmd_invalidate = 4,\n};\n\nenum passtype {\n\tPASS_SCAN = 0,\n\tPASS_REVOKE = 1,\n\tPASS_REPLAY = 2,\n};\n\nenum path_flags {\n\tPATH_IS_DIR = 1,\n\tPATH_CONNECT_PATH = 4,\n\tPATH_CHROOT_REL = 8,\n\tPATH_CHROOT_NSCONNECT = 16,\n\tPATH_DELEGATE_DELETED = 65536,\n\tPATH_MEDIATE_DELETED = 131072,\n};\n\nenum pce_status {\n\tPCE_STATUS_NONE = 0,\n\tPCE_STATUS_ACQUIRED = 1,\n\tPCE_STATUS_PREPARED = 2,\n\tPCE_STATUS_ENABLED = 3,\n\tPCE_STATUS_ERROR = 4,\n};\n\nenum pci_bar_type {\n\tpci_bar_unknown = 0,\n\tpci_bar_io = 1,\n\tpci_bar_mem32 = 2,\n\tpci_bar_mem64 = 3,\n};\n\nenum pci_barno {\n\tNO_BAR = -1,\n\tBAR_0 = 0,\n\tBAR_1 = 1,\n\tBAR_2 = 2,\n\tBAR_3 = 3,\n\tBAR_4 = 4,\n\tBAR_5 = 5,\n};\n\nenum pci_board_num_t {\n\tpbn_default = 0,\n\tpbn_b0_1_115200 = 1,\n\tpbn_b0_2_115200 = 2,\n\tpbn_b0_4_115200 = 3,\n\tpbn_b0_5_115200 = 4,\n\tpbn_b0_8_115200 = 5,\n\tpbn_b0_1_921600 = 6,\n\tpbn_b0_2_921600 = 7,\n\tpbn_b0_4_921600 = 8,\n\tpbn_b0_2_1130000 = 9,\n\tpbn_b0_4_1152000 = 10,\n\tpbn_b0_4_1250000 = 11,\n\tpbn_b0_2_1843200 = 12,\n\tpbn_b0_4_1843200 = 13,\n\tpbn_b0_1_15625000 = 14,\n\tpbn_b0_bt_1_115200 = 15,\n\tpbn_b0_bt_2_115200 = 16,\n\tpbn_b0_bt_4_115200 = 17,\n\tpbn_b0_bt_8_115200 = 18,\n\tpbn_b0_bt_1_460800 = 19,\n\tpbn_b0_bt_2_460800 = 20,\n\tpbn_b0_bt_4_460800 = 21,\n\tpbn_b0_bt_1_921600 = 22,\n\tpbn_b0_bt_2_921600 = 23,\n\tpbn_b0_bt_4_921600 = 24,\n\tpbn_b0_bt_8_921600 = 25,\n\tpbn_b1_1_115200 = 26,\n\tpbn_b1_2_115200 = 27,\n\tpbn_b1_4_115200 = 28,\n\tpbn_b1_8_115200 = 29,\n\tpbn_b1_16_115200 = 30,\n\tpbn_b1_1_921600 = 31,\n\tpbn_b1_2_921600 = 32,\n\tpbn_b1_4_921600 = 33,\n\tpbn_b1_8_921600 = 34,\n\tpbn_b1_2_1250000 = 35,\n\tpbn_b1_bt_1_115200 = 36,\n\tpbn_b1_bt_2_115200 = 37,\n\tpbn_b1_bt_4_115200 = 38,\n\tpbn_b1_bt_2_921600 = 39,\n\tpbn_b1_1_1382400 = 40,\n\tpbn_b1_2_1382400 = 41,\n\tpbn_b1_4_1382400 = 42,\n\tpbn_b1_8_1382400 = 43,\n\tpbn_b2_1_115200 = 44,\n\tpbn_b2_2_115200 = 45,\n\tpbn_b2_4_115200 = 46,\n\tpbn_b2_8_115200 = 47,\n\tpbn_b2_1_460800 = 48,\n\tpbn_b2_4_460800 = 49,\n\tpbn_b2_8_460800 = 50,\n\tpbn_b2_16_460800 = 51,\n\tpbn_b2_1_921600 = 52,\n\tpbn_b2_4_921600 = 53,\n\tpbn_b2_8_921600 = 54,\n\tpbn_b2_8_1152000 = 55,\n\tpbn_b2_bt_1_115200 = 56,\n\tpbn_b2_bt_2_115200 = 57,\n\tpbn_b2_bt_4_115200 = 58,\n\tpbn_b2_bt_2_921600 = 59,\n\tpbn_b2_bt_4_921600 = 60,\n\tpbn_b3_2_115200 = 61,\n\tpbn_b3_4_115200 = 62,\n\tpbn_b3_8_115200 = 63,\n\tpbn_b4_bt_2_921600 = 64,\n\tpbn_b4_bt_4_921600 = 65,\n\tpbn_b4_bt_8_921600 = 66,\n\tpbn_panacom = 67,\n\tpbn_panacom2 = 68,\n\tpbn_panacom4 = 69,\n\tpbn_plx_romulus = 70,\n\tpbn_oxsemi = 71,\n\tpbn_oxsemi_1_15625000 = 72,\n\tpbn_oxsemi_2_15625000 = 73,\n\tpbn_oxsemi_4_15625000 = 74,\n\tpbn_oxsemi_8_15625000 = 75,\n\tpbn_intel_i960 = 76,\n\tpbn_sgi_ioc3 = 77,\n\tpbn_computone_4 = 78,\n\tpbn_computone_6 = 79,\n\tpbn_computone_8 = 80,\n\tpbn_sbsxrsio = 81,\n\tpbn_pasemi_1682M = 82,\n\tpbn_ni8430_2 = 83,\n\tpbn_ni8430_4 = 84,\n\tpbn_ni8430_8 = 85,\n\tpbn_ni8430_16 = 86,\n\tpbn_ADDIDATA_PCIe_1_3906250 = 87,\n\tpbn_ADDIDATA_PCIe_2_3906250 = 88,\n\tpbn_ADDIDATA_PCIe_4_3906250 = 89,\n\tpbn_ADDIDATA_PCIe_8_3906250 = 90,\n\tpbn_ce4100_1_115200 = 91,\n\tpbn_omegapci = 92,\n\tpbn_NETMOS9900_2s_115200 = 93,\n\tpbn_brcm_trumanage = 94,\n\tpbn_fintek_4 = 95,\n\tpbn_fintek_8 = 96,\n\tpbn_fintek_12 = 97,\n\tpbn_fintek_F81504A = 98,\n\tpbn_fintek_F81508A = 99,\n\tpbn_fintek_F81512A = 100,\n\tpbn_wch382_2 = 101,\n\tpbn_wch384_4 = 102,\n\tpbn_wch384_8 = 103,\n\tpbn_sunix_pci_1s = 104,\n\tpbn_sunix_pci_2s = 105,\n\tpbn_sunix_pci_4s = 106,\n\tpbn_sunix_pci_8s = 107,\n\tpbn_sunix_pci_16s = 108,\n\tpbn_titan_1_4000000 = 109,\n\tpbn_titan_2_4000000 = 110,\n\tpbn_titan_4_4000000 = 111,\n\tpbn_titan_8_4000000 = 112,\n\tpbn_moxa_2 = 113,\n\tpbn_moxa_4 = 114,\n\tpbn_moxa_8 = 115,\n};\n\nenum pci_bus_flags {\n\tPCI_BUS_FLAGS_NO_MSI = 1,\n\tPCI_BUS_FLAGS_NO_MMRBC = 2,\n\tPCI_BUS_FLAGS_NO_AERSID = 4,\n\tPCI_BUS_FLAGS_NO_EXTCFG = 8,\n};\n\nenum pci_bus_speed {\n\tPCI_SPEED_33MHz = 0,\n\tPCI_SPEED_66MHz = 1,\n\tPCI_SPEED_66MHz_PCIX = 2,\n\tPCI_SPEED_100MHz_PCIX = 3,\n\tPCI_SPEED_133MHz_PCIX = 4,\n\tPCI_SPEED_66MHz_PCIX_ECC = 5,\n\tPCI_SPEED_100MHz_PCIX_ECC = 6,\n\tPCI_SPEED_133MHz_PCIX_ECC = 7,\n\tPCI_SPEED_66MHz_PCIX_266 = 9,\n\tPCI_SPEED_100MHz_PCIX_266 = 10,\n\tPCI_SPEED_133MHz_PCIX_266 = 11,\n\tAGP_UNKNOWN = 12,\n\tAGP_1X = 13,\n\tAGP_2X = 14,\n\tAGP_4X = 15,\n\tAGP_8X = 16,\n\tPCI_SPEED_66MHz_PCIX_533 = 17,\n\tPCI_SPEED_100MHz_PCIX_533 = 18,\n\tPCI_SPEED_133MHz_PCIX_533 = 19,\n\tPCIE_SPEED_2_5GT = 20,\n\tPCIE_SPEED_5_0GT = 21,\n\tPCIE_SPEED_8_0GT = 22,\n\tPCIE_SPEED_16_0GT = 23,\n\tPCIE_SPEED_32_0GT = 24,\n\tPCIE_SPEED_64_0GT = 25,\n\tPCI_SPEED_UNKNOWN = 255,\n};\n\nenum pci_dev_flags {\n\tPCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = 1,\n\tPCI_DEV_FLAGS_NO_D3 = 2,\n\tPCI_DEV_FLAGS_ASSIGNED = 4,\n\tPCI_DEV_FLAGS_ACS_ENABLED_QUIRK = 8,\n\tPCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = 32,\n\tPCI_DEV_FLAGS_NO_BUS_RESET = 64,\n\tPCI_DEV_FLAGS_NO_PM_RESET = 128,\n\tPCI_DEV_FLAGS_VPD_REF_F0 = 256,\n\tPCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = 512,\n\tPCI_DEV_FLAGS_NO_FLR_RESET = 1024,\n\tPCI_DEV_FLAGS_NO_RELAXED_ORDERING = 2048,\n\tPCI_DEV_FLAGS_HAS_MSI_MASKING = 4096,\n};\n\nenum pci_epc_bar_type {\n\tBAR_PROGRAMMABLE = 0,\n\tBAR_FIXED = 1,\n\tBAR_RESERVED = 2,\n};\n\nenum pci_ers_result {\n\tPCI_ERS_RESULT_NONE = 1,\n\tPCI_ERS_RESULT_CAN_RECOVER = 2,\n\tPCI_ERS_RESULT_NEED_RESET = 3,\n\tPCI_ERS_RESULT_DISCONNECT = 4,\n\tPCI_ERS_RESULT_RECOVERED = 5,\n\tPCI_ERS_RESULT_NO_AER_DRIVER = 6,\n};\n\nenum pci_fixup_pass {\n\tpci_fixup_early = 0,\n\tpci_fixup_header = 1,\n\tpci_fixup_final = 2,\n\tpci_fixup_enable = 3,\n\tpci_fixup_resume = 4,\n\tpci_fixup_suspend = 5,\n\tpci_fixup_resume_early = 6,\n\tpci_fixup_suspend_late = 7,\n};\n\nenum pci_interrupt_pin {\n\tPCI_INTERRUPT_UNKNOWN = 0,\n\tPCI_INTERRUPT_INTA = 1,\n\tPCI_INTERRUPT_INTB = 2,\n\tPCI_INTERRUPT_INTC = 3,\n\tPCI_INTERRUPT_INTD = 4,\n};\n\nenum pci_mmap_api {\n\tPCI_MMAP_SYSFS = 0,\n\tPCI_MMAP_PROCFS = 1,\n};\n\nenum pci_mmap_state {\n\tpci_mmap_io = 0,\n\tpci_mmap_mem = 1,\n};\n\nenum pci_p2pdma_map_type {\n\tPCI_P2PDMA_MAP_UNKNOWN = 0,\n\tPCI_P2PDMA_MAP_NOT_SUPPORTED = 1,\n\tPCI_P2PDMA_MAP_BUS_ADDR = 2,\n\tPCI_P2PDMA_MAP_THRU_HOST_BRIDGE = 3,\n};\n\nenum pcie_bus_config_types {\n\tPCIE_BUS_TUNE_OFF = 0,\n\tPCIE_BUS_DEFAULT = 1,\n\tPCIE_BUS_SAFE = 2,\n\tPCIE_BUS_PERFORMANCE = 3,\n\tPCIE_BUS_PEER2PEER = 4,\n};\n\nenum pcie_link_width {\n\tPCIE_LNK_WIDTH_RESRV = 0,\n\tPCIE_LNK_X1 = 1,\n\tPCIE_LNK_X2 = 2,\n\tPCIE_LNK_X4 = 4,\n\tPCIE_LNK_X8 = 8,\n\tPCIE_LNK_X12 = 12,\n\tPCIE_LNK_X16 = 16,\n\tPCIE_LNK_X32 = 32,\n\tPCIE_LNK_WIDTH_UNKNOWN = 255,\n};\n\nenum pcie_reset_state {\n\tpcie_deassert_reset = 1,\n\tpcie_warm_reset = 2,\n\tpcie_hot_reset = 3,\n};\n\nenum pcim_addr_devres_type {\n\tPCIM_ADDR_DEVRES_TYPE_INVALID = 0,\n\tPCIM_ADDR_DEVRES_TYPE_REGION = 1,\n\tPCIM_ADDR_DEVRES_TYPE_REGION_MAPPING = 2,\n\tPCIM_ADDR_DEVRES_TYPE_MAPPING = 3,\n};\n\nenum pcpu_fc {\n\tPCPU_FC_AUTO = 0,\n\tPCPU_FC_EMBED = 1,\n\tPCPU_FC_PAGE = 2,\n\tPCPU_FC_NR = 3,\n};\n\nenum perf_addr_filter_action_t {\n\tPERF_ADDR_FILTER_ACTION_STOP = 0,\n\tPERF_ADDR_FILTER_ACTION_START = 1,\n\tPERF_ADDR_FILTER_ACTION_FILTER = 2,\n};\n\nenum perf_bpf_event_type {\n\tPERF_BPF_EVENT_UNKNOWN = 0,\n\tPERF_BPF_EVENT_PROG_LOAD = 1,\n\tPERF_BPF_EVENT_PROG_UNLOAD = 2,\n\tPERF_BPF_EVENT_MAX = 3,\n};\n\nenum perf_branch_sample_type {\n\tPERF_SAMPLE_BRANCH_USER = 1,\n\tPERF_SAMPLE_BRANCH_KERNEL = 2,\n\tPERF_SAMPLE_BRANCH_HV = 4,\n\tPERF_SAMPLE_BRANCH_ANY = 8,\n\tPERF_SAMPLE_BRANCH_ANY_CALL = 16,\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 32,\n\tPERF_SAMPLE_BRANCH_IND_CALL = 64,\n\tPERF_SAMPLE_BRANCH_ABORT_TX = 128,\n\tPERF_SAMPLE_BRANCH_IN_TX = 256,\n\tPERF_SAMPLE_BRANCH_NO_TX = 512,\n\tPERF_SAMPLE_BRANCH_COND = 1024,\n\tPERF_SAMPLE_BRANCH_CALL_STACK = 2048,\n\tPERF_SAMPLE_BRANCH_IND_JUMP = 4096,\n\tPERF_SAMPLE_BRANCH_CALL = 8192,\n\tPERF_SAMPLE_BRANCH_NO_FLAGS = 16384,\n\tPERF_SAMPLE_BRANCH_NO_CYCLES = 32768,\n\tPERF_SAMPLE_BRANCH_TYPE_SAVE = 65536,\n\tPERF_SAMPLE_BRANCH_HW_INDEX = 131072,\n\tPERF_SAMPLE_BRANCH_PRIV_SAVE = 262144,\n\tPERF_SAMPLE_BRANCH_COUNTERS = 524288,\n\tPERF_SAMPLE_BRANCH_MAX = 1048576,\n};\n\nenum perf_branch_sample_type_shift {\n\tPERF_SAMPLE_BRANCH_USER_SHIFT = 0,\n\tPERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1,\n\tPERF_SAMPLE_BRANCH_HV_SHIFT = 2,\n\tPERF_SAMPLE_BRANCH_ANY_SHIFT = 3,\n\tPERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4,\n\tPERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5,\n\tPERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6,\n\tPERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7,\n\tPERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8,\n\tPERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9,\n\tPERF_SAMPLE_BRANCH_COND_SHIFT = 10,\n\tPERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11,\n\tPERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12,\n\tPERF_SAMPLE_BRANCH_CALL_SHIFT = 13,\n\tPERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14,\n\tPERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15,\n\tPERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16,\n\tPERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17,\n\tPERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18,\n\tPERF_SAMPLE_BRANCH_COUNTERS_SHIFT = 19,\n\tPERF_SAMPLE_BRANCH_MAX_SHIFT = 20,\n};\n\nenum perf_callchain_context {\n\tPERF_CONTEXT_HV = 18446744073709551584ULL,\n\tPERF_CONTEXT_KERNEL = 18446744073709551488ULL,\n\tPERF_CONTEXT_USER = 18446744073709551104ULL,\n\tPERF_CONTEXT_GUEST = 18446744073709549568ULL,\n\tPERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL,\n\tPERF_CONTEXT_GUEST_USER = 18446744073709549056ULL,\n\tPERF_CONTEXT_MAX = 18446744073709547521ULL,\n};\n\nenum perf_event_ioc_flags {\n\tPERF_IOC_FLAG_GROUP = 1,\n};\n\nenum perf_event_read_format {\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 1,\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 2,\n\tPERF_FORMAT_ID = 4,\n\tPERF_FORMAT_GROUP = 8,\n\tPERF_FORMAT_LOST = 16,\n\tPERF_FORMAT_MAX = 32,\n};\n\nenum perf_event_riscv_regs {\n\tPERF_REG_RISCV_PC = 0,\n\tPERF_REG_RISCV_RA = 1,\n\tPERF_REG_RISCV_SP = 2,\n\tPERF_REG_RISCV_GP = 3,\n\tPERF_REG_RISCV_TP = 4,\n\tPERF_REG_RISCV_T0 = 5,\n\tPERF_REG_RISCV_T1 = 6,\n\tPERF_REG_RISCV_T2 = 7,\n\tPERF_REG_RISCV_S0 = 8,\n\tPERF_REG_RISCV_S1 = 9,\n\tPERF_REG_RISCV_A0 = 10,\n\tPERF_REG_RISCV_A1 = 11,\n\tPERF_REG_RISCV_A2 = 12,\n\tPERF_REG_RISCV_A3 = 13,\n\tPERF_REG_RISCV_A4 = 14,\n\tPERF_REG_RISCV_A5 = 15,\n\tPERF_REG_RISCV_A6 = 16,\n\tPERF_REG_RISCV_A7 = 17,\n\tPERF_REG_RISCV_S2 = 18,\n\tPERF_REG_RISCV_S3 = 19,\n\tPERF_REG_RISCV_S4 = 20,\n\tPERF_REG_RISCV_S5 = 21,\n\tPERF_REG_RISCV_S6 = 22,\n\tPERF_REG_RISCV_S7 = 23,\n\tPERF_REG_RISCV_S8 = 24,\n\tPERF_REG_RISCV_S9 = 25,\n\tPERF_REG_RISCV_S10 = 26,\n\tPERF_REG_RISCV_S11 = 27,\n\tPERF_REG_RISCV_T3 = 28,\n\tPERF_REG_RISCV_T4 = 29,\n\tPERF_REG_RISCV_T5 = 30,\n\tPERF_REG_RISCV_T6 = 31,\n\tPERF_REG_RISCV_MAX = 32,\n};\n\nenum perf_event_sample_format {\n\tPERF_SAMPLE_IP = 1,\n\tPERF_SAMPLE_TID = 2,\n\tPERF_SAMPLE_TIME = 4,\n\tPERF_SAMPLE_ADDR = 8,\n\tPERF_SAMPLE_READ = 16,\n\tPERF_SAMPLE_CALLCHAIN = 32,\n\tPERF_SAMPLE_ID = 64,\n\tPERF_SAMPLE_CPU = 128,\n\tPERF_SAMPLE_PERIOD = 256,\n\tPERF_SAMPLE_STREAM_ID = 512,\n\tPERF_SAMPLE_RAW = 1024,\n\tPERF_SAMPLE_BRANCH_STACK = 2048,\n\tPERF_SAMPLE_REGS_USER = 4096,\n\tPERF_SAMPLE_STACK_USER = 8192,\n\tPERF_SAMPLE_WEIGHT = 16384,\n\tPERF_SAMPLE_DATA_SRC = 32768,\n\tPERF_SAMPLE_IDENTIFIER = 65536,\n\tPERF_SAMPLE_TRANSACTION = 131072,\n\tPERF_SAMPLE_REGS_INTR = 262144,\n\tPERF_SAMPLE_PHYS_ADDR = 524288,\n\tPERF_SAMPLE_AUX = 1048576,\n\tPERF_SAMPLE_CGROUP = 2097152,\n\tPERF_SAMPLE_DATA_PAGE_SIZE = 4194304,\n\tPERF_SAMPLE_CODE_PAGE_SIZE = 8388608,\n\tPERF_SAMPLE_WEIGHT_STRUCT = 16777216,\n\tPERF_SAMPLE_MAX = 33554432,\n};\n\nenum perf_event_state {\n\tPERF_EVENT_STATE_DEAD = -4,\n\tPERF_EVENT_STATE_EXIT = -3,\n\tPERF_EVENT_STATE_ERROR = -2,\n\tPERF_EVENT_STATE_OFF = -1,\n\tPERF_EVENT_STATE_INACTIVE = 0,\n\tPERF_EVENT_STATE_ACTIVE = 1,\n};\n\nenum perf_event_task_context {\n\tperf_invalid_context = -1,\n\tperf_hw_context = 0,\n\tperf_sw_context = 1,\n\tperf_nr_task_contexts = 2,\n};\n\nenum perf_event_type {\n\tPERF_RECORD_MMAP = 1,\n\tPERF_RECORD_LOST = 2,\n\tPERF_RECORD_COMM = 3,\n\tPERF_RECORD_EXIT = 4,\n\tPERF_RECORD_THROTTLE = 5,\n\tPERF_RECORD_UNTHROTTLE = 6,\n\tPERF_RECORD_FORK = 7,\n\tPERF_RECORD_READ = 8,\n\tPERF_RECORD_SAMPLE = 9,\n\tPERF_RECORD_MMAP2 = 10,\n\tPERF_RECORD_AUX = 11,\n\tPERF_RECORD_ITRACE_START = 12,\n\tPERF_RECORD_LOST_SAMPLES = 13,\n\tPERF_RECORD_SWITCH = 14,\n\tPERF_RECORD_SWITCH_CPU_WIDE = 15,\n\tPERF_RECORD_NAMESPACES = 16,\n\tPERF_RECORD_KSYMBOL = 17,\n\tPERF_RECORD_BPF_EVENT = 18,\n\tPERF_RECORD_CGROUP = 19,\n\tPERF_RECORD_TEXT_POKE = 20,\n\tPERF_RECORD_AUX_OUTPUT_HW_ID = 21,\n\tPERF_RECORD_MAX = 22,\n};\n\nenum perf_hw_cache_id {\n\tPERF_COUNT_HW_CACHE_L1D = 0,\n\tPERF_COUNT_HW_CACHE_L1I = 1,\n\tPERF_COUNT_HW_CACHE_LL = 2,\n\tPERF_COUNT_HW_CACHE_DTLB = 3,\n\tPERF_COUNT_HW_CACHE_ITLB = 4,\n\tPERF_COUNT_HW_CACHE_BPU = 5,\n\tPERF_COUNT_HW_CACHE_NODE = 6,\n\tPERF_COUNT_HW_CACHE_MAX = 7,\n};\n\nenum perf_hw_cache_op_id {\n\tPERF_COUNT_HW_CACHE_OP_READ = 0,\n\tPERF_COUNT_HW_CACHE_OP_WRITE = 1,\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 2,\n\tPERF_COUNT_HW_CACHE_OP_MAX = 3,\n};\n\nenum perf_hw_cache_op_result_id {\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0,\n\tPERF_COUNT_HW_CACHE_RESULT_MISS = 1,\n\tPERF_COUNT_HW_CACHE_RESULT_MAX = 2,\n};\n\nenum perf_hw_id {\n\tPERF_COUNT_HW_CPU_CYCLES = 0,\n\tPERF_COUNT_HW_INSTRUCTIONS = 1,\n\tPERF_COUNT_HW_CACHE_REFERENCES = 2,\n\tPERF_COUNT_HW_CACHE_MISSES = 3,\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4,\n\tPERF_COUNT_HW_BRANCH_MISSES = 5,\n\tPERF_COUNT_HW_BUS_CYCLES = 6,\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7,\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8,\n\tPERF_COUNT_HW_REF_CPU_CYCLES = 9,\n\tPERF_COUNT_HW_MAX = 10,\n};\n\nenum perf_pmu_scope {\n\tPERF_PMU_SCOPE_NONE = 0,\n\tPERF_PMU_SCOPE_CORE = 1,\n\tPERF_PMU_SCOPE_DIE = 2,\n\tPERF_PMU_SCOPE_CLUSTER = 3,\n\tPERF_PMU_SCOPE_PKG = 4,\n\tPERF_PMU_SCOPE_SYS_WIDE = 5,\n\tPERF_PMU_MAX_SCOPE = 6,\n};\n\nenum perf_probe_config {\n\tPERF_PROBE_CONFIG_IS_RETPROBE = 1,\n\tPERF_UPROBE_REF_CTR_OFFSET_BITS = 32,\n\tPERF_UPROBE_REF_CTR_OFFSET_SHIFT = 32,\n};\n\nenum perf_record_ksymbol_type {\n\tPERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0,\n\tPERF_RECORD_KSYMBOL_TYPE_BPF = 1,\n\tPERF_RECORD_KSYMBOL_TYPE_OOL = 2,\n\tPERF_RECORD_KSYMBOL_TYPE_MAX = 3,\n};\n\nenum perf_sample_regs_abi {\n\tPERF_SAMPLE_REGS_ABI_NONE = 0,\n\tPERF_SAMPLE_REGS_ABI_32 = 1,\n\tPERF_SAMPLE_REGS_ABI_64 = 2,\n};\n\nenum perf_sw_ids {\n\tPERF_COUNT_SW_CPU_CLOCK = 0,\n\tPERF_COUNT_SW_TASK_CLOCK = 1,\n\tPERF_COUNT_SW_PAGE_FAULTS = 2,\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 3,\n\tPERF_COUNT_SW_CPU_MIGRATIONS = 4,\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN = 5,\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 7,\n\tPERF_COUNT_SW_EMULATION_FAULTS = 8,\n\tPERF_COUNT_SW_DUMMY = 9,\n\tPERF_COUNT_SW_BPF_OUTPUT = 10,\n\tPERF_COUNT_SW_CGROUP_SWITCHES = 11,\n\tPERF_COUNT_SW_MAX = 12,\n};\n\nenum perf_type_id {\n\tPERF_TYPE_HARDWARE = 0,\n\tPERF_TYPE_SOFTWARE = 1,\n\tPERF_TYPE_TRACEPOINT = 2,\n\tPERF_TYPE_HW_CACHE = 3,\n\tPERF_TYPE_RAW = 4,\n\tPERF_TYPE_BREAKPOINT = 5,\n\tPERF_TYPE_MAX = 6,\n};\n\nenum pgdat_flags {\n\tPGDAT_DIRTY = 0,\n\tPGDAT_WRITEBACK = 1,\n\tPGDAT_RECLAIM_LOCKED = 2,\n};\n\nenum pgt_entry {\n\tNORMAL_PMD = 0,\n\tHPAGE_PMD = 1,\n\tNORMAL_PUD = 2,\n\tHPAGE_PUD = 3,\n};\n\nenum phy_media {\n\tPHY_MEDIA_DEFAULT = 0,\n\tPHY_MEDIA_SR = 1,\n\tPHY_MEDIA_DAC = 2,\n};\n\nenum phy_mode {\n\tPHY_MODE_INVALID = 0,\n\tPHY_MODE_USB_HOST = 1,\n\tPHY_MODE_USB_HOST_LS = 2,\n\tPHY_MODE_USB_HOST_FS = 3,\n\tPHY_MODE_USB_HOST_HS = 4,\n\tPHY_MODE_USB_HOST_SS = 5,\n\tPHY_MODE_USB_DEVICE = 6,\n\tPHY_MODE_USB_DEVICE_LS = 7,\n\tPHY_MODE_USB_DEVICE_FS = 8,\n\tPHY_MODE_USB_DEVICE_HS = 9,\n\tPHY_MODE_USB_DEVICE_SS = 10,\n\tPHY_MODE_USB_OTG = 11,\n\tPHY_MODE_UFS_HS_A = 12,\n\tPHY_MODE_UFS_HS_B = 13,\n\tPHY_MODE_PCIE = 14,\n\tPHY_MODE_ETHERNET = 15,\n\tPHY_MODE_MIPI_DPHY = 16,\n\tPHY_MODE_SATA = 17,\n\tPHY_MODE_LVDS = 18,\n\tPHY_MODE_DP = 19,\n};\n\nenum phy_state {\n\tPHY_DOWN = 0,\n\tPHY_READY = 1,\n\tPHY_HALTED = 2,\n\tPHY_ERROR = 3,\n\tPHY_UP = 4,\n\tPHY_RUNNING = 5,\n\tPHY_NOLINK = 6,\n\tPHY_CABLETEST = 7,\n};\n\nenum phy_state_work {\n\tPHY_STATE_WORK_NONE = 0,\n\tPHY_STATE_WORK_ANEG = 1,\n\tPHY_STATE_WORK_SUSPEND = 2,\n};\n\nenum phy_tunable_id {\n\tETHTOOL_PHY_ID_UNSPEC = 0,\n\tETHTOOL_PHY_DOWNSHIFT = 1,\n\tETHTOOL_PHY_FAST_LINK_DOWN = 2,\n\tETHTOOL_PHY_EDPD = 3,\n\t__ETHTOOL_PHY_TUNABLE_COUNT = 4,\n};\n\nenum phy_upstream {\n\tPHY_UPSTREAM_MAC = 0,\n\tPHY_UPSTREAM_PHY = 1,\n};\n\nenum phylink_op_type {\n\tPHYLINK_NETDEV = 0,\n\tPHYLINK_DEV = 1,\n};\n\nenum pid_type {\n\tPIDTYPE_PID = 0,\n\tPIDTYPE_TGID = 1,\n\tPIDTYPE_PGID = 2,\n\tPIDTYPE_SID = 3,\n\tPIDTYPE_MAX = 4,\n};\n\nenum pidcg_event {\n\tPIDCG_MAX = 0,\n\tPIDCG_FORKFAIL = 1,\n\tNR_PIDCG_EVENTS = 2,\n};\n\nenum pin_config_param {\n\tPIN_CONFIG_BIAS_BUS_HOLD = 0,\n\tPIN_CONFIG_BIAS_DISABLE = 1,\n\tPIN_CONFIG_BIAS_HIGH_IMPEDANCE = 2,\n\tPIN_CONFIG_BIAS_PULL_DOWN = 3,\n\tPIN_CONFIG_BIAS_PULL_PIN_DEFAULT = 4,\n\tPIN_CONFIG_BIAS_PULL_UP = 5,\n\tPIN_CONFIG_DRIVE_OPEN_DRAIN = 6,\n\tPIN_CONFIG_DRIVE_OPEN_SOURCE = 7,\n\tPIN_CONFIG_DRIVE_PUSH_PULL = 8,\n\tPIN_CONFIG_DRIVE_STRENGTH = 9,\n\tPIN_CONFIG_DRIVE_STRENGTH_UA = 10,\n\tPIN_CONFIG_INPUT_DEBOUNCE = 11,\n\tPIN_CONFIG_INPUT_ENABLE = 12,\n\tPIN_CONFIG_INPUT_SCHMITT = 13,\n\tPIN_CONFIG_INPUT_SCHMITT_ENABLE = 14,\n\tPIN_CONFIG_INPUT_SCHMITT_UV = 15,\n\tPIN_CONFIG_MODE_LOW_POWER = 16,\n\tPIN_CONFIG_MODE_PWM = 17,\n\tPIN_CONFIG_OUTPUT = 18,\n\tPIN_CONFIG_OUTPUT_ENABLE = 19,\n\tPIN_CONFIG_OUTPUT_IMPEDANCE_OHMS = 20,\n\tPIN_CONFIG_PERSIST_STATE = 21,\n\tPIN_CONFIG_POWER_SOURCE = 22,\n\tPIN_CONFIG_SKEW_DELAY = 23,\n\tPIN_CONFIG_SLEEP_HARDWARE_STATE = 24,\n\tPIN_CONFIG_SLEW_RATE = 25,\n\tPIN_CONFIG_END = 127,\n\tPIN_CONFIG_MAX = 255,\n};\n\nenum pinctrl_map_type {\n\tPIN_MAP_TYPE_INVALID = 0,\n\tPIN_MAP_TYPE_DUMMY_STATE = 1,\n\tPIN_MAP_TYPE_MUX_GROUP = 2,\n\tPIN_MAP_TYPE_CONFIGS_PIN = 3,\n\tPIN_MAP_TYPE_CONFIGS_GROUP = 4,\n};\n\nenum pkt_hash_types {\n\tPKT_HASH_TYPE_NONE = 0,\n\tPKT_HASH_TYPE_L2 = 1,\n\tPKT_HASH_TYPE_L3 = 2,\n\tPKT_HASH_TYPE_L4 = 3,\n};\n\nenum plda_int_event {\n\tPLDA_AXI_POST_ERR = 0,\n\tPLDA_AXI_FETCH_ERR = 1,\n\tPLDA_AXI_DISCARD_ERR = 2,\n\tPLDA_AXI_DOORBELL = 3,\n\tPLDA_PCIE_POST_ERR = 4,\n\tPLDA_PCIE_FETCH_ERR = 5,\n\tPLDA_PCIE_DISCARD_ERR = 6,\n\tPLDA_PCIE_DOORBELL = 7,\n\tPLDA_INTX = 8,\n\tPLDA_MSI = 9,\n\tPLDA_AER_EVENT = 10,\n\tPLDA_MISC_EVENTS = 11,\n\tPLDA_SYS_ERR = 12,\n\tPLDA_INT_EVENT_NUM = 13,\n};\n\nenum pm_api_id {\n\tPM_API_FEATURES = 0,\n\tPM_GET_API_VERSION = 1,\n\tPM_REGISTER_NOTIFIER = 5,\n\tPM_FORCE_POWERDOWN = 8,\n\tPM_REQUEST_WAKEUP = 10,\n\tPM_SYSTEM_SHUTDOWN = 12,\n\tPM_REQUEST_NODE = 13,\n\tPM_RELEASE_NODE = 14,\n\tPM_SET_REQUIREMENT = 15,\n\tPM_RESET_ASSERT = 17,\n\tPM_RESET_GET_STATUS = 18,\n\tPM_MMIO_WRITE = 19,\n\tPM_MMIO_READ = 20,\n\tPM_PM_INIT_FINALIZE = 21,\n\tPM_FPGA_LOAD = 22,\n\tPM_FPGA_GET_STATUS = 23,\n\tPM_GET_CHIPID = 24,\n\tPM_SECURE_SHA = 26,\n\tPM_PINCTRL_REQUEST = 28,\n\tPM_PINCTRL_RELEASE = 29,\n\tPM_PINCTRL_SET_FUNCTION = 31,\n\tPM_PINCTRL_CONFIG_PARAM_GET = 32,\n\tPM_PINCTRL_CONFIG_PARAM_SET = 33,\n\tPM_IOCTL = 34,\n\tPM_QUERY_DATA = 35,\n\tPM_CLOCK_ENABLE = 36,\n\tPM_CLOCK_DISABLE = 37,\n\tPM_CLOCK_GETSTATE = 38,\n\tPM_CLOCK_SETDIVIDER = 39,\n\tPM_CLOCK_GETDIVIDER = 40,\n\tPM_CLOCK_SETPARENT = 43,\n\tPM_CLOCK_GETPARENT = 44,\n\tPM_FPGA_READ = 46,\n\tPM_SECURE_AES = 47,\n\tPM_EFUSE_ACCESS = 53,\n\tPM_FEATURE_CHECK = 63,\n};\n\nenum pm_gem_config_type {\n\tGEM_CONFIG_SGMII_MODE = 1,\n\tGEM_CONFIG_FIXED = 2,\n};\n\nenum pm_ioctl_id {\n\tIOCTL_GET_RPU_OPER_MODE = 0,\n\tIOCTL_SET_RPU_OPER_MODE = 1,\n\tIOCTL_RPU_BOOT_ADDR_CONFIG = 2,\n\tIOCTL_TCM_COMB_CONFIG = 3,\n\tIOCTL_SET_TAPDELAY_BYPASS = 4,\n\tIOCTL_SD_DLL_RESET = 6,\n\tIOCTL_SET_SD_TAPDELAY = 7,\n\tIOCTL_SET_PLL_FRAC_MODE = 8,\n\tIOCTL_GET_PLL_FRAC_MODE = 9,\n\tIOCTL_SET_PLL_FRAC_DATA = 10,\n\tIOCTL_GET_PLL_FRAC_DATA = 11,\n\tIOCTL_WRITE_GGS = 12,\n\tIOCTL_READ_GGS = 13,\n\tIOCTL_WRITE_PGGS = 14,\n\tIOCTL_READ_PGGS = 15,\n\tIOCTL_SET_BOOT_HEALTH_STATUS = 17,\n\tIOCTL_OSPI_MUX_SELECT = 21,\n\tIOCTL_REGISTER_SGI = 25,\n\tIOCTL_SET_FEATURE_CONFIG = 26,\n\tIOCTL_GET_FEATURE_CONFIG = 27,\n\tIOCTL_READ_REG = 28,\n\tIOCTL_SET_SD_CONFIG = 30,\n\tIOCTL_SET_GEM_CONFIG = 31,\n\tIOCTL_GET_QOS = 34,\n};\n\nenum pm_qos_flags_status {\n\tPM_QOS_FLAGS_UNDEFINED = -1,\n\tPM_QOS_FLAGS_NONE = 0,\n\tPM_QOS_FLAGS_SOME = 1,\n\tPM_QOS_FLAGS_ALL = 2,\n};\n\nenum pm_qos_req_action {\n\tPM_QOS_ADD_REQ = 0,\n\tPM_QOS_UPDATE_REQ = 1,\n\tPM_QOS_REMOVE_REQ = 2,\n};\n\nenum pm_qos_type {\n\tPM_QOS_UNITIALIZED = 0,\n\tPM_QOS_MAX = 1,\n\tPM_QOS_MIN = 2,\n};\n\nenum pnfs_iomode {\n\tIOMODE_READ = 1,\n\tIOMODE_RW = 2,\n\tIOMODE_ANY = 3,\n};\n\nenum pnfs_layout_destroy_mode {\n\tPNFS_LAYOUT_INVALIDATE = 0,\n\tPNFS_LAYOUT_BULK_RETURN = 1,\n\tPNFS_LAYOUT_FILE_BULK_RETURN = 2,\n};\n\nenum pnfs_layoutreturn_type {\n\tRETURN_FILE = 1,\n\tRETURN_FSID = 2,\n\tRETURN_ALL = 3,\n};\n\nenum pnfs_layouttype {\n\tLAYOUT_NFSV4_1_FILES = 1,\n\tLAYOUT_OSD2_OBJECTS = 2,\n\tLAYOUT_BLOCK_VOLUME = 3,\n\tLAYOUT_FLEX_FILES = 4,\n\tLAYOUT_SCSI = 5,\n\tLAYOUT_TYPE_MAX = 6,\n};\n\nenum pnfs_notify_deviceid_type4 {\n\tNOTIFY_DEVICEID4_CHANGE = 2,\n\tNOTIFY_DEVICEID4_DELETE = 4,\n};\n\nenum pnfs_try_status {\n\tPNFS_ATTEMPTED = 0,\n\tPNFS_NOT_ATTEMPTED = 1,\n\tPNFS_TRY_AGAIN = 2,\n};\n\nenum pnfs_update_layout_reason {\n\tPNFS_UPDATE_LAYOUT_UNKNOWN = 0,\n\tPNFS_UPDATE_LAYOUT_NO_PNFS = 1,\n\tPNFS_UPDATE_LAYOUT_RD_ZEROLEN = 2,\n\tPNFS_UPDATE_LAYOUT_MDSTHRESH = 3,\n\tPNFS_UPDATE_LAYOUT_NOMEM = 4,\n\tPNFS_UPDATE_LAYOUT_BULK_RECALL = 5,\n\tPNFS_UPDATE_LAYOUT_IO_TEST_FAIL = 6,\n\tPNFS_UPDATE_LAYOUT_FOUND_CACHED = 7,\n\tPNFS_UPDATE_LAYOUT_RETURN = 8,\n\tPNFS_UPDATE_LAYOUT_RETRY = 9,\n\tPNFS_UPDATE_LAYOUT_BLOCKED = 10,\n\tPNFS_UPDATE_LAYOUT_INVALID_OPEN = 11,\n\tPNFS_UPDATE_LAYOUT_SEND_LAYOUTGET = 12,\n\tPNFS_UPDATE_LAYOUT_EXIT = 13,\n};\n\nenum poll_time_type {\n\tPT_TIMEVAL = 0,\n\tPT_OLD_TIMEVAL = 1,\n\tPT_TIMESPEC = 2,\n\tPT_OLD_TIMESPEC = 3,\n};\n\nenum pool_workqueue_stats {\n\tPWQ_STAT_STARTED = 0,\n\tPWQ_STAT_COMPLETED = 1,\n\tPWQ_STAT_CPU_TIME = 2,\n\tPWQ_STAT_CPU_INTENSIVE = 3,\n\tPWQ_STAT_CM_WAKEUP = 4,\n\tPWQ_STAT_REPATRIATED = 5,\n\tPWQ_STAT_MAYDAY = 6,\n\tPWQ_STAT_RESCUED = 7,\n\tPWQ_NR_STATS = 8,\n};\n\nenum positive_aop_returns {\n\tAOP_WRITEPAGE_ACTIVATE = 524288,\n\tAOP_TRUNCATED_PAGE = 524289,\n};\n\nenum posix_timer_state {\n\tPOSIX_TIMER_DISARMED = 0,\n\tPOSIX_TIMER_ARMED = 1,\n\tPOSIX_TIMER_REQUEUE_PENDING = 2,\n};\n\nenum power_supply_charge_behaviour {\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_AUTO = 0,\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE = 1,\n\tPOWER_SUPPLY_CHARGE_BEHAVIOUR_FORCE_DISCHARGE = 2,\n};\n\nenum power_supply_charge_type {\n\tPOWER_SUPPLY_CHARGE_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_CHARGE_TYPE_NONE = 1,\n\tPOWER_SUPPLY_CHARGE_TYPE_TRICKLE = 2,\n\tPOWER_SUPPLY_CHARGE_TYPE_FAST = 3,\n\tPOWER_SUPPLY_CHARGE_TYPE_STANDARD = 4,\n\tPOWER_SUPPLY_CHARGE_TYPE_ADAPTIVE = 5,\n\tPOWER_SUPPLY_CHARGE_TYPE_CUSTOM = 6,\n\tPOWER_SUPPLY_CHARGE_TYPE_LONGLIFE = 7,\n\tPOWER_SUPPLY_CHARGE_TYPE_BYPASS = 8,\n};\n\nenum power_supply_notifier_events {\n\tPSY_EVENT_PROP_CHANGED = 0,\n};\n\nenum power_supply_property {\n\tPOWER_SUPPLY_PROP_STATUS = 0,\n\tPOWER_SUPPLY_PROP_CHARGE_TYPE = 1,\n\tPOWER_SUPPLY_PROP_CHARGE_TYPES = 2,\n\tPOWER_SUPPLY_PROP_HEALTH = 3,\n\tPOWER_SUPPLY_PROP_PRESENT = 4,\n\tPOWER_SUPPLY_PROP_ONLINE = 5,\n\tPOWER_SUPPLY_PROP_AUTHENTIC = 6,\n\tPOWER_SUPPLY_PROP_TECHNOLOGY = 7,\n\tPOWER_SUPPLY_PROP_CYCLE_COUNT = 8,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MAX = 9,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MIN = 10,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN = 11,\n\tPOWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN = 12,\n\tPOWER_SUPPLY_PROP_VOLTAGE_NOW = 13,\n\tPOWER_SUPPLY_PROP_VOLTAGE_AVG = 14,\n\tPOWER_SUPPLY_PROP_VOLTAGE_OCV = 15,\n\tPOWER_SUPPLY_PROP_VOLTAGE_BOOT = 16,\n\tPOWER_SUPPLY_PROP_CURRENT_MAX = 17,\n\tPOWER_SUPPLY_PROP_CURRENT_NOW = 18,\n\tPOWER_SUPPLY_PROP_CURRENT_AVG = 19,\n\tPOWER_SUPPLY_PROP_CURRENT_BOOT = 20,\n\tPOWER_SUPPLY_PROP_POWER_NOW = 21,\n\tPOWER_SUPPLY_PROP_POWER_AVG = 22,\n\tPOWER_SUPPLY_PROP_CHARGE_FULL_DESIGN = 23,\n\tPOWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN = 24,\n\tPOWER_SUPPLY_PROP_CHARGE_FULL = 25,\n\tPOWER_SUPPLY_PROP_CHARGE_EMPTY = 26,\n\tPOWER_SUPPLY_PROP_CHARGE_NOW = 27,\n\tPOWER_SUPPLY_PROP_CHARGE_AVG = 28,\n\tPOWER_SUPPLY_PROP_CHARGE_COUNTER = 29,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT = 30,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX = 31,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE = 32,\n\tPOWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX = 33,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT = 34,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX = 35,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD = 36,\n\tPOWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD = 37,\n\tPOWER_SUPPLY_PROP_CHARGE_BEHAVIOUR = 38,\n\tPOWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT = 39,\n\tPOWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT = 40,\n\tPOWER_SUPPLY_PROP_INPUT_POWER_LIMIT = 41,\n\tPOWER_SUPPLY_PROP_ENERGY_FULL_DESIGN = 42,\n\tPOWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN = 43,\n\tPOWER_SUPPLY_PROP_ENERGY_FULL = 44,\n\tPOWER_SUPPLY_PROP_ENERGY_EMPTY = 45,\n\tPOWER_SUPPLY_PROP_ENERGY_NOW = 46,\n\tPOWER_SUPPLY_PROP_ENERGY_AVG = 47,\n\tPOWER_SUPPLY_PROP_CAPACITY = 48,\n\tPOWER_SUPPLY_PROP_CAPACITY_ALERT_MIN = 49,\n\tPOWER_SUPPLY_PROP_CAPACITY_ALERT_MAX = 50,\n\tPOWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN = 51,\n\tPOWER_SUPPLY_PROP_CAPACITY_LEVEL = 52,\n\tPOWER_SUPPLY_PROP_TEMP = 53,\n\tPOWER_SUPPLY_PROP_TEMP_MAX = 54,\n\tPOWER_SUPPLY_PROP_TEMP_MIN = 55,\n\tPOWER_SUPPLY_PROP_TEMP_ALERT_MIN = 56,\n\tPOWER_SUPPLY_PROP_TEMP_ALERT_MAX = 57,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT = 58,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN = 59,\n\tPOWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX = 60,\n\tPOWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW = 61,\n\tPOWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG = 62,\n\tPOWER_SUPPLY_PROP_TIME_TO_FULL_NOW = 63,\n\tPOWER_SUPPLY_PROP_TIME_TO_FULL_AVG = 64,\n\tPOWER_SUPPLY_PROP_TYPE = 65,\n\tPOWER_SUPPLY_PROP_USB_TYPE = 66,\n\tPOWER_SUPPLY_PROP_SCOPE = 67,\n\tPOWER_SUPPLY_PROP_PRECHARGE_CURRENT = 68,\n\tPOWER_SUPPLY_PROP_CHARGE_TERM_CURRENT = 69,\n\tPOWER_SUPPLY_PROP_CALIBRATE = 70,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_YEAR = 71,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_MONTH = 72,\n\tPOWER_SUPPLY_PROP_MANUFACTURE_DAY = 73,\n\tPOWER_SUPPLY_PROP_MODEL_NAME = 74,\n\tPOWER_SUPPLY_PROP_MANUFACTURER = 75,\n\tPOWER_SUPPLY_PROP_SERIAL_NUMBER = 76,\n};\n\nenum power_supply_type {\n\tPOWER_SUPPLY_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_TYPE_BATTERY = 1,\n\tPOWER_SUPPLY_TYPE_UPS = 2,\n\tPOWER_SUPPLY_TYPE_MAINS = 3,\n\tPOWER_SUPPLY_TYPE_USB = 4,\n\tPOWER_SUPPLY_TYPE_USB_DCP = 5,\n\tPOWER_SUPPLY_TYPE_USB_CDP = 6,\n\tPOWER_SUPPLY_TYPE_USB_ACA = 7,\n\tPOWER_SUPPLY_TYPE_USB_TYPE_C = 8,\n\tPOWER_SUPPLY_TYPE_USB_PD = 9,\n\tPOWER_SUPPLY_TYPE_USB_PD_DRP = 10,\n\tPOWER_SUPPLY_TYPE_APPLE_BRICK_ID = 11,\n\tPOWER_SUPPLY_TYPE_WIRELESS = 12,\n};\n\nenum power_supply_usb_type {\n\tPOWER_SUPPLY_USB_TYPE_UNKNOWN = 0,\n\tPOWER_SUPPLY_USB_TYPE_SDP = 1,\n\tPOWER_SUPPLY_USB_TYPE_DCP = 2,\n\tPOWER_SUPPLY_USB_TYPE_CDP = 3,\n\tPOWER_SUPPLY_USB_TYPE_ACA = 4,\n\tPOWER_SUPPLY_USB_TYPE_C = 5,\n\tPOWER_SUPPLY_USB_TYPE_PD = 6,\n\tPOWER_SUPPLY_USB_TYPE_PD_DRP = 7,\n\tPOWER_SUPPLY_USB_TYPE_PD_PPS = 8,\n\tPOWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID = 9,\n};\n\nenum pr_status {\n\tPR_STS_SUCCESS = 0,\n\tPR_STS_IOERR = 2,\n\tPR_STS_RESERVATION_CONFLICT = 24,\n\tPR_STS_RETRY_PATH_FAILURE = 917504,\n\tPR_STS_PATH_FAST_FAILED = 983040,\n\tPR_STS_PATH_FAILED = 65536,\n};\n\nenum pr_type {\n\tPR_WRITE_EXCLUSIVE = 1,\n\tPR_EXCLUSIVE_ACCESS = 2,\n\tPR_WRITE_EXCLUSIVE_REG_ONLY = 3,\n\tPR_EXCLUSIVE_ACCESS_REG_ONLY = 4,\n\tPR_WRITE_EXCLUSIVE_ALL_REGS = 5,\n\tPR_EXCLUSIVE_ACCESS_ALL_REGS = 6,\n};\n\nenum prep_dispatch {\n\tPREP_DISPATCH_OK = 0,\n\tPREP_DISPATCH_NO_TAG = 1,\n\tPREP_DISPATCH_NO_BUDGET = 2,\n};\n\nenum print_line_t {\n\tTRACE_TYPE_PARTIAL_LINE = 0,\n\tTRACE_TYPE_HANDLED = 1,\n\tTRACE_TYPE_UNHANDLED = 2,\n\tTRACE_TYPE_NO_CONSUME = 3,\n};\n\nenum printk_info_flags {\n\tLOG_FORCE_CON = 1,\n\tLOG_NEWLINE = 2,\n\tLOG_CONT = 8,\n};\n\nenum priv_stack_mode {\n\tPRIV_STACK_UNKNOWN = 0,\n\tNO_PRIV_STACK = 1,\n\tPRIV_STACK_ADAPTIVE = 2,\n};\n\nenum probe_insn {\n\tINSN_REJECTED = 0,\n\tINSN_GOOD_NO_SLOT = 1,\n\tINSN_GOOD = 2,\n};\n\nenum probe_print_type {\n\tPROBE_PRINT_NORMAL = 0,\n\tPROBE_PRINT_RETURN = 1,\n\tPROBE_PRINT_EVENT = 2,\n};\n\nenum probe_type {\n\tPROBE_DEFAULT_STRATEGY = 0,\n\tPROBE_PREFER_ASYNCHRONOUS = 1,\n\tPROBE_FORCE_SYNCHRONOUS = 2,\n};\n\nenum proc_cn_event {\n\tPROC_EVENT_NONE = 0,\n\tPROC_EVENT_FORK = 1,\n\tPROC_EVENT_EXEC = 2,\n\tPROC_EVENT_UID = 4,\n\tPROC_EVENT_GID = 64,\n\tPROC_EVENT_SID = 128,\n\tPROC_EVENT_PTRACE = 256,\n\tPROC_EVENT_COMM = 512,\n\tPROC_EVENT_NONZERO_EXIT = 536870912,\n\tPROC_EVENT_COREDUMP = 1073741824,\n\tPROC_EVENT_EXIT = 2147483648,\n};\n\nenum proc_hidepid {\n\tHIDEPID_OFF = 0,\n\tHIDEPID_NO_ACCESS = 1,\n\tHIDEPID_INVISIBLE = 2,\n\tHIDEPID_NOT_PTRACEABLE = 4,\n};\n\nenum proc_mem_force {\n\tPROC_MEM_FORCE_ALWAYS = 0,\n\tPROC_MEM_FORCE_PTRACE = 1,\n\tPROC_MEM_FORCE_NEVER = 2,\n};\n\nenum proc_param {\n\tOpt_gid___8 = 0,\n\tOpt_hidepid = 1,\n\tOpt_subset = 2,\n};\n\nenum proc_pidonly {\n\tPROC_PIDONLY_OFF = 0,\n\tPROC_PIDONLY_ON = 1,\n};\n\nenum procmap_query_flags {\n\tPROCMAP_QUERY_VMA_READABLE = 1,\n\tPROCMAP_QUERY_VMA_WRITABLE = 2,\n\tPROCMAP_QUERY_VMA_EXECUTABLE = 4,\n\tPROCMAP_QUERY_VMA_SHARED = 8,\n\tPROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16,\n\tPROCMAP_QUERY_FILE_BACKED_VMA = 32,\n};\n\nenum profile_mode {\n\tAPPARMOR_ENFORCE = 0,\n\tAPPARMOR_COMPLAIN = 1,\n\tAPPARMOR_KILL = 2,\n\tAPPARMOR_UNCONFINED = 3,\n\tAPPARMOR_USER = 4,\n};\n\nenum prs_errcode {\n\tPERR_NONE = 0,\n\tPERR_INVCPUS = 1,\n\tPERR_INVPARENT = 2,\n\tPERR_NOTPART = 3,\n\tPERR_NOTEXCL = 4,\n\tPERR_NOCPUS = 5,\n\tPERR_HOTPLUG = 6,\n\tPERR_CPUSEMPTY = 7,\n\tPERR_HKEEPING = 8,\n\tPERR_ACCESS = 9,\n};\n\nenum ps2_disposition {\n\tPS2_PROCESS = 0,\n\tPS2_IGNORE = 1,\n\tPS2_ERROR = 2,\n};\n\nenum psmouse_scale {\n\tPSMOUSE_SCALE11 = 0,\n\tPSMOUSE_SCALE21 = 1,\n};\n\nenum psmouse_state {\n\tPSMOUSE_IGNORE = 0,\n\tPSMOUSE_INITIALIZING = 1,\n\tPSMOUSE_RESYNCING = 2,\n\tPSMOUSE_CMD_MODE = 3,\n\tPSMOUSE_ACTIVATED = 4,\n};\n\nenum psmouse_type {\n\tPSMOUSE_NONE = 0,\n\tPSMOUSE_PS2 = 1,\n\tPSMOUSE_PS2PP = 2,\n\tPSMOUSE_THINKPS = 3,\n\tPSMOUSE_GENPS = 4,\n\tPSMOUSE_IMPS = 5,\n\tPSMOUSE_IMEX = 6,\n\tPSMOUSE_SYNAPTICS = 7,\n\tPSMOUSE_ALPS = 8,\n\tPSMOUSE_LIFEBOOK = 9,\n\tPSMOUSE_TRACKPOINT = 10,\n\tPSMOUSE_TOUCHKIT_PS2 = 11,\n\tPSMOUSE_CORTRON = 12,\n\tPSMOUSE_HGPK = 13,\n\tPSMOUSE_ELANTECH = 14,\n\tPSMOUSE_FSP = 15,\n\tPSMOUSE_SYNAPTICS_RELATIVE = 16,\n\tPSMOUSE_CYPRESS = 17,\n\tPSMOUSE_FOCALTECH = 18,\n\tPSMOUSE_VMMOUSE = 19,\n\tPSMOUSE_BYD = 20,\n\tPSMOUSE_SYNAPTICS_SMBUS = 21,\n\tPSMOUSE_ELANTECH_SMBUS = 22,\n\tPSMOUSE_AUTO = 23,\n};\n\nenum ptp_clock_events {\n\tPTP_CLOCK_ALARM = 0,\n\tPTP_CLOCK_EXTTS = 1,\n\tPTP_CLOCK_EXTOFF = 2,\n\tPTP_CLOCK_PPS = 3,\n\tPTP_CLOCK_PPSUSR = 4,\n};\n\nenum ptp_pin_function {\n\tPTP_PF_NONE = 0,\n\tPTP_PF_EXTTS = 1,\n\tPTP_PF_PEROUT = 2,\n\tPTP_PF_PHYSYNC = 3,\n};\n\nenum qdisc_class_ops_flags {\n\tQDISC_CLASS_OPS_DOIT_UNLOCKED = 1,\n};\n\nenum qdisc_state2_t {\n\t__QDISC_STATE2_RUNNING = 0,\n};\n\nenum qdisc_state_t {\n\t__QDISC_STATE_SCHED = 0,\n\t__QDISC_STATE_DEACTIVATED = 1,\n\t__QDISC_STATE_MISSED = 2,\n\t__QDISC_STATE_DRAINING = 3,\n};\n\nenum quota_type {\n\tUSRQUOTA = 0,\n\tGRPQUOTA = 1,\n\tPRJQUOTA = 2,\n};\n\nenum ramfs_param {\n\tOpt_mode___6 = 0,\n};\n\nenum reboot_mode {\n\tREBOOT_UNDEFINED = -1,\n\tREBOOT_COLD = 0,\n\tREBOOT_WARM = 1,\n\tREBOOT_HARD = 2,\n\tREBOOT_SOFT = 3,\n\tREBOOT_GPIO = 4,\n};\n\nenum reboot_type {\n\tBOOT_TRIPLE = 116,\n\tBOOT_KBD = 107,\n\tBOOT_BIOS = 98,\n\tBOOT_ACPI = 97,\n\tBOOT_EFI = 101,\n\tBOOT_CF9_FORCE = 112,\n\tBOOT_CF9_SAFE = 113,\n};\n\nenum ref_state_type {\n\tREF_TYPE_PTR = 1,\n\tREF_TYPE_IRQ = 2,\n\tREF_TYPE_LOCK = 3,\n};\n\nenum refcount_saturation_type {\n\tREFCOUNT_ADD_NOT_ZERO_OVF = 0,\n\tREFCOUNT_ADD_OVF = 1,\n\tREFCOUNT_ADD_UAF = 2,\n\tREFCOUNT_SUB_UAF = 3,\n\tREFCOUNT_DEC_LEAK = 4,\n};\n\nenum reg_arg_type {\n\tSRC_OP = 0,\n\tDST_OP = 1,\n\tDST_OP_NO_MARK = 2,\n};\n\nenum regcache_type {\n\tREGCACHE_NONE = 0,\n\tREGCACHE_RBTREE = 1,\n\tREGCACHE_FLAT = 2,\n\tREGCACHE_MAPLE = 3,\n};\n\nenum regex_type {\n\tMATCH_FULL = 0,\n\tMATCH_FRONT_ONLY = 1,\n\tMATCH_MIDDLE_ONLY = 2,\n\tMATCH_END_ONLY = 3,\n\tMATCH_GLOB = 4,\n\tMATCH_INDEX = 5,\n};\n\nenum regmap_endian {\n\tREGMAP_ENDIAN_DEFAULT = 0,\n\tREGMAP_ENDIAN_BIG = 1,\n\tREGMAP_ENDIAN_LITTLE = 2,\n\tREGMAP_ENDIAN_NATIVE = 3,\n};\n\nenum regulator_active_discharge {\n\tREGULATOR_ACTIVE_DISCHARGE_DEFAULT = 0,\n\tREGULATOR_ACTIVE_DISCHARGE_DISABLE = 1,\n\tREGULATOR_ACTIVE_DISCHARGE_ENABLE = 2,\n};\n\nenum regulator_detection_severity {\n\tREGULATOR_SEVERITY_PROT = 0,\n\tREGULATOR_SEVERITY_ERR = 1,\n\tREGULATOR_SEVERITY_WARN = 2,\n};\n\nenum regulator_get_type {\n\tNORMAL_GET = 0,\n\tEXCLUSIVE_GET = 1,\n\tOPTIONAL_GET = 2,\n\tMAX_GET_TYPE = 3,\n};\n\nenum regulator_status {\n\tREGULATOR_STATUS_OFF = 0,\n\tREGULATOR_STATUS_ON = 1,\n\tREGULATOR_STATUS_ERROR = 2,\n\tREGULATOR_STATUS_FAST = 3,\n\tREGULATOR_STATUS_NORMAL = 4,\n\tREGULATOR_STATUS_IDLE = 5,\n\tREGULATOR_STATUS_STANDBY = 6,\n\tREGULATOR_STATUS_BYPASS = 7,\n\tREGULATOR_STATUS_UNDEFINED = 8,\n};\n\nenum regulator_type {\n\tREGULATOR_VOLTAGE = 0,\n\tREGULATOR_CURRENT = 1,\n};\n\nenum release_type {\n\tleaf_only = 0,\n\twhole_subtree = 1,\n};\n\nenum req_flag_bits {\n\t__REQ_FAILFAST_DEV = 8,\n\t__REQ_FAILFAST_TRANSPORT = 9,\n\t__REQ_FAILFAST_DRIVER = 10,\n\t__REQ_SYNC = 11,\n\t__REQ_META = 12,\n\t__REQ_PRIO = 13,\n\t__REQ_NOMERGE = 14,\n\t__REQ_IDLE = 15,\n\t__REQ_INTEGRITY = 16,\n\t__REQ_FUA = 17,\n\t__REQ_PREFLUSH = 18,\n\t__REQ_RAHEAD = 19,\n\t__REQ_BACKGROUND = 20,\n\t__REQ_NOWAIT = 21,\n\t__REQ_POLLED = 22,\n\t__REQ_ALLOC_CACHE = 23,\n\t__REQ_SWAP = 24,\n\t__REQ_DRV = 25,\n\t__REQ_FS_PRIVATE = 26,\n\t__REQ_ATOMIC = 27,\n\t__REQ_NOUNMAP = 28,\n\t__REQ_NR_BITS = 29,\n};\n\nenum req_op {\n\tREQ_OP_READ = 0,\n\tREQ_OP_WRITE = 1,\n\tREQ_OP_FLUSH = 2,\n\tREQ_OP_DISCARD = 3,\n\tREQ_OP_SECURE_ERASE = 5,\n\tREQ_OP_ZONE_APPEND = 7,\n\tREQ_OP_WRITE_ZEROES = 9,\n\tREQ_OP_ZONE_OPEN = 10,\n\tREQ_OP_ZONE_CLOSE = 11,\n\tREQ_OP_ZONE_FINISH = 12,\n\tREQ_OP_ZONE_RESET = 13,\n\tREQ_OP_ZONE_RESET_ALL = 15,\n\tREQ_OP_DRV_IN = 34,\n\tREQ_OP_DRV_OUT = 35,\n\tREQ_OP_LAST = 36,\n};\n\nenum resctrl_conf_type {\n\tCDP_NONE = 0,\n\tCDP_CODE = 1,\n\tCDP_DATA = 2,\n};\n\nenum reset_control_flags {\n\tRESET_CONTROL_EXCLUSIVE = 4,\n\tRESET_CONTROL_EXCLUSIVE_DEASSERTED = 12,\n\tRESET_CONTROL_EXCLUSIVE_RELEASED = 0,\n\tRESET_CONTROL_SHARED = 1,\n\tRESET_CONTROL_SHARED_DEASSERTED = 9,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE = 6,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE_DEASSERTED = 14,\n\tRESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED = 2,\n\tRESET_CONTROL_OPTIONAL_SHARED = 3,\n\tRESET_CONTROL_OPTIONAL_SHARED_DEASSERTED = 11,\n};\n\nenum resolve_mode {\n\tRESOLVE_TBD = 0,\n\tRESOLVE_PTR = 1,\n\tRESOLVE_STRUCT_OR_ARRAY = 2,\n};\n\nenum rgmii_clock_delay {\n\tRGMII_CLK_DELAY_0_2_NS = 0,\n\tRGMII_CLK_DELAY_0_8_NS = 1,\n\tRGMII_CLK_DELAY_1_1_NS = 2,\n\tRGMII_CLK_DELAY_1_7_NS = 3,\n\tRGMII_CLK_DELAY_2_0_NS = 4,\n\tRGMII_CLK_DELAY_2_3_NS = 5,\n\tRGMII_CLK_DELAY_2_6_NS = 6,\n\tRGMII_CLK_DELAY_3_4_NS = 7,\n};\n\nenum ring_buffer_flags {\n\tRB_FL_OVERWRITE = 1,\n};\n\nenum ring_buffer_type {\n\tRINGBUF_TYPE_DATA_TYPE_LEN_MAX = 28,\n\tRINGBUF_TYPE_PADDING = 29,\n\tRINGBUF_TYPE_TIME_EXTEND = 30,\n\tRINGBUF_TYPE_TIME_STAMP = 31,\n};\n\nenum riscv_iommu_dc_fsc_atp_modes {\n\tRISCV_IOMMU_DC_FSC_MODE_BARE = 0,\n\tRISCV_IOMMU_DC_FSC_IOSATP_MODE_SV32 = 8,\n\tRISCV_IOMMU_DC_FSC_IOSATP_MODE_SV39 = 8,\n\tRISCV_IOMMU_DC_FSC_IOSATP_MODE_SV48 = 9,\n\tRISCV_IOMMU_DC_FSC_IOSATP_MODE_SV57 = 10,\n\tRISCV_IOMMU_DC_FSC_PDTP_MODE_PD8 = 1,\n\tRISCV_IOMMU_DC_FSC_PDTP_MODE_PD17 = 2,\n\tRISCV_IOMMU_DC_FSC_PDTP_MODE_PD20 = 3,\n};\n\nenum riscv_iommu_ddtp_modes {\n\tRISCV_IOMMU_DDTP_IOMMU_MODE_OFF = 0,\n\tRISCV_IOMMU_DDTP_IOMMU_MODE_BARE = 1,\n\tRISCV_IOMMU_DDTP_IOMMU_MODE_1LVL = 2,\n\tRISCV_IOMMU_DDTP_IOMMU_MODE_2LVL = 3,\n\tRISCV_IOMMU_DDTP_IOMMU_MODE_3LVL = 4,\n\tRISCV_IOMMU_DDTP_IOMMU_MODE_MAX = 4,\n};\n\nenum riscv_iommu_igs_settings {\n\tRISCV_IOMMU_CAPABILITIES_IGS_MSI = 0,\n\tRISCV_IOMMU_CAPABILITIES_IGS_WSI = 1,\n\tRISCV_IOMMU_CAPABILITIES_IGS_BOTH = 2,\n\tRISCV_IOMMU_CAPABILITIES_IGS_RSRV = 3,\n};\n\nenum riscv_irqchip_type {\n\tACPI_RISCV_IRQCHIP_INTC = 0,\n\tACPI_RISCV_IRQCHIP_IMSIC = 1,\n\tACPI_RISCV_IRQCHIP_PLIC = 2,\n\tACPI_RISCV_IRQCHIP_APLIC = 3,\n};\n\nenum riscv_regset {\n\tREGSET_X = 0,\n\tREGSET_F = 1,\n\tREGSET_V = 2,\n\tREGSET_TAGGED_ADDR_CTRL = 3,\n};\n\nenum rlimit_type {\n\tUCOUNT_RLIMIT_NPROC = 0,\n\tUCOUNT_RLIMIT_MSGQUEUE = 1,\n\tUCOUNT_RLIMIT_SIGPENDING = 2,\n\tUCOUNT_RLIMIT_MEMLOCK = 3,\n\tUCOUNT_RLIMIT_COUNTS = 4,\n};\n\nenum rmap_level {\n\tRMAP_LEVEL_PTE = 0,\n\tRMAP_LEVEL_PMD = 1,\n};\n\nenum rmi_reg_state {\n\tRMI_REG_STATE_DEFAULT = 0,\n\tRMI_REG_STATE_OFF = 1,\n\tRMI_REG_STATE_ON = 2,\n};\n\nenum rmi_sensor_type {\n\trmi_sensor_default = 0,\n\trmi_sensor_touchscreen = 1,\n\trmi_sensor_touchpad = 2,\n};\n\nenum rmp_flags {\n\tRMP_LOCKED = 1,\n\tRMP_USE_SHARED_ZEROPAGE = 2,\n};\n\nenum rp_check {\n\tRP_CHECK_CALL = 0,\n\tRP_CHECK_CHAIN_CALL = 1,\n\tRP_CHECK_RET = 2,\n};\n\nenum rpc_accept_stat {\n\tRPC_SUCCESS = 0,\n\tRPC_PROG_UNAVAIL = 1,\n\tRPC_PROG_MISMATCH = 2,\n\tRPC_PROC_UNAVAIL = 3,\n\tRPC_GARBAGE_ARGS = 4,\n\tRPC_SYSTEM_ERR = 5,\n\tRPC_DROP_REPLY = 60000,\n};\n\nenum rpc_auth_flavors {\n\tRPC_AUTH_NULL = 0,\n\tRPC_AUTH_UNIX = 1,\n\tRPC_AUTH_SHORT = 2,\n\tRPC_AUTH_DES = 3,\n\tRPC_AUTH_KRB = 4,\n\tRPC_AUTH_GSS = 6,\n\tRPC_AUTH_TLS = 7,\n\tRPC_AUTH_MAXFLAVOR = 8,\n\tRPC_AUTH_GSS_KRB5 = 390003,\n\tRPC_AUTH_GSS_KRB5I = 390004,\n\tRPC_AUTH_GSS_KRB5P = 390005,\n\tRPC_AUTH_GSS_LKEY = 390006,\n\tRPC_AUTH_GSS_LKEYI = 390007,\n\tRPC_AUTH_GSS_LKEYP = 390008,\n\tRPC_AUTH_GSS_SPKM = 390009,\n\tRPC_AUTH_GSS_SPKMI = 390010,\n\tRPC_AUTH_GSS_SPKMP = 390011,\n};\n\nenum rpc_auth_stat {\n\tRPC_AUTH_OK = 0,\n\tRPC_AUTH_BADCRED = 1,\n\tRPC_AUTH_REJECTEDCRED = 2,\n\tRPC_AUTH_BADVERF = 3,\n\tRPC_AUTH_REJECTEDVERF = 4,\n\tRPC_AUTH_TOOWEAK = 5,\n\tRPCSEC_GSS_CREDPROBLEM = 13,\n\tRPCSEC_GSS_CTXPROBLEM = 14,\n};\n\nenum rpc_display_format_t {\n\tRPC_DISPLAY_ADDR = 0,\n\tRPC_DISPLAY_PORT = 1,\n\tRPC_DISPLAY_PROTO = 2,\n\tRPC_DISPLAY_HEX_ADDR = 3,\n\tRPC_DISPLAY_HEX_PORT = 4,\n\tRPC_DISPLAY_NETID = 5,\n\tRPC_DISPLAY_MAX = 6,\n};\n\nenum rpc_gss_proc {\n\tRPC_GSS_PROC_DATA = 0,\n\tRPC_GSS_PROC_INIT = 1,\n\tRPC_GSS_PROC_CONTINUE_INIT = 2,\n\tRPC_GSS_PROC_DESTROY = 3,\n};\n\nenum rpc_gss_svc {\n\tRPC_GSS_SVC_NONE = 1,\n\tRPC_GSS_SVC_INTEGRITY = 2,\n\tRPC_GSS_SVC_PRIVACY = 3,\n};\n\nenum rpc_msg_type {\n\tRPC_CALL = 0,\n\tRPC_REPLY = 1,\n};\n\nenum rpc_reject_stat {\n\tRPC_MISMATCH = 0,\n\tRPC_AUTH_ERROR = 1,\n};\n\nenum rpc_reply_stat {\n\tRPC_MSG_ACCEPTED = 0,\n\tRPC_MSG_DENIED = 1,\n};\n\nenum rpm_request {\n\tRPM_REQ_NONE = 0,\n\tRPM_REQ_IDLE = 1,\n\tRPM_REQ_SUSPEND = 2,\n\tRPM_REQ_AUTOSUSPEND = 3,\n\tRPM_REQ_RESUME = 4,\n};\n\nenum rpm_status {\n\tRPM_INVALID = -1,\n\tRPM_ACTIVE = 0,\n\tRPM_RESUMING = 1,\n\tRPM_SUSPENDED = 2,\n\tRPM_SUSPENDING = 3,\n};\n\nenum rpmb_type {\n\tRPMB_TYPE_EMMC = 0,\n\tRPMB_TYPE_UFS = 1,\n\tRPMB_TYPE_NVME = 2,\n};\n\nenum rpmsg_ns_flags {\n\tRPMSG_NS_CREATE = 0,\n\tRPMSG_NS_DESTROY = 1,\n};\n\nenum rq_end_io_ret {\n\tRQ_END_IO_NONE = 0,\n\tRQ_END_IO_FREE = 1,\n};\n\nenum rq_qos_id {\n\tRQ_QOS_WBT = 0,\n\tRQ_QOS_LATENCY = 1,\n\tRQ_QOS_COST = 2,\n};\n\nenum rqf_flags {\n\t__RQF_STARTED = 0,\n\t__RQF_FLUSH_SEQ = 1,\n\t__RQF_MIXED_MERGE = 2,\n\t__RQF_DONTPREP = 3,\n\t__RQF_SCHED_TAGS = 4,\n\t__RQF_USE_SCHED = 5,\n\t__RQF_FAILED = 6,\n\t__RQF_QUIET = 7,\n\t__RQF_IO_STAT = 8,\n\t__RQF_PM = 9,\n\t__RQF_HASHED = 10,\n\t__RQF_STATS = 11,\n\t__RQF_SPECIAL_PAYLOAD = 12,\n\t__RQF_ZONE_WRITE_PLUGGING = 13,\n\t__RQF_TIMED_OUT = 14,\n\t__RQF_RESV = 15,\n\t__RQF_BITS = 16,\n};\n\nenum rsaprivkey_actions {\n\tACT_rsa_get_d = 0,\n\tACT_rsa_get_dp = 1,\n\tACT_rsa_get_dq = 2,\n\tACT_rsa_get_e = 3,\n\tACT_rsa_get_n = 4,\n\tACT_rsa_get_p = 5,\n\tACT_rsa_get_q = 6,\n\tACT_rsa_get_qinv = 7,\n\tNR__rsaprivkey_actions = 8,\n};\n\nenum rsapubkey_actions {\n\tACT_rsa_get_e___2 = 0,\n\tACT_rsa_get_n___2 = 1,\n\tNR__rsapubkey_actions = 2,\n};\n\nenum rseq_cpu_id_state {\n\tRSEQ_CPU_ID_UNINITIALIZED = -1,\n\tRSEQ_CPU_ID_REGISTRATION_FAILED = -2,\n};\n\nenum rseq_cs_flags {\n\tRSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = 1,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = 2,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = 4,\n};\n\nenum rseq_cs_flags_bit {\n\tRSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1,\n\tRSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2,\n};\n\nenum rseq_event_mask_bits {\n\tRSEQ_EVENT_PREEMPT_BIT = 0,\n\tRSEQ_EVENT_SIGNAL_BIT = 1,\n\tRSEQ_EVENT_MIGRATE_BIT = 2,\n};\n\nenum rseq_flags {\n\tRSEQ_FLAG_UNREGISTER = 1,\n};\n\nenum rt6_nud_state {\n\tRT6_NUD_FAIL_HARD = -3,\n\tRT6_NUD_FAIL_PROBE = -2,\n\tRT6_NUD_FAIL_DO_RR = -1,\n\tRT6_NUD_SUCCEED = 1,\n};\n\nenum rt_class_t {\n\tRT_TABLE_UNSPEC = 0,\n\tRT_TABLE_COMPAT = 252,\n\tRT_TABLE_DEFAULT = 253,\n\tRT_TABLE_MAIN = 254,\n\tRT_TABLE_LOCAL = 255,\n\tRT_TABLE_MAX = 4294967295,\n};\n\nenum rt_scope_t {\n\tRT_SCOPE_UNIVERSE = 0,\n\tRT_SCOPE_SITE = 200,\n\tRT_SCOPE_LINK = 253,\n\tRT_SCOPE_HOST = 254,\n\tRT_SCOPE_NOWHERE = 255,\n};\n\nenum rtattr_type_t {\n\tRTA_UNSPEC = 0,\n\tRTA_DST = 1,\n\tRTA_SRC = 2,\n\tRTA_IIF = 3,\n\tRTA_OIF = 4,\n\tRTA_GATEWAY = 5,\n\tRTA_PRIORITY = 6,\n\tRTA_PREFSRC = 7,\n\tRTA_METRICS = 8,\n\tRTA_MULTIPATH = 9,\n\tRTA_PROTOINFO = 10,\n\tRTA_FLOW = 11,\n\tRTA_CACHEINFO = 12,\n\tRTA_SESSION = 13,\n\tRTA_MP_ALGO = 14,\n\tRTA_TABLE = 15,\n\tRTA_MARK = 16,\n\tRTA_MFC_STATS = 17,\n\tRTA_VIA = 18,\n\tRTA_NEWDST = 19,\n\tRTA_PREF = 20,\n\tRTA_ENCAP_TYPE = 21,\n\tRTA_ENCAP = 22,\n\tRTA_EXPIRES = 23,\n\tRTA_PAD = 24,\n\tRTA_UID = 25,\n\tRTA_TTL_PROPAGATE = 26,\n\tRTA_IP_PROTO = 27,\n\tRTA_SPORT = 28,\n\tRTA_DPORT = 29,\n\tRTA_NH_ID = 30,\n\tRTA_FLOWLABEL = 31,\n\t__RTA_MAX = 32,\n};\n\nenum rtl8125_registers {\n\tLEDSEL0 = 24,\n\tINT_CFG0_8125 = 52,\n\tIntrMask_8125 = 56,\n\tIntrStatus_8125 = 60,\n\tINT_CFG1_8125 = 122,\n\tLEDSEL2 = 132,\n\tLEDSEL1 = 134,\n\tTxPoll_8125 = 144,\n\tLEDSEL3 = 150,\n\tMAC0_BKP = 6624,\n\tRSS_CTRL_8125 = 17664,\n\tQ_NUM_CTRL_8125 = 18432,\n\tEEE_TXIDLE_TIMER_8125 = 24648,\n};\n\nenum rtl8168_8101_registers {\n\tCSIDR = 100,\n\tCSIAR = 104,\n\tPMCH = 111,\n\tEPHYAR = 128,\n\tDLLPR = 208,\n\tDBG_REG = 209,\n\tTWSI = 210,\n\tMCU = 211,\n\tEFUSEAR = 220,\n\tMISC_1 = 242,\n};\n\nenum rtl8168_registers {\n\tLED_CTRL = 24,\n\tLED_FREQ = 26,\n\tEEE_LED = 27,\n\tERIDR = 112,\n\tERIAR = 116,\n\tEPHY_RXER_NUM = 124,\n\tOCPDR = 176,\n\tOCPAR = 180,\n\tGPHY_OCP = 184,\n\tRDSAR1 = 208,\n\tMISC = 240,\n};\n\nenum rtl_dash_type {\n\tRTL_DASH_NONE = 0,\n\tRTL_DASH_DP = 1,\n\tRTL_DASH_EP = 2,\n\tRTL_DASH_25_BP = 3,\n};\n\nenum rtl_desc_bit {\n\tDescOwn = -2147483648,\n\tRingEnd = 1073741824,\n\tFirstFrag = 536870912,\n\tLastFrag = 268435456,\n};\n\nenum rtl_flag {\n\tRTL_FLAG_TASK_RESET_PENDING = 0,\n\tRTL_FLAG_TASK_TX_TIMEOUT = 1,\n\tRTL_FLAG_MAX = 2,\n};\n\nenum rtl_fw_opcode {\n\tPHY_READ = 0,\n\tPHY_DATA_OR = 1,\n\tPHY_DATA_AND = 2,\n\tPHY_BJMPN = 3,\n\tPHY_MDIO_CHG = 4,\n\tPHY_CLEAR_READCOUNT = 7,\n\tPHY_WRITE = 8,\n\tPHY_READCOUNT_EQ_SKIP = 9,\n\tPHY_COMP_EQ_SKIPN = 10,\n\tPHY_COMP_NEQ_SKIPN = 11,\n\tPHY_WRITE_PREVIOUS = 12,\n\tPHY_SKIPN = 13,\n\tPHY_DELAY_MS = 14,\n};\n\nenum rtl_register_content {\n\tSYSErr = 32768,\n\tPCSTimeout = 16384,\n\tSWInt = 256,\n\tTxDescUnavail = 128,\n\tRxFIFOOver = 64,\n\tLinkChg = 32,\n\tRxOverflow = 16,\n\tTxErr = 8,\n\tTxOK = 4,\n\tRxErr = 2,\n\tRxOK = 1,\n\tRxRWT = 4194304,\n\tRxRES = 2097152,\n\tRxRUNT = 1048576,\n\tRxCRC = 524288,\n\tStopReq = 128,\n\tCmdReset = 16,\n\tCmdRxEnb = 8,\n\tCmdTxEnb = 4,\n\tRxBufEmpty = 1,\n\tHPQ = 128,\n\tNPQ = 64,\n\tFSWInt = 1,\n\tCfg9346_Lock = 0,\n\tCfg9346_Unlock = 192,\n\tAcceptErr = 32,\n\tAcceptRunt = 16,\n\tAcceptBroadcast = 8,\n\tAcceptMulticast = 4,\n\tAcceptMyPhys = 2,\n\tAcceptAllPhys = 1,\n\tTxInterFrameGapShift = 24,\n\tTxDMAShift = 8,\n\tLEDS1 = 128,\n\tLEDS0 = 64,\n\tSpeed_down = 16,\n\tMEMMAP = 8,\n\tIOMAP = 4,\n\tVPD = 2,\n\tPMEnable = 1,\n\tClkReqEn = 128,\n\tMSIEnable = 32,\n\tPCI_Clock_66MHz = 1,\n\tPCI_Clock_33MHz = 0,\n\tMagicPacket = 32,\n\tLinkUp = 16,\n\tJumbo_En0 = 4,\n\tRdy_to_L23 = 2,\n\tBeacon_en = 1,\n\tJumbo_En1 = 2,\n\tBWF = 64,\n\tMWF = 32,\n\tUWF = 16,\n\tSpi_en = 8,\n\tLanWake = 2,\n\tPMEStatus = 1,\n\tASPM_en = 1,\n\tEnableBist = 32768,\n\tMac_dbgo_oe = 16384,\n\tEnAnaPLL = 16384,\n\tNormal_mode = 8192,\n\tForce_half_dup = 4096,\n\tForce_rxflow_en = 2048,\n\tForce_txflow_en = 1024,\n\tCxpl_dbg_sel = 512,\n\tASF = 256,\n\tPktCntrDisable = 128,\n\tMac_dbgo_sel = 28,\n\tRxVlan = 64,\n\tRxChkSum = 32,\n\tPCIDAC = 16,\n\tPCIMulRW = 8,\n\tTBI_Enable = 128,\n\tTxFlowCtrl = 64,\n\tRxFlowCtrl = 32,\n\t_1000bpsF = 16,\n\t_100bps = 8,\n\t_10bps = 4,\n\tLinkStatus = 2,\n\tFullDup = 1,\n\tCounterReset = 1,\n\tCounterDump = 8,\n\tMagicPacket_v2 = 65536,\n};\n\nenum rtl_registers {\n\tMAC0 = 0,\n\tMAC4 = 4,\n\tMAR0 = 8,\n\tCounterAddrLow = 16,\n\tCounterAddrHigh = 20,\n\tTxDescStartAddrLow = 32,\n\tTxDescStartAddrHigh = 36,\n\tTxHDescStartAddrLow = 40,\n\tTxHDescStartAddrHigh = 44,\n\tFLASH = 48,\n\tERSR = 54,\n\tChipCmd = 55,\n\tTxPoll = 56,\n\tIntrMask = 60,\n\tIntrStatus = 62,\n\tTxConfig = 64,\n\tRxConfig = 68,\n\tCfg9346 = 80,\n\tConfig0 = 81,\n\tConfig1 = 82,\n\tConfig2 = 83,\n\tConfig3 = 84,\n\tConfig4 = 85,\n\tConfig5 = 86,\n\tPHYAR = 96,\n\tPHYstatus = 108,\n\tRxMaxSize = 218,\n\tCPlusCmd = 224,\n\tIntrMitigate = 226,\n\tRxDescAddrLow = 228,\n\tRxDescAddrHigh = 232,\n\tEarlyTxThres = 236,\n\tMaxTxPacketSize = 236,\n\tFuncEvent = 240,\n\tFuncEventMask = 244,\n\tFuncPresetState = 248,\n\tIBCR0 = 248,\n\tIBCR2 = 249,\n\tIBIMR0 = 250,\n\tIBISR0 = 251,\n\tFuncForceEvent = 252,\n};\n\nenum rtl_rx_desc_bit {\n\tPID1 = 262144,\n\tPID0 = 131072,\n\tIPFail = 65536,\n\tUDPFail = 32768,\n\tTCPFail = 16384,\n\tRxVlanTag = 65536,\n};\n\nenum rtl_tx_desc_bit {\n\tTD_LSO = 134217728,\n\tTxVlanTag = 131072,\n};\n\nenum rtl_tx_desc_bit_0 {\n\tTD0_TCP_CS = 65536,\n\tTD0_UDP_CS = 131072,\n\tTD0_IP_CS = 262144,\n};\n\nenum rtl_tx_desc_bit_1 {\n\tTD1_GTSENV4 = 67108864,\n\tTD1_GTSENV6 = 33554432,\n\tTD1_IPv6_CS = 268435456,\n\tTD1_IPv4_CS = 536870912,\n\tTD1_TCP_CS = 1073741824,\n\tTD1_UDP_CS = -2147483648,\n};\n\nenum rtmutex_chainwalk {\n\tRT_MUTEX_MIN_CHAINWALK = 0,\n\tRT_MUTEX_FULL_CHAINWALK = 1,\n};\n\nenum rtnetlink_groups {\n\tRTNLGRP_NONE = 0,\n\tRTNLGRP_LINK = 1,\n\tRTNLGRP_NOTIFY = 2,\n\tRTNLGRP_NEIGH = 3,\n\tRTNLGRP_TC = 4,\n\tRTNLGRP_IPV4_IFADDR = 5,\n\tRTNLGRP_IPV4_MROUTE = 6,\n\tRTNLGRP_IPV4_ROUTE = 7,\n\tRTNLGRP_IPV4_RULE = 8,\n\tRTNLGRP_IPV6_IFADDR = 9,\n\tRTNLGRP_IPV6_MROUTE = 10,\n\tRTNLGRP_IPV6_ROUTE = 11,\n\tRTNLGRP_IPV6_IFINFO = 12,\n\tRTNLGRP_DECnet_IFADDR = 13,\n\tRTNLGRP_NOP2 = 14,\n\tRTNLGRP_DECnet_ROUTE = 15,\n\tRTNLGRP_DECnet_RULE = 16,\n\tRTNLGRP_NOP4 = 17,\n\tRTNLGRP_IPV6_PREFIX = 18,\n\tRTNLGRP_IPV6_RULE = 19,\n\tRTNLGRP_ND_USEROPT = 20,\n\tRTNLGRP_PHONET_IFADDR = 21,\n\tRTNLGRP_PHONET_ROUTE = 22,\n\tRTNLGRP_DCB = 23,\n\tRTNLGRP_IPV4_NETCONF = 24,\n\tRTNLGRP_IPV6_NETCONF = 25,\n\tRTNLGRP_MDB = 26,\n\tRTNLGRP_MPLS_ROUTE = 27,\n\tRTNLGRP_NSID = 28,\n\tRTNLGRP_MPLS_NETCONF = 29,\n\tRTNLGRP_IPV4_MROUTE_R = 30,\n\tRTNLGRP_IPV6_MROUTE_R = 31,\n\tRTNLGRP_NEXTHOP = 32,\n\tRTNLGRP_BRVLAN = 33,\n\tRTNLGRP_MCTP_IFADDR = 34,\n\tRTNLGRP_TUNNEL = 35,\n\tRTNLGRP_STATS = 36,\n\tRTNLGRP_IPV4_MCADDR = 37,\n\tRTNLGRP_IPV6_MCADDR = 38,\n\tRTNLGRP_IPV6_ACADDR = 39,\n\t__RTNLGRP_MAX = 40,\n};\n\nenum rtnl_kinds {\n\tRTNL_KIND_NEW = 0,\n\tRTNL_KIND_DEL = 1,\n\tRTNL_KIND_GET = 2,\n\tRTNL_KIND_SET = 3,\n};\n\nenum rtnl_link_flags {\n\tRTNL_FLAG_DOIT_UNLOCKED = 1,\n\tRTNL_FLAG_BULK_DEL_SUPPORTED = 2,\n\tRTNL_FLAG_DUMP_UNLOCKED = 4,\n\tRTNL_FLAG_DUMP_SPLIT_NLM_DONE = 8,\n};\n\nenum rw_hint {\n\tWRITE_LIFE_NOT_SET = 0,\n\tWRITE_LIFE_NONE = 1,\n\tWRITE_LIFE_SHORT = 2,\n\tWRITE_LIFE_MEDIUM = 3,\n\tWRITE_LIFE_LONG = 4,\n\tWRITE_LIFE_EXTREME = 5,\n} __attribute__((mode(byte)));\n\nenum rwsem_waiter_type {\n\tRWSEM_WAITING_FOR_WRITE = 0,\n\tRWSEM_WAITING_FOR_READ = 1,\n};\n\nenum rwsem_wake_type {\n\tRWSEM_WAKE_ANY = 0,\n\tRWSEM_WAKE_READERS = 1,\n\tRWSEM_WAKE_READ_OWNED = 2,\n};\n\nenum rx_handler_result {\n\tRX_HANDLER_CONSUMED = 0,\n\tRX_HANDLER_ANOTHER = 1,\n\tRX_HANDLER_EXACT = 2,\n\tRX_HANDLER_PASS = 3,\n};\n\ntypedef enum rx_handler_result rx_handler_result_t;\n\nenum s2idle_states {\n\tS2IDLE_STATE_NONE = 0,\n\tS2IDLE_STATE_ENTER = 1,\n\tS2IDLE_STATE_WAKE = 2,\n};\n\nenum s_alloc {\n\tsa_rootdomain = 0,\n\tsa_sd = 1,\n\tsa_sd_storage = 2,\n\tsa_none = 3,\n};\n\nenum sam_status {\n\tSAM_STAT_GOOD = 0,\n\tSAM_STAT_CHECK_CONDITION = 2,\n\tSAM_STAT_CONDITION_MET = 4,\n\tSAM_STAT_BUSY = 8,\n\tSAM_STAT_INTERMEDIATE = 16,\n\tSAM_STAT_INTERMEDIATE_CONDITION_MET = 20,\n\tSAM_STAT_RESERVATION_CONFLICT = 24,\n\tSAM_STAT_COMMAND_TERMINATED = 34,\n\tSAM_STAT_TASK_SET_FULL = 40,\n\tSAM_STAT_ACA_ACTIVE = 48,\n\tSAM_STAT_TASK_ABORTED = 64,\n};\n\nenum sbi_ext_base_fid {\n\tSBI_EXT_BASE_GET_SPEC_VERSION = 0,\n\tSBI_EXT_BASE_GET_IMP_ID = 1,\n\tSBI_EXT_BASE_GET_IMP_VERSION = 2,\n\tSBI_EXT_BASE_PROBE_EXT = 3,\n\tSBI_EXT_BASE_GET_MVENDORID = 4,\n\tSBI_EXT_BASE_GET_MARCHID = 5,\n\tSBI_EXT_BASE_GET_MIMPID = 6,\n};\n\nenum sbi_ext_dbcn_fid {\n\tSBI_EXT_DBCN_CONSOLE_WRITE = 0,\n\tSBI_EXT_DBCN_CONSOLE_READ = 1,\n\tSBI_EXT_DBCN_CONSOLE_WRITE_BYTE = 2,\n};\n\nenum sbi_ext_hsm_fid {\n\tSBI_EXT_HSM_HART_START = 0,\n\tSBI_EXT_HSM_HART_STOP = 1,\n\tSBI_EXT_HSM_HART_STATUS = 2,\n\tSBI_EXT_HSM_HART_SUSPEND = 3,\n};\n\nenum sbi_ext_id {\n\tSBI_EXT_BASE = 16,\n\tSBI_EXT_TIME = 1414090053,\n\tSBI_EXT_IPI = 7557193,\n\tSBI_EXT_RFENCE = 1380339267,\n\tSBI_EXT_HSM = 4739917,\n\tSBI_EXT_SRST = 1397904212,\n\tSBI_EXT_SUSP = 1398100816,\n\tSBI_EXT_PMU = 5262677,\n\tSBI_EXT_DBCN = 1145193294,\n\tSBI_EXT_STA = 5461057,\n\tSBI_EXT_NACL = 1312899916,\n\tSBI_EXT_EXPERIMENTAL_START = 134217728,\n\tSBI_EXT_EXPERIMENTAL_END = 150994943,\n\tSBI_EXT_VENDOR_START = 150994944,\n\tSBI_EXT_VENDOR_END = 167772159,\n};\n\nenum sbi_ext_ipi_fid {\n\tSBI_EXT_IPI_SEND_IPI = 0,\n};\n\nenum sbi_ext_pmu_fid {\n\tSBI_EXT_PMU_NUM_COUNTERS = 0,\n\tSBI_EXT_PMU_COUNTER_GET_INFO = 1,\n\tSBI_EXT_PMU_COUNTER_CFG_MATCH = 2,\n\tSBI_EXT_PMU_COUNTER_START = 3,\n\tSBI_EXT_PMU_COUNTER_STOP = 4,\n\tSBI_EXT_PMU_COUNTER_FW_READ = 5,\n\tSBI_EXT_PMU_COUNTER_FW_READ_HI = 6,\n\tSBI_EXT_PMU_SNAPSHOT_SET_SHMEM = 7,\n};\n\nenum sbi_ext_rfence_fid {\n\tSBI_EXT_RFENCE_REMOTE_FENCE_I = 0,\n\tSBI_EXT_RFENCE_REMOTE_SFENCE_VMA = 1,\n\tSBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID = 2,\n\tSBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID = 3,\n\tSBI_EXT_RFENCE_REMOTE_HFENCE_GVMA = 4,\n\tSBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID = 5,\n\tSBI_EXT_RFENCE_REMOTE_HFENCE_VVMA = 6,\n};\n\nenum sbi_ext_srst_fid {\n\tSBI_EXT_SRST_RESET = 0,\n};\n\nenum sbi_ext_susp_fid {\n\tSBI_EXT_SUSP_SYSTEM_SUSPEND = 0,\n};\n\nenum sbi_ext_susp_sleep_type {\n\tSBI_SUSP_SLEEP_TYPE_SUSPEND_TO_RAM = 0,\n};\n\nenum sbi_ext_time_fid {\n\tSBI_EXT_TIME_SET_TIMER = 0,\n};\n\nenum sbi_hsm_hart_state {\n\tSBI_HSM_STATE_STARTED = 0,\n\tSBI_HSM_STATE_STOPPED = 1,\n\tSBI_HSM_STATE_START_PENDING = 2,\n\tSBI_HSM_STATE_STOP_PENDING = 3,\n\tSBI_HSM_STATE_SUSPENDED = 4,\n\tSBI_HSM_STATE_SUSPEND_PENDING = 5,\n\tSBI_HSM_STATE_RESUME_PENDING = 6,\n};\n\nenum sbi_pmu_ctr_type {\n\tSBI_PMU_CTR_TYPE_HW = 0,\n\tSBI_PMU_CTR_TYPE_FW = 1,\n};\n\nenum sbi_pmu_event_type {\n\tSBI_PMU_EVENT_TYPE_HW = 0,\n\tSBI_PMU_EVENT_TYPE_CACHE = 1,\n\tSBI_PMU_EVENT_TYPE_RAW = 2,\n\tSBI_PMU_EVENT_TYPE_FW = 15,\n};\n\nenum sbi_pmu_hw_generic_events_t {\n\tSBI_PMU_HW_NO_EVENT = 0,\n\tSBI_PMU_HW_CPU_CYCLES = 1,\n\tSBI_PMU_HW_INSTRUCTIONS = 2,\n\tSBI_PMU_HW_CACHE_REFERENCES = 3,\n\tSBI_PMU_HW_CACHE_MISSES = 4,\n\tSBI_PMU_HW_BRANCH_INSTRUCTIONS = 5,\n\tSBI_PMU_HW_BRANCH_MISSES = 6,\n\tSBI_PMU_HW_BUS_CYCLES = 7,\n\tSBI_PMU_HW_STALLED_CYCLES_FRONTEND = 8,\n\tSBI_PMU_HW_STALLED_CYCLES_BACKEND = 9,\n\tSBI_PMU_HW_REF_CPU_CYCLES = 10,\n\tSBI_PMU_HW_GENERAL_MAX = 11,\n};\n\nenum sbi_srst_reset_reason {\n\tSBI_SRST_RESET_REASON_NONE = 0,\n\tSBI_SRST_RESET_REASON_SYS_FAILURE = 1,\n};\n\nenum sbi_srst_reset_type {\n\tSBI_SRST_RESET_TYPE_SHUTDOWN = 0,\n\tSBI_SRST_RESET_TYPE_COLD_REBOOT = 1,\n\tSBI_SRST_RESET_TYPE_WARM_REBOOT = 2,\n};\n\nenum scale_freq_source {\n\tSCALE_FREQ_SOURCE_CPUFREQ = 0,\n\tSCALE_FREQ_SOURCE_ARCH = 1,\n\tSCALE_FREQ_SOURCE_CPPC = 2,\n\tSCALE_FREQ_SOURCE_VIRT = 3,\n};\n\nenum scan_balance {\n\tSCAN_EQUAL = 0,\n\tSCAN_FRACT = 1,\n\tSCAN_ANON = 2,\n\tSCAN_FILE = 3,\n};\n\nenum sched_tunable_scaling {\n\tSCHED_TUNABLESCALING_NONE = 0,\n\tSCHED_TUNABLESCALING_LOG = 1,\n\tSCHED_TUNABLESCALING_LINEAR = 2,\n\tSCHED_TUNABLESCALING_END = 3,\n};\n\nenum scsi_cmnd_submitter {\n\tSUBMITTED_BY_BLOCK_LAYER = 0,\n\tSUBMITTED_BY_SCSI_ERROR_HANDLER = 1,\n\tSUBMITTED_BY_SCSI_RESET_IOCTL = 2,\n} __attribute__((mode(byte)));\n\nenum scsi_device_event {\n\tSDEV_EVT_MEDIA_CHANGE = 1,\n\tSDEV_EVT_INQUIRY_CHANGE_REPORTED = 2,\n\tSDEV_EVT_CAPACITY_CHANGE_REPORTED = 3,\n\tSDEV_EVT_SOFT_THRESHOLD_REACHED_REPORTED = 4,\n\tSDEV_EVT_MODE_PARAMETER_CHANGE_REPORTED = 5,\n\tSDEV_EVT_LUN_CHANGE_REPORTED = 6,\n\tSDEV_EVT_ALUA_STATE_CHANGE_REPORTED = 7,\n\tSDEV_EVT_POWER_ON_RESET_OCCURRED = 8,\n\tSDEV_EVT_FIRST = 1,\n\tSDEV_EVT_LAST = 8,\n\tSDEV_EVT_MAXBITS = 9,\n};\n\nenum scsi_device_state {\n\tSDEV_CREATED = 1,\n\tSDEV_RUNNING = 2,\n\tSDEV_CANCEL = 3,\n\tSDEV_DEL = 4,\n\tSDEV_QUIESCE = 5,\n\tSDEV_OFFLINE = 6,\n\tSDEV_TRANSPORT_OFFLINE = 7,\n\tSDEV_BLOCK = 8,\n\tSDEV_CREATED_BLOCK = 9,\n};\n\nenum scsi_devinfo_key {\n\tSCSI_DEVINFO_GLOBAL = 0,\n\tSCSI_DEVINFO_SPI = 1,\n};\n\nenum scsi_disposition {\n\tNEEDS_RETRY = 8193,\n\tSUCCESS = 8194,\n\tFAILED = 8195,\n\tQUEUED = 8196,\n\tSOFT_ERROR = 8197,\n\tADD_TO_MLQUEUE = 8198,\n\tTIMEOUT_ERROR = 8199,\n\tSCSI_RETURN_NOT_HANDLED = 8200,\n\tFAST_IO_FAIL = 8201,\n};\n\nenum scsi_host_prot_capabilities {\n\tSHOST_DIF_TYPE1_PROTECTION = 1,\n\tSHOST_DIF_TYPE2_PROTECTION = 2,\n\tSHOST_DIF_TYPE3_PROTECTION = 4,\n\tSHOST_DIX_TYPE0_PROTECTION = 8,\n\tSHOST_DIX_TYPE1_PROTECTION = 16,\n\tSHOST_DIX_TYPE2_PROTECTION = 32,\n\tSHOST_DIX_TYPE3_PROTECTION = 64,\n};\n\nenum scsi_host_state {\n\tSHOST_CREATED = 1,\n\tSHOST_RUNNING = 2,\n\tSHOST_CANCEL = 3,\n\tSHOST_DEL = 4,\n\tSHOST_RECOVERY = 5,\n\tSHOST_CANCEL_RECOVERY = 6,\n\tSHOST_DEL_RECOVERY = 7,\n};\n\nenum scsi_host_status {\n\tDID_OK = 0,\n\tDID_NO_CONNECT = 1,\n\tDID_BUS_BUSY = 2,\n\tDID_TIME_OUT = 3,\n\tDID_BAD_TARGET = 4,\n\tDID_ABORT = 5,\n\tDID_PARITY = 6,\n\tDID_ERROR = 7,\n\tDID_RESET = 8,\n\tDID_BAD_INTR = 9,\n\tDID_PASSTHROUGH = 10,\n\tDID_SOFT_ERROR = 11,\n\tDID_IMM_RETRY = 12,\n\tDID_REQUEUE = 13,\n\tDID_TRANSPORT_DISRUPTED = 14,\n\tDID_TRANSPORT_FAILFAST = 15,\n\tDID_TRANSPORT_MARGINAL = 20,\n};\n\nenum scsi_ml_status {\n\tSCSIML_STAT_OK = 0,\n\tSCSIML_STAT_RESV_CONFLICT = 1,\n\tSCSIML_STAT_NOSPC = 2,\n\tSCSIML_STAT_MED_ERROR = 3,\n\tSCSIML_STAT_TGT_FAILURE = 4,\n\tSCSIML_STAT_DL_TIMEOUT = 5,\n};\n\nenum scsi_msg_byte {\n\tCOMMAND_COMPLETE = 0,\n\tEXTENDED_MESSAGE = 1,\n\tSAVE_POINTERS = 2,\n\tRESTORE_POINTERS = 3,\n\tDISCONNECT = 4,\n\tINITIATOR_ERROR = 5,\n\tABORT_TASK_SET = 6,\n\tMESSAGE_REJECT = 7,\n\tNOP = 8,\n\tMSG_PARITY_ERROR = 9,\n\tLINKED_CMD_COMPLETE = 10,\n\tLINKED_FLG_CMD_COMPLETE = 11,\n\tTARGET_RESET = 12,\n\tABORT_TASK = 13,\n\tCLEAR_TASK_SET = 14,\n\tINITIATE_RECOVERY = 15,\n\tRELEASE_RECOVERY = 16,\n\tTERMINATE_IO_PROC = 17,\n\tCLEAR_ACA = 22,\n\tLOGICAL_UNIT_RESET = 23,\n\tSIMPLE_QUEUE_TAG = 32,\n\tHEAD_OF_QUEUE_TAG = 33,\n\tORDERED_QUEUE_TAG = 34,\n\tIGNORE_WIDE_RESIDUE = 35,\n\tACA = 36,\n\tQAS_REQUEST = 85,\n\tBUS_DEVICE_RESET = 12,\n\tABORT = 6,\n};\n\nenum scsi_pr_type {\n\tSCSI_PR_WRITE_EXCLUSIVE = 1,\n\tSCSI_PR_EXCLUSIVE_ACCESS = 3,\n\tSCSI_PR_WRITE_EXCLUSIVE_REG_ONLY = 5,\n\tSCSI_PR_EXCLUSIVE_ACCESS_REG_ONLY = 6,\n\tSCSI_PR_WRITE_EXCLUSIVE_ALL_REGS = 7,\n\tSCSI_PR_EXCLUSIVE_ACCESS_ALL_REGS = 8,\n};\n\nenum scsi_prot_flags {\n\tSCSI_PROT_TRANSFER_PI = 1,\n\tSCSI_PROT_GUARD_CHECK = 2,\n\tSCSI_PROT_REF_CHECK = 4,\n\tSCSI_PROT_REF_INCREMENT = 8,\n\tSCSI_PROT_IP_CHECKSUM = 16,\n};\n\nenum scsi_prot_operations {\n\tSCSI_PROT_NORMAL = 0,\n\tSCSI_PROT_READ_INSERT = 1,\n\tSCSI_PROT_WRITE_STRIP = 2,\n\tSCSI_PROT_READ_STRIP = 3,\n\tSCSI_PROT_WRITE_INSERT = 4,\n\tSCSI_PROT_READ_PASS = 5,\n\tSCSI_PROT_WRITE_PASS = 6,\n};\n\nenum scsi_scan_mode {\n\tSCSI_SCAN_INITIAL = 0,\n\tSCSI_SCAN_RESCAN = 1,\n\tSCSI_SCAN_MANUAL = 2,\n};\n\nenum scsi_target_state {\n\tSTARGET_CREATED = 1,\n\tSTARGET_RUNNING = 2,\n\tSTARGET_REMOVE = 3,\n\tSTARGET_CREATED_REMOVE = 4,\n\tSTARGET_DEL = 5,\n};\n\nenum scsi_timeout_action {\n\tSCSI_EH_DONE = 0,\n\tSCSI_EH_RESET_TIMER = 1,\n\tSCSI_EH_NOT_HANDLED = 2,\n};\n\nenum scsi_timeouts {\n\tSCSI_DEFAULT_EH_TIMEOUT = 2500,\n};\n\nenum scsi_vpd_parameters {\n\tSCSI_VPD_HEADER_SIZE = 4,\n\tSCSI_VPD_LIST_SIZE = 36,\n};\n\nenum sctp_cid {\n\tSCTP_CID_DATA = 0,\n\tSCTP_CID_INIT = 1,\n\tSCTP_CID_INIT_ACK = 2,\n\tSCTP_CID_SACK = 3,\n\tSCTP_CID_HEARTBEAT = 4,\n\tSCTP_CID_HEARTBEAT_ACK = 5,\n\tSCTP_CID_ABORT = 6,\n\tSCTP_CID_SHUTDOWN = 7,\n\tSCTP_CID_SHUTDOWN_ACK = 8,\n\tSCTP_CID_ERROR = 9,\n\tSCTP_CID_COOKIE_ECHO = 10,\n\tSCTP_CID_COOKIE_ACK = 11,\n\tSCTP_CID_ECN_ECNE = 12,\n\tSCTP_CID_ECN_CWR = 13,\n\tSCTP_CID_SHUTDOWN_COMPLETE = 14,\n\tSCTP_CID_AUTH = 15,\n\tSCTP_CID_I_DATA = 64,\n\tSCTP_CID_FWD_TSN = 192,\n\tSCTP_CID_ASCONF = 193,\n\tSCTP_CID_I_FWD_TSN = 194,\n\tSCTP_CID_ASCONF_ACK = 128,\n\tSCTP_CID_RECONF = 130,\n\tSCTP_CID_PAD = 132,\n};\n\nenum sctp_conntrack {\n\tSCTP_CONNTRACK_NONE = 0,\n\tSCTP_CONNTRACK_CLOSED = 1,\n\tSCTP_CONNTRACK_COOKIE_WAIT = 2,\n\tSCTP_CONNTRACK_COOKIE_ECHOED = 3,\n\tSCTP_CONNTRACK_ESTABLISHED = 4,\n\tSCTP_CONNTRACK_SHUTDOWN_SENT = 5,\n\tSCTP_CONNTRACK_SHUTDOWN_RECD = 6,\n\tSCTP_CONNTRACK_SHUTDOWN_ACK_SENT = 7,\n\tSCTP_CONNTRACK_HEARTBEAT_SENT = 8,\n\tSCTP_CONNTRACK_HEARTBEAT_ACKED = 9,\n\tSCTP_CONNTRACK_MAX = 10,\n};\n\nenum sctp_endpoint_type {\n\tSCTP_EP_TYPE_SOCKET = 0,\n\tSCTP_EP_TYPE_ASSOCIATION = 1,\n};\n\nenum sctp_event_timeout {\n\tSCTP_EVENT_TIMEOUT_NONE = 0,\n\tSCTP_EVENT_TIMEOUT_T1_COOKIE = 1,\n\tSCTP_EVENT_TIMEOUT_T1_INIT = 2,\n\tSCTP_EVENT_TIMEOUT_T2_SHUTDOWN = 3,\n\tSCTP_EVENT_TIMEOUT_T3_RTX = 4,\n\tSCTP_EVENT_TIMEOUT_T4_RTO = 5,\n\tSCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD = 6,\n\tSCTP_EVENT_TIMEOUT_HEARTBEAT = 7,\n\tSCTP_EVENT_TIMEOUT_RECONF = 8,\n\tSCTP_EVENT_TIMEOUT_PROBE = 9,\n\tSCTP_EVENT_TIMEOUT_SACK = 10,\n\tSCTP_EVENT_TIMEOUT_AUTOCLOSE = 11,\n};\n\nenum sctp_msg_flags {\n\tMSG_NOTIFICATION = 32768,\n};\n\nenum sctp_param {\n\tSCTP_PARAM_HEARTBEAT_INFO = 256,\n\tSCTP_PARAM_IPV4_ADDRESS = 1280,\n\tSCTP_PARAM_IPV6_ADDRESS = 1536,\n\tSCTP_PARAM_STATE_COOKIE = 1792,\n\tSCTP_PARAM_UNRECOGNIZED_PARAMETERS = 2048,\n\tSCTP_PARAM_COOKIE_PRESERVATIVE = 2304,\n\tSCTP_PARAM_HOST_NAME_ADDRESS = 2816,\n\tSCTP_PARAM_SUPPORTED_ADDRESS_TYPES = 3072,\n\tSCTP_PARAM_ECN_CAPABLE = 128,\n\tSCTP_PARAM_RANDOM = 640,\n\tSCTP_PARAM_CHUNKS = 896,\n\tSCTP_PARAM_HMAC_ALGO = 1152,\n\tSCTP_PARAM_SUPPORTED_EXT = 2176,\n\tSCTP_PARAM_FWD_TSN_SUPPORT = 192,\n\tSCTP_PARAM_ADD_IP = 448,\n\tSCTP_PARAM_DEL_IP = 704,\n\tSCTP_PARAM_ERR_CAUSE = 960,\n\tSCTP_PARAM_SET_PRIMARY = 1216,\n\tSCTP_PARAM_SUCCESS_REPORT = 1472,\n\tSCTP_PARAM_ADAPTATION_LAYER_IND = 1728,\n\tSCTP_PARAM_RESET_OUT_REQUEST = 3328,\n\tSCTP_PARAM_RESET_IN_REQUEST = 3584,\n\tSCTP_PARAM_RESET_TSN_REQUEST = 3840,\n\tSCTP_PARAM_RESET_RESPONSE = 4096,\n\tSCTP_PARAM_RESET_ADD_OUT_STREAMS = 4352,\n\tSCTP_PARAM_RESET_ADD_IN_STREAMS = 4608,\n};\n\nenum sctp_scope {\n\tSCTP_SCOPE_GLOBAL = 0,\n\tSCTP_SCOPE_PRIVATE = 1,\n\tSCTP_SCOPE_LINK = 2,\n\tSCTP_SCOPE_LOOPBACK = 3,\n\tSCTP_SCOPE_UNUSABLE = 4,\n};\n\nenum sctp_socket_type {\n\tSCTP_SOCKET_UDP = 0,\n\tSCTP_SOCKET_UDP_HIGH_BANDWIDTH = 1,\n\tSCTP_SOCKET_TCP = 2,\n};\n\nenum sctp_state {\n\tSCTP_STATE_CLOSED = 0,\n\tSCTP_STATE_COOKIE_WAIT = 1,\n\tSCTP_STATE_COOKIE_ECHOED = 2,\n\tSCTP_STATE_ESTABLISHED = 3,\n\tSCTP_STATE_SHUTDOWN_PENDING = 4,\n\tSCTP_STATE_SHUTDOWN_SENT = 5,\n\tSCTP_STATE_SHUTDOWN_RECEIVED = 6,\n\tSCTP_STATE_SHUTDOWN_ACK_SENT = 7,\n};\n\nenum sd_uhs2_operation {\n\tUHS2_PHY_INIT = 0,\n\tUHS2_SET_CONFIG = 1,\n\tUHS2_ENABLE_INT = 2,\n\tUHS2_DISABLE_INT = 3,\n\tUHS2_ENABLE_CLK = 4,\n\tUHS2_DISABLE_CLK = 5,\n\tUHS2_CHECK_DORMANT = 6,\n\tUHS2_SET_IOS = 7,\n};\n\nenum sdhci_cookie {\n\tCOOKIE_UNMAPPED___2 = 0,\n\tCOOKIE_PRE_MAPPED___2 = 1,\n\tCOOKIE_MAPPED___2 = 2,\n};\n\nenum sdhci_reset_reason {\n\tSDHCI_RESET_FOR_INIT = 0,\n\tSDHCI_RESET_FOR_REQUEST_ERROR = 1,\n\tSDHCI_RESET_FOR_REQUEST_ERROR_DATA_ONLY = 2,\n\tSDHCI_RESET_FOR_TUNING_ABORT = 3,\n\tSDHCI_RESET_FOR_CARD_REMOVED = 4,\n\tSDHCI_RESET_FOR_CQE_RECOVERY = 5,\n};\n\nenum sel_inos {\n\tSEL_ROOT_INO = 2,\n\tSEL_LOAD = 3,\n\tSEL_ENFORCE = 4,\n\tSEL_CONTEXT = 5,\n\tSEL_ACCESS = 6,\n\tSEL_CREATE = 7,\n\tSEL_RELABEL = 8,\n\tSEL_USER = 9,\n\tSEL_POLICYVERS = 10,\n\tSEL_COMMIT_BOOLS = 11,\n\tSEL_MLS = 12,\n\tSEL_DISABLE = 13,\n\tSEL_MEMBER = 14,\n\tSEL_CHECKREQPROT = 15,\n\tSEL_COMPAT_NET = 16,\n\tSEL_REJECT_UNKNOWN = 17,\n\tSEL_DENY_UNKNOWN = 18,\n\tSEL_STATUS = 19,\n\tSEL_POLICY = 20,\n\tSEL_VALIDATE_TRANS = 21,\n\tSEL_INO_NEXT = 22,\n};\n\nenum selinux_nlgroups {\n\tSELNLGRP_NONE = 0,\n\tSELNLGRP_AVC = 1,\n\t__SELNLGRP_MAX = 2,\n};\n\nenum serio_event_type {\n\tSERIO_RESCAN_PORT = 0,\n\tSERIO_RECONNECT_PORT = 1,\n\tSERIO_RECONNECT_SUBTREE = 2,\n\tSERIO_REGISTER_PORT = 3,\n\tSERIO_ATTACH_DRIVER = 4,\n};\n\nenum set_event_iter_type {\n\tSET_EVENT_FILE = 0,\n\tSET_EVENT_MOD = 1,\n};\n\nenum sgp_type {\n\tSGP_READ = 0,\n\tSGP_NOALLOC = 1,\n\tSGP_CACHE = 2,\n\tSGP_WRITE = 3,\n\tSGP_FALLOC = 4,\n};\n\nenum shmem_param {\n\tOpt_gid___9 = 0,\n\tOpt_huge = 1,\n\tOpt_mode___7 = 2,\n\tOpt_mpol = 3,\n\tOpt_nr_blocks = 4,\n\tOpt_nr_inodes___2 = 5,\n\tOpt_size___2 = 6,\n\tOpt_uid___8 = 7,\n\tOpt_inode32 = 8,\n\tOpt_inode64 = 9,\n\tOpt_noswap = 10,\n\tOpt_quota___2 = 11,\n\tOpt_usrquota___2 = 12,\n\tOpt_grpquota___2 = 13,\n\tOpt_usrquota_block_hardlimit = 14,\n\tOpt_usrquota_inode_hardlimit = 15,\n\tOpt_grpquota_block_hardlimit = 16,\n\tOpt_grpquota_inode_hardlimit = 17,\n\tOpt_casefold_version = 18,\n\tOpt_casefold = 19,\n\tOpt_strict_encoding = 20,\n};\n\nenum sig_handler {\n\tHANDLER_CURRENT = 0,\n\tHANDLER_SIG_DFL = 1,\n\tHANDLER_EXIT = 2,\n};\n\nenum siginfo_layout {\n\tSIL_KILL = 0,\n\tSIL_TIMER = 1,\n\tSIL_POLL = 2,\n\tSIL_FAULT = 3,\n\tSIL_FAULT_TRAPNO = 4,\n\tSIL_FAULT_MCEERR = 5,\n\tSIL_FAULT_BNDERR = 6,\n\tSIL_FAULT_PKUERR = 7,\n\tSIL_FAULT_PERF_EVENT = 8,\n\tSIL_CHLD = 9,\n\tSIL_RT = 10,\n\tSIL_SYS = 11,\n};\n\nenum sk_action {\n\tSK_DROP = 0,\n\tSK_PASS = 1,\n};\n\nenum sk_pacing {\n\tSK_PACING_NONE = 0,\n\tSK_PACING_NEEDED = 1,\n\tSK_PACING_FQ = 2,\n};\n\nenum sk_psock_state_bits {\n\tSK_PSOCK_TX_ENABLED = 0,\n\tSK_PSOCK_RX_STRP_ENABLED = 1,\n};\n\nenum sk_rst_reason {\n\tSK_RST_REASON_NOT_SPECIFIED = 0,\n\tSK_RST_REASON_NO_SOCKET = 1,\n\tSK_RST_REASON_TCP_INVALID_ACK_SEQUENCE = 2,\n\tSK_RST_REASON_TCP_RFC7323_PAWS = 3,\n\tSK_RST_REASON_TCP_TOO_OLD_ACK = 4,\n\tSK_RST_REASON_TCP_ACK_UNSENT_DATA = 5,\n\tSK_RST_REASON_TCP_FLAGS = 6,\n\tSK_RST_REASON_TCP_OLD_ACK = 7,\n\tSK_RST_REASON_TCP_ABORT_ON_DATA = 8,\n\tSK_RST_REASON_TCP_TIMEWAIT_SOCKET = 9,\n\tSK_RST_REASON_INVALID_SYN = 10,\n\tSK_RST_REASON_TCP_ABORT_ON_CLOSE = 11,\n\tSK_RST_REASON_TCP_ABORT_ON_LINGER = 12,\n\tSK_RST_REASON_TCP_ABORT_ON_MEMORY = 13,\n\tSK_RST_REASON_TCP_STATE = 14,\n\tSK_RST_REASON_TCP_KEEPALIVE_TIMEOUT = 15,\n\tSK_RST_REASON_TCP_DISCONNECT_WITH_DATA = 16,\n\tSK_RST_REASON_MPTCP_RST_EUNSPEC = 17,\n\tSK_RST_REASON_MPTCP_RST_EMPTCP = 18,\n\tSK_RST_REASON_MPTCP_RST_ERESOURCE = 19,\n\tSK_RST_REASON_MPTCP_RST_EPROHIBIT = 20,\n\tSK_RST_REASON_MPTCP_RST_EWQ2BIG = 21,\n\tSK_RST_REASON_MPTCP_RST_EBADPERF = 22,\n\tSK_RST_REASON_MPTCP_RST_EMIDDLEBOX = 23,\n\tSK_RST_REASON_ERROR = 24,\n\tSK_RST_REASON_MAX = 25,\n};\n\nenum skb_drop_reason {\n\tSKB_NOT_DROPPED_YET = 0,\n\tSKB_CONSUMED = 1,\n\tSKB_DROP_REASON_NOT_SPECIFIED = 2,\n\tSKB_DROP_REASON_NO_SOCKET = 3,\n\tSKB_DROP_REASON_SOCKET_CLOSE = 4,\n\tSKB_DROP_REASON_SOCKET_FILTER = 5,\n\tSKB_DROP_REASON_SOCKET_RCVBUFF = 6,\n\tSKB_DROP_REASON_UNIX_DISCONNECT = 7,\n\tSKB_DROP_REASON_UNIX_SKIP_OOB = 8,\n\tSKB_DROP_REASON_PKT_TOO_SMALL = 9,\n\tSKB_DROP_REASON_TCP_CSUM = 10,\n\tSKB_DROP_REASON_UDP_CSUM = 11,\n\tSKB_DROP_REASON_NETFILTER_DROP = 12,\n\tSKB_DROP_REASON_OTHERHOST = 13,\n\tSKB_DROP_REASON_IP_CSUM = 14,\n\tSKB_DROP_REASON_IP_INHDR = 15,\n\tSKB_DROP_REASON_IP_RPFILTER = 16,\n\tSKB_DROP_REASON_UNICAST_IN_L2_MULTICAST = 17,\n\tSKB_DROP_REASON_XFRM_POLICY = 18,\n\tSKB_DROP_REASON_IP_NOPROTO = 19,\n\tSKB_DROP_REASON_PROTO_MEM = 20,\n\tSKB_DROP_REASON_TCP_AUTH_HDR = 21,\n\tSKB_DROP_REASON_TCP_MD5NOTFOUND = 22,\n\tSKB_DROP_REASON_TCP_MD5UNEXPECTED = 23,\n\tSKB_DROP_REASON_TCP_MD5FAILURE = 24,\n\tSKB_DROP_REASON_TCP_AONOTFOUND = 25,\n\tSKB_DROP_REASON_TCP_AOUNEXPECTED = 26,\n\tSKB_DROP_REASON_TCP_AOKEYNOTFOUND = 27,\n\tSKB_DROP_REASON_TCP_AOFAILURE = 28,\n\tSKB_DROP_REASON_SOCKET_BACKLOG = 29,\n\tSKB_DROP_REASON_TCP_FLAGS = 30,\n\tSKB_DROP_REASON_TCP_ABORT_ON_DATA = 31,\n\tSKB_DROP_REASON_TCP_ZEROWINDOW = 32,\n\tSKB_DROP_REASON_TCP_OLD_DATA = 33,\n\tSKB_DROP_REASON_TCP_OVERWINDOW = 34,\n\tSKB_DROP_REASON_TCP_OFOMERGE = 35,\n\tSKB_DROP_REASON_TCP_RFC7323_PAWS = 36,\n\tSKB_DROP_REASON_TCP_RFC7323_PAWS_ACK = 37,\n\tSKB_DROP_REASON_TCP_OLD_SEQUENCE = 38,\n\tSKB_DROP_REASON_TCP_INVALID_SEQUENCE = 39,\n\tSKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE = 40,\n\tSKB_DROP_REASON_TCP_RESET = 41,\n\tSKB_DROP_REASON_TCP_INVALID_SYN = 42,\n\tSKB_DROP_REASON_TCP_CLOSE = 43,\n\tSKB_DROP_REASON_TCP_FASTOPEN = 44,\n\tSKB_DROP_REASON_TCP_OLD_ACK = 45,\n\tSKB_DROP_REASON_TCP_TOO_OLD_ACK = 46,\n\tSKB_DROP_REASON_TCP_ACK_UNSENT_DATA = 47,\n\tSKB_DROP_REASON_TCP_OFO_QUEUE_PRUNE = 48,\n\tSKB_DROP_REASON_TCP_OFO_DROP = 49,\n\tSKB_DROP_REASON_IP_OUTNOROUTES = 50,\n\tSKB_DROP_REASON_BPF_CGROUP_EGRESS = 51,\n\tSKB_DROP_REASON_IPV6DISABLED = 52,\n\tSKB_DROP_REASON_NEIGH_CREATEFAIL = 53,\n\tSKB_DROP_REASON_NEIGH_FAILED = 54,\n\tSKB_DROP_REASON_NEIGH_QUEUEFULL = 55,\n\tSKB_DROP_REASON_NEIGH_DEAD = 56,\n\tSKB_DROP_REASON_TC_EGRESS = 57,\n\tSKB_DROP_REASON_SECURITY_HOOK = 58,\n\tSKB_DROP_REASON_QDISC_DROP = 59,\n\tSKB_DROP_REASON_QDISC_OVERLIMIT = 60,\n\tSKB_DROP_REASON_QDISC_CONGESTED = 61,\n\tSKB_DROP_REASON_CAKE_FLOOD = 62,\n\tSKB_DROP_REASON_FQ_BAND_LIMIT = 63,\n\tSKB_DROP_REASON_FQ_HORIZON_LIMIT = 64,\n\tSKB_DROP_REASON_FQ_FLOW_LIMIT = 65,\n\tSKB_DROP_REASON_CPU_BACKLOG = 66,\n\tSKB_DROP_REASON_XDP = 67,\n\tSKB_DROP_REASON_TC_INGRESS = 68,\n\tSKB_DROP_REASON_UNHANDLED_PROTO = 69,\n\tSKB_DROP_REASON_SKB_CSUM = 70,\n\tSKB_DROP_REASON_SKB_GSO_SEG = 71,\n\tSKB_DROP_REASON_SKB_UCOPY_FAULT = 72,\n\tSKB_DROP_REASON_DEV_HDR = 73,\n\tSKB_DROP_REASON_DEV_READY = 74,\n\tSKB_DROP_REASON_FULL_RING = 75,\n\tSKB_DROP_REASON_NOMEM = 76,\n\tSKB_DROP_REASON_HDR_TRUNC = 77,\n\tSKB_DROP_REASON_TAP_FILTER = 78,\n\tSKB_DROP_REASON_TAP_TXFILTER = 79,\n\tSKB_DROP_REASON_ICMP_CSUM = 80,\n\tSKB_DROP_REASON_INVALID_PROTO = 81,\n\tSKB_DROP_REASON_IP_INADDRERRORS = 82,\n\tSKB_DROP_REASON_IP_INNOROUTES = 83,\n\tSKB_DROP_REASON_IP_LOCAL_SOURCE = 84,\n\tSKB_DROP_REASON_IP_INVALID_SOURCE = 85,\n\tSKB_DROP_REASON_IP_LOCALNET = 86,\n\tSKB_DROP_REASON_IP_INVALID_DEST = 87,\n\tSKB_DROP_REASON_PKT_TOO_BIG = 88,\n\tSKB_DROP_REASON_DUP_FRAG = 89,\n\tSKB_DROP_REASON_FRAG_REASM_TIMEOUT = 90,\n\tSKB_DROP_REASON_FRAG_TOO_FAR = 91,\n\tSKB_DROP_REASON_TCP_MINTTL = 92,\n\tSKB_DROP_REASON_IPV6_BAD_EXTHDR = 93,\n\tSKB_DROP_REASON_IPV6_NDISC_FRAG = 94,\n\tSKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 95,\n\tSKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 96,\n\tSKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 97,\n\tSKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 98,\n\tSKB_DROP_REASON_QUEUE_PURGE = 99,\n\tSKB_DROP_REASON_TC_COOKIE_ERROR = 100,\n\tSKB_DROP_REASON_PACKET_SOCK_ERROR = 101,\n\tSKB_DROP_REASON_TC_CHAIN_NOTFOUND = 102,\n\tSKB_DROP_REASON_TC_RECLASSIFY_LOOP = 103,\n\tSKB_DROP_REASON_VXLAN_INVALID_HDR = 104,\n\tSKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 105,\n\tSKB_DROP_REASON_MAC_INVALID_SOURCE = 106,\n\tSKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 107,\n\tSKB_DROP_REASON_NO_TX_TARGET = 108,\n\tSKB_DROP_REASON_IP_TUNNEL_ECN = 109,\n\tSKB_DROP_REASON_TUNNEL_TXINFO = 110,\n\tSKB_DROP_REASON_LOCAL_MAC = 111,\n\tSKB_DROP_REASON_ARP_PVLAN_DISABLE = 112,\n\tSKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 113,\n\tSKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 114,\n\tSKB_DROP_REASON_MAX = 115,\n\tSKB_DROP_REASON_SUBSYS_MASK = 4294901760,\n};\n\nenum skb_drop_reason_subsys {\n\tSKB_DROP_REASON_SUBSYS_CORE = 0,\n\tSKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE = 1,\n\tSKB_DROP_REASON_SUBSYS_MAC80211_MONITOR = 2,\n\tSKB_DROP_REASON_SUBSYS_OPENVSWITCH = 3,\n\tSKB_DROP_REASON_SUBSYS_NUM = 4,\n};\n\nenum skb_ext_id {\n\tSKB_EXT_BRIDGE_NF = 0,\n\tSKB_EXT_SEC_PATH = 1,\n\tSKB_EXT_NUM = 2,\n};\n\nenum skb_tstamp_type {\n\tSKB_CLOCK_REALTIME = 0,\n\tSKB_CLOCK_MONOTONIC = 1,\n\tSKB_CLOCK_TAI = 2,\n\t__SKB_CLOCK_MAX = 2,\n};\n\nenum sknetlink_groups {\n\tSKNLGRP_NONE = 0,\n\tSKNLGRP_INET_TCP_DESTROY = 1,\n\tSKNLGRP_INET_UDP_DESTROY = 2,\n\tSKNLGRP_INET6_TCP_DESTROY = 3,\n\tSKNLGRP_INET6_UDP_DESTROY = 4,\n\t__SKNLGRP_MAX = 5,\n};\n\nenum slab_stat_type {\n\tSL_ALL = 0,\n\tSL_PARTIAL = 1,\n\tSL_CPU = 2,\n\tSL_OBJECTS = 3,\n\tSL_TOTAL = 4,\n};\n\nenum slab_state {\n\tDOWN = 0,\n\tPARTIAL = 1,\n\tUP = 2,\n\tFULL = 3,\n};\n\nenum smbios_attr_enum {\n\tSMBIOS_ATTR_NONE = 0,\n\tSMBIOS_ATTR_LABEL_SHOW = 1,\n\tSMBIOS_ATTR_INSTANCE_SHOW = 2,\n};\n\nenum snd_compr_direction {\n\tSND_COMPRESS_PLAYBACK = 0,\n\tSND_COMPRESS_CAPTURE = 1,\n\tSND_COMPRESS_ACCEL = 2,\n};\n\nenum snd_ctl_add_mode {\n\tCTL_ADD_EXCLUSIVE = 0,\n\tCTL_REPLACE = 1,\n\tCTL_ADD_ON_REPLACE = 2,\n};\n\nenum snd_device_state {\n\tSNDRV_DEV_BUILD = 0,\n\tSNDRV_DEV_REGISTERED = 1,\n\tSNDRV_DEV_DISCONNECTED = 2,\n};\n\nenum snd_device_type {\n\tSNDRV_DEV_LOWLEVEL = 0,\n\tSNDRV_DEV_INFO = 1,\n\tSNDRV_DEV_BUS = 2,\n\tSNDRV_DEV_CODEC = 3,\n\tSNDRV_DEV_PCM = 4,\n\tSNDRV_DEV_COMPRESS = 5,\n\tSNDRV_DEV_RAWMIDI = 6,\n\tSNDRV_DEV_TIMER = 7,\n\tSNDRV_DEV_SEQUENCER = 8,\n\tSNDRV_DEV_HWDEP = 9,\n\tSNDRV_DEV_JACK = 10,\n\tSNDRV_DEV_CONTROL = 11,\n};\n\nenum snd_dma_sync_mode {\n\tSNDRV_DMA_SYNC_CPU = 0,\n\tSNDRV_DMA_SYNC_DEVICE = 1,\n};\n\nenum snd_jack_types {\n\tSND_JACK_HEADPHONE = 1,\n\tSND_JACK_MICROPHONE = 2,\n\tSND_JACK_HEADSET = 3,\n\tSND_JACK_LINEOUT = 4,\n\tSND_JACK_MECHANICAL = 8,\n\tSND_JACK_VIDEOOUT = 16,\n\tSND_JACK_AVOUT = 20,\n\tSND_JACK_LINEIN = 32,\n\tSND_JACK_BTN_0 = 16384,\n\tSND_JACK_BTN_1 = 8192,\n\tSND_JACK_BTN_2 = 4096,\n\tSND_JACK_BTN_3 = 2048,\n\tSND_JACK_BTN_4 = 1024,\n\tSND_JACK_BTN_5 = 512,\n};\n\nenum snd_soc_bias_level {\n\tSND_SOC_BIAS_OFF = 0,\n\tSND_SOC_BIAS_STANDBY = 1,\n\tSND_SOC_BIAS_PREPARE = 2,\n\tSND_SOC_BIAS_ON = 3,\n};\n\nenum snd_soc_dapm_direction {\n\tSND_SOC_DAPM_DIR_IN = 0,\n\tSND_SOC_DAPM_DIR_OUT = 1,\n};\n\nenum snd_soc_dapm_type {\n\tsnd_soc_dapm_input = 0,\n\tsnd_soc_dapm_output = 1,\n\tsnd_soc_dapm_mux = 2,\n\tsnd_soc_dapm_demux = 3,\n\tsnd_soc_dapm_mixer = 4,\n\tsnd_soc_dapm_mixer_named_ctl = 5,\n\tsnd_soc_dapm_pga = 6,\n\tsnd_soc_dapm_out_drv = 7,\n\tsnd_soc_dapm_adc = 8,\n\tsnd_soc_dapm_dac = 9,\n\tsnd_soc_dapm_micbias = 10,\n\tsnd_soc_dapm_mic = 11,\n\tsnd_soc_dapm_hp = 12,\n\tsnd_soc_dapm_spk = 13,\n\tsnd_soc_dapm_line = 14,\n\tsnd_soc_dapm_switch = 15,\n\tsnd_soc_dapm_vmid = 16,\n\tsnd_soc_dapm_pre = 17,\n\tsnd_soc_dapm_post = 18,\n\tsnd_soc_dapm_supply = 19,\n\tsnd_soc_dapm_pinctrl = 20,\n\tsnd_soc_dapm_regulator_supply = 21,\n\tsnd_soc_dapm_clock_supply = 22,\n\tsnd_soc_dapm_aif_in = 23,\n\tsnd_soc_dapm_aif_out = 24,\n\tsnd_soc_dapm_siggen = 25,\n\tsnd_soc_dapm_sink = 26,\n\tsnd_soc_dapm_dai_in = 27,\n\tsnd_soc_dapm_dai_out = 28,\n\tsnd_soc_dapm_dai_link = 29,\n\tsnd_soc_dapm_kcontrol = 30,\n\tsnd_soc_dapm_buffer = 31,\n\tsnd_soc_dapm_scheduler = 32,\n\tsnd_soc_dapm_effect = 33,\n\tsnd_soc_dapm_src = 34,\n\tsnd_soc_dapm_asrc = 35,\n\tsnd_soc_dapm_encoder = 36,\n\tsnd_soc_dapm_decoder = 37,\n\tSND_SOC_DAPM_TYPE_COUNT = 38,\n};\n\nenum snd_soc_dobj_type {\n\tSND_SOC_DOBJ_NONE = 0,\n\tSND_SOC_DOBJ_MIXER = 1,\n\tSND_SOC_DOBJ_BYTES = 2,\n\tSND_SOC_DOBJ_ENUM = 3,\n\tSND_SOC_DOBJ_GRAPH = 4,\n\tSND_SOC_DOBJ_WIDGET = 5,\n\tSND_SOC_DOBJ_DAI_LINK = 6,\n\tSND_SOC_DOBJ_PCM = 7,\n\tSND_SOC_DOBJ_CODEC_LINK = 8,\n\tSND_SOC_DOBJ_BACKEND_LINK = 9,\n};\n\nenum snd_soc_dpcm_link_state {\n\tSND_SOC_DPCM_LINK_STATE_NEW = 0,\n\tSND_SOC_DPCM_LINK_STATE_FREE = 1,\n};\n\nenum snd_soc_dpcm_state {\n\tSND_SOC_DPCM_STATE_NEW = 0,\n\tSND_SOC_DPCM_STATE_OPEN = 1,\n\tSND_SOC_DPCM_STATE_HW_PARAMS = 2,\n\tSND_SOC_DPCM_STATE_PREPARE = 3,\n\tSND_SOC_DPCM_STATE_START = 4,\n\tSND_SOC_DPCM_STATE_STOP = 5,\n\tSND_SOC_DPCM_STATE_PAUSED = 6,\n\tSND_SOC_DPCM_STATE_SUSPEND = 7,\n\tSND_SOC_DPCM_STATE_HW_FREE = 8,\n\tSND_SOC_DPCM_STATE_CLOSE = 9,\n};\n\nenum snd_soc_dpcm_trigger {\n\tSND_SOC_DPCM_TRIGGER_PRE = 0,\n\tSND_SOC_DPCM_TRIGGER_POST = 1,\n};\n\nenum snd_soc_dpcm_update {\n\tSND_SOC_DPCM_UPDATE_NO = 0,\n\tSND_SOC_DPCM_UPDATE_BE = 1,\n\tSND_SOC_DPCM_UPDATE_FE = 2,\n};\n\nenum snd_soc_pcm_subclass {\n\tSND_SOC_PCM_CLASS_PCM = 0,\n\tSND_SOC_PCM_CLASS_BE = 1,\n};\n\nenum snd_soc_trigger_order {\n\tSND_SOC_TRIGGER_ORDER_DEFAULT = 0,\n\tSND_SOC_TRIGGER_ORDER_LDC = 1,\n\tSND_SOC_TRIGGER_ORDER_MAX = 2,\n};\n\nenum sndrv_ctl_event_type {\n\tSNDRV_CTL_EVENT_ELEM = 0,\n\tSNDRV_CTL_EVENT_LAST = 0,\n};\n\nenum snoop_when {\n\tSUBMIT = 0,\n\tCOMPLETE = 1,\n};\n\nenum sock_flags {\n\tSOCK_DEAD = 0,\n\tSOCK_DONE = 1,\n\tSOCK_URGINLINE = 2,\n\tSOCK_KEEPOPEN = 3,\n\tSOCK_LINGER = 4,\n\tSOCK_DESTROY = 5,\n\tSOCK_BROADCAST = 6,\n\tSOCK_TIMESTAMP = 7,\n\tSOCK_ZAPPED = 8,\n\tSOCK_USE_WRITE_QUEUE = 9,\n\tSOCK_DBG = 10,\n\tSOCK_RCVTSTAMP = 11,\n\tSOCK_RCVTSTAMPNS = 12,\n\tSOCK_LOCALROUTE = 13,\n\tSOCK_MEMALLOC = 14,\n\tSOCK_TIMESTAMPING_RX_SOFTWARE = 15,\n\tSOCK_FASYNC = 16,\n\tSOCK_RXQ_OVFL = 17,\n\tSOCK_ZEROCOPY = 18,\n\tSOCK_WIFI_STATUS = 19,\n\tSOCK_NOFCS = 20,\n\tSOCK_FILTER_LOCKED = 21,\n\tSOCK_SELECT_ERR_QUEUE = 22,\n\tSOCK_RCU_FREE = 23,\n\tSOCK_TXTIME = 24,\n\tSOCK_XDP = 25,\n\tSOCK_TSTAMP_NEW = 26,\n\tSOCK_RCVMARK = 27,\n\tSOCK_RCVPRIORITY = 28,\n};\n\nenum sock_shutdown_cmd {\n\tSHUT_RD = 0,\n\tSHUT_WR = 1,\n\tSHUT_RDWR = 2,\n};\n\nenum sock_type {\n\tSOCK_STREAM = 1,\n\tSOCK_DGRAM = 2,\n\tSOCK_RAW = 3,\n\tSOCK_RDM = 4,\n\tSOCK_SEQPACKET = 5,\n\tSOCK_DCCP = 6,\n\tSOCK_PACKET = 10,\n};\n\nenum spacemit_pin_io_type {\n\tIO_TYPE_NONE = 0,\n\tIO_TYPE_1V8 = 1,\n\tIO_TYPE_3V3 = 2,\n\tIO_TYPE_EXTERNAL = 3,\n};\n\nenum special_kfunc_type {\n\tKF_bpf_obj_new_impl = 0,\n\tKF_bpf_obj_drop_impl = 1,\n\tKF_bpf_refcount_acquire_impl = 2,\n\tKF_bpf_list_push_front_impl = 3,\n\tKF_bpf_list_push_back_impl = 4,\n\tKF_bpf_list_pop_front = 5,\n\tKF_bpf_list_pop_back = 6,\n\tKF_bpf_cast_to_kern_ctx = 7,\n\tKF_bpf_rdonly_cast = 8,\n\tKF_bpf_rcu_read_lock = 9,\n\tKF_bpf_rcu_read_unlock = 10,\n\tKF_bpf_rbtree_remove = 11,\n\tKF_bpf_rbtree_add_impl = 12,\n\tKF_bpf_rbtree_first = 13,\n\tKF_bpf_dynptr_from_skb = 14,\n\tKF_bpf_dynptr_from_xdp = 15,\n\tKF_bpf_dynptr_slice = 16,\n\tKF_bpf_dynptr_slice_rdwr = 17,\n\tKF_bpf_dynptr_clone = 18,\n\tKF_bpf_percpu_obj_new_impl = 19,\n\tKF_bpf_percpu_obj_drop_impl = 20,\n\tKF_bpf_throw = 21,\n\tKF_bpf_wq_set_callback_impl = 22,\n\tKF_bpf_preempt_disable = 23,\n\tKF_bpf_preempt_enable = 24,\n\tKF_bpf_iter_css_task_new = 25,\n\tKF_bpf_session_cookie = 26,\n\tKF_bpf_get_kmem_cache = 27,\n\tKF_bpf_local_irq_save = 28,\n\tKF_bpf_local_irq_restore = 29,\n\tKF_bpf_iter_num_new = 30,\n\tKF_bpf_iter_num_next = 31,\n\tKF_bpf_iter_num_destroy = 32,\n};\n\nenum spi_mem_data_dir {\n\tSPI_MEM_NO_DATA = 0,\n\tSPI_MEM_DATA_IN = 1,\n\tSPI_MEM_DATA_OUT = 2,\n};\n\nenum spi_nor_cmd_ext {\n\tSPI_NOR_EXT_NONE = 0,\n\tSPI_NOR_EXT_REPEAT = 1,\n\tSPI_NOR_EXT_INVERT = 2,\n\tSPI_NOR_EXT_HEX = 3,\n};\n\nenum spi_nor_option_flags {\n\tSNOR_F_HAS_SR_TB = 1,\n\tSNOR_F_NO_OP_CHIP_ERASE = 2,\n\tSNOR_F_BROKEN_RESET = 4,\n\tSNOR_F_4B_OPCODES = 8,\n\tSNOR_F_HAS_4BAIT = 16,\n\tSNOR_F_HAS_LOCK = 32,\n\tSNOR_F_HAS_16BIT_SR = 64,\n\tSNOR_F_NO_READ_CR = 128,\n\tSNOR_F_HAS_SR_TB_BIT6 = 256,\n\tSNOR_F_HAS_4BIT_BP = 512,\n\tSNOR_F_HAS_SR_BP3_BIT6 = 1024,\n\tSNOR_F_IO_MODE_EN_VOLATILE = 2048,\n\tSNOR_F_SOFT_RESET = 4096,\n\tSNOR_F_SWP_IS_VOLATILE = 8192,\n\tSNOR_F_RWW = 16384,\n\tSNOR_F_ECC = 32768,\n\tSNOR_F_NO_WP = 65536,\n\tSNOR_F_SWAP16 = 131072,\n};\n\nenum spi_nor_pp_command_index {\n\tSNOR_CMD_PP = 0,\n\tSNOR_CMD_PP_1_1_4 = 1,\n\tSNOR_CMD_PP_1_4_4 = 2,\n\tSNOR_CMD_PP_4_4_4 = 3,\n\tSNOR_CMD_PP_1_1_8 = 4,\n\tSNOR_CMD_PP_1_8_8 = 5,\n\tSNOR_CMD_PP_8_8_8 = 6,\n\tSNOR_CMD_PP_8_8_8_DTR = 7,\n\tSNOR_CMD_PP_MAX = 8,\n};\n\nenum spi_nor_protocol {\n\tSNOR_PROTO_1_1_1 = 65793,\n\tSNOR_PROTO_1_1_2 = 65794,\n\tSNOR_PROTO_1_1_4 = 65796,\n\tSNOR_PROTO_1_1_8 = 65800,\n\tSNOR_PROTO_1_2_2 = 66050,\n\tSNOR_PROTO_1_4_4 = 66564,\n\tSNOR_PROTO_1_8_8 = 67592,\n\tSNOR_PROTO_2_2_2 = 131586,\n\tSNOR_PROTO_4_4_4 = 263172,\n\tSNOR_PROTO_8_8_8 = 526344,\n\tSNOR_PROTO_1_1_1_DTR = 16843009,\n\tSNOR_PROTO_1_2_2_DTR = 16843266,\n\tSNOR_PROTO_1_4_4_DTR = 16843780,\n\tSNOR_PROTO_1_8_8_DTR = 16844808,\n\tSNOR_PROTO_8_8_8_DTR = 17303560,\n};\n\nenum spi_nor_read_command_index {\n\tSNOR_CMD_READ = 0,\n\tSNOR_CMD_READ_FAST = 1,\n\tSNOR_CMD_READ_1_1_1_DTR = 2,\n\tSNOR_CMD_READ_1_1_2 = 3,\n\tSNOR_CMD_READ_1_2_2 = 4,\n\tSNOR_CMD_READ_2_2_2 = 5,\n\tSNOR_CMD_READ_1_2_2_DTR = 6,\n\tSNOR_CMD_READ_1_1_4 = 7,\n\tSNOR_CMD_READ_1_4_4 = 8,\n\tSNOR_CMD_READ_4_4_4 = 9,\n\tSNOR_CMD_READ_1_4_4_DTR = 10,\n\tSNOR_CMD_READ_1_1_8 = 11,\n\tSNOR_CMD_READ_1_8_8 = 12,\n\tSNOR_CMD_READ_8_8_8 = 13,\n\tSNOR_CMD_READ_1_8_8_DTR = 14,\n\tSNOR_CMD_READ_8_8_8_DTR = 15,\n\tSNOR_CMD_READ_MAX = 16,\n};\n\nenum stat_group {\n\tSTAT_READ = 0,\n\tSTAT_WRITE = 1,\n\tSTAT_DISCARD = 2,\n\tSTAT_FLUSH = 3,\n\tNR_STAT_GROUPS = 4,\n};\n\nenum stat_item {\n\tALLOC_FASTPATH = 0,\n\tALLOC_SLOWPATH = 1,\n\tFREE_FASTPATH = 2,\n\tFREE_SLOWPATH = 3,\n\tFREE_FROZEN = 4,\n\tFREE_ADD_PARTIAL = 5,\n\tFREE_REMOVE_PARTIAL = 6,\n\tALLOC_FROM_PARTIAL = 7,\n\tALLOC_SLAB = 8,\n\tALLOC_REFILL = 9,\n\tALLOC_NODE_MISMATCH = 10,\n\tFREE_SLAB = 11,\n\tCPUSLAB_FLUSH = 12,\n\tDEACTIVATE_FULL = 13,\n\tDEACTIVATE_EMPTY = 14,\n\tDEACTIVATE_TO_HEAD = 15,\n\tDEACTIVATE_TO_TAIL = 16,\n\tDEACTIVATE_REMOTE_FREES = 17,\n\tDEACTIVATE_BYPASS = 18,\n\tORDER_FALLBACK = 19,\n\tCMPXCHG_DOUBLE_CPU_FAIL = 20,\n\tCMPXCHG_DOUBLE_FAIL = 21,\n\tCPU_PARTIAL_ALLOC = 22,\n\tCPU_PARTIAL_FREE = 23,\n\tCPU_PARTIAL_NODE = 24,\n\tCPU_PARTIAL_DRAIN = 25,\n\tNR_SLUB_STAT_ITEMS = 26,\n};\n\nenum state {\n\tStart = 0,\n\tCollect = 1,\n\tGotHeader = 2,\n\tSkipIt = 3,\n\tGotName = 4,\n\tCopyFile = 5,\n\tGotSymlink = 6,\n\tReset = 7,\n};\n\nenum state_protect_how4 {\n\tSP4_NONE = 0,\n\tSP4_MACH_CRED = 1,\n\tSP4_SSV = 2,\n};\n\nenum store_type {\n\twr_invalid = 0,\n\twr_new_root = 1,\n\twr_store_root = 2,\n\twr_exact_fit = 3,\n\twr_spanning_store = 4,\n\twr_split_store = 5,\n\twr_rebalance = 6,\n\twr_append = 7,\n\twr_node_store = 8,\n\twr_slot_store = 9,\n};\n\nenum string_size_units {\n\tSTRING_UNITS_10 = 0,\n\tSTRING_UNITS_2 = 1,\n\tSTRING_UNITS_MASK = 1,\n\tSTRING_UNITS_NO_SPACE = 1073741824,\n\tSTRING_UNITS_NO_BYTES = 2147483648,\n};\n\nenum stripetype4 {\n\tSTRIPE_SPARSE = 1,\n\tSTRIPE_DENSE = 2,\n};\n\nenum sum_check_bits {\n\tSUM_CHECK_P = 0,\n\tSUM_CHECK_Q = 1,\n};\n\nenum sum_check_flags {\n\tSUM_CHECK_P_RESULT = 1,\n\tSUM_CHECK_Q_RESULT = 2,\n};\n\nenum sun50i_iommu_aci {\n\tSUN50I_IOMMU_ACI_DO_NOT_USE = 0,\n\tSUN50I_IOMMU_ACI_NONE = 1,\n\tSUN50I_IOMMU_ACI_RD = 2,\n\tSUN50I_IOMMU_ACI_WR = 3,\n\tSUN50I_IOMMU_ACI_RD_WR = 4,\n};\n\nenum sunxi_desc_bias_voltage {\n\tBIAS_VOLTAGE_NONE = 0,\n\tBIAS_VOLTAGE_GRP_CONFIG = 1,\n\tBIAS_VOLTAGE_PIO_POW_MODE_SEL = 2,\n\tBIAS_VOLTAGE_PIO_POW_MODE_CTL = 3,\n};\n\nenum support_mode {\n\tALLOW_LEGACY = 0,\n\tDENY_LEGACY = 1,\n};\n\nenum suspend_stat_step {\n\tSUSPEND_WORKING = 0,\n\tSUSPEND_FREEZE = 1,\n\tSUSPEND_PREPARE = 2,\n\tSUSPEND_SUSPEND = 3,\n\tSUSPEND_SUSPEND_LATE = 4,\n\tSUSPEND_SUSPEND_NOIRQ = 5,\n\tSUSPEND_RESUME_NOIRQ = 6,\n\tSUSPEND_RESUME_EARLY = 7,\n\tSUSPEND_RESUME = 8,\n};\n\nenum svc_auth_status {\n\tSVC_GARBAGE = 1,\n\tSVC_SYSERR = 2,\n\tSVC_VALID = 3,\n\tSVC_NEGATIVE = 4,\n\tSVC_OK = 5,\n\tSVC_DROP = 6,\n\tSVC_CLOSE = 7,\n\tSVC_DENIED = 8,\n\tSVC_PENDING = 9,\n\tSVC_COMPLETE = 10,\n};\n\nenum sw_activity {\n\tOFF = 0,\n\tBLINK_ON = 1,\n\tBLINK_OFF = 2,\n};\n\nenum swap_cluster_flags {\n\tCLUSTER_FLAG_NONE = 0,\n\tCLUSTER_FLAG_FREE = 1,\n\tCLUSTER_FLAG_NONFULL = 2,\n\tCLUSTER_FLAG_FRAG = 3,\n\tCLUSTER_FLAG_USABLE = 3,\n\tCLUSTER_FLAG_FULL = 4,\n\tCLUSTER_FLAG_DISCARD = 5,\n\tCLUSTER_FLAG_MAX = 6,\n};\n\nenum synaptics_pkt_type {\n\tSYN_NEWABS = 0,\n\tSYN_NEWABS_STRICT = 1,\n\tSYN_NEWABS_RELAXED = 2,\n\tSYN_OLDABS = 3,\n};\n\nenum sys_off_mode {\n\tSYS_OFF_MODE_POWER_OFF_PREPARE = 0,\n\tSYS_OFF_MODE_POWER_OFF = 1,\n\tSYS_OFF_MODE_RESTART_PREPARE = 2,\n\tSYS_OFF_MODE_RESTART = 3,\n};\n\nenum syscall_work_bit {\n\tSYSCALL_WORK_BIT_SECCOMP = 0,\n\tSYSCALL_WORK_BIT_SYSCALL_TRACEPOINT = 1,\n\tSYSCALL_WORK_BIT_SYSCALL_TRACE = 2,\n\tSYSCALL_WORK_BIT_SYSCALL_EMU = 3,\n\tSYSCALL_WORK_BIT_SYSCALL_AUDIT = 4,\n\tSYSCALL_WORK_BIT_SYSCALL_USER_DISPATCH = 5,\n\tSYSCALL_WORK_BIT_SYSCALL_EXIT_TRAP = 6,\n};\n\nenum sysctl_writes_mode {\n\tSYSCTL_WRITES_LEGACY = -1,\n\tSYSCTL_WRITES_WARN = 0,\n\tSYSCTL_WRITES_STRICT = 1,\n};\n\nenum system_states {\n\tSYSTEM_BOOTING = 0,\n\tSYSTEM_SCHEDULING = 1,\n\tSYSTEM_FREEING_INITMEM = 2,\n\tSYSTEM_RUNNING = 3,\n\tSYSTEM_HALT = 4,\n\tSYSTEM_POWER_OFF = 5,\n\tSYSTEM_RESTART = 6,\n\tSYSTEM_SUSPEND = 7,\n};\n\nenum t10_dif_type {\n\tT10_PI_TYPE0_PROTECTION = 0,\n\tT10_PI_TYPE1_PROTECTION = 1,\n\tT10_PI_TYPE2_PROTECTION = 2,\n\tT10_PI_TYPE3_PROTECTION = 3,\n};\n\nenum task_work_notify_mode {\n\tTWA_NONE = 0,\n\tTWA_RESUME = 1,\n\tTWA_SIGNAL = 2,\n\tTWA_SIGNAL_NO_IPI = 3,\n\tTWA_NMI_CURRENT = 4,\n};\n\nenum tc_fifo_command {\n\tTC_FIFO_REPLACE = 0,\n\tTC_FIFO_DESTROY = 1,\n\tTC_FIFO_STATS = 2,\n};\n\nenum tc_link_layer {\n\tTC_LINKLAYER_UNAWARE = 0,\n\tTC_LINKLAYER_ETHERNET = 1,\n\tTC_LINKLAYER_ATM = 2,\n};\n\nenum tc_mq_command {\n\tTC_MQ_CREATE = 0,\n\tTC_MQ_DESTROY = 1,\n\tTC_MQ_STATS = 2,\n\tTC_MQ_GRAFT = 3,\n};\n\nenum tc_root_command {\n\tTC_ROOT_GRAFT = 0,\n};\n\nenum tc_setup_type {\n\tTC_QUERY_CAPS = 0,\n\tTC_SETUP_QDISC_MQPRIO = 1,\n\tTC_SETUP_CLSU32 = 2,\n\tTC_SETUP_CLSFLOWER = 3,\n\tTC_SETUP_CLSMATCHALL = 4,\n\tTC_SETUP_CLSBPF = 5,\n\tTC_SETUP_BLOCK = 6,\n\tTC_SETUP_QDISC_CBS = 7,\n\tTC_SETUP_QDISC_RED = 8,\n\tTC_SETUP_QDISC_PRIO = 9,\n\tTC_SETUP_QDISC_MQ = 10,\n\tTC_SETUP_QDISC_ETF = 11,\n\tTC_SETUP_ROOT_QDISC = 12,\n\tTC_SETUP_QDISC_GRED = 13,\n\tTC_SETUP_QDISC_TAPRIO = 14,\n\tTC_SETUP_FT = 15,\n\tTC_SETUP_QDISC_ETS = 16,\n\tTC_SETUP_QDISC_TBF = 17,\n\tTC_SETUP_QDISC_FIFO = 18,\n\tTC_SETUP_QDISC_HTB = 19,\n\tTC_SETUP_ACT = 20,\n};\n\nenum tca_id {\n\tTCA_ID_UNSPEC = 0,\n\tTCA_ID_POLICE = 1,\n\tTCA_ID_GACT = 5,\n\tTCA_ID_IPT = 6,\n\tTCA_ID_PEDIT = 7,\n\tTCA_ID_MIRRED = 8,\n\tTCA_ID_NAT = 9,\n\tTCA_ID_XT = 10,\n\tTCA_ID_SKBEDIT = 11,\n\tTCA_ID_VLAN = 12,\n\tTCA_ID_BPF = 13,\n\tTCA_ID_CONNMARK = 14,\n\tTCA_ID_SKBMOD = 15,\n\tTCA_ID_CSUM = 16,\n\tTCA_ID_TUNNEL_KEY = 17,\n\tTCA_ID_SIMP = 22,\n\tTCA_ID_IFE = 25,\n\tTCA_ID_SAMPLE = 26,\n\tTCA_ID_CTINFO = 27,\n\tTCA_ID_MPLS = 28,\n\tTCA_ID_CT = 29,\n\tTCA_ID_GATE = 30,\n\t__TCA_ID_MAX = 255,\n};\n\nenum tcf_proto_ops_flags {\n\tTCF_PROTO_OPS_DOIT_UNLOCKED = 1,\n};\n\nenum tcp_ca_ack_event_flags {\n\tCA_ACK_SLOWPATH = 1,\n\tCA_ACK_WIN_UPDATE = 2,\n\tCA_ACK_ECE = 4,\n};\n\nenum tcp_ca_event {\n\tCA_EVENT_TX_START = 0,\n\tCA_EVENT_CWND_RESTART = 1,\n\tCA_EVENT_COMPLETE_CWR = 2,\n\tCA_EVENT_LOSS = 3,\n\tCA_EVENT_ECN_NO_CE = 4,\n\tCA_EVENT_ECN_IS_CE = 5,\n};\n\nenum tcp_ca_state {\n\tTCP_CA_Open = 0,\n\tTCP_CA_Disorder = 1,\n\tTCP_CA_CWR = 2,\n\tTCP_CA_Recovery = 3,\n\tTCP_CA_Loss = 4,\n};\n\nenum tcp_chrono {\n\tTCP_CHRONO_UNSPEC = 0,\n\tTCP_CHRONO_BUSY = 1,\n\tTCP_CHRONO_RWND_LIMITED = 2,\n\tTCP_CHRONO_SNDBUF_LIMITED = 3,\n\t__TCP_CHRONO_MAX = 4,\n};\n\nenum tcp_conntrack {\n\tTCP_CONNTRACK_NONE = 0,\n\tTCP_CONNTRACK_SYN_SENT = 1,\n\tTCP_CONNTRACK_SYN_RECV = 2,\n\tTCP_CONNTRACK_ESTABLISHED = 3,\n\tTCP_CONNTRACK_FIN_WAIT = 4,\n\tTCP_CONNTRACK_CLOSE_WAIT = 5,\n\tTCP_CONNTRACK_LAST_ACK = 6,\n\tTCP_CONNTRACK_TIME_WAIT = 7,\n\tTCP_CONNTRACK_CLOSE = 8,\n\tTCP_CONNTRACK_LISTEN = 9,\n\tTCP_CONNTRACK_MAX = 10,\n\tTCP_CONNTRACK_IGNORE = 11,\n\tTCP_CONNTRACK_RETRANS = 12,\n\tTCP_CONNTRACK_UNACK = 13,\n\tTCP_CONNTRACK_TIMEOUT_MAX = 14,\n};\n\nenum tcp_fastopen_client_fail {\n\tTFO_STATUS_UNSPEC = 0,\n\tTFO_COOKIE_UNAVAILABLE = 1,\n\tTFO_DATA_NOT_ACKED = 2,\n\tTFO_SYN_RETRANSMITTED = 3,\n};\n\nenum tcp_metric_index {\n\tTCP_METRIC_RTT = 0,\n\tTCP_METRIC_RTTVAR = 1,\n\tTCP_METRIC_SSTHRESH = 2,\n\tTCP_METRIC_CWND = 3,\n\tTCP_METRIC_REORDERING = 4,\n\tTCP_METRIC_RTT_US = 5,\n\tTCP_METRIC_RTTVAR_US = 6,\n\t__TCP_METRIC_MAX = 7,\n};\n\nenum tcp_queue {\n\tTCP_FRAG_IN_WRITE_QUEUE = 0,\n\tTCP_FRAG_IN_RTX_QUEUE = 1,\n};\n\nenum tcp_seq_states {\n\tTCP_SEQ_STATE_LISTENING = 0,\n\tTCP_SEQ_STATE_ESTABLISHED = 1,\n};\n\nenum tcp_skb_cb_sacked_flags {\n\tTCPCB_SACKED_ACKED = 1,\n\tTCPCB_SACKED_RETRANS = 2,\n\tTCPCB_LOST = 4,\n\tTCPCB_TAGBITS = 7,\n\tTCPCB_REPAIRED = 16,\n\tTCPCB_EVER_RETRANS = 128,\n\tTCPCB_RETRANS = 146,\n};\n\nenum tcp_synack_type {\n\tTCP_SYNACK_NORMAL = 0,\n\tTCP_SYNACK_FASTOPEN = 1,\n\tTCP_SYNACK_COOKIE = 2,\n};\n\nenum tcp_tw_status {\n\tTCP_TW_SUCCESS = 0,\n\tTCP_TW_RST = 1,\n\tTCP_TW_ACK = 2,\n\tTCP_TW_SYN = 3,\n};\n\nenum tcpa_event_types {\n\tPREBOOT = 0,\n\tPOST_CODE = 1,\n\tUNUSED = 2,\n\tNO_ACTION = 3,\n\tSEPARATOR = 4,\n\tACTION = 5,\n\tEVENT_TAG = 6,\n\tSCRTM_CONTENTS = 7,\n\tSCRTM_VERSION = 8,\n\tCPU_MICROCODE = 9,\n\tPLATFORM_CONFIG_FLAGS = 10,\n\tTABLE_OF_DEVICES = 11,\n\tCOMPACT_HASH = 12,\n\tIPL = 13,\n\tIPL_PARTITION_DATA = 14,\n\tNONHOST_CODE = 15,\n\tNONHOST_CONFIG = 16,\n\tNONHOST_INFO = 17,\n};\n\nenum tcx_action_base {\n\tTCX_NEXT = -1,\n\tTCX_PASS = 0,\n\tTCX_DROP = 2,\n\tTCX_REDIRECT = 7,\n};\n\nenum tg_state_flags {\n\tTHROTL_TG_PENDING = 1,\n\tTHROTL_TG_WAS_EMPTY = 2,\n\tTHROTL_TG_CANCELING = 4,\n};\n\nenum th1520_muxtype {\n\tTH1520_MUX_____ = 0,\n\tTH1520_MUX_GPIO = 1,\n\tTH1520_MUX_PWM = 2,\n\tTH1520_MUX_UART = 3,\n\tTH1520_MUX_IR = 4,\n\tTH1520_MUX_I2C = 5,\n\tTH1520_MUX_SPI = 6,\n\tTH1520_MUX_QSPI = 7,\n\tTH1520_MUX_SDIO = 8,\n\tTH1520_MUX_AUD = 9,\n\tTH1520_MUX_I2S = 10,\n\tTH1520_MUX_MAC0 = 11,\n\tTH1520_MUX_MAC1 = 12,\n\tTH1520_MUX_DPU0 = 13,\n\tTH1520_MUX_DPU1 = 14,\n\tTH1520_MUX_ISP = 15,\n\tTH1520_MUX_HDMI = 16,\n\tTH1520_MUX_BSEL = 17,\n\tTH1520_MUX_DBG = 18,\n\tTH1520_MUX_CLK = 19,\n\tTH1520_MUX_JTAG = 20,\n\tTH1520_MUX_ISO = 21,\n\tTH1520_MUX_FUSE = 22,\n\tTH1520_MUX_RST = 23,\n};\n\nenum thermal_device_mode {\n\tTHERMAL_DEVICE_DISABLED = 0,\n\tTHERMAL_DEVICE_ENABLED = 1,\n};\n\nenum thermal_notify_event {\n\tTHERMAL_EVENT_UNSPECIFIED = 0,\n\tTHERMAL_EVENT_TEMP_SAMPLE = 1,\n\tTHERMAL_TRIP_VIOLATED = 2,\n\tTHERMAL_TRIP_CHANGED = 3,\n\tTHERMAL_DEVICE_DOWN = 4,\n\tTHERMAL_DEVICE_UP = 5,\n\tTHERMAL_DEVICE_POWER_CAPABILITY_CHANGED = 6,\n\tTHERMAL_TABLE_CHANGED = 7,\n\tTHERMAL_EVENT_KEEP_ALIVE = 8,\n\tTHERMAL_TZ_BIND_CDEV = 9,\n\tTHERMAL_TZ_UNBIND_CDEV = 10,\n\tTHERMAL_INSTANCE_WEIGHT_CHANGED = 11,\n\tTHERMAL_TZ_RESUME = 12,\n\tTHERMAL_TZ_ADD_THRESHOLD = 13,\n\tTHERMAL_TZ_DEL_THRESHOLD = 14,\n\tTHERMAL_TZ_FLUSH_THRESHOLDS = 15,\n};\n\nenum thermal_trend {\n\tTHERMAL_TREND_STABLE = 0,\n\tTHERMAL_TREND_RAISING = 1,\n\tTHERMAL_TREND_DROPPING = 2,\n};\n\nenum thermal_trip_type {\n\tTHERMAL_TRIP_ACTIVE = 0,\n\tTHERMAL_TRIP_PASSIVE = 1,\n\tTHERMAL_TRIP_HOT = 2,\n\tTHERMAL_TRIP_CRITICAL = 3,\n};\n\nenum tick_broadcast_mode {\n\tTICK_BROADCAST_OFF = 0,\n\tTICK_BROADCAST_ON = 1,\n\tTICK_BROADCAST_FORCE = 2,\n};\n\nenum tick_broadcast_state {\n\tTICK_BROADCAST_EXIT = 0,\n\tTICK_BROADCAST_ENTER = 1,\n};\n\nenum tick_dep_bits {\n\tTICK_DEP_BIT_POSIX_TIMER = 0,\n\tTICK_DEP_BIT_PERF_EVENTS = 1,\n\tTICK_DEP_BIT_SCHED = 2,\n\tTICK_DEP_BIT_CLOCK_UNSTABLE = 3,\n\tTICK_DEP_BIT_RCU = 4,\n\tTICK_DEP_BIT_RCU_EXP = 5,\n};\n\nenum tick_device_mode {\n\tTICKDEV_MODE_PERIODIC = 0,\n\tTICKDEV_MODE_ONESHOT = 1,\n};\n\nenum timekeeping_adv_mode {\n\tTK_ADV_TICK = 0,\n\tTK_ADV_FREQ = 1,\n};\n\nenum timer_tread_format {\n\tTREAD_FORMAT_NONE = 0,\n\tTREAD_FORMAT_TIME64 = 1,\n\tTREAD_FORMAT_TIME32 = 2,\n};\n\nenum timespec_type {\n\tTT_NONE = 0,\n\tTT_NATIVE = 1,\n\tTT_COMPAT = 2,\n};\n\nenum tk_offsets {\n\tTK_OFFS_REAL = 0,\n\tTK_OFFS_BOOT = 1,\n\tTK_OFFS_TAI = 2,\n\tTK_OFFS_MAX = 3,\n};\n\nenum tlb_flush_reason {\n\tTLB_FLUSH_ON_TASK_SWITCH = 0,\n\tTLB_REMOTE_SHOOTDOWN = 1,\n\tTLB_LOCAL_SHOOTDOWN = 2,\n\tTLB_LOCAL_MM_SHOOTDOWN = 3,\n\tTLB_REMOTE_SEND_IPI = 4,\n\tTLB_REMOTE_WRONG_CPU = 5,\n\tNR_TLB_FLUSH_REASONS = 6,\n};\n\nenum tp_func_state {\n\tTP_FUNC_0 = 0,\n\tTP_FUNC_1 = 1,\n\tTP_FUNC_2 = 2,\n\tTP_FUNC_N = 3,\n};\n\nenum tp_transition_sync {\n\tTP_TRANSITION_SYNC_1_0_1 = 0,\n\tTP_TRANSITION_SYNC_N_2_1 = 1,\n\t_NR_TP_TRANSITION_SYNC = 2,\n};\n\nenum tpacket_versions {\n\tTPACKET_V1 = 0,\n\tTPACKET_V2 = 1,\n\tTPACKET_V3 = 2,\n};\n\nenum tpm_duration {\n\tTPM_SHORT = 0,\n\tTPM_MEDIUM = 1,\n\tTPM_LONG = 2,\n\tTPM_LONG_LONG = 3,\n\tTPM_UNDEFINED = 4,\n\tTPM_NUM_DURATIONS = 4,\n};\n\nenum trace_flag_type {\n\tTRACE_FLAG_IRQS_OFF = 1,\n\tTRACE_FLAG_NEED_RESCHED_LAZY = 2,\n\tTRACE_FLAG_NEED_RESCHED = 4,\n\tTRACE_FLAG_HARDIRQ = 8,\n\tTRACE_FLAG_SOFTIRQ = 16,\n\tTRACE_FLAG_PREEMPT_RESCHED = 32,\n\tTRACE_FLAG_NMI = 64,\n\tTRACE_FLAG_BH_OFF = 128,\n};\n\nenum trace_iter_flags {\n\tTRACE_FILE_LAT_FMT = 1,\n\tTRACE_FILE_ANNOTATE = 2,\n\tTRACE_FILE_TIME_IN_NS = 4,\n};\n\nenum trace_iterator_bits {\n\tTRACE_ITER_PRINT_PARENT_BIT = 0,\n\tTRACE_ITER_SYM_OFFSET_BIT = 1,\n\tTRACE_ITER_SYM_ADDR_BIT = 2,\n\tTRACE_ITER_VERBOSE_BIT = 3,\n\tTRACE_ITER_RAW_BIT = 4,\n\tTRACE_ITER_HEX_BIT = 5,\n\tTRACE_ITER_BIN_BIT = 6,\n\tTRACE_ITER_BLOCK_BIT = 7,\n\tTRACE_ITER_FIELDS_BIT = 8,\n\tTRACE_ITER_PRINTK_BIT = 9,\n\tTRACE_ITER_ANNOTATE_BIT = 10,\n\tTRACE_ITER_USERSTACKTRACE_BIT = 11,\n\tTRACE_ITER_SYM_USEROBJ_BIT = 12,\n\tTRACE_ITER_PRINTK_MSGONLY_BIT = 13,\n\tTRACE_ITER_CONTEXT_INFO_BIT = 14,\n\tTRACE_ITER_LATENCY_FMT_BIT = 15,\n\tTRACE_ITER_RECORD_CMD_BIT = 16,\n\tTRACE_ITER_RECORD_TGID_BIT = 17,\n\tTRACE_ITER_OVERWRITE_BIT = 18,\n\tTRACE_ITER_STOP_ON_FREE_BIT = 19,\n\tTRACE_ITER_IRQ_INFO_BIT = 20,\n\tTRACE_ITER_MARKERS_BIT = 21,\n\tTRACE_ITER_EVENT_FORK_BIT = 22,\n\tTRACE_ITER_TRACE_PRINTK_BIT = 23,\n\tTRACE_ITER_PAUSE_ON_TRACE_BIT = 24,\n\tTRACE_ITER_HASH_PTR_BIT = 25,\n\tTRACE_ITER_STACKTRACE_BIT = 26,\n\tTRACE_ITER_LAST_BIT = 27,\n};\n\nenum trace_iterator_flags {\n\tTRACE_ITER_PRINT_PARENT = 1,\n\tTRACE_ITER_SYM_OFFSET = 2,\n\tTRACE_ITER_SYM_ADDR = 4,\n\tTRACE_ITER_VERBOSE = 8,\n\tTRACE_ITER_RAW = 16,\n\tTRACE_ITER_HEX = 32,\n\tTRACE_ITER_BIN = 64,\n\tTRACE_ITER_BLOCK = 128,\n\tTRACE_ITER_FIELDS = 256,\n\tTRACE_ITER_PRINTK = 512,\n\tTRACE_ITER_ANNOTATE = 1024,\n\tTRACE_ITER_USERSTACKTRACE = 2048,\n\tTRACE_ITER_SYM_USEROBJ = 4096,\n\tTRACE_ITER_PRINTK_MSGONLY = 8192,\n\tTRACE_ITER_CONTEXT_INFO = 16384,\n\tTRACE_ITER_LATENCY_FMT = 32768,\n\tTRACE_ITER_RECORD_CMD = 65536,\n\tTRACE_ITER_RECORD_TGID = 131072,\n\tTRACE_ITER_OVERWRITE = 262144,\n\tTRACE_ITER_STOP_ON_FREE = 524288,\n\tTRACE_ITER_IRQ_INFO = 1048576,\n\tTRACE_ITER_MARKERS = 2097152,\n\tTRACE_ITER_EVENT_FORK = 4194304,\n\tTRACE_ITER_TRACE_PRINTK = 8388608,\n\tTRACE_ITER_PAUSE_ON_TRACE = 16777216,\n\tTRACE_ITER_HASH_PTR = 33554432,\n\tTRACE_ITER_STACKTRACE = 67108864,\n};\n\nenum trace_reg {\n\tTRACE_REG_REGISTER = 0,\n\tTRACE_REG_UNREGISTER = 1,\n\tTRACE_REG_PERF_REGISTER = 2,\n\tTRACE_REG_PERF_UNREGISTER = 3,\n\tTRACE_REG_PERF_OPEN = 4,\n\tTRACE_REG_PERF_CLOSE = 5,\n\tTRACE_REG_PERF_ADD = 6,\n\tTRACE_REG_PERF_DEL = 7,\n};\n\nenum trace_type {\n\t__TRACE_FIRST_TYPE = 0,\n\tTRACE_FN = 1,\n\tTRACE_CTX = 2,\n\tTRACE_WAKE = 3,\n\tTRACE_STACK = 4,\n\tTRACE_PRINT = 5,\n\tTRACE_BPRINT = 6,\n\tTRACE_MMIO_RW = 7,\n\tTRACE_MMIO_MAP = 8,\n\tTRACE_BRANCH = 9,\n\tTRACE_GRAPH_RET = 10,\n\tTRACE_GRAPH_ENT = 11,\n\tTRACE_GRAPH_RETADDR_ENT = 12,\n\tTRACE_USER_STACK = 13,\n\tTRACE_BLK = 14,\n\tTRACE_BPUTS = 15,\n\tTRACE_HWLAT = 16,\n\tTRACE_OSNOISE = 17,\n\tTRACE_TIMERLAT = 18,\n\tTRACE_RAW_DATA = 19,\n\tTRACE_FUNC_REPEATS = 20,\n\t__TRACE_LAST_TYPE = 21,\n};\n\nenum track_item {\n\tTRACK_ALLOC = 0,\n\tTRACK_FREE = 1,\n};\n\nenum translation_map {\n\tLAT1_MAP = 0,\n\tGRAF_MAP = 1,\n\tIBMPC_MAP = 2,\n\tUSER_MAP = 3,\n\tFIRST_MAP = 0,\n\tLAST_MAP = 3,\n};\n\nenum tsq_enum {\n\tTSQ_THROTTLED = 0,\n\tTSQ_QUEUED = 1,\n\tTCP_TSQ_DEFERRED = 2,\n\tTCP_WRITE_TIMER_DEFERRED = 3,\n\tTCP_DELACK_TIMER_DEFERRED = 4,\n\tTCP_MTU_REDUCED_DEFERRED = 5,\n\tTCP_ACK_DEFERRED = 6,\n};\n\nenum tsq_flags {\n\tTSQF_THROTTLED = 1,\n\tTSQF_QUEUED = 2,\n\tTCPF_TSQ_DEFERRED = 4,\n\tTCPF_WRITE_TIMER_DEFERRED = 8,\n\tTCPF_DELACK_TIMER_DEFERRED = 16,\n\tTCPF_MTU_REDUCED_DEFERRED = 32,\n\tTCPF_ACK_DEFERRED = 64,\n};\n\nenum ttu_flags {\n\tTTU_SPLIT_HUGE_PMD = 4,\n\tTTU_IGNORE_MLOCK = 8,\n\tTTU_SYNC = 16,\n\tTTU_HWPOISON = 32,\n\tTTU_BATCH_FLUSH = 64,\n\tTTU_RMAP_LOCKED = 128,\n};\n\nenum tty_flow_change {\n\tTTY_FLOW_NO_CHANGE = 0,\n\tTTY_THROTTLE_SAFE = 1,\n\tTTY_UNTHROTTLE_SAFE = 2,\n};\n\nenum tunable_id {\n\tETHTOOL_ID_UNSPEC = 0,\n\tETHTOOL_RX_COPYBREAK = 1,\n\tETHTOOL_TX_COPYBREAK = 2,\n\tETHTOOL_PFC_PREVENTION_TOUT = 3,\n\tETHTOOL_TX_COPYBREAK_BUF_SIZE = 4,\n\t__ETHTOOL_TUNABLE_COUNT = 5,\n};\n\nenum tunable_type_id {\n\tETHTOOL_TUNABLE_UNSPEC = 0,\n\tETHTOOL_TUNABLE_U8 = 1,\n\tETHTOOL_TUNABLE_U16 = 2,\n\tETHTOOL_TUNABLE_U32 = 3,\n\tETHTOOL_TUNABLE_U64 = 4,\n\tETHTOOL_TUNABLE_STRING = 5,\n\tETHTOOL_TUNABLE_S8 = 6,\n\tETHTOOL_TUNABLE_S16 = 7,\n\tETHTOOL_TUNABLE_S32 = 8,\n\tETHTOOL_TUNABLE_S64 = 9,\n};\n\nenum tunnel_encap_types {\n\tTUNNEL_ENCAP_NONE = 0,\n\tTUNNEL_ENCAP_FOU = 1,\n\tTUNNEL_ENCAP_GUE = 2,\n\tTUNNEL_ENCAP_MPLS = 3,\n};\n\nenum txtime_flags {\n\tSOF_TXTIME_DEADLINE_MODE = 1,\n\tSOF_TXTIME_REPORT_ERRORS = 2,\n\tSOF_TXTIME_FLAGS_LAST = 2,\n\tSOF_TXTIME_FLAGS_MASK = 3,\n};\n\nenum uart_pm_state {\n\tUART_PM_STATE_ON = 0,\n\tUART_PM_STATE_OFF = 3,\n\tUART_PM_STATE_UNDEFINED = 4,\n};\n\nenum uclamp_id {\n\tUCLAMP_MIN = 0,\n\tUCLAMP_MAX = 1,\n\tUCLAMP_CNT = 2,\n};\n\nenum ucount_type {\n\tUCOUNT_USER_NAMESPACES = 0,\n\tUCOUNT_PID_NAMESPACES = 1,\n\tUCOUNT_UTS_NAMESPACES = 2,\n\tUCOUNT_IPC_NAMESPACES = 3,\n\tUCOUNT_NET_NAMESPACES = 4,\n\tUCOUNT_MNT_NAMESPACES = 5,\n\tUCOUNT_CGROUP_NAMESPACES = 6,\n\tUCOUNT_TIME_NAMESPACES = 7,\n\tUCOUNT_INOTIFY_INSTANCES = 8,\n\tUCOUNT_INOTIFY_WATCHES = 9,\n\tUCOUNT_COUNTS = 10,\n};\n\nenum udp_conntrack {\n\tUDP_CT_UNREPLIED = 0,\n\tUDP_CT_REPLIED = 1,\n\tUDP_CT_MAX = 2,\n};\n\nenum udp_parsable_tunnel_type {\n\tUDP_TUNNEL_TYPE_VXLAN = 1,\n\tUDP_TUNNEL_TYPE_GENEVE = 2,\n\tUDP_TUNNEL_TYPE_VXLAN_GPE = 4,\n};\n\nenum udp_tunnel_nic_info_flags {\n\tUDP_TUNNEL_NIC_INFO_MAY_SLEEP = 1,\n\tUDP_TUNNEL_NIC_INFO_OPEN_ONLY = 2,\n\tUDP_TUNNEL_NIC_INFO_IPV4_ONLY = 4,\n\tUDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN = 8,\n};\n\nenum umh_disable_depth {\n\tUMH_ENABLED = 0,\n\tUMH_FREEZING = 1,\n\tUMH_DISABLED = 2,\n};\n\nenum umount_tree_flags {\n\tUMOUNT_SYNC = 1,\n\tUMOUNT_PROPAGATE = 2,\n\tUMOUNT_CONNECTED = 4,\n};\n\nenum unix_vertex_index {\n\tUNIX_VERTEX_INDEX_MARK1 = 0,\n\tUNIX_VERTEX_INDEX_MARK2 = 1,\n\tUNIX_VERTEX_INDEX_START = 2,\n};\n\nenum uprobe_task_state {\n\tUTASK_RUNNING = 0,\n\tUTASK_SSTEP = 1,\n\tUTASK_SSTEP_ACK = 2,\n\tUTASK_SSTEP_TRAPPED = 3,\n};\n\nenum usb3_link_state {\n\tUSB3_LPM_U0 = 0,\n\tUSB3_LPM_U1 = 1,\n\tUSB3_LPM_U2 = 2,\n\tUSB3_LPM_U3 = 3,\n};\n\nenum usb_charger_state {\n\tUSB_CHARGER_DEFAULT = 0,\n\tUSB_CHARGER_PRESENT = 1,\n\tUSB_CHARGER_ABSENT = 2,\n};\n\nenum usb_charger_type {\n\tUNKNOWN_TYPE = 0,\n\tSDP_TYPE = 1,\n\tDCP_TYPE = 2,\n\tCDP_TYPE = 3,\n\tACA_TYPE = 4,\n};\n\nenum usb_dev_authorize_policy {\n\tUSB_DEVICE_AUTHORIZE_NONE = 0,\n\tUSB_DEVICE_AUTHORIZE_ALL = 1,\n\tUSB_DEVICE_AUTHORIZE_INTERNAL = 2,\n};\n\nenum usb_device_speed {\n\tUSB_SPEED_UNKNOWN = 0,\n\tUSB_SPEED_LOW = 1,\n\tUSB_SPEED_FULL = 2,\n\tUSB_SPEED_HIGH = 3,\n\tUSB_SPEED_WIRELESS = 4,\n\tUSB_SPEED_SUPER = 5,\n\tUSB_SPEED_SUPER_PLUS = 6,\n};\n\nenum usb_device_state {\n\tUSB_STATE_NOTATTACHED = 0,\n\tUSB_STATE_ATTACHED = 1,\n\tUSB_STATE_POWERED = 2,\n\tUSB_STATE_RECONNECTING = 3,\n\tUSB_STATE_UNAUTHENTICATED = 4,\n\tUSB_STATE_DEFAULT = 5,\n\tUSB_STATE_ADDRESS = 6,\n\tUSB_STATE_CONFIGURED = 7,\n\tUSB_STATE_SUSPENDED = 8,\n};\n\nenum usb_dr_mode {\n\tUSB_DR_MODE_UNKNOWN = 0,\n\tUSB_DR_MODE_HOST = 1,\n\tUSB_DR_MODE_PERIPHERAL = 2,\n\tUSB_DR_MODE_OTG = 3,\n};\n\nenum usb_interface_condition {\n\tUSB_INTERFACE_UNBOUND = 0,\n\tUSB_INTERFACE_BINDING = 1,\n\tUSB_INTERFACE_BOUND = 2,\n\tUSB_INTERFACE_UNBINDING = 3,\n};\n\nenum usb_led_event {\n\tUSB_LED_EVENT_HOST = 0,\n\tUSB_LED_EVENT_GADGET = 1,\n};\n\nenum usb_link_tunnel_mode {\n\tUSB_LINK_UNKNOWN = 0,\n\tUSB_LINK_NATIVE = 1,\n\tUSB_LINK_TUNNELED = 2,\n};\n\nenum usb_otg_state {\n\tOTG_STATE_UNDEFINED = 0,\n\tOTG_STATE_B_IDLE = 1,\n\tOTG_STATE_B_SRP_INIT = 2,\n\tOTG_STATE_B_PERIPHERAL = 3,\n\tOTG_STATE_B_WAIT_ACON = 4,\n\tOTG_STATE_B_HOST = 5,\n\tOTG_STATE_A_IDLE = 6,\n\tOTG_STATE_A_WAIT_VRISE = 7,\n\tOTG_STATE_A_WAIT_BCON = 8,\n\tOTG_STATE_A_HOST = 9,\n\tOTG_STATE_A_SUSPEND = 10,\n\tOTG_STATE_A_PERIPHERAL = 11,\n\tOTG_STATE_A_WAIT_VFALL = 12,\n\tOTG_STATE_A_VBUS_ERR = 13,\n};\n\nenum usb_phy_events {\n\tUSB_EVENT_NONE = 0,\n\tUSB_EVENT_VBUS = 1,\n\tUSB_EVENT_ID = 2,\n\tUSB_EVENT_CHARGER = 3,\n\tUSB_EVENT_ENUMERATED = 4,\n};\n\nenum usb_phy_interface {\n\tUSBPHY_INTERFACE_MODE_UNKNOWN = 0,\n\tUSBPHY_INTERFACE_MODE_UTMI = 1,\n\tUSBPHY_INTERFACE_MODE_UTMIW = 2,\n\tUSBPHY_INTERFACE_MODE_ULPI = 3,\n\tUSBPHY_INTERFACE_MODE_SERIAL = 4,\n\tUSBPHY_INTERFACE_MODE_HSIC = 5,\n};\n\nenum usb_phy_type {\n\tUSB_PHY_TYPE_UNDEFINED = 0,\n\tUSB_PHY_TYPE_USB2 = 1,\n\tUSB_PHY_TYPE_USB3 = 2,\n};\n\nenum usb_port_connect_type {\n\tUSB_PORT_CONNECT_TYPE_UNKNOWN = 0,\n\tUSB_PORT_CONNECT_TYPE_HOT_PLUG = 1,\n\tUSB_PORT_CONNECT_TYPE_HARD_WIRED = 2,\n\tUSB_PORT_NOT_USED = 3,\n};\n\nenum usb_ssp_rate {\n\tUSB_SSP_GEN_UNKNOWN = 0,\n\tUSB_SSP_GEN_2x1 = 1,\n\tUSB_SSP_GEN_1x2 = 2,\n\tUSB_SSP_GEN_2x2 = 3,\n};\n\nenum usb_wireless_status {\n\tUSB_WIRELESS_STATUS_NA = 0,\n\tUSB_WIRELESS_STATUS_DISCONNECTED = 1,\n\tUSB_WIRELESS_STATUS_CONNECTED = 2,\n};\n\nenum utf16_endian {\n\tUTF16_HOST_ENDIAN = 0,\n\tUTF16_LITTLE_ENDIAN = 1,\n\tUTF16_BIG_ENDIAN = 2,\n};\n\nenum utf8_normalization {\n\tUTF8_NFDI = 0,\n\tUTF8_NFDICF = 1,\n\tUTF8_NMAX = 2,\n};\n\nenum uts_proc {\n\tUTS_PROC_ARCH = 0,\n\tUTS_PROC_OSTYPE = 1,\n\tUTS_PROC_OSRELEASE = 2,\n\tUTS_PROC_VERSION = 3,\n\tUTS_PROC_HOSTNAME = 4,\n\tUTS_PROC_DOMAINNAME = 5,\n};\n\nenum v4l2_av1_segment_feature {\n\tV4L2_AV1_SEG_LVL_ALT_Q = 0,\n\tV4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,\n\tV4L2_AV1_SEG_LVL_REF_FRAME = 5,\n\tV4L2_AV1_SEG_LVL_REF_SKIP = 6,\n\tV4L2_AV1_SEG_LVL_REF_GLOBALMV = 7,\n\tV4L2_AV1_SEG_LVL_MAX = 8,\n};\n\nenum v4l2_fwnode_bus_type {\n\tV4L2_FWNODE_BUS_TYPE_GUESS = 0,\n\tV4L2_FWNODE_BUS_TYPE_CSI2_CPHY = 1,\n\tV4L2_FWNODE_BUS_TYPE_CSI1 = 2,\n\tV4L2_FWNODE_BUS_TYPE_CCP2 = 3,\n\tV4L2_FWNODE_BUS_TYPE_CSI2_DPHY = 4,\n\tV4L2_FWNODE_BUS_TYPE_PARALLEL = 5,\n\tV4L2_FWNODE_BUS_TYPE_BT656 = 6,\n\tV4L2_FWNODE_BUS_TYPE_DPI = 7,\n\tNR_OF_V4L2_FWNODE_BUS_TYPE = 8,\n};\n\nenum v4l2_preemphasis {\n\tV4L2_PREEMPHASIS_DISABLED = 0,\n\tV4L2_PREEMPHASIS_50_uS = 1,\n\tV4L2_PREEMPHASIS_75_uS = 2,\n};\n\nenum vc_ctl_state {\n\tESnormal = 0,\n\tESesc = 1,\n\tESsquare = 2,\n\tESgetpars = 3,\n\tESfunckey = 4,\n\tEShash = 5,\n\tESsetG0 = 6,\n\tESsetG1 = 7,\n\tESpercent = 8,\n\tEScsiignore = 9,\n\tESnonstd = 10,\n\tESpalette = 11,\n\tESosc = 12,\n\tESANSI_first = 12,\n\tESapc = 13,\n\tESpm = 14,\n\tESdcs = 15,\n\tESANSI_last = 15,\n};\n\nenum vc_intensity {\n\tVCI_HALF_BRIGHT = 0,\n\tVCI_NORMAL = 1,\n\tVCI_BOLD = 2,\n\tVCI_MASK = 3,\n};\n\nenum vdso_clock_mode {\n\tVDSO_CLOCKMODE_NONE = 0,\n\tVDSO_CLOCKMODE_ARCHTIMER = 1,\n\tVDSO_CLOCKMODE_MAX = 2,\n\tVDSO_CLOCKMODE_TIMENS = 2147483647,\n};\n\nenum verifier_phase {\n\tCHECK_META = 0,\n\tCHECK_TYPE = 1,\n};\n\nenum vesa_blank_mode {\n\tVESA_NO_BLANKING = 0,\n\tVESA_VSYNC_SUSPEND = 1,\n\tVESA_HSYNC_SUSPEND = 2,\n\tVESA_POWERDOWN = 3,\n\tVESA_BLANK_MAX = 3,\n};\n\nenum virtio_balloon_config_read {\n\tVIRTIO_BALLOON_CONFIG_READ_CMD_ID = 0,\n};\n\nenum virtio_balloon_vq {\n\tVIRTIO_BALLOON_VQ_INFLATE = 0,\n\tVIRTIO_BALLOON_VQ_DEFLATE = 1,\n\tVIRTIO_BALLOON_VQ_STATS = 2,\n\tVIRTIO_BALLOON_VQ_FREE_PAGE = 3,\n\tVIRTIO_BALLOON_VQ_REPORTING = 4,\n\tVIRTIO_BALLOON_VQ_MAX = 5,\n};\n\nenum virtio_input_config_select {\n\tVIRTIO_INPUT_CFG_UNSET = 0,\n\tVIRTIO_INPUT_CFG_ID_NAME = 1,\n\tVIRTIO_INPUT_CFG_ID_SERIAL = 2,\n\tVIRTIO_INPUT_CFG_ID_DEVIDS = 3,\n\tVIRTIO_INPUT_CFG_PROP_BITS = 16,\n\tVIRTIO_INPUT_CFG_EV_BITS = 17,\n\tVIRTIO_INPUT_CFG_ABS_INFO = 18,\n};\n\nenum virtnet_xmit_type {\n\tVIRTNET_XMIT_TYPE_SKB = 0,\n\tVIRTNET_XMIT_TYPE_SKB_ORPHAN = 1,\n\tVIRTNET_XMIT_TYPE_XDP = 2,\n\tVIRTNET_XMIT_TYPE_XSK = 3,\n};\n\nenum visit_state {\n\tNOT_VISITED = 0,\n\tVISITED = 1,\n\tRESOLVED = 2,\n};\n\nenum vlan_flags {\n\tVLAN_FLAG_REORDER_HDR = 1,\n\tVLAN_FLAG_GVRP = 2,\n\tVLAN_FLAG_LOOSE_BINDING = 4,\n\tVLAN_FLAG_MVRP = 8,\n\tVLAN_FLAG_BRIDGE_BINDING = 16,\n};\n\nenum vlan_protos {\n\tVLAN_PROTO_8021Q = 0,\n\tVLAN_PROTO_8021AD = 1,\n\tVLAN_PROTO_NUM = 2,\n};\n\nenum vm_event_item {\n\tPGPGIN = 0,\n\tPGPGOUT = 1,\n\tPSWPIN = 2,\n\tPSWPOUT = 3,\n\tPGALLOC_DMA32 = 4,\n\tPGALLOC_NORMAL = 5,\n\tPGALLOC_MOVABLE = 6,\n\tALLOCSTALL_DMA32 = 7,\n\tALLOCSTALL_NORMAL = 8,\n\tALLOCSTALL_MOVABLE = 9,\n\tPGSCAN_SKIP_DMA32 = 10,\n\tPGSCAN_SKIP_NORMAL = 11,\n\tPGSCAN_SKIP_MOVABLE = 12,\n\tPGFREE = 13,\n\tPGACTIVATE = 14,\n\tPGDEACTIVATE = 15,\n\tPGLAZYFREE = 16,\n\tPGFAULT = 17,\n\tPGMAJFAULT = 18,\n\tPGLAZYFREED = 19,\n\tPGREFILL = 20,\n\tPGREUSE = 21,\n\tPGSTEAL_KSWAPD = 22,\n\tPGSTEAL_DIRECT = 23,\n\tPGSTEAL_KHUGEPAGED = 24,\n\tPGSCAN_KSWAPD = 25,\n\tPGSCAN_DIRECT = 26,\n\tPGSCAN_KHUGEPAGED = 27,\n\tPGSCAN_DIRECT_THROTTLE = 28,\n\tPGSCAN_ANON = 29,\n\tPGSCAN_FILE = 30,\n\tPGSTEAL_ANON = 31,\n\tPGSTEAL_FILE = 32,\n\tPGINODESTEAL = 33,\n\tSLABS_SCANNED = 34,\n\tKSWAPD_INODESTEAL = 35,\n\tKSWAPD_LOW_WMARK_HIT_QUICKLY = 36,\n\tKSWAPD_HIGH_WMARK_HIT_QUICKLY = 37,\n\tPAGEOUTRUN = 38,\n\tPGROTATED = 39,\n\tDROP_PAGECACHE = 40,\n\tDROP_SLAB = 41,\n\tOOM_KILL = 42,\n\tPGMIGRATE_SUCCESS = 43,\n\tPGMIGRATE_FAIL = 44,\n\tTHP_MIGRATION_SUCCESS = 45,\n\tTHP_MIGRATION_FAIL = 46,\n\tTHP_MIGRATION_SPLIT = 47,\n\tCOMPACTMIGRATE_SCANNED = 48,\n\tCOMPACTFREE_SCANNED = 49,\n\tCOMPACTISOLATED = 50,\n\tCOMPACTSTALL = 51,\n\tCOMPACTFAIL = 52,\n\tCOMPACTSUCCESS = 53,\n\tKCOMPACTD_WAKE = 54,\n\tKCOMPACTD_MIGRATE_SCANNED = 55,\n\tKCOMPACTD_FREE_SCANNED = 56,\n\tHTLB_BUDDY_PGALLOC = 57,\n\tHTLB_BUDDY_PGALLOC_FAIL = 58,\n\tUNEVICTABLE_PGCULLED = 59,\n\tUNEVICTABLE_PGSCANNED = 60,\n\tUNEVICTABLE_PGRESCUED = 61,\n\tUNEVICTABLE_PGMLOCKED = 62,\n\tUNEVICTABLE_PGMUNLOCKED = 63,\n\tUNEVICTABLE_PGCLEARED = 64,\n\tUNEVICTABLE_PGSTRANDED = 65,\n\tBALLOON_INFLATE = 66,\n\tBALLOON_DEFLATE = 67,\n\tBALLOON_MIGRATE = 68,\n\tSWAP_RA = 69,\n\tSWAP_RA_HIT = 70,\n\tSWPIN_ZERO = 71,\n\tSWPOUT_ZERO = 72,\n\tNR_VM_EVENT_ITEMS = 73,\n};\n\nenum vm_fault_reason {\n\tVM_FAULT_OOM = 1,\n\tVM_FAULT_SIGBUS = 2,\n\tVM_FAULT_MAJOR = 4,\n\tVM_FAULT_HWPOISON = 16,\n\tVM_FAULT_HWPOISON_LARGE = 32,\n\tVM_FAULT_SIGSEGV = 64,\n\tVM_FAULT_NOPAGE = 256,\n\tVM_FAULT_LOCKED = 512,\n\tVM_FAULT_RETRY = 1024,\n\tVM_FAULT_FALLBACK = 2048,\n\tVM_FAULT_DONE_COW = 4096,\n\tVM_FAULT_NEEDDSYNC = 8192,\n\tVM_FAULT_COMPLETED = 16384,\n\tVM_FAULT_HINDEX_MASK = 983040,\n};\n\nenum vm_stat_item {\n\tNR_DIRTY_THRESHOLD = 0,\n\tNR_DIRTY_BG_THRESHOLD = 1,\n\tNR_MEMMAP_PAGES = 2,\n\tNR_MEMMAP_BOOT_PAGES = 3,\n\tNR_VM_STAT_ITEMS = 4,\n};\n\nenum vma_merge_flags {\n\tVMG_FLAG_DEFAULT = 0,\n\tVMG_FLAG_JUST_EXPAND = 1,\n};\n\nenum vma_merge_state {\n\tVMA_MERGE_START = 0,\n\tVMA_MERGE_ERROR_NOMEM = 1,\n\tVMA_MERGE_NOMERGE = 2,\n\tVMA_MERGE_SUCCESS = 3,\n};\n\nenum vma_resv_mode {\n\tVMA_NEEDS_RESV = 0,\n\tVMA_COMMIT_RESV = 1,\n\tVMA_END_RESV = 2,\n\tVMA_ADD_RESV = 3,\n\tVMA_DEL_RESV = 4,\n};\n\nenum vmpressure_levels {\n\tVMPRESSURE_LOW = 0,\n\tVMPRESSURE_MEDIUM = 1,\n\tVMPRESSURE_CRITICAL = 2,\n\tVMPRESSURE_NUM_LEVELS = 3,\n};\n\nenum vmpressure_modes {\n\tVMPRESSURE_NO_PASSTHROUGH = 0,\n\tVMPRESSURE_HIERARCHY = 1,\n\tVMPRESSURE_LOCAL = 2,\n\tVMPRESSURE_NUM_MODES = 3,\n};\n\nenum vmscan_throttle_state {\n\tVMSCAN_THROTTLE_WRITEBACK = 0,\n\tVMSCAN_THROTTLE_ISOLATED = 1,\n\tVMSCAN_THROTTLE_NOPROGRESS = 2,\n\tVMSCAN_THROTTLE_CONGESTED = 3,\n\tNR_VMSCAN_THROTTLE = 4,\n};\n\nenum vp_vq_vector_policy {\n\tVP_VQ_VECTOR_POLICY_EACH = 0,\n\tVP_VQ_VECTOR_POLICY_SHARED_SLOW = 1,\n\tVP_VQ_VECTOR_POLICY_SHARED = 2,\n};\n\nenum vsc85xx_global_phy {\n\tVSC88XX_BASE_ADDR = 0,\n};\n\nenum vvar_pages {\n\tVVAR_DATA_PAGE_OFFSET = 0,\n\tVVAR_TIMENS_PAGE_OFFSET = 1,\n\tVVAR_NR_PAGES = 2,\n};\n\nenum wb_reason {\n\tWB_REASON_BACKGROUND = 0,\n\tWB_REASON_VMSCAN = 1,\n\tWB_REASON_SYNC = 2,\n\tWB_REASON_PERIODIC = 3,\n\tWB_REASON_LAPTOP_TIMER = 4,\n\tWB_REASON_FS_FREE_SPACE = 5,\n\tWB_REASON_FORKER_THREAD = 6,\n\tWB_REASON_FOREIGN_FLUSH = 7,\n\tWB_REASON_MAX = 8,\n};\n\nenum wb_stat_item {\n\tWB_RECLAIMABLE = 0,\n\tWB_WRITEBACK = 1,\n\tWB_DIRTIED = 2,\n\tWB_WRITTEN = 3,\n\tNR_WB_STAT_ITEMS = 4,\n};\n\nenum wb_state {\n\tWB_registered = 0,\n\tWB_writeback_running = 1,\n\tWB_has_dirty_io = 2,\n\tWB_start_all = 3,\n};\n\nenum why_no_delegation4 {\n\tWND4_NOT_WANTED = 0,\n\tWND4_CONTENTION = 1,\n\tWND4_RESOURCE = 2,\n\tWND4_NOT_SUPP_FTYPE = 3,\n\tWND4_WRITE_DELEG_NOT_SUPP_FTYPE = 4,\n\tWND4_NOT_SUPP_UPGRADE = 5,\n\tWND4_NOT_SUPP_DOWNGRADE = 6,\n\tWND4_CANCELLED = 7,\n\tWND4_IS_DIR = 8,\n};\n\nenum work_bits {\n\tWORK_STRUCT_PENDING_BIT = 0,\n\tWORK_STRUCT_INACTIVE_BIT = 1,\n\tWORK_STRUCT_PWQ_BIT = 2,\n\tWORK_STRUCT_LINKED_BIT = 3,\n\tWORK_STRUCT_FLAG_BITS = 4,\n\tWORK_STRUCT_COLOR_SHIFT = 4,\n\tWORK_STRUCT_COLOR_BITS = 4,\n\tWORK_STRUCT_PWQ_SHIFT = 8,\n\tWORK_OFFQ_FLAG_SHIFT = 4,\n\tWORK_OFFQ_BH_BIT = 4,\n\tWORK_OFFQ_FLAG_END = 5,\n\tWORK_OFFQ_FLAG_BITS = 1,\n\tWORK_OFFQ_DISABLE_SHIFT = 5,\n\tWORK_OFFQ_DISABLE_BITS = 16,\n\tWORK_OFFQ_POOL_SHIFT = 21,\n\tWORK_OFFQ_LEFT = 43,\n\tWORK_OFFQ_POOL_BITS = 31,\n};\n\nenum work_cancel_flags {\n\tWORK_CANCEL_DELAYED = 1,\n\tWORK_CANCEL_DISABLE = 2,\n};\n\nenum work_flags {\n\tWORK_STRUCT_PENDING = 1,\n\tWORK_STRUCT_INACTIVE = 2,\n\tWORK_STRUCT_PWQ = 4,\n\tWORK_STRUCT_LINKED = 8,\n\tWORK_STRUCT_STATIC = 0,\n};\n\nenum worker_flags {\n\tWORKER_DIE = 2,\n\tWORKER_IDLE = 4,\n\tWORKER_PREP = 8,\n\tWORKER_CPU_INTENSIVE = 64,\n\tWORKER_UNBOUND = 128,\n\tWORKER_REBOUND = 256,\n\tWORKER_NOT_RUNNING = 456,\n};\n\nenum worker_pool_flags {\n\tPOOL_BH = 1,\n\tPOOL_MANAGER_ACTIVE = 2,\n\tPOOL_DISASSOCIATED = 4,\n\tPOOL_BH_DRAINING = 8,\n};\n\nenum wq_affn_scope {\n\tWQ_AFFN_DFL = 0,\n\tWQ_AFFN_CPU = 1,\n\tWQ_AFFN_SMT = 2,\n\tWQ_AFFN_CACHE = 3,\n\tWQ_AFFN_NUMA = 4,\n\tWQ_AFFN_SYSTEM = 5,\n\tWQ_AFFN_NR_TYPES = 6,\n};\n\nenum wq_consts {\n\tWQ_MAX_ACTIVE = 2048,\n\tWQ_UNBOUND_MAX_ACTIVE = 2048,\n\tWQ_DFL_ACTIVE = 1024,\n\tWQ_DFL_MIN_ACTIVE = 8,\n};\n\nenum wq_flags {\n\tWQ_BH = 1,\n\tWQ_UNBOUND = 2,\n\tWQ_FREEZABLE = 4,\n\tWQ_MEM_RECLAIM = 8,\n\tWQ_HIGHPRI = 16,\n\tWQ_CPU_INTENSIVE = 32,\n\tWQ_SYSFS = 64,\n\tWQ_POWER_EFFICIENT = 128,\n\t__WQ_DESTROYING = 32768,\n\t__WQ_DRAINING = 65536,\n\t__WQ_ORDERED = 131072,\n\t__WQ_LEGACY = 262144,\n\t__WQ_BH_ALLOWS = 17,\n};\n\nenum wq_internal_consts {\n\tNR_STD_WORKER_POOLS = 2,\n\tUNBOUND_POOL_HASH_ORDER = 6,\n\tBUSY_WORKER_HASH_ORDER = 6,\n\tMAX_IDLE_WORKERS_RATIO = 4,\n\tIDLE_WORKER_TIMEOUT = 75000,\n\tMAYDAY_INITIAL_TIMEOUT = 2,\n\tMAYDAY_INTERVAL = 25,\n\tCREATE_COOLDOWN = 250,\n\tRESCUER_NICE_LEVEL = -20,\n\tHIGHPRI_NICE_LEVEL = -20,\n\tWQ_NAME_LEN = 32,\n\tWORKER_ID_LEN = 42,\n};\n\nenum wq_misc_consts {\n\tWORK_NR_COLORS = 16,\n\tWORK_CPU_UNBOUND = 64,\n\tWORK_BUSY_PENDING = 1,\n\tWORK_BUSY_RUNNING = 2,\n\tWORKER_DESC_LEN = 32,\n};\n\nenum writeback_sync_modes {\n\tWB_SYNC_NONE = 0,\n\tWB_SYNC_ALL = 1,\n};\n\nenum xa_lock_type {\n\tXA_LOCK_IRQ = 1,\n\tXA_LOCK_BH = 2,\n};\n\nenum xdp_action {\n\tXDP_ABORTED = 0,\n\tXDP_DROP = 1,\n\tXDP_PASS = 2,\n\tXDP_TX = 3,\n\tXDP_REDIRECT = 4,\n};\n\nenum xdp_buff_flags {\n\tXDP_FLAGS_HAS_FRAGS = 1,\n\tXDP_FLAGS_FRAGS_PF_MEMALLOC = 2,\n};\n\nenum xdp_mem_type {\n\tMEM_TYPE_PAGE_SHARED = 0,\n\tMEM_TYPE_PAGE_ORDER0 = 1,\n\tMEM_TYPE_PAGE_POOL = 2,\n\tMEM_TYPE_XSK_BUFF_POOL = 3,\n\tMEM_TYPE_MAX = 4,\n};\n\nenum xdp_rss_hash_type {\n\tXDP_RSS_L3_IPV4 = 1,\n\tXDP_RSS_L3_IPV6 = 2,\n\tXDP_RSS_L3_DYNHDR = 4,\n\tXDP_RSS_L4 = 8,\n\tXDP_RSS_L4_TCP = 16,\n\tXDP_RSS_L4_UDP = 32,\n\tXDP_RSS_L4_SCTP = 64,\n\tXDP_RSS_L4_IPSEC = 128,\n\tXDP_RSS_L4_ICMP = 256,\n\tXDP_RSS_TYPE_NONE = 0,\n\tXDP_RSS_TYPE_L2 = 0,\n\tXDP_RSS_TYPE_L3_IPV4 = 1,\n\tXDP_RSS_TYPE_L3_IPV6 = 2,\n\tXDP_RSS_TYPE_L3_IPV4_OPT = 5,\n\tXDP_RSS_TYPE_L3_IPV6_EX = 6,\n\tXDP_RSS_TYPE_L4_ANY = 8,\n\tXDP_RSS_TYPE_L4_IPV4_TCP = 25,\n\tXDP_RSS_TYPE_L4_IPV4_UDP = 41,\n\tXDP_RSS_TYPE_L4_IPV4_SCTP = 73,\n\tXDP_RSS_TYPE_L4_IPV4_IPSEC = 137,\n\tXDP_RSS_TYPE_L4_IPV4_ICMP = 265,\n\tXDP_RSS_TYPE_L4_IPV6_TCP = 26,\n\tXDP_RSS_TYPE_L4_IPV6_UDP = 42,\n\tXDP_RSS_TYPE_L4_IPV6_SCTP = 74,\n\tXDP_RSS_TYPE_L4_IPV6_IPSEC = 138,\n\tXDP_RSS_TYPE_L4_IPV6_ICMP = 266,\n\tXDP_RSS_TYPE_L4_IPV6_TCP_EX = 30,\n\tXDP_RSS_TYPE_L4_IPV6_UDP_EX = 46,\n\tXDP_RSS_TYPE_L4_IPV6_SCTP_EX = 78,\n};\n\nenum xdp_rx_metadata {\n\tXDP_METADATA_KFUNC_RX_TIMESTAMP = 0,\n\tXDP_METADATA_KFUNC_RX_HASH = 1,\n\tXDP_METADATA_KFUNC_RX_VLAN_TAG = 2,\n\tMAX_XDP_METADATA_KFUNC = 3,\n};\n\nenum xen_domain_type {\n\tXEN_NATIVE = 0,\n\tXEN_PV_DOMAIN = 1,\n\tXEN_HVM_DOMAIN = 2,\n};\n\nenum xfer_buf_dir {\n\tTO_XFER_BUF = 0,\n\tFROM_XFER_BUF = 1,\n};\n\nenum xfrm_ae_ftype_t {\n\tXFRM_AE_UNSPEC = 0,\n\tXFRM_AE_RTHR = 1,\n\tXFRM_AE_RVAL = 2,\n\tXFRM_AE_LVAL = 4,\n\tXFRM_AE_ETHR = 8,\n\tXFRM_AE_CR = 16,\n\tXFRM_AE_CE = 32,\n\tXFRM_AE_CU = 64,\n\t__XFRM_AE_MAX = 65,\n};\n\nenum xfrm_attr_type_t {\n\tXFRMA_UNSPEC = 0,\n\tXFRMA_ALG_AUTH = 1,\n\tXFRMA_ALG_CRYPT = 2,\n\tXFRMA_ALG_COMP = 3,\n\tXFRMA_ENCAP = 4,\n\tXFRMA_TMPL = 5,\n\tXFRMA_SA = 6,\n\tXFRMA_POLICY = 7,\n\tXFRMA_SEC_CTX = 8,\n\tXFRMA_LTIME_VAL = 9,\n\tXFRMA_REPLAY_VAL = 10,\n\tXFRMA_REPLAY_THRESH = 11,\n\tXFRMA_ETIMER_THRESH = 12,\n\tXFRMA_SRCADDR = 13,\n\tXFRMA_COADDR = 14,\n\tXFRMA_LASTUSED = 15,\n\tXFRMA_POLICY_TYPE = 16,\n\tXFRMA_MIGRATE = 17,\n\tXFRMA_ALG_AEAD = 18,\n\tXFRMA_KMADDRESS = 19,\n\tXFRMA_ALG_AUTH_TRUNC = 20,\n\tXFRMA_MARK = 21,\n\tXFRMA_TFCPAD = 22,\n\tXFRMA_REPLAY_ESN_VAL = 23,\n\tXFRMA_SA_EXTRA_FLAGS = 24,\n\tXFRMA_PROTO = 25,\n\tXFRMA_ADDRESS_FILTER = 26,\n\tXFRMA_PAD = 27,\n\tXFRMA_OFFLOAD_DEV = 28,\n\tXFRMA_SET_MARK = 29,\n\tXFRMA_SET_MARK_MASK = 30,\n\tXFRMA_IF_ID = 31,\n\tXFRMA_MTIMER_THRESH = 32,\n\tXFRMA_SA_DIR = 33,\n\tXFRMA_NAT_KEEPALIVE_INTERVAL = 34,\n\tXFRMA_SA_PCPU = 35,\n\tXFRMA_IPTFS_DROP_TIME = 36,\n\tXFRMA_IPTFS_REORDER_WINDOW = 37,\n\tXFRMA_IPTFS_DONT_FRAG = 38,\n\tXFRMA_IPTFS_INIT_DELAY = 39,\n\tXFRMA_IPTFS_MAX_QSIZE = 40,\n\tXFRMA_IPTFS_PKT_SIZE = 41,\n\t__XFRMA_MAX = 42,\n};\n\nenum xfrm_nlgroups {\n\tXFRMNLGRP_NONE = 0,\n\tXFRMNLGRP_ACQUIRE = 1,\n\tXFRMNLGRP_EXPIRE = 2,\n\tXFRMNLGRP_SA = 3,\n\tXFRMNLGRP_POLICY = 4,\n\tXFRMNLGRP_AEVENTS = 5,\n\tXFRMNLGRP_REPORT = 6,\n\tXFRMNLGRP_MIGRATE = 7,\n\tXFRMNLGRP_MAPPING = 8,\n\t__XFRMNLGRP_MAX = 9,\n};\n\nenum xfrm_pol_inexact_candidate_type {\n\tXFRM_POL_CAND_BOTH = 0,\n\tXFRM_POL_CAND_SADDR = 1,\n\tXFRM_POL_CAND_DADDR = 2,\n\tXFRM_POL_CAND_ANY = 3,\n\tXFRM_POL_CAND_MAX = 4,\n};\n\nenum xfrm_replay_mode {\n\tXFRM_REPLAY_MODE_LEGACY = 0,\n\tXFRM_REPLAY_MODE_BMP = 1,\n\tXFRM_REPLAY_MODE_ESN = 2,\n};\n\nenum xfrm_sa_dir {\n\tXFRM_SA_DIR_IN = 1,\n\tXFRM_SA_DIR_OUT = 2,\n};\n\nenum xhci_cancelled_td_status {\n\tTD_DIRTY = 0,\n\tTD_HALTED = 1,\n\tTD_CLEARING_CACHE = 2,\n\tTD_CLEARING_CACHE_DEFERRED = 3,\n\tTD_CLEARED = 4,\n};\n\nenum xhci_ep_reset_type {\n\tEP_HARD_RESET = 0,\n\tEP_SOFT_RESET = 1,\n};\n\nenum xhci_overhead_type {\n\tLS_OVERHEAD_TYPE = 0,\n\tFS_OVERHEAD_TYPE = 1,\n\tHS_OVERHEAD_TYPE = 2,\n};\n\nenum xhci_ring_type {\n\tTYPE_CTRL = 0,\n\tTYPE_ISOC = 1,\n\tTYPE_BULK = 2,\n\tTYPE_INTR = 3,\n\tTYPE_STREAM = 4,\n\tTYPE_COMMAND = 5,\n\tTYPE_EVENT = 6,\n};\n\nenum xhci_setup_dev {\n\tSETUP_CONTEXT_ONLY = 0,\n\tSETUP_CONTEXT_ADDRESS = 1,\n};\n\nenum xprt_transports {\n\tXPRT_TRANSPORT_UDP = 17,\n\tXPRT_TRANSPORT_TCP = 6,\n\tXPRT_TRANSPORT_BC_TCP = -2147483642,\n\tXPRT_TRANSPORT_RDMA = 256,\n\tXPRT_TRANSPORT_BC_RDMA = -2147483392,\n\tXPRT_TRANSPORT_LOCAL = 257,\n\tXPRT_TRANSPORT_TCP_TLS = 258,\n};\n\nenum xprt_xid_rb_cmp {\n\tXID_RB_EQUAL = 0,\n\tXID_RB_LEFT = 1,\n\tXID_RB_RIGHT = 2,\n};\n\nenum xprtsec_policies {\n\tRPC_XPRTSEC_NONE = 0,\n\tRPC_XPRTSEC_TLS_ANON = 1,\n\tRPC_XPRTSEC_TLS_X509 = 2,\n};\n\nenum xps_map_type {\n\tXPS_CPUS = 0,\n\tXPS_RXQS = 1,\n\tXPS_MAPS_MAX = 2,\n};\n\nenum xz_check {\n\tXZ_CHECK_NONE = 0,\n\tXZ_CHECK_CRC32 = 1,\n\tXZ_CHECK_CRC64 = 4,\n\tXZ_CHECK_SHA256 = 10,\n};\n\nenum xz_mode {\n\tXZ_SINGLE = 0,\n\tXZ_PREALLOC = 1,\n\tXZ_DYNALLOC = 2,\n};\n\nenum xz_ret {\n\tXZ_OK = 0,\n\tXZ_STREAM_END = 1,\n\tXZ_UNSUPPORTED_CHECK = 2,\n\tXZ_MEM_ERROR = 3,\n\tXZ_MEMLIMIT_ERROR = 4,\n\tXZ_FORMAT_ERROR = 5,\n\tXZ_OPTIONS_ERROR = 6,\n\tXZ_DATA_ERROR = 7,\n\tXZ_BUF_ERROR = 8,\n};\n\nenum zone_flags {\n\tZONE_BOOSTED_WATERMARK = 0,\n\tZONE_RECLAIM_ACTIVE = 1,\n\tZONE_BELOW_HIGH = 2,\n};\n\nenum zone_stat_item {\n\tNR_FREE_PAGES = 0,\n\tNR_ZONE_LRU_BASE = 1,\n\tNR_ZONE_INACTIVE_ANON = 1,\n\tNR_ZONE_ACTIVE_ANON = 2,\n\tNR_ZONE_INACTIVE_FILE = 3,\n\tNR_ZONE_ACTIVE_FILE = 4,\n\tNR_ZONE_UNEVICTABLE = 5,\n\tNR_ZONE_WRITE_PENDING = 6,\n\tNR_MLOCK = 7,\n\tNR_BOUNCE = 8,\n\tNR_FREE_CMA_PAGES = 9,\n\tNR_VM_ZONE_STAT_ITEMS = 10,\n};\n\nenum zone_type {\n\tZONE_DMA32 = 0,\n\tZONE_NORMAL = 1,\n\tZONE_MOVABLE = 2,\n\t__MAX_NR_ZONES = 3,\n};\n\nenum zone_watermarks {\n\tWMARK_MIN = 0,\n\tWMARK_LOW = 1,\n\tWMARK_HIGH = 2,\n\tWMARK_PROMO = 3,\n\tNR_WMARK = 4,\n};\n\ntypedef _Bool bool;\n\ntypedef __int128 unsigned __u128;\n\ntypedef __u128 u128;\n\ntypedef u128 freelist_full_t;\n\ntypedef char __pad_after_uframe[0];\n\ntypedef char __pad_before_u32[0];\n\ntypedef char __pad_before_uframe[0];\n\ntypedef char acpi_bus_id[8];\n\ntypedef char acpi_device_class[20];\n\ntypedef char acpi_device_name[40];\n\ntypedef char *acpi_string;\n\ntypedef const char (* const ethnl_string_array_t)[32];\n\ntypedef int __kernel_clockid_t;\n\ntypedef int __kernel_daddr_t;\n\ntypedef int __kernel_ipc_pid_t;\n\ntypedef int __kernel_key_t;\n\ntypedef int __kernel_mqd_t;\n\ntypedef int __kernel_pid_t;\n\ntypedef int __kernel_rwf_t;\n\ntypedef int __kernel_timer_t;\n\ntypedef int __s32;\n\ntypedef int class_get_unused_fd_t;\n\ntypedef __kernel_clockid_t clockid_t;\n\ntypedef __s32 s32;\n\ntypedef s32 compat_clock_t;\n\ntypedef s32 compat_daddr_t;\n\ntypedef s32 compat_int_t;\n\ntypedef s32 compat_ipc_pid_t;\n\ntypedef s32 compat_key_t;\n\ntypedef s32 compat_long_t;\n\ntypedef s32 compat_off_t;\n\ntypedef s32 compat_pid_t;\n\ntypedef s32 compat_ssize_t;\n\ntypedef s32 compat_timer_t;\n\ntypedef int cydp_t;\n\ntypedef s32 dma_cookie_t;\n\ntypedef int ext4_grpblk_t;\n\ntypedef int folio_walk_flags_t;\n\ntypedef int fpb_t;\n\ntypedef int fpi_t;\n\ntypedef s32 int32_t;\n\ntypedef int32_t key_serial_t;\n\ntypedef __kernel_key_t key_t;\n\ntypedef int kprobe_opcode_t;\n\ntypedef int mpi_size_t;\n\ntypedef __kernel_mqd_t mqd_t;\n\ntypedef s32 old_time32_t;\n\ntypedef int pci_power_t;\n\ntypedef __kernel_pid_t pid_t;\n\ntypedef int rmap_t;\n\ntypedef __kernel_rwf_t rwf_t;\n\ntypedef __s32 sctp_assoc_t;\n\ntypedef int snd_ctl_elem_iface_t;\n\ntypedef int snd_ctl_elem_type_t;\n\ntypedef int snd_pcm_access_t;\n\ntypedef int snd_pcm_format_t;\n\ntypedef int snd_pcm_hw_param_t;\n\ntypedef int snd_pcm_state_t;\n\ntypedef int snd_pcm_subformat_t;\n\ntypedef int suspend_state_t;\n\ntypedef __kernel_timer_t timer_t;\n\ntypedef long int __kernel_long_t;\n\ntypedef __kernel_long_t __kernel_clock_t;\n\ntypedef __kernel_long_t __kernel_off_t;\n\ntypedef __kernel_long_t __kernel_old_time_t;\n\ntypedef __kernel_long_t __kernel_ptrdiff_t;\n\ntypedef __kernel_long_t __kernel_ssize_t;\n\ntypedef __kernel_long_t __kernel_suseconds_t;\n\ntypedef __kernel_clock_t clock_t;\n\ntypedef long int intptr_t;\n\ntypedef long int mpi_limb_signed_t;\n\ntypedef __kernel_off_t off_t;\n\ntypedef __kernel_ptrdiff_t ptrdiff_t;\n\ntypedef long int snd_pcm_sframes_t;\n\ntypedef __kernel_ssize_t ssize_t;\n\ntypedef __kernel_suseconds_t suseconds_t;\n\ntypedef long long int __s64;\n\ntypedef __s64 Elf64_Sxword;\n\ntypedef long long int __kernel_loff_t;\n\ntypedef long long int __kernel_time64_t;\n\ntypedef __s64 s64;\n\ntypedef s64 compat_loff_t;\n\ntypedef s64 int64_t;\n\ntypedef s64 ktime_t;\n\ntypedef __kernel_loff_t loff_t;\n\ntypedef long long int qsize_t;\n\ntypedef __s64 time64_t;\n\ntypedef long long unsigned int __u64;\n\ntypedef __u64 Elf64_Addr;\n\ntypedef __u64 Elf64_Off;\n\ntypedef __u64 Elf64_Xword;\n\ntypedef __u64 u64;\n\ntypedef u64 uint64_t;\n\ntypedef uint64_t U64;\n\ntypedef U64 ZSTD_VecMask;\n\ntypedef __u64 __addrpair;\n\ntypedef __u64 __be64;\n\ntypedef __u64 __le64;\n\ntypedef __u64 __virtio64;\n\ntypedef u64 acpi_bus_address;\n\ntypedef u64 acpi_integer;\n\ntypedef u64 acpi_io_address;\n\ntypedef u64 acpi_physical_address;\n\ntypedef u64 acpi_size;\n\ntypedef u64 async_cookie_t;\n\ntypedef __u64 blist_flags_t;\n\ntypedef u64 blkcnt_t;\n\ntypedef u64 clientid4;\n\ntypedef u64 compat_u64;\n\ntypedef u64 dma_addr_t;\n\ntypedef u64 efi_physical_addr_t;\n\ntypedef long long unsigned int ext4_fsblk_t;\n\ntypedef __be64 fdt64_t;\n\ntypedef u64 gfn_t;\n\ntypedef u64 gpa_t;\n\ntypedef u64 io_req_flags_t;\n\ntypedef long long unsigned int llu;\n\ntypedef u64 netdev_features_t;\n\ntypedef u64 pci_bus_addr_t;\n\ntypedef u64 phys_addr_t;\n\ntypedef u64 phys_cpuid_t;\n\ntypedef phys_addr_t resource_size_t;\n\ntypedef u64 sci_t;\n\ntypedef u64 sector_t;\n\ntypedef __u64 timeu64_t;\n\ntypedef u64 u_int64_t;\n\ntypedef u64 upf_t;\n\ntypedef uint64_t vli_type;\n\ntypedef long unsigned int __kernel_ulong_t;\n\ntypedef __kernel_ulong_t __kernel_size_t;\n\ntypedef __kernel_size_t size_t;\n\ntypedef size_t HUF_CElt;\n\ntypedef long unsigned int mpi_limb_t;\n\ntypedef mpi_limb_t UWtype;\n\ntypedef __kernel_ulong_t aio_context_t;\n\ntypedef long unsigned int cycles_t;\n\ntypedef long unsigned int efi_status_t;\n\ntypedef __kernel_ulong_t ino_t;\n\ntypedef long unsigned int irq_hw_number_t;\n\ntypedef long unsigned int kernel_ulong_t;\n\ntypedef mpi_limb_t *mpi_ptr_t;\n\ntypedef long unsigned int netmem_ref;\n\ntypedef long unsigned int perf_trace_t[1024];\n\ntypedef long unsigned int pte_marker;\n\ntypedef long unsigned int snd_pcm_uframes_t;\n\ntypedef long unsigned int uLong;\n\ntypedef long unsigned int u_long;\n\ntypedef long unsigned int uintptr_t;\n\ntypedef long unsigned int ulong;\n\ntypedef uintptr_t uptrval;\n\ntypedef long unsigned int vm_flags_t;\n\ntypedef short int __s16;\n\ntypedef __s16 s16;\n\ntypedef s16 int16_t;\n\ntypedef int16_t S16;\n\ntypedef short unsigned int __u16;\n\ntypedef __u16 Elf32_Half;\n\ntypedef __u16 Elf64_Half;\n\ntypedef __u16 u16;\n\ntypedef u16 uint16_t;\n\ntypedef uint16_t U16;\n\ntypedef __u16 __be16;\n\ntypedef __u16 __hc16;\n\ntypedef short unsigned int __kernel_gid16_t;\n\ntypedef short unsigned int __kernel_sa_family_t;\n\ntypedef short unsigned int __kernel_uid16_t;\n\ntypedef __u16 __le16;\n\ntypedef __u16 __rpmsg16;\n\ntypedef __u16 __sum16;\n\ntypedef __u16 __virtio16;\n\ntypedef u16 acpi_owner_id;\n\ntypedef u16 acpi_rs_length;\n\ntypedef u16 compat_ushort_t;\n\ntypedef u16 efi_char16_t;\n\ntypedef __kernel_gid16_t gid16_t;\n\ntypedef short unsigned int pci_bus_flags_t;\n\ntypedef short unsigned int pci_dev_flags_t;\n\ntypedef __u16 port_id;\n\ntypedef __kernel_sa_family_t sa_family_t;\n\ntypedef u16 u_int16_t;\n\ntypedef short unsigned int u_short;\n\ntypedef u16 ucs2_char_t;\n\ntypedef __kernel_uid16_t uid16_t;\n\ntypedef __u16 uio_meta_flags_t;\n\ntypedef short unsigned int umode_t;\n\ntypedef short unsigned int ushort;\n\ntypedef u16 wchar_t;\n\ntypedef signed char __s8;\n\ntypedef __s8 s8;\n\ntypedef s8 int8_t;\n\ntypedef unsigned char __u8;\n\ntypedef __u8 u8;\n\ntypedef u8 uint8_t;\n\ntypedef uint8_t BYTE;\n\ntypedef unsigned char Byte;\n\ntypedef uint8_t U8;\n\ntypedef u8 acpi_adr_space_type;\n\ntypedef u8 blk_status_t;\n\ntypedef unsigned char cc_t;\n\ntypedef u8 dscp_t;\n\ntypedef __u8 dvd_challenge[10];\n\ntypedef __u8 dvd_key[5];\n\ntypedef u8 efi_bool_t;\n\ntypedef unsigned char u_char;\n\ntypedef u8 u_int8_t;\n\ntypedef __u8 virtio_net_ctrl_ack;\n\ntypedef unsigned int __u32;\n\ntypedef __u32 Elf32_Addr;\n\ntypedef __u32 Elf32_Off;\n\ntypedef __u32 Elf32_Word;\n\ntypedef __u32 Elf64_Word;\n\ntypedef unsigned int FSE_CTable;\n\ntypedef unsigned int FSE_DTable;\n\ntypedef __u32 u32;\n\ntypedef u32 uint32_t;\n\ntypedef uint32_t U32;\n\ntypedef U32 HUF_DTable;\n\ntypedef unsigned int OM_uint32;\n\ntypedef unsigned int UHWtype;\n\ntypedef __u32 __be32;\n\ntypedef u32 __compat_gid32_t;\n\ntypedef u32 __compat_gid_t;\n\ntypedef u32 __compat_uid32_t;\n\ntypedef u32 __compat_uid_t;\n\ntypedef __u32 __hc32;\n\ntypedef u32 __kernel_dev_t;\n\ntypedef unsigned int __kernel_gid32_t;\n\ntypedef unsigned int __kernel_gid_t;\n\ntypedef unsigned int __kernel_mode_t;\n\ntypedef unsigned int __kernel_old_dev_t;\n\ntypedef unsigned int __kernel_uid32_t;\n\ntypedef unsigned int __kernel_uid_t;\n\ntypedef __u32 __le32;\n\ntypedef unsigned int __poll_t;\n\ntypedef __u32 __portpair;\n\ntypedef __u32 __rpmsg32;\n\ntypedef __u32 __virtio32;\n\ntypedef __u32 __wsum;\n\ntypedef u32 acpi_event_status;\n\ntypedef u32 acpi_mutex_handle;\n\ntypedef u32 acpi_name;\n\ntypedef u32 acpi_object_type;\n\ntypedef u32 acpi_rsdesc_size;\n\ntypedef u32 acpi_status;\n\ntypedef unsigned int autofs_wqt_t;\n\ntypedef unsigned int blk_features_t;\n\ntypedef unsigned int blk_flags_t;\n\ntypedef unsigned int blk_insert_t;\n\ntypedef unsigned int blk_mode_t;\n\ntypedef __u32 blk_mq_req_flags_t;\n\ntypedef __u32 blk_opf_t;\n\ntypedef unsigned int blk_qc_t;\n\ntypedef u32 bug_insn_t;\n\ntypedef u32 compat_aio_context_t;\n\ntypedef u32 compat_caddr_t;\n\ntypedef u32 compat_dev_t;\n\ntypedef u32 compat_ulong_t;\n\ntypedef compat_ulong_t compat_elf_greg_t;\n\ntypedef compat_elf_greg_t compat_elf_gregset_t[32];\n\ntypedef u32 compat_ino_t;\n\ntypedef u32 compat_mode_t;\n\ntypedef u32 compat_sigset_word;\n\ntypedef u32 compat_size_t;\n\ntypedef u32 compat_uint_t;\n\ntypedef u32 compat_uptr_t;\n\ntypedef u32 depot_flags_t;\n\ntypedef u32 depot_stack_handle_t;\n\ntypedef __kernel_dev_t dev_t;\n\ntypedef u32 efi_cc_event_algorithm_bitmap_t;\n\ntypedef u32 efi_cc_event_log_bitmap_t;\n\ntypedef u32 efi_cc_event_log_format_t;\n\ntypedef u32 efi_cc_mr_index_t;\n\ntypedef u32 efi_tcg2_event_log_format;\n\ntypedef u32 errseq_t;\n\ntypedef unsigned int ext4_group_t;\n\ntypedef __u32 ext4_lblk_t;\n\ntypedef __be32 fdt32_t;\n\ntypedef unsigned int fgf_t;\n\ntypedef unsigned int fmode_t;\n\ntypedef unsigned int fop_flags_t;\n\ntypedef unsigned int gfp_t;\n\ntypedef __kernel_gid32_t gid_t;\n\ntypedef unsigned int ioasid_t;\n\ntypedef unsigned int iov_iter_extraction_t;\n\ntypedef unsigned int isolate_mode_t;\n\ntypedef unsigned int kasan_vmalloc_flags_t;\n\ntypedef uint32_t key_perm_t;\n\ntypedef unsigned int mmc_pm_flag_t;\n\ntypedef __kernel_mode_t mode_t;\n\ntypedef u32 nlink_t;\n\ntypedef unsigned int pci_channel_state_t;\n\ntypedef unsigned int pci_ers_result_t;\n\ntypedef unsigned int pgtbl_mod_mask;\n\ntypedef u32 phandle;\n\ntypedef unsigned int pipe_index_t;\n\ntypedef u32 probe_opcode_t;\n\ntypedef __kernel_uid32_t projid_t;\n\ntypedef U32 rankValCol_t[13];\n\ntypedef __u32 req_flags_t;\n\ntypedef u32 rpc_authflavor_t;\n\ntypedef __be32 rpc_fraghdr;\n\ntypedef unsigned int sk_buff_data_t;\n\ntypedef unsigned int slab_flags_t;\n\ntypedef unsigned int speed_t;\n\ntypedef unsigned int t_key;\n\ntypedef unsigned int tcflag_t;\n\ntypedef unsigned int tid_t;\n\ntypedef unsigned int uInt;\n\ntypedef unsigned int u_int;\n\ntypedef u32 u_int32_t;\n\ntypedef __kernel_uid32_t uid_t;\n\ntypedef unsigned int uint;\n\ntypedef u32 unicode_t;\n\ntypedef u32 uprobe_opcode_t;\n\ntypedef unsigned int upstat_t;\n\ntypedef u32 usb_port_location_t;\n\ntypedef unsigned int vm_fault_t;\n\ntypedef unsigned int xa_mark_t;\n\ntypedef u32 xdp_features_t;\n\ntypedef unsigned int zap_flags_t;\n\ntypedef struct {\n\tsize_t bitContainer;\n\tunsigned int bitPos;\n\tchar *startPtr;\n\tchar *ptr;\n\tchar *endPtr;\n} BIT_CStream_t;\n\ntypedef struct {\n\tsize_t bitContainer;\n\tunsigned int bitsConsumed;\n\tconst char *ptr;\n\tconst char *start;\n\tconst char *limitPtr;\n} BIT_DStream_t;\n\ntypedef struct {\n\tBYTE maxTableLog;\n\tBYTE tableType;\n\tBYTE tableLog;\n\tBYTE reserved;\n} DTableDesc;\n\ntypedef struct {\n\tptrdiff_t value;\n\tconst void *stateTable;\n\tconst void *symbolTT;\n\tunsigned int stateLog;\n} FSE_CState_t;\n\ntypedef struct {\n\tsize_t state;\n\tconst void *table;\n} FSE_DState_t;\n\ntypedef struct {\n\tU16 tableLog;\n\tU16 fastMode;\n} FSE_DTableHeader;\n\ntypedef struct {\n\tshort int ncount[256];\n\tFSE_DTable dtable[0];\n} FSE_DecompressWksp;\n\ntypedef struct {\n\tshort unsigned int newState;\n\tunsigned char symbol;\n\tunsigned char nbBits;\n} FSE_decode_t;\n\ntypedef struct {\n\tint deltaFindState;\n\tU32 deltaNbBits;\n} FSE_symbolCompressionTransform;\n\ntypedef struct {\n\tsize_t bitContainer[2];\n\tsize_t bitPos[2];\n\tBYTE *startPtr;\n\tBYTE *ptr;\n\tBYTE *endPtr;\n} HUF_CStream_t;\n\ntypedef struct {\n\tFSE_CTable CTable[59];\n\tU32 scratchBuffer[41];\n\tunsigned int count[13];\n\tS16 norm[13];\n} HUF_CompressWeightsWksp;\n\ntypedef struct {\n\tBYTE nbBits;\n\tBYTE byte;\n} HUF_DEltX1;\n\ntypedef struct {\n\tU16 sequence;\n\tBYTE nbBits;\n\tBYTE length;\n} HUF_DEltX2;\n\ntypedef struct {\n\tU32 rankVal[13];\n\tU32 rankStart[13];\n\tU32 statsWksp[218];\n\tBYTE symbols[256];\n\tBYTE huffWeight[256];\n} HUF_ReadDTableX1_Workspace;\n\ntypedef struct {\n\tBYTE symbol;\n} sortedSymbol_t;\n\ntypedef struct {\n\tU32 rankVal[156];\n\tU32 rankStats[13];\n\tU32 rankStart0[15];\n\tsortedSymbol_t sortedSymbol[256];\n\tBYTE weightList[256];\n\tU32 calleeWksp[218];\n} HUF_ReadDTableX2_Workspace;\n\ntypedef struct {\n\tHUF_CompressWeightsWksp wksp;\n\tBYTE bitsToWeight[13];\n\tBYTE huffWeight[255];\n} HUF_WriteCTableWksp;\n\nstruct nodeElt_s {\n\tU32 count;\n\tU16 parent;\n\tBYTE byte;\n\tBYTE nbBits;\n};\n\ntypedef struct nodeElt_s nodeElt;\n\ntypedef nodeElt huffNodeTable[512];\n\ntypedef struct {\n\tU16 base;\n\tU16 curr;\n} rankPos;\n\ntypedef struct {\n\thuffNodeTable huffNodeTbl;\n\trankPos rankPosition[192];\n} HUF_buildCTable_wksp_tables;\n\ntypedef struct {\n\tunsigned int count[256];\n\tHUF_CElt CTable[257];\n\tunion {\n\t\tHUF_buildCTable_wksp_tables buildCTable_wksp;\n\t\tHUF_WriteCTableWksp writeCTable_wksp;\n\t\tU32 hist_wksp[1024];\n\t} wksps;\n} HUF_compress_tables_t;\n\nstruct buffer_head;\n\ntypedef struct {\n\t__le32 *p;\n\t__le32 key;\n\tstruct buffer_head *bh;\n} Indirect;\n\ntypedef struct {\n\tconst uint8_t *externalDict;\n\tsize_t extDictSize;\n\tconst uint8_t *prefixEnd;\n\tsize_t prefixSize;\n} LZ4_streamDecode_t_internal;\n\ntypedef union {\n\tlong long unsigned int table[4];\n\tLZ4_streamDecode_t_internal internal_donotuse;\n} LZ4_streamDecode_t;\n\nstruct folio;\n\ntypedef struct {\n\tstruct folio *v;\n} Sector;\n\ntypedef struct {\n\tunsigned int offset;\n\tunsigned int litLength;\n\tunsigned int matchLength;\n\tunsigned int rep;\n} ZSTD_Sequence;\n\ntypedef struct {\n\tint collectSequences;\n\tZSTD_Sequence *seqStart;\n\tsize_t seqIndex;\n\tsize_t maxSequences;\n} SeqCollector;\n\ntypedef struct {\n\tS16 norm[53];\n\tU32 wksp[285];\n} ZSTD_BuildCTableWksp;\n\nstruct ZSTD_DDict_s;\n\ntypedef struct ZSTD_DDict_s ZSTD_DDict;\n\ntypedef struct {\n\tconst ZSTD_DDict **ddictPtrTable;\n\tsize_t ddictPtrTableSize;\n\tsize_t ddictPtrCount;\n} ZSTD_DDictHashSet;\n\nstruct seqDef_s;\n\ntypedef struct seqDef_s seqDef;\n\ntypedef struct {\n\tseqDef *sequencesStart;\n\tseqDef *sequences;\n\tBYTE *litStart;\n\tBYTE *lit;\n\tBYTE *llCode;\n\tBYTE *mlCode;\n\tBYTE *ofCode;\n\tsize_t maxNbSeq;\n\tsize_t maxNbLit;\n\tZSTD_longLengthType_e longLengthType;\n\tU32 longLengthPos;\n} seqStore_t;\n\ntypedef struct {\n\tsymbolEncodingType_e hType;\n\tBYTE hufDesBuffer[128];\n\tsize_t hufDesSize;\n} ZSTD_hufCTablesMetadata_t;\n\ntypedef struct {\n\tsymbolEncodingType_e llType;\n\tsymbolEncodingType_e ofType;\n\tsymbolEncodingType_e mlType;\n\tBYTE fseTablesBuffer[133];\n\tsize_t fseTablesSize;\n\tsize_t lastCountSize;\n} ZSTD_fseCTablesMetadata_t;\n\ntypedef struct {\n\tZSTD_hufCTablesMetadata_t hufMetadata;\n\tZSTD_fseCTablesMetadata_t fseMetadata;\n} ZSTD_entropyCTablesMetadata_t;\n\ntypedef struct {\n\tseqStore_t fullSeqStoreChunk;\n\tseqStore_t firstHalfSeqStore;\n\tseqStore_t secondHalfSeqStore;\n\tseqStore_t currSeqStore;\n\tseqStore_t nextSeqStore;\n\tU32 partitions[196];\n\tZSTD_entropyCTablesMetadata_t entropyMetadata;\n} ZSTD_blockSplitCtx;\n\ntypedef struct {\n\tHUF_CElt CTable[257];\n\tHUF_repeat repeatMode;\n} ZSTD_hufCTables_t;\n\ntypedef struct {\n\tFSE_CTable offcodeCTable[193];\n\tFSE_CTable matchlengthCTable[363];\n\tFSE_CTable litlengthCTable[329];\n\tFSE_repeat offcode_repeatMode;\n\tFSE_repeat matchlength_repeatMode;\n\tFSE_repeat litlength_repeatMode;\n} ZSTD_fseCTables_t;\n\ntypedef struct {\n\tZSTD_hufCTables_t huf;\n\tZSTD_fseCTables_t fse;\n} ZSTD_entropyCTables_t;\n\ntypedef struct {\n\tZSTD_entropyCTables_t entropy;\n\tU32 rep[3];\n} ZSTD_compressedBlockState_t;\n\ntypedef struct {\n\tconst BYTE *nextSrc;\n\tconst BYTE *base;\n\tconst BYTE *dictBase;\n\tU32 dictLimit;\n\tU32 lowLimit;\n\tU32 nbOverflowCorrections;\n} ZSTD_window_t;\n\ntypedef struct {\n\tU32 off;\n\tU32 len;\n} ZSTD_match_t;\n\ntypedef struct {\n\tint price;\n\tU32 off;\n\tU32 mlen;\n\tU32 litlen;\n\tU32 rep[3];\n} ZSTD_optimal_t;\n\ntypedef struct {\n\tunsigned int *litFreq;\n\tunsigned int *litLengthFreq;\n\tunsigned int *matchLengthFreq;\n\tunsigned int *offCodeFreq;\n\tZSTD_match_t *matchTable;\n\tZSTD_optimal_t *priceTable;\n\tU32 litSum;\n\tU32 litLengthSum;\n\tU32 matchLengthSum;\n\tU32 offCodeSum;\n\tU32 litSumBasePrice;\n\tU32 litLengthSumBasePrice;\n\tU32 matchLengthSumBasePrice;\n\tU32 offCodeSumBasePrice;\n\tZSTD_OptPrice_e priceType;\n\tconst ZSTD_entropyCTables_t *symbolCosts;\n\tZSTD_paramSwitch_e literalCompressionMode;\n} optState_t;\n\ntypedef struct {\n\tunsigned int windowLog;\n\tunsigned int chainLog;\n\tunsigned int hashLog;\n\tunsigned int searchLog;\n\tunsigned int minMatch;\n\tunsigned int targetLength;\n\tZSTD_strategy strategy;\n} ZSTD_compressionParameters;\n\ntypedef struct {\n\tU32 offset;\n\tU32 litLength;\n\tU32 matchLength;\n} rawSeq;\n\ntypedef struct {\n\trawSeq *seq;\n\tsize_t pos;\n\tsize_t posInSequence;\n\tsize_t size;\n\tsize_t capacity;\n} rawSeqStore_t;\n\nstruct ZSTD_matchState_t;\n\ntypedef struct ZSTD_matchState_t ZSTD_matchState_t;\n\nstruct ZSTD_matchState_t {\n\tZSTD_window_t window;\n\tU32 loadedDictEnd;\n\tU32 nextToUpdate;\n\tU32 hashLog3;\n\tU32 rowHashLog;\n\tU16 *tagTable;\n\tU32 hashCache[8];\n\tU32 *hashTable;\n\tU32 *hashTable3;\n\tU32 *chainTable;\n\tU32 forceNonContiguous;\n\tint dedicatedDictSearch;\n\toptState_t opt;\n\tconst ZSTD_matchState_t *dictMatchState;\n\tZSTD_compressionParameters cParams;\n\tconst rawSeqStore_t *ldmSeqStore;\n};\n\ntypedef struct {\n\tZSTD_compressedBlockState_t *prevCBlock;\n\tZSTD_compressedBlockState_t *nextCBlock;\n\tZSTD_matchState_t matchState;\n} ZSTD_blockState_t;\n\ntypedef struct {\n\tsize_t error;\n\tint lowerBound;\n\tint upperBound;\n} ZSTD_bounds;\n\ntypedef struct {\n\tU32 f1c;\n\tU32 f1d;\n\tU32 f7b;\n\tU32 f7c;\n} ZSTD_cpuid_t;\n\ntypedef void * (*ZSTD_allocFunction)(void *, size_t);\n\ntypedef void (*ZSTD_freeFunction)(void *, void *);\n\ntypedef struct {\n\tZSTD_allocFunction customAlloc;\n\tZSTD_freeFunction customFree;\n\tvoid *opaque;\n} ZSTD_customMem;\n\ntypedef struct {\n\tvoid *workspace;\n\tvoid *workspaceEnd;\n\tvoid *objectEnd;\n\tvoid *tableEnd;\n\tvoid *tableValidEnd;\n\tvoid *allocStart;\n\tBYTE allocFailed;\n\tint workspaceOversizedDuration;\n\tZSTD_cwksp_alloc_phase_e phase;\n\tZSTD_cwksp_static_alloc_e isStatic;\n} ZSTD_cwksp;\n\ntypedef struct {\n\tU16 nextState;\n\tBYTE nbAdditionalBits;\n\tBYTE nbBits;\n\tU32 baseValue;\n} ZSTD_seqSymbol;\n\ntypedef struct {\n\tZSTD_seqSymbol LLTable[513];\n\tZSTD_seqSymbol OFTable[257];\n\tZSTD_seqSymbol MLTable[513];\n\tHUF_DTable hufTable[4097];\n\tU32 rep[3];\n\tU32 workspace[157];\n} ZSTD_entropyDTables_t;\n\ntypedef struct {\n\tlong long unsigned int frameContentSize;\n\tlong long unsigned int windowSize;\n\tunsigned int blockSizeMax;\n\tZSTD_frameType_e frameType;\n\tunsigned int headerSize;\n\tunsigned int dictID;\n\tunsigned int checksumFlag;\n} ZSTD_frameHeader;\n\ntypedef struct {\n\tint contentSizeFlag;\n\tint checksumFlag;\n\tint noDictIDFlag;\n} ZSTD_frameParameters;\n\ntypedef struct {\n\tlong long unsigned int ingested;\n\tlong long unsigned int consumed;\n\tlong long unsigned int produced;\n\tlong long unsigned int flushed;\n\tunsigned int currentJobID;\n\tunsigned int nbActiveWorkers;\n} ZSTD_frameProgression;\n\ntypedef struct {\n\tsize_t compressedSize;\n\tlong long unsigned int decompressedBound;\n} ZSTD_frameSizeInfo;\n\ntypedef struct {\n\tsize_t state;\n\tconst ZSTD_seqSymbol *table;\n} ZSTD_fseState;\n\nstruct ZSTD_CDict_s;\n\ntypedef struct ZSTD_CDict_s ZSTD_CDict;\n\ntypedef struct {\n\tvoid *dictBuffer;\n\tconst void *dict;\n\tsize_t dictSize;\n\tZSTD_dictContentType_e dictContentType;\n\tZSTD_CDict *cdict;\n} ZSTD_localDict;\n\ntypedef struct {\n\trawSeqStore_t seqStore;\n\tU32 startPosInBlock;\n\tU32 endPosInBlock;\n\tU32 offset;\n} ZSTD_optLdm_t;\n\ntypedef struct {\n\tZSTD_compressionParameters cParams;\n\tZSTD_frameParameters fParams;\n} ZSTD_parameters;\n\ntypedef struct {\n\tU32 fastMode;\n\tU32 tableLog;\n} ZSTD_seqSymbol_header;\n\ntypedef struct {\n\tU32 litLength;\n\tU32 matchLength;\n} ZSTD_sequenceLength;\n\ntypedef struct {\n\tU32 idx;\n\tU32 posInSequence;\n\tsize_t posInSrc;\n} ZSTD_sequencePosition;\n\ntypedef struct {\n\tU32 LLtype;\n\tU32 Offtype;\n\tU32 MLtype;\n\tsize_t size;\n\tsize_t lastCountSize;\n} ZSTD_symbolEncodingTypeStats_t;\n\ntypedef struct {\n\tlong unsigned int fds_bits[16];\n} __kernel_fd_set;\n\ntypedef struct {\n\tint val[2];\n} __kernel_fsid_t;\n\ntypedef struct {\n\tU32 tableTime;\n\tU32 decode256Time;\n} algo_time_t;\n\ntypedef struct {\n\ts64 counter;\n} atomic64_t;\n\ntypedef atomic64_t atomic_long_t;\n\ntypedef struct {\n\tint counter;\n} atomic_t;\n\ntypedef struct {\n\tblockType_e blockType;\n\tU32 lastBlock;\n\tU32 origSize;\n} blockProperties_t;\n\ntypedef struct {\n\tunion {\n\t\tvoid *kernel;\n\t\tvoid *user;\n\t};\n\tbool is_kernel: 1;\n} sockptr_t;\n\ntypedef sockptr_t bpfptr_t;\n\ntypedef struct {\n\tunsigned int interval;\n\tunsigned int timeout;\n} cisco_proto;\n\ntypedef struct {\n\tvoid *lock;\n} class_cpus_read_lock_t;\n\nstruct rq;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq *lock2;\n} class_double_rq_lock_t;\n\ntypedef struct {\n\tvoid *lock;\n\tlong unsigned int flags;\n} class_irqsave_t;\n\nstruct snd_pcm_substream;\n\ntypedef struct {\n\tstruct snd_pcm_substream *lock;\n} class_pcm_stream_lock_irq_t;\n\ntypedef struct {\n\tstruct snd_pcm_substream *lock;\n\tlong unsigned int flags;\n} class_pcm_stream_lock_irqsave_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_preempt_notrace_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_preempt_t;\n\nstruct raw_spinlock;\n\ntypedef struct raw_spinlock raw_spinlock_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n} class_raw_spinlock_irq_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n\tlong unsigned int flags;\n} class_raw_spinlock_irqsave_t;\n\ntypedef struct {\n\traw_spinlock_t *lock;\n} class_raw_spinlock_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_rcu_t;\n\ntypedef struct {\n\tvoid *lock;\n} class_rcu_tasks_trace_t;\n\nstruct qspinlock {\n\tunion {\n\t\tatomic_t val;\n\t\tstruct {\n\t\t\tu8 locked;\n\t\t\tu8 pending;\n\t\t};\n\t\tstruct {\n\t\t\tu16 locked_pending;\n\t\t\tu16 tail;\n\t\t};\n\t};\n};\n\ntypedef struct qspinlock arch_spinlock_t;\n\nstruct qrwlock {\n\tunion {\n\t\tatomic_t cnts;\n\t\tstruct {\n\t\t\tu8 wlocked;\n\t\t\tu8 __lstate[3];\n\t\t};\n\t};\n\tarch_spinlock_t wait_lock;\n};\n\ntypedef struct qrwlock arch_rwlock_t;\n\ntypedef struct {\n\tarch_rwlock_t raw_lock;\n\tunsigned int magic;\n\tunsigned int owner_cpu;\n\tvoid *owner;\n} rwlock_t;\n\ntypedef struct {\n\trwlock_t *lock;\n\tlong unsigned int flags;\n} class_read_lock_irqsave_t;\n\nstruct pin_cookie {};\n\nstruct rq_flags {\n\tlong unsigned int flags;\n\tstruct pin_cookie cookie;\n\tunsigned int clock_update_flags;\n};\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_irq_t;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_irqsave_t;\n\ntypedef struct {\n\tstruct rq *lock;\n\tstruct rq_flags rf;\n} class_rq_lock_t;\n\nstruct spinlock;\n\ntypedef struct spinlock spinlock_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n} class_spinlock_irq_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n} class_spinlock_irqsave_t;\n\ntypedef struct {\n\tspinlock_t *lock;\n} class_spinlock_t;\n\nstruct srcu_struct;\n\ntypedef struct {\n\tstruct srcu_struct *lock;\n\tint idx;\n} class_srcu_t;\n\nstruct task_struct;\n\ntypedef struct {\n\tstruct task_struct *lock;\n\tstruct rq *rq;\n\tstruct rq_flags rf;\n} class_task_rq_lock_t;\n\ntypedef struct {\n\trwlock_t *lock;\n} class_write_lock_irq_t;\n\ntypedef struct {\n\trwlock_t *lock;\n\tlong unsigned int flags;\n} class_write_lock_irqsave_t;\n\ntypedef struct {\n\tunsigned char op;\n\tunsigned char bits;\n\tshort unsigned int val;\n} code;\n\ntypedef __kernel_fsid_t compat_fsid_t;\n\ntypedef struct {\n\tcompat_sigset_word sig[2];\n} compat_sigset_t;\n\ntypedef struct {\n\t__be16 disc_information_length;\n\t__u8 disc_status: 2;\n\t__u8 border_status: 2;\n\t__u8 erasable: 1;\n\t__u8 reserved1: 3;\n\t__u8 n_first_track;\n\t__u8 n_sessions_lsb;\n\t__u8 first_track_lsb;\n\t__u8 last_track_lsb;\n\t__u8 mrw_status: 2;\n\t__u8 dbit: 1;\n\t__u8 reserved2: 2;\n\t__u8 uru: 1;\n\t__u8 dbc_v: 1;\n\t__u8 did_v: 1;\n\t__u8 disc_type;\n\t__u8 n_sessions_msb;\n\t__u8 first_track_msb;\n\t__u8 last_track_msb;\n\t__u32 disc_id;\n\t__u32 lead_in;\n\t__u32 lead_out;\n\t__u8 disc_bar_code[8];\n\t__u8 reserved3;\n\t__u8 n_opc;\n} disc_information;\n\ntypedef struct {\n\tlong unsigned int bits[1];\n} dma_cap_mask_t;\n\nstruct dvd_lu_send_agid {\n\t__u8 type;\n\tunsigned int agid: 2;\n};\n\nstruct dvd_host_send_challenge {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_challenge chal;\n};\n\nstruct dvd_send_key {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_key key;\n};\n\nstruct dvd_lu_send_challenge {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_challenge chal;\n};\n\nstruct dvd_lu_send_title_key {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tdvd_key title_key;\n\tint lba;\n\tunsigned int cpm: 1;\n\tunsigned int cp_sec: 1;\n\tunsigned int cgms: 2;\n};\n\nstruct dvd_lu_send_asf {\n\t__u8 type;\n\tunsigned int agid: 2;\n\tunsigned int asf: 1;\n};\n\nstruct dvd_host_send_rpcstate {\n\t__u8 type;\n\t__u8 pdrc;\n};\n\nstruct dvd_lu_send_rpcstate {\n\t__u8 type: 2;\n\t__u8 vra: 3;\n\t__u8 ucca: 3;\n\t__u8 region_mask;\n\t__u8 rpc_scheme;\n};\n\ntypedef union {\n\t__u8 type;\n\tstruct dvd_lu_send_agid lsa;\n\tstruct dvd_host_send_challenge hsc;\n\tstruct dvd_send_key lsk;\n\tstruct dvd_lu_send_challenge lsc;\n\tstruct dvd_send_key hsk;\n\tstruct dvd_lu_send_title_key lstk;\n\tstruct dvd_lu_send_asf lsasf;\n\tstruct dvd_host_send_rpcstate hrpcs;\n\tstruct dvd_lu_send_rpcstate lrpcs;\n} dvd_authinfo;\n\nstruct dvd_layer {\n\t__u8 book_version: 4;\n\t__u8 book_type: 4;\n\t__u8 min_rate: 4;\n\t__u8 disc_size: 4;\n\t__u8 layer_type: 4;\n\t__u8 track_path: 1;\n\t__u8 nlayers: 2;\n\tchar: 1;\n\t__u8 track_density: 4;\n\t__u8 linear_density: 4;\n\t__u8 bca: 1;\n\t__u32 start_sector;\n\t__u32 end_sector;\n\t__u32 end_sector_l0;\n};\n\nstruct dvd_physical {\n\t__u8 type;\n\t__u8 layer_num;\n\tstruct dvd_layer layer[4];\n};\n\nstruct dvd_copyright {\n\t__u8 type;\n\t__u8 layer_num;\n\t__u8 cpst;\n\t__u8 rmi;\n};\n\nstruct dvd_disckey {\n\t__u8 type;\n\tunsigned int agid: 2;\n\t__u8 value[2048];\n};\n\nstruct dvd_bca {\n\t__u8 type;\n\tint len;\n\t__u8 value[188];\n};\n\nstruct dvd_manufact {\n\t__u8 type;\n\t__u8 layer_num;\n\tint len;\n\t__u8 value[2048];\n};\n\ntypedef union {\n\t__u8 type;\n\tstruct dvd_physical physical;\n\tstruct dvd_copyright copyright;\n\tstruct dvd_disckey disckey;\n\tstruct dvd_bca bca;\n\tstruct dvd_manufact manufact;\n} dvd_struct;\n\ntypedef struct {\n\t__u8 b[16];\n} guid_t;\n\ntypedef guid_t efi_guid_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu32 headersize;\n\tu32 flags;\n\tu32 imagesize;\n} efi_capsule_header_t;\n\ntypedef struct {\n\tu8 major;\n\tu8 minor;\n} efi_cc_version_t;\n\ntypedef struct {\n\tu8 type;\n\tu8 sub_type;\n} efi_cc_type_t;\n\ntypedef struct {\n\tu8 size;\n\tefi_cc_version_t structure_version;\n\tefi_cc_version_t protocol_version;\n\tefi_cc_event_algorithm_bitmap_t hash_algorithm_bitmap;\n\tefi_cc_event_log_bitmap_t supported_event_logs;\n\tefi_cc_type_t cc_type;\n} efi_cc_boot_service_cap_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu32 table;\n} efi_config_table_32_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tu64 table;\n} efi_config_table_64_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_guid_t guid;\n\t\tvoid *table;\n\t};\n\tefi_config_table_32_t mixed_mode;\n} efi_config_table_t;\n\ntypedef struct {\n\tefi_guid_t guid;\n\tlong unsigned int *ptr;\n\tconst char name[16];\n} efi_config_table_type_t;\n\ntypedef struct {\n\tu16 year;\n\tu8 month;\n\tu8 day;\n\tu8 hour;\n\tu8 minute;\n\tu8 second;\n\tu8 pad1;\n\tu32 nanosecond;\n\ts16 timezone;\n\tu8 daylight;\n\tu8 pad2;\n} efi_time_t;\n\ntypedef struct {\n\tu64 size;\n\tu64 file_size;\n\tu64 phys_size;\n\tefi_time_t create_time;\n\tefi_time_t last_access_time;\n\tefi_time_t modification_time;\n\t__u64 attribute;\n\tefi_char16_t filename[0];\n} efi_file_info_t;\n\ntypedef struct {\n\tu32 red_mask;\n\tu32 green_mask;\n\tu32 blue_mask;\n\tu32 reserved_mask;\n} efi_pixel_bitmask_t;\n\ntypedef struct {\n\tu32 version;\n\tu32 horizontal_resolution;\n\tu32 vertical_resolution;\n\tint pixel_format;\n\tefi_pixel_bitmask_t pixel_information;\n\tu32 pixels_per_scan_line;\n} efi_graphics_output_mode_info_t;\n\ntypedef struct {\n\tu16 scan_code;\n\tefi_char16_t unicode_char;\n} efi_input_key_t;\n\ntypedef struct {\n\tu32 attributes;\n\tu16 file_path_list_length;\n\tu8 variable_data[0];\n} __attribute__((packed)) efi_load_option_t;\n\nstruct efi_generic_dev_path;\n\ntypedef struct efi_generic_dev_path efi_device_path_protocol_t;\n\ntypedef struct {\n\tu32 attributes;\n\tu16 file_path_list_length;\n\tconst efi_char16_t *description;\n\tconst efi_device_path_protocol_t *file_path_list;\n\tu32 optional_data_size;\n\tconst void *optional_data;\n} efi_load_option_unpacked_t;\n\ntypedef void *efi_handle_t;\n\ntypedef struct {\n\tu64 signature;\n\tu32 revision;\n\tu32 headersize;\n\tu32 crc32;\n\tu32 reserved;\n} efi_table_hdr_t;\n\ntypedef struct {\n\tu32 resolution;\n\tu32 accuracy;\n\tu8 sets_to_zero;\n} efi_time_cap_t;\n\ntypedef efi_status_t efi_get_time_t(efi_time_t *, efi_time_cap_t *);\n\ntypedef efi_status_t efi_set_time_t(efi_time_t *);\n\ntypedef efi_status_t efi_get_wakeup_time_t(efi_bool_t *, efi_bool_t *, efi_time_t *);\n\ntypedef efi_status_t efi_set_wakeup_time_t(efi_bool_t, efi_time_t *);\n\ntypedef struct {\n\tu32 type;\n\tu32 pad;\n\tu64 phys_addr;\n\tu64 virt_addr;\n\tu64 num_pages;\n\tu64 attribute;\n} efi_memory_desc_t;\n\ntypedef efi_status_t efi_set_virtual_address_map_t(long unsigned int, long unsigned int, u32, efi_memory_desc_t *);\n\ntypedef efi_status_t efi_get_variable_t(efi_char16_t *, efi_guid_t *, u32 *, long unsigned int *, void *);\n\ntypedef efi_status_t efi_get_next_variable_t(long unsigned int *, efi_char16_t *, efi_guid_t *);\n\ntypedef efi_status_t efi_set_variable_t(efi_char16_t *, efi_guid_t *, u32, long unsigned int, void *);\n\ntypedef efi_status_t efi_get_next_high_mono_count_t(u32 *);\n\ntypedef void efi_reset_system_t(int, efi_status_t, long unsigned int, efi_char16_t *);\n\ntypedef efi_status_t efi_update_capsule_t(efi_capsule_header_t **, long unsigned int, long unsigned int);\n\ntypedef efi_status_t efi_query_capsule_caps_t(efi_capsule_header_t **, long unsigned int, u64 *, int *);\n\ntypedef efi_status_t efi_query_variable_info_t(u32, u64 *, u64 *, u64 *);\n\ntypedef struct {\n\tefi_table_hdr_t hdr;\n\tu32 get_time;\n\tu32 set_time;\n\tu32 get_wakeup_time;\n\tu32 set_wakeup_time;\n\tu32 set_virtual_address_map;\n\tu32 convert_pointer;\n\tu32 get_variable;\n\tu32 get_next_variable;\n\tu32 set_variable;\n\tu32 get_next_high_mono_count;\n\tu32 reset_system;\n\tu32 update_capsule;\n\tu32 query_capsule_caps;\n\tu32 query_variable_info;\n} efi_runtime_services_32_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tefi_get_time_t *get_time;\n\t\tefi_set_time_t *set_time;\n\t\tefi_get_wakeup_time_t *get_wakeup_time;\n\t\tefi_set_wakeup_time_t *set_wakeup_time;\n\t\tefi_set_virtual_address_map_t *set_virtual_address_map;\n\t\tvoid *convert_pointer;\n\t\tefi_get_variable_t *get_variable;\n\t\tefi_get_next_variable_t *get_next_variable;\n\t\tefi_set_variable_t *set_variable;\n\t\tefi_get_next_high_mono_count_t *get_next_high_mono_count;\n\t\tefi_reset_system_t *reset_system;\n\t\tefi_update_capsule_t *update_capsule;\n\t\tefi_query_capsule_caps_t *query_capsule_caps;\n\t\tefi_query_variable_info_t *query_variable_info;\n\t};\n\tefi_runtime_services_32_t mixed_mode;\n} efi_runtime_services_t;\n\ntypedef struct {\n\tefi_table_hdr_t hdr;\n\tu32 fw_vendor;\n\tu32 fw_revision;\n\tu32 con_in_handle;\n\tu32 con_in;\n\tu32 con_out_handle;\n\tu32 con_out;\n\tu32 stderr_handle;\n\tu32 stderr;\n\tu32 runtime;\n\tu32 boottime;\n\tu32 nr_tables;\n\tu32 tables;\n} efi_system_table_32_t;\n\nunion efi_simple_text_input_protocol;\n\ntypedef union efi_simple_text_input_protocol efi_simple_text_input_protocol_t;\n\nunion efi_simple_text_output_protocol;\n\ntypedef union efi_simple_text_output_protocol efi_simple_text_output_protocol_t;\n\nunion efi_boot_services;\n\ntypedef union efi_boot_services efi_boot_services_t;\n\ntypedef union {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tlong unsigned int fw_vendor;\n\t\tu32 fw_revision;\n\t\tlong unsigned int con_in_handle;\n\t\tefi_simple_text_input_protocol_t *con_in;\n\t\tlong unsigned int con_out_handle;\n\t\tefi_simple_text_output_protocol_t *con_out;\n\t\tlong unsigned int stderr_handle;\n\t\tlong unsigned int stderr;\n\t\tefi_runtime_services_t *runtime;\n\t\tefi_boot_services_t *boottime;\n\t\tlong unsigned int nr_tables;\n\t\tlong unsigned int tables;\n\t};\n\tefi_system_table_32_t mixed_mode;\n} efi_system_table_t;\n\ntypedef union {\n\tstruct {\n\t\tu32 revision;\n\t\tefi_handle_t parent_handle;\n\t\tefi_system_table_t *system_table;\n\t\tefi_handle_t device_handle;\n\t\tvoid *file_path;\n\t\tvoid *reserved;\n\t\tu32 load_options_size;\n\t\tvoid *load_options;\n\t\tvoid *image_base;\n\t\t__u64 image_size;\n\t\tunsigned int image_code_type;\n\t\tunsigned int image_data_type;\n\t\tefi_status_t (*unload)(efi_handle_t);\n\t};\n\tstruct {\n\t\tu32 revision;\n\t\tu32 parent_handle;\n\t\tu32 system_table;\n\t\tu32 device_handle;\n\t\tu32 file_path;\n\t\tu32 reserved;\n\t\tu32 load_options_size;\n\t\tu32 load_options;\n\t\tu32 image_base;\n\t\t__u64 image_size;\n\t\tu32 image_code_type;\n\t\tu32 image_data_type;\n\t\tu32 unload;\n\t} mixed_mode;\n} efi_loaded_image_t;\n\ntypedef struct {\n\tu32 version;\n\tu32 num_entries;\n\tu32 desc_size;\n\tu32 flags;\n\tefi_memory_desc_t entry[0];\n} efi_memory_attributes_table_t;\n\ntypedef struct {\n\tu32 read;\n\tu32 write;\n} efi_pci_io_protocol_access_32_t;\n\ntypedef struct {\n\tvoid *read;\n\tvoid *write;\n} efi_pci_io_protocol_access_t;\n\nunion efi_pci_io_protocol;\n\ntypedef union efi_pci_io_protocol efi_pci_io_protocol_t;\n\ntypedef efi_status_t (*efi_pci_io_protocol_cfg_t)(efi_pci_io_protocol_t *, EFI_PCI_IO_PROTOCOL_WIDTH, u32, long unsigned int, void *);\n\ntypedef struct {\n\tefi_pci_io_protocol_cfg_t read;\n\tefi_pci_io_protocol_cfg_t write;\n} efi_pci_io_protocol_config_access_t;\n\ntypedef struct {\n\tu16 version;\n\tu16 length;\n\tu32 runtime_services_supported;\n} efi_rt_properties_table_t;\n\ntypedef struct {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n} ext4_acl_entry;\n\ntypedef struct {\n\t__le32 a_version;\n} ext4_acl_header;\n\ntypedef __kernel_fd_set fd_set;\n\ntypedef struct {\n\tlong unsigned int *in;\n\tlong unsigned int *out;\n\tlong unsigned int *ex;\n\tlong unsigned int *res_in;\n\tlong unsigned int *res_out;\n\tlong unsigned int *res_ex;\n} fd_set_bits;\n\ntypedef struct {\n\tatomic64_t refcnt;\n} file_ref_t;\n\ntypedef struct {\n\tunsigned int t391;\n\tunsigned int t392;\n\tunsigned int n391;\n\tunsigned int n392;\n\tunsigned int n393;\n\tshort unsigned int lmi;\n\tshort unsigned int dce;\n} fr_proto;\n\ntypedef struct {\n\tunsigned int dlci;\n} fr_proto_pvc;\n\ntypedef struct {\n\tunsigned int dlci;\n\tchar master[16];\n} fr_proto_pvc_info;\n\ntypedef union {\n\tstruct {\n\t\tvoid *freelist;\n\t\tlong unsigned int counter;\n\t};\n\tfreelist_full_t full;\n} freelist_aba_t;\n\ntypedef struct {\n\tlong unsigned int v;\n} freeptr_t;\n\ntypedef struct {\n\tlong unsigned int key[2];\n} hsiphash_key_t;\n\ntypedef struct {\n\tunsigned int __softirq_pending;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n} irq_cpustat_t;\n\ntypedef struct {\n\tu64 val;\n} kernel_cap_t;\n\ntypedef struct {\n\tgid_t val;\n} kgid_t;\n\ntypedef struct {\n\tprojid_t val;\n} kprojid_t;\n\ntypedef struct {\n\tuid_t val;\n} kuid_t;\n\ntypedef struct {\n\tU32 offset;\n\tU32 checksum;\n} ldmEntry_t;\n\ntypedef struct {\n\tconst BYTE *split;\n\tU32 hash;\n\tU32 checksum;\n\tldmEntry_t *bucket;\n} ldmMatchCandidate_t;\n\ntypedef struct {\n\tZSTD_paramSwitch_e enableLdm;\n\tU32 hashLog;\n\tU32 bucketSizeLog;\n\tU32 minMatchLength;\n\tU32 hashRateLog;\n\tU32 windowLog;\n} ldmParams_t;\n\ntypedef struct {\n\tU64 rolling;\n\tU64 stopMask;\n} ldmRollingHashState_t;\n\ntypedef struct {\n\tZSTD_window_t window;\n\tldmEntry_t *hashTable;\n\tU32 loadedDictEnd;\n\tBYTE *bucketOffsets;\n\tsize_t splitIndices[64];\n\tldmMatchCandidate_t matchCandidates[64];\n} ldmState_t;\n\ntypedef struct {\n\tatomic_long_t a;\n} local_t;\n\ntypedef struct {\n\tlocal_t a;\n} local64_t;\n\ntypedef struct {} local_lock_t;\n\ntypedef struct {} lockdep_map_p;\n\ntypedef union {\n\tlong unsigned int x[1];\n} map_word;\n\nstruct cpumask {\n\tlong unsigned int bits[1];\n};\n\ntypedef struct cpumask cpumask_t;\n\ntypedef struct {\n\tatomic_long_t id;\n\tvoid *vdso;\n\tcpumask_t icache_stale_mask;\n\tbool force_icache_flush;\n\tlong unsigned int flags;\n\tu8 pmlen;\n} mm_context_t;\n\ntypedef struct {} netdevice_tracker;\n\ntypedef struct {} netns_tracker;\n\ntypedef struct {\n\tchar data[8];\n} nfs4_verifier;\n\ntypedef struct {\n\tlong unsigned int bits[1];\n} nodemask_t;\n\ntypedef struct {\n\tlong unsigned int p4d;\n} p4d_t;\n\ntypedef struct {\n\tu64 pme;\n} pagemap_entry_t;\n\ntypedef struct {\n\tu64 val;\n} pfn_t;\n\ntypedef struct {\n\tlong unsigned int pgd;\n} pgd_t;\n\ntypedef struct {\n\tlong unsigned int pgprot;\n} pgprot_t;\n\ntypedef struct {\n\tlong unsigned int pmd;\n} pmd_t;\n\ntypedef struct {\n\tlong unsigned int bits[4];\n} pnp_irq_mask_t;\n\nstruct net;\n\ntypedef struct {\n\tstruct net *net;\n} possible_net_t;\n\ntypedef struct {\n\tlong unsigned int pte;\n} pte_t;\n\ntypedef struct {\n\tlong unsigned int pud;\n} pud_t;\n\ntypedef struct {\n\tshort unsigned int encoding;\n\tshort unsigned int parity;\n} raw_hdlc_proto;\n\ntypedef struct {\n\tatomic_t refcnt;\n} rcuref_t;\n\ntypedef struct {\n\tsize_t written;\n\tsize_t count;\n\tunion {\n\t\tchar *buf;\n\t\tvoid *data;\n\t} arg;\n\tint error;\n} read_descriptor_t;\n\ntypedef union {\n} release_pages_arg;\n\ntypedef struct {\n\t__u16 report_key_length;\n\t__u8 reserved1;\n\t__u8 reserved2;\n\t__u8 ucca: 3;\n\t__u8 vra: 3;\n\t__u8 type_code: 2;\n\t__u8 region_mask;\n\t__u8 rpc_scheme;\n\t__u8 reserved3;\n} rpc_state_t;\n\ntypedef struct {\n\tBIT_DStream_t DStream;\n\tZSTD_fseState stateLL;\n\tZSTD_fseState stateOffb;\n\tZSTD_fseState stateML;\n\tsize_t prevOffset[3];\n} seqState_t;\n\ntypedef struct {\n\tU32 *splitLocations;\n\tsize_t idx;\n} seqStoreSplits;\n\ntypedef struct {\n\tsize_t litLength;\n\tsize_t matchLength;\n\tsize_t offset;\n} seq_t;\n\nstruct seqcount {\n\tunsigned int sequence;\n};\n\ntypedef struct seqcount seqcount_t;\n\ntypedef struct {\n\tseqcount_t seqcount;\n} seqcount_latch_t;\n\nstruct seqcount_spinlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_spinlock seqcount_spinlock_t;\n\nstruct raw_spinlock {\n\tarch_spinlock_t raw_lock;\n\tunsigned int magic;\n\tunsigned int owner_cpu;\n\tvoid *owner;\n};\n\nstruct spinlock {\n\tunion {\n\t\tstruct raw_spinlock rlock;\n\t};\n};\n\ntypedef struct {\n\tseqcount_spinlock_t seqcount;\n\tspinlock_t lock;\n} seqlock_t;\n\ntypedef struct {\n\tlong unsigned int sig[1];\n} sigset_t;\n\ntypedef struct {\n\tu64 key[2];\n} siphash_key_t;\n\nstruct list_head {\n\tstruct list_head *next;\n\tstruct list_head *prev;\n};\n\nstruct wait_queue_head {\n\tspinlock_t lock;\n\tstruct list_head head;\n};\n\ntypedef struct wait_queue_head wait_queue_head_t;\n\ntypedef struct {\n\tspinlock_t slock;\n\tint owned;\n\twait_queue_head_t wq;\n} socket_lock_t;\n\ntypedef struct {\n\tchar *from;\n\tchar *to;\n} substring_t;\n\ntypedef struct {\n\tlong unsigned int val;\n} swp_entry_t;\n\ntypedef struct {\n\tunsigned int clock_rate;\n\tunsigned int clock_type;\n\tshort unsigned int loopback;\n} sync_serial_settings;\n\ntypedef struct {\n\tunsigned int clock_rate;\n\tunsigned int clock_type;\n\tshort unsigned int loopback;\n\tunsigned int slot_map;\n} te1_settings;\n\ntypedef struct {\n\t__be16 track_information_length;\n\t__u8 track_lsb;\n\t__u8 session_lsb;\n\t__u8 reserved1;\n\t__u8 track_mode: 4;\n\t__u8 copy: 1;\n\t__u8 damage: 1;\n\t__u8 reserved2: 2;\n\t__u8 data_mode: 4;\n\t__u8 fp: 1;\n\t__u8 packet: 1;\n\t__u8 blank: 1;\n\t__u8 rt: 1;\n\t__u8 nwa_v: 1;\n\t__u8 lra_v: 1;\n\t__u8 reserved3: 6;\n\t__be32 track_start;\n\t__be32 next_writable;\n\t__be32 free_blocks;\n\t__be32 fixed_packet_size;\n\t__be32 track_size;\n\t__be32 last_rec_address;\n} track_information;\n\ntypedef struct {\n\tint data;\n\tint audio;\n\tint cdi;\n\tint xa;\n\tlong int error;\n} tracktype;\n\ntypedef struct {\n\tlocal64_t v;\n} u64_stats_t;\n\ntypedef struct {\n\t__u8 b[16];\n} uuid_t;\n\ntypedef struct {\n\tgid_t val;\n} vfsgid_t;\n\ntypedef struct {\n\tuid_t val;\n} vfsuid_t;\n\ntypedef struct {\n\tshort unsigned int dce;\n\tunsigned int modulo;\n\tunsigned int window;\n\tunsigned int t1;\n\tunsigned int t2;\n\tunsigned int n2;\n} x25_hdlc_proto;\n\nstruct in6_addr {\n\tunion {\n\t\t__u8 u6_addr8[16];\n\t\t__be16 u6_addr16[8];\n\t\t__be32 u6_addr32[4];\n\t} in6_u;\n};\n\ntypedef union {\n\t__be32 a4;\n\t__be32 a6[4];\n\tstruct in6_addr in6;\n} xfrm_address_t;\n\ntypedef ZSTD_compressionParameters zstd_compression_parameters;\n\ntypedef ZSTD_customMem zstd_custom_mem;\n\ntypedef ZSTD_frameHeader zstd_frame_header;\n\ntypedef ZSTD_parameters zstd_parameters;\n\nstruct hlist_node {\n\tstruct hlist_node *next;\n\tstruct hlist_node **pprev;\n};\n\nstruct refcount_struct {\n\tatomic_t refs;\n};\n\ntypedef struct refcount_struct refcount_t;\n\nstruct sk_buff;\n\nstruct sk_buff_list {\n\tstruct sk_buff *next;\n\tstruct sk_buff *prev;\n};\n\nstruct sk_buff_head {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *next;\n\t\t\tstruct sk_buff *prev;\n\t\t};\n\t\tstruct sk_buff_list list;\n\t};\n\t__u32 qlen;\n\tspinlock_t lock;\n};\n\nstruct qdisc_skb_head {\n\tstruct sk_buff *head;\n\tstruct sk_buff *tail;\n\t__u32 qlen;\n\tspinlock_t lock;\n};\n\nstruct u64_stats_sync {};\n\nstruct gnet_stats_basic_sync {\n\tu64_stats_t bytes;\n\tu64_stats_t packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct gnet_stats_queue {\n\t__u32 qlen;\n\t__u32 backlog;\n\t__u32 drops;\n\t__u32 requeues;\n\t__u32 overlimits;\n};\n\nstruct callback_head {\n\tstruct callback_head *next;\n\tvoid (*func)(struct callback_head *);\n};\n\nstruct lock_class_key {};\n\nstruct Qdisc_ops;\n\nstruct qdisc_size_table;\n\nstruct netdev_queue;\n\nstruct net_rate_estimator;\n\nstruct Qdisc {\n\tint (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **);\n\tstruct sk_buff * (*dequeue)(struct Qdisc *);\n\tunsigned int flags;\n\tu32 limit;\n\tconst struct Qdisc_ops *ops;\n\tstruct qdisc_size_table *stab;\n\tstruct hlist_node hash;\n\tu32 handle;\n\tu32 parent;\n\tstruct netdev_queue *dev_queue;\n\tstruct net_rate_estimator *rate_est;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tint pad;\n\trefcount_t refcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sk_buff_head gso_skb;\n\tstruct qdisc_skb_head q;\n\tstruct gnet_stats_basic_sync bstats;\n\tstruct gnet_stats_queue qstats;\n\tint owner;\n\tlong unsigned int state;\n\tlong unsigned int state2;\n\tstruct Qdisc *next_sched;\n\tstruct sk_buff_head skb_bad_txq;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t busylock;\n\tspinlock_t seqlock;\n\tstruct callback_head rcu;\n\tnetdevice_tracker dev_tracker;\n\tstruct lock_class_key root_lock_key;\n\tlong int privdata[0];\n};\n\nstruct Qdisc_class_common {\n\tu32 classid;\n\tunsigned int filter_cnt;\n\tstruct hlist_node hnode;\n};\n\nstruct hlist_head;\n\nstruct Qdisc_class_hash {\n\tstruct hlist_head *hash;\n\tunsigned int hashsize;\n\tunsigned int hashmask;\n\tunsigned int hashelems;\n};\n\nstruct tcmsg;\n\nstruct netlink_ext_ack;\n\nstruct nlattr;\n\nstruct qdisc_walker;\n\nstruct tcf_block;\n\nstruct gnet_dump;\n\nstruct Qdisc_class_ops {\n\tunsigned int flags;\n\tstruct netdev_queue * (*select_queue)(struct Qdisc *, struct tcmsg *);\n\tint (*graft)(struct Qdisc *, long unsigned int, struct Qdisc *, struct Qdisc **, struct netlink_ext_ack *);\n\tstruct Qdisc * (*leaf)(struct Qdisc *, long unsigned int);\n\tvoid (*qlen_notify)(struct Qdisc *, long unsigned int);\n\tlong unsigned int (*find)(struct Qdisc *, u32);\n\tint (*change)(struct Qdisc *, u32, u32, struct nlattr **, long unsigned int *, struct netlink_ext_ack *);\n\tint (*delete)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *);\n\tvoid (*walk)(struct Qdisc *, struct qdisc_walker *);\n\tstruct tcf_block * (*tcf_block)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *);\n\tlong unsigned int (*bind_tcf)(struct Qdisc *, long unsigned int, u32);\n\tvoid (*unbind_tcf)(struct Qdisc *, long unsigned int);\n\tint (*dump)(struct Qdisc *, long unsigned int, struct sk_buff *, struct tcmsg *);\n\tint (*dump_stats)(struct Qdisc *, long unsigned int, struct gnet_dump *);\n};\n\nstruct module;\n\nstruct Qdisc_ops {\n\tstruct Qdisc_ops *next;\n\tconst struct Qdisc_class_ops *cl_ops;\n\tchar id[16];\n\tint priv_size;\n\tunsigned int static_flags;\n\tint (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **);\n\tstruct sk_buff * (*dequeue)(struct Qdisc *);\n\tstruct sk_buff * (*peek)(struct Qdisc *);\n\tint (*init)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *);\n\tvoid (*reset)(struct Qdisc *);\n\tvoid (*destroy)(struct Qdisc *);\n\tint (*change)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *);\n\tvoid (*attach)(struct Qdisc *);\n\tint (*change_tx_queue_len)(struct Qdisc *, unsigned int);\n\tvoid (*change_real_num_tx)(struct Qdisc *, unsigned int);\n\tint (*dump)(struct Qdisc *, struct sk_buff *);\n\tint (*dump_stats)(struct Qdisc *, struct gnet_dump *);\n\tvoid (*ingress_block_set)(struct Qdisc *, u32);\n\tvoid (*egress_block_set)(struct Qdisc *, u32);\n\tu32 (*ingress_block_get)(struct Qdisc *);\n\tu32 (*egress_block_get)(struct Qdisc *);\n\tstruct module *owner;\n};\n\nstruct RR_CL_s {\n\t__u8 location[8];\n};\n\nstruct RR_NM_s {\n\t__u8 flags;\n\tchar name[0];\n};\n\nstruct RR_PL_s {\n\t__u8 location[8];\n};\n\nstruct RR_PN_s {\n\t__u8 dev_high[8];\n\t__u8 dev_low[8];\n};\n\nstruct RR_PX_s {\n\t__u8 mode[8];\n\t__u8 n_links[8];\n\t__u8 uid[8];\n\t__u8 gid[8];\n};\n\nstruct RR_RR_s {\n\t__u8 flags[1];\n};\n\nstruct SL_component {\n\t__u8 flags;\n\t__u8 len;\n\t__u8 text[0];\n};\n\nstruct RR_SL_s {\n\t__u8 flags;\n\tstruct SL_component link;\n};\n\nstruct stamp {\n\t__u8 time[7];\n};\n\nstruct RR_TF_s {\n\t__u8 flags;\n\tstruct stamp times[0];\n};\n\nstruct RR_ZF_s {\n\t__u8 algorithm[2];\n\t__u8 parms[2];\n\t__u8 real_size[8];\n};\n\nstruct RxDesc {\n\t__le32 opts1;\n\t__le32 opts2;\n\t__le64 addr;\n};\n\nstruct SU_CE_s {\n\t__u8 extent[8];\n\t__u8 offset[8];\n\t__u8 size[8];\n};\n\nstruct SU_ER_s {\n\t__u8 len_id;\n\t__u8 len_des;\n\t__u8 len_src;\n\t__u8 ext_ver;\n\t__u8 data[0];\n};\n\nstruct SU_SP_s {\n\t__u8 magic[2];\n\t__u8 skip;\n};\n\nstruct optimistic_spin_queue {\n\tatomic_t tail;\n};\n\nstruct mutex {\n\tatomic_long_t owner;\n\traw_spinlock_t wait_lock;\n\tstruct optimistic_spin_queue osq;\n\tstruct list_head wait_list;\n\tvoid *magic;\n};\n\nstruct kref {\n\trefcount_t refcount;\n};\n\nstruct swait_queue_head {\n\traw_spinlock_t lock;\n\tstruct list_head task_list;\n};\n\nstruct completion {\n\tunsigned int done;\n\tstruct swait_queue_head wait;\n};\n\nstruct blk_mq_queue_map {\n\tunsigned int *mq_map;\n\tunsigned int nr_queues;\n\tunsigned int queue_offset;\n};\n\nstruct blk_mq_ops;\n\nstruct blk_mq_tags;\n\nstruct blk_mq_tag_set {\n\tconst struct blk_mq_ops *ops;\n\tstruct blk_mq_queue_map map[3];\n\tunsigned int nr_maps;\n\tunsigned int nr_hw_queues;\n\tunsigned int queue_depth;\n\tunsigned int reserved_tags;\n\tunsigned int cmd_size;\n\tint numa_node;\n\tunsigned int timeout;\n\tunsigned int flags;\n\tvoid *driver_data;\n\tstruct blk_mq_tags **tags;\n\tstruct blk_mq_tags *shared_tags;\n\tstruct mutex tag_list_lock;\n\tstruct list_head tag_list;\n\tstruct srcu_struct *srcu;\n};\n\nstruct kset;\n\nstruct kobj_type;\n\nstruct kernfs_node;\n\nstruct kobject {\n\tconst char *name;\n\tstruct list_head entry;\n\tstruct kobject *parent;\n\tstruct kset *kset;\n\tconst struct kobj_type *ktype;\n\tstruct kernfs_node *sd;\n\tstruct kref kref;\n\tunsigned int state_initialized: 1;\n\tunsigned int state_in_sysfs: 1;\n\tunsigned int state_add_uevent_sent: 1;\n\tunsigned int state_remove_uevent_sent: 1;\n\tunsigned int uevent_suppress: 1;\n};\n\nstruct dev_links_info {\n\tstruct list_head suppliers;\n\tstruct list_head consumers;\n\tstruct list_head defer_sync;\n\tenum dl_dev_state status;\n};\n\nstruct pm_message {\n\tint event;\n};\n\ntypedef struct pm_message pm_message_t;\n\nstruct rb_node {\n\tlong unsigned int __rb_parent_color;\n\tstruct rb_node *rb_right;\n\tstruct rb_node *rb_left;\n};\n\nstruct timerqueue_node {\n\tstruct rb_node node;\n\tktime_t expires;\n};\n\nstruct hrtimer_clock_base;\n\nstruct hrtimer {\n\tstruct timerqueue_node node;\n\tktime_t _softexpires;\n\tenum hrtimer_restart (*function)(struct hrtimer *);\n\tstruct hrtimer_clock_base *base;\n\tu8 state;\n\tu8 is_rel;\n\tu8 is_soft;\n\tu8 is_hard;\n};\n\nstruct work_struct;\n\ntypedef void (*work_func_t)(struct work_struct *);\n\nstruct work_struct {\n\tatomic_long_t data;\n\tstruct list_head entry;\n\twork_func_t func;\n};\n\nstruct wakeup_source;\n\nstruct wake_irq;\n\nstruct pm_subsys_data;\n\nstruct device;\n\nstruct dev_pm_qos;\n\nstruct dev_pm_info {\n\tpm_message_t power_state;\n\tbool can_wakeup: 1;\n\tbool async_suspend: 1;\n\tbool in_dpm_list: 1;\n\tbool is_prepared: 1;\n\tbool is_suspended: 1;\n\tbool is_noirq_suspended: 1;\n\tbool is_late_suspended: 1;\n\tbool no_pm: 1;\n\tbool early_init: 1;\n\tbool direct_complete: 1;\n\tu32 driver_flags;\n\tspinlock_t lock;\n\tstruct list_head entry;\n\tstruct completion completion;\n\tstruct wakeup_source *wakeup;\n\tbool wakeup_path: 1;\n\tbool syscore: 1;\n\tbool no_pm_callbacks: 1;\n\tbool async_in_progress: 1;\n\tbool must_resume: 1;\n\tbool set_active: 1;\n\tbool may_skip_resume: 1;\n\tstruct hrtimer suspend_timer;\n\tu64 timer_expires;\n\tstruct work_struct work;\n\twait_queue_head_t wait_queue;\n\tstruct wake_irq *wakeirq;\n\tatomic_t usage_count;\n\tatomic_t child_count;\n\tunsigned int disable_depth: 3;\n\tbool idle_notification: 1;\n\tbool request_pending: 1;\n\tbool deferred_resume: 1;\n\tbool needs_force_resume: 1;\n\tbool runtime_auto: 1;\n\tbool ignore_children: 1;\n\tbool no_callbacks: 1;\n\tbool irq_safe: 1;\n\tbool use_autosuspend: 1;\n\tbool timer_autosuspends: 1;\n\tbool memalloc_noio: 1;\n\tunsigned int links_count;\n\tenum rpm_request request;\n\tenum rpm_status runtime_status;\n\tenum rpm_status last_status;\n\tint runtime_error;\n\tint autosuspend_delay;\n\tu64 last_busy;\n\tu64 active_time;\n\tu64 suspended_time;\n\tu64 accounting_timestamp;\n\tstruct pm_subsys_data *subsys_data;\n\tvoid (*set_latency_tolerance)(struct device *, s32);\n\tstruct dev_pm_qos *qos;\n};\n\nstruct irq_domain;\n\nstruct msi_device_data;\n\nstruct dev_msi_info {\n\tstruct irq_domain *domain;\n\tstruct msi_device_data *data;\n};\n\nstruct dev_archdata {};\n\nstruct device_private;\n\nstruct device_type;\n\nstruct bus_type;\n\nstruct device_driver;\n\nstruct dev_pm_domain;\n\nstruct dev_pin_info;\n\nstruct bus_dma_region;\n\nstruct device_dma_parameters;\n\nstruct dma_coherent_mem;\n\nstruct io_tlb_mem;\n\nstruct device_node;\n\nstruct fwnode_handle;\n\nstruct class;\n\nstruct attribute_group;\n\nstruct iommu_group;\n\nstruct dev_iommu;\n\nstruct device_physical_location;\n\nstruct device {\n\tstruct kobject kobj;\n\tstruct device *parent;\n\tstruct device_private *p;\n\tconst char *init_name;\n\tconst struct device_type *type;\n\tconst struct bus_type *bus;\n\tstruct device_driver *driver;\n\tvoid *platform_data;\n\tvoid *driver_data;\n\tstruct mutex mutex;\n\tstruct dev_links_info links;\n\tstruct dev_pm_info power;\n\tstruct dev_pm_domain *pm_domain;\n\tstruct dev_pin_info *pins;\n\tstruct dev_msi_info msi;\n\tu64 *dma_mask;\n\tu64 coherent_dma_mask;\n\tu64 bus_dma_limit;\n\tconst struct bus_dma_region *dma_range_map;\n\tstruct device_dma_parameters *dma_parms;\n\tstruct list_head dma_pools;\n\tstruct dma_coherent_mem *dma_mem;\n\tstruct io_tlb_mem *dma_io_tlb_mem;\n\tstruct dev_archdata archdata;\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tdev_t devt;\n\tu32 id;\n\tspinlock_t devres_lock;\n\tstruct list_head devres_head;\n\tconst struct class *class;\n\tconst struct attribute_group **groups;\n\tvoid (*release)(struct device *);\n\tstruct iommu_group *iommu_group;\n\tstruct dev_iommu *iommu;\n\tstruct device_physical_location *physical_location;\n\tenum device_removable removable;\n\tbool offline_disabled: 1;\n\tbool offline: 1;\n\tbool of_node_reused: 1;\n\tbool state_synced: 1;\n\tbool can_match: 1;\n\tbool dma_coherent: 1;\n\tbool dma_skip_sync: 1;\n};\n\nstruct scsi_host_template;\n\nstruct scsi_transport_template;\n\nstruct workqueue_struct;\n\nstruct Scsi_Host {\n\tstruct list_head __devices;\n\tstruct list_head __targets;\n\tstruct list_head starved_list;\n\tspinlock_t default_lock;\n\tspinlock_t *host_lock;\n\tstruct mutex scan_mutex;\n\tstruct list_head eh_abort_list;\n\tstruct list_head eh_cmd_q;\n\tstruct task_struct *ehandler;\n\tstruct completion *eh_action;\n\twait_queue_head_t host_wait;\n\tconst struct scsi_host_template *hostt;\n\tstruct scsi_transport_template *transportt;\n\tstruct kref tagset_refcnt;\n\tstruct completion tagset_freed;\n\tstruct blk_mq_tag_set tag_set;\n\tatomic_t host_blocked;\n\tunsigned int host_failed;\n\tunsigned int host_eh_scheduled;\n\tunsigned int host_no;\n\tint eh_deadline;\n\tlong unsigned int last_reset;\n\tunsigned int max_channel;\n\tunsigned int max_id;\n\tu64 max_lun;\n\tunsigned int unique_id;\n\tshort unsigned int max_cmd_len;\n\tint this_id;\n\tint can_queue;\n\tshort int cmd_per_lun;\n\tshort unsigned int sg_tablesize;\n\tshort unsigned int sg_prot_tablesize;\n\tunsigned int max_sectors;\n\tunsigned int opt_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int dma_alignment;\n\tlong unsigned int dma_boundary;\n\tlong unsigned int virt_boundary_mask;\n\tunsigned int nr_hw_queues;\n\tunsigned int nr_maps;\n\tunsigned int active_mode: 2;\n\tunsigned int host_self_blocked: 1;\n\tunsigned int reverse_ordering: 1;\n\tunsigned int tmf_in_progress: 1;\n\tunsigned int async_scan: 1;\n\tunsigned int eh_noresume: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int host_tagset: 1;\n\tunsigned int queuecommand_may_block: 1;\n\tunsigned int short_inquiry: 1;\n\tunsigned int no_scsi2_lun_in_cdb: 1;\n\tunsigned int no_highmem: 1;\n\tstruct workqueue_struct *work_q;\n\tstruct workqueue_struct *tmf_work_q;\n\tunsigned int max_host_blocked;\n\tunsigned int prot_capabilities;\n\tunsigned char prot_guard_type;\n\tlong unsigned int base;\n\tlong unsigned int io_port;\n\tunsigned char n_io_port;\n\tunsigned char dma_channel;\n\tunsigned int irq;\n\tenum scsi_host_state shost_state;\n\tstruct device shost_gendev;\n\tstruct device shost_dev;\n\tvoid *shost_data;\n\tstruct device *dma_dev;\n\tint rpm_autosuspend_delay;\n\tlong unsigned int hostdata[0];\n};\n\nstruct TxDesc {\n\t__le32 opts1;\n\t__le32 opts2;\n\t__le64 addr;\n};\n\nstruct ZSTD_CCtx_params_s {\n\tZSTD_format_e format;\n\tZSTD_compressionParameters cParams;\n\tZSTD_frameParameters fParams;\n\tint compressionLevel;\n\tint forceWindow;\n\tsize_t targetCBlockSize;\n\tint srcSizeHint;\n\tZSTD_dictAttachPref_e attachDictPref;\n\tZSTD_paramSwitch_e literalCompressionMode;\n\tint nbWorkers;\n\tsize_t jobSize;\n\tint overlapLog;\n\tint rsyncable;\n\tldmParams_t ldmParams;\n\tint enableDedicatedDictSearch;\n\tZSTD_bufferMode_e inBufferMode;\n\tZSTD_bufferMode_e outBufferMode;\n\tZSTD_sequenceFormat_e blockDelimiters;\n\tint validateSequences;\n\tZSTD_paramSwitch_e useBlockSplitter;\n\tZSTD_paramSwitch_e useRowMatchFinder;\n\tint deterministicRefPrefix;\n\tZSTD_customMem customMem;\n};\n\ntypedef struct ZSTD_CCtx_params_s ZSTD_CCtx_params;\n\nstruct xxh64_state {\n\tuint64_t total_len;\n\tuint64_t v1;\n\tuint64_t v2;\n\tuint64_t v3;\n\tuint64_t v4;\n\tuint64_t mem64[4];\n\tuint32_t memsize;\n};\n\nstruct POOL_ctx_s;\n\ntypedef struct POOL_ctx_s ZSTD_threadPool;\n\nstruct ZSTD_inBuffer_s {\n\tconst void *src;\n\tsize_t size;\n\tsize_t pos;\n};\n\ntypedef struct ZSTD_inBuffer_s ZSTD_inBuffer;\n\nstruct ZSTD_prefixDict_s {\n\tconst void *dict;\n\tsize_t dictSize;\n\tZSTD_dictContentType_e dictContentType;\n};\n\ntypedef struct ZSTD_prefixDict_s ZSTD_prefixDict;\n\nstruct ZSTD_CCtx_s {\n\tZSTD_compressionStage_e stage;\n\tint cParamsChanged;\n\tint bmi2;\n\tZSTD_CCtx_params requestedParams;\n\tZSTD_CCtx_params appliedParams;\n\tZSTD_CCtx_params simpleApiParams;\n\tU32 dictID;\n\tsize_t dictContentSize;\n\tZSTD_cwksp workspace;\n\tsize_t blockSize;\n\tlong long unsigned int pledgedSrcSizePlusOne;\n\tlong long unsigned int consumedSrcSize;\n\tlong long unsigned int producedCSize;\n\tstruct xxh64_state xxhState;\n\tZSTD_customMem customMem;\n\tZSTD_threadPool *pool;\n\tsize_t staticSize;\n\tSeqCollector seqCollector;\n\tint isFirstBlock;\n\tint initialized;\n\tseqStore_t seqStore;\n\tldmState_t ldmState;\n\trawSeq *ldmSequences;\n\tsize_t maxNbLdmSequences;\n\trawSeqStore_t externSeqStore;\n\tZSTD_blockState_t blockState;\n\tU32 *entropyWorkspace;\n\tZSTD_buffered_policy_e bufferedPolicy;\n\tchar *inBuff;\n\tsize_t inBuffSize;\n\tsize_t inToCompress;\n\tsize_t inBuffPos;\n\tsize_t inBuffTarget;\n\tchar *outBuff;\n\tsize_t outBuffSize;\n\tsize_t outBuffContentSize;\n\tsize_t outBuffFlushedSize;\n\tZSTD_cStreamStage streamStage;\n\tU32 frameEnded;\n\tZSTD_inBuffer expectedInBuffer;\n\tsize_t expectedOutBufferSize;\n\tZSTD_localDict localDict;\n\tconst ZSTD_CDict *cdict;\n\tZSTD_prefixDict prefixDict;\n\tZSTD_blockSplitCtx blockSplitCtx;\n};\n\ntypedef struct ZSTD_CCtx_s ZSTD_CCtx;\n\ntypedef ZSTD_CCtx ZSTD_CStream;\n\ntypedef ZSTD_CCtx zstd_cctx;\n\ntypedef ZSTD_CStream zstd_cstream;\n\nstruct ZSTD_CDict_s {\n\tconst void *dictContent;\n\tsize_t dictContentSize;\n\tZSTD_dictContentType_e dictContentType;\n\tU32 *entropyWorkspace;\n\tZSTD_cwksp workspace;\n\tZSTD_matchState_t matchState;\n\tZSTD_compressedBlockState_t cBlockState;\n\tZSTD_customMem customMem;\n\tU32 dictID;\n\tint compressionLevel;\n\tZSTD_paramSwitch_e useRowMatchFinder;\n};\n\ntypedef ZSTD_CDict zstd_cdict;\n\nstruct ZSTD_outBuffer_s {\n\tvoid *dst;\n\tsize_t size;\n\tsize_t pos;\n};\n\ntypedef struct ZSTD_outBuffer_s ZSTD_outBuffer;\n\nstruct ZSTD_DCtx_s {\n\tconst ZSTD_seqSymbol *LLTptr;\n\tconst ZSTD_seqSymbol *MLTptr;\n\tconst ZSTD_seqSymbol *OFTptr;\n\tconst HUF_DTable *HUFptr;\n\tZSTD_entropyDTables_t entropy;\n\tU32 workspace[640];\n\tconst void *previousDstEnd;\n\tconst void *prefixStart;\n\tconst void *virtualStart;\n\tconst void *dictEnd;\n\tsize_t expected;\n\tZSTD_frameHeader fParams;\n\tU64 processedCSize;\n\tU64 decodedSize;\n\tblockType_e bType;\n\tZSTD_dStage stage;\n\tU32 litEntropy;\n\tU32 fseEntropy;\n\tstruct xxh64_state xxhState;\n\tsize_t headerSize;\n\tZSTD_format_e format;\n\tZSTD_forceIgnoreChecksum_e forceIgnoreChecksum;\n\tU32 validateChecksum;\n\tconst BYTE *litPtr;\n\tZSTD_customMem customMem;\n\tsize_t litSize;\n\tsize_t rleSize;\n\tsize_t staticSize;\n\tZSTD_DDict *ddictLocal;\n\tconst ZSTD_DDict *ddict;\n\tU32 dictID;\n\tint ddictIsCold;\n\tZSTD_dictUses_e dictUses;\n\tZSTD_DDictHashSet *ddictSet;\n\tZSTD_refMultipleDDicts_e refMultipleDDicts;\n\tZSTD_dStreamStage streamStage;\n\tchar *inBuff;\n\tsize_t inBuffSize;\n\tsize_t inPos;\n\tsize_t maxWindowSize;\n\tchar *outBuff;\n\tsize_t outBuffSize;\n\tsize_t outStart;\n\tsize_t outEnd;\n\tsize_t lhSize;\n\tU32 hostageByte;\n\tint noForwardProgress;\n\tZSTD_bufferMode_e outBufferMode;\n\tZSTD_outBuffer expectedOutBuffer;\n\tBYTE *litBuffer;\n\tconst BYTE *litBufferEnd;\n\tZSTD_litLocation_e litBufferLocation;\n\tBYTE litExtraBuffer[65568];\n\tBYTE headerBuffer[18];\n\tsize_t oversizedDuration;\n};\n\ntypedef struct ZSTD_DCtx_s ZSTD_DCtx;\n\ntypedef ZSTD_DCtx ZSTD_DStream;\n\ntypedef ZSTD_DCtx zstd_dctx;\n\ntypedef ZSTD_DStream zstd_dstream;\n\nstruct ZSTD_DDict_s {\n\tvoid *dictBuffer;\n\tconst void *dictContent;\n\tsize_t dictSize;\n\tZSTD_entropyDTables_t entropy;\n\tU32 dictID;\n\tU32 entropyPresent;\n\tZSTD_customMem cMem;\n};\n\ntypedef ZSTD_DDict zstd_ddict;\n\ntypedef ZSTD_inBuffer zstd_in_buffer;\n\ntypedef ZSTD_outBuffer zstd_out_buffer;\n\nstruct __aio_sigset {\n\tconst sigset_t *sigmask;\n\tsize_t sigsetsize;\n};\n\nstruct llist_node {\n\tstruct llist_node *next;\n};\n\nstruct __call_single_node {\n\tstruct llist_node llist;\n\tunion {\n\t\tunsigned int u_flags;\n\t\tatomic_t a_flags;\n\t};\n\tu16 src;\n\tu16 dst;\n};\n\ntypedef void (*smp_call_func_t)(void *);\n\nstruct __call_single_data {\n\tstruct __call_single_node node;\n\tsmp_call_func_t func;\n\tvoid *info;\n};\n\ntypedef struct __call_single_data call_single_data_t;\n\nstruct __compat_aio_sigset {\n\tcompat_uptr_t sigmask;\n\tcompat_size_t sigsetsize;\n};\n\nstruct __extcon_info {\n\tunsigned int type;\n\tunsigned int id;\n\tconst char *name;\n};\n\nstruct __fat_dirent {\n\tlong int d_ino;\n\t__kernel_off_t d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[256];\n};\n\nstruct genradix_root;\n\nstruct __genradix {\n\tstruct genradix_root *root;\n};\n\nstruct pmu;\n\nstruct cgroup;\n\nstruct __group_key {\n\tint cpu;\n\tstruct pmu *pmu;\n\tstruct cgroup *cgroup;\n};\n\nstruct __ip6_tnl_parm {\n\tchar name[16];\n\tint link;\n\t__u8 proto;\n\t__u8 encap_limit;\n\t__u8 hop_limit;\n\tbool collect_md;\n\t__be32 flowinfo;\n\t__u32 flags;\n\tstruct in6_addr laddr;\n\tstruct in6_addr raddr;\n\tlong unsigned int i_flags[1];\n\tlong unsigned int o_flags[1];\n\t__be32 i_key;\n\t__be32 o_key;\n\t__u32 fwmark;\n\t__u32 index;\n\t__u8 erspan_ver;\n\t__u8 dir;\n\t__u16 hwid;\n};\n\nstruct __kernel_timespec {\n\t__kernel_time64_t tv_sec;\n\tlong long int tv_nsec;\n};\n\nstruct __kernel_itimerspec {\n\tstruct __kernel_timespec it_interval;\n\tstruct __kernel_timespec it_value;\n};\n\nstruct __kernel_old_timeval {\n\t__kernel_long_t tv_sec;\n\t__kernel_long_t tv_usec;\n};\n\nstruct __kernel_old_itimerval {\n\tstruct __kernel_old_timeval it_interval;\n\tstruct __kernel_old_timeval it_value;\n};\n\nstruct __kernel_old_timespec {\n\t__kernel_old_time_t tv_sec;\n\tlong int tv_nsec;\n};\n\nstruct __kernel_sock_timeval {\n\t__s64 tv_sec;\n\t__s64 tv_usec;\n};\n\nstruct __kernel_sockaddr_storage {\n\tunion {\n\t\tstruct {\n\t\t\t__kernel_sa_family_t ss_family;\n\t\t\tchar __data[126];\n\t\t};\n\t\tvoid *__align;\n\t};\n};\n\nstruct __kernel_timex_timeval {\n\t__kernel_time64_t tv_sec;\n\tlong long int tv_usec;\n};\n\nstruct __kernel_timex {\n\tunsigned int modes;\n\tlong long int offset;\n\tlong long int freq;\n\tlong long int maxerror;\n\tlong long int esterror;\n\tint status;\n\tlong long int constant;\n\tlong long int precision;\n\tlong long int tolerance;\n\tstruct __kernel_timex_timeval time;\n\tlong long int tick;\n\tlong long int ppsfreq;\n\tlong long int jitter;\n\tint shift;\n\tlong long int stabil;\n\tlong long int jitcnt;\n\tlong long int calcnt;\n\tlong long int errcnt;\n\tlong long int stbcnt;\n\tint tai;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct __kfifo {\n\tunsigned int in;\n\tunsigned int out;\n\tunsigned int mask;\n\tunsigned int esize;\n\tvoid *data;\n};\n\nstruct clk_core;\n\nstruct clk;\n\nstruct clk_init_data;\n\nstruct clk_hw {\n\tstruct clk_core *core;\n\tstruct clk *clk;\n\tconst struct clk_init_data *init;\n};\n\nstruct clk_ops;\n\nstruct __prci_wrpll_data;\n\nstruct __prci_data;\n\nstruct __prci_clock {\n\tconst char *name;\n\tconst char *parent_name;\n\tconst struct clk_ops *ops;\n\tstruct clk_hw hw;\n\tstruct __prci_wrpll_data *pwd;\n\tstruct __prci_data *pd;\n};\n\nstruct reset_control_ops;\n\nstruct of_phandle_args;\n\nstruct reset_controller_dev {\n\tconst struct reset_control_ops *ops;\n\tstruct module *owner;\n\tstruct list_head list;\n\tstruct list_head reset_control_head;\n\tstruct device *dev;\n\tstruct device_node *of_node;\n\tconst struct of_phandle_args *of_args;\n\tint of_reset_n_cells;\n\tint (*of_xlate)(struct reset_controller_dev *, const struct of_phandle_args *);\n\tunsigned int nr_resets;\n};\n\nstruct reset_simple_data {\n\tspinlock_t lock;\n\tvoid *membase;\n\tstruct reset_controller_dev rcdev;\n\tbool active_low;\n\tbool status_active_low;\n\tunsigned int reset_us;\n};\n\nstruct clk_hw_onecell_data {\n\tunsigned int num;\n\tstruct clk_hw *hws[0];\n};\n\nstruct __prci_data {\n\tvoid *va;\n\tstruct reset_simple_data reset;\n\tstruct clk_hw_onecell_data hw_clks;\n};\n\nstruct wrpll_cfg {\n\tu8 divr;\n\tu8 divq;\n\tu8 range;\n\tu8 flags;\n\tu16 divf;\n\tu32 output_rate_cache[6];\n\tlong unsigned int parent_rate;\n\tu8 max_r;\n\tu8 init_r;\n};\n\nstruct __prci_wrpll_data {\n\tstruct wrpll_cfg c;\n\tvoid (*enable_bypass)(struct __prci_data *);\n\tvoid (*disable_bypass)(struct __prci_data *);\n\tu8 cfg0_offs;\n\tu8 cfg1_offs;\n};\n\nstruct __riscv_ctx_hdr {\n\t__u32 magic;\n\t__u32 size;\n};\n\nstruct __riscv_d_ext_state {\n\t__u64 f[32];\n\t__u32 fcsr;\n};\n\nstruct __riscv_extra_ext_header {\n\t__u32 __padding[129];\n\t__u32 reserved;\n\tstruct __riscv_ctx_hdr hdr;\n};\n\nstruct __riscv_f_ext_state {\n\t__u32 f[32];\n\t__u32 fcsr;\n};\n\nstruct __riscv_q_ext_state {\n\t__u64 f[64];\n\t__u32 fcsr;\n\t__u32 reserved[3];\n};\n\nunion __riscv_fp_state {\n\tstruct __riscv_f_ext_state f;\n\tstruct __riscv_d_ext_state d;\n\tstruct __riscv_q_ext_state q;\n};\n\nstruct __riscv_v_ext_state {\n\tlong unsigned int vstart;\n\tlong unsigned int vl;\n\tlong unsigned int vtype;\n\tlong unsigned int vcsr;\n\tlong unsigned int vlenb;\n\tvoid *datap;\n};\n\nstruct __riscv_v_regset_state {\n\tlong unsigned int vstart;\n\tlong unsigned int vl;\n\tlong unsigned int vtype;\n\tlong unsigned int vcsr;\n\tlong unsigned int vlenb;\n\tchar vreg[0];\n};\n\nstruct __sc_riscv_v_state {\n\tstruct __riscv_v_ext_state v_state;\n};\n\nunion sigval {\n\tint sival_int;\n\tvoid *sival_ptr;\n};\n\ntypedef union sigval sigval_t;\n\nunion __sifields {\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t} _kill;\n\tstruct {\n\t\t__kernel_timer_t _tid;\n\t\tint _overrun;\n\t\tsigval_t _sigval;\n\t\tint _sys_private;\n\t} _timer;\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t\tsigval_t _sigval;\n\t} _rt;\n\tstruct {\n\t\t__kernel_pid_t _pid;\n\t\t__kernel_uid32_t _uid;\n\t\tint _status;\n\t\t__kernel_clock_t _utime;\n\t\t__kernel_clock_t _stime;\n\t} _sigchld;\n\tstruct {\n\t\tvoid *_addr;\n\t\tunion {\n\t\t\tint _trapno;\n\t\t\tshort int _addr_lsb;\n\t\t\tstruct {\n\t\t\t\tchar _dummy_bnd[8];\n\t\t\t\tvoid *_lower;\n\t\t\t\tvoid *_upper;\n\t\t\t} _addr_bnd;\n\t\t\tstruct {\n\t\t\t\tchar _dummy_pkey[8];\n\t\t\t\t__u32 _pkey;\n\t\t\t} _addr_pkey;\n\t\t\tstruct {\n\t\t\t\tlong unsigned int _data;\n\t\t\t\t__u32 _type;\n\t\t\t\t__u32 _flags;\n\t\t\t} _perf;\n\t\t};\n\t} _sigfault;\n\tstruct {\n\t\tlong int _band;\n\t\tint _fd;\n\t} _sigpoll;\n\tstruct {\n\t\tvoid *_call_addr;\n\t\tint _syscall;\n\t\tunsigned int _arch;\n\t} _sigsys;\n};\n\nstruct bpf_flow_keys;\n\nstruct bpf_sock;\n\nstruct __sk_buff {\n\t__u32 len;\n\t__u32 pkt_type;\n\t__u32 mark;\n\t__u32 queue_mapping;\n\t__u32 protocol;\n\t__u32 vlan_present;\n\t__u32 vlan_tci;\n\t__u32 vlan_proto;\n\t__u32 priority;\n\t__u32 ingress_ifindex;\n\t__u32 ifindex;\n\t__u32 tc_index;\n\t__u32 cb[5];\n\t__u32 hash;\n\t__u32 tc_classid;\n\t__u32 data;\n\t__u32 data_end;\n\t__u32 napi_id;\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 data_meta;\n\tunion {\n\t\tstruct bpf_flow_keys *flow_keys;\n\t};\n\t__u64 tstamp;\n\t__u32 wire_len;\n\t__u32 gso_segs;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\t__u32 gso_size;\n\t__u8 tstamp_type;\n\t__u64 hwtstamp;\n};\n\nstruct __snd_pcm_mmap_control64_buggy {\n\t__pad_before_u32 __pad1;\n\t__u32 appl_ptr;\n\t__pad_before_u32 __pad2;\n\t__pad_before_u32 __pad3;\n\t__u32 avail_min;\n\t__pad_after_uframe __pad4;\n};\n\nstruct dentry;\n\nstruct __track_dentry_update_args {\n\tstruct dentry *dentry;\n\tint op;\n};\n\nstruct __track_range_args {\n\text4_lblk_t start;\n\text4_lblk_t end;\n};\n\nstruct __una_u32 {\n\tu32 x;\n};\n\nstruct inode;\n\nstruct __uprobe_key {\n\tstruct inode *inode;\n\tloff_t offset;\n};\n\nstruct __user_cap_data_struct {\n\t__u32 effective;\n\t__u32 permitted;\n\t__u32 inheritable;\n};\n\ntypedef struct __user_cap_data_struct *cap_user_data_t;\n\nstruct __user_cap_header_struct {\n\t__u32 version;\n\tint pid;\n};\n\ntypedef struct __user_cap_header_struct *cap_user_header_t;\n\nstruct vm_special_mapping;\n\nstruct __vdso_info {\n\tconst char *name;\n\tconst char *vdso_code_start;\n\tconst char *vdso_code_end;\n\tlong unsigned int vdso_pages;\n\tstruct vm_special_mapping *cm;\n};\n\nstruct net_device;\n\nstruct _bpf_dtab_netdev {\n\tstruct net_device *dev;\n};\n\nstruct _ccu_mult {\n\tlong unsigned int mult;\n\tlong unsigned int min;\n\tlong unsigned int max;\n};\n\nstruct _ccu_nk {\n\tlong unsigned int n;\n\tlong unsigned int min_n;\n\tlong unsigned int max_n;\n\tlong unsigned int k;\n\tlong unsigned int min_k;\n\tlong unsigned int max_k;\n};\n\nstruct _ccu_nkm {\n\tlong unsigned int n;\n\tlong unsigned int min_n;\n\tlong unsigned int max_n;\n\tlong unsigned int k;\n\tlong unsigned int min_k;\n\tlong unsigned int max_k;\n\tlong unsigned int m;\n\tlong unsigned int min_m;\n\tlong unsigned int max_m;\n};\n\nstruct _ccu_nkmp {\n\tlong unsigned int n;\n\tlong unsigned int min_n;\n\tlong unsigned int max_n;\n\tlong unsigned int k;\n\tlong unsigned int min_k;\n\tlong unsigned int max_k;\n\tlong unsigned int m;\n\tlong unsigned int min_m;\n\tlong unsigned int max_m;\n\tlong unsigned int p;\n\tlong unsigned int min_p;\n\tlong unsigned int max_p;\n};\n\nstruct _ccu_nm {\n\tlong unsigned int n;\n\tlong unsigned int min_n;\n\tlong unsigned int max_n;\n\tlong unsigned int m;\n\tlong unsigned int min_m;\n\tlong unsigned int max_m;\n};\n\nstruct _flow_keys_digest_data {\n\t__be16 n_proto;\n\tu8 ip_proto;\n\tu8 padding;\n\t__be32 ports;\n\t__be32 src;\n\t__be32 dst;\n};\n\nstruct _gpt_entry_attributes {\n\tu64 required_to_function: 1;\n\tu64 reserved: 47;\n\tu64 type_guid_specific: 16;\n};\n\ntypedef struct _gpt_entry_attributes gpt_entry_attributes;\n\nstruct _gpt_entry {\n\tefi_guid_t partition_type_guid;\n\tefi_guid_t unique_partition_guid;\n\t__le64 starting_lba;\n\t__le64 ending_lba;\n\tgpt_entry_attributes attributes;\n\t__le16 partition_name[36];\n};\n\ntypedef struct _gpt_entry gpt_entry;\n\nstruct _gpt_header {\n\t__le64 signature;\n\t__le32 revision;\n\t__le32 header_size;\n\t__le32 header_crc32;\n\t__le32 reserved1;\n\t__le64 my_lba;\n\t__le64 alternate_lba;\n\t__le64 first_usable_lba;\n\t__le64 last_usable_lba;\n\tefi_guid_t disk_guid;\n\t__le64 partition_entry_lba;\n\t__le32 num_partition_entries;\n\t__le32 sizeof_partition_entry;\n\t__le32 partition_entry_array_crc32;\n} __attribute__((packed));\n\ntypedef struct _gpt_header gpt_header;\n\nstruct _gpt_mbr_record {\n\tu8 boot_indicator;\n\tu8 start_head;\n\tu8 start_sector;\n\tu8 start_track;\n\tu8 os_type;\n\tu8 end_head;\n\tu8 end_sector;\n\tu8 end_track;\n\t__le32 starting_lba;\n\t__le32 size_in_lba;\n};\n\ntypedef struct _gpt_mbr_record gpt_mbr_record;\n\nstruct kvm_stats_desc {\n\t__u32 flags;\n\t__s16 exponent;\n\t__u16 size;\n\t__u32 offset;\n\t__u32 bucket_size;\n\tchar name[0];\n};\n\nstruct _kvm_stats_desc {\n\tstruct kvm_stats_desc desc;\n\tchar name[48];\n};\n\nstruct _legacy_mbr {\n\tu8 boot_code[440];\n\t__le32 unique_mbr_signature;\n\t__le16 unknown;\n\tgpt_mbr_record partition_record[4];\n\t__le16 signature;\n} __attribute__((packed));\n\ntypedef struct _legacy_mbr legacy_mbr;\n\nstruct strp_msg {\n\tint full_len;\n\tint offset;\n};\n\nstruct _strp_msg {\n\tstruct strp_msg strp;\n\tint accum_len;\n};\n\nstruct aa_policydb;\n\nstruct aa_attachment {\n\tconst char *xmatch_str;\n\tstruct aa_policydb *xmatch;\n\tunsigned int xmatch_len;\n\tint xattr_count;\n\tchar **xattrs;\n};\n\nstruct aa_label;\n\nstruct aa_audit_rule {\n\tstruct aa_label *label;\n};\n\nunion aa_buffer {\n\tstruct list_head list;\n\tstruct {\n\t\tstruct {} __empty_buffer;\n\t\tchar buffer[0];\n\t};\n};\n\nstruct aa_caps {\n\tkernel_cap_t allow;\n\tkernel_cap_t audit;\n\tkernel_cap_t denied;\n\tkernel_cap_t quiet;\n\tkernel_cap_t kill;\n\tkernel_cap_t extended;\n};\n\nstruct rhash_head {\n\tstruct rhash_head *next;\n};\n\nstruct aa_data {\n\tchar *key;\n\tu32 size;\n\tchar *data;\n\tstruct rhash_head head;\n};\n\nstruct table_header;\n\nstruct aa_dfa {\n\tstruct kref count;\n\tu16 flags;\n\tu32 max_oob;\n\tstruct table_header *tables[8];\n};\n\nstruct aa_ext {\n\tvoid *start;\n\tvoid *end;\n\tvoid *pos;\n\tu32 version;\n};\n\nstruct aa_file_ctx {\n\tspinlock_t lock;\n\tstruct aa_label *label;\n\tu32 allow;\n};\n\nstruct aa_proxy;\n\nstruct aa_profile;\n\nstruct aa_label {\n\tstruct kref count;\n\tstruct rb_node node;\n\tstruct callback_head rcu;\n\tstruct aa_proxy *proxy;\n\tchar *hname;\n\tlong int flags;\n\tu32 secid;\n\tint size;\n\tstruct aa_profile *vec[0];\n};\n\nstruct rb_root {\n\tstruct rb_node *rb_node;\n};\n\nstruct aa_labelset {\n\trwlock_t lock;\n\tstruct rb_root root;\n};\n\nstruct aa_load_ent {\n\tstruct list_head list;\n\tstruct aa_profile *new;\n\tstruct aa_profile *old;\n\tstruct aa_profile *rename;\n\tconst char *ns_name;\n};\n\nstruct aa_ns;\n\nstruct aa_loaddata {\n\tstruct kref count;\n\tstruct list_head list;\n\tstruct work_struct work;\n\tstruct dentry *dents[6];\n\tstruct aa_ns *ns;\n\tchar *name;\n\tsize_t size;\n\tsize_t compressed_size;\n\tlong int revision;\n\tint abi;\n\tunsigned char *hash;\n\tchar *data;\n};\n\nstruct aa_local_cache {\n\tunsigned int hold;\n\tunsigned int count;\n\tstruct list_head head;\n};\n\nstruct aa_policy {\n\tconst char *name;\n\tchar *hname;\n\tstruct list_head list;\n\tstruct list_head profiles;\n};\n\nstruct aa_ns_acct {\n\tint max_size;\n\tint max_count;\n\tint size;\n\tint count;\n};\n\nstruct aa_ns {\n\tstruct aa_policy base;\n\tstruct aa_ns *parent;\n\tstruct mutex lock;\n\tstruct aa_ns_acct acct;\n\tstruct aa_profile *unconfined;\n\tstruct list_head sub_ns;\n\tatomic_t uniq_null;\n\tlong int uniq_id;\n\tint level;\n\tlong int revision;\n\twait_queue_head_t wait;\n\tstruct aa_labelset labels;\n\tstruct list_head rawdata_list;\n\tstruct dentry *dents[13];\n};\n\nstruct aa_perms {\n\tu32 allow;\n\tu32 deny;\n\tu32 subtree;\n\tu32 cond;\n\tu32 kill;\n\tu32 complain;\n\tu32 prompt;\n\tu32 audit;\n\tu32 quiet;\n\tu32 hide;\n\tu32 xindex;\n\tu32 tag;\n\tu32 label;\n};\n\nstruct aa_str_table {\n\tint size;\n\tchar **table;\n};\n\nstruct aa_policydb {\n\tstruct kref count;\n\tstruct aa_dfa *dfa;\n\tstruct {\n\t\tstruct aa_perms *perms;\n\t\tu32 size;\n\t};\n\tstruct aa_str_table trans;\n\tunsigned int start[33];\n};\n\nstruct rhashtable;\n\nstruct aa_profile {\n\tstruct aa_policy base;\n\tstruct aa_profile *parent;\n\tstruct aa_ns *ns;\n\tconst char *rename;\n\tenum audit_mode audit;\n\tlong int mode;\n\tu32 path_flags;\n\tconst char *disconnected;\n\tstruct aa_attachment attach;\n\tstruct list_head rules;\n\tstruct aa_loaddata *rawdata;\n\tunsigned char *hash;\n\tchar *dirname;\n\tstruct dentry *dents[9];\n\tstruct rhashtable *data;\n\tstruct aa_label label;\n};\n\nstruct aa_proxy {\n\tstruct kref count;\n\tstruct aa_label *label;\n};\n\nstruct aa_revision {\n\tstruct aa_ns *ns;\n\tlong int last_read;\n};\n\nstruct rlimit {\n\t__kernel_ulong_t rlim_cur;\n\t__kernel_ulong_t rlim_max;\n};\n\nstruct aa_rlimit {\n\tunsigned int mask;\n\tstruct rlimit limits[16];\n};\n\nstruct aa_secmark;\n\nstruct aa_ruleset {\n\tstruct list_head list;\n\tint size;\n\tstruct aa_policydb *policy;\n\tstruct aa_policydb *file;\n\tstruct aa_caps caps;\n\tstruct aa_rlimit rlimits;\n\tint secmark_count;\n\tstruct aa_secmark *secmark;\n};\n\nstruct aa_secmark {\n\tu8 audit;\n\tu8 deny;\n\tu32 secid;\n\tchar *label;\n};\n\nstruct file_operations;\n\nstruct aa_sfs_entry {\n\tconst char *name;\n\tstruct dentry *dentry;\n\tumode_t mode;\n\tenum aa_sfs_type v_type;\n\tunion {\n\t\tbool boolean;\n\t\tchar *string;\n\t\tlong unsigned int u64;\n\t\tstruct aa_sfs_entry *files;\n\t} v;\n\tconst struct file_operations *file_ops;\n};\n\nstruct aa_sk_ctx {\n\tstruct aa_label *label;\n\tstruct aa_label *peer;\n};\n\nstruct aa_task_ctx {\n\tstruct aa_label *nnp;\n\tstruct aa_label *onexec;\n\tstruct aa_label *previous;\n\tu64 token;\n};\n\nstruct seq_net_private {\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n};\n\nstruct ac6_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n};\n\nstruct ack_sample {\n\tu32 pkts_acked;\n\ts32 rtt_us;\n\tu32 in_flight;\n};\n\nstruct crypto_tfm;\n\nstruct cipher_alg {\n\tunsigned int cia_min_keysize;\n\tunsigned int cia_max_keysize;\n\tint (*cia_setkey)(struct crypto_tfm *, const u8 *, unsigned int);\n\tvoid (*cia_encrypt)(struct crypto_tfm *, u8 *, const u8 *);\n\tvoid (*cia_decrypt)(struct crypto_tfm *, u8 *, const u8 *);\n};\n\nstruct compress_alg {\n\tint (*coa_compress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *);\n\tint (*coa_decompress)(struct crypto_tfm *, const u8 *, unsigned int, u8 *, unsigned int *);\n};\n\nstruct crypto_type;\n\nstruct crypto_alg {\n\tstruct list_head cra_list;\n\tstruct list_head cra_users;\n\tu32 cra_flags;\n\tunsigned int cra_blocksize;\n\tunsigned int cra_ctxsize;\n\tunsigned int cra_alignmask;\n\tint cra_priority;\n\trefcount_t cra_refcnt;\n\tchar cra_name[128];\n\tchar cra_driver_name[128];\n\tconst struct crypto_type *cra_type;\n\tunion {\n\t\tstruct cipher_alg cipher;\n\t\tstruct compress_alg compress;\n\t} cra_u;\n\tint (*cra_init)(struct crypto_tfm *);\n\tvoid (*cra_exit)(struct crypto_tfm *);\n\tvoid (*cra_destroy)(struct crypto_alg *);\n\tstruct module *cra_module;\n};\n\nstruct comp_alg_common {\n\tstruct crypto_alg base;\n};\n\nstruct acomp_req;\n\nstruct scatterlist;\n\nstruct crypto_acomp;\n\nstruct acomp_alg {\n\tint (*compress)(struct acomp_req *);\n\tint (*decompress)(struct acomp_req *);\n\tvoid (*dst_free)(struct scatterlist *);\n\tint (*init)(struct crypto_acomp *);\n\tvoid (*exit)(struct crypto_acomp *);\n\tunsigned int reqsize;\n\tunion {\n\t\tstruct {\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct comp_alg_common calg;\n\t};\n};\n\ntypedef void (*crypto_completion_t)(void *, int);\n\nstruct crypto_async_request {\n\tstruct list_head list;\n\tcrypto_completion_t complete;\n\tvoid *data;\n\tstruct crypto_tfm *tfm;\n\tu32 flags;\n};\n\nstruct acomp_req {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int slen;\n\tunsigned int dlen;\n\tu32 flags;\n\tvoid *__ctx[0];\n};\n\nstruct power_supply;\n\nunion power_supply_propval;\n\nstruct power_supply_desc {\n\tconst char *name;\n\tenum power_supply_type type;\n\tu8 charge_behaviours;\n\tu32 charge_types;\n\tu32 usb_types;\n\tconst enum power_supply_property *properties;\n\tsize_t num_properties;\n\tint (*get_property)(struct power_supply *, enum power_supply_property, union power_supply_propval *);\n\tint (*set_property)(struct power_supply *, enum power_supply_property, const union power_supply_propval *);\n\tint (*property_is_writeable)(struct power_supply *, enum power_supply_property);\n\tvoid (*external_power_changed)(struct power_supply *);\n\tvoid (*set_charged)(struct power_supply *);\n\tbool no_thermal;\n\tint use_for_apm;\n};\n\nstruct notifier_block;\n\ntypedef int (*notifier_fn_t)(struct notifier_block *, long unsigned int, void *);\n\nstruct notifier_block {\n\tnotifier_fn_t notifier_call;\n\tstruct notifier_block *next;\n\tint priority;\n};\n\nstruct acpi_device;\n\nstruct acpi_ac {\n\tstruct power_supply *charger;\n\tstruct power_supply_desc charger_desc;\n\tstruct acpi_device *device;\n\tlong long unsigned int state;\n\tstruct notifier_block battery_nb;\n};\n\nstruct acpi_address16_attribute {\n\tu16 granularity;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 translation_offset;\n\tu16 address_length;\n};\n\nstruct acpi_address32_attribute {\n\tu32 granularity;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 translation_offset;\n\tu32 address_length;\n};\n\nstruct acpi_address64_attribute {\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n};\n\nstruct acpi_namespace_node;\n\nstruct acpi_address_range {\n\tstruct acpi_address_range *next;\n\tstruct acpi_namespace_node *region_node;\n\tacpi_physical_address start_address;\n\tacpi_physical_address end_address;\n};\n\nstruct acpi_battery {\n\tstruct mutex lock;\n\tstruct mutex sysfs_lock;\n\tstruct power_supply *bat;\n\tstruct power_supply_desc bat_desc;\n\tstruct acpi_device *device;\n\tstruct notifier_block pm_nb;\n\tstruct list_head list;\n\tlong unsigned int update_time;\n\tint revision;\n\tint rate_now;\n\tint capacity_now;\n\tint voltage_now;\n\tint design_capacity;\n\tint full_charge_capacity;\n\tint technology;\n\tint design_voltage;\n\tint design_capacity_warning;\n\tint design_capacity_low;\n\tint cycle_count;\n\tint measurement_accuracy;\n\tint max_sampling_time;\n\tint min_sampling_time;\n\tint max_averaging_interval;\n\tint min_averaging_interval;\n\tint capacity_granularity_1;\n\tint capacity_granularity_2;\n\tint alarm;\n\tchar model_number[64];\n\tchar serial_number[64];\n\tchar type[64];\n\tchar oem_info[64];\n\tint state;\n\tint power_unit;\n\tlong unsigned int flags;\n};\n\nstruct acpi_battery_hook {\n\tconst char *name;\n\tint (*add_battery)(struct power_supply *, struct acpi_battery_hook *);\n\tint (*remove_battery)(struct power_supply *, struct acpi_battery_hook *);\n\tstruct list_head list;\n};\n\nstruct acpi_buffer {\n\tacpi_size length;\n\tvoid *pointer;\n};\n\nstruct acpi_bus_event {\n\tstruct list_head node;\n\tacpi_device_class device_class;\n\tacpi_bus_id bus_id;\n\tu32 type;\n\tu32 data;\n};\n\nstruct acpi_bus_type {\n\tstruct list_head list;\n\tconst char *name;\n\tbool (*match)(struct device *);\n\tstruct acpi_device * (*find_companion)(struct device *);\n\tvoid (*setup)(struct device *);\n};\n\nstruct input_dev;\n\nstruct acpi_button {\n\tunsigned int type;\n\tstruct input_dev *input;\n\tchar phys[32];\n\tlong unsigned int pushed;\n\tint last_state;\n\tktime_t last_time;\n\tbool suspended;\n\tbool lid_state_initialized;\n};\n\nstruct acpi_cdat_header {\n\tu8 type;\n\tu8 reserved;\n\tu16 length;\n};\n\nstruct acpi_cedt_header {\n\tu8 type;\n\tu8 reserved;\n\tu16 length;\n};\n\nstruct acpi_comment_node {\n\tchar *comment;\n\tstruct acpi_comment_node *next;\n};\n\nstruct acpi_common_descriptor {\n\tvoid *common_pointer;\n\tu8 descriptor_type;\n};\n\nstruct acpi_common_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n};\n\nstruct acpi_connection_info {\n\tu8 *connection;\n\tu16 length;\n\tu8 access_length;\n};\n\nunion acpi_parse_object;\n\nstruct acpi_control_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu16 opcode;\n\tunion acpi_parse_object *predicate_op;\n\tu8 *aml_predicate_start;\n\tu8 *package_end;\n\tu64 loop_timeout;\n};\n\nstruct acpi_create_field_info {\n\tstruct acpi_namespace_node *region_node;\n\tstruct acpi_namespace_node *field_node;\n\tstruct acpi_namespace_node *register_node;\n\tstruct acpi_namespace_node *data_register_node;\n\tstruct acpi_namespace_node *connection_node;\n\tu8 *resource_buffer;\n\tu32 bank_value;\n\tu32 field_bit_position;\n\tu32 field_bit_length;\n\tu16 resource_length;\n\tu16 pin_number_index;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 field_type;\n\tu8 access_length;\n};\n\nstruct acpi_csrt_group {\n\tu32 length;\n\tu32 vendor_id;\n\tu32 subvendor_id;\n\tu16 device_id;\n\tu16 subdevice_id;\n\tu16 revision;\n\tu16 reserved;\n\tu32 shared_info_length;\n};\n\nstruct acpi_csrt_shared_info {\n\tu16 major_version;\n\tu16 minor_version;\n\tu32 mmio_base_low;\n\tu32 mmio_base_high;\n\tu32 gsi_interrupt;\n\tu8 interrupt_polarity;\n\tu8 interrupt_mode;\n\tu8 num_channels;\n\tu8 dma_address_width;\n\tu16 base_request_line;\n\tu16 num_handshake_signals;\n\tu32 max_block_size;\n};\n\nstruct attribute {\n\tconst char *name;\n\tumode_t mode;\n};\n\nstruct address_space;\n\nstruct file;\n\nstruct vm_area_struct;\n\nstruct bin_attribute {\n\tstruct attribute attr;\n\tsize_t size;\n\tvoid *private;\n\tstruct address_space * (*f_mapping)(void);\n\tssize_t (*read)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*read_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*write)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t);\n\tssize_t (*write_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t);\n\tloff_t (*llseek)(struct file *, struct kobject *, const struct bin_attribute *, loff_t, int);\n\tint (*mmap)(struct file *, struct kobject *, const struct bin_attribute *, struct vm_area_struct *);\n};\n\nstruct acpi_data_attr {\n\tstruct bin_attribute attr;\n\tu64 addr;\n};\n\ntypedef void *acpi_handle;\n\nstruct fwnode_operations;\n\nstruct fwnode_handle {\n\tstruct fwnode_handle *secondary;\n\tconst struct fwnode_operations *ops;\n\tstruct device *dev;\n\tstruct list_head suppliers;\n\tstruct list_head consumers;\n\tu8 flags;\n};\n\nunion acpi_object;\n\nstruct acpi_device_data {\n\tconst union acpi_object *pointer;\n\tstruct list_head properties;\n\tconst union acpi_object *of_compatible;\n\tstruct list_head subnodes;\n};\n\nstruct acpi_data_node {\n\tstruct list_head sibling;\n\tconst char *name;\n\tacpi_handle handle;\n\tstruct fwnode_handle fwnode;\n\tstruct fwnode_handle *parent;\n\tstruct acpi_device_data data;\n\tstruct kobject kobj;\n\tstruct completion kobj_done;\n};\n\nstruct acpi_data_node_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct acpi_data_node *, char *);\n\tssize_t (*store)(struct acpi_data_node *, const char *, size_t);\n};\n\nstruct acpi_data_obj {\n\tchar *name;\n\tint (*fn)(void *, struct acpi_data_attr *);\n};\n\nstruct acpi_data_table_mapping {\n\tvoid *pointer;\n};\n\nstruct acpi_dep_data {\n\tstruct list_head node;\n\tacpi_handle supplier;\n\tacpi_handle consumer;\n\tbool honor_dep;\n\tbool met;\n\tbool free_when_met;\n};\n\nunion acpi_operand_object;\n\nstruct acpi_object_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n};\n\nstruct acpi_object_integer {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 fill[3];\n\tu64 value;\n};\n\nstruct acpi_object_string {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tchar *pointer;\n\tu32 length;\n};\n\nstruct acpi_object_buffer {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 *pointer;\n\tu32 length;\n\tu32 aml_length;\n\tu8 *aml_start;\n\tstruct acpi_namespace_node *node;\n};\n\nstruct acpi_object_package {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object **elements;\n\tu8 *aml_start;\n\tu32 aml_length;\n\tu32 count;\n};\n\nstruct acpi_object_event {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tvoid *os_semaphore;\n};\n\nstruct acpi_walk_state;\n\ntypedef acpi_status (*acpi_internal_method)(struct acpi_walk_state *);\n\nstruct acpi_object_method {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 info_flags;\n\tu8 param_count;\n\tu8 sync_level;\n\tunion acpi_operand_object *mutex;\n\tunion acpi_operand_object *node;\n\tu8 *aml_start;\n\tunion {\n\t\tacpi_internal_method implementation;\n\t\tunion acpi_operand_object *handler;\n\t} dispatch;\n\tu32 aml_length;\n\tacpi_owner_id owner_id;\n\tu8 thread_count;\n};\n\nstruct acpi_thread_state;\n\nstruct acpi_object_mutex {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 sync_level;\n\tu16 acquisition_depth;\n\tvoid *os_mutex;\n\tu64 thread_id;\n\tstruct acpi_thread_state *owner_thread;\n\tunion acpi_operand_object *prev;\n\tunion acpi_operand_object *next;\n\tstruct acpi_namespace_node *node;\n\tu8 original_sync_level;\n};\n\nstruct acpi_object_region {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 space_id;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *handler;\n\tunion acpi_operand_object *next;\n\tacpi_physical_address address;\n\tu32 length;\n\tvoid *pointer;\n};\n\nstruct acpi_object_notify_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n};\n\nstruct acpi_gpe_block_info;\n\nstruct acpi_object_device {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tstruct acpi_gpe_block_info *gpe_block;\n};\n\nstruct acpi_object_power_resource {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tu32 system_level;\n\tu32 resource_order;\n};\n\nstruct acpi_object_processor {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 proc_id;\n\tu8 length;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n\tacpi_io_address address;\n};\n\nstruct acpi_object_thermal_zone {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *notify_list[2];\n\tunion acpi_operand_object *handler;\n};\n\nstruct acpi_object_field_common {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *region_obj;\n};\n\nstruct acpi_object_region_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tu16 resource_length;\n\tunion acpi_operand_object *region_obj;\n\tu8 *resource_buffer;\n\tu16 pin_number_index;\n\tu8 *internal_pcc_buffer;\n};\n\nstruct acpi_object_buffer_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tu8 is_create_field;\n\tunion acpi_operand_object *buffer_obj;\n};\n\nstruct acpi_object_bank_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *region_obj;\n\tunion acpi_operand_object *bank_obj;\n};\n\nstruct acpi_object_index_field {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 field_flags;\n\tu8 attribute;\n\tu8 access_byte_width;\n\tstruct acpi_namespace_node *node;\n\tu32 bit_length;\n\tu32 base_byte_offset;\n\tu32 value;\n\tu8 start_field_bit_offset;\n\tu8 access_length;\n\tunion acpi_operand_object *index_obj;\n\tunion acpi_operand_object *data_obj;\n};\n\ntypedef void (*acpi_notify_handler)(acpi_handle, u32, void *);\n\nstruct acpi_object_notify_handler {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *node;\n\tu32 handler_type;\n\tacpi_notify_handler handler;\n\tvoid *context;\n\tunion acpi_operand_object *next[2];\n};\n\ntypedef acpi_status (*acpi_adr_space_handler)(u32, acpi_physical_address, u32, u64 *, void *, void *);\n\ntypedef acpi_status (*acpi_adr_space_setup)(acpi_handle, u32, void *, void **);\n\nstruct acpi_object_addr_handler {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 space_id;\n\tu8 handler_flags;\n\tacpi_adr_space_handler handler;\n\tstruct acpi_namespace_node *node;\n\tvoid *context;\n\tvoid *context_mutex;\n\tacpi_adr_space_setup setup;\n\tunion acpi_operand_object *region_list;\n\tunion acpi_operand_object *next;\n};\n\nstruct acpi_object_reference {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tu8 class;\n\tu8 target_type;\n\tu8 resolved;\n\tvoid *object;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object **where;\n\tu8 *index_pointer;\n\tu8 *aml;\n\tu32 value;\n};\n\nstruct acpi_object_extra {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tstruct acpi_namespace_node *method_REG;\n\tstruct acpi_namespace_node *scope_node;\n\tvoid *region_context;\n\tu8 *aml_start;\n\tu32 aml_length;\n};\n\ntypedef void (*acpi_object_handler)(acpi_handle, void *);\n\nstruct acpi_object_data {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tacpi_object_handler handler;\n\tvoid *pointer;\n};\n\nstruct acpi_object_cache_list {\n\tunion acpi_operand_object *next_object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 reference_count;\n\tu8 flags;\n\tunion acpi_operand_object *next;\n};\n\nunion acpi_name_union {\n\tu32 integer;\n\tchar ascii[4];\n};\n\nstruct acpi_namespace_node {\n\tunion acpi_operand_object *object;\n\tu8 descriptor_type;\n\tu8 type;\n\tu16 flags;\n\tunion acpi_name_union name;\n\tstruct acpi_namespace_node *parent;\n\tstruct acpi_namespace_node *child;\n\tstruct acpi_namespace_node *peer;\n\tacpi_owner_id owner_id;\n};\n\nunion acpi_operand_object {\n\tstruct acpi_object_common common;\n\tstruct acpi_object_integer integer;\n\tstruct acpi_object_string string;\n\tstruct acpi_object_buffer buffer;\n\tstruct acpi_object_package package;\n\tstruct acpi_object_event event;\n\tstruct acpi_object_method method;\n\tstruct acpi_object_mutex mutex;\n\tstruct acpi_object_region region;\n\tstruct acpi_object_notify_common common_notify;\n\tstruct acpi_object_device device;\n\tstruct acpi_object_power_resource power_resource;\n\tstruct acpi_object_processor processor;\n\tstruct acpi_object_thermal_zone thermal_zone;\n\tstruct acpi_object_field_common common_field;\n\tstruct acpi_object_region_field field;\n\tstruct acpi_object_buffer_field buffer_field;\n\tstruct acpi_object_bank_field bank_field;\n\tstruct acpi_object_index_field index_field;\n\tstruct acpi_object_notify_handler notify;\n\tstruct acpi_object_addr_handler address_space;\n\tstruct acpi_object_reference reference;\n\tstruct acpi_object_extra extra;\n\tstruct acpi_object_data data;\n\tstruct acpi_object_cache_list cache;\n\tstruct acpi_namespace_node node;\n};\n\nunion acpi_parse_value {\n\tu64 integer;\n\tu32 size;\n\tchar *string;\n\tu8 *buffer;\n\tchar *name;\n\tunion acpi_parse_object *arg;\n};\n\nstruct acpi_parse_obj_common {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n};\n\nstruct acpi_parse_obj_named {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n\tchar *path;\n\tu8 *data;\n\tu32 length;\n\tu32 name;\n};\n\nstruct acpi_parse_obj_asl {\n\tunion acpi_parse_object *parent;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 aml_opcode;\n\tu8 *aml;\n\tunion acpi_parse_object *next;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_parse_value value;\n\tu8 arg_list_length;\n\tunion acpi_parse_object *child;\n\tunion acpi_parse_object *parent_method;\n\tchar *filename;\n\tu8 file_changed;\n\tchar *parent_filename;\n\tchar *external_name;\n\tchar *namepath;\n\tchar name_seg[4];\n\tu32 extra_value;\n\tu32 column;\n\tu32 line_number;\n\tu32 logical_line_number;\n\tu32 logical_byte_offset;\n\tu32 end_line;\n\tu32 end_logical_line;\n\tu32 acpi_btype;\n\tu32 aml_length;\n\tu32 aml_subtree_length;\n\tu32 final_aml_length;\n\tu32 final_aml_offset;\n\tu32 compile_flags;\n\tu16 parse_opcode;\n\tu8 aml_opcode_length;\n\tu8 aml_pkg_len_bytes;\n\tu8 extra;\n\tchar parse_op_name[20];\n};\n\nunion acpi_parse_object {\n\tstruct acpi_parse_obj_common common;\n\tstruct acpi_parse_obj_named named;\n\tstruct acpi_parse_obj_asl asl;\n};\n\nunion acpi_descriptor {\n\tstruct acpi_common_descriptor common;\n\tunion acpi_operand_object object;\n\tstruct acpi_namespace_node node;\n\tunion acpi_parse_object op;\n};\n\nstruct acpi_device_id {\n\t__u8 id[16];\n\tkernel_ulong_t driver_data;\n\t__u32 cls;\n\t__u32 cls_msk;\n};\n\nstruct acpi_dev_match_info {\n\tstruct acpi_device_id hid[2];\n\tconst char *uid;\n\ts64 hrv;\n};\n\nstruct acpi_dev_walk_context {\n\tint (*fn)(struct acpi_device *, void *);\n\tvoid *data;\n};\n\nstruct acpi_device_status {\n\tu32 present: 1;\n\tu32 enabled: 1;\n\tu32 show_in_ui: 1;\n\tu32 functional: 1;\n\tu32 battery_present: 1;\n\tu32 reserved: 27;\n};\n\nstruct acpi_device_flags {\n\tu32 dynamic_status: 1;\n\tu32 removable: 1;\n\tu32 ejectable: 1;\n\tu32 power_manageable: 1;\n\tu32 match_driver: 1;\n\tu32 initialized: 1;\n\tu32 visited: 1;\n\tu32 hotplug_notify: 1;\n\tu32 is_dock_station: 1;\n\tu32 of_compatible_ok: 1;\n\tu32 coherent_dma: 1;\n\tu32 cca_seen: 1;\n\tu32 enumeration_by_parent: 1;\n\tu32 honor_deps: 1;\n\tu32 reserved: 18;\n};\n\nstruct acpi_pnp_type {\n\tu32 hardware_id: 1;\n\tu32 bus_address: 1;\n\tu32 platform_id: 1;\n\tu32 backlight: 1;\n\tu32 reserved: 28;\n};\n\nstruct acpi_device_pnp {\n\tacpi_bus_id bus_id;\n\tint instance_no;\n\tstruct acpi_pnp_type type;\n\tacpi_bus_address bus_address;\n\tchar *unique_id;\n\tstruct list_head ids;\n\tacpi_device_name device_name;\n\tacpi_device_class device_class;\n};\n\nstruct acpi_device_power_flags {\n\tu32 explicit_get: 1;\n\tu32 power_resources: 1;\n\tu32 inrush_current: 1;\n\tu32 power_removed: 1;\n\tu32 ignore_parent: 1;\n\tu32 dsw_present: 1;\n\tu32 reserved: 26;\n};\n\nstruct acpi_device_power_state {\n\tstruct list_head resources;\n\tstruct {\n\t\tu8 valid: 1;\n\t\tu8 explicit_set: 1;\n\t\tu8 reserved: 6;\n\t} flags;\n\tint power;\n\tint latency;\n};\n\nstruct acpi_device_power {\n\tint state;\n\tstruct acpi_device_power_flags flags;\n\tstruct acpi_device_power_state states[5];\n\tu8 state_for_enumeration;\n};\n\nstruct acpi_device_wakeup_flags {\n\tu8 valid: 1;\n\tu8 notifier_present: 1;\n};\n\nstruct acpi_device_wakeup_context {\n\tvoid (*func)(struct acpi_device_wakeup_context *);\n\tstruct device *dev;\n};\n\nstruct acpi_device_wakeup {\n\tacpi_handle gpe_device;\n\tu64 gpe_number;\n\tu64 sleep_state;\n\tstruct list_head resources;\n\tstruct acpi_device_wakeup_flags flags;\n\tstruct acpi_device_wakeup_context context;\n\tstruct wakeup_source *ws;\n\tint prepare_count;\n\tint enable_count;\n};\n\nstruct acpi_device_perf_flags {\n\tu8 reserved: 8;\n};\n\nstruct acpi_device_perf_state;\n\nstruct acpi_device_perf {\n\tint state;\n\tstruct acpi_device_perf_flags flags;\n\tint state_count;\n\tstruct acpi_device_perf_state *states;\n};\n\nstruct proc_dir_entry;\n\nstruct acpi_device_dir {\n\tstruct proc_dir_entry *entry;\n};\n\nstruct acpi_scan_handler;\n\nstruct acpi_hotplug_context;\n\nstruct acpi_device_software_nodes;\n\nstruct acpi_gpio_mapping;\n\nstruct acpi_device {\n\tu32 pld_crc;\n\tint device_type;\n\tacpi_handle handle;\n\tstruct fwnode_handle fwnode;\n\tstruct list_head wakeup_list;\n\tstruct list_head del_list;\n\tstruct acpi_device_status status;\n\tstruct acpi_device_flags flags;\n\tstruct acpi_device_pnp pnp;\n\tstruct acpi_device_power power;\n\tstruct acpi_device_wakeup wakeup;\n\tstruct acpi_device_perf performance;\n\tstruct acpi_device_dir dir;\n\tstruct acpi_device_data data;\n\tstruct acpi_scan_handler *handler;\n\tstruct acpi_hotplug_context *hp;\n\tstruct acpi_device_software_nodes *swnodes;\n\tconst struct acpi_gpio_mapping *driver_gpios;\n\tvoid *driver_data;\n\tstruct device dev;\n\tunsigned int physical_node_count;\n\tunsigned int dep_unmet;\n\tstruct list_head physical_node_list;\n\tstruct mutex physical_node_lock;\n\tvoid (*remove)(struct acpi_device *);\n};\n\nstruct xarray {\n\tspinlock_t xa_lock;\n\tgfp_t xa_flags;\n\tvoid *xa_head;\n};\n\nstruct ida {\n\tstruct xarray xa;\n};\n\nstruct acpi_device_bus_id {\n\tconst char *bus_id;\n\tstruct ida instance_ida;\n\tstruct list_head node;\n};\n\nstruct acpi_pnp_device_id {\n\tu32 length;\n\tchar *string;\n};\n\nstruct acpi_pnp_device_id_list {\n\tu32 count;\n\tu32 list_size;\n\tstruct acpi_pnp_device_id ids[0];\n};\n\nstruct acpi_device_info {\n\tu32 info_size;\n\tu32 name;\n\tacpi_object_type type;\n\tu8 param_count;\n\tu16 valid;\n\tu8 flags;\n\tu8 highest_dstates[4];\n\tu8 lowest_dstates[5];\n\tu64 address;\n\tstruct acpi_pnp_device_id hardware_id;\n\tstruct acpi_pnp_device_id unique_id;\n\tstruct acpi_pnp_device_id class_code;\n\tstruct acpi_pnp_device_id_list compatible_id_list;\n};\n\ntypedef int (*acpi_op_add)(struct acpi_device *);\n\ntypedef void (*acpi_op_remove)(struct acpi_device *);\n\ntypedef void (*acpi_op_notify)(struct acpi_device *, u32);\n\nstruct acpi_device_ops {\n\tacpi_op_add add;\n\tacpi_op_remove remove;\n\tacpi_op_notify notify;\n};\n\nstruct acpi_device_perf_state {\n\tstruct {\n\t\tu8 valid: 1;\n\t\tu8 reserved: 7;\n\t} flags;\n\tu8 power;\n\tu8 performance;\n\tint latency;\n};\n\nstruct acpi_device_physical_node {\n\tstruct list_head node;\n\tstruct device *dev;\n\tunsigned int node_id;\n\tbool put_online: 1;\n};\n\nstruct acpi_device_properties {\n\tstruct list_head list;\n\tconst guid_t *guid;\n\tunion acpi_object *properties;\n\tvoid **bufs;\n};\n\nstruct property_entry {\n\tconst char *name;\n\tsize_t length;\n\tbool is_inline;\n\tenum dev_prop_type type;\n\tunion {\n\t\tconst void *pointer;\n\t\tunion {\n\t\t\tu8 u8_data[8];\n\t\t\tu16 u16_data[4];\n\t\t\tu32 u32_data[2];\n\t\t\tu64 u64_data[1];\n\t\t\tconst char *str[1];\n\t\t} value;\n\t};\n};\n\nstruct software_node;\n\nstruct software_node_ref_args {\n\tconst struct software_node *node;\n\tunsigned int nargs;\n\tu64 args[8];\n};\n\nstruct acpi_device_software_node_port {\n\tchar port_name[9];\n\tu32 data_lanes[8];\n\tu32 lane_polarities[9];\n\tu64 link_frequencies[8];\n\tunsigned int port_nr;\n\tbool crs_csi2_local;\n\tstruct property_entry port_props[2];\n\tstruct property_entry ep_props[8];\n\tstruct software_node_ref_args remote_ep[1];\n};\n\nstruct acpi_device_software_nodes {\n\tstruct property_entry dev_props[6];\n\tstruct software_node *nodes;\n\tconst struct software_node **nodeptrs;\n\tstruct acpi_device_software_node_port *ports;\n\tunsigned int num_ports;\n};\n\nstruct acpi_table_desc;\n\nstruct acpi_evaluate_info;\n\nstruct acpi_device_walk_info {\n\tstruct acpi_table_desc *table_desc;\n\tstruct acpi_evaluate_info *evaluate_info;\n\tu32 device_count;\n\tu32 num_STA;\n\tu32 num_INI;\n};\n\nstruct dma_chan;\n\nstruct acpi_dma_spec;\n\nstruct acpi_dma {\n\tstruct list_head dma_controllers;\n\tstruct device *dev;\n\tstruct dma_chan * (*acpi_dma_xlate)(struct acpi_dma_spec *, struct acpi_dma *);\n\tvoid *data;\n\tshort unsigned int base_request_line;\n\tshort unsigned int end_request_line;\n};\n\ntypedef bool (*dma_filter_fn)(struct dma_chan *, void *);\n\nstruct acpi_dma_filter_info {\n\tdma_cap_mask_t dma_cap;\n\tdma_filter_fn filter_fn;\n};\n\nstruct acpi_dma_spec {\n\tint chan_id;\n\tint slave_id;\n\tstruct device *dev;\n};\n\nstruct acpi_dma_parser_data {\n\tstruct acpi_dma_spec dma_spec;\n\tsize_t index;\n\tsize_t n;\n};\n\nstruct of_device_id;\n\nstruct dev_pm_ops;\n\nstruct driver_private;\n\nstruct device_driver {\n\tconst char *name;\n\tconst struct bus_type *bus;\n\tstruct module *owner;\n\tconst char *mod_name;\n\tbool suppress_bind_attrs;\n\tenum probe_type probe_type;\n\tconst struct of_device_id *of_match_table;\n\tconst struct acpi_device_id *acpi_match_table;\n\tint (*probe)(struct device *);\n\tvoid (*sync_state)(struct device *);\n\tint (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tint (*suspend)(struct device *, pm_message_t);\n\tint (*resume)(struct device *);\n\tconst struct attribute_group **groups;\n\tconst struct attribute_group **dev_groups;\n\tconst struct dev_pm_ops *pm;\n\tvoid (*coredump)(struct device *);\n\tstruct driver_private *p;\n};\n\nstruct acpi_driver {\n\tchar name[80];\n\tchar class[80];\n\tconst struct acpi_device_id *ids;\n\tunsigned int flags;\n\tstruct acpi_device_ops ops;\n\tstruct device_driver drv;\n};\n\nunion acpi_predefined_info;\n\nstruct acpi_evaluate_info {\n\tstruct acpi_namespace_node *prefix_node;\n\tconst char *relative_pathname;\n\tunion acpi_operand_object **parameters;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *obj_desc;\n\tchar *full_pathname;\n\tconst union acpi_predefined_info *predefined;\n\tunion acpi_operand_object *return_object;\n\tunion acpi_operand_object *parent_package;\n\tu32 return_flags;\n\tu32 return_btype;\n\tu16 param_count;\n\tu16 node_flags;\n\tu8 pass_number;\n\tu8 return_object_type;\n\tu8 flags;\n};\n\nstruct acpi_exception_info {\n\tchar *name;\n};\n\nstruct acpi_fadt_info {\n\tconst char *name;\n\tu16 address64;\n\tu16 address32;\n\tu16 length;\n\tu8 default_length;\n\tu8 flags;\n};\n\nstruct acpi_generic_address;\n\nstruct acpi_fadt_pm_info {\n\tstruct acpi_generic_address *target;\n\tu16 source;\n\tu8 register_num;\n};\n\nstruct acpi_fan_fif {\n\tu8 revision;\n\tu8 fine_grain_ctrl;\n\tu8 step_size;\n\tu8 low_speed_notification;\n};\n\nstruct device_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct device *, struct device_attribute *, char *);\n\tssize_t (*store)(struct device *, struct device_attribute *, const char *, size_t);\n};\n\nstruct acpi_fan_fps;\n\nstruct thermal_cooling_device;\n\nstruct acpi_fan {\n\tbool acpi4;\n\tstruct acpi_fan_fif fif;\n\tstruct acpi_fan_fps *fps;\n\tint fps_count;\n\tstruct thermal_cooling_device *cdev;\n\tstruct device_attribute fst_speed;\n\tstruct device_attribute fine_grain_control;\n};\n\nstruct acpi_fan_fps {\n\tu64 control;\n\tu64 trip_point;\n\tu64 speed;\n\tu64 noise_level;\n\tu64 power;\n\tchar name[20];\n\tstruct device_attribute dev_attr;\n};\n\nstruct acpi_fan_fst {\n\tu64 revision;\n\tu64 control;\n\tu64 speed;\n};\n\nstruct acpi_ffh_info {\n\tu64 offset;\n\tu64 length;\n};\n\nstruct acpi_ged_device {\n\tstruct device *dev;\n\tstruct list_head event_list;\n};\n\nstruct acpi_ged_event {\n\tstruct list_head node;\n\tstruct device *dev;\n\tunsigned int gsi;\n\tunsigned int irq;\n\tacpi_handle handle;\n};\n\nstruct acpi_ged_handler_info {\n\tstruct acpi_ged_handler_info *next;\n\tu32 int_id;\n\tstruct acpi_namespace_node *evt_method;\n};\n\nstruct acpi_generic_address {\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_width;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_update_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tunion acpi_operand_object *object;\n};\n\nstruct acpi_scope_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tstruct acpi_namespace_node *node;\n};\n\nstruct acpi_pscope_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu32 arg_count;\n\tunion acpi_parse_object *op;\n\tu8 *arg_end;\n\tu8 *pkg_end;\n\tu32 arg_list;\n};\n\nstruct acpi_pkg_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu32 index;\n\tunion acpi_operand_object *source_object;\n\tunion acpi_operand_object *dest_object;\n\tstruct acpi_walk_state *walk_state;\n\tvoid *this_target_obj;\n\tu32 num_packages;\n};\n\nstruct acpi_thread_state {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu8 current_sync_level;\n\tstruct acpi_walk_state *walk_state_list;\n\tunion acpi_operand_object *acquired_mutex_list;\n\tu64 thread_id;\n};\n\nstruct acpi_result_values {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tunion acpi_operand_object *obj_desc[8];\n};\n\nstruct acpi_global_notify_handler;\n\nstruct acpi_notify_info {\n\tvoid *next;\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 value;\n\tu16 state;\n\tu8 handler_list_id;\n\tstruct acpi_namespace_node *node;\n\tunion acpi_operand_object *handler_list_head;\n\tstruct acpi_global_notify_handler *global;\n};\n\nunion acpi_generic_state {\n\tstruct acpi_common_state common;\n\tstruct acpi_control_state control;\n\tstruct acpi_update_state update;\n\tstruct acpi_scope_state scope;\n\tstruct acpi_pscope_state parse_scope;\n\tstruct acpi_pkg_state pkg;\n\tstruct acpi_thread_state thread;\n\tstruct acpi_result_values results;\n\tstruct acpi_notify_info notify;\n};\n\nstruct acpi_genl_event {\n\tacpi_device_class device_class;\n\tchar bus_id[15];\n\tu32 type;\n\tu32 data;\n};\n\ntypedef acpi_status (*acpi_walk_callback)(acpi_handle, u32, void *, void **);\n\nstruct acpi_get_devices_info {\n\tacpi_walk_callback user_function;\n\tvoid *context;\n\tconst char *hid;\n};\n\nstruct acpi_global_notify_handler {\n\tacpi_notify_handler handler;\n\tvoid *context;\n};\n\nstruct acpi_gpe_address {\n\tu8 space_id;\n\tu64 address;\n};\n\nstruct acpi_gpe_xrupt_info;\n\nstruct acpi_gpe_register_info;\n\nstruct acpi_gpe_event_info;\n\nstruct acpi_gpe_block_info {\n\tstruct acpi_namespace_node *node;\n\tstruct acpi_gpe_block_info *previous;\n\tstruct acpi_gpe_block_info *next;\n\tstruct acpi_gpe_xrupt_info *xrupt_block;\n\tstruct acpi_gpe_register_info *register_info;\n\tstruct acpi_gpe_event_info *event_info;\n\tu64 address;\n\tu32 register_count;\n\tu16 gpe_count;\n\tu16 block_base_number;\n\tu8 space_id;\n\tu8 initialized;\n};\n\nstruct acpi_gpe_handler_info;\n\nstruct acpi_gpe_notify_info;\n\nunion acpi_gpe_dispatch_info {\n\tstruct acpi_namespace_node *method_node;\n\tstruct acpi_gpe_handler_info *handler;\n\tstruct acpi_gpe_notify_info *notify_list;\n};\n\nstruct acpi_gpe_event_info {\n\tunion acpi_gpe_dispatch_info dispatch;\n\tstruct acpi_gpe_register_info *register_info;\n\tu8 flags;\n\tu8 gpe_number;\n\tu8 runtime_count;\n\tu8 disable_for_dispatch;\n};\n\ntypedef u32 (*acpi_gpe_handler)(acpi_handle, u32, void *);\n\nstruct acpi_gpe_handler_info {\n\tacpi_gpe_handler address;\n\tvoid *context;\n\tstruct acpi_namespace_node *method_node;\n\tu8 original_flags;\n\tu8 originally_enabled;\n};\n\nstruct acpi_gpe_notify_info {\n\tstruct acpi_namespace_node *device_node;\n\tstruct acpi_gpe_notify_info *next;\n};\n\nstruct acpi_gpe_register_info {\n\tstruct acpi_gpe_address status_address;\n\tstruct acpi_gpe_address enable_address;\n\tu16 base_gpe_number;\n\tu8 enable_for_wake;\n\tu8 enable_for_run;\n\tu8 mask_for_run;\n\tu8 enable_mask;\n};\n\nstruct acpi_gpe_xrupt_info {\n\tstruct acpi_gpe_xrupt_info *previous;\n\tstruct acpi_gpe_xrupt_info *next;\n\tstruct acpi_gpe_block_info *gpe_block_list_head;\n\tu32 interrupt_number;\n};\n\nstruct gpio_chip;\n\nstruct acpi_gpio_chip {\n\tstruct acpi_connection_info conn_info;\n\tstruct list_head conns;\n\tstruct mutex conn_lock;\n\tstruct gpio_chip *chip;\n\tstruct list_head events;\n\tstruct list_head deferred_req_irqs_list_entry;\n};\n\nstruct gpio_desc;\n\nstruct acpi_gpio_connection {\n\tstruct list_head node;\n\tunsigned int pin;\n\tstruct gpio_desc *desc;\n};\n\ntypedef irqreturn_t (*irq_handler_t)(int, void *);\n\nstruct acpi_gpio_event {\n\tstruct list_head node;\n\tacpi_handle handle;\n\tirq_handler_t handler;\n\tunsigned int pin;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tbool irq_is_wake;\n\tbool irq_requested;\n\tstruct gpio_desc *desc;\n};\n\nstruct acpi_gpio_info {\n\tstruct acpi_device *adev;\n\tenum gpiod_flags flags;\n\tbool gpioint;\n\tint pin_config;\n\tint polarity;\n\tint triggering;\n\tbool wake_capable;\n\tunsigned int debounce;\n\tunsigned int quirks;\n};\n\nstruct acpi_gpio_lookup {\n\tstruct acpi_gpio_info info;\n\tint index;\n\tu16 pin_index;\n\tbool active_low;\n\tstruct gpio_desc *desc;\n\tint n;\n};\n\nstruct acpi_gpio_params;\n\nstruct acpi_gpio_mapping {\n\tconst char *name;\n\tconst struct acpi_gpio_params *data;\n\tunsigned int size;\n\tunsigned int quirks;\n};\n\nstruct acpi_gpio_params {\n\tunsigned int crs_entry_index;\n\tunsigned int line_index;\n\tbool active_low;\n};\n\nstruct acpi_gpiolib_dmi_quirk {\n\tbool no_edge_events_on_boot;\n\tchar *ignore_wake;\n\tchar *ignore_interrupt;\n};\n\nstruct acpi_handle_list {\n\tu32 count;\n\tacpi_handle *handles;\n};\n\nstruct acpi_hardware_id {\n\tstruct list_head list;\n\tconst char *id;\n};\n\nstruct acpi_hmat_structure {\n\tu16 type;\n\tu16 reserved;\n\tu32 length;\n};\n\ntypedef int (*acpi_hp_notify)(struct acpi_device *, u32);\n\ntypedef void (*acpi_hp_uevent)(struct acpi_device *, u32);\n\ntypedef void (*acpi_hp_fixup)(struct acpi_device *);\n\nstruct acpi_hotplug_context {\n\tstruct acpi_device *self;\n\tacpi_hp_notify notify;\n\tacpi_hp_uevent uevent;\n\tacpi_hp_fixup fixup;\n};\n\nstruct acpi_hotplug_profile {\n\tstruct kobject kobj;\n\tint (*scan_dependent)(struct acpi_device *);\n\tvoid (*notify_online)(struct acpi_device *);\n\tbool enabled: 1;\n\tbool demand_offline: 1;\n};\n\nstruct acpi_hp_work {\n\tstruct work_struct work;\n\tstruct acpi_device *adev;\n\tu32 src;\n};\n\nstruct acpi_init_walk_info {\n\tu32 table_index;\n\tu32 object_count;\n\tu32 method_count;\n\tu32 serial_method_count;\n\tu32 non_serial_method_count;\n\tu32 serialized_method_count;\n\tu32 device_count;\n\tu32 op_region_count;\n\tu32 field_count;\n\tu32 buffer_count;\n\tu32 package_count;\n\tu32 op_region_init;\n\tu32 field_init;\n\tu32 buffer_init;\n\tu32 package_init;\n\tacpi_owner_id owner_id;\n};\n\nstruct acpi_interface_info {\n\tchar *name;\n\tstruct acpi_interface_info *next;\n\tu8 flags;\n\tu8 value;\n};\n\nstruct acpi_io_attribute {\n\tu8 range_type;\n\tu8 translation;\n\tu8 translation_type;\n\tu8 reserved1;\n};\n\nstruct rcu_work {\n\tstruct work_struct work;\n\tstruct callback_head rcu;\n\tstruct workqueue_struct *wq;\n};\n\nstruct acpi_ioremap {\n\tstruct list_head list;\n\tvoid *virt;\n\tacpi_physical_address phys;\n\tacpi_size size;\n\tunion {\n\t\tlong unsigned int refcount;\n\t\tstruct rcu_work rwork;\n\t} track;\n};\n\nstruct acpi_irq_dep_ctx {\n\tint rc;\n\tunsigned int index;\n\tacpi_handle handle;\n};\n\nstruct irq_fwspec;\n\nstruct acpi_irq_parse_one_ctx {\n\tint rc;\n\tunsigned int index;\n\tlong unsigned int *res_flags;\n\tstruct irq_fwspec *fwspec;\n};\n\nstruct acpi_lpat {\n\tint temp;\n\tint raw;\n};\n\nstruct acpi_lpat_conversion_table {\n\tstruct acpi_lpat *lpat;\n\tint lpat_count;\n};\n\nstruct acpi_lpi_state {\n\tu32 min_residency;\n\tu32 wake_latency;\n\tu32 flags;\n\tu32 arch_flags;\n\tu32 res_cnt_freq;\n\tu32 enable_parent_state;\n\tu64 address;\n\tu8 index;\n\tu8 entry_method;\n\tchar desc[32];\n};\n\nstruct acpi_lpi_states_array {\n\tunsigned int size;\n\tunsigned int composite_states_size;\n\tstruct acpi_lpi_state *entries;\n\tstruct acpi_lpi_state *composite_states[8];\n};\n\nstruct acpi_subtable_header {\n\tu8 type;\n\tu8 length;\n};\n\nstruct acpi_madt_aplic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu8 id;\n\tu32 flags;\n\tu8 hw_id[8];\n\tu16 num_idcs;\n\tu16 num_sources;\n\tu32 gsi_base;\n\tu64 base_addr;\n\tu32 size;\n} __attribute__((packed));\n\nstruct acpi_madt_core_pic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu32 processor_id;\n\tu32 core_id;\n\tu32 flags;\n} __attribute__((packed));\n\nstruct acpi_madt_generic_distributor {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 gic_id;\n\tu64 base_address;\n\tu32 global_irq_base;\n\tu8 version;\n\tu8 reserved2[3];\n};\n\nstruct acpi_madt_generic_interrupt {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 cpu_interface_number;\n\tu32 uid;\n\tu32 flags;\n\tu32 parking_version;\n\tu32 performance_interrupt;\n\tu64 parked_address;\n\tu64 base_address;\n\tu64 gicv_base_address;\n\tu64 gich_base_address;\n\tu32 vgic_interrupt;\n\tu64 gicr_base_address;\n\tu64 arm_mpidr;\n\tu8 efficiency_class;\n\tu8 reserved2[1];\n\tu16 spe_interrupt;\n\tu16 trbe_interrupt;\n} __attribute__((packed));\n\nstruct acpi_madt_imsic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu8 reserved;\n\tu32 flags;\n\tu16 num_ids;\n\tu16 num_guest_ids;\n\tu8 guest_index_bits;\n\tu8 hart_index_bits;\n\tu8 group_index_bits;\n\tu8 group_index_shift;\n};\n\nstruct acpi_madt_interrupt_override {\n\tstruct acpi_subtable_header header;\n\tu8 bus;\n\tu8 source_irq;\n\tu32 global_irq;\n\tu16 inti_flags;\n} __attribute__((packed));\n\nstruct acpi_madt_interrupt_source {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu8 type;\n\tu8 id;\n\tu8 eid;\n\tu8 io_sapic_vector;\n\tu32 global_irq;\n\tu32 flags;\n};\n\nstruct acpi_madt_io_apic {\n\tstruct acpi_subtable_header header;\n\tu8 id;\n\tu8 reserved;\n\tu32 address;\n\tu32 global_irq_base;\n};\n\nstruct acpi_madt_io_sapic {\n\tstruct acpi_subtable_header header;\n\tu8 id;\n\tu8 reserved;\n\tu32 global_irq_base;\n\tu64 address;\n};\n\nstruct acpi_madt_local_apic {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu8 id;\n\tu32 lapic_flags;\n};\n\nstruct acpi_madt_local_apic_nmi {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu16 inti_flags;\n\tu8 lint;\n} __attribute__((packed));\n\nstruct acpi_madt_local_apic_override {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_madt_local_sapic {\n\tstruct acpi_subtable_header header;\n\tu8 processor_id;\n\tu8 id;\n\tu8 eid;\n\tu8 reserved[3];\n\tu32 lapic_flags;\n\tu32 uid;\n\tchar uid_string[0];\n};\n\nstruct acpi_madt_local_x2apic {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 local_apic_id;\n\tu32 lapic_flags;\n\tu32 uid;\n};\n\nstruct acpi_madt_local_x2apic_nmi {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu32 uid;\n\tu8 lint;\n\tu8 reserved[3];\n};\n\nstruct acpi_madt_multiproc_wakeup {\n\tstruct acpi_subtable_header header;\n\tu16 version;\n\tu32 reserved;\n\tu64 mailbox_address;\n\tu64 reset_vector;\n};\n\nstruct acpi_madt_nmi_source {\n\tstruct acpi_subtable_header header;\n\tu16 inti_flags;\n\tu32 global_irq;\n};\n\nstruct acpi_madt_plic {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu8 id;\n\tu8 hw_id[8];\n\tu16 num_irqs;\n\tu16 max_prio;\n\tu32 flags;\n\tu32 size;\n\tu64 base_addr;\n\tu32 gsi_base;\n} __attribute__((packed));\n\nstruct acpi_madt_rintc {\n\tstruct acpi_subtable_header header;\n\tu8 version;\n\tu8 reserved;\n\tu32 flags;\n\tu64 hart_id;\n\tu32 uid;\n\tu32 ext_intc_id;\n\tu64 imsic_addr;\n\tu32 imsic_size;\n} __attribute__((packed));\n\nstruct acpi_mcfg_allocation {\n\tu64 address;\n\tu16 pci_segment;\n\tu8 start_bus_number;\n\tu8 end_bus_number;\n\tu32 reserved;\n};\n\nstruct acpi_mem_mapping {\n\tacpi_physical_address physical_address;\n\tu8 *logical_address;\n\tacpi_size length;\n\tstruct acpi_mem_mapping *next_mm;\n};\n\nstruct acpi_mem_space_context {\n\tu32 length;\n\tacpi_physical_address address;\n\tstruct acpi_mem_mapping *cur_mm;\n\tstruct acpi_mem_mapping *first_mm;\n};\n\nstruct acpi_memory_attribute {\n\tu8 write_protect;\n\tu8 caching;\n\tu8 range_type;\n\tu8 translation;\n};\n\nstruct acpi_mutex_info {\n\tvoid *mutex;\n\tu32 use_count;\n\tu64 thread_id;\n};\n\nstruct acpi_name_info {\n\tchar name[4];\n\tu16 argument_list;\n\tu8 expected_btypes;\n} __attribute__((packed));\n\nstruct acpi_namestring_info {\n\tconst char *external_name;\n\tconst char *next_external_char;\n\tchar *internal_name;\n\tu32 length;\n\tu32 num_segments;\n\tu32 num_carats;\n\tu8 fully_qualified;\n};\n\nunion acpi_object {\n\tacpi_object_type type;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu64 value;\n\t} integer;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 length;\n\t\tchar *pointer;\n\t} string;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 length;\n\t\tu8 *pointer;\n\t} buffer;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 count;\n\t\tunion acpi_object *elements;\n\t} package;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tacpi_object_type actual_type;\n\t\tacpi_handle handle;\n\t} reference;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 proc_id;\n\t\tacpi_io_address pblk_address;\n\t\tu32 pblk_length;\n\t} processor;\n\tstruct {\n\t\tacpi_object_type type;\n\t\tu32 system_level;\n\t\tu32 resource_order;\n\t} power_resource;\n};\n\nstruct acpi_object_list {\n\tu32 count;\n\tunion acpi_object *pointer;\n};\n\nstruct acpi_offsets {\n\tsize_t offset;\n\tu8 mode;\n};\n\nstruct acpi_opcode_info {\n\tu32 parse_args;\n\tu32 runtime_args;\n\tu16 flags;\n\tu8 object_type;\n\tu8 class;\n\tu8 type;\n};\n\ntypedef void (*acpi_osd_exec_callback)(void *);\n\nstruct acpi_os_dpc {\n\tacpi_osd_exec_callback function;\n\tvoid *context;\n\tstruct work_struct work;\n};\n\nstruct acpi_osc_context {\n\tchar *uuid_str;\n\tint rev;\n\tstruct acpi_buffer cap;\n\tstruct acpi_buffer ret;\n};\n\nstruct acpi_osi_config {\n\tu8 default_disabling;\n\tunsigned int linux_enable: 1;\n\tunsigned int linux_dmi: 1;\n\tunsigned int linux_cmdline: 1;\n\tunsigned int darwin_enable: 1;\n\tunsigned int darwin_dmi: 1;\n\tunsigned int darwin_cmdline: 1;\n};\n\nstruct acpi_osi_entry {\n\tchar string[64];\n\tbool enable;\n};\n\nstruct acpi_package_info {\n\tu8 type;\n\tu8 object_type1;\n\tu8 count1;\n\tu8 object_type2;\n\tu8 count2;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_package_info2 {\n\tu8 type;\n\tu8 count;\n\tu8 object_type[4];\n\tu8 reserved;\n};\n\nstruct acpi_package_info3 {\n\tu8 type;\n\tu8 count;\n\tu8 object_type[2];\n\tu8 tail_object_type;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_package_info4 {\n\tu8 type;\n\tu8 object_type1;\n\tu8 count1;\n\tu8 sub_object_types;\n\tu8 pkg_count;\n\tu16 reserved;\n} __attribute__((packed));\n\nstruct acpi_parse_state {\n\tu8 *aml_start;\n\tu8 *aml;\n\tu8 *aml_end;\n\tu8 *pkg_start;\n\tu8 *pkg_end;\n\tunion acpi_parse_object *start_op;\n\tstruct acpi_namespace_node *start_node;\n\tunion acpi_generic_state *scope;\n\tunion acpi_parse_object *start_scope;\n\tu32 aml_size;\n};\n\nstruct acpi_pcc_info {\n\tu8 subspace_id;\n\tu16 length;\n\tu8 *internal_buffer;\n};\n\nstruct acpi_pcct_ext_pcc_master {\n\tstruct acpi_subtable_header header;\n\tu32 platform_interrupt;\n\tu8 flags;\n\tu8 reserved1;\n\tu64 base_address;\n\tu32 length;\n\tstruct acpi_generic_address doorbell_register;\n\tu64 preserve_mask;\n\tu64 write_mask;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu32 min_turnaround_time;\n\tstruct acpi_generic_address platform_ack_register;\n\tu64 ack_preserve_mask;\n\tu64 ack_set_mask;\n\tu64 reserved2;\n\tstruct acpi_generic_address cmd_complete_register;\n\tu64 cmd_complete_mask;\n\tstruct acpi_generic_address cmd_update_register;\n\tu64 cmd_update_preserve_mask;\n\tu64 cmd_update_set_mask;\n\tstruct acpi_generic_address error_status_register;\n\tu64 error_status_mask;\n} __attribute__((packed));\n\nstruct acpi_pcct_ext_pcc_shared_memory {\n\tu32 signature;\n\tu32 flags;\n\tu32 length;\n\tu32 command;\n};\n\nstruct acpi_pcct_hw_reduced {\n\tstruct acpi_subtable_header header;\n\tu32 platform_interrupt;\n\tu8 flags;\n\tu8 reserved;\n\tu64 base_address;\n\tu64 length;\n\tstruct acpi_generic_address doorbell_register;\n\tu64 preserve_mask;\n\tu64 write_mask;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu16 min_turnaround_time;\n} __attribute__((packed));\n\nstruct acpi_pcct_hw_reduced_type2 {\n\tstruct acpi_subtable_header header;\n\tu32 platform_interrupt;\n\tu8 flags;\n\tu8 reserved;\n\tu64 base_address;\n\tu64 length;\n\tstruct acpi_generic_address doorbell_register;\n\tu64 preserve_mask;\n\tu64 write_mask;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu16 min_turnaround_time;\n\tstruct acpi_generic_address platform_ack_register;\n\tu64 ack_preserve_mask;\n\tu64 ack_write_mask;\n} __attribute__((packed));\n\nstruct acpi_pcct_shared_memory {\n\tu32 signature;\n\tu16 command;\n\tu16 status;\n};\n\nstruct acpi_pcct_subspace {\n\tstruct acpi_subtable_header header;\n\tu8 reserved[6];\n\tu64 base_address;\n\tu64 length;\n\tstruct acpi_generic_address doorbell_register;\n\tu64 preserve_mask;\n\tu64 write_mask;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu16 min_turnaround_time;\n} __attribute__((packed));\n\nstruct acpi_pci_device {\n\tacpi_handle device;\n\tstruct acpi_pci_device *next;\n};\n\nstruct acpi_pci_root;\n\nstruct acpi_pci_root_ops;\n\nstruct acpi_pci_root_info {\n\tstruct acpi_pci_root *root;\n\tstruct acpi_device *bridge;\n\tstruct acpi_pci_root_ops *ops;\n\tstruct list_head resources;\n\tchar name[16];\n};\n\nstruct pci_config_window;\n\nstruct acpi_pci_generic_root_info {\n\tstruct acpi_pci_root_info common;\n\tstruct pci_config_window *cfg;\n};\n\nstruct acpi_pci_id {\n\tu16 segment;\n\tu16 bus;\n\tu16 device;\n\tu16 function;\n};\n\nstruct acpi_pci_link_irq {\n\tu32 active;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 resource_type;\n\tu8 possible_count;\n\tu32 possible[16];\n\tu8 initialized: 1;\n\tu8 reserved: 7;\n};\n\nstruct acpi_pci_link {\n\tstruct list_head list;\n\tstruct acpi_device *device;\n\tstruct acpi_pci_link_irq irq;\n\tint refcnt;\n};\n\nstruct resource {\n\tresource_size_t start;\n\tresource_size_t end;\n\tconst char *name;\n\tlong unsigned int flags;\n\tlong unsigned int desc;\n\tstruct resource *parent;\n\tstruct resource *sibling;\n\tstruct resource *child;\n};\n\nstruct pci_bus;\n\nstruct acpi_pci_root {\n\tstruct acpi_device *device;\n\tstruct pci_bus *bus;\n\tu16 segment;\n\tint bridge_type;\n\tstruct resource secondary;\n\tu32 osc_support_set;\n\tu32 osc_control_set;\n\tu32 osc_ext_support_set;\n\tu32 osc_ext_control_set;\n\tphys_addr_t mcfg_addr;\n};\n\nstruct pci_ops;\n\nstruct acpi_pci_root_ops {\n\tstruct pci_ops *pci_ops;\n\tint (*init_info)(struct acpi_pci_root_info *);\n\tvoid (*release_info)(struct acpi_pci_root_info *);\n\tint (*prepare_resources)(struct acpi_pci_root_info *);\n};\n\nstruct acpi_pci_routing_table {\n\tu32 length;\n\tu32 pin;\n\tu64 address;\n\tu32 source_index;\n\tunion {\n\t\tchar pad[4];\n\t\tstruct {\n\t\t\tstruct {} __Empty_source;\n\t\t\tchar source[0];\n\t\t};\n\t};\n};\n\nstruct acpi_pct_register {\n\tu8 descriptor;\n\tu16 length;\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 reserved;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_pkg_info {\n\tu8 *free_space;\n\tacpi_size length;\n\tu32 object_space;\n\tu32 num_packages;\n};\n\nstruct acpi_platform_list {\n\tchar oem_id[7];\n\tchar oem_table_id[9];\n\tu32 oem_revision;\n\tchar *table;\n\tenum acpi_predicate pred;\n\tchar *reason;\n\tu32 data;\n};\n\nstruct acpi_pld_info {\n\tu8 revision;\n\tu8 ignore_color;\n\tu8 red;\n\tu8 green;\n\tu8 blue;\n\tu16 width;\n\tu16 height;\n\tu8 user_visible;\n\tu8 dock;\n\tu8 lid;\n\tu8 panel;\n\tu8 vertical_position;\n\tu8 horizontal_position;\n\tu8 shape;\n\tu8 group_orientation;\n\tu8 group_token;\n\tu8 group_position;\n\tu8 bay;\n\tu8 ejectable;\n\tu8 ospm_eject_required;\n\tu8 cabinet_number;\n\tu8 card_cage_number;\n\tu8 reference;\n\tu8 rotation;\n\tu8 order;\n\tu8 reserved;\n\tu16 vertical_offset;\n\tu16 horizontal_offset;\n};\n\nstruct acpi_port_info {\n\tchar *name;\n\tu16 start;\n\tu16 end;\n\tu8 osi_dependency;\n};\n\nstruct acpi_power_dependent_device {\n\tstruct device *dev;\n\tstruct list_head node;\n};\n\nstruct acpi_power_register {\n\tu8 descriptor;\n\tu16 length;\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_power_resource {\n\tstruct acpi_device device;\n\tstruct list_head list_node;\n\tu32 system_level;\n\tu32 order;\n\tunsigned int ref_count;\n\tu8 state;\n\tstruct mutex resource_lock;\n\tstruct list_head dependents;\n};\n\nstruct acpi_power_resource_entry {\n\tstruct list_head node;\n\tstruct acpi_power_resource *resource;\n};\n\nstruct acpi_pptt_cache {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 flags;\n\tu32 next_level_of_cache;\n\tu32 size;\n\tu32 number_of_sets;\n\tu8 associativity;\n\tu8 attributes;\n\tu16 line_size;\n};\n\nstruct acpi_pptt_cache_v1 {\n\tu32 cache_id;\n};\n\nstruct acpi_pptt_processor {\n\tstruct acpi_subtable_header header;\n\tu16 reserved;\n\tu32 flags;\n\tu32 parent;\n\tu32 acpi_processor_id;\n\tu32 number_of_priv_resources;\n};\n\nunion acpi_predefined_info {\n\tstruct acpi_name_info info;\n\tstruct acpi_package_info ret_info;\n\tstruct acpi_package_info2 ret_info2;\n\tstruct acpi_package_info3 ret_info3;\n\tstruct acpi_package_info4 ret_info4;\n};\n\nstruct acpi_predefined_names {\n\tconst char *name;\n\tu8 type;\n\tchar *val;\n};\n\nstruct acpi_prmt_module_header {\n\tu16 revision;\n\tu16 length;\n};\n\nstruct acpi_probe_entry;\n\ntypedef bool (*acpi_probe_entry_validate_subtbl)(struct acpi_subtable_header *, struct acpi_probe_entry *);\n\nstruct acpi_table_header;\n\ntypedef int (*acpi_tbl_table_handler)(struct acpi_table_header *);\n\nunion acpi_subtable_headers;\n\ntypedef int (*acpi_tbl_entry_handler)(union acpi_subtable_headers *, const long unsigned int);\n\nstruct acpi_probe_entry {\n\t__u8 id[5];\n\t__u8 type;\n\tacpi_probe_entry_validate_subtbl subtable_valid;\n\tunion {\n\t\tacpi_tbl_table_handler probe_table;\n\t\tacpi_tbl_entry_handler probe_subtbl;\n\t};\n\tkernel_ulong_t driver_data;\n};\n\nstruct acpi_processor_flags {\n\tu8 power: 1;\n\tu8 performance: 1;\n\tu8 throttling: 1;\n\tu8 limit: 1;\n\tu8 bm_control: 1;\n\tu8 bm_check: 1;\n\tu8 has_cst: 1;\n\tu8 has_lpi: 1;\n\tu8 power_setup_done: 1;\n\tu8 bm_rld_set: 1;\n\tu8 previously_online: 1;\n};\n\nstruct acpi_processor_cx {\n\tu8 valid;\n\tu8 type;\n\tu32 address;\n\tu8 entry_method;\n\tu8 index;\n\tu32 latency;\n\tu8 bm_sts_skip;\n\tchar desc[32];\n};\n\nstruct acpi_processor_power {\n\tint count;\n\tunion {\n\t\tstruct acpi_processor_cx states[8];\n\t\tstruct acpi_lpi_state lpi_states[8];\n\t};\n\tint timer_broadcast_on_state;\n};\n\nstruct acpi_tsd_package {\n\tu64 num_entries;\n\tu64 revision;\n\tu64 domain;\n\tu64 coord_type;\n\tu64 num_processors;\n};\n\ntypedef struct cpumask cpumask_var_t[1];\n\nstruct acpi_processor_tx {\n\tu16 power;\n\tu16 performance;\n};\n\nstruct acpi_processor_tx_tss;\n\nstruct acpi_processor;\n\nstruct acpi_processor_throttling {\n\tunsigned int state;\n\tunsigned int platform_limit;\n\tstruct acpi_pct_register control_register;\n\tstruct acpi_pct_register status_register;\n\tunsigned int state_count;\n\tstruct acpi_processor_tx_tss *states_tss;\n\tstruct acpi_tsd_package domain_info;\n\tcpumask_var_t shared_cpu_map;\n\tint (*acpi_processor_get_throttling)(struct acpi_processor *);\n\tint (*acpi_processor_set_throttling)(struct acpi_processor *, int, bool);\n\tu32 address;\n\tu8 duty_offset;\n\tu8 duty_width;\n\tu8 tsd_valid_flag;\n\tunsigned int shared_type;\n\tstruct acpi_processor_tx states[16];\n};\n\nstruct acpi_processor_lx {\n\tint px;\n\tint tx;\n};\n\nstruct acpi_processor_limit {\n\tstruct acpi_processor_lx state;\n\tstruct acpi_processor_lx thermal;\n\tstruct acpi_processor_lx user;\n};\n\nstruct plist_node {\n\tint prio;\n\tstruct list_head prio_list;\n\tstruct list_head node_list;\n};\n\nstruct freq_constraints;\n\nstruct freq_qos_request {\n\tenum freq_qos_req_type type;\n\tstruct plist_node pnode;\n\tstruct freq_constraints *qos;\n};\n\nstruct acpi_processor_performance;\n\nstruct acpi_processor {\n\tacpi_handle handle;\n\tu32 acpi_id;\n\tphys_cpuid_t phys_id;\n\tu32 id;\n\tu32 pblk;\n\tint performance_platform_limit;\n\tint throttling_platform_limit;\n\tstruct acpi_processor_flags flags;\n\tstruct acpi_processor_power power;\n\tstruct acpi_processor_performance *performance;\n\tstruct acpi_processor_throttling throttling;\n\tstruct acpi_processor_limit limit;\n\tstruct thermal_cooling_device *cdev;\n\tstruct device *dev;\n\tstruct freq_qos_request perflib_req;\n\tstruct freq_qos_request thermal_req;\n};\n\nstruct acpi_processor_errata {\n\tu8 smp;\n\tstruct {\n\t\tu8 throttle: 1;\n\t\tu8 fdma: 1;\n\t\tu8 reserved: 6;\n\t\tu32 bmisx;\n\t} piix4;\n};\n\nstruct acpi_psd_package {\n\tu64 num_entries;\n\tu64 revision;\n\tu64 domain;\n\tu64 coord_type;\n\tu64 num_processors;\n};\n\nstruct acpi_processor_px;\n\nstruct acpi_processor_performance {\n\tunsigned int state;\n\tunsigned int platform_limit;\n\tstruct acpi_pct_register control_register;\n\tstruct acpi_pct_register status_register;\n\tunsigned int state_count;\n\tstruct acpi_processor_px *states;\n\tstruct acpi_psd_package domain_info;\n\tcpumask_var_t shared_cpu_map;\n\tunsigned int shared_type;\n};\n\nstruct acpi_processor_px {\n\tu64 core_frequency;\n\tu64 power;\n\tu64 transition_latency;\n\tu64 bus_master_latency;\n\tu64 control;\n\tu64 status;\n};\n\nstruct acpi_processor_tx_tss {\n\tu64 freqpercentage;\n\tu64 power;\n\tu64 transition_latency;\n\tu64 control;\n\tu64 status;\n};\n\nstruct acpi_prt_entry {\n\tstruct acpi_pci_id id;\n\tu8 pin;\n\tacpi_handle link;\n\tu32 index;\n};\n\nstruct acpi_reg_walk_info {\n\tu32 function;\n\tu32 reg_run_count;\n\tacpi_adr_space_type space_id;\n};\n\ntypedef acpi_status (*acpi_repair_function)(struct acpi_evaluate_info *, union acpi_operand_object **);\n\nstruct acpi_repair_info {\n\tchar name[4];\n\tacpi_repair_function repair_function;\n};\n\nstruct acpi_resource_irq {\n\tu8 descriptor_length;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 interrupt_count;\n\tunion {\n\t\tu8 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu8 interrupts[0];\n\t\t};\n\t};\n};\n\nstruct acpi_resource_dma {\n\tu8 type;\n\tu8 bus_master;\n\tu8 transfer;\n\tu8 channel_count;\n\tunion {\n\t\tu8 channel;\n\t\tstruct {\n\t\t\tstruct {} __Empty_channels;\n\t\t\tu8 channels[0];\n\t\t};\n\t};\n};\n\nstruct acpi_resource_start_dependent {\n\tu8 descriptor_length;\n\tu8 compatibility_priority;\n\tu8 performance_robustness;\n};\n\nstruct acpi_resource_io {\n\tu8 io_decode;\n\tu8 alignment;\n\tu8 address_length;\n\tu16 minimum;\n\tu16 maximum;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_io {\n\tu16 address;\n\tu8 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_dma {\n\tu16 request_lines;\n\tu16 channels;\n\tu8 width;\n} __attribute__((packed));\n\nstruct acpi_resource_vendor {\n\tu16 byte_length;\n\tu8 byte_data[0];\n};\n\nstruct acpi_resource_vendor_typed {\n\tu16 byte_length;\n\tu8 uuid_subtype;\n\tu8 uuid[16];\n\tu8 byte_data[0];\n} __attribute__((packed));\n\nstruct acpi_resource_end_tag {\n\tu8 checksum;\n};\n\nstruct acpi_resource_memory24 {\n\tu8 write_protect;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 alignment;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_memory32 {\n\tu8 write_protect;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 alignment;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct acpi_resource_fixed_memory32 {\n\tu8 write_protect;\n\tu32 address;\n\tu32 address_length;\n} __attribute__((packed));\n\nunion acpi_resource_attribute {\n\tstruct acpi_memory_attribute mem;\n\tstruct acpi_io_attribute io;\n\tu8 type_specific;\n};\n\nstruct acpi_resource_source {\n\tu8 index;\n\tu16 string_length;\n\tchar *string_ptr;\n} __attribute__((packed));\n\nstruct acpi_resource_address16 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address16_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address32 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address32_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address64 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tstruct acpi_address64_attribute address;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_extended_address64 {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n\tu8 revision_ID;\n\tstruct acpi_address64_attribute address;\n\tu64 type_specific;\n} __attribute__((packed));\n\nstruct acpi_resource_extended_irq {\n\tu8 producer_consumer;\n\tu8 triggering;\n\tu8 polarity;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 interrupt_count;\n\tstruct acpi_resource_source resource_source;\n\tunion {\n\t\tu32 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu32 interrupts[0];\n\t\t};\n\t};\n} __attribute__((packed));\n\nstruct acpi_resource_generic_register {\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct acpi_resource_gpio {\n\tu8 revision_id;\n\tu8 connection_type;\n\tu8 producer_consumer;\n\tu8 pin_config;\n\tu8 shareable;\n\tu8 wake_capable;\n\tu8 io_restriction;\n\tu8 triggering;\n\tu8 polarity;\n\tu16 drive_strength;\n\tu16 debounce_timeout;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_i2c_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 access_mode;\n\tu16 slave_address;\n\tu32 connection_speed;\n} __attribute__((packed));\n\nstruct acpi_resource_spi_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 wire_mode;\n\tu8 device_polarity;\n\tu8 data_bit_length;\n\tu8 clock_phase;\n\tu8 clock_polarity;\n\tu16 device_selection;\n\tu32 connection_speed;\n} __attribute__((packed));\n\nstruct acpi_resource_uart_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 endian;\n\tu8 data_bits;\n\tu8 stop_bits;\n\tu8 flow_control;\n\tu8 parity;\n\tu8 lines_enabled;\n\tu16 rx_fifo_size;\n\tu16 tx_fifo_size;\n\tu32 default_baud_rate;\n} __attribute__((packed));\n\nstruct acpi_resource_csi2_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n\tu8 local_port_instance;\n\tu8 phy_type;\n} __attribute__((packed));\n\nstruct acpi_resource_common_serialbus {\n\tu8 revision_id;\n\tu8 type;\n\tu8 producer_consumer;\n\tu8 slave_mode;\n\tu8 connection_sharing;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_function {\n\tu8 revision_id;\n\tu8 pin_config;\n\tu8 shareable;\n\tu16 function_number;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_config {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tu16 *pin_table;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_label {\n\tu16 string_length;\n\tchar *string_ptr;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu16 pin_table_length;\n\tu16 vendor_length;\n\tu16 *pin_table;\n\tstruct acpi_resource_label resource_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group_function {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu16 function_number;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tstruct acpi_resource_label resource_source_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_pin_group_config {\n\tu8 revision_id;\n\tu8 producer_consumer;\n\tu8 shareable;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 vendor_length;\n\tstruct acpi_resource_source resource_source;\n\tstruct acpi_resource_label resource_source_label;\n\tu8 *vendor_data;\n} __attribute__((packed));\n\nstruct acpi_resource_clock_input {\n\tu8 revision_id;\n\tu8 mode;\n\tu8 scale;\n\tu16 frequency_divisor;\n\tu32 frequency_numerator;\n\tstruct acpi_resource_source resource_source;\n} __attribute__((packed));\n\nstruct acpi_resource_address {\n\tu8 resource_type;\n\tu8 producer_consumer;\n\tu8 decode;\n\tu8 min_address_fixed;\n\tu8 max_address_fixed;\n\tunion acpi_resource_attribute info;\n};\n\nunion acpi_resource_data {\n\tstruct acpi_resource_irq irq;\n\tstruct acpi_resource_dma dma;\n\tstruct acpi_resource_start_dependent start_dpf;\n\tstruct acpi_resource_io io;\n\tstruct acpi_resource_fixed_io fixed_io;\n\tstruct acpi_resource_fixed_dma fixed_dma;\n\tstruct acpi_resource_vendor vendor;\n\tstruct acpi_resource_vendor_typed vendor_typed;\n\tstruct acpi_resource_end_tag end_tag;\n\tstruct acpi_resource_memory24 memory24;\n\tstruct acpi_resource_memory32 memory32;\n\tstruct acpi_resource_fixed_memory32 fixed_memory32;\n\tstruct acpi_resource_address16 address16;\n\tstruct acpi_resource_address32 address32;\n\tstruct acpi_resource_address64 address64;\n\tstruct acpi_resource_extended_address64 ext_address64;\n\tstruct acpi_resource_extended_irq extended_irq;\n\tstruct acpi_resource_generic_register generic_reg;\n\tstruct acpi_resource_gpio gpio;\n\tstruct acpi_resource_i2c_serialbus i2c_serial_bus;\n\tstruct acpi_resource_spi_serialbus spi_serial_bus;\n\tstruct acpi_resource_uart_serialbus uart_serial_bus;\n\tstruct acpi_resource_csi2_serialbus csi2_serial_bus;\n\tstruct acpi_resource_common_serialbus common_serial_bus;\n\tstruct acpi_resource_pin_function pin_function;\n\tstruct acpi_resource_pin_config pin_config;\n\tstruct acpi_resource_pin_group pin_group;\n\tstruct acpi_resource_pin_group_function pin_group_function;\n\tstruct acpi_resource_pin_group_config pin_group_config;\n\tstruct acpi_resource_clock_input clock_input;\n\tstruct acpi_resource_address address;\n};\n\nstruct acpi_resource {\n\tu32 type;\n\tu32 length;\n\tunion acpi_resource_data data;\n};\n\nstruct acpi_rhct_cmo_node {\n\tu8 reserved;\n\tu8 cbom_size;\n\tu8 cbop_size;\n\tu8 cboz_size;\n};\n\nstruct acpi_rhct_hart_info {\n\tu16 num_offsets;\n\tu32 uid;\n} __attribute__((packed));\n\nstruct acpi_rhct_isa_string {\n\tu16 isa_length;\n\tchar isa[0];\n};\n\nstruct acpi_rhct_node_header {\n\tu16 type;\n\tu16 length;\n\tu16 revision;\n};\n\nstruct acpi_rsconvert_info {\n\tu8 opcode;\n\tu8 resource_offset;\n\tu8 aml_offset;\n\tu8 value;\n};\n\nstruct acpi_rw_lock {\n\tvoid *writer_mutex;\n\tvoid *reader_mutex;\n\tu32 num_readers;\n};\n\nstruct acpi_scan_clear_dep_work {\n\tstruct work_struct work;\n\tstruct acpi_device *adev;\n};\n\nstruct acpi_scan_handler {\n\tstruct list_head list_node;\n\tconst struct acpi_device_id *ids;\n\tbool (*match)(const char *, const struct acpi_device_id **);\n\tint (*attach)(struct acpi_device *, const struct acpi_device_id *);\n\tvoid (*detach)(struct acpi_device *);\n\tvoid (*post_eject)(struct acpi_device *);\n\tvoid (*bind)(struct device *);\n\tvoid (*unbind)(struct device *);\n\tstruct acpi_hotplug_profile hotplug;\n};\n\ntypedef u32 (*acpi_sci_handler)(void *);\n\nstruct acpi_sci_handler_info {\n\tstruct acpi_sci_handler_info *next;\n\tacpi_sci_handler address;\n\tvoid *context;\n};\n\nstruct acpi_signal_fatal_info {\n\tu32 type;\n\tu32 code;\n\tu32 argument;\n};\n\ntypedef acpi_status (*acpi_object_converter)(struct acpi_namespace_node *, union acpi_operand_object *, union acpi_operand_object **);\n\nstruct acpi_simple_repair_info {\n\tchar name[4];\n\tu32 unexpected_btypes;\n\tu32 package_index;\n\tacpi_object_converter object_converter;\n};\n\nstruct spi_controller;\n\nstruct acpi_spi_lookup {\n\tstruct spi_controller *ctlr;\n\tu32 max_speed_hz;\n\tu32 mode;\n\tint irq;\n\tu8 bits_per_word;\n\tu8 chip_select;\n\tint n;\n\tint index;\n};\n\nstruct acpi_subtable_entry {\n\tunion acpi_subtable_headers *hdr;\n\tenum acpi_subtable_type type;\n};\n\nunion acpi_subtable_headers {\n\tstruct acpi_subtable_header common;\n\tstruct acpi_hmat_structure hmat;\n\tstruct acpi_prmt_module_header prmt;\n\tstruct acpi_cedt_header cedt;\n\tstruct acpi_cdat_header cdat;\n};\n\ntypedef int (*acpi_tbl_entry_handler_arg)(union acpi_subtable_headers *, void *, const long unsigned int);\n\nstruct acpi_subtable_proc {\n\tint id;\n\tacpi_tbl_entry_handler handler;\n\tacpi_tbl_entry_handler_arg handler_arg;\n\tvoid *arg;\n\tint count;\n};\n\nstruct acpi_table_attr {\n\tstruct bin_attribute attr;\n\tchar name[4];\n\tint instance;\n\tchar filename[8];\n\tstruct list_head node;\n};\n\nstruct acpi_table_header {\n\tchar signature[4];\n\tu32 length;\n\tu8 revision;\n\tu8 checksum;\n\tchar oem_id[6];\n\tchar oem_table_id[8];\n\tu32 oem_revision;\n\tchar asl_compiler_id[4];\n\tu32 asl_compiler_revision;\n};\n\nstruct acpi_table_bert {\n\tstruct acpi_table_header header;\n\tu32 region_length;\n\tu64 address;\n};\n\nstruct acpi_table_ccel {\n\tstruct acpi_table_header header;\n\tu8 CCtype;\n\tu8 Ccsub_type;\n\tu16 reserved;\n\tu64 log_area_minimum_length;\n\tu64 log_area_start_address;\n};\n\nstruct acpi_table_cdat {\n\tu32 length;\n\tu8 revision;\n\tu8 checksum;\n\tu8 reserved[6];\n\tu32 sequence;\n};\n\nstruct acpi_table_csrt {\n\tstruct acpi_table_header header;\n};\n\nstruct acpi_table_desc {\n\tacpi_physical_address address;\n\tstruct acpi_table_header *pointer;\n\tu32 length;\n\tunion acpi_name_union signature;\n\tacpi_owner_id owner_id;\n\tu8 flags;\n\tu16 validation_count;\n};\n\nstruct acpi_table_facs {\n\tchar signature[4];\n\tu32 length;\n\tu32 hardware_signature;\n\tu32 firmware_waking_vector;\n\tu32 global_lock;\n\tu32 flags;\n\tu64 xfirmware_waking_vector;\n\tu8 version;\n\tu8 reserved[3];\n\tu32 ospm_flags;\n\tu8 reserved1[24];\n};\n\nstruct acpi_table_fadt {\n\tstruct acpi_table_header header;\n\tu32 facs;\n\tu32 dsdt;\n\tu8 model;\n\tu8 preferred_profile;\n\tu16 sci_interrupt;\n\tu32 smi_command;\n\tu8 acpi_enable;\n\tu8 acpi_disable;\n\tu8 s4_bios_request;\n\tu8 pstate_control;\n\tu32 pm1a_event_block;\n\tu32 pm1b_event_block;\n\tu32 pm1a_control_block;\n\tu32 pm1b_control_block;\n\tu32 pm2_control_block;\n\tu32 pm_timer_block;\n\tu32 gpe0_block;\n\tu32 gpe1_block;\n\tu8 pm1_event_length;\n\tu8 pm1_control_length;\n\tu8 pm2_control_length;\n\tu8 pm_timer_length;\n\tu8 gpe0_block_length;\n\tu8 gpe1_block_length;\n\tu8 gpe1_base;\n\tu8 cst_control;\n\tu16 c2_latency;\n\tu16 c3_latency;\n\tu16 flush_size;\n\tu16 flush_stride;\n\tu8 duty_offset;\n\tu8 duty_width;\n\tu8 day_alarm;\n\tu8 month_alarm;\n\tu8 century;\n\tu16 boot_flags;\n\tu8 reserved;\n\tu32 flags;\n\tstruct acpi_generic_address reset_register;\n\tu8 reset_value;\n\tu16 arm_boot_flags;\n\tu8 minor_revision;\n\tu64 Xfacs;\n\tu64 Xdsdt;\n\tstruct acpi_generic_address xpm1a_event_block;\n\tstruct acpi_generic_address xpm1b_event_block;\n\tstruct acpi_generic_address xpm1a_control_block;\n\tstruct acpi_generic_address xpm1b_control_block;\n\tstruct acpi_generic_address xpm2_control_block;\n\tstruct acpi_generic_address xpm_timer_block;\n\tstruct acpi_generic_address xgpe0_block;\n\tstruct acpi_generic_address xgpe1_block;\n\tstruct acpi_generic_address sleep_control;\n\tstruct acpi_generic_address sleep_status;\n\tu64 hypervisor_id;\n} __attribute__((packed));\n\nstruct acpi_table_list {\n\tstruct acpi_table_desc *tables;\n\tu32 current_table_count;\n\tu32 max_table_count;\n\tu8 flags;\n};\n\nstruct acpi_table_madt {\n\tstruct acpi_table_header header;\n\tu32 address;\n\tu32 flags;\n};\n\nstruct acpi_table_mcfg {\n\tstruct acpi_table_header header;\n\tu8 reserved[8];\n};\n\nstruct acpi_table_pcct {\n\tstruct acpi_table_header header;\n\tu32 flags;\n\tu64 reserved;\n};\n\nstruct acpi_table_rhct {\n\tstruct acpi_table_header header;\n\tu32 flags;\n\tu64 time_base_freq;\n\tu32 node_count;\n\tu32 node_offset;\n};\n\nstruct acpi_table_rsdp {\n\tchar signature[8];\n\tu8 checksum;\n\tchar oem_id[6];\n\tu8 revision;\n\tu32 rsdt_physical_address;\n\tu32 length;\n\tu64 xsdt_physical_address;\n\tu8 extended_checksum;\n\tu8 reserved[3];\n} __attribute__((packed));\n\nstruct acpi_table_spcr {\n\tstruct acpi_table_header header;\n\tu8 interface_type;\n\tu8 reserved[3];\n\tstruct acpi_generic_address serial_port;\n\tu8 interrupt_type;\n\tu8 pc_interrupt;\n\tu32 interrupt;\n\tu8 baud_rate;\n\tu8 parity;\n\tu8 stop_bits;\n\tu8 flow_control;\n\tu8 terminal_type;\n\tu8 language;\n\tu16 pci_device_id;\n\tu16 pci_vendor_id;\n\tu8 pci_bus;\n\tu8 pci_device;\n\tu8 pci_function;\n\tu32 pci_flags;\n\tu8 pci_segment;\n\tu32 uart_clk_freq;\n\tu32 precise_baudrate;\n\tu16 name_space_string_length;\n\tu16 name_space_string_offset;\n\tchar name_space_string[0];\n} __attribute__((packed));\n\nstruct acpi_table_stao {\n\tstruct acpi_table_header header;\n\tu8 ignore_uart;\n} __attribute__((packed));\n\nstruct acpi_thermal_trip {\n\tlong unsigned int temp_dk;\n\tstruct acpi_handle_list devices;\n};\n\nstruct acpi_thermal_passive {\n\tstruct acpi_thermal_trip trip;\n\tlong unsigned int tc1;\n\tlong unsigned int tc2;\n\tlong unsigned int delay;\n};\n\nstruct acpi_thermal_active {\n\tstruct acpi_thermal_trip trip;\n};\n\nstruct acpi_thermal_trips {\n\tstruct acpi_thermal_passive passive;\n\tstruct acpi_thermal_active active[10];\n};\n\nstruct thermal_zone_device;\n\nstruct acpi_thermal {\n\tstruct acpi_device *device;\n\tacpi_bus_id name;\n\tlong unsigned int temp_dk;\n\tlong unsigned int last_temp_dk;\n\tlong unsigned int polling_frequency;\n\tvolatile u8 zombie;\n\tstruct acpi_thermal_trips trips;\n\tstruct thermal_zone_device *thermal_zone;\n\tint kelvin_offset;\n\tstruct work_struct thermal_check_work;\n\tstruct mutex thermal_check_lock;\n\trefcount_t thermal_check_count;\n};\n\nstruct acpi_vendor_uuid {\n\tu8 subtype;\n\tu8 data[16];\n};\n\nstruct acpi_vendor_walk_info {\n\tstruct acpi_vendor_uuid *uuid;\n\tstruct acpi_buffer *buffer;\n\tacpi_status status;\n};\n\nstruct acpi_wakeup_handler {\n\tstruct list_head list_node;\n\tbool (*wakeup)(void *);\n\tvoid *context;\n};\n\ntypedef acpi_status (*acpi_parse_downwards)(struct acpi_walk_state *, union acpi_parse_object **);\n\ntypedef acpi_status (*acpi_parse_upwards)(struct acpi_walk_state *);\n\nstruct acpi_walk_state {\n\tstruct acpi_walk_state *next;\n\tu8 descriptor_type;\n\tu8 walk_type;\n\tu16 opcode;\n\tu8 next_op_info;\n\tu8 num_operands;\n\tu8 operand_index;\n\tacpi_owner_id owner_id;\n\tu8 last_predicate;\n\tu8 current_result;\n\tu8 return_used;\n\tu8 scope_depth;\n\tu8 pass_number;\n\tu8 namespace_override;\n\tu8 result_size;\n\tu8 result_count;\n\tu8 *aml;\n\tu32 arg_types;\n\tu32 method_breakpoint;\n\tu32 user_breakpoint;\n\tu32 parse_flags;\n\tstruct acpi_parse_state parser_state;\n\tu32 prev_arg_types;\n\tu32 arg_count;\n\tu16 method_nesting_depth;\n\tu8 method_is_nested;\n\tstruct acpi_namespace_node arguments[7];\n\tstruct acpi_namespace_node local_variables[8];\n\tunion acpi_operand_object *operands[9];\n\tunion acpi_operand_object **params;\n\tu8 *aml_last_while;\n\tunion acpi_operand_object **caller_return_desc;\n\tunion acpi_generic_state *control_state;\n\tstruct acpi_namespace_node *deferred_node;\n\tunion acpi_operand_object *implicit_return_obj;\n\tstruct acpi_namespace_node *method_call_node;\n\tunion acpi_parse_object *method_call_op;\n\tunion acpi_operand_object *method_desc;\n\tstruct acpi_namespace_node *method_node;\n\tchar *method_pathname;\n\tunion acpi_parse_object *op;\n\tconst struct acpi_opcode_info *op_info;\n\tunion acpi_parse_object *origin;\n\tunion acpi_operand_object *result_obj;\n\tunion acpi_generic_state *results;\n\tunion acpi_operand_object *return_desc;\n\tunion acpi_generic_state *scope_info;\n\tunion acpi_parse_object *prev_op;\n\tunion acpi_parse_object *next_op;\n\tstruct acpi_thread_state *thread;\n\tacpi_parse_downwards descending_callback;\n\tacpi_parse_upwards ascending_callback;\n};\n\nstruct pnp_dev;\n\nstruct acpipnp_parse_option_s {\n\tstruct pnp_dev *dev;\n\tunsigned int option_flags;\n};\n\nstruct action_cache {\n\tlong unsigned int allow_native[8];\n};\n\nstruct action_devres {\n\tvoid *data;\n\tvoid (*action)(void *);\n};\n\nstruct action_gate_entry {\n\tu8 gate_state;\n\tu32 interval;\n\ts32 ipv;\n\ts32 maxoctets;\n};\n\nstruct action_ops {\n\tint (*pre_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tint (*do_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tvoid (*undo_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n\tvoid (*post_action)(struct snd_pcm_substream *, snd_pcm_state_t);\n};\n\nstruct rw_semaphore {\n\tatomic_long_t count;\n\tatomic_long_t owner;\n\tstruct optimistic_spin_queue osq;\n\traw_spinlock_t wait_lock;\n\tstruct list_head wait_list;\n\tvoid *magic;\n};\n\nstruct rb_root_cached {\n\tstruct rb_root rb_root;\n\tstruct rb_node *rb_leftmost;\n};\n\nstruct address_space_operations;\n\nstruct address_space {\n\tstruct inode *host;\n\tstruct xarray i_pages;\n\tstruct rw_semaphore invalidate_lock;\n\tgfp_t gfp_mask;\n\tatomic_t i_mmap_writable;\n\tstruct rb_root_cached i_mmap;\n\tlong unsigned int nrpages;\n\tlong unsigned int writeback_index;\n\tconst struct address_space_operations *a_ops;\n\tlong unsigned int flags;\n\terrseq_t wb_err;\n\tspinlock_t i_private_lock;\n\tstruct list_head i_private_list;\n\tstruct rw_semaphore i_mmap_rwsem;\n\tvoid *i_private_data;\n};\n\nstruct page;\n\nstruct writeback_control;\n\nstruct readahead_control;\n\nstruct kiocb;\n\nstruct iov_iter;\n\nstruct swap_info_struct;\n\nstruct address_space_operations {\n\tint (*writepage)(struct page *, struct writeback_control *);\n\tint (*read_folio)(struct file *, struct folio *);\n\tint (*writepages)(struct address_space *, struct writeback_control *);\n\tbool (*dirty_folio)(struct address_space *, struct folio *);\n\tvoid (*readahead)(struct readahead_control *);\n\tint (*write_begin)(struct file *, struct address_space *, loff_t, unsigned int, struct folio **, void **);\n\tint (*write_end)(struct file *, struct address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *);\n\tsector_t (*bmap)(struct address_space *, sector_t);\n\tvoid (*invalidate_folio)(struct folio *, size_t, size_t);\n\tbool (*release_folio)(struct folio *, gfp_t);\n\tvoid (*free_folio)(struct folio *);\n\tssize_t (*direct_IO)(struct kiocb *, struct iov_iter *);\n\tint (*migrate_folio)(struct address_space *, struct folio *, struct folio *, enum migrate_mode);\n\tint (*launder_folio)(struct folio *);\n\tbool (*is_partially_uptodate)(struct folio *, size_t, size_t);\n\tvoid (*is_dirty_writeback)(struct folio *, bool *, bool *);\n\tint (*error_remove_folio)(struct address_space *, struct folio *);\n\tint (*swap_activate)(struct swap_info_struct *, struct file *, sector_t *);\n\tvoid (*swap_deactivate)(struct file *);\n\tint (*swap_rw)(struct kiocb *, struct iov_iter *);\n};\n\nstruct adjust_trip_data {\n\tstruct acpi_thermal *tz;\n\tu32 event;\n};\n\nstruct crypto_aead;\n\nstruct aead_request;\n\nstruct aead_alg {\n\tint (*setkey)(struct crypto_aead *, const u8 *, unsigned int);\n\tint (*setauthsize)(struct crypto_aead *, unsigned int);\n\tint (*encrypt)(struct aead_request *);\n\tint (*decrypt)(struct aead_request *);\n\tint (*init)(struct crypto_aead *);\n\tvoid (*exit)(struct crypto_aead *);\n\tunsigned int ivsize;\n\tunsigned int maxauthsize;\n\tunsigned int chunksize;\n\tstruct crypto_alg base;\n};\n\nstruct crypto_engine;\n\nstruct crypto_engine_op {\n\tint (*do_one_request)(struct crypto_engine *, void *);\n};\n\nstruct aead_engine_alg {\n\tstruct aead_alg base;\n\tstruct crypto_engine_op op;\n};\n\nstruct crypto_template;\n\nstruct crypto_spawn;\n\nstruct crypto_instance {\n\tstruct crypto_alg alg;\n\tstruct crypto_template *tmpl;\n\tunion {\n\t\tstruct hlist_node list;\n\t\tstruct crypto_spawn *spawns;\n\t};\n\tstruct work_struct free_work;\n\tvoid *__ctx[0];\n};\n\nstruct aead_instance {\n\tvoid (*free)(struct aead_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[64];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct aead_alg alg;\n\t};\n};\n\nstruct aead_request {\n\tstruct crypto_async_request base;\n\tunsigned int assoclen;\n\tunsigned int cryptlen;\n\tu8 *iv;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tvoid *__ctx[0];\n};\n\nstruct sg_table {\n\tstruct scatterlist *sgl;\n\tunsigned int nents;\n\tunsigned int orig_nents;\n};\n\nstruct scatterlist {\n\tlong unsigned int page_link;\n\tunsigned int offset;\n\tunsigned int length;\n\tdma_addr_t dma_address;\n};\n\nstruct af_alg_sgl {\n\tstruct sg_table sgt;\n\tstruct scatterlist sgl[17];\n\tbool need_unpin;\n};\n\nstruct af_alg_rsgl {\n\tstruct af_alg_sgl sgl;\n\tstruct list_head list;\n\tsize_t sg_num_bytes;\n};\n\nstruct skcipher_request {\n\tunsigned int cryptlen;\n\tu8 *iv;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tstruct crypto_async_request base;\n\tvoid *__ctx[0];\n};\n\nstruct sock;\n\nstruct af_alg_async_req {\n\tstruct kiocb *iocb;\n\tstruct sock *sk;\n\tstruct af_alg_rsgl first_rsgl;\n\tstruct af_alg_rsgl *last_rsgl;\n\tstruct list_head rsgl_list;\n\tstruct scatterlist *tsgl;\n\tunsigned int tsgl_entries;\n\tunsigned int outlen;\n\tunsigned int areqlen;\n\tunion {\n\t\tstruct aead_request aead_req;\n\t\tstruct skcipher_request skcipher_req;\n\t} cra_u;\n};\n\nstruct af_alg_iv;\n\nstruct af_alg_control {\n\tstruct af_alg_iv *iv;\n\tint op;\n\tunsigned int aead_assoclen;\n};\n\nstruct crypto_wait {\n\tstruct completion completion;\n\tint err;\n};\n\nstruct af_alg_ctx {\n\tstruct list_head tsgl_list;\n\tvoid *iv;\n\tvoid *state;\n\tsize_t aead_assoclen;\n\tstruct crypto_wait wait;\n\tsize_t used;\n\tatomic_t rcvused;\n\tbool more;\n\tbool merge;\n\tbool enc;\n\tbool init;\n\tunsigned int len;\n\tunsigned int inflight;\n};\n\nstruct af_alg_iv {\n\t__u32 ivlen;\n\t__u8 iv[0];\n};\n\nstruct af_alg_tsgl {\n\tstruct list_head list;\n\tunsigned int cur;\n\tstruct scatterlist sg[0];\n};\n\nstruct proto_ops;\n\nstruct af_alg_type {\n\tvoid * (*bind)(const char *, u32, u32);\n\tvoid (*release)(void *);\n\tint (*setkey)(void *, const u8 *, unsigned int);\n\tint (*setentropy)(void *, sockptr_t, unsigned int);\n\tint (*accept)(void *, struct sock *);\n\tint (*accept_nokey)(void *, struct sock *);\n\tint (*setauthsize)(void *, unsigned int);\n\tstruct proto_ops *ops;\n\tstruct proto_ops *ops_nokey;\n\tstruct module *owner;\n\tchar name[14];\n};\n\nstruct affinity_context {\n\tconst struct cpumask *new_mask;\n\tstruct cpumask *user_mask;\n\tunsigned int flags;\n};\n\nstruct aggregate_control {\n\tlong int *aggregate;\n\tlong int *local;\n\tlong int *pending;\n\tlong int *ppending;\n\tlong int *cstat;\n\tlong int *cstat_prev;\n\tint size;\n};\n\nstruct component_master_ops;\n\nstruct component_match;\n\nstruct aggregate_device {\n\tstruct list_head node;\n\tbool bound;\n\tconst struct component_master_ops *ops;\n\tstruct device *parent;\n\tstruct component_match *match;\n};\n\nstruct hash_alg_common {\n\tunsigned int digestsize;\n\tunsigned int statesize;\n\tstruct crypto_alg base;\n};\n\nstruct ahash_request;\n\nstruct crypto_ahash;\n\nstruct ahash_alg {\n\tint (*init)(struct ahash_request *);\n\tint (*update)(struct ahash_request *);\n\tint (*final)(struct ahash_request *);\n\tint (*finup)(struct ahash_request *);\n\tint (*digest)(struct ahash_request *);\n\tint (*export)(struct ahash_request *, void *);\n\tint (*import)(struct ahash_request *, const void *);\n\tint (*setkey)(struct crypto_ahash *, const u8 *, unsigned int);\n\tint (*init_tfm)(struct crypto_ahash *);\n\tvoid (*exit_tfm)(struct crypto_ahash *);\n\tint (*clone_tfm)(struct crypto_ahash *, struct crypto_ahash *);\n\tstruct hash_alg_common halg;\n};\n\nstruct ahash_engine_alg {\n\tstruct ahash_alg base;\n\tstruct crypto_engine_op op;\n};\n\nstruct ahash_instance {\n\tvoid (*free)(struct ahash_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[96];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct ahash_alg alg;\n\t};\n};\n\nstruct ahash_request {\n\tstruct crypto_async_request base;\n\tunsigned int nbytes;\n\tstruct scatterlist *src;\n\tu8 *result;\n\tvoid *priv;\n\tvoid *__ctx[0];\n};\n\nstruct ahci_cmd_hdr {\n\t__le32 opts;\n\t__le32 status;\n\t__le32 tbl_addr;\n\t__le32 tbl_addr_hi;\n\t__le32 reserved[4];\n};\n\nstruct timer_list {\n\tstruct hlist_node entry;\n\tlong unsigned int expires;\n\tvoid (*function)(struct timer_list *);\n\tu32 flags;\n};\n\nstruct ata_link;\n\nstruct ahci_em_priv {\n\tenum sw_activity blink_policy;\n\tstruct timer_list timer;\n\tlong unsigned int saved_activity;\n\tlong unsigned int activity;\n\tlong unsigned int led_state;\n\tstruct ata_link *link;\n};\n\nstruct clk_bulk_data;\n\nstruct reset_control;\n\nstruct regulator;\n\nstruct phy;\n\nstruct ata_port;\n\nstruct ata_host;\n\nstruct ahci_host_priv {\n\tunsigned int flags;\n\tu32 mask_port_map;\n\tvoid *mmio;\n\tu32 cap;\n\tu32 cap2;\n\tu32 version;\n\tu32 port_map;\n\tu32 saved_cap;\n\tu32 saved_cap2;\n\tu32 saved_port_map;\n\tu32 saved_port_cap[32];\n\tu32 em_loc;\n\tu32 em_buf_sz;\n\tu32 em_msg_type;\n\tu32 remapped_nvme;\n\tbool got_runtime_pm;\n\tunsigned int n_clks;\n\tstruct clk_bulk_data *clks;\n\tunsigned int f_rsts;\n\tstruct reset_control *rsts;\n\tstruct regulator **target_pwrs;\n\tstruct regulator *ahci_regulator;\n\tstruct regulator *phy_regulator;\n\tstruct phy **phys;\n\tunsigned int nports;\n\tvoid *plat_data;\n\tunsigned int irq;\n\tvoid (*start_engine)(struct ata_port *);\n\tint (*stop_engine)(struct ata_port *);\n\tirqreturn_t (*irq_handler)(int, void *);\n\tint (*get_irq_vector)(struct ata_host *, int);\n};\n\nstruct ahci_port_priv {\n\tstruct ata_link *active_link;\n\tstruct ahci_cmd_hdr *cmd_slot;\n\tdma_addr_t cmd_slot_dma;\n\tvoid *cmd_tbl;\n\tdma_addr_t cmd_tbl_dma;\n\tvoid *rx_fis;\n\tdma_addr_t rx_fis_dma;\n\tunsigned int ncq_saw_d2h: 1;\n\tunsigned int ncq_saw_dmas: 1;\n\tunsigned int ncq_saw_sdb: 1;\n\tspinlock_t lock;\n\tu32 intr_mask;\n\tbool fbs_supported;\n\tbool fbs_enabled;\n\tint fbs_last_dev;\n\tstruct ahci_em_priv em_priv[15];\n\tchar *irq_desc;\n};\n\nstruct ahci_sg {\n\t__le32 addr;\n\t__le32 addr_hi;\n\t__le32 reserved;\n\t__le32 flags_size;\n};\n\nstruct wait_page_queue;\n\nstruct kiocb {\n\tstruct file *ki_filp;\n\tloff_t ki_pos;\n\tvoid (*ki_complete)(struct kiocb *, long int);\n\tvoid *private;\n\tint ki_flags;\n\tu16 ki_ioprio;\n\tunion {\n\t\tstruct wait_page_queue *ki_waitq;\n\t\tssize_t (*dio_complete)(void *);\n\t};\n};\n\nstruct cred;\n\nstruct fsync_iocb {\n\tstruct file *file;\n\tstruct work_struct work;\n\tbool datasync;\n\tstruct cred *creds;\n};\n\nstruct wait_queue_entry;\n\ntypedef int (*wait_queue_func_t)(struct wait_queue_entry *, unsigned int, int, void *);\n\nstruct wait_queue_entry {\n\tunsigned int flags;\n\tvoid *private;\n\twait_queue_func_t func;\n\tstruct list_head entry;\n};\n\nstruct poll_iocb {\n\tstruct file *file;\n\tstruct wait_queue_head *head;\n\t__poll_t events;\n\tbool cancelled;\n\tbool work_scheduled;\n\tbool work_need_resched;\n\tstruct wait_queue_entry wait;\n\tstruct work_struct work;\n};\n\ntypedef int kiocb_cancel_fn(struct kiocb *);\n\nstruct io_event {\n\t__u64 data;\n\t__u64 obj;\n\t__s64 res;\n\t__s64 res2;\n};\n\nstruct kioctx;\n\nstruct eventfd_ctx;\n\nstruct aio_kiocb {\n\tunion {\n\t\tstruct file *ki_filp;\n\t\tstruct kiocb rw;\n\t\tstruct fsync_iocb fsync;\n\t\tstruct poll_iocb poll;\n\t};\n\tstruct kioctx *ki_ctx;\n\tkiocb_cancel_fn *ki_cancel;\n\tstruct io_event ki_res;\n\tstruct list_head ki_list;\n\trefcount_t ki_refcnt;\n\tstruct eventfd_ctx *ki_eventfd;\n};\n\nstruct poll_table_struct;\n\ntypedef void (*poll_queue_proc)(struct file *, wait_queue_head_t *, struct poll_table_struct *);\n\nstruct poll_table_struct {\n\tpoll_queue_proc _qproc;\n\t__poll_t _key;\n};\n\nstruct aio_poll_table {\n\tstruct poll_table_struct pt;\n\tstruct aio_kiocb *iocb;\n\tbool queued;\n\tint error;\n};\n\nstruct aio_ring {\n\tunsigned int id;\n\tunsigned int nr;\n\tunsigned int head;\n\tunsigned int tail;\n\tunsigned int magic;\n\tunsigned int compat_features;\n\tunsigned int incompat_features;\n\tunsigned int header_length;\n\tstruct io_event io_events[0];\n};\n\nstruct aio_waiter {\n\tstruct wait_queue_entry w;\n\tsize_t min_nr;\n};\n\nstruct akcipher_request;\n\nstruct crypto_akcipher;\n\nstruct akcipher_alg {\n\tint (*encrypt)(struct akcipher_request *);\n\tint (*decrypt)(struct akcipher_request *);\n\tint (*set_pub_key)(struct crypto_akcipher *, const void *, unsigned int);\n\tint (*set_priv_key)(struct crypto_akcipher *, const void *, unsigned int);\n\tunsigned int (*max_size)(struct crypto_akcipher *);\n\tint (*init)(struct crypto_akcipher *);\n\tvoid (*exit)(struct crypto_akcipher *);\n\tstruct crypto_alg base;\n};\n\nstruct akcipher_engine_alg {\n\tstruct akcipher_alg base;\n\tstruct crypto_engine_op op;\n};\n\nstruct akcipher_instance {\n\tvoid (*free)(struct akcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[56];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct akcipher_alg alg;\n\t};\n};\n\nstruct akcipher_request {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int src_len;\n\tunsigned int dst_len;\n\tvoid *__ctx[0];\n};\n\nstruct alarm {\n\tstruct timerqueue_node node;\n\tstruct hrtimer timer;\n\tvoid (*function)(struct alarm *, ktime_t);\n\tenum alarmtimer_type type;\n\tint state;\n\tvoid *data;\n};\n\nstruct timerqueue_head {\n\tstruct rb_root_cached rb_root;\n};\n\nstruct timespec64;\n\nstruct alarm_base {\n\tspinlock_t lock;\n\tstruct timerqueue_head timerqueue;\n\tktime_t (*get_ktime)(void);\n\tvoid (*get_timespec)(struct timespec64 *);\n\tclockid_t base_clockid;\n};\n\nstruct hlist_nulls_node {\n\tstruct hlist_nulls_node *next;\n\tstruct hlist_nulls_node **pprev;\n};\n\nstruct proto;\n\nstruct inet_timewait_death_row;\n\nstruct sock_common {\n\tunion {\n\t\t__addrpair skc_addrpair;\n\t\tstruct {\n\t\t\t__be32 skc_daddr;\n\t\t\t__be32 skc_rcv_saddr;\n\t\t};\n\t};\n\tunion {\n\t\tunsigned int skc_hash;\n\t\t__u16 skc_u16hashes[2];\n\t};\n\tunion {\n\t\t__portpair skc_portpair;\n\t\tstruct {\n\t\t\t__be16 skc_dport;\n\t\t\t__u16 skc_num;\n\t\t};\n\t};\n\tshort unsigned int skc_family;\n\tvolatile unsigned char skc_state;\n\tunsigned char skc_reuse: 4;\n\tunsigned char skc_reuseport: 1;\n\tunsigned char skc_ipv6only: 1;\n\tunsigned char skc_net_refcnt: 1;\n\tint skc_bound_dev_if;\n\tunion {\n\t\tstruct hlist_node skc_bind_node;\n\t\tstruct hlist_node skc_portaddr_node;\n\t};\n\tstruct proto *skc_prot;\n\tpossible_net_t skc_net;\n\tstruct in6_addr skc_v6_daddr;\n\tstruct in6_addr skc_v6_rcv_saddr;\n\tatomic64_t skc_cookie;\n\tunion {\n\t\tlong unsigned int skc_flags;\n\t\tstruct sock *skc_listener;\n\t\tstruct inet_timewait_death_row *skc_tw_dr;\n\t};\n\tint skc_dontcopy_begin[0];\n\tunion {\n\t\tstruct hlist_node skc_node;\n\t\tstruct hlist_nulls_node skc_nulls_node;\n\t};\n\tshort unsigned int skc_tx_queue_mapping;\n\tshort unsigned int skc_rx_queue_mapping;\n\tunion {\n\t\tint skc_incoming_cpu;\n\t\tu32 skc_rcv_wnd;\n\t\tu32 skc_tw_rcv_nxt;\n\t};\n\trefcount_t skc_refcnt;\n\tint skc_dontcopy_end[0];\n\tunion {\n\t\tu32 skc_rxhash;\n\t\tu32 skc_window_clamp;\n\t\tu32 skc_tw_snd_nxt;\n\t};\n};\n\nstruct page_frag {\n\tstruct page *page;\n\t__u32 offset;\n\t__u32 size;\n};\n\nstruct sock_cgroup_data {\n\tstruct cgroup *cgroup;\n\tu32 classid;\n\tu16 prioidx;\n};\n\nstruct dst_entry;\n\nstruct sk_filter;\n\nstruct socket_wq;\n\nstruct socket;\n\nstruct mem_cgroup;\n\nstruct xfrm_policy;\n\nstruct pid;\n\nstruct sock_reuseport;\n\nstruct bpf_local_storage;\n\nstruct sock {\n\tstruct sock_common __sk_common;\n\t__u8 __cacheline_group_begin__sock_write_rx[0];\n\tatomic_t sk_drops;\n\t__s32 sk_peek_off;\n\tstruct sk_buff_head sk_error_queue;\n\tstruct sk_buff_head sk_receive_queue;\n\tstruct {\n\t\tatomic_t rmem_alloc;\n\t\tint len;\n\t\tstruct sk_buff *head;\n\t\tstruct sk_buff *tail;\n\t} sk_backlog;\n\t__u8 __cacheline_group_end__sock_write_rx[0];\n\t__u8 __cacheline_group_begin__sock_read_rx[0];\n\tstruct dst_entry *sk_rx_dst;\n\tint sk_rx_dst_ifindex;\n\tu32 sk_rx_dst_cookie;\n\tunsigned int sk_ll_usec;\n\tunsigned int sk_napi_id;\n\tu16 sk_busy_poll_budget;\n\tu8 sk_prefer_busy_poll;\n\tu8 sk_userlocks;\n\tint sk_rcvbuf;\n\tstruct sk_filter *sk_filter;\n\tunion {\n\t\tstruct socket_wq *sk_wq;\n\t\tstruct socket_wq *sk_wq_raw;\n\t};\n\tvoid (*sk_data_ready)(struct sock *);\n\tlong int sk_rcvtimeo;\n\tint sk_rcvlowat;\n\t__u8 __cacheline_group_end__sock_read_rx[0];\n\t__u8 __cacheline_group_begin__sock_read_rxtx[0];\n\tint sk_err;\n\tstruct socket *sk_socket;\n\tstruct mem_cgroup *sk_memcg;\n\tstruct xfrm_policy *sk_policy[2];\n\t__u8 __cacheline_group_end__sock_read_rxtx[0];\n\t__u8 __cacheline_group_begin__sock_write_rxtx[0];\n\tsocket_lock_t sk_lock;\n\tu32 sk_reserved_mem;\n\tint sk_forward_alloc;\n\tu32 sk_tsflags;\n\t__u8 __cacheline_group_end__sock_write_rxtx[0];\n\t__u8 __cacheline_group_begin__sock_write_tx[0];\n\tint sk_write_pending;\n\tatomic_t sk_omem_alloc;\n\tint sk_sndbuf;\n\tint sk_wmem_queued;\n\trefcount_t sk_wmem_alloc;\n\tlong unsigned int sk_tsq_flags;\n\tunion {\n\t\tstruct sk_buff *sk_send_head;\n\t\tstruct rb_root tcp_rtx_queue;\n\t};\n\tstruct sk_buff_head sk_write_queue;\n\tu32 sk_dst_pending_confirm;\n\tu32 sk_pacing_status;\n\tstruct page_frag sk_frag;\n\tstruct timer_list sk_timer;\n\tlong unsigned int sk_pacing_rate;\n\tatomic_t sk_zckey;\n\tatomic_t sk_tskey;\n\t__u8 __cacheline_group_end__sock_write_tx[0];\n\t__u8 __cacheline_group_begin__sock_read_tx[0];\n\tlong unsigned int sk_max_pacing_rate;\n\tlong int sk_sndtimeo;\n\tu32 sk_priority;\n\tu32 sk_mark;\n\tstruct dst_entry *sk_dst_cache;\n\tnetdev_features_t sk_route_caps;\n\tu16 sk_gso_type;\n\tu16 sk_gso_max_segs;\n\tunsigned int sk_gso_max_size;\n\tgfp_t sk_allocation;\n\tu32 sk_txhash;\n\tu8 sk_pacing_shift;\n\tbool sk_use_task_frag;\n\t__u8 __cacheline_group_end__sock_read_tx[0];\n\tu8 sk_gso_disabled: 1;\n\tu8 sk_kern_sock: 1;\n\tu8 sk_no_check_tx: 1;\n\tu8 sk_no_check_rx: 1;\n\tu8 sk_shutdown;\n\tu16 sk_type;\n\tu16 sk_protocol;\n\tlong unsigned int sk_lingertime;\n\tstruct proto *sk_prot_creator;\n\trwlock_t sk_callback_lock;\n\tint sk_err_soft;\n\tu32 sk_ack_backlog;\n\tu32 sk_max_ack_backlog;\n\tkuid_t sk_uid;\n\tspinlock_t sk_peer_lock;\n\tint sk_bind_phc;\n\tstruct pid *sk_peer_pid;\n\tconst struct cred *sk_peer_cred;\n\tktime_t sk_stamp;\n\tint sk_disconnects;\n\tu8 sk_txrehash;\n\tu8 sk_clockid;\n\tu8 sk_txtime_deadline_mode: 1;\n\tu8 sk_txtime_report_errors: 1;\n\tu8 sk_txtime_unused: 6;\n\tvoid *sk_user_data;\n\tvoid *sk_security;\n\tstruct sock_cgroup_data sk_cgrp_data;\n\tvoid (*sk_state_change)(struct sock *);\n\tvoid (*sk_write_space)(struct sock *);\n\tvoid (*sk_error_report)(struct sock *);\n\tint (*sk_backlog_rcv)(struct sock *, struct sk_buff *);\n\tvoid (*sk_destruct)(struct sock *);\n\tstruct sock_reuseport *sk_reuseport_cb;\n\tstruct bpf_local_storage *sk_bpf_storage;\n\tstruct callback_head sk_rcu;\n\tnetns_tracker ns_tracker;\n\tstruct xarray sk_user_frags;\n};\n\nstruct alg_sock {\n\tstruct sock sk;\n\tstruct sock *parent;\n\tatomic_t refcnt;\n\tatomic_t nokey_refcnt;\n\tconst struct af_alg_type *type;\n\tvoid *private;\n};\n\nstruct alg_type_list {\n\tconst struct af_alg_type *type;\n\tstruct list_head list;\n};\n\nstruct alias_prop {\n\tstruct list_head link;\n\tconst char *alias;\n\tstruct device_node *np;\n\tint id;\n\tchar stem[0];\n};\n\nstruct aligned_lock {\n\tunion {\n\t\tspinlock_t lock;\n\t\tu8 cacheline_padding[64];\n\t};\n};\n\nstruct zonelist;\n\nstruct zoneref;\n\nstruct alloc_context {\n\tstruct zonelist *zonelist;\n\tnodemask_t *nodemask;\n\tstruct zoneref *preferred_zoneref;\n\tint migratetype;\n\tenum zone_type highest_zoneidx;\n\tbool spread_dirty_pages;\n};\n\nstruct codetag {\n\tunsigned int flags;\n\tunsigned int lineno;\n\tconst char *modname;\n\tconst char *function;\n\tconst char *filename;\n};\n\nstruct alloc_tag_counters;\n\nstruct alloc_tag {\n\tstruct codetag ct;\n\tstruct alloc_tag_counters *counters;\n};\n\nstruct alloc_tag_counters {\n\tu64 bytes;\n\tu64 calls;\n};\n\nstruct alps_bitmap_point {\n\tint start_bit;\n\tint num_bits;\n};\n\nstruct delayed_work {\n\tstruct work_struct work;\n\tstruct timer_list timer;\n\tstruct workqueue_struct *wq;\n\tint cpu;\n};\n\nstruct input_mt_pos {\n\ts16 x;\n\ts16 y;\n};\n\nstruct alps_fields {\n\tunsigned int x_map;\n\tunsigned int y_map;\n\tunsigned int fingers;\n\tint pressure;\n\tstruct input_mt_pos st;\n\tstruct input_mt_pos mt[4];\n\tunsigned int first_mp: 1;\n\tunsigned int is_mp: 1;\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int ts_left: 1;\n\tunsigned int ts_right: 1;\n\tunsigned int ts_middle: 1;\n};\n\nstruct psmouse;\n\nstruct alps_nibble_commands;\n\nstruct alps_data {\n\tstruct psmouse *psmouse;\n\tstruct input_dev *dev2;\n\tstruct input_dev *dev3;\n\tchar phys2[32];\n\tchar phys3[32];\n\tstruct delayed_work dev3_register_work;\n\tconst struct alps_nibble_commands *nibble_commands;\n\tint addr_command;\n\tu16 proto_version;\n\tu8 byte0;\n\tu8 mask0;\n\tu8 dev_id[3];\n\tu8 fw_ver[3];\n\tint flags;\n\tint x_max;\n\tint y_max;\n\tint x_bits;\n\tint y_bits;\n\tunsigned int x_res;\n\tunsigned int y_res;\n\tint (*hw_init)(struct psmouse *);\n\tvoid (*process_packet)(struct psmouse *);\n\tint (*decode_fields)(struct alps_fields *, unsigned char *, struct psmouse *);\n\tvoid (*set_abs_params)(struct alps_data *, struct input_dev *);\n\tint prev_fin;\n\tint multi_packet;\n\tint second_touch;\n\tunsigned char multi_data[6];\n\tstruct alps_fields f;\n\tu8 quirks;\n\tstruct timer_list timer;\n};\n\nstruct alps_protocol_info {\n\tu16 version;\n\tu8 byte0;\n\tu8 mask0;\n\tunsigned int flags;\n};\n\nstruct alps_model_info {\n\tu8 signature[3];\n\tstruct alps_protocol_info protocol_info;\n};\n\nstruct alps_nibble_commands {\n\tint command;\n\tunsigned char data;\n};\n\nstruct alt_entry {\n\ts32 old_offset;\n\ts32 alt_offset;\n\tu16 vendor_id;\n\tu16 alt_len;\n\tu32 patch_id;\n};\n\nstruct amba_cs_uci_id {\n\tunsigned int devarch;\n\tunsigned int devarch_mask;\n\tunsigned int devtype;\n\tvoid *data;\n};\n\nstruct device_dma_parameters {\n\tunsigned int max_segment_size;\n\tunsigned int min_align_mask;\n\tlong unsigned int segment_boundary_mask;\n};\n\nstruct amba_device {\n\tstruct device dev;\n\tstruct resource res;\n\tstruct clk *pclk;\n\tstruct device_dma_parameters dma_parms;\n\tunsigned int periphid;\n\tstruct mutex periphid_lock;\n\tunsigned int cid;\n\tstruct amba_cs_uci_id uci;\n\tunsigned int irq[9];\n\tconst char *driver_override;\n};\n\nstruct amba_id;\n\nstruct amba_driver {\n\tstruct device_driver drv;\n\tint (*probe)(struct amba_device *, const struct amba_id *);\n\tvoid (*remove)(struct amba_device *);\n\tvoid (*shutdown)(struct amba_device *);\n\tconst struct amba_id *id_table;\n\tbool driver_managed_dma;\n};\n\nstruct amba_id {\n\tunsigned int id;\n\tunsigned int mask;\n\tvoid *data;\n};\n\nstruct aml_resource_small_header {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_large_header {\n\tu8 descriptor_type;\n\tu16 resource_length;\n} __attribute__((packed));\n\nstruct aml_resource_irq {\n\tu8 descriptor_type;\n\tu16 irq_mask;\n\tu8 flags;\n} __attribute__((packed));\n\nstruct aml_resource_dma {\n\tu8 descriptor_type;\n\tu8 dma_channel_mask;\n\tu8 flags;\n};\n\nstruct aml_resource_start_dependent {\n\tu8 descriptor_type;\n\tu8 flags;\n};\n\nstruct aml_resource_end_dependent {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_io {\n\tu8 descriptor_type;\n\tu8 flags;\n\tu16 minimum;\n\tu16 maximum;\n\tu8 alignment;\n\tu8 address_length;\n};\n\nstruct aml_resource_fixed_io {\n\tu8 descriptor_type;\n\tu16 address;\n\tu8 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_fixed_dma {\n\tu8 descriptor_type;\n\tu16 request_lines;\n\tu16 channels;\n\tu8 width;\n} __attribute__((packed));\n\nstruct aml_resource_vendor_small {\n\tu8 descriptor_type;\n};\n\nstruct aml_resource_end_tag {\n\tu8 descriptor_type;\n\tu8 checksum;\n};\n\nstruct aml_resource_memory24 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 alignment;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_generic_register {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 address_space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_size;\n\tu64 address;\n} __attribute__((packed));\n\nstruct aml_resource_vendor_large {\n\tu8 descriptor_type;\n\tu16 resource_length;\n} __attribute__((packed));\n\nstruct aml_resource_memory32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 alignment;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_fixed_memory32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu32 address;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address16 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu16 granularity;\n\tu16 minimum;\n\tu16 maximum;\n\tu16 translation_offset;\n\tu16 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address32 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu32 granularity;\n\tu32 minimum;\n\tu32 maximum;\n\tu32 translation_offset;\n\tu32 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_address64 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n} __attribute__((packed));\n\nstruct aml_resource_extended_address64 {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n\tu8 revision_ID;\n\tu8 reserved;\n\tu64 granularity;\n\tu64 minimum;\n\tu64 maximum;\n\tu64 translation_offset;\n\tu64 address_length;\n\tu64 type_specific;\n} __attribute__((packed));\n\nstruct aml_resource_extended_irq {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 flags;\n\tu8 interrupt_count;\n\tunion {\n\t\tu32 interrupt;\n\t\tstruct {\n\t\t\tstruct {} __Empty_interrupts;\n\t\t\tu32 interrupts[0];\n\t\t};\n\t};\n} __attribute__((packed));\n\nstruct aml_resource_gpio {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 connection_type;\n\tu16 flags;\n\tu16 int_flags;\n\tu8 pin_config;\n\tu16 drive_strength;\n\tu16 debounce_timeout;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_i2c_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 connection_speed;\n\tu16 slave_address;\n} __attribute__((packed));\n\nstruct aml_resource_spi_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 connection_speed;\n\tu8 data_bit_length;\n\tu8 clock_phase;\n\tu8 clock_polarity;\n\tu16 device_selection;\n} __attribute__((packed));\n\nstruct aml_resource_uart_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n\tu32 default_baud_rate;\n\tu16 rx_fifo_size;\n\tu16 tx_fifo_size;\n\tu8 parity;\n\tu8 lines_enabled;\n} __attribute__((packed));\n\nstruct aml_resource_csi2_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n} __attribute__((packed));\n\nstruct aml_resource_common_serialbus {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu8 res_source_index;\n\tu8 type;\n\tu8 flags;\n\tu16 type_specific_flags;\n\tu8 type_revision_id;\n\tu16 type_data_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_function {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config;\n\tu16 function_number;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_config {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu16 pin_table_offset;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 pin_table_offset;\n\tu16 label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group_function {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 function_number;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 res_source_label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_pin_group_config {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu8 pin_config_type;\n\tu32 pin_config_value;\n\tu8 res_source_index;\n\tu16 res_source_offset;\n\tu16 res_source_label_offset;\n\tu16 vendor_offset;\n\tu16 vendor_length;\n} __attribute__((packed));\n\nstruct aml_resource_clock_input {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 revision_id;\n\tu16 flags;\n\tu16 frequency_divisor;\n\tu32 frequency_numerator;\n} __attribute__((packed));\n\nstruct aml_resource_address {\n\tu8 descriptor_type;\n\tu16 resource_length;\n\tu8 resource_type;\n\tu8 flags;\n\tu8 specific_flags;\n} __attribute__((packed));\n\nunion aml_resource {\n\tu8 descriptor_type;\n\tstruct aml_resource_small_header small_header;\n\tstruct aml_resource_large_header large_header;\n\tstruct aml_resource_irq irq;\n\tstruct aml_resource_dma dma;\n\tstruct aml_resource_start_dependent start_dpf;\n\tstruct aml_resource_end_dependent end_dpf;\n\tstruct aml_resource_io io;\n\tstruct aml_resource_fixed_io fixed_io;\n\tstruct aml_resource_fixed_dma fixed_dma;\n\tstruct aml_resource_vendor_small vendor_small;\n\tstruct aml_resource_end_tag end_tag;\n\tstruct aml_resource_memory24 memory24;\n\tstruct aml_resource_generic_register generic_reg;\n\tstruct aml_resource_vendor_large vendor_large;\n\tstruct aml_resource_memory32 memory32;\n\tstruct aml_resource_fixed_memory32 fixed_memory32;\n\tstruct aml_resource_address16 address16;\n\tstruct aml_resource_address32 address32;\n\tstruct aml_resource_address64 address64;\n\tstruct aml_resource_extended_address64 ext_address64;\n\tstruct aml_resource_extended_irq extended_irq;\n\tstruct aml_resource_gpio gpio;\n\tstruct aml_resource_i2c_serialbus i2c_serial_bus;\n\tstruct aml_resource_spi_serialbus spi_serial_bus;\n\tstruct aml_resource_uart_serialbus uart_serial_bus;\n\tstruct aml_resource_csi2_serialbus csi2_serial_bus;\n\tstruct aml_resource_common_serialbus common_serial_bus;\n\tstruct aml_resource_pin_function pin_function;\n\tstruct aml_resource_pin_config pin_config;\n\tstruct aml_resource_pin_group pin_group;\n\tstruct aml_resource_pin_group_function pin_group_function;\n\tstruct aml_resource_pin_group_config pin_group_config;\n\tstruct aml_resource_clock_input clock_input;\n\tstruct aml_resource_address address;\n\tu32 dword_item;\n\tu16 word_item;\n\tu8 byte_item;\n};\n\nstruct kobj_uevent_env;\n\nstruct kobj_ns_type_operations;\n\nstruct class {\n\tconst char *name;\n\tconst struct attribute_group **class_groups;\n\tconst struct attribute_group **dev_groups;\n\tint (*dev_uevent)(const struct device *, struct kobj_uevent_env *);\n\tchar * (*devnode)(const struct device *, umode_t *);\n\tvoid (*class_release)(const struct class *);\n\tvoid (*dev_release)(struct device *);\n\tint (*shutdown_pre)(struct device *);\n\tconst struct kobj_ns_type_operations *ns_type;\n\tconst void * (*namespace)(const struct device *);\n\tvoid (*get_ownership)(const struct device *, kuid_t *, kgid_t *);\n\tconst struct dev_pm_ops *pm;\n};\n\nstruct transport_container;\n\nstruct transport_class {\n\tstruct class class;\n\tint (*setup)(struct transport_container *, struct device *, struct device *);\n\tint (*configure)(struct transport_container *, struct device *, struct device *);\n\tint (*remove)(struct transport_container *, struct device *, struct device *);\n};\n\nstruct klist_node;\n\nstruct klist {\n\tspinlock_t k_lock;\n\tstruct list_head k_list;\n\tvoid (*get)(struct klist_node *);\n\tvoid (*put)(struct klist_node *);\n};\n\nstruct attribute_container {\n\tstruct list_head node;\n\tstruct klist containers;\n\tstruct class *class;\n\tconst struct attribute_group *grp;\n\tstruct device_attribute **attrs;\n\tint (*match)(struct attribute_container *, struct device *);\n\tlong unsigned int flags;\n};\n\nstruct anon_transport_class {\n\tstruct transport_class tclass;\n\tstruct attribute_container container;\n};\n\nstruct anon_vma {\n\tstruct anon_vma *root;\n\tstruct rw_semaphore rwsem;\n\tatomic_t refcount;\n\tlong unsigned int num_children;\n\tlong unsigned int num_active_vmas;\n\tstruct anon_vma *parent;\n\tstruct rb_root_cached rb_root;\n};\n\nstruct anon_vma_chain {\n\tstruct vm_area_struct *vma;\n\tstruct anon_vma *anon_vma;\n\tstruct list_head same_vma;\n\tstruct rb_node rb;\n\tlong unsigned int rb_subtree_last;\n};\n\nstruct anon_vma_name {\n\tstruct kref kref;\n\tchar name[0];\n};\n\nstruct apd_private_data;\n\nstruct apd_device_desc {\n\tunsigned int fixed_clk_rate;\n\tstruct property_entry *properties;\n\tint (*setup)(struct apd_private_data *);\n};\n\nstruct apd_private_data {\n\tstruct clk *clk;\n\tstruct acpi_device *adev;\n\tconst struct apd_device_desc *dev_desc;\n};\n\nstruct api_context {\n\tstruct completion done;\n\tint status;\n};\n\nstruct aplic_msicfg {\n\tphys_addr_t base_ppn;\n\tu32 hhxs;\n\tu32 hhxw;\n\tu32 lhxs;\n\tu32 lhxw;\n};\n\nstruct aplic_priv {\n\tstruct device *dev;\n\tu32 gsi_base;\n\tu32 nr_irqs;\n\tu32 nr_idcs;\n\tu32 acpi_aplic_id;\n\tvoid *regs;\n\tstruct aplic_msicfg msicfg;\n};\n\nstruct aplic_direct {\n\tstruct aplic_priv priv;\n\tstruct irq_domain *irqdomain;\n\tstruct cpumask lmask;\n};\n\nstruct aplic_idc {\n\tunsigned int hart_index;\n\tvoid *regs;\n\tstruct aplic_direct *direct;\n};\n\nstruct vfsmount;\n\nstruct path {\n\tstruct vfsmount *mnt;\n\tstruct dentry *dentry;\n};\n\nstruct lsm_network_audit;\n\nstruct lsm_ioctlop_audit;\n\nstruct lsm_ibpkey_audit;\n\nstruct lsm_ibendport_audit;\n\nstruct selinux_audit_data;\n\nstruct apparmor_audit_data;\n\nstruct common_audit_data {\n\tchar type;\n\tunion {\n\t\tstruct path path;\n\t\tstruct dentry *dentry;\n\t\tstruct inode *inode;\n\t\tstruct lsm_network_audit *net;\n\t\tint cap;\n\t\tint ipc_id;\n\t\tstruct task_struct *tsk;\n\t\tstruct {\n\t\t\tkey_serial_t key;\n\t\t\tchar *key_desc;\n\t\t} key_struct;\n\t\tchar *kmod_name;\n\t\tstruct lsm_ioctlop_audit *op;\n\t\tstruct file *file;\n\t\tstruct lsm_ibpkey_audit *ibpkey;\n\t\tstruct lsm_ibendport_audit *ibendport;\n\t\tint reason;\n\t\tconst char *anonclass;\n\t\tu16 nlmsg_type;\n\t} u;\n\tunion {\n\t\tstruct selinux_audit_data *selinux_audit_data;\n\t\tstruct apparmor_audit_data *apparmor_audit_data;\n\t};\n};\n\nstruct apparmor_audit_data {\n\tint error;\n\tint type;\n\tu16 class;\n\tconst char *op;\n\tconst struct cred *subj_cred;\n\tstruct aa_label *subj_label;\n\tconst char *name;\n\tconst char *info;\n\tu32 request;\n\tu32 denied;\n\tunion {\n\t\tstruct {\n\t\t\tstruct aa_label *peer;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tconst char *target;\n\t\t\t\t\tkuid_t ouid;\n\t\t\t\t} fs;\n\t\t\t\tstruct {\n\t\t\t\t\tint rlim;\n\t\t\t\t\tlong unsigned int max;\n\t\t\t\t} rlim;\n\t\t\t\tstruct {\n\t\t\t\t\tint signal;\n\t\t\t\t\tint unmappedsig;\n\t\t\t\t};\n\t\t\t\tstruct {\n\t\t\t\t\tint type;\n\t\t\t\t\tint protocol;\n\t\t\t\t\tstruct sock *peer_sk;\n\t\t\t\t\tvoid *addr;\n\t\t\t\t\tint addrlen;\n\t\t\t\t} net;\n\t\t\t};\n\t\t};\n\t\tstruct {\n\t\t\tstruct aa_profile *profile;\n\t\t\tconst char *ns;\n\t\t\tlong int pos;\n\t\t} iface;\n\t\tstruct {\n\t\t\tconst char *src_name;\n\t\t\tconst char *type;\n\t\t\tconst char *trans;\n\t\t\tconst char *data;\n\t\t\tlong unsigned int flags;\n\t\t} mnt;\n\t\tstruct {\n\t\t\tstruct aa_label *target;\n\t\t} uring;\n\t};\n\tstruct common_audit_data common;\n};\n\nstruct workqueue_attrs;\n\nstruct pool_workqueue;\n\nstruct apply_wqattrs_ctx {\n\tstruct workqueue_struct *wq;\n\tstruct workqueue_attrs *attrs;\n\tstruct list_head list;\n\tstruct pool_workqueue *dfl_pwq;\n\tstruct pool_workqueue *pwq_tbl[0];\n};\n\nstruct arch_elf_state {};\n\nstruct arch_io_reserve_memtype_wc_devres {\n\tresource_size_t start;\n\tresource_size_t size;\n};\n\nstruct arch_msi_msg_addr_hi {\n\tu32 address_hi;\n};\n\ntypedef struct arch_msi_msg_addr_hi arch_msi_msg_addr_hi_t;\n\nstruct arch_msi_msg_addr_lo {\n\tu32 address_lo;\n};\n\ntypedef struct arch_msi_msg_addr_lo arch_msi_msg_addr_lo_t;\n\nstruct arch_msi_msg_data {\n\tu32 data;\n};\n\ntypedef struct arch_msi_msg_data arch_msi_msg_data_t;\n\nstruct pt_regs;\n\ntypedef bool probes_handler_t(u32, long unsigned int, struct pt_regs *);\n\nstruct arch_probe_insn {\n\tprobe_opcode_t *insn;\n\tprobes_handler_t *handler;\n\tlong unsigned int restore;\n};\n\nstruct arch_specific_insn {\n\tint dummy;\n};\n\nstruct arch_tlbflush_unmap_batch {\n\tstruct cpumask cpumask;\n};\n\nstruct arch_uprobe {\n\tunion {\n\t\tu8 insn[8];\n\t\tu8 ixol[8];\n\t};\n\tstruct arch_probe_insn api;\n\tlong unsigned int insn_size;\n\tbool simulate;\n};\n\nstruct arch_uprobe_task {\n\tlong unsigned int saved_cause;\n};\n\nstruct arch_vdso_time_data {\n\t__u64 all_cpu_hwprobe_values[12];\n\t__u8 homogeneous_cpus;\n};\n\nstruct free_entry;\n\nstruct nd_btt;\n\nstruct arena_info {\n\tu64 size;\n\tu64 external_lba_start;\n\tu32 internal_nlba;\n\tu32 internal_lbasize;\n\tu32 external_nlba;\n\tu32 external_lbasize;\n\tu32 nfree;\n\tu16 version_major;\n\tu16 version_minor;\n\tu32 sector_size;\n\tu64 nextoff;\n\tu64 infooff;\n\tu64 dataoff;\n\tu64 mapoff;\n\tu64 logoff;\n\tu64 info2off;\n\tstruct free_entry *freelist;\n\tu32 *rtt;\n\tstruct aligned_lock *map_locks;\n\tstruct nd_btt *nd_btt;\n\tstruct list_head list;\n\tstruct dentry *debugfs_dir;\n\tu32 flags;\n\tstruct mutex err_lock;\n\tint log_index[2];\n};\n\nstruct arg_dev_net_ip {\n\tstruct net *net;\n\tstruct in6_addr *addr;\n};\n\nstruct arg_netdev_event {\n\tconst struct net_device *dev;\n\tunion {\n\t\tunsigned char nh_flags;\n\t\tlong unsigned int event;\n\t};\n};\n\nstruct args_askumount {\n\t__u32 may_umount;\n};\n\nstruct args_expire {\n\t__u32 how;\n};\n\nstruct args_fail {\n\t__u32 token;\n\t__s32 status;\n};\n\nstruct args_in {\n\t__u32 type;\n};\n\nstruct args_out {\n\t__u32 devid;\n\t__u32 magic;\n};\n\nstruct args_ismountpoint {\n\tunion {\n\t\tstruct args_in in;\n\t\tstruct args_out out;\n\t};\n};\n\nstruct args_openmount {\n\t__u32 devid;\n};\n\nstruct args_protosubver {\n\t__u32 sub_version;\n};\n\nstruct args_protover {\n\t__u32 version;\n};\n\nstruct args_ready {\n\t__u32 token;\n};\n\nstruct args_requester {\n\t__u32 uid;\n\t__u32 gid;\n};\n\nstruct args_setpipefd {\n\t__s32 pipefd;\n};\n\nstruct args_timeout {\n\t__u64 timeout;\n};\n\nstruct arm_smccc_quirk {\n\tint id;\n\tunion {\n\t\tlong unsigned int a6;\n\t} state;\n};\n\nstruct arm_smccc_res {\n\tlong unsigned int a0;\n\tlong unsigned int a1;\n\tlong unsigned int a2;\n\tlong unsigned int a3;\n};\n\nstruct arphdr {\n\t__be16 ar_hrd;\n\t__be16 ar_pro;\n\tunsigned char ar_hln;\n\tunsigned char ar_pln;\n\t__be16 ar_op;\n};\n\nstruct sockaddr {\n\tsa_family_t sa_family;\n\tunion {\n\t\tchar sa_data_min[14];\n\t\tstruct {\n\t\t\tstruct {} __empty_sa_data;\n\t\t\tchar sa_data[0];\n\t\t};\n\t};\n};\n\nstruct arpreq {\n\tstruct sockaddr arp_pa;\n\tstruct sockaddr arp_ha;\n\tint arp_flags;\n\tstruct sockaddr arp_netmask;\n\tchar arp_dev[16];\n};\n\nstruct trace_array;\n\nstruct trace_buffer;\n\nstruct trace_array_cpu;\n\nstruct array_buffer {\n\tstruct trace_array *tr;\n\tstruct trace_buffer *buffer;\n\tstruct trace_array_cpu *data;\n\tu64 time_start;\n\tint cpu;\n};\n\ntypedef int (*asn1_action_t)(void *, size_t, unsigned char, const void *, size_t);\n\nstruct asn1_decoder {\n\tconst unsigned char *machine;\n\tsize_t machlen;\n\tconst asn1_action_t *actions;\n};\n\nstruct assoc_array_ptr;\n\nstruct assoc_array {\n\tstruct assoc_array_ptr *root;\n\tlong unsigned int nr_leaves_on_tree;\n};\n\nstruct assoc_array_node;\n\nstruct assoc_array_delete_collapse_context {\n\tstruct assoc_array_node *node;\n\tconst void *skip_leaf;\n\tint slot;\n};\n\nstruct assoc_array_ops;\n\nstruct assoc_array_edit {\n\tstruct callback_head rcu;\n\tstruct assoc_array *array;\n\tconst struct assoc_array_ops *ops;\n\tconst struct assoc_array_ops *ops_for_excised_subtree;\n\tstruct assoc_array_ptr *leaf;\n\tstruct assoc_array_ptr **leaf_p;\n\tstruct assoc_array_ptr *dead_leaf;\n\tstruct assoc_array_ptr *new_meta[3];\n\tstruct assoc_array_ptr *excised_meta[1];\n\tstruct assoc_array_ptr *excised_subtree;\n\tstruct assoc_array_ptr **set_backpointers[16];\n\tstruct assoc_array_ptr *set_backpointers_to;\n\tstruct assoc_array_node *adjust_count_on;\n\tlong int adjust_count_by;\n\tstruct {\n\t\tstruct assoc_array_ptr **ptr;\n\t\tstruct assoc_array_ptr *to;\n\t} set[2];\n\tstruct {\n\t\tu8 *p;\n\t\tu8 to;\n\t} set_parent_slot[1];\n\tu8 segment_cache[17];\n};\n\nstruct assoc_array_node {\n\tstruct assoc_array_ptr *back_pointer;\n\tu8 parent_slot;\n\tstruct assoc_array_ptr *slots[16];\n\tlong unsigned int nr_leaves_on_branch;\n};\n\nstruct assoc_array_ops {\n\tlong unsigned int (*get_key_chunk)(const void *, int);\n\tlong unsigned int (*get_object_key_chunk)(const void *, int);\n\tbool (*compare_object)(const void *, const void *);\n\tint (*diff_objects)(const void *, const void *);\n\tvoid (*free_object)(void *);\n};\n\nstruct assoc_array_shortcut {\n\tstruct assoc_array_ptr *back_pointer;\n\tint parent_slot;\n\tint skip_to_level;\n\tstruct assoc_array_ptr *next_node;\n\tlong unsigned int index_key[0];\n};\n\nstruct assoc_array_walk_result {\n\tstruct {\n\t\tstruct assoc_array_node *node;\n\t\tint level;\n\t\tint slot;\n\t} terminal_node;\n\tstruct {\n\t\tstruct assoc_array_shortcut *shortcut;\n\t\tint level;\n\t\tint sc_level;\n\t\tlong unsigned int sc_segments;\n\t\tlong unsigned int dissimilarity;\n\t} wrong_shortcut;\n};\n\nstruct asym_cap_data {\n\tstruct list_head link;\n\tstruct callback_head rcu;\n\tlong unsigned int capacity;\n\tlong unsigned int cpus[0];\n};\n\nstruct usb_dev_state;\n\nstruct urb;\n\nstruct usb_memory;\n\nstruct async {\n\tstruct list_head asynclist;\n\tstruct usb_dev_state *ps;\n\tstruct pid *pid;\n\tconst struct cred *cred;\n\tunsigned int signr;\n\tunsigned int ifnum;\n\tvoid *userbuffer;\n\tvoid *userurb;\n\tsigval_t userurb_sigval;\n\tstruct urb *urb;\n\tstruct usb_memory *usbm;\n\tunsigned int mem_usage;\n\tint status;\n\tu8 bulk_addr;\n\tu8 bulk_status;\n};\n\nstruct async_domain {\n\tstruct list_head pending;\n\tunsigned int registered: 1;\n};\n\ntypedef void (*async_func_t)(void *, async_cookie_t);\n\nstruct async_entry {\n\tstruct list_head domain_list;\n\tstruct list_head global_list;\n\tstruct work_struct work;\n\tasync_cookie_t cookie;\n\tasync_func_t func;\n\tvoid *data;\n\tstruct async_domain *domain;\n};\n\nstruct io_poll {\n\tstruct file *file;\n\tstruct wait_queue_head *head;\n\t__poll_t events;\n\tint retries;\n\tstruct wait_queue_entry wait;\n};\n\nstruct async_poll {\n\tstruct io_poll poll;\n\tstruct io_poll *double_poll;\n};\n\nstruct async_scan_data {\n\tstruct list_head list;\n\tstruct Scsi_Host *shost;\n\tstruct completion prev_finished;\n};\n\nstruct ata_acpi_drive {\n\tu32 pio;\n\tu32 dma;\n};\n\nstruct ata_acpi_gtf {\n\tu8 tf[7];\n};\n\nstruct ata_acpi_gtm {\n\tstruct ata_acpi_drive drive[2];\n\tu32 flags;\n};\n\nstruct ata_device;\n\nstruct ata_acpi_hotplug_context {\n\tstruct acpi_hotplug_context hp;\n\tunion {\n\t\tstruct ata_port *ap;\n\t\tstruct ata_device *dev;\n\t} data;\n};\n\nstruct ata_bmdma_prd {\n\t__le32 addr;\n\t__le32 flags_len;\n};\n\nstruct ata_cdl {\n\tu8 desc_log_buf[512];\n\tu8 ncq_sense_log_buf[1024];\n};\n\nstruct ata_cpr {\n\tu8 num;\n\tu8 num_storage_elements;\n\tu64 start_lba;\n\tu64 num_lbas;\n};\n\nstruct ata_cpr_log {\n\tu8 nr_cpr;\n\tstruct ata_cpr cpr[0];\n};\n\nstruct ata_dev_quirks_entry {\n\tconst char *model_num;\n\tconst char *model_rev;\n\tunsigned int quirks;\n};\n\nstruct ata_ering_entry {\n\tunsigned int eflags;\n\tunsigned int err_mask;\n\tu64 timestamp;\n};\n\nstruct ata_ering {\n\tint cursor;\n\tstruct ata_ering_entry ring[32];\n};\n\nstruct scsi_device;\n\nstruct ata_device {\n\tstruct ata_link *link;\n\tunsigned int devno;\n\tunsigned int quirks;\n\tlong unsigned int flags;\n\tstruct scsi_device *sdev;\n\tvoid *private_data;\n\tunion acpi_object *gtf_cache;\n\tunsigned int gtf_filter;\n\tstruct device tdev;\n\tu64 n_sectors;\n\tu64 n_native_sectors;\n\tunsigned int class;\n\tlong unsigned int unpark_deadline;\n\tu8 pio_mode;\n\tu8 dma_mode;\n\tu8 xfer_mode;\n\tunsigned int xfer_shift;\n\tunsigned int multi_count;\n\tunsigned int max_sectors;\n\tunsigned int cdb_len;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tu16 cylinders;\n\tu16 heads;\n\tu16 sectors;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunion {\n\t\tu16 id[256];\n\t\tu32 gscr[128];\n\t};\n\tu8 devslp_timing[8];\n\tu8 ncq_send_recv_cmds[20];\n\tu8 ncq_non_data_cmds[64];\n\tu32 zac_zoned_cap;\n\tu32 zac_zones_optimal_open;\n\tu32 zac_zones_optimal_nonseq;\n\tu32 zac_zones_max_open;\n\tstruct ata_cpr_log *cpr_log;\n\tstruct ata_cdl *cdl;\n\tint spdn_cnt;\n\tstruct ata_ering ering;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 sector_buf[512];\n};\n\nstruct ata_eh_cmd_timeout_ent {\n\tconst u8 *commands;\n\tconst unsigned int *timeouts;\n};\n\nstruct ata_eh_info {\n\tstruct ata_device *dev;\n\tu32 serror;\n\tunsigned int err_mask;\n\tunsigned int action;\n\tunsigned int dev_action[2];\n\tunsigned int flags;\n\tunsigned int probe_mask;\n\tchar desc[80];\n\tint desc_len;\n};\n\nstruct ata_eh_context {\n\tstruct ata_eh_info i;\n\tint tries[2];\n\tint cmd_timeout_idx[16];\n\tunsigned int classes[2];\n\tunsigned int did_probe_mask;\n\tunsigned int unloaded_mask;\n\tunsigned int saved_ncq_enabled;\n\tu8 saved_xfer_mode[2];\n\tlong unsigned int last_reset;\n};\n\nstruct ata_force_param {\n\tconst char *name;\n\tu8 cbl;\n\tu8 spd_limit;\n\tunsigned int xfer_mask;\n\tunsigned int quirk_on;\n\tunsigned int quirk_off;\n\tu16 lflags_on;\n\tu16 lflags_off;\n};\n\nstruct ata_force_ent {\n\tint port;\n\tint device;\n\tstruct ata_force_param param;\n};\n\nstruct ata_port_operations;\n\nstruct ata_host {\n\tspinlock_t lock;\n\tstruct device *dev;\n\tvoid * const *iomap;\n\tunsigned int n_ports;\n\tunsigned int n_tags;\n\tvoid *private_data;\n\tstruct ata_port_operations *ops;\n\tlong unsigned int flags;\n\tstruct kref kref;\n\tstruct mutex eh_mutex;\n\tstruct task_struct *eh_owner;\n\tstruct ata_port *simplex_claimed;\n\tstruct ata_port *ports[0];\n};\n\nstruct transport_container {\n\tstruct attribute_container ac;\n\tconst struct attribute_group *statistics;\n};\n\nstruct scsi_transport_template {\n\tstruct transport_container host_attrs;\n\tstruct transport_container target_attrs;\n\tstruct transport_container device_attrs;\n\tint (*user_scan)(struct Scsi_Host *, uint, uint, u64);\n\tint device_size;\n\tint device_private_offset;\n\tint target_size;\n\tint target_private_offset;\n\tint host_size;\n\tunsigned int create_work_queue: 1;\n\tvoid (*eh_strategy_handler)(struct Scsi_Host *);\n};\n\nstruct ata_internal {\n\tstruct scsi_transport_template t;\n\tstruct device_attribute private_port_attrs[3];\n\tstruct device_attribute private_link_attrs[3];\n\tstruct device_attribute private_dev_attrs[9];\n\tstruct transport_container link_attr_cont;\n\tstruct transport_container dev_attr_cont;\n\tstruct device_attribute *link_attrs[4];\n\tstruct device_attribute *port_attrs[4];\n\tstruct device_attribute *dev_attrs[10];\n};\n\nstruct ata_ioports {\n\tvoid *cmd_addr;\n\tvoid *data_addr;\n\tvoid *error_addr;\n\tvoid *feature_addr;\n\tvoid *nsect_addr;\n\tvoid *lbal_addr;\n\tvoid *lbam_addr;\n\tvoid *lbah_addr;\n\tvoid *device_addr;\n\tvoid *status_addr;\n\tvoid *command_addr;\n\tvoid *altstatus_addr;\n\tvoid *ctl_addr;\n\tvoid *bmdma_addr;\n\tvoid *scr_addr;\n};\n\nstruct ata_link {\n\tstruct ata_port *ap;\n\tint pmp;\n\tstruct device tdev;\n\tunsigned int active_tag;\n\tu32 sactive;\n\tunsigned int flags;\n\tu32 saved_scontrol;\n\tunsigned int hw_sata_spd_limit;\n\tunsigned int sata_spd_limit;\n\tunsigned int sata_spd;\n\tenum ata_lpm_policy lpm_policy;\n\tstruct ata_eh_info eh_info;\n\tstruct ata_eh_context eh_context;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ata_device device[2];\n\tlong unsigned int last_lpm_change;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ata_taskfile {\n\tlong unsigned int flags;\n\tu8 protocol;\n\tu8 ctl;\n\tu8 hob_feature;\n\tu8 hob_nsect;\n\tu8 hob_lbal;\n\tu8 hob_lbam;\n\tu8 hob_lbah;\n\tunion {\n\t\tu8 error;\n\t\tu8 feature;\n\t};\n\tu8 nsect;\n\tu8 lbal;\n\tu8 lbam;\n\tu8 lbah;\n\tu8 device;\n\tunion {\n\t\tu8 status;\n\t\tu8 command;\n\t};\n\tu32 auxiliary;\n};\n\nstruct ata_queued_cmd;\n\ntypedef void (*ata_qc_cb_t)(struct ata_queued_cmd *);\n\nstruct scsi_cmnd;\n\nstruct ata_queued_cmd {\n\tstruct ata_port *ap;\n\tstruct ata_device *dev;\n\tstruct scsi_cmnd *scsicmd;\n\tvoid (*scsidone)(struct scsi_cmnd *);\n\tstruct ata_taskfile tf;\n\tu8 cdb[16];\n\tlong unsigned int flags;\n\tunsigned int tag;\n\tunsigned int hw_tag;\n\tunsigned int n_elem;\n\tunsigned int orig_n_elem;\n\tint dma_dir;\n\tunsigned int sect_size;\n\tunsigned int nbytes;\n\tunsigned int extrabytes;\n\tunsigned int curbytes;\n\tstruct scatterlist sgent;\n\tstruct scatterlist *sg;\n\tstruct scatterlist *cursg;\n\tunsigned int cursg_ofs;\n\tunsigned int err_mask;\n\tstruct ata_taskfile result_tf;\n\tata_qc_cb_t complete_fn;\n\tvoid *private_data;\n\tvoid *lldd_task;\n};\n\nstruct ata_port_stats {\n\tlong unsigned int unhandled_irq;\n\tlong unsigned int idle_irq;\n\tlong unsigned int rw_reqbuf;\n};\n\nstruct ata_port {\n\tstruct Scsi_Host *scsi_host;\n\tstruct ata_port_operations *ops;\n\tspinlock_t *lock;\n\tlong unsigned int flags;\n\tunsigned int pflags;\n\tunsigned int print_id;\n\tunsigned int port_no;\n\tstruct ata_ioports ioaddr;\n\tu8 ctl;\n\tu8 last_ctl;\n\tstruct ata_link *sff_pio_task_link;\n\tstruct delayed_work sff_pio_task;\n\tstruct ata_bmdma_prd *bmdma_prd;\n\tdma_addr_t bmdma_prd_dma;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tunsigned int cbl;\n\tstruct ata_queued_cmd qcmd[33];\n\tu64 qc_active;\n\tint nr_active_links;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ata_link link;\n\tstruct ata_link *slave_link;\n\tint nr_pmp_links;\n\tstruct ata_link *pmp_link;\n\tstruct ata_link *excl_link;\n\tstruct ata_port_stats stats;\n\tstruct ata_host *host;\n\tstruct device *dev;\n\tstruct device tdev;\n\tstruct mutex scsi_scan_mutex;\n\tstruct delayed_work hotplug_task;\n\tstruct delayed_work scsi_rescan_task;\n\tunsigned int hsm_task_state;\n\tstruct list_head eh_done_q;\n\twait_queue_head_t eh_wait_q;\n\tint eh_tries;\n\tstruct completion park_req_pending;\n\tpm_message_t pm_mesg;\n\tenum ata_lpm_policy target_lpm_policy;\n\tstruct timer_list fastdrain_timer;\n\tunsigned int fastdrain_cnt;\n\tasync_cookie_t cookie;\n\tint em_message_type;\n\tvoid *private_data;\n\tstruct ata_acpi_gtm __acpi_init_gtm;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ata_port_info {\n\tlong unsigned int flags;\n\tlong unsigned int link_flags;\n\tunsigned int pio_mask;\n\tunsigned int mwdma_mask;\n\tunsigned int udma_mask;\n\tstruct ata_port_operations *port_ops;\n\tvoid *private_data;\n};\n\ntypedef int (*ata_prereset_fn_t)(struct ata_link *, long unsigned int);\n\ntypedef int (*ata_reset_fn_t)(struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*ata_postreset_fn_t)(struct ata_link *, unsigned int *);\n\nstruct ata_port_operations {\n\tint (*qc_defer)(struct ata_queued_cmd *);\n\tint (*check_atapi_dma)(struct ata_queued_cmd *);\n\tenum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *);\n\tunsigned int (*qc_issue)(struct ata_queued_cmd *);\n\tvoid (*qc_fill_rtf)(struct ata_queued_cmd *);\n\tvoid (*qc_ncq_fill_rtf)(struct ata_port *, u64);\n\tint (*cable_detect)(struct ata_port *);\n\tunsigned int (*mode_filter)(struct ata_device *, unsigned int);\n\tvoid (*set_piomode)(struct ata_port *, struct ata_device *);\n\tvoid (*set_dmamode)(struct ata_port *, struct ata_device *);\n\tint (*set_mode)(struct ata_link *, struct ata_device **);\n\tunsigned int (*read_id)(struct ata_device *, struct ata_taskfile *, __le16 *);\n\tvoid (*dev_config)(struct ata_device *);\n\tvoid (*freeze)(struct ata_port *);\n\tvoid (*thaw)(struct ata_port *);\n\tata_prereset_fn_t prereset;\n\tata_reset_fn_t softreset;\n\tata_reset_fn_t hardreset;\n\tata_postreset_fn_t postreset;\n\tata_prereset_fn_t pmp_prereset;\n\tata_reset_fn_t pmp_softreset;\n\tata_reset_fn_t pmp_hardreset;\n\tata_postreset_fn_t pmp_postreset;\n\tvoid (*error_handler)(struct ata_port *);\n\tvoid (*lost_interrupt)(struct ata_port *);\n\tvoid (*post_internal_cmd)(struct ata_queued_cmd *);\n\tvoid (*sched_eh)(struct ata_port *);\n\tvoid (*end_eh)(struct ata_port *);\n\tint (*scr_read)(struct ata_link *, unsigned int, u32 *);\n\tint (*scr_write)(struct ata_link *, unsigned int, u32);\n\tvoid (*pmp_attach)(struct ata_port *);\n\tvoid (*pmp_detach)(struct ata_port *);\n\tint (*set_lpm)(struct ata_link *, enum ata_lpm_policy, unsigned int);\n\tint (*port_suspend)(struct ata_port *, pm_message_t);\n\tint (*port_resume)(struct ata_port *);\n\tint (*port_start)(struct ata_port *);\n\tvoid (*port_stop)(struct ata_port *);\n\tvoid (*host_stop)(struct ata_host *);\n\tvoid (*sff_dev_select)(struct ata_port *, unsigned int);\n\tvoid (*sff_set_devctl)(struct ata_port *, u8);\n\tu8 (*sff_check_status)(struct ata_port *);\n\tu8 (*sff_check_altstatus)(struct ata_port *);\n\tvoid (*sff_tf_load)(struct ata_port *, const struct ata_taskfile *);\n\tvoid (*sff_tf_read)(struct ata_port *, struct ata_taskfile *);\n\tvoid (*sff_exec_command)(struct ata_port *, const struct ata_taskfile *);\n\tunsigned int (*sff_data_xfer)(struct ata_queued_cmd *, unsigned char *, unsigned int, int);\n\tvoid (*sff_irq_on)(struct ata_port *);\n\tbool (*sff_irq_check)(struct ata_port *);\n\tvoid (*sff_irq_clear)(struct ata_port *);\n\tvoid (*sff_drain_fifo)(struct ata_queued_cmd *);\n\tvoid (*bmdma_setup)(struct ata_queued_cmd *);\n\tvoid (*bmdma_start)(struct ata_queued_cmd *);\n\tvoid (*bmdma_stop)(struct ata_queued_cmd *);\n\tu8 (*bmdma_status)(struct ata_port *);\n\tssize_t (*em_show)(struct ata_port *, char *);\n\tssize_t (*em_store)(struct ata_port *, const char *, size_t);\n\tssize_t (*sw_activity_show)(struct ata_device *, char *);\n\tssize_t (*sw_activity_store)(struct ata_device *, enum sw_activity);\n\tssize_t (*transmit_led_message)(struct ata_port *, u32, ssize_t);\n\tconst struct ata_port_operations *inherits;\n};\n\nstruct ata_show_ering_arg {\n\tchar *buf;\n\tint written;\n};\n\nstruct ata_timing {\n\tshort unsigned int mode;\n\tshort unsigned int setup;\n\tshort unsigned int act8b;\n\tshort unsigned int rec8b;\n\tshort unsigned int cyc8b;\n\tshort unsigned int active;\n\tshort unsigned int recover;\n\tshort unsigned int dmack_hold;\n\tshort unsigned int cycle;\n\tshort unsigned int udma;\n};\n\nstruct ata_xfer_ent {\n\tint shift;\n\tint bits;\n\tu8 base;\n};\n\nstruct ps2dev;\n\ntypedef enum ps2_disposition (*ps2_pre_receive_handler_t)(struct ps2dev *, u8, unsigned int);\n\ntypedef void (*ps2_receive_handler_t)(struct ps2dev *, u8);\n\nstruct serio;\n\nstruct ps2dev {\n\tstruct serio *serio;\n\tstruct mutex cmd_mutex;\n\twait_queue_head_t wait;\n\tlong unsigned int flags;\n\tu8 cmdbuf[8];\n\tu8 cmdcnt;\n\tu8 nak;\n\tps2_pre_receive_handler_t pre_receive_handler;\n\tps2_receive_handler_t receive_handler;\n};\n\nstruct vivaldi_data {\n\tu32 function_row_physmap[24];\n\tunsigned int num_function_row_keys;\n};\n\nstruct atkbd {\n\tstruct ps2dev ps2dev;\n\tstruct input_dev *dev;\n\tchar name[64];\n\tchar phys[32];\n\tshort unsigned int id;\n\tshort unsigned int keycode[512];\n\tlong unsigned int force_release_mask[8];\n\tunsigned char set;\n\tbool translated;\n\tbool extra;\n\tbool write;\n\tbool softrepeat;\n\tbool softraw;\n\tbool scroll;\n\tbool enabled;\n\tunsigned char emul;\n\tbool resend;\n\tbool release;\n\tlong unsigned int xl_bit;\n\tunsigned int last;\n\tlong unsigned int time;\n\tlong unsigned int err_count;\n\tstruct delayed_work event_work;\n\tlong unsigned int event_jiffies;\n\tlong unsigned int event_mask;\n\tstruct mutex mutex;\n\tstruct vivaldi_data vdata;\n};\n\nstruct atomic_notifier_head {\n\tspinlock_t lock;\n\tstruct notifier_block *head;\n};\n\nstruct attribute_group {\n\tconst char *name;\n\tumode_t (*is_visible)(struct kobject *, struct attribute *, int);\n\tumode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int);\n\tsize_t (*bin_size)(struct kobject *, const struct bin_attribute *, int);\n\tstruct attribute **attrs;\n\tunion {\n\t\tstruct bin_attribute **bin_attrs;\n\t\tconst struct bin_attribute * const *bin_attrs_new;\n\t};\n};\n\nstruct audit_aux_data {\n\tstruct audit_aux_data *next;\n\tint type;\n};\n\nstruct audit_cap_data {\n\tkernel_cap_t permitted;\n\tkernel_cap_t inheritable;\n\tunion {\n\t\tunsigned int fE;\n\t\tkernel_cap_t effective;\n\t};\n\tkernel_cap_t ambient;\n\tkuid_t rootid;\n};\n\nstruct audit_aux_data_bprm_fcaps {\n\tstruct audit_aux_data d;\n\tstruct audit_cap_data fcap;\n\tunsigned int fcap_ver;\n\tstruct audit_cap_data old_pcap;\n\tstruct audit_cap_data new_pcap;\n};\n\nstruct lsm_prop_selinux {\n\tu32 secid;\n};\n\nstruct lsm_prop_smack {};\n\nstruct lsm_prop_apparmor {\n\tstruct aa_label *label;\n};\n\nstruct lsm_prop_bpf {};\n\nstruct lsm_prop {\n\tstruct lsm_prop_selinux selinux;\n\tstruct lsm_prop_smack smack;\n\tstruct lsm_prop_apparmor apparmor;\n\tstruct lsm_prop_bpf bpf;\n};\n\nstruct audit_aux_data_pids {\n\tstruct audit_aux_data d;\n\tpid_t target_pid[16];\n\tkuid_t target_auid[16];\n\tkuid_t target_uid[16];\n\tunsigned int target_sessionid[16];\n\tstruct lsm_prop target_ref[16];\n\tchar target_comm[256];\n\tint pid_count;\n};\n\nstruct audit_context;\n\nstruct audit_buffer {\n\tstruct sk_buff *skb;\n\tstruct audit_context *ctx;\n\tgfp_t gfp_mask;\n};\n\nstruct audit_cache {\n\tconst struct cred *ad_subj_cred;\n\tu64 ktime_ns_expiration[41];\n};\n\nstruct audit_tree;\n\nstruct audit_node {\n\tstruct list_head list;\n\tstruct audit_tree *owner;\n\tunsigned int index;\n};\n\nstruct fsnotify_mark;\n\nstruct audit_chunk {\n\tstruct list_head hash;\n\tlong unsigned int key;\n\tstruct fsnotify_mark *mark;\n\tstruct list_head trees;\n\tint count;\n\tatomic_long_t refs;\n\tstruct callback_head head;\n\tstruct audit_node owners[0];\n};\n\nstruct timespec64 {\n\ttime64_t tv_sec;\n\tlong int tv_nsec;\n};\n\nstruct filename;\n\nstruct audit_names {\n\tstruct list_head list;\n\tstruct filename *name;\n\tint name_len;\n\tbool hidden;\n\tlong unsigned int ino;\n\tdev_t dev;\n\tumode_t mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tdev_t rdev;\n\tstruct lsm_prop oprop;\n\tstruct audit_cap_data fcap;\n\tunsigned int fcap_ver;\n\tunsigned char type;\n\tbool should_free;\n};\n\nstruct mq_attr {\n\t__kernel_long_t mq_flags;\n\t__kernel_long_t mq_maxmsg;\n\t__kernel_long_t mq_msgsize;\n\t__kernel_long_t mq_curmsgs;\n\t__kernel_long_t __reserved[4];\n};\n\nstruct open_how {\n\t__u64 flags;\n\t__u64 mode;\n\t__u64 resolve;\n};\n\nstruct audit_ntp_val {\n\tlong long int oldval;\n\tlong long int newval;\n};\n\nstruct audit_ntp_data {\n\tstruct audit_ntp_val vals[6];\n};\n\nstruct audit_proctitle {\n\tint len;\n\tchar *value;\n};\n\nstruct audit_tree_refs;\n\nstruct audit_context {\n\tint dummy;\n\tenum {\n\t\tAUDIT_CTX_UNUSED = 0,\n\t\tAUDIT_CTX_SYSCALL = 1,\n\t\tAUDIT_CTX_URING = 2,\n\t} context;\n\tenum audit_state state;\n\tenum audit_state current_state;\n\tunsigned int serial;\n\tint major;\n\tint uring_op;\n\tstruct timespec64 ctime;\n\tlong unsigned int argv[4];\n\tlong int return_code;\n\tu64 prio;\n\tint return_valid;\n\tstruct audit_names preallocated_names[5];\n\tint name_count;\n\tstruct list_head names_list;\n\tchar *filterkey;\n\tstruct path pwd;\n\tstruct audit_aux_data *aux;\n\tstruct audit_aux_data *aux_pids;\n\tstruct __kernel_sockaddr_storage *sockaddr;\n\tsize_t sockaddr_len;\n\tpid_t ppid;\n\tkuid_t uid;\n\tkuid_t euid;\n\tkuid_t suid;\n\tkuid_t fsuid;\n\tkgid_t gid;\n\tkgid_t egid;\n\tkgid_t sgid;\n\tkgid_t fsgid;\n\tlong unsigned int personality;\n\tint arch;\n\tpid_t target_pid;\n\tkuid_t target_auid;\n\tkuid_t target_uid;\n\tunsigned int target_sessionid;\n\tstruct lsm_prop target_ref;\n\tchar target_comm[16];\n\tstruct audit_tree_refs *trees;\n\tstruct audit_tree_refs *first_trees;\n\tstruct list_head killed_trees;\n\tint tree_count;\n\tint type;\n\tunion {\n\t\tstruct {\n\t\t\tint nargs;\n\t\t\tlong int args[6];\n\t\t} socketcall;\n\t\tstruct {\n\t\t\tkuid_t uid;\n\t\t\tkgid_t gid;\n\t\t\tumode_t mode;\n\t\t\tstruct lsm_prop oprop;\n\t\t\tint has_perm;\n\t\t\tuid_t perm_uid;\n\t\t\tgid_t perm_gid;\n\t\t\tumode_t perm_mode;\n\t\t\tlong unsigned int qbytes;\n\t\t} ipc;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tstruct mq_attr mqstat;\n\t\t} mq_getsetattr;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tint sigev_signo;\n\t\t} mq_notify;\n\t\tstruct {\n\t\t\tmqd_t mqdes;\n\t\t\tsize_t msg_len;\n\t\t\tunsigned int msg_prio;\n\t\t\tstruct timespec64 abs_timeout;\n\t\t} mq_sendrecv;\n\t\tstruct {\n\t\t\tint oflag;\n\t\t\tumode_t mode;\n\t\t\tstruct mq_attr attr;\n\t\t} mq_open;\n\t\tstruct {\n\t\t\tpid_t pid;\n\t\t\tstruct audit_cap_data cap;\n\t\t} capset;\n\t\tstruct {\n\t\t\tint fd;\n\t\t\tint flags;\n\t\t} mmap;\n\t\tstruct open_how openat2;\n\t\tstruct {\n\t\t\tint argc;\n\t\t} execve;\n\t\tstruct {\n\t\t\tchar *name;\n\t\t} module;\n\t\tstruct {\n\t\t\tstruct audit_ntp_data ntp_data;\n\t\t\tstruct timespec64 tk_injoffset;\n\t\t} time;\n\t};\n\tint fds[2];\n\tstruct audit_proctitle proctitle;\n};\n\nstruct audit_ctl_mutex {\n\tstruct mutex lock;\n\tvoid *owner;\n};\n\nstruct audit_field;\n\nstruct audit_watch;\n\nstruct audit_fsnotify_mark;\n\nstruct audit_krule {\n\tu32 pflags;\n\tu32 flags;\n\tu32 listnr;\n\tu32 action;\n\tu32 mask[64];\n\tu32 buflen;\n\tu32 field_count;\n\tchar *filterkey;\n\tstruct audit_field *fields;\n\tstruct audit_field *arch_f;\n\tstruct audit_field *inode_f;\n\tstruct audit_watch *watch;\n\tstruct audit_tree *tree;\n\tstruct audit_fsnotify_mark *exe;\n\tstruct list_head rlist;\n\tstruct list_head list;\n\tu64 prio;\n};\n\nstruct audit_entry {\n\tstruct list_head list;\n\tstruct callback_head rcu;\n\tstruct audit_krule rule;\n};\n\nstruct audit_features {\n\t__u32 vers;\n\t__u32 mask;\n\t__u32 features;\n\t__u32 lock;\n};\n\nstruct audit_field {\n\tu32 type;\n\tunion {\n\t\tu32 val;\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t\tstruct {\n\t\t\tchar *lsm_str;\n\t\t\tvoid *lsm_rule;\n\t\t};\n\t};\n\tu32 op;\n};\n\nstruct fsnotify_group;\n\nstruct fsnotify_mark_connector;\n\nstruct fsnotify_mark {\n\t__u32 mask;\n\trefcount_t refcnt;\n\tstruct fsnotify_group *group;\n\tstruct list_head g_list;\n\tspinlock_t lock;\n\tstruct hlist_node obj_list;\n\tstruct fsnotify_mark_connector *connector;\n\t__u32 ignore_mask;\n\tunsigned int flags;\n};\n\nstruct audit_fsnotify_mark {\n\tdev_t dev;\n\tlong unsigned int ino;\n\tchar *path;\n\tstruct fsnotify_mark mark;\n\tstruct audit_krule *rule;\n};\n\nstruct audit_net {\n\tstruct sock *sk;\n};\n\nstruct audit_netlink_list {\n\t__u32 portid;\n\tstruct net *net;\n\tstruct sk_buff_head q;\n};\n\nstruct audit_nfcfgop_tab {\n\tenum audit_nfcfgop op;\n\tconst char *s;\n};\n\nstruct audit_parent {\n\tstruct list_head watches;\n\tstruct fsnotify_mark mark;\n};\n\nstruct audit_reply {\n\t__u32 portid;\n\tstruct net *net;\n\tstruct sk_buff *skb;\n};\n\nstruct audit_rule_data {\n\t__u32 flags;\n\t__u32 action;\n\t__u32 field_count;\n\t__u32 mask[64];\n\t__u32 fields[64];\n\t__u32 values[64];\n\t__u32 fieldflags[64];\n\t__u32 buflen;\n\tchar buf[0];\n};\n\nstruct audit_sig_info {\n\tuid_t uid;\n\tpid_t pid;\n\tchar ctx[0];\n};\n\nstruct audit_status {\n\t__u32 mask;\n\t__u32 enabled;\n\t__u32 failure;\n\t__u32 pid;\n\t__u32 rate_limit;\n\t__u32 backlog_limit;\n\t__u32 lost;\n\t__u32 backlog;\n\tunion {\n\t\t__u32 version;\n\t\t__u32 feature_bitmap;\n\t};\n\t__u32 backlog_wait_time;\n\t__u32 backlog_wait_time_actual;\n};\n\nstruct audit_tree {\n\trefcount_t count;\n\tint goner;\n\tstruct audit_chunk *root;\n\tstruct list_head chunks;\n\tstruct list_head rules;\n\tstruct list_head list;\n\tstruct list_head same_root;\n\tstruct callback_head head;\n\tchar pathname[0];\n};\n\nstruct audit_tree_mark {\n\tstruct fsnotify_mark mark;\n\tstruct audit_chunk *chunk;\n};\n\nstruct audit_tree_refs {\n\tstruct audit_tree_refs *next;\n\tstruct audit_chunk *c[31];\n};\n\nstruct audit_tty_status {\n\t__u32 enabled;\n\t__u32 log_passwd;\n};\n\nstruct audit_watch {\n\trefcount_t count;\n\tdev_t dev;\n\tchar *path;\n\tlong unsigned int ino;\n\tstruct audit_parent *parent;\n\tstruct list_head wlist;\n\tstruct list_head rules;\n};\n\nstruct auditd_connection {\n\tstruct pid *pid;\n\tu32 portid;\n\tstruct net *net;\n\tstruct callback_head rcu;\n};\n\nstruct auth_cred {\n\tconst struct cred *cred;\n\tconst char *principal;\n};\n\nstruct auth_ops;\n\nstruct auth_domain {\n\tstruct kref ref;\n\tstruct hlist_node hash;\n\tchar *name;\n\tstruct auth_ops *flavour;\n\tstruct callback_head callback_head;\n};\n\nstruct svc_rqst;\n\nstruct auth_ops {\n\tchar *name;\n\tstruct module *owner;\n\tint flavour;\n\tenum svc_auth_status (*accept)(struct svc_rqst *);\n\tint (*release)(struct svc_rqst *);\n\tvoid (*domain_release)(struct auth_domain *);\n\tenum svc_auth_status (*set_client)(struct svc_rqst *);\n\trpc_authflavor_t (*pseudoflavor)(struct svc_rqst *);\n};\n\nstruct autofs_dev_ioctl {\n\t__u32 ver_major;\n\t__u32 ver_minor;\n\t__u32 size;\n\t__s32 ioctlfd;\n\tunion {\n\t\tstruct args_protover protover;\n\t\tstruct args_protosubver protosubver;\n\t\tstruct args_openmount openmount;\n\t\tstruct args_ready ready;\n\t\tstruct args_fail fail;\n\t\tstruct args_setpipefd setpipefd;\n\t\tstruct args_timeout timeout;\n\t\tstruct args_requester requester;\n\t\tstruct args_expire expire;\n\t\tstruct args_askumount askumount;\n\t\tstruct args_ismountpoint ismountpoint;\n\t};\n\tchar path[0];\n};\n\nstruct autofs_fs_context {\n\tkuid_t uid;\n\tkgid_t gid;\n\tint pgrp;\n\tbool pgrp_set;\n};\n\nstruct autofs_sb_info;\n\nstruct autofs_info {\n\tstruct dentry *dentry;\n\tint flags;\n\tstruct completion expire_complete;\n\tstruct list_head active;\n\tstruct list_head expiring;\n\tstruct autofs_sb_info *sbi;\n\tlong unsigned int exp_timeout;\n\tlong unsigned int last_used;\n\tint count;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct callback_head rcu;\n};\n\nstruct autofs_packet_hdr {\n\tint proto_version;\n\tint type;\n};\n\nstruct autofs_packet_expire {\n\tstruct autofs_packet_hdr hdr;\n\tint len;\n\tchar name[256];\n};\n\nstruct autofs_packet_expire_multi {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\tint len;\n\tchar name[256];\n};\n\nstruct autofs_packet_missing {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\tint len;\n\tchar name[256];\n};\n\nunion autofs_packet_union {\n\tstruct autofs_packet_hdr hdr;\n\tstruct autofs_packet_missing missing;\n\tstruct autofs_packet_expire expire;\n\tstruct autofs_packet_expire_multi expire_multi;\n};\n\nstruct super_block;\n\nstruct autofs_wait_queue;\n\nstruct autofs_sb_info {\n\tu32 magic;\n\tint pipefd;\n\tstruct file *pipe;\n\tstruct pid *oz_pgrp;\n\tint version;\n\tint sub_version;\n\tint min_proto;\n\tint max_proto;\n\tunsigned int flags;\n\tlong unsigned int exp_timeout;\n\tunsigned int type;\n\tstruct super_block *sb;\n\tstruct mutex wq_mutex;\n\tstruct mutex pipe_mutex;\n\tspinlock_t fs_lock;\n\tstruct autofs_wait_queue *queues;\n\tspinlock_t lookup_lock;\n\tstruct list_head active_list;\n\tstruct list_head expiring_list;\n\tstruct callback_head rcu;\n};\n\nstruct autofs_v5_packet {\n\tstruct autofs_packet_hdr hdr;\n\tautofs_wqt_t wait_queue_token;\n\t__u32 dev;\n\t__u64 ino;\n\t__u32 uid;\n\t__u32 gid;\n\t__u32 pid;\n\t__u32 tgid;\n\t__u32 len;\n\tchar name[256];\n};\n\ntypedef struct autofs_v5_packet autofs_packet_expire_direct_t;\n\ntypedef struct autofs_v5_packet autofs_packet_expire_indirect_t;\n\ntypedef struct autofs_v5_packet autofs_packet_missing_direct_t;\n\ntypedef struct autofs_v5_packet autofs_packet_missing_indirect_t;\n\nunion autofs_v5_packet_union {\n\tstruct autofs_packet_hdr hdr;\n\tstruct autofs_v5_packet v5_packet;\n\tautofs_packet_missing_indirect_t missing_indirect;\n\tautofs_packet_expire_indirect_t expire_indirect;\n\tautofs_packet_missing_direct_t missing_direct;\n\tautofs_packet_expire_direct_t expire_direct;\n};\n\nstruct qstr {\n\tunion {\n\t\tstruct {\n\t\t\tu32 hash;\n\t\t\tu32 len;\n\t\t};\n\t\tu64 hash_len;\n\t};\n\tconst unsigned char *name;\n};\n\nstruct autofs_wait_queue {\n\twait_queue_head_t queue;\n\tstruct autofs_wait_queue *next;\n\tautofs_wqt_t wait_queue_token;\n\tstruct qstr name;\n\tu32 offset;\n\tu32 dev;\n\tu64 ino;\n\tkuid_t uid;\n\tkgid_t gid;\n\tpid_t pid;\n\tpid_t tgid;\n\tint status;\n\tunsigned int wait_ctr;\n};\n\nstruct auxiliary_device {\n\tstruct device dev;\n\tconst char *name;\n\tu32 id;\n\tstruct {\n\t\tstruct xarray irqs;\n\t\tstruct mutex lock;\n\t\tbool irq_dir_exists;\n\t} sysfs;\n};\n\nstruct auxiliary_device_id {\n\tchar name[32];\n\tkernel_ulong_t driver_data;\n};\n\nstruct auxiliary_driver {\n\tint (*probe)(struct auxiliary_device *, const struct auxiliary_device_id *);\n\tvoid (*remove)(struct auxiliary_device *);\n\tvoid (*shutdown)(struct auxiliary_device *);\n\tint (*suspend)(struct auxiliary_device *, pm_message_t);\n\tint (*resume)(struct auxiliary_device *);\n\tconst char *name;\n\tstruct device_driver driver;\n\tconst struct auxiliary_device_id *id_table;\n};\n\nstruct auxiliary_irq_info {\n\tstruct device_attribute sysfs_attr;\n\tchar name[11];\n};\n\nstruct av_decision {\n\tu32 allowed;\n\tu32 auditallow;\n\tu32 auditdeny;\n\tu32 seqno;\n\tu32 flags;\n};\n\nstruct hlist_head {\n\tstruct hlist_node *first;\n};\n\nstruct avc_cache {\n\tstruct hlist_head slots[512];\n\tspinlock_t slots_lock[512];\n\tatomic_t lru_hint;\n\tatomic_t active_nodes;\n\tu32 latest_notif;\n};\n\nstruct avc_cache_stats {\n\tunsigned int lookups;\n\tunsigned int misses;\n\tunsigned int allocations;\n\tunsigned int reclaims;\n\tunsigned int frees;\n};\n\nstruct avc_callback_node {\n\tint (*callback)(u32);\n\tu32 events;\n\tstruct avc_callback_node *next;\n};\n\nstruct avc_xperms_node;\n\nstruct avc_entry {\n\tu32 ssid;\n\tu32 tsid;\n\tu16 tclass;\n\tstruct av_decision avd;\n\tstruct avc_xperms_node *xp_node;\n};\n\nstruct avc_node {\n\tstruct avc_entry ae;\n\tstruct hlist_node list;\n\tstruct callback_head rhead;\n};\n\nstruct extended_perms_data;\n\nstruct extended_perms_decision {\n\tu8 used;\n\tu8 driver;\n\tu8 base_perm;\n\tstruct extended_perms_data *allowed;\n\tstruct extended_perms_data *auditallow;\n\tstruct extended_perms_data *dontaudit;\n};\n\nstruct avc_xperms_decision_node {\n\tstruct extended_perms_decision xpd;\n\tstruct list_head xpd_list;\n};\n\nstruct extended_perms_data {\n\tu32 p[8];\n};\n\nstruct extended_perms {\n\tu16 len;\n\tu8 base_perms;\n\tstruct extended_perms_data drivers;\n};\n\nstruct avc_xperms_node {\n\tstruct extended_perms xp;\n\tstruct list_head xpd_head;\n};\n\nstruct avtab_node;\n\nstruct avtab {\n\tstruct avtab_node **htable;\n\tu32 nel;\n\tu32 nslot;\n\tu32 mask;\n};\n\nstruct avtab_extended_perms;\n\nstruct avtab_datum {\n\tunion {\n\t\tu32 data;\n\t\tstruct avtab_extended_perms *xperms;\n\t} u;\n};\n\nstruct avtab_extended_perms {\n\tu8 specified;\n\tu8 driver;\n\tstruct extended_perms_data perms;\n};\n\nstruct avtab_key {\n\tu16 source_type;\n\tu16 target_type;\n\tu16 target_class;\n\tu16 specified;\n};\n\nstruct avtab_node {\n\tstruct avtab_key key;\n\tstruct avtab_datum datum;\n\tstruct avtab_node *next;\n};\n\nstruct dma_device;\n\nstruct dma_chan_dev;\n\nstruct dma_chan_percpu;\n\nstruct dma_router;\n\nstruct dma_chan {\n\tstruct dma_device *device;\n\tstruct device *slave;\n\tdma_cookie_t cookie;\n\tdma_cookie_t completed_cookie;\n\tint chan_id;\n\tstruct dma_chan_dev *dev;\n\tconst char *name;\n\tchar *dbg_client_name;\n\tstruct list_head device_node;\n\tstruct dma_chan_percpu *local;\n\tint client_count;\n\tint table_count;\n\tstruct dma_router *router;\n\tvoid *route_data;\n\tvoid *private;\n};\n\nstruct tasklet_struct {\n\tstruct tasklet_struct *next;\n\tlong unsigned int state;\n\tatomic_t count;\n\tbool use_callback;\n\tunion {\n\t\tvoid (*func)(long unsigned int);\n\t\tvoid (*callback)(struct tasklet_struct *);\n\t};\n\tlong unsigned int data;\n};\n\nstruct virt_dma_desc;\n\nstruct virt_dma_chan {\n\tstruct dma_chan chan;\n\tstruct tasklet_struct task;\n\tvoid (*desc_free)(struct virt_dma_desc *);\n\tspinlock_t lock;\n\tstruct list_head desc_allocated;\n\tstruct list_head desc_submitted;\n\tstruct list_head desc_issued;\n\tstruct list_head desc_completed;\n\tstruct list_head desc_terminated;\n\tstruct virt_dma_desc *cyclic;\n};\n\nstruct dma_slave_config {\n\tenum dma_transfer_direction direction;\n\tphys_addr_t src_addr;\n\tphys_addr_t dst_addr;\n\tenum dma_slave_buswidth src_addr_width;\n\tenum dma_slave_buswidth dst_addr_width;\n\tu32 src_maxburst;\n\tu32 dst_maxburst;\n\tu32 src_port_window_size;\n\tu32 dst_port_window_size;\n\tbool device_fc;\n\tvoid *peripheral_config;\n\tsize_t peripheral_size;\n};\n\nstruct axi_dma_chip;\n\nstruct dma_pool;\n\nstruct axi_dma_desc;\n\nstruct axi_dma_chan {\n\tstruct axi_dma_chip *chip;\n\tvoid *chan_regs;\n\tu8 id;\n\tu8 hw_handshake_num;\n\tatomic_t descs_allocated;\n\tstruct dma_pool *desc_pool;\n\tstruct virt_dma_chan vc;\n\tstruct axi_dma_desc *desc;\n\tstruct dma_slave_config config;\n\tenum dma_transfer_direction direction;\n\tbool cyclic;\n\tbool is_paused;\n};\n\nstruct axi_dma_chan_config {\n\tu8 dst_multblk_type;\n\tu8 src_multblk_type;\n\tu8 dst_per;\n\tu8 src_per;\n\tu8 tt_fc;\n\tu8 prior;\n\tu8 hs_sel_dst;\n\tu8 hs_sel_src;\n};\n\nstruct dw_axi_dma;\n\nstruct axi_dma_chip {\n\tstruct device *dev;\n\tint irq[32];\n\tvoid *regs;\n\tvoid *apb_regs;\n\tstruct clk *core_clk;\n\tstruct clk *cfgr_clk;\n\tstruct dw_axi_dma *dw;\n};\n\ntypedef void (*dma_async_tx_callback)(void *);\n\nstruct dmaengine_result;\n\ntypedef void (*dma_async_tx_callback_result)(void *, const struct dmaengine_result *);\n\nstruct dmaengine_unmap_data;\n\nstruct dma_descriptor_metadata_ops;\n\nstruct dma_async_tx_descriptor {\n\tdma_cookie_t cookie;\n\tenum dma_ctrl_flags flags;\n\tdma_addr_t phys;\n\tstruct dma_chan *chan;\n\tdma_cookie_t (*tx_submit)(struct dma_async_tx_descriptor *);\n\tint (*desc_free)(struct dma_async_tx_descriptor *);\n\tdma_async_tx_callback callback;\n\tdma_async_tx_callback_result callback_result;\n\tvoid *callback_param;\n\tstruct dmaengine_unmap_data *unmap;\n\tenum dma_desc_metadata_mode desc_metadata_mode;\n\tstruct dma_descriptor_metadata_ops *metadata_ops;\n};\n\nstruct dmaengine_result {\n\tenum dmaengine_tx_result result;\n\tu32 residue;\n};\n\nstruct virt_dma_desc {\n\tstruct dma_async_tx_descriptor tx;\n\tstruct dmaengine_result tx_result;\n\tstruct list_head node;\n};\n\nstruct axi_dma_hw_desc;\n\nstruct axi_dma_desc {\n\tstruct axi_dma_hw_desc *hw_desc;\n\tstruct virt_dma_desc vd;\n\tstruct axi_dma_chan *chan;\n\tu32 completed_blocks;\n\tu32 length;\n\tu32 period_len;\n\tu32 nr_hw_descs;\n};\n\nstruct axi_dma_lli;\n\nstruct axi_dma_hw_desc {\n\tstruct axi_dma_lli *lli;\n\tdma_addr_t llp;\n\tu32 len;\n};\n\nstruct axi_dma_lli {\n\t__le64 sar;\n\t__le64 dar;\n\t__le32 block_ts_lo;\n\t__le32 block_ts_hi;\n\t__le64 llp;\n\t__le32 ctl_lo;\n\t__le32 ctl_hi;\n\t__le32 sstat;\n\t__le32 dstat;\n\t__le32 status_lo;\n\t__le32 status_hi;\n\t__le32 reserved_lo;\n\t__le32 reserved_hi;\n};\n\nstruct regmap;\n\nstruct regmap_irq_chip_data;\n\nstruct mfd_cell;\n\nstruct regmap_config;\n\nstruct regmap_irq_chip;\n\nstruct axp20x_dev {\n\tstruct device *dev;\n\tint irq;\n\tlong unsigned int irq_flags;\n\tstruct regmap *regmap;\n\tstruct regmap_irq_chip_data *regmap_irqc;\n\tenum axp20x_variants variant;\n\tint nr_cells;\n\tconst struct mfd_cell *cells;\n\tconst struct regmap_config *regmap_cfg;\n\tconst struct regmap_irq_chip *regmap_irq_chip;\n};\n\nstruct backing_aio {\n\tstruct kiocb iocb;\n\trefcount_t ref;\n\tstruct kiocb *orig_iocb;\n\tvoid (*end_write)(struct kiocb *, ssize_t);\n\tstruct work_struct work;\n\tlong int res;\n};\n\nstruct percpu_counter {\n\traw_spinlock_t lock;\n\ts64 count;\n\tstruct list_head list;\n\ts32 *counters;\n};\n\nstruct fprop_local_percpu {\n\tstruct percpu_counter events;\n\tunsigned int period;\n\traw_spinlock_t lock;\n};\n\nstruct percpu_ref_data;\n\nstruct percpu_ref {\n\tlong unsigned int percpu_count_ptr;\n\tstruct percpu_ref_data *data;\n};\n\nstruct backing_dev_info;\n\nstruct cgroup_subsys_state;\n\nstruct bdi_writeback {\n\tstruct backing_dev_info *bdi;\n\tlong unsigned int state;\n\tlong unsigned int last_old_flush;\n\tstruct list_head b_dirty;\n\tstruct list_head b_io;\n\tstruct list_head b_more_io;\n\tstruct list_head b_dirty_time;\n\tspinlock_t list_lock;\n\tatomic_t writeback_inodes;\n\tstruct percpu_counter stat[4];\n\tlong unsigned int bw_time_stamp;\n\tlong unsigned int dirtied_stamp;\n\tlong unsigned int written_stamp;\n\tlong unsigned int write_bandwidth;\n\tlong unsigned int avg_write_bandwidth;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int balanced_dirty_ratelimit;\n\tstruct fprop_local_percpu completions;\n\tint dirty_exceeded;\n\tenum wb_reason start_all_reason;\n\tspinlock_t work_lock;\n\tstruct list_head work_list;\n\tstruct delayed_work dwork;\n\tstruct delayed_work bw_dwork;\n\tstruct list_head bdi_node;\n\tstruct percpu_ref refcnt;\n\tstruct fprop_local_percpu memcg_completions;\n\tstruct cgroup_subsys_state *memcg_css;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct list_head memcg_node;\n\tstruct list_head blkcg_node;\n\tstruct list_head b_attached;\n\tstruct list_head offline_node;\n\tunion {\n\t\tstruct work_struct release_work;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct backing_dev_info {\n\tu64 id;\n\tstruct rb_node rb_node;\n\tstruct list_head bdi_list;\n\tlong unsigned int ra_pages;\n\tlong unsigned int io_pages;\n\tstruct kref refcnt;\n\tunsigned int capabilities;\n\tunsigned int min_ratio;\n\tunsigned int max_ratio;\n\tunsigned int max_prop_frac;\n\tatomic_long_t tot_write_bandwidth;\n\tlong unsigned int last_bdp_sleep;\n\tstruct bdi_writeback wb;\n\tstruct list_head wb_list;\n\tstruct xarray cgwb_tree;\n\tstruct mutex cgwb_release_mutex;\n\tstruct rw_semaphore wb_switch_rwsem;\n\twait_queue_head_t wb_waitq;\n\tstruct device *dev;\n\tchar dev_name[64];\n\tstruct device *owner;\n\tstruct timer_list laptop_mode_wb_timer;\n\tstruct dentry *debug_dir;\n};\n\nstruct file_ra_state {\n\tlong unsigned int start;\n\tunsigned int size;\n\tunsigned int async_size;\n\tunsigned int ra_pages;\n\tunsigned int mmap_miss;\n\tloff_t prev_pos;\n};\n\nstruct fown_struct;\n\nstruct file {\n\tfile_ref_t f_ref;\n\tspinlock_t f_lock;\n\tfmode_t f_mode;\n\tconst struct file_operations *f_op;\n\tstruct address_space *f_mapping;\n\tvoid *private_data;\n\tstruct inode *f_inode;\n\tunsigned int f_flags;\n\tunsigned int f_iocb_flags;\n\tconst struct cred *f_cred;\n\tstruct path f_path;\n\tunion {\n\t\tstruct mutex f_pos_lock;\n\t\tu64 f_pipe;\n\t};\n\tloff_t f_pos;\n\tvoid *f_security;\n\tstruct fown_struct *f_owner;\n\terrseq_t f_wb_err;\n\terrseq_t f_sb_err;\n\tstruct hlist_head *f_ep;\n\tunion {\n\t\tstruct callback_head f_task_work;\n\t\tstruct llist_node f_llist;\n\t\tstruct file_ra_state f_ra;\n\t\tfreeptr_t f_freeptr;\n\t};\n};\n\nstruct backing_file {\n\tstruct file file;\n\tunion {\n\t\tstruct path user_path;\n\t\tfreeptr_t bf_freeptr;\n\t};\n};\n\nstruct backing_file_ctx {\n\tconst struct cred *cred;\n\tvoid (*accessed)(struct file *);\n\tvoid (*end_write)(struct kiocb *, ssize_t);\n};\n\nstruct bpf_verifier_env;\n\nstruct backtrack_state {\n\tstruct bpf_verifier_env *env;\n\tu32 frame;\n\tu32 reg_masks[8];\n\tu64 stack_masks[8];\n};\n\nstruct badblocks {\n\tstruct device *dev;\n\tint count;\n\tint unacked_exist;\n\tint shift;\n\tu64 *page;\n\tint changed;\n\tseqlock_t lock;\n\tsector_t sector;\n\tsector_t size;\n};\n\nstruct badblocks_context {\n\tsector_t start;\n\tsector_t len;\n\tint ack;\n};\n\nstruct badrange {\n\tstruct list_head list;\n\tspinlock_t lock;\n};\n\nstruct badrange_entry {\n\tu64 start;\n\tu64 length;\n\tstruct list_head list;\n};\n\nstruct balance_callback {\n\tstruct balance_callback *next;\n\tvoid (*func)(struct rq *);\n};\n\nstruct balloon_dev_info {\n\tlong unsigned int isolated_pages;\n\tspinlock_t pages_lock;\n\tstruct list_head pages;\n\tint (*migratepage)(struct balloon_dev_info *, struct page *, struct page *, enum migrate_mode);\n};\n\nstruct batadv_unicast_packet {\n\t__u8 packet_type;\n\t__u8 version;\n\t__u8 ttl;\n\t__u8 ttvn;\n\t__u8 dest[6];\n};\n\nstruct batch_u16 {\n\tu16 entropy[48];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u32 {\n\tu32 entropy[24];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u64 {\n\tu64 entropy[12];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct batch_u8 {\n\tu8 entropy[96];\n\tlocal_lock_t lock;\n\tlong unsigned int generation;\n\tunsigned int position;\n};\n\nstruct bd_holder_disk {\n\tstruct list_head list;\n\tstruct kobject *holder_dir;\n\tint refcnt;\n};\n\nstruct gendisk;\n\nstruct request_queue;\n\nstruct disk_stats;\n\nstruct blk_holder_ops;\n\nstruct partition_meta_info;\n\nstruct block_device {\n\tsector_t bd_start_sect;\n\tsector_t bd_nr_sectors;\n\tstruct gendisk *bd_disk;\n\tstruct request_queue *bd_queue;\n\tstruct disk_stats *bd_stats;\n\tlong unsigned int bd_stamp;\n\tatomic_t __bd_flags;\n\tdev_t bd_dev;\n\tstruct address_space *bd_mapping;\n\tatomic_t bd_openers;\n\tspinlock_t bd_size_lock;\n\tvoid *bd_claiming;\n\tvoid *bd_holder;\n\tconst struct blk_holder_ops *bd_holder_ops;\n\tstruct mutex bd_holder_lock;\n\tint bd_holders;\n\tstruct kobject *bd_holder_dir;\n\tatomic_t bd_fsfreeze_count;\n\tstruct mutex bd_fsfreeze_mutex;\n\tstruct partition_meta_info *bd_meta_info;\n\tint bd_writers;\n\tvoid *bd_security;\n\tstruct device bd_device;\n};\n\nstruct posix_acl;\n\nstruct inode_operations;\n\nstruct file_lock_context;\n\nstruct pipe_inode_info;\n\nstruct cdev;\n\nstruct inode {\n\tumode_t i_mode;\n\tshort unsigned int i_opflags;\n\tkuid_t i_uid;\n\tkgid_t i_gid;\n\tunsigned int i_flags;\n\tstruct posix_acl *i_acl;\n\tstruct posix_acl *i_default_acl;\n\tconst struct inode_operations *i_op;\n\tstruct super_block *i_sb;\n\tstruct address_space *i_mapping;\n\tvoid *i_security;\n\tlong unsigned int i_ino;\n\tunion {\n\t\tconst unsigned int i_nlink;\n\t\tunsigned int __i_nlink;\n\t};\n\tdev_t i_rdev;\n\tloff_t i_size;\n\ttime64_t i_atime_sec;\n\ttime64_t i_mtime_sec;\n\ttime64_t i_ctime_sec;\n\tu32 i_atime_nsec;\n\tu32 i_mtime_nsec;\n\tu32 i_ctime_nsec;\n\tu32 i_generation;\n\tspinlock_t i_lock;\n\tshort unsigned int i_bytes;\n\tu8 i_blkbits;\n\tenum rw_hint i_write_hint;\n\tblkcnt_t i_blocks;\n\tu32 i_state;\n\tstruct rw_semaphore i_rwsem;\n\tlong unsigned int dirtied_when;\n\tlong unsigned int dirtied_time_when;\n\tstruct hlist_node i_hash;\n\tstruct list_head i_io_list;\n\tstruct bdi_writeback *i_wb;\n\tint i_wb_frn_winner;\n\tu16 i_wb_frn_avg_time;\n\tu16 i_wb_frn_history;\n\tstruct list_head i_lru;\n\tstruct list_head i_sb_list;\n\tstruct list_head i_wb_list;\n\tunion {\n\t\tstruct hlist_head i_dentry;\n\t\tstruct callback_head i_rcu;\n\t};\n\tatomic64_t i_version;\n\tatomic64_t i_sequence;\n\tatomic_t i_count;\n\tatomic_t i_dio_count;\n\tatomic_t i_writecount;\n\tatomic_t i_readcount;\n\tunion {\n\t\tconst struct file_operations *i_fop;\n\t\tvoid (*free_inode)(struct inode *);\n\t};\n\tstruct file_lock_context *i_flctx;\n\tstruct address_space i_data;\n\tunion {\n\t\tstruct list_head i_devices;\n\t\tint i_linklen;\n\t};\n\tunion {\n\t\tstruct pipe_inode_info *i_pipe;\n\t\tstruct cdev *i_cdev;\n\t\tchar *i_link;\n\t\tunsigned int i_dir_seq;\n\t};\n\t__u32 i_fsnotify_mask;\n\tstruct fsnotify_mark_connector *i_fsnotify_marks;\n\tvoid *i_private;\n};\n\nstruct bdev_inode {\n\tstruct block_device bdev;\n\tstruct inode vfs_inode;\n};\n\nstruct bfq_sched_data;\n\nstruct bfq_queue;\n\nstruct bfq_entity {\n\tstruct rb_node rb_node;\n\tbool on_st_or_in_serv;\n\tu64 start;\n\tu64 finish;\n\tstruct rb_root *tree;\n\tu64 min_start;\n\tint service;\n\tint budget;\n\tint allocated;\n\tint dev_weight;\n\tint weight;\n\tint new_weight;\n\tint orig_weight;\n\tstruct bfq_entity *parent;\n\tstruct bfq_sched_data *my_sched_data;\n\tstruct bfq_sched_data *sched_data;\n\tint prio_changed;\n\tbool in_groups_with_pending_reqs;\n\tstruct bfq_queue *last_bfqq_created;\n};\n\nstruct bfq_ttime {\n\tu64 last_end_request;\n\tu64 ttime_total;\n\tlong unsigned int ttime_samples;\n\tu64 ttime_mean;\n};\n\nstruct bfq_data;\n\nstruct request;\n\nstruct bfq_weight_counter;\n\nstruct bfq_io_cq;\n\nstruct bfq_queue {\n\tint ref;\n\tint stable_ref;\n\tstruct bfq_data *bfqd;\n\tshort unsigned int ioprio;\n\tshort unsigned int ioprio_class;\n\tshort unsigned int new_ioprio;\n\tshort unsigned int new_ioprio_class;\n\tu64 last_serv_time_ns;\n\tunsigned int inject_limit;\n\tlong unsigned int decrease_time_jif;\n\tstruct bfq_queue *new_bfqq;\n\tstruct rb_node pos_node;\n\tstruct rb_root *pos_root;\n\tstruct rb_root sort_list;\n\tstruct request *next_rq;\n\tint queued[2];\n\tint meta_pending;\n\tstruct list_head fifo;\n\tstruct bfq_entity entity;\n\tstruct bfq_weight_counter *weight_counter;\n\tint max_budget;\n\tlong unsigned int budget_timeout;\n\tint dispatched;\n\tlong unsigned int flags;\n\tstruct list_head bfqq_list;\n\tstruct bfq_ttime ttime;\n\tu64 io_start_time;\n\tu64 tot_idle_time;\n\tu32 seek_history;\n\tstruct hlist_node burst_list_node;\n\tsector_t last_request_pos;\n\tunsigned int requests_within_timer;\n\tpid_t pid;\n\tstruct bfq_io_cq *bic;\n\tlong unsigned int wr_cur_max_time;\n\tlong unsigned int soft_rt_next_start;\n\tlong unsigned int last_wr_start_finish;\n\tunsigned int wr_coeff;\n\tlong unsigned int last_idle_bklogged;\n\tlong unsigned int service_from_backlogged;\n\tlong unsigned int service_from_wr;\n\tlong unsigned int wr_start_at_switch_to_srt;\n\tlong unsigned int split_time;\n\tlong unsigned int first_IO_time;\n\tlong unsigned int creation_time;\n\tstruct bfq_queue *waker_bfqq;\n\tstruct bfq_queue *tentative_waker_bfqq;\n\tunsigned int num_waker_detections;\n\tu64 waker_detection_started;\n\tstruct hlist_node woken_list_node;\n\tstruct hlist_head woken_list;\n\tunsigned int actuator_idx;\n};\n\nstruct blk_independent_access_range {\n\tstruct kobject kobj;\n\tsector_t sector;\n\tsector_t nr_sectors;\n};\n\nstruct bfq_group;\n\nstruct bfq_data {\n\tstruct request_queue *queue;\n\tstruct list_head dispatch;\n\tstruct bfq_group *root_group;\n\tstruct rb_root_cached queue_weights_tree;\n\tunsigned int num_groups_with_pending_reqs;\n\tunsigned int busy_queues[3];\n\tint wr_busy_queues;\n\tint queued;\n\tint tot_rq_in_driver;\n\tint rq_in_driver[8];\n\tbool nonrot_with_queueing;\n\tint max_rq_in_driver;\n\tint hw_tag_samples;\n\tint hw_tag;\n\tint budgets_assigned;\n\tstruct hrtimer idle_slice_timer;\n\tstruct bfq_queue *in_service_queue;\n\tsector_t last_position;\n\tsector_t in_serv_last_pos;\n\tu64 last_completion;\n\tstruct bfq_queue *last_completed_rq_bfqq;\n\tstruct bfq_queue *last_bfqq_created;\n\tu64 last_empty_occupied_ns;\n\tbool wait_dispatch;\n\tstruct request *waited_rq;\n\tbool rqs_injected;\n\tu64 first_dispatch;\n\tu64 last_dispatch;\n\tktime_t last_budget_start;\n\tktime_t last_idling_start;\n\tlong unsigned int last_idling_start_jiffies;\n\tint peak_rate_samples;\n\tu32 sequential_samples;\n\tu64 tot_sectors_dispatched;\n\tu32 last_rq_max_size;\n\tu64 delta_from_first;\n\tu32 peak_rate;\n\tint bfq_max_budget;\n\tstruct list_head active_list[8];\n\tstruct list_head idle_list;\n\tu64 bfq_fifo_expire[2];\n\tunsigned int bfq_back_penalty;\n\tunsigned int bfq_back_max;\n\tu32 bfq_slice_idle;\n\tint bfq_user_max_budget;\n\tunsigned int bfq_timeout;\n\tbool strict_guarantees;\n\tlong unsigned int last_ins_in_burst;\n\tlong unsigned int bfq_burst_interval;\n\tint burst_size;\n\tstruct bfq_entity *burst_parent_entity;\n\tlong unsigned int bfq_large_burst_thresh;\n\tbool large_burst;\n\tstruct hlist_head burst_list;\n\tbool low_latency;\n\tunsigned int bfq_wr_coeff;\n\tunsigned int bfq_wr_rt_max_time;\n\tunsigned int bfq_wr_min_idle_time;\n\tlong unsigned int bfq_wr_min_inter_arr_async;\n\tunsigned int bfq_wr_max_softrt_rate;\n\tu64 rate_dur_prod;\n\tstruct bfq_queue oom_bfqq;\n\tspinlock_t lock;\n\tstruct bfq_io_cq *bio_bic;\n\tstruct bfq_queue *bio_bfqq;\n\tunsigned int word_depths[4];\n\tunsigned int full_depth_shift;\n\tunsigned int num_actuators;\n\tsector_t sector[8];\n\tsector_t nr_sectors[8];\n\tstruct blk_independent_access_range ia_ranges[8];\n\tunsigned int actuator_load_threshold;\n};\n\nstruct blkcg_gq;\n\nstruct blkg_policy_data {\n\tstruct blkcg_gq *blkg;\n\tint plid;\n\tbool online;\n};\n\nstruct bfq_service_tree {\n\tstruct rb_root active;\n\tstruct rb_root idle;\n\tstruct bfq_entity *first_idle;\n\tstruct bfq_entity *last_idle;\n\tu64 vtime;\n\tlong unsigned int wsum;\n};\n\nstruct bfq_sched_data {\n\tstruct bfq_entity *in_service_entity;\n\tstruct bfq_entity *next_in_service;\n\tstruct bfq_service_tree service_tree[3];\n\tlong unsigned int bfq_class_idle_last_service;\n};\n\nstruct blkg_rwstat {\n\tstruct percpu_counter cpu_cnt[5];\n\tatomic64_t aux_cnt[5];\n};\n\nstruct bfqg_stats {\n\tstruct blkg_rwstat bytes;\n\tstruct blkg_rwstat ios;\n};\n\nstruct bfq_group {\n\tstruct blkg_policy_data pd;\n\trefcount_t ref;\n\tstruct bfq_entity entity;\n\tstruct bfq_sched_data sched_data;\n\tstruct bfq_data *bfqd;\n\tstruct bfq_queue *async_bfqq[128];\n\tstruct bfq_queue *async_idle_bfqq[8];\n\tstruct bfq_entity *my_entity;\n\tint active_entities;\n\tint num_queues_with_pending_reqs;\n\tstruct rb_root rq_pos_tree;\n\tstruct bfqg_stats stats;\n};\n\nstruct blkcg;\n\nstruct blkcg_policy_data {\n\tstruct blkcg *blkcg;\n\tint plid;\n};\n\nstruct bfq_group_data {\n\tstruct blkcg_policy_data pd;\n\tunsigned int weight;\n};\n\nstruct io_context;\n\nstruct kmem_cache;\n\nstruct io_cq {\n\tstruct request_queue *q;\n\tstruct io_context *ioc;\n\tunion {\n\t\tstruct list_head q_node;\n\t\tstruct kmem_cache *__rcu_icq_cache;\n\t};\n\tunion {\n\t\tstruct hlist_node ioc_node;\n\t\tstruct callback_head __rcu_head;\n\t};\n\tunsigned int flags;\n};\n\nstruct bfq_iocq_bfqq_data {\n\tbool saved_has_short_ttime;\n\tbool saved_IO_bound;\n\tu64 saved_io_start_time;\n\tu64 saved_tot_idle_time;\n\tbool saved_in_large_burst;\n\tbool was_in_burst_list;\n\tunsigned int saved_weight;\n\tlong unsigned int saved_wr_coeff;\n\tlong unsigned int saved_last_wr_start_finish;\n\tlong unsigned int saved_service_from_wr;\n\tlong unsigned int saved_wr_start_at_switch_to_srt;\n\tunsigned int saved_wr_cur_max_time;\n\tstruct bfq_ttime saved_ttime;\n\tu64 saved_last_serv_time_ns;\n\tunsigned int saved_inject_limit;\n\tlong unsigned int saved_decrease_time_jif;\n\tstruct bfq_queue *stable_merge_bfqq;\n\tbool stably_merged;\n};\n\nstruct bfq_io_cq {\n\tstruct io_cq icq;\n\tstruct bfq_queue *bfqq[16];\n\tint ioprio;\n\tuint64_t blkcg_serial_nr;\n\tstruct bfq_iocq_bfqq_data bfqq_data[8];\n\tunsigned int requests;\n};\n\nstruct bfq_weight_counter {\n\tunsigned int weight;\n\tunsigned int num_active;\n\tstruct rb_node weights_node;\n};\n\nstruct bgl_lock {\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bh_accounting {\n\tint nr;\n\tint ratelimit;\n};\n\nstruct bh_lru {\n\tstruct buffer_head *bhs[16];\n};\n\nstruct bictcp {\n\tu32 cnt;\n\tu32 last_max_cwnd;\n\tu32 last_cwnd;\n\tu32 last_time;\n\tu32 bic_origin_point;\n\tu32 bic_K;\n\tu32 delay_min;\n\tu32 epoch_start;\n\tu32 ack_cnt;\n\tu32 tcp_cwnd;\n\tu16 unused;\n\tu8 sample_cnt;\n\tu8 found;\n\tu32 round_start;\n\tu32 end_seq;\n\tu32 last_ack;\n\tu32 curr_rtt;\n};\n\nstruct bvec_iter {\n\tsector_t bi_sector;\n\tunsigned int bi_size;\n\tunsigned int bi_idx;\n\tunsigned int bi_bvec_done;\n} __attribute__((packed));\n\nstruct bio;\n\ntypedef void bio_end_io_t(struct bio *);\n\nstruct bio_issue {\n\tu64 value;\n};\n\nstruct bio_vec {\n\tstruct page *bv_page;\n\tunsigned int bv_len;\n\tunsigned int bv_offset;\n};\n\nstruct bio_set;\n\nstruct bio {\n\tstruct bio *bi_next;\n\tstruct block_device *bi_bdev;\n\tblk_opf_t bi_opf;\n\tshort unsigned int bi_flags;\n\tshort unsigned int bi_ioprio;\n\tenum rw_hint bi_write_hint;\n\tblk_status_t bi_status;\n\tatomic_t __bi_remaining;\n\tstruct bvec_iter bi_iter;\n\tunion {\n\t\tblk_qc_t bi_cookie;\n\t\tunsigned int __bi_nr_segments;\n\t};\n\tbio_end_io_t *bi_end_io;\n\tvoid *bi_private;\n\tstruct blkcg_gq *bi_blkg;\n\tstruct bio_issue bi_issue;\n\tshort unsigned int bi_vcnt;\n\tshort unsigned int bi_max_vecs;\n\tatomic_t __bi_cnt;\n\tstruct bio_vec *bi_io_vec;\n\tstruct bio_set *bi_pool;\n\tstruct bio_vec bi_inline_vecs[0];\n};\n\nstruct bio_alloc_cache {\n\tstruct bio *free_list;\n\tstruct bio *free_list_irq;\n\tunsigned int nr;\n\tunsigned int nr_irq;\n};\n\nstruct bio_integrity_payload {\n\tstruct bio *bip_bio;\n\tstruct bvec_iter bip_iter;\n\tshort unsigned int bip_vcnt;\n\tshort unsigned int bip_max_vcnt;\n\tshort unsigned int bip_flags;\n\tu16 app_tag;\n\tstruct bvec_iter bio_iter;\n\tstruct work_struct bip_work;\n\tstruct bio_vec *bip_vec;\n\tstruct bio_vec bip_inline_vecs[0];\n};\n\nstruct bio_list {\n\tstruct bio *head;\n\tstruct bio *tail;\n};\n\nstruct iovec {\n\tvoid *iov_base;\n\t__kernel_size_t iov_len;\n};\n\nstruct kvec;\n\nstruct folio_queue;\n\nstruct iov_iter {\n\tu8 iter_type;\n\tbool nofault;\n\tbool data_source;\n\tsize_t iov_offset;\n\tunion {\n\t\tstruct iovec __ubuf_iovec;\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tconst struct iovec *__iov;\n\t\t\t\tconst struct kvec *kvec;\n\t\t\t\tconst struct bio_vec *bvec;\n\t\t\t\tconst struct folio_queue *folioq;\n\t\t\t\tstruct xarray *xarray;\n\t\t\t\tvoid *ubuf;\n\t\t\t};\n\t\t\tsize_t count;\n\t\t};\n\t};\n\tunion {\n\t\tlong unsigned int nr_segs;\n\t\tu8 folioq_slot;\n\t\tloff_t xarray_start;\n\t};\n};\n\nstruct bio_map_data {\n\tbool is_our_pages: 1;\n\tbool is_null_mapped: 1;\n\tstruct iov_iter iter;\n\tstruct iovec iov[0];\n};\n\nstruct bio_post_read_ctx {\n\tstruct bio *bio;\n\tstruct work_struct work;\n\tunsigned int cur_step;\n\tunsigned int enabled_steps;\n};\n\ntypedef void *mempool_alloc_t(gfp_t, void *);\n\ntypedef void mempool_free_t(void *, void *);\n\nstruct mempool_s {\n\tspinlock_t lock;\n\tint min_nr;\n\tint curr_nr;\n\tvoid **elements;\n\tvoid *pool_data;\n\tmempool_alloc_t *alloc;\n\tmempool_free_t *free;\n\twait_queue_head_t wait;\n};\n\ntypedef struct mempool_s mempool_t;\n\nstruct bio_set {\n\tstruct kmem_cache *bio_slab;\n\tunsigned int front_pad;\n\tstruct bio_alloc_cache *cache;\n\tmempool_t bio_pool;\n\tmempool_t bvec_pool;\n\tunsigned int back_pad;\n\tspinlock_t rescue_lock;\n\tstruct bio_list rescue_list;\n\tstruct work_struct rescue_work;\n\tstruct workqueue_struct *rescue_workqueue;\n\tstruct hlist_node cpuhp_dead;\n};\n\nstruct bio_slab {\n\tstruct kmem_cache *slab;\n\tunsigned int slab_ref;\n\tunsigned int slab_size;\n\tchar name[12];\n};\n\nstruct biovec_slab {\n\tint nr_vecs;\n\tchar *name;\n\tstruct kmem_cache *slab;\n};\n\nstruct bl_dev_msg {\n\tint32_t status;\n\tuint32_t major;\n\tuint32_t minor;\n};\n\nstruct blacklist_entry {\n\tstruct list_head next;\n\tchar *buf;\n};\n\nstruct blake2s_state {\n\tu32 h[8];\n\tu32 t[2];\n\tu32 f[2];\n\tu8 buf[64];\n\tunsigned int buflen;\n\tunsigned int outlen;\n};\n\nstruct blk_expired_data {\n\tbool has_timedout_rq;\n\tlong unsigned int next;\n\tlong unsigned int timeout_start;\n};\n\nstruct blk_flush_queue {\n\tspinlock_t mq_flush_lock;\n\tunsigned int flush_pending_idx: 1;\n\tunsigned int flush_running_idx: 1;\n\tblk_status_t rq_status;\n\tlong unsigned int flush_pending_since;\n\tstruct list_head flush_queue[2];\n\tlong unsigned int flush_data_in_flight;\n\tstruct request *flush_rq;\n};\n\nstruct blk_holder_ops {\n\tvoid (*mark_dead)(struct block_device *, bool);\n\tvoid (*sync)(struct block_device *);\n\tint (*freeze)(struct block_device *);\n\tint (*thaw)(struct block_device *);\n};\n\nstruct blk_ia_range_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_independent_access_range *, char *);\n};\n\nstruct blk_independent_access_ranges {\n\tstruct kobject kobj;\n\tbool sysfs_registered;\n\tunsigned int nr_ia_ranges;\n\tstruct blk_independent_access_range ia_range[0];\n};\n\nstruct blk_integrity {\n\tunsigned char flags;\n\tenum blk_integrity_checksum csum_type;\n\tunsigned char tuple_size;\n\tunsigned char pi_offset;\n\tunsigned char interval_exp;\n\tunsigned char tag_size;\n};\n\nstruct blk_iou_cmd {\n\tint res;\n\tbool nowait;\n};\n\nstruct blk_major_name {\n\tstruct blk_major_name *next;\n\tint major;\n\tchar name[16];\n\tvoid (*probe)(dev_t);\n};\n\nstruct rq_list;\n\nstruct blk_mq_ctx;\n\nstruct blk_mq_hw_ctx;\n\nstruct blk_mq_alloc_data {\n\tstruct request_queue *q;\n\tblk_mq_req_flags_t flags;\n\tunsigned int shallow_depth;\n\tblk_opf_t cmd_flags;\n\treq_flags_t rq_flags;\n\tunsigned int nr_tags;\n\tstruct rq_list *cached_rqs;\n\tstruct blk_mq_ctx *ctx;\n\tstruct blk_mq_hw_ctx *hctx;\n};\n\nstruct blk_mq_ctxs;\n\nstruct blk_mq_ctx {\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head rq_lists[3];\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tunsigned int cpu;\n\tshort unsigned int index_hw[3];\n\tstruct blk_mq_hw_ctx *hctxs[3];\n\tstruct request_queue *queue;\n\tstruct blk_mq_ctxs *ctxs;\n\tstruct kobject kobj;\n\tlong: 64;\n};\n\nstruct blk_mq_ctxs {\n\tstruct kobject kobj;\n\tstruct blk_mq_ctx *queue_ctx;\n};\n\nstruct seq_file;\n\nstruct seq_operations;\n\nstruct blk_mq_debugfs_attr {\n\tconst char *name;\n\tumode_t mode;\n\tint (*show)(void *, struct seq_file *);\n\tssize_t (*write)(void *, const char *, size_t, loff_t *);\n\tconst struct seq_operations *seq_ops;\n};\n\nstruct sbitmap_word;\n\nstruct sbitmap {\n\tunsigned int depth;\n\tunsigned int shift;\n\tunsigned int map_nr;\n\tbool round_robin;\n\tstruct sbitmap_word *map;\n\tunsigned int *alloc_hint;\n};\n\ntypedef struct wait_queue_entry wait_queue_entry_t;\n\nstruct blk_mq_hw_ctx {\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head dispatch;\n\t\tlong unsigned int state;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct delayed_work run_work;\n\tcpumask_var_t cpumask;\n\tint next_cpu;\n\tint next_cpu_batch;\n\tlong unsigned int flags;\n\tvoid *sched_data;\n\tstruct request_queue *queue;\n\tstruct blk_flush_queue *fq;\n\tvoid *driver_data;\n\tstruct sbitmap ctx_map;\n\tstruct blk_mq_ctx *dispatch_from;\n\tunsigned int dispatch_busy;\n\tshort unsigned int type;\n\tshort unsigned int nr_ctx;\n\tstruct blk_mq_ctx **ctxs;\n\tspinlock_t dispatch_wait_lock;\n\twait_queue_entry_t dispatch_wait;\n\tatomic_t wait_index;\n\tstruct blk_mq_tags *tags;\n\tstruct blk_mq_tags *sched_tags;\n\tunsigned int numa_node;\n\tunsigned int queue_num;\n\tatomic_t nr_active;\n\tstruct hlist_node cpuhp_online;\n\tstruct hlist_node cpuhp_dead;\n\tstruct kobject kobj;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *sched_debugfs_dir;\n\tstruct list_head hctx_list;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct blk_mq_hw_ctx_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct blk_mq_hw_ctx *, char *);\n};\n\nstruct blk_mq_queue_data;\n\nstruct io_comp_batch;\n\nstruct blk_mq_ops {\n\tblk_status_t (*queue_rq)(struct blk_mq_hw_ctx *, const struct blk_mq_queue_data *);\n\tvoid (*commit_rqs)(struct blk_mq_hw_ctx *);\n\tvoid (*queue_rqs)(struct rq_list *);\n\tint (*get_budget)(struct request_queue *);\n\tvoid (*put_budget)(struct request_queue *, int);\n\tvoid (*set_rq_budget_token)(struct request *, int);\n\tint (*get_rq_budget_token)(struct request *);\n\tenum blk_eh_timer_return (*timeout)(struct request *);\n\tint (*poll)(struct blk_mq_hw_ctx *, struct io_comp_batch *);\n\tvoid (*complete)(struct request *);\n\tint (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int);\n\tvoid (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tint (*init_request)(struct blk_mq_tag_set *, struct request *, unsigned int, unsigned int);\n\tvoid (*exit_request)(struct blk_mq_tag_set *, struct request *, unsigned int);\n\tvoid (*cleanup_rq)(struct request *);\n\tbool (*busy)(struct request_queue *);\n\tvoid (*map_queues)(struct blk_mq_tag_set *);\n\tvoid (*show_rq)(struct seq_file *, struct request *);\n};\n\nstruct elevator_type;\n\nstruct blk_mq_qe_pair {\n\tstruct list_head node;\n\tstruct request_queue *q;\n\tstruct elevator_type *type;\n};\n\nstruct blk_mq_queue_data {\n\tstruct request *rq;\n\tbool last;\n};\n\nstruct sbq_wait_state;\n\nstruct sbitmap_queue {\n\tstruct sbitmap sb;\n\tunsigned int wake_batch;\n\tatomic_t wake_index;\n\tstruct sbq_wait_state *ws;\n\tatomic_t ws_active;\n\tunsigned int min_shallow_depth;\n\tatomic_t completion_cnt;\n\tatomic_t wakeup_cnt;\n};\n\nstruct blk_mq_tags {\n\tunsigned int nr_tags;\n\tunsigned int nr_reserved_tags;\n\tunsigned int active_queues;\n\tstruct sbitmap_queue bitmap_tags;\n\tstruct sbitmap_queue breserved_tags;\n\tstruct request **rqs;\n\tstruct request **static_rqs;\n\tstruct list_head page_list;\n\tspinlock_t lock;\n};\n\nstruct rq_list {\n\tstruct request *head;\n\tstruct request *tail;\n};\n\nstruct blk_plug {\n\tstruct rq_list mq_list;\n\tstruct rq_list cached_rqs;\n\tu64 cur_ktime;\n\tshort unsigned int nr_ios;\n\tshort unsigned int rq_count;\n\tbool multiple_queues;\n\tbool has_elevator;\n\tstruct list_head cb_list;\n};\n\nstruct blk_plug_cb;\n\ntypedef void (*blk_plug_cb_fn)(struct blk_plug_cb *, bool);\n\nstruct blk_plug_cb {\n\tstruct list_head list;\n\tblk_plug_cb_fn callback;\n\tvoid *data;\n};\n\nstruct blk_queue_stats {\n\tstruct list_head callbacks;\n\tspinlock_t lock;\n\tint accounting;\n};\n\nstruct blk_rq_stat {\n\tu64 mean;\n\tu64 min;\n\tu64 max;\n\tu32 nr_samples;\n\tu64 batch;\n};\n\nstruct blk_rq_wait {\n\tstruct completion done;\n\tblk_status_t ret;\n};\n\nstruct blk_stat_callback {\n\tstruct list_head list;\n\tstruct timer_list timer;\n\tstruct blk_rq_stat *cpu_stat;\n\tint (*bucket_fn)(const struct request *);\n\tunsigned int buckets;\n\tstruct blk_rq_stat *stat;\n\tvoid (*timer_fn)(struct blk_stat_callback *);\n\tvoid *data;\n\tstruct callback_head rcu;\n};\n\nstruct blk_zone {\n\t__u64 start;\n\t__u64 len;\n\t__u64 wp;\n\t__u8 type;\n\t__u8 cond;\n\t__u8 non_seq;\n\t__u8 reset;\n\t__u8 resv[4];\n\t__u64 capacity;\n\t__u8 reserved[24];\n};\n\nstruct cgroup_subsys;\n\nstruct cgroup_subsys_state {\n\tstruct cgroup *cgroup;\n\tstruct cgroup_subsys *ss;\n\tstruct percpu_ref refcnt;\n\tstruct list_head sibling;\n\tstruct list_head children;\n\tstruct list_head rstat_css_node;\n\tint id;\n\tunsigned int flags;\n\tu64 serial_nr;\n\tatomic_t online_cnt;\n\tstruct work_struct destroy_work;\n\tstruct rcu_work destroy_rwork;\n\tstruct cgroup_subsys_state *parent;\n\tint nr_descendants;\n};\n\nstruct llist_head;\n\nstruct blkcg {\n\tstruct cgroup_subsys_state css;\n\tspinlock_t lock;\n\trefcount_t online_pin;\n\tatomic_t congestion_count;\n\tstruct xarray blkg_tree;\n\tstruct blkcg_gq *blkg_hint;\n\tstruct hlist_head blkg_list;\n\tstruct blkcg_policy_data *cpd[6];\n\tstruct list_head all_blkcgs_node;\n\tstruct llist_head *lhead;\n\tstruct list_head cgwb_list;\n};\n\nstruct blkg_iostat {\n\tu64 bytes[3];\n\tu64 ios[3];\n};\n\nstruct blkg_iostat_set {\n\tstruct u64_stats_sync sync;\n\tstruct blkcg_gq *blkg;\n\tstruct llist_node lnode;\n\tint lqueued;\n\tstruct blkg_iostat cur;\n\tstruct blkg_iostat last;\n};\n\nstruct blkcg_gq {\n\tstruct request_queue *q;\n\tstruct list_head q_node;\n\tstruct hlist_node blkcg_node;\n\tstruct blkcg *blkcg;\n\tstruct blkcg_gq *parent;\n\tstruct percpu_ref refcnt;\n\tbool online;\n\tstruct blkg_iostat_set *iostat_cpu;\n\tstruct blkg_iostat_set iostat;\n\tstruct blkg_policy_data *pd[6];\n\tspinlock_t async_bio_lock;\n\tstruct bio_list async_bios;\n\tunion {\n\t\tstruct work_struct async_bio_work;\n\t\tstruct work_struct free_work;\n\t};\n\tatomic_t use_delay;\n\tatomic64_t delay_nsec;\n\tatomic64_t delay_start;\n\tu64 last_delay;\n\tint last_use;\n\tstruct callback_head callback_head;\n};\n\ntypedef struct blkcg_policy_data *blkcg_pol_alloc_cpd_fn(gfp_t);\n\ntypedef void blkcg_pol_free_cpd_fn(struct blkcg_policy_data *);\n\ntypedef struct blkg_policy_data *blkcg_pol_alloc_pd_fn(struct gendisk *, struct blkcg *, gfp_t);\n\ntypedef void blkcg_pol_init_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_online_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_offline_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_free_pd_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_reset_pd_stats_fn(struct blkg_policy_data *);\n\ntypedef void blkcg_pol_stat_pd_fn(struct blkg_policy_data *, struct seq_file *);\n\nstruct cftype;\n\nstruct blkcg_policy {\n\tint plid;\n\tstruct cftype *dfl_cftypes;\n\tstruct cftype *legacy_cftypes;\n\tblkcg_pol_alloc_cpd_fn *cpd_alloc_fn;\n\tblkcg_pol_free_cpd_fn *cpd_free_fn;\n\tblkcg_pol_alloc_pd_fn *pd_alloc_fn;\n\tblkcg_pol_init_pd_fn *pd_init_fn;\n\tblkcg_pol_online_pd_fn *pd_online_fn;\n\tblkcg_pol_offline_pd_fn *pd_offline_fn;\n\tblkcg_pol_free_pd_fn *pd_free_fn;\n\tblkcg_pol_reset_pd_stats_fn *pd_reset_stats_fn;\n\tblkcg_pol_stat_pd_fn *pd_stat_fn;\n};\n\nstruct blkdev_dio {\n\tunion {\n\t\tstruct kiocb *iocb;\n\t\tstruct task_struct *waiter;\n\t};\n\tsize_t size;\n\tatomic_t ref;\n\tunsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct bio bio;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct blkg_conf_ctx {\n\tchar *input;\n\tchar *body;\n\tstruct block_device *bdev;\n\tstruct blkcg_gq *blkg;\n};\n\nstruct blkg_rwstat_sample {\n\tu64 cnt[5];\n};\n\nstruct blkpg_compat_ioctl_arg {\n\tcompat_int_t op;\n\tcompat_int_t flags;\n\tcompat_int_t datalen;\n\tcompat_uptr_t data;\n};\n\nstruct blkpg_ioctl_arg {\n\tint op;\n\tint flags;\n\tint datalen;\n\tvoid *data;\n};\n\nstruct blkpg_partition {\n\tlong long int start;\n\tlong long int length;\n\tint pno;\n\tchar devname[64];\n\tchar volname[64];\n};\n\ntypedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *);\n\nstruct hd_geometry;\n\nstruct pr_ops;\n\nstruct block_device_operations {\n\tvoid (*submit_bio)(struct bio *);\n\tint (*poll_bio)(struct bio *, struct io_comp_batch *, unsigned int);\n\tint (*open)(struct gendisk *, blk_mode_t);\n\tvoid (*release)(struct gendisk *);\n\tint (*ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int);\n\tunsigned int (*check_events)(struct gendisk *, unsigned int);\n\tvoid (*unlock_native_capacity)(struct gendisk *);\n\tint (*getgeo)(struct block_device *, struct hd_geometry *);\n\tint (*set_read_only)(struct block_device *, bool);\n\tvoid (*free_disk)(struct gendisk *);\n\tvoid (*swap_slot_free_notify)(struct block_device *, long unsigned int);\n\tint (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *);\n\tchar * (*devnode)(struct gendisk *, umode_t *);\n\tint (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id);\n\tstruct module *owner;\n\tconst struct pr_ops *pr_ops;\n\tint (*alternative_gpt_sector)(struct gendisk *, sector_t *);\n};\n\nstruct blockgroup_lock {\n\tstruct bgl_lock locks[128];\n};\n\nstruct blocking_notifier_head {\n\tstruct rw_semaphore rwsem;\n\tstruct notifier_block *head;\n};\n\nstruct spi_board_info {\n\tchar modalias[32];\n\tconst void *platform_data;\n\tconst struct software_node *swnode;\n\tvoid *controller_data;\n\tint irq;\n\tu32 max_speed_hz;\n\tu16 bus_num;\n\tu16 chip_select;\n\tu32 mode;\n};\n\nstruct boardinfo {\n\tstruct list_head list;\n\tstruct spi_board_info board_info;\n};\n\nstruct boot_triggers {\n\tconst char *event;\n\tchar *trigger;\n};\n\nstruct iphdr {\n\t__u8 ihl: 4;\n\t__u8 version: 4;\n\t__u8 tos;\n\t__be16 tot_len;\n\t__be16 id;\n\t__be16 frag_off;\n\t__u8 ttl;\n\t__u8 protocol;\n\t__sum16 check;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t};\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t} addrs;\n\t};\n};\n\nstruct udphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be16 len;\n\t__sum16 check;\n};\n\nstruct bootp_pkt {\n\tstruct iphdr iph;\n\tstruct udphdr udph;\n\tu8 op;\n\tu8 htype;\n\tu8 hlen;\n\tu8 hops;\n\t__be32 xid;\n\t__be16 secs;\n\t__be16 flags;\n\t__be32 client_ip;\n\t__be32 your_ip;\n\t__be32 server_ip;\n\t__be32 relay_ip;\n\tu8 hw_addr[16];\n\tu8 serv_name[64];\n\tu8 boot_file[128];\n\tu8 exten[312];\n};\n\nstruct bpf_map_ops;\n\nstruct btf_record;\n\nstruct btf;\n\nstruct obj_cgroup;\n\nstruct btf_type;\n\nstruct bpf_map {\n\tconst struct bpf_map_ops *ops;\n\tstruct bpf_map *inner_map_meta;\n\tvoid *security;\n\tenum bpf_map_type map_type;\n\tu32 key_size;\n\tu32 value_size;\n\tu32 max_entries;\n\tu64 map_extra;\n\tu32 map_flags;\n\tu32 id;\n\tstruct btf_record *record;\n\tint numa_node;\n\tu32 btf_key_type_id;\n\tu32 btf_value_type_id;\n\tu32 btf_vmlinux_value_type_id;\n\tstruct btf *btf;\n\tstruct obj_cgroup *objcg;\n\tchar name[16];\n\tstruct mutex freeze_mutex;\n\tatomic64_t refcnt;\n\tatomic64_t usercnt;\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n\tatomic64_t writecnt;\n\tstruct {\n\t\tconst struct btf_type *attach_func_proto;\n\t\tspinlock_t lock;\n\t\tenum bpf_prog_type type;\n\t\tbool jited;\n\t\tbool xdp_has_frags;\n\t} owner;\n\tbool bypass_spec_v1;\n\tbool frozen;\n\tbool free_after_mult_rcu_gp;\n\tbool free_after_rcu_gp;\n\tatomic64_t sleepable_refcnt;\n\ts64 *elem_count;\n};\n\nstruct range_tree {\n\tstruct rb_root_cached it_root;\n\tstruct rb_root_cached range_size_root;\n};\n\nstruct vm_struct;\n\nstruct bpf_arena {\n\tstruct bpf_map map;\n\tu64 user_vm_start;\n\tu64 user_vm_end;\n\tstruct vm_struct *kern_vm;\n\tstruct range_tree rt;\n\tstruct list_head vma_list;\n\tstruct mutex lock;\n};\n\nstruct bpf_array_aux;\n\nstruct bpf_array {\n\tstruct bpf_map map;\n\tu32 elem_size;\n\tu32 index_mask;\n\tstruct bpf_array_aux *aux;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_value;\n\t\t\tchar value[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_ptrs;\n\t\t\tvoid *ptrs[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_pptrs;\n\t\t\tvoid *pptrs[0];\n\t\t};\n\t};\n};\n\nstruct bpf_array_aux {\n\tstruct list_head poke_progs;\n\tstruct bpf_map *map;\n\tstruct mutex poke_mutex;\n\tstruct work_struct work;\n};\n\nstruct bpf_prog;\n\nstruct bpf_async_cb {\n\tstruct bpf_map *map;\n\tstruct bpf_prog *prog;\n\tvoid *callback_fn;\n\tvoid *value;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct delete_work;\n\t};\n\tu64 flags;\n};\n\nstruct bpf_spin_lock {\n\t__u32 val;\n};\n\nstruct bpf_hrtimer;\n\nstruct bpf_work;\n\nstruct bpf_async_kern {\n\tunion {\n\t\tstruct bpf_async_cb *cb;\n\t\tstruct bpf_hrtimer *timer;\n\t\tstruct bpf_work *work;\n\t};\n\tstruct bpf_spin_lock lock;\n};\n\nstruct btf_func_model {\n\tu8 ret_size;\n\tu8 ret_flags;\n\tu8 nr_args;\n\tu8 arg_size[12];\n\tu8 arg_flags[12];\n};\n\nstruct bpf_attach_target_info {\n\tstruct btf_func_model fmodel;\n\tlong int tgt_addr;\n\tstruct module *tgt_mod;\n\tconst char *tgt_name;\n\tconst struct btf_type *tgt_type;\n};\n\nunion bpf_attr {\n\tstruct {\n\t\t__u32 map_type;\n\t\t__u32 key_size;\n\t\t__u32 value_size;\n\t\t__u32 max_entries;\n\t\t__u32 map_flags;\n\t\t__u32 inner_map_fd;\n\t\t__u32 numa_node;\n\t\tchar map_name[16];\n\t\t__u32 map_ifindex;\n\t\t__u32 btf_fd;\n\t\t__u32 btf_key_type_id;\n\t\t__u32 btf_value_type_id;\n\t\t__u32 btf_vmlinux_value_type_id;\n\t\t__u64 map_extra;\n\t\t__s32 value_type_btf_obj_fd;\n\t\t__s32 map_token_fd;\n\t};\n\tstruct {\n\t\t__u32 map_fd;\n\t\t__u64 key;\n\t\tunion {\n\t\t\t__u64 value;\n\t\t\t__u64 next_key;\n\t\t};\n\t\t__u64 flags;\n\t};\n\tstruct {\n\t\t__u64 in_batch;\n\t\t__u64 out_batch;\n\t\t__u64 keys;\n\t\t__u64 values;\n\t\t__u32 count;\n\t\t__u32 map_fd;\n\t\t__u64 elem_flags;\n\t\t__u64 flags;\n\t} batch;\n\tstruct {\n\t\t__u32 prog_type;\n\t\t__u32 insn_cnt;\n\t\t__u64 insns;\n\t\t__u64 license;\n\t\t__u32 log_level;\n\t\t__u32 log_size;\n\t\t__u64 log_buf;\n\t\t__u32 kern_version;\n\t\t__u32 prog_flags;\n\t\tchar prog_name[16];\n\t\t__u32 prog_ifindex;\n\t\t__u32 expected_attach_type;\n\t\t__u32 prog_btf_fd;\n\t\t__u32 func_info_rec_size;\n\t\t__u64 func_info;\n\t\t__u32 func_info_cnt;\n\t\t__u32 line_info_rec_size;\n\t\t__u64 line_info;\n\t\t__u32 line_info_cnt;\n\t\t__u32 attach_btf_id;\n\t\tunion {\n\t\t\t__u32 attach_prog_fd;\n\t\t\t__u32 attach_btf_obj_fd;\n\t\t};\n\t\t__u32 core_relo_cnt;\n\t\t__u64 fd_array;\n\t\t__u64 core_relos;\n\t\t__u32 core_relo_rec_size;\n\t\t__u32 log_true_size;\n\t\t__s32 prog_token_fd;\n\t\t__u32 fd_array_cnt;\n\t};\n\tstruct {\n\t\t__u64 pathname;\n\t\t__u32 bpf_fd;\n\t\t__u32 file_flags;\n\t\t__s32 path_fd;\n\t};\n\tstruct {\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_bpf_fd;\n\t\t__u32 attach_type;\n\t\t__u32 attach_flags;\n\t\t__u32 replace_bpf_fd;\n\t\tunion {\n\t\t\t__u32 relative_fd;\n\t\t\t__u32 relative_id;\n\t\t};\n\t\t__u64 expected_revision;\n\t};\n\tstruct {\n\t\t__u32 prog_fd;\n\t\t__u32 retval;\n\t\t__u32 data_size_in;\n\t\t__u32 data_size_out;\n\t\t__u64 data_in;\n\t\t__u64 data_out;\n\t\t__u32 repeat;\n\t\t__u32 duration;\n\t\t__u32 ctx_size_in;\n\t\t__u32 ctx_size_out;\n\t\t__u64 ctx_in;\n\t\t__u64 ctx_out;\n\t\t__u32 flags;\n\t\t__u32 cpu;\n\t\t__u32 batch_size;\n\t} test;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 start_id;\n\t\t\t__u32 prog_id;\n\t\t\t__u32 map_id;\n\t\t\t__u32 btf_id;\n\t\t\t__u32 link_id;\n\t\t};\n\t\t__u32 next_id;\n\t\t__u32 open_flags;\n\t};\n\tstruct {\n\t\t__u32 bpf_fd;\n\t\t__u32 info_len;\n\t\t__u64 info;\n\t} info;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_type;\n\t\t__u32 query_flags;\n\t\t__u32 attach_flags;\n\t\t__u64 prog_ids;\n\t\tunion {\n\t\t\t__u32 prog_cnt;\n\t\t\t__u32 count;\n\t\t};\n\t\t__u64 prog_attach_flags;\n\t\t__u64 link_ids;\n\t\t__u64 link_attach_flags;\n\t\t__u64 revision;\n\t} query;\n\tstruct {\n\t\t__u64 name;\n\t\t__u32 prog_fd;\n\t\t__u64 cookie;\n\t} raw_tracepoint;\n\tstruct {\n\t\t__u64 btf;\n\t\t__u64 btf_log_buf;\n\t\t__u32 btf_size;\n\t\t__u32 btf_log_size;\n\t\t__u32 btf_log_level;\n\t\t__u32 btf_log_true_size;\n\t\t__u32 btf_flags;\n\t\t__s32 btf_token_fd;\n\t};\n\tstruct {\n\t\t__u32 pid;\n\t\t__u32 fd;\n\t\t__u32 flags;\n\t\t__u32 buf_len;\n\t\t__u64 buf;\n\t\t__u32 prog_id;\n\t\t__u32 fd_type;\n\t\t__u64 probe_offset;\n\t\t__u64 probe_addr;\n\t} task_fd_query;\n\tstruct {\n\t\tunion {\n\t\t\t__u32 prog_fd;\n\t\t\t__u32 map_fd;\n\t\t};\n\t\tunion {\n\t\t\t__u32 target_fd;\n\t\t\t__u32 target_ifindex;\n\t\t};\n\t\t__u32 attach_type;\n\t\t__u32 flags;\n\t\tunion {\n\t\t\t__u32 target_btf_id;\n\t\t\tstruct {\n\t\t\t\t__u64 iter_info;\n\t\t\t\t__u32 iter_info_len;\n\t\t\t};\n\t\t\tstruct {\n\t\t\t\t__u64 bpf_cookie;\n\t\t\t} perf_event;\n\t\t\tstruct {\n\t\t\t\t__u32 flags;\n\t\t\t\t__u32 cnt;\n\t\t\t\t__u64 syms;\n\t\t\t\t__u64 addrs;\n\t\t\t\t__u64 cookies;\n\t\t\t} kprobe_multi;\n\t\t\tstruct {\n\t\t\t\t__u32 target_btf_id;\n\t\t\t\t__u64 cookie;\n\t\t\t} tracing;\n\t\t\tstruct {\n\t\t\t\t__u32 pf;\n\t\t\t\t__u32 hooknum;\n\t\t\t\t__s32 priority;\n\t\t\t\t__u32 flags;\n\t\t\t} netfilter;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32 relative_fd;\n\t\t\t\t\t__u32 relative_id;\n\t\t\t\t};\n\t\t\t\t__u64 expected_revision;\n\t\t\t} tcx;\n\t\t\tstruct {\n\t\t\t\t__u64 path;\n\t\t\t\t__u64 offsets;\n\t\t\t\t__u64 ref_ctr_offsets;\n\t\t\t\t__u64 cookies;\n\t\t\t\t__u32 cnt;\n\t\t\t\t__u32 flags;\n\t\t\t\t__u32 pid;\n\t\t\t} uprobe_multi;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32 relative_fd;\n\t\t\t\t\t__u32 relative_id;\n\t\t\t\t};\n\t\t\t\t__u64 expected_revision;\n\t\t\t} netkit;\n\t\t};\n\t} link_create;\n\tstruct {\n\t\t__u32 link_fd;\n\t\tunion {\n\t\t\t__u32 new_prog_fd;\n\t\t\t__u32 new_map_fd;\n\t\t};\n\t\t__u32 flags;\n\t\tunion {\n\t\t\t__u32 old_prog_fd;\n\t\t\t__u32 old_map_fd;\n\t\t};\n\t} link_update;\n\tstruct {\n\t\t__u32 link_fd;\n\t} link_detach;\n\tstruct {\n\t\t__u32 type;\n\t} enable_stats;\n\tstruct {\n\t\t__u32 link_fd;\n\t\t__u32 flags;\n\t} iter_create;\n\tstruct {\n\t\t__u32 prog_fd;\n\t\t__u32 map_fd;\n\t\t__u32 flags;\n\t} prog_bind_map;\n\tstruct {\n\t\t__u32 flags;\n\t\t__u32 bpffs_fd;\n\t} token_create;\n};\n\nstruct bpf_bloom_filter {\n\tstruct bpf_map map;\n\tu32 bitset_mask;\n\tu32 hash_seed;\n\tu32 nr_hash_funcs;\n\tlong unsigned int bitset[0];\n};\n\nstruct bpf_bprintf_buffers {\n\tchar bin_args[512];\n\tchar buf[1024];\n};\n\nstruct bpf_bprintf_data {\n\tu32 *bin_args;\n\tchar *buf;\n\tbool get_bin_args;\n\tbool get_buf;\n};\n\nstruct bpf_btf_info {\n\t__u64 btf;\n\t__u32 btf_size;\n\t__u32 id;\n\t__u64 name;\n\t__u32 name_len;\n\t__u32 kernel_btf;\n};\n\nstruct btf_field;\n\nstruct bpf_call_arg_meta {\n\tstruct bpf_map *map_ptr;\n\tbool raw_mode;\n\tbool pkt_access;\n\tu8 release_regno;\n\tint regno;\n\tint access_size;\n\tint mem_size;\n\tu64 msize_max_value;\n\tint ref_obj_id;\n\tint dynptr_id;\n\tint map_uid;\n\tint func_id;\n\tstruct btf *btf;\n\tu32 btf_id;\n\tstruct btf *ret_btf;\n\tu32 ret_btf_id;\n\tu32 subprogno;\n\tstruct btf_field *kptr_field;\n\ts64 const_map_key;\n};\n\nstruct bpf_cand_cache {\n\tconst char *name;\n\tu32 name_len;\n\tu16 kind;\n\tu16 cnt;\n\tstruct {\n\t\tconst struct btf *btf;\n\t\tu32 id;\n\t} cands[0];\n};\n\nstruct bpf_run_ctx {};\n\nstruct bpf_prog_array_item;\n\nstruct bpf_cg_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tconst struct bpf_prog_array_item *prog_item;\n\tint retval;\n};\n\nstruct bpf_cgroup_dev_ctx {\n\t__u32 access_type;\n\t__u32 major;\n\t__u32 minor;\n};\n\nstruct bpf_link_ops;\n\nstruct bpf_link {\n\tatomic64_t refcnt;\n\tu32 id;\n\tenum bpf_link_type type;\n\tconst struct bpf_link_ops *ops;\n\tstruct bpf_prog *prog;\n\tbool sleepable;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n};\n\nstruct bpf_cgroup_link {\n\tstruct bpf_link link;\n\tstruct cgroup *cgroup;\n\tenum bpf_attach_type type;\n};\n\nstruct bpf_cgroup_storage_key {\n\t__u64 cgroup_inode_id;\n\t__u32 attach_type;\n};\n\nstruct bpf_storage_buffer;\n\nstruct bpf_cgroup_storage_map;\n\nstruct bpf_cgroup_storage {\n\tunion {\n\t\tstruct bpf_storage_buffer *buf;\n\t\tvoid *percpu_buf;\n\t};\n\tstruct bpf_cgroup_storage_map *map;\n\tstruct bpf_cgroup_storage_key key;\n\tstruct list_head list_map;\n\tstruct list_head list_cg;\n\tstruct rb_node node;\n\tstruct callback_head rcu;\n};\n\nstruct bpf_cgroup_storage_map {\n\tstruct bpf_map map;\n\tspinlock_t lock;\n\tstruct rb_root root;\n\tstruct list_head list;\n};\n\nstruct bpf_lru_list {\n\tstruct list_head lists[3];\n\tunsigned int counts[2];\n\tstruct list_head *next_inactive_rotation;\n\traw_spinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_lru_locallist;\n\nstruct bpf_common_lru {\n\tstruct bpf_lru_list lru_list;\n\tstruct bpf_lru_locallist *local_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_core_accessor {\n\t__u32 type_id;\n\t__u32 idx;\n\tconst char *name;\n};\n\nstruct bpf_core_cand {\n\tconst struct btf *btf;\n\t__u32 id;\n};\n\nstruct bpf_core_cand_list {\n\tstruct bpf_core_cand *cands;\n\tint len;\n};\n\nstruct bpf_verifier_log;\n\nstruct bpf_core_ctx {\n\tstruct bpf_verifier_log *log;\n\tconst struct btf *btf;\n};\n\nstruct bpf_core_relo {\n\t__u32 insn_off;\n\t__u32 type_id;\n\t__u32 access_str_off;\n\tenum bpf_core_relo_kind kind;\n};\n\nstruct bpf_core_relo_res {\n\t__u64 orig_val;\n\t__u64 new_val;\n\tbool poison;\n\tbool validate;\n\tbool fail_memsz_adjust;\n\t__u32 orig_sz;\n\t__u32 orig_type_id;\n\t__u32 new_sz;\n\t__u32 new_type_id;\n};\n\nstruct bpf_core_spec {\n\tconst struct btf *btf;\n\tstruct bpf_core_accessor spec[64];\n\t__u32 root_type_id;\n\tenum bpf_core_relo_kind relo_kind;\n\tint len;\n\tint raw_spec[64];\n\tint raw_len;\n\t__u32 bit_offset;\n};\n\nstruct bpf_cpu_map_entry;\n\nstruct bpf_cpu_map {\n\tstruct bpf_map map;\n\tstruct bpf_cpu_map_entry **cpu_map;\n};\n\nstruct bpf_cpumap_val {\n\t__u32 qsize;\n\tunion {\n\t\tint fd;\n\t\t__u32 id;\n\t} bpf_prog;\n};\n\nstruct xdp_bulk_queue;\n\nstruct ptr_ring;\n\nstruct bpf_cpu_map_entry {\n\tu32 cpu;\n\tint map_id;\n\tstruct xdp_bulk_queue *bulkq;\n\tstruct ptr_ring *queue;\n\tstruct task_struct *kthread;\n\tstruct bpf_cpumap_val value;\n\tstruct bpf_prog *prog;\n\tstruct completion kthread_running;\n\tstruct rcu_work free_work;\n};\n\nstruct bpf_crypto_type;\n\nstruct bpf_crypto_ctx {\n\tconst struct bpf_crypto_type *type;\n\tvoid *tfm;\n\tu32 siv_len;\n\tstruct callback_head rcu;\n\trefcount_t usage;\n};\n\nstruct bpf_crypto_params {\n\tchar type[14];\n\tu8 reserved[2];\n\tchar algo[128];\n\tu8 key[256];\n\tu32 key_len;\n\tu32 authsize;\n};\n\nstruct bpf_crypto_type {\n\tvoid * (*alloc_tfm)(const char *);\n\tvoid (*free_tfm)(void *);\n\tint (*has_algo)(const char *);\n\tint (*setkey)(void *, const u8 *, unsigned int);\n\tint (*setauthsize)(void *, unsigned int);\n\tint (*encrypt)(void *, const u8 *, u8 *, unsigned int, u8 *);\n\tint (*decrypt)(void *, const u8 *, u8 *, unsigned int, u8 *);\n\tunsigned int (*ivsize)(void *);\n\tunsigned int (*statesize)(void *);\n\tu32 (*get_flags)(void *);\n\tstruct module *owner;\n\tchar name[14];\n};\n\nstruct bpf_crypto_type_list {\n\tconst struct bpf_crypto_type *type;\n\tstruct list_head list;\n};\n\nstruct bpf_ctx_arg_aux {\n\tu32 offset;\n\tenum bpf_reg_type reg_type;\n\tstruct btf *btf;\n\tu32 btf_id;\n};\n\nstruct skb_ext;\n\nstruct sk_buff {\n\tunion {\n\t\tstruct {\n\t\t\tstruct sk_buff *next;\n\t\t\tstruct sk_buff *prev;\n\t\t\tunion {\n\t\t\t\tstruct net_device *dev;\n\t\t\t\tlong unsigned int dev_scratch;\n\t\t\t};\n\t\t};\n\t\tstruct rb_node rbnode;\n\t\tstruct list_head list;\n\t\tstruct llist_node ll_node;\n\t};\n\tstruct sock *sk;\n\tunion {\n\t\tktime_t tstamp;\n\t\tu64 skb_mstamp_ns;\n\t};\n\tchar cb[48];\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _skb_refdst;\n\t\t\tvoid (*destructor)(struct sk_buff *);\n\t\t};\n\t\tstruct list_head tcp_tsorted_anchor;\n\t\tlong unsigned int _sk_redir;\n\t};\n\tlong unsigned int _nfct;\n\tunsigned int len;\n\tunsigned int data_len;\n\t__u16 mac_len;\n\t__u16 hdr_len;\n\t__u16 queue_mapping;\n\t__u8 __cloned_offset[0];\n\t__u8 cloned: 1;\n\t__u8 nohdr: 1;\n\t__u8 fclone: 2;\n\t__u8 peeked: 1;\n\t__u8 head_frag: 1;\n\t__u8 pfmemalloc: 1;\n\t__u8 pp_recycle: 1;\n\t__u8 active_extensions;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 __pkt_type_offset[0];\n\t\t\t__u8 pkt_type: 3;\n\t\t\t__u8 ignore_df: 1;\n\t\t\t__u8 dst_pending_confirm: 1;\n\t\t\t__u8 ip_summed: 2;\n\t\t\t__u8 ooo_okay: 1;\n\t\t\t__u8 __mono_tc_offset[0];\n\t\t\t__u8 tstamp_type: 2;\n\t\t\t__u8 tc_at_ingress: 1;\n\t\t\t__u8 tc_skip_classify: 1;\n\t\t\t__u8 remcsum_offload: 1;\n\t\t\t__u8 csum_complete_sw: 1;\n\t\t\t__u8 csum_level: 2;\n\t\t\t__u8 inner_protocol_type: 1;\n\t\t\t__u8 l4_hash: 1;\n\t\t\t__u8 sw_hash: 1;\n\t\t\t__u8 wifi_acked_valid: 1;\n\t\t\t__u8 wifi_acked: 1;\n\t\t\t__u8 no_fcs: 1;\n\t\t\t__u8 encapsulation: 1;\n\t\t\t__u8 encap_hdr_csum: 1;\n\t\t\t__u8 csum_valid: 1;\n\t\t\t__u8 ndisc_nodetype: 2;\n\t\t\t__u8 ipvs_property: 1;\n\t\t\t__u8 redirected: 1;\n\t\t\t__u8 slow_gro: 1;\n\t\t\t__u8 unreadable: 1;\n\t\t\t__u16 tc_index;\n\t\t\tu16 alloc_cpu;\n\t\t\tunion {\n\t\t\t\t__wsum csum;\n\t\t\t\tstruct {\n\t\t\t\t\t__u16 csum_start;\n\t\t\t\t\t__u16 csum_offset;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__u32 priority;\n\t\t\tint skb_iif;\n\t\t\t__u32 hash;\n\t\t\tunion {\n\t\t\t\tu32 vlan_all;\n\t\t\t\tstruct {\n\t\t\t\t\t__be16 vlan_proto;\n\t\t\t\t\t__u16 vlan_tci;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tunsigned int napi_id;\n\t\t\t\tunsigned int sender_cpu;\n\t\t\t};\n\t\t\t__u32 secmark;\n\t\t\tunion {\n\t\t\t\t__u32 mark;\n\t\t\t\t__u32 reserved_tailroom;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__be16 inner_protocol;\n\t\t\t\t__u8 inner_ipproto;\n\t\t\t};\n\t\t\t__u16 inner_transport_header;\n\t\t\t__u16 inner_network_header;\n\t\t\t__u16 inner_mac_header;\n\t\t\t__be16 protocol;\n\t\t\t__u16 transport_header;\n\t\t\t__u16 network_header;\n\t\t\t__u16 mac_header;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 __pkt_type_offset[0];\n\t\t\t__u8 pkt_type: 3;\n\t\t\t__u8 ignore_df: 1;\n\t\t\t__u8 dst_pending_confirm: 1;\n\t\t\t__u8 ip_summed: 2;\n\t\t\t__u8 ooo_okay: 1;\n\t\t\t__u8 __mono_tc_offset[0];\n\t\t\t__u8 tstamp_type: 2;\n\t\t\t__u8 tc_at_ingress: 1;\n\t\t\t__u8 tc_skip_classify: 1;\n\t\t\t__u8 remcsum_offload: 1;\n\t\t\t__u8 csum_complete_sw: 1;\n\t\t\t__u8 csum_level: 2;\n\t\t\t__u8 inner_protocol_type: 1;\n\t\t\t__u8 l4_hash: 1;\n\t\t\t__u8 sw_hash: 1;\n\t\t\t__u8 wifi_acked_valid: 1;\n\t\t\t__u8 wifi_acked: 1;\n\t\t\t__u8 no_fcs: 1;\n\t\t\t__u8 encapsulation: 1;\n\t\t\t__u8 encap_hdr_csum: 1;\n\t\t\t__u8 csum_valid: 1;\n\t\t\t__u8 ndisc_nodetype: 2;\n\t\t\t__u8 ipvs_property: 1;\n\t\t\t__u8 redirected: 1;\n\t\t\t__u8 slow_gro: 1;\n\t\t\t__u8 unreadable: 1;\n\t\t\t__u16 tc_index;\n\t\t\tu16 alloc_cpu;\n\t\t\tunion {\n\t\t\t\t__wsum csum;\n\t\t\t\tstruct {\n\t\t\t\t\t__u16 csum_start;\n\t\t\t\t\t__u16 csum_offset;\n\t\t\t\t};\n\t\t\t};\n\t\t\t__u32 priority;\n\t\t\tint skb_iif;\n\t\t\t__u32 hash;\n\t\t\tunion {\n\t\t\t\tu32 vlan_all;\n\t\t\t\tstruct {\n\t\t\t\t\t__be16 vlan_proto;\n\t\t\t\t\t__u16 vlan_tci;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tunsigned int napi_id;\n\t\t\t\tunsigned int sender_cpu;\n\t\t\t};\n\t\t\t__u32 secmark;\n\t\t\tunion {\n\t\t\t\t__u32 mark;\n\t\t\t\t__u32 reserved_tailroom;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\t__be16 inner_protocol;\n\t\t\t\t__u8 inner_ipproto;\n\t\t\t};\n\t\t\t__u16 inner_transport_header;\n\t\t\t__u16 inner_network_header;\n\t\t\t__u16 inner_mac_header;\n\t\t\t__be16 protocol;\n\t\t\t__u16 transport_header;\n\t\t\t__u16 network_header;\n\t\t\t__u16 mac_header;\n\t\t} headers;\n\t};\n\tsk_buff_data_t tail;\n\tsk_buff_data_t end;\n\tunsigned char *head;\n\tunsigned char *data;\n\tunsigned int truesize;\n\trefcount_t users;\n\tstruct skb_ext *extensions;\n};\n\nstruct xdp_md {\n\t__u32 data;\n\t__u32 data_end;\n\t__u32 data_meta;\n\t__u32 ingress_ifindex;\n\t__u32 rx_queue_index;\n\t__u32 egress_ifindex;\n};\n\nstruct xdp_rxq_info;\n\nstruct xdp_txq_info;\n\nstruct xdp_buff {\n\tvoid *data;\n\tvoid *data_end;\n\tvoid *data_meta;\n\tvoid *data_hard_start;\n\tstruct xdp_rxq_info *rxq;\n\tstruct xdp_txq_info *txq;\n\tu32 frame_sz;\n\tu32 flags;\n};\n\nstruct bpf_sock {\n\t__u32 bound_dev_if;\n\t__u32 family;\n\t__u32 type;\n\t__u32 protocol;\n\t__u32 mark;\n\t__u32 priority;\n\t__u32 src_ip4;\n\t__u32 src_ip6[4];\n\t__u32 src_port;\n\t__be16 dst_port;\n\t__u32 dst_ip4;\n\t__u32 dst_ip6[4];\n\t__u32 state;\n\t__s32 rx_queue_mapping;\n};\n\nstruct bpf_sock_addr {\n\t__u32 user_family;\n\t__u32 user_ip4;\n\t__u32 user_ip6[4];\n\t__u32 user_port;\n\t__u32 family;\n\t__u32 type;\n\t__u32 protocol;\n\t__u32 msg_src_ip4;\n\t__u32 msg_src_ip6[4];\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n};\n\nstruct bpf_sock_addr_kern {\n\tstruct sock *sk;\n\tstruct sockaddr *uaddr;\n\tu64 tmp_reg;\n\tvoid *t_ctx;\n\tu32 uaddrlen;\n};\n\nstruct bpf_sock_ops {\n\t__u32 op;\n\tunion {\n\t\t__u32 args[4];\n\t\t__u32 reply;\n\t\t__u32 replylong[4];\n\t};\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 is_fullsock;\n\t__u32 snd_cwnd;\n\t__u32 srtt_us;\n\t__u32 bpf_sock_ops_cb_flags;\n\t__u32 state;\n\t__u32 rtt_min;\n\t__u32 snd_ssthresh;\n\t__u32 rcv_nxt;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 mss_cache;\n\t__u32 ecn_flags;\n\t__u32 rate_delivered;\n\t__u32 rate_interval_us;\n\t__u32 packets_out;\n\t__u32 retrans_out;\n\t__u32 total_retrans;\n\t__u32 segs_in;\n\t__u32 data_segs_in;\n\t__u32 segs_out;\n\t__u32 data_segs_out;\n\t__u32 lost_out;\n\t__u32 sacked_out;\n\t__u32 sk_txhash;\n\t__u64 bytes_received;\n\t__u64 bytes_acked;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tvoid *skb_data;\n\t};\n\tunion {\n\t\tvoid *skb_data_end;\n\t};\n\t__u32 skb_len;\n\t__u32 skb_tcp_flags;\n\t__u64 skb_hwtstamp;\n};\n\nstruct bpf_sock_ops_kern {\n\tstruct sock *sk;\n\tunion {\n\t\tu32 args[4];\n\t\tu32 reply;\n\t\tu32 replylong[4];\n\t};\n\tstruct sk_buff *syn_skb;\n\tstruct sk_buff *skb;\n\tvoid *skb_data_end;\n\tu8 op;\n\tu8 is_fullsock;\n\tu8 remaining_opt_len;\n\tu64 temp;\n};\n\nstruct sk_msg_md {\n\tunion {\n\t\tvoid *data;\n\t};\n\tunion {\n\t\tvoid *data_end;\n\t};\n\t__u32 family;\n\t__u32 remote_ip4;\n\t__u32 local_ip4;\n\t__u32 remote_ip6[4];\n\t__u32 local_ip6[4];\n\t__u32 remote_port;\n\t__u32 local_port;\n\t__u32 size;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n};\n\nstruct sk_msg_sg {\n\tu32 start;\n\tu32 curr;\n\tu32 end;\n\tu32 size;\n\tu32 copybreak;\n\tlong unsigned int copy[1];\n\tstruct scatterlist data[19];\n};\n\nstruct sk_msg {\n\tstruct sk_msg_sg sg;\n\tvoid *data;\n\tvoid *data_end;\n\tu32 apply_bytes;\n\tu32 cork_bytes;\n\tu32 flags;\n\tstruct sk_buff *skb;\n\tstruct sock *sk_redir;\n\tstruct sock *sk;\n\tstruct list_head list;\n};\n\nstruct bpf_flow_dissector {\n\tstruct bpf_flow_keys *flow_keys;\n\tconst struct sk_buff *skb;\n\tconst void *data;\n\tconst void *data_end;\n};\n\nstruct user_regs_struct {\n\tlong unsigned int pc;\n\tlong unsigned int ra;\n\tlong unsigned int sp;\n\tlong unsigned int gp;\n\tlong unsigned int tp;\n\tlong unsigned int t0;\n\tlong unsigned int t1;\n\tlong unsigned int t2;\n\tlong unsigned int s0;\n\tlong unsigned int s1;\n\tlong unsigned int a0;\n\tlong unsigned int a1;\n\tlong unsigned int a2;\n\tlong unsigned int a3;\n\tlong unsigned int a4;\n\tlong unsigned int a5;\n\tlong unsigned int a6;\n\tlong unsigned int a7;\n\tlong unsigned int s2;\n\tlong unsigned int s3;\n\tlong unsigned int s4;\n\tlong unsigned int s5;\n\tlong unsigned int s6;\n\tlong unsigned int s7;\n\tlong unsigned int s8;\n\tlong unsigned int s9;\n\tlong unsigned int s10;\n\tlong unsigned int s11;\n\tlong unsigned int t3;\n\tlong unsigned int t4;\n\tlong unsigned int t5;\n\tlong unsigned int t6;\n};\n\ntypedef struct user_regs_struct bpf_user_pt_regs_t;\n\nstruct pt_regs {\n\tlong unsigned int epc;\n\tlong unsigned int ra;\n\tlong unsigned int sp;\n\tlong unsigned int gp;\n\tlong unsigned int tp;\n\tlong unsigned int t0;\n\tlong unsigned int t1;\n\tlong unsigned int t2;\n\tlong unsigned int s0;\n\tlong unsigned int s1;\n\tlong unsigned int a0;\n\tlong unsigned int a1;\n\tlong unsigned int a2;\n\tlong unsigned int a3;\n\tlong unsigned int a4;\n\tlong unsigned int a5;\n\tlong unsigned int a6;\n\tlong unsigned int a7;\n\tlong unsigned int s2;\n\tlong unsigned int s3;\n\tlong unsigned int s4;\n\tlong unsigned int s5;\n\tlong unsigned int s6;\n\tlong unsigned int s7;\n\tlong unsigned int s8;\n\tlong unsigned int s9;\n\tlong unsigned int s10;\n\tlong unsigned int s11;\n\tlong unsigned int t3;\n\tlong unsigned int t4;\n\tlong unsigned int t5;\n\tlong unsigned int t6;\n\tlong unsigned int status;\n\tlong unsigned int badaddr;\n\tlong unsigned int cause;\n\tlong unsigned int orig_a0;\n};\n\nstruct bpf_perf_event_data {\n\tbpf_user_pt_regs_t regs;\n\t__u64 sample_period;\n\t__u64 addr;\n};\n\nstruct perf_sample_data;\n\nstruct perf_event;\n\nstruct bpf_perf_event_data_kern {\n\tbpf_user_pt_regs_t *regs;\n\tstruct perf_sample_data *data;\n\tstruct perf_event *event;\n};\n\nstruct bpf_raw_tracepoint_args {\n\t__u64 args[0];\n};\n\nstruct bpf_sysctl {\n\t__u32 write;\n\t__u32 file_pos;\n};\n\nstruct ctl_table_header;\n\nstruct ctl_table;\n\nstruct bpf_sysctl_kern {\n\tstruct ctl_table_header *head;\n\tconst struct ctl_table *table;\n\tvoid *cur_val;\n\tsize_t cur_len;\n\tvoid *new_val;\n\tsize_t new_len;\n\tint new_updated;\n\tint write;\n\tloff_t *ppos;\n\tu64 tmp_reg;\n};\n\nstruct bpf_sockopt {\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tvoid *optval;\n\t};\n\tunion {\n\t\tvoid *optval_end;\n\t};\n\t__s32 level;\n\t__s32 optname;\n\t__s32 optlen;\n\t__s32 retval;\n};\n\nstruct bpf_sockopt_kern {\n\tstruct sock *sk;\n\tu8 *optval;\n\tu8 *optval_end;\n\ts32 level;\n\ts32 optname;\n\ts32 optlen;\n\tstruct task_struct *current_task;\n\tu64 tmp_reg;\n};\n\nstruct sk_reuseport_md {\n\tunion {\n\t\tvoid *data;\n\t};\n\tunion {\n\t\tvoid *data_end;\n\t};\n\t__u32 len;\n\t__u32 eth_protocol;\n\t__u32 ip_protocol;\n\t__u32 bind_inany;\n\t__u32 hash;\n\tunion {\n\t\tstruct bpf_sock *sk;\n\t};\n\tunion {\n\t\tstruct bpf_sock *migrating_sk;\n\t};\n};\n\nstruct sk_reuseport_kern {\n\tstruct sk_buff *skb;\n\tstruct sock *sk;\n\tstruct sock *selected_sk;\n\tstruct sock *migrating_sk;\n\tvoid *data_end;\n\tu32 hash;\n\tu32 reuseport_id;\n\tbool bind_inany;\n};\n\nstruct bpf_sk_lookup {\n\tunion {\n\t\tunion {\n\t\t\tstruct bpf_sock *sk;\n\t\t};\n\t\t__u64 cookie;\n\t};\n\t__u32 family;\n\t__u32 protocol;\n\t__u32 remote_ip4;\n\t__u32 remote_ip6[4];\n\t__be16 remote_port;\n\t__u32 local_ip4;\n\t__u32 local_ip6[4];\n\t__u32 local_port;\n\t__u32 ingress_ifindex;\n};\n\nstruct bpf_sk_lookup_kern {\n\tu16 family;\n\tu16 protocol;\n\t__be16 sport;\n\tu16 dport;\n\tstruct {\n\t\t__be32 saddr;\n\t\t__be32 daddr;\n\t} v4;\n\tstruct {\n\t\tconst struct in6_addr *saddr;\n\t\tconst struct in6_addr *daddr;\n\t} v6;\n\tstruct sock *selected_sk;\n\tu32 ingress_ifindex;\n\tbool no_reuseport;\n};\n\nstruct nf_hook_state;\n\nstruct bpf_nf_ctx {\n\tconst struct nf_hook_state *state;\n\tstruct sk_buff *skb;\n};\n\nstruct bpf_ctx_convert {\n\tstruct __sk_buff BPF_PROG_TYPE_SOCKET_FILTER_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SOCKET_FILTER_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SCHED_CLS_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SCHED_CLS_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SCHED_ACT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SCHED_ACT_kern;\n\tstruct xdp_md BPF_PROG_TYPE_XDP_prog;\n\tstruct xdp_buff BPF_PROG_TYPE_XDP_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_CGROUP_SKB_prog;\n\tstruct sk_buff BPF_PROG_TYPE_CGROUP_SKB_kern;\n\tstruct bpf_sock BPF_PROG_TYPE_CGROUP_SOCK_prog;\n\tstruct sock BPF_PROG_TYPE_CGROUP_SOCK_kern;\n\tstruct bpf_sock_addr BPF_PROG_TYPE_CGROUP_SOCK_ADDR_prog;\n\tstruct bpf_sock_addr_kern BPF_PROG_TYPE_CGROUP_SOCK_ADDR_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_IN_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_IN_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_OUT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_OUT_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_XMIT_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_XMIT_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_prog;\n\tstruct sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_kern;\n\tstruct bpf_sock_ops BPF_PROG_TYPE_SOCK_OPS_prog;\n\tstruct bpf_sock_ops_kern BPF_PROG_TYPE_SOCK_OPS_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_SK_SKB_prog;\n\tstruct sk_buff BPF_PROG_TYPE_SK_SKB_kern;\n\tstruct sk_msg_md BPF_PROG_TYPE_SK_MSG_prog;\n\tstruct sk_msg BPF_PROG_TYPE_SK_MSG_kern;\n\tstruct __sk_buff BPF_PROG_TYPE_FLOW_DISSECTOR_prog;\n\tstruct bpf_flow_dissector BPF_PROG_TYPE_FLOW_DISSECTOR_kern;\n\tbpf_user_pt_regs_t BPF_PROG_TYPE_KPROBE_prog;\n\tstruct pt_regs BPF_PROG_TYPE_KPROBE_kern;\n\t__u64 BPF_PROG_TYPE_TRACEPOINT_prog;\n\tu64 BPF_PROG_TYPE_TRACEPOINT_kern;\n\tstruct bpf_perf_event_data BPF_PROG_TYPE_PERF_EVENT_prog;\n\tstruct bpf_perf_event_data_kern BPF_PROG_TYPE_PERF_EVENT_kern;\n\tstruct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_prog;\n\tu64 BPF_PROG_TYPE_RAW_TRACEPOINT_kern;\n\tstruct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_prog;\n\tu64 BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_kern;\n\tvoid *BPF_PROG_TYPE_TRACING_prog;\n\tvoid *BPF_PROG_TYPE_TRACING_kern;\n\tstruct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_prog;\n\tstruct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_kern;\n\tstruct bpf_sysctl BPF_PROG_TYPE_CGROUP_SYSCTL_prog;\n\tstruct bpf_sysctl_kern BPF_PROG_TYPE_CGROUP_SYSCTL_kern;\n\tstruct bpf_sockopt BPF_PROG_TYPE_CGROUP_SOCKOPT_prog;\n\tstruct bpf_sockopt_kern BPF_PROG_TYPE_CGROUP_SOCKOPT_kern;\n\tstruct sk_reuseport_md BPF_PROG_TYPE_SK_REUSEPORT_prog;\n\tstruct sk_reuseport_kern BPF_PROG_TYPE_SK_REUSEPORT_kern;\n\tstruct bpf_sk_lookup BPF_PROG_TYPE_SK_LOOKUP_prog;\n\tstruct bpf_sk_lookup_kern BPF_PROG_TYPE_SK_LOOKUP_kern;\n\tvoid *BPF_PROG_TYPE_SYSCALL_prog;\n\tvoid *BPF_PROG_TYPE_SYSCALL_kern;\n\tstruct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_prog;\n\tstruct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_kern;\n};\n\nstruct bpf_devmap_val {\n\t__u32 ifindex;\n\tunion {\n\t\tint fd;\n\t\t__u32 id;\n\t} bpf_prog;\n};\n\nstruct bpf_dispatcher_prog {\n\tstruct bpf_prog *prog;\n\trefcount_t users;\n};\n\nstruct latch_tree_node {\n\tstruct rb_node node[2];\n};\n\nstruct bpf_ksym {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar name[512];\n\tstruct list_head lnode;\n\tstruct latch_tree_node tnode;\n\tbool prog;\n};\n\nstruct bpf_dispatcher {\n\tstruct mutex mutex;\n\tvoid *func;\n\tstruct bpf_dispatcher_prog progs[48];\n\tint num_progs;\n\tvoid *image;\n\tvoid *rw_image;\n\tu32 image_off;\n\tstruct bpf_ksym ksym;\n};\n\nstruct bpf_dtab_netdev;\n\nstruct bpf_dtab {\n\tstruct bpf_map map;\n\tstruct bpf_dtab_netdev **netdev_map;\n\tstruct list_head list;\n\tstruct hlist_head *dev_index_head;\n\tspinlock_t index_lock;\n\tunsigned int items;\n\tu32 n_buckets;\n};\n\nstruct bpf_dtab_netdev {\n\tstruct net_device *dev;\n\tstruct hlist_node index_hlist;\n\tstruct bpf_prog *xdp_prog;\n\tstruct callback_head rcu;\n\tunsigned int idx;\n\tstruct bpf_devmap_val val;\n};\n\nstruct bpf_dynptr {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_dynptr_kern {\n\tvoid *data;\n\tu32 size;\n\tu32 offset;\n};\n\nstruct bpf_prog_array_item {\n\tstruct bpf_prog *prog;\n\tunion {\n\t\tstruct bpf_cgroup_storage *cgroup_storage[2];\n\t\tu64 bpf_cookie;\n\t};\n};\n\nstruct bpf_prog_array {\n\tstruct callback_head rcu;\n\tstruct bpf_prog_array_item items[0];\n};\n\nstruct bpf_empty_prog_array {\n\tstruct bpf_prog_array hdr;\n\tstruct bpf_prog *null_prog;\n};\n\nstruct bpf_event_entry {\n\tstruct perf_event *event;\n\tstruct file *perf_file;\n\tstruct file *map_file;\n\tstruct callback_head rcu;\n};\n\nstruct bpf_fentry_test_t {\n\tstruct bpf_fentry_test_t *a;\n};\n\nstruct bpf_fib_lookup {\n\t__u8 family;\n\t__u8 l4_protocol;\n\t__be16 sport;\n\t__be16 dport;\n\tunion {\n\t\t__u16 tot_len;\n\t\t__u16 mtu_result;\n\t};\n\t__u32 ifindex;\n\tunion {\n\t\t__u8 tos;\n\t\t__be32 flowinfo;\n\t\t__u32 rt_metric;\n\t};\n\tunion {\n\t\t__be32 ipv4_src;\n\t\t__u32 ipv6_src[4];\n\t};\n\tunion {\n\t\t__be32 ipv4_dst;\n\t\t__u32 ipv6_dst[4];\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__be16 h_vlan_proto;\n\t\t\t__be16 h_vlan_TCI;\n\t\t};\n\t\t__u32 tbid;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__u32 mark;\n\t\t};\n\t\tstruct {\n\t\t\t__u8 smac[6];\n\t\t\t__u8 dmac[6];\n\t\t};\n\t};\n};\n\nstruct bpf_flow_keys {\n\t__u16 nhoff;\n\t__u16 thoff;\n\t__u16 addr_proto;\n\t__u8 is_frag;\n\t__u8 is_first_frag;\n\t__u8 is_encap;\n\t__u8 ip_proto;\n\t__be16 n_proto;\n\t__be16 sport;\n\t__be16 dport;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 ipv4_src;\n\t\t\t__be32 ipv4_dst;\n\t\t};\n\t\tstruct {\n\t\t\t__u32 ipv6_src[4];\n\t\t\t__u32 ipv6_dst[4];\n\t\t};\n\t};\n\t__u32 flags;\n\t__be32 flow_label;\n};\n\nstruct bpf_func_info {\n\t__u32 insn_off;\n\t__u32 type_id;\n};\n\nstruct bpf_func_info_aux {\n\tu16 linkage;\n\tbool unreliable;\n\tbool called: 1;\n\tbool verified: 1;\n};\n\nstruct bpf_func_proto {\n\tu64 (*func)(u64, u64, u64, u64, u64);\n\tbool gpl_only;\n\tbool pkt_access;\n\tbool might_sleep;\n\tbool allow_fastcall;\n\tenum bpf_return_type ret_type;\n\tunion {\n\t\tstruct {\n\t\t\tenum bpf_arg_type arg1_type;\n\t\t\tenum bpf_arg_type arg2_type;\n\t\t\tenum bpf_arg_type arg3_type;\n\t\t\tenum bpf_arg_type arg4_type;\n\t\t\tenum bpf_arg_type arg5_type;\n\t\t};\n\t\tenum bpf_arg_type arg_type[5];\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu32 *arg1_btf_id;\n\t\t\tu32 *arg2_btf_id;\n\t\t\tu32 *arg3_btf_id;\n\t\t\tu32 *arg4_btf_id;\n\t\t\tu32 *arg5_btf_id;\n\t\t};\n\t\tu32 *arg_btf_id[5];\n\t\tstruct {\n\t\t\tsize_t arg1_size;\n\t\t\tsize_t arg2_size;\n\t\t\tsize_t arg3_size;\n\t\t\tsize_t arg4_size;\n\t\t\tsize_t arg5_size;\n\t\t};\n\t\tsize_t arg_size[5];\n\t};\n\tint *ret_btf_id;\n\tbool (*allowed)(const struct bpf_prog *);\n};\n\nstruct tnum {\n\tu64 value;\n\tu64 mask;\n};\n\nstruct bpf_reg_state {\n\tenum bpf_reg_type type;\n\ts32 off;\n\tunion {\n\t\tint range;\n\t\tstruct {\n\t\t\tstruct bpf_map *map_ptr;\n\t\t\tu32 map_uid;\n\t\t};\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t};\n\t\tstruct {\n\t\t\tu32 mem_size;\n\t\t\tu32 dynptr_id;\n\t\t};\n\t\tstruct {\n\t\t\tenum bpf_dynptr_type type;\n\t\t\tbool first_slot;\n\t\t} dynptr;\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t\tenum bpf_iter_state state: 2;\n\t\t\tint depth: 30;\n\t\t} iter;\n\t\tstruct {\n\t\t\tlong unsigned int raw1;\n\t\t\tlong unsigned int raw2;\n\t\t} raw;\n\t\tu32 subprogno;\n\t};\n\tstruct tnum var_off;\n\ts64 smin_value;\n\ts64 smax_value;\n\tu64 umin_value;\n\tu64 umax_value;\n\ts32 s32_min_value;\n\ts32 s32_max_value;\n\tu32 u32_min_value;\n\tu32 u32_max_value;\n\tu32 id;\n\tu32 ref_obj_id;\n\tstruct bpf_reg_state *parent;\n\tu32 frameno;\n\ts32 subreg_def;\n\tenum bpf_reg_liveness live;\n\tbool precise;\n};\n\nstruct bpf_retval_range {\n\ts32 minval;\n\ts32 maxval;\n};\n\nstruct bpf_stack_state;\n\nstruct bpf_func_state {\n\tstruct bpf_reg_state regs[11];\n\tint callsite;\n\tu32 frameno;\n\tu32 subprogno;\n\tu32 async_entry_cnt;\n\tstruct bpf_retval_range callback_ret_range;\n\tbool in_callback_fn;\n\tbool in_async_callback_fn;\n\tbool in_exception_callback_fn;\n\tu32 callback_depth;\n\tstruct bpf_stack_state *stack;\n\tint allocated_stack;\n};\n\nstruct bpf_hrtimer {\n\tstruct bpf_async_cb cb;\n\tstruct hrtimer timer;\n\tatomic_t cancelling;\n};\n\nstruct bpf_mem_caches;\n\nstruct bpf_mem_cache;\n\nstruct bpf_mem_alloc {\n\tstruct bpf_mem_caches *caches;\n\tstruct bpf_mem_cache *cache;\n\tstruct obj_cgroup *objcg;\n\tbool percpu;\n\tstruct work_struct work;\n};\n\nstruct pcpu_freelist_node;\n\nstruct pcpu_freelist_head {\n\tstruct pcpu_freelist_node *first;\n\traw_spinlock_t lock;\n};\n\nstruct pcpu_freelist {\n\tstruct pcpu_freelist_head *freelist;\n\tstruct pcpu_freelist_head extralist;\n};\n\nstruct bpf_lru_node;\n\ntypedef bool (*del_from_htab_func)(void *, struct bpf_lru_node *);\n\nstruct bpf_lru {\n\tunion {\n\t\tstruct bpf_common_lru common_lru;\n\t\tstruct bpf_lru_list *percpu_lru;\n\t};\n\tdel_from_htab_func del_from_htab;\n\tvoid *del_arg;\n\tunsigned int hash_offset;\n\tunsigned int nr_scans;\n\tbool percpu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bucket;\n\nstruct htab_elem;\n\nstruct bpf_htab {\n\tstruct bpf_map map;\n\tstruct bpf_mem_alloc ma;\n\tstruct bpf_mem_alloc pcpu_ma;\n\tstruct bucket *buckets;\n\tvoid *elems;\n\tlong: 64;\n\tunion {\n\t\tstruct pcpu_freelist freelist;\n\t\tstruct bpf_lru lru;\n\t};\n\tstruct htab_elem **extra_elems;\n\tstruct percpu_counter pcount;\n\tatomic_t count;\n\tbool use_percpu_counter;\n\tu32 n_buckets;\n\tu32 elem_size;\n\tu32 hashrnd;\n\tstruct lock_class_key lockdep_key;\n\tint *map_locked[8];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_id_pair {\n\tu32 old;\n\tu32 cur;\n};\n\nstruct bpf_idmap {\n\tu32 tmp_id_gen;\n\tstruct bpf_id_pair map[600];\n};\n\nstruct bpf_idset {\n\tu32 count;\n\tu32 ids[600];\n};\n\nstruct bpf_insn {\n\t__u8 code;\n\t__u8 dst_reg: 4;\n\t__u8 src_reg: 4;\n\t__s16 off;\n\t__s32 imm;\n};\n\nstruct bpf_insn_access_aux {\n\tenum bpf_reg_type reg_type;\n\tbool is_ldsx;\n\tunion {\n\t\tint ctx_field_size;\n\t\tstruct {\n\t\t\tstruct btf *btf;\n\t\t\tu32 btf_id;\n\t\t};\n\t};\n\tstruct bpf_verifier_log *log;\n\tbool is_retval;\n};\n\nstruct bpf_map_ptr_state {\n\tstruct bpf_map *map_ptr;\n\tbool poison;\n\tbool unpriv;\n};\n\nstruct bpf_loop_inline_state {\n\tunsigned int initialized: 1;\n\tunsigned int fit_for_inline: 1;\n\tu32 callback_subprogno;\n};\n\nstruct btf_struct_meta;\n\nstruct bpf_insn_aux_data {\n\tunion {\n\t\tenum bpf_reg_type ptr_type;\n\t\tstruct bpf_map_ptr_state map_ptr_state;\n\t\ts32 call_imm;\n\t\tu32 alu_limit;\n\t\tstruct {\n\t\t\tu32 map_index;\n\t\t\tu32 map_off;\n\t\t};\n\t\tstruct {\n\t\t\tenum bpf_reg_type reg_type;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tstruct btf *btf;\n\t\t\t\t\tu32 btf_id;\n\t\t\t\t};\n\t\t\t\tu32 mem_size;\n\t\t\t};\n\t\t} btf_var;\n\t\tstruct bpf_loop_inline_state loop_inline_state;\n\t};\n\tunion {\n\t\tu64 obj_new_size;\n\t\tu64 insert_off;\n\t};\n\tstruct btf_struct_meta *kptr_struct_meta;\n\tu64 map_key_state;\n\tint ctx_field_size;\n\tu32 seen;\n\tbool sanitize_stack_spill;\n\tbool zext_dst;\n\tbool needs_zext;\n\tbool storage_get_func_atomic;\n\tbool is_iter_next;\n\tbool call_with_percpu_alloc_ptr;\n\tu8 alu_state;\n\tu8 fastcall_pattern: 1;\n\tu8 fastcall_spills_num: 3;\n\tunsigned int orig_idx;\n\tbool jmp_point;\n\tbool prune_point;\n\tbool force_checkpoint;\n\tbool calls_callback;\n};\n\ntypedef void (*bpf_insn_print_t)(void *, const char *, ...);\n\ntypedef const char * (*bpf_insn_revmap_call_t)(void *, const struct bpf_insn *);\n\ntypedef const char * (*bpf_insn_print_imm_t)(void *, const struct bpf_insn *, __u64);\n\nstruct bpf_insn_cbs {\n\tbpf_insn_print_t cb_print;\n\tbpf_insn_revmap_call_t cb_call;\n\tbpf_insn_print_imm_t cb_imm;\n\tvoid *private_data;\n};\n\nstruct bpf_insn_hist_entry {\n\tu32 idx;\n\tu32 prev_idx: 22;\n\tu32 flags: 10;\n\tu64 linked_regs;\n};\n\nstruct bpf_iter_meta;\n\nstruct bpf_iter__bpf_link {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_link *link;\n\t};\n};\n\nstruct bpf_iter__bpf_map {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n};\n\nstruct bpf_iter__bpf_map_elem {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tvoid *key;\n\t};\n\tunion {\n\t\tvoid *value;\n\t};\n};\n\nstruct bpf_iter__bpf_prog {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_prog *prog;\n\t};\n};\n\nstruct bpf_iter__bpf_sk_storage_map {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tstruct sock *sk;\n\t};\n\tunion {\n\t\tvoid *value;\n\t};\n};\n\nstruct bpf_iter__cgroup {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct cgroup *cgroup;\n\t};\n};\n\nstruct fib6_info;\n\nstruct bpf_iter__ipv6_route {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct fib6_info *rt;\n\t};\n};\n\nstruct bpf_iter__kmem_cache {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct kmem_cache *s;\n\t};\n};\n\nstruct kallsym_iter;\n\nstruct bpf_iter__ksym {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct kallsym_iter *ksym;\n\t};\n};\n\nstruct netlink_sock;\n\nstruct bpf_iter__netlink {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct netlink_sock *sk;\n\t};\n};\n\nstruct bpf_iter__sockmap {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct bpf_map *map;\n\t};\n\tunion {\n\t\tvoid *key;\n\t};\n\tunion {\n\t\tstruct sock *sk;\n\t};\n};\n\nstruct bpf_iter__task {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n};\n\nstruct bpf_iter__task__safe_trusted {\n\tstruct bpf_iter_meta *meta;\n\tstruct task_struct *task;\n};\n\nstruct bpf_iter__task_file {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n\tu32 fd;\n\tunion {\n\t\tstruct file *file;\n\t};\n};\n\nstruct bpf_iter__task_vma {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct task_struct *task;\n\t};\n\tunion {\n\t\tstruct vm_area_struct *vma;\n\t};\n};\n\nstruct bpf_iter__tcp {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct sock_common *sk_common;\n\t};\n\tuid_t uid;\n};\n\nstruct udp_sock;\n\nstruct bpf_iter__udp {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct udp_sock *udp_sk;\n\t};\n\tuid_t uid;\n\tlong: 0;\n\tint bucket;\n};\n\nstruct unix_sock;\n\nstruct bpf_iter__unix {\n\tunion {\n\t\tstruct bpf_iter_meta *meta;\n\t};\n\tunion {\n\t\tstruct unix_sock *unix_sk;\n\t};\n\tuid_t uid;\n};\n\nstruct bpf_iter_aux_info {\n\tstruct bpf_map *map;\n\tstruct {\n\t\tstruct cgroup *start;\n\t\tenum bpf_cgroup_iter_order order;\n\t} cgroup;\n\tstruct {\n\t\tenum bpf_iter_task_type type;\n\t\tu32 pid;\n\t} task;\n};\n\nstruct bpf_iter_bits {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_iter_bits_kern {\n\tunion {\n\t\t__u64 *bits;\n\t\t__u64 bits_copy;\n\t};\n\tint nr_bits;\n\tint bit;\n};\n\nstruct bpf_iter_css {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_iter_css_kern {\n\tstruct cgroup_subsys_state *start;\n\tstruct cgroup_subsys_state *pos;\n\tunsigned int flags;\n};\n\nstruct bpf_iter_css_task {\n\t__u64 __opaque[1];\n};\n\nstruct css_task_iter;\n\nstruct bpf_iter_css_task_kern {\n\tstruct css_task_iter *css_it;\n};\n\nstruct bpf_iter_kmem_cache {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_kmem_cache_kern {\n\tstruct kmem_cache *pos;\n};\n\nstruct bpf_iter_target_info;\n\nstruct bpf_iter_link {\n\tstruct bpf_link link;\n\tstruct bpf_iter_aux_info aux;\n\tstruct bpf_iter_target_info *tinfo;\n};\n\nunion bpf_iter_link_info {\n\tstruct {\n\t\t__u32 map_fd;\n\t} map;\n\tstruct {\n\t\tenum bpf_cgroup_iter_order order;\n\t\t__u32 cgroup_fd;\n\t\t__u64 cgroup_id;\n\t} cgroup;\n\tstruct {\n\t\t__u32 tid;\n\t\t__u32 pid;\n\t\t__u32 pid_fd;\n\t} task;\n};\n\nstruct bpf_iter_meta {\n\tunion {\n\t\tstruct seq_file *seq;\n\t};\n\tu64 session_id;\n\tu64 seq_num;\n};\n\nstruct bpf_iter_meta__safe_trusted {\n\tstruct seq_file *seq;\n};\n\nstruct bpf_iter_num {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_num_kern {\n\tint cur;\n\tint end;\n};\n\nstruct bpf_iter_seq_info;\n\nstruct bpf_iter_priv_data {\n\tstruct bpf_iter_target_info *tinfo;\n\tconst struct bpf_iter_seq_info *seq_info;\n\tstruct bpf_prog *prog;\n\tu64 session_id;\n\tu64 seq_num;\n\tbool done_stop;\n\tlong: 0;\n\tu8 target_private[0];\n};\n\ntypedef int (*bpf_iter_attach_target_t)(struct bpf_prog *, union bpf_iter_link_info *, struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_detach_target_t)(struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_show_fdinfo_t)(const struct bpf_iter_aux_info *, struct seq_file *);\n\nstruct bpf_link_info;\n\ntypedef int (*bpf_iter_fill_link_info_t)(const struct bpf_iter_aux_info *, struct bpf_link_info *);\n\ntypedef const struct bpf_func_proto * (*bpf_iter_get_func_proto_t)(enum bpf_func_id, const struct bpf_prog *);\n\nstruct bpf_iter_reg {\n\tconst char *target;\n\tbpf_iter_attach_target_t attach_target;\n\tbpf_iter_detach_target_t detach_target;\n\tbpf_iter_show_fdinfo_t show_fdinfo;\n\tbpf_iter_fill_link_info_t fill_link_info;\n\tbpf_iter_get_func_proto_t get_func_proto;\n\tu32 ctx_arg_info_size;\n\tu32 feature;\n\tstruct bpf_ctx_arg_aux ctx_arg_info[2];\n\tconst struct bpf_iter_seq_info *seq_info;\n};\n\nstruct bpf_iter_seq_array_map_info {\n\tstruct bpf_map *map;\n\tvoid *percpu_value_buf;\n\tu32 index;\n};\n\nstruct bpf_iter_seq_hash_map_info {\n\tstruct bpf_map *map;\n\tstruct bpf_htab *htab;\n\tvoid *percpu_value_buf;\n\tu32 bucket_id;\n\tu32 skip_elems;\n};\n\ntypedef int (*bpf_iter_init_seq_priv_t)(void *, struct bpf_iter_aux_info *);\n\ntypedef void (*bpf_iter_fini_seq_priv_t)(void *);\n\nstruct bpf_iter_seq_info {\n\tconst struct seq_operations *seq_ops;\n\tbpf_iter_init_seq_priv_t init_seq_private;\n\tbpf_iter_fini_seq_priv_t fini_seq_private;\n\tu32 seq_priv_size;\n};\n\nstruct bpf_iter_seq_link_info {\n\tu32 link_id;\n};\n\nstruct bpf_iter_seq_map_info {\n\tu32 map_id;\n};\n\nstruct bpf_iter_seq_prog_info {\n\tu32 prog_id;\n};\n\nstruct bpf_iter_seq_sk_storage_map_info {\n\tstruct bpf_map *map;\n\tunsigned int bucket_id;\n\tunsigned int skip_elems;\n};\n\nstruct pid_namespace;\n\nstruct bpf_iter_seq_task_common {\n\tstruct pid_namespace *ns;\n\tenum bpf_iter_task_type type;\n\tu32 pid;\n\tu32 pid_visiting;\n};\n\nstruct bpf_iter_seq_task_file_info {\n\tstruct bpf_iter_seq_task_common common;\n\tstruct task_struct *task;\n\tu32 tid;\n\tu32 fd;\n};\n\nstruct bpf_iter_seq_task_info {\n\tstruct bpf_iter_seq_task_common common;\n\tu32 tid;\n};\n\nstruct mm_struct;\n\nstruct bpf_iter_seq_task_vma_info {\n\tstruct bpf_iter_seq_task_common common;\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct vm_area_struct *vma;\n\tu32 tid;\n\tlong unsigned int prev_vm_start;\n\tlong unsigned int prev_vm_end;\n};\n\nstruct bpf_iter_target_info {\n\tstruct list_head list;\n\tconst struct bpf_iter_reg *reg_info;\n\tu32 btf_id;\n};\n\nstruct bpf_iter_task {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_iter_task_kern {\n\tstruct task_struct *task;\n\tstruct task_struct *pos;\n\tunsigned int flags;\n};\n\nstruct bpf_iter_task_vma {\n\t__u64 __opaque[1];\n};\n\nstruct bpf_iter_task_vma_kern_data;\n\nstruct bpf_iter_task_vma_kern {\n\tstruct bpf_iter_task_vma_kern_data *data;\n};\n\nstruct maple_enode;\n\nstruct maple_tree;\n\nstruct maple_alloc;\n\nstruct ma_state {\n\tstruct maple_tree *tree;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tstruct maple_enode *node;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tstruct maple_alloc *alloc;\n\tenum maple_status status;\n\tunsigned char depth;\n\tunsigned char offset;\n\tunsigned char mas_flags;\n\tunsigned char end;\n\tenum store_type store_type;\n};\n\nstruct vma_iterator {\n\tstruct ma_state mas;\n};\n\nstruct mmap_unlock_irq_work;\n\nstruct bpf_iter_task_vma_kern_data {\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct mmap_unlock_irq_work *work;\n\tstruct vma_iterator vmi;\n};\n\nstruct bpf_jit_poke_descriptor {\n\tvoid *tailcall_target;\n\tvoid *tailcall_bypass;\n\tvoid *bypass_addr;\n\tvoid *aux;\n\tunion {\n\t\tstruct {\n\t\t\tstruct bpf_map *map;\n\t\t\tu32 key;\n\t\t} tail_call;\n\t};\n\tbool tailcall_target_stable;\n\tu8 adj_off;\n\tu16 reason;\n\tu32 insn_idx;\n};\n\nstruct key;\n\nstruct bpf_key {\n\tstruct key *key;\n\tbool has_ref;\n};\n\nstruct bpf_kfunc_btf {\n\tstruct btf *btf;\n\tstruct module *module;\n\tu16 offset;\n};\n\nstruct bpf_kfunc_btf_tab {\n\tstruct bpf_kfunc_btf descs[256];\n\tu32 nr_descs;\n};\n\nstruct bpf_kfunc_call_arg_meta {\n\tstruct btf *btf;\n\tu32 func_id;\n\tu32 kfunc_flags;\n\tconst struct btf_type *func_proto;\n\tconst char *func_name;\n\tu32 ref_obj_id;\n\tu8 release_regno;\n\tbool r0_rdonly;\n\tu32 ret_btf_id;\n\tu64 r0_size;\n\tu32 subprogno;\n\tstruct {\n\t\tu64 value;\n\t\tbool found;\n\t} arg_constant;\n\tstruct btf *arg_btf;\n\tu32 arg_btf_id;\n\tbool arg_owning_ref;\n\tstruct {\n\t\tstruct btf_field *field;\n\t} arg_list_head;\n\tstruct {\n\t\tstruct btf_field *field;\n\t} arg_rbtree_root;\n\tstruct {\n\t\tenum bpf_dynptr_type type;\n\t\tu32 id;\n\t\tu32 ref_obj_id;\n\t} initialized_dynptr;\n\tstruct {\n\t\tu8 spi;\n\t\tu8 frameno;\n\t} iter;\n\tstruct {\n\t\tstruct bpf_map *ptr;\n\t\tint uid;\n\t} map;\n\tu64 mem_size;\n};\n\nstruct bpf_kfunc_desc {\n\tstruct btf_func_model func_model;\n\tu32 func_id;\n\ts32 imm;\n\tu16 offset;\n\tlong unsigned int addr;\n};\n\nstruct bpf_kfunc_desc_tab {\n\tstruct bpf_kfunc_desc descs[256];\n\tu32 nr_descs;\n};\n\nstruct bpf_line_info {\n\t__u32 insn_off;\n\t__u32 file_name_off;\n\t__u32 line_off;\n\t__u32 line_col;\n};\n\nstruct bpf_link_info {\n\t__u32 type;\n\t__u32 id;\n\t__u32 prog_id;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 tp_name;\n\t\t\t__u32 tp_name_len;\n\t\t} raw_tracepoint;\n\t\tstruct {\n\t\t\t__u32 attach_type;\n\t\t\t__u32 target_obj_id;\n\t\t\t__u32 target_btf_id;\n\t\t} tracing;\n\t\tstruct {\n\t\t\t__u64 cgroup_id;\n\t\t\t__u32 attach_type;\n\t\t} cgroup;\n\t\tstruct {\n\t\t\t__u64 target_name;\n\t\t\t__u32 target_name_len;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 map_id;\n\t\t\t\t} map;\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 cgroup_id;\n\t\t\t\t\t__u32 order;\n\t\t\t\t} cgroup;\n\t\t\t\tstruct {\n\t\t\t\t\t__u32 tid;\n\t\t\t\t\t__u32 pid;\n\t\t\t\t} task;\n\t\t\t};\n\t\t} iter;\n\t\tstruct {\n\t\t\t__u32 netns_ino;\n\t\t\t__u32 attach_type;\n\t\t} netns;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t} xdp;\n\t\tstruct {\n\t\t\t__u32 map_id;\n\t\t} struct_ops;\n\t\tstruct {\n\t\t\t__u32 pf;\n\t\t\t__u32 hooknum;\n\t\t\t__s32 priority;\n\t\t\t__u32 flags;\n\t\t} netfilter;\n\t\tstruct {\n\t\t\t__u64 addrs;\n\t\t\t__u32 count;\n\t\t\t__u32 flags;\n\t\t\t__u64 missed;\n\t\t\t__u64 cookies;\n\t\t} kprobe_multi;\n\t\tstruct {\n\t\t\t__u64 path;\n\t\t\t__u64 offsets;\n\t\t\t__u64 ref_ctr_offsets;\n\t\t\t__u64 cookies;\n\t\t\t__u32 path_size;\n\t\t\t__u32 count;\n\t\t\t__u32 flags;\n\t\t\t__u32 pid;\n\t\t} uprobe_multi;\n\t\tstruct {\n\t\t\t__u32 type;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 file_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u32 offset;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} uprobe;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 func_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u32 offset;\n\t\t\t\t\t__u64 addr;\n\t\t\t\t\t__u64 missed;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} kprobe;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 tp_name;\n\t\t\t\t\t__u32 name_len;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} tracepoint;\n\t\t\t\tstruct {\n\t\t\t\t\t__u64 config;\n\t\t\t\t\t__u32 type;\n\t\t\t\t\t__u64 cookie;\n\t\t\t\t} event;\n\t\t\t};\n\t\t} perf_event;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t\t__u32 attach_type;\n\t\t} tcx;\n\t\tstruct {\n\t\t\t__u32 ifindex;\n\t\t\t__u32 attach_type;\n\t\t} netkit;\n\t\tstruct {\n\t\t\t__u32 map_id;\n\t\t\t__u32 attach_type;\n\t\t} sockmap;\n\t};\n};\n\nstruct bpf_link_ops {\n\tvoid (*release)(struct bpf_link *);\n\tvoid (*dealloc)(struct bpf_link *);\n\tvoid (*dealloc_deferred)(struct bpf_link *);\n\tint (*detach)(struct bpf_link *);\n\tint (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);\n\tvoid (*show_fdinfo)(const struct bpf_link *, struct seq_file *);\n\tint (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);\n\tint (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *);\n\t__poll_t (*poll)(struct file *, struct poll_table_struct *);\n};\n\nstruct bpf_link_primer {\n\tstruct bpf_link *link;\n\tstruct file *file;\n\tint fd;\n\tu32 id;\n};\n\nstruct bpf_list_head {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_list_node {\n\t__u64 __opaque[3];\n};\n\nstruct bpf_list_node_kern {\n\tstruct list_head list_head;\n\tvoid *owner;\n};\n\nstruct bpf_local_storage_data;\n\nstruct bpf_local_storage_map;\n\nstruct bpf_local_storage {\n\tstruct bpf_local_storage_data *cache[16];\n\tstruct bpf_local_storage_map *smap;\n\tstruct hlist_head list;\n\tvoid *owner;\n\tstruct callback_head rcu;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_local_storage_cache {\n\tspinlock_t idx_lock;\n\tu64 idx_usage_counts[16];\n};\n\nstruct bpf_local_storage_data {\n\tstruct bpf_local_storage_map *smap;\n\tu8 data[0];\n};\n\nstruct bpf_local_storage_elem {\n\tstruct hlist_node map_node;\n\tstruct hlist_node snode;\n\tstruct bpf_local_storage *local_storage;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct hlist_node free_node;\n\t};\n\tlong: 64;\n\tstruct bpf_local_storage_data sdata;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_local_storage_map_bucket;\n\nstruct bpf_local_storage_map {\n\tstruct bpf_map map;\n\tstruct bpf_local_storage_map_bucket *buckets;\n\tu32 bucket_log;\n\tu16 elem_size;\n\tu16 cache_idx;\n\tstruct bpf_mem_alloc selem_ma;\n\tstruct bpf_mem_alloc storage_ma;\n\tbool bpf_ma;\n};\n\nstruct bpf_local_storage_map_bucket {\n\tstruct hlist_head list;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_lpm_trie_key_hdr {\n\t__u32 prefixlen;\n};\n\nstruct bpf_lpm_trie_key_u8 {\n\tunion {\n\t\tstruct bpf_lpm_trie_key_hdr hdr;\n\t\t__u32 prefixlen;\n\t};\n\t__u8 data[0];\n};\n\nstruct bpf_lru_locallist {\n\tstruct list_head lists[2];\n\tu16 next_steal;\n\traw_spinlock_t lock;\n};\n\nstruct bpf_lru_node {\n\tstruct list_head list;\n\tu16 cpu;\n\tu8 type;\n\tu8 ref;\n};\n\nstruct bpf_offloaded_map;\n\nstruct bpf_map_dev_ops {\n\tint (*map_get_next_key)(struct bpf_offloaded_map *, void *, void *);\n\tint (*map_lookup_elem)(struct bpf_offloaded_map *, void *, void *);\n\tint (*map_update_elem)(struct bpf_offloaded_map *, void *, void *, u64);\n\tint (*map_delete_elem)(struct bpf_offloaded_map *, void *);\n};\n\nstruct bpf_map_info {\n\t__u32 type;\n\t__u32 id;\n\t__u32 key_size;\n\t__u32 value_size;\n\t__u32 max_entries;\n\t__u32 map_flags;\n\tchar name[16];\n\t__u32 ifindex;\n\t__u32 btf_vmlinux_value_type_id;\n\t__u64 netns_dev;\n\t__u64 netns_ino;\n\t__u32 btf_id;\n\t__u32 btf_key_type_id;\n\t__u32 btf_value_type_id;\n\t__u32 btf_vmlinux_id;\n\t__u64 map_extra;\n};\n\ntypedef u64 (*bpf_callback_t)(u64, u64, u64, u64, u64);\n\nstruct bpf_prog_aux;\n\nstruct bpf_map_ops {\n\tint (*map_alloc_check)(union bpf_attr *);\n\tstruct bpf_map * (*map_alloc)(union bpf_attr *);\n\tvoid (*map_release)(struct bpf_map *, struct file *);\n\tvoid (*map_free)(struct bpf_map *);\n\tint (*map_get_next_key)(struct bpf_map *, void *, void *);\n\tvoid (*map_release_uref)(struct bpf_map *);\n\tvoid * (*map_lookup_elem_sys_only)(struct bpf_map *, void *);\n\tint (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64);\n\tint (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *);\n\tint (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *);\n\tvoid * (*map_lookup_elem)(struct bpf_map *, void *);\n\tlong int (*map_update_elem)(struct bpf_map *, void *, void *, u64);\n\tlong int (*map_delete_elem)(struct bpf_map *, void *);\n\tlong int (*map_push_elem)(struct bpf_map *, void *, u64);\n\tlong int (*map_pop_elem)(struct bpf_map *, void *);\n\tlong int (*map_peek_elem)(struct bpf_map *, void *);\n\tvoid * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32);\n\tvoid * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int);\n\tvoid (*map_fd_put_ptr)(struct bpf_map *, void *, bool);\n\tint (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *);\n\tu32 (*map_fd_sys_lookup_elem)(void *);\n\tvoid (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *);\n\tint (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *);\n\tint (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *);\n\tvoid (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *);\n\tvoid (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *);\n\tint (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32);\n\tint (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *);\n\tint (*map_mmap)(struct bpf_map *, struct vm_area_struct *);\n\t__poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *);\n\tlong unsigned int (*map_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tint (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32);\n\tvoid (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32);\n\tstruct bpf_local_storage ** (*map_owner_storage_ptr)(void *);\n\tlong int (*map_redirect)(struct bpf_map *, u64, u64);\n\tbool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *);\n\tint (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *);\n\tlong int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64);\n\tu64 (*map_mem_usage)(const struct bpf_map *);\n\tint *map_btf_id;\n\tconst struct bpf_iter_seq_info *iter_seq_info;\n};\n\nstruct llist_head {\n\tstruct llist_node *first;\n};\n\nstruct rcuwait {\n\tstruct task_struct *task;\n};\n\nstruct irq_work {\n\tstruct __call_single_node node;\n\tvoid (*func)(struct irq_work *);\n\tstruct rcuwait irqwait;\n};\n\nstruct bpf_mem_cache {\n\tstruct llist_head free_llist;\n\tlocal_t active;\n\tstruct llist_head free_llist_extra;\n\tstruct irq_work refill_work;\n\tstruct obj_cgroup *objcg;\n\tint unit_size;\n\tint free_cnt;\n\tint low_watermark;\n\tint high_watermark;\n\tint batch;\n\tint percpu_size;\n\tbool draining;\n\tstruct bpf_mem_cache *tgt;\n\tstruct llist_head free_by_rcu;\n\tstruct llist_node *free_by_rcu_tail;\n\tstruct llist_head waiting_for_gp;\n\tstruct llist_node *waiting_for_gp_tail;\n\tstruct callback_head rcu;\n\tatomic_t call_rcu_in_progress;\n\tstruct llist_head free_llist_extra_rcu;\n\tstruct llist_head free_by_rcu_ttrace;\n\tstruct llist_head waiting_for_gp_ttrace;\n\tstruct callback_head rcu_ttrace;\n\tatomic_t call_rcu_ttrace_in_progress;\n};\n\nstruct bpf_mem_caches {\n\tstruct bpf_mem_cache cache[11];\n};\n\nstruct bpf_mount_opts {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tu64 delegate_cmds;\n\tu64 delegate_maps;\n\tu64 delegate_progs;\n\tu64 delegate_attachs;\n};\n\nstruct bpf_mprog_fp {\n\tstruct bpf_prog *prog;\n};\n\nstruct bpf_mprog_bundle;\n\nstruct bpf_mprog_entry {\n\tstruct bpf_mprog_fp fp_items[64];\n\tstruct bpf_mprog_bundle *parent;\n};\n\nstruct bpf_mprog_cp {\n\tstruct bpf_link *link;\n};\n\nstruct bpf_mprog_bundle {\n\tstruct bpf_mprog_entry a;\n\tstruct bpf_mprog_entry b;\n\tstruct bpf_mprog_cp cp_items[64];\n\tstruct bpf_prog *ref;\n\tatomic64_t revision;\n\tu32 count;\n};\n\nstruct bpf_nested_pt_regs {\n\tstruct pt_regs regs[3];\n};\n\nstruct bpf_nh_params {\n\tu32 nh_family;\n\tunion {\n\t\tu32 ipv4_nh;\n\t\tstruct in6_addr ipv6_nh;\n\t};\n};\n\nstruct bpf_redirect_info {\n\tu64 tgt_index;\n\tvoid *tgt_value;\n\tstruct bpf_map *map;\n\tu32 flags;\n\tu32 map_id;\n\tenum bpf_map_type map_type;\n\tstruct bpf_nh_params nh;\n\tu32 kern_flags;\n};\n\nstruct bpf_net_context {\n\tstruct bpf_redirect_info ri;\n\tstruct list_head cpu_map_flush_list;\n\tstruct list_head dev_map_flush_list;\n\tstruct list_head xskmap_map_flush_list;\n};\n\nstruct bpf_netns_link {\n\tstruct bpf_link link;\n\tenum bpf_attach_type type;\n\tenum netns_bpf_attach_type netns_type;\n\tstruct net *net;\n\tstruct list_head node;\n};\n\ntypedef unsigned int nf_hookfn(void *, struct sk_buff *, const struct nf_hook_state *);\n\nstruct nf_hook_ops {\n\tnf_hookfn *hook;\n\tstruct net_device *dev;\n\tvoid *priv;\n\tu8 pf;\n\tenum nf_hook_ops_type hook_ops_type: 8;\n\tunsigned int hooknum;\n\tint priority;\n};\n\nstruct nf_defrag_hook;\n\nstruct bpf_nf_link {\n\tstruct bpf_link link;\n\tstruct nf_hook_ops hook_ops;\n\tnetns_tracker ns_tracker;\n\tstruct net *net;\n\tu32 dead;\n\tconst struct nf_defrag_hook *defrag_hook;\n};\n\nstruct bpf_prog_offload_ops;\n\nstruct bpf_offload_dev {\n\tconst struct bpf_prog_offload_ops *ops;\n\tstruct list_head netdevs;\n\tvoid *priv;\n};\n\nstruct bpf_offload_netdev {\n\tstruct rhash_head l;\n\tstruct net_device *netdev;\n\tstruct bpf_offload_dev *offdev;\n\tstruct list_head progs;\n\tstruct list_head maps;\n\tstruct list_head offdev_netdevs;\n};\n\nstruct bpf_offloaded_map {\n\tstruct bpf_map map;\n\tstruct net_device *netdev;\n\tconst struct bpf_map_dev_ops *dev_ops;\n\tvoid *dev_priv;\n\tstruct list_head offloads;\n};\n\nstruct bpf_perf_event_value {\n\t__u64 counter;\n\t__u64 enabled;\n\t__u64 running;\n};\n\nstruct bpf_perf_link {\n\tstruct bpf_link link;\n\tstruct file *perf_file;\n};\n\nstruct bpf_pidns_info {\n\t__u32 pid;\n\t__u32 tgid;\n};\n\nstruct bpf_preload_info {\n\tchar link_name[16];\n\tstruct bpf_link *link;\n};\n\nstruct bpf_preload_ops {\n\tint (*preload)(struct bpf_preload_info *);\n\tstruct module *owner;\n};\n\nstruct sock_filter {\n\t__u16 code;\n\t__u8 jt;\n\t__u8 jf;\n\t__u32 k;\n};\n\nstruct bpf_prog_stats;\n\nstruct sock_fprog_kern;\n\nstruct bpf_prog {\n\tu16 pages;\n\tu16 jited: 1;\n\tu16 jit_requested: 1;\n\tu16 gpl_compatible: 1;\n\tu16 cb_access: 1;\n\tu16 dst_needed: 1;\n\tu16 blinding_requested: 1;\n\tu16 blinded: 1;\n\tu16 is_func: 1;\n\tu16 kprobe_override: 1;\n\tu16 has_callchain_buf: 1;\n\tu16 enforce_expected_attach_type: 1;\n\tu16 call_get_stack: 1;\n\tu16 call_get_func_ip: 1;\n\tu16 tstamp_type_access: 1;\n\tu16 sleepable: 1;\n\tenum bpf_prog_type type;\n\tenum bpf_attach_type expected_attach_type;\n\tu32 len;\n\tu32 jited_len;\n\tu8 tag[8];\n\tstruct bpf_prog_stats *stats;\n\tint *active;\n\tunsigned int (*bpf_func)(const void *, const struct bpf_insn *);\n\tstruct bpf_prog_aux *aux;\n\tstruct sock_fprog_kern *orig_prog;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_insns;\n\t\t\tstruct sock_filter insns[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_insnsi;\n\t\t\tstruct bpf_insn insnsi[0];\n\t\t};\n\t};\n};\n\nstruct bpf_trampoline;\n\nstruct bpf_prog_ops;\n\nstruct btf_mod_pair;\n\nstruct user_struct;\n\nstruct bpf_token;\n\nstruct bpf_prog_offload;\n\nstruct exception_table_entry;\n\nstruct bpf_prog_aux {\n\tatomic64_t refcnt;\n\tu32 used_map_cnt;\n\tu32 used_btf_cnt;\n\tu32 max_ctx_offset;\n\tu32 max_pkt_offset;\n\tu32 max_tp_access;\n\tu32 stack_depth;\n\tu32 id;\n\tu32 func_cnt;\n\tu32 real_func_cnt;\n\tu32 func_idx;\n\tu32 attach_btf_id;\n\tu32 ctx_arg_info_size;\n\tu32 max_rdonly_access;\n\tu32 max_rdwr_access;\n\tstruct btf *attach_btf;\n\tconst struct bpf_ctx_arg_aux *ctx_arg_info;\n\tvoid *priv_stack_ptr;\n\tstruct mutex dst_mutex;\n\tstruct bpf_prog *dst_prog;\n\tstruct bpf_trampoline *dst_trampoline;\n\tenum bpf_prog_type saved_dst_prog_type;\n\tenum bpf_attach_type saved_dst_attach_type;\n\tbool verifier_zext;\n\tbool dev_bound;\n\tbool offload_requested;\n\tbool attach_btf_trace;\n\tbool attach_tracing_prog;\n\tbool func_proto_unreliable;\n\tbool tail_call_reachable;\n\tbool xdp_has_frags;\n\tbool exception_cb;\n\tbool exception_boundary;\n\tbool is_extended;\n\tbool jits_use_priv_stack;\n\tbool priv_stack_requested;\n\tbool changes_pkt_data;\n\tu64 prog_array_member_cnt;\n\tstruct mutex ext_mutex;\n\tstruct bpf_arena *arena;\n\tvoid (*recursion_detected)(struct bpf_prog *);\n\tconst struct btf_type *attach_func_proto;\n\tconst char *attach_func_name;\n\tstruct bpf_prog **func;\n\tvoid *jit_data;\n\tstruct bpf_jit_poke_descriptor *poke_tab;\n\tstruct bpf_kfunc_desc_tab *kfunc_tab;\n\tstruct bpf_kfunc_btf_tab *kfunc_btf_tab;\n\tu32 size_poke_tab;\n\tstruct bpf_ksym ksym;\n\tconst struct bpf_prog_ops *ops;\n\tstruct bpf_map **used_maps;\n\tstruct mutex used_maps_mutex;\n\tstruct btf_mod_pair *used_btfs;\n\tstruct bpf_prog *prog;\n\tstruct user_struct *user;\n\tu64 load_time;\n\tu32 verified_insns;\n\tint cgroup_atype;\n\tstruct bpf_map *cgroup_storage[2];\n\tchar name[16];\n\tu64 (*bpf_exception_cb)(u64, u64, u64, u64, u64);\n\tvoid *security;\n\tstruct bpf_token *token;\n\tstruct bpf_prog_offload *offload;\n\tstruct btf *btf;\n\tstruct bpf_func_info *func_info;\n\tstruct bpf_func_info_aux *func_info_aux;\n\tstruct bpf_line_info *linfo;\n\tvoid **jited_linfo;\n\tu32 func_info_cnt;\n\tu32 nr_linfo;\n\tu32 linfo_idx;\n\tstruct module *mod;\n\tu32 num_exentries;\n\tstruct exception_table_entry *extable;\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct bpf_prog_dummy {\n\tstruct bpf_prog prog;\n};\n\nstruct bpf_prog_info {\n\t__u32 type;\n\t__u32 id;\n\t__u8 tag[8];\n\t__u32 jited_prog_len;\n\t__u32 xlated_prog_len;\n\t__u64 jited_prog_insns;\n\t__u64 xlated_prog_insns;\n\t__u64 load_time;\n\t__u32 created_by_uid;\n\t__u32 nr_map_ids;\n\t__u64 map_ids;\n\tchar name[16];\n\t__u32 ifindex;\n\t__u32 gpl_compatible: 1;\n\t__u64 netns_dev;\n\t__u64 netns_ino;\n\t__u32 nr_jited_ksyms;\n\t__u32 nr_jited_func_lens;\n\t__u64 jited_ksyms;\n\t__u64 jited_func_lens;\n\t__u32 btf_id;\n\t__u32 func_info_rec_size;\n\t__u64 func_info;\n\t__u32 nr_func_info;\n\t__u32 nr_line_info;\n\t__u64 line_info;\n\t__u64 jited_line_info;\n\t__u32 nr_jited_line_info;\n\t__u32 line_info_rec_size;\n\t__u32 jited_line_info_rec_size;\n\t__u32 nr_prog_tags;\n\t__u64 prog_tags;\n\t__u64 run_time_ns;\n\t__u64 run_cnt;\n\t__u64 recursion_misses;\n\t__u32 verified_insns;\n\t__u32 attach_btf_obj_id;\n\t__u32 attach_btf_id;\n};\n\nstruct bpf_prog_kstats {\n\tu64 nsecs;\n\tu64 cnt;\n\tu64 misses;\n};\n\nstruct bpf_prog_list {\n\tstruct hlist_node node;\n\tstruct bpf_prog *prog;\n\tstruct bpf_cgroup_link *link;\n\tstruct bpf_cgroup_storage *storage[2];\n};\n\nstruct bpf_prog_offload {\n\tstruct bpf_prog *prog;\n\tstruct net_device *netdev;\n\tstruct bpf_offload_dev *offdev;\n\tvoid *dev_priv;\n\tstruct list_head offloads;\n\tbool dev_state;\n\tbool opt_failed;\n\tvoid *jited_image;\n\tu32 jited_len;\n};\n\nstruct bpf_prog_offload_ops {\n\tint (*insn_hook)(struct bpf_verifier_env *, int, int);\n\tint (*finalize)(struct bpf_verifier_env *);\n\tint (*replace_insn)(struct bpf_verifier_env *, u32, struct bpf_insn *);\n\tint (*remove_insns)(struct bpf_verifier_env *, u32, u32);\n\tint (*prepare)(struct bpf_prog *);\n\tint (*translate)(struct bpf_prog *);\n\tvoid (*destroy)(struct bpf_prog *);\n};\n\nstruct bpf_prog_ops {\n\tint (*test_run)(struct bpf_prog *, const union bpf_attr *, union bpf_attr *);\n};\n\nstruct bpf_prog_stats {\n\tu64_stats_t cnt;\n\tu64_stats_t nsecs;\n\tu64_stats_t misses;\n\tstruct u64_stats_sync syncp;\n\tlong: 64;\n};\n\nstruct bpf_queue_stack {\n\tstruct bpf_map map;\n\traw_spinlock_t lock;\n\tu32 head;\n\tu32 tail;\n\tu32 size;\n\tlong: 0;\n\tchar elements[0];\n};\n\nstruct tracepoint;\n\nstruct bpf_raw_event_map {\n\tstruct tracepoint *tp;\n\tvoid *bpf_func;\n\tu32 num_args;\n\tu32 writable_size;\n\tlong: 64;\n};\n\nstruct bpf_raw_tp_link {\n\tstruct bpf_link link;\n\tstruct bpf_raw_event_map *btp;\n\tu64 cookie;\n};\n\nstruct bpf_raw_tp_null_args {\n\tconst char *func;\n\tu64 mask;\n};\n\nstruct bpf_raw_tp_regs {\n\tstruct pt_regs regs[3];\n};\n\nstruct bpf_raw_tp_test_run_info {\n\tstruct bpf_prog *prog;\n\tvoid *ctx;\n\tu32 retval;\n};\n\nstruct bpf_rb_node {\n\t__u64 __opaque[4];\n};\n\nstruct bpf_rb_node_kern {\n\tstruct rb_node rb_node;\n\tvoid *owner;\n};\n\nstruct bpf_rb_root {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_redir_neigh {\n\t__u32 nh_family;\n\tunion {\n\t\t__be32 ipv4_nh;\n\t\t__u32 ipv6_nh[4];\n\t};\n};\n\nstruct bpf_refcount {\n\t__u32 __opaque[1];\n};\n\nstruct bpf_reference_state {\n\tenum ref_state_type type;\n\tint id;\n\tint insn_idx;\n\tvoid *ptr;\n};\n\nstruct bpf_reg_types {\n\tconst enum bpf_reg_type types[10];\n\tu32 *btf_id;\n};\n\nstruct bpf_ringbuf {\n\twait_queue_head_t waitq;\n\tstruct irq_work work;\n\tu64 mask;\n\tstruct page **pages;\n\tint nr_pages;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t spinlock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t busy;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int consumer_pos;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int producer_pos;\n\tlong unsigned int pending_pos;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tchar data[0];\n};\n\nstruct bpf_ringbuf_hdr {\n\tu32 len;\n\tu32 pg_off;\n};\n\nstruct bpf_ringbuf_map {\n\tstruct bpf_map map;\n\tstruct bpf_ringbuf *rb;\n};\n\nstruct bpf_sanitize_info {\n\tstruct bpf_insn_aux_data aux;\n\tbool mask_to_left;\n};\n\nstruct bpf_security_struct {\n\tu32 sid;\n};\n\nstruct bpf_session_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tbool is_return;\n\tvoid *data;\n};\n\nstruct sk_psock_progs {\n\tstruct bpf_prog *msg_parser;\n\tstruct bpf_prog *stream_parser;\n\tstruct bpf_prog *stream_verdict;\n\tstruct bpf_prog *skb_verdict;\n\tstruct bpf_link *msg_parser_link;\n\tstruct bpf_link *stream_parser_link;\n\tstruct bpf_link *stream_verdict_link;\n\tstruct bpf_link *skb_verdict_link;\n};\n\nstruct bpf_shtab_bucket;\n\nstruct bpf_shtab {\n\tstruct bpf_map map;\n\tstruct bpf_shtab_bucket *buckets;\n\tu32 buckets_num;\n\tu32 elem_size;\n\tstruct sk_psock_progs progs;\n\tatomic_t count;\n};\n\nstruct bpf_shtab_bucket {\n\tstruct hlist_head head;\n\tspinlock_t lock;\n};\n\nstruct bpf_shtab_elem {\n\tstruct callback_head rcu;\n\tu32 hash;\n\tstruct sock *sk;\n\tstruct hlist_node node;\n\tu8 key[0];\n};\n\nstruct bpf_sk_storage_diag {\n\tu32 nr_maps;\n\tstruct bpf_map *maps[0];\n};\n\nstruct qdisc_skb_cb {\n\tstruct {\n\t\tunsigned int pkt_len;\n\t\tu16 slave_dev_queue_mapping;\n\t\tu16 tc_classid;\n\t};\n\tunsigned char data[20];\n};\n\nstruct bpf_skb_data_end {\n\tstruct qdisc_skb_cb qdisc_cb;\n\tvoid *data_meta;\n\tvoid *data_end;\n};\n\nstruct bpf_sock_tuple {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 saddr;\n\t\t\t__be32 daddr;\n\t\t\t__be16 sport;\n\t\t\t__be16 dport;\n\t\t} ipv4;\n\t\tstruct {\n\t\t\t__be32 saddr[4];\n\t\t\t__be32 daddr[4];\n\t\t\t__be16 sport;\n\t\t\t__be16 dport;\n\t\t} ipv6;\n\t};\n};\n\nstruct bpf_sockopt_buf {\n\tu8 data[32];\n};\n\nstruct bpf_stab {\n\tstruct bpf_map map;\n\tstruct sock **sks;\n\tstruct sk_psock_progs progs;\n\tspinlock_t lock;\n};\n\nstruct bpf_stack_build_id {\n\t__s32 status;\n\tunsigned char build_id[20];\n\tunion {\n\t\t__u64 offset;\n\t\t__u64 ip;\n\t};\n};\n\nstruct stack_map_bucket;\n\nstruct bpf_stack_map {\n\tstruct bpf_map map;\n\tvoid *elems;\n\tstruct pcpu_freelist freelist;\n\tu32 n_buckets;\n\tstruct stack_map_bucket *buckets[0];\n};\n\nstruct bpf_stack_state {\n\tstruct bpf_reg_state spilled_ptr;\n\tu8 slot_type[8];\n};\n\nstruct bpf_storage_buffer {\n\tstruct callback_head rcu;\n\tchar data[0];\n};\n\nstruct bpf_verifier_ops;\n\nstruct btf_member;\n\nstruct bpf_struct_ops {\n\tconst struct bpf_verifier_ops *verifier_ops;\n\tint (*init)(struct btf *);\n\tint (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *);\n\tint (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);\n\tint (*reg)(void *, struct bpf_link *);\n\tvoid (*unreg)(void *, struct bpf_link *);\n\tint (*update)(void *, void *, struct bpf_link *);\n\tint (*validate)(void *);\n\tvoid *cfi_stubs;\n\tstruct module *owner;\n\tconst char *name;\n\tstruct btf_func_model func_models[64];\n};\n\nstruct bpf_struct_ops_arg_info {\n\tstruct bpf_ctx_arg_aux *info;\n\tu32 cnt;\n};\n\nstruct bpf_struct_ops_desc {\n\tstruct bpf_struct_ops *st_ops;\n\tconst struct btf_type *type;\n\tconst struct btf_type *value_type;\n\tu32 type_id;\n\tu32 value_id;\n\tstruct bpf_struct_ops_arg_info *arg_info;\n};\n\nstruct bpf_subprog_arg_info {\n\tenum bpf_arg_type arg_type;\n\tunion {\n\t\tu32 mem_size;\n\t\tu32 btf_id;\n\t};\n};\n\nstruct bpf_subprog_info {\n\tu32 start;\n\tu32 linfo_idx;\n\tu16 stack_depth;\n\tu16 stack_extra;\n\ts16 fastcall_stack_off;\n\tbool has_tail_call: 1;\n\tbool tail_call_reachable: 1;\n\tbool has_ld_abs: 1;\n\tbool is_cb: 1;\n\tbool is_async_cb: 1;\n\tbool is_exception_cb: 1;\n\tbool args_cached: 1;\n\tbool keep_fastcall_stack: 1;\n\tbool changes_pkt_data: 1;\n\tenum priv_stack_mode priv_stack_mode;\n\tu8 arg_cnt;\n\tstruct bpf_subprog_arg_info args[5];\n};\n\nstruct tcp_iter_state {\n\tstruct seq_net_private p;\n\tenum tcp_seq_states state;\n\tstruct sock *syn_wait_sk;\n\tint bucket;\n\tint offset;\n\tint sbucket;\n\tint num;\n\tloff_t last_pos;\n};\n\nstruct bpf_tcp_iter_state {\n\tstruct tcp_iter_state state;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_tcp_req_attrs {\n\tu32 rcv_tsval;\n\tu32 rcv_tsecr;\n\tu16 mss;\n\tu8 rcv_wscale;\n\tu8 snd_wscale;\n\tu8 ecn_ok;\n\tu8 wscale_ok;\n\tu8 sack_ok;\n\tu8 tstamp_ok;\n\tu8 usec_ts_ok;\n\tu8 reserved[3];\n};\n\nstruct bpf_tcp_sock {\n\t__u32 snd_cwnd;\n\t__u32 srtt_us;\n\t__u32 rtt_min;\n\t__u32 snd_ssthresh;\n\t__u32 rcv_nxt;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 mss_cache;\n\t__u32 ecn_flags;\n\t__u32 rate_delivered;\n\t__u32 rate_interval_us;\n\t__u32 packets_out;\n\t__u32 retrans_out;\n\t__u32 total_retrans;\n\t__u32 segs_in;\n\t__u32 data_segs_in;\n\t__u32 segs_out;\n\t__u32 data_segs_out;\n\t__u32 lost_out;\n\t__u32 sacked_out;\n\t__u64 bytes_received;\n\t__u64 bytes_acked;\n\t__u32 dsack_dups;\n\t__u32 delivered;\n\t__u32 delivered_ce;\n\t__u32 icsk_retransmits;\n};\n\nstruct bpf_test_timer {\n\tenum {\n\t\tNO_PREEMPT = 0,\n\t\tNO_MIGRATE = 1,\n\t} mode;\n\tu32 i;\n\tu64 time_start;\n\tu64 time_spent;\n};\n\nstruct bpf_throw_ctx {\n\tstruct bpf_prog_aux *aux;\n\tu64 sp;\n\tu64 bp;\n\tint cnt;\n};\n\nstruct bpf_timer {\n\t__u64 __opaque[2];\n};\n\nstruct user_namespace;\n\nstruct bpf_token {\n\tstruct work_struct work;\n\tatomic64_t refcnt;\n\tstruct user_namespace *userns;\n\tu64 allowed_cmds;\n\tu64 allowed_maps;\n\tu64 allowed_progs;\n\tu64 allowed_attachs;\n\tvoid *security;\n};\n\nstruct bpf_trace_module {\n\tstruct module *module;\n\tstruct list_head list;\n};\n\nstruct bpf_trace_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tu64 bpf_cookie;\n\tbool is_uprobe;\n};\n\nunion perf_sample_weight {\n\t__u64 full;\n\tstruct {\n\t\t__u32 var1_dw;\n\t\t__u16 var2_w;\n\t\t__u16 var3_w;\n\t};\n};\n\nunion perf_mem_data_src {\n\t__u64 val;\n\tstruct {\n\t\t__u64 mem_op: 5;\n\t\t__u64 mem_lvl: 14;\n\t\t__u64 mem_snoop: 5;\n\t\t__u64 mem_lock: 2;\n\t\t__u64 mem_dtlb: 7;\n\t\t__u64 mem_lvl_num: 4;\n\t\t__u64 mem_remote: 1;\n\t\t__u64 mem_snoopx: 2;\n\t\t__u64 mem_blk: 3;\n\t\t__u64 mem_hops: 3;\n\t\t__u64 mem_rsvd: 18;\n\t};\n};\n\nstruct perf_regs {\n\t__u64 abi;\n\tstruct pt_regs *regs;\n};\n\nstruct perf_callchain_entry;\n\nstruct perf_raw_record;\n\nstruct perf_branch_stack;\n\nstruct perf_sample_data {\n\tu64 sample_flags;\n\tu64 period;\n\tu64 dyn_size;\n\tu64 type;\n\tstruct {\n\t\tu32 pid;\n\t\tu32 tid;\n\t} tid_entry;\n\tu64 time;\n\tu64 id;\n\tstruct {\n\t\tu32 cpu;\n\t\tu32 reserved;\n\t} cpu_entry;\n\tu64 ip;\n\tstruct perf_callchain_entry *callchain;\n\tstruct perf_raw_record *raw;\n\tstruct perf_branch_stack *br_stack;\n\tu64 *br_stack_cntr;\n\tunion perf_sample_weight weight;\n\tunion perf_mem_data_src data_src;\n\tu64 txn;\n\tstruct perf_regs regs_user;\n\tstruct perf_regs regs_intr;\n\tu64 stack_user_size;\n\tu64 stream_id;\n\tu64 cgroup;\n\tu64 addr;\n\tu64 phys_addr;\n\tu64 data_page_size;\n\tu64 code_page_size;\n\tu64 aux_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct bpf_trace_sample_data {\n\tstruct perf_sample_data sds[3];\n};\n\nstruct bpf_tramp_link {\n\tstruct bpf_link link;\n\tstruct hlist_node tramp_hlist;\n\tu64 cookie;\n};\n\nstruct bpf_tracing_link {\n\tstruct bpf_tramp_link link;\n\tenum bpf_attach_type attach_type;\n\tstruct bpf_trampoline *trampoline;\n\tstruct bpf_prog *tgt_prog;\n};\n\nstruct bpf_tramp_image {\n\tvoid *image;\n\tint size;\n\tstruct bpf_ksym ksym;\n\tstruct percpu_ref pcref;\n\tvoid *ip_after_call;\n\tvoid *ip_epilogue;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n};\n\nstruct bpf_tramp_run_ctx {\n\tstruct bpf_run_ctx run_ctx;\n\tu64 bpf_cookie;\n\tstruct bpf_run_ctx *saved_run_ctx;\n};\n\nstruct ftrace_ops;\n\nstruct bpf_trampoline {\n\tstruct hlist_node hlist;\n\tstruct ftrace_ops *fops;\n\tstruct mutex mutex;\n\trefcount_t refcnt;\n\tu32 flags;\n\tu64 key;\n\tstruct {\n\t\tstruct btf_func_model model;\n\t\tvoid *addr;\n\t\tbool ftrace_managed;\n\t} func;\n\tstruct bpf_prog *extension_prog;\n\tstruct hlist_head progs_hlist[3];\n\tint progs_cnt[3];\n\tstruct bpf_tramp_image *cur_image;\n};\n\nstruct bpf_tunnel_key {\n\t__u32 tunnel_id;\n\tunion {\n\t\t__u32 remote_ipv4;\n\t\t__u32 remote_ipv6[4];\n\t};\n\t__u8 tunnel_tos;\n\t__u8 tunnel_ttl;\n\tunion {\n\t\t__u16 tunnel_ext;\n\t\t__be16 tunnel_flags;\n\t};\n\t__u32 tunnel_label;\n\tunion {\n\t\t__u32 local_ipv4;\n\t\t__u32 local_ipv6[4];\n\t};\n};\n\nstruct bpf_tuple {\n\tstruct bpf_prog *prog;\n\tstruct bpf_link *link;\n};\n\nstruct udp_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n};\n\nstruct bpf_udp_iter_state {\n\tstruct udp_iter_state state;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tint offset;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct bpf_unix_iter_state {\n\tstruct seq_net_private p;\n\tunsigned int cur_sk;\n\tunsigned int end_sk;\n\tunsigned int max_sk;\n\tstruct sock **batch;\n\tbool st_bucket_done;\n};\n\nstruct uprobe_consumer {\n\tint (*handler)(struct uprobe_consumer *, struct pt_regs *, __u64 *);\n\tint (*ret_handler)(struct uprobe_consumer *, long unsigned int, struct pt_regs *, __u64 *);\n\tbool (*filter)(struct uprobe_consumer *, struct mm_struct *);\n\tstruct list_head cons_node;\n\t__u64 id;\n};\n\nstruct bpf_uprobe_multi_link;\n\nstruct uprobe;\n\nstruct bpf_uprobe {\n\tstruct bpf_uprobe_multi_link *link;\n\tloff_t offset;\n\tlong unsigned int ref_ctr_offset;\n\tu64 cookie;\n\tstruct uprobe *uprobe;\n\tstruct uprobe_consumer consumer;\n\tbool session;\n};\n\nstruct bpf_uprobe_multi_link {\n\tstruct path path;\n\tstruct bpf_link link;\n\tu32 cnt;\n\tu32 flags;\n\tstruct bpf_uprobe *uprobes;\n\tstruct task_struct *task;\n};\n\nstruct bpf_uprobe_multi_run_ctx {\n\tstruct bpf_session_run_ctx session_ctx;\n\tlong unsigned int entry_ip;\n\tstruct bpf_uprobe *uprobe;\n};\n\nstruct btf_mod_pair {\n\tstruct btf *btf;\n\tstruct module *module;\n};\n\nstruct bpf_verifier_log {\n\tu64 start_pos;\n\tu64 end_pos;\n\tchar *ubuf;\n\tu32 level;\n\tu32 len_total;\n\tu32 len_max;\n\tchar kbuf[1024];\n};\n\nstruct bpf_verifier_stack_elem;\n\nstruct bpf_verifier_state;\n\nstruct bpf_verifier_state_list;\n\nstruct bpf_verifier_env {\n\tu32 insn_idx;\n\tu32 prev_insn_idx;\n\tstruct bpf_prog *prog;\n\tconst struct bpf_verifier_ops *ops;\n\tstruct module *attach_btf_mod;\n\tstruct bpf_verifier_stack_elem *head;\n\tint stack_size;\n\tbool strict_alignment;\n\tbool test_state_freq;\n\tbool test_reg_invariants;\n\tstruct bpf_verifier_state *cur_state;\n\tstruct bpf_verifier_state_list **explored_states;\n\tstruct bpf_verifier_state_list *free_list;\n\tstruct bpf_map *used_maps[64];\n\tstruct btf_mod_pair used_btfs[64];\n\tu32 used_map_cnt;\n\tu32 used_btf_cnt;\n\tu32 id_gen;\n\tu32 hidden_subprog_cnt;\n\tint exception_callback_subprog;\n\tbool explore_alu_limits;\n\tbool allow_ptr_leaks;\n\tbool allow_uninit_stack;\n\tbool bpf_capable;\n\tbool bypass_spec_v1;\n\tbool bypass_spec_v4;\n\tbool seen_direct_write;\n\tbool seen_exception;\n\tstruct bpf_insn_aux_data *insn_aux_data;\n\tconst struct bpf_line_info *prev_linfo;\n\tstruct bpf_verifier_log log;\n\tstruct bpf_subprog_info subprog_info[258];\n\tunion {\n\t\tstruct bpf_idmap idmap_scratch;\n\t\tstruct bpf_idset idset_scratch;\n\t};\n\tstruct {\n\t\tint *insn_state;\n\t\tint *insn_stack;\n\t\tint cur_stack;\n\t} cfg;\n\tstruct backtrack_state bt;\n\tstruct bpf_insn_hist_entry *insn_hist;\n\tstruct bpf_insn_hist_entry *cur_hist_ent;\n\tu32 insn_hist_cap;\n\tu32 pass_cnt;\n\tu32 subprog_cnt;\n\tu32 prev_insn_processed;\n\tu32 insn_processed;\n\tu32 prev_jmps_processed;\n\tu32 jmps_processed;\n\tu64 verification_time;\n\tu32 max_states_per_insn;\n\tu32 total_states;\n\tu32 peak_states;\n\tu32 longest_mark_read_walk;\n\tbpfptr_t fd_array;\n\tu32 scratched_regs;\n\tu64 scratched_stack_slots;\n\tu64 prev_log_pos;\n\tu64 prev_insn_print_pos;\n\tstruct bpf_reg_state fake_reg[2];\n\tchar tmp_str_buf[320];\n\tstruct bpf_insn insn_buf[32];\n\tstruct bpf_insn epilogue_buf[32];\n};\n\nstruct bpf_verifier_ops {\n\tconst struct bpf_func_proto * (*get_func_proto)(enum bpf_func_id, const struct bpf_prog *);\n\tbool (*is_valid_access)(int, int, enum bpf_access_type, const struct bpf_prog *, struct bpf_insn_access_aux *);\n\tint (*gen_prologue)(struct bpf_insn *, bool, const struct bpf_prog *);\n\tint (*gen_epilogue)(struct bpf_insn *, const struct bpf_prog *, s16);\n\tint (*gen_ld_abs)(const struct bpf_insn *, struct bpf_insn *);\n\tu32 (*convert_ctx_access)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *);\n\tint (*btf_struct_access)(struct bpf_verifier_log *, const struct bpf_reg_state *, int, int);\n};\n\nstruct bpf_verifier_state {\n\tstruct bpf_func_state *frame[8];\n\tstruct bpf_verifier_state *parent;\n\tstruct bpf_reference_state *refs;\n\tu32 branches;\n\tu32 insn_idx;\n\tu32 curframe;\n\tu32 acquired_refs;\n\tu32 active_locks;\n\tu32 active_preempt_locks;\n\tu32 active_irq_id;\n\tbool active_rcu_lock;\n\tbool speculative;\n\tbool used_as_loop_entry;\n\tbool in_sleepable;\n\tu32 first_insn_idx;\n\tu32 last_insn_idx;\n\tstruct bpf_verifier_state *loop_entry;\n\tu32 insn_hist_start;\n\tu32 insn_hist_end;\n\tu32 dfs_depth;\n\tu32 callback_unroll_depth;\n\tu32 may_goto_depth;\n};\n\nstruct bpf_verifier_stack_elem {\n\tstruct bpf_verifier_state st;\n\tint insn_idx;\n\tint prev_insn_idx;\n\tstruct bpf_verifier_stack_elem *next;\n\tu32 log_pos;\n};\n\nstruct bpf_verifier_state_list {\n\tstruct bpf_verifier_state state;\n\tstruct bpf_verifier_state_list *next;\n\tint miss_cnt;\n\tint hit_cnt;\n};\n\nstruct bpf_work {\n\tstruct bpf_async_cb cb;\n\tstruct work_struct work;\n\tstruct work_struct delete_work;\n};\n\nstruct bpf_wq {\n\t__u64 __opaque[2];\n};\n\nstruct bpf_xdp_link;\n\nstruct bpf_xdp_entity {\n\tstruct bpf_prog *prog;\n\tstruct bpf_xdp_link *link;\n};\n\nstruct bpf_xdp_link {\n\tstruct bpf_link link;\n\tstruct net_device *dev;\n\tint flags;\n};\n\nstruct bpf_xdp_sock {\n\t__u32 queue_id;\n};\n\nstruct bpf_xfrm_state {\n\t__u32 reqid;\n\t__u32 spi;\n\t__u16 family;\n\t__u16 ext;\n\tunion {\n\t\t__u32 remote_ipv4;\n\t\t__u32 remote_ipv6[4];\n\t};\n};\n\nstruct bpf_xfrm_state_opts {\n\ts32 error;\n\ts32 netns_id;\n\tu32 mark;\n\txfrm_address_t daddr;\n\t__be32 spi;\n\tu8 proto;\n\tu16 family;\n};\n\nstruct bpffs_btf_enums {\n\tconst struct btf *btf;\n\tconst struct btf_type *cmd_t;\n\tconst struct btf_type *map_t;\n\tconst struct btf_type *prog_t;\n\tconst struct btf_type *attach_t;\n};\n\nstruct trace_entry {\n\tshort unsigned int type;\n\tunsigned char flags;\n\tunsigned char preempt_count;\n\tint pid;\n};\n\nstruct bprint_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tconst char *fmt;\n\tu32 buf[0];\n};\n\nstruct bputs_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tconst char *str;\n};\n\nstruct br_input_skb_cb {\n\tstruct net_device *brdev;\n\tu16 frag_max_size;\n\tu8 igmp;\n\tu8 mrouters_only: 1;\n\tu8 proxyarp_replied: 1;\n\tu8 src_port_isolated: 1;\n\tu8 promisc: 1;\n\tu8 vlan_filtered: 1;\n\tu8 br_netfilter_broute: 1;\n\tu32 backup_nhid;\n};\n\nstruct br_ip {\n\tunion {\n\t\t__be32 ip4;\n\t\tstruct in6_addr ip6;\n\t} src;\n\tunion {\n\t\t__be32 ip4;\n\t\tstruct in6_addr ip6;\n\t\tunsigned char mac_addr[6];\n\t} dst;\n\t__be16 proto;\n\t__u16 vid;\n};\n\nstruct br_mcast_stats {\n\t__u64 igmp_v1queries[2];\n\t__u64 igmp_v2queries[2];\n\t__u64 igmp_v3queries[2];\n\t__u64 igmp_leaves[2];\n\t__u64 igmp_v1reports[2];\n\t__u64 igmp_v2reports[2];\n\t__u64 igmp_v3reports[2];\n\t__u64 igmp_parse_errors;\n\t__u64 mld_v1queries[2];\n\t__u64 mld_v2queries[2];\n\t__u64 mld_leaves[2];\n\t__u64 mld_v1reports[2];\n\t__u64 mld_v2reports[2];\n\t__u64 mld_parse_errors;\n\t__u64 mcast_bytes[2];\n\t__u64 mcast_packets[2];\n};\n\nstruct br_mdb_entry {\n\t__u32 ifindex;\n\t__u8 state;\n\t__u8 flags;\n\t__u16 vid;\n\tstruct {\n\t\tunion {\n\t\t\t__be32 ip4;\n\t\t\tstruct in6_addr ip6;\n\t\t\tunsigned char mac_addr[6];\n\t\t} u;\n\t\t__be16 proto;\n\t} addr;\n};\n\nstruct br_port_msg {\n\t__u8 family;\n\t__u32 ifindex;\n};\n\nstruct metadata_dst;\n\nstruct br_tunnel_info {\n\t__be64 tunnel_id;\n\tstruct metadata_dst *tunnel_dst;\n};\n\nstruct bridge_id {\n\tunsigned char prio[2];\n\tunsigned char addr[6];\n};\n\ntypedef struct bridge_id bridge_id;\n\nstruct bridge_mcast_other_query {\n\tstruct timer_list timer;\n\tstruct timer_list delay_timer;\n};\n\nstruct bridge_mcast_own_query {\n\tstruct timer_list timer;\n\tu32 startup_sent;\n};\n\nstruct bridge_mcast_querier {\n\tstruct br_ip addr;\n\tint port_ifidx;\n\tseqcount_spinlock_t seq;\n};\n\nstruct bridge_mcast_stats {\n\tstruct br_mcast_stats mstats;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct bridge_stp_xstats {\n\t__u64 transition_blk;\n\t__u64 transition_fwd;\n\t__u64 rx_bpdu;\n\t__u64 tx_bpdu;\n\t__u64 rx_tcn;\n\t__u64 tx_tcn;\n};\n\nstruct broadcast_sk {\n\tstruct sock *sk;\n\tstruct work_struct work;\n};\n\nstruct cdev {\n\tstruct kobject kobj;\n\tstruct module *owner;\n\tconst struct file_operations *ops;\n\tstruct list_head list;\n\tdev_t dev;\n\tunsigned int count;\n};\n\nstruct sg_io_v4;\n\ntypedef int bsg_sg_io_fn(struct request_queue *, struct sg_io_v4 *, bool, unsigned int);\n\nstruct bsg_device {\n\tstruct request_queue *queue;\n\tstruct device device;\n\tstruct cdev cdev;\n\tint max_queue;\n\tunsigned int timeout;\n\tunsigned int reserved_size;\n\tbsg_sg_io_fn *sg_io_fn;\n};\n\ntypedef bool busy_tag_iter_fn(struct request *, void *);\n\nstruct bt_iter_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct request_queue *q;\n\tbusy_tag_iter_fn *fn;\n\tvoid *data;\n\tbool reserved;\n};\n\nstruct bt_tags_iter_data {\n\tstruct blk_mq_tags *tags;\n\tbusy_tag_iter_fn *fn;\n\tvoid *data;\n\tunsigned int flags;\n};\n\nstruct btf_header {\n\t__u16 magic;\n\t__u8 version;\n\t__u8 flags;\n\t__u32 hdr_len;\n\t__u32 type_off;\n\t__u32 type_len;\n\t__u32 str_off;\n\t__u32 str_len;\n};\n\nstruct btf_kfunc_set_tab;\n\nstruct btf_id_dtor_kfunc_tab;\n\nstruct btf_struct_metas;\n\nstruct btf_struct_ops_tab;\n\nstruct btf {\n\tvoid *data;\n\tstruct btf_type **types;\n\tu32 *resolved_ids;\n\tu32 *resolved_sizes;\n\tconst char *strings;\n\tvoid *nohdr_data;\n\tstruct btf_header hdr;\n\tu32 nr_types;\n\tu32 types_size;\n\tu32 data_size;\n\trefcount_t refcnt;\n\tu32 id;\n\tstruct callback_head rcu;\n\tstruct btf_kfunc_set_tab *kfunc_set_tab;\n\tstruct btf_id_dtor_kfunc_tab *dtor_kfunc_tab;\n\tstruct btf_struct_metas *struct_meta_tab;\n\tstruct btf_struct_ops_tab *struct_ops_tab;\n\tstruct btf *base_btf;\n\tu32 start_id;\n\tu32 start_str_off;\n\tchar name[56];\n\tbool kernel_btf;\n\t__u32 *base_id_map;\n};\n\nstruct btf_array {\n\t__u32 type;\n\t__u32 index_type;\n\t__u32 nelems;\n};\n\nstruct btf_decl_tag {\n\t__s32 component_idx;\n};\n\nstruct btf_enum {\n\t__u32 name_off;\n\t__s32 val;\n};\n\nstruct btf_enum64 {\n\t__u32 name_off;\n\t__u32 val_lo32;\n\t__u32 val_hi32;\n};\n\ntypedef void (*btf_dtor_kfunc_t)(void *);\n\nstruct btf_field_kptr {\n\tstruct btf *btf;\n\tstruct module *module;\n\tbtf_dtor_kfunc_t dtor;\n\tu32 btf_id;\n};\n\nstruct btf_field_graph_root {\n\tstruct btf *btf;\n\tu32 value_btf_id;\n\tu32 node_offset;\n\tstruct btf_record *value_rec;\n};\n\nstruct btf_field {\n\tu32 offset;\n\tu32 size;\n\tenum btf_field_type type;\n\tunion {\n\t\tstruct btf_field_kptr kptr;\n\t\tstruct btf_field_graph_root graph_root;\n\t};\n};\n\nstruct btf_field_desc {\n\tint t_off_cnt;\n\tint t_offs[2];\n\tint m_sz;\n\tint m_off_cnt;\n\tint m_offs[1];\n};\n\nstruct btf_field_info {\n\tenum btf_field_type type;\n\tu32 off;\n\tunion {\n\t\tstruct {\n\t\t\tu32 type_id;\n\t\t} kptr;\n\t\tstruct {\n\t\t\tconst char *node_name;\n\t\t\tu32 value_btf_id;\n\t\t} graph_root;\n\t};\n};\n\nstruct btf_field_iter {\n\tstruct btf_field_desc desc;\n\tvoid *p;\n\tint m_idx;\n\tint off_idx;\n\tint vlen;\n};\n\nstruct btf_id_dtor_kfunc {\n\tu32 btf_id;\n\tu32 kfunc_btf_id;\n};\n\nstruct btf_id_dtor_kfunc_tab {\n\tu32 cnt;\n\tstruct btf_id_dtor_kfunc dtors[0];\n};\n\nstruct btf_id_set {\n\tu32 cnt;\n\tu32 ids[0];\n};\n\nstruct btf_id_set8 {\n\tu32 cnt;\n\tu32 flags;\n\tstruct {\n\t\tu32 id;\n\t\tu32 flags;\n\t} pairs[0];\n};\n\ntypedef int (*btf_kfunc_filter_t)(const struct bpf_prog *, u32);\n\nstruct btf_kfunc_hook_filter {\n\tbtf_kfunc_filter_t filters[16];\n\tu32 nr_filters;\n};\n\nstruct btf_kfunc_id_set {\n\tstruct module *owner;\n\tstruct btf_id_set8 *set;\n\tbtf_kfunc_filter_t filter;\n};\n\nstruct btf_kfunc_set_tab {\n\tstruct btf_id_set8 *sets[14];\n\tstruct btf_kfunc_hook_filter hook_filters[14];\n};\n\nstruct btf_verifier_env;\n\nstruct resolve_vertex;\n\nstruct btf_show;\n\nstruct btf_kind_operations {\n\ts32 (*check_meta)(struct btf_verifier_env *, const struct btf_type *, u32);\n\tint (*resolve)(struct btf_verifier_env *, const struct resolve_vertex *);\n\tint (*check_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *);\n\tint (*check_kflag_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *);\n\tvoid (*log_details)(struct btf_verifier_env *, const struct btf_type *);\n\tvoid (*show)(const struct btf *, const struct btf_type *, u32, void *, u8, struct btf_show *);\n};\n\nstruct btf_member {\n\t__u32 name_off;\n\t__u32 type;\n\t__u32 offset;\n};\n\nstruct btf_module {\n\tstruct list_head list;\n\tstruct module *module;\n\tstruct btf *btf;\n\tstruct bin_attribute *sysfs_attr;\n\tint flags;\n};\n\nstruct btf_name_info {\n\tconst char *name;\n\tbool needs_size: 1;\n\tunsigned int size: 31;\n\t__u32 id;\n};\n\nstruct btf_param {\n\t__u32 name_off;\n\t__u32 type;\n};\n\nstruct btf_ptr {\n\tvoid *ptr;\n\t__u32 type_id;\n\t__u32 flags;\n};\n\nstruct btf_record {\n\tu32 cnt;\n\tu32 field_mask;\n\tint spin_lock_off;\n\tint timer_off;\n\tint wq_off;\n\tint refcount_off;\n\tstruct btf_field fields[0];\n};\n\nstruct btf_relocate {\n\tstruct btf *btf;\n\tconst struct btf *base_btf;\n\tconst struct btf *dist_base_btf;\n\tunsigned int nr_base_types;\n\tunsigned int nr_split_types;\n\tunsigned int nr_dist_base_types;\n\tint dist_str_len;\n\tint base_str_len;\n\t__u32 *id_map;\n\t__u32 *str_map;\n};\n\nstruct btf_sec_info {\n\tu32 off;\n\tu32 len;\n};\n\ntypedef void *va_list;\n\nstruct btf_show {\n\tu64 flags;\n\tvoid *target;\n\tvoid (*showfn)(struct btf_show *, const char *, va_list);\n\tconst struct btf *btf;\n\tstruct {\n\t\tu8 depth;\n\t\tu8 depth_to_show;\n\t\tu8 depth_check;\n\t\tu8 array_member: 1;\n\t\tu8 array_terminated: 1;\n\t\tu16 array_encoding;\n\t\tu32 type_id;\n\t\tint status;\n\t\tconst struct btf_type *type;\n\t\tconst struct btf_member *member;\n\t\tchar name[80];\n\t} state;\n\tstruct {\n\t\tu32 size;\n\t\tvoid *head;\n\t\tvoid *data;\n\t\tu8 safe[32];\n\t} obj;\n};\n\nstruct btf_show_snprintf {\n\tstruct btf_show show;\n\tint len_left;\n\tint len;\n};\n\nstruct btf_struct_meta {\n\tu32 btf_id;\n\tstruct btf_record *record;\n};\n\nstruct btf_struct_metas {\n\tu32 cnt;\n\tstruct btf_struct_meta types[0];\n};\n\nstruct btf_struct_ops_tab {\n\tu32 cnt;\n\tu32 capacity;\n\tstruct bpf_struct_ops_desc ops[0];\n};\n\nstruct btf_type {\n\t__u32 name_off;\n\t__u32 info;\n\tunion {\n\t\t__u32 size;\n\t\t__u32 type;\n\t};\n};\n\nstruct btf_var {\n\t__u32 linkage;\n};\n\nstruct btf_var_secinfo {\n\t__u32 type;\n\t__u32 offset;\n\t__u32 size;\n};\n\nstruct resolve_vertex {\n\tconst struct btf_type *t;\n\tu32 type_id;\n\tu16 next_member;\n};\n\nstruct btf_verifier_env {\n\tstruct btf *btf;\n\tu8 *visit_states;\n\tstruct resolve_vertex stack[32];\n\tstruct bpf_verifier_log log;\n\tu32 log_type_id;\n\tu32 top_stack;\n\tenum verifier_phase phase;\n\tenum resolve_mode resolve_mode;\n};\n\nstruct nd_region;\n\nstruct btt {\n\tstruct gendisk *btt_disk;\n\tstruct list_head arena_list;\n\tstruct dentry *debugfs_dir;\n\tstruct nd_btt *nd_btt;\n\tu64 nlba;\n\tlong long unsigned int rawsize;\n\tu32 lbasize;\n\tu32 sector_size;\n\tstruct nd_region *nd_region;\n\tstruct mutex init_lock;\n\tint init_state;\n\tint num_arenas;\n\tstruct badblocks *phys_bb;\n};\n\nstruct btt_sb {\n\tu8 signature[16];\n\tu8 uuid[16];\n\tu8 parent_uuid[16];\n\t__le32 flags;\n\t__le16 version_major;\n\t__le16 version_minor;\n\t__le32 external_lbasize;\n\t__le32 external_nlba;\n\t__le32 internal_lbasize;\n\t__le32 internal_nlba;\n\t__le32 nfree;\n\t__le32 infosize;\n\t__le64 nextoff;\n\t__le64 dataoff;\n\t__le64 mapoff;\n\t__le64 logoff;\n\t__le64 info2off;\n\tu8 padding[3968];\n\t__le64 checksum;\n};\n\nstruct hlist_nulls_head {\n\tstruct hlist_nulls_node *first;\n};\n\nstruct bucket {\n\tstruct hlist_nulls_head head;\n\traw_spinlock_t raw_lock;\n};\n\nstruct lockdep_map {};\n\nstruct rhash_lock_head;\n\nstruct bucket_table {\n\tunsigned int size;\n\tunsigned int nest;\n\tu32 hash_rnd;\n\tstruct list_head walkers;\n\tstruct callback_head rcu;\n\tstruct bucket_table *future_tbl;\n\tstruct lockdep_map dep_map;\n\tlong: 64;\n\tstruct rhash_lock_head *buckets[0];\n};\n\nstruct buf_sel_arg {\n\tstruct iovec *iovs;\n\tsize_t out_len;\n\tsize_t max_len;\n\tshort unsigned int nr_iovs;\n\tshort unsigned int mode;\n};\n\nstruct buffer_data_page {\n\tu64 time_stamp;\n\tlocal_t commit;\n\tunsigned char data[0];\n};\n\nstruct buffer_data_read_page {\n\tunsigned int order;\n\tstruct buffer_data_page *data;\n};\n\ntypedef void bh_end_io_t(struct buffer_head *, int);\n\nstruct buffer_head {\n\tlong unsigned int b_state;\n\tstruct buffer_head *b_this_page;\n\tunion {\n\t\tstruct page *b_page;\n\t\tstruct folio *b_folio;\n\t};\n\tsector_t b_blocknr;\n\tsize_t b_size;\n\tchar *b_data;\n\tstruct block_device *b_bdev;\n\tbh_end_io_t *b_end_io;\n\tvoid *b_private;\n\tstruct list_head b_assoc_buffers;\n\tstruct address_space *b_assoc_map;\n\tatomic_t b_count;\n\tspinlock_t b_uptodate_lock;\n};\n\nstruct buffer_page {\n\tstruct list_head list;\n\tlocal_t write;\n\tunsigned int read;\n\tlocal_t entries;\n\tlong unsigned int real_end;\n\tunsigned int order;\n\tu32 id: 30;\n\tu32 range: 1;\n\tstruct buffer_data_page *page;\n};\n\nstruct buffer_ref {\n\tstruct trace_buffer *buffer;\n\tvoid *page;\n\tint cpu;\n\trefcount_t refcount;\n};\n\nstruct bug_entry {\n\tint bug_addr_disp;\n\tint file_disp;\n\tshort unsigned int line;\n\tshort unsigned int flags;\n};\n\nstruct builtin_fw {\n\tchar *name;\n\tvoid *data;\n\tlong unsigned int size;\n};\n\nstruct bulk_cb_wrap {\n\t__le32 Signature;\n\t__u32 Tag;\n\t__le32 DataTransferLength;\n\t__u8 Flags;\n\t__u8 Lun;\n\t__u8 Length;\n\t__u8 CDB[16];\n};\n\nstruct bulk_cs_wrap {\n\t__le32 Signature;\n\t__u32 Tag;\n\t__le32 Residue;\n\t__u8 Status;\n};\n\nstruct group_data {\n\tint limit[21];\n\tint base[20];\n\tint permute[258];\n\tint minLen;\n\tint maxLen;\n};\n\nstruct bunzip_data {\n\tint writeCopies;\n\tint writePos;\n\tint writeRunCountdown;\n\tint writeCount;\n\tint writeCurrent;\n\tlong int (*fill)(void *, long unsigned int);\n\tlong int inbufCount;\n\tlong int inbufPos;\n\tunsigned char *inbuf;\n\tunsigned int inbufBitCount;\n\tunsigned int inbufBits;\n\tunsigned int crc32Table[256];\n\tunsigned int headerCRC;\n\tunsigned int totalCRC;\n\tunsigned int writeCRC;\n\tunsigned int *dbuf;\n\tunsigned int dbufSize;\n\tunsigned char selectors[32768];\n\tstruct group_data groups[6];\n\tint io_error;\n\tint byteCount[256];\n\tunsigned char symToByte[256];\n\tunsigned char mtfSymbol[256];\n};\n\nstruct bus_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct bus_type *, char *);\n\tssize_t (*store)(const struct bus_type *, const char *, size_t);\n};\n\nstruct bus_dma_region {\n\tphys_addr_t cpu_start;\n\tdma_addr_t dma_start;\n\tu64 size;\n};\n\nstruct bus_type {\n\tconst char *name;\n\tconst char *dev_name;\n\tconst struct attribute_group **bus_groups;\n\tconst struct attribute_group **dev_groups;\n\tconst struct attribute_group **drv_groups;\n\tint (*match)(struct device *, const struct device_driver *);\n\tint (*uevent)(const struct device *, struct kobj_uevent_env *);\n\tint (*probe)(struct device *);\n\tvoid (*sync_state)(struct device *);\n\tvoid (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tconst struct cpumask * (*irq_get_affinity)(struct device *, unsigned int);\n\tint (*online)(struct device *);\n\tint (*offline)(struct device *);\n\tint (*suspend)(struct device *, pm_message_t);\n\tint (*resume)(struct device *);\n\tint (*num_vf)(struct device *);\n\tint (*dma_configure)(struct device *);\n\tvoid (*dma_cleanup)(struct device *);\n\tconst struct dev_pm_ops *pm;\n\tbool need_parent_lock;\n};\n\nstruct bvec_iter_all {\n\tstruct bio_vec bv;\n\tint idx;\n\tunsigned int done;\n};\n\nstruct byd_data {\n\tstruct timer_list timer;\n\tstruct psmouse *psmouse;\n\ts32 abs_x;\n\ts32 abs_y;\n\tvolatile long unsigned int last_touch_time;\n\tbool btn_left;\n\tbool btn_right;\n\tbool touch;\n};\n\nstruct cache_head;\n\nstruct cache_deferred_req {\n\tstruct hlist_node hash;\n\tstruct list_head recent;\n\tstruct cache_head *item;\n\tvoid *owner;\n\tvoid (*revisit)(struct cache_deferred_req *, int);\n};\n\nstruct cache_detail {\n\tstruct module *owner;\n\tint hash_size;\n\tstruct hlist_head *hash_table;\n\tspinlock_t hash_lock;\n\tchar *name;\n\tvoid (*cache_put)(struct kref *);\n\tint (*cache_upcall)(struct cache_detail *, struct cache_head *);\n\tvoid (*cache_request)(struct cache_detail *, struct cache_head *, char **, int *);\n\tint (*cache_parse)(struct cache_detail *, char *, int);\n\tint (*cache_show)(struct seq_file *, struct cache_detail *, struct cache_head *);\n\tvoid (*warn_no_listener)(struct cache_detail *, int);\n\tstruct cache_head * (*alloc)(void);\n\tvoid (*flush)(void);\n\tint (*match)(struct cache_head *, struct cache_head *);\n\tvoid (*init)(struct cache_head *, struct cache_head *);\n\tvoid (*update)(struct cache_head *, struct cache_head *);\n\ttime64_t flush_time;\n\tstruct list_head others;\n\ttime64_t nextcheck;\n\tint entries;\n\tstruct list_head queue;\n\tatomic_t writers;\n\ttime64_t last_close;\n\ttime64_t last_warn;\n\tunion {\n\t\tstruct proc_dir_entry *procfs;\n\t\tstruct dentry *pipefs;\n\t};\n\tstruct net *net;\n};\n\nstruct cache_head {\n\tstruct hlist_node cache_list;\n\ttime64_t expiry_time;\n\ttime64_t last_refresh;\n\tstruct kref ref;\n\tlong unsigned int flags;\n};\n\nstruct cache_queue {\n\tstruct list_head list;\n\tint reader;\n};\n\nstruct cache_reader {\n\tstruct cache_queue q;\n\tint offset;\n};\n\nstruct cache_req {\n\tstruct cache_deferred_req * (*defer)(struct cache_req *);\n\tlong unsigned int thread_wait;\n};\n\nstruct cache_request {\n\tstruct cache_queue q;\n\tstruct cache_head *item;\n\tchar *buf;\n\tint len;\n\tint readers;\n};\n\nstruct cache_type_info {\n\tconst char *size_prop;\n\tconst char *line_size_props[2];\n\tconst char *nr_sets_prop;\n};\n\nstruct cacheinfo {\n\tunsigned int id;\n\tenum cache_type type;\n\tunsigned int level;\n\tunsigned int coherency_line_size;\n\tunsigned int number_of_sets;\n\tunsigned int ways_of_associativity;\n\tunsigned int physical_line_partition;\n\tunsigned int size;\n\tcpumask_t shared_cpu_map;\n\tunsigned int attributes;\n\tvoid *fw_token;\n\tbool disable_sysfs;\n\tvoid *priv;\n};\n\nstruct cacheline_padding {\n\tchar x[0];\n};\n\nstruct cachestat {\n\t__u64 nr_cache;\n\t__u64 nr_dirty;\n\t__u64 nr_writeback;\n\t__u64 nr_evicted;\n\t__u64 nr_recently_evicted;\n};\n\nstruct cachestat_range {\n\t__u64 off;\n\t__u64 len;\n};\n\nstruct call_function_data {\n\tcall_single_data_t *csd;\n\tcpumask_var_t cpumask;\n\tcpumask_var_t cpumask_ipi;\n};\n\nstruct cb_process_state;\n\nstruct xdr_stream;\n\nstruct callback_op {\n\t__be32 (*process_op)(void *, void *, struct cb_process_state *);\n\t__be32 (*decode_args)(struct svc_rqst *, struct xdr_stream *, void *);\n\t__be32 (*encode_res)(struct svc_rqst *, struct xdr_stream *, const void *);\n\tlong int res_maxsize;\n};\n\nstruct callchain_cpus_entries {\n\tstruct callback_head callback_head;\n\tstruct perf_callchain_entry *cpu_entries[0];\n};\n\nstruct compact_control;\n\nstruct capture_control {\n\tstruct compact_control *cc;\n\tstruct page *page;\n};\n\nstruct cat_datum {\n\tu32 value;\n\tunsigned char isalias;\n};\n\nstruct cb_compound_hdr_arg {\n\tunsigned int taglen;\n\tconst char *tag;\n\tunsigned int minorversion;\n\tunsigned int cb_ident;\n\tunsigned int nops;\n};\n\nstruct cb_compound_hdr_res {\n\t__be32 *status;\n\tunsigned int taglen;\n\tconst char *tag;\n\t__be32 *nops;\n};\n\nstruct cb_devicenotifyitem;\n\nstruct cb_devicenotifyargs {\n\tuint32_t ndevs;\n\tstruct cb_devicenotifyitem *devs;\n};\n\nstruct nfs4_deviceid {\n\tchar data[16];\n};\n\nstruct cb_devicenotifyitem {\n\tuint32_t cbd_notify_type;\n\tuint32_t cbd_layout_type;\n\tstruct nfs4_deviceid cbd_dev_id;\n\tuint32_t cbd_immediate;\n};\n\nstruct nfs_fh {\n\tshort unsigned int size;\n\tunsigned char data[128];\n};\n\nstruct cb_getattrargs {\n\tstruct nfs_fh fh;\n\tuint32_t bitmap[3];\n};\n\nstruct cb_getattrres {\n\t__be32 status;\n\tuint32_t bitmap[3];\n\tuint64_t size;\n\tuint64_t change_attr;\n\tstruct timespec64 atime;\n\tstruct timespec64 ctime;\n\tstruct timespec64 mtime;\n};\n\nstruct pnfs_layout_range {\n\tu32 iomode;\n\tu64 offset;\n\tu64 length;\n};\n\nstruct nfs4_stateid_struct {\n\tunion {\n\t\tchar data[16];\n\t\tstruct {\n\t\t\t__be32 seqid;\n\t\t\tchar other[12];\n\t\t};\n\t};\n\tenum {\n\t\tNFS4_INVALID_STATEID_TYPE = 0,\n\t\tNFS4_SPECIAL_STATEID_TYPE = 1,\n\t\tNFS4_OPEN_STATEID_TYPE = 2,\n\t\tNFS4_LOCK_STATEID_TYPE = 3,\n\t\tNFS4_DELEGATION_STATEID_TYPE = 4,\n\t\tNFS4_LAYOUT_STATEID_TYPE = 5,\n\t\tNFS4_PNFS_DS_STATEID_TYPE = 6,\n\t\tNFS4_REVOKED_STATEID_TYPE = 7,\n\t} type;\n};\n\ntypedef struct nfs4_stateid_struct nfs4_stateid;\n\nstruct nfs_fsid {\n\tuint64_t major;\n\tuint64_t minor;\n};\n\nstruct cb_layoutrecallargs {\n\tuint32_t cbl_recall_type;\n\tuint32_t cbl_layout_type;\n\tuint32_t cbl_layoutchanged;\n\tunion {\n\t\tstruct {\n\t\t\tstruct nfs_fh cbl_fh;\n\t\t\tstruct pnfs_layout_range cbl_range;\n\t\t\tnfs4_stateid cbl_stateid;\n\t\t};\n\t\tstruct nfs_fsid cbl_fsid;\n\t};\n};\n\nstruct nfs_lowner {\n\t__u64 clientid;\n\t__u64 id;\n\tdev_t s_dev;\n};\n\nstruct cb_notify_lock_args {\n\tstruct nfs_fh cbnl_fh;\n\tstruct nfs_lowner cbnl_owner;\n\tbool cbnl_valid;\n};\n\nstruct nfs_write_verifier {\n\tchar data[8];\n};\n\nstruct nfs_writeverf {\n\tstruct nfs_write_verifier verifier;\n\tenum nfs3_stable_how committed;\n};\n\nstruct cb_offloadargs {\n\tstruct nfs_fh coa_fh;\n\tnfs4_stateid coa_stateid;\n\tuint32_t error;\n\tuint64_t wr_count;\n\tstruct nfs_writeverf wr_writeverf;\n};\n\nstruct nfs_client;\n\nstruct nfs4_slot;\n\nstruct cb_process_state {\n\tstruct nfs_client *clp;\n\tstruct nfs4_slot *slot;\n\tstruct net *net;\n\tu32 minorversion;\n\t__be32 drc_status;\n\tunsigned int referring_calls;\n};\n\nstruct cb_recallanyargs {\n\tuint32_t craa_objs_to_keep;\n\tuint32_t craa_type_mask;\n};\n\nstruct cb_recallargs {\n\tstruct nfs_fh fh;\n\tnfs4_stateid stateid;\n\tuint32_t truncate;\n};\n\nstruct cb_recallslotargs {\n\tuint32_t crsa_target_highest_slotid;\n};\n\nstruct nfs4_sessionid {\n\tunsigned char data[16];\n};\n\nstruct referring_call_list;\n\nstruct cb_sequenceargs {\n\tstruct sockaddr *csa_addr;\n\tstruct nfs4_sessionid csa_sessionid;\n\tuint32_t csa_sequenceid;\n\tuint32_t csa_slotid;\n\tuint32_t csa_highestslotid;\n\tuint32_t csa_cachethis;\n\tuint32_t csa_nrclists;\n\tstruct referring_call_list *csa_rclists;\n};\n\nstruct cb_sequenceres {\n\t__be32 csr_status;\n\tstruct nfs4_sessionid csr_sessionid;\n\tuint32_t csr_sequenceid;\n\tuint32_t csr_slotid;\n\tuint32_t csr_highestslotid;\n\tuint32_t csr_target_highestslotid;\n};\n\nstruct ccs_modesel_head {\n\t__u8 _r1;\n\t__u8 medium;\n\t__u8 _r2;\n\t__u8 block_desc_length;\n\t__u8 density;\n\t__u8 number_blocks_hi;\n\t__u8 number_blocks_med;\n\t__u8 number_blocks_lo;\n\t__u8 _r3;\n\t__u8 block_length_hi;\n\t__u8 block_length_med;\n\t__u8 block_length_lo;\n};\n\nstruct ccu_common {\n\tvoid *base;\n\tu16 reg;\n\tu16 lock_reg;\n\tu32 prediv;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int features;\n\tspinlock_t *lock;\n\tstruct clk_hw hw;\n};\n\nstruct ccu_common___2 {\n\tint clkid;\n\tstruct regmap *map;\n\tu16 cfg0;\n\tu16 cfg1;\n\tstruct clk_hw hw;\n};\n\nstruct ccu_div_internal {\n\tu8 shift;\n\tu8 width;\n\tu32 flags;\n};\n\nstruct ccu_internal {\n\tu8 shift;\n\tu8 width;\n};\n\nstruct ccu_div {\n\tu32 enable;\n\tstruct ccu_div_internal div;\n\tstruct ccu_internal mux;\n\tstruct ccu_common___2 common;\n};\n\nstruct clk_div_table;\n\nstruct ccu_div_internal___2 {\n\tu8 shift;\n\tu8 width;\n\tu32 max;\n\tu32 offset;\n\tu32 flags;\n\tstruct clk_div_table *table;\n};\n\nstruct ccu_mux_fixed_prediv;\n\nstruct ccu_mux_var_prediv;\n\nstruct ccu_mux_internal {\n\tu8 shift;\n\tu8 width;\n\tconst u8 *table;\n\tconst struct ccu_mux_fixed_prediv *fixed_predivs;\n\tu8 n_predivs;\n\tconst struct ccu_mux_var_prediv *var_predivs;\n\tu8 n_var_predivs;\n};\n\nstruct ccu_div___2 {\n\tu32 enable;\n\tstruct ccu_div_internal___2 div;\n\tstruct ccu_mux_internal mux;\n\tstruct ccu_common common;\n\tunsigned int fixed_post_div;\n};\n\nstruct ccu_frac_internal {\n\tu32 enable;\n\tu32 select;\n\tlong unsigned int rates[2];\n};\n\nstruct ccu_gate {\n\tu32 enable;\n\tstruct ccu_common common;\n};\n\nstruct ccu_gate___2 {\n\tu32 enable;\n\tstruct ccu_common___2 common;\n};\n\nstruct ccu_mp {\n\tu32 enable;\n\tstruct ccu_div_internal___2 m;\n\tstruct ccu_div_internal___2 p;\n\tstruct ccu_mux_internal mux;\n\tunsigned int fixed_post_div;\n\tstruct ccu_common common;\n};\n\nstruct ccu_mult_internal {\n\tu8 offset;\n\tu8 shift;\n\tu8 width;\n\tu8 min;\n\tu8 max;\n};\n\nstruct ccu_mult {\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_frac_internal frac;\n\tstruct ccu_mult_internal mult;\n\tstruct ccu_mux_internal mux;\n\tstruct ccu_common common;\n};\n\nstruct ccu_mux {\n\tu32 enable;\n\tstruct ccu_mux_internal mux;\n\tstruct ccu_common common;\n};\n\nstruct ccu_mux___2 {\n\tstruct ccu_internal mux;\n\tstruct ccu_common___2 common;\n};\n\nstruct ccu_mux_fixed_prediv {\n\tu8 index;\n\tu16 div;\n};\n\nstruct ccu_mux_nb {\n\tstruct notifier_block clk_nb;\n\tstruct ccu_common *common;\n\tstruct ccu_mux_internal *cm;\n\tu32 delay_us;\n\tu8 bypass_index;\n\tu8 original_index;\n};\n\nstruct ccu_mux_var_prediv {\n\tu8 index;\n\tu8 shift;\n\tu8 width;\n};\n\nstruct ccu_nk {\n\tu16 reg;\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_mult_internal n;\n\tstruct ccu_mult_internal k;\n\tunsigned int fixed_post_div;\n\tstruct ccu_common common;\n};\n\nstruct ccu_nkm {\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_mult_internal n;\n\tstruct ccu_mult_internal k;\n\tstruct ccu_div_internal___2 m;\n\tstruct ccu_mux_internal mux;\n\tunsigned int fixed_post_div;\n\tlong unsigned int max_m_n_ratio;\n\tlong unsigned int min_parent_m_ratio;\n\tstruct ccu_common common;\n};\n\nstruct ccu_nkmp {\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_mult_internal n;\n\tstruct ccu_mult_internal k;\n\tstruct ccu_div_internal___2 m;\n\tstruct ccu_div_internal___2 p;\n\tunsigned int fixed_post_div;\n\tunsigned int max_rate;\n\tstruct ccu_common common;\n};\n\nstruct ccu_sdm_setting;\n\nstruct ccu_sdm_internal {\n\tstruct ccu_sdm_setting *table;\n\tu32 table_size;\n\tu32 enable;\n\tu32 tuning_enable;\n\tu16 tuning_reg;\n};\n\nstruct ccu_nm {\n\tu32 enable;\n\tu32 lock;\n\tstruct ccu_mult_internal n;\n\tstruct ccu_div_internal___2 m;\n\tstruct ccu_frac_internal frac;\n\tstruct ccu_sdm_internal sdm;\n\tunsigned int fixed_post_div;\n\tunsigned int min_rate;\n\tunsigned int max_rate;\n\tstruct ccu_common common;\n};\n\nstruct ccu_phase {\n\tu8 shift;\n\tu8 width;\n\tstruct ccu_common common;\n};\n\nstruct ccu_pll {\n\tstruct ccu_common___2 common;\n};\n\nstruct ccu_pll_nb {\n\tstruct notifier_block clk_nb;\n\tstruct ccu_common *common;\n\tu32 enable;\n\tu32 lock;\n};\n\nstruct ccu_reset_map;\n\nstruct ccu_reset {\n\tvoid *base;\n\tconst struct ccu_reset_map *reset_map;\n\tspinlock_t *lock;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct ccu_reset_map {\n\tu16 reg;\n\tu32 bit;\n};\n\nstruct ccu_sdm_setting {\n\tlong unsigned int rate;\n\tu32 pattern;\n\tu32 m;\n\tu32 n;\n};\n\nstruct cdrom_msf0 {\n\t__u8 minute;\n\t__u8 second;\n\t__u8 frame;\n};\n\nunion cdrom_addr {\n\tstruct cdrom_msf0 msf;\n\tint lba;\n};\n\nstruct cdrom_blk {\n\tunsigned int from;\n\tshort unsigned int len;\n};\n\nstruct cdrom_mechstat_header {\n\t__u8 curslot: 5;\n\t__u8 changer_state: 2;\n\t__u8 fault: 1;\n\t__u8 reserved1: 4;\n\t__u8 door_open: 1;\n\t__u8 mech_state: 3;\n\t__u8 curlba[3];\n\t__u8 nslots;\n\t__u16 slot_tablelen;\n};\n\nstruct cdrom_slot {\n\t__u8 change: 1;\n\t__u8 reserved1: 6;\n\t__u8 disc_present: 1;\n\t__u8 reserved2[3];\n};\n\nstruct cdrom_changer_info {\n\tstruct cdrom_mechstat_header hdr;\n\tstruct cdrom_slot slots[256];\n};\n\nstruct cdrom_device_ops;\n\nstruct cdrom_device_info {\n\tconst struct cdrom_device_ops *ops;\n\tstruct list_head list;\n\tstruct gendisk *disk;\n\tvoid *handle;\n\tint mask;\n\tint speed;\n\tint capacity;\n\tunsigned int options: 30;\n\tunsigned int mc_flags: 2;\n\tunsigned int vfs_events;\n\tunsigned int ioctl_events;\n\tint use_count;\n\tchar name[20];\n\t__u8 sanyo_slot: 2;\n\t__u8 keeplocked: 1;\n\t__u8 reserved: 5;\n\tint cdda_method;\n\t__u8 last_sense;\n\t__u8 media_written;\n\tshort unsigned int mmc3_profile;\n\tint (*exit)(struct cdrom_device_info *);\n\tint mrw_mode_page;\n\tbool opened_for_data;\n\t__s64 last_media_change_ms;\n};\n\nstruct cdrom_multisession;\n\nstruct cdrom_mcn;\n\nstruct packet_command;\n\nstruct cdrom_device_ops {\n\tint (*open)(struct cdrom_device_info *, int);\n\tvoid (*release)(struct cdrom_device_info *);\n\tint (*drive_status)(struct cdrom_device_info *, int);\n\tunsigned int (*check_events)(struct cdrom_device_info *, unsigned int, int);\n\tint (*tray_move)(struct cdrom_device_info *, int);\n\tint (*lock_door)(struct cdrom_device_info *, int);\n\tint (*select_speed)(struct cdrom_device_info *, long unsigned int);\n\tint (*get_last_session)(struct cdrom_device_info *, struct cdrom_multisession *);\n\tint (*get_mcn)(struct cdrom_device_info *, struct cdrom_mcn *);\n\tint (*reset)(struct cdrom_device_info *);\n\tint (*audio_ioctl)(struct cdrom_device_info *, unsigned int, void *);\n\tint (*generic_packet)(struct cdrom_device_info *, struct packet_command *);\n\tint (*read_cdda_bpc)(struct cdrom_device_info *, void *, u32, u32, u8 *);\n\tconst int capability;\n};\n\nstruct request_sense;\n\nstruct cdrom_generic_command {\n\tunsigned char cmd[12];\n\tunsigned char *buffer;\n\tunsigned int buflen;\n\tint stat;\n\tstruct request_sense *sense;\n\tunsigned char data_direction;\n\tint quiet;\n\tint timeout;\n\tunion {\n\t\tvoid *reserved[1];\n\t\tvoid *unused;\n\t};\n};\n\nstruct cdrom_mcn {\n\t__u8 medium_catalog_number[14];\n};\n\nstruct cdrom_msf {\n\t__u8 cdmsf_min0;\n\t__u8 cdmsf_sec0;\n\t__u8 cdmsf_frame0;\n\t__u8 cdmsf_min1;\n\t__u8 cdmsf_sec1;\n\t__u8 cdmsf_frame1;\n};\n\nstruct cdrom_multisession {\n\tunion cdrom_addr addr;\n\t__u8 xa_flag;\n\t__u8 addr_format;\n};\n\nstruct cdrom_read_audio {\n\tunion cdrom_addr addr;\n\t__u8 addr_format;\n\tint nframes;\n\t__u8 *buf;\n};\n\nstruct cdrom_subchnl {\n\t__u8 cdsc_format;\n\t__u8 cdsc_audiostatus;\n\t__u8 cdsc_adr: 4;\n\t__u8 cdsc_ctrl: 4;\n\t__u8 cdsc_trk;\n\t__u8 cdsc_ind;\n\tunion cdrom_addr cdsc_absaddr;\n\tunion cdrom_addr cdsc_reladdr;\n};\n\nstruct cdrom_sysctl_settings {\n\tchar info[1000];\n\tint autoclose;\n\tint autoeject;\n\tint debug;\n\tint lock;\n\tint check;\n};\n\nstruct cdrom_ti {\n\t__u8 cdti_trk0;\n\t__u8 cdti_ind0;\n\t__u8 cdti_trk1;\n\t__u8 cdti_ind1;\n};\n\nstruct cdrom_timed_media_change_info {\n\t__s64 last_media_change;\n\t__u64 media_flags;\n};\n\nstruct cdrom_tocentry {\n\t__u8 cdte_track;\n\t__u8 cdte_adr: 4;\n\t__u8 cdte_ctrl: 4;\n\t__u8 cdte_format;\n\tunion cdrom_addr cdte_addr;\n\t__u8 cdte_datamode;\n};\n\nstruct cdrom_tochdr {\n\t__u8 cdth_trk0;\n\t__u8 cdth_trk1;\n};\n\nstruct cdrom_volctrl {\n\t__u8 channel0;\n\t__u8 channel1;\n\t__u8 channel2;\n\t__u8 channel3;\n};\n\nstruct clock_event_device;\n\nstruct ce_unbind {\n\tstruct clock_event_device *ce;\n\tint res;\n};\n\nstruct cfi_private;\n\nstruct cfi_early_fixup {\n\tuint16_t mfr;\n\tuint16_t id;\n\tvoid (*fixup)(struct cfi_private *);\n};\n\nstruct cfi_extquery {\n\tuint8_t pri[3];\n\tuint8_t MajorVersion;\n\tuint8_t MinorVersion;\n};\n\nstruct mtd_info;\n\nstruct cfi_fixup {\n\tuint16_t mfr;\n\tuint16_t id;\n\tvoid (*fixup)(struct mtd_info *);\n};\n\nstruct cfi_ident {\n\tuint8_t qry[3];\n\tuint16_t P_ID;\n\tuint16_t P_ADR;\n\tuint16_t A_ID;\n\tuint16_t A_ADR;\n\tuint8_t VccMin;\n\tuint8_t VccMax;\n\tuint8_t VppMin;\n\tuint8_t VppMax;\n\tuint8_t WordWriteTimeoutTyp;\n\tuint8_t BufWriteTimeoutTyp;\n\tuint8_t BlockEraseTimeoutTyp;\n\tuint8_t ChipEraseTimeoutTyp;\n\tuint8_t WordWriteTimeoutMax;\n\tuint8_t BufWriteTimeoutMax;\n\tuint8_t BlockEraseTimeoutMax;\n\tuint8_t ChipEraseTimeoutMax;\n\tuint8_t DevSize;\n\tuint16_t InterfaceDesc;\n\tuint16_t MaxBufWriteSize;\n\tuint8_t NumEraseRegions;\n\tuint32_t EraseRegionInfo[0];\n} __attribute__((packed));\n\nstruct flchip {\n\tlong unsigned int start;\n\tint ref_point_counter;\n\tflstate_t state;\n\tflstate_t oldstate;\n\tunsigned int write_suspended: 1;\n\tunsigned int erase_suspended: 1;\n\tlong unsigned int in_progress_block_addr;\n\tlong unsigned int in_progress_block_mask;\n\tstruct mutex mutex;\n\twait_queue_head_t wq;\n\tint word_write_time;\n\tint buffer_write_time;\n\tint erase_time;\n\tint word_write_time_max;\n\tint buffer_write_time_max;\n\tint erase_time_max;\n\tvoid *priv;\n};\n\nstruct map_info;\n\nstruct cfi_private {\n\tuint16_t cmdset;\n\tvoid *cmdset_priv;\n\tint interleave;\n\tint device_type;\n\tint cfi_mode;\n\tint addr_unlock1;\n\tint addr_unlock2;\n\tstruct mtd_info * (*cmdset_setup)(struct map_info *);\n\tstruct cfi_ident *cfiq;\n\tint mfr;\n\tint id;\n\tint numchips;\n\tmap_word sector_erase_cmd;\n\tlong unsigned int chipshift;\n\tconst char *im_name;\n\tlong unsigned int quirks;\n\tstruct flchip chips[0];\n};\n\nstruct cfs_bandwidth {\n\traw_spinlock_t lock;\n\tktime_t period;\n\tu64 quota;\n\tu64 runtime;\n\tu64 burst;\n\tu64 runtime_snap;\n\ts64 hierarchical_quota;\n\tu8 idle;\n\tu8 period_active;\n\tu8 slack_started;\n\tstruct hrtimer period_timer;\n\tstruct hrtimer slack_timer;\n\tstruct list_head throttled_cfs_rq;\n\tint nr_periods;\n\tint nr_throttled;\n\tint nr_burst;\n\tu64 throttled_time;\n\tu64 burst_time;\n};\n\nstruct load_weight {\n\tlong unsigned int weight;\n\tu32 inv_weight;\n};\n\nstruct sched_avg {\n\tu64 last_update_time;\n\tu64 load_sum;\n\tu64 runnable_sum;\n\tu32 util_sum;\n\tu32 period_contrib;\n\tlong unsigned int load_avg;\n\tlong unsigned int runnable_avg;\n\tlong unsigned int util_avg;\n\tunsigned int util_est;\n};\n\nstruct sched_entity;\n\nstruct task_group;\n\nstruct cfs_rq {\n\tstruct load_weight load;\n\tunsigned int nr_queued;\n\tunsigned int h_nr_queued;\n\tunsigned int h_nr_runnable;\n\tunsigned int h_nr_idle;\n\ts64 avg_vruntime;\n\tu64 avg_load;\n\tu64 min_vruntime;\n\tstruct rb_root_cached tasks_timeline;\n\tstruct sched_entity *curr;\n\tstruct sched_entity *next;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_avg avg;\n\tstruct {\n\t\traw_spinlock_t lock;\n\t\tint nr;\n\t\tlong unsigned int load_avg;\n\t\tlong unsigned int util_avg;\n\t\tlong unsigned int runnable_avg;\n\t\tlong: 64;\n\t} removed;\n\tu64 last_update_tg_load_avg;\n\tlong unsigned int tg_load_avg_contrib;\n\tlong int propagate;\n\tlong int prop_runnable_sum;\n\tlong unsigned int h_load;\n\tu64 last_h_load_update;\n\tstruct sched_entity *h_load_next;\n\tstruct rq *rq;\n\tint on_list;\n\tstruct list_head leaf_cfs_rq_list;\n\tstruct task_group *tg;\n\tint idle;\n\tint runtime_enabled;\n\ts64 runtime_remaining;\n\tu64 throttled_pelt_idle;\n\tu64 throttled_clock;\n\tu64 throttled_clock_pelt;\n\tu64 throttled_clock_pelt_time;\n\tu64 throttled_clock_self;\n\tu64 throttled_clock_self_time;\n\tint throttled;\n\tint throttle_count;\n\tstruct list_head throttled_list;\n\tstruct list_head throttled_csd_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cfs_schedulable_data {\n\tstruct task_group *tg;\n\tu64 period;\n\tu64 quota;\n};\n\nstruct kernfs_ops;\n\nstruct kernfs_open_file;\n\nstruct cftype {\n\tchar name[64];\n\tlong unsigned int private;\n\tsize_t max_write_len;\n\tunsigned int flags;\n\tunsigned int file_offset;\n\tstruct cgroup_subsys *ss;\n\tstruct list_head node;\n\tstruct kernfs_ops *kf_ops;\n\tint (*open)(struct kernfs_open_file *);\n\tvoid (*release)(struct kernfs_open_file *);\n\tu64 (*read_u64)(struct cgroup_subsys_state *, struct cftype *);\n\ts64 (*read_s64)(struct cgroup_subsys_state *, struct cftype *);\n\tint (*seq_show)(struct seq_file *, void *);\n\tvoid * (*seq_start)(struct seq_file *, loff_t *);\n\tvoid * (*seq_next)(struct seq_file *, void *, loff_t *);\n\tvoid (*seq_stop)(struct seq_file *, void *);\n\tint (*write_u64)(struct cgroup_subsys_state *, struct cftype *, u64);\n\tint (*write_s64)(struct cgroup_subsys_state *, struct cftype *, s64);\n\tssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t);\n\t__poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *);\n\tstruct lock_class_key lockdep_key;\n};\n\nstruct cgroup_file {\n\tstruct kernfs_node *kn;\n\tlong unsigned int notified_at;\n\tstruct timer_list notify_timer;\n};\n\nstruct task_cputime {\n\tu64 stime;\n\tu64 utime;\n\tlong long unsigned int sum_exec_runtime;\n};\n\nstruct cgroup_base_stat {\n\tstruct task_cputime cputime;\n\tu64 ntime;\n};\n\nstruct prev_cputime {\n\tu64 utime;\n\tu64 stime;\n\traw_spinlock_t lock;\n};\n\nstruct cgroup_bpf {\n\tstruct bpf_prog_array *effective[28];\n\tstruct hlist_head progs[28];\n\tu8 flags[28];\n\tstruct list_head storages;\n\tstruct bpf_prog_array *inactive;\n\tstruct percpu_ref refcnt;\n\tstruct work_struct release_work;\n};\n\nstruct cgroup_freezer_state {\n\tbool freeze;\n\tbool e_freeze;\n\tint nr_frozen_descendants;\n\tint nr_frozen_tasks;\n};\n\nstruct cgroup_root;\n\nstruct cgroup_rstat_cpu;\n\nstruct psi_group;\n\nstruct cgroup {\n\tstruct cgroup_subsys_state self;\n\tlong unsigned int flags;\n\tint level;\n\tint max_depth;\n\tint nr_descendants;\n\tint nr_dying_descendants;\n\tint max_descendants;\n\tint nr_populated_csets;\n\tint nr_populated_domain_children;\n\tint nr_populated_threaded_children;\n\tint nr_threaded_children;\n\tunsigned int kill_seq;\n\tstruct kernfs_node *kn;\n\tstruct cgroup_file procs_file;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file psi_files[0];\n\tu16 subtree_control;\n\tu16 subtree_ss_mask;\n\tu16 old_subtree_control;\n\tu16 old_subtree_ss_mask;\n\tstruct cgroup_subsys_state *subsys[12];\n\tint nr_dying_subsys[12];\n\tstruct cgroup_root *root;\n\tstruct list_head cset_links;\n\tstruct list_head e_csets[12];\n\tstruct cgroup *dom_cgrp;\n\tstruct cgroup *old_dom_cgrp;\n\tstruct cgroup_rstat_cpu *rstat_cpu;\n\tstruct list_head rstat_css_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad_;\n\tstruct cgroup *rstat_flush_next;\n\tstruct cgroup_base_stat last_bstat;\n\tstruct cgroup_base_stat bstat;\n\tstruct prev_cputime prev_cputime;\n\tstruct list_head pidlists;\n\tstruct mutex pidlist_mutex;\n\twait_queue_head_t offline_waitq;\n\tstruct work_struct release_agent_work;\n\tstruct psi_group *psi;\n\tstruct cgroup_bpf bpf;\n\tstruct cgroup_freezer_state freezer;\n\tstruct bpf_local_storage *bpf_cgrp_storage;\n\tstruct cgroup *ancestors[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cgroup__safe_rcu {\n\tstruct kernfs_node *kn;\n};\n\nstruct cgroup_cls_state {\n\tstruct cgroup_subsys_state css;\n\tu32 classid;\n};\n\nstruct css_set;\n\nstruct css_task_iter {\n\tstruct cgroup_subsys *ss;\n\tunsigned int flags;\n\tstruct list_head *cset_pos;\n\tstruct list_head *cset_head;\n\tstruct list_head *tcset_pos;\n\tstruct list_head *tcset_head;\n\tstruct list_head *task_pos;\n\tstruct list_head *cur_tasks_head;\n\tstruct css_set *cur_cset;\n\tstruct css_set *cur_dcset;\n\tstruct task_struct *cur_task;\n\tstruct list_head iters_node;\n};\n\nstruct cgroup_of_peak {\n\tlong unsigned int value;\n\tstruct list_head list;\n};\n\nstruct cgroup_namespace;\n\nstruct cgroup_pidlist;\n\nstruct cgroup_file_ctx {\n\tstruct cgroup_namespace *ns;\n\tstruct {\n\t\tvoid *trigger;\n\t} psi;\n\tstruct {\n\t\tbool started;\n\t\tstruct css_task_iter iter;\n\t} procs;\n\tstruct {\n\t\tstruct cgroup_pidlist *pidlist;\n\t} procs1;\n\tstruct cgroup_of_peak peak;\n};\n\nstruct kernfs_root;\n\nstruct kernfs_fs_context {\n\tstruct kernfs_root *root;\n\tvoid *ns_tag;\n\tlong unsigned int magic;\n\tbool new_sb_created;\n};\n\nstruct cgroup_fs_context {\n\tstruct kernfs_fs_context kfc;\n\tstruct cgroup_root *root;\n\tstruct cgroup_namespace *ns;\n\tunsigned int flags;\n\tbool cpuset_clone_children;\n\tbool none;\n\tbool all_ss;\n\tu16 subsys_mask;\n\tchar *name;\n\tchar *release_agent;\n};\n\nstruct cgroup_iter_priv {\n\tstruct cgroup_subsys_state *start_css;\n\tbool visited_all;\n\tbool terminate;\n\tint order;\n};\n\nstruct cgroup_taskset {\n\tstruct list_head src_csets;\n\tstruct list_head dst_csets;\n\tint nr_tasks;\n\tint ssid;\n\tstruct list_head *csets;\n\tstruct css_set *cur_cset;\n\tstruct task_struct *cur_task;\n};\n\nstruct cgroup_mgctx {\n\tstruct list_head preloaded_src_csets;\n\tstruct list_head preloaded_dst_csets;\n\tstruct cgroup_taskset tset;\n\tu16 ss_mask;\n};\n\nstruct proc_ns_operations;\n\nstruct ns_common {\n\tstruct dentry *stashed;\n\tconst struct proc_ns_operations *ops;\n\tunsigned int inum;\n\trefcount_t count;\n};\n\nstruct ucounts;\n\nstruct cgroup_namespace {\n\tstruct ns_common ns;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct css_set *root_cset;\n};\n\nstruct cgroup_pidlist {\n\tstruct {\n\t\tenum cgroup_filetype type;\n\t\tstruct pid_namespace *ns;\n\t} key;\n\tpid_t *list;\n\tint length;\n\tstruct list_head links;\n\tstruct cgroup *owner;\n\tstruct delayed_work destroy_dwork;\n};\n\nstruct cgroup_root {\n\tstruct kernfs_root *kf_root;\n\tunsigned int subsys_mask;\n\tint hierarchy_id;\n\tstruct list_head root_list;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tstruct cgroup cgrp;\n\tstruct cgroup *cgrp_ancestor_storage;\n\tatomic_t nr_cgrps;\n\tunsigned int flags;\n\tchar release_agent_path[4096];\n\tchar name[64];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct cgroup_rstat_cpu {\n\tstruct u64_stats_sync bsync;\n\tstruct cgroup_base_stat bstat;\n\tstruct cgroup_base_stat last_bstat;\n\tstruct cgroup_base_stat subtree_bstat;\n\tstruct cgroup_base_stat last_subtree_bstat;\n\tstruct cgroup *updated_children;\n\tstruct cgroup *updated_next;\n};\n\nstruct idr {\n\tstruct xarray idr_rt;\n\tunsigned int idr_base;\n\tunsigned int idr_next;\n};\n\nstruct cgroup_subsys {\n\tstruct cgroup_subsys_state * (*css_alloc)(struct cgroup_subsys_state *);\n\tint (*css_online)(struct cgroup_subsys_state *);\n\tvoid (*css_offline)(struct cgroup_subsys_state *);\n\tvoid (*css_released)(struct cgroup_subsys_state *);\n\tvoid (*css_free)(struct cgroup_subsys_state *);\n\tvoid (*css_reset)(struct cgroup_subsys_state *);\n\tvoid (*css_rstat_flush)(struct cgroup_subsys_state *, int);\n\tint (*css_extra_stat_show)(struct seq_file *, struct cgroup_subsys_state *);\n\tint (*css_local_stat_show)(struct seq_file *, struct cgroup_subsys_state *);\n\tint (*can_attach)(struct cgroup_taskset *);\n\tvoid (*cancel_attach)(struct cgroup_taskset *);\n\tvoid (*attach)(struct cgroup_taskset *);\n\tvoid (*post_attach)(void);\n\tint (*can_fork)(struct task_struct *, struct css_set *);\n\tvoid (*cancel_fork)(struct task_struct *, struct css_set *);\n\tvoid (*fork)(struct task_struct *);\n\tvoid (*exit)(struct task_struct *);\n\tvoid (*release)(struct task_struct *);\n\tvoid (*bind)(struct cgroup_subsys_state *);\n\tbool early_init: 1;\n\tbool implicit_on_dfl: 1;\n\tbool threaded: 1;\n\tint id;\n\tconst char *name;\n\tconst char *legacy_name;\n\tstruct cgroup_root *root;\n\tstruct idr css_idr;\n\tstruct list_head cfts;\n\tstruct cftype *dfl_cftypes;\n\tstruct cftype *legacy_cftypes;\n\tunsigned int depends_on;\n};\n\nstruct cgroupstats {\n\t__u64 nr_sleeping;\n\t__u64 nr_running;\n\t__u64 nr_stopped;\n\t__u64 nr_uninterruptible;\n\t__u64 nr_io_wait;\n};\n\nstruct cgrp_cset_link {\n\tstruct cgroup *cgrp;\n\tstruct css_set *cset;\n\tstruct list_head cset_link;\n\tstruct list_head cgrp_link;\n};\n\nstruct ethnl_reply_data {\n\tstruct net_device *dev;\n};\n\nstruct ethtool_channels {\n\t__u32 cmd;\n\t__u32 max_rx;\n\t__u32 max_tx;\n\t__u32 max_other;\n\t__u32 max_combined;\n\t__u32 rx_count;\n\t__u32 tx_count;\n\t__u32 other_count;\n\t__u32 combined_count;\n};\n\nstruct channels_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_channels channels;\n};\n\nstruct char_device_struct {\n\tstruct char_device_struct *next;\n\tunsigned int major;\n\tunsigned int baseminor;\n\tint minorct;\n\tchar name[64];\n\tstruct cdev *cdev;\n};\n\nstruct qdisc_walker {\n\tint stop;\n\tint skip;\n\tint count;\n\tint (*fn)(struct Qdisc *, long unsigned int, struct qdisc_walker *);\n};\n\nstruct check_loop_arg {\n\tstruct qdisc_walker w;\n\tstruct Qdisc *p;\n\tint depth;\n};\n\nstruct check_mount {\n\tstruct vfsmount *mnt;\n\tunsigned int mounted;\n};\n\nstruct chip_probe {\n\tchar *name;\n\tint (*probe_chip)(struct map_info *, __u32, long unsigned int *, struct cfi_private *);\n};\n\nstruct cipher_context {\n\tchar iv[20];\n\tchar rec_seq[8];\n};\n\nstruct mmc_card;\n\nstruct sdio_func;\n\ntypedef int tpl_parse_t(struct mmc_card *, struct sdio_func *, const unsigned char *, unsigned int);\n\nstruct cis_tpl {\n\tunsigned char code;\n\tunsigned char min_size;\n\ttpl_parse_t *parse;\n};\n\nstruct class_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct class *, const struct class_attribute *, char *);\n\tssize_t (*store)(const struct class *, const struct class_attribute *, const char *, size_t);\n};\n\nstruct class_attribute_string {\n\tstruct class_attribute attr;\n\tchar *str;\n};\n\nstruct class_compat {\n\tstruct kobject *kobj;\n};\n\nstruct hashtab_node;\n\nstruct hashtab {\n\tstruct hashtab_node **htable;\n\tu32 size;\n\tu32 nel;\n};\n\nstruct symtab {\n\tstruct hashtab table;\n\tu32 nprim;\n};\n\nstruct common_datum;\n\nstruct constraint_node;\n\nstruct class_datum {\n\tu32 value;\n\tchar *comkey;\n\tstruct common_datum *comdatum;\n\tstruct symtab permissions;\n\tstruct constraint_node *constraints;\n\tstruct constraint_node *validatetrans;\n\tchar default_user;\n\tchar default_role;\n\tchar default_type;\n\tchar default_range;\n};\n\nstruct klist_iter {\n\tstruct klist *i_klist;\n\tstruct klist_node *i_cur;\n};\n\nstruct subsys_private;\n\nstruct class_dev_iter {\n\tstruct klist_iter ki;\n\tconst struct device_type *type;\n\tstruct subsys_private *sp;\n};\n\nstruct class_dir {\n\tstruct kobject kobj;\n\tconst struct class *class;\n};\n\nstruct class_info {\n\tint class;\n\tchar *class_name;\n};\n\nstruct class_interface {\n\tstruct list_head node;\n\tconst struct class *class;\n\tint (*add_dev)(struct device *);\n\tvoid (*remove_dev)(struct device *);\n};\n\nstruct clear_badblocks_context {\n\tresource_size_t phys;\n\tresource_size_t cleared;\n};\n\nstruct clear_refs_private {\n\tenum clear_refs_types type;\n};\n\nstruct clk {\n\tstruct clk_core *core;\n\tstruct device *dev;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tunsigned int exclusive_count;\n\tstruct hlist_node clks_node;\n};\n\nstruct clk_bulk_data {\n\tconst char *id;\n\tstruct clk *clk;\n};\n\nstruct clk_bulk_devres {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct clk_rate_request;\n\nstruct clk_duty;\n\nstruct clk_ops {\n\tint (*prepare)(struct clk_hw *);\n\tvoid (*unprepare)(struct clk_hw *);\n\tint (*is_prepared)(struct clk_hw *);\n\tvoid (*unprepare_unused)(struct clk_hw *);\n\tint (*enable)(struct clk_hw *);\n\tvoid (*disable)(struct clk_hw *);\n\tint (*is_enabled)(struct clk_hw *);\n\tvoid (*disable_unused)(struct clk_hw *);\n\tint (*save_context)(struct clk_hw *);\n\tvoid (*restore_context)(struct clk_hw *);\n\tlong unsigned int (*recalc_rate)(struct clk_hw *, long unsigned int);\n\tlong int (*round_rate)(struct clk_hw *, long unsigned int, long unsigned int *);\n\tint (*determine_rate)(struct clk_hw *, struct clk_rate_request *);\n\tint (*set_parent)(struct clk_hw *, u8);\n\tu8 (*get_parent)(struct clk_hw *);\n\tint (*set_rate)(struct clk_hw *, long unsigned int, long unsigned int);\n\tint (*set_rate_and_parent)(struct clk_hw *, long unsigned int, long unsigned int, u8);\n\tlong unsigned int (*recalc_accuracy)(struct clk_hw *, long unsigned int);\n\tint (*get_phase)(struct clk_hw *);\n\tint (*set_phase)(struct clk_hw *, int);\n\tint (*get_duty_cycle)(struct clk_hw *, struct clk_duty *);\n\tint (*set_duty_cycle)(struct clk_hw *, struct clk_duty *);\n\tint (*init)(struct clk_hw *);\n\tvoid (*terminate)(struct clk_hw *);\n\tvoid (*debug_init)(struct clk_hw *, struct dentry *);\n};\n\nstruct clk_composite {\n\tstruct clk_hw hw;\n\tstruct clk_ops ops;\n\tstruct clk_hw *mux_hw;\n\tstruct clk_hw *rate_hw;\n\tstruct clk_hw *gate_hw;\n\tconst struct clk_ops *mux_ops;\n\tconst struct clk_ops *rate_ops;\n\tconst struct clk_ops *gate_ops;\n};\n\nstruct clk_duty {\n\tunsigned int num;\n\tunsigned int den;\n};\n\nstruct clk_parent_map;\n\nstruct clk_core {\n\tconst char *name;\n\tconst struct clk_ops *ops;\n\tstruct clk_hw *hw;\n\tstruct module *owner;\n\tstruct device *dev;\n\tstruct hlist_node rpm_node;\n\tstruct device_node *of_node;\n\tstruct clk_core *parent;\n\tstruct clk_parent_map *parents;\n\tu8 num_parents;\n\tu8 new_parent_index;\n\tlong unsigned int rate;\n\tlong unsigned int req_rate;\n\tlong unsigned int new_rate;\n\tstruct clk_core *new_parent;\n\tstruct clk_core *new_child;\n\tlong unsigned int flags;\n\tbool orphan;\n\tbool rpm_enabled;\n\tunsigned int enable_count;\n\tunsigned int prepare_count;\n\tunsigned int protect_count;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int accuracy;\n\tint phase;\n\tstruct clk_duty duty;\n\tstruct hlist_head children;\n\tstruct hlist_node child_node;\n\tstruct hlist_head clks;\n\tunsigned int notifier_count;\n\tstruct dentry *dentry;\n\tstruct hlist_node debug_node;\n\tstruct kref ref;\n};\n\nstruct clk_div_table {\n\tunsigned int val;\n\tunsigned int div;\n};\n\nstruct clk_divider {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu8 width;\n\tu16 flags;\n\tconst struct clk_div_table *table;\n\tspinlock_t *lock;\n};\n\nstruct clk_fixed_factor {\n\tstruct clk_hw hw;\n\tunsigned int mult;\n\tunsigned int div;\n\tlong unsigned int acc;\n\tunsigned int flags;\n};\n\nstruct clk_fixed_rate {\n\tstruct clk_hw hw;\n\tlong unsigned int fixed_rate;\n\tlong unsigned int fixed_accuracy;\n\tlong unsigned int flags;\n};\n\nstruct clk_fractional_divider {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 mshift;\n\tu8 mwidth;\n\tu8 nshift;\n\tu8 nwidth;\n\tu8 flags;\n\tvoid (*approximation)(struct clk_hw *, long unsigned int, long unsigned int *, long unsigned int *, long unsigned int *);\n\tspinlock_t *lock;\n};\n\nstruct clk_gate {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 bit_idx;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct clk_gpio {\n\tstruct clk_hw hw;\n\tstruct gpio_desc *gpiod;\n};\n\nstruct clk_gated_fixed {\n\tstruct clk_gpio clk_gpio;\n\tstruct regulator *supply;\n\tlong unsigned int rate;\n};\n\nstruct clk_parent_data;\n\nstruct clk_init_data {\n\tconst char *name;\n\tconst struct clk_ops *ops;\n\tconst char * const *parent_names;\n\tconst struct clk_parent_data *parent_data;\n\tconst struct clk_hw **parent_hws;\n\tu8 num_parents;\n\tlong unsigned int flags;\n};\n\nstruct clk_lookup {\n\tstruct list_head node;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct clk *clk;\n\tstruct clk_hw *clk_hw;\n};\n\nstruct clk_lookup_alloc {\n\tstruct clk_lookup cl;\n\tchar dev_id[24];\n\tchar con_id[16];\n};\n\nstruct clk_multiplier {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tu8 shift;\n\tu8 width;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct clk_mux {\n\tstruct clk_hw hw;\n\tvoid *reg;\n\tconst u32 *table;\n\tu32 mask;\n\tu8 shift;\n\tu8 flags;\n\tspinlock_t *lock;\n};\n\nstruct srcu_node;\n\nstruct srcu_usage {\n\tstruct srcu_node *node;\n\tstruct srcu_node *level[3];\n\tint srcu_size_state;\n\tstruct mutex srcu_cb_mutex;\n\tspinlock_t lock;\n\tstruct mutex srcu_gp_mutex;\n\tlong unsigned int srcu_gp_seq;\n\tlong unsigned int srcu_gp_seq_needed;\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tlong unsigned int srcu_gp_start;\n\tlong unsigned int srcu_last_gp_end;\n\tlong unsigned int srcu_size_jiffies;\n\tlong unsigned int srcu_n_lock_retries;\n\tlong unsigned int srcu_n_exp_nodelay;\n\tbool sda_is_static;\n\tlong unsigned int srcu_barrier_seq;\n\tstruct mutex srcu_barrier_mutex;\n\tstruct completion srcu_barrier_completion;\n\tatomic_t srcu_barrier_cpu_cnt;\n\tlong unsigned int reschedule_jiffies;\n\tlong unsigned int reschedule_count;\n\tstruct delayed_work work;\n\tstruct srcu_struct *srcu_ssp;\n};\n\nstruct srcu_data;\n\nstruct srcu_struct {\n\tunsigned int srcu_idx;\n\tstruct srcu_data *sda;\n\tstruct lockdep_map dep_map;\n\tstruct srcu_usage *srcu_sup;\n};\n\nstruct srcu_notifier_head {\n\tstruct mutex mutex;\n\tstruct srcu_usage srcuu;\n\tstruct srcu_struct srcu;\n\tstruct notifier_block *head;\n};\n\nstruct clk_notifier {\n\tstruct clk *clk;\n\tstruct srcu_notifier_head notifier_head;\n\tstruct list_head node;\n};\n\nstruct clk_notifier_data {\n\tstruct clk *clk;\n\tlong unsigned int old_rate;\n\tlong unsigned int new_rate;\n};\n\nstruct clk_notifier_devres {\n\tstruct clk *clk;\n\tstruct notifier_block *nb;\n};\n\nstruct clk_onecell_data {\n\tstruct clk **clks;\n\tunsigned int clk_num;\n};\n\nstruct clk_parent_data {\n\tconst struct clk_hw *hw;\n\tconst char *fw_name;\n\tconst char *name;\n\tint index;\n};\n\nstruct clk_parent_map {\n\tconst struct clk_hw *hw;\n\tstruct clk_core *core;\n\tconst char *fw_name;\n\tconst char *name;\n\tint index;\n};\n\nstruct clk_rate_request {\n\tstruct clk_core *core;\n\tlong unsigned int rate;\n\tlong unsigned int min_rate;\n\tlong unsigned int max_rate;\n\tlong unsigned int best_parent_rate;\n\tstruct clk_hw *best_parent_hw;\n};\n\nstruct clock_read_data {\n\tu64 epoch_ns;\n\tu64 epoch_cyc;\n\tu64 sched_clock_mask;\n\tu64 (*read_sched_clock)(void);\n\tu32 mult;\n\tu32 shift;\n};\n\nstruct clock_data {\n\tseqcount_latch_t seq;\n\tstruct clock_read_data read_data[2];\n\tktime_t wrap_kt;\n\tlong unsigned int rate;\n\tu64 (*actual_read_sched_clock)(void);\n};\n\nstruct clock_event_device {\n\tvoid (*event_handler)(struct clock_event_device *);\n\tint (*set_next_event)(long unsigned int, struct clock_event_device *);\n\tint (*set_next_ktime)(ktime_t, struct clock_event_device *);\n\tktime_t next_event;\n\tu64 max_delta_ns;\n\tu64 min_delta_ns;\n\tu32 mult;\n\tu32 shift;\n\tenum clock_event_state state_use_accessors;\n\tunsigned int features;\n\tlong unsigned int retries;\n\tint (*set_state_periodic)(struct clock_event_device *);\n\tint (*set_state_oneshot)(struct clock_event_device *);\n\tint (*set_state_oneshot_stopped)(struct clock_event_device *);\n\tint (*set_state_shutdown)(struct clock_event_device *);\n\tint (*tick_resume)(struct clock_event_device *);\n\tvoid (*broadcast)(const struct cpumask *);\n\tvoid (*suspend)(struct clock_event_device *);\n\tvoid (*resume)(struct clock_event_device *);\n\tlong unsigned int min_delta_ticks;\n\tlong unsigned int max_delta_ticks;\n\tconst char *name;\n\tint rating;\n\tint irq;\n\tint bound_on;\n\tconst struct cpumask *cpumask;\n\tstruct list_head list;\n\tstruct module *owner;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct clock_identity {\n\tu8 id[8];\n};\n\nstruct clock_provider {\n\tvoid (*clk_init_cb)(struct device_node *);\n\tstruct device_node *np;\n\tstruct list_head node;\n};\n\nstruct clocksource_base;\n\nstruct clocksource {\n\tu64 (*read)(struct clocksource *);\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n\tu64 max_idle_ns;\n\tu32 maxadj;\n\tu32 uncertainty_margin;\n\tu64 max_cycles;\n\tu64 max_raw_delta;\n\tconst char *name;\n\tstruct list_head list;\n\tu32 freq_khz;\n\tint rating;\n\tenum clocksource_ids id;\n\tenum vdso_clock_mode vdso_clock_mode;\n\tlong unsigned int flags;\n\tstruct clocksource_base *base;\n\tint (*enable)(struct clocksource *);\n\tvoid (*disable)(struct clocksource *);\n\tvoid (*suspend)(struct clocksource *);\n\tvoid (*resume)(struct clocksource *);\n\tvoid (*mark_unstable)(struct clocksource *);\n\tvoid (*tick_stable)(struct clocksource *);\n\tstruct module *owner;\n};\n\nstruct clocksource_base {\n\tenum clocksource_ids id;\n\tu32 freq_khz;\n\tu64 offset;\n\tu32 numerator;\n\tu32 denominator;\n};\n\nstruct clocksource_mmio {\n\tvoid *reg;\n\tstruct clocksource clksrc;\n};\n\nstruct clone_args {\n\t__u64 flags;\n\t__u64 pidfd;\n\t__u64 child_tid;\n\t__u64 parent_tid;\n\t__u64 exit_signal;\n\t__u64 stack;\n\t__u64 stack_size;\n\t__u64 tls;\n\t__u64 set_tid;\n\t__u64 set_tid_size;\n\t__u64 cgroup;\n};\n\nstruct cmis_cdb_advert_rpl {\n\tu8 inst_supported;\n\tu8 read_write_len_ext;\n\tu8 resv1;\n\tu8 resv2;\n};\n\nstruct cmis_cdb_fw_mng_features_rpl {\n\tu8 resv1;\n\tu8 resv2;\n\tu8 start_cmd_payload_size;\n\tu8 resv3;\n\tu8 read_write_len_ext;\n\tu8 write_mechanism;\n\tu8 resv4;\n\tu8 resv5;\n\t__be16 max_duration_start;\n\t__be16 resv6;\n\t__be16 max_duration_write;\n\t__be16 max_duration_complete;\n\t__be16 resv7;\n};\n\nstruct cmis_cdb_module_features_rpl {\n\tu8 resv1[34];\n\t__be16 max_completion_time;\n};\n\nstruct cmis_cdb_query_status_pl {\n\tu16 response_delay;\n};\n\nstruct cmis_cdb_query_status_rpl {\n\tu8 length;\n\tu8 status;\n};\n\nstruct cmis_cdb_run_fw_image_pl {\n\tu8 resv1;\n\tu8 image_to_run;\n\tu16 delay_to_reset;\n};\n\nstruct cmis_cdb_start_fw_download_pl_h {\n\t__be32 image_size;\n\t__be32 resv1;\n};\n\nstruct cmis_cdb_start_fw_download_pl {\n\tunion {\n\t\tstruct {\n\t\t\t__be32 image_size;\n\t\t\t__be32 resv1;\n\t\t};\n\t\tstruct cmis_cdb_start_fw_download_pl_h head;\n\t};\n\tu8 vendor_data[112];\n};\n\nstruct cmis_cdb_write_fw_block_epl_pl {\n\tu8 fw_block[2048];\n};\n\nstruct cmis_cdb_write_fw_block_lpl_pl {\n\t__be32 block_address;\n\tu8 fw_block[116];\n};\n\nstruct cmis_fw_update_fw_mng_features {\n\tu8 start_cmd_payload_size;\n\tu8 write_mechanism;\n\tu16 max_duration_start;\n\tu16 max_duration_write;\n\tu16 max_duration_complete;\n};\n\nstruct cmis_password_entry_pl {\n\t__be32 password;\n};\n\nstruct cmis_rev_rpl {\n\tu8 rev;\n};\n\nstruct cmis_wait_for_cond_rpl {\n\tu8 state;\n};\n\nstruct cmsghdr {\n\t__kernel_size_t cmsg_len;\n\tint cmsg_level;\n\tint cmsg_type;\n};\n\nstruct ethtool_coalesce {\n\t__u32 cmd;\n\t__u32 rx_coalesce_usecs;\n\t__u32 rx_max_coalesced_frames;\n\t__u32 rx_coalesce_usecs_irq;\n\t__u32 rx_max_coalesced_frames_irq;\n\t__u32 tx_coalesce_usecs;\n\t__u32 tx_max_coalesced_frames;\n\t__u32 tx_coalesce_usecs_irq;\n\t__u32 tx_max_coalesced_frames_irq;\n\t__u32 stats_block_coalesce_usecs;\n\t__u32 use_adaptive_rx_coalesce;\n\t__u32 use_adaptive_tx_coalesce;\n\t__u32 pkt_rate_low;\n\t__u32 rx_coalesce_usecs_low;\n\t__u32 rx_max_coalesced_frames_low;\n\t__u32 tx_coalesce_usecs_low;\n\t__u32 tx_max_coalesced_frames_low;\n\t__u32 pkt_rate_high;\n\t__u32 rx_coalesce_usecs_high;\n\t__u32 rx_max_coalesced_frames_high;\n\t__u32 tx_coalesce_usecs_high;\n\t__u32 tx_max_coalesced_frames_high;\n\t__u32 rate_sample_interval;\n};\n\nstruct kernel_ethtool_coalesce {\n\tu8 use_cqe_mode_tx;\n\tu8 use_cqe_mode_rx;\n\tu32 tx_aggr_max_bytes;\n\tu32 tx_aggr_max_frames;\n\tu32 tx_aggr_time_usecs;\n};\n\nstruct coalesce_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_coalesce coalesce;\n\tstruct kernel_ethtool_coalesce kernel_coalesce;\n\tu32 supported_params;\n};\n\nstruct scsi_lun {\n\t__u8 scsi_lun[8];\n};\n\nstruct command_iu {\n\t__u8 iu_id;\n\t__u8 rsvd1;\n\t__be16 tag;\n\t__u8 prio_attr;\n\t__u8 rsvd5;\n\t__u8 len;\n\t__u8 rsvd7;\n\tstruct scsi_lun lun;\n\t__u8 cdb[16];\n};\n\nstruct commit_header {\n\t__be32 h_magic;\n\t__be32 h_blocktype;\n\t__be32 h_sequence;\n\tunsigned char h_chksum_type;\n\tunsigned char h_chksum_size;\n\tunsigned char h_padding[2];\n\t__be32 h_chksum[8];\n\t__be64 h_commit_sec;\n\t__be32 h_commit_nsec;\n};\n\nstruct common_datum {\n\tu32 value;\n\tstruct symtab permissions;\n};\n\nstruct zone;\n\nstruct compact_control {\n\tstruct list_head freepages[11];\n\tstruct list_head migratepages;\n\tunsigned int nr_freepages;\n\tunsigned int nr_migratepages;\n\tlong unsigned int free_pfn;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int fast_start_pfn;\n\tstruct zone *zone;\n\tlong unsigned int total_migrate_scanned;\n\tlong unsigned int total_free_scanned;\n\tshort unsigned int fast_search_fail;\n\tshort int search_order;\n\tconst gfp_t gfp_mask;\n\tint order;\n\tint migratetype;\n\tconst unsigned int alloc_flags;\n\tconst int highest_zoneidx;\n\tenum migrate_mode mode;\n\tbool ignore_skip_hint;\n\tbool no_set_skip_hint;\n\tbool ignore_block_suitable;\n\tbool direct_compaction;\n\tbool proactive_compaction;\n\tbool whole_zone;\n\tbool contended;\n\tbool finish_pageblock;\n\tbool alloc_contig;\n};\n\nstruct compat_blkpg_ioctl_arg {\n\tcompat_int_t op;\n\tcompat_int_t flags;\n\tcompat_int_t datalen;\n\tcompat_caddr_t data;\n};\n\nstruct compat_cdrom_generic_command {\n\tunsigned char cmd[12];\n\tcompat_caddr_t buffer;\n\tcompat_uint_t buflen;\n\tcompat_int_t stat;\n\tcompat_caddr_t sense;\n\tunsigned char data_direction;\n\tunsigned char pad[3];\n\tcompat_int_t quiet;\n\tcompat_int_t timeout;\n\tcompat_caddr_t unused;\n};\n\nstruct compat_cdrom_read_audio {\n\tunion cdrom_addr addr;\n\tu8 addr_format;\n\tcompat_int_t nframes;\n\tcompat_caddr_t buf;\n};\n\nstruct compat_cmsghdr {\n\tcompat_size_t cmsg_len;\n\tcompat_int_t cmsg_level;\n\tcompat_int_t cmsg_type;\n};\n\nstruct compat_console_font_op {\n\tcompat_uint_t op;\n\tcompat_uint_t flags;\n\tcompat_uint_t width;\n\tcompat_uint_t height;\n\tcompat_uint_t charcount;\n\tcompat_caddr_t data;\n};\n\nstruct compat_dirent {\n\tu32 d_ino;\n\tcompat_off_t d_off;\n\tu16 d_reclen;\n\tchar d_name[256];\n};\n\nstruct compat_elf_prpsinfo {\n\tchar pr_state;\n\tchar pr_sname;\n\tchar pr_zomb;\n\tchar pr_nice;\n\tcompat_ulong_t pr_flag;\n\t__compat_uid_t pr_uid;\n\t__compat_gid_t pr_gid;\n\tcompat_pid_t pr_pid;\n\tcompat_pid_t pr_ppid;\n\tcompat_pid_t pr_pgrp;\n\tcompat_pid_t pr_sid;\n\tchar pr_fname[16];\n\tchar pr_psargs[80];\n};\n\nstruct compat_elf_siginfo {\n\tcompat_int_t si_signo;\n\tcompat_int_t si_code;\n\tcompat_int_t si_errno;\n};\n\nstruct old_timeval32 {\n\told_time32_t tv_sec;\n\ts32 tv_usec;\n};\n\nstruct compat_elf_prstatus_common {\n\tstruct compat_elf_siginfo pr_info;\n\tshort int pr_cursig;\n\tcompat_ulong_t pr_sigpend;\n\tcompat_ulong_t pr_sighold;\n\tcompat_pid_t pr_pid;\n\tcompat_pid_t pr_ppid;\n\tcompat_pid_t pr_pgrp;\n\tcompat_pid_t pr_sid;\n\tstruct old_timeval32 pr_utime;\n\tstruct old_timeval32 pr_stime;\n\tstruct old_timeval32 pr_cutime;\n\tstruct old_timeval32 pr_cstime;\n};\n\nstruct compat_elf_prstatus {\n\tstruct compat_elf_prstatus_common common;\n\tcompat_elf_gregset_t pr_reg;\n\tcompat_int_t pr_fpvalid;\n};\n\nstruct compat_ext4_new_group_input {\n\tu32 group;\n\tcompat_u64 block_bitmap;\n\tcompat_u64 inode_bitmap;\n\tcompat_u64 inode_table;\n\tu32 blocks_count;\n\tu16 reserved_blocks;\n\tu16 unused;\n};\n\nstruct compat_flock {\n\tshort int l_type;\n\tshort int l_whence;\n\tcompat_off_t l_start;\n\tcompat_off_t l_len;\n\tcompat_pid_t l_pid;\n};\n\nstruct compat_flock64 {\n\tshort int l_type;\n\tshort int l_whence;\n\tcompat_loff_t l_start;\n\tcompat_loff_t l_len;\n\tcompat_pid_t l_pid;\n};\n\nstruct dir_context;\n\ntypedef bool (*filldir_t)(struct dir_context *, const char *, int, loff_t, u64, unsigned int);\n\nstruct dir_context {\n\tfilldir_t actor;\n\tloff_t pos;\n};\n\nstruct compat_linux_dirent;\n\nstruct compat_getdents_callback {\n\tstruct dir_context ctx;\n\tstruct compat_linux_dirent *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct compat_group_filter {\n\tunion {\n\t\tstruct {\n\t\t\t__u32 gf_interface_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_group_aux;\n\t\t\t__u32 gf_fmode_aux;\n\t\t\t__u32 gf_numsrc_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist[1];\n\t\t} __attribute__((packed));\n\t\tstruct {\n\t\t\t__u32 gf_interface;\n\t\t\tstruct __kernel_sockaddr_storage gf_group;\n\t\t\t__u32 gf_fmode;\n\t\t\t__u32 gf_numsrc;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist_flex[0];\n\t\t} __attribute__((packed));\n\t};\n};\n\nstruct compat_group_req {\n\t__u32 gr_interface;\n\tstruct __kernel_sockaddr_storage gr_group;\n} __attribute__((packed));\n\nstruct compat_group_source_req {\n\t__u32 gsr_interface;\n\tstruct __kernel_sockaddr_storage gsr_group;\n\tstruct __kernel_sockaddr_storage gsr_source;\n} __attribute__((packed));\n\nstruct compat_hd_geometry {\n\tunsigned char heads;\n\tunsigned char sectors;\n\tshort unsigned int cylinders;\n\tu32 start;\n};\n\nstruct compat_if_settings {\n\tunsigned int type;\n\tunsigned int size;\n\tcompat_uptr_t ifs_ifsu;\n};\n\nstruct compat_ifconf {\n\tcompat_int_t ifc_len;\n\tcompat_caddr_t ifcbuf;\n};\n\nstruct compat_ifmap {\n\tcompat_ulong_t mem_start;\n\tcompat_ulong_t mem_end;\n\tshort unsigned int base_addr;\n\tunsigned char irq;\n\tunsigned char dma;\n\tunsigned char port;\n};\n\nstruct compat_ifreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion {\n\t\tstruct sockaddr ifru_addr;\n\t\tstruct sockaddr ifru_dstaddr;\n\t\tstruct sockaddr ifru_broadaddr;\n\t\tstruct sockaddr ifru_netmask;\n\t\tstruct sockaddr ifru_hwaddr;\n\t\tshort int ifru_flags;\n\t\tcompat_int_t ifru_ivalue;\n\t\tcompat_int_t ifru_mtu;\n\t\tstruct compat_ifmap ifru_map;\n\t\tchar ifru_slave[16];\n\t\tchar ifru_newname[16];\n\t\tcompat_caddr_t ifru_data;\n\t\tstruct compat_if_settings ifru_settings;\n\t} ifr_ifru;\n};\n\nstruct compat_in6_rtmsg {\n\tstruct in6_addr rtmsg_dst;\n\tstruct in6_addr rtmsg_src;\n\tstruct in6_addr rtmsg_gateway;\n\tu32 rtmsg_type;\n\tu16 rtmsg_dst_len;\n\tu16 rtmsg_src_len;\n\tu32 rtmsg_metric;\n\tu32 rtmsg_info;\n\tu32 rtmsg_flags;\n\ts32 rtmsg_ifindex;\n};\n\nstruct compat_iovec {\n\tcompat_uptr_t iov_base;\n\tcompat_size_t iov_len;\n};\n\nstruct compat_ipc64_perm {\n\tcompat_key_t key;\n\t__compat_uid32_t uid;\n\t__compat_gid32_t gid;\n\t__compat_uid32_t cuid;\n\t__compat_gid32_t cgid;\n\tcompat_mode_t mode;\n\tunsigned char __pad1[0];\n\tcompat_ushort_t seq;\n\tcompat_ushort_t __pad2;\n\tcompat_ulong_t unused1;\n\tcompat_ulong_t unused2;\n};\n\nstruct compat_ipc_perm {\n\tkey_t key;\n\t__compat_uid_t uid;\n\t__compat_gid_t gid;\n\t__compat_uid_t cuid;\n\t__compat_gid_t cgid;\n\tcompat_mode_t mode;\n\tshort unsigned int seq;\n};\n\nstruct compat_linux_dirent {\n\tcompat_ulong_t d_ino;\n\tcompat_ulong_t d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[0];\n};\n\nstruct compat_loop_info {\n\tcompat_int_t lo_number;\n\tcompat_dev_t lo_device;\n\tcompat_ulong_t lo_inode;\n\tcompat_dev_t lo_rdevice;\n\tcompat_int_t lo_offset;\n\tcompat_int_t lo_encrypt_type;\n\tcompat_int_t lo_encrypt_key_size;\n\tcompat_int_t lo_flags;\n\tchar lo_name[64];\n\tunsigned char lo_encrypt_key[32];\n\tcompat_ulong_t lo_init[2];\n\tchar reserved[4];\n};\n\nstruct compat_msghdr {\n\tcompat_uptr_t msg_name;\n\tcompat_int_t msg_namelen;\n\tcompat_uptr_t msg_iov;\n\tcompat_size_t msg_iovlen;\n\tcompat_uptr_t msg_control;\n\tcompat_size_t msg_controllen;\n\tcompat_uint_t msg_flags;\n};\n\nstruct compat_mmsghdr {\n\tstruct compat_msghdr msg_hdr;\n\tcompat_uint_t msg_len;\n};\n\nstruct compat_mq_attr {\n\tcompat_long_t mq_flags;\n\tcompat_long_t mq_maxmsg;\n\tcompat_long_t mq_msgsize;\n\tcompat_long_t mq_curmsgs;\n\tcompat_long_t __reserved[4];\n};\n\nstruct compat_msgbuf {\n\tcompat_long_t mtype;\n\tchar mtext[0];\n};\n\nstruct compat_msqid64_ds {\n\tstruct compat_ipc64_perm msg_perm;\n\tcompat_ulong_t msg_stime;\n\tcompat_ulong_t msg_stime_high;\n\tcompat_ulong_t msg_rtime;\n\tcompat_ulong_t msg_rtime_high;\n\tcompat_ulong_t msg_ctime;\n\tcompat_ulong_t msg_ctime_high;\n\tcompat_ulong_t msg_cbytes;\n\tcompat_ulong_t msg_qnum;\n\tcompat_ulong_t msg_qbytes;\n\tcompat_pid_t msg_lspid;\n\tcompat_pid_t msg_lrpid;\n\tcompat_ulong_t __unused4;\n\tcompat_ulong_t __unused5;\n};\n\nstruct compat_msqid_ds {\n\tstruct compat_ipc_perm msg_perm;\n\tcompat_uptr_t msg_first;\n\tcompat_uptr_t msg_last;\n\told_time32_t msg_stime;\n\told_time32_t msg_rtime;\n\told_time32_t msg_ctime;\n\tcompat_ulong_t msg_lcbytes;\n\tcompat_ulong_t msg_lqbytes;\n\tshort unsigned int msg_cbytes;\n\tshort unsigned int msg_qnum;\n\tshort unsigned int msg_qbytes;\n\tcompat_ipc_pid_t msg_lspid;\n\tcompat_ipc_pid_t msg_lrpid;\n};\n\nstruct compat_nfs_string {\n\tcompat_uint_t len;\n\tcompat_uptr_t data;\n};\n\nstruct compat_nfs4_mount_data_v1 {\n\tcompat_int_t version;\n\tcompat_int_t flags;\n\tcompat_int_t rsize;\n\tcompat_int_t wsize;\n\tcompat_int_t timeo;\n\tcompat_int_t retrans;\n\tcompat_int_t acregmin;\n\tcompat_int_t acregmax;\n\tcompat_int_t acdirmin;\n\tcompat_int_t acdirmax;\n\tstruct compat_nfs_string client_addr;\n\tstruct compat_nfs_string mnt_path;\n\tstruct compat_nfs_string hostname;\n\tcompat_uint_t host_addrlen;\n\tcompat_uptr_t host_addr;\n\tcompat_int_t proto;\n\tcompat_int_t auth_flavourlen;\n\tcompat_uptr_t auth_flavours;\n};\n\nstruct compat_old_linux_dirent {\n\tcompat_ulong_t d_ino;\n\tcompat_ulong_t d_offset;\n\tshort unsigned int d_namlen;\n\tchar d_name[0];\n};\n\nstruct compat_readdir_callback {\n\tstruct dir_context ctx;\n\tstruct compat_old_linux_dirent *dirent;\n\tint result;\n};\n\nstruct compat_rlimit {\n\tcompat_ulong_t rlim_cur;\n\tcompat_ulong_t rlim_max;\n};\n\nstruct compat_robust_list {\n\tcompat_uptr_t next;\n};\n\nstruct compat_robust_list_head {\n\tstruct compat_robust_list list;\n\tcompat_long_t futex_offset;\n\tcompat_uptr_t list_op_pending;\n};\n\nunion compat_sigval {\n\tcompat_int_t sival_int;\n\tcompat_uptr_t sival_ptr;\n};\n\ntypedef union compat_sigval compat_sigval_t;\n\nstruct compat_siginfo {\n\tint si_signo;\n\tint si_errno;\n\tint si_code;\n\tunion {\n\t\tint _pad[29];\n\t\tstruct {\n\t\t\tcompat_pid_t _pid;\n\t\t\t__compat_uid32_t _uid;\n\t\t} _kill;\n\t\tstruct {\n\t\t\tcompat_timer_t _tid;\n\t\t\tint _overrun;\n\t\t\tcompat_sigval_t _sigval;\n\t\t} _timer;\n\t\tstruct {\n\t\t\tcompat_pid_t _pid;\n\t\t\t__compat_uid32_t _uid;\n\t\t\tcompat_sigval_t _sigval;\n\t\t} _rt;\n\t\tstruct {\n\t\t\tcompat_pid_t _pid;\n\t\t\t__compat_uid32_t _uid;\n\t\t\tint _status;\n\t\t\tcompat_clock_t _utime;\n\t\t\tcompat_clock_t _stime;\n\t\t} _sigchld;\n\t\tstruct {\n\t\t\tcompat_uptr_t _addr;\n\t\t\tunion {\n\t\t\t\tint _trapno;\n\t\t\t\tshort int _addr_lsb;\n\t\t\t\tstruct {\n\t\t\t\t\tchar _dummy_bnd[4];\n\t\t\t\t\tcompat_uptr_t _lower;\n\t\t\t\t\tcompat_uptr_t _upper;\n\t\t\t\t} _addr_bnd;\n\t\t\t\tstruct {\n\t\t\t\t\tchar _dummy_pkey[4];\n\t\t\t\t\tu32 _pkey;\n\t\t\t\t} _addr_pkey;\n\t\t\t\tstruct {\n\t\t\t\t\tcompat_ulong_t _data;\n\t\t\t\t\tu32 _type;\n\t\t\t\t\tu32 _flags;\n\t\t\t\t} _perf;\n\t\t\t};\n\t\t} _sigfault;\n\t\tstruct {\n\t\t\tcompat_long_t _band;\n\t\t\tint _fd;\n\t\t} _sigpoll;\n\t\tstruct {\n\t\t\tcompat_uptr_t _call_addr;\n\t\t\tint _syscall;\n\t\t\tunsigned int _arch;\n\t\t} _sigsys;\n\t} _sifields;\n};\n\nstruct compat_sigaltstack {\n\tcompat_uptr_t ss_sp;\n\tint ss_flags;\n\tcompat_size_t ss_size;\n};\n\ntypedef struct compat_sigaltstack compat_stack_t;\n\nstruct compat_user_regs_struct {\n\tcompat_ulong_t pc;\n\tcompat_ulong_t ra;\n\tcompat_ulong_t sp;\n\tcompat_ulong_t gp;\n\tcompat_ulong_t tp;\n\tcompat_ulong_t t0;\n\tcompat_ulong_t t1;\n\tcompat_ulong_t t2;\n\tcompat_ulong_t s0;\n\tcompat_ulong_t s1;\n\tcompat_ulong_t a0;\n\tcompat_ulong_t a1;\n\tcompat_ulong_t a2;\n\tcompat_ulong_t a3;\n\tcompat_ulong_t a4;\n\tcompat_ulong_t a5;\n\tcompat_ulong_t a6;\n\tcompat_ulong_t a7;\n\tcompat_ulong_t s2;\n\tcompat_ulong_t s3;\n\tcompat_ulong_t s4;\n\tcompat_ulong_t s5;\n\tcompat_ulong_t s6;\n\tcompat_ulong_t s7;\n\tcompat_ulong_t s8;\n\tcompat_ulong_t s9;\n\tcompat_ulong_t s10;\n\tcompat_ulong_t s11;\n\tcompat_ulong_t t3;\n\tcompat_ulong_t t4;\n\tcompat_ulong_t t5;\n\tcompat_ulong_t t6;\n};\n\nstruct compat_sigcontext {\n\tstruct compat_user_regs_struct sc_regs;\n\tunion __riscv_fp_state sc_fpregs;\n};\n\nstruct compat_ucontext {\n\tcompat_ulong_t uc_flags;\n\tstruct compat_ucontext *uc_link;\n\tcompat_stack_t uc_stack;\n\tsigset_t uc_sigmask;\n\t__u8 __unused[120];\n\tstruct compat_sigcontext uc_mcontext;\n};\n\nstruct compat_rt_sigframe {\n\tstruct compat_siginfo info;\n\tstruct compat_ucontext uc;\n};\n\nstruct compat_rtentry {\n\tu32 rt_pad1;\n\tstruct sockaddr rt_dst;\n\tstruct sockaddr rt_gateway;\n\tstruct sockaddr rt_genmask;\n\tshort unsigned int rt_flags;\n\tshort int rt_pad2;\n\tu32 rt_pad3;\n\tunsigned char rt_tos;\n\tunsigned char rt_class;\n\tshort int rt_pad4;\n\tshort int rt_metric;\n\tcompat_uptr_t rt_dev;\n\tu32 rt_mtu;\n\tu32 rt_window;\n\tshort unsigned int rt_irtt;\n};\n\nstruct compat_rusage {\n\tstruct old_timeval32 ru_utime;\n\tstruct old_timeval32 ru_stime;\n\tcompat_long_t ru_maxrss;\n\tcompat_long_t ru_ixrss;\n\tcompat_long_t ru_idrss;\n\tcompat_long_t ru_isrss;\n\tcompat_long_t ru_minflt;\n\tcompat_long_t ru_majflt;\n\tcompat_long_t ru_nswap;\n\tcompat_long_t ru_inblock;\n\tcompat_long_t ru_oublock;\n\tcompat_long_t ru_msgsnd;\n\tcompat_long_t ru_msgrcv;\n\tcompat_long_t ru_nsignals;\n\tcompat_long_t ru_nvcsw;\n\tcompat_long_t ru_nivcsw;\n};\n\nstruct compat_sel_arg_struct {\n\tcompat_ulong_t n;\n\tcompat_uptr_t inp;\n\tcompat_uptr_t outp;\n\tcompat_uptr_t exp;\n\tcompat_uptr_t tvp;\n};\n\nstruct compat_semid64_ds {\n\tstruct compat_ipc64_perm sem_perm;\n\tcompat_ulong_t sem_otime;\n\tcompat_ulong_t sem_otime_high;\n\tcompat_ulong_t sem_ctime;\n\tcompat_ulong_t sem_ctime_high;\n\tcompat_ulong_t sem_nsems;\n\tcompat_ulong_t __unused3;\n\tcompat_ulong_t __unused4;\n};\n\nstruct compat_semid_ds {\n\tstruct compat_ipc_perm sem_perm;\n\told_time32_t sem_otime;\n\told_time32_t sem_ctime;\n\tcompat_uptr_t sem_base;\n\tcompat_uptr_t sem_pending;\n\tcompat_uptr_t sem_pending_last;\n\tcompat_uptr_t undo;\n\tshort unsigned int sem_nsems;\n};\n\nstruct compat_sg_io_hdr {\n\tcompat_int_t interface_id;\n\tcompat_int_t dxfer_direction;\n\tunsigned char cmd_len;\n\tunsigned char mx_sb_len;\n\tshort unsigned int iovec_count;\n\tcompat_uint_t dxfer_len;\n\tcompat_uint_t dxferp;\n\tcompat_uptr_t cmdp;\n\tcompat_uptr_t sbp;\n\tcompat_uint_t timeout;\n\tcompat_uint_t flags;\n\tcompat_int_t pack_id;\n\tcompat_uptr_t usr_ptr;\n\tunsigned char status;\n\tunsigned char masked_status;\n\tunsigned char msg_status;\n\tunsigned char sb_len_wr;\n\tshort unsigned int host_status;\n\tshort unsigned int driver_status;\n\tcompat_int_t resid;\n\tcompat_uint_t duration;\n\tcompat_uint_t info;\n};\n\nstruct compat_shm_info {\n\tcompat_int_t used_ids;\n\tcompat_ulong_t shm_tot;\n\tcompat_ulong_t shm_rss;\n\tcompat_ulong_t shm_swp;\n\tcompat_ulong_t swap_attempts;\n\tcompat_ulong_t swap_successes;\n};\n\nstruct compat_shmid64_ds {\n\tstruct compat_ipc64_perm shm_perm;\n\tcompat_size_t shm_segsz;\n\tcompat_ulong_t shm_atime;\n\tcompat_ulong_t shm_atime_high;\n\tcompat_ulong_t shm_dtime;\n\tcompat_ulong_t shm_dtime_high;\n\tcompat_ulong_t shm_ctime;\n\tcompat_ulong_t shm_ctime_high;\n\tcompat_pid_t shm_cpid;\n\tcompat_pid_t shm_lpid;\n\tcompat_ulong_t shm_nattch;\n\tcompat_ulong_t __unused4;\n\tcompat_ulong_t __unused5;\n};\n\nstruct compat_shmid_ds {\n\tstruct compat_ipc_perm shm_perm;\n\tint shm_segsz;\n\told_time32_t shm_atime;\n\told_time32_t shm_dtime;\n\told_time32_t shm_ctime;\n\tcompat_ipc_pid_t shm_cpid;\n\tcompat_ipc_pid_t shm_lpid;\n\tshort unsigned int shm_nattch;\n\tshort unsigned int shm_unused;\n\tcompat_uptr_t shm_unused2;\n\tcompat_uptr_t shm_unused3;\n};\n\nstruct compat_shminfo64 {\n\tcompat_ulong_t shmmax;\n\tcompat_ulong_t shmmin;\n\tcompat_ulong_t shmmni;\n\tcompat_ulong_t shmseg;\n\tcompat_ulong_t shmall;\n\tcompat_ulong_t __unused1;\n\tcompat_ulong_t __unused2;\n\tcompat_ulong_t __unused3;\n\tcompat_ulong_t __unused4;\n};\n\nstruct compat_sigaction {\n\tcompat_uptr_t sa_handler;\n\tcompat_ulong_t sa_flags;\n\tcompat_sigset_t sa_mask;\n};\n\nstruct compat_sigevent {\n\tcompat_sigval_t sigev_value;\n\tcompat_int_t sigev_signo;\n\tcompat_int_t sigev_notify;\n\tunion {\n\t\tcompat_int_t _pad[13];\n\t\tcompat_int_t _tid;\n\t\tstruct {\n\t\t\tcompat_uptr_t _function;\n\t\t\tcompat_uptr_t _attribute;\n\t\t} _sigev_thread;\n\t} _sigev_un;\n};\n\ntypedef struct compat_siginfo compat_siginfo_t;\n\nstruct compat_sigset_argpack {\n\tcompat_uptr_t p;\n\tcompat_size_t size;\n};\n\nstruct compat_snd_pcm_status64 {\n\tsnd_pcm_state_t state;\n\tu8 rsvd[4];\n\ts64 trigger_tstamp_sec;\n\ts64 trigger_tstamp_nsec;\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tu32 appl_ptr;\n\tu32 hw_ptr;\n\ts32 delay;\n\tu32 avail;\n\tu32 avail_max;\n\tu32 overrange;\n\tsnd_pcm_state_t suspended_state;\n\tu32 audio_tstamp_data;\n\ts64 audio_tstamp_sec;\n\ts64 audio_tstamp_nsec;\n\ts64 driver_tstamp_sec;\n\ts64 driver_tstamp_nsec;\n\tu32 audio_tstamp_accuracy;\n\tunsigned char reserved[20];\n};\n\nstruct compat_sock_fprog {\n\tu16 len;\n\tcompat_uptr_t filter;\n};\n\nstruct compat_statfs {\n\tcompat_int_t f_type;\n\tcompat_int_t f_bsize;\n\tcompat_int_t f_blocks;\n\tcompat_int_t f_bfree;\n\tcompat_int_t f_bavail;\n\tcompat_int_t f_files;\n\tcompat_int_t f_ffree;\n\tcompat_fsid_t f_fsid;\n\tcompat_int_t f_namelen;\n\tcompat_int_t f_frsize;\n\tcompat_int_t f_flags;\n\tcompat_int_t f_spare[4];\n};\n\nstruct compat_statfs64 {\n\t__u32 f_type;\n\t__u32 f_bsize;\n\t__u64 f_blocks;\n\t__u64 f_bfree;\n\t__u64 f_bavail;\n\t__u64 f_files;\n\t__u64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__u32 f_namelen;\n\t__u32 f_frsize;\n\t__u32 f_flags;\n\t__u32 f_spare[4];\n};\n\nstruct compat_sysinfo {\n\ts32 uptime;\n\tu32 loads[3];\n\tu32 totalram;\n\tu32 freeram;\n\tu32 sharedram;\n\tu32 bufferram;\n\tu32 totalswap;\n\tu32 freeswap;\n\tu16 procs;\n\tu16 pad;\n\tu32 totalhigh;\n\tu32 freehigh;\n\tu32 mem_unit;\n\tchar _f[8];\n};\n\nstruct compat_tms {\n\tcompat_clock_t tms_utime;\n\tcompat_clock_t tms_stime;\n\tcompat_clock_t tms_cutime;\n\tcompat_clock_t tms_cstime;\n};\n\nstruct compat_unimapdesc {\n\tshort unsigned int entry_ct;\n\tcompat_caddr_t entries;\n};\n\nstruct compat_ustat {\n\tcompat_daddr_t f_tfree;\n\tcompat_ino_t f_tinode;\n\tchar f_fname[6];\n\tchar f_fpack[6];\n};\n\nstruct component_ops;\n\nstruct component {\n\tstruct list_head node;\n\tstruct aggregate_device *adev;\n\tbool bound;\n\tconst struct component_ops *ops;\n\tint subcomponent;\n\tstruct device *dev;\n};\n\nstruct component_master_ops {\n\tint (*bind)(struct device *);\n\tvoid (*unbind)(struct device *);\n};\n\nstruct component_match_array;\n\nstruct component_match {\n\tsize_t alloc;\n\tsize_t num;\n\tstruct component_match_array *compare;\n};\n\nstruct component_match_array {\n\tvoid *data;\n\tint (*compare)(struct device *, void *);\n\tint (*compare_typed)(struct device *, int, void *);\n\tvoid (*release)(struct device *, void *);\n\tstruct component *component;\n\tbool duplicate;\n};\n\nstruct component_ops {\n\tint (*bind)(struct device *, struct device *, void *);\n\tvoid (*unbind)(struct device *, struct device *, void *);\n};\n\nstruct compound_hdr {\n\tint32_t status;\n\tuint32_t nops;\n\t__be32 *nops_p;\n\tuint32_t taglen;\n\tchar *tag;\n\tuint32_t replen;\n\tu32 minorversion;\n};\n\ntypedef int (*decompress_fn)(unsigned char *, long int, long int (*)(void *, long unsigned int), long int (*)(void *, long unsigned int), unsigned char *, long int *, void (*)(char *));\n\nstruct compress_format {\n\tunsigned char magic[2];\n\tconst char *name;\n\tdecompress_fn decompressor;\n};\n\nstruct consw;\n\nstruct con_driver {\n\tconst struct consw *con;\n\tconst char *desc;\n\tstruct device *dev;\n\tint node;\n\tint first;\n\tint last;\n\tint flag;\n};\n\nstruct cond_av_list {\n\tstruct avtab_node **nodes;\n\tu32 len;\n};\n\nstruct cond_bool_datum {\n\tu32 value;\n\tint state;\n};\n\nstruct cond_expr_node;\n\nstruct cond_expr {\n\tstruct cond_expr_node *nodes;\n\tu32 len;\n};\n\nstruct cond_expr_node {\n\tu32 expr_type;\n\tu32 boolean;\n};\n\nstruct policydb;\n\nstruct cond_insertf_data {\n\tstruct policydb *p;\n\tstruct avtab_node **dst;\n\tstruct cond_av_list *other;\n};\n\nstruct cond_node {\n\tint cur_state;\n\tstruct cond_expr expr;\n\tstruct cond_av_list true_list;\n\tstruct cond_av_list false_list;\n};\n\nstruct config_group;\n\nstruct config_item_type;\n\nstruct config_item {\n\tchar *ci_name;\n\tchar ci_namebuf[20];\n\tstruct kref ci_kref;\n\tstruct list_head ci_entry;\n\tstruct config_item *ci_parent;\n\tstruct config_group *ci_group;\n\tconst struct config_item_type *ci_type;\n\tstruct dentry *ci_dentry;\n};\n\nstruct configfs_subsystem;\n\nstruct config_group {\n\tstruct config_item cg_item;\n\tstruct list_head cg_children;\n\tstruct configfs_subsystem *cg_subsys;\n\tstruct list_head default_groups;\n\tstruct list_head group_entry;\n};\n\nstruct configfs_item_operations;\n\nstruct configfs_group_operations;\n\nstruct configfs_attribute;\n\nstruct configfs_bin_attribute;\n\nstruct config_item_type {\n\tstruct module *ct_owner;\n\tstruct configfs_item_operations *ct_item_ops;\n\tstruct configfs_group_operations *ct_group_ops;\n\tstruct configfs_attribute **ct_attrs;\n\tstruct configfs_bin_attribute **ct_bin_attrs;\n};\n\nstruct configfs_attribute {\n\tconst char *ca_name;\n\tstruct module *ca_owner;\n\tumode_t ca_mode;\n\tssize_t (*show)(struct config_item *, char *);\n\tssize_t (*store)(struct config_item *, const char *, size_t);\n};\n\nstruct configfs_bin_attribute {\n\tstruct configfs_attribute cb_attr;\n\tvoid *cb_private;\n\tsize_t cb_max_size;\n\tssize_t (*read)(struct config_item *, void *, size_t);\n\tssize_t (*write)(struct config_item *, const void *, size_t);\n};\n\nstruct configfs_group_operations {\n\tstruct config_item * (*make_item)(struct config_group *, const char *);\n\tstruct config_group * (*make_group)(struct config_group *, const char *);\n\tvoid (*disconnect_notify)(struct config_group *, struct config_item *);\n\tvoid (*drop_item)(struct config_group *, struct config_item *);\n\tbool (*is_visible)(struct config_item *, struct configfs_attribute *, int);\n\tbool (*is_bin_visible)(struct config_item *, struct configfs_bin_attribute *, int);\n};\n\nstruct configfs_item_operations {\n\tvoid (*release)(struct config_item *);\n\tint (*allow_link)(struct config_item *, struct config_item *);\n\tvoid (*drop_link)(struct config_item *, struct config_item *);\n};\n\nstruct configfs_subsystem {\n\tstruct config_group su_group;\n\tstruct mutex su_mutex;\n};\n\nstruct conflict_context {\n\tstruct nd_region *nd_region;\n\tresource_size_t start;\n\tresource_size_t size;\n};\n\nstruct connect_timeout_data {\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct console;\n\nstruct printk_buffers;\n\nstruct nbcon_context {\n\tstruct console *console;\n\tunsigned int spinwait_max_us;\n\tenum nbcon_prio prio;\n\tunsigned int allow_unsafe_takeover: 1;\n\tunsigned int backlog: 1;\n\tstruct printk_buffers *pbufs;\n\tu64 seq;\n};\n\nstruct tty_driver;\n\nstruct nbcon_write_context;\n\nstruct console {\n\tchar name[16];\n\tvoid (*write)(struct console *, const char *, unsigned int);\n\tint (*read)(struct console *, char *, unsigned int);\n\tstruct tty_driver * (*device)(struct console *, int *);\n\tvoid (*unblank)(void);\n\tint (*setup)(struct console *, char *);\n\tint (*exit)(struct console *);\n\tint (*match)(struct console *, char *, int, char *);\n\tshort int flags;\n\tshort int index;\n\tint cflag;\n\tuint ispeed;\n\tuint ospeed;\n\tu64 seq;\n\tlong unsigned int dropped;\n\tvoid *data;\n\tstruct hlist_node node;\n\tvoid (*write_atomic)(struct console *, struct nbcon_write_context *);\n\tvoid (*write_thread)(struct console *, struct nbcon_write_context *);\n\tvoid (*device_lock)(struct console *, long unsigned int *);\n\tvoid (*device_unlock)(struct console *, long unsigned int);\n\tatomic_t nbcon_state;\n\tatomic_long_t nbcon_seq;\n\tstruct nbcon_context nbcon_device_ctxt;\n\tatomic_long_t nbcon_prev_seq;\n\tstruct printk_buffers *pbufs;\n\tstruct task_struct *kthread;\n\tstruct rcuwait rcuwait;\n\tstruct irq_work irq_work;\n};\n\nstruct winsize {\n\tshort unsigned int ws_row;\n\tshort unsigned int ws_col;\n\tshort unsigned int ws_xpixel;\n\tshort unsigned int ws_ypixel;\n};\n\nstruct hvc_struct;\n\nstruct console___2 {\n\tstruct list_head list;\n\tstruct hvc_struct *hvc;\n\tstruct winsize ws;\n\tu32 vtermno;\n};\n\nstruct console_cmdline {\n\tchar name[16];\n\tint index;\n\tchar devname[32];\n\tbool user_specified;\n\tchar *options;\n};\n\nstruct console_flush_type {\n\tbool nbcon_atomic;\n\tbool nbcon_offload;\n\tbool legacy_direct;\n\tbool legacy_offload;\n};\n\nstruct console_font {\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tunsigned char *data;\n};\n\nstruct console_font_op {\n\tunsigned int op;\n\tunsigned int flags;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tunsigned char *data;\n};\n\nstruct constant_table {\n\tconst char *name;\n\tint value;\n};\n\nstruct ebitmap_node;\n\nstruct ebitmap {\n\tstruct ebitmap_node *node;\n\tu32 highbit;\n};\n\nstruct type_set;\n\nstruct constraint_expr {\n\tu32 expr_type;\n\tu32 attr;\n\tu32 op;\n\tstruct ebitmap names;\n\tstruct type_set *type_names;\n\tstruct constraint_expr *next;\n};\n\nstruct constraint_node {\n\tu32 permissions;\n\tstruct constraint_expr *expr;\n\tstruct constraint_node *next;\n};\n\nstruct vc_data;\n\nstruct consw {\n\tstruct module *owner;\n\tconst char * (*con_startup)(void);\n\tvoid (*con_init)(struct vc_data *, bool);\n\tvoid (*con_deinit)(struct vc_data *);\n\tvoid (*con_clear)(struct vc_data *, unsigned int, unsigned int, unsigned int);\n\tvoid (*con_putc)(struct vc_data *, u16, unsigned int, unsigned int);\n\tvoid (*con_putcs)(struct vc_data *, const u16 *, unsigned int, unsigned int, unsigned int);\n\tvoid (*con_cursor)(struct vc_data *, bool);\n\tbool (*con_scroll)(struct vc_data *, unsigned int, unsigned int, enum con_scroll, unsigned int);\n\tbool (*con_switch)(struct vc_data *);\n\tbool (*con_blank)(struct vc_data *, enum vesa_blank_mode, bool);\n\tint (*con_font_set)(struct vc_data *, const struct console_font *, unsigned int, unsigned int);\n\tint (*con_font_get)(struct vc_data *, struct console_font *, unsigned int);\n\tint (*con_font_default)(struct vc_data *, struct console_font *, const char *);\n\tint (*con_resize)(struct vc_data *, unsigned int, unsigned int, bool);\n\tvoid (*con_set_palette)(struct vc_data *, const unsigned char *);\n\tvoid (*con_scrolldelta)(struct vc_data *, int);\n\tbool (*con_set_origin)(struct vc_data *);\n\tvoid (*con_save_screen)(struct vc_data *);\n\tu8 (*con_build_attr)(struct vc_data *, u8, enum vc_intensity, bool, bool, bool, bool);\n\tvoid (*con_invert_region)(struct vc_data *, u16 *, int);\n\tvoid (*con_debug_enter)(struct vc_data *);\n\tvoid (*con_debug_leave)(struct vc_data *);\n};\n\nstruct container_dev {\n\tstruct device dev;\n\tint (*offline)(struct container_dev *);\n};\n\nstruct mls_level {\n\tu32 sens;\n\tstruct ebitmap cat;\n};\n\nstruct mls_range {\n\tstruct mls_level level[2];\n};\n\nstruct context {\n\tu32 user;\n\tu32 role;\n\tu32 type;\n\tu32 len;\n\tstruct mls_range range;\n\tchar *str;\n};\n\nstruct context_tracking {\n\tatomic_t state;\n\tlong int nesting;\n\tlong int nmi_nesting;\n};\n\nstruct contig_page_info {\n\tlong unsigned int free_pages;\n\tlong unsigned int free_blocks_total;\n\tlong unsigned int free_blocks_suitable;\n};\n\nstruct virtio_net_ctrl_hdr {\n\t__u8 class;\n\t__u8 cmd;\n};\n\nstruct control_buf {\n\tstruct virtio_net_ctrl_hdr hdr;\n\tvirtio_net_ctrl_ack status;\n};\n\nstruct convert_context_args {\n\tstruct policydb *oldp;\n\tstruct policydb *newp;\n};\n\nstruct cooling_spec {\n\tlong unsigned int upper;\n\tlong unsigned int lower;\n\tunsigned int weight;\n};\n\nstruct copy_subpage_arg {\n\tstruct folio *dst;\n\tstruct folio *src;\n\tstruct vm_area_struct *vma;\n};\n\nstruct core_name {\n\tchar *corename;\n\tint used;\n\tint size;\n};\n\nstruct core_thread {\n\tstruct task_struct *task;\n\tstruct core_thread *next;\n};\n\nstruct core_state {\n\tatomic_t nr_threads;\n\tstruct core_thread dumper;\n\tstruct completion startup;\n};\n\nstruct core_vma_metadata {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int flags;\n\tlong unsigned int dump_size;\n\tlong unsigned int pgoff;\n\tstruct file *file;\n};\n\nstruct kernel_siginfo;\n\ntypedef struct kernel_siginfo kernel_siginfo_t;\n\nstruct coredump_params {\n\tconst kernel_siginfo_t *siginfo;\n\tstruct file *file;\n\tlong unsigned int limit;\n\tlong unsigned int mm_flags;\n\tint cpu;\n\tloff_t written;\n\tloff_t pos;\n\tloff_t to_skip;\n\tint vma_count;\n\tsize_t vma_data_size;\n\tstruct core_vma_metadata *vma_meta;\n};\n\nstruct counted_str {\n\tstruct kref count;\n\tchar name[0];\n};\n\nstruct regulator_dev;\n\nstruct regulator_coupler;\n\nstruct coupling_desc {\n\tstruct regulator_dev **coupled_rdevs;\n\tstruct regulator_coupler *coupler;\n\tint n_resolved;\n\tint n_coupled;\n};\n\nstruct cpc_reg {\n\tu8 descriptor;\n\tu16 length;\n\tu8 space_id;\n\tu8 bit_width;\n\tu8 bit_offset;\n\tu8 access_width;\n\tu64 address;\n} __attribute__((packed));\n\nstruct cpc_register_resource {\n\tacpi_object_type type;\n\tu64 *sys_mem_vaddr;\n\tunion {\n\t\tstruct cpc_reg reg;\n\t\tu64 int_value;\n\t} cpc_entry;\n};\n\nstruct cpc_desc {\n\tint num_entries;\n\tint version;\n\tint cpu_id;\n\tint write_cmd_status;\n\tint write_cmd_id;\n\traw_spinlock_t rmw_lock;\n\tstruct cpc_register_resource cpc_regs[21];\n\tstruct acpi_psd_package domain_info;\n\tstruct kobject kobj;\n};\n\nstruct cpio_data {\n\tvoid *data;\n\tsize_t size;\n\tchar name[18];\n};\n\nstruct cppc_perf_caps {\n\tu32 guaranteed_perf;\n\tu32 highest_perf;\n\tu32 nominal_perf;\n\tu32 lowest_perf;\n\tu32 lowest_nonlinear_perf;\n\tu32 lowest_freq;\n\tu32 nominal_freq;\n\tu32 energy_perf;\n\tbool auto_sel;\n};\n\nstruct cppc_perf_ctrls {\n\tu32 max_perf;\n\tu32 min_perf;\n\tu32 desired_perf;\n\tu32 energy_perf;\n};\n\nstruct cppc_perf_fb_ctrs {\n\tu64 reference;\n\tu64 delivered;\n\tu64 reference_perf;\n\tu64 wraparound_time;\n};\n\nstruct cppc_cpudata {\n\tstruct list_head node;\n\tstruct cppc_perf_caps perf_caps;\n\tstruct cppc_perf_ctrls perf_ctrls;\n\tstruct cppc_perf_fb_ctrs perf_fb_ctrs;\n\tunsigned int shared_type;\n\tcpumask_var_t shared_cpu_map;\n};\n\nstruct pcc_mbox_chan;\n\nstruct cppc_pcc_data {\n\tstruct pcc_mbox_chan *pcc_channel;\n\tvoid *pcc_comm_addr;\n\tbool pcc_channel_acquired;\n\tunsigned int deadline_us;\n\tunsigned int pcc_mpar;\n\tunsigned int pcc_mrtt;\n\tunsigned int pcc_nominal;\n\tbool pending_pcc_write_cmd;\n\tbool platform_owns_pcc;\n\tunsigned int pcc_write_cnt;\n\tstruct rw_semaphore pcc_lock;\n\twait_queue_head_t pcc_write_wait_q;\n\tktime_t last_cmd_cmpl_time;\n\tktime_t last_mpar_reset;\n\tint mpar_count;\n\tint refcount;\n};\n\nstruct cpu {\n\tint node_id;\n\tint hotpluggable;\n\tstruct device dev;\n};\n\nstruct cpu_attr {\n\tstruct device_attribute attr;\n\tconst struct cpumask * const map;\n};\n\nstruct cpu_cacheinfo {\n\tstruct cacheinfo *info_list;\n\tunsigned int per_cpu_data_slice_size;\n\tunsigned int num_levels;\n\tunsigned int num_leaves;\n\tbool cpu_map_populated;\n\tbool early_ci_levels;\n};\n\nstruct update_util_data {\n\tvoid (*func)(struct update_util_data *, u64, unsigned int);\n};\n\nstruct policy_dbs_info;\n\nstruct cpu_dbs_info {\n\tu64 prev_cpu_idle;\n\tu64 prev_update_time;\n\tu64 prev_cpu_nice;\n\tunsigned int prev_load;\n\tstruct update_util_data update_util;\n\tstruct policy_dbs_info *policy_dbs;\n};\n\nstruct cpu_down_work {\n\tunsigned int cpu;\n\tenum cpuhp_state target;\n};\n\nstruct folio_batch {\n\tunsigned char nr;\n\tunsigned char i;\n\tbool percpu_pvec_drained;\n\tstruct folio *folios[31];\n};\n\nstruct cpu_fbatches {\n\tlocal_lock_t lock;\n\tstruct folio_batch lru_add;\n\tstruct folio_batch lru_deactivate_file;\n\tstruct folio_batch lru_deactivate;\n\tstruct folio_batch lru_lazyfree;\n\tstruct folio_batch lru_activate;\n\tlocal_lock_t lock_irq;\n\tstruct folio_batch lru_move_tail;\n};\n\nstruct cpu_hw_events {\n\tint n_events;\n\tint irq;\n\tstruct perf_event *events[64];\n\tlong unsigned int used_hw_ctrs[1];\n\tlong unsigned int used_fw_ctrs[1];\n\tvoid *snapshot_addr;\n\tphys_addr_t snapshot_addr_phys;\n\tbool snapshot_set_done;\n\tu64 snapshot_cval_shcopy[64];\n};\n\nstruct cpu_itimer {\n\tu64 expires;\n\tu64 incr;\n};\n\nstruct cpu_manufacturer_info_t {\n\tlong unsigned int vendor_id;\n\tlong unsigned int arch_id;\n\tlong unsigned int imp_id;\n\tvoid (*patch_func)(struct alt_entry *, struct alt_entry *, long unsigned int, long unsigned int, unsigned int);\n};\n\nstruct cpu_operations {\n\tint (*cpu_start)(unsigned int, struct task_struct *);\n\tvoid (*cpu_stop)(void);\n\tint (*cpu_is_stopped)(unsigned int);\n};\n\nstruct cpu_rmap {\n\tstruct kref refcount;\n\tu16 size;\n\tvoid **obj;\n\tstruct {\n\t\tu16 index;\n\t\tu16 dist;\n\t} near[0];\n};\n\nstruct cpu_stop_done {\n\tatomic_t nr_todo;\n\tint ret;\n\tstruct completion completion;\n};\n\ntypedef int (*cpu_stop_fn_t)(void *);\n\nstruct cpu_stop_work {\n\tstruct list_head list;\n\tcpu_stop_fn_t fn;\n\tlong unsigned int caller;\n\tvoid *arg;\n\tstruct cpu_stop_done *done;\n};\n\nstruct cpu_stopper {\n\tstruct task_struct *thread;\n\traw_spinlock_t lock;\n\tbool enabled;\n\tstruct list_head works;\n\tstruct cpu_stop_work stop_work;\n\tlong unsigned int caller;\n\tcpu_stop_fn_t fn;\n};\n\nstruct cpu_timer {\n\tstruct timerqueue_node node;\n\tstruct timerqueue_head *head;\n\tstruct pid *pid;\n\tstruct list_head elist;\n\tbool firing;\n\tbool nanosleep;\n\tstruct task_struct *handling;\n};\n\nstruct cpu_topology {\n\tint thread_id;\n\tint core_id;\n\tint cluster_id;\n\tint package_id;\n\tcpumask_t thread_sibling;\n\tcpumask_t core_sibling;\n\tcpumask_t cluster_sibling;\n\tcpumask_t llc_sibling;\n};\n\nstruct cpu_vfs_cap_data {\n\t__u32 magic_etc;\n\tkuid_t rootid;\n\tkernel_cap_t permitted;\n\tkernel_cap_t inheritable;\n};\n\nstruct kernel_cpustat;\n\nstruct cpuacct {\n\tstruct cgroup_subsys_state css;\n\tu64 *cpuusage;\n\tstruct kernel_cpustat *cpustat;\n};\n\nstruct cpudl_item;\n\nstruct cpudl {\n\traw_spinlock_t lock;\n\tint size;\n\tcpumask_var_t free_cpus;\n\tstruct cpudl_item *elements;\n};\n\nstruct cpudl_item {\n\tu64 dl;\n\tint cpu;\n\tint idx;\n};\n\nstruct thermal_cooling_device_ops {\n\tint (*get_max_state)(struct thermal_cooling_device *, long unsigned int *);\n\tint (*get_cur_state)(struct thermal_cooling_device *, long unsigned int *);\n\tint (*set_cur_state)(struct thermal_cooling_device *, long unsigned int);\n\tint (*get_requested_power)(struct thermal_cooling_device *, u32 *);\n\tint (*state2power)(struct thermal_cooling_device *, long unsigned int, u32 *);\n\tint (*power2state)(struct thermal_cooling_device *, u32, long unsigned int *);\n};\n\nstruct em_perf_domain;\n\nstruct cpufreq_policy;\n\nstruct cpufreq_cooling_device {\n\tu32 last_load;\n\tunsigned int cpufreq_state;\n\tunsigned int max_level;\n\tstruct em_perf_domain *em;\n\tstruct cpufreq_policy *policy;\n\tstruct thermal_cooling_device_ops cooling_ops;\n\tstruct freq_qos_request qos_req;\n};\n\nstruct cpufreq_cpuinfo {\n\tunsigned int max_freq;\n\tunsigned int min_freq;\n\tunsigned int transition_latency;\n};\n\nstruct cpufreq_policy_data;\n\nstruct freq_attr;\n\nstruct cpufreq_driver {\n\tchar name[16];\n\tu16 flags;\n\tvoid *driver_data;\n\tint (*init)(struct cpufreq_policy *);\n\tint (*verify)(struct cpufreq_policy_data *);\n\tint (*setpolicy)(struct cpufreq_policy *);\n\tint (*target)(struct cpufreq_policy *, unsigned int, unsigned int);\n\tint (*target_index)(struct cpufreq_policy *, unsigned int);\n\tunsigned int (*fast_switch)(struct cpufreq_policy *, unsigned int);\n\tvoid (*adjust_perf)(unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tunsigned int (*get_intermediate)(struct cpufreq_policy *, unsigned int);\n\tint (*target_intermediate)(struct cpufreq_policy *, unsigned int);\n\tunsigned int (*get)(unsigned int);\n\tvoid (*update_limits)(unsigned int);\n\tint (*bios_limit)(int, unsigned int *);\n\tint (*online)(struct cpufreq_policy *);\n\tint (*offline)(struct cpufreq_policy *);\n\tvoid (*exit)(struct cpufreq_policy *);\n\tint (*suspend)(struct cpufreq_policy *);\n\tint (*resume)(struct cpufreq_policy *);\n\tvoid (*ready)(struct cpufreq_policy *);\n\tstruct freq_attr **attr;\n\tbool boost_enabled;\n\tint (*set_boost)(struct cpufreq_policy *, int);\n\tvoid (*register_em)(struct cpufreq_policy *);\n};\n\nstruct cpufreq_dt_platform_data {\n\tbool have_governor_per_policy;\n\tunsigned int (*get_intermediate)(struct cpufreq_policy *, unsigned int);\n\tint (*target_intermediate)(struct cpufreq_policy *, unsigned int);\n\tint (*suspend)(struct cpufreq_policy *);\n\tint (*resume)(struct cpufreq_policy *);\n};\n\nstruct cpufreq_freqs {\n\tstruct cpufreq_policy *policy;\n\tunsigned int old;\n\tunsigned int new;\n\tu8 flags;\n};\n\nstruct cpufreq_frequency_table {\n\tunsigned int flags;\n\tunsigned int driver_data;\n\tunsigned int frequency;\n};\n\nstruct cpufreq_governor {\n\tchar name[16];\n\tint (*init)(struct cpufreq_policy *);\n\tvoid (*exit)(struct cpufreq_policy *);\n\tint (*start)(struct cpufreq_policy *);\n\tvoid (*stop)(struct cpufreq_policy *);\n\tvoid (*limits)(struct cpufreq_policy *);\n\tssize_t (*show_setspeed)(struct cpufreq_policy *, char *);\n\tint (*store_setspeed)(struct cpufreq_policy *, unsigned int);\n\tstruct list_head governor_list;\n\tstruct module *owner;\n\tu8 flags;\n};\n\nstruct plist_head {\n\tstruct list_head node_list;\n};\n\nstruct pm_qos_constraints {\n\tstruct plist_head list;\n\ts32 target_value;\n\ts32 default_value;\n\ts32 no_constraint_value;\n\tenum pm_qos_type type;\n\tstruct blocking_notifier_head *notifiers;\n};\n\nstruct freq_constraints {\n\tstruct pm_qos_constraints min_freq;\n\tstruct blocking_notifier_head min_freq_notifiers;\n\tstruct pm_qos_constraints max_freq;\n\tstruct blocking_notifier_head max_freq_notifiers;\n};\n\nstruct cpufreq_stats;\n\nstruct cpufreq_policy {\n\tcpumask_var_t cpus;\n\tcpumask_var_t related_cpus;\n\tcpumask_var_t real_cpus;\n\tunsigned int shared_type;\n\tunsigned int cpu;\n\tstruct clk *clk;\n\tstruct cpufreq_cpuinfo cpuinfo;\n\tunsigned int min;\n\tunsigned int max;\n\tunsigned int cur;\n\tunsigned int suspend_freq;\n\tunsigned int policy;\n\tunsigned int last_policy;\n\tstruct cpufreq_governor *governor;\n\tvoid *governor_data;\n\tchar last_governor[16];\n\tstruct work_struct update;\n\tstruct freq_constraints constraints;\n\tstruct freq_qos_request *min_freq_req;\n\tstruct freq_qos_request *max_freq_req;\n\tstruct cpufreq_frequency_table *freq_table;\n\tenum cpufreq_table_sorting freq_table_sorted;\n\tstruct list_head policy_list;\n\tstruct kobject kobj;\n\tstruct completion kobj_unregister;\n\tstruct rw_semaphore rwsem;\n\tbool fast_switch_possible;\n\tbool fast_switch_enabled;\n\tbool strict_target;\n\tbool efficiencies_available;\n\tunsigned int transition_delay_us;\n\tbool dvfs_possible_from_any_cpu;\n\tbool boost_enabled;\n\tunsigned int cached_target_freq;\n\tunsigned int cached_resolved_idx;\n\tbool transition_ongoing;\n\tspinlock_t transition_lock;\n\twait_queue_head_t transition_wait;\n\tstruct task_struct *transition_task;\n\tstruct cpufreq_stats *stats;\n\tvoid *driver_data;\n\tstruct thermal_cooling_device *cdev;\n\tstruct notifier_block nb_min;\n\tstruct notifier_block nb_max;\n};\n\nstruct cpufreq_policy_data {\n\tstruct cpufreq_cpuinfo cpuinfo;\n\tstruct cpufreq_frequency_table *freq_table;\n\tunsigned int cpu;\n\tunsigned int min;\n\tunsigned int max;\n};\n\nstruct cpufreq_stats {\n\tunsigned int total_trans;\n\tlong long unsigned int last_time;\n\tunsigned int max_state;\n\tunsigned int state_num;\n\tunsigned int last_index;\n\tu64 *time_in_state;\n\tunsigned int *freq_table;\n\tunsigned int *trans_table;\n\tunsigned int reset_pending;\n\tlong long unsigned int reset_time;\n};\n\nstruct cpuhp_cpu_state {\n\tenum cpuhp_state state;\n\tenum cpuhp_state target;\n\tenum cpuhp_state fail;\n\tstruct task_struct *thread;\n\tbool should_run;\n\tbool rollback;\n\tbool single;\n\tbool bringup;\n\tstruct hlist_node *node;\n\tstruct hlist_node *last;\n\tenum cpuhp_state cb_state;\n\tint result;\n\tatomic_t ap_sync_state;\n\tstruct completion done_up;\n\tstruct completion done_down;\n};\n\nstruct cpuhp_step {\n\tconst char *name;\n\tunion {\n\t\tint (*single)(unsigned int);\n\t\tint (*multi)(unsigned int, struct hlist_node *);\n\t} startup;\n\tunion {\n\t\tint (*single)(unsigned int);\n\t\tint (*multi)(unsigned int, struct hlist_node *);\n\t} teardown;\n\tstruct hlist_head list;\n\tbool cant_stop;\n\tbool multi_instance;\n};\n\nstruct cpuidle_device;\n\nstruct cpuidle_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpuidle_device *, char *);\n\tssize_t (*store)(struct cpuidle_device *, const char *, size_t);\n};\n\nstruct cpuidle_state_usage {\n\tlong long unsigned int disable;\n\tlong long unsigned int usage;\n\tu64 time_ns;\n\tlong long unsigned int above;\n\tlong long unsigned int below;\n\tlong long unsigned int rejected;\n\tlong long unsigned int s2idle_usage;\n\tlong long unsigned int s2idle_time;\n};\n\nstruct cpuidle_state_kobj;\n\nstruct cpuidle_driver_kobj;\n\nstruct cpuidle_device_kobj;\n\nstruct cpuidle_device {\n\tunsigned int registered: 1;\n\tunsigned int enabled: 1;\n\tunsigned int poll_time_limit: 1;\n\tunsigned int cpu;\n\tktime_t next_hrtimer;\n\tint last_state_idx;\n\tu64 last_residency_ns;\n\tu64 poll_limit_ns;\n\tu64 forced_idle_latency_limit_ns;\n\tstruct cpuidle_state_usage states_usage[10];\n\tstruct cpuidle_state_kobj *kobjs[10];\n\tstruct cpuidle_driver_kobj *kobj_driver;\n\tstruct cpuidle_device_kobj *kobj_dev;\n\tstruct list_head device_list;\n};\n\nstruct cpuidle_device_kobj {\n\tstruct cpuidle_device *dev;\n\tstruct completion kobj_unregister;\n\tstruct kobject kobj;\n};\n\nstruct cpuidle_driver;\n\nstruct cpuidle_state {\n\tchar name[16];\n\tchar desc[32];\n\ts64 exit_latency_ns;\n\ts64 target_residency_ns;\n\tunsigned int flags;\n\tunsigned int exit_latency;\n\tint power_usage;\n\tunsigned int target_residency;\n\tint (*enter)(struct cpuidle_device *, struct cpuidle_driver *, int);\n\tvoid (*enter_dead)(struct cpuidle_device *, int);\n\tint (*enter_s2idle)(struct cpuidle_device *, struct cpuidle_driver *, int);\n};\n\nstruct cpuidle_driver {\n\tconst char *name;\n\tstruct module *owner;\n\tunsigned int bctimer: 1;\n\tstruct cpuidle_state states[10];\n\tint state_count;\n\tint safe_state_index;\n\tstruct cpumask *cpumask;\n\tconst char *governor;\n};\n\nstruct cpuidle_driver_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpuidle_driver *, char *);\n\tssize_t (*store)(struct cpuidle_driver *, const char *, size_t);\n};\n\nstruct cpuidle_driver_kobj {\n\tstruct cpuidle_driver *drv;\n\tstruct completion kobj_unregister;\n\tstruct kobject kobj;\n};\n\nstruct cpuidle_governor {\n\tchar name[16];\n\tstruct list_head governor_list;\n\tunsigned int rating;\n\tint (*enable)(struct cpuidle_driver *, struct cpuidle_device *);\n\tvoid (*disable)(struct cpuidle_driver *, struct cpuidle_device *);\n\tint (*select)(struct cpuidle_driver *, struct cpuidle_device *, bool *);\n\tvoid (*reflect)(struct cpuidle_device *, int);\n};\n\nstruct cpuidle_state_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpuidle_state *, struct cpuidle_state_usage *, char *);\n\tssize_t (*store)(struct cpuidle_state *, struct cpuidle_state_usage *, const char *, size_t);\n};\n\nstruct cpuidle_state_kobj {\n\tstruct cpuidle_state *state;\n\tstruct cpuidle_state_usage *state_usage;\n\tstruct completion kobj_unregister;\n\tstruct kobject kobj;\n\tstruct cpuidle_device *device;\n};\n\nstruct cpumap {\n\tunsigned int available;\n\tunsigned int allocated;\n\tunsigned int managed;\n\tunsigned int managed_allocated;\n\tbool initialized;\n\tbool online;\n\tlong unsigned int *managed_map;\n\tlong unsigned int alloc_map[0];\n};\n\nunion cpumask_rcuhead {\n\tcpumask_t cpumask;\n\tstruct callback_head rcu;\n};\n\nstruct cpupri_vec {\n\tatomic_t count;\n\tcpumask_var_t mask;\n};\n\nstruct cpupri {\n\tstruct cpupri_vec pri_to_cpu[101];\n\tint *cpu_to_pri;\n};\n\nstruct fmeter {\n\tint cnt;\n\tint val;\n\ttime64_t time;\n\tspinlock_t lock;\n};\n\nstruct uf_node {\n\tstruct uf_node *parent;\n\tunsigned int rank;\n};\n\nstruct cpuset {\n\tstruct cgroup_subsys_state css;\n\tlong unsigned int flags;\n\tcpumask_var_t cpus_allowed;\n\tnodemask_t mems_allowed;\n\tcpumask_var_t effective_cpus;\n\tnodemask_t effective_mems;\n\tcpumask_var_t effective_xcpus;\n\tcpumask_var_t exclusive_cpus;\n\tnodemask_t old_mems_allowed;\n\tstruct fmeter fmeter;\n\tint attach_in_progress;\n\tint relax_domain_level;\n\tint nr_subparts;\n\tint partition_root_state;\n\tint nr_deadline_tasks;\n\tint nr_migrate_dl_tasks;\n\tu64 sum_migrate_dl_bw;\n\tenum prs_errcode prs_err;\n\tstruct cgroup_file partition_file;\n\tstruct list_head remote_sibling;\n\tstruct uf_node node;\n};\n\nstruct cpuset_migrate_mm_work {\n\tstruct work_struct work;\n\tstruct mm_struct *mm;\n\tnodemask_t from;\n\tnodemask_t to;\n};\n\nstruct cqhci_host_ops;\n\nstruct mmc_host;\n\nstruct cqhci_slot;\n\nstruct cqhci_host {\n\tconst struct cqhci_host_ops *ops;\n\tvoid *mmio;\n\tstruct mmc_host *mmc;\n\tspinlock_t lock;\n\tunsigned int rca;\n\tbool dma64;\n\tint num_slots;\n\tint qcnt;\n\tu32 dcmd_slot;\n\tu32 caps;\n\tu32 quirks;\n\tbool enabled;\n\tbool halted;\n\tbool init_done;\n\tbool activated;\n\tbool waiting_for_idle;\n\tbool recovery_halt;\n\tsize_t desc_size;\n\tsize_t data_size;\n\tu8 *desc_base;\n\tu8 slot_sz;\n\tu8 task_desc_len;\n\tu8 link_desc_len;\n\tu8 *trans_desc_base;\n\tu8 trans_desc_len;\n\tdma_addr_t desc_dma_base;\n\tdma_addr_t trans_desc_dma_base;\n\tstruct completion halt_comp;\n\twait_queue_head_t wait_queue;\n\tstruct cqhci_slot *slot;\n};\n\nstruct mmc_request;\n\nstruct cqhci_host_ops {\n\tvoid (*dumpregs)(struct mmc_host *);\n\tvoid (*write_l)(struct cqhci_host *, u32, int);\n\tu32 (*read_l)(struct cqhci_host *, int);\n\tvoid (*enable)(struct mmc_host *);\n\tvoid (*disable)(struct mmc_host *, bool);\n\tvoid (*update_dcmd_desc)(struct mmc_host *, struct mmc_request *, u64 *);\n\tvoid (*pre_enable)(struct mmc_host *);\n\tvoid (*post_disable)(struct mmc_host *);\n\tvoid (*set_tran_desc)(struct cqhci_host *, u8 **, dma_addr_t, int, bool, bool);\n};\n\nstruct cqhci_slot {\n\tstruct mmc_request *mrq;\n\tunsigned int flags;\n};\n\nstruct group_info;\n\nstruct cred {\n\tatomic_long_t usage;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t suid;\n\tkgid_t sgid;\n\tkuid_t euid;\n\tkgid_t egid;\n\tkuid_t fsuid;\n\tkgid_t fsgid;\n\tunsigned int securebits;\n\tkernel_cap_t cap_inheritable;\n\tkernel_cap_t cap_permitted;\n\tkernel_cap_t cap_effective;\n\tkernel_cap_t cap_bset;\n\tkernel_cap_t cap_ambient;\n\tunsigned char jit_keyring;\n\tstruct key *session_keyring;\n\tstruct key *process_keyring;\n\tstruct key *thread_keyring;\n\tstruct key *request_key_auth;\n\tvoid *security;\n\tstruct user_struct *user;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct group_info *group_info;\n\tunion {\n\t\tint non_rcu;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct cred_label {\n\tconst struct cred *cred;\n\tstruct aa_label *label;\n};\n\nstruct crng {\n\tu8 key[32];\n\tlong unsigned int generation;\n\tlocal_lock_t lock;\n};\n\nstruct crs_csi2 {\n\tstruct list_head entry;\n\tacpi_handle handle;\n\tstruct acpi_device_software_nodes *swnodes;\n\tstruct list_head connections;\n\tu32 port_count;\n};\n\nstruct crs_csi2_connection {\n\tstruct list_head entry;\n\tstruct acpi_resource_csi2_serialbus csi2_data;\n\tacpi_handle remote_handle;\n\tchar remote_name[0];\n};\n\nstruct crypto_tfm {\n\trefcount_t refcnt;\n\tu32 crt_flags;\n\tint node;\n\tvoid (*exit)(struct crypto_tfm *);\n\tstruct crypto_alg *__crt_alg;\n\tvoid *__crt_ctx[0];\n};\n\nstruct crypto_acomp {\n\tint (*compress)(struct acomp_req *);\n\tint (*decompress)(struct acomp_req *);\n\tvoid (*dst_free)(struct scatterlist *);\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_aead {\n\tunsigned int authsize;\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_spawn {\n\tstruct list_head list;\n\tstruct crypto_alg *alg;\n\tunion {\n\t\tstruct crypto_instance *inst;\n\t\tstruct crypto_spawn *next;\n\t};\n\tconst struct crypto_type *frontend;\n\tu32 mask;\n\tbool dead;\n\tbool registered;\n};\n\nstruct crypto_aead_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_ahash {\n\tbool using_shash;\n\tunsigned int statesize;\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_ahash_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_akcipher {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_akcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_akcipher_sync_data {\n\tstruct crypto_akcipher *tfm;\n\tconst void *src;\n\tvoid *dst;\n\tunsigned int slen;\n\tunsigned int dlen;\n\tstruct akcipher_request *req;\n\tstruct crypto_wait cwait;\n\tstruct scatterlist sg;\n\tu8 *buf;\n};\n\nstruct crypto_attr_alg {\n\tchar name[128];\n};\n\nstruct crypto_attr_type {\n\tu32 type;\n\tu32 mask;\n};\n\nstruct crypto_cipher {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_cipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_comp {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_queue {\n\tstruct list_head list;\n\tstruct list_head *backlog;\n\tunsigned int qlen;\n\tunsigned int max_qlen;\n};\n\nstruct kthread_work;\n\ntypedef void (*kthread_work_func_t)(struct kthread_work *);\n\nstruct kthread_worker;\n\nstruct kthread_work {\n\tstruct list_head node;\n\tkthread_work_func_t func;\n\tstruct kthread_worker *worker;\n\tint canceling;\n};\n\nstruct crypto_engine {\n\tchar name[30];\n\tbool idling;\n\tbool busy;\n\tbool running;\n\tbool retry_support;\n\tstruct list_head list;\n\tspinlock_t queue_lock;\n\tstruct crypto_queue queue;\n\tstruct device *dev;\n\tbool rt;\n\tint (*prepare_crypt_hardware)(struct crypto_engine *);\n\tint (*unprepare_crypt_hardware)(struct crypto_engine *);\n\tint (*do_batch_requests)(struct crypto_engine *);\n\tstruct kthread_worker *kworker;\n\tstruct kthread_work pump_requests;\n\tvoid *priv_data;\n\tstruct crypto_async_request *cur_req;\n};\n\nstruct crypto_engine_alg {\n\tstruct crypto_alg base;\n\tstruct crypto_engine_op op;\n};\n\nstruct crypto_hash_walk {\n\tchar *data;\n\tunsigned int offset;\n\tunsigned int flags;\n\tstruct page *pg;\n\tunsigned int entrylen;\n\tunsigned int total;\n\tstruct scatterlist *sg;\n};\n\nstruct crypto_kpp {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_kpp_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_larval {\n\tstruct crypto_alg alg;\n\tstruct crypto_alg *adult;\n\tstruct completion completion;\n\tu32 mask;\n\tbool test_started;\n};\n\nstruct crypto_lskcipher {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_lskcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_rng {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_scomp {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_shash {\n\tunsigned int descsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_shash_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_sig {\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_sig_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_skcipher {\n\tunsigned int reqsize;\n\tstruct crypto_tfm base;\n};\n\nstruct crypto_skcipher_spawn {\n\tstruct crypto_spawn base;\n};\n\nstruct crypto_sync_skcipher {\n\tstruct crypto_skcipher base;\n};\n\nstruct rtattr;\n\nstruct crypto_template {\n\tstruct list_head list;\n\tstruct hlist_head instances;\n\tstruct module *module;\n\tint (*create)(struct crypto_template *, struct rtattr **);\n\tchar name[128];\n};\n\nstruct crypto_test_param {\n\tchar driver[128];\n\tchar alg[128];\n\tu32 type;\n};\n\nstruct crypto_type {\n\tunsigned int (*ctxsize)(struct crypto_alg *, u32, u32);\n\tunsigned int (*extsize)(struct crypto_alg *);\n\tint (*init_tfm)(struct crypto_tfm *);\n\tvoid (*show)(struct seq_file *, struct crypto_alg *);\n\tint (*report)(struct sk_buff *, struct crypto_alg *);\n\tvoid (*free)(struct crypto_instance *);\n\tunsigned int type;\n\tunsigned int maskclear;\n\tunsigned int maskset;\n\tunsigned int tfmsize;\n};\n\nstruct rtattr {\n\tshort unsigned int rta_len;\n\tshort unsigned int rta_type;\n};\n\nstruct cryptomgr_param {\n\tstruct rtattr *tb[34];\n\tstruct {\n\t\tstruct rtattr attr;\n\t\tstruct crypto_attr_type data;\n\t} type;\n\tstruct {\n\t\tstruct rtattr attr;\n\t\tstruct crypto_attr_alg data;\n\t} attrs[32];\n\tchar template[128];\n\tstruct crypto_larval *larval;\n\tu32 otype;\n\tu32 omask;\n};\n\nstruct csi2_resources_walk_data {\n\tacpi_handle handle;\n\tstruct list_head connections;\n};\n\nstruct css_set {\n\tstruct cgroup_subsys_state *subsys[12];\n\trefcount_t refcount;\n\tstruct css_set *dom_cset;\n\tstruct cgroup *dfl_cgrp;\n\tint nr_tasks;\n\tstruct list_head tasks;\n\tstruct list_head mg_tasks;\n\tstruct list_head dying_tasks;\n\tstruct list_head task_iters;\n\tstruct list_head e_cset_node[12];\n\tstruct list_head threaded_csets;\n\tstruct list_head threaded_csets_node;\n\tstruct hlist_node hlist;\n\tstruct list_head cgrp_links;\n\tstruct list_head mg_src_preload_node;\n\tstruct list_head mg_dst_preload_node;\n\tstruct list_head mg_node;\n\tstruct cgroup *mg_src_cgrp;\n\tstruct cgroup *mg_dst_cgrp;\n\tstruct css_set *mg_dst_cset;\n\tbool dead;\n\tstruct callback_head callback_head;\n};\n\nstruct css_set__safe_rcu {\n\tstruct cgroup *dfl_cgrp;\n};\n\nstruct cstate {\n\tint state;\n\tuint32_t rep0;\n\tuint32_t rep1;\n\tuint32_t rep2;\n\tuint32_t rep3;\n};\n\nstruct csum_state {\n\t__wsum csum;\n\tsize_t off;\n};\n\nstruct ctl_table_root;\n\nstruct ctl_table_set;\n\nstruct ctl_dir;\n\nstruct ctl_node;\n\nstruct ctl_table_header {\n\tunion {\n\t\tstruct {\n\t\t\tconst struct ctl_table *ctl_table;\n\t\t\tint ctl_table_size;\n\t\t\tint used;\n\t\t\tint count;\n\t\t\tint nreg;\n\t\t};\n\t\tstruct callback_head rcu;\n\t};\n\tstruct completion *unregistering;\n\tconst struct ctl_table *ctl_table_arg;\n\tstruct ctl_table_root *root;\n\tstruct ctl_table_set *set;\n\tstruct ctl_dir *parent;\n\tstruct ctl_node *node;\n\tstruct hlist_head inodes;\n\tenum {\n\t\tSYSCTL_TABLE_TYPE_DEFAULT = 0,\n\t\tSYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY = 1,\n\t} type;\n};\n\nstruct ctl_dir {\n\tstruct ctl_table_header header;\n\tstruct rb_root root;\n};\n\nstruct ctl_node {\n\tstruct rb_node node;\n\tstruct ctl_table_header *header;\n};\n\ntypedef int proc_handler(const struct ctl_table *, int, void *, size_t *, loff_t *);\n\nstruct ctl_table_poll;\n\nstruct ctl_table {\n\tconst char *procname;\n\tvoid *data;\n\tint maxlen;\n\tumode_t mode;\n\tproc_handler *proc_handler;\n\tstruct ctl_table_poll *poll;\n\tvoid *extra1;\n\tvoid *extra2;\n};\n\nstruct ctl_table_poll {\n\tatomic_t event;\n\twait_queue_head_t wait;\n};\n\nstruct ctl_table_set {\n\tint (*is_seen)(struct ctl_table_set *);\n\tstruct ctl_dir dir;\n};\n\nstruct ctl_table_root {\n\tstruct ctl_table_set default_set;\n\tstruct ctl_table_set * (*lookup)(struct ctl_table_root *);\n\tvoid (*set_ownership)(struct ctl_table_header *, kuid_t *, kgid_t *);\n\tint (*permissions)(struct ctl_table_header *, const struct ctl_table *);\n};\n\nstruct netlink_policy_dump_state;\n\nstruct genl_family;\n\nstruct genl_op_iter;\n\nstruct ctrl_dump_policy_ctx {\n\tstruct netlink_policy_dump_state *state;\n\tconst struct genl_family *rt;\n\tstruct genl_op_iter *op_iter;\n\tu32 op;\n\tu16 fam_id;\n\tu8 dump_map: 1;\n\tu8 single_op: 1;\n};\n\nstruct ctx_rq_wait {\n\tstruct completion comp;\n\tatomic_t count;\n};\n\nstruct ctx_switch_entry {\n\tstruct trace_entry ent;\n\tunsigned int prev_pid;\n\tunsigned int next_pid;\n\tunsigned int next_cpu;\n\tunsigned char prev_prio;\n\tunsigned char prev_state;\n\tunsigned char next_prio;\n\tunsigned char next_state;\n};\n\nstruct cv1800_clk_common {\n\tvoid *base;\n\tspinlock_t *lock;\n\tstruct clk_hw hw;\n\tlong unsigned int features;\n};\n\nstruct cv1800_clk_regbit {\n\tu16 reg;\n\ts8 shift;\n};\n\nstruct cv1800_clk_regfield {\n\tu16 reg;\n\tu8 shift;\n\tu8 width;\n\ts16 initval;\n\tlong unsigned int flags;\n};\n\nstruct cv1800_clk_audio {\n\tstruct cv1800_clk_common common;\n\tstruct cv1800_clk_regbit src_en;\n\tstruct cv1800_clk_regbit output_en;\n\tstruct cv1800_clk_regbit div_en;\n\tstruct cv1800_clk_regbit div_up;\n\tstruct cv1800_clk_regfield m;\n\tstruct cv1800_clk_regfield n;\n\tu32 target_rate;\n};\n\nstruct cv1800_clk_div {\n\tstruct cv1800_clk_common common;\n\tstruct cv1800_clk_regbit gate;\n\tstruct cv1800_clk_regfield div;\n};\n\nstruct cv1800_clk_bypass_div {\n\tstruct cv1800_clk_div div;\n\tstruct cv1800_clk_regbit bypass;\n};\n\nstruct cv1800_clk_mux {\n\tstruct cv1800_clk_common common;\n\tstruct cv1800_clk_regbit gate;\n\tstruct cv1800_clk_regfield div;\n\tstruct cv1800_clk_regfield mux;\n};\n\nstruct cv1800_clk_bypass_mux {\n\tstruct cv1800_clk_mux mux;\n\tstruct cv1800_clk_regbit bypass;\n};\n\nstruct cv1800_clk_desc;\n\nstruct cv1800_clk_ctrl {\n\tconst struct cv1800_clk_desc *desc;\n\tspinlock_t lock;\n};\n\nstruct cv1800_clk_desc {\n\tstruct clk_hw_onecell_data *clks_data;\n\tint (*pre_init)(struct device *, void *, struct cv1800_clk_ctrl *, const struct cv1800_clk_desc *);\n};\n\nstruct cv1800_clk_gate {\n\tstruct cv1800_clk_common common;\n\tstruct cv1800_clk_regbit gate;\n};\n\nstruct cv1800_clk_mmux {\n\tstruct cv1800_clk_common common;\n\tstruct cv1800_clk_regbit gate;\n\tstruct cv1800_clk_regfield div[2];\n\tstruct cv1800_clk_regfield mux[2];\n\tstruct cv1800_clk_regbit bypass;\n\tstruct cv1800_clk_regbit clk_sel;\n\tconst s8 *parent2sel;\n\tconst u8 *sel2parent[2];\n};\n\nstruct cv1800_clk_pll_limit;\n\nstruct cv1800_clk_pll_synthesizer;\n\nstruct cv1800_clk_pll {\n\tstruct cv1800_clk_common common;\n\tu32 pll_reg;\n\tstruct cv1800_clk_regbit pll_pwd;\n\tstruct cv1800_clk_regbit pll_status;\n\tconst struct cv1800_clk_pll_limit *pll_limit;\n\tstruct cv1800_clk_pll_synthesizer *pll_syn;\n};\n\nstruct cv1800_clk_pll_limit {\n\tstruct {\n\t\tu8 min;\n\t\tu8 max;\n\t} pre_div;\n\tstruct {\n\t\tu8 min;\n\t\tu8 max;\n\t} div;\n\tstruct {\n\t\tu8 min;\n\t\tu8 max;\n\t} post_div;\n\tstruct {\n\t\tu8 min;\n\t\tu8 max;\n\t} ictrl;\n\tstruct {\n\t\tu8 min;\n\t\tu8 max;\n\t} mode;\n};\n\nstruct cv1800_clk_pll_synthesizer {\n\tstruct cv1800_clk_regbit en;\n\tstruct cv1800_clk_regbit clk_half;\n\tu32 ctrl;\n\tu32 set;\n};\n\nstruct cv1800_pinmux {\n\tu16 offset;\n\tu8 area;\n\tu8 max;\n};\n\nstruct cv1800_pinmux2 {\n\tu16 offset;\n\tu8 area;\n\tu8 max;\n\tu8 pfunc;\n};\n\nstruct cv1800_pinconf {\n\tu16 offset;\n\tu8 area;\n};\n\nstruct cv1800_pin {\n\tu16 pin;\n\tu16 flags;\n\tu8 power_domain;\n\tstruct cv1800_pinmux mux;\n\tstruct cv1800_pinmux2 mux2;\n\tstruct cv1800_pinconf conf;\n};\n\nstruct cv1800_pin_mux_config {\n\tstruct cv1800_pin *pin;\n\tu32 config;\n};\n\nstruct pinctrl_pin_desc;\n\nstruct pinctrl_ops;\n\nstruct pinmux_ops;\n\nstruct pinconf_ops;\n\nstruct pinconf_generic_params;\n\nstruct pin_config_item;\n\nstruct pinctrl_desc {\n\tconst char *name;\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tconst struct pinctrl_ops *pctlops;\n\tconst struct pinmux_ops *pmxops;\n\tconst struct pinconf_ops *confops;\n\tstruct module *owner;\n\tunsigned int num_custom_params;\n\tconst struct pinconf_generic_params *custom_params;\n\tconst struct pin_config_item *custom_conf_items;\n\tbool link_consumers;\n};\n\nstruct pinctrl_dev;\n\nstruct cv1800_pinctrl_data;\n\nstruct cv1800_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctl_dev;\n\tconst struct cv1800_pinctrl_data *data;\n\tstruct pinctrl_desc pdesc;\n\tu32 *power_cfg;\n\tstruct mutex mutex;\n\traw_spinlock_t lock;\n\tvoid *regs[2];\n};\n\nstruct cv1800_vddio_cfg_ops;\n\nstruct cv1800_pinctrl_data {\n\tconst struct pinctrl_pin_desc *pins;\n\tconst struct cv1800_pin *pindata;\n\tconst char * const *pdnames;\n\tconst struct cv1800_vddio_cfg_ops *vddio_ops;\n\tu16 npins;\n\tu16 npd;\n};\n\nstruct cv1800_vddio_cfg_ops {\n\tint (*get_pull_up)(struct cv1800_pin *, const u32 *);\n\tint (*get_pull_down)(struct cv1800_pin *, const u32 *);\n\tint (*get_oc_map)(struct cv1800_pin *, const u32 *, const u32 **);\n\tint (*get_schmitt_map)(struct cv1800_pin *, const u32 *, const u32 **);\n};\n\nstruct cyclecounter {\n\tu64 (*read)(const struct cyclecounter *);\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n};\n\nstruct cytp_contact {\n\tint x;\n\tint y;\n\tint z;\n};\n\nstruct cytp_data {\n\tint fw_version;\n\tint pkt_size;\n\tint mode;\n\tint tp_min_pressure;\n\tint tp_max_pressure;\n\tint tp_width;\n\tint tp_high;\n\tint tp_max_abs_x;\n\tint tp_max_abs_y;\n\tint tp_res_x;\n\tint tp_res_y;\n\tint tp_metrics_supported;\n};\n\nstruct cytp_report_data {\n\tint contact_cnt;\n\tstruct cytp_contact contacts[2];\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int tap: 1;\n};\n\nstruct snd_soc_dapm_widget;\n\nstruct snd_soc_dapm_widget_list;\n\nstruct dapm_kcontrol_data {\n\tunsigned int value;\n\tstruct snd_soc_dapm_widget *widget;\n\tstruct list_head paths;\n\tstruct snd_soc_dapm_widget_list *wlist;\n};\n\nstruct data_chunk {\n\tsize_t size;\n\tsize_t icg;\n\tsize_t dst_icg;\n\tsize_t src_icg;\n};\n\nstruct virtqueue;\n\nstruct data_queue {\n\tstruct virtqueue *vq;\n\tspinlock_t lock;\n\tchar name[32];\n\tstruct crypto_engine *engine;\n\tstruct tasklet_struct done_task;\n};\n\nstruct dax_operations;\n\nstruct dax_holder_operations;\n\nstruct dax_device {\n\tstruct inode inode;\n\tstruct cdev cdev;\n\tvoid *private;\n\tlong unsigned int flags;\n\tconst struct dax_operations *ops;\n\tvoid *holder_data;\n\tconst struct dax_holder_operations *holder_ops;\n};\n\nstruct dev_dax;\n\nstruct dax_device_driver {\n\tstruct device_driver drv;\n\tstruct list_head ids;\n\tenum dax_driver_type type;\n\tint (*probe)(struct dev_dax *);\n\tvoid (*remove)(struct dev_dax *);\n};\n\nstruct dax_holder_operations {\n\tint (*notify_failure)(struct dax_device *, u64, u64, int);\n};\n\nstruct dax_id {\n\tstruct list_head list;\n\tchar dev_name[30];\n};\n\nstruct dax_mapping {\n\tstruct device dev;\n\tint range_id;\n\tint id;\n};\n\nstruct dax_operations {\n\tlong int (*direct_access)(struct dax_device *, long unsigned int, long int, enum dax_access_mode, void **, pfn_t *);\n\tint (*zero_page_range)(struct dax_device *, long unsigned int, size_t);\n\tsize_t (*recovery_write)(struct dax_device *, long unsigned int, void *, size_t, struct iov_iter *);\n};\n\nstruct dax_region {\n\tint id;\n\tint target_node;\n\tstruct kref kref;\n\tstruct device *dev;\n\tunsigned int align;\n\tstruct ida ida;\n\tstruct resource res;\n\tstruct device *seed;\n\tstruct device *youngest;\n};\n\nstruct xhci_dbc;\n\nstruct dbc_driver {\n\tint (*configure)(struct xhci_dbc *);\n\tvoid (*disconnect)(struct xhci_dbc *);\n};\n\nstruct xhci_ring;\n\nstruct dbc_ep {\n\tstruct xhci_dbc *dbc;\n\tstruct list_head list_pending;\n\tstruct xhci_ring *ring;\n\tunsigned int direction: 1;\n\tunsigned int halted: 1;\n};\n\nstruct dbc_regs {\n\t__le32 capability;\n\t__le32 doorbell;\n\t__le32 ersts;\n\t__le32 __reserved_0;\n\t__le64 erstba;\n\t__le64 erdp;\n\t__le32 control;\n\t__le32 status;\n\t__le32 portsc;\n\t__le32 __reserved_1;\n\t__le64 dccp;\n\t__le32 devinfo1;\n\t__le32 devinfo2;\n};\n\nunion xhci_trb;\n\nstruct dbc_request {\n\tvoid *buf;\n\tunsigned int length;\n\tdma_addr_t dma;\n\tvoid (*complete)(struct xhci_dbc *, struct dbc_request *);\n\tstruct list_head list_pool;\n\tint status;\n\tunsigned int actual;\n\tstruct xhci_dbc *dbc;\n\tstruct list_head list_pending;\n\tdma_addr_t trb_dma;\n\tunion xhci_trb *trb;\n\tunsigned int direction: 1;\n};\n\nstruct dbc_str_descs {\n\tchar string0[64];\n\tchar manufacturer[64];\n\tchar product[64];\n\tchar serial[64];\n};\n\nstruct gov_attr_set {\n\tstruct kobject kobj;\n\tstruct list_head policy_list;\n\tstruct mutex update_lock;\n\tint usage_count;\n};\n\nstruct dbs_governor;\n\nstruct dbs_data {\n\tstruct gov_attr_set attr_set;\n\tstruct dbs_governor *gov;\n\tvoid *tuners;\n\tunsigned int ignore_nice_load;\n\tunsigned int sampling_rate;\n\tunsigned int sampling_down_factor;\n\tunsigned int up_threshold;\n\tunsigned int io_is_busy;\n};\n\nstruct sysfs_ops;\n\nstruct kobj_type {\n\tvoid (*release)(struct kobject *);\n\tconst struct sysfs_ops *sysfs_ops;\n\tconst struct attribute_group **default_groups;\n\tconst struct kobj_ns_type_operations * (*child_ns_type)(const struct kobject *);\n\tconst void * (*namespace)(const struct kobject *);\n\tvoid (*get_ownership)(const struct kobject *, kuid_t *, kgid_t *);\n};\n\nstruct dbs_governor {\n\tstruct cpufreq_governor gov;\n\tstruct kobj_type kobj_type;\n\tstruct dbs_data *gdbs_data;\n\tunsigned int (*gov_dbs_update)(struct cpufreq_policy *);\n\tstruct policy_dbs_info * (*alloc)(void);\n\tvoid (*free)(struct policy_dbs_info *);\n\tint (*init)(struct dbs_data *);\n\tvoid (*exit)(struct dbs_data *);\n\tvoid (*start)(struct cpufreq_policy *);\n};\n\nstruct dccp_hdr {\n\t__be16 dccph_sport;\n\t__be16 dccph_dport;\n\t__u8 dccph_doff;\n\t__u8 dccph_cscov: 4;\n\t__u8 dccph_ccval: 4;\n\t__sum16 dccph_checksum;\n\t__u8 dccph_x: 1;\n\t__u8 dccph_type: 4;\n\t__u8 dccph_reserved: 3;\n\t__u8 dccph_seq2;\n\t__be16 dccph_seq;\n};\n\nstruct io_stats_per_prio {\n\tuint32_t inserted;\n\tuint32_t merged;\n\tuint32_t dispatched;\n\tatomic_t completed;\n};\n\nstruct dd_per_prio {\n\tstruct list_head dispatch;\n\tstruct rb_root sort_list[2];\n\tstruct list_head fifo_list[2];\n\tsector_t latest_pos[2];\n\tstruct io_stats_per_prio stats;\n};\n\nstruct deadline_data {\n\tstruct dd_per_prio per_prio[3];\n\tenum dd_data_dir last_dir;\n\tunsigned int batching;\n\tunsigned int starved;\n\tint fifo_expire[2];\n\tint fifo_batch;\n\tint writes_starved;\n\tint front_merges;\n\tu32 async_depth;\n\tint prio_aging_expire;\n\tspinlock_t lock;\n};\n\nstruct ohci_hcd;\n\nstruct debug_buffer {\n\tssize_t (*fill_func)(struct debug_buffer *);\n\tstruct ohci_hcd *ohci;\n\tstruct mutex mutex;\n\tsize_t count;\n\tchar *page;\n};\n\nstruct debug_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 msg_mask;\n};\n\nstruct debugfs_blob_wrapper {\n\tvoid *data;\n\tlong unsigned int size;\n};\n\nstruct debugfs_cancellation {\n\tstruct list_head list;\n\tvoid (*cancel)(struct dentry *, void *);\n\tvoid *cancel_data;\n};\n\nstruct debugfs_devm_entry {\n\tint (*read)(struct seq_file *, void *);\n\tstruct device *dev;\n};\n\nstruct debugfs_fs_info {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tunsigned int opts;\n};\n\nstruct debugfs_short_fops;\n\nstruct debugfs_fsdata {\n\tconst struct file_operations *real_fops;\n\tconst struct debugfs_short_fops *short_fops;\n\tstruct {\n\t\trefcount_t active_users;\n\t\tstruct completion active_users_drained;\n\t\tstruct mutex cancellations_mtx;\n\t\tstruct list_head cancellations;\n\t\tunsigned int methods;\n\t};\n};\n\ntypedef struct vfsmount * (*debugfs_automount_t)(struct dentry *, void *);\n\nstruct debugfs_inode_info {\n\tstruct inode vfs_inode;\n\tunion {\n\t\tconst void *raw;\n\t\tconst struct file_operations *real_fops;\n\t\tconst struct debugfs_short_fops *short_fops;\n\t\tdebugfs_automount_t automount;\n\t};\n\tconst void *aux;\n};\n\nstruct debugfs_reg32 {\n\tchar *name;\n\tlong unsigned int offset;\n};\n\nstruct debugfs_regset32 {\n\tconst struct debugfs_reg32 *regs;\n\tint nregs;\n\tvoid *base;\n\tstruct device *dev;\n};\n\nstruct debugfs_short_fops {\n\tssize_t (*read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct file *, const char *, size_t, loff_t *);\n\tloff_t (*llseek)(struct file *, loff_t, int);\n};\n\nstruct debugfs_u32_array {\n\tu32 *array;\n\tu32 n_elements;\n};\n\nstruct decryptor_desc {\n\tu8 iv[16];\n\tstruct skcipher_request *req;\n\tstruct scatterlist frags[4];\n\tint fragno;\n\tint fraglen;\n};\n\nstruct dma_fence;\n\nstruct dma_fence_cb;\n\ntypedef void (*dma_fence_func_t)(struct dma_fence *, struct dma_fence_cb *);\n\nstruct dma_fence_cb {\n\tstruct list_head node;\n\tdma_fence_func_t func;\n};\n\nstruct default_wait_cb {\n\tstruct dma_fence_cb base;\n\tstruct task_struct *task;\n};\n\nstruct delayed_call {\n\tvoid (*fn)(void *);\n\tvoid *arg;\n};\n\nstruct delayed_uprobe {\n\tstruct list_head list;\n\tstruct uprobe *uprobe;\n\tstruct mm_struct *mm;\n};\n\nstruct hlist_bl_node {\n\tstruct hlist_bl_node *next;\n\tstruct hlist_bl_node **pprev;\n};\n\nunion shortname_store {\n\tunsigned char string[40];\n\tlong unsigned int words[5];\n};\n\nstruct lockref {\n\tunion {\n\t\tstruct {\n\t\t\tspinlock_t lock;\n\t\t\tint count;\n\t\t};\n\t};\n};\n\nstruct dentry_operations;\n\nstruct dentry {\n\tunsigned int d_flags;\n\tseqcount_spinlock_t d_seq;\n\tstruct hlist_bl_node d_hash;\n\tstruct dentry *d_parent;\n\tstruct qstr d_name;\n\tstruct inode *d_inode;\n\tunion shortname_store d_shortname;\n\tconst struct dentry_operations *d_op;\n\tstruct super_block *d_sb;\n\tlong unsigned int d_time;\n\tvoid *d_fsdata;\n\tstruct lockref d_lockref;\n\tunion {\n\t\tstruct list_head d_lru;\n\t\twait_queue_head_t *d_wait;\n\t};\n\tstruct hlist_node d_sib;\n\tstruct hlist_head d_children;\n\tunion {\n\t\tstruct hlist_node d_alias;\n\t\tstruct hlist_bl_node d_in_lookup_hash;\n\t\tstruct callback_head d_rcu;\n\t} d_u;\n};\n\nstruct dentry__safe_trusted {\n\tstruct inode *d_inode;\n};\n\nstruct dentry_info_args {\n\tint parent_ino;\n\tint dname_len;\n\tint ino;\n\tint inode_len;\n\tchar *dname;\n};\n\nstruct dentry_operations {\n\tint (*d_revalidate)(struct inode *, const struct qstr *, struct dentry *, unsigned int);\n\tint (*d_weak_revalidate)(struct dentry *, unsigned int);\n\tint (*d_hash)(const struct dentry *, struct qstr *);\n\tint (*d_compare)(const struct dentry *, unsigned int, const char *, const struct qstr *);\n\tint (*d_delete)(const struct dentry *);\n\tint (*d_init)(struct dentry *);\n\tvoid (*d_release)(struct dentry *);\n\tvoid (*d_prune)(struct dentry *);\n\tvoid (*d_iput)(struct dentry *, struct inode *);\n\tchar * (*d_dname)(struct dentry *, char *, int);\n\tstruct vfsmount * (*d_automount)(struct path *);\n\tint (*d_manage)(const struct path *, bool);\n\tstruct dentry * (*d_real)(struct dentry *, enum d_real_type);\n\tbool (*d_unalias_trylock)(const struct dentry *);\n\tvoid (*d_unalias_unlock)(const struct dentry *);\n\tlong: 64;\n};\n\nstruct dentry_stat_t {\n\tlong int nr_dentry;\n\tlong int nr_unused;\n\tlong int age_limit;\n\tlong int want_pages;\n\tlong int nr_negative;\n\tlong int dummy;\n};\n\nstruct slab;\n\nstruct detached_freelist {\n\tstruct slab *slab;\n\tvoid *tail;\n\tvoid *freelist;\n\tint cnt;\n\tstruct kmem_cache *s;\n};\n\nstruct dev_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct list_head exceptions;\n\tenum devcg_behavior behavior;\n};\n\nstruct dev_pagemap;\n\nstruct dev_dax_range;\n\nstruct dev_dax {\n\tstruct dax_region *region;\n\tstruct dax_device *dax_dev;\n\tunsigned int align;\n\tint target_node;\n\tbool dyn_id;\n\tint id;\n\tstruct ida ida;\n\tstruct device dev;\n\tstruct dev_pagemap *pgmap;\n\tbool memmap_on_memory;\n\tint nr_range;\n\tstruct dev_dax_range *ranges;\n};\n\nstruct dev_dax_data {\n\tstruct dax_region *dax_region;\n\tstruct dev_pagemap *pgmap;\n\tresource_size_t size;\n\tint id;\n\tbool memmap_on_memory;\n};\n\nstruct range {\n\tu64 start;\n\tu64 end;\n};\n\nstruct dev_dax_range {\n\tlong unsigned int pgoff;\n\tstruct range range;\n\tstruct dax_mapping *mapping;\n};\n\nstruct dev_exception_item {\n\tu32 major;\n\tu32 minor;\n\tshort int type;\n\tshort int access;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct dev_ext_attribute {\n\tstruct device_attribute attr;\n\tvoid *var;\n};\n\nstruct dev_ifalias {\n\tstruct callback_head rcuhead;\n\tchar ifalias[0];\n};\n\nstruct iommu_fault_param;\n\nstruct iommu_fwspec;\n\nstruct iommu_device;\n\nstruct dev_iommu {\n\tstruct mutex lock;\n\tstruct iommu_fault_param *fault_param;\n\tstruct iommu_fwspec *fwspec;\n\tstruct iommu_device *iommu_dev;\n\tvoid *priv;\n\tu32 max_pasids;\n\tu32 attach_deferred: 1;\n\tu32 pci_32bit_workaround: 1;\n\tu32 require_direct: 1;\n\tu32 shadow_on_flush: 1;\n};\n\nstruct dev_kfree_skb_cb {\n\tenum skb_drop_reason reason;\n};\n\nstruct vmem_altmap {\n\tlong unsigned int base_pfn;\n\tconst long unsigned int end_pfn;\n\tconst long unsigned int reserve;\n\tlong unsigned int free;\n\tlong unsigned int align;\n\tlong unsigned int alloc;\n\tbool inaccessible;\n};\n\nstruct dev_pagemap_ops;\n\nstruct dev_pagemap {\n\tstruct vmem_altmap altmap;\n\tstruct percpu_ref ref;\n\tstruct completion done;\n\tenum memory_type type;\n\tunsigned int flags;\n\tlong unsigned int vmemmap_shift;\n\tconst struct dev_pagemap_ops *ops;\n\tvoid *owner;\n\tint nr_range;\n\tunion {\n\t\tstruct range range;\n\t\tstruct {\n\t\t\tstruct {} __empty_ranges;\n\t\t\tstruct range ranges[0];\n\t\t};\n\t};\n};\n\nstruct vm_fault;\n\nstruct dev_pagemap_ops {\n\tvoid (*page_free)(struct page *);\n\tvm_fault_t (*migrate_to_ram)(struct vm_fault *);\n\tint (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int);\n};\n\nstruct pinctrl;\n\nstruct pinctrl_state;\n\nstruct dev_pin_info {\n\tstruct pinctrl *p;\n\tstruct pinctrl_state *default_state;\n\tstruct pinctrl_state *init_state;\n\tstruct pinctrl_state *sleep_state;\n\tstruct pinctrl_state *idle_state;\n};\n\nstruct dev_pm_ops {\n\tint (*prepare)(struct device *);\n\tvoid (*complete)(struct device *);\n\tint (*suspend)(struct device *);\n\tint (*resume)(struct device *);\n\tint (*freeze)(struct device *);\n\tint (*thaw)(struct device *);\n\tint (*poweroff)(struct device *);\n\tint (*restore)(struct device *);\n\tint (*suspend_late)(struct device *);\n\tint (*resume_early)(struct device *);\n\tint (*freeze_late)(struct device *);\n\tint (*thaw_early)(struct device *);\n\tint (*poweroff_late)(struct device *);\n\tint (*restore_early)(struct device *);\n\tint (*suspend_noirq)(struct device *);\n\tint (*resume_noirq)(struct device *);\n\tint (*freeze_noirq)(struct device *);\n\tint (*thaw_noirq)(struct device *);\n\tint (*poweroff_noirq)(struct device *);\n\tint (*restore_noirq)(struct device *);\n\tint (*runtime_suspend)(struct device *);\n\tint (*runtime_resume)(struct device *);\n\tint (*runtime_idle)(struct device *);\n};\n\nstruct dev_pm_domain {\n\tstruct dev_pm_ops ops;\n\tint (*start)(struct device *);\n\tvoid (*detach)(struct device *, bool);\n\tint (*activate)(struct device *);\n\tvoid (*sync)(struct device *);\n\tvoid (*dismiss)(struct device *);\n\tint (*set_performance_state)(struct device *, unsigned int);\n};\n\nstruct dev_pm_domain_attach_data {\n\tconst char * const *pd_names;\n\tconst u32 num_pd_names;\n\tconst u32 pd_flags;\n};\n\nstruct device_link;\n\nstruct dev_pm_domain_list {\n\tstruct device **pd_devs;\n\tstruct device_link **pd_links;\n\tu32 *opp_tokens;\n\tu32 num_pds;\n};\n\nstruct dev_pm_opp_supply;\n\nstruct dev_pm_opp_icc_bw;\n\nstruct opp_table;\n\nstruct dev_pm_opp {\n\tstruct list_head node;\n\tstruct kref kref;\n\tbool available;\n\tbool dynamic;\n\tbool turbo;\n\tbool suspend;\n\tbool removed;\n\tlong unsigned int *rates;\n\tunsigned int level;\n\tstruct dev_pm_opp_supply *supplies;\n\tstruct dev_pm_opp_icc_bw *bandwidth;\n\tlong unsigned int clock_latency_ns;\n\tstruct dev_pm_opp **required_opps;\n\tstruct opp_table *opp_table;\n\tstruct device_node *np;\n\tstruct dentry *dentry;\n\tconst char *of_name;\n};\n\ntypedef int (*config_clks_t)(struct device *, struct opp_table *, struct dev_pm_opp *, void *, bool);\n\ntypedef int (*config_regulators_t)(struct device *, struct dev_pm_opp *, struct dev_pm_opp *, struct regulator **, unsigned int);\n\nstruct dev_pm_opp_config {\n\tconst char * const *clk_names;\n\tconfig_clks_t config_clks;\n\tconst char *prop_name;\n\tconfig_regulators_t config_regulators;\n\tconst unsigned int *supported_hw;\n\tunsigned int supported_hw_count;\n\tconst char * const *regulator_names;\n\tstruct device *required_dev;\n\tunsigned int required_dev_index;\n};\n\nstruct dev_pm_opp_data {\n\tbool turbo;\n\tunsigned int level;\n\tlong unsigned int freq;\n\tlong unsigned int u_volt;\n};\n\nstruct dev_pm_opp_icc_bw {\n\tu32 avg;\n\tu32 peak;\n};\n\nstruct dev_pm_opp_supply {\n\tlong unsigned int u_volt;\n\tlong unsigned int u_volt_min;\n\tlong unsigned int u_volt_max;\n\tlong unsigned int u_amp;\n\tlong unsigned int u_watt;\n};\n\nstruct pm_qos_flags {\n\tstruct list_head list;\n\ts32 effective_flags;\n};\n\nstruct dev_pm_qos_request;\n\nstruct dev_pm_qos {\n\tstruct pm_qos_constraints resume_latency;\n\tstruct pm_qos_constraints latency_tolerance;\n\tstruct freq_constraints freq;\n\tstruct pm_qos_flags flags;\n\tstruct dev_pm_qos_request *resume_latency_req;\n\tstruct dev_pm_qos_request *latency_tolerance_req;\n\tstruct dev_pm_qos_request *flags_req;\n};\n\nstruct pm_qos_flags_request {\n\tstruct list_head node;\n\ts32 flags;\n};\n\nstruct dev_pm_qos_request {\n\tenum dev_pm_qos_req_type type;\n\tunion {\n\t\tstruct plist_node pnode;\n\t\tstruct pm_qos_flags_request flr;\n\t\tstruct freq_qos_request freq;\n\t} data;\n\tstruct device *dev;\n};\n\nstruct dev_power_governor {\n\tbool (*power_down_ok)(struct dev_pm_domain *);\n\tbool (*suspend_ok)(struct device *);\n};\n\nstruct dev_printk_info {\n\tchar subsystem[16];\n\tchar device[48];\n};\n\nstruct devfreq_dev_status {\n\tlong unsigned int total_time;\n\tlong unsigned int busy_time;\n\tlong unsigned int current_frequency;\n\tvoid *private_data;\n};\n\nstruct devfreq_stats {\n\tunsigned int total_trans;\n\tunsigned int *trans_table;\n\tu64 *time_in_state;\n\tu64 last_update;\n};\n\nstruct devfreq_dev_profile;\n\nstruct devfreq_governor;\n\nstruct devfreq {\n\tstruct list_head node;\n\tstruct mutex lock;\n\tstruct device dev;\n\tstruct devfreq_dev_profile *profile;\n\tconst struct devfreq_governor *governor;\n\tstruct opp_table *opp_table;\n\tstruct notifier_block nb;\n\tstruct delayed_work work;\n\tlong unsigned int *freq_table;\n\tunsigned int max_state;\n\tlong unsigned int previous_freq;\n\tstruct devfreq_dev_status last_status;\n\tvoid *data;\n\tvoid *governor_data;\n\tstruct dev_pm_qos_request user_min_freq_req;\n\tstruct dev_pm_qos_request user_max_freq_req;\n\tlong unsigned int scaling_min_freq;\n\tlong unsigned int scaling_max_freq;\n\tbool stop_polling;\n\tlong unsigned int suspend_freq;\n\tlong unsigned int resume_freq;\n\tatomic_t suspend_count;\n\tstruct devfreq_stats stats;\n\tstruct srcu_notifier_head transition_notifier_list;\n\tstruct thermal_cooling_device *cdev;\n\tstruct notifier_block nb_min;\n\tstruct notifier_block nb_max;\n};\n\nstruct devfreq_cooling_power;\n\nstruct devfreq_cooling_device {\n\tstruct thermal_cooling_device *cdev;\n\tstruct thermal_cooling_device_ops cooling_ops;\n\tstruct devfreq *devfreq;\n\tlong unsigned int cooling_state;\n\tu32 *freq_table;\n\tsize_t max_state;\n\tstruct devfreq_cooling_power *power_ops;\n\tu32 res_util;\n\tint capped_state;\n\tstruct dev_pm_qos_request req_max_freq;\n\tstruct em_perf_domain *em_pd;\n};\n\nstruct devfreq_cooling_power {\n\tint (*get_real_power)(struct devfreq *, u32 *, long unsigned int, long unsigned int);\n};\n\nstruct devfreq_dev_profile {\n\tlong unsigned int initial_freq;\n\tunsigned int polling_ms;\n\tenum devfreq_timer timer;\n\tint (*target)(struct device *, long unsigned int *, u32);\n\tint (*get_dev_status)(struct device *, struct devfreq_dev_status *);\n\tint (*get_cur_freq)(struct device *, long unsigned int *);\n\tvoid (*exit)(struct device *);\n\tlong unsigned int *freq_table;\n\tunsigned int max_state;\n\tbool is_cooling_device;\n};\n\nstruct devfreq_freqs {\n\tlong unsigned int old;\n\tlong unsigned int new;\n};\n\nstruct devfreq_governor {\n\tstruct list_head node;\n\tconst char name[16];\n\tconst u64 attrs;\n\tconst u64 flags;\n\tint (*get_target_freq)(struct devfreq *, long unsigned int *);\n\tint (*event_handler)(struct devfreq *, unsigned int, void *);\n};\n\nstruct devfreq_notifier_devres {\n\tstruct devfreq *devfreq;\n\tstruct notifier_block *nb;\n\tunsigned int list;\n};\n\nstruct device_attach_data {\n\tstruct device *dev;\n\tbool check_async;\n\tbool want_async;\n\tbool have_async;\n};\n\nunion device_attr_group_devres {\n\tconst struct attribute_group *group;\n\tconst struct attribute_group **groups;\n};\n\nstruct device_link {\n\tstruct device *supplier;\n\tstruct list_head s_node;\n\tstruct device *consumer;\n\tstruct list_head c_node;\n\tstruct device link_dev;\n\tenum device_link_state status;\n\tu32 flags;\n\trefcount_t rpm_active;\n\tstruct kref kref;\n\tstruct work_struct rm_work;\n\tbool supplier_preactivated;\n};\n\nstruct property;\n\nstruct device_node {\n\tconst char *name;\n\tphandle phandle;\n\tconst char *full_name;\n\tstruct fwnode_handle fwnode;\n\tstruct property *properties;\n\tstruct property *deadprops;\n\tstruct device_node *parent;\n\tstruct device_node *child;\n\tstruct device_node *sibling;\n\tstruct kobject kobj;\n\tlong unsigned int _flags;\n\tvoid *data;\n};\n\nstruct device_physical_location {\n\tenum device_physical_location_panel panel;\n\tenum device_physical_location_vertical_position vertical_position;\n\tenum device_physical_location_horizontal_position horizontal_position;\n\tbool dock;\n\tbool lid;\n};\n\nstruct klist_node {\n\tvoid *n_klist;\n\tstruct list_head n_node;\n\tstruct kref n_ref;\n};\n\nstruct device_private {\n\tstruct klist klist_children;\n\tstruct klist_node knode_parent;\n\tstruct klist_node knode_driver;\n\tstruct klist_node knode_bus;\n\tstruct klist_node knode_class;\n\tstruct list_head deferred_probe;\n\tconst struct device_driver *async_driver;\n\tchar *deferred_probe_reason;\n\tstruct device *device;\n\tu8 dead: 1;\n};\n\nstruct device_type {\n\tconst char *name;\n\tconst struct attribute_group **groups;\n\tint (*uevent)(const struct device *, struct kobj_uevent_env *);\n\tchar * (*devnode)(const struct device *, umode_t *, kuid_t *, kgid_t *);\n\tvoid (*release)(struct device *);\n\tconst struct dev_pm_ops *pm;\n};\n\nstruct devinet_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table devinet_vars[33];\n};\n\nstruct ratelimit_state {\n\traw_spinlock_t lock;\n\tint interval;\n\tint burst;\n\tint printed;\n\tint missed;\n\tunsigned int flags;\n\tlong unsigned int begin;\n};\n\nstruct printk_buffers {\n\tchar outbuf[2048];\n\tchar scratchbuf[1024];\n};\n\nstruct devkmsg_user {\n\tatomic64_t seq;\n\tstruct ratelimit_state rs;\n\tstruct mutex lock;\n\tstruct printk_buffers pbufs;\n};\n\nstruct devlink;\n\nstruct ib_device;\n\nstruct netdev_phys_item_id {\n\tunsigned char id[32];\n\tunsigned char id_len;\n};\n\nstruct devlink_port_phys_attrs {\n\tu32 port_number;\n\tu32 split_subport_number;\n};\n\nstruct devlink_port_pci_pf_attrs {\n\tu32 controller;\n\tu16 pf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_pci_vf_attrs {\n\tu32 controller;\n\tu16 pf;\n\tu16 vf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_pci_sf_attrs {\n\tu32 controller;\n\tu32 sf;\n\tu16 pf;\n\tu8 external: 1;\n};\n\nstruct devlink_port_attrs {\n\tu8 split: 1;\n\tu8 splittable: 1;\n\tu32 lanes;\n\tenum devlink_port_flavour flavour;\n\tstruct netdev_phys_item_id switch_id;\n\tunion {\n\t\tstruct devlink_port_phys_attrs phys;\n\t\tstruct devlink_port_pci_pf_attrs pci_pf;\n\t\tstruct devlink_port_pci_vf_attrs pci_vf;\n\t\tstruct devlink_port_pci_sf_attrs pci_sf;\n\t};\n};\n\nstruct devlink_linecard;\n\nstruct devlink_port_ops;\n\nstruct devlink_rate;\n\nstruct devlink_port {\n\tstruct list_head list;\n\tstruct list_head region_list;\n\tstruct devlink *devlink;\n\tconst struct devlink_port_ops *ops;\n\tunsigned int index;\n\tspinlock_t type_lock;\n\tenum devlink_port_type type;\n\tenum devlink_port_type desired_type;\n\tunion {\n\t\tstruct {\n\t\t\tstruct net_device *netdev;\n\t\t\tint ifindex;\n\t\t\tchar ifname[16];\n\t\t} type_eth;\n\t\tstruct {\n\t\t\tstruct ib_device *ibdev;\n\t\t} type_ib;\n\t};\n\tstruct devlink_port_attrs attrs;\n\tu8 attrs_set: 1;\n\tu8 switch_port: 1;\n\tu8 registered: 1;\n\tu8 initialized: 1;\n\tstruct delayed_work type_warn_dw;\n\tstruct list_head reporter_list;\n\tstruct devlink_rate *devlink_rate;\n\tstruct devlink_linecard *linecard;\n\tu32 rel_index;\n};\n\nstruct devlink_port_ops {\n\tint (*port_split)(struct devlink *, struct devlink_port *, unsigned int, struct netlink_ext_ack *);\n\tint (*port_unsplit)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);\n\tint (*port_type_set)(struct devlink_port *, enum devlink_port_type);\n\tint (*port_del)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);\n\tint (*port_fn_hw_addr_get)(struct devlink_port *, u8 *, int *, struct netlink_ext_ack *);\n\tint (*port_fn_hw_addr_set)(struct devlink_port *, const u8 *, int, struct netlink_ext_ack *);\n\tint (*port_fn_roce_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_roce_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_migratable_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_migratable_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_state_get)(struct devlink_port *, enum devlink_port_fn_state *, enum devlink_port_fn_opstate *, struct netlink_ext_ack *);\n\tint (*port_fn_state_set)(struct devlink_port *, enum devlink_port_fn_state, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_crypto_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_crypto_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_packet_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);\n\tint (*port_fn_ipsec_packet_set)(struct devlink_port *, bool, struct netlink_ext_ack *);\n\tint (*port_fn_max_io_eqs_get)(struct devlink_port *, u32 *, struct netlink_ext_ack *);\n\tint (*port_fn_max_io_eqs_set)(struct devlink_port *, u32, struct netlink_ext_ack *);\n};\n\nstruct devlink_rate {\n\tstruct list_head list;\n\tenum devlink_rate_type type;\n\tstruct devlink *devlink;\n\tvoid *priv;\n\tu64 tx_share;\n\tu64 tx_max;\n\tstruct devlink_rate *parent;\n\tunion {\n\t\tstruct devlink_port *devlink_port;\n\t\tstruct {\n\t\t\tchar *name;\n\t\t\trefcount_t refcnt;\n\t\t};\n\t};\n\tu32 tx_priority;\n\tu32 tx_weight;\n};\n\nstruct devm_clk_state {\n\tstruct clk *clk;\n\tvoid (*exit)(struct clk *);\n};\n\nstruct of_regulator_match;\n\nstruct devm_of_regulator_matches {\n\tstruct of_regulator_match *matches;\n\tunsigned int num_matches;\n};\n\ntypedef void (*dr_release_t)(struct device *, void *);\n\nstruct devres_node {\n\tstruct list_head entry;\n\tdr_release_t release;\n\tconst char *name;\n\tsize_t size;\n};\n\nstruct devres {\n\tstruct devres_node node;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 data[0];\n};\n\nstruct devres_group {\n\tstruct devres_node node[2];\n\tvoid *id;\n\tint color;\n};\n\nstruct dictionary {\n\tuint8_t *buf;\n\tsize_t start;\n\tsize_t pos;\n\tsize_t full;\n\tsize_t limit;\n\tsize_t end;\n\tuint32_t size;\n\tuint32_t size_max;\n\tuint32_t allocated;\n\tenum xz_mode mode;\n};\n\nstruct die_args {\n\tstruct pt_regs *regs;\n\tconst char *str;\n\tlong int err;\n\tint trapnr;\n\tint signr;\n};\n\nstruct dim_stats {\n\tint ppms;\n\tint bpms;\n\tint epms;\n\tint cpms;\n\tint cpe_ratio;\n};\n\nstruct dim_sample {\n\tktime_t time;\n\tu32 pkt_ctr;\n\tu32 byte_ctr;\n\tu16 event_ctr;\n\tu32 comp_ctr;\n};\n\nstruct dim {\n\tu8 state;\n\tstruct dim_stats prev_stats;\n\tstruct dim_sample start_sample;\n\tstruct dim_sample measuring_sample;\n\tstruct work_struct work;\n\tvoid *priv;\n\tu8 profile_ix;\n\tu8 mode;\n\tu8 tune_state;\n\tu8 steps_right;\n\tu8 steps_left;\n\tu8 tired;\n};\n\nstruct dim_cq_moder {\n\tu16 usec;\n\tu16 pkts;\n\tu16 comps;\n\tu8 cq_period_mode;\n\tstruct callback_head rcu;\n};\n\nstruct dim_irq_moder {\n\tu8 profile_flags;\n\tu8 coal_flags;\n\tu8 dim_rx_mode;\n\tu8 dim_tx_mode;\n\tstruct dim_cq_moder *rx_profile;\n\tstruct dim_cq_moder *tx_profile;\n\tvoid (*rx_dim_work)(struct work_struct *);\n\tvoid (*tx_dim_work)(struct work_struct *);\n};\n\ntypedef int dio_iodone_t(struct kiocb *, loff_t, ssize_t, void *);\n\nstruct dio {\n\tint flags;\n\tblk_opf_t opf;\n\tstruct gendisk *bio_disk;\n\tstruct inode *inode;\n\tloff_t i_size;\n\tdio_iodone_t *end_io;\n\tbool is_pinned;\n\tvoid *private;\n\tspinlock_t bio_lock;\n\tint page_errors;\n\tint is_async;\n\tbool defer_completion;\n\tbool should_dirty;\n\tint io_error;\n\tlong unsigned int refcount;\n\tstruct bio *bio_list;\n\tstruct task_struct *waiter;\n\tstruct kiocb *iocb;\n\tssize_t result;\n\tunion {\n\t\tstruct page *pages[64];\n\t\tstruct work_struct complete_work;\n\t};\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef int get_block_t(struct inode *, sector_t, struct buffer_head *, int);\n\nstruct dio_submit {\n\tstruct bio *bio;\n\tunsigned int blkbits;\n\tunsigned int blkfactor;\n\tunsigned int start_zero_done;\n\tint pages_in_io;\n\tsector_t block_in_file;\n\tunsigned int blocks_available;\n\tint reap_counter;\n\tsector_t final_block_in_request;\n\tint boundary;\n\tget_block_t *get_block;\n\tloff_t logical_offset_in_bio;\n\tsector_t final_block_in_bio;\n\tsector_t next_block_for_io;\n\tstruct page *cur_page;\n\tunsigned int cur_page_offset;\n\tunsigned int cur_page_len;\n\tsector_t cur_page_block;\n\tloff_t cur_page_fs_offset;\n\tstruct iov_iter *iter;\n\tunsigned int head;\n\tunsigned int tail;\n\tsize_t from;\n\tsize_t to;\n};\n\nstruct dir_entry {\n\tstruct list_head list;\n\ttime64_t mtime;\n\tchar name[0];\n};\n\nstruct fname;\n\nstruct dir_private_info {\n\tstruct rb_root root;\n\tstruct rb_node *curr_node;\n\tstruct fname *extra_fname;\n\tloff_t last_pos;\n\t__u32 curr_hash;\n\t__u32 curr_minor_hash;\n\t__u32 next_hash;\n\tu64 cookie;\n\tbool initialized;\n};\n\nstruct wb_domain;\n\nstruct dirty_throttle_control {\n\tstruct wb_domain *dom;\n\tstruct dirty_throttle_control *gdtc;\n\tstruct bdi_writeback *wb;\n\tstruct fprop_local_percpu *wb_completions;\n\tlong unsigned int avail;\n\tlong unsigned int dirty;\n\tlong unsigned int thresh;\n\tlong unsigned int bg_thresh;\n\tlong unsigned int wb_dirty;\n\tlong unsigned int wb_thresh;\n\tlong unsigned int wb_bg_thresh;\n\tlong unsigned int pos_ratio;\n\tbool freerun;\n\tbool dirty_exceeded;\n};\n\nstruct disk_events {\n\tstruct list_head node;\n\tstruct gendisk *disk;\n\tspinlock_t lock;\n\tstruct mutex block_mutex;\n\tint block;\n\tunsigned int pending;\n\tunsigned int clearing;\n\tlong int poll_msecs;\n\tstruct delayed_work dwork;\n};\n\nstruct disk_stats {\n\tu64 nsecs[4];\n\tlong unsigned int sectors[4];\n\tlong unsigned int ios[4];\n\tlong unsigned int merges[4];\n\tlong unsigned int io_ticks;\n\tlocal_t in_flight[2];\n};\n\nstruct dispatch_rq_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct request *rq;\n};\n\nstruct timing_entry {\n\tu32 min;\n\tu32 typ;\n\tu32 max;\n};\n\nstruct display_timing {\n\tstruct timing_entry pixelclock;\n\tstruct timing_entry hactive;\n\tstruct timing_entry hfront_porch;\n\tstruct timing_entry hback_porch;\n\tstruct timing_entry hsync_len;\n\tstruct timing_entry vactive;\n\tstruct timing_entry vfront_porch;\n\tstruct timing_entry vback_porch;\n\tstruct timing_entry vsync_len;\n\tenum display_flags flags;\n};\n\nstruct display_timings {\n\tunsigned int num_timings;\n\tunsigned int native_mode;\n\tstruct display_timing **timings;\n};\n\nstruct dl_bw {\n\traw_spinlock_t lock;\n\tu64 bw;\n\tu64 total_bw;\n};\n\nstruct dl_rq {\n\tstruct rb_root_cached root;\n\tunsigned int dl_nr_running;\n\tstruct {\n\t\tu64 curr;\n\t\tu64 next;\n\t} earliest_dl;\n\tbool overloaded;\n\tstruct rb_root_cached pushable_dl_tasks_root;\n\tu64 running_bw;\n\tu64 this_bw;\n\tu64 extra_bw;\n\tu64 max_bw;\n\tu64 bw_ratio;\n};\n\nstruct dm_kobject_holder {\n\tstruct kobject kobj;\n\tstruct completion completion;\n};\n\nstruct dma_block {\n\tstruct dma_block *next_block;\n\tdma_addr_t dma;\n};\n\nstruct iosys_map {\n\tunion {\n\t\tvoid *vaddr_iomem;\n\t\tvoid *vaddr;\n\t};\n\tbool is_iomem;\n};\n\nstruct dma_buf_poll_cb_t {\n\tstruct dma_fence_cb cb;\n\twait_queue_head_t *poll;\n\t__poll_t active;\n};\n\nstruct dma_buf_ops;\n\nstruct dma_resv;\n\nstruct dma_buf {\n\tsize_t size;\n\tstruct file *file;\n\tstruct list_head attachments;\n\tconst struct dma_buf_ops *ops;\n\tunsigned int vmapping_counter;\n\tstruct iosys_map vmap_ptr;\n\tconst char *exp_name;\n\tconst char *name;\n\tspinlock_t name_lock;\n\tstruct module *owner;\n\tstruct list_head list_node;\n\tvoid *priv;\n\tstruct dma_resv *resv;\n\twait_queue_head_t poll;\n\tstruct dma_buf_poll_cb_t cb_in;\n\tstruct dma_buf_poll_cb_t cb_out;\n};\n\nstruct dma_buf_attachment;\n\nstruct dma_buf_attach_ops {\n\tbool allow_peer2peer;\n\tvoid (*move_notify)(struct dma_buf_attachment *);\n};\n\nstruct dma_buf_attachment {\n\tstruct dma_buf *dmabuf;\n\tstruct device *dev;\n\tstruct list_head node;\n\tstruct sg_table *sgt;\n\tenum dma_data_direction dir;\n\tbool peer2peer;\n\tconst struct dma_buf_attach_ops *importer_ops;\n\tvoid *importer_priv;\n\tvoid *priv;\n};\n\nstruct dma_buf_export_info {\n\tconst char *exp_name;\n\tstruct module *owner;\n\tconst struct dma_buf_ops *ops;\n\tsize_t size;\n\tint flags;\n\tstruct dma_resv *resv;\n\tvoid *priv;\n};\n\nstruct dma_buf_export_sync_file {\n\t__u32 flags;\n\t__s32 fd;\n};\n\nstruct dma_buf_import_sync_file {\n\t__u32 flags;\n\t__s32 fd;\n};\n\nstruct dma_buf_ops {\n\tbool cache_sgt_mapping;\n\tint (*attach)(struct dma_buf *, struct dma_buf_attachment *);\n\tvoid (*detach)(struct dma_buf *, struct dma_buf_attachment *);\n\tint (*pin)(struct dma_buf_attachment *);\n\tvoid (*unpin)(struct dma_buf_attachment *);\n\tstruct sg_table * (*map_dma_buf)(struct dma_buf_attachment *, enum dma_data_direction);\n\tvoid (*unmap_dma_buf)(struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction);\n\tvoid (*release)(struct dma_buf *);\n\tint (*begin_cpu_access)(struct dma_buf *, enum dma_data_direction);\n\tint (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);\n\tint (*mmap)(struct dma_buf *, struct vm_area_struct *);\n\tint (*vmap)(struct dma_buf *, struct iosys_map *);\n\tvoid (*vunmap)(struct dma_buf *, struct iosys_map *);\n};\n\nstruct dma_buf_sync {\n\t__u64 flags;\n};\n\nstruct dma_chan_dev {\n\tstruct dma_chan *chan;\n\tstruct device device;\n\tint dev_id;\n\tbool chan_dma_dev;\n};\n\nstruct dma_chan_percpu {\n\tlong unsigned int memcpy_count;\n\tlong unsigned int bytes_transferred;\n};\n\nstruct dma_chan_tbl_ent {\n\tstruct dma_chan *chan;\n};\n\nstruct dma_coherent_mem {\n\tvoid *virt_base;\n\tdma_addr_t device_base;\n\tlong unsigned int pfn_base;\n\tint size;\n\tlong unsigned int *bitmap;\n\tspinlock_t spinlock;\n\tbool use_dev_dma_pfn_offset;\n};\n\nstruct dma_descriptor_metadata_ops {\n\tint (*attach)(struct dma_async_tx_descriptor *, void *, size_t);\n\tvoid * (*get_ptr)(struct dma_async_tx_descriptor *, size_t *, size_t *);\n\tint (*set_len)(struct dma_async_tx_descriptor *, size_t);\n};\n\nstruct dma_slave_map;\n\nstruct dma_filter {\n\tdma_filter_fn fn;\n\tint mapcnt;\n\tconst struct dma_slave_map *map;\n};\n\nstruct dma_vec;\n\nstruct dma_interleaved_template;\n\nstruct dma_slave_caps;\n\nstruct dma_tx_state;\n\nstruct dma_device {\n\tstruct kref ref;\n\tunsigned int chancnt;\n\tunsigned int privatecnt;\n\tstruct list_head channels;\n\tstruct list_head global_node;\n\tstruct dma_filter filter;\n\tdma_cap_mask_t cap_mask;\n\tenum dma_desc_metadata_mode desc_metadata_modes;\n\tshort unsigned int max_xor;\n\tshort unsigned int max_pq;\n\tenum dmaengine_alignment copy_align;\n\tenum dmaengine_alignment xor_align;\n\tenum dmaengine_alignment pq_align;\n\tenum dmaengine_alignment fill_align;\n\tint dev_id;\n\tstruct device *dev;\n\tstruct module *owner;\n\tstruct ida chan_ida;\n\tu32 src_addr_widths;\n\tu32 dst_addr_widths;\n\tu32 directions;\n\tu32 min_burst;\n\tu32 max_burst;\n\tu32 max_sg_burst;\n\tbool descriptor_reuse;\n\tenum dma_residue_granularity residue_granularity;\n\tint (*device_alloc_chan_resources)(struct dma_chan *);\n\tint (*device_router_config)(struct dma_chan *);\n\tvoid (*device_free_chan_resources)(struct dma_chan *);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memcpy)(struct dma_chan *, dma_addr_t, dma_addr_t, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_xor)(struct dma_chan *, dma_addr_t, dma_addr_t *, unsigned int, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_xor_val)(struct dma_chan *, dma_addr_t *, unsigned int, size_t, enum sum_check_flags *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_pq)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_pq_val)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, enum sum_check_flags *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memset)(struct dma_chan *, dma_addr_t, int, size_t, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_memset_sg)(struct dma_chan *, struct scatterlist *, unsigned int, int, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_interrupt)(struct dma_chan *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_peripheral_dma_vec)(struct dma_chan *, const struct dma_vec *, size_t, enum dma_transfer_direction, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_slave_sg)(struct dma_chan *, struct scatterlist *, unsigned int, enum dma_transfer_direction, long unsigned int, void *);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_cyclic)(struct dma_chan *, dma_addr_t, size_t, size_t, enum dma_transfer_direction, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_interleaved_dma)(struct dma_chan *, struct dma_interleaved_template *, long unsigned int);\n\tstruct dma_async_tx_descriptor * (*device_prep_dma_imm_data)(struct dma_chan *, dma_addr_t, u64, long unsigned int);\n\tvoid (*device_caps)(struct dma_chan *, struct dma_slave_caps *);\n\tint (*device_config)(struct dma_chan *, struct dma_slave_config *);\n\tint (*device_pause)(struct dma_chan *);\n\tint (*device_resume)(struct dma_chan *);\n\tint (*device_terminate_all)(struct dma_chan *);\n\tvoid (*device_synchronize)(struct dma_chan *);\n\tenum dma_status (*device_tx_status)(struct dma_chan *, dma_cookie_t, struct dma_tx_state *);\n\tvoid (*device_issue_pending)(struct dma_chan *);\n\tvoid (*device_release)(struct dma_device *);\n\tvoid (*dbg_summary_show)(struct seq_file *, struct dma_device *);\n\tstruct dentry *dbg_dev_root;\n};\n\nstruct dma_devres {\n\tsize_t size;\n\tvoid *vaddr;\n\tdma_addr_t dma_handle;\n\tlong unsigned int attrs;\n};\n\nstruct dma_fence_ops;\n\nstruct dma_fence {\n\tspinlock_t *lock;\n\tconst struct dma_fence_ops *ops;\n\tunion {\n\t\tstruct list_head cb_list;\n\t\tktime_t timestamp;\n\t\tstruct callback_head rcu;\n\t};\n\tu64 context;\n\tu64 seqno;\n\tlong unsigned int flags;\n\tstruct kref refcount;\n\tint error;\n};\n\nstruct dma_fence_array;\n\nstruct dma_fence_array_cb {\n\tstruct dma_fence_cb cb;\n\tstruct dma_fence_array *array;\n};\n\nstruct dma_fence_array {\n\tstruct dma_fence base;\n\tspinlock_t lock;\n\tunsigned int num_fences;\n\tatomic_t num_pending;\n\tstruct dma_fence **fences;\n\tstruct irq_work work;\n\tstruct dma_fence_array_cb callbacks[0];\n};\n\nstruct dma_fence_chain {\n\tstruct dma_fence base;\n\tstruct dma_fence *prev;\n\tu64 prev_seqno;\n\tstruct dma_fence *fence;\n\tunion {\n\t\tstruct dma_fence_cb cb;\n\t\tstruct irq_work work;\n\t};\n\tspinlock_t lock;\n};\n\nstruct dma_fence_ops {\n\tbool use_64bit_seqno;\n\tconst char * (*get_driver_name)(struct dma_fence *);\n\tconst char * (*get_timeline_name)(struct dma_fence *);\n\tbool (*enable_signaling)(struct dma_fence *);\n\tbool (*signaled)(struct dma_fence *);\n\tlong int (*wait)(struct dma_fence *, bool, long int);\n\tvoid (*release)(struct dma_fence *);\n\tvoid (*fence_value_str)(struct dma_fence *, char *, int);\n\tvoid (*timeline_value_str)(struct dma_fence *, char *, int);\n\tvoid (*set_deadline)(struct dma_fence *, ktime_t);\n};\n\nstruct dma_fence_unwrap {\n\tstruct dma_fence *chain;\n\tstruct dma_fence *array;\n\tunsigned int index;\n};\n\nstruct dma_interleaved_template {\n\tdma_addr_t src_start;\n\tdma_addr_t dst_start;\n\tenum dma_transfer_direction dir;\n\tbool src_inc;\n\tbool dst_inc;\n\tbool src_sgl;\n\tbool dst_sgl;\n\tsize_t numf;\n\tsize_t frame_size;\n\tstruct data_chunk sgl[0];\n};\n\nstruct dma_map_ops {\n\tvoid * (*alloc)(struct device *, size_t, dma_addr_t *, gfp_t, long unsigned int);\n\tvoid (*free)(struct device *, size_t, void *, dma_addr_t, long unsigned int);\n\tstruct page * (*alloc_pages_op)(struct device *, size_t, dma_addr_t *, enum dma_data_direction, gfp_t);\n\tvoid (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction);\n\tint (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int);\n\tint (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int);\n\tdma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tint (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\tdma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\tvoid (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\tvoid (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\tvoid (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction);\n\tvoid (*sync_sg_for_device)(struct device *, struct scatterlist *, int, enum dma_data_direction);\n\tvoid (*cache_sync)(struct device *, void *, size_t, enum dma_data_direction);\n\tint (*dma_supported)(struct device *, u64);\n\tu64 (*get_required_mask)(struct device *);\n\tsize_t (*max_mapping_size)(struct device *);\n\tsize_t (*opt_mapping_size)(void);\n\tlong unsigned int (*get_merge_boundary)(struct device *);\n};\n\nstruct dma_page {\n\tstruct list_head page_list;\n\tvoid *vaddr;\n\tdma_addr_t dma;\n};\n\nstruct dma_pool {\n\tstruct list_head page_list;\n\tspinlock_t lock;\n\tstruct dma_block *next_block;\n\tsize_t nr_blocks;\n\tsize_t nr_active;\n\tsize_t nr_pages;\n\tstruct device *dev;\n\tunsigned int size;\n\tunsigned int allocation;\n\tunsigned int boundary;\n\tchar name[32];\n\tstruct list_head pools;\n};\n\nstruct ww_acquire_ctx;\n\nstruct ww_class;\n\nstruct ww_mutex {\n\tstruct mutex base;\n\tstruct ww_acquire_ctx *ctx;\n\tstruct ww_class *ww_class;\n};\n\nstruct dma_resv_list;\n\nstruct dma_resv {\n\tstruct ww_mutex lock;\n\tstruct dma_resv_list *fences;\n};\n\nstruct dma_resv_iter {\n\tstruct dma_resv *obj;\n\tenum dma_resv_usage usage;\n\tstruct dma_fence *fence;\n\tenum dma_resv_usage fence_usage;\n\tunsigned int index;\n\tstruct dma_resv_list *fences;\n\tunsigned int num_fences;\n\tbool is_restarted;\n};\n\nstruct dma_resv_list {\n\tstruct callback_head rcu;\n\tu32 num_fences;\n\tu32 max_fences;\n\tstruct dma_fence *table[0];\n};\n\nstruct dma_router {\n\tstruct device *dev;\n\tvoid (*route_free)(struct device *, void *);\n};\n\nstruct dma_slave_caps {\n\tu32 src_addr_widths;\n\tu32 dst_addr_widths;\n\tu32 directions;\n\tu32 min_burst;\n\tu32 max_burst;\n\tu32 max_sg_burst;\n\tbool cmd_pause;\n\tbool cmd_resume;\n\tbool cmd_terminate;\n\tenum dma_residue_granularity residue_granularity;\n\tbool descriptor_reuse;\n};\n\nstruct dma_slave_map {\n\tconst char *devname;\n\tconst char *slave;\n\tvoid *param;\n};\n\nstruct dma_tx_state {\n\tdma_cookie_t last;\n\tdma_cookie_t used;\n\tu32 residue;\n\tu32 in_flight_bytes;\n};\n\nstruct dma_vec {\n\tdma_addr_t addr;\n\tsize_t len;\n};\n\nstruct dmabuf_cmsg {\n\t__u64 frag_offset;\n\t__u32 frag_size;\n\t__u32 frag_token;\n\t__u32 dmabuf_id;\n\t__u32 flags;\n};\n\nstruct net_iov;\n\nstruct net_devmem_dmabuf_binding;\n\nstruct dmabuf_genpool_chunk_owner {\n\tlong unsigned int base_virtual;\n\tdma_addr_t base_dma_addr;\n\tstruct net_iov *niovs;\n\tsize_t num_niovs;\n\tstruct net_devmem_dmabuf_binding *binding;\n};\n\nstruct dmabuf_token {\n\t__u32 token_start;\n\t__u32 token_count;\n};\n\nstruct dmaengine_desc_callback {\n\tdma_async_tx_callback callback;\n\tdma_async_tx_callback_result callback_result;\n\tvoid *callback_param;\n};\n\nstruct snd_soc_component;\n\nstruct snd_soc_card;\n\nstruct snd_soc_dapm_context {\n\tenum snd_soc_bias_level bias_level;\n\tunsigned int idle_bias_off: 1;\n\tunsigned int suspend_bias_off: 1;\n\tstruct device *dev;\n\tstruct snd_soc_component *component;\n\tstruct snd_soc_card *card;\n\tenum snd_soc_bias_level target_bias_level;\n\tstruct list_head list;\n\tstruct snd_soc_dapm_widget *wcache_sink;\n\tstruct snd_soc_dapm_widget *wcache_source;\n\tstruct dentry *debugfs_dapm;\n};\n\nstruct snd_soc_component_driver;\n\nstruct snd_compr_stream;\n\nstruct snd_soc_component {\n\tconst char *name;\n\tint id;\n\tconst char *name_prefix;\n\tstruct device *dev;\n\tstruct snd_soc_card *card;\n\tunsigned int active;\n\tunsigned int suspended: 1;\n\tstruct list_head list;\n\tstruct list_head card_aux_list;\n\tstruct list_head card_list;\n\tconst struct snd_soc_component_driver *driver;\n\tstruct list_head dai_list;\n\tint num_dai;\n\tstruct regmap *regmap;\n\tint val_bytes;\n\tstruct mutex io_mutex;\n\tstruct list_head dobj_list;\n\tstruct snd_soc_dapm_context dapm;\n\tint (*init)(struct snd_soc_component *);\n\tvoid *mark_module;\n\tstruct snd_pcm_substream *mark_open;\n\tstruct snd_pcm_substream *mark_hw_params;\n\tstruct snd_pcm_substream *mark_trigger;\n\tstruct snd_compr_stream *mark_compr_open;\n\tvoid *mark_pm;\n\tstruct dentry *debugfs_root;\n\tconst char *debugfs_prefix;\n};\n\nstruct snd_dmaengine_pcm_config;\n\nstruct dmaengine_pcm {\n\tstruct dma_chan *chan[2];\n\tconst struct snd_dmaengine_pcm_config *config;\n\tstruct snd_soc_component component;\n\tunsigned int flags;\n};\n\nstruct dmaengine_pcm_runtime_data {\n\tstruct dma_chan *dma_chan;\n\tdma_cookie_t cookie;\n\tunsigned int pos;\n};\n\nstruct dmaengine_unmap_data {\n\tu8 map_cnt;\n\tu8 to_cnt;\n\tu8 from_cnt;\n\tu8 bidi_cnt;\n\tstruct device *dev;\n\tstruct kref kref;\n\tsize_t len;\n\tdma_addr_t addr[0];\n};\n\nstruct dmaengine_unmap_pool {\n\tstruct kmem_cache *cache;\n\tconst char *name;\n\tmempool_t *pool;\n\tsize_t size;\n};\n\nstruct dmi_device {\n\tstruct list_head list;\n\tint type;\n\tconst char *name;\n\tvoid *device_data;\n};\n\nstruct dmi_dev_onboard {\n\tstruct dmi_device dev;\n\tint instance;\n\tint segment;\n\tint bus;\n\tint devfn;\n};\n\nstruct dmi_device_attribute {\n\tstruct device_attribute dev_attr;\n\tint field;\n};\n\nstruct dmi_header {\n\tu8 type;\n\tu8 length;\n\tu16 handle;\n};\n\nstruct dmi_memdev_info {\n\tconst char *device;\n\tconst char *bank;\n\tu64 size;\n\tu16 handle;\n\tu8 type;\n};\n\nstruct dmi_strmatch {\n\tunsigned char slot: 7;\n\tunsigned char exact_match: 1;\n\tchar substr[79];\n};\n\nstruct dmi_system_id {\n\tint (*callback)(const struct dmi_system_id *);\n\tconst char *ident;\n\tstruct dmi_strmatch matches[4];\n\tvoid *driver_data;\n};\n\nstruct dnotify_struct;\n\nstruct dnotify_mark {\n\tstruct fsnotify_mark fsn_mark;\n\tstruct dnotify_struct *dn;\n};\n\ntypedef void *fl_owner_t;\n\nstruct dnotify_struct {\n\tstruct dnotify_struct *dn_next;\n\t__u32 dn_mask;\n\tint dn_fd;\n\tstruct file *dn_filp;\n\tfl_owner_t dn_owner;\n};\n\nstruct dns_payload_header {\n\t__u8 zero;\n\t__u8 content;\n\t__u8 version;\n};\n\nstruct dns_server_list_v1_header {\n\tstruct dns_payload_header hdr;\n\t__u8 source;\n\t__u8 status;\n\t__u8 nr_servers;\n};\n\nstruct do_proc_dointvec_minmax_conv_param {\n\tint *min;\n\tint *max;\n};\n\nstruct do_proc_douintvec_minmax_conv_param {\n\tunsigned int *min;\n\tunsigned int *max;\n};\n\nstruct dotl_iattr_map {\n\tint iattr_valid;\n\tint p9_iattr_valid;\n};\n\nstruct dotl_openflag_map {\n\tint open_flag;\n\tint dotl_flag;\n};\n\nstruct double_list {\n\tstruct list_head *top;\n\tstruct list_head *bottom;\n};\n\nstruct dp_sdp_header {\n\tu8 HB0;\n\tu8 HB1;\n\tu8 HB2;\n\tu8 HB3;\n};\n\nstruct dp_sdp {\n\tstruct dp_sdp_header sdp_header;\n\tu8 db[32];\n};\n\nstruct dql {\n\tunsigned int num_queued;\n\tunsigned int adj_limit;\n\tunsigned int last_obj_cnt;\n\tshort unsigned int stall_thrs;\n\tlong unsigned int history_head;\n\tlong unsigned int history[4];\n\tlong: 64;\n\tunsigned int limit;\n\tunsigned int num_completed;\n\tunsigned int prev_ovlimit;\n\tunsigned int prev_num_queued;\n\tunsigned int prev_last_obj_cnt;\n\tunsigned int lowest_slack;\n\tlong unsigned int slack_start_time;\n\tunsigned int max_limit;\n\tunsigned int min_limit;\n\tunsigned int slack_hold_time;\n\tshort unsigned int stall_max;\n\tlong unsigned int last_reap;\n\tlong unsigned int stall_cnt;\n};\n\nstruct kqid {\n\tunion {\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t\tkprojid_t projid;\n\t};\n\tenum quota_type type;\n};\n\nstruct mem_dqblk {\n\tqsize_t dqb_bhardlimit;\n\tqsize_t dqb_bsoftlimit;\n\tqsize_t dqb_curspace;\n\tqsize_t dqb_rsvspace;\n\tqsize_t dqb_ihardlimit;\n\tqsize_t dqb_isoftlimit;\n\tqsize_t dqb_curinodes;\n\ttime64_t dqb_btime;\n\ttime64_t dqb_itime;\n};\n\nstruct dquot {\n\tstruct hlist_node dq_hash;\n\tstruct list_head dq_inuse;\n\tstruct list_head dq_free;\n\tstruct list_head dq_dirty;\n\tstruct mutex dq_lock;\n\tspinlock_t dq_dqb_lock;\n\tatomic_t dq_count;\n\tstruct super_block *dq_sb;\n\tstruct kqid dq_id;\n\tloff_t dq_off;\n\tlong unsigned int dq_flags;\n\tstruct mem_dqblk dq_dqb;\n};\n\nstruct dquot_operations {\n\tint (*write_dquot)(struct dquot *);\n\tstruct dquot * (*alloc_dquot)(struct super_block *, int);\n\tvoid (*destroy_dquot)(struct dquot *);\n\tint (*acquire_dquot)(struct dquot *);\n\tint (*release_dquot)(struct dquot *);\n\tint (*mark_dirty)(struct dquot *);\n\tint (*write_info)(struct super_block *, int);\n\tqsize_t * (*get_reserved_space)(struct inode *);\n\tint (*get_projid)(struct inode *, kprojid_t *);\n\tint (*get_inode_usage)(struct inode *, qsize_t *);\n\tint (*get_next_id)(struct super_block *, struct kqid *);\n};\n\nstruct driver_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct device_driver *, char *);\n\tssize_t (*store)(struct device_driver *, const char *, size_t);\n};\n\nstruct module_kobject;\n\nstruct driver_private {\n\tstruct kobject kobj;\n\tstruct klist klist_devices;\n\tstruct klist_node knode_bus;\n\tstruct module_kobject *mkobj;\n\tstruct device_driver *driver;\n};\n\nstruct drm_dsc_rc_range_parameters {\n\tu8 range_min_qp;\n\tu8 range_max_qp;\n\tu8 range_bpg_offset;\n};\n\nstruct drm_dsc_config {\n\tu8 line_buf_depth;\n\tu8 bits_per_component;\n\tbool convert_rgb;\n\tu8 slice_count;\n\tu16 slice_width;\n\tu16 slice_height;\n\tbool simple_422;\n\tu16 pic_width;\n\tu16 pic_height;\n\tu8 rc_tgt_offset_high;\n\tu8 rc_tgt_offset_low;\n\tu16 bits_per_pixel;\n\tu8 rc_edge_factor;\n\tu8 rc_quant_incr_limit1;\n\tu8 rc_quant_incr_limit0;\n\tu16 initial_xmit_delay;\n\tu16 initial_dec_delay;\n\tbool block_pred_enable;\n\tu8 first_line_bpg_offset;\n\tu16 initial_offset;\n\tu16 rc_buf_thresh[14];\n\tstruct drm_dsc_rc_range_parameters rc_range_params[15];\n\tu16 rc_model_size;\n\tu8 flatness_min_qp;\n\tu8 flatness_max_qp;\n\tu8 initial_scale_value;\n\tu16 scale_decrement_interval;\n\tu16 scale_increment_interval;\n\tu16 nfl_bpg_offset;\n\tu16 slice_bpg_offset;\n\tu16 final_offset;\n\tbool vbr_enable;\n\tu8 mux_word_size;\n\tu16 slice_chunk_size;\n\tu16 rc_bits;\n\tu8 dsc_version_minor;\n\tu8 dsc_version_major;\n\tbool native_422;\n\tbool native_420;\n\tu8 second_line_bpg_offset;\n\tu16 nsl_bpg_offset;\n\tu16 second_line_offset_adj;\n};\n\nstruct drm_dsc_picture_parameter_set {\n\tu8 dsc_version;\n\tu8 pps_identifier;\n\tu8 pps_reserved;\n\tu8 pps_3;\n\tu8 pps_4;\n\tu8 bits_per_pixel_low;\n\t__be16 pic_height;\n\t__be16 pic_width;\n\t__be16 slice_height;\n\t__be16 slice_width;\n\t__be16 chunk_size;\n\tu8 initial_xmit_delay_high;\n\tu8 initial_xmit_delay_low;\n\t__be16 initial_dec_delay;\n\tu8 pps20_reserved;\n\tu8 initial_scale_value;\n\t__be16 scale_increment_interval;\n\tu8 scale_decrement_interval_high;\n\tu8 scale_decrement_interval_low;\n\tu8 pps26_reserved;\n\tu8 first_line_bpg_offset;\n\t__be16 nfl_bpg_offset;\n\t__be16 slice_bpg_offset;\n\t__be16 initial_offset;\n\t__be16 final_offset;\n\tu8 flatness_min_qp;\n\tu8 flatness_max_qp;\n\t__be16 rc_model_size;\n\tu8 rc_edge_factor;\n\tu8 rc_quant_incr_limit0;\n\tu8 rc_quant_incr_limit1;\n\tu8 rc_tgt_offset;\n\tu8 rc_buf_thresh[14];\n\t__be16 rc_range_parameters[15];\n\tu8 native_422_420;\n\tu8 second_line_bpg_offset;\n\t__be16 nsl_bpg_offset;\n\t__be16 second_line_offset_adj;\n\tu32 pps_long_94_reserved;\n\tu32 pps_long_98_reserved;\n\tu32 pps_long_102_reserved;\n\tu32 pps_long_106_reserved;\n\tu32 pps_long_110_reserved;\n\tu32 pps_long_114_reserved;\n\tu32 pps_long_118_reserved;\n\tu32 pps_long_122_reserved;\n\t__be16 pps_short_126_reserved;\n} __attribute__((packed));\n\nstruct drop_reason_list {\n\tconst char * const *reasons;\n\tsize_t n_reasons;\n};\n\nstruct pci_driver;\n\nstruct pci_dev;\n\nstruct pci_device_id;\n\nstruct drv_dev_and_id {\n\tstruct pci_driver *drv;\n\tstruct pci_dev *dev;\n\tconst struct pci_device_id *id;\n};\n\nstruct dst_cache_pcpu;\n\nstruct dst_cache {\n\tstruct dst_cache_pcpu *cache;\n\tlong unsigned int reset_ts;\n};\n\nstruct in_addr {\n\t__be32 s_addr;\n};\n\nstruct dst_cache_pcpu {\n\tlong unsigned int refresh_ts;\n\tstruct dst_entry *dst;\n\tu32 cookie;\n\tunion {\n\t\tstruct in_addr in_saddr;\n\t\tstruct in6_addr in6_saddr;\n\t};\n};\n\nstruct dst_ops;\n\nstruct xfrm_state;\n\nstruct uncached_list;\n\nstruct lwtunnel_state;\n\nstruct dst_entry {\n\tstruct net_device *dev;\n\tstruct dst_ops *ops;\n\tlong unsigned int _metrics;\n\tlong unsigned int expires;\n\tstruct xfrm_state *xfrm;\n\tint (*input)(struct sk_buff *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tshort unsigned int flags;\n\tshort int obsolete;\n\tshort unsigned int header_len;\n\tshort unsigned int trailer_len;\n\trcuref_t __rcuref;\n\tint __use;\n\tlong unsigned int lastuse;\n\tstruct callback_head callback_head;\n\tshort int error;\n\tshort int __pad;\n\t__u32 tclassid;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head rt_uncached;\n\tstruct uncached_list *rt_uncached_list;\n\tstruct lwtunnel_state *lwtstate;\n};\n\nstruct dst_metrics {\n\tu32 metrics[17];\n\trefcount_t refcnt;\n};\n\nstruct neighbour;\n\nstruct dst_ops {\n\tshort unsigned int family;\n\tunsigned int gc_thresh;\n\tvoid (*gc)(struct dst_ops *);\n\tstruct dst_entry * (*check)(struct dst_entry *, __u32);\n\tunsigned int (*default_advmss)(const struct dst_entry *);\n\tunsigned int (*mtu)(const struct dst_entry *);\n\tu32 * (*cow_metrics)(struct dst_entry *, long unsigned int);\n\tvoid (*destroy)(struct dst_entry *);\n\tvoid (*ifdown)(struct dst_entry *, struct net_device *);\n\tvoid (*negative_advice)(struct sock *, struct dst_entry *);\n\tvoid (*link_failure)(struct sk_buff *);\n\tvoid (*update_pmtu)(struct dst_entry *, struct sock *, struct sk_buff *, u32, bool);\n\tvoid (*redirect)(struct dst_entry *, struct sock *, struct sk_buff *);\n\tint (*local_out)(struct net *, struct sock *, struct sk_buff *);\n\tstruct neighbour * (*neigh_lookup)(const struct dst_entry *, struct sk_buff *, const void *);\n\tvoid (*confirm_neigh)(const struct dst_entry *, const void *);\n\tstruct kmem_cache *kmem_cachep;\n\tstruct percpu_counter pcpuc_entries;\n\tlong: 64;\n};\n\nstruct uart_8250_port;\n\nstruct uart_8250_dma {\n\tint (*tx_dma)(struct uart_8250_port *);\n\tint (*rx_dma)(struct uart_8250_port *);\n\tvoid (*prepare_tx_dma)(struct uart_8250_port *);\n\tvoid (*prepare_rx_dma)(struct uart_8250_port *);\n\tdma_filter_fn fn;\n\tvoid *rx_param;\n\tvoid *tx_param;\n\tstruct dma_slave_config rxconf;\n\tstruct dma_slave_config txconf;\n\tstruct dma_chan *rxchan;\n\tstruct dma_chan *txchan;\n\tphys_addr_t rx_dma_addr;\n\tphys_addr_t tx_dma_addr;\n\tdma_addr_t rx_addr;\n\tdma_addr_t tx_addr;\n\tdma_cookie_t rx_cookie;\n\tdma_cookie_t tx_cookie;\n\tvoid *rx_buf;\n\tsize_t rx_size;\n\tsize_t tx_size;\n\tunsigned char tx_running;\n\tunsigned char tx_err;\n\tunsigned char rx_running;\n};\n\nstruct dw8250_port_data {\n\tint line;\n\tstruct uart_8250_dma dma;\n\tu32 cpr_value;\n\tu8 dlf_size;\n\tbool hw_rs485_support;\n};\n\nstruct dw8250_platform_data;\n\nstruct dw8250_data {\n\tstruct dw8250_port_data data;\n\tconst struct dw8250_platform_data *pdata;\n\tint msr_mask_on;\n\tint msr_mask_off;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct notifier_block clk_notifier;\n\tstruct work_struct clk_work;\n\tstruct reset_control *rst;\n\tunsigned int skip_autocfg: 1;\n\tunsigned int uart_16550_compatible: 1;\n};\n\nstruct dw8250_platform_data {\n\tu8 usr_reg;\n\tu32 cpr_value;\n\tunsigned int quirks;\n};\n\nstruct dw_axi_dma_hcfg;\n\nstruct dw_axi_dma {\n\tstruct dma_device dma;\n\tstruct dw_axi_dma_hcfg *hdata;\n\tstruct device_dma_parameters dma_parms;\n\tstruct axi_dma_chan *chan;\n};\n\nstruct dw_axi_dma_hcfg {\n\tu32 nr_channels;\n\tu32 nr_masters;\n\tu32 m_data_width;\n\tu32 block_size[32];\n\tu32 priority[32];\n\tu32 axi_rw_burst_len;\n\tbool reg_map_8_channels;\n\tbool restrict_axi_burst_len;\n\tbool use_cfg2;\n};\n\nstruct dw_edma_region {\n\tu64 paddr;\n\tunion {\n\t\tvoid *mem;\n\t\tvoid *io;\n\t} vaddr;\n\tsize_t sz;\n};\n\nstruct dw_edma;\n\nstruct dw_edma_plat_ops;\n\nstruct dw_edma_chip {\n\tstruct device *dev;\n\tint nr_irqs;\n\tconst struct dw_edma_plat_ops *ops;\n\tu32 flags;\n\tvoid *reg_base;\n\tu16 ll_wr_cnt;\n\tu16 ll_rd_cnt;\n\tstruct dw_edma_region ll_region_wr[8];\n\tstruct dw_edma_region ll_region_rd[8];\n\tstruct dw_edma_region dt_region_wr[8];\n\tstruct dw_edma_region dt_region_rd[8];\n\tenum dw_edma_map_format mf;\n\tstruct dw_edma *dw;\n};\n\nstruct dw_edma_plat_ops {\n\tint (*irq_vector)(struct device *, unsigned int);\n\tu64 (*pci_address)(struct device *, phys_addr_t);\n};\n\nstruct rt_mutex_base {\n\traw_spinlock_t wait_lock;\n\tstruct rb_root_cached waiters;\n\tstruct task_struct *owner;\n};\n\nstruct rt_mutex {\n\tstruct rt_mutex_base rtmutex;\n};\n\nstruct i2c_algorithm;\n\nstruct i2c_lock_operations;\n\nstruct i2c_bus_recovery_info;\n\nstruct i2c_adapter_quirks;\n\nstruct i2c_adapter {\n\tstruct module *owner;\n\tunsigned int class;\n\tconst struct i2c_algorithm *algo;\n\tvoid *algo_data;\n\tconst struct i2c_lock_operations *lock_ops;\n\tstruct rt_mutex bus_lock;\n\tstruct rt_mutex mux_lock;\n\tint timeout;\n\tint retries;\n\tstruct device dev;\n\tlong unsigned int locked_flags;\n\tint nr;\n\tchar name[48];\n\tstruct completion dev_released;\n\tstruct mutex userspace_clients_lock;\n\tstruct list_head userspace_clients;\n\tstruct i2c_bus_recovery_info *bus_recovery_info;\n\tconst struct i2c_adapter_quirks *quirks;\n\tstruct irq_domain *host_notify_domain;\n\tstruct regulator *bus_regulator;\n\tstruct dentry *debugfs;\n\tlong unsigned int addrs_in_instantiation[2];\n};\n\nstruct i2c_timings {\n\tu32 bus_freq_hz;\n\tu32 scl_rise_ns;\n\tu32 scl_fall_ns;\n\tu32 scl_int_delay_ns;\n\tu32 sda_fall_ns;\n\tu32 sda_hold_ns;\n\tu32 digital_filter_width_ns;\n\tu32 analog_filter_cutoff_freq_hz;\n};\n\nstruct i2c_bus_recovery_info {\n\tint (*recover_bus)(struct i2c_adapter *);\n\tint (*get_scl)(struct i2c_adapter *);\n\tvoid (*set_scl)(struct i2c_adapter *, int);\n\tint (*get_sda)(struct i2c_adapter *);\n\tvoid (*set_sda)(struct i2c_adapter *, int);\n\tint (*get_bus_free)(struct i2c_adapter *);\n\tvoid (*prepare_recovery)(struct i2c_adapter *);\n\tvoid (*unprepare_recovery)(struct i2c_adapter *);\n\tstruct gpio_desc *scl_gpiod;\n\tstruct gpio_desc *sda_gpiod;\n\tstruct pinctrl *pinctrl;\n\tstruct pinctrl_state *pins_default;\n\tstruct pinctrl_state *pins_gpio;\n};\n\nstruct i2c_client;\n\nstruct i2c_msg;\n\nstruct dw_i2c_dev {\n\tstruct device *dev;\n\tstruct regmap *map;\n\tstruct regmap *sysmap;\n\tvoid *base;\n\tvoid *ext;\n\tstruct completion cmd_complete;\n\tstruct clk *clk;\n\tstruct clk *pclk;\n\tstruct reset_control *rst;\n\tstruct i2c_client *slave;\n\tu32 (*get_clk_rate_khz)(struct dw_i2c_dev *);\n\tint cmd_err;\n\tstruct i2c_msg *msgs;\n\tint msgs_num;\n\tint msg_write_idx;\n\tu32 tx_buf_len;\n\tu8 *tx_buf;\n\tint msg_read_idx;\n\tu32 rx_buf_len;\n\tu8 *rx_buf;\n\tint msg_err;\n\tunsigned int status;\n\tunsigned int abort_source;\n\tunsigned int sw_mask;\n\tint irq;\n\tu32 flags;\n\tstruct i2c_adapter adapter;\n\tu32 functionality;\n\tu32 master_cfg;\n\tu32 slave_cfg;\n\tunsigned int tx_fifo_depth;\n\tunsigned int rx_fifo_depth;\n\tint rx_outstanding;\n\tstruct i2c_timings timings;\n\tu32 sda_hold_time;\n\tu16 ss_hcnt;\n\tu16 ss_lcnt;\n\tu16 fs_hcnt;\n\tu16 fs_lcnt;\n\tu16 fp_hcnt;\n\tu16 fp_lcnt;\n\tu16 hs_hcnt;\n\tu16 hs_lcnt;\n\tint (*acquire_lock)(void);\n\tvoid (*release_lock)(void);\n\tint semaphore_idx;\n\tbool shared_with_punit;\n\tint (*init)(struct dw_i2c_dev *);\n\tint (*set_sda_hold_time)(struct dw_i2c_dev *);\n\tint mode;\n\tstruct i2c_bus_recovery_info rinfo;\n\tu32 bus_capacitance_pF;\n\tbool clk_freq_optimized;\n};\n\nstruct sg_page_iter {\n\tstruct scatterlist *sg;\n\tunsigned int sg_pgoffset;\n\tunsigned int __nents;\n\tint __pg_advance;\n};\n\nstruct sg_mapping_iter {\n\tstruct page *page;\n\tvoid *addr;\n\tsize_t length;\n\tsize_t consumed;\n\tstruct sg_page_iter piter;\n\tunsigned int __offset;\n\tunsigned int __remaining;\n\tunsigned int __flags;\n};\n\nstruct mmc_data;\n\nstruct uhs2_command;\n\nstruct mmc_command {\n\tu32 opcode;\n\tu32 arg;\n\tu32 resp[4];\n\tunsigned int flags;\n\tunsigned int retries;\n\tint error;\n\tunsigned int busy_timeout;\n\tstruct mmc_data *data;\n\tstruct mmc_request *mrq;\n\tstruct uhs2_command *uhs2_cmd;\n\tbool has_ext_addr;\n\tu8 ext_addr;\n};\n\nstruct dw_mci_dma_ops;\n\nstruct dw_mci_dma_slave;\n\nstruct dw_mci_board;\n\nstruct dw_mci_drv_data;\n\nstruct dw_mci_slot;\n\nstruct dw_mci {\n\tspinlock_t lock;\n\tspinlock_t irq_lock;\n\tvoid *regs;\n\tvoid *fifo_reg;\n\tu32 data_addr_override;\n\tbool wm_aligned;\n\tstruct scatterlist *sg;\n\tstruct sg_mapping_iter sg_miter;\n\tstruct mmc_request *mrq;\n\tstruct mmc_command *cmd;\n\tstruct mmc_data *data;\n\tstruct mmc_command stop_abort;\n\tunsigned int prev_blksz;\n\tunsigned char timing;\n\tint use_dma;\n\tint using_dma;\n\tint dma_64bit_address;\n\tdma_addr_t sg_dma;\n\tvoid *sg_cpu;\n\tconst struct dw_mci_dma_ops *dma_ops;\n\tunsigned int ring_size;\n\tstruct dw_mci_dma_slave *dms;\n\tresource_size_t phy_regs;\n\tu32 cmd_status;\n\tu32 data_status;\n\tu32 stop_cmdr;\n\tu32 dir_status;\n\tstruct work_struct bh_work;\n\tlong unsigned int pending_events;\n\tlong unsigned int completed_events;\n\tenum dw_mci_state state;\n\tstruct list_head queue;\n\tu32 bus_hz;\n\tu32 current_speed;\n\tu32 minimum_speed;\n\tu32 fifoth_val;\n\tu16 verid;\n\tstruct device *dev;\n\tstruct dw_mci_board *pdata;\n\tconst struct dw_mci_drv_data *drv_data;\n\tvoid *priv;\n\tstruct clk *biu_clk;\n\tstruct clk *ciu_clk;\n\tstruct dw_mci_slot *slot;\n\tint fifo_depth;\n\tint data_shift;\n\tu8 part_buf_start;\n\tu8 part_buf_count;\n\tunion {\n\t\tu16 part_buf16;\n\t\tu32 part_buf32;\n\t\tu64 part_buf;\n\t};\n\tvoid (*push_data)(struct dw_mci *, void *, int);\n\tvoid (*pull_data)(struct dw_mci *, void *, int);\n\tu32 quirks;\n\tbool vqmmc_enabled;\n\tlong unsigned int irq_flags;\n\tint irq;\n\tint sdio_id0;\n\tstruct timer_list cmd11_timer;\n\tstruct timer_list cto_timer;\n\tstruct timer_list dto_timer;\n};\n\nstruct dma_pdata;\n\nstruct dw_mci_board {\n\tunsigned int bus_hz;\n\tu32 caps;\n\tu32 caps2;\n\tu32 pm_caps;\n\tunsigned int fifo_depth;\n\tu32 detect_delay_ms;\n\tstruct reset_control *rstc;\n\tstruct dw_mci_dma_ops *dma_ops;\n\tstruct dma_pdata *data;\n};\n\nstruct dw_mci_dma_ops {\n\tint (*init)(struct dw_mci *);\n\tint (*start)(struct dw_mci *, unsigned int);\n\tvoid (*complete)(void *);\n\tvoid (*stop)(struct dw_mci *);\n\tvoid (*cleanup)(struct dw_mci *);\n\tvoid (*exit)(struct dw_mci *);\n};\n\nstruct dw_mci_dma_slave {\n\tstruct dma_chan *ch;\n\tenum dma_transfer_direction direction;\n};\n\nstruct mmc_ios;\n\nstruct dw_mci_drv_data {\n\tlong unsigned int *caps;\n\tu32 num_caps;\n\tu32 common_caps;\n\tint (*init)(struct dw_mci *);\n\tvoid (*set_ios)(struct dw_mci *, struct mmc_ios *);\n\tint (*parse_dt)(struct dw_mci *);\n\tint (*execute_tuning)(struct dw_mci_slot *, u32);\n\tint (*prepare_hs400_tuning)(struct dw_mci *, struct mmc_ios *);\n\tint (*switch_voltage)(struct mmc_host *, struct mmc_ios *);\n\tvoid (*set_data_timeout)(struct dw_mci *, unsigned int);\n\tu32 (*get_drto_clks)(struct dw_mci *);\n\tvoid (*hw_reset)(struct dw_mci *);\n};\n\nstruct dw_mci_slot {\n\tstruct mmc_host *mmc;\n\tstruct dw_mci *host;\n\tu32 ctype;\n\tstruct mmc_request *mrq;\n\tstruct list_head queue_node;\n\tunsigned int clock;\n\tunsigned int __clk_old;\n\tlong unsigned int flags;\n\tint id;\n\tint sdio_id;\n};\n\nstruct dw_pcie_host_ops;\n\nstruct irq_chip;\n\nstruct pci_host_bridge;\n\nstruct dw_pcie_rp {\n\tbool has_msi_ctrl: 1;\n\tbool cfg0_io_shared: 1;\n\tu64 cfg0_base;\n\tvoid *va_cfg0_base;\n\tu32 cfg0_size;\n\tresource_size_t io_base;\n\tphys_addr_t io_bus_addr;\n\tu32 io_size;\n\tint irq;\n\tconst struct dw_pcie_host_ops *ops;\n\tint msi_irq[8];\n\tstruct irq_domain *irq_domain;\n\tstruct irq_domain *msi_domain;\n\tdma_addr_t msi_data;\n\tstruct irq_chip *msi_irq_chip;\n\tu32 num_vectors;\n\tu32 irq_mask[8];\n\tstruct pci_host_bridge *bridge;\n\traw_spinlock_t lock;\n\tlong unsigned int msi_irq_in_use[4];\n\tbool use_atu_msg;\n\tint msg_atu_index;\n\tstruct resource *msg_res;\n\tbool use_linkup_irq;\n};\n\nstruct pci_epc;\n\nstruct dw_pcie_ep_ops;\n\nstruct pci_epf_bar;\n\nstruct dw_pcie_ep {\n\tstruct pci_epc *epc;\n\tstruct list_head func_list;\n\tconst struct dw_pcie_ep_ops *ops;\n\tphys_addr_t phys_base;\n\tsize_t addr_size;\n\tsize_t page_size;\n\tu8 bar_to_atu[6];\n\tphys_addr_t *outbound_addr;\n\tlong unsigned int *ib_window_map;\n\tlong unsigned int *ob_window_map;\n\tvoid *msi_mem;\n\tphys_addr_t msi_mem_phys;\n\tstruct pci_epf_bar *epf_bar[6];\n};\n\nstruct reset_control_bulk_data {\n\tconst char *id;\n\tstruct reset_control *rstc;\n};\n\nstruct dw_pcie_ops;\n\nstruct dw_pcie {\n\tstruct device *dev;\n\tvoid *dbi_base;\n\tresource_size_t dbi_phys_addr;\n\tvoid *dbi_base2;\n\tvoid *atu_base;\n\tresource_size_t atu_phys_addr;\n\tsize_t atu_size;\n\tu32 num_ib_windows;\n\tu32 num_ob_windows;\n\tu32 region_align;\n\tu64 region_limit;\n\tstruct dw_pcie_rp pp;\n\tstruct dw_pcie_ep ep;\n\tconst struct dw_pcie_ops *ops;\n\tu32 version;\n\tu32 type;\n\tlong unsigned int caps;\n\tint num_lanes;\n\tint max_link_speed;\n\tu8 n_fts[2];\n\tstruct dw_edma_chip edma;\n\tstruct clk_bulk_data app_clks[3];\n\tstruct clk_bulk_data core_clks[4];\n\tstruct reset_control_bulk_data app_rsts[3];\n\tstruct reset_control_bulk_data core_rsts[7];\n\tstruct gpio_desc *pe_rst;\n\tbool suspended;\n};\n\nstruct pci_epc_features;\n\nstruct dw_pcie_ep_ops {\n\tvoid (*pre_init)(struct dw_pcie_ep *);\n\tvoid (*init)(struct dw_pcie_ep *);\n\tint (*raise_irq)(struct dw_pcie_ep *, u8, unsigned int, u16);\n\tconst struct pci_epc_features * (*get_features)(struct dw_pcie_ep *);\n\tunsigned int (*get_dbi_offset)(struct dw_pcie_ep *, u8);\n\tunsigned int (*get_dbi2_offset)(struct dw_pcie_ep *, u8);\n};\n\nstruct dw_pcie_host_ops {\n\tint (*init)(struct dw_pcie_rp *);\n\tvoid (*deinit)(struct dw_pcie_rp *);\n\tvoid (*post_init)(struct dw_pcie_rp *);\n\tint (*msi_init)(struct dw_pcie_rp *);\n\tvoid (*pme_turn_off)(struct dw_pcie_rp *);\n};\n\nstruct dw_pcie_ob_atu_cfg {\n\tint index;\n\tint type;\n\tu8 func_no;\n\tu8 code;\n\tu8 routing;\n\tu64 cpu_addr;\n\tu64 pci_addr;\n\tu64 size;\n};\n\nstruct dw_pcie_ops {\n\tu64 (*cpu_addr_fixup)(struct dw_pcie *, u64);\n\tu32 (*read_dbi)(struct dw_pcie *, void *, u32, size_t);\n\tvoid (*write_dbi)(struct dw_pcie *, void *, u32, size_t, u32);\n\tvoid (*write_dbi2)(struct dw_pcie *, void *, u32, size_t, u32);\n\tint (*link_up)(struct dw_pcie *);\n\tenum dw_pcie_ltssm (*get_ltssm)(struct dw_pcie *);\n\tint (*start_link)(struct dw_pcie *);\n\tvoid (*stop_link)(struct dw_pcie *);\n};\n\nstruct dwapb_context {\n\tu32 data;\n\tu32 dir;\n\tu32 ext;\n\tu32 int_en;\n\tu32 int_mask;\n\tu32 int_type;\n\tu32 int_pol;\n\tu32 int_deb;\n\tu32 wake_en;\n};\n\nstruct dwapb_gpio_port;\n\nstruct dwapb_gpio {\n\tstruct device *dev;\n\tvoid *regs;\n\tstruct dwapb_gpio_port *ports;\n\tunsigned int nr_ports;\n\tunsigned int flags;\n\tstruct reset_control *rst;\n\tstruct clk_bulk_data clks[2];\n};\n\nstruct irq_data;\n\nstruct irq_domain_ops {\n\tint (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token);\n\tint (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token);\n\tint (*map)(struct irq_domain *, unsigned int, irq_hw_number_t);\n\tvoid (*unmap)(struct irq_domain *, unsigned int);\n\tint (*xlate)(struct irq_domain *, struct device_node *, const u32 *, unsigned int, long unsigned int *, unsigned int *);\n\tint (*alloc)(struct irq_domain *, unsigned int, unsigned int, void *);\n\tvoid (*free)(struct irq_domain *, unsigned int, unsigned int);\n\tint (*activate)(struct irq_domain *, struct irq_data *, bool);\n\tvoid (*deactivate)(struct irq_domain *, struct irq_data *);\n\tint (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *);\n};\n\nstruct irq_desc;\n\ntypedef void (*irq_flow_handler_t)(struct irq_desc *);\n\nunion gpio_irq_fwspec;\n\nstruct gpio_irq_chip {\n\tstruct irq_chip *chip;\n\tstruct irq_domain *domain;\n\tstruct fwnode_handle *fwnode;\n\tstruct irq_domain *parent_domain;\n\tint (*child_to_parent_hwirq)(struct gpio_chip *, unsigned int, unsigned int, unsigned int *, unsigned int *);\n\tint (*populate_parent_alloc_arg)(struct gpio_chip *, union gpio_irq_fwspec *, unsigned int, unsigned int);\n\tunsigned int (*child_offset_to_irq)(struct gpio_chip *, unsigned int);\n\tstruct irq_domain_ops child_irq_domain_ops;\n\tirq_flow_handler_t handler;\n\tunsigned int default_type;\n\tstruct lock_class_key *lock_key;\n\tstruct lock_class_key *request_key;\n\tirq_flow_handler_t parent_handler;\n\tunion {\n\t\tvoid *parent_handler_data;\n\t\tvoid **parent_handler_data_array;\n\t};\n\tunsigned int num_parents;\n\tunsigned int *parents;\n\tunsigned int *map;\n\tbool threaded;\n\tbool per_parent_data;\n\tbool initialized;\n\tbool domain_is_allocated_externally;\n\tint (*init_hw)(struct gpio_chip *);\n\tvoid (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int);\n\tlong unsigned int *valid_mask;\n\tunsigned int first;\n\tvoid (*irq_enable)(struct irq_data *);\n\tvoid (*irq_disable)(struct irq_data *);\n\tvoid (*irq_unmask)(struct irq_data *);\n\tvoid (*irq_mask)(struct irq_data *);\n};\n\nstruct gpio_device;\n\nstruct gpio_chip {\n\tconst char *label;\n\tstruct gpio_device *gpiodev;\n\tstruct device *parent;\n\tstruct fwnode_handle *fwnode;\n\tstruct module *owner;\n\tint (*request)(struct gpio_chip *, unsigned int);\n\tvoid (*free)(struct gpio_chip *, unsigned int);\n\tint (*get_direction)(struct gpio_chip *, unsigned int);\n\tint (*direction_input)(struct gpio_chip *, unsigned int);\n\tint (*direction_output)(struct gpio_chip *, unsigned int, int);\n\tint (*get)(struct gpio_chip *, unsigned int);\n\tint (*get_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *);\n\tvoid (*set)(struct gpio_chip *, unsigned int, int);\n\tvoid (*set_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *);\n\tint (*set_config)(struct gpio_chip *, unsigned int, long unsigned int);\n\tint (*to_irq)(struct gpio_chip *, unsigned int);\n\tvoid (*dbg_show)(struct seq_file *, struct gpio_chip *);\n\tint (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int);\n\tint (*add_pin_ranges)(struct gpio_chip *);\n\tint (*en_hw_timestamp)(struct gpio_chip *, u32, long unsigned int);\n\tint (*dis_hw_timestamp)(struct gpio_chip *, u32, long unsigned int);\n\tint base;\n\tu16 ngpio;\n\tu16 offset;\n\tconst char * const *names;\n\tbool can_sleep;\n\tlong unsigned int (*read_reg)(void *);\n\tvoid (*write_reg)(void *, long unsigned int);\n\tbool be_bits;\n\tvoid *reg_dat;\n\tvoid *reg_set;\n\tvoid *reg_clr;\n\tvoid *reg_dir_out;\n\tvoid *reg_dir_in;\n\tbool bgpio_dir_unreadable;\n\tint bgpio_bits;\n\traw_spinlock_t bgpio_lock;\n\tlong unsigned int bgpio_data;\n\tlong unsigned int bgpio_dir;\n\tstruct gpio_irq_chip irq;\n\tlong unsigned int *valid_mask;\n\tunsigned int of_gpio_n_cells;\n\tint (*of_xlate)(struct gpio_chip *, const struct of_phandle_args *, u32 *);\n};\n\nstruct dwapb_gpio_port_irqchip;\n\nstruct dwapb_gpio_port {\n\tstruct gpio_chip gc;\n\tstruct dwapb_gpio_port_irqchip *pirq;\n\tstruct dwapb_gpio *gpio;\n\tstruct dwapb_context *ctx;\n\tunsigned int idx;\n};\n\nstruct dwapb_gpio_port_irqchip {\n\tunsigned int nr_irqs;\n\tunsigned int irq[32];\n};\n\nstruct dwapb_port_property;\n\nstruct dwapb_platform_data {\n\tstruct dwapb_port_property *properties;\n\tunsigned int nports;\n};\n\nstruct dwapb_port_property {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int idx;\n\tunsigned int ngpio;\n\tunsigned int gpio_base;\n\tint irq[32];\n};\n\nstruct sdhci_ops;\n\nstruct sdhci_pltfm_data {\n\tconst struct sdhci_ops *ops;\n\tunsigned int quirks;\n\tunsigned int quirks2;\n};\n\nstruct sdhci_host;\n\nstruct dwcmshc_priv;\n\nstruct dwcmshc_pltfm_data {\n\tconst struct sdhci_pltfm_data pdata;\n\tint (*init)(struct device *, struct sdhci_host *, struct dwcmshc_priv *);\n\tvoid (*postinit)(struct sdhci_host *, struct dwcmshc_priv *);\n};\n\nstruct dwcmshc_priv {\n\tstruct clk *bus_clk;\n\tint vendor_specific_area1;\n\tint vendor_specific_area2;\n\tint num_other_clks;\n\tstruct clk_bulk_data other_clks[3];\n\tvoid *priv;\n\tu16 delay_line;\n\tu16 flags;\n};\n\nstruct dx_countlimit {\n\t__le16 limit;\n\t__le16 count;\n};\n\nstruct dx_entry {\n\t__le32 hash;\n\t__le32 block;\n};\n\nstruct dx_frame {\n\tstruct buffer_head *bh;\n\tstruct dx_entry *entries;\n\tstruct dx_entry *at;\n};\n\nstruct dx_hash_info {\n\tu32 hash;\n\tu32 minor_hash;\n\tint hash_version;\n\tu32 *seed;\n};\n\nstruct dx_map_entry {\n\tu32 hash;\n\tu16 offs;\n\tu16 size;\n};\n\nstruct fake_dirent {\n\t__le32 inode;\n\t__le16 rec_len;\n\tu8 name_len;\n\tu8 file_type;\n};\n\nstruct dx_node {\n\tstruct fake_dirent fake;\n\tstruct dx_entry entries[0];\n};\n\nstruct dx_root_info {\n\t__le32 reserved_zero;\n\tu8 hash_version;\n\tu8 info_length;\n\tu8 indirect_levels;\n\tu8 unused_flags;\n};\n\nstruct dx_root {\n\tstruct fake_dirent dot;\n\tchar dot_name[4];\n\tstruct fake_dirent dotdot;\n\tchar dotdot_name[4];\n\tstruct dx_root_info info;\n\tstruct dx_entry entries[0];\n};\n\nstruct dx_tail {\n\tu32 dt_reserved;\n\t__le32 dt_checksum;\n};\n\nstruct dyn_event_operations;\n\nstruct dyn_event {\n\tstruct list_head list;\n\tstruct dyn_event_operations *ops;\n};\n\nstruct dyn_event_operations {\n\tstruct list_head list;\n\tint (*create)(const char *);\n\tint (*show)(struct seq_file *, struct dyn_event *);\n\tbool (*is_busy)(struct dyn_event *);\n\tint (*free)(struct dyn_event *);\n\tbool (*match)(const char *, const char *, int, const char **, struct dyn_event *);\n};\n\nstruct dynevent_arg {\n\tconst char *str;\n\tchar separator;\n};\n\nstruct dynevent_arg_pair {\n\tconst char *lhs;\n\tconst char *rhs;\n\tchar operator;\n\tchar separator;\n};\n\nstruct seq_buf {\n\tchar *buffer;\n\tsize_t size;\n\tsize_t len;\n};\n\nstruct dynevent_cmd;\n\ntypedef int (*dynevent_create_fn_t)(struct dynevent_cmd *);\n\nstruct dynevent_cmd {\n\tstruct seq_buf seq;\n\tconst char *event_name;\n\tunsigned int n_fields;\n\tenum dynevent_type type;\n\tdynevent_create_fn_t run_command;\n\tvoid *private_data;\n};\n\nstruct gro_list {\n\tstruct list_head list;\n\tint count;\n};\n\nstruct napi_config;\n\nstruct napi_struct {\n\tstruct list_head poll_list;\n\tlong unsigned int state;\n\tint weight;\n\tu32 defer_hard_irqs_count;\n\tlong unsigned int gro_bitmask;\n\tint (*poll)(struct napi_struct *, int);\n\tint list_owner;\n\tstruct net_device *dev;\n\tstruct gro_list gro_hash[8];\n\tstruct sk_buff *skb;\n\tstruct list_head rx_list;\n\tint rx_count;\n\tunsigned int napi_id;\n\tstruct hrtimer timer;\n\tstruct task_struct *thread;\n\tlong unsigned int gro_flush_timeout;\n\tlong unsigned int irq_suspend_timeout;\n\tu32 defer_hard_irqs;\n\tstruct list_head dev_list;\n\tstruct hlist_node napi_hash_node;\n\tint irq;\n\tint index;\n\tstruct napi_config *config;\n};\n\nstruct e1000_hw;\n\nstruct e1000_mac_operations {\n\ts32 (*id_led_init)(struct e1000_hw *);\n\ts32 (*blink_led)(struct e1000_hw *);\n\tbool (*check_mng_mode)(struct e1000_hw *);\n\ts32 (*check_for_link)(struct e1000_hw *);\n\ts32 (*cleanup_led)(struct e1000_hw *);\n\tvoid (*clear_hw_cntrs)(struct e1000_hw *);\n\tvoid (*clear_vfta)(struct e1000_hw *);\n\ts32 (*get_bus_info)(struct e1000_hw *);\n\tvoid (*set_lan_id)(struct e1000_hw *);\n\ts32 (*get_link_up_info)(struct e1000_hw *, u16 *, u16 *);\n\ts32 (*led_on)(struct e1000_hw *);\n\ts32 (*led_off)(struct e1000_hw *);\n\tvoid (*update_mc_addr_list)(struct e1000_hw *, u8 *, u32);\n\ts32 (*reset_hw)(struct e1000_hw *);\n\ts32 (*init_hw)(struct e1000_hw *);\n\ts32 (*setup_link)(struct e1000_hw *);\n\ts32 (*setup_physical_interface)(struct e1000_hw *);\n\ts32 (*setup_led)(struct e1000_hw *);\n\tvoid (*write_vfta)(struct e1000_hw *, u32, u32);\n\tvoid (*config_collision_dist)(struct e1000_hw *);\n\tint (*rar_set)(struct e1000_hw *, u8 *, u32);\n\ts32 (*read_mac_addr)(struct e1000_hw *);\n\tu32 (*rar_get_count)(struct e1000_hw *);\n};\n\nstruct e1000_mac_info {\n\tstruct e1000_mac_operations ops;\n\tu8 addr[6];\n\tu8 perm_addr[6];\n\tenum e1000_mac_type type;\n\tu32 collision_delta;\n\tu32 ledctl_default;\n\tu32 ledctl_mode1;\n\tu32 ledctl_mode2;\n\tu32 mc_filter_type;\n\tu32 tx_packet_delta;\n\tu32 txcw;\n\tu16 current_ifs_val;\n\tu16 ifs_max_val;\n\tu16 ifs_min_val;\n\tu16 ifs_ratio;\n\tu16 ifs_step_size;\n\tu16 mta_reg_count;\n\tu32 mta_shadow[128];\n\tu16 rar_entry_count;\n\tu8 forced_speed_duplex;\n\tbool adaptive_ifs;\n\tbool has_fwsm;\n\tbool arc_subsystem_valid;\n\tbool autoneg;\n\tbool autoneg_failed;\n\tbool get_link_status;\n\tbool in_ifs_mode;\n\tbool serdes_has_link;\n\tbool tx_pkt_filtering;\n\tenum e1000_serdes_link_state serdes_link_state;\n};\n\nstruct e1000_fc_info {\n\tu32 high_water;\n\tu32 low_water;\n\tu16 pause_time;\n\tu16 refresh_time;\n\tbool send_xon;\n\tbool strict_ieee;\n\tenum e1000_fc_mode current_mode;\n\tenum e1000_fc_mode requested_mode;\n};\n\nstruct e1000_phy_operations {\n\ts32 (*acquire)(struct e1000_hw *);\n\ts32 (*cfg_on_link_up)(struct e1000_hw *);\n\ts32 (*check_polarity)(struct e1000_hw *);\n\ts32 (*check_reset_block)(struct e1000_hw *);\n\ts32 (*commit)(struct e1000_hw *);\n\ts32 (*force_speed_duplex)(struct e1000_hw *);\n\ts32 (*get_cfg_done)(struct e1000_hw *);\n\ts32 (*get_cable_length)(struct e1000_hw *);\n\ts32 (*get_info)(struct e1000_hw *);\n\ts32 (*set_page)(struct e1000_hw *, u16);\n\ts32 (*read_reg)(struct e1000_hw *, u32, u16 *);\n\ts32 (*read_reg_locked)(struct e1000_hw *, u32, u16 *);\n\ts32 (*read_reg_page)(struct e1000_hw *, u32, u16 *);\n\tvoid (*release)(struct e1000_hw *);\n\ts32 (*reset)(struct e1000_hw *);\n\ts32 (*set_d0_lplu_state)(struct e1000_hw *, bool);\n\ts32 (*set_d3_lplu_state)(struct e1000_hw *, bool);\n\ts32 (*write_reg)(struct e1000_hw *, u32, u16);\n\ts32 (*write_reg_locked)(struct e1000_hw *, u32, u16);\n\ts32 (*write_reg_page)(struct e1000_hw *, u32, u16);\n\tvoid (*power_up)(struct e1000_hw *);\n\tvoid (*power_down)(struct e1000_hw *);\n};\n\nstruct e1000_phy_info {\n\tstruct e1000_phy_operations ops;\n\tenum e1000_phy_type type;\n\tenum e1000_1000t_rx_status local_rx;\n\tenum e1000_1000t_rx_status remote_rx;\n\tenum e1000_ms_type ms_type;\n\tenum e1000_ms_type original_ms_type;\n\tenum e1000_rev_polarity cable_polarity;\n\tenum e1000_smart_speed smart_speed;\n\tu32 addr;\n\tu32 id;\n\tu32 reset_delay_us;\n\tu32 revision;\n\tu32 retry_count;\n\tenum e1000_media_type media_type;\n\tu16 autoneg_advertised;\n\tu16 autoneg_mask;\n\tu16 cable_length;\n\tu16 max_cable_length;\n\tu16 min_cable_length;\n\tu8 mdix;\n\tbool disable_polarity_correction;\n\tbool is_mdix;\n\tbool polarity_correction;\n\tbool speed_downgraded;\n\tbool autoneg_wait_to_complete;\n\tbool retry_enabled;\n};\n\nstruct e1000_nvm_operations {\n\ts32 (*acquire)(struct e1000_hw *);\n\ts32 (*read)(struct e1000_hw *, u16, u16, u16 *);\n\tvoid (*release)(struct e1000_hw *);\n\tvoid (*reload)(struct e1000_hw *);\n\ts32 (*update)(struct e1000_hw *);\n\ts32 (*valid_led_default)(struct e1000_hw *, u16 *);\n\ts32 (*validate)(struct e1000_hw *);\n\ts32 (*write)(struct e1000_hw *, u16, u16, u16 *);\n};\n\nstruct e1000_nvm_info {\n\tstruct e1000_nvm_operations ops;\n\tenum e1000_nvm_type type;\n\tenum e1000_nvm_override override;\n\tu32 flash_bank_size;\n\tu32 flash_base_addr;\n\tu16 word_size;\n\tu16 delay_usec;\n\tu16 address_bits;\n\tu16 opcode_bits;\n\tu16 page_size;\n};\n\nstruct e1000_bus_info {\n\tenum e1000_bus_width width;\n\tu16 func;\n};\n\nstruct e1000_host_mng_dhcp_cookie {\n\tu32 signature;\n\tu8 status;\n\tu8 reserved0;\n\tu16 vlan_id;\n\tu32 reserved1;\n\tu16 reserved2;\n\tu8 reserved3;\n\tu8 checksum;\n};\n\nstruct e1000_dev_spec_82571 {\n\tbool laa_is_present;\n\tu32 smb_counter;\n};\n\nstruct e1000_dev_spec_80003es2lan {\n\tbool mdic_wa_enable;\n};\n\nstruct e1000_shadow_ram {\n\tu16 value;\n\tbool modified;\n};\n\nstruct e1000_dev_spec_ich8lan {\n\tbool kmrn_lock_loss_workaround_enabled;\n\tstruct e1000_shadow_ram shadow_ram[2048];\n\tbool nvm_k1_enabled;\n\tbool eee_disable;\n\tu16 eee_lp_ability;\n\tenum e1000_ulp_state ulp_state;\n};\n\nstruct e1000_adapter;\n\nstruct e1000_hw {\n\tstruct e1000_adapter *adapter;\n\tvoid *hw_addr;\n\tvoid *flash_address;\n\tstruct e1000_mac_info mac;\n\tstruct e1000_fc_info fc;\n\tstruct e1000_phy_info phy;\n\tstruct e1000_nvm_info nvm;\n\tstruct e1000_bus_info bus;\n\tstruct e1000_host_mng_dhcp_cookie mng_cookie;\n\tunion {\n\t\tstruct e1000_dev_spec_82571 e82571;\n\t\tstruct e1000_dev_spec_80003es2lan e80003es2lan;\n\t\tstruct e1000_dev_spec_ich8lan ich8lan;\n\t} dev_spec;\n};\n\nstruct e1000_hw_stats {\n\tu64 crcerrs;\n\tu64 algnerrc;\n\tu64 symerrs;\n\tu64 rxerrc;\n\tu64 mpc;\n\tu64 scc;\n\tu64 ecol;\n\tu64 mcc;\n\tu64 latecol;\n\tu64 colc;\n\tu64 dc;\n\tu64 tncrs;\n\tu64 sec;\n\tu64 cexterr;\n\tu64 rlec;\n\tu64 xonrxc;\n\tu64 xontxc;\n\tu64 xoffrxc;\n\tu64 xofftxc;\n\tu64 fcruc;\n\tu64 prc64;\n\tu64 prc127;\n\tu64 prc255;\n\tu64 prc511;\n\tu64 prc1023;\n\tu64 prc1522;\n\tu64 gprc;\n\tu64 bprc;\n\tu64 mprc;\n\tu64 gptc;\n\tu64 gorc;\n\tu64 gotc;\n\tu64 rnbc;\n\tu64 ruc;\n\tu64 rfc;\n\tu64 roc;\n\tu64 rjc;\n\tu64 mgprc;\n\tu64 mgpdc;\n\tu64 mgptc;\n\tu64 tor;\n\tu64 tot;\n\tu64 tpr;\n\tu64 tpt;\n\tu64 ptc64;\n\tu64 ptc127;\n\tu64 ptc255;\n\tu64 ptc511;\n\tu64 ptc1023;\n\tu64 ptc1522;\n\tu64 mptc;\n\tu64 bptc;\n\tu64 tsctc;\n\tu64 tsctfc;\n\tu64 iac;\n\tu64 icrxptc;\n\tu64 icrxatc;\n\tu64 ictxptc;\n\tu64 ictxatc;\n\tu64 ictxqec;\n\tu64 ictxqmtc;\n\tu64 icrxdmtc;\n\tu64 icrxoc;\n};\n\nstruct e1000_phy_stats {\n\tu32 idle_errors;\n\tu32 receive_errors;\n};\n\nstruct e1000_phy_regs {\n\tu16 bmcr;\n\tu16 bmsr;\n\tu16 advertise;\n\tu16 lpa;\n\tu16 expansion;\n\tu16 ctrl1000;\n\tu16 stat1000;\n\tu16 estatus;\n};\n\nstruct e1000_buffer;\n\nstruct e1000_ring {\n\tstruct e1000_adapter *adapter;\n\tvoid *desc;\n\tdma_addr_t dma;\n\tunsigned int size;\n\tunsigned int count;\n\tu16 next_to_use;\n\tu16 next_to_clean;\n\tvoid *head;\n\tvoid *tail;\n\tstruct e1000_buffer *buffer_info;\n\tchar name[21];\n\tu32 ims_val;\n\tu32 itr_val;\n\tvoid *itr_register;\n\tint set_itr;\n\tstruct sk_buff *rx_skb_top;\n};\n\nstruct hwtstamp_config {\n\tint flags;\n\tint tx_type;\n\tint rx_filter;\n};\n\nstruct timecounter {\n\tconst struct cyclecounter *cc;\n\tu64 cycle_last;\n\tu64 nsec;\n\tu64 mask;\n\tu64 frac;\n};\n\nstruct ptp_clock;\n\nstruct ptp_pin_desc;\n\nstruct ptp_system_timestamp;\n\nstruct system_device_crosststamp;\n\nstruct ptp_clock_request;\n\nstruct ptp_clock_info {\n\tstruct module *owner;\n\tchar name[32];\n\ts32 max_adj;\n\tint n_alarm;\n\tint n_ext_ts;\n\tint n_per_out;\n\tint n_pins;\n\tint pps;\n\tstruct ptp_pin_desc *pin_config;\n\tint (*adjfine)(struct ptp_clock_info *, long int);\n\tint (*adjphase)(struct ptp_clock_info *, s32);\n\ts32 (*getmaxphase)(struct ptp_clock_info *);\n\tint (*adjtime)(struct ptp_clock_info *, s64);\n\tint (*gettime64)(struct ptp_clock_info *, struct timespec64 *);\n\tint (*gettimex64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *);\n\tint (*getcrosststamp)(struct ptp_clock_info *, struct system_device_crosststamp *);\n\tint (*settime64)(struct ptp_clock_info *, const struct timespec64 *);\n\tint (*getcycles64)(struct ptp_clock_info *, struct timespec64 *);\n\tint (*getcyclesx64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *);\n\tint (*getcrosscycles)(struct ptp_clock_info *, struct system_device_crosststamp *);\n\tint (*enable)(struct ptp_clock_info *, struct ptp_clock_request *, int);\n\tint (*verify)(struct ptp_clock_info *, unsigned int, enum ptp_pin_function, unsigned int);\n\tlong int (*do_aux_work)(struct ptp_clock_info *);\n};\n\nstruct pm_qos_request {\n\tstruct plist_node node;\n\tstruct pm_qos_constraints *qos;\n};\n\nstruct e1000_info;\n\nstruct msix_entry;\n\nstruct e1000_adapter {\n\tstruct timer_list watchdog_timer;\n\tstruct timer_list phy_info_timer;\n\tstruct timer_list blink_timer;\n\tstruct work_struct reset_task;\n\tstruct work_struct watchdog_task;\n\tconst struct e1000_info *ei;\n\tlong unsigned int active_vlans[64];\n\tu32 bd_number;\n\tu32 rx_buffer_len;\n\tu16 mng_vlan_id;\n\tu16 link_speed;\n\tu16 link_duplex;\n\tu16 eeprom_vers;\n\tlong unsigned int state;\n\tu32 itr;\n\tu32 itr_setting;\n\tu16 tx_itr;\n\tu16 rx_itr;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct e1000_ring *tx_ring;\n\tu32 tx_fifo_limit;\n\tstruct napi_struct napi;\n\tunsigned int uncorr_errors;\n\tunsigned int corr_errors;\n\tunsigned int restart_queue;\n\tu32 txd_cmd;\n\tbool detect_tx_hung;\n\tbool tx_hang_recheck;\n\tu8 tx_timeout_factor;\n\tu32 tx_int_delay;\n\tu32 tx_abs_int_delay;\n\tunsigned int total_tx_bytes;\n\tunsigned int total_tx_packets;\n\tunsigned int total_rx_bytes;\n\tunsigned int total_rx_packets;\n\tu64 tpt_old;\n\tu64 colc_old;\n\tu32 gotc;\n\tu64 gotc_old;\n\tu32 tx_timeout_count;\n\tu32 tx_fifo_head;\n\tu32 tx_head_addr;\n\tu32 tx_fifo_size;\n\tu32 tx_dma_failed;\n\tu32 tx_hwtstamp_timeouts;\n\tu32 tx_hwtstamp_skipped;\n\tlong: 64;\n\tlong: 64;\n\tbool (*clean_rx)(struct e1000_ring *, int *, int);\n\tvoid (*alloc_rx_buf)(struct e1000_ring *, int, gfp_t);\n\tstruct e1000_ring *rx_ring;\n\tu32 rx_int_delay;\n\tu32 rx_abs_int_delay;\n\tu64 hw_csum_err;\n\tu64 hw_csum_good;\n\tu64 rx_hdr_split;\n\tu32 gorc;\n\tu64 gorc_old;\n\tu32 alloc_rx_buff_failed;\n\tu32 rx_dma_failed;\n\tu32 rx_hwtstamp_cleared;\n\tunsigned int rx_ps_pages;\n\tu16 rx_ps_bsize0;\n\tu32 max_frame_size;\n\tu32 min_frame_size;\n\tstruct net_device *netdev;\n\tstruct pci_dev *pdev;\n\tstruct e1000_hw hw;\n\tspinlock_t stats64_lock;\n\tstruct e1000_hw_stats stats;\n\tstruct e1000_phy_info phy_info;\n\tstruct e1000_phy_stats phy_stats;\n\tstruct e1000_phy_regs phy_regs;\n\tstruct e1000_ring test_tx_ring;\n\tstruct e1000_ring test_rx_ring;\n\tu32 test_icr;\n\tu32 msg_enable;\n\tunsigned int num_vectors;\n\tstruct msix_entry *msix_entries;\n\tint int_mode;\n\tu32 eiac_mask;\n\tu32 eeprom_wol;\n\tu32 wol;\n\tu32 pba;\n\tu32 max_hw_frame_size;\n\tbool fc_autoneg;\n\tunsigned int flags;\n\tunsigned int flags2;\n\tstruct work_struct downshift_task;\n\tstruct work_struct update_phy_task;\n\tstruct work_struct print_hang_task;\n\tint phy_hang_count;\n\tu16 tx_ring_count;\n\tu16 rx_ring_count;\n\tstruct hwtstamp_config hwtstamp_config;\n\tstruct delayed_work systim_overflow_work;\n\tstruct sk_buff *tx_hwtstamp_skb;\n\tlong unsigned int tx_hwtstamp_start;\n\tstruct work_struct tx_hwtstamp_work;\n\tspinlock_t systim_lock;\n\tstruct cyclecounter cc;\n\tstruct timecounter tc;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct pm_qos_request pm_qos_req;\n\tlong int ptp_delta;\n\tu16 eee_advert;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct e1000_ps_page;\n\nstruct e1000_buffer {\n\tdma_addr_t dma;\n\tstruct sk_buff *skb;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int time_stamp;\n\t\t\tu16 length;\n\t\t\tu16 next_to_watch;\n\t\t\tunsigned int segs;\n\t\t\tunsigned int bytecount;\n\t\t\tu16 mapped_as_page;\n\t\t};\n\t\tstruct {\n\t\t\tstruct e1000_ps_page *ps_pages;\n\t\t\tstruct page *page;\n\t\t};\n\t};\n};\n\nstruct e1000_context_desc {\n\tunion {\n\t\t__le32 ip_config;\n\t\tstruct {\n\t\t\tu8 ipcss;\n\t\t\tu8 ipcso;\n\t\t\t__le16 ipcse;\n\t\t} ip_fields;\n\t} lower_setup;\n\tunion {\n\t\t__le32 tcp_config;\n\t\tstruct {\n\t\t\tu8 tucss;\n\t\t\tu8 tucso;\n\t\t\t__le16 tucse;\n\t\t} tcp_fields;\n\t} upper_setup;\n\t__le32 cmd_and_length;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\tu8 status;\n\t\t\tu8 hdr_len;\n\t\t\t__le16 mss;\n\t\t} fields;\n\t} tcp_seg_setup;\n};\n\nstruct e1000_host_mng_command_header {\n\tu8 command_id;\n\tu8 checksum;\n\tu16 reserved1;\n\tu16 reserved2;\n\tu16 command_length;\n};\n\nstruct e1000_info {\n\tenum e1000_mac_type mac;\n\tunsigned int flags;\n\tunsigned int flags2;\n\tu32 pba;\n\tu32 max_hw_frame_size;\n\ts32 (*get_variants)(struct e1000_adapter *);\n\tconst struct e1000_mac_operations *mac_ops;\n\tconst struct e1000_phy_operations *phy_ops;\n\tconst struct e1000_nvm_operations *nvm_ops;\n};\n\nstruct e1000_opt_list {\n\tint i;\n\tchar *str;\n};\n\nstruct e1000_option {\n\tenum {\n\t\tenable_option = 0,\n\t\trange_option = 1,\n\t\tlist_option = 2,\n\t} type;\n\tconst char *name;\n\tconst char *err;\n\tint def;\n\tunion {\n\t\tstruct {\n\t\t\tint min;\n\t\t\tint max;\n\t\t} r;\n\t\tstruct {\n\t\t\tint nr;\n\t\t\tstruct e1000_opt_list *p;\n\t\t} l;\n\t} arg;\n};\n\nstruct e1000_ps_page {\n\tstruct page *page;\n\tu64 dma;\n};\n\nstruct e1000_reg_info {\n\tu32 ofs;\n\tchar *name;\n};\n\nunion e1000_rx_desc_extended {\n\tstruct {\n\t\t__le64 buffer_addr;\n\t\t__le64 reserved;\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\t__le32 mrq;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length;\n\t\t\t__le16 vlan;\n\t\t} upper;\n\t} wb;\n};\n\nunion e1000_rx_desc_packet_split {\n\tstruct {\n\t\t__le64 buffer_addr[4];\n\t} read;\n\tstruct {\n\t\tstruct {\n\t\t\t__le32 mrq;\n\t\t\tunion {\n\t\t\t\t__le32 rss;\n\t\t\t\tstruct {\n\t\t\t\t\t__le16 ip_id;\n\t\t\t\t\t__le16 csum;\n\t\t\t\t} csum_ip;\n\t\t\t} hi_dword;\n\t\t} lower;\n\t\tstruct {\n\t\t\t__le32 status_error;\n\t\t\t__le16 length0;\n\t\t\t__le16 vlan;\n\t\t} middle;\n\t\tstruct {\n\t\t\t__le16 header_status;\n\t\t\t__le16 length[3];\n\t\t} upper;\n\t\t__le64 reserved;\n\t} wb;\n};\n\nstruct e1000_stats {\n\tchar stat_string[32];\n\tint type;\n\tint sizeof_stat;\n\tint stat_offset;\n};\n\nstruct e1000_tx_desc {\n\t__le64 buffer_addr;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\t__le16 length;\n\t\t\tu8 cso;\n\t\t\tu8 cmd;\n\t\t} flags;\n\t} lower;\n\tunion {\n\t\t__le32 data;\n\t\tstruct {\n\t\t\tu8 status;\n\t\t\tu8 css;\n\t\t\t__le16 special;\n\t\t} fields;\n\t} upper;\n};\n\nstruct usb_device;\n\nstruct each_dev_arg {\n\tvoid *data;\n\tint (*fn)(struct usb_device *, void *);\n};\n\nstruct uart_icount {\n\t__u32 cts;\n\t__u32 dsr;\n\t__u32 rng;\n\t__u32 dcd;\n\t__u32 rx;\n\t__u32 tx;\n\t__u32 frame;\n\t__u32 overrun;\n\t__u32 parity;\n\t__u32 brk;\n\t__u32 buf_overrun;\n};\n\nstruct serial_rs485 {\n\t__u32 flags;\n\t__u32 delay_rts_before_send;\n\t__u32 delay_rts_after_send;\n\tunion {\n\t\t__u32 padding[5];\n\t\tstruct {\n\t\t\t__u8 addr_recv;\n\t\t\t__u8 addr_dest;\n\t\t\t__u8 padding0[2];\n\t\t\t__u32 padding1[4];\n\t\t};\n\t};\n};\n\nstruct serial_iso7816 {\n\t__u32 flags;\n\t__u32 tg;\n\t__u32 sc_fi;\n\t__u32 sc_di;\n\t__u32 clk;\n\t__u32 reserved[5];\n};\n\nstruct ktermios;\n\nstruct uart_state;\n\nstruct uart_ops;\n\nstruct serial_port_device;\n\nstruct uart_port {\n\tspinlock_t lock;\n\tlong unsigned int iobase;\n\tunsigned char *membase;\n\tunsigned int (*serial_in)(struct uart_port *, int);\n\tvoid (*serial_out)(struct uart_port *, int, int);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tvoid (*set_mctrl)(struct uart_port *, unsigned int);\n\tunsigned int (*get_divisor)(struct uart_port *, unsigned int, unsigned int *);\n\tvoid (*set_divisor)(struct uart_port *, unsigned int, unsigned int, unsigned int);\n\tint (*startup)(struct uart_port *);\n\tvoid (*shutdown)(struct uart_port *);\n\tvoid (*throttle)(struct uart_port *);\n\tvoid (*unthrottle)(struct uart_port *);\n\tint (*handle_irq)(struct uart_port *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tvoid (*handle_break)(struct uart_port *);\n\tint (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *);\n\tint (*iso7816_config)(struct uart_port *, struct serial_iso7816 *);\n\tunsigned int ctrl_id;\n\tunsigned int port_id;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tunsigned int uartclk;\n\tunsigned int fifosize;\n\tunsigned char x_char;\n\tunsigned char regshift;\n\tunsigned char iotype;\n\tunsigned char quirks;\n\tunsigned int read_status_mask;\n\tunsigned int ignore_status_mask;\n\tstruct uart_state *state;\n\tstruct uart_icount icount;\n\tstruct console *cons;\n\tupf_t flags;\n\tupstat_t status;\n\tbool hw_stopped;\n\tunsigned int mctrl;\n\tunsigned int frame_time;\n\tunsigned int type;\n\tconst struct uart_ops *ops;\n\tunsigned int custom_divisor;\n\tunsigned int line;\n\tunsigned int minor;\n\tresource_size_t mapbase;\n\tresource_size_t mapsize;\n\tstruct device *dev;\n\tstruct serial_port_device *port_dev;\n\tlong unsigned int sysrq;\n\tu8 sysrq_ch;\n\tunsigned char has_sysrq;\n\tunsigned char sysrq_seq;\n\tunsigned char hub6;\n\tunsigned char suspended;\n\tunsigned char console_reinit;\n\tconst char *name;\n\tstruct attribute_group *attr_group;\n\tconst struct attribute_group **tty_groups;\n\tstruct serial_rs485 rs485;\n\tstruct serial_rs485 rs485_supported;\n\tstruct gpio_desc *rs485_term_gpio;\n\tstruct gpio_desc *rs485_rx_during_tx_gpio;\n\tstruct serial_iso7816 iso7816;\n\tvoid *private_data;\n};\n\nstruct earlycon_device {\n\tstruct console *con;\n\tstruct uart_port port;\n\tchar options[32];\n\tunsigned int baud;\n};\n\nstruct earlycon_id {\n\tchar name[15];\n\tchar name_term;\n\tchar compatible[128];\n\tint (*setup)(struct earlycon_device *, const char *);\n};\n\nstruct ebitmap_node {\n\tstruct ebitmap_node *next;\n\tlong unsigned int maps[6];\n\tu32 startbit;\n};\n\nstruct td;\n\nstruct ed {\n\t__hc32 hwINFO;\n\t__hc32 hwTailP;\n\t__hc32 hwHeadP;\n\t__hc32 hwNextED;\n\tdma_addr_t dma;\n\tstruct td *dummy;\n\tstruct ed *ed_next;\n\tstruct ed *ed_prev;\n\tstruct list_head td_list;\n\tstruct list_head in_use_list;\n\tu8 state;\n\tu8 type;\n\tu8 branch;\n\tu16 interval;\n\tu16 load;\n\tu16 last_iso;\n\tu16 tick;\n\tunsigned int takeback_wdh_cnt;\n\tstruct td *pending_td;\n\tlong: 64;\n};\n\nstruct eee_config {\n\tu32 tx_lpi_timer;\n\tbool tx_lpi_enabled;\n\tbool eee_enabled;\n};\n\nstruct ethtool_keee {\n\tlong unsigned int supported[2];\n\tlong unsigned int advertised[2];\n\tlong unsigned int lp_advertised[2];\n\tu32 tx_lpi_timer;\n\tbool tx_lpi_enabled;\n\tbool eee_active;\n\tbool eee_enabled;\n};\n\nstruct eee_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_keee eee;\n};\n\nstruct eeprom_93cx6 {\n\tvoid *data;\n\tvoid (*register_read)(struct eeprom_93cx6 *);\n\tvoid (*register_write)(struct eeprom_93cx6 *);\n\tint width;\n\tunsigned int quirks;\n\tchar drive_data;\n\tchar reg_data_in;\n\tchar reg_data_out;\n\tchar reg_data_clock;\n\tchar reg_chip_select;\n};\n\nstruct eeprom_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 length;\n\tu8 *data;\n};\n\nstruct ethnl_req_info {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu32 flags;\n\tu32 phy_index;\n};\n\nstruct eeprom_req_info {\n\tstruct ethnl_req_info base;\n\tu32 offset;\n\tu32 length;\n\tu8 page;\n\tu8 bank;\n\tu8 i2c_address;\n};\n\nstruct efi_memory_map {\n\tphys_addr_t phys_map;\n\tvoid *map;\n\tvoid *map_end;\n\tint nr_map;\n\tlong unsigned int desc_version;\n\tlong unsigned int desc_size;\n\tlong unsigned int flags;\n};\n\nstruct efi {\n\tconst efi_runtime_services_t *runtime;\n\tunsigned int runtime_version;\n\tunsigned int runtime_supported_mask;\n\tlong unsigned int acpi;\n\tlong unsigned int acpi20;\n\tlong unsigned int smbios;\n\tlong unsigned int smbios3;\n\tlong unsigned int esrt;\n\tlong unsigned int tpm_log;\n\tlong unsigned int tpm_final_log;\n\tlong unsigned int mokvar_table;\n\tlong unsigned int coco_secret;\n\tlong unsigned int unaccepted;\n\tefi_get_time_t *get_time;\n\tefi_set_time_t *set_time;\n\tefi_get_wakeup_time_t *get_wakeup_time;\n\tefi_set_wakeup_time_t *set_wakeup_time;\n\tefi_get_variable_t *get_variable;\n\tefi_get_next_variable_t *get_next_variable;\n\tefi_set_variable_t *set_variable;\n\tefi_set_variable_t *set_variable_nonblocking;\n\tefi_query_variable_info_t *query_variable_info;\n\tefi_query_variable_info_t *query_variable_info_nonblocking;\n\tefi_update_capsule_t *update_capsule;\n\tefi_query_capsule_caps_t *query_capsule_caps;\n\tefi_get_next_high_mono_count_t *get_next_high_mono_count;\n\tefi_reset_system_t *reset_system;\n\tstruct efi_memory_map memmap;\n\tlong unsigned int flags;\n};\n\nstruct efi_boot_memmap {\n\tlong unsigned int map_size;\n\tlong unsigned int desc_size;\n\tu32 desc_ver;\n\tlong unsigned int map_key;\n\tlong unsigned int buff_size;\n\tefi_memory_desc_t map[0];\n};\n\ntypedef void *efi_event_t;\n\ntypedef void (*efi_event_notify_t)(efi_event_t, void *);\n\nunion efi_boot_services {\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tvoid *raise_tpl;\n\t\tvoid *restore_tpl;\n\t\tefi_status_t (*allocate_pages)(int, int, long unsigned int, efi_physical_addr_t *);\n\t\tefi_status_t (*free_pages)(efi_physical_addr_t, long unsigned int);\n\t\tefi_status_t (*get_memory_map)(long unsigned int *, void *, long unsigned int *, long unsigned int *, u32 *);\n\t\tefi_status_t (*allocate_pool)(int, long unsigned int, void **);\n\t\tefi_status_t (*free_pool)(void *);\n\t\tefi_status_t (*create_event)(u32, long unsigned int, efi_event_notify_t, void *, efi_event_t *);\n\t\tefi_status_t (*set_timer)(efi_event_t, EFI_TIMER_DELAY, u64);\n\t\tefi_status_t (*wait_for_event)(long unsigned int, efi_event_t *, long unsigned int *);\n\t\tvoid *signal_event;\n\t\tefi_status_t (*close_event)(efi_event_t);\n\t\tvoid *check_event;\n\t\tvoid *install_protocol_interface;\n\t\tvoid *reinstall_protocol_interface;\n\t\tvoid *uninstall_protocol_interface;\n\t\tefi_status_t (*handle_protocol)(efi_handle_t, efi_guid_t *, void **);\n\t\tvoid *__reserved;\n\t\tvoid *register_protocol_notify;\n\t\tefi_status_t (*locate_handle)(int, efi_guid_t *, void *, long unsigned int *, efi_handle_t *);\n\t\tefi_status_t (*locate_device_path)(efi_guid_t *, efi_device_path_protocol_t **, efi_handle_t *);\n\t\tefi_status_t (*install_configuration_table)(efi_guid_t *, void *);\n\t\tefi_status_t (*load_image)(bool, efi_handle_t, efi_device_path_protocol_t *, void *, long unsigned int, efi_handle_t *);\n\t\tefi_status_t (*start_image)(efi_handle_t, long unsigned int *, efi_char16_t **);\n\t\tefi_status_t (*exit)(efi_handle_t, efi_status_t, long unsigned int, efi_char16_t *);\n\t\tefi_status_t (*unload_image)(efi_handle_t);\n\t\tefi_status_t (*exit_boot_services)(efi_handle_t, long unsigned int);\n\t\tvoid *get_next_monotonic_count;\n\t\tefi_status_t (*stall)(long unsigned int);\n\t\tvoid *set_watchdog_timer;\n\t\tvoid *connect_controller;\n\t\tefi_status_t (*disconnect_controller)(efi_handle_t, efi_handle_t, efi_handle_t);\n\t\tvoid *open_protocol;\n\t\tvoid *close_protocol;\n\t\tvoid *open_protocol_information;\n\t\tvoid *protocols_per_handle;\n\t\tefi_status_t (*locate_handle_buffer)(int, efi_guid_t *, void *, long unsigned int *, efi_handle_t **);\n\t\tefi_status_t (*locate_protocol)(efi_guid_t *, void *, void **);\n\t\tefi_status_t (*install_multiple_protocol_interfaces)(efi_handle_t *, ...);\n\t\tefi_status_t (*uninstall_multiple_protocol_interfaces)(efi_handle_t, ...);\n\t\tvoid *calculate_crc32;\n\t\tvoid (*copy_mem)(void *, const void *, long unsigned int);\n\t\tvoid (*set_mem)(void *, long unsigned int, unsigned char);\n\t\tvoid *create_event_ex;\n\t};\n\tstruct {\n\t\tefi_table_hdr_t hdr;\n\t\tu32 raise_tpl;\n\t\tu32 restore_tpl;\n\t\tu32 allocate_pages;\n\t\tu32 free_pages;\n\t\tu32 get_memory_map;\n\t\tu32 allocate_pool;\n\t\tu32 free_pool;\n\t\tu32 create_event;\n\t\tu32 set_timer;\n\t\tu32 wait_for_event;\n\t\tu32 signal_event;\n\t\tu32 close_event;\n\t\tu32 check_event;\n\t\tu32 install_protocol_interface;\n\t\tu32 reinstall_protocol_interface;\n\t\tu32 uninstall_protocol_interface;\n\t\tu32 handle_protocol;\n\t\tu32 __reserved;\n\t\tu32 register_protocol_notify;\n\t\tu32 locate_handle;\n\t\tu32 locate_device_path;\n\t\tu32 install_configuration_table;\n\t\tu32 load_image;\n\t\tu32 start_image;\n\t\tu32 exit;\n\t\tu32 unload_image;\n\t\tu32 exit_boot_services;\n\t\tu32 get_next_monotonic_count;\n\t\tu32 stall;\n\t\tu32 set_watchdog_timer;\n\t\tu32 connect_controller;\n\t\tu32 disconnect_controller;\n\t\tu32 open_protocol;\n\t\tu32 close_protocol;\n\t\tu32 open_protocol_information;\n\t\tu32 protocols_per_handle;\n\t\tu32 locate_handle_buffer;\n\t\tu32 locate_protocol;\n\t\tu32 install_multiple_protocol_interfaces;\n\t\tu32 uninstall_multiple_protocol_interfaces;\n\t\tu32 calculate_crc32;\n\t\tu32 copy_mem;\n\t\tu32 set_mem;\n\t\tu32 create_event_ex;\n\t} mixed_mode;\n};\n\nstruct efi_cc_event {\n\tu32 event_size;\n\tstruct {\n\t\tu32 header_size;\n\t\tu16 header_version;\n\t\tu32 mr_index;\n\t\tu32 event_type;\n\t} __attribute__((packed)) event_header;\n} __attribute__((packed));\n\ntypedef struct efi_cc_event efi_cc_event_t;\n\nunion efi_cc_protocol;\n\ntypedef union efi_cc_protocol efi_cc_protocol_t;\n\nunion efi_cc_protocol {\n\tstruct {\n\t\tefi_status_t (*get_capability)(efi_cc_protocol_t *, efi_cc_boot_service_cap_t *);\n\t\tefi_status_t (*get_event_log)(efi_cc_protocol_t *, efi_cc_event_log_format_t, efi_physical_addr_t *, efi_physical_addr_t *, efi_bool_t *);\n\t\tefi_status_t (*hash_log_extend_event)(efi_cc_protocol_t *, u64, efi_physical_addr_t, u64, const efi_cc_event_t *);\n\t\tefi_status_t (*map_pcr_to_mr_index)(efi_cc_protocol_t *, u32, efi_cc_mr_index_t *);\n\t};\n\tstruct {\n\t\tu32 get_capability;\n\t\tu32 get_event_log;\n\t\tu32 hash_log_extend_event;\n\t\tu32 map_pcr_to_mr_index;\n\t} mixed_mode;\n};\n\nunion efi_device_path_from_text_protocol {\n\tstruct {\n\t\tefi_device_path_protocol_t * (*convert_text_to_device_node)(const efi_char16_t *);\n\t\tefi_device_path_protocol_t * (*convert_text_to_device_path)(const efi_char16_t *);\n\t};\n\tstruct {\n\t\tu32 convert_text_to_device_node;\n\t\tu32 convert_text_to_device_path;\n\t} mixed_mode;\n};\n\ntypedef union efi_device_path_from_text_protocol efi_device_path_from_text_protocol_t;\n\nstruct efi_generic_dev_path {\n\tu8 type;\n\tu8 sub_type;\n\tu16 length;\n};\n\nstruct efi_file_path_dev_path {\n\tstruct efi_generic_dev_path header;\n\tefi_char16_t filename[0];\n};\n\nunion efi_file_protocol;\n\ntypedef union efi_file_protocol efi_file_protocol_t;\n\nunion efi_file_protocol {\n\tstruct {\n\t\tu64 revision;\n\t\tefi_status_t (*open)(efi_file_protocol_t *, efi_file_protocol_t **, efi_char16_t *, u64, u64);\n\t\tefi_status_t (*close)(efi_file_protocol_t *);\n\t\tefi_status_t (*delete)(efi_file_protocol_t *);\n\t\tefi_status_t (*read)(efi_file_protocol_t *, long unsigned int *, void *);\n\t\tefi_status_t (*write)(efi_file_protocol_t *, long unsigned int, void *);\n\t\tefi_status_t (*get_position)(efi_file_protocol_t *, u64 *);\n\t\tefi_status_t (*set_position)(efi_file_protocol_t *, u64);\n\t\tefi_status_t (*get_info)(efi_file_protocol_t *, efi_guid_t *, long unsigned int *, void *);\n\t\tefi_status_t (*set_info)(efi_file_protocol_t *, efi_guid_t *, long unsigned int, void *);\n\t\tefi_status_t (*flush)(efi_file_protocol_t *);\n\t};\n\tstruct {\n\t\tu64 revision;\n\t\tu32 open;\n\t\tu32 close;\n\t\tu32 delete;\n\t\tu32 read;\n\t\tu32 write;\n\t\tu32 get_position;\n\t\tu32 set_position;\n\t\tu32 get_info;\n\t\tu32 set_info;\n\t\tu32 flush;\n\t} mixed_mode;\n};\n\nunion efi_graphics_output_protocol;\n\ntypedef union efi_graphics_output_protocol efi_graphics_output_protocol_t;\n\nunion efi_graphics_output_protocol_mode;\n\ntypedef union efi_graphics_output_protocol_mode efi_graphics_output_protocol_mode_t;\n\nunion efi_graphics_output_protocol {\n\tstruct {\n\t\tefi_status_t (*query_mode)(efi_graphics_output_protocol_t *, u32, long unsigned int *, efi_graphics_output_mode_info_t **);\n\t\tefi_status_t (*set_mode)(efi_graphics_output_protocol_t *, u32);\n\t\tvoid *blt;\n\t\tefi_graphics_output_protocol_mode_t *mode;\n\t};\n\tstruct {\n\t\tu32 query_mode;\n\t\tu32 set_mode;\n\t\tu32 blt;\n\t\tu32 mode;\n\t} mixed_mode;\n};\n\nunion efi_graphics_output_protocol_mode {\n\tstruct {\n\t\tu32 max_mode;\n\t\tu32 mode;\n\t\tefi_graphics_output_mode_info_t *info;\n\t\tlong unsigned int size_of_info;\n\t\tefi_physical_addr_t frame_buffer_base;\n\t\tlong unsigned int frame_buffer_size;\n\t};\n\tstruct {\n\t\tu32 max_mode;\n\t\tu32 mode;\n\t\tu32 info;\n\t\tu32 size_of_info;\n\t\tu64 frame_buffer_base;\n\t\tu32 frame_buffer_size;\n\t} mixed_mode;\n};\n\nunion efi_load_file_protocol;\n\ntypedef union efi_load_file_protocol efi_load_file_protocol_t;\n\nunion efi_load_file_protocol {\n\tstruct {\n\t\tefi_status_t (*load_file)(efi_load_file_protocol_t *, efi_device_path_protocol_t *, bool, long unsigned int *, void *);\n\t};\n\tstruct {\n\t\tu32 load_file;\n\t} mixed_mode;\n};\n\ntypedef union efi_load_file_protocol efi_load_file2_protocol_t;\n\nunion efi_memory_attribute_protocol;\n\ntypedef union efi_memory_attribute_protocol efi_memory_attribute_protocol_t;\n\nunion efi_memory_attribute_protocol {\n\tstruct {\n\t\tefi_status_t (*get_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64 *);\n\t\tefi_status_t (*set_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64);\n\t\tefi_status_t (*clear_memory_attributes)(efi_memory_attribute_protocol_t *, efi_physical_addr_t, u64, u64);\n\t};\n\tstruct {\n\t\tu32 get_memory_attributes;\n\t\tu32 set_memory_attributes;\n\t\tu32 clear_memory_attributes;\n\t} mixed_mode;\n};\n\nstruct efi_memory_map_data {\n\tphys_addr_t phys_map;\n\tlong unsigned int size;\n\tlong unsigned int desc_version;\n\tlong unsigned int desc_size;\n\tlong unsigned int flags;\n};\n\nunion efi_pci_io_protocol {\n\tstruct {\n\t\tvoid *poll_mem;\n\t\tvoid *poll_io;\n\t\tefi_pci_io_protocol_access_t mem;\n\t\tefi_pci_io_protocol_access_t io;\n\t\tefi_pci_io_protocol_config_access_t pci;\n\t\tvoid *copy_mem;\n\t\tvoid *map;\n\t\tvoid *unmap;\n\t\tvoid *allocate_buffer;\n\t\tvoid *free_buffer;\n\t\tvoid *flush;\n\t\tefi_status_t (*get_location)(efi_pci_io_protocol_t *, long unsigned int *, long unsigned int *, long unsigned int *, long unsigned int *);\n\t\tvoid *attributes;\n\t\tvoid *get_bar_attributes;\n\t\tvoid *set_bar_attributes;\n\t\tuint64_t romsize;\n\t\tvoid *romimage;\n\t};\n\tstruct {\n\t\tu32 poll_mem;\n\t\tu32 poll_io;\n\t\tefi_pci_io_protocol_access_32_t mem;\n\t\tefi_pci_io_protocol_access_32_t io;\n\t\tefi_pci_io_protocol_access_32_t pci;\n\t\tu32 copy_mem;\n\t\tu32 map;\n\t\tu32 unmap;\n\t\tu32 allocate_buffer;\n\t\tu32 free_buffer;\n\t\tu32 flush;\n\t\tu32 get_location;\n\t\tu32 attributes;\n\t\tu32 get_bar_attributes;\n\t\tu32 set_bar_attributes;\n\t\tu64 romsize;\n\t\tu32 romimage;\n\t} mixed_mode;\n};\n\nunion efi_rng_protocol;\n\ntypedef union efi_rng_protocol efi_rng_protocol_t;\n\nunion efi_rng_protocol {\n\tstruct {\n\t\tefi_status_t (*get_info)(efi_rng_protocol_t *, long unsigned int *, efi_guid_t *);\n\t\tefi_status_t (*get_rng)(efi_rng_protocol_t *, efi_guid_t *, long unsigned int, u8 *);\n\t};\n\tstruct {\n\t\tu32 get_info;\n\t\tu32 get_rng;\n\t} mixed_mode;\n};\n\nunion efi_rts_args {\n\tstruct {\n\t\tefi_time_t *time;\n\t\tefi_time_cap_t *capabilities;\n\t} GET_TIME;\n\tstruct {\n\t\tefi_time_t *time;\n\t} SET_TIME;\n\tstruct {\n\t\tefi_bool_t *enabled;\n\t\tefi_bool_t *pending;\n\t\tefi_time_t *time;\n\t} GET_WAKEUP_TIME;\n\tstruct {\n\t\tefi_bool_t enable;\n\t\tefi_time_t *time;\n\t} SET_WAKEUP_TIME;\n\tstruct {\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t\tu32 *attr;\n\t\tlong unsigned int *data_size;\n\t\tvoid *data;\n\t} GET_VARIABLE;\n\tstruct {\n\t\tlong unsigned int *name_size;\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t} GET_NEXT_VARIABLE;\n\tstruct {\n\t\tefi_char16_t *name;\n\t\tefi_guid_t *vendor;\n\t\tu32 attr;\n\t\tlong unsigned int data_size;\n\t\tvoid *data;\n\t} SET_VARIABLE;\n\tstruct {\n\t\tu32 attr;\n\t\tu64 *storage_space;\n\t\tu64 *remaining_space;\n\t\tu64 *max_variable_size;\n\t} QUERY_VARIABLE_INFO;\n\tstruct {\n\t\tu32 *high_count;\n\t} GET_NEXT_HIGH_MONO_COUNT;\n\tstruct {\n\t\tefi_capsule_header_t **capsules;\n\t\tlong unsigned int count;\n\t\tlong unsigned int sg_list;\n\t} UPDATE_CAPSULE;\n\tstruct {\n\t\tefi_capsule_header_t **capsules;\n\t\tlong unsigned int count;\n\t\tu64 *max_size;\n\t\tint *reset_type;\n\t} QUERY_CAPSULE_CAPS;\n\tstruct {\n\t\tefi_status_t (*acpi_prm_handler)(u64, void *);\n\t\tu64 param_buffer_addr;\n\t\tvoid *context;\n\t} ACPI_PRM_HANDLER;\n};\n\nstruct efi_runtime_work {\n\tunion efi_rts_args *args;\n\tefi_status_t status;\n\tstruct work_struct work;\n\tenum efi_rts_ids efi_rts_id;\n\tstruct completion efi_rts_comp;\n\tconst void *caller;\n};\n\nunion efi_simple_file_system_protocol;\n\ntypedef union efi_simple_file_system_protocol efi_simple_file_system_protocol_t;\n\nunion efi_simple_file_system_protocol {\n\tstruct {\n\t\tu64 revision;\n\t\tefi_status_t (*open_volume)(efi_simple_file_system_protocol_t *, efi_file_protocol_t **);\n\t};\n\tstruct {\n\t\tu64 revision;\n\t\tu32 open_volume;\n\t} mixed_mode;\n};\n\nunion efi_simple_text_input_protocol {\n\tstruct {\n\t\tvoid *reset;\n\t\tefi_status_t (*read_keystroke)(efi_simple_text_input_protocol_t *, efi_input_key_t *);\n\t\tefi_event_t wait_for_key;\n\t};\n\tstruct {\n\t\tu32 reset;\n\t\tu32 read_keystroke;\n\t\tu32 wait_for_key;\n\t} mixed_mode;\n};\n\nunion efi_simple_text_output_protocol {\n\tstruct {\n\t\tvoid *reset;\n\t\tefi_status_t (*output_string)(efi_simple_text_output_protocol_t *, efi_char16_t *);\n\t\tvoid *test_string;\n\t};\n\tstruct {\n\t\tu32 reset;\n\t\tu32 output_string;\n\t\tu32 test_string;\n\t} mixed_mode;\n};\n\nstruct efi_system_resource_entry_v1 {\n\tefi_guid_t fw_class;\n\tu32 fw_type;\n\tu32 fw_version;\n\tu32 lowest_supported_fw_version;\n\tu32 capsule_flags;\n\tu32 last_attempt_version;\n\tu32 last_attempt_status;\n};\n\nstruct efi_system_resource_table {\n\tu32 fw_resource_count;\n\tu32 fw_resource_count_max;\n\tu64 fw_resource_version;\n\tu8 entries[0];\n};\n\nstruct efi_tcg2_event {\n\tu32 event_size;\n\tstruct {\n\t\tu32 header_size;\n\t\tu16 header_version;\n\t\tu32 pcr_index;\n\t\tu32 event_type;\n\t} __attribute__((packed)) event_header;\n} __attribute__((packed));\n\ntypedef struct efi_tcg2_event efi_tcg2_event_t;\n\nstruct efi_tcg2_final_events_table {\n\tu64 version;\n\tu64 nr_events;\n\tu8 events[0];\n};\n\nunion efi_tcg2_protocol;\n\ntypedef union efi_tcg2_protocol efi_tcg2_protocol_t;\n\nunion efi_tcg2_protocol {\n\tstruct {\n\t\tvoid *get_capability;\n\t\tefi_status_t (*get_event_log)(efi_tcg2_protocol_t *, efi_tcg2_event_log_format, efi_physical_addr_t *, efi_physical_addr_t *, efi_bool_t *);\n\t\tefi_status_t (*hash_log_extend_event)(efi_tcg2_protocol_t *, u64, efi_physical_addr_t, u64, const efi_tcg2_event_t *);\n\t\tvoid *submit_command;\n\t\tvoid *get_active_pcr_banks;\n\t\tvoid *set_active_pcr_banks;\n\t\tvoid *get_result_of_set_active_pcr_banks;\n\t};\n\tstruct {\n\t\tu32 get_capability;\n\t\tu32 get_event_log;\n\t\tu32 hash_log_extend_event;\n\t\tu32 submit_command;\n\t\tu32 get_active_pcr_banks;\n\t\tu32 set_active_pcr_banks;\n\t\tu32 get_result_of_set_active_pcr_banks;\n\t} mixed_mode;\n};\n\nstruct efi_unaccepted_memory {\n\tu32 version;\n\tu32 unit_size;\n\tu64 phys_base;\n\tu64 size;\n\tlong unsigned int bitmap[0];\n};\n\nstruct efi_vendor_dev_path {\n\tstruct efi_generic_dev_path header;\n\tefi_guid_t vendorguid;\n\tu8 vendordata[0];\n};\n\nunion efistub_event {\n\tefi_tcg2_event_t tcg2_data;\n\tefi_cc_event_t cc_data;\n};\n\nstruct tdTCG_PCClientTaggedEvent {\n\tu32 tagged_event_id;\n\tu32 tagged_event_data_size;\n\tu8 tagged_event_data[0];\n};\n\ntypedef struct tdTCG_PCClientTaggedEvent TCG_PCClientTaggedEvent;\n\nstruct efistub_measured_event {\n\tunion efistub_event event_data;\n\tTCG_PCClientTaggedEvent tagged_event;\n} __attribute__((packed));\n\ntypedef efi_status_t efi_query_variable_store_t(u32, long unsigned int, bool);\n\nstruct efivar_operations {\n\tefi_get_variable_t *get_variable;\n\tefi_get_next_variable_t *get_next_variable;\n\tefi_set_variable_t *set_variable;\n\tefi_set_variable_t *set_variable_nonblocking;\n\tefi_query_variable_store_t *query_variable_store;\n\tefi_query_variable_info_t *query_variable_info;\n};\n\nstruct efivars {\n\tstruct kset *kset;\n\tconst struct efivar_operations *ops;\n};\n\nstruct ehci_caps {\n\tu32 hc_capbase;\n\tu32 hcs_params;\n\tu32 hcc_params;\n\tu8 portroute[8];\n};\n\nstruct ehci_dbg_port {\n\tu32 control;\n\tu32 pids;\n\tu32 data03;\n\tu32 data47;\n\tu32 address;\n};\n\nstruct usb_hcd;\n\nstruct ehci_driver_overrides {\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n\tint (*port_power)(struct usb_hcd *, int, bool);\n};\n\nstruct ehci_qh;\n\nstruct ehci_itd;\n\nstruct ehci_sitd;\n\nstruct ehci_fstn;\n\nunion ehci_shadow {\n\tstruct ehci_qh *qh;\n\tstruct ehci_itd *itd;\n\tstruct ehci_sitd *sitd;\n\tstruct ehci_fstn *fstn;\n\t__le32 *hw_next;\n\tvoid *ptr;\n};\n\nstruct ehci_fstn {\n\t__le32 hw_next;\n\t__le32 hw_prev;\n\tdma_addr_t fstn_dma;\n\tunion ehci_shadow fstn_next;\n\tlong: 64;\n};\n\nstruct ehci_regs;\n\nstruct ehci_hcd {\n\tenum ehci_hrtimer_event next_hrtimer_event;\n\tunsigned int enabled_hrtimer_events;\n\tktime_t hr_timeouts[12];\n\tstruct hrtimer hrtimer;\n\tint PSS_poll_count;\n\tint ASS_poll_count;\n\tint died_poll_count;\n\tstruct ehci_caps *caps;\n\tstruct ehci_regs *regs;\n\tstruct ehci_dbg_port *debug;\n\t__u32 hcs_params;\n\tspinlock_t lock;\n\tenum ehci_rh_state rh_state;\n\tbool scanning: 1;\n\tbool need_rescan: 1;\n\tbool intr_unlinking: 1;\n\tbool iaa_in_progress: 1;\n\tbool async_unlinking: 1;\n\tbool shutdown: 1;\n\tstruct ehci_qh *qh_scan_next;\n\tstruct ehci_qh *async;\n\tstruct ehci_qh *dummy;\n\tstruct list_head async_unlink;\n\tstruct list_head async_idle;\n\tunsigned int async_unlink_cycle;\n\tunsigned int async_count;\n\t__le32 old_current;\n\t__le32 old_token;\n\tunsigned int periodic_size;\n\t__le32 *periodic;\n\tdma_addr_t periodic_dma;\n\tstruct list_head intr_qh_list;\n\tunsigned int i_thresh;\n\tunion ehci_shadow *pshadow;\n\tstruct list_head intr_unlink_wait;\n\tstruct list_head intr_unlink;\n\tunsigned int intr_unlink_wait_cycle;\n\tunsigned int intr_unlink_cycle;\n\tunsigned int now_frame;\n\tunsigned int last_iso_frame;\n\tunsigned int intr_count;\n\tunsigned int isoc_count;\n\tunsigned int periodic_count;\n\tunsigned int uframe_periodic_max;\n\tstruct list_head cached_itd_list;\n\tstruct ehci_itd *last_itd_to_free;\n\tstruct list_head cached_sitd_list;\n\tstruct ehci_sitd *last_sitd_to_free;\n\tlong unsigned int reset_done[15];\n\tlong unsigned int bus_suspended;\n\tlong unsigned int companion_ports;\n\tlong unsigned int owned_ports;\n\tlong unsigned int port_c_suspend;\n\tlong unsigned int suspended_ports;\n\tlong unsigned int resuming_ports;\n\tstruct dma_pool *qh_pool;\n\tstruct dma_pool *qtd_pool;\n\tstruct dma_pool *itd_pool;\n\tstruct dma_pool *sitd_pool;\n\tunsigned int random_frame;\n\tlong unsigned int next_statechange;\n\tktime_t last_periodic_enable;\n\tu32 command;\n\tunsigned int no_selective_suspend: 1;\n\tunsigned int has_fsl_port_bug: 1;\n\tunsigned int has_fsl_hs_errata: 1;\n\tunsigned int has_fsl_susp_errata: 1;\n\tunsigned int has_ci_pec_bug: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_capbase: 1;\n\tunsigned int has_amcc_usb23: 1;\n\tunsigned int need_io_watchdog: 1;\n\tunsigned int amd_pll_fix: 1;\n\tunsigned int use_dummy_qh: 1;\n\tunsigned int has_synopsys_hc_bug: 1;\n\tunsigned int frame_index_bug: 1;\n\tunsigned int need_oc_pp_cycle: 1;\n\tunsigned int imx28_write_fix: 1;\n\tunsigned int spurious_oc: 1;\n\tunsigned int is_aspeed: 1;\n\tunsigned int zx_wakeup_clear_needed: 1;\n\t__le32 *ohci_hcctrl_reg;\n\tunsigned int has_hostpc: 1;\n\tunsigned int has_tdi_phy_lpm: 1;\n\tunsigned int has_ppcd: 1;\n\tu8 sbrn;\n\tu8 bandwidth[64];\n\tu8 tt_budget[64];\n\tstruct list_head tt_list;\n\tlong unsigned int priv[0];\n};\n\nstruct ehci_iso_packet {\n\tu64 bufp;\n\t__le32 transaction;\n\tu8 cross;\n\tu32 buf1;\n};\n\nstruct ehci_iso_sched {\n\tstruct list_head td_list;\n\tunsigned int span;\n\tunsigned int first_packet;\n\tstruct ehci_iso_packet packet[0];\n};\n\nstruct usb_host_endpoint;\n\nstruct ehci_per_sched {\n\tstruct usb_device *udev;\n\tstruct usb_host_endpoint *ep;\n\tstruct list_head ps_list;\n\tu16 tt_usecs;\n\tu16 cs_mask;\n\tu16 period;\n\tu16 phase;\n\tu8 bw_phase;\n\tu8 phase_uf;\n\tu8 usecs;\n\tu8 c_usecs;\n\tu8 bw_uperiod;\n\tu8 bw_period;\n};\n\nstruct ehci_qh_hw;\n\nstruct ehci_iso_stream {\n\tstruct ehci_qh_hw *hw;\n\tu8 bEndpointAddress;\n\tu8 highspeed;\n\tstruct list_head td_list;\n\tstruct list_head free_list;\n\tstruct ehci_per_sched ps;\n\tunsigned int next_uframe;\n\t__le32 splits;\n\tu16 uperiod;\n\tu16 maxp;\n\tunsigned int bandwidth;\n\t__le32 buf0;\n\t__le32 buf1;\n\t__le32 buf2;\n\t__le32 address;\n};\n\nstruct ehci_itd {\n\t__le32 hw_next;\n\t__le32 hw_transaction[8];\n\t__le32 hw_bufp[7];\n\t__le32 hw_bufp_hi[7];\n\tdma_addr_t itd_dma;\n\tunion ehci_shadow itd_next;\n\tstruct urb *urb;\n\tstruct ehci_iso_stream *stream;\n\tstruct list_head itd_list;\n\tunsigned int frame;\n\tunsigned int pg;\n\tunsigned int index[8];\n\tlong: 64;\n};\n\nstruct ehci_platform_priv {\n\tstruct clk *clks[4];\n\tstruct reset_control *rsts;\n\tbool reset_on_resume;\n\tbool quirk_poll;\n\tstruct timer_list poll_timer;\n\tstruct delayed_work poll_work;\n};\n\nstruct ehci_qtd;\n\nstruct ehci_qh {\n\tstruct ehci_qh_hw *hw;\n\tdma_addr_t qh_dma;\n\tunion ehci_shadow qh_next;\n\tstruct list_head qtd_list;\n\tstruct list_head intr_node;\n\tstruct ehci_qtd *dummy;\n\tstruct list_head unlink_node;\n\tstruct ehci_per_sched ps;\n\tunsigned int unlink_cycle;\n\tu8 qh_state;\n\tu8 xacterrs;\n\tu8 unlink_reason;\n\tu8 gap_uf;\n\tunsigned int is_out: 1;\n\tunsigned int clearing_tt: 1;\n\tunsigned int dequeue_during_giveback: 1;\n\tunsigned int should_be_inactive: 1;\n};\n\nstruct ehci_qh_hw {\n\t__le32 hw_next;\n\t__le32 hw_info1;\n\t__le32 hw_info2;\n\t__le32 hw_current;\n\t__le32 hw_qtd_next;\n\t__le32 hw_alt_next;\n\t__le32 hw_token;\n\t__le32 hw_buf[5];\n\t__le32 hw_buf_hi[5];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ehci_qtd {\n\t__le32 hw_next;\n\t__le32 hw_alt_next;\n\t__le32 hw_token;\n\t__le32 hw_buf[5];\n\t__le32 hw_buf_hi[5];\n\tdma_addr_t qtd_dma;\n\tstruct list_head qtd_list;\n\tstruct urb *urb;\n\tsize_t length;\n};\n\nstruct ehci_regs {\n\tu32 command;\n\tu32 status;\n\tu32 intr_enable;\n\tu32 frame_index;\n\tu32 segment;\n\tu32 frame_list;\n\tu32 async_next;\n\tu32 reserved1[2];\n\tu32 txfill_tuning;\n\tu32 reserved2[6];\n\tu32 configured_flag;\n\tunion {\n\t\tu32 port_status[15];\n\t\tstruct {\n\t\t\tu32 reserved3[9];\n\t\t\tu32 usbmode;\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tu32 reserved4;\n\t\t\tu32 hostpc[15];\n\t\t};\n\t\tu32 brcm_insnreg[4];\n\t};\n\tu32 reserved5[2];\n\tu32 usbmode_ex;\n};\n\nstruct ehci_sitd {\n\t__le32 hw_next;\n\t__le32 hw_fullspeed_ep;\n\t__le32 hw_uframe;\n\t__le32 hw_results;\n\t__le32 hw_buf[2];\n\t__le32 hw_backpointer;\n\t__le32 hw_buf_hi[2];\n\tdma_addr_t sitd_dma;\n\tunion ehci_shadow sitd_next;\n\tstruct urb *urb;\n\tstruct ehci_iso_stream *stream;\n\tstruct list_head sitd_list;\n\tunsigned int frame;\n\tunsigned int index;\n};\n\nstruct usb_tt;\n\nstruct ehci_tt {\n\tu16 bandwidth[8];\n\tstruct list_head tt_list;\n\tstruct list_head ps_list;\n\tstruct usb_tt *usb_tt;\n\tint tt_port;\n};\n\nstruct elevator_queue;\n\nstruct elevator_mq_ops {\n\tint (*init_sched)(struct request_queue *, struct elevator_type *);\n\tvoid (*exit_sched)(struct elevator_queue *);\n\tint (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tvoid (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);\n\tvoid (*depth_updated)(struct blk_mq_hw_ctx *);\n\tbool (*allow_merge)(struct request_queue *, struct request *, struct bio *);\n\tbool (*bio_merge)(struct request_queue *, struct bio *, unsigned int);\n\tint (*request_merge)(struct request_queue *, struct request **, struct bio *);\n\tvoid (*request_merged)(struct request_queue *, struct request *, enum elv_merge);\n\tvoid (*requests_merged)(struct request_queue *, struct request *, struct request *);\n\tvoid (*limit_depth)(blk_opf_t, struct blk_mq_alloc_data *);\n\tvoid (*prepare_request)(struct request *);\n\tvoid (*finish_request)(struct request *);\n\tvoid (*insert_requests)(struct blk_mq_hw_ctx *, struct list_head *, blk_insert_t);\n\tstruct request * (*dispatch_request)(struct blk_mq_hw_ctx *);\n\tbool (*has_work)(struct blk_mq_hw_ctx *);\n\tvoid (*completed_request)(struct request *, u64);\n\tvoid (*requeue_request)(struct request *);\n\tstruct request * (*former_request)(struct request_queue *, struct request *);\n\tstruct request * (*next_request)(struct request_queue *, struct request *);\n\tvoid (*init_icq)(struct io_cq *);\n\tvoid (*exit_icq)(struct io_cq *);\n};\n\nstruct elevator_queue {\n\tstruct elevator_type *type;\n\tvoid *elevator_data;\n\tstruct kobject kobj;\n\tstruct mutex sysfs_lock;\n\tlong unsigned int flags;\n\tstruct hlist_head hash[64];\n};\n\nstruct elv_fs_entry;\n\nstruct elevator_type {\n\tstruct kmem_cache *icq_cache;\n\tstruct elevator_mq_ops ops;\n\tsize_t icq_size;\n\tsize_t icq_align;\n\tconst struct elv_fs_entry *elevator_attrs;\n\tconst char *elevator_name;\n\tconst char *elevator_alias;\n\tstruct module *elevator_owner;\n\tconst struct blk_mq_debugfs_attr *queue_debugfs_attrs;\n\tconst struct blk_mq_debugfs_attr *hctx_debugfs_attrs;\n\tchar icq_cache_name[22];\n\tstruct list_head list;\n};\n\nstruct elf32_hdr {\n\tunsigned char e_ident[16];\n\tElf32_Half e_type;\n\tElf32_Half e_machine;\n\tElf32_Word e_version;\n\tElf32_Addr e_entry;\n\tElf32_Off e_phoff;\n\tElf32_Off e_shoff;\n\tElf32_Word e_flags;\n\tElf32_Half e_ehsize;\n\tElf32_Half e_phentsize;\n\tElf32_Half e_phnum;\n\tElf32_Half e_shentsize;\n\tElf32_Half e_shnum;\n\tElf32_Half e_shstrndx;\n};\n\ntypedef struct elf32_hdr Elf32_Ehdr;\n\nstruct elf32_note {\n\tElf32_Word n_namesz;\n\tElf32_Word n_descsz;\n\tElf32_Word n_type;\n};\n\ntypedef struct elf32_note Elf32_Nhdr;\n\nstruct elf32_phdr {\n\tElf32_Word p_type;\n\tElf32_Off p_offset;\n\tElf32_Addr p_vaddr;\n\tElf32_Addr p_paddr;\n\tElf32_Word p_filesz;\n\tElf32_Word p_memsz;\n\tElf32_Word p_flags;\n\tElf32_Word p_align;\n};\n\ntypedef struct elf32_phdr Elf32_Phdr;\n\nstruct elf32_shdr {\n\tElf32_Word sh_name;\n\tElf32_Word sh_type;\n\tElf32_Word sh_flags;\n\tElf32_Addr sh_addr;\n\tElf32_Off sh_offset;\n\tElf32_Word sh_size;\n\tElf32_Word sh_link;\n\tElf32_Word sh_info;\n\tElf32_Word sh_addralign;\n\tElf32_Word sh_entsize;\n};\n\nstruct elf64_hdr {\n\tunsigned char e_ident[16];\n\tElf64_Half e_type;\n\tElf64_Half e_machine;\n\tElf64_Word e_version;\n\tElf64_Addr e_entry;\n\tElf64_Off e_phoff;\n\tElf64_Off e_shoff;\n\tElf64_Word e_flags;\n\tElf64_Half e_ehsize;\n\tElf64_Half e_phentsize;\n\tElf64_Half e_phnum;\n\tElf64_Half e_shentsize;\n\tElf64_Half e_shnum;\n\tElf64_Half e_shstrndx;\n};\n\ntypedef struct elf64_hdr Elf64_Ehdr;\n\nstruct elf64_note {\n\tElf64_Word n_namesz;\n\tElf64_Word n_descsz;\n\tElf64_Word n_type;\n};\n\nstruct elf64_phdr {\n\tElf64_Word p_type;\n\tElf64_Word p_flags;\n\tElf64_Off p_offset;\n\tElf64_Addr p_vaddr;\n\tElf64_Addr p_paddr;\n\tElf64_Xword p_filesz;\n\tElf64_Xword p_memsz;\n\tElf64_Xword p_align;\n};\n\ntypedef struct elf64_phdr Elf64_Phdr;\n\nstruct elf64_rela {\n\tElf64_Addr r_offset;\n\tElf64_Xword r_info;\n\tElf64_Sxword r_addend;\n};\n\ntypedef struct elf64_rela Elf64_Rela;\n\nstruct elf64_shdr {\n\tElf64_Word sh_name;\n\tElf64_Word sh_type;\n\tElf64_Xword sh_flags;\n\tElf64_Addr sh_addr;\n\tElf64_Off sh_offset;\n\tElf64_Xword sh_size;\n\tElf64_Word sh_link;\n\tElf64_Word sh_info;\n\tElf64_Xword sh_addralign;\n\tElf64_Xword sh_entsize;\n};\n\ntypedef struct elf64_shdr Elf64_Shdr;\n\nstruct elf64_sym {\n\tElf64_Word st_name;\n\tunsigned char st_info;\n\tunsigned char st_other;\n\tElf64_Half st_shndx;\n\tElf64_Addr st_value;\n\tElf64_Xword st_size;\n};\n\ntypedef struct elf64_sym Elf64_Sym;\n\nstruct memelfnote {\n\tconst char *name;\n\tint type;\n\tunsigned int datasz;\n\tvoid *data;\n};\n\nstruct elf_thread_core_info;\n\nstruct elf_note_info {\n\tstruct elf_thread_core_info *thread;\n\tstruct memelfnote psinfo;\n\tstruct memelfnote signote;\n\tstruct memelfnote auxv;\n\tstruct memelfnote files;\n\tcompat_siginfo_t csigdata;\n\tsize_t size;\n\tint thread_notes;\n};\n\nstruct siginfo {\n\tunion {\n\t\tstruct {\n\t\t\tint si_signo;\n\t\t\tint si_errno;\n\t\t\tint si_code;\n\t\t\tunion __sifields _sifields;\n\t\t};\n\t\tint _si_pad[32];\n\t};\n};\n\ntypedef struct siginfo siginfo_t;\n\nstruct elf_thread_core_info___2;\n\nstruct elf_note_info___2 {\n\tstruct elf_thread_core_info___2 *thread;\n\tstruct memelfnote psinfo;\n\tstruct memelfnote signote;\n\tstruct memelfnote auxv;\n\tstruct memelfnote files;\n\tsiginfo_t csigdata;\n\tsize_t size;\n\tint thread_notes;\n};\n\nstruct elf_prpsinfo {\n\tchar pr_state;\n\tchar pr_sname;\n\tchar pr_zomb;\n\tchar pr_nice;\n\tlong unsigned int pr_flag;\n\t__kernel_uid_t pr_uid;\n\t__kernel_gid_t pr_gid;\n\tpid_t pr_pid;\n\tpid_t pr_ppid;\n\tpid_t pr_pgrp;\n\tpid_t pr_sid;\n\tchar pr_fname[16];\n\tchar pr_psargs[80];\n};\n\nstruct elf_siginfo {\n\tint si_signo;\n\tint si_code;\n\tint si_errno;\n};\n\nstruct elf_prstatus_common {\n\tstruct elf_siginfo pr_info;\n\tshort int pr_cursig;\n\tlong unsigned int pr_sigpend;\n\tlong unsigned int pr_sighold;\n\tpid_t pr_pid;\n\tpid_t pr_ppid;\n\tpid_t pr_pgrp;\n\tpid_t pr_sid;\n\tstruct __kernel_old_timeval pr_utime;\n\tstruct __kernel_old_timeval pr_stime;\n\tstruct __kernel_old_timeval pr_cutime;\n\tstruct __kernel_old_timeval pr_cstime;\n};\n\ntypedef struct user_regs_struct elf_gregset_t;\n\nstruct elf_prstatus {\n\tstruct elf_prstatus_common common;\n\telf_gregset_t pr_reg;\n\tint pr_fpvalid;\n};\n\nstruct elf_thread_core_info___2 {\n\tstruct elf_thread_core_info___2 *next;\n\tstruct task_struct *task;\n\tstruct elf_prstatus prstatus;\n\tstruct memelfnote notes[0];\n};\n\nstruct elf_thread_core_info {\n\tstruct elf_thread_core_info *next;\n\tstruct task_struct *task;\n\tstruct compat_elf_prstatus prstatus;\n\tstruct memelfnote notes[0];\n};\n\nstruct elv_fs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct elevator_queue *, char *);\n\tssize_t (*store)(struct elevator_queue *, const char *, size_t);\n};\n\nstruct em_data_callback {};\n\nstruct em_perf_table;\n\nstruct em_perf_domain {\n\tstruct em_perf_table *em_table;\n\tint nr_perf_states;\n\tint min_perf_state;\n\tint max_perf_state;\n\tlong unsigned int flags;\n\tlong unsigned int cpus[0];\n};\n\nstruct em_perf_state {\n\tlong unsigned int performance;\n\tlong unsigned int frequency;\n\tlong unsigned int power;\n\tlong unsigned int cost;\n\tlong unsigned int flags;\n};\n\nstruct em_perf_table {\n\tstruct callback_head rcu;\n\tstruct kref kref;\n\tstruct em_perf_state state[0];\n};\n\nstruct trace_event_file;\n\nstruct enable_trigger_data {\n\tstruct trace_event_file *file;\n\tbool enable;\n\tbool hist;\n};\n\nstruct xdr_buf;\n\nstruct encryptor_desc {\n\tu8 iv[16];\n\tstruct skcipher_request *req;\n\tint pos;\n\tstruct xdr_buf *outbuf;\n\tstruct page **pages;\n\tstruct scatterlist infrags[4];\n\tstruct scatterlist outfrags[4];\n\tint fragno;\n\tint fraglen;\n};\n\nstruct energy_env {\n\tlong unsigned int task_busy_time;\n\tlong unsigned int pd_busy_time;\n\tlong unsigned int cpu_cap;\n\tlong unsigned int pd_cap;\n};\n\nstruct entropy_timer_state {\n\tlong unsigned int entropy;\n\tstruct timer_list timer;\n\tatomic_t samples;\n\tunsigned int samples_per_bit;\n};\n\nstruct usb_endpoint_descriptor;\n\nstruct ep_device {\n\tstruct usb_endpoint_descriptor *desc;\n\tstruct usb_device *udev;\n\tstruct device dev;\n};\n\ntypedef struct poll_table_struct poll_table;\n\nstruct epitem;\n\nstruct ep_pqueue {\n\tpoll_table pt;\n\tstruct epitem *epi;\n};\n\nstruct ephy_info {\n\tunsigned int offset;\n\tu16 mask;\n\tu16 bits;\n};\n\nstruct epoll_filefd {\n\tstruct file *file;\n\tint fd;\n} __attribute__((packed));\n\nstruct epoll_event {\n\t__poll_t events;\n\t__u64 data;\n};\n\nstruct eppoll_entry;\n\nstruct eventpoll;\n\nstruct epitem {\n\tunion {\n\t\tstruct rb_node rbn;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct list_head rdllink;\n\tstruct epitem *next;\n\tstruct epoll_filefd ffd;\n\tbool dying;\n\tstruct eppoll_entry *pwqlist;\n\tstruct eventpoll *ep;\n\tstruct hlist_node fllink;\n\tstruct wakeup_source *ws;\n\tstruct epoll_event event;\n};\n\nstruct epitems_head {\n\tstruct hlist_head epitems;\n\tstruct epitems_head *next;\n};\n\nstruct epoll_params {\n\t__u32 busy_poll_usecs;\n\t__u16 busy_poll_budget;\n\t__u8 prefer_busy_poll;\n\t__u8 __pad;\n};\n\nstruct eppoll_entry {\n\tstruct eppoll_entry *next;\n\tstruct epitem *base;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *whead;\n};\n\nstruct trace_eprobe;\n\nstruct eprobe_data {\n\tstruct trace_event_file *file;\n\tstruct trace_eprobe *ep;\n};\n\nstruct eprobe_trace_entry_head {\n\tstruct trace_entry ent;\n};\n\nstruct erase_info {\n\tuint64_t addr;\n\tuint64_t len;\n\tuint64_t fail_addr;\n};\n\nstruct erase_info_user {\n\t__u32 start;\n\t__u32 length;\n};\n\nstruct erase_info_user64 {\n\t__u64 start;\n\t__u64 length;\n};\n\nstruct err_info {\n\tconst char **errs;\n\tu8 type;\n\tu16 pos;\n\tu64 ts;\n};\n\nstruct errata_info_t {\n\tchar name[32];\n\tbool (*check_func)(long unsigned int, long unsigned int);\n};\n\nstruct errormap {\n\tchar *name;\n\tint val;\n\tint namelen;\n\tstruct hlist_node list;\n};\n\nstruct erspan_md2 {\n\t__be32 timestamp;\n\t__be16 sgt;\n\t__u8 hwid_upper: 2;\n\t__u8 ft: 5;\n\t__u8 p: 1;\n\t__u8 o: 1;\n\t__u8 gra: 2;\n\t__u8 dir: 1;\n\t__u8 hwid: 4;\n};\n\nstruct erspan_metadata {\n\tint version;\n\tunion {\n\t\t__be32 index;\n\t\tstruct erspan_md2 md2;\n\t} u;\n};\n\nstruct esre_entry;\n\nstruct esre_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct esre_entry *, char *);\n};\n\nstruct esre_entry {\n\tunion {\n\t\tstruct efi_system_resource_entry_v1 *esre1;\n\t} esre;\n\tstruct kobject kobj;\n\tstruct list_head list;\n};\n\nstruct ethhdr {\n\tunsigned char h_dest[6];\n\tunsigned char h_source[6];\n\t__be16 h_proto;\n};\n\nstruct ethnl_request_ops;\n\nstruct ethnl_dump_ctx {\n\tconst struct ethnl_request_ops *ops;\n\tstruct ethnl_req_info *req_info;\n\tstruct ethnl_reply_data *reply_data;\n\tlong unsigned int pos_ifindex;\n};\n\nstruct ethnl_module_fw_flash_ntf_params {\n\tu32 portid;\n\tu32 seq;\n\tbool closed_sock;\n};\n\nstruct phy_req_info;\n\nstruct ethnl_phy_dump_ctx {\n\tstruct phy_req_info *phy_req_info;\n\tlong unsigned int ifindex;\n\tlong unsigned int phy_index;\n};\n\nstruct genl_info;\n\nstruct ethnl_request_ops {\n\tu8 request_cmd;\n\tu8 reply_cmd;\n\tu16 hdr_attr;\n\tunsigned int req_info_size;\n\tunsigned int reply_data_size;\n\tbool allow_nodev_do;\n\tu8 set_ntf_cmd;\n\tint (*parse_request)(struct ethnl_req_info *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*prepare_data)(const struct ethnl_req_info *, struct ethnl_reply_data *, const struct genl_info *);\n\tint (*reply_size)(const struct ethnl_req_info *, const struct ethnl_reply_data *);\n\tint (*fill_reply)(struct sk_buff *, const struct ethnl_req_info *, const struct ethnl_reply_data *);\n\tvoid (*cleanup_data)(struct ethnl_reply_data *);\n\tint (*set_validate)(struct ethnl_req_info *, struct genl_info *);\n\tint (*set)(struct ethnl_req_info *, struct genl_info *);\n};\n\nstruct ethnl_sock_priv {\n\tstruct net_device *dev;\n\tu32 portid;\n\tenum ethnl_sock_type type;\n};\n\nstruct tsinfo_req_info;\n\nstruct tsinfo_reply_data;\n\nstruct ethnl_tsinfo_dump_ctx {\n\tstruct tsinfo_req_info *req_info;\n\tstruct tsinfo_reply_data *reply_data;\n\tlong unsigned int pos_ifindex;\n\tbool netdev_dump_done;\n\tlong unsigned int pos_phyindex;\n\tenum hwtstamp_provider_qualifier pos_phcqualifier;\n};\n\nstruct ethnl_tunnel_info_dump_ctx {\n\tstruct ethnl_req_info req_info;\n\tlong unsigned int ifindex;\n};\n\nstruct ethtool_ah_espip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be32 spi;\n\t__u8 tos;\n};\n\nstruct ethtool_ah_espip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be32 spi;\n\t__u8 tclass;\n};\n\nstruct ethtool_c33_pse_ext_state_info {\n\tenum ethtool_c33_pse_ext_state c33_pse_ext_state;\n\tunion {\n\t\tenum ethtool_c33_pse_ext_substate_error_condition error_condition;\n\t\tenum ethtool_c33_pse_ext_substate_mr_pse_enable mr_pse_enable;\n\t\tenum ethtool_c33_pse_ext_substate_option_detect_ted option_detect_ted;\n\t\tenum ethtool_c33_pse_ext_substate_option_vport_lim option_vport_lim;\n\t\tenum ethtool_c33_pse_ext_substate_ovld_detected ovld_detected;\n\t\tenum ethtool_c33_pse_ext_substate_power_not_available power_not_available;\n\t\tenum ethtool_c33_pse_ext_substate_short_detected short_detected;\n\t\tu32 __c33_pse_ext_substate;\n\t};\n};\n\nstruct ethtool_c33_pse_pw_limit_range {\n\tu32 min;\n\tu32 max;\n};\n\nstruct ethtool_cmd {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 advertising;\n\t__u16 speed;\n\t__u8 duplex;\n\t__u8 port;\n\t__u8 phy_address;\n\t__u8 transceiver;\n\t__u8 autoneg;\n\t__u8 mdio_support;\n\t__u32 maxtxpkt;\n\t__u32 maxrxpkt;\n\t__u16 speed_hi;\n\t__u8 eth_tp_mdix;\n\t__u8 eth_tp_mdix_ctrl;\n\t__u32 lp_advertising;\n\t__u32 reserved[2];\n};\n\nstruct ethtool_cmis_cdb {\n\tu8 cmis_rev;\n\tu8 read_write_len_ext;\n\tu16 max_completion_time;\n};\n\nstruct ethtool_cmis_cdb_request {\n\t__be16 id;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 epl_len;\n\t\t\tu8 lpl_len;\n\t\t\tu8 chk_code;\n\t\t\tu8 resv1;\n\t\t\tu8 resv2;\n\t\t\tu8 payload[120];\n\t\t};\n\t\tstruct {\n\t\t\t__be16 epl_len;\n\t\t\tu8 lpl_len;\n\t\t\tu8 chk_code;\n\t\t\tu8 resv1;\n\t\t\tu8 resv2;\n\t\t\tu8 payload[120];\n\t\t} body;\n\t};\n\tu8 *epl;\n};\n\nstruct ethtool_cmis_cdb_cmd_args {\n\tstruct ethtool_cmis_cdb_request req;\n\tu16 max_duration;\n\tu8 read_write_len_ext;\n\tu8 msleep_pre_rpl;\n\tu8 rpl_exp_len;\n\tu8 flags;\n\tchar *err_msg;\n};\n\nstruct ethtool_cmis_cdb_rpl_hdr {\n\tu8 rpl_len;\n\tu8 rpl_chk_code;\n};\n\nstruct ethtool_cmis_cdb_rpl {\n\tstruct ethtool_cmis_cdb_rpl_hdr hdr;\n\tu8 payload[120];\n};\n\nstruct ethtool_module_fw_flash_params {\n\t__be32 password;\n\tu8 password_valid: 1;\n};\n\nstruct firmware;\n\nstruct ethtool_cmis_fw_update_params {\n\tstruct net_device *dev;\n\tstruct ethtool_module_fw_flash_params params;\n\tstruct ethnl_module_fw_flash_ntf_params ntf_params;\n\tconst struct firmware *fw;\n};\n\nstruct ethtool_flash {\n\t__u32 cmd;\n\t__u32 region;\n\tchar data[128];\n};\n\nstruct ethtool_drvinfo {\n\t__u32 cmd;\n\tchar driver[32];\n\tchar version[32];\n\tchar fw_version[32];\n\tchar bus_info[32];\n\tchar erom_version[32];\n\tchar reserved2[12];\n\t__u32 n_priv_flags;\n\t__u32 n_stats;\n\t__u32 testinfo_len;\n\t__u32 eedump_len;\n\t__u32 regdump_len;\n};\n\nstruct ethtool_devlink_compat {\n\tstruct devlink *devlink;\n\tunion {\n\t\tstruct ethtool_flash efl;\n\t\tstruct ethtool_drvinfo info;\n\t};\n};\n\nstruct ethtool_dump {\n\t__u32 cmd;\n\t__u32 version;\n\t__u32 flag;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_eee {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 advertised;\n\t__u32 lp_advertised;\n\t__u32 eee_active;\n\t__u32 eee_enabled;\n\t__u32 tx_lpi_enabled;\n\t__u32 tx_lpi_timer;\n\t__u32 reserved[2];\n};\n\nstruct ethtool_eeprom {\n\t__u32 cmd;\n\t__u32 magic;\n\t__u32 offset;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_eth_ctrl_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 MACControlFramesTransmitted;\n\t\t\tu64 MACControlFramesReceived;\n\t\t\tu64 UnsupportedOpcodesReceived;\n\t\t};\n\t\tstruct {\n\t\t\tu64 MACControlFramesTransmitted;\n\t\t\tu64 MACControlFramesReceived;\n\t\t\tu64 UnsupportedOpcodesReceived;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_eth_mac_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 FramesTransmittedOK;\n\t\t\tu64 SingleCollisionFrames;\n\t\t\tu64 MultipleCollisionFrames;\n\t\t\tu64 FramesReceivedOK;\n\t\t\tu64 FrameCheckSequenceErrors;\n\t\t\tu64 AlignmentErrors;\n\t\t\tu64 OctetsTransmittedOK;\n\t\t\tu64 FramesWithDeferredXmissions;\n\t\t\tu64 LateCollisions;\n\t\t\tu64 FramesAbortedDueToXSColls;\n\t\t\tu64 FramesLostDueToIntMACXmitError;\n\t\t\tu64 CarrierSenseErrors;\n\t\t\tu64 OctetsReceivedOK;\n\t\t\tu64 FramesLostDueToIntMACRcvError;\n\t\t\tu64 MulticastFramesXmittedOK;\n\t\t\tu64 BroadcastFramesXmittedOK;\n\t\t\tu64 FramesWithExcessiveDeferral;\n\t\t\tu64 MulticastFramesReceivedOK;\n\t\t\tu64 BroadcastFramesReceivedOK;\n\t\t\tu64 InRangeLengthErrors;\n\t\t\tu64 OutOfRangeLengthField;\n\t\t\tu64 FrameTooLongErrors;\n\t\t};\n\t\tstruct {\n\t\t\tu64 FramesTransmittedOK;\n\t\t\tu64 SingleCollisionFrames;\n\t\t\tu64 MultipleCollisionFrames;\n\t\t\tu64 FramesReceivedOK;\n\t\t\tu64 FrameCheckSequenceErrors;\n\t\t\tu64 AlignmentErrors;\n\t\t\tu64 OctetsTransmittedOK;\n\t\t\tu64 FramesWithDeferredXmissions;\n\t\t\tu64 LateCollisions;\n\t\t\tu64 FramesAbortedDueToXSColls;\n\t\t\tu64 FramesLostDueToIntMACXmitError;\n\t\t\tu64 CarrierSenseErrors;\n\t\t\tu64 OctetsReceivedOK;\n\t\t\tu64 FramesLostDueToIntMACRcvError;\n\t\t\tu64 MulticastFramesXmittedOK;\n\t\t\tu64 BroadcastFramesXmittedOK;\n\t\t\tu64 FramesWithExcessiveDeferral;\n\t\t\tu64 MulticastFramesReceivedOK;\n\t\t\tu64 BroadcastFramesReceivedOK;\n\t\t\tu64 InRangeLengthErrors;\n\t\t\tu64 OutOfRangeLengthField;\n\t\t\tu64 FrameTooLongErrors;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_eth_phy_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 SymbolErrorDuringCarrier;\n\t\t};\n\t\tstruct {\n\t\t\tu64 SymbolErrorDuringCarrier;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_fec_stat {\n\tu64 total;\n\tu64 lanes[8];\n};\n\nstruct ethtool_fec_stats {\n\tstruct ethtool_fec_stat corrected_blocks;\n\tstruct ethtool_fec_stat uncorrectable_blocks;\n\tstruct ethtool_fec_stat corrected_bits;\n};\n\nstruct ethtool_fecparam {\n\t__u32 cmd;\n\t__u32 active_fec;\n\t__u32 fec;\n\t__u32 reserved;\n};\n\nstruct ethtool_flow_ext {\n\t__u8 padding[2];\n\tunsigned char h_dest[6];\n\t__be16 vlan_etype;\n\t__be16 vlan_tci;\n\t__be32 data[2];\n};\n\nstruct ethtool_tcpip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be16 psrc;\n\t__be16 pdst;\n\t__u8 tos;\n};\n\nstruct ethtool_usrip4_spec {\n\t__be32 ip4src;\n\t__be32 ip4dst;\n\t__be32 l4_4_bytes;\n\t__u8 tos;\n\t__u8 ip_ver;\n\t__u8 proto;\n};\n\nstruct ethtool_tcpip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be16 psrc;\n\t__be16 pdst;\n\t__u8 tclass;\n};\n\nstruct ethtool_usrip6_spec {\n\t__be32 ip6src[4];\n\t__be32 ip6dst[4];\n\t__be32 l4_4_bytes;\n\t__u8 tclass;\n\t__u8 l4_proto;\n};\n\nunion ethtool_flow_union {\n\tstruct ethtool_tcpip4_spec tcp_ip4_spec;\n\tstruct ethtool_tcpip4_spec udp_ip4_spec;\n\tstruct ethtool_tcpip4_spec sctp_ip4_spec;\n\tstruct ethtool_ah_espip4_spec ah_ip4_spec;\n\tstruct ethtool_ah_espip4_spec esp_ip4_spec;\n\tstruct ethtool_usrip4_spec usr_ip4_spec;\n\tstruct ethtool_tcpip6_spec tcp_ip6_spec;\n\tstruct ethtool_tcpip6_spec udp_ip6_spec;\n\tstruct ethtool_tcpip6_spec sctp_ip6_spec;\n\tstruct ethtool_ah_espip6_spec ah_ip6_spec;\n\tstruct ethtool_ah_espip6_spec esp_ip6_spec;\n\tstruct ethtool_usrip6_spec usr_ip6_spec;\n\tstruct ethhdr ether_spec;\n\t__u8 hdata[52];\n};\n\nstruct ethtool_forced_speed_map {\n\tu32 speed;\n\tlong unsigned int caps[2];\n\tconst u32 *cap_arr;\n\tu32 arr_size;\n};\n\nstruct ethtool_get_features_block {\n\t__u32 available;\n\t__u32 requested;\n\t__u32 active;\n\t__u32 never_changed;\n};\n\nstruct ethtool_gfeatures {\n\t__u32 cmd;\n\t__u32 size;\n\tstruct ethtool_get_features_block features[0];\n};\n\nstruct ethtool_gstrings {\n\t__u32 cmd;\n\t__u32 string_set;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_link_ext_state_info {\n\tenum ethtool_link_ext_state link_ext_state;\n\tunion {\n\t\tenum ethtool_link_ext_substate_autoneg autoneg;\n\t\tenum ethtool_link_ext_substate_link_training link_training;\n\t\tenum ethtool_link_ext_substate_link_logical_mismatch link_logical_mismatch;\n\t\tenum ethtool_link_ext_substate_bad_signal_integrity bad_signal_integrity;\n\t\tenum ethtool_link_ext_substate_cable_issue cable_issue;\n\t\tenum ethtool_link_ext_substate_module module;\n\t\tu32 __link_ext_substate;\n\t};\n};\n\nstruct ethtool_link_ext_stats {\n\tu64 link_down_events;\n};\n\nstruct ethtool_link_settings {\n\t__u32 cmd;\n\t__u32 speed;\n\t__u8 duplex;\n\t__u8 port;\n\t__u8 phy_address;\n\t__u8 autoneg;\n\t__u8 mdio_support;\n\t__u8 eth_tp_mdix;\n\t__u8 eth_tp_mdix_ctrl;\n\t__s8 link_mode_masks_nwords;\n\t__u8 transceiver;\n\t__u8 master_slave_cfg;\n\t__u8 master_slave_state;\n\t__u8 rate_matching;\n\t__u32 reserved[7];\n};\n\nstruct ethtool_link_ksettings {\n\tstruct ethtool_link_settings base;\n\tstruct {\n\t\tlong unsigned int supported[2];\n\t\tlong unsigned int advertising[2];\n\t\tlong unsigned int lp_advertising[2];\n\t} link_modes;\n\tu32 lanes;\n};\n\nstruct ethtool_link_usettings {\n\tstruct ethtool_link_settings base;\n\tstruct {\n\t\t__u32 supported[4];\n\t\t__u32 advertising[4];\n\t\t__u32 lp_advertising[4];\n\t} link_modes;\n};\n\nstruct ethtool_mm_cfg {\n\tu32 verify_time;\n\tbool verify_enabled;\n\tbool tx_enabled;\n\tbool pmac_enabled;\n\tu32 tx_min_frag_size;\n};\n\nstruct ethtool_mm_state {\n\tu32 verify_time;\n\tu32 max_verify_time;\n\tenum ethtool_mm_verify_status verify_status;\n\tbool tx_enabled;\n\tbool tx_active;\n\tbool pmac_enabled;\n\tbool verify_enabled;\n\tu32 tx_min_frag_size;\n\tu32 rx_min_frag_size;\n};\n\nstruct ethtool_mm_stats {\n\tu64 MACMergeFrameAssErrorCount;\n\tu64 MACMergeFrameSmdErrorCount;\n\tu64 MACMergeFrameAssOkCount;\n\tu64 MACMergeFragCountRx;\n\tu64 MACMergeFragCountTx;\n\tu64 MACMergeHoldCount;\n};\n\nstruct ethtool_modinfo {\n\t__u32 cmd;\n\t__u32 type;\n\t__u32 eeprom_len;\n\t__u32 reserved[8];\n};\n\nstruct ethtool_module_eeprom {\n\tu32 offset;\n\tu32 length;\n\tu8 page;\n\tu8 bank;\n\tu8 i2c_address;\n\tu8 *data;\n};\n\nstruct ethtool_module_fw_flash {\n\tstruct list_head list;\n\tnetdevice_tracker dev_tracker;\n\tstruct work_struct work;\n\tstruct ethtool_cmis_fw_update_params fw_update;\n};\n\nstruct ethtool_module_power_mode_params {\n\tenum ethtool_module_power_mode_policy policy;\n\tenum ethtool_module_power_mode mode;\n};\n\nstruct ethtool_netdev_state {\n\tstruct xarray rss_ctx;\n\tstruct mutex rss_lock;\n\tunsigned int wol_enabled: 1;\n\tunsigned int module_fw_flash_in_progress: 1;\n};\n\nstruct ethtool_regs;\n\nstruct ethtool_wolinfo;\n\nstruct ethtool_ringparam;\n\nstruct kernel_ethtool_ringparam;\n\nstruct ethtool_pause_stats;\n\nstruct ethtool_pauseparam;\n\nstruct ethtool_test;\n\nstruct ethtool_stats;\n\nstruct ethtool_rxnfc;\n\nstruct ethtool_rxfh_param;\n\nstruct ethtool_rxfh_context;\n\nstruct kernel_ethtool_ts_info;\n\nstruct ethtool_ts_stats;\n\nstruct ethtool_tunable;\n\nstruct ethtool_rmon_stats;\n\nstruct ethtool_rmon_hist_range;\n\nstruct ethtool_ops {\n\tu32 cap_link_lanes_supported: 1;\n\tu32 cap_rss_ctx_supported: 1;\n\tu32 cap_rss_sym_xor_supported: 1;\n\tu32 rxfh_per_ctx_key: 1;\n\tu32 cap_rss_rxnfc_adds: 1;\n\tu32 rxfh_indir_space;\n\tu16 rxfh_key_space;\n\tu16 rxfh_priv_size;\n\tu32 rxfh_max_num_contexts;\n\tu32 supported_coalesce_params;\n\tu32 supported_ring_params;\n\tu32 supported_hwtstamp_qualifiers;\n\tvoid (*get_drvinfo)(struct net_device *, struct ethtool_drvinfo *);\n\tint (*get_regs_len)(struct net_device *);\n\tvoid (*get_regs)(struct net_device *, struct ethtool_regs *, void *);\n\tvoid (*get_wol)(struct net_device *, struct ethtool_wolinfo *);\n\tint (*set_wol)(struct net_device *, struct ethtool_wolinfo *);\n\tu32 (*get_msglevel)(struct net_device *);\n\tvoid (*set_msglevel)(struct net_device *, u32);\n\tint (*nway_reset)(struct net_device *);\n\tu32 (*get_link)(struct net_device *);\n\tint (*get_link_ext_state)(struct net_device *, struct ethtool_link_ext_state_info *);\n\tvoid (*get_link_ext_stats)(struct net_device *, struct ethtool_link_ext_stats *);\n\tint (*get_eeprom_len)(struct net_device *);\n\tint (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*get_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *);\n\tint (*set_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *);\n\tvoid (*get_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *);\n\tint (*set_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *);\n\tvoid (*get_pause_stats)(struct net_device *, struct ethtool_pause_stats *);\n\tvoid (*get_pauseparam)(struct net_device *, struct ethtool_pauseparam *);\n\tint (*set_pauseparam)(struct net_device *, struct ethtool_pauseparam *);\n\tvoid (*self_test)(struct net_device *, struct ethtool_test *, u64 *);\n\tvoid (*get_strings)(struct net_device *, u32, u8 *);\n\tint (*set_phys_id)(struct net_device *, enum ethtool_phys_id_state);\n\tvoid (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *);\n\tint (*begin)(struct net_device *);\n\tvoid (*complete)(struct net_device *);\n\tu32 (*get_priv_flags)(struct net_device *);\n\tint (*set_priv_flags)(struct net_device *, u32);\n\tint (*get_sset_count)(struct net_device *, int);\n\tint (*get_rxnfc)(struct net_device *, struct ethtool_rxnfc *, u32 *);\n\tint (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *);\n\tint (*flash_device)(struct net_device *, struct ethtool_flash *);\n\tint (*reset)(struct net_device *, u32 *);\n\tu32 (*get_rxfh_key_size)(struct net_device *);\n\tu32 (*get_rxfh_indir_size)(struct net_device *);\n\tint (*get_rxfh)(struct net_device *, struct ethtool_rxfh_param *);\n\tint (*set_rxfh)(struct net_device *, struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*create_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*modify_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *);\n\tint (*remove_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, u32, struct netlink_ext_ack *);\n\tvoid (*get_channels)(struct net_device *, struct ethtool_channels *);\n\tint (*set_channels)(struct net_device *, struct ethtool_channels *);\n\tint (*get_dump_flag)(struct net_device *, struct ethtool_dump *);\n\tint (*get_dump_data)(struct net_device *, struct ethtool_dump *, void *);\n\tint (*set_dump)(struct net_device *, struct ethtool_dump *);\n\tint (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *);\n\tvoid (*get_ts_stats)(struct net_device *, struct ethtool_ts_stats *);\n\tint (*get_module_info)(struct net_device *, struct ethtool_modinfo *);\n\tint (*get_module_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *);\n\tint (*get_eee)(struct net_device *, struct ethtool_keee *);\n\tint (*set_eee)(struct net_device *, struct ethtool_keee *);\n\tint (*get_tunable)(struct net_device *, const struct ethtool_tunable *, void *);\n\tint (*set_tunable)(struct net_device *, const struct ethtool_tunable *, const void *);\n\tint (*get_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *);\n\tint (*set_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *);\n\tint (*get_link_ksettings)(struct net_device *, struct ethtool_link_ksettings *);\n\tint (*set_link_ksettings)(struct net_device *, const struct ethtool_link_ksettings *);\n\tvoid (*get_fec_stats)(struct net_device *, struct ethtool_fec_stats *);\n\tint (*get_fecparam)(struct net_device *, struct ethtool_fecparam *);\n\tint (*set_fecparam)(struct net_device *, struct ethtool_fecparam *);\n\tvoid (*get_ethtool_phy_stats)(struct net_device *, struct ethtool_stats *, u64 *);\n\tint (*get_phy_tunable)(struct net_device *, const struct ethtool_tunable *, void *);\n\tint (*set_phy_tunable)(struct net_device *, const struct ethtool_tunable *, const void *);\n\tint (*get_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n\tint (*set_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *);\n\tvoid (*get_eth_phy_stats)(struct net_device *, struct ethtool_eth_phy_stats *);\n\tvoid (*get_eth_mac_stats)(struct net_device *, struct ethtool_eth_mac_stats *);\n\tvoid (*get_eth_ctrl_stats)(struct net_device *, struct ethtool_eth_ctrl_stats *);\n\tvoid (*get_rmon_stats)(struct net_device *, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **);\n\tint (*get_module_power_mode)(struct net_device *, struct ethtool_module_power_mode_params *, struct netlink_ext_ack *);\n\tint (*set_module_power_mode)(struct net_device *, const struct ethtool_module_power_mode_params *, struct netlink_ext_ack *);\n\tint (*get_mm)(struct net_device *, struct ethtool_mm_state *);\n\tint (*set_mm)(struct net_device *, struct ethtool_mm_cfg *, struct netlink_ext_ack *);\n\tvoid (*get_mm_stats)(struct net_device *, struct ethtool_mm_stats *);\n};\n\nstruct ethtool_pause_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 tx_pause_frames;\n\t\t\tu64 rx_pause_frames;\n\t\t};\n\t\tstruct {\n\t\t\tu64 tx_pause_frames;\n\t\t\tu64 rx_pause_frames;\n\t\t} stats;\n\t};\n};\n\nstruct ethtool_pauseparam {\n\t__u32 cmd;\n\t__u32 autoneg;\n\t__u32 rx_pause;\n\t__u32 tx_pause;\n};\n\nstruct ethtool_per_queue_op {\n\t__u32 cmd;\n\t__u32 sub_command;\n\t__u32 queue_mask[128];\n\tchar data[0];\n};\n\nstruct ethtool_perm_addr {\n\t__u32 cmd;\n\t__u32 size;\n\t__u8 data[0];\n};\n\nstruct phy_device;\n\nstruct phy_plca_cfg;\n\nstruct phy_plca_status;\n\nstruct phy_tdr_config;\n\nstruct ethtool_phy_ops {\n\tint (*get_sset_count)(struct phy_device *);\n\tint (*get_strings)(struct phy_device *, u8 *);\n\tint (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *);\n\tint (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *);\n\tint (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *, struct netlink_ext_ack *);\n\tint (*get_plca_status)(struct phy_device *, struct phy_plca_status *);\n\tint (*start_cable_test)(struct phy_device *, struct netlink_ext_ack *);\n\tint (*start_cable_test_tdr)(struct phy_device *, struct netlink_ext_ack *, const struct phy_tdr_config *);\n};\n\nstruct ethtool_phy_stats {\n\tu64 rx_packets;\n\tu64 rx_bytes;\n\tu64 rx_errors;\n\tu64 tx_packets;\n\tu64 tx_bytes;\n\tu64 tx_errors;\n};\n\nstruct ethtool_pse_control_status {\n\tenum ethtool_podl_pse_admin_state podl_admin_state;\n\tenum ethtool_podl_pse_pw_d_status podl_pw_status;\n\tenum ethtool_c33_pse_admin_state c33_admin_state;\n\tenum ethtool_c33_pse_pw_d_status c33_pw_status;\n\tu32 c33_pw_class;\n\tu32 c33_actual_pw;\n\tstruct ethtool_c33_pse_ext_state_info c33_ext_state_info;\n\tu32 c33_avail_pw_limit;\n\tstruct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges;\n\tu32 c33_pw_limit_nb_ranges;\n};\n\nstruct ethtool_regs {\n\t__u32 cmd;\n\t__u32 version;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct ethtool_ringparam {\n\t__u32 cmd;\n\t__u32 rx_max_pending;\n\t__u32 rx_mini_max_pending;\n\t__u32 rx_jumbo_max_pending;\n\t__u32 tx_max_pending;\n\t__u32 rx_pending;\n\t__u32 rx_mini_pending;\n\t__u32 rx_jumbo_pending;\n\t__u32 tx_pending;\n};\n\nstruct ethtool_rmon_hist_range {\n\tu16 low;\n\tu16 high;\n};\n\nstruct ethtool_rmon_stats {\n\tenum ethtool_mac_stats_src src;\n\tunion {\n\t\tstruct {\n\t\t\tu64 undersize_pkts;\n\t\t\tu64 oversize_pkts;\n\t\t\tu64 fragments;\n\t\t\tu64 jabbers;\n\t\t\tu64 hist[10];\n\t\t\tu64 hist_tx[10];\n\t\t};\n\t\tstruct {\n\t\t\tu64 undersize_pkts;\n\t\t\tu64 oversize_pkts;\n\t\t\tu64 fragments;\n\t\t\tu64 jabbers;\n\t\t\tu64 hist[10];\n\t\t\tu64 hist_tx[10];\n\t\t} stats;\n\t};\n};\n\nstruct flow_dissector_key_basic {\n\t__be16 n_proto;\n\tu8 ip_proto;\n\tu8 padding;\n};\n\nstruct flow_dissector_key_ipv4_addrs {\n\t__be32 src;\n\t__be32 dst;\n};\n\nstruct flow_dissector_key_ipv6_addrs {\n\tstruct in6_addr src;\n\tstruct in6_addr dst;\n};\n\nstruct flow_dissector_key_ports {\n\tunion {\n\t\t__be32 ports;\n\t\tstruct {\n\t\t\t__be16 src;\n\t\t\t__be16 dst;\n\t\t};\n\t};\n};\n\nstruct flow_dissector_key_ip {\n\t__u8 tos;\n\t__u8 ttl;\n};\n\nstruct flow_dissector_key_vlan {\n\tunion {\n\t\tstruct {\n\t\t\tu16 vlan_id: 12;\n\t\t\tu16 vlan_dei: 1;\n\t\t\tu16 vlan_priority: 3;\n\t\t};\n\t\t__be16 vlan_tci;\n\t};\n\t__be16 vlan_tpid;\n\t__be16 vlan_eth_type;\n\tu16 padding;\n};\n\nstruct flow_dissector_key_eth_addrs {\n\tunsigned char dst[6];\n\tunsigned char src[6];\n};\n\nstruct ethtool_rx_flow_key {\n\tstruct flow_dissector_key_basic basic;\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs ipv4;\n\t\tstruct flow_dissector_key_ipv6_addrs ipv6;\n\t};\n\tstruct flow_dissector_key_ports tp;\n\tstruct flow_dissector_key_ip ip;\n\tstruct flow_dissector_key_vlan vlan;\n\tstruct flow_dissector_key_eth_addrs eth_addrs;\n};\n\nstruct flow_dissector {\n\tlong long unsigned int used_keys;\n\tshort unsigned int offset[33];\n};\n\nstruct ethtool_rx_flow_match {\n\tstruct flow_dissector dissector;\n\tstruct ethtool_rx_flow_key key;\n\tstruct ethtool_rx_flow_key mask;\n};\n\nstruct flow_rule;\n\nstruct ethtool_rx_flow_rule {\n\tstruct flow_rule *rule;\n\tlong unsigned int priv[0];\n};\n\nstruct ethtool_rx_flow_spec {\n\t__u32 flow_type;\n\tunion ethtool_flow_union h_u;\n\tstruct ethtool_flow_ext h_ext;\n\tunion ethtool_flow_union m_u;\n\tstruct ethtool_flow_ext m_ext;\n\t__u64 ring_cookie;\n\t__u32 location;\n};\n\nstruct ethtool_rx_flow_spec_input {\n\tconst struct ethtool_rx_flow_spec *fs;\n\tu32 rss_ctx;\n};\n\nstruct ethtool_rx_fs_item {\n\tstruct ethtool_rx_flow_spec fs;\n\tstruct list_head list;\n};\n\nstruct ethtool_rx_fs_list {\n\tstruct list_head list;\n\tunsigned int count;\n};\n\nstruct ethtool_rxfh {\n\t__u32 cmd;\n\t__u32 rss_context;\n\t__u32 indir_size;\n\t__u32 key_size;\n\t__u8 hfunc;\n\t__u8 input_xfrm;\n\t__u8 rsvd8[2];\n\t__u32 rsvd32;\n\t__u32 rss_config[0];\n};\n\nstruct ethtool_rxfh_context {\n\tu32 indir_size;\n\tu32 key_size;\n\tu16 priv_size;\n\tu8 hfunc;\n\tu8 input_xfrm;\n\tu8 indir_configured: 1;\n\tu8 key_configured: 1;\n\tu32 key_off;\n\tlong: 0;\n\tu8 data[0];\n};\n\nstruct ethtool_rxfh_param {\n\tu8 hfunc;\n\tu32 indir_size;\n\tu32 *indir;\n\tu32 key_size;\n\tu8 *key;\n\tu32 rss_context;\n\tu8 rss_delete;\n\tu8 input_xfrm;\n};\n\nstruct ethtool_rxnfc {\n\t__u32 cmd;\n\t__u32 flow_type;\n\t__u64 data;\n\tstruct ethtool_rx_flow_spec fs;\n\tunion {\n\t\t__u32 rule_cnt;\n\t\t__u32 rss_context;\n\t};\n\t__u32 rule_locs[0];\n};\n\nstruct ethtool_set_features_block {\n\t__u32 valid;\n\t__u32 requested;\n};\n\nstruct ethtool_sfeatures {\n\t__u32 cmd;\n\t__u32 size;\n\tstruct ethtool_set_features_block features[0];\n};\n\nstruct ethtool_sset_info {\n\t__u32 cmd;\n\t__u32 reserved;\n\t__u64 sset_mask;\n\t__u32 data[0];\n};\n\nstruct ethtool_stats {\n\t__u32 cmd;\n\t__u32 n_stats;\n\t__u64 data[0];\n};\n\nstruct ethtool_test {\n\t__u32 cmd;\n\t__u32 flags;\n\t__u32 reserved;\n\t__u32 len;\n\t__u64 data[0];\n};\n\nstruct ethtool_ts_info {\n\t__u32 cmd;\n\t__u32 so_timestamping;\n\t__s32 phc_index;\n\t__u32 tx_types;\n\t__u32 tx_reserved[3];\n\t__u32 rx_filters;\n\t__u32 rx_reserved[3];\n};\n\nstruct ethtool_ts_stats {\n\tunion {\n\t\tstruct {\n\t\t\tu64 pkts;\n\t\t\tu64 onestep_pkts_unconfirmed;\n\t\t\tu64 lost;\n\t\t\tu64 err;\n\t\t};\n\t\tstruct {\n\t\t\tu64 pkts;\n\t\t\tu64 onestep_pkts_unconfirmed;\n\t\t\tu64 lost;\n\t\t\tu64 err;\n\t\t} tx_stats;\n\t};\n};\n\nstruct ethtool_tunable {\n\t__u32 cmd;\n\t__u32 id;\n\t__u32 type_id;\n\t__u32 len;\n\tvoid *data[0];\n};\n\nstruct ethtool_value {\n\t__u32 cmd;\n\t__u32 data;\n};\n\nstruct ethtool_wolinfo {\n\t__u32 cmd;\n\t__u32 supported;\n\t__u32 wolopts;\n\t__u8 sopass[6];\n};\n\nstruct event_trigger_data;\n\nstruct event_trigger_ops;\n\nstruct event_command {\n\tstruct list_head list;\n\tchar *name;\n\tenum event_trigger_type trigger_type;\n\tint flags;\n\tint (*parse)(struct event_command *, struct trace_event_file *, char *, char *, char *);\n\tint (*reg)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tvoid (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tvoid (*unreg_all)(struct trace_event_file *);\n\tint (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *);\n\tstruct event_trigger_ops * (*get_trigger_ops)(char *, char *);\n};\n\nstruct event_counter {\n\tu32 count;\n\tu32 flags;\n};\n\nstruct event_file_link {\n\tstruct trace_event_file *file;\n\tstruct list_head list;\n};\n\nstruct prog_entry;\n\nstruct event_filter {\n\tstruct prog_entry *prog;\n\tchar *filter_string;\n};\n\nstruct perf_cpu_context;\n\nstruct perf_event_context;\n\ntypedef void (*event_f)(struct perf_event *, struct perf_cpu_context *, struct perf_event_context *, void *);\n\nstruct event_function_struct {\n\tstruct perf_event *event;\n\tevent_f func;\n\tvoid *data;\n};\n\nstruct event_header {\n\t__be16 data_len;\n\t__u8 notification_class: 3;\n\t__u8 reserved1: 4;\n\t__u8 nea: 1;\n\t__u8 supp_event_class;\n};\n\nstruct event_mod_load {\n\tstruct list_head list;\n\tchar *module;\n\tchar *match;\n\tchar *system;\n\tchar *event;\n};\n\nstruct event_subsystem {\n\tstruct list_head list;\n\tconst char *name;\n\tstruct event_filter *filter;\n\tint ref_count;\n};\n\nstruct event_trigger_data {\n\tlong unsigned int count;\n\tint ref;\n\tint flags;\n\tstruct event_trigger_ops *ops;\n\tstruct event_command *cmd_ops;\n\tstruct event_filter *filter;\n\tchar *filter_str;\n\tvoid *private_data;\n\tbool paused;\n\tbool paused_tmp;\n\tstruct list_head list;\n\tchar *name;\n\tstruct list_head named_list;\n\tstruct event_trigger_data *named_data;\n};\n\nstruct ring_buffer_event;\n\nstruct event_trigger_ops {\n\tvoid (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *);\n\tint (*init)(struct event_trigger_data *);\n\tvoid (*free)(struct event_trigger_data *);\n\tint (*print)(struct seq_file *, struct event_trigger_data *);\n};\n\nstruct eventfd_ctx {\n\tstruct kref kref;\n\twait_queue_head_t wqh;\n\t__u64 count;\n\tunsigned int flags;\n\tint id;\n};\n\nstruct eventfs_attr {\n\tint mode;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\ntypedef int (*eventfs_callback)(const char *, umode_t *, void **, const struct file_operations **);\n\ntypedef void (*eventfs_release)(const char *, void *);\n\nstruct eventfs_entry {\n\tconst char *name;\n\teventfs_callback callback;\n\teventfs_release release;\n};\n\nstruct eventfs_inode {\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct list_head children;\n\tconst struct eventfs_entry *entries;\n\tconst char *name;\n\tstruct eventfs_attr *entry_attrs;\n\tvoid *data;\n\tstruct eventfs_attr attr;\n\tstruct kref kref;\n\tunsigned int is_freed: 1;\n\tunsigned int is_events: 1;\n\tunsigned int nr_entries: 30;\n\tunsigned int ino;\n};\n\nstruct eventfs_root_inode {\n\tstruct eventfs_inode ei;\n\tstruct dentry *events_dir;\n};\n\nstruct eventpoll {\n\tstruct mutex mtx;\n\twait_queue_head_t wq;\n\twait_queue_head_t poll_wait;\n\tstruct list_head rdllist;\n\trwlock_t lock;\n\tstruct rb_root_cached rbr;\n\tstruct epitem *ovflist;\n\tstruct wakeup_source *ws;\n\tstruct user_struct *user;\n\tstruct file *file;\n\tu64 gen;\n\tstruct hlist_head refs;\n\trefcount_t refcount;\n\tunsigned int napi_id;\n\tu32 busy_poll_usecs;\n\tu16 busy_poll_budget;\n\tbool prefer_busy_poll;\n};\n\nstruct ewma_pkt_len {\n\tlong unsigned int internal;\n};\n\nstruct exar8250_board;\n\nstruct exar8250 {\n\tunsigned int nr;\n\tunsigned int osc_freq;\n\tstruct exar8250_board *board;\n\tstruct eeprom_93cx6 eeprom;\n\tvoid *virt;\n\tint line[0];\n};\n\nstruct exar8250_board {\n\tunsigned int num_ports;\n\tunsigned int reg_shift;\n\tint (*setup)(struct exar8250 *, struct pci_dev *, struct uart_8250_port *, int);\n\tvoid (*exit)(struct pci_dev *);\n};\n\nstruct exar8250_platform {\n\tint (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *);\n\tconst struct serial_rs485 *rs485_supported;\n\tint (*register_gpio)(struct pci_dev *, struct uart_8250_port *);\n\tvoid (*unregister_gpio)(struct uart_8250_port *);\n};\n\nstruct exception_table_entry {\n\tint insn;\n\tint fixup;\n\tshort int type;\n\tshort int data;\n};\n\nstruct execmem_range {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int fallback_start;\n\tlong unsigned int fallback_end;\n\tpgprot_t pgprot;\n\tunsigned int alignment;\n\tenum execmem_range_flags flags;\n};\n\nstruct execmem_info {\n\tstruct execmem_range ranges[5];\n};\n\nstruct execute_work {\n\tstruct work_struct work;\n};\n\nstruct exit_boot_struct {\n\tstruct efi_boot_memmap *boot_memmap;\n\tefi_memory_desc_t *runtime_map;\n\tint runtime_entry_count;\n\tvoid *new_fdt_addr;\n};\n\nstruct fid;\n\nstruct iomap;\n\nstruct iattr;\n\nstruct handle_to_path_ctx;\n\nstruct export_operations {\n\tint (*encode_fh)(struct inode *, __u32 *, int *, struct inode *);\n\tstruct dentry * (*fh_to_dentry)(struct super_block *, struct fid *, int, int);\n\tstruct dentry * (*fh_to_parent)(struct super_block *, struct fid *, int, int);\n\tint (*get_name)(struct dentry *, char *, struct dentry *);\n\tstruct dentry * (*get_parent)(struct dentry *);\n\tint (*commit_metadata)(struct inode *);\n\tint (*get_uuid)(struct super_block *, u8 *, u32 *, u64 *);\n\tint (*map_blocks)(struct inode *, loff_t, u64, struct iomap *, bool, u32 *);\n\tint (*commit_blocks)(struct inode *, struct iomap *, int, struct iattr *);\n\tint (*permission)(struct handle_to_path_ctx *, unsigned int);\n\tstruct file * (*open)(struct path *, unsigned int);\n\tlong unsigned int flags;\n};\n\nstruct ext4_free_extent {\n\text4_lblk_t fe_logical;\n\text4_grpblk_t fe_start;\n\text4_group_t fe_group;\n\text4_grpblk_t fe_len;\n};\n\nstruct ext4_prealloc_space;\n\nstruct ext4_locality_group;\n\nstruct ext4_allocation_context {\n\tstruct inode *ac_inode;\n\tstruct super_block *ac_sb;\n\tstruct ext4_free_extent ac_o_ex;\n\tstruct ext4_free_extent ac_g_ex;\n\tstruct ext4_free_extent ac_b_ex;\n\tstruct ext4_free_extent ac_f_ex;\n\text4_grpblk_t ac_orig_goal_len;\n\t__u32 ac_flags;\n\t__u32 ac_groups_linear_remaining;\n\t__u16 ac_groups_scanned;\n\t__u16 ac_found;\n\t__u16 ac_cX_found[5];\n\t__u16 ac_tail;\n\t__u16 ac_buddy;\n\t__u8 ac_status;\n\t__u8 ac_criteria;\n\t__u8 ac_2order;\n\t__u8 ac_op;\n\tstruct folio *ac_bitmap_folio;\n\tstruct folio *ac_buddy_folio;\n\tstruct ext4_prealloc_space *ac_pa;\n\tstruct ext4_locality_group *ac_lg;\n};\n\nstruct ext4_allocation_request {\n\tstruct inode *inode;\n\tunsigned int len;\n\text4_lblk_t logical;\n\text4_lblk_t lleft;\n\text4_lblk_t lright;\n\text4_fsblk_t goal;\n\text4_fsblk_t pleft;\n\text4_fsblk_t pright;\n\tunsigned int flags;\n};\n\nstruct ext4_attr {\n\tstruct attribute attr;\n\tshort int attr_id;\n\tshort int attr_ptr;\n\tshort unsigned int attr_size;\n\tunion {\n\t\tint offset;\n\t\tvoid *explicit_ptr;\n\t} u;\n};\n\nstruct ext4_group_info;\n\nstruct ext4_buddy {\n\tstruct folio *bd_buddy_folio;\n\tvoid *bd_buddy;\n\tstruct folio *bd_bitmap_folio;\n\tvoid *bd_bitmap;\n\tstruct ext4_group_info *bd_info;\n\tstruct super_block *bd_sb;\n\t__u16 bd_blkbits;\n\text4_group_t bd_group;\n};\n\nstruct ext4_dir_entry {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__le16 name_len;\n\tchar name[255];\n};\n\nstruct ext4_dir_entry_2 {\n\t__le32 inode;\n\t__le16 rec_len;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[255];\n};\n\nstruct ext4_dir_entry_hash {\n\t__le32 hash;\n\t__le32 minor_hash;\n};\n\nstruct ext4_dir_entry_tail {\n\t__le32 det_reserved_zero1;\n\t__le16 det_rec_len;\n\t__u8 det_reserved_zero2;\n\t__u8 det_reserved_ft;\n\t__le32 det_checksum;\n};\n\nstruct ext4_err_translation {\n\tint code;\n\tint errno;\n};\n\nstruct ext4_es_stats {\n\tlong unsigned int es_stats_shrunk;\n\tstruct percpu_counter es_stats_cache_hits;\n\tstruct percpu_counter es_stats_cache_misses;\n\tu64 es_stats_scan_time;\n\tu64 es_stats_max_scan_time;\n\tstruct percpu_counter es_stats_all_cnt;\n\tstruct percpu_counter es_stats_shk_cnt;\n};\n\nstruct extent_status;\n\nstruct ext4_es_tree {\n\tstruct rb_root root;\n\tstruct extent_status *cache_es;\n};\n\nstruct ext4_extent;\n\nstruct ext4_extent_idx;\n\nstruct ext4_extent_header;\n\nstruct ext4_ext_path {\n\text4_fsblk_t p_block;\n\t__u16 p_depth;\n\t__u16 p_maxdepth;\n\tstruct ext4_extent *p_ext;\n\tstruct ext4_extent_idx *p_idx;\n\tstruct ext4_extent_header *p_hdr;\n\tstruct buffer_head *p_bh;\n};\n\nstruct ext4_extent {\n\t__le32 ee_block;\n\t__le16 ee_len;\n\t__le16 ee_start_hi;\n\t__le32 ee_start_lo;\n};\n\nstruct ext4_extent_header {\n\t__le16 eh_magic;\n\t__le16 eh_entries;\n\t__le16 eh_max;\n\t__le16 eh_depth;\n\t__le32 eh_generation;\n};\n\nstruct ext4_extent_idx {\n\t__le32 ei_block;\n\t__le32 ei_leaf_lo;\n\t__le16 ei_leaf_hi;\n\t__u16 ei_unused;\n};\n\nstruct ext4_extent_tail {\n\t__le32 et_checksum;\n};\n\nstruct ext4_fc_add_range {\n\t__le32 fc_ino;\n\t__u8 fc_ex[12];\n};\n\nstruct ext4_fc_alloc_region {\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tint ino;\n\tint len;\n};\n\nstruct ext4_fc_del_range {\n\t__le32 fc_ino;\n\t__le32 fc_lblk;\n\t__le32 fc_len;\n};\n\nstruct ext4_fc_dentry_info {\n\t__le32 fc_parent_ino;\n\t__le32 fc_ino;\n\t__u8 fc_dname[0];\n};\n\nstruct name_snapshot {\n\tstruct qstr name;\n\tunion shortname_store inline_name;\n};\n\nstruct ext4_fc_dentry_update {\n\tint fcd_op;\n\tint fcd_parent;\n\tint fcd_ino;\n\tstruct name_snapshot fcd_name;\n\tstruct list_head fcd_list;\n\tstruct list_head fcd_dilist;\n};\n\nstruct ext4_fc_head {\n\t__le32 fc_features;\n\t__le32 fc_tid;\n};\n\nstruct ext4_fc_inode {\n\t__le32 fc_ino;\n\t__u8 fc_raw_inode[0];\n};\n\nstruct ext4_fc_replay_state {\n\tint fc_replay_num_tags;\n\tint fc_replay_expected_off;\n\tint fc_current_pass;\n\tint fc_cur_tag;\n\tint fc_crc;\n\tstruct ext4_fc_alloc_region *fc_regions;\n\tint fc_regions_size;\n\tint fc_regions_used;\n\tint fc_regions_valid;\n\tint *fc_modified_inodes;\n\tint fc_modified_inodes_used;\n\tint fc_modified_inodes_size;\n};\n\nstruct ext4_fc_stats {\n\tunsigned int fc_ineligible_reason_count[10];\n\tlong unsigned int fc_num_commits;\n\tlong unsigned int fc_ineligible_commits;\n\tlong unsigned int fc_failed_commits;\n\tlong unsigned int fc_skipped_commits;\n\tlong unsigned int fc_numblks;\n\tu64 s_fc_avg_commit_time;\n};\n\nstruct ext4_fc_tail {\n\t__le32 fc_tid;\n\t__le32 fc_crc;\n};\n\nstruct ext4_fc_tl {\n\t__le16 fc_tag;\n\t__le16 fc_len;\n};\n\nstruct ext4_fc_tl_mem {\n\tu16 fc_tag;\n\tu16 fc_len;\n};\n\nstruct fscrypt_str {\n\tunsigned char *name;\n\tu32 len;\n};\n\nstruct ext4_filename {\n\tconst struct qstr *usr_fname;\n\tstruct fscrypt_str disk_name;\n\tstruct dx_hash_info hinfo;\n};\n\nstruct ext4_free_data {\n\tstruct list_head efd_list;\n\tstruct rb_node efd_node;\n\text4_group_t efd_group;\n\text4_grpblk_t efd_start_cluster;\n\text4_grpblk_t efd_count;\n\ttid_t efd_tid;\n};\n\nstruct fscrypt_dummy_policy {};\n\nstruct ext4_fs_context {\n\tchar *s_qf_names[3];\n\tstruct fscrypt_dummy_policy dummy_enc_policy;\n\tint s_jquota_fmt;\n\tshort unsigned int qname_spec;\n\tlong unsigned int vals_s_flags;\n\tlong unsigned int mask_s_flags;\n\tlong unsigned int journal_devnum;\n\tlong unsigned int s_commit_interval;\n\tlong unsigned int s_stripe;\n\tunsigned int s_inode_readahead_blks;\n\tunsigned int s_want_extra_isize;\n\tunsigned int s_li_wait_mult;\n\tunsigned int s_max_dir_size_kb;\n\tunsigned int journal_ioprio;\n\tunsigned int vals_s_mount_opt;\n\tunsigned int mask_s_mount_opt;\n\tunsigned int vals_s_mount_opt2;\n\tunsigned int mask_s_mount_opt2;\n\tunsigned int opt_flags;\n\tunsigned int spec;\n\tu32 s_max_batch_time;\n\tu32 s_min_batch_time;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\text4_fsblk_t s_sb_block;\n};\n\nstruct ext4_fsmap {\n\tstruct list_head fmr_list;\n\tdev_t fmr_device;\n\tuint32_t fmr_flags;\n\tuint64_t fmr_physical;\n\tuint64_t fmr_owner;\n\tuint64_t fmr_length;\n};\n\nstruct ext4_fsmap_head {\n\tuint32_t fmh_iflags;\n\tuint32_t fmh_oflags;\n\tunsigned int fmh_count;\n\tunsigned int fmh_entries;\n\tstruct ext4_fsmap fmh_keys[2];\n};\n\nstruct ext4_getfsmap_info;\n\nstruct ext4_getfsmap_dev {\n\tint (*gfd_fn)(struct super_block *, struct ext4_fsmap *, struct ext4_getfsmap_info *);\n\tu32 gfd_dev;\n};\n\ntypedef int (*ext4_fsmap_format_t)(struct ext4_fsmap *, void *);\n\nstruct ext4_getfsmap_info {\n\tstruct ext4_fsmap_head *gfi_head;\n\text4_fsmap_format_t gfi_formatter;\n\tvoid *gfi_format_arg;\n\text4_fsblk_t gfi_next_fsblk;\n\tu32 gfi_dev;\n\text4_group_t gfi_agno;\n\tstruct ext4_fsmap gfi_low;\n\tstruct ext4_fsmap gfi_high;\n\tstruct ext4_fsmap gfi_lastfree;\n\tstruct list_head gfi_meta_list;\n\tbool gfi_last;\n};\n\nstruct ext4_group_desc {\n\t__le32 bg_block_bitmap_lo;\n\t__le32 bg_inode_bitmap_lo;\n\t__le32 bg_inode_table_lo;\n\t__le16 bg_free_blocks_count_lo;\n\t__le16 bg_free_inodes_count_lo;\n\t__le16 bg_used_dirs_count_lo;\n\t__le16 bg_flags;\n\t__le32 bg_exclude_bitmap_lo;\n\t__le16 bg_block_bitmap_csum_lo;\n\t__le16 bg_inode_bitmap_csum_lo;\n\t__le16 bg_itable_unused_lo;\n\t__le16 bg_checksum;\n\t__le32 bg_block_bitmap_hi;\n\t__le32 bg_inode_bitmap_hi;\n\t__le32 bg_inode_table_hi;\n\t__le16 bg_free_blocks_count_hi;\n\t__le16 bg_free_inodes_count_hi;\n\t__le16 bg_used_dirs_count_hi;\n\t__le16 bg_itable_unused_hi;\n\t__le32 bg_exclude_bitmap_hi;\n\t__le16 bg_block_bitmap_csum_hi;\n\t__le16 bg_inode_bitmap_csum_hi;\n\t__u32 bg_reserved;\n};\n\nstruct ext4_group_info {\n\tlong unsigned int bb_state;\n\tstruct rb_root bb_free_root;\n\text4_grpblk_t bb_first_free;\n\text4_grpblk_t bb_free;\n\text4_grpblk_t bb_fragments;\n\tint bb_avg_fragment_size_order;\n\text4_grpblk_t bb_largest_free_order;\n\text4_group_t bb_group;\n\tstruct list_head bb_prealloc_list;\n\tstruct rw_semaphore alloc_sem;\n\tstruct list_head bb_avg_fragment_size_node;\n\tstruct list_head bb_largest_free_order_node;\n\text4_grpblk_t bb_counters[0];\n};\n\nstruct ext4_iloc {\n\tstruct buffer_head *bh;\n\tlong unsigned int offset;\n\text4_group_t block_group;\n};\n\nstruct ext4_inode {\n\t__le16 i_mode;\n\t__le16 i_uid;\n\t__le32 i_size_lo;\n\t__le32 i_atime;\n\t__le32 i_ctime;\n\t__le32 i_mtime;\n\t__le32 i_dtime;\n\t__le16 i_gid;\n\t__le16 i_links_count;\n\t__le32 i_blocks_lo;\n\t__le32 i_flags;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 l_i_version;\n\t\t} linux1;\n\t\tstruct {\n\t\t\t__u32 h_i_translator;\n\t\t} hurd1;\n\t\tstruct {\n\t\t\t__u32 m_i_reserved1;\n\t\t} masix1;\n\t} osd1;\n\t__le32 i_block[15];\n\t__le32 i_generation;\n\t__le32 i_file_acl_lo;\n\t__le32 i_size_high;\n\t__le32 i_obso_faddr;\n\tunion {\n\t\tstruct {\n\t\t\t__le16 l_i_blocks_high;\n\t\t\t__le16 l_i_file_acl_high;\n\t\t\t__le16 l_i_uid_high;\n\t\t\t__le16 l_i_gid_high;\n\t\t\t__le16 l_i_checksum_lo;\n\t\t\t__le16 l_i_reserved;\n\t\t} linux2;\n\t\tstruct {\n\t\t\t__le16 h_i_reserved1;\n\t\t\t__u16 h_i_mode_high;\n\t\t\t__u16 h_i_uid_high;\n\t\t\t__u16 h_i_gid_high;\n\t\t\t__u32 h_i_author;\n\t\t} hurd2;\n\t\tstruct {\n\t\t\t__le16 h_i_reserved1;\n\t\t\t__le16 m_i_file_acl_high;\n\t\t\t__u32 m_i_reserved2[2];\n\t\t} masix2;\n\t} osd2;\n\t__le16 i_extra_isize;\n\t__le16 i_checksum_hi;\n\t__le32 i_ctime_extra;\n\t__le32 i_mtime_extra;\n\t__le32 i_atime_extra;\n\t__le32 i_crtime;\n\t__le32 i_crtime_extra;\n\t__le32 i_version_hi;\n\t__le32 i_projid;\n};\n\nstruct ext4_pending_tree {\n\tstruct rb_root root;\n};\n\nstruct jbd2_inode;\n\nstruct ext4_inode_info {\n\t__le32 i_data[15];\n\t__u32 i_dtime;\n\text4_fsblk_t i_file_acl;\n\text4_group_t i_block_group;\n\text4_lblk_t i_dir_start_lookup;\n\tlong unsigned int i_flags;\n\tstruct rw_semaphore xattr_sem;\n\tunion {\n\t\tstruct list_head i_orphan;\n\t\tunsigned int i_orphan_idx;\n\t};\n\tstruct list_head i_fc_dilist;\n\tstruct list_head i_fc_list;\n\text4_lblk_t i_fc_lblk_start;\n\text4_lblk_t i_fc_lblk_len;\n\tatomic_t i_fc_updates;\n\tatomic_t i_unwritten;\n\twait_queue_head_t i_fc_wait;\n\tstruct mutex i_fc_lock;\n\tloff_t i_disksize;\n\tstruct rw_semaphore i_data_sem;\n\tstruct inode vfs_inode;\n\tstruct jbd2_inode *jinode;\n\tspinlock_t i_raw_lock;\n\tstruct timespec64 i_crtime;\n\tatomic_t i_prealloc_active;\n\tunsigned int i_reserved_data_blocks;\n\tstruct rb_root i_prealloc_node;\n\trwlock_t i_prealloc_lock;\n\tstruct ext4_es_tree i_es_tree;\n\trwlock_t i_es_lock;\n\tstruct list_head i_es_list;\n\tunsigned int i_es_all_nr;\n\tunsigned int i_es_shk_nr;\n\text4_lblk_t i_es_shrink_lblk;\n\text4_group_t i_last_alloc_group;\n\tstruct ext4_pending_tree i_pending_tree;\n\t__u16 i_extra_isize;\n\tu16 i_inline_off;\n\tu16 i_inline_size;\n\tspinlock_t i_completed_io_lock;\n\tstruct list_head i_rsv_conversion_list;\n\tstruct work_struct i_rsv_conversion_work;\n\tspinlock_t i_block_reservation_lock;\n\ttid_t i_sync_tid;\n\ttid_t i_datasync_tid;\n\t__u32 i_csum_seed;\n\tkprojid_t i_projid;\n};\n\nstruct jbd2_journal_handle;\n\ntypedef struct jbd2_journal_handle handle_t;\n\nstruct ext4_io_end {\n\tstruct list_head list;\n\thandle_t *handle;\n\tstruct inode *inode;\n\tstruct bio *bio;\n\tunsigned int flag;\n\trefcount_t count;\n\tstruct list_head list_vec;\n};\n\ntypedef struct ext4_io_end ext4_io_end_t;\n\nstruct ext4_io_end_vec {\n\tstruct list_head list;\n\tloff_t offset;\n\tssize_t size;\n};\n\nstruct ext4_io_submit {\n\tstruct writeback_control *io_wbc;\n\tstruct bio *io_bio;\n\text4_io_end_t *io_end;\n\tsector_t io_next_block;\n};\n\nstruct ext4_journal_cb_entry {\n\tstruct list_head jce_list;\n\tvoid (*jce_func)(struct super_block *, struct ext4_journal_cb_entry *, int);\n};\n\nstruct jbd2_buffer_trigger_type {\n\tvoid (*t_frozen)(struct jbd2_buffer_trigger_type *, struct buffer_head *, void *, size_t);\n\tvoid (*t_abort)(struct jbd2_buffer_trigger_type *, struct buffer_head *);\n};\n\nstruct ext4_journal_trigger {\n\tstruct jbd2_buffer_trigger_type tr_triggers;\n\tstruct super_block *sb;\n};\n\nstruct ext4_lazy_init {\n\tlong unsigned int li_state;\n\tstruct list_head li_request_list;\n\tstruct mutex li_list_mtx;\n};\n\nstruct ext4_li_request {\n\tstruct super_block *lr_super;\n\tenum ext4_li_mode lr_mode;\n\text4_group_t lr_first_not_zeroed;\n\text4_group_t lr_next_group;\n\tstruct list_head lr_request;\n\tlong unsigned int lr_next_sched;\n\tlong unsigned int lr_timeout;\n};\n\nstruct ext4_locality_group {\n\tstruct mutex lg_mutex;\n\tstruct list_head lg_prealloc_list[10];\n\tspinlock_t lg_prealloc_lock;\n};\n\nstruct ext4_map_blocks {\n\text4_fsblk_t m_pblk;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\tunsigned int m_flags;\n};\n\nstruct ext4_mount_options {\n\tlong unsigned int s_mount_opt;\n\tlong unsigned int s_mount_opt2;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tlong unsigned int s_commit_interval;\n\tu32 s_min_batch_time;\n\tu32 s_max_batch_time;\n};\n\nstruct ext4_new_group_data;\n\nstruct ext4_new_flex_group_data {\n\tstruct ext4_new_group_data *groups;\n\t__u16 *bg_flags;\n\text4_group_t resize_bg;\n\text4_group_t count;\n};\n\nstruct ext4_new_group_data {\n\t__u32 group;\n\t__u64 block_bitmap;\n\t__u64 inode_bitmap;\n\t__u64 inode_table;\n\t__u32 blocks_count;\n\t__u16 reserved_blocks;\n\t__u16 mdata_blocks;\n\t__u32 free_clusters_count;\n};\n\nstruct ext4_new_group_input {\n\t__u32 group;\n\t__u64 block_bitmap;\n\t__u64 inode_bitmap;\n\t__u64 inode_table;\n\t__u32 blocks_count;\n\t__u16 reserved_blocks;\n\t__u16 unused;\n};\n\nstruct ext4_orphan_block {\n\tatomic_t ob_free_entries;\n\tstruct buffer_head *ob_bh;\n};\n\nstruct ext4_orphan_block_tail {\n\t__le32 ob_magic;\n\t__le32 ob_checksum;\n};\n\nstruct ext4_orphan_info {\n\tint of_blocks;\n\t__u32 of_csum_seed;\n\tstruct ext4_orphan_block *of_binfo;\n};\n\nstruct ext4_prealloc_space {\n\tunion {\n\t\tstruct rb_node inode_node;\n\t\tstruct list_head lg_list;\n\t} pa_node;\n\tstruct list_head pa_group_list;\n\tunion {\n\t\tstruct list_head pa_tmp_list;\n\t\tstruct callback_head pa_rcu;\n\t} u;\n\tspinlock_t pa_lock;\n\tatomic_t pa_count;\n\tunsigned int pa_deleted;\n\text4_fsblk_t pa_pstart;\n\text4_lblk_t pa_lstart;\n\text4_grpblk_t pa_len;\n\text4_grpblk_t pa_free;\n\tshort unsigned int pa_type;\n\tunion {\n\t\trwlock_t *inode_lock;\n\t\tspinlock_t *lg_lock;\n\t} pa_node_lock;\n\tstruct inode *pa_inode;\n};\n\nstruct ext4_rcu_ptr {\n\tstruct callback_head rcu;\n\tvoid *ptr;\n};\n\nstruct ext4_renament {\n\tstruct inode *dir;\n\tstruct dentry *dentry;\n\tstruct inode *inode;\n\tbool is_dir;\n\tint dir_nlink_delta;\n\tstruct buffer_head *bh;\n\tstruct ext4_dir_entry_2 *de;\n\tint inlined;\n\tstruct buffer_head *dir_bh;\n\tstruct ext4_dir_entry_2 *parent_de;\n\tint dir_inlined;\n};\n\nstruct rcu_sync {\n\tint gp_state;\n\tint gp_count;\n\twait_queue_head_t gp_wait;\n\tstruct callback_head cb_head;\n};\n\nstruct percpu_rw_semaphore {\n\tstruct rcu_sync rss;\n\tunsigned int *read_count;\n\tstruct rcuwait writer;\n\twait_queue_head_t waiters;\n\tatomic_t block;\n};\n\nstruct ext4_super_block;\n\nstruct journal_s;\n\nstruct ext4_system_blocks;\n\nstruct flex_groups;\n\nstruct shrinker;\n\nstruct mb_cache;\n\nstruct ext4_sb_info {\n\tlong unsigned int s_desc_size;\n\tlong unsigned int s_inodes_per_block;\n\tlong unsigned int s_blocks_per_group;\n\tlong unsigned int s_clusters_per_group;\n\tlong unsigned int s_inodes_per_group;\n\tlong unsigned int s_itb_per_group;\n\tlong unsigned int s_gdb_count;\n\tlong unsigned int s_desc_per_block;\n\text4_group_t s_groups_count;\n\text4_group_t s_blockfile_groups;\n\tlong unsigned int s_overhead;\n\tunsigned int s_cluster_ratio;\n\tunsigned int s_cluster_bits;\n\tloff_t s_bitmap_maxbytes;\n\tstruct buffer_head *s_sbh;\n\tstruct ext4_super_block *s_es;\n\tstruct buffer_head **s_group_desc;\n\tunsigned int s_mount_opt;\n\tunsigned int s_mount_opt2;\n\tlong unsigned int s_mount_flags;\n\tunsigned int s_def_mount_opt;\n\tunsigned int s_def_mount_opt2;\n\text4_fsblk_t s_sb_block;\n\tatomic64_t s_resv_clusters;\n\tkuid_t s_resuid;\n\tkgid_t s_resgid;\n\tshort unsigned int s_mount_state;\n\tshort unsigned int s_pad;\n\tint s_addr_per_block_bits;\n\tint s_desc_per_block_bits;\n\tint s_inode_size;\n\tint s_first_ino;\n\tunsigned int s_inode_readahead_blks;\n\tunsigned int s_inode_goal;\n\tu32 s_hash_seed[4];\n\tint s_def_hash_version;\n\tint s_hash_unsigned;\n\tstruct percpu_counter s_freeclusters_counter;\n\tstruct percpu_counter s_freeinodes_counter;\n\tstruct percpu_counter s_dirs_counter;\n\tstruct percpu_counter s_dirtyclusters_counter;\n\tstruct percpu_counter s_sra_exceeded_retry_limit;\n\tstruct blockgroup_lock *s_blockgroup_lock;\n\tstruct proc_dir_entry *s_proc;\n\tstruct kobject s_kobj;\n\tstruct completion s_kobj_unregister;\n\tstruct super_block *s_sb;\n\tstruct buffer_head *s_mmp_bh;\n\tstruct journal_s *s_journal;\n\tlong unsigned int s_ext4_flags;\n\tstruct mutex s_orphan_lock;\n\tstruct list_head s_orphan;\n\tstruct ext4_orphan_info s_orphan_info;\n\tlong unsigned int s_commit_interval;\n\tu32 s_max_batch_time;\n\tu32 s_min_batch_time;\n\tstruct file *s_journal_bdev_file;\n\tunsigned int s_want_extra_isize;\n\tstruct ext4_system_blocks *s_system_blks;\n\tstruct ext4_group_info ***s_group_info;\n\tstruct inode *s_buddy_cache;\n\tspinlock_t s_md_lock;\n\tshort unsigned int *s_mb_offsets;\n\tunsigned int *s_mb_maxs;\n\tunsigned int s_group_info_size;\n\tunsigned int s_mb_free_pending;\n\tstruct list_head s_freed_data_list[2];\n\tstruct list_head s_discard_list;\n\tstruct work_struct s_discard_work;\n\tatomic_t s_retry_alloc_pending;\n\tstruct list_head *s_mb_avg_fragment_size;\n\trwlock_t *s_mb_avg_fragment_size_locks;\n\tstruct list_head *s_mb_largest_free_orders;\n\trwlock_t *s_mb_largest_free_orders_locks;\n\tlong unsigned int s_stripe;\n\tunsigned int s_mb_max_linear_groups;\n\tunsigned int s_mb_stream_request;\n\tunsigned int s_mb_max_to_scan;\n\tunsigned int s_mb_min_to_scan;\n\tunsigned int s_mb_stats;\n\tunsigned int s_mb_order2_reqs;\n\tunsigned int s_mb_group_prealloc;\n\tunsigned int s_max_dir_size_kb;\n\tlong unsigned int s_mb_last_group;\n\tlong unsigned int s_mb_last_start;\n\tunsigned int s_mb_prefetch;\n\tunsigned int s_mb_prefetch_limit;\n\tunsigned int s_mb_best_avail_max_trim_order;\n\tatomic_t s_bal_reqs;\n\tatomic_t s_bal_success;\n\tatomic_t s_bal_allocated;\n\tatomic_t s_bal_ex_scanned;\n\tatomic_t s_bal_cX_ex_scanned[5];\n\tatomic_t s_bal_groups_scanned;\n\tatomic_t s_bal_goals;\n\tatomic_t s_bal_len_goals;\n\tatomic_t s_bal_breaks;\n\tatomic_t s_bal_2orders;\n\tatomic_t s_bal_p2_aligned_bad_suggestions;\n\tatomic_t s_bal_goal_fast_bad_suggestions;\n\tatomic_t s_bal_best_avail_bad_suggestions;\n\tatomic64_t s_bal_cX_groups_considered[5];\n\tatomic64_t s_bal_cX_hits[5];\n\tatomic64_t s_bal_cX_failed[5];\n\tatomic_t s_mb_buddies_generated;\n\tatomic64_t s_mb_generation_time;\n\tatomic_t s_mb_lost_chunks;\n\tatomic_t s_mb_preallocated;\n\tatomic_t s_mb_discarded;\n\tatomic_t s_lock_busy;\n\tstruct ext4_locality_group *s_locality_groups;\n\tlong unsigned int s_sectors_written_start;\n\tu64 s_kbytes_written;\n\tunsigned int s_extent_max_zeroout_kb;\n\tunsigned int s_log_groups_per_flex;\n\tstruct flex_groups **s_flex_groups;\n\text4_group_t s_flex_groups_allocated;\n\tstruct workqueue_struct *rsv_conversion_wq;\n\tstruct timer_list s_err_report;\n\tstruct ext4_li_request *s_li_request;\n\tunsigned int s_li_wait_mult;\n\tstruct task_struct *s_mmp_tsk;\n\tlong unsigned int s_last_trim_minblks;\n\t__u32 s_csum_seed;\n\tstruct shrinker *s_es_shrinker;\n\tstruct list_head s_es_list;\n\tlong int s_es_nr_inode;\n\tstruct ext4_es_stats s_es_stats;\n\tstruct mb_cache *s_ea_block_cache;\n\tstruct mb_cache *s_ea_inode_cache;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t s_es_lock;\n\tstruct ext4_journal_trigger s_journal_triggers[1];\n\tstruct ratelimit_state s_err_ratelimit_state;\n\tstruct ratelimit_state s_warning_ratelimit_state;\n\tstruct ratelimit_state s_msg_ratelimit_state;\n\tatomic_t s_warning_count;\n\tatomic_t s_msg_count;\n\tstruct fscrypt_dummy_policy s_dummy_enc_policy;\n\tstruct percpu_rw_semaphore s_writepages_rwsem;\n\tstruct dax_device *s_daxdev;\n\tu64 s_dax_part_off;\n\terrseq_t s_bdev_wb_err;\n\tspinlock_t s_bdev_wb_lock;\n\tspinlock_t s_error_lock;\n\tint s_add_error_count;\n\tint s_first_error_code;\n\t__u32 s_first_error_line;\n\t__u32 s_first_error_ino;\n\t__u64 s_first_error_block;\n\tconst char *s_first_error_func;\n\ttime64_t s_first_error_time;\n\tint s_last_error_code;\n\t__u32 s_last_error_line;\n\t__u32 s_last_error_ino;\n\t__u64 s_last_error_block;\n\tconst char *s_last_error_func;\n\ttime64_t s_last_error_time;\n\tstruct work_struct s_sb_upd_work;\n\tunsigned int s_awu_min;\n\tunsigned int s_awu_max;\n\tatomic_t s_fc_subtid;\n\tstruct list_head s_fc_q[2];\n\tstruct list_head s_fc_dentry_q[2];\n\tunsigned int s_fc_bytes;\n\tspinlock_t s_fc_lock;\n\tstruct buffer_head *s_fc_bh;\n\tstruct ext4_fc_stats s_fc_stats;\n\ttid_t s_fc_ineligible_tid;\n\tstruct ext4_fc_replay_state s_fc_replay_state;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct ext4_super_block {\n\t__le32 s_inodes_count;\n\t__le32 s_blocks_count_lo;\n\t__le32 s_r_blocks_count_lo;\n\t__le32 s_free_blocks_count_lo;\n\t__le32 s_free_inodes_count;\n\t__le32 s_first_data_block;\n\t__le32 s_log_block_size;\n\t__le32 s_log_cluster_size;\n\t__le32 s_blocks_per_group;\n\t__le32 s_clusters_per_group;\n\t__le32 s_inodes_per_group;\n\t__le32 s_mtime;\n\t__le32 s_wtime;\n\t__le16 s_mnt_count;\n\t__le16 s_max_mnt_count;\n\t__le16 s_magic;\n\t__le16 s_state;\n\t__le16 s_errors;\n\t__le16 s_minor_rev_level;\n\t__le32 s_lastcheck;\n\t__le32 s_checkinterval;\n\t__le32 s_creator_os;\n\t__le32 s_rev_level;\n\t__le16 s_def_resuid;\n\t__le16 s_def_resgid;\n\t__le32 s_first_ino;\n\t__le16 s_inode_size;\n\t__le16 s_block_group_nr;\n\t__le32 s_feature_compat;\n\t__le32 s_feature_incompat;\n\t__le32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\tchar s_volume_name[16];\n\tchar s_last_mounted[64];\n\t__le32 s_algorithm_usage_bitmap;\n\t__u8 s_prealloc_blocks;\n\t__u8 s_prealloc_dir_blocks;\n\t__le16 s_reserved_gdt_blocks;\n\t__u8 s_journal_uuid[16];\n\t__le32 s_journal_inum;\n\t__le32 s_journal_dev;\n\t__le32 s_last_orphan;\n\t__le32 s_hash_seed[4];\n\t__u8 s_def_hash_version;\n\t__u8 s_jnl_backup_type;\n\t__le16 s_desc_size;\n\t__le32 s_default_mount_opts;\n\t__le32 s_first_meta_bg;\n\t__le32 s_mkfs_time;\n\t__le32 s_jnl_blocks[17];\n\t__le32 s_blocks_count_hi;\n\t__le32 s_r_blocks_count_hi;\n\t__le32 s_free_blocks_count_hi;\n\t__le16 s_min_extra_isize;\n\t__le16 s_want_extra_isize;\n\t__le32 s_flags;\n\t__le16 s_raid_stride;\n\t__le16 s_mmp_update_interval;\n\t__le64 s_mmp_block;\n\t__le32 s_raid_stripe_width;\n\t__u8 s_log_groups_per_flex;\n\t__u8 s_checksum_type;\n\t__u8 s_encryption_level;\n\t__u8 s_reserved_pad;\n\t__le64 s_kbytes_written;\n\t__le32 s_snapshot_inum;\n\t__le32 s_snapshot_id;\n\t__le64 s_snapshot_r_blocks_count;\n\t__le32 s_snapshot_list;\n\t__le32 s_error_count;\n\t__le32 s_first_error_time;\n\t__le32 s_first_error_ino;\n\t__le64 s_first_error_block;\n\t__u8 s_first_error_func[32];\n\t__le32 s_first_error_line;\n\t__le32 s_last_error_time;\n\t__le32 s_last_error_ino;\n\t__le32 s_last_error_line;\n\t__le64 s_last_error_block;\n\t__u8 s_last_error_func[32];\n\t__u8 s_mount_opts[64];\n\t__le32 s_usr_quota_inum;\n\t__le32 s_grp_quota_inum;\n\t__le32 s_overhead_clusters;\n\t__le32 s_backup_bgs[2];\n\t__u8 s_encrypt_algos[4];\n\t__u8 s_encrypt_pw_salt[16];\n\t__le32 s_lpf_ino;\n\t__le32 s_prj_quota_inum;\n\t__le32 s_checksum_seed;\n\t__u8 s_wtime_hi;\n\t__u8 s_mtime_hi;\n\t__u8 s_mkfs_time_hi;\n\t__u8 s_lastcheck_hi;\n\t__u8 s_first_error_time_hi;\n\t__u8 s_last_error_time_hi;\n\t__u8 s_first_error_errcode;\n\t__u8 s_last_error_errcode;\n\t__le16 s_encoding;\n\t__le16 s_encoding_flags;\n\t__le32 s_orphan_file_inum;\n\t__le32 s_reserved[94];\n\t__le32 s_checksum;\n};\n\nstruct ext4_system_blocks {\n\tstruct rb_root root;\n\tstruct callback_head rcu;\n};\n\nstruct ext4_system_zone {\n\tstruct rb_node node;\n\text4_fsblk_t start_blk;\n\tunsigned int count;\n\tu32 ino;\n};\n\nstruct ext4_xattr_entry;\n\nstruct ext4_xattr_search {\n\tstruct ext4_xattr_entry *first;\n\tvoid *base;\n\tvoid *end;\n\tstruct ext4_xattr_entry *here;\n\tint not_found;\n};\n\nstruct ext4_xattr_block_find {\n\tstruct ext4_xattr_search s;\n\tstruct buffer_head *bh;\n};\n\nstruct ext4_xattr_entry {\n\t__u8 e_name_len;\n\t__u8 e_name_index;\n\t__le16 e_value_offs;\n\t__le32 e_value_inum;\n\t__le32 e_value_size;\n\t__le32 e_hash;\n\tchar e_name[0];\n};\n\nstruct ext4_xattr_header {\n\t__le32 h_magic;\n\t__le32 h_refcount;\n\t__le32 h_blocks;\n\t__le32 h_hash;\n\t__le32 h_checksum;\n\t__u32 h_reserved[3];\n};\n\nstruct ext4_xattr_ibody_find {\n\tstruct ext4_xattr_search s;\n\tstruct ext4_iloc iloc;\n};\n\nstruct ext4_xattr_ibody_header {\n\t__le32 h_magic;\n};\n\nstruct ext4_xattr_info {\n\tconst char *name;\n\tconst void *value;\n\tsize_t value_len;\n\tint name_index;\n\tint in_inode;\n};\n\nstruct ext4_xattr_inode_array {\n\tunsigned int count;\n\tstruct inode *inodes[0];\n};\n\nstruct ext_arg {\n\tsize_t argsz;\n\tstruct timespec64 ts;\n\tconst sigset_t *sig;\n\tktime_t min_time;\n\tbool ts_set;\n};\n\nstruct msg_msg;\n\nstruct ext_wait_queue {\n\tstruct task_struct *task;\n\tstruct list_head list;\n\tstruct msg_msg *msg;\n\tint state;\n};\n\nunion extcon_property_value {\n\tint intval;\n};\n\nstruct extcon_dev;\n\nstruct extcon_cable {\n\tstruct extcon_dev *edev;\n\tint cable_index;\n\tstruct attribute_group attr_g;\n\tstruct device_attribute attr_name;\n\tstruct device_attribute attr_state;\n\tstruct attribute *attrs[3];\n\tunion extcon_property_value usb_propval[3];\n\tunion extcon_property_value chg_propval[1];\n\tunion extcon_property_value jack_propval[1];\n\tunion extcon_property_value disp_propval[2];\n\tlong unsigned int usb_bits[1];\n\tlong unsigned int chg_bits[1];\n\tlong unsigned int jack_bits[1];\n\tlong unsigned int disp_bits[1];\n};\n\nstruct raw_notifier_head {\n\tstruct notifier_block *head;\n};\n\nstruct extcon_dev {\n\tconst char *name;\n\tconst unsigned int *supported_cable;\n\tconst u32 *mutually_exclusive;\n\tstruct device dev;\n\tunsigned int id;\n\tstruct raw_notifier_head nh_all;\n\tstruct raw_notifier_head *nh;\n\tstruct list_head entry;\n\tint max_supported;\n\tspinlock_t lock;\n\tu32 state;\n\tstruct device_type extcon_dev_type;\n\tstruct extcon_cable *cables;\n\tstruct attribute_group attr_g_muex;\n\tstruct attribute **attrs_muex;\n\tstruct device_attribute *d_attrs_muex;\n};\n\nstruct extcon_dev_notifier_devres {\n\tstruct extcon_dev *edev;\n\tunsigned int id;\n\tstruct notifier_block *nb;\n};\n\nstruct extent_status {\n\tstruct rb_node rb_node;\n\text4_lblk_t es_lblk;\n\text4_lblk_t es_len;\n\text4_fsblk_t es_pblk;\n};\n\nstruct external_name {\n\tatomic_t count;\n\tstruct callback_head head;\n\tunsigned char name[0];\n};\n\nstruct f815xxa_data {\n\tspinlock_t lock;\n\tint idx;\n};\n\nstruct f_owner_ex {\n\tint type;\n\t__kernel_pid_t pid;\n};\n\nstruct failover_ops;\n\nstruct failover {\n\tstruct list_head list;\n\tstruct net_device *failover_dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct failover_ops *ops;\n};\n\nstruct failover_ops {\n\tint (*slave_pre_register)(struct net_device *, struct net_device *);\n\tint (*slave_register)(struct net_device *, struct net_device *);\n\tint (*slave_pre_unregister)(struct net_device *, struct net_device *);\n\tint (*slave_unregister)(struct net_device *, struct net_device *);\n\tint (*slave_link_change)(struct net_device *, struct net_device *);\n\tint (*slave_name_change)(struct net_device *, struct net_device *);\n\trx_handler_result_t (*slave_handle_frame)(struct sk_buff **);\n};\n\nstruct fanotify_response_info_header {\n\t__u8 type;\n\t__u8 pad;\n\t__u16 len;\n};\n\nstruct fanotify_response_info_audit_rule {\n\tstruct fanotify_response_info_header hdr;\n\t__u32 rule_number;\n\t__u32 subj_trust;\n\t__u32 obj_trust;\n};\n\nstruct fanout_args {\n\t__u16 id;\n\t__u16 type_flags;\n\t__u32 max_num_members;\n};\n\nstruct fast_pool {\n\tlong unsigned int pool[4];\n\tlong unsigned int last;\n\tunsigned int count;\n\tstruct timer_list mix;\n};\n\nstruct request_sock;\n\nstruct tcp_fastopen_context;\n\nstruct fastopen_queue {\n\tstruct request_sock *rskq_rst_head;\n\tstruct request_sock *rskq_rst_tail;\n\tspinlock_t lock;\n\tint qlen;\n\tint max_qlen;\n\tstruct tcp_fastopen_context *ctx;\n};\n\nstruct fasync_struct {\n\trwlock_t fa_lock;\n\tint magic;\n\tint fa_fd;\n\tstruct fasync_struct *fa_next;\n\tstruct file *fa_file;\n\tstruct callback_head fa_rcu;\n};\n\nstruct fat_bios_param_block {\n\tu16 fat_sector_size;\n\tu8 fat_sec_per_clus;\n\tu16 fat_reserved;\n\tu8 fat_fats;\n\tu16 fat_dir_entries;\n\tu16 fat_sectors;\n\tu16 fat_fat_length;\n\tu32 fat_total_sect;\n\tu8 fat16_state;\n\tu32 fat16_vol_id;\n\tu32 fat32_length;\n\tu32 fat32_root_cluster;\n\tu16 fat32_info_sector;\n\tu8 fat32_state;\n\tu32 fat32_vol_id;\n};\n\nstruct fat_boot_fsinfo {\n\t__le32 signature1;\n\t__le32 reserved1[120];\n\t__le32 signature2;\n\t__le32 free_clusters;\n\t__le32 next_cluster;\n\t__le32 reserved2[4];\n};\n\nstruct fat_boot_sector {\n\t__u8 ignored[3];\n\t__u8 system_id[8];\n\t__u8 sector_size[2];\n\t__u8 sec_per_clus;\n\t__le16 reserved;\n\t__u8 fats;\n\t__u8 dir_entries[2];\n\t__u8 sectors[2];\n\t__u8 media;\n\t__le16 fat_length;\n\t__le16 secs_track;\n\t__le16 heads;\n\t__le32 hidden;\n\t__le32 total_sect;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 drive_number;\n\t\t\t__u8 state;\n\t\t\t__u8 signature;\n\t\t\t__u8 vol_id[4];\n\t\t\t__u8 vol_label[11];\n\t\t\t__u8 fs_type[8];\n\t\t} fat16;\n\t\tstruct {\n\t\t\t__le32 length;\n\t\t\t__le16 flags;\n\t\t\t__u8 version[2];\n\t\t\t__le32 root_cluster;\n\t\t\t__le16 info_sector;\n\t\t\t__le16 backup_boot;\n\t\t\t__le16 reserved2[6];\n\t\t\t__u8 drive_number;\n\t\t\t__u8 state;\n\t\t\t__u8 signature;\n\t\t\t__u8 vol_id[4];\n\t\t\t__u8 vol_label[11];\n\t\t\t__u8 fs_type[8];\n\t\t} fat32;\n\t};\n};\n\nstruct fat_cache {\n\tstruct list_head cache_list;\n\tint nr_contig;\n\tint fcluster;\n\tint dcluster;\n};\n\nstruct fat_cache_id {\n\tunsigned int id;\n\tint nr_contig;\n\tint fcluster;\n\tint dcluster;\n};\n\nstruct fat_entry {\n\tint entry;\n\tunion {\n\t\tu8 *ent12_p[2];\n\t\t__le16 *ent16_p;\n\t\t__le32 *ent32_p;\n\t} u;\n\tint nr_bhs;\n\tstruct buffer_head *bhs[2];\n\tstruct inode *fat_inode;\n};\n\nstruct fat_fid {\n\tu32 i_gen;\n\tu32 i_pos_low;\n\tu16 i_pos_hi;\n\tu16 parent_i_pos_hi;\n\tu32 parent_i_pos_low;\n\tu32 parent_i_gen;\n};\n\nstruct fat_floppy_defaults {\n\tunsigned int nr_sectors;\n\tunsigned int sec_per_clus;\n\tunsigned int dir_entries;\n\tunsigned int media;\n\tunsigned int fat_length;\n};\n\nstruct fat_ioctl_filldir_callback {\n\tstruct dir_context ctx;\n\tvoid *dirent;\n\tint result;\n\tconst char *longname;\n\tint long_len;\n\tconst char *shortname;\n\tint short_len;\n};\n\nstruct fat_mount_options {\n\tkuid_t fs_uid;\n\tkgid_t fs_gid;\n\tshort unsigned int fs_fmask;\n\tshort unsigned int fs_dmask;\n\tshort unsigned int codepage;\n\tint time_offset;\n\tchar *iocharset;\n\tshort unsigned int shortname;\n\tunsigned char name_check;\n\tunsigned char errors;\n\tunsigned char nfs;\n\tshort unsigned int allow_utime;\n\tunsigned int quiet: 1;\n\tunsigned int showexec: 1;\n\tunsigned int sys_immutable: 1;\n\tunsigned int dotsOK: 1;\n\tunsigned int isvfat: 1;\n\tunsigned int utf8: 1;\n\tunsigned int unicode_xlate: 1;\n\tunsigned int numtail: 1;\n\tunsigned int flush: 1;\n\tunsigned int nocase: 1;\n\tunsigned int usefree: 1;\n\tunsigned int tz_set: 1;\n\tunsigned int rodir: 1;\n\tunsigned int discard: 1;\n\tunsigned int dos1xfloppy: 1;\n\tunsigned int debug: 1;\n};\n\nstruct msdos_dir_entry;\n\nstruct fat_slot_info {\n\tloff_t i_pos;\n\tloff_t slot_off;\n\tint nr_slots;\n\tstruct msdos_dir_entry *de;\n\tstruct buffer_head *bh;\n};\n\nstruct fatent_operations {\n\tvoid (*ent_blocknr)(struct super_block *, int, int *, sector_t *);\n\tvoid (*ent_set_ptr)(struct fat_entry *, int);\n\tint (*ent_bread)(struct super_block *, struct fat_entry *, int, sector_t);\n\tint (*ent_get)(struct fat_entry *);\n\tvoid (*ent_put)(struct fat_entry *, int);\n\tint (*ent_next)(struct fat_entry *);\n};\n\nstruct fatent_ra {\n\tsector_t cur;\n\tsector_t limit;\n\tunsigned int ra_blocks;\n\tsector_t ra_advance;\n\tsector_t ra_next;\n\tsector_t ra_limit;\n};\n\nstruct faux_device {\n\tstruct device dev;\n};\n\nstruct faux_device_ops {\n\tint (*probe)(struct faux_device *);\n\tvoid (*remove)(struct faux_device *);\n};\n\nstruct faux_object {\n\tstruct faux_device faux_dev;\n\tconst struct faux_device_ops *faux_ops;\n};\n\nstruct fb_bitfield {\n\t__u32 offset;\n\t__u32 length;\n\t__u32 msb_right;\n};\n\nstruct fb_blit_caps {\n\tlong unsigned int x[1];\n\tlong unsigned int y[2];\n\tu32 len;\n\tu32 flags;\n};\n\nstruct fb_chroma {\n\t__u32 redx;\n\t__u32 greenx;\n\t__u32 bluex;\n\t__u32 whitex;\n\t__u32 redy;\n\t__u32 greeny;\n\t__u32 bluey;\n\t__u32 whitey;\n};\n\nstruct fb_cmap {\n\t__u32 start;\n\t__u32 len;\n\t__u16 *red;\n\t__u16 *green;\n\t__u16 *blue;\n\t__u16 *transp;\n};\n\nstruct fb_cmap32 {\n\tu32 start;\n\tu32 len;\n\tcompat_caddr_t red;\n\tcompat_caddr_t green;\n\tcompat_caddr_t blue;\n\tcompat_caddr_t transp;\n};\n\nstruct fb_cmap_user {\n\t__u32 start;\n\t__u32 len;\n\t__u16 *red;\n\t__u16 *green;\n\t__u16 *blue;\n\t__u16 *transp;\n};\n\nstruct fb_con2fbmap {\n\t__u32 console;\n\t__u32 framebuffer;\n};\n\nstruct fb_copyarea {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 sx;\n\t__u32 sy;\n};\n\nstruct fbcurpos {\n\t__u16 x;\n\t__u16 y;\n};\n\nstruct fb_image {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 fg_color;\n\t__u32 bg_color;\n\t__u8 depth;\n\tconst char *data;\n\tstruct fb_cmap cmap;\n};\n\nstruct fb_cursor {\n\t__u16 set;\n\t__u16 enable;\n\t__u16 rop;\n\tconst char *mask;\n\tstruct fbcurpos hot;\n\tstruct fb_image image;\n};\n\nstruct fb_cvt_data {\n\tu32 xres;\n\tu32 yres;\n\tu32 refresh;\n\tu32 f_refresh;\n\tu32 pixclock;\n\tu32 hperiod;\n\tu32 hblank;\n\tu32 hfreq;\n\tu32 htotal;\n\tu32 vtotal;\n\tu32 vsync;\n\tu32 hsync;\n\tu32 h_front_porch;\n\tu32 h_back_porch;\n\tu32 v_front_porch;\n\tu32 v_back_porch;\n\tu32 h_margin;\n\tu32 v_margin;\n\tu32 interlace;\n\tu32 aspect_ratio;\n\tu32 active_pixels;\n\tu32 flags;\n\tu32 status;\n};\n\nstruct fb_info;\n\nstruct fb_deferred_io {\n\tlong unsigned int delay;\n\tbool sort_pagereflist;\n\tint open_count;\n\tstruct mutex lock;\n\tstruct list_head pagereflist;\n\tstruct page * (*get_page)(struct fb_info *, long unsigned int);\n\tvoid (*deferred_io)(struct fb_info *, struct list_head *);\n};\n\nstruct fb_deferred_io_pageref {\n\tstruct page *page;\n\tlong unsigned int offset;\n\tstruct list_head list;\n};\n\nstruct fb_event {\n\tstruct fb_info *info;\n\tvoid *data;\n};\n\nstruct fb_fillrect {\n\t__u32 dx;\n\t__u32 dy;\n\t__u32 width;\n\t__u32 height;\n\t__u32 color;\n\t__u32 rop;\n};\n\nstruct fb_fix_screeninfo {\n\tchar id[16];\n\tlong unsigned int smem_start;\n\t__u32 smem_len;\n\t__u32 type;\n\t__u32 type_aux;\n\t__u32 visual;\n\t__u16 xpanstep;\n\t__u16 ypanstep;\n\t__u16 ywrapstep;\n\t__u32 line_length;\n\tlong unsigned int mmio_start;\n\t__u32 mmio_len;\n\t__u32 accel;\n\t__u16 capabilities;\n\t__u16 reserved[2];\n};\n\nstruct fb_fix_screeninfo32 {\n\tchar id[16];\n\tcompat_caddr_t smem_start;\n\tu32 smem_len;\n\tu32 type;\n\tu32 type_aux;\n\tu32 visual;\n\tu16 xpanstep;\n\tu16 ypanstep;\n\tu16 ywrapstep;\n\tu32 line_length;\n\tcompat_caddr_t mmio_start;\n\tu32 mmio_len;\n\tu32 accel;\n\tu16 reserved[3];\n};\n\nstruct fb_var_screeninfo {\n\t__u32 xres;\n\t__u32 yres;\n\t__u32 xres_virtual;\n\t__u32 yres_virtual;\n\t__u32 xoffset;\n\t__u32 yoffset;\n\t__u32 bits_per_pixel;\n\t__u32 grayscale;\n\tstruct fb_bitfield red;\n\tstruct fb_bitfield green;\n\tstruct fb_bitfield blue;\n\tstruct fb_bitfield transp;\n\t__u32 nonstd;\n\t__u32 activate;\n\t__u32 height;\n\t__u32 width;\n\t__u32 accel_flags;\n\t__u32 pixclock;\n\t__u32 left_margin;\n\t__u32 right_margin;\n\t__u32 upper_margin;\n\t__u32 lower_margin;\n\t__u32 hsync_len;\n\t__u32 vsync_len;\n\t__u32 sync;\n\t__u32 vmode;\n\t__u32 rotate;\n\t__u32 colorspace;\n\t__u32 reserved[4];\n};\n\nstruct fb_videomode;\n\nstruct fb_monspecs {\n\tstruct fb_chroma chroma;\n\tstruct fb_videomode *modedb;\n\t__u8 manufacturer[4];\n\t__u8 monitor[14];\n\t__u8 serial_no[14];\n\t__u8 ascii[14];\n\t__u32 modedb_len;\n\t__u32 model;\n\t__u32 serial;\n\t__u32 year;\n\t__u32 week;\n\t__u32 hfmin;\n\t__u32 hfmax;\n\t__u32 dclkmin;\n\t__u32 dclkmax;\n\t__u16 input;\n\t__u16 dpms;\n\t__u16 signal;\n\t__u16 vfmin;\n\t__u16 vfmax;\n\t__u16 gamma;\n\t__u16 gtf: 1;\n\t__u16 misc;\n\t__u8 version;\n\t__u8 revision;\n\t__u8 max_x;\n\t__u8 max_y;\n};\n\nstruct fb_pixmap {\n\tu8 *addr;\n\tu32 size;\n\tu32 offset;\n\tu32 buf_align;\n\tu32 scan_align;\n\tu32 access_align;\n\tu32 flags;\n\tlong unsigned int blit_x[1];\n\tlong unsigned int blit_y[2];\n\tvoid (*writeio)(struct fb_info *, void *, void *, unsigned int);\n\tvoid (*readio)(struct fb_info *, void *, void *, unsigned int);\n};\n\nstruct lcd_device;\n\nstruct fb_ops;\n\nstruct fb_info {\n\trefcount_t count;\n\tint node;\n\tint flags;\n\tint fbcon_rotate_hint;\n\tstruct mutex lock;\n\tstruct mutex mm_lock;\n\tstruct fb_var_screeninfo var;\n\tstruct fb_fix_screeninfo fix;\n\tstruct fb_monspecs monspecs;\n\tstruct fb_pixmap pixmap;\n\tstruct fb_pixmap sprite;\n\tstruct fb_cmap cmap;\n\tstruct list_head modelist;\n\tstruct fb_videomode *mode;\n\tstruct lcd_device *lcd_dev;\n\tstruct delayed_work deferred_work;\n\tlong unsigned int npagerefs;\n\tstruct fb_deferred_io_pageref *pagerefs;\n\tstruct fb_deferred_io *fbdefio;\n\tconst struct fb_ops *fbops;\n\tstruct device *device;\n\tstruct device *dev;\n\tint class_flag;\n\tunion {\n\t\tchar *screen_base;\n\t\tchar *screen_buffer;\n\t};\n\tlong unsigned int screen_size;\n\tvoid *pseudo_palette;\n\tu32 state;\n\tvoid *fbcon_par;\n\tvoid *par;\n\tbool skip_vt_switch;\n\tbool skip_panic;\n};\n\nstruct fb_videomode {\n\tconst char *name;\n\tu32 refresh;\n\tu32 xres;\n\tu32 yres;\n\tu32 pixclock;\n\tu32 left_margin;\n\tu32 right_margin;\n\tu32 upper_margin;\n\tu32 lower_margin;\n\tu32 hsync_len;\n\tu32 vsync_len;\n\tu32 sync;\n\tu32 vmode;\n\tu32 flag;\n};\n\nstruct fb_modelist {\n\tstruct list_head list;\n\tstruct fb_videomode mode;\n};\n\nstruct fb_ops {\n\tstruct module *owner;\n\tint (*fb_open)(struct fb_info *, int);\n\tint (*fb_release)(struct fb_info *, int);\n\tssize_t (*fb_read)(struct fb_info *, char *, size_t, loff_t *);\n\tssize_t (*fb_write)(struct fb_info *, const char *, size_t, loff_t *);\n\tint (*fb_check_var)(struct fb_var_screeninfo *, struct fb_info *);\n\tint (*fb_set_par)(struct fb_info *);\n\tint (*fb_setcolreg)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, struct fb_info *);\n\tint (*fb_setcmap)(struct fb_cmap *, struct fb_info *);\n\tint (*fb_blank)(int, struct fb_info *);\n\tint (*fb_pan_display)(struct fb_var_screeninfo *, struct fb_info *);\n\tvoid (*fb_fillrect)(struct fb_info *, const struct fb_fillrect *);\n\tvoid (*fb_copyarea)(struct fb_info *, const struct fb_copyarea *);\n\tvoid (*fb_imageblit)(struct fb_info *, const struct fb_image *);\n\tint (*fb_cursor)(struct fb_info *, struct fb_cursor *);\n\tint (*fb_sync)(struct fb_info *);\n\tint (*fb_ioctl)(struct fb_info *, unsigned int, long unsigned int);\n\tint (*fb_compat_ioctl)(struct fb_info *, unsigned int, long unsigned int);\n\tint (*fb_mmap)(struct fb_info *, struct vm_area_struct *);\n\tvoid (*fb_get_caps)(struct fb_info *, struct fb_blit_caps *, struct fb_var_screeninfo *);\n\tvoid (*fb_destroy)(struct fb_info *);\n\tint (*fb_debug_enter)(struct fb_info *);\n\tint (*fb_debug_leave)(struct fb_info *);\n};\n\nstruct fbcon_display {\n\tconst u_char *fontdata;\n\tint userfont;\n\tu_short inverse;\n\tshort int yscroll;\n\tint vrows;\n\tint cursor_shape;\n\tint con_rotate;\n\tu32 xres_virtual;\n\tu32 yres_virtual;\n\tu32 height;\n\tu32 width;\n\tu32 bits_per_pixel;\n\tu32 grayscale;\n\tu32 nonstd;\n\tu32 accel_flags;\n\tu32 rotate;\n\tstruct fb_bitfield red;\n\tstruct fb_bitfield green;\n\tstruct fb_bitfield blue;\n\tstruct fb_bitfield transp;\n\tconst struct fb_videomode *mode;\n};\n\nstruct fbcon_ops {\n\tvoid (*bmove)(struct vc_data *, struct fb_info *, int, int, int, int, int, int);\n\tvoid (*clear)(struct vc_data *, struct fb_info *, int, int, int, int);\n\tvoid (*putcs)(struct vc_data *, struct fb_info *, const short unsigned int *, int, int, int, int, int);\n\tvoid (*clear_margins)(struct vc_data *, struct fb_info *, int, int);\n\tvoid (*cursor)(struct vc_data *, struct fb_info *, bool, int, int);\n\tint (*update_start)(struct fb_info *);\n\tint (*rotate_font)(struct fb_info *, struct vc_data *);\n\tstruct fb_var_screeninfo var;\n\tstruct delayed_work cursor_work;\n\tstruct fb_cursor cursor_state;\n\tstruct fbcon_display *p;\n\tstruct fb_info *info;\n\tint currcon;\n\tint cur_blink_jiffies;\n\tint cursor_flash;\n\tint cursor_reset;\n\tint blank_state;\n\tint graphics;\n\tint save_graphics;\n\tbool initialized;\n\tint rotate;\n\tint cur_rotate;\n\tchar *cursor_data;\n\tu8 *fontbuffer;\n\tu8 *fontdata;\n\tu8 *cursor_src;\n\tu32 cursor_size;\n\tu32 fd_size;\n};\n\nstruct fc_log {\n\trefcount_t usage;\n\tu8 head;\n\tu8 tail;\n\tu8 need_free;\n\tstruct module *owner;\n\tchar *buffer[8];\n};\n\nstruct fd {\n\tlong unsigned int word;\n};\n\ntypedef struct fd class_fd_pos_t;\n\ntypedef struct fd class_fd_raw_t;\n\ntypedef struct fd class_fd_t;\n\nstruct fd_data {\n\tfmode_t mode;\n\tunsigned int fd;\n};\n\nstruct fd_range {\n\tunsigned int from;\n\tunsigned int to;\n};\n\nstruct fdt_errtabent {\n\tconst char *str;\n};\n\nstruct fdt_header {\n\tfdt32_t magic;\n\tfdt32_t totalsize;\n\tfdt32_t off_dt_struct;\n\tfdt32_t off_dt_strings;\n\tfdt32_t off_mem_rsvmap;\n\tfdt32_t version;\n\tfdt32_t last_comp_version;\n\tfdt32_t boot_cpuid_phys;\n\tfdt32_t size_dt_strings;\n\tfdt32_t size_dt_struct;\n};\n\nstruct fdt_node_header {\n\tfdt32_t tag;\n\tchar name[0];\n};\n\nstruct fdt_property {\n\tfdt32_t tag;\n\tfdt32_t len;\n\tfdt32_t nameoff;\n\tchar data[0];\n};\n\nstruct fdt_reserve_entry {\n\tfdt64_t address;\n\tfdt64_t size;\n};\n\nstruct fdtable {\n\tunsigned int max_fds;\n\tstruct file **fd;\n\tlong unsigned int *close_on_exec;\n\tlong unsigned int *open_fds;\n\tlong unsigned int *full_fds_bits;\n\tstruct callback_head rcu;\n};\n\nstruct features_reply_data {\n\tstruct ethnl_reply_data base;\n\tu32 hw[2];\n\tu32 wanted[2];\n\tu32 active[2];\n\tu32 nochange[2];\n\tu32 all[2];\n};\n\nstruct fec_stat_grp {\n\tu64 stats[9];\n\tu8 cnt;\n};\n\nstruct fec_reply_data {\n\tstruct ethnl_reply_data base;\n\tlong unsigned int fec_link_modes[2];\n\tu32 active_fec;\n\tu8 fec_auto;\n\tstruct fec_stat_grp corr;\n\tstruct fec_stat_grp uncorr;\n\tstruct fec_stat_grp corr_bits;\n};\n\nstruct fetch_insn {\n\tenum fetch_op op;\n\tunion {\n\t\tunsigned int param;\n\t\tstruct {\n\t\t\tunsigned int size;\n\t\t\tint offset;\n\t\t};\n\t\tstruct {\n\t\t\tunsigned char basesize;\n\t\t\tunsigned char lshift;\n\t\t\tunsigned char rshift;\n\t\t};\n\t\tlong unsigned int immediate;\n\t\tvoid *data;\n\t};\n};\n\nstruct trace_seq;\n\ntypedef int (*print_type_func_t)(struct trace_seq *, void *, void *);\n\nstruct fetch_type {\n\tconst char *name;\n\tsize_t size;\n\tbool is_signed;\n\tbool is_string;\n\tprint_type_func_t print;\n\tconst char *fmt;\n\tconst char *fmttype;\n};\n\nstruct ff_condition_effect {\n\t__u16 right_saturation;\n\t__u16 left_saturation;\n\t__s16 right_coeff;\n\t__s16 left_coeff;\n\t__u16 deadband;\n\t__s16 center;\n};\n\nstruct ff_envelope {\n\t__u16 attack_length;\n\t__u16 attack_level;\n\t__u16 fade_length;\n\t__u16 fade_level;\n};\n\nstruct ff_constant_effect {\n\t__s16 level;\n\tstruct ff_envelope envelope;\n};\n\nstruct ff_effect;\n\nstruct ff_device {\n\tint (*upload)(struct input_dev *, struct ff_effect *, struct ff_effect *);\n\tint (*erase)(struct input_dev *, int);\n\tint (*playback)(struct input_dev *, int, int);\n\tvoid (*set_gain)(struct input_dev *, u16);\n\tvoid (*set_autocenter)(struct input_dev *, u16);\n\tvoid (*destroy)(struct ff_device *);\n\tvoid *private;\n\tlong unsigned int ffbit[2];\n\tstruct mutex mutex;\n\tint max_effects;\n\tstruct ff_effect *effects;\n\tstruct file *effect_owners[0];\n};\n\nstruct ff_trigger {\n\t__u16 button;\n\t__u16 interval;\n};\n\nstruct ff_replay {\n\t__u16 length;\n\t__u16 delay;\n};\n\nstruct ff_ramp_effect {\n\t__s16 start_level;\n\t__s16 end_level;\n\tstruct ff_envelope envelope;\n};\n\nstruct ff_periodic_effect {\n\t__u16 waveform;\n\t__u16 period;\n\t__s16 magnitude;\n\t__s16 offset;\n\t__u16 phase;\n\tstruct ff_envelope envelope;\n\t__u32 custom_len;\n\t__s16 *custom_data;\n};\n\nstruct ff_rumble_effect {\n\t__u16 strong_magnitude;\n\t__u16 weak_magnitude;\n};\n\nstruct ff_effect {\n\t__u16 type;\n\t__s16 id;\n\t__u16 direction;\n\tstruct ff_trigger trigger;\n\tstruct ff_replay replay;\n\tunion {\n\t\tstruct ff_constant_effect constant;\n\t\tstruct ff_ramp_effect ramp;\n\t\tstruct ff_periodic_effect periodic;\n\t\tstruct ff_condition_effect condition[2];\n\t\tstruct ff_rumble_effect rumble;\n\t} u;\n};\n\nstruct ff_periodic_effect_compat {\n\t__u16 waveform;\n\t__u16 period;\n\t__s16 magnitude;\n\t__s16 offset;\n\t__u16 phase;\n\tstruct ff_envelope envelope;\n\t__u32 custom_len;\n\tcompat_uptr_t custom_data;\n};\n\nstruct ff_effect_compat {\n\t__u16 type;\n\t__s16 id;\n\t__u16 direction;\n\tstruct ff_trigger trigger;\n\tstruct ff_replay replay;\n\tunion {\n\t\tstruct ff_constant_effect constant;\n\t\tstruct ff_ramp_effect ramp;\n\t\tstruct ff_periodic_effect_compat periodic;\n\t\tstruct ff_condition_effect condition[2];\n\t\tstruct ff_rumble_effect rumble;\n\t} u;\n};\n\nstruct fib6_node;\n\nstruct fib6_walker {\n\tstruct list_head lh;\n\tstruct fib6_node *root;\n\tstruct fib6_node *node;\n\tstruct fib6_info *leaf;\n\tenum fib6_walk_state state;\n\tunsigned int skip;\n\tunsigned int count;\n\tunsigned int skip_in_node;\n\tint (*func)(struct fib6_walker *);\n\tvoid *args;\n};\n\nstruct fib6_cleaner {\n\tstruct fib6_walker w;\n\tstruct net *net;\n\tint (*func)(struct fib6_info *, void *);\n\tint sernum;\n\tvoid *arg;\n\tbool skip_notify;\n};\n\nstruct nlmsghdr;\n\nstruct nl_info {\n\tstruct nlmsghdr *nlh;\n\tstruct net *nl_net;\n\tu32 portid;\n\tu8 skip_notify: 1;\n\tu8 skip_notify_kernel: 1;\n};\n\nstruct fib6_config {\n\tu32 fc_table;\n\tu32 fc_metric;\n\tint fc_dst_len;\n\tint fc_src_len;\n\tint fc_ifindex;\n\tu32 fc_flags;\n\tu32 fc_protocol;\n\tu16 fc_type;\n\tu16 fc_delete_all_nh: 1;\n\tu16 fc_ignore_dev_down: 1;\n\tu16 __unused: 14;\n\tu32 fc_nh_id;\n\tstruct in6_addr fc_dst;\n\tstruct in6_addr fc_src;\n\tstruct in6_addr fc_prefsrc;\n\tstruct in6_addr fc_gateway;\n\tlong unsigned int fc_expires;\n\tstruct nlattr *fc_mx;\n\tint fc_mx_len;\n\tint fc_mp_len;\n\tstruct nlattr *fc_mp;\n\tstruct nl_info fc_nlinfo;\n\tstruct nlattr *fc_encap;\n\tu16 fc_encap_type;\n\tbool fc_is_fdb;\n};\n\nstruct fib6_dump_arg {\n\tstruct net *net;\n\tstruct notifier_block *nb;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct fib_notifier_info {\n\tint family;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct fib6_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct fib6_info *rt;\n\tunsigned int nsiblings;\n};\n\nstruct fib6_gc_args {\n\tint timeout;\n\tint more;\n};\n\nstruct rt6key {\n\tstruct in6_addr addr;\n\tint plen;\n};\n\nstruct rtable;\n\nstruct fnhe_hash_bucket;\n\nstruct fib_nh_common {\n\tstruct net_device *nhc_dev;\n\tnetdevice_tracker nhc_dev_tracker;\n\tint nhc_oif;\n\tunsigned char nhc_scope;\n\tu8 nhc_family;\n\tu8 nhc_gw_family;\n\tunsigned char nhc_flags;\n\tstruct lwtunnel_state *nhc_lwtstate;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} nhc_gw;\n\tint nhc_weight;\n\tatomic_t nhc_upper_bound;\n\tstruct rtable **nhc_pcpu_rth_output;\n\tstruct rtable *nhc_rth_input;\n\tstruct fnhe_hash_bucket *nhc_exceptions;\n};\n\nstruct rt6_info;\n\nstruct rt6_exception_bucket;\n\nstruct fib6_nh {\n\tstruct fib_nh_common nh_common;\n\tstruct rt6_info **rt6i_pcpu;\n\tstruct rt6_exception_bucket *rt6i_exception_bucket;\n};\n\nstruct fib6_table;\n\nstruct nexthop;\n\nstruct fib6_info {\n\tstruct fib6_table *fib6_table;\n\tstruct fib6_info *fib6_next;\n\tstruct fib6_node *fib6_node;\n\tunion {\n\t\tstruct list_head fib6_siblings;\n\t\tstruct list_head nh_list;\n\t};\n\tunsigned int fib6_nsiblings;\n\trefcount_t fib6_ref;\n\tlong unsigned int expires;\n\tstruct hlist_node gc_link;\n\tstruct dst_metrics *fib6_metrics;\n\tstruct rt6key fib6_dst;\n\tu32 fib6_flags;\n\tstruct rt6key fib6_src;\n\tstruct rt6key fib6_prefsrc;\n\tu32 fib6_metric;\n\tu8 fib6_protocol;\n\tu8 fib6_type;\n\tu8 offload;\n\tu8 trap;\n\tu8 offload_failed;\n\tu8 should_flush: 1;\n\tu8 dst_nocount: 1;\n\tu8 dst_nopolicy: 1;\n\tu8 fib6_destroying: 1;\n\tu8 unused: 4;\n\tstruct callback_head rcu;\n\tstruct nexthop *nh;\n\tstruct fib6_nh fib6_nh[0];\n};\n\nstruct fib6_nh_age_excptn_arg {\n\tstruct fib6_gc_args *gc_args;\n\tlong unsigned int now;\n};\n\nstruct fib6_nh_del_cached_rt_arg {\n\tstruct fib6_config *cfg;\n\tstruct fib6_info *f6i;\n};\n\nstruct fib6_nh_dm_arg {\n\tstruct net *net;\n\tconst struct in6_addr *saddr;\n\tint oif;\n\tint flags;\n\tstruct fib6_nh *nh;\n};\n\nstruct rt6_rtnl_dump_arg;\n\nstruct fib6_nh_exception_dump_walker {\n\tstruct rt6_rtnl_dump_arg *dump;\n\tstruct fib6_info *rt;\n\tunsigned int flags;\n\tunsigned int skip;\n\tunsigned int count;\n};\n\nstruct fib6_nh_excptn_arg {\n\tstruct rt6_info *rt;\n\tint plen;\n};\n\nstruct fib6_nh_frl_arg {\n\tu32 flags;\n\tint oif;\n\tint strict;\n\tint *mpri;\n\tbool *do_rr;\n\tstruct fib6_nh *nh;\n};\n\nstruct fib6_nh_match_arg {\n\tconst struct net_device *dev;\n\tconst struct in6_addr *gw;\n\tstruct fib6_nh *match;\n};\n\nstruct fib6_nh_pcpu_arg {\n\tstruct fib6_info *from;\n\tconst struct fib6_table *table;\n};\n\nstruct fib6_result;\n\nstruct flowi6;\n\nstruct fib6_nh_rd_arg {\n\tstruct fib6_result *res;\n\tstruct flowi6 *fl6;\n\tconst struct in6_addr *gw;\n\tstruct rt6_info **ret;\n};\n\nstruct fib6_node {\n\tstruct fib6_node *parent;\n\tstruct fib6_node *left;\n\tstruct fib6_node *right;\n\tstruct fib6_info *leaf;\n\t__u16 fn_bit;\n\t__u16 fn_flags;\n\tint fn_sernum;\n\tstruct fib6_info *rr_ptr;\n\tstruct callback_head rcu;\n};\n\nstruct fib6_result {\n\tstruct fib6_nh *nh;\n\tstruct fib6_info *f6i;\n\tu32 fib6_flags;\n\tu8 fib6_type;\n\tstruct rt6_info *rt6;\n};\n\nstruct inet_peer_base {\n\tstruct rb_root rb_root;\n\tseqlock_t lock;\n\tint total;\n};\n\nstruct fib6_table {\n\tstruct hlist_node tb6_hlist;\n\tu32 tb6_id;\n\tspinlock_t tb6_lock;\n\tstruct fib6_node tb6_root;\n\tstruct inet_peer_base tb6_peers;\n\tunsigned int flags;\n\tunsigned int fib_seq;\n\tstruct hlist_head tb6_gc_hlist;\n};\n\nstruct fib_info;\n\nstruct fib_alias {\n\tstruct hlist_node fa_list;\n\tstruct fib_info *fa_info;\n\tdscp_t fa_dscp;\n\tu8 fa_type;\n\tu8 fa_state;\n\tu8 fa_slen;\n\tu32 tb_id;\n\ts16 fa_default;\n\tu8 offload;\n\tu8 trap;\n\tu8 offload_failed;\n\tstruct callback_head rcu;\n};\n\nstruct rtnexthop;\n\nstruct fib_config {\n\tu8 fc_dst_len;\n\tdscp_t fc_dscp;\n\tu8 fc_protocol;\n\tu8 fc_scope;\n\tu8 fc_type;\n\tu8 fc_gw_family;\n\tu32 fc_table;\n\t__be32 fc_dst;\n\tunion {\n\t\t__be32 fc_gw4;\n\t\tstruct in6_addr fc_gw6;\n\t};\n\tint fc_oif;\n\tu32 fc_flags;\n\tu32 fc_priority;\n\t__be32 fc_prefsrc;\n\tu32 fc_nh_id;\n\tstruct nlattr *fc_mx;\n\tstruct rtnexthop *fc_mp;\n\tint fc_mx_len;\n\tint fc_mp_len;\n\tu32 fc_flow;\n\tu32 fc_nlflags;\n\tstruct nl_info fc_nlinfo;\n\tstruct nlattr *fc_encap;\n\tu16 fc_encap_type;\n};\n\nstruct fib_dump_filter {\n\tu32 table_id;\n\tbool filter_set;\n\tbool dump_routes;\n\tbool dump_exceptions;\n\tbool rtnl_held;\n\tunsigned char protocol;\n\tunsigned char rt_type;\n\tunsigned int flags;\n\tstruct net_device *dev;\n};\n\nstruct fib_entry_notifier_info {\n\tstruct fib_notifier_info info;\n\tu32 dst;\n\tint dst_len;\n\tstruct fib_info *fi;\n\tdscp_t dscp;\n\tu8 type;\n\tu32 tb_id;\n};\n\nstruct fib_nh {\n\tstruct fib_nh_common nh_common;\n\tstruct hlist_node nh_hash;\n\tstruct fib_info *nh_parent;\n\t__be32 nh_saddr;\n\tint nh_saddr_genid;\n};\n\nstruct fib_info {\n\tstruct hlist_node fib_hash;\n\tstruct hlist_node fib_lhash;\n\tstruct list_head nh_list;\n\tstruct net *fib_net;\n\trefcount_t fib_treeref;\n\trefcount_t fib_clntref;\n\tunsigned int fib_flags;\n\tunsigned char fib_dead;\n\tunsigned char fib_protocol;\n\tunsigned char fib_scope;\n\tunsigned char fib_type;\n\t__be32 fib_prefsrc;\n\tu32 fib_tb_id;\n\tu32 fib_priority;\n\tstruct dst_metrics *fib_metrics;\n\tint fib_nhs;\n\tbool fib_nh_is_v6;\n\tbool nh_updated;\n\tbool pfsrc_removed;\n\tstruct nexthop *nh;\n\tstruct callback_head rcu;\n\tstruct fib_nh fib_nh[0];\n};\n\nstruct fib_kuid_range {\n\tkuid_t start;\n\tkuid_t end;\n};\n\nstruct fib_rule;\n\nstruct fib_lookup_arg {\n\tvoid *lookup_ptr;\n\tconst void *lookup_data;\n\tvoid *result;\n\tstruct fib_rule *rule;\n\tu32 table;\n\tint flags;\n};\n\nstruct fib_nh_exception {\n\tstruct fib_nh_exception *fnhe_next;\n\tint fnhe_genid;\n\t__be32 fnhe_daddr;\n\tu32 fnhe_pmtu;\n\tbool fnhe_mtu_locked;\n\t__be32 fnhe_gw;\n\tlong unsigned int fnhe_expires;\n\tstruct rtable *fnhe_rth_input;\n\tstruct rtable *fnhe_rth_output;\n\tlong unsigned int fnhe_stamp;\n\tstruct callback_head rcu;\n};\n\nstruct fib_nh_notifier_info {\n\tstruct fib_notifier_info info;\n\tstruct fib_nh *fib_nh;\n};\n\nstruct fib_notifier_net {\n\tstruct list_head fib_notifier_ops;\n\tstruct atomic_notifier_head fib_chain;\n};\n\nstruct fib_notifier_ops {\n\tint family;\n\tstruct list_head list;\n\tunsigned int (*fib_seq_read)(const struct net *);\n\tint (*fib_dump)(struct net *, struct notifier_block *, struct netlink_ext_ack *);\n\tstruct module *owner;\n\tstruct callback_head rcu;\n};\n\nstruct fib_prop {\n\tint error;\n\tu8 scope;\n};\n\nstruct fib_table;\n\nstruct fib_result {\n\t__be32 prefix;\n\tunsigned char prefixlen;\n\tunsigned char nh_sel;\n\tunsigned char type;\n\tunsigned char scope;\n\tu32 tclassid;\n\tdscp_t dscp;\n\tstruct fib_nh_common *nhc;\n\tstruct fib_info *fi;\n\tstruct fib_table *table;\n\tstruct hlist_head *fa_head;\n};\n\nstruct fib_result_nl {\n\t__be32 fl_addr;\n\tu32 fl_mark;\n\tunsigned char fl_tos;\n\tunsigned char fl_scope;\n\tunsigned char tb_id_in;\n\tunsigned char tb_id;\n\tunsigned char prefixlen;\n\tunsigned char nh_sel;\n\tunsigned char type;\n\tunsigned char scope;\n\tint err;\n};\n\nstruct key_vector;\n\nstruct fib_route_iter {\n\tstruct seq_net_private p;\n\tstruct fib_table *main_tb;\n\tstruct key_vector *tnode;\n\tloff_t pos;\n\tt_key key;\n};\n\nstruct fib_rt_info {\n\tstruct fib_info *fi;\n\tu32 tb_id;\n\t__be32 dst;\n\tint dst_len;\n\tdscp_t dscp;\n\tu8 type;\n\tu8 offload: 1;\n\tu8 trap: 1;\n\tu8 offload_failed: 1;\n\tu8 unused: 5;\n};\n\nstruct fib_rule_port_range {\n\t__u16 start;\n\t__u16 end;\n};\n\nstruct fib_rule {\n\tstruct list_head list;\n\tint iifindex;\n\tint oifindex;\n\tu32 mark;\n\tu32 mark_mask;\n\tu32 flags;\n\tu32 table;\n\tu8 action;\n\tu8 l3mdev;\n\tu8 proto;\n\tu8 ip_proto;\n\tu32 target;\n\t__be64 tun_id;\n\tstruct fib_rule *ctarget;\n\tstruct net *fr_net;\n\trefcount_t refcnt;\n\tu32 pref;\n\tint suppress_ifgroup;\n\tint suppress_prefixlen;\n\tchar iifname[16];\n\tchar oifname[16];\n\tstruct fib_kuid_range uid_range;\n\tstruct fib_rule_port_range sport_range;\n\tstruct fib_rule_port_range dport_range;\n\tstruct callback_head rcu;\n};\n\nstruct fib_table {\n\tstruct hlist_node tb_hlist;\n\tu32 tb_id;\n\tint tb_num_default;\n\tstruct callback_head rcu;\n\tlong unsigned int *tb_data;\n\tlong unsigned int __data[0];\n};\n\nstruct fib_trie_iter {\n\tstruct seq_net_private p;\n\tstruct fib_table *tb;\n\tstruct key_vector *tnode;\n\tunsigned int index;\n\tunsigned int depth;\n};\n\nstruct fid {\n\tunion {\n\t\tstruct {\n\t\t\tu32 ino;\n\t\t\tu32 gen;\n\t\t\tu32 parent_ino;\n\t\t\tu32 parent_gen;\n\t\t} i32;\n\t\tstruct {\n\t\t\tu64 ino;\n\t\t\tu32 gen;\n\t\t} __attribute__((packed)) i64;\n\t\tstruct {\n\t\t\tu32 block;\n\t\t\tu16 partref;\n\t\t\tu16 parent_partref;\n\t\t\tu32 generation;\n\t\t\tu32 parent_block;\n\t\t\tu32 parent_generation;\n\t\t} udf;\n\t\tstruct {\n\t\t\tstruct {} __empty_raw;\n\t\t\t__u32 raw[0];\n\t\t};\n\t};\n};\n\nstruct fiemap_extent {\n\t__u64 fe_logical;\n\t__u64 fe_physical;\n\t__u64 fe_length;\n\t__u64 fe_reserved64[2];\n\t__u32 fe_flags;\n\t__u32 fe_reserved[3];\n};\n\nstruct fiemap {\n\t__u64 fm_start;\n\t__u64 fm_length;\n\t__u32 fm_flags;\n\t__u32 fm_mapped_extents;\n\t__u32 fm_extent_count;\n\t__u32 fm_reserved;\n\tstruct fiemap_extent fm_extents[0];\n};\n\nstruct fiemap_extent_info {\n\tunsigned int fi_flags;\n\tunsigned int fi_extents_mapped;\n\tunsigned int fi_extents_max;\n\tstruct fiemap_extent *fi_extents_start;\n};\n\nstruct file__safe_trusted {\n\tstruct inode *f_inode;\n};\n\nstruct file_clone_range {\n\t__s64 src_fd;\n\t__u64 src_offset;\n\t__u64 src_length;\n\t__u64 dest_offset;\n};\n\nstruct file_dedupe_range_info {\n\t__s64 dest_fd;\n\t__u64 dest_offset;\n\t__u64 bytes_deduped;\n\t__s32 status;\n\t__u32 reserved;\n};\n\nstruct file_dedupe_range {\n\t__u64 src_offset;\n\t__u64 src_length;\n\t__u16 dest_count;\n\t__u16 reserved1;\n\t__u32 reserved2;\n\tstruct file_dedupe_range_info info[0];\n};\n\nstruct file_handle {\n\t__u32 handle_bytes;\n\tint handle_type;\n\tunsigned char f_handle[0];\n};\n\nstruct file_lock_core {\n\tstruct file_lock_core *flc_blocker;\n\tstruct list_head flc_list;\n\tstruct hlist_node flc_link;\n\tstruct list_head flc_blocked_requests;\n\tstruct list_head flc_blocked_member;\n\tfl_owner_t flc_owner;\n\tunsigned int flc_flags;\n\tunsigned char flc_type;\n\tpid_t flc_pid;\n\tint flc_link_cpu;\n\twait_queue_head_t flc_wait;\n\tstruct file *flc_file;\n};\n\nstruct lease_manager_operations;\n\nstruct file_lease {\n\tstruct file_lock_core c;\n\tstruct fasync_struct *fl_fasync;\n\tlong unsigned int fl_break_time;\n\tlong unsigned int fl_downgrade_time;\n\tconst struct lease_manager_operations *fl_lmops;\n};\n\nstruct nlm_lockowner;\n\nstruct nfs_lock_info {\n\tu32 state;\n\tstruct nlm_lockowner *owner;\n\tstruct list_head list;\n};\n\nstruct nfs4_lock_state;\n\nstruct nfs4_lock_info {\n\tstruct nfs4_lock_state *owner;\n};\n\nstruct file_lock_operations;\n\nstruct lock_manager_operations;\n\nstruct file_lock {\n\tstruct file_lock_core c;\n\tloff_t fl_start;\n\tloff_t fl_end;\n\tconst struct file_lock_operations *fl_ops;\n\tconst struct lock_manager_operations *fl_lmops;\n\tunion {\n\t\tstruct nfs_lock_info nfs_fl;\n\t\tstruct nfs4_lock_info nfs4_fl;\n\t\tstruct {\n\t\t\tstruct list_head link;\n\t\t\tint state;\n\t\t\tunsigned int debug_id;\n\t\t} afs;\n\t\tstruct {\n\t\t\tstruct inode *inode;\n\t\t} ceph;\n\t} fl_u;\n};\n\nstruct file_lock_context {\n\tspinlock_t flc_lock;\n\tstruct list_head flc_flock;\n\tstruct list_head flc_posix;\n\tstruct list_head flc_lease;\n};\n\nstruct file_lock_list_struct {\n\tspinlock_t lock;\n\tstruct hlist_head hlist;\n};\n\nstruct file_lock_operations {\n\tvoid (*fl_copy_lock)(struct file_lock *, struct file_lock *);\n\tvoid (*fl_release_private)(struct file_lock *);\n};\n\nstruct io_uring_cmd;\n\nstruct file_operations {\n\tstruct module *owner;\n\tfop_flags_t fop_flags;\n\tloff_t (*llseek)(struct file *, loff_t, int);\n\tssize_t (*read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*write)(struct file *, const char *, size_t, loff_t *);\n\tssize_t (*read_iter)(struct kiocb *, struct iov_iter *);\n\tssize_t (*write_iter)(struct kiocb *, struct iov_iter *);\n\tint (*iopoll)(struct kiocb *, struct io_comp_batch *, unsigned int);\n\tint (*iterate_shared)(struct file *, struct dir_context *);\n\t__poll_t (*poll)(struct file *, struct poll_table_struct *);\n\tlong int (*unlocked_ioctl)(struct file *, unsigned int, long unsigned int);\n\tlong int (*compat_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*mmap)(struct file *, struct vm_area_struct *);\n\tint (*open)(struct inode *, struct file *);\n\tint (*flush)(struct file *, fl_owner_t);\n\tint (*release)(struct inode *, struct file *);\n\tint (*fsync)(struct file *, loff_t, loff_t, int);\n\tint (*fasync)(int, struct file *, int);\n\tint (*lock)(struct file *, int, struct file_lock *);\n\tlong unsigned int (*get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tint (*check_flags)(int);\n\tint (*flock)(struct file *, int, struct file_lock *);\n\tssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);\n\tssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*splice_eof)(struct file *);\n\tint (*setlease)(struct file *, int, struct file_lease **, void **);\n\tlong int (*fallocate)(struct file *, int, loff_t, loff_t);\n\tvoid (*show_fdinfo)(struct seq_file *, struct file *);\n\tssize_t (*copy_file_range)(struct file *, loff_t, struct file *, loff_t, size_t, unsigned int);\n\tloff_t (*remap_file_range)(struct file *, loff_t, struct file *, loff_t, loff_t, unsigned int);\n\tint (*fadvise)(struct file *, loff_t, loff_t, int);\n\tint (*uring_cmd)(struct io_uring_cmd *, unsigned int);\n\tint (*uring_cmd_iopoll)(struct io_uring_cmd *, struct io_comp_batch *, unsigned int);\n};\n\nstruct file_range {\n\tconst struct path *path;\n\tloff_t pos;\n\tsize_t count;\n};\n\nstruct page_counter;\n\nstruct file_region {\n\tstruct list_head link;\n\tlong int from;\n\tlong int to;\n\tstruct page_counter *reservation_counter;\n\tstruct cgroup_subsys_state *css;\n};\n\nstruct file_security_struct {\n\tu32 sid;\n\tu32 fown_sid;\n\tu32 isid;\n\tu32 pseqno;\n};\n\nstruct fs_context;\n\nstruct fs_parameter_spec;\n\nstruct file_system_type {\n\tconst char *name;\n\tint fs_flags;\n\tint (*init_fs_context)(struct fs_context *);\n\tconst struct fs_parameter_spec *parameters;\n\tstruct dentry * (*mount)(struct file_system_type *, int, const char *, void *);\n\tvoid (*kill_sb)(struct super_block *);\n\tstruct module *owner;\n\tstruct file_system_type *next;\n\tstruct hlist_head fs_supers;\n\tstruct lock_class_key s_lock_key;\n\tstruct lock_class_key s_umount_key;\n\tstruct lock_class_key s_vfs_rename_key;\n\tstruct lock_class_key s_writers_key[3];\n\tstruct lock_class_key i_lock_key;\n\tstruct lock_class_key i_mutex_key;\n\tstruct lock_class_key invalidate_lock_key;\n\tstruct lock_class_key i_mutex_dir_key;\n};\n\nstruct fileattr {\n\tu32 flags;\n\tu32 fsx_xflags;\n\tu32 fsx_extsize;\n\tu32 fsx_nextents;\n\tu32 fsx_projid;\n\tu32 fsx_cowextsize;\n\tbool flags_valid: 1;\n\tbool fsx_valid: 1;\n};\n\nstruct filename {\n\tconst char *name;\n\tconst char *uptr;\n\tatomic_t refcnt;\n\tstruct audit_names *aname;\n\tconst char iname[0];\n};\n\nstruct filename_trans_datum {\n\tstruct ebitmap stypes;\n\tu32 otype;\n\tstruct filename_trans_datum *next;\n};\n\nstruct filename_trans_key {\n\tu32 ttype;\n\tu16 tclass;\n\tconst char *name;\n};\n\nstruct files_stat_struct {\n\tlong unsigned int nr_files;\n\tlong unsigned int nr_free_files;\n\tlong unsigned int max_files;\n};\n\nstruct files_struct {\n\tatomic_t count;\n\tbool resize_in_progress;\n\twait_queue_head_t resize_wait;\n\tstruct fdtable *fdt;\n\tstruct fdtable fdtab;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t file_lock;\n\tunsigned int next_fd;\n\tlong unsigned int close_on_exec_init[1];\n\tlong unsigned int open_fds_init[1];\n\tlong unsigned int full_fds_bits_init[1];\n\tstruct file *fd_array[64];\n\tlong: 64;\n};\n\nstruct filter_list {\n\tstruct list_head list;\n\tstruct event_filter *filter;\n};\n\nstruct filter_parse_error {\n\tint lasterr;\n\tint lasterr_pos;\n};\n\nstruct regex;\n\nstruct ftrace_event_field;\n\nstruct filter_pred {\n\tstruct regex *regex;\n\tstruct cpumask *mask;\n\tshort unsigned int *ops;\n\tstruct ftrace_event_field *field;\n\tu64 val;\n\tu64 val2;\n\tenum filter_pred_fn fn_num;\n\tint offset;\n\tint not;\n\tint op;\n};\n\nstruct find_child_walk_data {\n\tstruct acpi_device *adev;\n\tu64 address;\n\tint score;\n\tbool check_sta;\n\tbool check_children;\n};\n\nstruct find_interface_arg {\n\tint minor;\n\tstruct device_driver *drv;\n};\n\nstruct kernel_symbol;\n\nstruct find_symbol_arg {\n\tconst char *name;\n\tbool gplok;\n\tbool warn;\n\tstruct module *owner;\n\tconst u32 *crc;\n\tconst struct kernel_symbol *sym;\n\tenum mod_license license;\n};\n\nstruct finfo {\n\tefi_file_info_t info;\n\tefi_char16_t filename[256];\n};\n\nstruct firmware {\n\tsize_t size;\n\tconst u8 *data;\n\tvoid *priv;\n};\n\nstruct firmware_cache {\n\tspinlock_t lock;\n\tstruct list_head head;\n\tint state;\n\tspinlock_t name_lock;\n\tstruct list_head fw_names;\n\tstruct delayed_work work;\n\tstruct notifier_block pm_notify;\n};\n\nstruct firmware_work {\n\tstruct work_struct work;\n\tstruct module *module;\n\tconst char *name;\n\tstruct device *device;\n\tvoid *context;\n\tvoid (*cont)(const struct firmware *, void *);\n\tu32 opt_flags;\n};\n\nstruct fixed_dev_type {\n\tbool has_enable_clock;\n\tbool has_performance_state;\n};\n\nstruct mii_bus;\n\nstruct fixed_mdio_bus {\n\tstruct mii_bus *mii_bus;\n\tstruct list_head phys;\n};\n\nstruct mtd_partition;\n\nstruct fixed_partitions_quirks {\n\tint (*post_parse)(struct mtd_info *, struct mtd_partition *, int);\n};\n\nstruct fixed_phy_status {\n\tint link;\n\tint speed;\n\tint duplex;\n\tint pause;\n\tint asym_pause;\n};\n\nstruct fixed_phy {\n\tint addr;\n\tstruct phy_device *phydev;\n\tstruct fixed_phy_status status;\n\tbool no_carrier;\n\tint (*link_update)(struct net_device *, struct fixed_phy_status *);\n\tstruct list_head node;\n\tstruct gpio_desc *link_gpiod;\n};\n\nstruct regulator_init_data;\n\nstruct fixed_voltage_config {\n\tconst char *supply_name;\n\tconst char *input_supply;\n\tint microvolts;\n\tunsigned int startup_delay;\n\tunsigned int off_on_delay;\n\tunsigned int enabled_at_boot: 1;\n\tstruct regulator_init_data *init_data;\n};\n\nstruct regulator_state {\n\tint uV;\n\tint min_uV;\n\tint max_uV;\n\tunsigned int mode;\n\tint enabled;\n\tbool changeable;\n};\n\nstruct notification_limit {\n\tint prot;\n\tint err;\n\tint warn;\n};\n\nstruct regulation_constraints {\n\tconst char *name;\n\tint min_uV;\n\tint max_uV;\n\tint uV_offset;\n\tint min_uA;\n\tint max_uA;\n\tint ilim_uA;\n\tint pw_budget_mW;\n\tint system_load;\n\tu32 *max_spread;\n\tint max_uV_step;\n\tunsigned int valid_modes_mask;\n\tunsigned int valid_ops_mask;\n\tint input_uV;\n\tstruct regulator_state state_disk;\n\tstruct regulator_state state_mem;\n\tstruct regulator_state state_standby;\n\tstruct notification_limit over_curr_limits;\n\tstruct notification_limit over_voltage_limits;\n\tstruct notification_limit under_voltage_limits;\n\tstruct notification_limit temp_limits;\n\tsuspend_state_t initial_state;\n\tunsigned int initial_mode;\n\tunsigned int ramp_delay;\n\tunsigned int settling_time;\n\tunsigned int settling_time_up;\n\tunsigned int settling_time_down;\n\tunsigned int enable_time;\n\tunsigned int uv_less_critical_window_ms;\n\tunsigned int active_discharge;\n\tunsigned int always_on: 1;\n\tunsigned int boot_on: 1;\n\tunsigned int apply_uV: 1;\n\tunsigned int ramp_disable: 1;\n\tunsigned int soft_start: 1;\n\tunsigned int pull_down: 1;\n\tunsigned int system_critical: 1;\n\tunsigned int over_current_protection: 1;\n\tunsigned int over_current_detection: 1;\n\tunsigned int over_voltage_detection: 1;\n\tunsigned int under_voltage_detection: 1;\n\tunsigned int over_temp_detection: 1;\n};\n\nstruct regulator_consumer_supply;\n\nstruct regulator_init_data {\n\tconst char *supply_regulator;\n\tstruct regulation_constraints constraints;\n\tint num_consumer_supplies;\n\tstruct regulator_consumer_supply *consumer_supplies;\n\tvoid *driver_data;\n};\n\nstruct pdev_archdata {};\n\nstruct platform_device_id;\n\nstruct platform_device {\n\tconst char *name;\n\tint id;\n\tbool id_auto;\n\tstruct device dev;\n\tu64 platform_dma_mask;\n\tstruct device_dma_parameters dma_parms;\n\tu32 num_resources;\n\tstruct resource *resource;\n\tconst struct platform_device_id *id_entry;\n\tconst char *driver_override;\n\tstruct mfd_cell *mfd_cell;\n\tstruct pdev_archdata archdata;\n};\n\nstruct fixed_regulator_data {\n\tstruct fixed_voltage_config cfg;\n\tstruct regulator_init_data init_data;\n\tstruct platform_device pdev;\n};\n\nstruct regulator_config;\n\nstruct regulator_ops;\n\nstruct linear_range;\n\nstruct regulator_desc {\n\tconst char *name;\n\tconst char *supply_name;\n\tconst char *of_match;\n\tbool of_match_full_name;\n\tconst char *regulators_node;\n\tint (*of_parse_cb)(struct device_node *, const struct regulator_desc *, struct regulator_config *);\n\tint (*init_cb)(struct regulator_dev *, struct regulator_config *);\n\tint id;\n\tunsigned int continuous_voltage_range: 1;\n\tunsigned int n_voltages;\n\tunsigned int n_current_limits;\n\tconst struct regulator_ops *ops;\n\tint irq;\n\tenum regulator_type type;\n\tstruct module *owner;\n\tunsigned int min_uV;\n\tunsigned int uV_step;\n\tunsigned int linear_min_sel;\n\tint fixed_uV;\n\tunsigned int ramp_delay;\n\tint min_dropout_uV;\n\tconst struct linear_range *linear_ranges;\n\tconst unsigned int *linear_range_selectors_bitfield;\n\tint n_linear_ranges;\n\tconst unsigned int *volt_table;\n\tconst unsigned int *curr_table;\n\tunsigned int vsel_range_reg;\n\tunsigned int vsel_range_mask;\n\tbool range_applied_by_vsel;\n\tunsigned int vsel_reg;\n\tunsigned int vsel_mask;\n\tunsigned int vsel_step;\n\tunsigned int csel_reg;\n\tunsigned int csel_mask;\n\tunsigned int apply_reg;\n\tunsigned int apply_bit;\n\tunsigned int enable_reg;\n\tunsigned int enable_mask;\n\tunsigned int enable_val;\n\tunsigned int disable_val;\n\tbool enable_is_inverted;\n\tunsigned int bypass_reg;\n\tunsigned int bypass_mask;\n\tunsigned int bypass_val_on;\n\tunsigned int bypass_val_off;\n\tunsigned int active_discharge_on;\n\tunsigned int active_discharge_off;\n\tunsigned int active_discharge_mask;\n\tunsigned int active_discharge_reg;\n\tunsigned int soft_start_reg;\n\tunsigned int soft_start_mask;\n\tunsigned int soft_start_val_on;\n\tunsigned int pull_down_reg;\n\tunsigned int pull_down_mask;\n\tunsigned int pull_down_val_on;\n\tunsigned int ramp_reg;\n\tunsigned int ramp_mask;\n\tconst unsigned int *ramp_delay_table;\n\tunsigned int n_ramp_values;\n\tunsigned int enable_time;\n\tunsigned int off_on_delay;\n\tunsigned int poll_enabled_time;\n\tunsigned int (*of_map_mode)(unsigned int);\n};\n\nstruct fixed_voltage_data {\n\tstruct regulator_desc desc;\n\tstruct regulator_dev *dev;\n\tstruct clk *enable_clock;\n\tunsigned int enable_counter;\n\tint performance_state;\n};\n\nstruct spi_nor_id;\n\nstruct spi_nor_otp_organization;\n\nstruct spi_nor_fixups;\n\nstruct flash_info {\n\tchar *name;\n\tconst struct spi_nor_id *id;\n\tsize_t size;\n\tunsigned int sector_size;\n\tu16 page_size;\n\tu8 n_banks;\n\tu8 addr_nbytes;\n\tu16 flags;\n\tu8 no_sfdp_flags;\n\tu8 fixup_flags;\n\tu8 mfr_flags;\n\tconst struct spi_nor_otp_organization *otp;\n\tconst struct spi_nor_fixups *fixups;\n};\n\nstruct flash_platform_data {\n\tchar *name;\n\tstruct mtd_partition *parts;\n\tunsigned int nr_parts;\n\tchar *type;\n};\n\nstruct flex_groups {\n\tatomic64_t free_clusters;\n\tatomic_t free_inodes;\n\tatomic_t used_dirs;\n};\n\nstruct flock {\n\tshort int l_type;\n\tshort int l_whence;\n\t__kernel_off_t l_start;\n\t__kernel_off_t l_len;\n\t__kernel_pid_t l_pid;\n};\n\nstruct flock64 {\n\tshort int l_type;\n\tshort int l_whence;\n\t__kernel_loff_t l_start;\n\t__kernel_loff_t l_len;\n\t__kernel_pid_t l_pid;\n};\n\ntypedef void (*action_destr)(void *);\n\nstruct nf_flowtable;\n\nstruct ip_tunnel_info;\n\nstruct psample_group;\n\nstruct flow_action_cookie;\n\nstruct flow_action_entry {\n\tenum flow_action_id id;\n\tu32 hw_index;\n\tlong unsigned int cookie;\n\tu64 miss_cookie;\n\tenum flow_action_hw_stats hw_stats;\n\taction_destr destructor;\n\tvoid *destructor_priv;\n\tunion {\n\t\tu32 chain_index;\n\t\tstruct net_device *dev;\n\t\tstruct {\n\t\t\tu16 vid;\n\t\t\t__be16 proto;\n\t\t\tu8 prio;\n\t\t} vlan;\n\t\tstruct {\n\t\t\tunsigned char dst[6];\n\t\t\tunsigned char src[6];\n\t\t} vlan_push_eth;\n\t\tstruct {\n\t\t\tenum flow_action_mangle_base htype;\n\t\t\tu32 offset;\n\t\t\tu32 mask;\n\t\t\tu32 val;\n\t\t} mangle;\n\t\tstruct ip_tunnel_info *tunnel;\n\t\tu32 csum_flags;\n\t\tu32 mark;\n\t\tu16 ptype;\n\t\tu16 rx_queue;\n\t\tu32 priority;\n\t\tstruct {\n\t\t\tu32 ctx;\n\t\t\tu32 index;\n\t\t\tu8 vf;\n\t\t} queue;\n\t\tstruct {\n\t\t\tstruct psample_group *psample_group;\n\t\t\tu32 rate;\n\t\t\tu32 trunc_size;\n\t\t\tbool truncate;\n\t\t} sample;\n\t\tstruct {\n\t\t\tu32 burst;\n\t\t\tu64 rate_bytes_ps;\n\t\t\tu64 peakrate_bytes_ps;\n\t\t\tu32 avrate;\n\t\t\tu16 overhead;\n\t\t\tu64 burst_pkt;\n\t\t\tu64 rate_pkt_ps;\n\t\t\tu32 mtu;\n\t\t\tstruct {\n\t\t\t\tenum flow_action_id act_id;\n\t\t\t\tu32 extval;\n\t\t\t} exceed;\n\t\t\tstruct {\n\t\t\t\tenum flow_action_id act_id;\n\t\t\t\tu32 extval;\n\t\t\t} notexceed;\n\t\t} police;\n\t\tstruct {\n\t\t\tint action;\n\t\t\tu16 zone;\n\t\t\tstruct nf_flowtable *flow_table;\n\t\t} ct;\n\t\tstruct {\n\t\t\tlong unsigned int cookie;\n\t\t\tu32 mark;\n\t\t\tu32 labels[4];\n\t\t\tbool orig_dir;\n\t\t} ct_metadata;\n\t\tstruct {\n\t\t\tu32 label;\n\t\t\t__be16 proto;\n\t\t\tu8 tc;\n\t\t\tu8 bos;\n\t\t\tu8 ttl;\n\t\t} mpls_push;\n\t\tstruct {\n\t\t\t__be16 proto;\n\t\t} mpls_pop;\n\t\tstruct {\n\t\t\tu32 label;\n\t\t\tu8 tc;\n\t\t\tu8 bos;\n\t\t\tu8 ttl;\n\t\t} mpls_mangle;\n\t\tstruct {\n\t\t\ts32 prio;\n\t\t\tu64 basetime;\n\t\t\tu64 cycletime;\n\t\t\tu64 cycletimeext;\n\t\t\tu32 num_entries;\n\t\t\tstruct action_gate_entry *entries;\n\t\t} gate;\n\t\tstruct {\n\t\t\tu16 sid;\n\t\t} pppoe;\n\t};\n\tstruct flow_action_cookie *user_cookie;\n};\n\nstruct flow_action {\n\tunsigned int num_entries;\n\tstruct flow_action_entry entries[0];\n};\n\nstruct flow_action_cookie {\n\tu32 cookie_len;\n\tu8 cookie[0];\n};\n\nstruct flow_block {\n\tstruct list_head cb_list;\n};\n\ntypedef int flow_setup_cb_t(enum tc_setup_type, void *, void *);\n\nstruct flow_block_cb;\n\nstruct flow_block_indr {\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tstruct Qdisc *sch;\n\tenum flow_block_binder_type binder_type;\n\tvoid *data;\n\tvoid *cb_priv;\n\tvoid (*cleanup)(struct flow_block_cb *);\n};\n\nstruct flow_block_cb {\n\tstruct list_head driver_list;\n\tstruct list_head list;\n\tflow_setup_cb_t *cb;\n\tvoid *cb_ident;\n\tvoid *cb_priv;\n\tvoid (*release)(void *);\n\tstruct flow_block_indr indr;\n\tunsigned int refcnt;\n};\n\nstruct flow_block_offload {\n\tenum flow_block_command command;\n\tenum flow_block_binder_type binder_type;\n\tbool block_shared;\n\tbool unlocked_driver_cb;\n\tstruct net *net;\n\tstruct flow_block *block;\n\tstruct list_head cb_list;\n\tstruct list_head *driver_block_list;\n\tstruct netlink_ext_ack *extack;\n\tstruct Qdisc *sch;\n\tstruct list_head *cb_list_head;\n};\n\nstruct flow_dissector_key {\n\tenum flow_dissector_key_id key_id;\n\tsize_t offset;\n};\n\nstruct flow_dissector_key_tipc {\n\t__be32 key;\n};\n\nstruct flow_dissector_key_addrs {\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs v4addrs;\n\t\tstruct flow_dissector_key_ipv6_addrs v6addrs;\n\t\tstruct flow_dissector_key_tipc tipckey;\n\t};\n};\n\nstruct flow_dissector_key_arp {\n\t__u32 sip;\n\t__u32 tip;\n\t__u8 op;\n\tunsigned char sha[6];\n\tunsigned char tha[6];\n};\n\nstruct flow_dissector_key_cfm {\n\tu8 mdl_ver;\n\tu8 opcode;\n};\n\nstruct flow_dissector_key_control {\n\tu16 thoff;\n\tu16 addr_type;\n\tu32 flags;\n};\n\nstruct flow_dissector_key_ct {\n\tu16 ct_state;\n\tu16 ct_zone;\n\tu32 ct_mark;\n\tu32 ct_labels[4];\n};\n\nstruct flow_dissector_key_enc_opts {\n\tu8 data[255];\n\tu8 len;\n\tu32 dst_opt_type;\n};\n\nstruct flow_dissector_key_hash {\n\tu32 hash;\n};\n\nstruct flow_dissector_key_icmp {\n\tstruct {\n\t\tu8 type;\n\t\tu8 code;\n\t};\n\tu16 id;\n};\n\nstruct flow_dissector_key_ipsec {\n\t__be32 spi;\n};\n\nstruct flow_dissector_key_keyid {\n\t__be32 keyid;\n};\n\nstruct flow_dissector_key_l2tpv3 {\n\t__be32 session_id;\n};\n\nstruct flow_dissector_key_meta {\n\tint ingress_ifindex;\n\tu16 ingress_iftype;\n\tu8 l2_miss;\n};\n\nstruct flow_dissector_mpls_lse {\n\tu32 mpls_ttl: 8;\n\tu32 mpls_bos: 1;\n\tu32 mpls_tc: 3;\n\tu32 mpls_label: 20;\n};\n\nstruct flow_dissector_key_mpls {\n\tstruct flow_dissector_mpls_lse ls[7];\n\tu8 used_lses;\n};\n\nstruct flow_dissector_key_num_of_vlans {\n\tu8 num_of_vlans;\n};\n\nstruct flow_dissector_key_ports_range {\n\tunion {\n\t\tstruct flow_dissector_key_ports tp;\n\t\tstruct {\n\t\t\tstruct flow_dissector_key_ports tp_min;\n\t\t\tstruct flow_dissector_key_ports tp_max;\n\t\t};\n\t};\n};\n\nstruct flow_dissector_key_pppoe {\n\t__be16 session_id;\n\t__be16 ppp_proto;\n\t__be16 type;\n};\n\nstruct flow_dissector_key_tags {\n\tu32 flow_label;\n};\n\nstruct flow_dissector_key_tcp {\n\t__be16 flags;\n};\n\nstruct flow_indir_dev_info {\n\tvoid *data;\n\tstruct net_device *dev;\n\tstruct Qdisc *sch;\n\tenum tc_setup_type type;\n\tvoid (*cleanup)(struct flow_block_cb *);\n\tstruct list_head list;\n\tenum flow_block_command command;\n\tenum flow_block_binder_type binder_type;\n\tstruct list_head *cb_list;\n};\n\ntypedef int flow_indr_block_bind_cb_t(struct net_device *, struct Qdisc *, void *, enum tc_setup_type, void *, void *, void (*)(struct flow_block_cb *));\n\nstruct flow_indr_dev {\n\tstruct list_head list;\n\tflow_indr_block_bind_cb_t *cb;\n\tvoid *cb_priv;\n\trefcount_t refcnt;\n};\n\nstruct flow_keys {\n\tstruct flow_dissector_key_control control;\n\tstruct flow_dissector_key_basic basic;\n\tstruct flow_dissector_key_tags tags;\n\tstruct flow_dissector_key_vlan vlan;\n\tstruct flow_dissector_key_vlan cvlan;\n\tstruct flow_dissector_key_keyid keyid;\n\tstruct flow_dissector_key_ports ports;\n\tstruct flow_dissector_key_icmp icmp;\n\tstruct flow_dissector_key_addrs addrs;\n\tlong: 0;\n};\n\nstruct flow_keys_basic {\n\tstruct flow_dissector_key_control control;\n\tstruct flow_dissector_key_basic basic;\n};\n\nstruct flow_keys_digest {\n\tu8 data[16];\n};\n\nstruct flow_match {\n\tstruct flow_dissector *dissector;\n\tvoid *mask;\n\tvoid *key;\n};\n\nstruct flow_match_arp {\n\tstruct flow_dissector_key_arp *key;\n\tstruct flow_dissector_key_arp *mask;\n};\n\nstruct flow_match_basic {\n\tstruct flow_dissector_key_basic *key;\n\tstruct flow_dissector_key_basic *mask;\n};\n\nstruct flow_match_control {\n\tstruct flow_dissector_key_control *key;\n\tstruct flow_dissector_key_control *mask;\n};\n\nstruct flow_match_ct {\n\tstruct flow_dissector_key_ct *key;\n\tstruct flow_dissector_key_ct *mask;\n};\n\nstruct flow_match_enc_keyid {\n\tstruct flow_dissector_key_keyid *key;\n\tstruct flow_dissector_key_keyid *mask;\n};\n\nstruct flow_match_enc_opts {\n\tstruct flow_dissector_key_enc_opts *key;\n\tstruct flow_dissector_key_enc_opts *mask;\n};\n\nstruct flow_match_eth_addrs {\n\tstruct flow_dissector_key_eth_addrs *key;\n\tstruct flow_dissector_key_eth_addrs *mask;\n};\n\nstruct flow_match_icmp {\n\tstruct flow_dissector_key_icmp *key;\n\tstruct flow_dissector_key_icmp *mask;\n};\n\nstruct flow_match_ip {\n\tstruct flow_dissector_key_ip *key;\n\tstruct flow_dissector_key_ip *mask;\n};\n\nstruct flow_match_ipsec {\n\tstruct flow_dissector_key_ipsec *key;\n\tstruct flow_dissector_key_ipsec *mask;\n};\n\nstruct flow_match_ipv4_addrs {\n\tstruct flow_dissector_key_ipv4_addrs *key;\n\tstruct flow_dissector_key_ipv4_addrs *mask;\n};\n\nstruct flow_match_ipv6_addrs {\n\tstruct flow_dissector_key_ipv6_addrs *key;\n\tstruct flow_dissector_key_ipv6_addrs *mask;\n};\n\nstruct flow_match_l2tpv3 {\n\tstruct flow_dissector_key_l2tpv3 *key;\n\tstruct flow_dissector_key_l2tpv3 *mask;\n};\n\nstruct flow_match_meta {\n\tstruct flow_dissector_key_meta *key;\n\tstruct flow_dissector_key_meta *mask;\n};\n\nstruct flow_match_mpls {\n\tstruct flow_dissector_key_mpls *key;\n\tstruct flow_dissector_key_mpls *mask;\n};\n\nstruct flow_match_ports {\n\tstruct flow_dissector_key_ports *key;\n\tstruct flow_dissector_key_ports *mask;\n};\n\nstruct flow_match_ports_range {\n\tstruct flow_dissector_key_ports_range *key;\n\tstruct flow_dissector_key_ports_range *mask;\n};\n\nstruct flow_match_pppoe {\n\tstruct flow_dissector_key_pppoe *key;\n\tstruct flow_dissector_key_pppoe *mask;\n};\n\nstruct flow_match_tcp {\n\tstruct flow_dissector_key_tcp *key;\n\tstruct flow_dissector_key_tcp *mask;\n};\n\nstruct flow_match_vlan {\n\tstruct flow_dissector_key_vlan *key;\n\tstruct flow_dissector_key_vlan *mask;\n};\n\nstruct flow_stats {\n\tu64 pkts;\n\tu64 bytes;\n\tu64 drops;\n\tu64 lastused;\n\tenum flow_action_hw_stats used_hw_stats;\n\tbool used_hw_stats_valid;\n};\n\nstruct flow_offload_action {\n\tstruct netlink_ext_ack *extack;\n\tenum offload_act_command command;\n\tenum flow_action_id id;\n\tu32 index;\n\tlong unsigned int cookie;\n\tstruct flow_stats stats;\n\tstruct flow_action action;\n};\n\nstruct flow_rule {\n\tstruct flow_match match;\n\tstruct flow_action action;\n};\n\nstruct flowi_tunnel {\n\t__be64 tun_id;\n};\n\nstruct flowi_common {\n\tint flowic_oif;\n\tint flowic_iif;\n\tint flowic_l3mdev;\n\t__u32 flowic_mark;\n\t__u8 flowic_tos;\n\t__u8 flowic_scope;\n\t__u8 flowic_proto;\n\t__u8 flowic_flags;\n\t__u32 flowic_secid;\n\tkuid_t flowic_uid;\n\t__u32 flowic_multipath_hash;\n\tstruct flowi_tunnel flowic_tun_key;\n};\n\nunion flowi_uli {\n\tstruct {\n\t\t__be16 dport;\n\t\t__be16 sport;\n\t} ports;\n\tstruct {\n\t\t__u8 type;\n\t\t__u8 code;\n\t} icmpt;\n\t__be32 gre_key;\n\tstruct {\n\t\t__u8 type;\n\t} mht;\n};\n\nstruct flowi4 {\n\tstruct flowi_common __fl_common;\n\t__be32 saddr;\n\t__be32 daddr;\n\tunion flowi_uli uli;\n};\n\nstruct flowi6 {\n\tstruct flowi_common __fl_common;\n\tstruct in6_addr daddr;\n\tstruct in6_addr saddr;\n\t__be32 flowlabel;\n\tunion flowi_uli uli;\n\t__u32 mp_hash;\n};\n\nstruct flowi {\n\tunion {\n\t\tstruct flowi_common __fl_common;\n\t\tstruct flowi4 ip4;\n\t\tstruct flowi6 ip6;\n\t} u;\n};\n\nstruct flush_backlogs {\n\tcpumask_t flush_cpus;\n\tstruct work_struct w[0];\n};\n\nstruct flush_busy_ctx_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tstruct list_head *list;\n};\n\nstruct kyber_hctx_data;\n\nstruct flush_kcq_data {\n\tstruct kyber_hctx_data *khd;\n\tunsigned int sched_domain;\n\tstruct list_head *list;\n};\n\nstruct flush_tlb_range_data {\n\tlong unsigned int asid;\n\tlong unsigned int start;\n\tlong unsigned int size;\n\tlong unsigned int stride;\n};\n\nstruct fmt {\n\tconst char *str;\n\tunsigned char state;\n\tunsigned char size;\n};\n\nstruct fname {\n\t__u32 hash;\n\t__u32 minor_hash;\n\tstruct rb_node rb_hash;\n\tstruct fname *next;\n\t__u32 inode;\n\t__u8 name_len;\n\t__u8 file_type;\n\tchar name[0];\n};\n\nstruct fnhe_hash_bucket {\n\tstruct fib_nh_exception *chain;\n};\n\nstruct focaltech_finger_state {\n\tbool active;\n\tbool valid;\n\tunsigned int x;\n\tunsigned int y;\n};\n\nstruct focaltech_hw_state {\n\tstruct focaltech_finger_state fingers[5];\n\tunsigned int width;\n\tbool pressed;\n};\n\nstruct focaltech_data {\n\tunsigned int x_max;\n\tunsigned int y_max;\n\tstruct focaltech_hw_state state;\n};\n\nstruct page_pool;\n\nstruct page {\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct list_head lru;\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *__filler;\n\t\t\t\t\tunsigned int mlock_count;\n\t\t\t\t};\n\t\t\t\tstruct list_head buddy_list;\n\t\t\t\tstruct list_head pcp_list;\n\t\t\t};\n\t\t\tstruct address_space *mapping;\n\t\t\tunion {\n\t\t\t\tlong unsigned int index;\n\t\t\t\tlong unsigned int share;\n\t\t\t};\n\t\t\tlong unsigned int private;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int pp_magic;\n\t\t\tstruct page_pool *pp;\n\t\t\tlong unsigned int _pp_mapping_pad;\n\t\t\tlong unsigned int dma_addr;\n\t\t\tatomic_long_t pp_ref_count;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int compound_head;\n\t\t};\n\t\tstruct {\n\t\t\tstruct dev_pagemap *pgmap;\n\t\t\tvoid *zone_device_data;\n\t\t};\n\t\tstruct callback_head callback_head;\n\t};\n\tunion {\n\t\tunsigned int page_type;\n\t\tatomic_t _mapcount;\n\t};\n\tatomic_t _refcount;\n\tlong unsigned int memcg_data;\n};\n\nstruct folio {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int flags;\n\t\t\tunion {\n\t\t\t\tstruct list_head lru;\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *__filler;\n\t\t\t\t\tunsigned int mlock_count;\n\t\t\t\t};\n\t\t\t};\n\t\t\tstruct address_space *mapping;\n\t\t\tlong unsigned int index;\n\t\t\tunion {\n\t\t\t\tvoid *private;\n\t\t\t\tswp_entry_t swap;\n\t\t\t};\n\t\t\tatomic_t _mapcount;\n\t\t\tatomic_t _refcount;\n\t\t\tlong unsigned int memcg_data;\n\t\t};\n\t\tstruct page page;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _flags_1;\n\t\t\tlong unsigned int _head_1;\n\t\t\tatomic_t _large_mapcount;\n\t\t\tatomic_t _entire_mapcount;\n\t\t\tatomic_t _nr_pages_mapped;\n\t\t\tatomic_t _pincount;\n\t\t\tunsigned int _folio_nr_pages;\n\t\t};\n\t\tstruct page __page_1;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int _flags_2;\n\t\t\tlong unsigned int _head_2;\n\t\t\tvoid *_hugetlb_subpool;\n\t\t\tvoid *_hugetlb_cgroup;\n\t\t\tvoid *_hugetlb_cgroup_rsvd;\n\t\t\tvoid *_hugetlb_hwpoison;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int _flags_2a;\n\t\t\tlong unsigned int _head_2a;\n\t\t\tstruct list_head _deferred_list;\n\t\t};\n\t\tstruct page __page_2;\n\t};\n};\n\nstruct folio_iter {\n\tstruct folio *folio;\n\tsize_t offset;\n\tsize_t length;\n\tstruct folio *_next;\n\tsize_t _seg_count;\n\tint _i;\n};\n\nstruct folio_queue {\n\tstruct folio_batch vec;\n\tu8 orders[31];\n\tstruct folio_queue *next;\n\tstruct folio_queue *prev;\n\tlong unsigned int marks;\n\tlong unsigned int marks2;\n\tlong unsigned int marks3;\n\tunsigned int rreq_id;\n\tunsigned int debug_id;\n};\n\nstruct folio_referenced_arg {\n\tint mapcount;\n\tint referenced;\n\tlong unsigned int vm_flags;\n\tstruct mem_cgroup *memcg;\n};\n\nstruct folio_walk {\n\tstruct page *page;\n\tenum folio_walk_level level;\n\tunion {\n\t\tpte_t *ptep;\n\t\tpud_t *pudp;\n\t\tpmd_t *pmdp;\n\t};\n\tunion {\n\t\tpte_t pte;\n\t\tpud_t pud;\n\t\tpmd_t pmd;\n\t};\n\tstruct vm_area_struct *vma;\n\tspinlock_t *ptl;\n};\n\nstruct follow_page_context {\n\tstruct dev_pagemap *pgmap;\n\tunsigned int page_mask;\n};\n\nstruct follow_pfnmap_args {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int address;\n\tspinlock_t *lock;\n\tpte_t *ptep;\n\tlong unsigned int pfn;\n\tpgprot_t pgprot;\n\tbool writable;\n\tbool special;\n};\n\nstruct font_data {\n\tunsigned int extra[4];\n\tconst unsigned char data[0];\n};\n\nstruct font_desc {\n\tint idx;\n\tconst char *name;\n\tunsigned int width;\n\tunsigned int height;\n\tunsigned int charcount;\n\tconst void *data;\n\tint pref;\n};\n\nstruct format_state___2 {\n\tunsigned char state;\n\tunsigned char size;\n\tunsigned char flags_or_double_size;\n\tunsigned char base;\n};\n\nstruct fown_struct {\n\tstruct file *file;\n\trwlock_t lock;\n\tstruct pid *pid;\n\tenum pid_type pid_type;\n\tkuid_t uid;\n\tkuid_t euid;\n\tint signum;\n};\n\nstruct fprop_global {\n\tstruct percpu_counter events;\n\tunsigned int period;\n\tseqcount_t sequence;\n};\n\ntypedef u32 (*rht_hashfn_t)(const void *, u32, u32);\n\ntypedef u32 (*rht_obj_hashfn_t)(const void *, u32, u32);\n\nstruct rhashtable_compare_arg;\n\ntypedef int (*rht_obj_cmpfn_t)(struct rhashtable_compare_arg *, const void *);\n\nstruct rhashtable_params {\n\tu16 nelem_hint;\n\tu16 key_len;\n\tu16 key_offset;\n\tu16 head_offset;\n\tunsigned int max_size;\n\tu16 min_size;\n\tbool automatic_shrinking;\n\trht_hashfn_t hashfn;\n\trht_obj_hashfn_t obj_hashfn;\n\trht_obj_cmpfn_t obj_cmpfn;\n};\n\nstruct rhashtable {\n\tstruct bucket_table *tbl;\n\tunsigned int key_len;\n\tunsigned int max_elems;\n\tstruct rhashtable_params p;\n\tbool rhlist;\n\tstruct work_struct run_work;\n\tstruct mutex mutex;\n\tspinlock_t lock;\n\tatomic_t nelems;\n};\n\nstruct inet_frags;\n\nstruct fqdir {\n\tlong int high_thresh;\n\tlong int low_thresh;\n\tint timeout;\n\tint max_dist;\n\tstruct inet_frags *f;\n\tstruct net *net;\n\tbool dead;\n\tlong: 64;\n\tlong: 64;\n\tstruct rhashtable rhashtable;\n\tatomic_long_t mem;\n\tstruct work_struct destroy_work;\n\tstruct llist_node free_list;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct frag_hdr {\n\t__u8 nexthdr;\n\t__u8 reserved;\n\t__be16 frag_off;\n\t__be32 identification;\n};\n\nstruct frag_v4_compare_key {\n\t__be32 saddr;\n\t__be32 daddr;\n\tu32 user;\n\tu32 vif;\n\t__be16 id;\n\tu16 protocol;\n};\n\nstruct frag_v6_compare_key {\n\tstruct in6_addr saddr;\n\tstruct in6_addr daddr;\n\tu32 user;\n\t__be32 id;\n\tu32 iif;\n};\n\nstruct inet_frag_queue {\n\tstruct rhash_head node;\n\tunion {\n\t\tstruct frag_v4_compare_key v4;\n\t\tstruct frag_v6_compare_key v6;\n\t} key;\n\tstruct timer_list timer;\n\tspinlock_t lock;\n\trefcount_t refcnt;\n\tstruct rb_root rb_fragments;\n\tstruct sk_buff *fragments_tail;\n\tstruct sk_buff *last_run_head;\n\tktime_t stamp;\n\tint len;\n\tint meat;\n\tu8 tstamp_type;\n\t__u8 flags;\n\tu16 max_size;\n\tstruct fqdir *fqdir;\n\tstruct callback_head rcu;\n};\n\nstruct frag_queue {\n\tstruct inet_frag_queue q;\n\tint iif;\n\t__u16 nhoffset;\n\tu8 ecn;\n};\n\nstruct freader {\n\tvoid *buf;\n\tu32 buf_sz;\n\tint err;\n\tunion {\n\t\tstruct {\n\t\t\tstruct file *file;\n\t\t\tstruct folio *folio;\n\t\t\tvoid *addr;\n\t\t\tloff_t folio_off;\n\t\t\tbool may_fault;\n\t\t};\n\t\tstruct {\n\t\t\tconst char *data;\n\t\t\tu64 data_sz;\n\t\t};\n\t};\n};\n\nstruct free_area {\n\tstruct list_head free_list[4];\n\tlong unsigned int nr_free;\n};\n\nstruct free_entry {\n\tu32 block;\n\tu8 sub;\n\tu8 seq;\n\tu8 has_err;\n};\n\nstruct freezer {\n\tstruct cgroup_subsys_state css;\n\tunsigned int state;\n};\n\nstruct freq_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct cpufreq_policy *, char *);\n\tssize_t (*store)(struct cpufreq_policy *, const char *, size_t);\n};\n\nstruct p_log {\n\tconst char *prefix;\n\tstruct fc_log *log;\n};\n\nstruct fs_context_operations;\n\nstruct fs_context {\n\tconst struct fs_context_operations *ops;\n\tstruct mutex uapi_mutex;\n\tstruct file_system_type *fs_type;\n\tvoid *fs_private;\n\tvoid *sget_key;\n\tstruct dentry *root;\n\tstruct user_namespace *user_ns;\n\tstruct net *net_ns;\n\tconst struct cred *cred;\n\tstruct p_log log;\n\tconst char *source;\n\tvoid *security;\n\tvoid *s_fs_info;\n\tunsigned int sb_flags;\n\tunsigned int sb_flags_mask;\n\tunsigned int s_iflags;\n\tenum fs_context_purpose purpose: 8;\n\tenum fs_context_phase phase: 8;\n\tbool need_free: 1;\n\tbool global: 1;\n\tbool oldapi: 1;\n\tbool exclusive: 1;\n};\n\nstruct fs_parameter;\n\nstruct fs_context_operations {\n\tvoid (*free)(struct fs_context *);\n\tint (*dup)(struct fs_context *, struct fs_context *);\n\tint (*parse_param)(struct fs_context *, struct fs_parameter *);\n\tint (*parse_monolithic)(struct fs_context *, void *);\n\tint (*get_tree)(struct fs_context *);\n\tint (*reconfigure)(struct fs_context *);\n};\n\nstruct fs_error_report {\n\tint error;\n\tstruct inode *inode;\n\tstruct super_block *sb;\n};\n\nstruct fs_parameter {\n\tconst char *key;\n\tenum fs_value_type type: 8;\n\tunion {\n\t\tchar *string;\n\t\tvoid *blob;\n\t\tstruct filename *name;\n\t\tstruct file *file;\n\t};\n\tsize_t size;\n\tint dirfd;\n};\n\nstruct fs_parse_result;\n\ntypedef int fs_param_type(struct p_log *, const struct fs_parameter_spec *, struct fs_parameter *, struct fs_parse_result *);\n\nstruct fs_parameter_spec {\n\tconst char *name;\n\tfs_param_type *type;\n\tu8 opt;\n\tshort unsigned int flags;\n\tconst void *data;\n};\n\nstruct fs_parse_result {\n\tbool negated;\n\tunion {\n\t\tbool boolean;\n\t\tint int_32;\n\t\tunsigned int uint_32;\n\t\tu64 uint_64;\n\t\tkuid_t uid;\n\t\tkgid_t gid;\n\t};\n};\n\nstruct fs_pin {\n\twait_queue_head_t wait;\n\tint done;\n\tstruct hlist_node s_list;\n\tstruct hlist_node m_list;\n\tvoid (*kill)(struct fs_pin *);\n};\n\nstruct fs_struct {\n\tint users;\n\tspinlock_t lock;\n\tseqcount_spinlock_t seq;\n\tint umask;\n\tint in_exec;\n\tstruct path root;\n\tstruct path pwd;\n};\n\nstruct fs_sysfs_path {\n\t__u8 len;\n\t__u8 name[128];\n};\n\nstruct fscache_cache_ops;\n\nstruct fscache_cache {\n\tconst struct fscache_cache_ops *ops;\n\tstruct list_head cache_link;\n\tvoid *cache_priv;\n\trefcount_t ref;\n\tatomic_t n_volumes;\n\tatomic_t n_accesses;\n\tatomic_t object_count;\n\tunsigned int debug_id;\n\tenum fscache_cache_state state;\n\tchar *name;\n};\n\nstruct fscache_volume;\n\nstruct fscache_cookie;\n\nstruct netfs_cache_resources;\n\nstruct fscache_cache_ops {\n\tconst char *name;\n\tvoid (*acquire_volume)(struct fscache_volume *);\n\tvoid (*free_volume)(struct fscache_volume *);\n\tbool (*lookup_cookie)(struct fscache_cookie *);\n\tvoid (*withdraw_cookie)(struct fscache_cookie *);\n\tvoid (*resize_cookie)(struct netfs_cache_resources *, loff_t);\n\tbool (*invalidate_cookie)(struct fscache_cookie *);\n\tbool (*begin_operation)(struct netfs_cache_resources *, enum fscache_want_state);\n\tvoid (*prepare_to_write)(struct fscache_cookie *);\n};\n\nstruct fscache_cookie {\n\trefcount_t ref;\n\tatomic_t n_active;\n\tatomic_t n_accesses;\n\tunsigned int debug_id;\n\tunsigned int inval_counter;\n\tspinlock_t lock;\n\tstruct fscache_volume *volume;\n\tvoid *cache_priv;\n\tstruct hlist_bl_node hash_link;\n\tstruct list_head proc_link;\n\tstruct list_head commit_link;\n\tstruct work_struct work;\n\tloff_t object_size;\n\tlong unsigned int unused_at;\n\tlong unsigned int flags;\n\tenum fscache_cookie_state state;\n\tu8 advice;\n\tu8 key_len;\n\tu8 aux_len;\n\tu32 key_hash;\n\tunion {\n\t\tvoid *key;\n\t\tu8 inline_key[16];\n\t};\n\tunion {\n\t\tvoid *aux;\n\t\tu8 inline_aux[8];\n\t};\n};\n\nstruct fscache_volume {\n\trefcount_t ref;\n\tatomic_t n_cookies;\n\tatomic_t n_accesses;\n\tunsigned int debug_id;\n\tunsigned int key_hash;\n\tu8 *key;\n\tstruct list_head proc_link;\n\tstruct hlist_bl_node hash_link;\n\tstruct work_struct work;\n\tstruct fscache_cache *cache;\n\tvoid *cache_priv;\n\tspinlock_t lock;\n\tlong unsigned int flags;\n\tu8 coherency_len;\n\tu8 coherency[0];\n};\n\nstruct fscrypt_name {\n\tconst struct qstr *usr_fname;\n\tstruct fscrypt_str disk_name;\n\tu32 hash;\n\tu32 minor_hash;\n\tstruct fscrypt_str crypto_buf;\n\tbool is_nokey_name;\n};\n\nstruct fsl_mc_obj_desc {\n\tchar type[16];\n\tint id;\n\tu16 vendor;\n\tu16 ver_major;\n\tu16 ver_minor;\n\tu8 irq_count;\n\tu8 region_count;\n\tu32 state;\n\tchar label[16];\n\tu16 flags;\n};\n\nstruct fsl_mc_io;\n\nstruct fsl_mc_device_irq;\n\nstruct fsl_mc_resource;\n\nstruct fsl_mc_device {\n\tstruct device dev;\n\tu64 dma_mask;\n\tu16 flags;\n\tu32 icid;\n\tu16 mc_handle;\n\tstruct fsl_mc_io *mc_io;\n\tstruct fsl_mc_obj_desc obj_desc;\n\tstruct resource *regions;\n\tstruct fsl_mc_device_irq **irqs;\n\tstruct fsl_mc_resource *resource;\n\tstruct device_link *consumer_link;\n\tconst char *driver_override;\n};\n\nstruct fsl_mc_resource_pool;\n\nstruct fsl_mc_resource {\n\tenum fsl_mc_pool_type type;\n\ts32 id;\n\tvoid *data;\n\tstruct fsl_mc_resource_pool *parent_pool;\n\tstruct list_head node;\n};\n\nstruct fsl_mc_device_irq {\n\tunsigned int virq;\n\tstruct fsl_mc_device *mc_dev;\n\tu8 dev_irq_index;\n\tstruct fsl_mc_resource resource;\n};\n\nstruct fsl_mc_io {\n\tstruct device *dev;\n\tu16 flags;\n\tu32 portal_size;\n\tphys_addr_t portal_phys_addr;\n\tvoid *portal_virt_addr;\n\tstruct fsl_mc_device *dpmcp_dev;\n\tunion {\n\t\tstruct mutex mutex;\n\t\traw_spinlock_t spinlock;\n\t};\n};\n\nstruct fsmap {\n\t__u32 fmr_device;\n\t__u32 fmr_flags;\n\t__u64 fmr_physical;\n\t__u64 fmr_owner;\n\t__u64 fmr_offset;\n\t__u64 fmr_length;\n\t__u64 fmr_reserved[3];\n};\n\nstruct fsmap_head {\n\t__u32 fmh_iflags;\n\t__u32 fmh_oflags;\n\t__u32 fmh_count;\n\t__u32 fmh_entries;\n\t__u64 fmh_reserved[6];\n\tstruct fsmap fmh_keys[2];\n\tstruct fsmap fmh_recs[0];\n};\n\nstruct fsnotify_event {\n\tstruct list_head list;\n};\n\nstruct inotify_group_private_data {\n\tspinlock_t idr_lock;\n\tstruct idr idr;\n\tstruct ucounts *ucounts;\n};\n\nstruct fsnotify_ops;\n\nstruct fsnotify_group {\n\tconst struct fsnotify_ops *ops;\n\trefcount_t refcnt;\n\tspinlock_t notification_lock;\n\tstruct list_head notification_list;\n\twait_queue_head_t notification_waitq;\n\tunsigned int q_len;\n\tunsigned int max_events;\n\tenum fsnotify_group_prio priority;\n\tbool shutdown;\n\tint flags;\n\tunsigned int owner_flags;\n\tstruct mutex mark_mutex;\n\tatomic_t user_waits;\n\tstruct list_head marks_list;\n\tstruct fasync_struct *fsn_fa;\n\tstruct fsnotify_event *overflow_event;\n\tstruct mem_cgroup *memcg;\n\tunion {\n\t\tvoid *private;\n\t\tstruct inotify_group_private_data inotify_data;\n\t};\n};\n\nstruct fsnotify_iter_info {\n\tstruct fsnotify_mark *marks[5];\n\tstruct fsnotify_group *current_group;\n\tunsigned int report_mask;\n\tint srcu_idx;\n};\n\ntypedef struct fsnotify_mark_connector *fsnotify_connp_t;\n\nstruct fsnotify_mark_connector {\n\tspinlock_t lock;\n\tunsigned char type;\n\tunsigned char prio;\n\tshort unsigned int flags;\n\tunion {\n\t\tvoid *obj;\n\t\tstruct fsnotify_mark_connector *destroy_next;\n\t};\n\tstruct hlist_head list;\n};\n\nstruct fsnotify_ops {\n\tint (*handle_event)(struct fsnotify_group *, u32, const void *, int, struct inode *, const struct qstr *, u32, struct fsnotify_iter_info *);\n\tint (*handle_inode_event)(struct fsnotify_mark *, u32, struct inode *, struct inode *, const struct qstr *, u32);\n\tvoid (*free_group_priv)(struct fsnotify_group *);\n\tvoid (*freeing_mark)(struct fsnotify_mark *, struct fsnotify_group *);\n\tvoid (*free_event)(struct fsnotify_group *, struct fsnotify_event *);\n\tvoid (*free_mark)(struct fsnotify_mark *);\n};\n\nstruct fsnotify_sb_info {\n\tstruct fsnotify_mark_connector *sb_marks;\n\tatomic_long_t watched_objects[3];\n};\n\nstruct fstrim_range {\n\t__u64 start;\n\t__u64 len;\n\t__u64 minlen;\n};\n\nstruct fsuuid {\n\t__u32 fsu_len;\n\t__u32 fsu_flags;\n\t__u8 fsu_uuid[0];\n};\n\nstruct fsuuid2 {\n\t__u8 len;\n\t__u8 uuid[16];\n};\n\nstruct fsxattr {\n\t__u32 fsx_xflags;\n\t__u32 fsx_extsize;\n\t__u32 fsx_nextents;\n\t__u32 fsx_projid;\n\t__u32 fsx_cowextsize;\n\tunsigned char fsx_pad[8];\n};\n\nstruct trace_seq {\n\tchar buffer[8156];\n\tstruct seq_buf seq;\n\tsize_t readpos;\n\tint full;\n};\n\nstruct tracer;\n\nstruct ring_buffer_iter;\n\nstruct trace_iterator {\n\tstruct trace_array *tr;\n\tstruct tracer *trace;\n\tstruct array_buffer *array_buffer;\n\tvoid *private;\n\tint cpu_file;\n\tstruct mutex mutex;\n\tstruct ring_buffer_iter **buffer_iter;\n\tlong unsigned int iter_flags;\n\tvoid *temp;\n\tunsigned int temp_size;\n\tchar *fmt;\n\tunsigned int fmt_size;\n\tatomic_t wait_index;\n\tstruct trace_seq tmp_seq;\n\tcpumask_var_t started;\n\tbool closed;\n\tbool snapshot;\n\tstruct trace_seq seq;\n\tstruct trace_entry *ent;\n\tlong unsigned int lost_events;\n\tint leftover;\n\tint ent_size;\n\tint cpu;\n\tu64 ts;\n\tloff_t pos;\n\tlong int idx;\n};\n\nstruct ftrace_buffer_info {\n\tstruct trace_iterator iter;\n\tvoid *spare;\n\tunsigned int spare_cpu;\n\tunsigned int spare_size;\n\tunsigned int read;\n};\n\nstruct ftrace_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n};\n\nstruct ftrace_event_field {\n\tstruct list_head link;\n\tconst char *name;\n\tconst char *type;\n\tint filter_type;\n\tint offset;\n\tint size;\n\tunsigned int is_signed: 1;\n\tunsigned int needs_test: 1;\n\tint len;\n};\n\nstruct ftrace_stack {\n\tlong unsigned int calls[1024];\n};\n\nstruct ftrace_stacks {\n\tstruct ftrace_stack stacks[4];\n};\n\nstruct fu740_pcie {\n\tstruct dw_pcie pci;\n\tvoid *mgmt_base;\n\tstruct gpio_desc *reset;\n\tstruct gpio_desc *pwren;\n\tstruct clk *pcie_aux;\n\tstruct reset_control *rst;\n};\n\nstruct func_repeats_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tu16 count;\n\tu16 top_delta_ts;\n\tu32 bottom_delta_ts;\n};\n\nstruct pinfunction {\n\tconst char *name;\n\tconst char * const *groups;\n\tsize_t ngroups;\n};\n\nstruct function_desc {\n\tstruct pinfunction func;\n\tvoid *data;\n};\n\nstruct futex_hash_bucket {\n\tatomic_t waiters;\n\tspinlock_t lock;\n\tstruct plist_head chain;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion futex_key {\n\tstruct {\n\t\tu64 i_seq;\n\t\tlong unsigned int pgoff;\n\t\tunsigned int offset;\n\t} shared;\n\tstruct {\n\t\tunion {\n\t\t\tstruct mm_struct *mm;\n\t\t\tu64 __tmp;\n\t\t};\n\t\tlong unsigned int address;\n\t\tunsigned int offset;\n\t} private;\n\tstruct {\n\t\tu64 ptr;\n\t\tlong unsigned int word;\n\t\tunsigned int offset;\n\t} both;\n};\n\nstruct futex_pi_state {\n\tstruct list_head list;\n\tstruct rt_mutex_base pi_mutex;\n\tstruct task_struct *owner;\n\trefcount_t refcount;\n\tunion futex_key key;\n};\n\nstruct wake_q_head;\n\nstruct futex_q;\n\ntypedef void futex_wake_fn(struct wake_q_head *, struct futex_q *);\n\nstruct rt_mutex_waiter;\n\nstruct futex_q {\n\tstruct plist_node list;\n\tstruct task_struct *task;\n\tspinlock_t *lock_ptr;\n\tfutex_wake_fn *wake;\n\tvoid *wake_data;\n\tunion futex_key key;\n\tstruct futex_pi_state *pi_state;\n\tstruct rt_mutex_waiter *rt_waiter;\n\tunion futex_key *requeue_pi_key;\n\tu32 bitset;\n\tatomic_t requeue_state;\n};\n\nstruct futex_waitv {\n\t__u64 val;\n\t__u64 uaddr;\n\t__u32 flags;\n\t__u32 __reserved;\n};\n\nstruct futex_vector {\n\tstruct futex_waitv w;\n\tstruct futex_q q;\n};\n\nstruct fw_cache_entry {\n\tstruct list_head list;\n\tconst char *name;\n};\n\nstruct fw_info {\n\tu32 magic;\n\tchar version[32];\n\t__le32 fw_start;\n\t__le32 fw_len;\n\tu8 chksum;\n} __attribute__((packed));\n\nstruct fw_name_devm {\n\tlong unsigned int magic;\n\tconst char *name;\n};\n\nstruct fw_state {\n\tstruct completion completion;\n\tenum fw_status status;\n};\n\nstruct fw_priv {\n\tstruct kref ref;\n\tstruct list_head list;\n\tstruct firmware_cache *fwc;\n\tstruct fw_state fw_st;\n\tvoid *data;\n\tsize_t size;\n\tsize_t allocated_size;\n\tsize_t offset;\n\tu32 opt_flags;\n\tconst char *fw_name;\n};\n\nunion fw_table_header {\n\tstruct acpi_table_header acpi;\n\tstruct acpi_table_cdat cdat;\n};\n\nunion fwnet_hwaddr {\n\tu8 u[16];\n\tstruct {\n\t\t__be64 uniq_id;\n\t\tu8 max_rec;\n\t\tu8 sspd;\n\t\tu8 fifo[6];\n\t} uc;\n};\n\nstruct fwnode_endpoint {\n\tunsigned int port;\n\tunsigned int id;\n\tconst struct fwnode_handle *local_fwnode;\n};\n\nstruct fwnode_link {\n\tstruct fwnode_handle *supplier;\n\tstruct list_head s_hook;\n\tstruct fwnode_handle *consumer;\n\tstruct list_head c_hook;\n\tu8 flags;\n};\n\nstruct fwnode_reference_args;\n\nstruct fwnode_operations {\n\tstruct fwnode_handle * (*get)(struct fwnode_handle *);\n\tvoid (*put)(struct fwnode_handle *);\n\tbool (*device_is_available)(const struct fwnode_handle *);\n\tconst void * (*device_get_match_data)(const struct fwnode_handle *, const struct device *);\n\tbool (*device_dma_supported)(const struct fwnode_handle *);\n\tenum dev_dma_attr (*device_get_dma_attr)(const struct fwnode_handle *);\n\tbool (*property_present)(const struct fwnode_handle *, const char *);\n\tbool (*property_read_bool)(const struct fwnode_handle *, const char *);\n\tint (*property_read_int_array)(const struct fwnode_handle *, const char *, unsigned int, void *, size_t);\n\tint (*property_read_string_array)(const struct fwnode_handle *, const char *, const char **, size_t);\n\tconst char * (*get_name)(const struct fwnode_handle *);\n\tconst char * (*get_name_prefix)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_parent)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_next_child_node)(const struct fwnode_handle *, struct fwnode_handle *);\n\tstruct fwnode_handle * (*get_named_child_node)(const struct fwnode_handle *, const char *);\n\tint (*get_reference_args)(const struct fwnode_handle *, const char *, const char *, unsigned int, unsigned int, struct fwnode_reference_args *);\n\tstruct fwnode_handle * (*graph_get_next_endpoint)(const struct fwnode_handle *, struct fwnode_handle *);\n\tstruct fwnode_handle * (*graph_get_remote_endpoint)(const struct fwnode_handle *);\n\tstruct fwnode_handle * (*graph_get_port_parent)(struct fwnode_handle *);\n\tint (*graph_parse_endpoint)(const struct fwnode_handle *, struct fwnode_endpoint *);\n\tvoid * (*iomap)(struct fwnode_handle *, int);\n\tint (*irq_get)(const struct fwnode_handle *, unsigned int);\n\tint (*add_links)(struct fwnode_handle *);\n};\n\nstruct fwnode_reference_args {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int nargs;\n\tu64 args[8];\n};\n\nstruct gcry_mpi;\n\ntypedef struct gcry_mpi *MPI;\n\nstruct gcry_mpi {\n\tint alloced;\n\tint nlimbs;\n\tint nbits;\n\tint sign;\n\tunsigned int flags;\n\tmpi_limb_t *d;\n};\n\nstruct gem_statistic {\n\tchar stat_string[32];\n\tint offset;\n\tu32 stat_bits;\n};\n\nstruct gem_stats {\n\tu32 tx_octets_31_0;\n\tu32 tx_octets_47_32;\n\tu32 tx_frames;\n\tu32 tx_broadcast_frames;\n\tu32 tx_multicast_frames;\n\tu32 tx_pause_frames;\n\tu32 tx_64_byte_frames;\n\tu32 tx_65_127_byte_frames;\n\tu32 tx_128_255_byte_frames;\n\tu32 tx_256_511_byte_frames;\n\tu32 tx_512_1023_byte_frames;\n\tu32 tx_1024_1518_byte_frames;\n\tu32 tx_greater_than_1518_byte_frames;\n\tu32 tx_underrun;\n\tu32 tx_single_collision_frames;\n\tu32 tx_multiple_collision_frames;\n\tu32 tx_excessive_collisions;\n\tu32 tx_late_collisions;\n\tu32 tx_deferred_frames;\n\tu32 tx_carrier_sense_errors;\n\tu32 rx_octets_31_0;\n\tu32 rx_octets_47_32;\n\tu32 rx_frames;\n\tu32 rx_broadcast_frames;\n\tu32 rx_multicast_frames;\n\tu32 rx_pause_frames;\n\tu32 rx_64_byte_frames;\n\tu32 rx_65_127_byte_frames;\n\tu32 rx_128_255_byte_frames;\n\tu32 rx_256_511_byte_frames;\n\tu32 rx_512_1023_byte_frames;\n\tu32 rx_1024_1518_byte_frames;\n\tu32 rx_greater_than_1518_byte_frames;\n\tu32 rx_undersized_frames;\n\tu32 rx_oversize_frames;\n\tu32 rx_jabbers;\n\tu32 rx_frame_check_sequence_errors;\n\tu32 rx_length_field_frame_errors;\n\tu32 rx_symbol_errors;\n\tu32 rx_alignment_errors;\n\tu32 rx_resource_errors;\n\tu32 rx_overruns;\n\tu32 rx_ip_header_checksum_errors;\n\tu32 rx_tcp_checksum_errors;\n\tu32 rx_udp_checksum_errors;\n};\n\nstruct pcpu_gen_cookie;\n\nstruct gen_cookie {\n\tstruct pcpu_gen_cookie *local;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic64_t forward_last;\n\tatomic64_t reverse_last;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct gen_pool;\n\ntypedef long unsigned int (*genpool_algo_t)(long unsigned int *, long unsigned int, long unsigned int, unsigned int, void *, struct gen_pool *, long unsigned int);\n\nstruct gen_pool {\n\tspinlock_t lock;\n\tstruct list_head chunks;\n\tint min_alloc_order;\n\tgenpool_algo_t algo;\n\tvoid *data;\n\tconst char *name;\n};\n\nstruct gen_pool_chunk {\n\tstruct list_head next_chunk;\n\tatomic_long_t avail;\n\tphys_addr_t phys_addr;\n\tvoid *owner;\n\tlong unsigned int start_addr;\n\tlong unsigned int end_addr;\n\tlong unsigned int bits[0];\n};\n\nstruct timer_rand_state;\n\nstruct gendisk {\n\tint major;\n\tint first_minor;\n\tint minors;\n\tchar disk_name[32];\n\tshort unsigned int events;\n\tshort unsigned int event_flags;\n\tstruct xarray part_tbl;\n\tstruct block_device *part0;\n\tconst struct block_device_operations *fops;\n\tstruct request_queue *queue;\n\tvoid *private_data;\n\tstruct bio_set bio_split;\n\tint flags;\n\tlong unsigned int state;\n\tstruct mutex open_mutex;\n\tunsigned int open_partitions;\n\tstruct backing_dev_info *bdi;\n\tstruct kobject queue_kobj;\n\tstruct kobject *slave_dir;\n\tstruct list_head slave_bdevs;\n\tstruct timer_rand_state *random;\n\tatomic_t sync_io;\n\tstruct disk_events *ev;\n\tstruct cdrom_device_info *cdi;\n\tint node_id;\n\tstruct badblocks *bb;\n\tstruct lockdep_map lockdep_map;\n\tu64 diskseq;\n\tblk_mode_t open_mode;\n\tstruct blk_independent_access_ranges *ia_ranges;\n};\n\nstruct gpd_dev_ops {\n\tint (*start)(struct device *);\n\tint (*stop)(struct device *);\n};\n\nstruct genpd_governor_data;\n\nstruct genpd_power_state;\n\nstruct genpd_lock_ops;\n\nstruct generic_pm_domain {\n\tstruct device dev;\n\tstruct dev_pm_domain domain;\n\tstruct list_head gpd_list_node;\n\tstruct list_head parent_links;\n\tstruct list_head child_links;\n\tstruct list_head dev_list;\n\tstruct dev_power_governor *gov;\n\tstruct genpd_governor_data *gd;\n\tstruct work_struct power_off_work;\n\tstruct fwnode_handle *provider;\n\tbool has_provider;\n\tconst char *name;\n\tatomic_t sd_count;\n\tenum gpd_status status;\n\tunsigned int device_count;\n\tunsigned int device_id;\n\tunsigned int suspended_count;\n\tunsigned int prepared_count;\n\tunsigned int performance_state;\n\tcpumask_var_t cpus;\n\tbool synced_poweroff;\n\tint (*power_off)(struct generic_pm_domain *);\n\tint (*power_on)(struct generic_pm_domain *);\n\tstruct raw_notifier_head power_notifiers;\n\tstruct opp_table *opp_table;\n\tint (*set_performance_state)(struct generic_pm_domain *, unsigned int);\n\tstruct gpd_dev_ops dev_ops;\n\tint (*set_hwmode_dev)(struct generic_pm_domain *, struct device *, bool);\n\tbool (*get_hwmode_dev)(struct generic_pm_domain *, struct device *);\n\tint (*attach_dev)(struct generic_pm_domain *, struct device *);\n\tvoid (*detach_dev)(struct generic_pm_domain *, struct device *);\n\tunsigned int flags;\n\tstruct genpd_power_state *states;\n\tvoid (*free_states)(struct genpd_power_state *, unsigned int);\n\tunsigned int state_count;\n\tunsigned int state_idx;\n\tu64 on_time;\n\tu64 accounting_time;\n\tconst struct genpd_lock_ops *lock_ops;\n\tunion {\n\t\tstruct mutex mlock;\n\t\tstruct {\n\t\t\tspinlock_t slock;\n\t\t\tlong unsigned int lock_flags;\n\t\t};\n\t\tstruct {\n\t\t\traw_spinlock_t raw_slock;\n\t\t\tlong unsigned int raw_lock_flags;\n\t\t};\n\t};\n};\n\nstruct pm_domain_data {\n\tstruct list_head list_node;\n\tstruct device *dev;\n};\n\nstruct gpd_timing_data;\n\nstruct generic_pm_domain_data {\n\tstruct pm_domain_data base;\n\tstruct gpd_timing_data *td;\n\tstruct notifier_block nb;\n\tstruct notifier_block *power_nb;\n\tint cpu;\n\tunsigned int performance_state;\n\tunsigned int default_pstate;\n\tunsigned int rpm_pstate;\n\tunsigned int opp_token;\n\tbool hw_mode;\n\tvoid *data;\n};\n\nstruct geneve_opt {\n\t__be16 opt_class;\n\tu8 type;\n\tu8 length: 5;\n\tu8 r3: 1;\n\tu8 r2: 1;\n\tu8 r1: 1;\n\tu8 opt_data[0];\n};\n\nstruct ocontext;\n\nstruct genfs {\n\tchar *fstype;\n\tstruct ocontext *head;\n\tstruct genfs *next;\n};\n\nstruct netlink_callback;\n\nstruct nla_policy;\n\nstruct genl_split_ops {\n\tunion {\n\t\tstruct {\n\t\t\tint (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\t\t\tint (*doit)(struct sk_buff *, struct genl_info *);\n\t\t\tvoid (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\t\t};\n\t\tstruct {\n\t\t\tint (*start)(struct netlink_callback *);\n\t\t\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\t\t\tint (*done)(struct netlink_callback *);\n\t\t};\n\t};\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genlmsghdr;\n\nstruct genl_info {\n\tu32 snd_seq;\n\tu32 snd_portid;\n\tconst struct genl_family *family;\n\tconst struct nlmsghdr *nlhdr;\n\tstruct genlmsghdr *genlhdr;\n\tstruct nlattr **attrs;\n\tpossible_net_t _net;\n\tunion {\n\t\tu8 ctx[48];\n\t\tvoid *user_ptr[2];\n\t};\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct genl_dumpit_info {\n\tstruct genl_split_ops op;\n\tstruct genl_info info;\n};\n\nstruct genl_ops;\n\nstruct genl_small_ops;\n\nstruct genl_multicast_group;\n\nstruct genl_family {\n\tunsigned int hdrsize;\n\tchar name[16];\n\tunsigned int version;\n\tunsigned int maxattr;\n\tu8 netnsok: 1;\n\tu8 parallel_ops: 1;\n\tu8 n_ops;\n\tu8 n_small_ops;\n\tu8 n_split_ops;\n\tu8 n_mcgrps;\n\tu8 resv_start_op;\n\tconst struct nla_policy *policy;\n\tint (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\tvoid (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *);\n\tint (*bind)(int);\n\tvoid (*unbind)(int);\n\tconst struct genl_ops *ops;\n\tconst struct genl_small_ops *small_ops;\n\tconst struct genl_split_ops *split_ops;\n\tconst struct genl_multicast_group *mcgrps;\n\tstruct module *module;\n\tsize_t sock_priv_size;\n\tvoid (*sock_priv_init)(void *);\n\tvoid (*sock_priv_destroy)(void *);\n\tint id;\n\tunsigned int mcgrp_offset;\n\tstruct xarray *sock_privs;\n};\n\nstruct genl_multicast_group {\n\tchar name[16];\n\tu8 flags;\n};\n\nstruct genl_op_iter {\n\tconst struct genl_family *family;\n\tstruct genl_split_ops doit;\n\tstruct genl_split_ops dumpit;\n\tint cmd_idx;\n\tint entry_idx;\n\tu32 cmd;\n\tu8 flags;\n};\n\nstruct genl_ops {\n\tint (*doit)(struct sk_buff *, struct genl_info *);\n\tint (*start)(struct netlink_callback *);\n\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tconst struct nla_policy *policy;\n\tunsigned int maxattr;\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genl_small_ops {\n\tint (*doit)(struct sk_buff *, struct genl_info *);\n\tint (*dumpit)(struct sk_buff *, struct netlink_callback *);\n\tu8 cmd;\n\tu8 internal_flags;\n\tu8 flags;\n\tu8 validate;\n};\n\nstruct genl_start_context {\n\tconst struct genl_family *family;\n\tstruct nlmsghdr *nlh;\n\tstruct netlink_ext_ack *extack;\n\tconst struct genl_split_ops *ops;\n\tint hdrlen;\n};\n\nstruct genlmsghdr {\n\t__u8 cmd;\n\t__u8 version;\n\t__u16 reserved;\n};\n\nstruct genpd_governor_data {\n\ts64 max_off_time_ns;\n\tbool max_off_time_changed;\n\tktime_t next_wakeup;\n\tktime_t next_hrtimer;\n\tbool cached_power_down_ok;\n\tbool cached_power_down_state_idx;\n};\n\nstruct genpd_lock_ops {\n\tvoid (*lock)(struct generic_pm_domain *);\n\tvoid (*lock_nested)(struct generic_pm_domain *, int);\n\tint (*lock_interruptible)(struct generic_pm_domain *);\n\tvoid (*unlock)(struct generic_pm_domain *);\n};\n\ntypedef struct generic_pm_domain * (*genpd_xlate_t)(const struct of_phandle_args *, void *);\n\nstruct genpd_onecell_data {\n\tstruct generic_pm_domain **domains;\n\tunsigned int num_domains;\n\tgenpd_xlate_t xlate;\n};\n\nstruct genpd_power_state {\n\tconst char *name;\n\ts64 power_off_latency_ns;\n\ts64 power_on_latency_ns;\n\ts64 residency_ns;\n\tu64 usage;\n\tu64 rejected;\n\tstruct fwnode_handle *fwnode;\n\tu64 idle_time;\n\tvoid *data;\n};\n\nstruct genpool_data_align {\n\tint align;\n};\n\nstruct genpool_data_fixed {\n\tlong unsigned int offset;\n};\n\nstruct genradix_iter {\n\tsize_t offset;\n\tsize_t pos;\n};\n\nstruct genradix_node {\n\tunion {\n\t\tstruct genradix_node *children[64];\n\t\tu8 data[512];\n\t};\n};\n\nstruct getcpu_cache {\n\tlong unsigned int blob[16];\n};\n\nstruct getdents_callback {\n\tstruct dir_context ctx;\n\tchar *name;\n\tu64 ino;\n\tint found;\n\tint sequence;\n};\n\nstruct linux_dirent;\n\nstruct getdents_callback___2 {\n\tstruct dir_context ctx;\n\tstruct linux_dirent *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct linux_dirent64;\n\nstruct getdents_callback64 {\n\tstruct dir_context ctx;\n\tstruct linux_dirent64 *current_dir;\n\tint prev_reclen;\n\tint count;\n\tint error;\n};\n\nstruct getfsmap_info {\n\tstruct super_block *gi_sb;\n\tstruct fsmap_head *gi_data;\n\tunsigned int gi_idx;\n\t__u32 gi_last_flags;\n};\n\nstruct input_keymap_entry {\n\t__u8 flags;\n\t__u8 len;\n\t__u16 index;\n\t__u32 keycode;\n\t__u8 scancode[32];\n};\n\nstruct getset_keycode_data {\n\tstruct input_keymap_entry ke;\n\tint error;\n};\n\nstruct giveback_urb_bh {\n\tbool running;\n\tbool high_prio;\n\tspinlock_t lock;\n\tstruct list_head head;\n\tstruct work_struct bh;\n\tstruct usb_host_endpoint *completing_ep;\n};\n\nstruct tc_stats {\n\t__u64 bytes;\n\t__u32 packets;\n\t__u32 drops;\n\t__u32 overlimits;\n\t__u32 bps;\n\t__u32 pps;\n\t__u32 qlen;\n\t__u32 backlog;\n};\n\nstruct gnet_dump {\n\tspinlock_t *lock;\n\tstruct sk_buff *skb;\n\tstruct nlattr *tail;\n\tint compat_tc_stats;\n\tint compat_xstats;\n\tint padattr;\n\tvoid *xstats;\n\tint xstats_len;\n\tstruct tc_stats tc_stats;\n};\n\nstruct gnet_estimator {\n\tsigned char interval;\n\tunsigned char ewma_log;\n};\n\nstruct gnet_stats_basic {\n\t__u64 bytes;\n\t__u32 packets;\n};\n\nstruct gnet_stats_rate_est {\n\t__u32 bps;\n\t__u32 pps;\n};\n\nstruct gnet_stats_rate_est64 {\n\t__u64 bps;\n\t__u64 pps;\n};\n\nstruct rtc_device;\n\nstruct goldfish_rtc {\n\tvoid *base;\n\tint irq;\n\tstruct rtc_device *rtc;\n};\n\nstruct governor_attr {\n\tstruct attribute attr;\n\tssize_t (*show)(struct gov_attr_set *, char *);\n\tssize_t (*store)(struct gov_attr_set *, const char *, size_t);\n};\n\nstruct gpd_link {\n\tstruct generic_pm_domain *parent;\n\tstruct list_head parent_node;\n\tstruct generic_pm_domain *child;\n\tstruct list_head child_node;\n\tunsigned int performance_state;\n\tunsigned int prev_performance_state;\n};\n\nstruct gpd_timing_data {\n\ts64 suspend_latency_ns;\n\ts64 resume_latency_ns;\n\ts64 effective_constraint_ns;\n\tktime_t next_wakeup;\n\tbool constraint_changed;\n\tbool cached_suspend_ok;\n};\n\nstruct gpio_array {\n\tstruct gpio_desc **desc;\n\tunsigned int size;\n\tstruct gpio_device *gdev;\n\tlong unsigned int *get_mask;\n\tlong unsigned int *set_mask;\n\tlong unsigned int invert_mask[0];\n};\n\nstruct gpio_v2_line_attribute {\n\t__u32 id;\n\t__u32 padding;\n\tunion {\n\t\t__u64 flags;\n\t\t__u64 values;\n\t\t__u32 debounce_period_us;\n\t};\n};\n\nstruct gpio_v2_line_info {\n\tchar name[32];\n\tchar consumer[32];\n\t__u32 offset;\n\t__u32 num_attrs;\n\t__u64 flags;\n\tstruct gpio_v2_line_attribute attrs[10];\n\t__u32 padding[4];\n};\n\nstruct gpio_v2_line_info_changed {\n\tstruct gpio_v2_line_info info;\n\t__u64 timestamp_ns;\n\t__u32 event_type;\n\t__u32 padding[5];\n};\n\nstruct gpio_chardev_data {\n\tstruct gpio_device *gdev;\n\twait_queue_head_t wait;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpio_v2_line_info_changed *type;\n\t\t\tconst struct gpio_v2_line_info_changed *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpio_v2_line_info_changed *ptr;\n\t\t\tconst struct gpio_v2_line_info_changed *ptr_const;\n\t\t};\n\t\tstruct gpio_v2_line_info_changed buf[32];\n\t} events;\n\tstruct notifier_block lineinfo_changed_nb;\n\tstruct notifier_block device_unregistered_nb;\n\tlong unsigned int *watched_lines;\n\tatomic_t watch_abi_version;\n\tstruct file *fp;\n};\n\nstruct gpio_chip_guard {\n\tstruct gpio_device *gdev;\n\tstruct gpio_chip *gc;\n\tint idx;\n};\n\ntypedef struct gpio_chip_guard class_gpio_chip_guard_t;\n\nstruct gpio_desc_label;\n\nstruct gpio_desc {\n\tstruct gpio_device *gdev;\n\tlong unsigned int flags;\n\tstruct gpio_desc_label *label;\n\tconst char *name;\n\tunsigned int debounce_period_us;\n};\n\nstruct gpio_desc_label {\n\tstruct callback_head rh;\n\tchar str[0];\n};\n\nstruct gpio_descs {\n\tstruct gpio_array *info;\n\tunsigned int ndescs;\n\tstruct gpio_desc *desc[0];\n};\n\nstruct gpio_device {\n\tstruct device dev;\n\tstruct cdev chrdev;\n\tint id;\n\tstruct device *mockdev;\n\tstruct module *owner;\n\tstruct gpio_chip *chip;\n\tstruct gpio_desc *descs;\n\tstruct srcu_struct desc_srcu;\n\tunsigned int base;\n\tu16 ngpio;\n\tbool can_sleep;\n\tconst char *label;\n\tvoid *data;\n\tstruct list_head list;\n\tstruct raw_notifier_head line_state_notifier;\n\trwlock_t line_state_lock;\n\tstruct workqueue_struct *line_state_wq;\n\tstruct blocking_notifier_head device_notifier;\n\tstruct srcu_struct srcu;\n\tstruct list_head pin_ranges;\n};\n\nstruct irq_fwspec {\n\tstruct fwnode_handle *fwnode;\n\tint param_count;\n\tu32 param[16];\n};\n\nstruct msi_desc;\n\nstruct msi_alloc_info {\n\tstruct msi_desc *desc;\n\tirq_hw_number_t hwirq;\n\tlong unsigned int flags;\n\tunion {\n\t\tlong unsigned int ul;\n\t\tvoid *ptr;\n\t} scratchpad[2];\n};\n\ntypedef struct msi_alloc_info msi_alloc_info_t;\n\nunion gpio_irq_fwspec {\n\tstruct irq_fwspec fwspec;\n\tmsi_alloc_info_t msiinfo;\n};\n\nstruct pinctrl_gpio_range {\n\tstruct list_head node;\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int base;\n\tunsigned int pin_base;\n\tunsigned int npins;\n\tconst unsigned int *pins;\n\tstruct gpio_chip *gc;\n};\n\nstruct gpio_pin_range {\n\tstruct list_head node;\n\tstruct pinctrl_dev *pctldev;\n\tstruct pinctrl_gpio_range range;\n};\n\nstruct gpio_regulator_state;\n\nstruct gpio_regulator_config {\n\tconst char *supply_name;\n\tconst char *input_supply;\n\tunsigned int enabled_at_boot: 1;\n\tunsigned int startup_delay;\n\tenum gpiod_flags *gflags;\n\tint ngpios;\n\tstruct gpio_regulator_state *states;\n\tint nr_states;\n\tenum regulator_type type;\n\tstruct regulator_init_data *init_data;\n};\n\nstruct gpio_regulator_data {\n\tstruct regulator_desc desc;\n\tstruct gpio_desc **gpiods;\n\tint nr_gpios;\n\tstruct gpio_regulator_state *states;\n\tint nr_states;\n\tint state;\n};\n\nstruct gpio_regulator_state {\n\tint value;\n\tint gpios;\n};\n\nstruct gpio_restart {\n\tstruct gpio_desc *reset_gpio;\n\tu32 active_delay_ms;\n\tu32 inactive_delay_ms;\n\tu32 wait_delay_ms;\n};\n\nstruct gpio_v2_line_config_attribute {\n\tstruct gpio_v2_line_attribute attr;\n\t__u64 mask;\n};\n\nstruct gpio_v2_line_config {\n\t__u64 flags;\n\t__u32 num_attrs;\n\t__u32 padding[5];\n\tstruct gpio_v2_line_config_attribute attrs[10];\n};\n\nstruct gpio_v2_line_event {\n\t__u64 timestamp_ns;\n\t__u32 id;\n\t__u32 offset;\n\t__u32 seqno;\n\t__u32 line_seqno;\n\t__u32 padding[6];\n};\n\nstruct gpio_v2_line_request {\n\t__u32 offsets[64];\n\tchar consumer[32];\n\tstruct gpio_v2_line_config config;\n\t__u32 num_lines;\n\t__u32 event_buffer_size;\n\t__u32 padding[5];\n\t__s32 fd;\n};\n\nstruct gpio_v2_line_values {\n\t__u64 bits;\n\t__u64 mask;\n};\n\nstruct gpiochip_info {\n\tchar name[32];\n\tchar label[32];\n\t__u32 lines;\n};\n\nstruct gpiod_hog {\n\tstruct list_head list;\n\tconst char *chip_label;\n\tu16 chip_hwnum;\n\tconst char *line_name;\n\tlong unsigned int lflags;\n\tint dflags;\n};\n\nstruct gpiod_lookup {\n\tconst char *key;\n\tu16 chip_hwnum;\n\tconst char *con_id;\n\tunsigned int idx;\n\tlong unsigned int flags;\n};\n\nstruct gpiod_lookup_table {\n\tstruct list_head list;\n\tconst char *dev_id;\n\tstruct gpiod_lookup table[0];\n};\n\nstruct gpioevent_data {\n\t__u64 timestamp;\n\t__u32 id;\n};\n\nstruct gpioevent_request {\n\t__u32 lineoffset;\n\t__u32 handleflags;\n\t__u32 eventflags;\n\tchar consumer_label[32];\n\tint fd;\n};\n\nstruct gpiohandle_config {\n\t__u32 flags;\n\t__u8 default_values[64];\n\t__u32 padding[4];\n};\n\nstruct gpiohandle_data {\n\t__u8 values[64];\n};\n\nstruct gpiohandle_request {\n\t__u32 lineoffsets[64];\n\t__u32 flags;\n\t__u8 default_values[64];\n\tchar consumer_label[32];\n\t__u32 lines;\n\tint fd;\n};\n\nstruct gpiolib_seq_priv {\n\tbool newline;\n\tint idx;\n};\n\nstruct gpioline_info {\n\t__u32 line_offset;\n\t__u32 flags;\n\tchar name[32];\n\tchar consumer[32];\n};\n\nstruct gpioline_info_changed {\n\tstruct gpioline_info info;\n\t__u64 timestamp;\n\t__u32 event_type;\n\t__u32 padding[5];\n};\n\nstruct gre_base_hdr {\n\t__be16 flags;\n\t__be16 protocol;\n};\n\nstruct gre_full_hdr {\n\tstruct gre_base_hdr fixed_header;\n\t__be16 csum;\n\t__be16 reserved1;\n\t__be32 key;\n\t__be32 seq;\n};\n\nstruct gro_cell {\n\tstruct sk_buff_head napi_skbs;\n\tstruct napi_struct napi;\n};\n\nstruct gro_cells {\n\tstruct gro_cell *cells;\n};\n\nstruct pingroup {\n\tconst char *name;\n\tconst unsigned int *pins;\n\tsize_t npins;\n};\n\nstruct group_desc {\n\tstruct pingroup grp;\n\tvoid *data;\n};\n\nstruct group_device {\n\tstruct list_head list;\n\tstruct device *dev;\n\tchar *name;\n};\n\nstruct group_filter {\n\tunion {\n\t\tstruct {\n\t\t\t__u32 gf_interface_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_group_aux;\n\t\t\t__u32 gf_fmode_aux;\n\t\t\t__u32 gf_numsrc_aux;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist[1];\n\t\t};\n\t\tstruct {\n\t\t\t__u32 gf_interface;\n\t\t\tstruct __kernel_sockaddr_storage gf_group;\n\t\t\t__u32 gf_fmode;\n\t\t\t__u32 gf_numsrc;\n\t\t\tstruct __kernel_sockaddr_storage gf_slist_flex[0];\n\t\t};\n\t};\n};\n\nstruct group_for_pci_data {\n\tstruct pci_dev *pdev;\n\tstruct iommu_group *group;\n};\n\nstruct group_info {\n\trefcount_t usage;\n\tint ngroups;\n\tkgid_t gid[0];\n};\n\nstruct group_req {\n\t__u32 gr_interface;\n\tstruct __kernel_sockaddr_storage gr_group;\n};\n\nstruct group_source_req {\n\t__u32 gsr_interface;\n\tstruct __kernel_sockaddr_storage gsr_group;\n\tstruct __kernel_sockaddr_storage gsr_source;\n};\n\nstruct gsb_buffer {\n\tu8 status;\n\tu8 len;\n\tunion {\n\t\tu16 wdata;\n\t\tu8 bdata;\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\tu8 data[0];\n\t\t};\n\t};\n};\n\nstruct rpc_clnt;\n\nstruct rpc_pipe_ops;\n\nstruct gss_alloc_pdo {\n\tstruct rpc_clnt *clnt;\n\tconst char *name;\n\tconst struct rpc_pipe_ops *upcall_ops;\n};\n\nstruct rpcsec_gss_oid {\n\tunsigned int len;\n\tu8 data[32];\n};\n\nstruct gss_api_ops;\n\nstruct pf_desc;\n\nstruct gss_api_mech {\n\tstruct list_head gm_list;\n\tstruct module *gm_owner;\n\tstruct rpcsec_gss_oid gm_oid;\n\tchar *gm_name;\n\tconst struct gss_api_ops *gm_ops;\n\tint gm_pf_num;\n\tstruct pf_desc *gm_pfs;\n\tconst char *gm_upcall_enctypes;\n};\n\nstruct gss_ctx;\n\nstruct xdr_netobj;\n\nstruct gss_api_ops {\n\tint (*gss_import_sec_context)(const void *, size_t, struct gss_ctx *, time64_t *, gfp_t);\n\tu32 (*gss_get_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*gss_verify_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*gss_wrap)(struct gss_ctx *, int, struct xdr_buf *, struct page **);\n\tu32 (*gss_unwrap)(struct gss_ctx *, int, int, struct xdr_buf *);\n\tvoid (*gss_delete_sec_context)(void *);\n};\n\nstruct rpc_authops;\n\nstruct rpc_cred_cache;\n\nstruct rpc_auth {\n\tunsigned int au_cslack;\n\tunsigned int au_rslack;\n\tunsigned int au_verfsize;\n\tunsigned int au_ralign;\n\tlong unsigned int au_flags;\n\tconst struct rpc_authops *au_ops;\n\trpc_authflavor_t au_flavor;\n\trefcount_t au_count;\n\tstruct rpc_cred_cache *au_credcache;\n};\n\nstruct gss_pipe;\n\nstruct gss_auth {\n\tstruct kref kref;\n\tstruct hlist_node hash;\n\tstruct rpc_auth rpc_auth;\n\tstruct gss_api_mech *mech;\n\tenum rpc_gss_svc service;\n\tstruct rpc_clnt *client;\n\tstruct net *net;\n\tnetns_tracker ns_tracker;\n\tstruct gss_pipe *gss_pipe[2];\n\tconst char *target_name;\n};\n\nstruct xdr_netobj {\n\tunsigned int len;\n\tu8 *data;\n};\n\nstruct gss_cl_ctx {\n\trefcount_t count;\n\tenum rpc_gss_proc gc_proc;\n\tu32 gc_seq;\n\tu32 gc_seq_xmit;\n\tspinlock_t gc_seq_lock;\n\tstruct gss_ctx *gc_gss_ctx;\n\tstruct xdr_netobj gc_wire_ctx;\n\tstruct xdr_netobj gc_acceptor;\n\tu32 gc_win;\n\tlong unsigned int gc_expiry;\n\tstruct callback_head gc_rcu;\n};\n\nstruct rpc_credops;\n\nstruct rpc_cred {\n\tstruct hlist_node cr_hash;\n\tstruct list_head cr_lru;\n\tstruct callback_head cr_rcu;\n\tstruct rpc_auth *cr_auth;\n\tconst struct rpc_credops *cr_ops;\n\tlong unsigned int cr_expire;\n\tlong unsigned int cr_flags;\n\trefcount_t cr_count;\n\tconst struct cred *cr_cred;\n};\n\nstruct gss_upcall_msg;\n\nstruct gss_cred {\n\tstruct rpc_cred gc_base;\n\tenum rpc_gss_svc gc_service;\n\tstruct gss_cl_ctx *gc_ctx;\n\tstruct gss_upcall_msg *gc_upcall;\n\tconst char *gc_principal;\n\tlong unsigned int gc_upcall_timestamp;\n};\n\nstruct gss_ctx {\n\tstruct gss_api_mech *mech_type;\n\tvoid *internal_ctx_id;\n\tunsigned int slack;\n\tunsigned int align;\n};\n\nstruct gss_domain {\n\tstruct auth_domain h;\n\tu32 pseudoflavor;\n};\n\nstruct krb5_ctx;\n\nstruct gss_krb5_enctype {\n\tconst u32 etype;\n\tconst u32 ctype;\n\tconst char *name;\n\tconst char *encrypt_name;\n\tconst char *aux_cipher;\n\tconst char *cksum_name;\n\tconst u16 signalg;\n\tconst u16 sealalg;\n\tconst u32 cksumlength;\n\tconst u32 keyed_cksum;\n\tconst u32 keybytes;\n\tconst u32 keylength;\n\tconst u32 Kc_length;\n\tconst u32 Ke_length;\n\tconst u32 Ki_length;\n\tint (*derive_key)(const struct gss_krb5_enctype *, const struct xdr_netobj *, struct xdr_netobj *, const struct xdr_netobj *, gfp_t);\n\tu32 (*encrypt)(struct krb5_ctx *, u32, struct xdr_buf *, struct page **);\n\tu32 (*decrypt)(struct krb5_ctx *, u32, u32, struct xdr_buf *, u32 *, u32 *);\n\tu32 (*get_mic)(struct krb5_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*verify_mic)(struct krb5_ctx *, struct xdr_buf *, struct xdr_netobj *);\n\tu32 (*wrap)(struct krb5_ctx *, int, struct xdr_buf *, struct page **);\n\tu32 (*unwrap)(struct krb5_ctx *, int, int, struct xdr_buf *, unsigned int *, unsigned int *);\n};\n\nstruct rpc_pipe_dir_object_ops;\n\nstruct rpc_pipe_dir_object {\n\tstruct list_head pdo_head;\n\tconst struct rpc_pipe_dir_object_ops *pdo_ops;\n\tvoid *pdo_data;\n};\n\nstruct rpc_pipe;\n\nstruct gss_pipe {\n\tstruct rpc_pipe_dir_object pdo;\n\tstruct rpc_pipe *pipe;\n\tstruct rpc_clnt *clnt;\n\tconst char *name;\n\tstruct kref kref;\n};\n\nstruct rpc_gss_wire_cred {\n\tu32 gc_v;\n\tu32 gc_proc;\n\tu32 gc_seq;\n\tu32 gc_svc;\n\tstruct xdr_netobj gc_ctx;\n};\n\nstruct rsc;\n\nstruct gss_svc_data {\n\tstruct rpc_gss_wire_cred clcred;\n\tu32 gsd_databody_offset;\n\tstruct rsc *rsci;\n\t__be32 gsd_seq_num;\n\tu8 gsd_scratch[40];\n};\n\nstruct gss_svc_seq_data {\n\tu32 sd_max;\n\tlong unsigned int sd_win[2];\n\tspinlock_t sd_lock;\n};\n\nstruct rpc_pipe_msg {\n\tstruct list_head list;\n\tvoid *data;\n\tsize_t len;\n\tsize_t copied;\n\tint errno;\n};\n\nstruct rpc_timer {\n\tstruct list_head list;\n\tlong unsigned int expires;\n\tstruct delayed_work dwork;\n};\n\nstruct rpc_wait_queue {\n\tspinlock_t lock;\n\tstruct list_head tasks[4];\n\tunsigned char maxpriority;\n\tunsigned char priority;\n\tunsigned char nr;\n\tunsigned int qlen;\n\tstruct rpc_timer timer_list;\n\tconst char *name;\n};\n\nstruct gss_upcall_msg {\n\trefcount_t count;\n\tkuid_t uid;\n\tconst char *service_name;\n\tstruct rpc_pipe_msg msg;\n\tstruct list_head list;\n\tstruct gss_auth *auth;\n\tstruct rpc_pipe *pipe;\n\tstruct rpc_wait_queue rpc_waitqueue;\n\twait_queue_head_t waitqueue;\n\tstruct gss_cl_ctx *ctx;\n\tchar databuf[256];\n};\n\nstruct gssp_in_token {\n\tstruct page **pages;\n\tunsigned int page_base;\n\tunsigned int page_len;\n};\n\nstruct svc_cred {\n\tkuid_t cr_uid;\n\tkgid_t cr_gid;\n\tstruct group_info *cr_group_info;\n\tu32 cr_flavor;\n\tchar *cr_raw_principal;\n\tchar *cr_principal;\n\tchar *cr_targ_princ;\n\tstruct gss_api_mech *cr_gss_mech;\n};\n\nstruct gssp_upcall_data {\n\tstruct xdr_netobj in_handle;\n\tstruct gssp_in_token in_token;\n\tstruct xdr_netobj out_handle;\n\tstruct xdr_netobj out_token;\n\tstruct rpcsec_gss_oid mech_oid;\n\tstruct svc_cred creds;\n\tint found_creds;\n\tint major_status;\n\tint minor_status;\n};\n\ntypedef struct xdr_netobj utf8string;\n\ntypedef struct xdr_netobj gssx_buffer;\n\nstruct gssx_option;\n\nstruct gssx_option_array {\n\tu32 count;\n\tstruct gssx_option *data;\n};\n\nstruct gssx_call_ctx {\n\tutf8string locale;\n\tgssx_buffer server_ctx;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_ctx;\n\nstruct gssx_cred;\n\nstruct gssx_cb;\n\nstruct gssx_arg_accept_sec_context {\n\tstruct gssx_call_ctx call_ctx;\n\tstruct gssx_ctx *context_handle;\n\tstruct gssx_cred *cred_handle;\n\tstruct gssp_in_token input_token;\n\tstruct gssx_cb *input_cb;\n\tu32 ret_deleg_cred;\n\tstruct gssx_option_array options;\n\tstruct page **pages;\n\tunsigned int npages;\n};\n\nstruct gssx_cb {\n\tu64 initiator_addrtype;\n\tgssx_buffer initiator_address;\n\tu64 acceptor_addrtype;\n\tgssx_buffer acceptor_address;\n\tgssx_buffer application_data;\n};\n\nstruct gssx_name {\n\tgssx_buffer display_name;\n};\n\ntypedef struct gssx_name gssx_name;\n\nstruct gssx_cred_element;\n\nstruct gssx_cred_element_array {\n\tu32 count;\n\tstruct gssx_cred_element *data;\n};\n\nstruct gssx_cred {\n\tgssx_name desired_name;\n\tstruct gssx_cred_element_array elements;\n\tgssx_buffer cred_handle_reference;\n\tu32 needs_release;\n};\n\ntypedef struct xdr_netobj gssx_OID;\n\nstruct gssx_cred_element {\n\tgssx_name MN;\n\tgssx_OID mech;\n\tu32 cred_usage;\n\tu64 initiator_time_rec;\n\tu64 acceptor_time_rec;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_ctx {\n\tgssx_buffer exported_context_token;\n\tgssx_buffer state;\n\tu32 need_release;\n\tgssx_OID mech;\n\tgssx_name src_name;\n\tgssx_name targ_name;\n\tu64 lifetime;\n\tu64 ctx_flags;\n\tu32 locally_initiated;\n\tu32 open;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_name_attr {\n\tgssx_buffer attr;\n\tgssx_buffer value;\n\tstruct gssx_option_array extensions;\n};\n\nstruct gssx_name_attr_array {\n\tu32 count;\n\tstruct gssx_name_attr *data;\n};\n\nstruct gssx_option {\n\tgssx_buffer option;\n\tgssx_buffer value;\n};\n\nstruct gssx_status {\n\tu64 major_status;\n\tgssx_OID mech;\n\tu64 minor_status;\n\tutf8string major_status_string;\n\tutf8string minor_status_string;\n\tgssx_buffer server_ctx;\n\tstruct gssx_option_array options;\n};\n\nstruct gssx_res_accept_sec_context {\n\tstruct gssx_status status;\n\tstruct gssx_ctx *context_handle;\n\tgssx_buffer *output_token;\n\tstruct gssx_option_array options;\n};\n\nunion handle_parts {\n\tdepot_stack_handle_t handle;\n\tstruct {\n\t\tu32 pool_index_plus_1: 17;\n\t\tu32 offset: 10;\n\t\tu32 extra: 5;\n\t};\n};\n\nstruct handle_to_path_ctx {\n\tstruct path root;\n\tenum handle_to_path_flags flags;\n\tunsigned int fh_flags;\n};\n\nstruct handshake_net {\n\tspinlock_t hn_lock;\n\tint hn_pending;\n\tint hn_pending_max;\n\tstruct list_head hn_requests;\n\tlong unsigned int hn_flags;\n};\n\nstruct handshake_req;\n\nstruct handshake_proto {\n\tint hp_handler_class;\n\tsize_t hp_privsize;\n\tlong unsigned int hp_flags;\n\tint (*hp_accept)(struct handshake_req *, struct genl_info *, int);\n\tvoid (*hp_done)(struct handshake_req *, unsigned int, struct genl_info *);\n\tvoid (*hp_destroy)(struct handshake_req *);\n};\n\nstruct handshake_req {\n\tstruct list_head hr_list;\n\tstruct rhash_head hr_rhash;\n\tlong unsigned int hr_flags;\n\tconst struct handshake_proto *hr_proto;\n\tstruct sock *hr_sk;\n\tvoid (*hr_odestruct)(struct sock *);\n\tchar hr_priv[0];\n};\n\nstruct hash {\n\tint ino;\n\tint minor;\n\tint major;\n\tumode_t mode;\n\tstruct hash *next;\n\tchar name[4098];\n};\n\nstruct hash_ctx {\n\tstruct af_alg_sgl sgl;\n\tu8 *result;\n\tstruct crypto_wait wait;\n\tunsigned int len;\n\tbool more;\n\tstruct ahash_request req;\n};\n\nstruct hash_prefix {\n\tconst char *name;\n\tconst u8 *data;\n\tsize_t size;\n};\n\nstruct hashtab_key_params {\n\tu32 (*hash)(const void *);\n\tint (*cmp)(const void *, const void *);\n};\n\nstruct hashtab_node {\n\tvoid *key;\n\tvoid *datum;\n\tstruct hashtab_node *next;\n};\n\nstruct hc_driver {\n\tconst char *description;\n\tconst char *product_desc;\n\tsize_t hcd_priv_size;\n\tirqreturn_t (*irq)(struct usb_hcd *);\n\tint flags;\n\tint (*reset)(struct usb_hcd *);\n\tint (*start)(struct usb_hcd *);\n\tint (*pci_suspend)(struct usb_hcd *, bool);\n\tint (*pci_resume)(struct usb_hcd *, pm_message_t);\n\tint (*pci_poweroff_late)(struct usb_hcd *, bool);\n\tvoid (*stop)(struct usb_hcd *);\n\tvoid (*shutdown)(struct usb_hcd *);\n\tint (*get_frame_number)(struct usb_hcd *);\n\tint (*urb_enqueue)(struct usb_hcd *, struct urb *, gfp_t);\n\tint (*urb_dequeue)(struct usb_hcd *, struct urb *, int);\n\tint (*map_urb_for_dma)(struct usb_hcd *, struct urb *, gfp_t);\n\tvoid (*unmap_urb_for_dma)(struct usb_hcd *, struct urb *);\n\tvoid (*endpoint_disable)(struct usb_hcd *, struct usb_host_endpoint *);\n\tvoid (*endpoint_reset)(struct usb_hcd *, struct usb_host_endpoint *);\n\tint (*hub_status_data)(struct usb_hcd *, char *);\n\tint (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16);\n\tint (*bus_suspend)(struct usb_hcd *);\n\tint (*bus_resume)(struct usb_hcd *);\n\tint (*start_port_reset)(struct usb_hcd *, unsigned int);\n\tlong unsigned int (*get_resuming_ports)(struct usb_hcd *);\n\tvoid (*relinquish_port)(struct usb_hcd *, int);\n\tint (*port_handed_over)(struct usb_hcd *, int);\n\tvoid (*clear_tt_buffer_complete)(struct usb_hcd *, struct usb_host_endpoint *);\n\tint (*alloc_dev)(struct usb_hcd *, struct usb_device *);\n\tvoid (*free_dev)(struct usb_hcd *, struct usb_device *);\n\tint (*alloc_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, unsigned int, gfp_t);\n\tint (*free_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, gfp_t);\n\tint (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*check_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tvoid (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tint (*address_device)(struct usb_hcd *, struct usb_device *, unsigned int);\n\tint (*enable_device)(struct usb_hcd *, struct usb_device *);\n\tint (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t);\n\tint (*reset_device)(struct usb_hcd *, struct usb_device *);\n\tint (*update_device)(struct usb_hcd *, struct usb_device *);\n\tint (*set_usb2_hw_lpm)(struct usb_hcd *, struct usb_device *, int);\n\tint (*enable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state);\n\tint (*disable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state);\n\tint (*find_raw_port_number)(struct usb_hcd *, int);\n\tint (*port_power)(struct usb_hcd *, int, bool);\n\tint (*submit_single_step_set_feature)(struct usb_hcd *, struct urb *, int);\n};\n\nstruct hd_geometry {\n\tunsigned char heads;\n\tunsigned char sectors;\n\tshort unsigned int cylinders;\n\tlong unsigned int start;\n};\n\nstruct hdmi_any_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n};\n\nstruct hdmi_audio_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tunsigned char channels;\n\tenum hdmi_audio_coding_type coding_type;\n\tenum hdmi_audio_sample_size sample_size;\n\tenum hdmi_audio_sample_frequency sample_frequency;\n\tenum hdmi_audio_coding_type_ext coding_type_ext;\n\tunsigned char channel_allocation;\n\tunsigned char level_shift_value;\n\tbool downmix_inhibit;\n};\n\nstruct hdmi_avi_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tbool itc;\n\tunsigned char pixel_repeat;\n\tenum hdmi_colorspace colorspace;\n\tenum hdmi_scan_mode scan_mode;\n\tenum hdmi_colorimetry colorimetry;\n\tenum hdmi_picture_aspect picture_aspect;\n\tenum hdmi_active_aspect active_aspect;\n\tenum hdmi_extended_colorimetry extended_colorimetry;\n\tenum hdmi_quantization_range quantization_range;\n\tenum hdmi_nups nups;\n\tunsigned char video_code;\n\tenum hdmi_ycc_quantization_range ycc_quantization_range;\n\tenum hdmi_content_type content_type;\n\tshort unsigned int top_bar;\n\tshort unsigned int bottom_bar;\n\tshort unsigned int left_bar;\n\tshort unsigned int right_bar;\n};\n\nstruct hdmi_drm_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tenum hdmi_eotf eotf;\n\tenum hdmi_metadata_type metadata_type;\n\tstruct {\n\t\tu16 x;\n\t\tu16 y;\n\t} display_primaries[3];\n\tstruct {\n\t\tu16 x;\n\t\tu16 y;\n\t} white_point;\n\tu16 max_display_mastering_luminance;\n\tu16 min_display_mastering_luminance;\n\tu16 max_cll;\n\tu16 max_fall;\n};\n\nstruct hdmi_spd_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tchar vendor[8];\n\tchar product[16];\n\tenum hdmi_spd_sdi sdi;\n};\n\nstruct hdmi_vendor_infoframe {\n\tenum hdmi_infoframe_type type;\n\tunsigned char version;\n\tunsigned char length;\n\tunsigned int oui;\n\tu8 vic;\n\tenum hdmi_3d_structure s3d_struct;\n\tunsigned int s3d_ext_data;\n};\n\nunion hdmi_vendor_any_infoframe {\n\tstruct {\n\t\tenum hdmi_infoframe_type type;\n\t\tunsigned char version;\n\t\tunsigned char length;\n\t\tunsigned int oui;\n\t} any;\n\tstruct hdmi_vendor_infoframe hdmi;\n};\n\nunion hdmi_infoframe {\n\tstruct hdmi_any_infoframe any;\n\tstruct hdmi_avi_infoframe avi;\n\tstruct hdmi_spd_infoframe spd;\n\tunion hdmi_vendor_any_infoframe vendor;\n\tstruct hdmi_audio_infoframe audio;\n\tstruct hdmi_drm_infoframe drm;\n};\n\nstruct hh_cache;\n\nstruct header_ops {\n\tint (*create)(struct sk_buff *, struct net_device *, short unsigned int, const void *, const void *, unsigned int);\n\tint (*parse)(const struct sk_buff *, unsigned char *);\n\tint (*cache)(const struct neighbour *, struct hh_cache *, __be16);\n\tvoid (*cache_update)(struct hh_cache *, const struct net_device *, const unsigned char *);\n\tbool (*validate)(const char *, unsigned int);\n\t__be16 (*parse_protocol)(const struct sk_buff *);\n};\n\nstruct hh_cache {\n\tunsigned int hh_len;\n\tseqlock_t hh_lock;\n\tlong unsigned int hh_data[12];\n};\n\nstruct hid_class_descriptor {\n\t__u8 bDescriptorType;\n\t__le16 wDescriptorLength;\n} __attribute__((packed));\n\nstruct hid_collection {\n\tint parent_idx;\n\tunsigned int type;\n\tunsigned int usage;\n\tunsigned int level;\n};\n\nstruct hid_report;\n\nstruct hid_control_fifo {\n\tunsigned char dir;\n\tstruct hid_report *report;\n\tchar *raw_report;\n};\n\nstruct hid_device;\n\nstruct hid_debug_list {\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tchar *type;\n\t\t\tconst char *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tchar *ptr;\n\t\t\tconst char *ptr_const;\n\t\t};\n\t\tchar buf[0];\n\t} hid_debug_fifo;\n\tstruct fasync_struct *fasync;\n\tstruct hid_device *hdev;\n\tstruct list_head node;\n\tstruct mutex read_mutex;\n};\n\nstruct hid_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdHID;\n\t__u8 bCountryCode;\n\t__u8 bNumDescriptors;\n\tstruct hid_class_descriptor desc[1];\n} __attribute__((packed));\n\nstruct hid_report_enum {\n\tunsigned int numbered;\n\tstruct list_head report_list;\n\tstruct hid_report *report_id_hash[256];\n};\n\nstruct semaphore {\n\traw_spinlock_t lock;\n\tunsigned int count;\n\tstruct list_head wait_list;\n};\n\nstruct hid_driver;\n\nstruct hid_ll_driver;\n\nstruct hid_field;\n\nstruct hid_usage;\n\nstruct hid_device {\n\tconst __u8 *dev_rdesc;\n\tconst __u8 *bpf_rdesc;\n\tconst __u8 *rdesc;\n\tunsigned int dev_rsize;\n\tunsigned int bpf_rsize;\n\tunsigned int rsize;\n\tunsigned int collection_size;\n\tstruct hid_collection *collection;\n\tunsigned int maxcollection;\n\tunsigned int maxapplication;\n\t__u16 bus;\n\t__u16 group;\n\t__u32 vendor;\n\t__u32 product;\n\t__u32 version;\n\tenum hid_type type;\n\tunsigned int country;\n\tstruct hid_report_enum report_enum[3];\n\tstruct work_struct led_work;\n\tstruct semaphore driver_input_lock;\n\tstruct device dev;\n\tstruct hid_driver *driver;\n\tvoid *devres_group_id;\n\tconst struct hid_ll_driver *ll_driver;\n\tstruct mutex ll_open_lock;\n\tunsigned int ll_open_count;\n\tlong unsigned int status;\n\tunsigned int claimed;\n\tunsigned int quirks;\n\tunsigned int initial_quirks;\n\tbool io_started;\n\tstruct list_head inputs;\n\tvoid *hiddev;\n\tvoid *hidraw;\n\tchar name[128];\n\tchar phys[64];\n\tchar uniq[64];\n\tvoid *driver_data;\n\tint (*ff_init)(struct hid_device *);\n\tint (*hiddev_connect)(struct hid_device *, unsigned int);\n\tvoid (*hiddev_disconnect)(struct hid_device *);\n\tvoid (*hiddev_hid_event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);\n\tvoid (*hiddev_report_event)(struct hid_device *, struct hid_report *);\n\tshort unsigned int debug;\n\tstruct dentry *debug_dir;\n\tstruct dentry *debug_rdesc;\n\tstruct dentry *debug_events;\n\tstruct list_head debug_list;\n\tspinlock_t debug_list_lock;\n\twait_queue_head_t debug_wait;\n\tstruct kref ref;\n\tunsigned int id;\n};\n\nstruct hid_device_id {\n\t__u16 bus;\n\t__u16 group;\n\t__u32 vendor;\n\t__u32 product;\n\tkernel_ulong_t driver_data;\n};\n\nstruct hid_report_id;\n\nstruct hid_usage_id;\n\nstruct hid_input;\n\nstruct hid_driver {\n\tchar *name;\n\tconst struct hid_device_id *id_table;\n\tstruct list_head dyn_list;\n\tspinlock_t dyn_lock;\n\tbool (*match)(struct hid_device *, bool);\n\tint (*probe)(struct hid_device *, const struct hid_device_id *);\n\tvoid (*remove)(struct hid_device *);\n\tconst struct hid_report_id *report_table;\n\tint (*raw_event)(struct hid_device *, struct hid_report *, u8 *, int);\n\tconst struct hid_usage_id *usage_table;\n\tint (*event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);\n\tvoid (*report)(struct hid_device *, struct hid_report *);\n\tconst __u8 * (*report_fixup)(struct hid_device *, __u8 *, unsigned int *);\n\tint (*input_mapping)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *);\n\tint (*input_mapped)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *);\n\tint (*input_configured)(struct hid_device *, struct hid_input *);\n\tvoid (*feature_mapping)(struct hid_device *, struct hid_field *, struct hid_usage *);\n\tint (*suspend)(struct hid_device *, pm_message_t);\n\tint (*resume)(struct hid_device *);\n\tint (*reset_resume)(struct hid_device *);\n\tstruct device_driver driver;\n};\n\nstruct hid_dynid {\n\tstruct list_head list;\n\tstruct hid_device_id id;\n};\n\nstruct hid_field {\n\tunsigned int physical;\n\tunsigned int logical;\n\tunsigned int application;\n\tstruct hid_usage *usage;\n\tunsigned int maxusage;\n\tunsigned int flags;\n\tunsigned int report_offset;\n\tunsigned int report_size;\n\tunsigned int report_count;\n\tunsigned int report_type;\n\t__s32 *value;\n\t__s32 *new_value;\n\t__s32 *usages_priorities;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__s32 unit_exponent;\n\tunsigned int unit;\n\tbool ignored;\n\tstruct hid_report *report;\n\tunsigned int index;\n\tstruct hid_input *hidinput;\n\t__u16 dpad;\n\tunsigned int slot_idx;\n};\n\nstruct hid_field_entry {\n\tstruct list_head list;\n\tstruct hid_field *field;\n\tunsigned int index;\n\t__s32 priority;\n};\n\nstruct hid_global {\n\tunsigned int usage_page;\n\t__s32 logical_minimum;\n\t__s32 logical_maximum;\n\t__s32 physical_minimum;\n\t__s32 physical_maximum;\n\t__s32 unit_exponent;\n\tunsigned int unit;\n\tunsigned int report_id;\n\tunsigned int report_size;\n\tunsigned int report_count;\n};\n\nstruct hid_input {\n\tstruct list_head list;\n\tstruct hid_report *report;\n\tstruct input_dev *input;\n\tconst char *name;\n\tstruct list_head reports;\n\tunsigned int application;\n\tbool registered;\n};\n\nstruct hid_item {\n\tunsigned int format;\n\t__u8 size;\n\t__u8 type;\n\t__u8 tag;\n\tunion {\n\t\t__u8 u8;\n\t\t__s8 s8;\n\t\t__u16 u16;\n\t\t__s16 s16;\n\t\t__u32 u32;\n\t\t__s32 s32;\n\t\tconst __u8 *longdata;\n\t} data;\n};\n\nstruct hid_ll_driver {\n\tint (*start)(struct hid_device *);\n\tvoid (*stop)(struct hid_device *);\n\tint (*open)(struct hid_device *);\n\tvoid (*close)(struct hid_device *);\n\tint (*power)(struct hid_device *, int);\n\tint (*parse)(struct hid_device *);\n\tvoid (*request)(struct hid_device *, struct hid_report *, int);\n\tint (*wait)(struct hid_device *);\n\tint (*raw_request)(struct hid_device *, unsigned char, __u8 *, size_t, unsigned char, int);\n\tint (*output_report)(struct hid_device *, __u8 *, size_t);\n\tint (*idle)(struct hid_device *, int, int, int);\n\tbool (*may_wakeup)(struct hid_device *);\n\tunsigned int max_buffer_size;\n};\n\nstruct hid_local {\n\tunsigned int usage[12288];\n\tu8 usage_size[12288];\n\tunsigned int collection_index[12288];\n\tunsigned int usage_index;\n\tunsigned int usage_minimum;\n\tunsigned int delimiter_depth;\n\tunsigned int delimiter_branch;\n};\n\nstruct hid_output_fifo {\n\tstruct hid_report *report;\n\tchar *raw_report;\n};\n\nstruct hid_parser {\n\tstruct hid_global global;\n\tstruct hid_global global_stack[4];\n\tunsigned int global_stack_ptr;\n\tstruct hid_local local;\n\tunsigned int *collection_stack;\n\tunsigned int collection_stack_ptr;\n\tunsigned int collection_stack_size;\n\tstruct hid_device *device;\n\tunsigned int scan_flags;\n};\n\nstruct hid_report {\n\tstruct list_head list;\n\tstruct list_head hidinput_list;\n\tstruct list_head field_entry_list;\n\tunsigned int id;\n\tenum hid_report_type type;\n\tunsigned int application;\n\tstruct hid_field *field[256];\n\tstruct hid_field_entry *field_entries;\n\tunsigned int maxfield;\n\tunsigned int size;\n\tstruct hid_device *device;\n\tbool tool_active;\n\tunsigned int tool;\n};\n\nstruct hid_report_id {\n\t__u32 report_type;\n};\n\nstruct hid_usage {\n\tunsigned int hid;\n\tunsigned int collection_index;\n\tunsigned int usage_index;\n\t__s8 resolution_multiplier;\n\t__s8 wheel_factor;\n\t__u16 code;\n\t__u8 type;\n\t__s16 hat_min;\n\t__s16 hat_max;\n\t__s16 hat_dir;\n\t__s16 wheel_accumulated;\n};\n\nstruct hid_usage_entry {\n\tunsigned int page;\n\tunsigned int usage;\n\tconst char *description;\n};\n\nstruct hid_usage_id {\n\t__u32 usage_hid;\n\t__u32 usage_type;\n\t__u32 usage_code;\n};\n\nstruct hiddev {\n\tint minor;\n\tint exist;\n\tint open;\n\tstruct mutex existancelock;\n\twait_queue_head_t wait;\n\tstruct hid_device *hid;\n\tstruct list_head list;\n\tspinlock_t list_lock;\n\tbool initialized;\n};\n\nstruct hidraw {\n\tunsigned int minor;\n\tint exist;\n\tint open;\n\twait_queue_head_t wait;\n\tstruct hid_device *hid;\n\tstruct device *dev;\n\tspinlock_t list_lock;\n\tstruct list_head list;\n};\n\nstruct hlist_bl_head {\n\tstruct hlist_bl_node *first;\n};\n\nstruct hop_jumbo_hdr {\n\tu8 nexthdr;\n\tu8 hdrlen;\n\tu8 tlv_type;\n\tu8 tlv_len;\n\t__be32 jumbo_payload_len;\n};\n\nstruct hotplug_slot_ops;\n\nstruct pci_slot;\n\nstruct hotplug_slot {\n\tconst struct hotplug_slot_ops *ops;\n\tstruct list_head slot_list;\n\tstruct pci_slot *pci_slot;\n\tstruct module *owner;\n\tconst char *mod_name;\n};\n\nstruct hotplug_slot_ops {\n\tint (*enable_slot)(struct hotplug_slot *);\n\tint (*disable_slot)(struct hotplug_slot *);\n\tint (*set_attention_status)(struct hotplug_slot *, u8);\n\tint (*hardware_test)(struct hotplug_slot *, u32);\n\tint (*get_power_status)(struct hotplug_slot *, u8 *);\n\tint (*get_attention_status)(struct hotplug_slot *, u8 *);\n\tint (*get_latch_status)(struct hotplug_slot *, u8 *);\n\tint (*get_adapter_status)(struct hotplug_slot *, u8 *);\n\tint (*reset_slot)(struct hotplug_slot *, bool);\n};\n\nstruct housekeeping {\n\tstruct cpumask cpumasks[3];\n\tlong unsigned int flags;\n};\n\nstruct hprobe {\n\tenum hprobe_state state;\n\tint srcu_idx;\n\tstruct uprobe *uprobe;\n};\n\nstruct hpx_type0 {\n\tu32 revision;\n\tu8 cache_line_size;\n\tu8 latency_timer;\n\tu8 enable_serr;\n\tu8 enable_perr;\n};\n\nstruct hpx_type1 {\n\tu32 revision;\n\tu8 max_mem_read;\n\tu8 avg_max_split;\n\tu16 tot_max_split;\n};\n\nstruct hpx_type2 {\n\tu32 revision;\n\tu32 unc_err_mask_and;\n\tu32 unc_err_mask_or;\n\tu32 unc_err_sever_and;\n\tu32 unc_err_sever_or;\n\tu32 cor_err_mask_and;\n\tu32 cor_err_mask_or;\n\tu32 adv_err_cap_and;\n\tu32 adv_err_cap_or;\n\tu16 pci_exp_devctl_and;\n\tu16 pci_exp_devctl_or;\n\tu16 pci_exp_lnkctl_and;\n\tu16 pci_exp_lnkctl_or;\n\tu32 sec_unc_err_sever_and;\n\tu32 sec_unc_err_sever_or;\n\tu32 sec_unc_err_mask_and;\n\tu32 sec_unc_err_mask_or;\n};\n\nstruct hpx_type3 {\n\tu16 device_type;\n\tu16 function_type;\n\tu16 config_space_location;\n\tu16 pci_exp_cap_id;\n\tu16 pci_exp_cap_ver;\n\tu16 pci_exp_vendor_id;\n\tu16 dvsec_id;\n\tu16 dvsec_rev;\n\tu16 match_offset;\n\tu32 match_mask_and;\n\tu32 match_value;\n\tu16 reg_offset;\n\tu32 reg_mask_and;\n\tu32 reg_mask_or;\n};\n\nstruct seqcount_raw_spinlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_raw_spinlock seqcount_raw_spinlock_t;\n\nstruct hrtimer_cpu_base;\n\nstruct hrtimer_clock_base {\n\tstruct hrtimer_cpu_base *cpu_base;\n\tunsigned int index;\n\tclockid_t clockid;\n\tseqcount_raw_spinlock_t seq;\n\tstruct hrtimer *running;\n\tstruct timerqueue_head active;\n\tktime_t (*get_time)(void);\n\tktime_t offset;\n};\n\nstruct hrtimer_cpu_base {\n\traw_spinlock_t lock;\n\tunsigned int cpu;\n\tunsigned int active_bases;\n\tunsigned int clock_was_set_seq;\n\tunsigned int hres_active: 1;\n\tunsigned int in_hrtirq: 1;\n\tunsigned int hang_detected: 1;\n\tunsigned int softirq_activated: 1;\n\tunsigned int online: 1;\n\tunsigned int nr_events;\n\tshort unsigned int nr_retries;\n\tshort unsigned int nr_hangs;\n\tunsigned int max_hang_time;\n\tktime_t expires_next;\n\tstruct hrtimer *next_timer;\n\tktime_t softirq_expires_next;\n\tstruct hrtimer *softirq_next_timer;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hrtimer_clock_base clock_base[8];\n\tcall_single_data_t csd;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hrtimer_sleeper {\n\tstruct hrtimer timer;\n\tstruct task_struct *task;\n};\n\nstruct hs_primary_descriptor {\n\t__u8 foo[8];\n\t__u8 type[1];\n\t__u8 id[5];\n\t__u8 version[1];\n\t__u8 unused1[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 unused3[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 unused4[28];\n\t__u8 root_directory_record[34];\n};\n\nstruct hs_volume_descriptor {\n\t__u8 foo[8];\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 data[2033];\n};\n\nstruct hsr_tag {\n\t__be16 path_and_LSDU_size;\n\t__be16 sequence_nr;\n\t__be16 encap_proto;\n};\n\nstruct hstate {\n\tstruct mutex resize_lock;\n\tstruct lock_class_key resize_key;\n\tint next_nid_to_alloc;\n\tint next_nid_to_free;\n\tunsigned int order;\n\tunsigned int demote_order;\n\tlong unsigned int mask;\n\tlong unsigned int max_huge_pages;\n\tlong unsigned int nr_huge_pages;\n\tlong unsigned int free_huge_pages;\n\tlong unsigned int resv_huge_pages;\n\tlong unsigned int surplus_huge_pages;\n\tlong unsigned int nr_overcommit_huge_pages;\n\tstruct list_head hugepage_activelist;\n\tstruct list_head hugepage_freelists[1];\n\tunsigned int max_huge_pages_node[1];\n\tunsigned int nr_huge_pages_node[1];\n\tunsigned int free_huge_pages_node[1];\n\tunsigned int surplus_huge_pages_node[1];\n\tchar name[32];\n};\n\nstruct pcpu_freelist_node {\n\tstruct pcpu_freelist_node *next;\n};\n\nstruct htab_elem {\n\tunion {\n\t\tstruct hlist_nulls_node hash_node;\n\t\tstruct {\n\t\t\tvoid *padding;\n\t\t\tunion {\n\t\t\t\tstruct pcpu_freelist_node fnode;\n\t\t\t\tstruct htab_elem *batch_flink;\n\t\t\t};\n\t\t};\n\t};\n\tunion {\n\t\tvoid *ptr_to_pptr;\n\t\tstruct bpf_lru_node lru_node;\n\t};\n\tu32 hash;\n\tlong: 0;\n\tchar key[0];\n};\n\nstruct huge_bootmem_page {\n\tstruct list_head list;\n\tstruct hstate *hstate;\n};\n\nstruct hugepage_subpool {\n\tspinlock_t lock;\n\tlong int count;\n\tlong int max_hpages;\n\tlong int used_hpages;\n\tstruct hstate *hstate;\n\tlong int min_hpages;\n\tlong int rsv_hpages;\n};\n\nstruct page_counter {\n\tatomic_long_t usage;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tlong unsigned int emin;\n\tatomic_long_t min_usage;\n\tatomic_long_t children_min_usage;\n\tlong unsigned int elow;\n\tatomic_long_t low_usage;\n\tatomic_long_t children_low_usage;\n\tlong unsigned int watermark;\n\tlong unsigned int local_watermark;\n\tlong unsigned int failcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tbool protection_support;\n\tlong unsigned int min;\n\tlong unsigned int low;\n\tlong unsigned int high;\n\tlong unsigned int max;\n\tstruct page_counter *parent;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct hugetlb_cgroup_per_node;\n\nstruct hugetlb_cgroup {\n\tstruct cgroup_subsys_state css;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct page_counter hugepage[3];\n\tstruct page_counter rsvd_hugepage[3];\n\tatomic_long_t events[3];\n\tatomic_long_t events_local[3];\n\tstruct cgroup_file events_file[3];\n\tstruct cgroup_file events_local_file[3];\n\tstruct hugetlb_cgroup_per_node *nodeinfo[0];\n};\n\nstruct hugetlb_cgroup_per_node {\n\tlong unsigned int usage[3];\n};\n\nstruct hugetlb_vma_lock {\n\tstruct kref refs;\n\tstruct rw_semaphore rw_sema;\n\tstruct vm_area_struct *vma;\n};\n\nstruct hugetlbfs_fs_context {\n\tstruct hstate *hstate;\n\tlong long unsigned int max_size_opt;\n\tlong long unsigned int min_size_opt;\n\tlong int max_hpages;\n\tlong int nr_inodes;\n\tlong int min_hpages;\n\tenum hugetlbfs_size_type max_val_type;\n\tenum hugetlbfs_size_type min_val_type;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n};\n\nstruct hugetlbfs_inode_info {\n\tstruct inode vfs_inode;\n\tunsigned int seals;\n};\n\nstruct hugetlbfs_sb_info {\n\tlong int max_inodes;\n\tlong int free_inodes;\n\tspinlock_t stat_lock;\n\tstruct hstate *hstate;\n\tstruct hugepage_subpool *spool;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n};\n\nstruct hv_ops {\n\tssize_t (*get_chars)(uint32_t, u8 *, size_t);\n\tssize_t (*put_chars)(uint32_t, const u8 *, size_t);\n\tint (*flush)(uint32_t, bool);\n\tint (*notifier_add)(struct hvc_struct *, int);\n\tvoid (*notifier_del)(struct hvc_struct *, int);\n\tvoid (*notifier_hangup)(struct hvc_struct *, int);\n\tint (*tiocmget)(struct hvc_struct *);\n\tint (*tiocmset)(struct hvc_struct *, unsigned int, unsigned int);\n\tvoid (*dtr_rts)(struct hvc_struct *, bool);\n};\n\nstruct tty_buffer {\n\tunion {\n\t\tstruct tty_buffer *next;\n\t\tstruct llist_node free;\n\t};\n\tunsigned int used;\n\tunsigned int size;\n\tunsigned int commit;\n\tunsigned int lookahead;\n\tunsigned int read;\n\tbool flags;\n\tlong: 0;\n\tu8 data[0];\n};\n\nstruct tty_bufhead {\n\tstruct tty_buffer *head;\n\tstruct work_struct work;\n\tstruct mutex lock;\n\tatomic_t priority;\n\tstruct tty_buffer sentinel;\n\tstruct llist_head free;\n\tatomic_t mem_used;\n\tint mem_limit;\n\tstruct tty_buffer *tail;\n};\n\nstruct tty_struct;\n\nstruct tty_port_operations;\n\nstruct tty_port_client_operations;\n\nstruct tty_port {\n\tstruct tty_bufhead buf;\n\tstruct tty_struct *tty;\n\tstruct tty_struct *itty;\n\tconst struct tty_port_operations *ops;\n\tconst struct tty_port_client_operations *client_ops;\n\tspinlock_t lock;\n\tint blocked_open;\n\tint count;\n\twait_queue_head_t open_wait;\n\twait_queue_head_t delta_msr_wait;\n\tlong unsigned int flags;\n\tlong unsigned int iflags;\n\tunsigned char console: 1;\n\tstruct mutex mutex;\n\tstruct mutex buf_mutex;\n\tu8 *xmit_buf;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tu8 *type;\n\t\t\tconst u8 *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tu8 *ptr;\n\t\t\tconst u8 *ptr_const;\n\t\t};\n\t\tu8 buf[0];\n\t} xmit_fifo;\n\tunsigned int close_delay;\n\tunsigned int closing_wait;\n\tint drain_delay;\n\tstruct kref kref;\n\tvoid *client_data;\n};\n\nstruct hvc_struct {\n\tstruct tty_port port;\n\tspinlock_t lock;\n\tint index;\n\tint do_wakeup;\n\tint outbuf_size;\n\tint n_outbuf;\n\tuint32_t vtermno;\n\tconst struct hv_ops *ops;\n\tint irq_requested;\n\tint data;\n\tstruct winsize ws;\n\tstruct work_struct tty_resize;\n\tstruct list_head next;\n\tlong unsigned int flags;\n\tu8 outbuf[0];\n};\n\nstruct hw_cache_event {\n\tuint32_t result_id: 1;\n\tuint32_t op_id: 2;\n\tuint32_t cache_id: 13;\n\tuint32_t event_type: 4;\n\tuint32_t reserved: 12;\n};\n\nstruct hw_gen_event {\n\tuint32_t event_code: 16;\n\tuint32_t event_type: 4;\n\tuint32_t reserved: 12;\n};\n\nstruct hw_perf_event_extra {\n\tu64 config;\n\tunsigned int reg;\n\tint alloc;\n\tint idx;\n};\n\nstruct hw_perf_event {\n\tunion {\n\t\tstruct {\n\t\t\tu64 config;\n\t\t\tu64 last_tag;\n\t\t\tlong unsigned int config_base;\n\t\t\tlong unsigned int event_base;\n\t\t\tint event_base_rdpmc;\n\t\t\tint idx;\n\t\t\tint last_cpu;\n\t\t\tint flags;\n\t\t\tstruct hw_perf_event_extra extra_reg;\n\t\t\tstruct hw_perf_event_extra branch_reg;\n\t\t};\n\t\tstruct {\n\t\t\tu64 aux_config;\n\t\t\tunsigned int aux_paused;\n\t\t};\n\t\tstruct {\n\t\t\tstruct hrtimer hrtimer;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head tp_list;\n\t\t};\n\t\tstruct {\n\t\t\tu64 pwr_acc;\n\t\t\tu64 ptsc;\n\t\t};\n\t\tstruct {\n\t\t\tu8 iommu_bank;\n\t\t\tu8 iommu_cntr;\n\t\t\tu16 padding;\n\t\t\tu64 conf;\n\t\t\tu64 conf1;\n\t\t};\n\t};\n\tstruct task_struct *target;\n\tvoid *addr_filters;\n\tlong unsigned int addr_filters_gen;\n\tint state;\n\tlocal64_t prev_count;\n\tu64 sample_period;\n\tunion {\n\t\tstruct {\n\t\t\tu64 last_period;\n\t\t\tlocal64_t period_left;\n\t\t};\n\t\tstruct {\n\t\t\tu64 saved_metric;\n\t\t\tu64 saved_slots;\n\t\t};\n\t};\n\tu64 interrupts_seq;\n\tu64 interrupts;\n\tu64 freq_time_stamp;\n\tu64 freq_count_stamp;\n};\n\nstruct hw_port_info {\n\tstruct net_device *lower_dev;\n\tu32 port_id;\n};\n\nstruct hwlat_entry {\n\tstruct trace_entry ent;\n\tu64 duration;\n\tu64 outer_duration;\n\tu64 nmi_total_ts;\n\tstruct timespec64 timestamp;\n\tunsigned int nmi_count;\n\tunsigned int seqnum;\n\tunsigned int count;\n};\n\nstruct hwmon_channel_info {\n\tenum hwmon_sensor_types type;\n\tconst u32 *config;\n};\n\nstruct hwmon_ops;\n\nstruct hwmon_chip_info {\n\tconst struct hwmon_ops *ops;\n\tconst struct hwmon_channel_info * const *info;\n};\n\nstruct hwmon_device {\n\tconst char *name;\n\tconst char *label;\n\tstruct device dev;\n\tconst struct hwmon_chip_info *chip;\n\tstruct list_head tzdata;\n\tstruct attribute_group group;\n\tconst struct attribute_group **groups;\n};\n\nstruct hwmon_device_attribute {\n\tstruct device_attribute dev_attr;\n\tconst struct hwmon_ops *ops;\n\tenum hwmon_sensor_types type;\n\tu32 attr;\n\tint index;\n\tchar name[32];\n};\n\nstruct hwmon_ops {\n\tumode_t visible;\n\tumode_t (*is_visible)(const void *, enum hwmon_sensor_types, u32, int);\n\tint (*read)(struct device *, enum hwmon_sensor_types, u32, int, long int *);\n\tint (*read_string)(struct device *, enum hwmon_sensor_types, u32, int, const char **);\n\tint (*write)(struct device *, enum hwmon_sensor_types, u32, int, long int);\n};\n\nstruct hwmon_thermal_data {\n\tstruct list_head node;\n\tstruct device *dev;\n\tint index;\n\tstruct thermal_zone_device *tzd;\n};\n\nstruct hwmon_type_attr_list {\n\tconst u32 *attrs;\n\tsize_t n_attrs;\n};\n\nstruct hwrng {\n\tconst char *name;\n\tint (*init)(struct hwrng *);\n\tvoid (*cleanup)(struct hwrng *);\n\tint (*data_present)(struct hwrng *, int);\n\tint (*data_read)(struct hwrng *, u32 *);\n\tint (*read)(struct hwrng *, void *, size_t, bool);\n\tlong unsigned int priv;\n\tshort unsigned int quality;\n\tstruct list_head list;\n\tstruct kref ref;\n\tstruct completion cleanup_done;\n\tstruct completion dying;\n};\n\nstruct hwtstamp_provider_desc {\n\tint index;\n\tenum hwtstamp_provider_qualifier qualifier;\n};\n\nstruct hwtstamp_provider {\n\tstruct callback_head callback_head;\n\tenum hwtstamp_source source;\n\tstruct phy_device *phydev;\n\tstruct hwtstamp_provider_desc desc;\n};\n\nstruct i2c_acpi_handler_data {\n\tstruct acpi_connection_info info;\n\tstruct i2c_adapter *adapter;\n};\n\nstruct i2c_acpi_irq_context {\n\tint irq;\n\tbool wake_capable;\n};\n\nstruct i2c_board_info;\n\nstruct i2c_acpi_lookup {\n\tstruct i2c_board_info *info;\n\tacpi_handle adapter_handle;\n\tacpi_handle device_handle;\n\tacpi_handle search_handle;\n\tint n;\n\tint index;\n\tu32 speed;\n\tu32 min_speed;\n\tu32 force_speed;\n};\n\nstruct i2c_adapter_quirks {\n\tu64 flags;\n\tint max_num_msgs;\n\tu16 max_write_len;\n\tu16 max_read_len;\n\tu16 max_comb_1st_msg_len;\n\tu16 max_comb_2nd_msg_len;\n};\n\nunion i2c_smbus_data;\n\nstruct i2c_algorithm {\n\tunion {\n\t\tint (*xfer)(struct i2c_adapter *, struct i2c_msg *, int);\n\t\tint (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int);\n\t};\n\tunion {\n\t\tint (*xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int);\n\t\tint (*master_xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int);\n\t};\n\tint (*smbus_xfer)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *);\n\tint (*smbus_xfer_atomic)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *);\n\tu32 (*functionality)(struct i2c_adapter *);\n};\n\nstruct i2c_board_info {\n\tchar type[20];\n\tshort unsigned int flags;\n\tshort unsigned int addr;\n\tconst char *dev_name;\n\tvoid *platform_data;\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tconst struct software_node *swnode;\n\tconst struct resource *resources;\n\tunsigned int num_resources;\n\tint irq;\n};\n\nstruct i2c_client {\n\tshort unsigned int flags;\n\tshort unsigned int addr;\n\tchar name[20];\n\tstruct i2c_adapter *adapter;\n\tstruct device dev;\n\tint init_irq;\n\tint irq;\n\tstruct list_head detected;\n\tvoid *devres_group_id;\n\tstruct dentry *debugfs;\n};\n\nstruct i2c_cmd_arg {\n\tunsigned int cmd;\n\tvoid *arg;\n};\n\nstruct i2c_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct i2c_device_identity {\n\tu16 manufacturer_id;\n\tu16 part_id;\n\tu8 die_revision;\n};\n\nstruct i2c_devinfo {\n\tstruct list_head list;\n\tint busnum;\n\tstruct i2c_board_info board_info;\n};\n\nstruct i2c_driver {\n\tunsigned int class;\n\tint (*probe)(struct i2c_client *);\n\tvoid (*remove)(struct i2c_client *);\n\tvoid (*shutdown)(struct i2c_client *);\n\tvoid (*alert)(struct i2c_client *, enum i2c_alert_protocol, unsigned int);\n\tint (*command)(struct i2c_client *, unsigned int, void *);\n\tstruct device_driver driver;\n\tconst struct i2c_device_id *id_table;\n\tint (*detect)(struct i2c_client *, struct i2c_board_info *);\n\tconst short unsigned int *address_list;\n\tstruct list_head clients;\n\tu32 flags;\n};\n\nstruct i2c_dw_semaphore_callbacks {\n\tint (*probe)(struct dw_i2c_dev *);\n\tvoid (*remove)(struct dw_i2c_dev *);\n};\n\nstruct i2c_lock_operations {\n\tvoid (*lock_bus)(struct i2c_adapter *, unsigned int);\n\tint (*trylock_bus)(struct i2c_adapter *, unsigned int);\n\tvoid (*unlock_bus)(struct i2c_adapter *, unsigned int);\n};\n\nstruct i2c_msg {\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\t__u8 *buf;\n};\n\nstruct i2c_smbus_alert_setup {\n\tint irq;\n};\n\nunion i2c_smbus_data {\n\t__u8 byte;\n\t__u16 word;\n\t__u8 block[34];\n};\n\nstruct iattr {\n\tunsigned int ia_valid;\n\tumode_t ia_mode;\n\tunion {\n\t\tkuid_t ia_uid;\n\t\tvfsuid_t ia_vfsuid;\n\t};\n\tunion {\n\t\tkgid_t ia_gid;\n\t\tvfsgid_t ia_vfsgid;\n\t};\n\tloff_t ia_size;\n\tstruct timespec64 ia_atime;\n\tstruct timespec64 ia_mtime;\n\tstruct timespec64 ia_ctime;\n\tstruct file *ia_file;\n};\n\nstruct ic_device {\n\tstruct ic_device *next;\n\tstruct net_device *dev;\n\tshort unsigned int flags;\n\tshort int able;\n\t__be32 xid;\n};\n\nstruct ich8_pr {\n\tu32 base: 13;\n\tu32 reserved1: 2;\n\tu32 rpe: 1;\n\tu32 limit: 13;\n\tu32 reserved2: 2;\n\tu32 wpe: 1;\n};\n\nunion ich8_flash_protected_range {\n\tstruct ich8_pr range;\n\tu32 regval;\n};\n\nstruct ich8_hsflctl {\n\tu16 flcgo: 1;\n\tu16 flcycle: 2;\n\tu16 reserved: 5;\n\tu16 fldbcount: 2;\n\tu16 flockdn: 6;\n};\n\nstruct ich8_hsfsts {\n\tu16 flcdone: 1;\n\tu16 flcerr: 1;\n\tu16 dael: 1;\n\tu16 berasesz: 2;\n\tu16 flcinprog: 1;\n\tu16 reserved1: 2;\n\tu16 reserved2: 6;\n\tu16 fldesvalid: 1;\n\tu16 flockdn: 1;\n};\n\nunion ich8_hws_flash_ctrl {\n\tstruct ich8_hsflctl hsf_ctrl;\n\tu16 regval;\n};\n\nunion ich8_hws_flash_status {\n\tstruct ich8_hsfsts hsf_status;\n\tu16 regval;\n};\n\nstruct icmp6_err {\n\tint err;\n\tint fatal;\n};\n\nstruct icmp6_filter {\n\t__u32 data[8];\n};\n\nstruct icmpv6_echo {\n\t__be16 identifier;\n\t__be16 sequence;\n};\n\nstruct icmpv6_nd_advt {\n\t__u32 reserved: 5;\n\t__u32 override: 1;\n\t__u32 solicited: 1;\n\t__u32 router: 1;\n\t__u32 reserved2: 24;\n};\n\nstruct icmpv6_nd_ra {\n\t__u8 hop_limit;\n\t__u8 reserved: 3;\n\t__u8 router_pref: 2;\n\t__u8 home_agent: 1;\n\t__u8 other: 1;\n\t__u8 managed: 1;\n\t__be16 rt_lifetime;\n};\n\nstruct icmp6hdr {\n\t__u8 icmp6_type;\n\t__u8 icmp6_code;\n\t__sum16 icmp6_cksum;\n\tunion {\n\t\t__be32 un_data32[1];\n\t\t__be16 un_data16[2];\n\t\t__u8 un_data8[4];\n\t\tstruct icmpv6_echo u_echo;\n\t\tstruct icmpv6_nd_advt u_nd_advt;\n\t\tstruct icmpv6_nd_ra u_nd_ra;\n\t} icmp6_dataun;\n};\n\nstruct icmphdr {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 checksum;\n\tunion {\n\t\tstruct {\n\t\t\t__be16 id;\n\t\t\t__be16 sequence;\n\t\t} echo;\n\t\t__be32 gateway;\n\t\tstruct {\n\t\t\t__be16 __unused;\n\t\t\t__be16 mtu;\n\t\t} frag;\n\t\t__u8 reserved[4];\n\t} un;\n};\n\nstruct ip_options {\n\t__be32 faddr;\n\t__be32 nexthop;\n\tunsigned char optlen;\n\tunsigned char srr;\n\tunsigned char rr;\n\tunsigned char ts;\n\tunsigned char is_strictroute: 1;\n\tunsigned char srr_is_hit: 1;\n\tunsigned char is_changed: 1;\n\tunsigned char rr_needaddr: 1;\n\tunsigned char ts_needtime: 1;\n\tunsigned char ts_needaddr: 1;\n\tunsigned char router_alert;\n\tunsigned char cipso;\n\tunsigned char __pad2;\n\tunsigned char __data[0];\n};\n\nstruct ip_options_rcu {\n\tstruct callback_head rcu;\n\tstruct ip_options opt;\n};\n\nstruct ip_options_data {\n\tstruct ip_options_rcu opt;\n\tchar data[40];\n};\n\nstruct icmp_bxm {\n\tstruct sk_buff *skb;\n\tint offset;\n\tint data_len;\n\tstruct {\n\t\tstruct icmphdr icmph;\n\t\t__be32 times[3];\n\t} data;\n\tint head_len;\n\tstruct ip_options_data replyopts;\n};\n\nstruct icmp_control {\n\tenum skb_drop_reason (*handler)(struct sk_buff *);\n\tshort int error;\n};\n\nstruct icmp_err {\n\tint errno;\n\tunsigned int fatal: 1;\n};\n\nstruct icmp_ext_echo_ctype3_hdr {\n\t__be16 afi;\n\t__u8 addrlen;\n\t__u8 reserved;\n};\n\nstruct icmp_extobj_hdr {\n\t__be16 length;\n\t__u8 class_num;\n\t__u8 class_type;\n};\n\nstruct icmp_ext_echo_iio {\n\tstruct icmp_extobj_hdr extobj_hdr;\n\tunion {\n\t\tchar name[16];\n\t\t__be32 ifindex;\n\t\tstruct {\n\t\t\tstruct icmp_ext_echo_ctype3_hdr ctype3_hdr;\n\t\t\tunion {\n\t\t\t\t__be32 ipv4_addr;\n\t\t\t\tstruct in6_addr ipv6_addr;\n\t\t\t} ip_addr;\n\t\t} addr;\n\t} ident;\n};\n\nstruct icmp_ext_hdr {\n\t__u8 reserved1: 4;\n\t__u8 version: 4;\n\t__u8 reserved2;\n\t__sum16 checksum;\n};\n\nstruct icmp_filter {\n\t__u32 data;\n};\n\nstruct icmp_mib {\n\tlong unsigned int mibs[30];\n};\n\nstruct icmpmsg_mib {\n\tatomic_long_t mibs[512];\n};\n\nstruct icmpv6_mib {\n\tlong unsigned int mibs[7];\n};\n\nstruct icmpv6_mib_device {\n\tatomic_long_t mibs[7];\n};\n\nstruct icmpv6_msg {\n\tstruct sk_buff *skb;\n\tint offset;\n\tuint8_t type;\n};\n\nstruct icmpv6msg_mib {\n\tatomic_long_t mibs[512];\n};\n\nstruct icmpv6msg_mib_device {\n\tatomic_long_t mibs[512];\n};\n\nstruct ida_bitmap {\n\tlong unsigned int bitmap[16];\n};\n\nstruct idempotent {\n\tconst void *cookie;\n\tstruct hlist_node entry;\n\tstruct completion complete;\n\tint ret;\n};\n\nstruct idle_timer {\n\tstruct hrtimer timer;\n\tint done;\n};\n\nstruct idmac_desc {\n\t__le32 des0;\n\t__le32 des1;\n\t__le32 des2;\n\t__le32 des3;\n};\n\nstruct idmac_desc_64addr {\n\tu32 des0;\n\tu32 des1;\n\tu32 des2;\n\tu32 des3;\n\tu32 des4;\n\tu32 des5;\n\tu32 des6;\n\tu32 des7;\n};\n\nstruct idmap_legacy_upcalldata;\n\nstruct idmap {\n\tstruct rpc_pipe_dir_object idmap_pdo;\n\tstruct rpc_pipe *idmap_pipe;\n\tstruct idmap_legacy_upcalldata *idmap_upcall_data;\n\tstruct mutex idmap_mutex;\n\tstruct user_namespace *user_ns;\n};\n\nstruct idmap_key {\n\tbool map_up;\n\tu32 id;\n\tu32 count;\n};\n\nstruct idmap_msg {\n\t__u8 im_type;\n\t__u8 im_conv;\n\tchar im_name[128];\n\t__u32 im_id;\n\t__u8 im_status;\n};\n\nstruct idmap_legacy_upcalldata {\n\tstruct rpc_pipe_msg pipe_msg;\n\tstruct idmap_msg idmap_msg;\n\tstruct key *authkey;\n\tstruct idmap *idmap;\n};\n\nstruct if6_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n\tint offset;\n};\n\nstruct if_settings {\n\tunsigned int type;\n\tunsigned int size;\n\tunion {\n\t\traw_hdlc_proto *raw_hdlc;\n\t\tcisco_proto *cisco;\n\t\tfr_proto *fr;\n\t\tfr_proto_pvc *fr_pvc;\n\t\tfr_proto_pvc_info *fr_pvc_info;\n\t\tx25_hdlc_proto *x25;\n\t\tsync_serial_settings *sync;\n\t\tte1_settings *te1;\n\t} ifs_ifsu;\n};\n\nstruct if_stats_msg {\n\t__u8 family;\n\t__u8 pad1;\n\t__u16 pad2;\n\t__u32 ifindex;\n\t__u32 filter_mask;\n};\n\nstruct ifa6_config {\n\tconst struct in6_addr *pfx;\n\tunsigned int plen;\n\tu8 ifa_proto;\n\tconst struct in6_addr *peer_pfx;\n\tu32 rt_priority;\n\tu32 ifa_flags;\n\tu32 preferred_lft;\n\tu32 valid_lft;\n\tu16 scope;\n};\n\nstruct ifa_cacheinfo {\n\t__u32 ifa_prefered;\n\t__u32 ifa_valid;\n\t__u32 cstamp;\n\t__u32 tstamp;\n};\n\nstruct ifacaddr6 {\n\tstruct in6_addr aca_addr;\n\tstruct fib6_info *aca_rt;\n\tstruct ifacaddr6 *aca_next;\n\tstruct hlist_node aca_addr_lst;\n\tint aca_users;\n\trefcount_t aca_refcnt;\n\tlong unsigned int aca_cstamp;\n\tlong unsigned int aca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ifaddrlblmsg {\n\t__u8 ifal_family;\n\t__u8 __ifal_reserved;\n\t__u8 ifal_prefixlen;\n\t__u8 ifal_flags;\n\t__u32 ifal_index;\n\t__u32 ifal_seq;\n};\n\nstruct ifaddrmsg {\n\t__u8 ifa_family;\n\t__u8 ifa_prefixlen;\n\t__u8 ifa_flags;\n\t__u8 ifa_scope;\n\t__u32 ifa_index;\n};\n\nstruct ifbond {\n\t__s32 bond_mode;\n\t__s32 num_slaves;\n\t__s32 miimon;\n};\n\ntypedef struct ifbond ifbond;\n\nstruct ifreq;\n\nstruct ifconf {\n\tint ifc_len;\n\tunion {\n\t\tchar *ifcu_buf;\n\t\tstruct ifreq *ifcu_req;\n\t} ifc_ifcu;\n};\n\nstruct ifinfomsg {\n\tunsigned char ifi_family;\n\tunsigned char __ifi_pad;\n\tshort unsigned int ifi_type;\n\tint ifi_index;\n\tunsigned int ifi_flags;\n\tunsigned int ifi_change;\n};\n\nstruct ifla_cacheinfo {\n\t__u32 max_reasm_len;\n\t__u32 tstamp;\n\t__u32 reachable_time;\n\t__u32 retrans_time;\n};\n\nstruct ifla_vf_broadcast {\n\t__u8 broadcast[32];\n};\n\nstruct ifla_vf_guid {\n\t__u32 vf;\n\t__u64 guid;\n};\n\nstruct ifla_vf_info {\n\t__u32 vf;\n\t__u8 mac[32];\n\t__u32 vlan;\n\t__u32 qos;\n\t__u32 spoofchk;\n\t__u32 linkstate;\n\t__u32 min_tx_rate;\n\t__u32 max_tx_rate;\n\t__u32 rss_query_en;\n\t__u32 trusted;\n\t__be16 vlan_proto;\n};\n\nstruct ifla_vf_link_state {\n\t__u32 vf;\n\t__u32 link_state;\n};\n\nstruct ifla_vf_mac {\n\t__u32 vf;\n\t__u8 mac[32];\n};\n\nstruct ifla_vf_rate {\n\t__u32 vf;\n\t__u32 min_tx_rate;\n\t__u32 max_tx_rate;\n};\n\nstruct ifla_vf_rss_query_en {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_spoofchk {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_stats {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 broadcast;\n\t__u64 multicast;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n};\n\nstruct ifla_vf_trust {\n\t__u32 vf;\n\t__u32 setting;\n};\n\nstruct ifla_vf_tx_rate {\n\t__u32 vf;\n\t__u32 rate;\n};\n\nstruct ifla_vf_vlan {\n\t__u32 vf;\n\t__u32 vlan;\n\t__u32 qos;\n};\n\nstruct ifla_vf_vlan_info {\n\t__u32 vf;\n\t__u32 vlan;\n\t__u32 qos;\n\t__be16 vlan_proto;\n};\n\nstruct ifmap {\n\tlong unsigned int mem_start;\n\tlong unsigned int mem_end;\n\tshort unsigned int base_addr;\n\tunsigned char irq;\n\tunsigned char dma;\n\tunsigned char port;\n};\n\nstruct inet6_dev;\n\nstruct ip6_sf_list;\n\nstruct ifmcaddr6 {\n\tstruct in6_addr mca_addr;\n\tstruct inet6_dev *idev;\n\tstruct ifmcaddr6 *next;\n\tstruct ip6_sf_list *mca_sources;\n\tstruct ip6_sf_list *mca_tomb;\n\tunsigned int mca_sfmode;\n\tunsigned char mca_crcount;\n\tlong unsigned int mca_sfcount[2];\n\tstruct delayed_work mca_work;\n\tunsigned int mca_flags;\n\tint mca_users;\n\trefcount_t mca_refcnt;\n\tlong unsigned int mca_cstamp;\n\tlong unsigned int mca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ifreq {\n\tunion {\n\t\tchar ifrn_name[16];\n\t} ifr_ifrn;\n\tunion {\n\t\tstruct sockaddr ifru_addr;\n\t\tstruct sockaddr ifru_dstaddr;\n\t\tstruct sockaddr ifru_broadaddr;\n\t\tstruct sockaddr ifru_netmask;\n\t\tstruct sockaddr ifru_hwaddr;\n\t\tshort int ifru_flags;\n\t\tint ifru_ivalue;\n\t\tint ifru_mtu;\n\t\tstruct ifmap ifru_map;\n\t\tchar ifru_slave[16];\n\t\tchar ifru_newname[16];\n\t\tvoid *ifru_data;\n\t\tstruct if_settings ifru_settings;\n\t} ifr_ifru;\n};\n\nstruct ifslave {\n\t__s32 slave_id;\n\tchar slave_name[16];\n\t__s8 link;\n\t__s8 state;\n\t__u32 link_failure_count;\n};\n\ntypedef struct ifslave ifslave;\n\nstruct igmp6_mc_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct inet6_dev *idev;\n};\n\nstruct igmp6_mcf_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct inet6_dev *idev;\n\tstruct ifmcaddr6 *im;\n};\n\nstruct in_device;\n\nstruct igmp_mc_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct in_device *in_dev;\n};\n\nstruct ip_mc_list;\n\nstruct igmp_mcf_iter_state {\n\tstruct seq_net_private p;\n\tstruct net_device *dev;\n\tstruct in_device *idev;\n\tstruct ip_mc_list *im;\n};\n\nstruct igmphdr {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 csum;\n\t__be32 group;\n};\n\nstruct igmpv3_grec {\n\t__u8 grec_type;\n\t__u8 grec_auxwords;\n\t__be16 grec_nsrcs;\n\t__be32 grec_mca;\n\t__be32 grec_src[0];\n};\n\nstruct igmpv3_query {\n\t__u8 type;\n\t__u8 code;\n\t__sum16 csum;\n\t__be32 group;\n\t__u8 qrv: 3;\n\t__u8 suppress: 1;\n\t__u8 resv: 4;\n\t__u8 qqic;\n\t__be16 nsrcs;\n\t__be32 srcs[0];\n};\n\nstruct igmpv3_report {\n\t__u8 type;\n\t__u8 resv1;\n\t__sum16 csum;\n\t__be16 resv2;\n\t__be16 ngrec;\n\tstruct igmpv3_grec grec[0];\n};\n\nstruct ignore_entry {\n\tu16 vid;\n\tu16 pid;\n\tu16 bcdmin;\n\tu16 bcdmax;\n};\n\nstruct iio_dev;\n\nstruct iio_buffer_setup_ops {\n\tint (*preenable)(struct iio_dev *);\n\tint (*postenable)(struct iio_dev *);\n\tint (*predisable)(struct iio_dev *);\n\tint (*postdisable)(struct iio_dev *);\n\tbool (*validate_scan_mask)(struct iio_dev *, const long unsigned int *);\n};\n\nstruct iio_scan_type {\n\tchar sign;\n\tu8 realbits;\n\tu8 storagebits;\n\tu8 shift;\n\tu8 repeat;\n\tenum iio_endian endianness;\n};\n\nstruct iio_event_spec;\n\nstruct iio_chan_spec_ext_info;\n\nstruct iio_chan_spec {\n\tenum iio_chan_type type;\n\tint channel;\n\tint channel2;\n\tlong unsigned int address;\n\tint scan_index;\n\tunion {\n\t\tstruct iio_scan_type scan_type;\n\t\tstruct {\n\t\t\tconst struct iio_scan_type *ext_scan_type;\n\t\t\tunsigned int num_ext_scan_type;\n\t\t};\n\t};\n\tlong int info_mask_separate;\n\tlong int info_mask_separate_available;\n\tlong int info_mask_shared_by_type;\n\tlong int info_mask_shared_by_type_available;\n\tlong int info_mask_shared_by_dir;\n\tlong int info_mask_shared_by_dir_available;\n\tlong int info_mask_shared_by_all;\n\tlong int info_mask_shared_by_all_available;\n\tconst struct iio_event_spec *event_spec;\n\tunsigned int num_event_specs;\n\tconst struct iio_chan_spec_ext_info *ext_info;\n\tconst char *extend_name;\n\tconst char *datasheet_name;\n\tunsigned int modified: 1;\n\tunsigned int indexed: 1;\n\tunsigned int output: 1;\n\tunsigned int differential: 1;\n\tunsigned int has_ext_scan_type: 1;\n};\n\nstruct iio_chan_spec_ext_info {\n\tconst char *name;\n\tenum iio_shared_by shared;\n\tssize_t (*read)(struct iio_dev *, uintptr_t, const struct iio_chan_spec *, char *);\n\tssize_t (*write)(struct iio_dev *, uintptr_t, const struct iio_chan_spec *, const char *, size_t);\n\tuintptr_t private;\n};\n\nstruct iio_channel {\n\tstruct iio_dev *indio_dev;\n\tconst struct iio_chan_spec *channel;\n\tvoid *data;\n};\n\nstruct iio_const_attr {\n\tconst char *string;\n\tstruct device_attribute dev_attr;\n};\n\nstruct iio_buffer;\n\nstruct iio_trigger;\n\nstruct iio_poll_func;\n\nstruct iio_info;\n\nstruct iio_dev {\n\tint modes;\n\tstruct device dev;\n\tstruct iio_buffer *buffer;\n\tint scan_bytes;\n\tconst long unsigned int *available_scan_masks;\n\tunsigned int masklength;\n\tconst long unsigned int *active_scan_mask;\n\tbool scan_timestamp;\n\tstruct iio_trigger *trig;\n\tstruct iio_poll_func *pollfunc;\n\tstruct iio_poll_func *pollfunc_event;\n\tconst struct iio_chan_spec *channels;\n\tint num_channels;\n\tconst char *name;\n\tconst char *label;\n\tconst struct iio_info *info;\n\tconst struct iio_buffer_setup_ops *setup_ops;\n\tvoid *priv;\n};\n\nstruct iio_dev_attr {\n\tstruct device_attribute dev_attr;\n\tu64 address;\n\tstruct list_head l;\n\tconst struct iio_chan_spec *c;\n\tstruct iio_buffer *buffer;\n};\n\nstruct iio_dev_buffer_pair {\n\tstruct iio_dev *indio_dev;\n\tstruct iio_buffer *buffer;\n};\n\nstruct iio_event_interface;\n\nstruct iio_ioctl_handler;\n\nstruct iio_dev_opaque {\n\tstruct iio_dev indio_dev;\n\tint currentmode;\n\tint id;\n\tstruct module *driver_module;\n\tstruct mutex mlock;\n\tstruct lock_class_key mlock_key;\n\tstruct mutex info_exist_lock;\n\tbool trig_readonly;\n\tstruct iio_event_interface *event_interface;\n\tstruct iio_buffer **attached_buffers;\n\tunsigned int attached_buffers_cnt;\n\tstruct iio_ioctl_handler *buffer_ioctl_handler;\n\tstruct list_head buffer_list;\n\tstruct list_head channel_attr_list;\n\tstruct attribute_group chan_attr_group;\n\tstruct list_head ioctl_handlers;\n\tconst struct attribute_group **groups;\n\tint groupcounter;\n\tstruct attribute_group legacy_scan_el_group;\n\tstruct attribute_group legacy_buffer_group;\n\tvoid *bounce_buffer;\n\tsize_t bounce_buffer_size;\n\tunsigned int scan_index_timestamp;\n\tclockid_t clock_id;\n\tstruct cdev chrdev;\n\tlong unsigned int flags;\n\tstruct dentry *debugfs_dentry;\n\tunsigned int cached_reg_addr;\n\tchar read_buf[20];\n\tunsigned int read_buf_len;\n};\n\nstruct iio_enum {\n\tconst char * const *items;\n\tunsigned int num_items;\n\tint (*set)(struct iio_dev *, const struct iio_chan_spec *, unsigned int);\n\tint (*get)(struct iio_dev *, const struct iio_chan_spec *);\n};\n\nstruct iio_event_data {\n\t__u64 id;\n\t__s64 timestamp;\n};\n\nstruct iio_ioctl_handler {\n\tstruct list_head entry;\n\tlong int (*ioctl)(struct iio_dev *, struct file *, unsigned int, long unsigned int);\n};\n\nstruct iio_event_interface {\n\twait_queue_head_t wait;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct iio_event_data *type;\n\t\t\tconst struct iio_event_data *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct iio_event_data *ptr;\n\t\t\tconst struct iio_event_data *ptr_const;\n\t\t};\n\t\tstruct iio_event_data buf[16];\n\t} det_events;\n\tstruct list_head dev_attr_list;\n\tlong unsigned int flags;\n\tstruct attribute_group group;\n\tstruct mutex read_lock;\n\tstruct iio_ioctl_handler ioctl_handler;\n};\n\nstruct iio_event_spec {\n\tenum iio_event_type type;\n\tenum iio_event_direction dir;\n\tlong unsigned int mask_separate;\n\tlong unsigned int mask_shared_by_type;\n\tlong unsigned int mask_shared_by_dir;\n\tlong unsigned int mask_shared_by_all;\n};\n\nstruct iio_info {\n\tconst struct attribute_group *event_attrs;\n\tconst struct attribute_group *attrs;\n\tint (*read_raw)(struct iio_dev *, const struct iio_chan_spec *, int *, int *, long int);\n\tint (*read_raw_multi)(struct iio_dev *, const struct iio_chan_spec *, int, int *, int *, long int);\n\tint (*read_avail)(struct iio_dev *, const struct iio_chan_spec *, const int **, int *, int *, long int);\n\tint (*write_raw)(struct iio_dev *, const struct iio_chan_spec *, int, int, long int);\n\tint (*read_label)(struct iio_dev *, const struct iio_chan_spec *, char *);\n\tint (*write_raw_get_fmt)(struct iio_dev *, const struct iio_chan_spec *, long int);\n\tint (*read_event_config)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction);\n\tint (*write_event_config)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction, bool);\n\tint (*read_event_value)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction, enum iio_event_info, int *, int *);\n\tint (*write_event_value)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction, enum iio_event_info, int, int);\n\tint (*read_event_label)(struct iio_dev *, const struct iio_chan_spec *, enum iio_event_type, enum iio_event_direction, char *);\n\tint (*validate_trigger)(struct iio_dev *, struct iio_trigger *);\n\tint (*get_current_scan_type)(const struct iio_dev *, const struct iio_chan_spec *);\n\tint (*update_scan_mode)(struct iio_dev *, const long unsigned int *);\n\tint (*debugfs_reg_access)(struct iio_dev *, unsigned int, unsigned int, unsigned int *);\n\tint (*fwnode_xlate)(struct iio_dev *, const struct fwnode_reference_args *);\n\tint (*hwfifo_set_watermark)(struct iio_dev *, unsigned int);\n\tint (*hwfifo_flush_to_buffer)(struct iio_dev *, unsigned int);\n};\n\nstruct iio_map {\n\tconst char *adc_channel_label;\n\tconst char *consumer_dev_name;\n\tconst char *consumer_channel;\n\tvoid *consumer_data;\n};\n\nstruct iio_map_internal {\n\tstruct iio_dev *indio_dev;\n\tconst struct iio_map *map;\n\tstruct list_head l;\n};\n\nstruct iio_mount_matrix {\n\tconst char *rotation[9];\n};\n\nstruct imsic_local_config;\n\nstruct imsic_global_config {\n\tu32 guest_index_bits;\n\tu32 hart_index_bits;\n\tu32 group_index_bits;\n\tu32 group_index_shift;\n\tphys_addr_t base_addr;\n\tu32 nr_ids;\n\tu32 nr_guest_ids;\n\tstruct imsic_local_config *local;\n};\n\nstruct imsic_local_config {\n\tphys_addr_t msi_pa;\n\tvoid *msi_va;\n};\n\nstruct imsic_vector;\n\nstruct imsic_local_priv {\n\traw_spinlock_t lock;\n\tlong unsigned int *dirty_bitmap;\n\tstruct timer_list timer;\n\tstruct imsic_vector *vectors;\n};\n\nstruct irq_matrix;\n\nstruct imsic_priv {\n\tstruct fwnode_handle *fwnode;\n\tstruct imsic_global_config global;\n\tstruct imsic_local_priv *lpriv;\n\traw_spinlock_t matrix_lock;\n\tstruct irq_matrix *matrix;\n\tstruct irq_domain *base_domain;\n};\n\nstruct imsic_vector {\n\tunsigned int cpu;\n\tunsigned int local_id;\n\tunsigned int hwirq;\n\tbool enable;\n\tstruct imsic_vector *move;\n};\n\nstruct in6_flowlabel_req {\n\tstruct in6_addr flr_dst;\n\t__be32 flr_label;\n\t__u8 flr_action;\n\t__u8 flr_share;\n\t__u16 flr_flags;\n\t__u16 flr_expires;\n\t__u16 flr_linger;\n\t__u32 __flr_pad;\n};\n\nstruct in6_ifreq {\n\tstruct in6_addr ifr6_addr;\n\t__u32 ifr6_prefixlen;\n\tint ifr6_ifindex;\n};\n\nstruct in6_pktinfo {\n\tstruct in6_addr ipi6_addr;\n\tint ipi6_ifindex;\n};\n\nstruct in6_rtmsg {\n\tstruct in6_addr rtmsg_dst;\n\tstruct in6_addr rtmsg_src;\n\tstruct in6_addr rtmsg_gateway;\n\t__u32 rtmsg_type;\n\t__u16 rtmsg_dst_len;\n\t__u16 rtmsg_src_len;\n\t__u32 rtmsg_metric;\n\tlong unsigned int rtmsg_info;\n\t__u32 rtmsg_flags;\n\tint rtmsg_ifindex;\n};\n\nstruct in6_validator_info {\n\tstruct in6_addr i6vi_addr;\n\tstruct inet6_dev *i6vi_dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct ipv4_devconf {\n\tvoid *sysctl;\n\tint data[33];\n\tlong unsigned int state[1];\n};\n\nstruct in_ifaddr;\n\nstruct neigh_parms;\n\nstruct in_device {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\trefcount_t refcnt;\n\tint dead;\n\tstruct in_ifaddr *ifa_list;\n\tstruct ip_mc_list *mc_list;\n\tstruct ip_mc_list **mc_hash;\n\tint mc_count;\n\tspinlock_t mc_tomb_lock;\n\tstruct ip_mc_list *mc_tomb;\n\tlong unsigned int mr_v1_seen;\n\tlong unsigned int mr_v2_seen;\n\tlong unsigned int mr_maxdelay;\n\tlong unsigned int mr_qi;\n\tlong unsigned int mr_qri;\n\tunsigned char mr_qrv;\n\tunsigned char mr_gq_running;\n\tu32 mr_ifc_count;\n\tstruct timer_list mr_gq_timer;\n\tstruct timer_list mr_ifc_timer;\n\tstruct neigh_parms *arp_parms;\n\tstruct ipv4_devconf cnf;\n\tstruct callback_head callback_head;\n};\n\nstruct in_ifaddr {\n\tstruct hlist_node addr_lst;\n\tstruct in_ifaddr *ifa_next;\n\tstruct in_device *ifa_dev;\n\tstruct callback_head callback_head;\n\t__be32 ifa_local;\n\t__be32 ifa_address;\n\t__be32 ifa_mask;\n\t__u32 ifa_rt_priority;\n\t__be32 ifa_broadcast;\n\tunsigned char ifa_scope;\n\tunsigned char ifa_prefixlen;\n\tunsigned char ifa_proto;\n\t__u32 ifa_flags;\n\tchar ifa_label[16];\n\t__u32 ifa_valid_lft;\n\t__u32 ifa_preferred_lft;\n\tlong unsigned int ifa_cstamp;\n\tlong unsigned int ifa_tstamp;\n};\n\nstruct in_pktinfo {\n\tint ipi_ifindex;\n\tstruct in_addr ipi_spec_dst;\n\tstruct in_addr ipi_addr;\n};\n\nstruct in_validator_info {\n\t__be32 ivi_addr;\n\tstruct in_device *ivi_dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct ipv6_txoptions;\n\nstruct inet6_cork {\n\tstruct ipv6_txoptions *opt;\n\tu8 hop_limit;\n\tu8 tclass;\n};\n\nstruct ipv6_stable_secret {\n\tbool initialized;\n\tstruct in6_addr secret;\n};\n\nstruct ipv6_devconf {\n\t__u8 __cacheline_group_begin__ipv6_devconf_read_txrx[0];\n\t__s32 disable_ipv6;\n\t__s32 hop_limit;\n\t__s32 mtu6;\n\t__s32 forwarding;\n\t__s32 disable_policy;\n\t__s32 proxy_ndp;\n\t__u8 __cacheline_group_end__ipv6_devconf_read_txrx[0];\n\t__s32 accept_ra;\n\t__s32 accept_redirects;\n\t__s32 autoconf;\n\t__s32 dad_transmits;\n\t__s32 rtr_solicits;\n\t__s32 rtr_solicit_interval;\n\t__s32 rtr_solicit_max_interval;\n\t__s32 rtr_solicit_delay;\n\t__s32 force_mld_version;\n\t__s32 mldv1_unsolicited_report_interval;\n\t__s32 mldv2_unsolicited_report_interval;\n\t__s32 use_tempaddr;\n\t__s32 temp_valid_lft;\n\t__s32 temp_prefered_lft;\n\t__s32 regen_min_advance;\n\t__s32 regen_max_retry;\n\t__s32 max_desync_factor;\n\t__s32 max_addresses;\n\t__s32 accept_ra_defrtr;\n\t__u32 ra_defrtr_metric;\n\t__s32 accept_ra_min_hop_limit;\n\t__s32 accept_ra_min_lft;\n\t__s32 accept_ra_pinfo;\n\t__s32 ignore_routes_with_linkdown;\n\t__s32 accept_source_route;\n\t__s32 accept_ra_from_local;\n\t__s32 drop_unicast_in_l2_multicast;\n\t__s32 accept_dad;\n\t__s32 force_tllao;\n\t__s32 ndisc_notify;\n\t__s32 suppress_frag_ndisc;\n\t__s32 accept_ra_mtu;\n\t__s32 drop_unsolicited_na;\n\t__s32 accept_untracked_na;\n\tstruct ipv6_stable_secret stable_secret;\n\t__s32 use_oif_addrs_only;\n\t__s32 keep_addr_on_down;\n\t__s32 seg6_enabled;\n\t__u32 enhanced_dad;\n\t__u32 addr_gen_mode;\n\t__s32 ndisc_tclass;\n\t__s32 rpl_seg_enabled;\n\t__u32 ioam6_id;\n\t__u32 ioam6_id_wide;\n\t__u8 ioam6_enabled;\n\t__u8 ndisc_evict_nocarrier;\n\t__u8 ra_honor_pio_life;\n\t__u8 ra_honor_pio_pflag;\n\tstruct ctl_table_header *sysctl_header;\n};\n\nstruct ipstats_mib;\n\nstruct ipv6_devstat {\n\tstruct proc_dir_entry *proc_dir_entry;\n\tstruct ipstats_mib *ipv6;\n\tstruct icmpv6_mib_device *icmpv6dev;\n\tstruct icmpv6msg_mib_device *icmpv6msgdev;\n};\n\nstruct inet6_dev {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head addr_list;\n\tstruct ifmcaddr6 *mc_list;\n\tstruct ifmcaddr6 *mc_tomb;\n\tunsigned char mc_qrv;\n\tunsigned char mc_gq_running;\n\tunsigned char mc_ifc_count;\n\tunsigned char mc_dad_count;\n\tlong unsigned int mc_v1_seen;\n\tlong unsigned int mc_qi;\n\tlong unsigned int mc_qri;\n\tlong unsigned int mc_maxdelay;\n\tstruct delayed_work mc_gq_work;\n\tstruct delayed_work mc_ifc_work;\n\tstruct delayed_work mc_dad_work;\n\tstruct delayed_work mc_query_work;\n\tstruct delayed_work mc_report_work;\n\tstruct sk_buff_head mc_query_queue;\n\tstruct sk_buff_head mc_report_queue;\n\tspinlock_t mc_query_lock;\n\tspinlock_t mc_report_lock;\n\tstruct mutex mc_lock;\n\tstruct ifacaddr6 *ac_list;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\t__u32 if_flags;\n\tint dead;\n\tu32 desync_factor;\n\tstruct list_head tempaddr_list;\n\tstruct in6_addr token;\n\tstruct neigh_parms *nd_parms;\n\tstruct ipv6_devconf cnf;\n\tstruct ipv6_devstat stats;\n\tstruct timer_list rs_timer;\n\t__s32 rs_interval;\n\t__u8 rs_probes;\n\tlong unsigned int tstamp;\n\tstruct callback_head rcu;\n\tunsigned int ra_mtu;\n};\n\nstruct inet6_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint event;\n\tunsigned int flags;\n\tint netnsid;\n\tint ifindex;\n\tenum addr_type_t type;\n\tbool force_rt_scope_universe;\n};\n\nstruct inet6_ifaddr {\n\tstruct in6_addr addr;\n\t__u32 prefix_len;\n\t__u32 rt_priority;\n\t__u32 valid_lft;\n\t__u32 prefered_lft;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tint state;\n\t__u32 flags;\n\t__u8 dad_probes;\n\t__u8 stable_privacy_retry;\n\t__u16 scope;\n\t__u64 dad_nonce;\n\tlong unsigned int cstamp;\n\tlong unsigned int tstamp;\n\tstruct delayed_work dad_work;\n\tstruct inet6_dev *idev;\n\tstruct fib6_info *rt;\n\tstruct hlist_node addr_lst;\n\tstruct list_head if_list;\n\tstruct list_head if_list_aux;\n\tstruct list_head tmp_list;\n\tstruct inet6_ifaddr *ifpub;\n\tint regen_count;\n\tbool tokenized;\n\tu8 ifa_proto;\n\tstruct callback_head rcu;\n\tstruct in6_addr peer_addr;\n};\n\nstruct inet6_skb_parm;\n\nstruct inet6_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n\tunsigned int flags;\n\tu32 secret;\n};\n\nstruct inet6_skb_parm {\n\tint iif;\n\t__be16 ra;\n\t__u16 dst0;\n\t__u16 srcrt;\n\t__u16 dst1;\n\t__u16 lastopt;\n\t__u16 nhoff;\n\t__u16 flags;\n\t__u16 frag_max_size;\n\t__u16 srhoff;\n};\n\nstruct inet_bind2_bucket {\n\tpossible_net_t ib_net;\n\tint l3mdev;\n\tshort unsigned int port;\n\tshort unsigned int addr_type;\n\tstruct in6_addr v6_rcv_saddr;\n\tstruct hlist_node node;\n\tstruct hlist_node bhash_node;\n\tstruct hlist_head owners;\n};\n\nstruct inet_bind_bucket {\n\tpossible_net_t ib_net;\n\tint l3mdev;\n\tshort unsigned int port;\n\tsigned char fastreuse;\n\tsigned char fastreuseport;\n\tkuid_t fastuid;\n\tstruct in6_addr fast_v6_rcv_saddr;\n\t__be32 fast_rcv_saddr;\n\tshort unsigned int fast_sk_family;\n\tbool fast_ipv6_only;\n\tstruct hlist_node node;\n\tstruct hlist_head bhash2;\n};\n\nstruct inet_bind_hashbucket {\n\tspinlock_t lock;\n\tstruct hlist_head chain;\n};\n\nstruct inet_cork {\n\tunsigned int flags;\n\t__be32 addr;\n\tstruct ip_options *opt;\n\tunsigned int fragsize;\n\tint length;\n\tstruct dst_entry *dst;\n\tu8 tx_flags;\n\t__u8 ttl;\n\t__s16 tos;\n\tu32 priority;\n\t__u16 gso_size;\n\tu32 ts_opt_id;\n\tu64 transmit_time;\n\tu32 mark;\n};\n\nstruct inet_cork_full {\n\tstruct inet_cork base;\n\tstruct flowi fl;\n};\n\nstruct ipv6_pinfo;\n\nstruct ip_mc_socklist;\n\nstruct inet_sock {\n\tstruct sock sk;\n\tstruct ipv6_pinfo *pinet6;\n\tlong unsigned int inet_flags;\n\t__be32 inet_saddr;\n\t__s16 uc_ttl;\n\t__be16 inet_sport;\n\tstruct ip_options_rcu *inet_opt;\n\tatomic_t inet_id;\n\t__u8 tos;\n\t__u8 min_ttl;\n\t__u8 mc_ttl;\n\t__u8 pmtudisc;\n\t__u8 rcv_tos;\n\t__u8 convert_csum;\n\tint uc_index;\n\tint mc_index;\n\t__be32 mc_addr;\n\tu32 local_port_range;\n\tstruct ip_mc_socklist *mc_list;\n\tstruct inet_cork_full cork;\n};\n\nstruct request_sock_queue {\n\tspinlock_t rskq_lock;\n\tu8 rskq_defer_accept;\n\tu32 synflood_warned;\n\tatomic_t qlen;\n\tatomic_t young;\n\tstruct request_sock *rskq_accept_head;\n\tstruct request_sock *rskq_accept_tail;\n\tstruct fastopen_queue fastopenq;\n};\n\nstruct tcp_congestion_ops;\n\nstruct inet_connection_sock_af_ops;\n\nstruct tcp_ulp_ops;\n\nstruct inet_connection_sock {\n\tstruct inet_sock icsk_inet;\n\tstruct request_sock_queue icsk_accept_queue;\n\tstruct inet_bind_bucket *icsk_bind_hash;\n\tstruct inet_bind2_bucket *icsk_bind2_hash;\n\tlong unsigned int icsk_timeout;\n\tstruct timer_list icsk_retransmit_timer;\n\tstruct timer_list icsk_delack_timer;\n\t__u32 icsk_rto;\n\t__u32 icsk_rto_min;\n\t__u32 icsk_delack_max;\n\t__u32 icsk_pmtu_cookie;\n\tconst struct tcp_congestion_ops *icsk_ca_ops;\n\tconst struct inet_connection_sock_af_ops *icsk_af_ops;\n\tconst struct tcp_ulp_ops *icsk_ulp_ops;\n\tvoid *icsk_ulp_data;\n\tvoid (*icsk_clean_acked)(struct sock *, u32);\n\tunsigned int (*icsk_sync_mss)(struct sock *, u32);\n\t__u8 icsk_ca_state: 5;\n\t__u8 icsk_ca_initialized: 1;\n\t__u8 icsk_ca_setsockopt: 1;\n\t__u8 icsk_ca_dst_locked: 1;\n\t__u8 icsk_retransmits;\n\t__u8 icsk_pending;\n\t__u8 icsk_backoff;\n\t__u8 icsk_syn_retries;\n\t__u8 icsk_probes_out;\n\t__u16 icsk_ext_hdr_len;\n\tstruct {\n\t\t__u8 pending;\n\t\t__u8 quick;\n\t\t__u8 pingpong;\n\t\t__u8 retry;\n\t\t__u32 ato: 8;\n\t\t__u32 lrcv_flowlabel: 20;\n\t\t__u32 unused: 4;\n\t\tlong unsigned int timeout;\n\t\t__u32 lrcvtime;\n\t\t__u16 last_seg_size;\n\t\t__u16 rcv_mss;\n\t} icsk_ack;\n\tstruct {\n\t\tint search_high;\n\t\tint search_low;\n\t\tu32 probe_size: 31;\n\t\tu32 enabled: 1;\n\t\tu32 probe_timestamp;\n\t} icsk_mtup;\n\tu32 icsk_probes_tstamp;\n\tu32 icsk_user_timeout;\n\tu64 icsk_ca_priv[13];\n};\n\nstruct inet_connection_sock_af_ops {\n\tint (*queue_xmit)(struct sock *, struct sk_buff *, struct flowi *);\n\tvoid (*send_check)(struct sock *, struct sk_buff *);\n\tint (*rebuild_header)(struct sock *);\n\tvoid (*sk_rx_dst_set)(struct sock *, const struct sk_buff *);\n\tint (*conn_request)(struct sock *, struct sk_buff *);\n\tstruct sock * (*syn_recv_sock)(const struct sock *, struct sk_buff *, struct request_sock *, struct dst_entry *, struct request_sock *, bool *);\n\tu16 net_header_len;\n\tu16 sockaddr_len;\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*addr2sockaddr)(struct sock *, struct sockaddr *);\n\tvoid (*mtu_reduced)(struct sock *);\n};\n\nstruct inet_diag_bc_op {\n\tunsigned char code;\n\tunsigned char yes;\n\tshort unsigned int no;\n};\n\nstruct inet_diag_dump_data {\n\tstruct nlattr *req_nlas[4];\n\tstruct bpf_sk_storage_diag *bpf_stg_diag;\n};\n\nstruct inet_diag_entry {\n\tconst __be32 *saddr;\n\tconst __be32 *daddr;\n\tu16 sport;\n\tu16 dport;\n\tu16 family;\n\tu16 userlocks;\n\tu32 ifindex;\n\tu32 mark;\n\tu64 cgroup_id;\n};\n\nstruct inet_diag_req_v2;\n\nstruct inet_diag_msg;\n\nstruct inet_diag_handler {\n\tstruct module *owner;\n\tvoid (*dump)(struct sk_buff *, struct netlink_callback *, const struct inet_diag_req_v2 *);\n\tint (*dump_one)(struct netlink_callback *, const struct inet_diag_req_v2 *);\n\tvoid (*idiag_get_info)(struct sock *, struct inet_diag_msg *, void *);\n\tint (*idiag_get_aux)(struct sock *, bool, struct sk_buff *);\n\tsize_t (*idiag_get_aux_size)(struct sock *, bool);\n\tint (*destroy)(struct sk_buff *, const struct inet_diag_req_v2 *);\n\t__u16 idiag_type;\n\t__u16 idiag_info_size;\n};\n\nstruct inet_diag_hostcond {\n\t__u8 family;\n\t__u8 prefix_len;\n\tint port;\n\t__be32 addr[0];\n};\n\nstruct inet_diag_markcond {\n\t__u32 mark;\n\t__u32 mask;\n};\n\nstruct inet_diag_meminfo {\n\t__u32 idiag_rmem;\n\t__u32 idiag_wmem;\n\t__u32 idiag_fmem;\n\t__u32 idiag_tmem;\n};\n\nstruct inet_diag_sockid {\n\t__be16 idiag_sport;\n\t__be16 idiag_dport;\n\t__be32 idiag_src[4];\n\t__be32 idiag_dst[4];\n\t__u32 idiag_if;\n\t__u32 idiag_cookie[2];\n};\n\nstruct inet_diag_msg {\n\t__u8 idiag_family;\n\t__u8 idiag_state;\n\t__u8 idiag_timer;\n\t__u8 idiag_retrans;\n\tstruct inet_diag_sockid id;\n\t__u32 idiag_expires;\n\t__u32 idiag_rqueue;\n\t__u32 idiag_wqueue;\n\t__u32 idiag_uid;\n\t__u32 idiag_inode;\n};\n\nstruct inet_diag_req {\n\t__u8 idiag_family;\n\t__u8 idiag_src_len;\n\t__u8 idiag_dst_len;\n\t__u8 idiag_ext;\n\tstruct inet_diag_sockid id;\n\t__u32 idiag_states;\n\t__u32 idiag_dbs;\n};\n\nstruct inet_diag_req_v2 {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n\t__u8 idiag_ext;\n\t__u8 pad;\n\t__u32 idiag_states;\n\tstruct inet_diag_sockid id;\n};\n\nstruct inet_diag_sockopt {\n\t__u8 recverr: 1;\n\t__u8 is_icsk: 1;\n\t__u8 freebind: 1;\n\t__u8 hdrincl: 1;\n\t__u8 mc_loop: 1;\n\t__u8 transparent: 1;\n\t__u8 mc_all: 1;\n\t__u8 nodefrag: 1;\n\t__u8 bind_address_no_port: 1;\n\t__u8 recverr_rfc4884: 1;\n\t__u8 defer_connect: 1;\n\t__u8 unused: 5;\n};\n\nstruct inet_ehash_bucket {\n\tstruct hlist_nulls_head chain;\n};\n\nstruct inet_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint event;\n\tunsigned int flags;\n\tint netnsid;\n\tint ifindex;\n};\n\nstruct inet_frags {\n\tunsigned int qsize;\n\tvoid (*constructor)(struct inet_frag_queue *, const void *);\n\tvoid (*destructor)(struct inet_frag_queue *);\n\tvoid (*frag_expire)(struct timer_list *);\n\tstruct kmem_cache *frags_cachep;\n\tconst char *frags_cache_name;\n\tstruct rhashtable_params rhash_params;\n\trefcount_t refcnt;\n\tstruct completion completion;\n};\n\nstruct inet_listen_hashbucket;\n\nstruct inet_hashinfo {\n\tstruct inet_ehash_bucket *ehash;\n\tspinlock_t *ehash_locks;\n\tunsigned int ehash_mask;\n\tunsigned int ehash_locks_mask;\n\tstruct kmem_cache *bind_bucket_cachep;\n\tstruct inet_bind_hashbucket *bhash;\n\tstruct kmem_cache *bind2_bucket_cachep;\n\tstruct inet_bind_hashbucket *bhash2;\n\tunsigned int bhash_size;\n\tunsigned int lhash2_mask;\n\tstruct inet_listen_hashbucket *lhash2;\n\tbool pernet;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inet_listen_hashbucket {\n\tspinlock_t lock;\n\tstruct hlist_nulls_head nulls_head;\n};\n\nstruct ipv4_addr_key {\n\t__be32 addr;\n\tint vif;\n};\n\nstruct inetpeer_addr {\n\tunion {\n\t\tstruct ipv4_addr_key a4;\n\t\tstruct in6_addr a6;\n\t\tu32 key[4];\n\t};\n\t__u16 family;\n};\n\nstruct inet_peer {\n\tstruct rb_node rb_node;\n\tstruct inetpeer_addr daddr;\n\tu32 metrics[17];\n\tu32 rate_tokens;\n\tu32 n_redirects;\n\tlong unsigned int rate_last;\n\tunion {\n\t\tstruct {\n\t\t\tatomic_t rid;\n\t\t};\n\t\tstruct callback_head rcu;\n\t};\n\t__u32 dtime;\n\trefcount_t refcnt;\n};\n\nstruct inet_protosw {\n\tstruct list_head list;\n\tshort unsigned int type;\n\tshort unsigned int protocol;\n\tstruct proto *prot;\n\tconst struct proto_ops *ops;\n\tunsigned char flags;\n};\n\nstruct request_sock_ops;\n\nstruct saved_syn;\n\nstruct request_sock {\n\tstruct sock_common __req_common;\n\tstruct request_sock *dl_next;\n\tu16 mss;\n\tu8 num_retrans;\n\tu8 syncookie: 1;\n\tu8 num_timeout: 7;\n\tu32 ts_recent;\n\tstruct timer_list rsk_timer;\n\tconst struct request_sock_ops *rsk_ops;\n\tstruct sock *sk;\n\tstruct saved_syn *saved_syn;\n\tu32 secid;\n\tu32 peer_secid;\n\tu32 timeout;\n};\n\nstruct inet_request_sock {\n\tstruct request_sock req;\n\tu16 snd_wscale: 4;\n\tu16 rcv_wscale: 4;\n\tu16 tstamp_ok: 1;\n\tu16 sack_ok: 1;\n\tu16 wscale_ok: 1;\n\tu16 ecn_ok: 1;\n\tu16 acked: 1;\n\tu16 no_srccheck: 1;\n\tu16 smc_ok: 1;\n\tu32 ir_mark;\n\tunion {\n\t\tstruct ip_options_rcu *ireq_opt;\n\t\tstruct {\n\t\t\tstruct ipv6_txoptions *ipv6_opt;\n\t\t\tstruct sk_buff *pktopts;\n\t\t};\n\t};\n};\n\nstruct inet_skb_parm {\n\tint iif;\n\tstruct ip_options opt;\n\tu16 flags;\n\tu16 frag_max_size;\n};\n\nstruct inet_timewait_death_row {\n\trefcount_t tw_refcount;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct inet_hashinfo *hashinfo;\n\tint sysctl_max_tw_buckets;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inet_timewait_sock {\n\tstruct sock_common __tw_common;\n\t__u32 tw_mark;\n\tunsigned char tw_substate;\n\tunsigned char tw_rcv_wscale;\n\t__be16 tw_sport;\n\tunsigned int tw_transparent: 1;\n\tunsigned int tw_flowlabel: 20;\n\tunsigned int tw_usec_ts: 1;\n\tunsigned int tw_pad: 2;\n\tunsigned int tw_tos: 8;\n\tu32 tw_txhash;\n\tu32 tw_priority;\n\tu32 tw_entry_stamp;\n\tstruct timer_list tw_timer;\n\tstruct inet_bind_bucket *tw_tb;\n\tstruct inet_bind2_bucket *tw_tb2;\n};\n\nstruct inflate_state {\n\tinflate_mode mode;\n\tint last;\n\tint wrap;\n\tint havedict;\n\tint flags;\n\tunsigned int dmax;\n\tlong unsigned int check;\n\tlong unsigned int total;\n\tunsigned int wbits;\n\tunsigned int wsize;\n\tunsigned int whave;\n\tunsigned int write;\n\tunsigned char *window;\n\tlong unsigned int hold;\n\tunsigned int bits;\n\tunsigned int length;\n\tunsigned int offset;\n\tunsigned int extra;\n\tconst code *lencode;\n\tconst code *distcode;\n\tunsigned int lenbits;\n\tunsigned int distbits;\n\tunsigned int ncode;\n\tunsigned int nlen;\n\tunsigned int ndist;\n\tunsigned int have;\n\tcode *next;\n\tshort unsigned int lens[320];\n\tshort unsigned int work[288];\n\tcode codes[2048];\n};\n\nstruct inflate_workspace {\n\tstruct inflate_state inflate_state;\n\tunsigned char working_window[32768];\n};\n\nstruct mnt_idmap;\n\nstruct kstat;\n\nstruct offset_ctx;\n\nstruct inode_operations {\n\tstruct dentry * (*lookup)(struct inode *, struct dentry *, unsigned int);\n\tconst char * (*get_link)(struct dentry *, struct inode *, struct delayed_call *);\n\tint (*permission)(struct mnt_idmap *, struct inode *, int);\n\tstruct posix_acl * (*get_inode_acl)(struct inode *, int, bool);\n\tint (*readlink)(struct dentry *, char *, int);\n\tint (*create)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, bool);\n\tint (*link)(struct dentry *, struct inode *, struct dentry *);\n\tint (*unlink)(struct inode *, struct dentry *);\n\tint (*symlink)(struct mnt_idmap *, struct inode *, struct dentry *, const char *);\n\tint (*mkdir)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t);\n\tint (*rmdir)(struct inode *, struct dentry *);\n\tint (*mknod)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, dev_t);\n\tint (*rename)(struct mnt_idmap *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int);\n\tint (*setattr)(struct mnt_idmap *, struct dentry *, struct iattr *);\n\tint (*getattr)(struct mnt_idmap *, const struct path *, struct kstat *, u32, unsigned int);\n\tssize_t (*listxattr)(struct dentry *, char *, size_t);\n\tint (*fiemap)(struct inode *, struct fiemap_extent_info *, u64, u64);\n\tint (*update_time)(struct inode *, int);\n\tint (*atomic_open)(struct inode *, struct dentry *, struct file *, unsigned int, umode_t);\n\tint (*tmpfile)(struct mnt_idmap *, struct inode *, struct file *, umode_t);\n\tstruct posix_acl * (*get_acl)(struct mnt_idmap *, struct dentry *, int);\n\tint (*set_acl)(struct mnt_idmap *, struct dentry *, struct posix_acl *, int);\n\tint (*fileattr_set)(struct mnt_idmap *, struct dentry *, struct fileattr *);\n\tint (*fileattr_get)(struct dentry *, struct fileattr *);\n\tstruct offset_ctx * (*get_offset_ctx)(struct inode *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct inode_security_struct {\n\tstruct inode *inode;\n\tstruct list_head list;\n\tu32 task_sid;\n\tu32 sid;\n\tu16 sclass;\n\tunsigned char initialized;\n\tspinlock_t lock;\n};\n\nstruct inode_switch_wbs_context {\n\tstruct rcu_work work;\n\tstruct bdi_writeback *new_wb;\n\tstruct inode *inodes[0];\n};\n\nstruct inodes_stat_t {\n\tlong int nr_inodes;\n\tlong int nr_unused;\n\tlong int dummy[5];\n};\n\nstruct inotify_event {\n\t__s32 wd;\n\t__u32 mask;\n\t__u32 cookie;\n\t__u32 len;\n\tchar name[0];\n};\n\nstruct inotify_event_info {\n\tstruct fsnotify_event fse;\n\tu32 mask;\n\tint wd;\n\tu32 sync_cookie;\n\tint name_len;\n\tchar name[0];\n};\n\nstruct inotify_inode_mark {\n\tstruct fsnotify_mark fsn_mark;\n\tint wd;\n};\n\nstruct input_absinfo {\n\t__s32 value;\n\t__s32 minimum;\n\t__s32 maximum;\n\t__s32 fuzz;\n\t__s32 flat;\n\t__s32 resolution;\n};\n\nstruct input_id {\n\t__u16 bustype;\n\t__u16 vendor;\n\t__u16 product;\n\t__u16 version;\n};\n\nstruct input_dev_poller;\n\nstruct input_mt;\n\nstruct input_handle;\n\nstruct input_value;\n\nstruct input_dev {\n\tconst char *name;\n\tconst char *phys;\n\tconst char *uniq;\n\tstruct input_id id;\n\tlong unsigned int propbit[1];\n\tlong unsigned int evbit[1];\n\tlong unsigned int keybit[12];\n\tlong unsigned int relbit[1];\n\tlong unsigned int absbit[1];\n\tlong unsigned int mscbit[1];\n\tlong unsigned int ledbit[1];\n\tlong unsigned int sndbit[1];\n\tlong unsigned int ffbit[2];\n\tlong unsigned int swbit[1];\n\tunsigned int hint_events_per_packet;\n\tunsigned int keycodemax;\n\tunsigned int keycodesize;\n\tvoid *keycode;\n\tint (*setkeycode)(struct input_dev *, const struct input_keymap_entry *, unsigned int *);\n\tint (*getkeycode)(struct input_dev *, struct input_keymap_entry *);\n\tstruct ff_device *ff;\n\tstruct input_dev_poller *poller;\n\tunsigned int repeat_key;\n\tstruct timer_list timer;\n\tint rep[2];\n\tstruct input_mt *mt;\n\tstruct input_absinfo *absinfo;\n\tlong unsigned int key[12];\n\tlong unsigned int led[1];\n\tlong unsigned int snd[1];\n\tlong unsigned int sw[1];\n\tint (*open)(struct input_dev *);\n\tvoid (*close)(struct input_dev *);\n\tint (*flush)(struct input_dev *, struct file *);\n\tint (*event)(struct input_dev *, unsigned int, unsigned int, int);\n\tstruct input_handle *grab;\n\tspinlock_t event_lock;\n\tstruct mutex mutex;\n\tunsigned int users;\n\tbool going_away;\n\tstruct device dev;\n\tstruct list_head h_list;\n\tstruct list_head node;\n\tunsigned int num_vals;\n\tunsigned int max_vals;\n\tstruct input_value *vals;\n\tbool devres_managed;\n\tktime_t timestamp[3];\n\tbool inhibited;\n};\n\nstruct input_dev_poller {\n\tvoid (*poll)(struct input_dev *);\n\tunsigned int poll_interval;\n\tunsigned int poll_interval_max;\n\tunsigned int poll_interval_min;\n\tstruct input_dev *input;\n\tstruct delayed_work work;\n};\n\nstruct input_device_id {\n\tkernel_ulong_t flags;\n\t__u16 bustype;\n\t__u16 vendor;\n\t__u16 product;\n\t__u16 version;\n\tkernel_ulong_t evbit[1];\n\tkernel_ulong_t keybit[12];\n\tkernel_ulong_t relbit[1];\n\tkernel_ulong_t absbit[1];\n\tkernel_ulong_t mscbit[1];\n\tkernel_ulong_t ledbit[1];\n\tkernel_ulong_t sndbit[1];\n\tkernel_ulong_t ffbit[2];\n\tkernel_ulong_t swbit[1];\n\tkernel_ulong_t propbit[1];\n\tkernel_ulong_t driver_info;\n};\n\nstruct input_devres {\n\tstruct input_dev *input;\n};\n\nstruct input_event {\n\t__kernel_ulong_t __sec;\n\t__kernel_ulong_t __usec;\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct input_event_compat {\n\tcompat_ulong_t sec;\n\tcompat_ulong_t usec;\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct input_handler;\n\nstruct input_handle {\n\tvoid *private;\n\tint open;\n\tconst char *name;\n\tstruct input_dev *dev;\n\tstruct input_handler *handler;\n\tunsigned int (*handle_events)(struct input_handle *, struct input_value *, unsigned int);\n\tstruct list_head d_node;\n\tstruct list_head h_node;\n};\n\nstruct input_handler {\n\tvoid *private;\n\tvoid (*event)(struct input_handle *, unsigned int, unsigned int, int);\n\tunsigned int (*events)(struct input_handle *, struct input_value *, unsigned int);\n\tbool (*filter)(struct input_handle *, unsigned int, unsigned int, int);\n\tbool (*match)(struct input_handler *, struct input_dev *);\n\tint (*connect)(struct input_handler *, struct input_dev *, const struct input_device_id *);\n\tvoid (*disconnect)(struct input_handle *);\n\tvoid (*start)(struct input_handle *);\n\tbool passive_observer;\n\tbool legacy_minors;\n\tint minor;\n\tconst char *name;\n\tconst struct input_device_id *id_table;\n\tstruct list_head h_list;\n\tstruct list_head node;\n};\n\nstruct input_mt_slot {\n\tint abs[14];\n\tunsigned int frame;\n\tunsigned int key;\n};\n\nstruct input_mt {\n\tint trkid;\n\tint num_slots;\n\tint slot;\n\tunsigned int flags;\n\tunsigned int frame;\n\tint *red;\n\tstruct input_mt_slot slots[0];\n};\n\nstruct input_seq_state {\n\tshort unsigned int pos;\n\tbool mutex_acquired;\n\tint input_devices_state;\n};\n\nstruct input_value {\n\t__u16 type;\n\t__u16 code;\n\t__s32 value;\n};\n\nstruct internal_container {\n\tstruct klist_node node;\n\tstruct attribute_container *cont;\n\tstruct device classdev;\n};\n\nstruct internal_state {\n\tint dummy;\n};\n\nstruct interval {\n\tuint32_t first;\n\tuint32_t last;\n};\n\nstruct interval_tree_node {\n\tstruct rb_node rb;\n\tlong unsigned int start;\n\tlong unsigned int last;\n\tlong unsigned int __subtree_last;\n};\n\nstruct io_accept {\n\tstruct file *file;\n\tstruct sockaddr *addr;\n\tint *addr_len;\n\tint flags;\n\tint iou_flags;\n\tu32 file_slot;\n\tlong unsigned int nofile;\n};\n\nstruct io_alloc_cache {\n\tvoid **entries;\n\tunsigned int nr_cached;\n\tunsigned int max_cached;\n\tunsigned int elem_size;\n\tunsigned int init_clear;\n};\n\nstruct ubuf_info;\n\nstruct msghdr {\n\tvoid *msg_name;\n\tint msg_namelen;\n\tint msg_inq;\n\tstruct iov_iter msg_iter;\n\tunion {\n\t\tvoid *msg_control;\n\t\tvoid *msg_control_user;\n\t};\n\tbool msg_control_is_user: 1;\n\tbool msg_get_inq: 1;\n\tunsigned int msg_flags;\n\t__kernel_size_t msg_controllen;\n\tstruct kiocb *msg_iocb;\n\tstruct ubuf_info *msg_ubuf;\n\tint (*sg_from_iter)(struct sk_buff *, struct iov_iter *, size_t);\n};\n\nstruct io_async_msghdr {\n\tstruct iovec *free_iov;\n\tint free_iov_nr;\n\tunion {\n\t\tstruct {\n\t\t\tint namelen;\n\t\t\tstruct iovec fast_iov;\n\t\t\t__kernel_size_t controllen;\n\t\t\t__kernel_size_t payloadlen;\n\t\t\tstruct sockaddr *uaddr;\n\t\t\tstruct msghdr msg;\n\t\t\tstruct __kernel_sockaddr_storage addr;\n\t\t};\n\t\tstruct {\n\t\t\tint namelen;\n\t\t\tstruct iovec fast_iov;\n\t\t\t__kernel_size_t controllen;\n\t\t\t__kernel_size_t payloadlen;\n\t\t\tstruct sockaddr *uaddr;\n\t\t\tstruct msghdr msg;\n\t\t\tstruct __kernel_sockaddr_storage addr;\n\t\t} clear;\n\t};\n};\n\nstruct iov_iter_state {\n\tsize_t iov_offset;\n\tsize_t count;\n\tlong unsigned int nr_segs;\n};\n\nstruct wait_page_queue {\n\tstruct folio *folio;\n\tint bit_nr;\n\twait_queue_entry_t wait;\n};\n\nstruct uio_meta {\n\tuio_meta_flags_t flags;\n\tu16 app_tag;\n\tu64 seed;\n\tstruct iov_iter iter;\n};\n\nstruct io_meta_state {\n\tu32 seed;\n\tstruct iov_iter_state iter_meta;\n};\n\nstruct io_async_rw {\n\tsize_t bytes_done;\n\tstruct iovec *free_iovec;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iov_iter iter;\n\t\t\tstruct iov_iter_state iter_state;\n\t\t\tstruct iovec fast_iov;\n\t\t\tint free_iov_nr;\n\t\t\tunion {\n\t\t\t\tstruct wait_page_queue wpq;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct uio_meta meta;\n\t\t\t\t\tstruct io_meta_state meta_state;\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\tstruct {\n\t\t\tstruct iov_iter iter;\n\t\t\tstruct iov_iter_state iter_state;\n\t\t\tstruct iovec fast_iov;\n\t\t\tint free_iov_nr;\n\t\t\tunion {\n\t\t\t\tstruct wait_page_queue wpq;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct uio_meta meta;\n\t\t\t\t\tstruct io_meta_state meta_state;\n\t\t\t\t};\n\t\t\t};\n\t\t} clear;\n\t};\n};\n\nstruct io_bind {\n\tstruct file *file;\n\tint addr_len;\n};\n\nstruct io_buffer {\n\tstruct list_head list;\n\t__u64 addr;\n\t__u32 len;\n\t__u16 bid;\n\t__u16 bgid;\n};\n\nstruct io_mapped_region {\n\tstruct page **pages;\n\tvoid *ptr;\n\tunsigned int nr_pages;\n\tunsigned int flags;\n};\n\nstruct io_uring_buf_ring;\n\nstruct io_buffer_list {\n\tunion {\n\t\tstruct list_head buf_list;\n\t\tstruct io_uring_buf_ring *buf_ring;\n\t};\n\t__u16 bgid;\n\t__u16 buf_nr_pages;\n\t__u16 nr_entries;\n\t__u16 head;\n\t__u16 mask;\n\t__u16 flags;\n\tstruct io_mapped_region region;\n};\n\nstruct io_cancel {\n\tstruct file *file;\n\tu64 addr;\n\tu32 flags;\n\ts32 fd;\n\tu8 opcode;\n};\n\nstruct io_ring_ctx;\n\nstruct io_cancel_data {\n\tstruct io_ring_ctx *ctx;\n\tunion {\n\t\tu64 data;\n\t\tstruct file *file;\n\t};\n\tu8 opcode;\n\tu32 flags;\n\tint seq;\n};\n\nstruct io_wq_work;\n\ntypedef bool work_cancel_fn(struct io_wq_work *, void *);\n\nstruct io_cb_cancel_data {\n\twork_cancel_fn *fn;\n\tvoid *data;\n\tint nr_running;\n\tint nr_pending;\n\tbool cancel_all;\n};\n\nstruct io_close {\n\tstruct file *file;\n\tint fd;\n\tu32 file_slot;\n};\n\nstruct io_cmd_data {\n\tstruct file *file;\n\t__u8 data[56];\n};\n\nstruct io_kiocb;\n\nstruct io_cold_def {\n\tconst char *name;\n\tvoid (*cleanup)(struct io_kiocb *);\n\tvoid (*fail)(struct io_kiocb *);\n};\n\nstruct io_comp_batch {\n\tstruct rq_list req_list;\n\tbool need_ts;\n\tvoid (*complete)(struct io_comp_batch *);\n};\n\nstruct io_connect {\n\tstruct file *file;\n\tstruct sockaddr *addr;\n\tint addr_len;\n\tbool in_progress;\n\tbool seen_econnaborted;\n};\n\nstruct io_context {\n\tatomic_long_t refcount;\n\tatomic_t active_ref;\n\tshort unsigned int ioprio;\n\tspinlock_t lock;\n\tstruct xarray icq_tree;\n\tstruct io_cq *icq_hint;\n\tstruct hlist_head icq_list;\n\tstruct work_struct release_work;\n};\n\nstruct io_cqe {\n\t__u64 user_data;\n\t__s32 res;\n\tunion {\n\t\t__u32 flags;\n\t\tint fd;\n\t};\n};\n\nstruct io_cqring_offsets {\n\t__u32 head;\n\t__u32 tail;\n\t__u32 ring_mask;\n\t__u32 ring_entries;\n\t__u32 overflow;\n\t__u32 cqes;\n\t__u32 flags;\n\t__u32 resv1;\n\t__u64 user_addr;\n};\n\nstruct io_defer_entry {\n\tstruct list_head list;\n\tstruct io_kiocb *req;\n\tu32 seq;\n};\n\nstruct io_epoll {\n\tstruct file *file;\n\tint epfd;\n\tint op;\n\tint fd;\n\tstruct epoll_event event;\n};\n\nstruct io_ev_fd {\n\tstruct eventfd_ctx *cq_ev_fd;\n\tunsigned int eventfd_async;\n\tunsigned int last_cq_tail;\n\trefcount_t refs;\n\tatomic_t ops;\n\tstruct callback_head rcu;\n};\n\nstruct io_fadvise {\n\tstruct file *file;\n\tu64 offset;\n\tu64 len;\n\tu32 advice;\n};\n\nstruct io_rsrc_node;\n\nstruct io_rsrc_data {\n\tunsigned int nr;\n\tstruct io_rsrc_node **nodes;\n};\n\nstruct io_file_table {\n\tstruct io_rsrc_data data;\n\tlong unsigned int *bitmap;\n\tunsigned int alloc_hint;\n};\n\nstruct io_fixed_install {\n\tstruct file *file;\n\tunsigned int o_flags;\n};\n\nstruct io_ftrunc {\n\tstruct file *file;\n\tloff_t len;\n};\n\nstruct io_futex {\n\tstruct file *file;\n\tunion {\n\t\tu32 *uaddr;\n\t\tstruct futex_waitv *uwaitv;\n\t};\n\tlong unsigned int futex_val;\n\tlong unsigned int futex_mask;\n\tlong unsigned int futexv_owned;\n\tu32 futex_flags;\n\tunsigned int futex_nr;\n\tbool futexv_unqueued;\n};\n\nstruct io_futex_data {\n\tstruct futex_q q;\n\tstruct io_kiocb *req;\n};\n\nstruct io_hash_bucket {\n\tstruct hlist_head list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct io_hash_table {\n\tstruct io_hash_bucket *hbs;\n\tunsigned int hash_bits;\n};\n\nstruct io_imu_folio_data {\n\tunsigned int nr_pages_head;\n\tunsigned int nr_pages_mid;\n\tunsigned int folio_shift;\n\tunsigned int nr_folios;\n};\n\nstruct io_uring_sqe;\n\nstruct io_issue_def {\n\tunsigned int needs_file: 1;\n\tunsigned int plug: 1;\n\tunsigned int hash_reg_file: 1;\n\tunsigned int unbound_nonreg_file: 1;\n\tunsigned int pollin: 1;\n\tunsigned int pollout: 1;\n\tunsigned int poll_exclusive: 1;\n\tunsigned int buffer_select: 1;\n\tunsigned int audit_skip: 1;\n\tunsigned int ioprio: 1;\n\tunsigned int iopoll: 1;\n\tunsigned int iopoll_queue: 1;\n\tunsigned int vectored: 1;\n\tshort unsigned int async_size;\n\tint (*issue)(struct io_kiocb *, unsigned int);\n\tint (*prep)(struct io_kiocb *, const struct io_uring_sqe *);\n};\n\nstruct io_wq_work_node {\n\tstruct io_wq_work_node *next;\n};\n\nstruct io_tw_state;\n\ntypedef void (*io_req_tw_func_t)(struct io_kiocb *, struct io_tw_state *);\n\nstruct io_task_work {\n\tstruct llist_node node;\n\tio_req_tw_func_t func;\n};\n\nstruct io_wq_work {\n\tstruct io_wq_work_node list;\n\tatomic_t flags;\n\tint cancel_seq;\n};\n\nstruct io_uring_task;\n\nstruct io_kiocb {\n\tunion {\n\t\tstruct file *file;\n\t\tstruct io_cmd_data cmd;\n\t};\n\tu8 opcode;\n\tu8 iopoll_completed;\n\tu16 buf_index;\n\tunsigned int nr_tw;\n\tio_req_flags_t flags;\n\tstruct io_cqe cqe;\n\tstruct io_ring_ctx *ctx;\n\tstruct io_uring_task *tctx;\n\tunion {\n\t\tstruct io_buffer *kbuf;\n\t\tstruct io_buffer_list *buf_list;\n\t\tstruct io_rsrc_node *buf_node;\n\t};\n\tunion {\n\t\tstruct io_wq_work_node comp_list;\n\t\t__poll_t apoll_events;\n\t};\n\tstruct io_rsrc_node *file_node;\n\tatomic_t refs;\n\tbool cancel_seq_set;\n\tstruct io_task_work io_task_work;\n\tunion {\n\t\tstruct hlist_node hash_node;\n\t\tu64 iopoll_start;\n\t};\n\tstruct async_poll *apoll;\n\tvoid *async_data;\n\tatomic_t poll_refs;\n\tstruct io_kiocb *link;\n\tconst struct cred *creds;\n\tstruct io_wq_work work;\n\tstruct {\n\t\tu64 extra1;\n\t\tu64 extra2;\n\t} big_cqe;\n};\n\nstruct io_link {\n\tstruct file *file;\n\tint old_dfd;\n\tint new_dfd;\n\tstruct filename *oldpath;\n\tstruct filename *newpath;\n\tint flags;\n};\n\nstruct io_listen {\n\tstruct file *file;\n\tint backlog;\n};\n\nstruct io_madvise {\n\tstruct file *file;\n\tu64 addr;\n\tu64 len;\n\tu32 advice;\n};\n\nstruct io_mapped_ubuf {\n\tu64 ubuf;\n\tunsigned int len;\n\tunsigned int nr_bvecs;\n\tunsigned int folio_shift;\n\trefcount_t refs;\n\tlong unsigned int acct_pages;\n\tstruct bio_vec bvec[0];\n};\n\nstruct io_mkdir {\n\tstruct file *file;\n\tint dfd;\n\tumode_t mode;\n\tstruct filename *filename;\n};\n\nstruct io_msg {\n\tstruct file *file;\n\tstruct file *src_file;\n\tstruct callback_head tw;\n\tu64 user_data;\n\tu32 len;\n\tu32 cmd;\n\tu32 src_fd;\n\tunion {\n\t\tu32 dst_fd;\n\t\tu32 cqe_flags;\n\t};\n\tu32 flags;\n};\n\nstruct io_napi_entry {\n\tunsigned int napi_id;\n\tstruct list_head list;\n\tlong unsigned int timeout;\n\tstruct hlist_node node;\n\tstruct callback_head rcu;\n};\n\nstruct io_nop {\n\tstruct file *file;\n\tint result;\n\tint fd;\n\tint buffer;\n\tunsigned int flags;\n};\n\nstruct ubuf_info_ops;\n\nstruct ubuf_info {\n\tconst struct ubuf_info_ops *ops;\n\trefcount_t refcnt;\n\tu8 flags;\n};\n\nstruct io_notif_data {\n\tstruct file *file;\n\tstruct ubuf_info uarg;\n\tstruct io_notif_data *next;\n\tstruct io_notif_data *head;\n\tunsigned int account_pages;\n\tbool zc_report;\n\tbool zc_used;\n\tbool zc_copied;\n};\n\nstruct io_open {\n\tstruct file *file;\n\tint dfd;\n\tu32 file_slot;\n\tstruct filename *filename;\n\tstruct open_how how;\n\tlong unsigned int nofile;\n};\n\nstruct io_uring_cqe {\n\t__u64 user_data;\n\t__s32 res;\n\t__u32 flags;\n\t__u64 big_cqe[0];\n};\n\nstruct io_overflow_cqe {\n\tstruct list_head list;\n\tstruct io_uring_cqe cqe;\n};\n\nstruct io_poll_table {\n\tstruct poll_table_struct pt;\n\tstruct io_kiocb *req;\n\tint nr_entries;\n\tint error;\n\tbool owning;\n\t__poll_t result_mask;\n};\n\nstruct io_poll_update {\n\tstruct file *file;\n\tu64 old_user_data;\n\tu64 new_user_data;\n\t__poll_t events;\n\tbool update_events;\n\tbool update_user_data;\n};\n\nstruct io_provide_buf {\n\tstruct file *file;\n\t__u64 addr;\n\t__u32 len;\n\t__u32 bgid;\n\t__u32 nbufs;\n\t__u16 bid;\n};\n\nstruct io_uring_recvmsg_out {\n\t__u32 namelen;\n\t__u32 controllen;\n\t__u32 payloadlen;\n\t__u32 flags;\n};\n\nstruct io_recvmsg_multishot_hdr {\n\tstruct io_uring_recvmsg_out msg;\n\tstruct __kernel_sockaddr_storage addr;\n};\n\nstruct io_rename {\n\tstruct file *file;\n\tint old_dfd;\n\tint new_dfd;\n\tstruct filename *oldpath;\n\tstruct filename *newpath;\n\tint flags;\n};\n\nstruct io_restriction {\n\tlong unsigned int register_op[1];\n\tlong unsigned int sqe_op[1];\n\tu8 sqe_flags_allowed;\n\tu8 sqe_flags_required;\n\tbool registered;\n};\n\nstruct io_wq_work_list {\n\tstruct io_wq_work_node *first;\n\tstruct io_wq_work_node *last;\n};\n\nstruct io_submit_link {\n\tstruct io_kiocb *head;\n\tstruct io_kiocb *last;\n};\n\nstruct io_submit_state {\n\tstruct io_wq_work_node free_list;\n\tstruct io_wq_work_list compl_reqs;\n\tstruct io_submit_link link;\n\tbool plug_started;\n\tbool need_plug;\n\tbool cq_flush;\n\tshort unsigned int submit_nr;\n\tstruct blk_plug plug;\n};\n\nstruct io_rings;\n\nstruct io_sq_data;\n\nstruct io_wq_hash;\n\nstruct io_ring_ctx {\n\tstruct {\n\t\tunsigned int flags;\n\t\tunsigned int drain_next: 1;\n\t\tunsigned int restricted: 1;\n\t\tunsigned int off_timeout_used: 1;\n\t\tunsigned int drain_active: 1;\n\t\tunsigned int has_evfd: 1;\n\t\tunsigned int task_complete: 1;\n\t\tunsigned int lockless_cq: 1;\n\t\tunsigned int syscall_iopoll: 1;\n\t\tunsigned int poll_activated: 1;\n\t\tunsigned int drain_disabled: 1;\n\t\tunsigned int compat: 1;\n\t\tunsigned int iowq_limits_set: 1;\n\t\tstruct task_struct *submitter_task;\n\t\tstruct io_rings *rings;\n\t\tstruct percpu_ref refs;\n\t\tclockid_t clockid;\n\t\tenum tk_offsets clock_offset;\n\t\tenum task_work_notify_mode notify_method;\n\t\tunsigned int sq_thread_idle;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct mutex uring_lock;\n\t\tu32 *sq_array;\n\t\tstruct io_uring_sqe *sq_sqes;\n\t\tunsigned int cached_sq_head;\n\t\tunsigned int sq_entries;\n\t\tatomic_t cancel_seq;\n\t\tbool poll_multi_queue;\n\t\tstruct io_wq_work_list iopoll_list;\n\t\tstruct io_file_table file_table;\n\t\tstruct io_rsrc_data buf_table;\n\t\tstruct io_submit_state submit_state;\n\t\tstruct xarray io_bl_xa;\n\t\tstruct io_hash_table cancel_table;\n\t\tstruct io_alloc_cache apoll_cache;\n\t\tstruct io_alloc_cache netmsg_cache;\n\t\tstruct io_alloc_cache rw_cache;\n\t\tstruct io_alloc_cache uring_cache;\n\t\tstruct hlist_head cancelable_uring_cmd;\n\t\tu64 hybrid_poll_time;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct io_uring_cqe *cqe_cached;\n\t\tstruct io_uring_cqe *cqe_sentinel;\n\t\tunsigned int cached_cq_tail;\n\t\tunsigned int cq_entries;\n\t\tstruct io_ev_fd *io_ev_fd;\n\t\tunsigned int cq_extra;\n\t\tvoid *cq_wait_arg;\n\t\tsize_t cq_wait_size;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct llist_head work_llist;\n\t\tstruct llist_head retry_llist;\n\t\tlong unsigned int check_cq;\n\t\tatomic_t cq_wait_nr;\n\t\tatomic_t cq_timeouts;\n\t\tstruct wait_queue_head cq_wait;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\traw_spinlock_t timeout_lock;\n\t\tstruct list_head timeout_list;\n\t\tstruct list_head ltimeout_list;\n\t\tunsigned int cq_last_tm_flush;\n\t};\n\tspinlock_t completion_lock;\n\tstruct list_head io_buffers_comp;\n\tstruct list_head cq_overflow_list;\n\tstruct hlist_head waitid_list;\n\tstruct hlist_head futex_list;\n\tstruct io_alloc_cache futex_cache;\n\tconst struct cred *sq_creds;\n\tstruct io_sq_data *sq_data;\n\tstruct wait_queue_head sqo_sq_wait;\n\tstruct list_head sqd_list;\n\tunsigned int file_alloc_start;\n\tunsigned int file_alloc_end;\n\tstruct list_head io_buffers_cache;\n\tstruct wait_queue_head poll_wq;\n\tstruct io_restriction restrictions;\n\tu32 pers_next;\n\tstruct xarray personalities;\n\tstruct io_wq_hash *hash_map;\n\tstruct user_struct *user;\n\tstruct mm_struct *mm_account;\n\tstruct llist_head fallback_llist;\n\tstruct delayed_work fallback_work;\n\tstruct work_struct exit_work;\n\tstruct list_head tctx_list;\n\tstruct completion ref_comp;\n\tu32 iowq_limits[2];\n\tstruct callback_head poll_wq_task_work;\n\tstruct list_head defer_list;\n\tstruct io_alloc_cache msg_cache;\n\tspinlock_t msg_lock;\n\tstruct list_head napi_list;\n\tspinlock_t napi_lock;\n\tktime_t napi_busy_poll_dt;\n\tbool napi_prefer_busy_poll;\n\tu8 napi_track_mode;\n\tstruct hlist_head napi_ht[16];\n\tunsigned int evfd_last_cq_tail;\n\tstruct mutex mmap_lock;\n\tstruct io_mapped_region sq_region;\n\tstruct io_mapped_region ring_region;\n\tstruct io_mapped_region param_region;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct io_ring_ctx_rings {\n\tstruct io_rings *rings;\n\tstruct io_uring_sqe *sq_sqes;\n\tstruct io_mapped_region sq_region;\n\tstruct io_mapped_region ring_region;\n};\n\nstruct io_uring {\n\tu32 head;\n\tu32 tail;\n};\n\nstruct io_rings {\n\tstruct io_uring sq;\n\tstruct io_uring cq;\n\tu32 sq_ring_mask;\n\tu32 cq_ring_mask;\n\tu32 sq_ring_entries;\n\tu32 cq_ring_entries;\n\tu32 sq_dropped;\n\tatomic_t sq_flags;\n\tu32 cq_flags;\n\tu32 cq_overflow;\n\tlong: 64;\n\tlong: 64;\n\tstruct io_uring_cqe cqes[0];\n};\n\nstruct io_rsrc_node {\n\tunsigned char type;\n\tint refs;\n\tu64 tag;\n\tunion {\n\t\tlong unsigned int file_ptr;\n\t\tstruct io_mapped_ubuf *buf;\n\t};\n};\n\nstruct io_rsrc_update {\n\tstruct file *file;\n\tu64 arg;\n\tu32 nr_args;\n\tu32 offset;\n};\n\nstruct io_rw {\n\tstruct kiocb kiocb;\n\tu64 addr;\n\tu32 len;\n\trwf_t flags;\n};\n\nstruct io_shutdown {\n\tstruct file *file;\n\tint how;\n};\n\nstruct io_socket {\n\tstruct file *file;\n\tint domain;\n\tint type;\n\tint protocol;\n\tint flags;\n\tu32 file_slot;\n\tlong unsigned int nofile;\n};\n\nstruct io_splice {\n\tstruct file *file_out;\n\tloff_t off_out;\n\tloff_t off_in;\n\tu64 len;\n\tint splice_fd_in;\n\tunsigned int flags;\n\tstruct io_rsrc_node *rsrc_node;\n};\n\nstruct io_sq_data {\n\trefcount_t refs;\n\tatomic_t park_pending;\n\tstruct mutex lock;\n\tstruct list_head ctx_list;\n\tstruct task_struct *thread;\n\tstruct wait_queue_head wait;\n\tunsigned int sq_thread_idle;\n\tint sq_cpu;\n\tpid_t task_pid;\n\tpid_t task_tgid;\n\tu64 work_time;\n\tlong unsigned int state;\n\tstruct completion exited;\n};\n\nstruct io_sqring_offsets {\n\t__u32 head;\n\t__u32 tail;\n\t__u32 ring_mask;\n\t__u32 ring_entries;\n\t__u32 flags;\n\t__u32 dropped;\n\t__u32 array;\n\t__u32 resv1;\n\t__u64 user_addr;\n};\n\nstruct user_msghdr;\n\nstruct io_sr_msg {\n\tstruct file *file;\n\tunion {\n\t\tstruct compat_msghdr *umsg_compat;\n\t\tstruct user_msghdr *umsg;\n\t\tvoid *buf;\n\t};\n\tint len;\n\tunsigned int done_io;\n\tunsigned int msg_flags;\n\tunsigned int nr_multishot_loops;\n\tu16 flags;\n\tu16 buf_group;\n\tu16 buf_index;\n\tvoid *msg_control;\n\tstruct io_kiocb *notif;\n};\n\nstruct statx;\n\nstruct io_statx {\n\tstruct file *file;\n\tint dfd;\n\tunsigned int mask;\n\tunsigned int flags;\n\tstruct filename *filename;\n\tstruct statx *buffer;\n};\n\nstruct io_sync {\n\tstruct file *file;\n\tloff_t len;\n\tloff_t off;\n\tint flags;\n\tint mode;\n};\n\nstruct io_task_cancel {\n\tstruct io_uring_task *tctx;\n\tbool all;\n};\n\nstruct io_tctx_exit {\n\tstruct callback_head task_work;\n\tstruct completion completion;\n\tstruct io_ring_ctx *ctx;\n};\n\nstruct io_tctx_node {\n\tstruct list_head ctx_node;\n\tstruct task_struct *task;\n\tstruct io_ring_ctx *ctx;\n};\n\nstruct io_timeout {\n\tstruct file *file;\n\tu32 off;\n\tu32 target_seq;\n\tu32 repeats;\n\tstruct list_head list;\n\tstruct io_kiocb *head;\n\tstruct io_kiocb *prev;\n};\n\nstruct io_timeout_data {\n\tstruct io_kiocb *req;\n\tstruct hrtimer timer;\n\tstruct timespec64 ts;\n\tenum hrtimer_mode mode;\n\tu32 flags;\n};\n\nstruct io_timeout_rem {\n\tstruct file *file;\n\tu64 addr;\n\tstruct timespec64 ts;\n\tu32 flags;\n\tbool ltimeout;\n};\n\nstruct io_tlb_area {\n\tlong unsigned int used;\n\tunsigned int index;\n\tspinlock_t lock;\n};\n\nstruct io_tlb_slot;\n\nstruct io_tlb_pool {\n\tphys_addr_t start;\n\tphys_addr_t end;\n\tvoid *vaddr;\n\tlong unsigned int nslabs;\n\tbool late_alloc;\n\tunsigned int nareas;\n\tunsigned int area_nslabs;\n\tstruct io_tlb_area *areas;\n\tstruct io_tlb_slot *slots;\n};\n\nstruct io_tlb_mem {\n\tstruct io_tlb_pool defpool;\n\tlong unsigned int nslabs;\n\tstruct dentry *debugfs;\n\tbool force_bounce;\n\tbool for_alloc;\n\tatomic_long_t total_used;\n\tatomic_long_t used_hiwater;\n\tatomic_long_t transient_nslabs;\n};\n\nstruct io_tlb_slot {\n\tphys_addr_t orig_addr;\n\tsize_t alloc_size;\n\tshort unsigned int list;\n\tshort unsigned int pad_slots;\n};\n\nstruct io_tw_state {};\n\nstruct io_unlink {\n\tstruct file *file;\n\tint dfd;\n\tint flags;\n\tstruct filename *filename;\n};\n\nstruct io_uring_attr_pi {\n\t__u16 flags;\n\t__u16 app_tag;\n\t__u32 len;\n\t__u64 addr;\n\t__u64 seed;\n\t__u64 rsvd;\n};\n\nstruct io_uring_buf {\n\t__u64 addr;\n\t__u32 len;\n\t__u16 bid;\n\t__u16 resv;\n};\n\nstruct io_uring_buf_reg {\n\t__u64 ring_addr;\n\t__u32 ring_entries;\n\t__u16 bgid;\n\t__u16 flags;\n\t__u64 resv[3];\n};\n\nstruct io_uring_buf_ring {\n\tunion {\n\t\tstruct {\n\t\t\t__u64 resv1;\n\t\t\t__u32 resv2;\n\t\t\t__u16 resv3;\n\t\t\t__u16 tail;\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_bufs;\n\t\t\tstruct io_uring_buf bufs[0];\n\t\t};\n\t};\n};\n\nstruct io_uring_buf_status {\n\t__u32 buf_group;\n\t__u32 head;\n\t__u32 resv[8];\n};\n\nstruct io_uring_clock_register {\n\t__u32 clockid;\n\t__u32 __resv[3];\n};\n\nstruct io_uring_clone_buffers {\n\t__u32 src_fd;\n\t__u32 flags;\n\t__u32 src_off;\n\t__u32 dst_off;\n\t__u32 nr;\n\t__u32 pad[3];\n};\n\nstruct io_uring_cmd {\n\tstruct file *file;\n\tconst struct io_uring_sqe *sqe;\n\tvoid (*task_work_cb)(struct io_uring_cmd *, unsigned int);\n\tu32 cmd_op;\n\tu32 flags;\n\tu8 pdu[32];\n};\n\nstruct io_uring_sqe {\n\t__u8 opcode;\n\t__u8 flags;\n\t__u16 ioprio;\n\t__s32 fd;\n\tunion {\n\t\t__u64 off;\n\t\t__u64 addr2;\n\t\tstruct {\n\t\t\t__u32 cmd_op;\n\t\t\t__u32 __pad1;\n\t\t};\n\t};\n\tunion {\n\t\t__u64 addr;\n\t\t__u64 splice_off_in;\n\t\tstruct {\n\t\t\t__u32 level;\n\t\t\t__u32 optname;\n\t\t};\n\t};\n\t__u32 len;\n\tunion {\n\t\t__kernel_rwf_t rw_flags;\n\t\t__u32 fsync_flags;\n\t\t__u16 poll_events;\n\t\t__u32 poll32_events;\n\t\t__u32 sync_range_flags;\n\t\t__u32 msg_flags;\n\t\t__u32 timeout_flags;\n\t\t__u32 accept_flags;\n\t\t__u32 cancel_flags;\n\t\t__u32 open_flags;\n\t\t__u32 statx_flags;\n\t\t__u32 fadvise_advice;\n\t\t__u32 splice_flags;\n\t\t__u32 rename_flags;\n\t\t__u32 unlink_flags;\n\t\t__u32 hardlink_flags;\n\t\t__u32 xattr_flags;\n\t\t__u32 msg_ring_flags;\n\t\t__u32 uring_cmd_flags;\n\t\t__u32 waitid_flags;\n\t\t__u32 futex_flags;\n\t\t__u32 install_fd_flags;\n\t\t__u32 nop_flags;\n\t};\n\t__u64 user_data;\n\tunion {\n\t\t__u16 buf_index;\n\t\t__u16 buf_group;\n\t};\n\t__u16 personality;\n\tunion {\n\t\t__s32 splice_fd_in;\n\t\t__u32 file_index;\n\t\t__u32 optlen;\n\t\tstruct {\n\t\t\t__u16 addr_len;\n\t\t\t__u16 __pad3[1];\n\t\t};\n\t};\n\tunion {\n\t\tstruct {\n\t\t\t__u64 addr3;\n\t\t\t__u64 __pad2[1];\n\t\t};\n\t\tstruct {\n\t\t\t__u64 attr_ptr;\n\t\t\t__u64 attr_type_mask;\n\t\t};\n\t\t__u64 optval;\n\t\t__u8 cmd[0];\n\t};\n};\n\nstruct io_uring_cmd_data {\n\tvoid *op_data;\n\tstruct io_uring_sqe sqes[2];\n};\n\nstruct io_uring_file_index_range {\n\t__u32 off;\n\t__u32 len;\n\t__u64 resv;\n};\n\nstruct io_uring_getevents_arg {\n\t__u64 sigmask;\n\t__u32 sigmask_sz;\n\t__u32 min_wait_usec;\n\t__u64 ts;\n};\n\nstruct io_uring_mem_region_reg {\n\t__u64 region_uptr;\n\t__u64 flags;\n\t__u64 __resv[2];\n};\n\nstruct io_uring_napi {\n\t__u32 busy_poll_to;\n\t__u8 prefer_busy_poll;\n\t__u8 opcode;\n\t__u8 pad[2];\n\t__u32 op_param;\n\t__u32 resv;\n};\n\nstruct io_uring_params {\n\t__u32 sq_entries;\n\t__u32 cq_entries;\n\t__u32 flags;\n\t__u32 sq_thread_cpu;\n\t__u32 sq_thread_idle;\n\t__u32 features;\n\t__u32 wq_fd;\n\t__u32 resv[3];\n\tstruct io_sqring_offsets sq_off;\n\tstruct io_cqring_offsets cq_off;\n};\n\nstruct io_uring_probe_op {\n\t__u8 op;\n\t__u8 resv;\n\t__u16 flags;\n\t__u32 resv2;\n};\n\nstruct io_uring_probe {\n\t__u8 last_op;\n\t__u8 ops_len;\n\t__u16 resv;\n\t__u32 resv2[3];\n\tstruct io_uring_probe_op ops[0];\n};\n\nstruct io_uring_reg_wait {\n\tstruct __kernel_timespec ts;\n\t__u32 min_wait_usec;\n\t__u32 flags;\n\t__u64 sigmask;\n\t__u32 sigmask_sz;\n\t__u32 pad[3];\n\t__u64 pad2[2];\n};\n\nstruct io_uring_region_desc {\n\t__u64 user_addr;\n\t__u64 size;\n\t__u32 flags;\n\t__u32 id;\n\t__u64 mmap_offset;\n\t__u64 __resv[4];\n};\n\nstruct io_uring_restriction {\n\t__u16 opcode;\n\tunion {\n\t\t__u8 register_op;\n\t\t__u8 sqe_op;\n\t\t__u8 sqe_flags;\n\t};\n\t__u8 resv;\n\t__u32 resv2[3];\n};\n\nstruct io_uring_rsrc_register {\n\t__u32 nr;\n\t__u32 flags;\n\t__u64 resv2;\n\t__u64 data;\n\t__u64 tags;\n};\n\nstruct io_uring_rsrc_update {\n\t__u32 offset;\n\t__u32 resv;\n\t__u64 data;\n};\n\nstruct io_uring_rsrc_update2 {\n\t__u32 offset;\n\t__u32 resv;\n\t__u64 data;\n\t__u64 tags;\n\t__u32 nr;\n\t__u32 resv2;\n};\n\nstruct io_uring_sync_cancel_reg {\n\t__u64 addr;\n\t__s32 fd;\n\t__u32 flags;\n\tstruct __kernel_timespec timeout;\n\t__u8 opcode;\n\t__u8 pad[7];\n\t__u64 pad2[3];\n};\n\nstruct io_wq;\n\nstruct io_uring_task {\n\tint cached_refs;\n\tconst struct io_ring_ctx *last;\n\tstruct task_struct *task;\n\tstruct io_wq *io_wq;\n\tstruct file *registered_rings[16];\n\tstruct xarray xa;\n\tstruct wait_queue_head wait;\n\tatomic_t in_cancel;\n\tatomic_t inflight_tracked;\n\tstruct percpu_counter inflight;\n\tlong: 64;\n\tlong: 64;\n\tstruct {\n\t\tstruct llist_head task_list;\n\t\tstruct callback_head task_work;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n};\n\nstruct io_wait_queue {\n\tstruct wait_queue_entry wq;\n\tstruct io_ring_ctx *ctx;\n\tunsigned int cq_tail;\n\tunsigned int cq_min_tail;\n\tunsigned int nr_timeouts;\n\tint hit_timeout;\n\tktime_t min_timeout;\n\tktime_t timeout;\n\tstruct hrtimer t;\n\tktime_t napi_busy_poll_dt;\n\tbool napi_prefer_busy_poll;\n};\n\nstruct waitid_info {\n\tpid_t pid;\n\tuid_t uid;\n\tint status;\n\tint cause;\n};\n\nstruct io_waitid {\n\tstruct file *file;\n\tint which;\n\tpid_t upid;\n\tint options;\n\tatomic_t refs;\n\tstruct wait_queue_head *head;\n\tstruct siginfo *infop;\n\tstruct waitid_info info;\n};\n\nstruct rusage;\n\nstruct wait_opts {\n\tenum pid_type wo_type;\n\tint wo_flags;\n\tstruct pid *wo_pid;\n\tstruct waitid_info *wo_info;\n\tint wo_stat;\n\tstruct rusage *wo_rusage;\n\twait_queue_entry_t child_wait;\n\tint notask_error;\n};\n\nstruct io_waitid_async {\n\tstruct io_kiocb *req;\n\tstruct wait_opts wo;\n};\n\nstruct io_worker {\n\trefcount_t ref;\n\tint create_index;\n\tlong unsigned int flags;\n\tstruct hlist_nulls_node nulls_node;\n\tstruct list_head all_list;\n\tstruct task_struct *task;\n\tstruct io_wq *wq;\n\tstruct io_wq_work *cur_work;\n\traw_spinlock_t lock;\n\tstruct completion ref_done;\n\tlong unsigned int create_state;\n\tstruct callback_head create_work;\n\tint init_retries;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct delayed_work work;\n\t};\n};\n\ntypedef struct io_wq_work *free_work_fn(struct io_wq_work *);\n\ntypedef void io_wq_work_fn(struct io_wq_work *);\n\nstruct io_wq_acct {\n\tunsigned int nr_workers;\n\tunsigned int max_workers;\n\tint index;\n\tatomic_t nr_running;\n\traw_spinlock_t lock;\n\tstruct io_wq_work_list work_list;\n\tlong unsigned int flags;\n};\n\nstruct io_wq {\n\tlong unsigned int state;\n\tfree_work_fn *free_work;\n\tio_wq_work_fn *do_work;\n\tstruct io_wq_hash *hash;\n\tatomic_t worker_refs;\n\tstruct completion worker_done;\n\tstruct hlist_node cpuhp_node;\n\tstruct task_struct *task;\n\tstruct io_wq_acct acct[2];\n\traw_spinlock_t lock;\n\tstruct hlist_nulls_head free_list;\n\tstruct list_head all_list;\n\tstruct wait_queue_entry wait;\n\tstruct io_wq_work *hash_tail[64];\n\tcpumask_var_t cpu_mask;\n};\n\nstruct io_wq_data {\n\tstruct io_wq_hash *hash;\n\tstruct task_struct *task;\n\tio_wq_work_fn *do_work;\n\tfree_work_fn *free_work;\n};\n\nstruct io_wq_hash {\n\trefcount_t refs;\n\tlong unsigned int map;\n\tstruct wait_queue_head wait;\n};\n\nstruct xattr_name;\n\nstruct kernel_xattr_ctx {\n\tunion {\n\t\tconst void *cvalue;\n\t\tvoid *value;\n\t};\n\tvoid *kvalue;\n\tsize_t size;\n\tstruct xattr_name *kname;\n\tunsigned int flags;\n};\n\nstruct io_xattr {\n\tstruct file *file;\n\tstruct kernel_xattr_ctx ctx;\n\tstruct filename *filename;\n};\n\nstruct ioam6_hdr {\n\t__u8 opt_type;\n\t__u8 opt_len;\n\tchar: 8;\n\t__u8 type;\n};\n\nstruct ioam6_schema;\n\nstruct ioam6_namespace {\n\tstruct rhash_head head;\n\tstruct callback_head rcu;\n\tstruct ioam6_schema *schema;\n\t__be16 id;\n\t__be32 data;\n\t__be64 data_wide;\n};\n\nstruct ioam6_pernet_data {\n\tstruct mutex lock;\n\tstruct rhashtable namespaces;\n\tstruct rhashtable schemas;\n};\n\nstruct ioam6_schema {\n\tstruct rhash_head head;\n\tstruct callback_head rcu;\n\tstruct ioam6_namespace *ns;\n\tu32 id;\n\tint len;\n\t__be32 hdr;\n\tu8 data[0];\n};\n\nstruct ioam6_trace_hdr {\n\t__be16 namespace_id;\n\tchar: 2;\n\t__u8 overflow: 1;\n\t__u8 nodelen: 5;\n\t__u8 remlen: 7;\n\tunion {\n\t\t__be32 type_be32;\n\t\tstruct {\n\t\t\t__u32 bit7: 1;\n\t\t\t__u32 bit6: 1;\n\t\t\t__u32 bit5: 1;\n\t\t\t__u32 bit4: 1;\n\t\t\t__u32 bit3: 1;\n\t\t\t__u32 bit2: 1;\n\t\t\t__u32 bit1: 1;\n\t\t\t__u32 bit0: 1;\n\t\t\t__u32 bit15: 1;\n\t\t\t__u32 bit14: 1;\n\t\t\t__u32 bit13: 1;\n\t\t\t__u32 bit12: 1;\n\t\t\t__u32 bit11: 1;\n\t\t\t__u32 bit10: 1;\n\t\t\t__u32 bit9: 1;\n\t\t\t__u32 bit8: 1;\n\t\t\t__u32 bit23: 1;\n\t\t\t__u32 bit22: 1;\n\t\t\t__u32 bit21: 1;\n\t\t\t__u32 bit20: 1;\n\t\t\t__u32 bit19: 1;\n\t\t\t__u32 bit18: 1;\n\t\t\t__u32 bit17: 1;\n\t\t\t__u32 bit16: 1;\n\t\t} type;\n\t};\n\t__u8 data[0];\n};\n\nstruct iocb {\n\t__u64 aio_data;\n\t__u32 aio_key;\n\t__kernel_rwf_t aio_rw_flags;\n\t__u16 aio_lio_opcode;\n\t__s16 aio_reqprio;\n\t__u32 aio_fildes;\n\t__u64 aio_buf;\n\t__u64 aio_nbytes;\n\t__s64 aio_offset;\n\t__u64 aio_reserved2;\n\t__u32 aio_flags;\n\t__u32 aio_resfd;\n};\n\nstruct iomap_folio_ops;\n\nstruct iomap {\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tstruct block_device *bdev;\n\tstruct dax_device *dax_dev;\n\tvoid *inline_data;\n\tvoid *private;\n\tconst struct iomap_folio_ops *folio_ops;\n\tu64 validity_cookie;\n};\n\nstruct iomap_dio_ops;\n\nstruct iomap_dio {\n\tstruct kiocb *iocb;\n\tconst struct iomap_dio_ops *dops;\n\tloff_t i_size;\n\tloff_t size;\n\tatomic_t ref;\n\tunsigned int flags;\n\tint error;\n\tsize_t done_before;\n\tbool wait_for_completion;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iov_iter *iter;\n\t\t\tstruct task_struct *waiter;\n\t\t} submit;\n\t\tstruct {\n\t\t\tstruct work_struct work;\n\t\t} aio;\n\t};\n};\n\nstruct iomap_iter;\n\nstruct iomap_dio_ops {\n\tint (*end_io)(struct kiocb *, ssize_t, int, unsigned int);\n\tvoid (*submit_io)(const struct iomap_iter *, struct bio *, loff_t);\n\tstruct bio_set *bio_set;\n};\n\nstruct iomap_folio_ops {\n\tstruct folio * (*get_folio)(struct iomap_iter *, loff_t, unsigned int);\n\tvoid (*put_folio)(struct inode *, loff_t, unsigned int, struct folio *);\n\tbool (*iomap_valid)(struct inode *, const struct iomap *);\n};\n\nstruct iomap_folio_state {\n\tspinlock_t state_lock;\n\tunsigned int read_bytes_pending;\n\tatomic_t write_bytes_pending;\n\tlong unsigned int state[0];\n};\n\nstruct iomap_ioend {\n\tstruct list_head io_list;\n\tu16 io_type;\n\tu16 io_flags;\n\tstruct inode *io_inode;\n\tsize_t io_size;\n\tloff_t io_offset;\n\tsector_t io_sector;\n\tstruct bio io_bio;\n};\n\nstruct iomap_iter {\n\tstruct inode *inode;\n\tloff_t pos;\n\tu64 len;\n\ts64 processed;\n\tunsigned int flags;\n\tstruct iomap iomap;\n\tstruct iomap srcmap;\n\tvoid *private;\n};\n\nstruct iomap_ops {\n\tint (*iomap_begin)(struct inode *, loff_t, loff_t, unsigned int, struct iomap *, struct iomap *);\n\tint (*iomap_end)(struct inode *, loff_t, loff_t, ssize_t, unsigned int, struct iomap *);\n};\n\nstruct iomap_readpage_ctx {\n\tstruct folio *cur_folio;\n\tbool cur_folio_in_bio;\n\tstruct bio *bio;\n\tstruct readahead_control *rac;\n};\n\nstruct iomap_swapfile_info {\n\tstruct iomap iomap;\n\tstruct swap_info_struct *sis;\n\tuint64_t lowest_ppage;\n\tuint64_t highest_ppage;\n\tlong unsigned int nr_pages;\n\tint nr_extents;\n\tstruct file *file;\n};\n\nstruct iomap_writepage_ctx;\n\nstruct iomap_writeback_ops {\n\tint (*map_blocks)(struct iomap_writepage_ctx *, struct inode *, loff_t, unsigned int);\n\tint (*prepare_ioend)(struct iomap_ioend *, int);\n\tvoid (*discard_folio)(struct folio *, loff_t);\n};\n\nstruct iomap_writepage_ctx {\n\tstruct iomap iomap;\n\tstruct iomap_ioend *ioend;\n\tconst struct iomap_writeback_ops *ops;\n\tu32 nr_folios;\n};\n\nstruct iommu_domain;\n\nstruct iommu_attach_handle {\n\tstruct iommu_domain *domain;\n};\n\nstruct iommu_ops;\n\nstruct iommu_device {\n\tstruct list_head list;\n\tconst struct iommu_ops *ops;\n\tstruct fwnode_handle *fwnode;\n\tstruct device *dev;\n\tstruct iommu_group *singleton_group;\n\tu32 max_pasids;\n};\n\nstruct iova_bitmap;\n\nstruct iommu_iotlb_gather;\n\nstruct iommu_dirty_bitmap {\n\tstruct iova_bitmap *bitmap;\n\tstruct iommu_iotlb_gather *gather;\n};\n\nstruct iommu_dirty_ops {\n\tint (*set_dirty_tracking)(struct iommu_domain *, bool);\n\tint (*read_and_clear_dirty)(struct iommu_domain *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *);\n};\n\nstruct iommu_domain_geometry {\n\tdma_addr_t aperture_start;\n\tdma_addr_t aperture_end;\n\tbool force_aperture;\n};\n\nstruct iommu_dma_cookie;\n\ntypedef int (*iommu_fault_handler_t)(struct iommu_domain *, struct device *, long unsigned int, int, void *);\n\nstruct iommu_domain_ops;\n\nstruct iopf_group;\n\nstruct iommu_domain {\n\tunsigned int type;\n\tconst struct iommu_domain_ops *ops;\n\tconst struct iommu_dirty_ops *dirty_ops;\n\tconst struct iommu_ops *owner;\n\tlong unsigned int pgsize_bitmap;\n\tstruct iommu_domain_geometry geometry;\n\tstruct iommu_dma_cookie *iova_cookie;\n\tint (*iopf_handler)(struct iopf_group *);\n\tvoid *fault_data;\n\tunion {\n\t\tstruct {\n\t\t\tiommu_fault_handler_t handler;\n\t\t\tvoid *handler_token;\n\t\t};\n\t\tstruct {\n\t\t\tstruct mm_struct *mm;\n\t\t\tint users;\n\t\t\tstruct list_head next;\n\t\t};\n\t};\n};\n\nstruct iommu_user_data_array;\n\nstruct iommu_domain_ops {\n\tint (*attach_dev)(struct iommu_domain *, struct device *);\n\tint (*set_dev_pasid)(struct iommu_domain *, struct device *, ioasid_t, struct iommu_domain *);\n\tint (*map_pages)(struct iommu_domain *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *);\n\tsize_t (*unmap_pages)(struct iommu_domain *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *);\n\tvoid (*flush_iotlb_all)(struct iommu_domain *);\n\tint (*iotlb_sync_map)(struct iommu_domain *, long unsigned int, size_t);\n\tvoid (*iotlb_sync)(struct iommu_domain *, struct iommu_iotlb_gather *);\n\tint (*cache_invalidate_user)(struct iommu_domain *, struct iommu_user_data_array *);\n\tphys_addr_t (*iova_to_phys)(struct iommu_domain *, dma_addr_t);\n\tbool (*enforce_cache_coherency)(struct iommu_domain *);\n\tint (*set_pgtable_quirks)(struct iommu_domain *, long unsigned int);\n\tvoid (*free)(struct iommu_domain *);\n};\n\nstruct iommu_fault_page_request {\n\tu32 flags;\n\tu32 pasid;\n\tu32 grpid;\n\tu32 perm;\n\tu64 addr;\n\tu64 private_data[2];\n};\n\nstruct iommu_fault {\n\tu32 type;\n\tstruct iommu_fault_page_request prm;\n};\n\nstruct iopf_queue;\n\nstruct iommu_fault_param {\n\tstruct mutex lock;\n\trefcount_t users;\n\tstruct callback_head rcu;\n\tstruct device *dev;\n\tstruct iopf_queue *queue;\n\tstruct list_head queue_list;\n\tstruct list_head partial;\n\tstruct list_head faults;\n};\n\nstruct iommu_fwspec {\n\tstruct fwnode_handle *iommu_fwnode;\n\tu32 flags;\n\tunsigned int num_ids;\n\tu32 ids[0];\n};\n\nstruct iommu_group {\n\tstruct kobject kobj;\n\tstruct kobject *devices_kobj;\n\tstruct list_head devices;\n\tstruct xarray pasid_array;\n\tstruct mutex mutex;\n\tvoid *iommu_data;\n\tvoid (*iommu_data_release)(void *);\n\tchar *name;\n\tint id;\n\tstruct iommu_domain *default_domain;\n\tstruct iommu_domain *blocking_domain;\n\tstruct iommu_domain *domain;\n\tstruct list_head entry;\n\tunsigned int owner_cnt;\n\tvoid *owner;\n};\n\nstruct iommu_group_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct iommu_group *, char *);\n\tssize_t (*store)(struct iommu_group *, const char *, size_t);\n};\n\nstruct iommu_iotlb_gather {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tsize_t pgsize;\n\tstruct list_head freelist;\n\tbool queued;\n};\n\nstruct iommufd_viommu;\n\nstruct iommufd_ctx;\n\nstruct iommu_user_data;\n\nstruct iopf_fault;\n\nstruct iommu_page_response;\n\nstruct iommu_ops {\n\tbool (*capable)(struct device *, enum iommu_cap);\n\tvoid * (*hw_info)(struct device *, u32 *, u32 *);\n\tstruct iommu_domain * (*domain_alloc)(unsigned int);\n\tstruct iommu_domain * (*domain_alloc_paging_flags)(struct device *, u32, const struct iommu_user_data *);\n\tstruct iommu_domain * (*domain_alloc_paging)(struct device *);\n\tstruct iommu_domain * (*domain_alloc_sva)(struct device *, struct mm_struct *);\n\tstruct iommu_domain * (*domain_alloc_nested)(struct device *, struct iommu_domain *, u32, const struct iommu_user_data *);\n\tstruct iommu_device * (*probe_device)(struct device *);\n\tvoid (*release_device)(struct device *);\n\tvoid (*probe_finalize)(struct device *);\n\tstruct iommu_group * (*device_group)(struct device *);\n\tvoid (*get_resv_regions)(struct device *, struct list_head *);\n\tint (*of_xlate)(struct device *, const struct of_phandle_args *);\n\tbool (*is_attach_deferred)(struct device *);\n\tint (*dev_enable_feat)(struct device *, enum iommu_dev_features);\n\tint (*dev_disable_feat)(struct device *, enum iommu_dev_features);\n\tvoid (*page_response)(struct device *, struct iopf_fault *, struct iommu_page_response *);\n\tint (*def_domain_type)(struct device *);\n\tstruct iommufd_viommu * (*viommu_alloc)(struct device *, struct iommu_domain *, struct iommufd_ctx *, unsigned int);\n\tconst struct iommu_domain_ops *default_domain_ops;\n\tlong unsigned int pgsize_bitmap;\n\tstruct module *owner;\n\tstruct iommu_domain *identity_domain;\n\tstruct iommu_domain *blocked_domain;\n\tstruct iommu_domain *release_domain;\n\tstruct iommu_domain *default_domain;\n\tu8 user_pasid_table: 1;\n};\n\nstruct iommu_page_response {\n\tu32 pasid;\n\tu32 grpid;\n\tu32 code;\n};\n\nstruct iommu_resv_region {\n\tstruct list_head list;\n\tphys_addr_t start;\n\tsize_t length;\n\tint prot;\n\tenum iommu_resv_type type;\n\tvoid (*free)(struct device *, struct iommu_resv_region *);\n};\n\nstruct iommu_user_data {\n\tunsigned int type;\n\tvoid *uptr;\n\tsize_t len;\n};\n\nstruct iommu_user_data_array {\n\tunsigned int type;\n\tvoid *uptr;\n\tsize_t entry_len;\n\tu32 entry_num;\n};\n\nstruct iopf_fault {\n\tstruct iommu_fault fault;\n\tstruct list_head list;\n};\n\nstruct iopf_group {\n\tstruct iopf_fault last_fault;\n\tstruct list_head faults;\n\tsize_t fault_count;\n\tstruct list_head pending_node;\n\tstruct work_struct work;\n\tstruct iommu_attach_handle *attach_handle;\n\tstruct iommu_fault_param *fault_param;\n\tstruct list_head node;\n\tu32 cookie;\n};\n\nstruct iopf_queue {\n\tstruct workqueue_struct *wq;\n\tstruct list_head devices;\n\tstruct mutex lock;\n};\n\nstruct ip6_flowlabel {\n\tstruct ip6_flowlabel *next;\n\t__be32 label;\n\tatomic_t users;\n\tstruct in6_addr dst;\n\tstruct ipv6_txoptions *opt;\n\tlong unsigned int linger;\n\tstruct callback_head rcu;\n\tu8 share;\n\tunion {\n\t\tstruct pid *pid;\n\t\tkuid_t uid;\n\t} owner;\n\tlong unsigned int lastuse;\n\tlong unsigned int expires;\n\tstruct net *fl_net;\n};\n\nstruct ip6_frag_state {\n\tu8 *prevhdr;\n\tunsigned int hlen;\n\tunsigned int mtu;\n\tunsigned int left;\n\tint offset;\n\tint ptr;\n\tint hroom;\n\tint troom;\n\t__be32 frag_id;\n\tu8 nexthdr;\n};\n\nstruct ipv6hdr;\n\nstruct ip6_fraglist_iter {\n\tstruct ipv6hdr *tmp_hdr;\n\tstruct sk_buff *frag;\n\tint offset;\n\tunsigned int hlen;\n\t__be32 frag_id;\n\tu8 nexthdr;\n};\n\nstruct sockaddr_in6 {\n\tshort unsigned int sin6_family;\n\t__be16 sin6_port;\n\t__be32 sin6_flowinfo;\n\tstruct in6_addr sin6_addr;\n\t__u32 sin6_scope_id;\n};\n\nstruct ip6_mtuinfo {\n\tstruct sockaddr_in6 ip6m_addr;\n\t__u32 ip6m_mtu;\n};\n\nstruct ip6_ra_chain {\n\tstruct ip6_ra_chain *next;\n\tstruct sock *sk;\n\tint sel;\n\tvoid (*destructor)(struct sock *);\n};\n\nstruct ip6_rt_info {\n\tstruct in6_addr daddr;\n\tstruct in6_addr saddr;\n\tu_int32_t mark;\n};\n\nstruct ip6_sf_list {\n\tstruct ip6_sf_list *sf_next;\n\tstruct in6_addr sf_addr;\n\tlong unsigned int sf_count[2];\n\tunsigned char sf_gsresp;\n\tunsigned char sf_oldin;\n\tunsigned char sf_crcount;\n\tstruct callback_head rcu;\n};\n\nstruct ip6_sf_socklist {\n\tunsigned int sl_max;\n\tunsigned int sl_count;\n\tstruct callback_head rcu;\n\tstruct in6_addr sl_addr[0];\n};\n\nstruct ip_tunnel_encap {\n\tu16 type;\n\tu16 flags;\n\t__be16 sport;\n\t__be16 dport;\n};\n\nstruct ip6_tnl {\n\tstruct ip6_tnl *next;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net *net;\n\tstruct __ip6_tnl_parm parms;\n\tstruct flowi fl;\n\tstruct dst_cache dst_cache;\n\tstruct gro_cells gro_cells;\n\tint err_count;\n\tlong unsigned int err_time;\n\t__u32 i_seqno;\n\tatomic_t o_seqno;\n\tint hlen;\n\tint tun_hlen;\n\tint encap_hlen;\n\tstruct ip_tunnel_encap encap;\n\tint mlink;\n};\n\nstruct ip6_tnl_encap_ops {\n\tsize_t (*encap_hlen)(struct ip_tunnel_encap *);\n\tint (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi6 *);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n};\n\nstruct ip6addrlbl_entry {\n\tstruct in6_addr prefix;\n\tint prefixlen;\n\tint ifindex;\n\tint addrtype;\n\tu32 label;\n\tstruct hlist_node list;\n\tstruct callback_head rcu;\n};\n\nstruct ip6addrlbl_init_table {\n\tconst struct in6_addr *prefix;\n\tint prefixlen;\n\tu32 label;\n};\n\nstruct ip6fl_iter_state {\n\tstruct seq_net_private p;\n\tstruct pid_namespace *pid_ns;\n\tint bucket;\n};\n\nstruct ip6rd_flowi {\n\tstruct flowi6 fl6;\n\tstruct in6_addr gateway;\n};\n\nstruct ip_auth_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__be16 reserved;\n\t__be32 spi;\n\t__be32 seq_no;\n\t__u8 auth_data[0];\n};\n\nstruct ip_beet_phdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 padlen;\n\t__u8 reserved;\n};\n\nstruct ip_conntrack_stat {\n\tunsigned int found;\n\tunsigned int invalid;\n\tunsigned int insert;\n\tunsigned int insert_failed;\n\tunsigned int clash_resolve;\n\tunsigned int drop;\n\tunsigned int early_drop;\n\tunsigned int error;\n\tunsigned int expect_new;\n\tunsigned int expect_create;\n\tunsigned int expect_delete;\n\tunsigned int search_restart;\n\tunsigned int chaintoolong;\n};\n\nstruct ip_ct_sctp {\n\tenum sctp_conntrack state;\n\t__be32 vtag[2];\n\tu8 init[2];\n\tu8 last_dir;\n\tu8 flags;\n};\n\nstruct ip_ct_tcp_state {\n\tu_int32_t td_end;\n\tu_int32_t td_maxend;\n\tu_int32_t td_maxwin;\n\tu_int32_t td_maxack;\n\tu_int8_t td_scale;\n\tu_int8_t flags;\n};\n\nstruct ip_ct_tcp {\n\tstruct ip_ct_tcp_state seen[2];\n\tu_int8_t state;\n\tu_int8_t last_dir;\n\tu_int8_t retrans;\n\tu_int8_t last_index;\n\tu_int32_t last_seq;\n\tu_int32_t last_ack;\n\tu_int32_t last_end;\n\tu_int16_t last_win;\n\tu_int8_t last_wscale;\n\tu_int8_t last_flags;\n};\n\nstruct ip_esp_hdr {\n\t__be32 spi;\n\t__be32 seq_no;\n\t__u8 enc_data[0];\n};\n\nstruct ip_frag_state {\n\tbool DF;\n\tunsigned int hlen;\n\tunsigned int ll_rs;\n\tunsigned int mtu;\n\tunsigned int left;\n\tint offset;\n\tint ptr;\n\t__be16 not_last_frag;\n};\n\nstruct ip_fraglist_iter {\n\tstruct sk_buff *frag;\n\tstruct iphdr *iph;\n\tint offset;\n\tunsigned int hlen;\n};\n\nstruct unix_domain;\n\nstruct ip_map {\n\tstruct cache_head h;\n\tchar m_class[8];\n\tstruct in6_addr m_addr;\n\tstruct unix_domain *m_client;\n\tstruct callback_head m_rcu;\n};\n\nstruct ip_sf_list;\n\nstruct ip_mc_list {\n\tstruct in_device *interface;\n\t__be32 multiaddr;\n\tunsigned int sfmode;\n\tstruct ip_sf_list *sources;\n\tstruct ip_sf_list *tomb;\n\tlong unsigned int sfcount[2];\n\tunion {\n\t\tstruct ip_mc_list *next;\n\t\tstruct ip_mc_list *next_rcu;\n\t};\n\tstruct ip_mc_list *next_hash;\n\tstruct timer_list timer;\n\tint users;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tchar tm_running;\n\tchar reporter;\n\tchar unsolicit_count;\n\tchar loaded;\n\tunsigned char gsquery;\n\tunsigned char crcount;\n\tlong unsigned int mca_cstamp;\n\tlong unsigned int mca_tstamp;\n\tstruct callback_head rcu;\n};\n\nstruct ip_mreqn {\n\tstruct in_addr imr_multiaddr;\n\tstruct in_addr imr_address;\n\tint imr_ifindex;\n};\n\nstruct ip_sf_socklist;\n\nstruct ip_mc_socklist {\n\tstruct ip_mc_socklist *next_rcu;\n\tstruct ip_mreqn multi;\n\tunsigned int sfmode;\n\tstruct ip_sf_socklist *sflist;\n\tstruct callback_head rcu;\n};\n\nstruct ip_mreq_source {\n\t__be32 imr_multiaddr;\n\t__be32 imr_interface;\n\t__be32 imr_sourceaddr;\n};\n\nstruct ip_msfilter {\n\t__be32 imsf_multiaddr;\n\t__be32 imsf_interface;\n\t__u32 imsf_fmode;\n\t__u32 imsf_numsrc;\n\tunion {\n\t\t__be32 imsf_slist[1];\n\t\tstruct {\n\t\t\tstruct {} __empty_imsf_slist_flex;\n\t\t\t__be32 imsf_slist_flex[0];\n\t\t};\n\t};\n};\n\nstruct ip_ra_chain {\n\tstruct ip_ra_chain *next;\n\tstruct sock *sk;\n\tunion {\n\t\tvoid (*destructor)(struct sock *);\n\t\tstruct sock *saved_sk;\n\t};\n\tstruct callback_head rcu;\n};\n\nstruct kvec {\n\tvoid *iov_base;\n\tsize_t iov_len;\n};\n\nstruct ip_reply_arg {\n\tstruct kvec iov[1];\n\tint flags;\n\t__wsum csum;\n\tint csumoffset;\n\tint bound_dev_if;\n\tu8 tos;\n\tkuid_t uid;\n};\n\nstruct ip_rt_info {\n\t__be32 daddr;\n\t__be32 saddr;\n\tu_int8_t tos;\n\tu_int32_t mark;\n};\n\nstruct ip_sf_list {\n\tstruct ip_sf_list *sf_next;\n\tlong unsigned int sf_count[2];\n\t__be32 sf_inaddr;\n\tunsigned char sf_gsresp;\n\tunsigned char sf_oldin;\n\tunsigned char sf_crcount;\n};\n\nstruct ip_sf_socklist {\n\tunsigned int sl_max;\n\tunsigned int sl_count;\n\tstruct callback_head rcu;\n\t__be32 sl_addr[0];\n};\n\nstruct ip_tunnel_parm_kern {\n\tchar name[16];\n\tlong unsigned int i_flags[1];\n\tlong unsigned int o_flags[1];\n\t__be32 i_key;\n\t__be32 o_key;\n\tint link;\n\tstruct iphdr iph;\n};\n\nstruct ip_tunnel_prl_entry;\n\nstruct ip_tunnel {\n\tstruct ip_tunnel *next;\n\tstruct hlist_node hash_node;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net *net;\n\tlong unsigned int err_time;\n\tint err_count;\n\tu32 i_seqno;\n\tatomic_t o_seqno;\n\tint tun_hlen;\n\tu32 index;\n\tu8 erspan_ver;\n\tu8 dir;\n\tu16 hwid;\n\tstruct dst_cache dst_cache;\n\tstruct ip_tunnel_parm_kern parms;\n\tint mlink;\n\tint encap_hlen;\n\tint hlen;\n\tstruct ip_tunnel_encap encap;\n\tstruct ip_tunnel_prl_entry *prl;\n\tunsigned int prl_count;\n\tunsigned int ip_tnl_net_id;\n\tstruct gro_cells gro_cells;\n\t__u32 fwmark;\n\tbool collect_md;\n\tbool ignore_df;\n};\n\nstruct ip_tunnel_encap_ops {\n\tsize_t (*encap_hlen)(struct ip_tunnel_encap *);\n\tint (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi4 *);\n\tint (*err_handler)(struct sk_buff *, u32);\n};\n\nstruct ip_tunnel_key {\n\t__be64 tun_id;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 src;\n\t\t\t__be32 dst;\n\t\t} ipv4;\n\t\tstruct {\n\t\t\tstruct in6_addr src;\n\t\t\tstruct in6_addr dst;\n\t\t} ipv6;\n\t} u;\n\tlong unsigned int tun_flags[1];\n\t__be32 label;\n\tu32 nhid;\n\tu8 tos;\n\tu8 ttl;\n\t__be16 tp_src;\n\t__be16 tp_dst;\n\t__u8 flow_flags;\n};\n\nstruct ip_tunnel_info {\n\tstruct ip_tunnel_key key;\n\tstruct ip_tunnel_encap encap;\n\tstruct dst_cache dst_cache;\n\tu8 options_len;\n\tu8 mode;\n};\n\nstruct rtnl_link_ops;\n\nstruct ip_tunnel_net {\n\tstruct net_device *fb_tunnel_dev;\n\tstruct rtnl_link_ops *rtnl_link_ops;\n\tstruct hlist_head tunnels[128];\n\tstruct ip_tunnel *collect_md_tun;\n\tint type;\n};\n\nstruct ip_tunnel_parm {\n\tchar name[16];\n\tint link;\n\t__be16 i_flags;\n\t__be16 o_flags;\n\t__be32 i_key;\n\t__be32 o_key;\n\tstruct iphdr iph;\n};\n\nstruct ip_tunnel_prl {\n\t__be32 addr;\n\t__u16 flags;\n\t__u16 __reserved;\n\t__u32 datalen;\n\t__u32 __reserved2;\n};\n\nstruct ip_tunnel_prl_entry {\n\tstruct ip_tunnel_prl_entry *next;\n\t__be32 addr;\n\tu16 flags;\n\tstruct callback_head callback_head;\n};\n\nstruct ipc64_perm {\n\t__kernel_key_t key;\n\t__kernel_uid32_t uid;\n\t__kernel_gid32_t gid;\n\t__kernel_uid32_t cuid;\n\t__kernel_gid32_t cgid;\n\t__kernel_mode_t mode;\n\tunsigned char __pad1[0];\n\tshort unsigned int seq;\n\tshort unsigned int __pad2;\n\t__kernel_ulong_t __unused1;\n\t__kernel_ulong_t __unused2;\n};\n\nstruct ipc_ids {\n\tint in_use;\n\tshort unsigned int seq;\n\tstruct rw_semaphore rwsem;\n\tstruct idr ipcs_idr;\n\tint max_idx;\n\tint last_idx;\n\tint next_id;\n\tstruct rhashtable key_ht;\n};\n\nstruct ipc_namespace {\n\tstruct ipc_ids ids[3];\n\tint sem_ctls[4];\n\tint used_sems;\n\tunsigned int msg_ctlmax;\n\tunsigned int msg_ctlmnb;\n\tunsigned int msg_ctlmni;\n\tstruct percpu_counter percpu_msg_bytes;\n\tstruct percpu_counter percpu_msg_hdrs;\n\tsize_t shm_ctlmax;\n\tsize_t shm_ctlall;\n\tlong unsigned int shm_tot;\n\tint shm_ctlmni;\n\tint shm_rmid_forced;\n\tstruct notifier_block ipcns_nb;\n\tstruct vfsmount *mq_mnt;\n\tunsigned int mq_queues_count;\n\tunsigned int mq_queues_max;\n\tunsigned int mq_msg_max;\n\tunsigned int mq_msgsize_max;\n\tunsigned int mq_msg_default;\n\tunsigned int mq_msgsize_default;\n\tstruct ctl_table_set mq_set;\n\tstruct ctl_table_header *mq_sysctls;\n\tstruct ctl_table_set ipc_set;\n\tstruct ctl_table_header *ipc_sysctls;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct llist_node mnt_llist;\n\tstruct ns_common ns;\n};\n\nstruct ipc_params;\n\nstruct kern_ipc_perm;\n\nstruct ipc_ops {\n\tint (*getnew)(struct ipc_namespace *, struct ipc_params *);\n\tint (*associate)(struct kern_ipc_perm *, int);\n\tint (*more_checks)(struct kern_ipc_perm *, struct ipc_params *);\n};\n\nstruct ipc_params {\n\tkey_t key;\n\tint flg;\n\tunion {\n\t\tsize_t size;\n\t\tint nsems;\n\t} u;\n};\n\nstruct ipc_perm {\n\t__kernel_key_t key;\n\t__kernel_uid_t uid;\n\t__kernel_gid_t gid;\n\t__kernel_uid_t cuid;\n\t__kernel_gid_t cgid;\n\t__kernel_mode_t mode;\n\tshort unsigned int seq;\n};\n\nstruct ipc_proc_iface {\n\tconst char *path;\n\tconst char *header;\n\tint ids;\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct ipc_proc_iter {\n\tstruct ipc_namespace *ns;\n\tstruct pid_namespace *pid_ns;\n\tstruct ipc_proc_iface *iface;\n};\n\nstruct ipc_security_struct {\n\tu16 sclass;\n\tu32 sid;\n};\n\nstruct sockcm_cookie {\n\tu64 transmit_time;\n\tu32 mark;\n\tu32 tsflags;\n\tu32 ts_opt_id;\n\tu32 priority;\n};\n\nstruct ipcm6_cookie {\n\tstruct sockcm_cookie sockc;\n\t__s16 hlimit;\n\t__s16 tclass;\n\t__u16 gso_size;\n\t__s8 dontfrag;\n\tstruct ipv6_txoptions *opt;\n};\n\nstruct ipcm_cookie {\n\tstruct sockcm_cookie sockc;\n\t__be32 addr;\n\tint oif;\n\tstruct ip_options_rcu *opt;\n\t__u8 protocol;\n\t__u8 ttl;\n\t__s16 tos;\n\t__u16 gso_size;\n};\n\nstruct ipfrag_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t};\n\tstruct sk_buff *next_frag;\n\tint frag_run_len;\n\tint ip_defrag_offset;\n};\n\nstruct ipi_mux_cpu {\n\tatomic_t enable;\n\tatomic_t bits;\n};\n\nstruct ipq {\n\tstruct inet_frag_queue q;\n\tu8 ecn;\n\tu16 max_df_size;\n\tint iif;\n\tunsigned int rid;\n\tstruct inet_peer *peer;\n};\n\nstruct ipstats_mib {\n\tu64 mibs[38];\n\tstruct u64_stats_sync syncp;\n};\n\nstruct ipv6_ac_socklist {\n\tstruct in6_addr acl_addr;\n\tint acl_ifindex;\n\tstruct ipv6_ac_socklist *acl_next;\n};\n\nstruct udp_table;\n\nstruct ipv6_bpf_stub {\n\tint (*inet6_bind)(struct sock *, struct sockaddr *, int, u32);\n\tstruct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *);\n\tint (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t);\n\tint (*ipv6_dev_get_saddr)(struct net *, const struct net_device *, const struct in6_addr *, unsigned int, struct in6_addr *);\n};\n\nstruct ipv6_fl_socklist {\n\tstruct ipv6_fl_socklist *next;\n\tstruct ip6_flowlabel *fl;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6_mc_socklist {\n\tstruct in6_addr addr;\n\tint ifindex;\n\tunsigned int sfmode;\n\tstruct ipv6_mc_socklist *next;\n\tstruct ip6_sf_socklist *sflist;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6_mreq {\n\tstruct in6_addr ipv6mr_multiaddr;\n\tint ipv6mr_ifindex;\n};\n\nstruct ipv6_opt_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n};\n\nstruct ipv6_params {\n\t__s32 disable_ipv6;\n\t__s32 autoconf;\n};\n\nstruct ipv6_pinfo {\n\tstruct in6_addr saddr;\n\tstruct in6_pktinfo sticky_pktinfo;\n\tconst struct in6_addr *daddr_cache;\n\t__be32 flow_label;\n\t__u32 frag_size;\n\ts16 hop_limit;\n\tu8 mcast_hops;\n\tint ucast_oif;\n\tint mcast_oif;\n\tunion {\n\t\tstruct {\n\t\t\t__u16 srcrt: 1;\n\t\t\t__u16 osrcrt: 1;\n\t\t\t__u16 rxinfo: 1;\n\t\t\t__u16 rxoinfo: 1;\n\t\t\t__u16 rxhlim: 1;\n\t\t\t__u16 rxohlim: 1;\n\t\t\t__u16 hopopts: 1;\n\t\t\t__u16 ohopopts: 1;\n\t\t\t__u16 dstopts: 1;\n\t\t\t__u16 odstopts: 1;\n\t\t\t__u16 rxflow: 1;\n\t\t\t__u16 rxtclass: 1;\n\t\t\t__u16 rxpmtu: 1;\n\t\t\t__u16 rxorigdstaddr: 1;\n\t\t\t__u16 recvfragsize: 1;\n\t\t} bits;\n\t\t__u16 all;\n\t} rxopt;\n\t__u8 srcprefs;\n\t__u8 pmtudisc;\n\t__u8 min_hopcount;\n\t__u8 tclass;\n\t__be32 rcv_flowinfo;\n\t__u32 dst_cookie;\n\tstruct ipv6_mc_socklist *ipv6_mc_list;\n\tstruct ipv6_ac_socklist *ipv6_ac_list;\n\tstruct ipv6_fl_socklist *ipv6_fl_list;\n\tstruct ipv6_txoptions *opt;\n\tstruct sk_buff *pktoptions;\n\tstruct sk_buff *rxpmtu;\n\tstruct inet6_cork cork;\n};\n\nstruct ipv6_route_iter {\n\tstruct seq_net_private p;\n\tstruct fib6_walker w;\n\tloff_t skip;\n\tstruct fib6_table *tbl;\n\tint sernum;\n};\n\nstruct ipv6_rpl_sr_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n\t__u32 cmpre: 4;\n\t__u32 cmpri: 4;\n\t__u32 reserved: 4;\n\t__u32 pad: 4;\n\t__u32 reserved1: 16;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_addr;\n\t\t\tstruct in6_addr addr[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\t__u8 data[0];\n\t\t};\n\t} segments;\n};\n\nstruct ipv6_rt_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n};\n\nstruct ipv6_saddr_dst {\n\tconst struct in6_addr *addr;\n\tint ifindex;\n\tint scope;\n\tint label;\n\tunsigned int prefs;\n};\n\nstruct ipv6_saddr_score {\n\tint rule;\n\tint addr_type;\n\tstruct inet6_ifaddr *ifa;\n\tlong unsigned int scorebits[1];\n\tint scopedist;\n\tint matchlen;\n};\n\nstruct ipv6_sr_hdr {\n\t__u8 nexthdr;\n\t__u8 hdrlen;\n\t__u8 type;\n\t__u8 segments_left;\n\t__u8 first_segment;\n\t__u8 flags;\n\t__u16 tag;\n\tstruct in6_addr segments[0];\n};\n\nstruct neigh_table;\n\nstruct ipv6_stub {\n\tint (*ipv6_sock_mc_join)(struct sock *, int, const struct in6_addr *);\n\tint (*ipv6_sock_mc_drop)(struct sock *, int, const struct in6_addr *);\n\tstruct dst_entry * (*ipv6_dst_lookup_flow)(struct net *, const struct sock *, struct flowi6 *, const struct in6_addr *);\n\tint (*ipv6_route_input)(struct sk_buff *);\n\tstruct fib6_table * (*fib6_get_table)(struct net *, u32);\n\tint (*fib6_lookup)(struct net *, int, struct flowi6 *, struct fib6_result *, int);\n\tint (*fib6_table_lookup)(struct net *, struct fib6_table *, int, struct flowi6 *, struct fib6_result *, int);\n\tvoid (*fib6_select_path)(const struct net *, struct fib6_result *, struct flowi6 *, int, bool, const struct sk_buff *, int);\n\tu32 (*ip6_mtu_from_fib6)(const struct fib6_result *, const struct in6_addr *, const struct in6_addr *);\n\tint (*fib6_nh_init)(struct net *, struct fib6_nh *, struct fib6_config *, gfp_t, struct netlink_ext_ack *);\n\tvoid (*fib6_nh_release)(struct fib6_nh *);\n\tvoid (*fib6_nh_release_dsts)(struct fib6_nh *);\n\tvoid (*fib6_update_sernum)(struct net *, struct fib6_info *);\n\tint (*ip6_del_rt)(struct net *, struct fib6_info *, bool);\n\tvoid (*fib6_rt_update)(struct net *, struct fib6_info *, struct nl_info *);\n\tvoid (*udpv6_encap_enable)(void);\n\tvoid (*ndisc_send_na)(struct net_device *, const struct in6_addr *, const struct in6_addr *, bool, bool, bool, bool);\n\tvoid (*xfrm6_local_rxpmtu)(struct sk_buff *, u32);\n\tint (*xfrm6_udp_encap_rcv)(struct sock *, struct sk_buff *);\n\tstruct sk_buff * (*xfrm6_gro_udp_encap_rcv)(struct sock *, struct list_head *, struct sk_buff *);\n\tint (*xfrm6_rcv_encap)(struct sk_buff *, int, __be32, int);\n\tstruct neigh_table *nd_tbl;\n\tint (*ipv6_fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *));\n\tstruct net_device * (*ipv6_dev_find)(struct net *, const struct in6_addr *, struct net_device *);\n\tint (*ip6_xmit)(const struct sock *, struct sk_buff *, struct flowi6 *, __u32, struct ipv6_txoptions *, int, u32);\n};\n\nstruct ipv6_txoptions {\n\trefcount_t refcnt;\n\tint tot_len;\n\t__u16 opt_flen;\n\t__u16 opt_nflen;\n\tstruct ipv6_opt_hdr *hopopt;\n\tstruct ipv6_opt_hdr *dst0opt;\n\tstruct ipv6_rt_hdr *srcrt;\n\tstruct ipv6_opt_hdr *dst1opt;\n\tstruct callback_head rcu;\n};\n\nstruct ipv6hdr {\n\t__u8 priority: 4;\n\t__u8 version: 4;\n\t__u8 flow_lbl[3];\n\t__be16 payload_len;\n\t__u8 nexthdr;\n\t__u8 hop_limit;\n\tunion {\n\t\tstruct {\n\t\t\tstruct in6_addr saddr;\n\t\t\tstruct in6_addr daddr;\n\t\t};\n\t\tstruct {\n\t\t\tstruct in6_addr saddr;\n\t\t\tstruct in6_addr daddr;\n\t\t} addrs;\n\t};\n};\n\nstruct irq_affinity {\n\tunsigned int pre_vectors;\n\tunsigned int post_vectors;\n\tunsigned int nr_sets;\n\tunsigned int set_size[4];\n\tvoid (*calc_sets)(struct irq_affinity *, unsigned int);\n\tvoid *priv;\n};\n\nstruct irq_affinity_desc {\n\tstruct cpumask mask;\n\tunsigned int is_managed: 1;\n};\n\nstruct irq_affinity_devres {\n\tunsigned int count;\n\tunsigned int irq[0];\n};\n\nstruct irq_affinity_notify {\n\tunsigned int irq;\n\tstruct kref kref;\n\tstruct work_struct work;\n\tvoid (*notify)(struct irq_affinity_notify *, const cpumask_t *);\n\tvoid (*release)(struct kref *);\n};\n\nstruct msi_msg;\n\nstruct irq_chip {\n\tconst char *name;\n\tunsigned int (*irq_startup)(struct irq_data *);\n\tvoid (*irq_shutdown)(struct irq_data *);\n\tvoid (*irq_enable)(struct irq_data *);\n\tvoid (*irq_disable)(struct irq_data *);\n\tvoid (*irq_ack)(struct irq_data *);\n\tvoid (*irq_mask)(struct irq_data *);\n\tvoid (*irq_mask_ack)(struct irq_data *);\n\tvoid (*irq_unmask)(struct irq_data *);\n\tvoid (*irq_eoi)(struct irq_data *);\n\tint (*irq_set_affinity)(struct irq_data *, const struct cpumask *, bool);\n\tint (*irq_retrigger)(struct irq_data *);\n\tint (*irq_set_type)(struct irq_data *, unsigned int);\n\tint (*irq_set_wake)(struct irq_data *, unsigned int);\n\tvoid (*irq_bus_lock)(struct irq_data *);\n\tvoid (*irq_bus_sync_unlock)(struct irq_data *);\n\tvoid (*irq_suspend)(struct irq_data *);\n\tvoid (*irq_resume)(struct irq_data *);\n\tvoid (*irq_pm_shutdown)(struct irq_data *);\n\tvoid (*irq_calc_mask)(struct irq_data *);\n\tvoid (*irq_print_chip)(struct irq_data *, struct seq_file *);\n\tint (*irq_request_resources)(struct irq_data *);\n\tvoid (*irq_release_resources)(struct irq_data *);\n\tvoid (*irq_compose_msi_msg)(struct irq_data *, struct msi_msg *);\n\tvoid (*irq_write_msi_msg)(struct irq_data *, struct msi_msg *);\n\tint (*irq_get_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool *);\n\tint (*irq_set_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool);\n\tint (*irq_set_vcpu_affinity)(struct irq_data *, void *);\n\tvoid (*ipi_send_single)(struct irq_data *, unsigned int);\n\tvoid (*ipi_send_mask)(struct irq_data *, const struct cpumask *);\n\tint (*irq_nmi_setup)(struct irq_data *);\n\tvoid (*irq_nmi_teardown)(struct irq_data *);\n\tlong unsigned int flags;\n};\n\nstruct irq_chip_regs {\n\tlong unsigned int enable;\n\tlong unsigned int disable;\n\tlong unsigned int mask;\n\tlong unsigned int ack;\n\tlong unsigned int eoi;\n\tlong unsigned int type;\n};\n\nstruct irq_chip_type {\n\tstruct irq_chip chip;\n\tstruct irq_chip_regs regs;\n\tirq_flow_handler_t handler;\n\tu32 type;\n\tu32 mask_cache_priv;\n\tu32 *mask_cache;\n};\n\nstruct irq_chip_generic {\n\traw_spinlock_t lock;\n\tvoid *reg_base;\n\tu32 (*reg_readl)(void *);\n\tvoid (*reg_writel)(u32, void *);\n\tvoid (*suspend)(struct irq_chip_generic *);\n\tvoid (*resume)(struct irq_chip_generic *);\n\tunsigned int irq_base;\n\tunsigned int irq_cnt;\n\tu32 mask_cache;\n\tu32 wake_enabled;\n\tu32 wake_active;\n\tunsigned int num_ct;\n\tvoid *private;\n\tlong unsigned int installed;\n\tlong unsigned int unused;\n\tstruct irq_domain *domain;\n\tstruct list_head list;\n\tstruct irq_chip_type chip_types[0];\n};\n\nstruct irq_common_data {\n\tunsigned int state_use_accessors;\n\tvoid *handler_data;\n\tstruct msi_desc *msi_desc;\n\tcpumask_var_t affinity;\n\tcpumask_var_t effective_affinity;\n\tunsigned int ipi_offset;\n};\n\nstruct irq_data {\n\tu32 mask;\n\tunsigned int irq;\n\tirq_hw_number_t hwirq;\n\tstruct irq_common_data *common;\n\tstruct irq_chip *chip;\n\tstruct irq_domain *domain;\n\tstruct irq_data *parent_data;\n\tvoid *chip_data;\n};\n\nstruct irqstat;\n\nstruct irqaction;\n\nstruct irq_desc {\n\tstruct irq_common_data irq_common_data;\n\tstruct irq_data irq_data;\n\tstruct irqstat *kstat_irqs;\n\tirq_flow_handler_t handle_irq;\n\tstruct irqaction *action;\n\tunsigned int status_use_accessors;\n\tunsigned int core_internal_state__do_not_mess_with_it;\n\tunsigned int depth;\n\tunsigned int wake_depth;\n\tunsigned int tot_count;\n\tunsigned int irq_count;\n\tlong unsigned int last_unhandled;\n\tunsigned int irqs_unhandled;\n\tatomic_t threads_handled;\n\tint threads_handled_last;\n\traw_spinlock_t lock;\n\tstruct cpumask *percpu_enabled;\n\tconst struct cpumask *percpu_affinity;\n\tconst struct cpumask *affinity_hint;\n\tstruct irq_affinity_notify *affinity_notify;\n\tlong unsigned int threads_oneshot;\n\tatomic_t threads_active;\n\twait_queue_head_t wait_for_threads;\n\tunsigned int nr_actions;\n\tunsigned int no_suspend_depth;\n\tunsigned int cond_suspend_depth;\n\tunsigned int force_resume_depth;\n\tstruct proc_dir_entry *dir;\n\tstruct callback_head rcu;\n\tstruct kobject kobj;\n\tstruct mutex request_mutex;\n\tint parent_irq;\n\tstruct module *owner;\n\tconst char *name;\n\tstruct hlist_node resend_node;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct irq_desc_devres {\n\tunsigned int from;\n\tunsigned int cnt;\n};\n\nstruct irq_devres {\n\tunsigned int irq;\n\tvoid *dev_id;\n};\n\nstruct irq_domain_chip_generic;\n\nstruct msi_parent_ops;\n\nstruct irq_domain {\n\tstruct list_head link;\n\tconst char *name;\n\tconst struct irq_domain_ops *ops;\n\tvoid *host_data;\n\tunsigned int flags;\n\tunsigned int mapcount;\n\tstruct mutex mutex;\n\tstruct irq_domain *root;\n\tstruct fwnode_handle *fwnode;\n\tenum irq_domain_bus_token bus_token;\n\tstruct irq_domain_chip_generic *gc;\n\tstruct device *dev;\n\tstruct device *pm_dev;\n\tstruct irq_domain *parent;\n\tconst struct msi_parent_ops *msi_parent_ops;\n\tvoid (*exit)(struct irq_domain *);\n\tirq_hw_number_t hwirq_max;\n\tunsigned int revmap_size;\n\tstruct xarray revmap_tree;\n\tstruct irq_data *revmap[0];\n};\n\nstruct irq_domain_chip_generic {\n\tunsigned int irqs_per_chip;\n\tunsigned int num_chips;\n\tunsigned int irq_flags_to_clear;\n\tunsigned int irq_flags_to_set;\n\tenum irq_gc_flags gc_flags;\n\tvoid (*exit)(struct irq_chip_generic *);\n\tstruct irq_chip_generic *gc[0];\n};\n\nstruct irq_domain_chip_generic_info {\n\tconst char *name;\n\tirq_flow_handler_t handler;\n\tunsigned int irqs_per_chip;\n\tunsigned int num_ct;\n\tunsigned int irq_flags_to_clear;\n\tunsigned int irq_flags_to_set;\n\tenum irq_gc_flags gc_flags;\n\tint (*init)(struct irq_chip_generic *);\n\tvoid (*exit)(struct irq_chip_generic *);\n};\n\nstruct irq_domain_info {\n\tstruct fwnode_handle *fwnode;\n\tunsigned int domain_flags;\n\tunsigned int size;\n\tirq_hw_number_t hwirq_max;\n\tint direct_max;\n\tunsigned int hwirq_base;\n\tunsigned int virq_base;\n\tenum irq_domain_bus_token bus_token;\n\tconst char *name_suffix;\n\tconst struct irq_domain_ops *ops;\n\tvoid *host_data;\n\tstruct irq_domain *parent;\n\tstruct irq_domain_chip_generic_info *dgc_info;\n\tint (*init)(struct irq_domain *);\n\tvoid (*exit)(struct irq_domain *);\n};\n\nstruct irq_glue {\n\tstruct irq_affinity_notify notify;\n\tstruct cpu_rmap *rmap;\n\tu16 index;\n};\n\nstruct irq_info {\n\tstruct hlist_node node;\n\tint irq;\n\tspinlock_t lock;\n\tstruct list_head *head;\n};\n\nstruct irq_matrix {\n\tunsigned int matrix_bits;\n\tunsigned int alloc_start;\n\tunsigned int alloc_end;\n\tunsigned int alloc_size;\n\tunsigned int global_available;\n\tunsigned int global_reserved;\n\tunsigned int systembits_inalloc;\n\tunsigned int total_allocated;\n\tunsigned int online_maps;\n\tstruct cpumap *maps;\n\tlong unsigned int *system_map;\n\tlong unsigned int scratch_map[0];\n};\n\nstruct irq_override_cmp {\n\tconst struct dmi_system_id *system;\n\tunsigned char irq;\n\tunsigned char triggering;\n\tunsigned char polarity;\n\tunsigned char shareable;\n\tbool override;\n};\n\nstruct irqaction {\n\tirq_handler_t handler;\n\tvoid *dev_id;\n\tvoid *percpu_dev_id;\n\tstruct irqaction *next;\n\tirq_handler_t thread_fn;\n\tstruct task_struct *thread;\n\tstruct irqaction *secondary;\n\tunsigned int irq;\n\tunsigned int flags;\n\tlong unsigned int thread_flags;\n\tlong unsigned int thread_mask;\n\tconst char *name;\n\tstruct proc_dir_entry *dir;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct irqchip_fwid {\n\tstruct fwnode_handle fwnode;\n\tunsigned int type;\n\tchar *name;\n\tphys_addr_t *pa;\n};\n\nstruct irqentry_state {\n\tunion {\n\t\tbool exit_rcu;\n\t\tbool lockdep;\n\t};\n};\n\ntypedef struct irqentry_state irqentry_state_t;\n\nstruct irqstat {\n\tunsigned int cnt;\n};\n\nstruct iso_directory_record {\n\t__u8 length[1];\n\t__u8 ext_attr_length[1];\n\t__u8 extent[8];\n\t__u8 size[8];\n\t__u8 date[7];\n\t__u8 flags[1];\n\t__u8 file_unit_size[1];\n\t__u8 interleave[1];\n\t__u8 volume_sequence_number[4];\n\t__u8 name_len[1];\n\tchar name[0];\n};\n\nstruct iso_inode_info {\n\tlong unsigned int i_iget5_block;\n\tlong unsigned int i_iget5_offset;\n\tunsigned int i_first_extent;\n\tunsigned char i_file_format;\n\tunsigned char i_format_parm[3];\n\tlong unsigned int i_next_section_block;\n\tlong unsigned int i_next_section_offset;\n\toff_t i_section_size;\n\tstruct inode vfs_inode;\n};\n\nstruct iso_primary_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 unused1[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 unused3[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 opt_type_l_path_table[4];\n\t__u8 type_m_path_table[4];\n\t__u8 opt_type_m_path_table[4];\n\t__u8 root_directory_record[34];\n\tchar volume_set_id[128];\n\tchar publisher_id[128];\n\tchar preparer_id[128];\n\tchar application_id[128];\n\tchar copyright_file_id[37];\n\tchar abstract_file_id[37];\n\tchar bibliographic_file_id[37];\n\t__u8 creation_date[17];\n\t__u8 modification_date[17];\n\t__u8 expiration_date[17];\n\t__u8 effective_date[17];\n\t__u8 file_structure_version[1];\n\t__u8 unused4[1];\n\t__u8 application_data[512];\n\t__u8 unused5[653];\n};\n\nstruct iso_supplementary_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 flags[1];\n\tchar system_id[32];\n\tchar volume_id[32];\n\t__u8 unused2[8];\n\t__u8 volume_space_size[8];\n\t__u8 escape[32];\n\t__u8 volume_set_size[4];\n\t__u8 volume_sequence_number[4];\n\t__u8 logical_block_size[4];\n\t__u8 path_table_size[8];\n\t__u8 type_l_path_table[4];\n\t__u8 opt_type_l_path_table[4];\n\t__u8 type_m_path_table[4];\n\t__u8 opt_type_m_path_table[4];\n\t__u8 root_directory_record[34];\n\tchar volume_set_id[128];\n\tchar publisher_id[128];\n\tchar preparer_id[128];\n\tchar application_id[128];\n\tchar copyright_file_id[37];\n\tchar abstract_file_id[37];\n\tchar bibliographic_file_id[37];\n\t__u8 creation_date[17];\n\t__u8 modification_date[17];\n\t__u8 expiration_date[17];\n\t__u8 effective_date[17];\n\t__u8 file_structure_version[1];\n\t__u8 unused4[1];\n\t__u8 application_data[512];\n\t__u8 unused5[653];\n};\n\nstruct iso_volume_descriptor {\n\t__u8 type[1];\n\tchar id[5];\n\t__u8 version[1];\n\t__u8 data[2041];\n};\n\nstruct isofs_fid {\n\tu32 block;\n\tu16 offset;\n\tu16 parent_offset;\n\tu32 generation;\n\tu32 parent_block;\n\tu32 parent_generation;\n};\n\nstruct isofs_iget5_callback_data {\n\tlong unsigned int block;\n\tlong unsigned int offset;\n};\n\nstruct isofs_options {\n\tunsigned int rock: 1;\n\tunsigned int joliet: 1;\n\tunsigned int cruft: 1;\n\tunsigned int hide: 1;\n\tunsigned int showassoc: 1;\n\tunsigned int nocompress: 1;\n\tunsigned int overriderockperm: 1;\n\tunsigned int uid_set: 1;\n\tunsigned int gid_set: 1;\n\tunsigned char map;\n\tunsigned char check;\n\tunsigned int blocksize;\n\tumode_t fmode;\n\tumode_t dmode;\n\tkgid_t gid;\n\tkuid_t uid;\n\tchar *iocharset;\n\ts32 session;\n\ts32 sbsector;\n};\n\nstruct nls_table;\n\nstruct isofs_sb_info {\n\tlong unsigned int s_ninodes;\n\tlong unsigned int s_nzones;\n\tlong unsigned int s_firstdatazone;\n\tlong unsigned int s_log_zone_size;\n\tlong unsigned int s_max_size;\n\tint s_rock_offset;\n\ts32 s_sbsector;\n\tunsigned char s_joliet_level;\n\tunsigned char s_mapping;\n\tunsigned char s_check;\n\tunsigned char s_session;\n\tunsigned int s_high_sierra: 1;\n\tunsigned int s_rock: 2;\n\tunsigned int s_cruft: 1;\n\tunsigned int s_nocompress: 1;\n\tunsigned int s_hide: 1;\n\tunsigned int s_showassoc: 1;\n\tunsigned int s_overriderockperm: 1;\n\tunsigned int s_uid_set: 1;\n\tunsigned int s_gid_set: 1;\n\tumode_t s_fmode;\n\tumode_t s_dmode;\n\tkgid_t s_gid;\n\tkuid_t s_uid;\n\tstruct nls_table *s_nls_iocharset;\n};\n\nstruct itimerspec64 {\n\tstruct timespec64 it_interval;\n\tstruct timespec64 it_value;\n};\n\nstruct iu {\n\t__u8 iu_id;\n\t__u8 rsvd1;\n\t__be16 tag;\n};\n\nstruct snd_soc_jack;\n\nstruct snd_soc_jack_gpio;\n\nstruct jack_gpio_tbl {\n\tint count;\n\tstruct snd_soc_jack *jack;\n\tstruct snd_soc_jack_gpio *gpios;\n};\n\nstruct transaction_s;\n\ntypedef struct transaction_s transaction_t;\n\nstruct jbd2_inode {\n\ttransaction_t *i_transaction;\n\ttransaction_t *i_next_transaction;\n\tstruct list_head i_list;\n\tstruct inode *i_vfs_inode;\n\tlong unsigned int i_flags;\n\tloff_t i_dirty_start;\n\tloff_t i_dirty_end;\n};\n\nstruct jbd2_journal_block_tail {\n\t__be32 t_checksum;\n};\n\ntypedef struct journal_s journal_t;\n\nstruct jbd2_journal_handle {\n\tunion {\n\t\ttransaction_t *h_transaction;\n\t\tjournal_t *h_journal;\n\t};\n\thandle_t *h_rsv_handle;\n\tint h_total_credits;\n\tint h_revoke_credits;\n\tint h_revoke_credits_requested;\n\tint h_ref;\n\tint h_err;\n\tunsigned int h_sync: 1;\n\tunsigned int h_jdata: 1;\n\tunsigned int h_reserved: 1;\n\tunsigned int h_aborted: 1;\n\tunsigned int h_type: 8;\n\tunsigned int h_line_no: 16;\n\tlong unsigned int h_start_jiffies;\n\tunsigned int h_requested_credits;\n\tunsigned int saved_alloc_context;\n};\n\nstruct journal_header_s {\n\t__be32 h_magic;\n\t__be32 h_blocktype;\n\t__be32 h_sequence;\n};\n\ntypedef struct journal_header_s journal_header_t;\n\nstruct jbd2_journal_revoke_header_s {\n\tjournal_header_t r_header;\n\t__be32 r_count;\n};\n\ntypedef struct jbd2_journal_revoke_header_s jbd2_journal_revoke_header_t;\n\nstruct jbd2_revoke_record_s {\n\tstruct list_head hash;\n\ttid_t sequence;\n\tlong long unsigned int blocknr;\n};\n\nstruct jbd2_revoke_table_s {\n\tint hash_size;\n\tint hash_shift;\n\tstruct list_head *hash_table;\n};\n\nstruct transaction_stats_s;\n\nstruct jbd2_stats_proc_session {\n\tjournal_t *journal;\n\tstruct transaction_stats_s *stats;\n\tint start;\n\tint max;\n};\n\nstruct jh7110_func_sel {\n\tu16 offset;\n\tu8 shift;\n\tu8 max;\n};\n\nstruct jh7110_gpio_irq_reg {\n\tunsigned int is_reg_base;\n\tunsigned int ic_reg_base;\n\tunsigned int ibe_reg_base;\n\tunsigned int iev_reg_base;\n\tunsigned int ie_reg_base;\n\tunsigned int ris_reg_base;\n\tunsigned int mis_reg_base;\n};\n\nstruct jh7110_pinctrl_soc_info;\n\nstruct jh7110_pinctrl {\n\tstruct device *dev;\n\tstruct gpio_chip gc;\n\tstruct pinctrl_gpio_range gpios;\n\traw_spinlock_t lock;\n\tvoid *base;\n\tstruct pinctrl_dev *pctl;\n\tstruct mutex mutex;\n\tconst struct jh7110_pinctrl_soc_info *info;\n\tu32 *saved_regs;\n};\n\nstruct jh7110_pinctrl_soc_info {\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n\tunsigned int ngpios;\n\tunsigned int gc_base;\n\tunsigned int dout_reg_base;\n\tunsigned int dout_mask;\n\tunsigned int doen_reg_base;\n\tunsigned int doen_mask;\n\tunsigned int gpi_reg_base;\n\tunsigned int gpi_mask;\n\tunsigned int gpioin_reg_base;\n\tconst struct jh7110_gpio_irq_reg *irq_reg;\n\tunsigned int nsaved_regs;\n\tint (*jh7110_set_one_pin_mux)(struct jh7110_pinctrl *, unsigned int, unsigned int, u32, u32, u32);\n\tint (*jh7110_get_padcfg_base)(struct jh7110_pinctrl *, unsigned int);\n\tvoid (*jh7110_gpio_irq_handler)(struct irq_desc *);\n\tint (*jh7110_gpio_init_hw)(struct gpio_chip *);\n};\n\nstruct jh7110_pll_data {\n\tstruct clk_hw hw;\n\tunsigned int idx;\n};\n\nstruct jh7110_pll_preset;\n\nstruct jh7110_pll_info {\n\tchar *name;\n\tconst struct jh7110_pll_preset *presets;\n\tunsigned int npresets;\n\tstruct {\n\t\tunsigned int pd;\n\t\tunsigned int fbdiv;\n\t\tunsigned int frac;\n\t\tunsigned int prediv;\n\t} offsets;\n\tstruct {\n\t\tu32 dacpd;\n\t\tu32 dsmpd;\n\t\tu32 fbdiv;\n\t} masks;\n\tstruct {\n\t\tchar dacpd;\n\t\tchar dsmpd;\n\t\tchar fbdiv;\n\t} shifts;\n};\n\nstruct jh7110_pll_preset {\n\tlong unsigned int freq;\n\tu32 frac;\n\tunsigned int fbdiv: 12;\n\tunsigned int prediv: 6;\n\tunsigned int postdiv1: 2;\n\tunsigned int mode: 1;\n};\n\nstruct jh7110_pll_priv {\n\tstruct device *dev;\n\tstruct regmap *regmap;\n\tstruct jh7110_pll_data pll[3];\n};\n\nstruct jh7110_pll_regvals {\n\tu32 dacpd;\n\tu32 dsmpd;\n\tu32 fbdiv;\n\tu32 frac;\n\tu32 postdiv1;\n\tu32 prediv;\n};\n\nstruct jh7110_reset_info {\n\tunsigned int nr_resets;\n\tunsigned int assert_offset;\n\tunsigned int status_offset;\n};\n\nstruct jh7110_vin_group_sel {\n\tu16 offset;\n\tu8 shift;\n\tu8 group;\n};\n\nstruct jh71x0_clk {\n\tstruct clk_hw hw;\n\tunsigned int idx;\n\tunsigned int max_div;\n};\n\nstruct jh71x0_clk_data {\n\tconst char *name;\n\tlong unsigned int flags;\n\tu32 max;\n\tu8 parents[4];\n};\n\nstruct jh71x0_clk_priv {\n\tspinlock_t rmw_lock;\n\tstruct device *dev;\n\tvoid *base;\n\tstruct clk *original_clk;\n\tstruct notifier_block pll_clk_nb;\n\tstruct clk_hw *pll[3];\n\tunsigned int num_reg;\n\tstruct jh71x0_clk reg[0];\n};\n\nstruct jh71x0_reset {\n\tstruct reset_controller_dev rcdev;\n\tspinlock_t lock;\n\tvoid *assert;\n\tvoid *status;\n\tconst u32 *asserted;\n};\n\nstruct jh71x0_reset_adev {\n\tvoid *base;\n\tstruct auxiliary_device adev;\n};\n\nstruct jh71xx_domain_info {\n\tconst char * const name;\n\tunsigned int flags;\n\tu8 bit;\n};\n\nstruct jh71xx_pmu_match_data;\n\nstruct jh71xx_pmu {\n\tstruct device *dev;\n\tconst struct jh71xx_pmu_match_data *match_data;\n\tvoid *base;\n\tstruct generic_pm_domain **genpd;\n\tstruct genpd_onecell_data genpd_data;\n\tint irq;\n\tspinlock_t lock;\n};\n\nstruct jh71xx_pmu_dev {\n\tconst struct jh71xx_domain_info *domain_info;\n\tstruct jh71xx_pmu *pmu;\n\tstruct generic_pm_domain genpd;\n};\n\nstruct jh71xx_pmu_match_data {\n\tconst struct jh71xx_domain_info *domain_info;\n\tint num_domains;\n\tunsigned int pmu_status;\n\tint (*pmu_parse_irq)(struct platform_device *, struct jh71xx_pmu *);\n\tint (*pmu_set_state)(struct jh71xx_pmu_dev *, u32, bool);\n};\n\nstruct journal_block_tag3_s {\n\t__be32 t_blocknr;\n\t__be32 t_flags;\n\t__be32 t_blocknr_high;\n\t__be32 t_checksum;\n};\n\ntypedef struct journal_block_tag3_s journal_block_tag3_t;\n\nstruct journal_block_tag_s {\n\t__be32 t_blocknr;\n\t__be16 t_checksum;\n\t__be16 t_flags;\n\t__be32 t_blocknr_high;\n};\n\ntypedef struct journal_block_tag_s journal_block_tag_t;\n\nstruct journal_head {\n\tstruct buffer_head *b_bh;\n\tspinlock_t b_state_lock;\n\tint b_jcount;\n\tunsigned int b_jlist;\n\tunsigned int b_modified;\n\tchar *b_frozen_data;\n\tchar *b_committed_data;\n\ttransaction_t *b_transaction;\n\ttransaction_t *b_next_transaction;\n\tstruct journal_head *b_tnext;\n\tstruct journal_head *b_tprev;\n\ttransaction_t *b_cp_transaction;\n\tstruct journal_head *b_cpnext;\n\tstruct journal_head *b_cpprev;\n\tstruct jbd2_buffer_trigger_type *b_triggers;\n\tstruct jbd2_buffer_trigger_type *b_frozen_triggers;\n};\n\nstruct transaction_run_stats_s {\n\tlong unsigned int rs_wait;\n\tlong unsigned int rs_request_delay;\n\tlong unsigned int rs_running;\n\tlong unsigned int rs_locked;\n\tlong unsigned int rs_flushing;\n\tlong unsigned int rs_logging;\n\t__u32 rs_handle_count;\n\t__u32 rs_blocks;\n\t__u32 rs_blocks_logged;\n};\n\nstruct transaction_stats_s {\n\tlong unsigned int ts_tid;\n\tlong unsigned int ts_requested;\n\tstruct transaction_run_stats_s run;\n};\n\nstruct journal_superblock_s;\n\ntypedef struct journal_superblock_s journal_superblock_t;\n\nstruct journal_s {\n\tlong unsigned int j_flags;\n\tint j_errno;\n\tstruct mutex j_abort_mutex;\n\tstruct buffer_head *j_sb_buffer;\n\tjournal_superblock_t *j_superblock;\n\trwlock_t j_state_lock;\n\tint j_barrier_count;\n\tstruct mutex j_barrier;\n\ttransaction_t *j_running_transaction;\n\ttransaction_t *j_committing_transaction;\n\ttransaction_t *j_checkpoint_transactions;\n\twait_queue_head_t j_wait_transaction_locked;\n\twait_queue_head_t j_wait_done_commit;\n\twait_queue_head_t j_wait_commit;\n\twait_queue_head_t j_wait_updates;\n\twait_queue_head_t j_wait_reserved;\n\twait_queue_head_t j_fc_wait;\n\tstruct mutex j_checkpoint_mutex;\n\tstruct buffer_head *j_chkpt_bhs[64];\n\tstruct shrinker *j_shrinker;\n\tstruct percpu_counter j_checkpoint_jh_count;\n\ttransaction_t *j_shrink_transaction;\n\tlong unsigned int j_head;\n\tlong unsigned int j_tail;\n\tlong unsigned int j_free;\n\tlong unsigned int j_first;\n\tlong unsigned int j_last;\n\tlong unsigned int j_fc_first;\n\tlong unsigned int j_fc_off;\n\tlong unsigned int j_fc_last;\n\tstruct block_device *j_dev;\n\tint j_blocksize;\n\tlong long unsigned int j_blk_offset;\n\tchar j_devname[56];\n\tstruct block_device *j_fs_dev;\n\terrseq_t j_fs_dev_wb_err;\n\tunsigned int j_total_len;\n\tatomic_t j_reserved_credits;\n\tspinlock_t j_list_lock;\n\tstruct inode *j_inode;\n\ttid_t j_tail_sequence;\n\ttid_t j_transaction_sequence;\n\ttid_t j_commit_sequence;\n\ttid_t j_commit_request;\n\t__u8 j_uuid[16];\n\tstruct task_struct *j_task;\n\tint j_max_transaction_buffers;\n\tint j_revoke_records_per_block;\n\tint j_transaction_overhead_buffers;\n\tlong unsigned int j_commit_interval;\n\tstruct timer_list j_commit_timer;\n\tspinlock_t j_revoke_lock;\n\tstruct jbd2_revoke_table_s *j_revoke;\n\tstruct jbd2_revoke_table_s *j_revoke_table[2];\n\tstruct buffer_head **j_wbuf;\n\tstruct buffer_head **j_fc_wbuf;\n\tint j_wbufsize;\n\tint j_fc_wbufsize;\n\tpid_t j_last_sync_writer;\n\tu64 j_average_commit_time;\n\tu32 j_min_batch_time;\n\tu32 j_max_batch_time;\n\tvoid (*j_commit_callback)(journal_t *, transaction_t *);\n\tint (*j_submit_inode_data_buffers)(struct jbd2_inode *);\n\tint (*j_finish_inode_data_buffers)(struct jbd2_inode *);\n\tspinlock_t j_history_lock;\n\tstruct proc_dir_entry *j_proc_entry;\n\tstruct transaction_stats_s j_stats;\n\tunsigned int j_failed_commit;\n\tvoid *j_private;\n\t__u32 j_csum_seed;\n\tvoid (*j_fc_cleanup_callback)(struct journal_s *, int, tid_t);\n\tint (*j_fc_replay_callback)(struct journal_s *, struct buffer_head *, enum passtype, int, tid_t);\n\tint (*j_bmap)(struct journal_s *, sector_t *);\n};\n\nstruct journal_superblock_s {\n\tjournal_header_t s_header;\n\t__be32 s_blocksize;\n\t__be32 s_maxlen;\n\t__be32 s_first;\n\t__be32 s_sequence;\n\t__be32 s_start;\n\t__be32 s_errno;\n\t__be32 s_feature_compat;\n\t__be32 s_feature_incompat;\n\t__be32 s_feature_ro_compat;\n\t__u8 s_uuid[16];\n\t__be32 s_nr_users;\n\t__be32 s_dynsuper;\n\t__be32 s_max_transaction;\n\t__be32 s_max_trans_data;\n\t__u8 s_checksum_type;\n\t__u8 s_padding2[3];\n\t__be32 s_num_fc_blks;\n\t__be32 s_head;\n\t__u32 s_padding[40];\n\t__be32 s_checksum;\n\t__u8 s_users[768];\n};\n\nstruct jump_entry {\n\ts32 code;\n\ts32 target;\n\tlong int key;\n};\n\nstruct k_itimer;\n\nstruct k_clock {\n\tint (*clock_getres)(const clockid_t, struct timespec64 *);\n\tint (*clock_set)(const clockid_t, const struct timespec64 *);\n\tint (*clock_get_timespec)(const clockid_t, struct timespec64 *);\n\tktime_t (*clock_get_ktime)(const clockid_t);\n\tint (*clock_adj)(const clockid_t, struct __kernel_timex *);\n\tint (*timer_create)(struct k_itimer *);\n\tint (*nsleep)(const clockid_t, int, const struct timespec64 *);\n\tint (*timer_set)(struct k_itimer *, int, struct itimerspec64 *, struct itimerspec64 *);\n\tint (*timer_del)(struct k_itimer *);\n\tvoid (*timer_get)(struct k_itimer *, struct itimerspec64 *);\n\tvoid (*timer_rearm)(struct k_itimer *);\n\ts64 (*timer_forward)(struct k_itimer *, ktime_t);\n\tktime_t (*timer_remaining)(struct k_itimer *, ktime_t);\n\tint (*timer_try_to_cancel)(struct k_itimer *);\n\tvoid (*timer_arm)(struct k_itimer *, ktime_t, bool, bool);\n\tvoid (*timer_wait_running)(struct k_itimer *);\n};\n\nstruct kernel_siginfo {\n\tstruct {\n\t\tint si_signo;\n\t\tint si_errno;\n\t\tint si_code;\n\t\tunion __sifields _sifields;\n\t};\n};\n\nstruct sigqueue {\n\tstruct list_head list;\n\tint flags;\n\tkernel_siginfo_t info;\n\tstruct ucounts *ucounts;\n};\n\nstruct signal_struct;\n\nstruct k_itimer {\n\tstruct hlist_node list;\n\tstruct hlist_node ignored_list;\n\tstruct hlist_node t_hash;\n\tspinlock_t it_lock;\n\tconst struct k_clock *kclock;\n\tclockid_t it_clock;\n\ttimer_t it_id;\n\tint it_status;\n\tbool it_sig_periodic;\n\ts64 it_overrun;\n\ts64 it_overrun_last;\n\tunsigned int it_signal_seq;\n\tunsigned int it_sigqueue_seq;\n\tint it_sigev_notify;\n\tenum pid_type it_pid_type;\n\tktime_t it_interval;\n\tstruct signal_struct *it_signal;\n\tunion {\n\t\tstruct pid *it_pid;\n\t\tstruct task_struct *it_process;\n\t};\n\tstruct sigqueue sigq;\n\trcuref_t rcuref;\n\tunion {\n\t\tstruct {\n\t\t\tstruct hrtimer timer;\n\t\t} real;\n\t\tstruct cpu_timer cpu;\n\t\tstruct {\n\t\t\tstruct alarm alarmtimer;\n\t\t} alarm;\n\t} it;\n\tstruct callback_head rcu;\n};\n\ntypedef void __signalfn_t(int);\n\ntypedef __signalfn_t *__sighandler_t;\n\nstruct sigaction {\n\t__sighandler_t sa_handler;\n\tlong unsigned int sa_flags;\n\tsigset_t sa_mask;\n};\n\nstruct k_sigaction {\n\tstruct sigaction sa;\n};\n\nstruct kallsym_iter {\n\tloff_t pos;\n\tloff_t pos_mod_end;\n\tloff_t pos_ftrace_mod_end;\n\tloff_t pos_bpf_end;\n\tlong unsigned int value;\n\tunsigned int nameoff;\n\tchar type;\n\tchar name[512];\n\tchar module_name[56];\n\tint exported;\n\tint show_value;\n};\n\nstruct karatsuba_ctx {\n\tstruct karatsuba_ctx *next;\n\tmpi_ptr_t tspace;\n\tmpi_size_t tspace_size;\n\tmpi_ptr_t tp;\n\tmpi_size_t tp_size;\n};\n\nstruct kbd_repeat {\n\tint delay;\n\tint period;\n};\n\nstruct kbd_struct {\n\tunsigned char lockstate;\n\tunsigned char slockstate;\n\tunsigned char ledmode: 1;\n\tunsigned char ledflagstate: 4;\n\tchar: 3;\n\tunsigned char default_ledflagstate: 4;\n\tunsigned char kbdmode: 3;\n\tint: 1;\n\tunsigned char modeflags: 5;\n};\n\nstruct kbdiacr {\n\tunsigned char diacr;\n\tunsigned char base;\n\tunsigned char result;\n};\n\nstruct kbdiacrs {\n\tunsigned int kb_cnt;\n\tstruct kbdiacr kbdiacr[256];\n};\n\nstruct kbdiacruc {\n\tunsigned int diacr;\n\tunsigned int base;\n\tunsigned int result;\n};\n\nstruct kbdiacrsuc {\n\tunsigned int kb_cnt;\n\tstruct kbdiacruc kbdiacruc[256];\n};\n\nstruct kbentry {\n\tunsigned char kb_table;\n\tunsigned char kb_index;\n\tshort unsigned int kb_value;\n};\n\nstruct kbkeycode {\n\tunsigned int scancode;\n\tunsigned int keycode;\n};\n\nstruct kbsentry {\n\tunsigned char kb_func;\n\tunsigned char kb_string[512];\n};\n\nstruct kcmp_epoll_slot {\n\t__u32 efd;\n\t__u32 tfd;\n\t__u32 toff;\n};\n\nstruct kcsan_scoped_access {};\n\nstruct kern_ipc_perm {\n\tspinlock_t lock;\n\tbool deleted;\n\tint id;\n\tkey_t key;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkuid_t cuid;\n\tkgid_t cgid;\n\tumode_t mode;\n\tlong unsigned int seq;\n\tvoid *security;\n\tstruct rhash_head khtnode;\n\tstruct callback_head rcu;\n\trefcount_t refcount;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kernel_clone_args {\n\tu64 flags;\n\tint *pidfd;\n\tint *child_tid;\n\tint *parent_tid;\n\tconst char *name;\n\tint exit_signal;\n\tu32 kthread: 1;\n\tu32 io_thread: 1;\n\tu32 user_worker: 1;\n\tu32 no_files: 1;\n\tlong unsigned int stack;\n\tlong unsigned int stack_size;\n\tlong unsigned int tls;\n\tpid_t *set_tid;\n\tsize_t set_tid_size;\n\tint cgroup;\n\tint idle;\n\tint (*fn)(void *);\n\tvoid *fn_arg;\n\tstruct cgroup *cgrp;\n\tstruct css_set *cset;\n\tunsigned int kill_seq;\n};\n\nstruct kernel_cpustat {\n\tu64 cpustat[10];\n};\n\nstruct kernel_ethtool_ringparam {\n\tu32 rx_buf_len;\n\tu8 tcp_data_split;\n\tu8 tx_push;\n\tu8 rx_push;\n\tu32 cqe_size;\n\tu32 tx_push_buf_len;\n\tu32 tx_push_buf_max_len;\n\tu32 hds_thresh;\n\tu32 hds_thresh_max;\n};\n\nstruct kernel_ethtool_ts_info {\n\tu32 cmd;\n\tu32 so_timestamping;\n\tint phc_index;\n\tenum hwtstamp_provider_qualifier phc_qualifier;\n\tenum hwtstamp_tx_types tx_types;\n\tenum hwtstamp_rx_filters rx_filters;\n};\n\nstruct kernel_hwtstamp_config {\n\tint flags;\n\tint tx_type;\n\tint rx_filter;\n\tstruct ifreq *ifr;\n\tbool copied_to_user;\n\tenum hwtstamp_source source;\n\tenum hwtstamp_provider_qualifier qualifier;\n};\n\nstruct kernel_mapping {\n\tlong unsigned int page_offset;\n\tlong unsigned int virt_addr;\n\tlong unsigned int virt_offset;\n\tuintptr_t phys_addr;\n\tuintptr_t size;\n\tlong unsigned int va_pa_offset;\n\tlong unsigned int va_kernel_pa_offset;\n};\n\nstruct kernel_param_ops;\n\nstruct kparam_string;\n\nstruct kparam_array;\n\nstruct kernel_param {\n\tconst char *name;\n\tstruct module *mod;\n\tconst struct kernel_param_ops *ops;\n\tconst u16 perm;\n\ts8 level;\n\tu8 flags;\n\tunion {\n\t\tvoid *arg;\n\t\tconst struct kparam_string *str;\n\t\tconst struct kparam_array *arr;\n\t};\n};\n\nstruct kernel_param_ops {\n\tunsigned int flags;\n\tint (*set)(const char *, const struct kernel_param *);\n\tint (*get)(char *, const struct kernel_param *);\n\tvoid (*free)(void *);\n};\n\nstruct kernel_pkey_params {\n\tstruct key *key;\n\tconst char *encoding;\n\tconst char *hash_algo;\n\tchar *info;\n\t__u32 in_len;\n\tunion {\n\t\t__u32 out_len;\n\t\t__u32 in2_len;\n\t};\n\tenum kernel_pkey_operation op: 8;\n};\n\nstruct kernel_pkey_query {\n\t__u32 supported_ops;\n\t__u32 key_size;\n\t__u16 max_data_size;\n\t__u16 max_sig_size;\n\t__u16 max_enc_size;\n\t__u16 max_dec_size;\n};\n\nstruct kernel_stat {\n\tlong unsigned int irqs_sum;\n\tunsigned int softirqs[10];\n};\n\nstruct kernel_symbol {\n\tlong unsigned int value;\n\tconst char *name;\n\tconst char *namespace;\n};\n\nstruct kernfs_open_node;\n\nstruct kernfs_elem_attr {\n\tconst struct kernfs_ops *ops;\n\tstruct kernfs_open_node *open;\n\tloff_t size;\n\tstruct kernfs_node *notify_next;\n};\n\nstruct kernfs_elem_dir {\n\tlong unsigned int subdirs;\n\tstruct rb_root children;\n\tstruct kernfs_root *root;\n\tlong unsigned int rev;\n};\n\nstruct kernfs_elem_symlink {\n\tstruct kernfs_node *target_kn;\n};\n\nstruct kernfs_global_locks {\n\tstruct mutex open_file_mutex[1024];\n};\n\nstruct simple_xattrs {\n\tstruct rb_root rb_root;\n\trwlock_t lock;\n};\n\nstruct kernfs_iattrs {\n\tkuid_t ia_uid;\n\tkgid_t ia_gid;\n\tstruct timespec64 ia_atime;\n\tstruct timespec64 ia_mtime;\n\tstruct timespec64 ia_ctime;\n\tstruct simple_xattrs xattrs;\n\tatomic_t nr_user_xattrs;\n\tatomic_t user_xattr_size;\n};\n\nstruct kernfs_node {\n\tatomic_t count;\n\tatomic_t active;\n\tstruct kernfs_node *parent;\n\tconst char *name;\n\tstruct rb_node rb;\n\tconst void *ns;\n\tunsigned int hash;\n\tshort unsigned int flags;\n\tumode_t mode;\n\tunion {\n\t\tstruct kernfs_elem_dir dir;\n\t\tstruct kernfs_elem_symlink symlink;\n\t\tstruct kernfs_elem_attr attr;\n\t};\n\tu64 id;\n\tvoid *priv;\n\tstruct kernfs_iattrs *iattr;\n\tstruct callback_head rcu;\n};\n\nstruct vm_operations_struct;\n\nstruct kernfs_open_file {\n\tstruct kernfs_node *kn;\n\tstruct file *file;\n\tstruct seq_file *seq_file;\n\tvoid *priv;\n\tstruct mutex mutex;\n\tstruct mutex prealloc_mutex;\n\tint event;\n\tstruct list_head list;\n\tchar *prealloc_buf;\n\tsize_t atomic_write_len;\n\tbool mmapped: 1;\n\tbool released: 1;\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct kernfs_open_node {\n\tstruct callback_head callback_head;\n\tatomic_t event;\n\twait_queue_head_t poll;\n\tstruct list_head files;\n\tunsigned int nr_mmapped;\n\tunsigned int nr_to_release;\n};\n\nstruct kernfs_ops {\n\tint (*open)(struct kernfs_open_file *);\n\tvoid (*release)(struct kernfs_open_file *);\n\tint (*seq_show)(struct seq_file *, void *);\n\tvoid * (*seq_start)(struct seq_file *, loff_t *);\n\tvoid * (*seq_next)(struct seq_file *, void *, loff_t *);\n\tvoid (*seq_stop)(struct seq_file *, void *);\n\tssize_t (*read)(struct kernfs_open_file *, char *, size_t, loff_t);\n\tsize_t atomic_write_len;\n\tbool prealloc;\n\tssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t);\n\t__poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *);\n\tint (*mmap)(struct kernfs_open_file *, struct vm_area_struct *);\n\tloff_t (*llseek)(struct kernfs_open_file *, loff_t, int);\n};\n\nstruct kernfs_syscall_ops;\n\nstruct kernfs_root {\n\tstruct kernfs_node *kn;\n\tunsigned int flags;\n\tstruct idr ino_idr;\n\tu32 last_id_lowbits;\n\tu32 id_highbits;\n\tstruct kernfs_syscall_ops *syscall_ops;\n\tstruct list_head supers;\n\twait_queue_head_t deactivate_waitq;\n\tstruct rw_semaphore kernfs_rwsem;\n\tstruct rw_semaphore kernfs_iattr_rwsem;\n\tstruct rw_semaphore kernfs_supers_rwsem;\n\tstruct callback_head rcu;\n};\n\nstruct kernfs_super_info {\n\tstruct super_block *sb;\n\tstruct kernfs_root *root;\n\tconst void *ns;\n\tstruct list_head node;\n};\n\nstruct kernfs_syscall_ops {\n\tint (*show_options)(struct seq_file *, struct kernfs_root *);\n\tint (*mkdir)(struct kernfs_node *, const char *, umode_t);\n\tint (*rmdir)(struct kernfs_node *);\n\tint (*rename)(struct kernfs_node *, struct kernfs_node *, const char *);\n\tint (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *);\n};\n\nstruct key_type;\n\nstruct key_tag;\n\nstruct keyring_index_key {\n\tlong unsigned int hash;\n\tunion {\n\t\tstruct {\n\t\t\tu16 desc_len;\n\t\t\tchar desc[6];\n\t\t};\n\t\tlong unsigned int x;\n\t};\n\tstruct key_type *type;\n\tstruct key_tag *domain_tag;\n\tconst char *description;\n};\n\nunion key_payload {\n\tvoid *rcu_data0;\n\tvoid *data[4];\n};\n\nstruct key_user;\n\nstruct key_restriction;\n\nstruct key {\n\trefcount_t usage;\n\tkey_serial_t serial;\n\tunion {\n\t\tstruct list_head graveyard_link;\n\t\tstruct rb_node serial_node;\n\t};\n\tstruct rw_semaphore sem;\n\tstruct key_user *user;\n\tvoid *security;\n\tunion {\n\t\ttime64_t expiry;\n\t\ttime64_t revoked_at;\n\t};\n\ttime64_t last_used_at;\n\tkuid_t uid;\n\tkgid_t gid;\n\tkey_perm_t perm;\n\tshort unsigned int quotalen;\n\tshort unsigned int datalen;\n\tshort int state;\n\tlong unsigned int flags;\n\tunion {\n\t\tstruct keyring_index_key index_key;\n\t\tstruct {\n\t\t\tlong unsigned int hash;\n\t\t\tlong unsigned int len_desc;\n\t\t\tstruct key_type *type;\n\t\t\tstruct key_tag *domain_tag;\n\t\t\tchar *description;\n\t\t};\n\t};\n\tunion {\n\t\tunion key_payload payload;\n\t\tstruct {\n\t\t\tstruct list_head name_link;\n\t\t\tstruct assoc_array keys;\n\t\t};\n\t};\n\tstruct key_restriction *restrict_link;\n};\n\nstruct key_match_data {\n\tbool (*cmp)(const struct key *, const struct key_match_data *);\n\tconst void *raw_data;\n\tvoid *preparsed;\n\tunsigned int lookup_type;\n};\n\nstruct key_preparsed_payload {\n\tconst char *orig_description;\n\tchar *description;\n\tunion key_payload payload;\n\tconst void *data;\n\tsize_t datalen;\n\tsize_t quotalen;\n\ttime64_t expiry;\n};\n\ntypedef int (*key_restrict_link_func_t)(struct key *, const struct key_type *, const union key_payload *, struct key *);\n\nstruct key_restriction {\n\tkey_restrict_link_func_t check;\n\tstruct key *key;\n\tstruct key_type *keytype;\n};\n\nstruct key_security_struct {\n\tu32 sid;\n};\n\nstruct key_tag {\n\tstruct callback_head rcu;\n\trefcount_t usage;\n\tbool removed;\n};\n\ntypedef int (*request_key_actor_t)(struct key *, void *);\n\nstruct key_type {\n\tconst char *name;\n\tsize_t def_datalen;\n\tunsigned int flags;\n\tint (*vet_description)(const char *);\n\tint (*preparse)(struct key_preparsed_payload *);\n\tvoid (*free_preparse)(struct key_preparsed_payload *);\n\tint (*instantiate)(struct key *, struct key_preparsed_payload *);\n\tint (*update)(struct key *, struct key_preparsed_payload *);\n\tint (*match_preparse)(struct key_match_data *);\n\tvoid (*match_free)(struct key_match_data *);\n\tvoid (*revoke)(struct key *);\n\tvoid (*destroy)(struct key *);\n\tvoid (*describe)(const struct key *, struct seq_file *);\n\tlong int (*read)(const struct key *, char *, size_t);\n\trequest_key_actor_t request_key;\n\tstruct key_restriction * (*lookup_restriction)(const char *);\n\tint (*asym_query)(const struct kernel_pkey_params *, struct kernel_pkey_query *);\n\tint (*asym_eds_op)(struct kernel_pkey_params *, const void *, void *);\n\tint (*asym_verify_signature)(struct kernel_pkey_params *, const void *, const void *);\n\tstruct list_head link;\n\tstruct lock_class_key lock_class;\n};\n\nstruct key_user {\n\tstruct rb_node node;\n\tstruct mutex cons_lock;\n\tspinlock_t lock;\n\trefcount_t usage;\n\tatomic_t nkeys;\n\tatomic_t nikeys;\n\tkuid_t uid;\n\tint qnkeys;\n\tint qnbytes;\n};\n\nstruct key_vector {\n\tt_key key;\n\tunsigned char pos;\n\tunsigned char bits;\n\tunsigned char slen;\n\tunion {\n\t\tstruct hlist_head leaf;\n\t\tstruct {\n\t\t\tstruct {} __empty_tnode;\n\t\t\tstruct key_vector *tnode[0];\n\t\t};\n\t};\n};\n\nstruct keyboard_notifier_param {\n\tstruct vc_data *vc;\n\tint down;\n\tint shift;\n\tint ledstate;\n\tunsigned int value;\n};\n\nstruct keyctl_dh_params {\n\tunion {\n\t\t__s32 private;\n\t\t__s32 priv;\n\t};\n\t__s32 prime;\n\t__s32 base;\n};\n\nstruct keyctl_kdf_params {\n\tchar *hashname;\n\tchar *otherinfo;\n\t__u32 otherinfolen;\n\t__u32 __spare[8];\n};\n\nstruct keyctl_pkey_params {\n\t__s32 key_id;\n\t__u32 in_len;\n\tunion {\n\t\t__u32 out_len;\n\t\t__u32 in2_len;\n\t};\n\t__u32 __spare[7];\n};\n\nstruct keyctl_pkey_query {\n\t__u32 supported_ops;\n\t__u32 key_size;\n\t__u16 max_data_size;\n\t__u16 max_sig_size;\n\t__u16 max_enc_size;\n\t__u16 max_dec_size;\n\t__u32 __spare[10];\n};\n\nstruct keyring_read_iterator_context {\n\tsize_t buflen;\n\tsize_t count;\n\tkey_serial_t *buffer;\n};\n\nstruct __key_reference_with_attributes;\n\ntypedef struct __key_reference_with_attributes *key_ref_t;\n\nstruct keyring_search_context {\n\tstruct keyring_index_key index_key;\n\tconst struct cred *cred;\n\tstruct key_match_data match_data;\n\tunsigned int flags;\n\tint (*iterator)(const void *, void *);\n\tint skipped_ret;\n\tbool possessed;\n\tkey_ref_t result;\n\ttime64_t now;\n};\n\nstruct rcu_gp_oldstate {\n\tlong unsigned int rgos_norm;\n\tlong unsigned int rgos_exp;\n};\n\nstruct kfree_rcu_cpu;\n\nstruct kfree_rcu_cpu_work {\n\tstruct rcu_work rcu_work;\n\tstruct callback_head *head_free;\n\tstruct rcu_gp_oldstate head_free_gp_snap;\n\tstruct list_head bulk_head_free[2];\n\tstruct kfree_rcu_cpu *krcp;\n};\n\nstruct kfree_rcu_cpu {\n\tstruct callback_head *head;\n\tlong unsigned int head_gp_snap;\n\tatomic_t head_count;\n\tstruct list_head bulk_head[2];\n\tatomic_t bulk_count[2];\n\tstruct kfree_rcu_cpu_work krw_arr[2];\n\traw_spinlock_t lock;\n\tstruct delayed_work monitor_work;\n\tbool initialized;\n\tstruct delayed_work page_cache_work;\n\tatomic_t backoff_page_cache_fill;\n\tatomic_t work_in_progress;\n\tstruct hrtimer hrtimer;\n\tstruct llist_head bkvcache;\n\tint nr_bkv_objs;\n};\n\nstruct kioctx_cpu;\n\nstruct kioctx {\n\tstruct percpu_ref users;\n\tatomic_t dead;\n\tstruct percpu_ref reqs;\n\tlong unsigned int user_id;\n\tstruct kioctx_cpu *cpu;\n\tunsigned int req_batch;\n\tunsigned int max_reqs;\n\tunsigned int nr_events;\n\tlong unsigned int mmap_base;\n\tlong unsigned int mmap_size;\n\tstruct folio **ring_folios;\n\tlong int nr_pages;\n\tstruct rcu_work free_rwork;\n\tstruct ctx_rq_wait *rq_wait;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct {\n\t\tatomic_t reqs_available;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tspinlock_t ctx_lock;\n\t\tstruct list_head active_reqs;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tstruct mutex ring_lock;\n\t\twait_queue_head_t wait;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct {\n\t\tunsigned int tail;\n\t\tunsigned int completed_events;\n\t\tspinlock_t completion_lock;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tstruct folio *internal_folios[8];\n\tstruct file *aio_ring_file;\n\tunsigned int id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct kioctx_cpu {\n\tunsigned int reqs_available;\n};\n\nstruct kioctx_table {\n\tstruct callback_head rcu;\n\tunsigned int nr;\n\tstruct kioctx *table[0];\n};\n\nstruct klist_waiter {\n\tstruct list_head list;\n\tstruct klist_node *node;\n\tstruct task_struct *process;\n\tint woken;\n};\n\nstruct km_event {\n\tunion {\n\t\tu32 hard;\n\t\tu32 proto;\n\t\tu32 byid;\n\t\tu32 aevent;\n\t\tu32 type;\n\t} data;\n\tu32 seq;\n\tu32 portid;\n\tu32 event;\n\tstruct net *net;\n};\n\nstruct kmalloc_info_struct {\n\tconst char *name[3];\n\tunsigned int size;\n};\n\nstruct kmalloced_param {\n\tstruct list_head list;\n\tchar val[0];\n};\n\nstruct kmap_ctrl {};\n\ntypedef struct kmem_cache *kmem_buckets[14];\n\nstruct reciprocal_value {\n\tu32 m;\n\tu8 sh1;\n\tu8 sh2;\n};\n\nstruct kmem_cache_order_objects {\n\tunsigned int x;\n};\n\nstruct kmem_cache_cpu;\n\nstruct kmem_cache_node;\n\nstruct kmem_cache {\n\tstruct kmem_cache_cpu *cpu_slab;\n\tslab_flags_t flags;\n\tlong unsigned int min_partial;\n\tunsigned int size;\n\tunsigned int object_size;\n\tstruct reciprocal_value reciprocal_size;\n\tunsigned int offset;\n\tunsigned int cpu_partial;\n\tunsigned int cpu_partial_slabs;\n\tstruct kmem_cache_order_objects oo;\n\tstruct kmem_cache_order_objects min;\n\tgfp_t allocflags;\n\tint refcount;\n\tvoid (*ctor)(void *);\n\tunsigned int inuse;\n\tunsigned int align;\n\tunsigned int red_left_pad;\n\tconst char *name;\n\tstruct list_head list;\n\tstruct kobject kobj;\n\tstruct kmem_cache_node *node[1];\n};\n\nstruct kmem_cache_args {\n\tunsigned int align;\n\tunsigned int useroffset;\n\tunsigned int usersize;\n\tunsigned int freeptr_offset;\n\tbool use_freeptr_offset;\n\tvoid (*ctor)(void *);\n};\n\nstruct kmem_cache_cpu {\n\tunion {\n\t\tstruct {\n\t\t\tvoid **freelist;\n\t\t\tlong unsigned int tid;\n\t\t};\n\t\tfreelist_aba_t freelist_tid;\n\t};\n\tstruct slab *slab;\n\tstruct slab *partial;\n\tlocal_lock_t lock;\n};\n\nunion kmem_cache_iter_priv {\n\tstruct bpf_iter_kmem_cache it;\n\tstruct bpf_iter_kmem_cache_kern kit;\n};\n\nstruct kmem_cache_node {\n\tspinlock_t list_lock;\n\tlong unsigned int nr_partial;\n\tstruct list_head partial;\n\tatomic_long_t nr_slabs;\n\tatomic_long_t total_objects;\n\tstruct list_head full;\n};\n\nstruct kmem_obj_info {\n\tvoid *kp_ptr;\n\tstruct slab *kp_slab;\n\tvoid *kp_objp;\n\tlong unsigned int kp_data_offset;\n\tstruct kmem_cache *kp_slab_cache;\n\tvoid *kp_ret;\n\tvoid *kp_stack[16];\n\tvoid *kp_free_stack[16];\n};\n\nstruct kmsg_dump_detail {\n\tenum kmsg_dump_reason reason;\n\tconst char *description;\n};\n\nstruct kmsg_dump_iter {\n\tu64 cur_seq;\n\tu64 next_seq;\n};\n\nstruct kmsg_dumper {\n\tstruct list_head list;\n\tvoid (*dump)(struct kmsg_dumper *, struct kmsg_dump_detail *);\n\tenum kmsg_dump_reason max_reason;\n\tbool registered;\n};\n\nstruct kobj_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kobject *, struct kobj_attribute *, char *);\n\tssize_t (*store)(struct kobject *, struct kobj_attribute *, const char *, size_t);\n};\n\nstruct probe;\n\nstruct kobj_map {\n\tstruct probe *probes[255];\n\tstruct mutex *lock;\n};\n\nstruct kobj_ns_type_operations {\n\tenum kobj_ns_type type;\n\tbool (*current_may_mount)(void);\n\tvoid * (*grab_current_ns)(void);\n\tconst void * (*netlink_ns)(struct sock *);\n\tconst void * (*initial_ns)(void);\n\tvoid (*drop_ns)(void *);\n};\n\nstruct kobj_uevent_env {\n\tchar *argv[3];\n\tchar *envp[64];\n\tint envp_idx;\n\tchar buf[2048];\n\tint buflen;\n};\n\nstruct kparam_array {\n\tunsigned int max;\n\tunsigned int elemsize;\n\tunsigned int *num;\n\tconst struct kernel_param_ops *ops;\n\tvoid *elem;\n};\n\nstruct kparam_string {\n\tunsigned int maxlen;\n\tchar *string;\n};\n\nstruct kpp_request;\n\nstruct kpp_alg {\n\tint (*set_secret)(struct crypto_kpp *, const void *, unsigned int);\n\tint (*generate_public_key)(struct kpp_request *);\n\tint (*compute_shared_secret)(struct kpp_request *);\n\tunsigned int (*max_size)(struct crypto_kpp *);\n\tint (*init)(struct crypto_kpp *);\n\tvoid (*exit)(struct crypto_kpp *);\n\tstruct crypto_alg base;\n};\n\nstruct kpp_engine_alg {\n\tstruct kpp_alg base;\n\tstruct crypto_engine_op op;\n};\n\nstruct kpp_instance {\n\tvoid (*free)(struct kpp_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[48];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct kpp_alg alg;\n\t};\n};\n\nstruct kpp_request {\n\tstruct crypto_async_request base;\n\tstruct scatterlist *src;\n\tstruct scatterlist *dst;\n\tunsigned int src_len;\n\tunsigned int dst_len;\n\tvoid *__ctx[0];\n};\n\nstruct kprobe;\n\ntypedef int (*kprobe_pre_handler_t)(struct kprobe *, struct pt_regs *);\n\ntypedef void (*kprobe_post_handler_t)(struct kprobe *, struct pt_regs *, long unsigned int);\n\nstruct kprobe {\n\tstruct hlist_node hlist;\n\tstruct list_head list;\n\tlong unsigned int nmissed;\n\tkprobe_opcode_t *addr;\n\tconst char *symbol_name;\n\tunsigned int offset;\n\tkprobe_pre_handler_t pre_handler;\n\tkprobe_post_handler_t post_handler;\n\tkprobe_opcode_t opcode;\n\tstruct arch_specific_insn ainsn;\n\tu32 flags;\n};\n\nstruct krb5_ctx {\n\tint initiate;\n\tu32 enctype;\n\tu32 flags;\n\tconst struct gss_krb5_enctype *gk5e;\n\tstruct crypto_sync_skcipher *enc;\n\tstruct crypto_sync_skcipher *seq;\n\tstruct crypto_sync_skcipher *acceptor_enc;\n\tstruct crypto_sync_skcipher *initiator_enc;\n\tstruct crypto_sync_skcipher *acceptor_enc_aux;\n\tstruct crypto_sync_skcipher *initiator_enc_aux;\n\tstruct crypto_ahash *acceptor_sign;\n\tstruct crypto_ahash *initiator_sign;\n\tstruct crypto_ahash *initiator_integ;\n\tstruct crypto_ahash *acceptor_integ;\n\tu8 Ksess[32];\n\tu8 cksum[32];\n\tatomic_t seq_send;\n\tatomic64_t seq_send64;\n\ttime64_t endtime;\n\tstruct xdr_netobj mech_used;\n};\n\nstruct kset_uevent_ops;\n\nstruct kset {\n\tstruct list_head list;\n\tspinlock_t list_lock;\n\tstruct kobject kobj;\n\tconst struct kset_uevent_ops *uevent_ops;\n};\n\nstruct kset_uevent_ops {\n\tint (* const filter)(const struct kobject *);\n\tconst char * (* const name)(const struct kobject *);\n\tint (* const uevent)(const struct kobject *, struct kobj_uevent_env *);\n};\n\nstruct ksignal {\n\tstruct k_sigaction ka;\n\tkernel_siginfo_t info;\n\tint sig;\n};\n\nstruct kstat {\n\tu32 result_mask;\n\tumode_t mode;\n\tunsigned int nlink;\n\tuint32_t blksize;\n\tu64 attributes;\n\tu64 attributes_mask;\n\tu64 ino;\n\tdev_t dev;\n\tdev_t rdev;\n\tkuid_t uid;\n\tkgid_t gid;\n\tloff_t size;\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tstruct timespec64 ctime;\n\tstruct timespec64 btime;\n\tu64 blocks;\n\tu64 mnt_id;\n\tu64 change_cookie;\n\tu64 subvol;\n\tu32 dio_mem_align;\n\tu32 dio_offset_align;\n\tu32 dio_read_offset_align;\n\tu32 atomic_write_unit_min;\n\tu32 atomic_write_unit_max;\n\tu32 atomic_write_segments_max;\n};\n\nstruct kstatfs {\n\tlong int f_type;\n\tlong int f_bsize;\n\tu64 f_blocks;\n\tu64 f_bfree;\n\tu64 f_bavail;\n\tu64 f_files;\n\tu64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\tlong int f_namelen;\n\tlong int f_frsize;\n\tlong int f_flags;\n\tlong int f_spare[4];\n};\n\nstruct statmount {\n\t__u32 size;\n\t__u32 mnt_opts;\n\t__u64 mask;\n\t__u32 sb_dev_major;\n\t__u32 sb_dev_minor;\n\t__u64 sb_magic;\n\t__u32 sb_flags;\n\t__u32 fs_type;\n\t__u64 mnt_id;\n\t__u64 mnt_parent_id;\n\t__u32 mnt_id_old;\n\t__u32 mnt_parent_id_old;\n\t__u64 mnt_attr;\n\t__u64 mnt_propagation;\n\t__u64 mnt_peer_group;\n\t__u64 mnt_master;\n\t__u64 propagate_from;\n\t__u32 mnt_root;\n\t__u32 mnt_point;\n\t__u64 mnt_ns_id;\n\t__u32 fs_subtype;\n\t__u32 sb_source;\n\t__u32 opt_num;\n\t__u32 opt_array;\n\t__u32 opt_sec_num;\n\t__u32 opt_sec_array;\n\t__u64 __spare2[46];\n\tchar str[0];\n};\n\nstruct seq_file {\n\tchar *buf;\n\tsize_t size;\n\tsize_t from;\n\tsize_t count;\n\tsize_t pad_until;\n\tloff_t index;\n\tloff_t read_pos;\n\tstruct mutex lock;\n\tconst struct seq_operations *op;\n\tint poll_event;\n\tconst struct file *file;\n\tvoid *private;\n};\n\nstruct kstatmount {\n\tstruct statmount *buf;\n\tsize_t bufsize;\n\tstruct vfsmount *mnt;\n\tu64 mask;\n\tstruct path root;\n\tstruct statmount sm;\n\tstruct seq_file seq;\n};\n\nstruct ksz9477_errata_write {\n\tu8 dev_addr;\n\tu8 reg_addr;\n\tu16 val;\n};\n\nstruct kszphy_hw_stat {\n\tconst char *string;\n\tu8 reg;\n\tu8 bits;\n};\n\nstruct mii_timestamper {\n\tbool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int);\n\tvoid (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int);\n\tint (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n\tvoid (*link_state)(struct mii_timestamper *, struct phy_device *);\n\tint (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *);\n\tstruct device *device;\n};\n\nstruct kszphy_ptp_priv {\n\tstruct mii_timestamper mii_ts;\n\tstruct phy_device *phydev;\n\tstruct sk_buff_head tx_queue;\n\tstruct sk_buff_head rx_queue;\n\tstruct list_head rx_ts_list;\n\tspinlock_t rx_ts_lock;\n\tint hwts_tx_type;\n\tenum hwtstamp_rx_filters rx_filter;\n\tint layer;\n\tint version;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct mutex ptp_lock;\n\tstruct ptp_pin_desc *pin_config;\n\ts64 seconds;\n\tspinlock_t seconds_lock;\n};\n\nstruct kszphy_type;\n\nstruct kszphy_priv {\n\tstruct kszphy_ptp_priv ptp_priv;\n\tconst struct kszphy_type *type;\n\tstruct clk *clk;\n\tint led_mode;\n\tu16 vct_ctrl1000;\n\tbool rmii_ref_clk_sel;\n\tbool rmii_ref_clk_sel_val;\n\tbool clk_enable;\n\tu64 stats[2];\n};\n\nstruct kszphy_type {\n\tu32 led_mode_reg;\n\tu16 interrupt_level_mask;\n\tu16 cable_diag_reg;\n\tlong unsigned int pair_mask;\n\tu16 disable_dll_tx_bit;\n\tu16 disable_dll_rx_bit;\n\tu16 disable_dll_mask;\n\tbool has_broadcast_disable;\n\tbool has_nand_tree_disable;\n\tbool has_rmii_ref_clk_sel;\n};\n\nstruct ktermios {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n\tspeed_t c_ispeed;\n\tspeed_t c_ospeed;\n};\n\nstruct kthread {\n\tlong unsigned int flags;\n\tunsigned int cpu;\n\tunsigned int node;\n\tint started;\n\tint result;\n\tint (*threadfn)(void *);\n\tvoid *data;\n\tstruct completion parked;\n\tstruct completion exited;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tchar *full_name;\n\tstruct task_struct *task;\n\tstruct list_head hotplug_node;\n\tstruct cpumask *preferred_affinity;\n};\n\nstruct kthread_create_info {\n\tchar *full_name;\n\tint (*threadfn)(void *);\n\tvoid *data;\n\tint node;\n\tstruct task_struct *result;\n\tstruct completion *done;\n\tstruct list_head list;\n};\n\nstruct kthread_delayed_work {\n\tstruct kthread_work work;\n\tstruct timer_list timer;\n};\n\nstruct kthread_flush_work {\n\tstruct kthread_work work;\n\tstruct completion done;\n};\n\nstruct kthread_worker {\n\tunsigned int flags;\n\traw_spinlock_t lock;\n\tstruct list_head work_list;\n\tstruct list_head delayed_work_list;\n\tstruct task_struct *task;\n\tstruct kthread_work *current_work;\n};\n\nstruct kvfree_rcu_bulk_data {\n\tstruct list_head list;\n\tstruct rcu_gp_oldstate gp_snap;\n\tlong unsigned int nr_records;\n\tvoid *records[0];\n};\n\nstruct kvm_memslots {\n\tu64 generation;\n\tatomic_long_t last_used_slot;\n\tstruct rb_root_cached hva_tree;\n\tstruct rb_root gfn_tree;\n\tstruct hlist_head id_hash[128];\n\tint node_idx;\n};\n\nstruct kvm_vm_stat_generic {\n\tu64 remote_tlb_flush;\n\tu64 remote_tlb_flush_requests;\n};\n\nstruct kvm_vm_stat {\n\tstruct kvm_vm_stat_generic generic;\n};\n\nstruct kvm_vmid {\n\tlong unsigned int vmid_version;\n\tlong unsigned int vmid;\n};\n\nstruct kvm_guest_timer {\n\tu32 nsec_mult;\n\tu32 nsec_shift;\n\tu64 time_delta;\n};\n\nstruct kvm_aia {\n\tbool in_kernel;\n\tbool initialized;\n\tu32 mode;\n\tu32 nr_ids;\n\tu32 nr_sources;\n\tu32 nr_group_bits;\n\tu32 nr_group_shift;\n\tu32 nr_hart_bits;\n\tu32 nr_guest_bits;\n\tgpa_t aplic_addr;\n\tvoid *aplic_state;\n};\n\nstruct kvm_arch {\n\tstruct kvm_vmid vmid;\n\tpgd_t *pgd;\n\tphys_addr_t pgd_phys;\n\tstruct kvm_guest_timer timer;\n\tstruct kvm_aia aia;\n};\n\nstruct mmu_notifier_ops;\n\nstruct mmu_notifier {\n\tstruct hlist_node hlist;\n\tconst struct mmu_notifier_ops *ops;\n\tstruct mm_struct *mm;\n\tstruct callback_head rcu;\n\tunsigned int users;\n};\n\nstruct kvm_io_bus;\n\nstruct kvm_coalesced_mmio_ring;\n\nstruct kvm_irq_routing_table;\n\nstruct kvm_stat_data;\n\nstruct kvm {\n\tspinlock_t mmu_lock;\n\tstruct mutex slots_lock;\n\tstruct mutex slots_arch_lock;\n\tstruct mm_struct *mm;\n\tlong unsigned int nr_memslot_pages;\n\tstruct kvm_memslots __memslots[2];\n\tstruct kvm_memslots *memslots[1];\n\tstruct xarray vcpu_array;\n\tatomic_t nr_memslots_dirty_logging;\n\tspinlock_t mn_invalidate_lock;\n\tlong unsigned int mn_active_invalidate_count;\n\tstruct rcuwait mn_memslots_update_rcuwait;\n\tspinlock_t gpc_lock;\n\tstruct list_head gpc_list;\n\tatomic_t online_vcpus;\n\tint max_vcpus;\n\tint created_vcpus;\n\tint last_boosted_vcpu;\n\tstruct list_head vm_list;\n\tstruct mutex lock;\n\tstruct kvm_io_bus *buses[5];\n\tstruct {\n\t\tspinlock_t lock;\n\t\tstruct list_head items;\n\t\tstruct list_head resampler_list;\n\t\tstruct mutex resampler_lock;\n\t} irqfds;\n\tstruct list_head ioeventfds;\n\tstruct kvm_vm_stat stat;\n\tstruct kvm_arch arch;\n\trefcount_t users_count;\n\tstruct kvm_coalesced_mmio_ring *coalesced_mmio_ring;\n\tspinlock_t ring_lock;\n\tstruct list_head coalesced_zones;\n\tstruct mutex irq_lock;\n\tstruct kvm_irq_routing_table *irq_routing;\n\tstruct hlist_head irq_ack_notifier_list;\n\tstruct mmu_notifier mmu_notifier;\n\tlong unsigned int mmu_invalidate_seq;\n\tlong int mmu_invalidate_in_progress;\n\tgfn_t mmu_invalidate_range_start;\n\tgfn_t mmu_invalidate_range_end;\n\tstruct list_head devices;\n\tu64 manual_dirty_log_protect;\n\tstruct dentry *debugfs_dentry;\n\tstruct kvm_stat_data **debugfs_stat_data;\n\tstruct srcu_struct srcu;\n\tstruct srcu_struct irq_srcu;\n\tpid_t userspace_pid;\n\tbool override_halt_poll_ns;\n\tunsigned int max_halt_poll_ns;\n\tu32 dirty_ring_size;\n\tbool dirty_ring_with_bitmap;\n\tbool vm_bugged;\n\tbool vm_dead;\n\tchar stats_id[48];\n};\n\nstruct kvm_arch_memory_slot {};\n\nstruct kvm_coalesced_mmio {\n\t__u64 phys_addr;\n\t__u32 len;\n\tunion {\n\t\t__u32 pad;\n\t\t__u32 pio;\n\t};\n\t__u8 data[8];\n};\n\nstruct kvm_coalesced_mmio_ring {\n\t__u32 first;\n\t__u32 last;\n\tstruct kvm_coalesced_mmio coalesced_mmio[0];\n};\n\nstruct kvm_cpu_context {\n\tlong unsigned int zero;\n\tlong unsigned int ra;\n\tlong unsigned int sp;\n\tlong unsigned int gp;\n\tlong unsigned int tp;\n\tlong unsigned int t0;\n\tlong unsigned int t1;\n\tlong unsigned int t2;\n\tlong unsigned int s0;\n\tlong unsigned int s1;\n\tlong unsigned int a0;\n\tlong unsigned int a1;\n\tlong unsigned int a2;\n\tlong unsigned int a3;\n\tlong unsigned int a4;\n\tlong unsigned int a5;\n\tlong unsigned int a6;\n\tlong unsigned int a7;\n\tlong unsigned int s2;\n\tlong unsigned int s3;\n\tlong unsigned int s4;\n\tlong unsigned int s5;\n\tlong unsigned int s6;\n\tlong unsigned int s7;\n\tlong unsigned int s8;\n\tlong unsigned int s9;\n\tlong unsigned int s10;\n\tlong unsigned int s11;\n\tlong unsigned int t3;\n\tlong unsigned int t4;\n\tlong unsigned int t5;\n\tlong unsigned int t6;\n\tlong unsigned int sepc;\n\tlong unsigned int sstatus;\n\tlong unsigned int hstatus;\n\tlong: 64;\n\tunion __riscv_fp_state fp;\n\tstruct __riscv_v_ext_state vector;\n};\n\nstruct kvm_csr_decode {\n\tlong unsigned int insn;\n\tint return_handled;\n};\n\nstruct kvm_debug_exit_arch {};\n\nstruct kvm_dirty_gfn {\n\t__u32 flags;\n\t__u32 slot;\n\t__u64 offset;\n};\n\nstruct kvm_dirty_ring {\n\tu32 dirty_index;\n\tu32 reset_index;\n\tu32 size;\n\tu32 soft_limit;\n\tstruct kvm_dirty_gfn *dirty_gfns;\n\tint index;\n};\n\nstruct kvm_fw_event {\n\tu64 value;\n\tbool started;\n};\n\nstruct kvm_hyperv_exit {\n\t__u32 type;\n\t__u32 pad1;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 msr;\n\t\t\t__u32 pad2;\n\t\t\t__u64 control;\n\t\t\t__u64 evt_page;\n\t\t\t__u64 msg_page;\n\t\t} synic;\n\t\tstruct {\n\t\t\t__u64 input;\n\t\t\t__u64 result;\n\t\t\t__u64 params[2];\n\t\t} hcall;\n\t\tstruct {\n\t\t\t__u32 msr;\n\t\t\t__u32 pad2;\n\t\t\t__u64 control;\n\t\t\t__u64 status;\n\t\t\t__u64 send_page;\n\t\t\t__u64 recv_page;\n\t\t\t__u64 pending_page;\n\t\t} syndbg;\n\t} u;\n};\n\nstruct kvm_io_device;\n\nstruct kvm_io_range {\n\tgpa_t addr;\n\tint len;\n\tstruct kvm_io_device *dev;\n};\n\nstruct kvm_io_bus {\n\tint dev_count;\n\tint ioeventfd_count;\n\tstruct kvm_io_range range[0];\n};\n\nstruct kvm_irq_routing_table {\n\tint chip[1024];\n\tu32 nr_rt_entries;\n\tstruct hlist_head map[0];\n};\n\nstruct kvm_memory_slot {\n\tstruct hlist_node id_node[2];\n\tstruct interval_tree_node hva_node[2];\n\tstruct rb_node gfn_node[2];\n\tgfn_t base_gfn;\n\tlong unsigned int npages;\n\tlong unsigned int *dirty_bitmap;\n\tstruct kvm_arch_memory_slot arch;\n\tlong unsigned int userspace_addr;\n\tu32 flags;\n\tshort int id;\n\tu16 as_id;\n};\n\nstruct kvm_mmio_decode {\n\tlong unsigned int insn;\n\tint insn_len;\n\tint len;\n\tint shift;\n\tint return_handled;\n};\n\nstruct kvm_mmio_fragment {\n\tgpa_t gpa;\n\tvoid *data;\n\tunsigned int len;\n};\n\nstruct kvm_mmu_memory_cache {\n\tgfp_t gfp_zero;\n\tgfp_t gfp_custom;\n\tu64 init_value;\n\tstruct kmem_cache *kmem_cache;\n\tint capacity;\n\tint nobjs;\n\tvoid **objects;\n};\n\nstruct kvm_mp_state {\n\t__u32 mp_state;\n};\n\nunion sbi_pmu_ctr_info {\n\tlong unsigned int value;\n\tstruct {\n\t\tlong unsigned int csr: 12;\n\t\tlong unsigned int width: 6;\n\t\tlong unsigned int reserved: 45;\n\t\tlong unsigned int type: 1;\n\t};\n};\n\nstruct kvm_vcpu;\n\nstruct kvm_pmc {\n\tu8 idx;\n\tstruct perf_event *perf_event;\n\tu64 counter_val;\n\tunion sbi_pmu_ctr_info cinfo;\n\tbool started;\n\tlong unsigned int event_idx;\n\tstruct kvm_vcpu *vcpu;\n};\n\nstruct riscv_pmu_snapshot_data;\n\nstruct kvm_pmu {\n\tstruct kvm_pmc pmc[64];\n\tstruct kvm_fw_event fw_event[32];\n\tint num_fw_ctrs;\n\tint num_hw_ctrs;\n\tbool init_done;\n\tlong unsigned int pmc_in_use[1];\n\tlong unsigned int pmc_overflown[1];\n\tgpa_t snapshot_addr;\n\tstruct riscv_pmu_snapshot_data *sdata;\n};\n\nstruct kvm_riscv_hfence {\n\tenum kvm_riscv_hfence_type type;\n\tlong unsigned int asid;\n\tlong unsigned int order;\n\tgpa_t addr;\n\tgpa_t size;\n};\n\nstruct kvm_xen_exit {\n\t__u32 type;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 longmode;\n\t\t\t__u32 cpl;\n\t\t\t__u64 input;\n\t\t\t__u64 result;\n\t\t\t__u64 params[6];\n\t\t} hcall;\n\t} u;\n};\n\nstruct kvm_sync_regs {};\n\nstruct kvm_run {\n\t__u8 request_interrupt_window;\n\t__u8 immediate_exit__unsafe;\n\t__u8 padding1[6];\n\t__u32 exit_reason;\n\t__u8 ready_for_interrupt_injection;\n\t__u8 if_flag;\n\t__u16 flags;\n\t__u64 cr8;\n\t__u64 apic_base;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 hardware_exit_reason;\n\t\t} hw;\n\t\tstruct {\n\t\t\t__u64 hardware_entry_failure_reason;\n\t\t\t__u32 cpu;\n\t\t} fail_entry;\n\t\tstruct {\n\t\t\t__u32 exception;\n\t\t\t__u32 error_code;\n\t\t} ex;\n\t\tstruct {\n\t\t\t__u8 direction;\n\t\t\t__u8 size;\n\t\t\t__u16 port;\n\t\t\t__u32 count;\n\t\t\t__u64 data_offset;\n\t\t} io;\n\t\tstruct {\n\t\t\tstruct kvm_debug_exit_arch arch;\n\t\t} debug;\n\t\tstruct {\n\t\t\t__u64 phys_addr;\n\t\t\t__u8 data[8];\n\t\t\t__u32 len;\n\t\t\t__u8 is_write;\n\t\t} mmio;\n\t\tstruct {\n\t\t\t__u64 phys_addr;\n\t\t\t__u8 data[8];\n\t\t\t__u32 len;\n\t\t\t__u8 is_write;\n\t\t} iocsr_io;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t\t__u64 ret;\n\t\t\tunion {\n\t\t\t\t__u64 flags;\n\t\t\t};\n\t\t} hypercall;\n\t\tstruct {\n\t\t\t__u64 rip;\n\t\t\t__u32 is_write;\n\t\t\t__u32 pad;\n\t\t} tpr_access;\n\t\tstruct {\n\t\t\t__u8 icptcode;\n\t\t\t__u16 ipa;\n\t\t\t__u32 ipb;\n\t\t} s390_sieic;\n\t\t__u64 s390_reset_flags;\n\t\tstruct {\n\t\t\t__u64 trans_exc_code;\n\t\t\t__u32 pgm_code;\n\t\t} s390_ucontrol;\n\t\tstruct {\n\t\t\t__u32 dcrn;\n\t\t\t__u32 data;\n\t\t\t__u8 is_write;\n\t\t} dcr;\n\t\tstruct {\n\t\t\t__u32 suberror;\n\t\t\t__u32 ndata;\n\t\t\t__u64 data[16];\n\t\t} internal;\n\t\tstruct {\n\t\t\t__u32 suberror;\n\t\t\t__u32 ndata;\n\t\t\t__u64 flags;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\t__u8 insn_size;\n\t\t\t\t\t__u8 insn_bytes[15];\n\t\t\t\t};\n\t\t\t};\n\t\t} emulation_failure;\n\t\tstruct {\n\t\t\t__u64 gprs[32];\n\t\t} osi;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 ret;\n\t\t\t__u64 args[9];\n\t\t} papr_hcall;\n\t\tstruct {\n\t\t\t__u16 subchannel_id;\n\t\t\t__u16 subchannel_nr;\n\t\t\t__u32 io_int_parm;\n\t\t\t__u32 io_int_word;\n\t\t\t__u32 ipb;\n\t\t\t__u8 dequeued;\n\t\t} s390_tsch;\n\t\tstruct {\n\t\t\t__u32 epr;\n\t\t} epr;\n\t\tstruct {\n\t\t\t__u32 type;\n\t\t\t__u32 ndata;\n\t\t\tunion {\n\t\t\t\t__u64 data[16];\n\t\t\t};\n\t\t} system_event;\n\t\tstruct {\n\t\t\t__u64 addr;\n\t\t\t__u8 ar;\n\t\t\t__u8 reserved;\n\t\t\t__u8 fc;\n\t\t\t__u8 sel1;\n\t\t\t__u16 sel2;\n\t\t} s390_stsi;\n\t\tstruct {\n\t\t\t__u8 vector;\n\t\t} eoi;\n\t\tstruct kvm_hyperv_exit hyperv;\n\t\tstruct {\n\t\t\t__u64 esr_iss;\n\t\t\t__u64 fault_ipa;\n\t\t} arm_nisv;\n\t\tstruct {\n\t\t\t__u8 error;\n\t\t\t__u8 pad[7];\n\t\t\t__u32 reason;\n\t\t\t__u32 index;\n\t\t\t__u64 data;\n\t\t} msr;\n\t\tstruct kvm_xen_exit xen;\n\t\tstruct {\n\t\t\tlong unsigned int extension_id;\n\t\t\tlong unsigned int function_id;\n\t\t\tlong unsigned int args[6];\n\t\t\tlong unsigned int ret[2];\n\t\t} riscv_sbi;\n\t\tstruct {\n\t\t\tlong unsigned int csr_num;\n\t\t\tlong unsigned int new_value;\n\t\t\tlong unsigned int write_mask;\n\t\t\tlong unsigned int ret_value;\n\t\t} riscv_csr;\n\t\tstruct {\n\t\t\t__u32 flags;\n\t\t} notify;\n\t\tstruct {\n\t\t\t__u64 flags;\n\t\t\t__u64 gpa;\n\t\t\t__u64 size;\n\t\t} memory_fault;\n\t\tchar padding[256];\n\t};\n\t__u64 kvm_valid_regs;\n\t__u64 kvm_dirty_regs;\n\tunion {\n\t\tstruct kvm_sync_regs regs;\n\t\tchar padding[2048];\n\t} s;\n};\n\nstruct kvm_stat_data {\n\tstruct kvm *kvm;\n\tconst struct _kvm_stats_desc *desc;\n\tenum kvm_stat_kind kind;\n};\n\nstruct preempt_ops;\n\nstruct preempt_notifier {\n\tstruct hlist_node link;\n\tstruct preempt_ops *ops;\n};\n\nstruct kvm_vcpu_csr {\n\tlong unsigned int vsstatus;\n\tlong unsigned int vsie;\n\tlong unsigned int vstvec;\n\tlong unsigned int vsscratch;\n\tlong unsigned int vsepc;\n\tlong unsigned int vscause;\n\tlong unsigned int vstval;\n\tlong unsigned int hvip;\n\tlong unsigned int vsatp;\n\tlong unsigned int scounteren;\n\tlong unsigned int senvcfg;\n};\n\nstruct kvm_vcpu_smstateen_csr {\n\tlong unsigned int sstateen0;\n};\n\nstruct kvm_vcpu_timer {\n\tbool init_done;\n\tbool next_set;\n\tu64 next_cycles;\n\tstruct hrtimer hrt;\n\tbool sstc_enabled;\n\tint (*timer_next_event)(struct kvm_vcpu *, u64);\n};\n\nstruct kvm_vcpu_sbi_context {\n\tint return_handled;\n\tenum kvm_riscv_sbi_ext_status ext_status[12];\n};\n\nstruct kvm_vcpu_aia_csr {\n\tlong unsigned int vsiselect;\n\tlong unsigned int hviprio1;\n\tlong unsigned int hviprio2;\n\tlong unsigned int vsieh;\n\tlong unsigned int hviph;\n\tlong unsigned int hviprio1h;\n\tlong unsigned int hviprio2h;\n};\n\nstruct kvm_vcpu_aia {\n\tstruct kvm_vcpu_aia_csr guest_csr;\n\tstruct kvm_vcpu_aia_csr guest_reset_csr;\n\tgpa_t imsic_addr;\n\tu32 hart_index;\n\tvoid *imsic_state;\n};\n\nstruct kvm_vcpu_config {\n\tu64 henvcfg;\n\tu64 hstateen0;\n\tlong unsigned int hedeleg;\n};\n\nstruct kvm_vcpu_arch {\n\tbool ran_atleast_once;\n\tint last_exit_cpu;\n\tlong unsigned int isa[2];\n\tlong unsigned int mvendorid;\n\tlong unsigned int marchid;\n\tlong unsigned int mimpid;\n\tlong unsigned int host_sscratch;\n\tlong unsigned int host_stvec;\n\tlong unsigned int host_scounteren;\n\tlong unsigned int host_senvcfg;\n\tlong unsigned int host_sstateen0;\n\tlong: 64;\n\tstruct kvm_cpu_context host_context;\n\tstruct kvm_cpu_context guest_context;\n\tstruct kvm_vcpu_csr guest_csr;\n\tstruct kvm_vcpu_smstateen_csr smstateen_csr;\n\tstruct kvm_cpu_context guest_reset_context;\n\tspinlock_t reset_cntx_lock;\n\tstruct kvm_vcpu_csr guest_reset_csr;\n\tlong unsigned int irqs_pending[1];\n\tlong unsigned int irqs_pending_mask[1];\n\tstruct kvm_vcpu_timer timer;\n\tspinlock_t hfence_lock;\n\tlong unsigned int hfence_head;\n\tlong unsigned int hfence_tail;\n\tstruct kvm_riscv_hfence hfence_queue[64];\n\tstruct kvm_mmio_decode mmio_decode;\n\tstruct kvm_csr_decode csr_decode;\n\tstruct kvm_vcpu_sbi_context sbi_context;\n\tstruct kvm_vcpu_aia aia_context;\n\tstruct kvm_mmu_memory_cache mmu_page_cache;\n\tstruct kvm_mp_state mp_state;\n\tspinlock_t mp_state_lock;\n\tbool pause;\n\tstruct kvm_pmu pmu_context;\n\tstruct kvm_vcpu_config cfg;\n\tstruct {\n\t\tgpa_t shmem;\n\t\tu64 last_steal;\n\t} sta;\n\tlong: 64;\n};\n\nstruct kvm_vcpu_stat_generic {\n\tu64 halt_successful_poll;\n\tu64 halt_attempted_poll;\n\tu64 halt_poll_invalid;\n\tu64 halt_wakeup;\n\tu64 halt_poll_success_ns;\n\tu64 halt_poll_fail_ns;\n\tu64 halt_wait_ns;\n\tu64 halt_poll_success_hist[32];\n\tu64 halt_poll_fail_hist[32];\n\tu64 halt_wait_hist[32];\n\tu64 blocking;\n};\n\nstruct kvm_vcpu_stat {\n\tstruct kvm_vcpu_stat_generic generic;\n\tu64 ecall_exit_stat;\n\tu64 wfi_exit_stat;\n\tu64 wrs_exit_stat;\n\tu64 mmio_exit_user;\n\tu64 mmio_exit_kernel;\n\tu64 csr_exit_user;\n\tu64 csr_exit_kernel;\n\tu64 signal_exits;\n\tu64 exits;\n\tu64 instr_illegal_exits;\n\tu64 load_misaligned_exits;\n\tu64 store_misaligned_exits;\n\tu64 load_access_exits;\n\tu64 store_access_exits;\n};\n\nstruct kvm_vcpu {\n\tstruct kvm *kvm;\n\tstruct preempt_notifier preempt_notifier;\n\tint cpu;\n\tint vcpu_id;\n\tint vcpu_idx;\n\tint ____srcu_idx;\n\tint mode;\n\tu64 requests;\n\tlong unsigned int guest_debug;\n\tstruct mutex mutex;\n\tstruct kvm_run *run;\n\tstruct rcuwait wait;\n\tstruct pid *pid;\n\trwlock_t pid_lock;\n\tint sigset_active;\n\tsigset_t sigset;\n\tunsigned int halt_poll_ns;\n\tbool valid_wakeup;\n\tint mmio_needed;\n\tint mmio_read_completed;\n\tint mmio_is_write;\n\tint mmio_cur_fragment;\n\tint mmio_nr_fragments;\n\tstruct kvm_mmio_fragment mmio_fragments[2];\n\tbool wants_to_run;\n\tbool preempted;\n\tbool ready;\n\tbool scheduled_out;\n\tstruct kvm_vcpu_arch arch;\n\tstruct kvm_vcpu_stat stat;\n\tchar stats_id[48];\n\tstruct kvm_dirty_ring dirty_ring;\n\tstruct kvm_memory_slot *last_used_slot;\n\tu64 last_used_slot_gen;\n};\n\nstruct kyber_cpu_latency {\n\tatomic_t buckets[48];\n};\n\nstruct kyber_ctx_queue {\n\tspinlock_t lock;\n\tstruct list_head rq_list[4];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbq_wait {\n\tstruct sbitmap_queue *sbq;\n\tstruct wait_queue_entry wait;\n};\n\nstruct kyber_hctx_data {\n\tspinlock_t lock;\n\tstruct list_head rqs[4];\n\tunsigned int cur_domain;\n\tunsigned int batching;\n\tstruct kyber_ctx_queue *kcqs;\n\tstruct sbitmap kcq_map[4];\n\tstruct sbq_wait domain_wait[4];\n\tstruct sbq_wait_state *domain_ws[4];\n\tatomic_t wait_index[4];\n};\n\nstruct kyber_queue_data {\n\tstruct request_queue *q;\n\tdev_t dev;\n\tstruct sbitmap_queue domain_tokens[4];\n\tunsigned int async_depth;\n\tstruct kyber_cpu_latency *cpu_latency;\n\tstruct timer_list timer;\n\tunsigned int latency_buckets[48];\n\tlong unsigned int latency_timeout[3];\n\tint domain_p99[3];\n\tu64 latency_targets[3];\n};\n\ntypedef int (*lookup_by_table_id_t)(struct net *, u32);\n\nstruct l3mdev_handler {\n\tlookup_by_table_id_t dev_lookup;\n};\n\nstruct l3mdev_ops {\n\tu32 (*l3mdev_fib_table)(const struct net_device *);\n\tstruct sk_buff * (*l3mdev_l3_rcv)(struct net_device *, struct sk_buff *, u16);\n\tstruct sk_buff * (*l3mdev_l3_out)(struct net_device *, struct sock *, struct sk_buff *, u16);\n\tstruct dst_entry * (*l3mdev_link_scope_lookup)(const struct net_device *, struct flowi6 *);\n};\n\nstruct label_it {\n\tint i;\n\tint j;\n};\n\nstruct lan8814_ptp_rx_ts {\n\tstruct list_head list;\n\tu32 seconds;\n\tu32 nsec;\n\tu16 seq_id;\n};\n\nstruct lan8814_shared_priv {\n\tstruct phy_device *phydev;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct ptp_pin_desc *pin_config;\n\tstruct mutex shared_lock;\n};\n\nstruct latch_tree_ops {\n\tbool (*less)(struct latch_tree_node *, struct latch_tree_node *);\n\tint (*comp)(void *, struct latch_tree_node *);\n};\n\nstruct latch_tree_root {\n\tseqcount_latch_t seq;\n\tstruct rb_root tree[2];\n};\n\nstruct latched_seq {\n\tseqcount_latch_t latch;\n\tu64 val[2];\n};\n\nstruct sched_domain;\n\nstruct lb_env {\n\tstruct sched_domain *sd;\n\tstruct rq *src_rq;\n\tint src_cpu;\n\tint dst_cpu;\n\tstruct rq *dst_rq;\n\tstruct cpumask *dst_grpmask;\n\tint new_dst_cpu;\n\tenum cpu_idle_type idle;\n\tlong int imbalance;\n\tstruct cpumask *cpus;\n\tunsigned int flags;\n\tunsigned int loop;\n\tunsigned int loop_break;\n\tunsigned int loop_max;\n\tenum fbq_type fbq_type;\n\tenum migration_type migration_type;\n\tstruct list_head tasks;\n};\n\nstruct ld_semaphore {\n\tatomic_long_t count;\n\traw_spinlock_t wait_lock;\n\tunsigned int wait_readers;\n\tstruct list_head read_wait;\n\tstruct list_head write_wait;\n};\n\nstruct ldsem_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n};\n\nstruct lease_manager_operations {\n\tbool (*lm_break)(struct file_lease *);\n\tint (*lm_change)(struct file_lease *, int, struct list_head *);\n\tvoid (*lm_setup)(struct file_lease *, void **);\n\tbool (*lm_breaker_owns_lease)(struct file_lease *);\n};\n\nstruct led_trigger {};\n\nstruct legacy_fs_context {\n\tchar *legacy_data;\n\tsize_t data_size;\n\tenum legacy_fs_param param_type;\n};\n\nstruct level_datum {\n\tstruct mls_level level;\n\tunsigned char isalias;\n};\n\nstruct limit_names {\n\tconst char *name;\n\tconst char *unit;\n};\n\nstruct linereq;\n\nstruct line {\n\tstruct gpio_desc *desc;\n\tstruct linereq *req;\n\tunsigned int irq;\n\tu64 edflags;\n\tu64 timestamp_ns;\n\tu32 req_seqno;\n\tu32 line_seqno;\n\tstruct delayed_work work;\n\tunsigned int sw_debounced;\n\tunsigned int level;\n};\n\nstruct linear_range {\n\tunsigned int min;\n\tunsigned int min_sel;\n\tunsigned int max_sel;\n\tunsigned int step;\n};\n\nstruct lineevent_state {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tstruct gpio_desc *desc;\n\tu32 eflags;\n\tint irq;\n\twait_queue_head_t wait;\n\tstruct notifier_block device_unregistered_nb;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpioevent_data *type;\n\t\t\tconst struct gpioevent_data *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpioevent_data *ptr;\n\t\t\tconst struct gpioevent_data *ptr_const;\n\t\t};\n\t\tstruct gpioevent_data buf[16];\n\t} events;\n\tu64 timestamp;\n};\n\nstruct linehandle_state {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tstruct gpio_desc *descs[64];\n\tu32 num_descs;\n};\n\nstruct lineinfo_changed_ctx {\n\tstruct work_struct work;\n\tstruct gpio_v2_line_info_changed chg;\n\tstruct gpio_device *gdev;\n\tstruct gpio_chardev_data *cdev;\n};\n\nstruct linereq {\n\tstruct gpio_device *gdev;\n\tconst char *label;\n\tu32 num_lines;\n\twait_queue_head_t wait;\n\tstruct notifier_block device_unregistered_nb;\n\tu32 event_buffer_size;\n\tstruct {\n\t\tunion {\n\t\t\tstruct __kfifo kfifo;\n\t\t\tstruct gpio_v2_line_event *type;\n\t\t\tconst struct gpio_v2_line_event *const_type;\n\t\t\tchar (*rectype)[0];\n\t\t\tstruct gpio_v2_line_event *ptr;\n\t\t\tconst struct gpio_v2_line_event *ptr_const;\n\t\t};\n\t\tstruct gpio_v2_line_event buf[0];\n\t} events;\n\tatomic_t seqno;\n\tstruct mutex config_mutex;\n\tstruct line lines[0];\n};\n\nstruct linger {\n\tint l_onoff;\n\tint l_linger;\n};\n\nstruct link_mode_info {\n\tint speed;\n\tu8 lanes;\n\tu8 duplex;\n};\n\nstruct linked_reg {\n\tu8 frameno;\n\tunion {\n\t\tu8 spi;\n\t\tu8 regno;\n\t};\n\tbool is_reg;\n};\n\nstruct linked_regs {\n\tint cnt;\n\tstruct linked_reg entries[6];\n};\n\nstruct linkinfo_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_link_ksettings ksettings;\n\tstruct ethtool_link_settings *lsettings;\n};\n\nstruct linkmodes_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_link_ksettings ksettings;\n\tstruct ethtool_link_settings *lsettings;\n\tbool peer_empty;\n};\n\nstruct linkstate_reply_data {\n\tstruct ethnl_reply_data base;\n\tint link;\n\tint sqi;\n\tint sqi_max;\n\tstruct ethtool_link_ext_stats link_stats;\n\tbool link_ext_state_provided;\n\tstruct ethtool_link_ext_state_info ethtool_link_ext_state_info;\n};\n\nstruct linux_binprm;\n\nstruct linux_binfmt {\n\tstruct list_head lh;\n\tstruct module *module;\n\tint (*load_binary)(struct linux_binprm *);\n\tint (*load_shlib)(struct file *);\n\tint (*core_dump)(struct coredump_params *);\n\tlong unsigned int min_coredump;\n};\n\nstruct linux_binprm {\n\tstruct vm_area_struct *vma;\n\tlong unsigned int vma_pages;\n\tlong unsigned int argmin;\n\tstruct mm_struct *mm;\n\tlong unsigned int p;\n\tunsigned int have_execfd: 1;\n\tunsigned int execfd_creds: 1;\n\tunsigned int secureexec: 1;\n\tunsigned int point_of_no_return: 1;\n\tunsigned int comm_from_dentry: 1;\n\tunsigned int is_check: 1;\n\tstruct file *executable;\n\tstruct file *interpreter;\n\tstruct file *file;\n\tstruct cred *cred;\n\tint unsafe;\n\tunsigned int per_clear;\n\tint argc;\n\tint envc;\n\tconst char *filename;\n\tconst char *interp;\n\tconst char *fdpath;\n\tunsigned int interp_flags;\n\tint execfd;\n\tlong unsigned int loader;\n\tlong unsigned int exec;\n\tstruct rlimit rlim_stack;\n\tchar buf[256];\n};\n\nstruct linux_binprm__safe_trusted {\n\tstruct file *file;\n};\n\nstruct linux_dirent {\n\tlong unsigned int d_ino;\n\tlong unsigned int d_off;\n\tshort unsigned int d_reclen;\n\tchar d_name[0];\n};\n\nstruct linux_dirent64 {\n\tu64 d_ino;\n\ts64 d_off;\n\tshort unsigned int d_reclen;\n\tunsigned char d_type;\n\tchar d_name[0];\n};\n\nstruct linux_efi_initrd {\n\tlong unsigned int base;\n\tlong unsigned int size;\n};\n\nstruct linux_efi_memreserve {\n\tint size;\n\tatomic_t count;\n\tphys_addr_t next;\n\tstruct {\n\t\tphys_addr_t base;\n\t\tphys_addr_t size;\n\t} entry[0];\n};\n\nstruct linux_efi_random_seed {\n\tu32 size;\n\tu8 bits[0];\n};\n\nstruct linux_efi_tpm_eventlog {\n\tu32 size;\n\tu32 final_events_preboot_size;\n\tu8 version;\n\tu8 log[0];\n};\n\nstruct linux_mib {\n\tlong unsigned int mibs[133];\n};\n\nstruct list_lru_node;\n\nstruct list_lru {\n\tstruct list_lru_node *node;\n\tstruct list_head list;\n\tint shrinker_id;\n\tbool memcg_aware;\n\tstruct xarray xa;\n};\n\nstruct list_lru_one {\n\tstruct list_head list;\n\tlong int nr_items;\n\tspinlock_t lock;\n};\n\nstruct list_lru_memcg {\n\tstruct callback_head rcu;\n\tstruct list_lru_one node[0];\n};\n\nstruct list_lru_node {\n\tstruct list_lru_one lru;\n\tatomic_long_t nr_items;\n\tlong: 64;\n};\n\nstruct listeners {\n\tstruct callback_head rcu;\n\tlong unsigned int masks[0];\n};\n\nstruct load_info {\n\tconst char *name;\n\tstruct module *mod;\n\tElf64_Ehdr *hdr;\n\tlong unsigned int len;\n\tElf64_Shdr *sechdrs;\n\tchar *secstrings;\n\tchar *strtab;\n\tlong unsigned int symoffs;\n\tlong unsigned int stroffs;\n\tlong unsigned int init_typeoffs;\n\tlong unsigned int core_typeoffs;\n\tbool sig_ok;\n\tlong unsigned int mod_kallsyms_init_off;\n\tstruct {\n\t\tunsigned int sym;\n\t\tunsigned int str;\n\t\tunsigned int mod;\n\t\tunsigned int vers;\n\t\tunsigned int info;\n\t\tunsigned int pcpu;\n\t\tunsigned int vers_ext_crc;\n\t\tunsigned int vers_ext_name;\n\t} index;\n};\n\nstruct location;\n\nstruct loc_track {\n\tlong unsigned int max;\n\tlong unsigned int count;\n\tstruct location *loc;\n\tloff_t idx;\n};\n\nstruct local_ports {\n\tu32 range;\n\tbool warned;\n};\n\nstruct location {\n\tdepot_stack_handle_t handle;\n\tlong unsigned int count;\n\tlong unsigned int addr;\n\tlong unsigned int waste;\n\tlong long int sum_time;\n\tlong int min_time;\n\tlong int max_time;\n\tlong int min_pid;\n\tlong int max_pid;\n\tlong unsigned int cpus[1];\n\tnodemask_t nodes;\n};\n\nstruct lock_manager {\n\tstruct list_head list;\n\tbool block_opens;\n};\n\nstruct lock_manager_operations {\n\tvoid *lm_mod_owner;\n\tfl_owner_t (*lm_get_owner)(fl_owner_t);\n\tvoid (*lm_put_owner)(fl_owner_t);\n\tvoid (*lm_notify)(struct file_lock *);\n\tint (*lm_grant)(struct file_lock *, int);\n\tbool (*lm_lock_expirable)(struct file_lock *);\n\tvoid (*lm_expire_lock)(void);\n};\n\nstruct lockd_net {\n\tunsigned int nlmsvc_users;\n\tlong unsigned int next_gc;\n\tlong unsigned int nrhosts;\n\tstruct delayed_work grace_period_end;\n\tstruct lock_manager lockd_manager;\n\tstruct list_head nsm_handles;\n};\n\nstruct locks_iterator {\n\tint li_cpu;\n\tloff_t li_pos;\n};\n\nstruct log_entry {\n\t__le32 lba;\n\t__le32 old_map;\n\t__le32 new_map;\n\t__le32 seq;\n};\n\nstruct log_group {\n\tstruct log_entry ent[4];\n};\n\nstruct logic_pio_host_ops {\n\tu32 (*in)(void *, long unsigned int, size_t);\n\tvoid (*out)(void *, long unsigned int, u32, size_t);\n\tu32 (*ins)(void *, long unsigned int, void *, size_t, unsigned int);\n\tvoid (*outs)(void *, long unsigned int, const void *, size_t, unsigned int);\n};\n\nstruct logic_pio_hwaddr {\n\tstruct list_head list;\n\tconst struct fwnode_handle *fwnode;\n\tresource_size_t hw_start;\n\tresource_size_t io_start;\n\tresource_size_t size;\n\tlong unsigned int flags;\n\tvoid *hostdata;\n\tconst struct logic_pio_host_ops *ops;\n};\n\nstruct lookup_args {\n\tint offset;\n\tconst struct in6_addr *addr;\n};\n\nstruct loop_cmd {\n\tstruct list_head list_entry;\n\tbool use_aio;\n\tatomic_t ref;\n\tlong int ret;\n\tstruct kiocb iocb;\n\tstruct bio_vec *bvec;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tstruct cgroup_subsys_state *memcg_css;\n};\n\nstruct loop_info64 {\n\t__u64 lo_device;\n\t__u64 lo_inode;\n\t__u64 lo_rdevice;\n\t__u64 lo_offset;\n\t__u64 lo_sizelimit;\n\t__u32 lo_number;\n\t__u32 lo_encrypt_type;\n\t__u32 lo_encrypt_key_size;\n\t__u32 lo_flags;\n\t__u8 lo_file_name[64];\n\t__u8 lo_crypt_name[64];\n\t__u8 lo_encrypt_key[32];\n\t__u64 lo_init[2];\n};\n\nstruct loop_config {\n\t__u32 fd;\n\t__u32 block_size;\n\tstruct loop_info64 info;\n\t__u64 __reserved[8];\n};\n\nstruct loop_device {\n\tint lo_number;\n\tloff_t lo_offset;\n\tloff_t lo_sizelimit;\n\tint lo_flags;\n\tchar lo_file_name[64];\n\tstruct file *lo_backing_file;\n\tstruct block_device *lo_device;\n\tgfp_t old_gfp_mask;\n\tspinlock_t lo_lock;\n\tint lo_state;\n\tspinlock_t lo_work_lock;\n\tstruct workqueue_struct *workqueue;\n\tstruct work_struct rootcg_work;\n\tstruct list_head rootcg_cmd_list;\n\tstruct list_head idle_worker_list;\n\tstruct rb_root worker_tree;\n\tstruct timer_list timer;\n\tbool sysfs_inited;\n\tstruct request_queue *lo_queue;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct gendisk *lo_disk;\n\tstruct mutex lo_mutex;\n\tbool idr_visible;\n};\n\nstruct loop_info {\n\tint lo_number;\n\t__kernel_old_dev_t lo_device;\n\tlong unsigned int lo_inode;\n\t__kernel_old_dev_t lo_rdevice;\n\tint lo_offset;\n\tint lo_encrypt_type;\n\tint lo_encrypt_key_size;\n\tint lo_flags;\n\tchar lo_name[64];\n\tunsigned char lo_encrypt_key[32];\n\tlong unsigned int lo_init[2];\n\tchar reserved[4];\n};\n\nstruct loop_worker {\n\tstruct rb_node rb_node;\n\tstruct work_struct work;\n\tstruct list_head cmd_list;\n\tstruct list_head idle_list;\n\tstruct loop_device *lo;\n\tstruct cgroup_subsys_state *blkcg_css;\n\tlong unsigned int last_ran_at;\n};\n\nunion lower_chunk {\n\tunion lower_chunk *next;\n\tlong unsigned int data[256];\n};\n\nstruct lpm_trie_node;\n\nstruct lpm_trie {\n\tstruct bpf_map map;\n\tstruct lpm_trie_node *root;\n\tstruct bpf_mem_alloc ma;\n\tsize_t n_entries;\n\tsize_t max_prefixlen;\n\tsize_t data_size;\n\traw_spinlock_t lock;\n};\n\nstruct lpm_trie_node {\n\tstruct lpm_trie_node *child[2];\n\tu32 prefixlen;\n\tu32 flags;\n\tu8 data[0];\n};\n\nstruct zswap_lruvec_state {};\n\nstruct pglist_data;\n\nstruct lruvec {\n\tstruct list_head lists[5];\n\tspinlock_t lru_lock;\n\tlong unsigned int anon_cost;\n\tlong unsigned int file_cost;\n\tatomic_long_t nonresident_age;\n\tlong unsigned int refaults[2];\n\tlong unsigned int flags;\n\tstruct pglist_data *pgdat;\n\tstruct zswap_lruvec_state zswap_lruvec_state;\n};\n\nstruct lruvec_stats {\n\tlong int state[31];\n\tlong int state_local[31];\n\tlong int state_pending[31];\n};\n\nstruct lruvec_stats_percpu {\n\tlong int state[31];\n\tlong int state_prev[31];\n};\n\nstruct skcipher_alg_common {\n\tunsigned int min_keysize;\n\tunsigned int max_keysize;\n\tunsigned int ivsize;\n\tunsigned int chunksize;\n\tunsigned int statesize;\n\tstruct crypto_alg base;\n};\n\nstruct lskcipher_alg {\n\tint (*setkey)(struct crypto_lskcipher *, const u8 *, unsigned int);\n\tint (*encrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32);\n\tint (*decrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32);\n\tint (*init)(struct crypto_lskcipher *);\n\tvoid (*exit)(struct crypto_lskcipher *);\n\tstruct skcipher_alg_common co;\n};\n\nstruct lskcipher_instance {\n\tvoid (*free)(struct lskcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[64];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct lskcipher_alg alg;\n\t};\n};\n\nstruct lsm_blob_sizes {\n\tint lbs_cred;\n\tint lbs_file;\n\tint lbs_ib;\n\tint lbs_inode;\n\tint lbs_sock;\n\tint lbs_superblock;\n\tint lbs_ipc;\n\tint lbs_key;\n\tint lbs_msg_msg;\n\tint lbs_perf_event;\n\tint lbs_task;\n\tint lbs_xattr_count;\n\tint lbs_tun_dev;\n\tint lbs_bdev;\n};\n\nstruct lsm_context {\n\tchar *context;\n\tu32 len;\n\tint id;\n};\n\nstruct lsm_ctx {\n\t__u64 id;\n\t__u64 flags;\n\t__u64 len;\n\t__u64 ctx_len;\n\t__u8 ctx[0];\n};\n\nstruct lsm_ibendport_audit {\n\tconst char *dev_name;\n\tu8 port;\n};\n\nstruct lsm_ibpkey_audit {\n\tu64 subnet_prefix;\n\tu16 pkey;\n};\n\nstruct lsm_id {\n\tconst char *name;\n\tu64 id;\n};\n\nstruct lsm_info {\n\tconst char *name;\n\tenum lsm_order order;\n\tlong unsigned int flags;\n\tint *enabled;\n\tint (*init)(void);\n\tstruct lsm_blob_sizes *blobs;\n};\n\nstruct lsm_ioctlop_audit {\n\tstruct path path;\n\tu16 cmd;\n};\n\nstruct lsm_network_audit {\n\tint netif;\n\tconst struct sock *sk;\n\tu16 family;\n\t__be16 dport;\n\t__be16 sport;\n\tunion {\n\t\tstruct {\n\t\t\t__be32 daddr;\n\t\t\t__be32 saddr;\n\t\t} v4;\n\t\tstruct {\n\t\t\tstruct in6_addr daddr;\n\t\t\tstruct in6_addr saddr;\n\t\t} v6;\n\t} fam;\n};\n\nstruct static_call_key;\n\nstruct security_hook_list;\n\nstruct static_key_false;\n\nstruct lsm_static_call {\n\tstruct static_call_key *key;\n\tvoid *trampoline;\n\tstruct security_hook_list *hl;\n\tstruct static_key_false *active;\n};\n\nstruct lsm_static_calls_table {\n\tstruct lsm_static_call binder_set_context_mgr[3];\n\tstruct lsm_static_call binder_transaction[3];\n\tstruct lsm_static_call binder_transfer_binder[3];\n\tstruct lsm_static_call binder_transfer_file[3];\n\tstruct lsm_static_call ptrace_access_check[3];\n\tstruct lsm_static_call ptrace_traceme[3];\n\tstruct lsm_static_call capget[3];\n\tstruct lsm_static_call capset[3];\n\tstruct lsm_static_call capable[3];\n\tstruct lsm_static_call quotactl[3];\n\tstruct lsm_static_call quota_on[3];\n\tstruct lsm_static_call syslog[3];\n\tstruct lsm_static_call settime[3];\n\tstruct lsm_static_call vm_enough_memory[3];\n\tstruct lsm_static_call bprm_creds_for_exec[3];\n\tstruct lsm_static_call bprm_creds_from_file[3];\n\tstruct lsm_static_call bprm_check_security[3];\n\tstruct lsm_static_call bprm_committing_creds[3];\n\tstruct lsm_static_call bprm_committed_creds[3];\n\tstruct lsm_static_call fs_context_submount[3];\n\tstruct lsm_static_call fs_context_dup[3];\n\tstruct lsm_static_call fs_context_parse_param[3];\n\tstruct lsm_static_call sb_alloc_security[3];\n\tstruct lsm_static_call sb_delete[3];\n\tstruct lsm_static_call sb_free_security[3];\n\tstruct lsm_static_call sb_free_mnt_opts[3];\n\tstruct lsm_static_call sb_eat_lsm_opts[3];\n\tstruct lsm_static_call sb_mnt_opts_compat[3];\n\tstruct lsm_static_call sb_remount[3];\n\tstruct lsm_static_call sb_kern_mount[3];\n\tstruct lsm_static_call sb_show_options[3];\n\tstruct lsm_static_call sb_statfs[3];\n\tstruct lsm_static_call sb_mount[3];\n\tstruct lsm_static_call sb_umount[3];\n\tstruct lsm_static_call sb_pivotroot[3];\n\tstruct lsm_static_call sb_set_mnt_opts[3];\n\tstruct lsm_static_call sb_clone_mnt_opts[3];\n\tstruct lsm_static_call move_mount[3];\n\tstruct lsm_static_call dentry_init_security[3];\n\tstruct lsm_static_call dentry_create_files_as[3];\n\tstruct lsm_static_call path_unlink[3];\n\tstruct lsm_static_call path_mkdir[3];\n\tstruct lsm_static_call path_rmdir[3];\n\tstruct lsm_static_call path_mknod[3];\n\tstruct lsm_static_call path_post_mknod[3];\n\tstruct lsm_static_call path_truncate[3];\n\tstruct lsm_static_call path_symlink[3];\n\tstruct lsm_static_call path_link[3];\n\tstruct lsm_static_call path_rename[3];\n\tstruct lsm_static_call path_chmod[3];\n\tstruct lsm_static_call path_chown[3];\n\tstruct lsm_static_call path_chroot[3];\n\tstruct lsm_static_call path_notify[3];\n\tstruct lsm_static_call inode_alloc_security[3];\n\tstruct lsm_static_call inode_free_security[3];\n\tstruct lsm_static_call inode_free_security_rcu[3];\n\tstruct lsm_static_call inode_init_security[3];\n\tstruct lsm_static_call inode_init_security_anon[3];\n\tstruct lsm_static_call inode_create[3];\n\tstruct lsm_static_call inode_post_create_tmpfile[3];\n\tstruct lsm_static_call inode_link[3];\n\tstruct lsm_static_call inode_unlink[3];\n\tstruct lsm_static_call inode_symlink[3];\n\tstruct lsm_static_call inode_mkdir[3];\n\tstruct lsm_static_call inode_rmdir[3];\n\tstruct lsm_static_call inode_mknod[3];\n\tstruct lsm_static_call inode_rename[3];\n\tstruct lsm_static_call inode_readlink[3];\n\tstruct lsm_static_call inode_follow_link[3];\n\tstruct lsm_static_call inode_permission[3];\n\tstruct lsm_static_call inode_setattr[3];\n\tstruct lsm_static_call inode_post_setattr[3];\n\tstruct lsm_static_call inode_getattr[3];\n\tstruct lsm_static_call inode_xattr_skipcap[3];\n\tstruct lsm_static_call inode_setxattr[3];\n\tstruct lsm_static_call inode_post_setxattr[3];\n\tstruct lsm_static_call inode_getxattr[3];\n\tstruct lsm_static_call inode_listxattr[3];\n\tstruct lsm_static_call inode_removexattr[3];\n\tstruct lsm_static_call inode_post_removexattr[3];\n\tstruct lsm_static_call inode_set_acl[3];\n\tstruct lsm_static_call inode_post_set_acl[3];\n\tstruct lsm_static_call inode_get_acl[3];\n\tstruct lsm_static_call inode_remove_acl[3];\n\tstruct lsm_static_call inode_post_remove_acl[3];\n\tstruct lsm_static_call inode_need_killpriv[3];\n\tstruct lsm_static_call inode_killpriv[3];\n\tstruct lsm_static_call inode_getsecurity[3];\n\tstruct lsm_static_call inode_setsecurity[3];\n\tstruct lsm_static_call inode_listsecurity[3];\n\tstruct lsm_static_call inode_getlsmprop[3];\n\tstruct lsm_static_call inode_copy_up[3];\n\tstruct lsm_static_call inode_copy_up_xattr[3];\n\tstruct lsm_static_call inode_setintegrity[3];\n\tstruct lsm_static_call kernfs_init_security[3];\n\tstruct lsm_static_call file_permission[3];\n\tstruct lsm_static_call file_alloc_security[3];\n\tstruct lsm_static_call file_release[3];\n\tstruct lsm_static_call file_free_security[3];\n\tstruct lsm_static_call file_ioctl[3];\n\tstruct lsm_static_call file_ioctl_compat[3];\n\tstruct lsm_static_call mmap_addr[3];\n\tstruct lsm_static_call mmap_file[3];\n\tstruct lsm_static_call file_mprotect[3];\n\tstruct lsm_static_call file_lock[3];\n\tstruct lsm_static_call file_fcntl[3];\n\tstruct lsm_static_call file_set_fowner[3];\n\tstruct lsm_static_call file_send_sigiotask[3];\n\tstruct lsm_static_call file_receive[3];\n\tstruct lsm_static_call file_open[3];\n\tstruct lsm_static_call file_post_open[3];\n\tstruct lsm_static_call file_truncate[3];\n\tstruct lsm_static_call task_alloc[3];\n\tstruct lsm_static_call task_free[3];\n\tstruct lsm_static_call cred_alloc_blank[3];\n\tstruct lsm_static_call cred_free[3];\n\tstruct lsm_static_call cred_prepare[3];\n\tstruct lsm_static_call cred_transfer[3];\n\tstruct lsm_static_call cred_getsecid[3];\n\tstruct lsm_static_call cred_getlsmprop[3];\n\tstruct lsm_static_call kernel_act_as[3];\n\tstruct lsm_static_call kernel_create_files_as[3];\n\tstruct lsm_static_call kernel_module_request[3];\n\tstruct lsm_static_call kernel_load_data[3];\n\tstruct lsm_static_call kernel_post_load_data[3];\n\tstruct lsm_static_call kernel_read_file[3];\n\tstruct lsm_static_call kernel_post_read_file[3];\n\tstruct lsm_static_call task_fix_setuid[3];\n\tstruct lsm_static_call task_fix_setgid[3];\n\tstruct lsm_static_call task_fix_setgroups[3];\n\tstruct lsm_static_call task_setpgid[3];\n\tstruct lsm_static_call task_getpgid[3];\n\tstruct lsm_static_call task_getsid[3];\n\tstruct lsm_static_call current_getlsmprop_subj[3];\n\tstruct lsm_static_call task_getlsmprop_obj[3];\n\tstruct lsm_static_call task_setnice[3];\n\tstruct lsm_static_call task_setioprio[3];\n\tstruct lsm_static_call task_getioprio[3];\n\tstruct lsm_static_call task_prlimit[3];\n\tstruct lsm_static_call task_setrlimit[3];\n\tstruct lsm_static_call task_setscheduler[3];\n\tstruct lsm_static_call task_getscheduler[3];\n\tstruct lsm_static_call task_movememory[3];\n\tstruct lsm_static_call task_kill[3];\n\tstruct lsm_static_call task_prctl[3];\n\tstruct lsm_static_call task_to_inode[3];\n\tstruct lsm_static_call userns_create[3];\n\tstruct lsm_static_call ipc_permission[3];\n\tstruct lsm_static_call ipc_getlsmprop[3];\n\tstruct lsm_static_call msg_msg_alloc_security[3];\n\tstruct lsm_static_call msg_msg_free_security[3];\n\tstruct lsm_static_call msg_queue_alloc_security[3];\n\tstruct lsm_static_call msg_queue_free_security[3];\n\tstruct lsm_static_call msg_queue_associate[3];\n\tstruct lsm_static_call msg_queue_msgctl[3];\n\tstruct lsm_static_call msg_queue_msgsnd[3];\n\tstruct lsm_static_call msg_queue_msgrcv[3];\n\tstruct lsm_static_call shm_alloc_security[3];\n\tstruct lsm_static_call shm_free_security[3];\n\tstruct lsm_static_call shm_associate[3];\n\tstruct lsm_static_call shm_shmctl[3];\n\tstruct lsm_static_call shm_shmat[3];\n\tstruct lsm_static_call sem_alloc_security[3];\n\tstruct lsm_static_call sem_free_security[3];\n\tstruct lsm_static_call sem_associate[3];\n\tstruct lsm_static_call sem_semctl[3];\n\tstruct lsm_static_call sem_semop[3];\n\tstruct lsm_static_call netlink_send[3];\n\tstruct lsm_static_call d_instantiate[3];\n\tstruct lsm_static_call getselfattr[3];\n\tstruct lsm_static_call setselfattr[3];\n\tstruct lsm_static_call getprocattr[3];\n\tstruct lsm_static_call setprocattr[3];\n\tstruct lsm_static_call ismaclabel[3];\n\tstruct lsm_static_call secid_to_secctx[3];\n\tstruct lsm_static_call lsmprop_to_secctx[3];\n\tstruct lsm_static_call secctx_to_secid[3];\n\tstruct lsm_static_call release_secctx[3];\n\tstruct lsm_static_call inode_invalidate_secctx[3];\n\tstruct lsm_static_call inode_notifysecctx[3];\n\tstruct lsm_static_call inode_setsecctx[3];\n\tstruct lsm_static_call inode_getsecctx[3];\n\tstruct lsm_static_call unix_stream_connect[3];\n\tstruct lsm_static_call unix_may_send[3];\n\tstruct lsm_static_call socket_create[3];\n\tstruct lsm_static_call socket_post_create[3];\n\tstruct lsm_static_call socket_socketpair[3];\n\tstruct lsm_static_call socket_bind[3];\n\tstruct lsm_static_call socket_connect[3];\n\tstruct lsm_static_call socket_listen[3];\n\tstruct lsm_static_call socket_accept[3];\n\tstruct lsm_static_call socket_sendmsg[3];\n\tstruct lsm_static_call socket_recvmsg[3];\n\tstruct lsm_static_call socket_getsockname[3];\n\tstruct lsm_static_call socket_getpeername[3];\n\tstruct lsm_static_call socket_getsockopt[3];\n\tstruct lsm_static_call socket_setsockopt[3];\n\tstruct lsm_static_call socket_shutdown[3];\n\tstruct lsm_static_call socket_sock_rcv_skb[3];\n\tstruct lsm_static_call socket_getpeersec_stream[3];\n\tstruct lsm_static_call socket_getpeersec_dgram[3];\n\tstruct lsm_static_call sk_alloc_security[3];\n\tstruct lsm_static_call sk_free_security[3];\n\tstruct lsm_static_call sk_clone_security[3];\n\tstruct lsm_static_call sk_getsecid[3];\n\tstruct lsm_static_call sock_graft[3];\n\tstruct lsm_static_call inet_conn_request[3];\n\tstruct lsm_static_call inet_csk_clone[3];\n\tstruct lsm_static_call inet_conn_established[3];\n\tstruct lsm_static_call secmark_relabel_packet[3];\n\tstruct lsm_static_call secmark_refcount_inc[3];\n\tstruct lsm_static_call secmark_refcount_dec[3];\n\tstruct lsm_static_call req_classify_flow[3];\n\tstruct lsm_static_call tun_dev_alloc_security[3];\n\tstruct lsm_static_call tun_dev_create[3];\n\tstruct lsm_static_call tun_dev_attach_queue[3];\n\tstruct lsm_static_call tun_dev_attach[3];\n\tstruct lsm_static_call tun_dev_open[3];\n\tstruct lsm_static_call sctp_assoc_request[3];\n\tstruct lsm_static_call sctp_bind_connect[3];\n\tstruct lsm_static_call sctp_sk_clone[3];\n\tstruct lsm_static_call sctp_assoc_established[3];\n\tstruct lsm_static_call mptcp_add_subflow[3];\n\tstruct lsm_static_call key_alloc[3];\n\tstruct lsm_static_call key_permission[3];\n\tstruct lsm_static_call key_getsecurity[3];\n\tstruct lsm_static_call key_post_create_or_update[3];\n\tstruct lsm_static_call audit_rule_init[3];\n\tstruct lsm_static_call audit_rule_known[3];\n\tstruct lsm_static_call audit_rule_match[3];\n\tstruct lsm_static_call audit_rule_free[3];\n\tstruct lsm_static_call bpf[3];\n\tstruct lsm_static_call bpf_map[3];\n\tstruct lsm_static_call bpf_prog[3];\n\tstruct lsm_static_call bpf_map_create[3];\n\tstruct lsm_static_call bpf_map_free[3];\n\tstruct lsm_static_call bpf_prog_load[3];\n\tstruct lsm_static_call bpf_prog_free[3];\n\tstruct lsm_static_call bpf_token_create[3];\n\tstruct lsm_static_call bpf_token_free[3];\n\tstruct lsm_static_call bpf_token_cmd[3];\n\tstruct lsm_static_call bpf_token_capable[3];\n\tstruct lsm_static_call locked_down[3];\n\tstruct lsm_static_call perf_event_open[3];\n\tstruct lsm_static_call perf_event_alloc[3];\n\tstruct lsm_static_call perf_event_read[3];\n\tstruct lsm_static_call perf_event_write[3];\n\tstruct lsm_static_call uring_override_creds[3];\n\tstruct lsm_static_call uring_sqpoll[3];\n\tstruct lsm_static_call uring_cmd[3];\n\tstruct lsm_static_call initramfs_populated[3];\n\tstruct lsm_static_call bdev_alloc_security[3];\n\tstruct lsm_static_call bdev_free_security[3];\n\tstruct lsm_static_call bdev_setintegrity[3];\n};\n\nstruct lwq {\n\tspinlock_t lock;\n\tstruct llist_node *ready;\n\tstruct llist_head new;\n};\n\nstruct lwq_node {\n\tstruct llist_node node;\n};\n\nstruct lwtunnel_encap_ops {\n\tint (*build_state)(struct net *, struct nlattr *, unsigned int, const void *, struct lwtunnel_state **, struct netlink_ext_ack *);\n\tvoid (*destroy_state)(struct lwtunnel_state *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*input)(struct sk_buff *);\n\tint (*fill_encap)(struct sk_buff *, struct lwtunnel_state *);\n\tint (*get_encap_size)(struct lwtunnel_state *);\n\tint (*cmp_encap)(struct lwtunnel_state *, struct lwtunnel_state *);\n\tint (*xmit)(struct sk_buff *);\n\tstruct module *owner;\n};\n\nstruct lwtunnel_state {\n\t__u16 type;\n\t__u16 flags;\n\t__u16 headroom;\n\tatomic_t refcnt;\n\tint (*orig_output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*orig_input)(struct sk_buff *);\n\tstruct callback_head rcu;\n\t__u8 data[0];\n};\n\nstruct lzma2_dec {\n\tenum lzma2_seq sequence;\n\tenum lzma2_seq next_sequence;\n\tuint32_t uncompressed;\n\tuint32_t compressed;\n\tbool need_dict_reset;\n\tbool need_props;\n};\n\nstruct lzma_len_dec {\n\tuint16_t choice;\n\tuint16_t choice2;\n\tuint16_t low[128];\n\tuint16_t mid[128];\n\tuint16_t high[256];\n};\n\nstruct lzma_dec {\n\tuint32_t rep0;\n\tuint32_t rep1;\n\tuint32_t rep2;\n\tuint32_t rep3;\n\tenum lzma_state state;\n\tuint32_t len;\n\tuint32_t lc;\n\tuint32_t literal_pos_mask;\n\tuint32_t pos_mask;\n\tuint16_t is_match[192];\n\tuint16_t is_rep[12];\n\tuint16_t is_rep0[12];\n\tuint16_t is_rep1[12];\n\tuint16_t is_rep2[12];\n\tuint16_t is_rep0_long[192];\n\tuint16_t dist_slot[256];\n\tuint16_t dist_special[114];\n\tuint16_t dist_align[16];\n\tstruct lzma_len_dec match_len_dec;\n\tstruct lzma_len_dec rep_len_dec;\n\tuint16_t literal[12288];\n};\n\nstruct lzma_header {\n\tuint8_t pos;\n\tuint32_t dict_size;\n\tuint64_t dst_size;\n} __attribute__((packed));\n\nstruct ma_topiary {\n\tstruct maple_enode *head;\n\tstruct maple_enode *tail;\n\tstruct maple_tree *mtree;\n};\n\nstruct maple_node;\n\nstruct ma_wr_state {\n\tstruct ma_state *mas;\n\tstruct maple_node *node;\n\tlong unsigned int r_min;\n\tlong unsigned int r_max;\n\tenum maple_type type;\n\tunsigned char offset_end;\n\tlong unsigned int *pivots;\n\tlong unsigned int end_piv;\n\tvoid **slots;\n\tvoid *entry;\n\tvoid *content;\n};\n\nstruct mac_addr {\n\tunsigned char addr[6];\n};\n\ntypedef struct mac_addr mac_addr;\n\nstruct queue_stats {\n\tunion {\n\t\tlong unsigned int first;\n\t\tlong unsigned int rx_packets;\n\t};\n\tlong unsigned int rx_bytes;\n\tlong unsigned int rx_dropped;\n\tlong unsigned int tx_packets;\n\tlong unsigned int tx_bytes;\n\tlong unsigned int tx_dropped;\n};\n\nstruct macb;\n\nstruct macb_dma_desc;\n\nstruct macb_tx_skb;\n\nstruct macb_queue {\n\tstruct macb *bp;\n\tint irq;\n\tunsigned int ISR;\n\tunsigned int IER;\n\tunsigned int IDR;\n\tunsigned int IMR;\n\tunsigned int TBQP;\n\tunsigned int TBQPH;\n\tunsigned int RBQS;\n\tunsigned int RBQP;\n\tunsigned int RBQPH;\n\tspinlock_t tx_ptr_lock;\n\tunsigned int tx_head;\n\tunsigned int tx_tail;\n\tstruct macb_dma_desc *tx_ring;\n\tstruct macb_tx_skb *tx_skb;\n\tdma_addr_t tx_ring_dma;\n\tstruct work_struct tx_error_task;\n\tbool txubr_pending;\n\tstruct napi_struct napi_tx;\n\tdma_addr_t rx_ring_dma;\n\tdma_addr_t rx_buffers_dma;\n\tunsigned int rx_tail;\n\tunsigned int rx_prepared_head;\n\tstruct macb_dma_desc *rx_ring;\n\tstruct sk_buff **rx_skbuff;\n\tvoid *rx_buffers;\n\tstruct napi_struct napi_rx;\n\tstruct queue_stats stats;\n};\n\nstruct macb_stats {\n\tu32 rx_pause_frames;\n\tu32 tx_ok;\n\tu32 tx_single_cols;\n\tu32 tx_multiple_cols;\n\tu32 rx_ok;\n\tu32 rx_fcs_errors;\n\tu32 rx_align_errors;\n\tu32 tx_deferred;\n\tu32 tx_late_cols;\n\tu32 tx_excessive_cols;\n\tu32 tx_underruns;\n\tu32 tx_carrier_errors;\n\tu32 rx_resource_errors;\n\tu32 rx_overruns;\n\tu32 rx_symbol_errors;\n\tu32 rx_oversize_pkts;\n\tu32 rx_jabbers;\n\tu32 rx_undersize_pkts;\n\tu32 sqe_test_errors;\n\tu32 rx_length_mismatch;\n\tu32 tx_pause_frames;\n};\n\nstruct macb_or_gem_ops {\n\tint (*mog_alloc_rx_buffers)(struct macb *);\n\tvoid (*mog_free_rx_buffers)(struct macb *);\n\tvoid (*mog_init_rings)(struct macb *);\n\tint (*mog_rx)(struct macb_queue *, struct napi_struct *, int);\n};\n\nstruct phylink_link_state;\n\nstruct phylink_config {\n\tstruct device *dev;\n\tenum phylink_op_type type;\n\tbool poll_fixed_state;\n\tbool mac_managed_pm;\n\tbool mac_requires_rxc;\n\tbool default_an_inband;\n\tbool eee_rx_clk_stop_enable;\n\tvoid (*get_fixed_state)(struct phylink_config *, struct phylink_link_state *);\n\tlong unsigned int supported_interfaces[1];\n\tlong unsigned int lpi_interfaces[1];\n\tlong unsigned int mac_capabilities;\n\tlong unsigned int lpi_capabilities;\n\tu32 lpi_timer_default;\n\tbool eee_enabled_default;\n};\n\nstruct phylink_pcs_ops;\n\nstruct phylink;\n\nstruct phylink_pcs {\n\tlong unsigned int supported_interfaces[1];\n\tconst struct phylink_pcs_ops *ops;\n\tstruct phylink *phylink;\n\tbool neg_mode;\n\tbool poll;\n\tbool rxc_always_on;\n};\n\nstruct macb_tx_skb {\n\tstruct sk_buff *skb;\n\tdma_addr_t mapping;\n\tsize_t size;\n\tbool mapped_as_page;\n};\n\nstruct tsu_incr {\n\tu32 sub_ns;\n\tu32 ns;\n};\n\nstruct macb_pm_data {\n\tu32 scrt2;\n\tu32 usrio;\n};\n\nstruct macb_ptp_info;\n\nstruct macb_usrio_config;\n\nstruct macb {\n\tvoid *regs;\n\tbool native_io;\n\tu32 (*macb_reg_readl)(struct macb *, int);\n\tvoid (*macb_reg_writel)(struct macb *, int, u32);\n\tstruct macb_dma_desc *rx_ring_tieoff;\n\tdma_addr_t rx_ring_tieoff_dma;\n\tsize_t rx_buffer_size;\n\tunsigned int rx_ring_size;\n\tunsigned int tx_ring_size;\n\tunsigned int num_queues;\n\tunsigned int queue_mask;\n\tstruct macb_queue queues[8];\n\tspinlock_t lock;\n\tstruct platform_device *pdev;\n\tstruct clk *pclk;\n\tstruct clk *hclk;\n\tstruct clk *tx_clk;\n\tstruct clk *rx_clk;\n\tstruct clk *tsu_clk;\n\tstruct net_device *dev;\n\tspinlock_t stats_lock;\n\tunion {\n\t\tstruct macb_stats macb;\n\t\tstruct gem_stats gem;\n\t} hw_stats;\n\tstruct macb_or_gem_ops macbgem_ops;\n\tstruct mii_bus *mii_bus;\n\tstruct phylink *phylink;\n\tstruct phylink_config phylink_config;\n\tstruct phylink_pcs phylink_usx_pcs;\n\tstruct phylink_pcs phylink_sgmii_pcs;\n\tu32 caps;\n\tunsigned int dma_burst_length;\n\tphy_interface_t phy_interface;\n\tstruct macb_tx_skb rm9200_txq[2];\n\tunsigned int max_tx_length;\n\tu64 ethtool_stats[91];\n\tunsigned int rx_frm_len_mask;\n\tunsigned int jumbo_max_len;\n\tu32 wol;\n\tu32 wolopts;\n\tu32 rx_watermark;\n\tstruct macb_ptp_info *ptp_info;\n\tstruct phy *sgmii_phy;\n\tuint8_t hw_dma_cap;\n\tspinlock_t tsu_clk_lock;\n\tunsigned int tsu_rate;\n\tstruct ptp_clock *ptp_clock;\n\tstruct ptp_clock_info ptp_clock_info;\n\tstruct tsu_incr tsu_incr;\n\tstruct kernel_hwtstamp_config tstamp_config;\n\tstruct ethtool_rx_fs_list rx_fs_list;\n\tspinlock_t rx_fs_lock;\n\tunsigned int max_tuples;\n\tstruct work_struct hresp_err_bh_work;\n\tint rx_bd_rd_prefetch;\n\tint tx_bd_rd_prefetch;\n\tu32 rx_intr_mask;\n\tstruct macb_pm_data pm_data;\n\tconst struct macb_usrio_config *usrio;\n};\n\nstruct macb_config {\n\tu32 caps;\n\tunsigned int dma_burst_length;\n\tint (*clk_init)(struct platform_device *, struct clk **, struct clk **, struct clk **, struct clk **, struct clk **);\n\tint (*init)(struct platform_device *);\n\tunsigned int max_tx_length;\n\tint jumbo_max_len;\n\tconst struct macb_usrio_config *usrio;\n};\n\nstruct macb_dma_desc {\n\tu32 addr;\n\tu32 ctrl;\n};\n\nstruct macb_dma_desc_64 {\n\tu32 addrh;\n\tu32 resvd;\n};\n\nstruct macb_platform_data {\n\tstruct clk *pclk;\n\tstruct clk *hclk;\n};\n\nstruct macb_ptp_info {\n\tvoid (*ptp_init)(struct net_device *);\n\tvoid (*ptp_remove)(struct net_device *);\n\ts32 (*get_ptp_max_adj)(void);\n\tunsigned int (*get_tsu_rate)(struct macb *);\n\tint (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *);\n\tint (*get_hwtst)(struct net_device *, struct kernel_hwtstamp_config *);\n\tint (*set_hwtst)(struct net_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n};\n\nstruct macb_usrio_config {\n\tu32 mii;\n\tu32 rmii;\n\tu32 rgmii;\n\tu32 refclk;\n\tu32 hdfctlen;\n};\n\nstruct macsec_info {\n\tsci_t sci;\n};\n\nstruct mmu_gather;\n\nstruct madvise_walk_private {\n\tstruct mmu_gather *tlb;\n\tbool pageout;\n};\n\nstruct mafield {\n\tconst char *prefix;\n\tint field;\n};\n\nstruct map_files_info {\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tfmode_t mode;\n};\n\nstruct map_info___2 {\n\tstruct map_info___2 *next;\n\tstruct mm_struct *mm;\n\tlong unsigned int vaddr;\n};\n\nstruct mtd_chip_driver;\n\nstruct map_info {\n\tconst char *name;\n\tlong unsigned int size;\n\tresource_size_t phys;\n\tvoid *virt;\n\tvoid *cached;\n\tint swap;\n\tint bankwidth;\n\tvoid (*inval_cache)(struct map_info *, long unsigned int, ssize_t);\n\tvoid (*set_vpp)(struct map_info *, int);\n\tlong unsigned int pfow_base;\n\tlong unsigned int map_priv_1;\n\tlong unsigned int map_priv_2;\n\tstruct device_node *device_node;\n\tvoid *fldrv_priv;\n\tstruct mtd_chip_driver *fldrv;\n};\n\nstruct map_iter {\n\tvoid *key;\n\tbool done;\n};\n\nstruct maple_alloc {\n\tlong unsigned int total;\n\tunsigned char node_count;\n\tunsigned int request_count;\n\tstruct maple_alloc *slot[30];\n};\n\nstruct maple_pnode;\n\nstruct maple_metadata {\n\tunsigned char end;\n\tunsigned char gap;\n};\n\nstruct maple_arange_64 {\n\tstruct maple_pnode *parent;\n\tlong unsigned int pivot[9];\n\tvoid *slot[10];\n\tlong unsigned int gap[10];\n\tstruct maple_metadata meta;\n};\n\nstruct maple_big_node {\n\tlong unsigned int pivot[33];\n\tunion {\n\t\tstruct maple_enode *slot[34];\n\t\tstruct {\n\t\t\tlong unsigned int padding[21];\n\t\t\tlong unsigned int gap[21];\n\t\t};\n\t};\n\tunsigned char b_end;\n\tenum maple_type type;\n};\n\nstruct maple_range_64 {\n\tstruct maple_pnode *parent;\n\tlong unsigned int pivot[15];\n\tunion {\n\t\tvoid *slot[16];\n\t\tstruct {\n\t\t\tvoid *pad[15];\n\t\t\tstruct maple_metadata meta;\n\t\t};\n\t};\n};\n\nstruct maple_node {\n\tunion {\n\t\tstruct {\n\t\t\tstruct maple_pnode *parent;\n\t\t\tvoid *slot[31];\n\t\t};\n\t\tstruct {\n\t\t\tvoid *pad;\n\t\t\tstruct callback_head rcu;\n\t\t\tstruct maple_enode *piv_parent;\n\t\t\tunsigned char parent_slot;\n\t\t\tenum maple_type type;\n\t\t\tunsigned char slot_len;\n\t\t\tunsigned int ma_flags;\n\t\t};\n\t\tstruct maple_range_64 mr64;\n\t\tstruct maple_arange_64 ma64;\n\t\tstruct maple_alloc alloc;\n\t};\n};\n\nstruct maple_subtree_state {\n\tstruct ma_state *orig_l;\n\tstruct ma_state *orig_r;\n\tstruct ma_state *l;\n\tstruct ma_state *m;\n\tstruct ma_state *r;\n\tstruct ma_topiary *free;\n\tstruct ma_topiary *destroy;\n\tstruct maple_big_node *bn;\n};\n\nstruct maple_topiary {\n\tstruct maple_pnode *parent;\n\tstruct maple_enode *next;\n};\n\nstruct maple_tree {\n\tunion {\n\t\tspinlock_t ma_lock;\n\t\tlockdep_map_p ma_external_lock;\n\t};\n\tunsigned int ma_flags;\n\tvoid *ma_root;\n};\n\nstruct match {\n\tu32 mode;\n\tu32 area;\n\tu8 depth;\n};\n\nstruct match_ids_walk_data {\n\tstruct acpi_device_id *ids;\n\tstruct acpi_device *adev;\n};\n\nstruct match_token {\n\tint token;\n\tconst char *pattern;\n};\n\nstruct match_workbuf {\n\tunsigned int count;\n\tunsigned int pos;\n\tunsigned int len;\n\tunsigned int size;\n\tunsigned int history[24];\n};\n\nstruct mb_cache {\n\tstruct hlist_bl_head *c_hash;\n\tint c_bucket_bits;\n\tlong unsigned int c_max_entries;\n\tspinlock_t c_list_lock;\n\tstruct list_head c_list;\n\tlong unsigned int c_entry_count;\n\tstruct shrinker *c_shrink;\n\tstruct work_struct c_shrink_work;\n};\n\nstruct mb_cache_entry {\n\tstruct list_head e_list;\n\tstruct hlist_bl_node e_hash_list;\n\tatomic_t e_refcnt;\n\tu32 e_key;\n\tlong unsigned int e_flags;\n\tu64 e_value;\n};\n\nstruct mbox_controller;\n\nstruct mbox_client;\n\nstruct mbox_chan {\n\tstruct mbox_controller *mbox;\n\tunsigned int txdone_method;\n\tstruct mbox_client *cl;\n\tstruct completion tx_complete;\n\tvoid *active_req;\n\tunsigned int msg_count;\n\tunsigned int msg_free;\n\tvoid *msg_data[20];\n\tspinlock_t lock;\n\tvoid *con_priv;\n};\n\nstruct mbox_chan_ops {\n\tint (*send_data)(struct mbox_chan *, void *);\n\tint (*flush)(struct mbox_chan *, long unsigned int);\n\tint (*startup)(struct mbox_chan *);\n\tvoid (*shutdown)(struct mbox_chan *);\n\tbool (*last_tx_done)(struct mbox_chan *);\n\tbool (*peek_data)(struct mbox_chan *);\n};\n\nstruct mbox_client {\n\tstruct device *dev;\n\tbool tx_block;\n\tlong unsigned int tx_tout;\n\tbool knows_txdone;\n\tvoid (*rx_callback)(struct mbox_client *, void *);\n\tvoid (*tx_prepare)(struct mbox_client *, void *);\n\tvoid (*tx_done)(struct mbox_client *, void *, int);\n};\n\nstruct mbox_controller {\n\tstruct device *dev;\n\tconst struct mbox_chan_ops *ops;\n\tstruct mbox_chan *chans;\n\tint num_chans;\n\tbool txdone_irq;\n\tbool txdone_poll;\n\tunsigned int txpoll_period;\n\tstruct mbox_chan * (*of_xlate)(struct mbox_controller *, const struct of_phandle_args *);\n\tstruct hrtimer poll_hrt;\n\tspinlock_t poll_hrt_lock;\n\tstruct list_head node;\n};\n\nstruct mcfg_entry {\n\tstruct list_head list;\n\tphys_addr_t addr;\n\tu16 segment;\n\tu8 bus_start;\n\tu8 bus_end;\n};\n\nstruct pci_ecam_ops;\n\nstruct mcfg_fixup {\n\tchar oem_id[7];\n\tchar oem_table_id[9];\n\tu32 oem_revision;\n\tu16 segment;\n\tstruct resource bus_range;\n\tconst struct pci_ecam_ops *ops;\n\tstruct resource cfgres;\n};\n\nstruct mcs_spinlock {\n\tstruct mcs_spinlock *next;\n\tint locked;\n\tint count;\n};\n\nstruct mctrl_gpios {\n\tstruct uart_port *port;\n\tstruct gpio_desc *gpio[6];\n\tint irq[6];\n\tunsigned int mctrl_prev;\n\tbool mctrl_on;\n};\n\nstruct mdio_board_info {\n\tconst char *bus_id;\n\tchar modalias[32];\n\tint mdio_addr;\n\tconst void *platform_data;\n};\n\nstruct mdio_board_entry {\n\tstruct list_head list;\n\tstruct mdio_board_info board_info;\n};\n\nstruct mdio_bus_stat_attr {\n\tint addr;\n\tunsigned int field_offset;\n};\n\nstruct mdio_bus_stats {\n\tu64_stats_t transfers;\n\tu64_stats_t errors;\n\tu64_stats_t writes;\n\tu64_stats_t reads;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct mdio_device {\n\tstruct device dev;\n\tstruct mii_bus *bus;\n\tchar modalias[32];\n\tint (*bus_match)(struct device *, const struct device_driver *);\n\tvoid (*device_free)(struct mdio_device *);\n\tvoid (*device_remove)(struct mdio_device *);\n\tint addr;\n\tint flags;\n\tint reset_state;\n\tstruct gpio_desc *reset_gpio;\n\tstruct reset_control *reset_ctrl;\n\tunsigned int reset_assert_delay;\n\tunsigned int reset_deassert_delay;\n};\n\nstruct mdio_device_id {\n\t__u32 phy_id;\n\t__u32 phy_id_mask;\n};\n\nstruct mdio_driver_common {\n\tstruct device_driver driver;\n\tint flags;\n};\n\nstruct mdio_driver {\n\tstruct mdio_driver_common mdiodrv;\n\tint (*probe)(struct mdio_device *);\n\tvoid (*remove)(struct mdio_device *);\n\tvoid (*shutdown)(struct mdio_device *);\n};\n\nstruct mdiobus_devres {\n\tstruct mii_bus *mii;\n};\n\nstruct media_event_desc {\n\t__u8 media_event_code: 4;\n\t__u8 reserved1: 4;\n\t__u8 door_open: 1;\n\t__u8 media_present: 1;\n\t__u8 reserved2: 6;\n\t__u8 start_slot;\n\t__u8 end_slot;\n};\n\nstruct mem_cgroup_id {\n\tint id;\n\trefcount_t ref;\n};\n\nstruct vmpressure {\n\tlong unsigned int scanned;\n\tlong unsigned int reclaimed;\n\tlong unsigned int tree_scanned;\n\tlong unsigned int tree_reclaimed;\n\tspinlock_t sr_lock;\n\tstruct list_head events;\n\tstruct mutex events_lock;\n\tstruct work_struct work;\n};\n\nstruct wb_domain {\n\tspinlock_t lock;\n\tstruct fprop_global completions;\n\tstruct timer_list period_timer;\n\tlong unsigned int period_time;\n\tlong unsigned int dirty_limit_tstamp;\n\tlong unsigned int dirty_limit;\n};\n\nstruct wb_completion {\n\tatomic_t cnt;\n\twait_queue_head_t *waitq;\n};\n\nstruct memcg_cgwb_frn {\n\tu64 bdi_id;\n\tint memcg_id;\n\tu64 at;\n\tstruct wb_completion done;\n};\n\nstruct memcg_vmstats;\n\nstruct memcg_vmstats_percpu;\n\nstruct mem_cgroup_per_node;\n\nstruct mem_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct mem_cgroup_id id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct page_counter memory;\n\tunion {\n\t\tstruct page_counter swap;\n\t\tstruct page_counter memsw;\n\t};\n\tstruct list_head memory_peaks;\n\tstruct list_head swap_peaks;\n\tspinlock_t peaks_lock;\n\tstruct work_struct high_work;\n\tstruct vmpressure vmpressure;\n\tbool oom_group;\n\tint swappiness;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tstruct cgroup_file swap_events_file;\n\tstruct memcg_vmstats *vmstats;\n\tatomic_long_t memory_events[9];\n\tatomic_long_t memory_events_local[9];\n\tlong unsigned int socket_pressure;\n\tint kmemcg_id;\n\tstruct obj_cgroup *objcg;\n\tstruct obj_cgroup *orig_objcg;\n\tstruct list_head objcg_list;\n\tstruct memcg_vmstats_percpu *vmstats_percpu;\n\tstruct list_head cgwb_list;\n\tstruct wb_domain cgwb_domain;\n\tstruct memcg_cgwb_frn cgwb_frn[4];\n\tstruct mem_cgroup_per_node *nodeinfo[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct mem_cgroup_reclaim_iter {\n\tstruct mem_cgroup *position;\n\tatomic_t generation;\n};\n\nstruct shrinker_info;\n\nstruct mem_cgroup_per_node {\n\tstruct mem_cgroup *memcg;\n\tstruct lruvec_stats_percpu *lruvec_stats_percpu;\n\tstruct lruvec_stats *lruvec_stats;\n\tstruct shrinker_info *shrinker_info;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct lruvec lruvec;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tlong unsigned int lru_zone_size[15];\n\tstruct mem_cgroup_reclaim_iter iter;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\ntypedef struct pglist_data pg_data_t;\n\nstruct mem_cgroup_reclaim_cookie {\n\tpg_data_t *pgdat;\n\tint generation;\n};\n\nstruct quota_format_type;\n\nstruct mem_dqinfo {\n\tstruct quota_format_type *dqi_format;\n\tint dqi_fmt_id;\n\tstruct list_head dqi_dirty_list;\n\tlong unsigned int dqi_flags;\n\tunsigned int dqi_bgrace;\n\tunsigned int dqi_igrace;\n\tqsize_t dqi_max_spc_limit;\n\tqsize_t dqi_max_ino_limit;\n\tvoid *dqi_priv;\n};\n\nstruct mem_section_usage;\n\nstruct mem_section {\n\tlong unsigned int section_mem_map;\n\tstruct mem_section_usage *usage;\n};\n\nstruct mem_section_usage {\n\tstruct callback_head rcu;\n\tlong unsigned int subsection_map[1];\n\tlong unsigned int pageblock_flags[0];\n};\n\nstruct mem_size_stats {\n\tlong unsigned int resident;\n\tlong unsigned int shared_clean;\n\tlong unsigned int shared_dirty;\n\tlong unsigned int private_clean;\n\tlong unsigned int private_dirty;\n\tlong unsigned int referenced;\n\tlong unsigned int anonymous;\n\tlong unsigned int lazyfree;\n\tlong unsigned int anonymous_thp;\n\tlong unsigned int shmem_thp;\n\tlong unsigned int file_thp;\n\tlong unsigned int swap;\n\tlong unsigned int shared_hugetlb;\n\tlong unsigned int private_hugetlb;\n\tlong unsigned int ksm;\n\tu64 pss;\n\tu64 pss_anon;\n\tu64 pss_file;\n\tu64 pss_shmem;\n\tu64 pss_dirty;\n\tu64 pss_locked;\n\tu64 swap_pss;\n};\n\nstruct memblock_region;\n\nstruct memblock_type {\n\tlong unsigned int cnt;\n\tlong unsigned int max;\n\tphys_addr_t total_size;\n\tstruct memblock_region *regions;\n\tchar *name;\n};\n\nstruct memblock {\n\tbool bottom_up;\n\tphys_addr_t current_limit;\n\tstruct memblock_type memory;\n\tstruct memblock_type reserved;\n};\n\nstruct memblock_region {\n\tphys_addr_t base;\n\tphys_addr_t size;\n\tenum memblock_flags flags;\n};\n\nstruct membuf {\n\tvoid *p;\n\tsize_t left;\n};\n\nstruct memcg_stock_pcp {\n\tlocal_lock_t stock_lock;\n\tstruct mem_cgroup *cached;\n\tunsigned int nr_pages;\n\tstruct obj_cgroup *cached_objcg;\n\tstruct pglist_data *cached_pgdat;\n\tunsigned int nr_bytes;\n\tint nr_slab_reclaimable_b;\n\tint nr_slab_unreclaimable_b;\n\tstruct work_struct work;\n\tlong unsigned int flags;\n};\n\nstruct memcg_vmstats {\n\tlong int state[38];\n\tlong unsigned int events[17];\n\tlong int state_local[38];\n\tlong unsigned int events_local[17];\n\tlong int state_pending[38];\n\tlong unsigned int events_pending[17];\n\tatomic64_t stats_updates;\n};\n\nstruct memcg_vmstats_percpu {\n\tunsigned int stats_updates;\n\tstruct memcg_vmstats_percpu *parent;\n\tstruct memcg_vmstats *vmstats;\n\tlong int state[38];\n\tlong unsigned int events[17];\n\tlong int state_prev[38];\n\tlong unsigned int events_prev[17];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct memdev {\n\tconst char *name;\n\tconst struct file_operations *fops;\n\tfmode_t fmode;\n\tumode_t mode;\n};\n\nstruct memory_notify {\n\tlong unsigned int altmap_start_pfn;\n\tlong unsigned int altmap_nr_pages;\n\tlong unsigned int start_pfn;\n\tlong unsigned int nr_pages;\n\tint status_change_nid_normal;\n\tint status_change_nid;\n};\n\nstruct memory_stat {\n\tconst char *name;\n\tunsigned int idx;\n};\n\nstruct mempolicy {};\n\nstruct menu_device {\n\tint needs_update;\n\tint tick_wakeup;\n\tu64 next_timer_ns;\n\tunsigned int bucket;\n\tunsigned int correction_factor[6];\n\tunsigned int intervals[8];\n\tint interval_ptr;\n};\n\nstruct xfrm_md_info {\n\tu32 if_id;\n\tint link;\n\tstruct dst_entry *dst_orig;\n};\n\nstruct metadata_dst {\n\tstruct dst_entry dst;\n\tenum metadata_type type;\n\tunion {\n\t\tstruct ip_tunnel_info tun_info;\n\t\tstruct hw_port_info port_info;\n\t\tstruct macsec_info macsec_info;\n\t\tstruct xfrm_md_info xfrm_info;\n\t} u;\n};\n\nstruct mfd_cell_acpi_match;\n\nstruct mfd_cell {\n\tconst char *name;\n\tint id;\n\tint level;\n\tint (*suspend)(struct platform_device *);\n\tint (*resume)(struct platform_device *);\n\tconst void *platform_data;\n\tsize_t pdata_size;\n\tconst struct mfd_cell_acpi_match *acpi_match;\n\tconst struct software_node *swnode;\n\tconst char *of_compatible;\n\tu64 of_reg;\n\tbool use_of_reg;\n\tint num_resources;\n\tconst struct resource *resources;\n\tbool ignore_resource_conflicts;\n\tbool pm_runtime_no_callbacks;\n\tint num_parent_supplies;\n\tconst char * const *parent_supplies;\n};\n\nstruct mfd_cell_acpi_match {\n\tconst char *pnpid;\n\tconst long long unsigned int adr;\n};\n\nstruct mfd_of_node_entry {\n\tstruct list_head list;\n\tstruct device *dev;\n\tstruct device_node *np;\n};\n\nstruct migrate_pages_stats {\n\tint nr_succeeded;\n\tint nr_failed_pages;\n\tint nr_thp_succeeded;\n\tint nr_thp_failed;\n\tint nr_thp_split;\n\tint nr_split;\n};\n\nstruct migrate_struct {\n\text4_lblk_t first_block;\n\text4_lblk_t last_block;\n\text4_lblk_t curr_block;\n\text4_fsblk_t first_pblock;\n\text4_fsblk_t last_pblock;\n};\n\nstruct set_affinity_pending;\n\nstruct migration_arg {\n\tstruct task_struct *task;\n\tint dest_cpu;\n\tstruct set_affinity_pending *pending;\n};\n\nstruct migration_target_control {\n\tint nid;\n\tnodemask_t *nmask;\n\tgfp_t gfp_mask;\n\tenum migrate_reason reason;\n};\n\nstruct phy_package_shared;\n\nstruct mii_bus {\n\tstruct module *owner;\n\tconst char *name;\n\tchar id[61];\n\tvoid *priv;\n\tint (*read)(struct mii_bus *, int, int);\n\tint (*write)(struct mii_bus *, int, int, u16);\n\tint (*read_c45)(struct mii_bus *, int, int, int);\n\tint (*write_c45)(struct mii_bus *, int, int, int, u16);\n\tint (*reset)(struct mii_bus *);\n\tstruct mdio_bus_stats stats[32];\n\tstruct mutex mdio_lock;\n\tstruct device *parent;\n\tenum {\n\t\tMDIOBUS_ALLOCATED = 1,\n\t\tMDIOBUS_REGISTERED = 2,\n\t\tMDIOBUS_UNREGISTERED = 3,\n\t\tMDIOBUS_RELEASED = 4,\n\t} state;\n\tstruct device dev;\n\tstruct mdio_device *mdio_map[32];\n\tu32 phy_mask;\n\tu32 phy_ignore_ta_mask;\n\tint irq[32];\n\tint reset_delay_us;\n\tint reset_post_delay_us;\n\tstruct gpio_desc *reset_gpiod;\n\tstruct mutex shared_lock;\n\tstruct phy_package_shared *shared[32];\n};\n\nstruct mii_ioctl_data {\n\t__u16 phy_id;\n\t__u16 reg_num;\n\t__u16 val_in;\n\t__u16 val_out;\n};\n\nstruct min_heap_callbacks {\n\tbool (*less)(const void *, const void *, void *);\n\tvoid (*swp)(void *, void *, void *);\n};\n\nstruct min_heap_char {\n\tsize_t nr;\n\tsize_t size;\n\tchar *data;\n\tchar preallocated[0];\n};\n\ntypedef struct min_heap_char min_heap_char;\n\nstruct min_max_quirk {\n\tconst char * const *pnp_ids;\n\tstruct {\n\t\tu32 min;\n\t\tu32 max;\n\t} board_id;\n\tu32 x_min;\n\tu32 x_max;\n\tu32 y_min;\n\tu32 y_max;\n};\n\nstruct tcf_proto;\n\nstruct mini_Qdisc {\n\tstruct tcf_proto *filter_list;\n\tstruct tcf_block *block;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tlong unsigned int rcu_state;\n};\n\nstruct mini_Qdisc_pair {\n\tstruct mini_Qdisc miniq1;\n\tstruct mini_Qdisc miniq2;\n\tstruct mini_Qdisc **p_miniq;\n};\n\nstruct minmax_sample {\n\tu32 t;\n\tu32 v;\n};\n\nstruct minmax {\n\tstruct minmax_sample s[3];\n};\n\nstruct mipi_dsi_host;\n\nstruct mipi_dsi_device {\n\tstruct mipi_dsi_host *host;\n\tstruct device dev;\n\tbool attached;\n\tchar name[20];\n\tunsigned int channel;\n\tunsigned int lanes;\n\tenum mipi_dsi_pixel_format format;\n\tlong unsigned int mode_flags;\n\tlong unsigned int hs_rate;\n\tlong unsigned int lp_rate;\n\tstruct drm_dsc_config *dsc;\n};\n\nstruct mipi_dsi_device_info {\n\tchar type[20];\n\tu32 channel;\n\tstruct device_node *node;\n};\n\nstruct mipi_dsi_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct mipi_dsi_device *);\n\tvoid (*remove)(struct mipi_dsi_device *);\n\tvoid (*shutdown)(struct mipi_dsi_device *);\n};\n\nstruct mipi_dsi_host_ops;\n\nstruct mipi_dsi_host {\n\tstruct device *dev;\n\tconst struct mipi_dsi_host_ops *ops;\n\tstruct list_head list;\n};\n\nstruct mipi_dsi_msg;\n\nstruct mipi_dsi_host_ops {\n\tint (*attach)(struct mipi_dsi_host *, struct mipi_dsi_device *);\n\tint (*detach)(struct mipi_dsi_host *, struct mipi_dsi_device *);\n\tssize_t (*transfer)(struct mipi_dsi_host *, const struct mipi_dsi_msg *);\n};\n\nstruct mipi_dsi_msg {\n\tu8 channel;\n\tu8 type;\n\tu16 flags;\n\tsize_t tx_len;\n\tconst void *tx_buf;\n\tsize_t rx_len;\n\tvoid *rx_buf;\n};\n\nstruct mipi_dsi_multi_context {\n\tstruct mipi_dsi_device *dsi;\n\tint accum_err;\n};\n\nstruct mipi_dsi_packet {\n\tsize_t size;\n\tu8 header[4];\n\tsize_t payload_length;\n\tconst u8 *payload;\n};\n\nstruct miscdevice {\n\tint minor;\n\tconst char *name;\n\tconst struct file_operations *fops;\n\tstruct list_head list;\n\tstruct device *parent;\n\tstruct device *this_device;\n\tconst struct attribute_group **groups;\n\tconst char *nodename;\n\tumode_t mode;\n};\n\nstruct mld2_grec {\n\t__u8 grec_type;\n\t__u8 grec_auxwords;\n\t__be16 grec_nsrcs;\n\tstruct in6_addr grec_mca;\n\tstruct in6_addr grec_src[0];\n};\n\nstruct mld2_query {\n\tstruct icmp6hdr mld2q_hdr;\n\tstruct in6_addr mld2q_mca;\n\t__u8 mld2q_qrv: 3;\n\t__u8 mld2q_suppress: 1;\n\t__u8 mld2q_resv2: 4;\n\t__u8 mld2q_qqic;\n\t__be16 mld2q_nsrcs;\n\tstruct in6_addr mld2q_srcs[0];\n};\n\nstruct mld2_report {\n\tstruct icmp6hdr mld2r_hdr;\n\tstruct mld2_grec mld2r_grec[0];\n};\n\nstruct mld_msg {\n\tstruct icmp6hdr mld_hdr;\n\tstruct in6_addr mld_mca;\n};\n\nstruct mlock_fbatch {\n\tlocal_lock_t lock;\n\tstruct folio_batch fbatch;\n};\n\nstruct mm_cid {\n\tu64 time;\n\tint cid;\n\tint recent_cid;\n};\n\nstruct mm_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_mm_state state;\n\tstruct ethtool_mm_stats stats;\n};\n\nstruct xol_area;\n\nstruct uprobes_state {\n\tstruct xol_area *xol_area;\n};\n\nstruct mmu_notifier_subscriptions;\n\nstruct mm_struct {\n\tstruct {\n\t\tstruct {\n\t\t\tatomic_t mm_count;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t\tlong: 64;\n\t\t};\n\t\tstruct maple_tree mm_mt;\n\t\tlong unsigned int mmap_base;\n\t\tlong unsigned int mmap_legacy_base;\n\t\tlong unsigned int task_size;\n\t\tpgd_t *pgd;\n\t\tatomic_t membarrier_state;\n\t\tatomic_t mm_users;\n\t\tstruct mm_cid *pcpu_cid;\n\t\tlong unsigned int mm_cid_next_scan;\n\t\tunsigned int nr_cpus_allowed;\n\t\tatomic_t max_nr_cid;\n\t\traw_spinlock_t cpus_allowed_lock;\n\t\tatomic_long_t pgtables_bytes;\n\t\tint map_count;\n\t\tspinlock_t page_table_lock;\n\t\tstruct rw_semaphore mmap_lock;\n\t\tstruct list_head mmlist;\n\t\tseqcount_t mm_lock_seq;\n\t\tlong unsigned int hiwater_rss;\n\t\tlong unsigned int hiwater_vm;\n\t\tlong unsigned int total_vm;\n\t\tlong unsigned int locked_vm;\n\t\tatomic64_t pinned_vm;\n\t\tlong unsigned int data_vm;\n\t\tlong unsigned int exec_vm;\n\t\tlong unsigned int stack_vm;\n\t\tlong unsigned int def_flags;\n\t\tseqcount_t write_protect_seq;\n\t\tspinlock_t arg_lock;\n\t\tlong unsigned int start_code;\n\t\tlong unsigned int end_code;\n\t\tlong unsigned int start_data;\n\t\tlong unsigned int end_data;\n\t\tlong unsigned int start_brk;\n\t\tlong unsigned int brk;\n\t\tlong unsigned int start_stack;\n\t\tlong unsigned int arg_start;\n\t\tlong unsigned int arg_end;\n\t\tlong unsigned int env_start;\n\t\tlong unsigned int env_end;\n\t\tlong unsigned int saved_auxv[66];\n\t\tstruct percpu_counter rss_stat[4];\n\t\tstruct linux_binfmt *binfmt;\n\t\tmm_context_t context;\n\t\tlong unsigned int flags;\n\t\tspinlock_t ioctx_lock;\n\t\tstruct kioctx_table *ioctx_table;\n\t\tstruct task_struct *owner;\n\t\tstruct user_namespace *user_ns;\n\t\tstruct file *exe_file;\n\t\tstruct mmu_notifier_subscriptions *notifier_subscriptions;\n\t\tatomic_t tlb_flush_pending;\n\t\tatomic_t tlb_flush_batched;\n\t\tstruct uprobes_state uprobes_state;\n\t\tatomic_long_t hugetlb_usage;\n\t\tstruct work_struct async_put_work;\n\t\tlong: 64;\n\t\tlong: 64;\n\t};\n\tlong unsigned int cpu_bitmap[0];\n};\n\nstruct mm_struct__safe_rcu_or_null {\n\tstruct file *exe_file;\n};\n\nstruct mm_walk_ops;\n\nstruct mm_walk {\n\tconst struct mm_walk_ops *ops;\n\tstruct mm_struct *mm;\n\tpgd_t *pgd;\n\tstruct vm_area_struct *vma;\n\tenum page_walk_action action;\n\tbool no_vma;\n\tvoid *private;\n};\n\nstruct mm_walk_ops {\n\tint (*pgd_entry)(pgd_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*p4d_entry)(p4d_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pud_entry)(pud_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pmd_entry)(pmd_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pte_entry)(pte_t *, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pte_hole)(long unsigned int, long unsigned int, int, struct mm_walk *);\n\tint (*hugetlb_entry)(pte_t *, long unsigned int, long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*test_walk)(long unsigned int, long unsigned int, struct mm_walk *);\n\tint (*pre_vma)(long unsigned int, long unsigned int, struct mm_walk *);\n\tvoid (*post_vma)(struct mm_walk *);\n\tint (*install_pte)(long unsigned int, long unsigned int, pte_t *, struct mm_walk *);\n\tenum page_walk_lock walk_lock;\n};\n\nstruct vma_munmap_struct {\n\tstruct vma_iterator *vmi;\n\tstruct vm_area_struct *vma;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct list_head *uf;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int unmap_start;\n\tlong unsigned int unmap_end;\n\tint vma_count;\n\tbool unlock;\n\tbool clear_ptes;\n\tlong unsigned int nr_pages;\n\tlong unsigned int locked_vm;\n\tlong unsigned int nr_accounted;\n\tlong unsigned int exec_vm;\n\tlong unsigned int stack_vm;\n\tlong unsigned int data_vm;\n};\n\nstruct mmap_state {\n\tstruct mm_struct *mm;\n\tstruct vma_iterator *vmi;\n\tlong unsigned int addr;\n\tlong unsigned int end;\n\tlong unsigned int pgoff;\n\tlong unsigned int pglen;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tlong unsigned int charged;\n\tbool retry_merge;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct vma_munmap_struct vms;\n\tstruct ma_state mas_detach;\n\tstruct maple_tree mt_detach;\n};\n\nstruct mmap_unlock_irq_work {\n\tstruct irq_work irq_work;\n\tstruct mm_struct *mm;\n};\n\nstruct mmc_blk_busy_data {\n\tstruct mmc_card *card;\n\tu32 status;\n};\n\nstruct mmc_ctx {\n\tstruct task_struct *task;\n};\n\nstruct mmc_blk_data;\n\nstruct mmc_queue {\n\tstruct mmc_card *card;\n\tstruct mmc_ctx ctx;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct mmc_blk_data *blkdata;\n\tstruct request_queue *queue;\n\tspinlock_t lock;\n\tint in_flight[3];\n\tunsigned int cqe_busy;\n\tbool busy;\n\tbool recovery_needed;\n\tbool in_recovery;\n\tbool rw_wait;\n\tbool waiting;\n\tstruct work_struct recovery_work;\n\twait_queue_head_t wait;\n\tstruct request *recovery_req;\n\tstruct request *complete_req;\n\tstruct mutex complete_lock;\n\tstruct work_struct complete_work;\n};\n\nstruct mmc_blk_data {\n\tstruct device *parent;\n\tstruct gendisk *disk;\n\tstruct mmc_queue queue;\n\tstruct list_head part;\n\tstruct list_head rpmbs;\n\tunsigned int flags;\n\tstruct kref kref;\n\tunsigned int read_only;\n\tunsigned int part_type;\n\tunsigned int reset_done;\n\tunsigned int part_curr;\n\tint area_type;\n\tstruct dentry *status_dentry;\n\tstruct dentry *ext_csd_dentry;\n};\n\nstruct mmc_ioc_cmd {\n\tint write_flag;\n\tint is_acmd;\n\t__u32 opcode;\n\t__u32 arg;\n\t__u32 response[4];\n\tunsigned int flags;\n\tunsigned int blksz;\n\tunsigned int blocks;\n\tunsigned int postsleep_min_us;\n\tunsigned int postsleep_max_us;\n\tunsigned int data_timeout_ns;\n\tunsigned int cmd_timeout_ms;\n\t__u32 __pad;\n\t__u64 data_ptr;\n};\n\nstruct mmc_rpmb_data;\n\nstruct mmc_blk_ioc_data {\n\tstruct mmc_ioc_cmd ic;\n\tunsigned char *buf;\n\tu64 buf_bytes;\n\tunsigned int flags;\n\tstruct mmc_rpmb_data *rpmb;\n};\n\nstruct uhs2_command {\n\tu16 header;\n\tu16 arg;\n\t__be32 payload[2];\n\tu8 payload_len;\n\tu8 packet_len;\n\tu8 tmode_half_duplex;\n\tu8 uhs2_resp[20];\n\tu8 uhs2_resp_len;\n};\n\nstruct mmc_request {\n\tstruct mmc_command *sbc;\n\tstruct mmc_command *cmd;\n\tstruct mmc_data *data;\n\tstruct mmc_command *stop;\n\tstruct completion completion;\n\tstruct completion cmd_completion;\n\tvoid (*done)(struct mmc_request *);\n\tvoid (*recovery_notifier)(struct mmc_request *);\n\tstruct mmc_host *host;\n\tbool cap_cmd_during_tfr;\n\tint tag;\n\tstruct uhs2_command uhs2_cmd;\n};\n\nstruct mmc_data {\n\tunsigned int timeout_ns;\n\tunsigned int timeout_clks;\n\tunsigned int blksz;\n\tunsigned int blocks;\n\tunsigned int blk_addr;\n\tint error;\n\tunsigned int flags;\n\tunsigned int bytes_xfered;\n\tstruct mmc_command *stop;\n\tstruct mmc_request *mrq;\n\tunsigned int sg_len;\n\tint sg_count;\n\tstruct scatterlist *sg;\n\ts32 host_cookie;\n};\n\nstruct mmc_blk_request {\n\tstruct mmc_request mrq;\n\tstruct mmc_command sbc;\n\tstruct mmc_command cmd;\n\tstruct mmc_command stop;\n\tstruct mmc_data data;\n};\n\nstruct mmc_bus_ops {\n\tvoid (*remove)(struct mmc_host *);\n\tvoid (*detect)(struct mmc_host *);\n\tint (*pre_suspend)(struct mmc_host *);\n\tint (*suspend)(struct mmc_host *);\n\tint (*resume)(struct mmc_host *);\n\tint (*runtime_suspend)(struct mmc_host *);\n\tint (*runtime_resume)(struct mmc_host *);\n\tint (*alive)(struct mmc_host *);\n\tint (*shutdown)(struct mmc_host *);\n\tint (*hw_reset)(struct mmc_host *);\n\tint (*sw_reset)(struct mmc_host *);\n\tbool (*cache_enabled)(struct mmc_host *);\n\tint (*flush_cache)(struct mmc_host *);\n};\n\nstruct mmc_busy_data {\n\tstruct mmc_card *card;\n\tbool retry_crc_err;\n\tenum mmc_busy_cmd busy_cmd;\n};\n\nstruct mmc_cid {\n\tunsigned int manfid;\n\tchar prod_name[8];\n\tunsigned char prv;\n\tunsigned int serial;\n\tshort unsigned int oemid;\n\tshort unsigned int year;\n\tunsigned char hwrev;\n\tunsigned char fwrev;\n\tunsigned char month;\n};\n\nstruct mmc_csd {\n\tunsigned char structure;\n\tunsigned char mmca_vsn;\n\tshort unsigned int cmdclass;\n\tshort unsigned int taac_clks;\n\tunsigned int taac_ns;\n\tunsigned int c_size;\n\tunsigned int r2w_factor;\n\tunsigned int max_dtr;\n\tunsigned int erase_size;\n\tunsigned int wp_grp_size;\n\tunsigned int read_blkbits;\n\tunsigned int write_blkbits;\n\tsector_t capacity;\n\tunsigned int read_partial: 1;\n\tunsigned int read_misalign: 1;\n\tunsigned int write_partial: 1;\n\tunsigned int write_misalign: 1;\n\tunsigned int dsr_imp: 1;\n};\n\nstruct mmc_ext_csd {\n\tu8 rev;\n\tu8 erase_group_def;\n\tu8 sec_feature_support;\n\tu8 rel_sectors;\n\tu8 rel_param;\n\tbool enhanced_rpmb_supported;\n\tu8 part_config;\n\tu8 cache_ctrl;\n\tu8 rst_n_function;\n\tunsigned int part_time;\n\tunsigned int sa_timeout;\n\tunsigned int generic_cmd6_time;\n\tunsigned int power_off_longtime;\n\tu8 power_off_notification;\n\tunsigned int hs_max_dtr;\n\tunsigned int hs200_max_dtr;\n\tunsigned int sectors;\n\tunsigned int hc_erase_size;\n\tunsigned int hc_erase_timeout;\n\tunsigned int sec_trim_mult;\n\tunsigned int sec_erase_mult;\n\tunsigned int trim_timeout;\n\tbool partition_setting_completed;\n\tlong long unsigned int enhanced_area_offset;\n\tunsigned int enhanced_area_size;\n\tunsigned int cache_size;\n\tbool hpi_en;\n\tbool hpi;\n\tunsigned int hpi_cmd;\n\tbool bkops;\n\tbool man_bkops_en;\n\tbool auto_bkops_en;\n\tunsigned int data_sector_size;\n\tunsigned int data_tag_unit_size;\n\tunsigned int boot_ro_lock;\n\tbool boot_ro_lockable;\n\tbool ffu_capable;\n\tbool cmdq_en;\n\tbool cmdq_support;\n\tunsigned int cmdq_depth;\n\tu8 fwrev[8];\n\tu8 raw_exception_status;\n\tu8 raw_partition_support;\n\tu8 raw_rpmb_size_mult;\n\tu8 raw_erased_mem_count;\n\tu8 strobe_support;\n\tu8 raw_ext_csd_structure;\n\tu8 raw_card_type;\n\tu8 raw_driver_strength;\n\tu8 out_of_int_time;\n\tu8 raw_pwr_cl_52_195;\n\tu8 raw_pwr_cl_26_195;\n\tu8 raw_pwr_cl_52_360;\n\tu8 raw_pwr_cl_26_360;\n\tu8 raw_s_a_timeout;\n\tu8 raw_hc_erase_gap_size;\n\tu8 raw_erase_timeout_mult;\n\tu8 raw_hc_erase_grp_size;\n\tu8 raw_boot_mult;\n\tu8 raw_sec_trim_mult;\n\tu8 raw_sec_erase_mult;\n\tu8 raw_sec_feature_support;\n\tu8 raw_trim_mult;\n\tu8 raw_pwr_cl_200_195;\n\tu8 raw_pwr_cl_200_360;\n\tu8 raw_pwr_cl_ddr_52_195;\n\tu8 raw_pwr_cl_ddr_52_360;\n\tu8 raw_pwr_cl_ddr_200_360;\n\tu8 raw_bkops_status;\n\tu8 raw_sectors[4];\n\tu8 pre_eol_info;\n\tu8 device_life_time_est_typ_a;\n\tu8 device_life_time_est_typ_b;\n\tunsigned int feature_support;\n};\n\nstruct sd_scr {\n\tunsigned char sda_vsn;\n\tunsigned char sda_spec3;\n\tunsigned char sda_spec4;\n\tunsigned char sda_specx;\n\tunsigned char bus_widths;\n\tunsigned char cmds;\n};\n\nstruct sd_ssr {\n\tunsigned int au;\n\tunsigned int erase_timeout;\n\tunsigned int erase_offset;\n};\n\nstruct sd_switch_caps {\n\tunsigned int hs_max_dtr;\n\tunsigned int uhs_max_dtr;\n\tunsigned int sd3_bus_mode;\n\tunsigned int sd3_drv_type;\n\tunsigned int sd3_curr_limit;\n};\n\nstruct sd_ext_reg {\n\tu8 fno;\n\tu8 page;\n\tu16 offset;\n\tu8 rev;\n\tu8 feature_enabled;\n\tu8 feature_support;\n};\n\nstruct sd_uhs2_config {\n\tu32 node_id;\n\tu32 n_fcu;\n\tu32 maxblk_len;\n\tu8 n_lanes;\n\tu8 dadr_len;\n\tu8 app_type;\n\tu8 phy_minor_rev;\n\tu8 phy_major_rev;\n\tu8 can_hibernate;\n\tu8 n_lss_sync;\n\tu8 n_lss_dir;\n\tu8 link_minor_rev;\n\tu8 link_major_rev;\n\tu8 dev_type;\n\tu8 n_data_gap;\n\tu32 n_fcu_set;\n\tu32 maxblk_len_set;\n\tu8 n_lanes_set;\n\tu8 speed_range_set;\n\tu8 n_lss_sync_set;\n\tu8 n_lss_dir_set;\n\tu8 n_data_gap_set;\n\tu8 max_retry_set;\n};\n\nstruct sdio_cccr {\n\tunsigned int sdio_vsn;\n\tunsigned int sd_vsn;\n\tunsigned int multi_block: 1;\n\tunsigned int low_speed: 1;\n\tunsigned int wide_bus: 1;\n\tunsigned int high_power: 1;\n\tunsigned int high_speed: 1;\n\tunsigned int disable_cd: 1;\n\tunsigned int enable_async_irq: 1;\n};\n\nstruct sdio_cis {\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tshort unsigned int blksize;\n\tunsigned int max_dtr;\n};\n\nstruct mmc_part {\n\tu64 size;\n\tunsigned int part_cfg;\n\tchar name[20];\n\tbool force_ro;\n\tunsigned int area_type;\n};\n\nstruct sdio_func_tuple;\n\nstruct mmc_card {\n\tstruct mmc_host *host;\n\tstruct device dev;\n\tu32 ocr;\n\tunsigned int rca;\n\tunsigned int type;\n\tunsigned int state;\n\tunsigned int quirks;\n\tunsigned int quirk_max_rate;\n\tbool written_flag;\n\tbool reenable_cmdq;\n\tunsigned int erase_size;\n\tunsigned int erase_shift;\n\tunsigned int pref_erase;\n\tunsigned int eg_boundary;\n\tunsigned int erase_arg;\n\tu8 erased_byte;\n\tunsigned int wp_grp_size;\n\tu32 raw_cid[4];\n\tu32 raw_csd[4];\n\tu32 raw_scr[2];\n\tu32 raw_ssr[16];\n\tstruct mmc_cid cid;\n\tstruct mmc_csd csd;\n\tstruct mmc_ext_csd ext_csd;\n\tstruct sd_scr scr;\n\tstruct sd_ssr ssr;\n\tstruct sd_switch_caps sw_caps;\n\tstruct sd_ext_reg ext_power;\n\tstruct sd_ext_reg ext_perf;\n\tstruct sd_uhs2_config uhs2_config;\n\tunsigned int sdio_funcs;\n\tatomic_t sdio_funcs_probed;\n\tstruct sdio_cccr cccr;\n\tstruct sdio_cis cis;\n\tstruct sdio_func *sdio_func[7];\n\tstruct sdio_func *sdio_single_irq;\n\tu8 major_rev;\n\tu8 minor_rev;\n\tunsigned int num_info;\n\tconst char **info;\n\tstruct sdio_func_tuple *tuples;\n\tunsigned int sd_bus_speed;\n\tunsigned int mmc_avail_type;\n\tunsigned int drive_strength;\n\tstruct dentry *debugfs_root;\n\tstruct mmc_part part[7];\n\tunsigned int nr_parts;\n\tstruct workqueue_struct *complete_wq;\n};\n\nstruct mmc_clk_phase {\n\tbool valid;\n\tu16 in_deg;\n\tu16 out_deg;\n};\n\nstruct mmc_clk_phase_map {\n\tstruct mmc_clk_phase phase[11];\n};\n\nstruct mmc_cqe_ops {\n\tint (*cqe_enable)(struct mmc_host *, struct mmc_card *);\n\tvoid (*cqe_disable)(struct mmc_host *);\n\tint (*cqe_request)(struct mmc_host *, struct mmc_request *);\n\tvoid (*cqe_post_req)(struct mmc_host *, struct mmc_request *);\n\tvoid (*cqe_off)(struct mmc_host *);\n\tint (*cqe_wait_for_idle)(struct mmc_host *);\n\tbool (*cqe_timeout)(struct mmc_host *, struct mmc_request *, bool *);\n\tvoid (*cqe_recovery_start)(struct mmc_host *);\n\tvoid (*cqe_recovery_finish)(struct mmc_host *);\n};\n\nstruct mmc_driver {\n\tstruct device_driver drv;\n\tint (*probe)(struct mmc_card *);\n\tvoid (*remove)(struct mmc_card *);\n\tvoid (*shutdown)(struct mmc_card *);\n};\n\nstruct mmc_fixup {\n\tconst char *name;\n\tu64 rev_start;\n\tu64 rev_end;\n\tunsigned int manfid;\n\tshort unsigned int oemid;\n\tshort unsigned int year;\n\tunsigned char month;\n\tu16 cis_vendor;\n\tu16 cis_device;\n\tunsigned int ext_csd_rev;\n\tconst char *of_compatible;\n\tvoid (*vendor_fixup)(struct mmc_card *, int);\n\tint data;\n};\n\nstruct mmc_gpio {\n\tstruct gpio_desc *ro_gpio;\n\tstruct gpio_desc *cd_gpio;\n\tirq_handler_t cd_gpio_isr;\n\tchar *ro_label;\n\tchar *cd_label;\n\tu32 cd_debounce_delay_ms;\n\tint cd_irq;\n};\n\nstruct sd_uhs2_caps {\n\tu32 dap;\n\tu32 gap;\n\tu32 group_desc;\n\tu32 maxblk_len;\n\tu32 n_fcu;\n\tu8 n_lanes;\n\tu8 addr64;\n\tu8 card_type;\n\tu8 phy_rev;\n\tu8 speed_range;\n\tu8 n_lss_sync;\n\tu8 n_lss_dir;\n\tu8 link_rev;\n\tu8 host_type;\n\tu8 n_data_gap;\n\tu32 maxblk_len_set;\n\tu32 n_fcu_set;\n\tu8 n_lanes_set;\n\tu8 n_lss_sync_set;\n\tu8 n_lss_dir_set;\n\tu8 n_data_gap_set;\n\tu8 max_retry_set;\n};\n\nstruct mmc_ios {\n\tunsigned int clock;\n\tshort unsigned int vdd;\n\tunsigned int power_delay_ms;\n\tunsigned char bus_mode;\n\tunsigned char chip_select;\n\tunsigned char power_mode;\n\tunsigned char bus_width;\n\tunsigned char timing;\n\tunsigned char signal_voltage;\n\tunsigned char vqmmc2_voltage;\n\tunsigned char drv_type;\n\tbool enhanced_strobe;\n};\n\nstruct mmc_slot {\n\tint cd_irq;\n\tbool cd_wake_enabled;\n\tvoid *handler_priv;\n};\n\nstruct mmc_supply {\n\tstruct regulator *vmmc;\n\tstruct regulator *vqmmc;\n\tstruct regulator *vqmmc2;\n};\n\nstruct mmc_host_ops;\n\nstruct mmc_pwrseq;\n\nstruct mmc_host {\n\tstruct device *parent;\n\tstruct device class_dev;\n\tint index;\n\tconst struct mmc_host_ops *ops;\n\tstruct mmc_pwrseq *pwrseq;\n\tunsigned int f_min;\n\tunsigned int f_max;\n\tunsigned int f_init;\n\tu32 ocr_avail;\n\tu32 ocr_avail_sdio;\n\tu32 ocr_avail_sd;\n\tu32 ocr_avail_mmc;\n\tstruct wakeup_source *ws;\n\tu32 max_current_330;\n\tu32 max_current_300;\n\tu32 max_current_180;\n\tu32 caps;\n\tu32 caps2;\n\tbool uhs2_sd_tran;\n\tbool uhs2_app_cmd;\n\tstruct sd_uhs2_caps uhs2_caps;\n\tint fixed_drv_type;\n\tmmc_pm_flag_t pm_caps;\n\tunsigned int max_seg_size;\n\tshort unsigned int max_segs;\n\tshort unsigned int unused;\n\tunsigned int max_req_size;\n\tunsigned int max_blk_size;\n\tunsigned int max_blk_count;\n\tunsigned int max_busy_timeout;\n\tspinlock_t lock;\n\tstruct mmc_ios ios;\n\tunsigned int use_spi_crc: 1;\n\tunsigned int claimed: 1;\n\tunsigned int doing_init_tune: 1;\n\tunsigned int can_retune: 1;\n\tunsigned int doing_retune: 1;\n\tunsigned int retune_now: 1;\n\tunsigned int retune_paused: 1;\n\tunsigned int retune_crc_disable: 1;\n\tunsigned int can_dma_map_merge: 1;\n\tunsigned int vqmmc_enabled: 1;\n\tint rescan_disable;\n\tint rescan_entered;\n\tint need_retune;\n\tint hold_retune;\n\tunsigned int retune_period;\n\tstruct timer_list retune_timer;\n\tbool trigger_card_event;\n\tstruct mmc_card *card;\n\twait_queue_head_t wq;\n\tstruct mmc_ctx *claimer;\n\tint claim_cnt;\n\tstruct mmc_ctx default_ctx;\n\tstruct delayed_work detect;\n\tint detect_change;\n\tstruct mmc_slot slot;\n\tconst struct mmc_bus_ops *bus_ops;\n\tunsigned int sdio_irqs;\n\tstruct task_struct *sdio_irq_thread;\n\tstruct work_struct sdio_irq_work;\n\tbool sdio_irq_pending;\n\tatomic_t sdio_irq_thread_abort;\n\tmmc_pm_flag_t pm_flags;\n\tstruct led_trigger *led;\n\tbool regulator_enabled;\n\tstruct mmc_supply supply;\n\tstruct dentry *debugfs_root;\n\tstruct mmc_request *ongoing_mrq;\n\tunsigned int actual_clock;\n\tunsigned int slotno;\n\tint dsr_req;\n\tu32 dsr;\n\tconst struct mmc_cqe_ops *cqe_ops;\n\tvoid *cqe_private;\n\tint cqe_qdepth;\n\tbool cqe_enabled;\n\tbool cqe_on;\n\tbool hsq_enabled;\n\tint hsq_depth;\n\tu32 err_stats[15];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct mmc_host_ops {\n\tvoid (*post_req)(struct mmc_host *, struct mmc_request *, int);\n\tvoid (*pre_req)(struct mmc_host *, struct mmc_request *);\n\tvoid (*request)(struct mmc_host *, struct mmc_request *);\n\tint (*request_atomic)(struct mmc_host *, struct mmc_request *);\n\tvoid (*set_ios)(struct mmc_host *, struct mmc_ios *);\n\tint (*get_ro)(struct mmc_host *);\n\tint (*get_cd)(struct mmc_host *);\n\tvoid (*enable_sdio_irq)(struct mmc_host *, int);\n\tvoid (*ack_sdio_irq)(struct mmc_host *);\n\tvoid (*init_card)(struct mmc_host *, struct mmc_card *);\n\tint (*start_signal_voltage_switch)(struct mmc_host *, struct mmc_ios *);\n\tint (*card_busy)(struct mmc_host *);\n\tint (*execute_tuning)(struct mmc_host *, u32);\n\tint (*prepare_hs400_tuning)(struct mmc_host *, struct mmc_ios *);\n\tint (*execute_hs400_tuning)(struct mmc_host *, struct mmc_card *);\n\tint (*prepare_sd_hs_tuning)(struct mmc_host *, struct mmc_card *);\n\tint (*execute_sd_hs_tuning)(struct mmc_host *, struct mmc_card *);\n\tint (*hs400_prepare_ddr)(struct mmc_host *);\n\tvoid (*hs400_downgrade)(struct mmc_host *);\n\tvoid (*hs400_complete)(struct mmc_host *);\n\tvoid (*hs400_enhanced_strobe)(struct mmc_host *, struct mmc_ios *);\n\tint (*select_drive_strength)(struct mmc_card *, unsigned int, int, int, int *);\n\tvoid (*card_hw_reset)(struct mmc_host *);\n\tvoid (*card_event)(struct mmc_host *);\n\tint (*multi_io_quirk)(struct mmc_card *, unsigned int, int);\n\tint (*init_sd_express)(struct mmc_host *, struct mmc_ios *);\n\tint (*uhs2_control)(struct mmc_host *, enum sd_uhs2_operation);\n};\n\nstruct mmc_ioc_multi_cmd {\n\t__u64 num_of_cmds;\n\tstruct mmc_ioc_cmd cmds[0];\n};\n\nstruct mmc_op_cond_busy_data {\n\tstruct mmc_host *host;\n\tu32 ocr;\n\tstruct mmc_command *cmd;\n};\n\nstruct mmc_pwrseq_ops;\n\nstruct mmc_pwrseq {\n\tconst struct mmc_pwrseq_ops *ops;\n\tstruct device *dev;\n\tstruct list_head pwrseq_node;\n\tstruct module *owner;\n};\n\nstruct mmc_pwrseq_emmc {\n\tstruct mmc_pwrseq pwrseq;\n\tstruct notifier_block reset_nb;\n\tstruct gpio_desc *reset_gpio;\n};\n\nstruct mmc_pwrseq_ops {\n\tvoid (*pre_power_on)(struct mmc_host *);\n\tvoid (*post_power_on)(struct mmc_host *);\n\tvoid (*power_off)(struct mmc_host *);\n\tvoid (*reset)(struct mmc_host *);\n};\n\nstruct mmc_pwrseq_simple {\n\tstruct mmc_pwrseq pwrseq;\n\tbool clk_enabled;\n\tu32 post_power_on_delay_ms;\n\tu32 power_off_delay_us;\n\tstruct clk *ext_clk;\n\tstruct gpio_descs *reset_gpios;\n\tstruct reset_control *reset_ctrl;\n};\n\nstruct mmc_queue_req {\n\tstruct mmc_blk_request brq;\n\tstruct scatterlist *sg;\n\tenum mmc_drv_op drv_op;\n\tint drv_op_result;\n\tvoid *drv_op_data;\n\tunsigned int ioc_count;\n\tint retries;\n};\n\nstruct rpmb_dev;\n\nstruct mmc_rpmb_data {\n\tstruct device dev;\n\tstruct cdev chrdev;\n\tint id;\n\tunsigned int part_index;\n\tstruct mmc_blk_data *md;\n\tstruct rpmb_dev *rdev;\n\tstruct list_head node;\n};\n\nstruct spi_delay {\n\tu16 value;\n\tu8 unit;\n};\n\nstruct spi_transfer {\n\tconst void *tx_buf;\n\tvoid *rx_buf;\n\tunsigned int len;\n\tu16 error;\n\tbool tx_sg_mapped;\n\tbool rx_sg_mapped;\n\tstruct sg_table tx_sg;\n\tstruct sg_table rx_sg;\n\tdma_addr_t tx_dma;\n\tdma_addr_t rx_dma;\n\tunsigned int dummy_data: 1;\n\tunsigned int cs_off: 1;\n\tunsigned int cs_change: 1;\n\tunsigned int tx_nbits: 4;\n\tunsigned int rx_nbits: 4;\n\tunsigned int timestamped: 1;\n\tu8 bits_per_word;\n\tstruct spi_delay delay;\n\tstruct spi_delay cs_change_delay;\n\tstruct spi_delay word_delay;\n\tu32 speed_hz;\n\tu32 effective_speed_hz;\n\tunsigned int ptp_sts_word_pre;\n\tunsigned int ptp_sts_word_post;\n\tstruct ptp_system_timestamp *ptp_sts;\n\tstruct list_head transfer_list;\n};\n\nstruct spi_device;\n\nstruct spi_message {\n\tstruct list_head transfers;\n\tstruct spi_device *spi;\n\tbool pre_optimized;\n\tbool optimized;\n\tbool prepared;\n\tint status;\n\tvoid (*complete)(void *);\n\tvoid *context;\n\tunsigned int frame_length;\n\tunsigned int actual_length;\n\tstruct list_head queue;\n\tvoid *state;\n\tvoid *opt_state;\n\tstruct list_head resources;\n};\n\nstruct mmc_spi_platform_data;\n\nstruct scratch;\n\nstruct mmc_spi_host {\n\tstruct mmc_host *mmc;\n\tstruct spi_device *spi;\n\tunsigned char power_mode;\n\tu16 powerup_msecs;\n\tstruct mmc_spi_platform_data *pdata;\n\tstruct spi_transfer token;\n\tstruct spi_transfer t;\n\tstruct spi_transfer crc;\n\tstruct spi_transfer early_status;\n\tstruct spi_message m;\n\tstruct spi_transfer status;\n\tstruct spi_message readback;\n\tstruct scratch *data;\n\tvoid *ones;\n};\n\nstruct mmc_spi_platform_data {\n\tint (*init)(struct device *, irqreturn_t (*)(int, void *), void *);\n\tvoid (*exit)(struct device *, void *);\n\tlong unsigned int caps;\n\tlong unsigned int caps2;\n\tu16 detect_delay;\n\tu16 powerup_msecs;\n\tu32 ocr_mask;\n\tvoid (*setpower)(struct device *, unsigned int);\n};\n\nstruct mmiowb_state {\n\tu16 nesting_count;\n\tu16 mmiowb_pending;\n};\n\nstruct mmp_struct {\n\t__le32 mmp_magic;\n\t__le32 mmp_seq;\n\t__le64 mmp_time;\n\tchar mmp_nodename[64];\n\tchar mmp_bdevname[32];\n\t__le16 mmp_check_interval;\n\t__le16 mmp_pad1;\n\t__le32 mmp_pad2[226];\n\t__le32 mmp_checksum;\n};\n\nstruct mmpin {\n\tstruct user_struct *user;\n\tunsigned int num_pg;\n};\n\nstruct user_msghdr {\n\tvoid *msg_name;\n\tint msg_namelen;\n\tstruct iovec *msg_iov;\n\t__kernel_size_t msg_iovlen;\n\tvoid *msg_control;\n\t__kernel_size_t msg_controllen;\n\tunsigned int msg_flags;\n};\n\nstruct mmsghdr {\n\tstruct user_msghdr msg_hdr;\n\tunsigned int msg_len;\n};\n\nstruct encoded_page;\n\nstruct mmu_gather_batch {\n\tstruct mmu_gather_batch *next;\n\tunsigned int nr;\n\tunsigned int max;\n\tstruct encoded_page *encoded_pages[0];\n};\n\nstruct mmu_table_batch;\n\nstruct mmu_gather {\n\tstruct mm_struct *mm;\n\tstruct mmu_table_batch *batch;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int fullmm: 1;\n\tunsigned int need_flush_all: 1;\n\tunsigned int freed_tables: 1;\n\tunsigned int delayed_rmap: 1;\n\tunsigned int cleared_ptes: 1;\n\tunsigned int cleared_pmds: 1;\n\tunsigned int cleared_puds: 1;\n\tunsigned int cleared_p4ds: 1;\n\tunsigned int vma_exec: 1;\n\tunsigned int vma_huge: 1;\n\tunsigned int vma_pfn: 1;\n\tunsigned int batch_count;\n\tstruct mmu_gather_batch *active;\n\tstruct mmu_gather_batch local;\n\tstruct page *__pages[8];\n};\n\nstruct mmu_interval_notifier_ops;\n\nstruct mmu_interval_notifier {\n\tstruct interval_tree_node interval_tree;\n\tconst struct mmu_interval_notifier_ops *ops;\n\tstruct mm_struct *mm;\n\tstruct hlist_node deferred_item;\n\tlong unsigned int invalidate_seq;\n};\n\nstruct mmu_notifier_range;\n\nstruct mmu_interval_notifier_ops {\n\tbool (*invalidate)(struct mmu_interval_notifier *, const struct mmu_notifier_range *, long unsigned int);\n};\n\nstruct mmu_notifier_ops {\n\tvoid (*release)(struct mmu_notifier *, struct mm_struct *);\n\tint (*clear_flush_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tint (*clear_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tint (*test_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int);\n\tint (*invalidate_range_start)(struct mmu_notifier *, const struct mmu_notifier_range *);\n\tvoid (*invalidate_range_end)(struct mmu_notifier *, const struct mmu_notifier_range *);\n\tvoid (*arch_invalidate_secondary_tlbs)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int);\n\tstruct mmu_notifier * (*alloc_notifier)(struct mm_struct *);\n\tvoid (*free_notifier)(struct mmu_notifier *);\n};\n\nstruct mmu_notifier_range {\n\tstruct mm_struct *mm;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int flags;\n\tenum mmu_notifier_event event;\n\tvoid *owner;\n};\n\nstruct mmu_notifier_subscriptions {\n\tstruct hlist_head list;\n\tbool has_itree;\n\tspinlock_t lock;\n\tlong unsigned int invalidate_seq;\n\tlong unsigned int active_invalidate_ranges;\n\tstruct rb_root_cached itree;\n\twait_queue_head_t wq;\n\tstruct hlist_head deferred_list;\n};\n\nstruct mmu_table_batch {\n\tstruct callback_head rcu;\n\tunsigned int nr;\n\tvoid *tables[0];\n};\n\nstruct mnt_id_req {\n\t__u32 size;\n\t__u32 spare;\n\t__u64 mnt_id;\n\t__u64 param;\n\t__u64 mnt_ns_id;\n};\n\nstruct uid_gid_extent {\n\tu32 first;\n\tu32 lower_first;\n\tu32 count;\n};\n\nstruct uid_gid_map {\n\tunion {\n\t\tstruct {\n\t\t\tstruct uid_gid_extent extent[5];\n\t\t\tu32 nr_extents;\n\t\t};\n\t\tstruct {\n\t\t\tstruct uid_gid_extent *forward;\n\t\t\tstruct uid_gid_extent *reverse;\n\t\t};\n\t};\n};\n\nstruct mnt_idmap {\n\tstruct uid_gid_map uid_map;\n\tstruct uid_gid_map gid_map;\n\trefcount_t count;\n};\n\nstruct mount;\n\nstruct mnt_namespace {\n\tstruct ns_common ns;\n\tstruct mount *root;\n\tstruct {\n\t\tstruct rb_root mounts;\n\t\tstruct rb_node *mnt_last_node;\n\t\tstruct rb_node *mnt_first_node;\n\t};\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tu64 seq;\n\tunion {\n\t\twait_queue_head_t poll;\n\t\tstruct callback_head mnt_ns_rcu;\n\t};\n\tu64 event;\n\tunsigned int nr_mounts;\n\tunsigned int pending_mounts;\n\tstruct rb_node mnt_ns_tree_node;\n\tstruct list_head mnt_ns_list;\n\trefcount_t passive;\n};\n\nstruct mnt_ns_info {\n\t__u32 size;\n\t__u32 nr_mounts;\n\t__u64 mnt_ns_id;\n};\n\nstruct mnt_pcp {\n\tint mnt_count;\n\tint mnt_writers;\n};\n\nstruct mod_arch_specific {};\n\nstruct mod_initfree {\n\tstruct llist_node node;\n\tvoid *init_text;\n\tvoid *init_data;\n\tvoid *init_rodata;\n};\n\nstruct mod_kallsyms {\n\tElf64_Sym *symtab;\n\tunsigned int num_symtab;\n\tchar *strtab;\n\tchar *typetab;\n};\n\nstruct mod_tree_node {\n\tstruct module *mod;\n\tstruct latch_tree_node node;\n};\n\nstruct mod_tree_root {\n\tstruct latch_tree_root root;\n\tlong unsigned int addr_min;\n\tlong unsigned int addr_max;\n};\n\nstruct mode_page_header {\n\t__be16 mode_data_length;\n\t__u8 medium_type;\n\t__u8 reserved1;\n\t__u8 reserved2;\n\t__u8 reserved3;\n\t__be16 desc_length;\n};\n\nstruct modesel_head {\n\t__u8 reserved1;\n\t__u8 medium;\n\t__u8 reserved2;\n\t__u8 block_desc_length;\n\t__u8 density;\n\t__u8 number_of_blocks_hi;\n\t__u8 number_of_blocks_med;\n\t__u8 number_of_blocks_lo;\n\t__u8 reserved3;\n\t__u8 block_length_hi;\n\t__u8 block_length_med;\n\t__u8 block_length_lo;\n};\n\nstruct module_param_attrs;\n\nstruct module_kobject {\n\tstruct kobject kobj;\n\tstruct module *mod;\n\tstruct kobject *drivers_dir;\n\tstruct module_param_attrs *mp;\n\tstruct completion *kobj_completion;\n};\n\nstruct module_memory {\n\tvoid *base;\n\tvoid *rw_copy;\n\tbool is_rox;\n\tunsigned int size;\n\tstruct mod_tree_node mtn;\n};\n\ntypedef struct tracepoint * const tracepoint_ptr_t;\n\nstruct module_attribute;\n\nstruct module_sect_attrs;\n\nstruct module_notes_attrs;\n\nstruct trace_event_call;\n\nstruct trace_eval_map;\n\nstruct module {\n\tenum module_state state;\n\tstruct list_head list;\n\tchar name[56];\n\tstruct module_kobject mkobj;\n\tstruct module_attribute *modinfo_attrs;\n\tconst char *version;\n\tconst char *srcversion;\n\tstruct kobject *holders_dir;\n\tconst struct kernel_symbol *syms;\n\tconst u32 *crcs;\n\tunsigned int num_syms;\n\tstruct mutex param_lock;\n\tstruct kernel_param *kp;\n\tunsigned int num_kp;\n\tunsigned int num_gpl_syms;\n\tconst struct kernel_symbol *gpl_syms;\n\tconst u32 *gpl_crcs;\n\tbool using_gplonly_symbols;\n\tbool async_probe_requested;\n\tunsigned int num_exentries;\n\tstruct exception_table_entry *extable;\n\tint (*init)(void);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct module_memory mem[7];\n\tstruct mod_arch_specific arch;\n\tlong unsigned int taints;\n\tunsigned int num_bugs;\n\tstruct list_head bug_list;\n\tstruct bug_entry *bug_table;\n\tstruct mod_kallsyms *kallsyms;\n\tstruct mod_kallsyms core_kallsyms;\n\tstruct module_sect_attrs *sect_attrs;\n\tstruct module_notes_attrs *notes_attrs;\n\tchar *args;\n\tvoid *percpu;\n\tunsigned int percpu_size;\n\tvoid *noinstr_text_start;\n\tunsigned int noinstr_text_size;\n\tunsigned int num_tracepoints;\n\ttracepoint_ptr_t *tracepoints_ptrs;\n\tunsigned int num_srcu_structs;\n\tstruct srcu_struct **srcu_struct_ptrs;\n\tunsigned int num_bpf_raw_events;\n\tstruct bpf_raw_event_map *bpf_raw_events;\n\tunsigned int btf_data_size;\n\tunsigned int btf_base_data_size;\n\tvoid *btf_data;\n\tvoid *btf_base_data;\n\tstruct jump_entry *jump_entries;\n\tunsigned int num_jump_entries;\n\tunsigned int num_trace_bprintk_fmt;\n\tconst char **trace_bprintk_fmt_start;\n\tstruct trace_event_call **trace_events;\n\tunsigned int num_trace_events;\n\tstruct trace_eval_map **trace_evals;\n\tunsigned int num_trace_evals;\n\tstruct list_head source_list;\n\tstruct list_head target_list;\n\tvoid (*exit)(void);\n\tatomic_t refcnt;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct module_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(const struct module_attribute *, struct module_kobject *, char *);\n\tssize_t (*store)(const struct module_attribute *, struct module_kobject *, const char *, size_t);\n\tvoid (*setup)(struct module *, const char *);\n\tint (*test)(struct module *);\n\tvoid (*free)(struct module *);\n};\n\nstruct module_notes_attrs {\n\tstruct attribute_group grp;\n\tstruct bin_attribute attrs[0];\n};\n\nstruct param_attribute {\n\tstruct module_attribute mattr;\n\tconst struct kernel_param *param;\n};\n\nstruct module_param_attrs {\n\tunsigned int num;\n\tstruct attribute_group grp;\n\tstruct param_attribute attrs[0];\n};\n\nstruct module_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_module_power_mode_params power;\n};\n\nstruct module_sect_attrs {\n\tstruct attribute_group grp;\n\tstruct bin_attribute attrs[0];\n};\n\nstruct module_string {\n\tstruct list_head next;\n\tstruct module *module;\n\tchar *str;\n};\n\nstruct module_use {\n\tstruct list_head source_list;\n\tstruct list_head target_list;\n\tstruct module *source;\n\tstruct module *target;\n};\n\nstruct module_version_attribute {\n\tstruct module_attribute mattr;\n\tconst char *module_name;\n\tconst char *version;\n};\n\nstruct vfsmount {\n\tstruct dentry *mnt_root;\n\tstruct super_block *mnt_sb;\n\tint mnt_flags;\n\tstruct mnt_idmap *mnt_idmap;\n};\n\nstruct mountpoint;\n\nstruct mount {\n\tstruct hlist_node mnt_hash;\n\tstruct mount *mnt_parent;\n\tstruct dentry *mnt_mountpoint;\n\tstruct vfsmount mnt;\n\tunion {\n\t\tstruct rb_node mnt_node;\n\t\tstruct callback_head mnt_rcu;\n\t\tstruct llist_node mnt_llist;\n\t};\n\tstruct mnt_pcp *mnt_pcp;\n\tstruct list_head mnt_mounts;\n\tstruct list_head mnt_child;\n\tstruct list_head mnt_instance;\n\tconst char *mnt_devname;\n\tstruct list_head mnt_list;\n\tstruct list_head mnt_expire;\n\tstruct list_head mnt_share;\n\tstruct list_head mnt_slave_list;\n\tstruct list_head mnt_slave;\n\tstruct mount *mnt_master;\n\tstruct mnt_namespace *mnt_ns;\n\tstruct mountpoint *mnt_mp;\n\tunion {\n\t\tstruct hlist_node mnt_mp_list;\n\t\tstruct hlist_node mnt_umount;\n\t};\n\tstruct list_head mnt_umounting;\n\tstruct fsnotify_mark_connector *mnt_fsnotify_marks;\n\t__u32 mnt_fsnotify_mask;\n\tint mnt_id;\n\tu64 mnt_id_unique;\n\tint mnt_group_id;\n\tint mnt_expiry_mark;\n\tstruct hlist_head mnt_pins;\n\tstruct hlist_head mnt_stuck_children;\n};\n\nstruct mount_attr {\n\t__u64 attr_set;\n\t__u64 attr_clr;\n\t__u64 propagation;\n\t__u64 userns_fd;\n};\n\nstruct mount_kattr {\n\tunsigned int attr_set;\n\tunsigned int attr_clr;\n\tunsigned int propagation;\n\tunsigned int lookup_flags;\n\tbool recurse;\n\tstruct user_namespace *mnt_userns;\n\tstruct mnt_idmap *mnt_idmap;\n};\n\nstruct mount_opts {\n\tint token;\n\tint mount_opt;\n\tint flags;\n};\n\nstruct mountpoint {\n\tstruct hlist_node m_hash;\n\tstruct dentry *m_dentry;\n\tstruct hlist_head m_list;\n\tint m_count;\n};\n\nstruct mountres {\n\tint errno;\n\tstruct nfs_fh *fh;\n\tunsigned int *auth_count;\n\trpc_authflavor_t *auth_flavors;\n};\n\nstruct mousedev_hw_data {\n\tint dx;\n\tint dy;\n\tint dz;\n\tint x;\n\tint y;\n\tint abs_event;\n\tlong unsigned int buttons;\n};\n\nstruct mousedev {\n\tint open;\n\tstruct input_handle handle;\n\twait_queue_head_t wait;\n\tstruct list_head client_list;\n\tspinlock_t client_lock;\n\tstruct mutex mutex;\n\tstruct device dev;\n\tstruct cdev cdev;\n\tbool exist;\n\tstruct list_head mixdev_node;\n\tbool opened_by_mixdev;\n\tstruct mousedev_hw_data packet;\n\tunsigned int pkt_count;\n\tint old_x[4];\n\tint old_y[4];\n\tint frac_dx;\n\tint frac_dy;\n\tlong unsigned int touch;\n\tint (*open_device)(struct mousedev *);\n\tvoid (*close_device)(struct mousedev *);\n};\n\nstruct mousedev_motion {\n\tint dx;\n\tint dy;\n\tint dz;\n\tlong unsigned int buttons;\n};\n\nstruct mousedev_client {\n\tstruct fasync_struct *fasync;\n\tstruct mousedev *mousedev;\n\tstruct list_head node;\n\tstruct mousedev_motion packets[16];\n\tunsigned int head;\n\tunsigned int tail;\n\tspinlock_t packet_lock;\n\tint pos_x;\n\tint pos_y;\n\tu8 ps2[6];\n\tunsigned char ready;\n\tunsigned char buffer;\n\tunsigned char bufsiz;\n\tunsigned char imexseq;\n\tunsigned char impsseq;\n\tenum mousedev_emul mode;\n\tlong unsigned int last_buttons;\n};\n\nstruct movable_operations {\n\tbool (*isolate_page)(struct page *, isolate_mode_t);\n\tint (*migrate_page)(struct page *, struct page *, enum migrate_mode);\n\tvoid (*putback_page)(struct page *);\n};\n\nstruct move_extent {\n\t__u32 reserved;\n\t__u32 donor_fd;\n\t__u64 orig_start;\n\t__u64 donor_start;\n\t__u64 len;\n\t__u64 moved_len;\n};\n\nstruct mpage_da_data {\n\tstruct inode *inode;\n\tstruct writeback_control *wbc;\n\tunsigned int can_map: 1;\n\tlong unsigned int first_page;\n\tlong unsigned int next_page;\n\tlong unsigned int last_page;\n\tstruct ext4_map_blocks map;\n\tstruct ext4_io_submit io_submit;\n\tunsigned int do_map: 1;\n\tunsigned int scanned_until_end: 1;\n\tunsigned int journalled_more_data: 1;\n};\n\nstruct mpage_data {\n\tstruct bio *bio;\n\tsector_t last_block_in_bio;\n\tget_block_t *get_block;\n};\n\nstruct mpage_readpage_args {\n\tstruct bio *bio;\n\tstruct folio *folio;\n\tunsigned int nr_pages;\n\tbool is_readahead;\n\tsector_t last_block_in_bio;\n\tstruct buffer_head map_bh;\n\tlong unsigned int first_logical_block;\n\tget_block_t *get_block;\n};\n\nstruct mpfs_ccc_data {\n\tvoid **pll_base;\n\tstruct device *dev;\n\tstruct clk_hw_onecell_data hw_data;\n};\n\nstruct mpfs_ccc_out_hw_clock {\n\tstruct clk_divider divider;\n\tstruct clk_init_data init;\n\tunsigned int id;\n\tu32 reg_offset;\n};\n\nstruct mpfs_ccc_pll_hw_clock {\n\tvoid *base;\n\tconst char *name;\n\tconst struct clk_parent_data *parents;\n\tunsigned int id;\n\tu32 reg_offset;\n\tu32 shift;\n\tu32 width;\n\tu32 flags;\n\tstruct clk_hw hw;\n\tstruct clk_init_data init;\n};\n\nstruct mpfs_cfg_hw_clock {\n\tstruct clk_divider cfg;\n\tstruct clk_init_data init;\n\tunsigned int id;\n\tu32 reg_offset;\n};\n\nstruct mpfs_clock_data {\n\tstruct device *dev;\n\tvoid *base;\n\tvoid *msspll_base;\n\tstruct clk_hw_onecell_data hw_data;\n};\n\nstruct mpfs_msspll_hw_clock {\n\tvoid *base;\n\tstruct clk_hw hw;\n\tstruct clk_init_data init;\n\tunsigned int id;\n\tu32 reg_offset;\n\tu32 shift;\n\tu32 width;\n\tu32 flags;\n};\n\nstruct mpfs_msspll_out_hw_clock {\n\tvoid *base;\n\tstruct clk_divider output;\n\tstruct clk_init_data init;\n\tunsigned int id;\n\tu32 reg_offset;\n};\n\nstruct mpfs_periph_hw_clock {\n\tstruct clk_gate periph;\n\tunsigned int id;\n};\n\nstruct mpfs_reset {\n\tvoid *base;\n\tstruct reset_controller_dev rcdev;\n};\n\nstruct mpls_label {\n\t__be32 entry;\n};\n\nstruct mpls_shim_hdr {\n\t__be32 label_stack_entry;\n};\n\nstruct mptcp_out_options {};\n\nstruct mptcp_sock {};\n\nstruct mq_inflight {\n\tstruct block_device *part;\n\tunsigned int inflight[2];\n};\n\nstruct mq_sched {\n\tstruct Qdisc **qdiscs;\n};\n\nstruct mqueue_fs_context {\n\tstruct ipc_namespace *ipc_ns;\n\tbool newns;\n};\n\nstruct sigevent {\n\tsigval_t sigev_value;\n\tint sigev_signo;\n\tint sigev_notify;\n\tunion {\n\t\tint _pad[12];\n\t\tint _tid;\n\t\tstruct {\n\t\t\tvoid (*_function)(sigval_t);\n\t\t\tvoid *_attribute;\n\t\t} _sigev_thread;\n\t} _sigev_un;\n};\n\nstruct posix_msg_tree_node;\n\nstruct mqueue_inode_info {\n\tspinlock_t lock;\n\tstruct inode vfs_inode;\n\twait_queue_head_t wait_q;\n\tstruct rb_root msg_tree;\n\tstruct rb_node *msg_tree_rightmost;\n\tstruct posix_msg_tree_node *node_cache;\n\tstruct mq_attr attr;\n\tstruct sigevent notify;\n\tstruct pid *notify_owner;\n\tu32 notify_self_exec_id;\n\tstruct user_namespace *notify_user_ns;\n\tstruct ucounts *ucounts;\n\tstruct sock *notify_sock;\n\tstruct sk_buff *notify_cookie;\n\tstruct ext_wait_queue e_wait_q[2];\n\tlong unsigned int qsize;\n};\n\nstruct mrw_feature_desc {\n\t__be16 feature_code;\n\t__u8 curr: 1;\n\t__u8 persistent: 1;\n\t__u8 feature_version: 4;\n\t__u8 reserved1: 2;\n\t__u8 add_len;\n\t__u8 write: 1;\n\t__u8 reserved2: 7;\n\t__u8 reserved3;\n\t__u8 reserved4;\n\t__u8 reserved5;\n};\n\nstruct msdos_dir_entry {\n\t__u8 name[11];\n\t__u8 attr;\n\t__u8 lcase;\n\t__u8 ctime_cs;\n\t__le16 ctime;\n\t__le16 cdate;\n\t__le16 adate;\n\t__le16 starthi;\n\t__le16 time;\n\t__le16 date;\n\t__le16 start;\n\t__le32 size;\n};\n\nstruct msdos_dir_slot {\n\t__u8 id;\n\t__u8 name0_4[10];\n\t__u8 attr;\n\t__u8 reserved;\n\t__u8 alias_checksum;\n\t__u8 name5_10[12];\n\t__le16 start;\n\t__u8 name11_12[4];\n};\n\nstruct msdos_inode_info {\n\tspinlock_t cache_lru_lock;\n\tstruct list_head cache_lru;\n\tint nr_caches;\n\tunsigned int cache_valid_id;\n\tloff_t mmu_private;\n\tint i_start;\n\tint i_logstart;\n\tint i_attrs;\n\tloff_t i_pos;\n\tstruct hlist_node i_fat_hash;\n\tstruct hlist_node i_dir_hash;\n\tstruct rw_semaphore truncate_lock;\n\tstruct timespec64 i_crtime;\n\tstruct inode vfs_inode;\n};\n\nstruct msdos_partition {\n\tu8 boot_ind;\n\tu8 head;\n\tu8 sector;\n\tu8 cyl;\n\tu8 sys_ind;\n\tu8 end_head;\n\tu8 end_sector;\n\tu8 end_cyl;\n\t__le32 start_sect;\n\t__le32 nr_sects;\n};\n\nstruct msdos_sb_info {\n\tshort unsigned int sec_per_clus;\n\tshort unsigned int cluster_bits;\n\tunsigned int cluster_size;\n\tunsigned char fats;\n\tunsigned char fat_bits;\n\tshort unsigned int fat_start;\n\tlong unsigned int fat_length;\n\tlong unsigned int dir_start;\n\tshort unsigned int dir_entries;\n\tlong unsigned int data_start;\n\tlong unsigned int max_cluster;\n\tlong unsigned int root_cluster;\n\tlong unsigned int fsinfo_sector;\n\tstruct mutex fat_lock;\n\tstruct mutex nfs_build_inode_lock;\n\tstruct mutex s_lock;\n\tunsigned int prev_free;\n\tunsigned int free_clusters;\n\tunsigned int free_clus_valid;\n\tstruct fat_mount_options options;\n\tstruct nls_table *nls_disk;\n\tstruct nls_table *nls_io;\n\tconst void *dir_ops;\n\tint dir_per_block;\n\tint dir_per_block_bits;\n\tunsigned int vol_id;\n\tint fatent_shift;\n\tconst struct fatent_operations *fatent_ops;\n\tstruct inode *fat_inode;\n\tstruct inode *fsinfo_inode;\n\tstruct ratelimit_state ratelimit;\n\tspinlock_t inode_hash_lock;\n\tstruct hlist_head inode_hashtable[256];\n\tspinlock_t dir_hash_lock;\n\tstruct hlist_head dir_hashtable[256];\n\tunsigned int dirty;\n\tstruct callback_head rcu;\n};\n\nstruct msg_msgseg;\n\nstruct msg_msg {\n\tstruct list_head m_list;\n\tlong int m_type;\n\tsize_t m_ts;\n\tstruct msg_msgseg *next;\n\tvoid *security;\n};\n\nstruct msg_msgseg {\n\tstruct msg_msgseg *next;\n};\n\nstruct msg_queue {\n\tstruct kern_ipc_perm q_perm;\n\ttime64_t q_stime;\n\ttime64_t q_rtime;\n\ttime64_t q_ctime;\n\tlong unsigned int q_cbytes;\n\tlong unsigned int q_qnum;\n\tlong unsigned int q_qbytes;\n\tstruct pid *q_lspid;\n\tstruct pid *q_lrpid;\n\tstruct list_head q_messages;\n\tstruct list_head q_receivers;\n\tstruct list_head q_senders;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct msg_receiver {\n\tstruct list_head r_list;\n\tstruct task_struct *r_tsk;\n\tint r_mode;\n\tlong int r_msgtype;\n\tlong int r_maxsize;\n\tstruct msg_msg *r_msg;\n};\n\nstruct msg_security_struct {\n\tu32 sid;\n};\n\nstruct msg_sender {\n\tstruct list_head list;\n\tstruct task_struct *tsk;\n\tsize_t msgsz;\n};\n\nstruct msgbuf {\n\t__kernel_long_t mtype;\n\tchar mtext[1];\n};\n\nstruct msginfo {\n\tint msgpool;\n\tint msgmap;\n\tint msgmax;\n\tint msgmnb;\n\tint msgmni;\n\tint msgssz;\n\tint msgtql;\n\tshort unsigned int msgseg;\n};\n\nstruct msi_ctrl {\n\tunsigned int domid;\n\tunsigned int first;\n\tunsigned int last;\n\tunsigned int nirqs;\n};\n\nstruct msi_msg {\n\tunion {\n\t\tu32 address_lo;\n\t\tarch_msi_msg_addr_lo_t arch_addr_lo;\n\t};\n\tunion {\n\t\tu32 address_hi;\n\t\tarch_msi_msg_addr_hi_t arch_addr_hi;\n\t};\n\tunion {\n\t\tu32 data;\n\t\tarch_msi_msg_data_t arch_data;\n\t};\n};\n\nstruct pci_msi_desc {\n\tunion {\n\t\tu32 msi_mask;\n\t\tu32 msix_ctrl;\n\t};\n\tstruct {\n\t\tu8 is_msix: 1;\n\t\tu8 multiple: 3;\n\t\tu8 multi_cap: 3;\n\t\tu8 can_mask: 1;\n\t\tu8 is_64: 1;\n\t\tu8 is_virtual: 1;\n\t\tunsigned int default_irq;\n\t} msi_attrib;\n\tunion {\n\t\tu8 mask_pos;\n\t\tvoid *mask_base;\n\t};\n};\n\nunion msi_domain_cookie {\n\tu64 value;\n\tvoid *ptr;\n\tvoid *iobase;\n};\n\nunion msi_instance_cookie {\n\tu64 value;\n\tvoid *ptr;\n};\n\nstruct msi_desc_data {\n\tunion msi_domain_cookie dcookie;\n\tunion msi_instance_cookie icookie;\n};\n\nstruct msi_desc {\n\tunsigned int irq;\n\tunsigned int nvec_used;\n\tstruct device *dev;\n\tstruct msi_msg msg;\n\tstruct irq_affinity_desc *affinity;\n\tstruct device_attribute *sysfs_attrs;\n\tvoid (*write_msi_msg)(struct msi_desc *, void *);\n\tvoid *write_msi_msg_data;\n\tu16 msi_index;\n\tunion {\n\t\tstruct pci_msi_desc pci;\n\t\tstruct msi_desc_data data;\n\t};\n};\n\nstruct msi_dev_domain {\n\tstruct xarray store;\n\tstruct irq_domain *domain;\n};\n\nstruct msi_device_data {\n\tlong unsigned int properties;\n\tstruct mutex mutex;\n\tstruct msi_dev_domain __domains[1];\n\tlong unsigned int __iter_idx;\n};\n\nstruct msi_domain_ops;\n\nstruct msi_domain_info {\n\tu32 flags;\n\tenum irq_domain_bus_token bus_token;\n\tunsigned int hwsize;\n\tstruct msi_domain_ops *ops;\n\tstruct irq_chip *chip;\n\tvoid *chip_data;\n\tirq_flow_handler_t handler;\n\tvoid *handler_data;\n\tconst char *handler_name;\n\tvoid *data;\n};\n\nstruct msi_domain_ops {\n\tirq_hw_number_t (*get_hwirq)(struct msi_domain_info *, msi_alloc_info_t *);\n\tint (*msi_init)(struct irq_domain *, struct msi_domain_info *, unsigned int, irq_hw_number_t, msi_alloc_info_t *);\n\tvoid (*msi_free)(struct irq_domain *, struct msi_domain_info *, unsigned int);\n\tint (*msi_prepare)(struct irq_domain *, struct device *, int, msi_alloc_info_t *);\n\tvoid (*prepare_desc)(struct irq_domain *, msi_alloc_info_t *, struct msi_desc *);\n\tvoid (*set_desc)(msi_alloc_info_t *, struct msi_desc *);\n\tint (*domain_alloc_irqs)(struct irq_domain *, struct device *, int);\n\tvoid (*domain_free_irqs)(struct irq_domain *, struct device *);\n\tvoid (*msi_post_free)(struct irq_domain *, struct device *);\n\tint (*msi_translate)(struct irq_domain *, struct irq_fwspec *, irq_hw_number_t *, unsigned int *);\n};\n\nstruct msi_domain_template {\n\tchar name[48];\n\tstruct irq_chip chip;\n\tstruct msi_domain_ops ops;\n\tstruct msi_domain_info info;\n};\n\nstruct msi_map {\n\tint index;\n\tint virq;\n};\n\nstruct msi_parent_ops {\n\tu32 supported_flags;\n\tu32 required_flags;\n\tu32 bus_select_token;\n\tu32 bus_select_mask;\n\tconst char *prefix;\n\tbool (*init_dev_msi_info)(struct device *, struct irq_domain *, struct irq_domain *, struct msi_domain_info *);\n};\n\nstruct msix_entry {\n\tu32 vector;\n\tu16 entry;\n};\n\nstruct msqid64_ds {\n\tstruct ipc64_perm msg_perm;\n\tlong int msg_stime;\n\tlong int msg_rtime;\n\tlong int msg_ctime;\n\tlong unsigned int msg_cbytes;\n\tlong unsigned int msg_qnum;\n\tlong unsigned int msg_qbytes;\n\t__kernel_pid_t msg_lspid;\n\t__kernel_pid_t msg_lrpid;\n\tlong unsigned int __unused4;\n\tlong unsigned int __unused5;\n};\n\nstruct msg;\n\nstruct msqid_ds {\n\tstruct ipc_perm msg_perm;\n\tstruct msg *msg_first;\n\tstruct msg *msg_last;\n\t__kernel_old_time_t msg_stime;\n\t__kernel_old_time_t msg_rtime;\n\t__kernel_old_time_t msg_ctime;\n\tlong unsigned int msg_lcbytes;\n\tlong unsigned int msg_lqbytes;\n\tshort unsigned int msg_cbytes;\n\tshort unsigned int msg_qnum;\n\tshort unsigned int msg_qbytes;\n\t__kernel_ipc_pid_t msg_lspid;\n\t__kernel_ipc_pid_t msg_lrpid;\n};\n\nstruct mtd_blktrans_ops;\n\nstruct mtd_blktrans_dev {\n\tstruct mtd_blktrans_ops *tr;\n\tstruct list_head list;\n\tstruct mtd_info *mtd;\n\tstruct mutex lock;\n\tint devnum;\n\tbool bg_stop;\n\tlong unsigned int size;\n\tint readonly;\n\tint open;\n\tstruct kref ref;\n\tstruct gendisk *disk;\n\tstruct attribute_group *disk_attributes;\n\tstruct request_queue *rq;\n\tstruct list_head rq_list;\n\tstruct blk_mq_tag_set *tag_set;\n\tspinlock_t queue_lock;\n\tvoid *priv;\n\tbool writable;\n};\n\nstruct mtd_blktrans_ops {\n\tchar *name;\n\tint major;\n\tint part_bits;\n\tint blksize;\n\tint blkshift;\n\tint (*readsect)(struct mtd_blktrans_dev *, long unsigned int, char *);\n\tint (*writesect)(struct mtd_blktrans_dev *, long unsigned int, char *);\n\tint (*discard)(struct mtd_blktrans_dev *, long unsigned int, unsigned int);\n\tvoid (*background)(struct mtd_blktrans_dev *);\n\tint (*getgeo)(struct mtd_blktrans_dev *, struct hd_geometry *);\n\tint (*flush)(struct mtd_blktrans_dev *);\n\tint (*open)(struct mtd_blktrans_dev *);\n\tvoid (*release)(struct mtd_blktrans_dev *);\n\tvoid (*add_mtd)(struct mtd_blktrans_ops *, struct mtd_info *);\n\tvoid (*remove_dev)(struct mtd_blktrans_dev *);\n\tstruct list_head devs;\n\tstruct list_head list;\n\tstruct module *owner;\n};\n\nstruct mtd_chip_driver {\n\tstruct mtd_info * (*probe)(struct map_info *);\n\tvoid (*destroy)(struct mtd_info *);\n\tstruct module *module;\n\tchar *name;\n\tstruct list_head list;\n};\n\nstruct mtd_ecc_stats {\n\t__u32 corrected;\n\t__u32 failed;\n\t__u32 badblocks;\n\t__u32 bbtblocks;\n};\n\nstruct mtd_debug_info {\n\tstruct dentry *dfs_dir;\n};\n\nstruct mtd_part {\n\tstruct list_head node;\n\tu64 offset;\n\tu64 size;\n\tu32 flags;\n};\n\nstruct mtd_master {\n\tstruct mutex partitions_lock;\n\tstruct mutex chrdev_lock;\n\tunsigned int suspended: 1;\n};\n\nstruct mtd_ooblayout_ops;\n\nstruct mtd_pairing_scheme;\n\nstruct mtd_erase_region_info;\n\nstruct mtd_oob_ops;\n\nstruct otp_info;\n\nstruct nvmem_device;\n\nstruct mtd_info {\n\tu_char type;\n\tuint32_t flags;\n\tuint64_t size;\n\tuint32_t erasesize;\n\tuint32_t writesize;\n\tuint32_t writebufsize;\n\tuint32_t oobsize;\n\tuint32_t oobavail;\n\tunsigned int erasesize_shift;\n\tunsigned int writesize_shift;\n\tunsigned int erasesize_mask;\n\tunsigned int writesize_mask;\n\tunsigned int bitflip_threshold;\n\tconst char *name;\n\tint index;\n\tconst struct mtd_ooblayout_ops *ooblayout;\n\tconst struct mtd_pairing_scheme *pairing;\n\tunsigned int ecc_step_size;\n\tunsigned int ecc_strength;\n\tint numeraseregions;\n\tstruct mtd_erase_region_info *eraseregions;\n\tint (*_erase)(struct mtd_info *, struct erase_info *);\n\tint (*_point)(struct mtd_info *, loff_t, size_t, size_t *, void **, resource_size_t *);\n\tint (*_unpoint)(struct mtd_info *, loff_t, size_t);\n\tint (*_read)(struct mtd_info *, loff_t, size_t, size_t *, u_char *);\n\tint (*_write)(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);\n\tint (*_panic_write)(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);\n\tint (*_read_oob)(struct mtd_info *, loff_t, struct mtd_oob_ops *);\n\tint (*_write_oob)(struct mtd_info *, loff_t, struct mtd_oob_ops *);\n\tint (*_get_fact_prot_info)(struct mtd_info *, size_t, size_t *, struct otp_info *);\n\tint (*_read_fact_prot_reg)(struct mtd_info *, loff_t, size_t, size_t *, u_char *);\n\tint (*_get_user_prot_info)(struct mtd_info *, size_t, size_t *, struct otp_info *);\n\tint (*_read_user_prot_reg)(struct mtd_info *, loff_t, size_t, size_t *, u_char *);\n\tint (*_write_user_prot_reg)(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);\n\tint (*_lock_user_prot_reg)(struct mtd_info *, loff_t, size_t);\n\tint (*_erase_user_prot_reg)(struct mtd_info *, loff_t, size_t);\n\tint (*_writev)(struct mtd_info *, const struct kvec *, long unsigned int, loff_t, size_t *);\n\tvoid (*_sync)(struct mtd_info *);\n\tint (*_lock)(struct mtd_info *, loff_t, uint64_t);\n\tint (*_unlock)(struct mtd_info *, loff_t, uint64_t);\n\tint (*_is_locked)(struct mtd_info *, loff_t, uint64_t);\n\tint (*_block_isreserved)(struct mtd_info *, loff_t);\n\tint (*_block_isbad)(struct mtd_info *, loff_t);\n\tint (*_block_markbad)(struct mtd_info *, loff_t);\n\tint (*_max_bad_blocks)(struct mtd_info *, loff_t, size_t);\n\tint (*_suspend)(struct mtd_info *);\n\tvoid (*_resume)(struct mtd_info *);\n\tvoid (*_reboot)(struct mtd_info *);\n\tint (*_get_device)(struct mtd_info *);\n\tvoid (*_put_device)(struct mtd_info *);\n\tbool oops_panic_write;\n\tstruct notifier_block reboot_notifier;\n\tstruct mtd_ecc_stats ecc_stats;\n\tint subpage_sft;\n\tvoid *priv;\n\tstruct module *owner;\n\tstruct device dev;\n\tstruct kref refcnt;\n\tstruct mtd_debug_info dbg;\n\tstruct nvmem_device *nvmem;\n\tstruct nvmem_device *otp_user_nvmem;\n\tstruct nvmem_device *otp_factory_nvmem;\n\tstruct mtd_info *parent;\n\tstruct list_head partitions;\n\tstruct mtd_part part;\n\tstruct mtd_master master;\n};\n\nstruct mtd_concat {\n\tstruct mtd_info mtd;\n\tint num_subdev;\n\tstruct mtd_info **subdev;\n};\n\nstruct mtd_erase_region_info {\n\tuint64_t offset;\n\tuint32_t erasesize;\n\tuint32_t numblocks;\n\tlong unsigned int *lockmap;\n};\n\nstruct mtd_file_info {\n\tstruct mtd_info *mtd;\n\tenum mtd_file_modes mode;\n};\n\nstruct mtd_info_user {\n\t__u8 type;\n\t__u32 flags;\n\t__u32 size;\n\t__u32 erasesize;\n\t__u32 writesize;\n\t__u32 oobsize;\n\t__u64 padding;\n};\n\nstruct mtd_notifier {\n\tvoid (*add)(struct mtd_info *);\n\tvoid (*remove)(struct mtd_info *);\n\tstruct list_head list;\n};\n\nstruct mtd_oob_buf {\n\t__u32 start;\n\t__u32 length;\n\tunsigned char *ptr;\n};\n\nstruct mtd_oob_buf32 {\n\tu_int32_t start;\n\tu_int32_t length;\n\tcompat_caddr_t ptr;\n};\n\nstruct mtd_oob_buf64 {\n\t__u64 start;\n\t__u32 pad;\n\t__u32 length;\n\t__u64 usr_ptr;\n};\n\nstruct mtd_req_stats;\n\nstruct mtd_oob_ops {\n\tunsigned int mode;\n\tsize_t len;\n\tsize_t retlen;\n\tsize_t ooblen;\n\tsize_t oobretlen;\n\tuint32_t ooboffs;\n\tuint8_t *datbuf;\n\tuint8_t *oobbuf;\n\tstruct mtd_req_stats *stats;\n};\n\nstruct mtd_oob_region {\n\tu32 offset;\n\tu32 length;\n};\n\nstruct mtd_ooblayout_ops {\n\tint (*ecc)(struct mtd_info *, int, struct mtd_oob_region *);\n\tint (*free)(struct mtd_info *, int, struct mtd_oob_region *);\n};\n\nstruct mtd_pairing_info {\n\tint pair;\n\tint group;\n};\n\nstruct mtd_pairing_scheme {\n\tint ngroups;\n\tint (*get_info)(struct mtd_info *, int, struct mtd_pairing_info *);\n\tint (*get_wunit)(struct mtd_info *, const struct mtd_pairing_info *);\n};\n\nstruct mtd_part_parser_data;\n\nstruct mtd_part_parser {\n\tstruct list_head list;\n\tstruct module *owner;\n\tconst char *name;\n\tconst struct of_device_id *of_match_table;\n\tint (*parse_fn)(struct mtd_info *, const struct mtd_partition **, struct mtd_part_parser_data *);\n\tvoid (*cleanup)(const struct mtd_partition *, int);\n};\n\nstruct mtd_part_parser_data {\n\tlong unsigned int origin;\n};\n\nstruct mtd_partition {\n\tconst char *name;\n\tconst char * const *types;\n\tuint64_t size;\n\tuint64_t offset;\n\tuint32_t mask_flags;\n\tuint32_t add_flags;\n\tstruct device_node *of_node;\n};\n\nstruct mtd_partitions {\n\tconst struct mtd_partition *parts;\n\tint nr_parts;\n\tconst struct mtd_part_parser *parser;\n};\n\nstruct mtd_read_req_ecc_stats {\n\t__u32 uncorrectable_errors;\n\t__u32 corrected_bitflips;\n\t__u32 max_bitflips;\n};\n\nstruct mtd_read_req {\n\t__u64 start;\n\t__u64 len;\n\t__u64 ooblen;\n\t__u64 usr_data;\n\t__u64 usr_oob;\n\t__u8 mode;\n\t__u8 padding[7];\n\tstruct mtd_read_req_ecc_stats ecc_stats;\n};\n\nstruct mtd_req_stats {\n\tunsigned int uncorrectable_errors;\n\tunsigned int corrected_bitflips;\n\tunsigned int max_bitflips;\n};\n\nstruct mtd_write_req {\n\t__u64 start;\n\t__u64 len;\n\t__u64 ooblen;\n\t__u64 usr_data;\n\t__u64 usr_oob;\n\t__u8 mode;\n\t__u8 padding[7];\n};\n\nstruct mtdblk_dev {\n\tstruct mtd_blktrans_dev mbd;\n\tint count;\n\tstruct mutex cache_mutex;\n\tunsigned char *cache_data;\n\tlong unsigned int cache_offset;\n\tunsigned int cache_size;\n\tenum {\n\t\tSTATE_EMPTY = 0,\n\t\tSTATE_CLEAN = 1,\n\t\tSTATE_DIRTY = 2,\n\t} cache_state;\n};\n\nstruct multi_stop_data {\n\tcpu_stop_fn_t fn;\n\tvoid *data;\n\tunsigned int num_threads;\n\tconst struct cpumask *active_cpus;\n\tenum multi_stop_state state;\n\tatomic_t thread_ack;\n};\n\nstruct multi_transaction {\n\tstruct kref count;\n\tssize_t size;\n\tchar data[0];\n};\n\nstruct multiprocess_signals {\n\tsigset_t signal;\n\tstruct hlist_node node;\n};\n\ntypedef struct mutex *class_mutex_t;\n\ntypedef class_mutex_t class_mutex_intr_t;\n\nstruct mutex_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tstruct ww_acquire_ctx *ww_ctx;\n\tvoid *magic;\n};\n\nstruct my_u0 {\n\t__le64 a;\n\t__le64 b;\n};\n\nstruct my_u1 {\n\t__le64 a;\n\t__le64 b;\n\t__le64 c;\n\t__le64 d;\n};\n\nstruct n_tty_data {\n\tsize_t read_head;\n\tsize_t commit_head;\n\tsize_t canon_head;\n\tsize_t echo_head;\n\tsize_t echo_commit;\n\tsize_t echo_mark;\n\tlong unsigned int char_map[4];\n\tlong unsigned int overrun_time;\n\tunsigned int num_overrun;\n\tbool no_room;\n\tunsigned char lnext: 1;\n\tunsigned char erasing: 1;\n\tunsigned char raw: 1;\n\tunsigned char real_raw: 1;\n\tunsigned char icanon: 1;\n\tunsigned char push: 1;\n\tu8 read_buf[4096];\n\tlong unsigned int read_flags[64];\n\tu8 echo_buf[4096];\n\tsize_t read_tail;\n\tsize_t line_start;\n\tsize_t lookahead_count;\n\tunsigned int column;\n\tunsigned int canon_column;\n\tsize_t echo_tail;\n\tstruct mutex atomic_read_lock;\n\tstruct mutex output_lock;\n};\n\nstruct saved {\n\tstruct path link;\n\tstruct delayed_call done;\n\tconst char *name;\n\tunsigned int seq;\n};\n\nstruct nameidata {\n\tstruct path path;\n\tstruct qstr last;\n\tstruct path root;\n\tstruct inode *inode;\n\tunsigned int flags;\n\tunsigned int state;\n\tunsigned int seq;\n\tunsigned int next_seq;\n\tunsigned int m_seq;\n\tunsigned int r_seq;\n\tint last_type;\n\tunsigned int depth;\n\tint total_link_count;\n\tstruct saved *stack;\n\tstruct saved internal[2];\n\tstruct filename *name;\n\tconst char *pathname;\n\tstruct nameidata *saved;\n\tunsigned int root_seq;\n\tint dfd;\n\tvfsuid_t dir_vfsuid;\n\tumode_t dir_mode;\n};\n\nstruct nand_oobfree {\n\t__u32 offset;\n\t__u32 length;\n};\n\nstruct nand_ecclayout_user {\n\t__u32 eccbytes;\n\t__u32 eccpos[64];\n\t__u32 oobavail;\n\tstruct nand_oobfree oobfree[8];\n};\n\nstruct nand_oobinfo {\n\t__u32 useecc;\n\t__u32 eccbytes;\n\t__u32 oobfree[16];\n\t__u32 eccpos[32];\n};\n\nstruct page_frag_cache {\n\tlong unsigned int encoded_page;\n\t__u32 offset;\n\t__u32 pagecnt_bias;\n};\n\nstruct napi_alloc_cache {\n\tlocal_lock_t bh_lock;\n\tstruct page_frag_cache page;\n\tunsigned int skb_count;\n\tvoid *skb_cache[64];\n};\n\nstruct napi_config {\n\tu64 gro_flush_timeout;\n\tu64 irq_suspend_timeout;\n\tu32 defer_hard_irqs;\n\tunsigned int napi_id;\n};\n\nstruct napi_gro_cb {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *frag0;\n\t\t\tunsigned int frag0_len;\n\t\t};\n\t\tstruct {\n\t\t\tstruct sk_buff *last;\n\t\t\tlong unsigned int age;\n\t\t};\n\t};\n\tint data_offset;\n\tu16 flush;\n\tu16 count;\n\tu16 proto;\n\tu16 pad;\n\tunion {\n\t\tstruct {\n\t\t\tu16 gro_remcsum_start;\n\t\t\tu8 same_flow: 1;\n\t\t\tu8 encap_mark: 1;\n\t\t\tu8 csum_valid: 1;\n\t\t\tu8 csum_cnt: 3;\n\t\t\tu8 free: 2;\n\t\t\tu8 is_ipv6: 1;\n\t\t\tu8 is_fou: 1;\n\t\t\tu8 ip_fixedid: 1;\n\t\t\tu8 recursion_counter: 4;\n\t\t\tu8 is_flist: 1;\n\t\t};\n\t\tstruct {\n\t\t\tu16 gro_remcsum_start;\n\t\t\tu8 same_flow: 1;\n\t\t\tu8 encap_mark: 1;\n\t\t\tu8 csum_valid: 1;\n\t\t\tu8 csum_cnt: 3;\n\t\t\tu8 free: 2;\n\t\t\tu8 is_ipv6: 1;\n\t\t\tu8 is_fou: 1;\n\t\t\tu8 ip_fixedid: 1;\n\t\t\tu8 recursion_counter: 4;\n\t\t\tu8 is_flist: 1;\n\t\t} zeroed;\n\t};\n\t__wsum csum;\n\tunion {\n\t\tstruct {\n\t\t\tu16 network_offset;\n\t\t\tu16 inner_network_offset;\n\t\t};\n\t\tu16 network_offsets[2];\n\t};\n};\n\nstruct nat_keepalive {\n\tstruct net *net;\n\tu16 family;\n\txfrm_address_t saddr;\n\txfrm_address_t daddr;\n\t__be16 encap_sport;\n\t__be16 encap_dport;\n\t__u32 smark;\n};\n\nstruct nat_keepalive_work_ctx {\n\ttime64_t next_run;\n\ttime64_t now;\n};\n\nstruct nbcon_state {\n\tunion {\n\t\tunsigned int atom;\n\t\tstruct {\n\t\t\tunsigned int prio: 2;\n\t\t\tunsigned int req_prio: 2;\n\t\t\tunsigned int unsafe: 1;\n\t\t\tunsigned int unsafe_takeover: 1;\n\t\t\tunsigned int cpu: 24;\n\t\t};\n\t};\n};\n\nstruct nbcon_write_context {\n\tstruct nbcon_context ctxt;\n\tchar *outbuf;\n\tunsigned int len;\n\tbool unsafe_takeover;\n};\n\nstruct nd_namespace_common;\n\nstruct nd_btt {\n\tstruct device dev;\n\tstruct nd_namespace_common *ndns;\n\tstruct btt *btt;\n\tlong unsigned int lbasize;\n\tu64 size;\n\tuuid_t *uuid;\n\tint id;\n\tint initial_offset;\n\tu16 version_major;\n\tu16 version_minor;\n};\n\nstruct nd_cmd_ars_cap {\n\t__u64 address;\n\t__u64 length;\n\t__u32 status;\n\t__u32 max_ars_out;\n\t__u32 clear_err_unit;\n\t__u16 flags;\n\t__u16 reserved;\n};\n\nstruct nd_cmd_clear_error {\n\t__u64 address;\n\t__u64 length;\n\t__u32 status;\n\t__u8 reserved[4];\n\t__u64 cleared;\n};\n\nstruct nd_cmd_desc {\n\tint in_num;\n\tint out_num;\n\tu32 in_sizes[5];\n\tint out_sizes[5];\n};\n\nstruct nd_cmd_get_config_data_hdr {\n\t__u32 in_offset;\n\t__u32 in_length;\n\t__u32 status;\n\t__u8 out_buf[0];\n};\n\nstruct nd_cmd_get_config_size {\n\t__u32 status;\n\t__u32 config_size;\n\t__u32 max_xfer;\n};\n\nstruct nd_cmd_pkg {\n\t__u64 nd_family;\n\t__u64 nd_command;\n\t__u32 nd_size_in;\n\t__u32 nd_size_out;\n\t__u32 nd_reserved2[9];\n\t__u32 nd_fw_size;\n\tunsigned char nd_payload[0];\n};\n\nstruct nd_cmd_set_config_hdr {\n\t__u32 in_offset;\n\t__u32 in_length;\n\t__u8 in_buf[0];\n};\n\nstruct nd_cmd_vendor_hdr {\n\t__u32 opcode;\n\t__u32 in_length;\n\t__u8 in_buf[0];\n};\n\nstruct nd_pfn_sb;\n\nstruct nd_pfn {\n\tint id;\n\tuuid_t *uuid;\n\tstruct device dev;\n\tlong unsigned int align;\n\tlong unsigned int npfns;\n\tenum nd_pfn_mode mode;\n\tstruct nd_pfn_sb *pfn_sb;\n\tstruct nd_namespace_common *ndns;\n};\n\nstruct nd_dax {\n\tstruct nd_pfn nd_pfn;\n};\n\nstruct nd_device_driver {\n\tstruct device_driver drv;\n\tlong unsigned int type;\n\tint (*probe)(struct device *);\n\tvoid (*remove)(struct device *);\n\tvoid (*shutdown)(struct device *);\n\tvoid (*notify)(struct device *, enum nvdimm_event);\n};\n\nstruct nd_gen_sb {\n\tchar reserved[4088];\n\t__le64 checksum;\n};\n\nstruct nd_interleave_set {\n\tu64 cookie1;\n\tu64 cookie2;\n\tu64 altcookie;\n\tguid_t type_guid;\n};\n\nstruct nd_namespace_label;\n\nstruct nd_label_ent {\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tstruct nd_namespace_label *label;\n};\n\nstruct nd_label_id {\n\tchar id[50];\n};\n\nstruct nvdimm;\n\nstruct nvdimm_drvdata;\n\nstruct nd_mapping {\n\tstruct nvdimm *nvdimm;\n\tu64 start;\n\tu64 size;\n\tint position;\n\tstruct list_head labels;\n\tstruct mutex lock;\n\tstruct nvdimm_drvdata *ndd;\n};\n\nstruct nd_mapping_desc {\n\tstruct nvdimm *nvdimm;\n\tu64 start;\n\tu64 size;\n\tint position;\n};\n\nstruct nd_msg {\n\tstruct icmp6hdr icmph;\n\tstruct in6_addr target;\n\t__u8 opt[0];\n};\n\nstruct nd_namespace_common {\n\tint force_raw;\n\tstruct device dev;\n\tstruct device *claim;\n\tenum nvdimm_claim_class claim_class;\n\tint (*rw_bytes)(struct nd_namespace_common *, resource_size_t, void *, size_t, int, long unsigned int);\n};\n\nstruct nd_namespace_index {\n\tu8 sig[16];\n\tu8 flags[3];\n\tu8 labelsize;\n\t__le32 seq;\n\t__le64 myoff;\n\t__le64 mysize;\n\t__le64 otheroff;\n\t__le64 labeloff;\n\t__le32 nslot;\n\t__le16 major;\n\t__le16 minor;\n\t__le64 checksum;\n\tu8 free[0];\n};\n\nstruct nd_namespace_io {\n\tstruct nd_namespace_common common;\n\tstruct resource res;\n\tresource_size_t size;\n\tvoid *addr;\n\tstruct badblocks bb;\n};\n\nstruct nvdimm_cxl_label {\n\tu8 type[16];\n\tu8 uuid[16];\n\tu8 name[64];\n\t__le32 flags;\n\t__le16 nrange;\n\t__le16 position;\n\t__le64 dpa;\n\t__le64 rawsize;\n\t__le32 slot;\n\t__le32 align;\n\tu8 region_uuid[16];\n\tu8 abstraction_uuid[16];\n\t__le16 lbasize;\n\tu8 reserved[86];\n\t__le64 checksum;\n};\n\nstruct nvdimm_efi_label {\n\tu8 uuid[16];\n\tu8 name[64];\n\t__le32 flags;\n\t__le16 nlabel;\n\t__le16 position;\n\t__le64 isetcookie;\n\t__le64 lbasize;\n\t__le64 dpa;\n\t__le64 rawsize;\n\t__le32 slot;\n\tu8 align;\n\tu8 reserved[3];\n\tguid_t type_guid;\n\tguid_t abstraction_guid;\n\tu8 reserved2[88];\n\t__le64 checksum;\n};\n\nstruct nd_namespace_label {\n\tunion {\n\t\tstruct nvdimm_cxl_label cxl;\n\t\tstruct nvdimm_efi_label efi;\n\t};\n};\n\nstruct nd_namespace_pmem {\n\tstruct nd_namespace_io nsio;\n\tlong unsigned int lbasize;\n\tchar *alt_name;\n\tuuid_t *uuid;\n\tint id;\n};\n\nstruct nd_opt_hdr {\n\t__u8 nd_opt_type;\n\t__u8 nd_opt_len;\n};\n\nstruct nd_percpu_lane {\n\tint count;\n\tspinlock_t lock;\n};\n\nstruct nd_pfn_sb {\n\tu8 signature[16];\n\tu8 uuid[16];\n\tu8 parent_uuid[16];\n\t__le32 flags;\n\t__le16 version_major;\n\t__le16 version_minor;\n\t__le64 dataoff;\n\t__le64 npfns;\n\t__le32 mode;\n\t__le32 start_pad;\n\t__le32 end_trunc;\n\t__le32 align;\n\t__le32 page_size;\n\t__le16 page_struct_size;\n\tu8 padding[3994];\n\t__le64 checksum;\n};\n\nstruct nd_region {\n\tstruct device dev;\n\tstruct ida ns_ida;\n\tstruct ida btt_ida;\n\tstruct ida pfn_ida;\n\tstruct ida dax_ida;\n\tlong unsigned int flags;\n\tstruct device *ns_seed;\n\tstruct device *btt_seed;\n\tstruct device *pfn_seed;\n\tstruct device *dax_seed;\n\tlong unsigned int align;\n\tu16 ndr_mappings;\n\tu64 ndr_size;\n\tu64 ndr_start;\n\tint id;\n\tint num_lanes;\n\tint ro;\n\tint numa_node;\n\tint target_node;\n\tvoid *provider_data;\n\tstruct kernfs_node *bb_state;\n\tstruct badblocks bb;\n\tstruct nd_interleave_set *nd_set;\n\tstruct nd_percpu_lane *lane;\n\tint (*flush)(struct nd_region *, struct bio *);\n\tstruct nd_mapping mapping[0];\n};\n\nstruct nd_region_data {\n\tint ns_count;\n\tint ns_active;\n\tunsigned int hints_shift;\n\tvoid *flush_wpq[0];\n};\n\nstruct nd_region_desc {\n\tstruct resource *res;\n\tstruct nd_mapping_desc *mapping;\n\tu16 num_mappings;\n\tconst struct attribute_group **attr_groups;\n\tstruct nd_interleave_set *nd_set;\n\tvoid *provider_data;\n\tint num_lanes;\n\tint numa_node;\n\tint target_node;\n\tlong unsigned int flags;\n\tint memregion;\n\tstruct device_node *of_node;\n\tint (*flush)(struct nd_region *, struct bio *);\n};\n\nstruct nda_cacheinfo {\n\t__u32 ndm_confirmed;\n\t__u32 ndm_used;\n\t__u32 ndm_updated;\n\t__u32 ndm_refcnt;\n};\n\nstruct ndisc_options;\n\nstruct prefix_info;\n\nstruct ndisc_ops {\n\tint (*parse_options)(const struct net_device *, struct nd_opt_hdr *, struct ndisc_options *);\n\tvoid (*update)(const struct net_device *, struct neighbour *, u32, u8, const struct ndisc_options *);\n\tint (*opt_addr_space)(const struct net_device *, u8, struct neighbour *, u8 *, u8 **);\n\tvoid (*fill_addr_option)(const struct net_device *, struct sk_buff *, u8, const u8 *);\n\tvoid (*prefix_rcv_add_addr)(struct net *, struct net_device *, const struct prefix_info *, struct inet6_dev *, struct in6_addr *, int, u32, bool, bool, __u32, u32, bool);\n};\n\nstruct ndisc_options {\n\tstruct nd_opt_hdr *nd_opt_array[15];\n\tstruct nd_opt_hdr *nd_useropts;\n\tstruct nd_opt_hdr *nd_useropts_end;\n};\n\nstruct ndmsg {\n\t__u8 ndm_family;\n\t__u8 ndm_pad1;\n\t__u16 ndm_pad2;\n\t__s32 ndm_ifindex;\n\t__u16 ndm_state;\n\t__u8 ndm_flags;\n\t__u8 ndm_type;\n};\n\nstruct ndo_fdb_dump_context {\n\tlong unsigned int ifindex;\n\tlong unsigned int fdb_idx;\n};\n\nstruct ndt_config {\n\t__u16 ndtc_key_len;\n\t__u16 ndtc_entry_size;\n\t__u32 ndtc_entries;\n\t__u32 ndtc_last_flush;\n\t__u32 ndtc_last_rand;\n\t__u32 ndtc_hash_rnd;\n\t__u32 ndtc_hash_mask;\n\t__u32 ndtc_hash_chain_gc;\n\t__u32 ndtc_proxy_qlen;\n};\n\nstruct ndt_stats {\n\t__u64 ndts_allocs;\n\t__u64 ndts_destroys;\n\t__u64 ndts_hash_grows;\n\t__u64 ndts_res_failed;\n\t__u64 ndts_lookups;\n\t__u64 ndts_hits;\n\t__u64 ndts_rcv_probes_mcast;\n\t__u64 ndts_rcv_probes_ucast;\n\t__u64 ndts_periodic_gc_runs;\n\t__u64 ndts_forced_gc_runs;\n\t__u64 ndts_table_fulls;\n};\n\nstruct ndtmsg {\n\t__u8 ndtm_family;\n\t__u8 ndtm_pad1;\n\t__u16 ndtm_pad2;\n};\n\nstruct nduseroptmsg {\n\tunsigned char nduseropt_family;\n\tunsigned char nduseropt_pad1;\n\tshort unsigned int nduseropt_opts_len;\n\tint nduseropt_ifindex;\n\t__u8 nduseropt_icmp_type;\n\t__u8 nduseropt_icmp_code;\n\tshort unsigned int nduseropt_pad2;\n\tunsigned int nduseropt_pad3;\n};\n\nstruct neigh_dump_filter {\n\tint master_idx;\n\tint dev_idx;\n};\n\nstruct neigh_hash_table {\n\tstruct hlist_head *hash_heads;\n\tunsigned int hash_shift;\n\t__u32 hash_rnd[4];\n\tstruct callback_head rcu;\n};\n\nstruct neigh_ops {\n\tint family;\n\tvoid (*solicit)(struct neighbour *, struct sk_buff *);\n\tvoid (*error_report)(struct neighbour *, struct sk_buff *);\n\tint (*output)(struct neighbour *, struct sk_buff *);\n\tint (*connected_output)(struct neighbour *, struct sk_buff *);\n};\n\nstruct neigh_parms {\n\tpossible_net_t net;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head list;\n\tint (*neigh_setup)(struct neighbour *);\n\tstruct neigh_table *tbl;\n\tvoid *sysctl_table;\n\tint dead;\n\trefcount_t refcnt;\n\tstruct callback_head callback_head;\n\tint reachable_time;\n\tu32 qlen;\n\tint data[14];\n\tlong unsigned int data_state[1];\n};\n\nstruct neigh_seq_state {\n\tstruct seq_net_private p;\n\tstruct neigh_table *tbl;\n\tstruct neigh_hash_table *nht;\n\tvoid * (*neigh_sub_iter)(struct neigh_seq_state *, struct neighbour *, loff_t *);\n\tunsigned int bucket;\n\tunsigned int flags;\n};\n\nstruct neigh_statistics {\n\tlong unsigned int allocs;\n\tlong unsigned int destroys;\n\tlong unsigned int hash_grows;\n\tlong unsigned int res_failed;\n\tlong unsigned int lookups;\n\tlong unsigned int hits;\n\tlong unsigned int rcv_probes_mcast;\n\tlong unsigned int rcv_probes_ucast;\n\tlong unsigned int periodic_gc_runs;\n\tlong unsigned int forced_gc_runs;\n\tlong unsigned int unres_discards;\n\tlong unsigned int table_fulls;\n};\n\nstruct neigh_sysctl_table {\n\tstruct ctl_table_header *sysctl_header;\n\tstruct ctl_table neigh_vars[21];\n};\n\nstruct pneigh_entry;\n\nstruct neigh_table {\n\tint family;\n\tunsigned int entry_size;\n\tunsigned int key_len;\n\t__be16 protocol;\n\t__u32 (*hash)(const void *, const struct net_device *, __u32 *);\n\tbool (*key_eq)(const struct neighbour *, const void *);\n\tint (*constructor)(struct neighbour *);\n\tint (*pconstructor)(struct pneigh_entry *);\n\tvoid (*pdestructor)(struct pneigh_entry *);\n\tvoid (*proxy_redo)(struct sk_buff *);\n\tint (*is_multicast)(const void *);\n\tbool (*allow_add)(const struct net_device *, struct netlink_ext_ack *);\n\tchar *id;\n\tstruct neigh_parms parms;\n\tstruct list_head parms_list;\n\tint gc_interval;\n\tint gc_thresh1;\n\tint gc_thresh2;\n\tint gc_thresh3;\n\tlong unsigned int last_flush;\n\tstruct delayed_work gc_work;\n\tstruct delayed_work managed_work;\n\tstruct timer_list proxy_timer;\n\tstruct sk_buff_head proxy_queue;\n\tatomic_t entries;\n\tatomic_t gc_entries;\n\tstruct list_head gc_list;\n\tstruct list_head managed_list;\n\trwlock_t lock;\n\tlong unsigned int last_rand;\n\tstruct neigh_statistics *stats;\n\tstruct neigh_hash_table *nht;\n\tstruct pneigh_entry **phash_buckets;\n};\n\nstruct neighbour {\n\tstruct hlist_node hash;\n\tstruct hlist_node dev_list;\n\tstruct neigh_table *tbl;\n\tstruct neigh_parms *parms;\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\tunsigned int arp_queue_len_bytes;\n\tstruct sk_buff_head arp_queue;\n\tstruct timer_list timer;\n\tlong unsigned int used;\n\tatomic_t probes;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tu8 protocol;\n\tu32 flags;\n\tseqlock_t ha_lock;\n\tunsigned char ha[32];\n\tstruct hh_cache hh;\n\tint (*output)(struct neighbour *, struct sk_buff *);\n\tconst struct neigh_ops *ops;\n\tstruct list_head gc_list;\n\tstruct list_head managed_list;\n\tstruct callback_head rcu;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu8 primary_key[0];\n};\n\nstruct neighbour_cb {\n\tlong unsigned int sched_next;\n\tunsigned int flags;\n};\n\nunion nested_table {\n\tunion nested_table *table;\n\tstruct rhash_lock_head *bucket;\n};\n\nstruct ref_tracker_dir {};\n\nstruct prot_inuse;\n\nstruct netns_core {\n\tstruct ctl_table_header *sysctl_hdr;\n\tint sysctl_somaxconn;\n\tint sysctl_optmem_max;\n\tu8 sysctl_txrehash;\n\tu8 sysctl_tstamp_allow_data;\n\tstruct prot_inuse *prot_inuse;\n\tstruct cpumask *rps_default_mask;\n};\n\nstruct tcp_mib;\n\nstruct udp_mib;\n\nstruct netns_mib {\n\tstruct ipstats_mib *ip_statistics;\n\tstruct ipstats_mib *ipv6_statistics;\n\tstruct tcp_mib *tcp_statistics;\n\tstruct linux_mib *net_statistics;\n\tstruct udp_mib *udp_statistics;\n\tstruct udp_mib *udp_stats_in6;\n\tstruct udp_mib *udplite_statistics;\n\tstruct udp_mib *udplite_stats_in6;\n\tstruct icmp_mib *icmp_statistics;\n\tstruct icmpmsg_mib *icmpmsg_statistics;\n\tstruct icmpv6_mib *icmpv6_statistics;\n\tstruct icmpv6msg_mib *icmpv6msg_statistics;\n\tstruct proc_dir_entry *proc_net_devsnmp6;\n};\n\nstruct netns_packet {\n\tstruct mutex sklist_lock;\n\tstruct hlist_head sklist;\n};\n\nstruct unix_table {\n\tspinlock_t *locks;\n\tstruct hlist_head *buckets;\n};\n\nstruct netns_unix {\n\tstruct unix_table table;\n\tint sysctl_max_dgram_qlen;\n\tstruct ctl_table_header *ctl;\n};\n\nstruct netns_nexthop {\n\tstruct rb_root rb_root;\n\tstruct hlist_head *devhash;\n\tunsigned int seq;\n\tu32 last_id_allocated;\n\tstruct blocking_notifier_head notifier_chain;\n};\n\nstruct ping_group_range {\n\tseqlock_t lock;\n\tkgid_t range[2];\n};\n\nstruct netns_ipv4 {\n\t__u8 __cacheline_group_begin__netns_ipv4_read_tx[0];\n\tu8 sysctl_tcp_early_retrans;\n\tu8 sysctl_tcp_tso_win_divisor;\n\tu8 sysctl_tcp_tso_rtt_log;\n\tu8 sysctl_tcp_autocorking;\n\tint sysctl_tcp_min_snd_mss;\n\tunsigned int sysctl_tcp_notsent_lowat;\n\tint sysctl_tcp_limit_output_bytes;\n\tint sysctl_tcp_min_rtt_wlen;\n\tint sysctl_tcp_wmem[3];\n\tu8 sysctl_ip_fwd_use_pmtu;\n\t__u8 __cacheline_group_end__netns_ipv4_read_tx[0];\n\t__u8 __cacheline_group_begin__netns_ipv4_read_txrx[0];\n\tu8 sysctl_tcp_moderate_rcvbuf;\n\t__u8 __cacheline_group_end__netns_ipv4_read_txrx[0];\n\t__u8 __cacheline_group_begin__netns_ipv4_read_rx[0];\n\tu8 sysctl_ip_early_demux;\n\tu8 sysctl_tcp_early_demux;\n\tu8 sysctl_tcp_l3mdev_accept;\n\tint sysctl_tcp_reordering;\n\tint sysctl_tcp_rmem[3];\n\t__u8 __cacheline_group_end__netns_ipv4_read_rx[0];\n\tlong: 64;\n\tstruct inet_timewait_death_row tcp_death_row;\n\tstruct udp_table *udp_table;\n\tstruct ctl_table_header *forw_hdr;\n\tstruct ctl_table_header *frags_hdr;\n\tstruct ctl_table_header *ipv4_hdr;\n\tstruct ctl_table_header *route_hdr;\n\tstruct ctl_table_header *xfrm4_hdr;\n\tstruct ipv4_devconf *devconf_all;\n\tstruct ipv4_devconf *devconf_dflt;\n\tstruct ip_ra_chain *ra_chain;\n\tstruct mutex ra_mutex;\n\tbool fib_has_custom_local_routes;\n\tbool fib_offload_disabled;\n\tu8 sysctl_tcp_shrink_window;\n\tstruct hlist_head *fib_table_hash;\n\tstruct sock *fibnl;\n\tstruct sock *mc_autojoin_sk;\n\tstruct inet_peer_base *peers;\n\tstruct fqdir *fqdir;\n\tu8 sysctl_icmp_echo_ignore_all;\n\tu8 sysctl_icmp_echo_enable_probe;\n\tu8 sysctl_icmp_echo_ignore_broadcasts;\n\tu8 sysctl_icmp_ignore_bogus_error_responses;\n\tu8 sysctl_icmp_errors_use_inbound_ifaddr;\n\tint sysctl_icmp_ratelimit;\n\tint sysctl_icmp_ratemask;\n\tint sysctl_icmp_msgs_per_sec;\n\tint sysctl_icmp_msgs_burst;\n\tatomic_t icmp_global_credit;\n\tu32 icmp_global_stamp;\n\tu32 ip_rt_min_pmtu;\n\tint ip_rt_mtu_expires;\n\tint ip_rt_min_advmss;\n\tstruct local_ports ip_local_ports;\n\tu8 sysctl_tcp_ecn;\n\tu8 sysctl_tcp_ecn_fallback;\n\tu8 sysctl_ip_default_ttl;\n\tu8 sysctl_ip_no_pmtu_disc;\n\tu8 sysctl_ip_fwd_update_priority;\n\tu8 sysctl_ip_nonlocal_bind;\n\tu8 sysctl_ip_autobind_reuse;\n\tu8 sysctl_ip_dynaddr;\n\tu8 sysctl_raw_l3mdev_accept;\n\tu8 sysctl_udp_early_demux;\n\tu8 sysctl_nexthop_compat_mode;\n\tu8 sysctl_fwmark_reflect;\n\tu8 sysctl_tcp_fwmark_accept;\n\tu8 sysctl_tcp_mtu_probing;\n\tint sysctl_tcp_mtu_probe_floor;\n\tint sysctl_tcp_base_mss;\n\tint sysctl_tcp_probe_threshold;\n\tu32 sysctl_tcp_probe_interval;\n\tint sysctl_tcp_keepalive_time;\n\tint sysctl_tcp_keepalive_intvl;\n\tu8 sysctl_tcp_keepalive_probes;\n\tu8 sysctl_tcp_syn_retries;\n\tu8 sysctl_tcp_synack_retries;\n\tu8 sysctl_tcp_syncookies;\n\tu8 sysctl_tcp_migrate_req;\n\tu8 sysctl_tcp_comp_sack_nr;\n\tu8 sysctl_tcp_backlog_ack_defer;\n\tu8 sysctl_tcp_pingpong_thresh;\n\tu8 sysctl_tcp_retries1;\n\tu8 sysctl_tcp_retries2;\n\tu8 sysctl_tcp_orphan_retries;\n\tu8 sysctl_tcp_tw_reuse;\n\tunsigned int sysctl_tcp_tw_reuse_delay;\n\tint sysctl_tcp_fin_timeout;\n\tu8 sysctl_tcp_sack;\n\tu8 sysctl_tcp_window_scaling;\n\tu8 sysctl_tcp_timestamps;\n\tint sysctl_tcp_rto_min_us;\n\tu8 sysctl_tcp_recovery;\n\tu8 sysctl_tcp_thin_linear_timeouts;\n\tu8 sysctl_tcp_slow_start_after_idle;\n\tu8 sysctl_tcp_retrans_collapse;\n\tu8 sysctl_tcp_stdurg;\n\tu8 sysctl_tcp_rfc1337;\n\tu8 sysctl_tcp_abort_on_overflow;\n\tu8 sysctl_tcp_fack;\n\tint sysctl_tcp_max_reordering;\n\tint sysctl_tcp_adv_win_scale;\n\tu8 sysctl_tcp_dsack;\n\tu8 sysctl_tcp_app_win;\n\tu8 sysctl_tcp_frto;\n\tu8 sysctl_tcp_nometrics_save;\n\tu8 sysctl_tcp_no_ssthresh_metrics_save;\n\tu8 sysctl_tcp_workaround_signed_windows;\n\tint sysctl_tcp_challenge_ack_limit;\n\tu8 sysctl_tcp_min_tso_segs;\n\tu8 sysctl_tcp_reflect_tos;\n\tint sysctl_tcp_invalid_ratelimit;\n\tint sysctl_tcp_pacing_ss_ratio;\n\tint sysctl_tcp_pacing_ca_ratio;\n\tunsigned int sysctl_tcp_child_ehash_entries;\n\tlong unsigned int sysctl_tcp_comp_sack_delay_ns;\n\tlong unsigned int sysctl_tcp_comp_sack_slack_ns;\n\tint sysctl_max_syn_backlog;\n\tint sysctl_tcp_fastopen;\n\tconst struct tcp_congestion_ops *tcp_congestion_control;\n\tstruct tcp_fastopen_context *tcp_fastopen_ctx;\n\tunsigned int sysctl_tcp_fastopen_blackhole_timeout;\n\tatomic_t tfo_active_disable_times;\n\tlong unsigned int tfo_active_disable_stamp;\n\tu32 tcp_challenge_timestamp;\n\tu32 tcp_challenge_count;\n\tu8 sysctl_tcp_plb_enabled;\n\tu8 sysctl_tcp_plb_idle_rehash_rounds;\n\tu8 sysctl_tcp_plb_rehash_rounds;\n\tu8 sysctl_tcp_plb_suspend_rto_sec;\n\tint sysctl_tcp_plb_cong_thresh;\n\tint sysctl_udp_wmem_min;\n\tint sysctl_udp_rmem_min;\n\tu8 sysctl_fib_notify_on_flag_change;\n\tu8 sysctl_tcp_syn_linear_timeouts;\n\tu8 sysctl_udp_l3mdev_accept;\n\tu8 sysctl_igmp_llm_reports;\n\tint sysctl_igmp_max_memberships;\n\tint sysctl_igmp_max_msf;\n\tint sysctl_igmp_qrv;\n\tstruct ping_group_range ping_group_range;\n\tatomic_t dev_addr_genid;\n\tunsigned int sysctl_udp_child_hash_entries;\n\tlong unsigned int *sysctl_local_reserved_ports;\n\tint sysctl_ip_prot_sock;\n\tstruct fib_notifier_ops *notifier_ops;\n\tunsigned int fib_seq;\n\tstruct fib_notifier_ops *ipmr_notifier_ops;\n\tunsigned int ipmr_seq;\n\tatomic_t rt_genid;\n\tsiphash_key_t ip_id_key;\n\tstruct hlist_head *inet_addr_lst;\n\tstruct delayed_work addr_chk_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netns_sysctl_ipv6 {\n\tstruct ctl_table_header *hdr;\n\tstruct ctl_table_header *route_hdr;\n\tstruct ctl_table_header *icmp_hdr;\n\tstruct ctl_table_header *frags_hdr;\n\tstruct ctl_table_header *xfrm6_hdr;\n\tint flush_delay;\n\tint ip6_rt_max_size;\n\tint ip6_rt_gc_min_interval;\n\tint ip6_rt_gc_timeout;\n\tint ip6_rt_gc_interval;\n\tint ip6_rt_gc_elasticity;\n\tint ip6_rt_mtu_expires;\n\tint ip6_rt_min_advmss;\n\tu32 multipath_hash_fields;\n\tu8 multipath_hash_policy;\n\tu8 bindv6only;\n\tu8 flowlabel_consistency;\n\tu8 auto_flowlabels;\n\tint icmpv6_time;\n\tu8 icmpv6_echo_ignore_all;\n\tu8 icmpv6_echo_ignore_multicast;\n\tu8 icmpv6_echo_ignore_anycast;\n\tlong unsigned int icmpv6_ratemask[4];\n\tlong unsigned int *icmpv6_ratemask_ptr;\n\tu8 anycast_src_echo_reply;\n\tu8 ip_nonlocal_bind;\n\tu8 fwmark_reflect;\n\tu8 flowlabel_state_ranges;\n\tint idgen_retries;\n\tint idgen_delay;\n\tint flowlabel_reflect;\n\tint max_dst_opts_cnt;\n\tint max_hbh_opts_cnt;\n\tint max_dst_opts_len;\n\tint max_hbh_opts_len;\n\tint seg6_flowlabel;\n\tu32 ioam6_id;\n\tu64 ioam6_id_wide;\n\tu8 skip_notify_on_dev_down;\n\tu8 fib_notify_on_flag_change;\n\tu8 icmpv6_error_anycast_as_unicast;\n};\n\nstruct rt6_statistics;\n\nstruct seg6_pernet_data;\n\nstruct netns_ipv6 {\n\tstruct dst_ops ip6_dst_ops;\n\tstruct netns_sysctl_ipv6 sysctl;\n\tstruct ipv6_devconf *devconf_all;\n\tstruct ipv6_devconf *devconf_dflt;\n\tstruct inet_peer_base *peers;\n\tstruct fqdir *fqdir;\n\tstruct fib6_info *fib6_null_entry;\n\tstruct rt6_info *ip6_null_entry;\n\tstruct rt6_statistics *rt6_stats;\n\tstruct timer_list ip6_fib_timer;\n\tstruct hlist_head *fib_table_hash;\n\tstruct fib6_table *fib6_main_tbl;\n\tstruct list_head fib6_walkers;\n\trwlock_t fib6_walker_lock;\n\tspinlock_t fib6_gc_lock;\n\tatomic_t ip6_rt_gc_expire;\n\tlong unsigned int ip6_rt_last_gc;\n\tunsigned char flowlabel_has_excl;\n\tstruct sock *ndisc_sk;\n\tstruct sock *tcp_sk;\n\tstruct sock *igmp_sk;\n\tstruct sock *mc_autojoin_sk;\n\tstruct hlist_head *inet6_addr_lst;\n\tspinlock_t addrconf_hash_lock;\n\tstruct delayed_work addr_chk_work;\n\tatomic_t dev_addr_genid;\n\tatomic_t fib6_sernum;\n\tstruct seg6_pernet_data *seg6_data;\n\tstruct fib_notifier_ops *notifier_ops;\n\tstruct fib_notifier_ops *ip6mr_notifier_ops;\n\tunsigned int ipmr_seq;\n\tstruct {\n\t\tstruct hlist_head head;\n\t\tspinlock_t lock;\n\t\tu32 seq;\n\t} ip6addrlbl_table;\n\tstruct ioam6_pernet_data *ioam6_data;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nf_logger;\n\nstruct nf_hook_entries;\n\nstruct netns_nf {\n\tstruct proc_dir_entry *proc_netfilter;\n\tconst struct nf_logger *nf_loggers[11];\n\tstruct ctl_table_header *nf_log_dir_header;\n\tstruct nf_hook_entries *hooks_ipv4[5];\n\tstruct nf_hook_entries *hooks_ipv6[5];\n\tstruct nf_hook_entries *hooks_bridge[5];\n\tunsigned int defrag_ipv4_users;\n\tunsigned int defrag_ipv6_users;\n};\n\nstruct nf_ct_event_notifier;\n\nstruct nf_generic_net {\n\tunsigned int timeout;\n};\n\nstruct nf_tcp_net {\n\tunsigned int timeouts[14];\n\tu8 tcp_loose;\n\tu8 tcp_be_liberal;\n\tu8 tcp_max_retrans;\n\tu8 tcp_ignore_invalid_rst;\n};\n\nstruct nf_udp_net {\n\tunsigned int timeouts[2];\n};\n\nstruct nf_icmp_net {\n\tunsigned int timeout;\n};\n\nstruct nf_dccp_net {\n\tu8 dccp_loose;\n\tunsigned int dccp_timeout[10];\n};\n\nstruct nf_sctp_net {\n\tunsigned int timeouts[10];\n};\n\nstruct nf_ip_net {\n\tstruct nf_generic_net generic;\n\tstruct nf_tcp_net tcp;\n\tstruct nf_udp_net udp;\n\tstruct nf_icmp_net icmp;\n\tstruct nf_icmp_net icmpv6;\n\tstruct nf_dccp_net dccp;\n\tstruct nf_sctp_net sctp;\n};\n\nstruct netns_ct {\n\tu8 sysctl_log_invalid;\n\tu8 sysctl_events;\n\tu8 sysctl_acct;\n\tu8 sysctl_tstamp;\n\tu8 sysctl_checksum;\n\tstruct ip_conntrack_stat *stat;\n\tstruct nf_ct_event_notifier *nf_conntrack_event_cb;\n\tstruct nf_ip_net nf_ct_proto;\n};\n\nstruct netns_bpf {\n\tstruct bpf_prog_array *run_array[2];\n\tstruct bpf_prog *progs[2];\n\tstruct list_head links[2];\n};\n\nstruct xfrm_policy_hash {\n\tstruct hlist_head *table;\n\tunsigned int hmask;\n\tu8 dbits4;\n\tu8 sbits4;\n\tu8 dbits6;\n\tu8 sbits6;\n};\n\nstruct xfrm_policy_hthresh {\n\tstruct work_struct work;\n\tseqlock_t lock;\n\tu8 lbits4;\n\tu8 rbits4;\n\tu8 lbits6;\n\tu8 rbits6;\n};\n\nstruct netns_xfrm {\n\tstruct list_head state_all;\n\tstruct hlist_head *state_bydst;\n\tstruct hlist_head *state_bysrc;\n\tstruct hlist_head *state_byspi;\n\tstruct hlist_head *state_byseq;\n\tstruct hlist_head *state_cache_input;\n\tunsigned int state_hmask;\n\tunsigned int state_num;\n\tstruct work_struct state_hash_work;\n\tstruct list_head policy_all;\n\tstruct hlist_head *policy_byidx;\n\tunsigned int policy_idx_hmask;\n\tunsigned int idx_generator;\n\tstruct xfrm_policy_hash policy_bydst[3];\n\tunsigned int policy_count[6];\n\tstruct work_struct policy_hash_work;\n\tstruct xfrm_policy_hthresh policy_hthresh;\n\tstruct list_head inexact_bins;\n\tstruct sock *nlsk;\n\tstruct sock *nlsk_stash;\n\tu32 sysctl_aevent_etime;\n\tu32 sysctl_aevent_rseqth;\n\tint sysctl_larval_drop;\n\tu32 sysctl_acq_expires;\n\tu8 policy_default[3];\n\tstruct ctl_table_header *sysctl_hdr;\n\tlong: 64;\n\tlong: 64;\n\tstruct dst_ops xfrm4_dst_ops;\n\tstruct dst_ops xfrm6_dst_ops;\n\tspinlock_t xfrm_state_lock;\n\tseqcount_spinlock_t xfrm_state_hash_generation;\n\tseqcount_spinlock_t xfrm_policy_hash_generation;\n\tspinlock_t xfrm_policy_lock;\n\tstruct mutex xfrm_cfg_mutex;\n\tstruct delayed_work nat_keepalive_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netns_ipvs;\n\nstruct can_dev_rcv_lists;\n\nstruct can_pkg_stats;\n\nstruct can_rcv_lists_stats;\n\nstruct netns_can {\n\tstruct proc_dir_entry *proc_dir;\n\tstruct proc_dir_entry *pde_stats;\n\tstruct proc_dir_entry *pde_reset_stats;\n\tstruct proc_dir_entry *pde_rcvlist_all;\n\tstruct proc_dir_entry *pde_rcvlist_fil;\n\tstruct proc_dir_entry *pde_rcvlist_inv;\n\tstruct proc_dir_entry *pde_rcvlist_sff;\n\tstruct proc_dir_entry *pde_rcvlist_eff;\n\tstruct proc_dir_entry *pde_rcvlist_err;\n\tstruct proc_dir_entry *bcmproc_dir;\n\tstruct can_dev_rcv_lists *rx_alldev_list;\n\tspinlock_t rcvlists_lock;\n\tstruct timer_list stattimer;\n\tstruct can_pkg_stats *pkg_stats;\n\tstruct can_rcv_lists_stats *rcv_lists_stats;\n\tstruct hlist_head cgw_list;\n};\n\nstruct uevent_sock;\n\nstruct net_generic;\n\nstruct net {\n\trefcount_t passive;\n\tspinlock_t rules_mod_lock;\n\tunsigned int dev_base_seq;\n\tu32 ifindex;\n\tspinlock_t nsid_lock;\n\tatomic_t fnhe_genid;\n\tstruct list_head list;\n\tstruct list_head exit_list;\n\tstruct llist_node defer_free_list;\n\tstruct llist_node cleanup_list;\n\tstruct key_tag *key_domain;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct idr netns_ids;\n\tstruct ns_common ns;\n\tstruct ref_tracker_dir refcnt_tracker;\n\tstruct ref_tracker_dir notrefcnt_tracker;\n\tstruct list_head dev_base_head;\n\tstruct proc_dir_entry *proc_net;\n\tstruct proc_dir_entry *proc_net_stat;\n\tstruct ctl_table_set sysctls;\n\tstruct sock *rtnl;\n\tstruct sock *genl_sock;\n\tstruct uevent_sock *uevent_sock;\n\tstruct hlist_head *dev_name_head;\n\tstruct hlist_head *dev_index_head;\n\tstruct xarray dev_by_index;\n\tstruct raw_notifier_head netdev_chain;\n\tu32 hash_mix;\n\tstruct net_device *loopback_dev;\n\tstruct list_head rules_ops;\n\tstruct netns_core core;\n\tstruct netns_mib mib;\n\tstruct netns_packet packet;\n\tstruct netns_unix unx;\n\tstruct netns_nexthop nexthop;\n\tlong: 64;\n\tstruct netns_ipv4 ipv4;\n\tstruct netns_ipv6 ipv6;\n\tstruct netns_nf nf;\n\tstruct netns_ct ct;\n\tstruct net_generic *gen;\n\tstruct netns_bpf bpf;\n\tlong: 64;\n\tlong: 64;\n\tstruct netns_xfrm xfrm;\n\tu64 net_cookie;\n\tstruct netns_ipvs *ipvs;\n\tstruct netns_can can;\n\tstruct sock *diag_nlsk;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rtable {\n\tstruct dst_entry dst;\n\tint rt_genid;\n\tunsigned int rt_flags;\n\t__u16 rt_type;\n\t__u8 rt_is_input;\n\t__u8 rt_uses_gateway;\n\tint rt_iif;\n\tu8 rt_gw_family;\n\tunion {\n\t\t__be32 rt_gw4;\n\t\tstruct in6_addr rt_gw6;\n\t};\n\tu32 rt_mtu_locked: 1;\n\tu32 rt_pmtu: 31;\n};\n\nstruct rt6_info {\n\tstruct dst_entry dst;\n\tstruct fib6_info *from;\n\tint sernum;\n\tstruct rt6key rt6i_dst;\n\tstruct rt6key rt6i_src;\n\tstruct in6_addr rt6i_gateway;\n\tstruct inet6_dev *rt6i_idev;\n\tu32 rt6i_flags;\n\tshort unsigned int rt6i_nfheader_len;\n};\n\nstruct net_bridge;\n\nstruct net_bridge_vlan;\n\nstruct net_bridge_mcast {\n\tstruct net_bridge *br;\n\tstruct net_bridge_vlan *vlan;\n\tu32 multicast_last_member_count;\n\tu32 multicast_startup_query_count;\n\tu8 multicast_querier;\n\tu8 multicast_igmp_version;\n\tu8 multicast_router;\n\tu8 multicast_mld_version;\n\tlong unsigned int multicast_last_member_interval;\n\tlong unsigned int multicast_membership_interval;\n\tlong unsigned int multicast_querier_interval;\n\tlong unsigned int multicast_query_interval;\n\tlong unsigned int multicast_query_response_interval;\n\tlong unsigned int multicast_startup_query_interval;\n\tstruct hlist_head ip4_mc_router_list;\n\tstruct timer_list ip4_mc_router_timer;\n\tstruct bridge_mcast_other_query ip4_other_query;\n\tstruct bridge_mcast_own_query ip4_own_query;\n\tstruct bridge_mcast_querier ip4_querier;\n\tstruct hlist_head ip6_mc_router_list;\n\tstruct timer_list ip6_mc_router_timer;\n\tstruct bridge_mcast_other_query ip6_other_query;\n\tstruct bridge_mcast_own_query ip6_own_query;\n\tstruct bridge_mcast_querier ip6_querier;\n};\n\nstruct net_bridge_vlan_group;\n\nstruct net_bridge {\n\tspinlock_t lock;\n\tspinlock_t hash_lock;\n\tstruct hlist_head frame_type_list;\n\tstruct net_device *dev;\n\tlong unsigned int options;\n\t__be16 vlan_proto;\n\tu16 default_pvid;\n\tstruct net_bridge_vlan_group *vlgrp;\n\tstruct rhashtable fdb_hash_tbl;\n\tstruct list_head port_list;\n\tunion {\n\t\tstruct rtable fake_rtable;\n\t\tstruct rt6_info fake_rt6_info;\n\t};\n\tu16 group_fwd_mask;\n\tu16 group_fwd_mask_required;\n\tbridge_id designated_root;\n\tbridge_id bridge_id;\n\tunsigned char topology_change;\n\tunsigned char topology_change_detected;\n\tu16 root_port;\n\tlong unsigned int max_age;\n\tlong unsigned int hello_time;\n\tlong unsigned int forward_delay;\n\tlong unsigned int ageing_time;\n\tlong unsigned int bridge_max_age;\n\tlong unsigned int bridge_hello_time;\n\tlong unsigned int bridge_forward_delay;\n\tlong unsigned int bridge_ageing_time;\n\tu32 root_path_cost;\n\tu8 group_addr[6];\n\tenum {\n\t\tBR_NO_STP = 0,\n\t\tBR_KERNEL_STP = 1,\n\t\tBR_USER_STP = 2,\n\t} stp_enabled;\n\tstruct net_bridge_mcast multicast_ctx;\n\tstruct bridge_mcast_stats *mcast_stats;\n\tu32 hash_max;\n\tspinlock_t multicast_lock;\n\tstruct rhashtable mdb_hash_tbl;\n\tstruct rhashtable sg_port_tbl;\n\tstruct hlist_head mcast_gc_list;\n\tstruct hlist_head mdb_list;\n\tstruct work_struct mcast_gc_work;\n\tstruct timer_list hello_timer;\n\tstruct timer_list tcn_timer;\n\tstruct timer_list topology_change_timer;\n\tstruct delayed_work gc_work;\n\tstruct kobject *ifobj;\n\tu32 auto_cnt;\n\tatomic_t fdb_n_learned;\n\tu32 fdb_max_learned;\n\tstruct hlist_head fdb_list;\n};\n\nstruct net_bridge_fdb_key {\n\tmac_addr addr;\n\tu16 vlan_id;\n};\n\nstruct net_bridge_port;\n\nstruct net_bridge_fdb_entry {\n\tstruct rhash_head rhnode;\n\tstruct net_bridge_port *dst;\n\tstruct net_bridge_fdb_key key;\n\tstruct hlist_node fdb_node;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct net_bridge_mcast_port {\n\tstruct net_bridge_port *port;\n\tstruct net_bridge_vlan *vlan;\n\tstruct bridge_mcast_own_query ip4_own_query;\n\tstruct timer_list ip4_mc_router_timer;\n\tstruct hlist_node ip4_rlist;\n\tstruct bridge_mcast_own_query ip6_own_query;\n\tstruct timer_list ip6_mc_router_timer;\n\tstruct hlist_node ip6_rlist;\n\tunsigned char multicast_router;\n\tu32 mdb_n_entries;\n\tu32 mdb_max_entries;\n};\n\nstruct net_bridge_port {\n\tstruct net_bridge *br;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tstruct net_bridge_vlan_group *vlgrp;\n\tstruct net_bridge_port *backup_port;\n\tu32 backup_nhid;\n\tu8 priority;\n\tu8 state;\n\tu16 port_no;\n\tunsigned char topology_change_ack;\n\tunsigned char config_pending;\n\tport_id port_id;\n\tport_id designated_port;\n\tbridge_id designated_root;\n\tbridge_id designated_bridge;\n\tu32 path_cost;\n\tu32 designated_cost;\n\tlong unsigned int designated_age;\n\tstruct timer_list forward_delay_timer;\n\tstruct timer_list hold_timer;\n\tstruct timer_list message_age_timer;\n\tstruct kobject kobj;\n\tstruct callback_head rcu;\n\tstruct net_bridge_mcast_port multicast_ctx;\n\tstruct bridge_mcast_stats *mcast_stats;\n\tu32 multicast_eht_hosts_limit;\n\tu32 multicast_eht_hosts_cnt;\n\tstruct hlist_head mglist;\n\tchar sysfs_name[16];\n\tu16 group_fwd_mask;\n\tu16 backup_redirected_cnt;\n\tstruct bridge_stp_xstats stp_xstats;\n};\n\nstruct pcpu_sw_netstats;\n\nstruct net_bridge_vlan {\n\tstruct rhash_head vnode;\n\tstruct rhash_head tnode;\n\tu16 vid;\n\tu16 flags;\n\tu16 priv_flags;\n\tu8 state;\n\tstruct pcpu_sw_netstats *stats;\n\tunion {\n\t\tstruct net_bridge *br;\n\t\tstruct net_bridge_port *port;\n\t};\n\tunion {\n\t\trefcount_t refcnt;\n\t\tstruct net_bridge_vlan *brvlan;\n\t};\n\tstruct br_tunnel_info tinfo;\n\tunion {\n\t\tstruct net_bridge_mcast br_mcast_ctx;\n\t\tstruct net_bridge_mcast_port port_mcast_ctx;\n\t};\n\tu16 msti;\n\tstruct list_head vlist;\n\tstruct callback_head rcu;\n};\n\nstruct net_bridge_vlan_group {\n\tstruct rhashtable vlan_hash;\n\tstruct rhashtable tunnel_hash;\n\tstruct list_head vlan_list;\n\tu16 num_vlans;\n\tu16 pvid;\n\tu8 pvid_state;\n};\n\nstruct netdev_tc_txq {\n\tu16 count;\n\tu16 offset;\n};\n\ntypedef rx_handler_result_t rx_handler_func_t(struct sk_buff **);\n\nstruct net_device_stats {\n\tunion {\n\t\tlong unsigned int rx_packets;\n\t\tatomic_long_t __rx_packets;\n\t};\n\tunion {\n\t\tlong unsigned int tx_packets;\n\t\tatomic_long_t __tx_packets;\n\t};\n\tunion {\n\t\tlong unsigned int rx_bytes;\n\t\tatomic_long_t __rx_bytes;\n\t};\n\tunion {\n\t\tlong unsigned int tx_bytes;\n\t\tatomic_long_t __tx_bytes;\n\t};\n\tunion {\n\t\tlong unsigned int rx_errors;\n\t\tatomic_long_t __rx_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_errors;\n\t\tatomic_long_t __tx_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_dropped;\n\t\tatomic_long_t __rx_dropped;\n\t};\n\tunion {\n\t\tlong unsigned int tx_dropped;\n\t\tatomic_long_t __tx_dropped;\n\t};\n\tunion {\n\t\tlong unsigned int multicast;\n\t\tatomic_long_t __multicast;\n\t};\n\tunion {\n\t\tlong unsigned int collisions;\n\t\tatomic_long_t __collisions;\n\t};\n\tunion {\n\t\tlong unsigned int rx_length_errors;\n\t\tatomic_long_t __rx_length_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_over_errors;\n\t\tatomic_long_t __rx_over_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_crc_errors;\n\t\tatomic_long_t __rx_crc_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_frame_errors;\n\t\tatomic_long_t __rx_frame_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_fifo_errors;\n\t\tatomic_long_t __rx_fifo_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_missed_errors;\n\t\tatomic_long_t __rx_missed_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_aborted_errors;\n\t\tatomic_long_t __tx_aborted_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_carrier_errors;\n\t\tatomic_long_t __tx_carrier_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_fifo_errors;\n\t\tatomic_long_t __tx_fifo_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_heartbeat_errors;\n\t\tatomic_long_t __tx_heartbeat_errors;\n\t};\n\tunion {\n\t\tlong unsigned int tx_window_errors;\n\t\tatomic_long_t __tx_window_errors;\n\t};\n\tunion {\n\t\tlong unsigned int rx_compressed;\n\t\tatomic_long_t __rx_compressed;\n\t};\n\tunion {\n\t\tlong unsigned int tx_compressed;\n\t\tatomic_long_t __tx_compressed;\n\t};\n};\n\nstruct netdev_hw_addr_list {\n\tstruct list_head list;\n\tint count;\n\tstruct rb_root tree;\n};\n\nstruct sfp_bus;\n\nstruct udp_tunnel_nic;\n\nstruct net_device_ops;\n\nstruct xps_dev_maps;\n\nstruct pcpu_lstats;\n\nstruct pcpu_dstats;\n\nstruct netdev_rx_queue;\n\nstruct netdev_name_node;\n\nstruct xdp_metadata_ops;\n\nstruct xsk_tx_metadata_ops;\n\nstruct net_device_core_stats;\n\nstruct vlan_info;\n\nstruct xdp_dev_bulk_queue;\n\nstruct netdev_stat_ops;\n\nstruct netdev_queue_mgmt_ops;\n\nstruct netprio_map;\n\nstruct phy_link_topology;\n\nstruct udp_tunnel_nic_info;\n\nstruct netdev_config;\n\nstruct rtnl_hw_stats64;\n\nstruct net_device {\n\t__u8 __cacheline_group_begin__net_device_read_tx[0];\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int priv_flags: 32;\n\t\t\tlong unsigned int lltx: 1;\n\t\t};\n\t\tstruct {\n\t\t\tlong unsigned int priv_flags: 32;\n\t\t\tlong unsigned int lltx: 1;\n\t\t} priv_flags_fast;\n\t};\n\tconst struct net_device_ops *netdev_ops;\n\tconst struct header_ops *header_ops;\n\tstruct netdev_queue *_tx;\n\tnetdev_features_t gso_partial_features;\n\tunsigned int real_num_tx_queues;\n\tunsigned int gso_max_size;\n\tunsigned int gso_ipv4_max_size;\n\tu16 gso_max_segs;\n\ts16 num_tc;\n\tunsigned int mtu;\n\tshort unsigned int needed_headroom;\n\tstruct netdev_tc_txq tc_to_txq[16];\n\tstruct xps_dev_maps *xps_maps[2];\n\tstruct nf_hook_entries *nf_hooks_egress;\n\tstruct bpf_mprog_entry *tcx_egress;\n\t__u8 __cacheline_group_end__net_device_read_tx[0];\n\t__u8 __cacheline_group_begin__net_device_read_txrx[0];\n\tunion {\n\t\tstruct pcpu_lstats *lstats;\n\t\tstruct pcpu_sw_netstats *tstats;\n\t\tstruct pcpu_dstats *dstats;\n\t};\n\tlong unsigned int state;\n\tunsigned int flags;\n\tshort unsigned int hard_header_len;\n\tnetdev_features_t features;\n\tstruct inet6_dev *ip6_ptr;\n\t__u8 __cacheline_group_end__net_device_read_txrx[0];\n\t__u8 __cacheline_group_begin__net_device_read_rx[0];\n\tstruct bpf_prog *xdp_prog;\n\tstruct list_head ptype_specific;\n\tint ifindex;\n\tunsigned int real_num_rx_queues;\n\tstruct netdev_rx_queue *_rx;\n\tunsigned int gro_max_size;\n\tunsigned int gro_ipv4_max_size;\n\trx_handler_func_t *rx_handler;\n\tvoid *rx_handler_data;\n\tpossible_net_t nd_net;\n\tstruct bpf_mprog_entry *tcx_ingress;\n\t__u8 __cacheline_group_end__net_device_read_rx[0];\n\tchar name[16];\n\tstruct netdev_name_node *name_node;\n\tstruct dev_ifalias *ifalias;\n\tlong unsigned int mem_end;\n\tlong unsigned int mem_start;\n\tlong unsigned int base_addr;\n\tstruct list_head dev_list;\n\tstruct list_head napi_list;\n\tstruct list_head unreg_list;\n\tstruct list_head close_list;\n\tstruct list_head ptype_all;\n\tstruct {\n\t\tstruct list_head upper;\n\t\tstruct list_head lower;\n\t} adj_list;\n\txdp_features_t xdp_features;\n\tconst struct xdp_metadata_ops *xdp_metadata_ops;\n\tconst struct xsk_tx_metadata_ops *xsk_tx_metadata_ops;\n\tshort unsigned int gflags;\n\tshort unsigned int needed_tailroom;\n\tnetdev_features_t hw_features;\n\tnetdev_features_t wanted_features;\n\tnetdev_features_t vlan_features;\n\tnetdev_features_t hw_enc_features;\n\tnetdev_features_t mpls_features;\n\tunsigned int min_mtu;\n\tunsigned int max_mtu;\n\tshort unsigned int type;\n\tunsigned char min_header_len;\n\tunsigned char name_assign_type;\n\tint group;\n\tstruct net_device_stats stats;\n\tstruct net_device_core_stats *core_stats;\n\tatomic_t carrier_up_count;\n\tatomic_t carrier_down_count;\n\tconst struct ethtool_ops *ethtool_ops;\n\tconst struct l3mdev_ops *l3mdev_ops;\n\tconst struct ndisc_ops *ndisc_ops;\n\tunsigned int operstate;\n\tunsigned char link_mode;\n\tunsigned char if_port;\n\tunsigned char dma;\n\tunsigned char perm_addr[32];\n\tunsigned char addr_assign_type;\n\tunsigned char addr_len;\n\tunsigned char upper_level;\n\tunsigned char lower_level;\n\tshort unsigned int neigh_priv_len;\n\tshort unsigned int dev_id;\n\tshort unsigned int dev_port;\n\tint irq;\n\tu32 priv_len;\n\tspinlock_t addr_list_lock;\n\tstruct netdev_hw_addr_list uc;\n\tstruct netdev_hw_addr_list mc;\n\tstruct netdev_hw_addr_list dev_addrs;\n\tstruct kset *queues_kset;\n\tunsigned int promiscuity;\n\tunsigned int allmulti;\n\tbool uc_promisc;\n\tstruct in_device *ip_ptr;\n\tstruct hlist_head fib_nh_head;\n\tstruct vlan_info *vlan_info;\n\tconst unsigned char *dev_addr;\n\tunsigned int num_rx_queues;\n\tunsigned int xdp_zc_max_segs;\n\tstruct netdev_queue *ingress_queue;\n\tstruct nf_hook_entries *nf_hooks_ingress;\n\tunsigned char broadcast[32];\n\tstruct cpu_rmap *rx_cpu_rmap;\n\tstruct hlist_node index_hlist;\n\tunsigned int num_tx_queues;\n\tstruct Qdisc *qdisc;\n\tunsigned int tx_queue_len;\n\tspinlock_t tx_global_lock;\n\tstruct xdp_dev_bulk_queue *xdp_bulkq;\n\tstruct hlist_head qdisc_hash[16];\n\tstruct timer_list watchdog_timer;\n\tint watchdog_timeo;\n\tu32 proto_down_reason;\n\tstruct list_head todo_list;\n\tint *pcpu_refcnt;\n\tstruct ref_tracker_dir refcnt_tracker;\n\tstruct list_head link_watch_list;\n\tu8 reg_state;\n\tbool dismantle;\n\tenum {\n\t\tRTNL_LINK_INITIALIZED = 0,\n\t\tRTNL_LINK_INITIALIZING = 1,\n\t} rtnl_link_state: 16;\n\tbool needs_free_netdev;\n\tvoid (*priv_destructor)(struct net_device *);\n\tvoid *ml_priv;\n\tenum netdev_ml_priv_type ml_priv_type;\n\tenum netdev_stat_type pcpu_stat_type: 8;\n\tstruct device dev;\n\tconst struct attribute_group *sysfs_groups[4];\n\tconst struct attribute_group *sysfs_rx_queue_group;\n\tconst struct rtnl_link_ops *rtnl_link_ops;\n\tconst struct netdev_stat_ops *stat_ops;\n\tconst struct netdev_queue_mgmt_ops *queue_mgmt_ops;\n\tunsigned int tso_max_size;\n\tu16 tso_max_segs;\n\tu8 prio_tc_map[16];\n\tstruct netprio_map *priomap;\n\tstruct phy_link_topology *link_topo;\n\tstruct phy_device *phydev;\n\tstruct sfp_bus *sfp_bus;\n\tstruct lock_class_key *qdisc_tx_busylock;\n\tbool proto_down;\n\tbool threaded;\n\tlong unsigned int see_all_hwtstamp_requests: 1;\n\tlong unsigned int change_proto_down: 1;\n\tlong unsigned int netns_local: 1;\n\tlong unsigned int fcoe_mtu: 1;\n\tstruct list_head net_notifier_list;\n\tconst struct udp_tunnel_nic_info *udp_tunnel_nic_info;\n\tstruct udp_tunnel_nic *udp_tunnel_nic;\n\tstruct netdev_config *cfg;\n\tstruct netdev_config *cfg_pending;\n\tstruct ethtool_netdev_state *ethtool;\n\tstruct bpf_xdp_entity xdp_state[3];\n\tu8 dev_addr_shadow[32];\n\tnetdevice_tracker linkwatch_dev_tracker;\n\tnetdevice_tracker watchdog_dev_tracker;\n\tnetdevice_tracker dev_registered_tracker;\n\tstruct rtnl_hw_stats64 *offload_xstats_l3;\n\tstruct devlink_port *devlink_port;\n\tstruct hlist_head page_pools;\n\tstruct dim_irq_moder *irq_moder;\n\tu64 max_pacing_offload_horizon;\n\tstruct napi_config *napi_config;\n\tlong unsigned int gro_flush_timeout;\n\tu32 napi_defer_hard_irqs;\n\tbool up;\n\tstruct mutex lock;\n\tstruct hlist_head neighbours[2];\n\tstruct hwtstamp_provider *hwprov;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu8 priv[0];\n};\n\nstruct net_device_core_stats {\n\tlong unsigned int rx_dropped;\n\tlong unsigned int tx_dropped;\n\tlong unsigned int rx_nohandler;\n\tlong unsigned int rx_otherhost_dropped;\n};\n\nstruct net_device_devres {\n\tstruct net_device *ndev;\n};\n\nstruct rtnl_link_stats64;\n\nstruct netdev_bpf;\n\nstruct xdp_frame;\n\nstruct net_device_path_ctx;\n\nstruct net_device_path;\n\nstruct skb_shared_hwtstamps;\n\nstruct net_device_ops {\n\tint (*ndo_init)(struct net_device *);\n\tvoid (*ndo_uninit)(struct net_device *);\n\tint (*ndo_open)(struct net_device *);\n\tint (*ndo_stop)(struct net_device *);\n\tnetdev_tx_t (*ndo_start_xmit)(struct sk_buff *, struct net_device *);\n\tnetdev_features_t (*ndo_features_check)(struct sk_buff *, struct net_device *, netdev_features_t);\n\tu16 (*ndo_select_queue)(struct net_device *, struct sk_buff *, struct net_device *);\n\tvoid (*ndo_change_rx_flags)(struct net_device *, int);\n\tvoid (*ndo_set_rx_mode)(struct net_device *);\n\tint (*ndo_set_mac_address)(struct net_device *, void *);\n\tint (*ndo_validate_addr)(struct net_device *);\n\tint (*ndo_do_ioctl)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_eth_ioctl)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_siocbond)(struct net_device *, struct ifreq *, int);\n\tint (*ndo_siocwandev)(struct net_device *, struct if_settings *);\n\tint (*ndo_siocdevprivate)(struct net_device *, struct ifreq *, void *, int);\n\tint (*ndo_set_config)(struct net_device *, struct ifmap *);\n\tint (*ndo_change_mtu)(struct net_device *, int);\n\tint (*ndo_neigh_setup)(struct net_device *, struct neigh_parms *);\n\tvoid (*ndo_tx_timeout)(struct net_device *, unsigned int);\n\tvoid (*ndo_get_stats64)(struct net_device *, struct rtnl_link_stats64 *);\n\tbool (*ndo_has_offload_stats)(const struct net_device *, int);\n\tint (*ndo_get_offload_stats)(int, const struct net_device *, void *);\n\tstruct net_device_stats * (*ndo_get_stats)(struct net_device *);\n\tint (*ndo_vlan_rx_add_vid)(struct net_device *, __be16, u16);\n\tint (*ndo_vlan_rx_kill_vid)(struct net_device *, __be16, u16);\n\tint (*ndo_set_vf_mac)(struct net_device *, int, u8 *);\n\tint (*ndo_set_vf_vlan)(struct net_device *, int, u16, u8, __be16);\n\tint (*ndo_set_vf_rate)(struct net_device *, int, int, int);\n\tint (*ndo_set_vf_spoofchk)(struct net_device *, int, bool);\n\tint (*ndo_set_vf_trust)(struct net_device *, int, bool);\n\tint (*ndo_get_vf_config)(struct net_device *, int, struct ifla_vf_info *);\n\tint (*ndo_set_vf_link_state)(struct net_device *, int, int);\n\tint (*ndo_get_vf_stats)(struct net_device *, int, struct ifla_vf_stats *);\n\tint (*ndo_set_vf_port)(struct net_device *, int, struct nlattr **);\n\tint (*ndo_get_vf_port)(struct net_device *, int, struct sk_buff *);\n\tint (*ndo_get_vf_guid)(struct net_device *, int, struct ifla_vf_guid *, struct ifla_vf_guid *);\n\tint (*ndo_set_vf_guid)(struct net_device *, int, u64, int);\n\tint (*ndo_set_vf_rss_query_en)(struct net_device *, int, bool);\n\tint (*ndo_setup_tc)(struct net_device *, enum tc_setup_type, void *);\n\tint (*ndo_rx_flow_steer)(struct net_device *, const struct sk_buff *, u16, u32);\n\tint (*ndo_add_slave)(struct net_device *, struct net_device *, struct netlink_ext_ack *);\n\tint (*ndo_del_slave)(struct net_device *, struct net_device *);\n\tstruct net_device * (*ndo_get_xmit_slave)(struct net_device *, struct sk_buff *, bool);\n\tstruct net_device * (*ndo_sk_get_lower_dev)(struct net_device *, struct sock *);\n\tnetdev_features_t (*ndo_fix_features)(struct net_device *, netdev_features_t);\n\tint (*ndo_set_features)(struct net_device *, netdev_features_t);\n\tint (*ndo_neigh_construct)(struct net_device *, struct neighbour *);\n\tvoid (*ndo_neigh_destroy)(struct net_device *, struct neighbour *);\n\tint (*ndo_fdb_add)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, bool *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_del)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, bool *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_del_bulk)(struct nlmsghdr *, struct net_device *, struct netlink_ext_ack *);\n\tint (*ndo_fdb_dump)(struct sk_buff *, struct netlink_callback *, struct net_device *, struct net_device *, int *);\n\tint (*ndo_fdb_get)(struct sk_buff *, struct nlattr **, struct net_device *, const unsigned char *, u16, u32, u32, struct netlink_ext_ack *);\n\tint (*ndo_mdb_add)(struct net_device *, struct nlattr **, u16, struct netlink_ext_ack *);\n\tint (*ndo_mdb_del)(struct net_device *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*ndo_mdb_del_bulk)(struct net_device *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*ndo_mdb_dump)(struct net_device *, struct sk_buff *, struct netlink_callback *);\n\tint (*ndo_mdb_get)(struct net_device *, struct nlattr **, u32, u32, struct netlink_ext_ack *);\n\tint (*ndo_bridge_setlink)(struct net_device *, struct nlmsghdr *, u16, struct netlink_ext_ack *);\n\tint (*ndo_bridge_getlink)(struct sk_buff *, u32, u32, struct net_device *, u32, int);\n\tint (*ndo_bridge_dellink)(struct net_device *, struct nlmsghdr *, u16);\n\tint (*ndo_change_carrier)(struct net_device *, bool);\n\tint (*ndo_get_phys_port_id)(struct net_device *, struct netdev_phys_item_id *);\n\tint (*ndo_get_port_parent_id)(struct net_device *, struct netdev_phys_item_id *);\n\tint (*ndo_get_phys_port_name)(struct net_device *, char *, size_t);\n\tvoid * (*ndo_dfwd_add_station)(struct net_device *, struct net_device *);\n\tvoid (*ndo_dfwd_del_station)(struct net_device *, void *);\n\tint (*ndo_set_tx_maxrate)(struct net_device *, int, u32);\n\tint (*ndo_get_iflink)(const struct net_device *);\n\tint (*ndo_fill_metadata_dst)(struct net_device *, struct sk_buff *);\n\tvoid (*ndo_set_rx_headroom)(struct net_device *, int);\n\tint (*ndo_bpf)(struct net_device *, struct netdev_bpf *);\n\tint (*ndo_xdp_xmit)(struct net_device *, int, struct xdp_frame **, u32);\n\tstruct net_device * (*ndo_xdp_get_xmit_slave)(struct net_device *, struct xdp_buff *);\n\tint (*ndo_xsk_wakeup)(struct net_device *, u32, u32);\n\tint (*ndo_tunnel_ctl)(struct net_device *, struct ip_tunnel_parm_kern *, int);\n\tstruct net_device * (*ndo_get_peer_dev)(struct net_device *);\n\tint (*ndo_fill_forward_path)(struct net_device_path_ctx *, struct net_device_path *);\n\tktime_t (*ndo_get_tstamp)(struct net_device *, const struct skb_shared_hwtstamps *, bool);\n\tint (*ndo_hwtstamp_get)(struct net_device *, struct kernel_hwtstamp_config *);\n\tint (*ndo_hwtstamp_set)(struct net_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n};\n\nstruct net_device_path {\n\tenum net_device_path_type type;\n\tconst struct net_device *dev;\n\tunion {\n\t\tstruct {\n\t\t\tu16 id;\n\t\t\t__be16 proto;\n\t\t\tu8 h_dest[6];\n\t\t} encap;\n\t\tstruct {\n\t\t\tenum {\n\t\t\t\tDEV_PATH_BR_VLAN_KEEP = 0,\n\t\t\t\tDEV_PATH_BR_VLAN_TAG = 1,\n\t\t\t\tDEV_PATH_BR_VLAN_UNTAG = 2,\n\t\t\t\tDEV_PATH_BR_VLAN_UNTAG_HW = 3,\n\t\t\t} vlan_mode;\n\t\t\tu16 vlan_id;\n\t\t\t__be16 vlan_proto;\n\t\t} bridge;\n\t\tstruct {\n\t\t\tint port;\n\t\t\tu16 proto;\n\t\t} dsa;\n\t\tstruct {\n\t\t\tu8 wdma_idx;\n\t\t\tu8 queue;\n\t\t\tu16 wcid;\n\t\t\tu8 bss;\n\t\t\tu8 amsdu;\n\t\t} mtk_wdma;\n\t};\n};\n\nstruct net_device_path_ctx {\n\tconst struct net_device *dev;\n\tu8 daddr[6];\n\tint num_vlans;\n\tstruct {\n\t\tu16 id;\n\t\t__be16 proto;\n\t} vlan[2];\n};\n\nstruct net_device_path_stack {\n\tint num_paths;\n\tstruct net_device_path path[5];\n};\n\nstruct net_devmem_dmabuf_binding {\n\tstruct dma_buf *dmabuf;\n\tstruct dma_buf_attachment *attachment;\n\tstruct sg_table *sgt;\n\tstruct net_device *dev;\n\tstruct gen_pool *chunk_pool;\n\trefcount_t ref;\n\tstruct list_head list;\n\tstruct xarray bound_rxqs;\n\tu32 id;\n};\n\nstruct rtnl_link_stats64 {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 rx_errors;\n\t__u64 tx_errors;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n\t__u64 multicast;\n\t__u64 collisions;\n\t__u64 rx_length_errors;\n\t__u64 rx_over_errors;\n\t__u64 rx_crc_errors;\n\t__u64 rx_frame_errors;\n\t__u64 rx_fifo_errors;\n\t__u64 rx_missed_errors;\n\t__u64 tx_aborted_errors;\n\t__u64 tx_carrier_errors;\n\t__u64 tx_fifo_errors;\n\t__u64 tx_heartbeat_errors;\n\t__u64 tx_window_errors;\n\t__u64 rx_compressed;\n\t__u64 tx_compressed;\n\t__u64 rx_nohandler;\n\t__u64 rx_otherhost_dropped;\n};\n\nstruct net_failover_info {\n\tstruct net_device *primary_dev;\n\tstruct net_device *standby_dev;\n\tstruct rtnl_link_stats64 primary_stats;\n\tstruct rtnl_link_stats64 standby_stats;\n\tstruct rtnl_link_stats64 failover_stats;\n\tspinlock_t stats_lock;\n};\n\nstruct net_fill_args {\n\tu32 portid;\n\tu32 seq;\n\tint flags;\n\tint cmd;\n\tint nsid;\n\tbool add_ref;\n\tint ref_nsid;\n};\n\nstruct net_generic {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int len;\n\t\t\tstruct callback_head rcu;\n\t\t} s;\n\t\tstruct {\n\t\t\tstruct {} __empty_ptr;\n\t\t\tvoid *ptr[0];\n\t\t};\n\t};\n};\n\nstruct offload_callbacks {\n\tstruct sk_buff * (*gso_segment)(struct sk_buff *, netdev_features_t);\n\tstruct sk_buff * (*gro_receive)(struct list_head *, struct sk_buff *);\n\tint (*gro_complete)(struct sk_buff *, int);\n};\n\nstruct packet_offload {\n\t__be16 type;\n\tu16 priority;\n\tstruct offload_callbacks callbacks;\n\tstruct list_head list;\n};\n\nstruct net_offload {\n\tstruct offload_callbacks callbacks;\n\tunsigned int flags;\n\tu32 secret;\n};\n\nstruct net_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tunsigned int no_policy: 1;\n\tunsigned int icmp_strict_tag_validation: 1;\n\tu32 secret;\n};\n\nstruct rps_sock_flow_table;\n\nstruct net_hotdata {\n\tstruct packet_offload ip_packet_offload;\n\tstruct net_offload tcpv4_offload;\n\tstruct net_protocol tcp_protocol;\n\tstruct net_offload udpv4_offload;\n\tstruct net_protocol udp_protocol;\n\tstruct packet_offload ipv6_packet_offload;\n\tstruct net_offload tcpv6_offload;\n\tstruct inet6_protocol tcpv6_protocol;\n\tstruct inet6_protocol udpv6_protocol;\n\tstruct net_offload udpv6_offload;\n\tstruct list_head offload_base;\n\tstruct list_head ptype_all;\n\tstruct kmem_cache *skbuff_cache;\n\tstruct kmem_cache *skbuff_fclone_cache;\n\tstruct kmem_cache *skb_small_head_cache;\n\tstruct rps_sock_flow_table *rps_sock_flow_table;\n\tu32 rps_cpu_mask;\n\tint gro_normal_batch;\n\tint netdev_budget;\n\tint netdev_budget_usecs;\n\tint tstamp_prequeue;\n\tint max_backlog;\n\tint dev_tx_weight;\n\tint dev_rx_weight;\n\tint sysctl_max_skb_frags;\n\tint sysctl_skb_defer_max;\n\tint sysctl_mem_pcpu_rsv;\n};\n\nstruct net_iov {\n\tlong unsigned int __unused_padding;\n\tlong unsigned int pp_magic;\n\tstruct page_pool *pp;\n\tstruct dmabuf_genpool_chunk_owner *owner;\n\tlong unsigned int dma_addr;\n\tatomic_long_t pp_ref_count;\n};\n\nstruct net_packet_attrs {\n\tconst unsigned char *src;\n\tconst unsigned char *dst;\n\tu32 ip_src;\n\tu32 ip_dst;\n\tbool tcp;\n\tu16 sport;\n\tu16 dport;\n\tint timeout;\n\tint size;\n\tint max_size;\n\tu8 id;\n\tu16 queue_mapping;\n};\n\nstruct net_proto_family {\n\tint family;\n\tint (*create)(struct net *, struct socket *, int, int);\n\tstruct module *owner;\n};\n\nstruct net_rate_estimator {\n\tstruct gnet_stats_basic_sync *bstats;\n\tspinlock_t *stats_lock;\n\tbool running;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tu8 ewma_log;\n\tu8 intvl_log;\n\tseqcount_t seq;\n\tu64 last_packets;\n\tu64 last_bytes;\n\tu64 avpps;\n\tu64 avbps;\n\tlong unsigned int next_jiffies;\n\tstruct timer_list timer;\n\tstruct callback_head rcu;\n};\n\nstruct net_test {\n\tchar name[32];\n\tint (*fn)(struct net_device *);\n};\n\nstruct packet_type {\n\t__be16 type;\n\tbool ignore_outgoing;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tint (*func)(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *);\n\tvoid (*list_func)(struct list_head *, struct packet_type *, struct net_device *);\n\tbool (*id_match)(struct packet_type *, struct sock *);\n\tstruct net *af_packet_net;\n\tvoid *af_packet_priv;\n\tstruct list_head list;\n};\n\nstruct net_test_priv {\n\tstruct net_packet_attrs *packet;\n\tstruct packet_type pt;\n\tstruct completion comp;\n\tint double_vlan;\n\tint vlan_id;\n\tint ok;\n};\n\nstruct netconfmsg {\n\t__u8 ncm_family;\n};\n\nstruct netdev_adjacent {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tbool master;\n\tbool ignore;\n\tu16 ref_nr;\n\tvoid *private;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_bonding_info {\n\tifslave slave;\n\tifbond master;\n};\n\nstruct xsk_buff_pool;\n\nstruct netdev_bpf {\n\tenum bpf_netdev_command command;\n\tunion {\n\t\tstruct {\n\t\t\tu32 flags;\n\t\t\tstruct bpf_prog *prog;\n\t\t\tstruct netlink_ext_ack *extack;\n\t\t};\n\t\tstruct {\n\t\t\tstruct bpf_offloaded_map *offmap;\n\t\t};\n\t\tstruct {\n\t\t\tstruct xsk_buff_pool *pool;\n\t\t\tu16 queue_id;\n\t\t} xsk;\n\t};\n};\n\nstruct netdev_config {\n\tu32 hds_thresh;\n\tu8 hds_config;\n};\n\nstruct netdev_hw_addr {\n\tstruct list_head list;\n\tstruct rb_node node;\n\tunsigned char addr[32];\n\tunsigned char type;\n\tbool global_use;\n\tint sync_cnt;\n\tint refcount;\n\tint synced;\n\tstruct callback_head callback_head;\n};\n\nstruct netdev_lag_lower_state_info {\n\tu8 link_up: 1;\n\tu8 tx_enabled: 1;\n};\n\nstruct netdev_lag_upper_info {\n\tenum netdev_lag_tx_type tx_type;\n\tenum netdev_lag_hash hash_type;\n};\n\nstruct netdev_name_node {\n\tstruct hlist_node hlist;\n\tstruct list_head list;\n\tstruct net_device *dev;\n\tconst char *name;\n\tstruct callback_head rcu;\n};\n\nstruct netdev_nested_priv {\n\tunsigned char flags;\n\tvoid *data;\n};\n\nstruct netdev_net_notifier {\n\tstruct list_head list;\n\tstruct notifier_block *nb;\n};\n\nstruct netdev_nl_dump_ctx {\n\tlong unsigned int ifindex;\n\tunsigned int rxq_idx;\n\tunsigned int txq_idx;\n\tunsigned int napi_id;\n};\n\nstruct netdev_notifier_info {\n\tstruct net_device *dev;\n\tstruct netlink_ext_ack *extack;\n};\n\nstruct netdev_notifier_bonding_info {\n\tstruct netdev_notifier_info info;\n\tstruct netdev_bonding_info bonding_info;\n};\n\nstruct netdev_notifier_change_info {\n\tstruct netdev_notifier_info info;\n\tunsigned int flags_changed;\n};\n\nstruct netdev_notifier_changelowerstate_info {\n\tstruct netdev_notifier_info info;\n\tvoid *lower_state_info;\n};\n\nstruct netdev_notifier_changeupper_info {\n\tstruct netdev_notifier_info info;\n\tstruct net_device *upper_dev;\n\tbool master;\n\tbool linking;\n\tvoid *upper_info;\n};\n\nstruct netdev_notifier_info_ext {\n\tstruct netdev_notifier_info info;\n\tunion {\n\t\tu32 mtu;\n\t} ext;\n};\n\nstruct netdev_notifier_offload_xstats_rd;\n\nstruct netdev_notifier_offload_xstats_ru;\n\nstruct netdev_notifier_offload_xstats_info {\n\tstruct netdev_notifier_info info;\n\tenum netdev_offload_xstats_type type;\n\tunion {\n\t\tstruct netdev_notifier_offload_xstats_rd *report_delta;\n\t\tstruct netdev_notifier_offload_xstats_ru *report_used;\n\t};\n};\n\nstruct rtnl_hw_stats64 {\n\t__u64 rx_packets;\n\t__u64 tx_packets;\n\t__u64 rx_bytes;\n\t__u64 tx_bytes;\n\t__u64 rx_errors;\n\t__u64 tx_errors;\n\t__u64 rx_dropped;\n\t__u64 tx_dropped;\n\t__u64 multicast;\n};\n\nstruct netdev_notifier_offload_xstats_rd {\n\tstruct rtnl_hw_stats64 stats;\n\tbool used;\n};\n\nstruct netdev_notifier_offload_xstats_ru {\n\tbool used;\n};\n\nstruct netdev_notifier_pre_changeaddr_info {\n\tstruct netdev_notifier_info info;\n\tconst unsigned char *dev_addr;\n};\n\nstruct netdev_queue {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct Qdisc *qdisc;\n\tstruct Qdisc *qdisc_sleeping;\n\tstruct kobject kobj;\n\tlong unsigned int tx_maxrate;\n\tatomic_long_t trans_timeout;\n\tstruct net_device *sb_dev;\n\tlong: 64;\n\tlong: 64;\n\tstruct dql dql;\n\tspinlock_t _xmit_lock;\n\tint xmit_lock_owner;\n\tlong unsigned int trans_start;\n\tlong unsigned int state;\n\tstruct napi_struct *napi;\n\tlong: 64;\n};\n\nstruct netdev_queue_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct netdev_queue *, char *);\n\tssize_t (*store)(struct netdev_queue *, const char *, size_t);\n};\n\nstruct netdev_queue_mgmt_ops {\n\tsize_t ndo_queue_mem_size;\n\tint (*ndo_queue_mem_alloc)(struct net_device *, void *, int);\n\tvoid (*ndo_queue_mem_free)(struct net_device *, void *);\n\tint (*ndo_queue_start)(struct net_device *, void *, int);\n\tint (*ndo_queue_stop)(struct net_device *, void *, int);\n};\n\nstruct netdev_queue_stats_rx {\n\tu64 bytes;\n\tu64 packets;\n\tu64 alloc_fail;\n\tu64 hw_drops;\n\tu64 hw_drop_overruns;\n\tu64 csum_unnecessary;\n\tu64 csum_none;\n\tu64 csum_bad;\n\tu64 hw_gro_packets;\n\tu64 hw_gro_bytes;\n\tu64 hw_gro_wire_packets;\n\tu64 hw_gro_wire_bytes;\n\tu64 hw_drop_ratelimits;\n};\n\nstruct netdev_queue_stats_tx {\n\tu64 bytes;\n\tu64 packets;\n\tu64 hw_drops;\n\tu64 hw_drop_errors;\n\tu64 csum_none;\n\tu64 needs_csum;\n\tu64 hw_gso_packets;\n\tu64 hw_gso_bytes;\n\tu64 hw_gso_wire_packets;\n\tu64 hw_gso_wire_bytes;\n\tu64 hw_drop_ratelimits;\n\tu64 stop;\n\tu64 wake;\n};\n\nstruct xdp_mem_info {\n\tu32 type;\n\tu32 id;\n};\n\nstruct xdp_rxq_info {\n\tstruct net_device *dev;\n\tu32 queue_index;\n\tu32 reg_state;\n\tstruct xdp_mem_info mem;\n\tu32 frag_size;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pp_memory_provider_params {\n\tvoid *mp_priv;\n};\n\nstruct rps_map;\n\nstruct rps_dev_flow_table;\n\nstruct netdev_rx_queue {\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct rps_map *rps_map;\n\tstruct rps_dev_flow_table *rps_flow_table;\n\tstruct kobject kobj;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct napi_struct *napi;\n\tstruct pp_memory_provider_params mp_params;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct netdev_stat_ops {\n\tvoid (*get_queue_stats_rx)(struct net_device *, int, struct netdev_queue_stats_rx *);\n\tvoid (*get_queue_stats_tx)(struct net_device *, int, struct netdev_queue_stats_tx *);\n\tvoid (*get_base_stats)(struct net_device *, struct netdev_queue_stats_rx *, struct netdev_queue_stats_tx *);\n};\n\nstruct netdev_xmit {\n\tu16 recursion;\n\tu8 more;\n\tu8 skip_txqueue;\n};\n\nstruct netevent_redirect {\n\tstruct dst_entry *old;\n\tstruct dst_entry *new;\n\tstruct neighbour *neigh;\n\tconst void *daddr;\n};\n\ntypedef void (*netfs_io_terminated_t)(void *, ssize_t, bool);\n\nstruct netfs_io_subrequest;\n\nstruct netfs_cache_ops {\n\tvoid (*end_operation)(struct netfs_cache_resources *);\n\tint (*read)(struct netfs_cache_resources *, loff_t, struct iov_iter *, enum netfs_read_from_hole, netfs_io_terminated_t, void *);\n\tint (*write)(struct netfs_cache_resources *, loff_t, struct iov_iter *, netfs_io_terminated_t, void *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tvoid (*expand_readahead)(struct netfs_cache_resources *, long long unsigned int *, long long unsigned int *, long long unsigned int);\n\tenum netfs_io_source (*prepare_read)(struct netfs_io_subrequest *, long long unsigned int);\n\tvoid (*prepare_write_subreq)(struct netfs_io_subrequest *);\n\tint (*prepare_write)(struct netfs_cache_resources *, loff_t *, size_t *, size_t, loff_t, bool);\n\tenum netfs_io_source (*prepare_ondemand_read)(struct netfs_cache_resources *, loff_t, size_t *, loff_t, long unsigned int *, ino_t);\n\tint (*query_occupancy)(struct netfs_cache_resources *, loff_t, size_t, size_t, loff_t *, size_t *);\n};\n\nstruct netfs_cache_resources {\n\tconst struct netfs_cache_ops *ops;\n\tvoid *cache_priv;\n\tvoid *cache_priv2;\n\tunsigned int debug_id;\n\tunsigned int inval_counter;\n};\n\nstruct netfs_group;\n\nstruct netfs_folio {\n\tstruct netfs_group *netfs_group;\n\tunsigned int dirty_offset;\n\tunsigned int dirty_len;\n};\n\nstruct netfs_group {\n\trefcount_t ref;\n\tvoid (*free)(struct netfs_group *);\n};\n\nstruct netfs_request_ops;\n\nstruct netfs_inode {\n\tstruct inode inode;\n\tconst struct netfs_request_ops *ops;\n\tstruct mutex wb_lock;\n\tloff_t remote_i_size;\n\tloff_t zero_point;\n\tatomic_t io_count;\n\tlong unsigned int flags;\n};\n\nstruct netfs_io_stream {\n\tstruct netfs_io_subrequest *construct;\n\tsize_t sreq_max_len;\n\tunsigned int sreq_max_segs;\n\tunsigned int submit_off;\n\tunsigned int submit_len;\n\tunsigned int submit_extendable_to;\n\tvoid (*prepare_write)(struct netfs_io_subrequest *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tstruct list_head subrequests;\n\tstruct netfs_io_subrequest *front;\n\tlong long unsigned int collected_to;\n\tsize_t transferred;\n\tenum netfs_io_source source;\n\tshort unsigned int error;\n\tunsigned char stream_nr;\n\tbool avail;\n\tbool active;\n\tbool need_retry;\n\tbool failed;\n};\n\nstruct rolling_buffer {\n\tstruct folio_queue *head;\n\tstruct folio_queue *tail;\n\tstruct iov_iter iter;\n\tu8 next_head_slot;\n\tu8 first_tail_slot;\n};\n\nstruct netfs_io_request {\n\tunion {\n\t\tstruct work_struct work;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct inode *inode;\n\tstruct address_space *mapping;\n\tstruct kiocb *iocb;\n\tstruct netfs_cache_resources cache_resources;\n\tstruct netfs_io_request *copy_to_cache;\n\tstruct readahead_control *ractl;\n\tstruct list_head proc_link;\n\tstruct netfs_io_stream io_streams[2];\n\tstruct netfs_group *group;\n\tstruct rolling_buffer buffer;\n\twait_queue_head_t waitq;\n\tvoid *netfs_priv;\n\tvoid *netfs_priv2;\n\tstruct bio_vec *direct_bv;\n\tunsigned int direct_bv_count;\n\tunsigned int debug_id;\n\tunsigned int rsize;\n\tunsigned int wsize;\n\tatomic_t subreq_counter;\n\tunsigned int nr_group_rel;\n\tspinlock_t lock;\n\tlong long unsigned int submitted;\n\tlong long unsigned int len;\n\tsize_t transferred;\n\tlong int error;\n\tenum netfs_io_origin origin;\n\tbool direct_bv_unpin;\n\tlong long unsigned int i_size;\n\tlong long unsigned int start;\n\tatomic64_t issued_to;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int cleaned_to;\n\tlong long unsigned int abandon_to;\n\tlong unsigned int no_unlock_folio;\n\tunsigned char front_folio_order;\n\trefcount_t ref;\n\tlong unsigned int flags;\n\tconst struct netfs_request_ops *netfs_ops;\n\tvoid (*cleanup)(struct netfs_io_request *);\n};\n\nstruct netfs_io_subrequest {\n\tstruct netfs_io_request *rreq;\n\tstruct work_struct work;\n\tstruct list_head rreq_link;\n\tstruct iov_iter io_iter;\n\tlong long unsigned int start;\n\tsize_t len;\n\tsize_t transferred;\n\trefcount_t ref;\n\tshort int error;\n\tshort unsigned int debug_index;\n\tunsigned int nr_segs;\n\tu8 retry_count;\n\tenum netfs_io_source source;\n\tunsigned char stream_nr;\n\tlong unsigned int flags;\n};\n\nstruct netfs_request_ops {\n\tmempool_t *request_pool;\n\tmempool_t *subrequest_pool;\n\tint (*init_request)(struct netfs_io_request *, struct file *);\n\tvoid (*free_request)(struct netfs_io_request *);\n\tvoid (*free_subrequest)(struct netfs_io_subrequest *);\n\tvoid (*expand_readahead)(struct netfs_io_request *);\n\tint (*prepare_read)(struct netfs_io_subrequest *);\n\tvoid (*issue_read)(struct netfs_io_subrequest *);\n\tbool (*is_still_valid)(struct netfs_io_request *);\n\tint (*check_write_begin)(struct file *, loff_t, unsigned int, struct folio **, void **);\n\tvoid (*done)(struct netfs_io_request *);\n\tvoid (*update_i_size)(struct inode *, loff_t);\n\tvoid (*post_modify)(struct inode *);\n\tvoid (*begin_writeback)(struct netfs_io_request *);\n\tvoid (*prepare_write)(struct netfs_io_subrequest *);\n\tvoid (*issue_write)(struct netfs_io_subrequest *);\n\tvoid (*retry_request)(struct netfs_io_request *, struct netfs_io_stream *);\n\tvoid (*invalidate_cache)(struct netfs_io_request *);\n};\n\nstruct netif_security_struct {\n\tstruct net *ns;\n\tint ifindex;\n\tu32 sid;\n};\n\nstruct netlink_broadcast_data {\n\tstruct sock *exclude_sk;\n\tstruct net *net;\n\tu32 portid;\n\tu32 group;\n\tint failure;\n\tint delivery_failure;\n\tint congested;\n\tint delivered;\n\tgfp_t allocation;\n\tstruct sk_buff *skb;\n\tstruct sk_buff *skb2;\n\tint (*tx_filter)(struct sock *, struct sk_buff *, void *);\n\tvoid *tx_data;\n};\n\nstruct netlink_callback {\n\tstruct sk_buff *skb;\n\tconst struct nlmsghdr *nlh;\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tvoid *data;\n\tstruct module *module;\n\tstruct netlink_ext_ack *extack;\n\tu16 family;\n\tu16 answer_flags;\n\tu32 min_dump_alloc;\n\tunsigned int prev_seq;\n\tunsigned int seq;\n\tint flags;\n\tbool strict_check;\n\tunion {\n\t\tu8 ctx[48];\n\t\tlong int args[6];\n\t};\n};\n\nstruct netlink_compare_arg {\n\tpossible_net_t pnet;\n\tu32 portid;\n};\n\nstruct netlink_diag_msg {\n\t__u8 ndiag_family;\n\t__u8 ndiag_type;\n\t__u8 ndiag_protocol;\n\t__u8 ndiag_state;\n\t__u32 ndiag_portid;\n\t__u32 ndiag_dst_portid;\n\t__u32 ndiag_dst_group;\n\t__u32 ndiag_ino;\n\t__u32 ndiag_cookie[2];\n};\n\nstruct netlink_diag_req {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n\t__u16 pad;\n\t__u32 ndiag_ino;\n\t__u32 ndiag_show;\n\t__u32 ndiag_cookie[2];\n};\n\nstruct netlink_dump_control {\n\tint (*start)(struct netlink_callback *);\n\tint (*dump)(struct sk_buff *, struct netlink_callback *);\n\tint (*done)(struct netlink_callback *);\n\tstruct netlink_ext_ack *extack;\n\tvoid *data;\n\tstruct module *module;\n\tu32 min_dump_alloc;\n\tint flags;\n};\n\nstruct netlink_ext_ack {\n\tconst char *_msg;\n\tconst struct nlattr *bad_attr;\n\tconst struct nla_policy *policy;\n\tconst struct nlattr *miss_nest;\n\tu16 miss_type;\n\tu8 cookie[20];\n\tu8 cookie_len;\n\tchar _msg_buf[80];\n};\n\nstruct netlink_kernel_cfg {\n\tunsigned int groups;\n\tunsigned int flags;\n\tvoid (*input)(struct sk_buff *);\n\tint (*bind)(struct net *, int);\n\tvoid (*unbind)(struct net *, int);\n\tvoid (*release)(struct sock *, long unsigned int *);\n};\n\nstruct netlink_notify {\n\tstruct net *net;\n\tu32 portid;\n\tint protocol;\n};\n\nstruct netlink_policy_dump_state {\n\tunsigned int policy_idx;\n\tunsigned int attr_idx;\n\tunsigned int n_alloc;\n\tstruct {\n\t\tconst struct nla_policy *policy;\n\t\tunsigned int maxtype;\n\t} policies[0];\n};\n\nstruct netlink_range_validation {\n\tu64 min;\n\tu64 max;\n};\n\nstruct netlink_range_validation_signed {\n\ts64 min;\n\ts64 max;\n};\n\nstruct netlink_set_err_data {\n\tstruct sock *exclude_sk;\n\tu32 portid;\n\tu32 group;\n\tint code;\n};\n\nstruct scm_creds {\n\tu32 pid;\n\tkuid_t uid;\n\tkgid_t gid;\n};\n\nstruct netlink_skb_parms {\n\tstruct scm_creds creds;\n\t__u32 portid;\n\t__u32 dst_group;\n\t__u32 flags;\n\tstruct sock *sk;\n\tbool nsid_is_set;\n\tint nsid;\n};\n\nstruct netlink_sock {\n\tstruct sock sk;\n\tlong unsigned int flags;\n\tu32 portid;\n\tu32 dst_portid;\n\tu32 dst_group;\n\tu32 subscriptions;\n\tu32 ngroups;\n\tlong unsigned int *groups;\n\tlong unsigned int state;\n\tsize_t max_recvmsg_len;\n\twait_queue_head_t wait;\n\tbool bound;\n\tbool cb_running;\n\tint dump_done_errno;\n\tstruct netlink_callback cb;\n\tstruct mutex nl_cb_mutex;\n\tvoid (*netlink_rcv)(struct sk_buff *);\n\tint (*netlink_bind)(struct net *, int);\n\tvoid (*netlink_unbind)(struct net *, int);\n\tvoid (*netlink_release)(struct sock *, long unsigned int *);\n\tstruct module *module;\n\tstruct rhash_head node;\n\tstruct callback_head rcu;\n};\n\nstruct netlink_table {\n\tstruct rhashtable hash;\n\tstruct hlist_head mc_list;\n\tstruct listeners *listeners;\n\tunsigned int flags;\n\tunsigned int groups;\n\tstruct mutex *cb_mutex;\n\tstruct module *module;\n\tint (*bind)(struct net *, int);\n\tvoid (*unbind)(struct net *, int);\n\tvoid (*release)(struct sock *, long unsigned int *);\n\tint registered;\n};\n\nstruct netlink_tap {\n\tstruct net_device *dev;\n\tstruct module *module;\n\tstruct list_head list;\n};\n\nstruct netlink_tap_net {\n\tstruct list_head netlink_tap_all;\n\tstruct mutex netlink_tap_lock;\n};\n\nstruct netnode_security_struct {\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} addr;\n\tu32 sid;\n\tu16 family;\n};\n\nstruct netport_security_struct {\n\tu32 sid;\n\tu16 port;\n\tu8 protocol;\n};\n\nstruct netprio_map {\n\tstruct callback_head rcu;\n\tu32 priomap_len;\n\tu32 priomap[0];\n};\n\nstruct netsfhdr {\n\t__be32 version;\n\t__be64 magic;\n\tu8 id;\n} __attribute__((packed));\n\nstruct new_utsname {\n\tchar sysname[65];\n\tchar nodename[65];\n\tchar release[65];\n\tchar version[65];\n\tchar machine[65];\n\tchar domainname[65];\n};\n\nstruct nh_info;\n\nstruct nh_group;\n\nstruct nexthop {\n\tstruct rb_node rb_node;\n\tstruct list_head fi_list;\n\tstruct list_head f6i_list;\n\tstruct list_head fdb_list;\n\tstruct list_head grp_list;\n\tstruct net *net;\n\tu32 id;\n\tu8 protocol;\n\tu8 nh_flags;\n\tbool is_group;\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tunion {\n\t\tstruct nh_info *nh_info;\n\t\tstruct nh_group *nh_grp;\n\t};\n};\n\nstruct nexthop_grp {\n\t__u32 id;\n\t__u8 weight;\n\t__u8 weight_high;\n\t__u16 resvd2;\n};\n\nstruct nf_bridge_info {\n\tenum {\n\t\tBRNF_PROTO_UNCHANGED = 0,\n\t\tBRNF_PROTO_8021Q = 1,\n\t\tBRNF_PROTO_PPPOE = 2,\n\t} orig_proto: 8;\n\tu8 pkt_otherhost: 1;\n\tu8 in_prerouting: 1;\n\tu8 bridged_dnat: 1;\n\tu8 sabotage_in_done: 1;\n\t__u16 frag_max_size;\n\tint physinif;\n\tstruct net_device *physoutdev;\n\tunion {\n\t\t__be32 ipv4_daddr;\n\t\tstruct in6_addr ipv6_daddr;\n\t\tchar neigh_header[8];\n\t};\n};\n\nstruct nf_conntrack {\n\trefcount_t use;\n};\n\nunion nf_inet_addr {\n\t__u32 all[4];\n\t__be32 ip;\n\t__be32 ip6[4];\n\tstruct in_addr in;\n\tstruct in6_addr in6;\n};\n\nunion nf_conntrack_man_proto {\n\t__be16 all;\n\tstruct {\n\t\t__be16 port;\n\t} tcp;\n\tstruct {\n\t\t__be16 port;\n\t} udp;\n\tstruct {\n\t\t__be16 id;\n\t} icmp;\n\tstruct {\n\t\t__be16 port;\n\t} dccp;\n\tstruct {\n\t\t__be16 port;\n\t} sctp;\n\tstruct {\n\t\t__be16 key;\n\t} gre;\n};\n\nstruct nf_conntrack_man {\n\tunion nf_inet_addr u3;\n\tunion nf_conntrack_man_proto u;\n\tu_int16_t l3num;\n};\n\nstruct nf_conntrack_tuple {\n\tstruct nf_conntrack_man src;\n\tstruct {\n\t\tunion nf_inet_addr u3;\n\t\tunion {\n\t\t\t__be16 all;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} tcp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} udp;\n\t\t\tstruct {\n\t\t\t\tu_int8_t type;\n\t\t\t\tu_int8_t code;\n\t\t\t} icmp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} dccp;\n\t\t\tstruct {\n\t\t\t\t__be16 port;\n\t\t\t} sctp;\n\t\t\tstruct {\n\t\t\t\t__be16 key;\n\t\t\t} gre;\n\t\t} u;\n\t\tu_int8_t protonum;\n\t\tstruct {} __nfct_hash_offsetend;\n\t\tu_int8_t dir;\n\t} dst;\n};\n\nstruct nf_conntrack_tuple_hash {\n\tstruct hlist_nulls_node hnnode;\n\tstruct nf_conntrack_tuple tuple;\n};\n\nstruct nf_ct_dccp {\n\tu_int8_t role[2];\n\tu_int8_t state;\n\tu_int8_t last_pkt;\n\tu_int8_t last_dir;\n\tu_int64_t handshake_seq;\n};\n\nstruct nf_ct_udp {\n\tlong unsigned int stream_ts;\n};\n\nstruct nf_ct_gre {\n\tunsigned int stream_timeout;\n\tunsigned int timeout;\n};\n\nunion nf_conntrack_proto {\n\tstruct nf_ct_dccp dccp;\n\tstruct ip_ct_sctp sctp;\n\tstruct ip_ct_tcp tcp;\n\tstruct nf_ct_udp udp;\n\tstruct nf_ct_gre gre;\n\tunsigned int tmpl_padto;\n};\n\nstruct nf_ct_ext;\n\nstruct nf_conn {\n\tstruct nf_conntrack ct_general;\n\tspinlock_t lock;\n\tu32 timeout;\n\tstruct nf_conntrack_tuple_hash tuplehash[2];\n\tlong unsigned int status;\n\tpossible_net_t ct_net;\n\tstruct hlist_node nat_bysource;\n\tstruct {} __nfct_init_offset;\n\tstruct nf_conn *master;\n\tstruct nf_ct_ext *ext;\n\tunion nf_conntrack_proto proto;\n};\n\nstruct nf_conn___init {\n\tstruct nf_conn ct;\n};\n\nstruct nf_conn_labels {\n\tlong unsigned int bits[2];\n};\n\nstruct nf_conntrack_zone {\n\tu16 id;\n\tu8 flags;\n\tu8 dir;\n};\n\nstruct nf_ct_ext {\n\tu8 offset[4];\n\tu8 len;\n\tunsigned int gen_id;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct nf_ct_hook {\n\tint (*update)(struct net *, struct sk_buff *);\n\tvoid (*destroy)(struct nf_conntrack *);\n\tbool (*get_tuple_skb)(struct nf_conntrack_tuple *, const struct sk_buff *);\n\tvoid (*attach)(struct sk_buff *, const struct sk_buff *);\n\tvoid (*set_closing)(struct nf_conntrack *);\n\tint (*confirm)(struct sk_buff *);\n};\n\nstruct nf_defrag_hook {\n\tstruct module *owner;\n\tint (*enable)(struct net *);\n\tvoid (*disable)(struct net *);\n};\n\nstruct nf_hook_entry {\n\tnf_hookfn *hook;\n\tvoid *priv;\n};\n\nstruct nf_hook_entries {\n\tu16 num_hook_entries;\n\tstruct nf_hook_entry hooks[0];\n};\n\nstruct nf_hook_entries_rcu_head {\n\tstruct callback_head head;\n\tvoid *allocation;\n};\n\nstruct nf_hook_state {\n\tu8 hook;\n\tu8 pf;\n\tstruct net_device *in;\n\tstruct net_device *out;\n\tstruct sock *sk;\n\tstruct net *net;\n\tint (*okfn)(struct net *, struct sock *, struct sk_buff *);\n};\n\nstruct nf_queue_entry;\n\nstruct nf_ipv6_ops {\n\tvoid (*route_input)(struct sk_buff *);\n\tint (*fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *));\n\tint (*reroute)(struct sk_buff *, const struct nf_queue_entry *);\n};\n\nstruct nf_log_buf {\n\tunsigned int count;\n\tchar buf[1020];\n};\n\nstruct nf_loginfo;\n\ntypedef void nf_logfn(struct net *, u_int8_t, unsigned int, const struct sk_buff *, const struct net_device *, const struct net_device *, const struct nf_loginfo *, const char *);\n\nstruct nf_logger {\n\tchar *name;\n\tenum nf_log_type type;\n\tnf_logfn *logfn;\n\tstruct module *me;\n};\n\nstruct nf_loginfo {\n\tu_int8_t type;\n\tunion {\n\t\tstruct {\n\t\t\tu_int32_t copy_len;\n\t\t\tu_int16_t group;\n\t\t\tu_int16_t qthreshold;\n\t\t\tu_int16_t flags;\n\t\t} ulog;\n\t\tstruct {\n\t\t\tu_int8_t level;\n\t\t\tu_int8_t logflags;\n\t\t} log;\n\t} u;\n};\n\nstruct nf_nat_hook {\n\tint (*parse_nat_setup)(struct nf_conn *, enum nf_nat_manip_type, const struct nlattr *);\n\tvoid (*decode_session)(struct sk_buff *, struct flowi *);\n\tvoid (*remove_nat_bysrc)(struct nf_conn *);\n};\n\nstruct nf_queue_entry {\n\tstruct list_head list;\n\tstruct sk_buff *skb;\n\tunsigned int id;\n\tunsigned int hook_index;\n\tstruct net_device *physin;\n\tstruct net_device *physout;\n\tstruct nf_hook_state state;\n\tu16 size;\n};\n\nstruct nf_queue_handler {\n\tint (*outfn)(struct nf_queue_entry *, unsigned int);\n\tvoid (*nf_hook_drop)(struct net *);\n};\n\nstruct nf_sockopt_ops {\n\tstruct list_head list;\n\tu_int8_t pf;\n\tint set_optmin;\n\tint set_optmax;\n\tint (*set)(struct sock *, int, sockptr_t, unsigned int);\n\tint get_optmin;\n\tint get_optmax;\n\tint (*get)(struct sock *, int, void *, int *);\n\tstruct module *owner;\n};\n\nstruct nfnl_ct_hook {\n\tsize_t (*build_size)(const struct nf_conn *);\n\tint (*build)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, u_int16_t, u_int16_t);\n\tint (*parse)(const struct nlattr *, struct nf_conn *);\n\tint (*attach_expect)(const struct nlattr *, struct nf_conn *, u32, u32);\n\tvoid (*seq_adjust)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, s32);\n};\n\nstruct nfs2_fh {\n\tchar data[32];\n};\n\nstruct nfs3_accessargs {\n\tstruct nfs_fh *fh;\n\t__u32 access;\n};\n\nstruct nfs_fattr;\n\nstruct nfs3_accessres {\n\tstruct nfs_fattr *fattr;\n\t__u32 access;\n};\n\nstruct nfs3_createargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tstruct iattr *sattr;\n\tenum nfs3_createmode createmode;\n\t__be32 verifier[2];\n};\n\nstruct rpc_procinfo;\n\nstruct rpc_message {\n\tconst struct rpc_procinfo *rpc_proc;\n\tvoid *rpc_argp;\n\tvoid *rpc_resp;\n\tconst struct cred *rpc_cred;\n};\n\nstruct nfs3_mkdirargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tstruct iattr *sattr;\n};\n\nstruct nfs3_symlinkargs {\n\tstruct nfs_fh *fromfh;\n\tconst char *fromname;\n\tunsigned int fromlen;\n\tstruct page **pages;\n\tunsigned int pathlen;\n\tstruct iattr *sattr;\n};\n\nstruct nfs3_mknodargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n\tenum nfs3_ftype type;\n\tstruct iattr *sattr;\n\tdev_t rdev;\n};\n\nstruct nfs3_diropres {\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs4_string;\n\nstruct nfs4_threshold;\n\nstruct nfs4_label;\n\nstruct nfs_fattr {\n\tunsigned int valid;\n\tumode_t mode;\n\t__u32 nlink;\n\tkuid_t uid;\n\tkgid_t gid;\n\tdev_t rdev;\n\t__u64 size;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 blocksize;\n\t\t\t__u32 blocks;\n\t\t} nfs2;\n\t\tstruct {\n\t\t\t__u64 used;\n\t\t} nfs3;\n\t} du;\n\tstruct nfs_fsid fsid;\n\t__u64 fileid;\n\t__u64 mounted_on_fileid;\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tstruct timespec64 ctime;\n\t__u64 change_attr;\n\t__u64 pre_change_attr;\n\t__u64 pre_size;\n\tstruct timespec64 pre_mtime;\n\tstruct timespec64 pre_ctime;\n\tlong unsigned int time_start;\n\tlong unsigned int gencount;\n\tstruct nfs4_string *owner_name;\n\tstruct nfs4_string *group_name;\n\tstruct nfs4_threshold *mdsthreshold;\n\tstruct nfs4_label *label;\n};\n\nstruct nfs3_createdata {\n\tstruct rpc_message msg;\n\tunion {\n\t\tstruct nfs3_createargs create;\n\t\tstruct nfs3_mkdirargs mkdir;\n\t\tstruct nfs3_symlinkargs symlink;\n\t\tstruct nfs3_mknodargs mknod;\n\t} arg;\n\tstruct nfs3_diropres res;\n\tstruct nfs_fh fh;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_fattr dir_attr;\n};\n\nstruct nfs3_diropargs {\n\tstruct nfs_fh *fh;\n\tconst char *name;\n\tunsigned int len;\n};\n\nstruct nfs3_fh {\n\tshort unsigned int size;\n\tunsigned char data[64];\n};\n\nstruct nfs3_linkargs {\n\tstruct nfs_fh *fromfh;\n\tstruct nfs_fh *tofh;\n\tconst char *toname;\n\tunsigned int tolen;\n};\n\nstruct nfs3_linkres {\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs3_readdirargs {\n\tstruct nfs_fh *fh;\n\t__u64 cookie;\n\t__be32 verf[2];\n\tbool plus;\n\tunsigned int count;\n\tstruct page **pages;\n};\n\nstruct nfs3_readdirres {\n\tstruct nfs_fattr *dir_attr;\n\t__be32 *verf;\n\tbool plus;\n};\n\nstruct nfs3_readlinkargs {\n\tstruct nfs_fh *fh;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tstruct page **pages;\n};\n\nstruct nfs3_sattrargs {\n\tstruct nfs_fh *fh;\n\tstruct iattr *sattr;\n\tunsigned int guard;\n\tstruct timespec64 guardtime;\n};\n\nstruct nfs41_bind_conn_to_session_args {\n\tstruct nfs_client *client;\n\tstruct nfs4_sessionid sessionid;\n\tu32 dir;\n\tbool use_conn_in_rdma_mode;\n\tint retries;\n};\n\nstruct nfs41_bind_conn_to_session_res {\n\tstruct nfs4_sessionid sessionid;\n\tu32 dir;\n\tbool use_conn_in_rdma_mode;\n};\n\nstruct nfs4_channel_attrs {\n\tu32 max_rqst_sz;\n\tu32 max_resp_sz;\n\tu32 max_resp_sz_cached;\n\tu32 max_ops;\n\tu32 max_reqs;\n};\n\nstruct nfs41_create_session_args {\n\tstruct nfs_client *client;\n\tu64 clientid;\n\tuint32_t seqid;\n\tuint32_t flags;\n\tuint32_t cb_program;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_channel_attrs bc_attrs;\n};\n\nstruct nfs41_create_session_res {\n\tstruct nfs4_sessionid sessionid;\n\tuint32_t seqid;\n\tuint32_t flags;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_channel_attrs bc_attrs;\n};\n\nstruct nfs4_op_map {\n\tunion {\n\t\tlong unsigned int longs[2];\n\t\tu32 words[4];\n\t} u;\n};\n\nstruct nfs41_state_protection {\n\tu32 how;\n\tstruct nfs4_op_map enforce;\n\tstruct nfs4_op_map allow;\n};\n\nstruct nfs41_exchange_id_args {\n\tstruct nfs_client *client;\n\tnfs4_verifier verifier;\n\tu32 flags;\n\tstruct nfs41_state_protection state_protect;\n};\n\nstruct nfs41_server_owner;\n\nstruct nfs41_server_scope;\n\nstruct nfs41_impl_id;\n\nstruct nfs41_exchange_id_res {\n\tu64 clientid;\n\tu32 seqid;\n\tu32 flags;\n\tstruct nfs41_server_owner *server_owner;\n\tstruct nfs41_server_scope *server_scope;\n\tstruct nfs41_impl_id *impl_id;\n\tstruct nfs41_state_protection state_protect;\n};\n\nstruct nfs41_exchange_id_data {\n\tstruct nfs41_exchange_id_res res;\n\tstruct nfs41_exchange_id_args args;\n};\n\nstruct nfs4_sequence_args {\n\tstruct nfs4_slot *sa_slot;\n\tu8 sa_cache_this: 1;\n\tu8 sa_privileged: 1;\n};\n\nstruct nfs41_free_stateid_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs4_sequence_res {\n\tstruct nfs4_slot *sr_slot;\n\tlong unsigned int sr_timestamp;\n\tint sr_status;\n\tu32 sr_status_flags;\n\tu32 sr_highest_slotid;\n\tu32 sr_target_highest_slotid;\n};\n\nstruct nfs41_free_stateid_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n};\n\nstruct nfstime4 {\n\tint64_t seconds;\n\tuint32_t nseconds;\n};\n\nstruct nfs41_impl_id {\n\tchar domain[1025];\n\tchar name[1025];\n\tstruct nfstime4 date;\n};\n\nstruct nfs41_reclaim_complete_args {\n\tstruct nfs4_sequence_args seq_args;\n\tunsigned char one_fs: 1;\n};\n\nstruct nfs41_reclaim_complete_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs41_secinfo_no_name_args {\n\tstruct nfs4_sequence_args seq_args;\n\tint style;\n};\n\nstruct nfs41_server_owner {\n\tuint64_t minor_id;\n\tuint32_t major_id_sz;\n\tchar major_id[1024];\n};\n\nstruct nfs41_server_scope {\n\tuint32_t server_scope_sz;\n\tchar server_scope[1024];\n};\n\nstruct nfs41_test_stateid_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs41_test_stateid_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n};\n\nstruct nfs42_clone_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *src_fh;\n\tstruct nfs_fh *dst_fh;\n\tnfs4_stateid src_stateid;\n\tnfs4_stateid dst_stateid;\n\t__u64 src_offset;\n\t__u64 dst_offset;\n\t__u64 count;\n\tconst u32 *dst_bitmask;\n};\n\nstruct nfs_server;\n\nstruct nfs42_clone_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int rpc_status;\n\tstruct nfs_fattr *dst_fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nl4_server;\n\nstruct nfs42_copy_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *src_fh;\n\tnfs4_stateid src_stateid;\n\tu64 src_pos;\n\tstruct nfs_fh *dst_fh;\n\tnfs4_stateid dst_stateid;\n\tu64 dst_pos;\n\tu64 count;\n\tbool sync;\n\tstruct nl4_server *cp_src;\n};\n\nstruct nfs42_netaddr {\n\tchar netid[5];\n\tchar addr[58];\n\tu32 netid_len;\n\tu32 addr_len;\n};\n\nstruct nl4_server {\n\tenum netloc_type4 nl4_type;\n\tunion {\n\t\tstruct {\n\t\t\tint nl4_str_sz;\n\t\t\tchar nl4_str[1025];\n\t\t};\n\t\tstruct nfs42_netaddr nl4_addr;\n\t} u;\n};\n\nstruct nfs42_copy_notify_args {\n\tstruct nfs4_sequence_args cna_seq_args;\n\tstruct nfs_fh *cna_src_fh;\n\tnfs4_stateid cna_src_stateid;\n\tstruct nl4_server cna_dst;\n};\n\nstruct nfs42_copy_notify_res {\n\tstruct nfs4_sequence_res cnr_seq_res;\n\tstruct nfstime4 cnr_lease_time;\n\tnfs4_stateid cnr_stateid;\n\tstruct nl4_server cnr_src;\n};\n\nstruct nfs42_write_res {\n\tnfs4_stateid stateid;\n\tu64 count;\n\tstruct nfs_writeverf verifier;\n};\n\nstruct nfs_commitres {\n\tstruct nfs4_sequence_res seq_res;\n\t__u32 op_status;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_writeverf *verf;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs42_copy_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs42_write_res write_res;\n\tbool consecutive;\n\tbool synchronous;\n\tstruct nfs_commitres commit_res;\n};\n\nstruct nfs42_device_error {\n\tstruct nfs4_deviceid dev_id;\n\tint status;\n\tenum nfs_opnum4 opnum;\n};\n\nstruct nfs42_falloc_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *falloc_fh;\n\tnfs4_stateid falloc_stateid;\n\tu64 falloc_offset;\n\tu64 falloc_length;\n\tconst u32 *falloc_bitmask;\n};\n\nstruct nfs42_falloc_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n\tstruct nfs_fattr *falloc_fattr;\n\tconst struct nfs_server *falloc_server;\n};\n\nstruct nfs42_getxattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst char *xattr_name;\n\tsize_t xattr_len;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_getxattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tsize_t xattr_len;\n};\n\nstruct nfs42_layout_error {\n\t__u64 offset;\n\t__u64 length;\n\tnfs4_stateid stateid;\n\tstruct nfs42_device_error errors[1];\n};\n\nstruct nfs42_layouterror_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct inode *inode;\n\tunsigned int num_errors;\n\tstruct nfs42_layout_error errors[5];\n};\n\nstruct nfs42_layouterror_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int num_errors;\n\tint rpc_status;\n};\n\nstruct pnfs_layout_segment;\n\nstruct nfs42_layouterror_data {\n\tstruct nfs42_layouterror_args args;\n\tstruct nfs42_layouterror_res res;\n\tstruct inode *inode;\n\tstruct pnfs_layout_segment *lseg;\n};\n\nstruct nfs42_layoutstat_devinfo;\n\nstruct nfs42_layoutstat_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct inode *inode;\n\tnfs4_stateid stateid;\n\tint num_dev;\n\tstruct nfs42_layoutstat_devinfo *devinfo;\n};\n\nstruct nfs42_layoutstat_res {\n\tstruct nfs4_sequence_res seq_res;\n\tint num_dev;\n\tint rpc_status;\n};\n\nstruct nfs42_layoutstat_data {\n\tstruct inode *inode;\n\tstruct nfs42_layoutstat_args args;\n\tstruct nfs42_layoutstat_res res;\n};\n\nstruct nfs4_xdr_opaque_ops;\n\nstruct nfs4_xdr_opaque_data {\n\tconst struct nfs4_xdr_opaque_ops *ops;\n\tvoid *data;\n};\n\nstruct nfs42_layoutstat_devinfo {\n\tstruct nfs4_deviceid dev_id;\n\t__u64 offset;\n\t__u64 length;\n\t__u64 read_count;\n\t__u64 read_bytes;\n\t__u64 write_count;\n\t__u64 write_bytes;\n\t__u32 layout_type;\n\tstruct nfs4_xdr_opaque_data ld_private;\n};\n\nstruct nfs42_listxattrsargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tu32 count;\n\tu64 cookie;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_listxattrsres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct page *scratch;\n\tvoid *xattr_buf;\n\tsize_t xattr_len;\n\tu64 cookie;\n\tbool eof;\n\tsize_t copied;\n};\n\nstruct nfs42_offload_status_args {\n\tstruct nfs4_sequence_args osa_seq_args;\n\tstruct nfs_fh *osa_src_fh;\n\tnfs4_stateid osa_stateid;\n};\n\nstruct nfs42_offload_status_res {\n\tstruct nfs4_sequence_res osr_seq_res;\n\tuint64_t osr_count;\n\tint osr_status;\n};\n\nstruct nfs42_offload_data {\n\tstruct nfs_server *seq_server;\n\tstruct nfs42_offload_status_args args;\n\tstruct nfs42_offload_status_res res;\n};\n\nstruct nfs42_removexattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst char *xattr_name;\n};\n\nstruct nfs4_change_info {\n\tu32 atomic;\n\tu64 before;\n\tu64 after;\n};\n\nstruct nfs42_removexattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_change_info cinfo;\n};\n\nstruct nfs42_seek_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *sa_fh;\n\tnfs4_stateid sa_stateid;\n\tu64 sa_offset;\n\tu32 sa_what;\n};\n\nstruct nfs42_seek_res {\n\tstruct nfs4_sequence_res seq_res;\n\tunsigned int status;\n\tu32 sr_eof;\n\tu64 sr_offset;\n};\n\nstruct nfs42_setxattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tconst u32 *bitmask;\n\tconst char *xattr_name;\n\tu32 xattr_flags;\n\tsize_t xattr_len;\n\tstruct page **xattr_pages;\n};\n\nstruct nfs42_setxattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_change_info cinfo;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs4_accessargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n\tu32 access;\n};\n\nstruct nfs4_accessres {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tu32 supported;\n\tu32 access;\n};\n\nstruct nfs4_add_xprt_data {\n\tstruct nfs_client *clp;\n\tconst struct cred *cred;\n};\n\nstruct nfs4_cached_acl {\n\tenum nfs4_acl_type type;\n\tint cached;\n\tsize_t len;\n\tchar data[0];\n};\n\nstruct nfs4_call_sync_data {\n\tconst struct nfs_server *seq_server;\n\tstruct nfs4_sequence_args *seq_args;\n\tstruct nfs4_sequence_res *seq_res;\n};\n\nstruct nfs_seqid;\n\nstruct nfs4_layoutreturn_args;\n\nstruct nfs_closeargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n\tfmode_t fmode;\n\tu32 share_access;\n\tconst u32 *bitmask;\n\tu32 bitmask_store[3];\n\tstruct nfs4_layoutreturn_args *lr_args;\n};\n\nstruct nfs4_layoutreturn_res;\n\nstruct nfs_closeres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_seqid *seqid;\n\tconst struct nfs_server *server;\n\tstruct nfs4_layoutreturn_res *lr_res;\n\tint lr_ret;\n};\n\nstruct pnfs_layout_hdr;\n\nstruct nfs4_layoutreturn_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct pnfs_layout_hdr *layout;\n\tstruct inode *inode;\n\tstruct pnfs_layout_range range;\n\tnfs4_stateid stateid;\n\t__u32 layout_type;\n\tstruct nfs4_xdr_opaque_data *ld_private;\n};\n\nstruct nfs4_layoutreturn_res {\n\tstruct nfs4_sequence_res seq_res;\n\tu32 lrs_present;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs4_state;\n\nstruct nfs4_closedata {\n\tstruct inode *inode;\n\tstruct nfs4_state *state;\n\tstruct nfs_closeargs arg;\n\tstruct nfs_closeres res;\n\tstruct {\n\t\tstruct nfs4_layoutreturn_args arg;\n\t\tstruct nfs4_layoutreturn_res res;\n\t\tstruct nfs4_xdr_opaque_data ld_private;\n\t\tu32 roc_barrier;\n\t\tbool roc;\n\t} lr;\n\tstruct nfs_fattr fattr;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs4_copy_state {\n\tstruct list_head copies;\n\tstruct list_head src_copies;\n\tnfs4_stateid stateid;\n\tstruct completion completion;\n\tuint64_t count;\n\tstruct nfs_writeverf verf;\n\tint error;\n\tint flags;\n\tstruct nfs4_state *parent_src_state;\n\tstruct nfs4_state *parent_dst_state;\n};\n\nstruct nfs4_create_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tu32 ftype;\n\tunion {\n\t\tstruct {\n\t\t\tstruct page **pages;\n\t\t\tunsigned int len;\n\t\t} symlink;\n\t\tstruct {\n\t\t\tu32 specdata1;\n\t\t\tu32 specdata2;\n\t\t} device;\n\t} u;\n\tconst struct qstr *name;\n\tconst struct nfs_server *server;\n\tconst struct iattr *attrs;\n\tconst struct nfs_fh *dir_fh;\n\tconst u32 *bitmask;\n\tconst struct nfs4_label *label;\n\tumode_t umask;\n};\n\nstruct nfs4_create_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs4_change_info dir_cinfo;\n};\n\nstruct nfs4_createdata {\n\tstruct rpc_message msg;\n\tstruct nfs4_create_arg arg;\n\tstruct nfs4_create_res res;\n\tstruct nfs_fh fh;\n\tstruct nfs_fattr fattr;\n};\n\nstruct nfs4_delegattr {\n\tstruct timespec64 atime;\n\tstruct timespec64 mtime;\n\tbool atime_set;\n\tbool mtime_set;\n};\n\nstruct nfs4_delegreturnargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fhandle;\n\tconst nfs4_stateid *stateid;\n\tconst u32 *bitmask;\n\tu32 bitmask_store[3];\n\tstruct nfs4_layoutreturn_args *lr_args;\n\tstruct nfs4_delegattr *sattr_args;\n};\n\nstruct nfs4_delegreturnres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_server *server;\n\tstruct nfs4_layoutreturn_res *lr_res;\n\tint lr_ret;\n\tbool sattr_res;\n\tint sattr_ret;\n};\n\nstruct nfs4_delegreturndata {\n\tstruct nfs4_delegreturnargs args;\n\tstruct nfs4_delegreturnres res;\n\tstruct nfs_fh fh;\n\tnfs4_stateid stateid;\n\tlong unsigned int timestamp;\n\tstruct {\n\t\tstruct nfs4_layoutreturn_args arg;\n\t\tstruct nfs4_layoutreturn_res res;\n\t\tstruct nfs4_xdr_opaque_data ld_private;\n\t\tu32 roc_barrier;\n\t\tbool roc;\n\t} lr;\n\tstruct nfs4_delegattr sattr;\n\tstruct nfs_fattr fattr;\n\tint rpc_status;\n\tstruct inode *inode;\n};\n\nstruct pnfs_layoutdriver_type;\n\nstruct nfs4_deviceid_node {\n\tstruct hlist_node node;\n\tstruct hlist_node tmpnode;\n\tconst struct pnfs_layoutdriver_type *ld;\n\tconst struct nfs_client *nfs_client;\n\tlong unsigned int flags;\n\tlong unsigned int timestamp_unavailable;\n\tstruct nfs4_deviceid deviceid;\n\tstruct callback_head rcu;\n\tatomic_t ref;\n};\n\nstruct nfs4_ds_server {\n\tstruct list_head list;\n\tstruct rpc_clnt *rpc_clnt;\n};\n\nstruct nfs4_exception {\n\tstruct nfs4_state *state;\n\tstruct inode *inode;\n\tnfs4_stateid *stateid;\n\tlong int timeout;\n\tshort unsigned int retrans;\n\tunsigned char task_is_privileged: 1;\n\tunsigned char delay: 1;\n\tunsigned char recovering: 1;\n\tunsigned char retry: 1;\n\tbool interruptible;\n};\n\nstruct nfs4_ff_busy_timer {\n\tktime_t start_time;\n\tatomic_t n_ops;\n};\n\nstruct nfs4_ff_ds_version {\n\tu32 version;\n\tu32 minor_version;\n\tu32 rsize;\n\tu32 wsize;\n\tbool tightly_coupled;\n};\n\nstruct nfs4_ff_io_stat {\n\t__u64 ops_requested;\n\t__u64 bytes_requested;\n\t__u64 ops_completed;\n\t__u64 bytes_completed;\n\t__u64 bytes_not_delivered;\n\tktime_t total_busy_time;\n\tktime_t aggregate_completion_time;\n};\n\nstruct nfs4_pnfs_ds;\n\nstruct nfs4_ff_layout_ds {\n\tstruct nfs4_deviceid_node id_node;\n\tu32 ds_versions_cnt;\n\tstruct nfs4_ff_ds_version *ds_versions;\n\tstruct nfs4_pnfs_ds *ds;\n};\n\nstruct nfs4_ff_layout_ds_err {\n\tstruct list_head list;\n\tu64 offset;\n\tu64 length;\n\tint status;\n\tenum nfs_opnum4 opnum;\n\tnfs4_stateid stateid;\n\tstruct nfs4_deviceid deviceid;\n};\n\nstruct nfsd_file;\n\nstruct nfs_file_localio {\n\tstruct nfsd_file *ro_file;\n\tstruct nfsd_file *rw_file;\n\tstruct list_head list;\n\tvoid *nfs_uuid;\n};\n\nstruct nfs4_ff_layoutstat {\n\tstruct nfs4_ff_io_stat io_stat;\n\tstruct nfs4_ff_busy_timer busy_timer;\n};\n\nstruct nfs4_ff_layout_mirror {\n\tstruct pnfs_layout_hdr *layout;\n\tstruct list_head mirrors;\n\tu32 ds_count;\n\tu32 efficiency;\n\tstruct nfs4_deviceid devid;\n\tstruct nfs4_ff_layout_ds *mirror_ds;\n\tu32 fh_versions_cnt;\n\tstruct nfs_fh *fh_versions;\n\tnfs4_stateid stateid;\n\tconst struct cred *ro_cred;\n\tconst struct cred *rw_cred;\n\tstruct nfs_file_localio nfl;\n\trefcount_t ref;\n\tspinlock_t lock;\n\tlong unsigned int flags;\n\tstruct nfs4_ff_layoutstat read_stat;\n\tstruct nfs4_ff_layoutstat write_stat;\n\tktime_t start_time;\n\tu32 report_interval;\n};\n\nstruct pnfs_layout_segment {\n\tstruct list_head pls_list;\n\tstruct list_head pls_lc_list;\n\tstruct list_head pls_commits;\n\tstruct pnfs_layout_range pls_range;\n\trefcount_t pls_refcount;\n\tu32 pls_seq;\n\tlong unsigned int pls_flags;\n\tstruct pnfs_layout_hdr *pls_layout;\n};\n\nstruct nfs4_ff_layout_segment {\n\tstruct pnfs_layout_segment generic_hdr;\n\tu64 stripe_unit;\n\tu32 flags;\n\tu32 mirror_array_cnt;\n\tstruct nfs4_ff_layout_mirror *mirror_array[0];\n};\n\nstruct nfs4_file_layout_dsaddr {\n\tstruct nfs4_deviceid_node id_node;\n\tu32 stripe_count;\n\tu8 *stripe_indices;\n\tu32 ds_num;\n\tstruct nfs4_pnfs_ds *ds_list[0];\n};\n\nstruct pnfs_layout_hdr {\n\trefcount_t plh_refcount;\n\tatomic_t plh_outstanding;\n\tstruct list_head plh_layouts;\n\tstruct list_head plh_bulk_destroy;\n\tstruct list_head plh_segs;\n\tstruct list_head plh_return_segs;\n\tlong unsigned int plh_block_lgets;\n\tlong unsigned int plh_retry_timestamp;\n\tlong unsigned int plh_flags;\n\tnfs4_stateid plh_stateid;\n\tu32 plh_barrier;\n\tu32 plh_return_seq;\n\tenum pnfs_iomode plh_return_iomode;\n\tloff_t plh_lwb;\n\tconst struct cred *plh_lc_cred;\n\tstruct inode *plh_inode;\n\tstruct callback_head plh_rcu;\n};\n\nstruct pnfs_commit_ops;\n\nstruct pnfs_ds_commit_info {\n\tstruct list_head commits;\n\tunsigned int nwritten;\n\tunsigned int ncommitting;\n\tconst struct pnfs_commit_ops *ops;\n};\n\nstruct nfs4_filelayout {\n\tstruct pnfs_layout_hdr generic_hdr;\n\tstruct pnfs_ds_commit_info commit_info;\n};\n\nstruct nfs4_filelayout_segment {\n\tstruct pnfs_layout_segment generic_hdr;\n\tu32 stripe_type;\n\tu32 commit_through_mds;\n\tu32 stripe_unit;\n\tu32 first_stripe_index;\n\tu64 pattern_offset;\n\tstruct nfs4_deviceid deviceid;\n\tstruct nfs4_file_layout_dsaddr *dsaddr;\n\tunsigned int num_fh;\n\tstruct nfs_fh **fh_array;\n};\n\nstruct nfs4_flexfile_layout {\n\tstruct pnfs_layout_hdr generic_hdr;\n\tstruct pnfs_ds_commit_info commit_info;\n\tstruct list_head mirrors;\n\tstruct list_head error_list;\n\tktime_t last_report_time;\n};\n\nstruct nfs4_flexfile_layoutreturn_args {\n\tstruct list_head errors;\n\tstruct nfs42_layoutstat_devinfo devinfo[4];\n\tunsigned int num_errors;\n\tunsigned int num_dev;\n\tstruct page *pages[1];\n};\n\nstruct nfs4_string {\n\tunsigned int len;\n\tchar *data;\n};\n\nstruct nfs4_pathname {\n\tunsigned int ncomponents;\n\tstruct nfs4_string components[512];\n};\n\nstruct nfs4_fs_location {\n\tunsigned int nservers;\n\tstruct nfs4_string servers[10];\n\tstruct nfs4_pathname rootpath;\n};\n\nstruct nfs4_fs_locations {\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n\tstruct nfs4_pathname fs_path;\n\tint nlocations;\n\tstruct nfs4_fs_location locations[10];\n};\n\nstruct nfs4_fs_locations_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct nfs_fh *fh;\n\tconst struct qstr *name;\n\tstruct page *page;\n\tconst u32 *bitmask;\n\tclientid4 clientid;\n\tunsigned char migration: 1;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fs_locations_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_fs_locations *fs_locations;\n\tunsigned char migration: 1;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsid_present_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tclientid4 clientid;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsid_present_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fh *fh;\n\tunsigned char renew: 1;\n};\n\nstruct nfs4_fsinfo_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_fsinfo;\n\nstruct nfs4_fsinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fsinfo *fsinfo;\n};\n\nstruct nfs4_get_lease_time_args {\n\tstruct nfs4_sequence_args la_seq_args;\n};\n\nstruct nfs4_get_lease_time_res;\n\nstruct nfs4_get_lease_time_data {\n\tstruct nfs4_get_lease_time_args *args;\n\tstruct nfs4_get_lease_time_res *res;\n\tstruct nfs_client *clp;\n};\n\nstruct nfs4_get_lease_time_res {\n\tstruct nfs4_sequence_res lr_seq_res;\n\tstruct nfs_fsinfo *lr_fsinfo;\n};\n\nstruct nfs4_getattr_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_getattr_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct pnfs_device;\n\nstruct nfs4_getdeviceinfo_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct pnfs_device *pdev;\n\t__u32 notify_types;\n};\n\nstruct nfs4_getdeviceinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct pnfs_device *pdev;\n\t__u32 notification;\n};\n\nstruct nfs4_label {\n\tuint32_t lfs;\n\tuint32_t pi;\n\tu32 lsmid;\n\tu32 len;\n\tchar *label;\n};\n\nstruct nfs4_layoutcommit_args {\n\tstruct nfs4_sequence_args seq_args;\n\tnfs4_stateid stateid;\n\t__u64 lastbytewritten;\n\tstruct inode *inode;\n\tconst u32 *bitmask;\n\tsize_t layoutupdate_len;\n\tstruct page *layoutupdate_page;\n\tstruct page **layoutupdate_pages;\n\t__be32 *start_p;\n};\n\nstruct rpc_wait {\n\tstruct list_head list;\n\tstruct list_head links;\n\tstruct list_head timer_list;\n};\n\nstruct rpc_call_ops;\n\nstruct rpc_xprt;\n\nstruct rpc_rqst;\n\nstruct rpc_task {\n\tatomic_t tk_count;\n\tint tk_status;\n\tstruct list_head tk_task;\n\tvoid (*tk_callback)(struct rpc_task *);\n\tvoid (*tk_action)(struct rpc_task *);\n\tlong unsigned int tk_timeout;\n\tlong unsigned int tk_runstate;\n\tstruct rpc_wait_queue *tk_waitqueue;\n\tunion {\n\t\tstruct work_struct tk_work;\n\t\tstruct rpc_wait tk_wait;\n\t} u;\n\tstruct rpc_message tk_msg;\n\tvoid *tk_calldata;\n\tconst struct rpc_call_ops *tk_ops;\n\tstruct rpc_clnt *tk_client;\n\tstruct rpc_xprt *tk_xprt;\n\tstruct rpc_cred *tk_op_cred;\n\tstruct rpc_rqst *tk_rqstp;\n\tstruct workqueue_struct *tk_workqueue;\n\tktime_t tk_start;\n\tpid_t tk_owner;\n\tint tk_rpc_status;\n\tshort unsigned int tk_flags;\n\tshort unsigned int tk_timeouts;\n\tshort unsigned int tk_pid;\n\tunsigned char tk_priority: 2;\n\tunsigned char tk_garb_retry: 2;\n\tunsigned char tk_cred_retry: 2;\n};\n\nstruct nfs4_layoutcommit_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n\tint status;\n};\n\nstruct nfs4_layoutcommit_data {\n\tstruct rpc_task task;\n\tstruct nfs_fattr fattr;\n\tstruct list_head lseg_list;\n\tconst struct cred *cred;\n\tstruct inode *inode;\n\tstruct nfs4_layoutcommit_args args;\n\tstruct nfs4_layoutcommit_res res;\n};\n\nstruct nfs4_layoutdriver_data {\n\tstruct page **pages;\n\t__u32 pglen;\n\t__u32 len;\n};\n\nstruct nfs_open_context;\n\nstruct nfs4_layoutget_args {\n\tstruct nfs4_sequence_args seq_args;\n\t__u32 type;\n\tstruct pnfs_layout_range range;\n\t__u64 minlength;\n\t__u32 maxcount;\n\tstruct inode *inode;\n\tstruct nfs_open_context *ctx;\n\tnfs4_stateid stateid;\n\tstruct nfs4_layoutdriver_data layout;\n};\n\nstruct nfs4_layoutget_res {\n\tstruct nfs4_sequence_res seq_res;\n\tint status;\n\t__u32 return_on_close;\n\tstruct pnfs_layout_range range;\n\t__u32 type;\n\tnfs4_stateid stateid;\n\tstruct nfs4_layoutdriver_data *layoutp;\n};\n\nstruct nfs4_layoutget {\n\tstruct nfs4_layoutget_args args;\n\tstruct nfs4_layoutget_res res;\n\tconst struct cred *cred;\n\tstruct pnfs_layout_hdr *lo;\n\tgfp_t gfp_flags;\n};\n\nstruct nfs4_layoutreturn {\n\tstruct nfs4_layoutreturn_args args;\n\tstruct nfs4_layoutreturn_res res;\n\tconst struct cred *cred;\n\tstruct nfs_client *clp;\n\tstruct inode *inode;\n\tint rpc_status;\n\tstruct nfs4_xdr_opaque_data ld_private;\n};\n\nstruct nfs4_link_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_link_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs4_change_info cinfo;\n\tstruct nfs_fattr *dir_attr;\n};\n\nstruct nfs_seqid_counter {\n\tktime_t create_time;\n\tu64 owner_id;\n\tint flags;\n\tu32 counter;\n\tspinlock_t lock;\n\tstruct list_head list;\n\tstruct rpc_wait_queue wait;\n};\n\nstruct nfs4_lock_state {\n\tstruct list_head ls_locks;\n\tstruct nfs4_state *ls_state;\n\tlong unsigned int ls_flags;\n\tstruct nfs_seqid_counter ls_seqid;\n\tnfs4_stateid ls_stateid;\n\trefcount_t ls_count;\n\tfl_owner_t ls_owner;\n};\n\nstruct nfs4_lock_waiter {\n\tstruct inode *inode;\n\tstruct nfs_lowner owner;\n\twait_queue_entry_t wait;\n};\n\nstruct nfs_lock_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_seqid *lock_seqid;\n\tnfs4_stateid lock_stateid;\n\tstruct nfs_seqid *open_seqid;\n\tnfs4_stateid open_stateid;\n\tstruct nfs_lowner lock_owner;\n\tunsigned char block: 1;\n\tunsigned char reclaim: 1;\n\tunsigned char new_lock: 1;\n\tunsigned char new_lock_owner: 1;\n};\n\nstruct nfs_lock_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *lock_seqid;\n\tstruct nfs_seqid *open_seqid;\n};\n\nstruct nfs4_lockdata {\n\tstruct nfs_lock_args arg;\n\tstruct nfs_lock_res res;\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_open_context *ctx;\n\tstruct file_lock fl;\n\tlong unsigned int timestamp;\n\tint rpc_status;\n\tint cancelled;\n\tstruct nfs_server *server;\n};\n\nstruct nfs4_lookup_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookup_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_fh *fh;\n};\n\nstruct nfs4_lookup_root_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookupp_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_lookupp_res {\n\tstruct nfs4_sequence_res seq_res;\n\tconst struct nfs_server *server;\n\tstruct nfs_fattr *fattr;\n\tstruct nfs_fh *fh;\n};\n\nstruct nfs4_mig_recovery_ops {\n\tint (*get_locations)(struct nfs_server *, struct nfs_fh *, struct nfs4_fs_locations *, struct page *, const struct cred *);\n\tint (*fsid_present)(struct inode *, const struct cred *);\n};\n\nstruct nfs4_state_recovery_ops;\n\nstruct nfs4_state_maintenance_ops;\n\nstruct nfs4_minor_version_ops {\n\tu32 minor_version;\n\tunsigned int init_caps;\n\tint (*init_client)(struct nfs_client *);\n\tvoid (*shutdown_client)(struct nfs_client *);\n\tbool (*match_stateid)(const nfs4_stateid *, const nfs4_stateid *);\n\tint (*find_root_sec)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tvoid (*free_lock_state)(struct nfs_server *, struct nfs4_lock_state *);\n\tint (*test_and_free_expired)(struct nfs_server *, const nfs4_stateid *, const struct cred *);\n\tstruct nfs_seqid * (*alloc_seqid)(struct nfs_seqid_counter *, gfp_t);\n\tvoid (*session_trunk)(struct rpc_clnt *, struct rpc_xprt *, void *);\n\tconst struct rpc_call_ops *call_sync_ops;\n\tconst struct nfs4_state_recovery_ops *reboot_recovery_ops;\n\tconst struct nfs4_state_recovery_ops *nograce_recovery_ops;\n\tconst struct nfs4_state_maintenance_ops *state_renewal_ops;\n\tconst struct nfs4_mig_recovery_ops *mig_recovery_ops;\n};\n\nstruct nfs_string {\n\tunsigned int len;\n\tconst char *data;\n};\n\nstruct nfs4_mount_data {\n\tint version;\n\tint flags;\n\tint rsize;\n\tint wsize;\n\tint timeo;\n\tint retrans;\n\tint acregmin;\n\tint acregmax;\n\tint acdirmin;\n\tint acdirmax;\n\tstruct nfs_string client_addr;\n\tstruct nfs_string mnt_path;\n\tstruct nfs_string hostname;\n\tunsigned int host_addrlen;\n\tstruct sockaddr *host_addr;\n\tint proto;\n\tint auth_flavourlen;\n\tint *auth_flavours;\n};\n\nstruct nfs4_open_caps {\n\tu32 oa_share_access[1];\n\tu32 oa_share_deny[1];\n\tu32 oa_share_access_want[1];\n\tu32 oa_open_claim[1];\n\tu32 oa_createmode[1];\n};\n\nstruct nfs4_open_createattrs {\n\tstruct nfs4_label *label;\n\tstruct iattr *sattr;\n\tconst __u32 verf[2];\n};\n\nstruct nfs4_open_delegation {\n\t__u32 open_delegation_type;\n\tunion {\n\t\tstruct {\n\t\t\tfmode_t type;\n\t\t\t__u32 do_recall;\n\t\t\tnfs4_stateid stateid;\n\t\t\tlong unsigned int pagemod_limit;\n\t\t};\n\t\tstruct {\n\t\t\t__u32 why_no_delegation;\n\t\t\t__u32 will_notify;\n\t\t};\n\t};\n};\n\nstruct stateowner_id {\n\t__u64 create_time;\n\t__u64 uniquifier;\n};\n\nstruct nfs_openargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tstruct nfs_seqid *seqid;\n\tint open_flags;\n\tfmode_t fmode;\n\tu32 share_access;\n\tu32 access;\n\t__u64 clientid;\n\tstruct stateowner_id id;\n\tunion {\n\t\tstruct {\n\t\t\tstruct iattr *attrs;\n\t\t\tnfs4_verifier verifier;\n\t\t};\n\t\tnfs4_stateid delegation;\n\t\t__u32 delegation_type;\n\t} u;\n\tconst struct qstr *name;\n\tconst struct nfs_server *server;\n\tconst u32 *bitmask;\n\tconst u32 *open_bitmap;\n\tenum open_claim_type4 claim;\n\tenum createmode4 createmode;\n\tconst struct nfs4_label *label;\n\tumode_t umask;\n\tstruct nfs4_layoutget_args *lg_args;\n};\n\nstruct nfs_openres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_fh fh;\n\tstruct nfs4_change_info cinfo;\n\t__u32 rflags;\n\tstruct nfs_fattr *f_attr;\n\tstruct nfs_seqid *seqid;\n\tconst struct nfs_server *server;\n\t__u32 attrset[3];\n\tstruct nfs4_string *owner;\n\tstruct nfs4_string *group_owner;\n\tstruct nfs4_open_delegation delegation;\n\t__u32 access_request;\n\t__u32 access_supported;\n\t__u32 access_result;\n\tstruct nfs4_layoutget_res *lg_res;\n};\n\nstruct nfs_open_confirmargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tnfs4_stateid *stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs_open_confirmres {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs4_state_owner;\n\nstruct nfs4_opendata {\n\tstruct kref kref;\n\tstruct nfs_openargs o_arg;\n\tstruct nfs_openres o_res;\n\tstruct nfs_open_confirmargs c_arg;\n\tstruct nfs_open_confirmres c_res;\n\tstruct nfs4_string owner_name;\n\tstruct nfs4_string group_name;\n\tstruct nfs4_label *a_label;\n\tstruct nfs_fattr f_attr;\n\tstruct dentry *dir;\n\tstruct dentry *dentry;\n\tstruct nfs4_state_owner *owner;\n\tstruct nfs4_state *state;\n\tstruct iattr attrs;\n\tstruct nfs4_layoutget *lgp;\n\tlong unsigned int timestamp;\n\tbool rpc_done;\n\tbool file_created;\n\tbool is_recover;\n\tbool cancelled;\n\tint rpc_status;\n};\n\nstruct nfs4_pathconf_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_pathconf;\n\nstruct nfs4_pathconf_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_pathconf *pathconf;\n};\n\nstruct nfs4_pnfs_ds {\n\tstruct list_head ds_node;\n\tchar *ds_remotestr;\n\tstruct list_head ds_addrs;\n\tstruct nfs_client *ds_clp;\n\trefcount_t ds_count;\n\tlong unsigned int ds_state;\n};\n\nstruct nfs4_pnfs_ds_addr {\n\tstruct __kernel_sockaddr_storage da_addr;\n\tsize_t da_addrlen;\n\tstruct list_head da_node;\n\tchar *da_remotestr;\n\tconst char *da_netid;\n\tint da_transport;\n};\n\nstruct nfs4_readdir_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tu64 cookie;\n\tnfs4_verifier verifier;\n\tu32 count;\n\tstruct page **pages;\n\tunsigned int pgbase;\n\tconst u32 *bitmask;\n\tbool plus;\n};\n\nstruct nfs4_readdir_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_verifier verifier;\n\tunsigned int pgbase;\n};\n\nstruct nfs4_readlink {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tstruct page **pages;\n};\n\nstruct nfs4_readlink_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs4_reclaim_complete_data {\n\tstruct nfs_client *clp;\n\tstruct nfs41_reclaim_complete_args arg;\n\tstruct nfs41_reclaim_complete_res res;\n};\n\nstruct nfs4_renewdata {\n\tstruct nfs_client *client;\n\tlong unsigned int timestamp;\n};\n\nstruct rpcsec_gss_info {\n\tstruct rpcsec_gss_oid oid;\n\tu32 qop;\n\tu32 service;\n};\n\nstruct nfs4_secinfo4 {\n\tu32 flavor;\n\tstruct rpcsec_gss_info flavor_info;\n};\n\nstruct nfs4_secinfo_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *dir_fh;\n\tconst struct qstr *name;\n};\n\nstruct nfs4_secinfo_flavors {\n\tunsigned int num_flavors;\n\tstruct nfs4_secinfo4 flavors[0];\n};\n\nstruct nfs4_secinfo_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs4_secinfo_flavors *flavors;\n};\n\nstruct nfs4_sequence_data {\n\tstruct nfs_client *clp;\n\tstruct nfs4_sequence_args args;\n\tstruct nfs4_sequence_res res;\n};\n\nstruct nfs4_server_caps_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fhandle;\n\tconst u32 *bitmask;\n};\n\nstruct nfs4_server_caps_res {\n\tstruct nfs4_sequence_res seq_res;\n\tu32 attr_bitmask[3];\n\tu32 exclcreat_bitmask[3];\n\tu32 acl_bitmask;\n\tu32 has_links;\n\tu32 has_symlinks;\n\tu32 fh_expire_type;\n\tu32 case_insensitive;\n\tu32 case_preserving;\n\tstruct nfs4_open_caps open_caps;\n};\n\nstruct nfs4_session;\n\nstruct nfs4_slot_table {\n\tstruct nfs4_session *session;\n\tstruct nfs4_slot *slots;\n\tlong unsigned int used_slots[16];\n\tspinlock_t slot_tbl_lock;\n\tstruct rpc_wait_queue slot_tbl_waitq;\n\twait_queue_head_t slot_waitq;\n\tu32 max_slots;\n\tu32 max_slotid;\n\tu32 highest_used_slotid;\n\tu32 target_highest_slotid;\n\tu32 server_highest_slotid;\n\ts32 d_target_highest_slotid;\n\ts32 d2_target_highest_slotid;\n\tlong unsigned int generation;\n\tstruct completion complete;\n\tlong unsigned int slot_tbl_state;\n};\n\nstruct nfs4_session {\n\tstruct nfs4_sessionid sess_id;\n\tu32 flags;\n\tlong unsigned int session_state;\n\tu32 hash_alg;\n\tu32 ssv_len;\n\tstruct nfs4_channel_attrs fc_attrs;\n\tstruct nfs4_slot_table fc_slot_table;\n\tstruct nfs4_channel_attrs bc_attrs;\n\tstruct nfs4_slot_table bc_slot_table;\n\tstruct nfs_client *clp;\n};\n\nstruct nfs4_setclientid {\n\tconst nfs4_verifier *sc_verifier;\n\tu32 sc_prog;\n\tunsigned int sc_netid_len;\n\tchar sc_netid[6];\n\tunsigned int sc_uaddr_len;\n\tchar sc_uaddr[58];\n\tstruct nfs_client *sc_clnt;\n\tstruct rpc_cred *sc_cred;\n};\n\nstruct nfs4_setclientid_res {\n\tu64 clientid;\n\tnfs4_verifier confirm;\n};\n\nstruct nfs4_slot {\n\tstruct nfs4_slot_table *table;\n\tstruct nfs4_slot *next;\n\tlong unsigned int generation;\n\tu32 slot_nr;\n\tu32 seq_nr;\n\tu32 seq_nr_last_acked;\n\tu32 seq_nr_highest_sent;\n\tunsigned int privileged: 1;\n\tunsigned int seq_done: 1;\n};\n\nstruct nfs4_ssc_client_ops {\n\tstruct file * (*sco_open)(struct vfsmount *, struct nfs_fh *, nfs4_stateid *);\n\tvoid (*sco_close)(struct file *);\n};\n\nstruct nfs4_state {\n\tstruct list_head open_states;\n\tstruct list_head inode_states;\n\tstruct list_head lock_states;\n\tstruct nfs4_state_owner *owner;\n\tstruct inode *inode;\n\tlong unsigned int flags;\n\tspinlock_t state_lock;\n\tseqlock_t seqlock;\n\tnfs4_stateid stateid;\n\tnfs4_stateid open_stateid;\n\tunsigned int n_rdonly;\n\tunsigned int n_wronly;\n\tunsigned int n_rdwr;\n\tfmode_t state;\n\trefcount_t count;\n\twait_queue_head_t waitq;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs4_state_maintenance_ops {\n\tint (*sched_state_renewal)(struct nfs_client *, const struct cred *, unsigned int);\n\tconst struct cred * (*get_state_renewal_cred)(struct nfs_client *);\n\tint (*renew_lease)(struct nfs_client *, const struct cred *);\n};\n\nstruct nfs4_state_owner {\n\tstruct nfs_server *so_server;\n\tstruct list_head so_lru;\n\tlong unsigned int so_expires;\n\tstruct rb_node so_server_node;\n\tconst struct cred *so_cred;\n\tspinlock_t so_lock;\n\tatomic_t so_count;\n\tlong unsigned int so_flags;\n\tstruct list_head so_states;\n\tstruct nfs_seqid_counter so_seqid;\n\tstruct mutex so_delegreturn_mutex;\n};\n\nstruct nfs4_state_recovery_ops {\n\tint owner_flag_bit;\n\tint state_flag_bit;\n\tint (*recover_open)(struct nfs4_state_owner *, struct nfs4_state *);\n\tint (*recover_lock)(struct nfs4_state *, struct file_lock *);\n\tint (*establish_clid)(struct nfs_client *, const struct cred *);\n\tint (*reclaim_complete)(struct nfs_client *, const struct cred *);\n\tint (*detect_trunking)(struct nfs_client *, struct nfs_client **, const struct cred *);\n};\n\nstruct nfs4_statfs_arg {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_fsstat;\n\nstruct nfs4_statfs_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fsstat *fsstat;\n};\n\nstruct nfs4_threshold {\n\t__u32 bm;\n\t__u32 l_type;\n\t__u64 rd_sz;\n\t__u64 wr_sz;\n\t__u64 rd_io_sz;\n\t__u64 wr_io_sz;\n};\n\nstruct nfs_locku_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_seqid *seqid;\n\tnfs4_stateid stateid;\n};\n\nstruct nfs_locku_res {\n\tstruct nfs4_sequence_res seq_res;\n\tnfs4_stateid stateid;\n\tstruct nfs_seqid *seqid;\n};\n\nstruct nfs_lock_context;\n\nstruct nfs4_unlockdata {\n\tstruct nfs_locku_args arg;\n\tstruct nfs_locku_res res;\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_open_context *ctx;\n\tstruct nfs_lock_context *l_ctx;\n\tstruct file_lock fl;\n\tstruct nfs_server *server;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs4_xattr_cache;\n\nstruct nfs4_xattr_bucket {\n\tspinlock_t lock;\n\tstruct hlist_head hlist;\n\tstruct nfs4_xattr_cache *cache;\n\tbool draining;\n};\n\nstruct nfs4_xattr_entry;\n\nstruct nfs4_xattr_cache {\n\tstruct kref ref;\n\tstruct nfs4_xattr_bucket buckets[64];\n\tstruct list_head lru;\n\tstruct list_head dispose;\n\tatomic_long_t nent;\n\tspinlock_t listxattr_lock;\n\tstruct inode *inode;\n\tstruct nfs4_xattr_entry *listxattr;\n};\n\nstruct nfs4_xattr_entry {\n\tstruct kref ref;\n\tstruct hlist_node hnode;\n\tstruct list_head lru;\n\tstruct list_head dispose;\n\tchar *xattr_name;\n\tvoid *xattr_value;\n\tsize_t xattr_size;\n\tstruct nfs4_xattr_bucket *bucket;\n\tuint32_t flags;\n};\n\nstruct nfs4_xdr_opaque_ops {\n\tvoid (*encode)(struct xdr_stream *, const void *, const struct nfs4_xdr_opaque_data *);\n\tvoid (*free)(struct nfs4_xdr_opaque_data *);\n};\n\nstruct nfs_access_entry {\n\tstruct rb_node rb_node;\n\tstruct list_head lru;\n\tkuid_t fsuid;\n\tkgid_t fsgid;\n\tstruct group_info *group_info;\n\tu64 timestamp;\n\t__u32 mask;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_auth_info {\n\tunsigned int flavor_len;\n\trpc_authflavor_t flavors[12];\n};\n\nstruct nfs_cache_array_entry {\n\tu64 cookie;\n\tu64 ino;\n\tconst char *name;\n\tunsigned int name_len;\n\tunsigned char d_type;\n};\n\nstruct nfs_cache_array {\n\tu64 change_attr;\n\tu64 last_cookie;\n\tunsigned int size;\n\tunsigned char folio_full: 1;\n\tunsigned char folio_is_eof: 1;\n\tunsigned char cookies_are_ordered: 1;\n\tstruct nfs_cache_array_entry array[0];\n};\n\nstruct svc_serv;\n\nstruct nfs_callback_data {\n\tunsigned int users;\n\tstruct svc_serv *serv;\n};\n\nstruct xprtsec_parms {\n\tenum xprtsec_policies policy;\n\tkey_serial_t cert_serial;\n\tkey_serial_t privkey_serial;\n};\n\nstruct nfs_rpc_ops;\n\nstruct nfs_subversion;\n\nstruct nfs_client {\n\trefcount_t cl_count;\n\tatomic_t cl_mds_count;\n\tint cl_cons_state;\n\tlong unsigned int cl_res_state;\n\tlong unsigned int cl_flags;\n\tstruct __kernel_sockaddr_storage cl_addr;\n\tsize_t cl_addrlen;\n\tchar *cl_hostname;\n\tchar *cl_acceptor;\n\tstruct list_head cl_share_link;\n\tstruct list_head cl_superblocks;\n\tstruct rpc_clnt *cl_rpcclient;\n\tconst struct nfs_rpc_ops *rpc_ops;\n\tint cl_proto;\n\tstruct nfs_subversion *cl_nfs_mod;\n\tu32 cl_minorversion;\n\tunsigned int cl_nconnect;\n\tunsigned int cl_max_connect;\n\tconst char *cl_principal;\n\tstruct xprtsec_parms cl_xprtsec;\n\tstruct list_head cl_ds_clients;\n\tu64 cl_clientid;\n\tnfs4_verifier cl_confirm;\n\tlong unsigned int cl_state;\n\tspinlock_t cl_lock;\n\tlong unsigned int cl_lease_time;\n\tlong unsigned int cl_last_renewal;\n\tstruct delayed_work cl_renewd;\n\tstruct rpc_wait_queue cl_rpcwaitq;\n\tstruct idmap *cl_idmap;\n\tconst char *cl_owner_id;\n\tu32 cl_cb_ident;\n\tconst struct nfs4_minor_version_ops *cl_mvops;\n\tlong unsigned int cl_mig_gen;\n\tstruct nfs4_slot_table *cl_slot_tbl;\n\tu32 cl_seqid;\n\tu32 cl_exchange_flags;\n\tstruct nfs4_session *cl_session;\n\tbool cl_preserve_clid;\n\tstruct nfs41_server_owner *cl_serverowner;\n\tstruct nfs41_server_scope *cl_serverscope;\n\tstruct nfs41_impl_id *cl_implid;\n\tlong unsigned int cl_sp4_flags;\n\twait_queue_head_t cl_lock_waitq;\n\tchar cl_ipaddr[48];\n\tstruct net *cl_net;\n\tstruct list_head pending_cb_stateids;\n\tstruct callback_head rcu;\n};\n\nstruct rpc_timeout;\n\nstruct nfs_client_initdata {\n\tlong unsigned int init_flags;\n\tconst char *hostname;\n\tconst struct __kernel_sockaddr_storage *addr;\n\tconst char *nodename;\n\tconst char *ip_addr;\n\tsize_t addrlen;\n\tstruct nfs_subversion *nfs_mod;\n\tint proto;\n\tu32 minorversion;\n\tunsigned int nconnect;\n\tunsigned int max_connect;\n\tstruct net *net;\n\tconst struct rpc_timeout *timeparms;\n\tconst struct cred *cred;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct nfs_clone_mount {\n\tstruct super_block *sb;\n\tstruct dentry *dentry;\n\tstruct nfs_fattr *fattr;\n\tunsigned int inherited_bsize;\n};\n\nstruct nfs_commit_data;\n\nstruct nfs_commit_info;\n\nstruct nfs_page;\n\nstruct nfs_commit_completion_ops {\n\tvoid (*completion)(struct nfs_commit_data *);\n\tvoid (*resched_write)(struct nfs_commit_info *, struct nfs_page *);\n};\n\nstruct nfs_commitargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\t__u64 offset;\n\t__u32 count;\n\tconst u32 *bitmask;\n};\n\nstruct nfs_direct_req;\n\nstruct nfs_commit_data {\n\tstruct rpc_task task;\n\tstruct inode *inode;\n\tconst struct cred *cred;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_writeverf verf;\n\tstruct list_head pages;\n\tstruct list_head list;\n\tstruct nfs_direct_req *dreq;\n\tstruct nfs_commitargs args;\n\tstruct nfs_commitres res;\n\tstruct nfs_open_context *context;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct nfs_client *ds_clp;\n\tint ds_commit_index;\n\tloff_t lwb;\n\tconst struct rpc_call_ops *mds_ops;\n\tconst struct nfs_commit_completion_ops *completion_ops;\n\tint (*commit_done_cb)(struct rpc_task *, struct nfs_commit_data *);\n\tlong unsigned int flags;\n};\n\nstruct nfs_mds_commit_info;\n\nstruct nfs_commit_info {\n\tstruct inode *inode;\n\tstruct nfs_mds_commit_info *mds;\n\tstruct pnfs_ds_commit_info *ds;\n\tstruct nfs_direct_req *dreq;\n\tconst struct nfs_commit_completion_ops *completion_ops;\n};\n\nstruct nfs_delegation {\n\tstruct list_head super_list;\n\tconst struct cred *cred;\n\tstruct inode *inode;\n\tnfs4_stateid stateid;\n\tfmode_t type;\n\tlong unsigned int pagemod_limit;\n\t__u64 change_attr;\n\tlong unsigned int test_gen;\n\tlong unsigned int flags;\n\trefcount_t refcount;\n\tspinlock_t lock;\n\tstruct callback_head rcu;\n};\n\nstruct nfs_mds_commit_info {\n\tatomic_t rpcs_out;\n\tatomic_long_t ncommit;\n\tstruct list_head list;\n};\n\nstruct nfs_direct_req {\n\tstruct kref kref;\n\tstruct nfs_open_context *ctx;\n\tstruct nfs_lock_context *l_ctx;\n\tstruct kiocb *iocb;\n\tstruct inode *inode;\n\tatomic_t io_count;\n\tspinlock_t lock;\n\tloff_t io_start;\n\tssize_t count;\n\tssize_t max_count;\n\tssize_t error;\n\tstruct completion completion;\n\tstruct nfs_mds_commit_info mds_cinfo;\n\tstruct pnfs_ds_commit_info ds_cinfo;\n\tstruct work_struct work;\n\tint flags;\n};\n\nstruct nfs_entry {\n\t__u64 ino;\n\t__u64 cookie;\n\tconst char *name;\n\tunsigned int len;\n\tint eof;\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n\tunsigned char d_type;\n\tstruct nfs_server *server;\n};\n\nstruct nfs_find_desc {\n\tstruct nfs_fh *fh;\n\tstruct nfs_fattr *fattr;\n};\n\nstruct nfs_free_stateid_data {\n\tstruct nfs_server *server;\n\tstruct nfs41_free_stateid_args args;\n\tstruct nfs41_free_stateid_res res;\n};\n\nstruct nfs_fs_context {\n\tbool internal;\n\tbool skip_reconfig_option_check;\n\tbool need_mount;\n\tbool sloppy;\n\tunsigned int flags;\n\tunsigned int rsize;\n\tunsigned int wsize;\n\tunsigned int timeo;\n\tunsigned int retrans;\n\tunsigned int acregmin;\n\tunsigned int acregmax;\n\tunsigned int acdirmin;\n\tunsigned int acdirmax;\n\tunsigned int namlen;\n\tunsigned int options;\n\tunsigned int bsize;\n\tstruct nfs_auth_info auth_info;\n\trpc_authflavor_t selected_flavor;\n\tstruct xprtsec_parms xprtsec;\n\tchar *client_address;\n\tunsigned int version;\n\tunsigned int minorversion;\n\tchar *fscache_uniq;\n\tshort unsigned int protofamily;\n\tshort unsigned int mountfamily;\n\tbool has_sec_mnt_opts;\n\tint lock_status;\n\tstruct {\n\t\tunion {\n\t\t\tstruct sockaddr address;\n\t\t\tstruct __kernel_sockaddr_storage _address;\n\t\t};\n\t\tsize_t addrlen;\n\t\tchar *hostname;\n\t\tu32 version;\n\t\tint port;\n\t\tshort unsigned int protocol;\n\t} mount_server;\n\tstruct {\n\t\tunion {\n\t\t\tstruct sockaddr address;\n\t\t\tstruct __kernel_sockaddr_storage _address;\n\t\t};\n\t\tsize_t addrlen;\n\t\tchar *hostname;\n\t\tchar *export_path;\n\t\tint port;\n\t\tshort unsigned int protocol;\n\t\tshort unsigned int nconnect;\n\t\tshort unsigned int max_connect;\n\t\tshort unsigned int export_path_len;\n\t} nfs_server;\n\tstruct nfs_fh *mntfh;\n\tstruct nfs_server *server;\n\tstruct nfs_subversion *nfs_mod;\n\tstruct nfs_clone_mount clone_data;\n};\n\nstruct nfs_fsinfo {\n\tstruct nfs_fattr *fattr;\n\t__u32 rtmax;\n\t__u32 rtpref;\n\t__u32 rtmult;\n\t__u32 wtmax;\n\t__u32 wtpref;\n\t__u32 wtmult;\n\t__u32 dtpref;\n\t__u64 maxfilesize;\n\tstruct timespec64 time_delta;\n\t__u32 lease_time;\n\t__u32 nlayouttypes;\n\t__u32 layouttype[8];\n\t__u32 blksize;\n\t__u32 clone_blksize;\n\tenum nfs4_change_attr_type change_attr_type;\n\t__u32 xattr_support;\n};\n\nstruct nfs_fsstat {\n\tstruct nfs_fattr *fattr;\n\t__u64 tbytes;\n\t__u64 fbytes;\n\t__u64 abytes;\n\t__u64 tfiles;\n\t__u64 ffiles;\n\t__u64 afiles;\n};\n\nstruct nfs_getaclargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tstruct page **acl_pages;\n};\n\nstruct nfs_getaclres {\n\tstruct nfs4_sequence_res seq_res;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tsize_t acl_data_offset;\n\tint acl_flags;\n\tstruct page *acl_scratch;\n};\n\nstruct nfs_inode {\n\t__u64 fileid;\n\tstruct nfs_fh fh;\n\tlong unsigned int flags;\n\tlong unsigned int cache_validity;\n\tlong unsigned int read_cache_jiffies;\n\tlong unsigned int attrtimeo;\n\tlong unsigned int attrtimeo_timestamp;\n\tlong unsigned int attr_gencount;\n\tstruct rb_root access_cache;\n\tstruct list_head access_cache_entry_lru;\n\tstruct list_head access_cache_inode_lru;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int cache_change_attribute;\n\t\t\t__be32 cookieverf[2];\n\t\t\tstruct rw_semaphore rmdir_sem;\n\t\t};\n\t\tstruct {\n\t\t\tatomic_long_t nrequests;\n\t\t\tatomic_long_t redirtied_pages;\n\t\t\tstruct nfs_mds_commit_info commit_info;\n\t\t\tstruct mutex commit_mutex;\n\t\t};\n\t};\n\tstruct list_head open_files;\n\tstruct {\n\t\tint cnt;\n\t\tstruct {\n\t\t\tu64 start;\n\t\t\tu64 end;\n\t\t} gap[16];\n\t} *ooo;\n\tstruct nfs4_cached_acl *nfs4_acl;\n\tstruct list_head open_states;\n\tstruct nfs_delegation *delegation;\n\tstruct rw_semaphore rwsem;\n\tstruct pnfs_layout_hdr *layout;\n\t__u64 write_io;\n\t__u64 read_io;\n\tstruct nfs4_xattr_cache *xattr_cache;\n\tunion {\n\t\tstruct inode vfs_inode;\n\t};\n};\n\nstruct nfs_io_completion {\n\tvoid (*complete)(void *);\n\tvoid *data;\n\tstruct kref refcount;\n};\n\nstruct nfs_iostats {\n\tlong long unsigned int bytes[8];\n\tlong unsigned int events[27];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct nfs_lock_context {\n\trefcount_t count;\n\tstruct list_head list;\n\tstruct nfs_open_context *open_context;\n\tfl_owner_t lockowner;\n\tatomic_t io_count;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_lockt_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct file_lock *fl;\n\tstruct nfs_lowner lock_owner;\n};\n\nstruct nfs_lockt_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct file_lock *denied;\n};\n\nstruct sockaddr_in {\n\t__kernel_sa_family_t sin_family;\n\t__be16 sin_port;\n\tstruct in_addr sin_addr;\n\tunsigned char __pad[8];\n};\n\nstruct nfs_mount_data {\n\tint version;\n\tint fd;\n\tstruct nfs2_fh old_root;\n\tint flags;\n\tint rsize;\n\tint wsize;\n\tint timeo;\n\tint retrans;\n\tint acregmin;\n\tint acregmax;\n\tint acdirmin;\n\tint acdirmax;\n\tstruct sockaddr_in addr;\n\tchar hostname[256];\n\tint namlen;\n\tunsigned int bsize;\n\tstruct nfs3_fh root;\n\tint pseudoflavor;\n\tchar context[257];\n};\n\nstruct nfs_mount_request {\n\tstruct __kernel_sockaddr_storage *sap;\n\tsize_t salen;\n\tchar *hostname;\n\tchar *dirpath;\n\tu32 version;\n\tshort unsigned int protocol;\n\tstruct nfs_fh *fh;\n\tint noresvport;\n\tunsigned int *auth_flav_len;\n\trpc_authflavor_t *auth_flavs;\n\tstruct net *net;\n};\n\nstruct rpc_program;\n\nstruct rpc_stat {\n\tconst struct rpc_program *program;\n\tunsigned int netcnt;\n\tunsigned int netudpcnt;\n\tunsigned int nettcpcnt;\n\tunsigned int nettcpconn;\n\tunsigned int netreconn;\n\tunsigned int rpccnt;\n\tunsigned int rpcretrans;\n\tunsigned int rpcauthrefresh;\n\tunsigned int rpcgarbage;\n};\n\nstruct nfs_netns_client;\n\nstruct nfs_net {\n\tstruct cache_detail *nfs_dns_resolve;\n\tstruct rpc_pipe *bl_device_pipe;\n\tstruct bl_dev_msg bl_mount_reply;\n\twait_queue_head_t bl_wq;\n\tstruct mutex bl_mutex;\n\tstruct list_head nfs_client_list;\n\tstruct list_head nfs_volume_list;\n\tstruct idr cb_ident_idr;\n\tshort unsigned int nfs_callback_tcpport;\n\tshort unsigned int nfs_callback_tcpport6;\n\tint cb_users[3];\n\tstruct nfs_netns_client *nfs_client;\n\tspinlock_t nfs_client_lock;\n\tktime_t boot_time;\n\tstruct rpc_stat rpcstats;\n\tstruct proc_dir_entry *proc_nfsfs;\n};\n\nstruct nfs_netns_client {\n\tstruct kobject kobject;\n\tstruct kobject nfs_net_kobj;\n\tstruct net *net;\n\tconst char *identifier;\n};\n\nstruct nfs_open_context {\n\tstruct nfs_lock_context lock_context;\n\tfl_owner_t flock_owner;\n\tstruct dentry *dentry;\n\tconst struct cred *cred;\n\tstruct rpc_cred *ll_cred;\n\tstruct nfs4_state *state;\n\tfmode_t mode;\n\tint error;\n\tlong unsigned int flags;\n\tstruct nfs4_threshold *mdsthreshold;\n\tstruct list_head list;\n\tstruct callback_head callback_head;\n\tstruct nfs_file_localio nfl;\n};\n\nstruct nfs_open_dir_context {\n\tstruct list_head list;\n\tatomic_t cache_hits;\n\tatomic_t cache_misses;\n\tlong unsigned int attr_gencount;\n\t__be32 verf[2];\n\t__u64 dir_cookie;\n\t__u64 last_cookie;\n\tlong unsigned int page_index;\n\tunsigned int dtsize;\n\tbool force_clear;\n\tbool eof;\n\tstruct callback_head callback_head;\n};\n\nstruct nfs_page {\n\tstruct list_head wb_list;\n\tunion {\n\t\tstruct page *wb_page;\n\t\tstruct folio *wb_folio;\n\t};\n\tstruct nfs_lock_context *wb_lock_context;\n\tlong unsigned int wb_index;\n\tunsigned int wb_offset;\n\tunsigned int wb_pgbase;\n\tunsigned int wb_bytes;\n\tstruct kref wb_kref;\n\tlong unsigned int wb_flags;\n\tstruct nfs_write_verifier wb_verf;\n\tstruct nfs_page *wb_this_page;\n\tstruct nfs_page *wb_head;\n\tshort unsigned int wb_nio;\n};\n\nstruct nfs_page_array {\n\tstruct page **pagevec;\n\tunsigned int npages;\n\tstruct page *page_array[8];\n};\n\nstruct nfs_page_iter_page {\n\tconst struct nfs_page *req;\n\tsize_t count;\n};\n\nstruct nfs_pgio_mirror {\n\tstruct list_head pg_list;\n\tlong unsigned int pg_bytes_written;\n\tsize_t pg_count;\n\tsize_t pg_bsize;\n\tunsigned int pg_base;\n\tunsigned char pg_recoalesce: 1;\n};\n\nstruct nfs_pageio_ops;\n\nstruct nfs_rw_ops;\n\nstruct nfs_pgio_completion_ops;\n\nstruct nfs_pageio_descriptor {\n\tstruct inode *pg_inode;\n\tconst struct nfs_pageio_ops *pg_ops;\n\tconst struct nfs_rw_ops *pg_rw_ops;\n\tint pg_ioflags;\n\tint pg_error;\n\tconst struct rpc_call_ops *pg_rpc_callops;\n\tconst struct nfs_pgio_completion_ops *pg_completion_ops;\n\tstruct pnfs_layout_segment *pg_lseg;\n\tstruct nfs_io_completion *pg_io_completion;\n\tstruct nfs_direct_req *pg_dreq;\n\tunsigned int pg_bsize;\n\tu32 pg_mirror_count;\n\tstruct nfs_pgio_mirror *pg_mirrors;\n\tstruct nfs_pgio_mirror pg_mirrors_static[1];\n\tstruct nfs_pgio_mirror *pg_mirrors_dynamic;\n\tu32 pg_mirror_idx;\n\tshort unsigned int pg_maxretrans;\n\tunsigned char pg_moreio: 1;\n};\n\nstruct nfs_pageio_ops {\n\tvoid (*pg_init)(struct nfs_pageio_descriptor *, struct nfs_page *);\n\tsize_t (*pg_test)(struct nfs_pageio_descriptor *, struct nfs_page *, struct nfs_page *);\n\tint (*pg_doio)(struct nfs_pageio_descriptor *);\n\tunsigned int (*pg_get_mirror_count)(struct nfs_pageio_descriptor *, struct nfs_page *);\n\tvoid (*pg_cleanup)(struct nfs_pageio_descriptor *);\n\tstruct nfs_pgio_mirror * (*pg_get_mirror)(struct nfs_pageio_descriptor *, u32);\n\tu32 (*pg_set_mirror)(struct nfs_pageio_descriptor *, u32);\n};\n\nstruct nfs_pathconf {\n\tstruct nfs_fattr *fattr;\n\t__u32 max_link;\n\t__u32 max_namelen;\n};\n\nstruct nfs_pgio_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tstruct nfs_open_context *context;\n\tstruct nfs_lock_context *lock_context;\n\tnfs4_stateid stateid;\n\t__u64 offset;\n\t__u32 count;\n\tunsigned int pgbase;\n\tstruct page **pages;\n\tunion {\n\t\tunsigned int replen;\n\t\tstruct {\n\t\t\tconst u32 *bitmask;\n\t\t\tu32 bitmask_store[3];\n\t\t\tenum nfs3_stable_how stable;\n\t\t};\n\t};\n};\n\nstruct nfs_pgio_header;\n\nstruct nfs_pgio_completion_ops {\n\tvoid (*error_cleanup)(struct list_head *, int);\n\tvoid (*init_hdr)(struct nfs_pgio_header *);\n\tvoid (*completion)(struct nfs_pgio_header *);\n\tvoid (*reschedule_io)(struct nfs_pgio_header *);\n};\n\nstruct nfs_pgio_res {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\t__u64 count;\n\t__u32 op_status;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int replen;\n\t\t\tint eof;\n\t\t\tvoid *scratch;\n\t\t};\n\t\tstruct {\n\t\t\tstruct nfs_writeverf *verf;\n\t\t\tconst struct nfs_server *server;\n\t\t};\n\t};\n};\n\nstruct nfs_pgio_header {\n\tstruct inode *inode;\n\tconst struct cred *cred;\n\tstruct list_head pages;\n\tstruct nfs_page *req;\n\tstruct nfs_writeverf verf;\n\tfmode_t rw_mode;\n\tstruct pnfs_layout_segment *lseg;\n\tloff_t io_start;\n\tconst struct rpc_call_ops *mds_ops;\n\tvoid (*release)(struct nfs_pgio_header *);\n\tconst struct nfs_pgio_completion_ops *completion_ops;\n\tconst struct nfs_rw_ops *rw_ops;\n\tstruct nfs_io_completion *io_completion;\n\tstruct nfs_direct_req *dreq;\n\tint pnfs_error;\n\tint error;\n\tunsigned int good_bytes;\n\tlong unsigned int flags;\n\tstruct rpc_task task;\n\tstruct nfs_fattr fattr;\n\tstruct nfs_pgio_args args;\n\tstruct nfs_pgio_res res;\n\tlong unsigned int timestamp;\n\tint (*pgio_done_cb)(struct rpc_task *, struct nfs_pgio_header *);\n\t__u64 mds_offset;\n\tstruct nfs_page_array page_array;\n\tstruct nfs_client *ds_clp;\n\tu32 ds_commit_idx;\n\tu32 pgio_mirror_idx;\n};\n\nstruct nfs_readdir_arg {\n\tstruct dentry *dentry;\n\tconst struct cred *cred;\n\t__be32 *verf;\n\tu64 cookie;\n\tstruct page **pages;\n\tunsigned int page_len;\n\tbool plus;\n};\n\nstruct nfs_readdir_descriptor {\n\tstruct file *file;\n\tstruct folio *folio;\n\tstruct dir_context *ctx;\n\tlong unsigned int folio_index;\n\tlong unsigned int folio_index_max;\n\tu64 dir_cookie;\n\tu64 last_cookie;\n\tloff_t current_index;\n\t__be32 verf[2];\n\tlong unsigned int dir_verifier;\n\tlong unsigned int timestamp;\n\tlong unsigned int gencount;\n\tlong unsigned int attr_gencount;\n\tunsigned int cache_entry_index;\n\tunsigned int buffer_fills;\n\tunsigned int dtsize;\n\tbool clear_cache;\n\tbool plus;\n\tbool eob;\n\tbool eof;\n};\n\nstruct nfs_readdir_res {\n\t__be32 *verf;\n};\n\nstruct nfs_referral_count {\n\tstruct list_head list;\n\tconst struct task_struct *task;\n\tunsigned int referral_count;\n};\n\nstruct nfs_release_lockowner_args {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_lowner lock_owner;\n};\n\nstruct nfs_release_lockowner_res {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs_release_lockowner_data {\n\tstruct nfs4_lock_state *lsp;\n\tstruct nfs_server *server;\n\tstruct nfs_release_lockowner_args args;\n\tstruct nfs_release_lockowner_res res;\n\tlong unsigned int timestamp;\n};\n\nstruct nfs_removeargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *fh;\n\tstruct qstr name;\n};\n\nstruct nfs_removeres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_server *server;\n\tstruct nfs_fattr *dir_attr;\n\tstruct nfs4_change_info cinfo;\n};\n\nstruct nfs_renameargs {\n\tstruct nfs4_sequence_args seq_args;\n\tconst struct nfs_fh *old_dir;\n\tconst struct nfs_fh *new_dir;\n\tconst struct qstr *old_name;\n\tconst struct qstr *new_name;\n};\n\nstruct nfs_renameres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_server *server;\n\tstruct nfs4_change_info old_cinfo;\n\tstruct nfs_fattr *old_fattr;\n\tstruct nfs4_change_info new_cinfo;\n\tstruct nfs_fattr *new_fattr;\n};\n\nstruct nfs_renamedata {\n\tstruct nfs_renameargs args;\n\tstruct nfs_renameres res;\n\tstruct rpc_task task;\n\tconst struct cred *cred;\n\tstruct inode *old_dir;\n\tstruct dentry *old_dentry;\n\tstruct nfs_fattr old_fattr;\n\tstruct inode *new_dir;\n\tstruct dentry *new_dentry;\n\tstruct nfs_fattr new_fattr;\n\tvoid (*complete)(struct rpc_task *, struct nfs_renamedata *);\n\tlong int timeout;\n\tbool cancelled;\n};\n\nstruct nlmclnt_operations;\n\nstruct nfs_unlinkdata;\n\nstruct nfs_rpc_ops {\n\tu32 version;\n\tconst struct dentry_operations *dentry_ops;\n\tconst struct inode_operations *dir_inode_ops;\n\tconst struct inode_operations *file_inode_ops;\n\tconst struct file_operations *file_ops;\n\tconst struct nlmclnt_operations *nlmclnt_ops;\n\tint (*getroot)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tint (*submount)(struct fs_context *, struct nfs_server *);\n\tint (*try_get_tree)(struct fs_context *);\n\tint (*getattr)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, struct inode *);\n\tint (*setattr)(struct dentry *, struct nfs_fattr *, struct iattr *);\n\tint (*lookup)(struct inode *, struct dentry *, const struct qstr *, struct nfs_fh *, struct nfs_fattr *);\n\tint (*lookupp)(struct inode *, struct nfs_fh *, struct nfs_fattr *);\n\tint (*access)(struct inode *, struct nfs_access_entry *, const struct cred *);\n\tint (*readlink)(struct inode *, struct page *, unsigned int, unsigned int);\n\tint (*create)(struct inode *, struct dentry *, struct iattr *, int);\n\tint (*remove)(struct inode *, struct dentry *);\n\tvoid (*unlink_setup)(struct rpc_message *, struct dentry *, struct inode *);\n\tvoid (*unlink_rpc_prepare)(struct rpc_task *, struct nfs_unlinkdata *);\n\tint (*unlink_done)(struct rpc_task *, struct inode *);\n\tvoid (*rename_setup)(struct rpc_message *, struct dentry *, struct dentry *);\n\tvoid (*rename_rpc_prepare)(struct rpc_task *, struct nfs_renamedata *);\n\tint (*rename_done)(struct rpc_task *, struct inode *, struct inode *);\n\tint (*link)(struct inode *, struct inode *, const struct qstr *);\n\tint (*symlink)(struct inode *, struct dentry *, struct folio *, unsigned int, struct iattr *);\n\tint (*mkdir)(struct inode *, struct dentry *, struct iattr *);\n\tint (*rmdir)(struct inode *, const struct qstr *);\n\tint (*readdir)(struct nfs_readdir_arg *, struct nfs_readdir_res *);\n\tint (*mknod)(struct inode *, struct dentry *, struct iattr *, dev_t);\n\tint (*statfs)(struct nfs_server *, struct nfs_fh *, struct nfs_fsstat *);\n\tint (*fsinfo)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *);\n\tint (*pathconf)(struct nfs_server *, struct nfs_fh *, struct nfs_pathconf *);\n\tint (*set_capabilities)(struct nfs_server *, struct nfs_fh *);\n\tint (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, bool);\n\tint (*pgio_rpc_prepare)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*read_setup)(struct nfs_pgio_header *, struct rpc_message *);\n\tint (*read_done)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*write_setup)(struct nfs_pgio_header *, struct rpc_message *, struct rpc_clnt **);\n\tint (*write_done)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*commit_setup)(struct nfs_commit_data *, struct rpc_message *, struct rpc_clnt **);\n\tvoid (*commit_rpc_prepare)(struct rpc_task *, struct nfs_commit_data *);\n\tint (*commit_done)(struct rpc_task *, struct nfs_commit_data *);\n\tint (*lock)(struct file *, int, struct file_lock *);\n\tint (*lock_check_bounds)(const struct file_lock *);\n\tvoid (*clear_acl_cache)(struct inode *);\n\tvoid (*close_context)(struct nfs_open_context *, int);\n\tstruct inode * (*open_context)(struct inode *, struct nfs_open_context *, int, struct iattr *, int *);\n\tint (*have_delegation)(struct inode *, fmode_t, int);\n\tint (*return_delegation)(struct inode *);\n\tstruct nfs_client * (*alloc_client)(const struct nfs_client_initdata *);\n\tstruct nfs_client * (*init_client)(struct nfs_client *, const struct nfs_client_initdata *);\n\tvoid (*free_client)(struct nfs_client *);\n\tstruct nfs_server * (*create_server)(struct fs_context *);\n\tstruct nfs_server * (*clone_server)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, rpc_authflavor_t);\n\tint (*discover_trunking)(struct nfs_server *, struct nfs_fh *);\n\tvoid (*enable_swap)(struct inode *);\n\tvoid (*disable_swap)(struct inode *);\n};\n\nstruct rpc_task_setup;\n\nstruct nfs_rw_ops {\n\tstruct nfs_pgio_header * (*rw_alloc_header)(void);\n\tvoid (*rw_free_header)(struct nfs_pgio_header *);\n\tint (*rw_done)(struct rpc_task *, struct nfs_pgio_header *, struct inode *);\n\tvoid (*rw_result)(struct rpc_task *, struct nfs_pgio_header *);\n\tvoid (*rw_initiate)(struct nfs_pgio_header *, struct rpc_message *, const struct nfs_rpc_ops *, struct rpc_task_setup *, int);\n};\n\nstruct nfs_seqid {\n\tstruct nfs_seqid_counter *sequence;\n\tstruct list_head list;\n\tstruct rpc_task *task;\n};\n\nstruct nlm_host;\n\nstruct nfs_server {\n\tstruct nfs_client *nfs_client;\n\tstruct list_head client_link;\n\tstruct list_head master_link;\n\tstruct rpc_clnt *client;\n\tstruct rpc_clnt *client_acl;\n\tstruct nlm_host *nlm_host;\n\tstruct nfs_iostats *io_stats;\n\twait_queue_head_t write_congestion_wait;\n\tatomic_long_t writeback;\n\tunsigned int write_congested;\n\tunsigned int flags;\n\tunsigned int fattr_valid;\n\tunsigned int caps;\n\tunsigned int rsize;\n\tunsigned int rpages;\n\tunsigned int wsize;\n\tunsigned int wpages;\n\tunsigned int wtmult;\n\tunsigned int dtsize;\n\tshort unsigned int port;\n\tunsigned int bsize;\n\tunsigned int gxasize;\n\tunsigned int sxasize;\n\tunsigned int lxasize;\n\tunsigned int acregmin;\n\tunsigned int acregmax;\n\tunsigned int acdirmin;\n\tunsigned int acdirmax;\n\tunsigned int namelen;\n\tunsigned int options;\n\tunsigned int clone_blksize;\n\tenum nfs4_change_attr_type change_attr_type;\n\tstruct nfs_fsid fsid;\n\tint s_sysfs_id;\n\t__u64 maxfilesize;\n\tstruct timespec64 time_delta;\n\tlong unsigned int mount_time;\n\tstruct super_block *super;\n\tdev_t s_dev;\n\tstruct nfs_auth_info auth_info;\n\tu32 pnfs_blksize;\n\tu32 attr_bitmask[3];\n\tu32 attr_bitmask_nl[3];\n\tu32 exclcreat_bitmask[3];\n\tu32 cache_consistency_bitmask[3];\n\tu32 acl_bitmask;\n\tu32 fh_expire_type;\n\tstruct pnfs_layoutdriver_type *pnfs_curr_ld;\n\tstruct rpc_wait_queue roc_rpcwaitq;\n\tvoid *pnfs_ld_data;\n\tstruct rb_root state_owners;\n\tatomic64_t owner_ctr;\n\tstruct list_head state_owners_lru;\n\tstruct list_head layouts;\n\tstruct list_head delegations;\n\tstruct list_head ss_copies;\n\tstruct list_head ss_src_copies;\n\tlong unsigned int delegation_gen;\n\tlong unsigned int mig_gen;\n\tlong unsigned int mig_status;\n\tvoid (*destroy)(struct nfs_server *);\n\tatomic_t active;\n\tstruct __kernel_sockaddr_storage mountd_address;\n\tsize_t mountd_addrlen;\n\tu32 mountd_version;\n\tshort unsigned int mountd_port;\n\tshort unsigned int mountd_protocol;\n\tstruct rpc_wait_queue uoc_rpcwaitq;\n\tunsigned int read_hdrsize;\n\tconst struct cred *cred;\n\tbool has_sec_mnt_opts;\n\tstruct kobject kobj;\n\tstruct callback_head rcu;\n};\n\nstruct nfs_setaclargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tenum nfs4_acl_type acl_type;\n\tsize_t acl_len;\n\tstruct page **acl_pages;\n};\n\nstruct nfs_setaclres {\n\tstruct nfs4_sequence_res seq_res;\n};\n\nstruct nfs_setattrargs {\n\tstruct nfs4_sequence_args seq_args;\n\tstruct nfs_fh *fh;\n\tnfs4_stateid stateid;\n\tstruct iattr *iap;\n\tconst struct nfs_server *server;\n\tconst u32 *bitmask;\n\tconst struct nfs4_label *label;\n};\n\nstruct nfs_setattrres {\n\tstruct nfs4_sequence_res seq_res;\n\tstruct nfs_fattr *fattr;\n\tconst struct nfs_server *server;\n};\n\nstruct nfs_ssc_client_ops {\n\tvoid (*sco_sb_deactive)(struct super_block *);\n};\n\nstruct nfs_ssc_client_ops_tbl {\n\tconst struct nfs4_ssc_client_ops *ssc_nfs4_ops;\n\tconst struct nfs_ssc_client_ops *ssc_nfs_ops;\n};\n\nstruct rpc_version;\n\nstruct super_operations;\n\nstruct xattr_handler;\n\nstruct nfs_subversion {\n\tstruct module *owner;\n\tstruct file_system_type *nfs_fs;\n\tconst struct rpc_version *rpc_vers;\n\tconst struct nfs_rpc_ops *rpc_ops;\n\tconst struct super_operations *sops;\n\tconst struct xattr_handler * const *xattr;\n};\n\nstruct nfs_unlinkdata {\n\tstruct nfs_removeargs args;\n\tstruct nfs_removeres res;\n\tstruct dentry *dentry;\n\twait_queue_head_t wq;\n\tconst struct cred *cred;\n\tstruct nfs_fattr dir_attr;\n\tlong int timeout;\n};\n\nstruct nh_config {\n\tu32 nh_id;\n\tu8 nh_family;\n\tu8 nh_protocol;\n\tu8 nh_blackhole;\n\tu8 nh_fdb;\n\tu32 nh_flags;\n\tint nh_ifindex;\n\tstruct net_device *dev;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t} gw;\n\tstruct nlattr *nh_grp;\n\tu16 nh_grp_type;\n\tu16 nh_grp_res_num_buckets;\n\tlong unsigned int nh_grp_res_idle_timer;\n\tlong unsigned int nh_grp_res_unbalanced_timer;\n\tbool nh_grp_res_has_num_buckets;\n\tbool nh_grp_res_has_idle_timer;\n\tbool nh_grp_res_has_unbalanced_timer;\n\tbool nh_hw_stats;\n\tstruct nlattr *nh_encap;\n\tu16 nh_encap_type;\n\tu32 nlflags;\n\tstruct nl_info nlinfo;\n};\n\nstruct nh_dump_filter {\n\tu32 nh_id;\n\tint dev_idx;\n\tint master_idx;\n\tbool group_filter;\n\tbool fdb_filter;\n\tu32 res_bucket_nh_id;\n\tu32 op_flags;\n};\n\nstruct nh_grp_entry_stats;\n\nstruct nh_grp_entry {\n\tstruct nexthop *nh;\n\tstruct nh_grp_entry_stats *stats;\n\tu16 weight;\n\tunion {\n\t\tstruct {\n\t\t\tatomic_t upper_bound;\n\t\t} hthr;\n\t\tstruct {\n\t\t\tstruct list_head uw_nh_entry;\n\t\t\tu16 count_buckets;\n\t\t\tu16 wants_buckets;\n\t\t} res;\n\t};\n\tstruct list_head nh_list;\n\tstruct nexthop *nh_parent;\n\tu64 packets_hw;\n};\n\nstruct nh_res_table;\n\nstruct nh_group {\n\tstruct nh_group *spare;\n\tu16 num_nh;\n\tbool is_multipath;\n\tbool hash_threshold;\n\tbool resilient;\n\tbool fdb_nh;\n\tbool has_v4;\n\tbool hw_stats;\n\tstruct nh_res_table *res_table;\n\tstruct nh_grp_entry nh_entries[0];\n};\n\nstruct nh_grp_entry_stats {\n\tu64_stats_t packets;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct nh_info {\n\tstruct hlist_node dev_hash;\n\tstruct nexthop *nh_parent;\n\tu8 family;\n\tbool reject_nh;\n\tbool fdb_nh;\n\tunion {\n\t\tstruct fib_nh_common fib_nhc;\n\t\tstruct fib_nh fib_nh;\n\t\tstruct fib6_nh fib6_nh;\n\t};\n};\n\nstruct nh_notifier_single_info {\n\tstruct net_device *dev;\n\tu8 gw_family;\n\tunion {\n\t\t__be32 ipv4;\n\t\tstruct in6_addr ipv6;\n\t};\n\tu32 id;\n\tu8 is_reject: 1;\n\tu8 is_fdb: 1;\n\tu8 has_encap: 1;\n};\n\nstruct nh_notifier_grp_entry_info {\n\tu16 weight;\n\tstruct nh_notifier_single_info nh;\n};\n\nstruct nh_notifier_grp_hw_stats_entry_info {\n\tu32 id;\n\tu64 packets;\n};\n\nstruct nh_notifier_grp_hw_stats_info {\n\tu16 num_nh;\n\tbool hw_stats_used;\n\tstruct nh_notifier_grp_hw_stats_entry_info stats[0];\n};\n\nstruct nh_notifier_grp_info {\n\tu16 num_nh;\n\tbool is_fdb;\n\tbool hw_stats;\n\tstruct nh_notifier_grp_entry_info nh_entries[0];\n};\n\nstruct nh_notifier_res_table_info;\n\nstruct nh_notifier_res_bucket_info;\n\nstruct nh_notifier_info {\n\tstruct net *net;\n\tstruct netlink_ext_ack *extack;\n\tu32 id;\n\tenum nh_notifier_info_type type;\n\tunion {\n\t\tstruct nh_notifier_single_info *nh;\n\t\tstruct nh_notifier_grp_info *nh_grp;\n\t\tstruct nh_notifier_res_table_info *nh_res_table;\n\t\tstruct nh_notifier_res_bucket_info *nh_res_bucket;\n\t\tstruct nh_notifier_grp_hw_stats_info *nh_grp_hw_stats;\n\t};\n};\n\nstruct nh_notifier_res_bucket_info {\n\tu16 bucket_index;\n\tunsigned int idle_timer_ms;\n\tbool force;\n\tstruct nh_notifier_single_info old_nh;\n\tstruct nh_notifier_single_info new_nh;\n};\n\nstruct nh_notifier_res_table_info {\n\tu16 num_nh_buckets;\n\tbool hw_stats;\n\tstruct nh_notifier_single_info nhs[0];\n};\n\nstruct nh_res_bucket {\n\tstruct nh_grp_entry *nh_entry;\n\tatomic_long_t used_time;\n\tlong unsigned int migrated_time;\n\tbool occupied;\n\tu8 nh_flags;\n};\n\nstruct nh_res_table {\n\tstruct net *net;\n\tu32 nhg_id;\n\tstruct delayed_work upkeep_dw;\n\tstruct list_head uw_nh_entries;\n\tlong unsigned int unbalanced_since;\n\tu32 idle_timer;\n\tu32 unbalanced_timer;\n\tu16 num_nh_buckets;\n\tstruct nh_res_bucket nh_buckets[0];\n};\n\nstruct nhmsg {\n\tunsigned char nh_family;\n\tunsigned char nh_scope;\n\tunsigned char nh_protocol;\n\tunsigned char resvd;\n\tunsigned int nh_flags;\n};\n\nstruct nl_pktinfo {\n\t__u32 group;\n};\n\nstruct rhashtable_walker {\n\tstruct list_head list;\n\tstruct bucket_table *tbl;\n};\n\nstruct rhlist_head;\n\nstruct rhashtable_iter {\n\tstruct rhashtable *ht;\n\tstruct rhash_head *p;\n\tstruct rhlist_head *list;\n\tstruct rhashtable_walker walker;\n\tunsigned int slot;\n\tunsigned int skip;\n\tbool end_of_table;\n};\n\nstruct nl_seq_iter {\n\tstruct seq_net_private p;\n\tstruct rhashtable_iter hti;\n\tint link;\n};\n\nstruct nla_bitfield32 {\n\t__u32 value;\n\t__u32 selector;\n};\n\nstruct nla_policy {\n\tu8 type;\n\tu8 validation_type;\n\tu16 len;\n\tunion {\n\t\tu16 strict_start_type;\n\t\tconst u32 bitfield32_valid;\n\t\tconst u32 mask;\n\t\tconst char *reject_message;\n\t\tconst struct nla_policy *nested_policy;\n\t\tconst struct netlink_range_validation *range;\n\t\tconst struct netlink_range_validation_signed *range_signed;\n\t\tstruct {\n\t\t\ts16 min;\n\t\t\ts16 max;\n\t\t};\n\t\tint (*validate)(const struct nlattr *, struct netlink_ext_ack *);\n\t};\n};\n\nstruct nlattr {\n\t__u16 nla_len;\n\t__u16 nla_type;\n};\n\nstruct nlm_cookie {\n\tunsigned char data[32];\n\tunsigned int len;\n};\n\nstruct nlm_lock {\n\tchar *caller;\n\tunsigned int len;\n\tstruct nfs_fh fh;\n\tstruct xdr_netobj oh;\n\tu32 svid;\n\tu64 lock_start;\n\tu64 lock_len;\n\tstruct file_lock fl;\n};\n\nstruct nlm_args {\n\tstruct nlm_cookie cookie;\n\tstruct nlm_lock lock;\n\tu32 block;\n\tu32 reclaim;\n\tu32 state;\n\tu32 monitor;\n\tu32 fsm_access;\n\tu32 fsm_mode;\n};\n\nstruct nlm_rqst;\n\nstruct nlm_file;\n\nstruct nlm_block {\n\tstruct kref b_count;\n\tstruct list_head b_list;\n\tstruct list_head b_flist;\n\tstruct nlm_rqst *b_call;\n\tstruct svc_serv *b_daemon;\n\tstruct nlm_host *b_host;\n\tlong unsigned int b_when;\n\tunsigned int b_id;\n\tunsigned char b_granted;\n\tstruct nlm_file *b_file;\n\tstruct cache_req *b_cache_req;\n\tstruct cache_deferred_req *b_deferred_req;\n\tunsigned int b_flags;\n};\n\nstruct nlm_share;\n\nstruct nlm_file {\n\tstruct hlist_node f_list;\n\tstruct nfs_fh f_handle;\n\tstruct file *f_file[2];\n\tstruct nlm_share *f_shares;\n\tstruct list_head f_blocks;\n\tunsigned int f_locks;\n\tunsigned int f_count;\n\tstruct mutex f_mutex;\n};\n\nstruct nsm_handle;\n\nstruct nlm_host {\n\tstruct hlist_node h_hash;\n\tstruct __kernel_sockaddr_storage h_addr;\n\tsize_t h_addrlen;\n\tstruct __kernel_sockaddr_storage h_srcaddr;\n\tsize_t h_srcaddrlen;\n\tstruct rpc_clnt *h_rpcclnt;\n\tchar *h_name;\n\tu32 h_version;\n\tshort unsigned int h_proto;\n\tshort unsigned int h_reclaiming: 1;\n\tshort unsigned int h_server: 1;\n\tshort unsigned int h_noresvport: 1;\n\tshort unsigned int h_inuse: 1;\n\twait_queue_head_t h_gracewait;\n\tstruct rw_semaphore h_rwsem;\n\tu32 h_state;\n\tu32 h_nsmstate;\n\tu32 h_pidcount;\n\trefcount_t h_count;\n\tstruct mutex h_mutex;\n\tlong unsigned int h_nextrebind;\n\tlong unsigned int h_expires;\n\tstruct list_head h_lockowners;\n\tspinlock_t h_lock;\n\tstruct list_head h_granted;\n\tstruct list_head h_reclaim;\n\tstruct nsm_handle *h_nsmhandle;\n\tchar *h_addrbuf;\n\tstruct net *net;\n\tconst struct cred *h_cred;\n\tchar nodename[65];\n\tconst struct nlmclnt_operations *h_nlmclnt_ops;\n};\n\nstruct nlm_lockowner {\n\tstruct list_head list;\n\trefcount_t count;\n\tstruct nlm_host *host;\n\tfl_owner_t owner;\n\tuint32_t pid;\n};\n\nstruct nlm_lookup_host_info {\n\tconst int server;\n\tconst struct sockaddr *sap;\n\tconst size_t salen;\n\tconst short unsigned int protocol;\n\tconst u32 version;\n\tconst char *hostname;\n\tconst size_t hostname_len;\n\tconst int noresvport;\n\tstruct net *net;\n\tconst struct cred *cred;\n};\n\nstruct nsm_private {\n\tunsigned char data[16];\n};\n\nstruct nlm_reboot {\n\tchar *mon;\n\tunsigned int len;\n\tu32 state;\n\tstruct nsm_private priv;\n};\n\nstruct nlm_res {\n\tstruct nlm_cookie cookie;\n\t__be32 status;\n\tstruct nlm_lock lock;\n};\n\nstruct nlm_rqst {\n\trefcount_t a_count;\n\tunsigned int a_flags;\n\tstruct nlm_host *a_host;\n\tstruct nlm_args a_args;\n\tstruct nlm_res a_res;\n\tstruct nlm_block *a_block;\n\tunsigned int a_retries;\n\tu8 a_owner[74];\n\tvoid *a_callback_data;\n};\n\nstruct nlm_share {\n\tstruct nlm_share *s_next;\n\tstruct nlm_host *s_host;\n\tstruct nlm_file *s_file;\n\tstruct xdr_netobj s_owner;\n\tu32 s_access;\n\tu32 s_mode;\n};\n\nstruct nlm_wait {\n\tstruct list_head b_list;\n\twait_queue_head_t b_wait;\n\tstruct nlm_host *b_host;\n\tstruct file_lock *b_lock;\n\t__be32 b_status;\n};\n\nstruct nlmclnt_initdata {\n\tconst char *hostname;\n\tconst struct sockaddr *address;\n\tsize_t addrlen;\n\tshort unsigned int protocol;\n\tu32 nfs_version;\n\tint noresvport;\n\tstruct net *net;\n\tconst struct nlmclnt_operations *nlmclnt_ops;\n\tconst struct cred *cred;\n};\n\nstruct nlmclnt_operations {\n\tvoid (*nlmclnt_alloc_call)(void *);\n\tbool (*nlmclnt_unlock_prepare)(struct rpc_task *, void *);\n\tvoid (*nlmclnt_release_call)(void *);\n};\n\nstruct nlmsg_perm {\n\tu16 nlmsg_type;\n\tu32 perm;\n};\n\nstruct nlmsghdr {\n\t__u32 nlmsg_len;\n\t__u16 nlmsg_type;\n\t__u16 nlmsg_flags;\n\t__u32 nlmsg_seq;\n\t__u32 nlmsg_pid;\n};\n\nstruct nlmsgerr {\n\tint error;\n\tstruct nlmsghdr msg;\n};\n\nstruct nlmsvc_binding {\n\t__be32 (*fopen)(struct svc_rqst *, struct nfs_fh *, struct file **, int);\n\tvoid (*fclose)(struct file *);\n};\n\nstruct nls_table {\n\tconst char *charset;\n\tconst char *alias;\n\tint (*uni2char)(wchar_t, unsigned char *, int);\n\tint (*char2uni)(const unsigned char *, int, wchar_t *);\n\tconst unsigned char *charset2lower;\n\tconst unsigned char *charset2upper;\n\tstruct module *owner;\n\tstruct nls_table *next;\n};\n\nstruct node_groups {\n\tunsigned int id;\n\tunion {\n\t\tunsigned int ngroups;\n\t\tunsigned int ncpus;\n\t};\n};\n\nstruct notification {\n\tatomic_t requests;\n\tu32 flags;\n\tu64 next_id;\n\tstruct list_head notifications;\n};\n\nstruct ns_get_path_bpf_map_args {\n\tstruct bpf_offloaded_map *offmap;\n\tstruct bpf_map_info *info;\n};\n\nstruct ns_get_path_bpf_prog_args {\n\tstruct bpf_prog *prog;\n\tstruct bpf_prog_info *info;\n};\n\nstruct ns_get_path_task_args {\n\tconst struct proc_ns_operations *ns_ops;\n\tstruct task_struct *task;\n};\n\nstruct nsm_args {\n\tstruct nsm_private *priv;\n\tu32 prog;\n\tu32 vers;\n\tu32 proc;\n\tchar *mon_name;\n\tconst char *nodename;\n};\n\nstruct nsm_handle {\n\tstruct list_head sm_link;\n\trefcount_t sm_count;\n\tchar *sm_mon_name;\n\tchar *sm_name;\n\tstruct __kernel_sockaddr_storage sm_addr;\n\tsize_t sm_addrlen;\n\tunsigned int sm_monitored: 1;\n\tunsigned int sm_sticky: 1;\n\tstruct nsm_private sm_priv;\n\tchar sm_addrbuf[51];\n};\n\nstruct nsm_res {\n\tu32 status;\n\tu32 state;\n};\n\nstruct uts_namespace;\n\nstruct time_namespace;\n\nstruct nsproxy {\n\trefcount_t count;\n\tstruct uts_namespace *uts_ns;\n\tstruct ipc_namespace *ipc_ns;\n\tstruct mnt_namespace *mnt_ns;\n\tstruct pid_namespace *pid_ns_for_children;\n\tstruct net *net_ns;\n\tstruct time_namespace *time_ns;\n\tstruct time_namespace *time_ns_for_children;\n\tstruct cgroup_namespace *cgroup_ns;\n};\n\nstruct nsset {\n\tunsigned int flags;\n\tstruct nsproxy *nsproxy;\n\tstruct fs_struct *fs;\n\tconst struct cred *cred;\n};\n\nstruct nt_partition_info {\n\tu32 xlink_enabled;\n\tu32 target_part_low;\n\tu32 target_part_high;\n\tu32 reserved;\n};\n\nstruct ntb_ctrl_regs {\n\tu32 partition_status;\n\tu32 partition_op;\n\tu32 partition_ctrl;\n\tu32 bar_setup;\n\tu32 bar_error;\n\tu16 lut_table_entries;\n\tu16 lut_table_offset;\n\tu32 lut_error;\n\tu16 req_id_table_size;\n\tu16 req_id_table_offset;\n\tu32 req_id_error;\n\tu32 reserved1[7];\n\tstruct {\n\t\tu32 ctl;\n\t\tu32 win_size;\n\t\tu64 xlate_addr;\n\t} bar_entry[6];\n\tstruct {\n\t\tu32 win_size;\n\t\tu32 reserved[3];\n\t} bar_ext_entry[6];\n\tu32 reserved2[192];\n\tu32 req_id_table[512];\n\tu32 reserved3[256];\n\tu64 lut_entry[512];\n};\n\nstruct ntb_info_regs {\n\tu8 partition_count;\n\tu8 partition_id;\n\tu16 reserved1;\n\tu64 ep_map;\n\tu16 requester_id;\n\tu16 reserved2;\n\tu32 reserved3[4];\n\tstruct nt_partition_info ntp_info[48];\n} __attribute__((packed));\n\nstruct ntp_data {\n\tlong unsigned int tick_usec;\n\tu64 tick_length;\n\tu64 tick_length_base;\n\tint time_state;\n\tint time_status;\n\ts64 time_offset;\n\tlong int time_constant;\n\tlong int time_maxerror;\n\tlong int time_esterror;\n\ts64 time_freq;\n\ttime64_t time_reftime;\n\tlong int time_adjust;\n\ts64 ntp_tick_adj;\n\ttime64_t ntp_next_leap_sec;\n};\n\nstruct nvdimm_security_ops;\n\nstruct nvdimm_fw_ops;\n\nstruct nvdimm {\n\tlong unsigned int flags;\n\tvoid *provider_data;\n\tlong unsigned int cmd_mask;\n\tstruct device dev;\n\tatomic_t busy;\n\tint id;\n\tint num_flush;\n\tstruct resource *flush_wpq;\n\tconst char *dimm_id;\n\tstruct {\n\t\tconst struct nvdimm_security_ops *ops;\n\t\tlong unsigned int flags;\n\t\tlong unsigned int ext_flags;\n\t\tunsigned int overwrite_tmo;\n\t\tstruct kernfs_node *overwrite_state;\n\t} sec;\n\tstruct delayed_work dwork;\n\tconst struct nvdimm_fw_ops *fw_ops;\n};\n\nstruct nvdimm_bus_descriptor;\n\nstruct nvdimm_bus {\n\tstruct nvdimm_bus_descriptor *nd_desc;\n\twait_queue_head_t wait;\n\tstruct list_head list;\n\tstruct device dev;\n\tint id;\n\tint probe_active;\n\tatomic_t ioctl_active;\n\tstruct list_head mapping_list;\n\tstruct mutex reconfig_mutex;\n\tstruct badrange badrange;\n};\n\ntypedef int (*ndctl_fn)(struct nvdimm_bus_descriptor *, struct nvdimm *, unsigned int, void *, unsigned int, int *);\n\nstruct nvdimm_bus_fw_ops;\n\nstruct nvdimm_bus_descriptor {\n\tconst struct attribute_group **attr_groups;\n\tlong unsigned int cmd_mask;\n\tlong unsigned int dimm_family_mask;\n\tlong unsigned int bus_family_mask;\n\tstruct module *module;\n\tchar *provider_name;\n\tstruct device_node *of_node;\n\tndctl_fn ndctl;\n\tint (*flush_probe)(struct nvdimm_bus_descriptor *);\n\tint (*clear_to_send)(struct nvdimm_bus_descriptor *, struct nvdimm *, unsigned int, void *);\n\tconst struct nvdimm_bus_fw_ops *fw_ops;\n};\n\nstruct nvdimm_bus_fw_ops {\n\tenum nvdimm_fwa_state (*activate_state)(struct nvdimm_bus_descriptor *);\n\tenum nvdimm_fwa_capability (*capability)(struct nvdimm_bus_descriptor *);\n\tint (*activate)(struct nvdimm_bus_descriptor *);\n};\n\nstruct nvdimm_drvdata {\n\tstruct device *dev;\n\tint nslabel_size;\n\tstruct nd_cmd_get_config_size nsarea;\n\tvoid *data;\n\tbool cxl;\n\tint ns_current;\n\tint ns_next;\n\tstruct resource dpa;\n\tstruct kref kref;\n};\n\nstruct nvdimm_fw_ops {\n\tenum nvdimm_fwa_state (*activate_state)(struct nvdimm *);\n\tenum nvdimm_fwa_result (*activate_result)(struct nvdimm *);\n\tint (*arm)(struct nvdimm *, enum nvdimm_fwa_trigger);\n};\n\nstruct nvdimm_key_data {\n\tu8 data[32];\n};\n\nstruct nvdimm_map {\n\tstruct nvdimm_bus *nvdimm_bus;\n\tstruct list_head list;\n\tresource_size_t offset;\n\tlong unsigned int flags;\n\tsize_t size;\n\tunion {\n\t\tvoid *mem;\n\t\tvoid *iomem;\n\t};\n\tstruct kref kref;\n};\n\nstruct perf_cpu_pmu_context;\n\nstruct perf_event_pmu_context;\n\nstruct perf_output_handle;\n\nstruct pmu {\n\tstruct list_head entry;\n\tstruct module *module;\n\tstruct device *dev;\n\tstruct device *parent;\n\tconst struct attribute_group **attr_groups;\n\tconst struct attribute_group **attr_update;\n\tconst char *name;\n\tint type;\n\tint capabilities;\n\tunsigned int scope;\n\tint *pmu_disable_count;\n\tstruct perf_cpu_pmu_context *cpu_pmu_context;\n\tatomic_t exclusive_cnt;\n\tint task_ctx_nr;\n\tint hrtimer_interval_ms;\n\tunsigned int nr_addr_filters;\n\tvoid (*pmu_enable)(struct pmu *);\n\tvoid (*pmu_disable)(struct pmu *);\n\tint (*event_init)(struct perf_event *);\n\tvoid (*event_mapped)(struct perf_event *, struct mm_struct *);\n\tvoid (*event_unmapped)(struct perf_event *, struct mm_struct *);\n\tint (*add)(struct perf_event *, int);\n\tvoid (*del)(struct perf_event *, int);\n\tvoid (*start)(struct perf_event *, int);\n\tvoid (*stop)(struct perf_event *, int);\n\tvoid (*read)(struct perf_event *);\n\tvoid (*start_txn)(struct pmu *, unsigned int);\n\tint (*commit_txn)(struct pmu *);\n\tvoid (*cancel_txn)(struct pmu *);\n\tint (*event_idx)(struct perf_event *);\n\tvoid (*sched_task)(struct perf_event_pmu_context *, bool);\n\tstruct kmem_cache *task_ctx_cache;\n\tvoid (*swap_task_ctx)(struct perf_event_pmu_context *, struct perf_event_pmu_context *);\n\tvoid * (*setup_aux)(struct perf_event *, void **, int, bool);\n\tvoid (*free_aux)(void *);\n\tlong int (*snapshot_aux)(struct perf_event *, struct perf_output_handle *, long unsigned int);\n\tint (*addr_filters_validate)(struct list_head *);\n\tvoid (*addr_filters_sync)(struct perf_event *);\n\tint (*aux_output_match)(struct perf_event *);\n\tbool (*filter)(struct pmu *, int);\n\tint (*check_period)(struct perf_event *, u64);\n};\n\nstruct nvdimm_pmu {\n\tstruct pmu pmu;\n\tstruct device *dev;\n\tint cpu;\n\tstruct hlist_node node;\n\tenum cpuhp_state cpuhp_state;\n\tstruct cpumask arch_cpumask;\n};\n\nstruct nvdimm_security_ops {\n\tlong unsigned int (*get_flags)(struct nvdimm *, enum nvdimm_passphrase_type);\n\tint (*freeze)(struct nvdimm *);\n\tint (*change_key)(struct nvdimm *, const struct nvdimm_key_data *, const struct nvdimm_key_data *, enum nvdimm_passphrase_type);\n\tint (*unlock)(struct nvdimm *, const struct nvdimm_key_data *);\n\tint (*disable)(struct nvdimm *, const struct nvdimm_key_data *);\n\tint (*erase)(struct nvdimm *, const struct nvdimm_key_data *, enum nvdimm_passphrase_type);\n\tint (*overwrite)(struct nvdimm *, const struct nvdimm_key_data *);\n\tint (*query_overwrite)(struct nvdimm *);\n\tint (*disable_master)(struct nvdimm *, const struct nvdimm_key_data *);\n};\n\nstruct nvmem_cell_entry;\n\nstruct nvmem_cell {\n\tstruct nvmem_cell_entry *entry;\n\tconst char *id;\n\tint index;\n};\n\ntypedef int (*nvmem_cell_post_process_t)(void *, const char *, int, unsigned int, void *, size_t);\n\nstruct nvmem_cell_entry {\n\tconst char *name;\n\tint offset;\n\tsize_t raw_len;\n\tint bytes;\n\tint bit_offset;\n\tint nbits;\n\tnvmem_cell_post_process_t read_post_process;\n\tvoid *priv;\n\tstruct device_node *np;\n\tstruct nvmem_device *nvmem;\n\tstruct list_head node;\n};\n\nstruct nvmem_cell_info {\n\tconst char *name;\n\tunsigned int offset;\n\tsize_t raw_len;\n\tunsigned int bytes;\n\tunsigned int bit_offset;\n\tunsigned int nbits;\n\tstruct device_node *np;\n\tnvmem_cell_post_process_t read_post_process;\n\tvoid *priv;\n};\n\nstruct nvmem_cell_lookup {\n\tconst char *nvmem_name;\n\tconst char *cell_name;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct list_head node;\n};\n\nstruct nvmem_cell_table {\n\tconst char *nvmem_name;\n\tconst struct nvmem_cell_info *cells;\n\tsize_t ncells;\n\tstruct list_head node;\n};\n\ntypedef int (*nvmem_reg_read_t)(void *, unsigned int, void *, size_t);\n\ntypedef int (*nvmem_reg_write_t)(void *, unsigned int, void *, size_t);\n\nstruct nvmem_keepout;\n\nstruct nvmem_layout;\n\nstruct nvmem_config {\n\tstruct device *dev;\n\tconst char *name;\n\tint id;\n\tstruct module *owner;\n\tconst struct nvmem_cell_info *cells;\n\tint ncells;\n\tbool add_legacy_fixed_of_cells;\n\tvoid (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *);\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n\tenum nvmem_type type;\n\tbool read_only;\n\tbool root_only;\n\tbool ignore_wp;\n\tstruct nvmem_layout *layout;\n\tstruct device_node *of_node;\n\tnvmem_reg_read_t reg_read;\n\tnvmem_reg_write_t reg_write;\n\tint size;\n\tint word_size;\n\tint stride;\n\tvoid *priv;\n\tbool compat;\n\tstruct device *base_dev;\n};\n\nstruct nvmem_device {\n\tstruct module *owner;\n\tstruct device dev;\n\tstruct list_head node;\n\tint stride;\n\tint word_size;\n\tint id;\n\tstruct kref refcnt;\n\tsize_t size;\n\tbool read_only;\n\tbool root_only;\n\tint flags;\n\tenum nvmem_type type;\n\tstruct bin_attribute eeprom;\n\tstruct device *base_dev;\n\tstruct list_head cells;\n\tvoid (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *);\n\tconst struct nvmem_keepout *keepout;\n\tunsigned int nkeepout;\n\tnvmem_reg_read_t reg_read;\n\tnvmem_reg_write_t reg_write;\n\tstruct gpio_desc *wp_gpio;\n\tstruct nvmem_layout *layout;\n\tvoid *priv;\n\tbool sysfs_cells_populated;\n};\n\nstruct nvmem_keepout {\n\tunsigned int start;\n\tunsigned int end;\n\tunsigned char value;\n};\n\nstruct nvmem_layout {\n\tstruct device dev;\n\tstruct nvmem_device *nvmem;\n\tint (*add_cells)(struct nvmem_layout *);\n};\n\nstruct nvmem_layout_driver {\n\tstruct device_driver driver;\n\tint (*probe)(struct nvmem_layout *);\n\tvoid (*remove)(struct nvmem_layout *);\n};\n\nstruct nvs_region {\n\t__u64 phys_start;\n\t__u64 size;\n\tstruct list_head node;\n};\n\nstruct obj_cgroup {\n\tstruct percpu_ref refcnt;\n\tstruct mem_cgroup *memcg;\n\tatomic_t nr_charged_bytes;\n\tunion {\n\t\tstruct list_head list;\n\t\tstruct callback_head rcu;\n\t};\n};\n\nstruct objpool_head;\n\ntypedef int (*objpool_fini_cb)(struct objpool_head *, void *);\n\nstruct objpool_slot;\n\nstruct objpool_head {\n\tint obj_size;\n\tint nr_objs;\n\tint nr_possible_cpus;\n\tint capacity;\n\tgfp_t gfp;\n\trefcount_t ref;\n\tlong unsigned int flags;\n\tstruct objpool_slot **cpu_slots;\n\tobjpool_fini_cb release;\n\tvoid *context;\n};\n\nstruct objpool_slot {\n\tuint32_t head;\n\tuint32_t tail;\n\tuint32_t last;\n\tuint32_t mask;\n\tvoid *entries[0];\n};\n\nstruct obs_kernel_param {\n\tconst char *str;\n\tint (*setup_func)(char *);\n\tint early;\n};\n\nstruct ocontext {\n\tunion {\n\t\tchar *name;\n\t\tstruct {\n\t\t\tu8 protocol;\n\t\t\tu16 low_port;\n\t\t\tu16 high_port;\n\t\t} port;\n\t\tstruct {\n\t\t\tu32 addr;\n\t\t\tu32 mask;\n\t\t} node;\n\t\tstruct {\n\t\t\tu32 addr[4];\n\t\t\tu32 mask[4];\n\t\t} node6;\n\t\tstruct {\n\t\t\tu64 subnet_prefix;\n\t\t\tu16 low_pkey;\n\t\t\tu16 high_pkey;\n\t\t} ibpkey;\n\t\tstruct {\n\t\t\tchar *dev_name;\n\t\t\tu8 port;\n\t\t} ibendport;\n\t} u;\n\tunion {\n\t\tu32 sclass;\n\t\tu32 behavior;\n\t} v;\n\tstruct context context[2];\n\tu32 sid[2];\n\tstruct ocontext *next;\n};\n\nstruct od_dbs_tuners {\n\tunsigned int powersave_bias;\n};\n\nstruct od_ops {\n\tunsigned int (*powersave_bias_target)(struct cpufreq_policy *, unsigned int, unsigned int);\n};\n\nstruct policy_dbs_info {\n\tstruct cpufreq_policy *policy;\n\tstruct mutex update_mutex;\n\tu64 last_sample_time;\n\ts64 sample_delay_ns;\n\tatomic_t work_count;\n\tstruct irq_work irq_work;\n\tstruct work_struct work;\n\tstruct dbs_data *dbs_data;\n\tstruct list_head list;\n\tunsigned int rate_mult;\n\tunsigned int idle_periods;\n\tbool is_shared;\n\tbool work_in_progress;\n};\n\nstruct od_policy_dbs_info {\n\tstruct policy_dbs_info policy_dbs;\n\tunsigned int freq_lo;\n\tunsigned int freq_lo_delay_us;\n\tunsigned int freq_hi_delay_us;\n\tunsigned int sample_type: 1;\n};\n\nstruct of_bus {\n\tvoid (*count_cells)(const void *, int, int *, int *);\n\tu64 (*map)(__be32 *, const __be32 *, int, int, int);\n\tint (*translate)(__be32 *, u64, int);\n};\n\nstruct of_bus___2 {\n\tconst char *name;\n\tconst char *addresses;\n\tint (*match)(struct device_node *);\n\tvoid (*count_cells)(struct device_node *, int *, int *);\n\tu64 (*map)(__be32 *, const __be32 *, int, int, int, int);\n\tint (*translate)(__be32 *, u64, int);\n\tint flag_cells;\n\tunsigned int (*get_flags)(const __be32 *);\n};\n\nstruct of_clk_provider {\n\tstruct list_head link;\n\tstruct device_node *node;\n\tstruct clk * (*get)(struct of_phandle_args *, void *);\n\tstruct clk_hw * (*get_hw)(struct of_phandle_args *, void *);\n\tvoid *data;\n};\n\nstruct of_dev_auxdata {\n\tchar *compatible;\n\tresource_size_t phys_addr;\n\tchar *name;\n\tvoid *platform_data;\n};\n\nstruct of_device_id {\n\tchar name[32];\n\tchar type[32];\n\tchar compatible[128];\n\tconst void *data;\n};\n\nstruct of_dma {\n\tstruct list_head of_dma_controllers;\n\tstruct device_node *of_node;\n\tstruct dma_chan * (*of_dma_xlate)(struct of_phandle_args *, struct of_dma *);\n\tvoid * (*of_dma_route_allocate)(struct of_phandle_args *, struct of_dma *);\n\tstruct dma_router *dma_router;\n\tvoid *of_dma_data;\n};\n\nstruct of_dma_filter_info {\n\tdma_cap_mask_t dma_cap;\n\tdma_filter_fn filter_fn;\n};\n\nstruct of_endpoint {\n\tunsigned int port;\n\tunsigned int id;\n\tconst struct device_node *local_node;\n};\n\nstruct of_genpd_provider {\n\tstruct list_head link;\n\tstruct device_node *node;\n\tgenpd_xlate_t xlate;\n\tvoid *data;\n};\n\ntypedef int (*of_irq_init_cb_t)(struct device_node *, struct device_node *);\n\nstruct of_intc_desc {\n\tstruct list_head list;\n\tof_irq_init_cb_t irq_init_cb;\n\tstruct device_node *dev;\n\tstruct device_node *interrupt_parent;\n};\n\nstruct of_mmc_spi {\n\tstruct mmc_spi_platform_data pdata;\n\tint detect_irq;\n};\n\nstruct of_pci_iommu_alias_info {\n\tstruct device *dev;\n\tstruct device_node *np;\n};\n\nstruct of_pci_range {\n\tunion {\n\t\tu64 pci_addr;\n\t\tu64 bus_addr;\n\t};\n\tu64 cpu_addr;\n\tu64 parent_bus_addr;\n\tu64 size;\n\tu32 flags;\n};\n\nstruct of_pci_range_parser {\n\tstruct device_node *node;\n\tconst struct of_bus___2 *bus;\n\tconst __be32 *range;\n\tconst __be32 *end;\n\tint na;\n\tint ns;\n\tint pna;\n\tbool dma;\n};\n\nstruct of_phandle_args {\n\tstruct device_node *np;\n\tint args_count;\n\tuint32_t args[16];\n};\n\nstruct of_phandle_iterator {\n\tconst char *cells_name;\n\tint cell_count;\n\tconst struct device_node *parent;\n\tconst __be32 *list_end;\n\tconst __be32 *phandle_end;\n\tconst __be32 *cur;\n\tuint32_t cur_count;\n\tphandle phandle;\n\tstruct device_node *node;\n};\n\nstruct of_pmem_private {\n\tstruct nvdimm_bus_descriptor bus_desc;\n\tstruct nvdimm_bus *bus;\n};\n\nstruct of_regulator_match {\n\tconst char *name;\n\tvoid *driver_data;\n\tstruct regulator_init_data *init_data;\n\tstruct device_node *of_node;\n\tconst struct regulator_desc *desc;\n};\n\nstruct of_rename_gpio {\n\tconst char *con_id;\n\tconst char *legacy_id;\n\tconst char *compatible;\n};\n\nstruct of_serial_info {\n\tstruct clk *clk;\n\tstruct reset_control *rst;\n\tint type;\n\tint line;\n\tstruct notifier_block clk_notifier;\n};\n\nstruct of_timer_base {\n\tvoid *base;\n\tconst char *name;\n\tint index;\n};\n\nstruct of_timer_clk {\n\tstruct clk *clk;\n\tconst char *name;\n\tint index;\n\tlong unsigned int rate;\n\tlong unsigned int period;\n};\n\nstruct of_timer_irq {\n\tint irq;\n\tint index;\n\tconst char *name;\n\tlong unsigned int flags;\n\tirq_handler_t handler;\n};\n\nstruct offset_ctx {\n\tstruct maple_tree mt;\n\tlong unsigned int next_offset;\n};\n\nstruct ohci_driver_overrides {\n\tconst char *product_desc;\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n};\n\nstruct ohci_hcca {\n\t__hc32 int_table[32];\n\t__hc32 frame_no;\n\t__hc32 done_head;\n\tu8 reserved_for_hc[116];\n\tu8 what[4];\n};\n\nstruct ohci_regs;\n\nstruct ohci_hcd {\n\tspinlock_t lock;\n\tstruct ohci_regs *regs;\n\tstruct ohci_hcca *hcca;\n\tdma_addr_t hcca_dma;\n\tstruct ed *ed_rm_list;\n\tstruct ed *ed_bulktail;\n\tstruct ed *ed_controltail;\n\tstruct ed *periodic[32];\n\tvoid (*start_hnp)(struct ohci_hcd *);\n\tstruct dma_pool *td_cache;\n\tstruct dma_pool *ed_cache;\n\tstruct td *td_hash[64];\n\tstruct td *dl_start;\n\tstruct td *dl_end;\n\tstruct list_head pending;\n\tstruct list_head eds_in_use;\n\tenum ohci_rh_state rh_state;\n\tint num_ports;\n\tint load[32];\n\tu32 hc_control;\n\tlong unsigned int next_statechange;\n\tu32 fminterval;\n\tunsigned int autostop: 1;\n\tunsigned int working: 1;\n\tunsigned int restart_work: 1;\n\tlong unsigned int flags;\n\tunsigned int prev_frame_no;\n\tunsigned int wdh_cnt;\n\tunsigned int prev_wdh_cnt;\n\tu32 prev_donehead;\n\tstruct timer_list io_watchdog;\n\tstruct work_struct nec_work;\n\tstruct dentry *debug_dir;\n\tlong unsigned int priv[0];\n};\n\nstruct ohci_platform_priv {\n\tstruct clk *clks[4];\n\tstruct reset_control *resets;\n};\n\nstruct ohci_roothub_regs {\n\t__hc32 a;\n\t__hc32 b;\n\t__hc32 status;\n\t__hc32 portstatus[15];\n};\n\nstruct ohci_regs {\n\t__hc32 revision;\n\t__hc32 control;\n\t__hc32 cmdstatus;\n\t__hc32 intrstatus;\n\t__hc32 intrenable;\n\t__hc32 intrdisable;\n\t__hc32 hcca;\n\t__hc32 ed_periodcurrent;\n\t__hc32 ed_controlhead;\n\t__hc32 ed_controlcurrent;\n\t__hc32 ed_bulkhead;\n\t__hc32 ed_bulkcurrent;\n\t__hc32 donehead;\n\t__hc32 fminterval;\n\t__hc32 fmremaining;\n\t__hc32 fmnumber;\n\t__hc32 periodicstart;\n\t__hc32 lsthresh;\n\tstruct ohci_roothub_regs roothub;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct old_timespec32 {\n\told_time32_t tv_sec;\n\ts32 tv_nsec;\n};\n\nstruct old_itimerspec32 {\n\tstruct old_timespec32 it_interval;\n\tstruct old_timespec32 it_value;\n};\n\nstruct old_itimerval32 {\n\tstruct old_timeval32 it_interval;\n\tstruct old_timeval32 it_value;\n};\n\nstruct old_serial_port {\n\tunsigned int uart;\n\tunsigned int baud_base;\n\tunsigned int port;\n\tunsigned int irq;\n\tupf_t flags;\n\tunsigned char io_type;\n\tunsigned char *iomem_base;\n\tshort unsigned int iomem_reg_shift;\n};\n\nstruct old_timex32 {\n\tu32 modes;\n\ts32 offset;\n\ts32 freq;\n\ts32 maxerror;\n\ts32 esterror;\n\ts32 status;\n\ts32 constant;\n\ts32 precision;\n\ts32 tolerance;\n\tstruct old_timeval32 time;\n\ts32 tick;\n\ts32 ppsfreq;\n\ts32 jitter;\n\ts32 shift;\n\ts32 stabil;\n\ts32 jitcnt;\n\ts32 calcnt;\n\ts32 errcnt;\n\ts32 stbcnt;\n\ts32 tai;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct static_key_true;\n\nstruct once_work {\n\tstruct work_struct work;\n\tstruct static_key_true *key;\n\tstruct module *module;\n};\n\nstruct online_data {\n\tunsigned int cpu;\n\tbool online;\n};\n\nstruct oom_control {\n\tstruct zonelist *zonelist;\n\tnodemask_t *nodemask;\n\tstruct mem_cgroup *memcg;\n\tconst gfp_t gfp_mask;\n\tconst int order;\n\tlong unsigned int totalpages;\n\tstruct task_struct *chosen;\n\tlong int chosen_points;\n\tenum oom_constraint constraint;\n};\n\nstruct open_flags {\n\tint open_flag;\n\tumode_t mode;\n\tint acc_mode;\n\tint intent;\n\tint lookup_flags;\n};\n\nstruct opp_config_data {\n\tstruct opp_table *opp_table;\n\tunsigned int flags;\n\tunsigned int required_dev_index;\n};\n\nstruct opp_device {\n\tstruct list_head node;\n\tconst struct device *dev;\n\tstruct dentry *dentry;\n};\n\nstruct icc_path;\n\nstruct opp_table {\n\tstruct list_head node;\n\tstruct list_head lazy;\n\tstruct blocking_notifier_head head;\n\tstruct list_head dev_list;\n\tstruct list_head opp_list;\n\tstruct kref kref;\n\tstruct mutex lock;\n\tstruct device_node *np;\n\tlong unsigned int clock_latency_ns_max;\n\tunsigned int voltage_tolerance_v1;\n\tunsigned int parsed_static_opps;\n\tenum opp_table_access shared_opp;\n\tlong unsigned int current_rate_single_clk;\n\tstruct dev_pm_opp *current_opp;\n\tstruct dev_pm_opp *suspend_opp;\n\tstruct opp_table **required_opp_tables;\n\tstruct device **required_devs;\n\tunsigned int required_opp_count;\n\tunsigned int *supported_hw;\n\tunsigned int supported_hw_count;\n\tconst char *prop_name;\n\tconfig_clks_t config_clks;\n\tstruct clk **clks;\n\tstruct clk *clk;\n\tint clk_count;\n\tconfig_regulators_t config_regulators;\n\tstruct regulator **regulators;\n\tint regulator_count;\n\tstruct icc_path **paths;\n\tunsigned int path_count;\n\tbool enabled;\n\tbool is_genpd;\n\tstruct dentry *dentry;\n\tchar dentry_name[255];\n};\n\nstruct optimistic_spin_node {\n\tstruct optimistic_spin_node *next;\n\tstruct optimistic_spin_node *prev;\n\tint locked;\n\tint cpu;\n};\n\nstruct orlov_stats {\n\t__u64 free_clusters;\n\t__u32 free_inodes;\n\t__u32 used_dirs;\n};\n\nstruct osnoise_entry {\n\tstruct trace_entry ent;\n\tu64 noise;\n\tu64 runtime;\n\tu64 max_sample;\n\tunsigned int hw_count;\n\tunsigned int nmi_count;\n\tunsigned int irq_count;\n\tunsigned int softirq_count;\n\tunsigned int thread_count;\n};\n\nstruct otp_info {\n\t__u32 start;\n\t__u32 length;\n\t__u32 locked;\n};\n\nstruct p9_trans_module;\n\nstruct p9_client {\n\tspinlock_t lock;\n\tunsigned int msize;\n\tunsigned char proto_version;\n\tstruct p9_trans_module *trans_mod;\n\tenum p9_trans_status status;\n\tvoid *trans;\n\tstruct kmem_cache *fcall_cache;\n\tunion {\n\t\tstruct {\n\t\t\tint rfd;\n\t\t\tint wfd;\n\t\t} fd;\n\t\tstruct {\n\t\t\tu16 port;\n\t\t\tbool privport;\n\t\t} tcp;\n\t} trans_opts;\n\tstruct idr fids;\n\tstruct idr reqs;\n\tchar name[65];\n};\n\nstruct p9_fcall {\n\tu32 size;\n\tu8 id;\n\tu16 tag;\n\tsize_t offset;\n\tsize_t capacity;\n\tstruct kmem_cache *cache;\n\tu8 *sdata;\n\tbool zc;\n};\n\nstruct p9_conn;\n\nstruct p9_poll_wait {\n\tstruct p9_conn *conn;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *wait_addr;\n};\n\nstruct p9_req_t;\n\nstruct p9_conn {\n\tstruct list_head mux_list;\n\tstruct p9_client *client;\n\tint err;\n\tspinlock_t req_lock;\n\tstruct list_head req_list;\n\tstruct list_head unsent_req_list;\n\tstruct p9_req_t *rreq;\n\tstruct p9_req_t *wreq;\n\tchar tmp_buf[7];\n\tstruct p9_fcall rc;\n\tint wpos;\n\tint wsize;\n\tchar *wbuf;\n\tstruct list_head poll_pending_link;\n\tstruct p9_poll_wait poll_wait[2];\n\tpoll_table pt;\n\tstruct work_struct rq;\n\tstruct work_struct wq;\n\tlong unsigned int wsched;\n};\n\nstruct p9_qid {\n\tu8 type;\n\tu32 version;\n\tu64 path;\n};\n\nstruct p9_dirent {\n\tstruct p9_qid qid;\n\tu64 d_off;\n\tunsigned char d_type;\n\tchar d_name[256];\n};\n\nstruct p9_fd_opts {\n\tint rfd;\n\tint wfd;\n\tu16 port;\n\tbool privport;\n};\n\nstruct p9_fid {\n\tstruct p9_client *clnt;\n\tu32 fid;\n\trefcount_t count;\n\tint mode;\n\tstruct p9_qid qid;\n\tu32 iounit;\n\tkuid_t uid;\n\tvoid *rdir;\n\tstruct hlist_node dlist;\n\tstruct hlist_node ilist;\n};\n\nstruct p9_flock {\n\tu8 type;\n\tu32 flags;\n\tu64 start;\n\tu64 length;\n\tu32 proc_id;\n\tchar *client_id;\n};\n\nstruct p9_getlock {\n\tu8 type;\n\tu64 start;\n\tu64 length;\n\tu32 proc_id;\n\tchar *client_id;\n};\n\nstruct p9_iattr_dotl {\n\tu32 valid;\n\tu32 mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tu64 size;\n\tu64 atime_sec;\n\tu64 atime_nsec;\n\tu64 mtime_sec;\n\tu64 mtime_nsec;\n};\n\nstruct p9_rdir {\n\tint head;\n\tint tail;\n\tuint8_t buf[0];\n};\n\nstruct p9_req_t {\n\tint status;\n\tint t_err;\n\trefcount_t refcount;\n\twait_queue_head_t wq;\n\tstruct p9_fcall tc;\n\tstruct p9_fcall rc;\n\tstruct list_head req_list;\n};\n\nstruct p9_rstatfs {\n\tu32 type;\n\tu32 bsize;\n\tu64 blocks;\n\tu64 bfree;\n\tu64 bavail;\n\tu64 files;\n\tu64 ffree;\n\tu64 fsid;\n\tu32 namelen;\n};\n\nstruct p9_stat_dotl {\n\tu64 st_result_mask;\n\tstruct p9_qid qid;\n\tu32 st_mode;\n\tkuid_t st_uid;\n\tkgid_t st_gid;\n\tu64 st_nlink;\n\tu64 st_rdev;\n\tu64 st_size;\n\tu64 st_blksize;\n\tu64 st_blocks;\n\tu64 st_atime_sec;\n\tu64 st_atime_nsec;\n\tu64 st_mtime_sec;\n\tu64 st_mtime_nsec;\n\tu64 st_ctime_sec;\n\tu64 st_ctime_nsec;\n\tu64 st_btime_sec;\n\tu64 st_btime_nsec;\n\tu64 st_gen;\n\tu64 st_data_version;\n};\n\nstruct p9_trans_fd {\n\tstruct file *rd;\n\tstruct file *wr;\n\tstruct p9_conn conn;\n};\n\nstruct p9_trans_module {\n\tstruct list_head list;\n\tchar *name;\n\tint maxsize;\n\tbool pooled_rbuffers;\n\tint def;\n\tstruct module *owner;\n\tint (*create)(struct p9_client *, const char *, char *);\n\tvoid (*close)(struct p9_client *);\n\tint (*request)(struct p9_client *, struct p9_req_t *);\n\tint (*cancel)(struct p9_client *, struct p9_req_t *);\n\tint (*cancelled)(struct p9_client *, struct p9_req_t *);\n\tint (*zc_request)(struct p9_client *, struct p9_req_t *, struct iov_iter *, struct iov_iter *, int, int, int);\n\tint (*show_options)(struct seq_file *, struct p9_client *);\n};\n\nstruct p9_wstat {\n\tu16 size;\n\tu16 type;\n\tu32 dev;\n\tstruct p9_qid qid;\n\tu32 mode;\n\tu32 atime;\n\tu32 mtime;\n\tu64 length;\n\tconst char *name;\n\tconst char *uid;\n\tconst char *gid;\n\tconst char *muid;\n\tchar *extension;\n\tkuid_t n_uid;\n\tkgid_t n_gid;\n\tkuid_t n_muid;\n};\n\nstruct scsi_sense_hdr;\n\nstruct packet_command {\n\tunsigned char cmd[12];\n\tunsigned char *buffer;\n\tunsigned int buflen;\n\tint stat;\n\tstruct scsi_sense_hdr *sshdr;\n\tunsigned char data_direction;\n\tint quiet;\n\tint timeout;\n\tvoid *reserved[1];\n};\n\nstruct packet_fanout {\n\tpossible_net_t net;\n\tunsigned int num_members;\n\tu32 max_num_members;\n\tu16 id;\n\tu8 type;\n\tu8 flags;\n\tunion {\n\t\tatomic_t rr_cur;\n\t\tstruct bpf_prog *bpf_prog;\n\t};\n\tstruct list_head list;\n\tspinlock_t lock;\n\trefcount_t sk_ref;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct packet_type prot_hook;\n\tstruct sock *arr[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct packet_mclist {\n\tstruct packet_mclist *next;\n\tint ifindex;\n\tint count;\n\tshort unsigned int type;\n\tshort unsigned int alen;\n\tunsigned char addr[32];\n};\n\nstruct packet_mreq_max {\n\tint mr_ifindex;\n\tshort unsigned int mr_type;\n\tshort unsigned int mr_alen;\n\tunsigned char mr_address[32];\n};\n\nstruct pgv;\n\nstruct tpacket_kbdq_core {\n\tstruct pgv *pkbdq;\n\tunsigned int feature_req_word;\n\tunsigned int hdrlen;\n\tunsigned char reset_pending_on_curr_blk;\n\tunsigned char delete_blk_timer;\n\tshort unsigned int kactive_blk_num;\n\tshort unsigned int blk_sizeof_priv;\n\tshort unsigned int last_kactive_blk_num;\n\tchar *pkblk_start;\n\tchar *pkblk_end;\n\tint kblk_size;\n\tunsigned int max_frame_len;\n\tunsigned int knum_blocks;\n\tuint64_t knxt_seq_num;\n\tchar *prev;\n\tchar *nxt_offset;\n\tstruct sk_buff *skb;\n\trwlock_t blk_fill_in_prog_lock;\n\tshort unsigned int retire_blk_tov;\n\tshort unsigned int version;\n\tlong unsigned int tov_in_jiffies;\n\tstruct timer_list retire_blk_timer;\n};\n\nstruct packet_ring_buffer {\n\tstruct pgv *pg_vec;\n\tunsigned int head;\n\tunsigned int frames_per_block;\n\tunsigned int frame_size;\n\tunsigned int frame_max;\n\tunsigned int pg_vec_order;\n\tunsigned int pg_vec_pages;\n\tunsigned int pg_vec_len;\n\tunsigned int *pending_refcnt;\n\tunion {\n\t\tlong unsigned int *rx_owner_map;\n\t\tstruct tpacket_kbdq_core prb_bdqc;\n\t};\n};\n\nstruct packet_rollover {\n\tint sock;\n\tatomic_long_t num;\n\tatomic_long_t num_huge;\n\tatomic_long_t num_failed;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 history[16];\n};\n\nstruct sockaddr_pkt {\n\tshort unsigned int spkt_family;\n\tunsigned char spkt_device[14];\n\t__be16 spkt_protocol;\n};\n\nstruct sockaddr_ll {\n\tshort unsigned int sll_family;\n\t__be16 sll_protocol;\n\tint sll_ifindex;\n\tshort unsigned int sll_hatype;\n\tunsigned char sll_pkttype;\n\tunsigned char sll_halen;\n\tunsigned char sll_addr[8];\n};\n\nstruct packet_skb_cb {\n\tunion {\n\t\tstruct sockaddr_pkt pkt;\n\t\tunion {\n\t\t\tunsigned int origlen;\n\t\t\tstruct sockaddr_ll ll;\n\t\t};\n\t} sa;\n};\n\nstruct tpacket_stats {\n\tunsigned int tp_packets;\n\tunsigned int tp_drops;\n};\n\nstruct tpacket_stats_v3 {\n\tunsigned int tp_packets;\n\tunsigned int tp_drops;\n\tunsigned int tp_freeze_q_cnt;\n};\n\nunion tpacket_stats_u {\n\tstruct tpacket_stats stats1;\n\tstruct tpacket_stats_v3 stats3;\n};\n\nstruct packet_sock {\n\tstruct sock sk;\n\tstruct packet_fanout *fanout;\n\tunion tpacket_stats_u stats;\n\tstruct packet_ring_buffer rx_ring;\n\tstruct packet_ring_buffer tx_ring;\n\tint copy_thresh;\n\tspinlock_t bind_lock;\n\tstruct mutex pg_vec_lock;\n\tlong unsigned int flags;\n\tint ifindex;\n\tu8 vnet_hdr_sz;\n\t__be16 num;\n\tstruct packet_rollover *rollover;\n\tstruct packet_mclist *mclist;\n\tatomic_long_t mapped;\n\tenum tpacket_versions tp_version;\n\tunsigned int tp_hdrlen;\n\tunsigned int tp_reserve;\n\tunsigned int tp_tstamp;\n\tstruct completion skb_completion;\n\tstruct net_device *cached_dev;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct packet_type prot_hook;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t tp_drops;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct padata_cpumask {\n\tcpumask_var_t pcpu;\n\tcpumask_var_t cbcpu;\n};\n\nstruct padata_instance {\n\tstruct hlist_node cpu_online_node;\n\tstruct hlist_node cpu_dead_node;\n\tstruct workqueue_struct *parallel_wq;\n\tstruct workqueue_struct *serial_wq;\n\tstruct list_head pslist;\n\tstruct padata_cpumask cpumask;\n\tstruct kobject kobj;\n\tstruct mutex lock;\n\tu8 flags;\n};\n\nstruct padata_list {\n\tstruct list_head list;\n\tspinlock_t lock;\n};\n\nstruct padata_mt_job {\n\tvoid (*thread_fn)(long unsigned int, long unsigned int, void *);\n\tvoid *fn_arg;\n\tlong unsigned int start;\n\tlong unsigned int size;\n\tlong unsigned int align;\n\tlong unsigned int min_chunk;\n\tint max_threads;\n\tbool numa_aware;\n};\n\nstruct padata_mt_job_state {\n\tspinlock_t lock;\n\tstruct completion completion;\n\tstruct padata_mt_job *job;\n\tint nworks;\n\tint nworks_fini;\n\tlong unsigned int chunk_size;\n};\n\nstruct parallel_data;\n\nstruct padata_priv {\n\tstruct list_head list;\n\tstruct parallel_data *pd;\n\tint cb_cpu;\n\tunsigned int seq_nr;\n\tint info;\n\tvoid (*parallel)(struct padata_priv *);\n\tvoid (*serial)(struct padata_priv *);\n};\n\nstruct padata_serial_queue {\n\tstruct padata_list serial;\n\tstruct work_struct work;\n\tstruct parallel_data *pd;\n};\n\nstruct padata_shell {\n\tstruct padata_instance *pinst;\n\tstruct parallel_data *pd;\n\tstruct parallel_data *opd;\n\tstruct list_head list;\n};\n\nstruct padata_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct padata_instance *, struct attribute *, char *);\n\tssize_t (*store)(struct padata_instance *, struct attribute *, const char *, size_t);\n};\n\nstruct padata_work {\n\tstruct work_struct pw_work;\n\tstruct list_head pw_list;\n\tvoid *pw_data;\n};\n\ntypedef struct page *pgtable_t;\n\nstruct printf_spec;\n\nstruct page_flags_fields {\n\tint width;\n\tint shift;\n\tint mask;\n\tconst struct printf_spec *spec;\n\tconst char *name;\n};\n\nstruct page_pool_params_fast {\n\tunsigned int order;\n\tunsigned int pool_size;\n\tint nid;\n\tstruct device *dev;\n\tstruct napi_struct *napi;\n\tenum dma_data_direction dma_dir;\n\tunsigned int max_len;\n\tunsigned int offset;\n};\n\nstruct pp_alloc_cache {\n\tu32 count;\n\tnetmem_ref cache[128];\n};\n\nstruct ptr_ring {\n\tint producer;\n\tspinlock_t producer_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tint consumer_head;\n\tint consumer_tail;\n\tspinlock_t consumer_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tint size;\n\tint batch;\n\tvoid **queue;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct page_pool_params_slow {\n\tstruct net_device *netdev;\n\tunsigned int queue_idx;\n\tunsigned int flags;\n\tvoid (*init_callback)(netmem_ref, void *);\n\tvoid *init_arg;\n};\n\nstruct page_pool {\n\tstruct page_pool_params_fast p;\n\tint cpuid;\n\tu32 pages_state_hold_cnt;\n\tbool has_init_callback: 1;\n\tbool dma_map: 1;\n\tbool dma_sync: 1;\n\tbool dma_sync_for_cpu: 1;\n\tlong: 0;\n\t__u8 __cacheline_group_begin__frag[0];\n\tlong int frag_users;\n\tnetmem_ref frag_page;\n\tunsigned int frag_offset;\n\tlong: 0;\n\t__u8 __cacheline_group_end__frag[0];\n\tlong: 64;\n\tstruct {} __cacheline_group_pad__frag;\n\tstruct delayed_work release_dw;\n\tvoid (*disconnect)(void *);\n\tlong unsigned int defer_start;\n\tlong unsigned int defer_warn;\n\tu32 xdp_mem_id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct pp_alloc_cache alloc;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct ptr_ring ring;\n\tvoid *mp_priv;\n\tatomic_t pages_state_release_cnt;\n\trefcount_t user_cnt;\n\tu64 destroy_cnt;\n\tstruct page_pool_params_slow slow;\n\tstruct {\n\t\tstruct hlist_node list;\n\t\tu64 detach_time;\n\t\tu32 id;\n\t} user;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct page_pool_dump_cb {\n\tlong unsigned int ifindex;\n\tu32 pp_id;\n};\n\nstruct page_pool_params {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int order;\n\t\t\tunsigned int pool_size;\n\t\t\tint nid;\n\t\t\tstruct device *dev;\n\t\t\tstruct napi_struct *napi;\n\t\t\tenum dma_data_direction dma_dir;\n\t\t\tunsigned int max_len;\n\t\t\tunsigned int offset;\n\t\t};\n\t\tstruct page_pool_params_fast fast;\n\t};\n\tunion {\n\t\tstruct {\n\t\t\tstruct net_device *netdev;\n\t\t\tunsigned int queue_idx;\n\t\t\tunsigned int flags;\n\t\t\tvoid (*init_callback)(netmem_ref, void *);\n\t\t\tvoid *init_arg;\n\t\t};\n\t\tstruct page_pool_params_slow slow;\n\t};\n};\n\nstruct page_region {\n\t__u64 start;\n\t__u64 end;\n\t__u64 categories;\n};\n\nstruct page_reporting_dev_info {\n\tint (*report)(struct page_reporting_dev_info *, struct scatterlist *, unsigned int);\n\tstruct delayed_work work;\n\tatomic_t state;\n\tunsigned int order;\n};\n\nstruct page_vma_mapped_walk {\n\tlong unsigned int pfn;\n\tlong unsigned int nr_pages;\n\tlong unsigned int pgoff;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int address;\n\tpmd_t *pmd;\n\tpte_t *pte;\n\tspinlock_t *ptl;\n\tunsigned int flags;\n};\n\nstruct pageattr_masks {\n\tpgprot_t set_mask;\n\tpgprot_t clear_mask;\n};\n\nstruct pm_scan_arg {\n\t__u64 size;\n\t__u64 flags;\n\t__u64 start;\n\t__u64 end;\n\t__u64 walk_end;\n\t__u64 vec;\n\t__u64 vec_len;\n\t__u64 max_pages;\n\t__u64 category_inverted;\n\t__u64 category_mask;\n\t__u64 category_anyof_mask;\n\t__u64 return_mask;\n};\n\nstruct pagemap_scan_private {\n\tstruct pm_scan_arg arg;\n\tlong unsigned int masks_of_interest;\n\tlong unsigned int cur_vma_category;\n\tstruct page_region *vec_buf;\n\tlong unsigned int vec_buf_len;\n\tlong unsigned int vec_buf_index;\n\tlong unsigned int found_pages;\n\tstruct page_region *vec_out;\n};\n\nstruct pagemapread {\n\tint pos;\n\tint len;\n\tpagemap_entry_t *buffer;\n\tbool show_pfn;\n};\n\nstruct pages_devres {\n\tlong unsigned int addr;\n\tunsigned int order;\n};\n\nstruct pages_or_folios {\n\tunion {\n\t\tstruct page **pages;\n\t\tstruct folio **folios;\n\t\tvoid **entries;\n\t};\n\tbool has_folios;\n\tlong int nr_entries;\n};\n\nstruct parallel_data {\n\tstruct padata_shell *ps;\n\tstruct padata_list *reorder_list;\n\tstruct padata_serial_queue *squeue;\n\trefcount_t refcnt;\n\tunsigned int seq_nr;\n\tunsigned int processed;\n\tint cpu;\n\tstruct padata_cpumask cpumask;\n\tstruct work_struct reorder_work;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct partition_meta_info {\n\tchar uuid[37];\n\tu8 volname[64];\n};\n\nstruct parsed_partitions {\n\tstruct gendisk *disk;\n\tchar name[32];\n\tstruct {\n\t\tsector_t from;\n\t\tsector_t size;\n\t\tint flags;\n\t\tbool has_info;\n\t\tstruct partition_meta_info info;\n\t} *parts;\n\tint next;\n\tint limit;\n\tbool access_beyond_eod;\n\tchar *pp_buf;\n};\n\nstruct partial_cluster {\n\text4_fsblk_t pclu;\n\text4_lblk_t lblk;\n\tenum {\n\t\tinitial = 0,\n\t\ttofree = 1,\n\t\tnofree = 2,\n\t} state;\n};\n\nstruct partial_context {\n\tgfp_t flags;\n\tunsigned int orig_size;\n\tvoid *object;\n};\n\nstruct partial_page {\n\tunsigned int offset;\n\tunsigned int len;\n\tlong unsigned int private;\n};\n\nstruct patch_insn {\n\tvoid *addr;\n\tu32 *insns;\n\tsize_t len;\n\tatomic_t cpu_count;\n};\n\nstruct path_cond {\n\tkuid_t uid;\n\tumode_t mode;\n};\n\nstruct pause_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_pauseparam pauseparam;\n\tstruct ethtool_pause_stats pausestat;\n};\n\nstruct pause_req_info {\n\tstruct ethnl_req_info base;\n\tenum ethtool_mac_stats_src src;\n};\n\nstruct pcc_mbox_chan {\n\tstruct mbox_chan *mchan;\n\tu64 shmem_base_addr;\n\tvoid *shmem;\n\tu64 shmem_size;\n\tu32 latency;\n\tu32 max_access_rate;\n\tu16 min_turnaround_time;\n};\n\nstruct pcc_chan_reg {\n\tvoid *vaddr;\n\tstruct acpi_generic_address *gas;\n\tu64 preserve_mask;\n\tu64 set_mask;\n\tu64 status_mask;\n};\n\nstruct pcc_chan_info {\n\tstruct pcc_mbox_chan chan;\n\tstruct pcc_chan_reg db;\n\tstruct pcc_chan_reg plat_irq_ack;\n\tstruct pcc_chan_reg cmd_complete;\n\tstruct pcc_chan_reg cmd_update;\n\tstruct pcc_chan_reg error;\n\tint plat_irq;\n\tu8 type;\n\tunsigned int plat_irq_flags;\n\tbool chan_in_use;\n};\n\nstruct pcc_data {\n\tstruct pcc_mbox_chan *pcc_chan;\n\tvoid *pcc_comm_addr;\n\tstruct completion done;\n\tstruct mbox_client cl;\n\tstruct acpi_pcc_info ctx;\n};\n\nstruct pci_acs {\n\tu16 cap;\n\tu16 ctrl;\n\tu16 fw_ctrl;\n};\n\nstruct pci_bits {\n\tunsigned int reg;\n\tunsigned int width;\n\tlong unsigned int mask;\n\tlong unsigned int val;\n};\n\nstruct pci_bus {\n\tstruct list_head node;\n\tstruct pci_bus *parent;\n\tstruct list_head children;\n\tstruct list_head devices;\n\tstruct pci_dev *self;\n\tstruct list_head slots;\n\tstruct resource *resource[4];\n\tstruct list_head resources;\n\tstruct resource busn_res;\n\tstruct pci_ops *ops;\n\tvoid *sysdata;\n\tstruct proc_dir_entry *procdir;\n\tunsigned char number;\n\tunsigned char primary;\n\tunsigned char max_bus_speed;\n\tunsigned char cur_bus_speed;\n\tint domain_nr;\n\tchar name[48];\n\tshort unsigned int bridge_ctl;\n\tpci_bus_flags_t bus_flags;\n\tstruct device *bridge;\n\tstruct device dev;\n\tstruct bin_attribute *legacy_io;\n\tstruct bin_attribute *legacy_mem;\n\tunsigned int is_added: 1;\n\tunsigned int unsafe_warn: 1;\n};\n\nstruct pci_bus_region {\n\tpci_bus_addr_t start;\n\tpci_bus_addr_t end;\n};\n\nstruct pci_bus_resource {\n\tstruct list_head list;\n\tstruct resource *res;\n};\n\nstruct pci_cap_saved_data {\n\tu16 cap_nr;\n\tbool cap_extended;\n\tunsigned int size;\n\tu32 data[0];\n};\n\nstruct pci_cap_saved_state {\n\tstruct hlist_node next;\n\tstruct pci_cap_saved_data cap;\n};\n\nstruct pci_config_window {\n\tstruct resource res;\n\tstruct resource busr;\n\tunsigned int bus_shift;\n\tvoid *priv;\n\tconst struct pci_ecam_ops *ops;\n\tunion {\n\t\tvoid *win;\n\t\tvoid **winp;\n\t};\n\tstruct device *parent;\n};\n\nstruct pci_vpd {\n\tstruct mutex lock;\n\tunsigned int len;\n\tu8 cap;\n};\n\nstruct rcec_ea;\n\nstruct pcie_link_state;\n\nstruct pcie_bwctrl_data;\n\nstruct pci_dev {\n\tstruct list_head bus_list;\n\tstruct pci_bus *bus;\n\tstruct pci_bus *subordinate;\n\tvoid *sysdata;\n\tstruct proc_dir_entry *procent;\n\tstruct pci_slot *slot;\n\tunsigned int devfn;\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tshort unsigned int subsystem_vendor;\n\tshort unsigned int subsystem_device;\n\tunsigned int class;\n\tu8 revision;\n\tu8 hdr_type;\n\tstruct rcec_ea *rcec_ea;\n\tstruct pci_dev *rcec;\n\tu32 devcap;\n\tu8 pcie_cap;\n\tu8 msi_cap;\n\tu8 msix_cap;\n\tu8 pcie_mpss: 3;\n\tu8 rom_base_reg;\n\tu8 pin;\n\tu16 pcie_flags_reg;\n\tlong unsigned int *dma_alias_mask;\n\tstruct pci_driver *driver;\n\tu64 dma_mask;\n\tstruct device_dma_parameters dma_parms;\n\tpci_power_t current_state;\n\tu8 pm_cap;\n\tunsigned int pme_support: 5;\n\tunsigned int pme_poll: 1;\n\tunsigned int pinned: 1;\n\tunsigned int config_rrs_sv: 1;\n\tunsigned int imm_ready: 1;\n\tunsigned int d1_support: 1;\n\tunsigned int d2_support: 1;\n\tunsigned int no_d1d2: 1;\n\tunsigned int no_d3cold: 1;\n\tunsigned int bridge_d3: 1;\n\tunsigned int d3cold_allowed: 1;\n\tunsigned int mmio_always_on: 1;\n\tunsigned int wakeup_prepared: 1;\n\tunsigned int skip_bus_pm: 1;\n\tunsigned int ignore_hotplug: 1;\n\tunsigned int hotplug_user_indicators: 1;\n\tunsigned int clear_retrain_link: 1;\n\tunsigned int d3hot_delay;\n\tunsigned int d3cold_delay;\n\tu16 l1ss;\n\tstruct pcie_link_state *link_state;\n\tunsigned int ltr_path: 1;\n\tunsigned int pasid_no_tlp: 1;\n\tunsigned int eetlp_prefix_max: 3;\n\tpci_channel_state_t error_state;\n\tstruct device dev;\n\tint cfg_size;\n\tunsigned int irq;\n\tstruct resource resource[11];\n\tstruct resource driver_exclusive_resource;\n\tbool match_driver;\n\tunsigned int transparent: 1;\n\tunsigned int io_window: 1;\n\tunsigned int pref_window: 1;\n\tunsigned int pref_64_window: 1;\n\tunsigned int multifunction: 1;\n\tunsigned int is_busmaster: 1;\n\tunsigned int no_msi: 1;\n\tunsigned int no_64bit_msi: 1;\n\tunsigned int block_cfg_access: 1;\n\tunsigned int broken_parity_status: 1;\n\tunsigned int irq_reroute_variant: 2;\n\tunsigned int msi_enabled: 1;\n\tunsigned int msix_enabled: 1;\n\tunsigned int ari_enabled: 1;\n\tunsigned int ats_enabled: 1;\n\tunsigned int pasid_enabled: 1;\n\tunsigned int pri_enabled: 1;\n\tunsigned int tph_enabled: 1;\n\tunsigned int is_managed: 1;\n\tunsigned int is_msi_managed: 1;\n\tunsigned int needs_freset: 1;\n\tunsigned int state_saved: 1;\n\tunsigned int is_physfn: 1;\n\tunsigned int is_virtfn: 1;\n\tunsigned int is_hotplug_bridge: 1;\n\tunsigned int shpc_managed: 1;\n\tunsigned int is_thunderbolt: 1;\n\tunsigned int untrusted: 1;\n\tunsigned int external_facing: 1;\n\tunsigned int broken_intx_masking: 1;\n\tunsigned int io_window_1k: 1;\n\tunsigned int irq_managed: 1;\n\tunsigned int non_compliant_bars: 1;\n\tunsigned int is_probed: 1;\n\tunsigned int link_active_reporting: 1;\n\tunsigned int no_vf_scan: 1;\n\tunsigned int no_command_memory: 1;\n\tunsigned int rom_bar_overlap: 1;\n\tunsigned int rom_attr_enabled: 1;\n\tpci_dev_flags_t dev_flags;\n\tatomic_t enable_cnt;\n\tspinlock_t pcie_cap_lock;\n\tu32 saved_config_space[16];\n\tstruct hlist_head saved_cap_space;\n\tstruct bin_attribute *res_attr[11];\n\tstruct bin_attribute *res_attr_wc[11];\n\tvoid *msix_base;\n\traw_spinlock_t msi_lock;\n\tstruct pci_vpd vpd;\n\tstruct pcie_bwctrl_data *link_bwctrl;\n\tu16 acs_cap;\n\tu8 supported_speeds;\n\tphys_addr_t rom;\n\tsize_t romlen;\n\tconst char *driver_override;\n\tlong unsigned int priv_flags;\n\tu8 reset_methods[8];\n};\n\nstruct pci_dev_acs_enabled {\n\tu16 vendor;\n\tu16 device;\n\tint (*acs_enabled)(struct pci_dev *, u16);\n};\n\nstruct pci_dev_acs_ops {\n\tu16 vendor;\n\tu16 device;\n\tint (*enable_acs)(struct pci_dev *);\n\tint (*disable_acs_redir)(struct pci_dev *);\n};\n\nstruct pci_dev_reset_methods {\n\tu16 vendor;\n\tu16 device;\n\tint (*reset)(struct pci_dev *, bool);\n};\n\nstruct pci_dev_resource {\n\tstruct list_head list;\n\tstruct resource *res;\n\tstruct pci_dev *dev;\n\tresource_size_t start;\n\tresource_size_t end;\n\tresource_size_t add_size;\n\tresource_size_t min_align;\n\tlong unsigned int flags;\n};\n\nstruct pci_device_id {\n\t__u32 vendor;\n\t__u32 device;\n\t__u32 subvendor;\n\t__u32 subdevice;\n\t__u32 class;\n\t__u32 class_mask;\n\tkernel_ulong_t driver_data;\n\t__u32 override_only;\n};\n\nstruct pci_domain_busn_res {\n\tstruct list_head list;\n\tstruct resource res;\n\tint domain_nr;\n};\n\nstruct pci_dynids {\n\tspinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct pci_error_handlers;\n\nstruct pci_driver {\n\tconst char *name;\n\tconst struct pci_device_id *id_table;\n\tint (*probe)(struct pci_dev *, const struct pci_device_id *);\n\tvoid (*remove)(struct pci_dev *);\n\tint (*suspend)(struct pci_dev *, pm_message_t);\n\tint (*resume)(struct pci_dev *);\n\tvoid (*shutdown)(struct pci_dev *);\n\tint (*sriov_configure)(struct pci_dev *, int);\n\tint (*sriov_set_msix_vec_count)(struct pci_dev *, int);\n\tu32 (*sriov_get_vf_total_msix)(struct pci_dev *);\n\tconst struct pci_error_handlers *err_handler;\n\tconst struct attribute_group **groups;\n\tconst struct attribute_group **dev_groups;\n\tstruct device_driver driver;\n\tstruct pci_dynids dynids;\n\tbool driver_managed_dma;\n};\n\nstruct pci_dynid {\n\tstruct list_head node;\n\tstruct pci_device_id id;\n};\n\nstruct pci_ops {\n\tint (*add_bus)(struct pci_bus *);\n\tvoid (*remove_bus)(struct pci_bus *);\n\tvoid * (*map_bus)(struct pci_bus *, unsigned int, int);\n\tint (*read)(struct pci_bus *, unsigned int, int, int, u32 *);\n\tint (*write)(struct pci_bus *, unsigned int, int, int, u32);\n};\n\nstruct pci_ecam_ops {\n\tunsigned int bus_shift;\n\tstruct pci_ops pci_ops;\n\tint (*init)(struct pci_config_window *);\n\tint (*enable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid (*disable_device)(struct pci_host_bridge *, struct pci_dev *);\n};\n\nstruct pci_epc_ops;\n\nstruct pci_epc_mem;\n\nstruct pci_epc {\n\tstruct device dev;\n\tstruct list_head pci_epf;\n\tstruct mutex list_lock;\n\tconst struct pci_epc_ops *ops;\n\tstruct pci_epc_mem **windows;\n\tstruct pci_epc_mem *mem;\n\tunsigned int num_windows;\n\tu8 max_functions;\n\tu8 *max_vfs;\n\tstruct config_group *group;\n\tstruct mutex lock;\n\tlong unsigned int function_num_map;\n\tint domain_nr;\n\tbool init_complete;\n};\n\nstruct pci_epc_bar_desc {\n\tenum pci_epc_bar_type type;\n\tu64 fixed_size;\n\tbool only_64bit;\n};\n\nstruct pci_epc_features {\n\tunsigned int linkup_notifier: 1;\n\tunsigned int msi_capable: 1;\n\tunsigned int msix_capable: 1;\n\tstruct pci_epc_bar_desc bar[6];\n\tsize_t align;\n};\n\nstruct pci_epc_mem_window {\n\tphys_addr_t phys_base;\n\tsize_t size;\n\tsize_t page_size;\n};\n\nstruct pci_epc_mem {\n\tstruct pci_epc_mem_window window;\n\tlong unsigned int *bitmap;\n\tint pages;\n\tstruct mutex lock;\n};\n\nstruct pci_epf_header;\n\nstruct pci_epc_ops {\n\tint (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);\n\tint (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);\n\tvoid (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);\n\tu64 (*align_addr)(struct pci_epc *, u64, size_t *, size_t *);\n\tint (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);\n\tvoid (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);\n\tint (*set_msi)(struct pci_epc *, u8, u8, u8);\n\tint (*get_msi)(struct pci_epc *, u8, u8);\n\tint (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);\n\tint (*get_msix)(struct pci_epc *, u8, u8);\n\tint (*raise_irq)(struct pci_epc *, u8, u8, unsigned int, u16);\n\tint (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);\n\tint (*start)(struct pci_epc *);\n\tvoid (*stop)(struct pci_epc *);\n\tconst struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);\n\tstruct module *owner;\n};\n\nstruct pci_epf_bar {\n\tdma_addr_t phys_addr;\n\tvoid *addr;\n\tsize_t size;\n\tenum pci_barno barno;\n\tint flags;\n};\n\nstruct pci_epf_header {\n\tu16 vendorid;\n\tu16 deviceid;\n\tu8 revid;\n\tu8 progif_code;\n\tu8 subclass_code;\n\tu8 baseclass_code;\n\tu8 cache_line_size;\n\tu16 subsys_vendor_id;\n\tu16 subsys_id;\n\tenum pci_interrupt_pin interrupt_pin;\n};\n\nstruct pci_error_handlers {\n\tpci_ers_result_t (*error_detected)(struct pci_dev *, pci_channel_state_t);\n\tpci_ers_result_t (*mmio_enabled)(struct pci_dev *);\n\tpci_ers_result_t (*slot_reset)(struct pci_dev *);\n\tvoid (*reset_prepare)(struct pci_dev *);\n\tvoid (*reset_done)(struct pci_dev *);\n\tvoid (*resume)(struct pci_dev *);\n\tvoid (*cor_error_detected)(struct pci_dev *);\n};\n\nstruct pci_fixup {\n\tu16 vendor;\n\tu16 device;\n\tu32 class;\n\tunsigned int class_shift;\n\tvoid (*hook)(struct pci_dev *);\n};\n\nstruct pci_host_bridge {\n\tstruct device dev;\n\tstruct pci_bus *bus;\n\tstruct pci_ops *ops;\n\tstruct pci_ops *child_ops;\n\tvoid *sysdata;\n\tint busnr;\n\tint domain_nr;\n\tstruct list_head windows;\n\tstruct list_head dma_ranges;\n\tu8 (*swizzle_irq)(struct pci_dev *, u8 *);\n\tint (*map_irq)(const struct pci_dev *, u8, u8);\n\tvoid (*release_fn)(struct pci_host_bridge *);\n\tint (*enable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid (*disable_device)(struct pci_host_bridge *, struct pci_dev *);\n\tvoid *release_data;\n\tunsigned int ignore_reset_delay: 1;\n\tunsigned int no_ext_tags: 1;\n\tunsigned int no_inc_mrrs: 1;\n\tunsigned int native_aer: 1;\n\tunsigned int native_pcie_hotplug: 1;\n\tunsigned int native_shpc_hotplug: 1;\n\tunsigned int native_pme: 1;\n\tunsigned int native_ltr: 1;\n\tunsigned int native_dpc: 1;\n\tunsigned int native_cxl_error: 1;\n\tunsigned int preserve_config: 1;\n\tunsigned int size_windows: 1;\n\tunsigned int msi_domain: 1;\n\tresource_size_t (*align_resource)(struct pci_dev *, const struct resource *, resource_size_t, resource_size_t, resource_size_t);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct pci_osc_bit_struct {\n\tu32 bit;\n\tchar *desc;\n};\n\nstruct pci_p2pdma_map_state {\n\tstruct dev_pagemap *pgmap;\n\tint map;\n\tu64 bus_off;\n};\n\nstruct pci_pme_device {\n\tstruct list_head list;\n\tstruct pci_dev *dev;\n};\n\nstruct pci_reset_fn_method {\n\tint (*reset_fn)(struct pci_dev *, bool);\n\tchar *name;\n};\n\nstruct pci_saved_state {\n\tu32 config_space[16];\n\tstruct pci_cap_saved_data cap[0];\n};\n\nstruct serial_private;\n\nstruct pciserial_board;\n\nstruct pci_serial_quirk {\n\tu32 vendor;\n\tu32 device;\n\tu32 subvendor;\n\tu32 subdevice;\n\tint (*probe)(struct pci_dev *);\n\tint (*init)(struct pci_dev *);\n\tint (*setup)(struct serial_private *, const struct pciserial_board *, struct uart_8250_port *, int);\n\tvoid (*exit)(struct pci_dev *);\n};\n\nstruct pci_slot {\n\tstruct pci_bus *bus;\n\tstruct list_head list;\n\tstruct hotplug_slot *hotplug;\n\tunsigned char number;\n\tstruct kobject kobj;\n};\n\nstruct pci_slot_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct pci_slot *, char *);\n\tssize_t (*store)(struct pci_slot *, const char *, size_t);\n};\n\nstruct pcie_bwctrl_data {\n\tstruct mutex set_speed_mutex;\n\tatomic_t lbms_count;\n\tstruct thermal_cooling_device *cdev;\n};\n\nstruct pcie_device {\n\tint irq;\n\tstruct pci_dev *port;\n\tu32 service;\n\tvoid *priv_data;\n\tstruct device device;\n};\n\nstruct pcie_link_state {\n\tstruct pci_dev *pdev;\n\tstruct pci_dev *downstream;\n\tstruct pcie_link_state *root;\n\tstruct pcie_link_state *parent;\n\tstruct list_head sibling;\n\tu32 aspm_support: 7;\n\tu32 aspm_enabled: 7;\n\tu32 aspm_capable: 7;\n\tu32 aspm_default: 7;\n\tint: 4;\n\tu32 aspm_disable: 7;\n\tu32 clkpm_capable: 1;\n\tu32 clkpm_enabled: 1;\n\tu32 clkpm_default: 1;\n\tu32 clkpm_disable: 1;\n};\n\nstruct pcie_pme_service_data {\n\tspinlock_t lock;\n\tstruct pcie_device *srv;\n\tstruct work_struct work;\n\tbool noirq;\n};\n\nstruct pcie_port_service_driver {\n\tconst char *name;\n\tint (*probe)(struct pcie_device *);\n\tvoid (*remove)(struct pcie_device *);\n\tint (*suspend)(struct pcie_device *);\n\tint (*resume_noirq)(struct pcie_device *);\n\tint (*resume)(struct pcie_device *);\n\tint (*runtime_suspend)(struct pcie_device *);\n\tint (*runtime_resume)(struct pcie_device *);\n\tint (*slot_reset)(struct pcie_device *);\n\tint port_type;\n\tu32 service;\n\tstruct device_driver driver;\n};\n\nstruct pcim_addr_devres {\n\tenum pcim_addr_devres_type type;\n\tvoid *baseaddr;\n\tlong unsigned int offset;\n\tlong unsigned int len;\n\tint bar;\n};\n\nstruct pcim_intx_devres {\n\tint orig_intx;\n};\n\nstruct pcim_iomap_devres {\n\tvoid *table[6];\n};\n\nstruct pciserial_board {\n\tunsigned int flags;\n\tunsigned int num_ports;\n\tunsigned int base_baud;\n\tunsigned int uart_offset;\n\tunsigned int reg_shift;\n\tunsigned int first_offset;\n};\n\nstruct pcm_format_data {\n\tunsigned char width;\n\tunsigned char phys;\n\tsigned char le;\n\tsigned char signd;\n\tunsigned char silence[8];\n};\n\nstruct pcpu_group_info {\n\tint nr_units;\n\tlong unsigned int base_offset;\n\tunsigned int *cpu_map;\n};\n\nstruct pcpu_alloc_info {\n\tsize_t static_size;\n\tsize_t reserved_size;\n\tsize_t dyn_size;\n\tsize_t unit_size;\n\tsize_t atom_size;\n\tsize_t alloc_size;\n\tsize_t __ai_size;\n\tint nr_groups;\n\tstruct pcpu_group_info groups[0];\n};\n\nstruct pcpu_block_md {\n\tint scan_hint;\n\tint scan_hint_start;\n\tint contig_hint;\n\tint contig_hint_start;\n\tint left_free;\n\tint right_free;\n\tint first_free;\n\tint nr_bits;\n};\n\nstruct pcpuobj_ext;\n\nstruct pcpu_chunk {\n\tstruct list_head list;\n\tint free_bytes;\n\tstruct pcpu_block_md chunk_md;\n\tlong unsigned int *bound_map;\n\tvoid *base_addr;\n\tlong unsigned int *alloc_map;\n\tstruct pcpu_block_md *md_blocks;\n\tvoid *data;\n\tbool immutable;\n\tbool isolated;\n\tint start_offset;\n\tint end_offset;\n\tstruct pcpuobj_ext *obj_exts;\n\tint nr_pages;\n\tint nr_populated;\n\tint nr_empty_pop_pages;\n\tlong unsigned int populated[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pcpu_dstats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tu64_stats_t rx_drops;\n\tu64_stats_t tx_drops;\n\tstruct u64_stats_sync syncp;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct pcpu_gen_cookie {\n\tlocal_t nesting;\n\tu64 last;\n};\n\nstruct pcpu_lstats {\n\tu64_stats_t packets;\n\tu64_stats_t bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct pcpu_sw_netstats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n};\n\nstruct pcpuobj_ext {\n\tstruct obj_cgroup *cgroup;\n};\n\nstruct pde_opener {\n\tstruct list_head lh;\n\tstruct file *file;\n\tbool closing;\n\tstruct completion *c;\n};\n\nstruct pending_reservation {\n\tstruct rb_node rb_node;\n\text4_lblk_t lclu;\n};\n\nstruct per_cpu_nodestat {\n\ts8 stat_threshold;\n\ts8 vm_node_stat_diff[46];\n};\n\nstruct per_cpu_pages {\n\tspinlock_t lock;\n\tint count;\n\tint high;\n\tint high_min;\n\tint high_max;\n\tint batch;\n\tu8 flags;\n\tu8 alloc_factor;\n\tshort int free_count;\n\tstruct list_head lists[12];\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct per_cpu_zonestat {\n\ts8 vm_stat_diff[10];\n\ts8 stat_threshold;\n};\n\nstruct percpu_cluster {\n\tlocal_lock_t lock;\n\tunsigned int next[1];\n};\n\nstruct percpu_free_defer {\n\tstruct callback_head rcu;\n\tvoid *ptr;\n};\n\ntypedef void percpu_ref_func_t(struct percpu_ref *);\n\nstruct percpu_ref_data {\n\tatomic_long_t count;\n\tpercpu_ref_func_t *release;\n\tpercpu_ref_func_t *confirm_switch;\n\tbool force_atomic: 1;\n\tbool allow_reinit: 1;\n\tstruct callback_head rcu;\n\tstruct percpu_ref *ref;\n};\n\nstruct perf_addr_filter {\n\tstruct list_head entry;\n\tstruct path path;\n\tlong unsigned int offset;\n\tlong unsigned int size;\n\tenum perf_addr_filter_action_t action;\n};\n\nstruct perf_addr_filter_range {\n\tlong unsigned int start;\n\tlong unsigned int size;\n};\n\nstruct perf_addr_filters_head {\n\tstruct list_head list;\n\traw_spinlock_t lock;\n\tunsigned int nr_file_filters;\n};\n\nstruct perf_event_header {\n\t__u32 type;\n\t__u16 misc;\n\t__u16 size;\n};\n\nstruct perf_aux_event {\n\tstruct perf_event_header header;\n\tu64 hw_id;\n};\n\nstruct perf_aux_event___2 {\n\tstruct perf_event_header header;\n\tu32 pid;\n\tu32 tid;\n};\n\nstruct perf_aux_event___3 {\n\tstruct perf_event_header header;\n\tu64 offset;\n\tu64 size;\n\tu64 flags;\n};\n\nstruct perf_bpf_event {\n\tstruct bpf_prog *prog;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu16 type;\n\t\tu16 flags;\n\t\tu32 id;\n\t\tu8 tag[8];\n\t} event_id;\n};\n\nstruct perf_branch_entry {\n\t__u64 from;\n\t__u64 to;\n\t__u64 mispred: 1;\n\t__u64 predicted: 1;\n\t__u64 in_tx: 1;\n\t__u64 abort: 1;\n\t__u64 cycles: 16;\n\t__u64 type: 4;\n\t__u64 spec: 2;\n\t__u64 new_type: 4;\n\t__u64 priv: 3;\n\t__u64 reserved: 31;\n};\n\nstruct perf_branch_stack {\n\t__u64 nr;\n\t__u64 hw_idx;\n\tstruct perf_branch_entry entries[0];\n};\n\nstruct perf_event_mmap_page;\n\nstruct perf_buffer {\n\trefcount_t refcount;\n\tstruct callback_head callback_head;\n\tint nr_pages;\n\tint overwrite;\n\tint paused;\n\tatomic_t poll;\n\tlocal_t head;\n\tunsigned int nest;\n\tlocal_t events;\n\tlocal_t wakeup;\n\tlocal_t lost;\n\tlong int watermark;\n\tlong int aux_watermark;\n\tspinlock_t event_lock;\n\tstruct list_head event_list;\n\tatomic_t mmap_count;\n\tlong unsigned int mmap_locked;\n\tstruct user_struct *mmap_user;\n\tstruct mutex aux_mutex;\n\tlong int aux_head;\n\tunsigned int aux_nest;\n\tlong int aux_wakeup;\n\tlong unsigned int aux_pgoff;\n\tint aux_nr_pages;\n\tint aux_overwrite;\n\tatomic_t aux_mmap_count;\n\tlong unsigned int aux_mmap_locked;\n\tvoid (*free_aux)(void *);\n\trefcount_t aux_refcount;\n\tint aux_in_sampling;\n\tint aux_in_pause_resume;\n\tvoid **aux_pages;\n\tvoid *aux_priv;\n\tstruct perf_event_mmap_page *user_page;\n\tvoid *data_pages[0];\n};\n\nstruct perf_callchain_entry {\n\t__u64 nr;\n\t__u64 ip[0];\n};\n\nstruct perf_callchain_entry_ctx {\n\tstruct perf_callchain_entry *entry;\n\tu32 max_stack;\n\tu32 nr;\n\tshort int contexts;\n\tbool contexts_maxed;\n};\n\nstruct perf_cgroup_info;\n\nstruct perf_cgroup {\n\tstruct cgroup_subsys_state css;\n\tstruct perf_cgroup_info *info;\n};\n\nstruct perf_cgroup_event {\n\tchar *path;\n\tint path_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 id;\n\t\tchar path[0];\n\t} event_id;\n};\n\nstruct perf_cgroup_info {\n\tu64 time;\n\tu64 timestamp;\n\tu64 timeoffset;\n\tint active;\n};\n\nstruct perf_comm_event {\n\tstruct task_struct *task;\n\tchar *comm;\n\tint comm_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t} event_id;\n};\n\nstruct perf_event_groups {\n\tstruct rb_root tree;\n\tu64 index;\n};\n\nstruct perf_event_context {\n\traw_spinlock_t lock;\n\tstruct mutex mutex;\n\tstruct list_head pmu_ctx_list;\n\tstruct perf_event_groups pinned_groups;\n\tstruct perf_event_groups flexible_groups;\n\tstruct list_head event_list;\n\tint nr_events;\n\tint nr_user;\n\tint is_active;\n\tint nr_task_data;\n\tint nr_stat;\n\tint nr_freq;\n\tint rotate_disable;\n\trefcount_t refcount;\n\tstruct task_struct *task;\n\tu64 time;\n\tu64 timestamp;\n\tu64 timeoffset;\n\tstruct perf_event_context *parent_ctx;\n\tu64 parent_gen;\n\tu64 generation;\n\tint pin_count;\n\tint nr_cgroups;\n\tstruct callback_head callback_head;\n\tlocal_t nr_no_switch_fast;\n};\n\nstruct perf_cpu_context {\n\tstruct perf_event_context ctx;\n\tstruct perf_event_context *task_ctx;\n\tint online;\n\tstruct perf_cgroup *cgrp;\n\tint heap_size;\n\tstruct perf_event **heap;\n\tstruct perf_event *heap_default[2];\n};\n\nstruct perf_event_pmu_context {\n\tstruct pmu *pmu;\n\tstruct perf_event_context *ctx;\n\tstruct list_head pmu_ctx_entry;\n\tstruct list_head pinned_active;\n\tstruct list_head flexible_active;\n\tunsigned int embedded: 1;\n\tunsigned int nr_events;\n\tunsigned int nr_cgroups;\n\tunsigned int nr_freq;\n\tatomic_t refcount;\n\tstruct callback_head callback_head;\n\tvoid *task_ctx_data;\n\tint rotate_necessary;\n};\n\nstruct perf_cpu_pmu_context {\n\tstruct perf_event_pmu_context epc;\n\tstruct perf_event_pmu_context *task_epc;\n\tstruct list_head sched_cb_entry;\n\tint sched_cb_usage;\n\tint active_oncpu;\n\tint exclusive;\n\traw_spinlock_t hrtimer_lock;\n\tstruct hrtimer hrtimer;\n\tktime_t hrtimer_interval;\n\tunsigned int hrtimer_active;\n};\n\nstruct perf_domain {\n\tstruct em_perf_domain *em_pd;\n\tstruct perf_domain *next;\n\tstruct callback_head rcu;\n};\n\nstruct perf_event_attr {\n\t__u32 type;\n\t__u32 size;\n\t__u64 config;\n\tunion {\n\t\t__u64 sample_period;\n\t\t__u64 sample_freq;\n\t};\n\t__u64 sample_type;\n\t__u64 read_format;\n\t__u64 disabled: 1;\n\t__u64 inherit: 1;\n\t__u64 pinned: 1;\n\t__u64 exclusive: 1;\n\t__u64 exclude_user: 1;\n\t__u64 exclude_kernel: 1;\n\t__u64 exclude_hv: 1;\n\t__u64 exclude_idle: 1;\n\t__u64 mmap: 1;\n\t__u64 comm: 1;\n\t__u64 freq: 1;\n\t__u64 inherit_stat: 1;\n\t__u64 enable_on_exec: 1;\n\t__u64 task: 1;\n\t__u64 watermark: 1;\n\t__u64 precise_ip: 2;\n\t__u64 mmap_data: 1;\n\t__u64 sample_id_all: 1;\n\t__u64 exclude_host: 1;\n\t__u64 exclude_guest: 1;\n\t__u64 exclude_callchain_kernel: 1;\n\t__u64 exclude_callchain_user: 1;\n\t__u64 mmap2: 1;\n\t__u64 comm_exec: 1;\n\t__u64 use_clockid: 1;\n\t__u64 context_switch: 1;\n\t__u64 write_backward: 1;\n\t__u64 namespaces: 1;\n\t__u64 ksymbol: 1;\n\t__u64 bpf_event: 1;\n\t__u64 aux_output: 1;\n\t__u64 cgroup: 1;\n\t__u64 text_poke: 1;\n\t__u64 build_id: 1;\n\t__u64 inherit_thread: 1;\n\t__u64 remove_on_exec: 1;\n\t__u64 sigtrap: 1;\n\t__u64 __reserved_1: 26;\n\tunion {\n\t\t__u32 wakeup_events;\n\t\t__u32 wakeup_watermark;\n\t};\n\t__u32 bp_type;\n\tunion {\n\t\t__u64 bp_addr;\n\t\t__u64 kprobe_func;\n\t\t__u64 uprobe_path;\n\t\t__u64 config1;\n\t};\n\tunion {\n\t\t__u64 bp_len;\n\t\t__u64 kprobe_addr;\n\t\t__u64 probe_offset;\n\t\t__u64 config2;\n\t};\n\t__u64 branch_sample_type;\n\t__u64 sample_regs_user;\n\t__u32 sample_stack_user;\n\t__s32 clockid;\n\t__u64 sample_regs_intr;\n\t__u32 aux_watermark;\n\t__u16 sample_max_stack;\n\t__u16 __reserved_2;\n\t__u32 aux_sample_size;\n\tunion {\n\t\t__u32 aux_action;\n\t\tstruct {\n\t\t\t__u32 aux_start_paused: 1;\n\t\t\t__u32 aux_pause: 1;\n\t\t\t__u32 aux_resume: 1;\n\t\t\t__u32 __reserved_3: 29;\n\t\t};\n\t};\n\t__u64 sig_data;\n\t__u64 config3;\n};\n\ntypedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *);\n\nstruct perf_event {\n\tstruct list_head event_entry;\n\tstruct list_head sibling_list;\n\tstruct list_head active_list;\n\tstruct rb_node group_node;\n\tu64 group_index;\n\tstruct list_head migrate_entry;\n\tstruct hlist_node hlist_entry;\n\tstruct list_head active_entry;\n\tint nr_siblings;\n\tint event_caps;\n\tint group_caps;\n\tunsigned int group_generation;\n\tstruct perf_event *group_leader;\n\tstruct pmu *pmu;\n\tvoid *pmu_private;\n\tenum perf_event_state state;\n\tunsigned int attach_state;\n\tlocal64_t count;\n\tatomic64_t child_count;\n\tu64 total_time_enabled;\n\tu64 total_time_running;\n\tu64 tstamp;\n\tstruct perf_event_attr attr;\n\tu16 header_size;\n\tu16 id_header_size;\n\tu16 read_size;\n\tstruct hw_perf_event hw;\n\tstruct perf_event_context *ctx;\n\tstruct perf_event_pmu_context *pmu_ctx;\n\tatomic_long_t refcount;\n\tatomic64_t child_total_time_enabled;\n\tatomic64_t child_total_time_running;\n\tstruct mutex child_mutex;\n\tstruct list_head child_list;\n\tstruct perf_event *parent;\n\tint oncpu;\n\tint cpu;\n\tstruct list_head owner_entry;\n\tstruct task_struct *owner;\n\tstruct mutex mmap_mutex;\n\tatomic_t mmap_count;\n\tstruct perf_buffer *rb;\n\tstruct list_head rb_entry;\n\tlong unsigned int rcu_batches;\n\tint rcu_pending;\n\twait_queue_head_t waitq;\n\tstruct fasync_struct *fasync;\n\tunsigned int pending_wakeup;\n\tunsigned int pending_kill;\n\tunsigned int pending_disable;\n\tlong unsigned int pending_addr;\n\tstruct irq_work pending_irq;\n\tstruct irq_work pending_disable_irq;\n\tstruct callback_head pending_task;\n\tunsigned int pending_work;\n\tstruct rcuwait pending_work_wait;\n\tatomic_t event_limit;\n\tstruct perf_addr_filters_head addr_filters;\n\tstruct perf_addr_filter_range *addr_filter_ranges;\n\tlong unsigned int addr_filters_gen;\n\tstruct perf_event *aux_event;\n\tvoid (*destroy)(struct perf_event *);\n\tstruct callback_head callback_head;\n\tstruct pid_namespace *ns;\n\tu64 id;\n\tatomic64_t lost_samples;\n\tu64 (*clock)(void);\n\tperf_overflow_handler_t overflow_handler;\n\tvoid *overflow_handler_context;\n\tstruct bpf_prog *prog;\n\tu64 bpf_cookie;\n\tstruct trace_event_call *tp_event;\n\tstruct event_filter *filter;\n\tstruct perf_cgroup *cgrp;\n\tvoid *security;\n\tstruct list_head sb_list;\n\t__u32 orig_type;\n};\n\nstruct perf_event_min_heap {\n\tsize_t nr;\n\tsize_t size;\n\tstruct perf_event **data;\n\tstruct perf_event *preallocated[0];\n};\n\nstruct perf_event_mmap_page {\n\t__u32 version;\n\t__u32 compat_version;\n\t__u32 lock;\n\t__u32 index;\n\t__s64 offset;\n\t__u64 time_enabled;\n\t__u64 time_running;\n\tunion {\n\t\t__u64 capabilities;\n\t\tstruct {\n\t\t\t__u64 cap_bit0: 1;\n\t\t\t__u64 cap_bit0_is_deprecated: 1;\n\t\t\t__u64 cap_user_rdpmc: 1;\n\t\t\t__u64 cap_user_time: 1;\n\t\t\t__u64 cap_user_time_zero: 1;\n\t\t\t__u64 cap_user_time_short: 1;\n\t\t\t__u64 cap_____res: 58;\n\t\t};\n\t};\n\t__u16 pmc_width;\n\t__u16 time_shift;\n\t__u32 time_mult;\n\t__u64 time_offset;\n\t__u64 time_zero;\n\t__u32 size;\n\t__u32 __reserved_1;\n\t__u64 time_cycles;\n\t__u64 time_mask;\n\t__u8 __reserved[928];\n\t__u64 data_head;\n\t__u64 data_tail;\n\t__u64 data_offset;\n\t__u64 data_size;\n\t__u64 aux_head;\n\t__u64 aux_tail;\n\t__u64 aux_offset;\n\t__u64 aux_size;\n};\n\nstruct perf_event_query_bpf {\n\t__u32 ids_len;\n\t__u32 prog_cnt;\n\t__u32 ids[0];\n};\n\nstruct perf_event_security_struct {\n\tu32 sid;\n};\n\nstruct perf_guest_info_callbacks {\n\tunsigned int (*state)(void);\n\tlong unsigned int (*get_ip)(void);\n\tunsigned int (*handle_intel_pt_intr)(void);\n};\n\nstruct perf_ksymbol_event {\n\tconst char *name;\n\tint name_len;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 addr;\n\t\tu32 len;\n\t\tu16 ksym_type;\n\t\tu16 flags;\n\t} event_id;\n};\n\nstruct perf_mmap_event {\n\tstruct vm_area_struct *vma;\n\tconst char *file_name;\n\tint file_size;\n\tint maj;\n\tint min;\n\tu64 ino;\n\tu64 ino_generation;\n\tu32 prot;\n\tu32 flags;\n\tu8 build_id[20];\n\tu32 build_id_size;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t\tu64 start;\n\t\tu64 len;\n\t\tu64 pgoff;\n\t} event_id;\n};\n\nstruct perf_ns_link_info {\n\t__u64 dev;\n\t__u64 ino;\n};\n\nstruct perf_namespaces_event {\n\tstruct task_struct *task;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 tid;\n\t\tu64 nr_namespaces;\n\t\tstruct perf_ns_link_info link_info[7];\n\t} event_id;\n};\n\nstruct perf_output_handle {\n\tstruct perf_event *event;\n\tstruct perf_buffer *rb;\n\tlong unsigned int wakeup;\n\tlong unsigned int size;\n\tu64 aux_flags;\n\tunion {\n\t\tvoid *addr;\n\t\tlong unsigned int head;\n\t};\n\tint page;\n};\n\nstruct perf_pmu_events_attr {\n\tstruct device_attribute attr;\n\tu64 id;\n\tconst char *event_str;\n};\n\ntypedef long unsigned int (*perf_copy_f)(void *, const void *, long unsigned int, long unsigned int);\n\nstruct perf_raw_frag {\n\tunion {\n\t\tstruct perf_raw_frag *next;\n\t\tlong unsigned int pad;\n\t};\n\tperf_copy_f copy;\n\tvoid *data;\n\tu32 size;\n} __attribute__((packed));\n\nstruct perf_raw_record {\n\tstruct perf_raw_frag frag;\n\tu32 size;\n};\n\nstruct perf_read_data {\n\tstruct perf_event *event;\n\tbool group;\n\tint ret;\n};\n\nstruct perf_read_event {\n\tstruct perf_event_header header;\n\tu32 pid;\n\tu32 tid;\n};\n\nstruct perf_switch_event {\n\tstruct task_struct *task;\n\tstruct task_struct *next_prev;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 next_prev_pid;\n\t\tu32 next_prev_tid;\n\t} event_id;\n};\n\nstruct perf_task_event {\n\tstruct task_struct *task;\n\tstruct perf_event_context *task_ctx;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu32 pid;\n\t\tu32 ppid;\n\t\tu32 tid;\n\t\tu32 ptid;\n\t\tu64 time;\n\t} event_id;\n};\n\nstruct perf_text_poke_event {\n\tconst void *old_bytes;\n\tconst void *new_bytes;\n\tsize_t pad;\n\tu16 old_len;\n\tu16 new_len;\n\tstruct {\n\t\tstruct perf_event_header header;\n\t\tu64 addr;\n\t} event_id;\n};\n\nstruct pericom8250 {\n\tvoid *virt;\n\tunsigned int nr;\n\tint line[0];\n};\n\nstruct perm_datum {\n\tu32 value;\n};\n\nstruct pernet_operations {\n\tstruct list_head list;\n\tint (*init)(struct net *);\n\tvoid (*pre_exit)(struct net *);\n\tvoid (*exit)(struct net *);\n\tvoid (*exit_batch)(struct list_head *);\n\tvoid (*exit_batch_rtnl)(struct list_head *, struct list_head *);\n\tunsigned int * const id;\n\tconst size_t size;\n};\n\nstruct pf_desc {\n\tu32 pseudoflavor;\n\tu32 qop;\n\tu32 service;\n\tchar *name;\n\tchar *auth_domain_name;\n\tstruct auth_domain *domain;\n\tbool datatouch;\n};\n\nstruct skb_array {\n\tstruct ptr_ring ring;\n};\n\nstruct pfifo_fast_priv {\n\tstruct skb_array q[3];\n};\n\nstruct zone {\n\tlong unsigned int _watermark[4];\n\tlong unsigned int watermark_boost;\n\tlong unsigned int nr_reserved_highatomic;\n\tlong unsigned int nr_free_highatomic;\n\tlong int lowmem_reserve[3];\n\tstruct pglist_data *zone_pgdat;\n\tstruct per_cpu_pages *per_cpu_pageset;\n\tstruct per_cpu_zonestat *per_cpu_zonestats;\n\tint pageset_high_min;\n\tint pageset_high_max;\n\tint pageset_batch;\n\tlong unsigned int zone_start_pfn;\n\tatomic_long_t managed_pages;\n\tlong unsigned int spanned_pages;\n\tlong unsigned int present_pages;\n\tconst char *name;\n\tint initialized;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct free_area free_area[11];\n\tlong unsigned int flags;\n\tspinlock_t lock;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tlong unsigned int percpu_drift_mark;\n\tlong unsigned int compact_cached_free_pfn;\n\tlong unsigned int compact_cached_migrate_pfn[2];\n\tlong unsigned int compact_init_migrate_pfn;\n\tlong unsigned int compact_init_free_pfn;\n\tunsigned int compact_considered;\n\tunsigned int compact_defer_shift;\n\tint compact_order_failed;\n\tbool compact_blockskip_flush;\n\tbool contiguous;\n\tlong: 0;\n\tstruct cacheline_padding _pad3_;\n\tatomic_long_t vm_stat[10];\n\tatomic_long_t vm_numa_event[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct zoneref {\n\tstruct zone *zone;\n\tint zone_idx;\n};\n\nstruct zonelist {\n\tstruct zoneref _zonerefs[4];\n};\n\nstruct pglist_data {\n\tstruct zone node_zones[3];\n\tstruct zonelist node_zonelists[1];\n\tint nr_zones;\n\tlong unsigned int node_start_pfn;\n\tlong unsigned int node_present_pages;\n\tlong unsigned int node_spanned_pages;\n\tint node_id;\n\twait_queue_head_t kswapd_wait;\n\twait_queue_head_t pfmemalloc_wait;\n\twait_queue_head_t reclaim_wait[4];\n\tatomic_t nr_writeback_throttled;\n\tlong unsigned int nr_reclaim_start;\n\tstruct task_struct *kswapd;\n\tint kswapd_order;\n\tenum zone_type kswapd_highest_zoneidx;\n\tint kswapd_failures;\n\tint kcompactd_max_order;\n\tenum zone_type kcompactd_highest_zoneidx;\n\twait_queue_head_t kcompactd_wait;\n\tstruct task_struct *kcompactd;\n\tbool proactive_compact_trigger;\n\tlong unsigned int totalreserve_pages;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad1_;\n\tstruct lruvec __lruvec;\n\tlong unsigned int flags;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct cacheline_padding _pad2_;\n\tstruct per_cpu_nodestat *per_cpu_nodestats;\n\tatomic_long_t vm_stat[46];\n\tlong: 64;\n};\n\nstruct pgtable_debug_args {\n\tstruct mm_struct *mm;\n\tstruct vm_area_struct *vma;\n\tpgd_t *pgdp;\n\tp4d_t *p4dp;\n\tpud_t *pudp;\n\tpmd_t *pmdp;\n\tpte_t *ptep;\n\tp4d_t *start_p4dp;\n\tpud_t *start_pudp;\n\tpmd_t *start_pmdp;\n\tpgtable_t start_ptep;\n\tlong unsigned int vaddr;\n\tpgprot_t page_prot;\n\tpgprot_t page_prot_none;\n\tbool is_contiguous_page;\n\tlong unsigned int pud_pfn;\n\tlong unsigned int pmd_pfn;\n\tlong unsigned int pte_pfn;\n\tlong unsigned int fixed_alignment;\n\tlong unsigned int fixed_pgd_pfn;\n\tlong unsigned int fixed_p4d_pfn;\n\tlong unsigned int fixed_pud_pfn;\n\tlong unsigned int fixed_pmd_pfn;\n\tlong unsigned int fixed_pte_pfn;\n};\n\nstruct pgv {\n\tchar *buffer;\n};\n\nstruct phc_vclocks_reply_data {\n\tstruct ethnl_reply_data base;\n\tint num;\n\tint *index;\n};\n\nstruct phy_attrs {\n\tu32 bus_width;\n\tu32 max_link_rate;\n\tenum phy_mode mode;\n};\n\nstruct phy_ops;\n\nstruct phy {\n\tstruct device dev;\n\tint id;\n\tconst struct phy_ops *ops;\n\tstruct mutex mutex;\n\tint init_count;\n\tint power_count;\n\tstruct phy_attrs attrs;\n\tstruct regulator *pwr;\n\tstruct dentry *debugfs;\n};\n\nstruct phy_c45_device_ids {\n\tu32 devices_in_package;\n\tu32 mmds_present;\n\tu32 device_ids[32];\n};\n\nstruct phy_configure_opts_mipi_dphy {\n\tunsigned int clk_miss;\n\tunsigned int clk_post;\n\tunsigned int clk_pre;\n\tunsigned int clk_prepare;\n\tunsigned int clk_settle;\n\tunsigned int clk_term_en;\n\tunsigned int clk_trail;\n\tunsigned int clk_zero;\n\tunsigned int d_term_en;\n\tunsigned int eot;\n\tunsigned int hs_exit;\n\tunsigned int hs_prepare;\n\tunsigned int hs_settle;\n\tunsigned int hs_skip;\n\tunsigned int hs_trail;\n\tunsigned int hs_zero;\n\tunsigned int init;\n\tunsigned int lpx;\n\tunsigned int ta_get;\n\tunsigned int ta_go;\n\tunsigned int ta_sure;\n\tunsigned int wakeup;\n\tlong unsigned int hs_clk_rate;\n\tlong unsigned int lp_clk_rate;\n\tunsigned char lanes;\n};\n\nstruct phy_configure_opts_dp {\n\tunsigned int link_rate;\n\tunsigned int lanes;\n\tunsigned int voltage[4];\n\tunsigned int pre[4];\n\tu8 ssc: 1;\n\tu8 set_rate: 1;\n\tu8 set_lanes: 1;\n\tu8 set_voltages: 1;\n};\n\nstruct phy_configure_opts_lvds {\n\tunsigned int bits_per_lane_and_dclk_cycle;\n\tlong unsigned int differential_clk_rate;\n\tunsigned int lanes;\n\tbool is_slave;\n};\n\nunion phy_configure_opts {\n\tstruct phy_configure_opts_mipi_dphy mipi_dphy;\n\tstruct phy_configure_opts_dp dp;\n\tstruct phy_configure_opts_lvds lvds;\n};\n\nstruct pse_control;\n\nstruct phy_driver;\n\nstruct phy_device {\n\tstruct mdio_device mdio;\n\tconst struct phy_driver *drv;\n\tstruct device_link *devlink;\n\tu32 phyindex;\n\tu32 phy_id;\n\tstruct phy_c45_device_ids c45_ids;\n\tunsigned int is_c45: 1;\n\tunsigned int is_internal: 1;\n\tunsigned int is_pseudo_fixed_link: 1;\n\tunsigned int is_gigabit_capable: 1;\n\tunsigned int has_fixups: 1;\n\tunsigned int suspended: 1;\n\tunsigned int suspended_by_mdio_bus: 1;\n\tunsigned int sysfs_links: 1;\n\tunsigned int loopback_enabled: 1;\n\tunsigned int downshifted_rate: 1;\n\tunsigned int is_on_sfp_module: 1;\n\tunsigned int mac_managed_pm: 1;\n\tunsigned int wol_enabled: 1;\n\tunsigned int autoneg: 1;\n\tunsigned int link: 1;\n\tunsigned int autoneg_complete: 1;\n\tunsigned int interrupts: 1;\n\tunsigned int irq_suspended: 1;\n\tunsigned int irq_rerun: 1;\n\tunsigned int default_timestamp: 1;\n\tint rate_matching;\n\tenum phy_state state;\n\tu32 dev_flags;\n\tphy_interface_t interface;\n\tlong unsigned int possible_interfaces[1];\n\tint speed;\n\tint duplex;\n\tint port;\n\tint pause;\n\tint asym_pause;\n\tu8 master_slave_get;\n\tu8 master_slave_set;\n\tu8 master_slave_state;\n\tlong unsigned int supported[2];\n\tlong unsigned int advertising[2];\n\tlong unsigned int lp_advertising[2];\n\tlong unsigned int adv_old[2];\n\tlong unsigned int supported_eee[2];\n\tlong unsigned int advertising_eee[2];\n\tlong unsigned int eee_broken_modes[2];\n\tbool enable_tx_lpi;\n\tbool eee_active;\n\tstruct eee_config eee_cfg;\n\tlong unsigned int host_interfaces[1];\n\tstruct list_head leds;\n\tint irq;\n\tvoid *priv;\n\tstruct phy_package_shared *shared;\n\tstruct sk_buff *skb;\n\tvoid *ehdr;\n\tstruct nlattr *nest;\n\tstruct delayed_work state_queue;\n\tstruct mutex lock;\n\tbool sfp_bus_attached;\n\tstruct sfp_bus *sfp_bus;\n\tstruct phylink *phylink;\n\tstruct net_device *attached_dev;\n\tstruct mii_timestamper *mii_ts;\n\tstruct pse_control *psec;\n\tu8 mdix;\n\tu8 mdix_ctrl;\n\tint pma_extable;\n\tunsigned int link_down_events;\n\tvoid (*phy_link_change)(struct phy_device *, bool);\n\tvoid (*adjust_link)(struct net_device *);\n};\n\nstruct phy_device_node {\n\tenum phy_upstream upstream_type;\n\tunion {\n\t\tstruct net_device *netdev;\n\t\tstruct phy_device *phydev;\n\t} upstream;\n\tstruct sfp_bus *parent_sfp_bus;\n\tstruct phy_device *phy;\n};\n\nstruct usb_phy;\n\nstruct phy_devm {\n\tstruct usb_phy *phy;\n\tstruct notifier_block *nb;\n};\n\nstruct phy_driver {\n\tstruct mdio_driver_common mdiodrv;\n\tu32 phy_id;\n\tchar *name;\n\tu32 phy_id_mask;\n\tconst long unsigned int * const features;\n\tu32 flags;\n\tconst void *driver_data;\n\tint (*soft_reset)(struct phy_device *);\n\tint (*config_init)(struct phy_device *);\n\tint (*probe)(struct phy_device *);\n\tint (*get_features)(struct phy_device *);\n\tunsigned int (*inband_caps)(struct phy_device *, phy_interface_t);\n\tint (*config_inband)(struct phy_device *, unsigned int);\n\tint (*get_rate_matching)(struct phy_device *, phy_interface_t);\n\tint (*suspend)(struct phy_device *);\n\tint (*resume)(struct phy_device *);\n\tint (*config_aneg)(struct phy_device *);\n\tint (*aneg_done)(struct phy_device *);\n\tint (*read_status)(struct phy_device *);\n\tint (*config_intr)(struct phy_device *);\n\tirqreturn_t (*handle_interrupt)(struct phy_device *);\n\tvoid (*remove)(struct phy_device *);\n\tint (*match_phy_device)(struct phy_device *);\n\tint (*set_wol)(struct phy_device *, struct ethtool_wolinfo *);\n\tvoid (*get_wol)(struct phy_device *, struct ethtool_wolinfo *);\n\tvoid (*link_change_notify)(struct phy_device *);\n\tint (*read_mmd)(struct phy_device *, int, u16);\n\tint (*write_mmd)(struct phy_device *, int, u16, u16);\n\tint (*read_page)(struct phy_device *);\n\tint (*write_page)(struct phy_device *, int);\n\tint (*module_info)(struct phy_device *, struct ethtool_modinfo *);\n\tint (*module_eeprom)(struct phy_device *, struct ethtool_eeprom *, u8 *);\n\tint (*cable_test_start)(struct phy_device *);\n\tint (*cable_test_tdr_start)(struct phy_device *, const struct phy_tdr_config *);\n\tint (*cable_test_get_status)(struct phy_device *, bool *);\n\tvoid (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *);\n\tvoid (*get_link_stats)(struct phy_device *, struct ethtool_link_ext_stats *);\n\tint (*update_stats)(struct phy_device *);\n\tint (*get_sset_count)(struct phy_device *);\n\tvoid (*get_strings)(struct phy_device *, u8 *);\n\tvoid (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *);\n\tint (*get_tunable)(struct phy_device *, struct ethtool_tunable *, void *);\n\tint (*set_tunable)(struct phy_device *, struct ethtool_tunable *, const void *);\n\tint (*set_loopback)(struct phy_device *, bool);\n\tint (*get_sqi)(struct phy_device *);\n\tint (*get_sqi_max)(struct phy_device *);\n\tint (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *);\n\tint (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *);\n\tint (*get_plca_status)(struct phy_device *, struct phy_plca_status *);\n\tint (*led_brightness_set)(struct phy_device *, u8, enum led_brightness);\n\tint (*led_blink_set)(struct phy_device *, u8, long unsigned int *, long unsigned int *);\n\tint (*led_hw_is_supported)(struct phy_device *, u8, long unsigned int);\n\tint (*led_hw_control_set)(struct phy_device *, u8, long unsigned int);\n\tint (*led_hw_control_get)(struct phy_device *, u8, long unsigned int *);\n\tint (*led_polarity_set)(struct phy_device *, int, long unsigned int);\n};\n\nstruct phy_fixup {\n\tstruct list_head list;\n\tchar bus_id[64];\n\tu32 phy_uid;\n\tu32 phy_uid_mask;\n\tint (*run)(struct phy_device *);\n};\n\nstruct phy_link_topology {\n\tstruct xarray phys;\n\tu32 next_phy_index;\n};\n\nstruct phy_lookup {\n\tstruct list_head node;\n\tconst char *dev_id;\n\tconst char *con_id;\n\tstruct phy *phy;\n};\n\nstruct phy_ops {\n\tint (*init)(struct phy *);\n\tint (*exit)(struct phy *);\n\tint (*power_on)(struct phy *);\n\tint (*power_off)(struct phy *);\n\tint (*set_mode)(struct phy *, enum phy_mode, int);\n\tint (*set_media)(struct phy *, enum phy_media);\n\tint (*set_speed)(struct phy *, int);\n\tint (*configure)(struct phy *, union phy_configure_opts *);\n\tint (*validate)(struct phy *, enum phy_mode, int, union phy_configure_opts *);\n\tint (*reset)(struct phy *);\n\tint (*calibrate)(struct phy *);\n\tint (*connect)(struct phy *, int);\n\tint (*disconnect)(struct phy *, int);\n\tvoid (*release)(struct phy *);\n\tstruct module *owner;\n};\n\nstruct phy_package_shared {\n\tu8 base_addr;\n\tstruct device_node *np;\n\trefcount_t refcnt;\n\tlong unsigned int flags;\n\tsize_t priv_size;\n\tvoid *priv;\n};\n\nstruct phy_plca_cfg {\n\tint version;\n\tint enabled;\n\tint node_id;\n\tint node_cnt;\n\tint to_tmr;\n\tint burst_cnt;\n\tint burst_tmr;\n};\n\nstruct phy_plca_status {\n\tbool pst;\n};\n\nstruct phy_provider {\n\tstruct device *dev;\n\tstruct device_node *children;\n\tstruct module *owner;\n\tstruct list_head list;\n\tstruct phy * (*of_xlate)(struct device *, const struct of_phandle_args *);\n};\n\nstruct phy_reg {\n\tu16 reg;\n\tu16 val;\n};\n\nstruct phy_req_info {\n\tstruct ethnl_req_info base;\n\tstruct phy_device_node *pdn;\n};\n\nstruct phy_setting {\n\tu32 speed;\n\tu8 duplex;\n\tu8 bit;\n};\n\nstruct phy_tdr_config {\n\tu32 first;\n\tu32 last;\n\tu32 step;\n\ts8 pair;\n};\n\nstruct phylib_stubs {\n\tint (*hwtstamp_get)(struct phy_device *, struct kernel_hwtstamp_config *);\n\tint (*hwtstamp_set)(struct phy_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *);\n\tvoid (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *);\n\tvoid (*get_link_ext_stats)(struct phy_device *, struct ethtool_link_ext_stats *);\n};\n\nstruct phylink_link_state {\n\tlong unsigned int advertising[2];\n\tlong unsigned int lp_advertising[2];\n\tphy_interface_t interface;\n\tint speed;\n\tint duplex;\n\tint pause;\n\tint rate_matching;\n\tunsigned int link: 1;\n\tunsigned int an_complete: 1;\n};\n\nstruct phylink_mac_ops;\n\nstruct phylink {\n\tstruct net_device *netdev;\n\tconst struct phylink_mac_ops *mac_ops;\n\tstruct phylink_config *config;\n\tstruct phylink_pcs *pcs;\n\tstruct device *dev;\n\tunsigned int old_link_state: 1;\n\tlong unsigned int phylink_disable_state;\n\tstruct phy_device *phydev;\n\tphy_interface_t link_interface;\n\tu8 cfg_link_an_mode;\n\tu8 req_link_an_mode;\n\tu8 act_link_an_mode;\n\tu8 link_port;\n\tlong unsigned int supported[2];\n\tlong unsigned int supported_lpi[2];\n\tstruct phylink_link_state link_config;\n\tphy_interface_t cur_interface;\n\tstruct gpio_desc *link_gpio;\n\tunsigned int link_irq;\n\tstruct timer_list link_poll;\n\tvoid (*get_fixed_state)(struct net_device *, struct phylink_link_state *);\n\tstruct mutex state_mutex;\n\tstruct phylink_link_state phy_state;\n\tunsigned int phy_ib_mode;\n\tstruct work_struct resolve;\n\tunsigned int pcs_neg_mode;\n\tunsigned int pcs_state;\n\tbool link_failed;\n\tbool mac_supports_eee_ops;\n\tbool mac_supports_eee;\n\tbool phy_enable_tx_lpi;\n\tbool mac_enable_tx_lpi;\n\tbool mac_tx_clk_stop;\n\tu32 mac_tx_lpi_timer;\n\tstruct sfp_bus *sfp_bus;\n\tbool sfp_may_have_phy;\n\tlong unsigned int sfp_interfaces[1];\n\tlong unsigned int sfp_support[2];\n\tu8 sfp_port;\n\tstruct eee_config eee_cfg;\n};\n\nstruct phylink_mac_ops {\n\tlong unsigned int (*mac_get_caps)(struct phylink_config *, phy_interface_t);\n\tstruct phylink_pcs * (*mac_select_pcs)(struct phylink_config *, phy_interface_t);\n\tint (*mac_prepare)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_config)(struct phylink_config *, unsigned int, const struct phylink_link_state *);\n\tint (*mac_finish)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_link_down)(struct phylink_config *, unsigned int, phy_interface_t);\n\tvoid (*mac_link_up)(struct phylink_config *, struct phy_device *, unsigned int, phy_interface_t, int, int, bool, bool);\n\tvoid (*mac_disable_tx_lpi)(struct phylink_config *);\n\tint (*mac_enable_tx_lpi)(struct phylink_config *, u32, bool);\n};\n\nstruct phylink_pcs_ops {\n\tint (*pcs_validate)(struct phylink_pcs *, long unsigned int *, const struct phylink_link_state *);\n\tunsigned int (*pcs_inband_caps)(struct phylink_pcs *, phy_interface_t);\n\tint (*pcs_enable)(struct phylink_pcs *);\n\tvoid (*pcs_disable)(struct phylink_pcs *);\n\tvoid (*pcs_pre_config)(struct phylink_pcs *, phy_interface_t);\n\tint (*pcs_post_config)(struct phylink_pcs *, phy_interface_t);\n\tvoid (*pcs_get_state)(struct phylink_pcs *, unsigned int, struct phylink_link_state *);\n\tint (*pcs_config)(struct phylink_pcs *, unsigned int, phy_interface_t, const long unsigned int *, bool);\n\tvoid (*pcs_an_restart)(struct phylink_pcs *);\n\tvoid (*pcs_link_up)(struct phylink_pcs *, unsigned int, phy_interface_t, int, int);\n\tint (*pcs_pre_init)(struct phylink_pcs *);\n};\n\nstruct phys_vec {\n\tphys_addr_t paddr;\n\tu32 len;\n};\n\nstruct upid {\n\tint nr;\n\tstruct pid_namespace *ns;\n};\n\nstruct pid {\n\trefcount_t count;\n\tunsigned int level;\n\tspinlock_t lock;\n\tstruct dentry *stashed;\n\tu64 ino;\n\tstruct rb_node pidfs_node;\n\tstruct hlist_head tasks[4];\n\tstruct hlist_head inodes;\n\twait_queue_head_t wait_pidfd;\n\tstruct callback_head rcu;\n\tstruct upid numbers[0];\n};\n\nunion proc_op {\n\tint (*proc_get_link)(struct dentry *, struct path *);\n\tint (*proc_show)(struct seq_file *, struct pid_namespace *, struct pid *, struct task_struct *);\n\tint lsmid;\n};\n\nstruct pid_entry {\n\tconst char *name;\n\tunsigned int len;\n\tumode_t mode;\n\tconst struct inode_operations *iop;\n\tconst struct file_operations *fop;\n\tunion proc_op op;\n};\n\nstruct pid_namespace {\n\tstruct idr idr;\n\tstruct callback_head rcu;\n\tunsigned int pid_allocated;\n\tstruct task_struct *child_reaper;\n\tstruct kmem_cache *pid_cachep;\n\tunsigned int level;\n\tint pid_max;\n\tstruct pid_namespace *parent;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tint reboot;\n\tstruct ns_common ns;\n\tstruct work_struct work;\n\tstruct ctl_table_set set;\n\tstruct ctl_table_header *sysctls;\n\tint memfd_noexec_scope;\n};\n\nstruct pidfd_info {\n\t__u64 mask;\n\t__u64 cgroupid;\n\t__u32 pid;\n\t__u32 tgid;\n\t__u32 ppid;\n\t__u32 ruid;\n\t__u32 rgid;\n\t__u32 euid;\n\t__u32 egid;\n\t__u32 suid;\n\t__u32 sgid;\n\t__u32 fsuid;\n\t__u32 fsgid;\n\t__u32 spare0[1];\n};\n\nstruct pids_cgroup {\n\tstruct cgroup_subsys_state css;\n\tatomic64_t counter;\n\tatomic64_t limit;\n\tint64_t watermark;\n\tstruct cgroup_file events_file;\n\tstruct cgroup_file events_local_file;\n\tatomic64_t events[2];\n\tatomic64_t events_local[2];\n};\n\nstruct pin_config_item {\n\tconst enum pin_config_param param;\n\tconst char * const display;\n\tconst char * const format;\n\tbool has_arg;\n};\n\nstruct pinctrl_setting_mux;\n\nstruct pin_desc {\n\tstruct pinctrl_dev *pctldev;\n\tconst char *name;\n\tbool dynamic_name;\n\tvoid *drv_data;\n\tunsigned int mux_usecount;\n\tconst char *mux_owner;\n\tconst struct pinctrl_setting_mux *mux_setting;\n\tconst char *gpio_owner;\n\tstruct mutex mux_lock;\n};\n\nstruct pinconf_generic_params {\n\tconst char * const property;\n\tenum pin_config_param param;\n\tu32 default_value;\n};\n\nstruct pinconf_ops {\n\tbool is_generic;\n\tint (*pin_config_get)(struct pinctrl_dev *, unsigned int, long unsigned int *);\n\tint (*pin_config_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int);\n\tint (*pin_config_group_get)(struct pinctrl_dev *, unsigned int, long unsigned int *);\n\tint (*pin_config_group_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int);\n\tvoid (*pin_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tvoid (*pin_config_group_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tvoid (*pin_config_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, long unsigned int);\n};\n\nstruct pinctrl {\n\tstruct list_head node;\n\tstruct device *dev;\n\tstruct list_head states;\n\tstruct pinctrl_state *state;\n\tstruct list_head dt_maps;\n\tstruct kref users;\n};\n\nstruct pinctrl_dev {\n\tstruct list_head node;\n\tstruct pinctrl_desc *desc;\n\tstruct xarray pin_desc_tree;\n\tstruct xarray pin_group_tree;\n\tunsigned int num_groups;\n\tstruct xarray pin_function_tree;\n\tunsigned int num_functions;\n\tstruct list_head gpio_ranges;\n\tstruct device *dev;\n\tstruct module *owner;\n\tvoid *driver_data;\n\tstruct pinctrl *p;\n\tstruct pinctrl_state *hog_default;\n\tstruct pinctrl_state *hog_sleep;\n\tstruct mutex mutex;\n\tstruct dentry *device_root;\n};\n\nstruct pinctrl_map;\n\nstruct pinctrl_dt_map {\n\tstruct list_head node;\n\tstruct pinctrl_dev *pctldev;\n\tstruct pinctrl_map *map;\n\tunsigned int num_maps;\n};\n\nstruct pinctrl_map_mux {\n\tconst char *group;\n\tconst char *function;\n};\n\nstruct pinctrl_map_configs {\n\tconst char *group_or_pin;\n\tlong unsigned int *configs;\n\tunsigned int num_configs;\n};\n\nstruct pinctrl_map {\n\tconst char *dev_name;\n\tconst char *name;\n\tenum pinctrl_map_type type;\n\tconst char *ctrl_dev_name;\n\tunion {\n\t\tstruct pinctrl_map_mux mux;\n\t\tstruct pinctrl_map_configs configs;\n\t} data;\n};\n\nstruct pinctrl_maps {\n\tstruct list_head node;\n\tconst struct pinctrl_map *maps;\n\tunsigned int num_maps;\n};\n\nstruct pinctrl_ops {\n\tint (*get_groups_count)(struct pinctrl_dev *);\n\tconst char * (*get_group_name)(struct pinctrl_dev *, unsigned int);\n\tint (*get_group_pins)(struct pinctrl_dev *, unsigned int, const unsigned int **, unsigned int *);\n\tvoid (*pin_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int);\n\tint (*dt_node_to_map)(struct pinctrl_dev *, struct device_node *, struct pinctrl_map **, unsigned int *);\n\tvoid (*dt_free_map)(struct pinctrl_dev *, struct pinctrl_map *, unsigned int);\n};\n\nstruct pinctrl_pin_desc {\n\tunsigned int number;\n\tconst char *name;\n\tvoid *drv_data;\n};\n\nstruct pinctrl_setting_mux {\n\tunsigned int group;\n\tunsigned int func;\n};\n\nstruct pinctrl_setting_configs {\n\tunsigned int group_or_pin;\n\tlong unsigned int *configs;\n\tunsigned int num_configs;\n};\n\nstruct pinctrl_setting {\n\tstruct list_head node;\n\tenum pinctrl_map_type type;\n\tstruct pinctrl_dev *pctldev;\n\tconst char *dev_name;\n\tunion {\n\t\tstruct pinctrl_setting_mux mux;\n\t\tstruct pinctrl_setting_configs configs;\n\t} data;\n};\n\nstruct pinctrl_state {\n\tstruct list_head node;\n\tconst char *name;\n\tstruct list_head settings;\n};\n\nstruct ping_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n\tsa_family_t family;\n};\n\nstruct ping_table {\n\tstruct hlist_head hash[64];\n\tspinlock_t lock;\n};\n\nstruct pingfakehdr {\n\tstruct icmphdr icmph;\n\tstruct msghdr *msg;\n\tsa_family_t family;\n\t__wsum wcheck;\n};\n\nstruct pingv6_ops {\n\tint (*ipv6_recv_error)(struct sock *, struct msghdr *, int, int *);\n\tvoid (*ip6_datagram_recv_common_ctl)(struct sock *, struct msghdr *, struct sk_buff *);\n\tvoid (*ip6_datagram_recv_specific_ctl)(struct sock *, struct msghdr *, struct sk_buff *);\n\tint (*icmpv6_err_convert)(u8, u8, int *);\n\tvoid (*ipv6_icmp_error)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\tint (*ipv6_chk_addr)(struct net *, const struct in6_addr *, const struct net_device *, int);\n};\n\nstruct pinmux_ops {\n\tint (*request)(struct pinctrl_dev *, unsigned int);\n\tint (*free)(struct pinctrl_dev *, unsigned int);\n\tint (*get_functions_count)(struct pinctrl_dev *);\n\tconst char * (*get_function_name)(struct pinctrl_dev *, unsigned int);\n\tint (*get_function_groups)(struct pinctrl_dev *, unsigned int, const char * const **, unsigned int *);\n\tint (*set_mux)(struct pinctrl_dev *, unsigned int, unsigned int);\n\tint (*gpio_request_enable)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int);\n\tvoid (*gpio_disable_free)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int);\n\tint (*gpio_set_direction)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int, bool);\n\tbool strict;\n};\n\nstruct pipe_buffer;\n\nstruct pipe_buf_operations {\n\tint (*confirm)(struct pipe_inode_info *, struct pipe_buffer *);\n\tvoid (*release)(struct pipe_inode_info *, struct pipe_buffer *);\n\tbool (*try_steal)(struct pipe_inode_info *, struct pipe_buffer *);\n\tbool (*get)(struct pipe_inode_info *, struct pipe_buffer *);\n};\n\nstruct pipe_buffer {\n\tstruct page *page;\n\tunsigned int offset;\n\tunsigned int len;\n\tconst struct pipe_buf_operations *ops;\n\tunsigned int flags;\n\tlong unsigned int private;\n};\n\nunion pipe_index {\n\tlong unsigned int head_tail;\n\tstruct {\n\t\tpipe_index_t head;\n\t\tpipe_index_t tail;\n\t};\n};\n\nstruct pipe_inode_info {\n\tstruct mutex mutex;\n\twait_queue_head_t rd_wait;\n\twait_queue_head_t wr_wait;\n\tunion {\n\t\tlong unsigned int head_tail;\n\t\tstruct {\n\t\t\tpipe_index_t head;\n\t\t\tpipe_index_t tail;\n\t\t};\n\t};\n\tunsigned int max_usage;\n\tunsigned int ring_size;\n\tunsigned int nr_accounted;\n\tunsigned int readers;\n\tunsigned int writers;\n\tunsigned int files;\n\tunsigned int r_counter;\n\tunsigned int w_counter;\n\tbool poll_usage;\n\tstruct page *tmp_page;\n\tstruct fasync_struct *fasync_readers;\n\tstruct fasync_struct *fasync_writers;\n\tstruct pipe_buffer *bufs;\n\tstruct user_struct *user;\n};\n\nstruct pipe_wait {\n\tstruct trace_iterator *iter;\n\tint wait_index;\n};\n\nstruct pkcs1pad_ctx {\n\tstruct crypto_akcipher *child;\n\tunsigned int key_size;\n};\n\nstruct pkcs1pad_inst_ctx {\n\tstruct crypto_akcipher_spawn spawn;\n};\n\nstruct pkcs1pad_request {\n\tstruct scatterlist in_sg[2];\n\tstruct scatterlist out_sg[1];\n\tuint8_t *in_buf;\n\tuint8_t *out_buf;\n\tstruct akcipher_request child_req;\n};\n\nstruct plat_serial8250_port {\n\tlong unsigned int iobase;\n\tvoid *membase;\n\tresource_size_t mapbase;\n\tresource_size_t mapsize;\n\tunsigned int uartclk;\n\tunsigned int irq;\n\tlong unsigned int irqflags;\n\tvoid *private_data;\n\tunsigned char regshift;\n\tunsigned char iotype;\n\tunsigned char hub6;\n\tunsigned char has_sysrq;\n\tunsigned int type;\n\tupf_t flags;\n\tu16 bugs;\n\tunsigned int (*serial_in)(struct uart_port *, int);\n\tvoid (*serial_out)(struct uart_port *, int, int);\n\tu32 (*dl_read)(struct uart_8250_port *);\n\tvoid (*dl_write)(struct uart_8250_port *, u32);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tint (*handle_irq)(struct uart_port *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tvoid (*handle_break)(struct uart_port *);\n};\n\nstruct platform_device_id {\n\tchar name[20];\n\tkernel_ulong_t driver_data;\n};\n\nstruct platform_device_info {\n\tstruct device *parent;\n\tstruct fwnode_handle *fwnode;\n\tbool of_node_reused;\n\tconst char *name;\n\tint id;\n\tconst struct resource *res;\n\tunsigned int num_res;\n\tconst void *data;\n\tsize_t size_data;\n\tu64 dma_mask;\n\tconst struct property_entry *properties;\n};\n\nstruct platform_driver {\n\tint (*probe)(struct platform_device *);\n\tvoid (*remove)(struct platform_device *);\n\tvoid (*shutdown)(struct platform_device *);\n\tint (*suspend)(struct platform_device *, pm_message_t);\n\tint (*resume)(struct platform_device *);\n\tstruct device_driver driver;\n\tconst struct platform_device_id *id_table;\n\tbool prevent_deferred_probe;\n\tbool driver_managed_dma;\n};\n\nstruct platform_object {\n\tstruct platform_device pdev;\n\tchar name[0];\n};\n\nstruct platform_s2idle_ops {\n\tint (*begin)(void);\n\tint (*prepare)(void);\n\tint (*prepare_late)(void);\n\tvoid (*check)(void);\n\tbool (*wake)(void);\n\tvoid (*restore_early)(void);\n\tvoid (*restore)(void);\n\tvoid (*end)(void);\n};\n\nstruct platform_suspend_ops {\n\tint (*valid)(suspend_state_t);\n\tint (*begin)(suspend_state_t);\n\tint (*prepare)(void);\n\tint (*prepare_late)(void);\n\tint (*enter)(suspend_state_t);\n\tvoid (*wake)(void);\n\tvoid (*finish)(void);\n\tbool (*suspend_again)(void);\n\tvoid (*end)(void);\n\tvoid (*recover)(void);\n};\n\nstruct plca_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct phy_plca_cfg plca_cfg;\n\tstruct phy_plca_status plca_st;\n};\n\nstruct plda_pcie_rp;\n\nstruct plda_event {\n\tint (*request_event_irq)(struct plda_pcie_rp *, int, int);\n\tint intx_event;\n\tint msi_event;\n};\n\nstruct plda_event_ops {\n\tu32 (*get_events)(struct plda_pcie_rp *);\n};\n\nstruct plda_msi {\n\tstruct mutex lock;\n\tstruct irq_domain *msi_domain;\n\tstruct irq_domain *dev_domain;\n\tu32 num_vectors;\n\tu64 vector_phy;\n\tlong unsigned int used[1];\n};\n\nstruct plda_pcie_host_ops {\n\tint (*host_init)(struct plda_pcie_rp *);\n\tvoid (*host_deinit)(struct plda_pcie_rp *);\n};\n\nstruct plda_pcie_rp {\n\tstruct device *dev;\n\tstruct pci_host_bridge *bridge;\n\tstruct irq_domain *intx_domain;\n\tstruct irq_domain *event_domain;\n\traw_spinlock_t lock;\n\tstruct plda_msi msi;\n\tconst struct plda_event_ops *event_ops;\n\tconst struct irq_chip *event_irq_chip;\n\tconst struct plda_pcie_host_ops *host_ops;\n\tvoid *bridge_addr;\n\tvoid *config_base;\n\tlong unsigned int events_bitmap;\n\tint irq;\n\tint msi_irq;\n\tint intx_irq;\n\tint num_events;\n};\n\nstruct plic_priv;\n\nstruct plic_handler {\n\tbool present;\n\tvoid *hart_base;\n\traw_spinlock_t enable_lock;\n\tvoid *enable_base;\n\tu32 *enable_save;\n\tstruct plic_priv *priv;\n};\n\nstruct plic_priv {\n\tstruct fwnode_handle *fwnode;\n\tstruct cpumask lmask;\n\tstruct irq_domain *irqdomain;\n\tvoid *regs;\n\tlong unsigned int plic_quirks;\n\tunsigned int nr_irqs;\n\tlong unsigned int *prio_save;\n\tu32 gsi_base;\n\tint acpi_plic_id;\n};\n\nstruct pm_clk_notifier_block {\n\tstruct notifier_block nb;\n\tstruct dev_pm_domain *pm_domain;\n\tchar *con_ids[0];\n};\n\nstruct pm_clock_entry {\n\tstruct list_head node;\n\tchar *con_id;\n\tstruct clk *clk;\n\tenum pce_status status;\n\tbool enabled_when_prepared;\n};\n\nstruct pm_subsys_data {\n\tspinlock_t lock;\n\tunsigned int refcount;\n\tunsigned int clock_op_might_sleep;\n\tstruct mutex clock_mutex;\n\tstruct list_head clock_list;\n\tstruct pm_domain_data *domain_data;\n};\n\nstruct pm_vt_switch {\n\tstruct list_head head;\n\tstruct device *dev;\n\tbool required;\n};\n\nstruct pmem_device {\n\tphys_addr_t phys_addr;\n\tphys_addr_t data_offset;\n\tu64 pfn_flags;\n\tvoid *virt_addr;\n\tsize_t size;\n\tu32 pfn_pad;\n\tstruct kernfs_node *bb_state;\n\tstruct badblocks bb;\n\tstruct dax_device *dax_dev;\n\tstruct gendisk *disk;\n\tstruct dev_pagemap pgmap;\n};\n\nstruct pmu_event_list {\n\traw_spinlock_t lock;\n\tstruct list_head list;\n};\n\nstruct pneigh_entry {\n\tstruct pneigh_entry *next;\n\tpossible_net_t net;\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tu32 flags;\n\tu8 protocol;\n\tu32 key[0];\n};\n\nstruct pnfs_commit_bucket {\n\tstruct list_head written;\n\tstruct list_head committing;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct nfs_writeverf direct_verf;\n};\n\nstruct pnfs_commit_array {\n\tstruct list_head cinfo_list;\n\tstruct list_head lseg_list;\n\tstruct pnfs_layout_segment *lseg;\n\tstruct callback_head rcu;\n\trefcount_t refcount;\n\tunsigned int nbuckets;\n\tstruct pnfs_commit_bucket buckets[0];\n};\n\nstruct pnfs_commit_ops {\n\tvoid (*setup_ds_info)(struct pnfs_ds_commit_info *, struct pnfs_layout_segment *);\n\tvoid (*release_ds_info)(struct pnfs_ds_commit_info *, struct inode *);\n\tint (*commit_pagelist)(struct inode *, struct list_head *, int, struct nfs_commit_info *);\n\tvoid (*mark_request_commit)(struct nfs_page *, struct pnfs_layout_segment *, struct nfs_commit_info *, u32);\n\tvoid (*clear_request_commit)(struct nfs_page *, struct nfs_commit_info *);\n\tint (*scan_commit_lists)(struct nfs_commit_info *, int);\n\tvoid (*recover_commit_reqs)(struct list_head *, struct nfs_commit_info *);\n};\n\nstruct pnfs_device {\n\tstruct nfs4_deviceid dev_id;\n\tunsigned int layout_type;\n\tunsigned int mincount;\n\tunsigned int maxcount;\n\tstruct page **pages;\n\tunsigned int pgbase;\n\tunsigned int pglen;\n\tunsigned char nocache: 1;\n};\n\nstruct pnfs_layoutdriver_type {\n\tstruct list_head pnfs_tblid;\n\tconst u32 id;\n\tconst char *name;\n\tstruct module *owner;\n\tunsigned int flags;\n\tunsigned int max_layoutget_response;\n\tint (*set_layoutdriver)(struct nfs_server *, const struct nfs_fh *);\n\tint (*clear_layoutdriver)(struct nfs_server *);\n\tstruct pnfs_layout_hdr * (*alloc_layout_hdr)(struct inode *, gfp_t);\n\tvoid (*free_layout_hdr)(struct pnfs_layout_hdr *);\n\tstruct pnfs_layout_segment * (*alloc_lseg)(struct pnfs_layout_hdr *, struct nfs4_layoutget_res *, gfp_t);\n\tvoid (*free_lseg)(struct pnfs_layout_segment *);\n\tvoid (*add_lseg)(struct pnfs_layout_hdr *, struct pnfs_layout_segment *, struct list_head *);\n\tvoid (*return_range)(struct pnfs_layout_hdr *, struct pnfs_layout_range *);\n\tconst struct nfs_pageio_ops *pg_read_ops;\n\tconst struct nfs_pageio_ops *pg_write_ops;\n\tstruct pnfs_ds_commit_info * (*get_ds_info)(struct inode *);\n\tint (*sync)(struct inode *, bool);\n\tenum pnfs_try_status (*read_pagelist)(struct nfs_pgio_header *);\n\tenum pnfs_try_status (*write_pagelist)(struct nfs_pgio_header *, int);\n\tvoid (*free_deviceid_node)(struct nfs4_deviceid_node *);\n\tstruct nfs4_deviceid_node * (*alloc_deviceid_node)(struct nfs_server *, struct pnfs_device *, gfp_t);\n\tint (*prepare_layoutreturn)(struct nfs4_layoutreturn_args *);\n\tvoid (*cleanup_layoutcommit)(struct nfs4_layoutcommit_data *);\n\tint (*prepare_layoutcommit)(struct nfs4_layoutcommit_args *);\n\tint (*prepare_layoutstats)(struct nfs42_layoutstat_args *);\n\tvoid (*cancel_io)(struct pnfs_layout_segment *);\n};\n\nstruct pnp_protocol;\n\nstruct pnp_id;\n\nstruct pnp_card {\n\tstruct device dev;\n\tunsigned char number;\n\tstruct list_head global_list;\n\tstruct list_head protocol_list;\n\tstruct list_head devices;\n\tstruct pnp_protocol *protocol;\n\tstruct pnp_id *id;\n\tchar name[50];\n\tunsigned char pnpver;\n\tunsigned char productver;\n\tunsigned int serial;\n\tunsigned char checksum;\n\tstruct proc_dir_entry *procdir;\n};\n\nstruct pnp_card_device_id {\n\t__u8 id[8];\n\tkernel_ulong_t driver_data;\n\tstruct {\n\t\t__u8 id[8];\n\t} devs[8];\n};\n\nstruct pnp_device_id;\n\nstruct pnp_driver {\n\tconst char *name;\n\tconst struct pnp_device_id *id_table;\n\tunsigned int flags;\n\tint (*probe)(struct pnp_dev *, const struct pnp_device_id *);\n\tvoid (*remove)(struct pnp_dev *);\n\tvoid (*shutdown)(struct pnp_dev *);\n\tint (*suspend)(struct pnp_dev *, pm_message_t);\n\tint (*resume)(struct pnp_dev *);\n\tstruct device_driver driver;\n};\n\nstruct pnp_card_link;\n\nstruct pnp_card_driver {\n\tstruct list_head global_list;\n\tchar *name;\n\tconst struct pnp_card_device_id *id_table;\n\tunsigned int flags;\n\tint (*probe)(struct pnp_card_link *, const struct pnp_card_device_id *);\n\tvoid (*remove)(struct pnp_card_link *);\n\tint (*suspend)(struct pnp_card_link *, pm_message_t);\n\tint (*resume)(struct pnp_card_link *);\n\tstruct pnp_driver link;\n};\n\nstruct pnp_card_link {\n\tstruct pnp_card *card;\n\tstruct pnp_card_driver *driver;\n\tvoid *driver_data;\n\tpm_message_t pm_state;\n};\n\nstruct pnp_dev {\n\tstruct device dev;\n\tu64 dma_mask;\n\tunsigned int number;\n\tint status;\n\tstruct list_head global_list;\n\tstruct list_head protocol_list;\n\tstruct list_head card_list;\n\tstruct list_head rdev_list;\n\tstruct pnp_protocol *protocol;\n\tstruct pnp_card *card;\n\tstruct pnp_driver *driver;\n\tstruct pnp_card_link *card_link;\n\tstruct pnp_id *id;\n\tint active;\n\tint capabilities;\n\tunsigned int num_dependent_sets;\n\tstruct list_head resources;\n\tstruct list_head options;\n\tchar name[50];\n\tint flags;\n\tstruct proc_dir_entry *procent;\n\tvoid *data;\n};\n\nstruct pnp_device_id {\n\t__u8 id[8];\n\tkernel_ulong_t driver_data;\n};\n\nstruct pnp_dma {\n\tunsigned char map;\n\tunsigned char flags;\n};\n\nstruct pnp_fixup {\n\tchar id[7];\n\tvoid (*quirk_function)(struct pnp_dev *);\n};\n\nstruct pnp_id {\n\tchar id[8];\n\tstruct pnp_id *next;\n};\n\nstruct pnp_info_buffer {\n\tchar *buffer;\n\tchar *curr;\n\tlong unsigned int size;\n\tlong unsigned int len;\n\tint stop;\n\tint error;\n};\n\ntypedef struct pnp_info_buffer pnp_info_buffer_t;\n\nstruct pnp_irq {\n\tpnp_irq_mask_t map;\n\tunsigned char flags;\n};\n\nstruct pnp_mem {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_size_t size;\n\tunsigned char flags;\n};\n\nstruct pnp_port {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_size_t size;\n\tunsigned char flags;\n};\n\nstruct pnp_option {\n\tstruct list_head list;\n\tunsigned int flags;\n\tlong unsigned int type;\n\tunion {\n\t\tstruct pnp_port port;\n\t\tstruct pnp_irq irq;\n\t\tstruct pnp_dma dma;\n\t\tstruct pnp_mem mem;\n\t} u;\n};\n\nstruct pnp_protocol {\n\tstruct list_head protocol_list;\n\tchar *name;\n\tint (*get)(struct pnp_dev *);\n\tint (*set)(struct pnp_dev *);\n\tint (*disable)(struct pnp_dev *);\n\tbool (*can_wakeup)(struct pnp_dev *);\n\tint (*suspend)(struct pnp_dev *, pm_message_t);\n\tint (*resume)(struct pnp_dev *);\n\tunsigned char number;\n\tstruct device dev;\n\tstruct list_head cards;\n\tstruct list_head devices;\n};\n\nstruct pnp_resource {\n\tstruct list_head list;\n\tstruct resource res;\n};\n\nstruct policy_file;\n\nstruct policy_data {\n\tstruct policydb *p;\n\tstruct policy_file *fp;\n};\n\nstruct policy_file {\n\tchar *data;\n\tsize_t len;\n};\n\nstruct policy_load_memory {\n\tsize_t len;\n\tvoid *data;\n};\n\nstruct role_datum;\n\nstruct user_datum;\n\nstruct type_datum;\n\nstruct role_allow;\n\nstruct policydb {\n\tint mls_enabled;\n\tstruct symtab symtab[8];\n\tchar **sym_val_to_name[8];\n\tstruct class_datum **class_val_to_struct;\n\tstruct role_datum **role_val_to_struct;\n\tstruct user_datum **user_val_to_struct;\n\tstruct type_datum **type_val_to_struct;\n\tstruct avtab te_avtab;\n\tstruct hashtab role_tr;\n\tstruct ebitmap filename_trans_ttypes;\n\tstruct hashtab filename_trans;\n\tu32 compat_filename_trans_count;\n\tstruct cond_bool_datum **bool_val_to_struct;\n\tstruct avtab te_cond_avtab;\n\tstruct cond_node *cond_list;\n\tu32 cond_list_len;\n\tstruct role_allow *role_allow;\n\tstruct ocontext *ocontexts[9];\n\tstruct genfs *genfs;\n\tstruct hashtab range_tr;\n\tstruct ebitmap *type_attr_map_array;\n\tstruct ebitmap policycaps;\n\tstruct ebitmap permissive_map;\n\tsize_t len;\n\tunsigned int policyvers;\n\tunsigned int reject_unknown: 1;\n\tunsigned int allow_unknown: 1;\n\tu16 process_class;\n\tu32 process_trans_perms;\n};\n\nstruct policydb_compat_info {\n\tunsigned int version;\n\tunsigned int sym_num;\n\tunsigned int ocon_num;\n};\n\nstruct pollfd {\n\tint fd;\n\tshort int events;\n\tshort int revents;\n};\n\nstruct poll_list {\n\tstruct poll_list *next;\n\tunsigned int len;\n\tstruct pollfd entries[0];\n};\n\nstruct poll_table_entry {\n\tstruct file *filp;\n\t__poll_t key;\n\twait_queue_entry_t wait;\n\twait_queue_head_t *wait_address;\n};\n\nstruct poll_table_page {\n\tstruct poll_table_page *next;\n\tstruct poll_table_entry *entry;\n\tstruct poll_table_entry entries[0];\n};\n\nstruct poll_wqueues {\n\tpoll_table pt;\n\tstruct poll_table_page *table;\n\tstruct task_struct *polling_task;\n\tint triggered;\n\tint error;\n\tint inline_index;\n\tstruct poll_table_entry inline_entries[9];\n};\n\nstruct worker_pool;\n\nstruct pool_workqueue {\n\tstruct worker_pool *pool;\n\tstruct workqueue_struct *wq;\n\tint work_color;\n\tint flush_color;\n\tint refcnt;\n\tint nr_in_flight[16];\n\tbool plugged;\n\tint nr_active;\n\tstruct list_head inactive_works;\n\tstruct list_head pending_node;\n\tstruct list_head pwqs_node;\n\tstruct list_head mayday_node;\n\tu64 stats[8];\n\tstruct kthread_work release_work;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct port_stats {\n\tlong unsigned int bytes_sent;\n\tlong unsigned int bytes_received;\n\tlong unsigned int bytes_discarded;\n};\n\nstruct ports_device;\n\nstruct port_buffer;\n\nstruct port {\n\tstruct list_head list;\n\tstruct ports_device *portdev;\n\tstruct port_buffer *inbuf;\n\tspinlock_t inbuf_lock;\n\tspinlock_t outvq_lock;\n\tstruct virtqueue *in_vq;\n\tstruct virtqueue *out_vq;\n\tstruct dentry *debugfs_file;\n\tstruct port_stats stats;\n\tstruct console___2 cons;\n\tstruct cdev *cdev;\n\tstruct device *dev;\n\tstruct kref kref;\n\twait_queue_head_t waitqueue;\n\tchar *name;\n\tstruct fasync_struct *async_queue;\n\tu32 id;\n\tbool outvq_full;\n\tbool host_connected;\n\tbool guest_connected;\n};\n\nstruct port_buffer {\n\tchar *buf;\n\tsize_t size;\n\tsize_t len;\n\tsize_t offset;\n\tdma_addr_t dma;\n\tstruct device *dev;\n\tstruct list_head list;\n\tunsigned int sgpages;\n\tstruct scatterlist sg[0];\n};\n\nstruct port_identity {\n\tstruct clock_identity clock_identity;\n\t__be16 port_number;\n};\n\nstruct portdrv_service_data {\n\tstruct pcie_port_service_driver *drv;\n\tstruct device *dev;\n\tu32 service;\n};\n\nstruct virtio_console_control {\n\t__virtio32 id;\n\t__virtio16 event;\n\t__virtio16 value;\n};\n\nstruct virtio_device;\n\nstruct ports_device {\n\tstruct list_head list;\n\tstruct work_struct control_work;\n\tstruct work_struct config_work;\n\tstruct list_head ports;\n\tspinlock_t ports_lock;\n\tspinlock_t c_ivq_lock;\n\tspinlock_t c_ovq_lock;\n\tu32 max_nr_ports;\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *c_ivq;\n\tstruct virtqueue *c_ovq;\n\tstruct virtio_console_control cpkt;\n\tstruct virtqueue **in_vqs;\n\tstruct virtqueue **out_vqs;\n\tint chr_major;\n};\n\nstruct ports_driver_data {\n\tstruct dentry *debugfs_dir;\n\tstruct list_head portdevs;\n\tstruct list_head consoles;\n};\n\nstruct posix_acl_entry {\n\tshort int e_tag;\n\tshort unsigned int e_perm;\n\tunion {\n\t\tkuid_t e_uid;\n\t\tkgid_t e_gid;\n\t};\n};\n\nstruct posix_acl {\n\trefcount_t a_refcount;\n\tunsigned int a_count;\n\tstruct callback_head a_rcu;\n\tstruct posix_acl_entry a_entries[0];\n};\n\nstruct posix_acl_xattr_entry {\n\t__le16 e_tag;\n\t__le16 e_perm;\n\t__le32 e_id;\n};\n\nstruct posix_acl_xattr_header {\n\t__le32 a_version;\n};\n\nstruct posix_clock;\n\nstruct posix_clock_context;\n\nstruct posix_clock_operations {\n\tstruct module *owner;\n\tint (*clock_adjtime)(struct posix_clock *, struct __kernel_timex *);\n\tint (*clock_gettime)(struct posix_clock *, struct timespec64 *);\n\tint (*clock_getres)(struct posix_clock *, struct timespec64 *);\n\tint (*clock_settime)(struct posix_clock *, const struct timespec64 *);\n\tlong int (*ioctl)(struct posix_clock_context *, unsigned int, long unsigned int);\n\tint (*open)(struct posix_clock_context *, fmode_t);\n\t__poll_t (*poll)(struct posix_clock_context *, struct file *, poll_table *);\n\tint (*release)(struct posix_clock_context *);\n\tssize_t (*read)(struct posix_clock_context *, uint, char *, size_t);\n};\n\nstruct posix_clock {\n\tstruct posix_clock_operations ops;\n\tstruct cdev cdev;\n\tstruct device *dev;\n\tstruct rw_semaphore rwsem;\n\tbool zombie;\n};\n\nstruct posix_clock_context {\n\tstruct posix_clock *clk;\n\tvoid *private_clkdata;\n};\n\nstruct posix_clock_desc {\n\tstruct file *fp;\n\tstruct posix_clock *clk;\n};\n\nstruct posix_cputimer_base {\n\tu64 nextevt;\n\tstruct timerqueue_head tqhead;\n};\n\nstruct posix_cputimers {\n\tstruct posix_cputimer_base bases[3];\n\tunsigned int timers_active;\n\tunsigned int expiry_active;\n};\n\nstruct posix_cputimers_work {\n\tstruct callback_head work;\n\tstruct mutex mutex;\n\tunsigned int scheduled;\n};\n\nstruct posix_msg_tree_node {\n\tstruct rb_node rb_node;\n\tstruct list_head msg_list;\n\tint priority;\n};\n\nstruct postprocess_bh_ctx {\n\tstruct work_struct work;\n\tstruct buffer_head *bh;\n};\n\nstruct power_supply_battery_info;\n\nstruct power_supply {\n\tconst struct power_supply_desc *desc;\n\tchar **supplied_to;\n\tsize_t num_supplicants;\n\tchar **supplied_from;\n\tsize_t num_supplies;\n\tstruct device_node *of_node;\n\tvoid *drv_data;\n\tstruct device dev;\n\tstruct work_struct changed_work;\n\tstruct delayed_work deferred_register_work;\n\tspinlock_t changed_lock;\n\tbool changed;\n\tbool update_groups;\n\tbool initialized;\n\tbool removing;\n\tatomic_t use_cnt;\n\tstruct power_supply_battery_info *battery_info;\n\tstruct rw_semaphore extensions_sem;\n\tstruct list_head extensions;\n\tstruct thermal_zone_device *tzd;\n\tstruct thermal_cooling_device *tcd;\n};\n\nstruct power_supply_attr {\n\tconst char *prop_name;\n\tchar attr_name[31];\n\tstruct device_attribute dev_attr;\n\tconst char * const *text_values;\n\tint text_values_len;\n};\n\nstruct power_supply_maintenance_charge_table;\n\nstruct power_supply_battery_ocv_table;\n\nstruct power_supply_resistance_temp_table;\n\nstruct power_supply_vbat_ri_table;\n\nstruct power_supply_battery_info {\n\tunsigned int technology;\n\tint energy_full_design_uwh;\n\tint charge_full_design_uah;\n\tint voltage_min_design_uv;\n\tint voltage_max_design_uv;\n\tint tricklecharge_current_ua;\n\tint precharge_current_ua;\n\tint precharge_voltage_max_uv;\n\tint charge_term_current_ua;\n\tint charge_restart_voltage_uv;\n\tint overvoltage_limit_uv;\n\tint constant_charge_current_max_ua;\n\tint constant_charge_voltage_max_uv;\n\tconst struct power_supply_maintenance_charge_table *maintenance_charge;\n\tint maintenance_charge_size;\n\tint alert_low_temp_charge_current_ua;\n\tint alert_low_temp_charge_voltage_uv;\n\tint alert_high_temp_charge_current_ua;\n\tint alert_high_temp_charge_voltage_uv;\n\tint factory_internal_resistance_uohm;\n\tint factory_internal_resistance_charging_uohm;\n\tint ocv_temp[20];\n\tint temp_ambient_alert_min;\n\tint temp_ambient_alert_max;\n\tint temp_alert_min;\n\tint temp_alert_max;\n\tint temp_min;\n\tint temp_max;\n\tconst struct power_supply_battery_ocv_table *ocv_table[20];\n\tint ocv_table_size[20];\n\tconst struct power_supply_resistance_temp_table *resist_table;\n\tint resist_table_size;\n\tconst struct power_supply_vbat_ri_table *vbat2ri_discharging;\n\tint vbat2ri_discharging_size;\n\tconst struct power_supply_vbat_ri_table *vbat2ri_charging;\n\tint vbat2ri_charging_size;\n\tint bti_resistance_ohm;\n\tint bti_resistance_tolerance;\n};\n\nstruct power_supply_battery_ocv_table {\n\tint ocv;\n\tint capacity;\n};\n\nstruct power_supply_config {\n\tstruct device_node *of_node;\n\tstruct fwnode_handle *fwnode;\n\tvoid *drv_data;\n\tconst struct attribute_group **attr_grp;\n\tchar **supplied_to;\n\tsize_t num_supplicants;\n\tbool no_wakeup_source;\n};\n\nstruct power_supply_ext {\n\tconst char * const name;\n\tu8 charge_behaviours;\n\tconst enum power_supply_property *properties;\n\tsize_t num_properties;\n\tint (*get_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, union power_supply_propval *);\n\tint (*set_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, const union power_supply_propval *);\n\tint (*property_is_writeable)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property);\n};\n\nstruct power_supply_ext_registration {\n\tstruct list_head list_head;\n\tconst struct power_supply_ext *ext;\n\tstruct device *dev;\n\tvoid *data;\n};\n\nstruct power_supply_hwmon {\n\tstruct power_supply *psy;\n\tlong unsigned int *props;\n};\n\nstruct power_supply_maintenance_charge_table {\n\tint charge_current_max_ua;\n\tint charge_voltage_max_uv;\n\tint charge_safety_timer_minutes;\n};\n\nunion power_supply_propval {\n\tint intval;\n\tconst char *strval;\n};\n\nstruct power_supply_resistance_temp_table {\n\tint temp;\n\tint resistance;\n};\n\nstruct power_supply_vbat_ri_table {\n\tint vbat_uv;\n\tint ri_uohm;\n};\n\nstruct pppoe_tag {\n\t__be16 tag_type;\n\t__be16 tag_len;\n\tchar tag_data[0];\n};\n\nstruct pppoe_hdr {\n\t__u8 type: 4;\n\t__u8 ver: 4;\n\t__u8 code;\n\t__be16 sid;\n\t__be16 length;\n\tstruct pppoe_tag tag[0];\n};\n\nstruct pps_event_time {\n\tstruct timespec64 ts_real;\n};\n\nstruct pptp_gre_header {\n\tstruct gre_base_hdr gre_hd;\n\t__be16 payload_len;\n\t__be16 call_id;\n\t__be32 seq;\n\t__be32 ack;\n};\n\nstruct pr_clear {\n\t__u64 key;\n\t__u32 flags;\n\t__u32 __pad;\n};\n\nstruct pr_cont_work_struct {\n\tbool comma;\n\twork_func_t func;\n\tlong int ctr;\n};\n\nstruct pr_held_reservation {\n\tu64 key;\n\tu32 generation;\n\tenum pr_type type;\n};\n\nstruct pr_keys {\n\tu32 generation;\n\tu32 num_keys;\n\tu64 keys[0];\n};\n\nstruct pr_ops {\n\tint (*pr_register)(struct block_device *, u64, u64, u32);\n\tint (*pr_reserve)(struct block_device *, u64, enum pr_type, u32);\n\tint (*pr_release)(struct block_device *, u64, enum pr_type);\n\tint (*pr_preempt)(struct block_device *, u64, u64, enum pr_type, bool);\n\tint (*pr_clear)(struct block_device *, u64);\n\tint (*pr_read_keys)(struct block_device *, struct pr_keys *);\n\tint (*pr_read_reservation)(struct block_device *, struct pr_held_reservation *);\n};\n\nstruct pr_preempt {\n\t__u64 old_key;\n\t__u64 new_key;\n\t__u32 type;\n\t__u32 flags;\n};\n\nstruct pr_registration {\n\t__u64 old_key;\n\t__u64 new_key;\n\t__u32 flags;\n\t__u32 __pad;\n};\n\nstruct pr_reservation {\n\t__u64 key;\n\t__u32 type;\n\t__u32 flags;\n};\n\nstruct prb_data_blk_lpos {\n\tlong unsigned int begin;\n\tlong unsigned int next;\n};\n\nstruct prb_data_block {\n\tlong unsigned int id;\n\tchar data[0];\n};\n\nstruct prb_data_ring {\n\tunsigned int size_bits;\n\tchar *data;\n\tatomic_long_t head_lpos;\n\tatomic_long_t tail_lpos;\n};\n\nstruct prb_desc {\n\tatomic_long_t state_var;\n\tstruct prb_data_blk_lpos text_blk_lpos;\n};\n\nstruct printk_info;\n\nstruct prb_desc_ring {\n\tunsigned int count_bits;\n\tstruct prb_desc *descs;\n\tstruct printk_info *infos;\n\tatomic_long_t head_id;\n\tatomic_long_t tail_id;\n\tatomic_long_t last_finalized_seq;\n};\n\nstruct printk_ringbuffer;\n\nstruct prb_reserved_entry {\n\tstruct printk_ringbuffer *rb;\n\tlong unsigned int irqflags;\n\tlong unsigned int id;\n\tunsigned int text_space;\n};\n\nstruct prci_clk_desc {\n\tstruct __prci_clock *clks;\n\tsize_t num_clks;\n};\n\nstruct prctl_mm_map {\n\t__u64 start_code;\n\t__u64 end_code;\n\t__u64 start_data;\n\t__u64 end_data;\n\t__u64 start_brk;\n\t__u64 brk;\n\t__u64 start_stack;\n\t__u64 arg_start;\n\t__u64 arg_end;\n\t__u64 env_start;\n\t__u64 env_end;\n\t__u64 *auxv;\n\t__u32 auxv_size;\n\t__u32 exe_fd;\n};\n\nstruct pre_voltage_change_data {\n\tlong unsigned int old_uV;\n\tlong unsigned int min_uV;\n\tlong unsigned int max_uV;\n};\n\nstruct preempt_ops {\n\tvoid (*sched_in)(struct preempt_notifier *, int);\n\tvoid (*sched_out)(struct preempt_notifier *, struct task_struct *);\n};\n\nstruct prefix_cacheinfo {\n\t__u32 preferred_time;\n\t__u32 valid_time;\n};\n\nstruct prefix_info {\n\t__u8 type;\n\t__u8 length;\n\t__u8 prefix_len;\n\tunion {\n\t\t__u8 flags;\n\t\tstruct {\n\t\t\t__u8 reserved: 4;\n\t\t\t__u8 preferpd: 1;\n\t\t\t__u8 routeraddr: 1;\n\t\t\t__u8 autoconf: 1;\n\t\t\t__u8 onlink: 1;\n\t\t};\n\t};\n\t__be32 valid;\n\t__be32 prefered;\n\t__be32 reserved2;\n\tstruct in6_addr prefix;\n};\n\nstruct prefixmsg {\n\tunsigned char prefix_family;\n\tunsigned char prefix_pad1;\n\tshort unsigned int prefix_pad2;\n\tint prefix_ifindex;\n\tunsigned char prefix_type;\n\tunsigned char prefix_len;\n\tunsigned char prefix_flags;\n\tunsigned char prefix_pad3;\n};\n\nstruct prepend_buffer {\n\tchar *buf;\n\tint len;\n};\n\nstruct print_entry {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tchar buf[0];\n};\n\nstruct printf_spec {\n\tunsigned char flags;\n\tunsigned char base;\n\tshort int precision;\n\tint field_width;\n};\n\nstruct printk_info {\n\tu64 seq;\n\tu64 ts_nsec;\n\tu16 text_len;\n\tu8 facility;\n\tu8 flags: 5;\n\tu8 level: 3;\n\tu32 caller_id;\n\tstruct dev_printk_info dev_info;\n};\n\nstruct printk_message {\n\tstruct printk_buffers *pbufs;\n\tunsigned int outbuf_len;\n\tu64 seq;\n\tlong unsigned int dropped;\n};\n\nstruct printk_record {\n\tstruct printk_info *info;\n\tchar *text_buf;\n\tunsigned int text_buf_size;\n};\n\nstruct printk_ringbuffer {\n\tstruct prb_desc_ring desc_ring;\n\tstruct prb_data_ring text_data_ring;\n\tatomic_long_t fail;\n};\n\nstruct private_data {\n\tstruct list_head node;\n\tcpumask_var_t cpus;\n\tstruct device *cpu_dev;\n\tstruct cpufreq_frequency_table *freq_table;\n\tbool have_static_opps;\n\tint opp_token;\n};\n\nstruct privflags_reply_data {\n\tstruct ethnl_reply_data base;\n\tconst char (*priv_flag_names)[32];\n\tunsigned int n_priv_flags;\n\tu32 priv_flags;\n};\n\ntypedef struct kobject *kobj_probe_t(dev_t, int *, void *);\n\nstruct probe {\n\tstruct probe *next;\n\tdev_t dev;\n\tlong unsigned int range;\n\tstruct module *owner;\n\tkobj_probe_t *get;\n\tint (*lock)(dev_t, void *);\n\tvoid *data;\n};\n\nstruct probe_arg {\n\tstruct fetch_insn *code;\n\tbool dynamic;\n\tunsigned int offset;\n\tunsigned int count;\n\tconst char *name;\n\tconst char *comm;\n\tchar *fmt;\n\tconst struct fetch_type *type;\n};\n\nstruct probe_entry_arg {\n\tstruct fetch_insn *code;\n\tunsigned int size;\n};\n\ntypedef int (*proc_write_t)(struct file *, char *, size_t);\n\nstruct proc_ops;\n\nstruct proc_dir_entry {\n\tatomic_t in_use;\n\trefcount_t refcnt;\n\tstruct list_head pde_openers;\n\tspinlock_t pde_unload_lock;\n\tstruct completion *pde_unload_completion;\n\tconst struct inode_operations *proc_iops;\n\tunion {\n\t\tconst struct proc_ops *proc_ops;\n\t\tconst struct file_operations *proc_dir_ops;\n\t};\n\tconst struct dentry_operations *proc_dops;\n\tunion {\n\t\tconst struct seq_operations *seq_ops;\n\t\tint (*single_show)(struct seq_file *, void *);\n\t};\n\tproc_write_t write;\n\tvoid *data;\n\tunsigned int state_size;\n\tunsigned int low_ino;\n\tnlink_t nlink;\n\tkuid_t uid;\n\tkgid_t gid;\n\tloff_t size;\n\tstruct proc_dir_entry *parent;\n\tstruct rb_root subdir;\n\tstruct rb_node subdir_node;\n\tchar *name;\n\tumode_t mode;\n\tu8 flags;\n\tu8 namelen;\n\tchar inline_name[0];\n};\n\nstruct proc_fs_context {\n\tstruct pid_namespace *pid_ns;\n\tunsigned int mask;\n\tenum proc_hidepid hidepid;\n\tint gid;\n\tenum proc_pidonly pidonly;\n};\n\nstruct proc_fs_info {\n\tstruct pid_namespace *pid_ns;\n\tstruct dentry *proc_self;\n\tstruct dentry *proc_thread_self;\n\tkgid_t pid_gid;\n\tenum proc_hidepid hide_pid;\n\tenum proc_pidonly pidonly;\n\tstruct callback_head rcu;\n};\n\nstruct proc_fs_opts {\n\tint flag;\n\tconst char *str;\n};\n\nstruct proc_inode {\n\tstruct pid *pid;\n\tunsigned int fd;\n\tunion proc_op op;\n\tstruct proc_dir_entry *pde;\n\tstruct ctl_table_header *sysctl;\n\tconst struct ctl_table *sysctl_entry;\n\tstruct hlist_node sibling_inodes;\n\tconst struct proc_ns_operations *ns_ops;\n\tstruct inode vfs_inode;\n};\n\nstruct proc_maps_private {\n\tstruct inode *inode;\n\tstruct task_struct *task;\n\tstruct mm_struct *mm;\n\tstruct vma_iterator iter;\n};\n\nstruct proc_mounts {\n\tstruct mnt_namespace *ns;\n\tstruct path root;\n\tint (*show)(struct seq_file *, struct vfsmount *);\n};\n\nstruct proc_nfs_info {\n\tint flag;\n\tconst char *str;\n\tconst char *nostr;\n};\n\nstruct proc_ns_operations {\n\tconst char *name;\n\tconst char *real_ns_name;\n\tint type;\n\tstruct ns_common * (*get)(struct task_struct *);\n\tvoid (*put)(struct ns_common *);\n\tint (*install)(struct nsset *, struct ns_common *);\n\tstruct user_namespace * (*owner)(struct ns_common *);\n\tstruct ns_common * (*get_parent)(struct ns_common *);\n};\n\nstruct proc_ops {\n\tunsigned int proc_flags;\n\tint (*proc_open)(struct inode *, struct file *);\n\tssize_t (*proc_read)(struct file *, char *, size_t, loff_t *);\n\tssize_t (*proc_read_iter)(struct kiocb *, struct iov_iter *);\n\tssize_t (*proc_write)(struct file *, const char *, size_t, loff_t *);\n\tloff_t (*proc_lseek)(struct file *, loff_t, int);\n\tint (*proc_release)(struct inode *, struct file *);\n\t__poll_t (*proc_poll)(struct file *, struct poll_table_struct *);\n\tlong int (*proc_ioctl)(struct file *, unsigned int, long unsigned int);\n\tlong int (*proc_compat_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*proc_mmap)(struct file *, struct vm_area_struct *);\n\tlong unsigned int (*proc_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n};\n\nstruct proc_timens_offset {\n\tint clockid;\n\tstruct timespec64 val;\n};\n\nstruct process_timer {\n\tstruct timer_list timer;\n\tstruct task_struct *task;\n};\n\nstruct procmap_query {\n\t__u64 size;\n\t__u64 query_flags;\n\t__u64 query_addr;\n\t__u64 vma_start;\n\t__u64 vma_end;\n\t__u64 vma_flags;\n\t__u64 vma_page_size;\n\t__u64 vma_offset;\n\t__u64 inode;\n\t__u32 dev_major;\n\t__u32 dev_minor;\n\t__u32 vma_name_size;\n\t__u32 build_id_size;\n\t__u64 vma_name_addr;\n\t__u64 build_id_addr;\n};\n\nstruct prog_entry {\n\tint target;\n\tint when_to_branch;\n\tstruct filter_pred *pred;\n};\n\nstruct prog_poke_elem {\n\tstruct list_head list;\n\tstruct bpf_prog_aux *aux;\n};\n\nstruct prog_test_member1 {\n\tint a;\n};\n\nstruct prog_test_member {\n\tstruct prog_test_member1 m;\n\tint c;\n};\n\nstruct prog_test_ref_kfunc {\n\tint a;\n\tint b;\n\tstruct prog_test_member memb;\n\tstruct prog_test_ref_kfunc *next;\n\trefcount_t cnt;\n};\n\nstruct property {\n\tchar *name;\n\tint length;\n\tvoid *value;\n\tstruct property *next;\n\tstruct bin_attribute attr;\n};\n\nstruct prot_inuse {\n\tint all;\n\tint val[64];\n};\n\nstruct smc_hashinfo;\n\nstruct proto_accept_arg;\n\nstruct sk_psock;\n\nstruct timewait_sock_ops;\n\nstruct raw_hashinfo;\n\nstruct proto {\n\tvoid (*close)(struct sock *, long int);\n\tint (*pre_connect)(struct sock *, struct sockaddr *, int);\n\tint (*connect)(struct sock *, struct sockaddr *, int);\n\tint (*disconnect)(struct sock *, int);\n\tstruct sock * (*accept)(struct sock *, struct proto_accept_arg *);\n\tint (*ioctl)(struct sock *, int, int *);\n\tint (*init)(struct sock *);\n\tvoid (*destroy)(struct sock *);\n\tvoid (*shutdown)(struct sock *, int);\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*keepalive)(struct sock *, int);\n\tint (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);\n\tint (*sendmsg)(struct sock *, struct msghdr *, size_t);\n\tint (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *);\n\tvoid (*splice_eof)(struct socket *);\n\tint (*bind)(struct sock *, struct sockaddr *, int);\n\tint (*bind_add)(struct sock *, struct sockaddr *, int);\n\tint (*backlog_rcv)(struct sock *, struct sk_buff *);\n\tbool (*bpf_bypass_getsockopt)(int, int);\n\tvoid (*release_cb)(struct sock *);\n\tint (*hash)(struct sock *);\n\tvoid (*unhash)(struct sock *);\n\tvoid (*rehash)(struct sock *);\n\tint (*get_port)(struct sock *, short unsigned int);\n\tvoid (*put_port)(struct sock *);\n\tint (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);\n\tunsigned int inuse_idx;\n\tbool (*stream_memory_free)(const struct sock *, int);\n\tbool (*sock_is_readable)(struct sock *);\n\tvoid (*enter_memory_pressure)(struct sock *);\n\tvoid (*leave_memory_pressure)(struct sock *);\n\tatomic_long_t *memory_allocated;\n\tint *per_cpu_fw_alloc;\n\tstruct percpu_counter *sockets_allocated;\n\tlong unsigned int *memory_pressure;\n\tlong int *sysctl_mem;\n\tint *sysctl_wmem;\n\tint *sysctl_rmem;\n\tu32 sysctl_wmem_offset;\n\tu32 sysctl_rmem_offset;\n\tint max_header;\n\tbool no_autobind;\n\tstruct kmem_cache *slab;\n\tunsigned int obj_size;\n\tunsigned int ipv6_pinfo_offset;\n\tslab_flags_t slab_flags;\n\tunsigned int useroffset;\n\tunsigned int usersize;\n\tunsigned int *orphan_count;\n\tstruct request_sock_ops *rsk_prot;\n\tstruct timewait_sock_ops *twsk_prot;\n\tunion {\n\t\tstruct inet_hashinfo *hashinfo;\n\t\tstruct udp_table *udp_table;\n\t\tstruct raw_hashinfo *raw_hash;\n\t\tstruct smc_hashinfo *smc_hash;\n\t} h;\n\tstruct module *owner;\n\tchar name[32];\n\tstruct list_head node;\n\tint (*diag_destroy)(struct sock *, int);\n};\n\nstruct proto_accept_arg {\n\tint flags;\n\tint err;\n\tint is_empty;\n\tbool kern;\n};\n\ntypedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *, unsigned int, size_t);\n\ntypedef int (*skb_read_actor_t)(struct sock *, struct sk_buff *);\n\nstruct proto_ops {\n\tint family;\n\tstruct module *owner;\n\tint (*release)(struct socket *);\n\tint (*bind)(struct socket *, struct sockaddr *, int);\n\tint (*connect)(struct socket *, struct sockaddr *, int, int);\n\tint (*socketpair)(struct socket *, struct socket *);\n\tint (*accept)(struct socket *, struct socket *, struct proto_accept_arg *);\n\tint (*getname)(struct socket *, struct sockaddr *, int);\n\t__poll_t (*poll)(struct file *, struct socket *, struct poll_table_struct *);\n\tint (*ioctl)(struct socket *, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct socket *, unsigned int, long unsigned int);\n\tint (*gettstamp)(struct socket *, void *, bool, bool);\n\tint (*listen)(struct socket *, int);\n\tint (*shutdown)(struct socket *, int);\n\tint (*setsockopt)(struct socket *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct socket *, int, int, char *, int *);\n\tvoid (*show_fdinfo)(struct seq_file *, struct socket *);\n\tint (*sendmsg)(struct socket *, struct msghdr *, size_t);\n\tint (*recvmsg)(struct socket *, struct msghdr *, size_t, int);\n\tint (*mmap)(struct file *, struct socket *, struct vm_area_struct *);\n\tssize_t (*splice_read)(struct socket *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*splice_eof)(struct socket *);\n\tint (*set_peek_off)(struct sock *, int);\n\tint (*peek_len)(struct socket *);\n\tint (*read_sock)(struct sock *, read_descriptor_t *, sk_read_actor_t);\n\tint (*read_skb)(struct sock *, skb_read_actor_t);\n\tint (*sendmsg_locked)(struct sock *, struct msghdr *, size_t);\n\tint (*set_rcvlowat)(struct sock *, int);\n};\n\nstruct prt_quirk {\n\tconst struct dmi_system_id *system;\n\tunsigned int segment;\n\tunsigned int bus;\n\tunsigned int device;\n\tunsigned char pin;\n\tconst char *source;\n\tconst char *actual_source;\n};\n\nstruct ps2pp_info {\n\tu8 model;\n\tu8 kind;\n\tu16 features;\n};\n\nstruct psample_group {\n\tstruct list_head list;\n\tstruct net *net;\n\tu32 group_num;\n\tu32 refcount;\n\tu32 seq;\n\tstruct callback_head rcu;\n};\n\nstruct psched_pktrate {\n\tu64 rate_pkts_ps;\n\tu32 mult;\n\tu8 shift;\n};\n\nstruct psched_ratecfg {\n\tu64 rate_bytes_ps;\n\tu32 mult;\n\tu16 overhead;\n\tu16 mpu;\n\tu8 linklayer;\n\tu8 shift;\n};\n\nstruct pse_control_config {\n\tenum ethtool_podl_pse_admin_state podl_admin_control;\n\tenum ethtool_c33_pse_admin_state c33_admin_control;\n};\n\nstruct pse_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_pse_control_status status;\n};\n\nstruct pseudo_fs_context {\n\tconst struct super_operations *ops;\n\tconst struct export_operations *eops;\n\tconst struct xattr_handler * const *xattr;\n\tconst struct dentry_operations *dops;\n\tlong unsigned int magic;\n};\n\nstruct psi_group {};\n\nstruct psmouse_protocol;\n\nstruct psmouse {\n\tvoid *private;\n\tstruct input_dev *dev;\n\tstruct ps2dev ps2dev;\n\tstruct delayed_work resync_work;\n\tconst char *vendor;\n\tconst char *name;\n\tconst struct psmouse_protocol *protocol;\n\tunsigned char packet[8];\n\tunsigned char badbyte;\n\tunsigned char pktcnt;\n\tunsigned char pktsize;\n\tunsigned char oob_data_type;\n\tunsigned char extra_buttons;\n\tbool acks_disable_command;\n\tunsigned int model;\n\tlong unsigned int last;\n\tlong unsigned int out_of_sync_cnt;\n\tlong unsigned int num_resyncs;\n\tenum psmouse_state state;\n\tchar devname[64];\n\tchar phys[32];\n\tunsigned int rate;\n\tunsigned int resolution;\n\tunsigned int resetafter;\n\tunsigned int resync_time;\n\tbool smartscroll;\n\tpsmouse_ret_t (*protocol_handler)(struct psmouse *);\n\tvoid (*set_rate)(struct psmouse *, unsigned int);\n\tvoid (*set_resolution)(struct psmouse *, unsigned int);\n\tvoid (*set_scale)(struct psmouse *, enum psmouse_scale);\n\tint (*reconnect)(struct psmouse *);\n\tint (*fast_reconnect)(struct psmouse *);\n\tvoid (*disconnect)(struct psmouse *);\n\tvoid (*cleanup)(struct psmouse *);\n\tint (*poll)(struct psmouse *);\n\tvoid (*pt_activate)(struct psmouse *);\n\tvoid (*pt_deactivate)(struct psmouse *);\n};\n\nstruct psmouse_attribute {\n\tstruct device_attribute dattr;\n\tvoid *data;\n\tssize_t (*show)(struct psmouse *, void *, char *);\n\tssize_t (*set)(struct psmouse *, void *, const char *, size_t);\n\tbool protect;\n};\n\nstruct psmouse_protocol {\n\tenum psmouse_type type;\n\tbool maxproto;\n\tbool ignore_parity;\n\tbool try_passthru;\n\tbool smbus_companion;\n\tconst char *name;\n\tconst char *alias;\n\tint (*detect)(struct psmouse *, bool);\n\tint (*init)(struct psmouse *);\n};\n\nstruct psmouse_smbus_dev {\n\tstruct i2c_board_info board;\n\tstruct psmouse *psmouse;\n\tstruct i2c_client *client;\n\tstruct list_head node;\n\tbool dead;\n\tbool need_deactivate;\n};\n\nstruct psmouse_smbus_removal_work {\n\tstruct work_struct work;\n\tstruct i2c_client *client;\n};\n\nstruct psy_am_i_supplied_data {\n\tstruct power_supply *psy;\n\tunsigned int count;\n};\n\nstruct psy_for_each_psy_cb_data {\n\tint (*fn)(struct power_supply *, void *);\n\tvoid *data;\n};\n\nstruct psy_get_supplier_prop_data {\n\tstruct power_supply *psy;\n\tenum power_supply_property psp;\n\tunion power_supply_propval *val;\n};\n\nstruct pt_alloc_ops {\n\tpte_t * (*get_pte_virt)(phys_addr_t);\n\tphys_addr_t (*alloc_pte)(uintptr_t);\n\tpmd_t * (*get_pmd_virt)(phys_addr_t);\n\tphys_addr_t (*alloc_pmd)(uintptr_t);\n\tpud_t * (*get_pud_virt)(phys_addr_t);\n\tphys_addr_t (*alloc_pud)(uintptr_t);\n\tp4d_t * (*get_p4d_virt)(phys_addr_t);\n\tphys_addr_t (*alloc_p4d)(uintptr_t);\n};\n\nstruct pt_regs_offset {\n\tconst char *name;\n\tint offset;\n};\n\nstruct ptdesc {\n\tlong unsigned int __page_flags;\n\tunion {\n\t\tstruct callback_head pt_rcu_head;\n\t\tstruct list_head pt_list;\n\t\tstruct {\n\t\t\tlong unsigned int _pt_pad_1;\n\t\t\tpgtable_t pmd_huge_pte;\n\t\t};\n\t};\n\tlong unsigned int __page_mapping;\n\tunion {\n\t\tlong unsigned int pt_index;\n\t\tstruct mm_struct *pt_mm;\n\t\tatomic_t pt_frag_refcount;\n\t\tatomic_t pt_share_count;\n\t};\n\tunion {\n\t\tlong unsigned int _pt_pad_2;\n\t\tspinlock_t *ptl;\n\t};\n\tunsigned int __page_type;\n\tatomic_t __page_refcount;\n\tlong unsigned int pt_memcg_data;\n};\n\nstruct ptp_clock_event {\n\tint type;\n\tint index;\n\tunion {\n\t\tu64 timestamp;\n\t\ts64 offset;\n\t\tstruct pps_event_time pps_times;\n\t};\n};\n\nstruct ptp_extts_request {\n\tunsigned int index;\n\tunsigned int flags;\n\tunsigned int rsv[2];\n};\n\nstruct ptp_clock_time {\n\t__s64 sec;\n\t__u32 nsec;\n\t__u32 reserved;\n};\n\nstruct ptp_perout_request {\n\tunion {\n\t\tstruct ptp_clock_time start;\n\t\tstruct ptp_clock_time phase;\n\t};\n\tstruct ptp_clock_time period;\n\tunsigned int index;\n\tunsigned int flags;\n\tunion {\n\t\tstruct ptp_clock_time on;\n\t\tunsigned int rsv[4];\n\t};\n};\n\nstruct ptp_clock_request {\n\tenum {\n\t\tPTP_CLK_REQ_EXTTS = 0,\n\t\tPTP_CLK_REQ_PEROUT = 1,\n\t\tPTP_CLK_REQ_PPS = 2,\n\t} type;\n\tunion {\n\t\tstruct ptp_extts_request extts;\n\t\tstruct ptp_perout_request perout;\n\t};\n};\n\nstruct ptp_header {\n\tu8 tsmt;\n\tu8 ver;\n\t__be16 message_length;\n\tu8 domain_number;\n\tu8 reserved1;\n\tu8 flag_field[2];\n\t__be64 correction;\n\t__be32 reserved2;\n\tstruct port_identity source_port_identity;\n\t__be16 sequence_id;\n\tu8 control;\n\tu8 log_message_interval;\n} __attribute__((packed));\n\nstruct ptp_pin_desc {\n\tchar name[64];\n\tunsigned int index;\n\tunsigned int func;\n\tunsigned int chan;\n\tunsigned int rsv[5];\n};\n\nstruct ptp_system_timestamp {\n\tstruct timespec64 pre_ts;\n\tstruct timespec64 post_ts;\n\tclockid_t clockid;\n};\n\nstruct ptrace_peeksiginfo_args {\n\t__u64 off;\n\t__u32 flags;\n\t__s32 nr;\n};\n\nstruct ptrace_rseq_configuration {\n\t__u64 rseq_abi_pointer;\n\t__u32 rseq_abi_size;\n\t__u32 signature;\n\t__u32 flags;\n\t__u32 pad;\n};\n\nstruct ptrace_sud_config {\n\t__u64 mode;\n\t__u64 selector;\n\t__u64 offset;\n\t__u64 len;\n};\n\nstruct ptrace_syscall_info {\n\t__u8 op;\n\t__u8 pad[3];\n\t__u32 arch;\n\t__u64 instruction_pointer;\n\t__u64 stack_pointer;\n\tunion {\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t} entry;\n\t\tstruct {\n\t\t\t__s64 rval;\n\t\t\t__u8 is_error;\n\t\t} exit;\n\t\tstruct {\n\t\t\t__u64 nr;\n\t\t\t__u64 args[6];\n\t\t\t__u32 ret_data;\n\t\t} seccomp;\n\t};\n};\n\nstruct pts_mount_opts {\n\tint setuid;\n\tint setgid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tumode_t ptmxmode;\n\tint reserve;\n\tint max;\n};\n\nstruct pts_fs_info {\n\tstruct ida allocated_ptys;\n\tstruct pts_mount_opts mount_opts;\n\tstruct super_block *sb;\n\tstruct dentry *ptmx_dentry;\n};\n\nstruct qc_dqblk {\n\tint d_fieldmask;\n\tu64 d_spc_hardlimit;\n\tu64 d_spc_softlimit;\n\tu64 d_ino_hardlimit;\n\tu64 d_ino_softlimit;\n\tu64 d_space;\n\tu64 d_ino_count;\n\ts64 d_ino_timer;\n\ts64 d_spc_timer;\n\tint d_ino_warns;\n\tint d_spc_warns;\n\tu64 d_rt_spc_hardlimit;\n\tu64 d_rt_spc_softlimit;\n\tu64 d_rt_space;\n\ts64 d_rt_spc_timer;\n\tint d_rt_spc_warns;\n};\n\nstruct qc_info {\n\tint i_fieldmask;\n\tunsigned int i_flags;\n\tunsigned int i_spc_timelimit;\n\tunsigned int i_ino_timelimit;\n\tunsigned int i_rt_spc_timelimit;\n\tunsigned int i_spc_warnlimit;\n\tunsigned int i_ino_warnlimit;\n\tunsigned int i_rt_spc_warnlimit;\n};\n\nstruct qc_type_state {\n\tunsigned int flags;\n\tunsigned int spc_timelimit;\n\tunsigned int ino_timelimit;\n\tunsigned int rt_spc_timelimit;\n\tunsigned int spc_warnlimit;\n\tunsigned int ino_warnlimit;\n\tunsigned int rt_spc_warnlimit;\n\tlong long unsigned int ino;\n\tblkcnt_t blocks;\n\tblkcnt_t nextents;\n};\n\nstruct qc_state {\n\tunsigned int s_incoredqs;\n\tstruct qc_type_state s_state[3];\n};\n\nstruct qdisc_dump_args {\n\tstruct qdisc_walker w;\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n};\n\nstruct tc_ratespec {\n\tunsigned char cell_log;\n\t__u8 linklayer;\n\tshort unsigned int overhead;\n\tshort int cell_align;\n\tshort unsigned int mpu;\n\t__u32 rate;\n};\n\nstruct qdisc_rate_table {\n\tstruct tc_ratespec rate;\n\tu32 data[256];\n\tstruct qdisc_rate_table *next;\n\tint refcnt;\n};\n\nstruct tc_sizespec {\n\tunsigned char cell_log;\n\tunsigned char size_log;\n\tshort int cell_align;\n\tint overhead;\n\tunsigned int linklayer;\n\tunsigned int mpu;\n\tunsigned int mtu;\n\tunsigned int tsize;\n};\n\nstruct qdisc_size_table {\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct tc_sizespec szopts;\n\tint refcnt;\n\tu16 data[0];\n};\n\nstruct qdisc_watchdog {\n\tstruct hrtimer timer;\n\tstruct Qdisc *qdisc;\n};\n\nstruct qnode {\n\tstruct mcs_spinlock mcs;\n};\n\nstruct queue_limits {\n\tblk_features_t features;\n\tblk_flags_t flags;\n\tlong unsigned int seg_boundary_mask;\n\tlong unsigned int virt_boundary_mask;\n\tunsigned int max_hw_sectors;\n\tunsigned int max_dev_sectors;\n\tunsigned int chunk_sectors;\n\tunsigned int max_sectors;\n\tunsigned int max_user_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int min_segment_size;\n\tunsigned int physical_block_size;\n\tunsigned int logical_block_size;\n\tunsigned int alignment_offset;\n\tunsigned int io_min;\n\tunsigned int io_opt;\n\tunsigned int max_discard_sectors;\n\tunsigned int max_hw_discard_sectors;\n\tunsigned int max_user_discard_sectors;\n\tunsigned int max_secure_erase_sectors;\n\tunsigned int max_write_zeroes_sectors;\n\tunsigned int max_hw_zone_append_sectors;\n\tunsigned int max_zone_append_sectors;\n\tunsigned int discard_granularity;\n\tunsigned int discard_alignment;\n\tunsigned int zone_write_granularity;\n\tunsigned int atomic_write_hw_max;\n\tunsigned int atomic_write_max_sectors;\n\tunsigned int atomic_write_hw_boundary;\n\tunsigned int atomic_write_boundary_sectors;\n\tunsigned int atomic_write_hw_unit_min;\n\tunsigned int atomic_write_unit_min;\n\tunsigned int atomic_write_hw_unit_max;\n\tunsigned int atomic_write_unit_max;\n\tshort unsigned int max_segments;\n\tshort unsigned int max_integrity_segments;\n\tshort unsigned int max_discard_segments;\n\tunsigned int max_open_zones;\n\tunsigned int max_active_zones;\n\tunsigned int dma_alignment;\n\tunsigned int dma_pad_mask;\n\tstruct blk_integrity integrity;\n};\n\nstruct queue_sysfs_entry {\n\tstruct attribute attr;\n\tssize_t (*show)(struct gendisk *, char *);\n\tssize_t (*store)(struct gendisk *, const char *, size_t);\n\tint (*store_limit)(struct gendisk *, const char *, size_t, struct queue_limits *);\n\tvoid (*load_module)(struct gendisk *, const char *, size_t);\n};\n\nstruct quirk_entry {\n\tu16 vid;\n\tu16 pid;\n\tu32 flags;\n};\n\nstruct quirks_list_struct {\n\tstruct hid_device_id hid_bl_item;\n\tstruct list_head node;\n};\n\nstruct quota_format_ops {\n\tint (*check_quota_file)(struct super_block *, int);\n\tint (*read_file_info)(struct super_block *, int);\n\tint (*write_file_info)(struct super_block *, int);\n\tint (*free_file_info)(struct super_block *, int);\n\tint (*read_dqblk)(struct dquot *);\n\tint (*commit_dqblk)(struct dquot *);\n\tint (*release_dqblk)(struct dquot *);\n\tint (*get_next_id)(struct super_block *, struct kqid *);\n};\n\nstruct quota_format_type {\n\tint qf_fmt_id;\n\tconst struct quota_format_ops *qf_ops;\n\tstruct module *qf_owner;\n\tstruct quota_format_type *qf_next;\n};\n\nstruct quota_info {\n\tunsigned int flags;\n\tstruct rw_semaphore dqio_sem;\n\tstruct inode *files[3];\n\tstruct mem_dqinfo info[3];\n\tconst struct quota_format_ops *ops[3];\n};\n\nstruct quotactl_ops {\n\tint (*quota_on)(struct super_block *, int, int, const struct path *);\n\tint (*quota_off)(struct super_block *, int);\n\tint (*quota_enable)(struct super_block *, unsigned int);\n\tint (*quota_disable)(struct super_block *, unsigned int);\n\tint (*quota_sync)(struct super_block *, int);\n\tint (*set_info)(struct super_block *, int, struct qc_info *);\n\tint (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);\n\tint (*get_nextdqblk)(struct super_block *, struct kqid *, struct qc_dqblk *);\n\tint (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);\n\tint (*get_state)(struct super_block *, struct qc_state *);\n\tint (*rm_xquota)(struct super_block *, unsigned int);\n};\n\nstruct ra_msg {\n\tstruct icmp6hdr icmph;\n\t__be32 reachable_time;\n\t__be32 retrans_timer;\n};\n\nstruct xa_node;\n\nstruct radix_tree_iter {\n\tlong unsigned int index;\n\tlong unsigned int next_index;\n\tlong unsigned int tags;\n\tstruct xa_node *node;\n};\n\nstruct radix_tree_preload {\n\tlocal_lock_t lock;\n\tunsigned int nr;\n\tstruct xa_node *nodes;\n};\n\nstruct ramfs_mount_opts {\n\tumode_t mode;\n};\n\nstruct ramfs_fs_info {\n\tstruct ramfs_mount_opts mount_opts;\n};\n\nstruct range_node {\n\tstruct rb_node rn_rbnode;\n\tstruct rb_node rb_range_size;\n\tu32 rn_start;\n\tu32 rn_last;\n\tu32 __rn_subtree_last;\n};\n\nstruct range_trans {\n\tu32 source_type;\n\tu32 target_type;\n\tu32 target_class;\n};\n\nstruct rate_sample {\n\tu64 prior_mstamp;\n\tu32 prior_delivered;\n\tu32 prior_delivered_ce;\n\ts32 delivered;\n\ts32 delivered_ce;\n\tlong int interval_us;\n\tu32 snd_interval_us;\n\tu32 rcv_interval_us;\n\tlong int rtt_us;\n\tint losses;\n\tu32 acked_sacked;\n\tu32 prior_in_flight;\n\tu32 last_end_seq;\n\tbool is_app_limited;\n\tbool is_retrans;\n\tbool is_ack_delayed;\n};\n\nstruct raw6_frag_vec {\n\tstruct msghdr *msg;\n\tint hlen;\n\tchar c[4];\n};\n\nstruct raw6_sock {\n\tstruct inet_sock inet;\n\t__u32 checksum;\n\t__u32 offset;\n\tstruct icmp6_filter filter;\n\t__u32 ip6mr_table;\n\tstruct ipv6_pinfo inet6;\n};\n\nstruct raw_data_entry {\n\tstruct trace_entry ent;\n\tunsigned int id;\n\tchar buf[0];\n};\n\nstruct raw_frag_vec {\n\tstruct msghdr *msg;\n\tunion {\n\t\tstruct icmphdr icmph;\n\t\tchar c[1];\n\t} hdr;\n\tint hlen;\n};\n\nstruct raw_hashinfo {\n\tspinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct hlist_head ht[256];\n};\n\nstruct raw_iter_state {\n\tstruct seq_net_private p;\n\tint bucket;\n};\n\nstruct raw_sock {\n\tstruct inet_sock inet;\n\tstruct icmp_filter filter;\n\tu32 ipmr_table;\n};\n\nstruct rawdata_f_data {\n\tstruct aa_loaddata *loaddata;\n};\n\nstruct rb_augment_callbacks {\n\tvoid (*propagate)(struct rb_node *, struct rb_node *);\n\tvoid (*copy)(struct rb_node *, struct rb_node *);\n\tvoid (*rotate)(struct rb_node *, struct rb_node *);\n};\n\nstruct rb_event_info {\n\tu64 ts;\n\tu64 delta;\n\tu64 before;\n\tu64 after;\n\tlong unsigned int length;\n\tstruct buffer_page *tail_page;\n\tint add_timestamp;\n};\n\nstruct rb_irq_work {\n\tstruct irq_work work;\n\twait_queue_head_t waiters;\n\twait_queue_head_t full_waiters;\n\tatomic_t seq;\n\tbool waiters_pending;\n\tbool full_waiters_pending;\n\tbool wakeup_full;\n};\n\nstruct rb_list {\n\tstruct rb_root root;\n\tstruct list_head head;\n\tspinlock_t lock;\n};\n\nstruct rb_time_struct {\n\tlocal64_t time;\n};\n\ntypedef struct rb_time_struct rb_time_t;\n\nstruct rb_wait_data {\n\tstruct rb_irq_work *irq_work;\n\tint seq;\n};\n\nstruct rc {\n\tlong int (*fill)(void *, long unsigned int);\n\tuint8_t *ptr;\n\tuint8_t *buffer;\n\tuint8_t *buffer_end;\n\tlong int buffer_size;\n\tuint32_t code;\n\tuint32_t range;\n\tuint32_t bound;\n\tvoid (*error)(char *);\n};\n\nstruct rc_dec {\n\tuint32_t range;\n\tuint32_t code;\n\tuint32_t init_bytes_left;\n\tconst uint8_t *in;\n\tsize_t in_pos;\n\tsize_t in_limit;\n};\n\nstruct rcec_ea {\n\tu8 nextbusn;\n\tu8 lastbusn;\n\tu32 bitmap;\n};\n\nstruct rcu_cblist {\n\tstruct callback_head *head;\n\tstruct callback_head **tail;\n\tlong int len;\n};\n\nunion rcu_noqs {\n\tstruct {\n\t\tu8 norm;\n\t\tu8 exp;\n\t} b;\n\tu16 s;\n};\n\nstruct rcu_segcblist {\n\tstruct callback_head *head;\n\tstruct callback_head **tails[4];\n\tlong unsigned int gp_seq[4];\n\tlong int len;\n\tlong int seglen[4];\n\tu8 flags;\n};\n\nstruct rcu_snap_record {\n\tlong unsigned int gp_seq;\n\tu64 cputime_irq;\n\tu64 cputime_softirq;\n\tu64 cputime_system;\n\tlong unsigned int nr_hardirqs;\n\tunsigned int nr_softirqs;\n\tlong long unsigned int nr_csw;\n\tlong unsigned int jiffies;\n};\n\nstruct rcu_node;\n\nstruct rcu_data {\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_seq_needed;\n\tunion rcu_noqs cpu_no_qs;\n\tbool core_needs_qs;\n\tbool beenonline;\n\tbool gpwrap;\n\tbool cpu_started;\n\tstruct rcu_node *mynode;\n\tlong unsigned int grpmask;\n\tlong unsigned int ticks_this_gp;\n\tstruct irq_work defer_qs_iw;\n\tbool defer_qs_iw_pending;\n\tstruct work_struct strict_work;\n\tstruct rcu_segcblist cblist;\n\tlong int qlen_last_fqs_check;\n\tlong unsigned int n_cbs_invoked;\n\tlong unsigned int n_force_qs_snap;\n\tlong int blimit;\n\tint watching_snap;\n\tbool rcu_need_heavy_qs;\n\tbool rcu_urgent_qs;\n\tbool rcu_forced_tick;\n\tbool rcu_forced_tick_exp;\n\tlong unsigned int barrier_seq_snap;\n\tstruct callback_head barrier_head;\n\tint exp_watching_snap;\n\tstruct task_struct *rcu_cpu_kthread_task;\n\tunsigned int rcu_cpu_kthread_status;\n\tchar rcu_cpu_has_work;\n\tlong unsigned int rcuc_activity;\n\tunsigned int softirq_snap;\n\tstruct irq_work rcu_iw;\n\tbool rcu_iw_pending;\n\tlong unsigned int rcu_iw_gp_seq;\n\tlong unsigned int rcu_ofl_gp_seq;\n\tshort int rcu_ofl_gp_state;\n\tlong unsigned int rcu_onl_gp_seq;\n\tshort int rcu_onl_gp_state;\n\tlong unsigned int last_fqs_resched;\n\tlong unsigned int last_sched_clock;\n\tstruct rcu_snap_record snap_record;\n\tlong int lazy_len;\n\tint cpu;\n};\n\nstruct rcu_exp_work {\n\tlong unsigned int rew_s;\n\tstruct kthread_work rew_work;\n};\n\nstruct rcu_node {\n\traw_spinlock_t lock;\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_seq_needed;\n\tlong unsigned int completedqs;\n\tlong unsigned int qsmask;\n\tlong unsigned int rcu_gp_init_mask;\n\tlong unsigned int qsmaskinit;\n\tlong unsigned int qsmaskinitnext;\n\tlong unsigned int expmask;\n\tlong unsigned int expmaskinit;\n\tlong unsigned int expmaskinitnext;\n\tstruct kthread_worker *exp_kworker;\n\tlong unsigned int cbovldmask;\n\tlong unsigned int ffmask;\n\tlong unsigned int grpmask;\n\tint grplo;\n\tint grphi;\n\tu8 grpnum;\n\tu8 level;\n\tbool wait_blkd_tasks;\n\tstruct rcu_node *parent;\n\tstruct list_head blkd_tasks;\n\tstruct list_head *gp_tasks;\n\tstruct list_head *exp_tasks;\n\tstruct list_head *boost_tasks;\n\tstruct rt_mutex boost_mtx;\n\tlong unsigned int boost_time;\n\tstruct mutex kthread_mutex;\n\tstruct task_struct *boost_kthread_task;\n\tunsigned int boost_kthread_status;\n\tlong unsigned int n_boosts;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\traw_spinlock_t fqslock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t exp_lock;\n\tlong unsigned int exp_seq_rq;\n\twait_queue_head_t exp_wq[4];\n\tstruct rcu_exp_work rew;\n\tbool exp_need_flush;\n\traw_spinlock_t exp_poll_lock;\n\tlong unsigned int exp_seq_poll_rq;\n\tstruct work_struct exp_poll_wq;\n\tlong: 64;\n};\n\nunion rcu_special {\n\tstruct {\n\t\tu8 blocked;\n\t\tu8 need_qs;\n\t\tu8 exp_hint;\n\t\tu8 need_mb;\n\t} b;\n\tu32 s;\n};\n\nstruct sr_wait_node {\n\tatomic_t inuse;\n\tstruct llist_node node;\n};\n\nstruct rcu_state {\n\tstruct rcu_node node[5];\n\tstruct rcu_node *level[3];\n\tint ncpus;\n\tint n_online_cpus;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int gp_seq;\n\tlong unsigned int gp_max;\n\tstruct task_struct *gp_kthread;\n\tstruct swait_queue_head gp_wq;\n\tshort int gp_flags;\n\tshort int gp_state;\n\tlong unsigned int gp_wake_time;\n\tlong unsigned int gp_wake_seq;\n\tlong unsigned int gp_seq_polled;\n\tlong unsigned int gp_seq_polled_snap;\n\tlong unsigned int gp_seq_polled_exp_snap;\n\tstruct mutex barrier_mutex;\n\tatomic_t barrier_cpu_count;\n\tstruct completion barrier_completion;\n\tlong unsigned int barrier_sequence;\n\traw_spinlock_t barrier_lock;\n\tstruct mutex exp_mutex;\n\tstruct mutex exp_wake_mutex;\n\tlong unsigned int expedited_sequence;\n\tatomic_t expedited_need_qs;\n\tstruct swait_queue_head expedited_wq;\n\tint ncpus_snap;\n\tu8 cbovld;\n\tu8 cbovldnext;\n\tlong unsigned int jiffies_force_qs;\n\tlong unsigned int jiffies_kick_kthreads;\n\tlong unsigned int n_force_qs;\n\tlong unsigned int gp_start;\n\tlong unsigned int gp_end;\n\tlong unsigned int gp_activity;\n\tlong unsigned int gp_req_activity;\n\tlong unsigned int jiffies_stall;\n\tint nr_fqs_jiffies_stall;\n\tlong unsigned int jiffies_resched;\n\tlong unsigned int n_force_qs_gpstart;\n\tconst char *name;\n\tchar abbr;\n\tlong: 64;\n\tlong: 64;\n\tarch_spinlock_t ofl_lock;\n\tstruct llist_head srs_next;\n\tstruct llist_node *srs_wait_tail;\n\tstruct llist_node *srs_done_tail;\n\tstruct sr_wait_node srs_wait_nodes[5];\n\tstruct work_struct srs_cleanup_work;\n\tatomic_t srs_cleanups_pending;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rcu_synchronize {\n\tstruct callback_head head;\n\tstruct completion completion;\n};\n\nstruct rcu_tasks;\n\ntypedef void (*rcu_tasks_gp_func_t)(struct rcu_tasks *);\n\ntypedef void (*pregp_func_t)(struct list_head *);\n\ntypedef void (*pertask_func_t)(struct task_struct *, struct list_head *);\n\ntypedef void (*postscan_func_t)(struct list_head *);\n\ntypedef void (*holdouts_func_t)(struct list_head *, bool, bool *);\n\ntypedef void (*postgp_func_t)(struct rcu_tasks *);\n\ntypedef void (*rcu_callback_t)(struct callback_head *);\n\ntypedef void (*call_rcu_func_t)(struct callback_head *, rcu_callback_t);\n\nstruct rcu_tasks_percpu;\n\nstruct rcu_tasks {\n\tstruct rcuwait cbs_wait;\n\traw_spinlock_t cbs_gbl_lock;\n\tstruct mutex tasks_gp_mutex;\n\tint gp_state;\n\tint gp_sleep;\n\tint init_fract;\n\tlong unsigned int gp_jiffies;\n\tlong unsigned int gp_start;\n\tlong unsigned int tasks_gp_seq;\n\tlong unsigned int n_ipis;\n\tlong unsigned int n_ipis_fails;\n\tstruct task_struct *kthread_ptr;\n\tlong unsigned int lazy_jiffies;\n\trcu_tasks_gp_func_t gp_func;\n\tpregp_func_t pregp_func;\n\tpertask_func_t pertask_func;\n\tpostscan_func_t postscan_func;\n\tholdouts_func_t holdouts_func;\n\tpostgp_func_t postgp_func;\n\tcall_rcu_func_t call_func;\n\tunsigned int wait_state;\n\tstruct rcu_tasks_percpu *rtpcpu;\n\tstruct rcu_tasks_percpu **rtpcp_array;\n\tint percpu_enqueue_shift;\n\tint percpu_enqueue_lim;\n\tint percpu_dequeue_lim;\n\tlong unsigned int percpu_dequeue_gpseq;\n\tstruct mutex barrier_q_mutex;\n\tatomic_t barrier_q_count;\n\tstruct completion barrier_q_completion;\n\tlong unsigned int barrier_q_seq;\n\tlong unsigned int barrier_q_start;\n\tchar *name;\n\tchar *kname;\n};\n\nstruct rcu_tasks_percpu {\n\tstruct rcu_segcblist cblist;\n\traw_spinlock_t lock;\n\tlong unsigned int rtp_jiffies;\n\tlong unsigned int rtp_n_lock_retries;\n\tstruct timer_list lazy_timer;\n\tunsigned int urgent_gp;\n\tstruct work_struct rtp_work;\n\tstruct irq_work rtp_irq_work;\n\tstruct callback_head barrier_q_head;\n\tstruct list_head rtp_blkd_tasks;\n\tstruct list_head rtp_exit_list;\n\tint cpu;\n\tint index;\n\tstruct rcu_tasks *rtpp;\n};\n\nstruct rd_msg {\n\tstruct icmp6hdr icmph;\n\tstruct in6_addr target;\n\tstruct in6_addr dest;\n\t__u8 opt[0];\n};\n\nstruct read_plus_segment {\n\tenum data_content4 type;\n\tuint64_t offset;\n\tunion {\n\t\tstruct {\n\t\t\tuint64_t length;\n\t\t} hole;\n\t\tstruct {\n\t\t\tuint32_t length;\n\t\t\tunsigned int from;\n\t\t} data;\n\t};\n};\n\nstruct readahead_control {\n\tstruct file *file;\n\tstruct address_space *mapping;\n\tstruct file_ra_state *ra;\n\tlong unsigned int _index;\n\tunsigned int _nr_pages;\n\tunsigned int _batch_count;\n\tbool dropbehind;\n\tbool _workingset;\n\tlong unsigned int _pflags;\n};\n\nstruct virtnet_rq_stats {\n\tstruct u64_stats_sync syncp;\n\tu64_stats_t packets;\n\tu64_stats_t bytes;\n\tu64_stats_t drops;\n\tu64_stats_t xdp_packets;\n\tu64_stats_t xdp_tx;\n\tu64_stats_t xdp_redirects;\n\tu64_stats_t xdp_drops;\n\tu64_stats_t kicks;\n};\n\nstruct virtnet_interrupt_coalesce {\n\tu32 max_packets;\n\tu32 max_usecs;\n};\n\nstruct virtnet_rq_dma;\n\nstruct receive_queue {\n\tstruct virtqueue *vq;\n\tstruct napi_struct napi;\n\tstruct bpf_prog *xdp_prog;\n\tstruct virtnet_rq_stats stats;\n\tu16 calls;\n\tbool dim_enabled;\n\tstruct mutex dim_lock;\n\tstruct dim dim;\n\tu32 packets_in_napi;\n\tstruct virtnet_interrupt_coalesce intr_coal;\n\tstruct page *pages;\n\tstruct ewma_pkt_len mrg_avg_pkt_len;\n\tstruct page_frag alloc_frag;\n\tstruct scatterlist sg[19];\n\tunsigned int min_buf_len;\n\tchar name[16];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xdp_rxq;\n\tstruct virtnet_rq_dma *last_dma;\n\tstruct xsk_buff_pool *xsk_pool;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info xsk_rxq_info;\n\tstruct xdp_buff **xsk_buffs;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct reciprocal_value_adv {\n\tu32 m;\n\tu8 sh;\n\tu8 exp;\n\tbool is_wide_m;\n};\n\nstruct reclaim_stat {\n\tunsigned int nr_dirty;\n\tunsigned int nr_unqueued_dirty;\n\tunsigned int nr_congested;\n\tunsigned int nr_writeback;\n\tunsigned int nr_immediate;\n\tunsigned int nr_pageout;\n\tunsigned int nr_activate[2];\n\tunsigned int nr_ref_keep;\n\tunsigned int nr_unmap_fail;\n\tunsigned int nr_lazyfree_fail;\n\tunsigned int nr_demoted;\n};\n\nstruct reclaim_state {\n\tlong unsigned int reclaimed;\n};\n\nstruct recovery_info {\n\ttid_t start_transaction;\n\ttid_t end_transaction;\n\tlong unsigned int head_block;\n\tint nr_replays;\n\tint nr_revokes;\n\tint nr_revoke_hits;\n};\n\nstruct referring_call {\n\tuint32_t rc_sequenceid;\n\tuint32_t rc_slotid;\n};\n\nstruct referring_call_list {\n\tstruct nfs4_sessionid rcl_sessionid;\n\tuint32_t rcl_nrefcalls;\n\tstruct referring_call *rcl_refcalls;\n};\n\nunion reg_data {\n\tu8 data_bytes[8];\n\tulong data_ulong;\n\tu64 data_u64;\n};\n\nstruct reg_default {\n\tunsigned int reg;\n\tunsigned int def;\n};\n\nstruct reg_field {\n\tunsigned int reg;\n\tunsigned int lsb;\n\tunsigned int msb;\n\tunsigned int id_size;\n\tunsigned int id_offset;\n};\n\nstruct reg_sequence {\n\tunsigned int reg;\n\tunsigned int def;\n\tunsigned int delay_us;\n};\n\nstruct reg_val {\n\tu16 reg;\n\tu32 val;\n};\n\nstruct regcache_ops {\n\tconst char *name;\n\tenum regcache_type type;\n\tint (*init)(struct regmap *);\n\tint (*exit)(struct regmap *);\n\tvoid (*debugfs_init)(struct regmap *);\n\tint (*read)(struct regmap *, unsigned int, unsigned int *);\n\tint (*write)(struct regmap *, unsigned int, unsigned int);\n\tint (*sync)(struct regmap *, unsigned int, unsigned int);\n\tint (*drop)(struct regmap *, unsigned int, unsigned int);\n};\n\nstruct regcache_rbtree_node;\n\nstruct regcache_rbtree_ctx {\n\tstruct rb_root root;\n\tstruct regcache_rbtree_node *cached_rbnode;\n};\n\nstruct regcache_rbtree_node {\n\tvoid *block;\n\tlong unsigned int *cache_present;\n\tunsigned int base_reg;\n\tunsigned int blklen;\n\tstruct rb_node node;\n};\n\ntypedef int (*regex_match_func)(char *, struct regex *, int);\n\nstruct regex {\n\tchar pattern[256];\n\tint len;\n\tint field_len;\n\tregex_match_func match;\n};\n\nstruct region {\n\tunsigned int start;\n\tunsigned int off;\n\tunsigned int group_len;\n\tunsigned int end;\n\tunsigned int nbits;\n};\n\nstruct region_devres {\n\tstruct resource *parent;\n\tresource_size_t start;\n\tresource_size_t n;\n};\n\nstruct region_info_user {\n\t__u32 offset;\n\t__u32 erasesize;\n\t__u32 numblocks;\n\t__u32 regionindex;\n};\n\ntypedef void (*regmap_lock)(void *);\n\ntypedef void (*regmap_unlock)(void *);\n\nstruct regmap_format {\n\tsize_t buf_size;\n\tsize_t reg_bytes;\n\tsize_t pad_bytes;\n\tsize_t val_bytes;\n\ts8 reg_shift;\n\tvoid (*format_write)(struct regmap *, unsigned int, unsigned int);\n\tvoid (*format_reg)(void *, unsigned int, unsigned int);\n\tvoid (*format_val)(void *, unsigned int, unsigned int);\n\tunsigned int (*parse_val)(const void *);\n\tvoid (*parse_inplace)(void *);\n};\n\nstruct hwspinlock;\n\nstruct regmap_bus;\n\nstruct regmap_access_table;\n\nstruct regmap {\n\tunion {\n\t\tstruct mutex mutex;\n\t\tstruct {\n\t\t\tspinlock_t spinlock;\n\t\t\tlong unsigned int spinlock_flags;\n\t\t};\n\t\tstruct {\n\t\t\traw_spinlock_t raw_spinlock;\n\t\t\tlong unsigned int raw_spinlock_flags;\n\t\t};\n\t};\n\tstruct lock_class_key *lock_key;\n\tregmap_lock lock;\n\tregmap_unlock unlock;\n\tvoid *lock_arg;\n\tgfp_t alloc_flags;\n\tunsigned int reg_base;\n\tstruct device *dev;\n\tvoid *work_buf;\n\tstruct regmap_format format;\n\tconst struct regmap_bus *bus;\n\tvoid *bus_context;\n\tconst char *name;\n\tbool async;\n\tspinlock_t async_lock;\n\twait_queue_head_t async_waitq;\n\tstruct list_head async_list;\n\tstruct list_head async_free;\n\tint async_ret;\n\tbool debugfs_disable;\n\tstruct dentry *debugfs;\n\tconst char *debugfs_name;\n\tunsigned int debugfs_reg_len;\n\tunsigned int debugfs_val_len;\n\tunsigned int debugfs_tot_len;\n\tstruct list_head debugfs_off_cache;\n\tstruct mutex cache_lock;\n\tunsigned int max_register;\n\tbool max_register_is_set;\n\tbool (*writeable_reg)(struct device *, unsigned int);\n\tbool (*readable_reg)(struct device *, unsigned int);\n\tbool (*volatile_reg)(struct device *, unsigned int);\n\tbool (*precious_reg)(struct device *, unsigned int);\n\tbool (*writeable_noinc_reg)(struct device *, unsigned int);\n\tbool (*readable_noinc_reg)(struct device *, unsigned int);\n\tconst struct regmap_access_table *wr_table;\n\tconst struct regmap_access_table *rd_table;\n\tconst struct regmap_access_table *volatile_table;\n\tconst struct regmap_access_table *precious_table;\n\tconst struct regmap_access_table *wr_noinc_table;\n\tconst struct regmap_access_table *rd_noinc_table;\n\tint (*reg_read)(void *, unsigned int, unsigned int *);\n\tint (*reg_write)(void *, unsigned int, unsigned int);\n\tint (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\tint (*read)(void *, const void *, size_t, void *, size_t);\n\tint (*write)(void *, const void *, size_t);\n\tbool defer_caching;\n\tlong unsigned int read_flag_mask;\n\tlong unsigned int write_flag_mask;\n\tint reg_shift;\n\tint reg_stride;\n\tint reg_stride_order;\n\tbool force_write_field;\n\tconst struct regcache_ops *cache_ops;\n\tenum regcache_type cache_type;\n\tunsigned int cache_size_raw;\n\tunsigned int cache_word_size;\n\tunsigned int num_reg_defaults;\n\tunsigned int num_reg_defaults_raw;\n\tbool cache_only;\n\tbool cache_bypass;\n\tbool cache_free;\n\tstruct reg_default *reg_defaults;\n\tconst void *reg_defaults_raw;\n\tvoid *cache;\n\tbool cache_dirty;\n\tbool no_sync_defaults;\n\tstruct reg_sequence *patch;\n\tint patch_regs;\n\tbool use_single_read;\n\tbool use_single_write;\n\tbool can_multi_write;\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n\tstruct rb_root range_tree;\n\tvoid *selector_work_buf;\n\tstruct hwspinlock *hwlock;\n\tbool can_sleep;\n};\n\nstruct regmap_range;\n\nstruct regmap_access_table {\n\tconst struct regmap_range *yes_ranges;\n\tunsigned int n_yes_ranges;\n\tconst struct regmap_range *no_ranges;\n\tunsigned int n_no_ranges;\n};\n\nstruct regmap_async {\n\tstruct list_head list;\n\tstruct regmap *map;\n\tvoid *work_buf;\n};\n\nstruct regmap_async_spi {\n\tstruct regmap_async core;\n\tstruct spi_message m;\n\tstruct spi_transfer t[2];\n};\n\ntypedef int (*regmap_hw_write)(void *, const void *, size_t);\n\ntypedef int (*regmap_hw_gather_write)(void *, const void *, size_t, const void *, size_t);\n\ntypedef int (*regmap_hw_async_write)(void *, const void *, size_t, const void *, size_t, struct regmap_async *);\n\ntypedef int (*regmap_hw_reg_write)(void *, unsigned int, unsigned int);\n\ntypedef int (*regmap_hw_reg_noinc_write)(void *, unsigned int, const void *, size_t);\n\ntypedef int (*regmap_hw_reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\ntypedef int (*regmap_hw_read)(void *, const void *, size_t, void *, size_t);\n\ntypedef int (*regmap_hw_reg_read)(void *, unsigned int, unsigned int *);\n\ntypedef int (*regmap_hw_reg_noinc_read)(void *, unsigned int, void *, size_t);\n\ntypedef void (*regmap_hw_free_context)(void *);\n\ntypedef struct regmap_async * (*regmap_hw_async_alloc)(void);\n\nstruct regmap_bus {\n\tbool fast_io;\n\tbool free_on_exit;\n\tregmap_hw_write write;\n\tregmap_hw_gather_write gather_write;\n\tregmap_hw_async_write async_write;\n\tregmap_hw_reg_write reg_write;\n\tregmap_hw_reg_noinc_write reg_noinc_write;\n\tregmap_hw_reg_update_bits reg_update_bits;\n\tregmap_hw_read read;\n\tregmap_hw_reg_read reg_read;\n\tregmap_hw_reg_noinc_read reg_noinc_read;\n\tregmap_hw_free_context free_context;\n\tregmap_hw_async_alloc async_alloc;\n\tu8 read_flag_mask;\n\tenum regmap_endian reg_format_endian_default;\n\tenum regmap_endian val_format_endian_default;\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n};\n\nstruct regmap_range_cfg;\n\nstruct regmap_config {\n\tconst char *name;\n\tint reg_bits;\n\tint reg_stride;\n\tint reg_shift;\n\tunsigned int reg_base;\n\tint pad_bits;\n\tint val_bits;\n\tbool (*writeable_reg)(struct device *, unsigned int);\n\tbool (*readable_reg)(struct device *, unsigned int);\n\tbool (*volatile_reg)(struct device *, unsigned int);\n\tbool (*precious_reg)(struct device *, unsigned int);\n\tbool (*writeable_noinc_reg)(struct device *, unsigned int);\n\tbool (*readable_noinc_reg)(struct device *, unsigned int);\n\tint (*reg_read)(void *, unsigned int, unsigned int *);\n\tint (*reg_write)(void *, unsigned int, unsigned int);\n\tint (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int);\n\tint (*read)(void *, const void *, size_t, void *, size_t);\n\tint (*write)(void *, const void *, size_t);\n\tsize_t max_raw_read;\n\tsize_t max_raw_write;\n\tbool can_sleep;\n\tbool fast_io;\n\tbool io_port;\n\tbool disable_locking;\n\tregmap_lock lock;\n\tregmap_unlock unlock;\n\tvoid *lock_arg;\n\tunsigned int max_register;\n\tbool max_register_is_0;\n\tconst struct regmap_access_table *wr_table;\n\tconst struct regmap_access_table *rd_table;\n\tconst struct regmap_access_table *volatile_table;\n\tconst struct regmap_access_table *precious_table;\n\tconst struct regmap_access_table *wr_noinc_table;\n\tconst struct regmap_access_table *rd_noinc_table;\n\tconst struct reg_default *reg_defaults;\n\tunsigned int num_reg_defaults;\n\tenum regcache_type cache_type;\n\tconst void *reg_defaults_raw;\n\tunsigned int num_reg_defaults_raw;\n\tlong unsigned int read_flag_mask;\n\tlong unsigned int write_flag_mask;\n\tbool zero_flag_mask;\n\tbool use_single_read;\n\tbool use_single_write;\n\tbool use_relaxed_mmio;\n\tbool can_multi_write;\n\tbool use_hwlock;\n\tbool use_raw_spinlock;\n\tunsigned int hwlock_id;\n\tunsigned int hwlock_mode;\n\tenum regmap_endian reg_format_endian;\n\tenum regmap_endian val_format_endian;\n\tconst struct regmap_range_cfg *ranges;\n\tunsigned int num_ranges;\n};\n\nstruct regmap_debugfs_node {\n\tstruct regmap *map;\n\tstruct list_head link;\n};\n\nstruct regmap_debugfs_off_cache {\n\tstruct list_head list;\n\toff_t min;\n\toff_t max;\n\tunsigned int base_reg;\n\tunsigned int max_reg;\n};\n\nstruct regmap_field {\n\tstruct regmap *regmap;\n\tunsigned int mask;\n\tunsigned int shift;\n\tunsigned int reg;\n\tunsigned int id_size;\n\tunsigned int id_offset;\n};\n\nstruct regmap_irq_type {\n\tunsigned int type_reg_offset;\n\tunsigned int type_reg_mask;\n\tunsigned int type_rising_val;\n\tunsigned int type_falling_val;\n\tunsigned int type_level_low_val;\n\tunsigned int type_level_high_val;\n\tunsigned int types_supported;\n};\n\nstruct regmap_irq {\n\tunsigned int reg_offset;\n\tunsigned int mask;\n\tstruct regmap_irq_type type;\n};\n\nstruct regmap_irq_sub_irq_map;\n\nstruct regmap_irq_chip {\n\tconst char *name;\n\tconst char *domain_suffix;\n\tunsigned int main_status;\n\tunsigned int num_main_status_bits;\n\tconst struct regmap_irq_sub_irq_map *sub_reg_offsets;\n\tint num_main_regs;\n\tunsigned int status_base;\n\tunsigned int mask_base;\n\tunsigned int unmask_base;\n\tunsigned int ack_base;\n\tunsigned int wake_base;\n\tconst unsigned int *config_base;\n\tunsigned int irq_reg_stride;\n\tunsigned int init_ack_masked: 1;\n\tunsigned int mask_unmask_non_inverted: 1;\n\tunsigned int use_ack: 1;\n\tunsigned int ack_invert: 1;\n\tunsigned int clear_ack: 1;\n\tunsigned int status_invert: 1;\n\tunsigned int wake_invert: 1;\n\tunsigned int type_in_mask: 1;\n\tunsigned int clear_on_unmask: 1;\n\tunsigned int runtime_pm: 1;\n\tunsigned int no_status: 1;\n\tint num_regs;\n\tconst struct regmap_irq *irqs;\n\tint num_irqs;\n\tint num_config_bases;\n\tint num_config_regs;\n\tint (*handle_pre_irq)(void *);\n\tint (*handle_post_irq)(void *);\n\tint (*handle_mask_sync)(int, unsigned int, unsigned int, void *);\n\tint (*set_type_config)(unsigned int **, unsigned int, const struct regmap_irq *, int, void *);\n\tunsigned int (*get_irq_reg)(struct regmap_irq_chip_data *, unsigned int, int);\n\tvoid *irq_drv_data;\n};\n\nstruct regmap_irq_chip_data {\n\tstruct mutex lock;\n\tstruct irq_chip irq_chip;\n\tstruct regmap *map;\n\tconst struct regmap_irq_chip *chip;\n\tint irq_base;\n\tstruct irq_domain *domain;\n\tint irq;\n\tint wake_count;\n\tvoid *status_reg_buf;\n\tunsigned int *main_status_buf;\n\tunsigned int *status_buf;\n\tunsigned int *mask_buf;\n\tunsigned int *mask_buf_def;\n\tunsigned int *wake_buf;\n\tunsigned int *type_buf;\n\tunsigned int *type_buf_def;\n\tunsigned int **config_buf;\n\tunsigned int irq_reg_stride;\n\tunsigned int (*get_irq_reg)(struct regmap_irq_chip_data *, unsigned int, int);\n\tunsigned int clear_status: 1;\n};\n\nstruct regmap_irq_sub_irq_map {\n\tunsigned int num_regs;\n\tunsigned int *offset;\n};\n\nstruct regmap_mmio_context {\n\tvoid *regs;\n\tunsigned int val_bytes;\n\tbool big_endian;\n\tbool attached_clk;\n\tstruct clk *clk;\n\tvoid (*reg_write)(struct regmap_mmio_context *, unsigned int, unsigned int);\n\tunsigned int (*reg_read)(struct regmap_mmio_context *, unsigned int);\n};\n\nstruct regmap_range {\n\tunsigned int range_min;\n\tunsigned int range_max;\n};\n\nstruct regmap_range_cfg {\n\tconst char *name;\n\tunsigned int range_min;\n\tunsigned int range_max;\n\tunsigned int selector_reg;\n\tunsigned int selector_mask;\n\tint selector_shift;\n\tunsigned int window_start;\n\tunsigned int window_len;\n};\n\nstruct regmap_range_node {\n\tstruct rb_node node;\n\tconst char *name;\n\tstruct regmap *map;\n\tunsigned int range_min;\n\tunsigned int range_max;\n\tunsigned int selector_reg;\n\tunsigned int selector_mask;\n\tint selector_shift;\n\tunsigned int window_start;\n\tunsigned int window_len;\n};\n\nstruct regulator_voltage {\n\tint min_uV;\n\tint max_uV;\n};\n\nstruct regulator {\n\tstruct device *dev;\n\tstruct list_head list;\n\tunsigned int always_on: 1;\n\tunsigned int bypass: 1;\n\tunsigned int device_link: 1;\n\tint uA_load;\n\tunsigned int enable_count;\n\tunsigned int deferred_disables;\n\tstruct regulator_voltage voltage[5];\n\tconst char *supply_name;\n\tstruct device_attribute dev_attr;\n\tstruct regulator_dev *rdev;\n\tstruct dentry *debugfs;\n};\n\nstruct regulator_bulk_data {\n\tconst char *supply;\n\tstruct regulator *consumer;\n\tint init_load_uA;\n\tint ret;\n};\n\nstruct regulator_bulk_devres {\n\tstruct regulator_bulk_data *consumers;\n\tint num_consumers;\n};\n\nstruct regulator_config {\n\tstruct device *dev;\n\tconst struct regulator_init_data *init_data;\n\tvoid *driver_data;\n\tstruct device_node *of_node;\n\tstruct regmap *regmap;\n\tstruct gpio_desc *ena_gpiod;\n};\n\nstruct regulator_consumer_supply {\n\tconst char *dev_name;\n\tconst char *supply;\n};\n\nstruct regulator_coupler {\n\tstruct list_head list;\n\tint (*attach_regulator)(struct regulator_coupler *, struct regulator_dev *);\n\tint (*detach_regulator)(struct regulator_coupler *, struct regulator_dev *);\n\tint (*balance_voltage)(struct regulator_coupler *, struct regulator_dev *, suspend_state_t);\n};\n\nstruct regulator_enable_gpio;\n\nstruct regulator_dev {\n\tconst struct regulator_desc *desc;\n\tint exclusive;\n\tu32 use_count;\n\tu32 open_count;\n\tu32 bypass_count;\n\tstruct list_head list;\n\tstruct list_head consumer_list;\n\tstruct coupling_desc coupling_desc;\n\tstruct blocking_notifier_head notifier;\n\tstruct ww_mutex mutex;\n\tstruct task_struct *mutex_owner;\n\tint ref_cnt;\n\tstruct module *owner;\n\tstruct device dev;\n\tstruct regulation_constraints *constraints;\n\tstruct regulator *supply;\n\tconst char *supply_name;\n\tstruct regmap *regmap;\n\tstruct delayed_work disable_work;\n\tvoid *reg_data;\n\tstruct dentry *debugfs;\n\tstruct regulator_enable_gpio *ena_pin;\n\tunsigned int ena_gpio_state: 1;\n\tunsigned int is_switch: 1;\n\tktime_t last_off;\n\tint cached_err;\n\tbool use_cached_err;\n\tspinlock_t err_lock;\n\tint pw_requested_mW;\n};\n\nstruct regulator_enable_gpio {\n\tstruct list_head list;\n\tstruct gpio_desc *gpiod;\n\tu32 enable_count;\n\tu32 request_count;\n};\n\nstruct regulator_err_state {\n\tstruct regulator_dev *rdev;\n\tlong unsigned int notifs;\n\tlong unsigned int errors;\n\tint possible_errs;\n};\n\nstruct regulator_irq_data {\n\tstruct regulator_err_state *states;\n\tint num_states;\n\tvoid *data;\n\tlong int opaque;\n};\n\nstruct regulator_irq_desc {\n\tconst char *name;\n\tint fatal_cnt;\n\tint reread_ms;\n\tint irq_off_ms;\n\tbool skip_off;\n\tbool high_prio;\n\tvoid *data;\n\tint (*die)(struct regulator_irq_data *);\n\tint (*map_event)(int, struct regulator_irq_data *, long unsigned int *);\n\tint (*renable)(struct regulator_irq_data *);\n};\n\nstruct regulator_irq {\n\tstruct regulator_irq_data rdata;\n\tstruct regulator_irq_desc desc;\n\tint irq;\n\tint retry_cnt;\n\tstruct delayed_work isr_work;\n};\n\nstruct regulator_map {\n\tstruct list_head list;\n\tconst char *dev_name;\n\tconst char *supply;\n\tstruct regulator_dev *regulator;\n};\n\nstruct regulator_notifier_match {\n\tstruct regulator *regulator;\n\tstruct notifier_block *nb;\n};\n\nstruct regulator_ops {\n\tint (*list_voltage)(struct regulator_dev *, unsigned int);\n\tint (*set_voltage)(struct regulator_dev *, int, int, unsigned int *);\n\tint (*map_voltage)(struct regulator_dev *, int, int);\n\tint (*set_voltage_sel)(struct regulator_dev *, unsigned int);\n\tint (*get_voltage)(struct regulator_dev *);\n\tint (*get_voltage_sel)(struct regulator_dev *);\n\tint (*set_current_limit)(struct regulator_dev *, int, int);\n\tint (*get_current_limit)(struct regulator_dev *);\n\tint (*set_input_current_limit)(struct regulator_dev *, int);\n\tint (*set_over_current_protection)(struct regulator_dev *, int, int, bool);\n\tint (*set_over_voltage_protection)(struct regulator_dev *, int, int, bool);\n\tint (*set_under_voltage_protection)(struct regulator_dev *, int, int, bool);\n\tint (*set_thermal_protection)(struct regulator_dev *, int, int, bool);\n\tint (*set_active_discharge)(struct regulator_dev *, bool);\n\tint (*enable)(struct regulator_dev *);\n\tint (*disable)(struct regulator_dev *);\n\tint (*is_enabled)(struct regulator_dev *);\n\tint (*set_mode)(struct regulator_dev *, unsigned int);\n\tunsigned int (*get_mode)(struct regulator_dev *);\n\tint (*get_error_flags)(struct regulator_dev *, unsigned int *);\n\tint (*enable_time)(struct regulator_dev *);\n\tint (*set_ramp_delay)(struct regulator_dev *, int);\n\tint (*set_voltage_time)(struct regulator_dev *, int, int);\n\tint (*set_voltage_time_sel)(struct regulator_dev *, unsigned int, unsigned int);\n\tint (*set_soft_start)(struct regulator_dev *);\n\tint (*get_status)(struct regulator_dev *);\n\tunsigned int (*get_optimum_mode)(struct regulator_dev *, int, int, int);\n\tint (*set_load)(struct regulator_dev *, int);\n\tint (*set_bypass)(struct regulator_dev *, bool);\n\tint (*get_bypass)(struct regulator_dev *, bool *);\n\tint (*set_suspend_voltage)(struct regulator_dev *, int);\n\tint (*set_suspend_enable)(struct regulator_dev *);\n\tint (*set_suspend_disable)(struct regulator_dev *);\n\tint (*set_suspend_mode)(struct regulator_dev *, unsigned int);\n\tint (*resume)(struct regulator_dev *);\n\tint (*set_pull_down)(struct regulator_dev *);\n};\n\nstruct regulator_supply_alias {\n\tstruct list_head list;\n\tstruct device *src_dev;\n\tconst char *src_supply;\n\tstruct device *alias_dev;\n\tconst char *alias_supply;\n};\n\nstruct regulator_supply_alias_match {\n\tstruct device *dev;\n\tconst char *id;\n};\n\nstruct relocation_entry {\n\tstruct list_head head;\n\tElf64_Addr value;\n\tunsigned int type;\n};\n\nstruct relocation_handlers {\n\tint (*reloc_handler)(struct module *, void *, Elf64_Addr);\n\tint (*accumulate_handler)(struct module *, void *, long int);\n};\n\nstruct relocation_head {\n\tstruct hlist_node node;\n\tstruct list_head rel_entry;\n\tvoid *location;\n};\n\ntypedef int (*remote_function_f)(void *);\n\nstruct remote_function_call {\n\tstruct task_struct *p;\n\tremote_function_f func;\n\tvoid *info;\n\tint ret;\n};\n\nstruct remote_output {\n\tstruct perf_buffer *rb;\n\tint err;\n};\n\nstruct renamedata {\n\tstruct mnt_idmap *old_mnt_idmap;\n\tstruct inode *old_dir;\n\tstruct dentry *old_dentry;\n\tstruct mnt_idmap *new_mnt_idmap;\n\tstruct inode *new_dir;\n\tstruct dentry *new_dentry;\n\tstruct inode **delegated_inode;\n\tunsigned int flags;\n};\n\nstruct renesas_family {\n\tconst char name[16];\n\tu32 reg;\n};\n\nstruct renesas_id {\n\tunsigned int offset;\n\tu32 mask;\n};\n\nstruct renesas_soc {\n\tconst struct renesas_family *family;\n\tu32 id;\n};\n\nstruct repcodes_s {\n\tU32 rep[3];\n};\n\ntypedef struct repcodes_s repcodes_t;\n\nstruct req {\n\tstruct req *next;\n\tstruct completion done;\n\tint err;\n\tconst char *name;\n\tumode_t mode;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct device *dev;\n};\n\nstruct req_iterator {\n\tstruct bvec_iter iter;\n\tstruct bio *bio;\n};\n\ntypedef enum rq_end_io_ret rq_end_io_fn(struct request *, blk_status_t);\n\nstruct request {\n\tstruct request_queue *q;\n\tstruct blk_mq_ctx *mq_ctx;\n\tstruct blk_mq_hw_ctx *mq_hctx;\n\tblk_opf_t cmd_flags;\n\treq_flags_t rq_flags;\n\tint tag;\n\tint internal_tag;\n\tunsigned int timeout;\n\tunsigned int __data_len;\n\tsector_t __sector;\n\tstruct bio *bio;\n\tstruct bio *biotail;\n\tunion {\n\t\tstruct list_head queuelist;\n\t\tstruct request *rq_next;\n\t};\n\tstruct block_device *part;\n\tu64 start_time_ns;\n\tu64 io_start_time_ns;\n\tshort unsigned int stats_sectors;\n\tshort unsigned int nr_phys_segments;\n\tshort unsigned int nr_integrity_segments;\n\tenum mq_rq_state state;\n\tatomic_t ref;\n\tlong unsigned int deadline;\n\tunion {\n\t\tstruct hlist_node hash;\n\t\tstruct llist_node ipi_list;\n\t};\n\tunion {\n\t\tstruct rb_node rb_node;\n\t\tstruct bio_vec special_vec;\n\t};\n\tstruct {\n\t\tstruct io_cq *icq;\n\t\tvoid *priv[2];\n\t} elv;\n\tstruct {\n\t\tunsigned int seq;\n\t\trq_end_io_fn *saved_end_io;\n\t} flush;\n\tu64 fifo_time;\n\trq_end_io_fn *end_io;\n\tvoid *end_io_data;\n};\n\nstruct request_key_auth {\n\tstruct callback_head rcu;\n\tstruct key *target_key;\n\tstruct key *dest_keyring;\n\tconst struct cred *cred;\n\tvoid *callout_info;\n\tsize_t callout_len;\n\tpid_t pid;\n\tchar op[8];\n};\n\nstruct rq_qos;\n\nstruct throtl_data;\n\nstruct request_queue {\n\tvoid *queuedata;\n\tstruct elevator_queue *elevator;\n\tconst struct blk_mq_ops *mq_ops;\n\tstruct blk_mq_ctx *queue_ctx;\n\tlong unsigned int queue_flags;\n\tunsigned int rq_timeout;\n\tunsigned int queue_depth;\n\trefcount_t refs;\n\tunsigned int nr_hw_queues;\n\tstruct xarray hctx_table;\n\tstruct percpu_ref q_usage_counter;\n\tstruct lock_class_key io_lock_cls_key;\n\tstruct lockdep_map io_lockdep_map;\n\tstruct lock_class_key q_lock_cls_key;\n\tstruct lockdep_map q_lockdep_map;\n\tstruct request *last_merge;\n\tspinlock_t queue_lock;\n\tint quiesce_depth;\n\tstruct gendisk *disk;\n\tstruct kobject *mq_kobj;\n\tstruct queue_limits limits;\n\tstruct device *dev;\n\tenum rpm_status rpm_status;\n\tatomic_t pm_only;\n\tstruct blk_queue_stats *stats;\n\tstruct rq_qos *rq_qos;\n\tstruct mutex rq_qos_mutex;\n\tint id;\n\tlong unsigned int nr_requests;\n\tstruct timer_list timeout;\n\tstruct work_struct timeout_work;\n\tatomic_t nr_active_requests_shared_tags;\n\tstruct blk_mq_tags *sched_shared_tags;\n\tstruct list_head icq_list;\n\tlong unsigned int blkcg_pols[1];\n\tstruct blkcg_gq *root_blkg;\n\tstruct list_head blkg_list;\n\tstruct mutex blkcg_mutex;\n\tint node;\n\tspinlock_t requeue_lock;\n\tstruct list_head requeue_list;\n\tstruct delayed_work requeue_work;\n\tstruct blk_flush_queue *fq;\n\tstruct list_head flush_list;\n\tstruct mutex sysfs_lock;\n\tstruct mutex limits_lock;\n\tstruct list_head unused_hctx_list;\n\tspinlock_t unused_hctx_lock;\n\tint mq_freeze_depth;\n\tstruct throtl_data *td;\n\tstruct callback_head callback_head;\n\twait_queue_head_t mq_freeze_wq;\n\tstruct mutex mq_freeze_lock;\n\tstruct blk_mq_tag_set *tag_set;\n\tstruct list_head tag_set_list;\n\tstruct dentry *debugfs_dir;\n\tstruct dentry *sched_debugfs_dir;\n\tstruct dentry *rqos_debugfs_dir;\n\tstruct mutex debugfs_mutex;\n};\n\nstruct request_sense {\n\t__u8 error_code: 7;\n\t__u8 valid: 1;\n\t__u8 segment_number;\n\t__u8 sense_key: 4;\n\t__u8 reserved2: 1;\n\t__u8 ili: 1;\n\t__u8 reserved1: 2;\n\t__u8 information[4];\n\t__u8 add_sense_len;\n\t__u8 command_info[4];\n\t__u8 asc;\n\t__u8 ascq;\n\t__u8 fruc;\n\t__u8 sks[3];\n\t__u8 asb[46];\n};\n\nstruct request_sock__safe_rcu_or_null {\n\tstruct sock *sk;\n};\n\nstruct request_sock_ops {\n\tint family;\n\tunsigned int obj_size;\n\tstruct kmem_cache *slab;\n\tchar *slab_name;\n\tint (*rtx_syn_ack)(const struct sock *, struct request_sock *);\n\tvoid (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *);\n\tvoid (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason);\n\tvoid (*destructor)(struct request_sock *);\n\tvoid (*syn_ack_timeout)(const struct request_sock *);\n};\n\nstruct res_proc_context {\n\tstruct list_head *list;\n\tint (*preproc)(struct acpi_resource *, void *);\n\tvoid *preproc_data;\n\tint count;\n\tint error;\n};\n\nstruct reserve_mem_table {\n\tchar name[16];\n\tphys_addr_t start;\n\tphys_addr_t size;\n};\n\nstruct reserved_mem_ops;\n\nstruct reserved_mem {\n\tconst char *name;\n\tlong unsigned int fdt_node;\n\tconst struct reserved_mem_ops *ops;\n\tphys_addr_t base;\n\tphys_addr_t size;\n\tvoid *priv;\n};\n\nstruct reserved_mem_ops {\n\tint (*device_init)(struct reserved_mem *, struct device *);\n\tvoid (*device_release)(struct reserved_mem *, struct device *);\n};\n\nstruct reset_control {\n\tstruct reset_controller_dev *rcdev;\n\tstruct list_head list;\n\tunsigned int id;\n\tstruct kref refcnt;\n\tbool acquired;\n\tbool shared;\n\tbool array;\n\tatomic_t deassert_count;\n\tatomic_t triggered_count;\n};\n\nstruct reset_control_array {\n\tstruct reset_control base;\n\tunsigned int num_rstcs;\n\tstruct reset_control *rstc[0];\n};\n\nstruct reset_control_bulk_devres {\n\tint num_rstcs;\n\tstruct reset_control_bulk_data *rstcs;\n};\n\nstruct reset_control_lookup {\n\tstruct list_head list;\n\tconst char *provider;\n\tunsigned int index;\n\tconst char *dev_id;\n\tconst char *con_id;\n};\n\nstruct reset_control_ops {\n\tint (*reset)(struct reset_controller_dev *, long unsigned int);\n\tint (*assert)(struct reset_controller_dev *, long unsigned int);\n\tint (*deassert)(struct reset_controller_dev *, long unsigned int);\n\tint (*status)(struct reset_controller_dev *, long unsigned int);\n};\n\nstruct reset_simple_devdata {\n\tu32 reg_offset;\n\tu32 nr_resets;\n\tbool active_low;\n\tbool status_active_low;\n};\n\ntypedef resource_size_t (*resource_alignf)(void *, const struct resource *, resource_size_t, resource_size_t);\n\nstruct resource_constraint {\n\tresource_size_t min;\n\tresource_size_t max;\n\tresource_size_t align;\n\tresource_alignf alignf;\n\tvoid *alignf_data;\n};\n\nstruct resource_entry {\n\tstruct list_head node;\n\tstruct resource *res;\n\tresource_size_t offset;\n\tstruct resource __res;\n};\n\nstruct resource_win {\n\tstruct resource res;\n\tresource_size_t offset;\n};\n\nstruct response_iu {\n\t__u8 iu_id;\n\t__u8 rsvd1;\n\t__be16 tag;\n\t__u8 add_response_info[3];\n\t__u8 response_code;\n};\n\nstruct restart_block {\n\tlong unsigned int arch_data;\n\tlong int (*fn)(struct restart_block *);\n\tunion {\n\t\tstruct {\n\t\t\tu32 *uaddr;\n\t\t\tu32 val;\n\t\t\tu32 flags;\n\t\t\tu32 bitset;\n\t\t\tu64 time;\n\t\t\tu32 *uaddr2;\n\t\t} futex;\n\t\tstruct {\n\t\t\tclockid_t clockid;\n\t\t\tenum timespec_type type;\n\t\t\tunion {\n\t\t\t\tstruct __kernel_timespec *rmtp;\n\t\t\t\tstruct old_timespec32 *compat_rmtp;\n\t\t\t};\n\t\t\tu64 expires;\n\t\t} nanosleep;\n\t\tstruct {\n\t\t\tstruct pollfd *ufds;\n\t\t\tint nfds;\n\t\t\tint has_timeout;\n\t\t\tlong unsigned int tv_sec;\n\t\t\tlong unsigned int tv_nsec;\n\t\t} poll;\n\t};\n};\n\nstruct resv_map {\n\tstruct kref refs;\n\tspinlock_t lock;\n\tstruct list_head regions;\n\tlong int adds_in_progress;\n\tstruct list_head region_cache;\n\tlong int region_cache_count;\n\tstruct rw_semaphore rw_sema;\n\tstruct page_counter *reservation_counter;\n\tlong unsigned int pages_per_hpage;\n\tstruct cgroup_subsys_state *css;\n};\n\nstruct return_address_data {\n\tunsigned int level;\n\tvoid *addr;\n};\n\nstruct return_consumer {\n\t__u64 cookie;\n\t__u64 id;\n};\n\nstruct return_instance {\n\tstruct hprobe hprobe;\n\tlong unsigned int func;\n\tlong unsigned int stack;\n\tlong unsigned int orig_ret_vaddr;\n\tbool chained;\n\tint cons_cnt;\n\tstruct return_instance *next;\n\tstruct callback_head rcu;\n\tstruct return_consumer consumer;\n\tstruct return_consumer *extra_consumers;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct reuseport_array {\n\tstruct bpf_map map;\n\tstruct sock *ptrs[0];\n};\n\nstruct rgb {\n\tu8 r;\n\tu8 g;\n\tu8 b;\n};\n\nstruct rhash_lock_head {};\n\nstruct rhashtable_compare_arg {\n\tstruct rhashtable *ht;\n\tconst void *key;\n};\n\nstruct rhlist_head {\n\tstruct rhash_head rhead;\n\tstruct rhlist_head *next;\n};\n\nstruct rhltable {\n\tstruct rhashtable ht;\n};\n\nstruct ring_buffer_event {\n\tu32 type_len: 5;\n\tu32 time_delta: 27;\n\tu32 array[0];\n};\n\nstruct ring_buffer_per_cpu;\n\nstruct ring_buffer_iter {\n\tstruct ring_buffer_per_cpu *cpu_buffer;\n\tlong unsigned int head;\n\tlong unsigned int next_event;\n\tstruct buffer_page *head_page;\n\tstruct buffer_page *cache_reader_page;\n\tlong unsigned int cache_read;\n\tlong unsigned int cache_pages_removed;\n\tu64 read_stamp;\n\tu64 page_stamp;\n\tstruct ring_buffer_event *event;\n\tsize_t event_size;\n\tint missed_events;\n};\n\nstruct ring_buffer_meta {\n\tint magic;\n\tint struct_size;\n\tlong unsigned int text_addr;\n\tlong unsigned int data_addr;\n\tlong unsigned int first_buffer;\n\tlong unsigned int head_buffer;\n\tlong unsigned int commit_buffer;\n\t__u32 subbuf_size;\n\t__u32 nr_subbufs;\n\tint buffers[0];\n};\n\nstruct trace_buffer_meta;\n\nstruct ring_buffer_per_cpu {\n\tint cpu;\n\tatomic_t record_disabled;\n\tatomic_t resize_disabled;\n\tstruct trace_buffer *buffer;\n\traw_spinlock_t reader_lock;\n\tarch_spinlock_t lock;\n\tstruct lock_class_key lock_key;\n\tstruct buffer_data_page *free_page;\n\tlong unsigned int nr_pages;\n\tunsigned int current_context;\n\tstruct list_head *pages;\n\tlong unsigned int cnt;\n\tstruct buffer_page *head_page;\n\tstruct buffer_page *tail_page;\n\tstruct buffer_page *commit_page;\n\tstruct buffer_page *reader_page;\n\tlong unsigned int lost_events;\n\tlong unsigned int last_overrun;\n\tlong unsigned int nest;\n\tlocal_t entries_bytes;\n\tlocal_t entries;\n\tlocal_t overrun;\n\tlocal_t commit_overrun;\n\tlocal_t dropped_events;\n\tlocal_t committing;\n\tlocal_t commits;\n\tlocal_t pages_touched;\n\tlocal_t pages_lost;\n\tlocal_t pages_read;\n\tlong int last_pages_touch;\n\tsize_t shortest_full;\n\tlong unsigned int read;\n\tlong unsigned int read_bytes;\n\trb_time_t write_stamp;\n\trb_time_t before_stamp;\n\tu64 event_stamp[5];\n\tu64 read_stamp;\n\tlong unsigned int pages_removed;\n\tunsigned int mapped;\n\tunsigned int user_mapped;\n\tstruct mutex mapping_lock;\n\tlong unsigned int *subbuf_ids;\n\tstruct trace_buffer_meta *meta_page;\n\tstruct ring_buffer_meta *ring_meta;\n\tlong int nr_pages_to_update;\n\tstruct list_head new_pages;\n\tstruct work_struct update_pages_work;\n\tstruct completion update_done;\n\tstruct rb_irq_work irq_work;\n};\n\nstruct ring_info {\n\tstruct sk_buff *skb;\n\tu32 len;\n};\n\nstruct rings_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_ringparam ringparam;\n\tstruct kernel_ethtool_ringparam kernel_ringparam;\n\tu32 supported_ring_params;\n};\n\nstruct rintc_data {\n\tunion {\n\t\tu32 ext_intc_id;\n\t\tstruct {\n\t\t\tu32 context_id: 16;\n\t\t\tu32 reserved: 8;\n\t\t\tu32 aplic_plic_id: 8;\n\t\t};\n\t};\n\tlong unsigned int hart_id;\n\tu64 imsic_addr;\n\tu32 imsic_size;\n};\n\nstruct riscv_cacheinfo_ops {\n\tconst struct attribute_group * (*get_priv_group)(struct cacheinfo *);\n};\n\nstruct riscv_cpuinfo {\n\tlong unsigned int mvendorid;\n\tlong unsigned int marchid;\n\tlong unsigned int mimpid;\n};\n\nstruct riscv_efi_boot_protocol {\n\tu64 revision;\n\tefi_status_t (*get_boot_hartid)(struct riscv_efi_boot_protocol *, long unsigned int *);\n};\n\nstruct riscv_ext_intc_list {\n\tacpi_handle handle;\n\tu32 gsi_base;\n\tu32 nr_irqs;\n\tu32 nr_idcs;\n\tu32 id;\n\tu32 type;\n\tstruct list_head list;\n};\n\nstruct riscv_hwprobe {\n\t__s64 key;\n\t__u64 value;\n};\n\nstruct riscv_iommu_bond {\n\tstruct list_head list;\n\tstruct callback_head rcu;\n\tstruct device *dev;\n};\n\nstruct riscv_iommu_command {\n\tu64 dword0;\n\tu64 dword1;\n};\n\nstruct riscv_iommu_dc {\n\tu64 tc;\n\tu64 iohgatp;\n\tu64 ta;\n\tu64 fsc;\n\tu64 msiptp;\n\tu64 msi_addr_mask;\n\tu64 msi_addr_pattern;\n\tu64 _reserved;\n};\n\nstruct riscv_iommu_device;\n\nstruct riscv_iommu_queue {\n\tatomic_t prod;\n\tatomic_t head;\n\tatomic_t tail;\n\tunsigned int mask;\n\tunsigned int irq;\n\tstruct riscv_iommu_device *iommu;\n\tvoid *base;\n\tdma_addr_t phys;\n\tu16 qbr;\n\tu16 qcr;\n\tu8 qid;\n};\n\nstruct riscv_iommu_device {\n\tstruct iommu_device iommu;\n\tstruct device *dev;\n\tvoid *reg;\n\tu64 caps;\n\tu32 fctl;\n\tunsigned int irqs[4];\n\tunsigned int irqs_count;\n\tunsigned int icvec;\n\tstruct riscv_iommu_queue cmdq;\n\tstruct riscv_iommu_queue fltq;\n\tunsigned int ddt_mode;\n\tdma_addr_t ddt_phys;\n\tu64 *ddt_root;\n};\n\nstruct riscv_iommu_devres {\n\tvoid *addr;\n\tint order;\n};\n\nstruct riscv_iommu_domain {\n\tstruct iommu_domain domain;\n\tstruct list_head bonds;\n\tspinlock_t lock;\n\tint pscid;\n\tbool amo_enabled;\n\tint numa_node;\n\tunsigned int pgd_mode;\n\tlong unsigned int *pgd_root;\n};\n\nstruct riscv_iommu_fq_record {\n\tu64 hdr;\n\tu64 _reserved;\n\tu64 iotval;\n\tu64 iotval2;\n};\n\nstruct riscv_iommu_info {\n\tstruct riscv_iommu_domain *domain;\n};\n\nstruct riscv_isa_ext_data {\n\tconst unsigned int id;\n\tconst char *name;\n\tconst char *property;\n\tconst unsigned int *subset_ext_ids;\n\tconst unsigned int subset_ext_size;\n\tint (*validate)(const struct riscv_isa_ext_data *, const long unsigned int *);\n};\n\nstruct riscv_isavendorinfo {\n\tlong unsigned int isa[1];\n};\n\nstruct riscv_isa_vendor_ext_data_list {\n\tbool is_initialized;\n\tconst size_t ext_data_count;\n\tconst struct riscv_isa_ext_data *ext_data;\n\tstruct riscv_isavendorinfo per_hart_isa_bitmap[64];\n\tstruct riscv_isavendorinfo all_harts_isa_bitmap;\n};\n\nstruct riscv_isainfo {\n\tlong unsigned int isa[2];\n};\n\nstruct riscv_nonstd_cache_ops {\n\tvoid (*wback)(phys_addr_t, size_t);\n\tvoid (*inv)(phys_addr_t, size_t);\n\tvoid (*wback_inv)(phys_addr_t, size_t);\n};\n\nstruct riscv_pmu {\n\tstruct pmu pmu;\n\tchar *name;\n\tirqreturn_t (*handle_irq)(int, void *);\n\tlong unsigned int cmask;\n\tu64 (*ctr_read)(struct perf_event *);\n\tint (*ctr_get_idx)(struct perf_event *);\n\tint (*ctr_get_width)(int);\n\tvoid (*ctr_clear_idx)(struct perf_event *);\n\tvoid (*ctr_start)(struct perf_event *, u64);\n\tvoid (*ctr_stop)(struct perf_event *, long unsigned int);\n\tint (*event_map)(struct perf_event *, u64 *);\n\tvoid (*event_init)(struct perf_event *);\n\tvoid (*event_mapped)(struct perf_event *, struct mm_struct *);\n\tvoid (*event_unmapped)(struct perf_event *, struct mm_struct *);\n\tuint8_t (*csr_index)(struct perf_event *);\n\tstruct cpu_hw_events *hw_events;\n\tstruct hlist_node node;\n\tstruct notifier_block riscv_pm_nb;\n};\n\nstruct riscv_pmu_snapshot_data {\n\tu64 ctr_overflow_mask;\n\tu64 ctr_values[64];\n\tu64 reserved[447];\n};\n\nstruct rk35xx_priv {\n\tstruct reset_control *reset;\n\tenum dwcmshc_rk_type devtype;\n\tu8 txclk_tapnum;\n};\n\nstruct rlimit64 {\n\t__u64 rlim_cur;\n\t__u64 rlim_max;\n};\n\nstruct rmap_walk_arg {\n\tstruct folio *folio;\n\tbool map_unused_to_zeropage;\n};\n\nstruct rmap_walk_control {\n\tvoid *arg;\n\tbool try_lock;\n\tbool contended;\n\tbool (*rmap_one)(struct folio *, struct vm_area_struct *, long unsigned int, void *);\n\tint (*done)(struct folio *);\n\tstruct anon_vma * (*anon_lock)(const struct folio *, struct rmap_walk_control *);\n\tbool (*invalid_vma)(struct vm_area_struct *, void *);\n};\n\nstruct rmem_assigned_device {\n\tstruct device *dev;\n\tstruct reserved_mem *rmem;\n\tstruct list_head list;\n};\n\nstruct rmi_2d_axis_alignment {\n\tbool swap_axes;\n\tbool flip_x;\n\tbool flip_y;\n\tu16 clip_x_low;\n\tu16 clip_y_low;\n\tu16 clip_x_high;\n\tu16 clip_y_high;\n\tu16 offset_x;\n\tu16 offset_y;\n\tu8 delta_x_threshold;\n\tu8 delta_y_threshold;\n};\n\nstruct rmi_2d_sensor_platform_data {\n\tstruct rmi_2d_axis_alignment axis_align;\n\tenum rmi_sensor_type sensor_type;\n\tint x_mm;\n\tint y_mm;\n\tint disable_report_mask;\n\tu16 rezero_wait;\n\tbool topbuttonpad;\n\tbool kernel_tracking;\n\tint dmax;\n\tint dribble;\n\tint palm_detect;\n};\n\nstruct rmi_device_platform_data_spi {\n\tu32 block_delay_us;\n\tu32 split_read_block_delay_us;\n\tu32 read_delay_us;\n\tu32 write_delay_us;\n\tu32 split_read_byte_delay_us;\n\tu32 pre_delay_us;\n\tu32 post_delay_us;\n\tu8 bits_per_word;\n\tu16 mode;\n\tvoid *cs_assert_data;\n\tint (*cs_assert)(const void *, const bool);\n};\n\nstruct rmi_f01_power_management {\n\tenum rmi_reg_state nosleep;\n\tu8 wakeup_threshold;\n\tu8 doze_holdoff;\n\tu8 doze_interval;\n};\n\nstruct rmi_gpio_data {\n\tbool buttonpad;\n\tbool trackstick_buttons;\n\tbool disable;\n};\n\nstruct rmi_device_platform_data {\n\tint reset_delay_ms;\n\tint irq;\n\tstruct rmi_device_platform_data_spi spi_data;\n\tstruct rmi_2d_sensor_platform_data sensor_pdata;\n\tstruct rmi_f01_power_management power_management;\n\tstruct rmi_gpio_data gpio_data;\n};\n\nstruct rnd_state {\n\t__u32 s1;\n\t__u32 s2;\n\t__u32 s3;\n\t__u32 s4;\n};\n\nstruct rng_alg {\n\tint (*generate)(struct crypto_rng *, const u8 *, unsigned int, u8 *, unsigned int);\n\tint (*seed)(struct crypto_rng *, const u8 *, unsigned int);\n\tvoid (*set_ent)(struct crypto_rng *, const u8 *, unsigned int);\n\tunsigned int seedsize;\n\tstruct crypto_alg base;\n};\n\nstruct robust_list {\n\tstruct robust_list *next;\n};\n\nstruct robust_list_head {\n\tstruct robust_list list;\n\tlong int futex_offset;\n\tstruct robust_list *list_op_pending;\n};\n\nstruct rock_ridge {\n\t__u8 signature[2];\n\t__u8 len;\n\t__u8 version;\n\tunion {\n\t\tstruct SU_SP_s SP;\n\t\tstruct SU_CE_s CE;\n\t\tstruct SU_ER_s ER;\n\t\tstruct RR_RR_s RR;\n\t\tstruct RR_PX_s PX;\n\t\tstruct RR_PN_s PN;\n\t\tstruct RR_SL_s SL;\n\t\tstruct RR_NM_s NM;\n\t\tstruct RR_CL_s CL;\n\t\tstruct RR_PL_s PL;\n\t\tstruct RR_TF_s TF;\n\t\tstruct RR_ZF_s ZF;\n\t} u;\n};\n\nstruct rock_state {\n\tvoid *buffer;\n\tunsigned char *chr;\n\tint len;\n\tint cont_size;\n\tint cont_extent;\n\tint cont_offset;\n\tint cont_loops;\n\tstruct inode *inode;\n};\n\nstruct role_allow {\n\tu32 role;\n\tu32 new_role;\n\tstruct role_allow *next;\n};\n\nstruct role_datum {\n\tu32 value;\n\tu32 bounds;\n\tstruct ebitmap dominates;\n\tstruct ebitmap types;\n};\n\nstruct role_trans_datum {\n\tu32 new_role;\n};\n\nstruct role_trans_key {\n\tu32 role;\n\tu32 type;\n\tu32 tclass;\n};\n\nstruct root_device {\n\tstruct device dev;\n\tstruct module *owner;\n};\n\nstruct root_domain {\n\tatomic_t refcount;\n\tatomic_t rto_count;\n\tstruct callback_head rcu;\n\tcpumask_var_t span;\n\tcpumask_var_t online;\n\tbool overloaded;\n\tbool overutilized;\n\tcpumask_var_t dlo_mask;\n\tatomic_t dlo_count;\n\tstruct dl_bw dl_bw;\n\tstruct cpudl cpudl;\n\tu64 visit_gen;\n\tstruct irq_work rto_push_work;\n\traw_spinlock_t rto_lock;\n\tint rto_loop;\n\tint rto_cpu;\n\tatomic_t rto_loop_next;\n\tatomic_t rto_loop_start;\n\tcpumask_var_t rto_mask;\n\tstruct cpupri cpupri;\n\tstruct perf_domain *pd;\n};\n\nstruct rpc_add_xprt_test {\n\tvoid (*add_xprt_test)(struct rpc_clnt *, struct rpc_xprt *, void *);\n\tvoid *data;\n};\n\nstruct rpc_auth_create_args {\n\trpc_authflavor_t pseudoflavor;\n\tconst char *target_name;\n};\n\nstruct rpc_authops {\n\tstruct module *owner;\n\trpc_authflavor_t au_flavor;\n\tchar *au_name;\n\tstruct rpc_auth * (*create)(const struct rpc_auth_create_args *, struct rpc_clnt *);\n\tvoid (*destroy)(struct rpc_auth *);\n\tint (*hash_cred)(struct auth_cred *, unsigned int);\n\tstruct rpc_cred * (*lookup_cred)(struct rpc_auth *, struct auth_cred *, int);\n\tstruct rpc_cred * (*crcreate)(struct rpc_auth *, struct auth_cred *, int, gfp_t);\n\trpc_authflavor_t (*info2flavor)(struct rpcsec_gss_info *);\n\tint (*flavor2info)(rpc_authflavor_t, struct rpcsec_gss_info *);\n\tint (*key_timeout)(struct rpc_auth *, struct rpc_cred *);\n\tint (*ping)(struct rpc_clnt *);\n};\n\nstruct rpc_bind_conn_calldata {\n\tstruct nfs_client *clp;\n\tconst struct cred *cred;\n};\n\nstruct rpc_buffer {\n\tsize_t len;\n\tchar data[0];\n};\n\nstruct rpc_call_ops {\n\tvoid (*rpc_call_prepare)(struct rpc_task *, void *);\n\tvoid (*rpc_call_done)(struct rpc_task *, void *);\n\tvoid (*rpc_count_stats)(struct rpc_task *, void *);\n\tvoid (*rpc_release)(void *);\n};\n\nstruct rpc_xprt_switch;\n\nstruct rpc_cb_add_xprt_calldata {\n\tstruct rpc_xprt_switch *xps;\n\tstruct rpc_xprt *xprt;\n};\n\nstruct rpc_pipe_dir_head {\n\tstruct list_head pdh_entries;\n\tstruct dentry *pdh_dentry;\n};\n\nstruct rpc_rtt {\n\tlong unsigned int timeo;\n\tlong unsigned int srtt[5];\n\tlong unsigned int sdrtt[5];\n\tint ntimeouts[5];\n};\n\nstruct rpc_timeout {\n\tlong unsigned int to_initval;\n\tlong unsigned int to_maxval;\n\tlong unsigned int to_increment;\n\tunsigned int to_retries;\n\tunsigned char to_exponential;\n};\n\nstruct rpc_xprt_iter_ops;\n\nstruct rpc_xprt_iter {\n\tstruct rpc_xprt_switch *xpi_xpswitch;\n\tstruct rpc_xprt *xpi_cursor;\n\tconst struct rpc_xprt_iter_ops *xpi_ops;\n};\n\nstruct rpc_iostats;\n\nstruct rpc_sysfs_client;\n\nstruct rpc_clnt {\n\trefcount_t cl_count;\n\tunsigned int cl_clid;\n\tstruct list_head cl_clients;\n\tstruct list_head cl_tasks;\n\tatomic_t cl_pid;\n\tspinlock_t cl_lock;\n\tstruct rpc_xprt *cl_xprt;\n\tconst struct rpc_procinfo *cl_procinfo;\n\tu32 cl_prog;\n\tu32 cl_vers;\n\tu32 cl_maxproc;\n\tstruct rpc_auth *cl_auth;\n\tstruct rpc_stat *cl_stats;\n\tstruct rpc_iostats *cl_metrics;\n\tunsigned int cl_softrtry: 1;\n\tunsigned int cl_softerr: 1;\n\tunsigned int cl_discrtry: 1;\n\tunsigned int cl_noretranstimeo: 1;\n\tunsigned int cl_autobind: 1;\n\tunsigned int cl_chatty: 1;\n\tunsigned int cl_shutdown: 1;\n\tstruct xprtsec_parms cl_xprtsec;\n\tstruct rpc_rtt *cl_rtt;\n\tconst struct rpc_timeout *cl_timeout;\n\tatomic_t cl_swapper;\n\tint cl_nodelen;\n\tchar cl_nodename[65];\n\tstruct rpc_pipe_dir_head cl_pipedir_objects;\n\tstruct rpc_clnt *cl_parent;\n\tstruct rpc_rtt cl_rtt_default;\n\tstruct rpc_timeout cl_timeout_default;\n\tconst struct rpc_program *cl_program;\n\tconst char *cl_principal;\n\tstruct rpc_sysfs_client *cl_sysfs;\n\tunion {\n\t\tstruct rpc_xprt_iter cl_xpi;\n\t\tstruct work_struct cl_work;\n\t};\n\tconst struct cred *cl_cred;\n\tunsigned int cl_max_connect;\n\tstruct super_block *pipefs_sb;\n\tatomic_t cl_task_count;\n};\n\nstruct svc_xprt;\n\nstruct rpc_create_args {\n\tstruct net *net;\n\tint protocol;\n\tstruct sockaddr *address;\n\tsize_t addrsize;\n\tstruct sockaddr *saddress;\n\tconst struct rpc_timeout *timeout;\n\tconst char *servername;\n\tconst char *nodename;\n\tconst struct rpc_program *program;\n\tstruct rpc_stat *stats;\n\tu32 prognumber;\n\tu32 version;\n\trpc_authflavor_t authflavor;\n\tu32 nconnect;\n\tlong unsigned int flags;\n\tchar *client_name;\n\tstruct svc_xprt *bc_xprt;\n\tconst struct cred *cred;\n\tunsigned int max_connect;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct rpc_cred_cache {\n\tstruct hlist_head *hashtable;\n\tunsigned int hashbits;\n\tspinlock_t lock;\n};\n\nstruct rpc_credops {\n\tconst char *cr_name;\n\tint (*cr_init)(struct rpc_auth *, struct rpc_cred *);\n\tvoid (*crdestroy)(struct rpc_cred *);\n\tint (*crmatch)(struct auth_cred *, struct rpc_cred *, int);\n\tint (*crmarshal)(struct rpc_task *, struct xdr_stream *);\n\tint (*crrefresh)(struct rpc_task *);\n\tint (*crvalidate)(struct rpc_task *, struct xdr_stream *);\n\tint (*crwrap_req)(struct rpc_task *, struct xdr_stream *);\n\tint (*crunwrap_resp)(struct rpc_task *, struct xdr_stream *);\n\tint (*crkey_timeout)(struct rpc_cred *);\n\tchar * (*crstringify_acceptor)(struct rpc_cred *);\n\tbool (*crneed_reencode)(struct rpc_task *);\n};\n\nstruct rpc_filelist {\n\tconst char *name;\n\tconst struct file_operations *i_fop;\n\tumode_t mode;\n};\n\nstruct rpc_inode {\n\tstruct inode vfs_inode;\n\tvoid *private;\n\tstruct rpc_pipe *pipe;\n\twait_queue_head_t waitq;\n};\n\nstruct rpc_iostats {\n\tspinlock_t om_lock;\n\tlong unsigned int om_ops;\n\tlong unsigned int om_ntrans;\n\tlong unsigned int om_timeouts;\n\tlong long unsigned int om_bytes_sent;\n\tlong long unsigned int om_bytes_recv;\n\tktime_t om_queue;\n\tktime_t om_rtt;\n\tktime_t om_execute;\n\tlong unsigned int om_error_status;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rpc_pipe {\n\tstruct list_head pipe;\n\tstruct list_head in_upcall;\n\tstruct list_head in_downcall;\n\tint pipelen;\n\tint nreaders;\n\tint nwriters;\n\tint flags;\n\tstruct delayed_work queue_timeout;\n\tconst struct rpc_pipe_ops *ops;\n\tspinlock_t lock;\n\tstruct dentry *dentry;\n};\n\nstruct rpc_pipe_dir_object_ops {\n\tint (*create)(struct dentry *, struct rpc_pipe_dir_object *);\n\tvoid (*destroy)(struct dentry *, struct rpc_pipe_dir_object *);\n};\n\nstruct rpc_pipe_ops {\n\tssize_t (*upcall)(struct file *, struct rpc_pipe_msg *, char *, size_t);\n\tssize_t (*downcall)(struct file *, const char *, size_t);\n\tvoid (*release_pipe)(struct inode *);\n\tint (*open_pipe)(struct inode *);\n\tvoid (*destroy_msg)(struct rpc_pipe_msg *);\n};\n\ntypedef void (*kxdreproc_t)(struct rpc_rqst *, struct xdr_stream *, const void *);\n\ntypedef int (*kxdrdproc_t)(struct rpc_rqst *, struct xdr_stream *, void *);\n\nstruct rpc_procinfo {\n\tu32 p_proc;\n\tkxdreproc_t p_encode;\n\tkxdrdproc_t p_decode;\n\tunsigned int p_arglen;\n\tunsigned int p_replen;\n\tunsigned int p_timer;\n\tu32 p_statidx;\n\tconst char *p_name;\n};\n\nstruct rpc_program {\n\tconst char *name;\n\tu32 number;\n\tunsigned int nrvers;\n\tconst struct rpc_version **version;\n\tstruct rpc_stat *stats;\n\tconst char *pipe_dir_name;\n};\n\nstruct xdr_buf {\n\tstruct kvec head[1];\n\tstruct kvec tail[1];\n\tstruct bio_vec *bvec;\n\tstruct page **pages;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int flags;\n\tunsigned int buflen;\n\tunsigned int len;\n};\n\nstruct rpc_rqst {\n\tstruct rpc_xprt *rq_xprt;\n\tstruct xdr_buf rq_snd_buf;\n\tstruct xdr_buf rq_rcv_buf;\n\tstruct rpc_task *rq_task;\n\tstruct rpc_cred *rq_cred;\n\t__be32 rq_xid;\n\tint rq_cong;\n\tu32 rq_seqno;\n\tint rq_enc_pages_num;\n\tstruct page **rq_enc_pages;\n\tvoid (*rq_release_snd_buf)(struct rpc_rqst *);\n\tunion {\n\t\tstruct list_head rq_list;\n\t\tstruct rb_node rq_recv;\n\t};\n\tstruct list_head rq_xmit;\n\tstruct list_head rq_xmit2;\n\tvoid *rq_buffer;\n\tsize_t rq_callsize;\n\tvoid *rq_rbuffer;\n\tsize_t rq_rcvsize;\n\tsize_t rq_xmit_bytes_sent;\n\tsize_t rq_reply_bytes_recvd;\n\tstruct xdr_buf rq_private_buf;\n\tlong unsigned int rq_majortimeo;\n\tlong unsigned int rq_minortimeo;\n\tlong unsigned int rq_timeout;\n\tktime_t rq_rtt;\n\tunsigned int rq_retries;\n\tunsigned int rq_connect_cookie;\n\tatomic_t rq_pin;\n\tu32 rq_bytes_sent;\n\tktime_t rq_xtime;\n\tint rq_ntrans;\n\tstruct lwq_node rq_bc_list;\n\tlong unsigned int rq_bc_pa_state;\n\tstruct list_head rq_bc_pa_list;\n};\n\nstruct rpc_sysfs_client {\n\tstruct kobject kobject;\n\tstruct net *net;\n\tstruct rpc_clnt *clnt;\n\tstruct rpc_xprt_switch *xprt_switch;\n};\n\nstruct rpc_sysfs_xprt {\n\tstruct kobject kobject;\n\tstruct rpc_xprt *xprt;\n\tstruct rpc_xprt_switch *xprt_switch;\n};\n\nstruct rpc_sysfs_xprt_switch {\n\tstruct kobject kobject;\n\tstruct net *net;\n\tstruct rpc_xprt_switch *xprt_switch;\n\tstruct rpc_xprt *xprt;\n};\n\nstruct rpc_task_setup {\n\tstruct rpc_task *task;\n\tstruct rpc_clnt *rpc_client;\n\tstruct rpc_xprt *rpc_xprt;\n\tstruct rpc_cred *rpc_op_cred;\n\tconst struct rpc_message *rpc_message;\n\tconst struct rpc_call_ops *callback_ops;\n\tvoid *callback_data;\n\tstruct workqueue_struct *workqueue;\n\tshort unsigned int flags;\n\tsigned char priority;\n};\n\nstruct rpc_version {\n\tu32 number;\n\tunsigned int nrprocs;\n\tconst struct rpc_procinfo *procs;\n\tunsigned int *counts;\n};\n\nstruct rpc_xprt_ops;\n\nstruct xprt_class;\n\nstruct rpc_xprt {\n\tstruct kref kref;\n\tconst struct rpc_xprt_ops *ops;\n\tunsigned int id;\n\tconst struct rpc_timeout *timeout;\n\tstruct __kernel_sockaddr_storage addr;\n\tsize_t addrlen;\n\tint prot;\n\tlong unsigned int cong;\n\tlong unsigned int cwnd;\n\tsize_t max_payload;\n\tstruct rpc_wait_queue binding;\n\tstruct rpc_wait_queue sending;\n\tstruct rpc_wait_queue pending;\n\tstruct rpc_wait_queue backlog;\n\tstruct list_head free;\n\tunsigned int max_reqs;\n\tunsigned int min_reqs;\n\tunsigned int num_reqs;\n\tlong unsigned int state;\n\tunsigned char resvport: 1;\n\tunsigned char reuseport: 1;\n\tatomic_t swapper;\n\tunsigned int bind_index;\n\tstruct list_head xprt_switch;\n\tlong unsigned int bind_timeout;\n\tlong unsigned int reestablish_timeout;\n\tstruct xprtsec_parms xprtsec;\n\tunsigned int connect_cookie;\n\tstruct work_struct task_cleanup;\n\tstruct timer_list timer;\n\tlong unsigned int last_used;\n\tlong unsigned int idle_timeout;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int max_reconnect_timeout;\n\tatomic_long_t queuelen;\n\tspinlock_t transport_lock;\n\tspinlock_t reserve_lock;\n\tspinlock_t queue_lock;\n\tu32 xid;\n\tstruct rpc_task *snd_task;\n\tstruct list_head xmit_queue;\n\tatomic_long_t xmit_queuelen;\n\tstruct svc_xprt *bc_xprt;\n\tstruct svc_serv *bc_serv;\n\tunsigned int bc_alloc_max;\n\tunsigned int bc_alloc_count;\n\tatomic_t bc_slot_count;\n\tspinlock_t bc_pa_lock;\n\tstruct list_head bc_pa_list;\n\tstruct rb_root recv_queue;\n\tstruct {\n\t\tlong unsigned int bind_count;\n\t\tlong unsigned int connect_count;\n\t\tlong unsigned int connect_start;\n\t\tlong unsigned int connect_time;\n\t\tlong unsigned int sends;\n\t\tlong unsigned int recvs;\n\t\tlong unsigned int bad_xids;\n\t\tlong unsigned int max_slots;\n\t\tlong long unsigned int req_u;\n\t\tlong long unsigned int bklog_u;\n\t\tlong long unsigned int sending_u;\n\t\tlong long unsigned int pending_u;\n\t} stat;\n\tstruct net *xprt_net;\n\tnetns_tracker ns_tracker;\n\tconst char *servername;\n\tconst char *address_strings[6];\n\tstruct callback_head rcu;\n\tconst struct xprt_class *xprt_class;\n\tstruct rpc_sysfs_xprt *xprt_sysfs;\n\tbool main;\n};\n\nstruct rpc_xprt_iter_ops {\n\tvoid (*xpi_rewind)(struct rpc_xprt_iter *);\n\tstruct rpc_xprt * (*xpi_xprt)(struct rpc_xprt_iter *);\n\tstruct rpc_xprt * (*xpi_next)(struct rpc_xprt_iter *);\n};\n\nstruct rpc_xprt_ops {\n\tvoid (*set_buffer_size)(struct rpc_xprt *, size_t, size_t);\n\tint (*reserve_xprt)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*release_xprt)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*alloc_slot)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*free_slot)(struct rpc_xprt *, struct rpc_rqst *);\n\tvoid (*rpcbind)(struct rpc_task *);\n\tvoid (*set_port)(struct rpc_xprt *, short unsigned int);\n\tvoid (*connect)(struct rpc_xprt *, struct rpc_task *);\n\tint (*get_srcaddr)(struct rpc_xprt *, char *, size_t);\n\tshort unsigned int (*get_srcport)(struct rpc_xprt *);\n\tint (*buf_alloc)(struct rpc_task *);\n\tvoid (*buf_free)(struct rpc_task *);\n\tint (*prepare_request)(struct rpc_rqst *, struct xdr_buf *);\n\tint (*send_request)(struct rpc_rqst *);\n\tvoid (*abort_send_request)(struct rpc_rqst *);\n\tvoid (*wait_for_reply_request)(struct rpc_task *);\n\tvoid (*timer)(struct rpc_xprt *, struct rpc_task *);\n\tvoid (*release_request)(struct rpc_task *);\n\tvoid (*close)(struct rpc_xprt *);\n\tvoid (*destroy)(struct rpc_xprt *);\n\tvoid (*set_connect_timeout)(struct rpc_xprt *, long unsigned int, long unsigned int);\n\tvoid (*print_stats)(struct rpc_xprt *, struct seq_file *);\n\tint (*enable_swap)(struct rpc_xprt *);\n\tvoid (*disable_swap)(struct rpc_xprt *);\n\tvoid (*inject_disconnect)(struct rpc_xprt *);\n\tint (*bc_setup)(struct rpc_xprt *, unsigned int);\n\tsize_t (*bc_maxpayload)(struct rpc_xprt *);\n\tunsigned int (*bc_num_slots)(struct rpc_xprt *);\n\tvoid (*bc_free_rqst)(struct rpc_rqst *);\n\tvoid (*bc_destroy)(struct rpc_xprt *, unsigned int);\n};\n\nstruct rpc_xprt_switch {\n\tspinlock_t xps_lock;\n\tstruct kref xps_kref;\n\tunsigned int xps_id;\n\tunsigned int xps_nxprts;\n\tunsigned int xps_nactive;\n\tunsigned int xps_nunique_destaddr_xprts;\n\tatomic_long_t xps_queuelen;\n\tstruct list_head xps_xprt_list;\n\tstruct net *xps_net;\n\tconst struct rpc_xprt_iter_ops *xps_iter_ops;\n\tstruct rpc_sysfs_xprt_switch *xps_sysfs;\n\tstruct callback_head xps_rcu;\n};\n\nstruct rpcb_info {\n\tu32 rpc_vers;\n\tconst struct rpc_procinfo *rpc_proc;\n};\n\nstruct rpcbind_args {\n\tstruct rpc_xprt *r_xprt;\n\tu32 r_prog;\n\tu32 r_vers;\n\tu32 r_prot;\n\tshort unsigned int r_port;\n\tconst char *r_netid;\n\tconst char *r_addr;\n\tconst char *r_owner;\n\tint r_status;\n};\n\nstruct rpmb_descr {\n\tenum rpmb_type type;\n\tint (*route_frames)(struct device *, u8 *, unsigned int, u8 *, unsigned int);\n\tu8 *dev_id;\n\tsize_t dev_id_len;\n\tu16 reliable_wr_count;\n\tu16 capacity;\n};\n\nstruct rpmb_dev {\n\tstruct device dev;\n\tint id;\n\tstruct list_head list_node;\n\tstruct rpmb_descr descr;\n};\n\nstruct rpmb_frame {\n\tu8 stuff[196];\n\tu8 key_mac[32];\n\tu8 data[256];\n\tu8 nonce[16];\n\t__be32 write_counter;\n\t__be16 addr;\n\t__be16 block_count;\n\t__be16 result;\n\t__be16 req_resp;\n};\n\nstruct rpmsg_channel_info {\n\tchar name[32];\n\tu32 src;\n\tu32 dst;\n};\n\nstruct rpmsg_device;\n\nstruct rpmsg_ctrldev {\n\tstruct rpmsg_device *rpdev;\n\tstruct cdev cdev;\n\tstruct device dev;\n\tstruct mutex ctrl_lock;\n};\n\nstruct rpmsg_device_id {\n\tchar name[32];\n\tkernel_ulong_t driver_data;\n};\n\nstruct rpmsg_endpoint;\n\nstruct rpmsg_device_ops;\n\nstruct rpmsg_device {\n\tstruct device dev;\n\tstruct rpmsg_device_id id;\n\tconst char *driver_override;\n\tu32 src;\n\tu32 dst;\n\tstruct rpmsg_endpoint *ept;\n\tbool announce;\n\tbool little_endian;\n\tconst struct rpmsg_device_ops *ops;\n};\n\ntypedef int (*rpmsg_rx_cb_t)(struct rpmsg_device *, void *, int, void *, u32);\n\nstruct rpmsg_device_ops {\n\tstruct rpmsg_device * (*create_channel)(struct rpmsg_device *, struct rpmsg_channel_info *);\n\tint (*release_channel)(struct rpmsg_device *, struct rpmsg_channel_info *);\n\tstruct rpmsg_endpoint * (*create_ept)(struct rpmsg_device *, rpmsg_rx_cb_t, void *, struct rpmsg_channel_info);\n\tint (*announce_create)(struct rpmsg_device *);\n\tint (*announce_destroy)(struct rpmsg_device *);\n};\n\nstruct rpmsg_driver {\n\tstruct device_driver drv;\n\tconst struct rpmsg_device_id *id_table;\n\tint (*probe)(struct rpmsg_device *);\n\tvoid (*remove)(struct rpmsg_device *);\n\tint (*callback)(struct rpmsg_device *, void *, int, void *, u32);\n\tint (*flowcontrol)(struct rpmsg_device *, void *, bool);\n};\n\ntypedef int (*rpmsg_flowcontrol_cb_t)(struct rpmsg_device *, void *, bool);\n\nstruct rpmsg_endpoint_ops;\n\nstruct rpmsg_endpoint {\n\tstruct rpmsg_device *rpdev;\n\tstruct kref refcount;\n\trpmsg_rx_cb_t cb;\n\trpmsg_flowcontrol_cb_t flow_cb;\n\tstruct mutex cb_lock;\n\tu32 addr;\n\tvoid *priv;\n\tconst struct rpmsg_endpoint_ops *ops;\n};\n\nstruct rpmsg_endpoint_info {\n\tchar name[32];\n\t__u32 src;\n\t__u32 dst;\n};\n\nstruct rpmsg_endpoint_ops {\n\tvoid (*destroy_ept)(struct rpmsg_endpoint *);\n\tint (*send)(struct rpmsg_endpoint *, void *, int);\n\tint (*sendto)(struct rpmsg_endpoint *, void *, int, u32);\n\tint (*send_offchannel)(struct rpmsg_endpoint *, u32, u32, void *, int);\n\tint (*trysend)(struct rpmsg_endpoint *, void *, int);\n\tint (*trysendto)(struct rpmsg_endpoint *, void *, int, u32);\n\tint (*trysend_offchannel)(struct rpmsg_endpoint *, u32, u32, void *, int);\n\t__poll_t (*poll)(struct rpmsg_endpoint *, struct file *, poll_table *);\n\tint (*set_flow_control)(struct rpmsg_endpoint *, bool, u32);\n\tssize_t (*get_mtu)(struct rpmsg_endpoint *);\n};\n\nstruct rpmsg_eptdev {\n\tstruct device dev;\n\tstruct cdev cdev;\n\tstruct rpmsg_device *rpdev;\n\tstruct rpmsg_channel_info chinfo;\n\tstruct mutex ept_lock;\n\tstruct rpmsg_endpoint *ept;\n\tstruct rpmsg_endpoint *default_ept;\n\tspinlock_t queue_lock;\n\tstruct sk_buff_head queue;\n\twait_queue_head_t readq;\n\tbool remote_flow_restricted;\n\tbool remote_flow_updated;\n};\n\nstruct rpmsg_hdr {\n\t__rpmsg32 src;\n\t__rpmsg32 dst;\n\t__rpmsg32 reserved;\n\t__rpmsg16 len;\n\t__rpmsg16 flags;\n\tu8 data[0];\n};\n\nstruct rpmsg_ns_msg {\n\tchar name[32];\n\t__rpmsg32 addr;\n\t__rpmsg32 flags;\n};\n\nstruct rps_dev_flow {\n\tu16 cpu;\n\tu16 filter;\n\tunsigned int last_qtail;\n};\n\nstruct rps_dev_flow_table {\n\tunsigned int mask;\n\tstruct callback_head rcu;\n\tstruct rps_dev_flow flows[0];\n};\n\nstruct rps_map {\n\tunsigned int len;\n\tstruct callback_head rcu;\n\tu16 cpus[0];\n};\n\nstruct rps_sock_flow_table {\n\tu32 mask;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tu32 ents[0];\n};\n\nstruct rt_prio_array {\n\tlong unsigned int bitmap[2];\n\tstruct list_head queue[100];\n};\n\nstruct rt_rq {\n\tstruct rt_prio_array active;\n\tunsigned int rt_nr_running;\n\tunsigned int rr_nr_running;\n\tstruct {\n\t\tint curr;\n\t\tint next;\n\t} highest_prio;\n\tbool overloaded;\n\tstruct plist_head pushable_tasks;\n\tint rt_queued;\n};\n\nstruct sched_dl_entity;\n\ntypedef bool (*dl_server_has_tasks_f)(struct sched_dl_entity *);\n\ntypedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *);\n\nstruct sched_dl_entity {\n\tstruct rb_node rb_node;\n\tu64 dl_runtime;\n\tu64 dl_deadline;\n\tu64 dl_period;\n\tu64 dl_bw;\n\tu64 dl_density;\n\ts64 runtime;\n\tu64 deadline;\n\tunsigned int flags;\n\tunsigned int dl_throttled: 1;\n\tunsigned int dl_yielded: 1;\n\tunsigned int dl_non_contending: 1;\n\tunsigned int dl_overrun: 1;\n\tunsigned int dl_server: 1;\n\tunsigned int dl_server_active: 1;\n\tunsigned int dl_defer: 1;\n\tunsigned int dl_defer_armed: 1;\n\tunsigned int dl_defer_running: 1;\n\tstruct hrtimer dl_timer;\n\tstruct hrtimer inactive_timer;\n\tstruct rq *rq;\n\tdl_server_has_tasks_f server_has_tasks;\n\tdl_server_pick_f server_pick_task;\n\tstruct sched_dl_entity *pi_se;\n};\n\nstruct rq {\n\traw_spinlock_t __lock;\n\tunsigned int nr_running;\n\tlong unsigned int last_blocked_load_update_tick;\n\tunsigned int has_blocked_load;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t nohz_csd;\n\tunsigned int nohz_tick_stopped;\n\tatomic_t nohz_flags;\n\tunsigned int ttwu_pending;\n\tu64 nr_switches;\n\tlong: 64;\n\tstruct cfs_rq cfs;\n\tstruct rt_rq rt;\n\tstruct dl_rq dl;\n\tstruct sched_dl_entity fair_server;\n\tstruct list_head leaf_cfs_rq_list;\n\tstruct list_head *tmp_alone_branch;\n\tunsigned int nr_uninterruptible;\n\tunion {\n\t\tstruct task_struct *donor;\n\t\tstruct task_struct *curr;\n\t};\n\tstruct sched_dl_entity *dl_server;\n\tstruct task_struct *idle;\n\tstruct task_struct *stop;\n\tlong unsigned int next_balance;\n\tstruct mm_struct *prev_mm;\n\tunsigned int clock_update_flags;\n\tu64 clock;\n\tu64 clock_task;\n\tu64 clock_pelt;\n\tlong unsigned int lost_idle_time;\n\tu64 clock_pelt_idle;\n\tu64 clock_idle;\n\tatomic_t nr_iowait;\n\tu64 last_seen_need_resched_ns;\n\tint ticks_without_resched;\n\tint membarrier_state;\n\tstruct root_domain *rd;\n\tstruct sched_domain *sd;\n\tlong unsigned int cpu_capacity;\n\tstruct balance_callback *balance_callback;\n\tunsigned char nohz_idle_balance;\n\tunsigned char idle_balance;\n\tlong unsigned int misfit_task_load;\n\tint active_balance;\n\tint push_cpu;\n\tstruct cpu_stop_work active_balance_work;\n\tint cpu;\n\tint online;\n\tstruct list_head cfs_tasks;\n\tstruct sched_avg avg_rt;\n\tstruct sched_avg avg_dl;\n\tu64 idle_stamp;\n\tu64 avg_idle;\n\tu64 max_idle_balance_cost;\n\tstruct rcuwait hotplug_wait;\n\tlong unsigned int calc_load_update;\n\tlong int calc_load_active;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t hrtick_csd;\n\tstruct hrtimer hrtick_timer;\n\tktime_t hrtick_time;\n\tstruct cpuidle_state *idle_state;\n\tunsigned int nr_pinned;\n\tunsigned int push_busy;\n\tstruct cpu_stop_work push_work;\n\tcpumask_var_t scratch_mask;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t cfsb_csd;\n\tstruct list_head cfsb_csd_list;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct rq_depth {\n\tunsigned int max_depth;\n\tint scale_step;\n\tbool scaled_max;\n\tunsigned int queue_depth;\n\tunsigned int default_depth;\n};\n\nstruct rq_iter_data {\n\tstruct blk_mq_hw_ctx *hctx;\n\tbool has_rq;\n};\n\nstruct rq_map_data {\n\tstruct page **pages;\n\tlong unsigned int offset;\n\tshort unsigned int page_order;\n\tshort unsigned int nr_entries;\n\tbool null_mapped;\n\tbool from_user;\n};\n\nstruct rq_qos_ops;\n\nstruct rq_qos {\n\tconst struct rq_qos_ops *ops;\n\tstruct gendisk *disk;\n\tenum rq_qos_id id;\n\tstruct rq_qos *next;\n\tstruct dentry *debugfs_dir;\n};\n\nstruct rq_qos_ops {\n\tvoid (*throttle)(struct rq_qos *, struct bio *);\n\tvoid (*track)(struct rq_qos *, struct request *, struct bio *);\n\tvoid (*merge)(struct rq_qos *, struct request *, struct bio *);\n\tvoid (*issue)(struct rq_qos *, struct request *);\n\tvoid (*requeue)(struct rq_qos *, struct request *);\n\tvoid (*done)(struct rq_qos *, struct request *);\n\tvoid (*done_bio)(struct rq_qos *, struct bio *);\n\tvoid (*cleanup)(struct rq_qos *, struct bio *);\n\tvoid (*queue_depth_changed)(struct rq_qos *);\n\tvoid (*exit)(struct rq_qos *);\n\tconst struct blk_mq_debugfs_attr *debugfs_attrs;\n};\n\nstruct rq_wait;\n\ntypedef bool acquire_inflight_cb_t(struct rq_wait *, void *);\n\nstruct rq_qos_wait_data {\n\tstruct wait_queue_entry wq;\n\tstruct task_struct *task;\n\tstruct rq_wait *rqw;\n\tacquire_inflight_cb_t *cb;\n\tvoid *private_data;\n\tbool got_token;\n};\n\nstruct rq_wait {\n\twait_queue_head_t wait;\n\tatomic_t inflight;\n};\n\nstruct rs_msg {\n\tstruct icmp6hdr icmph;\n\t__u8 opt[0];\n};\n\nstruct rsa_key {\n\tconst u8 *n;\n\tconst u8 *e;\n\tconst u8 *d;\n\tconst u8 *p;\n\tconst u8 *q;\n\tconst u8 *dp;\n\tconst u8 *dq;\n\tconst u8 *qinv;\n\tsize_t n_sz;\n\tsize_t e_sz;\n\tsize_t d_sz;\n\tsize_t p_sz;\n\tsize_t q_sz;\n\tsize_t dp_sz;\n\tsize_t dq_sz;\n\tsize_t qinv_sz;\n};\n\nstruct rsa_mpi_key {\n\tMPI n;\n\tMPI e;\n\tMPI d;\n\tMPI p;\n\tMPI q;\n\tMPI dp;\n\tMPI dq;\n\tMPI qinv;\n};\n\nstruct rsassa_pkcs1_ctx {\n\tstruct crypto_akcipher *child;\n\tunsigned int key_size;\n};\n\nstruct rsassa_pkcs1_inst_ctx {\n\tstruct crypto_akcipher_spawn spawn;\n\tconst struct hash_prefix *hash_prefix;\n};\n\nstruct rsc {\n\tstruct cache_head h;\n\tstruct xdr_netobj handle;\n\tstruct svc_cred cred;\n\tstruct gss_svc_seq_data seqdata;\n\tstruct gss_ctx *mechctx;\n\tstruct callback_head callback_head;\n};\n\nstruct rseq {\n\t__u32 cpu_id_start;\n\t__u32 cpu_id;\n\t__u64 rseq_cs;\n\t__u32 flags;\n\t__u32 node_id;\n\t__u32 mm_cid;\n\tchar end[0];\n};\n\nstruct rseq_cs {\n\t__u32 version;\n\t__u32 flags;\n\t__u64 start_ip;\n\t__u64 post_commit_offset;\n\t__u64 abort_ip;\n};\n\nstruct rsi {\n\tstruct cache_head h;\n\tstruct xdr_netobj in_handle;\n\tstruct xdr_netobj in_token;\n\tstruct xdr_netobj out_handle;\n\tstruct xdr_netobj out_token;\n\tint major_status;\n\tint minor_status;\n\tstruct callback_head callback_head;\n};\n\nstruct rss_nl_dump_ctx {\n\tlong unsigned int ifindex;\n\tlong unsigned int ctx_idx;\n\tunsigned int match_ifindex;\n\tunsigned int start_ctx;\n};\n\nstruct rss_reply_data {\n\tstruct ethnl_reply_data base;\n\tbool no_key_fields;\n\tu32 indir_size;\n\tu32 hkey_size;\n\tu32 hfunc;\n\tu32 input_xfrm;\n\tu32 *indir_table;\n\tu8 *hkey;\n};\n\nstruct rss_req_info {\n\tstruct ethnl_req_info base;\n\tu32 rss_context;\n};\n\nstruct rsvd_count {\n\tint ndelayed;\n\tbool first_do_lblk_found;\n\text4_lblk_t first_do_lblk;\n\text4_lblk_t last_do_lblk;\n\tstruct extent_status *left_es;\n\tbool partial;\n\text4_lblk_t lclu;\n};\n\nstruct rt0_hdr {\n\tstruct ipv6_rt_hdr rt_hdr;\n\t__u32 reserved;\n\tstruct in6_addr addr[0];\n};\n\nstruct rt6_exception {\n\tstruct hlist_node hlist;\n\tstruct rt6_info *rt6i;\n\tlong unsigned int stamp;\n\tstruct callback_head rcu;\n};\n\nstruct rt6_exception_bucket {\n\tstruct hlist_head chain;\n\tint depth;\n};\n\nstruct rt6_mtu_change_arg {\n\tstruct net_device *dev;\n\tunsigned int mtu;\n\tstruct fib6_info *f6i;\n};\n\nstruct rt6_nh {\n\tstruct fib6_info *fib6_info;\n\tstruct fib6_config r_cfg;\n\tstruct list_head next;\n};\n\nstruct rt6_rtnl_dump_arg {\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n\tstruct net *net;\n\tstruct fib_dump_filter filter;\n};\n\nstruct rt6_statistics {\n\t__u32 fib_nodes;\n\t__u32 fib_route_nodes;\n\t__u32 fib_rt_entries;\n\t__u32 fib_rt_cache;\n\t__u32 fib_discarded_routes;\n\tatomic_t fib_rt_alloc;\n};\n\nstruct rt_cache_stat {\n\tunsigned int in_slow_tot;\n\tunsigned int in_slow_mc;\n\tunsigned int in_no_route;\n\tunsigned int in_brd;\n\tunsigned int in_martian_dst;\n\tunsigned int in_martian_src;\n\tunsigned int out_slow_tot;\n\tunsigned int out_slow_mc;\n};\n\nstruct rt_waiter_node {\n\tstruct rb_node entry;\n\tint prio;\n\tu64 deadline;\n};\n\nstruct rt_mutex_waiter {\n\tstruct rt_waiter_node tree;\n\tstruct rt_waiter_node pi_tree;\n\tstruct task_struct *task;\n\tstruct rt_mutex_base *lock;\n\tunsigned int wake_state;\n\tstruct ww_acquire_ctx *ww_ctx;\n};\n\ntypedef struct rt_rq *rt_rq_iter_t;\n\nstruct sigaltstack {\n\tvoid *ss_sp;\n\tint ss_flags;\n\t__kernel_size_t ss_size;\n};\n\ntypedef struct sigaltstack stack_t;\n\nstruct sigcontext {\n\tstruct user_regs_struct sc_regs;\n\tunion {\n\t\tunion __riscv_fp_state sc_fpregs;\n\t\tstruct __riscv_extra_ext_header sc_extdesc;\n\t};\n};\n\nstruct ucontext {\n\tlong unsigned int uc_flags;\n\tstruct ucontext *uc_link;\n\tstack_t uc_stack;\n\tsigset_t uc_sigmask;\n\t__u8 __unused[120];\n\tlong: 64;\n\tstruct sigcontext uc_mcontext;\n};\n\nstruct rt_sigframe {\n\tstruct siginfo info;\n\tstruct ucontext uc;\n};\n\nstruct wake_q_node;\n\nstruct wake_q_head {\n\tstruct wake_q_node *first;\n\tstruct wake_q_node **lastp;\n};\n\nstruct rt_wake_q_head {\n\tstruct wake_q_head head;\n\tstruct task_struct *rtlock_task;\n};\n\nstruct rta_cacheinfo {\n\t__u32 rta_clntref;\n\t__u32 rta_lastuse;\n\t__s32 rta_expires;\n\t__u32 rta_error;\n\t__u32 rta_used;\n\t__u32 rta_id;\n\t__u32 rta_ts;\n\t__u32 rta_tsage;\n};\n\nstruct rtc_time;\n\nstruct rtc_wkalrm;\n\nstruct rtc_param;\n\nstruct rtc_class_ops {\n\tint (*ioctl)(struct device *, unsigned int, long unsigned int);\n\tint (*read_time)(struct device *, struct rtc_time *);\n\tint (*set_time)(struct device *, struct rtc_time *);\n\tint (*read_alarm)(struct device *, struct rtc_wkalrm *);\n\tint (*set_alarm)(struct device *, struct rtc_wkalrm *);\n\tint (*proc)(struct device *, struct seq_file *);\n\tint (*alarm_irq_enable)(struct device *, unsigned int);\n\tint (*read_offset)(struct device *, long int *);\n\tint (*set_offset)(struct device *, long int);\n\tint (*param_get)(struct device *, struct rtc_param *);\n\tint (*param_set)(struct device *, struct rtc_param *);\n};\n\nstruct rtc_timer {\n\tstruct timerqueue_node node;\n\tktime_t period;\n\tvoid (*func)(struct rtc_device *);\n\tstruct rtc_device *rtc;\n\tint enabled;\n};\n\nstruct rtc_device {\n\tstruct device dev;\n\tstruct module *owner;\n\tint id;\n\tconst struct rtc_class_ops *ops;\n\tstruct mutex ops_lock;\n\tstruct cdev char_dev;\n\tlong unsigned int flags;\n\tlong unsigned int irq_data;\n\tspinlock_t irq_lock;\n\twait_queue_head_t irq_queue;\n\tstruct fasync_struct *async_queue;\n\tint irq_freq;\n\tint max_user_freq;\n\tstruct timerqueue_head timerqueue;\n\tstruct rtc_timer aie_timer;\n\tstruct rtc_timer uie_rtctimer;\n\tstruct hrtimer pie_timer;\n\tint pie_enabled;\n\tstruct work_struct irqwork;\n\tlong unsigned int set_offset_nsec;\n\tlong unsigned int features[1];\n\ttime64_t range_min;\n\ttimeu64_t range_max;\n\ttimeu64_t alarm_offset_max;\n\ttime64_t start_secs;\n\ttime64_t offset_secs;\n\tbool set_start_time;\n};\n\nstruct rtc_param {\n\t__u64 param;\n\tunion {\n\t\t__u64 uvalue;\n\t\t__s64 svalue;\n\t\t__u64 ptr;\n\t};\n\t__u32 index;\n\t__u32 __pad;\n};\n\nstruct rtc_time {\n\tint tm_sec;\n\tint tm_min;\n\tint tm_hour;\n\tint tm_mday;\n\tint tm_mon;\n\tint tm_year;\n\tint tm_wday;\n\tint tm_yday;\n\tint tm_isdst;\n};\n\nstruct rtc_wkalrm {\n\tunsigned char enabled;\n\tunsigned char pending;\n\tstruct rtc_time time;\n};\n\nstruct rtentry {\n\tlong unsigned int rt_pad1;\n\tstruct sockaddr rt_dst;\n\tstruct sockaddr rt_gateway;\n\tstruct sockaddr rt_genmask;\n\tshort unsigned int rt_flags;\n\tshort int rt_pad2;\n\tlong unsigned int rt_pad3;\n\tvoid *rt_pad4;\n\tshort int rt_metric;\n\tchar *rt_dev;\n\tlong unsigned int rt_mtu;\n\tlong unsigned int rt_window;\n\tshort unsigned int rt_irtt;\n};\n\nstruct rtgenmsg {\n\tunsigned char rtgen_family;\n};\n\nstruct rtl8169_counters {\n\t__le64 tx_packets;\n\t__le64 rx_packets;\n\t__le64 tx_errors;\n\t__le32 rx_errors;\n\t__le16 rx_missed;\n\t__le16 align_errors;\n\t__le32 tx_one_collision;\n\t__le32 tx_multi_collision;\n\t__le64 rx_unicast;\n\t__le64 rx_broadcast;\n\t__le32 rx_multicast;\n\t__le16 tx_aborted;\n\t__le16 tx_underrun;\n\t__le64 tx_octets;\n\t__le64 rx_octets;\n\t__le64 rx_multicast64;\n\t__le64 tx_unicast64;\n\t__le64 tx_broadcast64;\n\t__le64 tx_multicast64;\n\t__le32 tx_pause_on;\n\t__le32 tx_pause_off;\n\t__le32 tx_pause_all;\n\t__le32 tx_deferred;\n\t__le32 tx_late_collision;\n\t__le32 tx_all_collision;\n\t__le32 tx_aborted32;\n\t__le32 align_errors32;\n\t__le32 rx_frame_too_long;\n\t__le32 rx_runt;\n\t__le32 rx_pause_on;\n\t__le32 rx_pause_off;\n\t__le32 rx_pause_all;\n\t__le32 rx_unknown_opcode;\n\t__le32 rx_mac_error;\n\t__le32 tx_underrun32;\n\t__le32 rx_mac_missed;\n\t__le32 rx_tcam_dropped;\n\t__le32 tdu;\n\t__le32 rdu;\n};\n\nstruct rtl8169_tc_offsets {\n\tbool inited;\n\t__le64 tx_errors;\n\t__le32 tx_multi_collision;\n\t__le16 tx_aborted;\n\t__le16 rx_missed;\n};\n\nstruct r8169_led_classdev;\n\nstruct rtl_fw;\n\nstruct rtl8169_private {\n\tvoid *mmio_addr;\n\tstruct pci_dev *pci_dev;\n\tstruct net_device *dev;\n\tstruct phy_device *phydev;\n\tstruct napi_struct napi;\n\tenum mac_version mac_version;\n\tenum rtl_dash_type dash_type;\n\tu32 cur_rx;\n\tu32 cur_tx;\n\tu32 dirty_tx;\n\tstruct TxDesc *TxDescArray;\n\tstruct RxDesc *RxDescArray;\n\tdma_addr_t TxPhyAddr;\n\tdma_addr_t RxPhyAddr;\n\tstruct page *Rx_databuff[256];\n\tstruct ring_info tx_skb[256];\n\tu16 cp_cmd;\n\tu16 tx_lpi_timer;\n\tu32 irq_mask;\n\tint irq;\n\tstruct clk *clk;\n\tstruct {\n\t\tlong unsigned int flags[1];\n\t\tstruct work_struct work;\n\t} wk;\n\traw_spinlock_t mac_ocp_lock;\n\tstruct mutex led_lock;\n\tunsigned int supports_gmii: 1;\n\tunsigned int aspm_manageable: 1;\n\tunsigned int dash_enabled: 1;\n\tdma_addr_t counters_phys_addr;\n\tstruct rtl8169_counters *counters;\n\tstruct rtl8169_tc_offsets tc_offset;\n\tu32 saved_wolopts;\n\tconst char *fw_name;\n\tstruct rtl_fw *rtl_fw;\n\tstruct r8169_led_classdev *leds;\n\tu32 ocp_base;\n};\n\nstruct rtl821x_priv {\n\tu16 phycr1;\n\tu16 phycr2;\n\tbool has_phycr2;\n\tstruct clk *clk;\n};\n\nstruct rtl_coalesce_info {\n\tu32 speed;\n\tu32 scale_nsecs[4];\n};\n\nstruct rtl_cond {\n\tbool (*check)(struct rtl8169_private *);\n\tconst char *msg;\n};\n\ntypedef void (*rtl_fw_write_t)(struct rtl8169_private *, int, int);\n\ntypedef int (*rtl_fw_read_t)(struct rtl8169_private *, int);\n\nstruct rtl_fw_phy_action {\n\t__le32 *code;\n\tsize_t size;\n};\n\nstruct rtl_fw {\n\trtl_fw_write_t phy_write;\n\trtl_fw_read_t phy_read;\n\trtl_fw_write_t mac_mcu_write;\n\trtl_fw_read_t mac_mcu_read;\n\tconst struct firmware *fw;\n\tconst char *fw_name;\n\tstruct device *dev;\n\tchar version[32];\n\tstruct rtl_fw_phy_action phy_action;\n};\n\nstruct rtl_mac_info {\n\tu16 mask;\n\tu16 val;\n\tenum mac_version ver;\n};\n\nstruct rtm_dump_res_bucket_ctx;\n\nstruct rtm_dump_nexthop_bucket_data {\n\tstruct rtm_dump_res_bucket_ctx *ctx;\n\tstruct nh_dump_filter filter;\n};\n\nstruct rtm_dump_nh_ctx {\n\tu32 idx;\n};\n\nstruct rtm_dump_res_bucket_ctx {\n\tstruct rtm_dump_nh_ctx nh;\n\tu16 bucket_index;\n};\n\nstruct rtmsg {\n\tunsigned char rtm_family;\n\tunsigned char rtm_dst_len;\n\tunsigned char rtm_src_len;\n\tunsigned char rtm_tos;\n\tunsigned char rtm_table;\n\tunsigned char rtm_protocol;\n\tunsigned char rtm_scope;\n\tunsigned char rtm_type;\n\tunsigned int rtm_flags;\n};\n\nstruct rtnexthop {\n\tshort unsigned int rtnh_len;\n\tunsigned char rtnh_flags;\n\tunsigned char rtnh_hops;\n\tint rtnh_ifindex;\n};\n\nstruct rtnl_af_ops {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tint family;\n\tint (*fill_link_af)(struct sk_buff *, const struct net_device *, u32);\n\tsize_t (*get_link_af_size)(const struct net_device *, u32);\n\tint (*validate_link_af)(const struct net_device *, const struct nlattr *, struct netlink_ext_ack *);\n\tint (*set_link_af)(struct net_device *, const struct nlattr *, struct netlink_ext_ack *);\n\tint (*fill_stats_af)(struct sk_buff *, const struct net_device *);\n\tsize_t (*get_stats_af_size)(const struct net_device *);\n};\n\ntypedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, struct netlink_ext_ack *);\n\ntypedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *);\n\nstruct rtnl_link {\n\trtnl_doit_func doit;\n\trtnl_dumpit_func dumpit;\n\tstruct module *owner;\n\tunsigned int flags;\n\tstruct callback_head rcu;\n};\n\nstruct rtnl_link_ifmap {\n\t__u64 mem_start;\n\t__u64 mem_end;\n\t__u64 base_addr;\n\t__u16 irq;\n\t__u8 dma;\n\t__u8 port;\n};\n\nstruct rtnl_link_ops {\n\tstruct list_head list;\n\tstruct srcu_struct srcu;\n\tconst char *kind;\n\tsize_t priv_size;\n\tstruct net_device * (*alloc)(struct nlattr **, const char *, unsigned char, unsigned int, unsigned int);\n\tvoid (*setup)(struct net_device *);\n\tbool netns_refund;\n\tconst u16 peer_type;\n\tunsigned int maxtype;\n\tconst struct nla_policy *policy;\n\tint (*validate)(struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tint (*newlink)(struct net *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tint (*changelink)(struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tvoid (*dellink)(struct net_device *, struct list_head *);\n\tsize_t (*get_size)(const struct net_device *);\n\tint (*fill_info)(struct sk_buff *, const struct net_device *);\n\tsize_t (*get_xstats_size)(const struct net_device *);\n\tint (*fill_xstats)(struct sk_buff *, const struct net_device *);\n\tunsigned int (*get_num_tx_queues)(void);\n\tunsigned int (*get_num_rx_queues)(void);\n\tunsigned int slave_maxtype;\n\tconst struct nla_policy *slave_policy;\n\tint (*slave_changelink)(struct net_device *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *);\n\tsize_t (*get_slave_size)(const struct net_device *, const struct net_device *);\n\tint (*fill_slave_info)(struct sk_buff *, const struct net_device *, const struct net_device *);\n\tstruct net * (*get_link_net)(const struct net_device *);\n\tsize_t (*get_linkxstats_size)(const struct net_device *, int);\n\tint (*fill_linkxstats)(struct sk_buff *, const struct net_device *, int *, int);\n};\n\nstruct rtnl_link_stats {\n\t__u32 rx_packets;\n\t__u32 tx_packets;\n\t__u32 rx_bytes;\n\t__u32 tx_bytes;\n\t__u32 rx_errors;\n\t__u32 tx_errors;\n\t__u32 rx_dropped;\n\t__u32 tx_dropped;\n\t__u32 multicast;\n\t__u32 collisions;\n\t__u32 rx_length_errors;\n\t__u32 rx_over_errors;\n\t__u32 rx_crc_errors;\n\t__u32 rx_frame_errors;\n\t__u32 rx_fifo_errors;\n\t__u32 rx_missed_errors;\n\t__u32 tx_aborted_errors;\n\t__u32 tx_carrier_errors;\n\t__u32 tx_fifo_errors;\n\t__u32 tx_heartbeat_errors;\n\t__u32 tx_window_errors;\n\t__u32 rx_compressed;\n\t__u32 tx_compressed;\n\t__u32 rx_nohandler;\n};\n\nstruct rtnl_mdb_dump_ctx {\n\tlong int idx;\n};\n\nstruct rtnl_msg_handler {\n\tstruct module *owner;\n\tint protocol;\n\tint msgtype;\n\trtnl_doit_func doit;\n\trtnl_dumpit_func dumpit;\n\tint flags;\n};\n\nstruct rtnl_net_dump_cb {\n\tstruct net *tgt_net;\n\tstruct net *ref_net;\n\tstruct sk_buff *skb;\n\tstruct net_fill_args fillargs;\n\tint idx;\n\tint s_idx;\n};\n\nstruct rtnl_nets {\n\tstruct net *net[3];\n\tunsigned char len;\n};\n\nstruct rtnl_newlink_tbs {\n\tstruct nlattr *tb[67];\n\tstruct nlattr *linkinfo[6];\n\tstruct nlattr *attr[51];\n\tstruct nlattr *slave_attr[45];\n};\n\nstruct rtnl_offload_xstats_request_used {\n\tbool request;\n\tbool used;\n};\n\nstruct rtnl_stats_dump_filters {\n\tu32 mask[6];\n};\n\nstruct rtvia {\n\t__kernel_sa_family_t rtvia_family;\n\t__u8 rtvia_addr[0];\n};\n\nstruct rusage {\n\tstruct __kernel_old_timeval ru_utime;\n\tstruct __kernel_old_timeval ru_stime;\n\t__kernel_long_t ru_maxrss;\n\t__kernel_long_t ru_ixrss;\n\t__kernel_long_t ru_idrss;\n\t__kernel_long_t ru_isrss;\n\t__kernel_long_t ru_minflt;\n\t__kernel_long_t ru_majflt;\n\t__kernel_long_t ru_nswap;\n\t__kernel_long_t ru_inblock;\n\t__kernel_long_t ru_oublock;\n\t__kernel_long_t ru_msgsnd;\n\t__kernel_long_t ru_msgrcv;\n\t__kernel_long_t ru_nsignals;\n\t__kernel_long_t ru_nvcsw;\n\t__kernel_long_t ru_nivcsw;\n};\n\ntypedef struct rw_semaphore *class_rwsem_read_t;\n\ntypedef struct rw_semaphore *class_rwsem_write_t;\n\nstruct rwrt_feature_desc {\n\t__be16 feature_code;\n\t__u8 curr: 1;\n\t__u8 persistent: 1;\n\t__u8 feature_version: 4;\n\t__u8 reserved1: 2;\n\t__u8 add_len;\n\t__u32 last_lba;\n\t__u32 block_size;\n\t__u16 blocking;\n\t__u8 page_present: 1;\n\t__u8 reserved2: 7;\n\t__u8 reserved3;\n};\n\nstruct rwsem_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tenum rwsem_waiter_type type;\n\tlong unsigned int timeout;\n\tbool handoff_set;\n};\n\nstruct rx_queue_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct netdev_rx_queue *, char *);\n\tssize_t (*store)(struct netdev_rx_queue *, const char *, size_t);\n};\n\nstruct s3_save {\n\tu32 command;\n\tu32 dev_nt;\n\tu64 dcbaa_ptr;\n\tu32 config_reg;\n};\n\nstruct s_data {\n\tstruct sched_domain **sd;\n\tstruct root_domain *rd;\n};\n\nstruct saved_alias {\n\tstruct kmem_cache *s;\n\tconst char *name;\n\tstruct saved_alias *next;\n};\n\nstruct saved_cmdlines_buffer {\n\tunsigned int map_pid_to_cmdline[32769];\n\tunsigned int *map_cmdline_to_pid;\n\tunsigned int cmdline_num;\n\tint cmdline_idx;\n\tchar saved_cmdlines[0];\n};\n\nstruct saved_syn {\n\tu32 mac_hdrlen;\n\tu32 network_hdrlen;\n\tu32 tcp_hdrlen;\n\tu8 data[0];\n};\n\nstruct sb_writers {\n\tshort unsigned int frozen;\n\tint freeze_kcount;\n\tint freeze_ucount;\n\tstruct percpu_rw_semaphore rw_sem[3];\n};\n\nstruct sbiret {\n\tlong int error;\n\tlong int value;\n};\n\nstruct sbi_cppc_data {\n\tu64 val;\n\tu32 reg;\n\tstruct sbiret ret;\n};\n\nstruct sbi_cpuidle_data {\n\tu32 *states;\n\tstruct device *dev;\n};\n\nstruct sbi_domain_state {\n\tbool available;\n\tu32 state;\n};\n\nstruct sbi_hart_boot_data {\n\tvoid *task_ptr;\n\tvoid *stack_ptr;\n};\n\nstruct sbi_pd_provider {\n\tstruct list_head link;\n\tstruct device_node *node;\n};\n\nstruct sbi_pmu_event_data {\n\tunion {\n\t\tunion {\n\t\t\tstruct hw_gen_event hw_gen_event;\n\t\t\tstruct hw_cache_event hw_cache_event;\n\t\t};\n\t\tuint32_t event_idx;\n\t};\n};\n\nstruct sbitmap_word {\n\tlong unsigned int word;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int cleared;\n\traw_spinlock_t swap_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sbq_wait_state {\n\twait_queue_head_t wait;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct scale_freq_data {\n\tenum scale_freq_source source;\n\tvoid (*set_freq_scale)(void);\n};\n\nstruct scan_control {\n\tlong unsigned int nr_to_reclaim;\n\tnodemask_t *nodemask;\n\tstruct mem_cgroup *target_mem_cgroup;\n\tlong unsigned int anon_cost;\n\tlong unsigned int file_cost;\n\tint *proactive_swappiness;\n\tunsigned int may_deactivate: 2;\n\tunsigned int force_deactivate: 1;\n\tunsigned int skipped_deactivate: 1;\n\tunsigned int may_writepage: 1;\n\tunsigned int may_unmap: 1;\n\tunsigned int may_swap: 1;\n\tunsigned int no_cache_trim_mode: 1;\n\tunsigned int cache_trim_mode_failed: 1;\n\tunsigned int proactive: 1;\n\tunsigned int memcg_low_reclaim: 1;\n\tunsigned int memcg_low_skipped: 1;\n\tunsigned int memcg_full_walk: 1;\n\tunsigned int hibernation_mode: 1;\n\tunsigned int compaction_ready: 1;\n\tunsigned int cache_trim_mode: 1;\n\tunsigned int file_is_tiny: 1;\n\tunsigned int no_demotion: 1;\n\ts8 order;\n\ts8 priority;\n\ts8 reclaim_idx;\n\tgfp_t gfp_mask;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tstruct {\n\t\tunsigned int dirty;\n\t\tunsigned int unqueued_dirty;\n\t\tunsigned int congested;\n\t\tunsigned int writeback;\n\t\tunsigned int immediate;\n\t\tunsigned int file_taken;\n\t\tunsigned int taken;\n\t} nr;\n\tstruct reclaim_state reclaim_state;\n};\n\nstruct scatter_walk {\n\tstruct scatterlist *sg;\n\tunsigned int offset;\n};\n\nstruct sch_frag_data {\n\tlong unsigned int dst;\n\tstruct qdisc_skb_cb cb;\n\t__be16 inner_protocol;\n\tu16 vlan_tci;\n\t__be16 vlan_proto;\n\tunsigned int l2_len;\n\tu8 l2_data[18];\n\tint (*xmit)(struct sk_buff *);\n};\n\nstruct sched_attr {\n\t__u32 size;\n\t__u32 sched_policy;\n\t__u64 sched_flags;\n\t__s32 sched_nice;\n\t__u32 sched_priority;\n\t__u64 sched_runtime;\n\t__u64 sched_deadline;\n\t__u64 sched_period;\n\t__u32 sched_util_min;\n\t__u32 sched_util_max;\n};\n\nstruct sched_class {\n\tvoid (*enqueue_task)(struct rq *, struct task_struct *, int);\n\tbool (*dequeue_task)(struct rq *, struct task_struct *, int);\n\tvoid (*yield_task)(struct rq *);\n\tbool (*yield_to_task)(struct rq *, struct task_struct *);\n\tvoid (*wakeup_preempt)(struct rq *, struct task_struct *, int);\n\tint (*balance)(struct rq *, struct task_struct *, struct rq_flags *);\n\tstruct task_struct * (*pick_task)(struct rq *);\n\tstruct task_struct * (*pick_next_task)(struct rq *, struct task_struct *);\n\tvoid (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *);\n\tvoid (*set_next_task)(struct rq *, struct task_struct *, bool);\n\tint (*select_task_rq)(struct task_struct *, int, int);\n\tvoid (*migrate_task_rq)(struct task_struct *, int);\n\tvoid (*task_woken)(struct rq *, struct task_struct *);\n\tvoid (*set_cpus_allowed)(struct task_struct *, struct affinity_context *);\n\tvoid (*rq_online)(struct rq *);\n\tvoid (*rq_offline)(struct rq *);\n\tstruct rq * (*find_lock_rq)(struct task_struct *, struct rq *);\n\tvoid (*task_tick)(struct rq *, struct task_struct *, int);\n\tvoid (*task_fork)(struct task_struct *);\n\tvoid (*task_dead)(struct task_struct *);\n\tvoid (*switching_to)(struct rq *, struct task_struct *);\n\tvoid (*switched_from)(struct rq *, struct task_struct *);\n\tvoid (*switched_to)(struct rq *, struct task_struct *);\n\tvoid (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *);\n\tvoid (*prio_changed)(struct rq *, struct task_struct *, int);\n\tunsigned int (*get_rr_interval)(struct rq *, struct task_struct *);\n\tvoid (*update_curr)(struct rq *);\n\tvoid (*task_change_group)(struct task_struct *);\n};\n\nstruct sched_group;\n\nstruct sched_domain_shared;\n\nstruct sched_domain {\n\tstruct sched_domain *parent;\n\tstruct sched_domain *child;\n\tstruct sched_group *groups;\n\tlong unsigned int min_interval;\n\tlong unsigned int max_interval;\n\tunsigned int busy_factor;\n\tunsigned int imbalance_pct;\n\tunsigned int cache_nice_tries;\n\tunsigned int imb_numa_nr;\n\tint nohz_idle;\n\tint flags;\n\tint level;\n\tlong unsigned int last_balance;\n\tunsigned int balance_interval;\n\tunsigned int nr_balance_failed;\n\tu64 max_newidle_lb_cost;\n\tlong unsigned int last_decay_max_lb_cost;\n\tchar *name;\n\tunion {\n\t\tvoid *private;\n\t\tstruct callback_head rcu;\n\t};\n\tstruct sched_domain_shared *shared;\n\tunsigned int span_weight;\n\tlong unsigned int span[0];\n};\n\nstruct sched_domain_attr {\n\tint relax_domain_level;\n};\n\nstruct sched_domain_shared {\n\tatomic_t ref;\n\tatomic_t nr_busy_cpus;\n\tint has_idle_cores;\n\tint nr_idle_scan;\n};\n\ntypedef const struct cpumask * (*sched_domain_mask_f)(int);\n\ntypedef int (*sched_domain_flags_f)(void);\n\nstruct sched_group_capacity;\n\nstruct sd_data {\n\tstruct sched_domain **sd;\n\tstruct sched_domain_shared **sds;\n\tstruct sched_group **sg;\n\tstruct sched_group_capacity **sgc;\n};\n\nstruct sched_domain_topology_level {\n\tsched_domain_mask_f mask;\n\tsched_domain_flags_f sd_flags;\n\tint flags;\n\tint numa_level;\n\tstruct sd_data data;\n\tchar *name;\n};\n\nstruct sched_entity {\n\tstruct load_weight load;\n\tstruct rb_node run_node;\n\tu64 deadline;\n\tu64 min_vruntime;\n\tu64 min_slice;\n\tstruct list_head group_node;\n\tunsigned char on_rq;\n\tunsigned char sched_delayed;\n\tunsigned char rel_deadline;\n\tunsigned char custom_slice;\n\tu64 exec_start;\n\tu64 sum_exec_runtime;\n\tu64 prev_sum_exec_runtime;\n\tu64 vruntime;\n\ts64 vlag;\n\tu64 slice;\n\tu64 nr_migrations;\n\tint depth;\n\tstruct sched_entity *parent;\n\tstruct cfs_rq *cfs_rq;\n\tstruct cfs_rq *my_q;\n\tlong unsigned int runnable_weight;\n\tlong: 64;\n\tstruct sched_avg avg;\n};\n\nstruct sched_group {\n\tstruct sched_group *next;\n\tatomic_t ref;\n\tunsigned int group_weight;\n\tunsigned int cores;\n\tstruct sched_group_capacity *sgc;\n\tint asym_prefer_cpu;\n\tint flags;\n\tlong unsigned int cpumask[0];\n};\n\nstruct sched_group_capacity {\n\tatomic_t ref;\n\tlong unsigned int capacity;\n\tlong unsigned int min_capacity;\n\tlong unsigned int max_capacity;\n\tlong unsigned int next_update;\n\tint imbalance;\n\tint id;\n\tlong unsigned int cpumask[0];\n};\n\nstruct sched_info {\n\tlong unsigned int pcount;\n\tlong long unsigned int run_delay;\n\tlong long unsigned int max_run_delay;\n\tlong long unsigned int min_run_delay;\n\tlong long unsigned int last_arrival;\n\tlong long unsigned int last_queued;\n};\n\nstruct sched_param {\n\tint sched_priority;\n};\n\nstruct sched_rt_entity {\n\tstruct list_head run_list;\n\tlong unsigned int timeout;\n\tlong unsigned int watchdog_stamp;\n\tunsigned int time_slice;\n\tshort unsigned int on_rq;\n\tshort unsigned int on_list;\n\tstruct sched_rt_entity *back;\n};\n\nstruct sched_statistics {};\n\nstruct scm_fp_list;\n\nstruct scm_cookie {\n\tstruct pid *pid;\n\tstruct scm_fp_list *fp;\n\tstruct scm_creds creds;\n\tu32 secid;\n};\n\nstruct unix_edge;\n\nstruct scm_fp_list {\n\tshort int count;\n\tshort int count_unix;\n\tshort int max;\n\tbool inflight;\n\tbool dead;\n\tstruct list_head vertices;\n\tstruct unix_edge *edges;\n\tstruct user_struct *user;\n\tstruct file *fp[253];\n};\n\nstruct scm_stat {\n\tatomic_t nr_fds;\n\tlong unsigned int nr_unix_fds;\n};\n\nstruct scm_timestamping {\n\tstruct __kernel_old_timespec ts[3];\n};\n\nstruct scm_timestamping64 {\n\tstruct __kernel_timespec ts[3];\n};\n\nstruct scm_timestamping_internal {\n\tstruct timespec64 ts[3];\n};\n\nstruct scm_ts_pktinfo {\n\t__u32 if_index;\n\t__u32 pkt_length;\n\t__u32 reserved[2];\n};\n\nstruct scomp_alg {\n\tvoid * (*alloc_ctx)(struct crypto_scomp *);\n\tvoid (*free_ctx)(struct crypto_scomp *, void *);\n\tint (*compress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *);\n\tint (*decompress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *);\n\tunion {\n\t\tstruct {\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct comp_alg_common calg;\n\t};\n};\n\nstruct scomp_scratch {\n\tspinlock_t lock;\n\tvoid *src;\n\tvoid *dst;\n};\n\nstruct scratch {\n\tu8 status[29];\n\tu8 data_token;\n\t__be16 crc_val;\n};\n\nstruct screen_info {\n\t__u8 orig_x;\n\t__u8 orig_y;\n\t__u16 ext_mem_k;\n\t__u16 orig_video_page;\n\t__u8 orig_video_mode;\n\t__u8 orig_video_cols;\n\t__u8 flags;\n\t__u8 unused2;\n\t__u16 orig_video_ega_bx;\n\t__u16 unused3;\n\t__u8 orig_video_lines;\n\t__u8 orig_video_isVGA;\n\t__u16 orig_video_points;\n\t__u16 lfb_width;\n\t__u16 lfb_height;\n\t__u16 lfb_depth;\n\t__u32 lfb_base;\n\t__u32 lfb_size;\n\t__u16 cl_magic;\n\t__u16 cl_offset;\n\t__u16 lfb_linelength;\n\t__u8 red_size;\n\t__u8 red_pos;\n\t__u8 green_size;\n\t__u8 green_pos;\n\t__u8 blue_size;\n\t__u8 blue_pos;\n\t__u8 rsvd_size;\n\t__u8 rsvd_pos;\n\t__u16 vesapm_seg;\n\t__u16 vesapm_off;\n\t__u16 pages;\n\t__u16 vesa_attributes;\n\t__u32 capabilities;\n\t__u32 ext_lfb_base;\n\t__u8 _reserved[2];\n} __attribute__((packed));\n\nstruct scsi_cd {\n\tunsigned int capacity;\n\tstruct scsi_device *device;\n\tunsigned int vendor;\n\tlong unsigned int ms_offset;\n\tunsigned int writeable: 1;\n\tunsigned int use: 1;\n\tunsigned int xa_flag: 1;\n\tunsigned int readcd_known: 1;\n\tunsigned int readcd_cdda: 1;\n\tunsigned int media_present: 1;\n\tint tur_mismatch;\n\tbool tur_changed: 1;\n\tbool get_event_changed: 1;\n\tbool ignore_get_event: 1;\n\tstruct cdrom_device_info cdi;\n\tstruct mutex lock;\n\tstruct gendisk *disk;\n};\n\ntypedef struct scsi_cd Scsi_CD;\n\nstruct scsi_data_buffer {\n\tstruct sg_table table;\n\tunsigned int length;\n};\n\nstruct scsi_cmnd {\n\tstruct scsi_device *device;\n\tstruct list_head eh_entry;\n\tstruct delayed_work abort_work;\n\tstruct callback_head rcu;\n\tint eh_eflags;\n\tint budget_token;\n\tlong unsigned int jiffies_at_alloc;\n\tint retries;\n\tint allowed;\n\tunsigned char prot_op;\n\tunsigned char prot_type;\n\tunsigned char prot_flags;\n\tenum scsi_cmnd_submitter submitter;\n\tshort unsigned int cmd_len;\n\tenum dma_data_direction sc_data_direction;\n\tunsigned char cmnd[32];\n\tstruct scsi_data_buffer sdb;\n\tstruct scsi_data_buffer *prot_sdb;\n\tunsigned int underflow;\n\tunsigned int transfersize;\n\tunsigned int resid_len;\n\tunsigned int sense_len;\n\tunsigned char *sense_buffer;\n\tint flags;\n\tlong unsigned int state;\n\tunsigned int extra_len;\n\tunsigned char *host_scribble;\n\tint result;\n};\n\nstruct scsi_dev_info_list {\n\tstruct list_head dev_info_list;\n\tchar vendor[8];\n\tchar model[16];\n\tblist_flags_t flags;\n\tunsigned int compatible;\n};\n\nstruct scsi_dev_info_list_table {\n\tstruct list_head node;\n\tstruct list_head scsi_dev_info_list;\n\tconst char *name;\n\tint key;\n};\n\nstruct scsi_vpd;\n\nstruct scsi_target;\n\nstruct scsi_device_handler;\n\nstruct scsi_device {\n\tstruct Scsi_Host *host;\n\tstruct request_queue *request_queue;\n\tstruct list_head siblings;\n\tstruct list_head same_target_siblings;\n\tstruct sbitmap budget_map;\n\tatomic_t device_blocked;\n\tatomic_t restarts;\n\tspinlock_t list_lock;\n\tstruct list_head starved_entry;\n\tshort unsigned int queue_depth;\n\tshort unsigned int max_queue_depth;\n\tshort unsigned int last_queue_full_depth;\n\tshort unsigned int last_queue_full_count;\n\tlong unsigned int last_queue_full_time;\n\tlong unsigned int queue_ramp_up_period;\n\tlong unsigned int last_queue_ramp_up;\n\tunsigned int id;\n\tunsigned int channel;\n\tu64 lun;\n\tunsigned int manufacturer;\n\tunsigned int sector_size;\n\tvoid *hostdata;\n\tunsigned char type;\n\tchar scsi_level;\n\tchar inq_periph_qual;\n\tstruct mutex inquiry_mutex;\n\tunsigned char inquiry_len;\n\tunsigned char *inquiry;\n\tconst char *vendor;\n\tconst char *model;\n\tconst char *rev;\n\tstruct scsi_vpd *vpd_pg0;\n\tstruct scsi_vpd *vpd_pg83;\n\tstruct scsi_vpd *vpd_pg80;\n\tstruct scsi_vpd *vpd_pg89;\n\tstruct scsi_vpd *vpd_pgb0;\n\tstruct scsi_vpd *vpd_pgb1;\n\tstruct scsi_vpd *vpd_pgb2;\n\tstruct scsi_vpd *vpd_pgb7;\n\tstruct scsi_target *sdev_target;\n\tblist_flags_t sdev_bflags;\n\tunsigned int eh_timeout;\n\tunsigned int manage_system_start_stop: 1;\n\tunsigned int manage_runtime_start_stop: 1;\n\tunsigned int manage_shutdown: 1;\n\tunsigned int force_runtime_start_on_system_start: 1;\n\tunsigned int removable: 1;\n\tunsigned int changed: 1;\n\tunsigned int busy: 1;\n\tunsigned int lockable: 1;\n\tunsigned int locked: 1;\n\tunsigned int borken: 1;\n\tunsigned int disconnect: 1;\n\tunsigned int soft_reset: 1;\n\tunsigned int sdtr: 1;\n\tunsigned int wdtr: 1;\n\tunsigned int ppr: 1;\n\tunsigned int tagged_supported: 1;\n\tunsigned int simple_tags: 1;\n\tunsigned int was_reset: 1;\n\tunsigned int expecting_cc_ua: 1;\n\tunsigned int use_10_for_rw: 1;\n\tunsigned int use_10_for_ms: 1;\n\tunsigned int set_dbd_for_ms: 1;\n\tunsigned int read_before_ms: 1;\n\tunsigned int no_report_opcodes: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int use_16_for_rw: 1;\n\tunsigned int use_16_for_sync: 1;\n\tunsigned int skip_ms_page_8: 1;\n\tunsigned int skip_ms_page_3f: 1;\n\tunsigned int skip_vpd_pages: 1;\n\tunsigned int try_vpd_pages: 1;\n\tunsigned int use_192_bytes_for_3f: 1;\n\tunsigned int no_start_on_add: 1;\n\tunsigned int allow_restart: 1;\n\tunsigned int start_stop_pwr_cond: 1;\n\tunsigned int no_uld_attach: 1;\n\tunsigned int select_no_atn: 1;\n\tunsigned int fix_capacity: 1;\n\tunsigned int guess_capacity: 1;\n\tunsigned int retry_hwerror: 1;\n\tunsigned int last_sector_bug: 1;\n\tunsigned int no_read_disc_info: 1;\n\tunsigned int no_read_capacity_16: 1;\n\tunsigned int try_rc_10_first: 1;\n\tunsigned int security_supported: 1;\n\tunsigned int is_visible: 1;\n\tunsigned int wce_default_on: 1;\n\tunsigned int no_dif: 1;\n\tunsigned int broken_fua: 1;\n\tunsigned int lun_in_cdb: 1;\n\tunsigned int unmap_limit_for_ws: 1;\n\tunsigned int rpm_autosuspend: 1;\n\tunsigned int ignore_media_change: 1;\n\tunsigned int silence_suspend: 1;\n\tunsigned int no_vpd_size: 1;\n\tunsigned int cdl_supported: 1;\n\tunsigned int cdl_enable: 1;\n\tunsigned int queue_stopped;\n\tbool offline_already;\n\tatomic_t disk_events_disable_depth;\n\tlong unsigned int supported_events[1];\n\tlong unsigned int pending_events[1];\n\tstruct list_head event_list;\n\tstruct work_struct event_work;\n\tunsigned int max_device_blocked;\n\tatomic_t iorequest_cnt;\n\tatomic_t iodone_cnt;\n\tatomic_t ioerr_cnt;\n\tatomic_t iotmo_cnt;\n\tstruct device sdev_gendev;\n\tstruct device sdev_dev;\n\tstruct work_struct requeue_work;\n\tstruct scsi_device_handler *handler;\n\tvoid *handler_data;\n\tsize_t dma_drain_len;\n\tvoid *dma_drain_buf;\n\tunsigned int sg_timeout;\n\tunsigned int sg_reserved_size;\n\tstruct bsg_device *bsg_dev;\n\tunsigned char access_state;\n\tstruct mutex state_mutex;\n\tenum scsi_device_state sdev_state;\n\tstruct task_struct *quiesced_by;\n\tlong unsigned int sdev_data[0];\n};\n\ntypedef void (*activate_complete)(void *, int);\n\nstruct scsi_device_handler {\n\tstruct list_head list;\n\tstruct module *module;\n\tconst char *name;\n\tenum scsi_disposition (*check_sense)(struct scsi_device *, struct scsi_sense_hdr *);\n\tint (*attach)(struct scsi_device *);\n\tvoid (*detach)(struct scsi_device *);\n\tint (*activate)(struct scsi_device *, activate_complete, void *);\n\tblk_status_t (*prep_fn)(struct scsi_device *, struct request *);\n\tint (*set_params)(struct scsi_device *, const char *);\n\tvoid (*rescan)(struct scsi_device *);\n};\n\nstruct opal_dev;\n\nstruct scsi_disk {\n\tstruct scsi_device *device;\n\tstruct device disk_dev;\n\tstruct gendisk *disk;\n\tstruct opal_dev *opal_dev;\n\tatomic_t openers;\n\tsector_t capacity;\n\tint max_retries;\n\tu32 min_xfer_blocks;\n\tu32 max_xfer_blocks;\n\tu32 opt_xfer_blocks;\n\tu32 max_ws_blocks;\n\tu32 max_unmap_blocks;\n\tu32 unmap_granularity;\n\tu32 unmap_alignment;\n\tu32 max_atomic;\n\tu32 atomic_alignment;\n\tu32 atomic_granularity;\n\tu32 max_atomic_with_boundary;\n\tu32 max_atomic_boundary;\n\tu32 index;\n\tunsigned int physical_block_size;\n\tunsigned int max_medium_access_timeouts;\n\tunsigned int medium_access_timed_out;\n\tu16 permanent_stream_count;\n\tu8 media_present;\n\tu8 write_prot;\n\tu8 protection_type;\n\tu8 provisioning_mode;\n\tu8 zeroing_mode;\n\tu8 nr_actuators;\n\tbool suspended;\n\tunsigned int ATO: 1;\n\tunsigned int cache_override: 1;\n\tunsigned int WCE: 1;\n\tunsigned int RCD: 1;\n\tunsigned int DPOFUA: 1;\n\tunsigned int first_scan: 1;\n\tunsigned int lbpme: 1;\n\tunsigned int lbprz: 1;\n\tunsigned int lbpu: 1;\n\tunsigned int lbpws: 1;\n\tunsigned int lbpws10: 1;\n\tunsigned int lbpvpd: 1;\n\tunsigned int ws10: 1;\n\tunsigned int ws16: 1;\n\tunsigned int rc_basis: 2;\n\tunsigned int zoned: 2;\n\tunsigned int urswrz: 1;\n\tunsigned int security: 1;\n\tunsigned int ignore_medium_access_errors: 1;\n\tunsigned int rscs: 1;\n\tunsigned int use_atomic_write_boundary: 1;\n};\n\nstruct scsi_driver {\n\tstruct device_driver gendrv;\n\tint (*resume)(struct device *);\n\tvoid (*rescan)(struct device *);\n\tblk_status_t (*init_command)(struct scsi_cmnd *);\n\tvoid (*uninit_command)(struct scsi_cmnd *);\n\tint (*done)(struct scsi_cmnd *);\n\tint (*eh_action)(struct scsi_cmnd *, int);\n\tvoid (*eh_reset)(struct scsi_cmnd *);\n};\n\nstruct scsi_eh_save {\n\tint result;\n\tunsigned int resid_len;\n\tint eh_eflags;\n\tenum dma_data_direction data_direction;\n\tunsigned int underflow;\n\tunsigned char cmd_len;\n\tunsigned char prot_op;\n\tunsigned char cmnd[32];\n\tstruct scsi_data_buffer sdb;\n\tstruct scatterlist sense_sgl;\n};\n\nstruct scsi_event {\n\tenum scsi_device_event evt_type;\n\tstruct list_head node;\n};\n\nstruct scsi_failures;\n\nstruct scsi_exec_args {\n\tunsigned char *sense;\n\tunsigned int sense_len;\n\tstruct scsi_sense_hdr *sshdr;\n\tblk_mq_req_flags_t req_flags;\n\tint scmd_flags;\n\tint *resid;\n\tstruct scsi_failures *failures;\n};\n\nstruct scsi_failure {\n\tint result;\n\tu8 sense;\n\tu8 asc;\n\tu8 ascq;\n\ts8 allowed;\n\ts8 retries;\n};\n\nstruct scsi_failures {\n\tint total_allowed;\n\tint total_retries;\n\tstruct scsi_failure *failure_definitions;\n};\n\nstruct scsi_host_busy_iter_data {\n\tbool (*fn)(struct scsi_cmnd *, void *);\n\tvoid *priv;\n};\n\nstruct scsi_host_template {\n\tunsigned int cmd_size;\n\tint (*queuecommand)(struct Scsi_Host *, struct scsi_cmnd *);\n\tvoid (*commit_rqs)(struct Scsi_Host *, u16);\n\tstruct module *module;\n\tconst char *name;\n\tconst char * (*info)(struct Scsi_Host *);\n\tint (*ioctl)(struct scsi_device *, unsigned int, void *);\n\tint (*compat_ioctl)(struct scsi_device *, unsigned int, void *);\n\tint (*init_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *);\n\tint (*exit_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *);\n\tint (*eh_abort_handler)(struct scsi_cmnd *);\n\tint (*eh_device_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_target_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_bus_reset_handler)(struct scsi_cmnd *);\n\tint (*eh_host_reset_handler)(struct scsi_cmnd *);\n\tint (*sdev_init)(struct scsi_device *);\n\tint (*sdev_configure)(struct scsi_device *, struct queue_limits *);\n\tvoid (*sdev_destroy)(struct scsi_device *);\n\tint (*target_alloc)(struct scsi_target *);\n\tvoid (*target_destroy)(struct scsi_target *);\n\tint (*scan_finished)(struct Scsi_Host *, long unsigned int);\n\tvoid (*scan_start)(struct Scsi_Host *);\n\tint (*change_queue_depth)(struct scsi_device *, int);\n\tvoid (*map_queues)(struct Scsi_Host *);\n\tint (*mq_poll)(struct Scsi_Host *, unsigned int);\n\tbool (*dma_need_drain)(struct request *);\n\tint (*bios_param)(struct scsi_device *, struct block_device *, sector_t, int *);\n\tvoid (*unlock_native_capacity)(struct scsi_device *);\n\tint (*show_info)(struct seq_file *, struct Scsi_Host *);\n\tint (*write_info)(struct Scsi_Host *, char *, int);\n\tenum scsi_timeout_action (*eh_timed_out)(struct scsi_cmnd *);\n\tbool (*eh_should_retry_cmd)(struct scsi_cmnd *);\n\tint (*host_reset)(struct Scsi_Host *, int);\n\tconst char *proc_name;\n\tint can_queue;\n\tint this_id;\n\tshort unsigned int sg_tablesize;\n\tshort unsigned int sg_prot_tablesize;\n\tunsigned int max_sectors;\n\tunsigned int max_segment_size;\n\tunsigned int dma_alignment;\n\tlong unsigned int dma_boundary;\n\tlong unsigned int virt_boundary_mask;\n\tshort int cmd_per_lun;\n\tbool tag_alloc_policy_rr: 1;\n\tunsigned int track_queue_depth: 1;\n\tunsigned int supported_mode: 2;\n\tunsigned int emulated: 1;\n\tunsigned int skip_settle_delay: 1;\n\tunsigned int no_write_same: 1;\n\tunsigned int host_tagset: 1;\n\tunsigned int queuecommand_may_block: 1;\n\tunsigned int max_host_blocked;\n\tconst struct attribute_group **shost_groups;\n\tconst struct attribute_group **sdev_groups;\n\tu64 vendor_id;\n};\n\nstruct scsi_idlun {\n\t__u32 dev_id;\n\t__u32 host_unique_id;\n};\n\nstruct scsi_io_group_descriptor {\n\tu8 ic_enable: 1;\n\tu8 cs_enble: 1;\n\tu8 st_enble: 1;\n\tu8 reserved1: 3;\n\tu8 io_advice_hints_mode: 2;\n\tu8 reserved2[3];\n\tu8 lbm_descriptor_type: 4;\n\tu8 rlbsr: 2;\n\tu8 reserved3: 1;\n\tu8 acdlu: 1;\n\tu8 params[2];\n\tu8 reserved4;\n\tu8 reserved5[8];\n};\n\nstruct scsi_ioctl_command {\n\tunsigned int inlen;\n\tunsigned int outlen;\n\tunsigned char data[0];\n};\n\nstruct scsi_mode_data {\n\t__u32 length;\n\t__u16 block_descriptor_length;\n\t__u8 medium_type;\n\t__u8 device_specific;\n\t__u8 header_length;\n\t__u8 longlba: 1;\n};\n\nstruct scsi_proc_entry {\n\tstruct list_head entry;\n\tconst struct scsi_host_template *sht;\n\tstruct proc_dir_entry *proc_dir;\n\tunsigned int present;\n};\n\nstruct scsi_sense_hdr {\n\tu8 response_code;\n\tu8 sense_key;\n\tu8 asc;\n\tu8 ascq;\n\tu8 byte4;\n\tu8 byte5;\n\tu8 byte6;\n\tu8 additional_length;\n};\n\nstruct scsi_stream_status {\n\tu8 reserved1: 7;\n\tu8 perm: 1;\n\tu8 reserved2;\n\t__be16 stream_identifier;\n\tu8 rel_lifetime: 6;\n\tu8 reserved3: 2;\n\tu8 reserved4[3];\n};\n\nstruct scsi_stream_status_header {\n\t__be32 len;\n\tu16 reserved;\n\t__be16 number_of_open_streams;\n\tstruct {\n\t\tstruct {} __empty_stream_status;\n\t\tstruct scsi_stream_status stream_status[0];\n\t};\n};\n\nstruct scsi_target {\n\tstruct scsi_device *starget_sdev_user;\n\tstruct list_head siblings;\n\tstruct list_head devices;\n\tstruct device dev;\n\tstruct kref reap_ref;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int create: 1;\n\tunsigned int single_lun: 1;\n\tunsigned int pdt_1f_for_no_lun: 1;\n\tunsigned int no_report_luns: 1;\n\tunsigned int expecting_lun_change: 1;\n\tatomic_t target_busy;\n\tatomic_t target_blocked;\n\tunsigned int can_queue;\n\tunsigned int max_target_blocked;\n\tchar scsi_level;\n\tenum scsi_target_state state;\n\tvoid *hostdata;\n\tlong unsigned int starget_data[0];\n};\n\nstruct scsi_varlen_cdb_hdr {\n\t__u8 opcode;\n\t__u8 control;\n\t__u8 misc[5];\n\t__u8 additional_cdb_length;\n\t__be16 service_action;\n};\n\nstruct scsi_vpd {\n\tstruct callback_head rcu;\n\tint len;\n\tunsigned char data[0];\n};\n\nstruct sctp_paramhdr {\n\t__be16 type;\n\t__be16 length;\n};\n\nstruct sctp_adaptation_ind_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 adaptation_ind;\n};\n\nstruct sctp_addip_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 crr_id;\n};\n\nstruct sctp_addiphdr {\n\t__be32 serial;\n};\n\nunion sctp_addr {\n\tstruct sockaddr_in v4;\n\tstruct sockaddr_in6 v6;\n\tstruct sockaddr sa;\n};\n\nstruct sctp_ipv4addr_param {\n\tstruct sctp_paramhdr param_hdr;\n\tstruct in_addr addr;\n};\n\nstruct sctp_ipv6addr_param {\n\tstruct sctp_paramhdr param_hdr;\n\tstruct in6_addr addr;\n};\n\nunion sctp_addr_param {\n\tstruct sctp_paramhdr p;\n\tstruct sctp_ipv4addr_param v4;\n\tstruct sctp_ipv6addr_param v6;\n};\n\nstruct sctp_transport;\n\nstruct sctp_sock;\n\nstruct sctp_af {\n\tint (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);\n\tint (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);\n\tint (*getsockopt)(struct sock *, int, int, char *, int *);\n\tvoid (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);\n\tvoid (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);\n\tvoid (*copy_addrlist)(struct list_head *, struct net_device *);\n\tint (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);\n\tvoid (*addr_copy)(union sctp_addr *, union sctp_addr *);\n\tvoid (*from_skb)(union sctp_addr *, struct sk_buff *, int);\n\tvoid (*from_sk)(union sctp_addr *, struct sock *);\n\tbool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);\n\tint (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);\n\tint (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);\n\tenum sctp_scope (*scope)(union sctp_addr *);\n\tvoid (*inaddr_any)(union sctp_addr *, __be16);\n\tint (*is_any)(const union sctp_addr *);\n\tint (*available)(union sctp_addr *, struct sctp_sock *);\n\tint (*skb_iif)(const struct sk_buff *);\n\tint (*skb_sdif)(const struct sk_buff *);\n\tint (*is_ce)(const struct sk_buff *);\n\tvoid (*seq_dump_addr)(struct seq_file *, union sctp_addr *);\n\tvoid (*ecn_capable)(struct sock *);\n\t__u16 net_header_len;\n\tint sockaddr_len;\n\tint (*ip_options_len)(struct sock *);\n\tsa_family_t sa_family;\n\tstruct list_head list;\n};\n\nstruct sctp_chunk;\n\nstruct sctp_inq {\n\tstruct list_head in_chunk_list;\n\tstruct sctp_chunk *in_progress;\n\tstruct work_struct immediate;\n};\n\nstruct sctp_bind_addr {\n\t__u16 port;\n\tstruct list_head address_list;\n};\n\nstruct sctp_ep_common {\n\tenum sctp_endpoint_type type;\n\trefcount_t refcnt;\n\tbool dead;\n\tstruct sock *sk;\n\tstruct net *net;\n\tstruct sctp_inq inqueue;\n\tstruct sctp_bind_addr bind_addr;\n};\n\nstruct sctp_cookie {\n\t__u32 my_vtag;\n\t__u32 peer_vtag;\n\t__u32 my_ttag;\n\t__u32 peer_ttag;\n\tktime_t expiration;\n\t__u16 sinit_num_ostreams;\n\t__u16 sinit_max_instreams;\n\t__u32 initial_tsn;\n\tunion sctp_addr peer_addr;\n\t__u16 my_port;\n\t__u8 prsctp_capable;\n\t__u8 padding;\n\t__u32 adaptation_ind;\n\t__u8 auth_random[36];\n\t__u8 auth_hmacs[10];\n\t__u8 auth_chunks[20];\n\t__u32 raw_addr_list_len;\n};\n\nstruct sctp_tsnmap {\n\tlong unsigned int *tsn_map;\n\t__u32 base_tsn;\n\t__u32 cumulative_tsn_ack_point;\n\t__u32 max_tsn_seen;\n\t__u16 len;\n\t__u16 pending_data;\n\t__u16 num_dup_tsns;\n\t__be32 dup_tsns[16];\n};\n\nstruct sctp_inithdr_host {\n\t__u32 init_tag;\n\t__u32 a_rwnd;\n\t__u16 num_outbound_streams;\n\t__u16 num_inbound_streams;\n\t__u32 initial_tsn;\n};\n\nstruct sctp_stream_out_ext;\n\nstruct sctp_stream_out {\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\t__u32 mid_uo;\n\tstruct sctp_stream_out_ext *ext;\n\t__u8 state;\n};\n\nstruct sctp_stream_in {\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\t__u32 mid_uo;\n\t__u32 fsn;\n\t__u32 fsn_uo;\n\tchar pd_mode;\n\tchar pd_mode_uo;\n};\n\nstruct sctp_stream_interleave;\n\nstruct sctp_stream {\n\tstruct {\n\t\tstruct __genradix tree;\n\t\tstruct sctp_stream_out type[0];\n\t} out;\n\tstruct {\n\t\tstruct __genradix tree;\n\t\tstruct sctp_stream_in type[0];\n\t} in;\n\t__u16 outcnt;\n\t__u16 incnt;\n\tstruct sctp_stream_out *out_curr;\n\tunion {\n\t\tstruct {\n\t\t\tstruct list_head prio_list;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head rr_list;\n\t\t\tstruct sctp_stream_out_ext *rr_next;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head fc_list;\n\t\t};\n\t};\n\tstruct sctp_stream_interleave *si;\n};\n\nstruct sctp_sched_ops;\n\nstruct sctp_association;\n\nstruct sctp_outq {\n\tstruct sctp_association *asoc;\n\tstruct list_head out_chunk_list;\n\tstruct sctp_sched_ops *sched;\n\tunsigned int out_qlen;\n\tunsigned int error;\n\tstruct list_head control_chunk_list;\n\tstruct list_head sacked;\n\tstruct list_head retransmit;\n\tstruct list_head abandoned;\n\t__u32 outstanding_bytes;\n\tchar fast_rtx;\n\tchar cork;\n};\n\nstruct sctp_ulpq {\n\tchar pd_mode;\n\tstruct sctp_association *asoc;\n\tstruct sk_buff_head reasm;\n\tstruct sk_buff_head reasm_uo;\n\tstruct sk_buff_head lobby;\n};\n\nstruct sctp_priv_assoc_stats {\n\tstruct __kernel_sockaddr_storage obs_rto_ipaddr;\n\t__u64 max_obs_rto;\n\t__u64 isacks;\n\t__u64 osacks;\n\t__u64 opackets;\n\t__u64 ipackets;\n\t__u64 rtxchunks;\n\t__u64 outofseqtsns;\n\t__u64 idupchunks;\n\t__u64 gapcnt;\n\t__u64 ouodchunks;\n\t__u64 iuodchunks;\n\t__u64 oodchunks;\n\t__u64 iodchunks;\n\t__u64 octrlchunks;\n\t__u64 ictrlchunks;\n};\n\nstruct sctp_endpoint;\n\nstruct sctp_random_param;\n\nstruct sctp_chunks_param;\n\nstruct sctp_hmac_algo_param;\n\nstruct sctp_auth_bytes;\n\nstruct sctp_shared_key;\n\nstruct sctp_association {\n\tstruct sctp_ep_common base;\n\tstruct list_head asocs;\n\tsctp_assoc_t assoc_id;\n\tstruct sctp_endpoint *ep;\n\tstruct sctp_cookie c;\n\tstruct {\n\t\tstruct list_head transport_addr_list;\n\t\t__u32 rwnd;\n\t\t__u16 transport_count;\n\t\t__u16 port;\n\t\tstruct sctp_transport *primary_path;\n\t\tunion sctp_addr primary_addr;\n\t\tstruct sctp_transport *active_path;\n\t\tstruct sctp_transport *retran_path;\n\t\tstruct sctp_transport *last_sent_to;\n\t\tstruct sctp_transport *last_data_from;\n\t\tstruct sctp_tsnmap tsn_map;\n\t\t__be16 addip_disabled_mask;\n\t\t__u16 ecn_capable: 1;\n\t\t__u16 ipv4_address: 1;\n\t\t__u16 ipv6_address: 1;\n\t\t__u16 asconf_capable: 1;\n\t\t__u16 prsctp_capable: 1;\n\t\t__u16 reconf_capable: 1;\n\t\t__u16 intl_capable: 1;\n\t\t__u16 auth_capable: 1;\n\t\t__u16 sack_needed: 1;\n\t\t__u16 sack_generation: 1;\n\t\t__u16 zero_window_announced: 1;\n\t\t__u32 sack_cnt;\n\t\t__u32 adaptation_ind;\n\t\tstruct sctp_inithdr_host i;\n\t\tvoid *cookie;\n\t\tint cookie_len;\n\t\t__u32 addip_serial;\n\t\tstruct sctp_random_param *peer_random;\n\t\tstruct sctp_chunks_param *peer_chunks;\n\t\tstruct sctp_hmac_algo_param *peer_hmacs;\n\t} peer;\n\tenum sctp_state state;\n\tint overall_error_count;\n\tktime_t cookie_life;\n\tlong unsigned int rto_initial;\n\tlong unsigned int rto_max;\n\tlong unsigned int rto_min;\n\tint max_burst;\n\tint max_retrans;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u16 max_init_attempts;\n\t__u16 init_retries;\n\tlong unsigned int max_init_timeo;\n\tlong unsigned int hbinterval;\n\tlong unsigned int probe_interval;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u8 pmtu_pending;\n\t__u32 pathmtu;\n\t__u32 param_flags;\n\t__u32 sackfreq;\n\tlong unsigned int sackdelay;\n\tlong unsigned int timeouts[12];\n\tstruct timer_list timers[12];\n\tstruct sctp_transport *shutdown_last_sent_to;\n\tstruct sctp_transport *init_last_sent_to;\n\tint shutdown_retries;\n\t__u32 next_tsn;\n\t__u32 ctsn_ack_point;\n\t__u32 adv_peer_ack_point;\n\t__u32 highest_sacked;\n\t__u32 fast_recovery_exit;\n\t__u8 fast_recovery;\n\t__u16 unack_data;\n\t__u32 rtx_data_chunks;\n\t__u32 rwnd;\n\t__u32 a_rwnd;\n\t__u32 rwnd_over;\n\t__u32 rwnd_press;\n\tint sndbuf_used;\n\tatomic_t rmem_alloc;\n\twait_queue_head_t wait;\n\t__u32 frag_point;\n\t__u32 user_frag;\n\tint init_err_counter;\n\tint init_cycle;\n\t__u16 default_stream;\n\t__u16 default_flags;\n\t__u32 default_ppid;\n\t__u32 default_context;\n\t__u32 default_timetolive;\n\t__u32 default_rcv_context;\n\tstruct sctp_stream stream;\n\tstruct sctp_outq outqueue;\n\tstruct sctp_ulpq ulpq;\n\t__u32 last_ecne_tsn;\n\t__u32 last_cwr_tsn;\n\tint numduptsns;\n\tstruct sctp_chunk *addip_last_asconf;\n\tstruct list_head asconf_ack_list;\n\tstruct list_head addip_chunk_list;\n\t__u32 addip_serial;\n\tint src_out_of_asoc_ok;\n\tunion sctp_addr *asconf_addr_del_pending;\n\tstruct sctp_transport *new_transport;\n\tstruct list_head endpoint_shared_keys;\n\tstruct sctp_auth_bytes *asoc_shared_key;\n\tstruct sctp_shared_key *shkey;\n\t__u16 default_hmac_id;\n\t__u16 active_key_id;\n\t__u8 need_ecne: 1;\n\t__u8 temp: 1;\n\t__u8 pf_expose: 2;\n\t__u8 force_delay: 1;\n\t__u8 strreset_enable;\n\t__u8 strreset_outstanding;\n\t__u32 strreset_outseq;\n\t__u32 strreset_inseq;\n\t__u32 strreset_result[2];\n\tstruct sctp_chunk *strreset_chunk;\n\tstruct sctp_priv_assoc_stats stats;\n\tint sent_cnt_removable;\n\t__u16 subscribe;\n\t__u64 abandoned_unsent[3];\n\t__u64 abandoned_sent[3];\n\tu32 secid;\n\tu32 peer_secid;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_assocparams {\n\tsctp_assoc_t sasoc_assoc_id;\n\t__u16 sasoc_asocmaxrxt;\n\t__u16 sasoc_number_peer_destinations;\n\t__u32 sasoc_peer_rwnd;\n\t__u32 sasoc_local_rwnd;\n\t__u32 sasoc_cookie_life;\n};\n\nstruct sctp_auth_bytes {\n\trefcount_t refcnt;\n\t__u32 len;\n\t__u8 data[0];\n};\n\nstruct sctp_authhdr {\n\t__be16 shkey_id;\n\t__be16 hmac_id;\n};\n\nstruct sctp_bind_bucket {\n\tshort unsigned int port;\n\tsigned char fastreuse;\n\tsigned char fastreuseport;\n\tkuid_t fastuid;\n\tstruct hlist_node node;\n\tstruct hlist_head owner;\n\tstruct net *net;\n};\n\nstruct sctp_cookie_preserve_param;\n\nstruct sctp_hostname_param;\n\nstruct sctp_cookie_param;\n\nstruct sctp_supported_addrs_param;\n\nstruct sctp_supported_ext_param;\n\nunion sctp_params {\n\tvoid *v;\n\tstruct sctp_paramhdr *p;\n\tstruct sctp_cookie_preserve_param *life;\n\tstruct sctp_hostname_param *dns;\n\tstruct sctp_cookie_param *cookie;\n\tstruct sctp_supported_addrs_param *sat;\n\tstruct sctp_ipv4addr_param *v4;\n\tstruct sctp_ipv6addr_param *v6;\n\tunion sctp_addr_param *addr;\n\tstruct sctp_adaptation_ind_param *aind;\n\tstruct sctp_supported_ext_param *ext;\n\tstruct sctp_random_param *random;\n\tstruct sctp_chunks_param *chunks;\n\tstruct sctp_hmac_algo_param *hmac_algo;\n\tstruct sctp_addip_param *addip;\n};\n\nstruct sctp_sndrcvinfo {\n\t__u16 sinfo_stream;\n\t__u16 sinfo_ssn;\n\t__u16 sinfo_flags;\n\t__u32 sinfo_ppid;\n\t__u32 sinfo_context;\n\t__u32 sinfo_timetolive;\n\t__u32 sinfo_tsn;\n\t__u32 sinfo_cumtsn;\n\tsctp_assoc_t sinfo_assoc_id;\n};\n\nstruct sctp_datahdr;\n\nstruct sctp_inithdr;\n\nstruct sctp_sackhdr;\n\nstruct sctp_heartbeathdr;\n\nstruct sctp_sender_hb_info;\n\nstruct sctp_shutdownhdr;\n\nstruct sctp_signed_cookie;\n\nstruct sctp_ecnehdr;\n\nstruct sctp_cwrhdr;\n\nstruct sctp_errhdr;\n\nstruct sctp_fwdtsn_hdr;\n\nstruct sctp_idatahdr;\n\nstruct sctp_ifwdtsn_hdr;\n\nstruct sctp_chunkhdr;\n\nstruct sctphdr;\n\nstruct sctp_datamsg;\n\nstruct sctp_chunk {\n\tstruct list_head list;\n\trefcount_t refcnt;\n\tint sent_count;\n\tunion {\n\t\tstruct list_head transmitted_list;\n\t\tstruct list_head stream_list;\n\t};\n\tstruct list_head frag_list;\n\tstruct sk_buff *skb;\n\tunion {\n\t\tstruct sk_buff *head_skb;\n\t\tstruct sctp_shared_key *shkey;\n\t};\n\tunion sctp_params param_hdr;\n\tunion {\n\t\t__u8 *v;\n\t\tstruct sctp_datahdr *data_hdr;\n\t\tstruct sctp_inithdr *init_hdr;\n\t\tstruct sctp_sackhdr *sack_hdr;\n\t\tstruct sctp_heartbeathdr *hb_hdr;\n\t\tstruct sctp_sender_hb_info *hbs_hdr;\n\t\tstruct sctp_shutdownhdr *shutdown_hdr;\n\t\tstruct sctp_signed_cookie *cookie_hdr;\n\t\tstruct sctp_ecnehdr *ecne_hdr;\n\t\tstruct sctp_cwrhdr *ecn_cwr_hdr;\n\t\tstruct sctp_errhdr *err_hdr;\n\t\tstruct sctp_addiphdr *addip_hdr;\n\t\tstruct sctp_fwdtsn_hdr *fwdtsn_hdr;\n\t\tstruct sctp_authhdr *auth_hdr;\n\t\tstruct sctp_idatahdr *idata_hdr;\n\t\tstruct sctp_ifwdtsn_hdr *ifwdtsn_hdr;\n\t} subh;\n\t__u8 *chunk_end;\n\tstruct sctp_chunkhdr *chunk_hdr;\n\tstruct sctphdr *sctp_hdr;\n\tstruct sctp_sndrcvinfo sinfo;\n\tstruct sctp_association *asoc;\n\tstruct sctp_ep_common *rcvr;\n\tlong unsigned int sent_at;\n\tunion sctp_addr source;\n\tunion sctp_addr dest;\n\tstruct sctp_datamsg *msg;\n\tstruct sctp_transport *transport;\n\tstruct sk_buff *auth_chunk;\n\t__u16 rtt_in_progress: 1;\n\t__u16 has_tsn: 1;\n\t__u16 has_ssn: 1;\n\t__u16 singleton: 1;\n\t__u16 end_of_packet: 1;\n\t__u16 ecn_ce_done: 1;\n\t__u16 pdiscard: 1;\n\t__u16 tsn_gap_acked: 1;\n\t__u16 data_accepted: 1;\n\t__u16 auth: 1;\n\t__u16 has_asconf: 1;\n\t__u16 pmtu_probe: 1;\n\t__u16 tsn_missing_report: 2;\n\t__u16 fast_retransmit: 2;\n};\n\nstruct sctp_chunkhdr {\n\t__u8 type;\n\t__u8 flags;\n\t__be16 length;\n};\n\nstruct sctp_chunks_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 chunks[0];\n};\n\nstruct sctp_cookie_param {\n\tstruct sctp_paramhdr p;\n\t__u8 body[0];\n};\n\nstruct sctp_cookie_preserve_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be32 lifespan_increment;\n};\n\nstruct sctp_cwrhdr {\n\t__be32 lowest_tsn;\n};\n\nstruct sctp_datahdr {\n\t__be32 tsn;\n\t__be16 stream;\n\t__be16 ssn;\n\t__u32 ppid;\n};\n\nstruct sctp_datamsg {\n\tstruct list_head chunks;\n\trefcount_t refcnt;\n\tlong unsigned int expires_at;\n\tint send_error;\n\tu8 send_failed: 1;\n\tu8 can_delay: 1;\n\tu8 abandoned: 1;\n};\n\nstruct sctp_ecnehdr {\n\t__be32 lowest_tsn;\n};\n\nstruct sctp_endpoint {\n\tstruct sctp_ep_common base;\n\tstruct hlist_node node;\n\tint hashent;\n\tstruct list_head asocs;\n\t__u8 secret_key[32];\n\t__u8 *digest;\n\t__u32 sndbuf_policy;\n\t__u32 rcvbuf_policy;\n\tstruct crypto_shash **auth_hmacs;\n\tstruct sctp_hmac_algo_param *auth_hmacs_list;\n\tstruct sctp_chunks_param *auth_chunk_list;\n\tstruct list_head endpoint_shared_keys;\n\t__u16 active_key_id;\n\t__u8 ecn_enable: 1;\n\t__u8 auth_enable: 1;\n\t__u8 intl_enable: 1;\n\t__u8 prsctp_enable: 1;\n\t__u8 asconf_enable: 1;\n\t__u8 reconf_enable: 1;\n\t__u8 strreset_enable;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_errhdr {\n\t__be16 cause;\n\t__be16 length;\n};\n\nstruct sctp_fwdtsn_hdr {\n\t__be32 new_cum_tsn;\n};\n\nstruct sctp_heartbeathdr {\n\tstruct sctp_paramhdr info;\n};\n\nstruct sctp_hmac_algo_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be16 hmac_ids[0];\n};\n\nstruct sctp_hostname_param {\n\tstruct sctp_paramhdr param_hdr;\n\tuint8_t hostname[0];\n};\n\nstruct sctp_idatahdr {\n\t__be32 tsn;\n\t__be16 stream;\n\t__be16 reserved;\n\t__be32 mid;\n\tunion {\n\t\t__u32 ppid;\n\t\t__be32 fsn;\n\t};\n\t__u8 payload[0];\n};\n\nstruct sctp_ifwdtsn_hdr {\n\t__be32 new_cum_tsn;\n};\n\nstruct sctp_inithdr {\n\t__be32 init_tag;\n\t__be32 a_rwnd;\n\t__be16 num_outbound_streams;\n\t__be16 num_inbound_streams;\n\t__be32 initial_tsn;\n};\n\nstruct sctp_initmsg {\n\t__u16 sinit_num_ostreams;\n\t__u16 sinit_max_instreams;\n\t__u16 sinit_max_attempts;\n\t__u16 sinit_max_init_timeo;\n};\n\nstruct sctp_packet {\n\t__u16 source_port;\n\t__u16 destination_port;\n\t__u32 vtag;\n\tstruct list_head chunk_list;\n\tsize_t overhead;\n\tsize_t size;\n\tsize_t max_size;\n\tstruct sctp_transport *transport;\n\tstruct sctp_chunk *auth;\n\tu8 has_cookie_echo: 1;\n\tu8 has_sack: 1;\n\tu8 has_auth: 1;\n\tu8 has_data: 1;\n\tu8 ipfragok: 1;\n};\n\nstruct sctp_paddrparams {\n\tsctp_assoc_t spp_assoc_id;\n\tstruct __kernel_sockaddr_storage spp_address;\n\t__u32 spp_hbinterval;\n\t__u16 spp_pathmaxrxt;\n\t__u32 spp_pathmtu;\n\t__u32 spp_sackdelay;\n\t__u32 spp_flags;\n\t__u32 spp_ipv6_flowlabel;\n\t__u8 spp_dscp;\n\tint: 0;\n} __attribute__((packed));\n\nstruct sctp_ulpevent;\n\nstruct sctp_pf {\n\tvoid (*event_msgname)(struct sctp_ulpevent *, char *, int *);\n\tvoid (*skb_msgname)(struct sk_buff *, char *, int *);\n\tint (*af_supported)(sa_family_t, struct sctp_sock *);\n\tint (*cmp_addr)(const union sctp_addr *, const union sctp_addr *, struct sctp_sock *);\n\tint (*bind_verify)(struct sctp_sock *, union sctp_addr *);\n\tint (*send_verify)(struct sctp_sock *, union sctp_addr *);\n\tint (*supported_addrs)(const struct sctp_sock *, __be16 *);\n\tstruct sock * (*create_accept_sk)(struct sock *, struct sctp_association *, bool);\n\tint (*addr_to_user)(struct sctp_sock *, union sctp_addr *);\n\tvoid (*to_sk_saddr)(union sctp_addr *, struct sock *);\n\tvoid (*to_sk_daddr)(union sctp_addr *, struct sock *);\n\tvoid (*copy_ip_options)(struct sock *, struct sock *);\n\tstruct sctp_af *af;\n};\n\nstruct sctp_random_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 random_val[0];\n};\n\nstruct sctp_rtoinfo {\n\tsctp_assoc_t srto_assoc_id;\n\t__u32 srto_initial;\n\t__u32 srto_max;\n\t__u32 srto_min;\n};\n\nstruct sctp_sackhdr {\n\t__be32 cum_tsn_ack;\n\t__be32 a_rwnd;\n\t__be16 num_gap_ack_blocks;\n\t__be16 num_dup_tsns;\n};\n\nstruct sctp_sender_hb_info {\n\tstruct sctp_paramhdr param_hdr;\n\tunion sctp_addr daddr;\n\tlong unsigned int sent_at;\n\t__u64 hb_nonce;\n\t__u32 probe_size;\n};\n\nstruct sctp_shared_key {\n\tstruct list_head key_list;\n\tstruct sctp_auth_bytes *key;\n\trefcount_t refcnt;\n\t__u16 key_id;\n\t__u8 deactivated;\n};\n\nstruct sctp_shutdownhdr {\n\t__be32 cum_tsn_ack;\n};\n\nstruct sctp_signed_cookie {\n\t__u8 signature[32];\n\t__u32 __pad;\n\tstruct sctp_cookie c;\n} __attribute__((packed));\n\nstruct sctp_sock {\n\tstruct inet_sock inet;\n\tenum sctp_socket_type type;\n\tstruct sctp_pf *pf;\n\tstruct crypto_shash *hmac;\n\tchar *sctp_hmac_alg;\n\tstruct sctp_endpoint *ep;\n\tstruct sctp_bind_bucket *bind_hash;\n\t__u16 default_stream;\n\t__u32 default_ppid;\n\t__u16 default_flags;\n\t__u32 default_context;\n\t__u32 default_timetolive;\n\t__u32 default_rcv_context;\n\tint max_burst;\n\t__u32 hbinterval;\n\t__u32 probe_interval;\n\t__be16 udp_port;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u32 pathmtu;\n\t__u32 sackdelay;\n\t__u32 sackfreq;\n\t__u32 param_flags;\n\t__u32 default_ss;\n\tstruct sctp_rtoinfo rtoinfo;\n\tstruct sctp_paddrparams paddrparam;\n\tstruct sctp_assocparams assocparams;\n\t__u16 subscribe;\n\tstruct sctp_initmsg initmsg;\n\tint user_frag;\n\t__u32 autoclose;\n\t__u32 adaptation_ind;\n\t__u32 pd_point;\n\t__u16 nodelay: 1;\n\t__u16 pf_expose: 2;\n\t__u16 reuse: 1;\n\t__u16 disable_fragments: 1;\n\t__u16 v4mapped: 1;\n\t__u16 frag_interleave: 1;\n\t__u16 recvrcvinfo: 1;\n\t__u16 recvnxtinfo: 1;\n\t__u16 data_ready_signalled: 1;\n\tatomic_t pd_mode;\n\tstruct sk_buff_head pd_lobby;\n\tstruct list_head auto_asconf_list;\n\tint do_auto_asconf;\n};\n\nstruct sctp_stream_interleave {\n\t__u16 data_chunk_len;\n\t__u16 ftsn_chunk_len;\n\tstruct sctp_chunk * (*make_datafrag)(const struct sctp_association *, const struct sctp_sndrcvinfo *, int, __u8, gfp_t);\n\tvoid (*assign_number)(struct sctp_chunk *);\n\tbool (*validate_data)(struct sctp_chunk *);\n\tint (*ulpevent_data)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);\n\tint (*enqueue_event)(struct sctp_ulpq *, struct sctp_ulpevent *);\n\tvoid (*renege_events)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);\n\tvoid (*start_pd)(struct sctp_ulpq *, gfp_t);\n\tvoid (*abort_pd)(struct sctp_ulpq *, gfp_t);\n\tvoid (*generate_ftsn)(struct sctp_outq *, __u32);\n\tbool (*validate_ftsn)(struct sctp_chunk *);\n\tvoid (*report_ftsn)(struct sctp_ulpq *, __u32);\n\tvoid (*handle_ftsn)(struct sctp_ulpq *, struct sctp_chunk *);\n};\n\nstruct sctp_stream_priorities;\n\nstruct sctp_stream_out_ext {\n\t__u64 abandoned_unsent[3];\n\t__u64 abandoned_sent[3];\n\tstruct list_head outq;\n\tunion {\n\t\tstruct {\n\t\t\tstruct list_head prio_list;\n\t\t\tstruct sctp_stream_priorities *prio_head;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head rr_list;\n\t\t};\n\t\tstruct {\n\t\t\tstruct list_head fc_list;\n\t\t\t__u32 fc_length;\n\t\t\t__u16 fc_weight;\n\t\t};\n\t};\n};\n\nstruct sctp_stream_priorities {\n\tstruct list_head prio_sched;\n\tstruct list_head active;\n\tstruct sctp_stream_out_ext *next;\n\t__u16 prio;\n\t__u16 users;\n};\n\nstruct sctp_supported_addrs_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__be16 types[0];\n};\n\nstruct sctp_supported_ext_param {\n\tstruct sctp_paramhdr param_hdr;\n\t__u8 chunks[0];\n};\n\nstruct sctp_transport {\n\tstruct list_head transports;\n\tstruct rhlist_head node;\n\trefcount_t refcnt;\n\t__u32 rto_pending: 1;\n\t__u32 hb_sent: 1;\n\t__u32 pmtu_pending: 1;\n\t__u32 dst_pending_confirm: 1;\n\t__u32 sack_generation: 1;\n\tu32 dst_cookie;\n\tstruct flowi fl;\n\tunion sctp_addr ipaddr;\n\tstruct sctp_af *af_specific;\n\tstruct sctp_association *asoc;\n\tlong unsigned int rto;\n\t__u32 rtt;\n\t__u32 rttvar;\n\t__u32 srtt;\n\t__u32 cwnd;\n\t__u32 ssthresh;\n\t__u32 partial_bytes_acked;\n\t__u32 flight_size;\n\t__u32 burst_limited;\n\tstruct dst_entry *dst;\n\tunion sctp_addr saddr;\n\tlong unsigned int hbinterval;\n\tlong unsigned int probe_interval;\n\tlong unsigned int sackdelay;\n\t__u32 sackfreq;\n\tatomic_t mtu_info;\n\tktime_t last_time_heard;\n\tlong unsigned int last_time_sent;\n\tlong unsigned int last_time_ecne_reduced;\n\t__be16 encap_port;\n\t__u16 pathmaxrxt;\n\t__u32 flowlabel;\n\t__u8 dscp;\n\t__u16 pf_retrans;\n\t__u16 ps_retrans;\n\t__u32 pathmtu;\n\t__u32 param_flags;\n\tint init_sent_count;\n\tint state;\n\tshort unsigned int error_count;\n\tstruct timer_list T3_rtx_timer;\n\tstruct timer_list hb_timer;\n\tstruct timer_list proto_unreach_timer;\n\tstruct timer_list reconf_timer;\n\tstruct timer_list probe_timer;\n\tstruct list_head transmitted;\n\tstruct sctp_packet packet;\n\tstruct list_head send_ready;\n\tstruct {\n\t\t__u32 next_tsn_at_change;\n\t\tchar changeover_active;\n\t\tchar cycling_changeover;\n\t\tchar cacc_saw_newack;\n\t} cacc;\n\tstruct {\n\t\t__u16 pmtu;\n\t\t__u16 probe_size;\n\t\t__u16 probe_high;\n\t\t__u8 probe_count;\n\t\t__u8 state;\n\t} pl;\n\t__u64 hb_nonce;\n\tstruct callback_head rcu;\n};\n\nstruct sctp_ulpevent {\n\tstruct sctp_association *asoc;\n\tstruct sctp_chunk *chunk;\n\tunsigned int rmem_len;\n\tunion {\n\t\t__u32 mid;\n\t\t__u16 ssn;\n\t};\n\tunion {\n\t\t__u32 ppid;\n\t\t__u32 fsn;\n\t};\n\t__u32 tsn;\n\t__u32 cumtsn;\n\t__u16 stream;\n\t__u16 flags;\n\t__u16 msg_flags;\n} __attribute__((packed));\n\nstruct sctphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be32 vtag;\n\t__le32 checksum;\n};\n\nstruct sd_app_op_cond_busy_data {\n\tstruct mmc_host *host;\n\tu32 ocr;\n\tstruct mmc_command *cmd;\n};\n\nstruct sd_busy_data {\n\tstruct mmc_card *card;\n\tu8 *reg_buf;\n};\n\nstruct sd_flag_debug {\n\tunsigned int meta_flags;\n\tchar *name;\n};\n\nstruct sd_flow_limit {\n\tu64 count;\n\tunsigned int num_buckets;\n\tunsigned int history_head;\n\tu16 history[128];\n\tu8 buckets[0];\n};\n\nstruct sg_lb_stats {\n\tlong unsigned int avg_load;\n\tlong unsigned int group_load;\n\tlong unsigned int group_capacity;\n\tlong unsigned int group_util;\n\tlong unsigned int group_runnable;\n\tunsigned int sum_nr_running;\n\tunsigned int sum_h_nr_running;\n\tunsigned int idle_cpus;\n\tunsigned int group_weight;\n\tenum group_type group_type;\n\tunsigned int group_asym_packing;\n\tunsigned int group_smt_balance;\n\tlong unsigned int group_misfit_task_load;\n};\n\nstruct sd_lb_stats {\n\tstruct sched_group *busiest;\n\tstruct sched_group *local;\n\tlong unsigned int total_load;\n\tlong unsigned int total_capacity;\n\tlong unsigned int avg_load;\n\tunsigned int prefer_sibling;\n\tstruct sg_lb_stats busiest_stat;\n\tstruct sg_lb_stats local_stat;\n};\n\nstruct sd_uhs2_wait_active_state_data {\n\tstruct mmc_host *host;\n\tstruct mmc_command *cmd;\n};\n\nstruct sdhci_adma2_64_desc {\n\t__le16 cmd;\n\t__le16 len;\n\t__le32 addr_lo;\n\t__le32 addr_hi;\n};\n\nstruct sdhci_cdns_drv_data {\n\tint (*init)(struct platform_device *);\n\tconst struct sdhci_pltfm_data pltfm_data;\n};\n\nstruct sdhci_cdns_phy_cfg {\n\tconst char *property;\n\tu8 addr;\n};\n\nstruct sdhci_cdns_phy_param {\n\tu8 addr;\n\tu8 data;\n};\n\nstruct sdhci_cdns_priv {\n\tvoid *hrs_addr;\n\tvoid *ctl_addr;\n\tspinlock_t wrlock;\n\tbool enhanced_strobe;\n\tvoid (*priv_writel)(struct sdhci_cdns_priv *, u32, void *);\n\tstruct reset_control *rst_hw;\n\tunsigned int nr_phy_params;\n\tstruct sdhci_cdns_phy_param phy_params[0];\n};\n\nstruct sdhci_host {\n\tconst char *hw_name;\n\tunsigned int quirks;\n\tunsigned int quirks2;\n\tint irq;\n\tvoid *ioaddr;\n\tphys_addr_t mapbase;\n\tchar *bounce_buffer;\n\tdma_addr_t bounce_addr;\n\tunsigned int bounce_buffer_size;\n\tconst struct sdhci_ops *ops;\n\tstruct mmc_host *mmc;\n\tstruct mmc_host_ops mmc_host_ops;\n\tu64 dma_mask;\n\tspinlock_t lock;\n\tint flags;\n\tunsigned int version;\n\tunsigned int max_clk;\n\tunsigned int timeout_clk;\n\tu8 max_timeout_count;\n\tunsigned int clk_mul;\n\tunsigned int clock;\n\tu8 pwr;\n\tu8 drv_type;\n\tbool reinit_uhs;\n\tbool runtime_suspended;\n\tbool bus_on;\n\tbool preset_enabled;\n\tbool pending_reset;\n\tbool irq_wake_enabled;\n\tbool v4_mode;\n\tbool use_external_dma;\n\tbool always_defer_done;\n\tstruct mmc_request *mrqs_done[2];\n\tstruct mmc_command *cmd;\n\tstruct mmc_command *data_cmd;\n\tstruct mmc_command *deferred_cmd;\n\tstruct mmc_data *data;\n\tunsigned int data_early: 1;\n\tstruct sg_mapping_iter sg_miter;\n\tunsigned int blocks;\n\tint sg_count;\n\tint max_adma;\n\tvoid *adma_table;\n\tvoid *align_buffer;\n\tsize_t adma_table_sz;\n\tsize_t align_buffer_sz;\n\tdma_addr_t adma_addr;\n\tdma_addr_t align_addr;\n\tunsigned int desc_sz;\n\tunsigned int alloc_desc_sz;\n\tstruct workqueue_struct *complete_wq;\n\tstruct work_struct complete_work;\n\tstruct timer_list timer;\n\tstruct timer_list data_timer;\n\tvoid (*complete_work_fn)(struct work_struct *);\n\tirqreturn_t (*thread_irq_fn)(int, void *);\n\tu32 caps;\n\tu32 caps1;\n\tbool read_caps;\n\tbool sdhci_core_to_disable_vqmmc;\n\tunsigned int ocr_avail_sdio;\n\tunsigned int ocr_avail_sd;\n\tunsigned int ocr_avail_mmc;\n\tu32 ocr_mask;\n\tunsigned int timing;\n\tu32 thread_isr;\n\tu32 ier;\n\tbool cqe_on;\n\tu32 cqe_ier;\n\tu32 cqe_err_ier;\n\twait_queue_head_t buf_ready_int;\n\tunsigned int tuning_done;\n\tunsigned int tuning_count;\n\tunsigned int tuning_mode;\n\tunsigned int tuning_err;\n\tint tuning_delay;\n\tint tuning_loop_count;\n\tu32 sdma_boundary;\n\tu32 adma_table_cnt;\n\tu64 data_timeout;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct sdhci_ops {\n\tu32 (*read_l)(struct sdhci_host *, int);\n\tu16 (*read_w)(struct sdhci_host *, int);\n\tu8 (*read_b)(struct sdhci_host *, int);\n\tvoid (*write_l)(struct sdhci_host *, u32, int);\n\tvoid (*write_w)(struct sdhci_host *, u16, int);\n\tvoid (*write_b)(struct sdhci_host *, u8, int);\n\tvoid (*set_clock)(struct sdhci_host *, unsigned int);\n\tvoid (*set_power)(struct sdhci_host *, unsigned char, short unsigned int);\n\tu32 (*irq)(struct sdhci_host *, u32);\n\tint (*set_dma_mask)(struct sdhci_host *);\n\tint (*enable_dma)(struct sdhci_host *);\n\tunsigned int (*get_max_clock)(struct sdhci_host *);\n\tunsigned int (*get_min_clock)(struct sdhci_host *);\n\tunsigned int (*get_timeout_clock)(struct sdhci_host *);\n\tunsigned int (*get_max_timeout_count)(struct sdhci_host *);\n\tvoid (*set_timeout)(struct sdhci_host *, struct mmc_command *);\n\tvoid (*set_bus_width)(struct sdhci_host *, int);\n\tvoid (*platform_send_init_74_clocks)(struct sdhci_host *, u8);\n\tunsigned int (*get_ro)(struct sdhci_host *);\n\tvoid (*reset)(struct sdhci_host *, u8);\n\tint (*platform_execute_tuning)(struct sdhci_host *, u32);\n\tvoid (*set_uhs_signaling)(struct sdhci_host *, unsigned int);\n\tvoid (*hw_reset)(struct sdhci_host *);\n\tvoid (*adma_workaround)(struct sdhci_host *, u32);\n\tvoid (*card_event)(struct sdhci_host *);\n\tvoid (*voltage_switch)(struct sdhci_host *);\n\tvoid (*adma_write_desc)(struct sdhci_host *, void **, dma_addr_t, int, unsigned int);\n\tvoid (*copy_to_bounce_buffer)(struct sdhci_host *, struct mmc_data *, unsigned int);\n\tvoid (*request_done)(struct sdhci_host *, struct mmc_request *);\n\tvoid (*dump_vendor_regs)(struct sdhci_host *);\n\tvoid (*dump_uhs2_regs)(struct sdhci_host *);\n\tvoid (*uhs2_pre_detect_init)(struct sdhci_host *);\n};\n\nstruct sdhci_pltfm_host {\n\tstruct clk *clk;\n\tunsigned int clock;\n\tu16 xfer_mode_shadow;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong unsigned int private[0];\n};\n\nstruct sdio_device_id {\n\t__u8 class;\n\t__u16 vendor;\n\t__u16 device;\n\tkernel_ulong_t driver_data;\n};\n\nstruct sdio_driver {\n\tchar *name;\n\tconst struct sdio_device_id *id_table;\n\tint (*probe)(struct sdio_func *, const struct sdio_device_id *);\n\tvoid (*remove)(struct sdio_func *);\n\tstruct device_driver drv;\n};\n\ntypedef void sdio_irq_handler_t(struct sdio_func *);\n\nstruct sdio_func {\n\tstruct mmc_card *card;\n\tstruct device dev;\n\tsdio_irq_handler_t *irq_handler;\n\tunsigned int num;\n\tunsigned char class;\n\tshort unsigned int vendor;\n\tshort unsigned int device;\n\tunsigned int max_blksize;\n\tunsigned int cur_blksize;\n\tunsigned int enable_timeout;\n\tunsigned int state;\n\tu8 *tmpbuf;\n\tu8 major_rev;\n\tu8 minor_rev;\n\tunsigned int num_info;\n\tconst char **info;\n\tstruct sdio_func_tuple *tuples;\n};\n\nstruct sdio_func_tuple {\n\tstruct sdio_func_tuple *next;\n\tunsigned char code;\n\tunsigned char size;\n\tunsigned char data[0];\n};\n\nstruct xfrm_offload {\n\tstruct {\n\t\t__u32 low;\n\t\t__u32 hi;\n\t} seq;\n\t__u32 flags;\n\t__u32 status;\n\t__u32 orig_mac_len;\n\t__u8 proto;\n\t__u8 inner_ipproto;\n};\n\nstruct sec_path {\n\tint len;\n\tint olen;\n\tint verified_cnt;\n\tstruct xfrm_state *xvec[6];\n\tstruct xfrm_offload ovec[1];\n};\n\nstruct seccomp_filter;\n\nstruct seccomp {\n\tint mode;\n\tatomic_t filter_count;\n\tstruct seccomp_filter *filter;\n};\n\nstruct seccomp_data {\n\tint nr;\n\t__u32 arch;\n\t__u64 instruction_pointer;\n\t__u64 args[6];\n};\n\nstruct seccomp_filter {\n\trefcount_t refs;\n\trefcount_t users;\n\tbool log;\n\tbool wait_killable_recv;\n\tstruct action_cache cache;\n\tstruct seccomp_filter *prev;\n\tstruct bpf_prog *prog;\n\tstruct notification *notif;\n\tstruct mutex notify_lock;\n\twait_queue_head_t wqh;\n};\n\nstruct seccomp_kaddfd {\n\tstruct file *file;\n\tint fd;\n\tunsigned int flags;\n\t__u32 ioctl_flags;\n\tunion {\n\t\tbool setfd;\n\t\tint ret;\n\t};\n\tstruct completion completion;\n\tstruct list_head list;\n};\n\nstruct seccomp_knotif {\n\tstruct task_struct *task;\n\tu64 id;\n\tconst struct seccomp_data *data;\n\tenum notify_state state;\n\tint error;\n\tlong int val;\n\tu32 flags;\n\tstruct completion ready;\n\tstruct list_head list;\n\tstruct list_head addfd;\n};\n\nstruct seccomp_log_name {\n\tu32 log;\n\tconst char *name;\n};\n\nstruct seccomp_metadata {\n\t__u64 filter_off;\n\t__u64 flags;\n};\n\nstruct seccomp_notif {\n\t__u64 id;\n\t__u32 pid;\n\t__u32 flags;\n\tstruct seccomp_data data;\n};\n\nstruct seccomp_notif_addfd {\n\t__u64 id;\n\t__u32 flags;\n\t__u32 srcfd;\n\t__u32 newfd;\n\t__u32 newfd_flags;\n};\n\nstruct seccomp_notif_resp {\n\t__u64 id;\n\t__s64 val;\n\t__s32 error;\n\t__u32 flags;\n};\n\nstruct seccomp_notif_sizes {\n\t__u16 seccomp_notif;\n\t__u16 seccomp_notif_resp;\n\t__u16 seccomp_data;\n};\n\nstruct security_class_mapping {\n\tconst char *name;\n\tconst char *perms[33];\n};\n\nstruct timezone;\n\nstruct xattr;\n\nstruct sembuf;\n\nunion security_list_options {\n\tint (*binder_set_context_mgr)(const struct cred *);\n\tint (*binder_transaction)(const struct cred *, const struct cred *);\n\tint (*binder_transfer_binder)(const struct cred *, const struct cred *);\n\tint (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *);\n\tint (*ptrace_access_check)(struct task_struct *, unsigned int);\n\tint (*ptrace_traceme)(struct task_struct *);\n\tint (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *);\n\tint (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *);\n\tint (*capable)(const struct cred *, struct user_namespace *, int, unsigned int);\n\tint (*quotactl)(int, int, int, const struct super_block *);\n\tint (*quota_on)(struct dentry *);\n\tint (*syslog)(int);\n\tint (*settime)(const struct timespec64 *, const struct timezone *);\n\tint (*vm_enough_memory)(struct mm_struct *, long int);\n\tint (*bprm_creds_for_exec)(struct linux_binprm *);\n\tint (*bprm_creds_from_file)(struct linux_binprm *, const struct file *);\n\tint (*bprm_check_security)(struct linux_binprm *);\n\tvoid (*bprm_committing_creds)(const struct linux_binprm *);\n\tvoid (*bprm_committed_creds)(const struct linux_binprm *);\n\tint (*fs_context_submount)(struct fs_context *, struct super_block *);\n\tint (*fs_context_dup)(struct fs_context *, struct fs_context *);\n\tint (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *);\n\tint (*sb_alloc_security)(struct super_block *);\n\tvoid (*sb_delete)(struct super_block *);\n\tvoid (*sb_free_security)(struct super_block *);\n\tvoid (*sb_free_mnt_opts)(void *);\n\tint (*sb_eat_lsm_opts)(char *, void **);\n\tint (*sb_mnt_opts_compat)(struct super_block *, void *);\n\tint (*sb_remount)(struct super_block *, void *);\n\tint (*sb_kern_mount)(const struct super_block *);\n\tint (*sb_show_options)(struct seq_file *, struct super_block *);\n\tint (*sb_statfs)(struct dentry *);\n\tint (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *);\n\tint (*sb_umount)(struct vfsmount *, int);\n\tint (*sb_pivotroot)(const struct path *, const struct path *);\n\tint (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *);\n\tint (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *);\n\tint (*move_mount)(const struct path *, const struct path *);\n\tint (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *);\n\tint (*dentry_create_files_as)(struct dentry *, int, struct qstr *, const struct cred *, struct cred *);\n\tint (*path_unlink)(const struct path *, struct dentry *);\n\tint (*path_mkdir)(const struct path *, struct dentry *, umode_t);\n\tint (*path_rmdir)(const struct path *, struct dentry *);\n\tint (*path_mknod)(const struct path *, struct dentry *, umode_t, unsigned int);\n\tvoid (*path_post_mknod)(struct mnt_idmap *, struct dentry *);\n\tint (*path_truncate)(const struct path *);\n\tint (*path_symlink)(const struct path *, struct dentry *, const char *);\n\tint (*path_link)(struct dentry *, const struct path *, struct dentry *);\n\tint (*path_rename)(const struct path *, struct dentry *, const struct path *, struct dentry *, unsigned int);\n\tint (*path_chmod)(const struct path *, umode_t);\n\tint (*path_chown)(const struct path *, kuid_t, kgid_t);\n\tint (*path_chroot)(const struct path *);\n\tint (*path_notify)(const struct path *, u64, unsigned int);\n\tint (*inode_alloc_security)(struct inode *);\n\tvoid (*inode_free_security)(struct inode *);\n\tvoid (*inode_free_security_rcu)(void *);\n\tint (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *);\n\tint (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *);\n\tint (*inode_create)(struct inode *, struct dentry *, umode_t);\n\tvoid (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *);\n\tint (*inode_link)(struct dentry *, struct inode *, struct dentry *);\n\tint (*inode_unlink)(struct inode *, struct dentry *);\n\tint (*inode_symlink)(struct inode *, struct dentry *, const char *);\n\tint (*inode_mkdir)(struct inode *, struct dentry *, umode_t);\n\tint (*inode_rmdir)(struct inode *, struct dentry *);\n\tint (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t);\n\tint (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *);\n\tint (*inode_readlink)(struct dentry *);\n\tint (*inode_follow_link)(struct dentry *, struct inode *, bool);\n\tint (*inode_permission)(struct inode *, int);\n\tint (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *);\n\tvoid (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int);\n\tint (*inode_getattr)(const struct path *);\n\tint (*inode_xattr_skipcap)(const char *);\n\tint (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int);\n\tvoid (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int);\n\tint (*inode_getxattr)(struct dentry *, const char *);\n\tint (*inode_listxattr)(struct dentry *);\n\tint (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *);\n\tvoid (*inode_post_removexattr)(struct dentry *, const char *);\n\tint (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *);\n\tvoid (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *);\n\tint (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tint (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tvoid (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *);\n\tint (*inode_need_killpriv)(struct dentry *);\n\tint (*inode_killpriv)(struct mnt_idmap *, struct dentry *);\n\tint (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool);\n\tint (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int);\n\tint (*inode_listsecurity)(struct inode *, char *, size_t);\n\tvoid (*inode_getlsmprop)(struct inode *, struct lsm_prop *);\n\tint (*inode_copy_up)(struct dentry *, struct cred **);\n\tint (*inode_copy_up_xattr)(struct dentry *, const char *);\n\tint (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t);\n\tint (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *);\n\tint (*file_permission)(struct file *, int);\n\tint (*file_alloc_security)(struct file *);\n\tvoid (*file_release)(struct file *);\n\tvoid (*file_free_security)(struct file *);\n\tint (*file_ioctl)(struct file *, unsigned int, long unsigned int);\n\tint (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int);\n\tint (*mmap_addr)(long unsigned int);\n\tint (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int);\n\tint (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int);\n\tint (*file_lock)(struct file *, unsigned int);\n\tint (*file_fcntl)(struct file *, unsigned int, long unsigned int);\n\tvoid (*file_set_fowner)(struct file *);\n\tint (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int);\n\tint (*file_receive)(struct file *);\n\tint (*file_open)(struct file *);\n\tint (*file_post_open)(struct file *, int);\n\tint (*file_truncate)(struct file *);\n\tint (*task_alloc)(struct task_struct *, long unsigned int);\n\tvoid (*task_free)(struct task_struct *);\n\tint (*cred_alloc_blank)(struct cred *, gfp_t);\n\tvoid (*cred_free)(struct cred *);\n\tint (*cred_prepare)(struct cred *, const struct cred *, gfp_t);\n\tvoid (*cred_transfer)(struct cred *, const struct cred *);\n\tvoid (*cred_getsecid)(const struct cred *, u32 *);\n\tvoid (*cred_getlsmprop)(const struct cred *, struct lsm_prop *);\n\tint (*kernel_act_as)(struct cred *, u32);\n\tint (*kernel_create_files_as)(struct cred *, struct inode *);\n\tint (*kernel_module_request)(char *);\n\tint (*kernel_load_data)(enum kernel_load_data_id, bool);\n\tint (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *);\n\tint (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool);\n\tint (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id);\n\tint (*task_fix_setuid)(struct cred *, const struct cred *, int);\n\tint (*task_fix_setgid)(struct cred *, const struct cred *, int);\n\tint (*task_fix_setgroups)(struct cred *, const struct cred *);\n\tint (*task_setpgid)(struct task_struct *, pid_t);\n\tint (*task_getpgid)(struct task_struct *);\n\tint (*task_getsid)(struct task_struct *);\n\tvoid (*current_getlsmprop_subj)(struct lsm_prop *);\n\tvoid (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *);\n\tint (*task_setnice)(struct task_struct *, int);\n\tint (*task_setioprio)(struct task_struct *, int);\n\tint (*task_getioprio)(struct task_struct *);\n\tint (*task_prlimit)(const struct cred *, const struct cred *, unsigned int);\n\tint (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *);\n\tint (*task_setscheduler)(struct task_struct *);\n\tint (*task_getscheduler)(struct task_struct *);\n\tint (*task_movememory)(struct task_struct *);\n\tint (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *);\n\tint (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\tvoid (*task_to_inode)(struct task_struct *, struct inode *);\n\tint (*userns_create)(const struct cred *);\n\tint (*ipc_permission)(struct kern_ipc_perm *, short int);\n\tvoid (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *);\n\tint (*msg_msg_alloc_security)(struct msg_msg *);\n\tvoid (*msg_msg_free_security)(struct msg_msg *);\n\tint (*msg_queue_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*msg_queue_free_security)(struct kern_ipc_perm *);\n\tint (*msg_queue_associate)(struct kern_ipc_perm *, int);\n\tint (*msg_queue_msgctl)(struct kern_ipc_perm *, int);\n\tint (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int);\n\tint (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int);\n\tint (*shm_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*shm_free_security)(struct kern_ipc_perm *);\n\tint (*shm_associate)(struct kern_ipc_perm *, int);\n\tint (*shm_shmctl)(struct kern_ipc_perm *, int);\n\tint (*shm_shmat)(struct kern_ipc_perm *, char *, int);\n\tint (*sem_alloc_security)(struct kern_ipc_perm *);\n\tvoid (*sem_free_security)(struct kern_ipc_perm *);\n\tint (*sem_associate)(struct kern_ipc_perm *, int);\n\tint (*sem_semctl)(struct kern_ipc_perm *, int);\n\tint (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int);\n\tint (*netlink_send)(struct sock *, struct sk_buff *);\n\tvoid (*d_instantiate)(struct dentry *, struct inode *);\n\tint (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32);\n\tint (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32);\n\tint (*getprocattr)(struct task_struct *, const char *, char **);\n\tint (*setprocattr)(const char *, void *, size_t);\n\tint (*ismaclabel)(const char *);\n\tint (*secid_to_secctx)(u32, struct lsm_context *);\n\tint (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *);\n\tint (*secctx_to_secid)(const char *, u32, u32 *);\n\tvoid (*release_secctx)(struct lsm_context *);\n\tvoid (*inode_invalidate_secctx)(struct inode *);\n\tint (*inode_notifysecctx)(struct inode *, void *, u32);\n\tint (*inode_setsecctx)(struct dentry *, void *, u32);\n\tint (*inode_getsecctx)(struct inode *, struct lsm_context *);\n\tint (*unix_stream_connect)(struct sock *, struct sock *, struct sock *);\n\tint (*unix_may_send)(struct socket *, struct socket *);\n\tint (*socket_create)(int, int, int, int);\n\tint (*socket_post_create)(struct socket *, int, int, int, int);\n\tint (*socket_socketpair)(struct socket *, struct socket *);\n\tint (*socket_bind)(struct socket *, struct sockaddr *, int);\n\tint (*socket_connect)(struct socket *, struct sockaddr *, int);\n\tint (*socket_listen)(struct socket *, int);\n\tint (*socket_accept)(struct socket *, struct socket *);\n\tint (*socket_sendmsg)(struct socket *, struct msghdr *, int);\n\tint (*socket_recvmsg)(struct socket *, struct msghdr *, int, int);\n\tint (*socket_getsockname)(struct socket *);\n\tint (*socket_getpeername)(struct socket *);\n\tint (*socket_getsockopt)(struct socket *, int, int);\n\tint (*socket_setsockopt)(struct socket *, int, int);\n\tint (*socket_shutdown)(struct socket *, int);\n\tint (*socket_sock_rcv_skb)(struct sock *, struct sk_buff *);\n\tint (*socket_getpeersec_stream)(struct socket *, sockptr_t, sockptr_t, unsigned int);\n\tint (*socket_getpeersec_dgram)(struct socket *, struct sk_buff *, u32 *);\n\tint (*sk_alloc_security)(struct sock *, int, gfp_t);\n\tvoid (*sk_free_security)(struct sock *);\n\tvoid (*sk_clone_security)(const struct sock *, struct sock *);\n\tvoid (*sk_getsecid)(const struct sock *, u32 *);\n\tvoid (*sock_graft)(struct sock *, struct socket *);\n\tint (*inet_conn_request)(const struct sock *, struct sk_buff *, struct request_sock *);\n\tvoid (*inet_csk_clone)(struct sock *, const struct request_sock *);\n\tvoid (*inet_conn_established)(struct sock *, struct sk_buff *);\n\tint (*secmark_relabel_packet)(u32);\n\tvoid (*secmark_refcount_inc)(void);\n\tvoid (*secmark_refcount_dec)(void);\n\tvoid (*req_classify_flow)(const struct request_sock *, struct flowi_common *);\n\tint (*tun_dev_alloc_security)(void *);\n\tint (*tun_dev_create)(void);\n\tint (*tun_dev_attach_queue)(void *);\n\tint (*tun_dev_attach)(struct sock *, void *);\n\tint (*tun_dev_open)(void *);\n\tint (*sctp_assoc_request)(struct sctp_association *, struct sk_buff *);\n\tint (*sctp_bind_connect)(struct sock *, int, struct sockaddr *, int);\n\tvoid (*sctp_sk_clone)(struct sctp_association *, struct sock *, struct sock *);\n\tint (*sctp_assoc_established)(struct sctp_association *, struct sk_buff *);\n\tint (*mptcp_add_subflow)(struct sock *, struct sock *);\n\tint (*key_alloc)(struct key *, const struct cred *, long unsigned int);\n\tint (*key_permission)(key_ref_t, const struct cred *, enum key_need_perm);\n\tint (*key_getsecurity)(struct key *, char **);\n\tvoid (*key_post_create_or_update)(struct key *, struct key *, const void *, size_t, long unsigned int, bool);\n\tint (*audit_rule_init)(u32, u32, char *, void **, gfp_t);\n\tint (*audit_rule_known)(struct audit_krule *);\n\tint (*audit_rule_match)(struct lsm_prop *, u32, u32, void *);\n\tvoid (*audit_rule_free)(void *);\n\tint (*bpf)(int, union bpf_attr *, unsigned int);\n\tint (*bpf_map)(struct bpf_map *, fmode_t);\n\tint (*bpf_prog)(struct bpf_prog *);\n\tint (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *);\n\tvoid (*bpf_map_free)(struct bpf_map *);\n\tint (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *);\n\tvoid (*bpf_prog_free)(struct bpf_prog *);\n\tint (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *);\n\tvoid (*bpf_token_free)(struct bpf_token *);\n\tint (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd);\n\tint (*bpf_token_capable)(const struct bpf_token *, int);\n\tint (*locked_down)(enum lockdown_reason);\n\tint (*perf_event_open)(struct perf_event_attr *, int);\n\tint (*perf_event_alloc)(struct perf_event *);\n\tint (*perf_event_read)(struct perf_event *);\n\tint (*perf_event_write)(struct perf_event *);\n\tint (*uring_override_creds)(const struct cred *);\n\tint (*uring_sqpoll)(void);\n\tint (*uring_cmd)(struct io_uring_cmd *);\n\tvoid (*initramfs_populated)(void);\n\tint (*bdev_alloc_security)(struct block_device *);\n\tvoid (*bdev_free_security)(struct block_device *);\n\tint (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t);\n\tvoid *lsm_func_addr;\n};\n\nstruct security_hook_list {\n\tstruct lsm_static_call *scalls;\n\tunion security_list_options hook;\n\tconst struct lsm_id *lsmid;\n};\n\nstruct seg6_pernet_data {\n\tstruct mutex lock;\n\tstruct in6_addr *tun_src;\n};\n\nstruct sel_netif {\n\tstruct list_head list;\n\tstruct netif_security_struct nsec;\n\tstruct callback_head callback_head;\n};\n\nstruct sel_netnode {\n\tstruct netnode_security_struct nsec;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct sel_netnode_bkt {\n\tunsigned int size;\n\tstruct list_head list;\n};\n\nstruct sel_netport {\n\tstruct netport_security_struct psec;\n\tstruct list_head list;\n\tstruct callback_head rcu;\n};\n\nstruct sel_netport_bkt {\n\tint size;\n\tstruct list_head list;\n};\n\nstruct select_data {\n\tstruct dentry *start;\n\tunion {\n\t\tlong int found;\n\t\tstruct dentry *victim;\n\t};\n\tstruct list_head dispose;\n};\n\nstruct selinux_audit_data {\n\tu32 ssid;\n\tu32 tsid;\n\tu16 tclass;\n\tu32 requested;\n\tu32 audited;\n\tu32 denied;\n\tint result;\n};\n\nstruct selinux_audit_rule {\n\tu32 au_seqno;\n\tstruct context au_ctxt;\n};\n\nstruct selinux_avc {\n\tunsigned int avc_cache_threshold;\n\tstruct avc_cache avc_cache;\n};\n\nstruct selinux_fs_info {\n\tstruct dentry *bool_dir;\n\tunsigned int bool_num;\n\tchar **bool_pending_names;\n\tint *bool_pending_values;\n\tstruct dentry *class_dir;\n\tlong unsigned int last_class_ino;\n\tbool policy_opened;\n\tstruct dentry *policycap_dir;\n\tlong unsigned int last_ino;\n\tstruct super_block *sb;\n};\n\nstruct selinux_kernel_status {\n\tu32 version;\n\tu32 sequence;\n\tu32 enforcing;\n\tu32 policyload;\n\tu32 deny_unknown;\n};\n\nstruct selinux_policy;\n\nstruct selinux_policy_convert_data;\n\nstruct selinux_load_state {\n\tstruct selinux_policy *policy;\n\tstruct selinux_policy_convert_data *convert_data;\n};\n\nstruct selinux_mapping;\n\nstruct selinux_map {\n\tstruct selinux_mapping *mapping;\n\tu16 size;\n};\n\nstruct selinux_mapping {\n\tu16 value;\n\tu16 num_perms;\n\tu32 perms[32];\n};\n\nstruct selinux_mnt_opts {\n\tu32 fscontext_sid;\n\tu32 context_sid;\n\tu32 rootcontext_sid;\n\tu32 defcontext_sid;\n};\n\nstruct sidtab;\n\nstruct selinux_policy {\n\tstruct sidtab *sidtab;\n\tstruct policydb policydb;\n\tstruct selinux_map map;\n\tu32 latest_granting;\n};\n\nstruct sidtab_convert_params {\n\tstruct convert_context_args *args;\n\tstruct sidtab *target;\n};\n\nstruct selinux_policy_convert_data {\n\tstruct convert_context_args args;\n\tstruct sidtab_convert_params sidtab_params;\n};\n\nstruct selinux_state {\n\tbool enforcing;\n\tbool initialized;\n\tbool policycap[10];\n\tstruct page *status_page;\n\tstruct mutex status_lock;\n\tstruct selinux_policy *policy;\n\tstruct mutex policy_mutex;\n};\n\nstruct selnl_msg_policyload {\n\t__u32 seqno;\n};\n\nstruct selnl_msg_setenforce {\n\t__s32 val;\n};\n\nstruct sem {\n\tint semval;\n\tstruct pid *sempid;\n\tspinlock_t lock;\n\tstruct list_head pending_alter;\n\tstruct list_head pending_const;\n\ttime64_t sem_otime;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sem_array {\n\tstruct kern_ipc_perm sem_perm;\n\ttime64_t sem_ctime;\n\tstruct list_head pending_alter;\n\tstruct list_head pending_const;\n\tstruct list_head list_id;\n\tint sem_nsems;\n\tint complex_count;\n\tunsigned int use_global_lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sem sems[0];\n};\n\nstruct sem_undo;\n\nstruct sem_queue {\n\tstruct list_head list;\n\tstruct task_struct *sleeper;\n\tstruct sem_undo *undo;\n\tstruct pid *pid;\n\tint status;\n\tstruct sembuf *sops;\n\tstruct sembuf *blocking;\n\tint nsops;\n\tbool alter;\n\tbool dupsop;\n};\n\nstruct sem_undo_list;\n\nstruct sem_undo {\n\tstruct list_head list_proc;\n\tstruct callback_head rcu;\n\tstruct sem_undo_list *ulp;\n\tstruct list_head list_id;\n\tint semid;\n\tshort int semadj[0];\n};\n\nstruct sem_undo_list {\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tstruct list_head list_proc;\n};\n\nstruct semaphore_waiter {\n\tstruct list_head list;\n\tstruct task_struct *task;\n\tbool up;\n};\n\nstruct sembuf {\n\tshort unsigned int sem_num;\n\tshort int sem_op;\n\tshort int sem_flg;\n};\n\nstruct semid64_ds {\n\tstruct ipc64_perm sem_perm;\n\tlong int sem_otime;\n\tlong int sem_ctime;\n\tlong unsigned int sem_nsems;\n\tlong unsigned int __unused3;\n\tlong unsigned int __unused4;\n};\n\nstruct semid_ds {\n\tstruct ipc_perm sem_perm;\n\t__kernel_old_time_t sem_otime;\n\t__kernel_old_time_t sem_ctime;\n\tstruct sem *sem_base;\n\tstruct sem_queue *sem_pending;\n\tstruct sem_queue **sem_pending_last;\n\tstruct sem_undo *undo;\n\tshort unsigned int sem_nsems;\n};\n\nstruct seminfo {\n\tint semmap;\n\tint semmni;\n\tint semmns;\n\tint semmnu;\n\tint semmsl;\n\tint semopm;\n\tint semume;\n\tint semusz;\n\tint semvmx;\n\tint semaem;\n};\n\nstruct virtnet_sq_stats {\n\tstruct u64_stats_sync syncp;\n\tu64_stats_t packets;\n\tu64_stats_t bytes;\n\tu64_stats_t xdp_tx;\n\tu64_stats_t xdp_tx_drops;\n\tu64_stats_t kicks;\n\tu64_stats_t tx_timeouts;\n\tu64_stats_t stop;\n\tu64_stats_t wake;\n};\n\nstruct send_queue {\n\tstruct virtqueue *vq;\n\tstruct scatterlist sg[19];\n\tchar name[16];\n\tstruct virtnet_sq_stats stats;\n\tstruct virtnet_interrupt_coalesce intr_coal;\n\tstruct napi_struct napi;\n\tbool reset;\n\tstruct xsk_buff_pool *xsk_pool;\n\tdma_addr_t xsk_hdr_dma_addr;\n};\n\nstruct send_signal_irq_work {\n\tstruct irq_work irq_work;\n\tstruct task_struct *task;\n\tu32 sig;\n\tenum pid_type type;\n\tbool has_siginfo;\n\tstruct kernel_siginfo info;\n};\n\nstruct sense_iu {\n\t__u8 iu_id;\n\t__u8 rsvd1;\n\t__be16 tag;\n\t__be16 status_qual;\n\t__u8 status;\n\t__u8 rsvd7[7];\n\t__be16 len;\n\t__u8 sense[96];\n};\n\nstruct seqDef_s {\n\tU32 offBase;\n\tU16 litLength;\n\tU16 mlBase;\n};\n\nstruct seq_operations {\n\tvoid * (*start)(struct seq_file *, loff_t *);\n\tvoid (*stop)(struct seq_file *, void *);\n\tvoid * (*next)(struct seq_file *, void *, loff_t *);\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct seqcount_rwlock {\n\tseqcount_t seqcount;\n};\n\ntypedef struct seqcount_rwlock seqcount_rwlock_t;\n\nstruct serial8250_config {\n\tconst char *name;\n\tshort unsigned int fifo_size;\n\tshort unsigned int tx_loadsz;\n\tunsigned char fcr;\n\tunsigned char rxtrig_bytes[4];\n\tunsigned int flags;\n};\n\nstruct serial_ctrl_device {\n\tstruct device dev;\n\tstruct ida port_ida;\n};\n\nstruct serial_icounter_struct {\n\tint cts;\n\tint dsr;\n\tint rng;\n\tint dcd;\n\tint rx;\n\tint tx;\n\tint frame;\n\tint overrun;\n\tint parity;\n\tint brk;\n\tint buf_overrun;\n\tint reserved[9];\n};\n\nstruct serial_port_device {\n\tstruct device dev;\n\tstruct uart_port *port;\n\tunsigned int tx_enabled: 1;\n};\n\nstruct serial_private {\n\tstruct pci_dev *dev;\n\tunsigned int nr;\n\tstruct pci_serial_quirk *quirk;\n\tconst struct pciserial_board *board;\n\tint line[0];\n};\n\nstruct serial_struct {\n\tint type;\n\tint line;\n\tunsigned int port;\n\tint irq;\n\tint flags;\n\tint xmit_fifo_size;\n\tint custom_divisor;\n\tint baud_base;\n\tshort unsigned int close_delay;\n\tchar io_type;\n\tchar reserved_char[1];\n\tint hub6;\n\tshort unsigned int closing_wait;\n\tshort unsigned int closing_wait2;\n\tunsigned char *iomem_base;\n\tshort unsigned int iomem_reg_shift;\n\tunsigned int port_high;\n\tlong unsigned int iomap_base;\n};\n\nstruct serial_struct32 {\n\tcompat_int_t type;\n\tcompat_int_t line;\n\tcompat_uint_t port;\n\tcompat_int_t irq;\n\tcompat_int_t flags;\n\tcompat_int_t xmit_fifo_size;\n\tcompat_int_t custom_divisor;\n\tcompat_int_t baud_base;\n\tshort unsigned int close_delay;\n\tchar io_type;\n\tchar reserved_char;\n\tcompat_int_t hub6;\n\tshort unsigned int closing_wait;\n\tshort unsigned int closing_wait2;\n\tcompat_uint_t iomem_base;\n\tshort unsigned int iomem_reg_shift;\n\tunsigned int port_high;\n\tcompat_int_t reserved;\n};\n\ntypedef struct serio *class_serio_pause_rx_t;\n\nstruct serio_device_id {\n\t__u8 type;\n\t__u8 extra;\n\t__u8 id;\n\t__u8 proto;\n};\n\nstruct serio_driver;\n\nstruct serio {\n\tvoid *port_data;\n\tchar name[32];\n\tchar phys[32];\n\tchar firmware_id[128];\n\tbool manual_bind;\n\tstruct serio_device_id id;\n\tspinlock_t lock;\n\tint (*write)(struct serio *, unsigned char);\n\tint (*open)(struct serio *);\n\tvoid (*close)(struct serio *);\n\tint (*start)(struct serio *);\n\tvoid (*stop)(struct serio *);\n\tstruct serio *parent;\n\tstruct list_head child_node;\n\tstruct list_head children;\n\tunsigned int depth;\n\tstruct serio_driver *drv;\n\tstruct mutex drv_mutex;\n\tstruct device dev;\n\tstruct list_head node;\n\tstruct mutex *ps2_cmd_mutex;\n};\n\nstruct serio_driver {\n\tconst char *description;\n\tconst struct serio_device_id *id_table;\n\tbool manual_bind;\n\tvoid (*write_wakeup)(struct serio *);\n\tirqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int);\n\tint (*connect)(struct serio *, struct serio_driver *);\n\tint (*reconnect)(struct serio *);\n\tint (*fast_reconnect)(struct serio *);\n\tvoid (*disconnect)(struct serio *);\n\tvoid (*cleanup)(struct serio *);\n\tstruct device_driver driver;\n};\n\nstruct serio_event {\n\tenum serio_event_type type;\n\tvoid *object;\n\tstruct module *owner;\n\tstruct list_head node;\n};\n\nstruct serport {\n\tstruct tty_struct *tty;\n\twait_queue_head_t wait;\n\tstruct serio *serio;\n\tstruct serio_device_id id;\n\tspinlock_t lock;\n\tlong unsigned int flags;\n};\n\nstruct set_affinity_pending {\n\trefcount_t refs;\n\tunsigned int stop_pending;\n\tstruct completion done;\n\tstruct cpu_stop_work stop_work;\n\tstruct migration_arg arg;\n};\n\nstruct set_config_request {\n\tstruct usb_device *udev;\n\tint config;\n\tstruct work_struct work;\n\tstruct list_head node;\n};\n\nstruct set_event_iter {\n\tenum set_event_iter_type type;\n\tunion {\n\t\tstruct trace_event_file *file;\n\t\tstruct event_mod_load *event_mod;\n\t};\n};\n\nstruct sfdp {\n\tsize_t num_dwords;\n\tu32 *dwords;\n};\n\nstruct sfdp_4bait {\n\tu32 hwcaps;\n\tu32 supported_bit;\n};\n\nstruct sfdp_bfpt {\n\tu32 dwords[20];\n};\n\nstruct sfdp_bfpt_erase {\n\tu32 dword;\n\tu32 shift;\n};\n\nstruct sfdp_bfpt_read {\n\tu32 hwcaps;\n\tu32 supported_dword;\n\tu32 supported_bit;\n\tu32 settings_dword;\n\tu32 settings_shift;\n\tenum spi_nor_protocol proto;\n};\n\nstruct sfdp_parameter_header {\n\tu8 id_lsb;\n\tu8 minor;\n\tu8 major;\n\tu8 length;\n\tu8 parameter_table_pointer[3];\n\tu8 id_msb;\n};\n\nstruct sfdp_header {\n\tu32 signature;\n\tu8 minor;\n\tu8 major;\n\tu8 nph;\n\tu8 unused;\n\tstruct sfdp_parameter_header bfpt_header;\n};\n\nstruct sfp_eeprom_base {\n\tu8 phys_id;\n\tu8 phys_ext_id;\n\tu8 connector;\n\tu8 if_1x_copper_passive: 1;\n\tu8 if_1x_copper_active: 1;\n\tu8 if_1x_lx: 1;\n\tu8 if_1x_sx: 1;\n\tu8 e10g_base_sr: 1;\n\tu8 e10g_base_lr: 1;\n\tu8 e10g_base_lrm: 1;\n\tu8 e10g_base_er: 1;\n\tu8 sonet_oc3_short_reach: 1;\n\tu8 sonet_oc3_smf_intermediate_reach: 1;\n\tu8 sonet_oc3_smf_long_reach: 1;\n\tu8 unallocated_5_3: 1;\n\tu8 sonet_oc12_short_reach: 1;\n\tu8 sonet_oc12_smf_intermediate_reach: 1;\n\tu8 sonet_oc12_smf_long_reach: 1;\n\tu8 unallocated_5_7: 1;\n\tu8 sonet_oc48_short_reach: 1;\n\tu8 sonet_oc48_intermediate_reach: 1;\n\tu8 sonet_oc48_long_reach: 1;\n\tu8 sonet_reach_bit2: 1;\n\tu8 sonet_reach_bit1: 1;\n\tu8 sonet_oc192_short_reach: 1;\n\tu8 escon_smf_1310_laser: 1;\n\tu8 escon_mmf_1310_led: 1;\n\tu8 e1000_base_sx: 1;\n\tu8 e1000_base_lx: 1;\n\tu8 e1000_base_cx: 1;\n\tu8 e1000_base_t: 1;\n\tu8 e100_base_lx: 1;\n\tu8 e100_base_fx: 1;\n\tu8 e_base_bx10: 1;\n\tu8 e_base_px: 1;\n\tu8 fc_tech_electrical_inter_enclosure: 1;\n\tu8 fc_tech_lc: 1;\n\tu8 fc_tech_sa: 1;\n\tu8 fc_ll_m: 1;\n\tu8 fc_ll_l: 1;\n\tu8 fc_ll_i: 1;\n\tu8 fc_ll_s: 1;\n\tu8 fc_ll_v: 1;\n\tu8 unallocated_8_0: 1;\n\tu8 unallocated_8_1: 1;\n\tu8 sfp_ct_passive: 1;\n\tu8 sfp_ct_active: 1;\n\tu8 fc_tech_ll: 1;\n\tu8 fc_tech_sl: 1;\n\tu8 fc_tech_sn: 1;\n\tu8 fc_tech_electrical_intra_enclosure: 1;\n\tu8 fc_media_sm: 1;\n\tu8 unallocated_9_1: 1;\n\tu8 fc_media_m5: 1;\n\tu8 fc_media_m6: 1;\n\tu8 fc_media_tv: 1;\n\tu8 fc_media_mi: 1;\n\tu8 fc_media_tp: 1;\n\tu8 fc_media_tw: 1;\n\tu8 fc_speed_100: 1;\n\tu8 unallocated_10_1: 1;\n\tu8 fc_speed_200: 1;\n\tu8 fc_speed_3200: 1;\n\tu8 fc_speed_400: 1;\n\tu8 fc_speed_1600: 1;\n\tu8 fc_speed_800: 1;\n\tu8 fc_speed_1200: 1;\n\tu8 encoding;\n\tu8 br_nominal;\n\tu8 rate_id;\n\tu8 link_len[6];\n\tchar vendor_name[16];\n\tu8 extended_cc;\n\tchar vendor_oui[3];\n\tchar vendor_pn[16];\n\tchar vendor_rev[4];\n\tunion {\n\t\t__be16 optical_wavelength;\n\t\t__be16 cable_compliance;\n\t\tstruct {\n\t\t\tu8 sff8431_app_e: 1;\n\t\t\tu8 fc_pi_4_app_h: 1;\n\t\t\tu8 reserved60_2: 6;\n\t\t\tu8 reserved61: 8;\n\t\t} passive;\n\t\tstruct {\n\t\t\tu8 sff8431_app_e: 1;\n\t\t\tu8 fc_pi_4_app_h: 1;\n\t\t\tu8 sff8431_lim: 1;\n\t\t\tu8 fc_pi_4_lim: 1;\n\t\t\tu8 reserved60_4: 4;\n\t\t\tu8 reserved61: 8;\n\t\t} active;\n\t};\n\tu8 reserved62;\n\tu8 cc_base;\n};\n\nstruct sfp_eeprom_ext {\n\t__be16 options;\n\tu8 br_max;\n\tu8 br_min;\n\tchar vendor_sn[16];\n\tchar datecode[8];\n\tu8 diagmon;\n\tu8 enhopts;\n\tu8 sff8472_compliance;\n\tu8 cc_ext;\n};\n\nstruct sfp_eeprom_id {\n\tstruct sfp_eeprom_base base;\n\tstruct sfp_eeprom_ext ext;\n};\n\nstruct sfp_upstream_ops {\n\tvoid (*attach)(void *, struct sfp_bus *);\n\tvoid (*detach)(void *, struct sfp_bus *);\n\tint (*module_insert)(void *, const struct sfp_eeprom_id *);\n\tvoid (*module_remove)(void *);\n\tint (*module_start)(void *);\n\tvoid (*module_stop)(void *);\n\tvoid (*link_down)(void *);\n\tvoid (*link_up)(void *);\n\tint (*connect_phy)(void *, struct phy_device *);\n\tvoid (*disconnect_phy)(void *, struct phy_device *);\n};\n\nstruct sg {\n\tstruct ext4_group_info info;\n\text4_grpblk_t counters[18];\n};\n\nstruct sg2042_clk_data {\n\tvoid *iobase;\n\tstruct clk_hw_onecell_data onecell_data;\n};\n\nstruct sg2042_divider_clock {\n\tstruct clk_hw hw;\n\tunsigned int id;\n\tvoid *reg;\n\tspinlock_t *lock;\n\tu32 offset_ctrl;\n\tu8 shift;\n\tu8 width;\n\tu8 div_flags;\n\tu32 initval;\n};\n\nstruct sg2042_gate_clock {\n\tstruct clk_hw hw;\n\tunsigned int id;\n\tu32 offset_enable;\n\tu8 bit_idx;\n};\n\nstruct sg2042_mux_clock {\n\tstruct clk_hw hw;\n\tunsigned int id;\n\tu32 offset_select;\n\tu8 shift;\n\tu8 width;\n\tstruct notifier_block clk_nb;\n\tu8 original_index;\n};\n\nstruct sg2042_pll_clock {\n\tstruct clk_hw hw;\n\tunsigned int id;\n\tvoid *base;\n\tspinlock_t *lock;\n\tu32 offset_ctrl;\n\tu8 shift_status_lock;\n\tu8 shift_status_updating;\n\tu8 shift_enable;\n};\n\nstruct sg2042_pll_ctrl {\n\tlong unsigned int freq;\n\tunsigned int fbdiv;\n\tunsigned int postdiv1;\n\tunsigned int postdiv2;\n\tunsigned int refdiv;\n};\n\nstruct sg2042_rpgate_clock {\n\tstruct clk_hw hw;\n\tunsigned int id;\n\tu32 offset_enable;\n\tu8 bit_idx;\n};\n\nstruct sg_append_table {\n\tstruct sg_table sgt;\n\tstruct scatterlist *prv;\n\tunsigned int total_nents;\n};\n\nstruct sg_dma_page_iter {\n\tstruct sg_page_iter base;\n};\n\nstruct sg_io_hdr {\n\tint interface_id;\n\tint dxfer_direction;\n\tunsigned char cmd_len;\n\tunsigned char mx_sb_len;\n\tshort unsigned int iovec_count;\n\tunsigned int dxfer_len;\n\tvoid *dxferp;\n\tunsigned char *cmdp;\n\tvoid *sbp;\n\tunsigned int timeout;\n\tunsigned int flags;\n\tint pack_id;\n\tvoid *usr_ptr;\n\tunsigned char status;\n\tunsigned char masked_status;\n\tunsigned char msg_status;\n\tunsigned char sb_len_wr;\n\tshort unsigned int host_status;\n\tshort unsigned int driver_status;\n\tint resid;\n\tunsigned int duration;\n\tunsigned int info;\n};\n\nstruct sg_io_v4 {\n\t__s32 guard;\n\t__u32 protocol;\n\t__u32 subprotocol;\n\t__u32 request_len;\n\t__u64 request;\n\t__u64 request_tag;\n\t__u32 request_attr;\n\t__u32 request_priority;\n\t__u32 request_extra;\n\t__u32 max_response_len;\n\t__u64 response;\n\t__u32 dout_iovec_count;\n\t__u32 dout_xfer_len;\n\t__u32 din_iovec_count;\n\t__u32 din_xfer_len;\n\t__u64 dout_xferp;\n\t__u64 din_xferp;\n\t__u32 timeout;\n\t__u32 flags;\n\t__u64 usr_ptr;\n\t__u32 spare_in;\n\t__u32 driver_status;\n\t__u32 transport_status;\n\t__u32 device_status;\n\t__u32 retry_delay;\n\t__u32 info;\n\t__u32 duration;\n\t__u32 response_len;\n\t__s32 din_resid;\n\t__s32 dout_resid;\n\t__u64 generated_tag;\n\t__u32 spare_out;\n\t__u32 padding;\n};\n\nstruct sg_list {\n\tunsigned int n;\n\tunsigned int size;\n\tsize_t len;\n\tstruct scatterlist *sg;\n};\n\nstruct sg_pool {\n\tsize_t size;\n\tchar *name;\n\tstruct kmem_cache *slab;\n\tmempool_t *pool;\n};\n\nstruct sha256_state {\n\tu32 state[8];\n\tu64 count;\n\tu8 buf[64];\n};\n\nstruct shared_policy {};\n\nstruct shash_desc;\n\nstruct shash_alg {\n\tint (*init)(struct shash_desc *);\n\tint (*update)(struct shash_desc *, const u8 *, unsigned int);\n\tint (*final)(struct shash_desc *, u8 *);\n\tint (*finup)(struct shash_desc *, const u8 *, unsigned int, u8 *);\n\tint (*digest)(struct shash_desc *, const u8 *, unsigned int, u8 *);\n\tint (*export)(struct shash_desc *, void *);\n\tint (*import)(struct shash_desc *, const void *);\n\tint (*setkey)(struct crypto_shash *, const u8 *, unsigned int);\n\tint (*init_tfm)(struct crypto_shash *);\n\tvoid (*exit_tfm)(struct crypto_shash *);\n\tint (*clone_tfm)(struct crypto_shash *, struct crypto_shash *);\n\tunsigned int descsize;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int digestsize;\n\t\t\tunsigned int statesize;\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct hash_alg_common halg;\n\t};\n};\n\nstruct shash_desc {\n\tstruct crypto_shash *tfm;\n\tvoid *__ctx[0];\n};\n\nstruct shash_instance {\n\tvoid (*free)(struct shash_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[104];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct shash_alg alg;\n\t};\n};\n\nstruct shm_file_data {\n\tint id;\n\tstruct ipc_namespace *ns;\n\tstruct file *file;\n\tconst struct vm_operations_struct *vm_ops;\n};\n\nstruct shm_info {\n\tint used_ids;\n\t__kernel_ulong_t shm_tot;\n\t__kernel_ulong_t shm_rss;\n\t__kernel_ulong_t shm_swp;\n\t__kernel_ulong_t swap_attempts;\n\t__kernel_ulong_t swap_successes;\n};\n\nstruct shmem_falloc {\n\twait_queue_head_t *waitq;\n\tlong unsigned int start;\n\tlong unsigned int next;\n\tlong unsigned int nr_falloced;\n\tlong unsigned int nr_unswapped;\n};\n\nstruct shmem_inode_info {\n\tspinlock_t lock;\n\tunsigned int seals;\n\tlong unsigned int flags;\n\tlong unsigned int alloced;\n\tlong unsigned int swapped;\n\tunion {\n\t\tstruct offset_ctx dir_offsets;\n\t\tstruct {\n\t\t\tstruct list_head shrinklist;\n\t\t\tstruct list_head swaplist;\n\t\t};\n\t};\n\tstruct timespec64 i_crtime;\n\tstruct shared_policy policy;\n\tstruct simple_xattrs xattrs;\n\tlong unsigned int fallocend;\n\tunsigned int fsflags;\n\tatomic_t stop_eviction;\n\tstruct inode vfs_inode;\n};\n\nstruct shmem_quota_limits {\n\tqsize_t usrquota_bhardlimit;\n\tqsize_t usrquota_ihardlimit;\n\tqsize_t grpquota_bhardlimit;\n\tqsize_t grpquota_ihardlimit;\n};\n\nstruct shmem_options {\n\tlong long unsigned int blocks;\n\tlong long unsigned int inodes;\n\tstruct mempolicy *mpol;\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tbool full_inums;\n\tint huge;\n\tint seen;\n\tbool noswap;\n\tshort unsigned int quota_types;\n\tstruct shmem_quota_limits qlimits;\n};\n\nstruct shmem_sb_info {\n\tlong unsigned int max_blocks;\n\tstruct percpu_counter used_blocks;\n\tlong unsigned int max_inodes;\n\tlong unsigned int free_ispace;\n\traw_spinlock_t stat_lock;\n\tumode_t mode;\n\tunsigned char huge;\n\tkuid_t uid;\n\tkgid_t gid;\n\tbool full_inums;\n\tbool noswap;\n\tino_t next_ino;\n\tino_t *ino_batch;\n\tstruct mempolicy *mpol;\n\tspinlock_t shrinklist_lock;\n\tstruct list_head shrinklist;\n\tlong unsigned int shrinklist_len;\n\tstruct shmem_quota_limits qlimits;\n};\n\nstruct shmid64_ds {\n\tstruct ipc64_perm shm_perm;\n\t__kernel_size_t shm_segsz;\n\tlong int shm_atime;\n\tlong int shm_dtime;\n\tlong int shm_ctime;\n\t__kernel_pid_t shm_cpid;\n\t__kernel_pid_t shm_lpid;\n\tlong unsigned int shm_nattch;\n\tlong unsigned int __unused4;\n\tlong unsigned int __unused5;\n};\n\nstruct shmid_ds {\n\tstruct ipc_perm shm_perm;\n\tint shm_segsz;\n\t__kernel_old_time_t shm_atime;\n\t__kernel_old_time_t shm_dtime;\n\t__kernel_old_time_t shm_ctime;\n\t__kernel_ipc_pid_t shm_cpid;\n\t__kernel_ipc_pid_t shm_lpid;\n\tshort unsigned int shm_nattch;\n\tshort unsigned int shm_unused;\n\tvoid *shm_unused2;\n\tvoid *shm_unused3;\n};\n\nstruct shmid_kernel {\n\tstruct kern_ipc_perm shm_perm;\n\tstruct file *shm_file;\n\tlong unsigned int shm_nattch;\n\tlong unsigned int shm_segsz;\n\ttime64_t shm_atim;\n\ttime64_t shm_dtim;\n\ttime64_t shm_ctim;\n\tstruct pid *shm_cprid;\n\tstruct pid *shm_lprid;\n\tstruct ucounts *mlock_ucounts;\n\tstruct task_struct *shm_creator;\n\tstruct list_head shm_clist;\n\tstruct ipc_namespace *ns;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct shminfo {\n\tint shmmax;\n\tint shmmin;\n\tint shmmni;\n\tint shmseg;\n\tint shmall;\n};\n\nstruct shminfo64 {\n\tlong unsigned int shmmax;\n\tlong unsigned int shmmin;\n\tlong unsigned int shmmni;\n\tlong unsigned int shmseg;\n\tlong unsigned int shmall;\n\tlong unsigned int __unused1;\n\tlong unsigned int __unused2;\n\tlong unsigned int __unused3;\n\tlong unsigned int __unused4;\n};\n\nstruct shortname_info {\n\tunsigned char lower: 1;\n\tunsigned char upper: 1;\n\tunsigned char valid: 1;\n};\n\nstruct show_busy_params {\n\tstruct seq_file *m;\n\tstruct blk_mq_hw_ctx *hctx;\n};\n\nstruct shrink_control {\n\tgfp_t gfp_mask;\n\tint nid;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int nr_scanned;\n\tstruct mem_cgroup *memcg;\n};\n\nstruct shrinker {\n\tlong unsigned int (*count_objects)(struct shrinker *, struct shrink_control *);\n\tlong unsigned int (*scan_objects)(struct shrinker *, struct shrink_control *);\n\tlong int batch;\n\tint seeks;\n\tunsigned int flags;\n\trefcount_t refcount;\n\tstruct completion done;\n\tstruct callback_head rcu;\n\tvoid *private_data;\n\tstruct list_head list;\n\tint id;\n\tatomic_long_t *nr_deferred;\n};\n\nstruct shrinker_info_unit;\n\nstruct shrinker_info {\n\tstruct callback_head rcu;\n\tint map_nr_max;\n\tstruct shrinker_info_unit *unit[0];\n};\n\nstruct shrinker_info_unit {\n\tatomic_long_t nr_deferred[64];\n\tlong unsigned int map[1];\n};\n\nstruct sidtab_node_inner;\n\nstruct sidtab_node_leaf;\n\nunion sidtab_entry_inner {\n\tstruct sidtab_node_inner *ptr_inner;\n\tstruct sidtab_node_leaf *ptr_leaf;\n};\n\nstruct sidtab_str_cache;\n\nstruct sidtab_entry {\n\tu32 sid;\n\tu32 hash;\n\tstruct context context;\n\tstruct sidtab_str_cache *cache;\n\tstruct hlist_node list;\n};\n\nstruct sidtab_isid_entry {\n\tint set;\n\tstruct sidtab_entry entry;\n};\n\nstruct sidtab {\n\tunion sidtab_entry_inner roots[4];\n\tu32 count;\n\tstruct sidtab_convert_params *convert;\n\tbool frozen;\n\tspinlock_t lock;\n\tu32 cache_free_slots;\n\tstruct list_head cache_lru_list;\n\tspinlock_t cache_lock;\n\tstruct sidtab_isid_entry isids[27];\n\tstruct hlist_head context_to_sid[512];\n};\n\nstruct sidtab_node_inner {\n\tunion sidtab_entry_inner entries[512];\n};\n\nstruct sidtab_node_leaf {\n\tstruct sidtab_entry entries[39];\n};\n\nstruct sidtab_str_cache {\n\tstruct callback_head rcu_member;\n\tstruct list_head lru_member;\n\tstruct sidtab_entry *parent;\n\tu32 len;\n\tchar str[0];\n};\n\nstruct sifive_fu540_macb_mgmt {\n\tvoid *reg;\n\tlong unsigned int rate;\n\tstruct clk_hw hw;\n};\n\nstruct sifive_gpio {\n\tvoid *base;\n\tstruct gpio_chip gc;\n\tstruct regmap *regs;\n\tlong unsigned int irq_state;\n\tunsigned int trigger[32];\n\tunsigned int irq_number[32];\n};\n\nstruct sifive_serial_port {\n\tstruct uart_port port;\n\tstruct device *dev;\n\tunsigned char ier;\n\tlong unsigned int baud_rate;\n\tstruct clk *clk;\n\tstruct notifier_block clk_notifier;\n};\n\nstruct sifive_spi {\n\tvoid *regs;\n\tstruct clk *clk;\n\tunsigned int fifo_depth;\n\tu32 cs_inactive;\n\tstruct completion done;\n};\n\nstruct sig_alg {\n\tint (*sign)(struct crypto_sig *, const void *, unsigned int, void *, unsigned int);\n\tint (*verify)(struct crypto_sig *, const void *, unsigned int, const void *, unsigned int);\n\tint (*set_pub_key)(struct crypto_sig *, const void *, unsigned int);\n\tint (*set_priv_key)(struct crypto_sig *, const void *, unsigned int);\n\tunsigned int (*key_size)(struct crypto_sig *);\n\tunsigned int (*digest_size)(struct crypto_sig *);\n\tunsigned int (*max_size)(struct crypto_sig *);\n\tint (*init)(struct crypto_sig *);\n\tvoid (*exit)(struct crypto_sig *);\n\tstruct crypto_alg base;\n};\n\nstruct sig_instance {\n\tvoid (*free)(struct sig_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[72];\n\t\t\tstruct crypto_instance base;\n\t\t};\n\t\tstruct sig_alg alg;\n\t};\n};\n\ntypedef struct sigevent sigevent_t;\n\nstruct sighand_struct {\n\tspinlock_t siglock;\n\trefcount_t count;\n\twait_queue_head_t signalfd_wqh;\n\tstruct k_sigaction action[64];\n};\n\nstruct sigpending {\n\tstruct list_head list;\n\tsigset_t signal;\n};\n\nstruct task_cputime_atomic {\n\tatomic64_t utime;\n\tatomic64_t stime;\n\tatomic64_t sum_exec_runtime;\n};\n\nstruct thread_group_cputimer {\n\tstruct task_cputime_atomic cputime_atomic;\n};\n\nstruct task_io_accounting {};\n\nstruct tty_audit_buf;\n\nstruct signal_struct {\n\trefcount_t sigcnt;\n\tatomic_t live;\n\tint nr_threads;\n\tint quick_threads;\n\tstruct list_head thread_head;\n\twait_queue_head_t wait_chldexit;\n\tstruct task_struct *curr_target;\n\tstruct sigpending shared_pending;\n\tstruct hlist_head multiprocess;\n\tint group_exit_code;\n\tint notify_count;\n\tstruct task_struct *group_exec_task;\n\tint group_stop_count;\n\tunsigned int flags;\n\tstruct core_state *core_state;\n\tunsigned int is_child_subreaper: 1;\n\tunsigned int has_child_subreaper: 1;\n\tunsigned int next_posix_timer_id;\n\tstruct hlist_head posix_timers;\n\tstruct hlist_head ignored_posix_timers;\n\tstruct hrtimer real_timer;\n\tktime_t it_real_incr;\n\tstruct cpu_itimer it[2];\n\tstruct thread_group_cputimer cputimer;\n\tstruct posix_cputimers posix_cputimers;\n\tstruct pid *pids[4];\n\tstruct pid *tty_old_pgrp;\n\tint leader;\n\tstruct tty_struct *tty;\n\tseqlock_t stats_lock;\n\tu64 utime;\n\tu64 stime;\n\tu64 cutime;\n\tu64 cstime;\n\tu64 gtime;\n\tu64 cgtime;\n\tstruct prev_cputime prev_cputime;\n\tlong unsigned int nvcsw;\n\tlong unsigned int nivcsw;\n\tlong unsigned int cnvcsw;\n\tlong unsigned int cnivcsw;\n\tlong unsigned int min_flt;\n\tlong unsigned int maj_flt;\n\tlong unsigned int cmin_flt;\n\tlong unsigned int cmaj_flt;\n\tlong unsigned int inblock;\n\tlong unsigned int oublock;\n\tlong unsigned int cinblock;\n\tlong unsigned int coublock;\n\tlong unsigned int maxrss;\n\tlong unsigned int cmaxrss;\n\tstruct task_io_accounting ioac;\n\tlong long unsigned int sum_sched_runtime;\n\tstruct rlimit rlim[16];\n\tunsigned int audit_tty;\n\tstruct tty_audit_buf *tty_audit_buf;\n\tbool oom_flag_origin;\n\tshort int oom_score_adj;\n\tshort int oom_score_adj_min;\n\tstruct mm_struct *oom_mm;\n\tstruct mutex cred_guard_mutex;\n\tstruct rw_semaphore exec_update_lock;\n};\n\nstruct signalfd_ctx {\n\tsigset_t sigmask;\n};\n\nstruct signalfd_siginfo {\n\t__u32 ssi_signo;\n\t__s32 ssi_errno;\n\t__s32 ssi_code;\n\t__u32 ssi_pid;\n\t__u32 ssi_uid;\n\t__s32 ssi_fd;\n\t__u32 ssi_tid;\n\t__u32 ssi_band;\n\t__u32 ssi_overrun;\n\t__u32 ssi_trapno;\n\t__s32 ssi_status;\n\t__s32 ssi_int;\n\t__u64 ssi_ptr;\n\t__u64 ssi_utime;\n\t__u64 ssi_stime;\n\t__u64 ssi_addr;\n\t__u16 ssi_addr_lsb;\n\t__u16 __pad2;\n\t__s32 ssi_syscall;\n\t__u64 ssi_call_addr;\n\t__u32 ssi_arch;\n\t__u8 __pad[28];\n};\n\nstruct sigset_argpack {\n\tsigset_t *p;\n\tsize_t size;\n};\n\nstruct simple_attr {\n\tint (*get)(void *, u64 *);\n\tint (*set)(void *, u64);\n\tchar get_buf[24];\n\tchar set_buf[24];\n\tvoid *data;\n\tconst char *fmt;\n\tstruct mutex mutex;\n};\n\nstruct simple_pm_bus {\n\tstruct clk_bulk_data *clks;\n\tint num_clks;\n};\n\nstruct simple_transaction_argresp {\n\tssize_t size;\n\tchar data[0];\n};\n\nstruct simple_xattr {\n\tstruct rb_node rb_node;\n\tchar *name;\n\tsize_t size;\n\tchar value[0];\n};\n\nstruct sit_net {\n\tstruct ip_tunnel *tunnels_r_l[16];\n\tstruct ip_tunnel *tunnels_r[16];\n\tstruct ip_tunnel *tunnels_l[16];\n\tstruct ip_tunnel *tunnels_wc[1];\n\tstruct ip_tunnel **tunnels[4];\n\tstruct net_device *fb_tunnel_dev;\n};\n\nstruct sk_buff__safe_rcu_or_null {\n\tstruct sock *sk;\n};\n\nstruct sk_buff_fclones {\n\tstruct sk_buff skb1;\n\tstruct sk_buff skb2;\n\trefcount_t fclone_ref;\n};\n\nstruct sk_filter {\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tstruct bpf_prog *prog;\n};\n\nstruct sk_psock_work_state {\n\tu32 len;\n\tu32 off;\n};\n\nstruct sk_psock {\n\tstruct sock *sk;\n\tstruct sock *sk_redir;\n\tu32 apply_bytes;\n\tu32 cork_bytes;\n\tu32 eval;\n\tbool redir_ingress;\n\tstruct sk_msg *cork;\n\tstruct sk_psock_progs progs;\n\tstruct sk_buff_head ingress_skb;\n\tstruct list_head ingress_msg;\n\tspinlock_t ingress_lock;\n\tlong unsigned int state;\n\tstruct list_head link;\n\tspinlock_t link_lock;\n\trefcount_t refcnt;\n\tvoid (*saved_unhash)(struct sock *);\n\tvoid (*saved_destroy)(struct sock *);\n\tvoid (*saved_close)(struct sock *, long int);\n\tvoid (*saved_write_space)(struct sock *);\n\tvoid (*saved_data_ready)(struct sock *);\n\tint (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);\n\tstruct proto *sk_proto;\n\tstruct mutex work_mutex;\n\tstruct sk_psock_work_state work_state;\n\tstruct delayed_work work;\n\tstruct sock *sk_pair;\n\tstruct rcu_work rwork;\n};\n\nstruct sk_psock_link {\n\tstruct list_head list;\n\tstruct bpf_map *map;\n\tvoid *link_raw;\n};\n\nstruct sk_security_struct {\n\tu32 sid;\n\tu32 peer_sid;\n\tu16 sclass;\n\tenum {\n\t\tSCTP_ASSOC_UNSET = 0,\n\t\tSCTP_ASSOC_SET = 1,\n\t} sctp_assoc_state;\n};\n\nstruct tls_msg {\n\tu8 control;\n};\n\nstruct sk_skb_cb {\n\tunsigned char data[20];\n\tunsigned char pad[4];\n\tstruct _strp_msg strp;\n\tstruct tls_msg tls;\n\tu64 temp_reg;\n};\n\nstruct skb_checksum_ops {\n\t__wsum (*update)(const void *, int, __wsum);\n\t__wsum (*combine)(__wsum, __wsum, int, int);\n};\n\nstruct skb_ext {\n\trefcount_t refcnt;\n\tu8 offset[2];\n\tu8 chunks;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct skb_frag {\n\tnetmem_ref netmem;\n\tunsigned int len;\n\tunsigned int offset;\n};\n\ntypedef struct skb_frag skb_frag_t;\n\nstruct skb_free_array {\n\tunsigned int skb_count;\n\tvoid *skb_array[16];\n};\n\nstruct skb_gso_cb {\n\tunion {\n\t\tint mac_offset;\n\t\tint data_offset;\n\t};\n\tint encap_level;\n\t__wsum csum;\n\t__u16 csum_start;\n};\n\nstruct skb_seq_state {\n\t__u32 lower_offset;\n\t__u32 upper_offset;\n\t__u32 frag_idx;\n\t__u32 stepped_offset;\n\tstruct sk_buff *root_skb;\n\tstruct sk_buff *cur_skb;\n\t__u8 *frag_data;\n\t__u32 frag_off;\n};\n\nstruct skb_shared_hwtstamps {\n\tunion {\n\t\tktime_t hwtstamp;\n\t\tvoid *netdev_data;\n\t};\n};\n\nstruct xsk_tx_metadata_compl {\n\t__u64 *tx_timestamp;\n};\n\nstruct skb_shared_info {\n\t__u8 flags;\n\t__u8 meta_len;\n\t__u8 nr_frags;\n\t__u8 tx_flags;\n\tshort unsigned int gso_size;\n\tshort unsigned int gso_segs;\n\tstruct sk_buff *frag_list;\n\tunion {\n\t\tstruct skb_shared_hwtstamps hwtstamps;\n\t\tstruct xsk_tx_metadata_compl xsk_meta;\n\t};\n\tunsigned int gso_type;\n\tu32 tskey;\n\tatomic_t dataref;\n\tunion {\n\t\tstruct {\n\t\t\tu32 xdp_frags_size;\n\t\t\tu32 xdp_frags_truesize;\n\t\t};\n\t\tvoid *destructor_arg;\n\t};\n\tskb_frag_t frags[17];\n};\n\nstruct skcipher_alg {\n\tint (*setkey)(struct crypto_skcipher *, const u8 *, unsigned int);\n\tint (*encrypt)(struct skcipher_request *);\n\tint (*decrypt)(struct skcipher_request *);\n\tint (*export)(struct skcipher_request *, void *);\n\tint (*import)(struct skcipher_request *, const void *);\n\tint (*init)(struct crypto_skcipher *);\n\tvoid (*exit)(struct crypto_skcipher *);\n\tunsigned int walksize;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int min_keysize;\n\t\t\tunsigned int max_keysize;\n\t\t\tunsigned int ivsize;\n\t\t\tunsigned int chunksize;\n\t\t\tunsigned int statesize;\n\t\t\tstruct crypto_alg base;\n\t\t};\n\t\tstruct skcipher_alg_common co;\n\t};\n};\n\nstruct skcipher_ctx_simple {\n\tstruct crypto_cipher *cipher;\n};\n\nstruct skcipher_engine_alg {\n\tstruct skcipher_alg base;\n\tstruct crypto_engine_op op;\n};\n\nstruct skcipher_instance {\n\tvoid (*free)(struct skcipher_instance *);\n\tunion {\n\t\tstruct {\n\t\t\tchar head[88];\n\t\t\tstruct crypto_instance base;\n\t\t} s;\n\t\tstruct skcipher_alg alg;\n\t};\n};\n\nstruct skcipher_walk {\n\tunion {\n\t\tstruct {\n\t\t\tvoid *addr;\n\t\t} virt;\n\t} src;\n\tunion {\n\t\tstruct {\n\t\t\tvoid *addr;\n\t\t} virt;\n\t} dst;\n\tstruct scatter_walk in;\n\tunsigned int nbytes;\n\tstruct scatter_walk out;\n\tunsigned int total;\n\tu8 *page;\n\tu8 *buffer;\n\tu8 *oiv;\n\tvoid *iv;\n\tunsigned int ivsize;\n\tint flags;\n\tunsigned int blocksize;\n\tunsigned int stride;\n\tunsigned int alignmask;\n};\n\nstruct slab {\n\tlong unsigned int __page_flags;\n\tstruct kmem_cache *slab_cache;\n\tunion {\n\t\tstruct {\n\t\t\tunion {\n\t\t\t\tstruct list_head slab_list;\n\t\t\t\tstruct {\n\t\t\t\t\tstruct slab *next;\n\t\t\t\t\tint slabs;\n\t\t\t\t};\n\t\t\t};\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tvoid *freelist;\n\t\t\t\t\tunion {\n\t\t\t\t\t\tlong unsigned int counters;\n\t\t\t\t\t\tstruct {\n\t\t\t\t\t\t\tunsigned int inuse: 16;\n\t\t\t\t\t\t\tunsigned int objects: 15;\n\t\t\t\t\t\t\tunsigned int frozen: 1;\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t};\n\t\tstruct callback_head callback_head;\n\t};\n\tunsigned int __page_type;\n\tatomic_t __page_refcount;\n\tlong unsigned int obj_exts;\n};\n\nstruct slab_attribute {\n\tstruct attribute attr;\n\tssize_t (*show)(struct kmem_cache *, char *);\n\tssize_t (*store)(struct kmem_cache *, const char *, size_t);\n};\n\nstruct slabinfo {\n\tlong unsigned int active_objs;\n\tlong unsigned int num_objs;\n\tlong unsigned int active_slabs;\n\tlong unsigned int num_slabs;\n\tlong unsigned int shared_avail;\n\tunsigned int limit;\n\tunsigned int batchcount;\n\tunsigned int shared;\n\tunsigned int objects_per_slab;\n\tunsigned int cache_order;\n};\n\nstruct slabobj_ext {\n\tstruct obj_cgroup *objcg;\n};\n\nstruct slub_flush_work {\n\tstruct work_struct work;\n\tstruct kmem_cache *s;\n\tbool skip;\n};\n\nstruct smp_call_on_cpu_struct {\n\tstruct work_struct work;\n\tstruct completion done;\n\tint (*func)(void *);\n\tvoid *data;\n\tint ret;\n\tint cpu;\n};\n\nstruct smp_hotplug_thread {\n\tstruct task_struct **store;\n\tstruct list_head list;\n\tint (*thread_should_run)(unsigned int);\n\tvoid (*thread_fn)(unsigned int);\n\tvoid (*create)(unsigned int);\n\tvoid (*setup)(unsigned int);\n\tvoid (*cleanup)(unsigned int, bool);\n\tvoid (*park)(unsigned int);\n\tvoid (*unpark)(unsigned int);\n\tbool selfparking;\n\tconst char *thread_comm;\n};\n\nstruct smpboot_thread_data {\n\tunsigned int cpu;\n\tunsigned int status;\n\tstruct smp_hotplug_thread *ht;\n};\n\nstruct snd_aes_iec958 {\n\tunsigned char status[24];\n\tunsigned char subcode[147];\n\tunsigned char pad;\n\tunsigned char dig_subframe[4];\n};\n\nstruct snd_shutdown_f_ops;\n\nstruct snd_info_entry;\n\nstruct snd_card {\n\tint number;\n\tchar id[16];\n\tchar driver[16];\n\tchar shortname[32];\n\tchar longname[80];\n\tchar irq_descr[32];\n\tchar mixername[80];\n\tchar components[128];\n\tstruct module *module;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_card *);\n\tstruct list_head devices;\n\tstruct device *ctl_dev;\n\tunsigned int last_numid;\n\tstruct rw_semaphore controls_rwsem;\n\trwlock_t controls_rwlock;\n\tint controls_count;\n\tsize_t user_ctl_alloc_size;\n\tstruct list_head controls;\n\tstruct list_head ctl_files;\n\tstruct xarray ctl_numids;\n\tstruct xarray ctl_hash;\n\tbool ctl_hash_collision;\n\tstruct snd_info_entry *proc_root;\n\tstruct proc_dir_entry *proc_root_link;\n\tstruct list_head files_list;\n\tstruct snd_shutdown_f_ops *s_f_ops;\n\tspinlock_t files_lock;\n\tint shutdown;\n\tstruct completion *release_completion;\n\tstruct device *dev;\n\tstruct device card_dev;\n\tconst struct attribute_group *dev_groups[4];\n\tbool registered;\n\tbool managed;\n\tbool releasing;\n\tint sync_irq;\n\twait_queue_head_t remove_sleep;\n\tsize_t total_pcm_alloc_bytes;\n\tstruct mutex memory_mutex;\n\tunsigned int power_state;\n\tatomic_t power_ref;\n\twait_queue_head_t power_sleep;\n\twait_queue_head_t power_ref_sleep;\n};\n\nstruct snd_enc_wma {\n\t__u32 super_block_align;\n};\n\nstruct snd_enc_vorbis {\n\t__s32 quality;\n\t__u32 managed;\n\t__u32 max_bit_rate;\n\t__u32 min_bit_rate;\n\t__u32 downmix;\n};\n\nstruct snd_enc_real {\n\t__u32 quant_bits;\n\t__u32 start_region;\n\t__u32 num_regions;\n};\n\nstruct snd_enc_flac {\n\t__u32 num;\n\t__u32 gain;\n};\n\nstruct snd_enc_generic {\n\t__u32 bw;\n\t__s32 reserved[15];\n};\n\nstruct snd_dec_flac {\n\t__u16 sample_size;\n\t__u16 min_blk_size;\n\t__u16 max_blk_size;\n\t__u16 min_frame_size;\n\t__u16 max_frame_size;\n\t__u16 reserved;\n};\n\nstruct snd_dec_wma {\n\t__u32 encoder_option;\n\t__u32 adv_encoder_option;\n\t__u32 adv_encoder_option2;\n\t__u32 reserved;\n};\n\nstruct snd_dec_alac {\n\t__u32 frame_length;\n\t__u8 compatible_version;\n\t__u8 pb;\n\t__u8 mb;\n\t__u8 kb;\n\t__u32 max_run;\n\t__u32 max_frame_bytes;\n};\n\nstruct snd_dec_ape {\n\t__u16 compatible_version;\n\t__u16 compression_level;\n\t__u32 format_flags;\n\t__u32 blocks_per_frame;\n\t__u32 final_frame_blocks;\n\t__u32 total_frames;\n\t__u32 seek_table_present;\n};\n\nunion snd_codec_options {\n\tstruct snd_enc_wma wma;\n\tstruct snd_enc_vorbis vorbis;\n\tstruct snd_enc_real real;\n\tstruct snd_enc_flac flac;\n\tstruct snd_enc_generic generic;\n\tstruct snd_dec_flac flac_d;\n\tstruct snd_dec_wma wma_d;\n\tstruct snd_dec_alac alac_d;\n\tstruct snd_dec_ape ape_d;\n\tstruct {\n\t\t__u32 out_sample_rate;\n\t} src_d;\n};\n\nstruct snd_codec {\n\t__u32 id;\n\t__u32 ch_in;\n\t__u32 ch_out;\n\t__u32 sample_rate;\n\t__u32 bit_rate;\n\t__u32 rate_control;\n\t__u32 profile;\n\t__u32 level;\n\t__u32 ch_mode;\n\t__u32 format;\n\t__u32 align;\n\tunion snd_codec_options options;\n\t__u32 pcm_format;\n\t__u32 reserved[2];\n};\n\nstruct snd_codec_desc_src {\n\t__u32 out_sample_rate_min;\n\t__u32 out_sample_rate_max;\n};\n\nstruct snd_codec_desc {\n\t__u32 max_ch;\n\t__u32 sample_rates[32];\n\t__u32 num_sample_rates;\n\t__u32 bit_rate[32];\n\t__u32 num_bitrates;\n\t__u32 rate_control;\n\t__u32 profiles;\n\t__u32 modes;\n\t__u32 formats;\n\t__u32 min_buffer;\n\t__u32 pcm_formats;\n\tunion {\n\t\t__u32 u_space[6];\n\t\tstruct snd_codec_desc_src src;\n\t};\n\t__u32 reserved[8];\n};\n\nstruct snd_compr_ops;\n\nstruct snd_compr {\n\tconst char *name;\n\tstruct device *dev;\n\tstruct snd_compr_ops *ops;\n\tvoid *private_data;\n\tstruct snd_card *card;\n\tunsigned int direction;\n\tstruct mutex lock;\n\tint device;\n\tbool use_pause_in_draining;\n\tchar id[64];\n\tstruct snd_info_entry *proc_root;\n\tstruct snd_info_entry *proc_info_entry;\n};\n\nstruct snd_compr_caps {\n\t__u32 num_codecs;\n\t__u32 direction;\n\t__u32 min_fragment_size;\n\t__u32 max_fragment_size;\n\t__u32 min_fragments;\n\t__u32 max_fragments;\n\t__u32 codecs[32];\n\t__u32 reserved[11];\n};\n\nstruct snd_compr_codec_caps {\n\t__u32 codec;\n\t__u32 num_descriptors;\n\tstruct snd_codec_desc descriptor[32];\n};\n\nstruct snd_compr_metadata {\n\t__u32 key;\n\t__u32 value[8];\n};\n\nstruct snd_compr_params;\n\nstruct snd_compr_tstamp;\n\nstruct snd_compr_ops {\n\tint (*open)(struct snd_compr_stream *);\n\tint (*free)(struct snd_compr_stream *);\n\tint (*set_params)(struct snd_compr_stream *, struct snd_compr_params *);\n\tint (*get_params)(struct snd_compr_stream *, struct snd_codec *);\n\tint (*set_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*get_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*trigger)(struct snd_compr_stream *, int);\n\tint (*pointer)(struct snd_compr_stream *, struct snd_compr_tstamp *);\n\tint (*copy)(struct snd_compr_stream *, char *, size_t);\n\tint (*mmap)(struct snd_compr_stream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_compr_stream *, size_t);\n\tint (*get_caps)(struct snd_compr_stream *, struct snd_compr_caps *);\n\tint (*get_codec_caps)(struct snd_compr_stream *, struct snd_compr_codec_caps *);\n};\n\nstruct snd_compressed_buffer {\n\t__u32 fragment_size;\n\t__u32 fragments;\n};\n\nstruct snd_compr_params {\n\tstruct snd_compressed_buffer buffer;\n\tstruct snd_codec codec;\n\t__u8 no_wake_mode;\n};\n\nstruct snd_dma_buffer;\n\nstruct snd_compr_runtime {\n\tsnd_pcm_state_t state;\n\tstruct snd_compr_ops *ops;\n\tvoid *buffer;\n\tu64 buffer_size;\n\tu32 fragment_size;\n\tu32 fragments;\n\tu64 total_bytes_available;\n\tu64 total_bytes_transferred;\n\twait_queue_head_t sleep;\n\tvoid *private_data;\n\tunsigned char *dma_area;\n\tdma_addr_t dma_addr;\n\tsize_t dma_bytes;\n\tstruct snd_dma_buffer *dma_buffer_p;\n};\n\nstruct snd_dma_device {\n\tint type;\n\tenum dma_data_direction dir;\n\tbool need_sync;\n\tstruct device *dev;\n};\n\nstruct snd_dma_buffer {\n\tstruct snd_dma_device dev;\n\tunsigned char *area;\n\tdma_addr_t addr;\n\tsize_t bytes;\n\tvoid *private_data;\n};\n\nstruct snd_compr_stream {\n\tconst char *name;\n\tstruct snd_compr_ops *ops;\n\tstruct snd_compr_runtime *runtime;\n\tstruct snd_compr *device;\n\tstruct delayed_work error_work;\n\tenum snd_compr_direction direction;\n\tbool metadata_set;\n\tbool next_track;\n\tbool partial_drain;\n\tbool pause_in_draining;\n\tvoid *private_data;\n\tstruct snd_dma_buffer dma_buffer;\n};\n\nstruct snd_compr_tstamp {\n\t__u32 byte_offset;\n\t__u32 copied_total;\n\t__u32 pcm_frames;\n\t__u32 pcm_io_frames;\n\t__u32 sampling_rate;\n};\n\nstruct snd_compress_ops {\n\tint (*open)(struct snd_soc_component *, struct snd_compr_stream *);\n\tint (*free)(struct snd_soc_component *, struct snd_compr_stream *);\n\tint (*set_params)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_params *);\n\tint (*get_params)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_codec *);\n\tint (*set_metadata)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*get_metadata)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_metadata *);\n\tint (*trigger)(struct snd_soc_component *, struct snd_compr_stream *, int);\n\tint (*pointer)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_tstamp *);\n\tint (*copy)(struct snd_soc_component *, struct snd_compr_stream *, char *, size_t);\n\tint (*mmap)(struct snd_soc_component *, struct snd_compr_stream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_soc_component *, struct snd_compr_stream *, size_t);\n\tint (*get_caps)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_caps *);\n\tint (*get_codec_caps)(struct snd_soc_component *, struct snd_compr_stream *, struct snd_compr_codec_caps *);\n};\n\nstruct snd_ctl_card_info {\n\tint card;\n\tint pad;\n\tunsigned char id[16];\n\tunsigned char driver[16];\n\tunsigned char name[32];\n\tunsigned char longname[80];\n\tunsigned char reserved_[16];\n\tunsigned char mixername[80];\n\tunsigned char components[128];\n};\n\nstruct snd_ctl_elem_id {\n\tunsigned int numid;\n\tsnd_ctl_elem_iface_t iface;\n\tunsigned int device;\n\tunsigned int subdevice;\n\tunsigned char name[44];\n\tunsigned int index;\n};\n\nstruct snd_ctl_elem_info {\n\tstruct snd_ctl_elem_id id;\n\tsnd_ctl_elem_type_t type;\n\tunsigned int access;\n\tunsigned int count;\n\t__kernel_pid_t owner;\n\tunion {\n\t\tstruct {\n\t\t\tlong int min;\n\t\t\tlong int max;\n\t\t\tlong int step;\n\t\t} integer;\n\t\tstruct {\n\t\t\tlong long int min;\n\t\t\tlong long int max;\n\t\t\tlong long int step;\n\t\t} integer64;\n\t\tstruct {\n\t\t\tunsigned int items;\n\t\t\tunsigned int item;\n\t\t\tchar name[64];\n\t\t\t__u64 names_ptr;\n\t\t\tunsigned int names_length;\n\t\t} enumerated;\n\t\tunsigned char reserved[128];\n\t} value;\n\tunsigned char reserved[64];\n};\n\nstruct snd_ctl_elem_info32 {\n\tstruct snd_ctl_elem_id id;\n\ts32 type;\n\tu32 access;\n\tu32 count;\n\ts32 owner;\n\tunion {\n\t\tstruct {\n\t\t\ts32 min;\n\t\t\ts32 max;\n\t\t\ts32 step;\n\t\t} integer;\n\t\tstruct {\n\t\t\tu64 min;\n\t\t\tu64 max;\n\t\t\tu64 step;\n\t\t} integer64;\n\t\tstruct {\n\t\t\tu32 items;\n\t\t\tu32 item;\n\t\t\tchar name[64];\n\t\t\tu64 names_ptr;\n\t\t\tu32 names_length;\n\t\t} enumerated;\n\t\tunsigned char reserved[128];\n\t} value;\n\tunsigned char reserved[64];\n};\n\nstruct snd_ctl_elem_list {\n\tunsigned int offset;\n\tunsigned int space;\n\tunsigned int used;\n\tunsigned int count;\n\tstruct snd_ctl_elem_id *pids;\n\tunsigned char reserved[50];\n};\n\nstruct snd_ctl_elem_list32 {\n\tu32 offset;\n\tu32 space;\n\tu32 used;\n\tu32 count;\n\tu32 pids;\n\tunsigned char reserved[50];\n};\n\nstruct snd_ctl_elem_value {\n\tstruct snd_ctl_elem_id id;\n\tunsigned int indirect: 1;\n\tunion {\n\t\tunion {\n\t\t\tlong int value[128];\n\t\t\tlong int *value_ptr;\n\t\t} integer;\n\t\tunion {\n\t\t\tlong long int value[64];\n\t\t\tlong long int *value_ptr;\n\t\t} integer64;\n\t\tunion {\n\t\t\tunsigned int item[128];\n\t\t\tunsigned int *item_ptr;\n\t\t} enumerated;\n\t\tunion {\n\t\t\tunsigned char data[512];\n\t\t\tunsigned char *data_ptr;\n\t\t} bytes;\n\t\tstruct snd_aes_iec958 iec958;\n\t} value;\n\tunsigned char reserved[128];\n};\n\nstruct snd_ctl_elem_value32 {\n\tstruct snd_ctl_elem_id id;\n\tunsigned int indirect;\n\tunion {\n\t\ts32 integer[128];\n\t\tunsigned char data[512];\n\t\ts64 integer64[64];\n\t} value;\n\tunsigned char reserved[128];\n};\n\nstruct snd_ctl_event {\n\tint type;\n\tunion {\n\t\tstruct {\n\t\t\tunsigned int mask;\n\t\t\tstruct snd_ctl_elem_id id;\n\t\t} elem;\n\t\tunsigned char data8[60];\n\t} data;\n};\n\nstruct snd_fasync;\n\nstruct snd_ctl_file {\n\tstruct list_head list;\n\tstruct snd_card *card;\n\tstruct pid *pid;\n\tint preferred_subdevice[2];\n\twait_queue_head_t change_sleep;\n\tspinlock_t read_lock;\n\tstruct snd_fasync *fasync;\n\tint subscribed;\n\tstruct list_head events;\n};\n\nstruct snd_kcontrol;\n\nstruct snd_ctl_layer_ops {\n\tstruct snd_ctl_layer_ops *next;\n\tconst char *module_name;\n\tvoid (*lregister)(struct snd_card *);\n\tvoid (*ldisconnect)(struct snd_card *);\n\tvoid (*lnotify)(struct snd_card *, unsigned int, struct snd_kcontrol *, unsigned int);\n};\n\nstruct snd_ctl_tlv {\n\tunsigned int numid;\n\tunsigned int length;\n\tunsigned int tlv[0];\n};\n\nstruct snd_device_ops;\n\nstruct snd_device {\n\tstruct list_head list;\n\tstruct snd_card *card;\n\tenum snd_device_state state;\n\tenum snd_device_type type;\n\tvoid *device_data;\n\tconst struct snd_device_ops *ops;\n};\n\nstruct snd_device_ops {\n\tint (*dev_free)(struct snd_device *);\n\tint (*dev_register)(struct snd_device *);\n\tint (*dev_disconnect)(struct snd_device *);\n};\n\nstruct snd_dmaengine_dai_dma_data {\n\tdma_addr_t addr;\n\tenum dma_slave_buswidth addr_width;\n\tu32 maxburst;\n\tvoid *filter_data;\n\tconst char *chan_name;\n\tunsigned int fifo_size;\n\tunsigned int flags;\n\tvoid *peripheral_config;\n\tsize_t peripheral_size;\n};\n\nstruct snd_pcm_hw_params;\n\nstruct snd_soc_pcm_runtime;\n\nstruct snd_pcm_hardware;\n\nstruct snd_dmaengine_pcm_config {\n\tint (*prepare_slave_config)(struct snd_pcm_substream *, struct snd_pcm_hw_params *, struct dma_slave_config *);\n\tstruct dma_chan * (*compat_request_channel)(struct snd_soc_pcm_runtime *, struct snd_pcm_substream *);\n\tint (*process)(struct snd_pcm_substream *, int, long unsigned int, long unsigned int);\n\tconst char *name;\n\tdma_filter_fn compat_filter_fn;\n\tstruct device *dma_dev;\n\tconst char *chan_names[2];\n\tconst struct snd_pcm_hardware *pcm_hardware;\n\tunsigned int prealloc_buffer_size;\n};\n\nstruct snd_fasync {\n\tstruct fasync_struct *fasync;\n\tint signal;\n\tint poll;\n\tint on;\n\tstruct list_head list;\n};\n\nstruct snd_info_buffer {\n\tchar *buffer;\n\tunsigned int curr;\n\tunsigned int size;\n\tunsigned int len;\n\tint stop;\n\tint error;\n};\n\nstruct snd_info_entry_text {\n\tvoid (*read)(struct snd_info_entry *, struct snd_info_buffer *);\n\tvoid (*write)(struct snd_info_entry *, struct snd_info_buffer *);\n};\n\nstruct snd_info_entry_ops;\n\nstruct snd_info_entry {\n\tconst char *name;\n\tumode_t mode;\n\tlong int size;\n\tshort unsigned int content;\n\tunion {\n\t\tstruct snd_info_entry_text text;\n\t\tconst struct snd_info_entry_ops *ops;\n\t} c;\n\tstruct snd_info_entry *parent;\n\tstruct module *module;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_info_entry *);\n\tstruct proc_dir_entry *p;\n\tstruct mutex access;\n\tstruct list_head children;\n\tstruct list_head list;\n};\n\nstruct snd_info_entry_ops {\n\tint (*open)(struct snd_info_entry *, short unsigned int, void **);\n\tint (*release)(struct snd_info_entry *, short unsigned int, void *);\n\tssize_t (*read)(struct snd_info_entry *, void *, struct file *, char *, size_t, loff_t);\n\tssize_t (*write)(struct snd_info_entry *, void *, struct file *, const char *, size_t, loff_t);\n\tloff_t (*llseek)(struct snd_info_entry *, void *, struct file *, loff_t, int);\n\t__poll_t (*poll)(struct snd_info_entry *, void *, struct file *, poll_table *);\n\tint (*ioctl)(struct snd_info_entry *, void *, struct file *, unsigned int, long unsigned int);\n\tint (*mmap)(struct snd_info_entry *, void *, struct inode *, struct file *, struct vm_area_struct *);\n};\n\nstruct snd_info_private_data {\n\tstruct snd_info_buffer *rbuffer;\n\tstruct snd_info_buffer *wbuffer;\n\tstruct snd_info_entry *entry;\n\tvoid *file_private_data;\n};\n\nstruct snd_interval {\n\tunsigned int min;\n\tunsigned int max;\n\tunsigned int openmin: 1;\n\tunsigned int openmax: 1;\n\tunsigned int integer: 1;\n\tunsigned int empty: 1;\n};\n\nstruct snd_jack {\n\tstruct list_head kctl_list;\n\tstruct snd_card *card;\n\tconst char *id;\n\tstruct input_dev *input_dev;\n\tstruct mutex input_dev_lock;\n\tint registered;\n\tint type;\n\tchar name[100];\n\tunsigned int key[6];\n\tint hw_status_cache;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_jack *);\n};\n\nstruct snd_jack_kctl {\n\tstruct snd_kcontrol *kctl;\n\tstruct list_head list;\n\tunsigned int mask_bits;\n\tstruct snd_jack *jack;\n\tbool sw_inject_enable;\n};\n\ntypedef int snd_kcontrol_info_t(struct snd_kcontrol *, struct snd_ctl_elem_info *);\n\ntypedef int snd_kcontrol_get_t(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\ntypedef int snd_kcontrol_put_t(struct snd_kcontrol *, struct snd_ctl_elem_value *);\n\ntypedef int snd_kcontrol_tlv_rw_t(struct snd_kcontrol *, int, unsigned int, unsigned int *);\n\nstruct snd_kcontrol_volatile {\n\tstruct snd_ctl_file *owner;\n\tunsigned int access;\n};\n\nstruct snd_kcontrol {\n\tstruct list_head list;\n\tstruct snd_ctl_elem_id id;\n\tunsigned int count;\n\tsnd_kcontrol_info_t *info;\n\tsnd_kcontrol_get_t *get;\n\tsnd_kcontrol_put_t *put;\n\tunion {\n\t\tsnd_kcontrol_tlv_rw_t *c;\n\t\tconst unsigned int *p;\n\t} tlv;\n\tlong unsigned int private_value;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_kcontrol *);\n\tstruct snd_kcontrol_volatile vd[0];\n};\n\nstruct snd_kcontrol_new {\n\tsnd_ctl_elem_iface_t iface;\n\tunsigned int device;\n\tunsigned int subdevice;\n\tconst char *name;\n\tunsigned int index;\n\tunsigned int access;\n\tunsigned int count;\n\tsnd_kcontrol_info_t *info;\n\tsnd_kcontrol_get_t *get;\n\tsnd_kcontrol_put_t *put;\n\tunion {\n\t\tsnd_kcontrol_tlv_rw_t *c;\n\t\tconst unsigned int *p;\n\t} tlv;\n\tlong unsigned int private_value;\n};\n\nstruct snd_kctl_event {\n\tstruct list_head list;\n\tstruct snd_ctl_elem_id id;\n\tunsigned int mask;\n};\n\ntypedef int (*snd_kctl_ioctl_func_t)(struct snd_card *, struct snd_ctl_file *, unsigned int, long unsigned int);\n\nstruct snd_kctl_ioctl {\n\tstruct list_head list;\n\tsnd_kctl_ioctl_func_t fioctl;\n};\n\nstruct snd_malloc_ops {\n\tvoid * (*alloc)(struct snd_dma_buffer *, size_t);\n\tvoid (*free)(struct snd_dma_buffer *);\n\tdma_addr_t (*get_addr)(struct snd_dma_buffer *, size_t);\n\tstruct page * (*get_page)(struct snd_dma_buffer *, size_t);\n\tunsigned int (*get_chunk_size)(struct snd_dma_buffer *, unsigned int, unsigned int);\n\tint (*mmap)(struct snd_dma_buffer *, struct vm_area_struct *);\n\tvoid (*sync)(struct snd_dma_buffer *, enum snd_dma_sync_mode);\n};\n\nstruct snd_mask {\n\t__u32 bits[8];\n};\n\nstruct snd_minor {\n\tint type;\n\tint card;\n\tint device;\n\tconst struct file_operations *f_ops;\n\tvoid *private_data;\n\tstruct device *dev;\n\tstruct snd_card *card_ptr;\n};\n\nstruct snd_monitor_file {\n\tstruct file *file;\n\tconst struct file_operations *disconnected_f_op;\n\tstruct list_head shutdown_list;\n\tstruct list_head list;\n};\n\nstruct snd_pci_quirk {\n\tshort unsigned int subvendor;\n\tshort unsigned int subdevice;\n\tshort unsigned int subdevice_mask;\n\tint value;\n};\n\nstruct snd_pcm;\n\nstruct snd_pcm_str {\n\tint stream;\n\tstruct snd_pcm *pcm;\n\tunsigned int substream_count;\n\tunsigned int substream_opened;\n\tstruct snd_pcm_substream *substream;\n\tstruct snd_info_entry *proc_root;\n\tstruct snd_kcontrol *chmap_kctl;\n\tstruct device *dev;\n};\n\nstruct snd_pcm {\n\tstruct snd_card *card;\n\tstruct list_head list;\n\tint device;\n\tunsigned int info_flags;\n\tshort unsigned int dev_class;\n\tshort unsigned int dev_subclass;\n\tchar id[64];\n\tchar name[80];\n\tstruct snd_pcm_str streams[2];\n\tstruct mutex open_mutex;\n\twait_queue_head_t open_wait;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_pcm *);\n\tbool internal;\n\tbool nonatomic;\n\tbool no_device_suspend;\n};\n\nstruct snd_pcm_audio_tstamp_config {\n\tu32 type_requested: 4;\n\tu32 report_delay: 1;\n};\n\nstruct snd_pcm_audio_tstamp_report {\n\tu32 valid: 1;\n\tu32 actual_type: 4;\n\tu32 accuracy_report: 1;\n\tu32 accuracy;\n};\n\nstruct snd_pcm_channel_info {\n\tunsigned int channel;\n\t__kernel_off_t offset;\n\tunsigned int first;\n\tunsigned int step;\n};\n\nstruct snd_pcm_channel_info32 {\n\tu32 channel;\n\tu32 offset;\n\tu32 first;\n\tu32 step;\n};\n\nstruct snd_pcm_chmap_elem;\n\nstruct snd_pcm_chmap {\n\tstruct snd_pcm *pcm;\n\tint stream;\n\tstruct snd_kcontrol *kctl;\n\tconst struct snd_pcm_chmap_elem *chmap;\n\tunsigned int max_channels;\n\tunsigned int channel_mask;\n\tvoid *private_data;\n};\n\nstruct snd_pcm_chmap_elem {\n\tunsigned char channels;\n\tunsigned char map[15];\n};\n\nstruct snd_pcm_file {\n\tstruct snd_pcm_substream *substream;\n\tint no_compat_mmap;\n\tunsigned int user_pversion;\n};\n\nstruct snd_pcm_group {\n\tspinlock_t lock;\n\tstruct mutex mutex;\n\tstruct list_head substreams;\n\trefcount_t refs;\n};\n\nstruct snd_pcm_hardware {\n\tunsigned int info;\n\tu64 formats;\n\tu32 subformats;\n\tunsigned int rates;\n\tunsigned int rate_min;\n\tunsigned int rate_max;\n\tunsigned int channels_min;\n\tunsigned int channels_max;\n\tsize_t buffer_bytes_max;\n\tsize_t period_bytes_min;\n\tsize_t period_bytes_max;\n\tunsigned int periods_min;\n\tunsigned int periods_max;\n\tsize_t fifo_size;\n};\n\nstruct snd_pcm_hw_constraint_list {\n\tconst unsigned int *list;\n\tunsigned int count;\n\tunsigned int mask;\n};\n\nstruct snd_pcm_hw_constraint_ranges {\n\tunsigned int count;\n\tconst struct snd_interval *ranges;\n\tunsigned int mask;\n};\n\nstruct snd_ratden;\n\nstruct snd_pcm_hw_constraint_ratdens {\n\tint nrats;\n\tconst struct snd_ratden *rats;\n};\n\nstruct snd_ratnum;\n\nstruct snd_pcm_hw_constraint_ratnums {\n\tint nrats;\n\tconst struct snd_ratnum *rats;\n};\n\nstruct snd_pcm_hw_rule;\n\nstruct snd_pcm_hw_constraints {\n\tstruct snd_mask masks[3];\n\tstruct snd_interval intervals[12];\n\tunsigned int rules_num;\n\tunsigned int rules_all;\n\tstruct snd_pcm_hw_rule *rules;\n};\n\nstruct snd_pcm_hw_params {\n\tunsigned int flags;\n\tstruct snd_mask masks[3];\n\tstruct snd_mask mres[5];\n\tstruct snd_interval intervals[12];\n\tstruct snd_interval ires[9];\n\tunsigned int rmask;\n\tunsigned int cmask;\n\tunsigned int info;\n\tunsigned int msbits;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tsnd_pcm_uframes_t fifo_size;\n\tunsigned char sync[16];\n\tunsigned char reserved[48];\n};\n\nstruct snd_pcm_hw_params32 {\n\tu32 flags;\n\tstruct snd_mask masks[3];\n\tstruct snd_mask mres[5];\n\tstruct snd_interval intervals[12];\n\tstruct snd_interval ires[9];\n\tu32 rmask;\n\tu32 cmask;\n\tu32 info;\n\tu32 msbits;\n\tu32 rate_num;\n\tu32 rate_den;\n\tu32 fifo_size;\n\tunsigned char reserved[64];\n};\n\nstruct snd_pcm_hw_params_old {\n\tunsigned int flags;\n\tunsigned int masks[3];\n\tstruct snd_interval intervals[12];\n\tunsigned int rmask;\n\tunsigned int cmask;\n\tunsigned int info;\n\tunsigned int msbits;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tsnd_pcm_uframes_t fifo_size;\n\tunsigned char reserved[64];\n};\n\ntypedef int (*snd_pcm_hw_rule_func_t)(struct snd_pcm_hw_params *, struct snd_pcm_hw_rule *);\n\nstruct snd_pcm_hw_rule {\n\tunsigned int cond;\n\tint var;\n\tint deps[5];\n\tsnd_pcm_hw_rule_func_t func;\n\tvoid *private;\n};\n\nstruct snd_pcm_info {\n\tunsigned int device;\n\tunsigned int subdevice;\n\tint stream;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tunsigned char subname[32];\n\tint dev_class;\n\tint dev_subclass;\n\tunsigned int subdevices_count;\n\tunsigned int subdevices_avail;\n\tunsigned char pad1[16];\n\tunsigned char reserved[64];\n};\n\nstruct snd_pcm_mmap_control {\n\t__pad_before_uframe __pad1;\n\tsnd_pcm_uframes_t appl_ptr;\n\t__pad_before_uframe __pad2;\n\t__pad_before_uframe __pad3;\n\tsnd_pcm_uframes_t avail_min;\n\t__pad_after_uframe __pad4;\n};\n\nstruct snd_pcm_mmap_control32 {\n\tu32 appl_ptr;\n\tu32 avail_min;\n};\n\nstruct snd_pcm_mmap_status {\n\tsnd_pcm_state_t state;\n\t__u32 pad1;\n\t__pad_before_uframe __pad1;\n\tsnd_pcm_uframes_t hw_ptr;\n\t__pad_after_uframe __pad2;\n\tstruct __kernel_timespec tstamp;\n\tsnd_pcm_state_t suspended_state;\n\t__u32 pad3;\n\tstruct __kernel_timespec audio_tstamp;\n};\n\nstruct snd_pcm_mmap_status32 {\n\tsnd_pcm_state_t state;\n\ts32 pad1;\n\tu32 hw_ptr;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tsnd_pcm_state_t suspended_state;\n\ts32 audio_tstamp_sec;\n\ts32 audio_tstamp_nsec;\n};\n\nstruct snd_pcm_ops {\n\tint (*open)(struct snd_pcm_substream *);\n\tint (*close)(struct snd_pcm_substream *);\n\tint (*ioctl)(struct snd_pcm_substream *, unsigned int, void *);\n\tint (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *);\n\tint (*hw_free)(struct snd_pcm_substream *);\n\tint (*prepare)(struct snd_pcm_substream *);\n\tint (*trigger)(struct snd_pcm_substream *, int);\n\tint (*sync_stop)(struct snd_pcm_substream *);\n\tsnd_pcm_uframes_t (*pointer)(struct snd_pcm_substream *);\n\tint (*get_time_info)(struct snd_pcm_substream *, struct timespec64 *, struct timespec64 *, struct snd_pcm_audio_tstamp_config *, struct snd_pcm_audio_tstamp_report *);\n\tint (*fill_silence)(struct snd_pcm_substream *, int, long unsigned int, long unsigned int);\n\tint (*copy)(struct snd_pcm_substream *, int, long unsigned int, struct iov_iter *, long unsigned int);\n\tstruct page * (*page)(struct snd_pcm_substream *, long unsigned int);\n\tint (*mmap)(struct snd_pcm_substream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_pcm_substream *);\n};\n\nstruct snd_pcm_runtime {\n\tsnd_pcm_state_t state;\n\tsnd_pcm_state_t suspended_state;\n\tstruct snd_pcm_substream *trigger_master;\n\tstruct timespec64 trigger_tstamp;\n\tbool trigger_tstamp_latched;\n\tint overrange;\n\tsnd_pcm_uframes_t avail_max;\n\tsnd_pcm_uframes_t hw_ptr_base;\n\tsnd_pcm_uframes_t hw_ptr_interrupt;\n\tlong unsigned int hw_ptr_jiffies;\n\tlong unsigned int hw_ptr_buffer_jiffies;\n\tsnd_pcm_sframes_t delay;\n\tu64 hw_ptr_wrap;\n\tsnd_pcm_access_t access;\n\tsnd_pcm_format_t format;\n\tsnd_pcm_subformat_t subformat;\n\tunsigned int rate;\n\tunsigned int channels;\n\tsnd_pcm_uframes_t period_size;\n\tunsigned int periods;\n\tsnd_pcm_uframes_t buffer_size;\n\tsnd_pcm_uframes_t min_align;\n\tsize_t byte_align;\n\tunsigned int frame_bits;\n\tunsigned int sample_bits;\n\tunsigned int info;\n\tunsigned int rate_num;\n\tunsigned int rate_den;\n\tunsigned int no_period_wakeup: 1;\n\tint tstamp_mode;\n\tunsigned int period_step;\n\tsnd_pcm_uframes_t start_threshold;\n\tsnd_pcm_uframes_t stop_threshold;\n\tsnd_pcm_uframes_t silence_threshold;\n\tsnd_pcm_uframes_t silence_size;\n\tsnd_pcm_uframes_t boundary;\n\tsnd_pcm_uframes_t silence_start;\n\tsnd_pcm_uframes_t silence_filled;\n\tbool std_sync_id;\n\tstruct snd_pcm_mmap_status *status;\n\tstruct snd_pcm_mmap_control *control;\n\tsnd_pcm_uframes_t twake;\n\twait_queue_head_t sleep;\n\twait_queue_head_t tsleep;\n\tstruct snd_fasync *fasync;\n\tbool stop_operating;\n\tstruct mutex buffer_mutex;\n\tatomic_t buffer_accessing;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_pcm_runtime *);\n\tstruct snd_pcm_hardware hw;\n\tstruct snd_pcm_hw_constraints hw_constraints;\n\tunsigned int timer_resolution;\n\tint tstamp_type;\n\tunsigned char *dma_area;\n\tdma_addr_t dma_addr;\n\tsize_t dma_bytes;\n\tstruct snd_dma_buffer *dma_buffer_p;\n\tunsigned int buffer_changed: 1;\n\tstruct snd_pcm_audio_tstamp_config audio_tstamp_config;\n\tstruct snd_pcm_audio_tstamp_report audio_tstamp_report;\n\tstruct timespec64 driver_tstamp;\n};\n\nstruct snd_pcm_status32 {\n\tsnd_pcm_state_t state;\n\ts32 trigger_tstamp_sec;\n\ts32 trigger_tstamp_nsec;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tu32 appl_ptr;\n\tu32 hw_ptr;\n\ts32 delay;\n\tu32 avail;\n\tu32 avail_max;\n\tu32 overrange;\n\tsnd_pcm_state_t suspended_state;\n\tu32 audio_tstamp_data;\n\ts32 audio_tstamp_sec;\n\ts32 audio_tstamp_nsec;\n\ts32 driver_tstamp_sec;\n\ts32 driver_tstamp_nsec;\n\tu32 audio_tstamp_accuracy;\n\tunsigned char reserved[36];\n};\n\nstruct snd_pcm_status64 {\n\tsnd_pcm_state_t state;\n\tu8 rsvd[4];\n\ts64 trigger_tstamp_sec;\n\ts64 trigger_tstamp_nsec;\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tsnd_pcm_uframes_t appl_ptr;\n\tsnd_pcm_uframes_t hw_ptr;\n\tsnd_pcm_sframes_t delay;\n\tsnd_pcm_uframes_t avail;\n\tsnd_pcm_uframes_t avail_max;\n\tsnd_pcm_uframes_t overrange;\n\tsnd_pcm_state_t suspended_state;\n\t__u32 audio_tstamp_data;\n\ts64 audio_tstamp_sec;\n\ts64 audio_tstamp_nsec;\n\ts64 driver_tstamp_sec;\n\ts64 driver_tstamp_nsec;\n\t__u32 audio_tstamp_accuracy;\n\tunsigned char reserved[20];\n};\n\nstruct snd_timer;\n\nstruct snd_pcm_substream {\n\tstruct snd_pcm *pcm;\n\tstruct snd_pcm_str *pstr;\n\tvoid *private_data;\n\tint number;\n\tchar name[32];\n\tint stream;\n\tstruct pm_qos_request latency_pm_qos_req;\n\tsize_t buffer_bytes_max;\n\tstruct snd_dma_buffer dma_buffer;\n\tsize_t dma_max;\n\tconst struct snd_pcm_ops *ops;\n\tstruct snd_pcm_runtime *runtime;\n\tstruct snd_timer *timer;\n\tunsigned int timer_running: 1;\n\tlong int wait_time;\n\tstruct snd_pcm_substream *next;\n\tstruct list_head link_list;\n\tstruct snd_pcm_group self_group;\n\tstruct snd_pcm_group *group;\n\tint ref_count;\n\tatomic_t mmap_count;\n\tunsigned int f_flags;\n\tvoid (*pcm_release)(struct snd_pcm_substream *);\n\tstruct pid *pid;\n\tstruct snd_info_entry *proc_root;\n\tunsigned int hw_opened: 1;\n\tunsigned int managed_buffer_alloc: 1;\n};\n\nstruct snd_pcm_sw_params {\n\tint tstamp_mode;\n\tunsigned int period_step;\n\tunsigned int sleep_min;\n\tsnd_pcm_uframes_t avail_min;\n\tsnd_pcm_uframes_t xfer_align;\n\tsnd_pcm_uframes_t start_threshold;\n\tsnd_pcm_uframes_t stop_threshold;\n\tsnd_pcm_uframes_t silence_threshold;\n\tsnd_pcm_uframes_t silence_size;\n\tsnd_pcm_uframes_t boundary;\n\tunsigned int proto;\n\tunsigned int tstamp_type;\n\tunsigned char reserved[56];\n};\n\nstruct snd_pcm_sw_params32 {\n\ts32 tstamp_mode;\n\tu32 period_step;\n\tu32 sleep_min;\n\tu32 avail_min;\n\tu32 xfer_align;\n\tu32 start_threshold;\n\tu32 stop_threshold;\n\tu32 silence_threshold;\n\tu32 silence_size;\n\tu32 boundary;\n\tu32 proto;\n\tu32 tstamp_type;\n\tunsigned char reserved[56];\n};\n\nstruct snd_pcm_sync_ptr {\n\t__u32 flags;\n\t__u32 pad1;\n\tunion {\n\t\tstruct snd_pcm_mmap_status status;\n\t\tunsigned char reserved[64];\n\t} s;\n\tunion {\n\t\tstruct snd_pcm_mmap_control control;\n\t\tunsigned char reserved[64];\n\t} c;\n};\n\nstruct snd_pcm_sync_ptr32 {\n\tu32 flags;\n\tunion {\n\t\tstruct snd_pcm_mmap_status32 status;\n\t\tunsigned char reserved[64];\n\t} s;\n\tunion {\n\t\tstruct snd_pcm_mmap_control32 control;\n\t\tunsigned char reserved[64];\n\t} c;\n};\n\nstruct snd_ratden {\n\tunsigned int num_min;\n\tunsigned int num_max;\n\tunsigned int num_step;\n\tunsigned int den;\n};\n\nstruct snd_ratnum {\n\tunsigned int num;\n\tunsigned int den_min;\n\tunsigned int den_max;\n\tunsigned int den_step;\n};\n\nstruct snd_soc_dai_link_component {\n\tconst char *name;\n\tstruct device_node *of_node;\n\tconst char *dai_name;\n\tconst struct of_phandle_args *dai_args;\n\tunsigned int ext_fmt;\n};\n\nstruct snd_soc_aux_dev {\n\tstruct snd_soc_dai_link_component dlc;\n\tint (*init)(struct snd_soc_component *);\n};\n\nstruct snd_soc_dapm_stats {\n\tint power_checks;\n\tint path_checks;\n\tint neighbour_checks;\n};\n\nstruct snd_soc_dai_link;\n\nstruct snd_soc_codec_conf;\n\nstruct snd_soc_dapm_route;\n\nstruct snd_soc_dapm_update;\n\nstruct snd_soc_card {\n\tconst char *name;\n\tconst char *long_name;\n\tconst char *driver_name;\n\tconst char *components;\n\tchar dmi_longname[80];\n\tshort unsigned int pci_subsystem_vendor;\n\tshort unsigned int pci_subsystem_device;\n\tbool pci_subsystem_set;\n\tchar topology_shortname[32];\n\tstruct device *dev;\n\tstruct snd_card *snd_card;\n\tstruct module *owner;\n\tstruct mutex mutex;\n\tstruct mutex dapm_mutex;\n\tstruct mutex pcm_mutex;\n\tenum snd_soc_pcm_subclass pcm_subclass;\n\tint (*probe)(struct snd_soc_card *);\n\tint (*late_probe)(struct snd_soc_card *);\n\tvoid (*fixup_controls)(struct snd_soc_card *);\n\tint (*remove)(struct snd_soc_card *);\n\tint (*suspend_pre)(struct snd_soc_card *);\n\tint (*suspend_post)(struct snd_soc_card *);\n\tint (*resume_pre)(struct snd_soc_card *);\n\tint (*resume_post)(struct snd_soc_card *);\n\tint (*set_bias_level)(struct snd_soc_card *, struct snd_soc_dapm_context *, enum snd_soc_bias_level);\n\tint (*set_bias_level_post)(struct snd_soc_card *, struct snd_soc_dapm_context *, enum snd_soc_bias_level);\n\tint (*add_dai_link)(struct snd_soc_card *, struct snd_soc_dai_link *);\n\tvoid (*remove_dai_link)(struct snd_soc_card *, struct snd_soc_dai_link *);\n\tlong int pmdown_time;\n\tstruct snd_soc_dai_link *dai_link;\n\tint num_links;\n\tstruct list_head rtd_list;\n\tint num_rtd;\n\tstruct snd_soc_codec_conf *codec_conf;\n\tint num_configs;\n\tstruct snd_soc_aux_dev *aux_dev;\n\tint num_aux_devs;\n\tstruct list_head aux_comp_list;\n\tconst struct snd_kcontrol_new *controls;\n\tint num_controls;\n\tconst struct snd_soc_dapm_widget *dapm_widgets;\n\tint num_dapm_widgets;\n\tconst struct snd_soc_dapm_route *dapm_routes;\n\tint num_dapm_routes;\n\tconst struct snd_soc_dapm_widget *of_dapm_widgets;\n\tint num_of_dapm_widgets;\n\tconst struct snd_soc_dapm_route *of_dapm_routes;\n\tint num_of_dapm_routes;\n\tstruct list_head component_dev_list;\n\tstruct list_head list;\n\tstruct list_head widgets;\n\tstruct list_head paths;\n\tstruct list_head dapm_list;\n\tstruct list_head dapm_dirty;\n\tstruct list_head dobj_list;\n\tstruct snd_soc_dapm_context dapm;\n\tstruct snd_soc_dapm_stats dapm_stats;\n\tstruct snd_soc_dapm_update *update;\n\tstruct dentry *debugfs_card_root;\n\tstruct work_struct deferred_resume_work;\n\tu32 pop_time;\n\tunsigned int instantiated: 1;\n\tunsigned int topology_shortname_created: 1;\n\tunsigned int fully_routed: 1;\n\tunsigned int probed: 1;\n\tunsigned int component_chaining: 1;\n\tvoid *drvdata;\n};\n\nstruct snd_soc_dai;\n\nstruct snd_soc_cdai_ops {\n\tint (*startup)(struct snd_compr_stream *, struct snd_soc_dai *);\n\tint (*shutdown)(struct snd_compr_stream *, struct snd_soc_dai *);\n\tint (*set_params)(struct snd_compr_stream *, struct snd_compr_params *, struct snd_soc_dai *);\n\tint (*get_params)(struct snd_compr_stream *, struct snd_codec *, struct snd_soc_dai *);\n\tint (*set_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *, struct snd_soc_dai *);\n\tint (*get_metadata)(struct snd_compr_stream *, struct snd_compr_metadata *, struct snd_soc_dai *);\n\tint (*trigger)(struct snd_compr_stream *, int, struct snd_soc_dai *);\n\tint (*pointer)(struct snd_compr_stream *, struct snd_compr_tstamp *, struct snd_soc_dai *);\n\tint (*ack)(struct snd_compr_stream *, size_t, struct snd_soc_dai *);\n};\n\nstruct snd_soc_codec_conf {\n\tstruct snd_soc_dai_link_component dlc;\n\tconst char *name_prefix;\n};\n\nstruct snd_soc_component_driver {\n\tconst char *name;\n\tconst struct snd_kcontrol_new *controls;\n\tunsigned int num_controls;\n\tconst struct snd_soc_dapm_widget *dapm_widgets;\n\tunsigned int num_dapm_widgets;\n\tconst struct snd_soc_dapm_route *dapm_routes;\n\tunsigned int num_dapm_routes;\n\tint (*probe)(struct snd_soc_component *);\n\tvoid (*remove)(struct snd_soc_component *);\n\tint (*suspend)(struct snd_soc_component *);\n\tint (*resume)(struct snd_soc_component *);\n\tunsigned int (*read)(struct snd_soc_component *, unsigned int);\n\tint (*write)(struct snd_soc_component *, unsigned int, unsigned int);\n\tint (*pcm_construct)(struct snd_soc_component *, struct snd_soc_pcm_runtime *);\n\tvoid (*pcm_destruct)(struct snd_soc_component *, struct snd_pcm *);\n\tint (*set_sysclk)(struct snd_soc_component *, int, int, unsigned int, int);\n\tint (*set_pll)(struct snd_soc_component *, int, int, unsigned int, unsigned int);\n\tint (*set_jack)(struct snd_soc_component *, struct snd_soc_jack *, void *);\n\tint (*get_jack_type)(struct snd_soc_component *);\n\tint (*of_xlate_dai_name)(struct snd_soc_component *, const struct of_phandle_args *, const char **);\n\tint (*of_xlate_dai_id)(struct snd_soc_component *, struct device_node *);\n\tvoid (*seq_notifier)(struct snd_soc_component *, enum snd_soc_dapm_type, int);\n\tint (*stream_event)(struct snd_soc_component *, int);\n\tint (*set_bias_level)(struct snd_soc_component *, enum snd_soc_bias_level);\n\tint (*open)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*close)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*ioctl)(struct snd_soc_component *, struct snd_pcm_substream *, unsigned int, void *);\n\tint (*hw_params)(struct snd_soc_component *, struct snd_pcm_substream *, struct snd_pcm_hw_params *);\n\tint (*hw_free)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*prepare)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*trigger)(struct snd_soc_component *, struct snd_pcm_substream *, int);\n\tint (*sync_stop)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tsnd_pcm_uframes_t (*pointer)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tint (*get_time_info)(struct snd_soc_component *, struct snd_pcm_substream *, struct timespec64 *, struct timespec64 *, struct snd_pcm_audio_tstamp_config *, struct snd_pcm_audio_tstamp_report *);\n\tint (*copy)(struct snd_soc_component *, struct snd_pcm_substream *, int, long unsigned int, struct iov_iter *, long unsigned int);\n\tstruct page * (*page)(struct snd_soc_component *, struct snd_pcm_substream *, long unsigned int);\n\tint (*mmap)(struct snd_soc_component *, struct snd_pcm_substream *, struct vm_area_struct *);\n\tint (*ack)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tsnd_pcm_sframes_t (*delay)(struct snd_soc_component *, struct snd_pcm_substream *);\n\tconst struct snd_compress_ops *compress_ops;\n\tint probe_order;\n\tint remove_order;\n\tenum snd_soc_trigger_order trigger_start;\n\tenum snd_soc_trigger_order trigger_stop;\n\tunsigned int module_get_upon_open: 1;\n\tunsigned int idle_bias_on: 1;\n\tunsigned int suspend_bias_off: 1;\n\tunsigned int use_pmdown_time: 1;\n\tunsigned int endianness: 1;\n\tunsigned int legacy_dai_naming: 1;\n\tconst char *ignore_machine;\n\tconst char *topology_name_prefix;\n\tint (*be_hw_params_fixup)(struct snd_soc_pcm_runtime *, struct snd_pcm_hw_params *);\n\tbool use_dai_pcm_id;\n\tint be_pcm_base;\n\tconst char *debugfs_prefix;\n};\n\nstruct snd_soc_compr_ops {\n\tint (*startup)(struct snd_compr_stream *);\n\tvoid (*shutdown)(struct snd_compr_stream *);\n\tint (*set_params)(struct snd_compr_stream *);\n};\n\nstruct snd_soc_dai_stream {\n\tstruct snd_soc_dapm_widget *widget;\n\tunsigned int active;\n\tunsigned int tdm_mask;\n\tvoid *dma_data;\n};\n\nstruct snd_soc_dai_driver;\n\nstruct snd_soc_dai {\n\tconst char *name;\n\tint id;\n\tstruct device *dev;\n\tstruct snd_soc_dai_driver *driver;\n\tstruct snd_soc_dai_stream stream[2];\n\tunsigned int symmetric_rate;\n\tunsigned int symmetric_channels;\n\tunsigned int symmetric_sample_bits;\n\tstruct snd_soc_component *component;\n\tstruct list_head list;\n\tstruct snd_pcm_substream *mark_startup;\n\tstruct snd_pcm_substream *mark_hw_params;\n\tstruct snd_pcm_substream *mark_trigger;\n\tstruct snd_compr_stream *mark_compr_startup;\n\tunsigned int probed: 1;\n};\n\nstruct snd_soc_dobj_control {\n\tstruct snd_kcontrol *kcontrol;\n\tchar **dtexts;\n\tlong unsigned int *dvalues;\n};\n\nstruct snd_soc_dobj_widget {\n\tunsigned int *kcontrol_type;\n};\n\nstruct snd_soc_dobj {\n\tenum snd_soc_dobj_type type;\n\tunsigned int index;\n\tstruct list_head list;\n\tint (*unload)(struct snd_soc_component *, struct snd_soc_dobj *);\n\tunion {\n\t\tstruct snd_soc_dobj_control control;\n\t\tstruct snd_soc_dobj_widget widget;\n\t};\n\tvoid *private;\n};\n\nstruct snd_soc_pcm_stream {\n\tconst char *stream_name;\n\tu64 formats;\n\tu32 subformats;\n\tunsigned int rates;\n\tunsigned int rate_min;\n\tunsigned int rate_max;\n\tunsigned int channels_min;\n\tunsigned int channels_max;\n\tunsigned int sig_bits;\n};\n\nstruct snd_soc_dai_ops;\n\nstruct snd_soc_dai_driver {\n\tconst char *name;\n\tunsigned int id;\n\tunsigned int base;\n\tstruct snd_soc_dobj dobj;\n\tconst struct of_phandle_args *dai_args;\n\tconst struct snd_soc_dai_ops *ops;\n\tconst struct snd_soc_cdai_ops *cops;\n\tstruct snd_soc_pcm_stream capture;\n\tstruct snd_soc_pcm_stream playback;\n\tunsigned int symmetric_rate: 1;\n\tunsigned int symmetric_channels: 1;\n\tunsigned int symmetric_sample_bits: 1;\n};\n\nstruct snd_soc_dai_link_ch_map;\n\nstruct snd_soc_ops;\n\nstruct snd_soc_dai_link {\n\tconst char *name;\n\tconst char *stream_name;\n\tstruct snd_soc_dai_link_component *cpus;\n\tunsigned int num_cpus;\n\tstruct snd_soc_dai_link_component *codecs;\n\tunsigned int num_codecs;\n\tstruct snd_soc_dai_link_ch_map *ch_maps;\n\tstruct snd_soc_dai_link_component *platforms;\n\tunsigned int num_platforms;\n\tint id;\n\tconst struct snd_soc_pcm_stream *c2c_params;\n\tunsigned int num_c2c_params;\n\tunsigned int dai_fmt;\n\tenum snd_soc_dpcm_trigger trigger[2];\n\tint (*init)(struct snd_soc_pcm_runtime *);\n\tvoid (*exit)(struct snd_soc_pcm_runtime *);\n\tint (*be_hw_params_fixup)(struct snd_soc_pcm_runtime *, struct snd_pcm_hw_params *);\n\tconst struct snd_soc_ops *ops;\n\tconst struct snd_soc_compr_ops *compr_ops;\n\tenum snd_soc_trigger_order trigger_start;\n\tenum snd_soc_trigger_order trigger_stop;\n\tunsigned int nonatomic: 1;\n\tunsigned int playback_only: 1;\n\tunsigned int capture_only: 1;\n\tunsigned int ignore_suspend: 1;\n\tunsigned int symmetric_rate: 1;\n\tunsigned int symmetric_channels: 1;\n\tunsigned int symmetric_sample_bits: 1;\n\tunsigned int no_pcm: 1;\n\tunsigned int dynamic: 1;\n\tunsigned int dpcm_merged_format: 1;\n\tunsigned int dpcm_merged_chan: 1;\n\tunsigned int dpcm_merged_rate: 1;\n\tunsigned int ignore_pmdown_time: 1;\n\tunsigned int ignore: 1;\n};\n\nstruct snd_soc_dai_link_ch_map {\n\tunsigned int cpu;\n\tunsigned int codec;\n\tunsigned int ch_mask;\n};\n\nstruct snd_soc_dai_ops {\n\tint (*probe)(struct snd_soc_dai *);\n\tint (*remove)(struct snd_soc_dai *);\n\tint (*compress_new)(struct snd_soc_pcm_runtime *);\n\tint (*pcm_new)(struct snd_soc_pcm_runtime *, struct snd_soc_dai *);\n\tint (*set_sysclk)(struct snd_soc_dai *, int, unsigned int, int);\n\tint (*set_pll)(struct snd_soc_dai *, int, int, unsigned int, unsigned int);\n\tint (*set_clkdiv)(struct snd_soc_dai *, int, int);\n\tint (*set_bclk_ratio)(struct snd_soc_dai *, unsigned int);\n\tint (*set_fmt)(struct snd_soc_dai *, unsigned int);\n\tint (*xlate_tdm_slot_mask)(unsigned int, unsigned int *, unsigned int *);\n\tint (*set_tdm_slot)(struct snd_soc_dai *, unsigned int, unsigned int, int, int);\n\tint (*set_channel_map)(struct snd_soc_dai *, unsigned int, const unsigned int *, unsigned int, const unsigned int *);\n\tint (*get_channel_map)(const struct snd_soc_dai *, unsigned int *, unsigned int *, unsigned int *, unsigned int *);\n\tint (*set_tristate)(struct snd_soc_dai *, int);\n\tint (*set_stream)(struct snd_soc_dai *, void *, int);\n\tvoid * (*get_stream)(struct snd_soc_dai *, int);\n\tint (*mute_stream)(struct snd_soc_dai *, int, int);\n\tint (*startup)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tvoid (*shutdown)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tint (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *, struct snd_soc_dai *);\n\tint (*hw_free)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tint (*prepare)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tint (*trigger)(struct snd_pcm_substream *, int, struct snd_soc_dai *);\n\tsnd_pcm_sframes_t (*delay)(struct snd_pcm_substream *, struct snd_soc_dai *);\n\tconst u64 *auto_selectable_formats;\n\tint num_auto_selectable_formats;\n\tint probe_order;\n\tint remove_order;\n\tunsigned int no_capture_mute: 1;\n\tunsigned int mute_unmute_on_trigger: 1;\n};\n\nstruct snd_soc_dapm_path {\n\tconst char *name;\n\tunion {\n\t\tstruct {\n\t\t\tstruct snd_soc_dapm_widget *source;\n\t\t\tstruct snd_soc_dapm_widget *sink;\n\t\t};\n\t\tstruct snd_soc_dapm_widget *node[2];\n\t};\n\tu32 connect: 1;\n\tu32 walking: 1;\n\tu32 weak: 1;\n\tu32 is_supply: 1;\n\tint (*connected)(struct snd_soc_dapm_widget *, struct snd_soc_dapm_widget *);\n\tstruct list_head list_node[2];\n\tstruct list_head list_kcontrol;\n\tstruct list_head list;\n};\n\nstruct snd_soc_dapm_pinctrl_priv {\n\tconst char *active_state;\n\tconst char *sleep_state;\n};\n\nstruct snd_soc_dapm_route {\n\tconst char *sink;\n\tconst char *control;\n\tconst char *source;\n\tint (*connected)(struct snd_soc_dapm_widget *, struct snd_soc_dapm_widget *);\n\tstruct snd_soc_dobj dobj;\n};\n\nstruct snd_soc_dapm_update {\n\tstruct snd_kcontrol *kcontrol;\n\tint reg;\n\tint mask;\n\tint val;\n\tint reg2;\n\tint mask2;\n\tint val2;\n\tbool has_second_set;\n};\n\nstruct snd_soc_dapm_widget {\n\tenum snd_soc_dapm_type id;\n\tconst char *name;\n\tconst char *sname;\n\tstruct list_head list;\n\tstruct snd_soc_dapm_context *dapm;\n\tvoid *priv;\n\tstruct regulator *regulator;\n\tstruct pinctrl *pinctrl;\n\tint reg;\n\tunsigned char shift;\n\tunsigned int mask;\n\tunsigned int on_val;\n\tunsigned int off_val;\n\tunsigned char power: 1;\n\tunsigned char active: 1;\n\tunsigned char connected: 1;\n\tunsigned char new: 1;\n\tunsigned char force: 1;\n\tunsigned char ignore_suspend: 1;\n\tunsigned char new_power: 1;\n\tunsigned char power_checked: 1;\n\tunsigned char is_supply: 1;\n\tunsigned char is_ep: 2;\n\tunsigned char no_wname_in_kcontrol_name: 1;\n\tint subseq;\n\tint (*power_check)(struct snd_soc_dapm_widget *);\n\tshort unsigned int event_flags;\n\tint (*event)(struct snd_soc_dapm_widget *, struct snd_kcontrol *, int);\n\tint num_kcontrols;\n\tconst struct snd_kcontrol_new *kcontrol_news;\n\tstruct snd_kcontrol **kcontrols;\n\tstruct snd_soc_dobj dobj;\n\tstruct list_head edges[2];\n\tstruct list_head work_list;\n\tstruct list_head power_list;\n\tstruct list_head dirty;\n\tint endpoints[2];\n\tstruct clk *clk;\n\tint channel;\n};\n\nstruct snd_soc_dapm_widget_list {\n\tint num_widgets;\n\tstruct snd_soc_dapm_widget *widgets[0];\n};\n\nstruct snd_soc_dpcm {\n\tstruct snd_soc_pcm_runtime *be;\n\tstruct snd_soc_pcm_runtime *fe;\n\tenum snd_soc_dpcm_link_state state;\n\tstruct list_head list_be;\n\tstruct list_head list_fe;\n\tstruct dentry *debugfs_state;\n};\n\nstruct snd_soc_dpcm_runtime {\n\tstruct list_head be_clients;\n\tstruct list_head fe_clients;\n\tint users;\n\tstruct snd_pcm_hw_params hw_params;\n\tenum snd_soc_dpcm_update runtime_update;\n\tenum snd_soc_dpcm_state state;\n\tint trigger_pending;\n\tint be_start;\n\tint be_pause;\n\tbool fe_pause;\n};\n\nstruct snd_soc_jack {\n\tstruct mutex mutex;\n\tstruct snd_jack *jack;\n\tstruct snd_soc_card *card;\n\tstruct list_head pins;\n\tint status;\n\tstruct blocking_notifier_head notifier;\n\tstruct list_head jack_zones;\n};\n\nstruct snd_soc_jack_gpio {\n\tunsigned int idx;\n\tstruct device *gpiod_dev;\n\tconst char *name;\n\tint report;\n\tint invert;\n\tint debounce_time;\n\tbool wake;\n\tstruct snd_soc_jack *jack;\n\tstruct delayed_work work;\n\tstruct notifier_block pm_notifier;\n\tstruct gpio_desc *desc;\n\tvoid *data;\n\tint (*jack_status_check)(void *);\n};\n\nstruct snd_soc_jack_pin {\n\tstruct list_head list;\n\tconst char *pin;\n\tint mask;\n\tbool invert;\n};\n\nstruct snd_soc_jack_zone {\n\tunsigned int min_mv;\n\tunsigned int max_mv;\n\tunsigned int jack_type;\n\tunsigned int debounce_time;\n\tstruct list_head list;\n};\n\nstruct snd_soc_ops {\n\tint (*startup)(struct snd_pcm_substream *);\n\tvoid (*shutdown)(struct snd_pcm_substream *);\n\tint (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *);\n\tint (*hw_free)(struct snd_pcm_substream *);\n\tint (*prepare)(struct snd_pcm_substream *);\n\tint (*trigger)(struct snd_pcm_substream *, int);\n};\n\nstruct snd_soc_pcm_runtime {\n\tstruct device *dev;\n\tstruct snd_soc_card *card;\n\tstruct snd_soc_dai_link *dai_link;\n\tstruct snd_pcm_ops ops;\n\tunsigned int c2c_params_select;\n\tstruct snd_soc_dpcm_runtime dpcm[2];\n\tstruct snd_soc_dapm_widget *c2c_widget[2];\n\tlong int pmdown_time;\n\tstruct snd_pcm *pcm;\n\tstruct snd_compr *compr;\n\tstruct snd_soc_dai **dais;\n\tstruct delayed_work delayed_work;\n\tvoid (*close_delayed_work_func)(struct snd_soc_pcm_runtime *);\n\tstruct dentry *debugfs_dpcm_root;\n\tunsigned int id;\n\tstruct list_head list;\n\tstruct snd_pcm_substream *mark_startup;\n\tstruct snd_pcm_substream *mark_hw_params;\n\tstruct snd_pcm_substream *mark_trigger;\n\tstruct snd_compr_stream *mark_compr_startup;\n\tunsigned int pop_wait: 1;\n\tunsigned int fe_compr: 1;\n\tunsigned int initialized: 1;\n\tint num_components;\n\tstruct snd_soc_component *components[0];\n};\n\nstruct snd_timer_hardware {\n\tunsigned int flags;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_min;\n\tlong unsigned int resolution_max;\n\tlong unsigned int ticks;\n\tint (*open)(struct snd_timer *);\n\tint (*close)(struct snd_timer *);\n\tlong unsigned int (*c_resolution)(struct snd_timer *);\n\tint (*start)(struct snd_timer *);\n\tint (*stop)(struct snd_timer *);\n\tint (*set_period)(struct snd_timer *, long unsigned int, long unsigned int);\n\tint (*precise_resolution)(struct snd_timer *, long unsigned int *, long unsigned int *);\n};\n\nstruct snd_timer {\n\tint tmr_class;\n\tstruct snd_card *card;\n\tstruct module *module;\n\tint tmr_device;\n\tint tmr_subdevice;\n\tchar id[64];\n\tchar name[80];\n\tunsigned int flags;\n\tint running;\n\tlong unsigned int sticks;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_timer *);\n\tstruct snd_timer_hardware hw;\n\tspinlock_t lock;\n\tstruct list_head device_list;\n\tstruct list_head open_list_head;\n\tstruct list_head active_list_head;\n\tstruct list_head ack_list_head;\n\tstruct list_head sack_list_head;\n\tstruct work_struct task_work;\n\tint max_instances;\n\tint num_instances;\n};\n\nstruct snd_timer_id {\n\tint dev_class;\n\tint dev_sclass;\n\tint card;\n\tint device;\n\tint subdevice;\n};\n\nstruct snd_timer_ginfo {\n\tstruct snd_timer_id tid;\n\tunsigned int flags;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tlong unsigned int reserved0;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_min;\n\tlong unsigned int resolution_max;\n\tunsigned int clients;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_gparams {\n\tstruct snd_timer_id tid;\n\tlong unsigned int period_num;\n\tlong unsigned int period_den;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_gparams32 {\n\tstruct snd_timer_id tid;\n\tu32 period_num;\n\tu32 period_den;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_gstatus {\n\tstruct snd_timer_id tid;\n\tlong unsigned int resolution;\n\tlong unsigned int resolution_num;\n\tlong unsigned int resolution_den;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_info {\n\tunsigned int flags;\n\tint card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tlong unsigned int reserved0;\n\tlong unsigned int resolution;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_info32 {\n\tu32 flags;\n\ts32 card;\n\tunsigned char id[64];\n\tunsigned char name[80];\n\tu32 reserved0;\n\tu32 resolution;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_instance {\n\tstruct snd_timer *timer;\n\tchar *owner;\n\tunsigned int flags;\n\tvoid *private_data;\n\tvoid (*private_free)(struct snd_timer_instance *);\n\tvoid (*callback)(struct snd_timer_instance *, long unsigned int, long unsigned int);\n\tvoid (*ccallback)(struct snd_timer_instance *, int, struct timespec64 *, long unsigned int);\n\tvoid (*disconnect)(struct snd_timer_instance *);\n\tvoid *callback_data;\n\tlong unsigned int ticks;\n\tlong unsigned int cticks;\n\tlong unsigned int pticks;\n\tlong unsigned int resolution;\n\tlong unsigned int lost;\n\tint slave_class;\n\tunsigned int slave_id;\n\tstruct list_head open_list;\n\tstruct list_head active_list;\n\tstruct list_head ack_list;\n\tstruct list_head slave_list_head;\n\tstruct list_head slave_active_head;\n\tstruct snd_timer_instance *master;\n};\n\nstruct snd_timer_params {\n\tunsigned int flags;\n\tunsigned int ticks;\n\tunsigned int queue_size;\n\tunsigned int reserved0;\n\tunsigned int filter;\n\tunsigned char reserved[60];\n};\n\nstruct snd_timer_read {\n\tunsigned int resolution;\n\tunsigned int ticks;\n};\n\nstruct snd_timer_select {\n\tstruct snd_timer_id id;\n\tunsigned char reserved[32];\n};\n\nstruct snd_timer_status32 {\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tunsigned int resolution;\n\tunsigned int lost;\n\tunsigned int overrun;\n\tunsigned int queue;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_status64 {\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tunsigned int resolution;\n\tunsigned int lost;\n\tunsigned int overrun;\n\tunsigned int queue;\n\tunsigned char reserved[64];\n};\n\nstruct snd_timer_system_private {\n\tstruct timer_list tlist;\n\tstruct snd_timer *snd_timer;\n\tlong unsigned int last_expires;\n\tlong unsigned int last_jiffies;\n\tlong unsigned int correction;\n};\n\nstruct snd_timer_tread32 {\n\tint event;\n\ts32 tstamp_sec;\n\ts32 tstamp_nsec;\n\tunsigned int val;\n};\n\nstruct snd_timer_tread64 {\n\tint event;\n\tu8 pad1[4];\n\ts64 tstamp_sec;\n\ts64 tstamp_nsec;\n\tunsigned int val;\n\tu8 pad2[4];\n};\n\nstruct snd_timer_uinfo {\n\t__u64 resolution;\n\tint fd;\n\tunsigned int id;\n\tunsigned char reserved[16];\n};\n\nstruct snd_timer_user {\n\tstruct snd_timer_instance *timeri;\n\tint tread;\n\tlong unsigned int ticks;\n\tlong unsigned int overrun;\n\tint qhead;\n\tint qtail;\n\tint qused;\n\tint queue_size;\n\tbool disconnected;\n\tstruct snd_timer_read *queue;\n\tstruct snd_timer_tread64 *tqueue;\n\tspinlock_t qlock;\n\tlong unsigned int last_resolution;\n\tunsigned int filter;\n\tstruct timespec64 tstamp;\n\twait_queue_head_t qchange_sleep;\n\tstruct snd_fasync *fasync;\n\tstruct mutex ioctl_lock;\n};\n\nstruct snd_xferi {\n\tsnd_pcm_sframes_t result;\n\tvoid *buf;\n\tsnd_pcm_uframes_t frames;\n};\n\nstruct snd_xferi32 {\n\ts32 result;\n\tu32 buf;\n\tu32 frames;\n};\n\nstruct snd_xfern {\n\tsnd_pcm_sframes_t result;\n\tvoid **bufs;\n\tsnd_pcm_uframes_t frames;\n};\n\nstruct snd_xfern32 {\n\ts32 result;\n\tu32 bufs;\n\tu32 frames;\n};\n\nstruct snmp_mib {\n\tconst char *name;\n\tint entry;\n};\n\nstruct so_timestamping {\n\tint flags;\n\tint bind_phc;\n};\n\nstruct soc_bytes {\n\tint base;\n\tint num_regs;\n\tu32 mask;\n};\n\nstruct soc_bytes_ext {\n\tint max;\n\tint (*get)(struct snd_kcontrol *, unsigned int *, unsigned int);\n\tint (*put)(struct snd_kcontrol *, const unsigned int *, unsigned int);\n};\n\nstruct soc_device_attribute;\n\nstruct soc_device {\n\tstruct device dev;\n\tstruct soc_device_attribute *attr;\n\tint soc_dev_num;\n};\n\nstruct soc_device_attribute {\n\tconst char *machine;\n\tconst char *family;\n\tconst char *revision;\n\tconst char *serial_number;\n\tconst char *soc_id;\n\tconst void *data;\n\tconst struct attribute_group *custom_attr_group;\n};\n\nstruct soc_enum {\n\tint reg;\n\tunsigned char shift_l;\n\tunsigned char shift_r;\n\tunsigned int items;\n\tunsigned int mask;\n\tconst char * const *texts;\n\tconst unsigned int *values;\n\tunsigned int autodisable: 1;\n};\n\nstruct soc_mixer_control {\n\tint min;\n\tint max;\n\tint platform_max;\n\tint reg;\n\tint rreg;\n\tunsigned int shift;\n\tunsigned int rshift;\n\tunsigned int sign_bit;\n\tunsigned int invert: 1;\n\tunsigned int autodisable: 1;\n};\n\nstruct soc_mreg_control {\n\tlong int min;\n\tlong int max;\n\tunsigned int regbase;\n\tunsigned int regcount;\n\tunsigned int nbits;\n\tunsigned int invert;\n};\n\nstruct sock_bh_locked {\n\tstruct sock *sock;\n\tlocal_lock_t bh_lock;\n};\n\nstruct sock_diag_handler {\n\tstruct module *owner;\n\t__u8 family;\n\tint (*dump)(struct sk_buff *, struct nlmsghdr *);\n\tint (*get_info)(struct sk_buff *, struct sock *);\n\tint (*destroy)(struct sk_buff *, struct nlmsghdr *);\n};\n\nstruct sock_diag_inet_compat {\n\tstruct module *owner;\n\tint (*fn)(struct sk_buff *, struct nlmsghdr *);\n};\n\nstruct sock_diag_req {\n\t__u8 sdiag_family;\n\t__u8 sdiag_protocol;\n};\n\nstruct sock_ee_data_rfc4884 {\n\t__u16 len;\n\t__u8 flags;\n\t__u8 reserved;\n};\n\nstruct sock_extended_err {\n\t__u32 ee_errno;\n\t__u8 ee_origin;\n\t__u8 ee_type;\n\t__u8 ee_code;\n\t__u8 ee_pad;\n\t__u32 ee_info;\n\tunion {\n\t\t__u32 ee_data;\n\t\tstruct sock_ee_data_rfc4884 ee_rfc4884;\n\t};\n};\n\nstruct sock_exterr_skb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tstruct sock_extended_err ee;\n\tu16 addr_offset;\n\t__be16 port;\n\tu8 opt_stats: 1;\n\tu8 unused: 7;\n};\n\nstruct sock_fprog {\n\tshort unsigned int len;\n\tstruct sock_filter *filter;\n};\n\nstruct sock_fprog_kern {\n\tu16 len;\n\tstruct sock_filter *filter;\n};\n\nstruct sock_hash_seq_info {\n\tstruct bpf_map *map;\n\tstruct bpf_shtab *htab;\n\tu32 bucket_id;\n};\n\nstruct sock_map_seq_info {\n\tstruct bpf_map *map;\n\tstruct sock *sk;\n\tu32 index;\n};\n\nstruct sock_reuseport {\n\tstruct callback_head rcu;\n\tu16 max_socks;\n\tu16 num_socks;\n\tu16 num_closed_socks;\n\tu16 incoming_cpu;\n\tunsigned int synq_overflow_ts;\n\tunsigned int reuseport_id;\n\tunsigned int bind_inany: 1;\n\tunsigned int has_conns: 1;\n\tstruct bpf_prog *prog;\n\tstruct sock *socks[0];\n};\n\nstruct sock_skb_cb {\n\tu32 dropcount;\n};\n\nstruct sock_txtime {\n\t__kernel_clockid_t clockid;\n\t__u32 flags;\n};\n\nstruct sock_xprt {\n\tstruct rpc_xprt xprt;\n\tstruct socket *sock;\n\tstruct sock *inet;\n\tstruct file *file;\n\tstruct {\n\t\tstruct {\n\t\t\t__be32 fraghdr;\n\t\t\t__be32 xid;\n\t\t\t__be32 calldir;\n\t\t};\n\t\tu32 offset;\n\t\tu32 len;\n\t\tlong unsigned int copied;\n\t} recv;\n\tstruct {\n\t\tu32 offset;\n\t} xmit;\n\tlong unsigned int sock_state;\n\tstruct delayed_work connect_worker;\n\tstruct work_struct error_worker;\n\tstruct work_struct recv_worker;\n\tstruct mutex recv_mutex;\n\tstruct completion handshake_done;\n\tstruct __kernel_sockaddr_storage srcaddr;\n\tshort unsigned int srcport;\n\tint xprt_err;\n\tstruct rpc_clnt *clnt;\n\tsize_t rcvsize;\n\tsize_t sndsize;\n\tstruct rpc_timeout tcp_timeout;\n\tvoid (*old_data_ready)(struct sock *);\n\tvoid (*old_state_change)(struct sock *);\n\tvoid (*old_write_space)(struct sock *);\n\tvoid (*old_error_report)(struct sock *);\n};\n\nstruct sockaddr_alg_new {\n\t__u16 salg_family;\n\t__u8 salg_type[14];\n\t__u32 salg_feat;\n\t__u32 salg_mask;\n\t__u8 salg_name[0];\n};\n\nstruct sockaddr_nl {\n\t__kernel_sa_family_t nl_family;\n\tshort unsigned int nl_pad;\n\t__u32 nl_pid;\n\t__u32 nl_groups;\n};\n\nstruct sockaddr_un {\n\t__kernel_sa_family_t sun_family;\n\tchar sun_path[108];\n};\n\nstruct socket_wq {\n\twait_queue_head_t wait;\n\tstruct fasync_struct *fasync_list;\n\tlong unsigned int flags;\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct socket {\n\tsocket_state state;\n\tshort int type;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tstruct sock *sk;\n\tconst struct proto_ops *ops;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct socket_wq wq;\n};\n\nstruct socket__safe_trusted_or_null {\n\tstruct sock *sk;\n};\n\nstruct socket_alloc {\n\tstruct socket socket;\n\tstruct inode vfs_inode;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct sockmap_link {\n\tstruct bpf_link link;\n\tstruct bpf_map *map;\n\tenum bpf_attach_type attach_type;\n};\n\nstruct softirq_action {\n\tvoid (*action)(void);\n};\n\nstruct softnet_data {\n\tstruct list_head poll_list;\n\tstruct sk_buff_head process_queue;\n\tlocal_lock_t process_queue_bh_lock;\n\tunsigned int processed;\n\tunsigned int time_squeeze;\n\tstruct softnet_data *rps_ipi_list;\n\tunsigned int received_rps;\n\tbool in_net_rx_action;\n\tbool in_napi_threaded_poll;\n\tstruct sd_flow_limit *flow_limit;\n\tstruct Qdisc *output_queue;\n\tstruct Qdisc **output_queue_tailp;\n\tstruct sk_buff *completion_queue;\n\tstruct netdev_xmit xmit;\n\tlong: 0;\n\tunsigned int input_queue_head;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t csd;\n\tstruct softnet_data *rps_ipi_next;\n\tunsigned int cpu;\n\tunsigned int input_queue_tail;\n\tstruct sk_buff_head input_pkt_queue;\n\tstruct napi_struct backlog;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tatomic_t dropped;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t defer_lock;\n\tint defer_count;\n\tint defer_ipi_scheduled;\n\tstruct sk_buff *defer_list;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tcall_single_data_t defer_csd;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct software_node {\n\tconst char *name;\n\tconst struct software_node *parent;\n\tconst struct property_entry *properties;\n};\n\nstruct space_resv {\n\t__s16 l_type;\n\t__s16 l_whence;\n\t__s64 l_start;\n\t__s64 l_len;\n\t__s32 l_sysid;\n\t__u32 l_pid;\n\t__s32 l_pad[4];\n};\n\nstruct spacemit_pin {\n\tu16 pin;\n\tu16 flags;\n\tu8 gpiofunc;\n};\n\nstruct spacemit_pin_drv_strength {\n\tu8 val;\n\tu32 mA;\n};\n\nstruct spacemit_pin_mux_config {\n\tconst struct spacemit_pin *pin;\n\tu32 config;\n};\n\nstruct spacemit_pinctrl_data;\n\nstruct spacemit_pinctrl {\n\tstruct device *dev;\n\tstruct pinctrl_dev *pctl_dev;\n\tconst struct spacemit_pinctrl_data *data;\n\tstruct pinctrl_desc pdesc;\n\tstruct mutex mutex;\n\traw_spinlock_t lock;\n\tvoid *regs;\n};\n\nstruct spacemit_pinctrl_data {\n\tconst struct pinctrl_pin_desc *pins;\n\tconst struct spacemit_pin *data;\n\tu16 npins;\n};\n\nstruct spansion_nor_params {\n\tu8 clsr;\n};\n\nstruct speed_down_verdict_arg {\n\tu64 since;\n\tint xfer_ok;\n\tint nr_errors[8];\n};\n\nstruct spi_controller_mem_ops;\n\nstruct spi_controller_mem_caps;\n\nstruct spi_statistics;\n\nstruct spi_controller {\n\tstruct device dev;\n\tstruct list_head list;\n\ts16 bus_num;\n\tu16 num_chipselect;\n\tu16 dma_alignment;\n\tu32 mode_bits;\n\tu32 buswidth_override_bits;\n\tu32 bits_per_word_mask;\n\tu32 min_speed_hz;\n\tu32 max_speed_hz;\n\tu16 flags;\n\tbool devm_allocated;\n\tunion {\n\t\tbool slave;\n\t\tbool target;\n\t};\n\tsize_t (*max_transfer_size)(struct spi_device *);\n\tsize_t (*max_message_size)(struct spi_device *);\n\tstruct mutex io_mutex;\n\tstruct mutex add_lock;\n\tspinlock_t bus_lock_spinlock;\n\tstruct mutex bus_lock_mutex;\n\tbool bus_lock_flag;\n\tint (*setup)(struct spi_device *);\n\tint (*set_cs_timing)(struct spi_device *);\n\tint (*transfer)(struct spi_device *, struct spi_message *);\n\tvoid (*cleanup)(struct spi_device *);\n\tbool (*can_dma)(struct spi_controller *, struct spi_device *, struct spi_transfer *);\n\tstruct device *dma_map_dev;\n\tstruct device *cur_rx_dma_dev;\n\tstruct device *cur_tx_dma_dev;\n\tbool queued;\n\tstruct kthread_worker *kworker;\n\tstruct kthread_work pump_messages;\n\tspinlock_t queue_lock;\n\tstruct list_head queue;\n\tstruct spi_message *cur_msg;\n\tstruct completion cur_msg_completion;\n\tbool cur_msg_incomplete;\n\tbool cur_msg_need_completion;\n\tbool busy;\n\tbool running;\n\tbool rt;\n\tbool auto_runtime_pm;\n\tbool fallback;\n\tbool last_cs_mode_high;\n\ts8 last_cs[16];\n\tu32 last_cs_index_mask: 16;\n\tstruct completion xfer_completion;\n\tsize_t max_dma_len;\n\tint (*optimize_message)(struct spi_message *);\n\tint (*unoptimize_message)(struct spi_message *);\n\tint (*prepare_transfer_hardware)(struct spi_controller *);\n\tint (*transfer_one_message)(struct spi_controller *, struct spi_message *);\n\tint (*unprepare_transfer_hardware)(struct spi_controller *);\n\tint (*prepare_message)(struct spi_controller *, struct spi_message *);\n\tint (*unprepare_message)(struct spi_controller *, struct spi_message *);\n\tint (*target_abort)(struct spi_controller *);\n\tvoid (*set_cs)(struct spi_device *, bool);\n\tint (*transfer_one)(struct spi_controller *, struct spi_device *, struct spi_transfer *);\n\tvoid (*handle_err)(struct spi_controller *, struct spi_message *);\n\tconst struct spi_controller_mem_ops *mem_ops;\n\tconst struct spi_controller_mem_caps *mem_caps;\n\tstruct gpio_desc **cs_gpiods;\n\tbool use_gpio_descriptors;\n\ts8 unused_native_cs;\n\ts8 max_native_cs;\n\tstruct spi_statistics *pcpu_statistics;\n\tstruct dma_chan *dma_tx;\n\tstruct dma_chan *dma_rx;\n\tvoid *dummy_rx;\n\tvoid *dummy_tx;\n\tint (*fw_translate_cs)(struct spi_controller *, unsigned int);\n\tbool ptp_sts_supported;\n\tlong unsigned int irq_flags;\n\tbool queue_empty;\n\tbool must_async;\n\tbool defer_optimize_message;\n};\n\nstruct spi_controller_mem_caps {\n\tbool dtr;\n\tbool ecc;\n\tbool swap16;\n\tbool per_op_freq;\n};\n\nstruct spi_mem;\n\nstruct spi_mem_op;\n\nstruct spi_mem_dirmap_desc;\n\nstruct spi_controller_mem_ops {\n\tint (*adjust_op_size)(struct spi_mem *, struct spi_mem_op *);\n\tbool (*supports_op)(struct spi_mem *, const struct spi_mem_op *);\n\tint (*exec_op)(struct spi_mem *, const struct spi_mem_op *);\n\tconst char * (*get_name)(struct spi_mem *);\n\tint (*dirmap_create)(struct spi_mem_dirmap_desc *);\n\tvoid (*dirmap_destroy)(struct spi_mem_dirmap_desc *);\n\tssize_t (*dirmap_read)(struct spi_mem_dirmap_desc *, u64, size_t, void *);\n\tssize_t (*dirmap_write)(struct spi_mem_dirmap_desc *, u64, size_t, const void *);\n\tint (*poll_status)(struct spi_mem *, const struct spi_mem_op *, u16, u16, long unsigned int, long unsigned int, long unsigned int);\n};\n\nstruct spi_device {\n\tstruct device dev;\n\tstruct spi_controller *controller;\n\tu32 max_speed_hz;\n\tu8 chip_select[16];\n\tu8 bits_per_word;\n\tbool rt;\n\tu32 mode;\n\tint irq;\n\tvoid *controller_state;\n\tvoid *controller_data;\n\tchar modalias[32];\n\tconst char *driver_override;\n\tstruct gpio_desc *cs_gpiod[16];\n\tstruct spi_delay word_delay;\n\tstruct spi_delay cs_setup;\n\tstruct spi_delay cs_hold;\n\tstruct spi_delay cs_inactive;\n\tstruct spi_statistics *pcpu_statistics;\n\tu32 cs_index_mask: 16;\n};\n\nstruct spi_device_id {\n\tchar name[32];\n\tkernel_ulong_t driver_data;\n};\n\nstruct spi_driver {\n\tconst struct spi_device_id *id_table;\n\tint (*probe)(struct spi_device *);\n\tvoid (*remove)(struct spi_device *);\n\tvoid (*shutdown)(struct spi_device *);\n\tstruct device_driver driver;\n};\n\nstruct spi_mem {\n\tstruct spi_device *spi;\n\tvoid *drvpriv;\n\tconst char *name;\n};\n\nstruct spi_mem_op {\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t\tu16 opcode;\n\t} cmd;\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t\tu64 val;\n\t} addr;\n\tstruct {\n\t\tu8 nbytes;\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 __pad: 7;\n\t} dummy;\n\tstruct {\n\t\tu8 buswidth;\n\t\tu8 dtr: 1;\n\t\tu8 ecc: 1;\n\t\tu8 swap16: 1;\n\t\tu8 __pad: 5;\n\t\tenum spi_mem_data_dir dir;\n\t\tunsigned int nbytes;\n\t\tunion {\n\t\t\tvoid *in;\n\t\t\tconst void *out;\n\t\t} buf;\n\t} data;\n\tunsigned int max_freq;\n};\n\nstruct spi_mem_dirmap_info {\n\tstruct spi_mem_op op_tmpl;\n\tu64 offset;\n\tu64 length;\n};\n\nstruct spi_mem_dirmap_desc {\n\tstruct spi_mem *mem;\n\tstruct spi_mem_dirmap_info info;\n\tunsigned int nodirmap;\n\tvoid *priv;\n};\n\nstruct spi_mem_driver {\n\tstruct spi_driver spidrv;\n\tint (*probe)(struct spi_mem *);\n\tint (*remove)(struct spi_mem *);\n\tvoid (*shutdown)(struct spi_mem *);\n};\n\nstruct spi_nor_rww {\n\twait_queue_head_t wait;\n\tbool ongoing_io;\n\tbool ongoing_rd;\n\tbool ongoing_pe;\n\tunsigned int used_banks;\n};\n\nstruct spi_nor_manufacturer;\n\nstruct spi_nor_controller_ops;\n\nstruct spi_nor_flash_parameter;\n\nstruct spi_nor {\n\tstruct mtd_info mtd;\n\tstruct mutex lock;\n\tstruct spi_nor_rww rww;\n\tstruct device *dev;\n\tstruct spi_mem *spimem;\n\tu8 *bouncebuf;\n\tsize_t bouncebuf_size;\n\tu8 *id;\n\tconst struct flash_info *info;\n\tconst struct spi_nor_manufacturer *manufacturer;\n\tu8 addr_nbytes;\n\tu8 erase_opcode;\n\tu8 read_opcode;\n\tu8 read_dummy;\n\tu8 program_opcode;\n\tenum spi_nor_protocol read_proto;\n\tenum spi_nor_protocol write_proto;\n\tenum spi_nor_protocol reg_proto;\n\tbool sst_write_second;\n\tu32 flags;\n\tenum spi_nor_cmd_ext cmd_ext_type;\n\tstruct sfdp *sfdp;\n\tstruct dentry *debugfs_root;\n\tconst struct spi_nor_controller_ops *controller_ops;\n\tstruct spi_nor_flash_parameter *params;\n\tstruct {\n\t\tstruct spi_mem_dirmap_desc *rdesc;\n\t\tstruct spi_mem_dirmap_desc *wdesc;\n\t} dirmap;\n\tvoid *priv;\n};\n\nstruct spi_nor_controller_ops {\n\tint (*prepare)(struct spi_nor *);\n\tvoid (*unprepare)(struct spi_nor *);\n\tint (*read_reg)(struct spi_nor *, u8, u8 *, size_t);\n\tint (*write_reg)(struct spi_nor *, u8, const u8 *, size_t);\n\tssize_t (*read)(struct spi_nor *, loff_t, size_t, u8 *);\n\tssize_t (*write)(struct spi_nor *, loff_t, size_t, const u8 *);\n\tint (*erase)(struct spi_nor *, loff_t);\n};\n\nstruct spi_nor_erase_command {\n\tstruct list_head list;\n\tu32 count;\n\tu32 size;\n\tu8 opcode;\n};\n\nstruct spi_nor_erase_region {\n\tu64 offset;\n\tu64 size;\n\tu8 erase_mask;\n\tbool overlaid;\n};\n\nstruct spi_nor_erase_type {\n\tu32 size;\n\tu32 size_shift;\n\tu32 size_mask;\n\tu8 opcode;\n\tu8 idx;\n};\n\nstruct spi_nor_erase_map {\n\tstruct spi_nor_erase_region *regions;\n\tstruct spi_nor_erase_region uniform_region;\n\tstruct spi_nor_erase_type erase_type[4];\n\tunsigned int n_regions;\n};\n\nstruct spi_nor_fixups {\n\tvoid (*default_init)(struct spi_nor *);\n\tint (*post_bfpt)(struct spi_nor *, const struct sfdp_parameter_header *, const struct sfdp_bfpt *);\n\tint (*post_sfdp)(struct spi_nor *);\n\tint (*late_init)(struct spi_nor *);\n};\n\nstruct spi_nor_hwcaps {\n\tu32 mask;\n};\n\nstruct spi_nor_read_command {\n\tu8 num_mode_clocks;\n\tu8 num_wait_states;\n\tu8 opcode;\n\tenum spi_nor_protocol proto;\n};\n\nstruct spi_nor_pp_command {\n\tu8 opcode;\n\tenum spi_nor_protocol proto;\n};\n\nstruct spi_nor_otp_ops;\n\nstruct spi_nor_otp {\n\tconst struct spi_nor_otp_organization *org;\n\tconst struct spi_nor_otp_ops *ops;\n};\n\nstruct spi_nor_locking_ops;\n\nstruct spi_nor_flash_parameter {\n\tu64 bank_size;\n\tu64 size;\n\tu32 writesize;\n\tu32 page_size;\n\tu8 addr_nbytes;\n\tu8 addr_mode_nbytes;\n\tu8 rdsr_dummy;\n\tu8 rdsr_addr_nbytes;\n\tu8 n_banks;\n\tu8 n_dice;\n\tu8 die_erase_opcode;\n\tu32 *vreg_offset;\n\tstruct spi_nor_hwcaps hwcaps;\n\tstruct spi_nor_read_command reads[16];\n\tstruct spi_nor_pp_command page_programs[8];\n\tstruct spi_nor_erase_map erase_map;\n\tstruct spi_nor_otp otp;\n\tint (*set_octal_dtr)(struct spi_nor *, bool);\n\tint (*quad_enable)(struct spi_nor *);\n\tint (*set_4byte_addr_mode)(struct spi_nor *, bool);\n\tint (*ready)(struct spi_nor *);\n\tconst struct spi_nor_locking_ops *locking_ops;\n\tvoid *priv;\n};\n\nstruct spi_nor_id {\n\tconst u8 *bytes;\n\tu8 len;\n};\n\nstruct spi_nor_locking_ops {\n\tint (*lock)(struct spi_nor *, loff_t, u64);\n\tint (*unlock)(struct spi_nor *, loff_t, u64);\n\tint (*is_locked)(struct spi_nor *, loff_t, u64);\n};\n\nstruct spi_nor_manufacturer {\n\tconst char *name;\n\tconst struct flash_info *parts;\n\tunsigned int nparts;\n\tconst struct spi_nor_fixups *fixups;\n};\n\nstruct spi_nor_otp_ops {\n\tint (*read)(struct spi_nor *, loff_t, size_t, u8 *);\n\tint (*write)(struct spi_nor *, loff_t, size_t, const u8 *);\n\tint (*lock)(struct spi_nor *, unsigned int);\n\tint (*erase)(struct spi_nor *, loff_t);\n\tint (*is_locked)(struct spi_nor *, unsigned int);\n};\n\nstruct spi_nor_otp_organization {\n\tsize_t len;\n\tloff_t base;\n\tloff_t offset;\n\tunsigned int n_regions;\n};\n\nstruct spi_replaced_transfers;\n\ntypedef void (*spi_replaced_release_t)(struct spi_controller *, struct spi_message *, struct spi_replaced_transfers *);\n\nstruct spi_replaced_transfers {\n\tspi_replaced_release_t release;\n\tvoid *extradata;\n\tstruct list_head replaced_transfers;\n\tstruct list_head *replaced_after;\n\tsize_t inserted;\n\tstruct spi_transfer inserted_transfers[0];\n};\n\ntypedef void (*spi_res_release_t)(struct spi_controller *, struct spi_message *, void *);\n\nstruct spi_res {\n\tstruct list_head entry;\n\tspi_res_release_t release;\n\tlong long unsigned int data[0];\n};\n\nstruct spi_statistics {\n\tstruct u64_stats_sync syncp;\n\tu64_stats_t messages;\n\tu64_stats_t transfers;\n\tu64_stats_t errors;\n\tu64_stats_t timedout;\n\tu64_stats_t spi_sync;\n\tu64_stats_t spi_sync_immediate;\n\tu64_stats_t spi_async;\n\tu64_stats_t bytes;\n\tu64_stats_t bytes_rx;\n\tu64_stats_t bytes_tx;\n\tu64_stats_t transfer_bytes_histo[17];\n\tu64_stats_t transfers_split_maxsize;\n};\n\nstruct splice_desc {\n\tsize_t total_len;\n\tunsigned int len;\n\tunsigned int flags;\n\tunion {\n\t\tvoid *userptr;\n\t\tstruct file *file;\n\t\tvoid *data;\n\t} u;\n\tvoid (*splice_eof)(struct splice_desc *);\n\tloff_t pos;\n\tloff_t *opos;\n\tsize_t num_spliced;\n\tbool need_wakeup;\n};\n\nstruct splice_pipe_desc {\n\tstruct page **pages;\n\tstruct partial_page *partial;\n\tint nr_pages;\n\tunsigned int nr_pages_max;\n\tconst struct pipe_buf_operations *ops;\n\tvoid (*spd_release)(struct splice_pipe_desc *, unsigned int);\n};\n\nstruct sr6_tlv {\n\t__u8 type;\n\t__u8 len;\n\t__u8 data[0];\n};\n\nstruct srcu_data {\n\tatomic_long_t srcu_lock_count[2];\n\tatomic_long_t srcu_unlock_count[2];\n\tint srcu_reader_flavor;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t lock;\n\tstruct rcu_segcblist srcu_cblist;\n\tlong unsigned int srcu_gp_seq_needed;\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tbool srcu_cblist_invoking;\n\tstruct timer_list delay_work;\n\tstruct work_struct work;\n\tstruct callback_head srcu_barrier_head;\n\tstruct srcu_node *mynode;\n\tlong unsigned int grpmask;\n\tint cpu;\n\tstruct srcu_struct *ssp;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct srcu_node {\n\tspinlock_t lock;\n\tlong unsigned int srcu_have_cbs[4];\n\tlong unsigned int srcu_data_have_cbs[4];\n\tlong unsigned int srcu_gp_seq_needed_exp;\n\tstruct srcu_node *srcu_parent;\n\tint grplo;\n\tint grphi;\n};\n\nstruct stack_entry {\n\tstruct trace_entry ent;\n\tint size;\n\tlong unsigned int caller[0];\n};\n\nstruct stack_map_bucket {\n\tstruct pcpu_freelist_node fnode;\n\tu32 hash;\n\tu32 nr;\n\tu64 data[0];\n};\n\nstruct stack_record {\n\tstruct list_head hash_list;\n\tu32 hash;\n\tu32 size;\n\tunion handle_parts handle;\n\trefcount_t count;\n\tunion {\n\t\tlong unsigned int entries[64];\n\t\tstruct {\n\t\t\tstruct list_head free_list;\n\t\t\tlong unsigned int rcu_state;\n\t\t};\n\t};\n};\n\nstruct stackframe {\n\tlong unsigned int fp;\n\tlong unsigned int ra;\n};\n\nstruct stacktrace_cookie {\n\tlong unsigned int *store;\n\tunsigned int size;\n\tunsigned int skip;\n\tunsigned int len;\n};\n\nstruct starfive_irq_chip {\n\tvoid *base;\n\tstruct irq_domain *domain;\n\traw_spinlock_t lock;\n};\n\nstruct starfive_pinctrl {\n\tstruct gpio_chip gc;\n\tstruct pinctrl_gpio_range gpios;\n\traw_spinlock_t lock;\n\tvoid *base;\n\tvoid *padctl;\n\tstruct pinctrl_dev *pctl;\n\tstruct mutex mutex;\n};\n\nstruct watchdog_info;\n\nstruct watchdog_ops;\n\nstruct watchdog_governor;\n\nstruct watchdog_core_data;\n\nstruct watchdog_device {\n\tint id;\n\tstruct device *parent;\n\tconst struct attribute_group **groups;\n\tconst struct watchdog_info *info;\n\tconst struct watchdog_ops *ops;\n\tconst struct watchdog_governor *gov;\n\tunsigned int bootstatus;\n\tunsigned int timeout;\n\tunsigned int pretimeout;\n\tunsigned int min_timeout;\n\tunsigned int max_timeout;\n\tunsigned int min_hw_heartbeat_ms;\n\tunsigned int max_hw_heartbeat_ms;\n\tstruct notifier_block reboot_nb;\n\tstruct notifier_block restart_nb;\n\tstruct notifier_block pm_nb;\n\tvoid *driver_data;\n\tstruct watchdog_core_data *wd_data;\n\tlong unsigned int status;\n\tstruct list_head deferred;\n};\n\nstruct starfive_wdt_variant;\n\nstruct starfive_wdt {\n\tstruct watchdog_device wdd;\n\tspinlock_t lock;\n\tvoid *base;\n\tstruct clk *core_clk;\n\tstruct clk *apb_clk;\n\tconst struct starfive_wdt_variant *variant;\n\tlong unsigned int freq;\n\tu32 count;\n\tu32 reload;\n};\n\nstruct starfive_wdt_variant {\n\tunsigned int control;\n\tunsigned int load;\n\tunsigned int reload;\n\tunsigned int enable;\n\tunsigned int value;\n\tunsigned int int_clr;\n\tunsigned int unlock;\n\tunsigned int int_status;\n\tu32 unlock_key;\n\tchar enrst_shift;\n\tchar en_shift;\n\tbool intclr_check;\n\tchar intclr_ava_shift;\n\tbool double_timeout;\n};\n\nstruct stashed_operations {\n\tvoid (*put_data)(void *);\n\tint (*init_inode)(struct inode *, void *);\n};\n\nstruct stat {\n\tlong unsigned int st_dev;\n\tlong unsigned int st_ino;\n\tunsigned int st_mode;\n\tunsigned int st_nlink;\n\tunsigned int st_uid;\n\tunsigned int st_gid;\n\tlong unsigned int st_rdev;\n\tlong unsigned int __pad1;\n\tlong int st_size;\n\tint st_blksize;\n\tint __pad2;\n\tlong int st_blocks;\n\tlong int st_atime;\n\tlong unsigned int st_atime_nsec;\n\tlong int st_mtime;\n\tlong unsigned int st_mtime_nsec;\n\tlong int st_ctime;\n\tlong unsigned int st_ctime_nsec;\n\tunsigned int __unused4;\n\tunsigned int __unused5;\n};\n\nstruct stat_node {\n\tstruct rb_node node;\n\tvoid *stat;\n};\n\nstruct tracer_stat;\n\nstruct stat_session {\n\tstruct list_head session_list;\n\tstruct tracer_stat *ts;\n\tstruct rb_root stat_root;\n\tstruct mutex stat_mutex;\n\tstruct dentry *file;\n};\n\nstruct statfs {\n\t__kernel_long_t f_type;\n\t__kernel_long_t f_bsize;\n\t__kernel_long_t f_blocks;\n\t__kernel_long_t f_bfree;\n\t__kernel_long_t f_bavail;\n\t__kernel_long_t f_files;\n\t__kernel_long_t f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__kernel_long_t f_namelen;\n\t__kernel_long_t f_frsize;\n\t__kernel_long_t f_flags;\n\t__kernel_long_t f_spare[4];\n};\n\nstruct statfs64 {\n\t__kernel_long_t f_type;\n\t__kernel_long_t f_bsize;\n\t__u64 f_blocks;\n\t__u64 f_bfree;\n\t__u64 f_bavail;\n\t__u64 f_files;\n\t__u64 f_ffree;\n\t__kernel_fsid_t f_fsid;\n\t__kernel_long_t f_namelen;\n\t__kernel_long_t f_frsize;\n\t__kernel_long_t f_flags;\n\t__kernel_long_t f_spare[4];\n};\n\nstruct static_call_key {\n\tvoid *func;\n};\n\nstruct static_key_mod;\n\nstruct static_key {\n\tatomic_t enabled;\n\tunion {\n\t\tlong unsigned int type;\n\t\tstruct jump_entry *entries;\n\t\tstruct static_key_mod *next;\n\t};\n};\n\nstruct static_key_deferred {\n\tstruct static_key key;\n\tlong unsigned int timeout;\n\tstruct delayed_work work;\n};\n\nstruct static_key_false {\n\tstruct static_key key;\n};\n\nstruct static_key_false_deferred {\n\tstruct static_key_false key;\n\tlong unsigned int timeout;\n\tstruct delayed_work work;\n};\n\nstruct static_key_mod {\n\tstruct static_key_mod *next;\n\tstruct jump_entry *entries;\n\tstruct module *mod;\n};\n\nstruct static_key_true {\n\tstruct static_key key;\n};\n\nstruct stats_reply_data {\n\tstruct ethnl_reply_data base;\n\tunion {\n\t\tstruct {\n\t\t\tstruct ethtool_eth_phy_stats phy_stats;\n\t\t\tstruct ethtool_eth_mac_stats mac_stats;\n\t\t\tstruct ethtool_eth_ctrl_stats ctrl_stats;\n\t\t\tstruct ethtool_rmon_stats rmon_stats;\n\t\t\tstruct ethtool_phy_stats phydev_stats;\n\t\t};\n\t\tstruct {\n\t\t\tstruct ethtool_eth_phy_stats phy_stats;\n\t\t\tstruct ethtool_eth_mac_stats mac_stats;\n\t\t\tstruct ethtool_eth_ctrl_stats ctrl_stats;\n\t\t\tstruct ethtool_rmon_stats rmon_stats;\n\t\t\tstruct ethtool_phy_stats phydev_stats;\n\t\t} stats;\n\t};\n\tconst struct ethtool_rmon_hist_range *rmon_ranges;\n};\n\nstruct stats_req_info {\n\tstruct ethnl_req_info base;\n\tlong unsigned int stat_mask[1];\n\tenum ethtool_mac_stats_src src;\n};\n\nstruct statx_timestamp {\n\t__s64 tv_sec;\n\t__u32 tv_nsec;\n\t__s32 __reserved;\n};\n\nstruct statx {\n\t__u32 stx_mask;\n\t__u32 stx_blksize;\n\t__u64 stx_attributes;\n\t__u32 stx_nlink;\n\t__u32 stx_uid;\n\t__u32 stx_gid;\n\t__u16 stx_mode;\n\t__u16 __spare0[1];\n\t__u64 stx_ino;\n\t__u64 stx_size;\n\t__u64 stx_blocks;\n\t__u64 stx_attributes_mask;\n\tstruct statx_timestamp stx_atime;\n\tstruct statx_timestamp stx_btime;\n\tstruct statx_timestamp stx_ctime;\n\tstruct statx_timestamp stx_mtime;\n\t__u32 stx_rdev_major;\n\t__u32 stx_rdev_minor;\n\t__u32 stx_dev_major;\n\t__u32 stx_dev_minor;\n\t__u64 stx_mnt_id;\n\t__u32 stx_dio_mem_align;\n\t__u32 stx_dio_offset_align;\n\t__u64 stx_subvol;\n\t__u32 stx_atomic_write_unit_min;\n\t__u32 stx_atomic_write_unit_max;\n\t__u32 stx_atomic_write_segments_max;\n\t__u32 stx_dio_read_offset_align;\n\t__u64 __spare3[9];\n};\n\nstruct stop_event_data {\n\tstruct perf_event *event;\n\tunsigned int restart;\n};\n\nstruct strarray {\n\tchar **array;\n\tsize_t n;\n};\n\nstruct strset_info {\n\tbool per_dev;\n\tbool free_strings;\n\tunsigned int count;\n\tconst char (*strings)[32];\n};\n\nstruct strset_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct strset_info sets[23];\n};\n\nstruct strset_req_info {\n\tstruct ethnl_req_info base;\n\tu32 req_ids;\n\tbool counts_only;\n};\n\nstruct subprocess_info {\n\tstruct work_struct work;\n\tstruct completion *complete;\n\tconst char *path;\n\tchar **argv;\n\tchar **envp;\n\tint wait;\n\tint retval;\n\tint (*init)(struct subprocess_info *, struct cred *);\n\tvoid (*cleanup)(struct subprocess_info *);\n\tvoid *data;\n};\n\nstruct subsys_dev_iter {\n\tstruct klist_iter ki;\n\tconst struct device_type *type;\n};\n\nstruct subsys_interface {\n\tconst char *name;\n\tconst struct bus_type *subsys;\n\tstruct list_head node;\n\tint (*add_dev)(struct device *, struct subsys_interface *);\n\tvoid (*remove_dev)(struct device *, struct subsys_interface *);\n};\n\nstruct subsys_private {\n\tstruct kset subsys;\n\tstruct kset *devices_kset;\n\tstruct list_head interfaces;\n\tstruct mutex mutex;\n\tstruct kset *drivers_kset;\n\tstruct klist klist_devices;\n\tstruct klist klist_drivers;\n\tstruct blocking_notifier_head bus_notifier;\n\tunsigned int drivers_autoprobe: 1;\n\tconst struct bus_type *bus;\n\tstruct device *dev_root;\n\tstruct kset glue_dirs;\n\tconst struct class *class;\n\tstruct lock_class_key lock_key;\n};\n\nstruct summary_data {\n\tstruct seq_file *s;\n\tstruct regulator_dev *parent;\n\tint level;\n};\n\nstruct summary_lock_data {\n\tstruct ww_acquire_ctx *ww_ctx;\n\tstruct regulator_dev **new_contended_rdev;\n\tstruct regulator_dev **old_contended_rdev;\n};\n\nstruct sun20i_regulator_data {\n\tconst struct regulator_desc *descs;\n\tunsigned int ndescs;\n};\n\nstruct sun50i_iommu {\n\tstruct iommu_device iommu;\n\tspinlock_t iommu_lock;\n\tstruct device *dev;\n\tvoid *base;\n\tstruct reset_control *reset;\n\tstruct clk *clk;\n\tstruct iommu_domain *domain;\n\tstruct kmem_cache *pt_pool;\n};\n\nstruct sun50i_iommu_domain {\n\tstruct iommu_domain domain;\n\trefcount_t refcnt;\n\tu32 *dt;\n\tdma_addr_t dt_dma;\n\tstruct sun50i_iommu *iommu;\n};\n\nstruct sun6i_msgbox {\n\tstruct mbox_controller controller;\n\tstruct clk *clk;\n\tspinlock_t lock;\n\tvoid *regs;\n};\n\nstruct sun6i_rtc_clk_data {\n\tlong unsigned int rc_osc_rate;\n\tunsigned int fixed_prescaler: 16;\n\tunsigned int has_prescaler: 1;\n\tunsigned int has_out_clk: 1;\n\tunsigned int has_losc_en: 1;\n\tunsigned int has_auto_swt: 1;\n};\n\nstruct sun6i_rtc_dev {\n\tstruct rtc_device *rtc;\n\tconst struct sun6i_rtc_clk_data *data;\n\tvoid *base;\n\tint irq;\n\ttime64_t alarm;\n\tlong unsigned int flags;\n\tstruct clk_hw hw;\n\tstruct clk_hw *int_osc;\n\tstruct clk *losc;\n\tstruct clk *ext_losc;\n\tspinlock_t lock;\n};\n\nstruct sun6i_rtc_match_data {\n\tbool have_ext_osc32k: 1;\n\tbool have_iosc_calibration: 1;\n\tbool rtc_32k_single_parent: 1;\n\tconst struct clk_parent_data *osc32k_fanout_parents;\n\tu8 osc32k_fanout_nparents;\n};\n\nstruct sun6i_spi_cfg;\n\nstruct sun6i_spi {\n\tstruct spi_controller *host;\n\tvoid *base_addr;\n\tdma_addr_t dma_addr_rx;\n\tdma_addr_t dma_addr_tx;\n\tstruct clk *hclk;\n\tstruct clk *mclk;\n\tstruct reset_control *rstc;\n\tstruct completion done;\n\tstruct completion dma_rx_done;\n\tconst u8 *tx_buf;\n\tu8 *rx_buf;\n\tint len;\n\tconst struct sun6i_spi_cfg *cfg;\n};\n\nstruct sun6i_spi_cfg {\n\tlong unsigned int fifo_depth;\n\tbool has_clk_ctl;\n\tu32 mode_bits;\n};\n\nstruct sunrpc_net {\n\tstruct proc_dir_entry *proc_net_rpc;\n\tstruct cache_detail *ip_map_cache;\n\tstruct cache_detail *unix_gid_cache;\n\tstruct cache_detail *rsc_cache;\n\tstruct cache_detail *rsi_cache;\n\tstruct super_block *pipefs_sb;\n\tstruct rpc_pipe *gssd_dummy;\n\tstruct mutex pipefs_sb_lock;\n\tstruct list_head all_clients;\n\tspinlock_t rpc_client_lock;\n\tstruct rpc_clnt *rpcb_local_clnt;\n\tstruct rpc_clnt *rpcb_local_clnt4;\n\tspinlock_t rpcb_clnt_lock;\n\tunsigned int rpcb_users;\n\tunsigned int rpcb_is_af_local: 1;\n\tstruct mutex gssp_lock;\n\tstruct rpc_clnt *gssp_clnt;\n\tint use_gss_proxy;\n\tint pipe_version;\n\tatomic_t pipe_users;\n\tstruct proc_dir_entry *use_gssp_proc;\n\tstruct proc_dir_entry *gss_krb5_enctypes;\n};\n\nstruct sunxi_ccu_desc;\n\nstruct sunxi_ccu {\n\tconst struct sunxi_ccu_desc *desc;\n\tspinlock_t lock;\n\tstruct ccu_reset reset;\n};\n\nstruct sunxi_ccu_desc {\n\tstruct ccu_common **ccu_clks;\n\tlong unsigned int num_ccu_clks;\n\tstruct clk_hw_onecell_data *hw_clks;\n\tconst struct ccu_reset_map *resets;\n\tlong unsigned int num_resets;\n};\n\nstruct sunxi_desc_function {\n\tlong unsigned int variant;\n\tconst char *name;\n\tu8 muxval;\n\tu8 irqbank;\n\tu8 irqnum;\n};\n\nstruct sunxi_desc_pin {\n\tstruct pinctrl_pin_desc pin;\n\tlong unsigned int variant;\n\tstruct sunxi_desc_function *functions;\n};\n\nstruct sunxi_idma_des {\n\t__le32 config;\n\t__le32 buf_size;\n\t__le32 buf_addr_ptr1;\n\t__le32 buf_addr_ptr2;\n};\n\nstruct sunxi_mmc_clk_delay;\n\nstruct sunxi_mmc_cfg {\n\tu32 idma_des_size_bits;\n\tu32 idma_des_shift;\n\tconst struct sunxi_mmc_clk_delay *clk_delays;\n\tbool can_calibrate;\n\tbool mask_data0;\n\tbool needs_new_timings;\n\tbool ccu_has_timings_switch;\n};\n\nstruct sunxi_mmc_clk_delay {\n\tu32 output;\n\tu32 sample;\n};\n\nstruct sunxi_mmc_host {\n\tstruct device *dev;\n\tstruct mmc_host *mmc;\n\tstruct reset_control *reset;\n\tconst struct sunxi_mmc_cfg *cfg;\n\tvoid *reg_base;\n\tstruct clk *clk_ahb;\n\tstruct clk *clk_mmc;\n\tstruct clk *clk_sample;\n\tstruct clk *clk_output;\n\tspinlock_t lock;\n\tint irq;\n\tu32 int_sum;\n\tu32 sdio_imask;\n\tdma_addr_t sg_dma;\n\tvoid *sg_cpu;\n\tbool wait_dma;\n\tstruct mmc_request *mrq;\n\tstruct mmc_request *manual_stop_mrq;\n\tint ferror;\n\tbool vqmmc_enabled;\n\tbool use_new_timings;\n};\n\nstruct sunxi_pinctrl_regulator {\n\tstruct regulator *regulator;\n\trefcount_t refcount;\n};\n\nstruct sunxi_pinctrl_desc;\n\nstruct sunxi_pinctrl_function;\n\nstruct sunxi_pinctrl_group;\n\nstruct sunxi_pinctrl {\n\tvoid *membase;\n\tstruct gpio_chip *chip;\n\tconst struct sunxi_pinctrl_desc *desc;\n\tstruct device *dev;\n\tstruct sunxi_pinctrl_regulator regulators[9];\n\tstruct irq_domain *domain;\n\tstruct sunxi_pinctrl_function *functions;\n\tunsigned int nfunctions;\n\tstruct sunxi_pinctrl_group *groups;\n\tunsigned int ngroups;\n\tint *irq;\n\tunsigned int *irq_array;\n\traw_spinlock_t lock;\n\tstruct pinctrl_dev *pctl_dev;\n\tlong unsigned int variant;\n\tu32 bank_mem_size;\n\tu32 pull_regs_offset;\n\tu32 dlevel_field_width;\n};\n\nstruct sunxi_pinctrl_desc {\n\tconst struct sunxi_desc_pin *pins;\n\tint npins;\n\tunsigned int pin_base;\n\tunsigned int irq_banks;\n\tconst unsigned int *irq_bank_map;\n\tbool irq_read_needs_mux;\n\tbool disable_strict_mode;\n\tenum sunxi_desc_bias_voltage io_bias_cfg_variant;\n};\n\nstruct sunxi_pinctrl_function {\n\tconst char *name;\n\tconst char **groups;\n\tunsigned int ngroups;\n};\n\nstruct sunxi_pinctrl_group {\n\tconst char *name;\n\tunsigned int pin;\n};\n\nstruct sunxi_sid {\n\tvoid *base;\n\tu32 value_offset;\n};\n\nstruct sunxi_sid_cfg {\n\tu32 value_offset;\n\tu32 size;\n\tbool need_register_readout;\n};\n\nstruct sunxi_sram_func;\n\nstruct sunxi_sram_data {\n\tchar *name;\n\tu8 reg;\n\tu8 offset;\n\tu8 width;\n\tstruct sunxi_sram_func *func;\n};\n\nstruct sunxi_sram_desc {\n\tstruct sunxi_sram_data data;\n\tbool claimed;\n};\n\nstruct sunxi_sram_func {\n\tchar *func;\n\tu8 val;\n\tu32 reg_val;\n};\n\nstruct sunxi_sramc_variant {\n\tint num_emac_clocks;\n\tbool has_ldo_ctrl;\n\tbool has_ths_offset;\n};\n\nstruct sunxi_wdt_reg;\n\nstruct sunxi_wdt_dev {\n\tstruct watchdog_device wdt_dev;\n\tvoid *wdt_base;\n\tconst struct sunxi_wdt_reg *wdt_regs;\n};\n\nstruct sunxi_wdt_reg {\n\tu8 wdt_ctrl;\n\tu8 wdt_cfg;\n\tu8 wdt_mode;\n\tu8 wdt_timeout_shift;\n\tu8 wdt_reset_mask;\n\tu8 wdt_reset_val;\n\tu32 wdt_key_val;\n};\n\nstruct super_block {\n\tstruct list_head s_list;\n\tdev_t s_dev;\n\tunsigned char s_blocksize_bits;\n\tlong unsigned int s_blocksize;\n\tloff_t s_maxbytes;\n\tstruct file_system_type *s_type;\n\tconst struct super_operations *s_op;\n\tconst struct dquot_operations *dq_op;\n\tconst struct quotactl_ops *s_qcop;\n\tconst struct export_operations *s_export_op;\n\tlong unsigned int s_flags;\n\tlong unsigned int s_iflags;\n\tlong unsigned int s_magic;\n\tstruct dentry *s_root;\n\tstruct rw_semaphore s_umount;\n\tint s_count;\n\tatomic_t s_active;\n\tvoid *s_security;\n\tconst struct xattr_handler * const *s_xattr;\n\tstruct hlist_bl_head s_roots;\n\tstruct list_head s_mounts;\n\tstruct block_device *s_bdev;\n\tstruct file *s_bdev_file;\n\tstruct backing_dev_info *s_bdi;\n\tstruct mtd_info *s_mtd;\n\tstruct hlist_node s_instances;\n\tunsigned int s_quota_types;\n\tstruct quota_info s_dquot;\n\tstruct sb_writers s_writers;\n\tvoid *s_fs_info;\n\tu32 s_time_gran;\n\ttime64_t s_time_min;\n\ttime64_t s_time_max;\n\tu32 s_fsnotify_mask;\n\tstruct fsnotify_sb_info *s_fsnotify_info;\n\tchar s_id[32];\n\tuuid_t s_uuid;\n\tu8 s_uuid_len;\n\tchar s_sysfs_name[37];\n\tunsigned int s_max_links;\n\tstruct mutex s_vfs_rename_mutex;\n\tconst char *s_subtype;\n\tconst struct dentry_operations *s_d_op;\n\tstruct shrinker *s_shrink;\n\tatomic_long_t s_remove_count;\n\tint s_readonly_remount;\n\terrseq_t s_wb_err;\n\tstruct workqueue_struct *s_dio_done_wq;\n\tstruct hlist_head s_pins;\n\tstruct user_namespace *s_user_ns;\n\tstruct list_lru s_dentry_lru;\n\tstruct list_lru s_inode_lru;\n\tstruct callback_head rcu;\n\tstruct work_struct destroy_work;\n\tstruct mutex s_sync_lock;\n\tint s_stack_depth;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tspinlock_t s_inode_list_lock;\n\tstruct list_head s_inodes;\n\tspinlock_t s_inode_wblist_lock;\n\tstruct list_head s_inodes_wb;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct super_operations {\n\tstruct inode * (*alloc_inode)(struct super_block *);\n\tvoid (*destroy_inode)(struct inode *);\n\tvoid (*free_inode)(struct inode *);\n\tvoid (*dirty_inode)(struct inode *, int);\n\tint (*write_inode)(struct inode *, struct writeback_control *);\n\tint (*drop_inode)(struct inode *);\n\tvoid (*evict_inode)(struct inode *);\n\tvoid (*put_super)(struct super_block *);\n\tint (*sync_fs)(struct super_block *, int);\n\tint (*freeze_super)(struct super_block *, enum freeze_holder);\n\tint (*freeze_fs)(struct super_block *);\n\tint (*thaw_super)(struct super_block *, enum freeze_holder);\n\tint (*unfreeze_fs)(struct super_block *);\n\tint (*statfs)(struct dentry *, struct kstatfs *);\n\tint (*remount_fs)(struct super_block *, int *, char *);\n\tvoid (*umount_begin)(struct super_block *);\n\tint (*show_options)(struct seq_file *, struct dentry *);\n\tint (*show_devname)(struct seq_file *, struct dentry *);\n\tint (*show_path)(struct seq_file *, struct dentry *);\n\tint (*show_stats)(struct seq_file *, struct dentry *);\n\tlong int (*nr_cached_objects)(struct super_block *, struct shrink_control *);\n\tlong int (*free_cached_objects)(struct super_block *, struct shrink_control *);\n\tvoid (*shutdown)(struct super_block *);\n};\n\nstruct superblock_security_struct {\n\tu32 sid;\n\tu32 def_sid;\n\tu32 mntpoint_sid;\n\tshort unsigned int behavior;\n\tshort unsigned int flags;\n\tstruct mutex lock;\n\tstruct list_head isec_head;\n\tspinlock_t isec_lock;\n};\n\nstruct supplier_bindings {\n\tstruct device_node * (*parse_prop)(struct device_node *, const char *, int);\n\tstruct device_node * (*get_con_dev)(struct device_node *);\n\tbool optional;\n\tu8 fwlink_flags;\n};\n\nstruct suspend_context {\n\tstruct pt_regs regs;\n\tlong unsigned int envcfg;\n\tlong unsigned int tvec;\n\tlong unsigned int ie;\n\tlong unsigned int satp;\n};\n\nstruct suspend_stats {\n\tunsigned int step_failures[8];\n\tunsigned int success;\n\tunsigned int fail;\n\tint last_failed_dev;\n\tchar failed_devs[80];\n\tint last_failed_errno;\n\tint errno[2];\n\tint last_failed_step;\n\tu64 last_hw_sleep;\n\tu64 total_hw_sleep;\n\tu64 max_hw_sleep;\n\tenum suspend_stat_step failed_steps[2];\n};\n\nstruct svc_deferred_req {\n\tu32 prot;\n\tstruct svc_xprt *xprt;\n\tstruct __kernel_sockaddr_storage addr;\n\tsize_t addrlen;\n\tstruct __kernel_sockaddr_storage daddr;\n\tsize_t daddrlen;\n\tvoid *xprt_ctxt;\n\tstruct cache_deferred_req handle;\n\tint argslen;\n\t__be32 args[0];\n};\n\nstruct svc_info {\n\tstruct svc_serv *serv;\n\tstruct mutex *mutex;\n};\n\nstruct svc_pool {\n\tunsigned int sp_id;\n\tstruct lwq sp_xprts;\n\tunsigned int sp_nrthreads;\n\tstruct list_head sp_all_threads;\n\tstruct llist_head sp_idle_threads;\n\tstruct percpu_counter sp_messages_arrived;\n\tstruct percpu_counter sp_sockets_queued;\n\tstruct percpu_counter sp_threads_woken;\n\tlong unsigned int sp_flags;\n};\n\nstruct svc_pool_map {\n\tint count;\n\tint mode;\n\tunsigned int npools;\n\tunsigned int *pool_to;\n\tunsigned int *to_pool;\n};\n\nstruct svc_procedure {\n\t__be32 (*pc_func)(struct svc_rqst *);\n\tbool (*pc_decode)(struct svc_rqst *, struct xdr_stream *);\n\tbool (*pc_encode)(struct svc_rqst *, struct xdr_stream *);\n\tvoid (*pc_release)(struct svc_rqst *);\n\tunsigned int pc_argsize;\n\tunsigned int pc_argzero;\n\tunsigned int pc_ressize;\n\tunsigned int pc_cachetype;\n\tunsigned int pc_xdrressize;\n\tconst char *pc_name;\n};\n\nstruct svc_process_info {\n\tunion {\n\t\tint (*dispatch)(struct svc_rqst *);\n\t\tstruct {\n\t\t\tunsigned int lovers;\n\t\t\tunsigned int hivers;\n\t\t} mismatch;\n\t};\n};\n\nstruct svc_version;\n\nstruct svc_program {\n\tu32 pg_prog;\n\tunsigned int pg_lovers;\n\tunsigned int pg_hivers;\n\tunsigned int pg_nvers;\n\tconst struct svc_version **pg_vers;\n\tchar *pg_name;\n\tchar *pg_class;\n\tenum svc_auth_status (*pg_authenticate)(struct svc_rqst *);\n\t__be32 (*pg_init_request)(struct svc_rqst *, const struct svc_program *, struct svc_process_info *);\n\tint (*pg_rpcbind_set)(struct net *, const struct svc_program *, u32, int, short unsigned int, short unsigned int);\n};\n\nstruct xdr_stream {\n\t__be32 *p;\n\tstruct xdr_buf *buf;\n\t__be32 *end;\n\tstruct kvec *iov;\n\tstruct kvec scratch;\n\tstruct page **page_ptr;\n\tvoid *page_kaddr;\n\tunsigned int nwords;\n\tstruct rpc_rqst *rqst;\n};\n\nstruct svc_rqst {\n\tstruct list_head rq_all;\n\tstruct llist_node rq_idle;\n\tstruct callback_head rq_rcu_head;\n\tstruct svc_xprt *rq_xprt;\n\tstruct __kernel_sockaddr_storage rq_addr;\n\tsize_t rq_addrlen;\n\tstruct __kernel_sockaddr_storage rq_daddr;\n\tsize_t rq_daddrlen;\n\tstruct svc_serv *rq_server;\n\tstruct svc_pool *rq_pool;\n\tconst struct svc_procedure *rq_procinfo;\n\tstruct auth_ops *rq_authop;\n\tstruct svc_cred rq_cred;\n\tvoid *rq_xprt_ctxt;\n\tstruct svc_deferred_req *rq_deferred;\n\tstruct xdr_buf rq_arg;\n\tstruct xdr_stream rq_arg_stream;\n\tstruct xdr_stream rq_res_stream;\n\tstruct page *rq_scratch_page;\n\tstruct xdr_buf rq_res;\n\tstruct page *rq_pages[260];\n\tstruct page **rq_respages;\n\tstruct page **rq_next_page;\n\tstruct page **rq_page_end;\n\tstruct folio_batch rq_fbatch;\n\tstruct kvec rq_vec[259];\n\tstruct bio_vec rq_bvec[259];\n\t__be32 rq_xid;\n\tu32 rq_prog;\n\tu32 rq_vers;\n\tu32 rq_proc;\n\tu32 rq_prot;\n\tint rq_cachetype;\n\tlong unsigned int rq_flags;\n\tktime_t rq_qtime;\n\tvoid *rq_argp;\n\tvoid *rq_resp;\n\t__be32 *rq_accept_statp;\n\tvoid *rq_auth_data;\n\t__be32 rq_auth_stat;\n\tint rq_auth_slack;\n\tint rq_reserved;\n\tktime_t rq_stime;\n\tstruct cache_req rq_chandle;\n\tstruct auth_domain *rq_client;\n\tstruct auth_domain *rq_gssclient;\n\tstruct task_struct *rq_task;\n\tstruct net *rq_bc_net;\n\tint rq_err;\n\tlong unsigned int bc_to_initval;\n\tunsigned int bc_to_retries;\n\tvoid **rq_lease_breaker;\n\tunsigned int rq_status_counter;\n};\n\nstruct svc_stat;\n\nstruct svc_serv {\n\tstruct svc_program *sv_programs;\n\tstruct svc_stat *sv_stats;\n\tspinlock_t sv_lock;\n\tunsigned int sv_nprogs;\n\tunsigned int sv_nrthreads;\n\tunsigned int sv_max_payload;\n\tunsigned int sv_max_mesg;\n\tunsigned int sv_xdrsize;\n\tstruct list_head sv_permsocks;\n\tstruct list_head sv_tempsocks;\n\tint sv_tmpcnt;\n\tstruct timer_list sv_temptimer;\n\tchar *sv_name;\n\tunsigned int sv_nrpools;\n\tbool sv_is_pooled;\n\tstruct svc_pool *sv_pools;\n\tint (*sv_threadfn)(void *);\n\tstruct lwq sv_cb_list;\n\tbool sv_bc_enabled;\n};\n\nstruct svc_xprt_class;\n\nstruct svc_xprt_ops;\n\nstruct svc_xprt {\n\tstruct svc_xprt_class *xpt_class;\n\tconst struct svc_xprt_ops *xpt_ops;\n\tstruct kref xpt_ref;\n\tstruct list_head xpt_list;\n\tstruct lwq_node xpt_ready;\n\tlong unsigned int xpt_flags;\n\tstruct svc_serv *xpt_server;\n\tatomic_t xpt_reserved;\n\tatomic_t xpt_nr_rqsts;\n\tstruct mutex xpt_mutex;\n\tspinlock_t xpt_lock;\n\tvoid *xpt_auth_cache;\n\tstruct list_head xpt_deferred;\n\tstruct __kernel_sockaddr_storage xpt_local;\n\tsize_t xpt_locallen;\n\tstruct __kernel_sockaddr_storage xpt_remote;\n\tsize_t xpt_remotelen;\n\tchar xpt_remotebuf[58];\n\tstruct list_head xpt_users;\n\tstruct net *xpt_net;\n\tnetns_tracker ns_tracker;\n\tconst struct cred *xpt_cred;\n\tstruct rpc_xprt *xpt_bc_xprt;\n\tstruct rpc_xprt_switch *xpt_bc_xps;\n};\n\nstruct svc_sock {\n\tstruct svc_xprt sk_xprt;\n\tstruct socket *sk_sock;\n\tstruct sock *sk_sk;\n\tvoid (*sk_ostate)(struct sock *);\n\tvoid (*sk_odata)(struct sock *);\n\tvoid (*sk_owspace)(struct sock *);\n\t__be32 sk_marker;\n\tu32 sk_tcplen;\n\tu32 sk_datalen;\n\tstruct page_frag_cache sk_frag_cache;\n\tstruct completion sk_handshake_done;\n\tstruct page *sk_pages[259];\n};\n\nstruct svc_stat {\n\tstruct svc_program *program;\n\tunsigned int netcnt;\n\tunsigned int netudpcnt;\n\tunsigned int nettcpcnt;\n\tunsigned int nettcpconn;\n\tunsigned int rpccnt;\n\tunsigned int rpcbadfmt;\n\tunsigned int rpcbadauth;\n\tunsigned int rpcbadclnt;\n};\n\nstruct svc_version {\n\tu32 vs_vers;\n\tu32 vs_nproc;\n\tconst struct svc_procedure *vs_proc;\n\tlong unsigned int *vs_count;\n\tu32 vs_xdrsize;\n\tbool vs_hidden;\n\tbool vs_rpcb_optnl;\n\tbool vs_need_cong_ctrl;\n\tint (*vs_dispatch)(struct svc_rqst *);\n};\n\nstruct svc_xprt_class {\n\tconst char *xcl_name;\n\tstruct module *xcl_owner;\n\tconst struct svc_xprt_ops *xcl_ops;\n\tstruct list_head xcl_list;\n\tu32 xcl_max_payload;\n\tint xcl_ident;\n};\n\nstruct svc_xprt_ops {\n\tstruct svc_xprt * (*xpo_create)(struct svc_serv *, struct net *, struct sockaddr *, int, int);\n\tstruct svc_xprt * (*xpo_accept)(struct svc_xprt *);\n\tint (*xpo_has_wspace)(struct svc_xprt *);\n\tint (*xpo_recvfrom)(struct svc_rqst *);\n\tint (*xpo_sendto)(struct svc_rqst *);\n\tint (*xpo_result_payload)(struct svc_rqst *, unsigned int, unsigned int);\n\tvoid (*xpo_release_ctxt)(struct svc_xprt *, void *);\n\tvoid (*xpo_detach)(struct svc_xprt *);\n\tvoid (*xpo_free)(struct svc_xprt *);\n\tvoid (*xpo_kill_temp_xprt)(struct svc_xprt *);\n\tvoid (*xpo_handshake)(struct svc_xprt *);\n};\n\nstruct svc_xpt_user {\n\tstruct list_head list;\n\tvoid (*callback)(struct svc_xpt_user *);\n};\n\nstruct swait_queue {\n\tstruct task_struct *task;\n\tstruct list_head task_list;\n};\n\nstruct swap_cgroup {\n\tatomic_t ids;\n};\n\nstruct swap_cgroup_ctrl {\n\tstruct swap_cgroup *map;\n};\n\nstruct swap_cluster_info {\n\tspinlock_t lock;\n\tu16 count;\n\tu8 flags;\n\tu8 order;\n\tstruct list_head list;\n};\n\nstruct swap_extent {\n\tstruct rb_node rb_node;\n\tlong unsigned int start_page;\n\tlong unsigned int nr_pages;\n\tsector_t start_block;\n};\n\nunion swap_header {\n\tstruct {\n\t\tchar reserved[4086];\n\t\tchar magic[10];\n\t} magic;\n\tstruct {\n\t\tchar bootbits[1024];\n\t\t__u32 version;\n\t\t__u32 last_page;\n\t\t__u32 nr_badpages;\n\t\tunsigned char sws_uuid[16];\n\t\tunsigned char sws_volume[16];\n\t\t__u32 padding[117];\n\t\t__u32 badpages[1];\n\t} info;\n};\n\nstruct swap_info_struct {\n\tstruct percpu_ref users;\n\tlong unsigned int flags;\n\tshort int prio;\n\tstruct plist_node list;\n\tsigned char type;\n\tunsigned int max;\n\tunsigned char *swap_map;\n\tlong unsigned int *zeromap;\n\tstruct swap_cluster_info *cluster_info;\n\tstruct list_head free_clusters;\n\tstruct list_head full_clusters;\n\tstruct list_head nonfull_clusters[1];\n\tstruct list_head frag_clusters[1];\n\tatomic_long_t frag_cluster_nr[1];\n\tunsigned int pages;\n\tatomic_long_t inuse_pages;\n\tstruct percpu_cluster *percpu_cluster;\n\tstruct percpu_cluster *global_cluster;\n\tspinlock_t global_cluster_lock;\n\tstruct rb_root swap_extent_root;\n\tstruct block_device *bdev;\n\tstruct file *swap_file;\n\tstruct completion comp;\n\tspinlock_t lock;\n\tspinlock_t cont_lock;\n\tstruct work_struct discard_work;\n\tstruct work_struct reclaim_work;\n\tstruct list_head discard_clusters;\n\tstruct plist_node avail_lists[0];\n};\n\nstruct swap_iocb {\n\tstruct kiocb iocb;\n\tstruct bio_vec bvec[32];\n\tint pages;\n\tint len;\n};\n\nstruct swap_slots_cache {\n\tbool lock_initialized;\n\tstruct mutex alloc_lock;\n\tswp_entry_t *slots;\n\tint nr;\n\tint cur;\n\tint n_ret;\n};\n\nstruct swevent_hlist {\n\tstruct hlist_head heads[256];\n\tstruct callback_head callback_head;\n};\n\nstruct swevent_htable {\n\tstruct swevent_hlist *swevent_hlist;\n\tstruct mutex hlist_mutex;\n\tint hlist_refcount;\n};\n\nstruct swmii_regs {\n\tu16 bmsr;\n\tu16 lpa;\n\tu16 lpagb;\n\tu16 estat;\n};\n\nstruct swnode {\n\tstruct kobject kobj;\n\tstruct fwnode_handle fwnode;\n\tconst struct software_node *node;\n\tint id;\n\tstruct ida child_ids;\n\tstruct list_head entry;\n\tstruct list_head children;\n\tstruct swnode *parent;\n\tunsigned int allocated: 1;\n\tunsigned int managed: 1;\n};\n\nstruct swoc_info {\n\t__u8 rev;\n\t__u8 reserved[8];\n\t__u16 LinuxSKU;\n\t__u16 LinuxVer;\n\t__u8 reserved2[47];\n} __attribute__((packed));\n\nstruct symsearch {\n\tconst struct kernel_symbol *start;\n\tconst struct kernel_symbol *stop;\n\tconst u32 *crcs;\n\tenum mod_license license;\n};\n\nstruct synaptics_device_info {\n\tu32 model_id;\n\tu32 firmware_id;\n\tu32 board_id;\n\tu32 capabilities;\n\tu32 ext_cap;\n\tu32 ext_cap_0c;\n\tu32 ext_cap_10;\n\tu32 identity;\n\tu32 x_res;\n\tu32 y_res;\n\tu32 x_max;\n\tu32 y_max;\n\tu32 x_min;\n\tu32 y_min;\n};\n\nstruct synaptics_hw_state {\n\tint x;\n\tint y;\n\tint z;\n\tint w;\n\tunsigned int left: 1;\n\tunsigned int right: 1;\n\tunsigned int middle: 1;\n\tunsigned int up: 1;\n\tunsigned int down: 1;\n\tu8 ext_buttons;\n\ts8 scroll;\n};\n\nstruct synaptics_data {\n\tstruct synaptics_device_info info;\n\tenum synaptics_pkt_type pkt_type;\n\tu8 mode;\n\tint scroll;\n\tbool absolute_mode;\n\tbool disable_gesture;\n\tstruct serio *pt_port;\n\tbool pt_port_open;\n\tstruct synaptics_hw_state agm;\n\tunsigned int agm_count;\n\tlong unsigned int press_start;\n\tbool press;\n\tbool report_press;\n\tbool is_forcepad;\n};\n\nstruct sync_fence_info {\n\tchar obj_name[32];\n\tchar driver_name[32];\n\t__s32 status;\n\t__u32 flags;\n\t__u64 timestamp_ns;\n};\n\nstruct sync_file {\n\tstruct file *file;\n\tchar user_name[32];\n\tstruct list_head sync_file_list;\n\twait_queue_head_t wq;\n\tlong unsigned int flags;\n\tstruct dma_fence *fence;\n\tstruct dma_fence_cb cb;\n};\n\nstruct sync_file_info {\n\tchar name[32];\n\t__s32 status;\n\t__u32 flags;\n\t__u32 num_fences;\n\t__u32 pad;\n\t__u64 sync_fence_info;\n};\n\nstruct sync_merge_data {\n\tchar name[32];\n\t__s32 fd2;\n\t__s32 fence;\n\t__u32 flags;\n\t__u32 pad;\n};\n\nstruct sync_set_deadline {\n\t__u64 deadline_ns;\n\t__u64 pad;\n};\n\nstruct sys_off_data {\n\tint mode;\n\tvoid *cb_data;\n\tconst char *cmd;\n\tstruct device *dev;\n};\n\nstruct sys_off_handler {\n\tstruct notifier_block nb;\n\tint (*sys_off_cb)(struct sys_off_data *);\n\tvoid *cb_data;\n\tenum sys_off_mode mode;\n\tbool blocking;\n\tvoid *list;\n\tstruct device *dev;\n};\n\nstruct syscall_info {\n\t__u64 sp;\n\tstruct seccomp_data data;\n};\n\nstruct syscall_metadata {\n\tconst char *name;\n\tint syscall_nr;\n\tint nb_args;\n\tconst char **types;\n\tconst char **args;\n\tstruct list_head enter_fields;\n\tstruct trace_event_call *enter_event;\n\tstruct trace_event_call *exit_event;\n};\n\nstruct syscall_tp_t {\n\tstruct trace_entry ent;\n\tint syscall_nr;\n\tlong unsigned int ret;\n};\n\nstruct syscall_tp_t___2 {\n\tstruct trace_entry ent;\n\tint syscall_nr;\n\tlong unsigned int args[6];\n};\n\nstruct syscall_trace_enter {\n\tstruct trace_entry ent;\n\tint nr;\n\tlong unsigned int args[0];\n};\n\nstruct syscall_trace_exit {\n\tstruct trace_entry ent;\n\tint nr;\n\tlong int ret;\n};\n\nstruct syscall_user_dispatch {\n\tchar *selector;\n\tlong unsigned int offset;\n\tlong unsigned int len;\n\tbool on_dispatch;\n};\n\nstruct syscon {\n\tstruct device_node *np;\n\tstruct regmap *regmap;\n\tstruct reset_control *reset;\n\tstruct list_head list;\n};\n\nstruct syscon_poweroff_data {\n\tstruct regmap *map;\n\tu32 offset;\n\tu32 value;\n\tu32 mask;\n};\n\nstruct syscon_reboot_context {\n\tstruct regmap *map;\n\tu32 offset;\n\tu32 value;\n\tu32 mask;\n\tstruct notifier_block restart_handler;\n};\n\nstruct syscore_ops {\n\tstruct list_head node;\n\tint (*suspend)(void);\n\tvoid (*resume)(void);\n\tvoid (*shutdown)(void);\n};\n\nstruct sysctl_alias {\n\tconst char *kernel_param;\n\tconst char *sysctl_param;\n};\n\nstruct sysfs_ops {\n\tssize_t (*show)(struct kobject *, struct attribute *, char *);\n\tssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t);\n};\n\nstruct sysinfo {\n\t__kernel_long_t uptime;\n\t__kernel_ulong_t loads[3];\n\t__kernel_ulong_t totalram;\n\t__kernel_ulong_t freeram;\n\t__kernel_ulong_t sharedram;\n\t__kernel_ulong_t bufferram;\n\t__kernel_ulong_t totalswap;\n\t__kernel_ulong_t freeswap;\n\t__u16 procs;\n\t__u16 pad;\n\t__kernel_ulong_t totalhigh;\n\t__kernel_ulong_t freehigh;\n\t__u32 mem_unit;\n\tchar _f[0];\n};\n\nstruct sysrq_key_op {\n\tvoid (* const handler)(u8);\n\tconst char * const help_msg;\n\tconst char * const action_msg;\n\tconst int enable_mask;\n};\n\nstruct system_counterval_t {\n\tu64 cycles;\n\tenum clocksource_ids cs_id;\n\tbool use_nsecs;\n};\n\nstruct system_device_crosststamp {\n\tktime_t device;\n\tktime_t sys_realtime;\n\tktime_t sys_monoraw;\n};\n\nstruct system_time_snapshot {\n\tu64 cycles;\n\tktime_t real;\n\tktime_t boot;\n\tktime_t raw;\n\tenum clocksource_ids cs_id;\n\tunsigned int clock_was_set_seq;\n\tu8 cs_was_changed_seq;\n};\n\nstruct sysv_sem {\n\tstruct sem_undo_list *undo_list;\n};\n\nstruct sysv_shm {\n\tstruct list_head shm_clist;\n};\n\nstruct table_header {\n\tu16 td_id;\n\tu16 td_flags;\n\tu32 td_hilen;\n\tu32 td_lolen;\n\tchar td_data[0];\n};\n\nstruct taint_flag {\n\tchar c_true;\n\tchar c_false;\n\tbool module;\n\tconst char *desc;\n};\n\nstruct task_group {\n\tstruct cgroup_subsys_state css;\n\tint idle;\n\tstruct sched_entity **se;\n\tstruct cfs_rq **cfs_rq;\n\tlong unsigned int shares;\n\tlong: 64;\n\tlong: 64;\n\tatomic_long_t load_avg;\n\tstruct callback_head rcu;\n\tstruct list_head list;\n\tstruct task_group *parent;\n\tstruct list_head siblings;\n\tstruct list_head children;\n\tstruct cfs_bandwidth cfs_bandwidth;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct task_security_struct {\n\tu32 osid;\n\tu32 sid;\n\tu32 exec_sid;\n\tu32 create_sid;\n\tu32 keycreate_sid;\n\tu32 sockcreate_sid;\n};\n\ntypedef struct task_struct *class_find_get_task_t;\n\ntypedef struct task_struct *class_task_lock_t;\n\nstruct thread_info {\n\tlong unsigned int flags;\n\tint preempt_count;\n\tlong int kernel_sp;\n\tlong int user_sp;\n\tint cpu;\n\tlong unsigned int syscall_work;\n\tlong unsigned int a0;\n\tlong unsigned int a1;\n\tlong unsigned int a2;\n};\n\nstruct wake_q_node {\n\tstruct wake_q_node *next;\n};\n\nstruct tlbflush_unmap_batch {\n\tstruct arch_tlbflush_unmap_batch arch;\n\tbool flush_required;\n\tbool writable;\n};\n\nstruct thread_struct {\n\tlong unsigned int ra;\n\tlong unsigned int sp;\n\tlong unsigned int s[12];\n\tstruct __riscv_d_ext_state fstate;\n\tlong unsigned int bad_cause;\n\tlong unsigned int envcfg;\n\tu32 riscv_v_flags;\n\tu32 vstate_ctrl;\n\tstruct __riscv_v_ext_state vstate;\n\tlong unsigned int align_ctl;\n\tstruct __riscv_v_ext_state kernel_vstate;\n\tbool force_icache_flush;\n\tunsigned int prev_cpu;\n};\n\nstruct uprobe_task;\n\nstruct task_struct {\n\tstruct thread_info thread_info;\n\tunsigned int __state;\n\tunsigned int saved_state;\n\tvoid *stack;\n\trefcount_t usage;\n\tunsigned int flags;\n\tunsigned int ptrace;\n\tint on_cpu;\n\tstruct __call_single_node wake_entry;\n\tunsigned int wakee_flips;\n\tlong unsigned int wakee_flip_decay_ts;\n\tstruct task_struct *last_wakee;\n\tint recent_used_cpu;\n\tint wake_cpu;\n\tint on_rq;\n\tint prio;\n\tint static_prio;\n\tint normal_prio;\n\tunsigned int rt_priority;\n\tlong: 64;\n\tlong: 64;\n\tstruct sched_entity se;\n\tstruct sched_rt_entity rt;\n\tstruct sched_dl_entity dl;\n\tstruct sched_dl_entity *dl_server;\n\tconst struct sched_class *sched_class;\n\tstruct task_group *sched_task_group;\n\tstruct sched_statistics stats;\n\tstruct hlist_head preempt_notifiers;\n\tunsigned int policy;\n\tlong unsigned int max_allowed_capacity;\n\tint nr_cpus_allowed;\n\tconst cpumask_t *cpus_ptr;\n\tcpumask_t *user_cpus_ptr;\n\tcpumask_t cpus_mask;\n\tvoid *migration_pending;\n\tshort unsigned int migration_disabled;\n\tshort unsigned int migration_flags;\n\tint trc_reader_nesting;\n\tint trc_ipi_to_cpu;\n\tunion rcu_special trc_reader_special;\n\tstruct list_head trc_holdout_list;\n\tstruct list_head trc_blkd_node;\n\tint trc_blkd_cpu;\n\tstruct sched_info sched_info;\n\tstruct list_head tasks;\n\tstruct plist_node pushable_tasks;\n\tstruct rb_node pushable_dl_tasks;\n\tstruct mm_struct *mm;\n\tstruct mm_struct *active_mm;\n\tstruct address_space *faults_disabled_mapping;\n\tint exit_state;\n\tint exit_code;\n\tint exit_signal;\n\tint pdeath_signal;\n\tlong unsigned int jobctl;\n\tunsigned int personality;\n\tunsigned int sched_reset_on_fork: 1;\n\tunsigned int sched_contributes_to_load: 1;\n\tunsigned int sched_migrated: 1;\n\tunsigned int sched_task_hot: 1;\n\tlong: 28;\n\tunsigned int sched_remote_wakeup: 1;\n\tunsigned int sched_rt_mutex: 1;\n\tunsigned int in_execve: 1;\n\tunsigned int in_iowait: 1;\n\tunsigned int brk_randomized: 1;\n\tunsigned int no_cgroup_migration: 1;\n\tunsigned int frozen: 1;\n\tunsigned int use_memdelay: 1;\n\tunsigned int in_eventfd: 1;\n\tlong unsigned int atomic_flags;\n\tstruct restart_block restart_block;\n\tpid_t pid;\n\tpid_t tgid;\n\tlong unsigned int stack_canary;\n\tstruct task_struct *real_parent;\n\tstruct task_struct *parent;\n\tstruct list_head children;\n\tstruct list_head sibling;\n\tstruct task_struct *group_leader;\n\tstruct list_head ptraced;\n\tstruct list_head ptrace_entry;\n\tstruct pid *thread_pid;\n\tstruct hlist_node pid_links[4];\n\tstruct list_head thread_node;\n\tstruct completion *vfork_done;\n\tint *set_child_tid;\n\tint *clear_child_tid;\n\tvoid *worker_private;\n\tu64 utime;\n\tu64 stime;\n\tu64 gtime;\n\tstruct prev_cputime prev_cputime;\n\tlong unsigned int nvcsw;\n\tlong unsigned int nivcsw;\n\tu64 start_time;\n\tu64 start_boottime;\n\tlong unsigned int min_flt;\n\tlong unsigned int maj_flt;\n\tstruct posix_cputimers posix_cputimers;\n\tstruct posix_cputimers_work posix_cputimers_work;\n\tconst struct cred *ptracer_cred;\n\tconst struct cred *real_cred;\n\tconst struct cred *cred;\n\tstruct key *cached_requested_key;\n\tchar comm[16];\n\tstruct nameidata *nameidata;\n\tstruct sysv_sem sysvsem;\n\tstruct sysv_shm sysvshm;\n\tlong unsigned int last_switch_count;\n\tlong unsigned int last_switch_time;\n\tstruct fs_struct *fs;\n\tstruct files_struct *files;\n\tstruct io_uring_task *io_uring;\n\tstruct nsproxy *nsproxy;\n\tstruct signal_struct *signal;\n\tstruct sighand_struct *sighand;\n\tsigset_t blocked;\n\tsigset_t real_blocked;\n\tsigset_t saved_sigmask;\n\tstruct sigpending pending;\n\tlong unsigned int sas_ss_sp;\n\tsize_t sas_ss_size;\n\tunsigned int sas_ss_flags;\n\tstruct callback_head *task_works;\n\tstruct audit_context *audit_context;\n\tkuid_t loginuid;\n\tunsigned int sessionid;\n\tstruct seccomp seccomp;\n\tstruct syscall_user_dispatch syscall_dispatch;\n\tu64 parent_exec_id;\n\tu64 self_exec_id;\n\tspinlock_t alloc_lock;\n\traw_spinlock_t pi_lock;\n\tstruct wake_q_node wake_q;\n\tstruct rb_root_cached pi_waiters;\n\tstruct task_struct *pi_top_task;\n\tstruct rt_mutex_waiter *pi_blocked_on;\n\tstruct mutex_waiter *blocked_on;\n\tint non_block_count;\n\tvoid *journal_info;\n\tstruct bio_list *bio_list;\n\tstruct blk_plug *plug;\n\tstruct reclaim_state *reclaim_state;\n\tstruct io_context *io_context;\n\tstruct capture_control *capture_control;\n\tlong unsigned int ptrace_message;\n\tkernel_siginfo_t *last_siginfo;\n\tstruct task_io_accounting ioac;\n\tnodemask_t mems_allowed;\n\tseqcount_spinlock_t mems_allowed_seq;\n\tint cpuset_mem_spread_rotor;\n\tstruct css_set *cgroups;\n\tstruct list_head cg_list;\n\tstruct robust_list_head *robust_list;\n\tstruct compat_robust_list_head *compat_robust_list;\n\tstruct list_head pi_state_list;\n\tstruct futex_pi_state *pi_state_cache;\n\tstruct mutex futex_exit_mutex;\n\tunsigned int futex_state;\n\tu8 perf_recursion[4];\n\tstruct perf_event_context *perf_event_ctxp;\n\tstruct mutex perf_event_mutex;\n\tstruct list_head perf_event_list;\n\tstruct rseq *rseq;\n\tu32 rseq_len;\n\tu32 rseq_sig;\n\tlong unsigned int rseq_event_mask;\n\tint mm_cid;\n\tint last_mm_cid;\n\tint migrate_from_cpu;\n\tint mm_cid_active;\n\tstruct callback_head cid_work;\n\tstruct tlbflush_unmap_batch tlb_ubc;\n\tstruct pipe_inode_info *splice_pipe;\n\tstruct page_frag task_frag;\n\tint nr_dirtied;\n\tint nr_dirtied_pause;\n\tlong unsigned int dirty_paused_when;\n\tu64 timer_slack_ns;\n\tu64 default_timer_slack_ns;\n\tlong unsigned int trace_recursion;\n\tunsigned int memcg_nr_pages_over_high;\n\tstruct mem_cgroup *active_memcg;\n\tstruct obj_cgroup *objcg;\n\tstruct gendisk *throttle_disk;\n\tstruct uprobe_task *utask;\n\tstruct kmap_ctrl kmap_ctrl;\n\tlong unsigned int task_state_change;\n\tstruct callback_head rcu;\n\trefcount_t rcu_users;\n\tint pagefault_disabled;\n\tstruct task_struct *oom_reaper_list;\n\tstruct timer_list oom_reaper_timer;\n\tstruct vm_struct *stack_vm_area;\n\trefcount_t stack_refcount;\n\tvoid *security;\n\tstruct bpf_local_storage *bpf_storage;\n\tstruct bpf_run_ctx *bpf_ctx;\n\tstruct bpf_net_context *bpf_net_context;\n\tstruct thread_struct thread;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct task_struct__safe_rcu {\n\tconst cpumask_t *cpus_ptr;\n\tstruct css_set *cgroups;\n\tstruct task_struct *real_parent;\n\tstruct task_struct *group_leader;\n};\n\nstruct tasklet_head {\n\tstruct tasklet_struct *head;\n\tstruct tasklet_struct **tail;\n};\n\nstruct tcf_t {\n\t__u64 install;\n\t__u64 lastuse;\n\t__u64 expires;\n\t__u64 firstuse;\n};\n\nstruct tc_action_ops;\n\nstruct tcf_idrinfo;\n\nstruct tc_cookie;\n\nstruct tcf_chain;\n\nstruct tc_action {\n\tconst struct tc_action_ops *ops;\n\t__u32 type;\n\tstruct tcf_idrinfo *idrinfo;\n\tu32 tcfa_index;\n\trefcount_t tcfa_refcnt;\n\tatomic_t tcfa_bindcnt;\n\tint tcfa_action;\n\tstruct tcf_t tcfa_tm;\n\tlong: 64;\n\tstruct gnet_stats_basic_sync tcfa_bstats;\n\tstruct gnet_stats_basic_sync tcfa_bstats_hw;\n\tstruct gnet_stats_queue tcfa_qstats;\n\tstruct net_rate_estimator *tcfa_rate_est;\n\tspinlock_t tcfa_lock;\n\tstruct gnet_stats_basic_sync *cpu_bstats;\n\tstruct gnet_stats_basic_sync *cpu_bstats_hw;\n\tstruct gnet_stats_queue *cpu_qstats;\n\tstruct tc_cookie *user_cookie;\n\tstruct tcf_chain *goto_chain;\n\tu32 tcfa_flags;\n\tu8 hw_stats;\n\tu8 used_hw_stats;\n\tbool used_hw_stats_valid;\n\tu32 in_hw_count;\n};\n\ntypedef void (*tc_action_priv_destructor)(void *);\n\nstruct tcf_result;\n\nstruct tc_action_ops {\n\tstruct list_head head;\n\tchar kind[16];\n\tenum tca_id id;\n\tunsigned int net_id;\n\tsize_t size;\n\tstruct module *owner;\n\tint (*act)(struct sk_buff *, const struct tc_action *, struct tcf_result *);\n\tint (*dump)(struct sk_buff *, struct tc_action *, int, int);\n\tvoid (*cleanup)(struct tc_action *);\n\tint (*lookup)(struct net *, struct tc_action **, u32);\n\tint (*init)(struct net *, struct nlattr *, struct nlattr *, struct tc_action **, struct tcf_proto *, u32, struct netlink_ext_ack *);\n\tint (*walk)(struct net *, struct sk_buff *, struct netlink_callback *, int, const struct tc_action_ops *, struct netlink_ext_ack *);\n\tvoid (*stats_update)(struct tc_action *, u64, u64, u64, u64, bool);\n\tsize_t (*get_fill_size)(const struct tc_action *);\n\tstruct net_device * (*get_dev)(const struct tc_action *, tc_action_priv_destructor *);\n\tstruct psample_group * (*get_psample_group)(const struct tc_action *, tc_action_priv_destructor *);\n\tint (*offload_act_setup)(struct tc_action *, void *, u32 *, bool, struct netlink_ext_ack *);\n};\n\nstruct tc_bind_class_args {\n\tstruct qdisc_walker w;\n\tlong unsigned int new_cl;\n\tu32 portid;\n\tu32 clid;\n};\n\nstruct tc_cookie {\n\tu8 *data;\n\tu32 len;\n\tstruct callback_head rcu;\n};\n\nstruct tc_fifo_qopt {\n\t__u32 limit;\n};\n\nstruct tc_qopt_offload_stats {\n\tstruct gnet_stats_basic_sync *bstats;\n\tstruct gnet_stats_queue *qstats;\n};\n\nstruct tc_fifo_qopt_offload {\n\tenum tc_fifo_command command;\n\tu32 handle;\n\tu32 parent;\n\tunion {\n\t\tstruct tc_qopt_offload_stats stats;\n\t};\n};\n\nstruct tc_mq_opt_offload_graft_params {\n\tlong unsigned int queue;\n\tu32 child_handle;\n};\n\nstruct tc_mq_qopt_offload {\n\tenum tc_mq_command command;\n\tu32 handle;\n\tunion {\n\t\tstruct tc_qopt_offload_stats stats;\n\t\tstruct tc_mq_opt_offload_graft_params graft_params;\n\t};\n};\n\nstruct tc_prio_qopt {\n\tint bands;\n\t__u8 priomap[16];\n};\n\nstruct tc_query_caps_base {\n\tenum tc_setup_type type;\n\tvoid *caps;\n};\n\nstruct tc_root_qopt_offload {\n\tenum tc_root_command command;\n\tu32 handle;\n\tbool ingress;\n};\n\nstruct tc_skb_cb {\n\tstruct qdisc_skb_cb qdisc_cb;\n\tu32 drop_reason;\n\tu16 zone;\n\tu16 mru;\n\tu8 post_ct: 1;\n\tu8 post_ct_snat: 1;\n\tu8 post_ct_dnat: 1;\n};\n\nstruct tcf_walker {\n\tint stop;\n\tint skip;\n\tint count;\n\tbool nonempty;\n\tlong unsigned int cookie;\n\tint (*fn)(struct tcf_proto *, void *, struct tcf_walker *);\n};\n\nstruct tcf_bind_args {\n\tstruct tcf_walker w;\n\tlong unsigned int base;\n\tlong unsigned int cl;\n\tu32 classid;\n};\n\nstruct tcf_block {\n\tstruct xarray ports;\n\tstruct mutex lock;\n\tstruct list_head chain_list;\n\tu32 index;\n\tu32 classid;\n\trefcount_t refcnt;\n\tstruct net *net;\n\tstruct Qdisc *q;\n\tstruct rw_semaphore cb_lock;\n\tstruct flow_block flow_block;\n\tstruct list_head owner_list;\n\tbool keep_dst;\n\tatomic_t useswcnt;\n\tatomic_t offloadcnt;\n\tunsigned int nooffloaddevcnt;\n\tunsigned int lockeddevcnt;\n\tstruct {\n\t\tstruct tcf_chain *chain;\n\t\tstruct list_head filter_chain_list;\n\t} chain0;\n\tstruct callback_head rcu;\n\tstruct hlist_head proto_destroy_ht[128];\n\tstruct mutex proto_destroy_lock;\n};\n\ntypedef void tcf_chain_head_change_t(struct tcf_proto *, void *);\n\nstruct tcf_block_ext_info {\n\tenum flow_block_binder_type binder_type;\n\ttcf_chain_head_change_t *chain_head_change;\n\tvoid *chain_head_change_priv;\n\tu32 block_index;\n};\n\nstruct tcf_block_owner_item {\n\tstruct list_head list;\n\tstruct Qdisc *q;\n\tenum flow_block_binder_type binder_type;\n};\n\nstruct tcf_proto_ops;\n\nstruct tcf_chain {\n\tstruct mutex filter_chain_lock;\n\tstruct tcf_proto *filter_chain;\n\tstruct list_head list;\n\tstruct tcf_block *block;\n\tu32 index;\n\tunsigned int refcnt;\n\tunsigned int action_refcnt;\n\tbool explicitly_created;\n\tbool flushing;\n\tconst struct tcf_proto_ops *tmplt_ops;\n\tvoid *tmplt_priv;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_chain_info {\n\tstruct tcf_proto **pprev;\n\tstruct tcf_proto *next;\n};\n\nstruct tcf_dump_args {\n\tstruct tcf_walker w;\n\tstruct sk_buff *skb;\n\tstruct netlink_callback *cb;\n\tstruct tcf_block *block;\n\tstruct Qdisc *q;\n\tu32 parent;\n\tbool terse_dump;\n};\n\nstruct tcf_exts {\n\tint action;\n\tint police;\n};\n\nunion tcf_exts_miss_cookie {\n\tstruct {\n\t\tu32 miss_cookie_base;\n\t\tu32 act_index;\n\t};\n\tu64 miss_cookie;\n};\n\nstruct tcf_exts_miss_cookie_node {\n\tconst struct tcf_chain *chain;\n\tconst struct tcf_proto *tp;\n\tconst struct tcf_exts *exts;\n\tu32 chain_index;\n\tu32 tp_prio;\n\tu32 handle;\n\tu32 miss_cookie_base;\n\tstruct callback_head rcu;\n};\n\nstruct tcf_filter_chain_list_item {\n\tstruct list_head list;\n\ttcf_chain_head_change_t *chain_head_change;\n\tvoid *chain_head_change_priv;\n};\n\nstruct tcf_idrinfo {\n\tstruct mutex lock;\n\tstruct idr action_idr;\n\tstruct net *net;\n};\n\nstruct tcf_net {\n\tspinlock_t idr_lock;\n\tstruct idr idr;\n};\n\nstruct tcf_proto {\n\tstruct tcf_proto *next;\n\tvoid *root;\n\tint (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *);\n\t__be16 protocol;\n\tu32 prio;\n\tvoid *data;\n\tconst struct tcf_proto_ops *ops;\n\tstruct tcf_chain *chain;\n\tspinlock_t lock;\n\tbool deleting;\n\tbool counted;\n\tbool usesw;\n\trefcount_t refcnt;\n\tstruct callback_head rcu;\n\tstruct hlist_node destroy_ht_node;\n};\n\nstruct tcf_proto_ops {\n\tstruct list_head head;\n\tchar kind[16];\n\tint (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *);\n\tint (*init)(struct tcf_proto *);\n\tvoid (*destroy)(struct tcf_proto *, bool, struct netlink_ext_ack *);\n\tvoid * (*get)(struct tcf_proto *, u32);\n\tvoid (*put)(struct tcf_proto *, void *);\n\tint (*change)(struct net *, struct sk_buff *, struct tcf_proto *, long unsigned int, u32, struct nlattr **, void **, u32, struct netlink_ext_ack *);\n\tint (*delete)(struct tcf_proto *, void *, bool *, bool, struct netlink_ext_ack *);\n\tbool (*delete_empty)(struct tcf_proto *);\n\tvoid (*walk)(struct tcf_proto *, struct tcf_walker *, bool);\n\tint (*reoffload)(struct tcf_proto *, bool, flow_setup_cb_t *, void *, struct netlink_ext_ack *);\n\tvoid (*hw_add)(struct tcf_proto *, void *);\n\tvoid (*hw_del)(struct tcf_proto *, void *);\n\tvoid (*bind_class)(void *, u32, long unsigned int, void *, long unsigned int);\n\tvoid * (*tmplt_create)(struct net *, struct tcf_chain *, struct nlattr **, struct netlink_ext_ack *);\n\tvoid (*tmplt_destroy)(void *);\n\tvoid (*tmplt_reoffload)(struct tcf_chain *, bool, flow_setup_cb_t *, void *);\n\tstruct tcf_exts * (*get_exts)(const struct tcf_proto *, u32);\n\tint (*dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool);\n\tint (*terse_dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool);\n\tint (*tmplt_dump)(struct sk_buff *, struct net *, void *);\n\tstruct module *owner;\n\tint flags;\n};\n\nstruct tcf_result {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int class;\n\t\t\tu32 classid;\n\t\t};\n\t\tconst struct tcf_proto *goto_tp;\n\t};\n};\n\nstruct tcg_efi_specid_event_algs {\n\tu16 alg_id;\n\tu16 digest_size;\n};\n\nstruct tcg_efi_specid_event_head {\n\tu8 signature[16];\n\tu32 platform_class;\n\tu8 spec_version_minor;\n\tu8 spec_version_major;\n\tu8 spec_errata;\n\tu8 uintnsize;\n\tu32 num_algs;\n\tstruct tcg_efi_specid_event_algs digest_sizes[0];\n};\n\nstruct tcg_event_field {\n\tu32 event_size;\n\tu8 event[0];\n};\n\nstruct tcg_pcr_event {\n\tu32 pcr_idx;\n\tu32 event_type;\n\tu8 digest[20];\n\tu32 event_size;\n\tu8 event[0];\n};\n\nstruct tpm_digest {\n\tu16 alg_id;\n\tu8 digest[64];\n};\n\nstruct tcg_pcr_event2_head {\n\tu32 pcr_idx;\n\tu32 event_type;\n\tu32 count;\n\tstruct tpm_digest digests[0];\n};\n\nstruct tcmsg {\n\tunsigned char tcm_family;\n\tunsigned char tcm__pad1;\n\tshort unsigned int tcm__pad2;\n\tint tcm_ifindex;\n\t__u32 tcm_handle;\n\t__u32 tcm_parent;\n\t__u32 tcm_info;\n};\n\nstruct tcp_options_received {\n\tint ts_recent_stamp;\n\tu32 ts_recent;\n\tu32 rcv_tsval;\n\tu32 rcv_tsecr;\n\tu16 saw_tstamp: 1;\n\tu16 tstamp_ok: 1;\n\tu16 dsack: 1;\n\tu16 wscale_ok: 1;\n\tu16 sack_ok: 3;\n\tu16 smc_ok: 1;\n\tu16 snd_wscale: 4;\n\tu16 rcv_wscale: 4;\n\tu8 saw_unknown: 1;\n\tu8 unused: 7;\n\tu8 num_sacks;\n\tu16 user_mss;\n\tu16 mss_clamp;\n};\n\nstruct tcp_rack {\n\tu64 mstamp;\n\tu32 rtt_us;\n\tu32 end_seq;\n\tu32 last_delivered;\n\tu8 reo_wnd_steps;\n\tu8 reo_wnd_persist: 5;\n\tu8 dsack_seen: 1;\n\tu8 advanced: 1;\n};\n\nstruct tcp_sack_block {\n\tu32 start_seq;\n\tu32 end_seq;\n};\n\nstruct tcp_fastopen_request;\n\nstruct tcp_sock {\n\tstruct inet_connection_sock inet_conn;\n\t__u8 __cacheline_group_begin__tcp_sock_read_tx[0];\n\tu32 max_window;\n\tu32 rcv_ssthresh;\n\tu32 reordering;\n\tu32 notsent_lowat;\n\tu16 gso_segs;\n\tstruct sk_buff *lost_skb_hint;\n\tstruct sk_buff *retransmit_skb_hint;\n\t__u8 __cacheline_group_end__tcp_sock_read_tx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_read_txrx[0];\n\tu32 tsoffset;\n\tu32 snd_wnd;\n\tu32 mss_cache;\n\tu32 snd_cwnd;\n\tu32 prr_out;\n\tu32 lost_out;\n\tu32 sacked_out;\n\tu16 tcp_header_len;\n\tu8 scaling_ratio;\n\tu8 chrono_type: 2;\n\tu8 repair: 1;\n\tu8 tcp_usec_ts: 1;\n\tu8 is_sack_reneg: 1;\n\tu8 is_cwnd_limited: 1;\n\t__u8 __cacheline_group_end__tcp_sock_read_txrx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_read_rx[0];\n\tu32 copied_seq;\n\tu32 rcv_tstamp;\n\tu32 snd_wl1;\n\tu32 tlp_high_seq;\n\tu32 rttvar_us;\n\tu32 retrans_out;\n\tu16 advmss;\n\tu16 urg_data;\n\tu32 lost;\n\tstruct minmax rtt_min;\n\tstruct rb_root out_of_order_queue;\n\tu32 snd_ssthresh;\n\tu8 recvmsg_inq: 1;\n\t__u8 __cacheline_group_end__tcp_sock_read_rx[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\t__u8 __cacheline_group_begin__tcp_sock_write_tx[0];\n\tu32 segs_out;\n\tu32 data_segs_out;\n\tu64 bytes_sent;\n\tu32 snd_sml;\n\tu32 chrono_start;\n\tu32 chrono_stat[3];\n\tu32 write_seq;\n\tu32 pushed_seq;\n\tu32 lsndtime;\n\tu32 mdev_us;\n\tu32 rtt_seq;\n\tu64 tcp_wstamp_ns;\n\tstruct list_head tsorted_sent_queue;\n\tstruct sk_buff *highest_sack;\n\tu8 ecn_flags;\n\t__u8 __cacheline_group_end__tcp_sock_write_tx[0];\n\t__u8 __cacheline_group_begin__tcp_sock_write_txrx[0];\n\t__be32 pred_flags;\n\tu64 tcp_clock_cache;\n\tu64 tcp_mstamp;\n\tu32 rcv_nxt;\n\tu32 snd_nxt;\n\tu32 snd_una;\n\tu32 window_clamp;\n\tu32 srtt_us;\n\tu32 packets_out;\n\tu32 snd_up;\n\tu32 delivered;\n\tu32 delivered_ce;\n\tu32 app_limited;\n\tu32 rcv_wnd;\n\tstruct tcp_options_received rx_opt;\n\tu8 nonagle: 4;\n\tu8 rate_app_limited: 1;\n\t__u8 __cacheline_group_end__tcp_sock_write_txrx[0];\n\tlong: 0;\n\t__u8 __cacheline_group_begin__tcp_sock_write_rx[0];\n\tu64 bytes_received;\n\tu32 segs_in;\n\tu32 data_segs_in;\n\tu32 rcv_wup;\n\tu32 max_packets_out;\n\tu32 cwnd_usage_seq;\n\tu32 rate_delivered;\n\tu32 rate_interval_us;\n\tu32 rcv_rtt_last_tsecr;\n\tu64 first_tx_mstamp;\n\tu64 delivered_mstamp;\n\tu64 bytes_acked;\n\tstruct {\n\t\tu32 rtt_us;\n\t\tu32 seq;\n\t\tu64 time;\n\t} rcv_rtt_est;\n\tstruct {\n\t\tu32 space;\n\t\tu32 seq;\n\t\tu64 time;\n\t} rcvq_space;\n\t__u8 __cacheline_group_end__tcp_sock_write_rx[0];\n\tu32 dsack_dups;\n\tu32 compressed_ack_rcv_nxt;\n\tstruct list_head tsq_node;\n\tstruct tcp_rack rack;\n\tu8 compressed_ack;\n\tu8 dup_ack_counter: 2;\n\tu8 tlp_retrans: 1;\n\tu8 unused: 5;\n\tu8 thin_lto: 1;\n\tu8 fastopen_connect: 1;\n\tu8 fastopen_no_cookie: 1;\n\tu8 fastopen_client_fail: 2;\n\tu8 frto: 1;\n\tu8 repair_queue;\n\tu8 save_syn: 2;\n\tu8 syn_data: 1;\n\tu8 syn_fastopen: 1;\n\tu8 syn_fastopen_exp: 1;\n\tu8 syn_fastopen_ch: 1;\n\tu8 syn_data_acked: 1;\n\tu8 keepalive_probes;\n\tu32 tcp_tx_delay;\n\tu32 mdev_max_us;\n\tu32 reord_seen;\n\tu32 snd_cwnd_cnt;\n\tu32 snd_cwnd_clamp;\n\tu32 snd_cwnd_used;\n\tu32 snd_cwnd_stamp;\n\tu32 prior_cwnd;\n\tu32 prr_delivered;\n\tu32 last_oow_ack_time;\n\tstruct hrtimer pacing_timer;\n\tstruct hrtimer compressed_ack_timer;\n\tstruct sk_buff *ooo_last_skb;\n\tstruct tcp_sack_block duplicate_sack[1];\n\tstruct tcp_sack_block selective_acks[4];\n\tstruct tcp_sack_block recv_sack_cache[4];\n\tint lost_cnt_hint;\n\tu32 prior_ssthresh;\n\tu32 high_seq;\n\tu32 retrans_stamp;\n\tu32 undo_marker;\n\tint undo_retrans;\n\tu64 bytes_retrans;\n\tu32 total_retrans;\n\tu32 rto_stamp;\n\tu16 total_rto;\n\tu16 total_rto_recoveries;\n\tu32 total_rto_time;\n\tu32 urg_seq;\n\tunsigned int keepalive_time;\n\tunsigned int keepalive_intvl;\n\tint linger2;\n\tu8 bpf_sock_ops_cb_flags;\n\tu8 bpf_chg_cc_inprogress: 1;\n\tu16 timeout_rehash;\n\tu32 rcv_ooopack;\n\tstruct {\n\t\tu32 probe_seq_start;\n\t\tu32 probe_seq_end;\n\t} mtu_probe;\n\tu32 plb_rehash;\n\tu32 mtu_info;\n\tstruct tcp_fastopen_request *fastopen_req;\n\tstruct request_sock *fastopen_rsk;\n\tstruct saved_syn *saved_syn;\n\tlong: 64;\n};\n\nstruct tcp6_sock {\n\tstruct tcp_sock tcp;\n\tstruct ipv6_pinfo inet6;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nunion tcp_ao_addr {\n\tstruct in_addr a4;\n\tstruct in6_addr a6;\n};\n\nstruct tcp_ao_hdr {\n\tu8 kind;\n\tu8 length;\n\tu8 keyid;\n\tu8 rnext_keyid;\n};\n\nstruct tcp_ao_key {\n\tstruct hlist_node node;\n\tunion tcp_ao_addr addr;\n\tu8 key[80];\n\tunsigned int tcp_sigpool_id;\n\tunsigned int digest_size;\n\tint l3index;\n\tu8 prefixlen;\n\tu8 family;\n\tu8 keylen;\n\tu8 keyflags;\n\tu8 sndid;\n\tu8 rcvid;\n\tu8 maclen;\n\tstruct callback_head rcu;\n\tatomic64_t pkt_good;\n\tatomic64_t pkt_bad;\n\tu8 traffic_keys[0];\n};\n\nstruct tcp_bbr_info {\n\t__u32 bbr_bw_lo;\n\t__u32 bbr_bw_hi;\n\t__u32 bbr_min_rtt;\n\t__u32 bbr_pacing_gain;\n\t__u32 bbr_cwnd_gain;\n};\n\nstruct tcpvegas_info {\n\t__u32 tcpv_enabled;\n\t__u32 tcpv_rttcnt;\n\t__u32 tcpv_rtt;\n\t__u32 tcpv_minrtt;\n};\n\nstruct tcp_dctcp_info {\n\t__u16 dctcp_enabled;\n\t__u16 dctcp_ce_state;\n\t__u32 dctcp_alpha;\n\t__u32 dctcp_ab_ecn;\n\t__u32 dctcp_ab_tot;\n};\n\nunion tcp_cc_info {\n\tstruct tcpvegas_info vegas;\n\tstruct tcp_dctcp_info dctcp;\n\tstruct tcp_bbr_info bbr;\n};\n\nstruct tcp_congestion_ops {\n\tu32 (*ssthresh)(struct sock *);\n\tvoid (*cong_avoid)(struct sock *, u32, u32);\n\tvoid (*set_state)(struct sock *, u8);\n\tvoid (*cwnd_event)(struct sock *, enum tcp_ca_event);\n\tvoid (*in_ack_event)(struct sock *, u32);\n\tvoid (*pkts_acked)(struct sock *, const struct ack_sample *);\n\tu32 (*min_tso_segs)(struct sock *);\n\tvoid (*cong_control)(struct sock *, u32, int, const struct rate_sample *);\n\tu32 (*undo_cwnd)(struct sock *);\n\tu32 (*sndbuf_expand)(struct sock *);\n\tsize_t (*get_info)(struct sock *, u32, int *, union tcp_cc_info *);\n\tchar name[16];\n\tstruct module *owner;\n\tstruct list_head list;\n\tu32 key;\n\tu32 flags;\n\tvoid (*init)(struct sock *);\n\tvoid (*release)(struct sock *);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct tcp_fastopen_context {\n\tsiphash_key_t key[2];\n\tint num;\n\tstruct callback_head rcu;\n};\n\nstruct tcp_fastopen_cookie {\n\t__le64 val[2];\n\ts8 len;\n\tbool exp;\n};\n\nstruct tcp_fastopen_metrics {\n\tu16 mss;\n\tu16 syn_loss: 10;\n\tu16 try_exp: 2;\n\tlong unsigned int last_syn_loss;\n\tstruct tcp_fastopen_cookie cookie;\n};\n\nstruct tcp_fastopen_request {\n\tstruct tcp_fastopen_cookie cookie;\n\tstruct msghdr *data;\n\tsize_t size;\n\tint copied;\n\tstruct ubuf_info *uarg;\n};\n\nstruct tcp_info {\n\t__u8 tcpi_state;\n\t__u8 tcpi_ca_state;\n\t__u8 tcpi_retransmits;\n\t__u8 tcpi_probes;\n\t__u8 tcpi_backoff;\n\t__u8 tcpi_options;\n\t__u8 tcpi_snd_wscale: 4;\n\t__u8 tcpi_rcv_wscale: 4;\n\t__u8 tcpi_delivery_rate_app_limited: 1;\n\t__u8 tcpi_fastopen_client_fail: 2;\n\t__u32 tcpi_rto;\n\t__u32 tcpi_ato;\n\t__u32 tcpi_snd_mss;\n\t__u32 tcpi_rcv_mss;\n\t__u32 tcpi_unacked;\n\t__u32 tcpi_sacked;\n\t__u32 tcpi_lost;\n\t__u32 tcpi_retrans;\n\t__u32 tcpi_fackets;\n\t__u32 tcpi_last_data_sent;\n\t__u32 tcpi_last_ack_sent;\n\t__u32 tcpi_last_data_recv;\n\t__u32 tcpi_last_ack_recv;\n\t__u32 tcpi_pmtu;\n\t__u32 tcpi_rcv_ssthresh;\n\t__u32 tcpi_rtt;\n\t__u32 tcpi_rttvar;\n\t__u32 tcpi_snd_ssthresh;\n\t__u32 tcpi_snd_cwnd;\n\t__u32 tcpi_advmss;\n\t__u32 tcpi_reordering;\n\t__u32 tcpi_rcv_rtt;\n\t__u32 tcpi_rcv_space;\n\t__u32 tcpi_total_retrans;\n\t__u64 tcpi_pacing_rate;\n\t__u64 tcpi_max_pacing_rate;\n\t__u64 tcpi_bytes_acked;\n\t__u64 tcpi_bytes_received;\n\t__u32 tcpi_segs_out;\n\t__u32 tcpi_segs_in;\n\t__u32 tcpi_notsent_bytes;\n\t__u32 tcpi_min_rtt;\n\t__u32 tcpi_data_segs_in;\n\t__u32 tcpi_data_segs_out;\n\t__u64 tcpi_delivery_rate;\n\t__u64 tcpi_busy_time;\n\t__u64 tcpi_rwnd_limited;\n\t__u64 tcpi_sndbuf_limited;\n\t__u32 tcpi_delivered;\n\t__u32 tcpi_delivered_ce;\n\t__u64 tcpi_bytes_sent;\n\t__u64 tcpi_bytes_retrans;\n\t__u32 tcpi_dsack_dups;\n\t__u32 tcpi_reord_seen;\n\t__u32 tcpi_rcv_ooopack;\n\t__u32 tcpi_snd_wnd;\n\t__u32 tcpi_rcv_wnd;\n\t__u32 tcpi_rehash;\n\t__u16 tcpi_total_rto;\n\t__u16 tcpi_total_rto_recoveries;\n\t__u32 tcpi_total_rto_time;\n};\n\nstruct tcp_md5sig_key;\n\nstruct tcp_key {\n\tunion {\n\t\tstruct {\n\t\t\tstruct tcp_ao_key *ao_key;\n\t\t\tchar *traffic_key;\n\t\t\tu32 sne;\n\t\t\tu8 rcv_next;\n\t\t};\n\t\tstruct tcp_md5sig_key *md5_key;\n\t};\n\tenum {\n\t\tTCP_KEY_NONE = 0,\n\t\tTCP_KEY_MD5 = 1,\n\t\tTCP_KEY_AO = 2,\n\t} type;\n};\n\nstruct tcp_md5sig_key {\n\tstruct hlist_node node;\n\tu8 keylen;\n\tu8 family;\n\tu8 prefixlen;\n\tu8 flags;\n\tunion tcp_ao_addr addr;\n\tint l3index;\n\tu8 key[80];\n\tstruct callback_head rcu;\n};\n\nstruct tcp_metrics_block {\n\tstruct tcp_metrics_block *tcpm_next;\n\tstruct net *tcpm_net;\n\tstruct inetpeer_addr tcpm_saddr;\n\tstruct inetpeer_addr tcpm_daddr;\n\tlong unsigned int tcpm_stamp;\n\tu32 tcpm_lock;\n\tu32 tcpm_vals[5];\n\tstruct tcp_fastopen_metrics tcpm_fastopen;\n\tstruct callback_head callback_head;\n};\n\nstruct tcp_mib {\n\tlong unsigned int mibs[16];\n};\n\nstruct tcp_out_options {\n\tu16 options;\n\tu16 mss;\n\tu8 ws;\n\tu8 num_sack_blocks;\n\tu8 hash_size;\n\tu8 bpf_opt_len;\n\t__u8 *hash_location;\n\t__u32 tsval;\n\t__u32 tsecr;\n\tstruct tcp_fastopen_cookie *fastopen_cookie;\n\tstruct mptcp_out_options mptcp;\n};\n\nstruct tcp_plb_state {\n\tu8 consec_cong_rounds: 5;\n\tu8 unused: 3;\n\tu32 pause_until;\n};\n\nstruct tcp_repair_opt {\n\t__u32 opt_code;\n\t__u32 opt_val;\n};\n\nstruct tcp_repair_window {\n\t__u32 snd_wl1;\n\t__u32 snd_wnd;\n\t__u32 max_window;\n\t__u32 rcv_wnd;\n\t__u32 rcv_wup;\n};\n\nstruct tcp_request_sock_ops;\n\nstruct tcp_request_sock {\n\tstruct inet_request_sock req;\n\tconst struct tcp_request_sock_ops *af_specific;\n\tu64 snt_synack;\n\tbool tfo_listener;\n\tbool is_mptcp;\n\tbool req_usec_ts;\n\tu32 txhash;\n\tu32 rcv_isn;\n\tu32 snt_isn;\n\tu32 ts_off;\n\tu32 last_oow_ack_time;\n\tu32 rcv_nxt;\n\tu8 syn_tos;\n};\n\nstruct tcp_request_sock_ops {\n\tu16 mss_clamp;\n\tstruct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *, u32);\n\tu32 (*init_seq)(const struct sk_buff *);\n\tu32 (*init_ts_off)(const struct net *, const struct sk_buff *);\n\tint (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *);\n};\n\nstruct tcp_sack_block_wire {\n\t__be32 start_seq;\n\t__be32 end_seq;\n};\n\nstruct tcp_sacktag_state {\n\tu64 first_sackt;\n\tu64 last_sackt;\n\tu32 reord;\n\tu32 sack_delivered;\n\tint flag;\n\tunsigned int mss_now;\n\tstruct rate_sample *rate;\n};\n\nstruct tcp_seq_afinfo {\n\tsa_family_t family;\n};\n\nstruct tcp_skb_cb {\n\t__u32 seq;\n\t__u32 end_seq;\n\tunion {\n\t\tstruct {\n\t\t\tu16 tcp_gso_segs;\n\t\t\tu16 tcp_gso_size;\n\t\t};\n\t};\n\t__u8 tcp_flags;\n\t__u8 sacked;\n\t__u8 ip_dsfield;\n\t__u8 txstamp_ack: 1;\n\t__u8 eor: 1;\n\t__u8 has_rxtstamp: 1;\n\t__u8 unused: 5;\n\t__u32 ack_seq;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 is_app_limited: 1;\n\t\t\t__u32 delivered_ce: 20;\n\t\t\t__u32 unused: 11;\n\t\t\t__u32 delivered;\n\t\t\tu64 first_tx_mstamp;\n\t\t\tu64 delivered_mstamp;\n\t\t} tx;\n\t\tunion {\n\t\t\tstruct inet_skb_parm h4;\n\t\t\tstruct inet6_skb_parm h6;\n\t\t} header;\n\t};\n};\n\nstruct tcp_splice_state {\n\tstruct pipe_inode_info *pipe;\n\tsize_t len;\n\tunsigned int flags;\n};\n\nstruct tcp_timewait_sock {\n\tstruct inet_timewait_sock tw_sk;\n\tu32 tw_rcv_wnd;\n\tu32 tw_ts_offset;\n\tu32 tw_ts_recent;\n\tu32 tw_last_oow_ack_time;\n\tint tw_ts_recent_stamp;\n\tu32 tw_tx_delay;\n};\n\nstruct tcp_ulp_ops {\n\tstruct list_head list;\n\tint (*init)(struct sock *);\n\tvoid (*update)(struct sock *, struct proto *, void (*)(struct sock *));\n\tvoid (*release)(struct sock *);\n\tint (*get_info)(struct sock *, struct sk_buff *);\n\tsize_t (*get_info_size)(const struct sock *);\n\tvoid (*clone)(const struct request_sock *, struct sock *, const gfp_t);\n\tchar name[16];\n\tstruct module *owner;\n};\n\nstruct tcphdr {\n\t__be16 source;\n\t__be16 dest;\n\t__be32 seq;\n\t__be32 ack_seq;\n\t__u16 res1: 4;\n\t__u16 doff: 4;\n\t__u16 fin: 1;\n\t__u16 syn: 1;\n\t__u16 rst: 1;\n\t__u16 psh: 1;\n\t__u16 ack: 1;\n\t__u16 urg: 1;\n\t__u16 ece: 1;\n\t__u16 cwr: 1;\n\t__be16 window;\n\t__sum16 check;\n\t__be16 urg_ptr;\n};\n\nunion tcp_word_hdr {\n\tstruct tcphdr hdr;\n\t__be32 words[5];\n};\n\nstruct tcp_xa_pool {\n\tu8 max;\n\tu8 idx;\n\t__u32 tokens[17];\n\tnetmem_ref netmems[17];\n};\n\nstruct tcp_zerocopy_receive {\n\t__u64 address;\n\t__u32 length;\n\t__u32 recv_skip_hint;\n\t__u32 inq;\n\t__s32 err;\n\t__u64 copybuf_address;\n\t__s32 copybuf_len;\n\t__u32 flags;\n\t__u64 msg_control;\n\t__u64 msg_controllen;\n\t__u32 msg_flags;\n\t__u32 reserved;\n};\n\nstruct tcpa_event {\n\tu32 pcr_index;\n\tu32 event_type;\n\tu8 pcr_value[20];\n\tu32 event_size;\n\tu8 event_data[0];\n};\n\nstruct tcpm_hash_bucket {\n\tstruct tcp_metrics_block *chain;\n};\n\nstruct tcx_entry {\n\tstruct mini_Qdisc *miniq;\n\tstruct bpf_mprog_bundle bundle;\n\tu32 miniq_active;\n\tstruct callback_head rcu;\n};\n\nstruct tcx_link {\n\tstruct bpf_link link;\n\tstruct net_device *dev;\n\tu32 location;\n};\n\nstruct td {\n\t__hc32 hwINFO;\n\t__hc32 hwCBP;\n\t__hc32 hwNextTD;\n\t__hc32 hwBE;\n\t__hc16 hwPSW[2];\n\t__u8 index;\n\tstruct ed *ed;\n\tstruct td *td_hash;\n\tstruct td *next_dl_td;\n\tstruct urb *urb;\n\tdma_addr_t td_dma;\n\tdma_addr_t data_dma;\n\tstruct list_head td_list;\n\tlong: 64;\n};\n\nstruct termio {\n\tshort unsigned int c_iflag;\n\tshort unsigned int c_oflag;\n\tshort unsigned int c_cflag;\n\tshort unsigned int c_lflag;\n\tunsigned char c_line;\n\tunsigned char c_cc[8];\n};\n\nstruct termios {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n};\n\nstruct termios2 {\n\ttcflag_t c_iflag;\n\ttcflag_t c_oflag;\n\ttcflag_t c_cflag;\n\ttcflag_t c_lflag;\n\tcc_t c_line;\n\tcc_t c_cc[19];\n\tspeed_t c_ispeed;\n\tspeed_t c_ospeed;\n};\n\nstruct tgid_iter {\n\tunsigned int tgid;\n\tstruct task_struct *task;\n};\n\nstruct th1520_pad_group {\n\tconst char *name;\n\tconst struct pinctrl_pin_desc *pins;\n\tunsigned int npins;\n};\n\nstruct th1520_pinctrl {\n\tstruct pinctrl_desc desc;\n\tstruct mutex mutex;\n\traw_spinlock_t lock;\n\tvoid *base;\n\tstruct pinctrl_dev *pctl;\n};\n\nstruct thermal_attr {\n\tstruct device_attribute attr;\n\tchar name[20];\n};\n\ntypedef struct thermal_cooling_device *class_cooling_dev_t;\n\nstruct thermal_cooling_device {\n\tint id;\n\tconst char *type;\n\tlong unsigned int max_state;\n\tstruct device device;\n\tstruct device_node *np;\n\tvoid *devdata;\n\tvoid *stats;\n\tconst struct thermal_cooling_device_ops *ops;\n\tbool updated;\n\tstruct mutex lock;\n\tstruct list_head thermal_instances;\n\tstruct list_head node;\n};\n\nstruct thermal_trip;\n\nstruct thermal_governor {\n\tconst char *name;\n\tint (*bind_to_tz)(struct thermal_zone_device *);\n\tvoid (*unbind_from_tz)(struct thermal_zone_device *);\n\tvoid (*trip_crossed)(struct thermal_zone_device *, const struct thermal_trip *, bool);\n\tvoid (*manage)(struct thermal_zone_device *);\n\tvoid (*update_tz)(struct thermal_zone_device *, enum thermal_notify_event);\n\tstruct list_head governor_list;\n};\n\nstruct thermal_hwmon_attr {\n\tstruct device_attribute attr;\n\tchar name[16];\n};\n\nstruct thermal_hwmon_device {\n\tchar type[20];\n\tstruct device *device;\n\tint count;\n\tstruct list_head tz_list;\n\tstruct list_head node;\n};\n\nstruct thermal_hwmon_temp {\n\tstruct list_head hwmon_node;\n\tstruct thermal_zone_device *tz;\n\tstruct thermal_hwmon_attr temp_input;\n\tstruct thermal_hwmon_attr temp_crit;\n};\n\nstruct thermal_instance {\n\tint id;\n\tchar name[20];\n\tstruct thermal_cooling_device *cdev;\n\tconst struct thermal_trip *trip;\n\tbool initialized;\n\tlong unsigned int upper;\n\tlong unsigned int lower;\n\tlong unsigned int target;\n\tchar attr_name[20];\n\tstruct device_attribute attr;\n\tchar weight_attr_name[20];\n\tstruct device_attribute weight_attr;\n\tstruct list_head trip_node;\n\tstruct list_head cdev_node;\n\tunsigned int weight;\n\tbool upper_no_limit;\n};\n\nstruct thermal_trip {\n\tint temperature;\n\tint hysteresis;\n\tenum thermal_trip_type type;\n\tu8 flags;\n\tvoid *priv;\n};\n\nstruct thermal_trip_attrs {\n\tstruct thermal_attr type;\n\tstruct thermal_attr temp;\n\tstruct thermal_attr hyst;\n};\n\nstruct thermal_trip_desc {\n\tstruct thermal_trip trip;\n\tstruct thermal_trip_attrs trip_attrs;\n\tstruct list_head list_node;\n\tstruct list_head thermal_instances;\n\tint threshold;\n};\n\ntypedef struct thermal_zone_device *class_thermal_zone_reverse_t;\n\ntypedef struct thermal_zone_device *class_thermal_zone_t;\n\nstruct thermal_zone_device_ops {\n\tbool (*should_bind)(struct thermal_zone_device *, const struct thermal_trip *, struct thermal_cooling_device *, struct cooling_spec *);\n\tint (*get_temp)(struct thermal_zone_device *, int *);\n\tint (*set_trips)(struct thermal_zone_device *, int, int);\n\tint (*change_mode)(struct thermal_zone_device *, enum thermal_device_mode);\n\tint (*set_trip_temp)(struct thermal_zone_device *, const struct thermal_trip *, int);\n\tint (*get_crit_temp)(struct thermal_zone_device *, int *);\n\tint (*set_emul_temp)(struct thermal_zone_device *, int);\n\tint (*get_trend)(struct thermal_zone_device *, const struct thermal_trip *, enum thermal_trend *);\n\tvoid (*hot)(struct thermal_zone_device *);\n\tvoid (*critical)(struct thermal_zone_device *);\n};\n\nstruct thermal_zone_params;\n\nstruct thermal_zone_device {\n\tint id;\n\tchar type[20];\n\tstruct device device;\n\tstruct completion removal;\n\tstruct completion resume;\n\tstruct attribute_group trips_attribute_group;\n\tstruct list_head trips_high;\n\tstruct list_head trips_reached;\n\tstruct list_head trips_invalid;\n\tenum thermal_device_mode mode;\n\tvoid *devdata;\n\tint num_trips;\n\tlong unsigned int passive_delay_jiffies;\n\tlong unsigned int polling_delay_jiffies;\n\tlong unsigned int recheck_delay_jiffies;\n\tint temperature;\n\tint last_temperature;\n\tint emul_temperature;\n\tint passive;\n\tint prev_low_trip;\n\tint prev_high_trip;\n\tstruct thermal_zone_device_ops ops;\n\tstruct thermal_zone_params *tzp;\n\tstruct thermal_governor *governor;\n\tvoid *governor_data;\n\tstruct ida ida;\n\tstruct mutex lock;\n\tstruct list_head node;\n\tstruct delayed_work poll_queue;\n\tenum thermal_notify_event notify_event;\n\tu8 state;\n\tstruct list_head user_thresholds;\n\tstruct thermal_trip_desc trips[0];\n};\n\nstruct thermal_zone_params {\n\tconst char *governor_name;\n\tbool no_hwmon;\n\tu32 sustainable_power;\n\ts32 k_po;\n\ts32 k_pu;\n\ts32 k_i;\n\ts32 k_d;\n\ts32 integral_cutoff;\n\tint slope;\n\tint offset;\n};\n\nstruct thread_deferred_req {\n\tstruct cache_deferred_req handle;\n\tstruct completion completion;\n};\n\nstruct throtl_service_queue {\n\tstruct throtl_service_queue *parent_sq;\n\tstruct list_head queued[2];\n\tunsigned int nr_queued[2];\n\tstruct rb_root_cached pending_tree;\n\tunsigned int nr_pending;\n\tlong unsigned int first_pending_disptime;\n\tstruct timer_list pending_timer;\n};\n\nstruct throtl_data {\n\tstruct throtl_service_queue service_queue;\n\tstruct request_queue *queue;\n\tunsigned int nr_queued[2];\n\tunsigned int throtl_slice;\n\tstruct work_struct dispatch_work;\n\tbool track_bio_latency;\n};\n\nstruct throtl_grp;\n\nstruct throtl_qnode {\n\tstruct list_head node;\n\tstruct bio_list bios;\n\tstruct throtl_grp *tg;\n};\n\nstruct throtl_grp {\n\tstruct blkg_policy_data pd;\n\tstruct rb_node rb_node;\n\tstruct throtl_data *td;\n\tstruct throtl_service_queue service_queue;\n\tstruct throtl_qnode qnode_on_self[2];\n\tstruct throtl_qnode qnode_on_parent[2];\n\tlong unsigned int disptime;\n\tunsigned int flags;\n\tbool has_rules_bps[2];\n\tbool has_rules_iops[2];\n\tuint64_t bps[2];\n\tunsigned int iops[2];\n\tuint64_t bytes_disp[2];\n\tunsigned int io_disp[2];\n\tuint64_t last_bytes_disp[2];\n\tunsigned int last_io_disp[2];\n\tlong long int carryover_bytes[2];\n\tint carryover_ios[2];\n\tlong unsigned int last_check_time;\n\tlong unsigned int slice_start[2];\n\tlong unsigned int slice_end[2];\n\tstruct blkg_rwstat stat_bytes;\n\tstruct blkg_rwstat stat_ios;\n};\n\nstruct tick_device {\n\tstruct clock_event_device *evtdev;\n\tenum tick_device_mode mode;\n};\n\nstruct tick_sched {\n\tlong unsigned int flags;\n\tunsigned int stalled_jiffies;\n\tlong unsigned int last_tick_jiffies;\n\tstruct hrtimer sched_timer;\n\tktime_t last_tick;\n\tktime_t next_tick;\n\tlong unsigned int idle_jiffies;\n\tktime_t idle_waketime;\n\tunsigned int got_idle_tick;\n\tseqcount_t idle_sleeptime_seq;\n\tktime_t idle_entrytime;\n\tlong unsigned int last_jiffies;\n\tu64 timer_expires_base;\n\tu64 timer_expires;\n\tu64 next_timer;\n\tktime_t idle_expires;\n\tlong unsigned int idle_calls;\n\tlong unsigned int idle_sleeps;\n\tktime_t idle_exittime;\n\tktime_t idle_sleeptime;\n\tktime_t iowait_sleeptime;\n\tatomic_t tick_dep_mask;\n\tlong unsigned int check_clocks;\n};\n\nstruct timens_offsets {\n\tstruct timespec64 monotonic;\n\tstruct timespec64 boottime;\n};\n\nstruct time_namespace {\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct ns_common ns;\n\tstruct timens_offsets offsets;\n\tstruct page *vvar_page;\n\tbool frozen_offsets;\n};\n\nstruct timedia_struct {\n\tint num;\n\tconst short unsigned int *ids;\n};\n\nstruct tk_read_base {\n\tstruct clocksource *clock;\n\tu64 mask;\n\tu64 cycle_last;\n\tu32 mult;\n\tu32 shift;\n\tu64 xtime_nsec;\n\tktime_t base;\n\tu64 base_real;\n};\n\nstruct timekeeper {\n\tstruct tk_read_base tkr_mono;\n\tu64 xtime_sec;\n\tlong unsigned int ktime_sec;\n\tstruct timespec64 wall_to_monotonic;\n\tktime_t offs_real;\n\tktime_t offs_boot;\n\tktime_t offs_tai;\n\ts32 tai_offset;\n\tstruct tk_read_base tkr_raw;\n\tu64 raw_sec;\n\tunsigned int clock_was_set_seq;\n\tu8 cs_was_changed_seq;\n\tstruct timespec64 monotonic_to_boot;\n\tu64 cycle_interval;\n\tu64 xtime_interval;\n\ts64 xtime_remainder;\n\tu64 raw_interval;\n\tktime_t next_leap_ktime;\n\tu64 ntp_tick;\n\ts64 ntp_error;\n\tu32 ntp_error_shift;\n\tu32 ntp_err_mult;\n\tu32 skip_second_overflow;\n};\n\nstruct timens_offset {\n\ts64 sec;\n\tu64 nsec;\n};\n\nstruct timer_base {\n\traw_spinlock_t lock;\n\tstruct timer_list *running_timer;\n\tlong unsigned int clk;\n\tlong unsigned int next_expiry;\n\tunsigned int cpu;\n\tbool next_expiry_recalc;\n\tbool is_idle;\n\tbool timers_pending;\n\tlong unsigned int pending_map[9];\n\tstruct hlist_head vectors[576];\n};\n\nstruct timer_events {\n\tu64 local;\n\tu64 global;\n};\n\nstruct timer_list_iter {\n\tint cpu;\n\tbool second_pass;\n\tu64 now;\n};\n\nstruct timer_of {\n\tunsigned int flags;\n\tstruct device_node *np;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct clock_event_device clkevt;\n\tstruct of_timer_base of_base;\n\tstruct of_timer_irq of_irq;\n\tstruct of_timer_clk of_clk;\n\tvoid *private_data;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct timer_rand_state {\n\tlong unsigned int last_time;\n\tlong int last_delta;\n\tlong int last_delta2;\n};\n\nstruct timerfd_ctx {\n\tunion {\n\t\tstruct hrtimer tmr;\n\t\tstruct alarm alarm;\n\t} t;\n\tktime_t tintv;\n\tktime_t moffs;\n\twait_queue_head_t wqh;\n\tu64 ticks;\n\tint clockid;\n\tshort unsigned int expired;\n\tshort unsigned int settime_flags;\n\tstruct callback_head rcu;\n\tstruct list_head clist;\n\tspinlock_t cancel_lock;\n\tbool might_cancel;\n};\n\nstruct timerlat_entry {\n\tstruct trace_entry ent;\n\tunsigned int seqnum;\n\tint context;\n\tu64 timer_latency;\n};\n\nstruct timers_private {\n\tstruct pid *pid;\n\tstruct task_struct *task;\n\tstruct sighand_struct *sighand;\n\tstruct pid_namespace *ns;\n\tlong unsigned int flags;\n};\n\nstruct timewait_sock_ops {\n\tstruct kmem_cache *twsk_slab;\n\tchar *twsk_slab_name;\n\tunsigned int twsk_obj_size;\n\tvoid (*twsk_destructor)(struct sock *);\n};\n\nstruct timezone {\n\tint tz_minuteswest;\n\tint tz_dsttime;\n};\n\nstruct tiocl_selection {\n\tshort unsigned int xs;\n\tshort unsigned int ys;\n\tshort unsigned int xe;\n\tshort unsigned int ye;\n\tshort unsigned int sel_mode;\n};\n\nstruct tipc_basic_hdr {\n\t__be32 w[4];\n};\n\nstruct tk_data {\n\tseqcount_raw_spinlock_t seq;\n\tstruct timekeeper timekeeper;\n\tstruct timekeeper shadow_timekeeper;\n\traw_spinlock_t lock;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct tk_fast {\n\tseqcount_latch_t seq;\n\tstruct tk_read_base base[2];\n};\n\nstruct tls_crypto_info {\n\t__u16 version;\n\t__u16 cipher_type;\n};\n\nstruct tls12_crypto_info_aes_gcm_128 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_aes_gcm_256 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[32];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_chacha20_poly1305 {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[12];\n\tunsigned char key[32];\n\tunsigned char salt[0];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_sm4_ccm {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls12_crypto_info_sm4_gcm {\n\tstruct tls_crypto_info info;\n\tunsigned char iv[8];\n\tunsigned char key[16];\n\tunsigned char salt[4];\n\tunsigned char rec_seq[8];\n};\n\nstruct tls_prot_info {\n\tu16 version;\n\tu16 cipher_type;\n\tu16 prepend_size;\n\tu16 tag_size;\n\tu16 overhead_size;\n\tu16 iv_size;\n\tu16 salt_size;\n\tu16 rec_seq_size;\n\tu16 aad_size;\n\tu16 tail_size;\n};\n\nunion tls_crypto_context {\n\tstruct tls_crypto_info info;\n\tunion {\n\t\tstruct tls12_crypto_info_aes_gcm_128 aes_gcm_128;\n\t\tstruct tls12_crypto_info_aes_gcm_256 aes_gcm_256;\n\t\tstruct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305;\n\t\tstruct tls12_crypto_info_sm4_gcm sm4_gcm;\n\t\tstruct tls12_crypto_info_sm4_ccm sm4_ccm;\n\t};\n};\n\nstruct tls_context {\n\tstruct tls_prot_info prot_info;\n\tu8 tx_conf: 3;\n\tu8 rx_conf: 3;\n\tu8 zerocopy_sendfile: 1;\n\tu8 rx_no_pad: 1;\n\tint (*push_pending_record)(struct sock *, int);\n\tvoid (*sk_write_space)(struct sock *);\n\tvoid *priv_ctx_tx;\n\tvoid *priv_ctx_rx;\n\tstruct net_device *netdev;\n\tstruct cipher_context tx;\n\tstruct cipher_context rx;\n\tstruct scatterlist *partially_sent_record;\n\tu16 partially_sent_offset;\n\tbool splicing_pages;\n\tbool pending_open_record_frags;\n\tstruct mutex tx_lock;\n\tlong unsigned int flags;\n\tstruct proto *sk_proto;\n\tstruct sock *sk;\n\tvoid (*sk_destruct)(struct sock *);\n\tunion tls_crypto_context crypto_send;\n\tunion tls_crypto_context crypto_recv;\n\tstruct list_head list;\n\trefcount_t refcount;\n\tstruct callback_head rcu;\n};\n\ntypedef void (*tls_done_func_t)(void *, int, key_serial_t);\n\nstruct tls_handshake_args {\n\tstruct socket *ta_sock;\n\ttls_done_func_t ta_done;\n\tvoid *ta_data;\n\tconst char *ta_peername;\n\tunsigned int ta_timeout_ms;\n\tkey_serial_t ta_keyring;\n\tkey_serial_t ta_my_cert;\n\tkey_serial_t ta_my_privkey;\n\tunsigned int ta_num_peerids;\n\tkey_serial_t ta_my_peerids[5];\n};\n\nstruct tls_handshake_req {\n\tvoid (*th_consumer_done)(void *, int, key_serial_t);\n\tvoid *th_consumer_data;\n\tint th_type;\n\tunsigned int th_timeout_ms;\n\tint th_auth_mode;\n\tconst char *th_peername;\n\tkey_serial_t th_keyring;\n\tkey_serial_t th_certificate;\n\tkey_serial_t th_privkey;\n\tunsigned int th_num_peerids;\n\tkey_serial_t th_peerid[5];\n};\n\nstruct tls_strparser {\n\tstruct sock *sk;\n\tu32 mark: 8;\n\tu32 stopped: 1;\n\tu32 copy_mode: 1;\n\tu32 mixed_decrypted: 1;\n\tbool msg_ready;\n\tstruct strp_msg stm;\n\tstruct sk_buff *anchor;\n\tstruct work_struct work;\n};\n\nstruct tls_sw_context_rx {\n\tstruct crypto_aead *aead_recv;\n\tstruct crypto_wait async_wait;\n\tstruct sk_buff_head rx_list;\n\tvoid (*saved_data_ready)(struct sock *);\n\tu8 reader_present;\n\tu8 async_capable: 1;\n\tu8 zc_capable: 1;\n\tu8 reader_contended: 1;\n\tbool key_update_pending;\n\tstruct tls_strparser strp;\n\tatomic_t decrypt_pending;\n\tstruct sk_buff_head async_hold;\n\tstruct wait_queue_head wq;\n};\n\nstruct tx_work {\n\tstruct delayed_work work;\n\tstruct sock *sk;\n};\n\nstruct tls_rec;\n\nstruct tls_sw_context_tx {\n\tstruct crypto_aead *aead_send;\n\tstruct crypto_wait async_wait;\n\tstruct tx_work tx_work;\n\tstruct tls_rec *open_rec;\n\tstruct list_head tx_list;\n\tatomic_t encrypt_pending;\n\tu8 async_capable: 1;\n\tlong unsigned int tx_bitmask;\n};\n\nstruct tm {\n\tint tm_sec;\n\tint tm_min;\n\tint tm_hour;\n\tint tm_mday;\n\tint tm_mon;\n\tlong int tm_year;\n\tint tm_wday;\n\tint tm_yday;\n};\n\nstruct tmigr_event {\n\tstruct timerqueue_node nextevt;\n\tunsigned int cpu;\n\tbool ignore;\n};\n\nstruct tmigr_group;\n\nstruct tmigr_cpu {\n\traw_spinlock_t lock;\n\tbool online;\n\tbool idle;\n\tbool remote;\n\tstruct tmigr_group *tmgroup;\n\tu8 groupmask;\n\tu64 wakeup;\n\tstruct tmigr_event cpuevt;\n};\n\nstruct tmigr_group {\n\traw_spinlock_t lock;\n\tstruct tmigr_group *parent;\n\tstruct tmigr_event groupevt;\n\tu64 next_expiry;\n\tstruct timerqueue_head events;\n\tatomic_t migr_state;\n\tunsigned int level;\n\tint numa_node;\n\tunsigned int num_children;\n\tu8 groupmask;\n\tstruct list_head list;\n};\n\nunion tmigr_state {\n\tu32 state;\n\tstruct {\n\t\tu8 active;\n\t\tu8 migrator;\n\t\tu16 seq;\n\t};\n};\n\nstruct tmigr_walk {\n\tu64 nextexp;\n\tu64 firstexp;\n\tstruct tmigr_event *evt;\n\tu8 childmask;\n\tbool remote;\n\tlong unsigned int basej;\n\tu64 now;\n\tbool check;\n\tbool tmc_active;\n};\n\nstruct tmpmasks {\n\tcpumask_var_t addmask;\n\tcpumask_var_t delmask;\n\tcpumask_var_t new_cpus;\n};\n\nstruct tms {\n\t__kernel_clock_t tms_utime;\n\t__kernel_clock_t tms_stime;\n\t__kernel_clock_t tms_cutime;\n\t__kernel_clock_t tms_cstime;\n};\n\nstruct tnl_ptk_info {\n\tlong unsigned int flags[1];\n\t__be16 proto;\n\t__be32 key;\n\t__be32 seq;\n\tint hdr_len;\n};\n\nstruct tnode {\n\tstruct callback_head rcu;\n\tt_key empty_children;\n\tt_key full_children;\n\tstruct key_vector *parent;\n\tstruct key_vector kv[1];\n};\n\nstruct touchscreen_properties {\n\tunsigned int max_x;\n\tunsigned int max_y;\n\tbool invert_x;\n\tbool invert_y;\n\tbool swap_x_y;\n};\n\nstruct tp_module {\n\tstruct list_head list;\n\tstruct module *mod;\n};\n\nstruct tracepoint_func {\n\tvoid *func;\n\tvoid *data;\n\tint prio;\n};\n\nstruct tp_probes {\n\tstruct callback_head rcu;\n\tstruct tracepoint_func probes[0];\n};\n\nstruct tp_transition_snapshot {\n\tlong unsigned int rcu;\n\tbool ongoing;\n};\n\nstruct tpacket2_hdr {\n\t__u32 tp_status;\n\t__u32 tp_len;\n\t__u32 tp_snaplen;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\t__u32 tp_sec;\n\t__u32 tp_nsec;\n\t__u16 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n\t__u8 tp_padding[4];\n};\n\nstruct tpacket_hdr_variant1 {\n\t__u32 tp_rxhash;\n\t__u32 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n\t__u16 tp_padding;\n};\n\nstruct tpacket3_hdr {\n\t__u32 tp_next_offset;\n\t__u32 tp_sec;\n\t__u32 tp_nsec;\n\t__u32 tp_snaplen;\n\t__u32 tp_len;\n\t__u32 tp_status;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\tunion {\n\t\tstruct tpacket_hdr_variant1 hv1;\n\t};\n\t__u8 tp_padding[8];\n};\n\nstruct tpacket_auxdata {\n\t__u32 tp_status;\n\t__u32 tp_len;\n\t__u32 tp_snaplen;\n\t__u16 tp_mac;\n\t__u16 tp_net;\n\t__u16 tp_vlan_tci;\n\t__u16 tp_vlan_tpid;\n};\n\nstruct tpacket_bd_ts {\n\tunsigned int ts_sec;\n\tunion {\n\t\tunsigned int ts_usec;\n\t\tunsigned int ts_nsec;\n\t};\n};\n\nstruct tpacket_hdr_v1 {\n\t__u32 block_status;\n\t__u32 num_pkts;\n\t__u32 offset_to_first_pkt;\n\t__u32 blk_len;\n\t__u64 seq_num;\n\tstruct tpacket_bd_ts ts_first_pkt;\n\tstruct tpacket_bd_ts ts_last_pkt;\n};\n\nunion tpacket_bd_header_u {\n\tstruct tpacket_hdr_v1 bh1;\n};\n\nstruct tpacket_block_desc {\n\t__u32 version;\n\t__u32 offset_to_priv;\n\tunion tpacket_bd_header_u hdr;\n};\n\nstruct tpacket_hdr {\n\tlong unsigned int tp_status;\n\tunsigned int tp_len;\n\tunsigned int tp_snaplen;\n\tshort unsigned int tp_mac;\n\tshort unsigned int tp_net;\n\tunsigned int tp_sec;\n\tunsigned int tp_usec;\n};\n\nstruct tpacket_req {\n\tunsigned int tp_block_size;\n\tunsigned int tp_block_nr;\n\tunsigned int tp_frame_size;\n\tunsigned int tp_frame_nr;\n};\n\nstruct tpacket_req3 {\n\tunsigned int tp_block_size;\n\tunsigned int tp_block_nr;\n\tunsigned int tp_frame_size;\n\tunsigned int tp_frame_nr;\n\tunsigned int tp_retire_blk_tov;\n\tunsigned int tp_sizeof_priv;\n\tunsigned int tp_feature_req_word;\n};\n\nunion tpacket_req_u {\n\tstruct tpacket_req req;\n\tstruct tpacket_req3 req3;\n};\n\nstruct tpacket_rollover_stats {\n\t__u64 tp_all;\n\t__u64 tp_huge;\n\t__u64 tp_failed;\n};\n\nunion tpacket_uhdr {\n\tstruct tpacket_hdr *h1;\n\tstruct tpacket2_hdr *h2;\n\tstruct tpacket3_hdr *h3;\n\tvoid *raw;\n};\n\nstruct trace_pid_list;\n\nstruct trace_options;\n\nstruct trace_func_repeats;\n\nstruct trace_array {\n\tstruct list_head list;\n\tchar *name;\n\tstruct array_buffer array_buffer;\n\tunsigned int mapped;\n\tlong unsigned int range_addr_start;\n\tlong unsigned int range_addr_size;\n\tlong int text_delta;\n\tlong int data_delta;\n\tstruct trace_pid_list *filtered_pids;\n\tstruct trace_pid_list *filtered_no_pids;\n\tarch_spinlock_t max_lock;\n\tint buffer_disabled;\n\tint sys_refcount_enter;\n\tint sys_refcount_exit;\n\tstruct trace_event_file *enter_syscall_files[467];\n\tstruct trace_event_file *exit_syscall_files[467];\n\tint stop_count;\n\tint clock_id;\n\tint nr_topts;\n\tbool clear_trace;\n\tint buffer_percent;\n\tunsigned int n_err_log_entries;\n\tstruct tracer *current_trace;\n\tunsigned int trace_flags;\n\tunsigned char trace_flags_index[32];\n\tunsigned int flags;\n\traw_spinlock_t start_lock;\n\tconst char *system_names;\n\tstruct list_head err_log;\n\tstruct dentry *dir;\n\tstruct dentry *options;\n\tstruct dentry *percpu_dir;\n\tstruct eventfs_inode *event_dir;\n\tstruct trace_options *topts;\n\tstruct list_head systems;\n\tstruct list_head events;\n\tstruct trace_event_file *trace_marker_file;\n\tcpumask_var_t tracing_cpumask;\n\tcpumask_var_t pipe_cpumask;\n\tint ref;\n\tint trace_ref;\n\tstruct list_head mod_events;\n\tint no_filter_buffering_ref;\n\tstruct list_head hist_vars;\n\tstruct trace_func_repeats *last_func_repeats;\n\tbool ring_buffer_expanded;\n};\n\nstruct trace_array_cpu {\n\tatomic_t disabled;\n\tvoid *buffer_page;\n\tlong unsigned int entries;\n\tlong unsigned int saved_latency;\n\tlong unsigned int critical_start;\n\tlong unsigned int critical_end;\n\tlong unsigned int critical_sequence;\n\tlong unsigned int nice;\n\tlong unsigned int policy;\n\tlong unsigned int rt_priority;\n\tlong unsigned int skipped_entries;\n\tu64 preempt_timestamp;\n\tpid_t pid;\n\tkuid_t uid;\n\tchar comm[16];\n\tbool ignore_pid;\n};\n\nstruct trace_bprintk_fmt {\n\tstruct list_head list;\n\tconst char *fmt;\n};\n\nstruct trace_buffer {\n\tunsigned int flags;\n\tint cpus;\n\tatomic_t record_disabled;\n\tatomic_t resizing;\n\tcpumask_var_t cpumask;\n\tstruct lock_class_key *reader_lock_key;\n\tstruct mutex mutex;\n\tstruct ring_buffer_per_cpu **buffers;\n\tstruct hlist_node node;\n\tu64 (*clock)(void);\n\tstruct rb_irq_work irq_work;\n\tbool time_stamp_abs;\n\tlong unsigned int range_addr_start;\n\tlong unsigned int range_addr_end;\n\tlong int last_text_delta;\n\tlong int last_data_delta;\n\tunsigned int subbuf_size;\n\tunsigned int subbuf_order;\n\tunsigned int max_data_size;\n};\n\nstruct trace_buffer_meta {\n\t__u32 meta_page_size;\n\t__u32 meta_struct_len;\n\t__u32 subbuf_size;\n\t__u32 nr_subbufs;\n\tstruct {\n\t\t__u64 lost_events;\n\t\t__u32 id;\n\t\t__u32 read;\n\t} reader;\n\t__u64 flags;\n\t__u64 entries;\n\t__u64 overrun;\n\t__u64 read;\n\t__u64 Reserved1;\n\t__u64 Reserved2;\n};\n\nstruct trace_buffer_struct {\n\tint nesting;\n\tchar buffer[4096];\n};\n\nstruct trace_probe_event;\n\nstruct trace_probe {\n\tstruct list_head list;\n\tstruct trace_probe_event *event;\n\tssize_t size;\n\tunsigned int nr_args;\n\tstruct probe_entry_arg *entry_arg;\n\tstruct probe_arg args[0];\n};\n\nstruct trace_eprobe {\n\tconst char *event_system;\n\tconst char *event_name;\n\tchar *filter_str;\n\tstruct trace_event_call *event;\n\tstruct dyn_event devent;\n\tstruct trace_probe tp;\n};\n\nstruct trace_eval_map {\n\tconst char *system;\n\tconst char *eval_string;\n\tlong unsigned int eval_value;\n};\n\nstruct trace_event_functions;\n\nstruct trace_event {\n\tstruct hlist_node node;\n\tint type;\n\tstruct trace_event_functions *funcs;\n};\n\nstruct trace_event_buffer {\n\tstruct trace_buffer *buffer;\n\tstruct ring_buffer_event *event;\n\tstruct trace_event_file *trace_file;\n\tvoid *entry;\n\tunsigned int trace_ctx;\n\tstruct pt_regs *regs;\n};\n\nstruct trace_event_class;\n\nstruct trace_event_call {\n\tstruct list_head list;\n\tstruct trace_event_class *class;\n\tunion {\n\t\tconst char *name;\n\t\tstruct tracepoint *tp;\n\t};\n\tstruct trace_event event;\n\tchar *print_fmt;\n\tunion {\n\t\tvoid *module;\n\t\tatomic_t refcnt;\n\t};\n\tvoid *data;\n\tint flags;\n\tint perf_refcount;\n\tstruct hlist_head *perf_events;\n\tstruct bpf_prog_array *prog_array;\n\tint (*perf_perm)(struct trace_event_call *, struct perf_event *);\n};\n\nstruct trace_event_fields;\n\nstruct trace_event_class {\n\tconst char *system;\n\tvoid *probe;\n\tvoid *perf_probe;\n\tint (*reg)(struct trace_event_call *, enum trace_reg, void *);\n\tstruct trace_event_fields *fields_array;\n\tstruct list_head * (*get_fields)(struct trace_event_call *);\n\tstruct list_head fields;\n\tint (*raw_init)(struct trace_event_call *);\n};\n\nstruct trace_event_data_offsets_9p_client_req {};\n\nstruct trace_event_data_offsets_9p_client_res {};\n\nstruct trace_event_data_offsets_9p_fid_ref {};\n\nstruct trace_event_data_offsets_9p_protocol_dump {\n\tu32 line;\n\tconst void *line_ptr_;\n};\n\nstruct trace_event_data_offsets_alarm_class {};\n\nstruct trace_event_data_offsets_alarmtimer_suspend {};\n\nstruct trace_event_data_offsets_alloc_vmap_area {};\n\nstruct trace_event_data_offsets_ata_bmdma_status {};\n\nstruct trace_event_data_offsets_ata_eh_action_template {};\n\nstruct trace_event_data_offsets_ata_eh_link_autopsy {};\n\nstruct trace_event_data_offsets_ata_eh_link_autopsy_qc {};\n\nstruct trace_event_data_offsets_ata_exec_command_template {};\n\nstruct trace_event_data_offsets_ata_link_reset_begin_template {};\n\nstruct trace_event_data_offsets_ata_link_reset_end_template {};\n\nstruct trace_event_data_offsets_ata_port_eh_begin_template {};\n\nstruct trace_event_data_offsets_ata_qc_complete_template {};\n\nstruct trace_event_data_offsets_ata_qc_issue_template {};\n\nstruct trace_event_data_offsets_ata_sff_hsm_template {};\n\nstruct trace_event_data_offsets_ata_sff_template {};\n\nstruct trace_event_data_offsets_ata_tf_load {};\n\nstruct trace_event_data_offsets_ata_transfer_data_template {};\n\nstruct trace_event_data_offsets_balance_dirty_pages {};\n\nstruct trace_event_data_offsets_bdi_dirty_ratelimit {};\n\nstruct trace_event_data_offsets_block_bio {};\n\nstruct trace_event_data_offsets_block_bio_complete {};\n\nstruct trace_event_data_offsets_block_bio_remap {};\n\nstruct trace_event_data_offsets_block_buffer {};\n\nstruct trace_event_data_offsets_block_plug {};\n\nstruct trace_event_data_offsets_block_rq {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_rq_completion {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_rq_remap {};\n\nstruct trace_event_data_offsets_block_rq_requeue {\n\tu32 cmd;\n\tconst void *cmd_ptr_;\n};\n\nstruct trace_event_data_offsets_block_split {};\n\nstruct trace_event_data_offsets_block_unplug {};\n\nstruct trace_event_data_offsets_bpf_test_finish {};\n\nstruct trace_event_data_offsets_bpf_trace_printk {\n\tu32 bpf_string;\n\tconst void *bpf_string_ptr_;\n};\n\nstruct trace_event_data_offsets_bpf_trigger_tp {};\n\nstruct trace_event_data_offsets_bpf_xdp_link_attach_failed {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_add {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_external_learn_add {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_fdb_update {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_br_mdb_full {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_cache_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cap_capable {};\n\nstruct trace_event_data_offsets_cdev_update {\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_event {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_migrate {\n\tu32 dst_path;\n\tconst void *dst_path_ptr_;\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_root {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_cgroup_rstat {};\n\nstruct trace_event_data_offsets_clk {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_duty_cycle {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_parent {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 pname;\n\tconst void *pname_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_phase {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate_range {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_clk_rate_request {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 pname;\n\tconst void *pname_ptr_;\n};\n\nstruct trace_event_data_offsets_clock {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_compact_retry {};\n\nstruct trace_event_data_offsets_console {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_consume_skb {};\n\nstruct trace_event_data_offsets_contention_begin {};\n\nstruct trace_event_data_offsets_contention_end {};\n\nstruct trace_event_data_offsets_cpu {};\n\nstruct trace_event_data_offsets_cpu_frequency_limits {};\n\nstruct trace_event_data_offsets_cpu_idle_miss {};\n\nstruct trace_event_data_offsets_cpu_latency_qos_request {};\n\nstruct trace_event_data_offsets_cpuhp_enter {};\n\nstruct trace_event_data_offsets_cpuhp_exit {};\n\nstruct trace_event_data_offsets_cpuhp_multi_enter {};\n\nstruct trace_event_data_offsets_csd_function {};\n\nstruct trace_event_data_offsets_csd_queue_cpu {};\n\nstruct trace_event_data_offsets_ctime {};\n\nstruct trace_event_data_offsets_ctime_ns_xchg {};\n\nstruct trace_event_data_offsets_dev_pm_qos_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_devfreq_frequency {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_devfreq_monitor {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_device_pm_callback_end {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_device_pm_callback_start {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n\tu32 parent;\n\tconst void *parent_ptr_;\n\tu32 pm_ops;\n\tconst void *pm_ops_ptr_;\n};\n\nstruct trace_event_data_offsets_devres {\n\tu32 devname;\n\tconst void *devname_ptr_;\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_alloc_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_alloc_sgt {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_fence {\n\tu32 driver;\n\tconst void *driver_ptr_;\n\tu32 timeline;\n\tconst void *timeline_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_free_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_free_sgt {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n\tu32 dma_addrs;\n\tconst void *dma_addrs_ptr_;\n\tu32 lengths;\n\tconst void *lengths_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_map_sg_err {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 phys_addrs;\n\tconst void *phys_addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_sync_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 dma_addrs;\n\tconst void *dma_addrs_ptr_;\n\tu32 lengths;\n\tconst void *lengths_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_sync_single {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_unmap {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_dma_unmap_sg {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 addrs;\n\tconst void *addrs_ptr_;\n};\n\nstruct trace_event_data_offsets_dql_stall_detected {};\n\nstruct trace_event_data_offsets_e1000e_trace_mac_register {};\n\nstruct trace_event_data_offsets_error_report_template {};\n\nstruct trace_event_data_offsets_exit_mmap {};\n\nstruct trace_event_data_offsets_ext4__bitmap_load {};\n\nstruct trace_event_data_offsets_ext4__es_extent {};\n\nstruct trace_event_data_offsets_ext4__es_shrink_enter {};\n\nstruct trace_event_data_offsets_ext4__fallocate_mode {};\n\nstruct trace_event_data_offsets_ext4__folio_op {};\n\nstruct trace_event_data_offsets_ext4__map_blocks_enter {};\n\nstruct trace_event_data_offsets_ext4__map_blocks_exit {};\n\nstruct trace_event_data_offsets_ext4__mb_new_pa {};\n\nstruct trace_event_data_offsets_ext4__mballoc {};\n\nstruct trace_event_data_offsets_ext4__trim {};\n\nstruct trace_event_data_offsets_ext4__truncate {};\n\nstruct trace_event_data_offsets_ext4__write_begin {};\n\nstruct trace_event_data_offsets_ext4__write_end {};\n\nstruct trace_event_data_offsets_ext4_alloc_da_blocks {};\n\nstruct trace_event_data_offsets_ext4_allocate_blocks {};\n\nstruct trace_event_data_offsets_ext4_allocate_inode {};\n\nstruct trace_event_data_offsets_ext4_begin_ordered_truncate {};\n\nstruct trace_event_data_offsets_ext4_collapse_range {};\n\nstruct trace_event_data_offsets_ext4_da_release_space {};\n\nstruct trace_event_data_offsets_ext4_da_reserve_space {};\n\nstruct trace_event_data_offsets_ext4_da_update_reserve_space {};\n\nstruct trace_event_data_offsets_ext4_da_write_pages {};\n\nstruct trace_event_data_offsets_ext4_da_write_pages_extent {};\n\nstruct trace_event_data_offsets_ext4_discard_blocks {};\n\nstruct trace_event_data_offsets_ext4_discard_preallocations {};\n\nstruct trace_event_data_offsets_ext4_drop_inode {};\n\nstruct trace_event_data_offsets_ext4_error {};\n\nstruct trace_event_data_offsets_ext4_es_find_extent_range_enter {};\n\nstruct trace_event_data_offsets_ext4_es_find_extent_range_exit {};\n\nstruct trace_event_data_offsets_ext4_es_insert_delayed_extent {};\n\nstruct trace_event_data_offsets_ext4_es_lookup_extent_enter {};\n\nstruct trace_event_data_offsets_ext4_es_lookup_extent_exit {};\n\nstruct trace_event_data_offsets_ext4_es_remove_extent {};\n\nstruct trace_event_data_offsets_ext4_es_shrink {};\n\nstruct trace_event_data_offsets_ext4_es_shrink_scan_exit {};\n\nstruct trace_event_data_offsets_ext4_evict_inode {};\n\nstruct trace_event_data_offsets_ext4_ext_convert_to_initialized_enter {};\n\nstruct trace_event_data_offsets_ext4_ext_convert_to_initialized_fastpath {};\n\nstruct trace_event_data_offsets_ext4_ext_handle_unwritten_extents {};\n\nstruct trace_event_data_offsets_ext4_ext_load_extent {};\n\nstruct trace_event_data_offsets_ext4_ext_remove_space {};\n\nstruct trace_event_data_offsets_ext4_ext_remove_space_done {};\n\nstruct trace_event_data_offsets_ext4_ext_rm_idx {};\n\nstruct trace_event_data_offsets_ext4_ext_rm_leaf {};\n\nstruct trace_event_data_offsets_ext4_ext_show_extent {};\n\nstruct trace_event_data_offsets_ext4_fallocate_exit {};\n\nstruct trace_event_data_offsets_ext4_fc_cleanup {};\n\nstruct trace_event_data_offsets_ext4_fc_commit_start {};\n\nstruct trace_event_data_offsets_ext4_fc_commit_stop {};\n\nstruct trace_event_data_offsets_ext4_fc_replay {};\n\nstruct trace_event_data_offsets_ext4_fc_replay_scan {};\n\nstruct trace_event_data_offsets_ext4_fc_stats {};\n\nstruct trace_event_data_offsets_ext4_fc_track_dentry {};\n\nstruct trace_event_data_offsets_ext4_fc_track_inode {};\n\nstruct trace_event_data_offsets_ext4_fc_track_range {};\n\nstruct trace_event_data_offsets_ext4_forget {};\n\nstruct trace_event_data_offsets_ext4_free_blocks {};\n\nstruct trace_event_data_offsets_ext4_free_inode {};\n\nstruct trace_event_data_offsets_ext4_fsmap_class {};\n\nstruct trace_event_data_offsets_ext4_get_implied_cluster_alloc_exit {};\n\nstruct trace_event_data_offsets_ext4_getfsmap_class {};\n\nstruct trace_event_data_offsets_ext4_insert_range {};\n\nstruct trace_event_data_offsets_ext4_invalidate_folio_op {};\n\nstruct trace_event_data_offsets_ext4_journal_start_inode {};\n\nstruct trace_event_data_offsets_ext4_journal_start_reserved {};\n\nstruct trace_event_data_offsets_ext4_journal_start_sb {};\n\nstruct trace_event_data_offsets_ext4_lazy_itable_init {};\n\nstruct trace_event_data_offsets_ext4_load_inode {};\n\nstruct trace_event_data_offsets_ext4_mark_inode_dirty {};\n\nstruct trace_event_data_offsets_ext4_mb_discard_preallocations {};\n\nstruct trace_event_data_offsets_ext4_mb_release_group_pa {};\n\nstruct trace_event_data_offsets_ext4_mb_release_inode_pa {};\n\nstruct trace_event_data_offsets_ext4_mballoc_alloc {};\n\nstruct trace_event_data_offsets_ext4_mballoc_prealloc {};\n\nstruct trace_event_data_offsets_ext4_nfs_commit_metadata {};\n\nstruct trace_event_data_offsets_ext4_other_inode_update_time {};\n\nstruct trace_event_data_offsets_ext4_prefetch_bitmaps {};\n\nstruct trace_event_data_offsets_ext4_read_block_bitmap_load {};\n\nstruct trace_event_data_offsets_ext4_remove_blocks {};\n\nstruct trace_event_data_offsets_ext4_request_blocks {};\n\nstruct trace_event_data_offsets_ext4_request_inode {};\n\nstruct trace_event_data_offsets_ext4_shutdown {};\n\nstruct trace_event_data_offsets_ext4_sync_file_enter {};\n\nstruct trace_event_data_offsets_ext4_sync_file_exit {};\n\nstruct trace_event_data_offsets_ext4_sync_fs {};\n\nstruct trace_event_data_offsets_ext4_unlink_enter {};\n\nstruct trace_event_data_offsets_ext4_unlink_exit {};\n\nstruct trace_event_data_offsets_ext4_update_sb {};\n\nstruct trace_event_data_offsets_ext4_writepages {};\n\nstruct trace_event_data_offsets_ext4_writepages_result {};\n\nstruct trace_event_data_offsets_fdb_delete {\n\tu32 br_dev;\n\tconst void *br_dev_ptr_;\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_ff_layout_commit_error {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_fib6_table_lookup {};\n\nstruct trace_event_data_offsets_fib_table_lookup {};\n\nstruct trace_event_data_offsets_file_check_and_advance_wb_err {};\n\nstruct trace_event_data_offsets_filelock_lease {};\n\nstruct trace_event_data_offsets_filelock_lock {};\n\nstruct trace_event_data_offsets_filemap_set_wb_err {};\n\nstruct trace_event_data_offsets_fill_mg_cmtime {};\n\nstruct trace_event_data_offsets_finish_task_reaping {};\n\nstruct trace_event_data_offsets_fl_getdevinfo {\n\tu32 mds_addr;\n\tconst void *mds_addr_ptr_;\n\tu32 ds_ips;\n\tconst void *ds_ips_ptr_;\n};\n\nstruct trace_event_data_offsets_flush_foreign {};\n\nstruct trace_event_data_offsets_free_vmap_area_noflush {};\n\nstruct trace_event_data_offsets_generic_add_lease {};\n\nstruct trace_event_data_offsets_global_dirty_state {};\n\nstruct trace_event_data_offsets_gpio_direction {};\n\nstruct trace_event_data_offsets_gpio_value {};\n\nstruct trace_event_data_offsets_guest_halt_poll_ns {};\n\nstruct trace_event_data_offsets_handshake_alert_class {};\n\nstruct trace_event_data_offsets_handshake_complete {};\n\nstruct trace_event_data_offsets_handshake_error_class {};\n\nstruct trace_event_data_offsets_handshake_event_class {};\n\nstruct trace_event_data_offsets_handshake_fd_class {};\n\nstruct trace_event_data_offsets_hrtimer_class {};\n\nstruct trace_event_data_offsets_hrtimer_expire_entry {};\n\nstruct trace_event_data_offsets_hrtimer_init {};\n\nstruct trace_event_data_offsets_hrtimer_start {};\n\nstruct trace_event_data_offsets_hugetlbfs__inode {};\n\nstruct trace_event_data_offsets_hugetlbfs_alloc_inode {};\n\nstruct trace_event_data_offsets_hugetlbfs_fallocate {};\n\nstruct trace_event_data_offsets_hugetlbfs_setattr {\n\tu32 d_name;\n\tconst void *d_name_ptr_;\n};\n\nstruct trace_event_data_offsets_hw_pressure_update {};\n\nstruct trace_event_data_offsets_hwmon_attr_class {\n\tu32 attr_name;\n\tconst void *attr_name_ptr_;\n};\n\nstruct trace_event_data_offsets_hwmon_attr_show_string {\n\tu32 attr_name;\n\tconst void *attr_name_ptr_;\n\tu32 label;\n\tconst void *label_ptr_;\n};\n\nstruct trace_event_data_offsets_i2c_read {};\n\nstruct trace_event_data_offsets_i2c_reply {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_i2c_result {};\n\nstruct trace_event_data_offsets_i2c_write {\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_icmp_send {};\n\nstruct trace_event_data_offsets_inet_sk_error_report {};\n\nstruct trace_event_data_offsets_inet_sock_set_state {};\n\nstruct trace_event_data_offsets_initcall_finish {};\n\nstruct trace_event_data_offsets_initcall_level {\n\tu32 level;\n\tconst void *level_ptr_;\n};\n\nstruct trace_event_data_offsets_initcall_start {};\n\nstruct trace_event_data_offsets_inode_foreign_history {};\n\nstruct trace_event_data_offsets_inode_switch_wbs {};\n\nstruct trace_event_data_offsets_io_uring_complete {};\n\nstruct trace_event_data_offsets_io_uring_cqe_overflow {};\n\nstruct trace_event_data_offsets_io_uring_cqring_wait {};\n\nstruct trace_event_data_offsets_io_uring_create {};\n\nstruct trace_event_data_offsets_io_uring_defer {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_fail_link {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_file_get {};\n\nstruct trace_event_data_offsets_io_uring_link {};\n\nstruct trace_event_data_offsets_io_uring_local_work_run {};\n\nstruct trace_event_data_offsets_io_uring_poll_arm {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_queue_async_work {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_register {};\n\nstruct trace_event_data_offsets_io_uring_req_failed {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_short_write {};\n\nstruct trace_event_data_offsets_io_uring_submit_req {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_task_add {\n\tu32 op_str;\n\tconst void *op_str_ptr_;\n};\n\nstruct trace_event_data_offsets_io_uring_task_work_run {};\n\nstruct trace_event_data_offsets_iomap_class {};\n\nstruct trace_event_data_offsets_iomap_dio_complete {};\n\nstruct trace_event_data_offsets_iomap_dio_rw_begin {};\n\nstruct trace_event_data_offsets_iomap_iter {};\n\nstruct trace_event_data_offsets_iomap_range_class {};\n\nstruct trace_event_data_offsets_iomap_readpage_class {};\n\nstruct trace_event_data_offsets_iomap_writepage_map {};\n\nstruct trace_event_data_offsets_iommu_device_event {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_iommu_error {\n\tu32 device;\n\tconst void *device_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_iommu_group_event {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_ipi_handler {};\n\nstruct trace_event_data_offsets_ipi_raise {\n\tu32 target_cpus;\n\tconst void *target_cpus_ptr_;\n};\n\nstruct trace_event_data_offsets_ipi_send_cpu {};\n\nstruct trace_event_data_offsets_ipi_send_cpumask {\n\tu32 cpumask;\n\tconst void *cpumask_ptr_;\n};\n\nstruct trace_event_data_offsets_irq_handler_entry {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_irq_handler_exit {};\n\nstruct trace_event_data_offsets_irq_matrix_cpu {};\n\nstruct trace_event_data_offsets_irq_matrix_global {};\n\nstruct trace_event_data_offsets_irq_matrix_global_update {};\n\nstruct trace_event_data_offsets_itimer_expire {};\n\nstruct trace_event_data_offsets_itimer_state {};\n\nstruct trace_event_data_offsets_jbd2_checkpoint {};\n\nstruct trace_event_data_offsets_jbd2_checkpoint_stats {};\n\nstruct trace_event_data_offsets_jbd2_commit {};\n\nstruct trace_event_data_offsets_jbd2_end_commit {};\n\nstruct trace_event_data_offsets_jbd2_handle_extend {};\n\nstruct trace_event_data_offsets_jbd2_handle_start_class {};\n\nstruct trace_event_data_offsets_jbd2_handle_stats {};\n\nstruct trace_event_data_offsets_jbd2_journal_shrink {};\n\nstruct trace_event_data_offsets_jbd2_lock_buffer_stall {};\n\nstruct trace_event_data_offsets_jbd2_run_stats {};\n\nstruct trace_event_data_offsets_jbd2_shrink_checkpoint_list {};\n\nstruct trace_event_data_offsets_jbd2_shrink_scan_exit {};\n\nstruct trace_event_data_offsets_jbd2_submit_inode_data {};\n\nstruct trace_event_data_offsets_jbd2_update_log_tail {};\n\nstruct trace_event_data_offsets_jbd2_write_superblock {};\n\nstruct trace_event_data_offsets_kcompactd_wake_template {};\n\nstruct trace_event_data_offsets_kfree {};\n\nstruct trace_event_data_offsets_kfree_skb {};\n\nstruct trace_event_data_offsets_kmalloc {};\n\nstruct trace_event_data_offsets_kmem_cache_alloc {};\n\nstruct trace_event_data_offsets_kmem_cache_free {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_kyber_adjust {};\n\nstruct trace_event_data_offsets_kyber_latency {};\n\nstruct trace_event_data_offsets_kyber_throttled {};\n\nstruct trace_event_data_offsets_leases_conflict {};\n\nstruct trace_event_data_offsets_locks_get_lock_context {};\n\nstruct trace_event_data_offsets_ma_op {};\n\nstruct trace_event_data_offsets_ma_read {};\n\nstruct trace_event_data_offsets_ma_write {};\n\nstruct trace_event_data_offsets_map {};\n\nstruct trace_event_data_offsets_mark_victim {\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_mdio_access {};\n\nstruct trace_event_data_offsets_mem_connect {};\n\nstruct trace_event_data_offsets_mem_disconnect {};\n\nstruct trace_event_data_offsets_mem_return_failed {};\n\nstruct trace_event_data_offsets_memcg_flush_stats {};\n\nstruct trace_event_data_offsets_memcg_rstat_events {};\n\nstruct trace_event_data_offsets_memcg_rstat_stats {};\n\nstruct trace_event_data_offsets_migration_pte {};\n\nstruct trace_event_data_offsets_mm_alloc_contig_migrate_range_info {};\n\nstruct trace_event_data_offsets_mm_compaction_begin {};\n\nstruct trace_event_data_offsets_mm_compaction_defer_template {};\n\nstruct trace_event_data_offsets_mm_compaction_end {};\n\nstruct trace_event_data_offsets_mm_compaction_isolate_template {};\n\nstruct trace_event_data_offsets_mm_compaction_kcompactd_sleep {};\n\nstruct trace_event_data_offsets_mm_compaction_migratepages {};\n\nstruct trace_event_data_offsets_mm_compaction_suitable_template {};\n\nstruct trace_event_data_offsets_mm_compaction_try_to_compact_pages {};\n\nstruct trace_event_data_offsets_mm_filemap_fault {};\n\nstruct trace_event_data_offsets_mm_filemap_op_page_cache {};\n\nstruct trace_event_data_offsets_mm_filemap_op_page_cache_range {};\n\nstruct trace_event_data_offsets_mm_lru_activate {};\n\nstruct trace_event_data_offsets_mm_lru_insertion {};\n\nstruct trace_event_data_offsets_mm_migrate_pages {};\n\nstruct trace_event_data_offsets_mm_migrate_pages_start {};\n\nstruct trace_event_data_offsets_mm_page {};\n\nstruct trace_event_data_offsets_mm_page_alloc {};\n\nstruct trace_event_data_offsets_mm_page_alloc_extfrag {};\n\nstruct trace_event_data_offsets_mm_page_free {};\n\nstruct trace_event_data_offsets_mm_page_free_batched {};\n\nstruct trace_event_data_offsets_mm_page_pcpu_drain {};\n\nstruct trace_event_data_offsets_mm_shrink_slab_end {};\n\nstruct trace_event_data_offsets_mm_shrink_slab_start {};\n\nstruct trace_event_data_offsets_mm_vmscan_direct_reclaim_begin_template {};\n\nstruct trace_event_data_offsets_mm_vmscan_direct_reclaim_end_template {};\n\nstruct trace_event_data_offsets_mm_vmscan_kswapd_sleep {};\n\nstruct trace_event_data_offsets_mm_vmscan_kswapd_wake {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_isolate {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_shrink_active {};\n\nstruct trace_event_data_offsets_mm_vmscan_lru_shrink_inactive {};\n\nstruct trace_event_data_offsets_mm_vmscan_node_reclaim_begin {};\n\nstruct trace_event_data_offsets_mm_vmscan_reclaim_pages {};\n\nstruct trace_event_data_offsets_mm_vmscan_throttled {};\n\nstruct trace_event_data_offsets_mm_vmscan_wakeup_kswapd {};\n\nstruct trace_event_data_offsets_mm_vmscan_write_folio {};\n\nstruct trace_event_data_offsets_mmap_lock {};\n\nstruct trace_event_data_offsets_mmap_lock_acquire_returned {};\n\nstruct trace_event_data_offsets_mmc_request_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_mmc_request_start {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_free {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_load {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_refcnt {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_module_request {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_napi_poll {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh__update {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh_create {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_neigh_update {\n\tu32 dev;\n\tconst void *dev_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_rx_exit_template {};\n\nstruct trace_event_data_offsets_net_dev_rx_verbose_template {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_start_xmit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_template {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_xmit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_net_dev_xmit_timeout {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 driver;\n\tconst void *driver_ptr_;\n};\n\nstruct trace_event_data_offsets_netfs_collect {};\n\nstruct trace_event_data_offsets_netfs_collect_folio {};\n\nstruct trace_event_data_offsets_netfs_collect_gap {};\n\nstruct trace_event_data_offsets_netfs_collect_sreq {};\n\nstruct trace_event_data_offsets_netfs_collect_state {};\n\nstruct trace_event_data_offsets_netfs_collect_stream {};\n\nstruct trace_event_data_offsets_netfs_failure {};\n\nstruct trace_event_data_offsets_netfs_folio {};\n\nstruct trace_event_data_offsets_netfs_folioq {};\n\nstruct trace_event_data_offsets_netfs_read {};\n\nstruct trace_event_data_offsets_netfs_rreq {};\n\nstruct trace_event_data_offsets_netfs_rreq_ref {};\n\nstruct trace_event_data_offsets_netfs_sreq {};\n\nstruct trace_event_data_offsets_netfs_sreq_ref {};\n\nstruct trace_event_data_offsets_netfs_write {};\n\nstruct trace_event_data_offsets_netfs_write_iter {};\n\nstruct trace_event_data_offsets_netlink_extack {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_cached_open {};\n\nstruct trace_event_data_offsets_nfs4_cb_error_class {};\n\nstruct trace_event_data_offsets_nfs4_cb_offload {};\n\nstruct trace_event_data_offsets_nfs4_cb_seqid_err {};\n\nstruct trace_event_data_offsets_nfs4_cb_sequence {};\n\nstruct trace_event_data_offsets_nfs4_clientid_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_clone {};\n\nstruct trace_event_data_offsets_nfs4_close {};\n\nstruct trace_event_data_offsets_nfs4_commit_event {};\n\nstruct trace_event_data_offsets_nfs4_copy {};\n\nstruct trace_event_data_offsets_nfs4_copy_notify {};\n\nstruct trace_event_data_offsets_nfs4_delegreturn_exit {};\n\nstruct trace_event_data_offsets_nfs4_deviceid_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_deviceid_status {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_flexfiles_io_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_getattr_event {};\n\nstruct trace_event_data_offsets_nfs4_idmap_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_callback_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_event {};\n\nstruct trace_event_data_offsets_nfs4_inode_stateid_callback_event {\n\tu32 dstaddr;\n\tconst void *dstaddr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_inode_stateid_event {};\n\nstruct trace_event_data_offsets_nfs4_layoutget {};\n\nstruct trace_event_data_offsets_nfs4_llseek {};\n\nstruct trace_event_data_offsets_nfs4_lock_event {};\n\nstruct trace_event_data_offsets_nfs4_lookup_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_lookupp {};\n\nstruct trace_event_data_offsets_nfs4_offload_cancel {};\n\nstruct trace_event_data_offsets_nfs4_open_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_read_event {};\n\nstruct trace_event_data_offsets_nfs4_rename {\n\tu32 oldname;\n\tconst void *oldname_ptr_;\n\tu32 newname;\n\tconst void *newname_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_sequence_done {};\n\nstruct trace_event_data_offsets_nfs4_set_delegation_event {};\n\nstruct trace_event_data_offsets_nfs4_set_lock {};\n\nstruct trace_event_data_offsets_nfs4_setup_sequence {};\n\nstruct trace_event_data_offsets_nfs4_sparse_event {};\n\nstruct trace_event_data_offsets_nfs4_state_lock_reclaim {};\n\nstruct trace_event_data_offsets_nfs4_state_mgr {\n\tu32 hostname;\n\tconst void *hostname_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_state_mgr_failed {\n\tu32 hostname;\n\tconst void *hostname_ptr_;\n\tu32 section;\n\tconst void *section_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_test_stateid_event {};\n\nstruct trace_event_data_offsets_nfs4_trunked_exchange_id {\n\tu32 main_addr;\n\tconst void *main_addr_ptr_;\n\tu32 trunk_addr;\n\tconst void *trunk_addr_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_write_event {};\n\nstruct trace_event_data_offsets_nfs4_xattr_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs4_xdr_bad_operation {};\n\nstruct trace_event_data_offsets_nfs4_xdr_event {};\n\nstruct trace_event_data_offsets_nfs_access_exit {};\n\nstruct trace_event_data_offsets_nfs_aop_readahead {};\n\nstruct trace_event_data_offsets_nfs_aop_readahead_done {};\n\nstruct trace_event_data_offsets_nfs_atomic_open_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_atomic_open_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_commit_done {};\n\nstruct trace_event_data_offsets_nfs_create_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_create_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_direct_req_class {};\n\nstruct trace_event_data_offsets_nfs_directory_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_directory_event_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_fh_to_dentry {};\n\nstruct trace_event_data_offsets_nfs_folio_event {};\n\nstruct trace_event_data_offsets_nfs_folio_event_done {};\n\nstruct trace_event_data_offsets_nfs_initiate_commit {};\n\nstruct trace_event_data_offsets_nfs_initiate_read {};\n\nstruct trace_event_data_offsets_nfs_initiate_write {};\n\nstruct trace_event_data_offsets_nfs_inode_event {};\n\nstruct trace_event_data_offsets_nfs_inode_event_done {};\n\nstruct trace_event_data_offsets_nfs_inode_range_event {};\n\nstruct trace_event_data_offsets_nfs_link_enter {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_link_exit {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_local_open_fh {};\n\nstruct trace_event_data_offsets_nfs_lookup_event {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_lookup_event_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_assign {\n\tu32 option;\n\tconst void *option_ptr_;\n\tu32 value;\n\tconst void *value_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_option {\n\tu32 option;\n\tconst void *option_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_mount_path {\n\tu32 path;\n\tconst void *path_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_page_error_class {};\n\nstruct trace_event_data_offsets_nfs_pgio_error {};\n\nstruct trace_event_data_offsets_nfs_readdir_event {};\n\nstruct trace_event_data_offsets_nfs_readpage_done {};\n\nstruct trace_event_data_offsets_nfs_readpage_short {};\n\nstruct trace_event_data_offsets_nfs_rename_event {\n\tu32 old_name;\n\tconst void *old_name_ptr_;\n\tu32 new_name;\n\tconst void *new_name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_rename_event_done {\n\tu32 old_name;\n\tconst void *old_name_ptr_;\n\tu32 new_name;\n\tconst void *new_name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_sillyrename_unlink {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_nfs_update_size_class {};\n\nstruct trace_event_data_offsets_nfs_writeback_done {};\n\nstruct trace_event_data_offsets_nfs_xdr_event {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_nlmclnt_lock_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_notifier_info {};\n\nstruct trace_event_data_offsets_oom_score_adj_update {};\n\nstruct trace_event_data_offsets_page_pool_release {};\n\nstruct trace_event_data_offsets_page_pool_state_hold {};\n\nstruct trace_event_data_offsets_page_pool_state_release {};\n\nstruct trace_event_data_offsets_page_pool_update_nid {};\n\nstruct trace_event_data_offsets_percpu_alloc_percpu {};\n\nstruct trace_event_data_offsets_percpu_alloc_percpu_fail {};\n\nstruct trace_event_data_offsets_percpu_create_chunk {};\n\nstruct trace_event_data_offsets_percpu_destroy_chunk {};\n\nstruct trace_event_data_offsets_percpu_free_percpu {};\n\nstruct trace_event_data_offsets_pm_qos_update {};\n\nstruct trace_event_data_offsets_pmap_register {};\n\nstruct trace_event_data_offsets_pnfs_bl_pr_key_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_pnfs_bl_pr_key_err_class {\n\tu32 device;\n\tconst void *device_ptr_;\n};\n\nstruct trace_event_data_offsets_pnfs_layout_event {};\n\nstruct trace_event_data_offsets_pnfs_update_layout {};\n\nstruct trace_event_data_offsets_power_domain {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_powernv_throttle {\n\tu32 reason;\n\tconst void *reason_ptr_;\n};\n\nstruct trace_event_data_offsets_pstate_sample {};\n\nstruct trace_event_data_offsets_purge_vmap_area_lazy {};\n\nstruct trace_event_data_offsets_qdisc_create {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_dequeue {};\n\nstruct trace_event_data_offsets_qdisc_destroy {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_qdisc_enqueue {};\n\nstruct trace_event_data_offsets_qdisc_reset {\n\tu32 dev;\n\tconst void *dev_ptr_;\n\tu32 kind;\n\tconst void *kind_ptr_;\n};\n\nstruct trace_event_data_offsets_rcu_stall_warning {};\n\nstruct trace_event_data_offsets_rcu_utilization {};\n\nstruct trace_event_data_offsets_reclaim_retry_zone {};\n\nstruct trace_event_data_offsets_regcache_drop_region {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regcache_sync {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 status;\n\tconst void *status_ptr_;\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_register_class {\n\tu32 program;\n\tconst void *program_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_async {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_block {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_bool {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_bulk {\n\tu32 name;\n\tconst void *name_ptr_;\n\tu32 buf;\n\tconst void *buf_ptr_;\n};\n\nstruct trace_event_data_offsets_regmap_reg {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regulator_basic {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regulator_range {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_regulator_value {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_buf_alloc {};\n\nstruct trace_event_data_offsets_rpc_call_rpcerror {};\n\nstruct trace_event_data_offsets_rpc_clnt_class {};\n\nstruct trace_event_data_offsets_rpc_clnt_clone_err {};\n\nstruct trace_event_data_offsets_rpc_clnt_new {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_clnt_new_err {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 server;\n\tconst void *server_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_failure {};\n\nstruct trace_event_data_offsets_rpc_reply_event {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n\tu32 servername;\n\tconst void *servername_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_request {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_socket_nospace {};\n\nstruct trace_event_data_offsets_rpc_stats_latency {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_task_queued {\n\tu32 q_name;\n\tconst void *q_name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_task_running {};\n\nstruct trace_event_data_offsets_rpc_task_status {};\n\nstruct trace_event_data_offsets_rpc_tls_class {\n\tu32 servername;\n\tconst void *servername_ptr_;\n\tu32 progname;\n\tconst void *progname_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xdr_alignment {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xdr_buf_class {};\n\nstruct trace_event_data_offsets_rpc_xdr_overflow {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xprt_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpc_xprt_lifetime_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_getport {\n\tu32 servername;\n\tconst void *servername_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_register {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcb_setport {};\n\nstruct trace_event_data_offsets_rpcb_unregister {\n\tu32 netid;\n\tconst void *netid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_bad_seqno {};\n\nstruct trace_event_data_offsets_rpcgss_context {\n\tu32 acceptor;\n\tconst void *acceptor_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_createauth {};\n\nstruct trace_event_data_offsets_rpcgss_ctx_class {\n\tu32 principal;\n\tconst void *principal_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_gssapi_event {};\n\nstruct trace_event_data_offsets_rpcgss_import_ctx {};\n\nstruct trace_event_data_offsets_rpcgss_need_reencode {};\n\nstruct trace_event_data_offsets_rpcgss_oid_to_mech {\n\tu32 oid;\n\tconst void *oid_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_seqno {};\n\nstruct trace_event_data_offsets_rpcgss_svc_accept_upcall {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_authenticate {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_gssapi_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_bad {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_class {};\n\nstruct trace_event_data_offsets_rpcgss_svc_seqno_low {};\n\nstruct trace_event_data_offsets_rpcgss_svc_unwrap_failed {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_svc_wrap_failed {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_unwrap_failed {};\n\nstruct trace_event_data_offsets_rpcgss_upcall_msg {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_rpcgss_upcall_result {};\n\nstruct trace_event_data_offsets_rpcgss_update_slack {};\n\nstruct trace_event_data_offsets_rpm_internal {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpm_return_int {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rpm_status {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_rseq_ip_fixup {};\n\nstruct trace_event_data_offsets_rseq_update {};\n\nstruct trace_event_data_offsets_rss_stat {};\n\nstruct trace_event_data_offsets_rtc_alarm_irq_enable {};\n\nstruct trace_event_data_offsets_rtc_irq_set_freq {};\n\nstruct trace_event_data_offsets_rtc_irq_set_state {};\n\nstruct trace_event_data_offsets_rtc_offset_class {};\n\nstruct trace_event_data_offsets_rtc_time_alarm_class {};\n\nstruct trace_event_data_offsets_rtc_timer_class {};\n\nstruct trace_event_data_offsets_sbi_call {};\n\nstruct trace_event_data_offsets_sbi_return {};\n\nstruct trace_event_data_offsets_sched_kthread_stop {};\n\nstruct trace_event_data_offsets_sched_kthread_stop_ret {};\n\nstruct trace_event_data_offsets_sched_kthread_work_execute_end {};\n\nstruct trace_event_data_offsets_sched_kthread_work_execute_start {};\n\nstruct trace_event_data_offsets_sched_kthread_work_queue_work {};\n\nstruct trace_event_data_offsets_sched_migrate_task {};\n\nstruct trace_event_data_offsets_sched_move_numa {};\n\nstruct trace_event_data_offsets_sched_numa_pair_template {};\n\nstruct trace_event_data_offsets_sched_pi_setprio {};\n\nstruct trace_event_data_offsets_sched_prepare_exec {\n\tu32 interp;\n\tconst void *interp_ptr_;\n\tu32 filename;\n\tconst void *filename_ptr_;\n\tu32 comm;\n\tconst void *comm_ptr_;\n};\n\nstruct trace_event_data_offsets_sched_process_exec {\n\tu32 filename;\n\tconst void *filename_ptr_;\n};\n\nstruct trace_event_data_offsets_sched_process_fork {};\n\nstruct trace_event_data_offsets_sched_process_hang {};\n\nstruct trace_event_data_offsets_sched_process_template {};\n\nstruct trace_event_data_offsets_sched_process_wait {};\n\nstruct trace_event_data_offsets_sched_stat_runtime {};\n\nstruct trace_event_data_offsets_sched_switch {};\n\nstruct trace_event_data_offsets_sched_wake_idle_without_ipi {};\n\nstruct trace_event_data_offsets_sched_wakeup_template {};\n\nstruct trace_event_data_offsets_scsi_cmd_done_timeout_template {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_dispatch_cmd_error {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_dispatch_cmd_start {\n\tu32 cmnd;\n\tconst void *cmnd_ptr_;\n};\n\nstruct trace_event_data_offsets_scsi_eh_wakeup {};\n\nstruct trace_event_data_offsets_selinux_audited {\n\tu32 scontext;\n\tconst void *scontext_ptr_;\n\tu32 tcontext;\n\tconst void *tcontext_ptr_;\n\tu32 tclass;\n\tconst void *tclass_ptr_;\n};\n\nstruct trace_event_data_offsets_signal_deliver {};\n\nstruct trace_event_data_offsets_signal_generate {};\n\nstruct trace_event_data_offsets_sk_data_ready {};\n\nstruct trace_event_data_offsets_skb_copy_datagram_iovec {};\n\nstruct trace_event_data_offsets_skip_task_reaping {};\n\nstruct trace_event_data_offsets_smbus_read {};\n\nstruct trace_event_data_offsets_smbus_reply {};\n\nstruct trace_event_data_offsets_smbus_result {};\n\nstruct trace_event_data_offsets_smbus_write {};\n\nstruct trace_event_data_offsets_snd_soc_dapm {\n\tu32 card_name;\n\tconst void *card_name_ptr_;\n\tu32 comp_name;\n\tconst void *comp_name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm_basic {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm_connected {};\n\nstruct trace_event_data_offsets_snd_soc_dapm_path {\n\tu32 wname;\n\tconst void *wname_ptr_;\n\tu32 pname;\n\tconst void *pname_ptr_;\n\tu32 pnname;\n\tconst void *pnname_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm_walk_done {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_dapm_widget {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_jack_irq {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_jack_notify {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_snd_soc_jack_report {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_sock_exceed_buf_limit {};\n\nstruct trace_event_data_offsets_sock_msg_length {};\n\nstruct trace_event_data_offsets_sock_rcvqueue_full {};\n\nstruct trace_event_data_offsets_softirq {};\n\nstruct trace_event_data_offsets_spi_controller {};\n\nstruct trace_event_data_offsets_spi_message {};\n\nstruct trace_event_data_offsets_spi_message_done {};\n\nstruct trace_event_data_offsets_spi_set_cs {};\n\nstruct trace_event_data_offsets_spi_setup {};\n\nstruct trace_event_data_offsets_spi_transfer {\n\tu32 rx_buf;\n\tconst void *rx_buf_ptr_;\n\tu32 tx_buf;\n\tconst void *tx_buf_ptr_;\n};\n\nstruct trace_event_data_offsets_start_task_reaping {};\n\nstruct trace_event_data_offsets_suspend_resume {};\n\nstruct trace_event_data_offsets_svc_alloc_arg_err {};\n\nstruct trace_event_data_offsets_svc_authenticate {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_deferred_event {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_process {\n\tu32 service;\n\tconst void *service_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_replace_page_err {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_rqst_event {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_rqst_status {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_stats_latency {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n\tu32 procedure;\n\tconst void *procedure_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_unregister {\n\tu32 program;\n\tconst void *program_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_wake_up {};\n\nstruct trace_event_data_offsets_svc_xdr_buf_class {};\n\nstruct trace_event_data_offsets_svc_xdr_msg_class {};\n\nstruct trace_event_data_offsets_svc_xprt_accept {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n\tu32 protocol;\n\tconst void *protocol_ptr_;\n\tu32 service;\n\tconst void *service_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_create_err {\n\tu32 program;\n\tconst void *program_ptr_;\n\tu32 protocol;\n\tconst void *protocol_ptr_;\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_dequeue {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_enqueue {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svc_xprt_event {\n\tu32 server;\n\tconst void *server_ptr_;\n\tu32 client;\n\tconst void *client_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_accept_class {\n\tu32 service;\n\tconst void *service_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_class {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_lifetime_class {};\n\nstruct trace_event_data_offsets_svcsock_marker {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_tcp_recv_short {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_svcsock_tcp_state {\n\tu32 addr;\n\tconst void *addr_ptr_;\n};\n\nstruct trace_event_data_offsets_swiotlb_bounced {\n\tu32 dev_name;\n\tconst void *dev_name_ptr_;\n};\n\nstruct trace_event_data_offsets_sys_enter {};\n\nstruct trace_event_data_offsets_sys_exit {};\n\nstruct trace_event_data_offsets_task_newtask {};\n\nstruct trace_event_data_offsets_task_prctl_unknown {};\n\nstruct trace_event_data_offsets_task_rename {};\n\nstruct trace_event_data_offsets_tasklet {};\n\nstruct trace_event_data_offsets_tcp_ao_event {};\n\nstruct trace_event_data_offsets_tcp_ao_event_sk {};\n\nstruct trace_event_data_offsets_tcp_ao_event_sne {};\n\nstruct trace_event_data_offsets_tcp_cong_state_set {};\n\nstruct trace_event_data_offsets_tcp_event_sk {};\n\nstruct trace_event_data_offsets_tcp_event_sk_skb {};\n\nstruct trace_event_data_offsets_tcp_event_skb {};\n\nstruct trace_event_data_offsets_tcp_hash_event {};\n\nstruct trace_event_data_offsets_tcp_probe {};\n\nstruct trace_event_data_offsets_tcp_retransmit_synack {};\n\nstruct trace_event_data_offsets_tcp_send_reset {};\n\nstruct trace_event_data_offsets_thermal_power_cpu_get_power_simple {};\n\nstruct trace_event_data_offsets_thermal_power_cpu_limit {\n\tu32 cpumask;\n\tconst void *cpumask_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_power_devfreq_get_power {\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_power_devfreq_limit {\n\tu32 type;\n\tconst void *type_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_temperature {\n\tu32 thermal_zone;\n\tconst void *thermal_zone_ptr_;\n};\n\nstruct trace_event_data_offsets_thermal_zone_trip {\n\tu32 thermal_zone;\n\tconst void *thermal_zone_ptr_;\n};\n\nstruct trace_event_data_offsets_tick_stop {};\n\nstruct trace_event_data_offsets_timer_base_idle {};\n\nstruct trace_event_data_offsets_timer_class {};\n\nstruct trace_event_data_offsets_timer_expire_entry {};\n\nstruct trace_event_data_offsets_timer_start {};\n\nstruct trace_event_data_offsets_tlb_flush {};\n\nstruct trace_event_data_offsets_tls_contenttype {};\n\nstruct trace_event_data_offsets_tmigr_connect_child_parent {};\n\nstruct trace_event_data_offsets_tmigr_connect_cpu_parent {};\n\nstruct trace_event_data_offsets_tmigr_cpugroup {};\n\nstruct trace_event_data_offsets_tmigr_group_and_cpu {};\n\nstruct trace_event_data_offsets_tmigr_group_set {};\n\nstruct trace_event_data_offsets_tmigr_handle_remote {};\n\nstruct trace_event_data_offsets_tmigr_idle {};\n\nstruct trace_event_data_offsets_tmigr_update_events {};\n\nstruct trace_event_data_offsets_track_foreign_dirty {};\n\nstruct trace_event_data_offsets_udc_log_ep {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_udc_log_gadget {};\n\nstruct trace_event_data_offsets_udc_log_req {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_udp_fail_queue_rcv_skb {};\n\nstruct trace_event_data_offsets_unmap {};\n\nstruct trace_event_data_offsets_vm_unmapped_area {};\n\nstruct trace_event_data_offsets_vma_mas_szero {};\n\nstruct trace_event_data_offsets_vma_store {};\n\nstruct trace_event_data_offsets_wake_reaper {};\n\nstruct trace_event_data_offsets_wakeup_source {\n\tu32 name;\n\tconst void *name_ptr_;\n};\n\nstruct trace_event_data_offsets_watchdog_set_timeout {};\n\nstruct trace_event_data_offsets_watchdog_template {};\n\nstruct trace_event_data_offsets_wbc_class {};\n\nstruct trace_event_data_offsets_workqueue_activate_work {};\n\nstruct trace_event_data_offsets_workqueue_execute_end {};\n\nstruct trace_event_data_offsets_workqueue_execute_start {};\n\nstruct trace_event_data_offsets_workqueue_queue_work {\n\tu32 workqueue;\n\tconst void *workqueue_ptr_;\n};\n\nstruct trace_event_data_offsets_writeback_bdi_register {};\n\nstruct trace_event_data_offsets_writeback_class {};\n\nstruct trace_event_data_offsets_writeback_dirty_inode_template {};\n\nstruct trace_event_data_offsets_writeback_folio_template {};\n\nstruct trace_event_data_offsets_writeback_inode_template {};\n\nstruct trace_event_data_offsets_writeback_pages_written {};\n\nstruct trace_event_data_offsets_writeback_queue_io {};\n\nstruct trace_event_data_offsets_writeback_sb_inodes_requeue {};\n\nstruct trace_event_data_offsets_writeback_single_inode_template {};\n\nstruct trace_event_data_offsets_writeback_work_class {};\n\nstruct trace_event_data_offsets_writeback_write_inode_template {};\n\nstruct trace_event_data_offsets_xdp_bulk_tx {};\n\nstruct trace_event_data_offsets_xdp_cpumap_enqueue {};\n\nstruct trace_event_data_offsets_xdp_cpumap_kthread {};\n\nstruct trace_event_data_offsets_xdp_devmap_xmit {};\n\nstruct trace_event_data_offsets_xdp_exception {};\n\nstruct trace_event_data_offsets_xdp_redirect_template {};\n\nstruct trace_event_data_offsets_xhci_dbc_log_request {};\n\nstruct trace_event_data_offsets_xhci_log_ctrl_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_ctx {\n\tu32 ctx_data;\n\tconst void *ctx_data_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_doorbell {};\n\nstruct trace_event_data_offsets_xhci_log_ep_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_free_virt_dev {};\n\nstruct trace_event_data_offsets_xhci_log_msg {\n\tu32 msg;\n\tconst void *msg_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_portsc {};\n\nstruct trace_event_data_offsets_xhci_log_ring {};\n\nstruct trace_event_data_offsets_xhci_log_slot_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_stream_ctx {};\n\nstruct trace_event_data_offsets_xhci_log_trb {};\n\nstruct trace_event_data_offsets_xhci_log_urb {\n\tu32 devname;\n\tconst void *devname_ptr_;\n};\n\nstruct trace_event_data_offsets_xhci_log_virt_dev {};\n\nstruct trace_event_data_offsets_xprt_cong_event {};\n\nstruct trace_event_data_offsets_xprt_ping {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_reserve {};\n\nstruct trace_event_data_offsets_xprt_retransmit {\n\tu32 progname;\n\tconst void *progname_ptr_;\n\tu32 procname;\n\tconst void *procname_ptr_;\n};\n\nstruct trace_event_data_offsets_xprt_transmit {};\n\nstruct trace_event_data_offsets_xprt_writelock_event {};\n\nstruct trace_event_data_offsets_xs_data_ready {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xs_socket_event {};\n\nstruct trace_event_data_offsets_xs_socket_event_done {};\n\nstruct trace_event_data_offsets_xs_stream_read_data {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_data_offsets_xs_stream_read_request {\n\tu32 addr;\n\tconst void *addr_ptr_;\n\tu32 port;\n\tconst void *port_ptr_;\n};\n\nstruct trace_event_fields {\n\tconst char *type;\n\tunion {\n\t\tstruct {\n\t\t\tconst char *name;\n\t\t\tconst int size;\n\t\t\tconst int align;\n\t\t\tconst unsigned int is_signed: 1;\n\t\t\tunsigned int needs_test: 1;\n\t\t\tconst int filter_type;\n\t\t\tconst int len;\n\t\t};\n\t\tint (*define_fields)(struct trace_event_call *);\n\t};\n};\n\nstruct trace_subsystem_dir;\n\nstruct trace_event_file {\n\tstruct list_head list;\n\tstruct trace_event_call *event_call;\n\tstruct event_filter *filter;\n\tstruct eventfs_inode *ei;\n\tstruct trace_array *tr;\n\tstruct trace_subsystem_dir *system;\n\tstruct list_head triggers;\n\tlong unsigned int flags;\n\trefcount_t ref;\n\tatomic_t sm_ref;\n\tatomic_t tm_ref;\n};\n\ntypedef enum print_line_t (*trace_print_func)(struct trace_iterator *, int, struct trace_event *);\n\nstruct trace_event_functions {\n\ttrace_print_func trace;\n\ttrace_print_func raw;\n\ttrace_print_func hex;\n\ttrace_print_func binary;\n};\n\nstruct trace_event_raw_9p_client_req {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u32 tag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_client_res {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u32 tag;\n\t__u32 err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_fid_ref {\n\tstruct trace_entry ent;\n\tint fid;\n\tint refcount;\n\t__u8 type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_9p_protocol_dump {\n\tstruct trace_entry ent;\n\tvoid *clnt;\n\t__u8 type;\n\t__u16 tag;\n\tu32 __data_loc_line;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alarm_class {\n\tstruct trace_entry ent;\n\tvoid *alarm;\n\tunsigned char alarm_type;\n\ts64 expires;\n\ts64 now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alarmtimer_suspend {\n\tstruct trace_entry ent;\n\ts64 expires;\n\tunsigned char alarm_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_alloc_vmap_area {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int size;\n\tlong unsigned int align;\n\tlong unsigned int vstart;\n\tlong unsigned int vend;\n\tint failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_bmdma_status {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int tag;\n\tunsigned char host_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_action_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int eh_action;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_link_autopsy {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int eh_action;\n\tunsigned int eh_err_mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_eh_link_autopsy_qc {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int qc_flags;\n\tunsigned int eh_err_mask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_exec_command_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int tag;\n\tunsigned char cmd;\n\tunsigned char feature;\n\tunsigned char hob_nsect;\n\tunsigned char proto;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_link_reset_begin_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int class[2];\n\tlong unsigned int deadline;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_link_reset_end_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int class[2];\n\tint rc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_port_eh_begin_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_qc_complete_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned char status;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char error;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char ctl;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_qc_issue_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned char cmd;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char feature;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char ctl;\n\tunsigned char proto;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_sff_hsm_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int qc_flags;\n\tunsigned int protocol;\n\tunsigned int hsm_state;\n\tunsigned char dev_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_sff_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned char hsm_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_tf_load {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned char cmd;\n\tunsigned char dev;\n\tunsigned char lbal;\n\tunsigned char lbam;\n\tunsigned char lbah;\n\tunsigned char nsect;\n\tunsigned char feature;\n\tunsigned char hob_lbal;\n\tunsigned char hob_lbam;\n\tunsigned char hob_lbah;\n\tunsigned char hob_nsect;\n\tunsigned char hob_feature;\n\tunsigned char proto;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ata_transfer_data_template {\n\tstruct trace_entry ent;\n\tunsigned int ata_port;\n\tunsigned int ata_dev;\n\tunsigned int tag;\n\tunsigned int flags;\n\tunsigned int offset;\n\tunsigned int bytes;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_balance_dirty_pages {\n\tstruct trace_entry ent;\n\tchar bdi[32];\n\tlong unsigned int limit;\n\tlong unsigned int setpoint;\n\tlong unsigned int dirty;\n\tlong unsigned int bdi_setpoint;\n\tlong unsigned int bdi_dirty;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int task_ratelimit;\n\tunsigned int dirtied;\n\tunsigned int dirtied_pause;\n\tlong unsigned int paused;\n\tlong int pause;\n\tlong unsigned int period;\n\tlong int think;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bdi_dirty_ratelimit {\n\tstruct trace_entry ent;\n\tchar bdi[32];\n\tlong unsigned int write_bw;\n\tlong unsigned int avg_write_bw;\n\tlong unsigned int dirty_rate;\n\tlong unsigned int dirty_ratelimit;\n\tlong unsigned int task_ratelimit;\n\tlong unsigned int balanced_dirty_ratelimit;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tchar rwbs[8];\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio_complete {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tint error;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_bio_remap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tdev_t old_dev;\n\tsector_t old_sector;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_buffer {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_plug {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tunsigned int bytes;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tchar comm[16];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_completion {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tint error;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_remap {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tdev_t old_dev;\n\tsector_t old_sector;\n\tunsigned int nr_bios;\n\tchar rwbs[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_rq_requeue {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tunsigned int nr_sector;\n\tshort unsigned int ioprio;\n\tchar rwbs[8];\n\tu32 __data_loc_cmd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_split {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tsector_t sector;\n\tsector_t new_sector;\n\tchar rwbs[8];\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_block_unplug {\n\tstruct trace_entry ent;\n\tint nr_rq;\n\tchar comm[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_test_finish {\n\tstruct trace_entry ent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_trace_printk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_bpf_string;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_trigger_tp {\n\tstruct trace_entry ent;\n\tint nonce;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_bpf_xdp_link_attach_failed {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_add {\n\tstruct trace_entry ent;\n\tu8 ndm_flags;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tu16 nlh_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_external_learn_add {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_fdb_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_br_mdb_full {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tint af;\n\tu16 vid;\n\t__u8 src[16];\n\t__u8 grp[16];\n\t__u8 grpmac[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cache_event {\n\tstruct trace_entry ent;\n\tconst struct cache_head *h;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cap_capable {\n\tstruct trace_entry ent;\n\tconst struct cred *cred;\n\tstruct user_namespace *target_ns;\n\tconst struct user_namespace *capable_ns;\n\tint cap;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cdev_update {\n\tstruct trace_entry ent;\n\tu32 __data_loc_type;\n\tlong unsigned int target;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_event {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tu32 __data_loc_path;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_migrate {\n\tstruct trace_entry ent;\n\tint dst_root;\n\tint dst_level;\n\tu64 dst_id;\n\tint pid;\n\tu32 __data_loc_dst_path;\n\tu32 __data_loc_comm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_root {\n\tstruct trace_entry ent;\n\tint root;\n\tu16 ss_mask;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cgroup_rstat {\n\tstruct trace_entry ent;\n\tint root;\n\tint level;\n\tu64 id;\n\tint cpu;\n\tbool contended;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_duty_cycle {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int num;\n\tunsigned int den;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_parent {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_pname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_phase {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint phase;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int rate;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate_range {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clk_rate_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_pname;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int prate;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_clock {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tu64 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_compact_retry {\n\tstruct trace_entry ent;\n\tint order;\n\tint priority;\n\tint result;\n\tint retries;\n\tint max_retries;\n\tbool ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_console {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_consume_skb {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tvoid *location;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_contention_begin {\n\tstruct trace_entry ent;\n\tvoid *lock_addr;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_contention_end {\n\tstruct trace_entry ent;\n\tvoid *lock_addr;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu {\n\tstruct trace_entry ent;\n\tu32 state;\n\tu32 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_frequency_limits {\n\tstruct trace_entry ent;\n\tu32 min_freq;\n\tu32 max_freq;\n\tu32 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_idle_miss {\n\tstruct trace_entry ent;\n\tu32 cpu_id;\n\tu32 state;\n\tbool below;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpu_latency_qos_request {\n\tstruct trace_entry ent;\n\ts32 value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_enter {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint target;\n\tint idx;\n\tvoid *fun;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_exit {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint state;\n\tint idx;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_cpuhp_multi_enter {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tint target;\n\tint idx;\n\tvoid *fun;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_csd_function {\n\tstruct trace_entry ent;\n\tvoid *func;\n\tvoid *csd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_csd_queue_cpu {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tvoid *callsite;\n\tvoid *func;\n\tvoid *csd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ctime {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\ttime64_t ctime_s;\n\tu32 ctime_ns;\n\tu32 gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ctime_ns_xchg {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tu32 gen;\n\tu32 old;\n\tu32 new;\n\tu32 cur;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dev_pm_qos_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tenum dev_pm_qos_req_type type;\n\ts32 new_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devfreq_frequency {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tlong unsigned int freq;\n\tlong unsigned int prev_freq;\n\tlong unsigned int busy_time;\n\tlong unsigned int total_time;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devfreq_monitor {\n\tstruct trace_entry ent;\n\tlong unsigned int freq;\n\tlong unsigned int busy_time;\n\tlong unsigned int total_time;\n\tunsigned int polling_ms;\n\tu32 __data_loc_dev_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_device_pm_callback_end {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_device_pm_callback_start {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tu32 __data_loc_parent;\n\tu32 __data_loc_pm_ops;\n\tint event;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_devres {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tstruct device *dev;\n\tconst char *op;\n\tvoid *node;\n\tu32 __data_loc_name;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_alloc_class {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tvoid *virt_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tgfp_t flags;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_alloc_sgt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tgfp_t flags;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_fence {\n\tstruct trace_entry ent;\n\tu32 __data_loc_driver;\n\tu32 __data_loc_timeline;\n\tunsigned int context;\n\tunsigned int seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_free_class {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tvoid *virt_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_free_sgt {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 phys_addr;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tu32 __data_loc_dma_addrs;\n\tu32 __data_loc_lengths;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_map_sg_err {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_phys_addrs;\n\tint err;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_sync_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_dma_addrs;\n\tu32 __data_loc_lengths;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_sync_single {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 dma_addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_unmap {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu64 addr;\n\tsize_t size;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dma_unmap_sg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_addrs;\n\tenum dma_data_direction dir;\n\tlong unsigned int attrs;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_dql_stall_detected {\n\tstruct trace_entry ent;\n\tshort unsigned int thrs;\n\tunsigned int len;\n\tlong unsigned int last_reap;\n\tlong unsigned int hist_head;\n\tlong unsigned int now;\n\tlong unsigned int hist[4];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_e1000e_trace_mac_register {\n\tstruct trace_entry ent;\n\tuint32_t reg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_error_report_template {\n\tstruct trace_entry ent;\n\tenum error_detector error_detector;\n\tlong unsigned int id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_exit_mmap {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tstruct maple_tree *mt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__bitmap_load {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__es_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__es_shrink_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_to_scan;\n\tint cache_cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__fallocate_mode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tint mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__folio_op {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__map_blocks_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tunsigned int len;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__map_blocks_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int flags;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tunsigned int len;\n\tunsigned int mflags;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__mb_new_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 pa_pstart;\n\t__u64 pa_lstart;\n\t__u32 pa_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__mballoc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__trim {\n\tstruct trace_entry ent;\n\tint dev_major;\n\tint dev_minor;\n\t__u32 group;\n\tint start;\n\tint len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__truncate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__write_begin {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4__write_end {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int len;\n\tunsigned int copied;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_alloc_da_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int data_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_allocate_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tunsigned int len;\n\t__u32 logical;\n\t__u32 lleft;\n\t__u32 lright;\n\t__u64 goal;\n\t__u64 pleft;\n\t__u64 pright;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_allocate_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_begin_ordered_truncate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_collapse_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_release_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint freed_blocks;\n\tint reserved_data_blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_reserve_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint reserve_blocks;\n\tint reserved_data_blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_update_reserve_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 i_blocks;\n\tint used_blocks;\n\tint reserved_data_blocks;\n\tint quota_claim;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_write_pages {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int first_page;\n\tlong int nr_to_write;\n\tint sync_mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_da_write_pages_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 lblk;\n\t__u32 len;\n\t__u32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_discard_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u64 blk;\n\t__u64 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_discard_preallocations {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_drop_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint drop;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tconst char *function;\n\tunsigned int line;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_find_extent_range_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_find_extent_range_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_insert_delayed_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tbool lclu_allocated;\n\tbool end_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_lookup_extent_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_lookup_extent_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t lblk;\n\text4_lblk_t len;\n\text4_fsblk_t pblk;\n\tchar status;\n\tint found;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_remove_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t lblk;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_shrink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_shrunk;\n\tlong long unsigned int scan_time;\n\tint nr_skipped;\n\tint retried;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_es_shrink_scan_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nr_shrunk;\n\tint cache_cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_evict_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint nlink;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_convert_to_initialized_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\text4_lblk_t u_lblk;\n\tunsigned int u_len;\n\text4_fsblk_t u_pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_convert_to_initialized_fastpath {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t m_lblk;\n\tunsigned int m_len;\n\text4_lblk_t u_lblk;\n\tunsigned int u_len;\n\text4_fsblk_t u_pblk;\n\text4_lblk_t i_lblk;\n\tunsigned int i_len;\n\text4_fsblk_t i_pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_handle_unwritten_extents {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint flags;\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tunsigned int len;\n\tunsigned int allocated;\n\text4_fsblk_t newblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_load_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_remove_space {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t end;\n\tint depth;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_remove_space_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t end;\n\tint depth;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tshort unsigned int eh_entries;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_rm_idx {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_rm_leaf {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t start;\n\text4_lblk_t ee_lblk;\n\text4_fsblk_t ee_pblk;\n\tshort int ee_len;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_ext_show_extent {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_fsblk_t pblk;\n\text4_lblk_t lblk;\n\tshort unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fallocate_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t pos;\n\tunsigned int blocks;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_cleanup {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint j_fc_off;\n\tint full;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_commit_start {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_commit_stop {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint nblks;\n\tint reason;\n\tint num_fc;\n\tint num_fc_ineligible;\n\tint nblks_agg;\n\ttid_t tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_replay {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint tag;\n\tint ino;\n\tint priv1;\n\tint priv2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_replay_scan {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint error;\n\tint off;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int fc_ineligible_rc[10];\n\tlong unsigned int fc_commits;\n\tlong unsigned int fc_ineligible_commits;\n\tlong unsigned int fc_numblks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_dentry {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fc_track_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t t_tid;\n\tino_t i_ino;\n\ttid_t i_sync_tid;\n\tlong int start;\n\tlong int end;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_forget {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tint is_metadata;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_free_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\tlong unsigned int count;\n\tint flags;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_free_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tuid_t uid;\n\tgid_t gid;\n\t__u64 blocks;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_fsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\tu32 agno;\n\tu64 bno;\n\tu64 len;\n\tu64 owner;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_get_implied_cluster_alloc_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\text4_lblk_t lblk;\n\text4_fsblk_t pblk;\n\tunsigned int len;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_getfsmap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tdev_t keydev;\n\tu64 block;\n\tu64 len;\n\tu64 owner;\n\tu64 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_insert_range {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t offset;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_invalidate_folio_op {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int index;\n\tsize_t offset;\n\tsize_t length;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_inode {\n\tstruct trace_entry ent;\n\tlong unsigned int ino;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tint rsv_blocks;\n\tint revoke_creds;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_reserved {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_journal_start_sb {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int ip;\n\tint blocks;\n\tint rsv_blocks;\n\tint revoke_creds;\n\tint type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_lazy_itable_init {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_load_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mark_inode_dirty {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_discard_preallocations {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint needed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_release_group_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u64 pa_pstart;\n\t__u32 pa_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mb_release_inode_pa {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u64 block;\n\t__u32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mballoc_alloc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u32 orig_logical;\n\tint orig_start;\n\t__u32 orig_group;\n\tint orig_len;\n\t__u32 goal_logical;\n\tint goal_start;\n\t__u32 goal_group;\n\tint goal_len;\n\t__u32 result_logical;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\t__u16 found;\n\t__u16 groups;\n\t__u16 buddy;\n\t__u16 flags;\n\t__u16 tail;\n\t__u8 cr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_mballoc_prealloc {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u32 orig_logical;\n\tint orig_start;\n\t__u32 orig_group;\n\tint orig_len;\n\t__u32 result_logical;\n\tint result_start;\n\t__u32 result_group;\n\tint result_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_nfs_commit_metadata {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_other_inode_update_time {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t orig_ino;\n\tuid_t uid;\n\tgid_t gid;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_prefetch_bitmaps {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\t__u32 next;\n\t__u32 ios;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_read_block_bitmap_load {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\t__u32 group;\n\tbool prefetch;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_remove_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\text4_lblk_t from;\n\text4_lblk_t to;\n\text4_fsblk_t ee_pblk;\n\text4_lblk_t ee_lblk;\n\tshort unsigned int ee_len;\n\text4_fsblk_t pc_pclu;\n\text4_lblk_t pc_lblk;\n\tint pc_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_request_blocks {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int len;\n\t__u32 logical;\n\t__u32 lleft;\n\t__u32 lright;\n\t__u64 goal;\n\t__u64 pleft;\n\t__u64 pright;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_request_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_shutdown {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_file_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t parent;\n\tint datasync;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_file_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_sync_fs {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_unlink_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t parent;\n\tloff_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_unlink_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_update_sb {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\text4_fsblk_t fsblk;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_writepages {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tlong unsigned int writeback_index;\n\tint sync_mode;\n\tchar for_kupdate;\n\tchar range_cyclic;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ext4_writepages_result {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint ret;\n\tint pages_written;\n\tlong int pages_skipped;\n\tlong unsigned int writeback_index;\n\tint sync_mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fdb_delete {\n\tstruct trace_entry ent;\n\tu32 __data_loc_br_dev;\n\tu32 __data_loc_dev;\n\tunsigned char addr[6];\n\tu16 vid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ff_layout_commit_error {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fib6_table_lookup {\n\tstruct trace_entry ent;\n\tu32 tb_id;\n\tint err;\n\tint oif;\n\tint iif;\n\tu32 flowlabel;\n\t__u8 tos;\n\t__u8 scope;\n\t__u8 flags;\n\t__u8 src[16];\n\t__u8 dst[16];\n\tu16 sport;\n\tu16 dport;\n\tu8 proto;\n\tu8 rt_type;\n\tchar name[16];\n\t__u8 gw[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fib_table_lookup {\n\tstruct trace_entry ent;\n\tu32 tb_id;\n\tint err;\n\tint oif;\n\tint iif;\n\tu8 proto;\n\t__u8 tos;\n\t__u8 scope;\n\t__u8 flags;\n\t__u8 src[4];\n\t__u8 dst[4];\n\t__u8 gw4[4];\n\t__u8 gw6[16];\n\tu16 sport;\n\tu16 dport;\n\tchar name[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_file_check_and_advance_wb_err {\n\tstruct trace_entry ent;\n\tstruct file *file;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\terrseq_t old;\n\terrseq_t new;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filelock_lease {\n\tstruct trace_entry ent;\n\tstruct file_lease *fl;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tstruct file_lock_core *blocker;\n\tfl_owner_t owner;\n\tunsigned int flags;\n\tunsigned char type;\n\tlong unsigned int break_time;\n\tlong unsigned int downgrade_time;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filelock_lock {\n\tstruct trace_entry ent;\n\tstruct file_lock *fl;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tstruct file_lock_core *blocker;\n\tfl_owner_t owner;\n\tunsigned int pid;\n\tunsigned int flags;\n\tunsigned char type;\n\tloff_t fl_start;\n\tloff_t fl_end;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_filemap_set_wb_err {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\terrseq_t errseq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fill_mg_cmtime {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\ttime64_t ctime_s;\n\ttime64_t mtime_s;\n\tu32 ctime_ns;\n\tu32 mtime_ns;\n\tu32 gen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_finish_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_fl_getdevinfo {\n\tstruct trace_entry ent;\n\tu32 __data_loc_mds_addr;\n\tunsigned char deviceid[16];\n\tu32 __data_loc_ds_ips;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_flush_foreign {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t cgroup_ino;\n\tunsigned int frn_bdi_id;\n\tunsigned int frn_memcg_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_free_vmap_area_noflush {\n\tstruct trace_entry ent;\n\tlong unsigned int va_start;\n\tlong unsigned int nr_lazy;\n\tlong unsigned int nr_lazy_max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_generic_add_lease {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tint wcount;\n\tint rcount;\n\tint icount;\n\tdev_t s_dev;\n\tfl_owner_t owner;\n\tunsigned int flags;\n\tunsigned char type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_global_dirty_state {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int background_thresh;\n\tlong unsigned int dirty_thresh;\n\tlong unsigned int dirty_limit;\n\tlong unsigned int nr_dirtied;\n\tlong unsigned int nr_written;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_gpio_direction {\n\tstruct trace_entry ent;\n\tunsigned int gpio;\n\tint in;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_gpio_value {\n\tstruct trace_entry ent;\n\tunsigned int gpio;\n\tint get;\n\tint value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_guest_halt_poll_ns {\n\tstruct trace_entry ent;\n\tbool grow;\n\tunsigned int new;\n\tunsigned int old;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_alert_class {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tunsigned int netns_ino;\n\tlong unsigned int level;\n\tlong unsigned int description;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_complete {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint status;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_error_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint err;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_event_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_handshake_fd_class {\n\tstruct trace_entry ent;\n\tconst void *req;\n\tconst void *sk;\n\tint fd;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_class {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_expire_entry {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\ts64 now;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_init {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tclockid_t clockid;\n\tenum hrtimer_mode mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hrtimer_start {\n\tstruct trace_entry ent;\n\tvoid *hrtimer;\n\tvoid *function;\n\ts64 expires;\n\ts64 softexpires;\n\tenum hrtimer_mode mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs__inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\t__u16 mode;\n\tloff_t size;\n\tunsigned int nlink;\n\tunsigned int seals;\n\tblkcnt_t blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_alloc_inode {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tino_t dir;\n\t__u16 mode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_fallocate {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tint mode;\n\tloff_t offset;\n\tloff_t len;\n\tloff_t size;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hugetlbfs_setattr {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tunsigned int d_len;\n\tu32 __data_loc_d_name;\n\tunsigned int ia_valid;\n\tunsigned int ia_mode;\n\tloff_t old_size;\n\tloff_t ia_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hw_pressure_update {\n\tstruct trace_entry ent;\n\tlong unsigned int hw_pressure;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hwmon_attr_class {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 __data_loc_attr_name;\n\tlong int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_hwmon_attr_show_string {\n\tstruct trace_entry ent;\n\tint index;\n\tu32 __data_loc_attr_name;\n\tu32 __data_loc_label;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_read {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_reply {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_result {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 nr_msgs;\n\t__s16 ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_i2c_write {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 msg_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u16 len;\n\tu32 __data_loc_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_icmp_send {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tint type;\n\tint code;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u16 sport;\n\t__u16 dport;\n\tshort unsigned int ulen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inet_sk_error_report {\n\tstruct trace_entry ent;\n\tint error;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u16 protocol;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inet_sock_set_state {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\tint oldstate;\n\tint newstate;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u16 protocol;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\ntypedef int (*initcall_t)(void);\n\nstruct trace_event_raw_initcall_finish {\n\tstruct trace_entry ent;\n\tinitcall_t func;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_initcall_level {\n\tstruct trace_entry ent;\n\tu32 __data_loc_level;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_initcall_start {\n\tstruct trace_entry ent;\n\tinitcall_t func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inode_foreign_history {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tino_t cgroup_ino;\n\tunsigned int history;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_inode_switch_wbs {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tino_t old_cgroup_ino;\n\tino_t new_cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_complete {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tint res;\n\tunsigned int cflags;\n\tu64 extra1;\n\tu64 extra2;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_cqe_overflow {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tlong long unsigned int user_data;\n\ts32 res;\n\tu32 cflags;\n\tvoid *ocqe;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_cqring_wait {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tint min_events;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_create {\n\tstruct trace_entry ent;\n\tint fd;\n\tvoid *ctx;\n\tu32 sq_entries;\n\tu32 cq_entries;\n\tu32 flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_defer {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int data;\n\tu8 opcode;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_fail_link {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tvoid *link;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_file_get {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tint fd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_link {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tvoid *target_req;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_local_work_run {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tint count;\n\tunsigned int loops;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_poll_arm {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tint mask;\n\tint events;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_queue_async_work {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tu64 user_data;\n\tu8 opcode;\n\tlong long unsigned int flags;\n\tstruct io_wq_work *work;\n\tint rw;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_register {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tunsigned int opcode;\n\tunsigned int nr_files;\n\tunsigned int nr_bufs;\n\tlong int ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_req_failed {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tu8 flags;\n\tu8 ioprio;\n\tu64 off;\n\tu64 addr;\n\tu32 len;\n\tu32 op_flags;\n\tu16 buf_index;\n\tu16 personality;\n\tu32 file_index;\n\tu64 pad1;\n\tu64 addr3;\n\tint error;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_short_write {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tu64 fpos;\n\tu64 wanted;\n\tu64 got;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_submit_req {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tlong long unsigned int flags;\n\tbool sq_thread;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_task_add {\n\tstruct trace_entry ent;\n\tvoid *ctx;\n\tvoid *req;\n\tlong long unsigned int user_data;\n\tu8 opcode;\n\tint mask;\n\tu32 __data_loc_op_str;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_io_uring_task_work_run {\n\tstruct trace_entry ent;\n\tvoid *tctx;\n\tunsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tdev_t bdev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_dio_complete {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tint ki_flags;\n\tbool aio;\n\tint error;\n\tssize_t ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_dio_rw_begin {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tloff_t isize;\n\tloff_t pos;\n\tsize_t count;\n\tsize_t done_before;\n\tint ki_flags;\n\tunsigned int dio_flags;\n\tbool aio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_iter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tloff_t pos;\n\tu64 length;\n\ts64 processed;\n\tunsigned int flags;\n\tconst void *ops;\n\tlong unsigned int caller;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_range_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tloff_t size;\n\tloff_t offset;\n\tu64 length;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_readpage_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tint nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iomap_writepage_map {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tu64 pos;\n\tu64 dirty_len;\n\tu64 addr;\n\tloff_t offset;\n\tu64 length;\n\tu16 type;\n\tu16 flags;\n\tdev_t bdev;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_device_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_error {\n\tstruct trace_entry ent;\n\tu32 __data_loc_device;\n\tu32 __data_loc_driver;\n\tu64 iova;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_iommu_group_event {\n\tstruct trace_entry ent;\n\tint gid;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_handler {\n\tstruct trace_entry ent;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_raise {\n\tstruct trace_entry ent;\n\tu32 __data_loc_target_cpus;\n\tconst char *reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_send_cpu {\n\tstruct trace_entry ent;\n\tunsigned int cpu;\n\tvoid *callsite;\n\tvoid *callback;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ipi_send_cpumask {\n\tstruct trace_entry ent;\n\tu32 __data_loc_cpumask;\n\tvoid *callsite;\n\tvoid *callback;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_handler_entry {\n\tstruct trace_entry ent;\n\tint irq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_handler_exit {\n\tstruct trace_entry ent;\n\tint irq;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_matrix_cpu {\n\tstruct trace_entry ent;\n\tint bit;\n\tunsigned int cpu;\n\tbool online;\n\tunsigned int available;\n\tunsigned int allocated;\n\tunsigned int managed;\n\tunsigned int online_maps;\n\tunsigned int global_available;\n\tunsigned int global_reserved;\n\tunsigned int total_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_matrix_global {\n\tstruct trace_entry ent;\n\tunsigned int online_maps;\n\tunsigned int global_available;\n\tunsigned int global_reserved;\n\tunsigned int total_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_irq_matrix_global_update {\n\tstruct trace_entry ent;\n\tint bit;\n\tunsigned int online_maps;\n\tunsigned int global_available;\n\tunsigned int global_reserved;\n\tunsigned int total_allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_itimer_expire {\n\tstruct trace_entry ent;\n\tint which;\n\tpid_t pid;\n\tlong long unsigned int now;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_itimer_state {\n\tstruct trace_entry ent;\n\tint which;\n\tlong long unsigned int expires;\n\tlong int value_sec;\n\tlong int value_nsec;\n\tlong int interval_sec;\n\tlong int interval_nsec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_checkpoint {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_checkpoint_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tlong unsigned int chp_time;\n\t__u32 forced_to_close;\n\t__u32 written;\n\t__u32 dropped;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar sync_commit;\n\ttid_t transaction;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_end_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar sync_commit;\n\ttid_t transaction;\n\ttid_t head;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_extend {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint buffer_credits;\n\tint requested_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_start_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint requested_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_handle_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tunsigned int type;\n\tunsigned int line_no;\n\tint interval;\n\tint sync;\n\tint requested_blocks;\n\tint dirtied_blocks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_journal_shrink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_lock_buffer_stall {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int stall_ms;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_run_stats {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tid;\n\tlong unsigned int wait;\n\tlong unsigned int request_delay;\n\tlong unsigned int running;\n\tlong unsigned int locked;\n\tlong unsigned int flushing;\n\tlong unsigned int logging;\n\t__u32 handle_count;\n\t__u32 blocks;\n\t__u32 blocks_logged;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_shrink_checkpoint_list {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t first_tid;\n\ttid_t tid;\n\ttid_t last_tid;\n\tlong unsigned int nr_freed;\n\ttid_t next_tid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_shrink_scan_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int nr_to_scan;\n\tlong unsigned int nr_shrunk;\n\tlong unsigned int count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_submit_inode_data {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_update_log_tail {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\ttid_t tail_sequence;\n\ttid_t first_tid;\n\tlong unsigned int block_nr;\n\tlong unsigned int freed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_jbd2_write_superblock {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tblk_opf_t write_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kcompactd_wake_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tint order;\n\tenum zone_type highest_zoneidx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kfree {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kfree_skb {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tvoid *location;\n\tvoid *rx_sk;\n\tshort unsigned int protocol;\n\tenum skb_drop_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmalloc {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tsize_t bytes_req;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tint node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmem_cache_alloc {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tsize_t bytes_req;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tint node;\n\tbool accounted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kmem_cache_free {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tconst void *ptr;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_adjust {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tunsigned int depth;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_latency {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tchar type[8];\n\tu8 percentile;\n\tu8 numerator;\n\tu8 denominator;\n\tunsigned int samples;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_kyber_throttled {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tchar domain[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_leases_conflict {\n\tstruct trace_entry ent;\n\tvoid *lease;\n\tvoid *breaker;\n\tunsigned int l_fl_flags;\n\tunsigned int b_fl_flags;\n\tunsigned char l_fl_type;\n\tunsigned char b_fl_type;\n\tbool conflict;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_locks_get_lock_context {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tunsigned char type;\n\tstruct file_lock_context *ctx;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_op {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_read {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_ma_write {\n\tstruct trace_entry ent;\n\tconst char *fn;\n\tlong unsigned int min;\n\tlong unsigned int max;\n\tlong unsigned int index;\n\tlong unsigned int last;\n\tlong unsigned int piv;\n\tvoid *val;\n\tvoid *node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_map {\n\tstruct trace_entry ent;\n\tu64 iova;\n\tu64 paddr;\n\tsize_t size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mark_victim {\n\tstruct trace_entry ent;\n\tint pid;\n\tu32 __data_loc_comm;\n\tlong unsigned int total_vm;\n\tlong unsigned int anon_rss;\n\tlong unsigned int file_rss;\n\tlong unsigned int shmem_rss;\n\tuid_t uid;\n\tlong unsigned int pgtables;\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mdio_access {\n\tstruct trace_entry ent;\n\tchar busid[61];\n\tchar read;\n\tu8 addr;\n\tu16 val;\n\tunsigned int regnum;\n\tchar __data[0];\n};\n\nstruct xdp_mem_allocator;\n\nstruct trace_event_raw_mem_connect {\n\tstruct trace_entry ent;\n\tconst struct xdp_mem_allocator *xa;\n\tu32 mem_id;\n\tu32 mem_type;\n\tconst void *allocator;\n\tconst struct xdp_rxq_info *rxq;\n\tint ifindex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mem_disconnect {\n\tstruct trace_entry ent;\n\tconst struct xdp_mem_allocator *xa;\n\tu32 mem_id;\n\tu32 mem_type;\n\tconst void *allocator;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mem_return_failed {\n\tstruct trace_entry ent;\n\tconst struct page *page;\n\tu32 mem_id;\n\tu32 mem_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_flush_stats {\n\tstruct trace_entry ent;\n\tu64 id;\n\ts64 stats_updates;\n\tbool force;\n\tbool needs_flush;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_rstat_events {\n\tstruct trace_entry ent;\n\tu64 id;\n\tint item;\n\tlong unsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_memcg_rstat_stats {\n\tstruct trace_entry ent;\n\tu64 id;\n\tint item;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_migration_pte {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int pte;\n\tint order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_alloc_contig_migrate_range_info {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int nr_migrated;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_mapped;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_begin {\n\tstruct trace_entry ent;\n\tlong unsigned int zone_start;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int free_pfn;\n\tlong unsigned int zone_end;\n\tbool sync;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_defer_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tenum zone_type idx;\n\tint order;\n\tunsigned int considered;\n\tunsigned int defer_shift;\n\tint order_failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_end {\n\tstruct trace_entry ent;\n\tlong unsigned int zone_start;\n\tlong unsigned int migrate_pfn;\n\tlong unsigned int free_pfn;\n\tlong unsigned int zone_end;\n\tbool sync;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_isolate_template {\n\tstruct trace_entry ent;\n\tlong unsigned int start_pfn;\n\tlong unsigned int end_pfn;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_taken;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_kcompactd_sleep {\n\tstruct trace_entry ent;\n\tint nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_migratepages {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_migrated;\n\tlong unsigned int nr_failed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_suitable_template {\n\tstruct trace_entry ent;\n\tint nid;\n\tenum zone_type idx;\n\tint order;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_compaction_try_to_compact_pages {\n\tstruct trace_entry ent;\n\tint order;\n\tlong unsigned int gfp_mask;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_fault {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_op_page_cache {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tlong unsigned int i_ino;\n\tlong unsigned int index;\n\tdev_t s_dev;\n\tunsigned char order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_filemap_op_page_cache_range {\n\tstruct trace_entry ent;\n\tlong unsigned int i_ino;\n\tdev_t s_dev;\n\tlong unsigned int index;\n\tlong unsigned int last_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_lru_activate {\n\tstruct trace_entry ent;\n\tstruct folio *folio;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_lru_insertion {\n\tstruct trace_entry ent;\n\tstruct folio *folio;\n\tlong unsigned int pfn;\n\tenum lru_list lru;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_migrate_pages {\n\tstruct trace_entry ent;\n\tlong unsigned int succeeded;\n\tlong unsigned int failed;\n\tlong unsigned int thp_succeeded;\n\tlong unsigned int thp_failed;\n\tlong unsigned int thp_split;\n\tlong unsigned int large_folio_split;\n\tenum migrate_mode mode;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_migrate_pages_start {\n\tstruct trace_entry ent;\n\tenum migrate_mode mode;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tint migratetype;\n\tint percpu_refill;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_alloc {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tlong unsigned int gfp_flags;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_alloc_extfrag {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint alloc_order;\n\tint fallback_order;\n\tint alloc_migratetype;\n\tint fallback_migratetype;\n\tint change_ownership;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_free {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_free_batched {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_page_pcpu_drain {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tunsigned int order;\n\tint migratetype;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_shrink_slab_end {\n\tstruct trace_entry ent;\n\tstruct shrinker *shr;\n\tint nid;\n\tvoid *shrink;\n\tlong int unused_scan;\n\tlong int new_scan;\n\tint retval;\n\tlong int total_scan;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_shrink_slab_start {\n\tstruct trace_entry ent;\n\tstruct shrinker *shr;\n\tvoid *shrink;\n\tint nid;\n\tlong int nr_objects_to_shrink;\n\tlong unsigned int gfp_flags;\n\tlong unsigned int cache_items;\n\tlong long unsigned int delta;\n\tlong unsigned int total_scan;\n\tint priority;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_direct_reclaim_begin_template {\n\tstruct trace_entry ent;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_direct_reclaim_end_template {\n\tstruct trace_entry ent;\n\tlong unsigned int nr_reclaimed;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_kswapd_sleep {\n\tstruct trace_entry ent;\n\tint nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_kswapd_wake {\n\tstruct trace_entry ent;\n\tint nid;\n\tint zid;\n\tint order;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_isolate {\n\tstruct trace_entry ent;\n\tint highest_zoneidx;\n\tint order;\n\tlong unsigned int nr_requested;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_skipped;\n\tlong unsigned int nr_taken;\n\tint lru;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_shrink_active {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_taken;\n\tlong unsigned int nr_active;\n\tlong unsigned int nr_deactivated;\n\tlong unsigned int nr_referenced;\n\tint priority;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_lru_shrink_inactive {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_congested;\n\tlong unsigned int nr_immediate;\n\tunsigned int nr_activate0;\n\tunsigned int nr_activate1;\n\tlong unsigned int nr_ref_keep;\n\tlong unsigned int nr_unmap_fail;\n\tint priority;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_node_reclaim_begin {\n\tstruct trace_entry ent;\n\tint nid;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_reclaim_pages {\n\tstruct trace_entry ent;\n\tint nid;\n\tlong unsigned int nr_scanned;\n\tlong unsigned int nr_reclaimed;\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_congested;\n\tlong unsigned int nr_immediate;\n\tunsigned int nr_activate0;\n\tunsigned int nr_activate1;\n\tlong unsigned int nr_ref_keep;\n\tlong unsigned int nr_unmap_fail;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_throttled {\n\tstruct trace_entry ent;\n\tint nid;\n\tint usec_timeout;\n\tint usec_delayed;\n\tint reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_wakeup_kswapd {\n\tstruct trace_entry ent;\n\tint nid;\n\tint zid;\n\tint order;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mm_vmscan_write_folio {\n\tstruct trace_entry ent;\n\tlong unsigned int pfn;\n\tint reclaim_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmap_lock {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tu64 memcg_id;\n\tbool write;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmap_lock_acquire_returned {\n\tstruct trace_entry ent;\n\tstruct mm_struct *mm;\n\tu64 memcg_id;\n\tbool write;\n\tbool success;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmc_request_done {\n\tstruct trace_entry ent;\n\tu32 cmd_opcode;\n\tint cmd_err;\n\tu32 cmd_resp[4];\n\tunsigned int cmd_retries;\n\tu32 stop_opcode;\n\tint stop_err;\n\tu32 stop_resp[4];\n\tunsigned int stop_retries;\n\tu32 sbc_opcode;\n\tint sbc_err;\n\tu32 sbc_resp[4];\n\tunsigned int sbc_retries;\n\tunsigned int bytes_xfered;\n\tint data_err;\n\tint tag;\n\tunsigned int can_retune;\n\tunsigned int doing_retune;\n\tunsigned int retune_now;\n\tint need_retune;\n\tint hold_retune;\n\tunsigned int retune_period;\n\tstruct mmc_request *mrq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_mmc_request_start {\n\tstruct trace_entry ent;\n\tu32 cmd_opcode;\n\tu32 cmd_arg;\n\tunsigned int cmd_flags;\n\tunsigned int cmd_retries;\n\tu32 stop_opcode;\n\tu32 stop_arg;\n\tunsigned int stop_flags;\n\tunsigned int stop_retries;\n\tu32 sbc_opcode;\n\tu32 sbc_arg;\n\tunsigned int sbc_flags;\n\tunsigned int sbc_retries;\n\tunsigned int blocks;\n\tunsigned int blk_addr;\n\tunsigned int blksz;\n\tunsigned int data_flags;\n\tint tag;\n\tunsigned int can_retune;\n\tunsigned int doing_retune;\n\tunsigned int retune_now;\n\tint need_retune;\n\tint hold_retune;\n\tunsigned int retune_period;\n\tstruct mmc_request *mrq;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_free {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_load {\n\tstruct trace_entry ent;\n\tunsigned int taints;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_refcnt {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tint refcnt;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_module_request {\n\tstruct trace_entry ent;\n\tlong unsigned int ip;\n\tbool wait;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_napi_poll {\n\tstruct trace_entry ent;\n\tstruct napi_struct *napi;\n\tu32 __data_loc_dev_name;\n\tint work;\n\tint budget;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh__update {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tu8 lladdr[32];\n\tu8 lladdr_len;\n\tu8 flags;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tint refcnt;\n\t__u8 primary_key4[4];\n\t__u8 primary_key6[16];\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tu32 err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh_create {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tint entries;\n\tu8 created;\n\tu8 gc_exempt;\n\tu8 primary_key4[4];\n\tu8 primary_key6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_neigh_update {\n\tstruct trace_entry ent;\n\tu32 family;\n\tu32 __data_loc_dev;\n\tu8 lladdr[32];\n\tu8 lladdr_len;\n\tu8 flags;\n\tu8 nud_state;\n\tu8 type;\n\tu8 dead;\n\tint refcnt;\n\t__u8 primary_key4[4];\n\t__u8 primary_key6[16];\n\tlong unsigned int confirmed;\n\tlong unsigned int updated;\n\tlong unsigned int used;\n\tu8 new_lladdr[32];\n\tu8 new_state;\n\tu32 update_flags;\n\tu32 pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_rx_exit_template {\n\tstruct trace_entry ent;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_rx_verbose_template {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int napi_id;\n\tu16 queue_mapping;\n\tconst void *skbaddr;\n\tbool vlan_tagged;\n\tu16 vlan_proto;\n\tu16 vlan_tci;\n\tu16 protocol;\n\tu8 ip_summed;\n\tu32 hash;\n\tbool l4_hash;\n\tunsigned int len;\n\tunsigned int data_len;\n\tunsigned int truesize;\n\tbool mac_header_valid;\n\tint mac_header;\n\tunsigned char nr_frags;\n\tu16 gso_size;\n\tu16 gso_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_start_xmit {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu16 queue_mapping;\n\tconst void *skbaddr;\n\tbool vlan_tagged;\n\tu16 vlan_proto;\n\tu16 vlan_tci;\n\tu16 protocol;\n\tu8 ip_summed;\n\tunsigned int len;\n\tunsigned int data_len;\n\tint network_offset;\n\tbool transport_offset_valid;\n\tint transport_offset;\n\tu8 tx_flags;\n\tu16 gso_size;\n\tu16 gso_segs;\n\tu16 gso_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_template {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tunsigned int len;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_xmit {\n\tstruct trace_entry ent;\n\tvoid *skbaddr;\n\tunsigned int len;\n\tint rc;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_net_dev_xmit_timeout {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_driver;\n\tint queue_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int len;\n\tlong long unsigned int transferred;\n\tlong long unsigned int start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_folio {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tlong unsigned int index;\n\tlong long unsigned int fend;\n\tlong long unsigned int cleaned_to;\n\tlong long unsigned int collected_to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_gap {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned char stream;\n\tunsigned char type;\n\tlong long unsigned int from;\n\tlong long unsigned int to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_sreq {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int subreq;\n\tunsigned int stream;\n\tunsigned int len;\n\tunsigned int transferred;\n\tlong long unsigned int start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_state {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int notes;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int cleaned_to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_collect_stream {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned char stream;\n\tlong long unsigned int collected_to;\n\tlong long unsigned int front;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_failure {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tshort int index;\n\tshort int error;\n\tshort unsigned int flags;\n\tenum netfs_io_source source;\n\tenum netfs_failure what;\n\tsize_t len;\n\tsize_t transferred;\n\tloff_t start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_folio {\n\tstruct trace_entry ent;\n\tino_t ino;\n\tlong unsigned int index;\n\tunsigned int nr;\n\tenum netfs_folio_trace why;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_folioq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int id;\n\tenum netfs_folioq_trace trace;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_read {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int cookie;\n\tloff_t i_size;\n\tloff_t start;\n\tsize_t len;\n\tenum netfs_read_trace what;\n\tunsigned int netfs_inode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_rreq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int flags;\n\tenum netfs_io_origin origin;\n\tenum netfs_rreq_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_rreq_ref {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tint ref;\n\tenum netfs_rreq_ref_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_sreq {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tshort unsigned int index;\n\tshort int error;\n\tshort unsigned int flags;\n\tenum netfs_io_source source;\n\tenum netfs_sreq_trace what;\n\tu8 slot;\n\tsize_t len;\n\tsize_t transferred;\n\tloff_t start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_sreq_ref {\n\tstruct trace_entry ent;\n\tunsigned int rreq;\n\tunsigned int subreq;\n\tint ref;\n\tenum netfs_sreq_ref_trace what;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_write {\n\tstruct trace_entry ent;\n\tunsigned int wreq;\n\tunsigned int cookie;\n\tunsigned int ino;\n\tenum netfs_write_trace what;\n\tlong long unsigned int start;\n\tlong long unsigned int len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netfs_write_iter {\n\tstruct trace_entry ent;\n\tlong long unsigned int start;\n\tsize_t len;\n\tunsigned int flags;\n\tunsigned int ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_netlink_extack {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cached_open {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_error_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 cbident;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_offload {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tloff_t cb_count;\n\tint cb_how;\n\tint cb_stateid_seq;\n\tu32 cb_stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_seqid_err {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int cachethis;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_cb_sequence {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int cachethis;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_clientid_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dstaddr;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_clone {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 src_fhandle;\n\tu32 src_fileid;\n\tu32 dst_fhandle;\n\tu32 dst_fileid;\n\tdev_t src_dev;\n\tdev_t dst_dev;\n\tloff_t src_offset;\n\tloff_t dst_offset;\n\tint src_stateid_seq;\n\tu32 src_stateid_hash;\n\tint dst_stateid_seq;\n\tu32 dst_stateid_hash;\n\tloff_t len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_close {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_commit_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tloff_t offset;\n\tu32 count;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_copy {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 src_fhandle;\n\tu32 src_fileid;\n\tu32 dst_fhandle;\n\tu32 dst_fileid;\n\tdev_t src_dev;\n\tdev_t dst_dev;\n\tint src_stateid_seq;\n\tu32 src_stateid_hash;\n\tint dst_stateid_seq;\n\tu32 dst_stateid_hash;\n\tloff_t src_offset;\n\tloff_t dst_offset;\n\tbool sync;\n\tloff_t len;\n\tint res_stateid_seq;\n\tu32 res_stateid_hash;\n\tloff_t res_count;\n\tbool res_sync;\n\tbool res_cons;\n\tbool intra;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_copy_notify {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tu32 fileid;\n\tdev_t dev;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint res_stateid_seq;\n\tu32 res_stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_delegreturn_exit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_deviceid_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dstaddr;\n\tunsigned char deviceid[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_deviceid_status {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tint status;\n\tu32 __data_loc_dstaddr;\n\tunsigned char deviceid[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_flexfiles_io_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_getattr_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int valid;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_idmap_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 id;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_callback_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_dstaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_stateid_callback_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_dstaddr;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_inode_stateid_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_layoutget {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 iomode;\n\tu64 offset;\n\tu64 count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_llseek {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tu32 fileid;\n\tdev_t dev;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tloff_t offset_s;\n\tu32 what;\n\tloff_t offset_r;\n\tu32 eof;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lock_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int cmd;\n\tlong unsigned int type;\n\tloff_t start;\n\tloff_t end;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lookup_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_lookupp {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 ino;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_offload_cancel {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tu32 fhandle;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_open_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint openstateid_seq;\n\tu32 openstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_read_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_rename {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 olddir;\n\tu32 __data_loc_oldname;\n\tu64 newdir;\n\tu32 __data_loc_newname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_sequence_done {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_slotid;\n\tunsigned int target_highest_slotid;\n\tlong unsigned int status_flags;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_set_delegation_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tunsigned int fmode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_set_lock {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int cmd;\n\tlong unsigned int type;\n\tloff_t start;\n\tloff_t end;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint lockstateid_seq;\n\tu32 lockstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_setup_sequence {\n\tstruct trace_entry ent;\n\tunsigned int session;\n\tunsigned int slot_nr;\n\tunsigned int seq_nr;\n\tunsigned int highest_used_slotid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_sparse_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tloff_t offset;\n\tloff_t len;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_lock_reclaim {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tlong unsigned int state_flags;\n\tlong unsigned int lock_flags;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_mgr {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 __data_loc_hostname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_state_mgr_failed {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int state;\n\tu32 __data_loc_hostname;\n\tu32 __data_loc_section;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_test_stateid_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_trunked_exchange_id {\n\tstruct trace_entry ent;\n\tu32 __data_loc_main_addr;\n\tu32 __data_loc_trunk_addr;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_write_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tlong unsigned int error;\n\tint stateid_seq;\n\tu32 stateid_hash;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xattr_event {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xdr_bad_operation {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 op;\n\tu32 expected;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs4_xdr_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 op;\n\tlong unsigned int error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_access_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tunsigned char type;\n\tu64 fileid;\n\tu64 version;\n\tloff_t size;\n\tlong unsigned int nfsi_flags;\n\tlong unsigned int cache_validity;\n\tunsigned int mask;\n\tunsigned int permitted;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_aop_readahead {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tunsigned int nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_aop_readahead_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tint ret;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tunsigned int nr_pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_atomic_open_enter {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_atomic_open_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tlong unsigned int fmode;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_commit_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tint error;\n\tlong unsigned int stable;\n\tchar verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_create_enter {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_create_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_direct_req_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t offset;\n\tssize_t count;\n\tssize_t error;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_directory_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_directory_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_fh_to_dentry {\n\tstruct trace_entry ent;\n\tint error;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_folio_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_folio_event_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tint ret;\n\tu64 fileid;\n\tu64 version;\n\tloff_t offset;\n\tsize_t count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_commit {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_read {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_initiate_write {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 count;\n\tlong unsigned int stable;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu32 fhandle;\n\tunsigned char type;\n\tu64 fileid;\n\tu64 version;\n\tloff_t size;\n\tlong unsigned int nfsi_flags;\n\tlong unsigned int cache_validity;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_inode_range_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t range_start;\n\tloff_t range_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_link_enter {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_link_exit {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tdev_t dev;\n\tu64 fileid;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_local_open_fh {\n\tstruct trace_entry ent;\n\tint error;\n\tu32 fhandle;\n\tunsigned int fmode;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_lookup_event {\n\tstruct trace_entry ent;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_lookup_event_done {\n\tstruct trace_entry ent;\n\tlong unsigned int error;\n\tlong unsigned int flags;\n\tdev_t dev;\n\tu64 dir;\n\tu64 fileid;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_assign {\n\tstruct trace_entry ent;\n\tu32 __data_loc_option;\n\tu32 __data_loc_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_option {\n\tstruct trace_entry ent;\n\tu32 __data_loc_option;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_mount_path {\n\tstruct trace_entry ent;\n\tu32 __data_loc_path;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_page_error_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tunsigned int count;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_pgio_error {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tloff_t pos;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readdir_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tchar verifier[8];\n\tu64 cookie;\n\tlong unsigned int index;\n\tunsigned int dtsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readpage_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tbool eof;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_readpage_short {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tbool eof;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_rename_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 old_dir;\n\tu64 new_dir;\n\tu32 __data_loc_old_name;\n\tu32 __data_loc_new_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_rename_event_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 old_dir;\n\tu32 __data_loc_old_name;\n\tu64 new_dir;\n\tu32 __data_loc_new_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_sillyrename_unlink {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tlong unsigned int error;\n\tu64 dir;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_update_size_class {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tu64 version;\n\tloff_t cur_size;\n\tloff_t new_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_writeback_done {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu32 fhandle;\n\tu64 fileid;\n\tloff_t offset;\n\tu32 arg_count;\n\tu32 res_count;\n\tint error;\n\tlong unsigned int stable;\n\tchar verifier[8];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nfs_xdr_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint version;\n\tlong unsigned int error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_nlmclnt_lock_event {\n\tstruct trace_entry ent;\n\tu32 oh;\n\tu32 svid;\n\tu32 fh;\n\tlong unsigned int status;\n\tu64 start;\n\tu64 len;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_notifier_info {\n\tstruct trace_entry ent;\n\tvoid *cb;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_oom_score_adj_update {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tchar comm[16];\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_release {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\ts32 inflight;\n\tu32 hold;\n\tu32 release;\n\tu64 cnt;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_state_hold {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tlong unsigned int netmem;\n\tu32 hold;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_state_release {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tlong unsigned int netmem;\n\tu32 release;\n\tlong unsigned int pfn;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_page_pool_update_nid {\n\tstruct trace_entry ent;\n\tconst struct page_pool *pool;\n\tint pool_nid;\n\tint new_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_alloc_percpu {\n\tstruct trace_entry ent;\n\tlong unsigned int call_site;\n\tbool reserved;\n\tbool is_atomic;\n\tsize_t size;\n\tsize_t align;\n\tvoid *base_addr;\n\tint off;\n\tvoid *ptr;\n\tsize_t bytes_alloc;\n\tlong unsigned int gfp_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_alloc_percpu_fail {\n\tstruct trace_entry ent;\n\tbool reserved;\n\tbool is_atomic;\n\tsize_t size;\n\tsize_t align;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_create_chunk {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_destroy_chunk {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_percpu_free_percpu {\n\tstruct trace_entry ent;\n\tvoid *base_addr;\n\tint off;\n\tvoid *ptr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pm_qos_update {\n\tstruct trace_entry ent;\n\tenum pm_qos_req_action action;\n\tint prev_value;\n\tint curr_value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pmap_register {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tint protocol;\n\tunsigned int port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_bl_pr_key_class {\n\tstruct trace_entry ent;\n\tu64 key;\n\tdev_t dev;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_bl_pr_key_err_class {\n\tstruct trace_entry ent;\n\tu64 key;\n\tdev_t dev;\n\tlong unsigned int status;\n\tu32 __data_loc_device;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_layout_event {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t pos;\n\tu64 count;\n\tenum pnfs_iomode iomode;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tlong int lseg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pnfs_update_layout {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tu64 fileid;\n\tu32 fhandle;\n\tloff_t pos;\n\tu64 count;\n\tenum pnfs_iomode iomode;\n\tint layoutstateid_seq;\n\tu32 layoutstateid_hash;\n\tlong int lseg;\n\tenum pnfs_update_layout_reason reason;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_power_domain {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tu64 cpu_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_powernv_throttle {\n\tstruct trace_entry ent;\n\tint chip_id;\n\tu32 __data_loc_reason;\n\tint pmax;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_pstate_sample {\n\tstruct trace_entry ent;\n\tu32 core_busy;\n\tu32 scaled_busy;\n\tu32 from;\n\tu32 to;\n\tu64 mperf;\n\tu64 aperf;\n\tu64 tsc;\n\tu32 freq;\n\tu32 io_boost;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_purge_vmap_area_lazy {\n\tstruct trace_entry ent;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tunsigned int npurged;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_create {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_dequeue {\n\tstruct trace_entry ent;\n\tstruct Qdisc *qdisc;\n\tconst struct netdev_queue *txq;\n\tint packets;\n\tvoid *skbaddr;\n\tint ifindex;\n\tu32 handle;\n\tu32 parent;\n\tlong unsigned int txq_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_destroy {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tu32 handle;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_enqueue {\n\tstruct trace_entry ent;\n\tstruct Qdisc *qdisc;\n\tconst struct netdev_queue *txq;\n\tvoid *skbaddr;\n\tint ifindex;\n\tu32 handle;\n\tu32 parent;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_qdisc_reset {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev;\n\tu32 __data_loc_kind;\n\tu32 parent;\n\tu32 handle;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_stall_warning {\n\tstruct trace_entry ent;\n\tconst char *rcuname;\n\tconst char *msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rcu_utilization {\n\tstruct trace_entry ent;\n\tconst char *s;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_reclaim_retry_zone {\n\tstruct trace_entry ent;\n\tint node;\n\tint zone_idx;\n\tint order;\n\tlong unsigned int reclaimable;\n\tlong unsigned int available;\n\tlong unsigned int min_wmark;\n\tint no_progress_loops;\n\tbool wmark_check;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regcache_drop_region {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int from;\n\tunsigned int to;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regcache_sync {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu32 __data_loc_status;\n\tu32 __data_loc_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_register_class {\n\tstruct trace_entry ent;\n\tu32 version;\n\tlong unsigned int family;\n\tshort unsigned int protocol;\n\tshort unsigned int port;\n\tint error;\n\tu32 __data_loc_program;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_async {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_block {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tint count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_bool {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint flag;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_bulk {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tu32 __data_loc_buf;\n\tint val_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regmap_reg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int reg;\n\tunsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regulator_basic {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regulator_range {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint min;\n\tint max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_regulator_value {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_buf_alloc {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tsize_t callsize;\n\tsize_t recvsize;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_call_rpcerror {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint tk_status;\n\tint rpc_status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_class {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_clone_err {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_new {\n\tstruct trace_entry ent;\n\tunsigned int client_id;\n\tlong unsigned int xprtsec;\n\tlong unsigned int flags;\n\tu32 __data_loc_program;\n\tu32 __data_loc_server;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_clnt_new_err {\n\tstruct trace_entry ent;\n\tint error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_server;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_failure {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_reply_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 __data_loc_progname;\n\tu32 version;\n\tu32 __data_loc_procname;\n\tu32 __data_loc_servername;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_request {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tbool async;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_socket_nospace {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int total;\n\tunsigned int remaining;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_stats_latency {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint version;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tlong unsigned int backlog;\n\tlong unsigned int rtt;\n\tlong unsigned int execute;\n\tu32 xprt_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_queued {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tlong unsigned int timeout;\n\tlong unsigned int runstate;\n\tint status;\n\tshort unsigned int flags;\n\tu32 __data_loc_q_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_running {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tconst void *action;\n\tlong unsigned int runstate;\n\tint status;\n\tshort unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_task_status {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_tls_class {\n\tstruct trace_entry ent;\n\tlong unsigned int requested_policy;\n\tu32 version;\n\tu32 __data_loc_servername;\n\tu32 __data_loc_progname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_alignment {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tsize_t offset;\n\tunsigned int copied;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int len;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_buf_class {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xdr_overflow {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint version;\n\tsize_t requested;\n\tconst void *end;\n\tconst void *p;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int len;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xprt_event {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tint status;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpc_xprt_lifetime_class {\n\tstruct trace_entry ent;\n\tlong unsigned int state;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_getport {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int program;\n\tunsigned int version;\n\tint protocol;\n\tunsigned int bind_version;\n\tu32 __data_loc_servername;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_register {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_setport {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tint status;\n\tshort unsigned int port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcb_unregister {\n\tstruct trace_entry ent;\n\tunsigned int program;\n\tunsigned int version;\n\tu32 __data_loc_netid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_bad_seqno {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 expected;\n\tu32 received;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_context {\n\tstruct trace_entry ent;\n\tlong unsigned int expiry;\n\tlong unsigned int now;\n\tunsigned int timeout;\n\tu32 window_size;\n\tint len;\n\tu32 __data_loc_acceptor;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_createauth {\n\tstruct trace_entry ent;\n\tunsigned int flavor;\n\tint error;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_ctx_class {\n\tstruct trace_entry ent;\n\tconst void *cred;\n\tlong unsigned int service;\n\tu32 __data_loc_principal;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_gssapi_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 maj_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_import_ctx {\n\tstruct trace_entry ent;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_need_reencode {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seq_xmit;\n\tu32 seqno;\n\tbool ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_oid_to_mech {\n\tstruct trace_entry ent;\n\tu32 __data_loc_oid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_seqno {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_accept_upcall {\n\tstruct trace_entry ent;\n\tu32 minor_status;\n\tlong unsigned int major_status;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_authenticate {\n\tstruct trace_entry ent;\n\tu32 seqno;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_gssapi_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 maj_stat;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_bad {\n\tstruct trace_entry ent;\n\tu32 expected;\n\tu32 received;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 seqno;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_seqno_low {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 seqno;\n\tu32 min;\n\tu32 max;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_unwrap_failed {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_svc_wrap_failed {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_unwrap_failed {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_upcall_msg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_upcall_result {\n\tstruct trace_entry ent;\n\tu32 uid;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpcgss_update_slack {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tconst void *auth;\n\tunsigned int rslack;\n\tunsigned int ralign;\n\tunsigned int verfsize;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_internal {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint flags;\n\tint usage_count;\n\tint disable_depth;\n\tint runtime_auto;\n\tint request_pending;\n\tint irq_safe;\n\tint child_count;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_return_int {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tlong unsigned int ip;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rpm_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rseq_ip_fixup {\n\tstruct trace_entry ent;\n\tlong unsigned int regs_ip;\n\tlong unsigned int start_ip;\n\tlong unsigned int post_commit_offset;\n\tlong unsigned int abort_ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rseq_update {\n\tstruct trace_entry ent;\n\ts32 cpu_id;\n\ts32 node_id;\n\ts32 mm_cid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rss_stat {\n\tstruct trace_entry ent;\n\tunsigned int mm_id;\n\tunsigned int curr;\n\tint member;\n\tlong int size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_alarm_irq_enable {\n\tstruct trace_entry ent;\n\tunsigned int enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_irq_set_freq {\n\tstruct trace_entry ent;\n\tint freq;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_irq_set_state {\n\tstruct trace_entry ent;\n\tint enabled;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_offset_class {\n\tstruct trace_entry ent;\n\tlong int offset;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_time_alarm_class {\n\tstruct trace_entry ent;\n\ttime64_t secs;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_rtc_timer_class {\n\tstruct trace_entry ent;\n\tstruct rtc_timer *timer;\n\tktime_t expires;\n\tktime_t period;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sbi_call {\n\tstruct trace_entry ent;\n\tint ext;\n\tint fid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sbi_return {\n\tstruct trace_entry ent;\n\tlong int error;\n\tlong int value;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_stop {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_stop_ret {\n\tstruct trace_entry ent;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_execute_end {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_execute_start {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_kthread_work_queue_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tvoid *worker;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_migrate_task {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tint orig_cpu;\n\tint dest_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_move_numa {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tpid_t tgid;\n\tpid_t ngid;\n\tint src_cpu;\n\tint src_nid;\n\tint dst_cpu;\n\tint dst_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_numa_pair_template {\n\tstruct trace_entry ent;\n\tpid_t src_pid;\n\tpid_t src_tgid;\n\tpid_t src_ngid;\n\tint src_cpu;\n\tint src_nid;\n\tpid_t dst_pid;\n\tpid_t dst_tgid;\n\tpid_t dst_ngid;\n\tint dst_cpu;\n\tint dst_nid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_pi_setprio {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint oldprio;\n\tint newprio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_prepare_exec {\n\tstruct trace_entry ent;\n\tu32 __data_loc_interp;\n\tu32 __data_loc_filename;\n\tpid_t pid;\n\tu32 __data_loc_comm;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_exec {\n\tstruct trace_entry ent;\n\tu32 __data_loc_filename;\n\tpid_t pid;\n\tpid_t old_pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_fork {\n\tstruct trace_entry ent;\n\tchar parent_comm[16];\n\tpid_t parent_pid;\n\tchar child_comm[16];\n\tpid_t child_pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_hang {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_process_wait {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_stat_runtime {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tu64 runtime;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_switch {\n\tstruct trace_entry ent;\n\tchar prev_comm[16];\n\tpid_t prev_pid;\n\tint prev_prio;\n\tlong int prev_state;\n\tchar next_comm[16];\n\tpid_t next_pid;\n\tint next_prio;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_wake_idle_without_ipi {\n\tstruct trace_entry ent;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sched_wakeup_template {\n\tstruct trace_entry ent;\n\tchar comm[16];\n\tpid_t pid;\n\tint prio;\n\tint target_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_cmd_done_timeout_template {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tint result;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tu8 sense_key;\n\tu8 asc;\n\tu8 ascq;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_dispatch_cmd_error {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tint rtn;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_dispatch_cmd_start {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tunsigned int channel;\n\tunsigned int id;\n\tunsigned int lun;\n\tunsigned int opcode;\n\tunsigned int cmd_len;\n\tint driver_tag;\n\tint scheduler_tag;\n\tunsigned int data_sglen;\n\tunsigned int prot_sglen;\n\tunsigned char prot_op;\n\tu32 __data_loc_cmnd;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_scsi_eh_wakeup {\n\tstruct trace_entry ent;\n\tunsigned int host_no;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_selinux_audited {\n\tstruct trace_entry ent;\n\tu32 requested;\n\tu32 denied;\n\tu32 audited;\n\tint result;\n\tu32 __data_loc_scontext;\n\tu32 __data_loc_tcontext;\n\tu32 __data_loc_tclass;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_signal_deliver {\n\tstruct trace_entry ent;\n\tint sig;\n\tint errno;\n\tint code;\n\tlong unsigned int sa_handler;\n\tlong unsigned int sa_flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_signal_generate {\n\tstruct trace_entry ent;\n\tint sig;\n\tint errno;\n\tint code;\n\tchar comm[16];\n\tpid_t pid;\n\tint group;\n\tint result;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sk_data_ready {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 family;\n\t__u16 protocol;\n\tlong unsigned int ip;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_skb_copy_datagram_iovec {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tint len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_skip_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_read {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 flags;\n\t__u16 addr;\n\t__u8 command;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_reply {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 command;\n\t__u8 len;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_result {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 read_write;\n\t__u8 command;\n\t__s16 res;\n\t__u32 protocol;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_smbus_write {\n\tstruct trace_entry ent;\n\tint adapter_nr;\n\t__u16 addr;\n\t__u16 flags;\n\t__u8 command;\n\t__u8 len;\n\t__u32 protocol;\n\t__u8 buf[34];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm {\n\tstruct trace_entry ent;\n\tu32 __data_loc_card_name;\n\tu32 __data_loc_comp_name;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_basic {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint event;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_connected {\n\tstruct trace_entry ent;\n\tint paths;\n\tint stream;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_path {\n\tstruct trace_entry ent;\n\tu32 __data_loc_wname;\n\tu32 __data_loc_pname;\n\tu32 __data_loc_pnname;\n\tint path_node;\n\tint path_connect;\n\tint path_dir;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_walk_done {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint power_checks;\n\tint path_checks;\n\tint neighbour_checks;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_dapm_widget {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_jack_irq {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_jack_notify {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_snd_soc_jack_report {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tint mask;\n\tint val;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_exceed_buf_limit {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int sysctl_mem[3];\n\tlong int allocated;\n\tint sysctl_rmem;\n\tint rmem_alloc;\n\tint sysctl_wmem;\n\tint wmem_alloc;\n\tint wmem_queued;\n\tint kind;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_msg_length {\n\tstruct trace_entry ent;\n\tvoid *sk;\n\t__u16 family;\n\t__u16 protocol;\n\tint ret;\n\tint flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sock_rcvqueue_full {\n\tstruct trace_entry ent;\n\tint rmem_alloc;\n\tunsigned int truesize;\n\tint sk_rcvbuf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_softirq {\n\tstruct trace_entry ent;\n\tunsigned int vec;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_controller {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_message {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_message *msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_message_done {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_message *msg;\n\tunsigned int frame;\n\tunsigned int actual;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_set_cs {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tlong unsigned int mode;\n\tbool enable;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_setup {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tlong unsigned int mode;\n\tunsigned int bits_per_word;\n\tunsigned int max_speed_hz;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_spi_transfer {\n\tstruct trace_entry ent;\n\tint bus_num;\n\tint chip_select;\n\tstruct spi_transfer *xfer;\n\tint len;\n\tu32 __data_loc_rx_buf;\n\tu32 __data_loc_tx_buf;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_start_task_reaping {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_suspend_resume {\n\tstruct trace_entry ent;\n\tconst char *action;\n\tint val;\n\tbool start;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_alloc_arg_err {\n\tstruct trace_entry ent;\n\tunsigned int requested;\n\tunsigned int allocated;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_authenticate {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int svc_status;\n\tlong unsigned int auth_stat;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_deferred_event {\n\tstruct trace_entry ent;\n\tconst void *dr;\n\tu32 xid;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_process {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tu32 vers;\n\tu32 proc;\n\tu32 __data_loc_service;\n\tu32 __data_loc_procedure;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_replace_page_err {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tconst void *begin;\n\tconst void *respages;\n\tconst void *nextpage;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_rqst_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_rqst_status {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tint status;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_stats_latency {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tunsigned int netns_ino;\n\tu32 xid;\n\tlong unsigned int execute;\n\tu32 __data_loc_procedure;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_unregister {\n\tstruct trace_entry ent;\n\tu32 version;\n\tint error;\n\tu32 __data_loc_program;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_wake_up {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xdr_buf_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_base;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xdr_msg_class {\n\tstruct trace_entry ent;\n\tu32 xid;\n\tconst void *head_base;\n\tsize_t head_len;\n\tconst void *tail_base;\n\tsize_t tail_len;\n\tunsigned int page_len;\n\tunsigned int msg_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_accept {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tu32 __data_loc_protocol;\n\tu32 __data_loc_service;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_create_err {\n\tstruct trace_entry ent;\n\tlong int error;\n\tu32 __data_loc_program;\n\tu32 __data_loc_protocol;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_dequeue {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tlong unsigned int wakeup;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_enqueue {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svc_xprt_event {\n\tstruct trace_entry ent;\n\tu32 __data_loc_server;\n\tu32 __data_loc_client;\n\tlong unsigned int flags;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_accept_class {\n\tstruct trace_entry ent;\n\tlong int status;\n\tu32 __data_loc_service;\n\tunsigned int netns_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_class {\n\tstruct trace_entry ent;\n\tssize_t result;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_lifetime_class {\n\tstruct trace_entry ent;\n\tunsigned int netns_ino;\n\tconst void *svsk;\n\tconst void *sk;\n\tlong unsigned int type;\n\tlong unsigned int family;\n\tlong unsigned int state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_marker {\n\tstruct trace_entry ent;\n\tunsigned int length;\n\tbool last;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_tcp_recv_short {\n\tstruct trace_entry ent;\n\tu32 expected;\n\tu32 received;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_svcsock_tcp_state {\n\tstruct trace_entry ent;\n\tlong unsigned int socket_state;\n\tlong unsigned int sock_state;\n\tlong unsigned int flags;\n\tu32 __data_loc_addr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_swiotlb_bounced {\n\tstruct trace_entry ent;\n\tu32 __data_loc_dev_name;\n\tu64 dma_mask;\n\tdma_addr_t dev_addr;\n\tsize_t size;\n\tbool force;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sys_enter {\n\tstruct trace_entry ent;\n\tlong int id;\n\tlong unsigned int args[6];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_sys_exit {\n\tstruct trace_entry ent;\n\tlong int id;\n\tlong int ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_newtask {\n\tstruct trace_entry ent;\n\tpid_t pid;\n\tchar comm[16];\n\tlong unsigned int clone_flags;\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_prctl_unknown {\n\tstruct trace_entry ent;\n\tint option;\n\tlong unsigned int arg2;\n\tlong unsigned int arg3;\n\tlong unsigned int arg4;\n\tlong unsigned int arg5;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_task_rename {\n\tstruct trace_entry ent;\n\tchar oldcomm[16];\n\tchar newcomm[16];\n\tshort int oom_score_adj;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tasklet {\n\tstruct trace_entry ent;\n\tvoid *tasklet;\n\tvoid *func;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tint l3index;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\tbool fin;\n\tbool syn;\n\tbool rst;\n\tbool psh;\n\tbool ack;\n\t__u8 keyid;\n\t__u8 rnext;\n\t__u8 maclen;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event_sk {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 keyid;\n\t__u8 rnext;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_ao_event_sne {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u32 new_sne;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_cong_state_set {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\t__u8 cong_state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_sk {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\t__u64 sock_cookie;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_sk_skb {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_event_skb {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_hash_event {\n\tstruct trace_entry ent;\n\t__u64 net_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tint l3index;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\tbool fin;\n\tbool syn;\n\tbool rst;\n\tbool psh;\n\tbool ack;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_probe {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u32 mark;\n\t__u16 data_len;\n\t__u32 snd_nxt;\n\t__u32 snd_una;\n\t__u32 snd_cwnd;\n\t__u32 ssthresh;\n\t__u32 snd_wnd;\n\t__u32 srtt;\n\t__u32 rcv_wnd;\n\t__u64 sock_cookie;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_retransmit_synack {\n\tstruct trace_entry ent;\n\tconst void *skaddr;\n\tconst void *req;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[4];\n\t__u8 daddr[4];\n\t__u8 saddr_v6[16];\n\t__u8 daddr_v6[16];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tcp_send_reset {\n\tstruct trace_entry ent;\n\tconst void *skbaddr;\n\tconst void *skaddr;\n\tint state;\n\tenum sk_rst_reason reason;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_cpu_get_power_simple {\n\tstruct trace_entry ent;\n\tint cpu;\n\tu32 power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_cpu_limit {\n\tstruct trace_entry ent;\n\tu32 __data_loc_cpumask;\n\tunsigned int freq;\n\tlong unsigned int cdev_state;\n\tu32 power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_devfreq_get_power {\n\tstruct trace_entry ent;\n\tu32 __data_loc_type;\n\tlong unsigned int freq;\n\tu32 busy_time;\n\tu32 total_time;\n\tu32 power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_power_devfreq_limit {\n\tstruct trace_entry ent;\n\tu32 __data_loc_type;\n\tunsigned int freq;\n\tlong unsigned int cdev_state;\n\tu32 power;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_temperature {\n\tstruct trace_entry ent;\n\tu32 __data_loc_thermal_zone;\n\tint id;\n\tint temp_prev;\n\tint temp;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_thermal_zone_trip {\n\tstruct trace_entry ent;\n\tu32 __data_loc_thermal_zone;\n\tint id;\n\tint trip;\n\tenum thermal_trip_type trip_type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tick_stop {\n\tstruct trace_entry ent;\n\tint success;\n\tint dependency;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_base_idle {\n\tstruct trace_entry ent;\n\tbool is_idle;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_class {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_expire_entry {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tlong unsigned int now;\n\tvoid *function;\n\tlong unsigned int baseclk;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_timer_start {\n\tstruct trace_entry ent;\n\tvoid *timer;\n\tvoid *function;\n\tlong unsigned int expires;\n\tlong unsigned int bucket_expiry;\n\tlong unsigned int now;\n\tunsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tlb_flush {\n\tstruct trace_entry ent;\n\tint reason;\n\tlong unsigned int pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tls_contenttype {\n\tstruct trace_entry ent;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tunsigned int netns_ino;\n\tlong unsigned int type;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_connect_child_parent {\n\tstruct trace_entry ent;\n\tvoid *child;\n\tvoid *parent;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tunsigned int num_children;\n\tu32 groupmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_connect_cpu_parent {\n\tstruct trace_entry ent;\n\tvoid *parent;\n\tunsigned int cpu;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tunsigned int num_children;\n\tu32 groupmask;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_cpugroup {\n\tstruct trace_entry ent;\n\tu64 wakeup;\n\tvoid *parent;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_group_and_cpu {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tvoid *parent;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tu32 childmask;\n\tu8 active;\n\tu8 migrator;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_group_set {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tunsigned int lvl;\n\tunsigned int numa_node;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_handle_remote {\n\tstruct trace_entry ent;\n\tvoid *group;\n\tunsigned int lvl;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_idle {\n\tstruct trace_entry ent;\n\tu64 nextevt;\n\tu64 wakeup;\n\tvoid *parent;\n\tunsigned int cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_tmigr_update_events {\n\tstruct trace_entry ent;\n\tvoid *child;\n\tvoid *group;\n\tu64 nextevt;\n\tu64 group_next_expiry;\n\tu64 child_evt_expiry;\n\tunsigned int group_lvl;\n\tunsigned int child_evtcpu;\n\tu8 child_active;\n\tu8 group_active;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_track_foreign_dirty {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tu64 bdi_id;\n\tino_t ino;\n\tunsigned int memcg_id;\n\tino_t cgroup_ino;\n\tino_t page_cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udc_log_ep {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int maxpacket;\n\tunsigned int maxpacket_limit;\n\tunsigned int max_streams;\n\tunsigned int mult;\n\tunsigned int maxburst;\n\tu8 address;\n\tbool claimed;\n\tbool enabled;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udc_log_gadget {\n\tstruct trace_entry ent;\n\tenum usb_device_speed speed;\n\tenum usb_device_speed max_speed;\n\tenum usb_device_state state;\n\tunsigned int mA;\n\tunsigned int sg_supported;\n\tunsigned int is_otg;\n\tunsigned int is_a_peripheral;\n\tunsigned int b_hnp_enable;\n\tunsigned int a_hnp_support;\n\tunsigned int hnp_polling_support;\n\tunsigned int host_request_flag;\n\tunsigned int quirk_ep_out_aligned_size;\n\tunsigned int quirk_altset_not_supp;\n\tunsigned int quirk_stall_not_supp;\n\tunsigned int quirk_zlp_not_supp;\n\tunsigned int is_selfpowered;\n\tunsigned int deactivated;\n\tunsigned int connected;\n\tint ret;\n\tchar __data[0];\n};\n\nstruct usb_request;\n\nstruct trace_event_raw_udc_log_req {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tunsigned int length;\n\tunsigned int actual;\n\tunsigned int num_sgs;\n\tunsigned int num_mapped_sgs;\n\tunsigned int stream_id;\n\tunsigned int no_interrupt;\n\tunsigned int zero;\n\tunsigned int short_not_ok;\n\tint status;\n\tint ret;\n\tstruct usb_request *req;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_udp_fail_queue_rcv_skb {\n\tstruct trace_entry ent;\n\tint rc;\n\t__u16 sport;\n\t__u16 dport;\n\t__u16 family;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_unmap {\n\tstruct trace_entry ent;\n\tu64 iova;\n\tsize_t size;\n\tsize_t unmapped_size;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vm_unmapped_area {\n\tstruct trace_entry ent;\n\tlong unsigned int addr;\n\tlong unsigned int total_vm;\n\tlong unsigned int flags;\n\tlong unsigned int length;\n\tlong unsigned int low_limit;\n\tlong unsigned int high_limit;\n\tlong unsigned int align_mask;\n\tlong unsigned int align_offset;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vma_mas_szero {\n\tstruct trace_entry ent;\n\tstruct maple_tree *mt;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_vma_store {\n\tstruct trace_entry ent;\n\tstruct maple_tree *mt;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int vm_start;\n\tlong unsigned int vm_end;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wake_reaper {\n\tstruct trace_entry ent;\n\tint pid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wakeup_source {\n\tstruct trace_entry ent;\n\tu32 __data_loc_name;\n\tu64 state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_watchdog_set_timeout {\n\tstruct trace_entry ent;\n\tint id;\n\tunsigned int timeout;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_watchdog_template {\n\tstruct trace_entry ent;\n\tint id;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_wbc_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tint sync_mode;\n\tint for_kupdate;\n\tint for_background;\n\tint for_reclaim;\n\tint range_cyclic;\n\tlong int range_start;\n\tlong int range_end;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_activate_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_execute_end {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_execute_start {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_workqueue_queue_work {\n\tstruct trace_entry ent;\n\tvoid *work;\n\tvoid *function;\n\tu32 __data_loc_workqueue;\n\tint req_cpu;\n\tint cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_bdi_register {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_dirty_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int flags;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_folio_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_inode_template {\n\tstruct trace_entry ent;\n\tdev_t dev;\n\tino_t ino;\n\tlong unsigned int state;\n\t__u16 mode;\n\tlong unsigned int dirtied_when;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_pages_written {\n\tstruct trace_entry ent;\n\tlong int pages;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_queue_io {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong unsigned int older;\n\tlong int age;\n\tint moved;\n\tint reason;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_sb_inodes_requeue {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int dirtied_when;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_single_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tlong unsigned int state;\n\tlong unsigned int dirtied_when;\n\tlong unsigned int writeback_index;\n\tlong int nr_to_write;\n\tlong unsigned int wrote;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_work_class {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tlong int nr_pages;\n\tdev_t sb_dev;\n\tint sync_mode;\n\tint for_kupdate;\n\tint range_cyclic;\n\tint for_background;\n\tint reason;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_writeback_write_inode_template {\n\tstruct trace_entry ent;\n\tchar name[32];\n\tino_t ino;\n\tint sync_mode;\n\tino_t cgroup_ino;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_bulk_tx {\n\tstruct trace_entry ent;\n\tint ifindex;\n\tu32 act;\n\tint drops;\n\tint sent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_cpumap_enqueue {\n\tstruct trace_entry ent;\n\tint map_id;\n\tu32 act;\n\tint cpu;\n\tunsigned int drops;\n\tunsigned int processed;\n\tint to_cpu;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_cpumap_kthread {\n\tstruct trace_entry ent;\n\tint map_id;\n\tu32 act;\n\tint cpu;\n\tunsigned int drops;\n\tunsigned int processed;\n\tint sched;\n\tunsigned int xdp_pass;\n\tunsigned int xdp_drop;\n\tunsigned int xdp_redirect;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_devmap_xmit {\n\tstruct trace_entry ent;\n\tint from_ifindex;\n\tu32 act;\n\tint to_ifindex;\n\tint drops;\n\tint sent;\n\tint err;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_exception {\n\tstruct trace_entry ent;\n\tint prog_id;\n\tu32 act;\n\tint ifindex;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xdp_redirect_template {\n\tstruct trace_entry ent;\n\tint prog_id;\n\tu32 act;\n\tint ifindex;\n\tint err;\n\tint to_ifindex;\n\tu32 map_id;\n\tint map_index;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_dbc_log_request {\n\tstruct trace_entry ent;\n\tstruct dbc_request *req;\n\tbool dir;\n\tunsigned int actual;\n\tunsigned int length;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ctrl_ctx {\n\tstruct trace_entry ent;\n\tu32 drop;\n\tu32 add;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ctx {\n\tstruct trace_entry ent;\n\tint ctx_64;\n\tunsigned int ctx_type;\n\tdma_addr_t ctx_dma;\n\tu8 *ctx_va;\n\tunsigned int ctx_ep_num;\n\tu32 __data_loc_ctx_data;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_doorbell {\n\tstruct trace_entry ent;\n\tu32 slot;\n\tu32 doorbell;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ep_ctx {\n\tstruct trace_entry ent;\n\tu32 info;\n\tu32 info2;\n\tu64 deq;\n\tu32 tx_info;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_free_virt_dev {\n\tstruct trace_entry ent;\n\tvoid *vdev;\n\tlong long unsigned int out_ctx;\n\tlong long unsigned int in_ctx;\n\tint slot_id;\n\tu16 current_mel;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_msg {\n\tstruct trace_entry ent;\n\tu32 __data_loc_msg;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_portsc {\n\tstruct trace_entry ent;\n\tu32 busnum;\n\tu32 portnum;\n\tu32 portsc;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_ring {\n\tstruct trace_entry ent;\n\tu32 type;\n\tvoid *ring;\n\tdma_addr_t enq;\n\tdma_addr_t deq;\n\tunsigned int num_segs;\n\tunsigned int stream_id;\n\tunsigned int cycle_state;\n\tunsigned int bounce_buf_len;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_slot_ctx {\n\tstruct trace_entry ent;\n\tu32 info;\n\tu32 info2;\n\tu32 tt_info;\n\tu32 state;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_stream_ctx {\n\tstruct trace_entry ent;\n\tunsigned int stream_id;\n\tu64 stream_ring;\n\tdma_addr_t ctx_array_dma;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_trb {\n\tstruct trace_entry ent;\n\tdma_addr_t dma;\n\tu32 type;\n\tu32 field0;\n\tu32 field1;\n\tu32 field2;\n\tu32 field3;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_urb {\n\tstruct trace_entry ent;\n\tu32 __data_loc_devname;\n\tvoid *urb;\n\tunsigned int pipe;\n\tunsigned int stream;\n\tint status;\n\tunsigned int flags;\n\tint num_mapped_sgs;\n\tint num_sgs;\n\tint length;\n\tint actual;\n\tint epnum;\n\tint dir_in;\n\tint type;\n\tint slot_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xhci_log_virt_dev {\n\tstruct trace_entry ent;\n\tvoid *vdev;\n\tlong long unsigned int out_ctx;\n\tlong long unsigned int in_ctx;\n\tint devnum;\n\tint state;\n\tint speed;\n\tu8 portnum;\n\tu8 level;\n\tint slot_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_cong_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int snd_task_id;\n\tlong unsigned int cong;\n\tlong unsigned int cwnd;\n\tbool wait;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_ping {\n\tstruct trace_entry ent;\n\tint status;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_reserve {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_retransmit {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tint ntrans;\n\tint version;\n\tlong unsigned int timeout;\n\tu32 __data_loc_progname;\n\tu32 __data_loc_procname;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_transmit {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tu32 xid;\n\tu32 seqno;\n\tint status;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xprt_writelock_event {\n\tstruct trace_entry ent;\n\tunsigned int task_id;\n\tunsigned int client_id;\n\tunsigned int snd_task_id;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_data_ready {\n\tstruct trace_entry ent;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_socket_event {\n\tstruct trace_entry ent;\n\tunsigned int socket_state;\n\tunsigned int sock_state;\n\tlong long unsigned int ino;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_socket_event_done {\n\tstruct trace_entry ent;\n\tint error;\n\tunsigned int socket_state;\n\tunsigned int sock_state;\n\tlong long unsigned int ino;\n\t__u8 saddr[28];\n\t__u8 daddr[28];\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_stream_read_data {\n\tstruct trace_entry ent;\n\tssize_t err;\n\tsize_t total;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tchar __data[0];\n};\n\nstruct trace_event_raw_xs_stream_read_request {\n\tstruct trace_entry ent;\n\tu32 __data_loc_addr;\n\tu32 __data_loc_port;\n\tu32 xid;\n\tlong unsigned int copied;\n\tunsigned int reclen;\n\tunsigned int offset;\n\tchar __data[0];\n};\n\nstruct trace_export {\n\tstruct trace_export *next;\n\tvoid (*write)(struct trace_export *, const void *, unsigned int);\n\tint flags;\n};\n\nstruct trace_func_repeats {\n\tlong unsigned int ip;\n\tlong unsigned int parent_ip;\n\tlong unsigned int count;\n\tu64 ts_last_call;\n};\n\nstruct trace_mark {\n\tlong long unsigned int val;\n\tchar sym;\n};\n\nstruct trace_min_max_param {\n\tstruct mutex *lock;\n\tu64 *val;\n\tu64 *min;\n\tu64 *max;\n};\n\nstruct tracer_opt;\n\nstruct tracer_flags;\n\nstruct trace_option_dentry {\n\tstruct tracer_opt *opt;\n\tstruct tracer_flags *flags;\n\tstruct trace_array *tr;\n\tstruct dentry *entry;\n};\n\nstruct trace_options {\n\tstruct tracer *tracer;\n\tstruct trace_option_dentry *topts;\n};\n\nstruct trace_parser {\n\tbool cont;\n\tchar *buffer;\n\tunsigned int idx;\n\tunsigned int size;\n};\n\nunion upper_chunk;\n\nstruct trace_pid_list {\n\traw_spinlock_t lock;\n\tstruct irq_work refill_irqwork;\n\tunion upper_chunk *upper[256];\n\tunion upper_chunk *upper_list;\n\tunion lower_chunk *lower_list;\n\tint free_upper_chunks;\n\tint free_lower_chunks;\n};\n\nstruct trace_print_flags {\n\tlong unsigned int mask;\n\tconst char *name;\n};\n\nstruct trace_uprobe_filter {\n\trwlock_t rwlock;\n\tint nr_systemwide;\n\tstruct list_head perf_events;\n};\n\nstruct trace_probe_event {\n\tunsigned int flags;\n\tstruct trace_event_class class;\n\tstruct trace_event_call call;\n\tstruct list_head files;\n\tstruct list_head probes;\n\tstruct trace_uprobe_filter filter[0];\n};\n\nstruct trace_probe_log {\n\tconst char *subsystem;\n\tconst char **argv;\n\tint argc;\n\tint index;\n};\n\nstruct trace_subsystem_dir {\n\tstruct list_head list;\n\tstruct event_subsystem *subsystem;\n\tstruct trace_array *tr;\n\tstruct eventfs_inode *ei;\n\tint ref_count;\n\tint nr_events;\n};\n\nstruct trace_uprobe {\n\tstruct dyn_event devent;\n\tstruct uprobe_consumer consumer;\n\tstruct path path;\n\tchar *filename;\n\tstruct uprobe *uprobe;\n\tlong unsigned int offset;\n\tlong unsigned int ref_ctr_offset;\n\tlong unsigned int *nhits;\n\tstruct trace_probe tp;\n};\n\nstruct tracefs_dir_ops {\n\tint (*mkdir)(const char *);\n\tint (*rmdir)(const char *);\n};\n\nstruct tracefs_fs_info {\n\tkuid_t uid;\n\tkgid_t gid;\n\tumode_t mode;\n\tunsigned int opts;\n};\n\nstruct tracefs_inode {\n\tstruct inode vfs_inode;\n\tstruct list_head list;\n\tlong unsigned int flags;\n\tvoid *private;\n};\n\nstruct tracepoint_ext;\n\nstruct tracepoint {\n\tconst char *name;\n\tstruct static_key_false key;\n\tstruct static_call_key *static_call_key;\n\tvoid *static_call_tramp;\n\tvoid *iterator;\n\tvoid *probestub;\n\tstruct tracepoint_func *funcs;\n\tstruct tracepoint_ext *ext;\n};\n\nstruct tracepoint_ext {\n\tint (*regfunc)(void);\n\tvoid (*unregfunc)(void);\n\tunsigned int faultable: 1;\n};\n\nstruct traceprobe_parse_context {\n\tstruct trace_event_call *event;\n\tconst char *funcname;\n\tconst struct btf_type *proto;\n\tconst struct btf_param *params;\n\ts32 nr_params;\n\tstruct btf *btf;\n\tconst struct btf_type *last_type;\n\tu32 last_bitoffs;\n\tu32 last_bitsize;\n\tstruct trace_probe *tp;\n\tunsigned int flags;\n\tint offset;\n};\n\nstruct tracer {\n\tconst char *name;\n\tint (*init)(struct trace_array *);\n\tvoid (*reset)(struct trace_array *);\n\tvoid (*start)(struct trace_array *);\n\tvoid (*stop)(struct trace_array *);\n\tint (*update_thresh)(struct trace_array *);\n\tvoid (*open)(struct trace_iterator *);\n\tvoid (*pipe_open)(struct trace_iterator *);\n\tvoid (*close)(struct trace_iterator *);\n\tvoid (*pipe_close)(struct trace_iterator *);\n\tssize_t (*read)(struct trace_iterator *, struct file *, char *, size_t, loff_t *);\n\tssize_t (*splice_read)(struct trace_iterator *, struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);\n\tvoid (*print_header)(struct seq_file *);\n\tenum print_line_t (*print_line)(struct trace_iterator *);\n\tint (*set_flag)(struct trace_array *, u32, u32, int);\n\tint (*flag_changed)(struct trace_array *, u32, int);\n\tstruct tracer *next;\n\tstruct tracer_flags *flags;\n\tint enabled;\n\tbool print_max;\n\tbool allow_instances;\n\tbool noboot;\n};\n\nstruct tracer_flags {\n\tu32 val;\n\tstruct tracer_opt *opts;\n\tstruct tracer *trace;\n};\n\nstruct tracer_opt {\n\tconst char *name;\n\tu32 bit;\n};\n\ntypedef int (*cmp_func_t)(const void *, const void *);\n\nstruct tracer_stat {\n\tconst char *name;\n\tvoid * (*stat_start)(struct tracer_stat *);\n\tvoid * (*stat_next)(void *, int);\n\tcmp_func_t stat_cmp;\n\tint (*stat_show)(struct seq_file *, void *);\n\tvoid (*stat_release)(void *);\n\tint (*stat_headers)(struct seq_file *);\n};\n\nstruct tracing_log_err {\n\tstruct list_head list;\n\tstruct err_info info;\n\tchar loc[128];\n\tchar *cmd;\n};\n\nstruct track {\n\tlong unsigned int addr;\n\tdepot_stack_handle_t handle;\n\tint cpu;\n\tint pid;\n\tlong unsigned int when;\n};\n\nstruct trackpoint_attr_data {\n\tsize_t field_offset;\n\tu8 command;\n\tu8 mask;\n\tbool inverted;\n\tu8 power_on_default;\n};\n\nstruct trackpoint_data {\n\tu8 variant_id;\n\tu8 firmware_id;\n\tu8 sensitivity;\n\tu8 speed;\n\tu8 inertia;\n\tu8 reach;\n\tu8 draghys;\n\tu8 mindrag;\n\tu8 thresh;\n\tu8 upthresh;\n\tu8 ztime;\n\tu8 jenks;\n\tu8 drift_time;\n\tbool press_to_select;\n\tbool skipback;\n\tbool ext_dev;\n};\n\nstruct transaction_chp_stats_s {\n\tlong unsigned int cs_chp_time;\n\t__u32 cs_forced_to_close;\n\t__u32 cs_written;\n\t__u32 cs_dropped;\n};\n\nstruct transaction_s {\n\tjournal_t *t_journal;\n\ttid_t t_tid;\n\tenum {\n\t\tT_RUNNING = 0,\n\t\tT_LOCKED = 1,\n\t\tT_SWITCH = 2,\n\t\tT_FLUSH = 3,\n\t\tT_COMMIT = 4,\n\t\tT_COMMIT_DFLUSH = 5,\n\t\tT_COMMIT_JFLUSH = 6,\n\t\tT_COMMIT_CALLBACK = 7,\n\t\tT_FINISHED = 8,\n\t} t_state;\n\tlong unsigned int t_log_start;\n\tint t_nr_buffers;\n\tstruct journal_head *t_reserved_list;\n\tstruct journal_head *t_buffers;\n\tstruct journal_head *t_forget;\n\tstruct journal_head *t_checkpoint_list;\n\tstruct journal_head *t_shadow_list;\n\tstruct list_head t_inode_list;\n\tlong unsigned int t_max_wait;\n\tlong unsigned int t_start;\n\tlong unsigned int t_requested;\n\tstruct transaction_chp_stats_s t_chp_stats;\n\tatomic_t t_updates;\n\tatomic_t t_outstanding_credits;\n\tatomic_t t_outstanding_revokes;\n\tatomic_t t_handle_count;\n\ttransaction_t *t_cpnext;\n\ttransaction_t *t_cpprev;\n\tlong unsigned int t_expires;\n\tktime_t t_start_time;\n\tunsigned int t_synchronous_commit: 1;\n\tint t_need_data_flush;\n\tstruct list_head t_private_list;\n};\n\nstruct trc_stall_chk_rdr {\n\tint nesting;\n\tint ipi_to_cpu;\n\tu8 needqs;\n};\n\nstruct tree_descr {\n\tconst char *name;\n\tconst struct file_operations *ops;\n\tint mode;\n};\n\nstruct trie {\n\tstruct key_vector kv[1];\n};\n\nstruct trie_stat {\n\tunsigned int totdepth;\n\tunsigned int maxdepth;\n\tunsigned int tnodes;\n\tunsigned int leaves;\n\tunsigned int nullpointers;\n\tunsigned int prefixes;\n\tunsigned int nodesizes[32];\n};\n\nstruct ts_ops;\n\nstruct ts_state;\n\nstruct ts_config {\n\tstruct ts_ops *ops;\n\tint flags;\n\tunsigned int (*get_next_block)(unsigned int, const u8 **, struct ts_config *, struct ts_state *);\n\tvoid (*finish)(struct ts_config *, struct ts_state *);\n};\n\nstruct ts_ops {\n\tconst char *name;\n\tstruct ts_config * (*init)(const void *, unsigned int, gfp_t, int);\n\tunsigned int (*find)(struct ts_config *, struct ts_state *);\n\tvoid (*destroy)(struct ts_config *);\n\tvoid * (*get_pattern)(struct ts_config *);\n\tunsigned int (*get_pattern_len)(struct ts_config *);\n\tstruct module *owner;\n\tstruct list_head list;\n};\n\nstruct ts_state {\n\tunsigned int offset;\n\tchar cb[48];\n};\n\nstruct tsconfig_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct hwtstamp_provider_desc hwprov_desc;\n\tstruct {\n\t\tu32 tx_type;\n\t\tu32 rx_filter;\n\t\tu32 flags;\n\t} hwtst_config;\n};\n\nstruct tsconfig_req_info {\n\tstruct ethnl_req_info base;\n};\n\nstruct tsinfo_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct kernel_ethtool_ts_info ts_info;\n\tstruct ethtool_ts_stats stats;\n};\n\nstruct tsinfo_req_info {\n\tstruct ethnl_req_info base;\n\tstruct hwtstamp_provider_desc hwprov_desc;\n};\n\nstruct tso_t {\n\tint next_frag_idx;\n\tint size;\n\tvoid *data;\n\tu16 ip_id;\n\tu8 tlen;\n\tbool ipv6;\n\tu32 tcp_seq;\n};\n\nstruct tsq_tasklet {\n\tstruct tasklet_struct tasklet;\n\tstruct list_head head;\n};\n\nstruct tty_audit_buf {\n\tstruct mutex mutex;\n\tdev_t dev;\n\tbool icanon;\n\tsize_t valid;\n\tu8 *data;\n};\n\nstruct tty_operations;\n\nstruct tty_driver {\n\tstruct kref kref;\n\tstruct cdev **cdevs;\n\tstruct module *owner;\n\tconst char *driver_name;\n\tconst char *name;\n\tint name_base;\n\tint major;\n\tint minor_start;\n\tunsigned int num;\n\tshort int type;\n\tshort int subtype;\n\tstruct ktermios init_termios;\n\tlong unsigned int flags;\n\tstruct proc_dir_entry *proc_entry;\n\tstruct tty_driver *other;\n\tstruct tty_struct **ttys;\n\tstruct tty_port **ports;\n\tstruct ktermios **termios;\n\tvoid *driver_state;\n\tconst struct tty_operations *ops;\n\tstruct list_head tty_drivers;\n};\n\nstruct tty_file_private {\n\tstruct tty_struct *tty;\n\tstruct file *file;\n\tstruct list_head list;\n};\n\nstruct tty_ldisc_ops;\n\nstruct tty_ldisc {\n\tstruct tty_ldisc_ops *ops;\n\tstruct tty_struct *tty;\n};\n\nstruct tty_ldisc_ops {\n\tchar *name;\n\tint num;\n\tint (*open)(struct tty_struct *);\n\tvoid (*close)(struct tty_struct *);\n\tvoid (*flush_buffer)(struct tty_struct *);\n\tssize_t (*read)(struct tty_struct *, struct file *, u8 *, size_t, void **, long unsigned int);\n\tssize_t (*write)(struct tty_struct *, struct file *, const u8 *, size_t);\n\tint (*ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tint (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tvoid (*set_termios)(struct tty_struct *, const struct ktermios *);\n\t__poll_t (*poll)(struct tty_struct *, struct file *, struct poll_table_struct *);\n\tvoid (*hangup)(struct tty_struct *);\n\tvoid (*receive_buf)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct tty_struct *);\n\tvoid (*dcd_change)(struct tty_struct *, bool);\n\tsize_t (*receive_buf2)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tvoid (*lookahead_buf)(struct tty_struct *, const u8 *, const u8 *, size_t);\n\tstruct module *owner;\n};\n\nstruct tty_operations {\n\tstruct tty_struct * (*lookup)(struct tty_driver *, struct file *, int);\n\tint (*install)(struct tty_driver *, struct tty_struct *);\n\tvoid (*remove)(struct tty_driver *, struct tty_struct *);\n\tint (*open)(struct tty_struct *, struct file *);\n\tvoid (*close)(struct tty_struct *, struct file *);\n\tvoid (*shutdown)(struct tty_struct *);\n\tvoid (*cleanup)(struct tty_struct *);\n\tssize_t (*write)(struct tty_struct *, const u8 *, size_t);\n\tint (*put_char)(struct tty_struct *, u8);\n\tvoid (*flush_chars)(struct tty_struct *);\n\tunsigned int (*write_room)(struct tty_struct *);\n\tunsigned int (*chars_in_buffer)(struct tty_struct *);\n\tint (*ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tlong int (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int);\n\tvoid (*set_termios)(struct tty_struct *, const struct ktermios *);\n\tvoid (*throttle)(struct tty_struct *);\n\tvoid (*unthrottle)(struct tty_struct *);\n\tvoid (*stop)(struct tty_struct *);\n\tvoid (*start)(struct tty_struct *);\n\tvoid (*hangup)(struct tty_struct *);\n\tint (*break_ctl)(struct tty_struct *, int);\n\tvoid (*flush_buffer)(struct tty_struct *);\n\tint (*ldisc_ok)(struct tty_struct *, int);\n\tvoid (*set_ldisc)(struct tty_struct *);\n\tvoid (*wait_until_sent)(struct tty_struct *, int);\n\tvoid (*send_xchar)(struct tty_struct *, u8);\n\tint (*tiocmget)(struct tty_struct *);\n\tint (*tiocmset)(struct tty_struct *, unsigned int, unsigned int);\n\tint (*resize)(struct tty_struct *, struct winsize *);\n\tint (*get_icount)(struct tty_struct *, struct serial_icounter_struct *);\n\tint (*get_serial)(struct tty_struct *, struct serial_struct *);\n\tint (*set_serial)(struct tty_struct *, struct serial_struct *);\n\tvoid (*show_fdinfo)(struct tty_struct *, struct seq_file *);\n\tint (*proc_show)(struct seq_file *, void *);\n};\n\nstruct tty_port_client_operations {\n\tsize_t (*receive_buf)(struct tty_port *, const u8 *, const u8 *, size_t);\n\tvoid (*lookahead_buf)(struct tty_port *, const u8 *, const u8 *, size_t);\n\tvoid (*write_wakeup)(struct tty_port *);\n};\n\nstruct tty_port_operations {\n\tbool (*carrier_raised)(struct tty_port *);\n\tvoid (*dtr_rts)(struct tty_port *, bool);\n\tvoid (*shutdown)(struct tty_port *);\n\tint (*activate)(struct tty_port *, struct tty_struct *);\n\tvoid (*destruct)(struct tty_port *);\n};\n\nstruct tty_struct {\n\tstruct kref kref;\n\tint index;\n\tstruct device *dev;\n\tstruct tty_driver *driver;\n\tstruct tty_port *port;\n\tconst struct tty_operations *ops;\n\tstruct tty_ldisc *ldisc;\n\tstruct ld_semaphore ldisc_sem;\n\tstruct mutex atomic_write_lock;\n\tstruct mutex legacy_mutex;\n\tstruct mutex throttle_mutex;\n\tstruct rw_semaphore termios_rwsem;\n\tstruct mutex winsize_mutex;\n\tstruct ktermios termios;\n\tstruct ktermios termios_locked;\n\tchar name[64];\n\tlong unsigned int flags;\n\tint count;\n\tunsigned int receive_room;\n\tstruct winsize winsize;\n\tstruct {\n\t\tspinlock_t lock;\n\t\tbool stopped;\n\t\tbool tco_stopped;\n\t} flow;\n\tstruct {\n\t\tstruct pid *pgrp;\n\t\tstruct pid *session;\n\t\tspinlock_t lock;\n\t\tunsigned char pktstatus;\n\t\tbool packet;\n\t} ctrl;\n\tbool hw_stopped;\n\tbool closing;\n\tint flow_change;\n\tstruct tty_struct *link;\n\tstruct fasync_struct *fasync;\n\twait_queue_head_t write_wait;\n\twait_queue_head_t read_wait;\n\tstruct work_struct hangup_work;\n\tvoid *disc_data;\n\tvoid *driver_data;\n\tspinlock_t files_lock;\n\tint write_cnt;\n\tu8 *write_buf;\n\tstruct list_head tty_files;\n\tstruct work_struct SAK_work;\n};\n\nstruct tun_security_struct {\n\tu32 sid;\n};\n\nstruct type_datum {\n\tu32 value;\n\tu32 bounds;\n\tunsigned char primary;\n\tunsigned char attribute;\n};\n\nstruct type_set {\n\tstruct ebitmap types;\n\tstruct ebitmap negset;\n\tu32 flags;\n};\n\nstruct typec_connector {\n\tvoid (*attach)(struct typec_connector *, struct device *);\n\tvoid (*deattach)(struct typec_connector *, struct device *);\n};\n\nstruct u32_fract {\n\t__u32 numerator;\n\t__u32 denominator;\n};\n\nstruct uart_8250_em485 {\n\tstruct hrtimer start_tx_timer;\n\tstruct hrtimer stop_tx_timer;\n\tstruct hrtimer *active_timer;\n\tstruct uart_8250_port *port;\n\tunsigned int tx_stopped: 1;\n};\n\nstruct uart_8250_ops {\n\tint (*setup_irq)(struct uart_8250_port *);\n\tvoid (*release_irq)(struct uart_8250_port *);\n\tvoid (*setup_timer)(struct uart_8250_port *);\n};\n\nstruct uart_8250_port {\n\tstruct uart_port port;\n\tstruct timer_list timer;\n\tstruct list_head list;\n\tu32 capabilities;\n\tu16 bugs;\n\tunsigned int tx_loadsz;\n\tunsigned char acr;\n\tunsigned char fcr;\n\tunsigned char ier;\n\tunsigned char lcr;\n\tunsigned char mcr;\n\tunsigned char cur_iotype;\n\tunsigned int rpm_tx_active;\n\tunsigned char canary;\n\tunsigned char probe;\n\tstruct mctrl_gpios *gpios;\n\tu16 lsr_saved_flags;\n\tu16 lsr_save_mask;\n\tunsigned char msr_saved_flags;\n\tstruct uart_8250_dma *dma;\n\tconst struct uart_8250_ops *ops;\n\tu32 (*dl_read)(struct uart_8250_port *);\n\tvoid (*dl_write)(struct uart_8250_port *, u32);\n\tstruct uart_8250_em485 *em485;\n\tvoid (*rs485_start_tx)(struct uart_8250_port *, bool);\n\tvoid (*rs485_stop_tx)(struct uart_8250_port *, bool);\n\tstruct delayed_work overrun_backoff;\n\tu32 overrun_backoff_time_ms;\n};\n\nstruct uart_driver {\n\tstruct module *owner;\n\tconst char *driver_name;\n\tconst char *dev_name;\n\tint major;\n\tint minor;\n\tint nr;\n\tstruct console *cons;\n\tstruct uart_state *state;\n\tstruct tty_driver *tty_driver;\n};\n\nstruct uart_match {\n\tstruct uart_port *port;\n\tstruct uart_driver *driver;\n};\n\nstruct uart_ops {\n\tunsigned int (*tx_empty)(struct uart_port *);\n\tvoid (*set_mctrl)(struct uart_port *, unsigned int);\n\tunsigned int (*get_mctrl)(struct uart_port *);\n\tvoid (*stop_tx)(struct uart_port *);\n\tvoid (*start_tx)(struct uart_port *);\n\tvoid (*throttle)(struct uart_port *);\n\tvoid (*unthrottle)(struct uart_port *);\n\tvoid (*send_xchar)(struct uart_port *, char);\n\tvoid (*stop_rx)(struct uart_port *);\n\tvoid (*start_rx)(struct uart_port *);\n\tvoid (*enable_ms)(struct uart_port *);\n\tvoid (*break_ctl)(struct uart_port *, int);\n\tint (*startup)(struct uart_port *);\n\tvoid (*shutdown)(struct uart_port *);\n\tvoid (*flush_buffer)(struct uart_port *);\n\tvoid (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *);\n\tvoid (*set_ldisc)(struct uart_port *, struct ktermios *);\n\tvoid (*pm)(struct uart_port *, unsigned int, unsigned int);\n\tconst char * (*type)(struct uart_port *);\n\tvoid (*release_port)(struct uart_port *);\n\tint (*request_port)(struct uart_port *);\n\tvoid (*config_port)(struct uart_port *, int);\n\tint (*verify_port)(struct uart_port *, struct serial_struct *);\n\tint (*ioctl)(struct uart_port *, unsigned int, long unsigned int);\n};\n\nstruct uart_state {\n\tstruct tty_port port;\n\tenum uart_pm_state pm_state;\n\tatomic_t refcount;\n\twait_queue_head_t remove_wait;\n\tstruct uart_port *uart_port;\n};\n\nstruct uas_cmd_info {\n\tunsigned int state;\n\tunsigned int uas_tag;\n\tstruct urb *cmd_urb;\n\tstruct urb *data_in_urb;\n\tstruct urb *data_out_urb;\n};\n\nstruct usb_anchor {\n\tstruct list_head urb_list;\n\twait_queue_head_t wait;\n\tspinlock_t lock;\n\tatomic_t suspend_wakeups;\n\tunsigned int poisoned: 1;\n};\n\nstruct usb_interface;\n\nstruct uas_dev_info {\n\tstruct usb_interface *intf;\n\tstruct usb_device *udev;\n\tstruct usb_anchor cmd_urbs;\n\tstruct usb_anchor sense_urbs;\n\tstruct usb_anchor data_urbs;\n\tu64 flags;\n\tint qdepth;\n\tint resetting;\n\tunsigned int cmd_pipe;\n\tunsigned int status_pipe;\n\tunsigned int data_in_pipe;\n\tunsigned int data_out_pipe;\n\tunsigned int use_streams: 1;\n\tunsigned int shutdown: 1;\n\tstruct scsi_cmnd *cmnd[256];\n\tspinlock_t lock;\n\tstruct work_struct work;\n\tstruct work_struct scan_work;\n};\n\nstruct ubuf_info_msgzc {\n\tstruct ubuf_info ubuf;\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int desc;\n\t\t\tvoid *ctx;\n\t\t};\n\t\tstruct {\n\t\t\tu32 id;\n\t\t\tu16 len;\n\t\t\tu16 zerocopy: 1;\n\t\t\tu32 bytelen;\n\t\t};\n\t};\n\tstruct mmpin mmp;\n};\n\nstruct ubuf_info_ops {\n\tvoid (*complete)(struct sk_buff *, struct ubuf_info *, bool);\n\tint (*link_skb)(struct sk_buff *, struct ubuf_info *);\n};\n\nstruct ucounts {\n\tstruct hlist_node node;\n\tstruct user_namespace *ns;\n\tkuid_t uid;\n\tatomic_t count;\n\tatomic_long_t ucount[10];\n\tatomic_long_t rlimit[4];\n};\n\nstruct ucred {\n\t__u32 pid;\n\t__u32 uid;\n\t__u32 gid;\n};\n\nstruct udp_sock {\n\tstruct inet_sock inet;\n\tlong unsigned int udp_flags;\n\tint pending;\n\t__u8 encap_type;\n\t__u16 udp_lrpa_hash;\n\tstruct hlist_nulls_node udp_lrpa_node;\n\t__u16 len;\n\t__u16 gso_size;\n\t__u16 pcslen;\n\t__u16 pcrlen;\n\tint (*encap_rcv)(struct sock *, struct sk_buff *);\n\tvoid (*encap_err_rcv)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *);\n\tint (*encap_err_lookup)(struct sock *, struct sk_buff *);\n\tvoid (*encap_destroy)(struct sock *);\n\tstruct sk_buff * (*gro_receive)(struct sock *, struct list_head *, struct sk_buff *);\n\tint (*gro_complete)(struct sock *, struct sk_buff *, int);\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct sk_buff_head reader_queue;\n\tint forward_deficit;\n\tint forward_threshold;\n\tbool peeking_with_offset;\n};\n\nstruct udp6_sock {\n\tstruct udp_sock udp;\n\tstruct ipv6_pinfo inet6;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct udp_dev_scratch {\n\tu32 _tsize_state;\n\tu16 len;\n\tbool is_linear;\n\tbool csum_unnecessary;\n};\n\nstruct udp_hslot {\n\tunion {\n\t\tstruct hlist_head head;\n\t\tstruct hlist_nulls_head nulls_head;\n\t};\n\tint count;\n\tspinlock_t lock;\n\tlong: 64;\n};\n\nstruct udp_hslot_main {\n\tstruct udp_hslot hslot;\n\tu32 hash4_cnt;\n\tlong: 64;\n};\n\nstruct udp_mib {\n\tlong unsigned int mibs[10];\n};\n\nstruct udp_seq_afinfo {\n\tsa_family_t family;\n\tstruct udp_table *udp_table;\n};\n\nstruct udp_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\t__u16 cscov;\n\t__u8 partial_cov;\n};\n\nstruct udp_table {\n\tstruct udp_hslot *hash;\n\tstruct udp_hslot_main *hash2;\n\tstruct udp_hslot *hash4;\n\tunsigned int mask;\n\tunsigned int log;\n};\n\nstruct udp_tunnel_info {\n\tshort unsigned int type;\n\tsa_family_t sa_family;\n\t__be16 port;\n\tu8 hw_priv;\n};\n\nstruct udp_tunnel_nic_table_info {\n\tunsigned int n_entries;\n\tunsigned int tunnel_types;\n};\n\nstruct udp_tunnel_nic_shared;\n\nstruct udp_tunnel_nic_info {\n\tint (*set_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tint (*unset_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tint (*sync_table)(struct net_device *, unsigned int);\n\tstruct udp_tunnel_nic_shared *shared;\n\tunsigned int flags;\n\tstruct udp_tunnel_nic_table_info tables[4];\n};\n\nstruct udp_tunnel_nic_ops {\n\tvoid (*get_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *);\n\tvoid (*set_port_priv)(struct net_device *, unsigned int, unsigned int, u8);\n\tvoid (*add_port)(struct net_device *, struct udp_tunnel_info *);\n\tvoid (*del_port)(struct net_device *, struct udp_tunnel_info *);\n\tvoid (*reset_ntf)(struct net_device *);\n\tsize_t (*dump_size)(struct net_device *, unsigned int);\n\tint (*dump_write)(struct net_device *, unsigned int, struct sk_buff *);\n};\n\nstruct udp_tunnel_nic_shared {\n\tstruct udp_tunnel_nic *udp_tunnel_nic_info;\n\tstruct list_head devices;\n};\n\nstruct uevent_sock {\n\tstruct list_head list;\n\tstruct sock *sk;\n};\n\nstruct uncached_list {\n\tspinlock_t lock;\n\tstruct list_head head;\n};\n\nstruct uncharge_gather {\n\tstruct mem_cgroup *memcg;\n\tlong unsigned int nr_memory;\n\tlong unsigned int pgpgout;\n\tlong unsigned int nr_kmem;\n\tint nid;\n};\n\nstruct uni_pagedict {\n\tu16 **uni_pgdir[32];\n\tlong unsigned int refcount;\n\tlong unsigned int sum;\n\tunsigned char *inverse_translations[4];\n\tu16 *inverse_trans_unicode;\n};\n\nstruct unipair;\n\nstruct unimapdesc {\n\tshort unsigned int entry_ct;\n\tstruct unipair *entries;\n};\n\nstruct unipair {\n\tshort unsigned int unicode;\n\tshort unsigned int fontpos;\n};\n\nstruct unix_address {\n\trefcount_t refcnt;\n\tint len;\n\tstruct sockaddr_un name[0];\n};\n\nstruct unix_domain {\n\tstruct auth_domain h;\n};\n\nstruct unix_edge {\n\tstruct unix_sock *predecessor;\n\tstruct unix_sock *successor;\n\tstruct list_head vertex_entry;\n\tstruct list_head stack_entry;\n};\n\nstruct unix_gid {\n\tstruct cache_head h;\n\tkuid_t uid;\n\tstruct group_info *gi;\n\tstruct callback_head rcu;\n};\n\nstruct unix_skb_parms {\n\tstruct pid *pid;\n\tkuid_t uid;\n\tkgid_t gid;\n\tstruct scm_fp_list *fp;\n\tu32 secid;\n\tu32 consumed;\n};\n\nstruct unix_vertex;\n\nstruct unix_sock {\n\tstruct sock sk;\n\tstruct unix_address *addr;\n\tstruct path path;\n\tstruct mutex iolock;\n\tstruct mutex bindlock;\n\tstruct sock *peer;\n\tstruct sock *listener;\n\tstruct unix_vertex *vertex;\n\tspinlock_t lock;\n\tlong: 64;\n\tstruct socket_wq peer_wq;\n\twait_queue_entry_t peer_wake;\n\tstruct scm_stat scm_stat;\n\tstruct sk_buff *oob_skb;\n};\n\nstruct unix_stream_read_state {\n\tint (*recv_actor)(struct sk_buff *, int, int, struct unix_stream_read_state *);\n\tstruct socket *socket;\n\tstruct msghdr *msg;\n\tstruct pipe_inode_info *pipe;\n\tsize_t size;\n\tint flags;\n\tunsigned int splice_flags;\n};\n\nstruct unix_vertex {\n\tstruct list_head edges;\n\tstruct list_head entry;\n\tstruct list_head scc_entry;\n\tlong unsigned int out_degree;\n\tlong unsigned int index;\n\tlong unsigned int scc_index;\n};\n\nstruct unlink_vma_file_batch {\n\tint count;\n\tstruct vm_area_struct *vmas[8];\n};\n\nstruct update_classid_context {\n\tu32 classid;\n\tunsigned int batch;\n};\n\nunion upper_chunk {\n\tunion upper_chunk *next;\n\tunion lower_chunk *data[256];\n};\n\nstruct uprobe {\n\tstruct rb_node rb_node;\n\trefcount_t ref;\n\tstruct rw_semaphore register_rwsem;\n\tstruct rw_semaphore consumer_rwsem;\n\tstruct list_head pending_list;\n\tstruct list_head consumers;\n\tstruct inode *inode;\n\tunion {\n\t\tstruct callback_head rcu;\n\t\tstruct work_struct work;\n\t};\n\tloff_t offset;\n\tloff_t ref_ctr_offset;\n\tlong unsigned int flags;\n\tstruct arch_uprobe arch;\n};\n\nstruct uprobe_cpu_buffer {\n\tstruct mutex mutex;\n\tvoid *buf;\n\tint dsize;\n};\n\nstruct uprobe_dispatch_data {\n\tstruct trace_uprobe *tu;\n\tlong unsigned int bp_addr;\n};\n\nstruct uprobe_task {\n\tenum uprobe_task_state state;\n\tunsigned int depth;\n\tstruct return_instance *return_instances;\n\tstruct return_instance *ri_pool;\n\tstruct timer_list ri_timer;\n\tseqcount_t ri_seqcount;\n\tunion {\n\t\tstruct {\n\t\t\tstruct arch_uprobe_task autask;\n\t\t\tlong unsigned int vaddr;\n\t\t};\n\t\tstruct {\n\t\t\tstruct callback_head dup_xol_work;\n\t\t\tlong unsigned int dup_xol_addr;\n\t\t};\n\t};\n\tstruct uprobe *active_uprobe;\n\tlong unsigned int xol_vaddr;\n\tstruct arch_uprobe *auprobe;\n};\n\nstruct uprobe_trace_entry_head {\n\tstruct trace_entry ent;\n\tlong unsigned int vaddr[0];\n};\n\ntypedef void (*usb_complete_t)(struct urb *);\n\nstruct usb_iso_packet_descriptor {\n\tunsigned int offset;\n\tunsigned int length;\n\tunsigned int actual_length;\n\tint status;\n};\n\nstruct urb {\n\tstruct kref kref;\n\tint unlinked;\n\tvoid *hcpriv;\n\tatomic_t use_count;\n\tatomic_t reject;\n\tstruct list_head urb_list;\n\tstruct list_head anchor_list;\n\tstruct usb_anchor *anchor;\n\tstruct usb_device *dev;\n\tstruct usb_host_endpoint *ep;\n\tunsigned int pipe;\n\tunsigned int stream_id;\n\tint status;\n\tunsigned int transfer_flags;\n\tvoid *transfer_buffer;\n\tdma_addr_t transfer_dma;\n\tstruct scatterlist *sg;\n\tint num_mapped_sgs;\n\tint num_sgs;\n\tu32 transfer_buffer_length;\n\tu32 actual_length;\n\tunsigned char *setup_packet;\n\tdma_addr_t setup_dma;\n\tint start_frame;\n\tint number_of_packets;\n\tint interval;\n\tint error_count;\n\tvoid *context;\n\tusb_complete_t complete;\n\tstruct usb_iso_packet_descriptor iso_frame_desc[0];\n};\n\nstruct urb_priv {\n\tstruct ed *ed;\n\tu16 length;\n\tu16 td_cnt;\n\tstruct list_head pending;\n\tstruct td *td[0];\n};\n\nstruct xhci_segment;\n\nstruct xhci_td {\n\tstruct list_head td_list;\n\tstruct list_head cancelled_td_list;\n\tint status;\n\tenum xhci_cancelled_td_status cancel_status;\n\tstruct urb *urb;\n\tstruct xhci_segment *start_seg;\n\tunion xhci_trb *start_trb;\n\tstruct xhci_segment *end_seg;\n\tunion xhci_trb *end_trb;\n\tstruct xhci_segment *bounce_seg;\n\tbool urb_length_set;\n\tbool error_mid_td;\n};\n\nstruct urb_priv___2 {\n\tint num_tds;\n\tint num_tds_done;\n\tstruct xhci_td td[0];\n};\n\ntypedef struct urb_priv urb_priv_t;\n\nstruct us_data;\n\ntypedef int (*trans_cmnd)(struct scsi_cmnd *, struct us_data *);\n\ntypedef int (*trans_reset)(struct us_data *);\n\ntypedef void (*proto_cmnd)(struct scsi_cmnd *, struct us_data *);\n\nstruct usb_sg_request {\n\tint status;\n\tsize_t bytes;\n\tspinlock_t lock;\n\tstruct usb_device *dev;\n\tint pipe;\n\tint entries;\n\tstruct urb **urbs;\n\tint count;\n\tstruct completion complete;\n};\n\ntypedef void (*extra_data_destructor)(void *);\n\ntypedef void (*pm_hook)(struct us_data *, int);\n\nstruct us_unusual_dev;\n\nstruct usb_ctrlrequest;\n\nstruct us_data {\n\tstruct mutex dev_mutex;\n\tstruct usb_device *pusb_dev;\n\tstruct usb_interface *pusb_intf;\n\tconst struct us_unusual_dev *unusual_dev;\n\tu64 fflags;\n\tlong unsigned int dflags;\n\tunsigned int send_bulk_pipe;\n\tunsigned int recv_bulk_pipe;\n\tunsigned int send_ctrl_pipe;\n\tunsigned int recv_ctrl_pipe;\n\tunsigned int recv_intr_pipe;\n\tchar *transport_name;\n\tchar *protocol_name;\n\t__le32 bcs_signature;\n\tu8 subclass;\n\tu8 protocol;\n\tu8 max_lun;\n\tu8 ifnum;\n\tu8 ep_bInterval;\n\ttrans_cmnd transport;\n\ttrans_reset transport_reset;\n\tproto_cmnd proto_handler;\n\tstruct scsi_cmnd *srb;\n\tunsigned int tag;\n\tchar scsi_name[32];\n\tstruct urb *current_urb;\n\tstruct usb_ctrlrequest *cr;\n\tstruct usb_sg_request current_sg;\n\tunsigned char *iobuf;\n\tdma_addr_t iobuf_dma;\n\tstruct task_struct *ctl_thread;\n\tstruct completion cmnd_ready;\n\tstruct completion notify;\n\twait_queue_head_t delay_wait;\n\tstruct delayed_work scan_dwork;\n\tvoid *extra;\n\textra_data_destructor extra_destructor;\n\tpm_hook suspend_resume_hook;\n\tint use_last_sector_hacks;\n\tint last_sector_retries;\n};\n\nstruct us_unusual_dev {\n\tconst char *vendorName;\n\tconst char *productName;\n\t__u8 useProtocol;\n\t__u8 useTransport;\n\tint (*initFunction)(struct us_data *);\n};\n\nstruct usage_priority {\n\t__u32 usage;\n\tbool global;\n\tunsigned int slot_overwrite;\n};\n\nstruct usb2_lpm_parameters {\n\tunsigned int besl;\n\tint timeout;\n};\n\nstruct usb3_lpm_parameters {\n\tunsigned int mel;\n\tunsigned int pel;\n\tunsigned int sel;\n\tint timeout;\n};\n\nstruct usb_bos_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wTotalLength;\n\t__u8 bNumDeviceCaps;\n} __attribute__((packed));\n\nstruct usb_bus {\n\tstruct device *controller;\n\tstruct device *sysdev;\n\tint busnum;\n\tconst char *bus_name;\n\tu8 uses_pio_for_control;\n\tu8 otg_port;\n\tunsigned int is_b_host: 1;\n\tunsigned int b_hnp_enable: 1;\n\tunsigned int no_stop_on_short: 1;\n\tunsigned int no_sg_constraint: 1;\n\tunsigned int sg_tablesize;\n\tint devnum_next;\n\tstruct mutex devnum_next_mutex;\n\tlong unsigned int devmap[2];\n\tstruct usb_device *root_hub;\n\tstruct usb_bus *hs_companion;\n\tint bandwidth_allocated;\n\tint bandwidth_int_reqs;\n\tint bandwidth_isoc_reqs;\n\tunsigned int resuming_ports;\n};\n\nstruct usb_cdc_acm_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bmCapabilities;\n};\n\nstruct usb_cdc_call_mgmt_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bmCapabilities;\n\t__u8 bDataInterface;\n};\n\nstruct usb_cdc_country_functional_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 iCountryCodeRelDate;\n\t__le16 wCountyCode0;\n};\n\nstruct usb_cdc_dmm_desc {\n\t__u8 bFunctionLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubtype;\n\t__u16 bcdVersion;\n\t__le16 wMaxCommand;\n} __attribute__((packed));\n\nstruct usb_cdc_ether_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 iMACAddress;\n\t__le32 bmEthernetStatistics;\n\t__le16 wMaxSegmentSize;\n\t__le16 wNumberMCFilters;\n\t__u8 bNumberPowerFilters;\n} __attribute__((packed));\n\nstruct usb_cdc_header_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdCDC;\n} __attribute__((packed));\n\nstruct usb_cdc_mbim_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdMBIMVersion;\n\t__le16 wMaxControlMessage;\n\t__u8 bNumberFilters;\n\t__u8 bMaxFilterSize;\n\t__le16 wMaxSegmentSize;\n\t__u8 bmNetworkCapabilities;\n} __attribute__((packed));\n\nstruct usb_cdc_mbim_extended_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdMBIMExtendedVersion;\n\t__u8 bMaxOutstandingCommandMessages;\n\t__le16 wMTU;\n} __attribute__((packed));\n\nstruct usb_cdc_mdlm_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdVersion;\n\t__u8 bGUID[16];\n} __attribute__((packed));\n\nstruct usb_cdc_mdlm_detail_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bGuidDescriptorType;\n\t__u8 bDetailData[0];\n};\n\nstruct usb_cdc_ncm_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdNcmVersion;\n\t__u8 bmNetworkCapabilities;\n} __attribute__((packed));\n\nstruct usb_cdc_network_terminal_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bEntityId;\n\t__u8 iName;\n\t__u8 bChannelIndex;\n\t__u8 bPhysicalInterface;\n};\n\nstruct usb_cdc_obex_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__le16 bcdVersion;\n} __attribute__((packed));\n\nstruct usb_cdc_union_desc;\n\nstruct usb_cdc_parsed_header {\n\tstruct usb_cdc_union_desc *usb_cdc_union_desc;\n\tstruct usb_cdc_header_desc *usb_cdc_header_desc;\n\tstruct usb_cdc_call_mgmt_descriptor *usb_cdc_call_mgmt_descriptor;\n\tstruct usb_cdc_acm_descriptor *usb_cdc_acm_descriptor;\n\tstruct usb_cdc_country_functional_desc *usb_cdc_country_functional_desc;\n\tstruct usb_cdc_network_terminal_desc *usb_cdc_network_terminal_desc;\n\tstruct usb_cdc_ether_desc *usb_cdc_ether_desc;\n\tstruct usb_cdc_dmm_desc *usb_cdc_dmm_desc;\n\tstruct usb_cdc_mdlm_desc *usb_cdc_mdlm_desc;\n\tstruct usb_cdc_mdlm_detail_desc *usb_cdc_mdlm_detail_desc;\n\tstruct usb_cdc_obex_desc *usb_cdc_obex_desc;\n\tstruct usb_cdc_ncm_desc *usb_cdc_ncm_desc;\n\tstruct usb_cdc_mbim_desc *usb_cdc_mbim_desc;\n\tstruct usb_cdc_mbim_extended_desc *usb_cdc_mbim_extended_desc;\n\tbool phonet_magic_present;\n};\n\nstruct usb_cdc_union_desc {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDescriptorSubType;\n\t__u8 bMasterInterface0;\n\t__u8 bSlaveInterface0;\n};\n\nstruct usb_charger_current {\n\tunsigned int sdp_min;\n\tunsigned int sdp_max;\n\tunsigned int dcp_min;\n\tunsigned int dcp_max;\n\tunsigned int cdp_min;\n\tunsigned int cdp_max;\n\tunsigned int aca_min;\n\tunsigned int aca_max;\n};\n\nstruct usb_class_driver {\n\tchar *name;\n\tchar * (*devnode)(const struct device *, umode_t *);\n\tconst struct file_operations *fops;\n\tint minor_base;\n};\n\nstruct usb_config_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wTotalLength;\n\t__u8 bNumInterfaces;\n\t__u8 bConfigurationValue;\n\t__u8 iConfiguration;\n\t__u8 bmAttributes;\n\t__u8 bMaxPower;\n} __attribute__((packed));\n\nstruct usb_ctrlrequest {\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__le16 wValue;\n\t__le16 wIndex;\n\t__le16 wLength;\n};\n\nstruct usb_dcd_config_params {\n\t__u8 bU1devExitLat;\n\t__le16 bU2DevExitLat;\n\t__u8 besl_baseline;\n\t__u8 besl_deep;\n};\n\nstruct usb_descriptor_header {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n};\n\nstruct usb_dev_cap_header {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n};\n\nstruct usb_dev_state {\n\tstruct list_head list;\n\tstruct usb_device *dev;\n\tstruct file *file;\n\tspinlock_t lock;\n\tstruct list_head async_pending;\n\tstruct list_head async_completed;\n\tstruct list_head memory_list;\n\twait_queue_head_t wait;\n\twait_queue_head_t wait_for_resume;\n\tunsigned int discsignr;\n\tstruct pid *disc_pid;\n\tconst struct cred *cred;\n\tsigval_t disccontext;\n\tlong unsigned int ifclaimed;\n\tu32 disabled_bulk_eps;\n\tlong unsigned int interface_allowed_mask;\n\tint not_yet_resumed;\n\tbool suspend_allowed;\n\tbool privileges_dropped;\n};\n\nstruct usb_endpoint_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bEndpointAddress;\n\t__u8 bmAttributes;\n\t__le16 wMaxPacketSize;\n\t__u8 bInterval;\n\t__u8 bRefresh;\n\t__u8 bSynchAddress;\n} __attribute__((packed));\n\nstruct usb_ss_ep_comp_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bMaxBurst;\n\t__u8 bmAttributes;\n\t__le16 wBytesPerInterval;\n};\n\nstruct usb_ssp_isoc_ep_comp_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 wReseved;\n\t__le32 dwBytesPerInterval;\n};\n\nstruct usb_host_endpoint {\n\tstruct usb_endpoint_descriptor desc;\n\tstruct usb_ss_ep_comp_descriptor ss_ep_comp;\n\tstruct usb_ssp_isoc_ep_comp_descriptor ssp_isoc_ep_comp;\n\tlong: 0;\n\tstruct list_head urb_list;\n\tvoid *hcpriv;\n\tstruct ep_device *ep_dev;\n\tunsigned char *extra;\n\tint extralen;\n\tint enabled;\n\tint streams;\n\tlong: 0;\n} __attribute__((packed));\n\nstruct usb_device_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdUSB;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bMaxPacketSize0;\n\t__le16 idVendor;\n\t__le16 idProduct;\n\t__le16 bcdDevice;\n\t__u8 iManufacturer;\n\t__u8 iProduct;\n\t__u8 iSerialNumber;\n\t__u8 bNumConfigurations;\n};\n\nstruct usb_host_bos;\n\nstruct usb_host_config;\n\nstruct usb_device {\n\tint devnum;\n\tchar devpath[16];\n\tu32 route;\n\tenum usb_device_state state;\n\tenum usb_device_speed speed;\n\tunsigned int rx_lanes;\n\tunsigned int tx_lanes;\n\tenum usb_ssp_rate ssp_rate;\n\tstruct usb_tt *tt;\n\tint ttport;\n\tunsigned int toggle[2];\n\tstruct usb_device *parent;\n\tstruct usb_bus *bus;\n\tstruct usb_host_endpoint ep0;\n\tstruct device dev;\n\tstruct usb_device_descriptor descriptor;\n\tstruct usb_host_bos *bos;\n\tstruct usb_host_config *config;\n\tstruct usb_host_config *actconfig;\n\tstruct usb_host_endpoint *ep_in[16];\n\tstruct usb_host_endpoint *ep_out[16];\n\tchar **rawdescriptors;\n\tshort unsigned int bus_mA;\n\tu8 portnum;\n\tu8 level;\n\tu8 devaddr;\n\tunsigned int can_submit: 1;\n\tunsigned int persist_enabled: 1;\n\tunsigned int reset_in_progress: 1;\n\tunsigned int have_langid: 1;\n\tunsigned int authorized: 1;\n\tunsigned int authenticated: 1;\n\tunsigned int lpm_capable: 1;\n\tunsigned int lpm_devinit_allow: 1;\n\tunsigned int usb2_hw_lpm_capable: 1;\n\tunsigned int usb2_hw_lpm_besl_capable: 1;\n\tunsigned int usb2_hw_lpm_enabled: 1;\n\tunsigned int usb2_hw_lpm_allowed: 1;\n\tunsigned int usb3_lpm_u1_enabled: 1;\n\tunsigned int usb3_lpm_u2_enabled: 1;\n\tint string_langid;\n\tchar *product;\n\tchar *manufacturer;\n\tchar *serial;\n\tstruct list_head filelist;\n\tint maxchild;\n\tu32 quirks;\n\tatomic_t urbnum;\n\tlong unsigned int active_duration;\n\tlong unsigned int connect_time;\n\tunsigned int do_remote_wakeup: 1;\n\tunsigned int reset_resume: 1;\n\tunsigned int port_is_suspended: 1;\n\tenum usb_link_tunnel_mode tunnel_mode;\n\tint slot_id;\n\tstruct usb2_lpm_parameters l1_params;\n\tstruct usb3_lpm_parameters u1_params;\n\tstruct usb3_lpm_parameters u2_params;\n\tunsigned int lpm_disable_count;\n\tu16 hub_delay;\n\tunsigned int use_generic_driver: 1;\n};\n\nstruct usb_device_id;\n\nstruct usb_device_driver {\n\tconst char *name;\n\tbool (*match)(struct usb_device *);\n\tint (*probe)(struct usb_device *);\n\tvoid (*disconnect)(struct usb_device *);\n\tint (*suspend)(struct usb_device *, pm_message_t);\n\tint (*resume)(struct usb_device *, pm_message_t);\n\tint (*choose_configuration)(struct usb_device *);\n\tconst struct attribute_group **dev_groups;\n\tstruct device_driver driver;\n\tconst struct usb_device_id *id_table;\n\tunsigned int supports_autosuspend: 1;\n\tunsigned int generic_subclass: 1;\n};\n\nstruct usb_device_id {\n\t__u16 match_flags;\n\t__u16 idVendor;\n\t__u16 idProduct;\n\t__u16 bcdDevice_lo;\n\t__u16 bcdDevice_hi;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bInterfaceClass;\n\t__u8 bInterfaceSubClass;\n\t__u8 bInterfaceProtocol;\n\t__u8 bInterfaceNumber;\n\tkernel_ulong_t driver_info;\n};\n\nstruct usb_dynids {\n\tstruct list_head list;\n};\n\nstruct usb_driver {\n\tconst char *name;\n\tint (*probe)(struct usb_interface *, const struct usb_device_id *);\n\tvoid (*disconnect)(struct usb_interface *);\n\tint (*unlocked_ioctl)(struct usb_interface *, unsigned int, void *);\n\tint (*suspend)(struct usb_interface *, pm_message_t);\n\tint (*resume)(struct usb_interface *);\n\tint (*reset_resume)(struct usb_interface *);\n\tint (*pre_reset)(struct usb_interface *);\n\tint (*post_reset)(struct usb_interface *);\n\tvoid (*shutdown)(struct usb_interface *);\n\tconst struct usb_device_id *id_table;\n\tconst struct attribute_group **dev_groups;\n\tstruct usb_dynids dynids;\n\tstruct device_driver driver;\n\tunsigned int no_dynamic_id: 1;\n\tunsigned int supports_autosuspend: 1;\n\tunsigned int disable_hub_initiated_lpm: 1;\n\tunsigned int soft_unbind: 1;\n};\n\nstruct usb_dynid {\n\tstruct list_head node;\n\tstruct usb_device_id id;\n};\n\nstruct usb_ehci_pdata {\n\tint caps_offset;\n\tunsigned int has_tt: 1;\n\tunsigned int has_synopsys_hc_bug: 1;\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int no_io_watchdog: 1;\n\tunsigned int reset_on_resume: 1;\n\tunsigned int dma_mask_64: 1;\n\tunsigned int spurious_oc: 1;\n\tint (*power_on)(struct platform_device *);\n\tvoid (*power_off)(struct platform_device *);\n\tvoid (*power_suspend)(struct platform_device *);\n\tint (*pre_setup)(struct usb_hcd *);\n};\n\nstruct usb_ep_caps {\n\tunsigned int type_control: 1;\n\tunsigned int type_iso: 1;\n\tunsigned int type_bulk: 1;\n\tunsigned int type_int: 1;\n\tunsigned int dir_in: 1;\n\tunsigned int dir_out: 1;\n};\n\nstruct usb_ep_ops;\n\nstruct usb_ep {\n\tvoid *driver_data;\n\tconst char *name;\n\tconst struct usb_ep_ops *ops;\n\tconst struct usb_endpoint_descriptor *desc;\n\tconst struct usb_ss_ep_comp_descriptor *comp_desc;\n\tstruct list_head ep_list;\n\tstruct usb_ep_caps caps;\n\tbool claimed;\n\tbool enabled;\n\tunsigned int mult: 2;\n\tunsigned int maxburst: 5;\n\tu8 address;\n\tu16 maxpacket;\n\tu16 maxpacket_limit;\n\tu16 max_streams;\n};\n\nstruct usb_ep_ops {\n\tint (*enable)(struct usb_ep *, const struct usb_endpoint_descriptor *);\n\tint (*disable)(struct usb_ep *);\n\tvoid (*dispose)(struct usb_ep *);\n\tstruct usb_request * (*alloc_request)(struct usb_ep *, gfp_t);\n\tvoid (*free_request)(struct usb_ep *, struct usb_request *);\n\tint (*queue)(struct usb_ep *, struct usb_request *, gfp_t);\n\tint (*dequeue)(struct usb_ep *, struct usb_request *);\n\tint (*set_halt)(struct usb_ep *, int);\n\tint (*set_wedge)(struct usb_ep *);\n\tint (*fifo_status)(struct usb_ep *);\n\tvoid (*fifo_flush)(struct usb_ep *);\n};\n\nstruct usb_ext_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__le32 bmAttributes;\n} __attribute__((packed));\n\nstruct usb_udc;\n\nstruct usb_gadget_ops;\n\nstruct usb_otg_caps;\n\nstruct usb_gadget {\n\tstruct work_struct work;\n\tstruct usb_udc *udc;\n\tconst struct usb_gadget_ops *ops;\n\tstruct usb_ep *ep0;\n\tstruct list_head ep_list;\n\tenum usb_device_speed speed;\n\tenum usb_device_speed max_speed;\n\tenum usb_ssp_rate ssp_rate;\n\tenum usb_ssp_rate max_ssp_rate;\n\tenum usb_device_state state;\n\tconst char *name;\n\tstruct device dev;\n\tunsigned int isoch_delay;\n\tunsigned int out_epnum;\n\tunsigned int in_epnum;\n\tunsigned int mA;\n\tstruct usb_otg_caps *otg_caps;\n\tunsigned int sg_supported: 1;\n\tunsigned int is_otg: 1;\n\tunsigned int is_a_peripheral: 1;\n\tunsigned int b_hnp_enable: 1;\n\tunsigned int a_hnp_support: 1;\n\tunsigned int a_alt_hnp_support: 1;\n\tunsigned int hnp_polling_support: 1;\n\tunsigned int host_request_flag: 1;\n\tunsigned int quirk_ep_out_aligned_size: 1;\n\tunsigned int quirk_altset_not_supp: 1;\n\tunsigned int quirk_stall_not_supp: 1;\n\tunsigned int quirk_zlp_not_supp: 1;\n\tunsigned int quirk_avoids_skb_reserve: 1;\n\tunsigned int is_selfpowered: 1;\n\tunsigned int deactivated: 1;\n\tunsigned int connected: 1;\n\tunsigned int lpm_capable: 1;\n\tunsigned int wakeup_capable: 1;\n\tunsigned int wakeup_armed: 1;\n\tint irq;\n\tint id_number;\n};\n\nstruct usb_gadget_driver {\n\tchar *function;\n\tenum usb_device_speed max_speed;\n\tint (*bind)(struct usb_gadget *, struct usb_gadget_driver *);\n\tvoid (*unbind)(struct usb_gadget *);\n\tint (*setup)(struct usb_gadget *, const struct usb_ctrlrequest *);\n\tvoid (*disconnect)(struct usb_gadget *);\n\tvoid (*suspend)(struct usb_gadget *);\n\tvoid (*resume)(struct usb_gadget *);\n\tvoid (*reset)(struct usb_gadget *);\n\tstruct device_driver driver;\n\tchar *udc_name;\n\tunsigned int match_existing_only: 1;\n\tbool is_bound: 1;\n};\n\nstruct usb_gadget_ops {\n\tint (*get_frame)(struct usb_gadget *);\n\tint (*wakeup)(struct usb_gadget *);\n\tint (*func_wakeup)(struct usb_gadget *, int);\n\tint (*set_remote_wakeup)(struct usb_gadget *, int);\n\tint (*set_selfpowered)(struct usb_gadget *, int);\n\tint (*vbus_session)(struct usb_gadget *, int);\n\tint (*vbus_draw)(struct usb_gadget *, unsigned int);\n\tint (*pullup)(struct usb_gadget *, int);\n\tint (*ioctl)(struct usb_gadget *, unsigned int, long unsigned int);\n\tvoid (*get_config_params)(struct usb_gadget *, struct usb_dcd_config_params *);\n\tint (*udc_start)(struct usb_gadget *, struct usb_gadget_driver *);\n\tint (*udc_stop)(struct usb_gadget *);\n\tvoid (*udc_set_speed)(struct usb_gadget *, enum usb_device_speed);\n\tvoid (*udc_set_ssp_rate)(struct usb_gadget *, enum usb_ssp_rate);\n\tvoid (*udc_async_callbacks)(struct usb_gadget *, bool);\n\tstruct usb_ep * (*match_ep)(struct usb_gadget *, struct usb_endpoint_descriptor *, struct usb_ss_ep_comp_descriptor *);\n\tint (*check_config)(struct usb_gadget *);\n};\n\nstruct usb_phy_roothub;\n\nstruct usb_hcd {\n\tstruct usb_bus self;\n\tstruct kref kref;\n\tconst char *product_desc;\n\tint speed;\n\tchar irq_descr[24];\n\tstruct timer_list rh_timer;\n\tstruct urb *status_urb;\n\tstruct work_struct wakeup_work;\n\tstruct work_struct died_work;\n\tconst struct hc_driver *driver;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_phy_roothub *phy_roothub;\n\tlong unsigned int flags;\n\tenum usb_dev_authorize_policy dev_policy;\n\tunsigned int rh_registered: 1;\n\tunsigned int rh_pollable: 1;\n\tunsigned int msix_enabled: 1;\n\tunsigned int msi_enabled: 1;\n\tunsigned int skip_phy_initialization: 1;\n\tunsigned int uses_new_polling: 1;\n\tunsigned int has_tt: 1;\n\tunsigned int amd_resume_bug: 1;\n\tunsigned int can_do_streams: 1;\n\tunsigned int tpl_support: 1;\n\tunsigned int cant_recv_wakeups: 1;\n\tunsigned int irq;\n\tvoid *regs;\n\tresource_size_t rsrc_start;\n\tresource_size_t rsrc_len;\n\tunsigned int power_budget;\n\tstruct giveback_urb_bh high_prio_bh;\n\tstruct giveback_urb_bh low_prio_bh;\n\tstruct mutex *address0_mutex;\n\tstruct mutex *bandwidth_mutex;\n\tstruct usb_hcd *shared_hcd;\n\tstruct usb_hcd *primary_hcd;\n\tstruct dma_pool *pool[4];\n\tint state;\n\tstruct gen_pool *localmem_pool;\n\tlong unsigned int hcd_priv[0];\n};\n\nstruct usb_ss_cap_descriptor;\n\nstruct usb_ssp_cap_descriptor;\n\nstruct usb_ss_container_id_descriptor;\n\nstruct usb_ptm_cap_descriptor;\n\nstruct usb_host_bos {\n\tstruct usb_bos_descriptor *desc;\n\tstruct usb_ext_cap_descriptor *ext_cap;\n\tstruct usb_ss_cap_descriptor *ss_cap;\n\tstruct usb_ssp_cap_descriptor *ssp_cap;\n\tstruct usb_ss_container_id_descriptor *ss_id;\n\tstruct usb_ptm_cap_descriptor *ptm_cap;\n};\n\nstruct usb_interface_assoc_descriptor;\n\nstruct usb_interface_cache;\n\nstruct usb_host_config {\n\tstruct usb_config_descriptor desc;\n\tchar *string;\n\tstruct usb_interface_assoc_descriptor *intf_assoc[16];\n\tstruct usb_interface *interface[32];\n\tstruct usb_interface_cache *intf_cache[32];\n\tunsigned char *extra;\n\tint extralen;\n};\n\nstruct usb_interface_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bInterfaceNumber;\n\t__u8 bAlternateSetting;\n\t__u8 bNumEndpoints;\n\t__u8 bInterfaceClass;\n\t__u8 bInterfaceSubClass;\n\t__u8 bInterfaceProtocol;\n\t__u8 iInterface;\n};\n\nstruct usb_host_interface {\n\tstruct usb_interface_descriptor desc;\n\tint extralen;\n\tunsigned char *extra;\n\tstruct usb_host_endpoint *endpoint;\n\tchar *string;\n};\n\nstruct usb_hub_status {\n\t__le16 wHubStatus;\n\t__le16 wHubChange;\n};\n\nstruct usb_port_status {\n\t__le16 wPortStatus;\n\t__le16 wPortChange;\n\t__le32 dwExtPortStatus;\n};\n\nstruct usb_tt {\n\tstruct usb_device *hub;\n\tint multi;\n\tunsigned int think_time;\n\tvoid *hcpriv;\n\tspinlock_t lock;\n\tstruct list_head clear_list;\n\tstruct work_struct clear_work;\n};\n\nstruct usb_hub_descriptor;\n\nstruct usb_port;\n\nstruct usb_hub {\n\tstruct device *intfdev;\n\tstruct usb_device *hdev;\n\tstruct kref kref;\n\tstruct urb *urb;\n\tu8 (*buffer)[8];\n\tunion {\n\t\tstruct usb_hub_status hub;\n\t\tstruct usb_port_status port;\n\t} *status;\n\tstruct mutex status_mutex;\n\tint error;\n\tint nerrors;\n\tlong unsigned int event_bits[1];\n\tlong unsigned int change_bits[1];\n\tlong unsigned int removed_bits[1];\n\tlong unsigned int wakeup_bits[1];\n\tlong unsigned int power_bits[1];\n\tlong unsigned int child_usage_bits[1];\n\tlong unsigned int warm_reset_bits[1];\n\tstruct usb_hub_descriptor *descriptor;\n\tstruct usb_tt tt;\n\tunsigned int mA_per_port;\n\tunsigned int wakeup_enabled_descendants;\n\tunsigned int limited_power: 1;\n\tunsigned int quiescing: 1;\n\tunsigned int disconnected: 1;\n\tunsigned int in_reset: 1;\n\tunsigned int quirk_disable_autosuspend: 1;\n\tunsigned int quirk_check_port_auto_suspend: 1;\n\tunsigned int has_indicators: 1;\n\tu8 indicator[31];\n\tstruct delayed_work leds;\n\tstruct delayed_work init_work;\n\tstruct work_struct events;\n\tspinlock_t irq_urb_lock;\n\tstruct timer_list irq_urb_retry;\n\tstruct usb_port **ports;\n\tstruct list_head onboard_devs;\n};\n\nstruct usb_hub_descriptor {\n\t__u8 bDescLength;\n\t__u8 bDescriptorType;\n\t__u8 bNbrPorts;\n\t__le16 wHubCharacteristics;\n\t__u8 bPwrOn2PwrGood;\n\t__u8 bHubContrCurrent;\n\tunion {\n\t\tstruct {\n\t\t\t__u8 DeviceRemovable[4];\n\t\t\t__u8 PortPwrCtrlMask[4];\n\t\t} hs;\n\t\tstruct {\n\t\t\t__u8 bHubHdrDecLat;\n\t\t\t__le16 wHubDelay;\n\t\t\t__le16 DeviceRemovable;\n\t\t} __attribute__((packed)) ss;\n\t} u;\n} __attribute__((packed));\n\nstruct usb_interface {\n\tstruct usb_host_interface *altsetting;\n\tstruct usb_host_interface *cur_altsetting;\n\tunsigned int num_altsetting;\n\tstruct usb_interface_assoc_descriptor *intf_assoc;\n\tint minor;\n\tenum usb_interface_condition condition;\n\tunsigned int sysfs_files_created: 1;\n\tunsigned int ep_devs_created: 1;\n\tunsigned int unregistering: 1;\n\tunsigned int needs_remote_wakeup: 1;\n\tunsigned int needs_altsetting0: 1;\n\tunsigned int needs_binding: 1;\n\tunsigned int resetting_device: 1;\n\tunsigned int authorized: 1;\n\tenum usb_wireless_status wireless_status;\n\tstruct work_struct wireless_status_work;\n\tstruct device dev;\n\tstruct device *usb_dev;\n\tstruct work_struct reset_ws;\n};\n\nstruct usb_interface_assoc_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bFirstInterface;\n\t__u8 bInterfaceCount;\n\t__u8 bFunctionClass;\n\t__u8 bFunctionSubClass;\n\t__u8 bFunctionProtocol;\n\t__u8 iFunction;\n};\n\nstruct usb_interface_cache {\n\tunsigned int num_altsetting;\n\tstruct kref ref;\n\tstruct usb_host_interface altsetting[0];\n};\n\nstruct usb_memory {\n\tstruct list_head memlist;\n\tint vma_use_count;\n\tint urb_use_count;\n\tu32 size;\n\tvoid *mem;\n\tdma_addr_t dma_handle;\n\tlong unsigned int vm_start;\n\tstruct usb_dev_state *ps;\n};\n\nstruct usb_ohci_pdata {\n\tunsigned int big_endian_desc: 1;\n\tunsigned int big_endian_mmio: 1;\n\tunsigned int no_big_frame_no: 1;\n\tunsigned int num_ports;\n\tint (*power_on)(struct platform_device *);\n\tvoid (*power_off)(struct platform_device *);\n\tvoid (*power_suspend)(struct platform_device *);\n};\n\nstruct usb_otg {\n\tu8 default_a;\n\tstruct phy *phy;\n\tstruct usb_phy *usb_phy;\n\tstruct usb_bus *host;\n\tstruct usb_gadget *gadget;\n\tenum usb_otg_state state;\n\tint (*set_host)(struct usb_otg *, struct usb_bus *);\n\tint (*set_peripheral)(struct usb_otg *, struct usb_gadget *);\n\tint (*set_vbus)(struct usb_otg *, bool);\n\tint (*start_srp)(struct usb_otg *);\n\tint (*start_hnp)(struct usb_otg *);\n};\n\nstruct usb_otg_caps {\n\tu16 otg_rev;\n\tbool hnp_support;\n\tbool srp_support;\n\tbool adp_support;\n};\n\nstruct usb_otg_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bmAttributes;\n};\n\nstruct usb_phy_io_ops;\n\nstruct usb_phy {\n\tstruct device *dev;\n\tconst char *label;\n\tunsigned int flags;\n\tenum usb_phy_type type;\n\tenum usb_phy_events last_event;\n\tstruct usb_otg *otg;\n\tstruct device *io_dev;\n\tstruct usb_phy_io_ops *io_ops;\n\tvoid *io_priv;\n\tstruct extcon_dev *edev;\n\tstruct extcon_dev *id_edev;\n\tstruct notifier_block vbus_nb;\n\tstruct notifier_block id_nb;\n\tstruct notifier_block type_nb;\n\tenum usb_charger_type chg_type;\n\tenum usb_charger_state chg_state;\n\tstruct usb_charger_current chg_cur;\n\tstruct work_struct chg_work;\n\tstruct atomic_notifier_head notifier;\n\tu16 port_status;\n\tu16 port_change;\n\tstruct list_head head;\n\tint (*init)(struct usb_phy *);\n\tvoid (*shutdown)(struct usb_phy *);\n\tint (*set_vbus)(struct usb_phy *, int);\n\tint (*set_power)(struct usb_phy *, unsigned int);\n\tint (*set_suspend)(struct usb_phy *, int);\n\tint (*set_wakeup)(struct usb_phy *, bool);\n\tint (*notify_connect)(struct usb_phy *, enum usb_device_speed);\n\tint (*notify_disconnect)(struct usb_phy *, enum usb_device_speed);\n\tenum usb_charger_type (*charger_detect)(struct usb_phy *);\n};\n\nstruct usb_phy_io_ops {\n\tint (*read)(struct usb_phy *, u32);\n\tint (*write)(struct usb_phy *, u32, u32);\n};\n\nstruct usb_phy_roothub {\n\tstruct phy *phy;\n\tstruct list_head list;\n};\n\nstruct usb_port {\n\tstruct usb_device *child;\n\tstruct device dev;\n\tstruct usb_dev_state *port_owner;\n\tstruct usb_port *peer;\n\tstruct typec_connector *connector;\n\tstruct dev_pm_qos_request *req;\n\tenum usb_port_connect_type connect_type;\n\tenum usb_device_state state;\n\tstruct kernfs_node *state_kn;\n\tusb_port_location_t location;\n\tstruct mutex status_lock;\n\tu32 over_current_count;\n\tu8 portnum;\n\tu32 quirks;\n\tunsigned int early_stop: 1;\n\tunsigned int ignore_event: 1;\n\tunsigned int is_superspeed: 1;\n\tunsigned int usb3_lpm_u1_permit: 1;\n\tunsigned int usb3_lpm_u2_permit: 1;\n};\n\nstruct usb_ptm_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n};\n\nstruct usb_qualifier_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__le16 bcdUSB;\n\t__u8 bDeviceClass;\n\t__u8 bDeviceSubClass;\n\t__u8 bDeviceProtocol;\n\t__u8 bMaxPacketSize0;\n\t__u8 bNumConfigurations;\n\t__u8 bRESERVED;\n};\n\nstruct usb_request {\n\tvoid *buf;\n\tunsigned int length;\n\tdma_addr_t dma;\n\tstruct scatterlist *sg;\n\tunsigned int num_sgs;\n\tunsigned int num_mapped_sgs;\n\tunsigned int stream_id: 16;\n\tunsigned int is_last: 1;\n\tunsigned int no_interrupt: 1;\n\tunsigned int zero: 1;\n\tunsigned int short_not_ok: 1;\n\tunsigned int dma_mapped: 1;\n\tunsigned int sg_was_mapped: 1;\n\tvoid (*complete)(struct usb_ep *, struct usb_request *);\n\tvoid *context;\n\tstruct list_head list;\n\tunsigned int frame_number;\n\tint status;\n\tunsigned int actual;\n};\n\nstruct usb_set_sel_req {\n\t__u8 u1_sel;\n\t__u8 u1_pel;\n\t__le16 u2_sel;\n\t__le16 u2_pel;\n};\n\nstruct usb_ss_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bmAttributes;\n\t__le16 wSpeedSupported;\n\t__u8 bFunctionalitySupport;\n\t__u8 bU1devExitLat;\n\t__le16 bU2DevExitLat;\n};\n\nstruct usb_ss_container_id_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bReserved;\n\t__u8 ContainerID[16];\n};\n\nstruct usb_ssp_cap_descriptor {\n\t__u8 bLength;\n\t__u8 bDescriptorType;\n\t__u8 bDevCapabilityType;\n\t__u8 bReserved;\n\t__le32 bmAttributes;\n\t__le16 wFunctionalitySupport;\n\t__le16 wReserved;\n\tunion {\n\t\t__le32 legacy_padding;\n\t\tstruct {\n\t\t\tstruct {} __empty_bmSublinkSpeedAttr;\n\t\t\t__le32 bmSublinkSpeedAttr[0];\n\t\t};\n\t};\n};\n\nstruct usb_tt_clear {\n\tstruct list_head clear_list;\n\tunsigned int tt;\n\tu16 devinfo;\n\tstruct usb_hcd *hcd;\n\tstruct usb_host_endpoint *ep;\n};\n\nstruct usb_udc {\n\tstruct usb_gadget_driver *driver;\n\tstruct usb_gadget *gadget;\n\tstruct device dev;\n\tstruct list_head list;\n\tbool vbus;\n\tbool started;\n\tbool allow_connect;\n\tstruct work_struct vbus_work;\n\tstruct mutex connect_lock;\n};\n\nstruct usbdevfs_bulktransfer {\n\tunsigned int ep;\n\tunsigned int len;\n\tunsigned int timeout;\n\tvoid *data;\n};\n\nstruct usbdevfs_bulktransfer32 {\n\tcompat_uint_t ep;\n\tcompat_uint_t len;\n\tcompat_uint_t timeout;\n\tcompat_caddr_t data;\n};\n\nstruct usbdevfs_connectinfo {\n\tunsigned int devnum;\n\tunsigned char slow;\n};\n\nstruct usbdevfs_conninfo_ex {\n\t__u32 size;\n\t__u32 busnum;\n\t__u32 devnum;\n\t__u32 speed;\n\t__u8 num_ports;\n\t__u8 ports[7];\n};\n\nstruct usbdevfs_ctrltransfer {\n\t__u8 bRequestType;\n\t__u8 bRequest;\n\t__u16 wValue;\n\t__u16 wIndex;\n\t__u16 wLength;\n\t__u32 timeout;\n\tvoid *data;\n};\n\nstruct usbdevfs_ctrltransfer32 {\n\tu8 bRequestType;\n\tu8 bRequest;\n\tu16 wValue;\n\tu16 wIndex;\n\tu16 wLength;\n\tu32 timeout;\n\tcompat_caddr_t data;\n};\n\nstruct usbdevfs_disconnect_claim {\n\tunsigned int interface;\n\tunsigned int flags;\n\tchar driver[256];\n};\n\nstruct usbdevfs_disconnectsignal {\n\tunsigned int signr;\n\tvoid *context;\n};\n\nstruct usbdevfs_disconnectsignal32 {\n\tcompat_int_t signr;\n\tcompat_caddr_t context;\n};\n\nstruct usbdevfs_getdriver {\n\tunsigned int interface;\n\tchar driver[256];\n};\n\nstruct usbdevfs_hub_portinfo {\n\tchar nports;\n\tchar port[127];\n};\n\nstruct usbdevfs_ioctl {\n\tint ifno;\n\tint ioctl_code;\n\tvoid *data;\n};\n\nstruct usbdevfs_ioctl32 {\n\ts32 ifno;\n\ts32 ioctl_code;\n\tcompat_caddr_t data;\n};\n\nstruct usbdevfs_iso_packet_desc {\n\tunsigned int length;\n\tunsigned int actual_length;\n\tunsigned int status;\n};\n\nstruct usbdevfs_setinterface {\n\tunsigned int interface;\n\tunsigned int altsetting;\n};\n\nstruct usbdevfs_streams {\n\tunsigned int num_streams;\n\tunsigned int num_eps;\n\tunsigned char eps[0];\n};\n\nstruct usbdevfs_urb {\n\tunsigned char type;\n\tunsigned char endpoint;\n\tint status;\n\tunsigned int flags;\n\tvoid *buffer;\n\tint buffer_length;\n\tint actual_length;\n\tint start_frame;\n\tunion {\n\t\tint number_of_packets;\n\t\tunsigned int stream_id;\n\t};\n\tint error_count;\n\tunsigned int signr;\n\tvoid *usercontext;\n\tstruct usbdevfs_iso_packet_desc iso_frame_desc[0];\n};\n\nstruct usbdevfs_urb32 {\n\tunsigned char type;\n\tunsigned char endpoint;\n\tcompat_int_t status;\n\tcompat_uint_t flags;\n\tcompat_caddr_t buffer;\n\tcompat_int_t buffer_length;\n\tcompat_int_t actual_length;\n\tcompat_int_t start_frame;\n\tcompat_int_t number_of_packets;\n\tcompat_int_t error_count;\n\tcompat_uint_t signr;\n\tcompat_caddr_t usercontext;\n\tstruct usbdevfs_iso_packet_desc iso_frame_desc[0];\n};\n\nstruct usbhid_device {\n\tstruct hid_device *hid;\n\tstruct usb_interface *intf;\n\tint ifnum;\n\tunsigned int bufsize;\n\tstruct urb *urbin;\n\tchar *inbuf;\n\tdma_addr_t inbuf_dma;\n\tstruct urb *urbctrl;\n\tstruct usb_ctrlrequest *cr;\n\tstruct hid_control_fifo ctrl[256];\n\tunsigned char ctrlhead;\n\tunsigned char ctrltail;\n\tchar *ctrlbuf;\n\tdma_addr_t ctrlbuf_dma;\n\tlong unsigned int last_ctrl;\n\tstruct urb *urbout;\n\tstruct hid_output_fifo out[256];\n\tunsigned char outhead;\n\tunsigned char outtail;\n\tchar *outbuf;\n\tdma_addr_t outbuf_dma;\n\tlong unsigned int last_out;\n\tstruct mutex mutex;\n\tspinlock_t lock;\n\tlong unsigned int iofl;\n\tstruct timer_list io_retry;\n\tlong unsigned int stop_retry;\n\tunsigned int retry_delay;\n\tstruct work_struct reset_work;\n\twait_queue_head_t wait;\n};\n\nstruct used_address {\n\tstruct __kernel_sockaddr_storage name;\n\tunsigned int name_len;\n};\n\nstruct used_bucket {\n\tstruct list_head head;\n\tstruct hlist_head *bucket;\n};\n\nstruct user_arg_ptr {\n\tbool is_compat;\n\tunion {\n\t\tconst char * const *native;\n\t\tconst compat_uptr_t *compat;\n\t} ptr;\n};\n\nstruct user_datum {\n\tu32 value;\n\tu32 bounds;\n\tstruct ebitmap roles;\n\tstruct mls_range range;\n\tstruct mls_level dfltlevel;\n};\n\nstruct user_element {\n\tstruct snd_ctl_elem_info info;\n\tstruct snd_card *card;\n\tchar *elem_data;\n\tlong unsigned int elem_data_size;\n\tvoid *tlv_data;\n\tlong unsigned int tlv_data_size;\n\tvoid *priv_data;\n};\n\nstruct user_key_payload {\n\tstruct callback_head rcu;\n\tshort unsigned int datalen;\n\tlong: 0;\n\tchar data[0];\n};\n\nstruct user_namespace {\n\tstruct uid_gid_map uid_map;\n\tstruct uid_gid_map gid_map;\n\tstruct uid_gid_map projid_map;\n\tstruct user_namespace *parent;\n\tint level;\n\tkuid_t owner;\n\tkgid_t group;\n\tstruct ns_common ns;\n\tlong unsigned int flags;\n\tbool parent_could_setfcap;\n\tstruct list_head keyring_name_list;\n\tstruct key *user_keyring_register;\n\tstruct rw_semaphore keyring_sem;\n\tstruct work_struct work;\n\tstruct ctl_table_set set;\n\tstruct ctl_table_header *sysctls;\n\tstruct ucounts *ucounts;\n\tlong int ucount_max[10];\n\tlong int rlimit_max[4];\n};\n\nstruct user_regset;\n\ntypedef int user_regset_get2_fn(struct task_struct *, const struct user_regset *, struct membuf);\n\ntypedef int user_regset_set_fn(struct task_struct *, const struct user_regset *, unsigned int, unsigned int, const void *, const void *);\n\ntypedef int user_regset_active_fn(struct task_struct *, const struct user_regset *);\n\ntypedef int user_regset_writeback_fn(struct task_struct *, const struct user_regset *, int);\n\nstruct user_regset {\n\tuser_regset_get2_fn *regset_get;\n\tuser_regset_set_fn *set;\n\tuser_regset_active_fn *active;\n\tuser_regset_writeback_fn *writeback;\n\tunsigned int n;\n\tunsigned int size;\n\tunsigned int align;\n\tunsigned int bias;\n\tunsigned int core_note_type;\n};\n\nstruct user_regset_view {\n\tconst char *name;\n\tconst struct user_regset *regsets;\n\tunsigned int n;\n\tu32 e_flags;\n\tu16 e_machine;\n\tu8 ei_osabi;\n};\n\nstruct user_struct {\n\trefcount_t __count;\n\tstruct percpu_counter epoll_watches;\n\tlong unsigned int unix_inflight;\n\tatomic_long_t pipe_bufs;\n\tstruct hlist_node uidhash_node;\n\tkuid_t uid;\n\tatomic_long_t locked_vm;\n\tstruct ratelimit_state ratelimit;\n};\n\nstruct user_threshold {\n\tstruct list_head list_node;\n\tint temperature;\n\tint direction;\n};\n\nstruct userspace_policy {\n\tunsigned int is_managed;\n\tunsigned int setspeed;\n\tstruct mutex mutex;\n};\n\nstruct userstack_entry {\n\tstruct trace_entry ent;\n\tunsigned int tgid;\n\tlong unsigned int caller[8];\n};\n\nstruct ustat {\n\t__kernel_daddr_t f_tfree;\n\tlong unsigned int f_tinode;\n\tchar f_fname[6];\n\tchar f_fpack[6];\n};\n\nstruct ustring_buffer {\n\tchar buffer[1024];\n};\n\nstruct utf8_table {\n\tint cmask;\n\tint cval;\n\tint shift;\n\tlong int lmask;\n\tlong int lval;\n};\n\nstruct uts_namespace {\n\tstruct new_utsname name;\n\tstruct user_namespace *user_ns;\n\tstruct ucounts *ucounts;\n\tstruct ns_common ns;\n};\n\nunion uu {\n\tshort unsigned int us;\n\tunsigned char b[2];\n};\n\nstruct uuidcmp {\n\tconst char *uuid;\n\tint len;\n};\n\nstruct v9fs_inode {\n\tstruct netfs_inode netfs;\n\tstruct p9_qid qid;\n\tunsigned int cache_validity;\n\tstruct mutex v_mutex;\n};\n\nstruct v9fs_session_info {\n\tunsigned int flags;\n\tunsigned char nodev;\n\tshort unsigned int debug;\n\tunsigned int afid;\n\tunsigned int cache;\n\tchar *uname;\n\tchar *aname;\n\tunsigned int maxdata;\n\tkuid_t dfltuid;\n\tkgid_t dfltgid;\n\tkuid_t uid;\n\tstruct p9_client *clnt;\n\tstruct list_head slist;\n\tstruct rw_semaphore rename_sem;\n\tlong int session_lock_timeout;\n};\n\nstruct va_format {\n\tconst char *fmt;\n\tva_list *va;\n};\n\nstruct vc {\n\tstruct vc_data *d;\n\tstruct work_struct SAK_work;\n};\n\nstruct vc_state {\n\tunsigned int x;\n\tunsigned int y;\n\tunsigned char color;\n\tunsigned char Gx_charset[2];\n\tunsigned int charset: 1;\n\tenum vc_intensity intensity;\n\tbool italic;\n\tbool underline;\n\tbool blink;\n\tbool reverse;\n};\n\nstruct vt_mode {\n\tchar mode;\n\tchar waitv;\n\tshort int relsig;\n\tshort int acqsig;\n\tshort int frsig;\n};\n\nstruct vc_data {\n\tstruct tty_port port;\n\tstruct vc_state state;\n\tstruct vc_state saved_state;\n\tshort unsigned int vc_num;\n\tunsigned int vc_cols;\n\tunsigned int vc_rows;\n\tunsigned int vc_size_row;\n\tunsigned int vc_scan_lines;\n\tunsigned int vc_cell_height;\n\tlong unsigned int vc_origin;\n\tlong unsigned int vc_scr_end;\n\tlong unsigned int vc_visible_origin;\n\tunsigned int vc_top;\n\tunsigned int vc_bottom;\n\tconst struct consw *vc_sw;\n\tshort unsigned int *vc_screenbuf;\n\tunsigned int vc_screenbuf_size;\n\tunsigned char vc_mode;\n\tunsigned char vc_attr;\n\tunsigned char vc_def_color;\n\tunsigned char vc_ulcolor;\n\tunsigned char vc_itcolor;\n\tunsigned char vc_halfcolor;\n\tunsigned int vc_cursor_type;\n\tshort unsigned int vc_complement_mask;\n\tshort unsigned int vc_s_complement_mask;\n\tlong unsigned int vc_pos;\n\tshort unsigned int vc_hi_font_mask;\n\tstruct console_font vc_font;\n\tshort unsigned int vc_video_erase_char;\n\tunsigned int vc_state;\n\tunsigned int vc_npar;\n\tunsigned int vc_par[16];\n\tstruct vt_mode vt_mode;\n\tstruct pid *vt_pid;\n\tint vt_newvt;\n\twait_queue_head_t paste_wait;\n\tunsigned int vc_disp_ctrl: 1;\n\tunsigned int vc_toggle_meta: 1;\n\tunsigned int vc_decscnm: 1;\n\tunsigned int vc_decom: 1;\n\tunsigned int vc_decawm: 1;\n\tunsigned int vc_deccm: 1;\n\tunsigned int vc_decim: 1;\n\tunsigned int vc_priv: 3;\n\tunsigned int vc_need_wrap: 1;\n\tunsigned int vc_can_do_color: 1;\n\tunsigned int vc_report_mouse: 2;\n\tunsigned char vc_utf: 1;\n\tunsigned char vc_utf_count;\n\tint vc_utf_char;\n\tlong unsigned int vc_tab_stop[4];\n\tunsigned char vc_palette[48];\n\tshort unsigned int *vc_translate;\n\tunsigned int vc_bell_pitch;\n\tunsigned int vc_bell_duration;\n\tshort unsigned int vc_cur_blink_ms;\n\tstruct vc_data **vc_display_fg;\n\tstruct uni_pagedict *uni_pagedict;\n\tstruct uni_pagedict **uni_pagedict_loc;\n\tu32 **vc_uni_lines;\n};\n\nstruct vc_draw_region {\n\tlong unsigned int from;\n\tlong unsigned int to;\n\tint x;\n};\n\nstruct vc_selection {\n\tstruct mutex lock;\n\tstruct vc_data *cons;\n\tchar *buffer;\n\tunsigned int buf_len;\n\tvolatile int start;\n\tint end;\n};\n\nstruct vcs_poll_data {\n\tstruct notifier_block notifier;\n\tunsigned int cons_num;\n\tint event;\n\twait_queue_head_t waitq;\n\tstruct fasync_struct *fasync;\n};\n\nstruct vdso_timestamp {\n\tu64 sec;\n\tu64 nsec;\n};\n\nstruct vdso_data {\n\tu32 seq;\n\ts32 clock_mode;\n\tu64 cycle_last;\n\tu64 mask;\n\tu32 mult;\n\tu32 shift;\n\tunion {\n\t\tstruct vdso_timestamp basetime[12];\n\t\tstruct timens_offset offset[12];\n\t};\n\ts32 tz_minuteswest;\n\ts32 tz_dsttime;\n\tu32 hrtimer_res;\n\tu32 __unused;\n\tstruct arch_vdso_time_data arch_data;\n};\n\nunion vdso_data_store {\n\tstruct vdso_data data[2];\n\tu8 page[4096];\n};\n\nstruct vfree_deferred {\n\tstruct llist_head list;\n\tstruct work_struct wq;\n};\n\nstruct vfs_cap_data {\n\t__le32 magic_etc;\n\tstruct {\n\t\t__le32 permitted;\n\t\t__le32 inheritable;\n\t} data[2];\n};\n\nstruct vfs_ns_cap_data {\n\t__le32 magic_etc;\n\tstruct {\n\t\t__le32 permitted;\n\t\t__le32 inheritable;\n\t} data[2];\n\t__le32 rootid;\n};\n\nstruct vga_arb_user_card {\n\tstruct pci_dev *pdev;\n\tunsigned int mem_cnt;\n\tunsigned int io_cnt;\n};\n\nstruct vga_arb_private {\n\tstruct list_head list;\n\tstruct pci_dev *target;\n\tstruct vga_arb_user_card cards[16];\n\tspinlock_t lock;\n};\n\nstruct vga_device {\n\tstruct list_head list;\n\tstruct pci_dev *pdev;\n\tunsigned int decodes;\n\tunsigned int owns;\n\tunsigned int locks;\n\tunsigned int io_lock_cnt;\n\tunsigned int mem_lock_cnt;\n\tunsigned int io_norm_cnt;\n\tunsigned int mem_norm_cnt;\n\tbool bridge_has_one_vga;\n\tbool is_firmware_default;\n\tunsigned int (*set_decode)(struct pci_dev *, bool);\n};\n\nstruct videomode {\n\tlong unsigned int pixelclock;\n\tu32 hactive;\n\tu32 hfront_porch;\n\tu32 hback_porch;\n\tu32 hsync_len;\n\tu32 vactive;\n\tu32 vfront_porch;\n\tu32 vback_porch;\n\tu32 vsync_len;\n\tenum display_flags flags;\n};\n\nstruct virtio_blk_outhdr {\n\t__virtio32 type;\n\t__virtio32 ioprio;\n\t__virtio64 sector;\n};\n\nstruct virtblk_req {\n\tstruct virtio_blk_outhdr out_hdr;\n\tunion {\n\t\tu8 status;\n\t\tstruct {\n\t\t\t__virtio64 sector;\n\t\t\tu8 status;\n\t\t} zone_append;\n\t} in_hdr;\n\tsize_t in_hdr_len;\n\tstruct sg_table sg_table;\n\tstruct scatterlist sg[0];\n};\n\nstruct virtio_9p_config {\n\t__virtio16 tag_len;\n\t__u8 tag[0];\n};\n\nstruct virtio_admin_cmd {\n\t__le16 opcode;\n\t__le16 group_type;\n\t__le64 group_member_id;\n\tstruct scatterlist *data_sg;\n\tstruct scatterlist *result_sg;\n\tstruct completion completion;\n\tu32 result_sg_size;\n\tint ret;\n};\n\nstruct virtio_admin_cmd_cap_get_data {\n\t__le16 id;\n\t__u8 reserved[6];\n};\n\nstruct virtio_admin_cmd_cap_set_data {\n\t__le16 id;\n\t__u8 reserved[6];\n\t__u8 cap_specific_data[0];\n};\n\nstruct virtio_admin_cmd_dev_mode_set_data {\n\t__u8 flags;\n};\n\nstruct virtio_admin_cmd_resource_obj_cmd_hdr {\n\t__le16 type;\n\t__u8 reserved[2];\n\t__le32 id;\n};\n\nstruct virtio_dev_part_hdr {\n\t__le16 part_type;\n\t__u8 flags;\n\t__u8 reserved;\n\tunion {\n\t\tstruct {\n\t\t\t__le32 offset;\n\t\t\t__le32 reserved;\n\t\t} pci_common_cfg;\n\t\tstruct {\n\t\t\t__le16 index;\n\t\t\t__u8 reserved[6];\n\t\t} vq_index;\n\t} selector;\n\t__le32 length;\n};\n\nstruct virtio_admin_cmd_dev_parts_get_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__u8 type;\n\t__u8 reserved[7];\n\tstruct virtio_dev_part_hdr hdr_list[0];\n};\n\nstruct virtio_admin_cmd_dev_parts_metadata_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__u8 type;\n\t__u8 reserved[7];\n};\n\nstruct virtio_admin_cmd_dev_parts_metadata_result {\n\tunion {\n\t\tstruct {\n\t\t\t__le32 size;\n\t\t\t__le32 reserved;\n\t\t} parts_size;\n\t\tstruct {\n\t\t\t__le32 count;\n\t\t\t__le32 reserved;\n\t\t} hdr_list_count;\n\t\tstruct {\n\t\t\t__le32 count;\n\t\t\t__le32 reserved;\n\t\t\tstruct virtio_dev_part_hdr hdrs[0];\n\t\t} hdr_list;\n\t};\n};\n\nstruct virtio_admin_cmd_hdr {\n\t__le16 opcode;\n\t__le16 group_type;\n\t__u8 reserved1[12];\n\t__le64 group_member_id;\n};\n\nstruct virtio_admin_cmd_query_cap_id_result {\n\t__le64 supported_caps[1];\n};\n\nstruct virtio_admin_cmd_resource_obj_create_data {\n\tstruct virtio_admin_cmd_resource_obj_cmd_hdr hdr;\n\t__le64 flags;\n\t__u8 resource_obj_specific_data[0];\n};\n\nstruct virtio_admin_cmd_status {\n\t__le16 status;\n\t__le16 status_qualifier;\n\t__u8 reserved2[4];\n};\n\nstruct virtio_balloon_stat {\n\t__virtio16 tag;\n\t__virtio64 val;\n} __attribute__((packed));\n\nstruct virtio_balloon {\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *inflate_vq;\n\tstruct virtqueue *deflate_vq;\n\tstruct virtqueue *stats_vq;\n\tstruct virtqueue *free_page_vq;\n\tstruct workqueue_struct *balloon_wq;\n\tstruct work_struct report_free_page_work;\n\tstruct work_struct update_balloon_stats_work;\n\tstruct work_struct update_balloon_size_work;\n\tspinlock_t stop_update_lock;\n\tbool stop_update;\n\tlong unsigned int config_read_bitmap;\n\tstruct list_head free_page_list;\n\tspinlock_t free_page_list_lock;\n\tlong unsigned int num_free_page_blocks;\n\tu32 cmd_id_received_cache;\n\t__virtio32 cmd_id_active;\n\t__virtio32 cmd_id_stop;\n\twait_queue_head_t acked;\n\tunsigned int num_pages;\n\tstruct balloon_dev_info vb_dev_info;\n\tstruct mutex balloon_lock;\n\tunsigned int num_pfns;\n\t__virtio32 pfns[256];\n\tstruct virtio_balloon_stat stats[16];\n\tstruct shrinker *shrinker;\n\tstruct notifier_block oom_nb;\n\tstruct virtqueue *reporting_vq;\n\tstruct page_reporting_dev_info pr_dev_info;\n\tspinlock_t wakeup_lock;\n\tbool processing_wakeup_event;\n\tu32 wakeup_signal_mask;\n};\n\nstruct virtio_balloon_config {\n\t__le32 num_pages;\n\t__le32 actual;\n\tunion {\n\t\t__le32 free_page_hint_cmd_id;\n\t\t__le32 free_page_report_cmd_id;\n\t};\n\t__le32 poison_val;\n};\n\nstruct virtio_blk_vq;\n\nstruct virtio_blk {\n\tstruct mutex vdev_mutex;\n\tstruct virtio_device *vdev;\n\tstruct gendisk *disk;\n\tstruct blk_mq_tag_set tag_set;\n\tstruct work_struct config_work;\n\tint index;\n\tint num_vqs;\n\tint io_queues[3];\n\tstruct virtio_blk_vq *vqs;\n\tunsigned int zone_sectors;\n};\n\nstruct virtio_blk_geometry {\n\t__virtio16 cylinders;\n\t__u8 heads;\n\t__u8 sectors;\n};\n\nstruct virtio_blk_zoned_characteristics {\n\t__virtio32 zone_sectors;\n\t__virtio32 max_open_zones;\n\t__virtio32 max_active_zones;\n\t__virtio32 max_append_sectors;\n\t__virtio32 write_granularity;\n\t__u8 model;\n\t__u8 unused2[3];\n};\n\nstruct virtio_blk_config {\n\t__virtio64 capacity;\n\t__virtio32 size_max;\n\t__virtio32 seg_max;\n\tstruct virtio_blk_geometry geometry;\n\t__virtio32 blk_size;\n\t__u8 physical_block_exp;\n\t__u8 alignment_offset;\n\t__virtio16 min_io_size;\n\t__virtio32 opt_io_size;\n\t__u8 wce;\n\t__u8 unused;\n\t__virtio16 num_queues;\n\t__virtio32 max_discard_sectors;\n\t__virtio32 max_discard_seg;\n\t__virtio32 discard_sector_alignment;\n\t__virtio32 max_write_zeroes_sectors;\n\t__virtio32 max_write_zeroes_seg;\n\t__u8 write_zeroes_may_unmap;\n\t__u8 unused1[3];\n\t__virtio32 max_secure_erase_sectors;\n\t__virtio32 max_secure_erase_seg;\n\t__virtio32 secure_erase_sector_alignment;\n\tstruct virtio_blk_zoned_characteristics zoned;\n};\n\nstruct virtio_blk_discard_write_zeroes {\n\t__le64 sector;\n\t__le32 num_sectors;\n\t__le32 flags;\n};\n\nstruct virtio_blk_vq {\n\tstruct virtqueue *vq;\n\tspinlock_t lock;\n\tchar name[16];\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct virtio_chan {\n\tbool inuse;\n\tspinlock_t lock;\n\tstruct p9_client *client;\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *vq;\n\tint ring_bufs_avail;\n\twait_queue_head_t *vc_wq;\n\tlong unsigned int p9_max_pages;\n\tstruct scatterlist sg[128];\n\tchar *tag;\n\tstruct list_head chan_list;\n};\n\nstruct virtqueue_info;\n\nstruct virtio_shm_region;\n\nstruct virtio_config_ops {\n\tvoid (*get)(struct virtio_device *, unsigned int, void *, unsigned int);\n\tvoid (*set)(struct virtio_device *, unsigned int, const void *, unsigned int);\n\tu32 (*generation)(struct virtio_device *);\n\tu8 (*get_status)(struct virtio_device *);\n\tvoid (*set_status)(struct virtio_device *, u8);\n\tvoid (*reset)(struct virtio_device *);\n\tint (*find_vqs)(struct virtio_device *, unsigned int, struct virtqueue **, struct virtqueue_info *, struct irq_affinity *);\n\tvoid (*del_vqs)(struct virtio_device *);\n\tvoid (*synchronize_cbs)(struct virtio_device *);\n\tu64 (*get_features)(struct virtio_device *);\n\tint (*finalize_features)(struct virtio_device *);\n\tconst char * (*bus_name)(struct virtio_device *);\n\tint (*set_vq_affinity)(struct virtqueue *, const struct cpumask *);\n\tconst struct cpumask * (*get_vq_affinity)(struct virtio_device *, int);\n\tbool (*get_shm_region)(struct virtio_device *, struct virtio_shm_region *, u8);\n\tint (*disable_vq_and_reset)(struct virtqueue *);\n\tint (*enable_vq_after_reset)(struct virtqueue *);\n};\n\nstruct virtio_console_config {\n\t__virtio16 cols;\n\t__virtio16 rows;\n\t__virtio32 max_nr_ports;\n\t__virtio32 emerg_wr;\n};\n\nstruct virtio_crypto {\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *ctrl_vq;\n\tstruct data_queue *data_vq;\n\tstruct work_struct config_work;\n\tspinlock_t ctrl_lock;\n\tu32 max_data_queues;\n\tu32 curr_queue;\n\tu32 crypto_services;\n\tu32 cipher_algo_l;\n\tu32 cipher_algo_h;\n\tu32 hash_algo;\n\tu32 mac_algo_l;\n\tu32 mac_algo_h;\n\tu32 aead_algo;\n\tu32 akcipher_algo;\n\tu32 max_cipher_key_len;\n\tu32 max_auth_key_len;\n\tu64 max_size;\n\tlong unsigned int status;\n\tatomic_t ref_count;\n\tstruct list_head list;\n\tstruct module *owner;\n\tuint8_t dev_id;\n\tbool affinity_hint_set;\n};\n\nstruct virtio_crypto_aead_session_para {\n\t__le32 algo;\n\t__le32 key_len;\n\t__le32 hash_result_len;\n\t__le32 aad_len;\n\t__le32 op;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_aead_create_session_req {\n\tstruct virtio_crypto_aead_session_para para;\n\t__u8 padding[32];\n};\n\nstruct virtio_crypto_aead_para {\n\t__le32 iv_len;\n\t__le32 aad_len;\n\t__le32 src_data_len;\n\t__le32 dst_data_len;\n};\n\nstruct virtio_crypto_aead_data_req {\n\tstruct virtio_crypto_aead_para para;\n\t__u8 padding[32];\n};\n\nstruct virtio_crypto_akcipher_algo {\n\tuint32_t algonum;\n\tuint32_t service;\n\tunsigned int active_devs;\n\tstruct akcipher_engine_alg algo;\n};\n\nstruct virtio_crypto_rsa_session_para {\n\t__le32 padding_algo;\n\t__le32 hash_algo;\n};\n\nstruct virtio_crypto_ecdsa_session_para {\n\t__le32 curve_id;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_akcipher_session_para {\n\t__le32 algo;\n\t__le32 keytype;\n\t__le32 keylen;\n\tunion {\n\t\tstruct virtio_crypto_rsa_session_para rsa;\n\t\tstruct virtio_crypto_ecdsa_session_para ecdsa;\n\t} u;\n};\n\nstruct virtio_crypto_akcipher_create_session_req {\n\tstruct virtio_crypto_akcipher_session_para para;\n\t__u8 padding[36];\n};\n\nstruct virtio_crypto_rsa_ctx {\n\tMPI n;\n};\n\nstruct virtio_crypto_akcipher_ctx {\n\tstruct virtio_crypto *vcrypto;\n\tstruct crypto_akcipher *tfm;\n\tbool session_valid;\n\t__u64 session_id;\n\tunion {\n\t\tstruct virtio_crypto_rsa_ctx rsa_ctx;\n\t};\n};\n\nstruct virtio_crypto_akcipher_para {\n\t__le32 src_data_len;\n\t__le32 dst_data_len;\n};\n\nstruct virtio_crypto_akcipher_data_req {\n\tstruct virtio_crypto_akcipher_para para;\n\t__u8 padding[40];\n};\n\nstruct virtio_crypto_request;\n\ntypedef void (*virtio_crypto_data_callback)(struct virtio_crypto_request *, int);\n\nstruct virtio_crypto_op_data_req;\n\nstruct virtio_crypto_request {\n\tuint8_t status;\n\tstruct virtio_crypto_op_data_req *req_data;\n\tstruct scatterlist **sgs;\n\tstruct data_queue *dataq;\n\tvirtio_crypto_data_callback alg_cb;\n};\n\nstruct virtio_crypto_akcipher_request {\n\tstruct virtio_crypto_request base;\n\tstruct virtio_crypto_akcipher_ctx *akcipher_ctx;\n\tstruct akcipher_request *akcipher_req;\n\tvoid *src_buf;\n\tvoid *dst_buf;\n\tuint32_t opcode;\n};\n\nstruct virtio_crypto_alg_chain_data_para {\n\t__le32 iv_len;\n\t__le32 src_data_len;\n\t__le32 dst_data_len;\n\t__le32 cipher_start_src_offset;\n\t__le32 len_to_cipher;\n\t__le32 hash_start_src_offset;\n\t__le32 len_to_hash;\n\t__le32 aad_len;\n\t__le32 hash_result_len;\n\t__le32 reserved;\n};\n\nstruct virtio_crypto_alg_chain_data_req {\n\tstruct virtio_crypto_alg_chain_data_para para;\n};\n\nstruct virtio_crypto_cipher_session_para {\n\t__le32 algo;\n\t__le32 keylen;\n\t__le32 op;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_hash_session_para {\n\t__le32 algo;\n\t__le32 hash_result_len;\n\t__u8 padding[8];\n};\n\nstruct virtio_crypto_mac_session_para {\n\t__le32 algo;\n\t__le32 hash_result_len;\n\t__le32 auth_key_len;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_alg_chain_session_para {\n\t__le32 alg_chain_order;\n\t__le32 hash_mode;\n\tstruct virtio_crypto_cipher_session_para cipher_param;\n\tunion {\n\t\tstruct virtio_crypto_hash_session_para hash_param;\n\t\tstruct virtio_crypto_mac_session_para mac_param;\n\t\t__u8 padding[16];\n\t} u;\n\t__le32 aad_len;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_alg_chain_session_req {\n\tstruct virtio_crypto_alg_chain_session_para para;\n};\n\nstruct virtio_crypto_algo {\n\tuint32_t algonum;\n\tuint32_t service;\n\tunsigned int active_devs;\n\tstruct skcipher_engine_alg algo;\n};\n\nstruct virtio_crypto_cipher_para {\n\t__le32 iv_len;\n\t__le32 src_data_len;\n\t__le32 dst_data_len;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_cipher_data_req {\n\tstruct virtio_crypto_cipher_para para;\n\t__u8 padding[24];\n};\n\nstruct virtio_crypto_cipher_session_req {\n\tstruct virtio_crypto_cipher_session_para para;\n\t__u8 padding[32];\n};\n\nstruct virtio_crypto_config {\n\t__le32 status;\n\t__le32 max_dataqueues;\n\t__le32 crypto_services;\n\t__le32 cipher_algo_l;\n\t__le32 cipher_algo_h;\n\t__le32 hash_algo;\n\t__le32 mac_algo_l;\n\t__le32 mac_algo_h;\n\t__le32 aead_algo;\n\t__le32 max_cipher_key_len;\n\t__le32 max_auth_key_len;\n\t__le32 akcipher_algo;\n\t__le64 max_size;\n};\n\nstruct virtio_crypto_ctrl_header {\n\t__le32 opcode;\n\t__le32 algo;\n\t__le32 flag;\n\t__le32 queue_id;\n};\n\nstruct virtio_crypto_sym_create_session_req {\n\tunion {\n\t\tstruct virtio_crypto_cipher_session_req cipher;\n\t\tstruct virtio_crypto_alg_chain_session_req chain;\n\t\t__u8 padding[48];\n\t} u;\n\t__le32 op_type;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_hash_create_session_req {\n\tstruct virtio_crypto_hash_session_para para;\n\t__u8 padding[40];\n};\n\nstruct virtio_crypto_mac_create_session_req {\n\tstruct virtio_crypto_mac_session_para para;\n\t__u8 padding[40];\n};\n\nstruct virtio_crypto_destroy_session_req {\n\t__le64 session_id;\n\t__u8 padding[48];\n};\n\nstruct virtio_crypto_op_ctrl_req {\n\tstruct virtio_crypto_ctrl_header header;\n\tunion {\n\t\tstruct virtio_crypto_sym_create_session_req sym_create_session;\n\t\tstruct virtio_crypto_hash_create_session_req hash_create_session;\n\t\tstruct virtio_crypto_mac_create_session_req mac_create_session;\n\t\tstruct virtio_crypto_aead_create_session_req aead_create_session;\n\t\tstruct virtio_crypto_akcipher_create_session_req akcipher_create_session;\n\t\tstruct virtio_crypto_destroy_session_req destroy_session;\n\t\t__u8 padding[56];\n\t} u;\n};\n\nstruct virtio_crypto_session_input {\n\t__le64 session_id;\n\t__le32 status;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_inhdr {\n\t__u8 status;\n};\n\nstruct virtio_crypto_ctrl_request {\n\tstruct virtio_crypto_op_ctrl_req ctrl;\n\tstruct virtio_crypto_session_input input;\n\tstruct virtio_crypto_inhdr ctrl_status;\n\tstruct completion compl;\n};\n\nstruct virtio_crypto_hash_para {\n\t__le32 src_data_len;\n\t__le32 hash_result_len;\n};\n\nstruct virtio_crypto_hash_data_req {\n\tstruct virtio_crypto_hash_para para;\n\t__u8 padding[40];\n};\n\nstruct virtio_crypto_mac_para {\n\tstruct virtio_crypto_hash_para hash;\n};\n\nstruct virtio_crypto_mac_data_req {\n\tstruct virtio_crypto_mac_para para;\n\t__u8 padding[40];\n};\n\nstruct virtio_crypto_op_header {\n\t__le32 opcode;\n\t__le32 algo;\n\t__le64 session_id;\n\t__le32 flag;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_sym_data_req {\n\tunion {\n\t\tstruct virtio_crypto_cipher_data_req cipher;\n\t\tstruct virtio_crypto_alg_chain_data_req chain;\n\t\t__u8 padding[40];\n\t} u;\n\t__le32 op_type;\n\t__le32 padding;\n};\n\nstruct virtio_crypto_op_data_req {\n\tstruct virtio_crypto_op_header header;\n\tunion {\n\t\tstruct virtio_crypto_sym_data_req sym_req;\n\t\tstruct virtio_crypto_hash_data_req hash_req;\n\t\tstruct virtio_crypto_mac_data_req mac_req;\n\t\tstruct virtio_crypto_aead_data_req aead_req;\n\t\tstruct virtio_crypto_akcipher_data_req akcipher_req;\n\t\t__u8 padding[48];\n\t} u;\n};\n\nstruct virtio_crypto_sym_session_info {\n\t__u64 session_id;\n};\n\nstruct virtio_crypto_skcipher_ctx {\n\tstruct virtio_crypto *vcrypto;\n\tstruct crypto_skcipher *tfm;\n\tstruct virtio_crypto_sym_session_info enc_sess_info;\n\tstruct virtio_crypto_sym_session_info dec_sess_info;\n};\n\nstruct virtio_crypto_sym_request {\n\tstruct virtio_crypto_request base;\n\tuint32_t type;\n\tstruct virtio_crypto_skcipher_ctx *skcipher_ctx;\n\tstruct skcipher_request *skcipher_req;\n\tuint8_t *iv;\n\tbool encrypt;\n};\n\nstruct virtio_dev_parts_cap {\n\t__u8 get_parts_resource_objects_limit;\n\t__u8 set_parts_resource_objects_limit;\n};\n\nstruct virtio_device_id {\n\t__u32 device;\n\t__u32 vendor;\n};\n\nstruct vringh_config_ops;\n\nstruct virtio_device {\n\tint index;\n\tbool failed;\n\tbool config_core_enabled;\n\tbool config_driver_disabled;\n\tbool config_change_pending;\n\tspinlock_t config_lock;\n\tspinlock_t vqs_list_lock;\n\tstruct device dev;\n\tstruct virtio_device_id id;\n\tconst struct virtio_config_ops *config;\n\tconst struct vringh_config_ops *vringh_config;\n\tstruct list_head vqs;\n\tu64 features;\n\tvoid *priv;\n};\n\nstruct virtio_driver {\n\tstruct device_driver driver;\n\tconst struct virtio_device_id *id_table;\n\tconst unsigned int *feature_table;\n\tunsigned int feature_table_size;\n\tconst unsigned int *feature_table_legacy;\n\tunsigned int feature_table_size_legacy;\n\tint (*validate)(struct virtio_device *);\n\tint (*probe)(struct virtio_device *);\n\tvoid (*scan)(struct virtio_device *);\n\tvoid (*remove)(struct virtio_device *);\n\tvoid (*config_changed)(struct virtio_device *);\n\tint (*freeze)(struct virtio_device *);\n\tint (*restore)(struct virtio_device *);\n\tint (*reset_prepare)(struct virtio_device *);\n\tint (*reset_done)(struct virtio_device *);\n};\n\nstruct virtio_input_event {\n\t__le16 type;\n\t__le16 code;\n\t__le32 value;\n};\n\nstruct virtio_input {\n\tstruct virtio_device *vdev;\n\tstruct input_dev *idev;\n\tchar name[64];\n\tchar serial[64];\n\tchar phys[64];\n\tstruct virtqueue *evt;\n\tstruct virtqueue *sts;\n\tstruct virtio_input_event evts[64];\n\tspinlock_t lock;\n\tbool ready;\n};\n\nstruct virtio_input_absinfo {\n\t__le32 min;\n\t__le32 max;\n\t__le32 fuzz;\n\t__le32 flat;\n\t__le32 res;\n};\n\nstruct virtio_input_devids {\n\t__le16 bustype;\n\t__le16 vendor;\n\t__le16 product;\n\t__le16 version;\n};\n\nstruct virtio_input_config {\n\t__u8 select;\n\t__u8 subsel;\n\t__u8 size;\n\t__u8 reserved[5];\n\tunion {\n\t\tchar string[128];\n\t\t__u8 bitmap[128];\n\t\tstruct virtio_input_absinfo abs;\n\t\tstruct virtio_input_devids ids;\n\t} u;\n};\n\nstruct virtio_mmio_device {\n\tstruct virtio_device vdev;\n\tstruct platform_device *pdev;\n\tvoid *base;\n\tlong unsigned int version;\n\tspinlock_t lock;\n\tstruct list_head virtqueues;\n};\n\nstruct virtio_mmio_vq_info {\n\tstruct virtqueue *vq;\n\tstruct list_head node;\n};\n\nstruct virtio_net_hdr {\n\t__u8 flags;\n\t__u8 gso_type;\n\t__virtio16 hdr_len;\n\t__virtio16 gso_size;\n\t__virtio16 csum_start;\n\t__virtio16 csum_offset;\n};\n\nstruct virtio_net_hdr_mrg_rxbuf {\n\tstruct virtio_net_hdr hdr;\n\t__virtio16 num_buffers;\n};\n\nstruct virtio_net_hdr_v1 {\n\t__u8 flags;\n\t__u8 gso_type;\n\t__virtio16 hdr_len;\n\t__virtio16 gso_size;\n\tunion {\n\t\tstruct {\n\t\t\t__virtio16 csum_start;\n\t\t\t__virtio16 csum_offset;\n\t\t};\n\t\tstruct {\n\t\t\t__virtio16 start;\n\t\t\t__virtio16 offset;\n\t\t} csum;\n\t\tstruct {\n\t\t\t__le16 segments;\n\t\t\t__le16 dup_acks;\n\t\t} rsc;\n\t};\n\t__virtio16 num_buffers;\n};\n\nstruct virtio_net_hdr_v1_hash {\n\tstruct virtio_net_hdr_v1 hdr;\n\t__le32 hash_value;\n\t__le16 hash_report;\n\t__le16 padding;\n};\n\nstruct virtio_net_common_hdr {\n\tunion {\n\t\tstruct virtio_net_hdr hdr;\n\t\tstruct virtio_net_hdr_mrg_rxbuf mrg_hdr;\n\t\tstruct virtio_net_hdr_v1_hash hash_v1_hdr;\n\t};\n};\n\nstruct virtio_net_config {\n\t__u8 mac[6];\n\t__virtio16 status;\n\t__virtio16 max_virtqueue_pairs;\n\t__virtio16 mtu;\n\t__le32 speed;\n\t__u8 duplex;\n\t__u8 rss_max_key_size;\n\t__le16 rss_max_indirection_table_length;\n\t__le32 supported_hash_types;\n};\n\nstruct virtio_net_ctrl_coal {\n\t__le32 max_packets;\n\t__le32 max_usecs;\n};\n\nstruct virtio_net_ctrl_coal_rx {\n\t__le32 rx_max_packets;\n\t__le32 rx_usecs;\n};\n\nstruct virtio_net_ctrl_coal_tx {\n\t__le32 tx_max_packets;\n\t__le32 tx_usecs;\n};\n\nstruct virtio_net_ctrl_coal_vq {\n\t__le16 vqn;\n\t__le16 reserved;\n\tstruct virtio_net_ctrl_coal coal;\n};\n\nstruct virtio_net_ctrl_mac {\n\t__virtio32 entries;\n\t__u8 macs[0];\n};\n\nstruct virtio_net_ctrl_mq {\n\t__virtio16 virtqueue_pairs;\n};\n\nstruct virtio_net_ctrl_queue_stats {\n\tstruct {\n\t\t__le16 vq_index;\n\t\t__le16 reserved[3];\n\t\t__le64 types_bitmap[1];\n\t} stats[1];\n};\n\nstruct virtio_net_ctrl_rss {\n\tu32 hash_types;\n\tu16 indirection_table_mask;\n\tu16 unclassified_queue;\n\tu16 hash_cfg_reserved;\n\tu16 max_tx_vq;\n\tu8 hash_key_length;\n\tu8 key[40];\n\tu16 *indirection_table;\n};\n\nstruct virtio_net_stats_capabilities {\n\t__le64 supported_stats_types[1];\n};\n\nstruct virtio_net_stats_reply_hdr {\n\t__u8 type;\n\t__u8 reserved;\n\t__le16 vq_index;\n\t__le16 reserved1;\n\t__le16 size;\n};\n\nstruct virtio_pci_vq_info;\n\nstruct virtio_pci_admin_vq {\n\tstruct virtio_pci_vq_info *info;\n\tspinlock_t lock;\n\tu64 supported_cmds;\n\tu64 supported_caps;\n\tu8 max_dev_parts_objects;\n\tstruct ida dev_parts_ida;\n\tchar name[10];\n\tu16 vq_index;\n};\n\nstruct virtio_pci_common_cfg {\n\t__le32 device_feature_select;\n\t__le32 device_feature;\n\t__le32 guest_feature_select;\n\t__le32 guest_feature;\n\t__le16 msix_config;\n\t__le16 num_queues;\n\t__u8 device_status;\n\t__u8 config_generation;\n\t__le16 queue_select;\n\t__le16 queue_size;\n\t__le16 queue_msix_vector;\n\t__le16 queue_enable;\n\t__le16 queue_notify_off;\n\t__le32 queue_desc_lo;\n\t__le32 queue_desc_hi;\n\t__le32 queue_avail_lo;\n\t__le32 queue_avail_hi;\n\t__le32 queue_used_lo;\n\t__le32 queue_used_hi;\n};\n\nstruct virtio_pci_legacy_device {\n\tstruct pci_dev *pci_dev;\n\tu8 *isr;\n\tvoid *ioaddr;\n\tstruct virtio_device_id id;\n};\n\nstruct virtio_pci_modern_device {\n\tstruct pci_dev *pci_dev;\n\tstruct virtio_pci_common_cfg *common;\n\tvoid *device;\n\tvoid *notify_base;\n\tresource_size_t notify_pa;\n\tu8 *isr;\n\tsize_t notify_len;\n\tsize_t device_len;\n\tsize_t common_len;\n\tint notify_map_cap;\n\tu32 notify_offset_multiplier;\n\tint modern_bars;\n\tstruct virtio_device_id id;\n\tint (*device_id_check)(struct pci_dev *);\n\tu64 dma_mask;\n};\n\nstruct virtio_pci_device {\n\tstruct virtio_device vdev;\n\tstruct pci_dev *pci_dev;\n\tunion {\n\t\tstruct virtio_pci_legacy_device ldev;\n\t\tstruct virtio_pci_modern_device mdev;\n\t};\n\tbool is_legacy;\n\tu8 *isr;\n\tspinlock_t lock;\n\tstruct list_head virtqueues;\n\tstruct list_head slow_virtqueues;\n\tstruct virtio_pci_vq_info **vqs;\n\tstruct virtio_pci_admin_vq admin_vq;\n\tint msix_enabled;\n\tint intx_enabled;\n\tcpumask_var_t *msix_affinity_masks;\n\tchar (*msix_names)[256];\n\tunsigned int msix_vectors;\n\tunsigned int msix_used_vectors;\n\tbool per_vq_vectors;\n\tstruct virtqueue * (*setup_vq)(struct virtio_pci_device *, struct virtio_pci_vq_info *, unsigned int, void (*)(struct virtqueue *), const char *, bool, u16);\n\tvoid (*del_vq)(struct virtio_pci_vq_info *);\n\tu16 (*config_vector)(struct virtio_pci_device *, u16);\n\tint (*avq_index)(struct virtio_device *, u16 *, u16 *);\n};\n\nstruct virtio_pci_modern_common_cfg {\n\tstruct virtio_pci_common_cfg cfg;\n\t__le16 queue_notify_data;\n\t__le16 queue_reset;\n\t__le16 admin_queue_index;\n\t__le16 admin_queue_num;\n};\n\nstruct virtio_pci_vq_info {\n\tstruct virtqueue *vq;\n\tstruct list_head node;\n\tunsigned int msix_vector;\n};\n\nstruct virtio_resource_obj_dev_parts {\n\t__u8 type;\n\t__u8 reserved[7];\n};\n\nstruct virtproc_info;\n\nstruct virtio_rpmsg_channel {\n\tstruct rpmsg_device rpdev;\n\tstruct virtproc_info *vrp;\n};\n\nstruct virtio_scsi_event {\n\t__virtio32 event;\n\t__u8 lun[8];\n\t__virtio32 reason;\n};\n\nstruct virtio_scsi;\n\nstruct virtio_scsi_event_node {\n\tstruct virtio_scsi *vscsi;\n\tstruct virtio_scsi_event event;\n\tstruct work_struct work;\n};\n\nstruct virtio_scsi_vq {\n\tspinlock_t vq_lock;\n\tstruct virtqueue *vq;\n};\n\nstruct virtio_scsi {\n\tstruct virtio_device *vdev;\n\tstruct virtio_scsi_event_node event_list[8];\n\tu32 num_queues;\n\tint io_queues[3];\n\tstruct hlist_node node;\n\tbool stop_events;\n\tstruct virtio_scsi_vq ctrl_vq;\n\tstruct virtio_scsi_vq event_vq;\n\tstruct virtio_scsi_vq req_vqs[0];\n};\n\nstruct virtio_scsi_cmd_req {\n\t__u8 lun[8];\n\t__virtio64 tag;\n\t__u8 task_attr;\n\t__u8 prio;\n\t__u8 crn;\n\t__u8 cdb[32];\n} __attribute__((packed));\n\nstruct virtio_scsi_cmd_req_pi {\n\t__u8 lun[8];\n\t__virtio64 tag;\n\t__u8 task_attr;\n\t__u8 prio;\n\t__u8 crn;\n\t__virtio32 pi_bytesout;\n\t__virtio32 pi_bytesin;\n\t__u8 cdb[32];\n} __attribute__((packed));\n\nstruct virtio_scsi_ctrl_tmf_req {\n\t__virtio32 type;\n\t__virtio32 subtype;\n\t__u8 lun[8];\n\t__virtio64 tag;\n};\n\nstruct virtio_scsi_ctrl_an_req {\n\t__virtio32 type;\n\t__u8 lun[8];\n\t__virtio32 event_requested;\n};\n\nstruct virtio_scsi_cmd_resp {\n\t__virtio32 sense_len;\n\t__virtio32 resid;\n\t__virtio16 status_qualifier;\n\t__u8 status;\n\t__u8 response;\n\t__u8 sense[96];\n};\n\nstruct virtio_scsi_ctrl_tmf_resp {\n\t__u8 response;\n};\n\nstruct virtio_scsi_ctrl_an_resp {\n\t__virtio32 event_actual;\n\t__u8 response;\n} __attribute__((packed));\n\nstruct virtio_scsi_cmd {\n\tstruct scsi_cmnd *sc;\n\tstruct completion *comp;\n\tunion {\n\t\tstruct virtio_scsi_cmd_req cmd;\n\t\tstruct virtio_scsi_cmd_req_pi cmd_pi;\n\t\tstruct virtio_scsi_ctrl_tmf_req tmf;\n\t\tstruct virtio_scsi_ctrl_an_req an;\n\t} req;\n\tunion {\n\t\tstruct virtio_scsi_cmd_resp cmd;\n\t\tstruct virtio_scsi_ctrl_tmf_resp tmf;\n\t\tstruct virtio_scsi_ctrl_an_resp an;\n\t\tstruct virtio_scsi_event evt;\n\t} resp;\n\tlong: 64;\n} __attribute__((packed));\n\nstruct virtio_scsi_config {\n\t__virtio32 num_queues;\n\t__virtio32 seg_max;\n\t__virtio32 max_sectors;\n\t__virtio32 cmd_per_lun;\n\t__virtio32 event_info_size;\n\t__virtio32 sense_size;\n\t__virtio32 cdb_size;\n\t__virtio16 max_channel;\n\t__virtio16 max_target;\n\t__virtio32 max_lun;\n};\n\nstruct virtio_shm_region {\n\tu64 addr;\n\tu64 len;\n};\n\nstruct virtnet_info {\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *cvq;\n\tstruct net_device *dev;\n\tstruct send_queue *sq;\n\tstruct receive_queue *rq;\n\tunsigned int status;\n\tu16 max_queue_pairs;\n\tu16 curr_queue_pairs;\n\tu16 xdp_queue_pairs;\n\tbool xdp_enabled;\n\tbool big_packets;\n\tunsigned int big_packets_num_skbfrags;\n\tbool mergeable_rx_bufs;\n\tbool has_rss;\n\tbool has_rss_hash_report;\n\tu8 rss_key_size;\n\tu16 rss_indir_table_size;\n\tu32 rss_hash_types_supported;\n\tu32 rss_hash_types_saved;\n\tstruct virtio_net_ctrl_rss rss;\n\tbool has_cvq;\n\tstruct mutex cvq_lock;\n\tbool any_header_sg;\n\tu8 hdr_len;\n\tstruct delayed_work refill;\n\tbool refill_enabled;\n\tspinlock_t refill_lock;\n\tstruct work_struct config_work;\n\tstruct work_struct rx_mode_work;\n\tbool rx_mode_work_enabled;\n\tbool affinity_hint_set;\n\tstruct hlist_node node;\n\tstruct hlist_node node_dead;\n\tstruct control_buf *ctrl;\n\tu8 duplex;\n\tu32 speed;\n\tbool rx_dim_enabled;\n\tstruct virtnet_interrupt_coalesce intr_coal_tx;\n\tstruct virtnet_interrupt_coalesce intr_coal_rx;\n\tlong unsigned int guest_offloads;\n\tlong unsigned int guest_offloads_capable;\n\tstruct failover *failover;\n\tu64 device_stats_cap;\n};\n\nstruct virtnet_rq_dma {\n\tdma_addr_t addr;\n\tu32 ref;\n\tu16 len;\n\tu16 need_sync;\n};\n\nstruct virtnet_sq_free_stats {\n\tu64 packets;\n\tu64 bytes;\n\tu64 napi_packets;\n\tu64 napi_bytes;\n\tu64 xsk;\n};\n\nstruct virtnet_stat_desc {\n\tchar desc[32];\n\tsize_t offset;\n\tsize_t qstat_offset;\n};\n\nstruct virtnet_stats_ctx {\n\tbool to_qstat;\n\tu32 desc_num[3];\n\tu64 bitmap[3];\n\tu32 size[3];\n\tu64 *data;\n};\n\nstruct virtproc_info {\n\tstruct virtio_device *vdev;\n\tstruct virtqueue *rvq;\n\tstruct virtqueue *svq;\n\tvoid *rbufs;\n\tvoid *sbufs;\n\tunsigned int num_bufs;\n\tunsigned int buf_size;\n\tint last_sbuf;\n\tdma_addr_t bufs_dma;\n\tstruct mutex tx_lock;\n\tstruct idr endpoints;\n\tstruct mutex endpoints_lock;\n\twait_queue_head_t sendq;\n\tatomic_t sleepers;\n};\n\nstruct virtqueue {\n\tstruct list_head list;\n\tvoid (*callback)(struct virtqueue *);\n\tconst char *name;\n\tstruct virtio_device *vdev;\n\tunsigned int index;\n\tunsigned int num_free;\n\tunsigned int num_max;\n\tbool reset;\n\tvoid *priv;\n};\n\ntypedef void vq_callback_t(struct virtqueue *);\n\nstruct virtqueue_info {\n\tconst char *name;\n\tvq_callback_t *callback;\n\tbool ctx;\n};\n\nstruct virtrng_info {\n\tstruct hwrng hwrng;\n\tstruct virtqueue *vq;\n\tchar name[25];\n\tint index;\n\tbool hwrng_register_done;\n\tbool hwrng_removed;\n\tstruct completion have_data;\n\tunsigned int data_avail;\n\tunsigned int data_idx;\n\tu8 data[64];\n};\n\nstruct vlan_priority_tci_mapping;\n\nstruct vlan_pcpu_stats;\n\nstruct vlan_dev_priv {\n\tunsigned int nr_ingress_mappings;\n\tu32 ingress_priority_map[8];\n\tunsigned int nr_egress_mappings;\n\tstruct vlan_priority_tci_mapping *egress_priority_map[16];\n\t__be16 vlan_proto;\n\tu16 vlan_id;\n\tu16 flags;\n\tstruct net_device *real_dev;\n\tnetdevice_tracker dev_tracker;\n\tunsigned char real_dev_addr[6];\n\tstruct proc_dir_entry *dent;\n\tstruct vlan_pcpu_stats *vlan_pcpu_stats;\n};\n\nstruct vlan_ethhdr {\n\tunion {\n\t\tstruct {\n\t\t\tunsigned char h_dest[6];\n\t\t\tunsigned char h_source[6];\n\t\t};\n\t\tstruct {\n\t\t\tunsigned char h_dest[6];\n\t\t\tunsigned char h_source[6];\n\t\t} addrs;\n\t};\n\t__be16 h_vlan_proto;\n\t__be16 h_vlan_TCI;\n\t__be16 h_vlan_encapsulated_proto;\n};\n\nstruct vlan_group {\n\tunsigned int nr_vlan_devs;\n\tstruct hlist_node hlist;\n\tstruct net_device **vlan_devices_arrays[16];\n};\n\nstruct vlan_hdr {\n\t__be16 h_vlan_TCI;\n\t__be16 h_vlan_encapsulated_proto;\n};\n\nstruct vlan_info {\n\tstruct net_device *real_dev;\n\tstruct vlan_group grp;\n\tstruct list_head vid_list;\n\tunsigned int nr_vids;\n\tstruct callback_head rcu;\n};\n\nstruct vlan_pcpu_stats {\n\tu64_stats_t rx_packets;\n\tu64_stats_t rx_bytes;\n\tu64_stats_t rx_multicast;\n\tu64_stats_t tx_packets;\n\tu64_stats_t tx_bytes;\n\tstruct u64_stats_sync syncp;\n\tu32 rx_errors;\n\tu32 tx_dropped;\n};\n\nstruct vlan_priority_tci_mapping {\n\tu32 priority;\n\tu16 vlan_qos;\n\tstruct vlan_priority_tci_mapping *next;\n};\n\nstruct vlan_vid_info {\n\tstruct list_head list;\n\t__be16 proto;\n\tu16 vid;\n\tint refcount;\n};\n\nstruct vm_userfaultfd_ctx {};\n\nstruct vma_lock;\n\nstruct vm_area_struct {\n\tunion {\n\t\tstruct {\n\t\t\tlong unsigned int vm_start;\n\t\t\tlong unsigned int vm_end;\n\t\t};\n\t\tstruct callback_head vm_rcu;\n\t};\n\tstruct mm_struct *vm_mm;\n\tpgprot_t vm_page_prot;\n\tunion {\n\t\tconst vm_flags_t vm_flags;\n\t\tvm_flags_t __vm_flags;\n\t};\n\tbool detached;\n\tunsigned int vm_lock_seq;\n\tstruct vma_lock *vm_lock;\n\tstruct {\n\t\tstruct rb_node rb;\n\t\tlong unsigned int rb_subtree_last;\n\t} shared;\n\tstruct list_head anon_vma_chain;\n\tstruct anon_vma *anon_vma;\n\tconst struct vm_operations_struct *vm_ops;\n\tlong unsigned int vm_pgoff;\n\tstruct file *vm_file;\n\tvoid *vm_private_data;\n\tatomic_long_t swap_readahead_info;\n\tstruct vm_userfaultfd_ctx vm_userfaultfd_ctx;\n};\n\nstruct vm_event_state {\n\tlong unsigned int event[73];\n};\n\nstruct vm_fault {\n\tconst struct {\n\t\tstruct vm_area_struct *vma;\n\t\tgfp_t gfp_mask;\n\t\tlong unsigned int pgoff;\n\t\tlong unsigned int address;\n\t\tlong unsigned int real_address;\n\t};\n\tenum fault_flag flags;\n\tpmd_t *pmd;\n\tpud_t *pud;\n\tunion {\n\t\tpte_t orig_pte;\n\t\tpmd_t orig_pmd;\n\t};\n\tstruct page *cow_page;\n\tstruct page *page;\n\tpte_t *pte;\n\tspinlock_t *ptl;\n\tpgtable_t prealloc_pte;\n};\n\nstruct vm_operations_struct {\n\tvoid (*open)(struct vm_area_struct *);\n\tvoid (*close)(struct vm_area_struct *);\n\tint (*may_split)(struct vm_area_struct *, long unsigned int);\n\tint (*mremap)(struct vm_area_struct *);\n\tint (*mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int, long unsigned int);\n\tvm_fault_t (*fault)(struct vm_fault *);\n\tvm_fault_t (*huge_fault)(struct vm_fault *, unsigned int);\n\tvm_fault_t (*map_pages)(struct vm_fault *, long unsigned int, long unsigned int);\n\tlong unsigned int (*pagesize)(struct vm_area_struct *);\n\tvm_fault_t (*page_mkwrite)(struct vm_fault *);\n\tvm_fault_t (*pfn_mkwrite)(struct vm_fault *);\n\tint (*access)(struct vm_area_struct *, long unsigned int, void *, int, int);\n\tconst char * (*name)(struct vm_area_struct *);\n\tstruct page * (*find_special_page)(struct vm_area_struct *, long unsigned int);\n};\n\nstruct vm_special_mapping {\n\tconst char *name;\n\tstruct page **pages;\n\tvm_fault_t (*fault)(const struct vm_special_mapping *, struct vm_area_struct *, struct vm_fault *);\n\tint (*mremap)(const struct vm_special_mapping *, struct vm_area_struct *);\n\tvoid (*close)(const struct vm_special_mapping *, struct vm_area_struct *);\n};\n\nstruct vm_stack {\n\tstruct callback_head rcu;\n\tstruct vm_struct *stack_vm_area;\n};\n\nstruct vm_struct {\n\tstruct vm_struct *next;\n\tvoid *addr;\n\tlong unsigned int size;\n\tlong unsigned int flags;\n\tstruct page **pages;\n\tunsigned int page_order;\n\tunsigned int nr_pages;\n\tphys_addr_t phys_addr;\n\tconst void *caller;\n};\n\nstruct vm_unmapped_area_info {\n\tlong unsigned int flags;\n\tlong unsigned int length;\n\tlong unsigned int low_limit;\n\tlong unsigned int high_limit;\n\tlong unsigned int align_mask;\n\tlong unsigned int align_offset;\n\tlong unsigned int start_gap;\n};\n\nstruct vma_list {\n\tstruct vm_area_struct *vma;\n\tstruct list_head head;\n\trefcount_t mmap_count;\n};\n\nstruct vma_lock {\n\tstruct rw_semaphore lock;\n};\n\nstruct vma_merge_struct {\n\tstruct mm_struct *mm;\n\tstruct vma_iterator *vmi;\n\tlong unsigned int pgoff;\n\tstruct vm_area_struct *prev;\n\tstruct vm_area_struct *next;\n\tstruct vm_area_struct *vma;\n\tlong unsigned int start;\n\tlong unsigned int end;\n\tlong unsigned int flags;\n\tstruct file *file;\n\tstruct anon_vma *anon_vma;\n\tstruct mempolicy *policy;\n\tstruct vm_userfaultfd_ctx uffd_ctx;\n\tstruct anon_vma_name *anon_name;\n\tenum vma_merge_flags merge_flags;\n\tenum vma_merge_state state;\n};\n\nstruct vma_prepare {\n\tstruct vm_area_struct *vma;\n\tstruct vm_area_struct *adj_next;\n\tstruct file *file;\n\tstruct address_space *mapping;\n\tstruct anon_vma *anon_vma;\n\tstruct vm_area_struct *insert;\n\tstruct vm_area_struct *remove;\n\tstruct vm_area_struct *remove2;\n};\n\nstruct vmap_area {\n\tlong unsigned int va_start;\n\tlong unsigned int va_end;\n\tstruct rb_node rb_node;\n\tstruct list_head list;\n\tunion {\n\t\tlong unsigned int subtree_max_size;\n\t\tstruct vm_struct *vm;\n\t};\n\tlong unsigned int flags;\n};\n\nstruct vmap_block {\n\tspinlock_t lock;\n\tstruct vmap_area *va;\n\tlong unsigned int free;\n\tlong unsigned int dirty;\n\tlong unsigned int used_map[16];\n\tlong unsigned int dirty_min;\n\tlong unsigned int dirty_max;\n\tstruct list_head free_list;\n\tstruct callback_head callback_head;\n\tstruct list_head purge;\n\tunsigned int cpu;\n};\n\nstruct vmap_block_queue {\n\tspinlock_t lock;\n\tstruct list_head free;\n\tstruct xarray vmap_blocks;\n};\n\nstruct vmap_pool {\n\tstruct list_head head;\n\tlong unsigned int len;\n};\n\nstruct vmap_node {\n\tstruct vmap_pool pool[256];\n\tspinlock_t pool_lock;\n\tbool skip_populate;\n\tstruct rb_list busy;\n\tstruct rb_list lazy;\n\tstruct list_head purge_list;\n\tstruct work_struct purge_work;\n\tlong unsigned int nr_purged;\n};\n\nstruct vmemmap_remap_walk {\n\tvoid (*remap_pte)(pte_t *, long unsigned int, struct vmemmap_remap_walk *);\n\tlong unsigned int nr_walked;\n\tstruct page *reuse_page;\n\tlong unsigned int reuse_addr;\n\tstruct list_head *vmemmap_pages;\n\tlong unsigned int flags;\n};\n\nstruct vmpressure_event {\n\tstruct eventfd_ctx *efd;\n\tenum vmpressure_levels level;\n\tenum vmpressure_modes mode;\n\tstruct list_head node;\n};\n\nstruct vring_desc;\n\ntypedef struct vring_desc vring_desc_t;\n\nstruct vring_avail;\n\ntypedef struct vring_avail vring_avail_t;\n\nstruct vring_used;\n\ntypedef struct vring_used vring_used_t;\n\nstruct vring {\n\tunsigned int num;\n\tvring_desc_t *desc;\n\tvring_avail_t *avail;\n\tvring_used_t *used;\n};\n\nstruct vring_avail {\n\t__virtio16 flags;\n\t__virtio16 idx;\n\t__virtio16 ring[0];\n};\n\nstruct vring_desc {\n\t__virtio64 addr;\n\t__virtio32 len;\n\t__virtio16 flags;\n\t__virtio16 next;\n};\n\nstruct vring_desc_extra {\n\tdma_addr_t addr;\n\tu32 len;\n\tu16 flags;\n\tu16 next;\n};\n\nstruct vring_packed_desc;\n\nstruct vring_desc_state_packed {\n\tvoid *data;\n\tstruct vring_packed_desc *indir_desc;\n\tu16 num;\n\tu16 last;\n};\n\nstruct vring_desc_state_split {\n\tvoid *data;\n\tstruct vring_desc *indir_desc;\n};\n\nstruct vring_packed_desc {\n\t__le64 addr;\n\t__le32 len;\n\t__le16 id;\n\t__le16 flags;\n};\n\nstruct vring_packed_desc_event {\n\t__le16 off_wrap;\n\t__le16 flags;\n};\n\nstruct vring_used_elem {\n\t__virtio32 id;\n\t__virtio32 len;\n};\n\ntypedef struct vring_used_elem vring_used_elem_t;\n\nstruct vring_used {\n\t__virtio16 flags;\n\t__virtio16 idx;\n\tvring_used_elem_t ring[0];\n};\n\nstruct vring_virtqueue_split {\n\tstruct vring vring;\n\tu16 avail_flags_shadow;\n\tu16 avail_idx_shadow;\n\tstruct vring_desc_state_split *desc_state;\n\tstruct vring_desc_extra *desc_extra;\n\tdma_addr_t queue_dma_addr;\n\tsize_t queue_size_in_bytes;\n\tu32 vring_align;\n\tbool may_reduce_num;\n};\n\nstruct vring_virtqueue_packed {\n\tstruct {\n\t\tunsigned int num;\n\t\tstruct vring_packed_desc *desc;\n\t\tstruct vring_packed_desc_event *driver;\n\t\tstruct vring_packed_desc_event *device;\n\t} vring;\n\tbool avail_wrap_counter;\n\tu16 avail_used_flags;\n\tu16 next_avail_idx;\n\tu16 event_flags_shadow;\n\tstruct vring_desc_state_packed *desc_state;\n\tstruct vring_desc_extra *desc_extra;\n\tdma_addr_t ring_dma_addr;\n\tdma_addr_t driver_event_dma_addr;\n\tdma_addr_t device_event_dma_addr;\n\tsize_t ring_size_in_bytes;\n\tsize_t event_size_in_bytes;\n};\n\nstruct vring_virtqueue {\n\tstruct virtqueue vq;\n\tbool packed_ring;\n\tbool use_dma_api;\n\tbool weak_barriers;\n\tbool broken;\n\tbool indirect;\n\tbool event;\n\tunsigned int free_head;\n\tunsigned int num_added;\n\tu16 last_used_idx;\n\tbool event_triggered;\n\tunion {\n\t\tstruct vring_virtqueue_split split;\n\t\tstruct vring_virtqueue_packed packed;\n\t};\n\tbool (*notify)(struct virtqueue *);\n\tbool we_own_ring;\n\tstruct device *dma_dev;\n};\n\nstruct vsc8531_edge_rate_table {\n\tu32 vddmac;\n\tu32 slowdown[8];\n};\n\nstruct vsc85xx_ptp;\n\nstruct vsc85xx_hw_stat;\n\nstruct vsc8531_private {\n\tint rate_magic;\n\tu16 supp_led_modes;\n\tu32 leds_mode[4];\n\tu8 nleds;\n\tconst struct vsc85xx_hw_stat *hw_stats;\n\tu64 *stats;\n\tint nstats;\n\tu8 addr;\n\tunsigned int base_addr;\n\tstruct mii_timestamper mii_ts;\n\tbool input_clk_init;\n\tstruct vsc85xx_ptp *ptp;\n\tstruct gpio_desc *load_save;\n\tunsigned int ts_base_addr;\n\tu8 ts_base_phy;\n\tstruct mutex ts_lock;\n\tstruct mutex phc_lock;\n};\n\nstruct vsc85xx_hw_stat {\n\tconst char *string;\n\tu8 reg;\n\tu16 page;\n\tu16 mask;\n};\n\nstruct vt_consize {\n\tshort unsigned int v_rows;\n\tshort unsigned int v_cols;\n\tshort unsigned int v_vlin;\n\tshort unsigned int v_clin;\n\tshort unsigned int v_vcol;\n\tshort unsigned int v_ccol;\n};\n\nstruct vt_event {\n\tunsigned int event;\n\tunsigned int oldev;\n\tunsigned int newev;\n\tunsigned int pad[4];\n};\n\nstruct vt_event_wait {\n\tstruct list_head list;\n\tstruct vt_event event;\n\tint done;\n};\n\nstruct vt_notifier_param {\n\tstruct vc_data *vc;\n\tunsigned int c;\n};\n\nstruct vt_setactivate {\n\tunsigned int console;\n\tstruct vt_mode mode;\n};\n\nstruct vt_sizes {\n\tshort unsigned int v_rows;\n\tshort unsigned int v_cols;\n\tshort unsigned int v_scrollsize;\n};\n\nstruct vt_spawn_console {\n\tspinlock_t lock;\n\tstruct pid *pid;\n\tint sig;\n};\n\nstruct vt_stat {\n\tshort unsigned int v_active;\n\tshort unsigned int v_signal;\n\tshort unsigned int v_state;\n};\n\nstruct vxlan_metadata {\n\tu32 gbp;\n};\n\nstruct wait_bit_key {\n\tlong unsigned int *flags;\n\tint bit_nr;\n\tlong unsigned int timeout;\n};\n\nstruct wait_bit_queue_entry {\n\tstruct wait_bit_key key;\n\tstruct wait_queue_entry wq_entry;\n};\n\nstruct wait_page_key {\n\tstruct folio *folio;\n\tint bit_nr;\n\tint page_match;\n};\n\nstruct wake_irq {\n\tstruct device *dev;\n\tunsigned int status;\n\tint irq;\n\tconst char *name;\n};\n\nstruct wakeup_source {\n\tconst char *name;\n\tint id;\n\tstruct list_head entry;\n\tspinlock_t lock;\n\tstruct wake_irq *wakeirq;\n\tstruct timer_list timer;\n\tlong unsigned int timer_expires;\n\tktime_t total_time;\n\tktime_t max_time;\n\tktime_t last_time;\n\tktime_t start_prevent_time;\n\tktime_t prevent_sleep_time;\n\tlong unsigned int event_count;\n\tlong unsigned int active_count;\n\tlong unsigned int relax_count;\n\tlong unsigned int expire_count;\n\tlong unsigned int wakeup_count;\n\tstruct device *dev;\n\tbool active: 1;\n\tbool autosleep_enabled: 1;\n};\n\nstruct walk_rcec_data {\n\tstruct pci_dev *rcec;\n\tint (*user_callback)(struct pci_dev *, void *);\n\tvoid *user_data;\n};\n\nstruct warn_args {\n\tconst char *fmt;\n\tva_list args;\n};\n\nstruct watchdog_core_data {\n\tstruct device dev;\n\tstruct cdev cdev;\n\tstruct watchdog_device *wdd;\n\tstruct mutex lock;\n\tktime_t last_keepalive;\n\tktime_t last_hw_keepalive;\n\tktime_t open_deadline;\n\tstruct hrtimer timer;\n\tstruct kthread_work work;\n\tlong unsigned int status;\n};\n\nstruct watchdog_governor {\n\tconst char name[20];\n\tvoid (*pretimeout)(struct watchdog_device *);\n};\n\nstruct watchdog_info {\n\t__u32 options;\n\t__u32 firmware_version;\n\t__u8 identity[32];\n};\n\nstruct watchdog_ops {\n\tstruct module *owner;\n\tint (*start)(struct watchdog_device *);\n\tint (*stop)(struct watchdog_device *);\n\tint (*ping)(struct watchdog_device *);\n\tunsigned int (*status)(struct watchdog_device *);\n\tint (*set_timeout)(struct watchdog_device *, unsigned int);\n\tint (*set_pretimeout)(struct watchdog_device *, unsigned int);\n\tunsigned int (*get_timeleft)(struct watchdog_device *);\n\tint (*restart)(struct watchdog_device *, long unsigned int, void *);\n\tlong int (*ioctl)(struct watchdog_device *, unsigned int, long unsigned int);\n};\n\nstruct wb_lock_cookie {\n\tbool locked;\n\tlong unsigned int flags;\n};\n\nstruct wb_stats {\n\tlong unsigned int nr_dirty;\n\tlong unsigned int nr_io;\n\tlong unsigned int nr_more_io;\n\tlong unsigned int nr_dirty_time;\n\tlong unsigned int nr_writeback;\n\tlong unsigned int nr_reclaimable;\n\tlong unsigned int nr_dirtied;\n\tlong unsigned int nr_written;\n\tlong unsigned int dirty_thresh;\n\tlong unsigned int wb_thresh;\n};\n\nstruct wb_writeback_work {\n\tlong int nr_pages;\n\tstruct super_block *sb;\n\tenum writeback_sync_modes sync_mode;\n\tunsigned int tagged_writepages: 1;\n\tunsigned int for_kupdate: 1;\n\tunsigned int range_cyclic: 1;\n\tunsigned int for_background: 1;\n\tunsigned int for_sync: 1;\n\tunsigned int auto_free: 1;\n\tenum wb_reason reason;\n\tstruct list_head list;\n\tstruct wb_completion *done;\n};\n\nstruct wol_reply_data {\n\tstruct ethnl_reply_data base;\n\tstruct ethtool_wolinfo wol;\n\tbool show_sopass;\n};\n\nstruct word_at_a_time {\n\tconst long unsigned int one_bits;\n\tconst long unsigned int high_bits;\n};\n\nstruct work_for_cpu {\n\tstruct work_struct work;\n\tlong int (*fn)(void *);\n\tvoid *arg;\n\tlong int ret;\n};\n\nstruct work_offq_data {\n\tu32 pool_id;\n\tu32 disable;\n\tu32 flags;\n};\n\nstruct worker {\n\tunion {\n\t\tstruct list_head entry;\n\t\tstruct hlist_node hentry;\n\t};\n\tstruct work_struct *current_work;\n\twork_func_t current_func;\n\tstruct pool_workqueue *current_pwq;\n\tu64 current_at;\n\tunsigned int current_color;\n\tint sleeping;\n\twork_func_t last_func;\n\tstruct list_head scheduled;\n\tstruct task_struct *task;\n\tstruct worker_pool *pool;\n\tstruct list_head node;\n\tlong unsigned int last_active;\n\tunsigned int flags;\n\tint id;\n\tchar desc[32];\n\tstruct workqueue_struct *rescue_wq;\n};\n\nstruct worker_pool {\n\traw_spinlock_t lock;\n\tint cpu;\n\tint node;\n\tint id;\n\tunsigned int flags;\n\tlong unsigned int watchdog_ts;\n\tbool cpu_stall;\n\tint nr_running;\n\tstruct list_head worklist;\n\tint nr_workers;\n\tint nr_idle;\n\tstruct list_head idle_list;\n\tstruct timer_list idle_timer;\n\tstruct work_struct idle_cull_work;\n\tstruct timer_list mayday_timer;\n\tstruct hlist_head busy_hash[64];\n\tstruct worker *manager;\n\tstruct list_head workers;\n\tstruct ida worker_ida;\n\tstruct workqueue_attrs *attrs;\n\tstruct hlist_node hash_node;\n\tint refcnt;\n\tstruct callback_head rcu;\n};\n\nstruct workqueue_attrs {\n\tint nice;\n\tcpumask_var_t cpumask;\n\tcpumask_var_t __pod_cpumask;\n\tbool affn_strict;\n\tenum wq_affn_scope affn_scope;\n\tbool ordered;\n};\n\nstruct wq_flusher;\n\nstruct wq_device;\n\nstruct wq_node_nr_active;\n\nstruct workqueue_struct {\n\tstruct list_head pwqs;\n\tstruct list_head list;\n\tstruct mutex mutex;\n\tint work_color;\n\tint flush_color;\n\tatomic_t nr_pwqs_to_flush;\n\tstruct wq_flusher *first_flusher;\n\tstruct list_head flusher_queue;\n\tstruct list_head flusher_overflow;\n\tstruct list_head maydays;\n\tstruct worker *rescuer;\n\tint nr_drainers;\n\tint max_active;\n\tint min_active;\n\tint saved_max_active;\n\tint saved_min_active;\n\tstruct workqueue_attrs *unbound_attrs;\n\tstruct pool_workqueue *dfl_pwq;\n\tstruct wq_device *wq_dev;\n\tchar name[32];\n\tstruct callback_head rcu;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tunsigned int flags;\n\tstruct pool_workqueue **cpu_pwq;\n\tstruct wq_node_nr_active *node_nr_active[0];\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct wq_barrier {\n\tstruct work_struct work;\n\tstruct completion done;\n\tstruct task_struct *task;\n};\n\nstruct wq_device {\n\tstruct workqueue_struct *wq;\n\tstruct device dev;\n};\n\nstruct wq_drain_dead_softirq_work {\n\tstruct work_struct work;\n\tstruct worker_pool *pool;\n\tstruct completion done;\n};\n\nstruct wq_flusher {\n\tstruct list_head list;\n\tint flush_color;\n\tstruct completion done;\n};\n\nstruct wq_node_nr_active {\n\tint max;\n\tatomic_t nr;\n\traw_spinlock_t lock;\n\tstruct list_head pending_pwqs;\n};\n\nstruct wq_pod_type {\n\tint nr_pods;\n\tcpumask_var_t *pod_cpus;\n\tint *pod_node;\n\tint *cpu_pod;\n};\n\ntypedef void (*swap_func_t)(void *, void *, int);\n\nstruct wrapper {\n\tcmp_func_t cmp;\n\tswap_func_t swap;\n};\n\nstruct writeback_control {\n\tlong int nr_to_write;\n\tlong int pages_skipped;\n\tloff_t range_start;\n\tloff_t range_end;\n\tenum writeback_sync_modes sync_mode;\n\tunsigned int for_kupdate: 1;\n\tunsigned int for_background: 1;\n\tunsigned int tagged_writepages: 1;\n\tunsigned int for_reclaim: 1;\n\tunsigned int range_cyclic: 1;\n\tunsigned int for_sync: 1;\n\tunsigned int unpinned_netfs_wb: 1;\n\tunsigned int no_cgroup_owner: 1;\n\tstruct swap_iocb **swap_plug;\n\tstruct list_head *list;\n\tstruct folio_batch fbatch;\n\tlong unsigned int index;\n\tint saved_err;\n\tstruct bdi_writeback *wb;\n\tstruct inode *inode;\n\tint wb_id;\n\tint wb_lcand_id;\n\tint wb_tcand_id;\n\tsize_t wb_bytes;\n\tsize_t wb_lcand_bytes;\n\tsize_t wb_tcand_bytes;\n};\n\nstruct writer {\n\tuint8_t *buffer;\n\tuint8_t previous_byte;\n\tsize_t buffer_pos;\n\tint bufsize;\n\tsize_t global_pos;\n\tlong int (*flush)(void *, long unsigned int);\n\tstruct lzma_header *header;\n};\n\nstruct ww_acquire_ctx {\n\tstruct task_struct *task;\n\tlong unsigned int stamp;\n\tunsigned int acquired;\n\tshort unsigned int wounded;\n\tshort unsigned int is_wait_die;\n\tunsigned int done_acquire;\n\tstruct ww_class *ww_class;\n\tvoid *contending_lock;\n};\n\nstruct ww_class {\n\tatomic_long_t stamp;\n\tstruct lock_class_key acquire_key;\n\tstruct lock_class_key mutex_key;\n\tconst char *acquire_name;\n\tconst char *mutex_name;\n\tunsigned int is_wait_die;\n};\n\nstruct xa_limit {\n\tu32 max;\n\tu32 min;\n};\n\nstruct xa_node {\n\tunsigned char shift;\n\tunsigned char offset;\n\tunsigned char count;\n\tunsigned char nr_values;\n\tstruct xa_node *parent;\n\tstruct xarray *array;\n\tunion {\n\t\tstruct list_head private_list;\n\t\tstruct callback_head callback_head;\n\t};\n\tvoid *slots[64];\n\tunion {\n\t\tlong unsigned int tags[3];\n\t\tlong unsigned int marks[3];\n\t};\n};\n\ntypedef void (*xa_update_node_t)(struct xa_node *);\n\nstruct xa_state {\n\tstruct xarray *xa;\n\tlong unsigned int xa_index;\n\tunsigned char xa_shift;\n\tunsigned char xa_sibs;\n\tunsigned char xa_offset;\n\tunsigned char xa_pad;\n\tstruct xa_node *xa_node;\n\tstruct xa_node *xa_alloc;\n\txa_update_node_t xa_update;\n\tstruct list_lru *xa_lru;\n};\n\nstruct xattr {\n\tconst char *name;\n\tvoid *value;\n\tsize_t value_len;\n};\n\nstruct xattr_args {\n\t__u64 value;\n\t__u32 size;\n\t__u32 flags;\n};\n\nstruct xattr_handler {\n\tconst char *name;\n\tconst char *prefix;\n\tint flags;\n\tbool (*list)(struct dentry *);\n\tint (*get)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, void *, size_t);\n\tint (*set)(const struct xattr_handler *, struct mnt_idmap *, struct dentry *, struct inode *, const char *, const void *, size_t, int);\n};\n\nstruct xattr_name {\n\tchar name[256];\n};\n\nstruct xdp_attachment_info {\n\tstruct bpf_prog *prog;\n\tu32 flags;\n};\n\nstruct xdp_buff_xsk {\n\tstruct xdp_buff xdp;\n\tu8 cb[24];\n\tdma_addr_t dma;\n\tdma_addr_t frame_dma;\n\tstruct xsk_buff_pool *pool;\n\tstruct list_head list_node;\n\tlong: 64;\n};\n\nstruct xdp_bulk_queue {\n\tvoid *q[8];\n\tstruct list_head flush_node;\n\tstruct bpf_cpu_map_entry *obj;\n\tunsigned int count;\n};\n\nstruct xdp_cpumap_stats {\n\tunsigned int redirect;\n\tunsigned int pass;\n\tunsigned int drop;\n};\n\nstruct xdp_desc {\n\t__u64 addr;\n\t__u32 len;\n\t__u32 options;\n};\n\nstruct xdp_dev_bulk_queue {\n\tstruct xdp_frame *q[16];\n\tstruct list_head flush_node;\n\tstruct net_device *dev;\n\tstruct net_device *dev_rx;\n\tstruct bpf_prog *xdp_prog;\n\tunsigned int count;\n};\n\nstruct xdp_frame {\n\tvoid *data;\n\tu32 len;\n\tu32 headroom;\n\tu32 metasize;\n\tenum xdp_mem_type mem_type: 32;\n\tstruct net_device *dev_rx;\n\tu32 frame_sz;\n\tu32 flags;\n};\n\nstruct xdp_frame_bulk {\n\tint count;\n\tnetmem_ref q[16];\n};\n\nstruct xdp_mem_allocator {\n\tstruct xdp_mem_info mem;\n\tunion {\n\t\tvoid *allocator;\n\t\tstruct page_pool *page_pool;\n\t};\n\tstruct rhash_head node;\n\tstruct callback_head rcu;\n};\n\nstruct xdp_metadata_ops {\n\tint (*xmo_rx_timestamp)(const struct xdp_md *, u64 *);\n\tint (*xmo_rx_hash)(const struct xdp_md *, u32 *, enum xdp_rss_hash_type *);\n\tint (*xmo_rx_vlan_tag)(const struct xdp_md *, __be16 *, u16 *);\n};\n\nstruct xdp_page_head {\n\tstruct xdp_buff orig_ctx;\n\tstruct xdp_buff ctx;\n\tunion {\n\t\tstruct {\n\t\t\tstruct {} __empty_frame;\n\t\t\tstruct xdp_frame frame[0];\n\t\t};\n\t\tstruct {\n\t\t\tstruct {} __empty_data;\n\t\t\tu8 data[0];\n\t\t};\n\t};\n};\n\nstruct xsk_queue;\n\nstruct xdp_umem;\n\nstruct xdp_sock {\n\tstruct sock sk;\n\tlong: 64;\n\tlong: 64;\n\tstruct xsk_queue *rx;\n\tstruct net_device *dev;\n\tstruct xdp_umem *umem;\n\tstruct list_head flush_node;\n\tstruct xsk_buff_pool *pool;\n\tu16 queue_id;\n\tbool zc;\n\tbool sg;\n\tenum {\n\t\tXSK_READY = 0,\n\t\tXSK_BOUND = 1,\n\t\tXSK_UNBOUND = 2,\n\t} state;\n\tlong: 64;\n\tstruct xsk_queue *tx;\n\tstruct list_head tx_list;\n\tu32 tx_budget_spent;\n\tspinlock_t rx_lock;\n\tu64 rx_dropped;\n\tu64 rx_queue_full;\n\tstruct sk_buff *skb;\n\tstruct list_head map_list;\n\tspinlock_t map_list_lock;\n\tstruct mutex mutex;\n\tstruct xsk_queue *fq_tmp;\n\tstruct xsk_queue *cq_tmp;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xdp_test_data {\n\tstruct xdp_buff *orig_ctx;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xdp_rxq_info rxq;\n\tstruct net_device *dev;\n\tstruct page_pool *pp;\n\tstruct xdp_frame **frames;\n\tstruct sk_buff **skbs;\n\tstruct xdp_mem_info mem;\n\tu32 batch_size;\n\tu32 frame_cnt;\n\tlong: 64;\n\tlong: 64;\n};\n\nstruct xdp_txq_info {\n\tstruct net_device *dev;\n};\n\nstruct xdp_umem {\n\tvoid *addrs;\n\tu64 size;\n\tu32 headroom;\n\tu32 chunk_size;\n\tu32 chunks;\n\tu32 npgs;\n\tstruct user_struct *user;\n\trefcount_t users;\n\tu8 flags;\n\tu8 tx_metadata_len;\n\tbool zc;\n\tstruct page **pgs;\n\tint id;\n\tstruct list_head xsk_dma_list;\n\tstruct work_struct work;\n};\n\nstruct xdr_array2_desc;\n\ntypedef int (*xdr_xcode_elem_t)(struct xdr_array2_desc *, void *);\n\nstruct xdr_array2_desc {\n\tunsigned int elem_size;\n\tunsigned int array_len;\n\tunsigned int array_maxlen;\n\txdr_xcode_elem_t xcode;\n};\n\nstruct xdr_skb_reader {\n\tstruct sk_buff *skb;\n\tunsigned int offset;\n\tsize_t count;\n\t__wsum csum;\n};\n\nstruct xfrm4_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*input_handler)(struct sk_buff *, int, __be32, int);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tstruct xfrm4_protocol *next;\n\tint priority;\n};\n\nstruct xfrm6_protocol {\n\tint (*handler)(struct sk_buff *);\n\tint (*input_handler)(struct sk_buff *, int, __be32, int);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32);\n\tstruct xfrm6_protocol *next;\n\tint priority;\n};\n\nstruct xfrm_address_filter {\n\txfrm_address_t saddr;\n\txfrm_address_t daddr;\n\t__u16 family;\n\t__u8 splen;\n\t__u8 dplen;\n};\n\nstruct xfrm_algo {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_aead {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tunsigned int alg_icv_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_algo_auth {\n\tchar alg_name[64];\n\tunsigned int alg_key_len;\n\tunsigned int alg_trunc_len;\n\tchar alg_key[0];\n};\n\nstruct xfrm_dev_offload {\n\tstruct net_device *dev;\n\tnetdevice_tracker dev_tracker;\n\tstruct net_device *real_dev;\n\tlong unsigned int offload_handle;\n\tu8 dir: 2;\n\tu8 type: 2;\n\tu8 flags: 2;\n};\n\nstruct xfrm_dst {\n\tunion {\n\t\tstruct dst_entry dst;\n\t\tstruct rtable rt;\n\t\tstruct rt6_info rt6;\n\t} u;\n\tstruct dst_entry *route;\n\tstruct dst_entry *child;\n\tstruct dst_entry *path;\n\tstruct xfrm_policy *pols[2];\n\tint num_pols;\n\tint num_xfrms;\n\tu32 xfrm_genid;\n\tu32 policy_genid;\n\tu32 route_mtu_cached;\n\tu32 child_mtu_cached;\n\tu32 route_cookie;\n\tu32 path_cookie;\n};\n\nstruct xfrm_dst_lookup_params {\n\tstruct net *net;\n\tdscp_t dscp;\n\tint oif;\n\txfrm_address_t *saddr;\n\txfrm_address_t *daddr;\n\tu32 mark;\n\t__u8 ipproto;\n\tunion flowi_uli uli;\n};\n\nstruct xfrm_encap_tmpl {\n\t__u16 encap_type;\n\t__be16 encap_sport;\n\t__be16 encap_dport;\n\txfrm_address_t encap_oa;\n};\n\nstruct xfrm_flo {\n\tstruct dst_entry *dst_orig;\n\tu8 flags;\n};\n\nstruct xfrm_flow_keys {\n\tstruct flow_dissector_key_basic basic;\n\tstruct flow_dissector_key_control control;\n\tunion {\n\t\tstruct flow_dissector_key_ipv4_addrs ipv4;\n\t\tstruct flow_dissector_key_ipv6_addrs ipv6;\n\t} addrs;\n\tstruct flow_dissector_key_ip ip;\n\tstruct flow_dissector_key_icmp icmp;\n\tstruct flow_dissector_key_ports ports;\n\tstruct flow_dissector_key_keyid gre;\n};\n\nstruct xfrm_hash_state_ptrs {\n\tconst struct hlist_head *bydst;\n\tconst struct hlist_head *bysrc;\n\tconst struct hlist_head *byspi;\n\tunsigned int hmask;\n};\n\nstruct xfrm_id {\n\txfrm_address_t daddr;\n\t__be32 spi;\n\t__u8 proto;\n};\n\nstruct xfrm_if_decode_session_result;\n\nstruct xfrm_if_cb {\n\tbool (*decode_session)(struct sk_buff *, short unsigned int, struct xfrm_if_decode_session_result *);\n};\n\nstruct xfrm_if_decode_session_result {\n\tstruct net *net;\n\tu32 if_id;\n};\n\nstruct xfrm_input_afinfo {\n\tu8 family;\n\tbool is_ipip;\n\tint (*callback)(struct sk_buff *, u8, int);\n};\n\nstruct xfrm_kmaddress {\n\txfrm_address_t local;\n\txfrm_address_t remote;\n\tu32 reserved;\n\tu16 family;\n};\n\nstruct xfrm_lifetime_cfg {\n\t__u64 soft_byte_limit;\n\t__u64 hard_byte_limit;\n\t__u64 soft_packet_limit;\n\t__u64 hard_packet_limit;\n\t__u64 soft_add_expires_seconds;\n\t__u64 hard_add_expires_seconds;\n\t__u64 soft_use_expires_seconds;\n\t__u64 hard_use_expires_seconds;\n};\n\nstruct xfrm_lifetime_cur {\n\t__u64 bytes;\n\t__u64 packets;\n\t__u64 add_time;\n\t__u64 use_time;\n};\n\nstruct xfrm_mark {\n\t__u32 v;\n\t__u32 m;\n};\n\nstruct xfrm_tmpl;\n\nstruct xfrm_selector;\n\nstruct xfrm_migrate;\n\nstruct xfrm_mgr {\n\tstruct list_head list;\n\tint (*notify)(struct xfrm_state *, const struct km_event *);\n\tint (*acquire)(struct xfrm_state *, struct xfrm_tmpl *, struct xfrm_policy *);\n\tstruct xfrm_policy * (*compile_policy)(struct sock *, int, u8 *, int, int *);\n\tint (*new_mapping)(struct xfrm_state *, xfrm_address_t *, __be16);\n\tint (*notify_policy)(struct xfrm_policy *, int, const struct km_event *);\n\tint (*report)(struct net *, u8, struct xfrm_selector *, xfrm_address_t *);\n\tint (*migrate)(const struct xfrm_selector *, u8, u8, const struct xfrm_migrate *, int, const struct xfrm_kmaddress *, const struct xfrm_encap_tmpl *);\n\tbool (*is_alive)(const struct km_event *);\n};\n\nstruct xfrm_migrate {\n\txfrm_address_t old_daddr;\n\txfrm_address_t old_saddr;\n\txfrm_address_t new_daddr;\n\txfrm_address_t new_saddr;\n\tu8 proto;\n\tu8 mode;\n\tu16 reserved;\n\tu32 reqid;\n\tu16 old_family;\n\tu16 new_family;\n};\n\nstruct xfrm_mode {\n\tu8 encap;\n\tu8 family;\n\tu8 flags;\n};\n\nstruct xfrm_mode_cbs {\n\tstruct module *owner;\n\tint (*init_state)(struct xfrm_state *);\n\tint (*clone_state)(struct xfrm_state *, struct xfrm_state *);\n\tvoid (*destroy_state)(struct xfrm_state *);\n\tint (*user_init)(struct net *, struct xfrm_state *, struct nlattr **, struct netlink_ext_ack *);\n\tint (*copy_to_user)(struct xfrm_state *, struct sk_buff *);\n\tunsigned int (*sa_len)(const struct xfrm_state *);\n\tu32 (*get_inner_mtu)(struct xfrm_state *, int);\n\tint (*input)(struct xfrm_state *, struct sk_buff *);\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*prepare_output)(struct xfrm_state *, struct sk_buff *);\n};\n\nstruct xfrm_tunnel_skb_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tunion {\n\t\tstruct ip_tunnel *ip4;\n\t\tstruct ip6_tnl *ip6;\n\t} tunnel;\n};\n\nstruct xfrm_mode_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\t__be16 id;\n\t__be16 frag_off;\n\tu8 ihl;\n\tu8 tos;\n\tu8 ttl;\n\tu8 protocol;\n\tu8 optlen;\n\tu8 flow_lbl[3];\n};\n\nstruct xfrm_pol_inexact_key {\n\tpossible_net_t net;\n\tu32 if_id;\n\tu16 family;\n\tu8 dir;\n\tu8 type;\n};\n\nstruct xfrm_pol_inexact_bin {\n\tstruct xfrm_pol_inexact_key k;\n\tstruct rhash_head head;\n\tstruct hlist_head hhead;\n\tseqcount_spinlock_t count;\n\tstruct rb_root root_d;\n\tstruct rb_root root_s;\n\tstruct list_head inexact_bins;\n\tstruct callback_head rcu;\n};\n\nstruct xfrm_pol_inexact_candidates {\n\tstruct hlist_head *res[4];\n};\n\nstruct xfrm_pol_inexact_node {\n\tstruct rb_node node;\n\tunion {\n\t\txfrm_address_t addr;\n\t\tstruct callback_head rcu;\n\t};\n\tu8 prefixlen;\n\tstruct rb_root root;\n\tstruct hlist_head hhead;\n};\n\nstruct xfrm_selector {\n\txfrm_address_t daddr;\n\txfrm_address_t saddr;\n\t__be16 dport;\n\t__be16 dport_mask;\n\t__be16 sport;\n\t__be16 sport_mask;\n\t__u16 family;\n\t__u8 prefixlen_d;\n\t__u8 prefixlen_s;\n\t__u8 proto;\n\tint ifindex;\n\t__kernel_uid32_t user;\n};\n\nstruct xfrm_policy_walk_entry {\n\tstruct list_head all;\n\tu8 dead;\n};\n\nstruct xfrm_policy_queue {\n\tstruct sk_buff_head hold_queue;\n\tstruct timer_list hold_timer;\n\tlong unsigned int timeout;\n};\n\nstruct xfrm_tmpl {\n\tstruct xfrm_id id;\n\txfrm_address_t saddr;\n\tshort unsigned int encap_family;\n\tu32 reqid;\n\tu8 mode;\n\tu8 share;\n\tu8 optional;\n\tu8 allalgs;\n\tu32 aalgos;\n\tu32 ealgos;\n\tu32 calgos;\n};\n\nstruct xfrm_sec_ctx;\n\nstruct xfrm_policy {\n\tpossible_net_t xp_net;\n\tstruct hlist_node bydst;\n\tstruct hlist_node byidx;\n\tstruct hlist_head state_cache_list;\n\trwlock_t lock;\n\trefcount_t refcnt;\n\tu32 pos;\n\tstruct timer_list timer;\n\tatomic_t genid;\n\tu32 priority;\n\tu32 index;\n\tu32 if_id;\n\tstruct xfrm_mark mark;\n\tstruct xfrm_selector selector;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_lifetime_cur curlft;\n\tstruct xfrm_policy_walk_entry walk;\n\tstruct xfrm_policy_queue polq;\n\tbool bydst_reinsert;\n\tu8 type;\n\tu8 action;\n\tu8 flags;\n\tu8 xfrm_nr;\n\tu16 family;\n\tstruct xfrm_sec_ctx *security;\n\tstruct xfrm_tmpl xfrm_vec[6];\n\tstruct callback_head rcu;\n\tstruct xfrm_dev_offload xdo;\n};\n\nstruct xfrm_policy_afinfo {\n\tstruct dst_ops *dst_ops;\n\tstruct dst_entry * (*dst_lookup)(const struct xfrm_dst_lookup_params *);\n\tint (*get_saddr)(xfrm_address_t *, const struct xfrm_dst_lookup_params *);\n\tint (*fill_dst)(struct xfrm_dst *, struct net_device *, const struct flowi *);\n\tstruct dst_entry * (*blackhole_route)(struct net *, struct dst_entry *);\n};\n\nstruct xfrm_policy_walk {\n\tstruct xfrm_policy_walk_entry walk;\n\tu8 type;\n\tu32 seq;\n};\n\nstruct xfrm_replay_state {\n\t__u32 oseq;\n\t__u32 seq;\n\t__u32 bitmap;\n};\n\nstruct xfrm_replay_state_esn {\n\tunsigned int bmp_len;\n\t__u32 oseq;\n\t__u32 seq;\n\t__u32 oseq_hi;\n\t__u32 seq_hi;\n\t__u32 replay_window;\n\t__u32 bmp[0];\n};\n\nstruct xfrm_sec_ctx {\n\t__u8 ctx_doi;\n\t__u8 ctx_alg;\n\t__u16 ctx_len;\n\t__u32 ctx_sid;\n\tchar ctx_str[0];\n};\n\nstruct xfrm_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\tunion {\n\t\tstruct {\n\t\t\t__u32 low;\n\t\t\t__u32 hi;\n\t\t} output;\n\t\tstruct {\n\t\t\t__be32 low;\n\t\t\t__be32 hi;\n\t\t} input;\n\t} seq;\n};\n\nstruct xfrm_spi_skb_cb {\n\tstruct xfrm_tunnel_skb_cb header;\n\tunsigned int daddroff;\n\tunsigned int family;\n\t__be32 seq;\n};\n\nstruct xfrm_state_walk {\n\tstruct list_head all;\n\tu8 state;\n\tu8 dying;\n\tu8 proto;\n\tu32 seq;\n\tstruct xfrm_address_filter *filter;\n};\n\nstruct xfrm_stats {\n\t__u32 replay_window;\n\t__u32 replay;\n\t__u32 integrity_failed;\n};\n\nstruct xfrm_type;\n\nstruct xfrm_type_offload;\n\nstruct xfrm_state {\n\tpossible_net_t xs_net;\n\tunion {\n\t\tstruct hlist_node gclist;\n\t\tstruct hlist_node bydst;\n\t};\n\tunion {\n\t\tstruct hlist_node dev_gclist;\n\t\tstruct hlist_node bysrc;\n\t};\n\tstruct hlist_node byspi;\n\tstruct hlist_node byseq;\n\tstruct hlist_node state_cache;\n\tstruct hlist_node state_cache_input;\n\trefcount_t refcnt;\n\tspinlock_t lock;\n\tu32 pcpu_num;\n\tstruct xfrm_id id;\n\tstruct xfrm_selector sel;\n\tstruct xfrm_mark mark;\n\tu32 if_id;\n\tu32 tfcpad;\n\tu32 genid;\n\tstruct xfrm_state_walk km;\n\tstruct {\n\t\tu32 reqid;\n\t\tu8 mode;\n\t\tu8 replay_window;\n\t\tu8 aalgo;\n\t\tu8 ealgo;\n\t\tu8 calgo;\n\t\tu8 flags;\n\t\tu16 family;\n\t\txfrm_address_t saddr;\n\t\tint header_len;\n\t\tint enc_hdr_len;\n\t\tint trailer_len;\n\t\tu32 extra_flags;\n\t\tstruct xfrm_mark smark;\n\t} props;\n\tstruct xfrm_lifetime_cfg lft;\n\tstruct xfrm_algo_auth *aalg;\n\tstruct xfrm_algo *ealg;\n\tstruct xfrm_algo *calg;\n\tstruct xfrm_algo_aead *aead;\n\tconst char *geniv;\n\t__be16 new_mapping_sport;\n\tu32 new_mapping;\n\tu32 mapping_maxage;\n\tstruct xfrm_encap_tmpl *encap;\n\tstruct sock *encap_sk;\n\tu32 nat_keepalive_interval;\n\ttime64_t nat_keepalive_expiration;\n\txfrm_address_t *coaddr;\n\tstruct xfrm_state *tunnel;\n\tatomic_t tunnel_users;\n\tstruct xfrm_replay_state replay;\n\tstruct xfrm_replay_state_esn *replay_esn;\n\tstruct xfrm_replay_state preplay;\n\tstruct xfrm_replay_state_esn *preplay_esn;\n\tenum xfrm_replay_mode repl_mode;\n\tu32 xflags;\n\tu32 replay_maxage;\n\tu32 replay_maxdiff;\n\tstruct timer_list rtimer;\n\tstruct xfrm_stats stats;\n\tstruct xfrm_lifetime_cur curlft;\n\tstruct hrtimer mtimer;\n\tstruct xfrm_dev_offload xso;\n\tlong int saved_tmo;\n\ttime64_t lastused;\n\tstruct page_frag xfrag;\n\tconst struct xfrm_type *type;\n\tstruct xfrm_mode inner_mode;\n\tstruct xfrm_mode inner_mode_iaf;\n\tstruct xfrm_mode outer_mode;\n\tconst struct xfrm_type_offload *type_offload;\n\tstruct xfrm_sec_ctx *security;\n\tvoid *data;\n\tu8 dir;\n\tconst struct xfrm_mode_cbs *mode_cbs;\n\tvoid *mode_data;\n};\n\nstruct xfrm_state_afinfo {\n\tu8 family;\n\tu8 proto;\n\tconst struct xfrm_type_offload *type_offload_esp;\n\tconst struct xfrm_type *type_esp;\n\tconst struct xfrm_type *type_ipip;\n\tconst struct xfrm_type *type_ipip6;\n\tconst struct xfrm_type *type_comp;\n\tconst struct xfrm_type *type_ah;\n\tconst struct xfrm_type *type_routing;\n\tconst struct xfrm_type *type_dstopts;\n\tint (*output)(struct net *, struct sock *, struct sk_buff *);\n\tint (*transport_finish)(struct sk_buff *, int);\n\tvoid (*local_error)(struct sk_buff *, u32);\n};\n\nstruct xfrm_trans_cb {\n\tunion {\n\t\tstruct inet_skb_parm h4;\n\t\tstruct inet6_skb_parm h6;\n\t} header;\n\tint (*finish)(struct net *, struct sock *, struct sk_buff *);\n\tstruct net *net;\n};\n\nstruct xfrm_trans_tasklet {\n\tstruct work_struct work;\n\tspinlock_t queue_lock;\n\tstruct sk_buff_head queue;\n};\n\nstruct xfrm_translator {\n\tint (*alloc_compat)(struct sk_buff *, const struct nlmsghdr *);\n\tstruct nlmsghdr * (*rcv_msg_compat)(const struct nlmsghdr *, int, const struct nla_policy *, struct netlink_ext_ack *);\n\tint (*xlate_user_policy_sockptr)(u8 **, int);\n\tstruct module *owner;\n};\n\nstruct xfrm_tunnel {\n\tint (*handler)(struct sk_buff *);\n\tint (*cb_handler)(struct sk_buff *, int);\n\tint (*err_handler)(struct sk_buff *, u32);\n\tstruct xfrm_tunnel *next;\n\tint priority;\n};\n\nstruct xfrm_type {\n\tstruct module *owner;\n\tu8 proto;\n\tu8 flags;\n\tint (*init_state)(struct xfrm_state *, struct netlink_ext_ack *);\n\tvoid (*destructor)(struct xfrm_state *);\n\tint (*input)(struct xfrm_state *, struct sk_buff *);\n\tint (*output)(struct xfrm_state *, struct sk_buff *);\n\tint (*reject)(struct xfrm_state *, struct sk_buff *, const struct flowi *);\n};\n\nstruct xfrm_type_offload {\n\tstruct module *owner;\n\tu8 proto;\n\tvoid (*encap)(struct xfrm_state *, struct sk_buff *);\n\tint (*input_tail)(struct xfrm_state *, struct sk_buff *);\n\tint (*xmit)(struct xfrm_state *, struct sk_buff *, netdev_features_t);\n};\n\nstruct xfrmk_sadinfo {\n\tu32 sadhcnt;\n\tu32 sadhmcnt;\n\tu32 sadcnt;\n};\n\nstruct xfrmk_spdinfo {\n\tu32 incnt;\n\tu32 outcnt;\n\tu32 fwdcnt;\n\tu32 inscnt;\n\tu32 outscnt;\n\tu32 fwdscnt;\n\tu32 spdhcnt;\n\tu32 spdhmcnt;\n};\n\nstruct xhci_bus_state {\n\tlong unsigned int bus_suspended;\n\tlong unsigned int next_statechange;\n\tu32 port_c_suspend;\n\tu32 suspended_ports;\n\tu32 port_remote_wakeup;\n\tlong unsigned int resuming_ports;\n};\n\nstruct xhci_bw_info {\n\tunsigned int ep_interval;\n\tunsigned int mult;\n\tunsigned int num_packets;\n\tunsigned int max_packet_size;\n\tunsigned int max_esit_payload;\n\tunsigned int type;\n};\n\nstruct xhci_cap_regs {\n\t__le32 hc_capbase;\n\t__le32 hcs_params1;\n\t__le32 hcs_params2;\n\t__le32 hcs_params3;\n\t__le32 hcc_params;\n\t__le32 db_off;\n\t__le32 run_regs_off;\n\t__le32 hcc_params2;\n};\n\nstruct xhci_container_ctx;\n\nstruct xhci_command {\n\tstruct xhci_container_ctx *in_ctx;\n\tu32 status;\n\tu32 comp_param;\n\tint slot_id;\n\tstruct completion *completion;\n\tunion xhci_trb *command_trb;\n\tstruct list_head cmd_list;\n\tunsigned int timeout_ms;\n};\n\nstruct xhci_container_ctx {\n\tunsigned int type;\n\tint size;\n\tu8 *bytes;\n\tdma_addr_t dma;\n};\n\nstruct xhci_erst_entry;\n\nstruct xhci_erst {\n\tstruct xhci_erst_entry *entries;\n\tunsigned int num_entries;\n\tdma_addr_t erst_dma_addr;\n};\n\nstruct xhci_hcd;\n\nstruct xhci_dbc {\n\tspinlock_t lock;\n\tstruct device *dev;\n\tstruct xhci_hcd *xhci;\n\tstruct dbc_regs *regs;\n\tstruct xhci_ring *ring_evt;\n\tstruct xhci_ring *ring_in;\n\tstruct xhci_ring *ring_out;\n\tstruct xhci_erst erst;\n\tstruct xhci_container_ctx *ctx;\n\tstruct dbc_str_descs *string;\n\tdma_addr_t string_dma;\n\tsize_t string_size;\n\tu16 idVendor;\n\tu16 idProduct;\n\tu16 bcdDevice;\n\tu8 bInterfaceProtocol;\n\tenum dbc_state state;\n\tstruct delayed_work event_work;\n\tunsigned int poll_interval;\n\tunsigned int resume_required: 1;\n\tstruct dbc_ep eps[2];\n\tconst struct dbc_driver *driver;\n\tvoid *priv;\n};\n\nstruct xhci_device_context_array {\n\t__le64 dev_context_ptrs[256];\n\tdma_addr_t dma;\n};\n\nstruct xhci_doorbell_array {\n\t__le32 doorbell[256];\n};\n\nstruct xhci_driver_overrides {\n\tsize_t extra_priv_size;\n\tint (*reset)(struct usb_hcd *);\n\tint (*start)(struct usb_hcd *);\n\tint (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *);\n\tint (*check_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tvoid (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);\n\tint (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t);\n\tint (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16);\n};\n\nstruct xhci_ep_ctx {\n\t__le32 ep_info;\n\t__le32 ep_info2;\n\t__le64 deq;\n\t__le32 tx_info;\n\t__le32 reserved[3];\n};\n\nstruct xhci_stream_info;\n\nstruct xhci_ep_priv {\n\tchar name[32];\n\tstruct dentry *root;\n\tstruct xhci_stream_info *stream_info;\n\tstruct xhci_ring *show_ring;\n\tunsigned int stream_id;\n};\n\nstruct xhci_erst_entry {\n\t__le64 seg_addr;\n\t__le32 seg_size;\n\t__le32 rsvd;\n};\n\nstruct xhci_event_cmd {\n\t__le64 cmd_trb;\n\t__le32 status;\n\t__le32 flags;\n};\n\nstruct xhci_file_map {\n\tconst char *name;\n\tint (*show)(struct seq_file *, void *);\n};\n\nstruct xhci_generic_trb {\n\t__le32 field[4];\n};\n\nstruct xhci_port;\n\nstruct xhci_hub {\n\tstruct xhci_port **ports;\n\tunsigned int num_ports;\n\tstruct usb_hcd *hcd;\n\tstruct xhci_bus_state bus_state;\n\tu8 maj_rev;\n\tu8 min_rev;\n};\n\nstruct xhci_op_regs;\n\nstruct xhci_run_regs;\n\nstruct xhci_interrupter;\n\nstruct xhci_scratchpad;\n\nstruct xhci_virt_device;\n\nstruct xhci_root_port_bw_info;\n\nstruct xhci_port_cap;\n\nstruct xhci_hcd {\n\tstruct usb_hcd *main_hcd;\n\tstruct usb_hcd *shared_hcd;\n\tstruct xhci_cap_regs *cap_regs;\n\tstruct xhci_op_regs *op_regs;\n\tstruct xhci_run_regs *run_regs;\n\tstruct xhci_doorbell_array *dba;\n\t__u32 hcs_params1;\n\t__u32 hcs_params2;\n\t__u32 hcs_params3;\n\t__u32 hcc_params;\n\t__u32 hcc_params2;\n\tspinlock_t lock;\n\tu16 hci_version;\n\tu16 max_interrupters;\n\tu32 imod_interval;\n\tint page_size;\n\tint page_shift;\n\tint nvecs;\n\tstruct clk *clk;\n\tstruct clk *reg_clk;\n\tstruct reset_control *reset;\n\tstruct xhci_device_context_array *dcbaa;\n\tstruct xhci_interrupter **interrupters;\n\tstruct xhci_ring *cmd_ring;\n\tunsigned int cmd_ring_state;\n\tstruct list_head cmd_list;\n\tunsigned int cmd_ring_reserved_trbs;\n\tstruct delayed_work cmd_timer;\n\tstruct completion cmd_ring_stop_completion;\n\tstruct xhci_command *current_cmd;\n\tstruct xhci_scratchpad *scratchpad;\n\tstruct mutex mutex;\n\tstruct xhci_virt_device *devs[256];\n\tstruct xhci_root_port_bw_info *rh_bw;\n\tstruct dma_pool *device_pool;\n\tstruct dma_pool *segment_pool;\n\tstruct dma_pool *small_streams_pool;\n\tstruct dma_pool *medium_streams_pool;\n\tunsigned int xhc_state;\n\tlong unsigned int run_graceperiod;\n\tstruct s3_save s3;\n\tlong long unsigned int quirks;\n\tunsigned int num_active_eps;\n\tunsigned int limit_active_eps;\n\tstruct xhci_port *hw_ports;\n\tstruct xhci_hub usb2_rhub;\n\tstruct xhci_hub usb3_rhub;\n\tunsigned int hw_lpm_support: 1;\n\tunsigned int broken_suspend: 1;\n\tunsigned int allow_single_roothub: 1;\n\tstruct xhci_port_cap *port_caps;\n\tunsigned int num_port_caps;\n\tstruct timer_list comp_mode_recovery_timer;\n\tu32 port_status_u0;\n\tu16 test_mode;\n\tstruct dentry *debugfs_root;\n\tstruct dentry *debugfs_slots;\n\tstruct list_head regset_list;\n\tvoid *dbc;\n\tlong unsigned int priv[0];\n};\n\nstruct xhci_input_control_ctx {\n\t__le32 drop_flags;\n\t__le32 add_flags;\n\t__le32 rsvd2[6];\n};\n\nstruct xhci_intr_reg;\n\nstruct xhci_interrupter {\n\tstruct xhci_ring *event_ring;\n\tstruct xhci_erst erst;\n\tstruct xhci_intr_reg *ir_set;\n\tunsigned int intr_num;\n\tbool ip_autoclear;\n\tu32 isoc_bei_interval;\n\tu32 s3_irq_pending;\n\tu32 s3_irq_control;\n\tu32 s3_erst_size;\n\tu64 s3_erst_base;\n\tu64 s3_erst_dequeue;\n};\n\nstruct xhci_interval_bw {\n\tunsigned int num_packets;\n\tstruct list_head endpoints;\n\tunsigned int overhead[3];\n};\n\nstruct xhci_interval_bw_table {\n\tunsigned int interval0_esit_payload;\n\tstruct xhci_interval_bw interval_bw[16];\n\tunsigned int bw_used;\n\tunsigned int ss_bw_in;\n\tunsigned int ss_bw_out;\n};\n\nstruct xhci_intr_reg {\n\t__le32 irq_pending;\n\t__le32 irq_control;\n\t__le32 erst_size;\n\t__le32 rsvd;\n\t__le64 erst_base;\n\t__le64 erst_dequeue;\n};\n\nstruct xhci_link_trb {\n\t__le64 segment_ptr;\n\t__le32 intr_target;\n\t__le32 control;\n};\n\nstruct xhci_op_regs {\n\t__le32 command;\n\t__le32 status;\n\t__le32 page_size;\n\t__le32 reserved1;\n\t__le32 reserved2;\n\t__le32 dev_notification;\n\t__le64 cmd_ring;\n\t__le32 reserved3[4];\n\t__le64 dcbaa_ptr;\n\t__le32 config_reg;\n\t__le32 reserved4[241];\n\t__le32 port_status_base;\n\t__le32 port_power_base;\n\t__le32 port_link_base;\n\t__le32 reserved5;\n\t__le32 reserved6[1016];\n};\n\nstruct xhci_plat_priv {\n\tconst char *firmware_name;\n\tlong long unsigned int quirks;\n\tvoid (*plat_start)(struct usb_hcd *);\n\tint (*init_quirk)(struct usb_hcd *);\n\tint (*suspend_quirk)(struct usb_hcd *);\n\tint (*resume_quirk)(struct usb_hcd *);\n};\n\nstruct xhci_port {\n\t__le32 *addr;\n\tint hw_portnum;\n\tint hcd_portnum;\n\tstruct xhci_hub *rhub;\n\tstruct xhci_port_cap *port_cap;\n\tunsigned int lpm_incapable: 1;\n\tlong unsigned int resume_timestamp;\n\tbool rexit_active;\n\tint slot_id;\n\tstruct completion rexit_done;\n\tstruct completion u3exit_done;\n};\n\nstruct xhci_port_cap {\n\tu32 *psi;\n\tu8 psi_count;\n\tu8 psi_uid_count;\n\tu8 maj_rev;\n\tu8 min_rev;\n\tu32 protocol_caps;\n};\n\nstruct xhci_regset {\n\tchar name[32];\n\tstruct debugfs_regset32 regset;\n\tsize_t nregs;\n\tstruct list_head list;\n};\n\nstruct xhci_ring {\n\tstruct xhci_segment *first_seg;\n\tstruct xhci_segment *last_seg;\n\tunion xhci_trb *enqueue;\n\tstruct xhci_segment *enq_seg;\n\tunion xhci_trb *dequeue;\n\tstruct xhci_segment *deq_seg;\n\tstruct list_head td_list;\n\tu32 cycle_state;\n\tunsigned int stream_id;\n\tunsigned int num_segs;\n\tunsigned int num_trbs_free;\n\tunsigned int bounce_buf_len;\n\tenum xhci_ring_type type;\n\tbool last_td_was_short;\n\tstruct xarray *trb_address_map;\n};\n\nstruct xhci_root_port_bw_info {\n\tstruct list_head tts;\n\tunsigned int num_active_tts;\n\tstruct xhci_interval_bw_table bw_table;\n};\n\nstruct xhci_run_regs {\n\t__le32 microframe_index;\n\t__le32 rsvd[7];\n\tstruct xhci_intr_reg ir_set[128];\n};\n\nstruct xhci_scratchpad {\n\tu64 *sp_array;\n\tdma_addr_t sp_dma;\n\tvoid **sp_buffers;\n};\n\nstruct xhci_segment {\n\tunion xhci_trb *trbs;\n\tstruct xhci_segment *next;\n\tunsigned int num;\n\tdma_addr_t dma;\n\tdma_addr_t bounce_dma;\n\tvoid *bounce_buf;\n\tunsigned int bounce_offs;\n\tunsigned int bounce_len;\n};\n\nstruct xhci_slot_ctx {\n\t__le32 dev_info;\n\t__le32 dev_info2;\n\t__le32 tt_info;\n\t__le32 dev_state;\n\t__le32 reserved[4];\n};\n\nstruct xhci_slot_priv {\n\tchar name[32];\n\tstruct dentry *root;\n\tstruct xhci_ep_priv *eps[31];\n\tstruct xhci_virt_device *dev;\n};\n\nstruct xhci_stream_ctx {\n\t__le64 stream_ring;\n\t__le32 reserved[2];\n};\n\nstruct xhci_stream_info {\n\tstruct xhci_ring **stream_rings;\n\tunsigned int num_streams;\n\tstruct xhci_stream_ctx *stream_ctx_array;\n\tunsigned int num_stream_ctxs;\n\tdma_addr_t ctx_array_dma;\n\tstruct xarray trb_address_map;\n\tstruct xhci_command *free_streams_command;\n};\n\nstruct xhci_transfer_event {\n\t__le64 buffer;\n\t__le32 transfer_len;\n\t__le32 flags;\n};\n\nunion xhci_trb {\n\tstruct xhci_link_trb link;\n\tstruct xhci_transfer_event trans_event;\n\tstruct xhci_event_cmd event_cmd;\n\tstruct xhci_generic_trb generic;\n};\n\nstruct xhci_tt_bw_info {\n\tstruct list_head tt_list;\n\tint slot_id;\n\tint ttport;\n\tstruct xhci_interval_bw_table bw_table;\n\tint active_eps;\n};\n\nstruct xhci_virt_ep {\n\tstruct xhci_virt_device *vdev;\n\tunsigned int ep_index;\n\tstruct xhci_ring *ring;\n\tstruct xhci_stream_info *stream_info;\n\tstruct xhci_ring *new_ring;\n\tunsigned int err_count;\n\tunsigned int ep_state;\n\tstruct list_head cancelled_td_list;\n\tstruct xhci_hcd *xhci;\n\tstruct xhci_segment *queued_deq_seg;\n\tunion xhci_trb *queued_deq_ptr;\n\tbool skip;\n\tstruct xhci_bw_info bw_info;\n\tstruct list_head bw_endpoint_list;\n\tlong unsigned int stop_time;\n\tint next_frame_id;\n\tbool use_extended_tbc;\n};\n\nstruct xhci_virt_device {\n\tint slot_id;\n\tstruct usb_device *udev;\n\tstruct xhci_container_ctx *out_ctx;\n\tstruct xhci_container_ctx *in_ctx;\n\tstruct xhci_virt_ep eps[31];\n\tstruct xhci_port *rhub_port;\n\tstruct xhci_interval_bw_table *bw_table;\n\tstruct xhci_tt_bw_info *tt_info;\n\tlong unsigned int flags;\n\tu16 current_mel;\n\tvoid *debugfs_private;\n};\n\nstruct xilinx_pcie {\n\tstruct device *dev;\n\tvoid *reg_base;\n\tlong unsigned int msi_map[2];\n\tstruct mutex map_lock;\n\tstruct irq_domain *msi_domain;\n\tstruct irq_domain *leg_domain;\n\tstruct list_head resources;\n};\n\nstruct xol_area {\n\twait_queue_head_t wq;\n\tlong unsigned int *bitmap;\n\tstruct page *page;\n\tlong unsigned int vaddr;\n};\n\nstruct xprt_addr {\n\tconst char *addr;\n\tstruct callback_head rcu;\n};\n\nstruct xprt_create;\n\nstruct xprt_class {\n\tstruct list_head list;\n\tint ident;\n\tstruct rpc_xprt * (*setup)(struct xprt_create *);\n\tstruct module *owner;\n\tchar name[32];\n\tconst char *netid[0];\n};\n\nstruct xprt_create {\n\tint ident;\n\tstruct net *net;\n\tstruct sockaddr *srcaddr;\n\tstruct sockaddr *dstaddr;\n\tsize_t addrlen;\n\tconst char *servername;\n\tstruct svc_xprt *bc_xprt;\n\tstruct rpc_xprt_switch *bc_xps;\n\tunsigned int flags;\n\tstruct xprtsec_parms xprtsec;\n\tlong unsigned int connect_timeout;\n\tlong unsigned int reconnect_timeout;\n};\n\nstruct xps_map;\n\nstruct xps_dev_maps {\n\tstruct callback_head rcu;\n\tunsigned int nr_ids;\n\ts16 num_tc;\n\tstruct xps_map *attr_map[0];\n};\n\nstruct xps_map {\n\tunsigned int len;\n\tunsigned int alloc_len;\n\tstruct callback_head rcu;\n\tu16 queues[0];\n};\n\nstruct xsk_buff_pool {\n\tstruct device *dev;\n\tstruct net_device *netdev;\n\tstruct list_head xsk_tx_list;\n\tspinlock_t xsk_tx_list_lock;\n\trefcount_t users;\n\tstruct xdp_umem *umem;\n\tstruct work_struct work;\n\tstruct list_head free_list;\n\tstruct list_head xskb_list;\n\tu32 heads_cnt;\n\tu16 queue_id;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tlong: 64;\n\tstruct xsk_queue *fq;\n\tstruct xsk_queue *cq;\n\tdma_addr_t *dma_pages;\n\tstruct xdp_buff_xsk *heads;\n\tstruct xdp_desc *tx_descs;\n\tu64 chunk_mask;\n\tu64 addrs_cnt;\n\tu32 free_list_cnt;\n\tu32 dma_pages_cnt;\n\tu32 free_heads_cnt;\n\tu32 headroom;\n\tu32 chunk_size;\n\tu32 chunk_shift;\n\tu32 frame_len;\n\tu32 xdp_zc_max_segs;\n\tu8 tx_metadata_len;\n\tu8 cached_need_wakeup;\n\tbool uses_need_wakeup;\n\tbool unaligned;\n\tbool tx_sw_csum;\n\tvoid *addrs;\n\tspinlock_t cq_lock;\n\tstruct xdp_buff_xsk *free_heads[0];\n};\n\nstruct xsk_tx_metadata_ops {\n\tvoid (*tmo_request_timestamp)(void *);\n\tu64 (*tmo_fill_timestamp)(void *);\n\tvoid (*tmo_request_checksum)(u16, u16, void *);\n};\n\nstruct xxh32_state {\n\tuint32_t total_len_32;\n\tuint32_t large_len;\n\tuint32_t v1;\n\tuint32_t v2;\n\tuint32_t v3;\n\tuint32_t v4;\n\tuint32_t mem32[4];\n\tuint32_t memsize;\n};\n\nstruct xz_buf {\n\tconst uint8_t *in;\n\tsize_t in_pos;\n\tsize_t in_size;\n\tuint8_t *out;\n\tsize_t out_pos;\n\tsize_t out_size;\n};\n\nstruct xz_dec_hash {\n\tvli_type unpadded;\n\tvli_type uncompressed;\n\tuint32_t crc32;\n};\n\nstruct xz_dec_lzma2;\n\nstruct xz_dec_bcj;\n\nstruct xz_dec {\n\tenum {\n\t\tSEQ_STREAM_HEADER = 0,\n\t\tSEQ_BLOCK_START = 1,\n\t\tSEQ_BLOCK_HEADER = 2,\n\t\tSEQ_BLOCK_UNCOMPRESS = 3,\n\t\tSEQ_BLOCK_PADDING = 4,\n\t\tSEQ_BLOCK_CHECK = 5,\n\t\tSEQ_INDEX = 6,\n\t\tSEQ_INDEX_PADDING = 7,\n\t\tSEQ_INDEX_CRC32 = 8,\n\t\tSEQ_STREAM_FOOTER = 9,\n\t} sequence;\n\tuint32_t pos;\n\tvli_type vli;\n\tsize_t in_start;\n\tsize_t out_start;\n\tuint32_t crc32;\n\tenum xz_check check_type;\n\tenum xz_mode mode;\n\tbool allow_buf_error;\n\tstruct {\n\t\tvli_type compressed;\n\t\tvli_type uncompressed;\n\t\tuint32_t size;\n\t} block_header;\n\tstruct {\n\t\tvli_type compressed;\n\t\tvli_type uncompressed;\n\t\tvli_type count;\n\t\tstruct xz_dec_hash hash;\n\t} block;\n\tstruct {\n\t\tenum {\n\t\t\tSEQ_INDEX_COUNT = 0,\n\t\t\tSEQ_INDEX_UNPADDED = 1,\n\t\t\tSEQ_INDEX_UNCOMPRESSED = 2,\n\t\t} sequence;\n\t\tvli_type size;\n\t\tvli_type count;\n\t\tstruct xz_dec_hash hash;\n\t} index;\n\tstruct {\n\t\tsize_t pos;\n\t\tsize_t size;\n\t\tuint8_t buf[1024];\n\t} temp;\n\tstruct xz_dec_lzma2 *lzma2;\n\tstruct xz_dec_bcj *bcj;\n\tbool bcj_active;\n};\n\nstruct xz_dec_bcj {\n\tenum {\n\t\tBCJ_X86 = 4,\n\t\tBCJ_POWERPC = 5,\n\t\tBCJ_IA64 = 6,\n\t\tBCJ_ARM = 7,\n\t\tBCJ_ARMTHUMB = 8,\n\t\tBCJ_SPARC = 9,\n\t\tBCJ_ARM64 = 10,\n\t\tBCJ_RISCV = 11,\n\t} type;\n\tenum xz_ret ret;\n\tbool single_call;\n\tuint32_t pos;\n\tuint32_t x86_prev_mask;\n\tuint8_t *out;\n\tsize_t out_pos;\n\tsize_t out_size;\n\tstruct {\n\t\tsize_t filtered;\n\t\tsize_t size;\n\t\tuint8_t buf[16];\n\t} temp;\n};\n\nstruct xz_dec_lzma2 {\n\tstruct rc_dec rc;\n\tstruct dictionary dict;\n\tstruct lzma2_dec lzma2;\n\tstruct lzma_dec lzma;\n\tstruct {\n\t\tuint32_t size;\n\t\tuint8_t buf[63];\n\t} temp;\n};\n\nstruct yt8521_priv {\n\tlong unsigned int combo_advertising[2];\n\tu8 polling_mode;\n\tu8 strap_mode;\n\tu8 reg_page;\n};\n\nstruct ytphy_cfg_reg_map {\n\tu32 cfg;\n\tu32 reg;\n};\n\nstruct ytphy_ldo_vol_map {\n\tu32 vol;\n\tu32 ds;\n\tu32 cur;\n};\n\nstruct z_stream_s {\n\tconst Byte *next_in;\n\tuLong avail_in;\n\tuLong total_in;\n\tByte *next_out;\n\tuLong avail_out;\n\tuLong total_out;\n\tchar *msg;\n\tstruct internal_state *state;\n\tvoid *workspace;\n\tint data_type;\n\tuLong adler;\n\tuLong reserved;\n};\n\ntypedef struct z_stream_s z_stream;\n\ntypedef z_stream *z_streamp;\n\nstruct zap_details {\n\tstruct folio *single_folio;\n\tbool even_cows;\n\tbool reclaim_pt;\n\tzap_flags_t zap_flags;\n};\n\ntypedef size_t (*ZSTD_blockCompressor)(ZSTD_matchState_t *, seqStore_t *, U32 *, const void *, size_t);\n\ntypedef U32 (*ZSTD_getAllMatchesFn)(ZSTD_match_t *, ZSTD_matchState_t *, U32 *, const BYTE *, const BYTE *, const U32 *, const U32, const U32);\n\ntypedef size_t (*ZSTD_sequenceCopier)(ZSTD_CCtx *, ZSTD_sequencePosition *, const ZSTD_Sequence * const, size_t, const void *, size_t);\n\ntypedef u32 (*acpi_event_handler)(void *);\n\ntypedef acpi_status (*acpi_exception_handler)(acpi_status, acpi_name, u16, u32, void *);\n\ntypedef acpi_status (*acpi_execute_op)(struct acpi_walk_state *);\n\ntypedef void (*acpi_gbl_event_handler)(u32, acpi_handle, u32, void *);\n\ntypedef acpi_status (*acpi_init_handler)(acpi_handle, u32);\n\ntypedef u32 (*acpi_interface_handler)(acpi_string, u32);\n\ntypedef u32 (*acpi_osd_handler)(void *);\n\ntypedef acpi_status (*acpi_pkg_callback)(u8, union acpi_operand_object *, union acpi_generic_state *, void *);\n\ntypedef acpi_status (*acpi_table_handler)(u32, void *, void *);\n\ntypedef acpi_status (*acpi_walk_aml_callback)(u8 *, u32, u32, u8, void **);\n\ntypedef acpi_status (*acpi_walk_resource_callback)(struct acpi_resource *, void *);\n\ntypedef int (*arch_set_vga_state_t)(struct pci_dev *, bool, unsigned int, u32);\n\ntypedef unsigned int (*ata_xlat_func_t)(struct ata_queued_cmd *);\n\ntypedef int (*bpf_aux_classic_check_t)(struct sock_filter *, unsigned int);\n\ntypedef u32 (*bpf_convert_ctx_access_t)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *);\n\ntypedef long unsigned int (*bpf_ctx_copy_t)(void *, const void *, long unsigned int, long unsigned int);\n\ntypedef unsigned int (*bpf_dispatcher_fn)(const void *, const struct bpf_insn *, unsigned int (*)(const void *, const struct bpf_insn *));\n\ntypedef unsigned int (*bpf_func_t)(const void *, const struct bpf_insn *);\n\ntypedef int (*bpf_op_t)(struct net_device *, struct netdev_bpf *);\n\ntypedef u32 (*bpf_prog_run_fn)(const struct bpf_prog *, const void *);\n\ntypedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int);\n\ntypedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int);\n\ntypedef u64 (*btf_bpf_cgrp_storage_delete)(struct bpf_map *, struct cgroup *);\n\ntypedef u64 (*btf_bpf_cgrp_storage_get)(struct bpf_map *, struct cgroup *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_copy_from_user)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_copy_from_user_task)(void *, u32, const void *, struct task_struct *, u64);\n\ntypedef u64 (*btf_bpf_csum_diff)(__be32 *, u32, __be32 *, u32, __wsum);\n\ntypedef u64 (*btf_bpf_csum_level)(struct sk_buff *, u64);\n\ntypedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum);\n\ntypedef u64 (*btf_bpf_current_task_under_cgroup)(struct bpf_map *, u32);\n\ntypedef u64 (*btf_bpf_d_path)(struct path *, char *, u32);\n\ntypedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32);\n\ntypedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *);\n\ntypedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64);\n\ntypedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_find_vma)(struct task_struct *, u64, bpf_callback_t, void *, u64);\n\ntypedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_trace)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_tracing)(void *);\n\ntypedef u64 (*btf_bpf_get_attach_cookie_uprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_branch_snapshot)(void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_cgroup_classid)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_cgroup_classid_curr)(void);\n\ntypedef u64 (*btf_bpf_get_current_ancestor_cgroup_id)(int);\n\ntypedef u64 (*btf_bpf_get_current_cgroup_id)(void);\n\ntypedef u64 (*btf_bpf_get_current_comm)(char *, u32);\n\ntypedef u64 (*btf_bpf_get_current_pid_tgid)(void);\n\ntypedef u64 (*btf_bpf_get_current_task)(void);\n\ntypedef u64 (*btf_bpf_get_current_task_btf)(void);\n\ntypedef u64 (*btf_bpf_get_current_uid_gid)(void);\n\ntypedef u64 (*btf_bpf_get_func_ip_kprobe)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_func_ip_kprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_func_ip_tracing)(void *);\n\ntypedef u64 (*btf_bpf_get_func_ip_uprobe_multi)(struct pt_regs *);\n\ntypedef u64 (*btf_bpf_get_hash_recalc)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_listener_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_local_storage)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_netns_cookie)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sk_msg)(struct sk_msg *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock_addr)(struct bpf_sock_addr_kern *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sock_ops)(struct bpf_sock_ops_kern *);\n\ntypedef u64 (*btf_bpf_get_netns_cookie_sockopt)(struct bpf_sockopt_kern *);\n\ntypedef u64 (*btf_bpf_get_ns_current_pid_tgid)(u64, u64, struct bpf_pidns_info *, u32);\n\ntypedef u64 (*btf_bpf_get_numa_node_id)(void);\n\ntypedef u64 (*btf_bpf_get_raw_cpu_id)(void);\n\ntypedef u64 (*btf_bpf_get_retval)(void);\n\ntypedef u64 (*btf_bpf_get_route_realm)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_smp_processor_id)(void);\n\ntypedef u64 (*btf_bpf_get_socket_cookie)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock_addr)(struct bpf_sock_addr_kern *);\n\ntypedef u64 (*btf_bpf_get_socket_cookie_sock_ops)(struct bpf_sock_ops_kern *);\n\ntypedef u64 (*btf_bpf_get_socket_ptr_cookie)(struct sock *);\n\ntypedef u64 (*btf_bpf_get_socket_uid)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_get_stack)(struct pt_regs *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_pe)(struct bpf_perf_event_data_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_raw_tp)(struct bpf_raw_tracepoint_args *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_sleepable)(struct pt_regs *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stack_tp)(void *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_stackid)(struct pt_regs *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_pe)(struct bpf_perf_event_data_kern *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_stackid_tp)(void *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_jiffies64)(void);\n\ntypedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *);\n\ntypedef u64 (*btf_bpf_kptr_xchg)(void *, void *);\n\ntypedef u64 (*btf_bpf_ktime_get_boot_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_coarse_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_ns)(void);\n\ntypedef u64 (*btf_bpf_ktime_get_tai_ns)(void);\n\ntypedef u64 (*btf_bpf_l3_csum_replace)(struct sk_buff *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_l4_csum_replace)(struct sk_buff *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_loop)(u32, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_lwt_in_push_encap)(struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_lwt_xmit_push_encap)(struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_map_delete_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_lookup_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_lookup_percpu_elem)(struct bpf_map *, void *, u32);\n\ntypedef u64 (*btf_bpf_map_peek_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_pop_elem)(struct bpf_map *, void *);\n\ntypedef u64 (*btf_bpf_map_push_elem)(struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_map_update_elem)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_msg_apply_bytes)(struct sk_msg *, u32);\n\ntypedef u64 (*btf_bpf_msg_cork_bytes)(struct sk_msg *, u32);\n\ntypedef u64 (*btf_bpf_msg_pop_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_pull_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_push_data)(struct sk_msg *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_msg_redirect_hash)(struct sk_msg *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_msg_redirect_map)(struct sk_msg *, struct bpf_map *, u32, u64);\n\ntypedef u64 (*btf_bpf_per_cpu_ptr)(const void *, u32);\n\ntypedef u64 (*btf_bpf_perf_event_output)(struct pt_regs *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_output_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_output_tp)(void *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_read)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_perf_event_read_value)(struct bpf_map *, u64, struct bpf_perf_event_value *, u32);\n\ntypedef u64 (*btf_bpf_perf_prog_read_value)(struct bpf_perf_event_data_kern *, struct bpf_perf_event_value *, u32);\n\ntypedef u64 (*btf_bpf_probe_read_compat)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_compat_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_kernel)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_kernel_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_user)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_read_user_str)(void *, u32, const void *);\n\ntypedef u64 (*btf_bpf_probe_write_user)(void *, const void *, u32);\n\ntypedef u64 (*btf_bpf_read_branch_records)(struct bpf_perf_event_data_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_redirect)(u32, u64);\n\ntypedef u64 (*btf_bpf_redirect_neigh)(u32, struct bpf_redir_neigh *, int, u64);\n\ntypedef u64 (*btf_bpf_redirect_peer)(u32, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_discard)(void *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_discard_dynptr)(struct bpf_dynptr_kern *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_output)(struct bpf_map *, void *, u64, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_query)(struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_reserve)(struct bpf_map *, u64, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_reserve_dynptr)(struct bpf_map *, u32, u64, struct bpf_dynptr_kern *);\n\ntypedef u64 (*btf_bpf_ringbuf_submit)(void *, u64);\n\ntypedef u64 (*btf_bpf_ringbuf_submit_dynptr)(struct bpf_dynptr_kern *, u64);\n\ntypedef u64 (*btf_bpf_send_signal)(u32);\n\ntypedef u64 (*btf_bpf_send_signal_thread)(u32);\n\ntypedef u64 (*btf_bpf_seq_printf)(struct seq_file *, char *, u32, const void *, u32);\n\ntypedef u64 (*btf_bpf_seq_printf_btf)(struct seq_file *, struct btf_ptr *, u32, u64);\n\ntypedef u64 (*btf_bpf_seq_write)(struct seq_file *, const void *, u32);\n\ntypedef u64 (*btf_bpf_set_hash)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_set_hash_invalid)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_set_retval)(int);\n\ntypedef u64 (*btf_bpf_sk_ancestor_cgroup_id)(struct sock *, int);\n\ntypedef u64 (*btf_bpf_sk_assign)(struct sk_buff *, struct sock *, u64);\n\ntypedef u64 (*btf_bpf_sk_cgroup_id)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_fullsock)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_getsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sk_lookup_assign)(struct bpf_sk_lookup_kern *, struct sock *, u64);\n\ntypedef u64 (*btf_bpf_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sk_redirect_hash)(struct sk_buff *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sk_redirect_map)(struct sk_buff *, struct bpf_map *, u32, u64);\n\ntypedef u64 (*btf_bpf_sk_release)(struct sock *);\n\ntypedef u64 (*btf_bpf_sk_setsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sk_storage_delete)(struct bpf_map *, struct sock *);\n\ntypedef u64 (*btf_bpf_sk_storage_delete_tracing)(struct bpf_map *, struct sock *);\n\ntypedef u64 (*btf_bpf_sk_storage_get)(struct bpf_map *, struct sock *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_sk_storage_get_tracing)(struct bpf_map *, struct sock *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_skb_adjust_room)(struct sk_buff *, s32, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_ancestor_cgroup_id)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_cgroup_classid)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_cgroup_id)(const struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_change_head)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_change_proto)(struct sk_buff *, __be16, u64);\n\ntypedef u64 (*btf_bpf_skb_change_tail)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_change_type)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_skb_check_mtu)(struct sk_buff *, u32, u32 *, s32, u64);\n\ntypedef u64 (*btf_bpf_skb_ecn_set_ce)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_event_output)(struct sk_buff *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_skb_fib_lookup)(struct sk_buff *, struct bpf_fib_lookup *, int, u32);\n\ntypedef u64 (*btf_bpf_skb_get_nlattr)(struct sk_buff *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_get_nlattr_nest)(struct sk_buff *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_get_pay_offset)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_get_tunnel_key)(struct sk_buff *, struct bpf_tunnel_key *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_get_tunnel_opt)(struct sk_buff *, u8 *, u32);\n\ntypedef u64 (*btf_bpf_skb_get_xfrm_state)(struct sk_buff *, u32, struct bpf_xfrm_state *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_load_bytes)(const struct sk_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_skb_load_bytes_relative)(const struct sk_buff *, u32, void *, u32, u32);\n\ntypedef u64 (*btf_bpf_skb_load_helper_16)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_16_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_32)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_32_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_8)(const struct sk_buff *, const void *, int, int);\n\ntypedef u64 (*btf_bpf_skb_load_helper_8_no_cache)(const struct sk_buff *, int);\n\ntypedef u64 (*btf_bpf_skb_pull_data)(struct sk_buff *, u32);\n\ntypedef u64 (*btf_bpf_skb_set_tstamp)(struct sk_buff *, u64, u32);\n\ntypedef u64 (*btf_bpf_skb_set_tunnel_key)(struct sk_buff *, const struct bpf_tunnel_key *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_set_tunnel_opt)(struct sk_buff *, const u8 *, u32);\n\ntypedef u64 (*btf_bpf_skb_store_bytes)(struct sk_buff *, u32, const void *, u32, u64);\n\ntypedef u64 (*btf_bpf_skb_under_cgroup)(struct sk_buff *, struct bpf_map *, u32);\n\ntypedef u64 (*btf_bpf_skb_vlan_pop)(struct sk_buff *);\n\ntypedef u64 (*btf_bpf_skb_vlan_push)(struct sk_buff *, __be16, u16);\n\ntypedef u64 (*btf_bpf_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_skc_to_mptcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp6_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_request_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_tcp_timewait_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_udp6_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_skc_to_unix_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_snprintf)(char *, u32, char *, const void *, u32);\n\ntypedef u64 (*btf_bpf_snprintf_btf)(char *, u32, struct btf_ptr *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_getsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_addr_setsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_addr_sk_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_sock_from_file)(struct file *);\n\ntypedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sock_map_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_cb_flags_set)(struct bpf_sock_ops_kern *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_getsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_load_hdr_opt)(struct bpf_sock_ops_kern *, void *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_reserve_hdr_opt)(struct bpf_sock_ops_kern *, u32, u64);\n\ntypedef u64 (*btf_bpf_sock_ops_setsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_sock_ops_store_hdr_opt)(struct bpf_sock_ops_kern *, const void *, u32, u64);\n\ntypedef u64 (*btf_bpf_spin_lock)(struct bpf_spin_lock *);\n\ntypedef u64 (*btf_bpf_spin_unlock)(struct bpf_spin_lock *);\n\ntypedef u64 (*btf_bpf_strncmp)(const char *, u32, const char *);\n\ntypedef u64 (*btf_bpf_strtol)(const char *, size_t, u64, s64 *);\n\ntypedef u64 (*btf_bpf_strtoul)(const char *, size_t, u64, u64 *);\n\ntypedef u64 (*btf_bpf_sys_bpf)(int, union bpf_attr *, u32);\n\ntypedef u64 (*btf_bpf_sys_close)(u32);\n\ntypedef u64 (*btf_bpf_sysctl_get_current_value)(struct bpf_sysctl_kern *, char *, size_t);\n\ntypedef u64 (*btf_bpf_sysctl_get_name)(struct bpf_sysctl_kern *, char *, size_t, u64);\n\ntypedef u64 (*btf_bpf_sysctl_get_new_value)(struct bpf_sysctl_kern *, char *, size_t);\n\ntypedef u64 (*btf_bpf_sysctl_set_new_value)(struct bpf_sysctl_kern *, const char *, size_t);\n\ntypedef u64 (*btf_bpf_task_pt_regs)(struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_delete)(struct bpf_map *, struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_delete_recur)(struct bpf_map *, struct task_struct *);\n\ntypedef u64 (*btf_bpf_task_storage_get)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_task_storage_get_recur)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t);\n\ntypedef u64 (*btf_bpf_tc_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tc_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tc_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64);\n\ntypedef u64 (*btf_bpf_tcp_check_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_gen_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32);\n\ntypedef u64 (*btf_bpf_tcp_sock)(struct sock *);\n\ntypedef u64 (*btf_bpf_this_cpu_ptr)(const void *);\n\ntypedef u64 (*btf_bpf_timer_cancel)(struct bpf_async_kern *);\n\ntypedef u64 (*btf_bpf_timer_init)(struct bpf_async_kern *, struct bpf_map *, u64);\n\ntypedef u64 (*btf_bpf_timer_set_callback)(struct bpf_async_kern *, void *, struct bpf_prog_aux *);\n\ntypedef u64 (*btf_bpf_timer_start)(struct bpf_async_kern *, u64, u64);\n\ntypedef u64 (*btf_bpf_trace_printk)(char *, u32, u64, u64, u64);\n\ntypedef u64 (*btf_bpf_trace_vprintk)(char *, u32, const void *, u32);\n\ntypedef u64 (*btf_bpf_unlocked_sk_getsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_unlocked_sk_setsockopt)(struct sock *, int, int, char *, int);\n\ntypedef u64 (*btf_bpf_user_ringbuf_drain)(struct bpf_map *, void *, void *, u64);\n\ntypedef u64 (*btf_bpf_user_rnd_u32)(void);\n\ntypedef u64 (*btf_bpf_xdp_adjust_head)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_adjust_meta)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_adjust_tail)(struct xdp_buff *, int);\n\ntypedef u64 (*btf_bpf_xdp_check_mtu)(struct xdp_buff *, u32, u32 *, s32, u64);\n\ntypedef u64 (*btf_bpf_xdp_event_output)(struct xdp_buff *, struct bpf_map *, u64, void *, u64);\n\ntypedef u64 (*btf_bpf_xdp_fib_lookup)(struct xdp_buff *, struct bpf_fib_lookup *, int, u32);\n\ntypedef u64 (*btf_bpf_xdp_get_buff_len)(struct xdp_buff *);\n\ntypedef u64 (*btf_bpf_xdp_load_bytes)(struct xdp_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_bpf_xdp_redirect)(u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_redirect_map)(struct bpf_map *, u64, u64);\n\ntypedef u64 (*btf_bpf_xdp_sk_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_sk_lookup_udp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_skc_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64);\n\ntypedef u64 (*btf_bpf_xdp_store_bytes)(struct xdp_buff *, u32, void *, u32);\n\ntypedef u64 (*btf_get_func_arg)(void *, u32, u64 *);\n\ntypedef u64 (*btf_get_func_arg_cnt)(void *);\n\ntypedef u64 (*btf_get_func_ret)(void *, u64 *);\n\ntypedef u64 (*btf_sk_reuseport_load_bytes)(const struct sk_reuseport_kern *, u32, void *, u32);\n\ntypedef u64 (*btf_sk_reuseport_load_bytes_relative)(const struct sk_reuseport_kern *, u32, void *, u32, u32);\n\ntypedef u64 (*btf_sk_select_reuseport)(struct sk_reuseport_kern *, struct bpf_map *, void *, u32);\n\ntypedef u64 (*btf_sk_skb_adjust_room)(struct sk_buff *, s32, u32, u64);\n\ntypedef u64 (*btf_sk_skb_change_head)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_sk_skb_change_tail)(struct sk_buff *, u32, u64);\n\ntypedef u64 (*btf_sk_skb_pull_data)(struct sk_buff *, u32);\n\ntypedef void (*btf_trace_9p_client_req)(void *, struct p9_client *, int8_t, int);\n\ntypedef void (*btf_trace_9p_client_res)(void *, struct p9_client *, int8_t, int, int);\n\ntypedef void (*btf_trace_9p_fid_ref)(void *, struct p9_fid *, __u8);\n\ntypedef void (*btf_trace_9p_protocol_dump)(void *, struct p9_client *, struct p9_fcall *);\n\ntypedef void (*btf_trace_add_device_to_group)(void *, int, struct device *);\n\ntypedef void (*btf_trace_alarmtimer_cancel)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_fired)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_start)(void *, struct alarm *, ktime_t);\n\ntypedef void (*btf_trace_alarmtimer_suspend)(void *, ktime_t, int);\n\ntypedef void (*btf_trace_alloc_vmap_area)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_ata_bmdma_setup)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_start)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_status)(void *, struct ata_port *, unsigned int);\n\ntypedef void (*btf_trace_ata_bmdma_stop)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_about_to_do)(void *, struct ata_link *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_done)(void *, struct ata_link *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_link_autopsy)(void *, struct ata_device *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_eh_link_autopsy_qc)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_exec_command)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int);\n\ntypedef void (*btf_trace_ata_link_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_link_hardreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_link_postreset)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_link_softreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_link_softreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_port_freeze)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_port_thaw)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_qc_complete_done)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_complete_failed)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_complete_internal)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_issue)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_qc_prep)(void *, struct ata_queued_cmd *);\n\ntypedef void (*btf_trace_ata_sff_flush_pio_task)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_sff_hsm_command_complete)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_sff_hsm_state)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_sff_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ata_sff_port_intr)(void *, struct ata_queued_cmd *, unsigned char);\n\ntypedef void (*btf_trace_ata_slave_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int);\n\ntypedef void (*btf_trace_ata_slave_hardreset_end)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_slave_postreset)(void *, struct ata_link *, unsigned int *, int);\n\ntypedef void (*btf_trace_ata_std_sched_eh)(void *, struct ata_port *);\n\ntypedef void (*btf_trace_ata_tf_load)(void *, struct ata_port *, const struct ata_taskfile *);\n\ntypedef void (*btf_trace_atapi_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_atapi_send_cdb)(void *, struct ata_queued_cmd *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_attach_device_to_domain)(void *, struct device *);\n\ntypedef void (*btf_trace_balance_dirty_pages)(void *, struct bdi_writeback *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long int, long unsigned int);\n\ntypedef void (*btf_trace_bdi_dirty_ratelimit)(void *, struct bdi_writeback *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_bl_pr_key_reg)(void *, const struct block_device *, u64);\n\ntypedef void (*btf_trace_bl_pr_key_reg_err)(void *, const struct block_device *, u64, int);\n\ntypedef void (*btf_trace_bl_pr_key_unreg)(void *, const struct block_device *, u64);\n\ntypedef void (*btf_trace_bl_pr_key_unreg_err)(void *, const struct block_device *, u64, int);\n\ntypedef void (*btf_trace_block_bio_backmerge)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_bounce)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_complete)(void *, struct request_queue *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_frontmerge)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_queue)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_bio_remap)(void *, struct bio *, dev_t, sector_t);\n\ntypedef void (*btf_trace_block_dirty_buffer)(void *, struct buffer_head *);\n\ntypedef void (*btf_trace_block_getrq)(void *, struct bio *);\n\ntypedef void (*btf_trace_block_io_done)(void *, struct request *);\n\ntypedef void (*btf_trace_block_io_start)(void *, struct request *);\n\ntypedef void (*btf_trace_block_plug)(void *, struct request_queue *);\n\ntypedef void (*btf_trace_block_rq_complete)(void *, struct request *, blk_status_t, unsigned int);\n\ntypedef void (*btf_trace_block_rq_error)(void *, struct request *, blk_status_t, unsigned int);\n\ntypedef void (*btf_trace_block_rq_insert)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_issue)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_merge)(void *, struct request *);\n\ntypedef void (*btf_trace_block_rq_remap)(void *, struct request *, dev_t, sector_t);\n\ntypedef void (*btf_trace_block_rq_requeue)(void *, struct request *);\n\ntypedef void (*btf_trace_block_split)(void *, struct bio *, unsigned int);\n\ntypedef void (*btf_trace_block_touch_buffer)(void *, struct buffer_head *);\n\ntypedef void (*btf_trace_block_unplug)(void *, struct request_queue *, unsigned int, bool);\n\ntypedef void (*btf_trace_bpf_test_finish)(void *, int *);\n\ntypedef void (*btf_trace_bpf_trace_printk)(void *, const char *);\n\ntypedef void (*btf_trace_bpf_trigger_tp)(void *, int);\n\ntypedef void (*btf_trace_bpf_xdp_link_attach_failed)(void *, const char *);\n\ntypedef void (*btf_trace_br_fdb_add)(void *, struct ndmsg *, struct net_device *, const unsigned char *, u16, u16);\n\ntypedef void (*btf_trace_br_fdb_external_learn_add)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16);\n\ntypedef void (*btf_trace_br_fdb_update)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16, long unsigned int);\n\ntypedef void (*btf_trace_br_mdb_full)(void *, const struct net_device *, const struct br_ip *);\n\ntypedef void (*btf_trace_break_lease_block)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_break_lease_noblock)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_break_lease_unblock)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_cache_entry_expired)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_make_negative)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_no_listener)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_upcall)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cache_entry_update)(void *, const struct cache_detail *, const struct cache_head *);\n\ntypedef void (*btf_trace_cap_capable)(void *, const struct cred *, struct user_namespace *, const struct user_namespace *, int, int);\n\ntypedef void (*btf_trace_cdev_update)(void *, struct thermal_cooling_device *, long unsigned int);\n\ntypedef void (*btf_trace_cgroup_attach_task)(void *, struct cgroup *, const char *, struct task_struct *, bool);\n\ntypedef void (*btf_trace_cgroup_destroy_root)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_freeze)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_mkdir)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_notify_frozen)(void *, struct cgroup *, const char *, int);\n\ntypedef void (*btf_trace_cgroup_notify_populated)(void *, struct cgroup *, const char *, int);\n\ntypedef void (*btf_trace_cgroup_release)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_remount)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_rename)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_rmdir)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_lock_contended)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_lock_contended_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_locked)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_locked_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_unlock)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_cpu_unlock_fastpath)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_lock_contended)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_locked)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_rstat_unlock)(void *, struct cgroup *, int, bool);\n\ntypedef void (*btf_trace_cgroup_setup_root)(void *, struct cgroup_root *);\n\ntypedef void (*btf_trace_cgroup_transfer_tasks)(void *, struct cgroup *, const char *, struct task_struct *, bool);\n\ntypedef void (*btf_trace_cgroup_unfreeze)(void *, struct cgroup *, const char *);\n\ntypedef void (*btf_trace_clk_disable)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_disable_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_enable)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_enable_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_prepare)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_prepare_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_rate_request_done)(void *, struct clk_rate_request *);\n\ntypedef void (*btf_trace_clk_rate_request_start)(void *, struct clk_rate_request *);\n\ntypedef void (*btf_trace_clk_set_duty_cycle)(void *, struct clk_core *, struct clk_duty *);\n\ntypedef void (*btf_trace_clk_set_duty_cycle_complete)(void *, struct clk_core *, struct clk_duty *);\n\ntypedef void (*btf_trace_clk_set_max_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_min_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_parent)(void *, struct clk_core *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_set_parent_complete)(void *, struct clk_core *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_set_phase)(void *, struct clk_core *, int);\n\ntypedef void (*btf_trace_clk_set_phase_complete)(void *, struct clk_core *, int);\n\ntypedef void (*btf_trace_clk_set_rate)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_rate_complete)(void *, struct clk_core *, long unsigned int);\n\ntypedef void (*btf_trace_clk_set_rate_range)(void *, struct clk_core *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_clk_unprepare)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clk_unprepare_complete)(void *, struct clk_core *);\n\ntypedef void (*btf_trace_clock_disable)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_clock_enable)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_clock_set_rate)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_compact_retry)(void *, int, enum compact_priority, enum compact_result, int, int, bool);\n\ntypedef void (*btf_trace_console)(void *, const char *, size_t);\n\ntypedef void (*btf_trace_consume_skb)(void *, struct sk_buff *, void *);\n\ntypedef void (*btf_trace_contention_begin)(void *, void *, unsigned int);\n\ntypedef void (*btf_trace_contention_end)(void *, void *, int);\n\ntypedef void (*btf_trace_count_memcg_events)(void *, struct mem_cgroup *, int, long unsigned int);\n\ntypedef void (*btf_trace_cpu_frequency)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cpu_frequency_limits)(void *, struct cpufreq_policy *);\n\ntypedef void (*btf_trace_cpu_idle)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_cpu_idle_miss)(void *, unsigned int, unsigned int, bool);\n\ntypedef void (*btf_trace_cpuhp_enter)(void *, unsigned int, int, int, int (*)(unsigned int));\n\ntypedef void (*btf_trace_cpuhp_exit)(void *, unsigned int, int, int, int);\n\ntypedef void (*btf_trace_cpuhp_multi_enter)(void *, unsigned int, int, int, int (*)(unsigned int, struct hlist_node *), struct hlist_node *);\n\ntypedef void (*btf_trace_csd_function_entry)(void *, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_csd_function_exit)(void *, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_csd_queue_cpu)(void *, const unsigned int, long unsigned int, smp_call_func_t, call_single_data_t *);\n\ntypedef void (*btf_trace_ctime_ns_xchg)(void *, struct inode *, u32, u32, u32);\n\ntypedef void (*btf_trace_ctime_xchg_skip)(void *, struct inode *, struct timespec64 *);\n\ntypedef void (*btf_trace_dev_pm_qos_add_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_dev_pm_qos_remove_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_dev_pm_qos_update_request)(void *, const char *, enum dev_pm_qos_req_type, s32);\n\ntypedef void (*btf_trace_devfreq_frequency)(void *, struct devfreq *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_devfreq_monitor)(void *, struct devfreq *);\n\ntypedef void (*btf_trace_device_pm_callback_end)(void *, struct device *, int);\n\ntypedef void (*btf_trace_device_pm_callback_start)(void *, struct device *, const char *, int);\n\ntypedef void (*btf_trace_devres_log)(void *, struct device *, const char *, void *, const char *, size_t);\n\ntypedef void (*btf_trace_dma_alloc)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_alloc_sgt_err)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int);\n\ntypedef void (*btf_trace_dma_fence_destroy)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_emit)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_enable_signal)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_init)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_signaled)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_wait_end)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_fence_wait_start)(void *, struct dma_fence *);\n\ntypedef void (*btf_trace_dma_free)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_free_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_free_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_map_page)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_resource)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_sg)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_map_sg_err)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_sync_sg_for_cpu)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_sg_for_device)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_single_for_cpu)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_sync_single_for_device)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction);\n\ntypedef void (*btf_trace_dma_unmap_page)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_unmap_resource)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dma_unmap_sg)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int);\n\ntypedef void (*btf_trace_dql_stall_detected)(void *, short unsigned int, unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int *);\n\ntypedef void (*btf_trace_e1000e_trace_mac_register)(void *, uint32_t);\n\ntypedef void (*btf_trace_error_report_end)(void *, enum error_detector, long unsigned int);\n\ntypedef void (*btf_trace_exit_mmap)(void *, struct mm_struct *);\n\ntypedef void (*btf_trace_ext4_alloc_da_blocks)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_allocate_blocks)(void *, struct ext4_allocation_request *, long long unsigned int);\n\ntypedef void (*btf_trace_ext4_allocate_inode)(void *, struct inode *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_begin_ordered_truncate)(void *, struct inode *, loff_t);\n\ntypedef void (*btf_trace_ext4_collapse_range)(void *, struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_ext4_da_release_space)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_da_reserve_space)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_da_update_reserve_space)(void *, struct inode *, int, int);\n\ntypedef void (*btf_trace_ext4_da_write_begin)(void *, struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_da_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_da_write_pages)(void *, struct inode *, long unsigned int, struct writeback_control *);\n\ntypedef void (*btf_trace_ext4_da_write_pages_extent)(void *, struct inode *, struct ext4_map_blocks *);\n\ntypedef void (*btf_trace_ext4_discard_blocks)(void *, struct super_block *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_ext4_discard_preallocations)(void *, struct inode *, unsigned int);\n\ntypedef void (*btf_trace_ext4_drop_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_error)(void *, struct super_block *, const char *, unsigned int);\n\ntypedef void (*btf_trace_ext4_es_cache_extent)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_find_extent_range_enter)(void *, struct inode *, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_find_extent_range_exit)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_insert_delayed_extent)(void *, struct inode *, struct extent_status *, bool, bool);\n\ntypedef void (*btf_trace_ext4_es_insert_extent)(void *, struct inode *, struct extent_status *);\n\ntypedef void (*btf_trace_ext4_es_lookup_extent_enter)(void *, struct inode *, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_lookup_extent_exit)(void *, struct inode *, struct extent_status *, int);\n\ntypedef void (*btf_trace_ext4_es_remove_extent)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t);\n\ntypedef void (*btf_trace_ext4_es_shrink)(void *, struct super_block *, int, u64, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_count)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_scan_enter)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_es_shrink_scan_exit)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_evict_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_ext_convert_to_initialized_enter)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *);\n\ntypedef void (*btf_trace_ext4_ext_convert_to_initialized_fastpath)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *, struct ext4_extent *);\n\ntypedef void (*btf_trace_ext4_ext_handle_unwritten_extents)(void *, struct inode *, struct ext4_map_blocks *, int, unsigned int, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_load_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_ext_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_ext_remove_space)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int);\n\ntypedef void (*btf_trace_ext4_ext_remove_space_done)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int, struct partial_cluster *, __le16);\n\ntypedef void (*btf_trace_ext4_ext_rm_idx)(void *, struct inode *, ext4_fsblk_t);\n\ntypedef void (*btf_trace_ext4_ext_rm_leaf)(void *, struct inode *, ext4_lblk_t, struct ext4_extent *, struct partial_cluster *);\n\ntypedef void (*btf_trace_ext4_ext_show_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t, short unsigned int);\n\ntypedef void (*btf_trace_ext4_fallocate_enter)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_ext4_fallocate_exit)(void *, struct inode *, loff_t, unsigned int, int);\n\ntypedef void (*btf_trace_ext4_fc_cleanup)(void *, journal_t *, int, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_commit_start)(void *, struct super_block *, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_commit_stop)(void *, struct super_block *, int, int, tid_t);\n\ntypedef void (*btf_trace_ext4_fc_replay)(void *, struct super_block *, int, int, int, int);\n\ntypedef void (*btf_trace_ext4_fc_replay_scan)(void *, struct super_block *, int, int);\n\ntypedef void (*btf_trace_ext4_fc_stats)(void *, struct super_block *);\n\ntypedef void (*btf_trace_ext4_fc_track_create)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_inode)(void *, handle_t *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_link)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_fc_track_range)(void *, handle_t *, struct inode *, long int, long int, int);\n\ntypedef void (*btf_trace_ext4_fc_track_unlink)(void *, handle_t *, struct inode *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_forget)(void *, struct inode *, int, __u64);\n\ntypedef void (*btf_trace_ext4_free_blocks)(void *, struct inode *, __u64, long unsigned int, int);\n\ntypedef void (*btf_trace_ext4_free_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_fsmap_high_key)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_fsmap_low_key)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_fsmap_mapping)(void *, struct super_block *, u32, u32, u64, u64, u64);\n\ntypedef void (*btf_trace_ext4_get_implied_cluster_alloc_exit)(void *, struct super_block *, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_getfsmap_high_key)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_getfsmap_low_key)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_getfsmap_mapping)(void *, struct super_block *, struct ext4_fsmap *);\n\ntypedef void (*btf_trace_ext4_ind_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_ind_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int);\n\ntypedef void (*btf_trace_ext4_insert_range)(void *, struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_ext4_invalidate_folio)(void *, struct folio *, size_t, size_t);\n\ntypedef void (*btf_trace_ext4_journal_start_inode)(void *, struct inode *, int, int, int, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journal_start_reserved)(void *, struct super_block *, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journal_start_sb)(void *, struct super_block *, int, int, int, int, long unsigned int);\n\ntypedef void (*btf_trace_ext4_journalled_invalidate_folio)(void *, struct folio *, size_t, size_t);\n\ntypedef void (*btf_trace_ext4_journalled_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_lazy_itable_init)(void *, struct super_block *, ext4_group_t);\n\ntypedef void (*btf_trace_ext4_load_inode)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_load_inode_bitmap)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mark_inode_dirty)(void *, struct inode *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_bitmap_load)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_buddy_bitmap_load)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_mb_discard_preallocations)(void *, struct super_block *, int);\n\ntypedef void (*btf_trace_ext4_mb_new_group_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_new_inode_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_release_group_pa)(void *, struct super_block *, struct ext4_prealloc_space *);\n\ntypedef void (*btf_trace_ext4_mb_release_inode_pa)(void *, struct ext4_prealloc_space *, long long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_mballoc_alloc)(void *, struct ext4_allocation_context *);\n\ntypedef void (*btf_trace_ext4_mballoc_discard)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_mballoc_free)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_mballoc_prealloc)(void *, struct ext4_allocation_context *);\n\ntypedef void (*btf_trace_ext4_nfs_commit_metadata)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_other_inode_update_time)(void *, struct inode *, ino_t);\n\ntypedef void (*btf_trace_ext4_prefetch_bitmaps)(void *, struct super_block *, ext4_group_t, ext4_group_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_punch_hole)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_ext4_read_block_bitmap_load)(void *, struct super_block *, long unsigned int, bool);\n\ntypedef void (*btf_trace_ext4_read_folio)(void *, struct inode *, struct folio *);\n\ntypedef void (*btf_trace_ext4_release_folio)(void *, struct inode *, struct folio *);\n\ntypedef void (*btf_trace_ext4_remove_blocks)(void *, struct inode *, struct ext4_extent *, ext4_lblk_t, ext4_fsblk_t, struct partial_cluster *);\n\ntypedef void (*btf_trace_ext4_request_blocks)(void *, struct ext4_allocation_request *);\n\ntypedef void (*btf_trace_ext4_request_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_shutdown)(void *, struct super_block *, long unsigned int);\n\ntypedef void (*btf_trace_ext4_sync_file_enter)(void *, struct file *, int);\n\ntypedef void (*btf_trace_ext4_sync_file_exit)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_ext4_sync_fs)(void *, struct super_block *, int);\n\ntypedef void (*btf_trace_ext4_trim_all_free)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_trim_extent)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t);\n\ntypedef void (*btf_trace_ext4_truncate_enter)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_truncate_exit)(void *, struct inode *);\n\ntypedef void (*btf_trace_ext4_unlink_enter)(void *, struct inode *, struct dentry *);\n\ntypedef void (*btf_trace_ext4_unlink_exit)(void *, struct dentry *, int);\n\ntypedef void (*btf_trace_ext4_update_sb)(void *, struct super_block *, ext4_fsblk_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_write_begin)(void *, struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_ext4_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_ext4_writepages)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_ext4_writepages_result)(void *, struct inode *, struct writeback_control *, int, int);\n\ntypedef void (*btf_trace_ext4_zero_range)(void *, struct inode *, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_fcntl_setlk)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_fdb_delete)(void *, struct net_bridge *, struct net_bridge_fdb_entry *);\n\ntypedef void (*btf_trace_ff_layout_commit_error)(void *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_ff_layout_read_error)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_ff_layout_write_error)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_fib6_table_lookup)(void *, const struct net *, const struct fib6_result *, struct fib6_table *, const struct flowi6 *);\n\ntypedef void (*btf_trace_fib_table_lookup)(void *, u32, const struct flowi4 *, const struct fib_nh_common *, int);\n\ntypedef void (*btf_trace_file_check_and_advance_wb_err)(void *, struct file *, errseq_t);\n\ntypedef void (*btf_trace_filemap_set_wb_err)(void *, struct address_space *, errseq_t);\n\ntypedef void (*btf_trace_fill_mg_cmtime)(void *, struct inode *, struct timespec64 *, struct timespec64 *);\n\ntypedef void (*btf_trace_finish_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_fl_getdevinfo)(void *, const struct nfs_server *, const struct nfs4_deviceid *, char *);\n\ntypedef void (*btf_trace_flock_lock_inode)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_flush_foreign)(void *, struct bdi_writeback *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_folio_wait_writeback)(void *, struct folio *, struct address_space *);\n\ntypedef void (*btf_trace_free_vmap_area_noflush)(void *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_generic_add_lease)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_generic_delete_lease)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_global_dirty_state)(void *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_gpio_direction)(void *, unsigned int, int, int);\n\ntypedef void (*btf_trace_gpio_value)(void *, unsigned int, int, int);\n\ntypedef void (*btf_trace_guest_halt_poll_ns)(void *, bool, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_handshake_cancel)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cancel_busy)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cancel_none)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_cmd_accept)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_accept_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_done)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_cmd_done_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_complete)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_destruct)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_notify_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_handshake_submit)(void *, const struct net *, const struct handshake_req *, const struct sock *);\n\ntypedef void (*btf_trace_handshake_submit_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int);\n\ntypedef void (*btf_trace_hrtimer_cancel)(void *, struct hrtimer *);\n\ntypedef void (*btf_trace_hrtimer_expire_entry)(void *, struct hrtimer *, ktime_t *);\n\ntypedef void (*btf_trace_hrtimer_expire_exit)(void *, struct hrtimer *);\n\ntypedef void (*btf_trace_hrtimer_init)(void *, struct hrtimer *, clockid_t, enum hrtimer_mode);\n\ntypedef void (*btf_trace_hrtimer_start)(void *, struct hrtimer *, enum hrtimer_mode);\n\ntypedef void (*btf_trace_hugetlbfs_alloc_inode)(void *, struct inode *, struct inode *, int);\n\ntypedef void (*btf_trace_hugetlbfs_evict_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_hugetlbfs_fallocate)(void *, struct inode *, int, loff_t, loff_t, int);\n\ntypedef void (*btf_trace_hugetlbfs_free_inode)(void *, struct inode *);\n\ntypedef void (*btf_trace_hugetlbfs_setattr)(void *, struct inode *, struct dentry *, struct iattr *);\n\ntypedef void (*btf_trace_hw_pressure_update)(void *, int, long unsigned int);\n\ntypedef void (*btf_trace_hwmon_attr_show)(void *, int, const char *, long int);\n\ntypedef void (*btf_trace_hwmon_attr_show_string)(void *, int, const char *, const char *);\n\ntypedef void (*btf_trace_hwmon_attr_store)(void *, int, const char *, long int);\n\ntypedef void (*btf_trace_i2c_read)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_i2c_reply)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_i2c_result)(void *, const struct i2c_adapter *, int, int);\n\ntypedef void (*btf_trace_i2c_write)(void *, const struct i2c_adapter *, const struct i2c_msg *, int);\n\ntypedef void (*btf_trace_icmp_send)(void *, const struct sk_buff *, int, int);\n\ntypedef void (*btf_trace_inet_sk_error_report)(void *, const struct sock *);\n\ntypedef void (*btf_trace_inet_sock_set_state)(void *, const struct sock *, const int, const int);\n\ntypedef void (*btf_trace_initcall_finish)(void *, initcall_t, int);\n\ntypedef void (*btf_trace_initcall_level)(void *, const char *);\n\ntypedef void (*btf_trace_initcall_start)(void *, initcall_t);\n\ntypedef void (*btf_trace_inode_foreign_history)(void *, struct inode *, struct writeback_control *, unsigned int);\n\ntypedef void (*btf_trace_inode_set_ctime_to_ts)(void *, struct inode *, struct timespec64 *);\n\ntypedef void (*btf_trace_inode_switch_wbs)(void *, struct inode *, struct bdi_writeback *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_io_page_fault)(void *, struct device *, long unsigned int, int);\n\ntypedef void (*btf_trace_io_uring_complete)(void *, struct io_ring_ctx *, void *, struct io_uring_cqe *);\n\ntypedef void (*btf_trace_io_uring_cqe_overflow)(void *, void *, long long unsigned int, s32, u32, void *);\n\ntypedef void (*btf_trace_io_uring_cqring_wait)(void *, void *, int);\n\ntypedef void (*btf_trace_io_uring_create)(void *, int, void *, u32, u32, u32);\n\ntypedef void (*btf_trace_io_uring_defer)(void *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_fail_link)(void *, struct io_kiocb *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_file_get)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_link)(void *, struct io_kiocb *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_local_work_run)(void *, void *, int, unsigned int);\n\ntypedef void (*btf_trace_io_uring_poll_arm)(void *, struct io_kiocb *, int, int);\n\ntypedef void (*btf_trace_io_uring_queue_async_work)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_register)(void *, void *, unsigned int, unsigned int, unsigned int, long int);\n\ntypedef void (*btf_trace_io_uring_req_failed)(void *, const struct io_uring_sqe *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_short_write)(void *, void *, u64, u64, u64);\n\ntypedef void (*btf_trace_io_uring_submit_req)(void *, struct io_kiocb *);\n\ntypedef void (*btf_trace_io_uring_task_add)(void *, struct io_kiocb *, int);\n\ntypedef void (*btf_trace_io_uring_task_work_run)(void *, void *, unsigned int);\n\ntypedef void (*btf_trace_iomap_dio_complete)(void *, struct kiocb *, int, ssize_t);\n\ntypedef void (*btf_trace_iomap_dio_invalidate_fail)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_dio_rw_begin)(void *, struct kiocb *, struct iov_iter *, unsigned int, size_t);\n\ntypedef void (*btf_trace_iomap_dio_rw_queued)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_invalidate_folio)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_iter)(void *, struct iomap_iter *, const void *, long unsigned int);\n\ntypedef void (*btf_trace_iomap_iter_dstmap)(void *, struct inode *, struct iomap *);\n\ntypedef void (*btf_trace_iomap_iter_srcmap)(void *, struct inode *, struct iomap *);\n\ntypedef void (*btf_trace_iomap_readahead)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_iomap_readpage)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_iomap_release_folio)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_writepage)(void *, struct inode *, loff_t, u64);\n\ntypedef void (*btf_trace_iomap_writepage_map)(void *, struct inode *, u64, unsigned int, struct iomap *);\n\ntypedef void (*btf_trace_ipi_entry)(void *, const char *);\n\ntypedef void (*btf_trace_ipi_exit)(void *, const char *);\n\ntypedef void (*btf_trace_ipi_raise)(void *, const struct cpumask *, const char *);\n\ntypedef void (*btf_trace_ipi_send_cpu)(void *, const unsigned int, long unsigned int, void *);\n\ntypedef void (*btf_trace_ipi_send_cpumask)(void *, const struct cpumask *, long unsigned int, void *);\n\ntypedef void (*btf_trace_irq_handler_entry)(void *, int, struct irqaction *);\n\ntypedef void (*btf_trace_irq_handler_exit)(void *, int, struct irqaction *, int);\n\ntypedef void (*btf_trace_irq_matrix_alloc)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_alloc_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_alloc_reserved)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_assign)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_assign_system)(void *, int, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_free)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_offline)(void *, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_online)(void *, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_remove_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_irq_matrix_remove_reserved)(void *, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_reserve)(void *, struct irq_matrix *);\n\ntypedef void (*btf_trace_irq_matrix_reserve_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *);\n\ntypedef void (*btf_trace_itimer_expire)(void *, int, struct pid *, long long unsigned int);\n\ntypedef void (*btf_trace_itimer_state)(void *, int, const struct itimerspec64 * const, long long unsigned int);\n\ntypedef void (*btf_trace_jbd2_checkpoint)(void *, journal_t *, int);\n\ntypedef void (*btf_trace_jbd2_checkpoint_stats)(void *, dev_t, tid_t, struct transaction_chp_stats_s *);\n\ntypedef void (*btf_trace_jbd2_commit_flushing)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_commit_locking)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_commit_logging)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_drop_transaction)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_end_commit)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_handle_extend)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int);\n\ntypedef void (*btf_trace_jbd2_handle_restart)(void *, dev_t, tid_t, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_jbd2_handle_start)(void *, dev_t, tid_t, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_jbd2_handle_stats)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int, int, int);\n\ntypedef void (*btf_trace_jbd2_lock_buffer_stall)(void *, dev_t, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_run_stats)(void *, dev_t, tid_t, struct transaction_run_stats_s *);\n\ntypedef void (*btf_trace_jbd2_shrink_checkpoint_list)(void *, journal_t *, tid_t, tid_t, tid_t, long unsigned int, tid_t);\n\ntypedef void (*btf_trace_jbd2_shrink_count)(void *, journal_t *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_shrink_scan_enter)(void *, journal_t *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_shrink_scan_exit)(void *, journal_t *, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_start_commit)(void *, journal_t *, transaction_t *);\n\ntypedef void (*btf_trace_jbd2_submit_inode_data)(void *, struct inode *);\n\ntypedef void (*btf_trace_jbd2_update_log_tail)(void *, journal_t *, tid_t, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_jbd2_write_superblock)(void *, journal_t *, blk_opf_t);\n\ntypedef void (*btf_trace_kfree)(void *, long unsigned int, const void *);\n\ntypedef void (*btf_trace_kfree_skb)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *);\n\ntypedef void (*btf_trace_kmalloc)(void *, long unsigned int, const void *, size_t, size_t, gfp_t, int);\n\ntypedef void (*btf_trace_kmem_cache_alloc)(void *, long unsigned int, const void *, struct kmem_cache *, gfp_t, int);\n\ntypedef void (*btf_trace_kmem_cache_free)(void *, long unsigned int, const void *, const struct kmem_cache *);\n\ntypedef void (*btf_trace_kyber_adjust)(void *, dev_t, const char *, unsigned int);\n\ntypedef void (*btf_trace_kyber_latency)(void *, dev_t, const char *, const char *, unsigned int, unsigned int, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_kyber_throttled)(void *, dev_t, const char *);\n\ntypedef void (*btf_trace_leases_conflict)(void *, bool, struct file_lease *, struct file_lease *);\n\ntypedef void (*btf_trace_locks_get_lock_context)(void *, struct inode *, int, struct file_lock_context *);\n\ntypedef void (*btf_trace_locks_remove_posix)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_ma_op)(void *, const char *, struct ma_state *);\n\ntypedef void (*btf_trace_ma_read)(void *, const char *, struct ma_state *);\n\ntypedef void (*btf_trace_ma_write)(void *, const char *, struct ma_state *, long unsigned int, void *);\n\ntypedef void (*btf_trace_map)(void *, long unsigned int, phys_addr_t, size_t);\n\ntypedef void (*btf_trace_mark_victim)(void *, struct task_struct *, uid_t);\n\ntypedef void (*btf_trace_mdio_access)(void *, struct mii_bus *, char, u8, unsigned int, u16, int);\n\ntypedef void (*btf_trace_mem_connect)(void *, const struct xdp_mem_allocator *, const struct xdp_rxq_info *);\n\ntypedef void (*btf_trace_mem_disconnect)(void *, const struct xdp_mem_allocator *);\n\ntypedef void (*btf_trace_mem_return_failed)(void *, const struct xdp_mem_info *, const struct page *);\n\ntypedef void (*btf_trace_memcg_flush_stats)(void *, struct mem_cgroup *, s64, bool, bool);\n\ntypedef void (*btf_trace_mm_alloc_contig_migrate_range_info)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_compaction_begin)(void *, struct compact_control *, long unsigned int, long unsigned int, bool);\n\ntypedef void (*btf_trace_mm_compaction_defer_compaction)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_defer_reset)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_deferred)(void *, struct zone *, int);\n\ntypedef void (*btf_trace_mm_compaction_end)(void *, struct compact_control *, long unsigned int, long unsigned int, bool, int);\n\ntypedef void (*btf_trace_mm_compaction_fast_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_finished)(void *, struct zone *, int, int);\n\ntypedef void (*btf_trace_mm_compaction_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_isolate_migratepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_kcompactd_sleep)(void *, int);\n\ntypedef void (*btf_trace_mm_compaction_kcompactd_wake)(void *, int, int, enum zone_type);\n\ntypedef void (*btf_trace_mm_compaction_migratepages)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_mm_compaction_suitable)(void *, struct zone *, int, int);\n\ntypedef void (*btf_trace_mm_compaction_try_to_compact_pages)(void *, int, gfp_t, int);\n\ntypedef void (*btf_trace_mm_compaction_wakeup_kcompactd)(void *, int, int, enum zone_type);\n\ntypedef void (*btf_trace_mm_filemap_add_to_page_cache)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_filemap_delete_from_page_cache)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_filemap_fault)(void *, struct address_space *, long unsigned int);\n\ntypedef void (*btf_trace_mm_filemap_get_pages)(void *, struct address_space *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_filemap_map_pages)(void *, struct address_space *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_mm_lru_activate)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_lru_insertion)(void *, struct folio *);\n\ntypedef void (*btf_trace_mm_migrate_pages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, enum migrate_mode, int);\n\ntypedef void (*btf_trace_mm_migrate_pages_start)(void *, enum migrate_mode, int);\n\ntypedef void (*btf_trace_mm_page_alloc)(void *, struct page *, unsigned int, gfp_t, int);\n\ntypedef void (*btf_trace_mm_page_alloc_extfrag)(void *, struct page *, int, int, int, int);\n\ntypedef void (*btf_trace_mm_page_alloc_zone_locked)(void *, struct page *, unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_page_free)(void *, struct page *, unsigned int);\n\ntypedef void (*btf_trace_mm_page_free_batched)(void *, struct page *);\n\ntypedef void (*btf_trace_mm_page_pcpu_drain)(void *, struct page *, unsigned int, int);\n\ntypedef void (*btf_trace_mm_shrink_slab_end)(void *, struct shrinker *, int, int, long int, long int, long int);\n\ntypedef void (*btf_trace_mm_shrink_slab_start)(void *, struct shrinker *, struct shrink_control *, long int, long unsigned int, long long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_vmscan_direct_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_direct_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_kswapd_sleep)(void *, int);\n\ntypedef void (*btf_trace_mm_vmscan_kswapd_wake)(void *, int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_isolate)(void *, int, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_shrink_active)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_lru_shrink_inactive)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_begin)(void *, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_node_reclaim_begin)(void *, int, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_node_reclaim_end)(void *, long unsigned int);\n\ntypedef void (*btf_trace_mm_vmscan_reclaim_pages)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *);\n\ntypedef void (*btf_trace_mm_vmscan_throttled)(void *, int, int, int, int);\n\ntypedef void (*btf_trace_mm_vmscan_wakeup_kswapd)(void *, int, int, int, gfp_t);\n\ntypedef void (*btf_trace_mm_vmscan_write_folio)(void *, struct folio *);\n\ntypedef void (*btf_trace_mmap_lock_acquire_returned)(void *, struct mm_struct *, bool, bool);\n\ntypedef void (*btf_trace_mmap_lock_released)(void *, struct mm_struct *, bool);\n\ntypedef void (*btf_trace_mmap_lock_start_locking)(void *, struct mm_struct *, bool);\n\ntypedef void (*btf_trace_mmc_request_done)(void *, struct mmc_host *, struct mmc_request *);\n\ntypedef void (*btf_trace_mmc_request_start)(void *, struct mmc_host *, struct mmc_request *);\n\ntypedef void (*btf_trace_mod_memcg_lruvec_state)(void *, struct mem_cgroup *, int, int);\n\ntypedef void (*btf_trace_mod_memcg_state)(void *, struct mem_cgroup *, int, int);\n\ntypedef void (*btf_trace_module_free)(void *, struct module *);\n\ntypedef void (*btf_trace_module_get)(void *, struct module *, long unsigned int);\n\ntypedef void (*btf_trace_module_load)(void *, struct module *);\n\ntypedef void (*btf_trace_module_put)(void *, struct module *, long unsigned int);\n\ntypedef void (*btf_trace_module_request)(void *, char *, bool, long unsigned int);\n\ntypedef void (*btf_trace_napi_gro_frags_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_napi_gro_frags_exit)(void *, int);\n\ntypedef void (*btf_trace_napi_gro_receive_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_napi_gro_receive_exit)(void *, int);\n\ntypedef void (*btf_trace_napi_poll)(void *, struct napi_struct *, int, int);\n\ntypedef void (*btf_trace_neigh_cleanup_and_release)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_create)(void *, struct neigh_table *, struct net_device *, const void *, const struct neighbour *, bool);\n\ntypedef void (*btf_trace_neigh_event_send_dead)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_event_send_done)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_timer_handler)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_neigh_update)(void *, struct neighbour *, const u8 *, u8, u32, u32);\n\ntypedef void (*btf_trace_neigh_update_done)(void *, struct neighbour *, int);\n\ntypedef void (*btf_trace_net_dev_queue)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_net_dev_start_xmit)(void *, const struct sk_buff *, const struct net_device *);\n\ntypedef void (*btf_trace_net_dev_xmit)(void *, struct sk_buff *, int, struct net_device *, unsigned int);\n\ntypedef void (*btf_trace_net_dev_xmit_timeout)(void *, struct net_device *, int);\n\ntypedef void (*btf_trace_netfs_collect)(void *, const struct netfs_io_request *);\n\ntypedef void (*btf_trace_netfs_collect_folio)(void *, const struct netfs_io_request *, const struct folio *, long long unsigned int, long long unsigned int);\n\ntypedef void (*btf_trace_netfs_collect_gap)(void *, const struct netfs_io_request *, const struct netfs_io_stream *, long long unsigned int, char);\n\ntypedef void (*btf_trace_netfs_collect_sreq)(void *, const struct netfs_io_request *, const struct netfs_io_subrequest *);\n\ntypedef void (*btf_trace_netfs_collect_state)(void *, const struct netfs_io_request *, long long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_netfs_collect_stream)(void *, const struct netfs_io_request *, const struct netfs_io_stream *);\n\ntypedef void (*btf_trace_netfs_failure)(void *, struct netfs_io_request *, struct netfs_io_subrequest *, int, enum netfs_failure);\n\ntypedef void (*btf_trace_netfs_folio)(void *, struct folio *, enum netfs_folio_trace);\n\ntypedef void (*btf_trace_netfs_folioq)(void *, const struct folio_queue *, enum netfs_folioq_trace);\n\ntypedef void (*btf_trace_netfs_read)(void *, struct netfs_io_request *, loff_t, size_t, enum netfs_read_trace);\n\ntypedef void (*btf_trace_netfs_rreq)(void *, struct netfs_io_request *, enum netfs_rreq_trace);\n\ntypedef void (*btf_trace_netfs_rreq_ref)(void *, unsigned int, int, enum netfs_rreq_ref_trace);\n\ntypedef void (*btf_trace_netfs_sreq)(void *, struct netfs_io_subrequest *, enum netfs_sreq_trace);\n\ntypedef void (*btf_trace_netfs_sreq_ref)(void *, unsigned int, unsigned int, int, enum netfs_sreq_ref_trace);\n\ntypedef void (*btf_trace_netfs_write)(void *, const struct netfs_io_request *, enum netfs_write_trace);\n\ntypedef void (*btf_trace_netfs_write_iter)(void *, const struct kiocb *, const struct iov_iter *);\n\ntypedef void (*btf_trace_netif_receive_skb)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_exit)(void *, int);\n\ntypedef void (*btf_trace_netif_receive_skb_list_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_receive_skb_list_exit)(void *, int);\n\ntypedef void (*btf_trace_netif_rx)(void *, struct sk_buff *);\n\ntypedef void (*btf_trace_netif_rx_entry)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_netif_rx_exit)(void *, int);\n\ntypedef void (*btf_trace_netlink_extack)(void *, const char *);\n\ntypedef void (*btf_trace_nfs4_access)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_bind_conn_to_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_cached_open)(void *, const struct nfs4_state *);\n\ntypedef void (*btf_trace_nfs4_cb_getattr)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_cb_layoutrecall_file)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_cb_offload)(void *, const struct nfs_fh *, const nfs4_stateid *, uint64_t, int, int);\n\ntypedef void (*btf_trace_nfs4_cb_recall)(void *, const struct nfs_client *, const struct nfs_fh *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_cb_seqid_err)(void *, const struct cb_sequenceargs *, __be32);\n\ntypedef void (*btf_trace_nfs4_cb_sequence)(void *, const struct cb_sequenceargs *, const struct cb_sequenceres *, __be32);\n\ntypedef void (*btf_trace_nfs4_clone)(void *, const struct inode *, const struct inode *, const struct nfs42_clone_args *, int);\n\ntypedef void (*btf_trace_nfs4_close)(void *, const struct nfs4_state *, const struct nfs_closeargs *, const struct nfs_closeres *, int);\n\ntypedef void (*btf_trace_nfs4_close_stateid_update_wait)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_commit)(void *, const struct nfs_commit_data *, int);\n\ntypedef void (*btf_trace_nfs4_copy)(void *, const struct inode *, const struct inode *, const struct nfs42_copy_args *, const struct nfs42_copy_res *, const struct nl4_server *, int);\n\ntypedef void (*btf_trace_nfs4_copy_notify)(void *, const struct inode *, const struct nfs42_copy_notify_args *, const struct nfs42_copy_notify_res *, int);\n\ntypedef void (*btf_trace_nfs4_create_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_deallocate)(void *, const struct inode *, const struct nfs42_falloc_args *, int);\n\ntypedef void (*btf_trace_nfs4_delegreturn)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_delegreturn_exit)(void *, const struct nfs4_delegreturnargs *, const struct nfs4_delegreturnres *, int);\n\ntypedef void (*btf_trace_nfs4_destroy_clientid)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_destroy_session)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_deviceid_free)(void *, const struct nfs_client *, const struct nfs4_deviceid *);\n\ntypedef void (*btf_trace_nfs4_exchange_id)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_fallocate)(void *, const struct inode *, const struct nfs42_falloc_args *, int);\n\ntypedef void (*btf_trace_nfs4_find_deviceid)(void *, const struct nfs_server *, const struct nfs4_deviceid *, int);\n\ntypedef void (*btf_trace_nfs4_fsinfo)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_get_acl)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_get_fs_locations)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_get_lock)(void *, const struct file_lock *, const struct nfs4_state *, int, int);\n\ntypedef void (*btf_trace_nfs4_get_security_label)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_getattr)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_getdeviceinfo)(void *, const struct nfs_server *, const struct nfs4_deviceid *, int);\n\ntypedef void (*btf_trace_nfs4_getxattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_layoutcommit)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layouterror)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutget)(void *, const struct nfs_open_context *, const struct pnfs_layout_range *, const struct pnfs_layout_range *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutreturn)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutreturn_on_close)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_layoutstats)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_listxattr)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_llseek)(void *, const struct inode *, const struct nfs42_seek_args *, const struct nfs42_seek_res *, int);\n\ntypedef void (*btf_trace_nfs4_lookup)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_lookup_root)(void *, const struct nfs_server *, const struct nfs_fh *, const struct nfs_fattr *, int);\n\ntypedef void (*btf_trace_nfs4_lookupp)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_map_gid_to_group)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_group_to_gid)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_name_to_uid)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_map_uid_to_name)(void *, const char *, int, u32, int);\n\ntypedef void (*btf_trace_nfs4_mkdir)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_mknod)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_offload_cancel)(void *, const struct nfs42_offload_status_args *, int);\n\ntypedef void (*btf_trace_nfs4_open_expired)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_file)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_reclaim)(void *, const struct nfs_open_context *, int, int);\n\ntypedef void (*btf_trace_nfs4_open_stateid_update)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_open_stateid_update_wait)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_commit_ds)(void *, const struct nfs_commit_data *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_read)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_pnfs_write)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_read)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_readdir)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_readlink)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_reclaim_complete)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_reclaim_delegation)(void *, const struct inode *, fmode_t);\n\ntypedef void (*btf_trace_nfs4_remove)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_removexattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_rename)(void *, const struct inode *, const struct qstr *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_renew)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_renew_async)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_secinfo)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_sequence)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_sequence_done)(void *, const struct nfs4_session *, const struct nfs4_sequence_res *);\n\ntypedef void (*btf_trace_nfs4_set_acl)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_set_delegation)(void *, const struct inode *, fmode_t);\n\ntypedef void (*btf_trace_nfs4_set_lock)(void *, const struct file_lock *, const struct nfs4_state *, const nfs4_stateid *, int, int);\n\ntypedef void (*btf_trace_nfs4_set_security_label)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs4_setattr)(void *, const struct inode *, const nfs4_stateid *, int);\n\ntypedef void (*btf_trace_nfs4_setclientid)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_setclientid_confirm)(void *, const struct nfs_client *, int);\n\ntypedef void (*btf_trace_nfs4_setup_sequence)(void *, const struct nfs4_session *, const struct nfs4_sequence_args *);\n\ntypedef void (*btf_trace_nfs4_setxattr)(void *, const struct inode *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_state_lock_reclaim)(void *, const struct nfs4_state *, const struct nfs4_lock_state *);\n\ntypedef void (*btf_trace_nfs4_state_mgr)(void *, const struct nfs_client *);\n\ntypedef void (*btf_trace_nfs4_state_mgr_failed)(void *, const struct nfs_client *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_symlink)(void *, const struct inode *, const struct qstr *, int);\n\ntypedef void (*btf_trace_nfs4_test_delegation_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_test_lock_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_test_open_stateid)(void *, const struct nfs4_state *, const struct nfs4_lock_state *, int);\n\ntypedef void (*btf_trace_nfs4_trunked_exchange_id)(void *, const struct nfs_client *, const char *, int);\n\ntypedef void (*btf_trace_nfs4_unlock)(void *, const struct file_lock *, const struct nfs4_state *, int, int);\n\ntypedef void (*btf_trace_nfs4_write)(void *, const struct nfs_pgio_header *, int);\n\ntypedef void (*btf_trace_nfs4_xdr_bad_filehandle)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs4_xdr_bad_operation)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs4_xdr_status)(void *, const struct xdr_stream *, u32, u32);\n\ntypedef void (*btf_trace_nfs_access_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_access_exit)(void *, const struct inode *, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_aop_readahead)(void *, const struct inode *, loff_t, unsigned int);\n\ntypedef void (*btf_trace_nfs_aop_readahead_done)(void *, const struct inode *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_aop_readpage)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_aop_readpage_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_async_rename_done)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_atomic_open_enter)(void *, const struct inode *, const struct nfs_open_context *, unsigned int);\n\ntypedef void (*btf_trace_nfs_atomic_open_exit)(void *, const struct inode *, const struct nfs_open_context *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_cb_badprinc)(void *, __be32, u32);\n\ntypedef void (*btf_trace_nfs_cb_no_clp)(void *, __be32, u32);\n\ntypedef void (*btf_trace_nfs_commit_done)(void *, const struct rpc_task *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_nfs_commit_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_comp_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_create_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_create_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_direct_commit_complete)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_resched_write)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_complete)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_completion)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_reschedule_io)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_direct_write_schedule_iovec)(void *, const struct nfs_direct_req *);\n\ntypedef void (*btf_trace_nfs_fh_to_dentry)(void *, const struct super_block *, const struct nfs_fh *, u64, int);\n\ntypedef void (*btf_trace_nfs_fsync_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_fsync_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_getattr_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_getattr_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_initiate_commit)(void *, const struct nfs_commit_data *);\n\ntypedef void (*btf_trace_nfs_initiate_read)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_initiate_write)(void *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_invalidate_folio)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_invalidate_mapping_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_invalidate_mapping_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_launder_folio_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_link_enter)(void *, const struct inode *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_link_exit)(void *, const struct inode *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_local_open_fh)(void *, const struct nfs_fh *, fmode_t, int);\n\ntypedef void (*btf_trace_nfs_lookup_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_lookup_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_lookup_revalidate_enter)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_lookup_revalidate_exit)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_mkdir_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_mkdir_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_mknod_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_mknod_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_mount_assign)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_nfs_mount_option)(void *, const struct fs_parameter *);\n\ntypedef void (*btf_trace_nfs_mount_path)(void *, const char *);\n\ntypedef void (*btf_trace_nfs_pgio_error)(void *, const struct nfs_pgio_header *, int, loff_t);\n\ntypedef void (*btf_trace_nfs_readdir_cache_fill)(void *, const struct file *, const __be32 *, u64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_cache_fill_done)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_readdir_force_readdirplus)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_readdir_invalidate_cache_range)(void *, const struct inode *, loff_t, loff_t);\n\ntypedef void (*btf_trace_nfs_readdir_lookup)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_lookup_revalidate)(void *, const struct inode *, const struct dentry *, unsigned int, int);\n\ntypedef void (*btf_trace_nfs_readdir_lookup_revalidate_failed)(void *, const struct inode *, const struct dentry *, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_uncached)(void *, const struct file *, const __be32 *, u64, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_nfs_readdir_uncached_done)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_readpage_done)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_readpage_short)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_refresh_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_refresh_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_remove_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_remove_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_rename_enter)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_rename_exit)(void *, const struct inode *, const struct dentry *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_revalidate_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_revalidate_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_rmdir_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_rmdir_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_set_cache_invalid)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_set_inode_stale)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_setattr_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_setattr_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_sillyrename_unlink)(void *, const struct nfs_unlinkdata *, int);\n\ntypedef void (*btf_trace_nfs_size_grow)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_truncate)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_update)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_size_wcc)(void *, const struct inode *, loff_t);\n\ntypedef void (*btf_trace_nfs_symlink_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_symlink_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_unlink_enter)(void *, const struct inode *, const struct dentry *);\n\ntypedef void (*btf_trace_nfs_unlink_exit)(void *, const struct inode *, const struct dentry *, int);\n\ntypedef void (*btf_trace_nfs_write_error)(void *, const struct inode *, const struct nfs_page *, int);\n\ntypedef void (*btf_trace_nfs_writeback_done)(void *, const struct rpc_task *, const struct nfs_pgio_header *);\n\ntypedef void (*btf_trace_nfs_writeback_folio)(void *, const struct inode *, loff_t, size_t);\n\ntypedef void (*btf_trace_nfs_writeback_folio_done)(void *, const struct inode *, loff_t, size_t, int);\n\ntypedef void (*btf_trace_nfs_writeback_inode_enter)(void *, const struct inode *);\n\ntypedef void (*btf_trace_nfs_writeback_inode_exit)(void *, const struct inode *, int);\n\ntypedef void (*btf_trace_nfs_xdr_bad_filehandle)(void *, const struct xdr_stream *, int);\n\ntypedef void (*btf_trace_nfs_xdr_status)(void *, const struct xdr_stream *, int);\n\ntypedef void (*btf_trace_nlmclnt_grant)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_lock)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_test)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_nlmclnt_unlock)(void *, const struct nlm_lock *, const struct sockaddr *, unsigned int, __be32);\n\ntypedef void (*btf_trace_notifier_register)(void *, void *);\n\ntypedef void (*btf_trace_notifier_run)(void *, void *);\n\ntypedef void (*btf_trace_notifier_unregister)(void *, void *);\n\ntypedef void (*btf_trace_oom_score_adj_update)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_page_pool_release)(void *, const struct page_pool *, s32, u32, u32);\n\ntypedef void (*btf_trace_page_pool_state_hold)(void *, const struct page_pool *, netmem_ref, u32);\n\ntypedef void (*btf_trace_page_pool_state_release)(void *, const struct page_pool *, netmem_ref, u32);\n\ntypedef void (*btf_trace_page_pool_update_nid)(void *, const struct page_pool *, int);\n\ntypedef void (*btf_trace_pelt_cfs_tp)(void *, struct cfs_rq *);\n\ntypedef void (*btf_trace_pelt_dl_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_hw_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_irq_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_rt_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_pelt_se_tp)(void *, struct sched_entity *);\n\ntypedef void (*btf_trace_percpu_alloc_percpu)(void *, long unsigned int, bool, bool, size_t, size_t, void *, int, void *, size_t, gfp_t);\n\ntypedef void (*btf_trace_percpu_alloc_percpu_fail)(void *, bool, bool, size_t, size_t);\n\ntypedef void (*btf_trace_percpu_create_chunk)(void *, void *);\n\ntypedef void (*btf_trace_percpu_destroy_chunk)(void *, void *);\n\ntypedef void (*btf_trace_percpu_free_percpu)(void *, void *, int, void *);\n\ntypedef void (*btf_trace_pm_qos_add_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_remove_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_update_flags)(void *, enum pm_qos_req_action, int, int);\n\ntypedef void (*btf_trace_pm_qos_update_request)(void *, s32);\n\ntypedef void (*btf_trace_pm_qos_update_target)(void *, enum pm_qos_req_action, int, int);\n\ntypedef void (*btf_trace_pmap_register)(void *, u32, u32, int, short unsigned int);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_get_mirror_count)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_init_read)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_pg_init_write)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_read_done)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_read_pagelist)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_write_done)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_mds_fallback_write_pagelist)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *);\n\ntypedef void (*btf_trace_pnfs_update_layout)(void *, struct inode *, loff_t, u64, enum pnfs_iomode, struct pnfs_layout_hdr *, struct pnfs_layout_segment *, enum pnfs_update_layout_reason);\n\ntypedef void (*btf_trace_posix_lock_inode)(void *, struct inode *, struct file_lock *, int);\n\ntypedef void (*btf_trace_power_domain_target)(void *, const char *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_powernv_throttle)(void *, int, const char *, int);\n\ntypedef void (*btf_trace_pstate_sample)(void *, u32, u32, u32, u32, u64, u64, u64, u32, u32);\n\ntypedef void (*btf_trace_purge_vmap_area_lazy)(void *, long unsigned int, long unsigned int, unsigned int);\n\ntypedef void (*btf_trace_qdisc_create)(void *, const struct Qdisc_ops *, struct net_device *, u32);\n\ntypedef void (*btf_trace_qdisc_dequeue)(void *, struct Qdisc *, const struct netdev_queue *, int, struct sk_buff *);\n\ntypedef void (*btf_trace_qdisc_destroy)(void *, struct Qdisc *);\n\ntypedef void (*btf_trace_qdisc_enqueue)(void *, struct Qdisc *, const struct netdev_queue *, struct sk_buff *);\n\ntypedef void (*btf_trace_qdisc_reset)(void *, struct Qdisc *);\n\ntypedef void (*btf_trace_rcu_stall_warning)(void *, const char *, const char *);\n\ntypedef void (*btf_trace_rcu_utilization)(void *, const char *);\n\ntypedef void (*btf_trace_reclaim_retry_zone)(void *, struct zoneref *, int, long unsigned int, long unsigned int, long unsigned int, int, bool);\n\ntypedef void (*btf_trace_regcache_drop_region)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regcache_sync)(void *, struct regmap *, const char *, const char *);\n\ntypedef void (*btf_trace_regmap_async_complete_done)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_complete_start)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_io_complete)(void *, struct regmap *);\n\ntypedef void (*btf_trace_regmap_async_write_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_bulk_read)(void *, struct regmap *, unsigned int, const void *, int);\n\ntypedef void (*btf_trace_regmap_bulk_write)(void *, struct regmap *, unsigned int, const void *, int);\n\ntypedef void (*btf_trace_regmap_cache_bypass)(void *, struct regmap *, bool);\n\ntypedef void (*btf_trace_regmap_cache_only)(void *, struct regmap *, bool);\n\ntypedef void (*btf_trace_regmap_hw_read_done)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_read_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_write_done)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_hw_write_start)(void *, struct regmap *, unsigned int, int);\n\ntypedef void (*btf_trace_regmap_reg_read)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regmap_reg_read_cache)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regmap_reg_write)(void *, struct regmap *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_regulator_bypass_disable)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_bypass_disable_complete)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_bypass_enable)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_bypass_enable_complete)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_disable)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_disable_complete)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_enable)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_enable_complete)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_enable_delay)(void *, const char *);\n\ntypedef void (*btf_trace_regulator_set_voltage)(void *, const char *, int, int);\n\ntypedef void (*btf_trace_regulator_set_voltage_complete)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_remove_device_from_group)(void *, int, struct device *);\n\ntypedef void (*btf_trace_remove_migration_pte)(void *, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_rpc__auth_tooweak)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__bad_creds)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__garbage_args)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__mismatch)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__proc_unavail)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__prog_mismatch)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__prog_unavail)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__stale_creds)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc__unparsable)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_bad_callhdr)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_bad_verifier)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_buf_alloc)(void *, const struct rpc_task *, int);\n\ntypedef void (*btf_trace_rpc_call_rpcerror)(void *, const struct rpc_task *, int, int);\n\ntypedef void (*btf_trace_rpc_call_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_clnt_clone_err)(void *, const struct rpc_clnt *, int);\n\ntypedef void (*btf_trace_rpc_clnt_free)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_killall)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_new)(void *, const struct rpc_clnt *, const struct rpc_xprt *, const struct rpc_create_args *);\n\ntypedef void (*btf_trace_rpc_clnt_new_err)(void *, const char *, const char *, int);\n\ntypedef void (*btf_trace_rpc_clnt_release)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_replace_xprt)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_replace_xprt_err)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_clnt_shutdown)(void *, const struct rpc_clnt *);\n\ntypedef void (*btf_trace_rpc_connect_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_refresh_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_request)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_retry_refresh_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_socket_close)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_socket_connect)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_error)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_nospace)(void *, const struct rpc_rqst *, const struct sock_xprt *);\n\ntypedef void (*btf_trace_rpc_socket_reset_connection)(void *, struct rpc_xprt *, struct socket *, int);\n\ntypedef void (*btf_trace_rpc_socket_shutdown)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_socket_state_change)(void *, struct rpc_xprt *, struct socket *);\n\ntypedef void (*btf_trace_rpc_stats_latency)(void *, const struct rpc_task *, ktime_t, ktime_t, ktime_t);\n\ntypedef void (*btf_trace_rpc_task_begin)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_call_done)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_complete)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_end)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_run_action)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_signalled)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_sleep)(void *, const struct rpc_task *, const struct rpc_wait_queue *);\n\ntypedef void (*btf_trace_rpc_task_sync_sleep)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_sync_wake)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_timeout)(void *, const struct rpc_task *, const void *);\n\ntypedef void (*btf_trace_rpc_task_wakeup)(void *, const struct rpc_task *, const struct rpc_wait_queue *);\n\ntypedef void (*btf_trace_rpc_timeout_status)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpc_tls_not_started)(void *, const struct rpc_clnt *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_rpc_tls_unavailable)(void *, const struct rpc_clnt *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_rpc_xdr_alignment)(void *, const struct xdr_stream *, size_t, unsigned int);\n\ntypedef void (*btf_trace_rpc_xdr_overflow)(void *, const struct xdr_stream *, size_t);\n\ntypedef void (*btf_trace_rpc_xdr_recvfrom)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpc_xdr_reply_pages)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpc_xdr_sendto)(void *, const struct rpc_task *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_rpcb_bind_version_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_getport)(void *, const struct rpc_clnt *, const struct rpc_task *, unsigned int);\n\ntypedef void (*btf_trace_rpcb_prog_unavail_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_register)(void *, u32, u32, const char *, const char *);\n\ntypedef void (*btf_trace_rpcb_setport)(void *, const struct rpc_task *, int, short unsigned int);\n\ntypedef void (*btf_trace_rpcb_timeout_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unreachable_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unrecognized_err)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcb_unregister)(void *, u32, u32, const char *);\n\ntypedef void (*btf_trace_rpcgss_bad_seqno)(void *, const struct rpc_task *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_context)(void *, u32, long unsigned int, long unsigned int, unsigned int, unsigned int, const u8 *);\n\ntypedef void (*btf_trace_rpcgss_createauth)(void *, unsigned int, int);\n\ntypedef void (*btf_trace_rpcgss_ctx_destroy)(void *, const struct gss_cred *);\n\ntypedef void (*btf_trace_rpcgss_ctx_init)(void *, const struct gss_cred *);\n\ntypedef void (*btf_trace_rpcgss_get_mic)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_import_ctx)(void *, int);\n\ntypedef void (*btf_trace_rpcgss_need_reencode)(void *, const struct rpc_task *, u32, bool);\n\ntypedef void (*btf_trace_rpcgss_oid_to_mech)(void *, const char *);\n\ntypedef void (*btf_trace_rpcgss_seqno)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcgss_svc_accept_upcall)(void *, const struct svc_rqst *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_authenticate)(void *, const struct svc_rqst *, const struct rpc_gss_wire_cred *);\n\ntypedef void (*btf_trace_rpcgss_svc_get_mic)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_mic)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_bad)(void *, const struct svc_rqst *, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_large)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_low)(void *, const struct svc_rqst *, u32, u32, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_seqno_seen)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_unwrap)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_unwrap_failed)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_rpcgss_svc_wrap)(void *, const struct svc_rqst *, u32);\n\ntypedef void (*btf_trace_rpcgss_svc_wrap_failed)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_rpcgss_unwrap)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_unwrap_failed)(void *, const struct rpc_task *);\n\ntypedef void (*btf_trace_rpcgss_upcall_msg)(void *, const char *);\n\ntypedef void (*btf_trace_rpcgss_upcall_result)(void *, u32, int);\n\ntypedef void (*btf_trace_rpcgss_update_slack)(void *, const struct rpc_task *, const struct rpc_auth *);\n\ntypedef void (*btf_trace_rpcgss_verify_mic)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpcgss_wrap)(void *, const struct rpc_task *, u32);\n\ntypedef void (*btf_trace_rpm_idle)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_resume)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_return_int)(void *, struct device *, long unsigned int, int);\n\ntypedef void (*btf_trace_rpm_status)(void *, struct device *, enum rpm_status);\n\ntypedef void (*btf_trace_rpm_suspend)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rpm_usage)(void *, struct device *, int);\n\ntypedef void (*btf_trace_rseq_ip_fixup)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_rseq_update)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_rss_stat)(void *, struct mm_struct *, int);\n\ntypedef void (*btf_trace_rtc_alarm_irq_enable)(void *, unsigned int, int);\n\ntypedef void (*btf_trace_rtc_irq_set_freq)(void *, int, int);\n\ntypedef void (*btf_trace_rtc_irq_set_state)(void *, int, int);\n\ntypedef void (*btf_trace_rtc_read_alarm)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_read_offset)(void *, long int, int);\n\ntypedef void (*btf_trace_rtc_read_time)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_set_alarm)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_set_offset)(void *, long int, int);\n\ntypedef void (*btf_trace_rtc_set_time)(void *, time64_t, int);\n\ntypedef void (*btf_trace_rtc_timer_dequeue)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_rtc_timer_enqueue)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_rtc_timer_fired)(void *, struct rtc_timer *);\n\ntypedef void (*btf_trace_sb_clear_inode_writeback)(void *, struct inode *);\n\ntypedef void (*btf_trace_sb_mark_inode_writeback)(void *, struct inode *);\n\ntypedef void (*btf_trace_sbi_call)(void *, int, int);\n\ntypedef void (*btf_trace_sbi_return)(void *, int, long int, long int);\n\ntypedef void (*btf_trace_sched_compute_energy_tp)(void *, struct task_struct *, int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_sched_cpu_capacity_tp)(void *, struct rq *);\n\ntypedef void (*btf_trace_sched_kthread_stop)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_kthread_stop_ret)(void *, int);\n\ntypedef void (*btf_trace_sched_kthread_work_execute_end)(void *, struct kthread_work *, kthread_work_func_t);\n\ntypedef void (*btf_trace_sched_kthread_work_execute_start)(void *, struct kthread_work *);\n\ntypedef void (*btf_trace_sched_kthread_work_queue_work)(void *, struct kthread_worker *, struct kthread_work *);\n\ntypedef void (*btf_trace_sched_migrate_task)(void *, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_move_numa)(void *, struct task_struct *, int, int);\n\ntypedef void (*btf_trace_sched_overutilized_tp)(void *, struct root_domain *, bool);\n\ntypedef void (*btf_trace_sched_pi_setprio)(void *, struct task_struct *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_prepare_exec)(void *, struct task_struct *, struct linux_binprm *);\n\ntypedef void (*btf_trace_sched_process_exec)(void *, struct task_struct *, pid_t, struct linux_binprm *);\n\ntypedef void (*btf_trace_sched_process_exit)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_fork)(void *, struct task_struct *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_free)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_hang)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_process_wait)(void *, struct pid *);\n\ntypedef void (*btf_trace_sched_stat_runtime)(void *, struct task_struct *, u64);\n\ntypedef void (*btf_trace_sched_stick_numa)(void *, struct task_struct *, int, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_swap_numa)(void *, struct task_struct *, int, struct task_struct *, int);\n\ntypedef void (*btf_trace_sched_switch)(void *, bool, struct task_struct *, struct task_struct *, unsigned int);\n\ntypedef void (*btf_trace_sched_update_nr_running_tp)(void *, struct rq *, int);\n\ntypedef void (*btf_trace_sched_util_est_cfs_tp)(void *, struct cfs_rq *);\n\ntypedef void (*btf_trace_sched_util_est_se_tp)(void *, struct sched_entity *);\n\ntypedef void (*btf_trace_sched_wait_task)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_wake_idle_without_ipi)(void *, int);\n\ntypedef void (*btf_trace_sched_wakeup)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_wakeup_new)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_sched_waking)(void *, struct task_struct *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_done)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_error)(void *, struct scsi_cmnd *, int);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_start)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_dispatch_cmd_timeout)(void *, struct scsi_cmnd *);\n\ntypedef void (*btf_trace_scsi_eh_wakeup)(void *, struct Scsi_Host *);\n\ntypedef void (*btf_trace_selinux_audited)(void *, struct selinux_audit_data *, char *, char *, const char *);\n\ntypedef void (*btf_trace_set_migration_pte)(void *, long unsigned int, long unsigned int, int);\n\ntypedef void (*btf_trace_signal_deliver)(void *, int, struct kernel_siginfo *, struct k_sigaction *);\n\ntypedef void (*btf_trace_signal_generate)(void *, int, struct kernel_siginfo *, struct task_struct *, int, int);\n\ntypedef void (*btf_trace_sk_data_ready)(void *, const struct sock *);\n\ntypedef void (*btf_trace_skb_copy_datagram_iovec)(void *, const struct sk_buff *, int);\n\ntypedef void (*btf_trace_skip_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_smbus_read)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int);\n\ntypedef void (*btf_trace_smbus_reply)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *, int);\n\ntypedef void (*btf_trace_smbus_result)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, int);\n\ntypedef void (*btf_trace_smbus_write)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *);\n\ntypedef void (*btf_trace_snd_soc_bias_level_done)(void *, struct snd_soc_dapm_context *, int);\n\ntypedef void (*btf_trace_snd_soc_bias_level_start)(void *, struct snd_soc_dapm_context *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_connected)(void *, int, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_done)(void *, struct snd_soc_card *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_path)(void *, struct snd_soc_dapm_widget *, enum snd_soc_dapm_direction, struct snd_soc_dapm_path *);\n\ntypedef void (*btf_trace_snd_soc_dapm_start)(void *, struct snd_soc_card *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_walk_done)(void *, struct snd_soc_card *);\n\ntypedef void (*btf_trace_snd_soc_dapm_widget_event_done)(void *, struct snd_soc_dapm_widget *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_widget_event_start)(void *, struct snd_soc_dapm_widget *, int);\n\ntypedef void (*btf_trace_snd_soc_dapm_widget_power)(void *, struct snd_soc_dapm_widget *, int);\n\ntypedef void (*btf_trace_snd_soc_jack_irq)(void *, const char *);\n\ntypedef void (*btf_trace_snd_soc_jack_notify)(void *, struct snd_soc_jack *, int);\n\ntypedef void (*btf_trace_snd_soc_jack_report)(void *, struct snd_soc_jack *, int, int);\n\ntypedef void (*btf_trace_sock_exceed_buf_limit)(void *, struct sock *, struct proto *, long int, int);\n\ntypedef void (*btf_trace_sock_rcvqueue_full)(void *, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_sock_recv_length)(void *, struct sock *, int, int);\n\ntypedef void (*btf_trace_sock_send_length)(void *, struct sock *, int, int);\n\ntypedef void (*btf_trace_softirq_entry)(void *, unsigned int);\n\ntypedef void (*btf_trace_softirq_exit)(void *, unsigned int);\n\ntypedef void (*btf_trace_softirq_raise)(void *, unsigned int);\n\ntypedef void (*btf_trace_spi_controller_busy)(void *, struct spi_controller *);\n\ntypedef void (*btf_trace_spi_controller_idle)(void *, struct spi_controller *);\n\ntypedef void (*btf_trace_spi_message_done)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_message_start)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_message_submit)(void *, struct spi_message *);\n\ntypedef void (*btf_trace_spi_set_cs)(void *, struct spi_device *, bool);\n\ntypedef void (*btf_trace_spi_setup)(void *, struct spi_device *, int);\n\ntypedef void (*btf_trace_spi_transfer_start)(void *, struct spi_message *, struct spi_transfer *);\n\ntypedef void (*btf_trace_spi_transfer_stop)(void *, struct spi_message *, struct spi_transfer *);\n\ntypedef void (*btf_trace_start_task_reaping)(void *, int);\n\ntypedef void (*btf_trace_suspend_resume)(void *, const char *, int, bool);\n\ntypedef void (*btf_trace_svc_alloc_arg_err)(void *, unsigned int, unsigned int);\n\ntypedef void (*btf_trace_svc_authenticate)(void *, const struct svc_rqst *, enum svc_auth_status);\n\ntypedef void (*btf_trace_svc_defer)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_defer_drop)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_defer_queue)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_defer_recv)(void *, const struct svc_deferred_req *);\n\ntypedef void (*btf_trace_svc_drop)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_noregister)(void *, const char *, const u32, const int, const short unsigned int, const short unsigned int, int);\n\ntypedef void (*btf_trace_svc_process)(void *, const struct svc_rqst *, const char *);\n\ntypedef void (*btf_trace_svc_register)(void *, const char *, const u32, const int, const short unsigned int, const short unsigned int, int);\n\ntypedef void (*btf_trace_svc_replace_page_err)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_send)(void *, const struct svc_rqst *, int);\n\ntypedef void (*btf_trace_svc_stats_latency)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_tls_not_started)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_start)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_timed_out)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_unavailable)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_tls_upcall)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_unregister)(void *, const char *, const u32, int);\n\ntypedef void (*btf_trace_svc_wake_up)(void *, int);\n\ntypedef void (*btf_trace_svc_xdr_recvfrom)(void *, const struct xdr_buf *);\n\ntypedef void (*btf_trace_svc_xdr_sendto)(void *, __be32, const struct xdr_buf *);\n\ntypedef void (*btf_trace_svc_xprt_accept)(void *, const struct svc_xprt *, const char *);\n\ntypedef void (*btf_trace_svc_xprt_close)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_create_err)(void *, const char *, const char *, struct sockaddr *, size_t, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_dequeue)(void *, const struct svc_rqst *);\n\ntypedef void (*btf_trace_svc_xprt_detach)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_enqueue)(void *, const struct svc_xprt *, long unsigned int);\n\ntypedef void (*btf_trace_svc_xprt_free)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svc_xprt_no_write_space)(void *, const struct svc_xprt *);\n\ntypedef void (*btf_trace_svcsock_accept_err)(void *, const struct svc_xprt *, const char *, long int);\n\ntypedef void (*btf_trace_svcsock_data_ready)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_free)(void *, const void *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_getpeername_err)(void *, const struct svc_xprt *, const char *, long int);\n\ntypedef void (*btf_trace_svcsock_marker)(void *, const struct svc_xprt *, __be32);\n\ntypedef void (*btf_trace_svcsock_new)(void *, const void *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_tcp_recv)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_eagain)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_err)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_recv_short)(void *, const struct svc_xprt *, u32, u32);\n\ntypedef void (*btf_trace_svcsock_tcp_send)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_tcp_state)(void *, const struct svc_xprt *, const struct socket *);\n\ntypedef void (*btf_trace_svcsock_udp_recv)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_udp_recv_err)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_udp_send)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_svcsock_write_space)(void *, const struct svc_xprt *, ssize_t);\n\ntypedef void (*btf_trace_swiotlb_bounced)(void *, struct device *, dma_addr_t, size_t);\n\ntypedef void (*btf_trace_sys_enter)(void *, struct pt_regs *, long int);\n\ntypedef void (*btf_trace_sys_exit)(void *, struct pt_regs *, long int);\n\ntypedef void (*btf_trace_task_newtask)(void *, struct task_struct *, long unsigned int);\n\ntypedef void (*btf_trace_task_prctl_unknown)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_task_rename)(void *, struct task_struct *, const char *);\n\ntypedef void (*btf_trace_tasklet_entry)(void *, struct tasklet_struct *, void *);\n\ntypedef void (*btf_trace_tasklet_exit)(void *, struct tasklet_struct *, void *);\n\ntypedef void (*btf_trace_tcp_ao_handshake_failure)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_key_not_found)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_mismatch)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_rcv_sne_update)(void *, const struct sock *, __u32);\n\ntypedef void (*btf_trace_tcp_ao_rnext_request)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_snd_sne_update)(void *, const struct sock *, __u32);\n\ntypedef void (*btf_trace_tcp_ao_synack_no_key)(void *, const struct sock *, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_ao_wrong_maclen)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8);\n\ntypedef void (*btf_trace_tcp_bad_csum)(void *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_cong_state_set)(void *, struct sock *, const u8);\n\ntypedef void (*btf_trace_tcp_destroy_sock)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_hash_ao_required)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_bad_header)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_mismatch)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_required)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_hash_md5_unexpected)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_probe)(void *, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_rcv_space_adjust)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_receive_reset)(void *, struct sock *);\n\ntypedef void (*btf_trace_tcp_retransmit_skb)(void *, const struct sock *, const struct sk_buff *);\n\ntypedef void (*btf_trace_tcp_retransmit_synack)(void *, const struct sock *, const struct request_sock *);\n\ntypedef void (*btf_trace_tcp_send_reset)(void *, const struct sock *, const struct sk_buff *, const enum sk_rst_reason);\n\ntypedef void (*btf_trace_thermal_power_cpu_get_power_simple)(void *, int, u32);\n\ntypedef void (*btf_trace_thermal_power_cpu_limit)(void *, const struct cpumask *, unsigned int, long unsigned int, u32);\n\ntypedef void (*btf_trace_thermal_power_devfreq_get_power)(void *, struct thermal_cooling_device *, struct devfreq_dev_status *, long unsigned int, u32);\n\ntypedef void (*btf_trace_thermal_power_devfreq_limit)(void *, struct thermal_cooling_device *, long unsigned int, long unsigned int, u32);\n\ntypedef void (*btf_trace_thermal_temperature)(void *, struct thermal_zone_device *);\n\ntypedef void (*btf_trace_thermal_zone_trip)(void *, struct thermal_zone_device *, int, enum thermal_trip_type);\n\ntypedef void (*btf_trace_tick_stop)(void *, int, int);\n\ntypedef void (*btf_trace_time_out_leases)(void *, struct inode *, struct file_lease *);\n\ntypedef void (*btf_trace_timer_base_idle)(void *, bool, unsigned int);\n\ntypedef void (*btf_trace_timer_cancel)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_expire_entry)(void *, struct timer_list *, long unsigned int);\n\ntypedef void (*btf_trace_timer_expire_exit)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_init)(void *, struct timer_list *);\n\ntypedef void (*btf_trace_timer_start)(void *, struct timer_list *, long unsigned int);\n\ntypedef void (*btf_trace_tlb_flush)(void *, int, long unsigned int);\n\ntypedef void (*btf_trace_tls_alert_recv)(void *, const struct sock *, unsigned char, unsigned char);\n\ntypedef void (*btf_trace_tls_alert_send)(void *, const struct sock *, unsigned char, unsigned char);\n\ntypedef void (*btf_trace_tls_contenttype)(void *, const struct sock *, unsigned char);\n\ntypedef void (*btf_trace_tmigr_connect_child_parent)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_connect_cpu_parent)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_active)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_idle)(void *, struct tmigr_cpu *, u64);\n\ntypedef void (*btf_trace_tmigr_cpu_new_timer)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_new_timer_idle)(void *, struct tmigr_cpu *, u64);\n\ntypedef void (*btf_trace_tmigr_cpu_offline)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_cpu_online)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_group_set)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_group_set_cpu_active)(void *, struct tmigr_group *, union tmigr_state, u32);\n\ntypedef void (*btf_trace_tmigr_group_set_cpu_inactive)(void *, struct tmigr_group *, union tmigr_state, u32);\n\ntypedef void (*btf_trace_tmigr_handle_remote)(void *, struct tmigr_group *);\n\ntypedef void (*btf_trace_tmigr_handle_remote_cpu)(void *, struct tmigr_cpu *);\n\ntypedef void (*btf_trace_tmigr_update_events)(void *, struct tmigr_group *, struct tmigr_group *, union tmigr_state, union tmigr_state, u64);\n\ntypedef void (*btf_trace_track_foreign_dirty)(void *, struct folio *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_udp_fail_queue_rcv_skb)(void *, int, struct sock *, struct sk_buff *);\n\ntypedef void (*btf_trace_unmap)(void *, long unsigned int, size_t, size_t);\n\ntypedef void (*btf_trace_usb_ep_alloc_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_clear_halt)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_dequeue)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_disable)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_enable)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_fifo_flush)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_fifo_status)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_free_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_queue)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_ep_set_halt)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_set_maxpacket_limit)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_ep_set_wedge)(void *, struct usb_ep *, int);\n\ntypedef void (*btf_trace_usb_gadget_activate)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_clear_selfpowered)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_connect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_deactivate)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_disconnect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_frame_number)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_giveback_request)(void *, struct usb_ep *, struct usb_request *, int);\n\ntypedef void (*btf_trace_usb_gadget_set_remote_wakeup)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_set_selfpowered)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_connect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_disconnect)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_vbus_draw)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_usb_gadget_wakeup)(void *, struct usb_gadget *, int);\n\ntypedef void (*btf_trace_vm_unmapped_area)(void *, long unsigned int, struct vm_unmapped_area_info *);\n\ntypedef void (*btf_trace_vma_mas_szero)(void *, struct maple_tree *, long unsigned int, long unsigned int);\n\ntypedef void (*btf_trace_vma_store)(void *, struct maple_tree *, struct vm_area_struct *);\n\ntypedef void (*btf_trace_wake_reaper)(void *, int);\n\ntypedef void (*btf_trace_wakeup_source_activate)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_wakeup_source_deactivate)(void *, const char *, unsigned int);\n\ntypedef void (*btf_trace_watchdog_ping)(void *, struct watchdog_device *, int);\n\ntypedef void (*btf_trace_watchdog_set_timeout)(void *, struct watchdog_device *, unsigned int, int);\n\ntypedef void (*btf_trace_watchdog_start)(void *, struct watchdog_device *, int);\n\ntypedef void (*btf_trace_watchdog_stop)(void *, struct watchdog_device *, int);\n\ntypedef void (*btf_trace_wbc_writepage)(void *, struct writeback_control *, struct backing_dev_info *);\n\ntypedef void (*btf_trace_workqueue_activate_work)(void *, struct work_struct *);\n\ntypedef void (*btf_trace_workqueue_execute_end)(void *, struct work_struct *, work_func_t);\n\ntypedef void (*btf_trace_workqueue_execute_start)(void *, struct work_struct *);\n\ntypedef void (*btf_trace_workqueue_queue_work)(void *, int, struct pool_workqueue *, struct work_struct *);\n\ntypedef void (*btf_trace_writeback_bdi_register)(void *, struct backing_dev_info *);\n\ntypedef void (*btf_trace_writeback_dirty_folio)(void *, struct folio *, struct address_space *);\n\ntypedef void (*btf_trace_writeback_dirty_inode)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_dirty_inode_enqueue)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_dirty_inode_start)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_exec)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_lazytime)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_lazytime_iput)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_mark_inode_dirty)(void *, struct inode *, int);\n\ntypedef void (*btf_trace_writeback_pages_written)(void *, long int);\n\ntypedef void (*btf_trace_writeback_queue)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_queue_io)(void *, struct bdi_writeback *, struct wb_writeback_work *, long unsigned int, int);\n\ntypedef void (*btf_trace_writeback_sb_inodes_requeue)(void *, struct inode *);\n\ntypedef void (*btf_trace_writeback_single_inode)(void *, struct inode *, struct writeback_control *, long unsigned int);\n\ntypedef void (*btf_trace_writeback_single_inode_start)(void *, struct inode *, struct writeback_control *, long unsigned int);\n\ntypedef void (*btf_trace_writeback_start)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_wait)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_writeback_wake_background)(void *, struct bdi_writeback *);\n\ntypedef void (*btf_trace_writeback_write_inode)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_writeback_write_inode_start)(void *, struct inode *, struct writeback_control *);\n\ntypedef void (*btf_trace_writeback_written)(void *, struct bdi_writeback *, struct wb_writeback_work *);\n\ntypedef void (*btf_trace_xdp_bulk_tx)(void *, const struct net_device *, int, int, int);\n\ntypedef void (*btf_trace_xdp_cpumap_enqueue)(void *, int, unsigned int, unsigned int, int);\n\ntypedef void (*btf_trace_xdp_cpumap_kthread)(void *, int, unsigned int, unsigned int, int, struct xdp_cpumap_stats *);\n\ntypedef void (*btf_trace_xdp_devmap_xmit)(void *, const struct net_device *, const struct net_device *, int, int, int);\n\ntypedef void (*btf_trace_xdp_exception)(void *, const struct net_device *, const struct bpf_prog *, u32);\n\ntypedef void (*btf_trace_xdp_redirect)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_map)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xdp_redirect_map_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32);\n\ntypedef void (*btf_trace_xhci_add_endpoint)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_address_ctrl_ctx)(void *, struct xhci_input_control_ctx *);\n\ntypedef void (*btf_trace_xhci_address_ctx)(void *, struct xhci_hcd *, struct xhci_container_ctx *, unsigned int);\n\ntypedef void (*btf_trace_xhci_alloc_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_alloc_stream_info_ctx)(void *, struct xhci_stream_info *, unsigned int);\n\ntypedef void (*btf_trace_xhci_alloc_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_configure_endpoint)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_configure_endpoint_ctrl_ctx)(void *, struct xhci_input_control_ctx *);\n\ntypedef void (*btf_trace_xhci_dbc_alloc_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_free_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_gadget_ep_queue)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_giveback_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbc_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_dbc_queue_request)(void *, struct dbc_request *);\n\ntypedef void (*btf_trace_xhci_dbg_address)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_cancel_urb)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_context_change)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_init)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_quirks)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_reset_ep)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_dbg_ring_expansion)(void *, struct va_format *);\n\ntypedef void (*btf_trace_xhci_discover_or_reset_device)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_free_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_free_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_get_port_status)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_handle_cmd_addr_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_config_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_disable_slot)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_reset_dev)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_reset_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_cmd_set_deq_stream)(void *, struct xhci_stream_info *, unsigned int);\n\ntypedef void (*btf_trace_xhci_handle_cmd_stop_ep)(void *, struct xhci_ep_ctx *);\n\ntypedef void (*btf_trace_xhci_handle_command)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_handle_port_status)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_hub_status_data)(void *, struct xhci_port *, u32);\n\ntypedef void (*btf_trace_xhci_inc_deq)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_inc_enq)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_queue_trb)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t);\n\ntypedef void (*btf_trace_xhci_ring_alloc)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_ep_doorbell)(void *, u32, u32);\n\ntypedef void (*btf_trace_xhci_ring_expansion)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_free)(void *, struct xhci_ring *);\n\ntypedef void (*btf_trace_xhci_ring_host_doorbell)(void *, u32, u32);\n\ntypedef void (*btf_trace_xhci_setup_addressable_virt_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_setup_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_setup_device_slot)(void *, struct xhci_slot_ctx *);\n\ntypedef void (*btf_trace_xhci_stop_device)(void *, struct xhci_virt_device *);\n\ntypedef void (*btf_trace_xhci_urb_dequeue)(void *, struct urb *);\n\ntypedef void (*btf_trace_xhci_urb_enqueue)(void *, struct urb *);\n\ntypedef void (*btf_trace_xhci_urb_giveback)(void *, struct urb *);\n\ntypedef void (*btf_trace_xprt_connect)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_create)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_destroy)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_auto)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_done)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_disconnect_force)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xprt_get_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_lookup_rqst)(void *, const struct rpc_xprt *, __be32, int);\n\ntypedef void (*btf_trace_xprt_ping)(void *, const struct rpc_xprt *, int);\n\ntypedef void (*btf_trace_xprt_put_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_release_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_release_xprt)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_reserve)(void *, const struct rpc_rqst *);\n\ntypedef void (*btf_trace_xprt_reserve_cong)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_reserve_xprt)(void *, const struct rpc_xprt *, const struct rpc_task *);\n\ntypedef void (*btf_trace_xprt_retransmit)(void *, const struct rpc_rqst *);\n\ntypedef void (*btf_trace_xprt_timer)(void *, const struct rpc_xprt *, __be32, int);\n\ntypedef void (*btf_trace_xprt_transmit)(void *, const struct rpc_rqst *, int);\n\ntypedef void (*btf_trace_xs_data_ready)(void *, const struct rpc_xprt *);\n\ntypedef void (*btf_trace_xs_stream_read_data)(void *, struct rpc_xprt *, ssize_t, size_t);\n\ntypedef void (*btf_trace_xs_stream_read_request)(void *, struct sock_xprt *);\n\ntypedef struct mtd_info *cfi_cmdset_fn_t(struct map_info *, int);\n\ntypedef void cleanup_cb_t(struct rq_wait *, void *);\n\ntypedef int (*cmp_r_func_t)(const void *, const void *, const void *);\n\ntypedef void (*companion_fn)(struct pci_dev *, struct usb_hcd *, struct pci_dev *, struct usb_hcd *);\n\ntypedef bool (*cond_update_fn_t)(struct trace_array *, void *);\n\ntypedef long unsigned int (*count_objects_cb)(struct shrinker *, struct shrink_control *);\n\ntypedef void * (*devcon_match_fn_t)(const struct fwnode_handle *, const char *, void *);\n\ntypedef int (*device_iter_t)(struct device *, void *);\n\ntypedef int (*device_match_t)(struct device *, const void *);\n\ntypedef int (*dr_match_t)(struct device *, void *, void *);\n\ntypedef int (*dynevent_check_arg_fn_t)(void *);\n\ntypedef efi_status_t (*efi_exit_boot_map_processing)(struct efi_boot_memmap *, void *);\n\ntypedef int (*efi_memattr_perm_setter)(struct mm_struct *, efi_memory_desc_t *, bool);\n\ntypedef void (*ethnl_notify_handler_t)(struct net_device *, unsigned int, const void *);\n\ntypedef void (*exitcall_t)(void);\n\ntypedef int (*ext4_mballoc_query_range_fn)(struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t, void *);\n\ntypedef void ext4_update_sb_callback(struct ext4_super_block *, const void *);\n\ntypedef u32 (*fallback)(u32, const unsigned char *, size_t);\n\ntypedef int filler_t(struct file *, struct folio *);\n\ntypedef bool (*filter_func_t)(struct uprobe_consumer *, struct mm_struct *);\n\ntypedef void fn_handler_fn(struct vc_data *);\n\ntypedef void free_folio_t(struct folio *, long unsigned int);\n\ntypedef struct sk_buff * (*gro_receive_sk_t)(struct sock *, struct list_head *, struct sk_buff *);\n\ntypedef struct sk_buff * (*gro_receive_t)(struct list_head *, struct sk_buff *);\n\ntypedef bool (*hid_usage_cmp_t)(struct hid_usage *, unsigned int, unsigned int);\n\ntypedef const struct iio_mount_matrix *iio_get_mount_matrix_t(const struct iio_dev *, const struct iio_chan_spec *);\n\ntypedef u32 inet6_ehashfn_t(const struct net *, const struct in6_addr *, const u16, const struct in6_addr *, const __be16);\n\ntypedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const __be32, const __be16);\n\ntypedef initcall_t initcall_entry_t;\n\ntypedef int (*initxattrs)(struct inode *, const struct xattr *, void *);\n\ntypedef struct dentry *instantiate_t(struct dentry *, struct task_struct *, const void *);\n\ntypedef int (*ioctl_fn)(struct file *, struct autofs_sb_info *, struct autofs_dev_ioctl *);\n\ntypedef void (*iomap_punch_t)(struct inode *, loff_t, loff_t, struct iomap *);\n\ntypedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *);\n\ntypedef size_t (*iov_ustep_f)(void *, size_t, size_t, void *, void *);\n\ntypedef void ip6_icmp_send_t(struct sk_buff *, u8, u8, __u32, const struct in6_addr *, const struct inet6_skb_parm *);\n\ntypedef void (*irq_write_msi_msg_t)(struct msi_desc *, struct msi_msg *);\n\ntypedef void (*jump_kernel_func)(long unsigned int, long unsigned int);\n\ntypedef void k_handler_fn(struct vc_data *, unsigned char, char);\n\ntypedef int (*list_cmp_func_t)(void *, const struct list_head *, const struct list_head *);\n\ntypedef enum lru_status (*list_lru_walk_cb)(struct list_head *, struct list_lru_one *, void *);\n\ntypedef void (*move_fn_t)(struct lruvec *, struct folio *);\n\ntypedef int (*netlink_filter_fn)(struct sock *, struct sk_buff *, void *);\n\ntypedef struct folio *new_folio_t(struct folio *, long unsigned int);\n\ntypedef int (*nlm_host_match_fn_t)(void *, struct nlm_host *);\n\ntypedef struct ns_common *ns_get_path_helper_t(void *);\n\ntypedef int (*objpool_init_obj_cb)(void *, void *);\n\ntypedef struct gpio_desc * (*of_find_gpio_quirk)(struct device_node *, const char *, unsigned int, enum of_gpio_flags *);\n\ntypedef void (*of_init_fn_1)(struct device_node *);\n\ntypedef int (*of_init_fn_1_ret)(struct device_node *);\n\ntypedef int (*of_init_fn_2)(struct device_node *, struct device_node *);\n\ntypedef int (*parse_pred_fn)(const char *, void *, int, struct filter_parse_error *, struct filter_pred **);\n\ntypedef int (*parse_unknown_fn)(char *, char *, const char *, void *);\n\ntypedef int (*pcie_callback_t)(struct pcie_device *);\n\ntypedef int (*pcm_transfer_f)(struct snd_pcm_substream *, int, long unsigned int, struct iov_iter *, long unsigned int);\n\ntypedef int (*pcm_copy_f)(struct snd_pcm_substream *, snd_pcm_uframes_t, void *, snd_pcm_uframes_t, snd_pcm_uframes_t, pcm_transfer_f, bool);\n\ntypedef int pcpu_fc_cpu_distance_fn_t(unsigned int, unsigned int);\n\ntypedef int pcpu_fc_cpu_to_node_fn_t(int);\n\ntypedef void perf_iterate_f(struct perf_event *, void *);\n\ntypedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int);\n\ntypedef int (*pm_callback_t)(struct device *);\n\ntypedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int);\n\ntypedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *);\n\ntypedef int (*proc_visitor)(struct task_struct *, void *);\n\ntypedef int (*pte_fn_t)(pte_t *, long unsigned int, void *);\n\ntypedef int (*reservedmem_of_init_fn)(struct reserved_mem *);\n\ntypedef bool (*ring_buffer_cond_fn)(void *);\n\ntypedef void (*rpc_action)(struct rpc_task *);\n\ntypedef void (*rtl_generic_fct)(struct rtl8169_private *);\n\ntypedef void (*rtl_phy_cfg_fct)(struct rtl8169_private *, struct phy_device *);\n\ntypedef bool (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *);\n\ntypedef long unsigned int (*scan_objects_cb)(struct shrinker *, struct shrink_control *);\n\ntypedef int (*sendmsg_func)(struct sock *, struct msghdr *);\n\ntypedef void (*serial8250_isa_config_fn)(int, struct uart_port *, u32 *);\n\ntypedef int (*set_callee_state_fn)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *, int);\n\ntypedef struct scatterlist *sg_alloc_fn(unsigned int, gfp_t);\n\ntypedef void sg_free_fn(struct scatterlist *, unsigned int);\n\ntypedef void sha256_block_fn(struct sha256_state *, const u8 *, int);\n\ntypedef bool (*smp_cond_func_t)(int, void *);\n\ntypedef int splice_actor(struct pipe_inode_info *, struct pipe_buffer *, struct splice_desc *);\n\ntypedef int splice_direct_actor(struct pipe_inode_info *, struct splice_desc *);\n\ntypedef bool (*stack_trace_consume_fn)(void *, long unsigned int);\n\ntypedef void (*swap_r_func_t)(void *, void *, int, const void *);\n\ntypedef long int (*syscall_t)(const struct pt_regs *);\n\ntypedef int (*task_call_f)(struct task_struct *, void *);\n\ntypedef void (*task_work_func_t)(struct callback_head *);\n\ntypedef int (*tg_visitor)(struct task_group *, void *);\n\ntypedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16);\n\ntypedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, struct tmigr_walk *);\n\ntypedef int (*varsize_frob_t)(struct map_info *, struct flchip *, long unsigned int, int, void *);\n\ntypedef int wait_bit_action_f(struct wait_bit_key *, int);\n\ntypedef int (*writepage_t)(struct folio *, struct writeback_control *, void *);\n\ntypedef size_t (*xdr_skb_read_actor)(struct xdr_skb_reader *, void *, size_t);\n\ntypedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *);\n\ntypedef struct rpc_xprt * (*xprt_switch_find_xprt_t)(struct rpc_xprt_switch *, const struct rpc_xprt *);\n\nstruct nf_bridge_frag_data;\n\nstruct bpf_iter;\n\nstruct cma;\n\nstruct creds;\n\nstruct fscrypt_inode_info;\n\nstruct fsverity_info;\n\nstruct pctldev;\n\n\n/* BPF kfuncs */\n#ifndef BPF_NO_KFUNC_PROTOTYPES\nextern void *bpf_arena_alloc_pages(void *p__map, void *addr__ign, u32 page_cnt, int node_id, u64 flags) __weak __ksym;\nextern void bpf_arena_free_pages(void *p__map, void *ptr__ign, u32 page_cnt) __weak __ksym;\nextern __bpf_fastcall void *bpf_cast_to_kern_ctx(void *obj) __weak __ksym;\nextern struct cgroup *bpf_cgroup_acquire(struct cgroup *cgrp) __weak __ksym;\nextern struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __weak __ksym;\nextern struct cgroup *bpf_cgroup_from_id(u64 cgid) __weak __ksym;\nextern void bpf_cgroup_release(struct cgroup *cgrp) __weak __ksym;\nextern int bpf_copy_from_user_str(void *dst, u32 dst__sz, const void *unsafe_ptr__ign, u64 flags) __weak __ksym;\nextern struct bpf_crypto_ctx *bpf_crypto_ctx_acquire(struct bpf_crypto_ctx *ctx) __weak __ksym;\nextern struct bpf_crypto_ctx *bpf_crypto_ctx_create(const struct bpf_crypto_params *params, u32 params__sz, int *err) __weak __ksym;\nextern void bpf_crypto_ctx_release(struct bpf_crypto_ctx *ctx) __weak __ksym;\nextern int bpf_crypto_decrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym;\nextern int bpf_crypto_encrypt(struct bpf_crypto_ctx *ctx, const struct bpf_dynptr *src, const struct bpf_dynptr *dst, const struct bpf_dynptr *siv__nullable) __weak __ksym;\nextern int bpf_dynptr_adjust(const struct bpf_dynptr *p, u32 start, u32 end) __weak __ksym;\nextern int bpf_dynptr_clone(const struct bpf_dynptr *p, struct bpf_dynptr *clone__uninit) __weak __ksym;\nextern int bpf_dynptr_from_skb(struct __sk_buff *s, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym;\nextern int bpf_dynptr_from_xdp(struct xdp_md *x, u64 flags, struct bpf_dynptr *ptr__uninit) __weak __ksym;\nextern bool bpf_dynptr_is_null(const struct bpf_dynptr *p) __weak __ksym;\nextern bool bpf_dynptr_is_rdonly(const struct bpf_dynptr *p) __weak __ksym;\nextern __u32 bpf_dynptr_size(const struct bpf_dynptr *p) __weak __ksym;\nextern void *bpf_dynptr_slice(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym;\nextern void *bpf_dynptr_slice_rdwr(const struct bpf_dynptr *p, u32 offset, void *buffer__opt, u32 buffer__szk) __weak __ksym;\nextern int bpf_fentry_test1(int a) __weak __ksym;\nextern struct kmem_cache *bpf_get_kmem_cache(u64 addr) __weak __ksym;\nextern void bpf_iter_bits_destroy(struct bpf_iter_bits *it) __weak __ksym;\nextern int bpf_iter_bits_new(struct bpf_iter_bits *it, const u64 *unsafe_ptr__ign, u32 nr_words) __weak __ksym;\nextern int *bpf_iter_bits_next(struct bpf_iter_bits *it) __weak __ksym;\nextern void bpf_iter_css_destroy(struct bpf_iter_css *it) __weak __ksym;\nextern int bpf_iter_css_new(struct bpf_iter_css *it, struct cgroup_subsys_state *start, unsigned int flags) __weak __ksym;\nextern struct cgroup_subsys_state *bpf_iter_css_next(struct bpf_iter_css *it) __weak __ksym;\nextern void bpf_iter_css_task_destroy(struct bpf_iter_css_task *it) __weak __ksym;\nextern int bpf_iter_css_task_new(struct bpf_iter_css_task *it, struct cgroup_subsys_state *css, unsigned int flags) __weak __ksym;\nextern struct task_struct *bpf_iter_css_task_next(struct bpf_iter_css_task *it) __weak __ksym;\nextern void bpf_iter_kmem_cache_destroy(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern int bpf_iter_kmem_cache_new(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern struct kmem_cache *bpf_iter_kmem_cache_next(struct bpf_iter_kmem_cache *it) __weak __ksym;\nextern void bpf_iter_num_destroy(struct bpf_iter_num *it) __weak __ksym;\nextern int bpf_iter_num_new(struct bpf_iter_num *it, int start, int end) __weak __ksym;\nextern int *bpf_iter_num_next(struct bpf_iter_num *it) __weak __ksym;\nextern void bpf_iter_task_destroy(struct bpf_iter_task *it) __weak __ksym;\nextern int bpf_iter_task_new(struct bpf_iter_task *it, struct task_struct *task__nullable, unsigned int flags) __weak __ksym;\nextern struct task_struct *bpf_iter_task_next(struct bpf_iter_task *it) __weak __ksym;\nextern void bpf_iter_task_vma_destroy(struct bpf_iter_task_vma *it) __weak __ksym;\nextern int bpf_iter_task_vma_new(struct bpf_iter_task_vma *it, struct task_struct *task, u64 addr) __weak __ksym;\nextern struct vm_area_struct *bpf_iter_task_vma_next(struct bpf_iter_task_vma *it) __weak __ksym;\nextern void bpf_key_put(struct bpf_key *bkey) __weak __ksym;\nextern void bpf_kfunc_call_memb_release(struct prog_test_member *p) __weak __ksym;\nextern void bpf_kfunc_call_test_release(struct prog_test_ref_kfunc *p) __weak __ksym;\nextern struct bpf_list_node *bpf_list_pop_back(struct bpf_list_head *head) __weak __ksym;\nextern struct bpf_list_node *bpf_list_pop_front(struct bpf_list_head *head) __weak __ksym;\nextern int bpf_list_push_back_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym;\nextern int bpf_list_push_front_impl(struct bpf_list_head *head, struct bpf_list_node *node, void *meta__ign, u64 off) __weak __ksym;\nextern void bpf_local_irq_restore(long unsigned int *flags__irq_flag) __weak __ksym;\nextern void bpf_local_irq_save(long unsigned int *flags__irq_flag) __weak __ksym;\nextern struct bpf_key *bpf_lookup_system_key(u64 id) __weak __ksym;\nextern struct bpf_key *bpf_lookup_user_key(u32 serial, u64 flags) __weak __ksym;\nextern s64 bpf_map_sum_elem_count(const struct bpf_map *map) __weak __ksym;\nextern int bpf_modify_return_test(int a, int *b) __weak __ksym;\nextern int bpf_modify_return_test2(int a, int *b, short int c, int d, void *e, char f, int g) __weak __ksym;\nextern int bpf_modify_return_test_tp(int nonce) __weak __ksym;\nextern void bpf_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym;\nextern void *bpf_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym;\nextern void bpf_percpu_obj_drop_impl(void *p__alloc, void *meta__ign) __weak __ksym;\nextern void *bpf_percpu_obj_new_impl(u64 local_type_id__k, void *meta__ign) __weak __ksym;\nextern void bpf_preempt_disable(void) __weak __ksym;\nextern void bpf_preempt_enable(void) __weak __ksym;\nextern int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, bool (*less)(struct bpf_rb_node *, const struct bpf_rb_node *), void *meta__ign, u64 off) __weak __ksym;\nextern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __weak __ksym;\nextern struct bpf_rb_node *bpf_rbtree_remove(struct bpf_rb_root *root, struct bpf_rb_node *node) __weak __ksym;\nextern void bpf_rcu_read_lock(void) __weak __ksym;\nextern void bpf_rcu_read_unlock(void) __weak __ksym;\nextern __bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k) __weak __ksym;\nextern void *bpf_refcount_acquire_impl(void *p__refcounted_kptr, void *meta__ign) __weak __ksym;\nextern int bpf_send_signal_task(struct task_struct *task, int sig, enum pid_type type, u64 value) __weak __ksym;\nextern __u64 *bpf_session_cookie(void) __weak __ksym;\nextern bool bpf_session_is_return(void) __weak __ksym;\nextern int bpf_sk_assign_tcp_reqsk(struct __sk_buff *s, struct sock *sk, struct bpf_tcp_req_attrs *attrs, int attrs__sz) __weak __ksym;\nextern int bpf_sock_addr_set_sun_path(struct bpf_sock_addr_kern *sa_kern, const u8 *sun_path, u32 sun_path__sz) __weak __ksym;\nextern int bpf_sock_destroy(struct sock_common *sock) __weak __ksym;\nextern struct task_struct *bpf_task_acquire(struct task_struct *p) __weak __ksym;\nextern struct task_struct *bpf_task_from_pid(s32 pid) __weak __ksym;\nextern struct task_struct *bpf_task_from_vpid(s32 vpid) __weak __ksym;\nextern struct cgroup *bpf_task_get_cgroup1(struct task_struct *task, int hierarchy_id) __weak __ksym;\nextern void bpf_task_release(struct task_struct *p) __weak __ksym;\nextern long int bpf_task_under_cgroup(struct task_struct *task, struct cgroup *ancestor) __weak __ksym;\nextern void bpf_throw(u64 cookie) __weak __ksym;\nextern int bpf_wq_init(struct bpf_wq *wq, void *p__map, unsigned int flags) __weak __ksym;\nextern int bpf_wq_set_callback_impl(struct bpf_wq *wq, int (*callback_fn)(void *, int *, void *), unsigned int flags, void *aux__ign) __weak __ksym;\nextern int bpf_wq_start(struct bpf_wq *wq, unsigned int flags) __weak __ksym;\nextern struct xfrm_state *bpf_xdp_get_xfrm_state(struct xdp_md *ctx, struct bpf_xfrm_state_opts *opts, u32 opts__sz) __weak __ksym;\nextern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, u32 *hash, enum xdp_rss_hash_type *rss_type) __weak __ksym;\nextern int bpf_xdp_metadata_rx_timestamp(const struct xdp_md *ctx, u64 *timestamp) __weak __ksym;\nextern int bpf_xdp_metadata_rx_vlan_tag(const struct xdp_md *ctx, __be16 *vlan_proto, u16 *vlan_tci) __weak __ksym;\nextern void bpf_xdp_xfrm_state_release(struct xfrm_state *x) __weak __ksym;\nextern void cgroup_rstat_flush(struct cgroup *cgrp) __weak __ksym;\nextern void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) __weak __ksym;\nextern void cubictcp_acked(struct sock *sk, const struct ack_sample *sample) __weak __ksym;\nextern void cubictcp_cong_avoid(struct sock *sk, u32 ack, u32 acked) __weak __ksym;\nextern void cubictcp_cwnd_event(struct sock *sk, enum tcp_ca_event event) __weak __ksym;\nextern void cubictcp_init(struct sock *sk) __weak __ksym;\nextern u32 cubictcp_recalc_ssthresh(struct sock *sk) __weak __ksym;\nextern void cubictcp_state(struct sock *sk, u8 new_state) __weak __ksym;\n#endif\n\n#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n#pragma clang attribute pop\n#endif\n\n#endif /* __VMLINUX_H__ */\n"
  },
  {
    "path": "libbpf-tools/runqlat.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"runqlat.h\"\n#include \"bits.bpf.h\"\n#include \"maps.bpf.h\"\n#include \"core_fixes.bpf.h\"\n\n#define MAX_ENTRIES\t10240\n#define TASK_RUNNING \t0\n\nconst volatile bool filter_cg = false;\nconst volatile bool targ_per_process = false;\nconst volatile bool targ_per_thread = false;\nconst volatile bool targ_per_pidns = false;\nconst volatile bool targ_ms = false;\nconst volatile pid_t targ_tgid = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_CGROUP_ARRAY);\n\t__type(key, u32);\n\t__type(value, u32);\n\t__uint(max_entries, 1);\n} cgroup_map SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, u32);\n\t__type(value, u64);\n} start SEC(\".maps\");\n\nstatic struct hist zero;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, u32);\n\t__type(value, struct hist);\n} hists SEC(\".maps\");\n\nstatic int trace_enqueue(u32 tgid, u32 pid)\n{\n\tu64 ts;\n\n\tif (!pid)\n\t\treturn 0;\n\tif (targ_tgid && targ_tgid != tgid)\n\t\treturn 0;\n\n\tts = bpf_ktime_get_ns();\n\tbpf_map_update_elem(&start, &pid, &ts, BPF_ANY);\n\treturn 0;\n}\n\nstatic unsigned int pid_namespace(struct task_struct *task)\n{\n\tstruct pid *pid;\n\tunsigned int level;\n\tstruct upid upid;\n\tunsigned int inum;\n\n\t/*  get the pid namespace by following task_active_pid_ns(),\n\t *  pid->numbers[pid->level].ns\n\t */\n\tpid = BPF_CORE_READ(task, thread_pid);\n\tlevel = BPF_CORE_READ(pid, level);\n\tbpf_core_read(&upid, sizeof(upid), &pid->numbers[level]);\n\tinum = BPF_CORE_READ(upid.ns, ns.inum);\n\n\treturn inum;\n}\n\nstatic int handle_switch(bool preempt, struct task_struct *prev, struct task_struct *next)\n{\n\tstruct hist *histp;\n\tu64 *tsp, slot;\n\tu32 pid, hkey;\n\ts64 delta;\n\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\tif (get_task_state(prev) == TASK_RUNNING)\n\t\ttrace_enqueue(BPF_CORE_READ(prev, tgid), BPF_CORE_READ(prev, pid));\n\n\tpid = BPF_CORE_READ(next, pid);\n\n\ttsp = bpf_map_lookup_elem(&start, &pid);\n\tif (!tsp)\n\t\treturn 0;\n\tdelta = bpf_ktime_get_ns() - *tsp;\n\tif (delta < 0)\n\t\tgoto cleanup;\n\n\tif (targ_per_process)\n\t\thkey = BPF_CORE_READ(next, tgid);\n\telse if (targ_per_thread)\n\t\thkey = pid;\n\telse if (targ_per_pidns)\n\t\thkey = pid_namespace(next);\n\telse\n\t\thkey = -1;\n\thistp = bpf_map_lookup_or_try_init(&hists, &hkey, &zero);\n\tif (!histp)\n\t\tgoto cleanup;\n\tif (!histp->comm[0])\n\t\tbpf_probe_read_kernel_str(&histp->comm, sizeof(histp->comm),\n\t\t\t\t\tnext->comm);\n\tif (targ_ms)\n\t\tdelta /= 1000000U;\n\telse\n\t\tdelta /= 1000U;\n\tslot = log2l(delta);\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\t__sync_fetch_and_add(&histp->slots[slot], 1);\n\ncleanup:\n\tbpf_map_delete_elem(&start, &pid);\n\treturn 0;\n}\n\nSEC(\"tp_btf/sched_wakeup\")\nint BPF_PROG(sched_wakeup, struct task_struct *p)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn trace_enqueue(p->tgid, p->pid);\n}\n\nSEC(\"tp_btf/sched_wakeup_new\")\nint BPF_PROG(sched_wakeup_new, struct task_struct *p)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn trace_enqueue(p->tgid, p->pid);\n}\n\nSEC(\"tp_btf/sched_switch\")\nint BPF_PROG(sched_switch, bool preempt, struct task_struct *prev, struct task_struct *next)\n{\n\treturn handle_switch(preempt, prev, next);\n}\n\nSEC(\"raw_tp/sched_wakeup\")\nint BPF_PROG(handle_sched_wakeup, struct task_struct *p)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn trace_enqueue(BPF_CORE_READ(p, tgid), BPF_CORE_READ(p, pid));\n}\n\nSEC(\"raw_tp/sched_wakeup_new\")\nint BPF_PROG(handle_sched_wakeup_new, struct task_struct *p)\n{\n\tif (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0))\n\t\treturn 0;\n\n\treturn trace_enqueue(BPF_CORE_READ(p, tgid), BPF_CORE_READ(p, pid));\n}\n\nSEC(\"raw_tp/sched_switch\")\nint BPF_PROG(handle_sched_switch, bool preempt, struct task_struct *prev, struct task_struct *next)\n{\n\treturn handle_switch(preempt, prev, next);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/runqlat.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2020 Wenbo Zhang\n//\n// Based on runqlat(8) from BCC by Bredan Gregg.\n// 10-Aug-2020   Wenbo Zhang   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"runqlat.h\"\n#include \"runqlat.skel.h\"\n#include \"trace_helpers.h\"\n\nstruct env {\n\ttime_t interval;\n\tpid_t pid;\n\tint times;\n\tbool milliseconds;\n\tbool per_process;\n\tbool per_thread;\n\tbool per_pidns;\n\tbool timestamp;\n\tbool verbose;\n\tchar *cgroupspath;\n\tbool cg;\n} env = {\n\t.interval = 99999999,\n\t.times = 99999999,\n};\n\nstatic volatile bool exiting;\n\nconst char *argp_program_version = \"runqlat 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Summarize run queue (scheduler) latency as a histogram.\\n\"\n\"\\n\"\n\"USAGE: runqlat [--help] [-T] [-m] [--pidnss] [-L] [-P] [-p PID] [interval] [count] [-c CG]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    runqlat         # summarize run queue latency as a histogram\\n\"\n\"    runqlat 1 10    # print 1 second summaries, 10 times\\n\"\n\"    runqlat -mT 1   # 1s summaries, milliseconds, and timestamps\\n\"\n\"    runqlat -P      # show each PID separately\\n\"\n\"    runqlat -p 185  # trace PID 185 only\\n\"\n\"    runqlat -c CG   # Trace process under cgroupsPath CG\\n\";\n\n#define OPT_PIDNSS\t1\t/* --pidnss */\n\nstatic const struct argp_option opts[] = {\n\t{ \"timestamp\", 'T', NULL, 0, \"Include timestamp on output\", 0 },\n\t{ \"milliseconds\", 'm', NULL, 0, \"Millisecond histogram\", 0 },\n\t{ \"pidnss\", OPT_PIDNSS, NULL, 0, \"Print a histogram per PID namespace\", 0 },\n\t{ \"pids\", 'P', NULL, 0, \"Print a histogram per process ID\", 0 },\n\t{ \"tids\", 'L', NULL, 0, \"Print a histogram per thread ID\", 0 },\n\t{ \"pid\", 'p', \"PID\", 0, \"Trace this PID only\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"cgroup\", 'c', \"/sys/fs/cgroup/unified\", 0, \"Trace process in cgroup path\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'm':\n\t\tenv.milliseconds = true;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tenv.pid = strtol(arg, NULL, 10);\n\t\tif (errno) {\n\t\t\tfprintf(stderr, \"invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tbreak;\n\tcase 'L':\n\t\tenv.per_thread = true;\n\t\tbreak;\n\tcase 'P':\n\t\tenv.per_process = true;\n\t\tbreak;\n\tcase OPT_PIDNSS:\n\t\tenv.per_pidns = true;\n\t\tbreak;\n\tcase 'T':\n\t\tenv.timestamp = true;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.cgroupspath = arg;\n\t\tenv.cg = true;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\terrno = 0;\n\t\tif (pos_args == 0) {\n\t\t\tenv.interval = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid internal\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else if (pos_args == 1) {\n\t\t\tenv.times = strtol(arg, NULL, 10);\n\t\t\tif (errno) {\n\t\t\t\tfprintf(stderr, \"invalid times\\n\");\n\t\t\t\targp_usage(state);\n\t\t\t}\n\t\t} else {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tpos_args++;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_handler(int sig)\n{\n\texiting = true;\n}\n\nstatic int print_log2_hists(struct bpf_map *hists)\n{\n\tconst char *units = env.milliseconds ? \"msecs\" : \"usecs\";\n\tint err, fd = bpf_map__fd(hists);\n\t__u32 lookup_key = -2, next_key;\n\tstruct hist hist;\n\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_lookup_elem(fd, &next_key, &hist);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to lookup hist: %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tif (env.per_process)\n\t\t\tprintf(\"\\npid = %d %s\\n\", next_key, hist.comm);\n\t\telse if (env.per_thread)\n\t\t\tprintf(\"\\ntid = %d %s\\n\", next_key, hist.comm);\n\t\telse if (env.per_pidns)\n\t\t\tprintf(\"\\npidns = %u %s\\n\", next_key, hist.comm);\n\t\tprint_log2_hist(hist.slots, MAX_SLOTS, units);\n\t\tlookup_key = next_key;\n\t}\n\n\tlookup_key = -2;\n\twhile (!bpf_map_get_next_key(fd, &lookup_key, &next_key)) {\n\t\terr = bpf_map_delete_elem(fd, &next_key);\n\t\tif (err < 0) {\n\t\t\tfprintf(stderr, \"failed to cleanup hist : %d\\n\", err);\n\t\t\treturn -1;\n\t\t}\n\t\tlookup_key = next_key;\n\t}\n\treturn 0;\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct runqlat_bpf *obj;\n\tchar ts[32];\n\tint err;\n\tint idx, cg_map_fd;\n\tint cgfd = -1;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tif ((env.per_thread && (env.per_process || env.per_pidns)) ||\n\t\t(env.per_process && env.per_pidns)) {\n\t\tfprintf(stderr, \"pidnss, pids, tids cann't be used together.\\n\");\n\t\treturn 1;\n\t}\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = runqlat_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tobj->rodata->targ_per_process = env.per_process;\n\tobj->rodata->targ_per_thread = env.per_thread;\n\tobj->rodata->targ_per_pidns = env.per_pidns;\n\tobj->rodata->targ_ms = env.milliseconds;\n\tobj->rodata->targ_tgid = env.pid;\n\tobj->rodata->filter_cg = env.cg;\n\n\tif (probe_tp_btf(\"sched_wakeup\")) {\n\t\tbpf_program__set_autoload(obj->progs.handle_sched_wakeup, false);\n\t\tbpf_program__set_autoload(obj->progs.handle_sched_wakeup_new, false);\n\t\tbpf_program__set_autoload(obj->progs.handle_sched_switch, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.sched_wakeup, false);\n\t\tbpf_program__set_autoload(obj->progs.sched_wakeup_new, false);\n\t\tbpf_program__set_autoload(obj->progs.sched_switch, false);\n\t}\n\n\terr = runqlat_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\t/* update cgroup path fd to map */\n\tif (env.cg) {\n\t\tidx = 0;\n\t\tcg_map_fd = bpf_map__fd(obj->maps.cgroup_map);\n\t\tcgfd = open(env.cgroupspath, O_RDONLY);\n\t\tif (cgfd < 0) {\n\t\t\tfprintf(stderr, \"Failed opening Cgroup path: %s\", env.cgroupspath);\n\t\t\tgoto cleanup;\n\t\t}\n\t\tif (bpf_map_update_elem(cg_map_fd, &idx, &cgfd, BPF_ANY)) {\n\t\t\tfprintf(stderr, \"Failed adding target cgroup to map\");\n\t\t\tgoto cleanup;\n\t\t}\n\t}\n\n\terr = runqlat_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"Tracing run queue latency... Hit Ctrl-C to end.\\n\");\n\n\tsignal(SIGINT, sig_handler);\n\n\t/* main: poll */\n\twhile (1) {\n\t\tsleep(env.interval);\n\t\tprintf(\"\\n\");\n\n\t\tif (env.timestamp) {\n\t\t\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\t\t\tprintf(\"%-8s\\n\", ts);\n\t\t}\n\n\t\terr = print_log2_hists(obj->maps.hists);\n\t\tif (err)\n\t\t\tbreak;\n\n\t\tif (exiting || --env.times == 0)\n\t\t\tbreak;\n\t}\n\ncleanup:\n\trunqlat_bpf__destroy(obj);\n\tif (cgfd > 0)\n\t\tclose(cgfd);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/runqlat.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __RUNQLAT_H\n#define __RUNQLAT_H\n\n#define TASK_COMM_LEN\t16\n#define MAX_SLOTS\t26\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n\tchar comm[TASK_COMM_LEN];\n};\n\n#endif /* __RUNQLAT_H */\n"
  },
  {
    "path": "libbpf-tools/runqlen.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2020 Wenbo Zhang\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"core_fixes.bpf.h\"\n#include \"runqlen.h\"\n\nconst volatile bool targ_per_cpu = false;\nconst volatile bool targ_host = false;\n\nstruct hist hists[MAX_CPU_NR] = {};\n\nSEC(\"perf_event\")\nint do_sample(struct bpf_perf_event_data *ctx)\n{\n\tstruct task_struct *task;\n\tstruct hist *hist;\n\tu64 slot, cpu = 0;\n\n\ttask = (void*)bpf_get_current_task();\n\tif (targ_host)\n\t\tslot = BPF_CORE_READ(task, se.cfs_rq, rq, nr_running);\n\telse\n\t\tslot = cfs_rq_get_nr_running_or_nr_queued(BPF_CORE_READ(task, se.cfs_rq));\n\t/*\n\t * Calculate run queue length by subtracting the currently running task,\n\t * if present. len 0 == idle, len 1 == one running task.\n\t */\n\tif (slot > 0)\n\t\tslot--;\n\tif (targ_per_cpu) {\n\t\tcpu = bpf_get_smp_processor_id();\n\t\t/*\n\t\t * When the program is started, the user space will immediately\n\t\t * exit when it detects this situation, here just to pass the\n\t\t * verifier's check.\n\t\t */\n\t\tif (cpu >= MAX_CPU_NR)\n\t\t\treturn 0;\n\t}\n\thist = &hists[cpu];\n\tif (slot >= MAX_SLOTS)\n\t\tslot = MAX_SLOTS - 1;\n\tif (targ_per_cpu)\n\t\thist->slots[slot]++;\n\telse\n\t\t__sync_fetch_and_add(&hist->slots[slot], 1);\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/runqlen.h",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n#ifndef __RUNQLEN_H\n#define __RUNQLEN_H\n\n#define MAX_CPU_NR\t128\n#define MAX_SLOTS\t32\n\nstruct hist {\n\t__u32 slots[MAX_SLOTS];\n};\n\n#endif /* __RUNQLEN_H */\n"
  },
  {
    "path": "libbpf-tools/runqslower.bpf.c",
    "content": "// SPDX-License-Identifier: GPL-2.0\n// Copyright (c) 2019 Facebook\n#include <vmlinux.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_tracing.h>\n#include \"runqslower.h\"\n#include \"core_fixes.bpf.h\"\n\n#define TASK_RUNNING\t0\n\nconst volatile char targ_comm[TASK_COMM_LEN] = {};\nconst volatile bool filter_comm = false;\nconst volatile __u64 min_us = 0;\nconst volatile pid_t targ_pid = 0;\nconst volatile pid_t targ_tgid = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, 10240);\n\t__type(key, u32);\n\t__type(value, u64);\n} start SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(u32));\n\t__uint(value_size, sizeof(u32));\n} events SEC(\".maps\");\n\nstatic __always_inline bool comm_allowed(const char *comm)\n{\n\tint i;\n\n\tfor (i = 0; i < TASK_COMM_LEN && targ_comm[i] != '\\0'; i++) {\n\t\tif (comm[i] != targ_comm[i])\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\n/* record enqueue timestamp */\nstatic int trace_enqueue(u32 tgid, u32 pid, const char *comm)\n{\n\tu64 ts;\n\n\tif (!pid)\n\t\treturn 0;\n\tif (targ_tgid && targ_tgid != tgid)\n\t\treturn 0;\n\tif (targ_pid && targ_pid != pid)\n\t\treturn 0;\n\tif (filter_comm && !comm_allowed(comm))\n\t\treturn 0;\n\n\tts = bpf_ktime_get_ns();\n\tbpf_map_update_elem(&start, &pid, &ts, 0);\n\treturn 0;\n}\n\nstatic int handle_switch(void *ctx, struct task_struct *prev, struct task_struct *next)\n{\n\tstruct event event = {};\n\tu64 *tsp, delta_us;\n\tu32 pid;\n\tchar comm[TASK_COMM_LEN] = {};\n\n\t/* ivcsw: treat like an enqueue event and store timestamp */\n\tif (get_task_state(prev) == TASK_RUNNING) {\n\t\tif (filter_comm)\n\t\t\tBPF_CORE_READ_STR_INTO(&comm, prev, comm);\n\t\ttrace_enqueue(BPF_CORE_READ(prev, tgid), BPF_CORE_READ(prev, pid), comm);\n\t}\n\n\tpid = BPF_CORE_READ(next, pid);\n\n\t/* fetch timestamp and calculate delta */\n\ttsp = bpf_map_lookup_elem(&start, &pid);\n\tif (!tsp)\n\t\treturn 0;   /* missed enqueue */\n\n\tdelta_us = (bpf_ktime_get_ns() - *tsp) / 1000;\n\tif (min_us && delta_us <= min_us)\n\t\treturn 0;\n\n\tevent.pid = pid;\n\tevent.prev_pid = BPF_CORE_READ(prev, pid);\n\tevent.delta_us = delta_us;\n\tbpf_probe_read_kernel_str(&event.task, sizeof(event.task), next->comm);\n\tbpf_probe_read_kernel_str(&event.prev_task, sizeof(event.prev_task), prev->comm);\n\n\t/* output */\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU,\n\t\t\t      &event, sizeof(event));\n\n\tbpf_map_delete_elem(&start, &pid);\n\treturn 0;\n}\n\nSEC(\"tp_btf/sched_wakeup\")\nint BPF_PROG(sched_wakeup, struct task_struct *p)\n{\n\treturn trace_enqueue(p->tgid, p->pid, p->comm);\n}\n\nSEC(\"tp_btf/sched_wakeup_new\")\nint BPF_PROG(sched_wakeup_new, struct task_struct *p)\n{\n\treturn trace_enqueue(p->tgid, p->pid, p->comm);\n}\n\nSEC(\"tp_btf/sched_switch\")\nint BPF_PROG(sched_switch, bool preempt, struct task_struct *prev, struct task_struct *next)\n{\n\treturn handle_switch(ctx, prev, next);\n}\n\nSEC(\"raw_tp/sched_wakeup\")\nint BPF_PROG(handle_sched_wakeup, struct task_struct *p)\n{\n\tchar comm[TASK_COMM_LEN] = {};\n\n\tif (filter_comm)\n\t\tBPF_CORE_READ_STR_INTO(&comm, p, comm);\n\treturn trace_enqueue(BPF_CORE_READ(p, tgid), BPF_CORE_READ(p, pid), comm);\n}\n\nSEC(\"raw_tp/sched_wakeup_new\")\nint BPF_PROG(handle_sched_wakeup_new, struct task_struct *p)\n{\n\tchar comm[TASK_COMM_LEN] = {};\n\n\tif (filter_comm)\n\t\tBPF_CORE_READ_STR_INTO(&comm, p, comm);\n\treturn trace_enqueue(BPF_CORE_READ(p, tgid), BPF_CORE_READ(p, pid), comm);\n}\n\nSEC(\"raw_tp/sched_switch\")\nint BPF_PROG(handle_sched_switch, bool preempt, struct task_struct *prev, struct task_struct *next)\n{\n\treturn handle_switch(ctx, prev, next);\n}\n\nchar LICENSE[] SEC(\"license\") = \"GPL\";\n"
  },
  {
    "path": "libbpf-tools/runqslower.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n// Copyright (c) 2019 Facebook\n//\n// Based on runqslower(8) from BCC by Ivan Babrou.\n// 11-Feb-2020   Andrii Nakryiko   Created this.\n#include <argp.h>\n#include <signal.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <time.h>\n#include <bpf/libbpf.h>\n#include <bpf/bpf.h>\n#include \"runqslower.h\"\n#include \"runqslower.skel.h\"\n#include \"trace_helpers.h\"\n\nstatic volatile sig_atomic_t exiting = 0;\n\nstruct env {\n\tpid_t pid;\n\tpid_t tid;\n\tchar *comm;\n\t__u64 min_us;\n\tbool previous;\n\tbool verbose;\n} env = {\n\t.min_us = 10000,\n};\n\nconst char *argp_program_version = \"runqslower 0.1\";\nconst char *argp_program_bug_address =\n\t\"https://github.com/iovisor/bcc/tree/master/libbpf-tools\";\nconst char argp_program_doc[] =\n\"Trace high run queue latency.\\n\"\n\"\\n\"\n\"USAGE: runqslower [--help] [-p PID] [-t TID] [-P] [min_us] [-c COMM]\\n\"\n\"\\n\"\n\"EXAMPLES:\\n\"\n\"    runqslower         # trace latency higher than 10000 us (default)\\n\"\n\"    runqslower 1000    # trace latency higher than 1000 us\\n\"\n\"    runqslower -p 123  # trace pid 123\\n\"\n\"    runqslower -t 123  # trace tid 123 (use for threads only)\\n\"\n\"    runqslower -c ksof # Trace processes with names starting with 'ksof'\\n\"\n\"    runqslower -P      # also show previous task name and TID\\n\";\n\nstatic const struct argp_option opts[] = {\n\t{ \"pid\", 'p', \"PID\", 0, \"Process PID to trace\", 0 },\n\t{ \"tid\", 't', \"TID\", 0, \"Thread TID to trace\", 0 },\n\t{ \"comm\",  'c', \"COMM\",  0, \"filter processes by command name prefix\", 0 },\n\t{ \"verbose\", 'v', NULL, 0, \"Verbose debug output\", 0 },\n\t{ \"previous\", 'P', NULL, 0, \"also show previous task name and TID\", 0 },\n\t{ NULL, 'h', NULL, OPTION_HIDDEN, \"Show the full help\", 0 },\n\t{},\n};\n\nstatic error_t parse_arg(int key, char *arg, struct argp_state *state)\n{\n\tstatic int pos_args;\n\tint pid;\n\tlong long min_us;\n\n\tswitch (key) {\n\tcase 'h':\n\t\targp_state_help(state, stderr, ARGP_HELP_STD_HELP);\n\t\tbreak;\n\tcase 'v':\n\t\tenv.verbose = true;\n\t\tbreak;\n\tcase 'c':\n\t\tenv.comm = strdup(arg);\n\t\tif (strlen(arg) >= TASK_COMM_LEN)\n\t\t\tfprintf(stderr, \"Warning: Command name '%.*s...'is too long (max %d), truncated to: '%.*s'\\n\",\n\t\t\t\tTASK_COMM_LEN - 1, env.comm, TASK_COMM_LEN - 1, TASK_COMM_LEN - 1, env.comm);\n\t\tbreak;\n\tcase 'P':\n\t\tenv.previous = true;\n\t\tbreak;\n\tcase 'p':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\tfprintf(stderr, \"Invalid PID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.pid = pid;\n\t\tbreak;\n\tcase 't':\n\t\terrno = 0;\n\t\tpid = strtol(arg, NULL, 10);\n\t\tif (errno || pid <= 0) {\n\t\t\tfprintf(stderr, \"Invalid TID: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.tid = pid;\n\t\tbreak;\n\tcase ARGP_KEY_ARG:\n\t\tif (pos_args++) {\n\t\t\tfprintf(stderr,\n\t\t\t\t\"Unrecognized positional argument: %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\terrno = 0;\n\t\tmin_us = strtoll(arg, NULL, 10);\n\t\tif (errno || min_us <= 0) {\n\t\t\tfprintf(stderr, \"Invalid delay (in us): %s\\n\", arg);\n\t\t\targp_usage(state);\n\t\t}\n\t\tenv.min_us = min_us;\n\t\tbreak;\n\tdefault:\n\t\treturn ARGP_ERR_UNKNOWN;\n\t}\n\treturn 0;\n}\n\nstatic int libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args)\n{\n\tif (level == LIBBPF_DEBUG && !env.verbose)\n\t\treturn 0;\n\treturn vfprintf(stderr, format, args);\n}\n\nstatic void sig_int(int signo)\n{\n\texiting = 1;\n}\n\nvoid handle_event(void *ctx, int cpu, void *data, __u32 data_sz)\n{\n\tstruct event e;\n\tchar ts[32];\n\n\tif (data_sz < sizeof(e)) {\n\t\tprintf(\"Error: packet too small\\n\");\n\t\treturn;\n\t}\n\t/* Copy data as alignment in the perf buffer isn't guaranteed. */\n\tmemcpy(&e, data, sizeof(e));\n\n\tstr_timestamp(\"%H:%M:%S\", ts, sizeof(ts));\n\n\tif (env.previous)\n\t\tprintf(\"%-8s %-16s %-6d %14llu %-16s %-6d\\n\", ts, e.task, e.pid, e.delta_us, e.prev_task, e.prev_pid);\n\telse\n\t\tprintf(\"%-8s %-16s %-6d %14llu\\n\", ts, e.task, e.pid, e.delta_us);\n}\n\nvoid handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)\n{\n\tprintf(\"Lost %llu events on CPU #%d!\\n\", lost_cnt, cpu);\n}\n\nint main(int argc, char **argv)\n{\n\tstatic const struct argp argp = {\n\t\t.options = opts,\n\t\t.parser = parse_arg,\n\t\t.doc = argp_program_doc,\n\t};\n\tstruct perf_buffer *pb = NULL;\n\tstruct runqslower_bpf *obj;\n\tint err;\n\n\terr = argp_parse(&argp, argc, argv, 0, NULL, NULL);\n\tif (err)\n\t\treturn err;\n\n\tlibbpf_set_print(libbpf_print_fn);\n\n\tobj = runqslower_bpf__open();\n\tif (!obj) {\n\t\tfprintf(stderr, \"failed to open BPF object\\n\");\n\t\treturn 1;\n\t}\n\n\t/* initialize global data (filtering options) */\n\tif (env.comm) {\n\t\tsnprintf(obj->rodata->targ_comm, TASK_COMM_LEN, \"%s\", env.comm);\n\t\tobj->rodata->filter_comm = true;\n\t}\n\tobj->rodata->targ_tgid = env.pid;\n\tobj->rodata->targ_pid = env.tid;\n\tobj->rodata->min_us = env.min_us;\n\n\tif (probe_tp_btf(\"sched_wakeup\")) {\n\t\tbpf_program__set_autoload(obj->progs.handle_sched_wakeup, false);\n\t\tbpf_program__set_autoload(obj->progs.handle_sched_wakeup_new, false);\n\t\tbpf_program__set_autoload(obj->progs.handle_sched_switch, false);\n\t} else {\n\t\tbpf_program__set_autoload(obj->progs.sched_wakeup, false);\n\t\tbpf_program__set_autoload(obj->progs.sched_wakeup_new, false);\n\t\tbpf_program__set_autoload(obj->progs.sched_switch, false);\n\t}\n\n\terr = runqslower_bpf__load(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to load BPF object: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\terr = runqslower_bpf__attach(obj);\n\tif (err) {\n\t\tfprintf(stderr, \"failed to attach BPF programs\\n\");\n\t\tgoto cleanup;\n\t}\n\n\tprintf(\"Tracing run queue latency higher than %llu us\\n\", env.min_us);\n\tif (env.previous)\n\t\tprintf(\"%-8s %-16s %-6s %14s %-16s %-6s\\n\", \"TIME\", \"COMM\", \"TID\", \"LAT(us)\", \"PREV COMM\", \"PREV TID\");\n\telse\n\t\tprintf(\"%-8s %-16s %-6s %14s\\n\", \"TIME\", \"COMM\", \"TID\", \"LAT(us)\");\n\n\tpb = perf_buffer__new(bpf_map__fd(obj->maps.events), 64,\n\t\t\t      handle_event, handle_lost_events, NULL, NULL);\n\tif (!pb) {\n\t\terr = -errno;\n\t\tfprintf(stderr, \"failed to open perf buffer: %d\\n\", err);\n\t\tgoto cleanup;\n\t}\n\n\tif (signal(SIGINT, sig_int) == SIG_ERR) {\n\t\tfprintf(stderr, \"can't set signal handler: %s\\n\", strerror(errno));\n\t\terr = 1;\n\t\tgoto cleanup;\n\t}\n\n\twhile (!exiting) {\n\t\terr = perf_buffer__poll(pb, 100);\n\t\tif (err < 0 && err != -EINTR) {\n\t\t\tfprintf(stderr, \"error polling perf buffer: %s\\n\", strerror(-err));\n\t\t\tgoto cleanup;\n\t\t}\n\t\t/* reset err to return 0 if exiting */\n\t\terr = 0;\n\t}\n\ncleanup:\n\tperf_buffer__free(pb);\n\trunqslower_bpf__destroy(obj);\n\n\treturn err != 0;\n}\n"
  },
  {
    "path": "libbpf-tools/runqslower_example.txt",
    "content": "Demonstrations of runqslower, the Linux BPF CO-RE version.\n\n\nrunqslower shows high latency scheduling times between tasks being\nready to run and them running on CPU after that. For example:\n\n# runqslower\n\nTracing run queue latency higher than 10000 us.\n\nTIME     COMM             TID           LAT(us)\n04:16:32 cc1              12924           12739\n04:16:32 sh               13640           12118\n04:16:32 make             13639           12730\n04:16:32 bash             13655           12047\n04:16:32 bash             13657           12744\n04:16:32 bash             13656           12880\n04:16:32 sh               13660           10846\n04:16:32 gcc              13663           12681\n04:16:32 make             13668           10814\n04:16:32 make             13670           12988\n04:16:32 gcc              13677           11770\n04:16:32 gcc              13678           23519\n04:16:32 as               12999           20541\n[...]\n\nThis shows various processes waiting for available CPU during a Linux kernel\nbuild. By default the output contains delays for more than 10ms.\n\nThese delays can be analyzed in depth with \"perf sched\" tool, see:\n\n* http://www.brendangregg.com/blog/2017-03-16/perf-sched.html\n\nUSAGE message:\n\n# runqslower --help\nTrace high run queue latency.\n\nUSAGE: runqslower [--help] [-p PID] [-t TID] [min_us]\n\nEXAMPLES:\n    runqslower         # trace latency higher than 10000 us (default)\n    runqslower 1000    # trace latency higher than 1000 us\n    runqslower -p 123  # trace pid 123\n    runqslower -t 123  # trace tid 123 (use for threads only)\n\n  -p, --pid=PID              Process PID to trace\n  -t, --tid=TID              Thread TID to trace\n  -v, --verbose              Verbose debug output\n  -?, --help                 Give this help list\n      --usage                Give a short usage message\n  -V, --version              Print program version\n\nReport bugs to <bpf@vger.kernel.org>.\n"
  },
  {
    "path": "libbpf-tools/sigsnoop.bpf.c",
    "content": "// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)\n/* Copyright (c) 2021~2022 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include \"sigsnoop.h\"\n\n#define MAX_ENTRIES\t10240\n\nconst volatile pid_t filtered_pid = 0;\nconst volatile int target_signals = 0;\nconst volatile bool failed_only = false;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, __u32);\n\t__type(value, struct event);\n} values SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} events SEC(\".maps\");\n\nstatic __always_inline bool is_target_signal(int sig)\n{\n\tif (target_signals == 0)\n\t\treturn true;\n\n\tif ((target_signals & (1 << (sig - 1))) == 0)\n\t\treturn false;\n\n\treturn true;\n}\n\nstatic __always_inline void get_tcomm(pid_t tpid, char *tcomm, __u32 size)\n{\n\tif (bpf_ksym_exists(bpf_task_from_pid)) {\n\t\tstruct task_struct *ttask = bpf_task_from_pid(tpid);\n\t\tif (ttask) {\n\t\t\tbpf_probe_read_kernel(tcomm, size, ttask->comm);\n\t\t\tbpf_task_release(ttask);\n\t\t\treturn;\n\t\t}\n\t}\n\ttcomm[0] = 'N';\n\ttcomm[1] = '/';\n\ttcomm[2] = 'A';\n\ttcomm[3] = '\\0';\n}\n\nstatic int probe_entry(pid_t tpid, int sig)\n{\n\tstruct event event = {};\n\t__u64 pid_tgid;\n\t__u32 pid, tid;\n\n        if (!is_target_signal(sig))\n          return 0;\n\n        pid_tgid = bpf_get_current_pid_tgid();\n        pid = pid_tgid >> 32;\n\ttid = (__u32)pid_tgid;\n\tif (filtered_pid && pid != filtered_pid)\n\t\treturn 0;\n\n\tget_tcomm(tpid, event.tcomm, sizeof(event.tcomm));\n\n\tevent.pid = pid;\n\tevent.tpid = tpid;\n\tevent.sig = sig;\n\tbpf_get_current_comm(event.comm, sizeof(event.comm));\n\tbpf_map_update_elem(&values, &tid, &event, BPF_ANY);\n\treturn 0;\n}\n\nstatic int probe_exit(void *ctx, int ret)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 tid = (__u32)pid_tgid;\n\tstruct event *eventp;\n\n\teventp = bpf_map_lookup_elem(&values, &tid);\n\tif (!eventp)\n\t\treturn 0;\n\n\tif (failed_only && ret >= 0)\n\t\tgoto cleanup;\n\n\teventp->ret = ret;\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, eventp, sizeof(*eventp));\n\ncleanup:\n\tbpf_map_delete_elem(&values, &tid);\n\treturn 0;\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_kill\")\nint kill_entry(struct syscall_trace_enter *ctx)\n{\n\tpid_t tpid = (pid_t)ctx->args[0];\n\tint sig = (int)ctx->args[1];\n\n\treturn probe_entry(tpid, sig);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_kill\")\nint kill_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, ctx->ret);\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_tkill\")\nint tkill_entry(struct syscall_trace_enter *ctx)\n{\n\tpid_t tpid = (pid_t)ctx->args[0];\n\tint sig = (int)ctx->args[1];\n\n\treturn probe_entry(tpid, sig);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_tkill\")\nint tkill_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, ctx->ret);\n}\n\nSEC(\"tracepoint/syscalls/sys_enter_tgkill\")\nint tgkill_entry(struct syscall_trace_enter *ctx)\n{\n\tpid_t tpid = (pid_t)ctx->args[1];\n\tint sig = (int)ctx->args[2];\n\n\treturn probe_entry(tpid, sig);\n}\n\nSEC(\"tracepoint/syscalls/sys_exit_tgkill\")\nint tgkill_exit(struct syscall_trace_exit *ctx)\n{\n\treturn probe_exit(ctx, ctx->ret);\n}\n\nSEC(\"tracepoint/signal/signal_generate\")\nint sig_trace(struct trace_event_raw_signal_generate *ctx)\n{\n\tstruct event event = {};\n\tpid_t tpid = ctx->pid;\n\tint ret = ctx->errno;\n\tint sig = ctx->sig;\n\t__u64 pid_tgid;\n\t__u32 pid;\n\n\tif (failed_only && ret == 0)\n\t\treturn 0;\n        if (!is_target_signal(sig))\n          return 0;\n\n        pid_tgid = bpf_get_current_pid_tgid();\n\tpid = pid_tgid >> 32;\n\tif (filtered_pid && pid != filtered_pid)\n\t\treturn 0;\n\n\tget_tcomm(tpid, event.tcomm, sizeof(event.tcomm));\n\n\tevent.pid = pid;\n\tevent.tpid = tpid;\n\tevent.sig = sig;\n\tevent.ret = ret;\n\tbpf_get_current_comm(event.comm, sizeof(event.comm));\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/slabratetop.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2022 Rong Tao */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_tracing.h>\n#include \"slabratetop.h\"\n\n#define MAX_ENTRIES\t10240\n\nconst volatile pid_t target_pid = 0;\n\nstatic struct slabrate_info slab_zero_value = {};\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, char *);\n\t__type(value, struct slabrate_info);\n} slab_entries SEC(\".maps\");\n\nstatic int probe_entry(struct kmem_cache *cachep)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\tstruct slabrate_info *valuep;\n\tconst char *name = BPF_CORE_READ(cachep, name);\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tvaluep = bpf_map_lookup_elem(&slab_entries, &name);\n\tif (!valuep) {\n\t\tbpf_map_update_elem(&slab_entries, &name, &slab_zero_value, BPF_ANY);\n\t\tvaluep = bpf_map_lookup_elem(&slab_entries, &name);\n\t\tif (!valuep)\n\t\t\treturn 0;\n\t\tbpf_probe_read_kernel(&valuep->name, sizeof(valuep->name), name);\n\t}\n\n\tvaluep->count++;\n\tvaluep->size += BPF_CORE_READ(cachep, size);\n\n\treturn 0;\n}\n\nSEC(\"kprobe/kmem_cache_alloc\")\nint BPF_KPROBE(kmem_cache_alloc, struct kmem_cache *cachep)\n{\n\treturn probe_entry(cachep);\n}\n\nSEC(\"kprobe/kmem_cache_alloc_noprof\")\nint BPF_KPROBE(kmem_cache_alloc_noprof, struct kmem_cache *cachep)\n{\n       return probe_entry(cachep);\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  },
  {
    "path": "libbpf-tools/solisten.bpf.c",
    "content": "/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */\n/* Copyright (c) 2021 Hengqi Chen */\n#include <vmlinux.h>\n#include <bpf/bpf_helpers.h>\n#include <bpf/bpf_core_read.h>\n#include <bpf/bpf_endian.h>\n#include <bpf/bpf_tracing.h>\n#include \"solisten.h\"\n\n#define MAX_ENTRIES\t10240\n#define AF_INET\t2\n#define AF_INET6\t10\n\nconst volatile pid_t target_pid = 0;\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_HASH);\n\t__uint(max_entries, MAX_ENTRIES);\n\t__type(key, __u32);\n\t__type(value, struct event);\n} values SEC(\".maps\");\n\nstruct {\n\t__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);\n\t__uint(key_size, sizeof(__u32));\n\t__uint(value_size, sizeof(__u32));\n} events SEC(\".maps\");\n\nstatic void fill_event(struct event *event, struct socket *sock)\n{\n\t__u16 family, type;\n\tstruct sock *sk;\n\tstruct inet_sock *inet;\n\n\tsk = BPF_CORE_READ(sock, sk);\n\tinet = (struct inet_sock *)sk;\n\tfamily = BPF_CORE_READ(sk, __sk_common.skc_family);\n\ttype = BPF_CORE_READ(sock, type);\n\n\tevent->proto = ((__u32)family << 16) | type;\n\tevent->port = bpf_ntohs(BPF_CORE_READ(inet, inet_sport));\n\tif (family == AF_INET)\n\t\tevent->addr[0] = BPF_CORE_READ(sk, __sk_common.skc_rcv_saddr);\n\telse if (family == AF_INET6)\n\t\tBPF_CORE_READ_INTO(event->addr, sk, __sk_common.skc_v6_rcv_saddr.in6_u.u6_addr32);\n\tbpf_get_current_comm(event->task, sizeof(event->task));\n}\n\nSEC(\"kprobe/inet_listen\")\nint BPF_KPROBE(inet_listen_entry, struct socket *sock, int backlog)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\t__u32 tid = (__u32)pid_tgid;\n\tstruct event event = {};\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tfill_event(&event, sock);\n\tevent.pid = pid;\n\tevent.backlog = backlog;\n\tbpf_map_update_elem(&values, &tid, &event, BPF_ANY);\n\treturn 0;\n}\n\nSEC(\"kretprobe/inet_listen\")\nint BPF_KRETPROBE(inet_listen_exit, int ret)\n{\n\t__u32 tid = bpf_get_current_pid_tgid();\n\tstruct event *eventp;\n\n\teventp = bpf_map_lookup_elem(&values, &tid);\n\tif (!eventp)\n\t\treturn 0;\n\n\teventp->ret = ret;\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, eventp, sizeof(*eventp));\n\tbpf_map_delete_elem(&values, &tid);\n\treturn 0;\n}\n\nSEC(\"fexit/inet_listen\")\nint BPF_PROG(inet_listen_fexit, struct socket *sock, int backlog, int ret)\n{\n\t__u64 pid_tgid = bpf_get_current_pid_tgid();\n\t__u32 pid = pid_tgid >> 32;\n\tstruct event event = {};\n\n\tif (target_pid && target_pid != pid)\n\t\treturn 0;\n\n\tfill_event(&event, sock);\n\tevent.pid = pid;\n\tevent.backlog = backlog;\n\tevent.ret = ret;\n\tbpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));\n\treturn 0;\n}\n\nchar LICENSE[] SEC(\"license\") = \"Dual BSD/GPL\";\n"
  }
]